diff --git a/lib/analyze-action-post.js b/lib/analyze-action-post.js index 3e77189961..a4d17011f7 100644 --- a/lib/analyze-action-post.js +++ b/lib/analyze-action-post.js @@ -21549,9 +21549,9 @@ var require_context = __commonJS({ } }); -// node_modules/undici/lib/core/symbols.js +// node_modules/@actions/github/node_modules/undici/lib/core/symbols.js var require_symbols6 = __commonJS({ - "node_modules/undici/lib/core/symbols.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/core/symbols.js"(exports2, module2) { module2.exports = { kClose: /* @__PURE__ */ Symbol("close"), kDestroy: /* @__PURE__ */ Symbol("destroy"), @@ -21562,7 +21562,6 @@ var require_symbols6 = __commonJS({ kQueue: /* @__PURE__ */ Symbol("queue"), kConnect: /* @__PURE__ */ Symbol("connect"), kConnecting: /* @__PURE__ */ Symbol("connecting"), - kHeadersList: /* @__PURE__ */ Symbol("headers list"), kKeepAliveDefaultTimeout: /* @__PURE__ */ Symbol("default keep alive timeout"), kKeepAliveMaxTimeout: /* @__PURE__ */ Symbol("max keep alive timeout"), kKeepAliveTimeoutThreshold: /* @__PURE__ */ Symbol("keep alive timeout threshold"), @@ -21575,6 +21574,7 @@ var require_symbols6 = __commonJS({ kHost: /* @__PURE__ */ Symbol("host"), kNoRef: /* @__PURE__ */ Symbol("no ref"), kBodyUsed: /* @__PURE__ */ Symbol("used"), + kBody: /* @__PURE__ */ Symbol("abstracted request body"), kRunning: /* @__PURE__ */ Symbol("running"), kBlocking: /* @__PURE__ */ Symbol("blocking"), kPending: /* @__PURE__ */ Symbol("pending"), @@ -21587,6 +21587,8 @@ var require_symbols6 = __commonJS({ kNeedDrain: /* @__PURE__ */ Symbol("need drain"), kReset: /* @__PURE__ */ Symbol("reset"), kDestroyed: /* @__PURE__ */ Symbol.for("nodejs.stream.destroyed"), + kResume: /* @__PURE__ */ Symbol("resume"), + kOnError: /* @__PURE__ */ Symbol("on error"), kMaxHeadersSize: /* @__PURE__ */ Symbol("max headers size"), kRunningIdx: /* @__PURE__ */ Symbol("running index"), kPendingIdx: /* @__PURE__ */ Symbol("pending index"), @@ -21608,67 +21610,90 @@ var require_symbols6 = __commonJS({ kMaxResponseSize: /* @__PURE__ */ Symbol("max response size"), kHTTP2Session: /* @__PURE__ */ Symbol("http2Session"), kHTTP2SessionState: /* @__PURE__ */ Symbol("http2Session state"), - kHTTP2BuildRequest: /* @__PURE__ */ Symbol("http2 build request"), - kHTTP1BuildRequest: /* @__PURE__ */ Symbol("http1 build request"), - kHTTP2CopyHeaders: /* @__PURE__ */ Symbol("http2 copy headers"), - kHTTPConnVersion: /* @__PURE__ */ Symbol("http connection version"), kRetryHandlerDefaultRetry: /* @__PURE__ */ Symbol("retry agent default retry"), - kConstruct: /* @__PURE__ */ Symbol("constructable") + kConstruct: /* @__PURE__ */ Symbol("constructable"), + kListeners: /* @__PURE__ */ Symbol("listeners"), + kHTTPContext: /* @__PURE__ */ Symbol("http context"), + kMaxConcurrentStreams: /* @__PURE__ */ Symbol("max concurrent streams"), + kNoProxyAgent: /* @__PURE__ */ Symbol("no proxy agent"), + kHttpProxyAgent: /* @__PURE__ */ Symbol("http proxy agent"), + kHttpsProxyAgent: /* @__PURE__ */ Symbol("https proxy agent") }; } }); -// node_modules/undici/lib/core/errors.js +// node_modules/@actions/github/node_modules/undici/lib/core/errors.js var require_errors2 = __commonJS({ - "node_modules/undici/lib/core/errors.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/core/errors.js"(exports2, module2) { "use strict"; + var kUndiciError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR"); var UndiciError = class extends Error { constructor(message) { super(message); this.name = "UndiciError"; this.code = "UND_ERR"; } + static [Symbol.hasInstance](instance) { + return instance && instance[kUndiciError] === true; + } + [kUndiciError] = true; }; - var ConnectTimeoutError = class _ConnectTimeoutError extends UndiciError { + var kConnectTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT"); + var ConnectTimeoutError = class extends UndiciError { constructor(message) { super(message); - Error.captureStackTrace(this, _ConnectTimeoutError); this.name = "ConnectTimeoutError"; this.message = message || "Connect Timeout Error"; this.code = "UND_ERR_CONNECT_TIMEOUT"; } + static [Symbol.hasInstance](instance) { + return instance && instance[kConnectTimeoutError] === true; + } + [kConnectTimeoutError] = true; }; - var HeadersTimeoutError = class _HeadersTimeoutError extends UndiciError { + var kHeadersTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT"); + var HeadersTimeoutError = class extends UndiciError { constructor(message) { super(message); - Error.captureStackTrace(this, _HeadersTimeoutError); this.name = "HeadersTimeoutError"; this.message = message || "Headers Timeout Error"; this.code = "UND_ERR_HEADERS_TIMEOUT"; } + static [Symbol.hasInstance](instance) { + return instance && instance[kHeadersTimeoutError] === true; + } + [kHeadersTimeoutError] = true; }; - var HeadersOverflowError = class _HeadersOverflowError extends UndiciError { + var kHeadersOverflowError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW"); + var HeadersOverflowError = class extends UndiciError { constructor(message) { super(message); - Error.captureStackTrace(this, _HeadersOverflowError); this.name = "HeadersOverflowError"; this.message = message || "Headers Overflow Error"; this.code = "UND_ERR_HEADERS_OVERFLOW"; } + static [Symbol.hasInstance](instance) { + return instance && instance[kHeadersOverflowError] === true; + } + [kHeadersOverflowError] = true; }; - var BodyTimeoutError = class _BodyTimeoutError extends UndiciError { + var kBodyTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT"); + var BodyTimeoutError = class extends UndiciError { constructor(message) { super(message); - Error.captureStackTrace(this, _BodyTimeoutError); this.name = "BodyTimeoutError"; this.message = message || "Body Timeout Error"; this.code = "UND_ERR_BODY_TIMEOUT"; } + static [Symbol.hasInstance](instance) { + return instance && instance[kBodyTimeoutError] === true; + } + [kBodyTimeoutError] = true; }; - var ResponseStatusCodeError = class _ResponseStatusCodeError extends UndiciError { + var kResponseStatusCodeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RESPONSE_STATUS_CODE"); + var ResponseStatusCodeError = class extends UndiciError { constructor(message, statusCode, headers, body) { super(message); - Error.captureStackTrace(this, _ResponseStatusCodeError); this.name = "ResponseStatusCodeError"; this.message = message || "Response Status Code Error"; this.code = "UND_ERR_RESPONSE_STATUS_CODE"; @@ -21677,129 +21702,198 @@ var require_errors2 = __commonJS({ this.statusCode = statusCode; this.headers = headers; } + static [Symbol.hasInstance](instance) { + return instance && instance[kResponseStatusCodeError] === true; + } + [kResponseStatusCodeError] = true; }; - var InvalidArgumentError = class _InvalidArgumentError extends UndiciError { + var kInvalidArgumentError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_ARG"); + var InvalidArgumentError = class extends UndiciError { constructor(message) { super(message); - Error.captureStackTrace(this, _InvalidArgumentError); this.name = "InvalidArgumentError"; this.message = message || "Invalid Argument Error"; this.code = "UND_ERR_INVALID_ARG"; } + static [Symbol.hasInstance](instance) { + return instance && instance[kInvalidArgumentError] === true; + } + [kInvalidArgumentError] = true; }; - var InvalidReturnValueError = class _InvalidReturnValueError extends UndiciError { + var kInvalidReturnValueError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE"); + var InvalidReturnValueError = class extends UndiciError { constructor(message) { super(message); - Error.captureStackTrace(this, _InvalidReturnValueError); this.name = "InvalidReturnValueError"; this.message = message || "Invalid Return Value Error"; this.code = "UND_ERR_INVALID_RETURN_VALUE"; } + static [Symbol.hasInstance](instance) { + return instance && instance[kInvalidReturnValueError] === true; + } + [kInvalidReturnValueError] = true; }; - var RequestAbortedError = class _RequestAbortedError extends UndiciError { + var kAbortError = /* @__PURE__ */ 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"; + } + static [Symbol.hasInstance](instance) { + return instance && instance[kAbortError] === true; + } + [kAbortError] = true; + }; + var kRequestAbortedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_ABORTED"); + var RequestAbortedError = class extends AbortError { constructor(message) { super(message); - Error.captureStackTrace(this, _RequestAbortedError); this.name = "AbortError"; this.message = message || "Request aborted"; this.code = "UND_ERR_ABORTED"; } + static [Symbol.hasInstance](instance) { + return instance && instance[kRequestAbortedError] === true; + } + [kRequestAbortedError] = true; }; - var InformationalError = class _InformationalError extends UndiciError { + var kInformationalError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INFO"); + var InformationalError = class extends UndiciError { constructor(message) { super(message); - Error.captureStackTrace(this, _InformationalError); 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 RequestContentLengthMismatchError = class _RequestContentLengthMismatchError extends UndiciError { + var kRequestContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"); + var RequestContentLengthMismatchError = class extends UndiciError { constructor(message) { super(message); - Error.captureStackTrace(this, _RequestContentLengthMismatchError); this.name = "RequestContentLengthMismatchError"; this.message = message || "Request body length does not match content-length header"; this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"; } + static [Symbol.hasInstance](instance) { + return instance && instance[kRequestContentLengthMismatchError] === true; + } + [kRequestContentLengthMismatchError] = true; }; - var ResponseContentLengthMismatchError = class _ResponseContentLengthMismatchError extends UndiciError { + var kResponseContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH"); + var ResponseContentLengthMismatchError = class extends UndiciError { constructor(message) { super(message); - Error.captureStackTrace(this, _ResponseContentLengthMismatchError); this.name = "ResponseContentLengthMismatchError"; this.message = message || "Response body length does not match content-length header"; this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH"; } + static [Symbol.hasInstance](instance) { + return instance && instance[kResponseContentLengthMismatchError] === true; + } + [kResponseContentLengthMismatchError] = true; }; - var ClientDestroyedError = class _ClientDestroyedError extends UndiciError { + var kClientDestroyedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_DESTROYED"); + var ClientDestroyedError = class extends UndiciError { constructor(message) { super(message); - Error.captureStackTrace(this, _ClientDestroyedError); this.name = "ClientDestroyedError"; this.message = message || "The client is destroyed"; this.code = "UND_ERR_DESTROYED"; } + static [Symbol.hasInstance](instance) { + return instance && instance[kClientDestroyedError] === true; + } + [kClientDestroyedError] = true; }; - var ClientClosedError = class _ClientClosedError extends UndiciError { + var kClientClosedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CLOSED"); + var ClientClosedError = class extends UndiciError { constructor(message) { super(message); - Error.captureStackTrace(this, _ClientClosedError); this.name = "ClientClosedError"; this.message = message || "The client is closed"; this.code = "UND_ERR_CLOSED"; } + static [Symbol.hasInstance](instance) { + return instance && instance[kClientClosedError] === true; + } + [kClientClosedError] = true; }; - var SocketError = class _SocketError extends UndiciError { + var kSocketError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_SOCKET"); + var SocketError = class extends UndiciError { constructor(message, socket) { super(message); - Error.captureStackTrace(this, _SocketError); this.name = "SocketError"; this.message = message || "Socket error"; this.code = "UND_ERR_SOCKET"; this.socket = socket; } + static [Symbol.hasInstance](instance) { + return instance && instance[kSocketError] === true; + } + [kSocketError] = true; }; - var NotSupportedError = class _NotSupportedError extends UndiciError { + var kNotSupportedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED"); + var NotSupportedError = class extends UndiciError { constructor(message) { super(message); - Error.captureStackTrace(this, _NotSupportedError); this.name = "NotSupportedError"; this.message = message || "Not supported error"; this.code = "UND_ERR_NOT_SUPPORTED"; } + static [Symbol.hasInstance](instance) { + return instance && instance[kNotSupportedError] === true; + } + [kNotSupportedError] = true; }; + var kBalancedPoolMissingUpstreamError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM"); var BalancedPoolMissingUpstreamError = class extends UndiciError { constructor(message) { super(message); - Error.captureStackTrace(this, NotSupportedError); this.name = "MissingUpstreamError"; this.message = message || "No upstream has been added to the BalancedPool"; this.code = "UND_ERR_BPL_MISSING_UPSTREAM"; } + static [Symbol.hasInstance](instance) { + return instance && instance[kBalancedPoolMissingUpstreamError] === true; + } + [kBalancedPoolMissingUpstreamError] = true; }; - var HTTPParserError = class _HTTPParserError extends Error { + var kHTTPParserError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HTTP_PARSER"); + var HTTPParserError = class extends Error { constructor(message, code, data) { super(message); - Error.captureStackTrace(this, _HTTPParserError); this.name = "HTTPParserError"; this.code = code ? `HPE_${code}` : void 0; this.data = data ? data.toString() : void 0; } + static [Symbol.hasInstance](instance) { + return instance && instance[kHTTPParserError] === true; + } + [kHTTPParserError] = true; }; - var ResponseExceededMaxSizeError = class _ResponseExceededMaxSizeError extends UndiciError { + var kResponseExceededMaxSizeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE"); + var ResponseExceededMaxSizeError = class extends UndiciError { constructor(message) { super(message); - Error.captureStackTrace(this, _ResponseExceededMaxSizeError); this.name = "ResponseExceededMaxSizeError"; this.message = message || "Response content exceeded max size"; this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE"; } + static [Symbol.hasInstance](instance) { + return instance && instance[kResponseExceededMaxSizeError] === true; + } + [kResponseExceededMaxSizeError] = true; }; - var RequestRetryError = class _RequestRetryError extends UndiciError { + var kRequestRetryError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_RETRY"); + var RequestRetryError = class extends UndiciError { constructor(message, code, { headers, data }) { super(message); - Error.captureStackTrace(this, _RequestRetryError); this.name = "RequestRetryError"; this.message = message || "Request retry error"; this.code = "UND_ERR_REQ_RETRY"; @@ -21807,8 +21901,43 @@ var require_errors2 = __commonJS({ this.data = data; this.headers = headers; } + static [Symbol.hasInstance](instance) { + return instance && instance[kRequestRetryError] === true; + } + [kRequestRetryError] = true; + }; + var kResponseError = /* @__PURE__ */ 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 = /* @__PURE__ */ 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, @@ -21828,14 +21957,16 @@ var require_errors2 = __commonJS({ ResponseContentLengthMismatchError, BalancedPoolMissingUpstreamError, ResponseExceededMaxSizeError, - RequestRetryError + RequestRetryError, + ResponseError, + SecureProxyConnectionError }; } }); -// node_modules/undici/lib/core/constants.js +// node_modules/@actions/github/node_modules/undici/lib/core/constants.js var require_constants6 = __commonJS({ - "node_modules/undici/lib/core/constants.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/core/constants.js"(exports2, module2) { "use strict"; var headerNameLowerCasedRecord = {}; var wellknownHeaderNames = [ @@ -21948,28 +22079,212 @@ var require_constants6 = __commonJS({ } }); -// node_modules/undici/lib/core/util.js +// node_modules/@actions/github/node_modules/undici/lib/core/tree.js +var require_tree2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/core/tree.js"(exports2, module2) { + "use strict"; + var { + wellknownHeaderNames, + headerNameLowerCasedRecord + } = require_constants6(); + var TstNode = class _TstNode { + /** @type {any} */ + value = null; + /** @type {null | TstNode} */ + left = null; + /** @type {null | TstNode} */ + middle = null; + /** @type {null | TstNode} */ + right = null; + /** @type {number} */ + code; + /** + * @param {string} key + * @param {any} value + * @param {number} index + */ + constructor(key, value, index) { + if (index === void 0 || index >= key.length) { + throw new TypeError("Unreachable"); + } + const code = this.code = key.charCodeAt(index); + if (code > 127) { + throw new TypeError("key must be ascii string"); + } + if (key.length !== ++index) { + this.middle = new _TstNode(key, value, index); + } else { + this.value = value; + } + } + /** + * @param {string} key + * @param {any} value + */ + add(key, value) { + const length = key.length; + if (length === 0) { + throw new TypeError("Unreachable"); + } + let index = 0; + let node = this; + while (true) { + const code = key.charCodeAt(index); + if (code > 127) { + throw new TypeError("key must be ascii string"); + } + if (node.code === code) { + if (length === ++index) { + node.value = value; + break; + } else if (node.middle !== null) { + node = node.middle; + } else { + 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; + } + } + } + /** + * @param {Uint8Array} key + * @return {TstNode | null} + */ + search(key) { + const keylength = key.length; + let index = 0; + let node = this; + while (node !== null && index < keylength) { + let code = key[index]; + if (code <= 90 && code >= 65) { + code |= 32; + } + while (node !== null) { + if (code === node.code) { + if (keylength === ++index) { + return node; + } + node = node.middle; + break; + } + node = node.code < code ? node.left : node.right; + } + } + return null; + } + }; + 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); + } + } + /** + * @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/@actions/github/node_modules/undici/lib/core/util.js var require_util9 = __commonJS({ - "node_modules/undici/lib/core/util.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/core/util.js"(exports2, module2) { "use strict"; - var assert = require("assert"); - var { kDestroyed, kBodyUsed } = require_symbols6(); - var { IncomingMessage } = require("http"); - var stream = require("stream"); - var net = require("net"); + var assert = require("node:assert"); + var { kDestroyed, kBodyUsed, kListeners, kBody } = require_symbols6(); + 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_errors2(); - var { Blob: Blob2 } = require("buffer"); - var nodeUtil = require("util"); - var { stringify } = require("querystring"); var { headerNameLowerCasedRecord } = require_constants6(); + var { tree } = require_tree2(); var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v) => Number(v)); + var BodyAsyncIterable = class { + constructor(body) { + this[kBody] = body; + this[kBodyUsed] = false; + } + async *[Symbol.asyncIterator]() { + assert(!this[kBodyUsed], "disturbed"); + this[kBodyUsed] = true; + yield* this[kBody]; + } + }; + function wrapRequestBody(body) { + if (isStream(body)) { + if (bodyLength(body) === 0) { + body.on("data", function() { + assert(false); + }); + } + if (typeof body.readableDidRead !== "boolean") { + body[kBodyUsed] = false; + EE.prototype.on.call(body, "data", function() { + this[kBodyUsed] = true; + }); + } + return body; + } else if (body && typeof body.pipeTo === "function") { + return new BodyAsyncIterable(body); + } else if (body && typeof body !== "string" && !ArrayBuffer.isView(body) && isIterable(body)) { + return new BodyAsyncIterable(body); + } else { + return body; + } + } function nop() { } function isStream(obj) { return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function"; } function isBlobLike(object) { - return Blob2 && object instanceof Blob2 || object && typeof object === "object" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]); + 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("#")) { @@ -21981,10 +22296,17 @@ var require_util9 = __commonJS({ } 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 (!/^https?:/.test(url.origin || url.protocol)) { + if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) { throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`."); } return url; @@ -21992,11 +22314,8 @@ var require_util9 = __commonJS({ if (!url || typeof url !== "object") { throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object."); } - if (!/^https?:/.test(url.origin || url.protocol)) { - throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`."); - } if (!(url instanceof URL)) { - if (url.port != null && url.port !== "" && !Number.isFinite(parseInt(url.port))) { + if (url.port != null && url.port !== "" && isValidPort(url.port) === false) { throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer."); } if (url.path != null && typeof url.path !== "string") { @@ -22011,16 +22330,22 @@ var require_util9 = __commonJS({ 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 origin = url.origin != null ? url.origin : `${url.protocol || ""}//${url.hostname || ""}:${port}`; let path7 = url.path != null ? url.path : `${url.pathname || ""}${url.search || ""}`; - if (origin.endsWith("/")) { - origin = origin.substring(0, origin.length - 1); + if (origin[origin.length - 1] === "/") { + origin = origin.slice(0, origin.length - 1); } - if (path7 && !path7.startsWith("/")) { + if (path7 && path7[0] !== "/") { path7 = `/${path7}`; } - url = new URL(origin + path7); + return new URL(`${origin}${path7}`); + } + if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) { + throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`."); } return url; } @@ -22045,7 +22370,7 @@ var require_util9 = __commonJS({ if (!host) { return null; } - assert.strictEqual(typeof host, "string"); + assert(typeof host === "string"); const servername = getHostname(host); if (net.isIP(servername)) { return ""; @@ -22074,12 +22399,8 @@ var require_util9 = __commonJS({ } return null; } - function isDestroyed(stream2) { - return !stream2 || !!(stream2.destroyed || stream2[kDestroyed]); - } - function isReadableAborted(stream2) { - const state = stream2 && stream2._readableState; - return isDestroyed(stream2) && state && !state.endEmitted; + function isDestroyed(body) { + return body && !!(body.destroyed || body[kDestroyed] || stream.isDestroyed?.(body)); } function destroy(stream2, err) { if (stream2 == null || !isStream(stream2) || isDestroyed(stream2)) { @@ -22091,9 +22412,9 @@ var require_util9 = __commonJS({ } stream2.destroy(err); } else if (err) { - process.nextTick((stream3, err2) => { - stream3.emit("error", err2); - }, stream2, err); + queueMicrotask(() => { + stream2.emit("error", err); + }); } if (stream2.destroyed !== true) { stream2[kDestroyed] = true; @@ -22105,25 +22426,29 @@ var require_util9 = __commonJS({ return m ? parseInt(m[1], 10) * 1e3 : null; } function headerNameToString(value) { - return headerNameLowerCasedRecord[value] || value.toLowerCase(); + return typeof value === "string" ? headerNameLowerCasedRecord[value] ?? value.toLowerCase() : tree.lookup(value) ?? value.toString("latin1").toLowerCase(); } - function parseHeaders(headers, obj = {}) { - if (!Array.isArray(headers)) return headers; + 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 = headers[i].toString().toLowerCase(); + const key = headerNameToString(headers[i]); let val = obj[key]; - if (!val) { - if (Array.isArray(headers[i + 1])) { - obj[key] = headers[i + 1].map((x) => x.toString("utf8")); - } else { - obj[key] = headers[i + 1].toString("utf8"); - } - } else { - if (!Array.isArray(val)) { + 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"); + } } } if ("content-length" in obj && "content-disposition" in obj) { @@ -22132,20 +22457,26 @@ var require_util9 = __commonJS({ return obj; } function parseRawHeaders(headers) { - const ret = []; + 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) { - const key = headers[n + 0].toString(); - const val = headers[n + 1].toString("utf8"); - if (key.length === 14 && (key === "content-length" || key.toLowerCase() === "content-length")) { - ret.push(key, val); + 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 (key.length === 19 && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) { - contentDispositionIdx = ret.push(key, val) - 1; - } else { - ret.push(key, val); + } else if (kLen === 19 && key[7] === "-" && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) { + contentDispositionIdx = n + 1; } + ret[n] = key; + ret[n + 1] = val; } if (hasContentLength && contentDispositionIdx !== -1) { ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1"); @@ -22185,17 +22516,13 @@ var require_util9 = __commonJS({ } } function isDisturbed(body) { - return !!(body && (stream.isDisturbed ? stream.isDisturbed(body) || body[kBodyUsed] : body[kBodyUsed] || body.readableDidRead || body._readableState && body._readableState.dataEmitted || isReadableAborted(body))); + return !!(body && (stream.isDisturbed(body) || body[kBodyUsed])); } function isErrored(body) { - return !!(body && (stream.isErrored ? stream.isErrored(body) : /state: 'errored'/.test( - nodeUtil.inspect(body) - ))); + return !!(body && stream.isErrored(body)); } function isReadable(body) { - return !!(body && (stream.isReadable ? stream.isReadable(body) : /state: 'readable'/.test( - nodeUtil.inspect(body) - ))); + return !!(body && stream.isReadable(body)); } function getSocketInfo(socket) { return { @@ -22209,21 +22536,9 @@ var require_util9 = __commonJS({ bytesRead: socket.bytesRead }; } - async function* convertIterableToBuffer(iterable) { - for await (const chunk of iterable) { - yield Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk); - } - } - var ReadableStream2; function ReadableStreamFrom(iterable) { - if (!ReadableStream2) { - ReadableStream2 = require("stream/web").ReadableStream; - } - if (ReadableStream2.from) { - return ReadableStream2.from(convertIterableToBuffer(iterable)); - } let iterator2; - return new ReadableStream2( + return new ReadableStream( { async start() { iterator2 = iterable[Symbol.asyncIterator](); @@ -22233,37 +22548,26 @@ var require_util9 = __commonJS({ if (done) { queueMicrotask(() => { controller.close(); + controller.byobRequest?.respond(0); }); } else { const buf = Buffer.isBuffer(value) ? value : Buffer.from(value); - controller.enqueue(new Uint8Array(buf)); + if (buf.byteLength) { + controller.enqueue(new Uint8Array(buf)); + } } return controller.desiredSize > 0; }, async cancel(reason) { await iterator2.return(); - } - }, - 0 + }, + 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 throwIfAborted(signal) { - if (!signal) { - return; - } - if (typeof signal.throwIfAborted === "function") { - signal.throwIfAborted(); - } else { - if (signal.aborted) { - const err = new Error("The operation was aborted"); - err.name = "AbortError"; - throw err; - } - } - } function addAbortListener(signal, listener) { if ("addEventListener" in signal) { signal.addEventListener("abort", listener, { once: true }); @@ -22272,14 +22576,52 @@ var require_util9 = __commonJS({ signal.addListener("abort", listener); return () => signal.removeListener("abort", listener); } - var hasToWellFormed = !!String.prototype.toWellFormed; + var hasToWellFormed = typeof String.prototype.toWellFormed === "function"; + var hasIsWellFormed = typeof String.prototype.isWellFormed === "function"; function toUSVString(val) { - if (hasToWellFormed) { - return `${val}`.toWellFormed(); - } else if (nodeUtil.toUSVString) { - return nodeUtil.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; } - return `${val}`; + } + 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 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 }; @@ -22290,8 +22632,49 @@ var require_util9 = __commonJS({ size: m[3] ? parseInt(m[3]) : null } : null; } + function addListener(obj, name, listener) { + const listeners = obj[kListeners] ??= []; + listeners.push([name, listener]); + obj.on(name, listener); + return obj; + } + function removeAllListeners(obj) { + for (const [name, listener] of obj[kListeners] ?? []) { + obj.removeListener(name, listener); + } + obj[kListeners] = null; + } + function errorRequest2(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, @@ -22299,7 +22682,7 @@ var require_util9 = __commonJS({ isErrored, isReadable, toUSVString, - isReadableAborted, + isUSVString, isBlobLike, parseOrigin, parseURL, @@ -22309,6 +22692,10 @@ var require_util9 = __commonJS({ isAsyncIterable, isDestroyed, headerNameToString, + bufferToLowerCasedHeaderName, + addListener, + removeAllListeners, + errorRequest: errorRequest2, parseRawHeaders, parseHeaders, parseKeepAliveTimeout, @@ -22321,2519 +22708,2736 @@ var require_util9 = __commonJS({ getSocketInfo, isFormDataLike, buildURL, - throwIfAborted, addAbortListener, + isValidHTTPToken, + isValidHeaderValue, + isTokenCharCode, parseRangeHeader, + normalizedMethodRecordsBase, + normalizedMethodRecords, + isValidPort, + isHttpOrHttpsPrefixed, nodeMajor, nodeMinor, - nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13, - safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"] + safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"], + wrapRequestBody }; } }); -// node_modules/undici/lib/timers.js -var require_timers2 = __commonJS({ - "node_modules/undici/lib/timers.js"(exports2, module2) { +// node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js +var require_diagnostics2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js"(exports2, module2) { "use strict"; - var fastNow = Date.now(); - var fastNowTimeout; - var fastTimers = []; - function onTimeout() { - fastNow = Date.now(); - let len = fastTimers.length; - let idx = 0; - while (idx < len) { - const timer = fastTimers[idx]; - if (timer.state === 0) { - timer.state = fastNow + timer.delay; - } else if (timer.state > 0 && fastNow >= timer.state) { - timer.state = -1; - timer.callback(timer.opaque); - } - if (timer.state === -1) { - timer.state = -2; - if (idx !== len - 1) { - fastTimers[idx] = fastTimers.pop(); - } else { - fastTimers.pop(); - } - len -= 1; - } else { - idx += 1; - } - } - if (fastTimers.length > 0) { - refreshTimeout(); - } + 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: error3 + } = evt; + debuglog( + "connection to %s using %s%s errored - %s", + `${host}${port ? `:${port}` : ""}`, + protocol, + version, + error3.message + ); + }); + diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => { + const { + request: { method, path: path7, origin } + } = evt; + debuglog("sending request to %s %s/%s", method, origin, path7); + }); + diagnosticsChannel.channel("undici:request:headers").subscribe((evt) => { + const { + request: { method, path: path7, origin }, + response: { statusCode } + } = evt; + debuglog( + "received response to %s %s/%s - HTTP %d", + method, + origin, + path7, + statusCode + ); + }); + diagnosticsChannel.channel("undici:request:trailers").subscribe((evt) => { + const { + request: { method, path: path7, origin } + } = evt; + debuglog("trailers received from %s %s/%s", method, origin, path7); + }); + diagnosticsChannel.channel("undici:request:error").subscribe((evt) => { + const { + request: { method, path: path7, origin }, + error: error3 + } = evt; + debuglog( + "request to %s %s/%s errored - %s", + method, + origin, + path7, + error3.message + ); + }); + isClientSet = true; } - function refreshTimeout() { - if (fastNowTimeout && fastNowTimeout.refresh) { - fastNowTimeout.refresh(); - } else { - clearTimeout(fastNowTimeout); - fastNowTimeout = setTimeout(onTimeout, 1e3); - if (fastNowTimeout.unref) { - fastNowTimeout.unref(); - } + 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: error3 + } = evt; + debuglog( + "connection to %s%s using %s%s errored - %s", + host, + port ? `:${port}` : "", + protocol, + version, + error3.message + ); + }); + diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => { + const { + request: { method, path: path7, origin } + } = evt; + debuglog("sending request to %s %s/%s", method, origin, path7); + }); } + 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"); + }); } - var Timeout = class { - constructor(callback, delay, opaque) { - this.callback = callback; - this.delay = delay; - this.opaque = opaque; - this.state = -2; - this.refresh(); - } - refresh() { - if (this.state === -2) { - fastTimers.push(this); - if (!fastNowTimeout || fastTimers.length === 1) { - refreshTimeout(); - } - } - this.state = 0; - } - clear() { - this.state = -1; - } - }; module2.exports = { - setTimeout(callback, delay, opaque) { - return delay < 1e3 ? setTimeout(callback, delay, opaque) : new Timeout(callback, delay, opaque); - }, - clearTimeout(timeout) { - if (timeout instanceof Timeout) { - timeout.clear(); - } else { - clearTimeout(timeout); - } - } + channels }; } }); -// node_modules/@fastify/busboy/deps/streamsearch/sbmh.js -var require_sbmh = __commonJS({ - "node_modules/@fastify/busboy/deps/streamsearch/sbmh.js"(exports2, module2) { +// node_modules/@actions/github/node_modules/undici/lib/core/request.js +var require_request3 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/core/request.js"(exports2, module2) { "use strict"; - var EventEmitter = require("node:events").EventEmitter; - var inherits = require("node:util").inherits; - function SBMH(needle) { - if (typeof needle === "string") { - needle = Buffer.from(needle); - } - if (!Buffer.isBuffer(needle)) { - throw new TypeError("The needle has to be a String or a Buffer."); - } - const needleLength = needle.length; - if (needleLength === 0) { - throw new Error("The needle cannot be an empty String/Buffer."); - } - if (needleLength > 256) { - throw new Error("The needle cannot have a length bigger than 256."); - } - this.maxMatches = Infinity; - this.matches = 0; - this._occ = new Array(256).fill(needleLength); - this._lookbehind_size = 0; - this._needle = needle; - this._bufpos = 0; - this._lookbehind = Buffer.alloc(needleLength); - for (var i = 0; i < needleLength - 1; ++i) { - this._occ[needle[i]] = needleLength - 1 - i; - } - } - inherits(SBMH, EventEmitter); - SBMH.prototype.reset = function() { - this._lookbehind_size = 0; - this.matches = 0; - this._bufpos = 0; - }; - SBMH.prototype.push = function(chunk, pos) { - if (!Buffer.isBuffer(chunk)) { - chunk = Buffer.from(chunk, "binary"); - } - const chlen = chunk.length; - this._bufpos = pos || 0; - let r; - while (r !== chlen && this.matches < this.maxMatches) { - r = this._sbmh_feed(chunk); - } - return r; - }; - SBMH.prototype._sbmh_feed = function(data) { - const len = data.length; - const needle = this._needle; - const needleLength = needle.length; - const lastNeedleChar = needle[needleLength - 1]; - let pos = -this._lookbehind_size; - let ch; - if (pos < 0) { - while (pos < 0 && pos <= len - needleLength) { - ch = this._sbmh_lookup_char(data, pos + needleLength - 1); - if (ch === lastNeedleChar && this._sbmh_memcmp(data, pos, needleLength - 1)) { - this._lookbehind_size = 0; - ++this.matches; - this.emit("info", true); - return this._bufpos = pos + needleLength; - } - pos += this._occ[ch]; - } - if (pos < 0) { - while (pos < 0 && !this._sbmh_memcmp(data, pos, len - pos)) { - ++pos; - } - } - if (pos >= 0) { - this.emit("info", false, this._lookbehind, 0, this._lookbehind_size); - this._lookbehind_size = 0; - } else { - const bytesToCutOff = this._lookbehind_size + pos; - if (bytesToCutOff > 0) { - this.emit("info", false, this._lookbehind, 0, bytesToCutOff); - } - this._lookbehind.copy( - this._lookbehind, - 0, - bytesToCutOff, - this._lookbehind_size - bytesToCutOff - ); - this._lookbehind_size -= bytesToCutOff; - data.copy(this._lookbehind, this._lookbehind_size); - this._lookbehind_size += len; - this._bufpos = len; - return len; - } - } - pos += (pos >= 0) * this._bufpos; - if (data.indexOf(needle, pos) !== -1) { - pos = data.indexOf(needle, pos); - ++this.matches; - if (pos > 0) { - this.emit("info", true, data, this._bufpos, pos); - } else { - this.emit("info", true); + var { + InvalidArgumentError, + NotSupportedError + } = require_errors2(); + var assert = require("node:assert"); + var { + isValidHTTPToken, + isValidHeaderValue, + isStream, + destroy, + isBuffer, + isFormDataLike, + isIterable, + isBlobLike, + buildURL, + validateHandler, + getServerName, + normalizedMethodRecords + } = require_util9(); + var { channels } = require_diagnostics2(); + var { headerNameLowerCasedRecord } = require_constants6(); + var invalidPathRegex = /[^\u0021-\u00ff]/; + var kHandler = /* @__PURE__ */ Symbol("handler"); + var Request = class { + constructor(origin, { + path: path7, + method, + body, + headers, + query, + idempotent, + blocking, + upgrade, + headersTimeout, + bodyTimeout, + reset, + throwOnError, + expectContinue, + servername + }, handler2) { + if (typeof path7 !== "string") { + throw new InvalidArgumentError("path must be a string"); + } else if (path7[0] !== "/" && !(path7.startsWith("http://") || path7.startsWith("https://")) && method !== "CONNECT") { + throw new InvalidArgumentError("path must be an absolute URL or start with a slash"); + } else if (invalidPathRegex.test(path7)) { + throw new InvalidArgumentError("invalid request path"); + } + 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 (body == null) { + this.body = null; + } else if (isStream(body)) { + this.body = body; + const rState = this.body._readableState; + if (!rState || !rState.autoDestroy) { + this.endHandler = function autoDestroy() { + destroy(this); + }; + this.body.on("end", this.endHandler); + } + this.errorHandler = (err) => { + if (this.abort) { + this.abort(err); + } else { + this.error = err; + } + }; + this.body.on("error", this.errorHandler); + } else if (isBuffer(body)) { + this.body = body.byteLength ? body : null; + } else if (ArrayBuffer.isView(body)) { + this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null; + } else if (body instanceof ArrayBuffer) { + this.body = body.byteLength ? Buffer.from(body) : null; + } else if (typeof body === "string") { + this.body = body.length ? Buffer.from(body) : null; + } else if (isFormDataLike(body) || isIterable(body) || isBlobLike(body)) { + this.body = body; + } else { + throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable"); + } + this.completed = false; + this.aborted = false; + this.upgrade = upgrade || null; + this.path = query ? buildURL(path7, query) : path7; + this.origin = origin; + this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent; + this.blocking = blocking == null ? false : blocking; + this.reset = reset == null ? null : reset; + this.host = null; + this.contentLength = null; + this.contentType = null; + this.headers = []; + this.expectContinue = expectContinue != null ? expectContinue : false; + if (Array.isArray(headers)) { + if (headers.length % 2 !== 0) { + throw new InvalidArgumentError("headers array must be even"); + } + for (let i = 0; i < headers.length; i += 2) { + processHeader(this, headers[i], headers[i + 1]); + } + } else if (headers && typeof headers === "object") { + if (headers[Symbol.iterator]) { + for (const header of headers) { + if (!Array.isArray(header) || header.length !== 2) { + throw new InvalidArgumentError("headers must be in key-value pair format"); + } + processHeader(this, header[0], header[1]); + } + } else { + const keys = Object.keys(headers); + for (let i = 0; i < keys.length; ++i) { + processHeader(this, keys[i], headers[keys[i]]); + } + } + } else if (headers != null) { + throw new InvalidArgumentError("headers must be an object or an array"); + } + validateHandler(handler2, method, upgrade); + this.servername = servername || getServerName(this.host); + this[kHandler] = handler2; + if (channels.create.hasSubscribers) { + channels.create.publish({ request: this }); } - return this._bufpos = pos + needleLength; - } else { - pos = len - needleLength; } - while (pos < len && (data[pos] !== needle[0] || Buffer.compare( - data.subarray(pos, pos + len - pos), - needle.subarray(0, len - pos) - ) !== 0)) { - ++pos; + onBodySent(chunk) { + if (this[kHandler].onBodySent) { + try { + return this[kHandler].onBodySent(chunk); + } catch (err) { + this.abort(err); + } + } } - if (pos < len) { - data.copy(this._lookbehind, 0, pos, pos + (len - pos)); - this._lookbehind_size = len - pos; + onRequestSent() { + if (channels.bodySent.hasSubscribers) { + channels.bodySent.publish({ request: this }); + } + if (this[kHandler].onRequestSent) { + try { + return this[kHandler].onRequestSent(); + } catch (err) { + this.abort(err); + } + } } - if (pos > 0) { - this.emit("info", false, data, this._bufpos, pos < len ? pos : len); + onConnect(abort) { + assert(!this.aborted); + assert(!this.completed); + if (this.error) { + abort(this.error); + } else { + this.abort = abort; + return this[kHandler].onConnect(abort); + } } - this._bufpos = len; - return len; - }; - SBMH.prototype._sbmh_lookup_char = function(data, pos) { - return pos < 0 ? this._lookbehind[this._lookbehind_size + pos] : data[pos]; - }; - SBMH.prototype._sbmh_memcmp = function(data, pos, len) { - for (var i = 0; i < len; ++i) { - if (this._sbmh_lookup_char(data, pos + i) !== this._needle[i]) { + onResponseStarted() { + return this[kHandler].onResponseStarted?.(); + } + onHeaders(statusCode, headers, resume, statusText) { + assert(!this.aborted); + assert(!this.completed); + if (channels.headers.hasSubscribers) { + channels.headers.publish({ request: this, response: { statusCode, headers, statusText } }); + } + try { + return this[kHandler].onHeaders(statusCode, headers, resume, statusText); + } catch (err) { + this.abort(err); + } + } + onData(chunk) { + assert(!this.aborted); + assert(!this.completed); + try { + return this[kHandler].onData(chunk); + } catch (err) { + this.abort(err); return false; } } - return true; - }; - module2.exports = SBMH; - } -}); - -// node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js -var require_PartStream = __commonJS({ - "node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js"(exports2, module2) { - "use strict"; - var inherits = require("node:util").inherits; - var ReadableStream2 = require("node:stream").Readable; - function PartStream(opts) { - ReadableStream2.call(this, opts); - } - inherits(PartStream, ReadableStream2); - PartStream.prototype._read = function(n) { - }; - module2.exports = PartStream; - } -}); - -// node_modules/@fastify/busboy/lib/utils/getLimit.js -var require_getLimit = __commonJS({ - "node_modules/@fastify/busboy/lib/utils/getLimit.js"(exports2, module2) { - "use strict"; - module2.exports = function getLimit(limits, name, defaultLimit) { - if (!limits || limits[name] === void 0 || limits[name] === null) { - return defaultLimit; + onUpgrade(statusCode, headers, socket) { + assert(!this.aborted); + assert(!this.completed); + return this[kHandler].onUpgrade(statusCode, headers, socket); } - if (typeof limits[name] !== "number" || isNaN(limits[name])) { - throw new TypeError("Limit " + name + " is not a valid number"); + 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); + } } - return limits[name]; - }; - } -}); - -// node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js -var require_HeaderParser = __commonJS({ - "node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js"(exports2, module2) { - "use strict"; - var EventEmitter = require("node:events").EventEmitter; - var inherits = require("node:util").inherits; - var getLimit = require_getLimit(); - var StreamSearch = require_sbmh(); - var B_DCRLF = Buffer.from("\r\n\r\n"); - var RE_CRLF = /\r\n/g; - var RE_HDR = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/; - function HeaderParser(cfg) { - EventEmitter.call(this); - cfg = cfg || {}; - const self2 = this; - this.nread = 0; - this.maxed = false; - this.npairs = 0; - this.maxHeaderPairs = getLimit(cfg, "maxHeaderPairs", 2e3); - this.maxHeaderSize = getLimit(cfg, "maxHeaderSize", 80 * 1024); - this.buffer = ""; - this.header = {}; - this.finished = false; - this.ss = new StreamSearch(B_DCRLF); - this.ss.on("info", function(isMatch, data, start, end) { - if (data && !self2.maxed) { - if (self2.nread + end - start >= self2.maxHeaderSize) { - end = self2.maxHeaderSize - self2.nread + start; - self2.nread = self2.maxHeaderSize; - self2.maxed = true; - } else { - self2.nread += end - start; - } - self2.buffer += data.toString("binary", start, end); + onError(error3) { + this.onFinally(); + if (channels.error.hasSubscribers) { + channels.error.publish({ request: this, error: error3 }); } - if (isMatch) { - self2._finish(); + if (this.aborted) { + return; } - }); - } - inherits(HeaderParser, EventEmitter); - HeaderParser.prototype.push = function(data) { - const r = this.ss.push(data); - if (this.finished) { - return r; + this.aborted = true; + return this[kHandler].onError(error3); } - }; - HeaderParser.prototype.reset = function() { - this.finished = false; - this.buffer = ""; - this.header = {}; - this.ss.reset(); - }; - HeaderParser.prototype._finish = function() { - if (this.buffer) { - this._parseHeader(); + 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; + } + } + addHeader(key, value) { + processHeader(this, key, value); + return this; } - this.ss.matches = this.ss.maxMatches; - const header = this.header; - this.header = {}; - this.buffer = ""; - this.finished = true; - this.nread = this.npairs = 0; - this.maxed = false; - this.emit("header", header); }; - HeaderParser.prototype._parseHeader = function() { - if (this.npairs === this.maxHeaderPairs) { + 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; } - const lines = this.buffer.split(RE_CRLF); - const len = lines.length; - let m, h; - for (var i = 0; i < len; ++i) { - if (lines[i].length === 0) { - continue; + let headerName = headerNameLowerCasedRecord[key]; + if (headerName === void 0) { + headerName = key.toLowerCase(); + if (headerNameLowerCasedRecord[headerName] === void 0 && !isValidHTTPToken(headerName)) { + throw new InvalidArgumentError("invalid header key"); } - if (lines[i][0] === " " || lines[i][0] === " ") { - if (h) { - this.header[h][this.header[h].length - 1] += lines[i]; - continue; + } + 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]}`); } } - const posColon = lines[i].indexOf(":"); - if (posColon === -1 || posColon === 0) { - return; + val = arr; + } else if (typeof val === "string") { + if (!isValidHeaderValue(val)) { + throw new InvalidArgumentError(`invalid ${key} header`); } - m = RE_HDR.exec(lines[i]); - h = m[1].toLowerCase(); - this.header[h] = this.header[h] || []; - this.header[h].push(m[2] || ""); - if (++this.npairs === this.maxHeaderPairs) { - break; + } else if (val === null) { + val = ""; + } else { + val = `${val}`; + } + 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); } - }; - module2.exports = HeaderParser; + } + module2.exports = Request; } }); -// node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js -var require_Dicer = __commonJS({ - "node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js"(exports2, module2) { +// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js +var require_dispatcher2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js"(exports2, module2) { "use strict"; - var WritableStream = require("node:stream").Writable; - var inherits = require("node:util").inherits; - var StreamSearch = require_sbmh(); - var PartStream = require_PartStream(); - var HeaderParser = require_HeaderParser(); - var DASH = 45; - var B_ONEDASH = Buffer.from("-"); - var B_CRLF = Buffer.from("\r\n"); - var EMPTY_FN = function() { - }; - function Dicer(cfg) { - if (!(this instanceof Dicer)) { - return new Dicer(cfg); + var EventEmitter = require("node:events"); + var Dispatcher = class extends EventEmitter { + dispatch() { + throw new Error("not implemented"); } - WritableStream.call(this, cfg); - if (!cfg || !cfg.headerFirst && typeof cfg.boundary !== "string") { - throw new TypeError("Boundary required"); + close() { + throw new Error("not implemented"); } - if (typeof cfg.boundary === "string") { - this.setBoundary(cfg.boundary); - } else { - this._bparser = void 0; + destroy() { + throw new Error("not implemented"); } - this._headerFirst = cfg.headerFirst; - this._dashes = 0; - this._parts = 0; - this._finished = false; - this._realFinish = false; - this._isPreamble = true; - this._justMatched = false; - this._firstWrite = true; - this._inHeader = true; - this._part = void 0; - this._cb = void 0; - this._ignoreData = false; - this._partOpts = { highWaterMark: cfg.partHwm }; - this._pause = false; - const self2 = this; - this._hparser = new HeaderParser(cfg); - this._hparser.on("header", function(header) { - self2._inHeader = false; - self2._part.emit("header", header); - }); - } - inherits(Dicer, WritableStream); - Dicer.prototype.emit = function(ev) { - if (ev === "finish" && !this._realFinish) { - if (!this._finished) { - const self2 = this; - process.nextTick(function() { - self2.emit("error", new Error("Unexpected end of multipart data")); - if (self2._part && !self2._ignoreData) { - const type2 = self2._isPreamble ? "Preamble" : "Part"; - self2._part.emit("error", new Error(type2 + " terminated early due to unexpected end of multipart data")); - self2._part.push(null); - process.nextTick(function() { - self2._realFinish = true; - self2.emit("finish"); - self2._realFinish = false; - }); - return; - } - self2._realFinish = true; - self2.emit("finish"); - self2._realFinish = false; - }); + 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"); + } } - } else { - WritableStream.prototype.emit.apply(this, arguments); + return new ComposedDispatcher(this, dispatch); } }; - Dicer.prototype._write = function(data, encoding, cb) { - if (!this._hparser && !this._bparser) { - return cb(); + var ComposedDispatcher = class extends Dispatcher { + #dispatcher = null; + #dispatch = null; + constructor(dispatcher, dispatch) { + super(); + this.#dispatcher = dispatcher; + this.#dispatch = dispatch; } - if (this._headerFirst && this._isPreamble) { - if (!this._part) { - this._part = new PartStream(this._partOpts); - if (this.listenerCount("preamble") !== 0) { - this.emit("preamble", this._part); - } else { - this._ignore(); - } - } - const r = this._hparser.push(data); - if (!this._inHeader && r !== void 0 && r < data.length) { - data = data.slice(r); - } else { - return cb(); - } + dispatch(...args) { + this.#dispatch(...args); } - if (this._firstWrite) { - this._bparser.push(B_CRLF); - this._firstWrite = false; + close(...args) { + return this.#dispatcher.close(...args); } - this._bparser.push(data); - if (this._pause) { - this._cb = cb; - } else { - cb(); + destroy(...args) { + return this.#dispatcher.destroy(...args); } }; - Dicer.prototype.reset = function() { - this._part = void 0; - this._bparser = void 0; - this._hparser = void 0; - }; - Dicer.prototype.setBoundary = function(boundary) { - const self2 = this; - this._bparser = new StreamSearch("\r\n--" + boundary); - this._bparser.on("info", function(isMatch, data, start, end) { - self2._oninfo(isMatch, data, start, end); - }); - }; - Dicer.prototype._ignore = function() { - if (this._part && !this._ignoreData) { - this._ignoreData = true; - this._part.on("error", EMPTY_FN); - this._part.resume(); + module2.exports = Dispatcher; + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js +var require_dispatcher_base2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js"(exports2, module2) { + "use strict"; + var Dispatcher = require_dispatcher2(); + var { + ClientDestroyedError, + ClientClosedError, + InvalidArgumentError + } = require_errors2(); + var { kDestroy, kClose, kClosed, kDestroyed, kDispatch, kInterceptors } = require_symbols6(); + var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed"); + var kOnClosed = /* @__PURE__ */ Symbol("onClosed"); + var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch"); + var DispatcherBase = class extends Dispatcher { + constructor() { + super(); + this[kDestroyed] = false; + this[kOnDestroyed] = null; + this[kClosed] = false; + this[kOnClosed] = []; } - }; - Dicer.prototype._oninfo = function(isMatch, data, start, end) { - let buf; - const self2 = this; - let i = 0; - let r; - let shouldWriteMore = true; - if (!this._part && this._justMatched && data) { - while (this._dashes < 2 && start + i < end) { - if (data[start + i] === DASH) { - ++i; - ++this._dashes; - } else { - if (this._dashes) { - buf = B_ONEDASH; + 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"); } - this._dashes = 0; - break; } } - if (this._dashes === 2) { - if (start + i < end && this.listenerCount("trailer") !== 0) { - this.emit("trailer", data.slice(start + i, end)); + this[kInterceptors] = newInterceptors; + } + close(callback) { + if (callback === void 0) { + return new Promise((resolve5, reject) => { + this.close((err, data) => { + return err ? reject(err) : resolve5(data); + }); + }); + } + 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)); } - this.reset(); - this._finished = true; - if (self2._parts === 0) { - self2._realFinish = true; - self2.emit("finish"); - self2._realFinish = false; + 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); + }); + } + destroy(err, callback) { + if (typeof err === "function") { + callback = err; + err = null; } - if (this._dashes) { + if (callback === void 0) { + return new Promise((resolve5, reject) => { + this.destroy(err, (err2, data) => { + return err2 ? ( + /* istanbul ignore next: should never error */ + reject(err2) + ) : resolve5(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 (this._justMatched) { - this._justMatched = false; - } - if (!this._part) { - this._part = new PartStream(this._partOpts); - this._part._read = function(n) { - self2._unpause(); + 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); + } }; - if (this._isPreamble && this.listenerCount("preamble") !== 0) { - this.emit("preamble", this._part); - } else if (this._isPreamble !== true && this.listenerCount("part") !== 0) { - this.emit("part", this._part); - } else { - this._ignore(); + 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); } - if (!this._isPreamble) { - this._inHeader = true; + 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); } - if (data && start < end && !this._ignoreData) { - if (this._isPreamble || !this._inHeader) { - if (buf) { - shouldWriteMore = this._part.push(buf); - } - shouldWriteMore = this._part.push(data.slice(start, end)); - if (!shouldWriteMore) { - this._pause = true; + 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."); } - } else if (!this._isPreamble && this._inHeader) { - if (buf) { - this._hparser.push(buf); + if (this[kDestroyed] || this[kOnDestroyed]) { + throw new ClientDestroyedError(); } - r = this._hparser.push(data.slice(start, end)); - if (!this._inHeader && r !== void 0 && r < end) { - this._oninfo(false, data, start + r, end); + if (this[kClosed]) { + throw new ClientClosedError(); } - } - } - if (isMatch) { - this._hparser.reset(); - if (this._isPreamble) { - this._isPreamble = false; - } else { - if (start !== end) { - ++this._parts; - this._part.on("end", function() { - if (--self2._parts === 0) { - if (self2._finished) { - self2._realFinish = true; - self2.emit("finish"); - self2._realFinish = false; - } else { - self2._unpause(); - } - } - }); + return this[kInterceptedDispatch](opts, handler2); + } catch (err) { + if (typeof handler2.onError !== "function") { + throw new InvalidArgumentError("invalid onError method"); } + handler2.onError(err); + return false; } - this._part.push(null); - this._part = void 0; - this._ignoreData = false; - this._justMatched = true; - this._dashes = 0; - } - }; - Dicer.prototype._unpause = function() { - if (!this._pause) { - return; - } - this._pause = false; - if (this._cb) { - const cb = this._cb; - this._cb = void 0; - cb(); } }; - module2.exports = Dicer; + module2.exports = DispatcherBase; } }); -// node_modules/@fastify/busboy/lib/utils/decodeText.js -var require_decodeText = __commonJS({ - "node_modules/@fastify/busboy/lib/utils/decodeText.js"(exports2, module2) { +// node_modules/@actions/github/node_modules/undici/lib/util/timers.js +var require_timers2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/util/timers.js"(exports2, module2) { "use strict"; - var utf8Decoder = new TextDecoder("utf-8"); - var textDecoders = /* @__PURE__ */ new Map([ - ["utf-8", utf8Decoder], - ["utf8", utf8Decoder] - ]); - function getDecoder(charset) { - let lc; - while (true) { - switch (charset) { - case "utf-8": - case "utf8": - return decoders.utf8; - case "latin1": - case "ascii": - // TODO: Make these a separate, strict decoder? - case "us-ascii": - case "iso-8859-1": - case "iso8859-1": - case "iso88591": - case "iso_8859-1": - case "windows-1252": - case "iso_8859-1:1987": - case "cp1252": - case "x-cp1252": - return decoders.latin1; - case "utf16le": - case "utf-16le": - case "ucs2": - case "ucs-2": - return decoders.utf16le; - case "base64": - return decoders.base64; - default: - if (lc === void 0) { - lc = true; - charset = charset.toLowerCase(); - continue; - } - return decoders.other.bind(charset); + var fastNow = 0; + var RESOLUTION_MS = 1e3; + var TICK_MS = (RESOLUTION_MS >> 1) - 1; + var fastNowTimeout; + var kFastTimer = /* @__PURE__ */ 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(); + } } - var decoders = { - utf8: (data, sourceEncoding) => { - if (data.length === 0) { - return ""; - } - if (typeof data === "string") { - data = Buffer.from(data, sourceEncoding); - } - return data.utf8Slice(0, data.length); - }, - latin1: (data, sourceEncoding) => { - if (data.length === 0) { - return ""; - } - if (typeof data === "string") { - return data; - } - return data.latin1Slice(0, data.length); - }, - utf16le: (data, sourceEncoding) => { - if (data.length === 0) { - return ""; - } - if (typeof data === "string") { - data = Buffer.from(data, sourceEncoding); - } - return data.ucs2Slice(0, data.length); - }, - base64: (data, sourceEncoding) => { - if (data.length === 0) { - return ""; - } - if (typeof data === "string") { - data = Buffer.from(data, sourceEncoding); - } - return data.base64Slice(0, data.length); - }, - other: (data, sourceEncoding) => { - if (data.length === 0) { - return ""; + function refreshTimeout() { + if (fastNowTimeout) { + fastNowTimeout.refresh(); + } else { + clearTimeout(fastNowTimeout); + fastNowTimeout = setTimeout(onTick, TICK_MS); + if (fastNowTimeout.unref) { + fastNowTimeout.unref(); } - if (typeof data === "string") { - data = Buffer.from(data, sourceEncoding); + } + } + 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 (textDecoders.has(exports2.toString())) { - try { - return textDecoders.get(exports2).decode(data); - } catch { - } + if (!fastNowTimeout || fastTimers.length === 1) { + refreshTimeout(); } - return typeof data === "string" ? data : data.toString(); + this._state = PENDING; } - }; - function decodeText(text, sourceEncoding, destEncoding) { - if (text) { - return getDecoder(destEncoding)(text, sourceEncoding); + /** + * The `clear` method cancels the timer, preventing it from executing. + * + * @returns {void} + * @private + */ + clear() { + this._state = TO_BE_CLEARED; + this._idleStart = -1; } - return text; - } - module2.exports = decodeText; + }; + 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/@fastify/busboy/lib/utils/parseParams.js -var require_parseParams = __commonJS({ - "node_modules/@fastify/busboy/lib/utils/parseParams.js"(exports2, module2) { +// node_modules/@actions/github/node_modules/undici/lib/core/connect.js +var require_connect2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/core/connect.js"(exports2, module2) { "use strict"; - var decodeText = require_decodeText(); - var RE_ENCODED = /%[a-fA-F0-9][a-fA-F0-9]/g; - var EncodedLookup = { - "%00": "\0", - "%01": "", - "%02": "", - "%03": "", - "%04": "", - "%05": "", - "%06": "", - "%07": "\x07", - "%08": "\b", - "%09": " ", - "%0a": "\n", - "%0A": "\n", - "%0b": "\v", - "%0B": "\v", - "%0c": "\f", - "%0C": "\f", - "%0d": "\r", - "%0D": "\r", - "%0e": "", - "%0E": "", - "%0f": "", - "%0F": "", - "%10": "", - "%11": "", - "%12": "", - "%13": "", - "%14": "", - "%15": "", - "%16": "", - "%17": "", - "%18": "", - "%19": "", - "%1a": "", - "%1A": "", - "%1b": "\x1B", - "%1B": "\x1B", - "%1c": "", - "%1C": "", - "%1d": "", - "%1D": "", - "%1e": "", - "%1E": "", - "%1f": "", - "%1F": "", - "%20": " ", - "%21": "!", - "%22": '"', - "%23": "#", - "%24": "$", - "%25": "%", - "%26": "&", - "%27": "'", - "%28": "(", - "%29": ")", - "%2a": "*", - "%2A": "*", - "%2b": "+", - "%2B": "+", - "%2c": ",", - "%2C": ",", - "%2d": "-", - "%2D": "-", - "%2e": ".", - "%2E": ".", - "%2f": "/", - "%2F": "/", - "%30": "0", - "%31": "1", - "%32": "2", - "%33": "3", - "%34": "4", - "%35": "5", - "%36": "6", - "%37": "7", - "%38": "8", - "%39": "9", - "%3a": ":", - "%3A": ":", - "%3b": ";", - "%3B": ";", - "%3c": "<", - "%3C": "<", - "%3d": "=", - "%3D": "=", - "%3e": ">", - "%3E": ">", - "%3f": "?", - "%3F": "?", - "%40": "@", - "%41": "A", - "%42": "B", - "%43": "C", - "%44": "D", - "%45": "E", - "%46": "F", - "%47": "G", - "%48": "H", - "%49": "I", - "%4a": "J", - "%4A": "J", - "%4b": "K", - "%4B": "K", - "%4c": "L", - "%4C": "L", - "%4d": "M", - "%4D": "M", - "%4e": "N", - "%4E": "N", - "%4f": "O", - "%4F": "O", - "%50": "P", - "%51": "Q", - "%52": "R", - "%53": "S", - "%54": "T", - "%55": "U", - "%56": "V", - "%57": "W", - "%58": "X", - "%59": "Y", - "%5a": "Z", - "%5A": "Z", - "%5b": "[", - "%5B": "[", - "%5c": "\\", - "%5C": "\\", - "%5d": "]", - "%5D": "]", - "%5e": "^", - "%5E": "^", - "%5f": "_", - "%5F": "_", - "%60": "`", - "%61": "a", - "%62": "b", - "%63": "c", - "%64": "d", - "%65": "e", - "%66": "f", - "%67": "g", - "%68": "h", - "%69": "i", - "%6a": "j", - "%6A": "j", - "%6b": "k", - "%6B": "k", - "%6c": "l", - "%6C": "l", - "%6d": "m", - "%6D": "m", - "%6e": "n", - "%6E": "n", - "%6f": "o", - "%6F": "o", - "%70": "p", - "%71": "q", - "%72": "r", - "%73": "s", - "%74": "t", - "%75": "u", - "%76": "v", - "%77": "w", - "%78": "x", - "%79": "y", - "%7a": "z", - "%7A": "z", - "%7b": "{", - "%7B": "{", - "%7c": "|", - "%7C": "|", - "%7d": "}", - "%7D": "}", - "%7e": "~", - "%7E": "~", - "%7f": "\x7F", - "%7F": "\x7F", - "%80": "\x80", - "%81": "\x81", - "%82": "\x82", - "%83": "\x83", - "%84": "\x84", - "%85": "\x85", - "%86": "\x86", - "%87": "\x87", - "%88": "\x88", - "%89": "\x89", - "%8a": "\x8A", - "%8A": "\x8A", - "%8b": "\x8B", - "%8B": "\x8B", - "%8c": "\x8C", - "%8C": "\x8C", - "%8d": "\x8D", - "%8D": "\x8D", - "%8e": "\x8E", - "%8E": "\x8E", - "%8f": "\x8F", - "%8F": "\x8F", - "%90": "\x90", - "%91": "\x91", - "%92": "\x92", - "%93": "\x93", - "%94": "\x94", - "%95": "\x95", - "%96": "\x96", - "%97": "\x97", - "%98": "\x98", - "%99": "\x99", - "%9a": "\x9A", - "%9A": "\x9A", - "%9b": "\x9B", - "%9B": "\x9B", - "%9c": "\x9C", - "%9C": "\x9C", - "%9d": "\x9D", - "%9D": "\x9D", - "%9e": "\x9E", - "%9E": "\x9E", - "%9f": "\x9F", - "%9F": "\x9F", - "%a0": "\xA0", - "%A0": "\xA0", - "%a1": "\xA1", - "%A1": "\xA1", - "%a2": "\xA2", - "%A2": "\xA2", - "%a3": "\xA3", - "%A3": "\xA3", - "%a4": "\xA4", - "%A4": "\xA4", - "%a5": "\xA5", - "%A5": "\xA5", - "%a6": "\xA6", - "%A6": "\xA6", - "%a7": "\xA7", - "%A7": "\xA7", - "%a8": "\xA8", - "%A8": "\xA8", - "%a9": "\xA9", - "%A9": "\xA9", - "%aa": "\xAA", - "%Aa": "\xAA", - "%aA": "\xAA", - "%AA": "\xAA", - "%ab": "\xAB", - "%Ab": "\xAB", - "%aB": "\xAB", - "%AB": "\xAB", - "%ac": "\xAC", - "%Ac": "\xAC", - "%aC": "\xAC", - "%AC": "\xAC", - "%ad": "\xAD", - "%Ad": "\xAD", - "%aD": "\xAD", - "%AD": "\xAD", - "%ae": "\xAE", - "%Ae": "\xAE", - "%aE": "\xAE", - "%AE": "\xAE", - "%af": "\xAF", - "%Af": "\xAF", - "%aF": "\xAF", - "%AF": "\xAF", - "%b0": "\xB0", - "%B0": "\xB0", - "%b1": "\xB1", - "%B1": "\xB1", - "%b2": "\xB2", - "%B2": "\xB2", - "%b3": "\xB3", - "%B3": "\xB3", - "%b4": "\xB4", - "%B4": "\xB4", - "%b5": "\xB5", - "%B5": "\xB5", - "%b6": "\xB6", - "%B6": "\xB6", - "%b7": "\xB7", - "%B7": "\xB7", - "%b8": "\xB8", - "%B8": "\xB8", - "%b9": "\xB9", - "%B9": "\xB9", - "%ba": "\xBA", - "%Ba": "\xBA", - "%bA": "\xBA", - "%BA": "\xBA", - "%bb": "\xBB", - "%Bb": "\xBB", - "%bB": "\xBB", - "%BB": "\xBB", - "%bc": "\xBC", - "%Bc": "\xBC", - "%bC": "\xBC", - "%BC": "\xBC", - "%bd": "\xBD", - "%Bd": "\xBD", - "%bD": "\xBD", - "%BD": "\xBD", - "%be": "\xBE", - "%Be": "\xBE", - "%bE": "\xBE", - "%BE": "\xBE", - "%bf": "\xBF", - "%Bf": "\xBF", - "%bF": "\xBF", - "%BF": "\xBF", - "%c0": "\xC0", - "%C0": "\xC0", - "%c1": "\xC1", - "%C1": "\xC1", - "%c2": "\xC2", - "%C2": "\xC2", - "%c3": "\xC3", - "%C3": "\xC3", - "%c4": "\xC4", - "%C4": "\xC4", - "%c5": "\xC5", - "%C5": "\xC5", - "%c6": "\xC6", - "%C6": "\xC6", - "%c7": "\xC7", - "%C7": "\xC7", - "%c8": "\xC8", - "%C8": "\xC8", - "%c9": "\xC9", - "%C9": "\xC9", - "%ca": "\xCA", - "%Ca": "\xCA", - "%cA": "\xCA", - "%CA": "\xCA", - "%cb": "\xCB", - "%Cb": "\xCB", - "%cB": "\xCB", - "%CB": "\xCB", - "%cc": "\xCC", - "%Cc": "\xCC", - "%cC": "\xCC", - "%CC": "\xCC", - "%cd": "\xCD", - "%Cd": "\xCD", - "%cD": "\xCD", - "%CD": "\xCD", - "%ce": "\xCE", - "%Ce": "\xCE", - "%cE": "\xCE", - "%CE": "\xCE", - "%cf": "\xCF", - "%Cf": "\xCF", - "%cF": "\xCF", - "%CF": "\xCF", - "%d0": "\xD0", - "%D0": "\xD0", - "%d1": "\xD1", - "%D1": "\xD1", - "%d2": "\xD2", - "%D2": "\xD2", - "%d3": "\xD3", - "%D3": "\xD3", - "%d4": "\xD4", - "%D4": "\xD4", - "%d5": "\xD5", - "%D5": "\xD5", - "%d6": "\xD6", - "%D6": "\xD6", - "%d7": "\xD7", - "%D7": "\xD7", - "%d8": "\xD8", - "%D8": "\xD8", - "%d9": "\xD9", - "%D9": "\xD9", - "%da": "\xDA", - "%Da": "\xDA", - "%dA": "\xDA", - "%DA": "\xDA", - "%db": "\xDB", - "%Db": "\xDB", - "%dB": "\xDB", - "%DB": "\xDB", - "%dc": "\xDC", - "%Dc": "\xDC", - "%dC": "\xDC", - "%DC": "\xDC", - "%dd": "\xDD", - "%Dd": "\xDD", - "%dD": "\xDD", - "%DD": "\xDD", - "%de": "\xDE", - "%De": "\xDE", - "%dE": "\xDE", - "%DE": "\xDE", - "%df": "\xDF", - "%Df": "\xDF", - "%dF": "\xDF", - "%DF": "\xDF", - "%e0": "\xE0", - "%E0": "\xE0", - "%e1": "\xE1", - "%E1": "\xE1", - "%e2": "\xE2", - "%E2": "\xE2", - "%e3": "\xE3", - "%E3": "\xE3", - "%e4": "\xE4", - "%E4": "\xE4", - "%e5": "\xE5", - "%E5": "\xE5", - "%e6": "\xE6", - "%E6": "\xE6", - "%e7": "\xE7", - "%E7": "\xE7", - "%e8": "\xE8", - "%E8": "\xE8", - "%e9": "\xE9", - "%E9": "\xE9", - "%ea": "\xEA", - "%Ea": "\xEA", - "%eA": "\xEA", - "%EA": "\xEA", - "%eb": "\xEB", - "%Eb": "\xEB", - "%eB": "\xEB", - "%EB": "\xEB", - "%ec": "\xEC", - "%Ec": "\xEC", - "%eC": "\xEC", - "%EC": "\xEC", - "%ed": "\xED", - "%Ed": "\xED", - "%eD": "\xED", - "%ED": "\xED", - "%ee": "\xEE", - "%Ee": "\xEE", - "%eE": "\xEE", - "%EE": "\xEE", - "%ef": "\xEF", - "%Ef": "\xEF", - "%eF": "\xEF", - "%EF": "\xEF", - "%f0": "\xF0", - "%F0": "\xF0", - "%f1": "\xF1", - "%F1": "\xF1", - "%f2": "\xF2", - "%F2": "\xF2", - "%f3": "\xF3", - "%F3": "\xF3", - "%f4": "\xF4", - "%F4": "\xF4", - "%f5": "\xF5", - "%F5": "\xF5", - "%f6": "\xF6", - "%F6": "\xF6", - "%f7": "\xF7", - "%F7": "\xF7", - "%f8": "\xF8", - "%F8": "\xF8", - "%f9": "\xF9", - "%F9": "\xF9", - "%fa": "\xFA", - "%Fa": "\xFA", - "%fA": "\xFA", - "%FA": "\xFA", - "%fb": "\xFB", - "%Fb": "\xFB", - "%fB": "\xFB", - "%FB": "\xFB", - "%fc": "\xFC", - "%Fc": "\xFC", - "%fC": "\xFC", - "%FC": "\xFC", - "%fd": "\xFD", - "%Fd": "\xFD", - "%fD": "\xFD", - "%FD": "\xFD", - "%fe": "\xFE", - "%Fe": "\xFE", - "%fE": "\xFE", - "%FE": "\xFE", - "%ff": "\xFF", - "%Ff": "\xFF", - "%fF": "\xFF", - "%FF": "\xFF" - }; - function encodedReplacer(match) { - return EncodedLookup[match]; + var net = require("node:net"); + var assert = require("node:assert"); + var util = require_util9(); + var { InvalidArgumentError, ConnectTimeoutError } = require_errors2(); + var timers = require_timers2(); + function noop3() { } - var STATE_KEY = 0; - var STATE_VALUE = 1; - var STATE_CHARSET = 2; - var STATE_LANG = 3; - function parseParams(str2) { - const res = []; - let state = STATE_KEY; - let charset = ""; - let inquote = false; - let escaping = false; - let p = 0; - let tmp = ""; - const len = str2.length; - for (var i = 0; i < len; ++i) { - const char = str2[i]; - if (char === "\\" && inquote) { - if (escaping) { - escaping = false; - } else { - escaping = true; - continue; - } - } else if (char === '"') { - if (!escaping) { - if (inquote) { - inquote = false; - state = STATE_KEY; - } else { - inquote = true; + 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; } - continue; - } else { - escaping = false; + const ref = this._sessionCache.get(key); + if (ref !== void 0 && ref.deref() === void 0) { + this._sessionCache.delete(key); + } + }); + } + get(sessionKey) { + const ref = this._sessionCache.get(sessionKey); + return ref ? ref.deref() : null; + } + set(sessionKey, session) { + if (this._maxCachedSessions === 0) { + return; } - } else { - if (escaping && inquote) { - tmp += "\\"; + this._sessionCache.set(sessionKey, new WeakRef(session)); + this._sessionRegistry.register(session, sessionKey); + } + }; + } else { + SessionCache = class SimpleSessionCache { + constructor(maxCachedSessions) { + this._maxCachedSessions = maxCachedSessions; + this._sessionCache = /* @__PURE__ */ new Map(); + } + get(sessionKey) { + return this._sessionCache.get(sessionKey); + } + set(sessionKey, session) { + if (this._maxCachedSessions === 0) { + return; } - escaping = false; - if ((state === STATE_CHARSET || state === STATE_LANG) && char === "'") { - if (state === STATE_CHARSET) { - state = STATE_LANG; - charset = tmp.substring(1); - } else { - state = STATE_VALUE; - } - tmp = ""; - continue; - } else if (state === STATE_KEY && (char === "*" || char === "=") && res.length) { - state = char === "*" ? STATE_CHARSET : STATE_VALUE; - res[p] = [tmp, void 0]; - tmp = ""; - continue; - } else if (!inquote && char === ";") { - state = STATE_KEY; - if (charset) { - if (tmp.length) { - tmp = decodeText( - tmp.replace(RE_ENCODED, encodedReplacer), - "binary", - charset - ); - } - charset = ""; - } else if (tmp.length) { - tmp = decodeText(tmp, "binary", "utf8"); - } - if (res[p] === void 0) { - res[p] = tmp; - } else { - res[p][1] = tmp; - } - tmp = ""; - ++p; - continue; - } else if (!inquote && (char === " " || char === " ")) { - continue; + if (this._sessionCache.size >= this._maxCachedSessions) { + const { value: oldestKey } = this._sessionCache.keys().next(); + this._sessionCache.delete(oldestKey); } + this._sessionCache.set(sessionKey, session); } - tmp += char; - } - if (charset && tmp.length) { - tmp = decodeText( - tmp.replace(RE_ENCODED, encodedReplacer), - "binary", - charset - ); - } else if (tmp) { - tmp = decodeText(tmp, "binary", "utf8"); + }; + } + 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"); } - if (res[p] === void 0) { - if (tmp) { - res[p] = tmp; + 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"); + } + 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 { - res[p][1] = tmp; + message += ` (attempted address: ${opts.hostname}:${opts.port},`; } - return res; + message += ` timeout: ${opts.timeout}ms)`; + util.destroy(socket, new ConnectTimeoutError(message)); } - module2.exports = parseParams; + module2.exports = buildConnector; } }); -// node_modules/@fastify/busboy/lib/utils/basename.js -var require_basename = __commonJS({ - "node_modules/@fastify/busboy/lib/utils/basename.js"(exports2, module2) { +// node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js +var require_utils3 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js"(exports2) { "use strict"; - module2.exports = function basename2(path7) { - if (typeof path7 !== "string") { - return ""; - } - for (var i = path7.length - 1; i >= 0; --i) { - switch (path7.charCodeAt(i)) { - case 47: - // '/' - case 92: - path7 = path7.slice(i + 1); - return path7 === ".." || path7 === "." ? "" : path7; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.enumToMap = void 0; + function enumToMap(obj) { + const res = {}; + Object.keys(obj).forEach((key) => { + const value = obj[key]; + if (typeof value === "number") { + res[key] = value; } - } - return path7 === ".." || path7 === "." ? "" : path7; - }; + }); + return res; + } + exports2.enumToMap = enumToMap; } }); -// node_modules/@fastify/busboy/lib/types/multipart.js -var require_multipart = __commonJS({ - "node_modules/@fastify/busboy/lib/types/multipart.js"(exports2, module2) { +// node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js +var require_constants7 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js"(exports2) { "use strict"; - var { Readable } = require("node:stream"); - var { inherits } = require("node:util"); - var Dicer = require_Dicer(); - var parseParams = require_parseParams(); - var decodeText = require_decodeText(); - var basename2 = require_basename(); - var getLimit = require_getLimit(); - var RE_BOUNDARY = /^boundary$/i; - var RE_FIELD = /^form-data$/i; - var RE_CHARSET = /^charset$/i; - var RE_FILENAME = /^filename$/i; - var RE_NAME = /^name$/i; - Multipart.detect = /^multipart\/form-data/i; - function Multipart(boy, cfg) { - let i; - let len; - const self2 = this; - let boundary; - const limits = cfg.limits; - const isPartAFile = cfg.isPartAFile || ((fieldName, contentType, fileName) => contentType === "application/octet-stream" || fileName !== void 0); - const parsedConType = cfg.parsedConType || []; - const defCharset = cfg.defCharset || "utf8"; - const preservePath = cfg.preservePath; - const fileOpts = { highWaterMark: cfg.fileHwm }; - for (i = 0, len = parsedConType.length; i < len; ++i) { - if (Array.isArray(parsedConType[i]) && RE_BOUNDARY.test(parsedConType[i][0])) { - boundary = parsedConType[i][1]; - break; - } - } - function checkFinished() { - if (nends === 0 && finished && !boy._done) { - finished = false; - self2.end(); - } - } - if (typeof boundary !== "string") { - throw new Error("Multipart: Boundary not found"); - } - const fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024); - const fileSizeLimit = getLimit(limits, "fileSize", Infinity); - const filesLimit = getLimit(limits, "files", Infinity); - const fieldsLimit = getLimit(limits, "fields", Infinity); - const partsLimit = getLimit(limits, "parts", Infinity); - const headerPairsLimit = getLimit(limits, "headerPairs", 2e3); - const headerSizeLimit = getLimit(limits, "headerSize", 80 * 1024); - let nfiles = 0; - let nfields = 0; - let nends = 0; - let curFile; - let curField; - let finished = false; - this._needDrain = false; - this._pause = false; - this._cb = void 0; - this._nparts = 0; - this._boy = boy; - const parserCfg = { - boundary, - maxHeaderPairs: headerPairsLimit, - maxHeaderSize: headerSizeLimit, - partHwm: fileOpts.highWaterMark, - highWaterMark: cfg.highWaterMark - }; - this.parser = new Dicer(parserCfg); - this.parser.on("drain", function() { - self2._needDrain = false; - if (self2._cb && !self2._pause) { - const cb = self2._cb; - self2._cb = void 0; - cb(); - } - }).on("part", function onPart(part) { - if (++self2._nparts > partsLimit) { - self2.parser.removeListener("part", onPart); - self2.parser.on("part", skipPart); - boy.hitPartsLimit = true; - boy.emit("partsLimit"); - return skipPart(part); - } - if (curField) { - const field = curField; - field.emit("end"); - field.removeAllListeners("end"); - } - part.on("header", function(header) { - let contype; - let fieldname; - let parsed; - let charset; - let encoding; - let filename; - let nsize = 0; - if (header["content-type"]) { - parsed = parseParams(header["content-type"][0]); - if (parsed[0]) { - contype = parsed[0].toLowerCase(); - for (i = 0, len = parsed.length; i < len; ++i) { - if (RE_CHARSET.test(parsed[i][0])) { - charset = parsed[i][1].toLowerCase(); - break; - } - } - } - } - if (contype === void 0) { - contype = "text/plain"; - } - if (charset === void 0) { - charset = defCharset; - } - if (header["content-disposition"]) { - parsed = parseParams(header["content-disposition"][0]); - if (!RE_FIELD.test(parsed[0])) { - return skipPart(part); - } - for (i = 0, len = parsed.length; i < len; ++i) { - if (RE_NAME.test(parsed[i][0])) { - fieldname = parsed[i][1]; - } else if (RE_FILENAME.test(parsed[i][0])) { - filename = parsed[i][1]; - if (!preservePath) { - filename = basename2(filename); - } - } - } - } else { - return skipPart(part); - } - if (header["content-transfer-encoding"]) { - encoding = header["content-transfer-encoding"][0].toLowerCase(); - } else { - encoding = "7bit"; - } - let onData, onEnd; - if (isPartAFile(fieldname, contype, filename)) { - if (nfiles === filesLimit) { - if (!boy.hitFilesLimit) { - boy.hitFilesLimit = true; - boy.emit("filesLimit"); - } - return skipPart(part); - } - ++nfiles; - if (boy.listenerCount("file") === 0) { - self2.parser._ignore(); - return; - } - ++nends; - const file = new FileStream(fileOpts); - curFile = file; - file.on("end", function() { - --nends; - self2._pause = false; - checkFinished(); - if (self2._cb && !self2._needDrain) { - const cb = self2._cb; - self2._cb = void 0; - cb(); - } - }); - file._read = function(n) { - if (!self2._pause) { - return; - } - self2._pause = false; - if (self2._cb && !self2._needDrain) { - const cb = self2._cb; - self2._cb = void 0; - cb(); - } - }; - boy.emit("file", fieldname, file, filename, encoding, contype); - onData = function(data) { - if ((nsize += data.length) > fileSizeLimit) { - const extralen = fileSizeLimit - nsize + data.length; - if (extralen > 0) { - file.push(data.slice(0, extralen)); - } - file.truncated = true; - file.bytesRead = fileSizeLimit; - part.removeAllListeners("data"); - file.emit("limit"); - return; - } else if (!file.push(data)) { - self2._pause = true; - } - file.bytesRead = nsize; - }; - onEnd = function() { - curFile = void 0; - file.push(null); - }; - } else { - if (nfields === fieldsLimit) { - if (!boy.hitFieldsLimit) { - boy.hitFieldsLimit = true; - boy.emit("fieldsLimit"); - } - return skipPart(part); - } - ++nfields; - ++nends; - let buffer = ""; - let truncated = false; - curField = part; - onData = function(data) { - if ((nsize += data.length) > fieldSizeLimit) { - const extralen = fieldSizeLimit - (nsize - data.length); - buffer += data.toString("binary", 0, extralen); - truncated = true; - part.removeAllListeners("data"); - } else { - buffer += data.toString("binary"); - } - }; - onEnd = function() { - curField = void 0; - if (buffer.length) { - buffer = decodeText(buffer, "binary", charset); - } - boy.emit("field", fieldname, buffer, false, truncated, encoding, contype); - --nends; - checkFinished(); - }; - } - part._readableState.sync = false; - part.on("data", onData); - part.on("end", onEnd); - }).on("error", function(err) { - if (curFile) { - curFile.emit("error", err); - } - }); - }).on("error", function(err) { - boy.emit("error", err); - }).on("finish", function() { - finished = true; - checkFinished(); - }); - } - Multipart.prototype.write = function(chunk, cb) { - const r = this.parser.write(chunk); - if (r && !this._pause) { - cb(); - } else { - this._needDrain = !r; - this._cb = cb; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0; + var utils_1 = require_utils3(); + var ERROR; + (function(ERROR2) { + ERROR2[ERROR2["OK"] = 0] = "OK"; + ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL"; + ERROR2[ERROR2["STRICT"] = 2] = "STRICT"; + ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED"; + ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH"; + ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION"; + ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD"; + ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL"; + ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT"; + ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION"; + ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN"; + ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH"; + ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE"; + ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS"; + ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE"; + ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING"; + ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN"; + ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE"; + ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE"; + ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER"; + ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE"; + ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED"; + ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE"; + ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE"; + ERROR2[ERROR2["USER"] = 24] = "USER"; + })(ERROR = 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]; } + }); + var FINISH; + (function(FINISH2) { + FINISH2[FINISH2["SAFE"] = 0] = "SAFE"; + FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB"; + FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE"; + })(FINISH = exports2.FINISH || (exports2.FINISH = {})); + exports2.ALPHA = []; + for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) { + exports2.ALPHA.push(String.fromCharCode(i)); + exports2.ALPHA.push(String.fromCharCode(i + 32)); + } + exports2.NUM_MAP = { + 0: 0, + 1: 1, + 2: 2, + 3: 3, + 4: 4, + 5: 5, + 6: 6, + 7: 7, + 8: 8, + 9: 9 }; - Multipart.prototype.end = function() { - const self2 = this; - if (self2.parser.writable) { - self2.parser.end(); - } else if (!self2._boy._done) { - process.nextTick(function() { - self2._boy._done = true; - self2._boy.emit("finish"); - }); - } + 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 }; - function skipPart(part) { - part.resume(); + 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); } - function FileStream(opts) { - Readable.call(this, opts); - this.bytesRead = 0; - this.truncated = false; + 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); + } } - inherits(FileStream, Readable); - FileStream.prototype._read = function(n) { + 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 }; - module2.exports = Multipart; } }); -// node_modules/@fastify/busboy/lib/utils/Decoder.js -var require_Decoder = __commonJS({ - "node_modules/@fastify/busboy/lib/utils/Decoder.js"(exports2, module2) { +// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js +var require_llhttp_wasm2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) { "use strict"; - var RE_PLUS = /\+/g; - var HEX = [ - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0 - ]; - function Decoder() { - this.buffer = void 0; + var { Buffer: Buffer2 } = require("node:buffer"); + module2.exports = Buffer2.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVuaWVudF9oZWFkZXJzACEhbGxodHRwX3NldF9sZW5pZW50X2NodW5rZWRfbGVuZ3RoACIdbGxodHRwX3NldF9sZW5pZW50X2tlZXBfYWxpdmUAIyRsbGh0dHBfc2V0X2xlbmllbnRfdHJhbnNmZXJfZW5jb2RpbmcAJBhsbGh0dHBfbWVzc2FnZV9uZWVkc19lb2YALgkXAQBBAQsRAQIDBAUKBgcrLSwqKSglJyYK07MCLBYAQYjQACgCAARAAAtBiNAAQQE2AgALFAAgABAwIAAgAjYCOCAAIAE6ACgLFAAgACAALwEyIAAtAC4gABAvEAALHgEBf0HAABAyIgEQMCABQYAINgI4IAEgADoAKCABC48MAQd/AkAgAEUNACAAQQhrIgEgAEEEaygCACIAQXhxIgRqIQUCQCAAQQFxDQAgAEEDcUUNASABIAEoAgAiAGsiAUGc0AAoAgBJDQEgACAEaiEEAkACQEGg0AAoAgAgAUcEQCAAQf8BTQRAIABBA3YhAyABKAIIIgAgASgCDCICRgRAQYzQAEGM0AAoAgBBfiADd3E2AgAMBQsgAiAANgIIIAAgAjYCDAwECyABKAIYIQYgASABKAIMIgBHBEAgACABKAIIIgI2AgggAiAANgIMDAMLIAFBFGoiAygCACICRQRAIAEoAhAiAkUNAiABQRBqIQMLA0AgAyEHIAIiAEEUaiIDKAIAIgINACAAQRBqIQMgACgCECICDQALIAdBADYCAAwCCyAFKAIEIgBBA3FBA0cNAiAFIABBfnE2AgRBlNAAIAQ2AgAgBSAENgIAIAEgBEEBcjYCBAwDC0EAIQALIAZFDQACQCABKAIcIgJBAnRBvNIAaiIDKAIAIAFGBEAgAyAANgIAIAANAUGQ0ABBkNAAKAIAQX4gAndxNgIADAILIAZBEEEUIAYoAhAgAUYbaiAANgIAIABFDQELIAAgBjYCGCABKAIQIgIEQCAAIAI2AhAgAiAANgIYCyABQRRqKAIAIgJFDQAgAEEUaiACNgIAIAIgADYCGAsgASAFTw0AIAUoAgQiAEEBcUUNAAJAAkACQAJAIABBAnFFBEBBpNAAKAIAIAVGBEBBpNAAIAE2AgBBmNAAQZjQACgCACAEaiIANgIAIAEgAEEBcjYCBCABQaDQACgCAEcNBkGU0ABBADYCAEGg0ABBADYCAAwGC0Gg0AAoAgAgBUYEQEGg0AAgATYCAEGU0ABBlNAAKAIAIARqIgA2AgAgASAAQQFyNgIEIAAgAWogADYCAAwGCyAAQXhxIARqIQQgAEH/AU0EQCAAQQN2IQMgBSgCCCIAIAUoAgwiAkYEQEGM0ABBjNAAKAIAQX4gA3dxNgIADAULIAIgADYCCCAAIAI2AgwMBAsgBSgCGCEGIAUgBSgCDCIARwRAQZzQACgCABogACAFKAIIIgI2AgggAiAANgIMDAMLIAVBFGoiAygCACICRQRAIAUoAhAiAkUNAiAFQRBqIQMLA0AgAyEHIAIiAEEUaiIDKAIAIgINACAAQRBqIQMgACgCECICDQALIAdBADYCAAwCCyAFIABBfnE2AgQgASAEaiAENgIAIAEgBEEBcjYCBAwDC0EAIQALIAZFDQACQCAFKAIcIgJBAnRBvNIAaiIDKAIAIAVGBEAgAyAANgIAIAANAUGQ0ABBkNAAKAIAQX4gAndxNgIADAILIAZBEEEUIAYoAhAgBUYbaiAANgIAIABFDQELIAAgBjYCGCAFKAIQIgIEQCAAIAI2AhAgAiAANgIYCyAFQRRqKAIAIgJFDQAgAEEUaiACNgIAIAIgADYCGAsgASAEaiAENgIAIAEgBEEBcjYCBCABQaDQACgCAEcNAEGU0AAgBDYCAAwBCyAEQf8BTQRAIARBeHFBtNAAaiEAAn9BjNAAKAIAIgJBASAEQQN2dCIDcUUEQEGM0AAgAiADcjYCACAADAELIAAoAggLIgIgATYCDCAAIAE2AgggASAANgIMIAEgAjYCCAwBC0EfIQIgBEH///8HTQRAIARBJiAEQQh2ZyIAa3ZBAXEgAEEBdGtBPmohAgsgASACNgIcIAFCADcCECACQQJ0QbzSAGohAAJAQZDQACgCACIDQQEgAnQiB3FFBEAgACABNgIAQZDQACADIAdyNgIAIAEgADYCGCABIAE2AgggASABNgIMDAELIARBGSACQQF2a0EAIAJBH0cbdCECIAAoAgAhAAJAA0AgACIDKAIEQXhxIARGDQEgAkEddiEAIAJBAXQhAiADIABBBHFqQRBqIgcoAgAiAA0ACyAHIAE2AgAgASADNgIYIAEgATYCDCABIAE2AggMAQsgAygCCCIAIAE2AgwgAyABNgIIIAFBADYCGCABIAM2AgwgASAANgIIC0Gs0ABBrNAAKAIAQQFrIgBBfyAAGzYCAAsLBwAgAC0AKAsHACAALQAqCwcAIAAtACsLBwAgAC0AKQsHACAALwEyCwcAIAAtAC4LQAEEfyAAKAIYIQEgAC0ALSECIAAtACghAyAAKAI4IQQgABAwIAAgBDYCOCAAIAM6ACggACACOgAtIAAgATYCGAu74gECB38DfiABIAJqIQQCQCAAIgIoAgwiAA0AIAIoAgQEQCACIAE2AgQLIwBBEGsiCCQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAIoAhwiA0EBaw7dAdoBAdkBAgMEBQYHCAkKCwwNDtgBDxDXARES1gETFBUWFxgZGhvgAd8BHB0e1QEfICEiIyQl1AEmJygpKiss0wHSAS0u0QHQAS8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRtsBR0hJSs8BzgFLzQFMzAFNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBywHKAbgByQG5AcgBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUBxgEA3AELQQAMxgELQQ4MxQELQQ0MxAELQQ8MwwELQRAMwgELQRMMwQELQRQMwAELQRUMvwELQRYMvgELQRgMvQELQRkMvAELQRoMuwELQRsMugELQRwMuQELQR0MuAELQQgMtwELQR4MtgELQSAMtQELQR8MtAELQQcMswELQSEMsgELQSIMsQELQSMMsAELQSQMrwELQRIMrgELQREMrQELQSUMrAELQSYMqwELQScMqgELQSgMqQELQcMBDKgBC0EqDKcBC0ErDKYBC0EsDKUBC0EtDKQBC0EuDKMBC0EvDKIBC0HEAQyhAQtBMAygAQtBNAyfAQtBDAyeAQtBMQydAQtBMgycAQtBMwybAQtBOQyaAQtBNQyZAQtBxQEMmAELQQsMlwELQToMlgELQTYMlQELQQoMlAELQTcMkwELQTgMkgELQTwMkQELQTsMkAELQT0MjwELQQkMjgELQSkMjQELQT4MjAELQT8MiwELQcAADIoBC0HBAAyJAQtBwgAMiAELQcMADIcBC0HEAAyGAQtBxQAMhQELQcYADIQBC0EXDIMBC0HHAAyCAQtByAAMgQELQckADIABC0HKAAx/C0HLAAx+C0HNAAx9C0HMAAx8C0HOAAx7C0HPAAx6C0HQAAx5C0HRAAx4C0HSAAx3C0HTAAx2C0HUAAx1C0HWAAx0C0HVAAxzC0EGDHILQdcADHELQQUMcAtB2AAMbwtBBAxuC0HZAAxtC0HaAAxsC0HbAAxrC0HcAAxqC0EDDGkLQd0ADGgLQd4ADGcLQd8ADGYLQeEADGULQeAADGQLQeIADGMLQeMADGILQQIMYQtB5AAMYAtB5QAMXwtB5gAMXgtB5wAMXQtB6AAMXAtB6QAMWwtB6gAMWgtB6wAMWQtB7AAMWAtB7QAMVwtB7gAMVgtB7wAMVQtB8AAMVAtB8QAMUwtB8gAMUgtB8wAMUQtB9AAMUAtB9QAMTwtB9gAMTgtB9wAMTQtB+AAMTAtB+QAMSwtB+gAMSgtB+wAMSQtB/AAMSAtB/QAMRwtB/gAMRgtB/wAMRQtBgAEMRAtBgQEMQwtBggEMQgtBgwEMQQtBhAEMQAtBhQEMPwtBhgEMPgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+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/@actions/github/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +var require_llhttp_simd_wasm2 = __commonJS({ + "node_modules/@actions/github/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/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADDsYBAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHyAhIyUmKCorLC8wMTIzNDU2Nzk6Ozw9lANAQkRFRklLTk9QUVJTVFVWWFpbXF1eX2BhYmNkZWZnaGpsb3Bxc3V2eHl6e3x/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAccByAHJAcsBzAHNAc4BzwGKA4kDiAOHA4QDgwOAA/sC+gL5AvgC9wL0AvMC8gLLAsECsALZAQsgASAERw3wAkHdASEDDLMDCyABIARHDcgBQcMBIQMMsgMLIAEgBEcNe0H3ACEDDLEDCyABIARHDXBB7wAhAwywAwsgASAERw1pQeoAIQMMrwMLIAEgBEcNZUHoACEDDK4DCyABIARHDWJB5gAhAwytAwsgASAERw0aQRghAwysAwsgASAERw0VQRIhAwyrAwsgASAERw1CQcUAIQMMqgMLIAEgBEcNNEE/IQMMqQMLIAEgBEcNMkE8IQMMqAMLIAEgBEcNK0ExIQMMpwMLIAItAC5BAUYNnwMMwQILQQAhAAJAAkACQCACLQAqRQ0AIAItACtFDQAgAi8BMCIDQQJxRQ0BDAILIAIvATAiA0EBcUUNAQtBASEAIAItAChBAUYNACACLwEyIgVB5ABrQeQASQ0AIAVBzAFGDQAgBUGwAkYNACADQcAAcQ0AQQAhACADQYgEcUGABEYNACADQShxQQBHIQALIAJBADsBMCACQQA6AC8gAEUN3wIgAkIANwMgDOACC0EAIQACQCACKAI4IgNFDQAgAygCLCIDRQ0AIAIgAxEAACEACyAARQ3MASAAQRVHDd0CIAJBBDYCHCACIAE2AhQgAkGwGDYCECACQRU2AgxBACEDDKQDCyABIARGBEBBBiEDDKQDCyABQQFqIQFBACEAAkAgAigCOCIDRQ0AIAMoAlQiA0UNACACIAMRAAAhAAsgAA3ZAgwcCyACQgA3AyBBEiEDDIkDCyABIARHDRZBHSEDDKEDCyABIARHBEAgAUEBaiEBQRAhAwyIAwtBByEDDKADCyACIAIpAyAiCiAEIAFrrSILfSIMQgAgCiAMWhs3AyAgCiALWA3UAkEIIQMMnwMLIAEgBEcEQCACQQk2AgggAiABNgIEQRQhAwyGAwtBCSEDDJ4DCyACKQMgQgBSDccBIAIgAi8BMEGAAXI7ATAMQgsgASAERw0/QdAAIQMMnAMLIAEgBEYEQEELIQMMnAMLIAFBAWohAUEAIQACQCACKAI4IgNFDQAgAygCUCIDRQ0AIAIgAxEAACEACyAADc8CDMYBC0EAIQACQCACKAI4IgNFDQAgAygCSCIDRQ0AIAIgAxEAACEACyAARQ3GASAAQRVHDc0CIAJBCzYCHCACIAE2AhQgAkGCGTYCECACQRU2AgxBACEDDJoDC0EAIQACQCACKAI4IgNFDQAgAygCSCIDRQ0AIAIgAxEAACEACyAARQ0MIABBFUcNygIgAkEaNgIcIAIgATYCFCACQYIZNgIQIAJBFTYCDEEAIQMMmQMLQQAhAAJAIAIoAjgiA0UNACADKAJMIgNFDQAgAiADEQAAIQALIABFDcQBIABBFUcNxwIgAkELNgIcIAIgATYCFCACQZEXNgIQIAJBFTYCDEEAIQMMmAMLIAEgBEYEQEEPIQMMmAMLIAEtAAAiAEE7Rg0HIABBDUcNxAIgAUEBaiEBDMMBC0EAIQACQCACKAI4IgNFDQAgAygCTCIDRQ0AIAIgAxEAACEACyAARQ3DASAAQRVHDcICIAJBDzYCHCACIAE2AhQgAkGRFzYCECACQRU2AgxBACEDDJYDCwNAIAEtAABB8DVqLQAAIgBBAUcEQCAAQQJHDcECIAIoAgQhAEEAIQMgAkEANgIEIAIgACABQQFqIgEQLSIADcICDMUBCyAEIAFBAWoiAUcNAAtBEiEDDJUDC0EAIQACQCACKAI4IgNFDQAgAygCTCIDRQ0AIAIgAxEAACEACyAARQ3FASAAQRVHDb0CIAJBGzYCHCACIAE2AhQgAkGRFzYCECACQRU2AgxBACEDDJQDCyABIARGBEBBFiEDDJQDCyACQQo2AgggAiABNgIEQQAhAAJAIAIoAjgiA0UNACADKAJIIgNFDQAgAiADEQAAIQALIABFDcIBIABBFUcNuQIgAkEVNgIcIAIgATYCFCACQYIZNgIQIAJBFTYCDEEAIQMMkwMLIAEgBEcEQANAIAEtAABB8DdqLQAAIgBBAkcEQAJAIABBAWsOBMQCvQIAvgK9AgsgAUEBaiEBQQghAwz8AgsgBCABQQFqIgFHDQALQRUhAwyTAwtBFSEDDJIDCwNAIAEtAABB8DlqLQAAIgBBAkcEQCAAQQFrDgTFArcCwwK4ArcCCyAEIAFBAWoiAUcNAAtBGCEDDJEDCyABIARHBEAgAkELNgIIIAIgATYCBEEHIQMM+AILQRkhAwyQAwsgAUEBaiEBDAILIAEgBEYEQEEaIQMMjwMLAkAgAS0AAEENaw4UtQG/Ab8BvwG/Ab8BvwG/Ab8BvwG/Ab8BvwG/Ab8BvwG/Ab8BvwEAvwELQQAhAyACQQA2AhwgAkGvCzYCECACQQI2AgwgAiABQQFqNgIUDI4DCyABIARGBEBBGyEDDI4DCyABLQAAIgBBO0cEQCAAQQ1HDbECIAFBAWohAQy6AQsgAUEBaiEBC0EiIQMM8wILIAEgBEYEQEEcIQMMjAMLQgAhCgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAS0AAEEwaw43wQLAAgABAgMEBQYH0AHQAdAB0AHQAdAB0AEICQoLDA3QAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdABDg8QERIT0AELQgIhCgzAAgtCAyEKDL8CC0IEIQoMvgILQgUhCgy9AgtCBiEKDLwCC0IHIQoMuwILQgghCgy6AgtCCSEKDLkCC0IKIQoMuAILQgshCgy3AgtCDCEKDLYCC0INIQoMtQILQg4hCgy0AgtCDyEKDLMCC0IKIQoMsgILQgshCgyxAgtCDCEKDLACC0INIQoMrwILQg4hCgyuAgtCDyEKDK0CC0IAIQoCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEtAABBMGsON8ACvwIAAQIDBAUGB74CvgK+Ar4CvgK+Ar4CCAkKCwwNvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ag4PEBESE74CC0ICIQoMvwILQgMhCgy+AgtCBCEKDL0CC0IFIQoMvAILQgYhCgy7AgtCByEKDLoCC0IIIQoMuQILQgkhCgy4AgtCCiEKDLcCC0ILIQoMtgILQgwhCgy1AgtCDSEKDLQCC0IOIQoMswILQg8hCgyyAgtCCiEKDLECC0ILIQoMsAILQgwhCgyvAgtCDSEKDK4CC0IOIQoMrQILQg8hCgysAgsgAiACKQMgIgogBCABa60iC30iDEIAIAogDFobNwMgIAogC1gNpwJBHyEDDIkDCyABIARHBEAgAkEJNgIIIAIgATYCBEElIQMM8AILQSAhAwyIAwtBASEFIAIvATAiA0EIcUUEQCACKQMgQgBSIQULAkAgAi0ALgRAQQEhACACLQApQQVGDQEgA0HAAHFFIAVxRQ0BC0EAIQAgA0HAAHENAEECIQAgA0EIcQ0AIANBgARxBEACQCACLQAoQQFHDQAgAi0ALUEKcQ0AQQUhAAwCC0EEIQAMAQsgA0EgcUUEQAJAIAItAChBAUYNACACLwEyIgBB5ABrQeQASQ0AIABBzAFGDQAgAEGwAkYNAEEEIQAgA0EocUUNAiADQYgEcUGABEYNAgtBACEADAELQQBBAyACKQMgUBshAAsgAEEBaw4FvgIAsAEBpAKhAgtBESEDDO0CCyACQQE6AC8MhAMLIAEgBEcNnQJBJCEDDIQDCyABIARHDRxBxgAhAwyDAwtBACEAAkAgAigCOCIDRQ0AIAMoAkQiA0UNACACIAMRAAAhAAsgAEUNJyAAQRVHDZgCIAJB0AA2AhwgAiABNgIUIAJBkRg2AhAgAkEVNgIMQQAhAwyCAwsgASAERgRAQSghAwyCAwtBACEDIAJBADYCBCACQQw2AgggAiABIAEQKiIARQ2UAiACQSc2AhwgAiABNgIUIAIgADYCDAyBAwsgASAERgRAQSkhAwyBAwsgAS0AACIAQSBGDRMgAEEJRw2VAiABQQFqIQEMFAsgASAERwRAIAFBAWohAQwWC0EqIQMM/wILIAEgBEYEQEErIQMM/wILIAEtAAAiAEEJRyAAQSBHcQ2QAiACLQAsQQhHDd0CIAJBADoALAzdAgsgASAERgRAQSwhAwz+AgsgAS0AAEEKRw2OAiABQQFqIQEMsAELIAEgBEcNigJBLyEDDPwCCwNAIAEtAAAiAEEgRwRAIABBCmsOBIQCiAKIAoQChgILIAQgAUEBaiIBRw0AC0ExIQMM+wILQTIhAyABIARGDfoCIAIoAgAiACAEIAFraiEHIAEgAGtBA2ohBgJAA0AgAEHwO2otAAAgAS0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQEgAEEDRgRAQQYhAQziAgsgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAc2AgAM+wILIAJBADYCAAyGAgtBMyEDIAQgASIARg35AiAEIAFrIAIoAgAiAWohByAAIAFrQQhqIQYCQANAIAFB9DtqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBCEYEQEEFIQEM4QILIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADPoCCyACQQA2AgAgACEBDIUCC0E0IQMgBCABIgBGDfgCIAQgAWsgAigCACIBaiEHIAAgAWtBBWohBgJAA0AgAUHQwgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBBUYEQEEHIQEM4AILIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADPkCCyACQQA2AgAgACEBDIQCCyABIARHBEADQCABLQAAQYA+ai0AACIAQQFHBEAgAEECRg0JDIECCyAEIAFBAWoiAUcNAAtBMCEDDPgCC0EwIQMM9wILIAEgBEcEQANAIAEtAAAiAEEgRwRAIABBCmsOBP8B/gH+Af8B/gELIAQgAUEBaiIBRw0AC0E4IQMM9wILQTghAwz2AgsDQCABLQAAIgBBIEcgAEEJR3EN9gEgBCABQQFqIgFHDQALQTwhAwz1AgsDQCABLQAAIgBBIEcEQAJAIABBCmsOBPkBBAT5AQALIABBLEYN9QEMAwsgBCABQQFqIgFHDQALQT8hAwz0AgtBwAAhAyABIARGDfMCIAIoAgAiACAEIAFraiEFIAEgAGtBBmohBgJAA0AgAEGAQGstAAAgAS0AAEEgckcNASAAQQZGDdsCIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADPQCCyACQQA2AgALQTYhAwzZAgsgASAERgRAQcEAIQMM8gILIAJBDDYCCCACIAE2AgQgAi0ALEEBaw4E+wHuAewB6wHUAgsgAUEBaiEBDPoBCyABIARHBEADQAJAIAEtAAAiAEEgciAAIABBwQBrQf8BcUEaSRtB/wFxIgBBCUYNACAAQSBGDQACQAJAAkACQCAAQeMAaw4TAAMDAwMDAwMBAwMDAwMDAwMDAgMLIAFBAWohAUExIQMM3AILIAFBAWohAUEyIQMM2wILIAFBAWohAUEzIQMM2gILDP4BCyAEIAFBAWoiAUcNAAtBNSEDDPACC0E1IQMM7wILIAEgBEcEQANAIAEtAABBgDxqLQAAQQFHDfcBIAQgAUEBaiIBRw0AC0E9IQMM7wILQT0hAwzuAgtBACEAAkAgAigCOCIDRQ0AIAMoAkAiA0UNACACIAMRAAAhAAsgAEUNASAAQRVHDeYBIAJBwgA2AhwgAiABNgIUIAJB4xg2AhAgAkEVNgIMQQAhAwztAgsgAUEBaiEBC0E8IQMM0gILIAEgBEYEQEHCACEDDOsCCwJAA0ACQCABLQAAQQlrDhgAAswCzALRAswCzALMAswCzALMAswCzALMAswCzALMAswCzALMAswCzALMAgDMAgsgBCABQQFqIgFHDQALQcIAIQMM6wILIAFBAWohASACLQAtQQFxRQ3+AQtBLCEDDNACCyABIARHDd4BQcQAIQMM6AILA0AgAS0AAEGQwABqLQAAQQFHDZwBIAQgAUEBaiIBRw0AC0HFACEDDOcCCyABLQAAIgBBIEYN/gEgAEE6Rw3AAiACKAIEIQBBACEDIAJBADYCBCACIAAgARApIgAN3gEM3QELQccAIQMgBCABIgBGDeUCIAQgAWsgAigCACIBaiEHIAAgAWtBBWohBgNAIAFBkMIAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNvwIgAUEFRg3CAiABQQFqIQEgBCAAQQFqIgBHDQALIAIgBzYCAAzlAgtByAAhAyAEIAEiAEYN5AIgBCABayACKAIAIgFqIQcgACABa0EJaiEGA0AgAUGWwgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw2+AkECIAFBCUYNwgIaIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADOQCCyABIARGBEBByQAhAwzkAgsCQAJAIAEtAAAiAEEgciAAIABBwQBrQf8BcUEaSRtB/wFxQe4Aaw4HAL8CvwK/Ar8CvwIBvwILIAFBAWohAUE+IQMMywILIAFBAWohAUE/IQMMygILQcoAIQMgBCABIgBGDeICIAQgAWsgAigCACIBaiEGIAAgAWtBAWohBwNAIAFBoMIAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNvAIgAUEBRg2+AiABQQFqIQEgBCAAQQFqIgBHDQALIAIgBjYCAAziAgtBywAhAyAEIAEiAEYN4QIgBCABayACKAIAIgFqIQcgACABa0EOaiEGA0AgAUGiwgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw27AiABQQ5GDb4CIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADOECC0HMACEDIAQgASIARg3gAiAEIAFrIAIoAgAiAWohByAAIAFrQQ9qIQYDQCABQcDCAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDboCQQMgAUEPRg2+AhogAUEBaiEBIAQgAEEBaiIARw0ACyACIAc2AgAM4AILQc0AIQMgBCABIgBGDd8CIAQgAWsgAigCACIBaiEHIAAgAWtBBWohBgNAIAFB0MIAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNuQJBBCABQQVGDb0CGiABQQFqIQEgBCAAQQFqIgBHDQALIAIgBzYCAAzfAgsgASAERgRAQc4AIQMM3wILAkACQAJAAkAgAS0AACIAQSByIAAgAEHBAGtB/wFxQRpJG0H/AXFB4wBrDhMAvAK8ArwCvAK8ArwCvAK8ArwCvAK8ArwCAbwCvAK8AgIDvAILIAFBAWohAUHBACEDDMgCCyABQQFqIQFBwgAhAwzHAgsgAUEBaiEBQcMAIQMMxgILIAFBAWohAUHEACEDDMUCCyABIARHBEAgAkENNgIIIAIgATYCBEHFACEDDMUCC0HPACEDDN0CCwJAAkAgAS0AAEEKaw4EAZABkAEAkAELIAFBAWohAQtBKCEDDMMCCyABIARGBEBB0QAhAwzcAgsgAS0AAEEgRw0AIAFBAWohASACLQAtQQFxRQ3QAQtBFyEDDMECCyABIARHDcsBQdIAIQMM2QILQdMAIQMgASAERg3YAiACKAIAIgAgBCABa2ohBiABIABrQQFqIQUDQCABLQAAIABB1sIAai0AAEcNxwEgAEEBRg3KASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBjYCAAzYAgsgASAERgRAQdUAIQMM2AILIAEtAABBCkcNwgEgAUEBaiEBDMoBCyABIARGBEBB1gAhAwzXAgsCQAJAIAEtAABBCmsOBADDAcMBAcMBCyABQQFqIQEMygELIAFBAWohAUHKACEDDL0CC0EAIQACQCACKAI4IgNFDQAgAygCPCIDRQ0AIAIgAxEAACEACyAADb8BQc0AIQMMvAILIAItAClBIkYNzwIMiQELIAQgASIFRgRAQdsAIQMM1AILQQAhAEEBIQFBASEGQQAhAwJAAn8CQAJAAkACQAJAAkACQCAFLQAAQTBrDgrFAcQBAAECAwQFBgjDAQtBAgwGC0EDDAULQQQMBAtBBQwDC0EGDAILQQcMAQtBCAshA0EAIQFBACEGDL0BC0EJIQNBASEAQQAhAUEAIQYMvAELIAEgBEYEQEHdACEDDNMCCyABLQAAQS5HDbgBIAFBAWohAQyIAQsgASAERw22AUHfACEDDNECCyABIARHBEAgAkEONgIIIAIgATYCBEHQACEDDLgCC0HgACEDDNACC0HhACEDIAEgBEYNzwIgAigCACIAIAQgAWtqIQUgASAAa0EDaiEGA0AgAS0AACAAQeLCAGotAABHDbEBIABBA0YNswEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMzwILQeIAIQMgASAERg3OAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYDQCABLQAAIABB5sIAai0AAEcNsAEgAEECRg2vASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAzOAgtB4wAhAyABIARGDc0CIAIoAgAiACAEIAFraiEFIAEgAGtBA2ohBgNAIAEtAAAgAEHpwgBqLQAARw2vASAAQQNGDa0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADM0CCyABIARGBEBB5QAhAwzNAgsgAUEBaiEBQQAhAAJAIAIoAjgiA0UNACADKAIwIgNFDQAgAiADEQAAIQALIAANqgFB1gAhAwyzAgsgASAERwRAA0AgAS0AACIAQSBHBEACQAJAAkAgAEHIAGsOCwABswGzAbMBswGzAbMBswGzAQKzAQsgAUEBaiEBQdIAIQMMtwILIAFBAWohAUHTACEDDLYCCyABQQFqIQFB1AAhAwy1AgsgBCABQQFqIgFHDQALQeQAIQMMzAILQeQAIQMMywILA0AgAS0AAEHwwgBqLQAAIgBBAUcEQCAAQQJrDgOnAaYBpQGkAQsgBCABQQFqIgFHDQALQeYAIQMMygILIAFBAWogASAERw0CGkHnACEDDMkCCwNAIAEtAABB8MQAai0AACIAQQFHBEACQCAAQQJrDgSiAaEBoAEAnwELQdcAIQMMsQILIAQgAUEBaiIBRw0AC0HoACEDDMgCCyABIARGBEBB6QAhAwzIAgsCQCABLQAAIgBBCmsOGrcBmwGbAbQBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBpAGbAZsBAJkBCyABQQFqCyEBQQYhAwytAgsDQCABLQAAQfDGAGotAABBAUcNfSAEIAFBAWoiAUcNAAtB6gAhAwzFAgsgAUEBaiABIARHDQIaQesAIQMMxAILIAEgBEYEQEHsACEDDMQCCyABQQFqDAELIAEgBEYEQEHtACEDDMMCCyABQQFqCyEBQQQhAwyoAgsgASAERgRAQe4AIQMMwQILAkACQAJAIAEtAABB8MgAai0AAEEBaw4HkAGPAY4BAHwBAo0BCyABQQFqIQEMCwsgAUEBagyTAQtBACEDIAJBADYCHCACQZsSNgIQIAJBBzYCDCACIAFBAWo2AhQMwAILAkADQCABLQAAQfDIAGotAAAiAEEERwRAAkACQCAAQQFrDgeUAZMBkgGNAQAEAY0BC0HaACEDDKoCCyABQQFqIQFB3AAhAwypAgsgBCABQQFqIgFHDQALQe8AIQMMwAILIAFBAWoMkQELIAQgASIARgRAQfAAIQMMvwILIAAtAABBL0cNASAAQQFqIQEMBwsgBCABIgBGBEBB8QAhAwy+AgsgAC0AACIBQS9GBEAgAEEBaiEBQd0AIQMMpQILIAFBCmsiA0EWSw0AIAAhAUEBIAN0QYmAgAJxDfkBC0EAIQMgAkEANgIcIAIgADYCFCACQYwcNgIQIAJBBzYCDAy8AgsgASAERwRAIAFBAWohAUHeACEDDKMCC0HyACEDDLsCCyABIARGBEBB9AAhAwy7AgsCQCABLQAAQfDMAGotAABBAWsOA/cBcwCCAQtB4QAhAwyhAgsgASAERwRAA0AgAS0AAEHwygBqLQAAIgBBA0cEQAJAIABBAWsOAvkBAIUBC0HfACEDDKMCCyAEIAFBAWoiAUcNAAtB8wAhAwy6AgtB8wAhAwy5AgsgASAERwRAIAJBDzYCCCACIAE2AgRB4AAhAwygAgtB9QAhAwy4AgsgASAERgRAQfYAIQMMuAILIAJBDzYCCCACIAE2AgQLQQMhAwydAgsDQCABLQAAQSBHDY4CIAQgAUEBaiIBRw0AC0H3ACEDDLUCCyABIARGBEBB+AAhAwy1AgsgAS0AAEEgRw16IAFBAWohAQxbC0EAIQACQCACKAI4IgNFDQAgAygCOCIDRQ0AIAIgAxEAACEACyAADXgMgAILIAEgBEYEQEH6ACEDDLMCCyABLQAAQcwARw10IAFBAWohAUETDHYLQfsAIQMgASAERg2xAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYDQCABLQAAIABB8M4Aai0AAEcNcyAAQQVGDXUgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMsQILIAEgBEYEQEH8ACEDDLECCwJAAkAgAS0AAEHDAGsODAB0dHR0dHR0dHR0AXQLIAFBAWohAUHmACEDDJgCCyABQQFqIQFB5wAhAwyXAgtB/QAhAyABIARGDa8CIAIoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQe3PAGotAABHDXIgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADLACCyACQQA2AgAgBkEBaiEBQRAMcwtB/gAhAyABIARGDa4CIAIoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQfbOAGotAABHDXEgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADK8CCyACQQA2AgAgBkEBaiEBQRYMcgtB/wAhAyABIARGDa0CIAIoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQfzOAGotAABHDXAgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADK4CCyACQQA2AgAgBkEBaiEBQQUMcQsgASAERgRAQYABIQMMrQILIAEtAABB2QBHDW4gAUEBaiEBQQgMcAsgASAERgRAQYEBIQMMrAILAkACQCABLQAAQc4Aaw4DAG8BbwsgAUEBaiEBQesAIQMMkwILIAFBAWohAUHsACEDDJICCyABIARGBEBBggEhAwyrAgsCQAJAIAEtAABByABrDggAbm5ubm5uAW4LIAFBAWohAUHqACEDDJICCyABQQFqIQFB7QAhAwyRAgtBgwEhAyABIARGDakCIAIoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQYDPAGotAABHDWwgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADKoCCyACQQA2AgAgBkEBaiEBQQAMbQtBhAEhAyABIARGDagCIAIoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQYPPAGotAABHDWsgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADKkCCyACQQA2AgAgBkEBaiEBQSMMbAsgASAERgRAQYUBIQMMqAILAkACQCABLQAAQcwAaw4IAGtra2trawFrCyABQQFqIQFB7wAhAwyPAgsgAUEBaiEBQfAAIQMMjgILIAEgBEYEQEGGASEDDKcCCyABLQAAQcUARw1oIAFBAWohAQxgC0GHASEDIAEgBEYNpQIgAigCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBiM8Aai0AAEcNaCAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMpgILIAJBADYCACAGQQFqIQFBLQxpC0GIASEDIAEgBEYNpAIgAigCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABB0M8Aai0AAEcNZyAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMpQILIAJBADYCACAGQQFqIQFBKQxoCyABIARGBEBBiQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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AAADAEGUCAsFBAAAAAUAQaQICwkGAAAABwAAAAgAQdwIC4otSW52YWxpZCBjaGFyIGluIHVybCBxdWVyeQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2JvZHkAQ29udGVudC1MZW5ndGggb3ZlcmZsb3cAQ2h1bmsgc2l6ZSBvdmVyZmxvdwBSZXNwb25zZSBvdmVyZmxvdwBJbnZhbGlkIG1ldGhvZCBmb3IgSFRUUC94LnggcmVxdWVzdABJbnZhbGlkIG1ldGhvZCBmb3IgUlRTUC94LnggcmVxdWVzdABFeHBlY3RlZCBTT1VSQ0UgbWV0aG9kIGZvciBJQ0UveC54IHJlcXVlc3QASW52YWxpZCBjaGFyIGluIHVybCBmcmFnbWVudCBzdGFydABFeHBlY3RlZCBkb3QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9zdGF0dXMASW52YWxpZCByZXNwb25zZSBzdGF0dXMASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucwBVc2VyIGNhbGxiYWNrIGVycm9yAGBvbl9yZXNldGAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2hlYWRlcmAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfYmVnaW5gIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwBB+TULAQEAQZA2C+ABAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQf03CwEBAEGROAteAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgBB/TkLAQEAQZE6C14CAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEHwOwsNbG9zZWVlcC1hbGl2ZQBBiTwLAQEAQaA8C+ABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQYk+CwEBAEGgPgvnAQEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZABBsMAAC18BAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBBkMIACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQcDCAAstcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQoNClNNDQoNClRUUC9DRS9UU1AvAEH5wgALBQECAAEDAEGQwwAL4AEEAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cQACwUBAgABAwBBkMUAC+ABBAEBBQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQfnGAAsEAQAAAQBBkccAC98BAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+sgACwQBAAACAEGQyQALXwMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAEH6ygALBAEAAAEAQZDLAAsBAQBBqssAC0ECAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB+swACwQBAAABAEGQzQALAQEAQZrNAAsGAgAAAAACAEGxzQALOgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQfDOAAuWAU5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==", "base64"); + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/web/fetch/constants.js +var require_constants8 = __commonJS({ + "node_modules/@actions/github/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/@actions/github/node_modules/undici/lib/web/fetch/global.js +var require_global3 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/web/fetch/global.js"(exports2, module2) { + "use strict"; + var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1"); + function getGlobalOrigin() { + return globalThis[globalOrigin]; } - Decoder.prototype.write = function(str2) { - str2 = str2.replace(RE_PLUS, " "); - let res = ""; - let i = 0; - let p = 0; - const len = str2.length; - for (; i < len; ++i) { - if (this.buffer !== void 0) { - if (!HEX[str2.charCodeAt(i)]) { - res += "%" + this.buffer; - this.buffer = void 0; - --i; - } else { - this.buffer += str2[i]; - ++p; - if (this.buffer.length === 2) { - res += String.fromCharCode(parseInt(this.buffer, 16)); - this.buffer = void 0; - } - } - } else if (str2[i] === "%") { - if (i > p) { - res += str2.substring(p, i); - p = i; - } - this.buffer = ""; - ++p; - } + function setGlobalOrigin(newOrigin) { + if (newOrigin === void 0) { + Object.defineProperty(globalThis, globalOrigin, { + value: void 0, + writable: true, + enumerable: false, + configurable: false + }); + return; } - if (p < len && this.buffer === void 0) { - res += str2.substring(p); + 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 res; - }; - Decoder.prototype.reset = function() { - this.buffer = void 0; + Object.defineProperty(globalThis, globalOrigin, { + value: parsedURL, + writable: true, + enumerable: false, + configurable: false + }); + } + module2.exports = { + getGlobalOrigin, + setGlobalOrigin }; - module2.exports = Decoder; } }); -// node_modules/@fastify/busboy/lib/types/urlencoded.js -var require_urlencoded = __commonJS({ - "node_modules/@fastify/busboy/lib/types/urlencoded.js"(exports2, module2) { +// node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js +var require_data_url2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js"(exports2, module2) { "use strict"; - var Decoder = require_Decoder(); - var decodeText = require_decodeText(); - var getLimit = require_getLimit(); - var RE_CHARSET = /^charset$/i; - UrlEncoded.detect = /^application\/x-www-form-urlencoded/i; - function UrlEncoded(boy, cfg) { - const limits = cfg.limits; - const parsedConType = cfg.parsedConType; - this.boy = boy; - this.fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024); - this.fieldNameSizeLimit = getLimit(limits, "fieldNameSize", 100); - this.fieldsLimit = getLimit(limits, "fields", Infinity); - let charset; - for (var i = 0, len = parsedConType.length; i < len; ++i) { - if (Array.isArray(parsedConType[i]) && RE_CHARSET.test(parsedConType[i][0])) { - charset = parsedConType[i][1].toLowerCase(); - break; + var assert = require("node:assert"); + var encoder = new TextEncoder(); + var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+\-.^_|~A-Za-z0-9]+$/; + var HTTP_WHITESPACE_REGEX = /[\u000A\u000D\u0009\u0020]/; + var ASCII_WHITESPACE_REPLACE_REGEX = /[\u0009\u000A\u000C\u000D\u0020]/g; + var HTTP_QUOTED_STRING_TOKENS = /^[\u0009\u0020-\u007E\u0080-\u00FF]+$/; + function dataURLProcessor(dataURL) { + assert(dataURL.protocol === "data:"); + let input = URLSerializer(dataURL, true); + input = input.slice(5); + const position = { position: 0 }; + let mimeType = collectASequenceOfCodePointsFast( + ",", + input, + position + ); + const mimeTypeLength = mimeType.length; + mimeType = removeASCIIWhitespace(mimeType, true, true); + if (position.position >= input.length) { + return "failure"; + } + position.position++; + const encodedBody = input.slice(mimeTypeLength + 1); + let body = stringPercentDecode(encodedBody); + if (/;(\u0020){0,}base64$/i.test(mimeType)) { + const stringBody = isomorphicDecode(body); + body = forgivingBase64(stringBody); + if (body === "failure") { + return "failure"; } + mimeType = mimeType.slice(0, -6); + mimeType = mimeType.replace(/(\u0020)+$/, ""); + mimeType = mimeType.slice(0, -1); } - if (charset === void 0) { - charset = cfg.defCharset || "utf8"; + if (mimeType.startsWith(";")) { + mimeType = "text/plain" + mimeType; } - this.decoder = new Decoder(); - this.charset = charset; - this._fields = 0; - this._state = "key"; - this._checkingBytes = true; - this._bytesKey = 0; - this._bytesVal = 0; - this._key = ""; - this._val = ""; - this._keyTrunc = false; - this._valTrunc = false; - this._hitLimit = false; + let mimeTypeRecord = parseMIMEType(mimeType); + if (mimeTypeRecord === "failure") { + mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII"); + } + return { mimeType: mimeTypeRecord, body }; } - UrlEncoded.prototype.write = function(data, cb) { - if (this._fields === this.fieldsLimit) { - if (!this.boy.hitFieldsLimit) { - this.boy.hitFieldsLimit = true; - this.boy.emit("fieldsLimit"); + function URLSerializer(url, excludeFragment = false) { + if (!excludeFragment) { + return url.href; + } + const href = url.href; + const hashLength = url.hash.length; + const serialized = hashLength === 0 ? href : href.substring(0, href.length - hashLength); + if (!hashLength && href.endsWith("#")) { + return serialized.slice(0, -1); + } + return serialized; + } + function collectASequenceOfCodePoints(condition, input, position) { + let result = ""; + while (position.position < input.length && condition(input[position.position])) { + result += input[position.position]; + position.position++; + } + return result; + } + function collectASequenceOfCodePointsFast(char, input, position) { + const idx = input.indexOf(char, position.position); + const start = position.position; + if (idx === -1) { + position.position = input.length; + return input.slice(start); + } + position.position = idx; + return input.slice(start, position.position); + } + function stringPercentDecode(input) { + const bytes = encoder.encode(input); + return percentDecode(bytes); + } + function isHexCharByte(byte) { + return byte >= 48 && byte <= 57 || byte >= 65 && byte <= 70 || byte >= 97 && byte <= 102; + } + function hexByteToNumber(byte) { + return ( + // 0-9 + byte >= 48 && byte <= 57 ? byte - 48 : (byte & 223) - 55 + ); + } + function 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 cb(); } - let idxeq; - let idxamp; - let i; - let p = 0; - const len = data.length; - while (p < len) { - if (this._state === "key") { - idxeq = idxamp = void 0; - for (i = p; i < len; ++i) { - if (!this._checkingBytes) { - ++p; - } - if (data[i] === 61) { - idxeq = i; - break; - } else if (data[i] === 38) { - idxamp = i; - break; - } - if (this._checkingBytes && this._bytesKey === this.fieldNameSizeLimit) { - this._hitLimit = true; - break; - } else if (this._checkingBytes) { - ++this._bytesKey; - } - } - if (idxeq !== void 0) { - if (idxeq > p) { - this._key += this.decoder.write(data.toString("binary", p, idxeq)); - } - this._state = "val"; - this._hitLimit = false; - this._checkingBytes = true; - this._val = ""; - this._bytesVal = 0; - this._valTrunc = false; - this.decoder.reset(); - p = idxeq + 1; - } else if (idxamp !== void 0) { - ++this._fields; - let key; - const keyTrunc = this._keyTrunc; - if (idxamp > p) { - key = this._key += this.decoder.write(data.toString("binary", p, idxamp)); - } else { - key = this._key; - } - this._hitLimit = false; - this._checkingBytes = true; - this._key = ""; - this._bytesKey = 0; - this._keyTrunc = false; - this.decoder.reset(); - if (key.length) { - this.boy.emit( - "field", - decodeText(key, "binary", this.charset), - "", - keyTrunc, - false - ); - } - p = idxamp + 1; - if (this._fields === this.fieldsLimit) { - return cb(); - } - } else if (this._hitLimit) { - if (i > p) { - this._key += this.decoder.write(data.toString("binary", p, i)); - } - p = i; - if ((this._bytesKey = this._key.length) === this.fieldNameSizeLimit) { - this._checkingBytes = false; - this._keyTrunc = true; - } - } else { - if (p < len) { - this._key += this.decoder.write(data.toString("binary", p)); - } - p = len; + return length === j ? output : output.subarray(0, j); + } + function parseMIMEType(input) { + input = removeHTTPWhitespace(input, true, true); + const position = { position: 0 }; + const type2 = collectASequenceOfCodePointsFast( + "/", + input, + position + ); + if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) { + 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 = type2.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 { - idxamp = void 0; - for (i = p; i < len; ++i) { - if (!this._checkingBytes) { - ++p; - } - if (data[i] === 38) { - idxamp = i; - break; - } - if (this._checkingBytes && this._bytesVal === this.fieldSizeLimit) { - this._hitLimit = true; - break; - } else if (this._checkingBytes) { - ++this._bytesVal; - } + parameterValue = collectASequenceOfCodePointsFast( + ";", + input, + position + ); + parameterValue = removeHTTPWhitespace(parameterValue, false, true); + if (parameterValue.length === 0) { + continue; } - if (idxamp !== void 0) { - ++this._fields; - if (idxamp > p) { - this._val += this.decoder.write(data.toString("binary", p, idxamp)); - } - this.boy.emit( - "field", - decodeText(this._key, "binary", this.charset), - decodeText(this._val, "binary", this.charset), - this._keyTrunc, - this._valTrunc - ); - this._state = "key"; - this._hitLimit = false; - this._checkingBytes = true; - this._key = ""; - this._bytesKey = 0; - this._keyTrunc = false; - this.decoder.reset(); - p = idxamp + 1; - if (this._fields === this.fieldsLimit) { - return cb(); - } - } else if (this._hitLimit) { - if (i > p) { - this._val += this.decoder.write(data.toString("binary", p, i)); - } - p = i; - if (this._val === "" && this.fieldSizeLimit === 0 || (this._bytesVal = this._val.length) === this.fieldSizeLimit) { - this._checkingBytes = false; - this._valTrunc = true; - } - } else { - if (p < len) { - this._val += this.decoder.write(data.toString("binary", p)); - } - p = len; + } + if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) { + mimeType.parameters.set(parameterName, parameterValue); + } + } + return mimeType; + } + function forgivingBase64(data) { + data = data.replace(ASCII_WHITESPACE_REPLACE_REGEX, ""); + let dataLength = data.length; + if (dataLength % 4 === 0) { + if (data.charCodeAt(dataLength - 1) === 61) { + --dataLength; + if (data.charCodeAt(dataLength - 1) === 61) { + --dataLength; } } } - cb(); - }; - UrlEncoded.prototype.end = function() { - if (this.boy._done) { - return; + if (dataLength % 4 === 1) { + return "failure"; } - if (this._state === "key" && this._key.length > 0) { - this.boy.emit( - "field", - decodeText(this._key, "binary", this.charset), - "", - this._keyTrunc, - false - ); - } else if (this._state === "val") { - this.boy.emit( - "field", - decodeText(this._key, "binary", this.charset), - decodeText(this._val, "binary", this.charset), - this._keyTrunc, - this._valTrunc + if (/[^+/0-9A-Za-z]/.test(data.length === dataLength ? data : data.substring(0, dataLength))) { + return "failure"; + } + const buffer = Buffer.from(data, "base64"); + return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength); + } + function collectAnHTTPQuotedString(input, position, extractValue) { + const positionStart = position.position; + let value = ""; + assert(input[position.position] === '"'); + position.position++; + while (true) { + value += collectASequenceOfCodePoints( + (char) => char !== '"' && char !== "\\", + input, + position ); + if (position.position >= input.length) { + break; + } + const quoteOrBackslash = input[position.position]; + position.position++; + if (quoteOrBackslash === "\\") { + if (position.position >= input.length) { + value += "\\"; + break; + } + value += input[position.position]; + position.position++; + } else { + assert(quoteOrBackslash === '"'); + break; + } } - this.boy._done = true; - this.boy.emit("finish"); - }; - module2.exports = UrlEncoded; - } -}); - -// node_modules/@fastify/busboy/lib/main.js -var require_main = __commonJS({ - "node_modules/@fastify/busboy/lib/main.js"(exports2, module2) { - "use strict"; - var WritableStream = require("node:stream").Writable; - var { inherits } = require("node:util"); - var Dicer = require_Dicer(); - var MultipartParser = require_multipart(); - var UrlencodedParser = require_urlencoded(); - var parseParams = require_parseParams(); - function Busboy(opts) { - if (!(this instanceof Busboy)) { - return new Busboy(opts); + if (extractValue) { + return value; } - if (typeof opts !== "object") { - throw new TypeError("Busboy expected an options-Object."); + return input.slice(positionStart, position.position); + } + function serializeAMimeType(mimeType) { + assert(mimeType !== "failure"); + const { parameters, essence } = mimeType; + let serialization = essence; + for (let [name, value] of parameters.entries()) { + serialization += ";"; + serialization += name; + serialization += "="; + if (!HTTP_TOKEN_CODEPOINTS.test(value)) { + value = value.replace(/(\\|")/g, "\\$1"); + value = '"' + value; + value += '"'; + } + serialization += value; } - if (typeof opts.headers !== "object") { - throw new TypeError("Busboy expected an options-Object with headers-attribute."); + return serialization; + } + function isHTTPWhiteSpace(char) { + return char === 13 || char === 10 || char === 9 || char === 32; + } + function removeHTTPWhitespace(str2, leading = true, trailing = true) { + return removeChars(str2, leading, trailing, isHTTPWhiteSpace); + } + function isASCIIWhitespace(char) { + return char === 13 || char === 10 || char === 9 || char === 12 || char === 32; + } + function removeASCIIWhitespace(str2, leading = true, trailing = true) { + return removeChars(str2, leading, trailing, isASCIIWhitespace); + } + function removeChars(str2, leading, trailing, predicate) { + let lead = 0; + let trail = str2.length - 1; + if (leading) { + while (lead < str2.length && predicate(str2.charCodeAt(lead))) lead++; } - if (typeof opts.headers["content-type"] !== "string") { - throw new TypeError("Missing Content-Type-header."); + if (trailing) { + while (trail > 0 && predicate(str2.charCodeAt(trail))) trail--; } - const { - headers, - ...streamOptions - } = opts; - this.opts = { - autoDestroy: false, - ...streamOptions - }; - WritableStream.call(this, this.opts); - this._done = false; - this._parser = this.getParserByHeaders(headers); - this._finished = false; + return lead === 0 && trail === str2.length - 1 ? str2 : str2.slice(lead, trail + 1); } - inherits(Busboy, WritableStream); - Busboy.prototype.emit = function(ev) { - if (ev === "finish") { - if (!this._done) { - this._parser?.end(); - return; - } else if (this._finished) { - return; - } - this._finished = true; - } - WritableStream.prototype.emit.apply(this, arguments); - }; - Busboy.prototype.getParserByHeaders = function(headers) { - const parsed = parseParams(headers["content-type"]); - const cfg = { - defCharset: this.opts.defCharset, - fileHwm: this.opts.fileHwm, - headers, - highWaterMark: this.opts.highWaterMark, - isPartAFile: this.opts.isPartAFile, - limits: this.opts.limits, - parsedConType: parsed, - preservePath: this.opts.preservePath - }; - if (MultipartParser.detect.test(parsed[0])) { - return new MultipartParser(this, cfg); + function isomorphicDecode(input) { + const length = input.length; + if ((2 << 15) - 1 > length) { + return String.fromCharCode.apply(null, input); } - if (UrlencodedParser.detect.test(parsed[0])) { - return new UrlencodedParser(this, cfg); + 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)); } - throw new Error("Unsupported Content-Type."); - }; - Busboy.prototype._write = function(chunk, encoding, cb) { - this._parser.write(chunk, cb); - }; - module2.exports = Busboy; - module2.exports.default = Busboy; - module2.exports.Busboy = Busboy; - module2.exports.Dicer = Dicer; - } -}); - -// node_modules/undici/lib/fetch/constants.js -var require_constants7 = __commonJS({ - "node_modules/undici/lib/fetch/constants.js"(exports2, module2) { - "use strict"; - var { MessageChannel, receiveMessageOnPort } = require("worker_threads"); - var corsSafeListedMethods = ["GET", "HEAD", "POST"]; - var corsSafeListedMethodsSet = new Set(corsSafeListedMethods); - var nullBodyStatus = [101, 204, 205, 304]; - var redirectStatus = [301, 302, 303, 307, 308]; - var redirectStatusSet = new Set(redirectStatus); - var badPorts = [ - "1", - "7", - "9", - "11", - "13", - "15", - "17", - "19", - "20", - "21", - "22", - "23", - "25", - "37", - "42", - "43", - "53", - "69", - "77", - "79", - "87", - "95", - "101", - "102", - "103", - "104", - "109", - "110", - "111", - "113", - "115", - "117", - "119", - "123", - "135", - "137", - "139", - "143", - "161", - "179", - "389", - "427", - "465", - "512", - "513", - "514", - "515", - "526", - "530", - "531", - "532", - "540", - "548", - "554", - "556", - "563", - "587", - "601", - "636", - "989", - "990", - "993", - "995", - "1719", - "1720", - "1723", - "2049", - "3659", - "4045", - "5060", - "5061", - "6000", - "6566", - "6665", - "6666", - "6667", - "6668", - "6669", - "6697", - "10080" - ]; - var badPortsSet = new Set(badPorts); - var referrerPolicy = [ - "", - "no-referrer", - "no-referrer-when-downgrade", - "same-origin", - "origin", - "strict-origin", - "origin-when-cross-origin", - "strict-origin-when-cross-origin", - "unsafe-url" - ]; - var referrerPolicySet = new Set(referrerPolicy); - var requestRedirect = ["follow", "manual", "error"]; - var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"]; - var safeMethodsSet = new Set(safeMethods); - var requestMode = ["navigate", "same-origin", "no-cors", "cors"]; - var requestCredentials = ["omit", "same-origin", "include"]; - var requestCache = [ - "default", - "no-store", - "reload", - "no-cache", - "force-cache", - "only-if-cached" - ]; - var requestBodyHeader = [ - "content-encoding", - "content-language", - "content-location", - "content-type", - // See https://github.com/nodejs/undici/issues/2021 - // 'Content-Length' is a forbidden header name, which is typically - // removed in the Headers implementation. However, undici doesn't - // filter out headers, so we add it here. - "content-length" - ]; - var requestDuplex = [ - "half" - ]; - var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"]; - var forbiddenMethodsSet = new Set(forbiddenMethods); - var subresource = [ - "audio", - "audioworklet", - "font", - "image", - "manifest", - "paintworklet", - "script", - "style", - "track", - "video", - "xslt", - "" - ]; - var subresourceSet = new Set(subresource); - var DOMException2 = globalThis.DOMException ?? (() => { - try { - atob("~"); - } catch (err) { - return Object.getPrototypeOf(err).constructor; + 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"; } - })(); - var channel; - var structuredClone = globalThis.structuredClone ?? // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js - // structuredClone was added in v17.0.0, but fetch supports v16.8 - function structuredClone2(value, options = void 0) { - if (arguments.length === 0) { - throw new TypeError("missing argument"); + if (mimeType.subtype.endsWith("+json")) { + return "application/json"; } - if (!channel) { - channel = new MessageChannel(); + if (mimeType.subtype.endsWith("+xml")) { + return "application/xml"; } - channel.port1.unref(); - channel.port2.unref(); - channel.port1.postMessage(value, options?.transfer); - return receiveMessageOnPort(channel.port2).message; - }; + return ""; + } module2.exports = { - DOMException: DOMException2, - structuredClone, - subresource, - forbiddenMethods, - requestBodyHeader, - referrerPolicy, - requestRedirect, - requestMode, - requestCredentials, - requestCache, - redirectStatus, - corsSafeListedMethods, - nullBodyStatus, - safeMethods, - badPorts, - requestDuplex, - subresourceSet, - badPortsSet, - redirectStatusSet, - corsSafeListedMethodsSet, - safeMethodsSet, - forbiddenMethodsSet, - referrerPolicySet + dataURLProcessor, + URLSerializer, + collectASequenceOfCodePoints, + collectASequenceOfCodePointsFast, + stringPercentDecode, + parseMIMEType, + collectAnHTTPQuotedString, + serializeAMimeType, + removeChars, + removeHTTPWhitespace, + minimizeSupportedMimeType, + HTTP_TOKEN_CODEPOINTS, + isomorphicDecode }; } }); -// node_modules/undici/lib/fetch/global.js -var require_global3 = __commonJS({ - "node_modules/undici/lib/fetch/global.js"(exports2, module2) { +// node_modules/@actions/github/node_modules/undici/lib/web/fetch/webidl.js +var require_webidl2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/web/fetch/webidl.js"(exports2, module2) { "use strict"; - var globalOrigin = /* @__PURE__ */ 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; + var { types, inspect } = require("node:util"); + var { markAsUncloneable } = require("node:worker_threads"); + var { toUSVString } = require_util9(); + var webidl = {}; + webidl.converters = {}; + webidl.util = {}; + webidl.errors = {}; + webidl.errors.exception = function(message) { + return new TypeError(`${message.header}: ${message.message}`); + }; + webidl.errors.conversionFailed = function(context2) { + const plural = context2.types.length === 1 ? "" : " one of"; + const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`; + return webidl.errors.exception({ + header: context2.prefix, + message + }); + }; + webidl.errors.invalidArgument = function(context2) { + return webidl.errors.exception({ + header: context2.prefix, + message: `"${context2.value}" is an invalid ${context2.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; + } } - const parsedURL = new URL(newOrigin); - if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") { - throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`); + }; + 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 + }); } - Object.defineProperty(globalThis, globalOrigin, { - value: parsedURL, - writable: true, - enumerable: false, - configurable: false + }; + webidl.illegalConstructor = function() { + throw webidl.errors.exception({ + header: "TypeError", + message: "Illegal constructor" }); - } - module2.exports = { - getGlobalOrigin, - setGlobalOrigin }; - } -}); - -// node_modules/undici/lib/fetch/util.js -var require_util10 = __commonJS({ - "node_modules/undici/lib/fetch/util.js"(exports2, module2) { - "use strict"; - var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants7(); - var { getGlobalOrigin } = require_global3(); - var { performance: performance2 } = require("perf_hooks"); - var { isBlobLike, toUSVString, ReadableStreamFrom } = require_util9(); - var assert = require("assert"); - var { isUint8Array } = require("util/types"); - var supportedHashes = []; - var crypto2; - try { - crypto2 = require("crypto"); - const possibleRelevantHashes = ["sha256", "sha384", "sha512"]; - supportedHashes = crypto2.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"); - if (location !== null && isValidHeaderValue(location)) { - location = new URL(location, responseURL(response)); + 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"; + } } - if (location && !location.hash) { - location.hash = requestFragment; + }; + 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; } - return location; - } - 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"; + let x = Number(V); + if (x === 0) { + x = 0; } - 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; + 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; } - return true; - } - 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; + if (!Number.isNaN(x) && opts?.clamp === true) { + x = Math.min(Math.max(x, lowerBound), upperBound); + if (Math.floor(x) % 2 === 0) { + x = Math.floor(x); + } else { + x = Math.ceil(x); + } + return x; } - } - function isValidHTTPToken(characters) { - if (characters.length === 0) { - return false; + if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) { + return 0; } - for (let i = 0; i < characters.length; ++i) { - if (!isTokenCharCode(characters.charCodeAt(i))) { - return false; - } + 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 true; - } - function isValidHeaderName(potentialValue) { - return isValidHTTPToken(potentialValue); - } - function isValidHeaderValue(potentialValue) { - if (potentialValue.startsWith(" ") || potentialValue.startsWith(" ") || potentialValue.endsWith(" ") || potentialValue.endsWith(" ")) { - return false; + return x; + }; + webidl.util.IntegerPart = function(n) { + const r = Math.floor(Math.abs(n)); + if (n < 0) { + return -1 * r; } - if (potentialValue.includes("\0") || potentialValue.includes("\r") || potentialValue.includes("\n")) { - return false; + return r; + }; + webidl.util.Stringify = function(V) { + const type2 = webidl.util.Type(V); + switch (type2) { + case "Symbol": + return `Symbol(${V.description})`; + case "Object": + return inspect(V); + case "String": + return `"${V}"`; + default: + return `${V}`; } - return true; - } - function setRequestReferrerPolicyOnRedirect(request2, actualResponse) { - const { headersList } = actualResponse; - const policyHeader = (headersList.get("referrer-policy") ?? "").split(","); - let policy = ""; - if (policyHeader.length > 0) { - for (let i = policyHeader.length; i !== 0; i--) { - const token = policyHeader[i - 1].trim(); - if (referrerPolicyTokens.has(token)) { - policy = token; + }; + webidl.sequenceConverter = function(converter) { + return (V, prefix, argument, Iterable) => { + if (webidl.util.Type(V) !== "Object") { + throw webidl.errors.exception({ + header: prefix, + message: `${argument} (${webidl.util.Stringify(V)}) is not iterable.` + }); + } + const method = typeof Iterable === "function" ? Iterable() : V?.[Symbol.iterator]?.(); + const seq2 = []; + 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; } + seq2.push(converter(value, prefix, `${argument}[${index++}]`)); } - } - 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); - } - function appendRequestOriginHeader(request2) { - let serializedOrigin = request2.origin; - if (request2.responseTainting === "cors" || request2.mode === "websocket") { - if (serializedOrigin) { - request2.headersList.append("origin", serializedOrigin); + return seq2; + }; + }; + 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.` + }); } - } else if (request2.method !== "GET" && request2.method !== "HEAD") { - switch (request2.referrerPolicy) { - case "no-referrer": - serializedOrigin = null; - break; - case "no-referrer-when-downgrade": - case "strict-origin": - case "strict-origin-when-cross-origin": - if (request2.origin && urlHasHttpsScheme(request2.origin) && !urlHasHttpsScheme(requestCurrentURL(request2))) { - serializedOrigin = null; - } - break; - case "same-origin": - if (!sameOrigin(request2, requestCurrentURL(request2))) { - serializedOrigin = null; - } - break; - default: + const 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; } - if (serializedOrigin) { - request2.headersList.append("origin", serializedOrigin); + 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; + } } - } - } - function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) { - return performance2.now(); - } - 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 + return result; }; - } - function makePolicyContainer() { - return { - referrerPolicy: "strict-origin-when-cross-origin" + }; + 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; }; - } - function clonePolicyContainer(policyContainer) { - return { - referrerPolicy: policyContainer.referrerPolicy + }; + webidl.dictionaryConverter = function(converters) { + return (dictionary, prefix, argument) => { + const type2 = webidl.util.Type(dictionary); + const dict = {}; + if (type2 === "Null" || type2 === "Undefined") { + return dict; + } else if (type2 !== "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); + }; + 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/@actions/github/node_modules/undici/lib/web/fetch/util.js +var require_util10 = __commonJS({ + "node_modules/@actions/github/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_constants8(); + var { getGlobalOrigin } = require_global3(); + var { collectASequenceOfCodePoints, collectAnHTTPQuotedString, removeChars, parseMIMEType } = require_data_url2(); + var { performance: performance2 } = require("node:perf_hooks"); + var { isBlobLike, ReadableStreamFrom, isValidHTTPToken, normalizedMethodRecordsBase } = require_util9(); + var assert = require("node:assert"); + var { isUint8Array } = require("node:util/types"); + var { webidl } = require_webidl2(); + var supportedHashes = []; + var crypto2; + try { + crypto2 = require("node:crypto"); + const possibleRelevantHashes = ["sha256", "sha384", "sha512"]; + supportedHashes = crypto2.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 token = policyHeader[i - 1].trim(); + if (referrerPolicyTokens.has(token)) { + policy = token; + 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(timestamp2, crossOriginIsolatedCapability) { + return timestamp2; + } + 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) { @@ -24897,6 +25501,7 @@ var require_util10 = __commonJS({ } 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"; } @@ -25052,23 +25657,8 @@ var require_util10 = __commonJS({ function isCancelled(fetchParams) { return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated"; } - var normalizeMethodRecord = { - delete: "DELETE", - DELETE: "DELETE", - get: "GET", - GET: "GET", - head: "HEAD", - HEAD: "HEAD", - options: "OPTIONS", - OPTIONS: "OPTIONS", - post: "POST", - POST: "POST", - put: "PUT", - PUT: "PUT" - }; - Object.setPrototypeOf(normalizeMethodRecord, null); function normalizeMethod(method) { - return normalizeMethodRecord[method.toLowerCase()] ?? method; + return normalizedMethodRecordsBase[method.toLowerCase()] ?? method; } function serializeJavascriptValueToJSONString(value) { const result = JSON.stringify(value); @@ -25079,53 +25669,131 @@ var require_util10 = __commonJS({ return result; } var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())); - function makeIterator(iterator2, name, kind) { - const object = { - index: 0, - kind, - target: iterator2 - }; - const i = { + 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 (Object.getPrototypeOf(this) !== i) { + 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, kind: kind2, target } = object; - const values = target(); + const index = this.#index; + const values = this.#target[kInternalIterator]; const len = values.length; if (index >= len) { - return { value: void 0, done: true }; + return { + value: void 0, + done: true + }; } - const pair = values[index]; - object.index = index + 1; - return iteratorResult(pair, kind2); + const { [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` }, - // The class string of an iterator prototype object for a given interface is the - // result of concatenating the identifier of the interface and the string " Iterator". - [Symbol.toStringTag]: `${name} Iterator` + next: { writable: true, enumerable: true, configurable: true } + }); + return function(target, kind) { + return new FastIterableIterator(target, kind); }; - Object.setPrototypeOf(i, esIteratorPrototype); - return Object.setPrototypeOf({}, i); } - function iteratorResult(pair, kind) { - let result; - switch (kind) { - case "key": { - result = pair[0]; - break; - } - case "value": { - result = pair[1]; - break; + 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); + } + } } - case "key+value": { - result = pair; - break; + }; + return Object.defineProperties(object.prototype, { + ...properties, + [Symbol.iterator]: { + writable: true, + enumerable: false, + configurable: true, + value: properties.entries.value } - } - return { value: result, done: false }; + }); } async function fullyReadBody(body, processBody, processBodyError) { const successSteps = processBody; @@ -25138,39 +25806,27 @@ var require_util10 = __commonJS({ return; } try { - const result = await readAllBytes(reader); - successSteps(result); + successSteps(await readAllBytes(reader)); } catch (e) { errorSteps(e); } } - var ReadableStream2 = globalThis.ReadableStream; function isReadableStreamLike(stream) { - if (!ReadableStream2) { - ReadableStream2 = require("stream/web").ReadableStream; - } - return stream instanceof ReadableStream2 || stream[Symbol.toStringTag] === "ReadableStream" && typeof stream.tee === "function"; - } - var MAXIMUM_ARGUMENT_LENGTH = 65535; - function isomorphicDecode(input) { - if (input.length < MAXIMUM_ARGUMENT_LENGTH) { - return String.fromCharCode(...input); - } - return input.reduce((previous, current) => previous + String.fromCharCode(current), ""); + 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")) { + if (!err.message.includes("Controller is already closed") && !err.message.includes("ReadableStream is already closed")) { throw err; } } } + var invalidIsomorphicEncodeValueRegex = /[^\x00-\xFF]/; function isomorphicEncode(input) { - for (let i = 0; i < input.length; i++) { - assert(input.charCodeAt(i) <= 255); - } + assert(!invalidIsomorphicEncodeValueRegex.test(input)); return input; } async function readAllBytes(reader) { @@ -25194,24 +25850,223 @@ var require_util10 = __commonJS({ return protocol === "about:" || protocol === "blob:" || protocol === "data:"; } function urlHasHttpsScheme(url) { - if (typeof url === "string") { - return url.startsWith("https:"); - } - return url.protocol === "https:"; + return typeof url === "string" && url[5] === ":" && url[0] === "h" && url[1] === "t" && url[2] === "t" && url[3] === "p" && url[4] === "s" || url.protocol === "https:"; } function urlIsHttpHttpsScheme(url) { assert("protocol" in url); const protocol = url.protocol; return protocol === "http:" || protocol === "https:"; } - var hasOwn = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key)); + 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, - toUSVString, tryUpgradeRequestToAPotentiallyTrustworthyURL, + clampAndCoarsenConnectionTimingInfo, coarsenedSharedCurrentTime, determineRequestsReferrer, makePolicyContainer, @@ -25234,927 +26089,160 @@ var require_util10 = __commonJS({ sameOrigin, normalizeMethod, serializeJavascriptValueToJSONString, - makeIterator, + iteratorMixin, + createIterator, isValidHeaderName, isValidHeaderValue, - hasOwn, isErrorLike, fullyReadBody, bytesMatch, isReadableStreamLike, readableStreamClose, isomorphicEncode, - isomorphicDecode, urlIsLocal, urlHasHttpsScheme, urlIsHttpHttpsScheme, readAllBytes, - normalizeMethodRecord, - parseMetadata + simpleRangeHeaderValue, + buildContentRange, + parseMetadata, + createInflate, + extractMimeType, + getDecodeSplit, + utf8DecodeBytes, + environmentSettingsObject }; } }); -// node_modules/undici/lib/fetch/symbols.js +// node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js var require_symbols7 = __commonJS({ - "node_modules/undici/lib/fetch/symbols.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js"(exports2, module2) { "use strict"; module2.exports = { kUrl: /* @__PURE__ */ Symbol("url"), kHeaders: /* @__PURE__ */ Symbol("headers"), kSignal: /* @__PURE__ */ Symbol("signal"), kState: /* @__PURE__ */ Symbol("state"), - kGuard: /* @__PURE__ */ Symbol("guard"), - kRealm: /* @__PURE__ */ Symbol("realm") + kDispatcher: /* @__PURE__ */ Symbol("dispatcher") }; } }); -// node_modules/undici/lib/fetch/webidl.js -var require_webidl2 = __commonJS({ - "node_modules/undici/lib/fetch/webidl.js"(exports2, module2) { +// node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js +var require_file2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js"(exports2, module2) { "use strict"; - var { types } = require("util"); - var { hasOwn, toUSVString } = require_util10(); - var webidl = {}; - webidl.converters = {}; - webidl.util = {}; - webidl.errors = {}; - webidl.errors.exception = function(message) { - return new TypeError(`${message.header}: ${message.message}`); - }; - webidl.errors.conversionFailed = function(context2) { - const plural = context2.types.length === 1 ? "" : " one of"; - const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`; - return webidl.errors.exception({ - header: context2.prefix, - message - }); - }; - webidl.errors.invalidArgument = function(context2) { - return webidl.errors.exception({ - header: context2.prefix, - message: `"${context2.value}" is an invalid ${context2.type}.` - }); - }; - webidl.brandCheck = function(V, I, opts = void 0) { - if (opts?.strict !== false && !(V instanceof I)) { - throw new TypeError("Illegal invocation"); - } else { - return V?.[Symbol.toStringTag] === I.prototype[Symbol.toStringTag]; + var { Blob: Blob2, File: File2 } = require("node:buffer"); + var { kState } = require_symbols7(); + var { webidl } = require_webidl2(); + 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 + }; } - }; - 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.`, - ...ctx - }); + stream(...args) { + webidl.brandCheck(this, _FileLike); + return this[kState].blobLike.stream(...args); } - }; - 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"; - } + arrayBuffer(...args) { + webidl.brandCheck(this, _FileLike); + return this[kState].blobLike.arrayBuffer(...args); } - }; - 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; + slice(...args) { + webidl.brandCheck(this, _FileLike); + return this[kState].blobLike.slice(...args); } - let x = Number(V); - if (x === 0) { - x = 0; + text(...args) { + webidl.brandCheck(this, _FileLike); + return this[kState].blobLike.text(...args); } - 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 ${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 size() { + webidl.brandCheck(this, _FileLike); + return this[kState].blobLike.size; } - if (!Number.isNaN(x) && opts.clamp === true) { - x = Math.min(Math.max(x, lowerBound), upperBound); - if (Math.floor(x) % 2 === 0) { - x = Math.floor(x); - } else { - x = Math.ceil(x); - } - return x; + get type() { + webidl.brandCheck(this, _FileLike); + return this[kState].blobLike.type; } - if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) { - return 0; + get name() { + webidl.brandCheck(this, _FileLike); + return this[kState].name; } - 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); + get lastModified() { + webidl.brandCheck(this, _FileLike); + return this[kState].lastModified; } - return x; - }; - webidl.util.IntegerPart = function(n) { - const r = Math.floor(Math.abs(n)); - if (n < 0) { - return -1 * r; + get [Symbol.toStringTag]() { + return "File"; } - return r; }; - webidl.sequenceConverter = function(converter) { - return (V) => { - if (webidl.util.Type(V) !== "Object") { - throw webidl.errors.exception({ - header: "Sequence", - message: `Value of type ${webidl.util.Type(V)} is not an Object.` - }); - } - const method = V?.[Symbol.iterator]?.(); - const seq2 = []; - if (method === void 0 || typeof method.next !== "function") { - throw webidl.errors.exception({ - header: "Sequence", - message: "Object is not an iterator." + webidl.converters.Blob = webidl.interfaceConverter(Blob2); + function isFileLike(object) { + return object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File"; + } + module2.exports = { FileLike, isFileLike }; + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js +var require_formdata2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js"(exports2, module2) { + "use strict"; + var { isBlobLike, iteratorMixin } = require_util10(); + var { kState } = require_symbols7(); + var { kEnumerableProperty } = require_util9(); + var { FileLike, isFileLike } = require_file2(); + var { webidl } = require_webidl2(); + var { File: NativeFile } = require("node:buffer"); + var nodeUtil = require("node:util"); + var File2 = globalThis.File ?? NativeFile; + var FormData2 = class _FormData { + constructor(form) { + webidl.util.markAsUncloneable(this); + if (form !== void 0) { + throw webidl.errors.conversionFailed({ + prefix: "FormData constructor", + argument: "Argument 1", + types: ["undefined"] }); } - while (true) { - const { done, value } = method.next(); - if (done) { - break; - } - seq2.push(converter(value)); + 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'" + ); } - return seq2; - }; - }; - webidl.recordConverter = function(keyConverter, valueConverter) { - return (O) => { - if (webidl.util.Type(O) !== "Object") { - throw webidl.errors.exception({ - header: "Record", - message: `Value of type ${webidl.util.Type(O)} is not an Object.` - }); - } - const result = {}; - if (!types.isProxy(O)) { - const keys2 = Object.keys(O); - for (const key of keys2) { - const typedKey = keyConverter(key); - const typedValue = valueConverter(O[key]); - 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); - const typedValue = valueConverter(O[key]); - result[typedKey] = typedValue; - } - } - return result; - }; - }; - webidl.interfaceConverter = function(i) { - return (V, opts = {}) => { - if (opts.strict !== false && !(V instanceof i)) { - throw webidl.errors.exception({ - header: i.name, - message: `Expected ${V} to be an instance of ${i.name}.` - }); - } - return V; - }; - }; - webidl.dictionaryConverter = function(converters) { - return (dictionary) => { - const type2 = webidl.util.Type(dictionary); - const dict = {}; - if (type2 === "Null" || type2 === "Undefined") { - return dict; - } else if (type2 !== "Object") { - throw webidl.errors.exception({ - header: "Dictionary", - 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 (!hasOwn(dictionary, key)) { - throw webidl.errors.exception({ - header: "Dictionary", - message: `Missing required key "${key}".` - }); - } - } - let value = dictionary[key]; - const hasDefault = hasOwn(options, "defaultValue"); - if (hasDefault && value !== null) { - value = value ?? defaultValue; - } - if (required || hasDefault || value !== void 0) { - value = converter(value); - if (options.allowedValues && !options.allowedValues.includes(value)) { - throw webidl.errors.exception({ - header: "Dictionary", - message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.` - }); - } - dict[key] = value; - } - } - return dict; - }; - }; - webidl.nullableConverter = function(converter) { - return (V) => { - if (V === null) { - return V; - } - return converter(V); - }; - }; - webidl.converters.DOMString = function(V, opts = {}) { - if (V === null && opts.legacyNullToEmptyString) { - return ""; - } - if (typeof V === "symbol") { - throw new TypeError("Could not convert argument of type symbol to string."); - } - return String(V); - }; - webidl.converters.ByteString = function(V) { - const x = webidl.converters.DOMString(V); - 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) { - const x = webidl.util.ConvertToInt(V, 64, "signed"); - return x; - }; - webidl.converters["unsigned long long"] = function(V) { - const x = webidl.util.ConvertToInt(V, 64, "unsigned"); - return x; - }; - webidl.converters["unsigned long"] = function(V) { - const x = webidl.util.ConvertToInt(V, 32, "unsigned"); - return x; - }; - webidl.converters["unsigned short"] = function(V, opts) { - const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts); - return x; - }; - webidl.converters.ArrayBuffer = function(V, opts = {}) { - if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) { - throw webidl.errors.conversionFailed({ - prefix: `${V}`, - argument: `${V}`, - types: ["ArrayBuffer"] - }); - } - if (opts.allowShared === false && types.isSharedArrayBuffer(V)) { - throw webidl.errors.exception({ - header: "ArrayBuffer", - message: "SharedArrayBuffer is not allowed." - }); - } - return V; - }; - webidl.converters.TypedArray = function(V, T, opts = {}) { - if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) { - throw webidl.errors.conversionFailed({ - prefix: `${T.name}`, - argument: `${V}`, - types: [T.name] - }); - } - if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) { - throw webidl.errors.exception({ - header: "ArrayBuffer", - message: "SharedArrayBuffer is not allowed." - }); - } - return V; - }; - webidl.converters.DataView = function(V, opts = {}) { - if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) { - throw webidl.errors.exception({ - header: "DataView", - message: "Object is not a DataView." - }); - } - if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) { - throw webidl.errors.exception({ - header: "ArrayBuffer", - message: "SharedArrayBuffer is not allowed." - }); - } - return V; - }; - webidl.converters.BufferSource = function(V, opts = {}) { - if (types.isAnyArrayBuffer(V)) { - return webidl.converters.ArrayBuffer(V, opts); - } - if (types.isTypedArray(V)) { - return webidl.converters.TypedArray(V, V.constructor); - } - if (types.isDataView(V)) { - return webidl.converters.DataView(V, opts); - } - throw new TypeError(`Could not convert ${V} to a BufferSource.`); - }; - webidl.converters["sequence"] = webidl.sequenceConverter( - webidl.converters.ByteString - ); - webidl.converters["sequence>"] = webidl.sequenceConverter( - webidl.converters["sequence"] - ); - webidl.converters["record"] = webidl.recordConverter( - webidl.converters.ByteString, - webidl.converters.ByteString - ); - module2.exports = { - webidl - }; - } -}); - -// node_modules/undici/lib/fetch/dataURL.js -var require_dataURL = __commonJS({ - "node_modules/undici/lib/fetch/dataURL.js"(exports2, module2) { - var assert = require("assert"); - var { atob: atob2 } = require("buffer"); - var { isomorphicDecode } = require_util10(); - var encoder = new TextEncoder(); - var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/; - var HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/; - var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/; - function dataURLProcessor(dataURL) { - assert(dataURL.protocol === "data:"); - let input = URLSerializer(dataURL, true); - input = input.slice(5); - const position = { position: 0 }; - let mimeType = collectASequenceOfCodePointsFast( - ",", - input, - position - ); - const mimeTypeLength = mimeType.length; - mimeType = removeASCIIWhitespace(mimeType, true, true); - if (position.position >= input.length) { - return "failure"; - } - position.position++; - const encodedBody = input.slice(mimeTypeLength + 1); - let body = stringPercentDecode(encodedBody); - if (/;(\u0020){0,}base64$/i.test(mimeType)) { - const stringBody = isomorphicDecode(body); - body = forgivingBase64(stringBody); - if (body === "failure") { - return "failure"; - } - mimeType = mimeType.slice(0, -6); - mimeType = mimeType.replace(/(\u0020)+$/, ""); - mimeType = mimeType.slice(0, -1); - } - 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 }; - } - function URLSerializer(url, excludeFragment = false) { - if (!excludeFragment) { - return url.href; - } - const href = url.href; - const hashLength = url.hash.length; - return hashLength === 0 ? href : href.substring(0, href.length - hashLength); - } - function collectASequenceOfCodePoints(condition, input, position) { - let result = ""; - while (position.position < input.length && condition(input[position.position])) { - result += input[position.position]; - position.position++; - } - return result; - } - function collectASequenceOfCodePointsFast(char, input, position) { - const idx = input.indexOf(char, position.position); - const start = position.position; - if (idx === -1) { - position.position = input.length; - return input.slice(start); - } - position.position = idx; - return input.slice(start, position.position); - } - function stringPercentDecode(input) { - const bytes = encoder.encode(input); - return percentDecode(bytes); - } - function percentDecode(input) { - const output = []; - for (let i = 0; i < input.length; i++) { - const byte = input[i]; - if (byte !== 37) { - output.push(byte); - } else if (byte === 37 && !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i + 1], input[i + 2]))) { - output.push(37); - } else { - const nextTwoBytes = String.fromCharCode(input[i + 1], input[i + 2]); - const bytePoint = Number.parseInt(nextTwoBytes, 16); - output.push(bytePoint); - i += 2; - } - } - return Uint8Array.from(output); - } - function parseMIMEType(input) { - input = removeHTTPWhitespace(input, true, true); - const position = { position: 0 }; - const type2 = collectASequenceOfCodePointsFast( - "/", - input, - position - ); - if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) { - 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 = type2.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; - } - function forgivingBase64(data) { - data = data.replace(/[\u0009\u000A\u000C\u000D\u0020]/g, ""); - if (data.length % 4 === 0) { - data = data.replace(/=?=$/, ""); - } - if (data.length % 4 === 1) { - return "failure"; - } - if (/[^+/0-9A-Za-z]/.test(data)) { - return "failure"; - } - const binary2 = atob2(data); - const bytes = new Uint8Array(binary2.length); - for (let byte = 0; byte < binary2.length; byte++) { - bytes[byte] = binary2.charCodeAt(byte); - } - return bytes; - } - function collectAnHTTPQuotedString(input, position, extractValue) { - const positionStart = position.position; - let value = ""; - assert(input[position.position] === '"'); - position.position++; - while (true) { - value += collectASequenceOfCodePoints( - (char) => char !== '"' && char !== "\\", - input, - position - ); - if (position.position >= input.length) { - break; - } - const quoteOrBackslash = input[position.position]; - position.position++; - if (quoteOrBackslash === "\\") { - if (position.position >= input.length) { - value += "\\"; - break; - } - value += input[position.position]; - position.position++; - } else { - assert(quoteOrBackslash === '"'); - break; - } - } - if (extractValue) { - return value; - } - return input.slice(positionStart, position.position); - } - function serializeAMimeType(mimeType) { - assert(mimeType !== "failure"); - const { parameters, essence } = mimeType; - let serialization = essence; - for (let [name, value] of parameters.entries()) { - serialization += ";"; - serialization += name; - serialization += "="; - if (!HTTP_TOKEN_CODEPOINTS.test(value)) { - value = value.replace(/(\\|")/g, "\\$1"); - value = '"' + value; - value += '"'; - } - serialization += value; - } - return serialization; - } - function isHTTPWhiteSpace(char) { - return char === "\r" || char === "\n" || char === " " || char === " "; - } - function removeHTTPWhitespace(str2, leading = true, trailing = true) { - let lead = 0; - let trail = str2.length - 1; - if (leading) { - for (; lead < str2.length && isHTTPWhiteSpace(str2[lead]); lead++) ; - } - if (trailing) { - for (; trail > 0 && isHTTPWhiteSpace(str2[trail]); trail--) ; - } - return str2.slice(lead, trail + 1); - } - function isASCIIWhitespace(char) { - return char === "\r" || char === "\n" || char === " " || char === "\f" || char === " "; - } - function removeASCIIWhitespace(str2, leading = true, trailing = true) { - let lead = 0; - let trail = str2.length - 1; - if (leading) { - for (; lead < str2.length && isASCIIWhitespace(str2[lead]); lead++) ; - } - if (trailing) { - for (; trail > 0 && isASCIIWhitespace(str2[trail]); trail--) ; - } - return str2.slice(lead, trail + 1); - } - module2.exports = { - dataURLProcessor, - URLSerializer, - collectASequenceOfCodePoints, - collectASequenceOfCodePointsFast, - stringPercentDecode, - parseMIMEType, - collectAnHTTPQuotedString, - serializeAMimeType - }; - } -}); - -// node_modules/undici/lib/fetch/file.js -var require_file2 = __commonJS({ - "node_modules/undici/lib/fetch/file.js"(exports2, module2) { - "use strict"; - var { Blob: Blob2, File: NativeFile } = require("buffer"); - var { types } = require("util"); - var { kState } = require_symbols7(); - var { isBlobLike } = require_util10(); - var { webidl } = require_webidl2(); - var { parseMIMEType, serializeAMimeType } = require_dataURL(); - var { kEnumerableProperty } = require_util9(); - var encoder = new TextEncoder(); - var File2 = class _File extends Blob2 { - constructor(fileBits, fileName, options = {}) { - webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" }); - fileBits = webidl.converters["sequence"](fileBits); - fileName = webidl.converters.USVString(fileName); - options = webidl.converters.FilePropertyBag(options); - const n = fileName; - let t = options.type; - let d; - substep: { - if (t) { - t = parseMIMEType(t); - if (t === "failure") { - t = ""; - break substep; - } - t = serializeAMimeType(t).toLowerCase(); - } - d = options.lastModified; - } - super(processBlobParts(fileBits, options), { type: t }); - this[kState] = { - name: n, - lastModified: d, - type: t - }; - } - get name() { - webidl.brandCheck(this, _File); - return this[kState].name; - } - get lastModified() { - webidl.brandCheck(this, _File); - return this[kState].lastModified; - } - get type() { - webidl.brandCheck(this, _File); - return this[kState].type; - } - }; - var FileLike = class _FileLike { - constructor(blobLike, fileName, options = {}) { - const n = fileName; - const t = options.type; - const d = options.lastModified ?? Date.now(); - 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"; - } - }; - Object.defineProperties(File2.prototype, { - [Symbol.toStringTag]: { - value: "File", - configurable: true - }, - name: kEnumerableProperty, - lastModified: kEnumerableProperty - }); - webidl.converters.Blob = webidl.interfaceConverter(Blob2); - webidl.converters.BlobPart = function(V, opts) { - if (webidl.util.Type(V) === "Object") { - if (isBlobLike(V)) { - return webidl.converters.Blob(V, { strict: false }); - } - if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) { - return webidl.converters.BufferSource(V, opts); - } - } - return webidl.converters.USVString(V, opts); - }; - webidl.converters["sequence"] = webidl.sequenceConverter( - webidl.converters.BlobPart - ); - webidl.converters.FilePropertyBag = webidl.dictionaryConverter([ - { - key: "lastModified", - converter: webidl.converters["long long"], - get defaultValue() { - return Date.now(); - } - }, - { - key: "type", - converter: webidl.converters.DOMString, - defaultValue: "" - }, - { - key: "endings", - converter: (value) => { - value = webidl.converters.DOMString(value); - value = value.toLowerCase(); - if (value !== "native") { - value = "transparent"; - } - return value; - }, - defaultValue: "transparent" - } - ]); - function processBlobParts(parts, options) { - const bytes = []; - for (const element of parts) { - if (typeof element === "string") { - let s = element; - if (options.endings === "native") { - s = convertLineEndingsNative(s); - } - bytes.push(encoder.encode(s)); - } else if (types.isAnyArrayBuffer(element) || types.isTypedArray(element)) { - if (!element.buffer) { - bytes.push(new Uint8Array(element)); - } else { - bytes.push( - new Uint8Array(element.buffer, element.byteOffset, element.byteLength) - ); - } - } else if (isBlobLike(element)) { - bytes.push(element); - } - } - return bytes; - } - function convertLineEndingsNative(s) { - let nativeLineEnding = "\n"; - if (process.platform === "win32") { - nativeLineEnding = "\r\n"; - } - return s.replace(/\r?\n/g, nativeLineEnding); - } - function isFileLike(object) { - return NativeFile && object instanceof NativeFile || object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File"; - } - module2.exports = { File: File2, FileLike, isFileLike }; - } -}); - -// node_modules/undici/lib/fetch/formdata.js -var require_formdata2 = __commonJS({ - "node_modules/undici/lib/fetch/formdata.js"(exports2, module2) { - "use strict"; - var { isBlobLike, toUSVString, makeIterator } = require_util10(); - var { kState } = require_symbols7(); - var { File: UndiciFile, FileLike, isFileLike } = require_file2(); - var { webidl } = require_webidl2(); - var { Blob: Blob2, File: NativeFile } = require("buffer"); - var File2 = NativeFile ?? UndiciFile; - var FormData2 = class _FormData { - constructor(form) { - 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); - webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" }); - if (arguments.length === 3 && !isBlobLike(value)) { - throw new TypeError( - "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'" - ); - } - name = webidl.converters.USVString(name); - value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value); - filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0; + 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); - webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" }); - name = webidl.converters.USVString(name); + 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); - webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" }); - name = webidl.converters.USVString(name); + 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; @@ -26163,27 +26251,30 @@ var require_formdata2 = __commonJS({ } getAll(name) { webidl.brandCheck(this, _FormData); - webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" }); - name = webidl.converters.USVString(name); + 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); - webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" }); - name = webidl.converters.USVString(name); + 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); - webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" }); + const prefix = "FormData.set"; + webidl.argumentLengthCheck(arguments, 2, prefix); if (arguments.length === 3 && !isBlobLike(value)) { throw new TypeError( "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'" ); } - name = webidl.converters.USVString(name); - value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value); - filename = arguments.length === 3 ? toUSVString(filename) : void 0; + 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) { @@ -26196,220 +26287,460 @@ var require_formdata2 = __commonJS({ this[kState].push(entry); } } - entries() { - webidl.brandCheck(this, _FormData); - return makeIterator( - () => this[kState].map((pair) => [pair.name, pair.value]), - "FormData", - "key+value" - ); - } - keys() { - webidl.brandCheck(this, _FormData); - return makeIterator( - () => this[kState].map((pair) => [pair.name, pair.value]), - "FormData", - "key" - ); - } - values() { - webidl.brandCheck(this, _FormData); - return makeIterator( - () => this[kState].map((pair) => [pair.name, pair.value]), - "FormData", - "value" - ); - } - /** - * @param {(value: string, key: string, self: FormData) => void} callbackFn - * @param {unknown} thisArg - */ - forEach(callbackFn, thisArg = globalThis) { - webidl.brandCheck(this, _FormData); - webidl.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" }); - if (typeof callbackFn !== "function") { - throw new TypeError( - "Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'." - ); - } - for (const [key, value] of this) { - callbackFn.apply(thisArg, [value, key, this]); - } + [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)}`; } }; - FormData2.prototype[Symbol.iterator] = FormData2.prototype.entries; + iteratorMixin("FormData", FormData2, kState, "name", "value"); Object.defineProperties(FormData2.prototype, { + append: kEnumerableProperty, + delete: kEnumerableProperty, + get: kEnumerableProperty, + getAll: kEnumerableProperty, + has: kEnumerableProperty, + set: kEnumerableProperty, [Symbol.toStringTag]: { value: "FormData", configurable: true } }); function makeEntry(name, value, filename) { - name = Buffer.from(name).toString("utf8"); if (typeof value === "string") { - value = Buffer.from(value).toString("utf8"); } else { if (!isFileLike(value)) { - value = value instanceof Blob2 ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type }); + value = value instanceof Blob ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type }); } if (filename !== void 0) { const options = { type: value.type, lastModified: value.lastModified }; - value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File2([value], filename, options) : new FileLike(value, filename, options); + value = value instanceof NativeFile ? new File2([value], filename, options) : new FileLike(value, filename, options); } } return { name, value }; } - module2.exports = { FormData: FormData2 }; + module2.exports = { FormData: FormData2, makeEntry }; } }); -// node_modules/undici/lib/fetch/body.js -var require_body2 = __commonJS({ - "node_modules/undici/lib/fetch/body.js"(exports2, module2) { +// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js +var require_formdata_parser2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js"(exports2, module2) { "use strict"; - var Busboy = require_main(); - var util = require_util9(); - var { - ReadableStreamFrom, - isBlobLike, - isReadableStreamLike, - readableStreamClose, - createDeferredPromise, - fullyReadBody - } = require_util10(); - var { FormData: FormData2 } = require_formdata2(); - var { kState } = require_symbols7(); - var { webidl } = require_webidl2(); - var { DOMException: DOMException2, structuredClone } = require_constants7(); - var { Blob: Blob2, File: NativeFile } = require("buffer"); - var { kBodyUsed } = require_symbols6(); - var assert = require("assert"); - var { isErrored } = require_util9(); - var { isUint8Array, isArrayBuffer } = require("util/types"); - var { File: UndiciFile } = require_file2(); - var { parseMIMEType, serializeAMimeType } = require_dataURL(); - var random; - try { - const crypto2 = require("node:crypto"); - random = (max) => crypto2.randomInt(0, max); - } catch { - random = (max) => Math.floor(Math.random(max)); + var { isUSVString, bufferToLowerCasedHeaderName } = require_util9(); + var { utf8DecodeBytes } = require_util10(); + var { HTTP_TOKEN_CODEPOINTS, isomorphicDecode } = require_data_url2(); + var { isFileLike } = require_file2(); + var { makeEntry } = require_formdata2(); + var assert = require("node:assert"); + var { File: NodeFile } = require("node:buffer"); + var File2 = 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; } - var ReadableStream2 = globalThis.ReadableStream; - var File2 = NativeFile ?? UndiciFile; - var textEncoder = new TextEncoder(); - var textDecoder = new TextDecoder(); - function extractBody(object, keepalive = false) { - if (!ReadableStream2) { - ReadableStream2 = require("stream/web").ReadableStream; + function validateBoundary(boundary) { + const length = boundary.length; + if (length < 27 || length > 70) { + return false; } - let stream = null; - if (object instanceof ReadableStream2) { - stream = object; - } else if (isBlobLike(object)) { - stream = object.stream(); - } else { - stream = new ReadableStream2({ - async pull(controller) { - controller.enqueue( - typeof source === "string" ? textEncoder.encode(source) : source - ); - queueMicrotask(() => readableStreamClose(controller)); - }, - start() { - }, - type: void 0 - }); + 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; + } } - assert(isReadableStreamLike(stream)); - let action = null; - let source = null; - let length = null; - let type2 = null; - if (typeof object === "string") { - source = object; - type2 = "text/plain;charset=UTF-8"; - } else if (object instanceof URLSearchParams) { - source = object.toString(); - type2 = "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 = (str2) => str2.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; - } - } + 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"; } - const chunk = textEncoder.encode(`--${boundary}--`); - blobParts.push(chunk); - length += chunk.byteLength; - if (hasUnknownSizeValue) { - length = null; + if (position.position === input.length - 2 && bufferStartsWith(input, dd, position) || position.position === input.length - 4 && bufferStartsWith(input, ddcrlf, position)) { + return entryList; } - source = object; - action = async function* () { - for (const part of blobParts) { - if (part.stream) { - yield* part.stream(); - } else { - yield part; - } + if (input[position.position] !== 13 || input[position.position + 1] !== 10) { + return "failure"; + } + position.position += 2; + const result = parseMultipartFormDataHeaders(input, position); + if (result === "failure") { + return "failure"; + } + let { name, filename, contentType, encoding } = result; + position.position += 2; + let body; + { + const boundaryIndex = input.indexOf(boundary.subarray(2), position.position); + if (boundaryIndex === -1) { + return "failure"; + } + body = input.subarray(position.position, boundaryIndex - 4); + position.position += body.length; + if (encoding === "base64") { + body = Buffer.from(body.toString(), "base64"); } - }; - type2 = "multipart/form-data; boundary=" + boundary; - } else if (isBlobLike(object)) { - source = object; - length = object.size; - if (object.type) { - type2 = object.type; } - } else if (typeof object[Symbol.asyncIterator] === "function") { - if (keepalive) { - throw new TypeError("keepalive"); + if (input[position.position] !== 13 || input[position.position + 1] !== 10) { + return "failure"; + } else { + position.position += 2; } - if (util.isDisturbed(object) || object.locked) { - throw new TypeError( - "Response body object should not be disturbed or locked" - ); + let value; + if (filename !== null) { + contentType ??= "text/plain"; + if (!isAsciiString(contentType)) { + contentType = ""; + } + value = new File2([body], filename, { type: contentType }); + } else { + value = utf8DecodeBytes(Buffer.from(body)); } - stream = object instanceof ReadableStream2 ? object : ReadableStreamFrom(object); - } - if (typeof source === "string" || util.isBuffer(source)) { - length = Buffer.byteLength(source); + assert(isUSVString(name)); + assert(typeof value === "string" && isUSVString(value) || isFileLike(value)); + entryList.push(makeEntry(name, value, filename)); } - if (action != null) { - let iterator2; - stream = new ReadableStream2({ + } + function parseMultipartFormDataHeaders(input, position) { + let name = null; + let filename = null; + let contentType = null; + let encoding = null; + while (true) { + if (input[position.position] === 13 && input[position.position + 1] === 10) { + if (name === null) { + return "failure"; + } + return { name, filename, contentType, encoding }; + } + let headerName = collectASequenceOfBytes( + (char) => char !== 10 && char !== 13 && char !== 58, + input, + position + ); + headerName = removeChars(headerName, true, true, (char) => char === 9 || char === 32); + if (!HTTP_TOKEN_CODEPOINTS.test(headerName.toString())) { + return "failure"; + } + if (input[position.position] !== 58) { + return "failure"; + } + position.position++; + collectASequenceOfBytes( + (char) => char === 32 || char === 9, + input, + position + ); + switch (bufferToLowerCasedHeaderName(headerName)) { + case "content-disposition": { + name = filename = null; + if (!bufferStartsWith(input, formDataNameBuffer, position)) { + return "failure"; + } + position.position += 17; + name = parseMultipartFormDataName(input, position); + if (name === null) { + return "failure"; + } + if (bufferStartsWith(input, filenameBuffer, position)) { + let check = position.position + filenameBuffer.length; + if (input[check] === 42) { + position.position += 1; + check += 1; + } + if (input[check] !== 61 || input[check + 1] !== 34) { + return "failure"; + } + position.position += 12; + filename = parseMultipartFormDataName(input, position); + if (filename === null) { + return "failure"; + } + } + break; + } + case "content-type": { + let headerValue = collectASequenceOfBytes( + (char) => char !== 10 && char !== 13, + input, + position + ); + headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32); + contentType = isomorphicDecode(headerValue); + break; + } + case "content-transfer-encoding": { + let headerValue = collectASequenceOfBytes( + (char) => char !== 10 && char !== 13, + input, + position + ); + headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32); + encoding = isomorphicDecode(headerValue); + break; + } + default: { + collectASequenceOfBytes( + (char) => char !== 10 && char !== 13, + input, + position + ); + } + } + if (input[position.position] !== 13 && input[position.position + 1] !== 10) { + return "failure"; + } else { + position.position += 2; + } + } + } + function parseMultipartFormDataName(input, position) { + assert(input[position.position - 1] === 34); + let name = collectASequenceOfBytes( + (char) => char !== 10 && char !== 13 && char !== 34, + input, + position + ); + if (input[position.position] !== 34) { + return null; + } else { + position.position++; + } + name = new TextDecoder().decode(name).replace(/%0A/ig, "\n").replace(/%0D/ig, "\r").replace(/%22/g, '"'); + return name; + } + function collectASequenceOfBytes(condition, input, position) { + let start = position.position; + while (start < input.length && condition(input[start])) { + ++start; + } + return input.subarray(position.position, position.position = start); + } + function removeChars(buf, leading, trailing, predicate) { + let lead = 0; + let trail = buf.length - 1; + if (leading) { + while (lead < buf.length && predicate(buf[lead])) lead++; + } + if (trailing) { + while (trail > 0 && predicate(buf[trail])) trail--; + } + return lead === 0 && trail === buf.length - 1 ? buf : buf.subarray(lead, trail + 1); + } + function bufferStartsWith(buffer, start, position) { + if (buffer.length < start.length) { + return false; + } + for (let i = 0; i < start.length; i++) { + if (start[i] !== buffer[position.position + i]) { + return false; + } + } + return true; + } + module2.exports = { + multipartFormDataParser, + validateBoundary + }; + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js +var require_body2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js"(exports2, module2) { + "use strict"; + var util = require_util9(); + var { + ReadableStreamFrom, + isBlobLike, + isReadableStreamLike, + readableStreamClose, + createDeferredPromise, + fullyReadBody, + extractMimeType, + utf8DecodeBytes + } = require_util10(); + var { FormData: FormData2 } = require_formdata2(); + var { kState } = require_symbols7(); + var { webidl } = require_webidl2(); + 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_url2(); + var { multipartFormDataParser } = require_formdata_parser2(); + var random; + try { + const crypto2 = require("node:crypto"); + random = (max) => crypto2.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 type2 = null; + if (typeof object === "string") { + source = object; + type2 = "text/plain;charset=UTF-8"; + } else if (object instanceof URLSearchParams) { + source = object.toString(); + type2 = "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 = (str2) => str2.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; + } + } + }; + type2 = `multipart/form-data; boundary=${boundary}`; + } else if (isBlobLike(object)) { + source = object; + length = object.size; + if (object.type) { + type2 = 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](); }, @@ -26418,10 +26749,14 @@ Content-Type: ${value.type || "application/octet-stream"}\r if (done) { queueMicrotask(() => { controller.close(); + controller.byobRequest?.respond(0); }); } else { if (!isErrored(stream)) { - controller.enqueue(new Uint8Array(value)); + const buffer = new Uint8Array(value); + if (buffer.byteLength) { + controller.enqueue(buffer); + } } } return controller.desiredSize > 0; @@ -26429,61 +26764,39 @@ Content-Type: ${value.type || "application/octet-stream"}\r async cancel(reason) { await iterator2.return(); }, - type: void 0 + type: "bytes" }); } const body = { stream, source, length }; return [body, type2]; } function safelyExtractBody(object, keepalive = false) { - if (!ReadableStream2) { - ReadableStream2 = require("stream/web").ReadableStream; - } - if (object instanceof ReadableStream2) { + 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(body) { + function cloneBody(instance, body) { const [out1, out2] = body.stream.tee(); - const out2Clone = structuredClone(out2, { transfer: [out2] }); - const [, finalClone] = out2Clone.tee(); body.stream = out1; return { - stream: finalClone, + stream: out2, length: body.length, source: body.source }; } - async function* consumeBody(body) { - if (body) { - if (isUint8Array(body)) { - yield body; - } else { - const stream = body.stream; - if (util.isDisturbed(stream)) { - throw new TypeError("The body has already been consumed."); - } - if (stream.locked) { - throw new TypeError("The stream is locked."); - } - stream[kBodyUsed] = true; - yield* stream; - } - } - } function throwIfAborted(state) { if (state.aborted) { - throw new DOMException2("The operation was aborted.", "AbortError"); + throw new DOMException("The operation was aborted.", "AbortError"); } } function bodyMixinMethods(instance) { const methods = { blob() { - return specConsumeBody(this, (bytes) => { + return consumeBody(this, (bytes) => { let mimeType = bodyMimeType(this); - if (mimeType === "failure") { + if (mimeType === null) { mimeType = ""; } else if (mimeType) { mimeType = serializeAMimeType(mimeType); @@ -26492,96 +26805,49 @@ Content-Type: ${value.type || "application/octet-stream"}\r }, instance); }, arrayBuffer() { - return specConsumeBody(this, (bytes) => { + return consumeBody(this, (bytes) => { return new Uint8Array(bytes).buffer; }, instance); }, text() { - return specConsumeBody(this, utf8DecodeBytes, instance); + return consumeBody(this, utf8DecodeBytes, instance); }, json() { - return specConsumeBody(this, parseJSONFromBytes, instance); + return consumeBody(this, parseJSONFromBytes, instance); }, - async formData() { - webidl.brandCheck(this, instance); - throwIfAborted(this[kState]); - const contentType = this.headers.get("Content-Type"); - if (/multipart\/form-data/.test(contentType)) { - const headers = {}; - for (const [key, value] of this.headers) headers[key.toLowerCase()] = value; - const responseFormData = new FormData2(); - let busboy; - try { - busboy = new Busboy({ - headers, - preservePath: true - }); - } catch (err) { - throw new DOMException2(`${err}`, "AbortError"); - } - busboy.on("field", (name, value) => { - responseFormData.append(name, value); - }); - busboy.on("file", (name, value, filename, encoding, mimeType) => { - const chunks = []; - if (encoding === "base64" || encoding.toLowerCase() === "base64") { - let base64chunk = ""; - value.on("data", (chunk) => { - base64chunk += chunk.toString().replace(/[\r\n]/gm, ""); - const end = base64chunk.length - base64chunk.length % 4; - chunks.push(Buffer.from(base64chunk.slice(0, end), "base64")); - base64chunk = base64chunk.slice(end); - }); - value.on("end", () => { - chunks.push(Buffer.from(base64chunk, "base64")); - responseFormData.append(name, new File2(chunks, filename, { type: mimeType })); - }); - } else { - value.on("data", (chunk) => { - chunks.push(chunk); - }); - value.on("end", () => { - responseFormData.append(name, new File2(chunks, filename, { type: mimeType })); - }); - } - }); - const busboyResolve = new Promise((resolve5, reject) => { - busboy.on("finish", resolve5); - busboy.on("error", (err) => reject(new TypeError(err))); - }); - if (this.body !== null) for await (const chunk of consumeBody(this[kState].body)) busboy.write(chunk); - busboy.end(); - await busboyResolve; - return responseFormData; - } else if (/application\/x-www-form-urlencoded/.test(contentType)) { - let entries; - try { - let text = ""; - const streamingDecoder = new TextDecoder("utf-8", { ignoreBOM: true }); - for await (const chunk of consumeBody(this[kState].body)) { - if (!isUint8Array(chunk)) { - throw new TypeError("Expected Uint8Array chunk"); + 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 FormData2(); + fd[kState] = parsed; + return fd; + } + case "application/x-www-form-urlencoded": { + const entries = new URLSearchParams(value.toString()); + const fd = new FormData2(); + for (const [name, value2] of entries) { + fd.append(name, value2); + } + return fd; } - text += streamingDecoder.decode(chunk, { stream: true }); } - text += streamingDecoder.decode(); - entries = new URLSearchParams(text); - } catch (err) { - throw Object.assign(new TypeError(), { cause: err }); - } - const formData = new FormData2(); - for (const [name, value] of entries) { - formData.append(name, value); } - return formData; - } else { - await Promise.resolve(); - throwIfAborted(this[kState]); - throw webidl.errors.exception({ - header: `${instance.name}.formData`, - message: "Could not parse content as FormData." - }); - } + 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; @@ -26589,12 +26855,12 @@ Content-Type: ${value.type || "application/octet-stream"}\r function mixinBody(prototype) { Object.assign(prototype.prototype, bodyMixinMethods(prototype)); } - async function specConsumeBody(object, convertBytesToJSValue, instance) { + async function consumeBody(object, convertBytesToJSValue, instance) { webidl.brandCheck(object, instance); - throwIfAborted(object[kState]); - if (bodyUnusable(object[kState].body)) { - throw new TypeError("Body is unusable"); + if (bodyUnusable(object)) { + throw new TypeError("Body is unusable: Body has already been read"); } + throwIfAborted(object[kState]); const promise = createDeferredPromise(); const errorSteps = (error3) => promise.reject(error3); const successSteps = (data) => { @@ -26605,1104 +26871,1609 @@ Content-Type: ${value.type || "application/octet-stream"}\r } }; if (object[kState].body == null) { - successSteps(new Uint8Array()); + successSteps(Buffer.allocUnsafe(0)); return promise.promise; } await fullyReadBody(object[kState].body, successSteps, errorSteps); return promise.promise; } - function bodyUnusable(body) { + function bodyUnusable(object) { + const body = object[kState].body; return body != null && (body.stream.locked || util.isDisturbed(body.stream)); } - 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; - } function parseJSONFromBytes(bytes) { return JSON.parse(utf8DecodeBytes(bytes)); } - function bodyMimeType(object) { - const { headersList } = object[kState]; - const contentType = headersList.get("content-type"); - if (contentType === null) { - return "failure"; + function bodyMimeType(requestOrResponse) { + const headers = requestOrResponse[kState].headersList; + const mimeType = extractMimeType(headers); + if (mimeType === "failure") { + return null; } - return parseMIMEType(contentType); + return mimeType; } module2.exports = { extractBody, safelyExtractBody, cloneBody, - mixinBody + mixinBody, + streamRegistry, + hasFinalizationRegistry, + bodyUnusable }; } }); -// node_modules/undici/lib/core/request.js -var require_request3 = __commonJS({ - "node_modules/undici/lib/core/request.js"(exports2, module2) { +// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js +var require_client_h12 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js"(exports2, module2) { "use strict"; + var assert = require("node:assert"); + var util = require_util9(); + var { channels } = require_diagnostics2(); + var timers = require_timers2(); var { - InvalidArgumentError, - NotSupportedError + RequestContentLengthMismatchError, + ResponseContentLengthMismatchError, + RequestAbortedError, + HeadersTimeoutError, + HeadersOverflowError, + SocketError, + InformationalError, + BodyTimeoutError, + HTTPParserError, + ResponseExceededMaxSizeError } = require_errors2(); - var assert = require("assert"); - var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = require_symbols6(); - var util = require_util9(); - var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/; - var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/; - var invalidPathRegex = /[^\u0021-\u00ff]/; - var kHandler = /* @__PURE__ */ Symbol("handler"); - var channels = {}; + 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_symbols6(); + var constants = require_constants7(); + var EMPTY_BUF = Buffer.alloc(0); + var FastBuffer = Buffer[Symbol.species]; + var addListener = util.addListener; + var removeAllListeners = util.removeAllListeners; var extractBody; - try { - const diagnosticsChannel = require("diagnostics_channel"); - channels.create = diagnosticsChannel.channel("undici:request:create"); - channels.bodySent = diagnosticsChannel.channel("undici:request:bodySent"); - channels.headers = diagnosticsChannel.channel("undici:request:headers"); - channels.trailers = diagnosticsChannel.channel("undici:request:trailers"); - channels.error = diagnosticsChannel.channel("undici:request:error"); - } catch { - channels.create = { hasSubscribers: false }; - channels.bodySent = { hasSubscribers: false }; - channels.headers = { hasSubscribers: false }; - channels.trailers = { hasSubscribers: false }; - channels.error = { hasSubscribers: false }; - } - var Request = class _Request { - constructor(origin, { - path: path7, - method, - body, - headers, - query, - idempotent, - blocking, - upgrade, - headersTimeout, - bodyTimeout, - reset, - throwOnError, - expectContinue - }, handler2) { - if (typeof path7 !== "string") { - throw new InvalidArgumentError("path must be a string"); - } else if (path7[0] !== "/" && !(path7.startsWith("http://") || path7.startsWith("https://")) && method !== "CONNECT") { - throw new InvalidArgumentError("path must be an absolute URL or start with a slash"); - } else if (invalidPathRegex.exec(path7) !== null) { - throw new InvalidArgumentError("invalid request path"); - } - if (typeof method !== "string") { - throw new InvalidArgumentError("method must be a string"); - } else if (tokenRegExp.exec(method) === null) { - throw new InvalidArgumentError("invalid request method"); - } - if (upgrade && typeof upgrade !== "string") { - throw new InvalidArgumentError("upgrade must be a string"); - } - if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) { - throw new InvalidArgumentError("invalid headersTimeout"); - } - if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) { - throw new InvalidArgumentError("invalid bodyTimeout"); - } - if (reset != null && typeof reset !== "boolean") { - throw new InvalidArgumentError("invalid reset"); - } - if (expectContinue != null && typeof expectContinue !== "boolean") { - throw new InvalidArgumentError("invalid expectContinue"); + async function lazyllhttp() { + const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm2() : void 0; + let mod; + try { + mod = await WebAssembly.compile(require_llhttp_simd_wasm2()); + } catch (e) { + mod = await WebAssembly.compile(llhttpWasmData || require_llhttp_wasm2()); + } + 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 */ } - this.headersTimeout = headersTimeout; - this.bodyTimeout = bodyTimeout; - this.throwOnError = throwOnError === true; - this.method = method; - this.abort = null; - if (body == null) { - this.body = null; - } else if (util.isStream(body)) { - this.body = body; - const rState = this.body._readableState; - if (!rState || !rState.autoDestroy) { - this.endHandler = function autoDestroy() { - util.destroy(this); - }; - this.body.on("end", this.endHandler); + }); + } + 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, type2) { + if (delay !== this.timeoutValue || type2 & USE_FAST_TIMER ^ this.timeoutType & USE_FAST_TIMER) { + if (this.timeout) { + timers.clearTimeout(this.timeout); + this.timeout = null; } - this.errorHandler = (err) => { - if (this.abort) { - this.abort(err); + if (delay) { + if (type2 & USE_FAST_TIMER) { + this.timeout = timers.setFastTimeout(onParserTimeout, delay, new WeakRef(this)); } else { - this.error = err; + this.timeout = setTimeout(onParserTimeout, delay, new WeakRef(this)); + this.timeout.unref(); } - }; - this.body.on("error", this.errorHandler); - } else if (util.isBuffer(body)) { - this.body = body.byteLength ? body : null; - } else if (ArrayBuffer.isView(body)) { - this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null; - } else if (body instanceof ArrayBuffer) { - this.body = body.byteLength ? Buffer.from(body) : null; - } else if (typeof body === "string") { - this.body = body.length ? Buffer.from(body) : null; - } else if (util.isFormDataLike(body) || util.isIterable(body) || util.isBlobLike(body)) { - this.body = body; - } else { - throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable"); - } - this.completed = false; - this.aborted = false; - this.upgrade = upgrade || null; - this.path = query ? util.buildURL(path7, query) : path7; - this.origin = origin; - this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent; - this.blocking = blocking == null ? false : blocking; - this.reset = reset == null ? null : reset; - this.host = null; - this.contentLength = null; - this.contentType = null; - this.headers = ""; - this.expectContinue = expectContinue != null ? expectContinue : false; - if (Array.isArray(headers)) { - if (headers.length % 2 !== 0) { - throw new InvalidArgumentError("headers array must be even"); - } - for (let i = 0; i < headers.length; i += 2) { - processHeader(this, headers[i], headers[i + 1]); } - } else if (headers && typeof headers === "object") { - const keys = Object.keys(headers); - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - processHeader(this, key, headers[key]); + this.timeoutValue = delay; + } else if (this.timeout) { + if (this.timeout.refresh) { + this.timeout.refresh(); } - } else if (headers != null) { - throw new InvalidArgumentError("headers must be an object or an array"); } - if (util.isFormDataLike(this.body)) { - if (util.nodeMajor < 16 || util.nodeMajor === 16 && util.nodeMinor < 8) { - throw new InvalidArgumentError("Form-Data bodies are only supported in node v16.8 and newer."); - } - if (!extractBody) { - extractBody = require_body2().extractBody; - } - const [bodyStream, contentType] = extractBody(body); - if (this.contentType == null) { - this.contentType = contentType; - this.headers += `content-type: ${contentType}\r -`; - } - this.body = bodyStream.stream; - this.contentLength = bodyStream.length; - } else if (util.isBlobLike(body) && this.contentType == null && body.type) { - this.contentType = body.type; - this.headers += `content-type: ${body.type}\r -`; + this.timeoutType = type2; + } + resume() { + if (this.socket.destroyed || !this.paused) { + return; } - util.validateHandler(handler2, method, upgrade); - this.servername = util.getServerName(this.host); - this[kHandler] = handler2; - if (channels.create.hasSubscribers) { - channels.create.publish({ request: this }); + 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(); } - onBodySent(chunk) { - if (this[kHandler].onBodySent) { - try { - return this[kHandler].onBodySent(chunk); - } catch (err) { - this.abort(err); + readMore() { + while (!this.paused && this.ptr) { + const chunk = this.socket.read(); + if (chunk === null) { + break; } + this.execute(chunk); } } - onRequestSent() { - if (channels.bodySent.hasSubscribers) { - channels.bodySent.publish({ request: this }); + 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); } - if (this[kHandler].onRequestSent) { + new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data); + try { + let ret; try { - return this[kHandler].onRequestSent(); + currentBufferRef = data; + currentParser = this; + ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length); } catch (err) { - this.abort(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); } } - onConnect(abort) { - assert(!this.aborted); - assert(!this.completed); - if (this.error) { - abort(this.error); - } else { - this.abort = abort; - return this[kHandler].onConnect(abort); - } + 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; } - onHeaders(statusCode, headers, resume, statusText) { - assert(!this.aborted); - assert(!this.completed); - if (channels.headers.hasSubscribers) { - channels.headers.publish({ request: this, response: { statusCode, headers, statusText } }); + onStatus(buf) { + this.statusText = buf.toString(); + } + onMessageBegin() { + const { socket, client } = this; + if (socket.destroyed) { + return -1; } - try { - return this[kHandler].onHeaders(statusCode, headers, resume, statusText); - } catch (err) { - this.abort(err); + const request2 = client[kQueue][client[kRunningIdx]]; + if (!request2) { + return -1; } + request2.onResponseStarted(); } - onData(chunk) { - assert(!this.aborted); - assert(!this.completed); - try { - return this[kHandler].onData(chunk); - } catch (err) { - this.abort(err); - return false; + 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); } - onUpgrade(statusCode, headers, socket) { - assert(!this.aborted); - assert(!this.completed); - return this[kHandler].onUpgrade(statusCode, headers, socket); + 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); } - onComplete(trailers) { - this.onFinally(); - assert(!this.aborted); - this.completed = true; - if (channels.trailers.hasSubscribers) { - channels.trailers.publish({ request: this, trailers }); + 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 { - return this[kHandler].onComplete(trailers); + request2.onUpgrade(statusCode, headers, socket); } catch (err) { - this.onError(err); + util.destroy(socket, err); } + client[kResume](); } - onError(error3) { - this.onFinally(); - if (channels.error.hasSubscribers) { - channels.error.publish({ request: this, error: error3 }); + onHeadersComplete(statusCode, upgrade, shouldKeepAlive) { + const { client, socket, headers, statusText } = this; + if (socket.destroyed) { + return -1; } - if (this.aborted) { - return; + const request2 = client[kQueue][client[kRunningIdx]]; + if (!request2) { + return -1; } - this.aborted = true; - return this[kHandler].onError(error3); - } - onFinally() { - if (this.errorHandler) { - this.body.off("error", this.errorHandler); - this.errorHandler = null; + assert(!this.upgrade); + assert(this.statusCode < 200); + if (statusCode === 100) { + util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket))); + return -1; } - if (this.endHandler) { - this.body.off("end", this.endHandler); - this.endHandler = null; + if (upgrade && !request2.upgrade) { + util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket))); + return -1; } - } - // TODO: adjust to support H2 - addHeader(key, value) { - processHeader(this, key, value); - return this; - } - static [kHTTP1BuildRequest](origin, opts, handler2) { - return new _Request(origin, opts, handler2); - } - static [kHTTP2BuildRequest](origin, opts, handler2) { - const headers = opts.headers; - opts = { ...opts, headers: null }; - const request2 = new _Request(origin, opts, handler2); - request2.headers = {}; - if (Array.isArray(headers)) { - if (headers.length % 2 !== 0) { - throw new InvalidArgumentError("headers array must be even"); + 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(); } - for (let i = 0; i < headers.length; i += 2) { - processHeader(request2, headers[i], headers[i + 1], true); + } + 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 if (headers && typeof headers === "object") { - const keys = Object.keys(headers); - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - processHeader(request2, key, headers[key], true); + } 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(); } - } else if (headers != null) { - throw new InvalidArgumentError("headers must be an object or an array"); } - return request2; + 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; + } } - static [kHTTP2CopyHeaders](raw) { - const rawHeaders = raw.split("\r\n"); - const headers = {}; - for (const header of rawHeaders) { - const [key, value] = header.split(": "); - if (value == null || value.length === 0) continue; - if (headers[key]) headers[key] += `,${value}`; - else headers[key] = value; + 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](); } - return headers; } }; - function processHeaderValue(key, val, skipAppend) { - if (val && typeof val === "object") { - throw new InvalidArgumentError(`invalid ${key} header`); - } - val = val != null ? `${val}` : ""; - if (headerCharRegex.exec(val) !== null) { - throw new InvalidArgumentError(`invalid ${key} header`); + 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")); } - return skipAppend ? val : `${key}: ${val}\r -`; } - function processHeader(request2, key, val, skipAppend = false) { - if (val && (typeof val === "object" && !Array.isArray(val))) { - throw new InvalidArgumentError(`invalid ${key} header`); - } else if (val === void 0) { - return; + async function connectH1(client, socket) { + client[kSocket] = socket; + if (!llhttpInstance) { + llhttpInstance = await llhttpPromise; + llhttpPromise = null; } - if (request2.host === null && key.length === 4 && key.toLowerCase() === "host") { - if (headerCharRegex.exec(val) !== null) { - throw new InvalidArgumentError(`invalid ${key} header`); + 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; } - request2.host = val; - } else if (request2.contentLength === null && key.length === 14 && key.toLowerCase() === "content-length") { - request2.contentLength = parseInt(val, 10); - if (!Number.isFinite(request2.contentLength)) { - throw new InvalidArgumentError("invalid content-length header"); + this[kError] = err; + this[kClient][kOnError](err); + }); + addListener(socket, "readable", function() { + const parser = this[kParser]; + if (parser) { + parser.readMore(); } - } else if (request2.contentType === null && key.length === 12 && key.toLowerCase() === "content-type") { - request2.contentType = val; - if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend); - else request2.headers += processHeaderValue(key, val); - } else if (key.length === 17 && key.toLowerCase() === "transfer-encoding") { - throw new InvalidArgumentError("invalid transfer-encoding header"); - } else if (key.length === 10 && key.toLowerCase() === "connection") { - const value = typeof val === "string" ? val.toLowerCase() : null; - if (value !== "close" && value !== "keep-alive") { - throw new InvalidArgumentError("invalid connection header"); - } else if (value === "close") { - request2.reset = true; + }); + addListener(socket, "end", function() { + const parser = this[kParser]; + if (parser.statusCode && !parser.shouldKeepAlive) { + parser.onMessageComplete(); + return; } - } else if (key.length === 10 && key.toLowerCase() === "keep-alive") { - throw new InvalidArgumentError("invalid keep-alive header"); - } else if (key.length === 7 && key.toLowerCase() === "upgrade") { - throw new InvalidArgumentError("invalid upgrade header"); - } else if (key.length === 6 && key.toLowerCase() === "expect") { - throw new NotSupportedError("expect header not supported"); - } else if (tokenRegExp.exec(key) === null) { - throw new InvalidArgumentError("invalid header key"); - } else { - if (Array.isArray(val)) { - for (let i = 0; i < val.length; i++) { - if (skipAppend) { - if (request2.headers[key]) request2.headers[key] += `,${processHeaderValue(key, val[i], skipAppend)}`; - else request2.headers[key] = processHeaderValue(key, val[i], skipAppend); - } else { - request2.headers += processHeaderValue(key, val[i]); + 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; } } - } else { - if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend); - else request2.headers += processHeaderValue(key, val); + 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); + } } } } - module2.exports = Request; - } -}); - -// node_modules/undici/lib/dispatcher.js -var require_dispatcher2 = __commonJS({ - "node_modules/undici/lib/dispatcher.js"(exports2, module2) { - "use strict"; - var EventEmitter = require("events"); - var Dispatcher = class extends EventEmitter { - dispatch() { - throw new Error("not implemented"); + function shouldSendContentLength(method) { + return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT"; + } + function writeH1(client, request2) { + const { method, path: path7, host, upgrade, blocking, reset } = request2; + let { body, headers, contentLength } = request2; + const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH" || method === "QUERY" || method === "PROPFIND" || method === "PROPPATCH"; + if (util.isFormDataLike(body)) { + if (!extractBody) { + extractBody = require_body2().extractBody; + } + const [bodyStream, contentType] = extractBody(body); + if (request2.contentType == null) { + headers.push("content-type", contentType); + } + body = bodyStream.stream; + contentLength = bodyStream.length; + } else if (util.isBlobLike(body) && request2.contentType == null && body.type) { + headers.push("content-type", body.type); } - close() { - throw new Error("not implemented"); + if (body && typeof body.read === "function") { + body.read(0); } - destroy() { - throw new Error("not implemented"); + const bodyLength = util.bodyLength(body); + contentLength = bodyLength ?? contentLength; + if (contentLength === null) { + contentLength = request2.contentLength; } - }; - module2.exports = Dispatcher; - } -}); - -// node_modules/undici/lib/dispatcher-base.js -var require_dispatcher_base2 = __commonJS({ - "node_modules/undici/lib/dispatcher-base.js"(exports2, module2) { - "use strict"; - var Dispatcher = require_dispatcher2(); - var { - ClientDestroyedError, - ClientClosedError, - InvalidArgumentError - } = require_errors2(); - var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols6(); - var kDestroyed = /* @__PURE__ */ Symbol("destroyed"); - var kClosed = /* @__PURE__ */ Symbol("closed"); - var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed"); - var kOnClosed = /* @__PURE__ */ Symbol("onClosed"); - var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch"); - var DispatcherBase = class extends Dispatcher { - constructor() { - super(); - this[kDestroyed] = false; - this[kOnDestroyed] = null; - this[kClosed] = false; - this[kOnClosed] = []; + if (contentLength === 0 && !expectsPayload) { + contentLength = null; } - get destroyed() { - return this[kDestroyed]; + 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()); } - get closed() { - return this[kClosed]; + const socket = client[kSocket]; + const abort = (err) => { + if (request2.aborted || request2.completed) { + return; + } + util.errorRequest(client, request2, err || new RequestAbortedError()); + util.destroy(body); + util.destroy(socket, new InformationalError("aborted")); + }; + try { + request2.onConnect(abort); + } catch (err) { + util.errorRequest(client, request2, err); } - get interceptors() { - return this[kInterceptors]; + if (request2.aborted) { + return false; } - 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"); + 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} ${path7} 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 +`; } } - this[kInterceptors] = newInterceptors; } - close(callback) { - if (callback === void 0) { - return new Promise((resolve5, reject) => { - this.close((err, data) => { - return err ? reject(err) : resolve5(data); - }); - }); - } - if (typeof callback !== "function") { - throw new InvalidArgumentError("invalid callback"); + if (channels.sendHeaders.hasSubscribers) { + channels.sendHeaders.publish({ request: request2, headers: header, socket }); + } + if (!body || bodyLength === 0) { + writeBuffer(abort, null, client, request2, socket, contentLength, header, expectsPayload); + } else if (util.isBuffer(body)) { + writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload); + } else if (util.isBlobLike(body)) { + if (typeof body.stream === "function") { + writeIterable(abort, body.stream(), client, request2, socket, contentLength, header, expectsPayload); + } else { + writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload); } - if (this[kDestroyed]) { - queueMicrotask(() => callback(new ClientDestroyedError(), null)); + } else if (util.isStream(body)) { + writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload); + } else if (util.isIterable(body)) { + writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload); + } else { + assert(false); + } + return true; + } + function writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload) { + assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined"); + let finished = false; + const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header }); + const onData = function(chunk) { + if (finished) { return; } - if (this[kClosed]) { - if (this[kOnClosed]) { - this[kOnClosed].push(callback); - } else { - queueMicrotask(() => callback(null, null)); + try { + if (!writer.write(chunk) && this.pause) { + this.pause(); } - return; + } catch (err) { + util.destroy(this, err); } - 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); - }); - } - destroy(err, callback) { - if (typeof err === "function") { - callback = err; - err = null; + }; + const onDrain = function() { + if (finished) { + return; } - if (callback === void 0) { - return new Promise((resolve5, reject) => { - this.destroy(err, (err2, data) => { - return err2 ? ( - /* istanbul ignore next: should never error */ - reject(err2) - ) : resolve5(data); - }); - }); + if (body.resume) { + body.resume(); } - if (typeof callback !== "function") { - throw new InvalidArgumentError("invalid callback"); + }; + const onClose = function() { + queueMicrotask(() => { + body.removeListener("error", onFinished); + }); + if (!finished) { + const err = new RequestAbortedError(); + queueMicrotask(() => onFinished(err)); } - if (this[kDestroyed]) { - if (this[kOnDestroyed]) { - this[kOnDestroyed].push(callback); - } else { - queueMicrotask(() => callback(null, null)); - } + }; + const onFinished = function(err) { + if (finished) { return; } + finished = true; + assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1); + socket.off("drain", onDrain).off("error", onFinished); + body.removeListener("data", onData).removeListener("end", onFinished).removeListener("close", onClose); if (!err) { - err = new ClientDestroyedError(); + try { + writer.end(); + } catch (er) { + err = er; + } } - 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); + writer.destroy(err); + if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) { + util.destroy(body, err); + } else { + util.destroy(body); + } + }; + body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onClose); + if (body.resume) { + body.resume(); + } + socket.on("drain", onDrain).on("error", onFinished); + if (body.errorEmitted ?? body.errored) { + setImmediate(() => onFinished(body.errored)); + } else if (body.endEmitted ?? body.readableEnded) { + setImmediate(() => onFinished(null)); + } + if (body.closeEmitted ?? body.closed) { + setImmediate(onClose); + } + } + function writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload) { + try { + if (!body) { + if (contentLength === 0) { + socket.write(`${header}content-length: 0\r +\r +`, "latin1"); + } else { + assert(contentLength === null, "no body must not have content length"); + socket.write(`${header}\r +`, "latin1"); } - }; - this[kDestroy](err).then(() => { - queueMicrotask(onDestroyed); - }); + } else if (util.isBuffer(body)) { + assert(contentLength === body.byteLength, "buffer body must have content length"); + socket.cork(); + socket.write(`${header}content-length: ${contentLength}\r +\r +`, "latin1"); + socket.write(body); + socket.uncork(); + request2.onBodySent(body); + if (!expectsPayload && request2.reset !== false) { + socket[kReset] = true; + } + } + request2.onRequestSent(); + client[kResume](); + } catch (err) { + abort(err); } - [kInterceptedDispatch](opts, handler2) { - if (!this[kInterceptors] || this[kInterceptors].length === 0) { - this[kInterceptedDispatch] = this[kDispatch]; - return this[kDispatch](opts, handler2); + } + async function writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload) { + assert(contentLength === body.size, "blob body must have content length"); + try { + if (contentLength != null && contentLength !== body.size) { + throw new RequestContentLengthMismatchError(); } - let dispatch = this[kDispatch].bind(this); - for (let i = this[kInterceptors].length - 1; i >= 0; i--) { - dispatch = this[kInterceptors][i](dispatch); + const buffer = Buffer.from(await body.arrayBuffer()); + socket.cork(); + socket.write(`${header}content-length: ${contentLength}\r +\r +`, "latin1"); + socket.write(buffer); + socket.uncork(); + request2.onBodySent(buffer); + request2.onRequestSent(); + if (!expectsPayload && request2.reset !== false) { + socket[kReset] = true; } - this[kInterceptedDispatch] = dispatch; - return dispatch(opts, handler2); + client[kResume](); + } catch (err) { + abort(err); } - dispatch(opts, handler2) { - if (!handler2 || typeof handler2 !== "object") { - throw new InvalidArgumentError("handler must be an object"); + } + async function writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload) { + assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined"); + let callback = null; + function onDrain() { + if (callback) { + const cb = callback; + callback = null; + cb(); } - 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(); + } + const waitForDrain = () => new Promise((resolve5, reject) => { + assert(callback === null); + if (socket[kError]) { + reject(socket[kError]); + } else { + callback = resolve5; + } + }); + socket.on("close", onDrain).on("drain", onDrain); + const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header }); + try { + for await (const chunk of body) { + if (socket[kError]) { + throw socket[kError]; } - return this[kInterceptedDispatch](opts, handler2); - } catch (err) { - if (typeof handler2.onError !== "function") { - throw new InvalidArgumentError("invalid onError method"); + if (!writer.write(chunk)) { + await waitForDrain(); } - handler2.onError(err); - return false; } + writer.end(); + } catch (err) { + writer.destroy(err); + } finally { + socket.off("close", onDrain).off("drain", onDrain); } - }; - module2.exports = DispatcherBase; - } -}); - -// node_modules/undici/lib/core/connect.js -var require_connect2 = __commonJS({ - "node_modules/undici/lib/core/connect.js"(exports2, module2) { - "use strict"; - var net = require("net"); - var assert = require("assert"); - var util = require_util9(); - var { InvalidArgumentError, ConnectTimeoutError } = require_errors2(); - var tls; - var SessionCache; - if (global.FinalizationRegistry && !process.env.NODE_V8_COVERAGE) { - SessionCache = class WeakSessionCache { - constructor(maxCachedSessions) { - this._maxCachedSessions = maxCachedSessions; - this._sessionCache = /* @__PURE__ */ new Map(); - this._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 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]; } - get(sessionKey) { - const ref = this._sessionCache.get(sessionKey); - return ref ? ref.deref() : null; + if (socket.destroyed) { + return false; } - set(sessionKey, session) { - if (this._maxCachedSessions === 0) { - return; + const len = Buffer.byteLength(chunk); + if (!len) { + return true; + } + if (contentLength !== null && bytesWritten + len > contentLength) { + if (client[kStrictContentLength]) { + throw new RequestContentLengthMismatchError(); } - this._sessionCache.set(sessionKey, new WeakRef(session)); - this._sessionRegistry.register(session, sessionKey); + process.emitWarning(new RequestContentLengthMismatchError()); } - }; - } else { - SessionCache = class SimpleSessionCache { - constructor(maxCachedSessions) { - this._maxCachedSessions = maxCachedSessions; - this._sessionCache = /* @__PURE__ */ new Map(); + 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"); + } } - get(sessionKey) { - return this._sessionCache.get(sessionKey); + if (contentLength === null) { + socket.write(`\r +${len.toString(16)}\r +`, "latin1"); } - set(sessionKey, session) { - if (this._maxCachedSessions === 0) { - return; - } - if (this._sessionCache.size >= this._maxCachedSessions) { - const { value: oldestKey } = this._sessionCache.keys().next(); - this._sessionCache.delete(oldestKey); + 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(); + } } - this._sessionCache.set(sessionKey, session); } - }; - } - function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, ...opts }) { - if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) { - throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero"); + return ret; } - const options = { path: socketPath, ...opts }; - const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions); - timeout = timeout == null ? 1e4 : timeout; - allowH2 = allowH2 != null ? allowH2 : false; - return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) { - let socket; - if (protocol === "https:") { - if (!tls) { - tls = require("tls"); - } - servername = servername || options.servername || util.getServerName(host) || null; - const sessionKey = servername || hostname; - const session = sessionCache.get(sessionKey) || null; - assert(sessionKey); - socket = tls.connect({ - highWaterMark: 16384, - // TLS in node can't have bigger HWM anyway... - ...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: port || 443, - host: hostname - }); - socket.on("session", function(session2) { - sessionCache.set(sessionKey, session2); - }); - } else { - assert(!httpSocket, "httpSocket can only be sent on TLS update"); - socket = net.connect({ - highWaterMark: 64 * 1024, - // Same as nodejs fs streams. - ...options, - localAddress, - port: port || 80, - host: hostname - }); + end() { + const { socket, contentLength, client, bytesWritten, expectsPayload, header, request: request2 } = this; + request2.onRequestSent(); + socket[kWriting] = false; + if (socket[kError]) { + throw socket[kError]; } - if (options.keepAlive == null || options.keepAlive) { - const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay; - socket.setKeepAlive(true, keepAliveInitialDelay); + if (socket.destroyed) { + return; } - const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout); - socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() { - cancelTimeout(); - if (callback) { - const cb = callback; - callback = null; - cb(null, this); - } - }).on("error", function(err) { - cancelTimeout(); - if (callback) { - const cb = callback; - callback = null; - cb(err); + if (bytesWritten === 0) { + if (expectsPayload) { + socket.write(`${header}content-length: 0\r +\r +`, "latin1"); + } else { + socket.write(`${header}\r +`, "latin1"); } - }); - return socket; - }; - } - function setupTimeout(onConnectTimeout2, timeout) { - if (!timeout) { - return () => { - }; - } - let s1 = null; - let s2 = null; - const timeoutId = setTimeout(() => { - s1 = setImmediate(() => { - if (process.platform === "win32") { - s2 = setImmediate(() => onConnectTimeout2()); + } 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 { - onConnectTimeout2(); + process.emitWarning(new RequestContentLengthMismatchError()); } - }); - }, timeout); - return () => { - clearTimeout(timeoutId); - clearImmediate(s1); - clearImmediate(s2); - }; - } - function onConnectTimeout(socket) { - util.destroy(socket, new ConnectTimeoutError()); - } - module2.exports = buildConnector; - } -}); - -// node_modules/undici/lib/llhttp/utils.js -var require_utils3 = __commonJS({ - "node_modules/undici/lib/llhttp/utils.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.enumToMap = void 0; - function enumToMap(obj) { - const res = {}; - Object.keys(obj).forEach((key) => { - const value = obj[key]; - if (typeof value === "number") { - res[key] = value; } - }); - return res; - } - exports2.enumToMap = enumToMap; + 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/llhttp/constants.js -var require_constants8 = __commonJS({ - "node_modules/undici/lib/llhttp/constants.js"(exports2) { +// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h2.js +var require_client_h22 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h2.js"(exports2, module2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0; - var utils_1 = require_utils3(); - var ERROR; - (function(ERROR2) { - ERROR2[ERROR2["OK"] = 0] = "OK"; - ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL"; - ERROR2[ERROR2["STRICT"] = 2] = "STRICT"; - ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED"; - ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH"; - ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION"; - ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD"; - ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL"; - ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT"; - ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION"; - ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN"; - ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH"; - ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE"; - ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS"; - ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE"; - ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING"; - ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN"; - ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE"; - ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE"; - ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER"; - ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE"; - ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED"; - ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE"; - ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE"; - ERROR2[ERROR2["USER"] = 24] = "USER"; - })(ERROR = 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]; + var assert = require("node:assert"); + var { pipeline } = require("node:stream"); + var util = require_util9(); + var { + RequestContentLengthMismatchError, + RequestAbortedError, + SocketError, + InformationalError + } = require_errors2(); + var { + kUrl, + kReset, + kClient, + kRunning, + kPending, + kQueue, + kPendingIdx, + kRunningIdx, + kError, + kSocket, + kStrictContentLength, + kOnError, + kMaxConcurrentStreams, + kHTTP2Session, + kResume, + kSize, + kHTTPContext + } = require_symbols6(); + var kOpenStreams = /* @__PURE__ */ 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 } - }); - 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)); + } = 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; } - 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); + 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; + } + }; } - 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); + 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(); + } } } - 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 - }; + function onHttp2SessionError(err) { + assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID"); + this[kSocket][kError] = err; + this[kClient][kOnError](err); + } + function onHttp2FrameError(type2, code, id) { + if (id === 0) { + const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, 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: path7, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2; + let { body } = request2; + if (upgrade) { + util.errorRequest(client, request2, new Error("Upgrade not supported for H2")); + return false; + } + const headers = {}; + for (let n = 0; n < reqHeaders.length; n += 2) { + const key = reqHeaders[n + 0]; + const val = reqHeaders[n + 1]; + if (Array.isArray(val)) { + for (let i = 0; i < val.length; i++) { + if (headers[key]) { + headers[key] += `,${val[i]}`; + } else { + headers[key] = val[i]; + } + } + } else { + headers[key] = val; + } + } + let stream; + const { hostname, port } = client[kUrl]; + headers[HTTP2_HEADER_AUTHORITY] = host || `${hostname}${port ? `:${port}` : ""}`; + headers[HTTP2_HEADER_METHOD] = method; + const abort = (err) => { + if (request2.aborted || request2.completed) { + return; + } + err = err || new RequestAbortedError(); + util.errorRequest(client, request2, err); + if (stream != null) { + util.destroy(stream, err); + } + util.destroy(body, err); + client[kQueue][client[kRunningIdx]++] = null; + client[kResume](); + }; + try { + request2.onConnect(abort); + } catch (err) { + util.errorRequest(client, request2, err); + } + if (request2.aborted) { + return false; + } + if (method === "CONNECT") { + session.ref(); + stream = session.request(headers, { endStream: false, signal }); + if (stream.id && !stream.pending) { + request2.onUpgrade(null, null, stream); + ++session[kOpenStreams]; + client[kQueue][client[kRunningIdx]++] = null; + } else { + stream.once("ready", () => { + request2.onUpgrade(null, null, stream); + ++session[kOpenStreams]; + client[kQueue][client[kRunningIdx]++] = null; + }); + } + stream.once("close", () => { + session[kOpenStreams] -= 1; + if (session[kOpenStreams] === 0) session.unref(); + }); + return true; + } + headers[HTTP2_HEADER_PATH] = path7; + headers[HTTP2_HEADER_SCHEME] = "https"; + const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH"; + if (body && typeof body.read === "function") { + body.read(0); + } + let contentLength = util.bodyLength(body); + if (util.isFormDataLike(body)) { + extractBody ??= require_body2().extractBody; + const [bodyStream, contentType] = extractBody(body); + headers["content-type"] = contentType; + body = bodyStream.stream; + contentLength = bodyStream.length; + } + if (contentLength == null) { + contentLength = request2.contentLength; + } + if (contentLength === 0 || !expectsPayload) { + contentLength = null; + } + if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) { + if (client[kStrictContentLength]) { + util.errorRequest(client, request2, new RequestContentLengthMismatchError()); + return false; + } + process.emitWarning(new RequestContentLengthMismatchError()); + } + if (contentLength != null) { + assert(body, "no body must not have content length"); + headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`; + } + session.ref(); + const shouldEndStream = method === "GET" || method === "HEAD" || body === null; + if (expectContinue) { + headers[HTTP2_HEADER_EXPECT] = "100-continue"; + stream = session.request(headers, { endStream: shouldEndStream, signal }); + stream.once("continue", writeBodyH2); + } else { + stream = session.request(headers, { + endStream: shouldEndStream, + signal + }); + writeBodyH2(); + } + ++session[kOpenStreams]; + stream.once("response", (headers2) => { + const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2; + request2.onResponseStarted(); + if (request2.aborted) { + const err = new RequestAbortedError(); + util.errorRequest(client, request2, err); + util.destroy(stream, err); + return; + } + if (request2.onHeaders(Number(statusCode), parseH2Headers(realHeaders), stream.resume.bind(stream), "") === false) { + stream.pause(); + } + stream.on("data", (chunk) => { + if (request2.onData(chunk) === false) { + stream.pause(); + } + }); + }); + stream.once("end", () => { + if (stream.state?.state == null || stream.state.state < 6) { + request2.onComplete([]); + } + if (session[kOpenStreams] === 0) { + session.unref(); + } + abort(new InformationalError("HTTP/2: stream half-closed (remote)")); + client[kQueue][client[kRunningIdx]++] = null; + client[kPendingIdx] = client[kRunningIdx]; + client[kResume](); + }); + stream.once("close", () => { + session[kOpenStreams] -= 1; + if (session[kOpenStreams] === 0) { + session.unref(); + } + }); + stream.once("error", function(err) { + abort(err); + }); + stream.once("frameError", (type2, code) => { + abort(new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`)); + }); + return true; + function writeBodyH2() { + if (!body || contentLength === 0) { + writeBuffer( + abort, + stream, + null, + client, + request2, + client[kSocket], + contentLength, + expectsPayload + ); + } else if (util.isBuffer(body)) { + writeBuffer( + abort, + stream, + body, + client, + request2, + client[kSocket], + contentLength, + expectsPayload + ); + } else if (util.isBlobLike(body)) { + if (typeof body.stream === "function") { + writeIterable( + abort, + stream, + body.stream(), + client, + request2, + client[kSocket], + contentLength, + expectsPayload + ); + } else { + writeBlob( + abort, + stream, + body, + client, + request2, + client[kSocket], + contentLength, + expectsPayload + ); + } + } else if (util.isStream(body)) { + writeStream( + abort, + client[kSocket], + expectsPayload, + stream, + body, + client, + request2, + contentLength + ); + } else if (util.isIterable(body)) { + writeIterable( + abort, + stream, + body, + client, + request2, + client[kSocket], + contentLength, + expectsPayload + ); + } else { + assert(false); + } + } + } + function writeBuffer(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) { + try { + if (body != null && util.isBuffer(body)) { + assert(contentLength === body.byteLength, "buffer body must have content length"); + h2stream.cork(); + h2stream.write(body); + h2stream.uncork(); + h2stream.end(); + request2.onBodySent(body); + } + if (!expectsPayload) { + socket[kReset] = true; + } + request2.onRequestSent(); + client[kResume](); + } catch (error3) { + abort(error3); + } + } + function writeStream(abort, socket, expectsPayload, h2stream, body, client, request2, contentLength) { + assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined"); + const pipe = pipeline( + body, + h2stream, + (err) => { + if (err) { + util.destroy(pipe, err); + abort(err); + } else { + util.removeAllListeners(pipe); + request2.onRequestSent(); + if (!expectsPayload) { + socket[kReset] = true; + } + client[kResume](); + } + } + ); + util.addListener(pipe, "data", onPipeData); + function onPipeData(chunk) { + request2.onBodySent(chunk); + } + } + async function writeBlob(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) { + assert(contentLength === body.size, "blob body must have content length"); + try { + if (contentLength != null && contentLength !== body.size) { + throw new RequestContentLengthMismatchError(); + } + const buffer = Buffer.from(await body.arrayBuffer()); + h2stream.cork(); + h2stream.write(buffer); + h2stream.uncork(); + h2stream.end(); + request2.onBodySent(buffer); + request2.onRequestSent(); + if (!expectsPayload) { + socket[kReset] = true; + } + client[kResume](); + } catch (err) { + abort(err); + } + } + async function writeIterable(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) { + assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined"); + let callback = null; + function onDrain() { + if (callback) { + const cb = callback; + callback = null; + cb(); + } + } + const waitForDrain = () => new Promise((resolve5, reject) => { + assert(callback === null); + if (socket[kError]) { + reject(socket[kError]); + } else { + callback = resolve5; + } + }); + h2stream.on("close", onDrain).on("drain", onDrain); + try { + for await (const chunk of body) { + if (socket[kError]) { + throw socket[kError]; + } + const res = h2stream.write(chunk); + request2.onBodySent(chunk); + if (!res) { + await waitForDrain(); + } + } + h2stream.end(); + request2.onRequestSent(); + if (!expectsPayload) { + socket[kReset] = true; + } + client[kResume](); + } catch (err) { + abort(err); + } finally { + h2stream.off("close", onDrain).off("drain", onDrain); + } + } + module2.exports = connectH2; } }); -// node_modules/undici/lib/handler/RedirectHandler.js -var require_RedirectHandler = __commonJS({ - "node_modules/undici/lib/handler/RedirectHandler.js"(exports2, module2) { +// node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js +var require_redirect_handler2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js"(exports2, module2) { "use strict"; var util = require_util9(); var { kBodyUsed } = require_symbols6(); - var assert = require("assert"); + var assert = require("node:assert"); var { InvalidArgumentError } = require_errors2(); - var EE = require("events"); + var EE = require("node:events"); var redirectableStatusCodes = [300, 301, 302, 303, 307, 308]; var kBody = /* @__PURE__ */ Symbol("body"); var BodyAsyncIterable = class { @@ -27729,6 +28500,7 @@ var require_RedirectHandler = __commonJS({ 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() { @@ -27759,6 +28531,14 @@ var require_RedirectHandler = __commonJS({ } 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)); } @@ -27803,7 +28583,7 @@ var require_RedirectHandler = __commonJS({ return null; } for (let i = 0; i < headers.length; i += 2) { - if (headers[i].toString().toLowerCase() === "location") { + if (headers[i].length === 8 && util.headerNameToString(headers[i]) === "location") { return headers[i + 1]; } } @@ -27844,11 +28624,11 @@ var require_RedirectHandler = __commonJS({ } }); -// node_modules/undici/lib/interceptor/redirectInterceptor.js -var require_redirectInterceptor = __commonJS({ - "node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports2, module2) { +// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js +var require_redirect_interceptor2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js"(exports2, module2) { "use strict"; - var RedirectHandler = require_RedirectHandler(); + var RedirectHandler = require_redirect_handler2(); function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) { return (dispatch) => { return function Intercept(opts, handler2) { @@ -27866,73 +28646,43 @@ var require_redirectInterceptor = __commonJS({ } }); -// node_modules/undici/lib/llhttp/llhttp-wasm.js -var require_llhttp_wasm2 = __commonJS({ - "node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) { - module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8="; - } -}); - -// node_modules/undici/lib/llhttp/llhttp_simd-wasm.js -var require_llhttp_simd_wasm2 = __commonJS({ - "node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) { - module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw=="; - } -}); - -// node_modules/undici/lib/client.js +// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js var require_client2 = __commonJS({ - "node_modules/undici/lib/client.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js"(exports2, module2) { "use strict"; - var assert = require("assert"); - var net = require("net"); - var http = require("http"); - var { pipeline } = require("stream"); + var assert = require("node:assert"); + var net = require("node:net"); + var http = require("node:http"); var util = require_util9(); - var timers = require_timers2(); + var { channels } = require_diagnostics2(); var Request = require_request3(); var DispatcherBase = require_dispatcher_base2(); var { - RequestContentLengthMismatchError, - ResponseContentLengthMismatchError, InvalidArgumentError, - RequestAbortedError, - HeadersTimeoutError, - HeadersOverflowError, - SocketError, InformationalError, - BodyTimeoutError, - HTTPParserError, - ResponseExceededMaxSizeError, ClientDestroyedError } = require_errors2(); var buildConnector = require_connect2(); var { kUrl, - kReset, kServerName, kClient, kBusy, - kParser, kConnect, - kBlocking, kResuming, kRunning, kPending, kSize, - kWriting, kQueue, kConnected, kConnecting, kNeedDrain, - kNoRef, kKeepAliveDefaultTimeout, kHostHeader, kPendingIdx, kRunningIdx, kError, kPipelining, - kSocket, kKeepAliveTimeoutValue, kMaxHeadersSize, kKeepAliveMaxTimeout, @@ -27950,53 +28700,25 @@ var require_client2 = __commonJS({ kInterceptors, kLocalAddress, kMaxResponseSize, - kHTTPConnVersion, - // HTTP2 - kHost, - kHTTP2Session, - kHTTP2SessionState, - kHTTP2BuildRequest, - kHTTP2CopyHeaders, - kHTTP1BuildRequest + kOnError, + kHTTPContext, + kMaxConcurrentStreams, + kResume } = require_symbols6(); - var http2; - try { - http2 = require("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; - var h2ExperimentalWarned = false; - var FastBuffer = Buffer[Symbol.species]; + var connectH1 = require_client_h12(); + var connectH2 = require_client_h22(); + var deprecatedInterceptorWarned = false; var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve"); - var channels = {}; - try { - const diagnosticsChannel = require("diagnostics_channel"); - channels.sendHeaders = diagnosticsChannel.channel("undici:client:sendHeaders"); - channels.beforeConnect = diagnosticsChannel.channel("undici:client:beforeConnect"); - channels.connectError = diagnosticsChannel.channel("undici:client:connectError"); - channels.connected = diagnosticsChannel.channel("undici:client:connected"); - } catch { - channels.sendHeaders = { hasSubscribers: false }; - channels.beforeConnect = { hasSubscribers: false }; - channels.connectError = { hasSubscribers: false }; - channels.connected = { hasSubscribers: false }; + 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').Client.Options} options + * @param {import('../../types/client.js').Client.Options} options */ constructor(url, { interceptors, @@ -28025,8 +28747,8 @@ var require_client2 = __commonJS({ autoSelectFamily, autoSelectFamilyAttemptTimeout, // h2 - allowH2, - maxConcurrentStreams + maxConcurrentStreams, + allowH2 } = {}) { super(); if (keepAlive !== void 0) { @@ -28090,7 +28812,7 @@ var require_client2 = __commonJS({ throw new InvalidArgumentError("allowH2 must be a valid boolean value"); } if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) { - throw new InvalidArgumentError("maxConcurrentStreams must be a possitive integer, greater than 0"); + throw new InvalidArgumentError("maxConcurrentStreams must be a positive integer, greater than 0"); } if (typeof connect2 !== "function") { connect2 = buildConnector({ @@ -28099,19 +28821,28 @@ var require_client2 = __commonJS({ allowH2, socketPath, timeout: connectTimeout, - ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0, + ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0, ...connect2 }); } - this[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client) ? interceptors.Client : [createRedirectInterceptor({ maxRedirections })]; + 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[kSocket] = null; this[kPipelining] = pipelining != null ? pipelining : 1; this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize; this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout; this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout; - this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold; + this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 2e3 : keepAliveTimeoutThreshold; this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout]; this[kServerName] = null; this[kLocalAddress] = localAddress != null ? localAddress : null; @@ -28126,26 +28857,20 @@ var require_client2 = __commonJS({ this[kMaxRequests] = maxRequestsPerClient; this[kClosedResolve] = null; this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1; - this[kHTTPConnVersion] = "h1"; - this[kHTTP2Session] = null; - this[kHTTP2SessionState] = !allowH2 ? null : { - // streams: null, // Fixed queue of streams - For future support of `push` - openStreams: 0, - // Keep track of them to decide wether or not unref the session - maxConcurrentStreams: maxConcurrentStreams != null ? maxConcurrentStreams : 100 - // Max peerConcurrentStreams for a Node h2 server - }; - this[kHost] = `${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}`; + this[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; - resume(this, true); + this[kResume](true); } get [kPending]() { return this[kQueue].length - this[kPendingIdx]; @@ -28157,11 +28882,12 @@ var require_client2 = __commonJS({ return this[kQueue].length - this[kRunningIdx]; } get [kConnected]() { - return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed; + return !!this[kHTTPContext] && !this[kConnecting] && !this[kHTTPContext].destroyed; } get [kBusy]() { - const socket = this[kSocket]; - return socket && (socket[kReset] || socket[kWriting] || socket[kBlocking]) || this[kSize] >= (this[kPipelining] || 1) || this[kPending] > 0; + return Boolean( + this[kHTTPContext]?.busy(null) || this[kSize] >= (getPipelining(this) || 1) || this[kPending] > 0 + ); } /* istanbul ignore: only used for test */ [kConnect](cb) { @@ -28170,14 +28896,14 @@ var require_client2 = __commonJS({ } [kDispatch](opts, handler2) { const origin = opts.origin || this[kUrl].origin; - const request2 = this[kHTTPConnVersion] === "h2" ? Request[kHTTP2BuildRequest](origin, opts, handler2) : Request[kHTTP1BuildRequest](origin, opts, handler2); + 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; - process.nextTick(resume, this); + queueMicrotask(() => resume(this)); } else { - resume(this, true); + this[kResume](true); } if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) { this[kNeedDrain] = 2; @@ -28186,10 +28912,10 @@ var require_client2 = __commonJS({ } async [kClose]() { return new Promise((resolve5) => { - if (!this[kSize]) { - resolve5(null); - } else { + if (this[kSize]) { this[kClosedResolve] = resolve5; + } else { + resolve5(null); } }); } @@ -28198,570 +28924,40 @@ var require_client2 = __commonJS({ const requests = this[kQueue].splice(this[kPendingIdx]); for (let i = 0; i < requests.length; i++) { const request2 = requests[i]; - errorRequest2(this, request2, err); + util.errorRequest(this, request2, err); } const callback = () => { if (this[kClosedResolve]) { this[kClosedResolve](); this[kClosedResolve] = null; } - resolve5(); + resolve5(null); }; - if (this[kHTTP2Session] != null) { - util.destroy(this[kHTTP2Session], err); - this[kHTTP2Session] = null; - this[kHTTP2SessionState] = null; - } - if (!this[kSocket]) { - queueMicrotask(callback); + if (this[kHTTPContext]) { + this[kHTTPContext].destroy(err, callback); + this[kHTTPContext] = null; } else { - util.destroy(this[kSocket].on("close", callback), err); + queueMicrotask(callback); } - resume(this); + this[kResume](); }); } }; - function onHttp2SessionError(err) { - assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID"); - this[kSocket][kError] = err; - onError(this[kClient], err); - } - function onHttp2FrameError(type2, code, id) { - const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`); - if (id === 0) { - this[kSocket][kError] = err; - onError(this[kClient], err); - } - } - function onHttp2SessionEnd() { - util.destroy(this, new SocketError("other side closed")); - util.destroy(this[kSocket], new SocketError("other side closed")); - } - function onHTTP2GoAway(code) { - const client = this[kClient]; - const err = new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`); - client[kSocket] = null; - client[kHTTP2Session] = null; - if (client.destroyed) { - assert(this[kPending] === 0); + var createRedirectInterceptor = require_redirect_interceptor2(); + 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]; - errorRequest2(this, request2, err); + util.errorRequest(client, request2, err); } - } else if (client[kRunning] > 0) { - const request2 = client[kQueue][client[kRunningIdx]]; - client[kQueue][client[kRunningIdx]++] = null; - errorRequest2(client, request2, err); + assert(client[kSize] === 0); } - client[kPendingIdx] = client[kRunningIdx]; - assert(client[kRunning] === 0); - client.emit( - "disconnect", - client[kUrl], - [client], - err - ); - resume(client); - } - var constants = require_constants8(); - var createRedirectInterceptor = require_redirectInterceptor(); - var EMPTY_BUF = Buffer.alloc(0); - async function lazyllhttp() { - const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm2() : void 0; - let mod; - try { - mod = await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm2(), "base64")); - } catch (e) { - mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require_llhttp_wasm2(), "base64")); - } - return await WebAssembly.instantiate(mod, { - env: { - /* eslint-disable camelcase */ - wasm_on_url: (p, at, len) => { - return 0; - }, - wasm_on_status: (p, at, len) => { - assert.strictEqual(currentParser.ptr, p); - const start = at - currentBufferPtr + currentBufferRef.byteOffset; - return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; - }, - wasm_on_message_begin: (p) => { - assert.strictEqual(currentParser.ptr, p); - return currentParser.onMessageBegin() || 0; - }, - wasm_on_header_field: (p, at, len) => { - assert.strictEqual(currentParser.ptr, p); - const start = at - currentBufferPtr + currentBufferRef.byteOffset; - return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; - }, - wasm_on_header_value: (p, at, len) => { - assert.strictEqual(currentParser.ptr, p); - const start = at - currentBufferPtr + currentBufferRef.byteOffset; - return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; - }, - wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => { - assert.strictEqual(currentParser.ptr, p); - return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0; - }, - wasm_on_body: (p, at, len) => { - assert.strictEqual(currentParser.ptr, p); - const start = at - currentBufferPtr + currentBufferRef.byteOffset; - return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; - }, - wasm_on_message_complete: (p) => { - assert.strictEqual(currentParser.ptr, p); - return currentParser.onMessageComplete() || 0; - } - /* eslint-enable camelcase */ - } - }); - } - var llhttpInstance = null; - var llhttpPromise = lazyllhttp(); - llhttpPromise.catch(); - var currentParser = null; - var currentBufferRef = null; - var currentBufferSize = 0; - var currentBufferPtr = null; - var TIMEOUT_HEADERS = 1; - var TIMEOUT_BODY = 2; - var TIMEOUT_IDLE = 3; - var 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(value, type2) { - this.timeoutType = type2; - if (value !== this.timeoutValue) { - timers.clearTimeout(this.timeout); - if (value) { - this.timeout = timers.setTimeout(onParserTimeout, value, this); - if (this.timeout.unref) { - this.timeout.unref(); - } - } else { - this.timeout = null; - } - this.timeoutValue = value; - } else if (this.timeout) { - if (this.timeout.refresh) { - this.timeout.refresh(); - } - } - } - 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; - 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; - } - } - 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 && key.toString().toLowerCase() === "keep-alive") { - this.keepAlive += buf.toString(); - } else if (key.length === 10 && key.toString().toLowerCase() === "connection") { - this.connection += buf.toString(); - } else if (key.length === 14 && key.toString().toLowerCase() === "content-length") { - this.contentLength += buf.toString(); - } - this.trackHeader(buf.length); - } - trackHeader(len) { - this.headersSize += len; - if (this.headersSize >= this.headersMaxSize) { - util.destroy(this.socket, new HeadersOverflowError()); - } - } - onUpgrade(head) { - const { upgrade, client, socket, headers, statusCode } = this; - assert(upgrade); - const request2 = client[kQueue][client[kRunningIdx]]; - assert(request2); - assert(!socket.destroyed); - assert(socket === client[kSocket]); - assert(!this.paused); - assert(request2.upgrade || request2.method === "CONNECT"); - this.statusCode = null; - this.statusText = ""; - this.shouldKeepAlive = null; - assert(this.headers.length % 2 === 0); - this.headers = []; - this.headersSize = 0; - socket.unshift(head); - socket[kParser].destroy(); - socket[kParser] = null; - socket[kClient] = null; - socket[kError] = null; - socket.removeListener("error", onSocketError).removeListener("readable", onSocketReadable).removeListener("end", onSocketEnd).removeListener("close", onSocketClose); - client[kSocket] = null; - client[kQueue][client[kRunningIdx]++] = null; - client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade")); - try { - request2.onUpgrade(statusCode, headers, socket); - } catch (err) { - util.destroy(socket, err); - } - resume(client); - } - 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.strictEqual(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 % 2 === 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; - resume(client); - } - 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.strictEqual(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; - } - const request2 = client[kQueue][client[kRunningIdx]]; - assert(request2); - assert(statusCode >= 100); - this.statusCode = null; - this.statusText = ""; - this.bytesRead = 0; - this.contentLength = ""; - this.keepAlive = ""; - this.connection = ""; - assert(this.headers.length % 2 === 0); - this.headers = []; - this.headersSize = 0; - if (statusCode < 200) { - return; - } - 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.strictEqual(client[kRunning], 0); - util.destroy(socket, new InformationalError("reset")); - return constants.ERROR.PAUSED; - } else if (!shouldKeepAlive) { - util.destroy(socket, new InformationalError("reset")); - return constants.ERROR.PAUSED; - } else if (socket[kReset] && client[kRunning] === 0) { - util.destroy(socket, new InformationalError("reset")); - return constants.ERROR.PAUSED; - } else if (client[kPipelining] === 1) { - setImmediate(resume, client); - } else { - resume(client); - } - } - }; - function onParserTimeout(parser) { - const { socket, timeoutType, client } = parser; - if (timeoutType === TIMEOUT_HEADERS) { - if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) { - assert(!parser.paused, "cannot be paused while waiting for headers"); - util.destroy(socket, new HeadersTimeoutError()); - } - } else if (timeoutType === TIMEOUT_BODY) { - if (!parser.paused) { - util.destroy(socket, new BodyTimeoutError()); - } - } else if (timeoutType === TIMEOUT_IDLE) { - assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]); - util.destroy(socket, new InformationalError("socket idle timeout")); - } - } - function onSocketReadable() { - const { [kParser]: parser } = this; - if (parser) { - parser.readMore(); - } - } - function onSocketError(err) { - const { [kClient]: client, [kParser]: parser } = this; - assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID"); - if (client[kHTTPConnVersion] !== "h2") { - if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) { - parser.onMessageComplete(); - return; - } - } - this[kError] = err; - onError(this[kClient], err); - } - function onError(client, err) { - if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") { - assert(client[kPendingIdx] === client[kRunningIdx]); - const requests = client[kQueue].splice(client[kRunningIdx]); - for (let i = 0; i < requests.length; i++) { - const request2 = requests[i]; - errorRequest2(client, request2, err); - } - assert(client[kSize] === 0); - } - } - function onSocketEnd() { - const { [kParser]: parser, [kClient]: client } = this; - if (client[kHTTPConnVersion] !== "h2") { - if (parser.statusCode && !parser.shouldKeepAlive) { - parser.onMessageComplete(); - return; - } - } - util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this))); - } - function onSocketClose() { - const { [kClient]: client, [kParser]: parser } = this; - if (client[kHTTPConnVersion] === "h1" && 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)); - client[kSocket] = null; - if (client.destroyed) { - assert(client[kPending] === 0); - const requests = client[kQueue].splice(client[kRunningIdx]); - for (let i = 0; i < requests.length; i++) { - const request2 = requests[i]; - errorRequest2(client, request2, err); - } - } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") { - const request2 = client[kQueue][client[kRunningIdx]]; - client[kQueue][client[kRunningIdx]++] = null; - errorRequest2(client, request2, err); - } - client[kPendingIdx] = client[kRunningIdx]; - assert(client[kRunning] === 0); - client.emit("disconnect", client[kUrl], [client], err); - resume(client); } async function connect(client) { assert(!client[kConnecting]); - assert(!client[kSocket]); + assert(!client[kHTTPContext]); let { host, hostname, protocol, port } = client[kUrl]; if (hostname[0] === "[") { const idx = hostname.indexOf("]"); @@ -28778,6 +28974,7 @@ var require_client2 = __commonJS({ hostname, protocol, port, + version: client[kHTTPContext]?.version, servername: client[kServerName], localAddress: client[kLocalAddress] }, @@ -28802,52 +28999,21 @@ var require_client2 = __commonJS({ }); }); if (client.destroyed) { - util.destroy(socket.on("error", () => { - }), new ClientDestroyedError()); + util.destroy(socket.on("error", noop3), new ClientDestroyedError()); return; } - client[kConnecting] = false; assert(socket); - const isH2 = socket.alpnProtocol === "h2"; - if (isH2) { - if (!h2ExperimentalWarned) { - h2ExperimentalWarned = true; - process.emitWarning("H2 support is experimental, expect them to change at any time.", { - code: "UNDICI-H2" - }); - } - const session = http2.connect(client[kUrl], { - createConnection: () => socket, - peerMaxConcurrentStreams: client[kHTTP2SessionState].maxConcurrentStreams - }); - client[kHTTPConnVersion] = "h2"; - session[kClient] = client; - session[kSocket] = socket; - session.on("error", onHttp2SessionError); - session.on("frameError", onHttp2FrameError); - session.on("end", onHttp2SessionEnd); - session.on("goaway", onHTTP2GoAway); - session.on("close", onSocketClose); - session.unref(); - client[kHTTP2Session] = session; - socket[kHTTP2Session] = session; - } else { - if (!llhttpInstance) { - llhttpInstance = await llhttpPromise; - llhttpPromise = null; - } - socket[kNoRef] = false; - socket[kWriting] = false; - socket[kReset] = false; - socket[kBlocking] = false; - socket[kParser] = new Parser(client, socket, llhttpInstance); + 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; - socket.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose); - client[kSocket] = socket; if (channels.connected.hasSubscribers) { channels.connected.publish({ connectParams: { @@ -28855,6 +29021,7 @@ var require_client2 = __commonJS({ hostname, protocol, port, + version: client[kHTTPContext]?.version, servername: client[kServerName], localAddress: client[kLocalAddress] }, @@ -28875,6 +29042,7 @@ var require_client2 = __commonJS({ hostname, protocol, port, + version: client[kHTTPContext]?.version, servername: client[kServerName], localAddress: client[kLocalAddress] }, @@ -28886,14 +29054,14 @@ var require_client2 = __commonJS({ assert(client[kRunning] === 0); while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) { const request2 = client[kQueue][client[kPendingIdx]++]; - errorRequest2(client, request2, err); + util.errorRequest(client, request2, err); } } else { onError(client, err); } client.emit("connectionError", client[kUrl], [client], err); } - resume(client); + client[kResume](); } function emitDrain(client) { client[kNeedDrain] = 0; @@ -28923,35 +29091,15 @@ var require_client2 = __commonJS({ client[kClosedResolve] = null; return; } - const socket = client[kSocket]; - if (socket && !socket.destroyed && socket.alpnProtocol !== "h2") { - if (client[kSize] === 0) { - if (!socket[kNoRef] && socket.unref) { - socket.unref(); - socket[kNoRef] = true; - } - } else if (socket[kNoRef] && socket.ref) { - socket.ref(); - socket[kNoRef] = false; - } - if (client[kSize] === 0) { - if (socket[kParser].timeoutType !== TIMEOUT_IDLE) { - socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE); - } - } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) { - if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) { - const request3 = client[kQueue][client[kRunningIdx]]; - const headersTimeout = request3.headersTimeout != null ? request3.headersTimeout : client[kHeadersTimeout]; - socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS); - } - } + if (client[kHTTPContext]) { + client[kHTTPContext].resume(); } if (client[kBusy]) { client[kNeedDrain] = 2; } else if (client[kNeedDrain] === 2) { if (sync) { client[kNeedDrain] = 1; - process.nextTick(emitDrain, client); + queueMicrotask(() => emitDrain(client)); } else { emitDrain(client); } @@ -28960,7 +29108,7 @@ var require_client2 = __commonJS({ if (client[kPending] === 0) { return; } - if (client[kRunning] >= (client[kPipelining] || 1)) { + if (client[kRunning] >= (getPipelining(client) || 1)) { return; } const request2 = client[kQueue][client[kPendingIdx]]; @@ -28969,909 +29117,320 @@ var require_client2 = __commonJS({ return; } client[kServerName] = request2.servername; - if (socket && socket.servername !== request2.servername) { - util.destroy(socket, new InformationalError("servername changed")); - return; - } + client[kHTTPContext]?.destroy(new InformationalError("servername changed"), () => { + client[kHTTPContext] = null; + resume(client); + }); } if (client[kConnecting]) { return; } - if (!socket && !client[kHTTP2Session]) { + if (!client[kHTTPContext]) { connect(client); return; } - if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) { - return; - } - if (client[kRunning] > 0 && !request2.idempotent) { - return; - } - if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) { + if (client[kHTTPContext].destroyed) { return; } - if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body))) { + if (client[kHTTPContext].busy(request2)) { return; } - if (!request2.aborted && write(client, request2)) { + if (!request2.aborted && client[kHTTPContext].write(request2)) { client[kPendingIdx]++; } else { client[kQueue].splice(client[kPendingIdx], 1); } } } - function shouldSendContentLength(method) { - return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT"; - } - function write(client, request2) { - if (client[kHTTPConnVersion] === "h2") { - writeH2(client, client[kHTTP2Session], request2); - return; + module2.exports = Client; + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/dispatcher/fixed-queue.js +var require_fixed_queue2 = __commonJS({ + "node_modules/@actions/github/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; } - const { body, method, path: path7, host, upgrade, headers, blocking, reset } = request2; - const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH"; - if (body && typeof body.read === "function") { - body.read(0); + isEmpty() { + return this.top === this.bottom; } - const bodyLength = util.bodyLength(body); - let contentLength = bodyLength; - if (contentLength === null) { - contentLength = request2.contentLength; + isFull() { + return (this.top + 1 & kMask) === this.bottom; } - if (contentLength === 0 && !expectsPayload) { - contentLength = null; + push(data) { + this.list[this.top] = data; + this.top = this.top + 1 & kMask; } - if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) { - if (client[kStrictContentLength]) { - errorRequest2(client, request2, new RequestContentLengthMismatchError()); - return false; + 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(); } - process.emitWarning(new RequestContentLengthMismatchError()); + this.head.push(data); } - const socket = client[kSocket]; - try { - request2.onConnect((err) => { - if (request2.aborted || request2.completed) { - return; - } - errorRequest2(client, request2, err || new RequestAbortedError()); - util.destroy(socket, new InformationalError("aborted")); - }); - } catch (err) { - errorRequest2(client, request2, err); + shift() { + const tail = this.tail; + const next = tail.shift(); + if (tail.isEmpty() && tail.next !== null) { + this.tail = tail.next; + } + return next; } - if (request2.aborted) { - return false; + }; + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js +var require_pool_stats2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js"(exports2, module2) { + var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6(); + var kPool = /* @__PURE__ */ Symbol("pool"); + var PoolStats = class { + constructor(pool) { + this[kPool] = pool; } - if (method === "HEAD") { - socket[kReset] = true; + get connected() { + return this[kPool][kConnected]; } - if (upgrade || method === "CONNECT") { - socket[kReset] = true; + get free() { + return this[kPool][kFree]; } - if (reset != null) { - socket[kReset] = reset; + get pending() { + return this[kPool][kPending]; } - if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) { - socket[kReset] = true; + get queued() { + return this[kPool][kQueued]; } - if (blocking) { - socket[kBlocking] = true; + get running() { + return this[kPool][kRunning]; } - let header = `${method} ${path7} HTTP/1.1\r -`; - if (typeof host === "string") { - header += `host: ${host}\r -`; - } else { - header += client[kHostHeader]; + get size() { + return this[kPool][kSize]; } - 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"; + }; + module2.exports = PoolStats; + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js +var require_pool_base2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js"(exports2, module2) { + "use strict"; + var DispatcherBase = require_dispatcher_base2(); + var FixedQueue = require_fixed_queue2(); + var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6(); + var PoolStats = require_pool_stats2(); + var kClients = /* @__PURE__ */ Symbol("clients"); + var kNeedDrain = /* @__PURE__ */ Symbol("needDrain"); + var kQueue = /* @__PURE__ */ Symbol("queue"); + var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve"); + var kOnDrain = /* @__PURE__ */ Symbol("onDrain"); + var kOnConnect = /* @__PURE__ */ Symbol("onConnect"); + var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect"); + var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError"); + var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher"); + var kAddClient = /* @__PURE__ */ Symbol("add client"); + var kRemoveClient = /* @__PURE__ */ Symbol("remove client"); + var kStats = /* @__PURE__ */ 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); } - if (headers) { - header += headers; + get [kBusy]() { + return this[kNeedDrain]; } - if (channels.sendHeaders.hasSubscribers) { - channels.sendHeaders.publish({ request: request2, headers: header, socket }); + get [kConnected]() { + return this[kClients].filter((client) => client[kConnected]).length; } - if (!body || bodyLength === 0) { - 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"); - } - request2.onRequestSent(); - } else if (util.isBuffer(body)) { - assert(contentLength === body.byteLength, "buffer body must have content length"); - socket.cork(); - socket.write(`${header}content-length: ${contentLength}\r -\r -`, "latin1"); - socket.write(body); - socket.uncork(); - request2.onBodySent(body); - request2.onRequestSent(); - if (!expectsPayload) { - socket[kReset] = true; - } - } else if (util.isBlobLike(body)) { - if (typeof body.stream === "function") { - writeIterable({ body: body.stream(), client, request: request2, socket, contentLength, header, expectsPayload }); - } else { - writeBlob({ body, client, request: request2, socket, contentLength, header, expectsPayload }); + 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; } - } else if (util.isStream(body)) { - writeStream({ body, client, request: request2, socket, contentLength, header, expectsPayload }); - } else if (util.isIterable(body)) { - writeIterable({ body, client, request: request2, socket, contentLength, header, expectsPayload }); - } else { - assert(false); + return ret; } - return true; - } - function writeH2(client, session, request2) { - const { body, method, path: path7, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2; - let headers; - if (typeof reqHeaders === "string") headers = Request[kHTTP2CopyHeaders](reqHeaders.trim()); - else headers = reqHeaders; - if (upgrade) { - errorRequest2(client, request2, new Error("Upgrade not supported for H2")); - return false; + get [kRunning]() { + let ret = 0; + for (const { [kRunning]: running } of this[kClients]) { + ret += running; + } + return ret; } - try { - request2.onConnect((err) => { - if (request2.aborted || request2.completed) { - return; - } - errorRequest2(client, request2, err || new RequestAbortedError()); - }); - } catch (err) { - errorRequest2(client, request2, err); + get [kSize]() { + let ret = this[kQueued]; + for (const { [kSize]: size } of this[kClients]) { + ret += size; + } + return ret; } - if (request2.aborted) { - return false; + get stats() { + return this[kStats]; } - let stream; - const h2State = client[kHTTP2SessionState]; - headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost]; - headers[HTTP2_HEADER_METHOD] = method; - if (method === "CONNECT") { - session.ref(); - stream = session.request(headers, { endStream: false, signal }); - if (stream.id && !stream.pending) { - request2.onUpgrade(null, null, stream); - ++h2State.openStreams; + async [kClose]() { + if (this[kQueue].isEmpty()) { + await Promise.all(this[kClients].map((c) => c.close())); } else { - stream.once("ready", () => { - request2.onUpgrade(null, null, stream); - ++h2State.openStreams; + await new Promise((resolve5) => { + this[kClosedResolve] = resolve5; }); } - stream.once("close", () => { - h2State.openStreams -= 1; - if (h2State.openStreams === 0) session.unref(); - }); - return true; - } - headers[HTTP2_HEADER_PATH] = path7; - headers[HTTP2_HEADER_SCHEME] = "https"; - const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH"; - if (body && typeof body.read === "function") { - body.read(0); - } - let contentLength = util.bodyLength(body); - if (contentLength == null) { - contentLength = request2.contentLength; } - if (contentLength === 0 || !expectsPayload) { - contentLength = null; + 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))); } - if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) { - if (client[kStrictContentLength]) { - errorRequest2(client, request2, new RequestContentLengthMismatchError()); - return false; + [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](); } - process.emitWarning(new RequestContentLengthMismatchError()); + return !this[kNeedDrain]; } - if (contentLength != null) { - assert(body, "no body must not have content length"); - headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`; + [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; } - session.ref(); - const shouldEndStream = method === "GET" || method === "HEAD"; - if (expectContinue) { - headers[HTTP2_HEADER_EXPECT] = "100-continue"; - stream = session.request(headers, { endStream: shouldEndStream, signal }); - stream.once("continue", writeBodyH2); - } else { - stream = session.request(headers, { - endStream: shouldEndStream, - signal + [kRemoveClient](client) { + client.close(() => { + const idx = this[kClients].indexOf(client); + if (idx !== -1) { + this[kClients].splice(idx, 1); + } }); - writeBodyH2(); + this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true); } - ++h2State.openStreams; - stream.once("response", (headers2) => { - const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2; - if (request2.onHeaders(Number(statusCode), realHeaders, stream.resume.bind(stream), "") === false) { - stream.pause(); - } - }); - stream.once("end", () => { - request2.onComplete([]); - }); - stream.on("data", (chunk) => { - if (request2.onData(chunk) === false) { - stream.pause(); - } - }); - stream.once("close", () => { - h2State.openStreams -= 1; - if (h2State.openStreams === 0) { - session.unref(); - } - }); - stream.once("error", function(err) { - if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) { - h2State.streams -= 1; - util.destroy(stream, err); - } - }); - stream.once("frameError", (type2, code) => { - const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`); - errorRequest2(client, request2, err); - if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) { - h2State.streams -= 1; - util.destroy(stream, err); - } - }); - return true; - function writeBodyH2() { - if (!body) { - request2.onRequestSent(); - } else if (util.isBuffer(body)) { - assert(contentLength === body.byteLength, "buffer body must have content length"); - stream.cork(); - stream.write(body); - stream.uncork(); - stream.end(); - request2.onBodySent(body); - request2.onRequestSent(); - } else if (util.isBlobLike(body)) { - if (typeof body.stream === "function") { - writeIterable({ - client, - request: request2, - contentLength, - h2stream: stream, - expectsPayload, - body: body.stream(), - socket: client[kSocket], - header: "" - }); - } else { - writeBlob({ - body, - client, - request: request2, - contentLength, - expectsPayload, - h2stream: stream, - header: "", - socket: client[kSocket] - }); - } - } else if (util.isStream(body)) { - writeStream({ - body, - client, - request: request2, - contentLength, - expectsPayload, - socket: client[kSocket], - h2stream: stream, - header: "" - }); - } else if (util.isIterable(body)) { - writeIterable({ - body, - client, - request: request2, - contentLength, - expectsPayload, - header: "", - h2stream: stream, - socket: client[kSocket] - }); - } else { - assert(false); - } - } - } - function writeStream({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) { - assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined"); - if (client[kHTTPConnVersion] === "h2") { - let onPipeData = function(chunk) { - request2.onBodySent(chunk); - }; - const pipe = pipeline( - body, - h2stream, - (err) => { - if (err) { - util.destroy(body, err); - util.destroy(h2stream, err); - } else { - request2.onRequestSent(); - } - } - ); - pipe.on("data", onPipeData); - pipe.once("end", () => { - pipe.removeListener("data", onPipeData); - util.destroy(pipe); - }); - return; - } - let finished = false; - const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header }); - const onData = function(chunk) { - if (finished) { - return; - } - try { - if (!writer.write(chunk) && this.pause) { - this.pause(); - } - } catch (err) { - util.destroy(this, err); - } - }; - const onDrain = function() { - if (finished) { - return; - } - if (body.resume) { - body.resume(); - } - }; - const onAbort = function() { - if (finished) { - return; - } - const err = new RequestAbortedError(); - queueMicrotask(() => onFinished(err)); - }; - const onFinished = function(err) { - if (finished) { - return; - } - finished = true; - assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1); - socket.off("drain", onDrain).off("error", onFinished); - body.removeListener("data", onData).removeListener("end", onFinished).removeListener("error", onFinished).removeListener("close", onAbort); - if (!err) { - try { - writer.end(); - } catch (er) { - err = er; - } - } - writer.destroy(err); - if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) { - util.destroy(body, err); - } else { - util.destroy(body); - } - }; - body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onAbort); - if (body.resume) { - body.resume(); - } - socket.on("drain", onDrain).on("error", onFinished); - } - async function writeBlob({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) { - assert(contentLength === body.size, "blob body must have content length"); - const isH2 = client[kHTTPConnVersion] === "h2"; - try { - if (contentLength != null && contentLength !== body.size) { - throw new RequestContentLengthMismatchError(); - } - const buffer = Buffer.from(await body.arrayBuffer()); - if (isH2) { - h2stream.cork(); - h2stream.write(buffer); - h2stream.uncork(); - } else { - socket.cork(); - socket.write(`${header}content-length: ${contentLength}\r -\r -`, "latin1"); - socket.write(buffer); - socket.uncork(); - } - request2.onBodySent(buffer); - request2.onRequestSent(); - if (!expectsPayload) { - socket[kReset] = true; - } - resume(client); - } catch (err) { - util.destroy(isH2 ? h2stream : socket, err); - } - } - async function writeIterable({ h2stream, body, client, request: 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((resolve5, reject) => { - assert(callback === null); - if (socket[kError]) { - reject(socket[kError]); - } else { - callback = resolve5; - } - }); - if (client[kHTTPConnVersion] === "h2") { - h2stream.on("close", onDrain).on("drain", onDrain); - try { - for await (const chunk of body) { - if (socket[kError]) { - throw socket[kError]; - } - const res = h2stream.write(chunk); - request2.onBodySent(chunk); - if (!res) { - await waitForDrain(); - } - } - } catch (err) { - h2stream.destroy(err); - } finally { - request2.onRequestSent(); - h2stream.end(); - h2stream.off("close", onDrain).off("drain", onDrain); - } - return; - } - socket.on("close", onDrain).on("drain", onDrain); - const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header }); - try { - for await (const chunk of body) { - if (socket[kError]) { - throw socket[kError]; - } - if (!writer.write(chunk)) { - await waitForDrain(); - } - } - writer.end(); - } catch (err) { - writer.destroy(err); - } finally { - socket.off("close", onDrain).off("drain", onDrain); - } - } - var AsyncWriter = class { - constructor({ 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; - 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) { - 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(); - } - } - resume(client); - } - destroy(err) { - const { socket, client } = this; - socket[kWriting] = false; - if (err) { - assert(client[kRunning] <= 1, "pipeline should only contain this request"); - util.destroy(socket, err); - } - } - }; - function errorRequest2(client, request2, err) { - try { - request2.onError(err); - assert(request2.aborted); - } catch (err2) { - client.emit("error", err2); - } - } - module2.exports = Client; - } -}); - -// node_modules/undici/lib/node/fixed-queue.js -var require_fixed_queue2 = __commonJS({ - "node_modules/undici/lib/node/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/pool-stats.js -var require_pool_stats2 = __commonJS({ - "node_modules/undici/lib/pool-stats.js"(exports2, module2) { - var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6(); - var kPool = /* @__PURE__ */ 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/pool-base.js -var require_pool_base2 = __commonJS({ - "node_modules/undici/lib/pool-base.js"(exports2, module2) { - "use strict"; - var DispatcherBase = require_dispatcher_base2(); - var FixedQueue = require_fixed_queue2(); - var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6(); - var PoolStats = require_pool_stats2(); - var kClients = /* @__PURE__ */ Symbol("clients"); - var kNeedDrain = /* @__PURE__ */ Symbol("needDrain"); - var kQueue = /* @__PURE__ */ Symbol("queue"); - var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve"); - var kOnDrain = /* @__PURE__ */ Symbol("onDrain"); - var kOnConnect = /* @__PURE__ */ Symbol("onConnect"); - var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect"); - var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError"); - var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher"); - var kAddClient = /* @__PURE__ */ Symbol("add client"); - var kRemoveClient = /* @__PURE__ */ Symbol("remove client"); - var kStats = /* @__PURE__ */ 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()) { - return Promise.all(this[kClients].map((c) => c.close())); - } else { - return new Promise((resolve5) => { - this[kClosedResolve] = resolve5; - }); - } - } - async [kDestroy](err) { - while (true) { - const item = this[kQueue].shift(); - if (!item) { - break; - } - item.handler.onError(err); - } - return 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]) { - process.nextTick(() => { - 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/pool.js -var require_pool2 = __commonJS({ - "node_modules/undici/lib/pool.js"(exports2, module2) { - "use strict"; - var { - PoolBase, - kClients, - kNeedDrain, - kAddClient, - kGetDispatcher - } = require_pool_base2(); - var Client = require_client2(); - var { - InvalidArgumentError - } = require_errors2(); - var util = require_util9(); - var { kUrl, kInterceptors } = require_symbols6(); - var buildConnector = require_connect2(); - var kOptions = /* @__PURE__ */ Symbol("options"); - var kConnections = /* @__PURE__ */ Symbol("connections"); - var kFactory = /* @__PURE__ */ 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"); + }; + module2.exports = { + PoolBase, + kClients, + kNeedDrain, + kAddClient, + kRemoveClient, + kGetDispatcher + }; + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js +var require_pool2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js"(exports2, module2) { + "use strict"; + var { + PoolBase, + kClients, + kNeedDrain, + kAddClient, + kGetDispatcher + } = require_pool_base2(); + var Client = require_client2(); + var { + InvalidArgumentError + } = require_errors2(); + var util = require_util9(); + var { kUrl, kInterceptors } = require_symbols6(); + var buildConnector = require_connect2(); + var kOptions = /* @__PURE__ */ Symbol("options"); + var kConnections = /* @__PURE__ */ Symbol("connections"); + var kFactory = /* @__PURE__ */ 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."); @@ -29886,11 +29445,11 @@ var require_pool2 = __commonJS({ allowH2, socketPath, timeout: connectTimeout, - ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0, + ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0, ...connect }); } - this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : []; + this[kInterceptors] = options.interceptors?.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : []; this[kConnections] = connections || null; this[kUrl] = util.parseOrigin(origin); this[kOptions] = { ...util.deepClone(options), connect, allowH2 }; @@ -29906,24 +29465,25 @@ var require_pool2 = __commonJS({ }); } [kGetDispatcher]() { - let dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain]); - if (dispatcher) { - return dispatcher; + for (const client of this[kClients]) { + if (!client[kNeedDrain]) { + return client; + } } if (!this[kConnections] || this[kClients].length < this[kConnections]) { - dispatcher = this[kFactory](this[kUrl], this[kOptions]); + const dispatcher = this[kFactory](this[kUrl], this[kOptions]); this[kAddClient](dispatcher); + return dispatcher; } - return dispatcher; } }; module2.exports = Pool; } }); -// node_modules/undici/lib/balanced-pool.js +// node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js var require_balanced_pool2 = __commonJS({ - "node_modules/undici/lib/balanced-pool.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js"(exports2, module2) { "use strict"; var { BalancedPoolMissingUpstreamError, @@ -29949,8 +29509,13 @@ var require_balanced_pool2 = __commonJS({ var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer"); var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty"); function getGreatestCommonDivisor(a, b) { - if (b === 0) return a; - return getGreatestCommonDivisor(b, 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); @@ -29969,7 +29534,7 @@ var require_balanced_pool2 = __commonJS({ if (typeof factory !== "function") { throw new InvalidArgumentError("factory must be a function."); } - this[kInterceptors] = opts.interceptors && opts.interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : []; + this[kInterceptors] = opts.interceptors?.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : []; this[kFactory] = factory; for (const upstream of upstreams) { this.addUpstream(upstream); @@ -30004,7 +29569,11 @@ var require_balanced_pool2 = __commonJS({ return this; } _updateBalancedPoolStats() { - this[kGreatestCommonDivisor] = this[kClients].map((p) => p[kWeight]).reduce(getGreatestCommonDivisor, 0); + 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; @@ -30056,51 +29625,9 @@ var require_balanced_pool2 = __commonJS({ } }); -// node_modules/undici/lib/compat/dispatcher-weakref.js -var require_dispatcher_weakref2 = __commonJS({ - "node_modules/undici/lib/compat/dispatcher-weakref.js"(exports2, module2) { - "use strict"; - var { kConnected, kSize } = require_symbols6(); - 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); - } - }); - } - } - }; - module2.exports = function() { - if (process.env.NODE_V8_COVERAGE) { - return { - WeakRef: CompatWeakRef, - FinalizationRegistry: CompatFinalizer - }; - } - return { - WeakRef: global.WeakRef || CompatWeakRef, - FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer - }; - }; - } -}); - -// node_modules/undici/lib/agent.js +// node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js var require_agent2 = __commonJS({ - "node_modules/undici/lib/agent.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js"(exports2, module2) { "use strict"; var { InvalidArgumentError } = require_errors2(); var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6(); @@ -30108,15 +29635,13 @@ var require_agent2 = __commonJS({ var Pool = require_pool2(); var Client = require_client2(); var util = require_util9(); - var createRedirectInterceptor = require_redirectInterceptor(); - var { WeakRef: WeakRef2, FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()(); + var createRedirectInterceptor = require_redirect_interceptor2(); var kOnConnect = /* @__PURE__ */ Symbol("onConnect"); var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect"); var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError"); var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections"); var kOnDrain = /* @__PURE__ */ Symbol("onDrain"); var kFactory = /* @__PURE__ */ Symbol("factory"); - var kFinalizer = /* @__PURE__ */ Symbol("finalizer"); var kOptions = /* @__PURE__ */ Symbol("options"); function defaultFactory(origin, opts) { return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts); @@ -30136,42 +29661,29 @@ var require_agent2 = __commonJS({ if (connect && typeof connect !== "function") { connect = { ...connect }; } - this[kInterceptors] = options.interceptors && options.interceptors.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })]; + this[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[kFinalizer] = new FinalizationRegistry2( - /* istanbul ignore next: gc is undeterministic */ - (key) => { - const ref = this[kClients].get(key); - if (ref !== void 0 && ref.deref() === void 0) { - this[kClients].delete(key); - } - } - ); - const agent = this; this[kOnDrain] = (origin, targets) => { - agent.emit("drain", origin, [agent, ...targets]); + this.emit("drain", origin, [this, ...targets]); }; this[kOnConnect] = (origin, targets) => { - agent.emit("connect", origin, [agent, ...targets]); + this.emit("connect", origin, [this, ...targets]); }; this[kOnDisconnect] = (origin, targets, err) => { - agent.emit("disconnect", origin, [agent, ...targets], err); + this.emit("disconnect", origin, [this, ...targets], err); }; this[kOnConnectionError] = (origin, targets, err) => { - agent.emit("connectionError", origin, [agent, ...targets], err); + this.emit("connectionError", origin, [this, ...targets], err); }; } get [kRunning]() { let ret = 0; - for (const ref of this[kClients].values()) { - const client = ref.deref(); - if (client) { - ret += client[kRunning]; - } + for (const client of this[kClients].values()) { + ret += client[kRunning]; } return ret; } @@ -30182,33 +29694,27 @@ var require_agent2 = __commonJS({ } else { throw new InvalidArgumentError("opts.origin must be a non-empty string or URL."); } - const ref = this[kClients].get(key); - let dispatcher = ref ? ref.deref() : null; + 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, new WeakRef2(dispatcher)); - this[kFinalizer].register(dispatcher, key); + this[kClients].set(key, dispatcher); } return dispatcher.dispatch(opts, handler2); } async [kClose]() { const closePromises = []; - for (const ref of this[kClients].values()) { - const client = ref.deref(); - if (client) { - closePromises.push(client.close()); - } + 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 ref of this[kClients].values()) { - const client = ref.deref(); - if (client) { - destroyPromises.push(client.destroy(err)); - } + for (const client of this[kClients].values()) { + destroyPromises.push(client.destroy(err)); } + this[kClients].clear(); await Promise.all(destroyPromises); } }; @@ -30216,153 +29722,847 @@ var require_agent2 = __commonJS({ } }); -// node_modules/undici/lib/api/readable.js -var require_readable2 = __commonJS({ - "node_modules/undici/lib/api/readable.js"(exports2, module2) { +// node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js +var require_proxy_agent2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js"(exports2, module2) { "use strict"; - var assert = require("assert"); - var { Readable } = require("stream"); - var { RequestAbortedError, NotSupportedError, InvalidArgumentError } = require_errors2(); - var util = require_util9(); - var { ReadableStreamFrom, toUSVString } = require_util9(); - var Blob2; - var kConsume = /* @__PURE__ */ Symbol("kConsume"); - var kReading = /* @__PURE__ */ Symbol("kReading"); - var kBody = /* @__PURE__ */ Symbol("kBody"); - var kAbort = /* @__PURE__ */ Symbol("abort"); - var kContentType = /* @__PURE__ */ Symbol("kContentType"); + var { kProxy, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6(); + var { URL: URL2 } = require("node:url"); + var Agent = require_agent2(); + var Pool = require_pool2(); + var DispatcherBase = require_dispatcher_base2(); + var { InvalidArgumentError, RequestAbortedError, SecureProxyConnectionError } = require_errors2(); + var buildConnector = require_connect2(); + var Client = require_client2(); + var kAgent = /* @__PURE__ */ Symbol("proxy agent"); + var kClient = /* @__PURE__ */ Symbol("proxy client"); + var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers"); + var kRequestTls = /* @__PURE__ */ Symbol("request tls settings"); + var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings"); + var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function"); + var kTunnelProxy = /* @__PURE__ */ Symbol("tunnel proxy"); + function defaultProtocolPort(protocol) { + return protocol === "https:" ? 443 : 80; + } + function defaultFactory(origin, opts) { + return new Pool(origin, opts); + } var noop3 = () => { }; - module2.exports = class BodyReadable extends Readable { - constructor({ - resume, - abort, - contentType = "", - 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[kReading] = false; + function defaultAgentFactory(origin, opts) { + if (opts.connections === 1) { + return new Client(origin, opts); } - destroy(err) { - if (this.destroyed) { - return this; - } - if (!err && !this._readableState.endEmitted) { - err = new RequestAbortedError(); + 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"); } - if (err) { - this[kAbort](); + this[kProxyHeaders] = headers; + if (factory) { + this.#client = factory(proxyUrl, { connect }); + } else { + this.#client = new Client(proxyUrl, { connect }); } - return super.destroy(err); } - emit(ev, ...args) { - if (ev === "data") { - this._readableState.dataEmitted = true; - } else if (ev === "error") { - this._readableState.errorEmitted = true; + [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: path7 = "/", + headers = {} + } = opts; + opts.path = origin + path7; + if (!("host" in headers) && !("Host" in headers)) { + const { host } = new URL2(origin); + headers.host = host; } - return super.emit(ev, ...args); + opts.headers = { ...this[kProxyHeaders], ...headers }; + return this.#client[kDispatch](opts, handler2); } - on(ev, ...args) { - if (ev === "data" || ev === "readable") { - this[kReading] = true; - } - return super.on(ev, ...args); + async [kClose]() { + return this.#client.close(); } - addListener(ev, ...args) { - return this.on(ev, ...args); + async [kDestroy](err) { + return this.#client.destroy(err); } - off(ev, ...args) { - const ret = super.off(ev, ...args); - if (ev === "data" || ev === "readable") { - this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0; + }; + 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"); } - return ret; - } - removeListener(ev, ...args) { - return this.off(ev, ...args); - } - push(chunk) { - if (this[kConsume] && chunk !== null && this.readableLength === 0) { - consumePush(this[kConsume], chunk); - return this[kReading] ? super.push(chunk) : true; + const { clientFactory = defaultFactory } = opts; + if (typeof clientFactory !== "function") { + throw new InvalidArgumentError("Proxy opts.clientFactory must be a function."); } - 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-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); - } + 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")}`; } - return this[kBody]; - } - dump(opts) { - let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144; - const signal = opts && opts.signal; - if (signal) { - try { - if (typeof signal !== "object" || !("aborted" in signal)) { - throw new InvalidArgumentError("signal must be an AbortSignal"); - } - util.throwIfAborted(signal); - } catch (err) { - return Promise.reject(err); + 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 + }); } - } - if (this.closed) { - return Promise.resolve(null); - } - return new Promise((resolve5, reject) => { - const signalListenerCleanup = signal ? util.addAbortListener(signal, () => { - this.destroy(); - }) : noop3; - this.on("close", function() { - signalListenerCleanup(); - if (signal && signal.aborted) { - reject(signal.reason || Object.assign(new Error("The operation was aborted"), { name: "AbortError" })); - } else { - resolve5(null); - } - }).on("error", noop3).on("data", function(chunk) { - limit -= chunk.length; + 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/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +var require_env_http_proxy_agent2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js"(exports2, module2) { + "use strict"; + var DispatcherBase = require_dispatcher_base2(); + var { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require_symbols6(); + var ProxyAgent = require_proxy_agent2(); + var Agent = require_agent2(); + 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/@actions/github/node_modules/undici/lib/handler/retry-handler.js +var require_retry_handler2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/handler/retry-handler.js"(exports2, module2) { + "use strict"; + var assert = require("node:assert"); + var { kRetryHandlerDefaultRetry } = require_symbols6(); + var { RequestRetryError } = require_errors2(); + var { + isDisturbed, + parseHeaders, + parseRangeHeader, + wrapRequestBody + } = require_util9(); + 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/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js +var require_retry_agent2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js"(exports2, module2) { + "use strict"; + var Dispatcher = require_dispatcher2(); + var RetryHandler = require_retry_handler2(); + var RetryAgent = class extends Dispatcher { + #agent = null; + #options = null; + constructor(agent, options = {}) { + super(options); + this.#agent = agent; + this.#options = options; + } + dispatch(opts, handler2) { + const retry2 = new RetryHandler({ + ...opts, + retryOptions: this.#options + }, { + dispatch: this.#agent.dispatch.bind(this.#agent), + handler: handler2 + }); + return this.#agent.dispatch(opts, retry2); + } + close() { + return this.#agent.close(); + } + destroy() { + return this.#agent.destroy(); + } + }; + module2.exports = RetryAgent; + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/api/readable.js +var require_readable2 = __commonJS({ + "node_modules/@actions/github/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_errors2(); + var util = require_util9(); + var { ReadableStreamFrom } = require_util9(); + var kConsume = /* @__PURE__ */ Symbol("kConsume"); + var kReading = /* @__PURE__ */ Symbol("kReading"); + var kBody = /* @__PURE__ */ Symbol("kBody"); + var kAbort = /* @__PURE__ */ Symbol("kAbort"); + var kContentType = /* @__PURE__ */ Symbol("kContentType"); + var kContentLength = /* @__PURE__ */ 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((resolve5, 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 { + resolve5(null); + } + }).on("error", noop3).on("data", function(chunk) { + limit -= chunk.length; if (limit <= 0) { this.destroy(); } @@ -30377,27 +30577,39 @@ var require_readable2 = __commonJS({ return util.isDisturbed(self2) || isLocked(self2); } async function consume(stream, type2) { - if (isUnusable(stream)) { - throw new TypeError("unusable"); - } assert(!stream[kConsume]); return new Promise((resolve5, reject) => { - stream[kConsume] = { - type: type2, - stream, - resolve: resolve5, - 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()); + 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")); } - }); - process.nextTick(consumeStart, stream[kConsume]); + } else { + queueMicrotask(() => { + stream[kConsume] = { + type: type2, + stream, + resolve: resolve5, + 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) { @@ -30405,8 +30617,16 @@ var require_readable2 = __commonJS({ return; } const { _readableState: state } = consume2.stream; - for (const chunk of state.buffer) { - consumePush(consume2, chunk); + 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]); @@ -30419,26 +30639,44 @@ var require_readable2 = __commonJS({ 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: type2, body, resolve: resolve5, stream, length } = consume2; try { if (type2 === "text") { - resolve5(toUSVString(Buffer.concat(body))); + resolve5(chunksDecode(body, length)); } else if (type2 === "json") { - resolve5(JSON.parse(Buffer.concat(body))); + resolve5(JSON.parse(chunksDecode(body, length))); } else if (type2 === "arrayBuffer") { - const dst = new Uint8Array(length); - let pos = 0; - for (const buf of body) { - dst.set(buf, pos); - pos += buf.byteLength; - } - resolve5(dst.buffer); + resolve5(chunksConcat(body, length).buffer); } else if (type2 === "blob") { - if (!Blob2) { - Blob2 = require("buffer").Blob; - } - resolve5(new Blob2(body, { type: stream[kContentType] })); + resolve5(new Blob(body, { type: stream[kContentType] })); + } else if (type2 === "bytes") { + resolve5(chunksConcat(body, length)); } consumeFinish(consume2); } catch (err) { @@ -30465,114 +30703,81 @@ var require_readable2 = __commonJS({ consume2.length = 0; consume2.body = null; } + module2.exports = { Readable: BodyReadable, chunksDecode }; } }); -// node_modules/undici/lib/api/util.js +// node_modules/@actions/github/node_modules/undici/lib/api/util.js var require_util11 = __commonJS({ - "node_modules/undici/lib/api/util.js"(exports2, module2) { - var assert = require("assert"); + "node_modules/@actions/github/node_modules/undici/lib/api/util.js"(exports2, module2) { + var assert = require("node:assert"); var { ResponseStatusCodeError } = require_errors2(); - var { toUSVString } = require_util9(); + var { chunksDecode } = require_readable2(); + var CHUNK_LIMIT = 128 * 1024; async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) { assert(body); let chunks = []; - let limit = 0; - for await (const chunk of body) { - chunks.push(chunk); - limit += chunk.length; - if (limit > 128 * 1024) { - chunks = null; - break; + let length = 0; + try { + for await (const chunk of body) { + chunks.push(chunk); + length += chunk.length; + if (length > CHUNK_LIMIT) { + chunks = []; + length = 0; + break; + } } + } catch { + chunks = []; + length = 0; } - if (statusCode === 204 || !contentType || !chunks) { - process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers)); + 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 (contentType.startsWith("application/json")) { - const payload = JSON.parse(toUSVString(Buffer.concat(chunks))); - process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload)); - return; - } - if (contentType.startsWith("text/")) { - const payload = toUSVString(Buffer.concat(chunks)); - process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload)); - return; + if (isContentTypeApplicationJson(contentType)) { + payload = JSON.parse(chunksDecode(chunks, length)); + } else if (isContentTypeText(contentType)) { + payload = chunksDecode(chunks, length); } - } catch (err) { - } - process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers)); - } - module2.exports = { getResolveErrorBodyCallback }; - } -}); - -// node_modules/undici/lib/api/abort-signal.js -var require_abort_signal2 = __commonJS({ - "node_modules/undici/lib/api/abort-signal.js"(exports2, module2) { - var { addAbortListener } = require_util9(); - var { RequestAbortedError } = require_errors2(); - var kListener = /* @__PURE__ */ Symbol("kListener"); - var kSignal = /* @__PURE__ */ Symbol("kSignal"); - function abort(self2) { - if (self2.abort) { - self2.abort(); - } else { - self2.onError(new RequestAbortedError()); - } - } - function addSignal(self2, signal) { - self2[kSignal] = null; - self2[kListener] = null; - if (!signal) { - return; - } - if (signal.aborted) { - abort(self2); - return; - } - self2[kSignal] = signal; - self2[kListener] = () => { - abort(self2); - }; - addAbortListener(self2[kSignal], self2[kListener]); - } - function removeSignal(self2) { - if (!self2[kSignal]) { - return; - } - if ("removeEventListener" in self2[kSignal]) { - self2[kSignal].removeEventListener("abort", self2[kListener]); - } else { - self2[kSignal].removeListener("abort", self2[kListener]); + } catch { + } finally { + Error.stackTraceLimit = stackTraceLimit; } - self2[kSignal] = null; - self2[kListener] = null; + 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 = { - addSignal, - removeSignal + getResolveErrorBodyCallback, + isContentTypeApplicationJson, + isContentTypeText }; } }); -// node_modules/undici/lib/api/api-request.js +// node_modules/@actions/github/node_modules/undici/lib/api/api-request.js var require_api_request2 = __commonJS({ - "node_modules/undici/lib/api/api-request.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/api/api-request.js"(exports2, module2) { "use strict"; - var Readable = require_readable2(); - var { - InvalidArgumentError, - RequestAbortedError - } = require_errors2(); + var assert = require("node:assert"); + var { Readable } = require_readable2(); + var { InvalidArgumentError, RequestAbortedError } = require_errors2(); var util = require_util9(); var { getResolveErrorBodyCallback } = require_util11(); - var { AsyncResource } = require("async_hooks"); - var { addSignal, removeSignal } = require_abort_signal2(); + var { AsyncResource } = require("node:async_hooks"); var RequestHandler = class extends AsyncResource { constructor(opts, callback) { if (!opts || typeof opts !== "object") { @@ -30602,6 +30807,7 @@ var require_api_request2 = __commonJS({ } throw err; } + this.method = method; this.responseHeaders = responseHeaders || null; this.opaque = opaque || null; this.callback = callback; @@ -30613,17 +30819,40 @@ var require_api_request2 = __commonJS({ this.onInfo = onInfo || null; this.throwOnError = throwOnError; this.highWaterMark = highWaterMark; + this.signal = signal; + this.reason = null; + this.removeAbortListener = null; if (util.isStream(body)) { body.on("error", (err) => { this.onError(err); }); } - addSignal(this, signal); + 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, context2) { - if (!this.callback) { - throw new RequestAbortedError(); + if (this.reason) { + abort(this.reason); + return; } + assert(this.callback); this.abort = abort; this.context = context2; } @@ -30638,15 +30867,25 @@ var require_api_request2 = __commonJS({ } const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers; const contentType = parsedHeaders["content-type"]; - const body = new Readable({ resume, abort, contentType, highWaterMark }); + 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 = body; + this.res = res; if (callback !== null) { if (this.throwOnError && statusCode >= 400) { this.runInAsyncScope( getResolveErrorBodyCallback, null, - { callback, body, contentType, statusCode, statusMessage, headers } + { callback, body: res, contentType, statusCode, statusMessage, headers } ); } else { this.runInAsyncScope(callback, null, null, { @@ -30654,25 +30893,21 @@ var require_api_request2 = __commonJS({ headers, trailers: this.trailers, opaque, - body, + body: res, context: context2 }); } } } onData(chunk) { - const { res } = this; - return res.push(chunk); + return this.res.push(chunk); } onComplete(trailers) { - const { res } = this; - removeSignal(this); util.parseHeaders(trailers, this.trailers); - res.push(null); + this.res.push(null); } onError(err) { const { res, callback, body, opaque } = this; - removeSignal(this); if (callback) { this.callback = null; queueMicrotask(() => { @@ -30689,6 +30924,11 @@ var require_api_request2 = __commonJS({ this.body = null; util.destroy(body, err); } + if (this.removeAbortListener) { + res?.off("close", this.removeAbortListener); + this.removeAbortListener(); + this.removeAbortListener = null; + } } }; function request2(opts, callback) { @@ -30705,7 +30945,7 @@ var require_api_request2 = __commonJS({ if (typeof callback !== "function") { throw err; } - const opaque = opts && opts.opaque; + const opaque = opts?.opaque; queueMicrotask(() => callback(err, { opaque })); } } @@ -30714,34 +30954,82 @@ var require_api_request2 = __commonJS({ } }); -// node_modules/undici/lib/api/api-stream.js -var require_api_stream2 = __commonJS({ - "node_modules/undici/lib/api/api-stream.js"(exports2, module2) { - "use strict"; - var { finished, PassThrough } = require("stream"); - var { - InvalidArgumentError, - InvalidReturnValueError, - RequestAbortedError - } = require_errors2(); - var util = require_util9(); - var { getResolveErrorBodyCallback } = require_util11(); - var { AsyncResource } = require("async_hooks"); - var { addSignal, removeSignal } = require_abort_signal2(); - var StreamHandler = class extends AsyncResource { - constructor(opts, factory, callback) { - if (!opts || typeof opts !== "object") { - throw new InvalidArgumentError("invalid opts"); - } - const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts; - try { - if (typeof callback !== "function") { - throw new InvalidArgumentError("invalid callback"); - } - if (typeof factory !== "function") { - throw new InvalidArgumentError("invalid factory"); - } - if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") { +// node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js +var require_abort_signal2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js"(exports2, module2) { + var { addAbortListener } = require_util9(); + var { RequestAbortedError } = require_errors2(); + var kListener = /* @__PURE__ */ Symbol("kListener"); + var kSignal = /* @__PURE__ */ Symbol("kSignal"); + function abort(self2) { + if (self2.abort) { + self2.abort(self2[kSignal]?.reason); + } else { + self2.reason = self2[kSignal]?.reason ?? new RequestAbortedError(); + } + removeSignal(self2); + } + function addSignal(self2, signal) { + self2.reason = null; + self2[kSignal] = null; + self2[kListener] = null; + if (!signal) { + return; + } + if (signal.aborted) { + abort(self2); + return; + } + self2[kSignal] = signal; + self2[kListener] = () => { + abort(self2); + }; + addAbortListener(self2[kSignal], self2[kListener]); + } + function removeSignal(self2) { + if (!self2[kSignal]) { + return; + } + if ("removeEventListener" in self2[kSignal]) { + self2[kSignal].removeEventListener("abort", self2[kListener]); + } else { + self2[kSignal].removeListener("abort", self2[kListener]); + } + self2[kSignal] = null; + self2[kListener] = null; + } + module2.exports = { + addSignal, + removeSignal + }; + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/api/api-stream.js +var require_api_stream2 = __commonJS({ + "node_modules/@actions/github/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_errors2(); + var util = require_util9(); + var { getResolveErrorBodyCallback } = require_util11(); + var { AsyncResource } = require("node:async_hooks"); + var { addSignal, removeSignal } = require_abort_signal2(); + var StreamHandler = class extends AsyncResource { + constructor(opts, factory, callback) { + if (!opts || typeof opts !== "object") { + throw new InvalidArgumentError("invalid opts"); + } + const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts; + try { + if (typeof callback !== "function") { + throw new InvalidArgumentError("invalid callback"); + } + if (typeof factory !== "function") { + throw new InvalidArgumentError("invalid factory"); + } + if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") { throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget"); } if (method === "CONNECT") { @@ -30776,9 +31064,11 @@ var require_api_stream2 = __commonJS({ addSignal(this, signal); } onConnect(abort, context2) { - if (!this.callback) { - throw new RequestAbortedError(); + if (this.reason) { + abort(this.reason); + return; } + assert(this.callback); this.abort = abort; this.context = context2; } @@ -30831,7 +31121,7 @@ var require_api_stream2 = __commonJS({ } res.on("drain", resume); this.res = res; - const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState && res._writableState.needDrain; + const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState?.needDrain; return needDrain !== true; } onData(chunk) { @@ -30880,7 +31170,7 @@ var require_api_stream2 = __commonJS({ if (typeof callback !== "function") { throw err; } - const opaque = opts && opts.opaque; + const opaque = opts?.opaque; queueMicrotask(() => callback(err, { opaque })); } } @@ -30888,24 +31178,24 @@ var require_api_stream2 = __commonJS({ } }); -// node_modules/undici/lib/api/api-pipeline.js +// node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js var require_api_pipeline2 = __commonJS({ - "node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) { "use strict"; var { Readable, Duplex, PassThrough - } = require("stream"); + } = require("node:stream"); var { InvalidArgumentError, InvalidReturnValueError, RequestAbortedError } = require_errors2(); var util = require_util9(); - var { AsyncResource } = require("async_hooks"); + var { AsyncResource } = require("node:async_hooks"); var { addSignal, removeSignal } = require_abort_signal2(); - var assert = require("assert"); + var assert = require("node:assert"); var kResume = /* @__PURE__ */ Symbol("resume"); var PipelineRequest = class extends Readable { constructor() { @@ -30970,7 +31260,7 @@ var require_api_pipeline2 = __commonJS({ autoDestroy: true, read: () => { const { body } = this; - if (body && body.resume) { + if (body?.resume) { body.resume(); } }, @@ -31005,10 +31295,12 @@ var require_api_pipeline2 = __commonJS({ } onConnect(abort, context2) { const { ret, res } = this; - assert(!res, "pipeline cannot be retried"); - if (ret.destroyed) { - throw new RequestAbortedError(); + if (this.reason) { + abort(this.reason); + return; } + assert(!res, "pipeline cannot be retried"); + assert(!ret.destroyed); this.abort = abort; this.context = context2; } @@ -31086,15 +31378,15 @@ var require_api_pipeline2 = __commonJS({ } }); -// node_modules/undici/lib/api/api-upgrade.js +// node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js var require_api_upgrade2 = __commonJS({ - "node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) { "use strict"; - var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2(); - var { AsyncResource } = require("async_hooks"); + var { InvalidArgumentError, SocketError } = require_errors2(); + var { AsyncResource } = require("node:async_hooks"); var util = require_util9(); var { addSignal, removeSignal } = require_abort_signal2(); - var assert = require("assert"); + var assert = require("node:assert"); var UpgradeHandler = class extends AsyncResource { constructor(opts, callback) { if (!opts || typeof opts !== "object") { @@ -31116,9 +31408,11 @@ var require_api_upgrade2 = __commonJS({ addSignal(this, signal); } onConnect(abort, context2) { - if (!this.callback) { - throw new RequestAbortedError(); + if (this.reason) { + abort(this.reason); + return; } + assert(this.callback); this.abort = abort; this.context = null; } @@ -31126,8 +31420,8 @@ var require_api_upgrade2 = __commonJS({ throw new SocketError("bad upgrade", null); } onUpgrade(statusCode, rawHeaders, socket) { + assert(statusCode === 101); const { callback, opaque, context: context2 } = this; - assert.strictEqual(statusCode, 101); removeSignal(this); this.callback = null; const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); @@ -31168,7 +31462,7 @@ var require_api_upgrade2 = __commonJS({ if (typeof callback !== "function") { throw err; } - const opaque = opts && opts.opaque; + const opaque = opts?.opaque; queueMicrotask(() => callback(err, { opaque })); } } @@ -31176,12 +31470,13 @@ var require_api_upgrade2 = __commonJS({ } }); -// node_modules/undici/lib/api/api-connect.js +// node_modules/@actions/github/node_modules/undici/lib/api/api-connect.js var require_api_connect2 = __commonJS({ - "node_modules/undici/lib/api/api-connect.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/api/api-connect.js"(exports2, module2) { "use strict"; - var { AsyncResource } = require("async_hooks"); - var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2(); + var assert = require("node:assert"); + var { AsyncResource } = require("node:async_hooks"); + var { InvalidArgumentError, SocketError } = require_errors2(); var util = require_util9(); var { addSignal, removeSignal } = require_abort_signal2(); var ConnectHandler = class extends AsyncResource { @@ -31204,9 +31499,11 @@ var require_api_connect2 = __commonJS({ addSignal(this, signal); } onConnect(abort, context2) { - if (!this.callback) { - throw new RequestAbortedError(); + if (this.reason) { + abort(this.reason); + return; } + assert(this.callback); this.abort = abort; this.context = context2; } @@ -31255,7 +31552,7 @@ var require_api_connect2 = __commonJS({ if (typeof callback !== "function") { throw err; } - const opaque = opts && opts.opaque; + const opaque = opts?.opaque; queueMicrotask(() => callback(err, { opaque })); } } @@ -31263,9 +31560,9 @@ var require_api_connect2 = __commonJS({ } }); -// node_modules/undici/lib/api/index.js +// node_modules/@actions/github/node_modules/undici/lib/api/index.js var require_api2 = __commonJS({ - "node_modules/undici/lib/api/index.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/api/index.js"(exports2, module2) { "use strict"; module2.exports.request = require_api_request2(); module2.exports.stream = require_api_stream2(); @@ -31275,11 +31572,12 @@ var require_api2 = __commonJS({ } }); -// node_modules/undici/lib/mock/mock-errors.js +// node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js var require_mock_errors2 = __commonJS({ - "node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) { "use strict"; var { UndiciError } = require_errors2(); + var kMockNotMatchedError = /* @__PURE__ */ Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED"); var MockNotMatchedError = class _MockNotMatchedError extends UndiciError { constructor(message) { super(message); @@ -31288,6 +31586,10 @@ var require_mock_errors2 = __commonJS({ 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 @@ -31295,9 +31597,9 @@ var require_mock_errors2 = __commonJS({ } }); -// node_modules/undici/lib/mock/mock-symbols.js +// node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js var require_mock_symbols2 = __commonJS({ - "node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) { "use strict"; module2.exports = { kAgent: /* @__PURE__ */ Symbol("agent"), @@ -31323,9 +31625,9 @@ var require_mock_symbols2 = __commonJS({ } }); -// node_modules/undici/lib/mock/mock-utils.js +// node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js var require_mock_utils2 = __commonJS({ - "node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) { "use strict"; var { MockNotMatchedError } = require_mock_errors2(); var { @@ -31335,13 +31637,13 @@ var require_mock_utils2 = __commonJS({ kOrigin, kGetNetConnect } = require_mock_symbols2(); - var { buildURL, nop } = require_util9(); - var { STATUS_CODES } = require("http"); + var { buildURL } = require_util9(); + var { STATUS_CODES } = require("node:http"); var { types: { isPromise } - } = require("util"); + } = require("node:util"); function matchValue(match, value) { if (typeof match === "string") { return match === value; @@ -31426,6 +31728,10 @@ var require_mock_utils2 = __commonJS({ 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 { @@ -31441,15 +31747,16 @@ var require_mock_utils2 = __commonJS({ } matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method)); if (matchedMockDispatches.length === 0) { - throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`); + throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}' on path '${resolvedPath}'`); } matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true); if (matchedMockDispatches.length === 0) { - throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`); + 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) { - throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers}'`); + const headers = typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers; + throw new MockNotMatchedError(`Mock dispatch not matched for headers '${headers}' on path '${resolvedPath}'`); } return matchedMockDispatches[0]; } @@ -31482,11 +31789,21 @@ var require_mock_utils2 = __commonJS({ }; } function generateKeyValues(data) { - return Object.entries(data).reduce((keyValuePairs, [key, value]) => [ - ...keyValuePairs, - Buffer.from(`${key}`), - Array.isArray(value) ? value.map((x) => Buffer.from(`${x}`)) : Buffer.from(`${value}`) - ], []); + 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"; @@ -31531,10 +31848,10 @@ var require_mock_utils2 = __commonJS({ const responseData = getResponseData2(body); const responseHeaders = generateKeyValues(headers); const responseTrailers = generateKeyValues(trailers); - handler2.abort = nop; - handler2.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode)); - handler2.onData(Buffer.from(responseData)); - handler2.onComplete(responseTrailers); + 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() { @@ -31598,14 +31915,15 @@ var require_mock_utils2 = __commonJS({ buildMockDispatch, checkNetConnect, buildMockOptions, - getHeaderByName + getHeaderByName, + buildHeadersFromArray }; } }); -// node_modules/undici/lib/mock/mock-interceptor.js +// node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js var require_mock_interceptor2 = __commonJS({ - "node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) { "use strict"; var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils2(); var { @@ -31678,46 +31996,47 @@ var require_mock_interceptor2 = __commonJS({ this[kDefaultTrailers] = {}; this[kContentLength] = false; } - createMockScopeDispatchData(statusCode, data, responseOptions = {}) { + 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(statusCode, data, responseOptions) { - if (typeof statusCode === "undefined") { + validateReplyParameters(replyParameters) { + if (typeof replyParameters.statusCode === "undefined") { throw new InvalidArgumentError("statusCode must be defined"); } - if (typeof data === "undefined") { - throw new InvalidArgumentError("data must be defined"); - } - if (typeof responseOptions !== "object") { + if (typeof replyParameters.responseOptions !== "object" || replyParameters.responseOptions === null) { throw new InvalidArgumentError("responseOptions must be an object"); } } /** * Mock an undici request with a defined reply. */ - reply(replyData) { - if (typeof replyData === "function") { + reply(replyOptionsCallbackOrStatusCode) { + if (typeof replyOptionsCallbackOrStatusCode === "function") { const wrappedDefaultsCallback = (opts) => { - const resolvedData = replyData(opts); - if (typeof resolvedData !== "object") { + const resolvedData = replyOptionsCallbackOrStatusCode(opts); + if (typeof resolvedData !== "object" || resolvedData === null) { throw new InvalidArgumentError("reply options callback must return an object"); } - const { statusCode: statusCode2, data: data2 = "", responseOptions: responseOptions2 = {} } = resolvedData; - this.validateReplyParameters(statusCode2, data2, responseOptions2); + const replyParameters2 = { data: "", responseOptions: {}, ...resolvedData }; + this.validateReplyParameters(replyParameters2); return { - ...this.createMockScopeDispatchData(statusCode2, data2, responseOptions2) + ...this.createMockScopeDispatchData(replyParameters2) }; }; const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback); return new MockScope(newMockDispatch2); } - const [statusCode, data = "", responseOptions = {}] = [...arguments]; - this.validateReplyParameters(statusCode, data, responseOptions); - const dispatchData = this.createMockScopeDispatchData(statusCode, data, responseOptions); + const 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); } @@ -31764,11 +32083,11 @@ var require_mock_interceptor2 = __commonJS({ } }); -// node_modules/undici/lib/mock/mock-client.js +// node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js var require_mock_client2 = __commonJS({ - "node_modules/undici/lib/mock/mock-client.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js"(exports2, module2) { "use strict"; - var { promisify } = require("util"); + var { promisify } = require("node:util"); var Client = require_client2(); var { buildMockDispatch } = require_mock_utils2(); var { @@ -31817,11 +32136,11 @@ var require_mock_client2 = __commonJS({ } }); -// node_modules/undici/lib/mock/mock-pool.js +// node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js var require_mock_pool2 = __commonJS({ - "node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) { "use strict"; - var { promisify } = require("util"); + var { promisify } = require("node:util"); var Pool = require_pool2(); var { buildMockDispatch } = require_mock_utils2(); var { @@ -31870,9 +32189,9 @@ var require_mock_pool2 = __commonJS({ } }); -// node_modules/undici/lib/mock/pluralizer.js +// node_modules/@actions/github/node_modules/undici/lib/mock/pluralizer.js var require_pluralizer2 = __commonJS({ - "node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) { "use strict"; var singulars = { pronoun: "it", @@ -31901,12 +32220,14 @@ var require_pluralizer2 = __commonJS({ } }); -// node_modules/undici/lib/mock/pending-interceptors-formatter.js +// node_modules/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js var require_pending_interceptors_formatter2 = __commonJS({ - "node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) { "use strict"; - var { Transform } = require("stream"); - var { Console } = require("console"); + 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({ @@ -31928,7 +32249,7 @@ var require_pending_interceptors_formatter2 = __commonJS({ Origin: origin, Path: path7, "Status code": statusCode, - Persistent: persist ? "\u2705" : "\u274C", + Persistent: persist ? PERSISTENT : NOT_PERSISTENT, Invocations: timesInvoked, Remaining: persist ? Infinity : times - timesInvoked }) @@ -31940,9 +32261,9 @@ var require_pending_interceptors_formatter2 = __commonJS({ } }); -// node_modules/undici/lib/mock/mock-agent.js +// node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js var require_mock_agent2 = __commonJS({ - "node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) { "use strict"; var { kClients } = require_symbols6(); var Agent = require_agent2(); @@ -31964,23 +32285,15 @@ var require_mock_agent2 = __commonJS({ var Dispatcher = require_dispatcher2(); var Pluralizer = require_pluralizer2(); var PendingInterceptorsFormatter = require_pending_interceptors_formatter2(); - var FakeWeakRef = class { - constructor(value) { - this.value = value; - } - deref() { - return this.value; - } - }; var MockAgent = class extends Dispatcher { constructor(opts) { super(opts); this[kNetConnect] = true; this[kIsMockActive] = true; - if (opts && opts.agent && typeof opts.agent.dispatch !== "function") { + if (opts?.agent && typeof opts.agent.dispatch !== "function") { throw new InvalidArgumentError("Argument opts.agent must implement Agent"); } - const agent = opts && opts.agent ? opts.agent : new Agent(opts); + const agent = opts?.agent ? opts.agent : new Agent(opts); this[kAgent] = agent; this[kClients] = agent[kClients]; this[kOptions] = buildMockOptions(opts); @@ -32029,24 +32342,23 @@ var require_mock_agent2 = __commonJS({ return this[kIsMockActive]; } [kMockAgentSet](origin, dispatcher) { - this[kClients].set(origin, new FakeWeakRef(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 ref = this[kClients].get(origin); - if (ref) { - return ref.deref(); + 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, nonExplicitRef] of Array.from(this[kClients])) { - const nonExplicitDispatcher = nonExplicitRef.deref(); + 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); @@ -32060,7 +32372,7 @@ var require_mock_agent2 = __commonJS({ } pendingInterceptors() { const mockAgentClients = this[kClients]; - return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope.deref()[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending); + return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending); } assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) { const pending = this.pendingInterceptors(); @@ -32079,504 +32391,528 @@ ${pendingInterceptorsFormatter.format(pending)} } }); -// node_modules/undici/lib/proxy-agent.js -var require_proxy_agent2 = __commonJS({ - "node_modules/undici/lib/proxy-agent.js"(exports2, module2) { +// node_modules/@actions/github/node_modules/undici/lib/global.js +var require_global4 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/global.js"(exports2, module2) { "use strict"; - var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols6(); - var { URL: URL2 } = require("url"); + var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1"); + var { InvalidArgumentError } = require_errors2(); var Agent = require_agent2(); - var Pool = require_pool2(); - var DispatcherBase = require_dispatcher_base2(); - var { InvalidArgumentError, RequestAbortedError } = require_errors2(); - var buildConnector = require_connect2(); - var kAgent = /* @__PURE__ */ Symbol("proxy agent"); - var kClient = /* @__PURE__ */ Symbol("proxy client"); - var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers"); - var kRequestTls = /* @__PURE__ */ Symbol("request tls settings"); - var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings"); - var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function"); - function defaultProtocolPort(protocol) { - return protocol === "https:" ? 443 : 80; + if (getGlobalDispatcher() === void 0) { + setGlobalDispatcher(new Agent()); } - function buildProxyOptions(opts) { - if (typeof opts === "string") { - opts = { uri: opts }; - } - if (!opts || !opts.uri) { - throw new InvalidArgumentError("Proxy opts.uri is mandatory"); + function setGlobalDispatcher(agent) { + if (!agent || typeof agent.dispatch !== "function") { + throw new InvalidArgumentError("Argument agent must implement Agent"); } - return { - uri: opts.uri, - protocol: opts.protocol || "https" - }; + Object.defineProperty(globalThis, globalDispatcher, { + value: agent, + writable: true, + enumerable: false, + configurable: false + }); } - function defaultFactory(origin, opts) { - return new Pool(origin, opts); + function getGlobalDispatcher() { + return globalThis[globalDispatcher]; } - var ProxyAgent = class extends DispatcherBase { - constructor(opts) { - super(opts); - this[kProxy] = buildProxyOptions(opts); - this[kAgent] = new Agent(opts); - this[kInterceptors] = opts.interceptors && opts.interceptors.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : []; - if (typeof opts === "string") { - opts = { uri: opts }; - } - if (!opts || !opts.uri) { - throw new InvalidArgumentError("Proxy opts.uri is mandatory"); - } - const { clientFactory = defaultFactory } = opts; - if (typeof clientFactory !== "function") { - throw new InvalidArgumentError("Proxy opts.clientFactory must be a function."); - } - this[kRequestTls] = opts.requestTls; - this[kProxyTls] = opts.proxyTls; - this[kProxyHeaders] = opts.headers || {}; - const resolvedUrl = new URL2(opts.uri); - const { origin, port, host, username, password } = resolvedUrl; - 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")}`; + module2.exports = { + setGlobalDispatcher, + getGlobalDispatcher + }; + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/handler/decorator-handler.js +var require_decorator_handler2 = __commonJS({ + "node_modules/@actions/github/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"); } - const connect = buildConnector({ ...opts.proxyTls }); - this[kConnectEndpoint] = buildConnector({ ...opts.requestTls }); - this[kClient] = clientFactory(resolvedUrl, { connect }); - this[kAgent] = new Agent({ - ...opts, - connect: async (opts2, callback) => { - let requestedHost = opts2.host; - if (!opts2.port) { - requestedHost += `:${defaultProtocolPort(opts2.protocol)}`; - } - try { - const { socket, statusCode } = await this[kClient].connect({ - origin, - port, - path: requestedHost, - signal: opts2.signal, - headers: { - ...this[kProxyHeaders], - host - } - }); - if (statusCode !== 200) { - socket.on("error", () => { - }).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) { - callback(err); - } - } - }); + this.#handler = handler2; } - dispatch(opts, handler2) { - const { host } = new URL2(opts.origin); - const headers = buildHeaders(opts.headers); - throwIfProxyAuthIsSent(headers); - return this[kAgent].dispatch( - { - ...opts, - headers: { - ...headers, - host - } - }, - handler2 - ); + onConnect(...args) { + return this.#handler.onConnect?.(...args); } - async [kClose]() { - await this[kAgent].close(); - await this[kClient].close(); + onError(...args) { + return this.#handler.onError?.(...args); } - async [kDestroy]() { - await this[kAgent].destroy(); - await this[kClient].destroy(); + onUpgrade(...args) { + return this.#handler.onUpgrade?.(...args); } - }; - 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; + onResponseStarted(...args) { + return this.#handler.onResponseStarted?.(...args); } - 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"); + onHeaders(...args) { + return this.#handler.onHeaders?.(...args); } - } - module2.exports = ProxyAgent; + 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/handler/RetryHandler.js -var require_RetryHandler = __commonJS({ - "node_modules/undici/lib/handler/RetryHandler.js"(exports2, module2) { - var assert = require("assert"); - var { kRetryHandlerDefaultRetry } = require_symbols6(); - var { RequestRetryError } = require_errors2(); - var { isDisturbed, parseHeaders, parseRangeHeader } = require_util9(); - function calculateRetryAfterHeader(retryAfter) { - const current = Date.now(); - const diff = new Date(retryAfter).getTime() - current; - return diff; - } - 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; - this.abort = null; - this.aborted = false; - this.retryOpts = { - retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry], - retryAfter: retryAfter ?? true, - maxTimeout: maxTimeout ?? 30 * 1e3, - // 30s, - timeout: 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" - ] - }; - this.retryCount = 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; +// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js +var require_redirect2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js"(exports2, module2) { + "use strict"; + var RedirectHandler = require_redirect_handler2(); + 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); } - }); - } - onRequestSent() { - if (this.handler.onRequestSent) { - this.handler.onRequestSent(); - } - } - onUpgrade(statusCode, headers, socket) { - if (this.handler.onUpgrade) { - this.handler.onUpgrade(statusCode, headers, socket); + const redirectHandler = new RedirectHandler( + dispatch, + maxRedirections, + opts2, + handler2 + ); + return dispatch(baseOpts, redirectHandler); + }; + }; + }; + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js +var require_retry2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js"(exports2, module2) { + "use strict"; + var RetryHandler = require_retry_handler2(); + 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/@actions/github/node_modules/undici/lib/interceptor/dump.js +var require_dump2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/interceptor/dump.js"(exports2, module2) { + "use strict"; + var util = require_util9(); + var { InvalidArgumentError, RequestAbortedError } = require_errors2(); + var DecoratorHandler = require_decorator_handler2(); + 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) { - if (this.aborted) { - abort(this.reason); - } else { - this.abort = abort; - } + this.#abort = abort; + this.#handler.onConnect(this.#customAbort.bind(this)); } - onBodySent(chunk) { - if (this.handler.onBodySent) return this.handler.onBodySent(chunk); + #customAbort(reason) { + this.#aborted = true; + this.#reason = reason; } - static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) { - const { statusCode, code, headers } = err; - const { method, retryOptions } = opts; - const { - maxRetries, - timeout, - maxTimeout, - timeoutFactor, - statusCodes, - errorCodes, - methods - } = retryOptions; - let { counter, currentTimeout } = state; - currentTimeout = currentTimeout != null && currentTimeout > 0 ? currentTimeout : timeout; - if (code && code !== "UND_ERR_REQ_RETRY" && code !== "UND_ERR_SOCKET" && !errorCodes.includes(code)) { - cb(err); - return; + // 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 (Array.isArray(methods) && !methods.includes(method)) { - cb(err); - return; + if (this.#aborted) { + return true; } - if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) { - cb(err); + return this.#handler.onHeaders( + statusCode, + rawHeaders, + resume, + statusMessage + ); + } + onError(err) { + if (this.#dumped) { return; } - if (counter > maxRetries) { - cb(err); + 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; } - let retryAfterHeader = headers != null && headers["retry-after"]; - if (retryAfterHeader) { - retryAfterHeader = Number(retryAfterHeader); - retryAfterHeader = isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3; + if (this.#aborted) { + this.#handler.onError(this.reason); + return; } - const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(currentTimeout * timeoutFactor ** counter, maxTimeout); - state.currentTimeout = retryTimeout; - setTimeout(() => cb(null), retryTimeout); + this.#handler.onComplete(trailers); } - onHeaders(statusCode, rawHeaders, resume, statusMessage) { - const headers = parseHeaders(rawHeaders); - this.retryCount += 1; - if (statusCode >= 300) { - this.abort( - new RequestRetryError("Request failed", statusCode, { - headers, - count: this.retryCount - }) + }; + 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 false; - } - if (this.resume != null) { - this.resume = null; - if (statusCode !== 206) { - return true; - } - const contentRange = parseRangeHeader(headers["content-range"]); - if (!contentRange) { - this.abort( - new RequestRetryError("Content-Range mismatch", statusCode, { - headers, - count: this.retryCount - }) - ); - return false; - } - if (this.etag != null && this.etag !== headers.etag) { - this.abort( - new RequestRetryError("ETag mismatch", statusCode, { - headers, - count: this.retryCount - }) - ); - return false; - } - const { start, size, end = size } = contentRange; - assert(this.start === start, "content-range mismatch"); - assert(this.end == null || this.end === end, "content-range mismatch"); - this.resume = resume; - return true; + return dispatch(opts, dumpHandler); + }; + }; + } + module2.exports = createDumpInterceptor; + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/interceptor/dns.js +var require_dns2 = __commonJS({ + "node_modules/@actions/github/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_handler2(); + var { InvalidArgumentError, InformationalError } = require_errors2(); + 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; } - 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 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; } - const { start, size, end = size } = range; - assert( - start != null && Number.isFinite(start) && this.start !== start, - "content-range mismatch" + this.setRecords(origin, addresses); + const records = this.#records.get(origin.hostname); + const ip = this.pick( + origin, + records, + newOpts.affinity ); - assert(Number.isFinite(start)); - assert( - end != null && Number.isFinite(end) && this.end !== end, - "invalid content-length" + 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}` ); - this.start = start; - this.end = end; + }); + } else { + const ip = this.pick( + origin, + ips, + newOpts.affinity + ); + if (ip == null) { + this.#records.delete(origin.hostname); + this.runLookup(origin, opts, cb); + return; } - if (this.end == null) { - const contentLength = headers["content-length"]; - this.end = contentLength != null ? Number(contentLength) : null; + let port; + if (typeof ip.port === "number") { + port = `:${ip.port}`; + } else if (origin.port !== "") { + port = `:${origin.port}`; + } else { + port = ""; } - 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; - return this.handler.onHeaders( - statusCode, - rawHeaders, - resume, - statusMessage + cb( + null, + `${origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}` ); } - const err = new RequestRetryError("Request failed", statusCode, { - headers, - 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); - } - this.retryOpts.retry( - err, + #defaultLookup(origin, opts, cb) { + lookup( + origin.hostname, { - state: { counter: this.retryCount++, currentTimeout: this.retryAfter }, - opts: { retryOptions: this.retryOpts, ...this.opts } + all: true, + family: this.dualStack === false ? this.affinity : 0, + order: "ipv4first" }, - onRetry.bind(this) + (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()); + } ); - function onRetry(err2) { - if (err2 != null || this.aborted || isDisturbed(this.opts.body)) { - return this.handler.onError(err2); + } + #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 (this.start !== 0) { - this.opts = { - ...this.opts, - headers: { - ...this.opts.headers, - range: `bytes=${this.start}-${this.end ?? ""}` - } - }; + if (records[affinity] != null && records[affinity].ips.length > 0) { + family = records[affinity]; + } else { + family = records[affinity === 4 ? 6 : 4]; } - try { - this.dispatch(this.opts, this); - } catch (err3) { - this.handler.onError(err3); + } 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 timestamp2 = Date.now(); + const records = { records: { 4: null, 6: null } }; + for (const record of addresses) { + record.timestamp = timestamp2; + 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); } - }; - module2.exports = RetryHandler; - } -}); - -// node_modules/undici/lib/global.js -var require_global4 = __commonJS({ - "node_modules/undici/lib/global.js"(exports2, module2) { - "use strict"; - var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1"); - var { InvalidArgumentError } = require_errors2(); - var Agent = require_agent2(); - if (getGlobalDispatcher() === void 0) { - setGlobalDispatcher(new Agent()); - } - function setGlobalDispatcher(agent) { - if (!agent || typeof agent.dispatch !== "function") { - throw new InvalidArgumentError("Argument agent must implement Agent"); + getHandler(meta, opts) { + return new DNSDispatchHandler(this, meta, opts); } - 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/DecoratorHandler.js -var require_DecoratorHandler = __commonJS({ - "node_modules/undici/lib/handler/DecoratorHandler.js"(exports2, module2) { - "use strict"; - module2.exports = class DecoratorHandler { - constructor(handler2) { - this.handler = handler2; + 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; } - onConnect(...args) { - return this.handler.onConnect(...args); + onError(err) { + switch (err.code) { + case "ETIMEDOUT": + case "ECONNREFUSED": { + if (this.#state.dualStack) { + this.#state.runLookup(this.#origin, this.#opts, (err2, newOrigin) => { + if (err2) { + return this.#handler.onError(err2); + } + const dispatchOpts = { + ...this.#opts, + origin: newOrigin + }; + this.#dispatch(dispatchOpts, this); + }); + return; + } + this.#handler.onError(err); + return; + } + case "ENOTFOUND": + this.#state.deleteRecord(this.#origin); + // eslint-disable-next-line no-fallthrough + default: + this.#handler.onError(err); + break; + } } - onError(...args) { - return this.handler.onError(...args); + }; + module2.exports = (interceptorOpts) => { + if (interceptorOpts?.maxTTL != null && (typeof interceptorOpts?.maxTTL !== "number" || interceptorOpts?.maxTTL < 0)) { + throw new InvalidArgumentError("Invalid maxTTL. Must be a positive number"); } - onUpgrade(...args) { - return this.handler.onUpgrade(...args); + 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" + ); } - onHeaders(...args) { - return this.handler.onHeaders(...args); + if (interceptorOpts?.affinity != null && interceptorOpts?.affinity !== 4 && interceptorOpts?.affinity !== 6) { + throw new InvalidArgumentError("Invalid affinity. Must be either 4 or 6"); } - onData(...args) { - return this.handler.onData(...args); + if (interceptorOpts?.dualStack != null && typeof interceptorOpts?.dualStack !== "boolean") { + throw new InvalidArgumentError("Invalid dualStack. Must be a boolean"); } - onComplete(...args) { - return this.handler.onComplete(...args); + if (interceptorOpts?.lookup != null && typeof interceptorOpts?.lookup !== "function") { + throw new InvalidArgumentError("Invalid lookup. Must be a function"); } - onBodySent(...args) { - return this.handler.onBodySent(...args); + 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/fetch/headers.js +// node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js var require_headers2 = __commonJS({ - "node_modules/undici/lib/fetch/headers.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js"(exports2, module2) { "use strict"; - var { kHeadersList, kConstruct } = require_symbols6(); - var { kGuard } = require_symbols7(); + var { kConstruct } = require_symbols6(); var { kEnumerableProperty } = require_util9(); var { - makeIterator, + iteratorMixin, isValidHeaderName, isValidHeaderValue } = require_util10(); - var util = require("util"); var { webidl } = require_webidl2(); - var assert = require("assert"); + var assert = require("node:assert"); + var util = require("node:util"); var kHeadersMap = /* @__PURE__ */ Symbol("headers map"); var kHeadersSortedMap = /* @__PURE__ */ Symbol("headers map sorted"); function isHTTPWhiteSpaceCharCode(code) { @@ -32629,11 +32965,13 @@ var require_headers2 = __commonJS({ type: "header value" }); } - if (headers[kGuard] === "immutable") { + if (getHeadersGuard(headers) === "immutable") { throw new TypeError("immutable"); - } else if (headers[kGuard] === "request-no-cors") { } - return headers[kHeadersList].append(name, value); + 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} */ @@ -32648,20 +32986,28 @@ var require_headers2 = __commonJS({ this[kHeadersSortedMap] = null; } } - // https://fetch.spec.whatwg.org/#header-list-contains - contains(name) { - name = name.toLowerCase(); - return this[kHeadersMap].has(name); + /** + * @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; } - // https://fetch.spec.whatwg.org/#concept-header-list-append - append(name, value) { + /** + * @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 = name.toLowerCase(); + const lowercaseName = isLowerCase ? name : name.toLowerCase(); const exists = this[kHeadersMap].get(lowercaseName); if (exists) { const delimiter = lowercaseName === "cookie" ? "; " : ", "; @@ -32673,73 +33019,155 @@ var require_headers2 = __commonJS({ this[kHeadersMap].set(lowercaseName, { name, value }); } if (lowercaseName === "set-cookie") { - this.cookies ??= []; - this.cookies.push(value); + (this.cookies ??= []).push(value); } } - // https://fetch.spec.whatwg.org/#concept-header-list-set - set(name, 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 = name.toLowerCase(); + const lowercaseName = isLowerCase ? name : name.toLowerCase(); if (lowercaseName === "set-cookie") { this.cookies = [value]; } this[kHeadersMap].set(lowercaseName, { name, value }); } - // https://fetch.spec.whatwg.org/#concept-header-list-delete - delete(name) { + /** + * @see https://fetch.spec.whatwg.org/#concept-header-list-delete + * @param {string} name + * @param {boolean} isLowerCase + */ + delete(name, isLowerCase) { this[kHeadersSortedMap] = null; - name = name.toLowerCase(); + if (!isLowerCase) name = name.toLowerCase(); if (name === "set-cookie") { this.cookies = null; } this[kHeadersMap].delete(name); } - // https://fetch.spec.whatwg.org/#concept-header-list-get - get(name) { - const value = this[kHeadersMap].get(name.toLowerCase()); - return value === void 0 ? null : value.value; + /** + * @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 [name, { value }] of this[kHeadersMap]) { + for (const { 0: name, 1: { value } } of this[kHeadersMap]) { yield [name, value]; } } get entries() { const headers = {}; - if (this[kHeadersMap].size) { + 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[kHeadersList] = new HeadersList(); - this[kGuard] = "none"; + this.#headersList = new HeadersList(); + this.#guard = "none"; if (init !== void 0) { - init = webidl.converters.HeadersInit(init); + init = webidl.converters.HeadersInit(init, "Headers contructor", "init"); fill(this, init); } } // https://fetch.spec.whatwg.org/#dom-headers-append append(name, value) { webidl.brandCheck(this, _Headers); - webidl.argumentLengthCheck(arguments, 2, { header: "Headers.append" }); - name = webidl.converters.ByteString(name); - value = webidl.converters.ByteString(value); + webidl.argumentLengthCheck(arguments, 2, "Headers.append"); + const prefix = "Headers.append"; + name = webidl.converters.ByteString(name, prefix, "name"); + value = webidl.converters.ByteString(value, prefix, "value"); return appendHeader(this, name, value); } // https://fetch.spec.whatwg.org/#dom-headers-delete delete(name) { webidl.brandCheck(this, _Headers); - webidl.argumentLengthCheck(arguments, 1, { header: "Headers.delete" }); - name = webidl.converters.ByteString(name); + webidl.argumentLengthCheck(arguments, 1, "Headers.delete"); + const prefix = "Headers.delete"; + name = webidl.converters.ByteString(name, prefix, "name"); if (!isValidHeaderName(name)) { throw webidl.errors.invalidArgument({ prefix: "Headers.delete", @@ -32747,73 +33175,74 @@ var require_headers2 = __commonJS({ type: "header name" }); } - if (this[kGuard] === "immutable") { + if (this.#guard === "immutable") { throw new TypeError("immutable"); - } else if (this[kGuard] === "request-no-cors") { } - if (!this[kHeadersList].contains(name)) { + if (!this.#headersList.contains(name, false)) { return; } - this[kHeadersList].delete(name); + this.#headersList.delete(name, false); } // https://fetch.spec.whatwg.org/#dom-headers-get get(name) { webidl.brandCheck(this, _Headers); - webidl.argumentLengthCheck(arguments, 1, { header: "Headers.get" }); - name = webidl.converters.ByteString(name); + webidl.argumentLengthCheck(arguments, 1, "Headers.get"); + const prefix = "Headers.get"; + name = webidl.converters.ByteString(name, prefix, "name"); if (!isValidHeaderName(name)) { throw webidl.errors.invalidArgument({ - prefix: "Headers.get", + prefix, value: name, type: "header name" }); } - return this[kHeadersList].get(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, { header: "Headers.has" }); - name = webidl.converters.ByteString(name); + webidl.argumentLengthCheck(arguments, 1, "Headers.has"); + const prefix = "Headers.has"; + name = webidl.converters.ByteString(name, prefix, "name"); if (!isValidHeaderName(name)) { throw webidl.errors.invalidArgument({ - prefix: "Headers.has", + prefix, value: name, type: "header name" }); } - return this[kHeadersList].contains(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, { header: "Headers.set" }); - name = webidl.converters.ByteString(name); - value = webidl.converters.ByteString(value); + webidl.argumentLengthCheck(arguments, 2, "Headers.set"); + const prefix = "Headers.set"; + name = webidl.converters.ByteString(name, prefix, "name"); + value = webidl.converters.ByteString(value, prefix, "value"); value = headerValueNormalize(value); if (!isValidHeaderName(name)) { throw webidl.errors.invalidArgument({ - prefix: "Headers.set", + prefix, value: name, type: "header name" }); } else if (!isValidHeaderValue(value)) { throw webidl.errors.invalidArgument({ - prefix: "Headers.set", + prefix, value, type: "header value" }); } - if (this[kGuard] === "immutable") { + if (this.#guard === "immutable") { throw new TypeError("immutable"); - } else if (this[kGuard] === "request-no-cors") { } - this[kHeadersList].set(name, value); + this.#headersList.set(name, value, false); } // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie getSetCookie() { webidl.brandCheck(this, _Headers); - const list = this[kHeadersList].cookies; + const list = this.#headersList.cookies; if (list) { return [...list]; } @@ -32821,96 +33250,50 @@ var require_headers2 = __commonJS({ } // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine get [kHeadersSortedMap]() { - if (this[kHeadersList][kHeadersSortedMap]) { - return this[kHeadersList][kHeadersSortedMap]; + if (this.#headersList[kHeadersSortedMap]) { + return this.#headersList[kHeadersSortedMap]; } const headers = []; - const names = [...this[kHeadersList]].sort((a, b) => a[0] < b[0] ? -1 : 1); - const cookies = this[kHeadersList].cookies; + 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 [name, value] = names[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 { - assert(value !== null); headers.push([name, value]); } } - this[kHeadersList][kHeadersSortedMap] = headers; - return headers; + return this.#headersList[kHeadersSortedMap] = headers; } - keys() { - webidl.brandCheck(this, _Headers); - if (this[kGuard] === "immutable") { - const value = this[kHeadersSortedMap]; - return makeIterator( - () => value, - "Headers", - "key" - ); - } - return makeIterator( - () => [...this[kHeadersSortedMap].values()], - "Headers", - "key" - ); + [util.inspect.custom](depth, options) { + options.depth ??= depth; + return `Headers ${util.formatWithOptions(options, this.#headersList.entries)}`; } - values() { - webidl.brandCheck(this, _Headers); - if (this[kGuard] === "immutable") { - const value = this[kHeadersSortedMap]; - return makeIterator( - () => value, - "Headers", - "value" - ); - } - return makeIterator( - () => [...this[kHeadersSortedMap].values()], - "Headers", - "value" - ); + static getHeadersGuard(o) { + return o.#guard; } - entries() { - webidl.brandCheck(this, _Headers); - if (this[kGuard] === "immutable") { - const value = this[kHeadersSortedMap]; - return makeIterator( - () => value, - "Headers", - "key+value" - ); - } - return makeIterator( - () => [...this[kHeadersSortedMap].values()], - "Headers", - "key+value" - ); + static setHeadersGuard(o, guard) { + o.#guard = guard; } - /** - * @param {(value: string, key: string, self: Headers) => void} callbackFn - * @param {unknown} thisArg - */ - forEach(callbackFn, thisArg = globalThis) { - webidl.brandCheck(this, _Headers); - webidl.argumentLengthCheck(arguments, 1, { header: "Headers.forEach" }); - if (typeof callbackFn !== "function") { - throw new TypeError( - "Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'." - ); - } - for (const [key, value] of this) { - callbackFn.apply(thisArg, [value, key, this]); - } + static getHeadersList(o) { + return o.#headersList; } - [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")]() { - webidl.brandCheck(this, _Headers); - return this[kHeadersList]; + static setHeadersList(o, list) { + o.#headersList = list; } }; - Headers.prototype[Symbol.iterator] = Headers.prototype.entries; + 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, @@ -32918,11 +33301,6 @@ var require_headers2 = __commonJS({ has: kEnumerableProperty, set: kEnumerableProperty, getSetCookie: kEnumerableProperty, - keys: kEnumerableProperty, - values: kEnumerableProperty, - entries: kEnumerableProperty, - forEach: kEnumerableProperty, - [Symbol.iterator]: { enumerable: false }, [Symbol.toStringTag]: { value: "Headers", configurable: true @@ -32931,12 +33309,19 @@ var require_headers2 = __commonJS({ enumerable: false } }); - webidl.converters.HeadersInit = function(V) { + webidl.converters.HeadersInit = function(V, prefix, argument) { if (webidl.util.Type(V) === "Object") { - if (V[Symbol.iterator]) { - return webidl.converters["sequence>"](V); + const iterator2 = Reflect.get(V, Symbol.iterator); + if (!util.types.isProxy(V) && iterator2 === Headers.prototype.entries) { + try { + return getHeadersList(V).entriesList; + } catch { + } } - return webidl.converters["record"](V); + 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", @@ -32946,19 +33331,26 @@ var require_headers2 = __commonJS({ }; module2.exports = { fill, + // for test. + compareHeaderName, Headers, - HeadersList + HeadersList, + getHeadersGuard, + setHeadersGuard, + setHeadersList, + getHeadersList }; } }); -// node_modules/undici/lib/fetch/response.js +// node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js var require_response2 = __commonJS({ - "node_modules/undici/lib/fetch/response.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js"(exports2, module2) { "use strict"; - var { Headers, HeadersList, fill } = require_headers2(); - var { extractBody, cloneBody, mixinBody } = require_body2(); + var { Headers, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers2(); + var { extractBody, cloneBody, mixinBody, hasFinalizationRegistry, streamRegistry, bodyUnusable } = require_body2(); var util = require_util9(); + var nodeUtil = require("node:util"); var { kEnumerableProperty } = util; var { isValidReasonPhrase, @@ -32967,38 +33359,30 @@ var require_response2 = __commonJS({ isBlobLike, serializeJavascriptValueToJSONString, isErrorLike, - isomorphicEncode + isomorphicEncode, + environmentSettingsObject: relevantRealm } = require_util10(); var { redirectStatusSet, - nullBodyStatus, - DOMException: DOMException2 - } = require_constants7(); - var { kState, kHeaders, kGuard, kRealm } = require_symbols7(); + nullBodyStatus + } = require_constants8(); + var { kState, kHeaders } = require_symbols7(); var { webidl } = require_webidl2(); var { FormData: FormData2 } = require_formdata2(); - var { getGlobalOrigin } = require_global3(); - var { URLSerializer } = require_dataURL(); - var { kHeadersList, kConstruct } = require_symbols6(); - var assert = require("assert"); - var { types } = require("util"); - var ReadableStream2 = globalThis.ReadableStream || require("stream/web").ReadableStream; + var { URLSerializer } = require_data_url2(); + var { kConstruct } = require_symbols6(); + 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 relevantRealm = { settingsObject: {} }; - const responseObject = new _Response(); - responseObject[kState] = makeNetworkError(); - responseObject[kRealm] = relevantRealm; - responseObject[kHeaders][kHeadersList] = responseObject[kState].headersList; - responseObject[kHeaders][kGuard] = "immutable"; - responseObject[kHeaders][kRealm] = relevantRealm; + const responseObject = fromInnerResponse(makeNetworkError(), "immutable"); return responseObject; } // https://fetch.spec.whatwg.org/#dom-response-json static json(data, init = {}) { - webidl.argumentLengthCheck(arguments, 1, { header: "Response.json" }); + webidl.argumentLengthCheck(arguments, 1, "Response.json"); if (init !== null) { init = webidl.converters.ResponseInit(init); } @@ -33006,52 +33390,44 @@ var require_response2 = __commonJS({ serializeJavascriptValueToJSONString(data) ); const body = extractBody(bytes); - const relevantRealm = { settingsObject: {} }; - const responseObject = new _Response(); - responseObject[kRealm] = relevantRealm; - responseObject[kHeaders][kGuard] = "response"; - responseObject[kHeaders][kRealm] = relevantRealm; + const responseObject = fromInnerResponse(makeResponse({}), "response"); initializeResponse(responseObject, init, { body: body[0], type: "application/json" }); return responseObject; } // Creates a redirect Response that redirects to url with status status. static redirect(url, status = 302) { - const relevantRealm = { settingsObject: {} }; - webidl.argumentLengthCheck(arguments, 1, { header: "Response.redirect" }); + webidl.argumentLengthCheck(arguments, 1, "Response.redirect"); url = webidl.converters.USVString(url); status = webidl.converters["unsigned short"](status); let parsedURL; try { - parsedURL = new URL(url, getGlobalOrigin()); + parsedURL = new URL(url, relevantRealm.settingsObject.baseUrl); } catch (err) { - throw Object.assign(new TypeError("Failed to parse URL from " + url), { - cause: err - }); + throw new TypeError(`Failed to parse URL from ${url}`, { cause: err }); } if (!redirectStatusSet.has(status)) { - throw new RangeError("Invalid status code " + status); + throw new RangeError(`Invalid status code ${status}`); } - const responseObject = new _Response(); - responseObject[kRealm] = relevantRealm; - responseObject[kHeaders][kGuard] = "immutable"; - responseObject[kHeaders][kRealm] = relevantRealm; + const responseObject = fromInnerResponse(makeResponse({}), "immutable"); responseObject[kState].status = status; const value = isomorphicEncode(URLSerializer(parsedURL)); - responseObject[kState].headersList.append("location", value); + responseObject[kState].headersList.append("location", value, true); return responseObject; } // https://fetch.spec.whatwg.org/#dom-response constructor(body = null, init = {}) { + webidl.util.markAsUncloneable(this); + if (body === kConstruct) { + return; + } if (body !== null) { body = webidl.converters.BodyInit(body); } init = webidl.converters.ResponseInit(init); - this[kRealm] = { settingsObject: {} }; this[kState] = makeResponse({}); this[kHeaders] = new Headers(kConstruct); - this[kHeaders][kGuard] = "response"; - this[kHeaders][kHeadersList] = this[kState].headersList; - this[kHeaders][kRealm] = this[kRealm]; + setHeadersGuard(this[kHeaders], "response"); + setHeadersList(this[kHeaders], this[kState].headersList); let bodyWithType = null; if (body != null) { const [extractedBody, type2] = extractBody(body); @@ -33110,20 +33486,35 @@ var require_response2 = __commonJS({ // Returns a clone of response. clone() { webidl.brandCheck(this, _Response); - if (this.bodyUsed || this.body && this.body.locked) { + if (bodyUnusable(this)) { throw webidl.errors.exception({ header: "Response.clone", message: "Body has already been consumed." }); } const clonedResponse = cloneResponse(this[kState]); - const clonedResponseObject = new _Response(); - clonedResponseObject[kState] = clonedResponse; - clonedResponseObject[kRealm] = this[kRealm]; - clonedResponseObject[kHeaders][kHeadersList] = clonedResponse.headersList; - clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard]; - clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm]; - return clonedResponseObject; + 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); @@ -33157,7 +33548,7 @@ var require_response2 = __commonJS({ } const newResponse = makeResponse({ ...response, body: null }); if (response.body != null) { - newResponse.body = cloneBody(response.body); + newResponse.body = cloneBody(newResponse, response.body); } return newResponse; } @@ -33173,8 +33564,8 @@ var require_response2 = __commonJS({ cacheState: "", statusText: "", ...init, - headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList(), - urlList: init.urlList ? [...init.urlList] : [] + headersList: init?.headersList ? new HeadersList(init?.headersList) : new HeadersList(), + urlList: init?.urlList ? [...init.urlList] : [] }; } function makeNetworkError(reason) { @@ -33186,6 +33577,13 @@ var require_response2 = __commonJS({ 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, @@ -33235,7 +33633,7 @@ var require_response2 = __commonJS({ } function makeAppropriateNetworkError(fetchParams, err = null) { assert(isCancelled(fetchParams)); - return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException2("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException2("Request was cancelled."), { cause: err })); + return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException("Request was cancelled."), { cause: err })); } function initializeResponse(response, init, body) { if (init.status !== null && (init.status < 200 || init.status > 599)) { @@ -33259,17 +33657,28 @@ var require_response2 = __commonJS({ if (nullBodyStatus.includes(response.status)) { throw webidl.errors.exception({ header: "Response constructor", - message: "Invalid response status code " + response.status + message: `Invalid response status code ${response.status}` }); } response[kState].body = body.body; - if (body.type != null && !response[kState].headersList.contains("Content-Type")) { - response[kState].headersList.append("content-type", body.type); + if (body.type != null && !response[kState].headersList.contains("content-type", true)) { + response[kState].headersList.append("content-type", body.type, true); } } } + function fromInnerResponse(innerResponse, guard) { + const response = new Response(kConstruct); + response[kState] = innerResponse; + response[kHeaders] = new Headers(kConstruct); + setHeadersList(response[kHeaders], innerResponse.headersList); + setHeadersGuard(response[kHeaders], guard); + if (hasFinalizationRegistry && innerResponse.body?.stream) { + streamRegistry.register(response, new WeakRef(innerResponse.body.stream)); + } + return response; + } webidl.converters.ReadableStream = webidl.interfaceConverter( - ReadableStream2 + ReadableStream ); webidl.converters.FormData = webidl.interfaceConverter( FormData2 @@ -33277,43 +33686,43 @@ var require_response2 = __commonJS({ webidl.converters.URLSearchParams = webidl.interfaceConverter( URLSearchParams ); - webidl.converters.XMLHttpRequestBodyInit = function(V) { + webidl.converters.XMLHttpRequestBodyInit = function(V, prefix, name) { if (typeof V === "string") { - return webidl.converters.USVString(V); + return webidl.converters.USVString(V, prefix, name); } if (isBlobLike(V)) { - return webidl.converters.Blob(V, { strict: false }); + return webidl.converters.Blob(V, prefix, name, { strict: false }); } - if (types.isArrayBuffer(V) || types.isTypedArray(V) || types.isDataView(V)) { - return webidl.converters.BufferSource(V); + if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) { + return webidl.converters.BufferSource(V, prefix, name); } if (util.isFormDataLike(V)) { - return webidl.converters.FormData(V, { strict: false }); + return webidl.converters.FormData(V, prefix, name, { strict: false }); } if (V instanceof URLSearchParams) { - return webidl.converters.URLSearchParams(V); + return webidl.converters.URLSearchParams(V, prefix, name); } - return webidl.converters.DOMString(V); + return webidl.converters.DOMString(V, prefix, name); }; - webidl.converters.BodyInit = function(V) { - if (V instanceof ReadableStream2) { - return webidl.converters.ReadableStream(V); + 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); + return webidl.converters.XMLHttpRequestBodyInit(V, prefix, argument); }; webidl.converters.ResponseInit = webidl.dictionaryConverter([ { key: "status", converter: webidl.converters["unsigned short"], - defaultValue: 200 + defaultValue: () => 200 }, { key: "statusText", converter: webidl.converters.ByteString, - defaultValue: "" + defaultValue: () => "" }, { key: "headers", @@ -33321,30 +33730,73 @@ var require_response2 = __commonJS({ } ]); module2.exports = { + isNetworkError, makeNetworkError, makeResponse, makeAppropriateNetworkError, filterResponse, Response, - cloneResponse + cloneResponse, + fromInnerResponse }; } }); -// node_modules/undici/lib/fetch/request.js +// node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js +var require_dispatcher_weakref2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js"(exports2, module2) { + "use strict"; + var { kConnected, kSize } = require_symbols6(); + 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/@actions/github/node_modules/undici/lib/web/fetch/request.js var require_request4 = __commonJS({ - "node_modules/undici/lib/fetch/request.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js"(exports2, module2) { "use strict"; - var { extractBody, mixinBody, cloneBody } = require_body2(); - var { Headers, fill: fillHeaders, HeadersList } = require_headers2(); + var { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body2(); + var { Headers, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers2(); var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()(); var util = require_util9(); + var nodeUtil = require("node:util"); var { isValidHTTPToken, sameOrigin, - normalizeMethod, - makePolicyContainer, - normalizeMethodRecord + environmentSettingsObject } = require_util10(); var { forbiddenMethodsSet, @@ -33355,43 +33807,61 @@ var require_request4 = __commonJS({ requestCredentials, requestCache, requestDuplex - } = require_constants7(); - var { kEnumerableProperty } = util; - var { kHeaders, kSignal, kState, kGuard, kRealm } = require_symbols7(); + } = require_constants8(); + var { kEnumerableProperty, normalizedMethodRecordsBase, normalizedMethodRecords } = util; + var { kHeaders, kSignal, kState, kDispatcher } = require_symbols7(); var { webidl } = require_webidl2(); - var { getGlobalOrigin } = require_global3(); - var { URLSerializer } = require_dataURL(); - var { kHeadersList, kConstruct } = require_symbols6(); - var assert = require("assert"); - var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events"); - var TransformStream2 = globalThis.TransformStream; + var { URLSerializer } = require_data_url2(); + var { kConstruct } = require_symbols6(); + var assert = require("node:assert"); + var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("node:events"); var kAbortController = /* @__PURE__ */ 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; } - webidl.argumentLengthCheck(arguments, 1, { header: "Request constructor" }); - input = webidl.converters.RequestInfo(input); - init = webidl.converters.RequestInit(init); - this[kRealm] = { - settingsObject: { - baseUrl: getGlobalOrigin(), - get origin() { - return this.baseUrl?.origin; - }, - policyContainer: makePolicyContainer() - } - }; + 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 = this[kRealm].settingsObject.baseUrl; + const baseUrl = environmentSettingsObject.settingsObject.baseUrl; let signal = null; if (typeof input === "string") { + this[kDispatcher] = init.dispatcher; let parsedURL; try { parsedURL = new URL(input, baseUrl); @@ -33406,11 +33876,12 @@ var require_request4 = __commonJS({ 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 = this[kRealm].settingsObject.origin; + const origin = environmentSettingsObject.settingsObject.origin; let window2 = "client"; if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) { window2 = request2.window; @@ -33432,7 +33903,7 @@ var require_request4 = __commonJS({ // unsafe-request flag Set. unsafeRequest: request2.unsafeRequest, // client This’s relevant settings object. - client: this[kRealm].settingsObject, + client: environmentSettingsObject.settingsObject, // window window. window: window2, // priority request’s priority. @@ -33488,7 +33959,7 @@ var require_request4 = __commonJS({ } catch (err) { throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err }); } - if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, this[kRealm].settingsObject.baseUrl)) { + if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, environmentSettingsObject.settingsObject.baseUrl)) { request2.referrer = "client"; } else { request2.referrer = parsedReferrer; @@ -33535,14 +34006,26 @@ var require_request4 = __commonJS({ } if (init.method !== void 0) { let method = init.method; - if (!isValidHTTPToken(method)) { - throw new TypeError(`'${method}' is not a valid HTTP 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 (forbiddenMethodsSet.has(method.toUpperCase())) { - throw new TypeError(`'${method}' HTTP method is unsupported.`); + 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; } - method = normalizeMethodRecord[method] ?? normalizeMethod(method); - request2.method = method; } if (init.signal !== void 0) { signal = init.signal; @@ -33550,7 +34033,6 @@ var require_request4 = __commonJS({ this[kState] = request2; const ac = new AbortController(); this[kSignal] = ac.signal; - this[kSignal][kRealm] = this[kRealm]; if (signal != null) { if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") { throw new TypeError( @@ -33562,43 +34044,37 @@ var require_request4 = __commonJS({ } else { this[kAbortController] = ac; const acRef = new WeakRef(ac); - const abort = function() { - const ac2 = acRef.deref(); - if (ac2 !== void 0) { - ac2.abort(this.reason); - } - }; + const abort = buildAbort(acRef); try { if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) { - setMaxListeners(100, signal); + setMaxListeners(1500, signal); } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) { - setMaxListeners(100, signal); + setMaxListeners(1500, signal); } } catch { } util.addAbortListener(signal, abort); - requestFinalizer.register(ac, { signal, abort }); + requestFinalizer.register(ac, { signal, abort }, abort); } } this[kHeaders] = new Headers(kConstruct); - this[kHeaders][kHeadersList] = request2.headersList; - this[kHeaders][kGuard] = "request"; - this[kHeaders][kRealm] = this[kRealm]; + 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.` ); } - this[kHeaders][kGuard] = "request-no-cors"; + setHeadersGuard(this[kHeaders], "request-no-cors"); } if (initHasKey) { - const headersList = this[kHeaders][kHeadersList]; + const headersList = getHeadersList(this[kHeaders]); const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList); headersList.clear(); if (headers instanceof HeadersList) { - for (const [key, val] of headers) { - headersList.append(key, val); + for (const { name, value } of headers.rawValues()) { + headersList.append(name, value, false); } headersList.cookies = headers.cookies; } else { @@ -33616,7 +34092,7 @@ var require_request4 = __commonJS({ request2.keepalive ); initBody = extractedBody; - if (contentType && !this[kHeaders][kHeadersList].contains("content-type")) { + if (contentType && !getHeadersList(this[kHeaders]).contains("content-type", true)) { this[kHeaders].append("content-type", contentType); } } @@ -33634,15 +34110,12 @@ var require_request4 = __commonJS({ } let finalBody = inputOrInitBody; if (initBody == null && inputBody != null) { - if (util.isDisturbed(inputBody.stream) || inputBody.stream.locked) { + if (bodyUnusable(input)) { throw new TypeError( "Cannot construct a Request with a Request object that has already been used." ); } - if (!TransformStream2) { - TransformStream2 = require("stream/web").TransformStream; - } - const identityTransform = new TransformStream2(); + const identityTransform = new TransformStream(); inputBody.stream.pipeThrough(identityTransform); finalBody = { source: inputBody.source, @@ -33745,7 +34218,7 @@ var require_request4 = __commonJS({ return this[kState].reloadNavigation; } // Returns a boolean indicating whether or not request is for a history - // navigation (a.k.a. back-foward navigation). + // navigation (a.k.a. back-forward navigation). get isHistoryNavigation() { webidl.brandCheck(this, _Request); return this[kState].historyNavigation; @@ -33772,83 +34245,112 @@ var require_request4 = __commonJS({ // Returns a clone of request. clone() { webidl.brandCheck(this, _Request); - if (this.bodyUsed || this.body?.locked) { + if (bodyUnusable(this)) { throw new TypeError("unusable"); } const clonedRequest = cloneRequest(this[kState]); - const clonedRequestObject = new _Request(kConstruct); - clonedRequestObject[kState] = clonedRequest; - clonedRequestObject[kRealm] = this[kRealm]; - clonedRequestObject[kHeaders] = new Headers(kConstruct); - clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList; - clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard]; - clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm]; const ac = new AbortController(); if (this.signal.aborted) { ac.abort(this.signal.reason); } 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( - this.signal, - () => { - ac.abort(this.signal.reason); - } + ac.signal, + buildAbort(acRef) ); } - clonedRequestObject[kSignal] = ac.signal; - return clonedRequestObject; + 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) { - const request2 = { - method: "GET", - localURLsOnly: false, - unsafeRequest: false, - body: null, - client: null, - reservedClient: null, - replacesClientId: "", - window: "client", - keepalive: false, - serviceWorkers: "all", - initiator: "", - destination: "", - priority: null, - origin: "client", - policyContainer: "client", - referrer: "client", - referrerPolicy: "", - mode: "no-cors", - useCORSPreflightFlag: false, - credentials: "same-origin", - useCredentials: false, - cache: "default", - redirect: "follow", - integrity: "", - cryptoGraphicsNonceMetadata: "", - parserMetadata: "", - reloadNavigation: false, - historyNavigation: false, - userActivation: false, - taintedOrigin: false, - redirectCount: 0, - responseTainting: "basic", - preventNoCacheCacheControlHeaderModification: false, - done: false, - timingAllowFailed: false, - ...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() }; - request2.url = request2.urlList[0]; - return request2; } function cloneRequest(request2) { const newRequest = makeRequest({ ...request2, body: null }); if (request2.body != null) { - newRequest.body = cloneBody(request2.body); + 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, @@ -33878,14 +34380,14 @@ var require_request4 = __commonJS({ webidl.converters.Request = webidl.interfaceConverter( Request ); - webidl.converters.RequestInfo = function(V) { + webidl.converters.RequestInfo = function(V, prefix, argument) { if (typeof V === "string") { - return webidl.converters.USVString(V); + return webidl.converters.USVString(V, prefix, argument); } if (V instanceof Request) { - return webidl.converters.Request(V); + return webidl.converters.Request(V, prefix, argument); } - return webidl.converters.USVString(V); + return webidl.converters.USVString(V, prefix, argument); }; webidl.converters.AbortSignal = webidl.interfaceConverter( AbortSignal @@ -33952,6 +34454,8 @@ var require_request4 = __commonJS({ converter: webidl.nullableConverter( (signal) => webidl.converters.AbortSignal( signal, + "RequestInit", + "signal", { strict: false } ) ) @@ -33964,26 +34468,31 @@ var require_request4 = __commonJS({ key: "duplex", converter: webidl.converters.DOMString, allowedValues: requestDuplex + }, + { + key: "dispatcher", + // undici specific option + converter: webidl.converters.any } ]); - module2.exports = { Request, makeRequest }; + module2.exports = { Request, makeRequest, fromInnerRequest, cloneRequest }; } }); -// node_modules/undici/lib/fetch/index.js +// node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js var require_fetch2 = __commonJS({ - "node_modules/undici/lib/fetch/index.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js"(exports2, module2) { "use strict"; var { - Response, makeNetworkError, makeAppropriateNetworkError, filterResponse, - makeResponse + makeResponse, + fromInnerResponse } = require_response2(); - var { Headers } = require_headers2(); - var { Request, makeRequest } = require_request4(); - var zlib = require("zlib"); + var { HeadersList } = require_headers2(); + var { Request, cloneRequest } = require_request4(); + var zlib = require("node:zlib"); var { bytesMatch, makePolicyContainer, @@ -34012,31 +34521,33 @@ var require_fetch2 = __commonJS({ isomorphicEncode, urlIsLocal, urlIsHttpHttpsScheme, - urlHasHttpsScheme + urlHasHttpsScheme, + clampAndCoarsenConnectionTimingInfo, + simpleRangeHeaderValue, + buildContentRange, + createInflate, + extractMimeType } = require_util10(); - var { kState, kHeaders, kGuard, kRealm } = require_symbols7(); - var assert = require("assert"); - var { safelyExtractBody } = require_body2(); + var { kState, kDispatcher } = require_symbols7(); + var assert = require("node:assert"); + var { safelyExtractBody, extractBody } = require_body2(); var { redirectStatusSet, nullBodyStatus, safeMethodsSet, requestBodyHeader, - subresourceSet, - DOMException: DOMException2 - } = require_constants7(); - var { kHeadersList } = require_symbols6(); - var EE = require("events"); - var { Readable, pipeline } = require("stream"); - var { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require_util9(); - var { dataURLProcessor, serializeAMimeType } = require_dataURL(); - var { TransformStream: TransformStream2 } = require("stream/web"); + subresourceSet + } = require_constants8(); + var EE = require("node:events"); + var { Readable, pipeline, finished } = require("node:stream"); + var { addAbortListener, isErrored, isReadable, bufferToLowerCasedHeaderName } = require_util9(); + var { dataURLProcessor, serializeAMimeType, minimizeSupportedMimeType } = require_data_url2(); var { getGlobalDispatcher } = require_global4(); var { webidl } = require_webidl2(); - var { STATUS_CODES } = require("http"); + 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 ReadableStream2 = globalThis.ReadableStream; var Fetch = class extends EE { constructor(dispatcher) { super(); @@ -34044,7 +34555,6 @@ var require_fetch2 = __commonJS({ this.connection = null; this.dump = false; this.state = "ongoing"; - this.setMaxListeners(21); } terminate(reason) { if (this.state !== "ongoing") { @@ -34061,16 +34571,19 @@ var require_fetch2 = __commonJS({ } this.state = "aborted"; if (!error3) { - error3 = new DOMException2("The operation was aborted.", "AbortError"); + error3 = new DOMException("The operation was aborted.", "AbortError"); } this.serializedAbortReason = error3; this.connection?.destroy(error3); this.emit("terminated", error3); } }; - function fetch(input, init = {}) { - webidl.argumentLengthCheck(arguments, 1, { header: "globalThis.fetch" }); - const p = createDeferredPromise(); + 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); @@ -34088,7 +34601,6 @@ var require_fetch2 = __commonJS({ request2.serviceWorkers = "none"; } let responseObject = null; - const relevantRealm = null; let locallyAborted = false; let controller = null; addAbortListener( @@ -34097,37 +34609,31 @@ var require_fetch2 = __commonJS({ locallyAborted = true; assert(controller != null); controller.abort(requestObject.signal.reason); - abortFetch(p, request2, responseObject, requestObject.signal.reason); + const realResponse = responseObject?.deref(); + abortFetch(p, request2, realResponse, requestObject.signal.reason); } ); - const handleFetchDone = (response) => finalizeAndReportTiming(response, "fetch"); const processResponse = (response) => { if (locallyAborted) { - return Promise.resolve(); + return; } if (response.aborted) { abortFetch(p, request2, responseObject, controller.serializedAbortReason); - return Promise.resolve(); + return; } if (response.type === "error") { - p.reject( - Object.assign(new TypeError("fetch failed"), { cause: response.error }) - ); - return Promise.resolve(); + p.reject(new TypeError("fetch failed", { cause: response.error })); + return; } - responseObject = new Response(); - responseObject[kState] = response; - responseObject[kRealm] = relevantRealm; - responseObject[kHeaders][kHeadersList] = response.headersList; - responseObject[kHeaders][kGuard] = "immutable"; - responseObject[kHeaders][kRealm] = relevantRealm; - p.resolve(responseObject); + responseObject = new WeakRef(fromInnerResponse(response, "immutable")); + p.resolve(responseObject.deref()); + p = null; }; controller = fetching({ request: request2, processResponseEndOfBody: handleFetchDone, processResponse, - dispatcher: init.dispatcher ?? getGlobalDispatcher() + dispatcher: requestObject[kDispatcher] // undici }); return p.promise; @@ -34158,22 +34664,17 @@ var require_fetch2 = __commonJS({ response.timingInfo = timingInfo; markResourceTiming( timingInfo, - originalURL, + originalURL.href, initiatorType, globalThis, cacheState ); } - function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) { - if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) { - performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis2, cacheState); - } - } + var markResourceTiming = performance.markResourceTiming; function abortFetch(p, request2, responseObject, error3) { - if (!error3) { - error3 = new DOMException2("The operation was aborted.", "AbortError"); + if (p) { + p.reject(error3); } - p.reject(error3); if (request2.body != null && isReadable(request2.body?.stream)) { request2.body.stream.cancel(error3).catch((err) => { if (err.code === "ERR_INVALID_STATE") { @@ -34203,18 +34704,19 @@ var require_fetch2 = __commonJS({ processResponseEndOfBody, processResponseConsumeBody, useParallelQueue = false, - dispatcher + dispatcher = getGlobalDispatcher() // undici }) { + assert(dispatcher); let taskDestination = null; let crossOriginIsolatedCapability = false; if (request2.client != null) { taskDestination = request2.client.globalObject; crossOriginIsolatedCapability = request2.client.crossOriginIsolatedCapability; } - const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability); + const currentTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability); const timingInfo = createOpaqueTimingInfo({ - startTime: currenTime + startTime: currentTime }); const fetchParams = { controller: new Fetch(dispatcher), @@ -34233,7 +34735,7 @@ var require_fetch2 = __commonJS({ request2.window = request2.client?.globalObject?.constructor?.name === "Window" ? request2.client : "no-window"; } if (request2.origin === "client") { - request2.origin = request2.client?.origin; + request2.origin = request2.client.origin; } if (request2.policyContainer === "client") { if (request2.client != null) { @@ -34244,12 +34746,12 @@ var require_fetch2 = __commonJS({ request2.policyContainer = makePolicyContainer(); } } - if (!request2.headersList.contains("accept")) { + if (!request2.headersList.contains("accept", true)) { const value = "*/*"; - request2.headersList.append("accept", value); + request2.headersList.append("accept", value, true); } - if (!request2.headersList.contains("accept-language")) { - request2.headersList.append("accept-language", "*"); + if (!request2.headersList.contains("accept-language", true)) { + request2.headersList.append("accept-language", "*", true); } if (request2.priority === null) { } @@ -34331,7 +34833,7 @@ var require_fetch2 = __commonJS({ if (!request2.timingAllowFailed) { response.timingAllowPassed = true; } - if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request2.headers.contains("range")) { + 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))) { @@ -34369,28 +34871,56 @@ var require_fetch2 = __commonJS({ } case "blob:": { if (!resolveObjectURL) { - resolveObjectURL = require("buffer").resolveObjectURL; + resolveObjectURL = require("node:buffer").resolveObjectURL; } const blobURLEntry = requestCurrentURL(request2); if (blobURLEntry.search.length !== 0) { return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource.")); } - const blobURLEntryObject = resolveObjectURL(blobURLEntry.toString()); - if (request2.method !== "GET" || !isBlobLike(blobURLEntryObject)) { + const blob = resolveObjectURL(blobURLEntry.toString()); + if (request2.method !== "GET" || !isBlobLike(blob)) { return Promise.resolve(makeNetworkError("invalid method")); } - const bodyWithType = safelyExtractBody(blobURLEntryObject); - const body = bodyWithType[0]; - const length = isomorphicEncode(`${body.length}`); - const type2 = bodyWithType[1] ?? ""; - const response = makeResponse({ - statusText: "OK", - headersList: [ - ["content-length", { name: "Content-Length", value: length }], - ["content-type", { name: "Content-Type", value: type2 }] - ] - }); - response.body = body; + const response = makeResponse(); + const fullLength = blob.size; + const serializedFullLength = isomorphicEncode(`${fullLength}`); + const type2 = 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", type2, 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, type2); + 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", type2, true); + response.headersList.set("content-range", contentRange, true); + } return Promise.resolve(response); } case "data:": { @@ -34427,52 +34957,59 @@ var require_fetch2 = __commonJS({ } } function fetchFinale(fetchParams, response) { - if (response.type === "error") { - response.urlList = [fetchParams.request.urlList[0]]; - response.timingInfo = createOpaqueTimingInfo({ - startTime: fetchParams.timingInfo.startTime - }); - } + let timingInfo = fetchParams.timingInfo; const processResponseEndOfBody = () => { - fetchParams.request.done = true; - if (fetchParams.processResponseEndOfBody != null) { - queueMicrotask(() => fetchParams.processResponseEndOfBody(response)); + 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)); + queueMicrotask(() => { + fetchParams.processResponse(response); + fetchParams.processResponse = null; + }); } - if (response.body == null) { + const internalResponse = response.type === "error" ? response : response.internalResponse ?? response; + if (internalResponse.body == null) { processResponseEndOfBody(); } else { - const identityTransformAlgorithm = (chunk, controller) => { - controller.enqueue(chunk); - }; - const transformStream = new TransformStream2({ - start() { - }, - transform: identityTransformAlgorithm, - flush: processResponseEndOfBody - }, { - size() { - return 1; - } - }, { - size() { - return 1; - } + finished(internalResponse.body.stream, () => { + processResponseEndOfBody(); }); - response.body = { stream: response.body.stream.pipeThrough(transformStream) }; - } - if (fetchParams.processResponseConsumeBody != null) { - const processBody = (nullOrBytes) => fetchParams.processResponseConsumeBody(response, nullOrBytes); - const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure); - if (response.body == null) { - queueMicrotask(() => processBody(null)); - } else { - return fullyReadBody(response.body, processBody, processBodyError); - } - return Promise.resolve(); } } async function httpFetch(fetchParams) { @@ -34504,7 +35041,7 @@ var require_fetch2 = __commonJS({ } if (redirectStatusSet.has(actualResponse.status)) { if (request2.redirect !== "manual") { - fetchParams.controller.connection.destroy(); + fetchParams.controller.connection.destroy(void 0, false); } if (request2.redirect === "error") { response = makeNetworkError("unexpected redirect"); @@ -34560,10 +35097,10 @@ var require_fetch2 = __commonJS({ } } if (!sameOrigin(requestCurrentURL(request2), locationURL)) { - request2.headersList.delete("authorization"); + request2.headersList.delete("authorization", true); request2.headersList.delete("proxy-authorization", true); - request2.headersList.delete("cookie"); - request2.headersList.delete("host"); + request2.headersList.delete("cookie", true); + request2.headersList.delete("host", true); } if (request2.body != null) { assert(request2.body.source != null); @@ -34589,7 +35126,7 @@ var require_fetch2 = __commonJS({ httpFetchParams = fetchParams; httpRequest = request2; } else { - httpRequest = makeRequest(request2); + httpRequest = cloneRequest(request2); httpFetchParams = { ...fetchParams }; httpFetchParams.request = httpRequest; } @@ -34603,52 +35140,52 @@ var require_fetch2 = __commonJS({ contentLengthHeaderValue = isomorphicEncode(`${contentLength}`); } if (contentLengthHeaderValue != null) { - httpRequest.headersList.append("content-length", contentLengthHeaderValue); + 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)); + httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href), true); } appendRequestOriginHeader(httpRequest); appendFetchMetadata(httpRequest); - if (!httpRequest.headersList.contains("user-agent")) { - httpRequest.headersList.append("user-agent", typeof esbuildDetection === "undefined" ? "undici" : "node"); + if (!httpRequest.headersList.contains("user-agent", true)) { + httpRequest.headersList.append("user-agent", defaultUserAgent); } - if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since") || httpRequest.headersList.contains("if-none-match") || httpRequest.headersList.contains("if-unmodified-since") || httpRequest.headersList.contains("if-match") || httpRequest.headersList.contains("if-range"))) { + 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")) { - httpRequest.headersList.append("cache-control", "max-age=0"); + 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")) { - httpRequest.headersList.append("pragma", "no-cache"); + if (!httpRequest.headersList.contains("pragma", true)) { + httpRequest.headersList.append("pragma", "no-cache", true); } - if (!httpRequest.headersList.contains("cache-control")) { - httpRequest.headersList.append("cache-control", "no-cache"); + if (!httpRequest.headersList.contains("cache-control", true)) { + httpRequest.headersList.append("cache-control", "no-cache", true); } } - if (httpRequest.headersList.contains("range")) { - httpRequest.headersList.append("accept-encoding", "identity"); + if (httpRequest.headersList.contains("range", true)) { + httpRequest.headersList.append("accept-encoding", "identity", true); } - if (!httpRequest.headersList.contains("accept-encoding")) { + if (!httpRequest.headersList.contains("accept-encoding", true)) { if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) { - httpRequest.headersList.append("accept-encoding", "br, gzip, deflate"); + httpRequest.headersList.append("accept-encoding", "br, gzip, deflate", true); } else { - httpRequest.headersList.append("accept-encoding", "gzip, deflate"); + httpRequest.headersList.append("accept-encoding", "gzip, deflate", true); } } - httpRequest.headersList.delete("host"); + httpRequest.headersList.delete("host", true); if (includeCredentials) { } if (httpCache == null) { httpRequest.cache = "no-store"; } - if (httpRequest.mode !== "no-store" && httpRequest.mode !== "reload") { + if (httpRequest.cache !== "no-store" && httpRequest.cache !== "reload") { } if (response == null) { - if (httpRequest.mode === "only-if-cached") { + if (httpRequest.cache === "only-if-cached") { return makeNetworkError("only if cached"); } const forwardResponse = await httpNetworkFetch( @@ -34665,7 +35202,7 @@ var require_fetch2 = __commonJS({ } } response.urlList = [...httpRequest.urlList]; - if (httpRequest.headersList.contains("range")) { + if (httpRequest.headersList.contains("range", true)) { response.rangeRequested = true; } response.requestIncludesCredentials = includeCredentials; @@ -34703,10 +35240,12 @@ var require_fetch2 = __commonJS({ fetchParams.controller.connection = { abort: null, destroyed: false, - destroy(err) { + destroy(err, abort = true) { if (!this.destroyed) { this.destroyed = true; - this.abort?.(err ?? new DOMException2("The operation was aborted.", "AbortError")); + if (abort) { + this.abort?.(err ?? new DOMException("The operation was aborted.", "AbortError")); + } } } }; @@ -34777,16 +35316,15 @@ var require_fetch2 = __commonJS({ } return makeNetworkError(err); } - const pullAlgorithm = () => { - fetchParams.controller.resume(); + const pullAlgorithm = async () => { + await fetchParams.controller.resume(); }; const cancelAlgorithm = (reason) => { - fetchParams.controller.abort(reason); + if (!isCancelled(fetchParams)) { + fetchParams.controller.abort(reason); + } }; - if (!ReadableStream2) { - ReadableStream2 = require("stream/web").ReadableStream; - } - const stream = new ReadableStream2( + const stream = new ReadableStream( { async start(controller) { fetchParams.controller.controller = controller; @@ -34796,16 +35334,12 @@ var require_fetch2 = __commonJS({ }, async cancel(reason) { await cancelAlgorithm(reason); - } - }, - { - highWaterMark: 0, - size() { - return 1; - } + }, + type: "bytes" } ); - response.body = { stream }; + response.body = { stream, source: null, length: null }; + fetchParams.controller.onAborted = onAborted; fetchParams.controller.on("terminated", onAborted); fetchParams.controller.resume = async () => { while (true) { @@ -34835,12 +35369,15 @@ var require_fetch2 = __commonJS({ fetchParams.controller.terminate(bytes); return; } - fetchParams.controller.controller.enqueue(new Uint8Array(bytes)); + 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) { + if (fetchParams.controller.controller.desiredSize <= 0) { return; } } @@ -34863,7 +35400,7 @@ var require_fetch2 = __commonJS({ fetchParams.controller.connection.destroy(); } return response; - async function dispatch({ body }) { + function dispatch({ body }) { const url = requestCurrentURL(request2); const agent = fetchParams.controller.dispatcher; return new Promise((resolve5, reject) => agent.dispatch( @@ -34871,7 +35408,7 @@ var require_fetch2 = __commonJS({ path: url.pathname + url.search, origin: url.origin, method: request2.method, - body: fetchParams.controller.dispatcher.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body, + body: agent.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body, headers: request2.headersList.entries, maxRedirections: 0, upgrade: request2.mode === "websocket" ? "websocket" : void 0 @@ -34881,48 +35418,41 @@ var require_fetch2 = __commonJS({ abort: null, onConnect(abort) { const { connection } = fetchParams.controller; + timingInfo.finalConnectionTimingInfo = clampAndCoarsenConnectionTimingInfo(void 0, timingInfo.postRedirectStartTime, fetchParams.crossOriginIsolatedCapability); if (connection.destroyed) { - abort(new DOMException2("The operation was aborted.", "AbortError")); + abort(new DOMException("The operation was aborted.", "AbortError")); } else { fetchParams.controller.on("terminated", abort); this.abort = connection.abort = abort; } + timingInfo.finalNetworkRequestStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability); }, - onHeaders(status, headersList, resume, statusText) { + onResponseStarted() { + timingInfo.finalNetworkResponseStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability); + }, + onHeaders(status, rawHeaders, resume, statusText) { if (status < 200) { return; } - let codings = []; let location = ""; - const headers = new Headers(); - if (Array.isArray(headersList)) { - for (let n = 0; n < headersList.length; n += 2) { - const key = headersList[n + 0].toString("latin1"); - const val = headersList[n + 1].toString("latin1"); - if (key.toLowerCase() === "content-encoding") { - codings = val.toLowerCase().split(",").map((x) => x.trim()); - } else if (key.toLowerCase() === "location") { - location = val; - } - headers[kHeadersList].append(key, val); - } - } else { - const keys = Object.keys(headersList); - for (const key of keys) { - const val = headersList[key]; - if (key.toLowerCase() === "content-encoding") { - codings = val.toLowerCase().split(",").map((x) => x.trim()).reverse(); - } else if (key.toLowerCase() === "location") { - location = val; - } - headers[kHeadersList].append(key, val); - } + 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 = request2.redirect === "follow" && location && redirectStatusSet.has(status); + const willFollow = location && request2.redirect === "follow" && redirectStatusSet.has(status); if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) { - for (const coding of codings) { + 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 @@ -34933,22 +35463,31 @@ var require_fetch2 = __commonJS({ finishFlush: zlib.constants.Z_SYNC_FLUSH })); } else if (coding === "deflate") { - decoders.push(zlib.createInflate()); + decoders.push(createInflate({ + flush: zlib.constants.Z_SYNC_FLUSH, + finishFlush: zlib.constants.Z_SYNC_FLUSH + })); } else if (coding === "br") { - decoders.push(zlib.createBrotliDecompress()); + 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); resolve5({ status, statusText, - headersList: headers[kHeadersList], - body: decoders.length ? pipeline(this.body, ...decoders, () => { - }) : this.body.on("error", () => { - }) + headersList, + body: decoders.length ? pipeline(this.body, ...decoders, (err) => { + if (err) { + this.onError(err); + } + }).on("error", onError) : this.body.on("error", onError) }); return true; }, @@ -34964,6 +35503,9 @@ var require_fetch2 = __commonJS({ 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); }, @@ -34975,20 +35517,18 @@ var require_fetch2 = __commonJS({ fetchParams.controller.terminate(error3); reject(error3); }, - onUpgrade(status, headersList, socket) { + onUpgrade(status, rawHeaders, socket) { if (status !== 101) { return; } - const headers = new Headers(); - for (let n = 0; n < headersList.length; n += 2) { - const key = headersList[n + 0].toString("latin1"); - const val = headersList[n + 1].toString("latin1"); - headers[kHeadersList].append(key, val); + const headersList = new HeadersList(); + for (let i = 0; i < rawHeaders.length; i += 2) { + headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true); } resolve5({ status, statusText: STATUS_CODES[status], - headersList: headers[kHeadersList], + headersList, socket }); return true; @@ -35006,9 +35546,9 @@ var require_fetch2 = __commonJS({ } }); -// node_modules/undici/lib/fileapi/symbols.js +// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js var require_symbols8 = __commonJS({ - "node_modules/undici/lib/fileapi/symbols.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js"(exports2, module2) { "use strict"; module2.exports = { kState: /* @__PURE__ */ Symbol("FileReader state"), @@ -35021,15 +35561,15 @@ var require_symbols8 = __commonJS({ } }); -// node_modules/undici/lib/fileapi/progressevent.js +// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js var require_progressevent2 = __commonJS({ - "node_modules/undici/lib/fileapi/progressevent.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js"(exports2, module2) { "use strict"; var { webidl } = require_webidl2(); var kState = /* @__PURE__ */ Symbol("ProgressEvent state"); var ProgressEvent = class _ProgressEvent extends Event { constructor(type2, eventInitDict = {}) { - type2 = webidl.converters.DOMString(type2); + type2 = webidl.converters.DOMString(type2, "ProgressEvent constructor", "type"); eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {}); super(type2, eventInitDict); this[kState] = { @@ -35055,32 +35595,32 @@ var require_progressevent2 = __commonJS({ { key: "lengthComputable", converter: webidl.converters.boolean, - defaultValue: false + defaultValue: () => false }, { key: "loaded", converter: webidl.converters["unsigned long long"], - defaultValue: 0 + defaultValue: () => 0 }, { key: "total", converter: webidl.converters["unsigned long long"], - defaultValue: 0 + defaultValue: () => 0 }, { key: "bubbles", converter: webidl.converters.boolean, - defaultValue: false + defaultValue: () => false }, { key: "cancelable", converter: webidl.converters.boolean, - defaultValue: false + defaultValue: () => false }, { key: "composed", converter: webidl.converters.boolean, - defaultValue: false + defaultValue: () => false } ]); module2.exports = { @@ -35089,9 +35629,9 @@ var require_progressevent2 = __commonJS({ } }); -// node_modules/undici/lib/fileapi/encoding.js +// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js var require_encoding2 = __commonJS({ - "node_modules/undici/lib/fileapi/encoding.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js"(exports2, module2) { "use strict"; function getEncoding(label) { if (!label) { @@ -35375,9 +35915,9 @@ var require_encoding2 = __commonJS({ } }); -// node_modules/undici/lib/fileapi/util.js +// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js var require_util12 = __commonJS({ - "node_modules/undici/lib/fileapi/util.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js"(exports2, module2) { "use strict"; var { kState, @@ -35388,11 +35928,10 @@ var require_util12 = __commonJS({ } = require_symbols8(); var { ProgressEvent } = require_progressevent2(); var { getEncoding } = require_encoding2(); - var { DOMException: DOMException2 } = require_constants7(); - var { serializeAMimeType, parseMIMEType } = require_dataURL(); - var { types } = require("util"); + var { serializeAMimeType, parseMIMEType } = require_data_url2(); + var { types } = require("node:util"); var { StringDecoder } = require("string_decoder"); - var { btoa: btoa2 } = require("buffer"); + var { btoa: btoa2 } = require("node:buffer"); var staticPropertyDescriptors = { enumerable: true, writable: false, @@ -35400,7 +35939,7 @@ var require_util12 = __commonJS({ }; function readOperation(fr, blob, type2, encodingName) { if (fr[kState] === "loading") { - throw new DOMException2("Invalid state", "InvalidStateError"); + throw new DOMException("Invalid state", "InvalidStateError"); } fr[kState] = "loading"; fr[kResult] = null; @@ -35561,9 +36100,9 @@ var require_util12 = __commonJS({ } }); -// node_modules/undici/lib/fileapi/filereader.js +// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js var require_filereader2 = __commonJS({ - "node_modules/undici/lib/fileapi/filereader.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js"(exports2, module2) { "use strict"; var { staticPropertyDescriptors, @@ -35600,7 +36139,7 @@ var require_filereader2 = __commonJS({ */ readAsArrayBuffer(blob) { webidl.brandCheck(this, _FileReader); - webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsArrayBuffer" }); + webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsArrayBuffer"); blob = webidl.converters.Blob(blob, { strict: false }); readOperation(this, blob, "ArrayBuffer"); } @@ -35610,7 +36149,7 @@ var require_filereader2 = __commonJS({ */ readAsBinaryString(blob) { webidl.brandCheck(this, _FileReader); - webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsBinaryString" }); + webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsBinaryString"); blob = webidl.converters.Blob(blob, { strict: false }); readOperation(this, blob, "BinaryString"); } @@ -35621,10 +36160,10 @@ var require_filereader2 = __commonJS({ */ readAsText(blob, encoding = void 0) { webidl.brandCheck(this, _FileReader); - webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsText" }); + webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsText"); blob = webidl.converters.Blob(blob, { strict: false }); if (encoding !== void 0) { - encoding = webidl.converters.DOMString(encoding); + encoding = webidl.converters.DOMString(encoding, "FileReader.readAsText", "encoding"); } readOperation(this, blob, "Text", encoding); } @@ -35634,7 +36173,7 @@ var require_filereader2 = __commonJS({ */ readAsDataURL(blob) { webidl.brandCheck(this, _FileReader); - webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsDataURL" }); + webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsDataURL"); blob = webidl.converters.Blob(blob, { strict: false }); readOperation(this, blob, "DataURL"); } @@ -35820,9 +36359,9 @@ var require_filereader2 = __commonJS({ } }); -// node_modules/undici/lib/cache/symbols.js +// node_modules/@actions/github/node_modules/undici/lib/web/cache/symbols.js var require_symbols9 = __commonJS({ - "node_modules/undici/lib/cache/symbols.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/cache/symbols.js"(exports2, module2) { "use strict"; module2.exports = { kConstruct: require_symbols6().kConstruct @@ -35830,55 +36369,50 @@ var require_symbols9 = __commonJS({ } }); -// node_modules/undici/lib/cache/util.js +// node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js var require_util13 = __commonJS({ - "node_modules/undici/lib/cache/util.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js"(exports2, module2) { "use strict"; - var assert = require("assert"); - var { URLSerializer } = require_dataURL(); + var assert = require("node:assert"); + var { URLSerializer } = require_data_url2(); var { isValidHeaderName } = require_util10(); function urlEquals(A, B, excludeFragment = false) { const serializedA = URLSerializer(A, excludeFragment); const serializedB = URLSerializer(B, excludeFragment); return serializedA === serializedB; } - function fieldValues(header) { + function getFieldValues(header) { assert(header !== null); const values = []; for (let value of header.split(",")) { value = value.trim(); - if (!value.length) { - continue; - } else if (!isValidHeaderName(value)) { - continue; + if (isValidHeaderName(value)) { + values.push(value); } - values.push(value); } return values; } module2.exports = { urlEquals, - fieldValues + getFieldValues }; } }); -// node_modules/undici/lib/cache/cache.js +// node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js var require_cache2 = __commonJS({ - "node_modules/undici/lib/cache/cache.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js"(exports2, module2) { "use strict"; var { kConstruct } = require_symbols9(); - var { urlEquals, fieldValues: getFieldValues } = require_util13(); + var { urlEquals, getFieldValues } = require_util13(); var { kEnumerableProperty, isDisturbed } = require_util9(); - var { kHeadersList } = require_symbols6(); var { webidl } = require_webidl2(); - var { Response, cloneResponse } = require_response2(); - var { Request } = require_request4(); - var { kState, kHeaders, kGuard, kRealm } = require_symbols7(); + var { Response, cloneResponse, fromInnerResponse } = require_response2(); + var { Request, fromInnerRequest } = require_request4(); + var { kState } = require_symbols7(); var { fetching } = require_fetch2(); var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util10(); - var assert = require("assert"); - var { getGlobalDispatcher } = require_global4(); + var assert = require("node:assert"); var Cache = class _Cache { /** * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list @@ -35889,14 +36423,16 @@ var require_cache2 = __commonJS({ if (arguments[0] !== kConstruct) { webidl.illegalConstructor(); } + webidl.util.markAsUncloneable(this); this.#relevantRequestResponseList = arguments[1]; } async match(request2, options = {}) { webidl.brandCheck(this, _Cache); - webidl.argumentLengthCheck(arguments, 1, { header: "Cache.match" }); - request2 = webidl.converters.RequestInfo(request2); - options = webidl.converters.CacheQueryOptions(options); - const p = await this.matchAll(request2, options); + 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; } @@ -35904,64 +36440,42 @@ var require_cache2 = __commonJS({ } async matchAll(request2 = void 0, options = {}) { webidl.brandCheck(this, _Cache); - if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2); - options = webidl.converters.CacheQueryOptions(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 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 = new Response(response.body?.source ?? null); - const body = responseObject[kState].body; - responseObject[kState] = response; - responseObject[kState].body = body; - responseObject[kHeaders][kHeadersList] = response.headersList; - responseObject[kHeaders][kGuard] = "immutable"; - responseList.push(responseObject); - } - return Object.freeze(responseList); + 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); - webidl.argumentLengthCheck(arguments, 1, { header: "Cache.add" }); - request2 = webidl.converters.RequestInfo(request2); + 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); - webidl.argumentLengthCheck(arguments, 1, { header: "Cache.addAll" }); - requests = webidl.converters["sequence"](requests); + const prefix = "Cache.addAll"; + webidl.argumentLengthCheck(arguments, 1, prefix); const responsePromises = []; const requestList = []; - for (const request2 of requests) { + 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: "Cache.addAll", + header: prefix, message: "Expected http/s scheme when method is not GET." }); } @@ -35971,7 +36485,7 @@ var require_cache2 = __commonJS({ const r = new Request(request2)[kState]; if (!urlIsHttpHttpsScheme(r.url)) { throw webidl.errors.exception({ - header: "Cache.addAll", + header: prefix, message: "Expected http/s scheme." }); } @@ -35981,7 +36495,6 @@ var require_cache2 = __commonJS({ const responsePromise = createDeferredPromise(); fetchControllers.push(fetching({ request: r, - dispatcher: getGlobalDispatcher(), processResponse(response) { if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) { responsePromise.reject(webidl.errors.exception({ @@ -36048,9 +36561,10 @@ var require_cache2 = __commonJS({ } async put(request2, response) { webidl.brandCheck(this, _Cache); - webidl.argumentLengthCheck(arguments, 2, { header: "Cache.put" }); - request2 = webidl.converters.RequestInfo(request2); - response = webidl.converters.Response(response); + 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]; @@ -36059,14 +36573,14 @@ var require_cache2 = __commonJS({ } if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") { throw webidl.errors.exception({ - header: "Cache.put", + 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: "Cache.put", + header: prefix, message: "Got 206 status" }); } @@ -36075,7 +36589,7 @@ var require_cache2 = __commonJS({ for (const fieldValue of fieldValues) { if (fieldValue === "*") { throw webidl.errors.exception({ - header: "Cache.put", + header: prefix, message: "Got * vary field value" }); } @@ -36083,7 +36597,7 @@ var require_cache2 = __commonJS({ } if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) { throw webidl.errors.exception({ - header: "Cache.put", + header: prefix, message: "Response body is locked or disturbed" }); } @@ -36128,9 +36642,10 @@ var require_cache2 = __commonJS({ } async delete(request2, options = {}) { webidl.brandCheck(this, _Cache); - webidl.argumentLengthCheck(arguments, 1, { header: "Cache.delete" }); - request2 = webidl.converters.RequestInfo(request2); - options = webidl.converters.CacheQueryOptions(options); + 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]; @@ -36169,12 +36684,13 @@ var require_cache2 = __commonJS({ * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys * @param {any} request * @param {import('../../types/cache').CacheQueryOptions} options - * @returns {readonly Request[]} + * @returns {Promise} */ async keys(request2 = void 0, options = {}) { webidl.brandCheck(this, _Cache); - if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2); - options = webidl.converters.CacheQueryOptions(options); + const prefix = "Cache.keys"; + if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2, prefix, "request"); + options = webidl.converters.CacheQueryOptions(options, prefix, "options"); let r = null; if (request2 !== void 0) { if (request2 instanceof Request) { @@ -36201,11 +36717,11 @@ var require_cache2 = __commonJS({ queueMicrotask(() => { const requestList = []; for (const request3 of requests) { - const requestObject = new Request("https://a"); - requestObject[kState] = request3; - requestObject[kHeaders][kHeadersList] = request3.headersList; - requestObject[kHeaders][kGuard] = "immutable"; - requestObject[kRealm] = request3.client; + const requestObject = fromInnerRequest( + request3, + new AbortController().signal, + "immutable" + ); requestList.push(requestObject); } promise.resolve(Object.freeze(requestList)); @@ -36346,6 +36862,39 @@ var require_cache2 = __commonJS({ } 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]: { @@ -36364,17 +36913,17 @@ var require_cache2 = __commonJS({ { key: "ignoreSearch", converter: webidl.converters.boolean, - defaultValue: false + defaultValue: () => false }, { key: "ignoreMethod", converter: webidl.converters.boolean, - defaultValue: false + defaultValue: () => false }, { key: "ignoreVary", converter: webidl.converters.boolean, - defaultValue: false + defaultValue: () => false } ]; webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters); @@ -36395,9 +36944,9 @@ var require_cache2 = __commonJS({ } }); -// node_modules/undici/lib/cache/cachestorage.js +// node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js var require_cachestorage2 = __commonJS({ - "node_modules/undici/lib/cache/cachestorage.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js"(exports2, module2) { "use strict"; var { kConstruct } = require_symbols9(); var { Cache } = require_cache2(); @@ -36413,10 +36962,11 @@ var require_cachestorage2 = __commonJS({ if (arguments[0] !== kConstruct) { webidl.illegalConstructor(); } + webidl.util.markAsUncloneable(this); } async match(request2, options = {}) { webidl.brandCheck(this, _CacheStorage); - webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.match" }); + webidl.argumentLengthCheck(arguments, 1, "CacheStorage.match"); request2 = webidl.converters.RequestInfo(request2); options = webidl.converters.MultiCacheQueryOptions(options); if (options.cacheName != null) { @@ -36442,8 +36992,9 @@ var require_cachestorage2 = __commonJS({ */ async has(cacheName) { webidl.brandCheck(this, _CacheStorage); - webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.has" }); - cacheName = webidl.converters.DOMString(cacheName); + const prefix = "CacheStorage.has"; + webidl.argumentLengthCheck(arguments, 1, prefix); + cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName"); return this.#caches.has(cacheName); } /** @@ -36453,8 +37004,9 @@ var require_cachestorage2 = __commonJS({ */ async open(cacheName) { webidl.brandCheck(this, _CacheStorage); - webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.open" }); - cacheName = webidl.converters.DOMString(cacheName); + 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); @@ -36470,13 +37022,14 @@ var require_cachestorage2 = __commonJS({ */ async delete(cacheName) { webidl.brandCheck(this, _CacheStorage); - webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.delete" }); - cacheName = webidl.converters.DOMString(cacheName); + 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 {string[]} + * @returns {Promise} */ async keys() { webidl.brandCheck(this, _CacheStorage); @@ -36501,9 +37054,9 @@ var require_cachestorage2 = __commonJS({ } }); -// node_modules/undici/lib/cookies/constants.js +// node_modules/@actions/github/node_modules/undici/lib/web/cookies/constants.js var require_constants9 = __commonJS({ - "node_modules/undici/lib/cookies/constants.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/cookies/constants.js"(exports2, module2) { "use strict"; var maxAttributeValueSize = 1024; var maxNameValuePairSize = 4096; @@ -36514,42 +37067,73 @@ var require_constants9 = __commonJS({ } }); -// node_modules/undici/lib/cookies/util.js +// node_modules/@actions/github/node_modules/undici/lib/web/cookies/util.js var require_util14 = __commonJS({ - "node_modules/undici/lib/cookies/util.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/cookies/util.js"(exports2, module2) { "use strict"; function isCTLExcludingHtab(value) { - if (value.length === 0) { - return false; - } - for (const char of value) { - const code = char.charCodeAt(0); - if (code >= 0 || code <= 8 || (code >= 10 || code <= 31) || code === 127) { - return false; + 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 (const char of name) { - const code = char.charCodeAt(0); - if (code <= 32 || code > 127 || char === "(" || char === ")" || char === ">" || char === "<" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}") { + 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) { - for (const char of value) { - const code = char.charCodeAt(0); + 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 === 34 || code === 44 || code === 59 || code === 92 || code > 126) { - throw new Error("Invalid header value"); + code > 126 || // non-ascii and DEL (127) + code === 34 || // " + code === 44 || // , + code === 59 || // ; + code === 92) { + throw new Error("Invalid cookie value"); } } } function validateCookiePath(path7) { - for (const char of path7) { - const code = char.charCodeAt(0); - if (code < 33 || char === ";") { + for (let i = 0; i < path7.length; ++i) { + const code = path7.charCodeAt(i); + if (code < 32 || // exclude CTLs (0-31) + code === 127 || // DEL + code === 59) { throw new Error("Invalid cookie path"); } } @@ -36559,41 +37143,35 @@ var require_util14 = __commonJS({ 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((_2, i) => i.toString().padStart(2, "0")); function toIMFDate(date) { if (typeof date === "number") { date = new Date(date); } - const days = [ - "Sun", - "Mon", - "Tue", - "Wed", - "Thu", - "Fri", - "Sat" - ]; - const months = [ - "Jan", - "Feb", - "Mar", - "Apr", - "May", - "Jun", - "Jul", - "Aug", - "Sep", - "Oct", - "Nov", - "Dec" - ]; - const dayName = days[date.getUTCDay()]; - const day = date.getUTCDate().toString().padStart(2, "0"); - const month = months[date.getUTCMonth()]; - const year = date.getUTCFullYear(); - const hour = date.getUTCHours().toString().padStart(2, "0"); - const minute = date.getUTCMinutes().toString().padStart(2, "0"); - const second = date.getUTCSeconds().toString().padStart(2, "0"); - return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`; + 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) { @@ -36659,14 +37237,14 @@ var require_util14 = __commonJS({ } }); -// node_modules/undici/lib/cookies/parse.js +// node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js var require_parse2 = __commonJS({ - "node_modules/undici/lib/cookies/parse.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js"(exports2, module2) { "use strict"; var { maxNameValuePairSize, maxAttributeValueSize } = require_constants9(); var { isCTLExcludingHtab } = require_util14(); - var { collectASequenceOfCodePointsFast } = require_dataURL(); - var assert = require("assert"); + var { collectASequenceOfCodePointsFast } = require_data_url2(); + var assert = require("node:assert"); function parseSetCookie(header) { if (isCTLExcludingHtab(header)) { return null; @@ -36799,16 +37377,16 @@ var require_parse2 = __commonJS({ } }); -// node_modules/undici/lib/cookies/index.js +// node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js var require_cookies2 = __commonJS({ - "node_modules/undici/lib/cookies/index.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js"(exports2, module2) { "use strict"; var { parseSetCookie } = require_parse2(); var { stringify } = require_util14(); var { webidl } = require_webidl2(); var { Headers } = require_headers2(); function getCookies(headers) { - webidl.argumentLengthCheck(arguments, 1, { header: "getCookies" }); + webidl.argumentLengthCheck(arguments, 1, "getCookies"); webidl.brandCheck(headers, Headers, { strict: false }); const cookie = headers.get("cookie"); const out = {}; @@ -36822,9 +37400,10 @@ var require_cookies2 = __commonJS({ return out; } function deleteCookie(headers, name, attributes) { - webidl.argumentLengthCheck(arguments, 2, { header: "deleteCookie" }); webidl.brandCheck(headers, Headers, { strict: false }); - name = webidl.converters.DOMString(name); + const prefix = "deleteCookie"; + webidl.argumentLengthCheck(arguments, 2, prefix); + name = webidl.converters.DOMString(name, prefix, "name"); attributes = webidl.converters.DeleteCookieAttributes(attributes); setCookie(headers, { name, @@ -36834,7 +37413,7 @@ var require_cookies2 = __commonJS({ }); } function getSetCookies(headers) { - webidl.argumentLengthCheck(arguments, 1, { header: "getSetCookies" }); + webidl.argumentLengthCheck(arguments, 1, "getSetCookies"); webidl.brandCheck(headers, Headers, { strict: false }); const cookies = headers.getSetCookie(); if (!cookies) { @@ -36843,24 +37422,24 @@ var require_cookies2 = __commonJS({ return cookies.map((pair) => parseSetCookie(pair)); } function setCookie(headers, cookie) { - webidl.argumentLengthCheck(arguments, 2, { header: "setCookie" }); + webidl.argumentLengthCheck(arguments, 2, "setCookie"); webidl.brandCheck(headers, Headers, { strict: false }); cookie = webidl.converters.Cookie(cookie); const str2 = stringify(cookie); if (str2) { - headers.append("Set-Cookie", stringify(cookie)); + headers.append("Set-Cookie", str2); } } webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([ { converter: webidl.nullableConverter(webidl.converters.DOMString), key: "path", - defaultValue: null + defaultValue: () => null }, { converter: webidl.nullableConverter(webidl.converters.DOMString), key: "domain", - defaultValue: null + defaultValue: () => null } ]); webidl.converters.Cookie = webidl.dictionaryConverter([ @@ -36880,32 +37459,32 @@ var require_cookies2 = __commonJS({ return new Date(value); }), key: "expires", - defaultValue: null + defaultValue: () => null }, { converter: webidl.nullableConverter(webidl.converters["long long"]), key: "maxAge", - defaultValue: null + defaultValue: () => null }, { converter: webidl.nullableConverter(webidl.converters.DOMString), key: "domain", - defaultValue: null + defaultValue: () => null }, { converter: webidl.nullableConverter(webidl.converters.DOMString), key: "path", - defaultValue: null + defaultValue: () => null }, { converter: webidl.nullableConverter(webidl.converters.boolean), key: "secure", - defaultValue: null + defaultValue: () => null }, { converter: webidl.nullableConverter(webidl.converters.boolean), key: "httpOnly", - defaultValue: null + defaultValue: () => null }, { converter: webidl.converters.USVString, @@ -36915,7 +37494,7 @@ var require_cookies2 = __commonJS({ { converter: webidl.sequenceConverter(webidl.converters.DOMString), key: "unparsed", - defaultValue: [] + defaultValue: () => new Array(0) } ]); module2.exports = { @@ -36927,82 +37506,29 @@ var require_cookies2 = __commonJS({ } }); -// node_modules/undici/lib/websocket/constants.js -var require_constants10 = __commonJS({ - "node_modules/undici/lib/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 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); - module2.exports = { - uid, - staticPropertyDescriptors, - states, - opcodes, - maxUnsigned16Bit, - parserStates, - emptyBuffer - }; - } -}); - -// node_modules/undici/lib/websocket/symbols.js -var require_symbols10 = __commonJS({ - "node_modules/undici/lib/websocket/symbols.js"(exports2, module2) { - "use strict"; - module2.exports = { - kWebSocketURL: /* @__PURE__ */ Symbol("url"), - kReadyState: /* @__PURE__ */ Symbol("ready state"), - kController: /* @__PURE__ */ Symbol("controller"), - kResponse: /* @__PURE__ */ Symbol("response"), - kBinaryType: /* @__PURE__ */ Symbol("binary type"), - kSentClose: /* @__PURE__ */ Symbol("sent close"), - kReceivedClose: /* @__PURE__ */ Symbol("received close"), - kByteParser: /* @__PURE__ */ Symbol("byte parser") - }; - } -}); - -// node_modules/undici/lib/websocket/events.js +// node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js var require_events2 = __commonJS({ - "node_modules/undici/lib/websocket/events.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js"(exports2, module2) { "use strict"; var { webidl } = require_webidl2(); var { kEnumerableProperty } = require_util9(); - var { MessagePort } = require("worker_threads"); + var { kConstruct } = require_symbols6(); + var { MessagePort } = require("node:worker_threads"); var MessageEvent = class _MessageEvent extends Event { #eventInit; constructor(type2, eventInitDict = {}) { - webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" }); - type2 = webidl.converters.DOMString(type2); - eventInitDict = webidl.converters.MessageEventInit(eventInitDict); + if (type2 === kConstruct) { + super(arguments[1], arguments[2]); + webidl.util.markAsUncloneable(this); + return; + } + const prefix = "MessageEvent constructor"; + webidl.argumentLengthCheck(arguments, 1, prefix); + type2 = webidl.converters.DOMString(type2, prefix, "type"); + eventInitDict = webidl.converters.MessageEventInit(eventInitDict, prefix, "eventInitDict"); super(type2, eventInitDict); this.#eventInit = eventInitDict; + webidl.util.markAsUncloneable(this); } get data() { webidl.brandCheck(this, _MessageEvent); @@ -37029,7 +37555,7 @@ var require_events2 = __commonJS({ } initMessageEvent(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) { webidl.brandCheck(this, _MessageEvent); - webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent.initMessageEvent" }); + webidl.argumentLengthCheck(arguments, 1, "MessageEvent.initMessageEvent"); return new _MessageEvent(type2, { bubbles, cancelable, @@ -37040,15 +37566,29 @@ var require_events2 = __commonJS({ ports }); } + static createFastMessageEvent(type2, init) { + const messageEvent = new _MessageEvent(kConstruct, type2, 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(type2, eventInitDict = {}) { - webidl.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" }); - type2 = webidl.converters.DOMString(type2); + const prefix = "CloseEvent constructor"; + webidl.argumentLengthCheck(arguments, 1, prefix); + type2 = webidl.converters.DOMString(type2, prefix, "type"); eventInitDict = webidl.converters.CloseEventInit(eventInitDict); super(type2, eventInitDict); this.#eventInit = eventInitDict; + webidl.util.markAsUncloneable(this); } get wasClean() { webidl.brandCheck(this, _CloseEvent); @@ -37066,9 +37606,11 @@ var require_events2 = __commonJS({ var ErrorEvent = class _ErrorEvent extends Event { #eventInit; constructor(type2, eventInitDict) { - webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" }); + const prefix = "ErrorEvent constructor"; + webidl.argumentLengthCheck(arguments, 1, prefix); super(type2, eventInitDict); - type2 = webidl.converters.DOMString(type2); + webidl.util.markAsUncloneable(this); + type2 = webidl.converters.DOMString(type2, prefix, "type"); eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {}); this.#eventInit = eventInitDict; } @@ -37133,17 +37675,17 @@ var require_events2 = __commonJS({ { key: "bubbles", converter: webidl.converters.boolean, - defaultValue: false + defaultValue: () => false }, { key: "cancelable", converter: webidl.converters.boolean, - defaultValue: false + defaultValue: () => false }, { key: "composed", converter: webidl.converters.boolean, - defaultValue: false + defaultValue: () => false } ]; webidl.converters.MessageEventInit = webidl.dictionaryConverter([ @@ -37151,31 +37693,29 @@ var require_events2 = __commonJS({ { key: "data", converter: webidl.converters.any, - defaultValue: null + defaultValue: () => null }, { key: "origin", converter: webidl.converters.USVString, - defaultValue: "" + defaultValue: () => "" }, { key: "lastEventId", converter: webidl.converters.DOMString, - defaultValue: "" + 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 + defaultValue: () => null }, { key: "ports", converter: webidl.converters["sequence"], - get defaultValue() { - return []; - } + defaultValue: () => new Array(0) } ]); webidl.converters.CloseEventInit = webidl.dictionaryConverter([ @@ -37183,17 +37723,17 @@ var require_events2 = __commonJS({ { key: "wasClean", converter: webidl.converters.boolean, - defaultValue: false + defaultValue: () => false }, { key: "code", converter: webidl.converters["unsigned short"], - defaultValue: 0 + defaultValue: () => 0 }, { key: "reason", converter: webidl.converters.USVString, - defaultValue: "" + defaultValue: () => "" } ]); webidl.converters.ErrorEventInit = webidl.dictionaryConverter([ @@ -37201,22 +37741,22 @@ var require_events2 = __commonJS({ { key: "message", converter: webidl.converters.DOMString, - defaultValue: "" + defaultValue: () => "" }, { key: "filename", converter: webidl.converters.USVString, - defaultValue: "" + defaultValue: () => "" }, { key: "lineno", converter: webidl.converters["unsigned long"], - defaultValue: 0 + defaultValue: () => 0 }, { key: "colno", converter: webidl.converters["unsigned long"], - defaultValue: 0 + defaultValue: () => 0 }, { key: "error", @@ -37226,18 +37766,98 @@ var require_events2 = __commonJS({ module2.exports = { MessageEvent, CloseEvent, - ErrorEvent + ErrorEvent, + createFastMessageEvent }; } }); -// node_modules/undici/lib/websocket/util.js +// node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js +var require_constants10 = __commonJS({ + "node_modules/@actions/github/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/@actions/github/node_modules/undici/lib/web/websocket/symbols.js +var require_symbols10 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js"(exports2, module2) { + "use strict"; + module2.exports = { + kWebSocketURL: /* @__PURE__ */ Symbol("url"), + kReadyState: /* @__PURE__ */ Symbol("ready state"), + kController: /* @__PURE__ */ Symbol("controller"), + kResponse: /* @__PURE__ */ Symbol("response"), + kBinaryType: /* @__PURE__ */ Symbol("binary type"), + kSentClose: /* @__PURE__ */ Symbol("sent close"), + kReceivedClose: /* @__PURE__ */ Symbol("received close"), + kByteParser: /* @__PURE__ */ Symbol("byte parser") + }; + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js var require_util15 = __commonJS({ - "node_modules/undici/lib/websocket/util.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js"(exports2, module2) { "use strict"; var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols10(); var { states, opcodes } = require_constants10(); - var { MessageEvent, ErrorEvent } = require_events2(); + var { ErrorEvent, createFastMessageEvent } = require_events2(); + var { isUtf8 } = require("node:buffer"); + var { collectASequenceOfCodePointsFast, removeHTTPWhitespace } = require_data_url2(); + function isConnecting(ws) { + return ws[kReadyState] === states.CONNECTING; + } function isEstablished(ws) { return ws[kReadyState] === states.OPEN; } @@ -37247,8 +37867,8 @@ var require_util15 = __commonJS({ function isClosed(ws) { return ws[kReadyState] === states.CLOSED; } - function fireEvent(e, target, eventConstructor = Event, eventInitDict) { - const event = new eventConstructor(e, eventInitDict); + function fireEvent(e, target, eventFactory = (type2, init) => new Event(type2, init), eventInitDict = {}) { + const event = eventFactory(e, eventInitDict); target.dispatchEvent(event); } function websocketMessageReceived(ws, type2, data) { @@ -37258,7 +37878,7 @@ var require_util15 = __commonJS({ let dataForEvent; if (type2 === opcodes.TEXT) { try { - dataForEvent = new TextDecoder("utf-8", { fatal: true }).decode(data); + dataForEvent = utf8Decode(data); } catch { failWebsocketConnection(ws, "Received invalid UTF-8 in text frame."); return; @@ -37267,22 +37887,44 @@ var require_util15 = __commonJS({ if (ws[kBinaryType] === "blob") { dataForEvent = new Blob([data]); } else { - dataForEvent = new Uint8Array(data).buffer; + dataForEvent = toArrayBuffer(data); } } - fireEvent("message", ws, MessageEvent, { + 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 (const char of protocol) { - const code = char.charCodeAt(0); - if (code < 33 || code > 126 || char === "(" || char === ")" || char === "<" || char === ">" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}" || code === 32 || // SP - code === 9) { + 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; } } @@ -37303,12 +37945,57 @@ var require_util15 = __commonJS({ response.socket.destroy(); } if (reason) { - fireEvent("error", ws, ErrorEvent, { - error: new Error(reason) + fireEvent("error", ws, (type2, init) => new ErrorEvent(type2, 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, @@ -37316,44 +38003,126 @@ var require_util15 = __commonJS({ isValidSubprotocol, isValidStatusCode, failWebsocketConnection, - websocketMessageReceived + websocketMessageReceived, + utf8Decode, + isControlFrame, + isContinuationFrame, + isTextBinaryFrame, + isValidOpcode, + parseExtensions, + isValidClientWindowBits }; } }); -// node_modules/undici/lib/websocket/connection.js +// node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js +var require_frame2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js"(exports2, module2) { + "use strict"; + var { maxUnsigned16Bit } = require_constants10(); + var BUFFER_SIZE = 16386; + var crypto2; + var buffer = null; + var bufIdx = BUFFER_SIZE; + try { + crypto2 = require("node:crypto"); + } catch { + crypto2 = { + // 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; + crypto2.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/@actions/github/node_modules/undici/lib/web/websocket/connection.js var require_connection2 = __commonJS({ - "node_modules/undici/lib/websocket/connection.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js"(exports2, module2) { "use strict"; - var diagnosticsChannel = require("diagnostics_channel"); - var { uid, states } = require_constants10(); + var { uid, states, sentCloseFrameState, emptyBuffer, opcodes } = require_constants10(); var { kReadyState, kSentClose, kByteParser, - kReceivedClose + kReceivedClose, + kResponse } = require_symbols10(); - var { fireEvent, failWebsocketConnection } = require_util15(); + var { fireEvent, failWebsocketConnection, isClosing, isClosed, isEstablished, parseExtensions } = require_util15(); + var { channels } = require_diagnostics2(); var { CloseEvent } = require_events2(); var { makeRequest } = require_request4(); var { fetching } = require_fetch2(); - var { Headers } = require_headers2(); - var { getGlobalDispatcher } = require_global4(); - var { kHeadersList } = require_symbols6(); - var channels = {}; - channels.open = diagnosticsChannel.channel("undici:websocket:open"); - channels.close = diagnosticsChannel.channel("undici:websocket:close"); - channels.socketError = diagnosticsChannel.channel("undici:websocket:socket_error"); + var { Headers, getHeadersList } = require_headers2(); + var { getDecodeSplit } = require_util10(); + var { WebsocketFrameSend } = require_frame2(); var crypto2; try { - crypto2 = require("crypto"); + crypto2 = require("node:crypto"); } catch { } - function establishWebSocketConnection(url, protocols, ws, onEstablish, options) { + 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", @@ -37362,7 +38131,7 @@ var require_connection2 = __commonJS({ redirect: "error" }); if (options.headers) { - const headersList = new Headers(options.headers)[kHeadersList]; + const headersList = getHeadersList(new Headers(options.headers)); request2.headersList = headersList; } const keyValue = crypto2.randomBytes(16).toString("base64"); @@ -37371,11 +38140,12 @@ var require_connection2 = __commonJS({ for (const protocol of protocols) { request2.headersList.append("sec-websocket-protocol", protocol); } - const permessageDeflate = ""; + const permessageDeflate = "permessage-deflate; client_max_window_bits"; + request2.headersList.append("sec-websocket-extensions", permessageDeflate); const controller = fetching({ request: request2, useParallelQueue: true, - dispatcher: options.dispatcher ?? getGlobalDispatcher(), + dispatcher: options.dispatcher, processResponse(response) { if (response.type === "error" || response.status !== 101) { failWebsocketConnection(ws, "Received network error or non-101 status code."); @@ -37400,14 +38170,21 @@ var require_connection2 = __commonJS({ return; } const secExtension = response.headersList.get("Sec-WebSocket-Extensions"); - if (secExtension !== null && secExtension !== permessageDeflate) { - failWebsocketConnection(ws, "Received different permessage-deflate than the one set."); - return; + 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 && secProtocol !== request2.headersList.get("Sec-WebSocket-Protocol")) { - failWebsocketConnection(ws, "Protocol was not set in the opening handshake."); - return; + 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); @@ -37419,11 +38196,37 @@ var require_connection2 = __commonJS({ extensions: secExtension }); } - onEstablish(response); + 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(); @@ -37431,18 +38234,22 @@ var require_connection2 = __commonJS({ } function onSocketClose() { const { ws } = this; - const wasClean = ws[kSentClose] && ws[kReceivedClose]; + 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) { + if (result && !result.error) { code = result.code ?? 1005; reason = result.reason; - } else if (!ws[kSentClose]) { + } else if (!ws[kReceivedClose]) { code = 1006; } ws[kReadyState] = states.CLOSED; - fireEvent("close", ws, CloseEvent, { + fireEvent("close", ws, (type2, init) => new CloseEvent(type2, init), { wasClean, code, reason @@ -37464,90 +38271,105 @@ var require_connection2 = __commonJS({ this.destroy(); } module2.exports = { - establishWebSocketConnection + establishWebSocketConnection, + closeWebSocketConnection }; } }); -// node_modules/undici/lib/websocket/frame.js -var require_frame2 = __commonJS({ - "node_modules/undici/lib/websocket/frame.js"(exports2, module2) { +// node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js +var require_permessage_deflate2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js"(exports2, module2) { "use strict"; - var { maxUnsigned16Bit } = require_constants10(); - var crypto2; - try { - crypto2 = require("crypto"); - } catch { - } - var WebsocketFrameSend = class { - /** - * @param {Buffer|undefined} data - */ - constructor(data) { - this.frameData = data; - this.maskKey = crypto2.randomBytes(4); + var { createInflateRaw, Z_DEFAULT_WINDOWBITS } = require("node:zlib"); + var { isValidClientWindowBits } = require_util15(); + var tail = Buffer.from([0, 0, 255, 255]); + var kBuffer = /* @__PURE__ */ Symbol("kBuffer"); + var kLength = /* @__PURE__ */ 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"); } - createFrame(opcode) { - const bodyLength = this.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 buffer = Buffer.allocUnsafe(bodyLength + offset); - buffer[0] = buffer[1] = 0; - buffer[0] |= 128; - buffer[0] = (buffer[0] & 240) + opcode; - buffer[offset - 4] = this.maskKey[0]; - buffer[offset - 3] = this.maskKey[1]; - buffer[offset - 2] = this.maskKey[2]; - buffer[offset - 1] = this.maskKey[3]; - buffer[1] = payloadLength; - if (payloadLength === 126) { - buffer.writeUInt16BE(bodyLength, 2); - } else if (payloadLength === 127) { - buffer[2] = buffer[3] = 0; - buffer.writeUIntBE(bodyLength, 4, 6); + 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); + }); } - buffer[1] |= 128; - for (let i = 0; i < bodyLength; i++) { - buffer[offset + i] = this.frameData[i] ^ this.maskKey[i % 4]; + this.#inflate.write(chunk); + if (fin) { + this.#inflate.write(tail); } - return buffer; + 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 = { - WebsocketFrameSend - }; + module2.exports = { PerMessageDeflate }; } }); -// node_modules/undici/lib/websocket/receiver.js +// node_modules/@actions/github/node_modules/undici/lib/web/websocket/receiver.js var require_receiver2 = __commonJS({ - "node_modules/undici/lib/websocket/receiver.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/websocket/receiver.js"(exports2, module2) { "use strict"; - var { Writable } = require("stream"); - var diagnosticsChannel = require("diagnostics_channel"); - var { parserStates, opcodes, states, emptyBuffer } = require_constants10(); + var { Writable } = require("node:stream"); + var assert = require("node:assert"); + var { parserStates, opcodes, states, emptyBuffer, sentCloseFrameState } = require_constants10(); var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols10(); - var { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require_util15(); + var { channels } = require_diagnostics2(); + var { + isValidStatusCode, + isValidOpcode, + failWebsocketConnection, + websocketMessageReceived, + utf8Decode, + isControlFrame, + isTextBinaryFrame, + isContinuationFrame + } = require_util15(); var { WebsocketFrameSend } = require_frame2(); - var channels = {}; - channels.ping = diagnosticsChannel.channel("undici:websocket:ping"); - channels.pong = diagnosticsChannel.channel("undici:websocket:pong"); + var { closeWebSocketConnection } = require_connection2(); + var { PerMessageDeflate } = require_permessage_deflate2(); var ByteParser = class extends Writable { #buffers = []; #byteOffset = 0; + #loop = false; #state = parserStates.INFO; #info = {}; #fragments = []; - constructor(ws) { + /** @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 @@ -37556,6 +38378,7 @@ var require_receiver2 = __commonJS({ _write(chunk, _2, callback) { this.#buffers.push(chunk); this.#byteOffset += chunk.length; + this.#loop = true; this.run(callback); } /** @@ -37564,21 +38387,56 @@ var require_receiver2 = __commonJS({ * or not enough bytes are buffered to parse. */ run(callback) { - while (true) { + while (this.#loop) { if (this.#state === parserStates.INFO) { if (this.#byteOffset < 2) { return callback(); } const buffer = this.consume(2); - this.#info.fin = (buffer[0] & 128) !== 0; - this.#info.opcode = buffer[0] & 15; - this.#info.originalOpcode ??= this.#info.opcode; - this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION; - if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) { + 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; } - const payloadLength = buffer[1] & 127; + 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; @@ -37587,68 +38445,14 @@ var require_receiver2 = __commonJS({ } else if (payloadLength === 127) { this.#state = parserStates.PAYLOADLENGTH_64; } - if (this.#info.fragmented && payloadLength > 125) { - failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes."); - return; - } else if ((this.#info.opcode === opcodes.PING || this.#info.opcode === opcodes.PONG || this.#info.opcode === opcodes.CLOSE) && payloadLength > 125) { - failWebsocketConnection(this.ws, "Payload length for control frame exceeded 125 bytes."); - return; - } else if (this.#info.opcode === opcodes.CLOSE) { - if (payloadLength === 1) { - failWebsocketConnection(this.ws, "Received close frame with a 1-byte body."); - return; - } - const body = this.consume(payloadLength); - this.#info.closeInfo = this.parseCloseBody(false, body); - if (!this.ws[kSentClose]) { - const body2 = Buffer.allocUnsafe(2); - body2.writeUInt16BE(this.#info.closeInfo.code, 0); - const closeFrame = new WebsocketFrameSend(body2); - this.ws[kResponse].socket.write( - closeFrame.createFrame(opcodes.CLOSE), - (err) => { - if (!err) { - this.ws[kSentClose] = true; - } - } - ); - } - this.ws[kReadyState] = states.CLOSING; - this.ws[kReceivedClose] = true; - this.end(); - return; - } else if (this.#info.opcode === opcodes.PING) { - const body = this.consume(payloadLength); - if (!this.ws[kReceivedClose]) { - const frame = new WebsocketFrameSend(body); - this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG)); - if (channels.ping.hasSubscribers) { - channels.ping.publish({ - payload: body - }); - } - } - this.#state = parserStates.INFO; - if (this.#byteOffset > 0) { - continue; - } else { - callback(); - return; - } - } else if (this.#info.opcode === opcodes.PONG) { - const body = this.consume(payloadLength); - if (channels.pong.hasSubscribers) { - channels.pong.publish({ - payload: body - }); - } - if (this.#byteOffset > 0) { - continue; - } else { - callback(); - return; - } + 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(); @@ -37672,34 +38476,54 @@ var require_receiver2 = __commonJS({ } else if (this.#state === parserStates.READ_DATA) { if (this.#byteOffset < this.#info.payloadLength) { return callback(); - } else if (this.#byteOffset >= this.#info.payloadLength) { - const body = this.consume(this.#info.payloadLength); - this.#fragments.push(body); - if (!this.#info.fragmented || this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) { - const fullMessage = Buffer.concat(this.#fragments); - websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage); - this.#info = {}; - this.#fragments.length = 0; - } + } + const body = this.consume(this.#info.payloadLength); + if (isControlFrame(this.#info.opcode)) { + this.#loop = this.parseControlFrame(body); this.#state = parserStates.INFO; + } else { + if (!this.#info.compressed) { + this.#fragments.push(body); + if (!this.#info.fragmented && this.#info.fin) { + const fullMessage = Buffer.concat(this.#fragments); + websocketMessageReceived(this.ws, this.#info.binaryType, fullMessage); + this.#fragments.length = 0; + } + this.#state = parserStates.INFO; + } else { + this.#extensions.get("permessage-deflate").decompress(body, this.#info.fin, (error3, data) => { + if (error3) { + closeWebSocketConnection(this.ws, 1007, error3.message, error3.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; + } } } - if (this.#byteOffset > 0) { - continue; - } else { - callback(); - break; - } } } /** * Take n bytes from the buffered Buffers * @param {number} n - * @returns {Buffer|null} + * @returns {Buffer} */ consume(n) { if (n > this.#byteOffset) { - return null; + throw new Error("Called consume() before buffers satiated."); } else if (n === 0) { return emptyBuffer; } @@ -37727,30 +38551,81 @@ var require_receiver2 = __commonJS({ this.#byteOffset -= n; return buffer; } - parseCloseBody(onlyCode, data) { + parseCloseBody(data) { + assert(data.length !== 1); let code; if (data.length >= 2) { code = data.readUInt16BE(0); } - if (onlyCode) { - if (!isValidStatusCode(code)) { - return null; - } - return { code }; + 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); } - if (code !== void 0 && !isValidStatusCode(code)) { - return null; - } try { - reason = new TextDecoder("utf-8", { fatal: true }).decode(reason); + reason = utf8Decode(reason); } catch { - return null; + return { code: 1007, reason: "Invalid UTF-8", error: true }; } - return { code, reason }; + return { code, reason, error: false }; + } + /** + * Parses control frames. + * @param {Buffer} body + */ + parseControlFrame(body) { + const { opcode, payloadLength } = this.#info; + if (opcode === opcodes.CLOSE) { + if (payloadLength === 1) { + failWebsocketConnection(this.ws, "Received close frame with a 1-byte body."); + return false; + } + this.#info.closeInfo = this.parseCloseBody(body); + if (this.#info.closeInfo.error) { + const { code, reason } = this.#info.closeInfo; + closeWebSocketConnection(this.ws, code, reason, reason.length); + failWebsocketConnection(this.ws, reason); + return false; + } + if (this.ws[kSentClose] !== sentCloseFrameState.SENT) { + let body2 = emptyBuffer; + if (this.#info.closeInfo.code) { + body2 = Buffer.allocUnsafe(2); + body2.writeUInt16BE(this.#info.closeInfo.code, 0); + } + const closeFrame = new WebsocketFrameSend(body2); + this.ws[kResponse].socket.write( + closeFrame.createFrame(opcodes.CLOSE), + (err) => { + if (!err) { + this.ws[kSentClose] = sentCloseFrameState.SENT; + } + } + ); + } + this.ws[kReadyState] = states.CLOSING; + this.ws[kReceivedClose] = true; + return false; + } else if (opcode === opcodes.PING) { + if (!this.ws[kReceivedClose]) { + const frame = new WebsocketFrameSend(body); + this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG)); + if (channels.ping.hasSubscribers) { + channels.ping.publish({ + payload: body + }); + } + } + } else if (opcode === opcodes.PONG) { + if (channels.pong.hasSubscribers) { + channels.pong.publish({ + payload: body + }); + } + } + return true; } get closingInfo() { return this.#info.closeInfo; @@ -37762,15 +38637,96 @@ var require_receiver2 = __commonJS({ } }); -// node_modules/undici/lib/websocket/websocket.js +// node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js +var require_sender2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js"(exports2, module2) { + "use strict"; + var { WebsocketFrameSend } = require_frame2(); + var { opcodes, sendHints } = require_constants10(); + var FixedQueue = require_fixed_queue2(); + 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/@actions/github/node_modules/undici/lib/web/websocket/websocket.js var require_websocket2 = __commonJS({ - "node_modules/undici/lib/websocket/websocket.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js"(exports2, module2) { "use strict"; var { webidl } = require_webidl2(); - var { DOMException: DOMException2 } = require_constants7(); - var { URLSerializer } = require_dataURL(); - var { getGlobalOrigin } = require_global3(); - var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require_constants10(); + var { URLSerializer } = require_data_url2(); + var { environmentSettingsObject } = require_util10(); + var { staticPropertyDescriptors, states, sentCloseFrameState, sendHints } = require_constants10(); var { kWebSocketURL, kReadyState, @@ -37780,14 +38736,20 @@ var require_websocket2 = __commonJS({ kSentClose, kByteParser } = require_symbols10(); - var { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require_util15(); - var { establishWebSocketConnection } = require_connection2(); - var { WebsocketFrameSend } = require_frame2(); + var { + isConnecting, + isEstablished, + isClosing, + isValidSubprotocol, + fireEvent + } = require_util15(); + var { establishWebSocketConnection, closeWebSocketConnection } = require_connection2(); var { ByteParser } = require_receiver2(); var { kEnumerableProperty, isBlobLike } = require_util9(); var { getGlobalDispatcher } = require_global4(); - var { types } = require("util"); - var experimentalWarned = false; + var { types } = require("node:util"); + var { ErrorEvent, CloseEvent } = require_events2(); + var { SendQueue } = require_sender2(); var WebSocket = class _WebSocket extends EventTarget { #events = { open: null, @@ -37798,28 +38760,26 @@ var require_websocket2 = __commonJS({ #bufferedAmount = 0; #protocol = ""; #extensions = ""; + /** @type {SendQueue} */ + #sendQueue; /** * @param {string} url * @param {string|string[]} protocols */ constructor(url, protocols = []) { super(); - webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket constructor" }); - if (!experimentalWarned) { - experimentalWarned = true; - process.emitWarning("WebSockets are experimental, expect them to change at any time.", { - code: "UNDICI-WS" - }); - } - const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols); - url = webidl.converters.USVString(url); + 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 = getGlobalOrigin(); + const baseURL = environmentSettingsObject.settingsObject.baseUrl; let urlRecord; try { urlRecord = new URL(url, baseURL); } catch (e) { - throw new DOMException2(e, "SyntaxError"); + throw new DOMException(e, "SyntaxError"); } if (urlRecord.protocol === "http:") { urlRecord.protocol = "ws:"; @@ -37827,32 +38787,35 @@ var require_websocket2 = __commonJS({ urlRecord.protocol = "wss:"; } if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") { - throw new DOMException2( + throw new DOMException( `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`, "SyntaxError" ); } if (urlRecord.hash || urlRecord.href.endsWith("#")) { - throw new DOMException2("Got fragment", "SyntaxError"); + 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 DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError"); + throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError"); } if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) { - throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError"); + 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) => this.#onConnectionEstablished(response), + (response, extensions) => this.#onConnectionEstablished(response, extensions), options ); this[kReadyState] = _WebSocket.CONNECTING; + this[kSentClose] = sentCloseFrameState.NOT_SENT; this[kBinaryType] = "blob"; } /** @@ -37862,53 +38825,29 @@ var require_websocket2 = __commonJS({ */ 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, { clamp: true }); + code = webidl.converters["unsigned short"](code, prefix, "code", { clamp: true }); } if (reason !== void 0) { - reason = webidl.converters.USVString(reason); + reason = webidl.converters.USVString(reason, prefix, "reason"); } if (code !== void 0) { if (code !== 1e3 && (code < 3e3 || code > 4999)) { - throw new DOMException2("invalid code", "InvalidAccessError"); + throw new DOMException("invalid code", "InvalidAccessError"); } } let reasonByteLength = 0; if (reason !== void 0) { reasonByteLength = Buffer.byteLength(reason); if (reasonByteLength > 123) { - throw new DOMException2( + throw new DOMException( `Reason must be less than 123 bytes; received ${reasonByteLength}`, "SyntaxError" ); } } - if (this[kReadyState] === _WebSocket.CLOSING || this[kReadyState] === _WebSocket.CLOSED) { - } else if (!isEstablished(this)) { - failWebsocketConnection(this, "Connection was closed before it was established."); - this[kReadyState] = _WebSocket.CLOSING; - } else if (!isClosing(this)) { - 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 = this[kResponse].socket; - socket.write(frame.createFrame(opcodes.CLOSE), (err) => { - if (!err) { - this[kSentClose] = true; - } - }); - this[kReadyState] = states.CLOSING; - } else { - this[kReadyState] = _WebSocket.CLOSING; - } + closeWebSocketConnection(this, code, reason, reasonByteLength); } /** * @see https://websockets.spec.whatwg.org/#dom-websocket-send @@ -37916,50 +38855,36 @@ var require_websocket2 = __commonJS({ */ send(data) { webidl.brandCheck(this, _WebSocket); - webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" }); - data = webidl.converters.WebSocketSendData(data); - if (this[kReadyState] === _WebSocket.CONNECTING) { - throw new DOMException2("Sent before connected.", "InvalidStateError"); + 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; } - const socket = this[kResponse].socket; if (typeof data === "string") { - const value = Buffer.from(data); - const frame = new WebsocketFrameSend(value); - const buffer = frame.createFrame(opcodes.TEXT); - this.#bufferedAmount += value.byteLength; - socket.write(buffer, () => { - this.#bufferedAmount -= value.byteLength; - }); + const length = Buffer.byteLength(data); + this.#bufferedAmount += length; + this.#sendQueue.add(data, () => { + this.#bufferedAmount -= length; + }, sendHints.string); } else if (types.isArrayBuffer(data)) { - const value = Buffer.from(data); - const frame = new WebsocketFrameSend(value); - const buffer = frame.createFrame(opcodes.BINARY); - this.#bufferedAmount += value.byteLength; - socket.write(buffer, () => { - this.#bufferedAmount -= value.byteLength; - }); + this.#bufferedAmount += data.byteLength; + this.#sendQueue.add(data, () => { + this.#bufferedAmount -= data.byteLength; + }, sendHints.arrayBuffer); } else if (ArrayBuffer.isView(data)) { - const ab = Buffer.from(data, data.byteOffset, data.byteLength); - const frame = new WebsocketFrameSend(ab); - const buffer = frame.createFrame(opcodes.BINARY); - this.#bufferedAmount += ab.byteLength; - socket.write(buffer, () => { - this.#bufferedAmount -= ab.byteLength; - }); + this.#bufferedAmount += data.byteLength; + this.#sendQueue.add(data, () => { + this.#bufferedAmount -= data.byteLength; + }, sendHints.typedArray); } else if (isBlobLike(data)) { - const frame = new WebsocketFrameSend(); - data.arrayBuffer().then((ab) => { - const value = Buffer.from(ab); - frame.frameData = value; - const buffer = frame.createFrame(opcodes.BINARY); - this.#bufferedAmount += value.byteLength; - socket.write(buffer, () => { - this.#bufferedAmount -= value.byteLength; - }); - }); + this.#bufferedAmount += data.size; + this.#sendQueue.add(data, () => { + this.#bufferedAmount -= data.size; + }, sendHints.blob); } } get readyState() { @@ -38061,14 +38986,14 @@ var require_websocket2 = __commonJS({ /** * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol */ - #onConnectionEstablished(response) { + #onConnectionEstablished(response, parsedExtensions) { this[kResponse] = response; - const parser = new ByteParser(this); - parser.on("drain", function onParserDrain() { - this.ws[kResponse].socket.resume(); - }); + 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) { @@ -38118,26 +39043,22 @@ var require_websocket2 = __commonJS({ webidl.converters["sequence"] = webidl.sequenceConverter( webidl.converters.DOMString ); - webidl.converters["DOMString or sequence"] = function(V) { + 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); + return webidl.converters.DOMString(V, prefix, argument); }; webidl.converters.WebSocketInit = webidl.dictionaryConverter([ { key: "protocols", converter: webidl.converters["DOMString or sequence"], - get defaultValue() { - return []; - } + defaultValue: () => new Array(0) }, { key: "dispatcher", - converter: (V) => V, - get defaultValue() { - return getGlobalDispatcher(); - } + converter: webidl.converters.any, + defaultValue: () => getGlobalDispatcher() }, { key: "headers", @@ -38155,28 +39076,600 @@ var require_websocket2 = __commonJS({ if (isBlobLike(V)) { return webidl.converters.Blob(V, { strict: false }); } - if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) { + 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/index.js +// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js +var require_util16 = __commonJS({ + "node_modules/@actions/github/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((resolve5) => { + setTimeout(resolve5, ms).unref(); + }); + } + module2.exports = { + isValidLastEventId, + isASCIINumber, + delay + }; + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js +var require_eventsource_stream2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js"(exports2, module2) { + "use strict"; + var { Transform } = require("node:stream"); + var { isASCIINumber, isValidLastEventId } = require_util16(); + 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/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js +var require_eventsource2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js"(exports2, module2) { + "use strict"; + var { pipeline } = require("node:stream"); + var { fetching } = require_fetch2(); + var { makeRequest } = require_request4(); + var { webidl } = require_webidl2(); + var { EventSourceStream } = require_eventsource_stream2(); + var { parseMIMEType } = require_data_url2(); + var { createFastMessageEvent } = require_events2(); + var { isNetworkError } = require_response2(); + var { delay } = require_util16(); + var { kEnumerableProperty } = require_util9(); + var { environmentSettingsObject } = require_util10(); + 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, + (error3) => { + if (error3?.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/@actions/github/node_modules/undici/index.js var require_undici2 = __commonJS({ - "node_modules/undici/index.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/index.js"(exports2, module2) { "use strict"; var Client = require_client2(); var Dispatcher = require_dispatcher2(); - var errors = require_errors2(); var Pool = require_pool2(); var BalancedPool = require_balanced_pool2(); var Agent = require_agent2(); + var ProxyAgent = require_proxy_agent2(); + var EnvHttpProxyAgent = require_env_http_proxy_agent2(); + var RetryAgent = require_retry_agent2(); + var errors = require_errors2(); var util = require_util9(); var { InvalidArgumentError } = errors; var api = require_api2(); @@ -38185,19 +39678,11 @@ var require_undici2 = __commonJS({ var MockAgent = require_mock_agent2(); var MockPool = require_mock_pool2(); var mockErrors = require_mock_errors2(); - var ProxyAgent = require_proxy_agent2(); - var RetryHandler = require_RetryHandler(); + var RetryHandler = require_retry_handler2(); var { getGlobalDispatcher, setGlobalDispatcher } = require_global4(); - var DecoratorHandler = require_DecoratorHandler(); - var RedirectHandler = require_RedirectHandler(); - var createRedirectInterceptor = require_redirectInterceptor(); - var hasCrypto; - try { - require("crypto"); - hasCrypto = true; - } catch { - hasCrypto = false; - } + var DecoratorHandler = require_decorator_handler2(); + var RedirectHandler = require_redirect_handler2(); + var createRedirectInterceptor = require_redirect_interceptor2(); Object.assign(Dispatcher.prototype, api); module2.exports.Dispatcher = Dispatcher; module2.exports.Client = Client; @@ -38205,12 +39690,24 @@ var require_undici2 = __commonJS({ 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_redirect2(), + retry: require_retry2(), + dump: require_dump2(), + dns: require_dns2() + }; 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") { @@ -38252,48 +39749,42 @@ var require_undici2 = __commonJS({ } module2.exports.setGlobalDispatcher = setGlobalDispatcher; module2.exports.getGlobalDispatcher = getGlobalDispatcher; - if (util.nodeMajor > 16 || util.nodeMajor === 16 && util.nodeMinor >= 8) { - let fetchImpl = null; - module2.exports.fetch = async function fetch(resource) { - if (!fetchImpl) { - fetchImpl = require_fetch2().fetch; - } - try { - return await fetchImpl(...arguments); - } catch (err) { - if (typeof err === "object") { - Error.captureStackTrace(err, this); - } - throw err; + var fetchImpl = require_fetch2().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); } - }; - module2.exports.Headers = require_headers2().Headers; - module2.exports.Response = require_response2().Response; - module2.exports.Request = require_request4().Request; - module2.exports.FormData = require_formdata2().FormData; - module2.exports.File = require_file2().File; - module2.exports.FileReader = require_filereader2().FileReader; - const { setGlobalOrigin, getGlobalOrigin } = require_global3(); - module2.exports.setGlobalOrigin = setGlobalOrigin; - module2.exports.getGlobalOrigin = getGlobalOrigin; - const { CacheStorage } = require_cachestorage2(); - const { kConstruct } = require_symbols9(); - module2.exports.caches = new CacheStorage(kConstruct); - } - if (util.nodeMajor >= 16) { - const { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2(); - module2.exports.deleteCookie = deleteCookie; - module2.exports.getCookies = getCookies; - module2.exports.getSetCookies = getSetCookies; - module2.exports.setCookie = setCookie; - const { parseMIMEType, serializeAMimeType } = require_dataURL(); - module2.exports.parseMIMEType = parseMIMEType; - module2.exports.serializeAMimeType = serializeAMimeType; - } - if (util.nodeMajor >= 18 && hasCrypto) { - const { WebSocket } = require_websocket2(); - module2.exports.WebSocket = WebSocket; - } + throw err; + } + }; + module2.exports.Headers = require_headers2().Headers; + module2.exports.Response = require_response2().Response; + module2.exports.Request = require_request4().Request; + module2.exports.FormData = require_formdata2().FormData; + module2.exports.File = globalThis.File ?? require("node:buffer").File; + module2.exports.FileReader = require_filereader2().FileReader; + var { setGlobalOrigin, getGlobalOrigin } = require_global3(); + module2.exports.setGlobalOrigin = setGlobalOrigin; + module2.exports.getGlobalOrigin = getGlobalOrigin; + var { CacheStorage } = require_cachestorage2(); + var { kConstruct } = require_symbols9(); + module2.exports.caches = new CacheStorage(kConstruct); + var { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2(); + module2.exports.deleteCookie = deleteCookie; + module2.exports.getCookies = getCookies; + module2.exports.getSetCookies = getSetCookies; + module2.exports.setCookie = setCookie; + var { parseMIMEType, serializeAMimeType } = require_data_url2(); + module2.exports.parseMIMEType = parseMIMEType; + module2.exports.serializeAMimeType = serializeAMimeType; + var { CloseEvent, ErrorEvent, MessageEvent } = require_events2(); + module2.exports.WebSocket = require_websocket2().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); @@ -38303,6 +39794,8 @@ var require_undici2 = __commonJS({ module2.exports.MockPool = MockPool; module2.exports.MockAgent = MockAgent; module2.exports.mockErrors = mockErrors; + var { EventSource } = require_eventsource2(); + module2.exports.EventSource = EventSource; } }); @@ -44522,7 +46015,7 @@ var require_package = __commonJS({ "@actions/cache": "^5.0.5", "@actions/core": "^2.0.3", "@actions/exec": "^2.0.0", - "@actions/github": "^8.0.0", + "@actions/github": "^8.0.1", "@actions/glob": "^0.5.0", "@actions/http-client": "^3.0.0", "@actions/io": "^2.0.0", @@ -44554,7 +46047,7 @@ var require_package = __commonJS({ "@types/node-forge": "^1.3.14", "@types/semver": "^7.7.1", "@types/sinon": "^21.0.0", - "@typescript-eslint/eslint-plugin": "^8.53.1", + "@typescript-eslint/eslint-plugin": "^8.54.0", "@typescript-eslint/parser": "^8.48.0", ava: "^6.4.1", esbuild: "^0.27.2", @@ -44563,7 +46056,7 @@ var require_package = __commonJS({ "eslint-plugin-filenames": "^1.3.2", "eslint-plugin-github": "^5.1.8", "eslint-plugin-import": "2.29.1", - "eslint-plugin-jsdoc": "^62.3.0", + "eslint-plugin-jsdoc": "^62.4.1", "eslint-plugin-no-async-foreach": "^0.1.1", glob: "^11.1.0", nock: "^14.0.10", @@ -55054,7 +56547,7 @@ var require_clientHelpers = __commonJS({ }); // node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js -var require_multipart2 = __commonJS({ +var require_multipart = __commonJS({ "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); @@ -55177,7 +56670,7 @@ var require_sendRequest = __commonJS({ var pipelineRequest_js_1 = require_pipelineRequest(); var clientHelpers_js_1 = require_clientHelpers(); var typeGuards_js_1 = require_typeGuards(); - var multipart_js_1 = require_multipart2(); + var multipart_js_1 = require_multipart(); async function sendRequest(method, url, pipeline, options = {}, customHttpClient) { const httpClient = customHttpClient ?? (0, clientHelpers_js_1.getCachedDefaultHttpsClient)(); const request2 = buildPipelineRequest(method, url, options); @@ -59875,7 +61368,7 @@ var require_commonjs8 = __commonJS({ }); // node_modules/@azure/core-http-compat/dist/commonjs/util.js -var require_util16 = __commonJS({ +var require_util17 = __commonJS({ "node_modules/@azure/core-http-compat/dist/commonjs/util.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); @@ -60130,7 +61623,7 @@ var require_response3 = __commonJS({ exports2.toCompatResponse = toCompatResponse; exports2.toPipelineResponse = toPipelineResponse; var core_rest_pipeline_1 = require_commonjs6(); - var util_js_1 = require_util16(); + var util_js_1 = require_util17(); var originalResponse = /* @__PURE__ */ Symbol("Original FullOperationResponse"); function toCompatResponse(response, options) { let request2 = (0, util_js_1.toWebResourceLike)(response.request); @@ -60244,7 +61737,7 @@ var require_requestPolicyFactoryPolicy = __commonJS({ Object.defineProperty(exports2, "__esModule", { value: true }); exports2.requestPolicyFactoryPolicyName = exports2.HttpPipelineLogLevel = void 0; exports2.createRequestPolicyFactoryPolicy = createRequestPolicyFactoryPolicy; - var util_js_1 = require_util16(); + var util_js_1 = require_util17(); var response_js_1 = require_response3(); var HttpPipelineLogLevel; (function(HttpPipelineLogLevel2) { @@ -60291,7 +61784,7 @@ var require_httpClientAdapter = __commonJS({ Object.defineProperty(exports2, "__esModule", { value: true }); exports2.convertHttpClient = convertHttpClient; var response_js_1 = require_response3(); - var util_js_1 = require_util16(); + var util_js_1 = require_util17(); function convertHttpClient(requestPolicyClient) { return { sendRequest: async (request2) => { @@ -60331,7 +61824,7 @@ var require_commonjs9 = __commonJS({ Object.defineProperty(exports2, "convertHttpClient", { enumerable: true, get: function() { return httpClientAdapter_js_1.convertHttpClient; } }); - var util_js_1 = require_util16(); + var util_js_1 = require_util17(); Object.defineProperty(exports2, "toHttpHeadersLike", { enumerable: true, get: function() { return util_js_1.toHttpHeadersLike; } }); @@ -78184,22597 +79677,40655 @@ var require_blob = __commonJS({ isXML: true, serializer: xmlSerializer }; - var setTagsOperationSpec = { - path: "/{containerName}/{blob}", - httpMethod: "PUT", - responses: { - 204: { - headersMapper: Mappers.BlobSetTagsHeaders - }, - default: { - bodyMapper: Mappers.StorageError, - headersMapper: Mappers.BlobSetTagsExceptionHeaders + var setTagsOperationSpec = { + path: "/{containerName}/{blob}", + httpMethod: "PUT", + responses: { + 204: { + headersMapper: Mappers.BlobSetTagsHeaders + }, + default: { + bodyMapper: Mappers.StorageError, + headersMapper: Mappers.BlobSetTagsExceptionHeaders + } + }, + requestBody: Parameters.tags, + queryParameters: [ + Parameters.timeoutInSeconds, + Parameters.versionId, + Parameters.comp18 + ], + urlParameters: [Parameters.url], + headerParameters: [ + Parameters.contentType, + Parameters.accept, + Parameters.version, + Parameters.requestId, + Parameters.leaseId, + Parameters.ifTags, + Parameters.transactionalContentMD5, + Parameters.transactionalContentCrc64 + ], + isXML: true, + contentType: "application/xml; charset=utf-8", + mediaType: "xml", + serializer: xmlSerializer + }; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/pageBlob.js +var require_pageBlob = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/pageBlob.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.PageBlobImpl = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var coreClient = tslib_1.__importStar(require_commonjs8()); + var Mappers = tslib_1.__importStar(require_mappers()); + var Parameters = tslib_1.__importStar(require_parameters()); + var PageBlobImpl = class { + client; + /** + * Initialize a new instance of the class PageBlob class. + * @param client Reference to the service client + */ + constructor(client) { + this.client = client; + } + /** + * The Create operation creates a new page blob. + * @param contentLength The length of the request. + * @param blobContentLength This header specifies the maximum size for the page blob, up to 1 TB. The + * page blob size must be aligned to a 512-byte boundary. + * @param options The options parameters. + */ + create(contentLength, blobContentLength, options) { + return this.client.sendOperationRequest({ contentLength, blobContentLength, options }, createOperationSpec); + } + /** + * The Upload Pages operation writes a range of pages to a page blob + * @param contentLength The length of the request. + * @param body Initial data + * @param options The options parameters. + */ + uploadPages(contentLength, body, options) { + return this.client.sendOperationRequest({ contentLength, body, options }, uploadPagesOperationSpec); + } + /** + * The Clear Pages operation clears a set of pages from a page blob + * @param contentLength The length of the request. + * @param options The options parameters. + */ + clearPages(contentLength, options) { + return this.client.sendOperationRequest({ contentLength, options }, clearPagesOperationSpec); + } + /** + * The Upload Pages operation writes a range of pages to a page blob where the contents are read from a + * URL + * @param sourceUrl Specify a URL to the copy source. + * @param sourceRange Bytes of source data in the specified range. The length of this range should + * match the ContentLength header and x-ms-range/Range destination range header. + * @param contentLength The length of the request. + * @param range The range of bytes to which the source range would be written. The range should be 512 + * aligned and range-end is required. + * @param options The options parameters. + */ + uploadPagesFromURL(sourceUrl, sourceRange, contentLength, range, options) { + return this.client.sendOperationRequest({ sourceUrl, sourceRange, contentLength, range, options }, uploadPagesFromURLOperationSpec); + } + /** + * The Get Page Ranges operation returns the list of valid page ranges for a page blob or snapshot of a + * page blob + * @param options The options parameters. + */ + getPageRanges(options) { + return this.client.sendOperationRequest({ options }, getPageRangesOperationSpec); + } + /** + * The Get Page Ranges Diff operation returns the list of valid page ranges for a page blob that were + * changed between target blob and previous snapshot. + * @param options The options parameters. + */ + getPageRangesDiff(options) { + return this.client.sendOperationRequest({ options }, getPageRangesDiffOperationSpec); + } + /** + * Resize the Blob + * @param blobContentLength This header specifies the maximum size for the page blob, up to 1 TB. The + * page blob size must be aligned to a 512-byte boundary. + * @param options The options parameters. + */ + resize(blobContentLength, options) { + return this.client.sendOperationRequest({ blobContentLength, options }, resizeOperationSpec); + } + /** + * Update the sequence number of the blob + * @param sequenceNumberAction Required if the x-ms-blob-sequence-number header is set for the request. + * This property applies to page blobs only. This property indicates how the service should modify the + * blob's sequence number + * @param options The options parameters. + */ + updateSequenceNumber(sequenceNumberAction, options) { + return this.client.sendOperationRequest({ sequenceNumberAction, options }, updateSequenceNumberOperationSpec); + } + /** + * The Copy Incremental operation copies a snapshot of the source page blob to a destination page blob. + * The snapshot is copied such that only the differential changes between the previously copied + * snapshot are transferred to the destination. The copied snapshots are complete copies of the + * original snapshot and can be read or copied from as usual. This API is supported since REST version + * 2016-05-31. + * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to + * 2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would + * appear in a request URI. The source blob must either be public or must be authenticated via a shared + * access signature. + * @param options The options parameters. + */ + copyIncremental(copySource, options) { + return this.client.sendOperationRequest({ copySource, options }, copyIncrementalOperationSpec); + } + }; + exports2.PageBlobImpl = PageBlobImpl; + var xmlSerializer = coreClient.createSerializer( + Mappers, + /* isXml */ + true + ); + var createOperationSpec = { + path: "/{containerName}/{blob}", + httpMethod: "PUT", + responses: { + 201: { + headersMapper: Mappers.PageBlobCreateHeaders + }, + default: { + bodyMapper: Mappers.StorageError, + headersMapper: Mappers.PageBlobCreateExceptionHeaders + } + }, + queryParameters: [Parameters.timeoutInSeconds], + urlParameters: [Parameters.url], + headerParameters: [ + Parameters.version, + Parameters.requestId, + Parameters.accept1, + Parameters.contentLength, + Parameters.metadata, + Parameters.leaseId, + Parameters.ifModifiedSince, + Parameters.ifUnmodifiedSince, + Parameters.encryptionKey, + Parameters.encryptionKeySha256, + Parameters.encryptionAlgorithm, + Parameters.ifMatch, + Parameters.ifNoneMatch, + Parameters.ifTags, + Parameters.blobCacheControl, + Parameters.blobContentType, + Parameters.blobContentMD5, + Parameters.blobContentEncoding, + Parameters.blobContentLanguage, + Parameters.blobContentDisposition, + Parameters.immutabilityPolicyExpiry, + Parameters.immutabilityPolicyMode, + Parameters.encryptionScope, + Parameters.tier, + Parameters.blobTagsString, + Parameters.legalHold1, + Parameters.blobType, + Parameters.blobContentLength, + Parameters.blobSequenceNumber + ], + isXML: true, + serializer: xmlSerializer + }; + var uploadPagesOperationSpec = { + path: "/{containerName}/{blob}", + httpMethod: "PUT", + responses: { + 201: { + headersMapper: Mappers.PageBlobUploadPagesHeaders + }, + default: { + bodyMapper: Mappers.StorageError, + headersMapper: Mappers.PageBlobUploadPagesExceptionHeaders + } + }, + requestBody: Parameters.body1, + queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19], + urlParameters: [Parameters.url], + headerParameters: [ + Parameters.version, + Parameters.requestId, + Parameters.contentLength, + Parameters.leaseId, + Parameters.ifModifiedSince, + Parameters.ifUnmodifiedSince, + Parameters.range, + Parameters.encryptionKey, + Parameters.encryptionKeySha256, + Parameters.encryptionAlgorithm, + Parameters.ifMatch, + Parameters.ifNoneMatch, + Parameters.ifTags, + Parameters.encryptionScope, + Parameters.transactionalContentMD5, + Parameters.transactionalContentCrc64, + Parameters.contentType1, + Parameters.accept2, + Parameters.pageWrite, + Parameters.ifSequenceNumberLessThanOrEqualTo, + Parameters.ifSequenceNumberLessThan, + Parameters.ifSequenceNumberEqualTo + ], + isXML: true, + contentType: "application/xml; charset=utf-8", + mediaType: "binary", + serializer: xmlSerializer + }; + var clearPagesOperationSpec = { + path: "/{containerName}/{blob}", + httpMethod: "PUT", + responses: { + 201: { + headersMapper: Mappers.PageBlobClearPagesHeaders + }, + default: { + bodyMapper: Mappers.StorageError, + headersMapper: Mappers.PageBlobClearPagesExceptionHeaders + } + }, + queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19], + urlParameters: [Parameters.url], + headerParameters: [ + Parameters.version, + Parameters.requestId, + Parameters.accept1, + Parameters.contentLength, + Parameters.leaseId, + Parameters.ifModifiedSince, + Parameters.ifUnmodifiedSince, + Parameters.range, + Parameters.encryptionKey, + Parameters.encryptionKeySha256, + Parameters.encryptionAlgorithm, + Parameters.ifMatch, + Parameters.ifNoneMatch, + Parameters.ifTags, + Parameters.encryptionScope, + Parameters.ifSequenceNumberLessThanOrEqualTo, + Parameters.ifSequenceNumberLessThan, + Parameters.ifSequenceNumberEqualTo, + Parameters.pageWrite1 + ], + isXML: true, + serializer: xmlSerializer + }; + var uploadPagesFromURLOperationSpec = { + path: "/{containerName}/{blob}", + httpMethod: "PUT", + responses: { + 201: { + headersMapper: Mappers.PageBlobUploadPagesFromURLHeaders + }, + default: { + bodyMapper: Mappers.StorageError, + headersMapper: Mappers.PageBlobUploadPagesFromURLExceptionHeaders + } + }, + queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19], + urlParameters: [Parameters.url], + headerParameters: [ + Parameters.version, + Parameters.requestId, + Parameters.accept1, + Parameters.contentLength, + Parameters.leaseId, + Parameters.ifModifiedSince, + Parameters.ifUnmodifiedSince, + Parameters.encryptionKey, + Parameters.encryptionKeySha256, + Parameters.encryptionAlgorithm, + Parameters.ifMatch, + Parameters.ifNoneMatch, + Parameters.ifTags, + Parameters.encryptionScope, + Parameters.sourceIfModifiedSince, + Parameters.sourceIfUnmodifiedSince, + Parameters.sourceIfMatch, + Parameters.sourceIfNoneMatch, + Parameters.sourceContentMD5, + Parameters.copySourceAuthorization, + Parameters.fileRequestIntent, + Parameters.pageWrite, + Parameters.ifSequenceNumberLessThanOrEqualTo, + Parameters.ifSequenceNumberLessThan, + Parameters.ifSequenceNumberEqualTo, + Parameters.sourceUrl, + Parameters.sourceRange, + Parameters.sourceContentCrc64, + Parameters.range1 + ], + isXML: true, + serializer: xmlSerializer + }; + var getPageRangesOperationSpec = { + path: "/{containerName}/{blob}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PageList, + headersMapper: Mappers.PageBlobGetPageRangesHeaders + }, + default: { + bodyMapper: Mappers.StorageError, + headersMapper: Mappers.PageBlobGetPageRangesExceptionHeaders + } + }, + queryParameters: [ + Parameters.timeoutInSeconds, + Parameters.marker, + Parameters.maxPageSize, + Parameters.snapshot, + Parameters.comp20 + ], + urlParameters: [Parameters.url], + headerParameters: [ + Parameters.version, + Parameters.requestId, + Parameters.accept1, + Parameters.leaseId, + Parameters.ifModifiedSince, + Parameters.ifUnmodifiedSince, + Parameters.range, + Parameters.ifMatch, + Parameters.ifNoneMatch, + Parameters.ifTags + ], + isXML: true, + serializer: xmlSerializer + }; + var getPageRangesDiffOperationSpec = { + path: "/{containerName}/{blob}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PageList, + headersMapper: Mappers.PageBlobGetPageRangesDiffHeaders + }, + default: { + bodyMapper: Mappers.StorageError, + headersMapper: Mappers.PageBlobGetPageRangesDiffExceptionHeaders + } + }, + queryParameters: [ + Parameters.timeoutInSeconds, + Parameters.marker, + Parameters.maxPageSize, + Parameters.snapshot, + Parameters.comp20, + Parameters.prevsnapshot + ], + urlParameters: [Parameters.url], + headerParameters: [ + Parameters.version, + Parameters.requestId, + Parameters.accept1, + Parameters.leaseId, + Parameters.ifModifiedSince, + Parameters.ifUnmodifiedSince, + Parameters.range, + Parameters.ifMatch, + Parameters.ifNoneMatch, + Parameters.ifTags, + Parameters.prevSnapshotUrl + ], + isXML: true, + serializer: xmlSerializer + }; + var resizeOperationSpec = { + path: "/{containerName}/{blob}", + httpMethod: "PUT", + responses: { + 200: { + headersMapper: Mappers.PageBlobResizeHeaders + }, + default: { + bodyMapper: Mappers.StorageError, + headersMapper: Mappers.PageBlobResizeExceptionHeaders + } + }, + queryParameters: [Parameters.comp, Parameters.timeoutInSeconds], + urlParameters: [Parameters.url], + headerParameters: [ + Parameters.version, + Parameters.requestId, + Parameters.accept1, + Parameters.leaseId, + Parameters.ifModifiedSince, + Parameters.ifUnmodifiedSince, + Parameters.encryptionKey, + Parameters.encryptionKeySha256, + Parameters.encryptionAlgorithm, + Parameters.ifMatch, + Parameters.ifNoneMatch, + Parameters.ifTags, + Parameters.encryptionScope, + Parameters.blobContentLength + ], + isXML: true, + serializer: xmlSerializer + }; + var updateSequenceNumberOperationSpec = { + path: "/{containerName}/{blob}", + httpMethod: "PUT", + responses: { + 200: { + headersMapper: Mappers.PageBlobUpdateSequenceNumberHeaders + }, + default: { + bodyMapper: Mappers.StorageError, + headersMapper: Mappers.PageBlobUpdateSequenceNumberExceptionHeaders + } + }, + queryParameters: [Parameters.comp, Parameters.timeoutInSeconds], + urlParameters: [Parameters.url], + headerParameters: [ + Parameters.version, + Parameters.requestId, + Parameters.accept1, + Parameters.leaseId, + Parameters.ifModifiedSince, + Parameters.ifUnmodifiedSince, + Parameters.ifMatch, + Parameters.ifNoneMatch, + Parameters.ifTags, + Parameters.blobSequenceNumber, + Parameters.sequenceNumberAction + ], + isXML: true, + serializer: xmlSerializer + }; + var copyIncrementalOperationSpec = { + path: "/{containerName}/{blob}", + httpMethod: "PUT", + responses: { + 202: { + headersMapper: Mappers.PageBlobCopyIncrementalHeaders + }, + default: { + bodyMapper: Mappers.StorageError, + headersMapper: Mappers.PageBlobCopyIncrementalExceptionHeaders + } + }, + queryParameters: [Parameters.timeoutInSeconds, Parameters.comp21], + urlParameters: [Parameters.url], + headerParameters: [ + Parameters.version, + Parameters.requestId, + Parameters.accept1, + Parameters.ifModifiedSince, + Parameters.ifUnmodifiedSince, + Parameters.ifMatch, + Parameters.ifNoneMatch, + Parameters.ifTags, + Parameters.copySource + ], + isXML: true, + serializer: xmlSerializer + }; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/appendBlob.js +var require_appendBlob = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/appendBlob.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.AppendBlobImpl = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var coreClient = tslib_1.__importStar(require_commonjs8()); + var Mappers = tslib_1.__importStar(require_mappers()); + var Parameters = tslib_1.__importStar(require_parameters()); + var AppendBlobImpl = class { + client; + /** + * Initialize a new instance of the class AppendBlob class. + * @param client Reference to the service client + */ + constructor(client) { + this.client = client; + } + /** + * The Create Append Blob operation creates a new append blob. + * @param contentLength The length of the request. + * @param options The options parameters. + */ + create(contentLength, options) { + return this.client.sendOperationRequest({ contentLength, options }, createOperationSpec); + } + /** + * The Append Block operation commits a new block of data to the end of an existing append blob. The + * Append Block operation is permitted only if the blob was created with x-ms-blob-type set to + * AppendBlob. Append Block is supported only on version 2015-02-21 version or later. + * @param contentLength The length of the request. + * @param body Initial data + * @param options The options parameters. + */ + appendBlock(contentLength, body, options) { + return this.client.sendOperationRequest({ contentLength, body, options }, appendBlockOperationSpec); + } + /** + * The Append Block operation commits a new block of data to the end of an existing append blob where + * the contents are read from a source url. The Append Block operation is permitted only if the blob + * was created with x-ms-blob-type set to AppendBlob. Append Block is supported only on version + * 2015-02-21 version or later. + * @param sourceUrl Specify a URL to the copy source. + * @param contentLength The length of the request. + * @param options The options parameters. + */ + appendBlockFromUrl(sourceUrl, contentLength, options) { + return this.client.sendOperationRequest({ sourceUrl, contentLength, options }, appendBlockFromUrlOperationSpec); + } + /** + * The Seal operation seals the Append Blob to make it read-only. Seal is supported only on version + * 2019-12-12 version or later. + * @param options The options parameters. + */ + seal(options) { + return this.client.sendOperationRequest({ options }, sealOperationSpec); + } + }; + exports2.AppendBlobImpl = AppendBlobImpl; + var xmlSerializer = coreClient.createSerializer( + Mappers, + /* isXml */ + true + ); + var createOperationSpec = { + path: "/{containerName}/{blob}", + httpMethod: "PUT", + responses: { + 201: { + headersMapper: Mappers.AppendBlobCreateHeaders + }, + default: { + bodyMapper: Mappers.StorageError, + headersMapper: Mappers.AppendBlobCreateExceptionHeaders + } + }, + queryParameters: [Parameters.timeoutInSeconds], + urlParameters: [Parameters.url], + headerParameters: [ + Parameters.version, + Parameters.requestId, + Parameters.accept1, + Parameters.contentLength, + Parameters.metadata, + Parameters.leaseId, + Parameters.ifModifiedSince, + Parameters.ifUnmodifiedSince, + Parameters.encryptionKey, + Parameters.encryptionKeySha256, + Parameters.encryptionAlgorithm, + Parameters.ifMatch, + Parameters.ifNoneMatch, + Parameters.ifTags, + Parameters.blobCacheControl, + Parameters.blobContentType, + Parameters.blobContentMD5, + Parameters.blobContentEncoding, + Parameters.blobContentLanguage, + Parameters.blobContentDisposition, + Parameters.immutabilityPolicyExpiry, + Parameters.immutabilityPolicyMode, + Parameters.encryptionScope, + Parameters.blobTagsString, + Parameters.legalHold1, + Parameters.blobType1 + ], + isXML: true, + serializer: xmlSerializer + }; + var appendBlockOperationSpec = { + path: "/{containerName}/{blob}", + httpMethod: "PUT", + responses: { + 201: { + headersMapper: Mappers.AppendBlobAppendBlockHeaders + }, + default: { + bodyMapper: Mappers.StorageError, + headersMapper: Mappers.AppendBlobAppendBlockExceptionHeaders + } + }, + requestBody: Parameters.body1, + queryParameters: [Parameters.timeoutInSeconds, Parameters.comp22], + urlParameters: [Parameters.url], + headerParameters: [ + Parameters.version, + Parameters.requestId, + Parameters.contentLength, + Parameters.leaseId, + Parameters.ifModifiedSince, + Parameters.ifUnmodifiedSince, + Parameters.encryptionKey, + Parameters.encryptionKeySha256, + Parameters.encryptionAlgorithm, + Parameters.ifMatch, + Parameters.ifNoneMatch, + Parameters.ifTags, + Parameters.encryptionScope, + Parameters.transactionalContentMD5, + Parameters.transactionalContentCrc64, + Parameters.contentType1, + Parameters.accept2, + Parameters.maxSize, + Parameters.appendPosition + ], + isXML: true, + contentType: "application/xml; charset=utf-8", + mediaType: "binary", + serializer: xmlSerializer + }; + var appendBlockFromUrlOperationSpec = { + path: "/{containerName}/{blob}", + httpMethod: "PUT", + responses: { + 201: { + headersMapper: Mappers.AppendBlobAppendBlockFromUrlHeaders + }, + default: { + bodyMapper: Mappers.StorageError, + headersMapper: Mappers.AppendBlobAppendBlockFromUrlExceptionHeaders + } + }, + queryParameters: [Parameters.timeoutInSeconds, Parameters.comp22], + urlParameters: [Parameters.url], + headerParameters: [ + Parameters.version, + Parameters.requestId, + Parameters.accept1, + Parameters.contentLength, + Parameters.leaseId, + Parameters.ifModifiedSince, + Parameters.ifUnmodifiedSince, + Parameters.encryptionKey, + Parameters.encryptionKeySha256, + Parameters.encryptionAlgorithm, + Parameters.ifMatch, + Parameters.ifNoneMatch, + Parameters.ifTags, + Parameters.encryptionScope, + Parameters.sourceIfModifiedSince, + Parameters.sourceIfUnmodifiedSince, + Parameters.sourceIfMatch, + Parameters.sourceIfNoneMatch, + Parameters.sourceContentMD5, + Parameters.copySourceAuthorization, + Parameters.fileRequestIntent, + Parameters.transactionalContentMD5, + Parameters.sourceUrl, + Parameters.sourceContentCrc64, + Parameters.maxSize, + Parameters.appendPosition, + Parameters.sourceRange1 + ], + isXML: true, + serializer: xmlSerializer + }; + var sealOperationSpec = { + path: "/{containerName}/{blob}", + httpMethod: "PUT", + responses: { + 200: { + headersMapper: Mappers.AppendBlobSealHeaders + }, + default: { + bodyMapper: Mappers.StorageError, + headersMapper: Mappers.AppendBlobSealExceptionHeaders + } + }, + queryParameters: [Parameters.timeoutInSeconds, Parameters.comp23], + urlParameters: [Parameters.url], + headerParameters: [ + Parameters.version, + Parameters.requestId, + Parameters.accept1, + Parameters.leaseId, + Parameters.ifModifiedSince, + Parameters.ifUnmodifiedSince, + Parameters.ifMatch, + Parameters.ifNoneMatch, + Parameters.appendPosition + ], + isXML: true, + serializer: xmlSerializer + }; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blockBlob.js +var require_blockBlob = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blockBlob.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.BlockBlobImpl = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var coreClient = tslib_1.__importStar(require_commonjs8()); + var Mappers = tslib_1.__importStar(require_mappers()); + var Parameters = tslib_1.__importStar(require_parameters()); + var BlockBlobImpl = class { + client; + /** + * Initialize a new instance of the class BlockBlob class. + * @param client Reference to the service client + */ + constructor(client) { + this.client = client; + } + /** + * The Upload Block Blob operation updates the content of an existing block blob. Updating an existing + * block blob overwrites any existing metadata on the blob. Partial updates are not supported with Put + * Blob; the content of the existing blob is overwritten with the content of the new blob. To perform a + * partial update of the content of a block blob, use the Put Block List operation. + * @param contentLength The length of the request. + * @param body Initial data + * @param options The options parameters. + */ + upload(contentLength, body, options) { + return this.client.sendOperationRequest({ contentLength, body, options }, uploadOperationSpec); + } + /** + * The Put Blob from URL operation creates a new Block Blob where the contents of the blob are read + * from a given URL. This API is supported beginning with the 2020-04-08 version. Partial updates are + * not supported with Put Blob from URL; the content of an existing blob is overwritten with the + * content of the new blob. To perform partial updates to a block blob’s contents using a source URL, + * use the Put Block from URL API in conjunction with Put Block List. + * @param contentLength The length of the request. + * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to + * 2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would + * appear in a request URI. The source blob must either be public or must be authenticated via a shared + * access signature. + * @param options The options parameters. + */ + putBlobFromUrl(contentLength, copySource, options) { + return this.client.sendOperationRequest({ contentLength, copySource, options }, putBlobFromUrlOperationSpec); + } + /** + * The Stage Block operation creates a new block to be committed as part of a blob + * @param blockId A valid Base64 string value that identifies the block. Prior to encoding, the string + * must be less than or equal to 64 bytes in size. For a given blob, the length of the value specified + * for the blockid parameter must be the same size for each block. + * @param contentLength The length of the request. + * @param body Initial data + * @param options The options parameters. + */ + stageBlock(blockId, contentLength, body, options) { + return this.client.sendOperationRequest({ blockId, contentLength, body, options }, stageBlockOperationSpec); + } + /** + * The Stage Block operation creates a new block to be committed as part of a blob where the contents + * are read from a URL. + * @param blockId A valid Base64 string value that identifies the block. Prior to encoding, the string + * must be less than or equal to 64 bytes in size. For a given blob, the length of the value specified + * for the blockid parameter must be the same size for each block. + * @param contentLength The length of the request. + * @param sourceUrl Specify a URL to the copy source. + * @param options The options parameters. + */ + stageBlockFromURL(blockId, contentLength, sourceUrl, options) { + return this.client.sendOperationRequest({ blockId, contentLength, sourceUrl, options }, stageBlockFromURLOperationSpec); + } + /** + * The Commit Block List operation writes a blob by specifying the list of block IDs that make up the + * blob. In order to be written as part of a blob, a block must have been successfully written to the + * server in a prior Put Block operation. You can call Put Block List to update a blob by uploading + * only those blocks that have changed, then committing the new and existing blocks together. You can + * do this by specifying whether to commit a block from the committed block list or from the + * uncommitted block list, or to commit the most recently uploaded version of the block, whichever list + * it may belong to. + * @param blocks Blob Blocks. + * @param options The options parameters. + */ + commitBlockList(blocks, options) { + return this.client.sendOperationRequest({ blocks, options }, commitBlockListOperationSpec); + } + /** + * The Get Block List operation retrieves the list of blocks that have been uploaded as part of a block + * blob + * @param listType Specifies whether to return the list of committed blocks, the list of uncommitted + * blocks, or both lists together. + * @param options The options parameters. + */ + getBlockList(listType, options) { + return this.client.sendOperationRequest({ listType, options }, getBlockListOperationSpec); + } + }; + exports2.BlockBlobImpl = BlockBlobImpl; + var xmlSerializer = coreClient.createSerializer( + Mappers, + /* isXml */ + true + ); + var uploadOperationSpec = { + path: "/{containerName}/{blob}", + httpMethod: "PUT", + responses: { + 201: { + headersMapper: Mappers.BlockBlobUploadHeaders + }, + default: { + bodyMapper: Mappers.StorageError, + headersMapper: Mappers.BlockBlobUploadExceptionHeaders + } + }, + requestBody: Parameters.body1, + queryParameters: [Parameters.timeoutInSeconds], + urlParameters: [Parameters.url], + headerParameters: [ + Parameters.version, + Parameters.requestId, + Parameters.contentLength, + Parameters.metadata, + Parameters.leaseId, + Parameters.ifModifiedSince, + Parameters.ifUnmodifiedSince, + Parameters.encryptionKey, + Parameters.encryptionKeySha256, + Parameters.encryptionAlgorithm, + Parameters.ifMatch, + Parameters.ifNoneMatch, + Parameters.ifTags, + Parameters.blobCacheControl, + Parameters.blobContentType, + Parameters.blobContentMD5, + Parameters.blobContentEncoding, + Parameters.blobContentLanguage, + Parameters.blobContentDisposition, + Parameters.immutabilityPolicyExpiry, + Parameters.immutabilityPolicyMode, + Parameters.encryptionScope, + Parameters.tier, + Parameters.blobTagsString, + Parameters.legalHold1, + Parameters.transactionalContentMD5, + Parameters.transactionalContentCrc64, + Parameters.contentType1, + Parameters.accept2, + Parameters.blobType2 + ], + isXML: true, + contentType: "application/xml; charset=utf-8", + mediaType: "binary", + serializer: xmlSerializer + }; + var putBlobFromUrlOperationSpec = { + path: "/{containerName}/{blob}", + httpMethod: "PUT", + responses: { + 201: { + headersMapper: Mappers.BlockBlobPutBlobFromUrlHeaders + }, + default: { + bodyMapper: Mappers.StorageError, + headersMapper: Mappers.BlockBlobPutBlobFromUrlExceptionHeaders + } + }, + queryParameters: [Parameters.timeoutInSeconds], + urlParameters: [Parameters.url], + headerParameters: [ + Parameters.version, + Parameters.requestId, + Parameters.accept1, + Parameters.contentLength, + Parameters.metadata, + Parameters.leaseId, + Parameters.ifModifiedSince, + Parameters.ifUnmodifiedSince, + Parameters.encryptionKey, + Parameters.encryptionKeySha256, + Parameters.encryptionAlgorithm, + Parameters.ifMatch, + Parameters.ifNoneMatch, + Parameters.ifTags, + Parameters.blobCacheControl, + Parameters.blobContentType, + Parameters.blobContentMD5, + Parameters.blobContentEncoding, + Parameters.blobContentLanguage, + Parameters.blobContentDisposition, + Parameters.encryptionScope, + Parameters.tier, + Parameters.sourceIfModifiedSince, + Parameters.sourceIfUnmodifiedSince, + Parameters.sourceIfMatch, + Parameters.sourceIfNoneMatch, + Parameters.sourceIfTags, + Parameters.copySource, + Parameters.blobTagsString, + Parameters.sourceContentMD5, + Parameters.copySourceAuthorization, + Parameters.copySourceTags, + Parameters.fileRequestIntent, + Parameters.transactionalContentMD5, + Parameters.blobType2, + Parameters.copySourceBlobProperties + ], + isXML: true, + serializer: xmlSerializer + }; + var stageBlockOperationSpec = { + path: "/{containerName}/{blob}", + httpMethod: "PUT", + responses: { + 201: { + headersMapper: Mappers.BlockBlobStageBlockHeaders + }, + default: { + bodyMapper: Mappers.StorageError, + headersMapper: Mappers.BlockBlobStageBlockExceptionHeaders + } + }, + requestBody: Parameters.body1, + queryParameters: [ + Parameters.timeoutInSeconds, + Parameters.comp24, + Parameters.blockId + ], + urlParameters: [Parameters.url], + headerParameters: [ + Parameters.version, + Parameters.requestId, + Parameters.contentLength, + Parameters.leaseId, + Parameters.encryptionKey, + Parameters.encryptionKeySha256, + Parameters.encryptionAlgorithm, + Parameters.encryptionScope, + Parameters.transactionalContentMD5, + Parameters.transactionalContentCrc64, + Parameters.contentType1, + Parameters.accept2 + ], + isXML: true, + contentType: "application/xml; charset=utf-8", + mediaType: "binary", + serializer: xmlSerializer + }; + var stageBlockFromURLOperationSpec = { + path: "/{containerName}/{blob}", + httpMethod: "PUT", + responses: { + 201: { + headersMapper: Mappers.BlockBlobStageBlockFromURLHeaders + }, + default: { + bodyMapper: Mappers.StorageError, + headersMapper: Mappers.BlockBlobStageBlockFromURLExceptionHeaders + } + }, + queryParameters: [ + Parameters.timeoutInSeconds, + Parameters.comp24, + Parameters.blockId + ], + urlParameters: [Parameters.url], + headerParameters: [ + Parameters.version, + Parameters.requestId, + Parameters.accept1, + Parameters.contentLength, + Parameters.leaseId, + Parameters.encryptionKey, + Parameters.encryptionKeySha256, + Parameters.encryptionAlgorithm, + Parameters.encryptionScope, + Parameters.sourceIfModifiedSince, + Parameters.sourceIfUnmodifiedSince, + Parameters.sourceIfMatch, + Parameters.sourceIfNoneMatch, + Parameters.sourceContentMD5, + Parameters.copySourceAuthorization, + Parameters.fileRequestIntent, + Parameters.sourceUrl, + Parameters.sourceContentCrc64, + Parameters.sourceRange1 + ], + isXML: true, + serializer: xmlSerializer + }; + var commitBlockListOperationSpec = { + path: "/{containerName}/{blob}", + httpMethod: "PUT", + responses: { + 201: { + headersMapper: Mappers.BlockBlobCommitBlockListHeaders + }, + default: { + bodyMapper: Mappers.StorageError, + headersMapper: Mappers.BlockBlobCommitBlockListExceptionHeaders + } + }, + requestBody: Parameters.blocks, + queryParameters: [Parameters.timeoutInSeconds, Parameters.comp25], + urlParameters: [Parameters.url], + headerParameters: [ + Parameters.contentType, + Parameters.accept, + Parameters.version, + Parameters.requestId, + Parameters.metadata, + Parameters.leaseId, + Parameters.ifModifiedSince, + Parameters.ifUnmodifiedSince, + Parameters.encryptionKey, + Parameters.encryptionKeySha256, + Parameters.encryptionAlgorithm, + Parameters.ifMatch, + Parameters.ifNoneMatch, + Parameters.ifTags, + Parameters.blobCacheControl, + Parameters.blobContentType, + Parameters.blobContentMD5, + Parameters.blobContentEncoding, + Parameters.blobContentLanguage, + Parameters.blobContentDisposition, + Parameters.immutabilityPolicyExpiry, + Parameters.immutabilityPolicyMode, + Parameters.encryptionScope, + Parameters.tier, + Parameters.blobTagsString, + Parameters.legalHold1, + Parameters.transactionalContentMD5, + Parameters.transactionalContentCrc64 + ], + isXML: true, + contentType: "application/xml; charset=utf-8", + mediaType: "xml", + serializer: xmlSerializer + }; + var getBlockListOperationSpec = { + path: "/{containerName}/{blob}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.BlockList, + headersMapper: Mappers.BlockBlobGetBlockListHeaders + }, + default: { + bodyMapper: Mappers.StorageError, + headersMapper: Mappers.BlockBlobGetBlockListExceptionHeaders + } + }, + queryParameters: [ + Parameters.timeoutInSeconds, + Parameters.snapshot, + Parameters.comp25, + Parameters.listType + ], + urlParameters: [Parameters.url], + headerParameters: [ + Parameters.version, + Parameters.requestId, + Parameters.accept1, + Parameters.leaseId, + Parameters.ifTags + ], + isXML: true, + serializer: xmlSerializer + }; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/index.js +var require_operations = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/index.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_service(), exports2); + tslib_1.__exportStar(require_container(), exports2); + tslib_1.__exportStar(require_blob(), exports2); + tslib_1.__exportStar(require_pageBlob(), exports2); + tslib_1.__exportStar(require_appendBlob(), exports2); + tslib_1.__exportStar(require_blockBlob(), exports2); + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/generated/src/storageClient.js +var require_storageClient = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/generated/src/storageClient.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.StorageClient = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var coreHttpCompat = tslib_1.__importStar(require_commonjs9()); + var index_js_1 = require_operations(); + var StorageClient = class extends coreHttpCompat.ExtendedServiceClient { + url; + version; + /** + * Initializes a new instance of the StorageClient class. + * @param url The URL of the service account, container, or blob that is the target of the desired + * operation. + * @param options The parameter options + */ + constructor(url, options) { + if (url === void 0) { + throw new Error("'url' cannot be null"); + } + if (!options) { + options = {}; + } + const defaults = { + requestContentType: "application/json; charset=utf-8" + }; + const packageDetails = `azsdk-js-azure-storage-blob/12.29.1`; + const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` : `${packageDetails}`; + const optionsWithDefaults = { + ...defaults, + ...options, + userAgentOptions: { + userAgentPrefix + }, + endpoint: options.endpoint ?? options.baseUri ?? "{url}" + }; + super(optionsWithDefaults); + this.url = url; + this.version = options.version || "2025-11-05"; + this.service = new index_js_1.ServiceImpl(this); + this.container = new index_js_1.ContainerImpl(this); + this.blob = new index_js_1.BlobImpl(this); + this.pageBlob = new index_js_1.PageBlobImpl(this); + this.appendBlob = new index_js_1.AppendBlobImpl(this); + this.blockBlob = new index_js_1.BlockBlobImpl(this); + } + service; + container; + blob; + pageBlob; + appendBlob; + blockBlob; + }; + exports2.StorageClient = StorageClient; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/service.js +var require_service2 = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/service.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/container.js +var require_container2 = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/container.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blob.js +var require_blob2 = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blob.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/pageBlob.js +var require_pageBlob2 = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/pageBlob.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/appendBlob.js +var require_appendBlob2 = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/appendBlob.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blockBlob.js +var require_blockBlob2 = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blockBlob.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/index.js +var require_operationsInterfaces = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/index.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_service2(), exports2); + tslib_1.__exportStar(require_container2(), exports2); + tslib_1.__exportStar(require_blob2(), exports2); + tslib_1.__exportStar(require_pageBlob2(), exports2); + tslib_1.__exportStar(require_appendBlob2(), exports2); + tslib_1.__exportStar(require_blockBlob2(), exports2); + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/generated/src/index.js +var require_src2 = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/generated/src/index.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.StorageClient = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_models(), exports2); + var storageClient_js_1 = require_storageClient(); + Object.defineProperty(exports2, "StorageClient", { enumerable: true, get: function() { + return storageClient_js_1.StorageClient; + } }); + tslib_1.__exportStar(require_operationsInterfaces(), exports2); + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/StorageContextClient.js +var require_StorageContextClient = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/StorageContextClient.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.StorageContextClient = void 0; + var index_js_1 = require_src2(); + var StorageContextClient = class extends index_js_1.StorageClient { + async sendOperationRequest(operationArguments, operationSpec) { + const operationSpecToSend = { ...operationSpec }; + if (operationSpecToSend.path === "/{containerName}" || operationSpecToSend.path === "/{containerName}/{blob}") { + operationSpecToSend.path = ""; + } + return super.sendOperationRequest(operationArguments, operationSpecToSend); + } + }; + exports2.StorageContextClient = StorageContextClient; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/StorageClient.js +var require_StorageClient = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/StorageClient.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.StorageClient = void 0; + var StorageContextClient_js_1 = require_StorageContextClient(); + var Pipeline_js_1 = require_Pipeline(); + var utils_common_js_1 = require_utils_common(); + var StorageClient = class { + /** + * Encoded URL string value. + */ + url; + accountName; + /** + * Request policy pipeline. + * + * @internal + */ + pipeline; + /** + * Such as AnonymousCredential, StorageSharedKeyCredential or any credential from the `@azure/identity` package to authenticate requests to the service. You can also provide an object that implements the TokenCredential interface. If not specified, AnonymousCredential is used. + */ + credential; + /** + * StorageClient is a reference to protocol layer operations entry, which is + * generated by AutoRest generator. + */ + storageClientContext; + /** + */ + isHttps; + /** + * Creates an instance of StorageClient. + * @param url - url to resource + * @param pipeline - request policy pipeline. + */ + constructor(url, pipeline) { + this.url = (0, utils_common_js_1.escapeURLPath)(url); + this.accountName = (0, utils_common_js_1.getAccountNameFromUrl)(url); + this.pipeline = pipeline; + this.storageClientContext = new StorageContextClient_js_1.StorageContextClient(this.url, (0, Pipeline_js_1.getCoreClientOptions)(pipeline)); + this.isHttps = (0, utils_common_js_1.iEqual)((0, utils_common_js_1.getURLScheme)(this.url) || "", "https"); + this.credential = (0, Pipeline_js_1.getCredentialFromPipeline)(pipeline); + const storageClientContext = this.storageClientContext; + storageClientContext.requestContentType = void 0; + } + }; + exports2.StorageClient = StorageClient; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/utils/tracing.js +var require_tracing = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/utils/tracing.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.tracingClient = void 0; + var core_tracing_1 = require_commonjs5(); + var constants_js_1 = require_constants15(); + exports2.tracingClient = (0, core_tracing_1.createTracingClient)({ + packageName: "@azure/storage-blob", + packageVersion: constants_js_1.SDK_VERSION, + namespace: "Microsoft.Storage" + }); + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASPermissions.js +var require_BlobSASPermissions = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASPermissions.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.BlobSASPermissions = void 0; + var BlobSASPermissions = class _BlobSASPermissions { + /** + * Creates a {@link BlobSASPermissions} from the specified permissions string. This method will throw an + * Error if it encounters a character that does not correspond to a valid permission. + * + * @param permissions - + */ + static parse(permissions) { + const blobSASPermissions = new _BlobSASPermissions(); + for (const char of permissions) { + switch (char) { + case "r": + blobSASPermissions.read = true; + break; + case "a": + blobSASPermissions.add = true; + break; + case "c": + blobSASPermissions.create = true; + break; + case "w": + blobSASPermissions.write = true; + break; + case "d": + blobSASPermissions.delete = true; + break; + case "x": + blobSASPermissions.deleteVersion = true; + break; + case "t": + blobSASPermissions.tag = true; + break; + case "m": + blobSASPermissions.move = true; + break; + case "e": + blobSASPermissions.execute = true; + break; + case "i": + blobSASPermissions.setImmutabilityPolicy = true; + break; + case "y": + blobSASPermissions.permanentDelete = true; + break; + default: + throw new RangeError(`Invalid permission: ${char}`); + } + } + return blobSASPermissions; + } + /** + * Creates a {@link BlobSASPermissions} from a raw object which contains same keys as it + * and boolean values for them. + * + * @param permissionLike - + */ + static from(permissionLike) { + const blobSASPermissions = new _BlobSASPermissions(); + if (permissionLike.read) { + blobSASPermissions.read = true; + } + if (permissionLike.add) { + blobSASPermissions.add = true; + } + if (permissionLike.create) { + blobSASPermissions.create = true; + } + if (permissionLike.write) { + blobSASPermissions.write = true; + } + if (permissionLike.delete) { + blobSASPermissions.delete = true; + } + if (permissionLike.deleteVersion) { + blobSASPermissions.deleteVersion = true; + } + if (permissionLike.tag) { + blobSASPermissions.tag = true; + } + if (permissionLike.move) { + blobSASPermissions.move = true; + } + if (permissionLike.execute) { + blobSASPermissions.execute = true; + } + if (permissionLike.setImmutabilityPolicy) { + blobSASPermissions.setImmutabilityPolicy = true; + } + if (permissionLike.permanentDelete) { + blobSASPermissions.permanentDelete = true; + } + return blobSASPermissions; + } + /** + * Specifies Read access granted. + */ + read = false; + /** + * Specifies Add access granted. + */ + add = false; + /** + * Specifies Create access granted. + */ + create = false; + /** + * Specifies Write access granted. + */ + write = false; + /** + * Specifies Delete access granted. + */ + delete = false; + /** + * Specifies Delete version access granted. + */ + deleteVersion = false; + /** + * Specfies Tag access granted. + */ + tag = false; + /** + * Specifies Move access granted. + */ + move = false; + /** + * Specifies Execute access granted. + */ + execute = false; + /** + * Specifies SetImmutabilityPolicy access granted. + */ + setImmutabilityPolicy = false; + /** + * Specifies that Permanent Delete is permitted. + */ + permanentDelete = false; + /** + * Converts the given permissions to a string. Using this method will guarantee the permissions are in an + * order accepted by the service. + * + * @returns A string which represents the BlobSASPermissions + */ + toString() { + const permissions = []; + if (this.read) { + permissions.push("r"); + } + if (this.add) { + permissions.push("a"); + } + if (this.create) { + permissions.push("c"); + } + if (this.write) { + permissions.push("w"); + } + if (this.delete) { + permissions.push("d"); + } + if (this.deleteVersion) { + permissions.push("x"); + } + if (this.tag) { + permissions.push("t"); + } + if (this.move) { + permissions.push("m"); + } + if (this.execute) { + permissions.push("e"); + } + if (this.setImmutabilityPolicy) { + permissions.push("i"); + } + if (this.permanentDelete) { + permissions.push("y"); + } + return permissions.join(""); + } + }; + exports2.BlobSASPermissions = BlobSASPermissions; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/sas/ContainerSASPermissions.js +var require_ContainerSASPermissions = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/sas/ContainerSASPermissions.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.ContainerSASPermissions = void 0; + var ContainerSASPermissions = class _ContainerSASPermissions { + /** + * Creates an {@link ContainerSASPermissions} from the specified permissions string. This method will throw an + * Error if it encounters a character that does not correspond to a valid permission. + * + * @param permissions - + */ + static parse(permissions) { + const containerSASPermissions = new _ContainerSASPermissions(); + for (const char of permissions) { + switch (char) { + case "r": + containerSASPermissions.read = true; + break; + case "a": + containerSASPermissions.add = true; + break; + case "c": + containerSASPermissions.create = true; + break; + case "w": + containerSASPermissions.write = true; + break; + case "d": + containerSASPermissions.delete = true; + break; + case "l": + containerSASPermissions.list = true; + break; + case "t": + containerSASPermissions.tag = true; + break; + case "x": + containerSASPermissions.deleteVersion = true; + break; + case "m": + containerSASPermissions.move = true; + break; + case "e": + containerSASPermissions.execute = true; + break; + case "i": + containerSASPermissions.setImmutabilityPolicy = true; + break; + case "y": + containerSASPermissions.permanentDelete = true; + break; + case "f": + containerSASPermissions.filterByTags = true; + break; + default: + throw new RangeError(`Invalid permission ${char}`); + } + } + return containerSASPermissions; + } + /** + * Creates a {@link ContainerSASPermissions} from a raw object which contains same keys as it + * and boolean values for them. + * + * @param permissionLike - + */ + static from(permissionLike) { + const containerSASPermissions = new _ContainerSASPermissions(); + if (permissionLike.read) { + containerSASPermissions.read = true; + } + if (permissionLike.add) { + containerSASPermissions.add = true; + } + if (permissionLike.create) { + containerSASPermissions.create = true; + } + if (permissionLike.write) { + containerSASPermissions.write = true; + } + if (permissionLike.delete) { + containerSASPermissions.delete = true; + } + if (permissionLike.list) { + containerSASPermissions.list = true; + } + if (permissionLike.deleteVersion) { + containerSASPermissions.deleteVersion = true; + } + if (permissionLike.tag) { + containerSASPermissions.tag = true; + } + if (permissionLike.move) { + containerSASPermissions.move = true; + } + if (permissionLike.execute) { + containerSASPermissions.execute = true; + } + if (permissionLike.setImmutabilityPolicy) { + containerSASPermissions.setImmutabilityPolicy = true; + } + if (permissionLike.permanentDelete) { + containerSASPermissions.permanentDelete = true; + } + if (permissionLike.filterByTags) { + containerSASPermissions.filterByTags = true; + } + return containerSASPermissions; + } + /** + * Specifies Read access granted. + */ + read = false; + /** + * Specifies Add access granted. + */ + add = false; + /** + * Specifies Create access granted. + */ + create = false; + /** + * Specifies Write access granted. + */ + write = false; + /** + * Specifies Delete access granted. + */ + delete = false; + /** + * Specifies Delete version access granted. + */ + deleteVersion = false; + /** + * Specifies List access granted. + */ + list = false; + /** + * Specfies Tag access granted. + */ + tag = false; + /** + * Specifies Move access granted. + */ + move = false; + /** + * Specifies Execute access granted. + */ + execute = false; + /** + * Specifies SetImmutabilityPolicy access granted. + */ + setImmutabilityPolicy = false; + /** + * Specifies that Permanent Delete is permitted. + */ + permanentDelete = false; + /** + * Specifies that Filter Blobs by Tags is permitted. + */ + filterByTags = false; + /** + * Converts the given permissions to a string. Using this method will guarantee the permissions are in an + * order accepted by the service. + * + * The order of the characters should be as specified here to ensure correctness. + * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas + * + */ + toString() { + const permissions = []; + if (this.read) { + permissions.push("r"); + } + if (this.add) { + permissions.push("a"); + } + if (this.create) { + permissions.push("c"); + } + if (this.write) { + permissions.push("w"); + } + if (this.delete) { + permissions.push("d"); + } + if (this.deleteVersion) { + permissions.push("x"); + } + if (this.list) { + permissions.push("l"); + } + if (this.tag) { + permissions.push("t"); + } + if (this.move) { + permissions.push("m"); + } + if (this.execute) { + permissions.push("e"); + } + if (this.setImmutabilityPolicy) { + permissions.push("i"); + } + if (this.permanentDelete) { + permissions.push("y"); + } + if (this.filterByTags) { + permissions.push("f"); + } + return permissions.join(""); + } + }; + exports2.ContainerSASPermissions = ContainerSASPermissions; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/credentials/UserDelegationKeyCredential.js +var require_UserDelegationKeyCredential = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/credentials/UserDelegationKeyCredential.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.UserDelegationKeyCredential = void 0; + var node_crypto_1 = require("node:crypto"); + var UserDelegationKeyCredential = class { + /** + * Azure Storage account name; readonly. + */ + accountName; + /** + * Azure Storage user delegation key; readonly. + */ + userDelegationKey; + /** + * Key value in Buffer type. + */ + key; + /** + * Creates an instance of UserDelegationKeyCredential. + * @param accountName - + * @param userDelegationKey - + */ + constructor(accountName, userDelegationKey) { + this.accountName = accountName; + this.userDelegationKey = userDelegationKey; + this.key = Buffer.from(userDelegationKey.value, "base64"); + } + /** + * Generates a hash signature for an HTTP request or for a SAS. + * + * @param stringToSign - + */ + computeHMACSHA256(stringToSign) { + return (0, node_crypto_1.createHmac)("sha256", this.key).update(stringToSign, "utf8").digest("base64"); + } + }; + exports2.UserDelegationKeyCredential = UserDelegationKeyCredential; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/sas/SasIPRange.js +var require_SasIPRange = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/sas/SasIPRange.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.ipRangeToString = ipRangeToString; + function ipRangeToString(ipRange) { + return ipRange.end ? `${ipRange.start}-${ipRange.end}` : ipRange.start; + } + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/sas/SASQueryParameters.js +var require_SASQueryParameters = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/sas/SASQueryParameters.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.SASQueryParameters = exports2.SASProtocol = void 0; + var SasIPRange_js_1 = require_SasIPRange(); + var utils_common_js_1 = require_utils_common(); + var SASProtocol; + (function(SASProtocol2) { + SASProtocol2["Https"] = "https"; + SASProtocol2["HttpsAndHttp"] = "https,http"; + })(SASProtocol || (exports2.SASProtocol = SASProtocol = {})); + var SASQueryParameters = class { + /** + * The storage API version. + */ + version; + /** + * Optional. The allowed HTTP protocol(s). + */ + protocol; + /** + * Optional. The start time for this SAS token. + */ + startsOn; + /** + * Optional only when identifier is provided. The expiry time for this SAS token. + */ + expiresOn; + /** + * Optional only when identifier is provided. + * Please refer to {@link AccountSASPermissions}, {@link BlobSASPermissions}, or {@link ContainerSASPermissions} for + * more details. + */ + permissions; + /** + * Optional. The storage services being accessed (only for Account SAS). Please refer to {@link AccountSASServices} + * for more details. + */ + services; + /** + * Optional. The storage resource types being accessed (only for Account SAS). Please refer to + * {@link AccountSASResourceTypes} for more details. + */ + resourceTypes; + /** + * Optional. The signed identifier (only for {@link BlobSASSignatureValues}). + * + * @see https://learn.microsoft.com/rest/api/storageservices/establishing-a-stored-access-policy + */ + identifier; + /** + * Optional. Encryption scope to use when sending requests authorized with this SAS URI. + */ + encryptionScope; + /** + * Optional. Specifies which resources are accessible via the SAS (only for {@link BlobSASSignatureValues}). + * @see https://learn.microsoft.com/rest/api/storageservices/create-service-sas#specifying-the-signed-resource-blob-service-only + */ + resource; + /** + * The signature for the SAS token. + */ + signature; + /** + * Value for cache-control header in Blob/File Service SAS. + */ + cacheControl; + /** + * Value for content-disposition header in Blob/File Service SAS. + */ + contentDisposition; + /** + * Value for content-encoding header in Blob/File Service SAS. + */ + contentEncoding; + /** + * Value for content-length header in Blob/File Service SAS. + */ + contentLanguage; + /** + * Value for content-type header in Blob/File Service SAS. + */ + contentType; + /** + * Inner value of getter ipRange. + */ + ipRangeInner; + /** + * The Azure Active Directory object ID in GUID format. + * Property of user delegation key. + */ + signedOid; + /** + * The Azure Active Directory tenant ID in GUID format. + * Property of user delegation key. + */ + signedTenantId; + /** + * The date-time the key is active. + * Property of user delegation key. + */ + signedStartsOn; + /** + * The date-time the key expires. + * Property of user delegation key. + */ + signedExpiresOn; + /** + * Abbreviation of the Azure Storage service that accepts the user delegation key. + * Property of user delegation key. + */ + signedService; + /** + * The service version that created the user delegation key. + * Property of user delegation key. + */ + signedVersion; + /** + * Authorized AAD Object ID in GUID format. The AAD Object ID of a user authorized by the owner of the User Delegation Key + * to perform the action granted by the SAS. The Azure Storage service will ensure that the owner of the user delegation key + * has the required permissions before granting access but no additional permission check for the user specified in + * this value will be performed. This is only used for User Delegation SAS. + */ + preauthorizedAgentObjectId; + /** + * A GUID value that will be logged in the storage diagnostic logs and can be used to correlate SAS generation with storage resource access. + * This is only used for User Delegation SAS. + */ + correlationId; + /** + * Optional. IP range allowed for this SAS. + * + * @readonly + */ + get ipRange() { + if (this.ipRangeInner) { + return { + end: this.ipRangeInner.end, + start: this.ipRangeInner.start + }; + } + return void 0; + } + constructor(version, signature, permissionsOrOptions, services, resourceTypes, protocol, startsOn, expiresOn, ipRange, identifier, resource, cacheControl, contentDisposition, contentEncoding, contentLanguage, contentType, userDelegationKey, preauthorizedAgentObjectId, correlationId, encryptionScope) { + this.version = version; + this.signature = signature; + if (permissionsOrOptions !== void 0 && typeof permissionsOrOptions !== "string") { + this.permissions = permissionsOrOptions.permissions; + this.services = permissionsOrOptions.services; + this.resourceTypes = permissionsOrOptions.resourceTypes; + this.protocol = permissionsOrOptions.protocol; + this.startsOn = permissionsOrOptions.startsOn; + this.expiresOn = permissionsOrOptions.expiresOn; + this.ipRangeInner = permissionsOrOptions.ipRange; + this.identifier = permissionsOrOptions.identifier; + this.encryptionScope = permissionsOrOptions.encryptionScope; + this.resource = permissionsOrOptions.resource; + this.cacheControl = permissionsOrOptions.cacheControl; + this.contentDisposition = permissionsOrOptions.contentDisposition; + this.contentEncoding = permissionsOrOptions.contentEncoding; + this.contentLanguage = permissionsOrOptions.contentLanguage; + this.contentType = permissionsOrOptions.contentType; + if (permissionsOrOptions.userDelegationKey) { + this.signedOid = permissionsOrOptions.userDelegationKey.signedObjectId; + this.signedTenantId = permissionsOrOptions.userDelegationKey.signedTenantId; + this.signedStartsOn = permissionsOrOptions.userDelegationKey.signedStartsOn; + this.signedExpiresOn = permissionsOrOptions.userDelegationKey.signedExpiresOn; + this.signedService = permissionsOrOptions.userDelegationKey.signedService; + this.signedVersion = permissionsOrOptions.userDelegationKey.signedVersion; + this.preauthorizedAgentObjectId = permissionsOrOptions.preauthorizedAgentObjectId; + this.correlationId = permissionsOrOptions.correlationId; + } + } else { + this.services = services; + this.resourceTypes = resourceTypes; + this.expiresOn = expiresOn; + this.permissions = permissionsOrOptions; + this.protocol = protocol; + this.startsOn = startsOn; + this.ipRangeInner = ipRange; + this.encryptionScope = encryptionScope; + this.identifier = identifier; + this.resource = resource; + this.cacheControl = cacheControl; + this.contentDisposition = contentDisposition; + this.contentEncoding = contentEncoding; + this.contentLanguage = contentLanguage; + this.contentType = contentType; + if (userDelegationKey) { + this.signedOid = userDelegationKey.signedObjectId; + this.signedTenantId = userDelegationKey.signedTenantId; + this.signedStartsOn = userDelegationKey.signedStartsOn; + this.signedExpiresOn = userDelegationKey.signedExpiresOn; + this.signedService = userDelegationKey.signedService; + this.signedVersion = userDelegationKey.signedVersion; + this.preauthorizedAgentObjectId = preauthorizedAgentObjectId; + this.correlationId = correlationId; + } + } + } + /** + * Encodes all SAS query parameters into a string that can be appended to a URL. + * + */ + toString() { + const params = [ + "sv", + "ss", + "srt", + "spr", + "st", + "se", + "sip", + "si", + "ses", + "skoid", + // Signed object ID + "sktid", + // Signed tenant ID + "skt", + // Signed key start time + "ske", + // Signed key expiry time + "sks", + // Signed key service + "skv", + // Signed key version + "sr", + "sp", + "sig", + "rscc", + "rscd", + "rsce", + "rscl", + "rsct", + "saoid", + "scid" + ]; + const queries = []; + for (const param of params) { + switch (param) { + case "sv": + this.tryAppendQueryParameter(queries, param, this.version); + break; + case "ss": + this.tryAppendQueryParameter(queries, param, this.services); + break; + case "srt": + this.tryAppendQueryParameter(queries, param, this.resourceTypes); + break; + case "spr": + this.tryAppendQueryParameter(queries, param, this.protocol); + break; + case "st": + this.tryAppendQueryParameter(queries, param, this.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.startsOn, false) : void 0); + break; + case "se": + this.tryAppendQueryParameter(queries, param, this.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.expiresOn, false) : void 0); + break; + case "sip": + this.tryAppendQueryParameter(queries, param, this.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(this.ipRange) : void 0); + break; + case "si": + this.tryAppendQueryParameter(queries, param, this.identifier); + break; + case "ses": + this.tryAppendQueryParameter(queries, param, this.encryptionScope); + break; + case "skoid": + this.tryAppendQueryParameter(queries, param, this.signedOid); + break; + case "sktid": + this.tryAppendQueryParameter(queries, param, this.signedTenantId); + break; + case "skt": + this.tryAppendQueryParameter(queries, param, this.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.signedStartsOn, false) : void 0); + break; + case "ske": + this.tryAppendQueryParameter(queries, param, this.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.signedExpiresOn, false) : void 0); + break; + case "sks": + this.tryAppendQueryParameter(queries, param, this.signedService); + break; + case "skv": + this.tryAppendQueryParameter(queries, param, this.signedVersion); + break; + case "sr": + this.tryAppendQueryParameter(queries, param, this.resource); + break; + case "sp": + this.tryAppendQueryParameter(queries, param, this.permissions); + break; + case "sig": + this.tryAppendQueryParameter(queries, param, this.signature); + break; + case "rscc": + this.tryAppendQueryParameter(queries, param, this.cacheControl); + break; + case "rscd": + this.tryAppendQueryParameter(queries, param, this.contentDisposition); + break; + case "rsce": + this.tryAppendQueryParameter(queries, param, this.contentEncoding); + break; + case "rscl": + this.tryAppendQueryParameter(queries, param, this.contentLanguage); + break; + case "rsct": + this.tryAppendQueryParameter(queries, param, this.contentType); + break; + case "saoid": + this.tryAppendQueryParameter(queries, param, this.preauthorizedAgentObjectId); + break; + case "scid": + this.tryAppendQueryParameter(queries, param, this.correlationId); + break; + } + } + return queries.join("&"); + } + /** + * A private helper method used to filter and append query key/value pairs into an array. + * + * @param queries - + * @param key - + * @param value - + */ + tryAppendQueryParameter(queries, key, value) { + if (!value) { + return; + } + key = encodeURIComponent(key); + value = encodeURIComponent(value); + if (key.length > 0 && value.length > 0) { + queries.push(`${key}=${value}`); + } + } + }; + exports2.SASQueryParameters = SASQueryParameters; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASSignatureValues.js +var require_BlobSASSignatureValues = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASSignatureValues.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.generateBlobSASQueryParameters = generateBlobSASQueryParameters; + exports2.generateBlobSASQueryParametersInternal = generateBlobSASQueryParametersInternal; + var BlobSASPermissions_js_1 = require_BlobSASPermissions(); + var ContainerSASPermissions_js_1 = require_ContainerSASPermissions(); + var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential(); + var UserDelegationKeyCredential_js_1 = require_UserDelegationKeyCredential(); + var SasIPRange_js_1 = require_SasIPRange(); + var SASQueryParameters_js_1 = require_SASQueryParameters(); + var constants_js_1 = require_constants15(); + var utils_common_js_1 = require_utils_common(); + function generateBlobSASQueryParameters(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName) { + return generateBlobSASQueryParametersInternal(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName).sasQueryParameters; + } + function generateBlobSASQueryParametersInternal(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName) { + const version = blobSASSignatureValues.version ? blobSASSignatureValues.version : constants_js_1.SERVICE_VERSION; + const sharedKeyCredential = sharedKeyCredentialOrUserDelegationKey instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential ? sharedKeyCredentialOrUserDelegationKey : void 0; + let userDelegationKeyCredential; + if (sharedKeyCredential === void 0 && accountName !== void 0) { + userDelegationKeyCredential = new UserDelegationKeyCredential_js_1.UserDelegationKeyCredential(accountName, sharedKeyCredentialOrUserDelegationKey); + } + if (sharedKeyCredential === void 0 && userDelegationKeyCredential === void 0) { + throw TypeError("Invalid sharedKeyCredential, userDelegationKey or accountName."); + } + if (version >= "2020-12-06") { + if (sharedKeyCredential !== void 0) { + return generateBlobSASQueryParameters20201206(blobSASSignatureValues, sharedKeyCredential); + } else { + if (version >= "2025-07-05") { + return generateBlobSASQueryParametersUDK20250705(blobSASSignatureValues, userDelegationKeyCredential); + } else { + return generateBlobSASQueryParametersUDK20201206(blobSASSignatureValues, userDelegationKeyCredential); + } + } + } + if (version >= "2018-11-09") { + if (sharedKeyCredential !== void 0) { + return generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKeyCredential); + } else { + if (version >= "2020-02-10") { + return generateBlobSASQueryParametersUDK20200210(blobSASSignatureValues, userDelegationKeyCredential); + } else { + return generateBlobSASQueryParametersUDK20181109(blobSASSignatureValues, userDelegationKeyCredential); + } + } + } + if (version >= "2015-04-05") { + if (sharedKeyCredential !== void 0) { + return generateBlobSASQueryParameters20150405(blobSASSignatureValues, sharedKeyCredential); + } else { + throw new RangeError("'version' must be >= '2018-11-09' when generating user delegation SAS using user delegation key."); + } + } + throw new RangeError("'version' must be >= '2015-04-05'."); + } + function generateBlobSASQueryParameters20150405(blobSASSignatureValues, sharedKeyCredential) { + blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues); + if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) { + throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided."); + } + let resource = "c"; + if (blobSASSignatureValues.blobName) { + resource = "b"; + } + let verifiedPermissions; + if (blobSASSignatureValues.permissions) { + if (blobSASSignatureValues.blobName) { + verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); + } else { + verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); + } + } + const stringToSign = [ + verifiedPermissions ? verifiedPermissions : "", + blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "", + blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "", + getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName), + blobSASSignatureValues.identifier, + blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "", + blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "", + blobSASSignatureValues.version, + blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "", + blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "", + blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "", + blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "", + blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : "" + ].join("\n"); + const signature = sharedKeyCredential.computeHMACSHA256(stringToSign); + return { + sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType), + stringToSign + }; + } + function generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKeyCredential) { + blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues); + if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) { + throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided."); + } + let resource = "c"; + let timestamp2 = blobSASSignatureValues.snapshotTime; + if (blobSASSignatureValues.blobName) { + resource = "b"; + if (blobSASSignatureValues.snapshotTime) { + resource = "bs"; + } else if (blobSASSignatureValues.versionId) { + resource = "bv"; + timestamp2 = blobSASSignatureValues.versionId; + } + } + let verifiedPermissions; + if (blobSASSignatureValues.permissions) { + if (blobSASSignatureValues.blobName) { + verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); + } else { + verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); + } + } + const stringToSign = [ + verifiedPermissions ? verifiedPermissions : "", + blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "", + blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "", + getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName), + blobSASSignatureValues.identifier, + blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "", + blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "", + blobSASSignatureValues.version, + resource, + timestamp2, + blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "", + blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "", + blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "", + blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "", + blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : "" + ].join("\n"); + const signature = sharedKeyCredential.computeHMACSHA256(stringToSign); + return { + sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType), + stringToSign + }; + } + function generateBlobSASQueryParameters20201206(blobSASSignatureValues, sharedKeyCredential) { + blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues); + if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) { + throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided."); + } + let resource = "c"; + let timestamp2 = blobSASSignatureValues.snapshotTime; + if (blobSASSignatureValues.blobName) { + resource = "b"; + if (blobSASSignatureValues.snapshotTime) { + resource = "bs"; + } else if (blobSASSignatureValues.versionId) { + resource = "bv"; + timestamp2 = blobSASSignatureValues.versionId; + } + } + let verifiedPermissions; + if (blobSASSignatureValues.permissions) { + if (blobSASSignatureValues.blobName) { + verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); + } else { + verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); + } + } + const stringToSign = [ + verifiedPermissions ? verifiedPermissions : "", + blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "", + blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "", + getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName), + blobSASSignatureValues.identifier, + blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "", + blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "", + blobSASSignatureValues.version, + resource, + timestamp2, + blobSASSignatureValues.encryptionScope, + blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "", + blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "", + blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "", + blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "", + blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : "" + ].join("\n"); + const signature = sharedKeyCredential.computeHMACSHA256(stringToSign); + return { + sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, void 0, void 0, void 0, blobSASSignatureValues.encryptionScope), + stringToSign + }; + } + function generateBlobSASQueryParametersUDK20181109(blobSASSignatureValues, userDelegationKeyCredential) { + blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues); + if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) { + throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS."); + } + let resource = "c"; + let timestamp2 = blobSASSignatureValues.snapshotTime; + if (blobSASSignatureValues.blobName) { + resource = "b"; + if (blobSASSignatureValues.snapshotTime) { + resource = "bs"; + } else if (blobSASSignatureValues.versionId) { + resource = "bv"; + timestamp2 = blobSASSignatureValues.versionId; + } + } + let verifiedPermissions; + if (blobSASSignatureValues.permissions) { + if (blobSASSignatureValues.blobName) { + verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); + } else { + verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); + } + } + const stringToSign = [ + verifiedPermissions ? verifiedPermissions : "", + blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "", + blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "", + getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName), + userDelegationKeyCredential.userDelegationKey.signedObjectId, + userDelegationKeyCredential.userDelegationKey.signedTenantId, + userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "", + userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "", + userDelegationKeyCredential.userDelegationKey.signedService, + userDelegationKeyCredential.userDelegationKey.signedVersion, + blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "", + blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "", + blobSASSignatureValues.version, + resource, + timestamp2, + blobSASSignatureValues.cacheControl, + blobSASSignatureValues.contentDisposition, + blobSASSignatureValues.contentEncoding, + blobSASSignatureValues.contentLanguage, + blobSASSignatureValues.contentType + ].join("\n"); + const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign); + return { + sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey), + stringToSign + }; + } + function generateBlobSASQueryParametersUDK20200210(blobSASSignatureValues, userDelegationKeyCredential) { + blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues); + if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) { + throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS."); + } + let resource = "c"; + let timestamp2 = blobSASSignatureValues.snapshotTime; + if (blobSASSignatureValues.blobName) { + resource = "b"; + if (blobSASSignatureValues.snapshotTime) { + resource = "bs"; + } else if (blobSASSignatureValues.versionId) { + resource = "bv"; + timestamp2 = blobSASSignatureValues.versionId; + } + } + let verifiedPermissions; + if (blobSASSignatureValues.permissions) { + if (blobSASSignatureValues.blobName) { + verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); + } else { + verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); + } + } + const stringToSign = [ + verifiedPermissions ? verifiedPermissions : "", + blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "", + blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "", + getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName), + userDelegationKeyCredential.userDelegationKey.signedObjectId, + userDelegationKeyCredential.userDelegationKey.signedTenantId, + userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "", + userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "", + userDelegationKeyCredential.userDelegationKey.signedService, + userDelegationKeyCredential.userDelegationKey.signedVersion, + blobSASSignatureValues.preauthorizedAgentObjectId, + void 0, + // agentObjectId + blobSASSignatureValues.correlationId, + blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "", + blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "", + blobSASSignatureValues.version, + resource, + timestamp2, + blobSASSignatureValues.cacheControl, + blobSASSignatureValues.contentDisposition, + blobSASSignatureValues.contentEncoding, + blobSASSignatureValues.contentLanguage, + blobSASSignatureValues.contentType + ].join("\n"); + const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign); + return { + sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId), + stringToSign + }; + } + function generateBlobSASQueryParametersUDK20201206(blobSASSignatureValues, userDelegationKeyCredential) { + blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues); + if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) { + throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS."); + } + let resource = "c"; + let timestamp2 = blobSASSignatureValues.snapshotTime; + if (blobSASSignatureValues.blobName) { + resource = "b"; + if (blobSASSignatureValues.snapshotTime) { + resource = "bs"; + } else if (blobSASSignatureValues.versionId) { + resource = "bv"; + timestamp2 = blobSASSignatureValues.versionId; + } + } + let verifiedPermissions; + if (blobSASSignatureValues.permissions) { + if (blobSASSignatureValues.blobName) { + verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); + } else { + verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); + } + } + const stringToSign = [ + verifiedPermissions ? verifiedPermissions : "", + blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "", + blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "", + getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName), + userDelegationKeyCredential.userDelegationKey.signedObjectId, + userDelegationKeyCredential.userDelegationKey.signedTenantId, + userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "", + userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "", + userDelegationKeyCredential.userDelegationKey.signedService, + userDelegationKeyCredential.userDelegationKey.signedVersion, + blobSASSignatureValues.preauthorizedAgentObjectId, + void 0, + // agentObjectId + blobSASSignatureValues.correlationId, + blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "", + blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "", + blobSASSignatureValues.version, + resource, + timestamp2, + blobSASSignatureValues.encryptionScope, + blobSASSignatureValues.cacheControl, + blobSASSignatureValues.contentDisposition, + blobSASSignatureValues.contentEncoding, + blobSASSignatureValues.contentLanguage, + blobSASSignatureValues.contentType + ].join("\n"); + const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign); + return { + sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId, blobSASSignatureValues.encryptionScope), + stringToSign + }; + } + function generateBlobSASQueryParametersUDK20250705(blobSASSignatureValues, userDelegationKeyCredential) { + blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues); + if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) { + throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS."); + } + let resource = "c"; + let timestamp2 = blobSASSignatureValues.snapshotTime; + if (blobSASSignatureValues.blobName) { + resource = "b"; + if (blobSASSignatureValues.snapshotTime) { + resource = "bs"; + } else if (blobSASSignatureValues.versionId) { + resource = "bv"; + timestamp2 = blobSASSignatureValues.versionId; + } + } + let verifiedPermissions; + if (blobSASSignatureValues.permissions) { + if (blobSASSignatureValues.blobName) { + verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); + } else { + verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); + } + } + const stringToSign = [ + verifiedPermissions ? verifiedPermissions : "", + blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "", + blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "", + getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName), + userDelegationKeyCredential.userDelegationKey.signedObjectId, + userDelegationKeyCredential.userDelegationKey.signedTenantId, + userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "", + userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "", + userDelegationKeyCredential.userDelegationKey.signedService, + userDelegationKeyCredential.userDelegationKey.signedVersion, + blobSASSignatureValues.preauthorizedAgentObjectId, + void 0, + // agentObjectId + blobSASSignatureValues.correlationId, + void 0, + // SignedKeyDelegatedUserTenantId, will be added in a future release. + void 0, + // SignedDelegatedUserObjectId, will be added in future release. + blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "", + blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "", + blobSASSignatureValues.version, + resource, + timestamp2, + blobSASSignatureValues.encryptionScope, + blobSASSignatureValues.cacheControl, + blobSASSignatureValues.contentDisposition, + blobSASSignatureValues.contentEncoding, + blobSASSignatureValues.contentLanguage, + blobSASSignatureValues.contentType + ].join("\n"); + const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign); + return { + sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId, blobSASSignatureValues.encryptionScope), + stringToSign + }; + } + function getCanonicalName(accountName, containerName, blobName) { + const elements = [`/blob/${accountName}/${containerName}`]; + if (blobName) { + elements.push(`/${blobName}`); + } + return elements.join(""); + } + function SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues) { + const version = blobSASSignatureValues.version ? blobSASSignatureValues.version : constants_js_1.SERVICE_VERSION; + if (blobSASSignatureValues.snapshotTime && version < "2018-11-09") { + throw RangeError("'version' must be >= '2018-11-09' when providing 'snapshotTime'."); + } + if (blobSASSignatureValues.blobName === void 0 && blobSASSignatureValues.snapshotTime) { + throw RangeError("Must provide 'blobName' when providing 'snapshotTime'."); + } + if (blobSASSignatureValues.versionId && version < "2019-10-10") { + throw RangeError("'version' must be >= '2019-10-10' when providing 'versionId'."); + } + if (blobSASSignatureValues.blobName === void 0 && blobSASSignatureValues.versionId) { + throw RangeError("Must provide 'blobName' when providing 'versionId'."); + } + if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.setImmutabilityPolicy && version < "2020-08-04") { + throw RangeError("'version' must be >= '2020-08-04' when provided 'i' permission."); + } + if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.deleteVersion && version < "2019-10-10") { + throw RangeError("'version' must be >= '2019-10-10' when providing 'x' permission."); + } + if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.permanentDelete && version < "2019-10-10") { + throw RangeError("'version' must be >= '2019-10-10' when providing 'y' permission."); + } + if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.tag && version < "2019-12-12") { + throw RangeError("'version' must be >= '2019-12-12' when providing 't' permission."); + } + if (version < "2020-02-10" && blobSASSignatureValues.permissions && (blobSASSignatureValues.permissions.move || blobSASSignatureValues.permissions.execute)) { + throw RangeError("'version' must be >= '2020-02-10' when providing the 'm' or 'e' permission."); + } + if (version < "2021-04-10" && blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.filterByTags) { + throw RangeError("'version' must be >= '2021-04-10' when providing the 'f' permission."); + } + if (version < "2020-02-10" && (blobSASSignatureValues.preauthorizedAgentObjectId || blobSASSignatureValues.correlationId)) { + throw RangeError("'version' must be >= '2020-02-10' when providing 'preauthorizedAgentObjectId' or 'correlationId'."); + } + if (blobSASSignatureValues.encryptionScope && version < "2020-12-06") { + throw RangeError("'version' must be >= '2020-12-06' when provided 'encryptionScope' in SAS."); + } + blobSASSignatureValues.version = version; + return blobSASSignatureValues; + } + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/BlobLeaseClient.js +var require_BlobLeaseClient = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/BlobLeaseClient.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.BlobLeaseClient = void 0; + var core_util_1 = require_commonjs4(); + var constants_js_1 = require_constants15(); + var tracing_js_1 = require_tracing(); + var utils_common_js_1 = require_utils_common(); + var BlobLeaseClient = class { + _leaseId; + _url; + _containerOrBlobOperation; + _isContainer; + /** + * Gets the lease Id. + * + * @readonly + */ + get leaseId() { + return this._leaseId; + } + /** + * Gets the url. + * + * @readonly + */ + get url() { + return this._url; + } + /** + * Creates an instance of BlobLeaseClient. + * @param client - The client to make the lease operation requests. + * @param leaseId - Initial proposed lease id. + */ + constructor(client, leaseId) { + const clientContext = client.storageClientContext; + this._url = client.url; + if (client.name === void 0) { + this._isContainer = true; + this._containerOrBlobOperation = clientContext.container; + } else { + this._isContainer = false; + this._containerOrBlobOperation = clientContext.blob; + } + if (!leaseId) { + leaseId = (0, core_util_1.randomUUID)(); + } + this._leaseId = leaseId; + } + /** + * Establishes and manages a lock on a container for delete operations, or on a blob + * for write and delete operations. + * The lock duration can be 15 to 60 seconds, or can be infinite. + * @see https://learn.microsoft.com/rest/api/storageservices/lease-container + * and + * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob + * + * @param duration - Must be between 15 to 60 seconds, or infinite (-1) + * @param options - option to configure lease management operations. + * @returns Response data for acquire lease operation. + */ + async acquireLease(duration, options = {}) { + if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) { + throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable."); + } + return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-acquireLease", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.acquireLease({ + abortSignal: options.abortSignal, + duration, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + proposedLeaseId: this._leaseId, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * To change the ID of the lease. + * @see https://learn.microsoft.com/rest/api/storageservices/lease-container + * and + * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob + * + * @param proposedLeaseId - the proposed new lease Id. + * @param options - option to configure lease management operations. + * @returns Response data for change lease operation. + */ + async changeLease(proposedLeaseId, options = {}) { + if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) { + throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable."); + } + return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-changeLease", options, async (updatedOptions) => { + const response = (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.changeLease(this._leaseId, proposedLeaseId, { + abortSignal: options.abortSignal, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + tracingOptions: updatedOptions.tracingOptions + })); + this._leaseId = proposedLeaseId; + return response; + }); + } + /** + * To free the lease if it is no longer needed so that another client may + * immediately acquire a lease against the container or the blob. + * @see https://learn.microsoft.com/rest/api/storageservices/lease-container + * and + * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob + * + * @param options - option to configure lease management operations. + * @returns Response data for release lease operation. + */ + async releaseLease(options = {}) { + if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) { + throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable."); + } + return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-releaseLease", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.releaseLease(this._leaseId, { + abortSignal: options.abortSignal, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * To renew the lease. + * @see https://learn.microsoft.com/rest/api/storageservices/lease-container + * and + * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob + * + * @param options - Optional option to configure lease management operations. + * @returns Response data for renew lease operation. + */ + async renewLease(options = {}) { + if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) { + throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable."); + } + return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-renewLease", options, async (updatedOptions) => { + return this._containerOrBlobOperation.renewLease(this._leaseId, { + abortSignal: options.abortSignal, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + tracingOptions: updatedOptions.tracingOptions + }); + }); + } + /** + * To end the lease but ensure that another client cannot acquire a new lease + * until the current lease period has expired. + * @see https://learn.microsoft.com/rest/api/storageservices/lease-container + * and + * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob + * + * @param breakPeriod - Break period + * @param options - Optional options to configure lease management operations. + * @returns Response data for break lease operation. + */ + async breakLease(breakPeriod, options = {}) { + if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) { + throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable."); + } + return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-breakLease", options, async (updatedOptions) => { + const operationOptions = { + abortSignal: options.abortSignal, + breakPeriod, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + tracingOptions: updatedOptions.tracingOptions + }; + return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.breakLease(operationOptions)); + }); + } + }; + exports2.BlobLeaseClient = BlobLeaseClient; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/utils/RetriableReadableStream.js +var require_RetriableReadableStream = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/utils/RetriableReadableStream.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.RetriableReadableStream = void 0; + var abort_controller_1 = require_commonjs11(); + var node_stream_1 = require("node:stream"); + var RetriableReadableStream = class extends node_stream_1.Readable { + start; + offset; + end; + getter; + source; + retries = 0; + maxRetryRequests; + onProgress; + options; + /** + * Creates an instance of RetriableReadableStream. + * + * @param source - The current ReadableStream returned from getter + * @param getter - A method calling downloading request returning + * a new ReadableStream from specified offset + * @param offset - Offset position in original data source to read + * @param count - How much data in original data source to read + * @param options - + */ + constructor(source, getter, offset, count, options = {}) { + super({ highWaterMark: options.highWaterMark }); + this.getter = getter; + this.source = source; + this.start = offset; + this.offset = offset; + this.end = offset + count - 1; + this.maxRetryRequests = options.maxRetryRequests && options.maxRetryRequests >= 0 ? options.maxRetryRequests : 0; + this.onProgress = options.onProgress; + this.options = options; + this.setSourceEventHandlers(); + } + _read() { + this.source.resume(); + } + setSourceEventHandlers() { + this.source.on("data", this.sourceDataHandler); + this.source.on("end", this.sourceErrorOrEndHandler); + this.source.on("error", this.sourceErrorOrEndHandler); + this.source.on("aborted", this.sourceAbortedHandler); + } + removeSourceEventHandlers() { + this.source.removeListener("data", this.sourceDataHandler); + this.source.removeListener("end", this.sourceErrorOrEndHandler); + this.source.removeListener("error", this.sourceErrorOrEndHandler); + this.source.removeListener("aborted", this.sourceAbortedHandler); + } + sourceDataHandler = (data) => { + if (this.options.doInjectErrorOnce) { + this.options.doInjectErrorOnce = void 0; + this.source.pause(); + this.sourceErrorOrEndHandler(); + this.source.destroy(); + return; + } + this.offset += data.length; + if (this.onProgress) { + this.onProgress({ loadedBytes: this.offset - this.start }); + } + if (!this.push(data)) { + this.source.pause(); + } + }; + sourceAbortedHandler = () => { + const abortError = new abort_controller_1.AbortError("The operation was aborted."); + this.destroy(abortError); + }; + sourceErrorOrEndHandler = (err) => { + if (err && err.name === "AbortError") { + this.destroy(err); + return; + } + this.removeSourceEventHandlers(); + if (this.offset - 1 === this.end) { + this.push(null); + } else if (this.offset <= this.end) { + if (this.retries < this.maxRetryRequests) { + this.retries += 1; + this.getter(this.offset).then((newSource) => { + this.source = newSource; + this.setSourceEventHandlers(); + return; + }).catch((error3) => { + this.destroy(error3); + }); + } else { + this.destroy(new Error(`Data corruption failure: received less data than required and reached maxRetires limitation. Received data offset: ${this.offset - 1}, data needed offset: ${this.end}, retries: ${this.retries}, max retries: ${this.maxRetryRequests}`)); + } + } else { + this.destroy(new Error(`Data corruption failure: Received more data than original request, data needed offset is ${this.end}, received offset: ${this.offset - 1}`)); + } + }; + _destroy(error3, callback) { + this.removeSourceEventHandlers(); + this.source.destroy(); + callback(error3 === null ? void 0 : error3); + } + }; + exports2.RetriableReadableStream = RetriableReadableStream; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/BlobDownloadResponse.js +var require_BlobDownloadResponse = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/BlobDownloadResponse.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.BlobDownloadResponse = void 0; + var core_util_1 = require_commonjs4(); + var RetriableReadableStream_js_1 = require_RetriableReadableStream(); + var BlobDownloadResponse = class { + /** + * Indicates that the service supports + * requests for partial file content. + * + * @readonly + */ + get acceptRanges() { + return this.originalResponse.acceptRanges; + } + /** + * Returns if it was previously specified + * for the file. + * + * @readonly + */ + get cacheControl() { + return this.originalResponse.cacheControl; + } + /** + * Returns the value that was specified + * for the 'x-ms-content-disposition' header and specifies how to process the + * response. + * + * @readonly + */ + get contentDisposition() { + return this.originalResponse.contentDisposition; + } + /** + * Returns the value that was specified + * for the Content-Encoding request header. + * + * @readonly + */ + get contentEncoding() { + return this.originalResponse.contentEncoding; + } + /** + * Returns the value that was specified + * for the Content-Language request header. + * + * @readonly + */ + get contentLanguage() { + return this.originalResponse.contentLanguage; + } + /** + * The current sequence number for a + * page blob. This header is not returned for block blobs or append blobs. + * + * @readonly + */ + get blobSequenceNumber() { + return this.originalResponse.blobSequenceNumber; + } + /** + * The blob's type. Possible values include: + * 'BlockBlob', 'PageBlob', 'AppendBlob'. + * + * @readonly + */ + get blobType() { + return this.originalResponse.blobType; + } + /** + * The number of bytes present in the + * response body. + * + * @readonly + */ + get contentLength() { + return this.originalResponse.contentLength; + } + /** + * If the file has an MD5 hash and the + * request is to read the full file, this response header is returned so that + * the client can check for message content integrity. If the request is to + * read a specified range and the 'x-ms-range-get-content-md5' is set to + * true, then the request returns an MD5 hash for the range, as long as the + * range size is less than or equal to 4 MB. If neither of these sets of + * conditions is true, then no value is returned for the 'Content-MD5' + * header. + * + * @readonly + */ + get contentMD5() { + return this.originalResponse.contentMD5; + } + /** + * Indicates the range of bytes returned if + * the client requested a subset of the file by setting the Range request + * header. + * + * @readonly + */ + get contentRange() { + return this.originalResponse.contentRange; + } + /** + * The content type specified for the file. + * The default content type is 'application/octet-stream' + * + * @readonly + */ + get contentType() { + return this.originalResponse.contentType; + } + /** + * Conclusion time of the last attempted + * Copy File operation where this file was the destination file. This value + * can specify the time of a completed, aborted, or failed copy attempt. + * + * @readonly + */ + get copyCompletedOn() { + return this.originalResponse.copyCompletedOn; + } + /** + * String identifier for the last attempted Copy + * File operation where this file was the destination file. + * + * @readonly + */ + get copyId() { + return this.originalResponse.copyId; + } + /** + * Contains the number of bytes copied and + * the total bytes in the source in the last attempted Copy File operation + * where this file was the destination file. Can show between 0 and + * Content-Length bytes copied. + * + * @readonly + */ + get copyProgress() { + return this.originalResponse.copyProgress; + } + /** + * URL up to 2KB in length that specifies the + * source file used in the last attempted Copy File operation where this file + * was the destination file. + * + * @readonly + */ + get copySource() { + return this.originalResponse.copySource; + } + /** + * State of the copy operation + * identified by 'x-ms-copy-id'. Possible values include: 'pending', + * 'success', 'aborted', 'failed' + * + * @readonly + */ + get copyStatus() { + return this.originalResponse.copyStatus; + } + /** + * Only appears when + * x-ms-copy-status is failed or pending. Describes cause of fatal or + * non-fatal copy operation failure. + * + * @readonly + */ + get copyStatusDescription() { + return this.originalResponse.copyStatusDescription; + } + /** + * When a blob is leased, + * specifies whether the lease is of infinite or fixed duration. Possible + * values include: 'infinite', 'fixed'. + * + * @readonly + */ + get leaseDuration() { + return this.originalResponse.leaseDuration; + } + /** + * Lease state of the blob. Possible + * values include: 'available', 'leased', 'expired', 'breaking', 'broken'. + * + * @readonly + */ + get leaseState() { + return this.originalResponse.leaseState; + } + /** + * The current lease status of the + * blob. Possible values include: 'locked', 'unlocked'. + * + * @readonly + */ + get leaseStatus() { + return this.originalResponse.leaseStatus; + } + /** + * A UTC date/time value generated by the service that + * indicates the time at which the response was initiated. + * + * @readonly + */ + get date() { + return this.originalResponse.date; + } + /** + * The number of committed blocks + * present in the blob. This header is returned only for append blobs. + * + * @readonly + */ + get blobCommittedBlockCount() { + return this.originalResponse.blobCommittedBlockCount; + } + /** + * The ETag contains a value that you can use to + * perform operations conditionally, in quotes. + * + * @readonly + */ + get etag() { + return this.originalResponse.etag; + } + /** + * The number of tags associated with the blob + * + * @readonly + */ + get tagCount() { + return this.originalResponse.tagCount; + } + /** + * The error code. + * + * @readonly + */ + get errorCode() { + return this.originalResponse.errorCode; + } + /** + * The value of this header is set to + * true if the file data and application metadata are completely encrypted + * using the specified algorithm. Otherwise, the value is set to false (when + * the file is unencrypted, or if only parts of the file/application metadata + * are encrypted). + * + * @readonly + */ + get isServerEncrypted() { + return this.originalResponse.isServerEncrypted; + } + /** + * If the blob has a MD5 hash, and if + * request contains range header (Range or x-ms-range), this response header + * is returned with the value of the whole blob's MD5 value. This value may + * or may not be equal to the value returned in Content-MD5 header, with the + * latter calculated from the requested range. + * + * @readonly + */ + get blobContentMD5() { + return this.originalResponse.blobContentMD5; + } + /** + * Returns the date and time the file was last + * modified. Any operation that modifies the file or its properties updates + * the last modified time. + * + * @readonly + */ + get lastModified() { + return this.originalResponse.lastModified; + } + /** + * Returns the UTC date and time generated by the service that indicates the time at which the blob was + * last read or written to. + * + * @readonly + */ + get lastAccessed() { + return this.originalResponse.lastAccessed; + } + /** + * Returns the date and time the blob was created. + * + * @readonly + */ + get createdOn() { + return this.originalResponse.createdOn; + } + /** + * A name-value pair + * to associate with a file storage object. + * + * @readonly + */ + get metadata() { + return this.originalResponse.metadata; + } + /** + * This header uniquely identifies the request + * that was made and can be used for troubleshooting the request. + * + * @readonly + */ + get requestId() { + return this.originalResponse.requestId; + } + /** + * If a client request id header is sent in the request, this header will be present in the + * response with the same value. + * + * @readonly + */ + get clientRequestId() { + return this.originalResponse.clientRequestId; + } + /** + * Indicates the version of the Blob service used + * to execute the request. + * + * @readonly + */ + get version() { + return this.originalResponse.version; + } + /** + * Indicates the versionId of the downloaded blob version. + * + * @readonly + */ + get versionId() { + return this.originalResponse.versionId; + } + /** + * Indicates whether version of this blob is a current version. + * + * @readonly + */ + get isCurrentVersion() { + return this.originalResponse.isCurrentVersion; + } + /** + * The SHA-256 hash of the encryption key used to encrypt the blob. This value is only returned + * when the blob was encrypted with a customer-provided key. + * + * @readonly + */ + get encryptionKeySha256() { + return this.originalResponse.encryptionKeySha256; + } + /** + * If the request is to read a specified range and the x-ms-range-get-content-crc64 is set to + * true, then the request returns a crc64 for the range, as long as the range size is less than + * or equal to 4 MB. If both x-ms-range-get-content-crc64 & x-ms-range-get-content-md5 is + * specified in the same request, it will fail with 400(Bad Request) + */ + get contentCrc64() { + return this.originalResponse.contentCrc64; + } + /** + * Object Replication Policy Id of the destination blob. + * + * @readonly + */ + get objectReplicationDestinationPolicyId() { + return this.originalResponse.objectReplicationDestinationPolicyId; + } + /** + * Parsed Object Replication Policy Id, Rule Id(s) and status of the source blob. + * + * @readonly + */ + get objectReplicationSourceProperties() { + return this.originalResponse.objectReplicationSourceProperties; + } + /** + * If this blob has been sealed. + * + * @readonly + */ + get isSealed() { + return this.originalResponse.isSealed; + } + /** + * UTC date/time value generated by the service that indicates the time at which the blob immutability policy will expire. + * + * @readonly + */ + get immutabilityPolicyExpiresOn() { + return this.originalResponse.immutabilityPolicyExpiresOn; + } + /** + * Indicates immutability policy mode. + * + * @readonly + */ + get immutabilityPolicyMode() { + return this.originalResponse.immutabilityPolicyMode; + } + /** + * Indicates if a legal hold is present on the blob. + * + * @readonly + */ + get legalHold() { + return this.originalResponse.legalHold; + } + /** + * The response body as a browser Blob. + * Always undefined in node.js. + * + * @readonly + */ + get contentAsBlob() { + return this.originalResponse.blobBody; + } + /** + * The response body as a node.js Readable stream. + * Always undefined in the browser. + * + * It will automatically retry when internal read stream unexpected ends. + * + * @readonly + */ + get readableStreamBody() { + return core_util_1.isNodeLike ? this.blobDownloadStream : void 0; + } + /** + * The HTTP response. + */ + get _response() { + return this.originalResponse._response; + } + originalResponse; + blobDownloadStream; + /** + * Creates an instance of BlobDownloadResponse. + * + * @param originalResponse - + * @param getter - + * @param offset - + * @param count - + * @param options - + */ + constructor(originalResponse, getter, offset, count, options = {}) { + this.originalResponse = originalResponse; + this.blobDownloadStream = new RetriableReadableStream_js_1.RetriableReadableStream(this.originalResponse.readableStreamBody, getter, offset, count, options); + } + }; + exports2.BlobDownloadResponse = BlobDownloadResponse; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroConstants.js +var require_AvroConstants = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroConstants.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.AVRO_SCHEMA_KEY = exports2.AVRO_CODEC_KEY = exports2.AVRO_INIT_BYTES = exports2.AVRO_SYNC_MARKER_SIZE = void 0; + exports2.AVRO_SYNC_MARKER_SIZE = 16; + exports2.AVRO_INIT_BYTES = new Uint8Array([79, 98, 106, 1]); + exports2.AVRO_CODEC_KEY = "avro.codec"; + exports2.AVRO_SCHEMA_KEY = "avro.schema"; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroParser.js +var require_AvroParser = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroParser.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.AvroType = exports2.AvroParser = void 0; + var AvroParser = class _AvroParser { + /** + * Reads a fixed number of bytes from the stream. + * + * @param stream - + * @param length - + * @param options - + */ + static async readFixedBytes(stream, length, options = {}) { + const bytes = await stream.read(length, { abortSignal: options.abortSignal }); + if (bytes.length !== length) { + throw new Error("Hit stream end."); + } + return bytes; + } + /** + * Reads a single byte from the stream. + * + * @param stream - + * @param options - + */ + static async readByte(stream, options = {}) { + const buf = await _AvroParser.readFixedBytes(stream, 1, options); + return buf[0]; + } + // int and long are stored in variable-length zig-zag coding. + // variable-length: https://lucene.apache.org/core/3_5_0/fileformats.html#VInt + // zig-zag: https://developers.google.com/protocol-buffers/docs/encoding?csw=1#types + static async readZigZagLong(stream, options = {}) { + let zigZagEncoded = 0; + let significanceInBit = 0; + let byte, haveMoreByte, significanceInFloat; + do { + byte = await _AvroParser.readByte(stream, options); + haveMoreByte = byte & 128; + zigZagEncoded |= (byte & 127) << significanceInBit; + significanceInBit += 7; + } while (haveMoreByte && significanceInBit < 28); + if (haveMoreByte) { + zigZagEncoded = zigZagEncoded; + significanceInFloat = 268435456; + do { + byte = await _AvroParser.readByte(stream, options); + zigZagEncoded += (byte & 127) * significanceInFloat; + significanceInFloat *= 128; + } while (byte & 128); + const res = (zigZagEncoded % 2 ? -(zigZagEncoded + 1) : zigZagEncoded) / 2; + if (res < Number.MIN_SAFE_INTEGER || res > Number.MAX_SAFE_INTEGER) { + throw new Error("Integer overflow."); + } + return res; + } + return zigZagEncoded >> 1 ^ -(zigZagEncoded & 1); + } + static async readLong(stream, options = {}) { + return _AvroParser.readZigZagLong(stream, options); + } + static async readInt(stream, options = {}) { + return _AvroParser.readZigZagLong(stream, options); + } + static async readNull() { + return null; + } + static async readBoolean(stream, options = {}) { + const b = await _AvroParser.readByte(stream, options); + if (b === 1) { + return true; + } else if (b === 0) { + return false; + } else { + throw new Error("Byte was not a boolean."); + } + } + static async readFloat(stream, options = {}) { + const u8arr = await _AvroParser.readFixedBytes(stream, 4, options); + const view = new DataView(u8arr.buffer, u8arr.byteOffset, u8arr.byteLength); + return view.getFloat32(0, true); + } + static async readDouble(stream, options = {}) { + const u8arr = await _AvroParser.readFixedBytes(stream, 8, options); + const view = new DataView(u8arr.buffer, u8arr.byteOffset, u8arr.byteLength); + return view.getFloat64(0, true); + } + static async readBytes(stream, options = {}) { + const size = await _AvroParser.readLong(stream, options); + if (size < 0) { + throw new Error("Bytes size was negative."); + } + return stream.read(size, { abortSignal: options.abortSignal }); + } + static async readString(stream, options = {}) { + const u8arr = await _AvroParser.readBytes(stream, options); + const utf8decoder = new TextDecoder(); + return utf8decoder.decode(u8arr); + } + static async readMapPair(stream, readItemMethod, options = {}) { + const key = await _AvroParser.readString(stream, options); + const value = await readItemMethod(stream, options); + return { key, value }; + } + static async readMap(stream, readItemMethod, options = {}) { + const readPairMethod = (s, opts = {}) => { + return _AvroParser.readMapPair(s, readItemMethod, opts); + }; + const pairs2 = await _AvroParser.readArray(stream, readPairMethod, options); + const dict = {}; + for (const pair of pairs2) { + dict[pair.key] = pair.value; + } + return dict; + } + static async readArray(stream, readItemMethod, options = {}) { + const items = []; + for (let count = await _AvroParser.readLong(stream, options); count !== 0; count = await _AvroParser.readLong(stream, options)) { + if (count < 0) { + await _AvroParser.readLong(stream, options); + count = -count; + } + while (count--) { + const item = await readItemMethod(stream, options); + items.push(item); + } + } + return items; + } + }; + exports2.AvroParser = AvroParser; + var AvroComplex; + (function(AvroComplex2) { + AvroComplex2["RECORD"] = "record"; + AvroComplex2["ENUM"] = "enum"; + AvroComplex2["ARRAY"] = "array"; + AvroComplex2["MAP"] = "map"; + AvroComplex2["UNION"] = "union"; + AvroComplex2["FIXED"] = "fixed"; + })(AvroComplex || (AvroComplex = {})); + var AvroPrimitive; + (function(AvroPrimitive2) { + AvroPrimitive2["NULL"] = "null"; + AvroPrimitive2["BOOLEAN"] = "boolean"; + AvroPrimitive2["INT"] = "int"; + AvroPrimitive2["LONG"] = "long"; + AvroPrimitive2["FLOAT"] = "float"; + AvroPrimitive2["DOUBLE"] = "double"; + AvroPrimitive2["BYTES"] = "bytes"; + AvroPrimitive2["STRING"] = "string"; + })(AvroPrimitive || (AvroPrimitive = {})); + var AvroType = class _AvroType { + /** + * Determines the AvroType from the Avro Schema. + */ + // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types + static fromSchema(schema2) { + if (typeof schema2 === "string") { + return _AvroType.fromStringSchema(schema2); + } else if (Array.isArray(schema2)) { + return _AvroType.fromArraySchema(schema2); + } else { + return _AvroType.fromObjectSchema(schema2); + } + } + static fromStringSchema(schema2) { + switch (schema2) { + case AvroPrimitive.NULL: + case AvroPrimitive.BOOLEAN: + case AvroPrimitive.INT: + case AvroPrimitive.LONG: + case AvroPrimitive.FLOAT: + case AvroPrimitive.DOUBLE: + case AvroPrimitive.BYTES: + case AvroPrimitive.STRING: + return new AvroPrimitiveType(schema2); + default: + throw new Error(`Unexpected Avro type ${schema2}`); + } + } + static fromArraySchema(schema2) { + return new AvroUnionType(schema2.map(_AvroType.fromSchema)); + } + static fromObjectSchema(schema2) { + const type2 = schema2.type; + try { + return _AvroType.fromStringSchema(type2); + } catch { + } + switch (type2) { + case AvroComplex.RECORD: + if (schema2.aliases) { + throw new Error(`aliases currently is not supported, schema: ${schema2}`); + } + if (!schema2.name) { + throw new Error(`Required attribute 'name' doesn't exist on schema: ${schema2}`); + } + const fields = {}; + if (!schema2.fields) { + throw new Error(`Required attribute 'fields' doesn't exist on schema: ${schema2}`); + } + for (const field of schema2.fields) { + fields[field.name] = _AvroType.fromSchema(field.type); + } + return new AvroRecordType(fields, schema2.name); + case AvroComplex.ENUM: + if (schema2.aliases) { + throw new Error(`aliases currently is not supported, schema: ${schema2}`); + } + if (!schema2.symbols) { + throw new Error(`Required attribute 'symbols' doesn't exist on schema: ${schema2}`); + } + return new AvroEnumType(schema2.symbols); + case AvroComplex.MAP: + if (!schema2.values) { + throw new Error(`Required attribute 'values' doesn't exist on schema: ${schema2}`); + } + return new AvroMapType(_AvroType.fromSchema(schema2.values)); + case AvroComplex.ARRAY: + // Unused today + case AvroComplex.FIXED: + // Unused today + default: + throw new Error(`Unexpected Avro type ${type2} in ${schema2}`); + } + } + }; + exports2.AvroType = AvroType; + var AvroPrimitiveType = class extends AvroType { + _primitive; + constructor(primitive) { + super(); + this._primitive = primitive; + } + // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types + read(stream, options = {}) { + switch (this._primitive) { + case AvroPrimitive.NULL: + return AvroParser.readNull(); + case AvroPrimitive.BOOLEAN: + return AvroParser.readBoolean(stream, options); + case AvroPrimitive.INT: + return AvroParser.readInt(stream, options); + case AvroPrimitive.LONG: + return AvroParser.readLong(stream, options); + case AvroPrimitive.FLOAT: + return AvroParser.readFloat(stream, options); + case AvroPrimitive.DOUBLE: + return AvroParser.readDouble(stream, options); + case AvroPrimitive.BYTES: + return AvroParser.readBytes(stream, options); + case AvroPrimitive.STRING: + return AvroParser.readString(stream, options); + default: + throw new Error("Unknown Avro Primitive"); + } + } + }; + var AvroEnumType = class extends AvroType { + _symbols; + constructor(symbols) { + super(); + this._symbols = symbols; + } + // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types + async read(stream, options = {}) { + const value = await AvroParser.readInt(stream, options); + return this._symbols[value]; + } + }; + var AvroUnionType = class extends AvroType { + _types; + constructor(types) { + super(); + this._types = types; + } + async read(stream, options = {}) { + const typeIndex = await AvroParser.readInt(stream, options); + return this._types[typeIndex].read(stream, options); + } + }; + var AvroMapType = class extends AvroType { + _itemType; + constructor(itemType) { + super(); + this._itemType = itemType; + } + // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types + read(stream, options = {}) { + const readItemMethod = (s, opts) => { + return this._itemType.read(s, opts); + }; + return AvroParser.readMap(stream, readItemMethod, options); + } + }; + var AvroRecordType = class extends AvroType { + _name; + _fields; + constructor(fields, name) { + super(); + this._fields = fields; + this._name = name; + } + // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types + async read(stream, options = {}) { + const record = {}; + record["$schema"] = this._name; + for (const key in this._fields) { + if (Object.prototype.hasOwnProperty.call(this._fields, key)) { + record[key] = await this._fields[key].read(stream, options); + } + } + return record; + } + }; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/utils/utils.common.js +var require_utils_common3 = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/utils/utils.common.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.arraysEqual = arraysEqual; + function arraysEqual(a, b) { + if (a === b) + return true; + if (a == null || b == null) + return false; + if (a.length !== b.length) + return false; + for (let i = 0; i < a.length; ++i) { + if (a[i] !== b[i]) + return false; + } + return true; + } + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReader.js +var require_AvroReader = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReader.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.AvroReader = void 0; + var AvroConstants_js_1 = require_AvroConstants(); + var AvroParser_js_1 = require_AvroParser(); + var utils_common_js_1 = require_utils_common3(); + var AvroReader = class { + _dataStream; + _headerStream; + _syncMarker; + _metadata; + _itemType; + _itemsRemainingInBlock; + // Remembers where we started if partial data stream was provided. + _initialBlockOffset; + /// The byte offset within the Avro file (both header and data) + /// of the start of the current block. + _blockOffset; + get blockOffset() { + return this._blockOffset; + } + _objectIndex; + get objectIndex() { + return this._objectIndex; + } + _initialized; + constructor(dataStream, headerStream, currentBlockOffset, indexWithinCurrentBlock) { + this._dataStream = dataStream; + this._headerStream = headerStream || dataStream; + this._initialized = false; + this._blockOffset = currentBlockOffset || 0; + this._objectIndex = indexWithinCurrentBlock || 0; + this._initialBlockOffset = currentBlockOffset || 0; + } + async initialize(options = {}) { + const header = await AvroParser_js_1.AvroParser.readFixedBytes(this._headerStream, AvroConstants_js_1.AVRO_INIT_BYTES.length, { + abortSignal: options.abortSignal + }); + if (!(0, utils_common_js_1.arraysEqual)(header, AvroConstants_js_1.AVRO_INIT_BYTES)) { + throw new Error("Stream is not an Avro file."); + } + this._metadata = await AvroParser_js_1.AvroParser.readMap(this._headerStream, AvroParser_js_1.AvroParser.readString, { + abortSignal: options.abortSignal + }); + const codec = this._metadata[AvroConstants_js_1.AVRO_CODEC_KEY]; + if (!(codec === void 0 || codec === null || codec === "null")) { + throw new Error("Codecs are not supported"); + } + this._syncMarker = await AvroParser_js_1.AvroParser.readFixedBytes(this._headerStream, AvroConstants_js_1.AVRO_SYNC_MARKER_SIZE, { + abortSignal: options.abortSignal + }); + const schema2 = JSON.parse(this._metadata[AvroConstants_js_1.AVRO_SCHEMA_KEY]); + this._itemType = AvroParser_js_1.AvroType.fromSchema(schema2); + if (this._blockOffset === 0) { + this._blockOffset = this._initialBlockOffset + this._dataStream.position; + } + this._itemsRemainingInBlock = await AvroParser_js_1.AvroParser.readLong(this._dataStream, { + abortSignal: options.abortSignal + }); + await AvroParser_js_1.AvroParser.readLong(this._dataStream, { abortSignal: options.abortSignal }); + this._initialized = true; + if (this._objectIndex && this._objectIndex > 0) { + for (let i = 0; i < this._objectIndex; i++) { + await this._itemType.read(this._dataStream, { abortSignal: options.abortSignal }); + this._itemsRemainingInBlock--; + } + } + } + hasNext() { + return !this._initialized || this._itemsRemainingInBlock > 0; + } + async *parseObjects(options = {}) { + if (!this._initialized) { + await this.initialize(options); + } + while (this.hasNext()) { + const result = await this._itemType.read(this._dataStream, { + abortSignal: options.abortSignal + }); + this._itemsRemainingInBlock--; + this._objectIndex++; + if (this._itemsRemainingInBlock === 0) { + const marker = await AvroParser_js_1.AvroParser.readFixedBytes(this._dataStream, AvroConstants_js_1.AVRO_SYNC_MARKER_SIZE, { + abortSignal: options.abortSignal + }); + this._blockOffset = this._initialBlockOffset + this._dataStream.position; + this._objectIndex = 0; + if (!(0, utils_common_js_1.arraysEqual)(this._syncMarker, marker)) { + throw new Error("Stream is not a valid Avro file."); + } + try { + this._itemsRemainingInBlock = await AvroParser_js_1.AvroParser.readLong(this._dataStream, { + abortSignal: options.abortSignal + }); + } catch { + this._itemsRemainingInBlock = 0; + } + if (this._itemsRemainingInBlock > 0) { + await AvroParser_js_1.AvroParser.readLong(this._dataStream, { abortSignal: options.abortSignal }); + } + } + yield result; + } + } + }; + exports2.AvroReader = AvroReader; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadable.js +var require_AvroReadable = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadable.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.AvroReadable = void 0; + var AvroReadable = class { + }; + exports2.AvroReadable = AvroReadable; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadableFromStream.js +var require_AvroReadableFromStream = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadableFromStream.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.AvroReadableFromStream = void 0; + var AvroReadable_js_1 = require_AvroReadable(); + var abort_controller_1 = require_commonjs11(); + var buffer_1 = require("buffer"); + var ABORT_ERROR = new abort_controller_1.AbortError("Reading from the avro stream was aborted."); + var AvroReadableFromStream = class extends AvroReadable_js_1.AvroReadable { + _position; + _readable; + toUint8Array(data) { + if (typeof data === "string") { + return buffer_1.Buffer.from(data); + } + return data; + } + constructor(readable) { + super(); + this._readable = readable; + this._position = 0; + } + get position() { + return this._position; + } + async read(size, options = {}) { + if (options.abortSignal?.aborted) { + throw ABORT_ERROR; + } + if (size < 0) { + throw new Error(`size parameter should be positive: ${size}`); + } + if (size === 0) { + return new Uint8Array(); + } + if (!this._readable.readable) { + throw new Error("Stream no longer readable."); + } + const chunk = this._readable.read(size); + if (chunk) { + this._position += chunk.length; + return this.toUint8Array(chunk); + } else { + return new Promise((resolve5, reject) => { + const cleanUp = () => { + this._readable.removeListener("readable", readableCallback); + this._readable.removeListener("error", rejectCallback); + this._readable.removeListener("end", rejectCallback); + this._readable.removeListener("close", rejectCallback); + if (options.abortSignal) { + options.abortSignal.removeEventListener("abort", abortHandler); + } + }; + const readableCallback = () => { + const callbackChunk = this._readable.read(size); + if (callbackChunk) { + this._position += callbackChunk.length; + cleanUp(); + resolve5(this.toUint8Array(callbackChunk)); + } + }; + const rejectCallback = () => { + cleanUp(); + reject(); + }; + const abortHandler = () => { + cleanUp(); + reject(ABORT_ERROR); + }; + this._readable.on("readable", readableCallback); + this._readable.once("error", rejectCallback); + this._readable.once("end", rejectCallback); + this._readable.once("close", rejectCallback); + if (options.abortSignal) { + options.abortSignal.addEventListener("abort", abortHandler); + } + }); + } + } + }; + exports2.AvroReadableFromStream = AvroReadableFromStream; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/index.js +var require_internal_avro = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/index.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.AvroReadableFromStream = exports2.AvroReadable = exports2.AvroReader = void 0; + var AvroReader_js_1 = require_AvroReader(); + Object.defineProperty(exports2, "AvroReader", { enumerable: true, get: function() { + return AvroReader_js_1.AvroReader; + } }); + var AvroReadable_js_1 = require_AvroReadable(); + Object.defineProperty(exports2, "AvroReadable", { enumerable: true, get: function() { + return AvroReadable_js_1.AvroReadable; + } }); + var AvroReadableFromStream_js_1 = require_AvroReadableFromStream(); + Object.defineProperty(exports2, "AvroReadableFromStream", { enumerable: true, get: function() { + return AvroReadableFromStream_js_1.AvroReadableFromStream; + } }); + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/utils/BlobQuickQueryStream.js +var require_BlobQuickQueryStream = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/utils/BlobQuickQueryStream.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.BlobQuickQueryStream = void 0; + var node_stream_1 = require("node:stream"); + var index_js_1 = require_internal_avro(); + var BlobQuickQueryStream = class extends node_stream_1.Readable { + source; + avroReader; + avroIter; + avroPaused = true; + onProgress; + onError; + /** + * Creates an instance of BlobQuickQueryStream. + * + * @param source - The current ReadableStream returned from getter + * @param options - + */ + constructor(source, options = {}) { + super(); + this.source = source; + this.onProgress = options.onProgress; + this.onError = options.onError; + this.avroReader = new index_js_1.AvroReader(new index_js_1.AvroReadableFromStream(this.source)); + this.avroIter = this.avroReader.parseObjects({ abortSignal: options.abortSignal }); + } + _read() { + if (this.avroPaused) { + this.readInternal().catch((err) => { + this.emit("error", err); + }); + } + } + async readInternal() { + this.avroPaused = false; + let avroNext; + do { + avroNext = await this.avroIter.next(); + if (avroNext.done) { + break; + } + const obj = avroNext.value; + const schema2 = obj.$schema; + if (typeof schema2 !== "string") { + throw Error("Missing schema in avro record."); + } + switch (schema2) { + case "com.microsoft.azure.storage.queryBlobContents.resultData": + { + const data = obj.data; + if (data instanceof Uint8Array === false) { + throw Error("Invalid data in avro result record."); + } + if (!this.push(Buffer.from(data))) { + this.avroPaused = true; + } + } + break; + case "com.microsoft.azure.storage.queryBlobContents.progress": + { + const bytesScanned = obj.bytesScanned; + if (typeof bytesScanned !== "number") { + throw Error("Invalid bytesScanned in avro progress record."); + } + if (this.onProgress) { + this.onProgress({ loadedBytes: bytesScanned }); + } + } + break; + case "com.microsoft.azure.storage.queryBlobContents.end": + if (this.onProgress) { + const totalBytes = obj.totalBytes; + if (typeof totalBytes !== "number") { + throw Error("Invalid totalBytes in avro end record."); + } + this.onProgress({ loadedBytes: totalBytes }); + } + this.push(null); + break; + case "com.microsoft.azure.storage.queryBlobContents.error": + if (this.onError) { + const fatal = obj.fatal; + if (typeof fatal !== "boolean") { + throw Error("Invalid fatal in avro error record."); + } + const name = obj.name; + if (typeof name !== "string") { + throw Error("Invalid name in avro error record."); + } + const description = obj.description; + if (typeof description !== "string") { + throw Error("Invalid description in avro error record."); + } + const position = obj.position; + if (typeof position !== "number") { + throw Error("Invalid position in avro error record."); + } + this.onError({ + position, + name, + isFatal: fatal, + description + }); + } + break; + default: + throw Error(`Unknown schema ${schema2} in avro progress record.`); + } + } while (!avroNext.done && !this.avroPaused); + } + }; + exports2.BlobQuickQueryStream = BlobQuickQueryStream; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/BlobQueryResponse.js +var require_BlobQueryResponse = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/BlobQueryResponse.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.BlobQueryResponse = void 0; + var core_util_1 = require_commonjs4(); + var BlobQuickQueryStream_js_1 = require_BlobQuickQueryStream(); + var BlobQueryResponse = class { + /** + * Indicates that the service supports + * requests for partial file content. + * + * @readonly + */ + get acceptRanges() { + return this.originalResponse.acceptRanges; + } + /** + * Returns if it was previously specified + * for the file. + * + * @readonly + */ + get cacheControl() { + return this.originalResponse.cacheControl; + } + /** + * Returns the value that was specified + * for the 'x-ms-content-disposition' header and specifies how to process the + * response. + * + * @readonly + */ + get contentDisposition() { + return this.originalResponse.contentDisposition; + } + /** + * Returns the value that was specified + * for the Content-Encoding request header. + * + * @readonly + */ + get contentEncoding() { + return this.originalResponse.contentEncoding; + } + /** + * Returns the value that was specified + * for the Content-Language request header. + * + * @readonly + */ + get contentLanguage() { + return this.originalResponse.contentLanguage; + } + /** + * The current sequence number for a + * page blob. This header is not returned for block blobs or append blobs. + * + * @readonly + */ + get blobSequenceNumber() { + return this.originalResponse.blobSequenceNumber; + } + /** + * The blob's type. Possible values include: + * 'BlockBlob', 'PageBlob', 'AppendBlob'. + * + * @readonly + */ + get blobType() { + return this.originalResponse.blobType; + } + /** + * The number of bytes present in the + * response body. + * + * @readonly + */ + get contentLength() { + return this.originalResponse.contentLength; + } + /** + * If the file has an MD5 hash and the + * request is to read the full file, this response header is returned so that + * the client can check for message content integrity. If the request is to + * read a specified range and the 'x-ms-range-get-content-md5' is set to + * true, then the request returns an MD5 hash for the range, as long as the + * range size is less than or equal to 4 MB. If neither of these sets of + * conditions is true, then no value is returned for the 'Content-MD5' + * header. + * + * @readonly + */ + get contentMD5() { + return this.originalResponse.contentMD5; + } + /** + * Indicates the range of bytes returned if + * the client requested a subset of the file by setting the Range request + * header. + * + * @readonly + */ + get contentRange() { + return this.originalResponse.contentRange; + } + /** + * The content type specified for the file. + * The default content type is 'application/octet-stream' + * + * @readonly + */ + get contentType() { + return this.originalResponse.contentType; + } + /** + * Conclusion time of the last attempted + * Copy File operation where this file was the destination file. This value + * can specify the time of a completed, aborted, or failed copy attempt. + * + * @readonly + */ + get copyCompletedOn() { + return void 0; + } + /** + * String identifier for the last attempted Copy + * File operation where this file was the destination file. + * + * @readonly + */ + get copyId() { + return this.originalResponse.copyId; + } + /** + * Contains the number of bytes copied and + * the total bytes in the source in the last attempted Copy File operation + * where this file was the destination file. Can show between 0 and + * Content-Length bytes copied. + * + * @readonly + */ + get copyProgress() { + return this.originalResponse.copyProgress; + } + /** + * URL up to 2KB in length that specifies the + * source file used in the last attempted Copy File operation where this file + * was the destination file. + * + * @readonly + */ + get copySource() { + return this.originalResponse.copySource; + } + /** + * State of the copy operation + * identified by 'x-ms-copy-id'. Possible values include: 'pending', + * 'success', 'aborted', 'failed' + * + * @readonly + */ + get copyStatus() { + return this.originalResponse.copyStatus; + } + /** + * Only appears when + * x-ms-copy-status is failed or pending. Describes cause of fatal or + * non-fatal copy operation failure. + * + * @readonly + */ + get copyStatusDescription() { + return this.originalResponse.copyStatusDescription; + } + /** + * When a blob is leased, + * specifies whether the lease is of infinite or fixed duration. Possible + * values include: 'infinite', 'fixed'. + * + * @readonly + */ + get leaseDuration() { + return this.originalResponse.leaseDuration; + } + /** + * Lease state of the blob. Possible + * values include: 'available', 'leased', 'expired', 'breaking', 'broken'. + * + * @readonly + */ + get leaseState() { + return this.originalResponse.leaseState; + } + /** + * The current lease status of the + * blob. Possible values include: 'locked', 'unlocked'. + * + * @readonly + */ + get leaseStatus() { + return this.originalResponse.leaseStatus; + } + /** + * A UTC date/time value generated by the service that + * indicates the time at which the response was initiated. + * + * @readonly + */ + get date() { + return this.originalResponse.date; + } + /** + * The number of committed blocks + * present in the blob. This header is returned only for append blobs. + * + * @readonly + */ + get blobCommittedBlockCount() { + return this.originalResponse.blobCommittedBlockCount; + } + /** + * The ETag contains a value that you can use to + * perform operations conditionally, in quotes. + * + * @readonly + */ + get etag() { + return this.originalResponse.etag; + } + /** + * The error code. + * + * @readonly + */ + get errorCode() { + return this.originalResponse.errorCode; + } + /** + * The value of this header is set to + * true if the file data and application metadata are completely encrypted + * using the specified algorithm. Otherwise, the value is set to false (when + * the file is unencrypted, or if only parts of the file/application metadata + * are encrypted). + * + * @readonly + */ + get isServerEncrypted() { + return this.originalResponse.isServerEncrypted; + } + /** + * If the blob has a MD5 hash, and if + * request contains range header (Range or x-ms-range), this response header + * is returned with the value of the whole blob's MD5 value. This value may + * or may not be equal to the value returned in Content-MD5 header, with the + * latter calculated from the requested range. + * + * @readonly + */ + get blobContentMD5() { + return this.originalResponse.blobContentMD5; + } + /** + * Returns the date and time the file was last + * modified. Any operation that modifies the file or its properties updates + * the last modified time. + * + * @readonly + */ + get lastModified() { + return this.originalResponse.lastModified; + } + /** + * A name-value pair + * to associate with a file storage object. + * + * @readonly + */ + get metadata() { + return this.originalResponse.metadata; + } + /** + * This header uniquely identifies the request + * that was made and can be used for troubleshooting the request. + * + * @readonly + */ + get requestId() { + return this.originalResponse.requestId; + } + /** + * If a client request id header is sent in the request, this header will be present in the + * response with the same value. + * + * @readonly + */ + get clientRequestId() { + return this.originalResponse.clientRequestId; + } + /** + * Indicates the version of the File service used + * to execute the request. + * + * @readonly + */ + get version() { + return this.originalResponse.version; + } + /** + * The SHA-256 hash of the encryption key used to encrypt the blob. This value is only returned + * when the blob was encrypted with a customer-provided key. + * + * @readonly + */ + get encryptionKeySha256() { + return this.originalResponse.encryptionKeySha256; + } + /** + * If the request is to read a specified range and the x-ms-range-get-content-crc64 is set to + * true, then the request returns a crc64 for the range, as long as the range size is less than + * or equal to 4 MB. If both x-ms-range-get-content-crc64 & x-ms-range-get-content-md5 is + * specified in the same request, it will fail with 400(Bad Request) + */ + get contentCrc64() { + return this.originalResponse.contentCrc64; + } + /** + * The response body as a browser Blob. + * Always undefined in node.js. + * + * @readonly + */ + get blobBody() { + return void 0; + } + /** + * The response body as a node.js Readable stream. + * Always undefined in the browser. + * + * It will parse avor data returned by blob query. + * + * @readonly + */ + get readableStreamBody() { + return core_util_1.isNodeLike ? this.blobDownloadStream : void 0; + } + /** + * The HTTP response. + */ + get _response() { + return this.originalResponse._response; + } + originalResponse; + blobDownloadStream; + /** + * Creates an instance of BlobQueryResponse. + * + * @param originalResponse - + * @param options - + */ + constructor(originalResponse, options = {}) { + this.originalResponse = originalResponse; + this.blobDownloadStream = new BlobQuickQueryStream_js_1.BlobQuickQueryStream(this.originalResponse.readableStreamBody, options); + } + }; + exports2.BlobQueryResponse = BlobQueryResponse; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/models.js +var require_models2 = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/models.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.StorageBlobAudience = exports2.PremiumPageBlobTier = exports2.BlockBlobTier = void 0; + exports2.toAccessTier = toAccessTier; + exports2.ensureCpkIfSpecified = ensureCpkIfSpecified; + exports2.getBlobServiceAccountAudience = getBlobServiceAccountAudience; + var constants_js_1 = require_constants15(); + var BlockBlobTier; + (function(BlockBlobTier2) { + BlockBlobTier2["Hot"] = "Hot"; + BlockBlobTier2["Cool"] = "Cool"; + BlockBlobTier2["Cold"] = "Cold"; + BlockBlobTier2["Archive"] = "Archive"; + })(BlockBlobTier || (exports2.BlockBlobTier = BlockBlobTier = {})); + var PremiumPageBlobTier; + (function(PremiumPageBlobTier2) { + PremiumPageBlobTier2["P4"] = "P4"; + PremiumPageBlobTier2["P6"] = "P6"; + PremiumPageBlobTier2["P10"] = "P10"; + PremiumPageBlobTier2["P15"] = "P15"; + PremiumPageBlobTier2["P20"] = "P20"; + PremiumPageBlobTier2["P30"] = "P30"; + PremiumPageBlobTier2["P40"] = "P40"; + PremiumPageBlobTier2["P50"] = "P50"; + PremiumPageBlobTier2["P60"] = "P60"; + PremiumPageBlobTier2["P70"] = "P70"; + PremiumPageBlobTier2["P80"] = "P80"; + })(PremiumPageBlobTier || (exports2.PremiumPageBlobTier = PremiumPageBlobTier = {})); + function toAccessTier(tier) { + if (tier === void 0) { + return void 0; + } + return tier; + } + function ensureCpkIfSpecified(cpk, isHttps) { + if (cpk && !isHttps) { + throw new RangeError("Customer-provided encryption key must be used over HTTPS."); + } + if (cpk && !cpk.encryptionAlgorithm) { + cpk.encryptionAlgorithm = constants_js_1.EncryptionAlgorithmAES25; + } + } + var StorageBlobAudience; + (function(StorageBlobAudience2) { + StorageBlobAudience2["StorageOAuthScopes"] = "https://storage.azure.com/.default"; + StorageBlobAudience2["DiskComputeOAuthScopes"] = "https://disk.compute.azure.com/.default"; + })(StorageBlobAudience || (exports2.StorageBlobAudience = StorageBlobAudience = {})); + function getBlobServiceAccountAudience(storageAccountName) { + return `https://${storageAccountName}.blob.core.windows.net/.default`; + } + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/PageBlobRangeResponse.js +var require_PageBlobRangeResponse = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/PageBlobRangeResponse.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.rangeResponseFromModel = rangeResponseFromModel; + function rangeResponseFromModel(response) { + const pageRange = (response._response.parsedBody.pageRange || []).map((x) => ({ + offset: x.start, + count: x.end - x.start + })); + const clearRange = (response._response.parsedBody.clearRange || []).map((x) => ({ + offset: x.start, + count: x.end - x.start + })); + return { + ...response, + pageRange, + clearRange, + _response: { + ...response._response, + parsedBody: { + pageRange, + clearRange + } + } + }; + } + } +}); + +// node_modules/@azure/core-lro/dist/commonjs/logger.js +var require_logger2 = __commonJS({ + "node_modules/@azure/core-lro/dist/commonjs/logger.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.logger = void 0; + var logger_1 = require_commonjs2(); + exports2.logger = (0, logger_1.createClientLogger)("core-lro"); + } +}); + +// node_modules/@azure/core-lro/dist/commonjs/poller/constants.js +var require_constants17 = __commonJS({ + "node_modules/@azure/core-lro/dist/commonjs/poller/constants.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.terminalStates = exports2.POLL_INTERVAL_IN_MS = void 0; + exports2.POLL_INTERVAL_IN_MS = 2e3; + exports2.terminalStates = ["succeeded", "canceled", "failed"]; + } +}); + +// node_modules/@azure/core-lro/dist/commonjs/poller/operation.js +var require_operation = __commonJS({ + "node_modules/@azure/core-lro/dist/commonjs/poller/operation.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.pollOperation = exports2.initOperation = exports2.deserializeState = void 0; + var logger_js_1 = require_logger2(); + var constants_js_1 = require_constants17(); + function deserializeState(serializedState) { + try { + return JSON.parse(serializedState).state; + } catch (e) { + throw new Error(`Unable to deserialize input state: ${serializedState}`); + } + } + exports2.deserializeState = deserializeState; + function setStateError(inputs) { + const { state, stateProxy, isOperationError } = inputs; + return (error3) => { + if (isOperationError(error3)) { + stateProxy.setError(state, error3); + stateProxy.setFailed(state); + } + throw error3; + }; + } + function appendReadableErrorMessage(currentMessage, innerMessage) { + let message = currentMessage; + if (message.slice(-1) !== ".") { + message = message + "."; + } + return message + " " + innerMessage; + } + function simplifyError(err) { + let message = err.message; + let code = err.code; + let curErr = err; + while (curErr.innererror) { + curErr = curErr.innererror; + code = curErr.code; + message = appendReadableErrorMessage(message, curErr.message); + } + return { + code, + message + }; + } + function processOperationStatus(result) { + const { state, stateProxy, status, isDone, processResult, getError, response, setErrorAsResult } = result; + switch (status) { + case "succeeded": { + stateProxy.setSucceeded(state); + break; + } + case "failed": { + const err = getError === null || getError === void 0 ? void 0 : getError(response); + let postfix = ""; + if (err) { + const { code, message } = simplifyError(err); + postfix = `. ${code}. ${message}`; + } + const errStr = `The long-running operation has failed${postfix}`; + stateProxy.setError(state, new Error(errStr)); + stateProxy.setFailed(state); + logger_js_1.logger.warning(errStr); + break; + } + case "canceled": { + stateProxy.setCanceled(state); + break; + } + } + if ((isDone === null || isDone === void 0 ? void 0 : isDone(response, state)) || isDone === void 0 && ["succeeded", "canceled"].concat(setErrorAsResult ? [] : ["failed"]).includes(status)) { + stateProxy.setResult(state, buildResult({ + response, + state, + processResult + })); + } + } + function buildResult(inputs) { + const { processResult, response, state } = inputs; + return processResult ? processResult(response, state) : response; + } + async function initOperation(inputs) { + const { init, stateProxy, processResult, getOperationStatus, withOperationLocation, setErrorAsResult } = inputs; + const { operationLocation, resourceLocation, metadata, response } = await init(); + if (operationLocation) + withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(operationLocation, false); + const config = { + metadata, + operationLocation, + resourceLocation + }; + logger_js_1.logger.verbose(`LRO: Operation description:`, config); + const state = stateProxy.initState(config); + const status = getOperationStatus({ response, state, operationLocation }); + processOperationStatus({ state, status, stateProxy, response, setErrorAsResult, processResult }); + return state; + } + exports2.initOperation = initOperation; + async function pollOperationHelper(inputs) { + const { poll, state, stateProxy, operationLocation, getOperationStatus, getResourceLocation, isOperationError, options } = inputs; + const response = await poll(operationLocation, options).catch(setStateError({ + state, + stateProxy, + isOperationError + })); + const status = getOperationStatus(response, state); + logger_js_1.logger.verbose(`LRO: Status: + Polling from: ${state.config.operationLocation} + Operation status: ${status} + Polling status: ${constants_js_1.terminalStates.includes(status) ? "Stopped" : "Running"}`); + if (status === "succeeded") { + const resourceLocation = getResourceLocation(response, state); + if (resourceLocation !== void 0) { + return { + response: await poll(resourceLocation).catch(setStateError({ state, stateProxy, isOperationError })), + status + }; + } + } + return { response, status }; + } + async function pollOperation(inputs) { + const { poll, state, stateProxy, options, getOperationStatus, getResourceLocation, getOperationLocation, isOperationError, withOperationLocation, getPollingInterval, processResult, getError, updateState, setDelay, isDone, setErrorAsResult } = inputs; + const { operationLocation } = state.config; + if (operationLocation !== void 0) { + const { response, status } = await pollOperationHelper({ + poll, + getOperationStatus, + state, + stateProxy, + operationLocation, + getResourceLocation, + isOperationError, + options + }); + processOperationStatus({ + status, + response, + state, + stateProxy, + isDone, + processResult, + getError, + setErrorAsResult + }); + if (!constants_js_1.terminalStates.includes(status)) { + const intervalInMs = getPollingInterval === null || getPollingInterval === void 0 ? void 0 : getPollingInterval(response); + if (intervalInMs) + setDelay(intervalInMs); + const location = getOperationLocation === null || getOperationLocation === void 0 ? void 0 : getOperationLocation(response, state); + if (location !== void 0) { + const isUpdated = operationLocation !== location; + state.config.operationLocation = location; + withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(location, isUpdated); + } else + withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(operationLocation, false); + } + updateState === null || updateState === void 0 ? void 0 : updateState(state, response); + } + } + exports2.pollOperation = pollOperation; + } +}); + +// node_modules/@azure/core-lro/dist/commonjs/http/operation.js +var require_operation2 = __commonJS({ + "node_modules/@azure/core-lro/dist/commonjs/http/operation.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.pollHttpOperation = exports2.isOperationError = exports2.getResourceLocation = exports2.getOperationStatus = exports2.getOperationLocation = exports2.initHttpOperation = exports2.getStatusFromInitialResponse = exports2.getErrorFromResponse = exports2.parseRetryAfter = exports2.inferLroMode = void 0; + var operation_js_1 = require_operation(); + var logger_js_1 = require_logger2(); + function getOperationLocationPollingUrl(inputs) { + const { azureAsyncOperation, operationLocation } = inputs; + return operationLocation !== null && operationLocation !== void 0 ? operationLocation : azureAsyncOperation; + } + function getLocationHeader(rawResponse) { + return rawResponse.headers["location"]; + } + function getOperationLocationHeader(rawResponse) { + return rawResponse.headers["operation-location"]; + } + function getAzureAsyncOperationHeader(rawResponse) { + return rawResponse.headers["azure-asyncoperation"]; + } + function findResourceLocation(inputs) { + var _a; + const { location, requestMethod, requestPath, resourceLocationConfig } = inputs; + switch (requestMethod) { + case "PUT": { + return requestPath; + } + case "DELETE": { + return void 0; + } + case "PATCH": { + return (_a = getDefault()) !== null && _a !== void 0 ? _a : requestPath; + } + default: { + return getDefault(); + } + } + function getDefault() { + switch (resourceLocationConfig) { + case "azure-async-operation": { + return void 0; + } + case "original-uri": { + return requestPath; + } + case "location": + default: { + return location; + } + } + } + } + function inferLroMode(inputs) { + const { rawResponse, requestMethod, requestPath, resourceLocationConfig } = inputs; + const operationLocation = getOperationLocationHeader(rawResponse); + const azureAsyncOperation = getAzureAsyncOperationHeader(rawResponse); + const pollingUrl = getOperationLocationPollingUrl({ operationLocation, azureAsyncOperation }); + const location = getLocationHeader(rawResponse); + const normalizedRequestMethod = requestMethod === null || requestMethod === void 0 ? void 0 : requestMethod.toLocaleUpperCase(); + if (pollingUrl !== void 0) { + return { + mode: "OperationLocation", + operationLocation: pollingUrl, + resourceLocation: findResourceLocation({ + requestMethod: normalizedRequestMethod, + location, + requestPath, + resourceLocationConfig + }) + }; + } else if (location !== void 0) { + return { + mode: "ResourceLocation", + operationLocation: location + }; + } else if (normalizedRequestMethod === "PUT" && requestPath) { + return { + mode: "Body", + operationLocation: requestPath + }; + } else { + return void 0; + } + } + exports2.inferLroMode = inferLroMode; + function transformStatus(inputs) { + const { status, statusCode } = inputs; + if (typeof status !== "string" && status !== void 0) { + throw new Error(`Polling was unsuccessful. Expected status to have a string value or no value but it has instead: ${status}. This doesn't necessarily indicate the operation has failed. Check your Azure subscription or resource status for more information.`); + } + switch (status === null || status === void 0 ? void 0 : status.toLocaleLowerCase()) { + case void 0: + return toOperationStatus(statusCode); + case "succeeded": + return "succeeded"; + case "failed": + return "failed"; + case "running": + case "accepted": + case "started": + case "canceling": + case "cancelling": + return "running"; + case "canceled": + case "cancelled": + return "canceled"; + default: { + logger_js_1.logger.verbose(`LRO: unrecognized operation status: ${status}`); + return status; + } + } + } + function getStatus(rawResponse) { + var _a; + const { status } = (_a = rawResponse.body) !== null && _a !== void 0 ? _a : {}; + return transformStatus({ status, statusCode: rawResponse.statusCode }); + } + function getProvisioningState(rawResponse) { + var _a, _b; + const { properties, provisioningState } = (_a = rawResponse.body) !== null && _a !== void 0 ? _a : {}; + const status = (_b = properties === null || properties === void 0 ? void 0 : properties.provisioningState) !== null && _b !== void 0 ? _b : provisioningState; + return transformStatus({ status, statusCode: rawResponse.statusCode }); + } + function toOperationStatus(statusCode) { + if (statusCode === 202) { + return "running"; + } else if (statusCode < 300) { + return "succeeded"; + } else { + return "failed"; + } + } + function parseRetryAfter({ rawResponse }) { + const retryAfter = rawResponse.headers["retry-after"]; + if (retryAfter !== void 0) { + const retryAfterInSeconds = parseInt(retryAfter); + return isNaN(retryAfterInSeconds) ? calculatePollingIntervalFromDate(new Date(retryAfter)) : retryAfterInSeconds * 1e3; + } + return void 0; + } + exports2.parseRetryAfter = parseRetryAfter; + function getErrorFromResponse(response) { + const error3 = accessBodyProperty(response, "error"); + if (!error3) { + logger_js_1.logger.warning(`The long-running operation failed but there is no error property in the response's body`); + return; + } + if (!error3.code || !error3.message) { + logger_js_1.logger.warning(`The long-running operation failed but the error property in the response's body doesn't contain code or message`); + return; + } + return error3; + } + exports2.getErrorFromResponse = getErrorFromResponse; + function calculatePollingIntervalFromDate(retryAfterDate) { + const timeNow = Math.floor((/* @__PURE__ */ new Date()).getTime()); + const retryAfterTime = retryAfterDate.getTime(); + if (timeNow < retryAfterTime) { + return retryAfterTime - timeNow; + } + return void 0; + } + function getStatusFromInitialResponse(inputs) { + const { response, state, operationLocation } = inputs; + function helper() { + var _a; + const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"]; + switch (mode) { + case void 0: + return toOperationStatus(response.rawResponse.statusCode); + case "Body": + return getOperationStatus(response, state); + default: + return "running"; + } + } + const status = helper(); + return status === "running" && operationLocation === void 0 ? "succeeded" : status; + } + exports2.getStatusFromInitialResponse = getStatusFromInitialResponse; + async function initHttpOperation(inputs) { + const { stateProxy, resourceLocationConfig, processResult, lro, setErrorAsResult } = inputs; + return (0, operation_js_1.initOperation)({ + init: async () => { + const response = await lro.sendInitialRequest(); + const config = inferLroMode({ + rawResponse: response.rawResponse, + requestPath: lro.requestPath, + requestMethod: lro.requestMethod, + resourceLocationConfig + }); + return Object.assign({ response, operationLocation: config === null || config === void 0 ? void 0 : config.operationLocation, resourceLocation: config === null || config === void 0 ? void 0 : config.resourceLocation }, (config === null || config === void 0 ? void 0 : config.mode) ? { metadata: { mode: config.mode } } : {}); + }, + stateProxy, + processResult: processResult ? ({ flatResponse }, state) => processResult(flatResponse, state) : ({ flatResponse }) => flatResponse, + getOperationStatus: getStatusFromInitialResponse, + setErrorAsResult + }); + } + exports2.initHttpOperation = initHttpOperation; + function getOperationLocation({ rawResponse }, state) { + var _a; + const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"]; + switch (mode) { + case "OperationLocation": { + return getOperationLocationPollingUrl({ + operationLocation: getOperationLocationHeader(rawResponse), + azureAsyncOperation: getAzureAsyncOperationHeader(rawResponse) + }); + } + case "ResourceLocation": { + return getLocationHeader(rawResponse); + } + case "Body": + default: { + return void 0; + } + } + } + exports2.getOperationLocation = getOperationLocation; + function getOperationStatus({ rawResponse }, state) { + var _a; + const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"]; + switch (mode) { + case "OperationLocation": { + return getStatus(rawResponse); + } + case "ResourceLocation": { + return toOperationStatus(rawResponse.statusCode); + } + case "Body": { + return getProvisioningState(rawResponse); + } + default: + throw new Error(`Internal error: Unexpected operation mode: ${mode}`); + } + } + exports2.getOperationStatus = getOperationStatus; + function accessBodyProperty({ flatResponse, rawResponse }, prop) { + var _a, _b; + return (_a = flatResponse === null || flatResponse === void 0 ? void 0 : flatResponse[prop]) !== null && _a !== void 0 ? _a : (_b = rawResponse.body) === null || _b === void 0 ? void 0 : _b[prop]; + } + function getResourceLocation(res, state) { + const loc = accessBodyProperty(res, "resourceLocation"); + if (loc && typeof loc === "string") { + state.config.resourceLocation = loc; + } + return state.config.resourceLocation; + } + exports2.getResourceLocation = getResourceLocation; + function isOperationError(e) { + return e.name === "RestError"; + } + exports2.isOperationError = isOperationError; + async function pollHttpOperation(inputs) { + const { lro, stateProxy, options, processResult, updateState, setDelay, state, setErrorAsResult } = inputs; + return (0, operation_js_1.pollOperation)({ + state, + stateProxy, + setDelay, + processResult: processResult ? ({ flatResponse }, inputState) => processResult(flatResponse, inputState) : ({ flatResponse }) => flatResponse, + getError: getErrorFromResponse, + updateState, + getPollingInterval: parseRetryAfter, + getOperationLocation, + getOperationStatus, + isOperationError, + getResourceLocation, + options, + /** + * The expansion here is intentional because `lro` could be an object that + * references an inner this, so we need to preserve a reference to it. + */ + poll: async (location, inputOptions) => lro.sendPollRequest(location, inputOptions), + setErrorAsResult + }); + } + exports2.pollHttpOperation = pollHttpOperation; + } +}); + +// node_modules/@azure/core-lro/dist/commonjs/poller/poller.js +var require_poller = __commonJS({ + "node_modules/@azure/core-lro/dist/commonjs/poller/poller.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.buildCreatePoller = void 0; + var operation_js_1 = require_operation(); + var constants_js_1 = require_constants17(); + var core_util_1 = require_commonjs4(); + var createStateProxy = () => ({ + /** + * The state at this point is created to be of type OperationState. + * It will be updated later to be of type TState when the + * customer-provided callback, `updateState`, is called during polling. + */ + initState: (config) => ({ status: "running", config }), + setCanceled: (state) => state.status = "canceled", + setError: (state, error3) => state.error = error3, + setResult: (state, result) => state.result = result, + setRunning: (state) => state.status = "running", + setSucceeded: (state) => state.status = "succeeded", + setFailed: (state) => state.status = "failed", + getError: (state) => state.error, + getResult: (state) => state.result, + isCanceled: (state) => state.status === "canceled", + isFailed: (state) => state.status === "failed", + isRunning: (state) => state.status === "running", + isSucceeded: (state) => state.status === "succeeded" + }); + function buildCreatePoller(inputs) { + const { getOperationLocation, getStatusFromInitialResponse, getStatusFromPollResponse, isOperationError, getResourceLocation, getPollingInterval, getError, resolveOnUnsuccessful } = inputs; + return async ({ init, poll }, options) => { + const { processResult, updateState, withOperationLocation: withOperationLocationCallback, intervalInMs = constants_js_1.POLL_INTERVAL_IN_MS, restoreFrom } = options || {}; + const stateProxy = createStateProxy(); + const withOperationLocation = withOperationLocationCallback ? /* @__PURE__ */ (() => { + let called = false; + return (operationLocation, isUpdated) => { + if (isUpdated) + withOperationLocationCallback(operationLocation); + else if (!called) + withOperationLocationCallback(operationLocation); + called = true; + }; + })() : void 0; + const state = restoreFrom ? (0, operation_js_1.deserializeState)(restoreFrom) : await (0, operation_js_1.initOperation)({ + init, + stateProxy, + processResult, + getOperationStatus: getStatusFromInitialResponse, + withOperationLocation, + setErrorAsResult: !resolveOnUnsuccessful + }); + let resultPromise; + const abortController = new AbortController(); + const handlers = /* @__PURE__ */ new Map(); + const handleProgressEvents = async () => handlers.forEach((h) => h(state)); + const cancelErrMsg = "Operation was canceled"; + let currentPollIntervalInMs = intervalInMs; + const poller = { + getOperationState: () => state, + getResult: () => state.result, + isDone: () => ["succeeded", "failed", "canceled"].includes(state.status), + isStopped: () => resultPromise === void 0, + stopPolling: () => { + abortController.abort(); + }, + toString: () => JSON.stringify({ + state + }), + onProgress: (callback) => { + const s = /* @__PURE__ */ Symbol(); + handlers.set(s, callback); + return () => handlers.delete(s); + }, + pollUntilDone: (pollOptions) => resultPromise !== null && resultPromise !== void 0 ? resultPromise : resultPromise = (async () => { + const { abortSignal: inputAbortSignal } = pollOptions || {}; + function abortListener() { + abortController.abort(); + } + const abortSignal = abortController.signal; + if (inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.aborted) { + abortController.abort(); + } else if (!abortSignal.aborted) { + inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.addEventListener("abort", abortListener, { once: true }); + } + try { + if (!poller.isDone()) { + await poller.poll({ abortSignal }); + while (!poller.isDone()) { + await (0, core_util_1.delay)(currentPollIntervalInMs, { abortSignal }); + await poller.poll({ abortSignal }); + } + } + } finally { + inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.removeEventListener("abort", abortListener); + } + if (resolveOnUnsuccessful) { + return poller.getResult(); + } else { + switch (state.status) { + case "succeeded": + return poller.getResult(); + case "canceled": + throw new Error(cancelErrMsg); + case "failed": + throw state.error; + case "notStarted": + case "running": + throw new Error(`Polling completed without succeeding or failing`); + } + } + })().finally(() => { + resultPromise = void 0; + }), + async poll(pollOptions) { + if (resolveOnUnsuccessful) { + if (poller.isDone()) + return; + } else { + switch (state.status) { + case "succeeded": + return; + case "canceled": + throw new Error(cancelErrMsg); + case "failed": + throw state.error; + } + } + await (0, operation_js_1.pollOperation)({ + poll, + state, + stateProxy, + getOperationLocation, + isOperationError, + withOperationLocation, + getPollingInterval, + getOperationStatus: getStatusFromPollResponse, + getResourceLocation, + processResult, + getError, + updateState, + options: pollOptions, + setDelay: (pollIntervalInMs) => { + currentPollIntervalInMs = pollIntervalInMs; + }, + setErrorAsResult: !resolveOnUnsuccessful + }); + await handleProgressEvents(); + if (!resolveOnUnsuccessful) { + switch (state.status) { + case "canceled": + throw new Error(cancelErrMsg); + case "failed": + throw state.error; + } + } + } + }; + return poller; + }; + } + exports2.buildCreatePoller = buildCreatePoller; + } +}); + +// node_modules/@azure/core-lro/dist/commonjs/http/poller.js +var require_poller2 = __commonJS({ + "node_modules/@azure/core-lro/dist/commonjs/http/poller.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.createHttpPoller = void 0; + var operation_js_1 = require_operation2(); + var poller_js_1 = require_poller(); + async function createHttpPoller(lro, options) { + const { resourceLocationConfig, intervalInMs, processResult, restoreFrom, updateState, withOperationLocation, resolveOnUnsuccessful = false } = options || {}; + return (0, poller_js_1.buildCreatePoller)({ + getStatusFromInitialResponse: operation_js_1.getStatusFromInitialResponse, + getStatusFromPollResponse: operation_js_1.getOperationStatus, + isOperationError: operation_js_1.isOperationError, + getOperationLocation: operation_js_1.getOperationLocation, + getResourceLocation: operation_js_1.getResourceLocation, + getPollingInterval: operation_js_1.parseRetryAfter, + getError: operation_js_1.getErrorFromResponse, + resolveOnUnsuccessful + })({ + init: async () => { + const response = await lro.sendInitialRequest(); + const config = (0, operation_js_1.inferLroMode)({ + rawResponse: response.rawResponse, + requestPath: lro.requestPath, + requestMethod: lro.requestMethod, + resourceLocationConfig + }); + return Object.assign({ response, operationLocation: config === null || config === void 0 ? void 0 : config.operationLocation, resourceLocation: config === null || config === void 0 ? void 0 : config.resourceLocation }, (config === null || config === void 0 ? void 0 : config.mode) ? { metadata: { mode: config.mode } } : {}); + }, + poll: lro.sendPollRequest + }, { + intervalInMs, + withOperationLocation, + restoreFrom, + updateState, + processResult: processResult ? ({ flatResponse }, state) => processResult(flatResponse, state) : ({ flatResponse }) => flatResponse + }); + } + exports2.createHttpPoller = createHttpPoller; + } +}); + +// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/operation.js +var require_operation3 = __commonJS({ + "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/operation.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.GenericPollOperation = void 0; + var operation_js_1 = require_operation2(); + var logger_js_1 = require_logger2(); + var createStateProxy = () => ({ + initState: (config) => ({ config, isStarted: true }), + setCanceled: (state) => state.isCancelled = true, + setError: (state, error3) => state.error = error3, + setResult: (state, result) => state.result = result, + setRunning: (state) => state.isStarted = true, + setSucceeded: (state) => state.isCompleted = true, + setFailed: () => { + }, + getError: (state) => state.error, + getResult: (state) => state.result, + isCanceled: (state) => !!state.isCancelled, + isFailed: (state) => !!state.error, + isRunning: (state) => !!state.isStarted, + isSucceeded: (state) => Boolean(state.isCompleted && !state.isCancelled && !state.error) + }); + var GenericPollOperation = class { + constructor(state, lro, setErrorAsResult, lroResourceLocationConfig, processResult, updateState, isDone) { + this.state = state; + this.lro = lro; + this.setErrorAsResult = setErrorAsResult; + this.lroResourceLocationConfig = lroResourceLocationConfig; + this.processResult = processResult; + this.updateState = updateState; + this.isDone = isDone; + } + setPollerConfig(pollerConfig) { + this.pollerConfig = pollerConfig; + } + async update(options) { + var _a; + const stateProxy = createStateProxy(); + if (!this.state.isStarted) { + this.state = Object.assign(Object.assign({}, this.state), await (0, operation_js_1.initHttpOperation)({ + lro: this.lro, + stateProxy, + resourceLocationConfig: this.lroResourceLocationConfig, + processResult: this.processResult, + setErrorAsResult: this.setErrorAsResult + })); + } + const updateState = this.updateState; + const isDone = this.isDone; + if (!this.state.isCompleted && this.state.error === void 0) { + await (0, operation_js_1.pollHttpOperation)({ + lro: this.lro, + state: this.state, + stateProxy, + processResult: this.processResult, + updateState: updateState ? (state, { rawResponse }) => updateState(state, rawResponse) : void 0, + isDone: isDone ? ({ flatResponse }, state) => isDone(flatResponse, state) : void 0, + options, + setDelay: (intervalInMs) => { + this.pollerConfig.intervalInMs = intervalInMs; + }, + setErrorAsResult: this.setErrorAsResult + }); + } + (_a = options === null || options === void 0 ? void 0 : options.fireProgress) === null || _a === void 0 ? void 0 : _a.call(options, this.state); + return this; + } + async cancel() { + logger_js_1.logger.error("`cancelOperation` is deprecated because it wasn't implemented"); + return this; + } + /** + * Serializes the Poller operation. + */ + toString() { + return JSON.stringify({ + state: this.state + }); + } + }; + exports2.GenericPollOperation = GenericPollOperation; + } +}); + +// node_modules/@azure/core-lro/dist/commonjs/legacy/poller.js +var require_poller3 = __commonJS({ + "node_modules/@azure/core-lro/dist/commonjs/legacy/poller.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.Poller = exports2.PollerCancelledError = exports2.PollerStoppedError = void 0; + var PollerStoppedError = class _PollerStoppedError extends Error { + constructor(message) { + super(message); + this.name = "PollerStoppedError"; + Object.setPrototypeOf(this, _PollerStoppedError.prototype); + } + }; + exports2.PollerStoppedError = PollerStoppedError; + var PollerCancelledError = class _PollerCancelledError extends Error { + constructor(message) { + super(message); + this.name = "PollerCancelledError"; + Object.setPrototypeOf(this, _PollerCancelledError.prototype); + } + }; + exports2.PollerCancelledError = PollerCancelledError; + var Poller = class { + /** + * A poller needs to be initialized by passing in at least the basic properties of the `PollOperation`. + * + * When writing an implementation of a Poller, this implementation needs to deal with the initialization + * of any custom state beyond the basic definition of the poller. The basic poller assumes that the poller's + * operation has already been defined, at least its basic properties. The code below shows how to approach + * the definition of the constructor of a new custom poller. + * + * ```ts + * export class MyPoller extends Poller { + * constructor({ + * // Anything you might need outside of the basics + * }) { + * let state: MyOperationState = { + * privateProperty: private, + * publicProperty: public, + * }; + * + * const operation = { + * state, + * update, + * cancel, + * toString + * } + * + * // Sending the operation to the parent's constructor. + * super(operation); + * + * // You can assign more local properties here. + * } + * } + * ``` + * + * Inside of this constructor, a new promise is created. This will be used to + * tell the user when the poller finishes (see `pollUntilDone()`). The promise's + * resolve and reject methods are also used internally to control when to resolve + * or reject anyone waiting for the poller to finish. + * + * The constructor of a custom implementation of a poller is where any serialized version of + * a previous poller's operation should be deserialized into the operation sent to the + * base constructor. For example: + * + * ```ts + * export class MyPoller extends Poller { + * constructor( + * baseOperation: string | undefined + * ) { + * let state: MyOperationState = {}; + * if (baseOperation) { + * state = { + * ...JSON.parse(baseOperation).state, + * ...state + * }; + * } + * const operation = { + * state, + * // ... + * } + * super(operation); + * } + * } + * ``` + * + * @param operation - Must contain the basic properties of `PollOperation`. + */ + constructor(operation) { + this.resolveOnUnsuccessful = false; + this.stopped = true; + this.pollProgressCallbacks = []; + this.operation = operation; + this.promise = new Promise((resolve5, reject) => { + this.resolve = resolve5; + this.reject = reject; + }); + this.promise.catch(() => { + }); + } + /** + * Starts a loop that will break only if the poller is done + * or if the poller is stopped. + */ + async startPolling(pollOptions = {}) { + if (this.stopped) { + this.stopped = false; + } + while (!this.isStopped() && !this.isDone()) { + await this.poll(pollOptions); + await this.delay(); + } + } + /** + * pollOnce does one polling, by calling to the update method of the underlying + * poll operation to make any relevant change effective. + * + * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike. + * + * @param options - Optional properties passed to the operation's update method. + */ + async pollOnce(options = {}) { + if (!this.isDone()) { + this.operation = await this.operation.update({ + abortSignal: options.abortSignal, + fireProgress: this.fireProgress.bind(this) + }); + } + this.processUpdatedState(); + } + /** + * fireProgress calls the functions passed in via onProgress the method of the poller. + * + * It loops over all of the callbacks received from onProgress, and executes them, sending them + * the current operation state. + * + * @param state - The current operation state. + */ + fireProgress(state) { + for (const callback of this.pollProgressCallbacks) { + callback(state); + } + } + /** + * Invokes the underlying operation's cancel method. + */ + async cancelOnce(options = {}) { + this.operation = await this.operation.cancel(options); + } + /** + * Returns a promise that will resolve once a single polling request finishes. + * It does this by calling the update method of the Poller's operation. + * + * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike. + * + * @param options - Optional properties passed to the operation's update method. + */ + poll(options = {}) { + if (!this.pollOncePromise) { + this.pollOncePromise = this.pollOnce(options); + const clearPollOncePromise = () => { + this.pollOncePromise = void 0; + }; + this.pollOncePromise.then(clearPollOncePromise, clearPollOncePromise).catch(this.reject); + } + return this.pollOncePromise; + } + processUpdatedState() { + if (this.operation.state.error) { + this.stopped = true; + if (!this.resolveOnUnsuccessful) { + this.reject(this.operation.state.error); + throw this.operation.state.error; + } + } + if (this.operation.state.isCancelled) { + this.stopped = true; + if (!this.resolveOnUnsuccessful) { + const error3 = new PollerCancelledError("Operation was canceled"); + this.reject(error3); + throw error3; + } + } + if (this.isDone() && this.resolve) { + this.resolve(this.getResult()); + } + } + /** + * Returns a promise that will resolve once the underlying operation is completed. + */ + async pollUntilDone(pollOptions = {}) { + if (this.stopped) { + this.startPolling(pollOptions).catch(this.reject); + } + this.processUpdatedState(); + return this.promise; + } + /** + * Invokes the provided callback after each polling is completed, + * sending the current state of the poller's operation. + * + * It returns a method that can be used to stop receiving updates on the given callback function. + */ + onProgress(callback) { + this.pollProgressCallbacks.push(callback); + return () => { + this.pollProgressCallbacks = this.pollProgressCallbacks.filter((c) => c !== callback); + }; + } + /** + * Returns true if the poller has finished polling. + */ + isDone() { + const state = this.operation.state; + return Boolean(state.isCompleted || state.isCancelled || state.error); + } + /** + * Stops the poller from continuing to poll. + */ + stopPolling() { + if (!this.stopped) { + this.stopped = true; + if (this.reject) { + this.reject(new PollerStoppedError("This poller is already stopped")); + } + } + } + /** + * Returns true if the poller is stopped. + */ + isStopped() { + return this.stopped; + } + /** + * Attempts to cancel the underlying operation. + * + * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike. + * + * If it's called again before it finishes, it will throw an error. + * + * @param options - Optional properties passed to the operation's update method. + */ + cancelOperation(options = {}) { + if (!this.cancelPromise) { + this.cancelPromise = this.cancelOnce(options); + } else if (options.abortSignal) { + throw new Error("A cancel request is currently pending"); + } + return this.cancelPromise; + } + /** + * Returns the state of the operation. + * + * Even though TState will be the same type inside any of the methods of any extension of the Poller class, + * implementations of the pollers can customize what's shared with the public by writing their own + * version of the `getOperationState` method, and by defining two types, one representing the internal state of the poller + * and a public type representing a safe to share subset of the properties of the internal state. + * Their definition of getOperationState can then return their public type. + * + * Example: + * + * ```ts + * // Let's say we have our poller's operation state defined as: + * interface MyOperationState extends PollOperationState { + * privateProperty?: string; + * publicProperty?: string; + * } + * + * // To allow us to have a true separation of public and private state, we have to define another interface: + * interface PublicState extends PollOperationState { + * publicProperty?: string; + * } + * + * // Then, we define our Poller as follows: + * export class MyPoller extends Poller { + * // ... More content is needed here ... + * + * public getOperationState(): PublicState { + * const state: PublicState = this.operation.state; + * return { + * // Properties from PollOperationState + * isStarted: state.isStarted, + * isCompleted: state.isCompleted, + * isCancelled: state.isCancelled, + * error: state.error, + * result: state.result, + * + * // The only other property needed by PublicState. + * publicProperty: state.publicProperty + * } + * } + * } + * ``` + * + * You can see this in the tests of this repository, go to the file: + * `../test/utils/testPoller.ts` + * and look for the getOperationState implementation. + */ + getOperationState() { + return this.operation.state; + } + /** + * Returns the result value of the operation, + * regardless of the state of the poller. + * It can return undefined or an incomplete form of the final TResult value + * depending on the implementation. + */ + getResult() { + const state = this.operation.state; + return state.result; + } + /** + * Returns a serialized version of the poller's operation + * by invoking the operation's toString method. + */ + toString() { + return this.operation.toString(); + } + }; + exports2.Poller = Poller; + } +}); + +// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/lroEngine.js +var require_lroEngine = __commonJS({ + "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/lroEngine.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.LroEngine = void 0; + var operation_js_1 = require_operation3(); + var constants_js_1 = require_constants17(); + var poller_js_1 = require_poller3(); + var operation_js_2 = require_operation(); + var LroEngine = class extends poller_js_1.Poller { + constructor(lro, options) { + const { intervalInMs = constants_js_1.POLL_INTERVAL_IN_MS, resumeFrom, resolveOnUnsuccessful = false, isDone, lroResourceLocationConfig, processResult, updateState } = options || {}; + const state = resumeFrom ? (0, operation_js_2.deserializeState)(resumeFrom) : {}; + const operation = new operation_js_1.GenericPollOperation(state, lro, !resolveOnUnsuccessful, lroResourceLocationConfig, processResult, updateState, isDone); + super(operation); + this.resolveOnUnsuccessful = resolveOnUnsuccessful; + this.config = { intervalInMs }; + operation.setPollerConfig(this.config); + } + /** + * The method used by the poller to wait before attempting to update its operation. + */ + delay() { + return new Promise((resolve5) => setTimeout(() => resolve5(), this.config.intervalInMs)); + } + }; + exports2.LroEngine = LroEngine; + } +}); + +// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/index.js +var require_lroEngine2 = __commonJS({ + "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/index.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.LroEngine = void 0; + var lroEngine_js_1 = require_lroEngine(); + Object.defineProperty(exports2, "LroEngine", { enumerable: true, get: function() { + return lroEngine_js_1.LroEngine; + } }); + } +}); + +// node_modules/@azure/core-lro/dist/commonjs/legacy/pollOperation.js +var require_pollOperation = __commonJS({ + "node_modules/@azure/core-lro/dist/commonjs/legacy/pollOperation.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + } +}); + +// node_modules/@azure/core-lro/dist/commonjs/index.js +var require_commonjs14 = __commonJS({ + "node_modules/@azure/core-lro/dist/commonjs/index.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.createHttpPoller = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var poller_js_1 = require_poller2(); + Object.defineProperty(exports2, "createHttpPoller", { enumerable: true, get: function() { + return poller_js_1.createHttpPoller; + } }); + tslib_1.__exportStar(require_lroEngine2(), exports2); + tslib_1.__exportStar(require_poller3(), exports2); + tslib_1.__exportStar(require_pollOperation(), exports2); + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/pollers/BlobStartCopyFromUrlPoller.js +var require_BlobStartCopyFromUrlPoller = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/pollers/BlobStartCopyFromUrlPoller.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.BlobBeginCopyFromUrlPoller = void 0; + var core_util_1 = require_commonjs4(); + var core_lro_1 = require_commonjs14(); + var BlobBeginCopyFromUrlPoller = class extends core_lro_1.Poller { + intervalInMs; + constructor(options) { + const { blobClient, copySource, intervalInMs = 15e3, onProgress, resumeFrom, startCopyFromURLOptions } = options; + let state; + if (resumeFrom) { + state = JSON.parse(resumeFrom).state; + } + const operation = makeBlobBeginCopyFromURLPollOperation({ + ...state, + blobClient, + copySource, + startCopyFromURLOptions + }); + super(operation); + if (typeof onProgress === "function") { + this.onProgress(onProgress); + } + this.intervalInMs = intervalInMs; + } + delay() { + return (0, core_util_1.delay)(this.intervalInMs); + } + }; + exports2.BlobBeginCopyFromUrlPoller = BlobBeginCopyFromUrlPoller; + var cancel = async function cancel2(options = {}) { + const state = this.state; + const { copyId } = state; + if (state.isCompleted) { + return makeBlobBeginCopyFromURLPollOperation(state); + } + if (!copyId) { + state.isCancelled = true; + return makeBlobBeginCopyFromURLPollOperation(state); + } + await state.blobClient.abortCopyFromURL(copyId, { + abortSignal: options.abortSignal + }); + state.isCancelled = true; + return makeBlobBeginCopyFromURLPollOperation(state); + }; + var update = async function update2(options = {}) { + const state = this.state; + const { blobClient, copySource, startCopyFromURLOptions } = state; + if (!state.isStarted) { + state.isStarted = true; + const result = await blobClient.startCopyFromURL(copySource, startCopyFromURLOptions); + state.copyId = result.copyId; + if (result.copyStatus === "success") { + state.result = result; + state.isCompleted = true; + } + } else if (!state.isCompleted) { + try { + const result = await state.blobClient.getProperties({ abortSignal: options.abortSignal }); + const { copyStatus, copyProgress } = result; + const prevCopyProgress = state.copyProgress; + if (copyProgress) { + state.copyProgress = copyProgress; + } + if (copyStatus === "pending" && copyProgress !== prevCopyProgress && typeof options.fireProgress === "function") { + options.fireProgress(state); + } else if (copyStatus === "success") { + state.result = result; + state.isCompleted = true; + } else if (copyStatus === "failed") { + state.error = new Error(`Blob copy failed with reason: "${result.copyStatusDescription || "unknown"}"`); + state.isCompleted = true; + } + } catch (err) { + state.error = err; + state.isCompleted = true; + } + } + return makeBlobBeginCopyFromURLPollOperation(state); + }; + var toString2 = function toString3() { + return JSON.stringify({ state: this.state }, (key, value) => { + if (key === "blobClient") { + return void 0; + } + return value; + }); + }; + function makeBlobBeginCopyFromURLPollOperation(state) { + return { + state: { ...state }, + cancel, + toString: toString2, + update + }; + } + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/Range.js +var require_Range = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/Range.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.rangeToString = rangeToString; + function rangeToString(iRange) { + if (iRange.offset < 0) { + throw new RangeError(`Range.offset cannot be smaller than 0.`); + } + if (iRange.count && iRange.count <= 0) { + throw new RangeError(`Range.count must be larger than 0. Leave it undefined if you want a range from offset to the end.`); + } + return iRange.count ? `bytes=${iRange.offset}-${iRange.offset + iRange.count - 1}` : `bytes=${iRange.offset}-`; + } + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/utils/Batch.js +var require_Batch = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/utils/Batch.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.Batch = void 0; + var events_1 = require("events"); + var BatchStates; + (function(BatchStates2) { + BatchStates2[BatchStates2["Good"] = 0] = "Good"; + BatchStates2[BatchStates2["Error"] = 1] = "Error"; + })(BatchStates || (BatchStates = {})); + var Batch = class { + /** + * Concurrency. Must be lager than 0. + */ + concurrency; + /** + * Number of active operations under execution. + */ + actives = 0; + /** + * Number of completed operations under execution. + */ + completed = 0; + /** + * Offset of next operation to be executed. + */ + offset = 0; + /** + * Operation array to be executed. + */ + operations = []; + /** + * States of Batch. When an error happens, state will turn into error. + * Batch will stop execute left operations. + */ + state = BatchStates.Good; + /** + * A private emitter used to pass events inside this class. + */ + emitter; + /** + * Creates an instance of Batch. + * @param concurrency - + */ + constructor(concurrency = 5) { + if (concurrency < 1) { + throw new RangeError("concurrency must be larger than 0"); + } + this.concurrency = concurrency; + this.emitter = new events_1.EventEmitter(); + } + /** + * Add a operation into queue. + * + * @param operation - + */ + addOperation(operation) { + this.operations.push(async () => { + try { + this.actives++; + await operation(); + this.actives--; + this.completed++; + this.parallelExecute(); + } catch (error3) { + this.emitter.emit("error", error3); + } + }); + } + /** + * Start execute operations in the queue. + * + */ + async do() { + if (this.operations.length === 0) { + return Promise.resolve(); + } + this.parallelExecute(); + return new Promise((resolve5, reject) => { + this.emitter.on("finish", resolve5); + this.emitter.on("error", (error3) => { + this.state = BatchStates.Error; + reject(error3); + }); + }); + } + /** + * Get next operation to be executed. Return null when reaching ends. + * + */ + nextOperation() { + if (this.offset < this.operations.length) { + return this.operations[this.offset++]; + } + return null; + } + /** + * Start execute operations. One one the most important difference between + * this method with do() is that do() wraps as an sync method. + * + */ + parallelExecute() { + if (this.state === BatchStates.Error) { + return; + } + if (this.completed >= this.operations.length) { + this.emitter.emit("finish"); + return; + } + while (this.actives < this.concurrency) { + const operation = this.nextOperation(); + if (operation) { + operation(); + } else { + return; + } + } + } + }; + exports2.Batch = Batch; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/utils/utils.js +var require_utils7 = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/utils/utils.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.fsCreateReadStream = exports2.fsStat = void 0; + exports2.streamToBuffer = streamToBuffer; + exports2.streamToBuffer2 = streamToBuffer2; + exports2.streamToBuffer3 = streamToBuffer3; + exports2.readStreamToLocalFile = readStreamToLocalFile; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var node_fs_1 = tslib_1.__importDefault(require("node:fs")); + var node_util_1 = tslib_1.__importDefault(require("node:util")); + var constants_js_1 = require_constants15(); + async function streamToBuffer(stream, buffer, offset, end, encoding) { + let pos = 0; + const count = end - offset; + return new Promise((resolve5, reject) => { + const timeout = setTimeout(() => reject(new Error(`The operation cannot be completed in timeout.`)), constants_js_1.REQUEST_TIMEOUT); + stream.on("readable", () => { + if (pos >= count) { + clearTimeout(timeout); + resolve5(); + return; + } + let chunk = stream.read(); + if (!chunk) { + return; + } + if (typeof chunk === "string") { + chunk = Buffer.from(chunk, encoding); + } + const chunkLength = pos + chunk.length > count ? count - pos : chunk.length; + buffer.fill(chunk.slice(0, chunkLength), offset + pos, offset + pos + chunkLength); + pos += chunkLength; + }); + stream.on("end", () => { + clearTimeout(timeout); + if (pos < count) { + reject(new Error(`Stream drains before getting enough data needed. Data read: ${pos}, data need: ${count}`)); + } + resolve5(); + }); + stream.on("error", (msg) => { + clearTimeout(timeout); + reject(msg); + }); + }); + } + async function streamToBuffer2(stream, buffer, encoding) { + let pos = 0; + const bufferSize = buffer.length; + return new Promise((resolve5, reject) => { + stream.on("readable", () => { + let chunk = stream.read(); + if (!chunk) { + return; + } + if (typeof chunk === "string") { + chunk = Buffer.from(chunk, encoding); + } + if (pos + chunk.length > bufferSize) { + reject(new Error(`Stream exceeds buffer size. Buffer size: ${bufferSize}`)); + return; + } + buffer.fill(chunk, pos, pos + chunk.length); + pos += chunk.length; + }); + stream.on("end", () => { + resolve5(pos); + }); + stream.on("error", reject); + }); + } + async function streamToBuffer3(readableStream, encoding) { + return new Promise((resolve5, reject) => { + const chunks = []; + readableStream.on("data", (data) => { + chunks.push(typeof data === "string" ? Buffer.from(data, encoding) : data); + }); + readableStream.on("end", () => { + resolve5(Buffer.concat(chunks)); + }); + readableStream.on("error", reject); + }); + } + async function readStreamToLocalFile(rs, file) { + return new Promise((resolve5, reject) => { + const ws = node_fs_1.default.createWriteStream(file); + rs.on("error", (err) => { + reject(err); + }); + ws.on("error", (err) => { + reject(err); + }); + ws.on("close", resolve5); + rs.pipe(ws); + }); + } + exports2.fsStat = node_util_1.default.promisify(node_fs_1.default.stat); + exports2.fsCreateReadStream = node_fs_1.default.createReadStream; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/Clients.js +var require_Clients = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/Clients.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.PageBlobClient = exports2.BlockBlobClient = exports2.AppendBlobClient = exports2.BlobClient = void 0; + var core_rest_pipeline_1 = require_commonjs6(); + var core_auth_1 = require_commonjs7(); + var core_util_1 = require_commonjs4(); + var core_util_2 = require_commonjs4(); + var BlobDownloadResponse_js_1 = require_BlobDownloadResponse(); + var BlobQueryResponse_js_1 = require_BlobQueryResponse(); + var AnonymousCredential_js_1 = require_AnonymousCredential(); + var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential(); + var models_js_1 = require_models2(); + var PageBlobRangeResponse_js_1 = require_PageBlobRangeResponse(); + var Pipeline_js_1 = require_Pipeline(); + var BlobStartCopyFromUrlPoller_js_1 = require_BlobStartCopyFromUrlPoller(); + var Range_js_1 = require_Range(); + var StorageClient_js_1 = require_StorageClient(); + var Batch_js_1 = require_Batch(); + var storage_common_1 = require_commonjs13(); + var constants_js_1 = require_constants15(); + var tracing_js_1 = require_tracing(); + var utils_common_js_1 = require_utils_common(); + var utils_js_1 = require_utils7(); + var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues(); + var BlobLeaseClient_js_1 = require_BlobLeaseClient(); + var BlobClient = class _BlobClient extends StorageClient_js_1.StorageClient { + /** + * blobContext provided by protocol layer. + */ + blobContext; + _name; + _containerName; + _versionId; + _snapshot; + /** + * The name of the blob. + */ + get name() { + return this._name; + } + /** + * The name of the storage container the blob is associated with. + */ + get containerName() { + return this._containerName; + } + constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) { + options = options || {}; + let pipeline; + let url; + if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) { + url = urlOrConnectionString; + pipeline = credentialOrPipelineOrContainerName; + } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) { + url = urlOrConnectionString; + options = blobNameOrOptions; + pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options); + } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") { + url = urlOrConnectionString; + if (blobNameOrOptions && typeof blobNameOrOptions !== "string") { + options = blobNameOrOptions; + } + pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); + } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") { + const containerName = credentialOrPipelineOrContainerName; + const blobName = blobNameOrOptions; + const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString); + if (extractedCreds.kind === "AccountConnString") { + if (core_util_1.isNodeLike) { + const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey); + url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)); + if (!options.proxyOptions) { + options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri); + } + pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options); + } else { + throw new Error("Account connection string is only supported in Node.js environment"); + } + } else if (extractedCreds.kind === "SASConnString") { + url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas; + pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); + } else { + throw new Error("Connection string must be either an Account connection string or a SAS connection string"); + } + } else { + throw new Error("Expecting non-empty strings for containerName and blobName parameters"); + } + super(url, pipeline); + ({ blobName: this._name, containerName: this._containerName } = this.getBlobAndContainerNamesFromUrl()); + this.blobContext = this.storageClientContext.blob; + this._snapshot = (0, utils_common_js_1.getURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT); + this._versionId = (0, utils_common_js_1.getURLParameter)(this.url, constants_js_1.URLConstants.Parameters.VERSIONID); + } + /** + * Creates a new BlobClient object identical to the source but with the specified snapshot timestamp. + * Provide "" will remove the snapshot and return a Client to the base blob. + * + * @param snapshot - The snapshot timestamp. + * @returns A new BlobClient object identical to the source but with the specified snapshot timestamp + */ + withSnapshot(snapshot) { + return new _BlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline); + } + /** + * Creates a new BlobClient object pointing to a version of this blob. + * Provide "" will remove the versionId and return a Client to the base blob. + * + * @param versionId - The versionId. + * @returns A new BlobClient object pointing to the version of this blob. + */ + withVersion(versionId) { + return new _BlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.VERSIONID, versionId.length === 0 ? void 0 : versionId), this.pipeline); + } + /** + * Creates a AppendBlobClient object. + * + */ + getAppendBlobClient() { + return new AppendBlobClient(this.url, this.pipeline); + } + /** + * Creates a BlockBlobClient object. + * + */ + getBlockBlobClient() { + return new BlockBlobClient(this.url, this.pipeline); + } + /** + * Creates a PageBlobClient object. + * + */ + getPageBlobClient() { + return new PageBlobClient(this.url, this.pipeline); + } + /** + * Reads or downloads a blob from the system, including its metadata and properties. + * You can also call Get Blob to read a snapshot. + * + * * In Node.js, data returns in a Readable stream readableStreamBody + * * In browsers, data returns in a promise blobBody + * + * @see https://learn.microsoft.com/rest/api/storageservices/get-blob + * + * @param offset - From which position of the blob to download, greater than or equal to 0 + * @param count - How much data to be downloaded, greater than 0. Will download to the end when undefined + * @param options - Optional options to Blob Download operation. + * + * + * Example usage (Node.js): + * + * ```ts snippet:ReadmeSampleDownloadBlob_Node + * import { BlobServiceClient } from "@azure/storage-blob"; + * import { DefaultAzureCredential } from "@azure/identity"; + * + * const account = ""; + * const blobServiceClient = new BlobServiceClient( + * `https://${account}.blob.core.windows.net`, + * new DefaultAzureCredential(), + * ); + * + * const containerName = ""; + * const blobName = ""; + * const containerClient = blobServiceClient.getContainerClient(containerName); + * const blobClient = containerClient.getBlobClient(blobName); + * + * // Get blob content from position 0 to the end + * // In Node.js, get downloaded data by accessing downloadBlockBlobResponse.readableStreamBody + * const downloadBlockBlobResponse = await blobClient.download(); + * if (downloadBlockBlobResponse.readableStreamBody) { + * const downloaded = await streamToString(downloadBlockBlobResponse.readableStreamBody); + * console.log(`Downloaded blob content: ${downloaded}`); + * } + * + * async function streamToString(stream: NodeJS.ReadableStream): Promise { + * const result = await new Promise>((resolve, reject) => { + * const chunks: Buffer[] = []; + * stream.on("data", (data) => { + * chunks.push(Buffer.isBuffer(data) ? data : Buffer.from(data)); + * }); + * stream.on("end", () => { + * resolve(Buffer.concat(chunks)); + * }); + * stream.on("error", reject); + * }); + * return result.toString(); + * } + * ``` + * + * Example usage (browser): + * + * ```ts snippet:ReadmeSampleDownloadBlob_Browser + * import { BlobServiceClient } from "@azure/storage-blob"; + * import { DefaultAzureCredential } from "@azure/identity"; + * + * const account = ""; + * const blobServiceClient = new BlobServiceClient( + * `https://${account}.blob.core.windows.net`, + * new DefaultAzureCredential(), + * ); + * + * const containerName = ""; + * const blobName = ""; + * const containerClient = blobServiceClient.getContainerClient(containerName); + * const blobClient = containerClient.getBlobClient(blobName); + * + * // Get blob content from position 0 to the end + * // In browsers, get downloaded data by accessing downloadBlockBlobResponse.blobBody + * const downloadBlockBlobResponse = await blobClient.download(); + * const blobBody = await downloadBlockBlobResponse.blobBody; + * if (blobBody) { + * const downloaded = await blobBody.text(); + * console.log(`Downloaded blob content: ${downloaded}`); + * } + * ``` + */ + async download(offset = 0, count, options = {}) { + options.conditions = options.conditions || {}; + options.conditions = options.conditions || {}; + (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); + return tracing_js_1.tracingClient.withSpan("BlobClient-download", options, async (updatedOptions) => { + const res = (0, utils_common_js_1.assertResponse)(await this.blobContext.download({ + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + requestOptions: { + onDownloadProgress: core_util_1.isNodeLike ? void 0 : options.onProgress + // for Node.js, progress is reported by RetriableReadableStream + }, + range: offset === 0 && !count ? void 0 : (0, Range_js_1.rangeToString)({ offset, count }), + rangeGetContentMD5: options.rangeGetContentMD5, + rangeGetContentCRC64: options.rangeGetContentCrc64, + snapshot: options.snapshot, + cpkInfo: options.customerProvidedKey, + tracingOptions: updatedOptions.tracingOptions + })); + const wrappedRes = { + ...res, + _response: res._response, + // _response is made non-enumerable + objectReplicationDestinationPolicyId: res.objectReplicationPolicyId, + objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(res.objectReplicationRules) + }; + if (!core_util_1.isNodeLike) { + return wrappedRes; + } + if (options.maxRetryRequests === void 0 || options.maxRetryRequests < 0) { + options.maxRetryRequests = constants_js_1.DEFAULT_MAX_DOWNLOAD_RETRY_REQUESTS; + } + if (res.contentLength === void 0) { + throw new RangeError(`File download response doesn't contain valid content length header`); + } + if (!res.etag) { + throw new RangeError(`File download response doesn't contain valid etag header`); + } + return new BlobDownloadResponse_js_1.BlobDownloadResponse(wrappedRes, async (start) => { + const updatedDownloadOptions = { + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ifMatch: options.conditions.ifMatch || res.etag, + ifModifiedSince: options.conditions.ifModifiedSince, + ifNoneMatch: options.conditions.ifNoneMatch, + ifUnmodifiedSince: options.conditions.ifUnmodifiedSince, + ifTags: options.conditions?.tagConditions + }, + range: (0, Range_js_1.rangeToString)({ + count: offset + res.contentLength - start, + offset: start + }), + rangeGetContentMD5: options.rangeGetContentMD5, + rangeGetContentCRC64: options.rangeGetContentCrc64, + snapshot: options.snapshot, + cpkInfo: options.customerProvidedKey + }; + return (await this.blobContext.download({ + abortSignal: options.abortSignal, + ...updatedDownloadOptions + })).readableStreamBody; + }, offset, res.contentLength, { + maxRetryRequests: options.maxRetryRequests, + onProgress: options.onProgress + }); + }); + } + /** + * Returns true if the Azure blob resource represented by this client exists; false otherwise. + * + * NOTE: use this function with care since an existing blob might be deleted by other clients or + * applications. Vice versa new blobs might be added by other clients or applications after this + * function completes. + * + * @param options - options to Exists operation. + */ + async exists(options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobClient-exists", options, async (updatedOptions) => { + try { + (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); + await this.getProperties({ + abortSignal: options.abortSignal, + customerProvidedKey: options.customerProvidedKey, + conditions: options.conditions, + tracingOptions: updatedOptions.tracingOptions + }); + return true; + } catch (e) { + if (e.statusCode === 404) { + return false; + } else if (e.statusCode === 409 && (e.details.errorCode === constants_js_1.BlobUsesCustomerSpecifiedEncryptionMsg || e.details.errorCode === constants_js_1.BlobDoesNotUseCustomerSpecifiedEncryption)) { + return true; + } + throw e; + } + }); + } + /** + * Returns all user-defined metadata, standard HTTP properties, and system properties + * for the blob. It does not return the content of the blob. + * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-properties + * + * WARNING: The `metadata` object returned in the response will have its keys in lowercase, even if + * they originally contained uppercase characters. This differs from the metadata keys returned by + * the methods of {@link ContainerClient} that list blobs using the `includeMetadata` option, which + * will retain their original casing. + * + * @param options - Optional options to Get Properties operation. + */ + async getProperties(options = {}) { + options.conditions = options.conditions || {}; + (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); + return tracing_js_1.tracingClient.withSpan("BlobClient-getProperties", options, async (updatedOptions) => { + const res = (0, utils_common_js_1.assertResponse)(await this.blobContext.getProperties({ + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + cpkInfo: options.customerProvidedKey, + tracingOptions: updatedOptions.tracingOptions + })); + return { + ...res, + _response: res._response, + // _response is made non-enumerable + objectReplicationDestinationPolicyId: res.objectReplicationPolicyId, + objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(res.objectReplicationRules) + }; + }); + } + /** + * Marks the specified blob or snapshot for deletion. The blob is later deleted + * during garbage collection. Note that in order to delete a blob, you must delete + * all of its snapshots. You can delete both at the same time with the Delete + * Blob operation. + * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob + * + * @param options - Optional options to Blob Delete operation. + */ + async delete(options = {}) { + options.conditions = options.conditions || {}; + return tracing_js_1.tracingClient.withSpan("BlobClient-delete", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.blobContext.delete({ + abortSignal: options.abortSignal, + deleteSnapshots: options.deleteSnapshots, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Marks the specified blob or snapshot for deletion if it exists. The blob is later deleted + * during garbage collection. Note that in order to delete a blob, you must delete + * all of its snapshots. You can delete both at the same time with the Delete + * Blob operation. + * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob + * + * @param options - Optional options to Blob Delete operation. + */ + async deleteIfExists(options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobClient-deleteIfExists", options, async (updatedOptions) => { + try { + const res = (0, utils_common_js_1.assertResponse)(await this.delete(updatedOptions)); + return { + succeeded: true, + ...res, + _response: res._response + // _response is made non-enumerable + }; + } catch (e) { + if (e.details?.errorCode === "BlobNotFound") { + return { + succeeded: false, + ...e.response?.parsedHeaders, + _response: e.response + }; + } + throw e; + } + }); + } + /** + * Restores the contents and metadata of soft deleted blob and any associated + * soft deleted snapshots. Undelete Blob is supported only on version 2017-07-29 + * or later. + * @see https://learn.microsoft.com/rest/api/storageservices/undelete-blob + * + * @param options - Optional options to Blob Undelete operation. + */ + async undelete(options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobClient-undelete", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.blobContext.undelete({ + abortSignal: options.abortSignal, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Sets system properties on the blob. + * + * If no value provided, or no value provided for the specified blob HTTP headers, + * these blob HTTP headers without a value will be cleared. + * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties + * + * @param blobHTTPHeaders - If no value provided, or no value provided for + * the specified blob HTTP headers, these blob HTTP + * headers without a value will be cleared. + * A common header to set is `blobContentType` + * enabling the browser to provide functionality + * based on file type. + * @param options - Optional options to Blob Set HTTP Headers operation. + */ + async setHTTPHeaders(blobHTTPHeaders, options = {}) { + options.conditions = options.conditions || {}; + (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); + return tracing_js_1.tracingClient.withSpan("BlobClient-setHTTPHeaders", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.blobContext.setHttpHeaders({ + abortSignal: options.abortSignal, + blobHttpHeaders: blobHTTPHeaders, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + // cpkInfo: options.customerProvidedKey, // CPK is not included in Swagger, should change this back when this issue is fixed in Swagger. + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Sets user-defined metadata for the specified blob as one or more name-value pairs. + * + * If no option provided, or no metadata defined in the parameter, the blob + * metadata will be removed. + * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-metadata + * + * @param metadata - Replace existing metadata with this value. + * If no value provided the existing metadata will be removed. + * @param options - Optional options to Set Metadata operation. + */ + async setMetadata(metadata, options = {}) { + options.conditions = options.conditions || {}; + (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); + return tracing_js_1.tracingClient.withSpan("BlobClient-setMetadata", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.blobContext.setMetadata({ + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + metadata, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + cpkInfo: options.customerProvidedKey, + encryptionScope: options.encryptionScope, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Sets tags on the underlying blob. + * A blob can have up to 10 tags. Tag keys must be between 1 and 128 characters. Tag values must be between 0 and 256 characters. + * Valid tag key and value characters include lower and upper case letters, digits (0-9), + * space (' '), plus ('+'), minus ('-'), period ('.'), foward slash ('/'), colon (':'), equals ('='), and underscore ('_'). + * + * @param tags - + * @param options - + */ + async setTags(tags, options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobClient-setTags", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.blobContext.setTags({ + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + tracingOptions: updatedOptions.tracingOptions, + tags: (0, utils_common_js_1.toBlobTags)(tags) + })); + }); + } + /** + * Gets the tags associated with the underlying blob. + * + * @param options - + */ + async getTags(options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobClient-getTags", options, async (updatedOptions) => { + const response = (0, utils_common_js_1.assertResponse)(await this.blobContext.getTags({ + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + tracingOptions: updatedOptions.tracingOptions + })); + const wrappedResponse = { + ...response, + _response: response._response, + // _response is made non-enumerable + tags: (0, utils_common_js_1.toTags)({ blobTagSet: response.blobTagSet }) || {} + }; + return wrappedResponse; + }); + } + /** + * Get a {@link BlobLeaseClient} that manages leases on the blob. + * + * @param proposeLeaseId - Initial proposed lease Id. + * @returns A new BlobLeaseClient object for managing leases on the blob. + */ + getBlobLeaseClient(proposeLeaseId) { + return new BlobLeaseClient_js_1.BlobLeaseClient(this, proposeLeaseId); + } + /** + * Creates a read-only snapshot of a blob. + * @see https://learn.microsoft.com/rest/api/storageservices/snapshot-blob + * + * @param options - Optional options to the Blob Create Snapshot operation. + */ + async createSnapshot(options = {}) { + options.conditions = options.conditions || {}; + (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); + return tracing_js_1.tracingClient.withSpan("BlobClient-createSnapshot", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.blobContext.createSnapshot({ + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + metadata: options.metadata, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + cpkInfo: options.customerProvidedKey, + encryptionScope: options.encryptionScope, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Asynchronously copies a blob to a destination within the storage account. + * This method returns a long running operation poller that allows you to wait + * indefinitely until the copy is completed. + * You can also cancel a copy before it is completed by calling `cancelOperation` on the poller. + * Note that the onProgress callback will not be invoked if the operation completes in the first + * request, and attempting to cancel a completed copy will result in an error being thrown. + * + * In version 2012-02-12 and later, the source for a Copy Blob operation can be + * a committed blob in any Azure storage account. + * Beginning with version 2015-02-21, the source for a Copy Blob operation can be + * an Azure file in any Azure storage account. + * Only storage accounts created on or after June 7th, 2012 allow the Copy Blob + * operation to copy from another storage account. + * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob + * + * ```ts snippet:ClientsBeginCopyFromURL + * import { BlobServiceClient } from "@azure/storage-blob"; + * import { DefaultAzureCredential } from "@azure/identity"; + * + * const account = ""; + * const blobServiceClient = new BlobServiceClient( + * `https://${account}.blob.core.windows.net`, + * new DefaultAzureCredential(), + * ); + * + * const containerName = ""; + * const blobName = ""; + * const containerClient = blobServiceClient.getContainerClient(containerName); + * const blobClient = containerClient.getBlobClient(blobName); + * + * // Example using automatic polling + * const automaticCopyPoller = await blobClient.beginCopyFromURL("url"); + * const automaticResult = await automaticCopyPoller.pollUntilDone(); + * + * // Example using manual polling + * const manualCopyPoller = await blobClient.beginCopyFromURL("url"); + * while (!manualCopyPoller.isDone()) { + * await manualCopyPoller.poll(); + * } + * const manualResult = manualCopyPoller.getResult(); + * + * // Example using progress updates + * const progressUpdatesCopyPoller = await blobClient.beginCopyFromURL("url", { + * onProgress(state) { + * console.log(`Progress: ${state.copyProgress}`); + * }, + * }); + * const progressUpdatesResult = await progressUpdatesCopyPoller.pollUntilDone(); + * + * // Example using a changing polling interval (default 15 seconds) + * const pollingIntervalCopyPoller = await blobClient.beginCopyFromURL("url", { + * intervalInMs: 1000, // poll blob every 1 second for copy progress + * }); + * const pollingIntervalResult = await pollingIntervalCopyPoller.pollUntilDone(); + * + * // Example using copy cancellation: + * const cancelCopyPoller = await blobClient.beginCopyFromURL("url"); + * // cancel operation after starting it. + * try { + * await cancelCopyPoller.cancelOperation(); + * // calls to get the result now throw PollerCancelledError + * cancelCopyPoller.getResult(); + * } catch (err: any) { + * if (err.name === "PollerCancelledError") { + * console.log("The copy was cancelled."); + * } + * } + * ``` + * + * @param copySource - url to the source Azure Blob/File. + * @param options - Optional options to the Blob Start Copy From URL operation. + */ + async beginCopyFromURL(copySource, options = {}) { + const client = { + abortCopyFromURL: (...args) => this.abortCopyFromURL(...args), + getProperties: (...args) => this.getProperties(...args), + startCopyFromURL: (...args) => this.startCopyFromURL(...args) + }; + const poller = new BlobStartCopyFromUrlPoller_js_1.BlobBeginCopyFromUrlPoller({ + blobClient: client, + copySource, + intervalInMs: options.intervalInMs, + onProgress: options.onProgress, + resumeFrom: options.resumeFrom, + startCopyFromURLOptions: options + }); + await poller.poll(); + return poller; + } + /** + * Aborts a pending asynchronous Copy Blob operation, and leaves a destination blob with zero + * length and full metadata. Version 2012-02-12 and newer. + * @see https://learn.microsoft.com/rest/api/storageservices/abort-copy-blob + * + * @param copyId - Id of the Copy From URL operation. + * @param options - Optional options to the Blob Abort Copy From URL operation. + */ + async abortCopyFromURL(copyId, options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobClient-abortCopyFromURL", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.blobContext.abortCopyFromURL(copyId, { + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * The synchronous Copy From URL operation copies a blob or an internet resource to a new blob. It will not + * return a response until the copy is complete. + * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob-from-url + * + * @param copySource - The source URL to copy from, Shared Access Signature(SAS) maybe needed for authentication + * @param options - + */ + async syncCopyFromURL(copySource, options = {}) { + options.conditions = options.conditions || {}; + options.sourceConditions = options.sourceConditions || {}; + return tracing_js_1.tracingClient.withSpan("BlobClient-syncCopyFromURL", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.blobContext.copyFromURL(copySource, { + abortSignal: options.abortSignal, + metadata: options.metadata, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + sourceModifiedAccessConditions: { + sourceIfMatch: options.sourceConditions?.ifMatch, + sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince, + sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch, + sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince + }, + sourceContentMD5: options.sourceContentMD5, + copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization), + tier: (0, models_js_1.toAccessTier)(options.tier), + blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags), + immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn, + immutabilityPolicyMode: options.immutabilityPolicy?.policyMode, + legalHold: options.legalHold, + encryptionScope: options.encryptionScope, + copySourceTags: options.copySourceTags, + fileRequestIntent: options.sourceShareTokenIntent, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Sets the tier on a blob. The operation is allowed on a page blob in a premium + * storage account and on a block blob in a blob storage account (locally redundant + * storage only). A premium page blob's tier determines the allowed size, IOPS, + * and bandwidth of the blob. A block blob's tier determines Hot/Cool/Archive + * storage type. This operation does not update the blob's ETag. + * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-tier + * + * @param tier - The tier to be set on the blob. Valid values are Hot, Cool, or Archive. + * @param options - Optional options to the Blob Set Tier operation. + */ + async setAccessTier(tier, options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobClient-setAccessTier", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.blobContext.setTier((0, models_js_1.toAccessTier)(tier), { + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + rehydratePriority: options.rehydratePriority, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + async downloadToBuffer(param1, param2, param3, param4 = {}) { + let buffer; + let offset = 0; + let count = 0; + let options = param4; + if (param1 instanceof Buffer) { + buffer = param1; + offset = param2 || 0; + count = typeof param3 === "number" ? param3 : 0; + } else { + offset = typeof param1 === "number" ? param1 : 0; + count = typeof param2 === "number" ? param2 : 0; + options = param3 || {}; + } + let blockSize = options.blockSize ?? 0; + if (blockSize < 0) { + throw new RangeError("blockSize option must be >= 0"); + } + if (blockSize === 0) { + blockSize = constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES; + } + if (offset < 0) { + throw new RangeError("offset option must be >= 0"); + } + if (count && count <= 0) { + throw new RangeError("count option must be greater than 0"); + } + if (!options.conditions) { + options.conditions = {}; + } + return tracing_js_1.tracingClient.withSpan("BlobClient-downloadToBuffer", options, async (updatedOptions) => { + if (!count) { + const response = await this.getProperties({ + ...options, + tracingOptions: updatedOptions.tracingOptions + }); + count = response.contentLength - offset; + if (count < 0) { + throw new RangeError(`offset ${offset} shouldn't be larger than blob size ${response.contentLength}`); + } + } + if (!buffer) { + try { + buffer = Buffer.alloc(count); + } catch (error3) { + throw new Error(`Unable to allocate the buffer of size: ${count}(in bytes). Please try passing your own buffer to the "downloadToBuffer" method or try using other methods like "download" or "downloadToFile". ${error3.message}`); + } + } + if (buffer.length < count) { + throw new RangeError(`The buffer's size should be equal to or larger than the request count of bytes: ${count}`); + } + let transferProgress = 0; + const batch = new Batch_js_1.Batch(options.concurrency); + for (let off = offset; off < offset + count; off = off + blockSize) { + batch.addOperation(async () => { + let chunkEnd = offset + count; + if (off + blockSize < chunkEnd) { + chunkEnd = off + blockSize; + } + const response = await this.download(off, chunkEnd - off, { + abortSignal: options.abortSignal, + conditions: options.conditions, + maxRetryRequests: options.maxRetryRequestsPerBlock, + customerProvidedKey: options.customerProvidedKey, + tracingOptions: updatedOptions.tracingOptions + }); + const stream = response.readableStreamBody; + await (0, utils_js_1.streamToBuffer)(stream, buffer, off - offset, chunkEnd - offset); + transferProgress += chunkEnd - off; + if (options.onProgress) { + options.onProgress({ loadedBytes: transferProgress }); + } + }); + } + await batch.do(); + return buffer; + }); + } + /** + * ONLY AVAILABLE IN NODE.JS RUNTIME. + * + * Downloads an Azure Blob to a local file. + * Fails if the the given file path already exits. + * Offset and count are optional, pass 0 and undefined respectively to download the entire blob. + * + * @param filePath - + * @param offset - From which position of the block blob to download. + * @param count - How much data to be downloaded. Will download to the end when passing undefined. + * @param options - Options to Blob download options. + * @returns The response data for blob download operation, + * but with readableStreamBody set to undefined since its + * content is already read and written into a local file + * at the specified path. + */ + async downloadToFile(filePath, offset = 0, count, options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobClient-downloadToFile", options, async (updatedOptions) => { + const response = await this.download(offset, count, { + ...options, + tracingOptions: updatedOptions.tracingOptions + }); + if (response.readableStreamBody) { + await (0, utils_js_1.readStreamToLocalFile)(response.readableStreamBody, filePath); + } + response.blobDownloadStream = void 0; + return response; + }); + } + getBlobAndContainerNamesFromUrl() { + let containerName; + let blobName; + try { + const parsedUrl = new URL(this.url); + if (parsedUrl.host.split(".")[1] === "blob") { + const pathComponents = parsedUrl.pathname.match("/([^/]*)(/(.*))?"); + containerName = pathComponents[1]; + blobName = pathComponents[3]; + } else if ((0, utils_common_js_1.isIpEndpointStyle)(parsedUrl)) { + const pathComponents = parsedUrl.pathname.match("/([^/]*)/([^/]*)(/(.*))?"); + containerName = pathComponents[2]; + blobName = pathComponents[4]; + } else { + const pathComponents = parsedUrl.pathname.match("/([^/]*)(/(.*))?"); + containerName = pathComponents[1]; + blobName = pathComponents[3]; + } + containerName = decodeURIComponent(containerName); + blobName = decodeURIComponent(blobName); + blobName = blobName.replace(/\\/g, "/"); + if (!containerName) { + throw new Error("Provided containerName is invalid."); + } + return { blobName, containerName }; + } catch (error3) { + throw new Error("Unable to extract blobName and containerName with provided information."); + } + } + /** + * Asynchronously copies a blob to a destination within the storage account. + * In version 2012-02-12 and later, the source for a Copy Blob operation can be + * a committed blob in any Azure storage account. + * Beginning with version 2015-02-21, the source for a Copy Blob operation can be + * an Azure file in any Azure storage account. + * Only storage accounts created on or after June 7th, 2012 allow the Copy Blob + * operation to copy from another storage account. + * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob + * + * @param copySource - url to the source Azure Blob/File. + * @param options - Optional options to the Blob Start Copy From URL operation. + */ + async startCopyFromURL(copySource, options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobClient-startCopyFromURL", options, async (updatedOptions) => { + options.conditions = options.conditions || {}; + options.sourceConditions = options.sourceConditions || {}; + return (0, utils_common_js_1.assertResponse)(await this.blobContext.startCopyFromURL(copySource, { + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + metadata: options.metadata, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + sourceModifiedAccessConditions: { + sourceIfMatch: options.sourceConditions.ifMatch, + sourceIfModifiedSince: options.sourceConditions.ifModifiedSince, + sourceIfNoneMatch: options.sourceConditions.ifNoneMatch, + sourceIfUnmodifiedSince: options.sourceConditions.ifUnmodifiedSince, + sourceIfTags: options.sourceConditions.tagConditions + }, + immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn, + immutabilityPolicyMode: options.immutabilityPolicy?.policyMode, + legalHold: options.legalHold, + rehydratePriority: options.rehydratePriority, + tier: (0, models_js_1.toAccessTier)(options.tier), + blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags), + sealBlob: options.sealBlob, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Only available for BlobClient constructed with a shared key credential. + * + * Generates a Blob Service Shared Access Signature (SAS) URI based on the client properties + * and parameters passed in. The SAS is signed by the shared key credential of the client. + * + * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas + * + * @param options - Optional parameters. + * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. + */ + generateSasUrl(options) { + return new Promise((resolve5) => { + if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) { + throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential"); + } + const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({ + containerName: this._containerName, + blobName: this._name, + snapshotTime: this._snapshot, + versionId: this._versionId, + ...options + }, this.credential).toString(); + resolve5((0, utils_common_js_1.appendToURLQuery)(this.url, sas)); + }); + } + /** + * Only available for BlobClient constructed with a shared key credential. + * + * Generates string to sign for a Blob Service Shared Access Signature (SAS) URI based on + * the client properties and parameters passed in. The SAS is signed by the shared key credential of the client. + * + * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas + * + * @param options - Optional parameters. + * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. + */ + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/ + generateSasStringToSign(options) { + if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) { + throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential"); + } + return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({ + containerName: this._containerName, + blobName: this._name, + snapshotTime: this._snapshot, + versionId: this._versionId, + ...options + }, this.credential).stringToSign; + } + /** + * + * Generates a Blob Service Shared Access Signature (SAS) URI based on + * the client properties and parameters passed in. The SAS is signed by the input user delegation key. + * + * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas + * + * @param options - Optional parameters. + * @param userDelegationKey - Return value of `blobServiceClient.getUserDelegationKey()` + * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. + */ + generateUserDelegationSasUrl(options, userDelegationKey) { + return new Promise((resolve5) => { + const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({ + containerName: this._containerName, + blobName: this._name, + snapshotTime: this._snapshot, + versionId: this._versionId, + ...options + }, userDelegationKey, this.accountName).toString(); + resolve5((0, utils_common_js_1.appendToURLQuery)(this.url, sas)); + }); + } + /** + * Only available for BlobClient constructed with a shared key credential. + * + * Generates string to sign for a Blob Service Shared Access Signature (SAS) URI based on + * the client properties and parameters passed in. The SAS is signed by the input user delegation key. + * + * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas + * + * @param options - Optional parameters. + * @param userDelegationKey - Return value of `blobServiceClient.getUserDelegationKey()` + * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. + */ + generateUserDelegationSasStringToSign(options, userDelegationKey) { + return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({ + containerName: this._containerName, + blobName: this._name, + snapshotTime: this._snapshot, + versionId: this._versionId, + ...options + }, userDelegationKey, this.accountName).stringToSign; + } + /** + * Delete the immutablility policy on the blob. + * + * @param options - Optional options to delete immutability policy on the blob. + */ + async deleteImmutabilityPolicy(options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobClient-deleteImmutabilityPolicy", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.blobContext.deleteImmutabilityPolicy({ + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Set immutability policy on the blob. + * + * @param options - Optional options to set immutability policy on the blob. + */ + async setImmutabilityPolicy(immutabilityPolicy, options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobClient-setImmutabilityPolicy", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.blobContext.setImmutabilityPolicy({ + immutabilityPolicyExpiry: immutabilityPolicy.expiriesOn, + immutabilityPolicyMode: immutabilityPolicy.policyMode, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Set legal hold on the blob. + * + * @param options - Optional options to set legal hold on the blob. + */ + async setLegalHold(legalHoldEnabled, options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobClient-setLegalHold", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.blobContext.setLegalHold(legalHoldEnabled, { + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * The Get Account Information operation returns the sku name and account kind + * for the specified account. + * The Get Account Information operation is available on service versions beginning + * with version 2018-03-28. + * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information + * + * @param options - Options to the Service Get Account Info operation. + * @returns Response data for the Service Get Account Info operation. + */ + async getAccountInfo(options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobClient-getAccountInfo", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.blobContext.getAccountInfo({ + abortSignal: options.abortSignal, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + }; + exports2.BlobClient = BlobClient; + var AppendBlobClient = class _AppendBlobClient extends BlobClient { + /** + * appendBlobsContext provided by protocol layer. + */ + appendBlobContext; + constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) { + let pipeline; + let url; + options = options || {}; + if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) { + url = urlOrConnectionString; + pipeline = credentialOrPipelineOrContainerName; + } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) { + url = urlOrConnectionString; + options = blobNameOrOptions; + pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options); + } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") { + url = urlOrConnectionString; + pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); + } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") { + const containerName = credentialOrPipelineOrContainerName; + const blobName = blobNameOrOptions; + const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString); + if (extractedCreds.kind === "AccountConnString") { + if (core_util_1.isNodeLike) { + const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey); + url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)); + if (!options.proxyOptions) { + options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri); + } + pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options); + } else { + throw new Error("Account connection string is only supported in Node.js environment"); + } + } else if (extractedCreds.kind === "SASConnString") { + url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas; + pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); + } else { + throw new Error("Connection string must be either an Account connection string or a SAS connection string"); + } + } else { + throw new Error("Expecting non-empty strings for containerName and blobName parameters"); + } + super(url, pipeline); + this.appendBlobContext = this.storageClientContext.appendBlob; + } + /** + * Creates a new AppendBlobClient object identical to the source but with the + * specified snapshot timestamp. + * Provide "" will remove the snapshot and return a Client to the base blob. + * + * @param snapshot - The snapshot timestamp. + * @returns A new AppendBlobClient object identical to the source but with the specified snapshot timestamp. + */ + withSnapshot(snapshot) { + return new _AppendBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline); + } + /** + * Creates a 0-length append blob. Call AppendBlock to append data to an append blob. + * @see https://learn.microsoft.com/rest/api/storageservices/put-blob + * + * @param options - Options to the Append Block Create operation. + * + * + * Example usage: + * + * ```ts snippet:ClientsCreateAppendBlob + * import { BlobServiceClient } from "@azure/storage-blob"; + * import { DefaultAzureCredential } from "@azure/identity"; + * + * const account = ""; + * const blobServiceClient = new BlobServiceClient( + * `https://${account}.blob.core.windows.net`, + * new DefaultAzureCredential(), + * ); + * + * const containerName = ""; + * const blobName = ""; + * const containerClient = blobServiceClient.getContainerClient(containerName); + * + * const appendBlobClient = containerClient.getAppendBlobClient(blobName); + * await appendBlobClient.create(); + * ``` + */ + async create(options = {}) { + options.conditions = options.conditions || {}; + (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); + return tracing_js_1.tracingClient.withSpan("AppendBlobClient-create", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.create(0, { + abortSignal: options.abortSignal, + blobHttpHeaders: options.blobHTTPHeaders, + leaseAccessConditions: options.conditions, + metadata: options.metadata, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + cpkInfo: options.customerProvidedKey, + encryptionScope: options.encryptionScope, + immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn, + immutabilityPolicyMode: options.immutabilityPolicy?.policyMode, + legalHold: options.legalHold, + blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags), + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Creates a 0-length append blob. Call AppendBlock to append data to an append blob. + * If the blob with the same name already exists, the content of the existing blob will remain unchanged. + * @see https://learn.microsoft.com/rest/api/storageservices/put-blob + * + * @param options - + */ + async createIfNotExists(options = {}) { + const conditions = { ifNoneMatch: constants_js_1.ETagAny }; + return tracing_js_1.tracingClient.withSpan("AppendBlobClient-createIfNotExists", options, async (updatedOptions) => { + try { + const res = (0, utils_common_js_1.assertResponse)(await this.create({ + ...updatedOptions, + conditions + })); + return { + succeeded: true, + ...res, + _response: res._response + // _response is made non-enumerable + }; + } catch (e) { + if (e.details?.errorCode === "BlobAlreadyExists") { + return { + succeeded: false, + ...e.response?.parsedHeaders, + _response: e.response + }; + } + throw e; + } + }); + } + /** + * Seals the append blob, making it read only. + * + * @param options - + */ + async seal(options = {}) { + options.conditions = options.conditions || {}; + return tracing_js_1.tracingClient.withSpan("AppendBlobClient-seal", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.seal({ + abortSignal: options.abortSignal, + appendPositionAccessConditions: options.conditions, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Commits a new block of data to the end of the existing append blob. + * @see https://learn.microsoft.com/rest/api/storageservices/append-block + * + * @param body - Data to be appended. + * @param contentLength - Length of the body in bytes. + * @param options - Options to the Append Block operation. + * + * + * Example usage: + * + * ```ts snippet:ClientsAppendBlock + * import { BlobServiceClient } from "@azure/storage-blob"; + * import { DefaultAzureCredential } from "@azure/identity"; + * + * const account = ""; + * const blobServiceClient = new BlobServiceClient( + * `https://${account}.blob.core.windows.net`, + * new DefaultAzureCredential(), + * ); + * + * const containerName = ""; + * const blobName = ""; + * const containerClient = blobServiceClient.getContainerClient(containerName); + * + * const content = "Hello World!"; + * + * // Create a new append blob and append data to the blob. + * const newAppendBlobClient = containerClient.getAppendBlobClient(blobName); + * await newAppendBlobClient.create(); + * await newAppendBlobClient.appendBlock(content, content.length); + * + * // Append data to an existing append blob. + * const existingAppendBlobClient = containerClient.getAppendBlobClient(blobName); + * await existingAppendBlobClient.appendBlock(content, content.length); + * ``` + */ + async appendBlock(body, contentLength, options = {}) { + options.conditions = options.conditions || {}; + (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); + return tracing_js_1.tracingClient.withSpan("AppendBlobClient-appendBlock", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.appendBlock(contentLength, body, { + abortSignal: options.abortSignal, + appendPositionAccessConditions: options.conditions, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + requestOptions: { + onUploadProgress: options.onProgress + }, + transactionalContentMD5: options.transactionalContentMD5, + transactionalContentCrc64: options.transactionalContentCrc64, + cpkInfo: options.customerProvidedKey, + encryptionScope: options.encryptionScope, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * The Append Block operation commits a new block of data to the end of an existing append blob + * where the contents are read from a source url. + * @see https://learn.microsoft.com/rest/api/storageservices/append-block-from-url + * + * @param sourceURL - + * The url to the blob that will be the source of the copy. A source blob in the same storage account can + * be authenticated via Shared Key. However, if the source is a blob in another account, the source blob + * must either be public or must be authenticated via a shared access signature. If the source blob is + * public, no authentication is required to perform the operation. + * @param sourceOffset - Offset in source to be appended + * @param count - Number of bytes to be appended as a block + * @param options - + */ + async appendBlockFromURL(sourceURL, sourceOffset, count, options = {}) { + options.conditions = options.conditions || {}; + options.sourceConditions = options.sourceConditions || {}; + (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); + return tracing_js_1.tracingClient.withSpan("AppendBlobClient-appendBlockFromURL", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.appendBlockFromUrl(sourceURL, 0, { + abortSignal: options.abortSignal, + sourceRange: (0, Range_js_1.rangeToString)({ offset: sourceOffset, count }), + sourceContentMD5: options.sourceContentMD5, + sourceContentCrc64: options.sourceContentCrc64, + leaseAccessConditions: options.conditions, + appendPositionAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + sourceModifiedAccessConditions: { + sourceIfMatch: options.sourceConditions?.ifMatch, + sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince, + sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch, + sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince + }, + copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization), + cpkInfo: options.customerProvidedKey, + encryptionScope: options.encryptionScope, + fileRequestIntent: options.sourceShareTokenIntent, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + }; + exports2.AppendBlobClient = AppendBlobClient; + var BlockBlobClient = class _BlockBlobClient extends BlobClient { + /** + * blobContext provided by protocol layer. + * + * Note. Ideally BlobClient should set BlobClient.blobContext to protected. However, API + * extractor has issue blocking that. Here we redecelare _blobContext in BlockBlobClient. + */ + _blobContext; + /** + * blockBlobContext provided by protocol layer. + */ + blockBlobContext; + constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) { + let pipeline; + let url; + options = options || {}; + if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) { + url = urlOrConnectionString; + pipeline = credentialOrPipelineOrContainerName; + } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) { + url = urlOrConnectionString; + options = blobNameOrOptions; + pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options); + } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") { + url = urlOrConnectionString; + if (blobNameOrOptions && typeof blobNameOrOptions !== "string") { + options = blobNameOrOptions; + } + pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); + } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") { + const containerName = credentialOrPipelineOrContainerName; + const blobName = blobNameOrOptions; + const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString); + if (extractedCreds.kind === "AccountConnString") { + if (core_util_1.isNodeLike) { + const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey); + url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)); + if (!options.proxyOptions) { + options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri); + } + pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options); + } else { + throw new Error("Account connection string is only supported in Node.js environment"); + } + } else if (extractedCreds.kind === "SASConnString") { + url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas; + pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); + } else { + throw new Error("Connection string must be either an Account connection string or a SAS connection string"); + } + } else { + throw new Error("Expecting non-empty strings for containerName and blobName parameters"); + } + super(url, pipeline); + this.blockBlobContext = this.storageClientContext.blockBlob; + this._blobContext = this.storageClientContext.blob; + } + /** + * Creates a new BlockBlobClient object identical to the source but with the + * specified snapshot timestamp. + * Provide "" will remove the snapshot and return a URL to the base blob. + * + * @param snapshot - The snapshot timestamp. + * @returns A new BlockBlobClient object identical to the source but with the specified snapshot timestamp. + */ + withSnapshot(snapshot) { + return new _BlockBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline); + } + /** + * ONLY AVAILABLE IN NODE.JS RUNTIME. + * + * Quick query for a JSON or CSV formatted blob. + * + * Example usage (Node.js): + * + * ```ts snippet:ClientsQuery + * import { BlobServiceClient } from "@azure/storage-blob"; + * import { DefaultAzureCredential } from "@azure/identity"; + * + * const account = ""; + * const blobServiceClient = new BlobServiceClient( + * `https://${account}.blob.core.windows.net`, + * new DefaultAzureCredential(), + * ); + * + * const containerName = ""; + * const blobName = ""; + * const containerClient = blobServiceClient.getContainerClient(containerName); + * const blockBlobClient = containerClient.getBlockBlobClient(blobName); + * + * // Query and convert a blob to a string + * const queryBlockBlobResponse = await blockBlobClient.query("select from BlobStorage"); + * if (queryBlockBlobResponse.readableStreamBody) { + * const downloadedBuffer = await streamToBuffer(queryBlockBlobResponse.readableStreamBody); + * const downloaded = downloadedBuffer.toString(); + * console.log(`Query blob content: ${downloaded}`); + * } + * + * async function streamToBuffer(readableStream: NodeJS.ReadableStream): Promise { + * return new Promise((resolve, reject) => { + * const chunks: Buffer[] = []; + * readableStream.on("data", (data) => { + * chunks.push(data instanceof Buffer ? data : Buffer.from(data)); + * }); + * readableStream.on("end", () => { + * resolve(Buffer.concat(chunks)); + * }); + * readableStream.on("error", reject); + * }); + * } + * ``` + * + * @param query - + * @param options - + */ + async query(query, options = {}) { + (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); + if (!core_util_1.isNodeLike) { + throw new Error("This operation currently is only supported in Node.js."); + } + return tracing_js_1.tracingClient.withSpan("BlockBlobClient-query", options, async (updatedOptions) => { + const response = (0, utils_common_js_1.assertResponse)(await this._blobContext.query({ + abortSignal: options.abortSignal, + queryRequest: { + queryType: "SQL", + expression: query, + inputSerialization: (0, utils_common_js_1.toQuerySerialization)(options.inputTextConfiguration), + outputSerialization: (0, utils_common_js_1.toQuerySerialization)(options.outputTextConfiguration) + }, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + cpkInfo: options.customerProvidedKey, + tracingOptions: updatedOptions.tracingOptions + })); + return new BlobQueryResponse_js_1.BlobQueryResponse(response, { + abortSignal: options.abortSignal, + onProgress: options.onProgress, + onError: options.onError + }); + }); + } + /** + * Creates a new block blob, or updates the content of an existing block blob. + * Updating an existing block blob overwrites any existing metadata on the blob. + * Partial updates are not supported; the content of the existing blob is + * overwritten with the new content. To perform a partial update of a block blob's, + * use {@link stageBlock} and {@link commitBlockList}. + * + * This is a non-parallel uploading method, please use {@link uploadFile}, + * {@link uploadStream} or {@link uploadBrowserData} for better performance + * with concurrency uploading. + * + * @see https://learn.microsoft.com/rest/api/storageservices/put-blob + * + * @param body - Blob, string, ArrayBuffer, ArrayBufferView or a function + * which returns a new Readable stream whose offset is from data source beginning. + * @param contentLength - Length of body in bytes. Use Buffer.byteLength() to calculate body length for a + * string including non non-Base64/Hex-encoded characters. + * @param options - Options to the Block Blob Upload operation. + * @returns Response data for the Block Blob Upload operation. + * + * Example usage: + * + * ```ts snippet:ClientsUpload + * import { BlobServiceClient } from "@azure/storage-blob"; + * import { DefaultAzureCredential } from "@azure/identity"; + * + * const account = ""; + * const blobServiceClient = new BlobServiceClient( + * `https://${account}.blob.core.windows.net`, + * new DefaultAzureCredential(), + * ); + * + * const containerName = ""; + * const blobName = ""; + * const containerClient = blobServiceClient.getContainerClient(containerName); + * const blockBlobClient = containerClient.getBlockBlobClient(blobName); + * + * const content = "Hello world!"; + * const uploadBlobResponse = await blockBlobClient.upload(content, content.length); + * ``` + */ + async upload(body, contentLength, options = {}) { + options.conditions = options.conditions || {}; + (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); + return tracing_js_1.tracingClient.withSpan("BlockBlobClient-upload", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.upload(contentLength, body, { + abortSignal: options.abortSignal, + blobHttpHeaders: options.blobHTTPHeaders, + leaseAccessConditions: options.conditions, + metadata: options.metadata, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + requestOptions: { + onUploadProgress: options.onProgress + }, + cpkInfo: options.customerProvidedKey, + encryptionScope: options.encryptionScope, + immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn, + immutabilityPolicyMode: options.immutabilityPolicy?.policyMode, + legalHold: options.legalHold, + tier: (0, models_js_1.toAccessTier)(options.tier), + blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags), + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Creates a new Block Blob where the contents of the blob are read from a given URL. + * This API is supported beginning with the 2020-04-08 version. Partial updates + * are not supported with Put Blob from URL; the content of an existing blob is overwritten with + * the content of the new blob. To perform partial updates to a block blob’s contents using a + * source URL, use {@link stageBlockFromURL} and {@link commitBlockList}. + * + * @param sourceURL - Specifies the URL of the blob. The value + * may be a URL of up to 2 KB in length that specifies a blob. + * The value should be URL-encoded as it would appear + * in a request URI. The source blob must either be public + * or must be authenticated via a shared access signature. + * If the source blob is public, no authentication is required + * to perform the operation. Here are some examples of source object URLs: + * - https://myaccount.blob.core.windows.net/mycontainer/myblob + * - https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot= + * @param options - Optional parameters. + */ + async syncUploadFromURL(sourceURL, options = {}) { + options.conditions = options.conditions || {}; + (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); + return tracing_js_1.tracingClient.withSpan("BlockBlobClient-syncUploadFromURL", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.putBlobFromUrl(0, sourceURL, { + ...options, + blobHttpHeaders: options.blobHTTPHeaders, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + sourceModifiedAccessConditions: { + sourceIfMatch: options.sourceConditions?.ifMatch, + sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince, + sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch, + sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince, + sourceIfTags: options.sourceConditions?.tagConditions + }, + cpkInfo: options.customerProvidedKey, + copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization), + tier: (0, models_js_1.toAccessTier)(options.tier), + blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags), + copySourceTags: options.copySourceTags, + fileRequestIntent: options.sourceShareTokenIntent, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Uploads the specified block to the block blob's "staging area" to be later + * committed by a call to commitBlockList. + * @see https://learn.microsoft.com/rest/api/storageservices/put-block + * + * @param blockId - A 64-byte value that is base64-encoded + * @param body - Data to upload to the staging area. + * @param contentLength - Number of bytes to upload. + * @param options - Options to the Block Blob Stage Block operation. + * @returns Response data for the Block Blob Stage Block operation. + */ + async stageBlock(blockId, body, contentLength, options = {}) { + (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); + return tracing_js_1.tracingClient.withSpan("BlockBlobClient-stageBlock", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.stageBlock(blockId, contentLength, body, { + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + requestOptions: { + onUploadProgress: options.onProgress + }, + transactionalContentMD5: options.transactionalContentMD5, + transactionalContentCrc64: options.transactionalContentCrc64, + cpkInfo: options.customerProvidedKey, + encryptionScope: options.encryptionScope, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * The Stage Block From URL operation creates a new block to be committed as part + * of a blob where the contents are read from a URL. + * This API is available starting in version 2018-03-28. + * @see https://learn.microsoft.com/rest/api/storageservices/put-block-from-url + * + * @param blockId - A 64-byte value that is base64-encoded + * @param sourceURL - Specifies the URL of the blob. The value + * may be a URL of up to 2 KB in length that specifies a blob. + * The value should be URL-encoded as it would appear + * in a request URI. The source blob must either be public + * or must be authenticated via a shared access signature. + * If the source blob is public, no authentication is required + * to perform the operation. Here are some examples of source object URLs: + * - https://myaccount.blob.core.windows.net/mycontainer/myblob + * - https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot= + * @param offset - From which position of the blob to download, greater than or equal to 0 + * @param count - How much data to be downloaded, greater than 0. Will download to the end when undefined + * @param options - Options to the Block Blob Stage Block From URL operation. + * @returns Response data for the Block Blob Stage Block From URL operation. + */ + async stageBlockFromURL(blockId, sourceURL, offset = 0, count, options = {}) { + (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); + return tracing_js_1.tracingClient.withSpan("BlockBlobClient-stageBlockFromURL", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.stageBlockFromURL(blockId, 0, sourceURL, { + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + sourceContentMD5: options.sourceContentMD5, + sourceContentCrc64: options.sourceContentCrc64, + sourceRange: offset === 0 && !count ? void 0 : (0, Range_js_1.rangeToString)({ offset, count }), + cpkInfo: options.customerProvidedKey, + encryptionScope: options.encryptionScope, + copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization), + fileRequestIntent: options.sourceShareTokenIntent, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Writes a blob by specifying the list of block IDs that make up the blob. + * In order to be written as part of a blob, a block must have been successfully written + * to the server in a prior {@link stageBlock} operation. You can call {@link commitBlockList} to + * update a blob by uploading only those blocks that have changed, then committing the new and existing + * blocks together. Any blocks not specified in the block list and permanently deleted. + * @see https://learn.microsoft.com/rest/api/storageservices/put-block-list + * + * @param blocks - Array of 64-byte value that is base64-encoded + * @param options - Options to the Block Blob Commit Block List operation. + * @returns Response data for the Block Blob Commit Block List operation. + */ + async commitBlockList(blocks, options = {}) { + options.conditions = options.conditions || {}; + (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); + return tracing_js_1.tracingClient.withSpan("BlockBlobClient-commitBlockList", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.commitBlockList({ latest: blocks }, { + abortSignal: options.abortSignal, + blobHttpHeaders: options.blobHTTPHeaders, + leaseAccessConditions: options.conditions, + metadata: options.metadata, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + cpkInfo: options.customerProvidedKey, + encryptionScope: options.encryptionScope, + immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn, + immutabilityPolicyMode: options.immutabilityPolicy?.policyMode, + legalHold: options.legalHold, + tier: (0, models_js_1.toAccessTier)(options.tier), + blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags), + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Returns the list of blocks that have been uploaded as part of a block blob + * using the specified block list filter. + * @see https://learn.microsoft.com/rest/api/storageservices/get-block-list + * + * @param listType - Specifies whether to return the list of committed blocks, + * the list of uncommitted blocks, or both lists together. + * @param options - Options to the Block Blob Get Block List operation. + * @returns Response data for the Block Blob Get Block List operation. + */ + async getBlockList(listType, options = {}) { + return tracing_js_1.tracingClient.withSpan("BlockBlobClient-getBlockList", options, async (updatedOptions) => { + const res = (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.getBlockList(listType, { + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + tracingOptions: updatedOptions.tracingOptions + })); + if (!res.committedBlocks) { + res.committedBlocks = []; + } + if (!res.uncommittedBlocks) { + res.uncommittedBlocks = []; + } + return res; + }); + } + // High level functions + /** + * Uploads a Buffer(Node.js)/Blob(browsers)/ArrayBuffer/ArrayBufferView object to a BlockBlob. + * + * When data length is no more than the specifiled {@link BlockBlobParallelUploadOptions.maxSingleShotSize} (default is + * {@link BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}), this method will use 1 {@link upload} call to finish the upload. + * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call {@link commitBlockList} + * to commit the block list. + * + * A common {@link BlockBlobParallelUploadOptions.blobHTTPHeaders} option to set is + * `blobContentType`, enabling the browser to provide + * functionality based on file type. + * + * @param data - Buffer(Node.js), Blob, ArrayBuffer or ArrayBufferView + * @param options - + */ + async uploadData(data, options = {}) { + return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadData", options, async (updatedOptions) => { + if (core_util_1.isNodeLike) { + let buffer; + if (data instanceof Buffer) { + buffer = data; + } else if (data instanceof ArrayBuffer) { + buffer = Buffer.from(data); + } else { + data = data; + buffer = Buffer.from(data.buffer, data.byteOffset, data.byteLength); + } + return this.uploadSeekableInternal((offset, size) => buffer.slice(offset, offset + size), buffer.byteLength, updatedOptions); + } else { + const browserBlob = new Blob([data]); + return this.uploadSeekableInternal((offset, size) => browserBlob.slice(offset, offset + size), browserBlob.size, updatedOptions); + } + }); + } + /** + * ONLY AVAILABLE IN BROWSERS. + * + * Uploads a browser Blob/File/ArrayBuffer/ArrayBufferView object to block blob. + * + * When buffer length lesser than or equal to 256MB, this method will use 1 upload call to finish the upload. + * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call + * {@link commitBlockList} to commit the block list. + * + * A common {@link BlockBlobParallelUploadOptions.blobHTTPHeaders} option to set is + * `blobContentType`, enabling the browser to provide + * functionality based on file type. + * + * @deprecated Use {@link uploadData} instead. + * + * @param browserData - Blob, File, ArrayBuffer or ArrayBufferView + * @param options - Options to upload browser data. + * @returns Response data for the Blob Upload operation. + */ + async uploadBrowserData(browserData, options = {}) { + return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadBrowserData", options, async (updatedOptions) => { + const browserBlob = new Blob([browserData]); + return this.uploadSeekableInternal((offset, size) => browserBlob.slice(offset, offset + size), browserBlob.size, updatedOptions); + }); + } + /** + * + * Uploads data to block blob. Requires a bodyFactory as the data source, + * which need to return a {@link HttpRequestBody} object with the offset and size provided. + * + * When data length is no more than the specified {@link BlockBlobParallelUploadOptions.maxSingleShotSize} (default is + * {@link BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}), this method will use 1 {@link upload} call to finish the upload. + * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call {@link commitBlockList} + * to commit the block list. + * + * @param bodyFactory - + * @param size - size of the data to upload. + * @param options - Options to Upload to Block Blob operation. + * @returns Response data for the Blob Upload operation. + */ + async uploadSeekableInternal(bodyFactory, size, options = {}) { + let blockSize = options.blockSize ?? 0; + if (blockSize < 0 || blockSize > constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES) { + throw new RangeError(`blockSize option must be >= 0 and <= ${constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES}`); + } + const maxSingleShotSize = options.maxSingleShotSize ?? constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES; + if (maxSingleShotSize < 0 || maxSingleShotSize > constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES) { + throw new RangeError(`maxSingleShotSize option must be >= 0 and <= ${constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}`); + } + if (blockSize === 0) { + if (size > constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES * constants_js_1.BLOCK_BLOB_MAX_BLOCKS) { + throw new RangeError(`${size} is too larger to upload to a block blob.`); + } + if (size > maxSingleShotSize) { + blockSize = Math.ceil(size / constants_js_1.BLOCK_BLOB_MAX_BLOCKS); + if (blockSize < constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES) { + blockSize = constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES; + } + } + } + if (!options.blobHTTPHeaders) { + options.blobHTTPHeaders = {}; + } + if (!options.conditions) { + options.conditions = {}; + } + return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadSeekableInternal", options, async (updatedOptions) => { + if (size <= maxSingleShotSize) { + return (0, utils_common_js_1.assertResponse)(await this.upload(bodyFactory(0, size), size, updatedOptions)); + } + const numBlocks = Math.floor((size - 1) / blockSize) + 1; + if (numBlocks > constants_js_1.BLOCK_BLOB_MAX_BLOCKS) { + throw new RangeError(`The buffer's size is too big or the BlockSize is too small;the number of blocks must be <= ${constants_js_1.BLOCK_BLOB_MAX_BLOCKS}`); + } + const blockList = []; + const blockIDPrefix = (0, core_util_2.randomUUID)(); + let transferProgress = 0; + const batch = new Batch_js_1.Batch(options.concurrency); + for (let i = 0; i < numBlocks; i++) { + batch.addOperation(async () => { + const blockID = (0, utils_common_js_1.generateBlockID)(blockIDPrefix, i); + const start = blockSize * i; + const end = i === numBlocks - 1 ? size : start + blockSize; + const contentLength = end - start; + blockList.push(blockID); + await this.stageBlock(blockID, bodyFactory(start, contentLength), contentLength, { + abortSignal: options.abortSignal, + conditions: options.conditions, + encryptionScope: options.encryptionScope, + tracingOptions: updatedOptions.tracingOptions + }); + transferProgress += contentLength; + if (options.onProgress) { + options.onProgress({ + loadedBytes: transferProgress + }); + } + }); + } + await batch.do(); + return this.commitBlockList(blockList, updatedOptions); + }); + } + /** + * ONLY AVAILABLE IN NODE.JS RUNTIME. + * + * Uploads a local file in blocks to a block blob. + * + * When file size lesser than or equal to 256MB, this method will use 1 upload call to finish the upload. + * Otherwise, this method will call stageBlock to upload blocks, and finally call commitBlockList + * to commit the block list. + * + * @param filePath - Full path of local file + * @param options - Options to Upload to Block Blob operation. + * @returns Response data for the Blob Upload operation. + */ + async uploadFile(filePath, options = {}) { + return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadFile", options, async (updatedOptions) => { + const size = (await (0, utils_js_1.fsStat)(filePath)).size; + return this.uploadSeekableInternal((offset, count) => { + return () => (0, utils_js_1.fsCreateReadStream)(filePath, { + autoClose: true, + end: count ? offset + count - 1 : Infinity, + start: offset + }); + }, size, { + ...options, + tracingOptions: updatedOptions.tracingOptions + }); + }); + } + /** + * ONLY AVAILABLE IN NODE.JS RUNTIME. + * + * Uploads a Node.js Readable stream into block blob. + * + * PERFORMANCE IMPROVEMENT TIPS: + * * Input stream highWaterMark is better to set a same value with bufferSize + * parameter, which will avoid Buffer.concat() operations. + * + * @param stream - Node.js Readable stream + * @param bufferSize - Size of every buffer allocated, also the block size in the uploaded block blob. Default value is 8MB + * @param maxConcurrency - Max concurrency indicates the max number of buffers that can be allocated, + * positive correlation with max uploading concurrency. Default value is 5 + * @param options - Options to Upload Stream to Block Blob operation. + * @returns Response data for the Blob Upload operation. + */ + async uploadStream(stream, bufferSize = constants_js_1.DEFAULT_BLOCK_BUFFER_SIZE_BYTES, maxConcurrency = 5, options = {}) { + if (!options.blobHTTPHeaders) { + options.blobHTTPHeaders = {}; + } + if (!options.conditions) { + options.conditions = {}; + } + return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadStream", options, async (updatedOptions) => { + let blockNum = 0; + const blockIDPrefix = (0, core_util_2.randomUUID)(); + let transferProgress = 0; + const blockList = []; + const scheduler = new storage_common_1.BufferScheduler( + stream, + bufferSize, + maxConcurrency, + async (body, length) => { + const blockID = (0, utils_common_js_1.generateBlockID)(blockIDPrefix, blockNum); + blockList.push(blockID); + blockNum++; + await this.stageBlock(blockID, body, length, { + customerProvidedKey: options.customerProvidedKey, + conditions: options.conditions, + encryptionScope: options.encryptionScope, + tracingOptions: updatedOptions.tracingOptions + }); + transferProgress += length; + if (options.onProgress) { + options.onProgress({ loadedBytes: transferProgress }); + } + }, + // concurrency should set a smaller value than maxConcurrency, which is helpful to + // reduce the possibility when a outgoing handler waits for stream data, in + // this situation, outgoing handlers are blocked. + // Outgoing queue shouldn't be empty. + Math.ceil(maxConcurrency / 4 * 3) + ); + await scheduler.do(); + return (0, utils_common_js_1.assertResponse)(await this.commitBlockList(blockList, { + ...options, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + }; + exports2.BlockBlobClient = BlockBlobClient; + var PageBlobClient = class _PageBlobClient extends BlobClient { + /** + * pageBlobsContext provided by protocol layer. + */ + pageBlobContext; + constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) { + let pipeline; + let url; + options = options || {}; + if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) { + url = urlOrConnectionString; + pipeline = credentialOrPipelineOrContainerName; + } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) { + url = urlOrConnectionString; + options = blobNameOrOptions; + pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options); + } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") { + url = urlOrConnectionString; + pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); + } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") { + const containerName = credentialOrPipelineOrContainerName; + const blobName = blobNameOrOptions; + const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString); + if (extractedCreds.kind === "AccountConnString") { + if (core_util_1.isNodeLike) { + const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey); + url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)); + if (!options.proxyOptions) { + options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri); + } + pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options); + } else { + throw new Error("Account connection string is only supported in Node.js environment"); + } + } else if (extractedCreds.kind === "SASConnString") { + url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas; + pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); + } else { + throw new Error("Connection string must be either an Account connection string or a SAS connection string"); + } + } else { + throw new Error("Expecting non-empty strings for containerName and blobName parameters"); + } + super(url, pipeline); + this.pageBlobContext = this.storageClientContext.pageBlob; + } + /** + * Creates a new PageBlobClient object identical to the source but with the + * specified snapshot timestamp. + * Provide "" will remove the snapshot and return a Client to the base blob. + * + * @param snapshot - The snapshot timestamp. + * @returns A new PageBlobClient object identical to the source but with the specified snapshot timestamp. + */ + withSnapshot(snapshot) { + return new _PageBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline); + } + /** + * Creates a page blob of the specified length. Call uploadPages to upload data + * data to a page blob. + * @see https://learn.microsoft.com/rest/api/storageservices/put-blob + * + * @param size - size of the page blob. + * @param options - Options to the Page Blob Create operation. + * @returns Response data for the Page Blob Create operation. + */ + async create(size, options = {}) { + options.conditions = options.conditions || {}; + (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); + return tracing_js_1.tracingClient.withSpan("PageBlobClient-create", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.create(0, size, { + abortSignal: options.abortSignal, + blobHttpHeaders: options.blobHTTPHeaders, + blobSequenceNumber: options.blobSequenceNumber, + leaseAccessConditions: options.conditions, + metadata: options.metadata, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + cpkInfo: options.customerProvidedKey, + encryptionScope: options.encryptionScope, + immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn, + immutabilityPolicyMode: options.immutabilityPolicy?.policyMode, + legalHold: options.legalHold, + tier: (0, models_js_1.toAccessTier)(options.tier), + blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags), + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Creates a page blob of the specified length. Call uploadPages to upload data + * data to a page blob. If the blob with the same name already exists, the content + * of the existing blob will remain unchanged. + * @see https://learn.microsoft.com/rest/api/storageservices/put-blob + * + * @param size - size of the page blob. + * @param options - + */ + async createIfNotExists(size, options = {}) { + return tracing_js_1.tracingClient.withSpan("PageBlobClient-createIfNotExists", options, async (updatedOptions) => { + try { + const conditions = { ifNoneMatch: constants_js_1.ETagAny }; + const res = (0, utils_common_js_1.assertResponse)(await this.create(size, { + ...options, + conditions, + tracingOptions: updatedOptions.tracingOptions + })); + return { + succeeded: true, + ...res, + _response: res._response + // _response is made non-enumerable + }; + } catch (e) { + if (e.details?.errorCode === "BlobAlreadyExists") { + return { + succeeded: false, + ...e.response?.parsedHeaders, + _response: e.response + }; + } + throw e; + } + }); + } + /** + * Writes 1 or more pages to the page blob. The start and end offsets must be a multiple of 512. + * @see https://learn.microsoft.com/rest/api/storageservices/put-page + * + * @param body - Data to upload + * @param offset - Offset of destination page blob + * @param count - Content length of the body, also number of bytes to be uploaded + * @param options - Options to the Page Blob Upload Pages operation. + * @returns Response data for the Page Blob Upload Pages operation. + */ + async uploadPages(body, offset, count, options = {}) { + options.conditions = options.conditions || {}; + (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); + return tracing_js_1.tracingClient.withSpan("PageBlobClient-uploadPages", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.uploadPages(count, body, { + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + requestOptions: { + onUploadProgress: options.onProgress + }, + range: (0, Range_js_1.rangeToString)({ offset, count }), + sequenceNumberAccessConditions: options.conditions, + transactionalContentMD5: options.transactionalContentMD5, + transactionalContentCrc64: options.transactionalContentCrc64, + cpkInfo: options.customerProvidedKey, + encryptionScope: options.encryptionScope, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * The Upload Pages operation writes a range of pages to a page blob where the + * contents are read from a URL. + * @see https://learn.microsoft.com/rest/api/storageservices/put-page-from-url + * + * @param sourceURL - Specify a URL to the copy source, Shared Access Signature(SAS) maybe needed for authentication + * @param sourceOffset - The source offset to copy from. Pass 0 to copy from the beginning of source page blob + * @param destOffset - Offset of destination page blob + * @param count - Number of bytes to be uploaded from source page blob + * @param options - + */ + async uploadPagesFromURL(sourceURL, sourceOffset, destOffset, count, options = {}) { + options.conditions = options.conditions || {}; + options.sourceConditions = options.sourceConditions || {}; + (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); + return tracing_js_1.tracingClient.withSpan("PageBlobClient-uploadPagesFromURL", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.uploadPagesFromURL(sourceURL, (0, Range_js_1.rangeToString)({ offset: sourceOffset, count }), 0, (0, Range_js_1.rangeToString)({ offset: destOffset, count }), { + abortSignal: options.abortSignal, + sourceContentMD5: options.sourceContentMD5, + sourceContentCrc64: options.sourceContentCrc64, + leaseAccessConditions: options.conditions, + sequenceNumberAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + sourceModifiedAccessConditions: { + sourceIfMatch: options.sourceConditions?.ifMatch, + sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince, + sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch, + sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince + }, + cpkInfo: options.customerProvidedKey, + encryptionScope: options.encryptionScope, + copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization), + fileRequestIntent: options.sourceShareTokenIntent, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Frees the specified pages from the page blob. + * @see https://learn.microsoft.com/rest/api/storageservices/put-page + * + * @param offset - Starting byte position of the pages to clear. + * @param count - Number of bytes to clear. + * @param options - Options to the Page Blob Clear Pages operation. + * @returns Response data for the Page Blob Clear Pages operation. + */ + async clearPages(offset = 0, count, options = {}) { + options.conditions = options.conditions || {}; + return tracing_js_1.tracingClient.withSpan("PageBlobClient-clearPages", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.clearPages(0, { + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + range: (0, Range_js_1.rangeToString)({ offset, count }), + sequenceNumberAccessConditions: options.conditions, + cpkInfo: options.customerProvidedKey, + encryptionScope: options.encryptionScope, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Returns the list of valid page ranges for a page blob or snapshot of a page blob. + * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges + * + * @param offset - Starting byte position of the page ranges. + * @param count - Number of bytes to get. + * @param options - Options to the Page Blob Get Ranges operation. + * @returns Response data for the Page Blob Get Ranges operation. + */ + async getPageRanges(offset = 0, count, options = {}) { + options.conditions = options.conditions || {}; + return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRanges", options, async (updatedOptions) => { + const response = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRanges({ + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + range: (0, Range_js_1.rangeToString)({ offset, count }), + tracingOptions: updatedOptions.tracingOptions + })); + return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(response); + }); + } + /** + * getPageRangesSegment returns a single segment of page ranges starting from the + * specified Marker. Use an empty Marker to start enumeration from the beginning. + * After getting a segment, process it, and then call getPageRangesSegment again + * (passing the the previously-returned Marker) to get the next segment. + * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges + * + * @param offset - Starting byte position of the page ranges. + * @param count - Number of bytes to get. + * @param marker - A string value that identifies the portion of the list to be returned with the next list operation. + * @param options - Options to PageBlob Get Page Ranges Segment operation. + */ + async listPageRangesSegment(offset = 0, count, marker, options = {}) { + return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesSegment", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRanges({ + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + range: (0, Range_js_1.rangeToString)({ offset, count }), + marker, + maxPageSize: options.maxPageSize, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Returns an AsyncIterableIterator for {@link PageBlobGetPageRangesResponseModel} + * + * @param offset - Starting byte position of the page ranges. + * @param count - Number of bytes to get. + * @param marker - A string value that identifies the portion of + * the get of page ranges to be returned with the next getting operation. The + * operation returns the ContinuationToken value within the response body if the + * getting operation did not return all page ranges remaining within the current page. + * The ContinuationToken value can be used as the value for + * the marker parameter in a subsequent call to request the next page of get + * items. The marker value is opaque to the client. + * @param options - Options to List Page Ranges operation. + */ + async *listPageRangeItemSegments(offset = 0, count, marker, options = {}) { + let getPageRangeItemSegmentsResponse; + if (!!marker || marker === void 0) { + do { + getPageRangeItemSegmentsResponse = await this.listPageRangesSegment(offset, count, marker, options); + marker = getPageRangeItemSegmentsResponse.continuationToken; + yield await getPageRangeItemSegmentsResponse; + } while (marker); + } + } + /** + * Returns an AsyncIterableIterator of {@link PageRangeInfo} objects + * + * @param offset - Starting byte position of the page ranges. + * @param count - Number of bytes to get. + * @param options - Options to List Page Ranges operation. + */ + async *listPageRangeItems(offset = 0, count, options = {}) { + let marker; + for await (const getPageRangesSegment of this.listPageRangeItemSegments(offset, count, marker, options)) { + yield* (0, utils_common_js_1.ExtractPageRangeInfoItems)(getPageRangesSegment); + } + } + /** + * Returns an async iterable iterator to list of page ranges for a page blob. + * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges + * + * .byPage() returns an async iterable iterator to list of page ranges for a page blob. + * + * ```ts snippet:ClientsListPageBlobs + * import { BlobServiceClient } from "@azure/storage-blob"; + * import { DefaultAzureCredential } from "@azure/identity"; + * + * const account = ""; + * const blobServiceClient = new BlobServiceClient( + * `https://${account}.blob.core.windows.net`, + * new DefaultAzureCredential(), + * ); + * + * const containerName = ""; + * const blobName = ""; + * const containerClient = blobServiceClient.getContainerClient(containerName); + * const pageBlobClient = containerClient.getPageBlobClient(blobName); + * + * // Example using `for await` syntax + * let i = 1; + * for await (const pageRange of pageBlobClient.listPageRanges()) { + * console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`); + * } + * + * // Example using `iter.next()` syntax + * i = 1; + * const iter = pageBlobClient.listPageRanges(); + * let { value, done } = await iter.next(); + * while (!done) { + * console.log(`Page range ${i++}: ${value.start} - ${value.end}`); + * ({ value, done } = await iter.next()); + * } + * + * // Example using `byPage()` syntax + * i = 1; + * for await (const page of pageBlobClient.listPageRanges().byPage({ maxPageSize: 20 })) { + * for (const pageRange of page.pageRange || []) { + * console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`); + * } + * } + * + * // Example using paging with a marker + * i = 1; + * let iterator = pageBlobClient.listPageRanges().byPage({ maxPageSize: 2 }); + * let response = (await iterator.next()).value; + * // Prints 2 page ranges + * if (response.pageRange) { + * for (const pageRange of response.pageRange) { + * console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`); + * } + * } + * // Gets next marker + * let marker = response.continuationToken; + * // Passing next marker as continuationToken + * iterator = pageBlobClient.listPageRanges().byPage({ continuationToken: marker, maxPageSize: 10 }); + * response = (await iterator.next()).value; + * // Prints 10 page ranges + * if (response.pageRange) { + * for (const pageRange of response.pageRange) { + * console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`); + * } + * } + * ``` + * + * @param offset - Starting byte position of the page ranges. + * @param count - Number of bytes to get. + * @param options - Options to the Page Blob Get Ranges operation. + * @returns An asyncIterableIterator that supports paging. + */ + listPageRanges(offset = 0, count, options = {}) { + options.conditions = options.conditions || {}; + const iter = this.listPageRangeItems(offset, count, options); + return { + /** + * The next method, part of the iteration protocol + */ + next() { + return iter.next(); + }, + /** + * The connection to the async iterator, part of the iteration protocol + */ + [Symbol.asyncIterator]() { + return this; + }, + /** + * Return an AsyncIterableIterator that works a page at a time + */ + byPage: (settings = {}) => { + return this.listPageRangeItemSegments(offset, count, settings.continuationToken, { + maxPageSize: settings.maxPageSize, + ...options + }); + } + }; + } + /** + * Gets the collection of page ranges that differ between a specified snapshot and this page blob. + * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges + * + * @param offset - Starting byte position of the page blob + * @param count - Number of bytes to get ranges diff. + * @param prevSnapshot - Timestamp of snapshot to retrieve the difference. + * @param options - Options to the Page Blob Get Page Ranges Diff operation. + * @returns Response data for the Page Blob Get Page Range Diff operation. + */ + async getPageRangesDiff(offset, count, prevSnapshot, options = {}) { + options.conditions = options.conditions || {}; + return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesDiff", options, async (updatedOptions) => { + const result = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({ + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + prevsnapshot: prevSnapshot, + range: (0, Range_js_1.rangeToString)({ offset, count }), + tracingOptions: updatedOptions.tracingOptions + })); + return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(result); + }); + } + /** + * getPageRangesDiffSegment returns a single segment of page ranges starting from the + * specified Marker for difference between previous snapshot and the target page blob. + * Use an empty Marker to start enumeration from the beginning. + * After getting a segment, process it, and then call getPageRangesDiffSegment again + * (passing the the previously-returned Marker) to get the next segment. + * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges + * + * @param offset - Starting byte position of the page ranges. + * @param count - Number of bytes to get. + * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference. + * @param marker - A string value that identifies the portion of the get to be returned with the next get operation. + * @param options - Options to the Page Blob Get Page Ranges Diff operation. + */ + async listPageRangesDiffSegment(offset, count, prevSnapshotOrUrl, marker, options = {}) { + return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesDiffSegment", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({ + abortSignal: options?.abortSignal, + leaseAccessConditions: options?.conditions, + modifiedAccessConditions: { + ...options?.conditions, + ifTags: options?.conditions?.tagConditions + }, + prevsnapshot: prevSnapshotOrUrl, + range: (0, Range_js_1.rangeToString)({ + offset, + count + }), + marker, + maxPageSize: options?.maxPageSize, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Returns an AsyncIterableIterator for {@link PageBlobGetPageRangesDiffResponseModel} + * + * + * @param offset - Starting byte position of the page ranges. + * @param count - Number of bytes to get. + * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference. + * @param marker - A string value that identifies the portion of + * the get of page ranges to be returned with the next getting operation. The + * operation returns the ContinuationToken value within the response body if the + * getting operation did not return all page ranges remaining within the current page. + * The ContinuationToken value can be used as the value for + * the marker parameter in a subsequent call to request the next page of get + * items. The marker value is opaque to the client. + * @param options - Options to the Page Blob Get Page Ranges Diff operation. + */ + async *listPageRangeDiffItemSegments(offset, count, prevSnapshotOrUrl, marker, options) { + let getPageRangeItemSegmentsResponse; + if (!!marker || marker === void 0) { + do { + getPageRangeItemSegmentsResponse = await this.listPageRangesDiffSegment(offset, count, prevSnapshotOrUrl, marker, options); + marker = getPageRangeItemSegmentsResponse.continuationToken; + yield await getPageRangeItemSegmentsResponse; + } while (marker); + } + } + /** + * Returns an AsyncIterableIterator of {@link PageRangeInfo} objects + * + * @param offset - Starting byte position of the page ranges. + * @param count - Number of bytes to get. + * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference. + * @param options - Options to the Page Blob Get Page Ranges Diff operation. + */ + async *listPageRangeDiffItems(offset, count, prevSnapshotOrUrl, options) { + let marker; + for await (const getPageRangesSegment of this.listPageRangeDiffItemSegments(offset, count, prevSnapshotOrUrl, marker, options)) { + yield* (0, utils_common_js_1.ExtractPageRangeInfoItems)(getPageRangesSegment); + } + } + /** + * Returns an async iterable iterator to list of page ranges that differ between a specified snapshot and this page blob. + * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges + * + * .byPage() returns an async iterable iterator to list of page ranges that differ between a specified snapshot and this page blob. + * + * ```ts snippet:ClientsListPageBlobsDiff + * import { BlobServiceClient } from "@azure/storage-blob"; + * import { DefaultAzureCredential } from "@azure/identity"; + * + * const account = ""; + * const blobServiceClient = new BlobServiceClient( + * `https://${account}.blob.core.windows.net`, + * new DefaultAzureCredential(), + * ); + * + * const containerName = ""; + * const blobName = ""; + * const containerClient = blobServiceClient.getContainerClient(containerName); + * const pageBlobClient = containerClient.getPageBlobClient(blobName); + * + * const offset = 0; + * const count = 1024; + * const previousSnapshot = ""; + * // Example using `for await` syntax + * let i = 1; + * for await (const pageRange of pageBlobClient.listPageRangesDiff(offset, count, previousSnapshot)) { + * console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`); + * } + * + * // Example using `iter.next()` syntax + * i = 1; + * const iter = pageBlobClient.listPageRangesDiff(offset, count, previousSnapshot); + * let { value, done } = await iter.next(); + * while (!done) { + * console.log(`Page range ${i++}: ${value.start} - ${value.end}`); + * ({ value, done } = await iter.next()); + * } + * + * // Example using `byPage()` syntax + * i = 1; + * for await (const page of pageBlobClient + * .listPageRangesDiff(offset, count, previousSnapshot) + * .byPage({ maxPageSize: 20 })) { + * for (const pageRange of page.pageRange || []) { + * console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`); + * } + * } + * + * // Example using paging with a marker + * i = 1; + * let iterator = pageBlobClient + * .listPageRangesDiff(offset, count, previousSnapshot) + * .byPage({ maxPageSize: 2 }); + * let response = (await iterator.next()).value; + * // Prints 2 page ranges + * if (response.pageRange) { + * for (const pageRange of response.pageRange) { + * console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`); + * } + * } + * // Gets next marker + * let marker = response.continuationToken; + * // Passing next marker as continuationToken + * iterator = pageBlobClient + * .listPageRangesDiff(offset, count, previousSnapshot) + * .byPage({ continuationToken: marker, maxPageSize: 10 }); + * response = (await iterator.next()).value; + * // Prints 10 page ranges + * if (response.pageRange) { + * for (const pageRange of response.pageRange) { + * console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`); + * } + * } + * ``` + * + * @param offset - Starting byte position of the page ranges. + * @param count - Number of bytes to get. + * @param prevSnapshot - Timestamp of snapshot to retrieve the difference. + * @param options - Options to the Page Blob Get Ranges operation. + * @returns An asyncIterableIterator that supports paging. + */ + listPageRangesDiff(offset, count, prevSnapshot, options = {}) { + options.conditions = options.conditions || {}; + const iter = this.listPageRangeDiffItems(offset, count, prevSnapshot, { + ...options + }); + return { + /** + * The next method, part of the iteration protocol + */ + next() { + return iter.next(); + }, + /** + * The connection to the async iterator, part of the iteration protocol + */ + [Symbol.asyncIterator]() { + return this; + }, + /** + * Return an AsyncIterableIterator that works a page at a time + */ + byPage: (settings = {}) => { + return this.listPageRangeDiffItemSegments(offset, count, prevSnapshot, settings.continuationToken, { + maxPageSize: settings.maxPageSize, + ...options + }); + } + }; + } + /** + * Gets the collection of page ranges that differ between a specified snapshot and this page blob for managed disks. + * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges + * + * @param offset - Starting byte position of the page blob + * @param count - Number of bytes to get ranges diff. + * @param prevSnapshotUrl - URL of snapshot to retrieve the difference. + * @param options - Options to the Page Blob Get Page Ranges Diff operation. + * @returns Response data for the Page Blob Get Page Range Diff operation. + */ + async getPageRangesDiffForManagedDisks(offset, count, prevSnapshotUrl, options = {}) { + options.conditions = options.conditions || {}; + return tracing_js_1.tracingClient.withSpan("PageBlobClient-GetPageRangesDiffForManagedDisks", options, async (updatedOptions) => { + const response = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({ + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + prevSnapshotUrl, + range: (0, Range_js_1.rangeToString)({ offset, count }), + tracingOptions: updatedOptions.tracingOptions + })); + return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(response); + }); + } + /** + * Resizes the page blob to the specified size (which must be a multiple of 512). + * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties + * + * @param size - Target size + * @param options - Options to the Page Blob Resize operation. + * @returns Response data for the Page Blob Resize operation. + */ + async resize(size, options = {}) { + options.conditions = options.conditions || {}; + return tracing_js_1.tracingClient.withSpan("PageBlobClient-resize", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.resize(size, { + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + encryptionScope: options.encryptionScope, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Sets a page blob's sequence number. + * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties + * + * @param sequenceNumberAction - Indicates how the service should modify the blob's sequence number. + * @param sequenceNumber - Required if sequenceNumberAction is max or update + * @param options - Options to the Page Blob Update Sequence Number operation. + * @returns Response data for the Page Blob Update Sequence Number operation. + */ + async updateSequenceNumber(sequenceNumberAction, sequenceNumber, options = {}) { + options.conditions = options.conditions || {}; + return tracing_js_1.tracingClient.withSpan("PageBlobClient-updateSequenceNumber", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.updateSequenceNumber(sequenceNumberAction, { + abortSignal: options.abortSignal, + blobSequenceNumber: sequenceNumber, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Begins an operation to start an incremental copy from one page blob's snapshot to this page blob. + * The snapshot is copied such that only the differential changes between the previously + * copied snapshot are transferred to the destination. + * The copied snapshots are complete copies of the original snapshot and can be read or copied from as usual. + * @see https://learn.microsoft.com/rest/api/storageservices/incremental-copy-blob + * @see https://learn.microsoft.com/azure/virtual-machines/windows/incremental-snapshots + * + * @param copySource - Specifies the name of the source page blob snapshot. For example, + * https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot= + * @param options - Options to the Page Blob Copy Incremental operation. + * @returns Response data for the Page Blob Copy Incremental operation. + */ + async startCopyIncremental(copySource, options = {}) { + return tracing_js_1.tracingClient.withSpan("PageBlobClient-startCopyIncremental", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.copyIncremental(copySource, { + abortSignal: options.abortSignal, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + }; + exports2.PageBlobClient = PageBlobClient; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/BatchUtils.js +var require_BatchUtils = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/BatchUtils.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.getBodyAsText = getBodyAsText; + exports2.utf8ByteLength = utf8ByteLength; + var utils_js_1 = require_utils7(); + var constants_js_1 = require_constants15(); + async function getBodyAsText(batchResponse) { + let buffer = Buffer.alloc(constants_js_1.BATCH_MAX_PAYLOAD_IN_BYTES); + const responseLength = await (0, utils_js_1.streamToBuffer2)(batchResponse.readableStreamBody, buffer); + buffer = buffer.slice(0, responseLength); + return buffer.toString(); + } + function utf8ByteLength(str2) { + return Buffer.byteLength(str2); + } + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/BatchResponseParser.js +var require_BatchResponseParser = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/BatchResponseParser.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.BatchResponseParser = void 0; + var core_rest_pipeline_1 = require_commonjs6(); + var core_http_compat_1 = require_commonjs9(); + var constants_js_1 = require_constants15(); + var BatchUtils_js_1 = require_BatchUtils(); + var log_js_1 = require_log5(); + var HTTP_HEADER_DELIMITER = ": "; + var SPACE_DELIMITER = " "; + var NOT_FOUND = -1; + var BatchResponseParser = class { + batchResponse; + responseBatchBoundary; + perResponsePrefix; + batchResponseEnding; + subRequests; + constructor(batchResponse, subRequests) { + if (!batchResponse || !batchResponse.contentType) { + throw new RangeError("batchResponse is malformed or doesn't contain valid content-type."); + } + if (!subRequests || subRequests.size === 0) { + throw new RangeError("Invalid state: subRequests is not provided or size is 0."); + } + this.batchResponse = batchResponse; + this.subRequests = subRequests; + this.responseBatchBoundary = this.batchResponse.contentType.split("=")[1]; + this.perResponsePrefix = `--${this.responseBatchBoundary}${constants_js_1.HTTP_LINE_ENDING}`; + this.batchResponseEnding = `--${this.responseBatchBoundary}--`; + } + // For example of response, please refer to https://learn.microsoft.com/rest/api/storageservices/blob-batch#response + async parseBatchResponse() { + if (this.batchResponse._response.status !== constants_js_1.HTTPURLConnection.HTTP_ACCEPTED) { + throw new Error(`Invalid state: batch request failed with status: '${this.batchResponse._response.status}'.`); + } + const responseBodyAsText = await (0, BatchUtils_js_1.getBodyAsText)(this.batchResponse); + const subResponses = responseBodyAsText.split(this.batchResponseEnding)[0].split(this.perResponsePrefix).slice(1); + const subResponseCount = subResponses.length; + if (subResponseCount !== this.subRequests.size && subResponseCount !== 1) { + throw new Error("Invalid state: sub responses' count is not equal to sub requests' count."); + } + const deserializedSubResponses = new Array(subResponseCount); + let subResponsesSucceededCount = 0; + let subResponsesFailedCount = 0; + for (let index = 0; index < subResponseCount; index++) { + const subResponse = subResponses[index]; + const deserializedSubResponse = {}; + deserializedSubResponse.headers = (0, core_http_compat_1.toHttpHeadersLike)((0, core_rest_pipeline_1.createHttpHeaders)()); + const responseLines = subResponse.split(`${constants_js_1.HTTP_LINE_ENDING}`); + let subRespHeaderStartFound = false; + let subRespHeaderEndFound = false; + let subRespFailed = false; + let contentId = NOT_FOUND; + for (const responseLine of responseLines) { + if (!subRespHeaderStartFound) { + if (responseLine.startsWith(constants_js_1.HeaderConstants.CONTENT_ID)) { + contentId = parseInt(responseLine.split(HTTP_HEADER_DELIMITER)[1]); + } + if (responseLine.startsWith(constants_js_1.HTTP_VERSION_1_1)) { + subRespHeaderStartFound = true; + const tokens = responseLine.split(SPACE_DELIMITER); + deserializedSubResponse.status = parseInt(tokens[1]); + deserializedSubResponse.statusMessage = tokens.slice(2).join(SPACE_DELIMITER); + } + continue; + } + if (responseLine.trim() === "") { + if (!subRespHeaderEndFound) { + subRespHeaderEndFound = true; + } + continue; + } + if (!subRespHeaderEndFound) { + if (responseLine.indexOf(HTTP_HEADER_DELIMITER) === -1) { + throw new Error(`Invalid state: find non-empty line '${responseLine}' without HTTP header delimiter '${HTTP_HEADER_DELIMITER}'.`); + } + const tokens = responseLine.split(HTTP_HEADER_DELIMITER); + deserializedSubResponse.headers.set(tokens[0], tokens[1]); + if (tokens[0] === constants_js_1.HeaderConstants.X_MS_ERROR_CODE) { + deserializedSubResponse.errorCode = tokens[1]; + subRespFailed = true; + } + } else { + if (!deserializedSubResponse.bodyAsText) { + deserializedSubResponse.bodyAsText = ""; + } + deserializedSubResponse.bodyAsText += responseLine; + } + } + if (contentId !== NOT_FOUND && Number.isInteger(contentId) && contentId >= 0 && contentId < this.subRequests.size && deserializedSubResponses[contentId] === void 0) { + deserializedSubResponse._request = this.subRequests.get(contentId); + deserializedSubResponses[contentId] = deserializedSubResponse; + } else { + log_js_1.logger.error(`subResponses[${index}] is dropped as the Content-ID is not found or invalid, Content-ID: ${contentId}`); + } + if (subRespFailed) { + subResponsesFailedCount++; + } else { + subResponsesSucceededCount++; + } + } + return { + subResponses: deserializedSubResponses, + subResponsesSucceededCount, + subResponsesFailedCount + }; + } + }; + exports2.BatchResponseParser = BatchResponseParser; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/utils/Mutex.js +var require_Mutex = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/utils/Mutex.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.Mutex = void 0; + var MutexLockStatus; + (function(MutexLockStatus2) { + MutexLockStatus2[MutexLockStatus2["LOCKED"] = 0] = "LOCKED"; + MutexLockStatus2[MutexLockStatus2["UNLOCKED"] = 1] = "UNLOCKED"; + })(MutexLockStatus || (MutexLockStatus = {})); + var Mutex = class { + /** + * Lock for a specific key. If the lock has been acquired by another customer, then + * will wait until getting the lock. + * + * @param key - lock key + */ + static async lock(key) { + return new Promise((resolve5) => { + if (this.keys[key] === void 0 || this.keys[key] === MutexLockStatus.UNLOCKED) { + this.keys[key] = MutexLockStatus.LOCKED; + resolve5(); + } else { + this.onUnlockEvent(key, () => { + this.keys[key] = MutexLockStatus.LOCKED; + resolve5(); + }); + } + }); + } + /** + * Unlock a key. + * + * @param key - + */ + static async unlock(key) { + return new Promise((resolve5) => { + if (this.keys[key] === MutexLockStatus.LOCKED) { + this.emitUnlockEvent(key); + } + delete this.keys[key]; + resolve5(); + }); + } + static keys = {}; + static listeners = {}; + static onUnlockEvent(key, handler2) { + if (this.listeners[key] === void 0) { + this.listeners[key] = [handler2]; + } else { + this.listeners[key].push(handler2); + } + } + static emitUnlockEvent(key) { + if (this.listeners[key] !== void 0 && this.listeners[key].length > 0) { + const handler2 = this.listeners[key].shift(); + setImmediate(() => { + handler2.call(this); + }); + } + } + }; + exports2.Mutex = Mutex; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/BlobBatch.js +var require_BlobBatch = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/BlobBatch.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.BlobBatch = void 0; + var core_util_1 = require_commonjs4(); + var core_auth_1 = require_commonjs7(); + var core_rest_pipeline_1 = require_commonjs6(); + var core_util_2 = require_commonjs4(); + var AnonymousCredential_js_1 = require_AnonymousCredential(); + var Clients_js_1 = require_Clients(); + var Mutex_js_1 = require_Mutex(); + var Pipeline_js_1 = require_Pipeline(); + var utils_common_js_1 = require_utils_common(); + var core_xml_1 = require_commonjs10(); + var constants_js_1 = require_constants15(); + var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential(); + var tracing_js_1 = require_tracing(); + var core_client_1 = require_commonjs8(); + var StorageSharedKeyCredentialPolicyV2_js_1 = require_StorageSharedKeyCredentialPolicyV22(); + var BlobBatch = class { + batchRequest; + batch = "batch"; + batchType; + constructor() { + this.batchRequest = new InnerBatchRequest(); + } + /** + * Get the value of Content-Type for a batch request. + * The value must be multipart/mixed with a batch boundary. + * Example: multipart/mixed; boundary=batch_a81786c8-e301-4e42-a729-a32ca24ae252 + */ + getMultiPartContentType() { + return this.batchRequest.getMultipartContentType(); + } + /** + * Get assembled HTTP request body for sub requests. + */ + getHttpRequestBody() { + return this.batchRequest.getHttpRequestBody(); + } + /** + * Get sub requests that are added into the batch request. + */ + getSubRequests() { + return this.batchRequest.getSubRequests(); + } + async addSubRequestInternal(subRequest, assembleSubRequestFunc) { + await Mutex_js_1.Mutex.lock(this.batch); + try { + this.batchRequest.preAddSubRequest(subRequest); + await assembleSubRequestFunc(); + this.batchRequest.postAddSubRequest(subRequest); + } finally { + await Mutex_js_1.Mutex.unlock(this.batch); + } + } + setBatchType(batchType) { + if (!this.batchType) { + this.batchType = batchType; + } + if (this.batchType !== batchType) { + throw new RangeError(`BlobBatch only supports one operation type per batch and it already is being used for ${this.batchType} operations.`); + } + } + async deleteBlob(urlOrBlobClient, credentialOrOptions, options) { + let url; + let credential; + if (typeof urlOrBlobClient === "string" && (core_util_2.isNodeLike && credentialOrOptions instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrOptions instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrOptions))) { + url = urlOrBlobClient; + credential = credentialOrOptions; + } else if (urlOrBlobClient instanceof Clients_js_1.BlobClient) { + url = urlOrBlobClient.url; + credential = urlOrBlobClient.credential; + options = credentialOrOptions; + } else { + throw new RangeError("Invalid arguments. Either url and credential, or BlobClient need be provided."); + } + if (!options) { + options = {}; + } + return tracing_js_1.tracingClient.withSpan("BatchDeleteRequest-addSubRequest", options, async (updatedOptions) => { + this.setBatchType("delete"); + await this.addSubRequestInternal({ + url, + credential + }, async () => { + await new Clients_js_1.BlobClient(url, this.batchRequest.createPipeline(credential)).delete(updatedOptions); + }); + }); + } + async setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions, options) { + let url; + let credential; + let tier; + if (typeof urlOrBlobClient === "string" && (core_util_2.isNodeLike && credentialOrTier instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrTier instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrTier))) { + url = urlOrBlobClient; + credential = credentialOrTier; + tier = tierOrOptions; + } else if (urlOrBlobClient instanceof Clients_js_1.BlobClient) { + url = urlOrBlobClient.url; + credential = urlOrBlobClient.credential; + tier = credentialOrTier; + options = tierOrOptions; + } else { + throw new RangeError("Invalid arguments. Either url and credential, or BlobClient need be provided."); + } + if (!options) { + options = {}; + } + return tracing_js_1.tracingClient.withSpan("BatchSetTierRequest-addSubRequest", options, async (updatedOptions) => { + this.setBatchType("setAccessTier"); + await this.addSubRequestInternal({ + url, + credential + }, async () => { + await new Clients_js_1.BlobClient(url, this.batchRequest.createPipeline(credential)).setAccessTier(tier, updatedOptions); + }); + }); + } + }; + exports2.BlobBatch = BlobBatch; + var InnerBatchRequest = class { + operationCount; + body; + subRequests; + boundary; + subRequestPrefix; + multipartContentType; + batchRequestEnding; + constructor() { + this.operationCount = 0; + this.body = ""; + const tempGuid = (0, core_util_1.randomUUID)(); + this.boundary = `batch_${tempGuid}`; + this.subRequestPrefix = `--${this.boundary}${constants_js_1.HTTP_LINE_ENDING}${constants_js_1.HeaderConstants.CONTENT_TYPE}: application/http${constants_js_1.HTTP_LINE_ENDING}${constants_js_1.HeaderConstants.CONTENT_TRANSFER_ENCODING}: binary`; + this.multipartContentType = `multipart/mixed; boundary=${this.boundary}`; + this.batchRequestEnding = `--${this.boundary}--`; + this.subRequests = /* @__PURE__ */ new Map(); + } + /** + * Create pipeline to assemble sub requests. The idea here is to use existing + * credential and serialization/deserialization components, with additional policies to + * filter unnecessary headers, assemble sub requests into request's body + * and intercept request from going to wire. + * @param credential - Such as AnonymousCredential, StorageSharedKeyCredential or any credential from the `@azure/identity` package to authenticate requests to the service. You can also provide an object that implements the TokenCredential interface. If not specified, AnonymousCredential is used. + */ + createPipeline(credential) { + const corePipeline = (0, core_rest_pipeline_1.createEmptyPipeline)(); + corePipeline.addPolicy((0, core_client_1.serializationPolicy)({ + stringifyXML: core_xml_1.stringifyXML, + serializerOptions: { + xml: { + xmlCharKey: "#" + } + } + }), { phase: "Serialize" }); + corePipeline.addPolicy(batchHeaderFilterPolicy()); + corePipeline.addPolicy(batchRequestAssemblePolicy(this), { afterPhase: "Sign" }); + if ((0, core_auth_1.isTokenCredential)(credential)) { + corePipeline.addPolicy((0, core_rest_pipeline_1.bearerTokenAuthenticationPolicy)({ + credential, + scopes: constants_js_1.StorageOAuthScopes, + challengeCallbacks: { authorizeRequestOnChallenge: core_client_1.authorizeRequestOnTenantChallenge } + }), { phase: "Sign" }); + } else if (credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential) { + corePipeline.addPolicy((0, StorageSharedKeyCredentialPolicyV2_js_1.storageSharedKeyCredentialPolicy)({ + accountName: credential.accountName, + accountKey: credential.accountKey + }), { phase: "Sign" }); + } + const pipeline = new Pipeline_js_1.Pipeline([]); + pipeline._credential = credential; + pipeline._corePipeline = corePipeline; + return pipeline; + } + appendSubRequestToBody(request2) { + this.body += [ + this.subRequestPrefix, + // sub request constant prefix + `${constants_js_1.HeaderConstants.CONTENT_ID}: ${this.operationCount}`, + // sub request's content ID + "", + // empty line after sub request's content ID + `${request2.method.toString()} ${(0, utils_common_js_1.getURLPathAndQuery)(request2.url)} ${constants_js_1.HTTP_VERSION_1_1}${constants_js_1.HTTP_LINE_ENDING}` + // sub request start line with method + ].join(constants_js_1.HTTP_LINE_ENDING); + for (const [name, value] of request2.headers) { + this.body += `${name}: ${value}${constants_js_1.HTTP_LINE_ENDING}`; + } + this.body += constants_js_1.HTTP_LINE_ENDING; + } + preAddSubRequest(subRequest) { + if (this.operationCount >= constants_js_1.BATCH_MAX_REQUEST) { + throw new RangeError(`Cannot exceed ${constants_js_1.BATCH_MAX_REQUEST} sub requests in a single batch`); + } + const path7 = (0, utils_common_js_1.getURLPath)(subRequest.url); + if (!path7 || path7 === "") { + throw new RangeError(`Invalid url for sub request: '${subRequest.url}'`); + } + } + postAddSubRequest(subRequest) { + this.subRequests.set(this.operationCount, subRequest); + this.operationCount++; + } + // Return the http request body with assembling the ending line to the sub request body. + getHttpRequestBody() { + return `${this.body}${this.batchRequestEnding}${constants_js_1.HTTP_LINE_ENDING}`; + } + getMultipartContentType() { + return this.multipartContentType; + } + getSubRequests() { + return this.subRequests; + } + }; + function batchRequestAssemblePolicy(batchRequest) { + return { + name: "batchRequestAssemblePolicy", + async sendRequest(request2) { + batchRequest.appendSubRequestToBody(request2); + return { + request: request2, + status: 200, + headers: (0, core_rest_pipeline_1.createHttpHeaders)() + }; + } + }; + } + function batchHeaderFilterPolicy() { + return { + name: "batchHeaderFilterPolicy", + async sendRequest(request2, next) { + let xMsHeaderName = ""; + for (const [name] of request2.headers) { + if ((0, utils_common_js_1.iEqual)(name, constants_js_1.HeaderConstants.X_MS_VERSION)) { + xMsHeaderName = name; + } + } + if (xMsHeaderName !== "") { + request2.headers.delete(xMsHeaderName); + } + return next(request2); + } + }; + } + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/BlobBatchClient.js +var require_BlobBatchClient = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/BlobBatchClient.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.BlobBatchClient = void 0; + var BatchResponseParser_js_1 = require_BatchResponseParser(); + var BatchUtils_js_1 = require_BatchUtils(); + var BlobBatch_js_1 = require_BlobBatch(); + var tracing_js_1 = require_tracing(); + var AnonymousCredential_js_1 = require_AnonymousCredential(); + var StorageContextClient_js_1 = require_StorageContextClient(); + var Pipeline_js_1 = require_Pipeline(); + var utils_common_js_1 = require_utils_common(); + var BlobBatchClient = class { + serviceOrContainerContext; + constructor(url, credentialOrPipeline, options) { + let pipeline; + if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipeline)) { + pipeline = credentialOrPipeline; + } else if (!credentialOrPipeline) { + pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); + } else { + pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipeline, options); + } + const storageClientContext = new StorageContextClient_js_1.StorageContextClient(url, (0, Pipeline_js_1.getCoreClientOptions)(pipeline)); + const path7 = (0, utils_common_js_1.getURLPath)(url); + if (path7 && path7 !== "/") { + this.serviceOrContainerContext = storageClientContext.container; + } else { + this.serviceOrContainerContext = storageClientContext.service; + } + } + /** + * Creates a {@link BlobBatch}. + * A BlobBatch represents an aggregated set of operations on blobs. + */ + createBatch() { + return new BlobBatch_js_1.BlobBatch(); + } + async deleteBlobs(urlsOrBlobClients, credentialOrOptions, options) { + const batch = new BlobBatch_js_1.BlobBatch(); + for (const urlOrBlobClient of urlsOrBlobClients) { + if (typeof urlOrBlobClient === "string") { + await batch.deleteBlob(urlOrBlobClient, credentialOrOptions, options); + } else { + await batch.deleteBlob(urlOrBlobClient, credentialOrOptions); + } + } + return this.submitBatch(batch); + } + async setBlobsAccessTier(urlsOrBlobClients, credentialOrTier, tierOrOptions, options) { + const batch = new BlobBatch_js_1.BlobBatch(); + for (const urlOrBlobClient of urlsOrBlobClients) { + if (typeof urlOrBlobClient === "string") { + await batch.setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions, options); + } else { + await batch.setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions); + } + } + return this.submitBatch(batch); + } + /** + * Submit batch request which consists of multiple subrequests. + * + * Get `blobBatchClient` and other details before running the snippets. + * `blobServiceClient.getBlobBatchClient()` gives the `blobBatchClient` + * + * Example usage: + * + * ```ts snippet:BlobBatchClientSubmitBatch + * import { DefaultAzureCredential } from "@azure/identity"; + * import { BlobServiceClient, BlobBatch } from "@azure/storage-blob"; + * + * const account = ""; + * const credential = new DefaultAzureCredential(); + * const blobServiceClient = new BlobServiceClient( + * `https://${account}.blob.core.windows.net`, + * credential, + * ); + * + * const containerName = ""; + * const containerClient = blobServiceClient.getContainerClient(containerName); + * const blobBatchClient = containerClient.getBlobBatchClient(); + * + * const batchRequest = new BlobBatch(); + * await batchRequest.deleteBlob("", credential); + * await batchRequest.deleteBlob("", credential, { + * deleteSnapshots: "include", + * }); + * const batchResp = await blobBatchClient.submitBatch(batchRequest); + * console.log(batchResp.subResponsesSucceededCount); + * ``` + * + * Example using a lease: + * + * ```ts snippet:BlobBatchClientSubmitBatchWithLease + * import { DefaultAzureCredential } from "@azure/identity"; + * import { BlobServiceClient, BlobBatch } from "@azure/storage-blob"; + * + * const account = ""; + * const credential = new DefaultAzureCredential(); + * const blobServiceClient = new BlobServiceClient( + * `https://${account}.blob.core.windows.net`, + * credential, + * ); + * + * const containerName = ""; + * const containerClient = blobServiceClient.getContainerClient(containerName); + * const blobBatchClient = containerClient.getBlobBatchClient(); + * const blobClient = containerClient.getBlobClient(""); + * + * const batchRequest = new BlobBatch(); + * await batchRequest.setBlobAccessTier(blobClient, "Cool"); + * await batchRequest.setBlobAccessTier(blobClient, "Cool", { + * conditions: { leaseId: "" }, + * }); + * const batchResp = await blobBatchClient.submitBatch(batchRequest); + * console.log(batchResp.subResponsesSucceededCount); + * ``` + * + * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch + * + * @param batchRequest - A set of Delete or SetTier operations. + * @param options - + */ + async submitBatch(batchRequest, options = {}) { + if (!batchRequest || batchRequest.getSubRequests().size === 0) { + throw new RangeError("Batch request should contain one or more sub requests."); + } + return tracing_js_1.tracingClient.withSpan("BlobBatchClient-submitBatch", options, async (updatedOptions) => { + const batchRequestBody = batchRequest.getHttpRequestBody(); + const rawBatchResponse = (0, utils_common_js_1.assertResponse)(await this.serviceOrContainerContext.submitBatch((0, BatchUtils_js_1.utf8ByteLength)(batchRequestBody), batchRequest.getMultiPartContentType(), batchRequestBody, { + ...updatedOptions + })); + const batchResponseParser = new BatchResponseParser_js_1.BatchResponseParser(rawBatchResponse, batchRequest.getSubRequests()); + const responseSummary = await batchResponseParser.parseBatchResponse(); + const res = { + _response: rawBatchResponse._response, + contentType: rawBatchResponse.contentType, + errorCode: rawBatchResponse.errorCode, + requestId: rawBatchResponse.requestId, + clientRequestId: rawBatchResponse.clientRequestId, + version: rawBatchResponse.version, + subResponses: responseSummary.subResponses, + subResponsesSucceededCount: responseSummary.subResponsesSucceededCount, + subResponsesFailedCount: responseSummary.subResponsesFailedCount + }; + return res; + }); + } + }; + exports2.BlobBatchClient = BlobBatchClient; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/ContainerClient.js +var require_ContainerClient = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/ContainerClient.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.ContainerClient = void 0; + var core_rest_pipeline_1 = require_commonjs6(); + var core_util_1 = require_commonjs4(); + var core_auth_1 = require_commonjs7(); + var AnonymousCredential_js_1 = require_AnonymousCredential(); + var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential(); + var Pipeline_js_1 = require_Pipeline(); + var StorageClient_js_1 = require_StorageClient(); + var tracing_js_1 = require_tracing(); + var utils_common_js_1 = require_utils_common(); + var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues(); + var BlobLeaseClient_js_1 = require_BlobLeaseClient(); + var Clients_js_1 = require_Clients(); + var BlobBatchClient_js_1 = require_BlobBatchClient(); + var ContainerClient = class extends StorageClient_js_1.StorageClient { + /** + * containerContext provided by protocol layer. + */ + containerContext; + _containerName; + /** + * The name of the container. + */ + get containerName() { + return this._containerName; + } + constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, options) { + let pipeline; + let url; + options = options || {}; + if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) { + url = urlOrConnectionString; + pipeline = credentialOrPipelineOrContainerName; + } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) { + url = urlOrConnectionString; + pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options); + } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") { + url = urlOrConnectionString; + pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); + } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string") { + const containerName = credentialOrPipelineOrContainerName; + const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString); + if (extractedCreds.kind === "AccountConnString") { + if (core_util_1.isNodeLike) { + const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey); + url = (0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)); + if (!options.proxyOptions) { + options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri); + } + pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options); + } else { + throw new Error("Account connection string is only supported in Node.js environment"); + } + } else if (extractedCreds.kind === "SASConnString") { + url = (0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)) + "?" + extractedCreds.accountSas; + pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); + } else { + throw new Error("Connection string must be either an Account connection string or a SAS connection string"); + } + } else { + throw new Error("Expecting non-empty strings for containerName parameter"); + } + super(url, pipeline); + this._containerName = this.getContainerNameFromUrl(); + this.containerContext = this.storageClientContext.container; + } + /** + * Creates a new container under the specified account. If the container with + * the same name already exists, the operation fails. + * @see https://learn.microsoft.com/rest/api/storageservices/create-container + * Naming rules: @see https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata + * + * @param options - Options to Container Create operation. + * + * + * Example usage: + * + * ```ts snippet:ContainerClientCreate + * import { BlobServiceClient } from "@azure/storage-blob"; + * import { DefaultAzureCredential } from "@azure/identity"; + * + * const account = ""; + * const blobServiceClient = new BlobServiceClient( + * `https://${account}.blob.core.windows.net`, + * new DefaultAzureCredential(), + * ); + * + * const containerName = ""; + * const containerClient = blobServiceClient.getContainerClient(containerName); + * const createContainerResponse = await containerClient.create(); + * console.log("Container was created successfully", createContainerResponse.requestId); + * ``` + */ + async create(options = {}) { + return tracing_js_1.tracingClient.withSpan("ContainerClient-create", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.containerContext.create(updatedOptions)); + }); + } + /** + * Creates a new container under the specified account. If the container with + * the same name already exists, it is not changed. + * @see https://learn.microsoft.com/rest/api/storageservices/create-container + * Naming rules: @see https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata + * + * @param options - + */ + async createIfNotExists(options = {}) { + return tracing_js_1.tracingClient.withSpan("ContainerClient-createIfNotExists", options, async (updatedOptions) => { + try { + const res = await this.create(updatedOptions); + return { + succeeded: true, + ...res, + _response: res._response + // _response is made non-enumerable + }; + } catch (e) { + if (e.details?.errorCode === "ContainerAlreadyExists") { + return { + succeeded: false, + ...e.response?.parsedHeaders, + _response: e.response + }; + } else { + throw e; + } + } + }); + } + /** + * Returns true if the Azure container resource represented by this client exists; false otherwise. + * + * NOTE: use this function with care since an existing container might be deleted by other clients or + * applications. Vice versa new containers with the same name might be added by other clients or + * applications after this function completes. + * + * @param options - + */ + async exists(options = {}) { + return tracing_js_1.tracingClient.withSpan("ContainerClient-exists", options, async (updatedOptions) => { + try { + await this.getProperties({ + abortSignal: options.abortSignal, + tracingOptions: updatedOptions.tracingOptions + }); + return true; + } catch (e) { + if (e.statusCode === 404) { + return false; + } + throw e; + } + }); + } + /** + * Creates a {@link BlobClient} + * + * @param blobName - A blob name + * @returns A new BlobClient object for the given blob name. + */ + getBlobClient(blobName) { + return new Clients_js_1.BlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline); + } + /** + * Creates an {@link AppendBlobClient} + * + * @param blobName - An append blob name + */ + getAppendBlobClient(blobName) { + return new Clients_js_1.AppendBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline); + } + /** + * Creates a {@link BlockBlobClient} + * + * @param blobName - A block blob name + * + * + * Example usage: + * + * ```ts snippet:ClientsUpload + * import { BlobServiceClient } from "@azure/storage-blob"; + * import { DefaultAzureCredential } from "@azure/identity"; + * + * const account = ""; + * const blobServiceClient = new BlobServiceClient( + * `https://${account}.blob.core.windows.net`, + * new DefaultAzureCredential(), + * ); + * + * const containerName = ""; + * const blobName = ""; + * const containerClient = blobServiceClient.getContainerClient(containerName); + * const blockBlobClient = containerClient.getBlockBlobClient(blobName); + * + * const content = "Hello world!"; + * const uploadBlobResponse = await blockBlobClient.upload(content, content.length); + * ``` + */ + getBlockBlobClient(blobName) { + return new Clients_js_1.BlockBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline); + } + /** + * Creates a {@link PageBlobClient} + * + * @param blobName - A page blob name + */ + getPageBlobClient(blobName) { + return new Clients_js_1.PageBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline); + } + /** + * Returns all user-defined metadata and system properties for the specified + * container. The data returned does not include the container's list of blobs. + * @see https://learn.microsoft.com/rest/api/storageservices/get-container-properties + * + * WARNING: The `metadata` object returned in the response will have its keys in lowercase, even if + * they originally contained uppercase characters. This differs from the metadata keys returned by + * the `listContainers` method of {@link BlobServiceClient} using the `includeMetadata` option, which + * will retain their original casing. + * + * @param options - Options to Container Get Properties operation. + */ + async getProperties(options = {}) { + if (!options.conditions) { + options.conditions = {}; + } + return tracing_js_1.tracingClient.withSpan("ContainerClient-getProperties", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.containerContext.getProperties({ + abortSignal: options.abortSignal, + ...options.conditions, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Marks the specified container for deletion. The container and any blobs + * contained within it are later deleted during garbage collection. + * @see https://learn.microsoft.com/rest/api/storageservices/delete-container + * + * @param options - Options to Container Delete operation. + */ + async delete(options = {}) { + if (!options.conditions) { + options.conditions = {}; + } + return tracing_js_1.tracingClient.withSpan("ContainerClient-delete", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.containerContext.delete({ + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: options.conditions, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Marks the specified container for deletion if it exists. The container and any blobs + * contained within it are later deleted during garbage collection. + * @see https://learn.microsoft.com/rest/api/storageservices/delete-container + * + * @param options - Options to Container Delete operation. + */ + async deleteIfExists(options = {}) { + return tracing_js_1.tracingClient.withSpan("ContainerClient-deleteIfExists", options, async (updatedOptions) => { + try { + const res = await this.delete(updatedOptions); + return { + succeeded: true, + ...res, + _response: res._response + }; + } catch (e) { + if (e.details?.errorCode === "ContainerNotFound") { + return { + succeeded: false, + ...e.response?.parsedHeaders, + _response: e.response + }; + } + throw e; + } + }); + } + /** + * Sets one or more user-defined name-value pairs for the specified container. + * + * If no option provided, or no metadata defined in the parameter, the container + * metadata will be removed. + * + * @see https://learn.microsoft.com/rest/api/storageservices/set-container-metadata + * + * @param metadata - Replace existing metadata with this value. + * If no value provided the existing metadata will be removed. + * @param options - Options to Container Set Metadata operation. + */ + async setMetadata(metadata, options = {}) { + if (!options.conditions) { + options.conditions = {}; + } + if (options.conditions.ifUnmodifiedSince) { + throw new RangeError("the IfUnmodifiedSince must have their default values because they are ignored by the blob service"); + } + return tracing_js_1.tracingClient.withSpan("ContainerClient-setMetadata", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.containerContext.setMetadata({ + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + metadata, + modifiedAccessConditions: options.conditions, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Gets the permissions for the specified container. The permissions indicate + * whether container data may be accessed publicly. + * + * WARNING: JavaScript Date will potentially lose precision when parsing startsOn and expiresOn strings. + * For example, new Date("2018-12-31T03:44:23.8827891Z").toISOString() will get "2018-12-31T03:44:23.882Z". + * + * @see https://learn.microsoft.com/rest/api/storageservices/get-container-acl + * + * @param options - Options to Container Get Access Policy operation. + */ + async getAccessPolicy(options = {}) { + if (!options.conditions) { + options.conditions = {}; + } + return tracing_js_1.tracingClient.withSpan("ContainerClient-getAccessPolicy", options, async (updatedOptions) => { + const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.getAccessPolicy({ + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + tracingOptions: updatedOptions.tracingOptions + })); + const res = { + _response: response._response, + blobPublicAccess: response.blobPublicAccess, + date: response.date, + etag: response.etag, + errorCode: response.errorCode, + lastModified: response.lastModified, + requestId: response.requestId, + clientRequestId: response.clientRequestId, + signedIdentifiers: [], + version: response.version + }; + for (const identifier of response) { + let accessPolicy = void 0; + if (identifier.accessPolicy) { + accessPolicy = { + permissions: identifier.accessPolicy.permissions + }; + if (identifier.accessPolicy.expiresOn) { + accessPolicy.expiresOn = new Date(identifier.accessPolicy.expiresOn); + } + if (identifier.accessPolicy.startsOn) { + accessPolicy.startsOn = new Date(identifier.accessPolicy.startsOn); + } + } + res.signedIdentifiers.push({ + accessPolicy, + id: identifier.id + }); + } + return res; + }); + } + /** + * Sets the permissions for the specified container. The permissions indicate + * whether blobs in a container may be accessed publicly. + * + * When you set permissions for a container, the existing permissions are replaced. + * If no access or containerAcl provided, the existing container ACL will be + * removed. + * + * When you establish a stored access policy on a container, it may take up to 30 seconds to take effect. + * During this interval, a shared access signature that is associated with the stored access policy will + * fail with status code 403 (Forbidden), until the access policy becomes active. + * @see https://learn.microsoft.com/rest/api/storageservices/set-container-acl + * + * @param access - The level of public access to data in the container. + * @param containerAcl - Array of elements each having a unique Id and details of the access policy. + * @param options - Options to Container Set Access Policy operation. + */ + async setAccessPolicy(access, containerAcl, options = {}) { + options.conditions = options.conditions || {}; + return tracing_js_1.tracingClient.withSpan("ContainerClient-setAccessPolicy", options, async (updatedOptions) => { + const acl = []; + for (const identifier of containerAcl || []) { + acl.push({ + accessPolicy: { + expiresOn: identifier.accessPolicy.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(identifier.accessPolicy.expiresOn) : "", + permissions: identifier.accessPolicy.permissions, + startsOn: identifier.accessPolicy.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(identifier.accessPolicy.startsOn) : "" + }, + id: identifier.id + }); + } + return (0, utils_common_js_1.assertResponse)(await this.containerContext.setAccessPolicy({ + abortSignal: options.abortSignal, + access, + containerAcl: acl, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: options.conditions, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Get a {@link BlobLeaseClient} that manages leases on the container. + * + * @param proposeLeaseId - Initial proposed lease Id. + * @returns A new BlobLeaseClient object for managing leases on the container. + */ + getBlobLeaseClient(proposeLeaseId) { + return new BlobLeaseClient_js_1.BlobLeaseClient(this, proposeLeaseId); + } + /** + * Creates a new block blob, or updates the content of an existing block blob. + * + * Updating an existing block blob overwrites any existing metadata on the blob. + * Partial updates are not supported; the content of the existing blob is + * overwritten with the new content. To perform a partial update of a block blob's, + * use {@link BlockBlobClient.stageBlock} and {@link BlockBlobClient.commitBlockList}. + * + * This is a non-parallel uploading method, please use {@link BlockBlobClient.uploadFile}, + * {@link BlockBlobClient.uploadStream} or {@link BlockBlobClient.uploadBrowserData} for better + * performance with concurrency uploading. + * + * @see https://learn.microsoft.com/rest/api/storageservices/put-blob + * + * @param blobName - Name of the block blob to create or update. + * @param body - Blob, string, ArrayBuffer, ArrayBufferView or a function + * which returns a new Readable stream whose offset is from data source beginning. + * @param contentLength - Length of body in bytes. Use Buffer.byteLength() to calculate body length for a + * string including non non-Base64/Hex-encoded characters. + * @param options - Options to configure the Block Blob Upload operation. + * @returns Block Blob upload response data and the corresponding BlockBlobClient instance. + */ + async uploadBlockBlob(blobName, body, contentLength, options = {}) { + return tracing_js_1.tracingClient.withSpan("ContainerClient-uploadBlockBlob", options, async (updatedOptions) => { + const blockBlobClient = this.getBlockBlobClient(blobName); + const response = await blockBlobClient.upload(body, contentLength, updatedOptions); + return { + blockBlobClient, + response + }; + }); + } + /** + * Marks the specified blob or snapshot for deletion. The blob is later deleted + * during garbage collection. Note that in order to delete a blob, you must delete + * all of its snapshots. You can delete both at the same time with the Delete + * Blob operation. + * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob + * + * @param blobName - + * @param options - Options to Blob Delete operation. + * @returns Block blob deletion response data. + */ + async deleteBlob(blobName, options = {}) { + return tracing_js_1.tracingClient.withSpan("ContainerClient-deleteBlob", options, async (updatedOptions) => { + let blobClient = this.getBlobClient(blobName); + if (options.versionId) { + blobClient = blobClient.withVersion(options.versionId); + } + return blobClient.delete(updatedOptions); + }); + } + /** + * listBlobFlatSegment returns a single segment of blobs starting from the + * specified Marker. Use an empty Marker to start enumeration from the beginning. + * After getting a segment, process it, and then call listBlobsFlatSegment again + * (passing the the previously-returned Marker) to get the next segment. + * @see https://learn.microsoft.com/rest/api/storageservices/list-blobs + * + * @param marker - A string value that identifies the portion of the list to be returned with the next list operation. + * @param options - Options to Container List Blob Flat Segment operation. + */ + async listBlobFlatSegment(marker, options = {}) { + return tracing_js_1.tracingClient.withSpan("ContainerClient-listBlobFlatSegment", options, async (updatedOptions) => { + const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.listBlobFlatSegment({ + marker, + ...options, + tracingOptions: updatedOptions.tracingOptions + })); + const wrappedResponse = { + ...response, + _response: { + ...response._response, + parsedBody: (0, utils_common_js_1.ConvertInternalResponseOfListBlobFlat)(response._response.parsedBody) + }, + // _response is made non-enumerable + segment: { + ...response.segment, + blobItems: response.segment.blobItems.map((blobItemInternal) => { + const blobItem = { + ...blobItemInternal, + name: (0, utils_common_js_1.BlobNameToString)(blobItemInternal.name), + tags: (0, utils_common_js_1.toTags)(blobItemInternal.blobTags), + objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(blobItemInternal.objectReplicationMetadata) + }; + return blobItem; + }) + } + }; + return wrappedResponse; + }); + } + /** + * listBlobHierarchySegment returns a single segment of blobs starting from + * the specified Marker. Use an empty Marker to start enumeration from the + * beginning. After getting a segment, process it, and then call listBlobsHierarchicalSegment + * again (passing the the previously-returned Marker) to get the next segment. + * @see https://learn.microsoft.com/rest/api/storageservices/list-blobs + * + * @param delimiter - The character or string used to define the virtual hierarchy + * @param marker - A string value that identifies the portion of the list to be returned with the next list operation. + * @param options - Options to Container List Blob Hierarchy Segment operation. + */ + async listBlobHierarchySegment(delimiter, marker, options = {}) { + return tracing_js_1.tracingClient.withSpan("ContainerClient-listBlobHierarchySegment", options, async (updatedOptions) => { + const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.listBlobHierarchySegment(delimiter, { + marker, + ...options, + tracingOptions: updatedOptions.tracingOptions + })); + const wrappedResponse = { + ...response, + _response: { + ...response._response, + parsedBody: (0, utils_common_js_1.ConvertInternalResponseOfListBlobHierarchy)(response._response.parsedBody) + }, + // _response is made non-enumerable + segment: { + ...response.segment, + blobItems: response.segment.blobItems.map((blobItemInternal) => { + const blobItem = { + ...blobItemInternal, + name: (0, utils_common_js_1.BlobNameToString)(blobItemInternal.name), + tags: (0, utils_common_js_1.toTags)(blobItemInternal.blobTags), + objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(blobItemInternal.objectReplicationMetadata) + }; + return blobItem; + }), + blobPrefixes: response.segment.blobPrefixes?.map((blobPrefixInternal) => { + const blobPrefix = { + ...blobPrefixInternal, + name: (0, utils_common_js_1.BlobNameToString)(blobPrefixInternal.name) + }; + return blobPrefix; + }) + } + }; + return wrappedResponse; + }); + } + /** + * Returns an AsyncIterableIterator for ContainerListBlobFlatSegmentResponse + * + * @param marker - A string value that identifies the portion of + * the list of blobs to be returned with the next listing operation. The + * operation returns the ContinuationToken value within the response body if the + * listing operation did not return all blobs remaining to be listed + * with the current page. The ContinuationToken value can be used as the value for + * the marker parameter in a subsequent call to request the next page of list + * items. The marker value is opaque to the client. + * @param options - Options to list blobs operation. + */ + async *listSegments(marker, options = {}) { + let listBlobsFlatSegmentResponse; + if (!!marker || marker === void 0) { + do { + listBlobsFlatSegmentResponse = await this.listBlobFlatSegment(marker, options); + marker = listBlobsFlatSegmentResponse.continuationToken; + yield await listBlobsFlatSegmentResponse; + } while (marker); + } + } + /** + * Returns an AsyncIterableIterator of {@link BlobItem} objects + * + * @param options - Options to list blobs operation. + */ + async *listItems(options = {}) { + let marker; + for await (const listBlobsFlatSegmentResponse of this.listSegments(marker, options)) { + yield* listBlobsFlatSegmentResponse.segment.blobItems; + } + } + /** + * Returns an async iterable iterator to list all the blobs + * under the specified account. + * + * .byPage() returns an async iterable iterator to list the blobs in pages. + * + * ```ts snippet:ReadmeSampleListBlobs_Multiple + * import { BlobServiceClient } from "@azure/storage-blob"; + * import { DefaultAzureCredential } from "@azure/identity"; + * + * const account = ""; + * const blobServiceClient = new BlobServiceClient( + * `https://${account}.blob.core.windows.net`, + * new DefaultAzureCredential(), + * ); + * + * const containerName = ""; + * const containerClient = blobServiceClient.getContainerClient(containerName); + * + * // Example using `for await` syntax + * let i = 1; + * const blobs = containerClient.listBlobsFlat(); + * for await (const blob of blobs) { + * console.log(`Blob ${i++}: ${blob.name}`); + * } + * + * // Example using `iter.next()` syntax + * i = 1; + * const iter = containerClient.listBlobsFlat(); + * let { value, done } = await iter.next(); + * while (!done) { + * console.log(`Blob ${i++}: ${value.name}`); + * ({ value, done } = await iter.next()); + * } + * + * // Example using `byPage()` syntax + * i = 1; + * for await (const page of containerClient.listBlobsFlat().byPage({ maxPageSize: 20 })) { + * for (const blob of page.segment.blobItems) { + * console.log(`Blob ${i++}: ${blob.name}`); + * } + * } + * + * // Example using paging with a marker + * i = 1; + * let iterator = containerClient.listBlobsFlat().byPage({ maxPageSize: 2 }); + * let response = (await iterator.next()).value; + * // Prints 2 blob names + * if (response.segment.blobItems) { + * for (const blob of response.segment.blobItems) { + * console.log(`Blob ${i++}: ${blob.name}`); + * } + * } + * // Gets next marker + * let marker = response.continuationToken; + * // Passing next marker as continuationToken + * iterator = containerClient.listBlobsFlat().byPage({ continuationToken: marker, maxPageSize: 10 }); + * response = (await iterator.next()).value; + * // Prints 10 blob names + * if (response.segment.blobItems) { + * for (const blob of response.segment.blobItems) { + * console.log(`Blob ${i++}: ${blob.name}`); + * } + * } + * ``` + * + * @param options - Options to list blobs. + * @returns An asyncIterableIterator that supports paging. + */ + listBlobsFlat(options = {}) { + const include = []; + if (options.includeCopy) { + include.push("copy"); + } + if (options.includeDeleted) { + include.push("deleted"); + } + if (options.includeMetadata) { + include.push("metadata"); + } + if (options.includeSnapshots) { + include.push("snapshots"); + } + if (options.includeVersions) { + include.push("versions"); + } + if (options.includeUncommitedBlobs) { + include.push("uncommittedblobs"); + } + if (options.includeTags) { + include.push("tags"); + } + if (options.includeDeletedWithVersions) { + include.push("deletedwithversions"); + } + if (options.includeImmutabilityPolicy) { + include.push("immutabilitypolicy"); + } + if (options.includeLegalHold) { + include.push("legalhold"); + } + if (options.prefix === "") { + options.prefix = void 0; + } + const updatedOptions = { + ...options, + ...include.length > 0 ? { include } : {} + }; + const iter = this.listItems(updatedOptions); + return { + /** + * The next method, part of the iteration protocol + */ + next() { + return iter.next(); + }, + /** + * The connection to the async iterator, part of the iteration protocol + */ + [Symbol.asyncIterator]() { + return this; + }, + /** + * Return an AsyncIterableIterator that works a page at a time + */ + byPage: (settings = {}) => { + return this.listSegments(settings.continuationToken, { + maxPageSize: settings.maxPageSize, + ...updatedOptions + }); + } + }; + } + /** + * Returns an AsyncIterableIterator for ContainerListBlobHierarchySegmentResponse + * + * @param delimiter - The character or string used to define the virtual hierarchy + * @param marker - A string value that identifies the portion of + * the list of blobs to be returned with the next listing operation. The + * operation returns the ContinuationToken value within the response body if the + * listing operation did not return all blobs remaining to be listed + * with the current page. The ContinuationToken value can be used as the value for + * the marker parameter in a subsequent call to request the next page of list + * items. The marker value is opaque to the client. + * @param options - Options to list blobs operation. + */ + async *listHierarchySegments(delimiter, marker, options = {}) { + let listBlobsHierarchySegmentResponse; + if (!!marker || marker === void 0) { + do { + listBlobsHierarchySegmentResponse = await this.listBlobHierarchySegment(delimiter, marker, options); + marker = listBlobsHierarchySegmentResponse.continuationToken; + yield await listBlobsHierarchySegmentResponse; + } while (marker); + } + } + /** + * Returns an AsyncIterableIterator for {@link BlobPrefix} and {@link BlobItem} objects. + * + * @param delimiter - The character or string used to define the virtual hierarchy + * @param options - Options to list blobs operation. + */ + async *listItemsByHierarchy(delimiter, options = {}) { + let marker; + for await (const listBlobsHierarchySegmentResponse of this.listHierarchySegments(delimiter, marker, options)) { + const segment = listBlobsHierarchySegmentResponse.segment; + if (segment.blobPrefixes) { + for (const prefix of segment.blobPrefixes) { + yield { + kind: "prefix", + ...prefix + }; + } + } + for (const blob of segment.blobItems) { + yield { kind: "blob", ...blob }; + } + } + } + /** + * Returns an async iterable iterator to list all the blobs by hierarchy. + * under the specified account. + * + * .byPage() returns an async iterable iterator to list the blobs by hierarchy in pages. + * + * ```ts snippet:ReadmeSampleListBlobsByHierarchy + * import { BlobServiceClient } from "@azure/storage-blob"; + * import { DefaultAzureCredential } from "@azure/identity"; + * + * const account = ""; + * const blobServiceClient = new BlobServiceClient( + * `https://${account}.blob.core.windows.net`, + * new DefaultAzureCredential(), + * ); + * + * const containerName = ""; + * const containerClient = blobServiceClient.getContainerClient(containerName); + * + * // Example using `for await` syntax + * let i = 1; + * const blobs = containerClient.listBlobsByHierarchy("/"); + * for await (const blob of blobs) { + * if (blob.kind === "prefix") { + * console.log(`\tBlobPrefix: ${blob.name}`); + * } else { + * console.log(`\tBlobItem: name - ${blob.name}`); + * } + * } + * + * // Example using `iter.next()` syntax + * i = 1; + * const iter = containerClient.listBlobsByHierarchy("/"); + * let { value, done } = await iter.next(); + * while (!done) { + * if (value.kind === "prefix") { + * console.log(`\tBlobPrefix: ${value.name}`); + * } else { + * console.log(`\tBlobItem: name - ${value.name}`); + * } + * ({ value, done } = await iter.next()); + * } + * + * // Example using `byPage()` syntax + * i = 1; + * for await (const page of containerClient.listBlobsByHierarchy("/").byPage({ maxPageSize: 20 })) { + * const segment = page.segment; + * if (segment.blobPrefixes) { + * for (const prefix of segment.blobPrefixes) { + * console.log(`\tBlobPrefix: ${prefix.name}`); + * } + * } + * for (const blob of page.segment.blobItems) { + * console.log(`\tBlobItem: name - ${blob.name}`); + * } + * } + * + * // Example using paging with a marker + * i = 1; + * let iterator = containerClient.listBlobsByHierarchy("/").byPage({ maxPageSize: 2 }); + * let response = (await iterator.next()).value; + * // Prints 2 blob names + * if (response.blobPrefixes) { + * for (const prefix of response.blobPrefixes) { + * console.log(`\tBlobPrefix: ${prefix.name}`); + * } + * } + * if (response.segment.blobItems) { + * for (const blob of response.segment.blobItems) { + * console.log(`\tBlobItem: name - ${blob.name}`); + * } + * } + * // Gets next marker + * let marker = response.continuationToken; + * // Passing next marker as continuationToken + * iterator = containerClient + * .listBlobsByHierarchy("/") + * .byPage({ continuationToken: marker, maxPageSize: 10 }); + * response = (await iterator.next()).value; + * // Prints 10 blob names + * if (response.blobPrefixes) { + * for (const prefix of response.blobPrefixes) { + * console.log(`\tBlobPrefix: ${prefix.name}`); + * } + * } + * if (response.segment.blobItems) { + * for (const blob of response.segment.blobItems) { + * console.log(`Blob ${i++}: ${blob.name}`); + * } + * } + * ``` + * + * @param delimiter - The character or string used to define the virtual hierarchy + * @param options - Options to list blobs operation. + */ + listBlobsByHierarchy(delimiter, options = {}) { + if (delimiter === "") { + throw new RangeError("delimiter should contain one or more characters"); + } + const include = []; + if (options.includeCopy) { + include.push("copy"); + } + if (options.includeDeleted) { + include.push("deleted"); + } + if (options.includeMetadata) { + include.push("metadata"); + } + if (options.includeSnapshots) { + include.push("snapshots"); + } + if (options.includeVersions) { + include.push("versions"); + } + if (options.includeUncommitedBlobs) { + include.push("uncommittedblobs"); + } + if (options.includeTags) { + include.push("tags"); + } + if (options.includeDeletedWithVersions) { + include.push("deletedwithversions"); + } + if (options.includeImmutabilityPolicy) { + include.push("immutabilitypolicy"); + } + if (options.includeLegalHold) { + include.push("legalhold"); + } + if (options.prefix === "") { + options.prefix = void 0; + } + const updatedOptions = { + ...options, + ...include.length > 0 ? { include } : {} + }; + const iter = this.listItemsByHierarchy(delimiter, updatedOptions); + return { + /** + * The next method, part of the iteration protocol + */ + async next() { + return iter.next(); + }, + /** + * The connection to the async iterator, part of the iteration protocol + */ + [Symbol.asyncIterator]() { + return this; + }, + /** + * Return an AsyncIterableIterator that works a page at a time + */ + byPage: (settings = {}) => { + return this.listHierarchySegments(delimiter, settings.continuationToken, { + maxPageSize: settings.maxPageSize, + ...updatedOptions + }); + } + }; + } + /** + * The Filter Blobs operation enables callers to list blobs in the container whose tags + * match a given search expression. + * + * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression. + * The given expression must evaluate to true for a blob to be returned in the results. + * The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter; + * however, only a subset of the OData filter syntax is supported in the Blob service. + * @param marker - A string value that identifies the portion of + * the list of blobs to be returned with the next listing operation. The + * operation returns the continuationToken value within the response body if the + * listing operation did not return all blobs remaining to be listed + * with the current page. The continuationToken value can be used as the value for + * the marker parameter in a subsequent call to request the next page of list + * items. The marker value is opaque to the client. + * @param options - Options to find blobs by tags. + */ + async findBlobsByTagsSegment(tagFilterSqlExpression, marker, options = {}) { + return tracing_js_1.tracingClient.withSpan("ContainerClient-findBlobsByTagsSegment", options, async (updatedOptions) => { + const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.filterBlobs({ + abortSignal: options.abortSignal, + where: tagFilterSqlExpression, + marker, + maxPageSize: options.maxPageSize, + tracingOptions: updatedOptions.tracingOptions + })); + const wrappedResponse = { + ...response, + _response: response._response, + // _response is made non-enumerable + blobs: response.blobs.map((blob) => { + let tagValue = ""; + if (blob.tags?.blobTagSet.length === 1) { + tagValue = blob.tags.blobTagSet[0].value; + } + return { ...blob, tags: (0, utils_common_js_1.toTags)(blob.tags), tagValue }; + }) + }; + return wrappedResponse; + }); + } + /** + * Returns an AsyncIterableIterator for ContainerFindBlobsByTagsSegmentResponse. + * + * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression. + * The given expression must evaluate to true for a blob to be returned in the results. + * The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter; + * however, only a subset of the OData filter syntax is supported in the Blob service. + * @param marker - A string value that identifies the portion of + * the list of blobs to be returned with the next listing operation. The + * operation returns the continuationToken value within the response body if the + * listing operation did not return all blobs remaining to be listed + * with the current page. The continuationToken value can be used as the value for + * the marker parameter in a subsequent call to request the next page of list + * items. The marker value is opaque to the client. + * @param options - Options to find blobs by tags. + */ + async *findBlobsByTagsSegments(tagFilterSqlExpression, marker, options = {}) { + let response; + if (!!marker || marker === void 0) { + do { + response = await this.findBlobsByTagsSegment(tagFilterSqlExpression, marker, options); + response.blobs = response.blobs || []; + marker = response.continuationToken; + yield response; + } while (marker); + } + } + /** + * Returns an AsyncIterableIterator for blobs. + * + * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression. + * The given expression must evaluate to true for a blob to be returned in the results. + * The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter; + * however, only a subset of the OData filter syntax is supported in the Blob service. + * @param options - Options to findBlobsByTagsItems. + */ + async *findBlobsByTagsItems(tagFilterSqlExpression, options = {}) { + let marker; + for await (const segment of this.findBlobsByTagsSegments(tagFilterSqlExpression, marker, options)) { + yield* segment.blobs; + } + } + /** + * Returns an async iterable iterator to find all blobs with specified tag + * under the specified container. + * + * .byPage() returns an async iterable iterator to list the blobs in pages. + * + * Example using `for await` syntax: + * + * ```ts snippet:ReadmeSampleFindBlobsByTags + * import { BlobServiceClient } from "@azure/storage-blob"; + * import { DefaultAzureCredential } from "@azure/identity"; + * + * const account = ""; + * const blobServiceClient = new BlobServiceClient( + * `https://${account}.blob.core.windows.net`, + * new DefaultAzureCredential(), + * ); + * + * const containerName = ""; + * const containerClient = blobServiceClient.getContainerClient(containerName); + * + * // Example using `for await` syntax + * let i = 1; + * for await (const blob of containerClient.findBlobsByTags("tagkey='tagvalue'")) { + * console.log(`Blob ${i++}: ${blob.name}`); + * } + * + * // Example using `iter.next()` syntax + * i = 1; + * const iter = containerClient.findBlobsByTags("tagkey='tagvalue'"); + * let { value, done } = await iter.next(); + * while (!done) { + * console.log(`Blob ${i++}: ${value.name}`); + * ({ value, done } = await iter.next()); + * } + * + * // Example using `byPage()` syntax + * i = 1; + * for await (const page of containerClient + * .findBlobsByTags("tagkey='tagvalue'") + * .byPage({ maxPageSize: 20 })) { + * for (const blob of page.blobs) { + * console.log(`Blob ${i++}: ${blob.name}`); + * } + * } + * + * // Example using paging with a marker + * i = 1; + * let iterator = containerClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 2 }); + * let response = (await iterator.next()).value; + * // Prints 2 blob names + * if (response.blobs) { + * for (const blob of response.blobs) { + * console.log(`Blob ${i++}: ${blob.name}`); + * } + * } + * // Gets next marker + * let marker = response.continuationToken; + * // Passing next marker as continuationToken + * iterator = containerClient + * .findBlobsByTags("tagkey='tagvalue'") + * .byPage({ continuationToken: marker, maxPageSize: 10 }); + * response = (await iterator.next()).value; + * // Prints 10 blob names + * if (response.blobs) { + * for (const blob of response.blobs) { + * console.log(`Blob ${i++}: ${blob.name}`); + * } + * } + * ``` + * + * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression. + * The given expression must evaluate to true for a blob to be returned in the results. + * The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter; + * however, only a subset of the OData filter syntax is supported in the Blob service. + * @param options - Options to find blobs by tags. + */ + findBlobsByTags(tagFilterSqlExpression, options = {}) { + const listSegmentOptions = { + ...options + }; + const iter = this.findBlobsByTagsItems(tagFilterSqlExpression, listSegmentOptions); + return { + /** + * The next method, part of the iteration protocol + */ + next() { + return iter.next(); + }, + /** + * The connection to the async iterator, part of the iteration protocol + */ + [Symbol.asyncIterator]() { + return this; + }, + /** + * Return an AsyncIterableIterator that works a page at a time + */ + byPage: (settings = {}) => { + return this.findBlobsByTagsSegments(tagFilterSqlExpression, settings.continuationToken, { + maxPageSize: settings.maxPageSize, + ...listSegmentOptions + }); + } + }; + } + /** + * The Get Account Information operation returns the sku name and account kind + * for the specified account. + * The Get Account Information operation is available on service versions beginning + * with version 2018-03-28. + * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information + * + * @param options - Options to the Service Get Account Info operation. + * @returns Response data for the Service Get Account Info operation. + */ + async getAccountInfo(options = {}) { + return tracing_js_1.tracingClient.withSpan("ContainerClient-getAccountInfo", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.containerContext.getAccountInfo({ + abortSignal: options.abortSignal, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + getContainerNameFromUrl() { + let containerName; + try { + const parsedUrl = new URL(this.url); + if (parsedUrl.hostname.split(".")[1] === "blob") { + containerName = parsedUrl.pathname.split("/")[1]; + } else if ((0, utils_common_js_1.isIpEndpointStyle)(parsedUrl)) { + containerName = parsedUrl.pathname.split("/")[2]; + } else { + containerName = parsedUrl.pathname.split("/")[1]; + } + containerName = decodeURIComponent(containerName); + if (!containerName) { + throw new Error("Provided containerName is invalid."); + } + return containerName; + } catch (error3) { + throw new Error("Unable to extract containerName with provided information."); + } + } + /** + * Only available for ContainerClient constructed with a shared key credential. + * + * Generates a Blob Container Service Shared Access Signature (SAS) URI based on the client properties + * and parameters passed in. The SAS is signed by the shared key credential of the client. + * + * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas + * + * @param options - Optional parameters. + * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. + */ + generateSasUrl(options) { + return new Promise((resolve5) => { + if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) { + throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential"); + } + const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({ + containerName: this._containerName, + ...options + }, this.credential).toString(); + resolve5((0, utils_common_js_1.appendToURLQuery)(this.url, sas)); + }); + } + /** + * Only available for ContainerClient constructed with a shared key credential. + * + * Generates string to sign for a Blob Container Service Shared Access Signature (SAS) URI + * based on the client properties and parameters passed in. The SAS is signed by the shared key credential of the client. + * + * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas + * + * @param options - Optional parameters. + * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. + */ + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/ + generateSasStringToSign(options) { + if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) { + throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential"); + } + return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({ + containerName: this._containerName, + ...options + }, this.credential).stringToSign; + } + /** + * Generates a Blob Container Service Shared Access Signature (SAS) URI based on the client properties + * and parameters passed in. The SAS is signed by the input user delegation key. + * + * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas + * + * @param options - Optional parameters. + * @param userDelegationKey - Return value of `blobServiceClient.getUserDelegationKey()` + * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. + */ + generateUserDelegationSasUrl(options, userDelegationKey) { + return new Promise((resolve5) => { + const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({ + containerName: this._containerName, + ...options + }, userDelegationKey, this.accountName).toString(); + resolve5((0, utils_common_js_1.appendToURLQuery)(this.url, sas)); + }); + } + /** + * Generates string to sign for a Blob Container Service Shared Access Signature (SAS) URI + * based on the client properties and parameters passed in. The SAS is signed by the input user delegation key. + * + * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas + * + * @param options - Optional parameters. + * @param userDelegationKey - Return value of `blobServiceClient.getUserDelegationKey()` + * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. + */ + generateUserDelegationSasStringToSign(options, userDelegationKey) { + return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({ + containerName: this._containerName, + ...options + }, userDelegationKey, this.accountName).stringToSign; + } + /** + * Creates a BlobBatchClient object to conduct batch operations. + * + * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch + * + * @returns A new BlobBatchClient object for this container. + */ + getBlobBatchClient() { + return new BlobBatchClient_js_1.BlobBatchClient(this.url, this.pipeline); + } + }; + exports2.ContainerClient = ContainerClient; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASPermissions.js +var require_AccountSASPermissions = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASPermissions.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.AccountSASPermissions = void 0; + var AccountSASPermissions = class _AccountSASPermissions { + /** + * Parse initializes the AccountSASPermissions fields from a string. + * + * @param permissions - + */ + static parse(permissions) { + const accountSASPermissions = new _AccountSASPermissions(); + for (const c of permissions) { + switch (c) { + case "r": + accountSASPermissions.read = true; + break; + case "w": + accountSASPermissions.write = true; + break; + case "d": + accountSASPermissions.delete = true; + break; + case "x": + accountSASPermissions.deleteVersion = true; + break; + case "l": + accountSASPermissions.list = true; + break; + case "a": + accountSASPermissions.add = true; + break; + case "c": + accountSASPermissions.create = true; + break; + case "u": + accountSASPermissions.update = true; + break; + case "p": + accountSASPermissions.process = true; + break; + case "t": + accountSASPermissions.tag = true; + break; + case "f": + accountSASPermissions.filter = true; + break; + case "i": + accountSASPermissions.setImmutabilityPolicy = true; + break; + case "y": + accountSASPermissions.permanentDelete = true; + break; + default: + throw new RangeError(`Invalid permission character: ${c}`); + } + } + return accountSASPermissions; + } + /** + * Creates a {@link AccountSASPermissions} from a raw object which contains same keys as it + * and boolean values for them. + * + * @param permissionLike - + */ + static from(permissionLike) { + const accountSASPermissions = new _AccountSASPermissions(); + if (permissionLike.read) { + accountSASPermissions.read = true; + } + if (permissionLike.write) { + accountSASPermissions.write = true; + } + if (permissionLike.delete) { + accountSASPermissions.delete = true; + } + if (permissionLike.deleteVersion) { + accountSASPermissions.deleteVersion = true; + } + if (permissionLike.filter) { + accountSASPermissions.filter = true; + } + if (permissionLike.tag) { + accountSASPermissions.tag = true; + } + if (permissionLike.list) { + accountSASPermissions.list = true; + } + if (permissionLike.add) { + accountSASPermissions.add = true; + } + if (permissionLike.create) { + accountSASPermissions.create = true; + } + if (permissionLike.update) { + accountSASPermissions.update = true; + } + if (permissionLike.process) { + accountSASPermissions.process = true; + } + if (permissionLike.setImmutabilityPolicy) { + accountSASPermissions.setImmutabilityPolicy = true; + } + if (permissionLike.permanentDelete) { + accountSASPermissions.permanentDelete = true; + } + return accountSASPermissions; + } + /** + * Permission to read resources and list queues and tables granted. + */ + read = false; + /** + * Permission to write resources granted. + */ + write = false; + /** + * Permission to delete blobs and files granted. + */ + delete = false; + /** + * Permission to delete versions granted. + */ + deleteVersion = false; + /** + * Permission to list blob containers, blobs, shares, directories, and files granted. + */ + list = false; + /** + * Permission to add messages, table entities, and append to blobs granted. + */ + add = false; + /** + * Permission to create blobs and files granted. + */ + create = false; + /** + * Permissions to update messages and table entities granted. + */ + update = false; + /** + * Permission to get and delete messages granted. + */ + process = false; + /** + * Specfies Tag access granted. + */ + tag = false; + /** + * Permission to filter blobs. + */ + filter = false; + /** + * Permission to set immutability policy. + */ + setImmutabilityPolicy = false; + /** + * Specifies that Permanent Delete is permitted. + */ + permanentDelete = false; + /** + * Produces the SAS permissions string for an Azure Storage account. + * Call this method to set AccountSASSignatureValues Permissions field. + * + * Using this method will guarantee the resource types are in + * an order accepted by the service. + * + * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas + * + */ + toString() { + const permissions = []; + if (this.read) { + permissions.push("r"); + } + if (this.write) { + permissions.push("w"); + } + if (this.delete) { + permissions.push("d"); + } + if (this.deleteVersion) { + permissions.push("x"); + } + if (this.filter) { + permissions.push("f"); + } + if (this.tag) { + permissions.push("t"); + } + if (this.list) { + permissions.push("l"); + } + if (this.add) { + permissions.push("a"); + } + if (this.create) { + permissions.push("c"); + } + if (this.update) { + permissions.push("u"); + } + if (this.process) { + permissions.push("p"); + } + if (this.setImmutabilityPolicy) { + permissions.push("i"); + } + if (this.permanentDelete) { + permissions.push("y"); + } + return permissions.join(""); + } + }; + exports2.AccountSASPermissions = AccountSASPermissions; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASResourceTypes.js +var require_AccountSASResourceTypes = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASResourceTypes.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.AccountSASResourceTypes = void 0; + var AccountSASResourceTypes = class _AccountSASResourceTypes { + /** + * Creates an {@link AccountSASResourceTypes} from the specified resource types string. This method will throw an + * Error if it encounters a character that does not correspond to a valid resource type. + * + * @param resourceTypes - + */ + static parse(resourceTypes) { + const accountSASResourceTypes = new _AccountSASResourceTypes(); + for (const c of resourceTypes) { + switch (c) { + case "s": + accountSASResourceTypes.service = true; + break; + case "c": + accountSASResourceTypes.container = true; + break; + case "o": + accountSASResourceTypes.object = true; + break; + default: + throw new RangeError(`Invalid resource type: ${c}`); + } + } + return accountSASResourceTypes; + } + /** + * Permission to access service level APIs granted. + */ + service = false; + /** + * Permission to access container level APIs (Blob Containers, Tables, Queues, File Shares) granted. + */ + container = false; + /** + * Permission to access object level APIs (Blobs, Table Entities, Queue Messages, Files) granted. + */ + object = false; + /** + * Converts the given resource types to a string. + * + * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas + * + */ + toString() { + const resourceTypes = []; + if (this.service) { + resourceTypes.push("s"); + } + if (this.container) { + resourceTypes.push("c"); + } + if (this.object) { + resourceTypes.push("o"); + } + return resourceTypes.join(""); + } + }; + exports2.AccountSASResourceTypes = AccountSASResourceTypes; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASServices.js +var require_AccountSASServices = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASServices.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.AccountSASServices = void 0; + var AccountSASServices = class _AccountSASServices { + /** + * Creates an {@link AccountSASServices} from the specified services string. This method will throw an + * Error if it encounters a character that does not correspond to a valid service. + * + * @param services - + */ + static parse(services) { + const accountSASServices = new _AccountSASServices(); + for (const c of services) { + switch (c) { + case "b": + accountSASServices.blob = true; + break; + case "f": + accountSASServices.file = true; + break; + case "q": + accountSASServices.queue = true; + break; + case "t": + accountSASServices.table = true; + break; + default: + throw new RangeError(`Invalid service character: ${c}`); + } + } + return accountSASServices; + } + /** + * Permission to access blob resources granted. + */ + blob = false; + /** + * Permission to access file resources granted. + */ + file = false; + /** + * Permission to access queue resources granted. + */ + queue = false; + /** + * Permission to access table resources granted. + */ + table = false; + /** + * Converts the given services to a string. + * + */ + toString() { + const services = []; + if (this.blob) { + services.push("b"); + } + if (this.table) { + services.push("t"); + } + if (this.queue) { + services.push("q"); + } + if (this.file) { + services.push("f"); + } + return services.join(""); + } + }; + exports2.AccountSASServices = AccountSASServices; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASSignatureValues.js +var require_AccountSASSignatureValues = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASSignatureValues.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.generateAccountSASQueryParameters = generateAccountSASQueryParameters; + exports2.generateAccountSASQueryParametersInternal = generateAccountSASQueryParametersInternal; + var AccountSASPermissions_js_1 = require_AccountSASPermissions(); + var AccountSASResourceTypes_js_1 = require_AccountSASResourceTypes(); + var AccountSASServices_js_1 = require_AccountSASServices(); + var SasIPRange_js_1 = require_SasIPRange(); + var SASQueryParameters_js_1 = require_SASQueryParameters(); + var constants_js_1 = require_constants15(); + var utils_common_js_1 = require_utils_common(); + function generateAccountSASQueryParameters(accountSASSignatureValues, sharedKeyCredential) { + return generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential).sasQueryParameters; + } + function generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential) { + const version = accountSASSignatureValues.version ? accountSASSignatureValues.version : constants_js_1.SERVICE_VERSION; + if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.setImmutabilityPolicy && version < "2020-08-04") { + throw RangeError("'version' must be >= '2020-08-04' when provided 'i' permission."); + } + if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.deleteVersion && version < "2019-10-10") { + throw RangeError("'version' must be >= '2019-10-10' when provided 'x' permission."); + } + if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.permanentDelete && version < "2019-10-10") { + throw RangeError("'version' must be >= '2019-10-10' when provided 'y' permission."); + } + if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.tag && version < "2019-12-12") { + throw RangeError("'version' must be >= '2019-12-12' when provided 't' permission."); + } + if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.filter && version < "2019-12-12") { + throw RangeError("'version' must be >= '2019-12-12' when provided 'f' permission."); + } + if (accountSASSignatureValues.encryptionScope && version < "2020-12-06") { + throw RangeError("'version' must be >= '2020-12-06' when provided 'encryptionScope' in SAS."); + } + const parsedPermissions = AccountSASPermissions_js_1.AccountSASPermissions.parse(accountSASSignatureValues.permissions.toString()); + const parsedServices = AccountSASServices_js_1.AccountSASServices.parse(accountSASSignatureValues.services).toString(); + const parsedResourceTypes = AccountSASResourceTypes_js_1.AccountSASResourceTypes.parse(accountSASSignatureValues.resourceTypes).toString(); + let stringToSign; + if (version >= "2020-12-06") { + stringToSign = [ + sharedKeyCredential.accountName, + parsedPermissions, + parsedServices, + parsedResourceTypes, + accountSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.startsOn, false) : "", + (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.expiresOn, false), + accountSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(accountSASSignatureValues.ipRange) : "", + accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : "", + version, + accountSASSignatureValues.encryptionScope ? accountSASSignatureValues.encryptionScope : "", + "" + // Account SAS requires an additional newline character + ].join("\n"); + } else { + stringToSign = [ + sharedKeyCredential.accountName, + parsedPermissions, + parsedServices, + parsedResourceTypes, + accountSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.startsOn, false) : "", + (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.expiresOn, false), + accountSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(accountSASSignatureValues.ipRange) : "", + accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : "", + version, + "" + // Account SAS requires an additional newline character + ].join("\n"); + } + const signature = sharedKeyCredential.computeHMACSHA256(stringToSign); + return { + sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(version, signature, parsedPermissions.toString(), parsedServices, parsedResourceTypes, accountSASSignatureValues.protocol, accountSASSignatureValues.startsOn, accountSASSignatureValues.expiresOn, accountSASSignatureValues.ipRange, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, accountSASSignatureValues.encryptionScope), + stringToSign + }; + } + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/BlobServiceClient.js +var require_BlobServiceClient = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/BlobServiceClient.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.BlobServiceClient = void 0; + var core_auth_1 = require_commonjs7(); + var core_rest_pipeline_1 = require_commonjs6(); + var core_util_1 = require_commonjs4(); + var Pipeline_js_1 = require_Pipeline(); + var ContainerClient_js_1 = require_ContainerClient(); + var utils_common_js_1 = require_utils_common(); + var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential(); + var AnonymousCredential_js_1 = require_AnonymousCredential(); + var utils_common_js_2 = require_utils_common(); + var tracing_js_1 = require_tracing(); + var BlobBatchClient_js_1 = require_BlobBatchClient(); + var StorageClient_js_1 = require_StorageClient(); + var AccountSASPermissions_js_1 = require_AccountSASPermissions(); + var AccountSASSignatureValues_js_1 = require_AccountSASSignatureValues(); + var AccountSASServices_js_1 = require_AccountSASServices(); + var BlobServiceClient = class _BlobServiceClient extends StorageClient_js_1.StorageClient { + /** + * serviceContext provided by protocol layer. + */ + serviceContext; + /** + * + * Creates an instance of BlobServiceClient from connection string. + * + * @param connectionString - Account connection string or a SAS connection string of an Azure storage account. + * [ Note - Account connection string can only be used in NODE.JS runtime. ] + * Account connection string example - + * `DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=accountKey;EndpointSuffix=core.windows.net` + * SAS connection string example - + * `BlobEndpoint=https://myaccount.blob.core.windows.net/;QueueEndpoint=https://myaccount.queue.core.windows.net/;FileEndpoint=https://myaccount.file.core.windows.net/;TableEndpoint=https://myaccount.table.core.windows.net/;SharedAccessSignature=sasString` + * @param options - Optional. Options to configure the HTTP pipeline. + */ + static fromConnectionString(connectionString, options) { + options = options || {}; + const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(connectionString); + if (extractedCreds.kind === "AccountConnString") { + if (core_util_1.isNodeLike) { + const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey); + if (!options.proxyOptions) { + options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri); + } + const pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options); + return new _BlobServiceClient(extractedCreds.url, pipeline); + } else { + throw new Error("Account connection string is only supported in Node.js environment"); + } + } else if (extractedCreds.kind === "SASConnString") { + const pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); + return new _BlobServiceClient(extractedCreds.url + "?" + extractedCreds.accountSas, pipeline); + } else { + throw new Error("Connection string must be either an Account connection string or a SAS connection string"); + } + } + constructor(url, credentialOrPipeline, options) { + let pipeline; + if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipeline)) { + pipeline = credentialOrPipeline; + } else if (core_util_1.isNodeLike && credentialOrPipeline instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipeline instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipeline)) { + pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipeline, options); + } else { + pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); + } + super(url, pipeline); + this.serviceContext = this.storageClientContext.service; + } + /** + * Creates a {@link ContainerClient} object + * + * @param containerName - A container name + * @returns A new ContainerClient object for the given container name. + * + * Example usage: + * + * ```ts snippet:BlobServiceClientGetContainerClient + * import { BlobServiceClient } from "@azure/storage-blob"; + * import { DefaultAzureCredential } from "@azure/identity"; + * + * const account = ""; + * const blobServiceClient = new BlobServiceClient( + * `https://${account}.blob.core.windows.net`, + * new DefaultAzureCredential(), + * ); + * + * const containerClient = blobServiceClient.getContainerClient(""); + * ``` + */ + getContainerClient(containerName) { + return new ContainerClient_js_1.ContainerClient((0, utils_common_js_1.appendToURLPath)(this.url, encodeURIComponent(containerName)), this.pipeline); + } + /** + * Create a Blob container. @see https://learn.microsoft.com/rest/api/storageservices/create-container + * + * @param containerName - Name of the container to create. + * @param options - Options to configure Container Create operation. + * @returns Container creation response and the corresponding container client. + */ + async createContainer(containerName, options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobServiceClient-createContainer", options, async (updatedOptions) => { + const containerClient = this.getContainerClient(containerName); + const containerCreateResponse = await containerClient.create(updatedOptions); + return { + containerClient, + containerCreateResponse + }; + }); + } + /** + * Deletes a Blob container. + * + * @param containerName - Name of the container to delete. + * @param options - Options to configure Container Delete operation. + * @returns Container deletion response. + */ + async deleteContainer(containerName, options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobServiceClient-deleteContainer", options, async (updatedOptions) => { + const containerClient = this.getContainerClient(containerName); + return containerClient.delete(updatedOptions); + }); + } + /** + * Restore a previously deleted Blob container. + * This API is only functional if Container Soft Delete is enabled for the storage account associated with the container. + * + * @param deletedContainerName - Name of the previously deleted container. + * @param deletedContainerVersion - Version of the previously deleted container, used to uniquely identify the deleted container. + * @param options - Options to configure Container Restore operation. + * @returns Container deletion response. + */ + async undeleteContainer(deletedContainerName, deletedContainerVersion, options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobServiceClient-undeleteContainer", options, async (updatedOptions) => { + const containerClient = this.getContainerClient(options.destinationContainerName || deletedContainerName); + const containerContext = containerClient["storageClientContext"].container; + const containerUndeleteResponse = (0, utils_common_js_2.assertResponse)(await containerContext.restore({ + deletedContainerName, + deletedContainerVersion, + tracingOptions: updatedOptions.tracingOptions + })); + return { containerClient, containerUndeleteResponse }; + }); + } + /** + * Gets the properties of a storage account’s Blob service, including properties + * for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules. + * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-properties + * + * @param options - Options to the Service Get Properties operation. + * @returns Response data for the Service Get Properties operation. + */ + async getProperties(options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getProperties", options, async (updatedOptions) => { + return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getProperties({ + abortSignal: options.abortSignal, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Sets properties for a storage account’s Blob service endpoint, including properties + * for Storage Analytics, CORS (Cross-Origin Resource Sharing) rules and soft delete settings. + * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-service-properties + * + * @param properties - + * @param options - Options to the Service Set Properties operation. + * @returns Response data for the Service Set Properties operation. + */ + async setProperties(properties, options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobServiceClient-setProperties", options, async (updatedOptions) => { + return (0, utils_common_js_2.assertResponse)(await this.serviceContext.setProperties(properties, { + abortSignal: options.abortSignal, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Retrieves statistics related to replication for the Blob service. It is only + * available on the secondary location endpoint when read-access geo-redundant + * replication is enabled for the storage account. + * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-stats + * + * @param options - Options to the Service Get Statistics operation. + * @returns Response data for the Service Get Statistics operation. + */ + async getStatistics(options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getStatistics", options, async (updatedOptions) => { + return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getStatistics({ + abortSignal: options.abortSignal, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * The Get Account Information operation returns the sku name and account kind + * for the specified account. + * The Get Account Information operation is available on service versions beginning + * with version 2018-03-28. + * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information + * + * @param options - Options to the Service Get Account Info operation. + * @returns Response data for the Service Get Account Info operation. + */ + async getAccountInfo(options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getAccountInfo", options, async (updatedOptions) => { + return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getAccountInfo({ + abortSignal: options.abortSignal, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Returns a list of the containers under the specified account. + * @see https://learn.microsoft.com/rest/api/storageservices/list-containers2 + * + * @param marker - A string value that identifies the portion of + * the list of containers to be returned with the next listing operation. The + * operation returns the continuationToken value within the response body if the + * listing operation did not return all containers remaining to be listed + * with the current page. The continuationToken value can be used as the value for + * the marker parameter in a subsequent call to request the next page of list + * items. The marker value is opaque to the client. + * @param options - Options to the Service List Container Segment operation. + * @returns Response data for the Service List Container Segment operation. + */ + async listContainersSegment(marker, options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobServiceClient-listContainersSegment", options, async (updatedOptions) => { + return (0, utils_common_js_2.assertResponse)(await this.serviceContext.listContainersSegment({ + abortSignal: options.abortSignal, + marker, + ...options, + include: typeof options.include === "string" ? [options.include] : options.include, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * The Filter Blobs operation enables callers to list blobs across all containers whose tags + * match a given search expression. Filter blobs searches across all containers within a + * storage account but can be scoped within the expression to a single container. + * + * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression. + * The given expression must evaluate to true for a blob to be returned in the results. + * The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter; + * however, only a subset of the OData filter syntax is supported in the Blob service. + * @param marker - A string value that identifies the portion of + * the list of blobs to be returned with the next listing operation. The + * operation returns the continuationToken value within the response body if the + * listing operation did not return all blobs remaining to be listed + * with the current page. The continuationToken value can be used as the value for + * the marker parameter in a subsequent call to request the next page of list + * items. The marker value is opaque to the client. + * @param options - Options to find blobs by tags. + */ + async findBlobsByTagsSegment(tagFilterSqlExpression, marker, options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobServiceClient-findBlobsByTagsSegment", options, async (updatedOptions) => { + const response = (0, utils_common_js_2.assertResponse)(await this.serviceContext.filterBlobs({ + abortSignal: options.abortSignal, + where: tagFilterSqlExpression, + marker, + maxPageSize: options.maxPageSize, + tracingOptions: updatedOptions.tracingOptions + })); + const wrappedResponse = { + ...response, + _response: response._response, + // _response is made non-enumerable + blobs: response.blobs.map((blob) => { + let tagValue = ""; + if (blob.tags?.blobTagSet.length === 1) { + tagValue = blob.tags.blobTagSet[0].value; + } + return { ...blob, tags: (0, utils_common_js_1.toTags)(blob.tags), tagValue }; + }) + }; + return wrappedResponse; + }); + } + /** + * Returns an AsyncIterableIterator for ServiceFindBlobsByTagsSegmentResponse. + * + * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression. + * The given expression must evaluate to true for a blob to be returned in the results. + * The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter; + * however, only a subset of the OData filter syntax is supported in the Blob service. + * @param marker - A string value that identifies the portion of + * the list of blobs to be returned with the next listing operation. The + * operation returns the continuationToken value within the response body if the + * listing operation did not return all blobs remaining to be listed + * with the current page. The continuationToken value can be used as the value for + * the marker parameter in a subsequent call to request the next page of list + * items. The marker value is opaque to the client. + * @param options - Options to find blobs by tags. + */ + async *findBlobsByTagsSegments(tagFilterSqlExpression, marker, options = {}) { + let response; + if (!!marker || marker === void 0) { + do { + response = await this.findBlobsByTagsSegment(tagFilterSqlExpression, marker, options); + response.blobs = response.blobs || []; + marker = response.continuationToken; + yield response; + } while (marker); + } + } + /** + * Returns an AsyncIterableIterator for blobs. + * + * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression. + * The given expression must evaluate to true for a blob to be returned in the results. + * The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter; + * however, only a subset of the OData filter syntax is supported in the Blob service. + * @param options - Options to findBlobsByTagsItems. + */ + async *findBlobsByTagsItems(tagFilterSqlExpression, options = {}) { + let marker; + for await (const segment of this.findBlobsByTagsSegments(tagFilterSqlExpression, marker, options)) { + yield* segment.blobs; + } + } + /** + * Returns an async iterable iterator to find all blobs with specified tag + * under the specified account. + * + * .byPage() returns an async iterable iterator to list the blobs in pages. + * + * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-properties + * + * ```ts snippet:BlobServiceClientFindBlobsByTags + * import { BlobServiceClient } from "@azure/storage-blob"; + * import { DefaultAzureCredential } from "@azure/identity"; + * + * const account = ""; + * const blobServiceClient = new BlobServiceClient( + * `https://${account}.blob.core.windows.net`, + * new DefaultAzureCredential(), + * ); + * + * // Use for await to iterate the blobs + * let i = 1; + * for await (const blob of blobServiceClient.findBlobsByTags("tagkey='tagvalue'")) { + * console.log(`Blob ${i++}: ${blob.name}`); + * } + * + * // Use iter.next() to iterate the blobs + * i = 1; + * const iter = blobServiceClient.findBlobsByTags("tagkey='tagvalue'"); + * let { value, done } = await iter.next(); + * while (!done) { + * console.log(`Blob ${i++}: ${value.name}`); + * ({ value, done } = await iter.next()); + * } + * + * // Use byPage() to iterate the blobs + * i = 1; + * for await (const page of blobServiceClient + * .findBlobsByTags("tagkey='tagvalue'") + * .byPage({ maxPageSize: 20 })) { + * for (const blob of page.blobs) { + * console.log(`Blob ${i++}: ${blob.name}`); + * } + * } + * + * // Use paging with a marker + * i = 1; + * let iterator = blobServiceClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 2 }); + * let response = (await iterator.next()).value; + * // Prints 2 blob names + * if (response.blobs) { + * for (const blob of response.blobs) { + * console.log(`Blob ${i++}: ${blob.name}`); + * } + * } + * // Gets next marker + * let marker = response.continuationToken; + * // Passing next marker as continuationToken + * iterator = blobServiceClient + * .findBlobsByTags("tagkey='tagvalue'") + * .byPage({ continuationToken: marker, maxPageSize: 10 }); + * response = (await iterator.next()).value; + * + * // Prints blob names + * if (response.blobs) { + * for (const blob of response.blobs) { + * console.log(`Blob ${i++}: ${blob.name}`); + * } + * } + * ``` + * + * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression. + * The given expression must evaluate to true for a blob to be returned in the results. + * The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter; + * however, only a subset of the OData filter syntax is supported in the Blob service. + * @param options - Options to find blobs by tags. + */ + findBlobsByTags(tagFilterSqlExpression, options = {}) { + const listSegmentOptions = { + ...options + }; + const iter = this.findBlobsByTagsItems(tagFilterSqlExpression, listSegmentOptions); + return { + /** + * The next method, part of the iteration protocol + */ + next() { + return iter.next(); + }, + /** + * The connection to the async iterator, part of the iteration protocol + */ + [Symbol.asyncIterator]() { + return this; + }, + /** + * Return an AsyncIterableIterator that works a page at a time + */ + byPage: (settings = {}) => { + return this.findBlobsByTagsSegments(tagFilterSqlExpression, settings.continuationToken, { + maxPageSize: settings.maxPageSize, + ...listSegmentOptions + }); + } + }; + } + /** + * Returns an AsyncIterableIterator for ServiceListContainersSegmentResponses + * + * @param marker - A string value that identifies the portion of + * the list of containers to be returned with the next listing operation. The + * operation returns the continuationToken value within the response body if the + * listing operation did not return all containers remaining to be listed + * with the current page. The continuationToken value can be used as the value for + * the marker parameter in a subsequent call to request the next page of list + * items. The marker value is opaque to the client. + * @param options - Options to list containers operation. + */ + async *listSegments(marker, options = {}) { + let listContainersSegmentResponse; + if (!!marker || marker === void 0) { + do { + listContainersSegmentResponse = await this.listContainersSegment(marker, options); + listContainersSegmentResponse.containerItems = listContainersSegmentResponse.containerItems || []; + marker = listContainersSegmentResponse.continuationToken; + yield await listContainersSegmentResponse; + } while (marker); + } + } + /** + * Returns an AsyncIterableIterator for Container Items + * + * @param options - Options to list containers operation. + */ + async *listItems(options = {}) { + let marker; + for await (const segment of this.listSegments(marker, options)) { + yield* segment.containerItems; + } + } + /** + * Returns an async iterable iterator to list all the containers + * under the specified account. + * + * .byPage() returns an async iterable iterator to list the containers in pages. + * + * ```ts snippet:BlobServiceClientListContainers + * import { BlobServiceClient } from "@azure/storage-blob"; + * import { DefaultAzureCredential } from "@azure/identity"; + * + * const account = ""; + * const blobServiceClient = new BlobServiceClient( + * `https://${account}.blob.core.windows.net`, + * new DefaultAzureCredential(), + * ); + * + * // Use for await to iterate the containers + * let i = 1; + * for await (const container of blobServiceClient.listContainers()) { + * console.log(`Container ${i++}: ${container.name}`); + * } + * + * // Use iter.next() to iterate the containers + * i = 1; + * const iter = blobServiceClient.listContainers(); + * let { value, done } = await iter.next(); + * while (!done) { + * console.log(`Container ${i++}: ${value.name}`); + * ({ value, done } = await iter.next()); + * } + * + * // Use byPage() to iterate the containers + * i = 1; + * for await (const page of blobServiceClient.listContainers().byPage({ maxPageSize: 20 })) { + * for (const container of page.containerItems) { + * console.log(`Container ${i++}: ${container.name}`); + * } + * } + * + * // Use paging with a marker + * i = 1; + * let iterator = blobServiceClient.listContainers().byPage({ maxPageSize: 2 }); + * let response = (await iterator.next()).value; + * + * // Prints 2 container names + * if (response.containerItems) { + * for (const container of response.containerItems) { + * console.log(`Container ${i++}: ${container.name}`); + * } + * } + * + * // Gets next marker + * let marker = response.continuationToken; + * // Passing next marker as continuationToken + * iterator = blobServiceClient + * .listContainers() + * .byPage({ continuationToken: marker, maxPageSize: 10 }); + * response = (await iterator.next()).value; + * + * // Prints 10 container names + * if (response.containerItems) { + * for (const container of response.containerItems) { + * console.log(`Container ${i++}: ${container.name}`); + * } + * } + * ``` + * + * @param options - Options to list containers. + * @returns An asyncIterableIterator that supports paging. + */ + listContainers(options = {}) { + if (options.prefix === "") { + options.prefix = void 0; + } + const include = []; + if (options.includeDeleted) { + include.push("deleted"); + } + if (options.includeMetadata) { + include.push("metadata"); + } + if (options.includeSystem) { + include.push("system"); + } + const listSegmentOptions = { + ...options, + ...include.length > 0 ? { include } : {} + }; + const iter = this.listItems(listSegmentOptions); + return { + /** + * The next method, part of the iteration protocol + */ + next() { + return iter.next(); + }, + /** + * The connection to the async iterator, part of the iteration protocol + */ + [Symbol.asyncIterator]() { + return this; + }, + /** + * Return an AsyncIterableIterator that works a page at a time + */ + byPage: (settings = {}) => { + return this.listSegments(settings.continuationToken, { + maxPageSize: settings.maxPageSize, + ...listSegmentOptions + }); + } + }; + } + /** + * ONLY AVAILABLE WHEN USING BEARER TOKEN AUTHENTICATION (TokenCredential). + * + * Retrieves a user delegation key for the Blob service. This is only a valid operation when using + * bearer token authentication. + * + * @see https://learn.microsoft.com/rest/api/storageservices/get-user-delegation-key + * + * @param startsOn - The start time for the user delegation SAS. Must be within 7 days of the current time + * @param expiresOn - The end time for the user delegation SAS. Must be within 7 days of the current time + */ + async getUserDelegationKey(startsOn, expiresOn, options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getUserDelegationKey", options, async (updatedOptions) => { + const response = (0, utils_common_js_2.assertResponse)(await this.serviceContext.getUserDelegationKey({ + startsOn: (0, utils_common_js_2.truncatedISO8061Date)(startsOn, false), + expiresOn: (0, utils_common_js_2.truncatedISO8061Date)(expiresOn, false) + }, { + abortSignal: options.abortSignal, + tracingOptions: updatedOptions.tracingOptions + })); + const userDelegationKey = { + signedObjectId: response.signedObjectId, + signedTenantId: response.signedTenantId, + signedStartsOn: new Date(response.signedStartsOn), + signedExpiresOn: new Date(response.signedExpiresOn), + signedService: response.signedService, + signedVersion: response.signedVersion, + value: response.value + }; + const res = { + _response: response._response, + requestId: response.requestId, + clientRequestId: response.clientRequestId, + version: response.version, + date: response.date, + errorCode: response.errorCode, + ...userDelegationKey + }; + return res; + }); + } + /** + * Creates a BlobBatchClient object to conduct batch operations. + * + * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch + * + * @returns A new BlobBatchClient object for this service. + */ + getBlobBatchClient() { + return new BlobBatchClient_js_1.BlobBatchClient(this.url, this.pipeline); + } + /** + * Only available for BlobServiceClient constructed with a shared key credential. + * + * Generates a Blob account Shared Access Signature (SAS) URI based on the client properties + * and parameters passed in. The SAS is signed by the shared key credential of the client. + * + * @see https://learn.microsoft.com/rest/api/storageservices/create-account-sas + * + * @param expiresOn - Optional. The time at which the shared access signature becomes invalid. Default to an hour later if not provided. + * @param permissions - Specifies the list of permissions to be associated with the SAS. + * @param resourceTypes - Specifies the resource types associated with the shared access signature. + * @param options - Optional parameters. + * @returns An account SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. + */ + generateAccountSasUrl(expiresOn, permissions = AccountSASPermissions_js_1.AccountSASPermissions.parse("r"), resourceTypes = "sco", options = {}) { + if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) { + throw RangeError("Can only generate the account SAS when the client is initialized with a shared key credential"); + } + if (expiresOn === void 0) { + const now = /* @__PURE__ */ new Date(); + expiresOn = new Date(now.getTime() + 3600 * 1e3); + } + const sas = (0, AccountSASSignatureValues_js_1.generateAccountSASQueryParameters)({ + permissions, + expiresOn, + resourceTypes, + services: AccountSASServices_js_1.AccountSASServices.parse("b").toString(), + ...options + }, this.credential).toString(); + return (0, utils_common_js_1.appendToURLQuery)(this.url, sas); + } + /** + * Only available for BlobServiceClient constructed with a shared key credential. + * + * Generates string to sign for a Blob account Shared Access Signature (SAS) URI based on + * the client properties and parameters passed in. The SAS is signed by the shared key credential of the client. + * + * @see https://learn.microsoft.com/rest/api/storageservices/create-account-sas + * + * @param expiresOn - Optional. The time at which the shared access signature becomes invalid. Default to an hour later if not provided. + * @param permissions - Specifies the list of permissions to be associated with the SAS. + * @param resourceTypes - Specifies the resource types associated with the shared access signature. + * @param options - Optional parameters. + * @returns An account SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. + */ + generateSasStringToSign(expiresOn, permissions = AccountSASPermissions_js_1.AccountSASPermissions.parse("r"), resourceTypes = "sco", options = {}) { + if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) { + throw RangeError("Can only generate the account SAS when the client is initialized with a shared key credential"); + } + if (expiresOn === void 0) { + const now = /* @__PURE__ */ new Date(); + expiresOn = new Date(now.getTime() + 3600 * 1e3); + } + return (0, AccountSASSignatureValues_js_1.generateAccountSASQueryParametersInternal)({ + permissions, + expiresOn, + resourceTypes, + services: AccountSASServices_js_1.AccountSASServices.parse("b").toString(), + ...options + }, this.credential).stringToSign; + } + }; + exports2.BlobServiceClient = BlobServiceClient; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/BatchResponse.js +var require_BatchResponse = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/BatchResponse.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/generatedModels.js +var require_generatedModels = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/generatedModels.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.KnownEncryptionAlgorithmType = void 0; + var KnownEncryptionAlgorithmType; + (function(KnownEncryptionAlgorithmType2) { + KnownEncryptionAlgorithmType2["AES256"] = "AES256"; + })(KnownEncryptionAlgorithmType || (exports2.KnownEncryptionAlgorithmType = KnownEncryptionAlgorithmType = {})); + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/index.js +var require_commonjs15 = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/index.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.logger = exports2.RestError = exports2.BaseRequestPolicy = exports2.StorageOAuthScopes = exports2.newPipeline = exports2.isPipelineLike = exports2.Pipeline = exports2.getBlobServiceAccountAudience = exports2.StorageBlobAudience = exports2.PremiumPageBlobTier = exports2.BlockBlobTier = exports2.generateBlobSASQueryParameters = exports2.generateAccountSASQueryParameters = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var core_rest_pipeline_1 = require_commonjs6(); + Object.defineProperty(exports2, "RestError", { enumerable: true, get: function() { + return core_rest_pipeline_1.RestError; + } }); + tslib_1.__exportStar(require_BlobServiceClient(), exports2); + tslib_1.__exportStar(require_Clients(), exports2); + tslib_1.__exportStar(require_ContainerClient(), exports2); + tslib_1.__exportStar(require_BlobLeaseClient(), exports2); + tslib_1.__exportStar(require_AccountSASPermissions(), exports2); + tslib_1.__exportStar(require_AccountSASResourceTypes(), exports2); + tslib_1.__exportStar(require_AccountSASServices(), exports2); + var AccountSASSignatureValues_js_1 = require_AccountSASSignatureValues(); + Object.defineProperty(exports2, "generateAccountSASQueryParameters", { enumerable: true, get: function() { + return AccountSASSignatureValues_js_1.generateAccountSASQueryParameters; + } }); + tslib_1.__exportStar(require_BlobBatch(), exports2); + tslib_1.__exportStar(require_BlobBatchClient(), exports2); + tslib_1.__exportStar(require_BatchResponse(), exports2); + tslib_1.__exportStar(require_BlobSASPermissions(), exports2); + var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues(); + Object.defineProperty(exports2, "generateBlobSASQueryParameters", { enumerable: true, get: function() { + return BlobSASSignatureValues_js_1.generateBlobSASQueryParameters; + } }); + tslib_1.__exportStar(require_StorageBrowserPolicyFactory2(), exports2); + tslib_1.__exportStar(require_ContainerSASPermissions(), exports2); + tslib_1.__exportStar(require_AnonymousCredential(), exports2); + tslib_1.__exportStar(require_Credential(), exports2); + tslib_1.__exportStar(require_StorageSharedKeyCredential(), exports2); + var models_js_1 = require_models2(); + Object.defineProperty(exports2, "BlockBlobTier", { enumerable: true, get: function() { + return models_js_1.BlockBlobTier; + } }); + Object.defineProperty(exports2, "PremiumPageBlobTier", { enumerable: true, get: function() { + return models_js_1.PremiumPageBlobTier; + } }); + Object.defineProperty(exports2, "StorageBlobAudience", { enumerable: true, get: function() { + return models_js_1.StorageBlobAudience; + } }); + Object.defineProperty(exports2, "getBlobServiceAccountAudience", { enumerable: true, get: function() { + return models_js_1.getBlobServiceAccountAudience; + } }); + var Pipeline_js_1 = require_Pipeline(); + Object.defineProperty(exports2, "Pipeline", { enumerable: true, get: function() { + return Pipeline_js_1.Pipeline; + } }); + Object.defineProperty(exports2, "isPipelineLike", { enumerable: true, get: function() { + return Pipeline_js_1.isPipelineLike; + } }); + Object.defineProperty(exports2, "newPipeline", { enumerable: true, get: function() { + return Pipeline_js_1.newPipeline; + } }); + Object.defineProperty(exports2, "StorageOAuthScopes", { enumerable: true, get: function() { + return Pipeline_js_1.StorageOAuthScopes; + } }); + tslib_1.__exportStar(require_StorageRetryPolicyFactory(), exports2); + var RequestPolicy_js_1 = require_RequestPolicy(); + Object.defineProperty(exports2, "BaseRequestPolicy", { enumerable: true, get: function() { + return RequestPolicy_js_1.BaseRequestPolicy; + } }); + tslib_1.__exportStar(require_AnonymousCredentialPolicy(), exports2); + tslib_1.__exportStar(require_CredentialPolicy(), exports2); + tslib_1.__exportStar(require_StorageRetryPolicyFactory(), exports2); + tslib_1.__exportStar(require_StorageSharedKeyCredentialPolicy(), exports2); + tslib_1.__exportStar(require_SASQueryParameters(), exports2); + tslib_1.__exportStar(require_generatedModels(), exports2); + var log_js_1 = require_log5(); + Object.defineProperty(exports2, "logger", { enumerable: true, get: function() { + return log_js_1.logger; + } }); + } +}); + +// node_modules/@actions/cache/lib/internal/shared/errors.js +var require_errors3 = __commonJS({ + "node_modules/@actions/cache/lib/internal/shared/errors.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.RateLimitError = exports2.UsageError = exports2.NetworkError = exports2.GHESNotSupportedError = exports2.CacheNotFoundError = exports2.InvalidResponseError = exports2.FilesNotFoundError = void 0; + var FilesNotFoundError = class extends Error { + constructor(files = []) { + let message = "No files were found to upload"; + if (files.length > 0) { + message += `: ${files.join(", ")}`; + } + super(message); + this.files = files; + this.name = "FilesNotFoundError"; + } + }; + exports2.FilesNotFoundError = FilesNotFoundError; + var InvalidResponseError = class extends Error { + constructor(message) { + super(message); + this.name = "InvalidResponseError"; + } + }; + exports2.InvalidResponseError = InvalidResponseError; + var CacheNotFoundError = class extends Error { + constructor(message = "Cache not found") { + super(message); + this.name = "CacheNotFoundError"; + } + }; + exports2.CacheNotFoundError = CacheNotFoundError; + var GHESNotSupportedError = class extends Error { + constructor(message = "@actions/cache v4.1.4+, actions/cache/save@v4+ and actions/cache/restore@v4+ are not currently supported on GHES.") { + super(message); + this.name = "GHESNotSupportedError"; + } + }; + exports2.GHESNotSupportedError = GHESNotSupportedError; + var NetworkError = class extends Error { + constructor(code) { + const message = `Unable to make request: ${code} +If you are using self-hosted runners, please make sure your runner has access to all GitHub endpoints: https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#communication-between-self-hosted-runners-and-github`; + super(message); + this.code = code; + this.name = "NetworkError"; + } + }; + exports2.NetworkError = NetworkError; + NetworkError.isNetworkErrorCode = (code) => { + if (!code) + return false; + return [ + "ECONNRESET", + "ENOTFOUND", + "ETIMEDOUT", + "ECONNREFUSED", + "EHOSTUNREACH" + ].includes(code); + }; + var UsageError = class extends Error { + constructor() { + const message = `Cache storage quota has been hit. Unable to upload any new cache entries. Usage is recalculated every 6-12 hours. +More info on storage limits: https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#calculating-minute-and-storage-spending`; + super(message); + this.name = "UsageError"; + } + }; + exports2.UsageError = UsageError; + UsageError.isUsageErrorMessage = (msg) => { + if (!msg) + return false; + return msg.includes("insufficient usage"); + }; + var RateLimitError = class extends Error { + constructor(message) { + super(message); + this.name = "RateLimitError"; + } + }; + exports2.RateLimitError = RateLimitError; + } +}); + +// node_modules/@actions/cache/lib/internal/uploadUtils.js +var require_uploadUtils = __commonJS({ + "node_modules/@actions/cache/lib/internal/uploadUtils.js"(exports2) { + "use strict"; + var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }); + var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() { + var ownKeys2 = function(o) { + ownKeys2 = 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 ownKeys2(o); + }; + return function(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) { + for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]); + } + __setModuleDefault2(result, mod); + return result; + }; + })(); + var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve5) { + resolve5(value); + }); + } + return new (P || (P = Promise))(function(resolve5, 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 ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.UploadProgress = void 0; + exports2.uploadCacheArchiveSDK = uploadCacheArchiveSDK; + var core14 = __importStar2(require_core()); + var storage_blob_1 = require_commonjs15(); + var errors_1 = require_errors3(); + var UploadProgress = class { + constructor(contentLength) { + this.contentLength = contentLength; + this.sentBytes = 0; + this.displayedComplete = false; + this.startTime = Date.now(); + } + /** + * Sets the number of bytes sent + * + * @param sentBytes the number of bytes sent + */ + setSentBytes(sentBytes) { + this.sentBytes = sentBytes; + } + /** + * Returns the total number of bytes transferred. + */ + getTransferredBytes() { + return this.sentBytes; + } + /** + * Returns true if the upload is complete. + */ + isDone() { + return this.getTransferredBytes() === this.contentLength; + } + /** + * Prints the current upload stats. Once the upload completes, this will print one + * last line and then stop. + */ + display() { + if (this.displayedComplete) { + return; + } + const transferredBytes = this.sentBytes; + const percentage = (100 * (transferredBytes / this.contentLength)).toFixed(1); + const elapsedTime = Date.now() - this.startTime; + const uploadSpeed = (transferredBytes / (1024 * 1024) / (elapsedTime / 1e3)).toFixed(1); + core14.info(`Sent ${transferredBytes} of ${this.contentLength} (${percentage}%), ${uploadSpeed} MBs/sec`); + if (this.isDone()) { + this.displayedComplete = true; + } + } + /** + * Returns a function used to handle TransferProgressEvents. + */ + onProgress() { + return (progress) => { + this.setSentBytes(progress.loadedBytes); + }; + } + /** + * Starts the timer that displays the stats. + * + * @param delayInMs the delay between each write + */ + startDisplayTimer(delayInMs = 1e3) { + const displayCallback = () => { + this.display(); + if (!this.isDone()) { + this.timeoutHandle = setTimeout(displayCallback, delayInMs); + } + }; + this.timeoutHandle = setTimeout(displayCallback, delayInMs); + } + /** + * Stops the timer that displays the stats. As this typically indicates the upload + * is complete, this will display one last line, unless the last line has already + * been written. + */ + stopDisplayTimer() { + if (this.timeoutHandle) { + clearTimeout(this.timeoutHandle); + this.timeoutHandle = void 0; + } + this.display(); + } + }; + exports2.UploadProgress = UploadProgress; + function uploadCacheArchiveSDK(signedUploadURL, archivePath, options) { + return __awaiter2(this, void 0, void 0, function* () { + var _a; + const blobClient = new storage_blob_1.BlobClient(signedUploadURL); + const blockBlobClient = blobClient.getBlockBlobClient(); + const uploadProgress = new UploadProgress((_a = options === null || options === void 0 ? void 0 : options.archiveSizeBytes) !== null && _a !== void 0 ? _a : 0); + const uploadOptions = { + blockSize: options === null || options === void 0 ? void 0 : options.uploadChunkSize, + concurrency: options === null || options === void 0 ? void 0 : options.uploadConcurrency, + // maximum number of parallel transfer workers + maxSingleShotSize: 128 * 1024 * 1024, + // 128 MiB initial transfer size + onProgress: uploadProgress.onProgress() + }; + try { + uploadProgress.startDisplayTimer(); + core14.debug(`BlobClient: ${blobClient.name}:${blobClient.accountName}:${blobClient.containerName}`); + const response = yield blockBlobClient.uploadFile(archivePath, uploadOptions); + if (response._response.status >= 400) { + throw new errors_1.InvalidResponseError(`uploadCacheArchiveSDK: upload failed with status code ${response._response.status}`); + } + return response; + } catch (error3) { + core14.warning(`uploadCacheArchiveSDK: internal error uploading cache archive: ${error3.message}`); + throw error3; + } finally { + uploadProgress.stopDisplayTimer(); + } + }); + } + } +}); + +// node_modules/@actions/cache/lib/internal/requestUtils.js +var require_requestUtils = __commonJS({ + "node_modules/@actions/cache/lib/internal/requestUtils.js"(exports2) { + "use strict"; + var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }); + var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() { + var ownKeys2 = function(o) { + ownKeys2 = 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 ownKeys2(o); + }; + return function(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) { + for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]); + } + __setModuleDefault2(result, mod); + return result; + }; + })(); + var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve5) { + resolve5(value); + }); + } + return new (P || (P = Promise))(function(resolve5, 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 ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.isSuccessStatusCode = isSuccessStatusCode; + exports2.isServerErrorStatusCode = isServerErrorStatusCode; + exports2.isRetryableStatusCode = isRetryableStatusCode; + exports2.retry = retry2; + exports2.retryTypedResponse = retryTypedResponse; + exports2.retryHttpClientResponse = retryHttpClientResponse; + var core14 = __importStar2(require_core()); + var http_client_1 = require_lib(); + var constants_1 = require_constants12(); + function isSuccessStatusCode(statusCode) { + if (!statusCode) { + return false; + } + return statusCode >= 200 && statusCode < 300; + } + function isServerErrorStatusCode(statusCode) { + if (!statusCode) { + return true; + } + return statusCode >= 500; + } + function isRetryableStatusCode(statusCode) { + if (!statusCode) { + return false; + } + const retryableStatusCodes = [ + http_client_1.HttpCodes.BadGateway, + http_client_1.HttpCodes.ServiceUnavailable, + http_client_1.HttpCodes.GatewayTimeout + ]; + return retryableStatusCodes.includes(statusCode); + } + function sleep(milliseconds) { + return __awaiter2(this, void 0, void 0, function* () { + return new Promise((resolve5) => setTimeout(resolve5, milliseconds)); + }); + } + function retry2(name_1, method_1, getStatusCode_1) { + return __awaiter2(this, arguments, void 0, function* (name, method, getStatusCode, maxAttempts = constants_1.DefaultRetryAttempts, delay = constants_1.DefaultRetryDelay, onError = void 0) { + let errorMessage = ""; + let attempt = 1; + while (attempt <= maxAttempts) { + let response = void 0; + let statusCode = void 0; + let isRetryable = false; + try { + response = yield method(); + } catch (error3) { + if (onError) { + response = onError(error3); + } + isRetryable = true; + errorMessage = error3.message; + } + if (response) { + statusCode = getStatusCode(response); + if (!isServerErrorStatusCode(statusCode)) { + return response; + } + } + if (statusCode) { + isRetryable = isRetryableStatusCode(statusCode); + errorMessage = `Cache service responded with ${statusCode}`; + } + core14.debug(`${name} - Attempt ${attempt} of ${maxAttempts} failed with error: ${errorMessage}`); + if (!isRetryable) { + core14.debug(`${name} - Error is not retryable`); + break; + } + yield sleep(delay); + attempt++; + } + throw Error(`${name} failed: ${errorMessage}`); + }); + } + function retryTypedResponse(name_1, method_1) { + return __awaiter2(this, arguments, void 0, function* (name, method, maxAttempts = constants_1.DefaultRetryAttempts, delay = constants_1.DefaultRetryDelay) { + return yield retry2( + name, + method, + (response) => response.statusCode, + maxAttempts, + delay, + // If the error object contains the statusCode property, extract it and return + // an TypedResponse so it can be processed by the retry logic. + (error3) => { + if (error3 instanceof http_client_1.HttpClientError) { + return { + statusCode: error3.statusCode, + result: null, + headers: {}, + error: error3 + }; + } else { + return void 0; + } + } + ); + }); + } + function retryHttpClientResponse(name_1, method_1) { + return __awaiter2(this, arguments, void 0, function* (name, method, maxAttempts = constants_1.DefaultRetryAttempts, delay = constants_1.DefaultRetryDelay) { + return yield retry2(name, method, (response) => response.message.statusCode, maxAttempts, delay); + }); + } + } +}); + +// node_modules/@azure/abort-controller/dist/index.js +var require_dist4 = __commonJS({ + "node_modules/@azure/abort-controller/dist/index.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + var listenersMap = /* @__PURE__ */ new WeakMap(); + var abortedMap = /* @__PURE__ */ new WeakMap(); + var AbortSignal2 = class _AbortSignal { + constructor() { + this.onabort = null; + listenersMap.set(this, []); + abortedMap.set(this, false); + } + /** + * Status of whether aborted or not. + * + * @readonly + */ + get aborted() { + if (!abortedMap.has(this)) { + throw new TypeError("Expected `this` to be an instance of AbortSignal."); + } + return abortedMap.get(this); + } + /** + * Creates a new AbortSignal instance that will never be aborted. + * + * @readonly + */ + static get none() { + return new _AbortSignal(); + } + /** + * Added new "abort" event listener, only support "abort" event. + * + * @param _type - Only support "abort" event + * @param listener - The listener to be added + */ + addEventListener(_type, listener) { + if (!listenersMap.has(this)) { + throw new TypeError("Expected `this` to be an instance of AbortSignal."); + } + const listeners = listenersMap.get(this); + listeners.push(listener); + } + /** + * Remove "abort" event listener, only support "abort" event. + * + * @param _type - Only support "abort" event + * @param listener - The listener to be removed + */ + removeEventListener(_type, listener) { + if (!listenersMap.has(this)) { + throw new TypeError("Expected `this` to be an instance of AbortSignal."); + } + const listeners = listenersMap.get(this); + const index = listeners.indexOf(listener); + if (index > -1) { + listeners.splice(index, 1); + } + } + /** + * Dispatches a synthetic event to the AbortSignal. + */ + dispatchEvent(_event) { + throw new Error("This is a stub dispatchEvent implementation that should not be used. It only exists for type-checking purposes."); + } + }; + function abortSignal(signal) { + if (signal.aborted) { + return; + } + if (signal.onabort) { + signal.onabort.call(signal); + } + const listeners = listenersMap.get(signal); + if (listeners) { + listeners.slice().forEach((listener) => { + listener.call(signal, { type: "abort" }); + }); + } + abortedMap.set(signal, true); + } + var AbortError = class extends Error { + constructor(message) { + super(message); + this.name = "AbortError"; + } + }; + var AbortController2 = class { + // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types + constructor(parentSignals) { + this._signal = new AbortSignal2(); + if (!parentSignals) { + return; + } + if (!Array.isArray(parentSignals)) { + parentSignals = arguments; + } + for (const parentSignal of parentSignals) { + if (parentSignal.aborted) { + this.abort(); + } else { + parentSignal.addEventListener("abort", () => { + this.abort(); + }); + } + } + } + /** + * The AbortSignal associated with this controller that will signal aborted + * when the abort method is called on this controller. + * + * @readonly + */ + get signal() { + return this._signal; + } + /** + * Signal that any operations passed this controller's associated abort signal + * to cancel any remaining work and throw an `AbortError`. + */ + abort() { + abortSignal(this._signal); + } + /** + * Creates a new AbortSignal instance that will abort after the provided ms. + * @param ms - Elapsed time in milliseconds to trigger an abort. + */ + static timeout(ms) { + const signal = new AbortSignal2(); + const timer = setTimeout(abortSignal, ms, signal); + if (typeof timer.unref === "function") { + timer.unref(); + } + return signal; + } + }; + exports2.AbortController = AbortController2; + exports2.AbortError = AbortError; + exports2.AbortSignal = AbortSignal2; + } +}); + +// node_modules/@actions/cache/lib/internal/downloadUtils.js +var require_downloadUtils = __commonJS({ + "node_modules/@actions/cache/lib/internal/downloadUtils.js"(exports2) { + "use strict"; + var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }); + var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() { + var ownKeys2 = function(o) { + ownKeys2 = 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 ownKeys2(o); + }; + return function(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) { + for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]); + } + __setModuleDefault2(result, mod); + return result; + }; + })(); + var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve5) { + resolve5(value); + }); + } + return new (P || (P = Promise))(function(resolve5, 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 ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.DownloadProgress = void 0; + exports2.downloadCacheHttpClient = downloadCacheHttpClient; + exports2.downloadCacheHttpClientConcurrent = downloadCacheHttpClientConcurrent; + exports2.downloadCacheStorageSDK = downloadCacheStorageSDK; + var core14 = __importStar2(require_core()); + var http_client_1 = require_lib(); + var storage_blob_1 = require_commonjs15(); + var buffer = __importStar2(require("buffer")); + var fs8 = __importStar2(require("fs")); + var stream = __importStar2(require("stream")); + var util = __importStar2(require("util")); + var utils = __importStar2(require_cacheUtils()); + var constants_1 = require_constants12(); + var requestUtils_1 = require_requestUtils(); + var abort_controller_1 = require_dist4(); + function pipeResponseToStream(response, output) { + return __awaiter2(this, void 0, void 0, function* () { + const pipeline = util.promisify(stream.pipeline); + yield pipeline(response.message, output); + }); + } + var DownloadProgress = class { + constructor(contentLength) { + this.contentLength = contentLength; + this.segmentIndex = 0; + this.segmentSize = 0; + this.segmentOffset = 0; + this.receivedBytes = 0; + this.displayedComplete = false; + this.startTime = Date.now(); + } + /** + * Progress to the next segment. Only call this method when the previous segment + * is complete. + * + * @param segmentSize the length of the next segment + */ + nextSegment(segmentSize) { + this.segmentOffset = this.segmentOffset + this.segmentSize; + this.segmentIndex = this.segmentIndex + 1; + this.segmentSize = segmentSize; + this.receivedBytes = 0; + core14.debug(`Downloading segment at offset ${this.segmentOffset} with length ${this.segmentSize}...`); + } + /** + * Sets the number of bytes received for the current segment. + * + * @param receivedBytes the number of bytes received + */ + setReceivedBytes(receivedBytes) { + this.receivedBytes = receivedBytes; + } + /** + * Returns the total number of bytes transferred. + */ + getTransferredBytes() { + return this.segmentOffset + this.receivedBytes; + } + /** + * Returns true if the download is complete. + */ + isDone() { + return this.getTransferredBytes() === this.contentLength; + } + /** + * Prints the current download stats. Once the download completes, this will print one + * last line and then stop. + */ + display() { + if (this.displayedComplete) { + return; + } + const transferredBytes = this.segmentOffset + this.receivedBytes; + const percentage = (100 * (transferredBytes / this.contentLength)).toFixed(1); + const elapsedTime = Date.now() - this.startTime; + const downloadSpeed = (transferredBytes / (1024 * 1024) / (elapsedTime / 1e3)).toFixed(1); + core14.info(`Received ${transferredBytes} of ${this.contentLength} (${percentage}%), ${downloadSpeed} MBs/sec`); + if (this.isDone()) { + this.displayedComplete = true; + } + } + /** + * Returns a function used to handle TransferProgressEvents. + */ + onProgress() { + return (progress) => { + this.setReceivedBytes(progress.loadedBytes); + }; + } + /** + * Starts the timer that displays the stats. + * + * @param delayInMs the delay between each write + */ + startDisplayTimer(delayInMs = 1e3) { + const displayCallback = () => { + this.display(); + if (!this.isDone()) { + this.timeoutHandle = setTimeout(displayCallback, delayInMs); + } + }; + this.timeoutHandle = setTimeout(displayCallback, delayInMs); + } + /** + * Stops the timer that displays the stats. As this typically indicates the download + * is complete, this will display one last line, unless the last line has already + * been written. + */ + stopDisplayTimer() { + if (this.timeoutHandle) { + clearTimeout(this.timeoutHandle); + this.timeoutHandle = void 0; + } + this.display(); + } + }; + exports2.DownloadProgress = DownloadProgress; + function downloadCacheHttpClient(archiveLocation, archivePath) { + return __awaiter2(this, void 0, void 0, function* () { + const writeStream = fs8.createWriteStream(archivePath); + const httpClient = new http_client_1.HttpClient("actions/cache"); + const downloadResponse = yield (0, requestUtils_1.retryHttpClientResponse)("downloadCache", () => __awaiter2(this, void 0, void 0, function* () { + return httpClient.get(archiveLocation); + })); + downloadResponse.message.socket.setTimeout(constants_1.SocketTimeout, () => { + downloadResponse.message.destroy(); + core14.debug(`Aborting download, socket timed out after ${constants_1.SocketTimeout} ms`); + }); + yield pipeResponseToStream(downloadResponse, writeStream); + const contentLengthHeader = downloadResponse.message.headers["content-length"]; + if (contentLengthHeader) { + const expectedLength = parseInt(contentLengthHeader); + const actualLength = utils.getArchiveFileSizeInBytes(archivePath); + if (actualLength !== expectedLength) { + throw new Error(`Incomplete download. Expected file size: ${expectedLength}, actual file size: ${actualLength}`); + } + } else { + core14.debug("Unable to validate download, no Content-Length header"); + } + }); + } + function downloadCacheHttpClientConcurrent(archiveLocation, archivePath, options) { + return __awaiter2(this, void 0, void 0, function* () { + var _a; + const archiveDescriptor = yield fs8.promises.open(archivePath, "w"); + const httpClient = new http_client_1.HttpClient("actions/cache", void 0, { + socketTimeout: options.timeoutInMs, + keepAlive: true + }); + try { + const res = yield (0, requestUtils_1.retryHttpClientResponse)("downloadCacheMetadata", () => __awaiter2(this, void 0, void 0, function* () { + return yield httpClient.request("HEAD", archiveLocation, null, {}); + })); + const lengthHeader = res.message.headers["content-length"]; + if (lengthHeader === void 0 || lengthHeader === null) { + throw new Error("Content-Length not found on blob response"); + } + const length = parseInt(lengthHeader); + if (Number.isNaN(length)) { + throw new Error(`Could not interpret Content-Length: ${length}`); + } + const downloads = []; + const blockSize = 4 * 1024 * 1024; + for (let offset = 0; offset < length; offset += blockSize) { + const count = Math.min(blockSize, length - offset); + downloads.push({ + offset, + promiseGetter: () => __awaiter2(this, void 0, void 0, function* () { + return yield downloadSegmentRetry(httpClient, archiveLocation, offset, count); + }) + }); + } + downloads.reverse(); + let actives = 0; + let bytesDownloaded = 0; + const progress = new DownloadProgress(length); + progress.startDisplayTimer(); + const progressFn = progress.onProgress(); + const activeDownloads = []; + let nextDownload; + const waitAndWrite = () => __awaiter2(this, void 0, void 0, function* () { + const segment = yield Promise.race(Object.values(activeDownloads)); + yield archiveDescriptor.write(segment.buffer, 0, segment.count, segment.offset); + actives--; + delete activeDownloads[segment.offset]; + bytesDownloaded += segment.count; + progressFn({ loadedBytes: bytesDownloaded }); + }); + while (nextDownload = downloads.pop()) { + activeDownloads[nextDownload.offset] = nextDownload.promiseGetter(); + actives++; + if (actives >= ((_a = options.downloadConcurrency) !== null && _a !== void 0 ? _a : 10)) { + yield waitAndWrite(); + } + } + while (actives > 0) { + yield waitAndWrite(); + } + } finally { + httpClient.dispose(); + yield archiveDescriptor.close(); + } + }); + } + function downloadSegmentRetry(httpClient, archiveLocation, offset, count) { + return __awaiter2(this, void 0, void 0, function* () { + const retries = 5; + let failures = 0; + while (true) { + try { + const timeout = 3e4; + const result = yield promiseWithTimeout(timeout, downloadSegment(httpClient, archiveLocation, offset, count)); + if (typeof result === "string") { + throw new Error("downloadSegmentRetry failed due to timeout"); + } + return result; + } catch (err) { + if (failures >= retries) { + throw err; + } + failures++; + } + } + }); + } + function downloadSegment(httpClient, archiveLocation, offset, count) { + return __awaiter2(this, void 0, void 0, function* () { + const partRes = yield (0, requestUtils_1.retryHttpClientResponse)("downloadCachePart", () => __awaiter2(this, void 0, void 0, function* () { + return yield httpClient.get(archiveLocation, { + Range: `bytes=${offset}-${offset + count - 1}` + }); + })); + if (!partRes.readBodyBuffer) { + throw new Error("Expected HttpClientResponse to implement readBodyBuffer"); + } + return { + offset, + count, + buffer: yield partRes.readBodyBuffer() + }; + }); + } + function downloadCacheStorageSDK(archiveLocation, archivePath, options) { + return __awaiter2(this, void 0, void 0, function* () { + var _a; + const client = new storage_blob_1.BlockBlobClient(archiveLocation, void 0, { + retryOptions: { + // Override the timeout used when downloading each 4 MB chunk + // The default is 2 min / MB, which is way too slow + tryTimeoutInMs: options.timeoutInMs + } + }); + const properties = yield client.getProperties(); + const contentLength = (_a = properties.contentLength) !== null && _a !== void 0 ? _a : -1; + if (contentLength < 0) { + core14.debug("Unable to determine content length, downloading file with http-client..."); + yield downloadCacheHttpClient(archiveLocation, archivePath); + } else { + const maxSegmentSize = Math.min(134217728, buffer.constants.MAX_LENGTH); + const downloadProgress = new DownloadProgress(contentLength); + const fd = fs8.openSync(archivePath, "w"); + try { + downloadProgress.startDisplayTimer(); + const controller = new abort_controller_1.AbortController(); + const abortSignal = controller.signal; + while (!downloadProgress.isDone()) { + const segmentStart = downloadProgress.segmentOffset + downloadProgress.segmentSize; + const segmentSize = Math.min(maxSegmentSize, contentLength - segmentStart); + downloadProgress.nextSegment(segmentSize); + const result = yield promiseWithTimeout(options.segmentTimeoutInMs || 36e5, client.downloadToBuffer(segmentStart, segmentSize, { + abortSignal, + concurrency: options.downloadConcurrency, + onProgress: downloadProgress.onProgress() + })); + if (result === "timeout") { + controller.abort(); + throw new Error("Aborting cache download as the download time exceeded the timeout."); + } else if (Buffer.isBuffer(result)) { + fs8.writeFileSync(fd, result); + } + } + } finally { + downloadProgress.stopDisplayTimer(); + fs8.closeSync(fd); + } + } + }); + } + var promiseWithTimeout = (timeoutMs, promise) => __awaiter2(void 0, void 0, void 0, function* () { + let timeoutHandle; + const timeoutPromise = new Promise((resolve5) => { + timeoutHandle = setTimeout(() => resolve5("timeout"), timeoutMs); + }); + return Promise.race([promise, timeoutPromise]).then((result) => { + clearTimeout(timeoutHandle); + return result; + }); + }); + } +}); + +// node_modules/@actions/cache/lib/options.js +var require_options = __commonJS({ + "node_modules/@actions/cache/lib/options.js"(exports2) { + "use strict"; + var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }); + var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() { + var ownKeys2 = function(o) { + ownKeys2 = 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 ownKeys2(o); + }; + return function(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) { + for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]); + } + __setModuleDefault2(result, mod); + return result; + }; + })(); + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.getUploadOptions = getUploadOptions; + exports2.getDownloadOptions = getDownloadOptions; + var core14 = __importStar2(require_core()); + function getUploadOptions(copy) { + const result = { + useAzureSdk: false, + uploadConcurrency: 4, + uploadChunkSize: 32 * 1024 * 1024 + }; + if (copy) { + if (typeof copy.useAzureSdk === "boolean") { + result.useAzureSdk = copy.useAzureSdk; + } + if (typeof copy.uploadConcurrency === "number") { + result.uploadConcurrency = copy.uploadConcurrency; + } + if (typeof copy.uploadChunkSize === "number") { + result.uploadChunkSize = copy.uploadChunkSize; + } + } + result.uploadConcurrency = !isNaN(Number(process.env["CACHE_UPLOAD_CONCURRENCY"])) ? Math.min(32, Number(process.env["CACHE_UPLOAD_CONCURRENCY"])) : result.uploadConcurrency; + result.uploadChunkSize = !isNaN(Number(process.env["CACHE_UPLOAD_CHUNK_SIZE"])) ? Math.min(128 * 1024 * 1024, Number(process.env["CACHE_UPLOAD_CHUNK_SIZE"]) * 1024 * 1024) : result.uploadChunkSize; + core14.debug(`Use Azure SDK: ${result.useAzureSdk}`); + core14.debug(`Upload concurrency: ${result.uploadConcurrency}`); + core14.debug(`Upload chunk size: ${result.uploadChunkSize}`); + return result; + } + function getDownloadOptions(copy) { + const result = { + useAzureSdk: false, + concurrentBlobDownloads: true, + downloadConcurrency: 8, + timeoutInMs: 3e4, + segmentTimeoutInMs: 6e5, + lookupOnly: false + }; + if (copy) { + if (typeof copy.useAzureSdk === "boolean") { + result.useAzureSdk = copy.useAzureSdk; + } + if (typeof copy.concurrentBlobDownloads === "boolean") { + result.concurrentBlobDownloads = copy.concurrentBlobDownloads; + } + if (typeof copy.downloadConcurrency === "number") { + result.downloadConcurrency = copy.downloadConcurrency; + } + if (typeof copy.timeoutInMs === "number") { + result.timeoutInMs = copy.timeoutInMs; + } + if (typeof copy.segmentTimeoutInMs === "number") { + result.segmentTimeoutInMs = copy.segmentTimeoutInMs; + } + if (typeof copy.lookupOnly === "boolean") { + result.lookupOnly = copy.lookupOnly; + } + } + const segmentDownloadTimeoutMins = process.env["SEGMENT_DOWNLOAD_TIMEOUT_MINS"]; + if (segmentDownloadTimeoutMins && !isNaN(Number(segmentDownloadTimeoutMins)) && isFinite(Number(segmentDownloadTimeoutMins))) { + result.segmentTimeoutInMs = Number(segmentDownloadTimeoutMins) * 60 * 1e3; + } + core14.debug(`Use Azure SDK: ${result.useAzureSdk}`); + core14.debug(`Download concurrency: ${result.downloadConcurrency}`); + core14.debug(`Request timeout (ms): ${result.timeoutInMs}`); + core14.debug(`Cache segment download timeout mins env var: ${process.env["SEGMENT_DOWNLOAD_TIMEOUT_MINS"]}`); + core14.debug(`Segment download timeout (ms): ${result.segmentTimeoutInMs}`); + core14.debug(`Lookup only: ${result.lookupOnly}`); + return result; + } + } +}); + +// node_modules/@actions/cache/lib/internal/config.js +var require_config = __commonJS({ + "node_modules/@actions/cache/lib/internal/config.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.isGhes = isGhes; + exports2.getCacheServiceVersion = getCacheServiceVersion; + exports2.getCacheServiceURL = getCacheServiceURL; + function isGhes() { + const ghUrl = new URL(process.env["GITHUB_SERVER_URL"] || "https://github.com"); + const hostname = ghUrl.hostname.trimEnd().toUpperCase(); + const isGitHubHost = hostname === "GITHUB.COM"; + const isGheHost = hostname.endsWith(".GHE.COM"); + const isLocalHost = hostname.endsWith(".LOCALHOST"); + return !isGitHubHost && !isGheHost && !isLocalHost; + } + function getCacheServiceVersion() { + if (isGhes()) + return "v1"; + return process.env["ACTIONS_CACHE_SERVICE_V2"] ? "v2" : "v1"; + } + function getCacheServiceURL() { + const version = getCacheServiceVersion(); + switch (version) { + case "v1": + return process.env["ACTIONS_CACHE_URL"] || process.env["ACTIONS_RESULTS_URL"] || ""; + case "v2": + return process.env["ACTIONS_RESULTS_URL"] || ""; + default: + throw new Error(`Unsupported cache service version: ${version}`); + } + } + } +}); + +// node_modules/@actions/cache/package.json +var require_package2 = __commonJS({ + "node_modules/@actions/cache/package.json"(exports2, module2) { + module2.exports = { + name: "@actions/cache", + version: "5.0.5", + preview: true, + description: "Actions cache lib", + keywords: [ + "github", + "actions", + "cache" + ], + homepage: "https://github.com/actions/toolkit/tree/main/packages/cache", + license: "MIT", + main: "lib/cache.js", + types: "lib/cache.d.ts", + directories: { + lib: "lib", + test: "__tests__" + }, + files: [ + "lib", + "!.DS_Store" + ], + publishConfig: { + access: "public" + }, + repository: { + type: "git", + url: "git+https://github.com/actions/toolkit.git", + directory: "packages/cache" + }, + scripts: { + "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json", + test: 'echo "Error: run tests from root" && exit 1', + tsc: "tsc" + }, + bugs: { + url: "https://github.com/actions/toolkit/issues" + }, + dependencies: { + "@actions/core": "^2.0.0", + "@actions/exec": "^2.0.0", + "@actions/glob": "^0.5.1", + "@protobuf-ts/runtime-rpc": "^2.11.1", + "@actions/http-client": "^3.0.2", + "@actions/io": "^2.0.0", + "@azure/abort-controller": "^1.1.0", + "@azure/core-rest-pipeline": "^1.22.0", + "@azure/storage-blob": "^12.29.1", + semver: "^6.3.1" + }, + devDependencies: { + "@types/node": "^24.1.0", + "@types/semver": "^6.0.0", + "@protobuf-ts/plugin": "^2.9.4", + typescript: "^5.2.2" + }, + overrides: { + "uri-js": "npm:uri-js-replace@^1.0.1", + "node-fetch": "^3.3.2" + } + }; + } +}); + +// node_modules/@actions/cache/lib/internal/shared/user-agent.js +var require_user_agent = __commonJS({ + "node_modules/@actions/cache/lib/internal/shared/user-agent.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.getUserAgentString = getUserAgentString; + var packageJson = require_package2(); + function getUserAgentString() { + return `@actions/cache-${packageJson.version}`; + } + } +}); + +// node_modules/@actions/cache/lib/internal/cacheHttpClient.js +var require_cacheHttpClient = __commonJS({ + "node_modules/@actions/cache/lib/internal/cacheHttpClient.js"(exports2) { + "use strict"; + var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }); + var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() { + var ownKeys2 = function(o) { + ownKeys2 = 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 ownKeys2(o); + }; + return function(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) { + for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]); + } + __setModuleDefault2(result, mod); + return result; + }; + })(); + var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve5) { + resolve5(value); + }); + } + return new (P || (P = Promise))(function(resolve5, 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 ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.getCacheEntry = getCacheEntry; + exports2.downloadCache = downloadCache; + exports2.reserveCache = reserveCache; + exports2.saveCache = saveCache4; + var core14 = __importStar2(require_core()); + var http_client_1 = require_lib(); + var auth_1 = require_auth(); + var fs8 = __importStar2(require("fs")); + var url_1 = require("url"); + var utils = __importStar2(require_cacheUtils()); + var uploadUtils_1 = require_uploadUtils(); + var downloadUtils_1 = require_downloadUtils(); + var options_1 = require_options(); + var requestUtils_1 = require_requestUtils(); + var config_1 = require_config(); + var user_agent_1 = require_user_agent(); + function getCacheApiUrl(resource) { + const baseUrl = (0, config_1.getCacheServiceURL)(); + if (!baseUrl) { + throw new Error("Cache Service Url not found, unable to restore cache."); + } + const url = `${baseUrl}_apis/artifactcache/${resource}`; + core14.debug(`Resource Url: ${url}`); + return url; + } + function createAcceptHeader(type2, apiVersion) { + return `${type2};api-version=${apiVersion}`; + } + function getRequestOptions() { + const requestOptions = { + headers: { + Accept: createAcceptHeader("application/json", "6.0-preview.1") + } + }; + return requestOptions; + } + function createHttpClient() { + const token = process.env["ACTIONS_RUNTIME_TOKEN"] || ""; + const bearerCredentialHandler = new auth_1.BearerCredentialHandler(token); + return new http_client_1.HttpClient((0, user_agent_1.getUserAgentString)(), [bearerCredentialHandler], getRequestOptions()); + } + function getCacheEntry(keys, paths, options) { + return __awaiter2(this, void 0, void 0, function* () { + const httpClient = createHttpClient(); + const version = utils.getCacheVersion(paths, options === null || options === void 0 ? void 0 : options.compressionMethod, options === null || options === void 0 ? void 0 : options.enableCrossOsArchive); + const resource = `cache?keys=${encodeURIComponent(keys.join(","))}&version=${version}`; + const response = yield (0, requestUtils_1.retryTypedResponse)("getCacheEntry", () => __awaiter2(this, void 0, void 0, function* () { + return httpClient.getJson(getCacheApiUrl(resource)); + })); + if (response.statusCode === 204) { + if (core14.isDebug()) { + yield printCachesListForDiagnostics(keys[0], httpClient, version); + } + return null; + } + if (!(0, requestUtils_1.isSuccessStatusCode)(response.statusCode)) { + throw new Error(`Cache service responded with ${response.statusCode}`); + } + const cacheResult = response.result; + const cacheDownloadUrl = cacheResult === null || cacheResult === void 0 ? void 0 : cacheResult.archiveLocation; + if (!cacheDownloadUrl) { + throw new Error("Cache not found."); + } + core14.setSecret(cacheDownloadUrl); + core14.debug(`Cache Result:`); + core14.debug(JSON.stringify(cacheResult)); + return cacheResult; + }); + } + function printCachesListForDiagnostics(key, httpClient, version) { + return __awaiter2(this, void 0, void 0, function* () { + const resource = `caches?key=${encodeURIComponent(key)}`; + const response = yield (0, requestUtils_1.retryTypedResponse)("listCache", () => __awaiter2(this, void 0, void 0, function* () { + return httpClient.getJson(getCacheApiUrl(resource)); + })); + if (response.statusCode === 200) { + const cacheListResult = response.result; + const totalCount = cacheListResult === null || cacheListResult === void 0 ? void 0 : cacheListResult.totalCount; + if (totalCount && totalCount > 0) { + core14.debug(`No matching cache found for cache key '${key}', version '${version} and scope ${process.env["GITHUB_REF"]}. There exist one or more cache(s) with similar key but they have different version or scope. See more info on cache matching here: https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#matching-a-cache-key +Other caches with similar key:`); + for (const cacheEntry of (cacheListResult === null || cacheListResult === void 0 ? void 0 : cacheListResult.artifactCaches) || []) { + core14.debug(`Cache Key: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.cacheKey}, Cache Version: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.cacheVersion}, Cache Scope: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.scope}, Cache Created: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.creationTime}`); + } + } + } + }); + } + function downloadCache(archiveLocation, archivePath, options) { + return __awaiter2(this, void 0, void 0, function* () { + const archiveUrl = new url_1.URL(archiveLocation); + const downloadOptions = (0, options_1.getDownloadOptions)(options); + if (archiveUrl.hostname.endsWith(".blob.core.windows.net")) { + if (downloadOptions.useAzureSdk) { + yield (0, downloadUtils_1.downloadCacheStorageSDK)(archiveLocation, archivePath, downloadOptions); + } else if (downloadOptions.concurrentBlobDownloads) { + yield (0, downloadUtils_1.downloadCacheHttpClientConcurrent)(archiveLocation, archivePath, downloadOptions); + } else { + yield (0, downloadUtils_1.downloadCacheHttpClient)(archiveLocation, archivePath); + } + } else { + yield (0, downloadUtils_1.downloadCacheHttpClient)(archiveLocation, archivePath); + } + }); + } + function reserveCache(key, paths, options) { + return __awaiter2(this, void 0, void 0, function* () { + const httpClient = createHttpClient(); + const version = utils.getCacheVersion(paths, options === null || options === void 0 ? void 0 : options.compressionMethod, options === null || options === void 0 ? void 0 : options.enableCrossOsArchive); + const reserveCacheRequest = { + key, + version, + cacheSize: options === null || options === void 0 ? void 0 : options.cacheSize + }; + const response = yield (0, requestUtils_1.retryTypedResponse)("reserveCache", () => __awaiter2(this, void 0, void 0, function* () { + return httpClient.postJson(getCacheApiUrl("caches"), reserveCacheRequest); + })); + return response; + }); + } + function getContentRange(start, end) { + return `bytes ${start}-${end}/*`; + } + function uploadChunk(httpClient, resourceUrl, openStream, start, end) { + return __awaiter2(this, void 0, void 0, function* () { + core14.debug(`Uploading chunk of size ${end - start + 1} bytes at offset ${start} with content range: ${getContentRange(start, end)}`); + const additionalHeaders = { + "Content-Type": "application/octet-stream", + "Content-Range": getContentRange(start, end) + }; + const uploadChunkResponse = yield (0, requestUtils_1.retryHttpClientResponse)(`uploadChunk (start: ${start}, end: ${end})`, () => __awaiter2(this, void 0, void 0, function* () { + return httpClient.sendStream("PATCH", resourceUrl, openStream(), additionalHeaders); + })); + if (!(0, requestUtils_1.isSuccessStatusCode)(uploadChunkResponse.message.statusCode)) { + throw new Error(`Cache service responded with ${uploadChunkResponse.message.statusCode} during upload chunk.`); + } + }); + } + function uploadFile(httpClient, cacheId, archivePath, options) { + return __awaiter2(this, void 0, void 0, function* () { + const fileSize = utils.getArchiveFileSizeInBytes(archivePath); + const resourceUrl = getCacheApiUrl(`caches/${cacheId.toString()}`); + const fd = fs8.openSync(archivePath, "r"); + const uploadOptions = (0, options_1.getUploadOptions)(options); + const concurrency = utils.assertDefined("uploadConcurrency", uploadOptions.uploadConcurrency); + const maxChunkSize = utils.assertDefined("uploadChunkSize", uploadOptions.uploadChunkSize); + const parallelUploads = [...new Array(concurrency).keys()]; + core14.debug("Awaiting all uploads"); + let offset = 0; + try { + yield Promise.all(parallelUploads.map(() => __awaiter2(this, void 0, void 0, function* () { + while (offset < fileSize) { + const chunkSize = Math.min(fileSize - offset, maxChunkSize); + const start = offset; + const end = offset + chunkSize - 1; + offset += maxChunkSize; + yield uploadChunk(httpClient, resourceUrl, () => fs8.createReadStream(archivePath, { + fd, + start, + end, + autoClose: false + }).on("error", (error3) => { + throw new Error(`Cache upload failed because file read failed with ${error3.message}`); + }), start, end); + } + }))); + } finally { + fs8.closeSync(fd); + } + return; + }); + } + function commitCache(httpClient, cacheId, filesize) { + return __awaiter2(this, void 0, void 0, function* () { + const commitCacheRequest = { size: filesize }; + return yield (0, requestUtils_1.retryTypedResponse)("commitCache", () => __awaiter2(this, void 0, void 0, function* () { + return httpClient.postJson(getCacheApiUrl(`caches/${cacheId.toString()}`), commitCacheRequest); + })); + }); + } + function saveCache4(cacheId, archivePath, signedUploadURL, options) { + return __awaiter2(this, void 0, void 0, function* () { + const uploadOptions = (0, options_1.getUploadOptions)(options); + if (uploadOptions.useAzureSdk) { + if (!signedUploadURL) { + throw new Error("Azure Storage SDK can only be used when a signed URL is provided."); + } + yield (0, uploadUtils_1.uploadCacheArchiveSDK)(signedUploadURL, archivePath, options); + } else { + const httpClient = createHttpClient(); + core14.debug("Upload cache"); + yield uploadFile(httpClient, cacheId, archivePath, options); + core14.debug("Commiting cache"); + const cacheSize = utils.getArchiveFileSizeInBytes(archivePath); + core14.info(`Cache Size: ~${Math.round(cacheSize / (1024 * 1024))} MB (${cacheSize} B)`); + const commitCacheResponse = yield commitCache(httpClient, cacheId, cacheSize); + if (!(0, requestUtils_1.isSuccessStatusCode)(commitCacheResponse.statusCode)) { + throw new Error(`Cache service responded with ${commitCacheResponse.statusCode} during commit cache.`); + } + core14.info("Cache saved successfully"); + } + }); + } + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/json-typings.js +var require_json_typings = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/json-typings.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.isJsonObject = exports2.typeofJsonValue = void 0; + function typeofJsonValue(value) { + let t = typeof value; + if (t == "object") { + if (Array.isArray(value)) + return "array"; + if (value === null) + return "null"; + } + return t; + } + exports2.typeofJsonValue = typeofJsonValue; + function isJsonObject(value) { + return value !== null && typeof value == "object" && !Array.isArray(value); + } + exports2.isJsonObject = isJsonObject; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/base64.js +var require_base642 = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/base64.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.base64encode = exports2.base64decode = void 0; + var encTable = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""); + var decTable = []; + for (let i = 0; i < encTable.length; i++) + decTable[encTable[i].charCodeAt(0)] = i; + decTable["-".charCodeAt(0)] = encTable.indexOf("+"); + decTable["_".charCodeAt(0)] = encTable.indexOf("/"); + function base64decode(base64Str) { + let es = base64Str.length * 3 / 4; + if (base64Str[base64Str.length - 2] == "=") + es -= 2; + else if (base64Str[base64Str.length - 1] == "=") + es -= 1; + let bytes = new Uint8Array(es), bytePos = 0, groupPos = 0, b, p = 0; + for (let i = 0; i < base64Str.length; i++) { + b = decTable[base64Str.charCodeAt(i)]; + if (b === void 0) { + switch (base64Str[i]) { + case "=": + groupPos = 0; + // reset state when padding found + case "\n": + case "\r": + case " ": + case " ": + continue; + // skip white-space, and padding + default: + throw Error(`invalid base64 string.`); + } + } + switch (groupPos) { + case 0: + p = b; + groupPos = 1; + break; + case 1: + bytes[bytePos++] = p << 2 | (b & 48) >> 4; + p = b; + groupPos = 2; + break; + case 2: + bytes[bytePos++] = (p & 15) << 4 | (b & 60) >> 2; + p = b; + groupPos = 3; + break; + case 3: + bytes[bytePos++] = (p & 3) << 6 | b; + groupPos = 0; + break; + } + } + if (groupPos == 1) + throw Error(`invalid base64 string.`); + return bytes.subarray(0, bytePos); + } + exports2.base64decode = base64decode; + function base64encode(bytes) { + let base64 = "", groupPos = 0, b, p = 0; + for (let i = 0; i < bytes.length; i++) { + b = bytes[i]; + switch (groupPos) { + case 0: + base64 += encTable[b >> 2]; + p = (b & 3) << 4; + groupPos = 1; + break; + case 1: + base64 += encTable[p | b >> 4]; + p = (b & 15) << 2; + groupPos = 2; + break; + case 2: + base64 += encTable[p | b >> 6]; + base64 += encTable[b & 63]; + groupPos = 0; + break; + } + } + if (groupPos) { + base64 += encTable[p]; + base64 += "="; + if (groupPos == 1) + base64 += "="; + } + return base64; + } + exports2.base64encode = base64encode; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/protobufjs-utf8.js +var require_protobufjs_utf8 = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/protobufjs-utf8.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.utf8read = void 0; + var fromCharCodes = (chunk) => String.fromCharCode.apply(String, chunk); + function utf8read(bytes) { + if (bytes.length < 1) + return ""; + let pos = 0, parts = [], chunk = [], i = 0, t; + let len = bytes.length; + while (pos < len) { + t = bytes[pos++]; + if (t < 128) + chunk[i++] = t; + else if (t > 191 && t < 224) + chunk[i++] = (t & 31) << 6 | bytes[pos++] & 63; + else if (t > 239 && t < 365) { + t = ((t & 7) << 18 | (bytes[pos++] & 63) << 12 | (bytes[pos++] & 63) << 6 | bytes[pos++] & 63) - 65536; + chunk[i++] = 55296 + (t >> 10); + chunk[i++] = 56320 + (t & 1023); + } else + chunk[i++] = (t & 15) << 12 | (bytes[pos++] & 63) << 6 | bytes[pos++] & 63; + if (i > 8191) { + parts.push(fromCharCodes(chunk)); + i = 0; + } + } + if (parts.length) { + if (i) + parts.push(fromCharCodes(chunk.slice(0, i))); + return parts.join(""); + } + return fromCharCodes(chunk.slice(0, i)); + } + exports2.utf8read = utf8read; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/binary-format-contract.js +var require_binary_format_contract = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/binary-format-contract.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.WireType = exports2.mergeBinaryOptions = exports2.UnknownFieldHandler = void 0; + var UnknownFieldHandler; + (function(UnknownFieldHandler2) { + UnknownFieldHandler2.symbol = /* @__PURE__ */ Symbol.for("protobuf-ts/unknown"); + UnknownFieldHandler2.onRead = (typeName, message, fieldNo, wireType, data) => { + let container = is(message) ? message[UnknownFieldHandler2.symbol] : message[UnknownFieldHandler2.symbol] = []; + container.push({ no: fieldNo, wireType, data }); + }; + UnknownFieldHandler2.onWrite = (typeName, message, writer) => { + for (let { no, wireType, data } of UnknownFieldHandler2.list(message)) + writer.tag(no, wireType).raw(data); + }; + UnknownFieldHandler2.list = (message, fieldNo) => { + if (is(message)) { + let all = message[UnknownFieldHandler2.symbol]; + return fieldNo ? all.filter((uf) => uf.no == fieldNo) : all; + } + return []; + }; + UnknownFieldHandler2.last = (message, fieldNo) => UnknownFieldHandler2.list(message, fieldNo).slice(-1)[0]; + const is = (message) => message && Array.isArray(message[UnknownFieldHandler2.symbol]); + })(UnknownFieldHandler = exports2.UnknownFieldHandler || (exports2.UnknownFieldHandler = {})); + function mergeBinaryOptions(a, b) { + return Object.assign(Object.assign({}, a), b); + } + exports2.mergeBinaryOptions = mergeBinaryOptions; + var WireType; + (function(WireType2) { + WireType2[WireType2["Varint"] = 0] = "Varint"; + WireType2[WireType2["Bit64"] = 1] = "Bit64"; + WireType2[WireType2["LengthDelimited"] = 2] = "LengthDelimited"; + WireType2[WireType2["StartGroup"] = 3] = "StartGroup"; + WireType2[WireType2["EndGroup"] = 4] = "EndGroup"; + WireType2[WireType2["Bit32"] = 5] = "Bit32"; + })(WireType = exports2.WireType || (exports2.WireType = {})); + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/goog-varint.js +var require_goog_varint = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/goog-varint.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.varint32read = exports2.varint32write = exports2.int64toString = exports2.int64fromString = exports2.varint64write = exports2.varint64read = void 0; + function varint64read() { + let lowBits = 0; + let highBits = 0; + for (let shift = 0; shift < 28; shift += 7) { + let b = this.buf[this.pos++]; + lowBits |= (b & 127) << shift; + if ((b & 128) == 0) { + this.assertBounds(); + return [lowBits, highBits]; + } + } + let middleByte = this.buf[this.pos++]; + lowBits |= (middleByte & 15) << 28; + highBits = (middleByte & 112) >> 4; + if ((middleByte & 128) == 0) { + this.assertBounds(); + return [lowBits, highBits]; + } + for (let shift = 3; shift <= 31; shift += 7) { + let b = this.buf[this.pos++]; + highBits |= (b & 127) << shift; + if ((b & 128) == 0) { + this.assertBounds(); + return [lowBits, highBits]; + } + } + throw new Error("invalid varint"); + } + exports2.varint64read = varint64read; + function varint64write(lo, hi, bytes) { + for (let i = 0; i < 28; i = i + 7) { + const shift = lo >>> i; + const hasNext = !(shift >>> 7 == 0 && hi == 0); + const byte = (hasNext ? shift | 128 : shift) & 255; + bytes.push(byte); + if (!hasNext) { + return; + } + } + const splitBits = lo >>> 28 & 15 | (hi & 7) << 4; + const hasMoreBits = !(hi >> 3 == 0); + bytes.push((hasMoreBits ? splitBits | 128 : splitBits) & 255); + if (!hasMoreBits) { + return; + } + for (let i = 3; i < 31; i = i + 7) { + const shift = hi >>> i; + const hasNext = !(shift >>> 7 == 0); + const byte = (hasNext ? shift | 128 : shift) & 255; + bytes.push(byte); + if (!hasNext) { + return; + } + } + bytes.push(hi >>> 31 & 1); + } + exports2.varint64write = varint64write; + var TWO_PWR_32_DBL = (1 << 16) * (1 << 16); + function int64fromString(dec) { + let minus = dec[0] == "-"; + if (minus) + dec = dec.slice(1); + const base = 1e6; + let lowBits = 0; + let highBits = 0; + function add1e6digit(begin, end) { + const digit1e6 = Number(dec.slice(begin, end)); + highBits *= base; + lowBits = lowBits * base + digit1e6; + if (lowBits >= TWO_PWR_32_DBL) { + highBits = highBits + (lowBits / TWO_PWR_32_DBL | 0); + lowBits = lowBits % TWO_PWR_32_DBL; + } + } + add1e6digit(-24, -18); + add1e6digit(-18, -12); + add1e6digit(-12, -6); + add1e6digit(-6); + return [minus, lowBits, highBits]; + } + exports2.int64fromString = int64fromString; + function int64toString(bitsLow, bitsHigh) { + if (bitsHigh >>> 0 <= 2097151) { + return "" + (TWO_PWR_32_DBL * bitsHigh + (bitsLow >>> 0)); + } + let low = bitsLow & 16777215; + let mid = (bitsLow >>> 24 | bitsHigh << 8) >>> 0 & 16777215; + let high = bitsHigh >> 16 & 65535; + let digitA = low + mid * 6777216 + high * 6710656; + let digitB = mid + high * 8147497; + let digitC = high * 2; + let base = 1e7; + if (digitA >= base) { + digitB += Math.floor(digitA / base); + digitA %= base; + } + if (digitB >= base) { + digitC += Math.floor(digitB / base); + digitB %= base; + } + function decimalFrom1e7(digit1e7, needLeadingZeros) { + let partial = digit1e7 ? String(digit1e7) : ""; + if (needLeadingZeros) { + return "0000000".slice(partial.length) + partial; + } + return partial; + } + return decimalFrom1e7( + digitC, + /*needLeadingZeros=*/ + 0 + ) + decimalFrom1e7( + digitB, + /*needLeadingZeros=*/ + digitC + ) + // If the final 1e7 digit didn't need leading zeros, we would have + // returned via the trivial code path at the top. + decimalFrom1e7( + digitA, + /*needLeadingZeros=*/ + 1 + ); + } + exports2.int64toString = int64toString; + function varint32write(value, bytes) { + if (value >= 0) { + while (value > 127) { + bytes.push(value & 127 | 128); + value = value >>> 7; + } + bytes.push(value); + } else { + for (let i = 0; i < 9; i++) { + bytes.push(value & 127 | 128); + value = value >> 7; + } + bytes.push(1); + } + } + exports2.varint32write = varint32write; + function varint32read() { + let b = this.buf[this.pos++]; + let result = b & 127; + if ((b & 128) == 0) { + this.assertBounds(); + return result; + } + b = this.buf[this.pos++]; + result |= (b & 127) << 7; + if ((b & 128) == 0) { + this.assertBounds(); + return result; + } + b = this.buf[this.pos++]; + result |= (b & 127) << 14; + if ((b & 128) == 0) { + this.assertBounds(); + return result; + } + b = this.buf[this.pos++]; + result |= (b & 127) << 21; + if ((b & 128) == 0) { + this.assertBounds(); + return result; + } + b = this.buf[this.pos++]; + result |= (b & 15) << 28; + for (let readBytes = 5; (b & 128) !== 0 && readBytes < 10; readBytes++) + b = this.buf[this.pos++]; + if ((b & 128) != 0) + throw new Error("invalid varint"); + this.assertBounds(); + return result >>> 0; + } + exports2.varint32read = varint32read; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/pb-long.js +var require_pb_long = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/pb-long.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.PbLong = exports2.PbULong = exports2.detectBi = void 0; + var goog_varint_1 = require_goog_varint(); + var BI; + function detectBi() { + const dv = new DataView(new ArrayBuffer(8)); + const ok = globalThis.BigInt !== void 0 && typeof dv.getBigInt64 === "function" && typeof dv.getBigUint64 === "function" && typeof dv.setBigInt64 === "function" && typeof dv.setBigUint64 === "function"; + BI = ok ? { + MIN: BigInt("-9223372036854775808"), + MAX: BigInt("9223372036854775807"), + UMIN: BigInt("0"), + UMAX: BigInt("18446744073709551615"), + C: BigInt, + V: dv + } : void 0; + } + exports2.detectBi = detectBi; + detectBi(); + function assertBi(bi) { + if (!bi) + throw new Error("BigInt unavailable, see https://github.com/timostamm/protobuf-ts/blob/v1.0.8/MANUAL.md#bigint-support"); + } + var RE_DECIMAL_STR = /^-?[0-9]+$/; + var TWO_PWR_32_DBL = 4294967296; + var HALF_2_PWR_32 = 2147483648; + var SharedPbLong = class { + /** + * Create a new instance with the given bits. + */ + constructor(lo, hi) { + this.lo = lo | 0; + this.hi = hi | 0; + } + /** + * Is this instance equal to 0? + */ + isZero() { + return this.lo == 0 && this.hi == 0; + } + /** + * Convert to a native number. + */ + toNumber() { + let result = this.hi * TWO_PWR_32_DBL + (this.lo >>> 0); + if (!Number.isSafeInteger(result)) + throw new Error("cannot convert to safe number"); + return result; + } + }; + var PbULong = class _PbULong extends SharedPbLong { + /** + * Create instance from a `string`, `number` or `bigint`. + */ + static from(value) { + if (BI) + switch (typeof value) { + case "string": + if (value == "0") + return this.ZERO; + if (value == "") + throw new Error("string is no integer"); + value = BI.C(value); + case "number": + if (value === 0) + return this.ZERO; + value = BI.C(value); + case "bigint": + if (!value) + return this.ZERO; + if (value < BI.UMIN) + throw new Error("signed value for ulong"); + if (value > BI.UMAX) + throw new Error("ulong too large"); + BI.V.setBigUint64(0, value, true); + return new _PbULong(BI.V.getInt32(0, true), BI.V.getInt32(4, true)); + } + else + switch (typeof value) { + case "string": + if (value == "0") + return this.ZERO; + value = value.trim(); + if (!RE_DECIMAL_STR.test(value)) + throw new Error("string is no integer"); + let [minus, lo, hi] = goog_varint_1.int64fromString(value); + if (minus) + throw new Error("signed value for ulong"); + return new _PbULong(lo, hi); + case "number": + if (value == 0) + return this.ZERO; + if (!Number.isSafeInteger(value)) + throw new Error("number is no integer"); + if (value < 0) + throw new Error("signed value for ulong"); + return new _PbULong(value, value / TWO_PWR_32_DBL); + } + throw new Error("unknown value " + typeof value); + } + /** + * Convert to decimal string. + */ + toString() { + return BI ? this.toBigInt().toString() : goog_varint_1.int64toString(this.lo, this.hi); + } + /** + * Convert to native bigint. + */ + toBigInt() { + assertBi(BI); + BI.V.setInt32(0, this.lo, true); + BI.V.setInt32(4, this.hi, true); + return BI.V.getBigUint64(0, true); + } + }; + exports2.PbULong = PbULong; + PbULong.ZERO = new PbULong(0, 0); + var PbLong = class _PbLong extends SharedPbLong { + /** + * Create instance from a `string`, `number` or `bigint`. + */ + static from(value) { + if (BI) + switch (typeof value) { + case "string": + if (value == "0") + return this.ZERO; + if (value == "") + throw new Error("string is no integer"); + value = BI.C(value); + case "number": + if (value === 0) + return this.ZERO; + value = BI.C(value); + case "bigint": + if (!value) + return this.ZERO; + if (value < BI.MIN) + throw new Error("signed long too small"); + if (value > BI.MAX) + throw new Error("signed long too large"); + BI.V.setBigInt64(0, value, true); + return new _PbLong(BI.V.getInt32(0, true), BI.V.getInt32(4, true)); + } + else + switch (typeof value) { + case "string": + if (value == "0") + return this.ZERO; + value = value.trim(); + if (!RE_DECIMAL_STR.test(value)) + throw new Error("string is no integer"); + let [minus, lo, hi] = goog_varint_1.int64fromString(value); + if (minus) { + if (hi > HALF_2_PWR_32 || hi == HALF_2_PWR_32 && lo != 0) + throw new Error("signed long too small"); + } else if (hi >= HALF_2_PWR_32) + throw new Error("signed long too large"); + let pbl = new _PbLong(lo, hi); + return minus ? pbl.negate() : pbl; + case "number": + if (value == 0) + return this.ZERO; + if (!Number.isSafeInteger(value)) + throw new Error("number is no integer"); + return value > 0 ? new _PbLong(value, value / TWO_PWR_32_DBL) : new _PbLong(-value, -value / TWO_PWR_32_DBL).negate(); + } + throw new Error("unknown value " + typeof value); + } + /** + * Do we have a minus sign? + */ + isNegative() { + return (this.hi & HALF_2_PWR_32) !== 0; + } + /** + * Negate two's complement. + * Invert all the bits and add one to the result. + */ + negate() { + let hi = ~this.hi, lo = this.lo; + if (lo) + lo = ~lo + 1; + else + hi += 1; + return new _PbLong(lo, hi); + } + /** + * Convert to decimal string. + */ + toString() { + if (BI) + return this.toBigInt().toString(); + if (this.isNegative()) { + let n = this.negate(); + return "-" + goog_varint_1.int64toString(n.lo, n.hi); + } + return goog_varint_1.int64toString(this.lo, this.hi); + } + /** + * Convert to native bigint. + */ + toBigInt() { + assertBi(BI); + BI.V.setInt32(0, this.lo, true); + BI.V.setInt32(4, this.hi, true); + return BI.V.getBigInt64(0, true); + } + }; + exports2.PbLong = PbLong; + PbLong.ZERO = new PbLong(0, 0); + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/binary-reader.js +var require_binary_reader = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/binary-reader.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.BinaryReader = exports2.binaryReadOptions = void 0; + var binary_format_contract_1 = require_binary_format_contract(); + var pb_long_1 = require_pb_long(); + var goog_varint_1 = require_goog_varint(); + var defaultsRead = { + readUnknownField: true, + readerFactory: (bytes) => new BinaryReader(bytes) + }; + function binaryReadOptions(options) { + return options ? Object.assign(Object.assign({}, defaultsRead), options) : defaultsRead; + } + exports2.binaryReadOptions = binaryReadOptions; + var BinaryReader = class { + constructor(buf, textDecoder) { + this.varint64 = goog_varint_1.varint64read; + this.uint32 = goog_varint_1.varint32read; + this.buf = buf; + this.len = buf.length; + this.pos = 0; + this.view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength); + this.textDecoder = textDecoder !== null && textDecoder !== void 0 ? textDecoder : new TextDecoder("utf-8", { + fatal: true, + ignoreBOM: true + }); + } + /** + * Reads a tag - field number and wire type. + */ + tag() { + let tag = this.uint32(), fieldNo = tag >>> 3, wireType = tag & 7; + if (fieldNo <= 0 || wireType < 0 || wireType > 5) + throw new Error("illegal tag: field no " + fieldNo + " wire type " + wireType); + return [fieldNo, wireType]; + } + /** + * Skip one element on the wire and return the skipped data. + * Supports WireType.StartGroup since v2.0.0-alpha.23. + */ + skip(wireType) { + let start = this.pos; + switch (wireType) { + case binary_format_contract_1.WireType.Varint: + while (this.buf[this.pos++] & 128) { + } + break; + case binary_format_contract_1.WireType.Bit64: + this.pos += 4; + case binary_format_contract_1.WireType.Bit32: + this.pos += 4; + break; + case binary_format_contract_1.WireType.LengthDelimited: + let len = this.uint32(); + this.pos += len; + break; + case binary_format_contract_1.WireType.StartGroup: + let t; + while ((t = this.tag()[1]) !== binary_format_contract_1.WireType.EndGroup) { + this.skip(t); + } + break; + default: + throw new Error("cant skip wire type " + wireType); + } + this.assertBounds(); + return this.buf.subarray(start, this.pos); + } + /** + * Throws error if position in byte array is out of range. + */ + assertBounds() { + if (this.pos > this.len) + throw new RangeError("premature EOF"); + } + /** + * Read a `int32` field, a signed 32 bit varint. + */ + int32() { + return this.uint32() | 0; + } + /** + * Read a `sint32` field, a signed, zigzag-encoded 32-bit varint. + */ + sint32() { + let zze = this.uint32(); + return zze >>> 1 ^ -(zze & 1); + } + /** + * Read a `int64` field, a signed 64-bit varint. + */ + int64() { + return new pb_long_1.PbLong(...this.varint64()); + } + /** + * Read a `uint64` field, an unsigned 64-bit varint. + */ + uint64() { + return new pb_long_1.PbULong(...this.varint64()); + } + /** + * Read a `sint64` field, a signed, zig-zag-encoded 64-bit varint. + */ + sint64() { + let [lo, hi] = this.varint64(); + let s = -(lo & 1); + lo = (lo >>> 1 | (hi & 1) << 31) ^ s; + hi = hi >>> 1 ^ s; + return new pb_long_1.PbLong(lo, hi); + } + /** + * Read a `bool` field, a variant. + */ + bool() { + let [lo, hi] = this.varint64(); + return lo !== 0 || hi !== 0; + } + /** + * Read a `fixed32` field, an unsigned, fixed-length 32-bit integer. + */ + fixed32() { + return this.view.getUint32((this.pos += 4) - 4, true); + } + /** + * Read a `sfixed32` field, a signed, fixed-length 32-bit integer. + */ + sfixed32() { + return this.view.getInt32((this.pos += 4) - 4, true); + } + /** + * Read a `fixed64` field, an unsigned, fixed-length 64 bit integer. + */ + fixed64() { + return new pb_long_1.PbULong(this.sfixed32(), this.sfixed32()); + } + /** + * Read a `fixed64` field, a signed, fixed-length 64-bit integer. + */ + sfixed64() { + return new pb_long_1.PbLong(this.sfixed32(), this.sfixed32()); + } + /** + * Read a `float` field, 32-bit floating point number. + */ + float() { + return this.view.getFloat32((this.pos += 4) - 4, true); + } + /** + * Read a `double` field, a 64-bit floating point number. + */ + double() { + return this.view.getFloat64((this.pos += 8) - 8, true); + } + /** + * Read a `bytes` field, length-delimited arbitrary data. + */ + bytes() { + let len = this.uint32(); + let start = this.pos; + this.pos += len; + this.assertBounds(); + return this.buf.subarray(start, start + len); + } + /** + * Read a `string` field, length-delimited data converted to UTF-8 text. + */ + string() { + return this.textDecoder.decode(this.bytes()); + } + }; + exports2.BinaryReader = BinaryReader; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/assert.js +var require_assert = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/assert.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.assertFloat32 = exports2.assertUInt32 = exports2.assertInt32 = exports2.assertNever = exports2.assert = void 0; + function assert(condition, msg) { + if (!condition) { + throw new Error(msg); + } + } + exports2.assert = assert; + function assertNever2(value, msg) { + throw new Error(msg !== null && msg !== void 0 ? msg : "Unexpected object: " + value); + } + exports2.assertNever = assertNever2; + var FLOAT32_MAX = 34028234663852886e22; + var FLOAT32_MIN = -34028234663852886e22; + var UINT32_MAX = 4294967295; + var INT32_MAX = 2147483647; + var INT32_MIN = -2147483648; + function assertInt32(arg) { + if (typeof arg !== "number") + throw new Error("invalid int 32: " + typeof arg); + if (!Number.isInteger(arg) || arg > INT32_MAX || arg < INT32_MIN) + throw new Error("invalid int 32: " + arg); + } + exports2.assertInt32 = assertInt32; + function assertUInt32(arg) { + if (typeof arg !== "number") + throw new Error("invalid uint 32: " + typeof arg); + if (!Number.isInteger(arg) || arg > UINT32_MAX || arg < 0) + throw new Error("invalid uint 32: " + arg); + } + exports2.assertUInt32 = assertUInt32; + function assertFloat32(arg) { + if (typeof arg !== "number") + throw new Error("invalid float 32: " + typeof arg); + if (!Number.isFinite(arg)) + return; + if (arg > FLOAT32_MAX || arg < FLOAT32_MIN) + throw new Error("invalid float 32: " + arg); + } + exports2.assertFloat32 = assertFloat32; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/binary-writer.js +var require_binary_writer = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/binary-writer.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.BinaryWriter = exports2.binaryWriteOptions = void 0; + var pb_long_1 = require_pb_long(); + var goog_varint_1 = require_goog_varint(); + var assert_1 = require_assert(); + var defaultsWrite = { + writeUnknownFields: true, + writerFactory: () => new BinaryWriter() + }; + function binaryWriteOptions(options) { + return options ? Object.assign(Object.assign({}, defaultsWrite), options) : defaultsWrite; + } + exports2.binaryWriteOptions = binaryWriteOptions; + var BinaryWriter = class { + constructor(textEncoder) { + this.stack = []; + this.textEncoder = textEncoder !== null && textEncoder !== void 0 ? textEncoder : new TextEncoder(); + this.chunks = []; + this.buf = []; + } + /** + * Return all bytes written and reset this writer. + */ + finish() { + this.chunks.push(new Uint8Array(this.buf)); + let len = 0; + for (let i = 0; i < this.chunks.length; i++) + len += this.chunks[i].length; + let bytes = new Uint8Array(len); + let offset = 0; + for (let i = 0; i < this.chunks.length; i++) { + bytes.set(this.chunks[i], offset); + offset += this.chunks[i].length; + } + this.chunks = []; + return bytes; + } + /** + * Start a new fork for length-delimited data like a message + * or a packed repeated field. + * + * Must be joined later with `join()`. + */ + fork() { + this.stack.push({ chunks: this.chunks, buf: this.buf }); + this.chunks = []; + this.buf = []; + return this; + } + /** + * Join the last fork. Write its length and bytes, then + * return to the previous state. + */ + join() { + let chunk = this.finish(); + let prev = this.stack.pop(); + if (!prev) + throw new Error("invalid state, fork stack empty"); + this.chunks = prev.chunks; + this.buf = prev.buf; + this.uint32(chunk.byteLength); + return this.raw(chunk); + } + /** + * Writes a tag (field number and wire type). + * + * Equivalent to `uint32( (fieldNo << 3 | type) >>> 0 )`. + * + * Generated code should compute the tag ahead of time and call `uint32()`. + */ + tag(fieldNo, type2) { + return this.uint32((fieldNo << 3 | type2) >>> 0); + } + /** + * Write a chunk of raw bytes. + */ + raw(chunk) { + if (this.buf.length) { + this.chunks.push(new Uint8Array(this.buf)); + this.buf = []; + } + this.chunks.push(chunk); + return this; + } + /** + * Write a `uint32` value, an unsigned 32 bit varint. + */ + uint32(value) { + assert_1.assertUInt32(value); + while (value > 127) { + this.buf.push(value & 127 | 128); + value = value >>> 7; + } + this.buf.push(value); + return this; + } + /** + * Write a `int32` value, a signed 32 bit varint. + */ + int32(value) { + assert_1.assertInt32(value); + goog_varint_1.varint32write(value, this.buf); + return this; + } + /** + * Write a `bool` value, a variant. + */ + bool(value) { + this.buf.push(value ? 1 : 0); + return this; + } + /** + * Write a `bytes` value, length-delimited arbitrary data. + */ + bytes(value) { + this.uint32(value.byteLength); + return this.raw(value); + } + /** + * Write a `string` value, length-delimited data converted to UTF-8 text. + */ + string(value) { + let chunk = this.textEncoder.encode(value); + this.uint32(chunk.byteLength); + return this.raw(chunk); + } + /** + * Write a `float` value, 32-bit floating point number. + */ + float(value) { + assert_1.assertFloat32(value); + let chunk = new Uint8Array(4); + new DataView(chunk.buffer).setFloat32(0, value, true); + return this.raw(chunk); + } + /** + * Write a `double` value, a 64-bit floating point number. + */ + double(value) { + let chunk = new Uint8Array(8); + new DataView(chunk.buffer).setFloat64(0, value, true); + return this.raw(chunk); + } + /** + * Write a `fixed32` value, an unsigned, fixed-length 32-bit integer. + */ + fixed32(value) { + assert_1.assertUInt32(value); + let chunk = new Uint8Array(4); + new DataView(chunk.buffer).setUint32(0, value, true); + return this.raw(chunk); + } + /** + * Write a `sfixed32` value, a signed, fixed-length 32-bit integer. + */ + sfixed32(value) { + assert_1.assertInt32(value); + let chunk = new Uint8Array(4); + new DataView(chunk.buffer).setInt32(0, value, true); + return this.raw(chunk); + } + /** + * Write a `sint32` value, a signed, zigzag-encoded 32-bit varint. + */ + sint32(value) { + assert_1.assertInt32(value); + value = (value << 1 ^ value >> 31) >>> 0; + goog_varint_1.varint32write(value, this.buf); + return this; + } + /** + * Write a `fixed64` value, a signed, fixed-length 64-bit integer. + */ + sfixed64(value) { + let chunk = new Uint8Array(8); + let view = new DataView(chunk.buffer); + let long = pb_long_1.PbLong.from(value); + view.setInt32(0, long.lo, true); + view.setInt32(4, long.hi, true); + return this.raw(chunk); + } + /** + * Write a `fixed64` value, an unsigned, fixed-length 64 bit integer. + */ + fixed64(value) { + let chunk = new Uint8Array(8); + let view = new DataView(chunk.buffer); + let long = pb_long_1.PbULong.from(value); + view.setInt32(0, long.lo, true); + view.setInt32(4, long.hi, true); + return this.raw(chunk); + } + /** + * Write a `int64` value, a signed 64-bit varint. + */ + int64(value) { + let long = pb_long_1.PbLong.from(value); + goog_varint_1.varint64write(long.lo, long.hi, this.buf); + return this; + } + /** + * Write a `sint64` value, a signed, zig-zag-encoded 64-bit varint. + */ + sint64(value) { + let long = pb_long_1.PbLong.from(value), sign = long.hi >> 31, lo = long.lo << 1 ^ sign, hi = (long.hi << 1 | long.lo >>> 31) ^ sign; + goog_varint_1.varint64write(lo, hi, this.buf); + return this; + } + /** + * Write a `uint64` value, an unsigned 64-bit varint. + */ + uint64(value) { + let long = pb_long_1.PbULong.from(value); + goog_varint_1.varint64write(long.lo, long.hi, this.buf); + return this; + } + }; + exports2.BinaryWriter = BinaryWriter; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/json-format-contract.js +var require_json_format_contract = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/json-format-contract.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.mergeJsonOptions = exports2.jsonWriteOptions = exports2.jsonReadOptions = void 0; + var defaultsWrite = { + emitDefaultValues: false, + enumAsInteger: false, + useProtoFieldName: false, + prettySpaces: 0 + }; + var defaultsRead = { + ignoreUnknownFields: false + }; + function jsonReadOptions(options) { + return options ? Object.assign(Object.assign({}, defaultsRead), options) : defaultsRead; + } + exports2.jsonReadOptions = jsonReadOptions; + function jsonWriteOptions(options) { + return options ? Object.assign(Object.assign({}, defaultsWrite), options) : defaultsWrite; + } + exports2.jsonWriteOptions = jsonWriteOptions; + function mergeJsonOptions(a, b) { + var _a, _b; + let c = Object.assign(Object.assign({}, a), b); + c.typeRegistry = [...(_a = a === null || a === void 0 ? void 0 : a.typeRegistry) !== null && _a !== void 0 ? _a : [], ...(_b = b === null || b === void 0 ? void 0 : b.typeRegistry) !== null && _b !== void 0 ? _b : []]; + return c; + } + exports2.mergeJsonOptions = mergeJsonOptions; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/message-type-contract.js +var require_message_type_contract = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/message-type-contract.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.MESSAGE_TYPE = void 0; + exports2.MESSAGE_TYPE = /* @__PURE__ */ Symbol.for("protobuf-ts/message-type"); + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/lower-camel-case.js +var require_lower_camel_case = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/lower-camel-case.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.lowerCamelCase = void 0; + function lowerCamelCase(snakeCase) { + let capNext = false; + const sb = []; + for (let i = 0; i < snakeCase.length; i++) { + let next = snakeCase.charAt(i); + if (next == "_") { + capNext = true; + } else if (/\d/.test(next)) { + sb.push(next); + capNext = true; + } else if (capNext) { + sb.push(next.toUpperCase()); + capNext = false; + } else if (i == 0) { + sb.push(next.toLowerCase()); + } else { + sb.push(next); + } + } + return sb.join(""); + } + exports2.lowerCamelCase = lowerCamelCase; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-info.js +var require_reflection_info = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-info.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.readMessageOption = exports2.readFieldOption = exports2.readFieldOptions = exports2.normalizeFieldInfo = exports2.RepeatType = exports2.LongType = exports2.ScalarType = void 0; + var lower_camel_case_1 = require_lower_camel_case(); + var ScalarType; + (function(ScalarType2) { + ScalarType2[ScalarType2["DOUBLE"] = 1] = "DOUBLE"; + ScalarType2[ScalarType2["FLOAT"] = 2] = "FLOAT"; + ScalarType2[ScalarType2["INT64"] = 3] = "INT64"; + ScalarType2[ScalarType2["UINT64"] = 4] = "UINT64"; + ScalarType2[ScalarType2["INT32"] = 5] = "INT32"; + ScalarType2[ScalarType2["FIXED64"] = 6] = "FIXED64"; + ScalarType2[ScalarType2["FIXED32"] = 7] = "FIXED32"; + ScalarType2[ScalarType2["BOOL"] = 8] = "BOOL"; + ScalarType2[ScalarType2["STRING"] = 9] = "STRING"; + ScalarType2[ScalarType2["BYTES"] = 12] = "BYTES"; + ScalarType2[ScalarType2["UINT32"] = 13] = "UINT32"; + ScalarType2[ScalarType2["SFIXED32"] = 15] = "SFIXED32"; + ScalarType2[ScalarType2["SFIXED64"] = 16] = "SFIXED64"; + ScalarType2[ScalarType2["SINT32"] = 17] = "SINT32"; + ScalarType2[ScalarType2["SINT64"] = 18] = "SINT64"; + })(ScalarType = exports2.ScalarType || (exports2.ScalarType = {})); + var LongType; + (function(LongType2) { + LongType2[LongType2["BIGINT"] = 0] = "BIGINT"; + LongType2[LongType2["STRING"] = 1] = "STRING"; + LongType2[LongType2["NUMBER"] = 2] = "NUMBER"; + })(LongType = exports2.LongType || (exports2.LongType = {})); + var RepeatType; + (function(RepeatType2) { + RepeatType2[RepeatType2["NO"] = 0] = "NO"; + RepeatType2[RepeatType2["PACKED"] = 1] = "PACKED"; + RepeatType2[RepeatType2["UNPACKED"] = 2] = "UNPACKED"; + })(RepeatType = exports2.RepeatType || (exports2.RepeatType = {})); + function normalizeFieldInfo(field) { + var _a, _b, _c, _d; + field.localName = (_a = field.localName) !== null && _a !== void 0 ? _a : lower_camel_case_1.lowerCamelCase(field.name); + field.jsonName = (_b = field.jsonName) !== null && _b !== void 0 ? _b : lower_camel_case_1.lowerCamelCase(field.name); + field.repeat = (_c = field.repeat) !== null && _c !== void 0 ? _c : RepeatType.NO; + field.opt = (_d = field.opt) !== null && _d !== void 0 ? _d : field.repeat ? false : field.oneof ? false : field.kind == "message"; + return field; + } + exports2.normalizeFieldInfo = normalizeFieldInfo; + function readFieldOptions(messageType, fieldName, extensionName, extensionType) { + var _a; + const options = (_a = messageType.fields.find((m, i) => m.localName == fieldName || i == fieldName)) === null || _a === void 0 ? void 0 : _a.options; + return options && options[extensionName] ? extensionType.fromJson(options[extensionName]) : void 0; + } + exports2.readFieldOptions = readFieldOptions; + function readFieldOption(messageType, fieldName, extensionName, extensionType) { + var _a; + const options = (_a = messageType.fields.find((m, i) => m.localName == fieldName || i == fieldName)) === null || _a === void 0 ? void 0 : _a.options; + if (!options) { + return void 0; + } + const optionVal = options[extensionName]; + if (optionVal === void 0) { + return optionVal; + } + return extensionType ? extensionType.fromJson(optionVal) : optionVal; + } + exports2.readFieldOption = readFieldOption; + function readMessageOption(messageType, extensionName, extensionType) { + const options = messageType.options; + const optionVal = options[extensionName]; + if (optionVal === void 0) { + return optionVal; + } + return extensionType ? extensionType.fromJson(optionVal) : optionVal; + } + exports2.readMessageOption = readMessageOption; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/oneof.js +var require_oneof = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/oneof.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.getSelectedOneofValue = exports2.clearOneofValue = exports2.setUnknownOneofValue = exports2.setOneofValue = exports2.getOneofValue = exports2.isOneofGroup = void 0; + function isOneofGroup(any) { + if (typeof any != "object" || any === null || !any.hasOwnProperty("oneofKind")) { + return false; + } + switch (typeof any.oneofKind) { + case "string": + if (any[any.oneofKind] === void 0) + return false; + return Object.keys(any).length == 2; + case "undefined": + return Object.keys(any).length == 1; + default: + return false; + } + } + exports2.isOneofGroup = isOneofGroup; + function getOneofValue(oneof, kind) { + return oneof[kind]; + } + exports2.getOneofValue = getOneofValue; + function setOneofValue(oneof, kind, value) { + if (oneof.oneofKind !== void 0) { + delete oneof[oneof.oneofKind]; + } + oneof.oneofKind = kind; + if (value !== void 0) { + oneof[kind] = value; + } + } + exports2.setOneofValue = setOneofValue; + function setUnknownOneofValue(oneof, kind, value) { + if (oneof.oneofKind !== void 0) { + delete oneof[oneof.oneofKind]; + } + oneof.oneofKind = kind; + if (value !== void 0 && kind !== void 0) { + oneof[kind] = value; + } + } + exports2.setUnknownOneofValue = setUnknownOneofValue; + function clearOneofValue(oneof) { + if (oneof.oneofKind !== void 0) { + delete oneof[oneof.oneofKind]; + } + oneof.oneofKind = void 0; + } + exports2.clearOneofValue = clearOneofValue; + function getSelectedOneofValue(oneof) { + if (oneof.oneofKind === void 0) { + return void 0; + } + return oneof[oneof.oneofKind]; + } + exports2.getSelectedOneofValue = getSelectedOneofValue; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-type-check.js +var require_reflection_type_check = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-type-check.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.ReflectionTypeCheck = void 0; + var reflection_info_1 = require_reflection_info(); + var oneof_1 = require_oneof(); + var ReflectionTypeCheck = class { + constructor(info7) { + var _a; + this.fields = (_a = info7.fields) !== null && _a !== void 0 ? _a : []; + } + prepare() { + if (this.data) + return; + const req = [], known = [], oneofs = []; + for (let field of this.fields) { + if (field.oneof) { + if (!oneofs.includes(field.oneof)) { + oneofs.push(field.oneof); + req.push(field.oneof); + known.push(field.oneof); + } + } else { + known.push(field.localName); + switch (field.kind) { + case "scalar": + case "enum": + if (!field.opt || field.repeat) + req.push(field.localName); + break; + case "message": + if (field.repeat) + req.push(field.localName); + break; + case "map": + req.push(field.localName); + break; + } + } + } + this.data = { req, known, oneofs: Object.values(oneofs) }; + } + /** + * Is the argument a valid message as specified by the + * reflection information? + * + * Checks all field types recursively. The `depth` + * specifies how deep into the structure the check will be. + * + * With a depth of 0, only the presence of fields + * is checked. + * + * With a depth of 1 or more, the field types are checked. + * + * With a depth of 2 or more, the members of map, repeated + * and message fields are checked. + * + * Message fields will be checked recursively with depth - 1. + * + * The number of map entries / repeated values being checked + * is < depth. + */ + is(message, depth, allowExcessProperties = false) { + if (depth < 0) + return true; + if (message === null || message === void 0 || typeof message != "object") + return false; + this.prepare(); + let keys = Object.keys(message), data = this.data; + if (keys.length < data.req.length || data.req.some((n) => !keys.includes(n))) + return false; + if (!allowExcessProperties) { + if (keys.some((k) => !data.known.includes(k))) + return false; + } + if (depth < 1) { + return true; + } + for (const name of data.oneofs) { + const group = message[name]; + if (!oneof_1.isOneofGroup(group)) + return false; + if (group.oneofKind === void 0) + continue; + const field = this.fields.find((f) => f.localName === group.oneofKind); + if (!field) + return false; + if (!this.field(group[group.oneofKind], field, allowExcessProperties, depth)) + return false; + } + for (const field of this.fields) { + if (field.oneof !== void 0) + continue; + if (!this.field(message[field.localName], field, allowExcessProperties, depth)) + return false; + } + return true; + } + field(arg, field, allowExcessProperties, depth) { + let repeated = field.repeat; + switch (field.kind) { + case "scalar": + if (arg === void 0) + return field.opt; + if (repeated) + return this.scalars(arg, field.T, depth, field.L); + return this.scalar(arg, field.T, field.L); + case "enum": + if (arg === void 0) + return field.opt; + if (repeated) + return this.scalars(arg, reflection_info_1.ScalarType.INT32, depth); + return this.scalar(arg, reflection_info_1.ScalarType.INT32); + case "message": + if (arg === void 0) + return true; + if (repeated) + return this.messages(arg, field.T(), allowExcessProperties, depth); + return this.message(arg, field.T(), allowExcessProperties, depth); + case "map": + if (typeof arg != "object" || arg === null) + return false; + if (depth < 2) + return true; + if (!this.mapKeys(arg, field.K, depth)) + return false; + switch (field.V.kind) { + case "scalar": + return this.scalars(Object.values(arg), field.V.T, depth, field.V.L); + case "enum": + return this.scalars(Object.values(arg), reflection_info_1.ScalarType.INT32, depth); + case "message": + return this.messages(Object.values(arg), field.V.T(), allowExcessProperties, depth); + } + break; + } + return true; + } + message(arg, type2, allowExcessProperties, depth) { + if (allowExcessProperties) { + return type2.isAssignable(arg, depth); + } + return type2.is(arg, depth); + } + messages(arg, type2, allowExcessProperties, depth) { + if (!Array.isArray(arg)) + return false; + if (depth < 2) + return true; + if (allowExcessProperties) { + for (let i = 0; i < arg.length && i < depth; i++) + if (!type2.isAssignable(arg[i], depth - 1)) + return false; + } else { + for (let i = 0; i < arg.length && i < depth; i++) + if (!type2.is(arg[i], depth - 1)) + return false; + } + return true; + } + scalar(arg, type2, longType) { + let argType = typeof arg; + switch (type2) { + case reflection_info_1.ScalarType.UINT64: + case reflection_info_1.ScalarType.FIXED64: + case reflection_info_1.ScalarType.INT64: + case reflection_info_1.ScalarType.SFIXED64: + case reflection_info_1.ScalarType.SINT64: + switch (longType) { + case reflection_info_1.LongType.BIGINT: + return argType == "bigint"; + case reflection_info_1.LongType.NUMBER: + return argType == "number" && !isNaN(arg); + default: + return argType == "string"; + } + case reflection_info_1.ScalarType.BOOL: + return argType == "boolean"; + case reflection_info_1.ScalarType.STRING: + return argType == "string"; + case reflection_info_1.ScalarType.BYTES: + return arg instanceof Uint8Array; + case reflection_info_1.ScalarType.DOUBLE: + case reflection_info_1.ScalarType.FLOAT: + return argType == "number" && !isNaN(arg); + default: + return argType == "number" && Number.isInteger(arg); + } + } + scalars(arg, type2, depth, longType) { + if (!Array.isArray(arg)) + return false; + if (depth < 2) + return true; + if (Array.isArray(arg)) { + for (let i = 0; i < arg.length && i < depth; i++) + if (!this.scalar(arg[i], type2, longType)) + return false; + } + return true; + } + mapKeys(map2, type2, depth) { + let keys = Object.keys(map2); + switch (type2) { + case reflection_info_1.ScalarType.INT32: + case reflection_info_1.ScalarType.FIXED32: + case reflection_info_1.ScalarType.SFIXED32: + case reflection_info_1.ScalarType.SINT32: + case reflection_info_1.ScalarType.UINT32: + return this.scalars(keys.slice(0, depth).map((k) => parseInt(k)), type2, depth); + case reflection_info_1.ScalarType.BOOL: + return this.scalars(keys.slice(0, depth).map((k) => k == "true" ? true : k == "false" ? false : k), type2, depth); + default: + return this.scalars(keys, type2, depth, reflection_info_1.LongType.STRING); + } + } + }; + exports2.ReflectionTypeCheck = ReflectionTypeCheck; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-long-convert.js +var require_reflection_long_convert = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-long-convert.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.reflectionLongConvert = void 0; + var reflection_info_1 = require_reflection_info(); + function reflectionLongConvert(long, type2) { + switch (type2) { + case reflection_info_1.LongType.BIGINT: + return long.toBigInt(); + case reflection_info_1.LongType.NUMBER: + return long.toNumber(); + default: + return long.toString(); + } + } + exports2.reflectionLongConvert = reflectionLongConvert; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-reader.js +var require_reflection_json_reader = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-reader.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.ReflectionJsonReader = void 0; + var json_typings_1 = require_json_typings(); + var base64_1 = require_base642(); + var reflection_info_1 = require_reflection_info(); + var pb_long_1 = require_pb_long(); + var assert_1 = require_assert(); + var reflection_long_convert_1 = require_reflection_long_convert(); + var ReflectionJsonReader = class { + constructor(info7) { + this.info = info7; + } + prepare() { + var _a; + if (this.fMap === void 0) { + this.fMap = {}; + const fieldsInput = (_a = this.info.fields) !== null && _a !== void 0 ? _a : []; + for (const field of fieldsInput) { + this.fMap[field.name] = field; + this.fMap[field.jsonName] = field; + this.fMap[field.localName] = field; + } + } + } + // Cannot parse JSON for #. + assert(condition, fieldName, jsonValue) { + if (!condition) { + let what = json_typings_1.typeofJsonValue(jsonValue); + if (what == "number" || what == "boolean") + what = jsonValue.toString(); + throw new Error(`Cannot parse JSON ${what} for ${this.info.typeName}#${fieldName}`); + } + } + /** + * Reads a message from canonical JSON format into the target message. + * + * Repeated fields are appended. Map entries are added, overwriting + * existing keys. + * + * If a message field is already present, it will be merged with the + * new data. + */ + read(input, message, options) { + this.prepare(); + const oneofsHandled = []; + for (const [jsonKey, jsonValue] of Object.entries(input)) { + const field = this.fMap[jsonKey]; + if (!field) { + if (!options.ignoreUnknownFields) + throw new Error(`Found unknown field while reading ${this.info.typeName} from JSON format. JSON key: ${jsonKey}`); + continue; + } + const localName = field.localName; + let target; + if (field.oneof) { + if (jsonValue === null && (field.kind !== "enum" || field.T()[0] !== "google.protobuf.NullValue")) { + continue; + } + if (oneofsHandled.includes(field.oneof)) + throw new Error(`Multiple members of the oneof group "${field.oneof}" of ${this.info.typeName} are present in JSON.`); + oneofsHandled.push(field.oneof); + target = message[field.oneof] = { + oneofKind: localName + }; + } else { + target = message; + } + if (field.kind == "map") { + if (jsonValue === null) { + continue; + } + this.assert(json_typings_1.isJsonObject(jsonValue), field.name, jsonValue); + const fieldObj = target[localName]; + for (const [jsonObjKey, jsonObjValue] of Object.entries(jsonValue)) { + this.assert(jsonObjValue !== null, field.name + " map value", null); + let val; + switch (field.V.kind) { + case "message": + val = field.V.T().internalJsonRead(jsonObjValue, options); + break; + case "enum": + val = this.enum(field.V.T(), jsonObjValue, field.name, options.ignoreUnknownFields); + if (val === false) + continue; + break; + case "scalar": + val = this.scalar(jsonObjValue, field.V.T, field.V.L, field.name); + break; + } + this.assert(val !== void 0, field.name + " map value", jsonObjValue); + let key = jsonObjKey; + if (field.K == reflection_info_1.ScalarType.BOOL) + key = key == "true" ? true : key == "false" ? false : key; + key = this.scalar(key, field.K, reflection_info_1.LongType.STRING, field.name).toString(); + fieldObj[key] = val; + } + } else if (field.repeat) { + if (jsonValue === null) + continue; + this.assert(Array.isArray(jsonValue), field.name, jsonValue); + const fieldArr = target[localName]; + for (const jsonItem of jsonValue) { + this.assert(jsonItem !== null, field.name, null); + let val; + switch (field.kind) { + case "message": + val = field.T().internalJsonRead(jsonItem, options); + break; + case "enum": + val = this.enum(field.T(), jsonItem, field.name, options.ignoreUnknownFields); + if (val === false) + continue; + break; + case "scalar": + val = this.scalar(jsonItem, field.T, field.L, field.name); + break; + } + this.assert(val !== void 0, field.name, jsonValue); + fieldArr.push(val); + } + } else { + switch (field.kind) { + case "message": + if (jsonValue === null && field.T().typeName != "google.protobuf.Value") { + this.assert(field.oneof === void 0, field.name + " (oneof member)", null); + continue; + } + target[localName] = field.T().internalJsonRead(jsonValue, options, target[localName]); + break; + case "enum": + if (jsonValue === null) + continue; + let val = this.enum(field.T(), jsonValue, field.name, options.ignoreUnknownFields); + if (val === false) + continue; + target[localName] = val; + break; + case "scalar": + if (jsonValue === null) + continue; + target[localName] = this.scalar(jsonValue, field.T, field.L, field.name); + break; + } + } + } + } + /** + * Returns `false` for unrecognized string representations. + * + * google.protobuf.NullValue accepts only JSON `null` (or the old `"NULL_VALUE"`). + */ + enum(type2, json2, fieldName, ignoreUnknownFields) { + if (type2[0] == "google.protobuf.NullValue") + assert_1.assert(json2 === null || json2 === "NULL_VALUE", `Unable to parse field ${this.info.typeName}#${fieldName}, enum ${type2[0]} only accepts null.`); + if (json2 === null) + return 0; + switch (typeof json2) { + case "number": + assert_1.assert(Number.isInteger(json2), `Unable to parse field ${this.info.typeName}#${fieldName}, enum can only be integral number, got ${json2}.`); + return json2; + case "string": + let localEnumName = json2; + if (type2[2] && json2.substring(0, type2[2].length) === type2[2]) + localEnumName = json2.substring(type2[2].length); + let enumNumber = type2[1][localEnumName]; + if (typeof enumNumber === "undefined" && ignoreUnknownFields) { + return false; + } + assert_1.assert(typeof enumNumber == "number", `Unable to parse field ${this.info.typeName}#${fieldName}, enum ${type2[0]} has no value for "${json2}".`); + return enumNumber; + } + assert_1.assert(false, `Unable to parse field ${this.info.typeName}#${fieldName}, cannot parse enum value from ${typeof json2}".`); + } + scalar(json2, type2, longType, fieldName) { + let e; + try { + switch (type2) { + // float, double: JSON value will be a number or one of the special string values "NaN", "Infinity", and "-Infinity". + // Either numbers or strings are accepted. Exponent notation is also accepted. + case reflection_info_1.ScalarType.DOUBLE: + case reflection_info_1.ScalarType.FLOAT: + if (json2 === null) + return 0; + if (json2 === "NaN") + return Number.NaN; + if (json2 === "Infinity") + return Number.POSITIVE_INFINITY; + if (json2 === "-Infinity") + return Number.NEGATIVE_INFINITY; + if (json2 === "") { + e = "empty string"; + break; + } + if (typeof json2 == "string" && json2.trim().length !== json2.length) { + e = "extra whitespace"; + break; + } + if (typeof json2 != "string" && typeof json2 != "number") { + break; + } + let float2 = Number(json2); + if (Number.isNaN(float2)) { + e = "not a number"; + break; + } + if (!Number.isFinite(float2)) { + e = "too large or small"; + break; + } + if (type2 == reflection_info_1.ScalarType.FLOAT) + assert_1.assertFloat32(float2); + return float2; + // int32, fixed32, uint32: JSON value will be a decimal number. Either numbers or strings are accepted. + case reflection_info_1.ScalarType.INT32: + case reflection_info_1.ScalarType.FIXED32: + case reflection_info_1.ScalarType.SFIXED32: + case reflection_info_1.ScalarType.SINT32: + case reflection_info_1.ScalarType.UINT32: + if (json2 === null) + return 0; + let int32; + if (typeof json2 == "number") + int32 = json2; + else if (json2 === "") + e = "empty string"; + else if (typeof json2 == "string") { + if (json2.trim().length !== json2.length) + e = "extra whitespace"; + else + int32 = Number(json2); + } + if (int32 === void 0) + break; + if (type2 == reflection_info_1.ScalarType.UINT32) + assert_1.assertUInt32(int32); + else + assert_1.assertInt32(int32); + return int32; + // int64, fixed64, uint64: JSON value will be a decimal string. Either numbers or strings are accepted. + case reflection_info_1.ScalarType.INT64: + case reflection_info_1.ScalarType.SFIXED64: + case reflection_info_1.ScalarType.SINT64: + if (json2 === null) + return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.ZERO, longType); + if (typeof json2 != "number" && typeof json2 != "string") + break; + return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.from(json2), longType); + case reflection_info_1.ScalarType.FIXED64: + case reflection_info_1.ScalarType.UINT64: + if (json2 === null) + return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.ZERO, longType); + if (typeof json2 != "number" && typeof json2 != "string") + break; + return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.from(json2), longType); + // bool: + case reflection_info_1.ScalarType.BOOL: + if (json2 === null) + return false; + if (typeof json2 !== "boolean") + break; + return json2; + // string: + case reflection_info_1.ScalarType.STRING: + if (json2 === null) + return ""; + if (typeof json2 !== "string") { + e = "extra whitespace"; + break; + } + try { + encodeURIComponent(json2); + } catch (e2) { + e2 = "invalid UTF8"; + break; + } + return json2; + // bytes: JSON value will be the data encoded as a string using standard base64 encoding with paddings. + // Either standard or URL-safe base64 encoding with/without paddings are accepted. + case reflection_info_1.ScalarType.BYTES: + if (json2 === null || json2 === "") + return new Uint8Array(0); + if (typeof json2 !== "string") + break; + return base64_1.base64decode(json2); + } + } catch (error3) { + e = error3.message; + } + this.assert(false, fieldName + (e ? " - " + e : ""), json2); + } + }; + exports2.ReflectionJsonReader = ReflectionJsonReader; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-writer.js +var require_reflection_json_writer = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-writer.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.ReflectionJsonWriter = void 0; + var base64_1 = require_base642(); + var pb_long_1 = require_pb_long(); + var reflection_info_1 = require_reflection_info(); + var assert_1 = require_assert(); + var ReflectionJsonWriter = class { + constructor(info7) { + var _a; + this.fields = (_a = info7.fields) !== null && _a !== void 0 ? _a : []; + } + /** + * Converts the message to a JSON object, based on the field descriptors. + */ + write(message, options) { + const json2 = {}, source = message; + for (const field of this.fields) { + if (!field.oneof) { + let jsonValue2 = this.field(field, source[field.localName], options); + if (jsonValue2 !== void 0) + json2[options.useProtoFieldName ? field.name : field.jsonName] = jsonValue2; + continue; + } + const group = source[field.oneof]; + if (group.oneofKind !== field.localName) + continue; + const opt = field.kind == "scalar" || field.kind == "enum" ? Object.assign(Object.assign({}, options), { emitDefaultValues: true }) : options; + let jsonValue = this.field(field, group[field.localName], opt); + assert_1.assert(jsonValue !== void 0); + json2[options.useProtoFieldName ? field.name : field.jsonName] = jsonValue; + } + return json2; + } + field(field, value, options) { + let jsonValue = void 0; + if (field.kind == "map") { + assert_1.assert(typeof value == "object" && value !== null); + const jsonObj = {}; + switch (field.V.kind) { + case "scalar": + for (const [entryKey, entryValue] of Object.entries(value)) { + const val = this.scalar(field.V.T, entryValue, field.name, false, true); + assert_1.assert(val !== void 0); + jsonObj[entryKey.toString()] = val; + } + break; + case "message": + const messageType = field.V.T(); + for (const [entryKey, entryValue] of Object.entries(value)) { + const val = this.message(messageType, entryValue, field.name, options); + assert_1.assert(val !== void 0); + jsonObj[entryKey.toString()] = val; + } + break; + case "enum": + const enumInfo = field.V.T(); + for (const [entryKey, entryValue] of Object.entries(value)) { + assert_1.assert(entryValue === void 0 || typeof entryValue == "number"); + const val = this.enum(enumInfo, entryValue, field.name, false, true, options.enumAsInteger); + assert_1.assert(val !== void 0); + jsonObj[entryKey.toString()] = val; + } + break; + } + if (options.emitDefaultValues || Object.keys(jsonObj).length > 0) + jsonValue = jsonObj; + } else if (field.repeat) { + assert_1.assert(Array.isArray(value)); + const jsonArr = []; + switch (field.kind) { + case "scalar": + for (let i = 0; i < value.length; i++) { + const val = this.scalar(field.T, value[i], field.name, field.opt, true); + assert_1.assert(val !== void 0); + jsonArr.push(val); + } + break; + case "enum": + const enumInfo = field.T(); + for (let i = 0; i < value.length; i++) { + assert_1.assert(value[i] === void 0 || typeof value[i] == "number"); + const val = this.enum(enumInfo, value[i], field.name, field.opt, true, options.enumAsInteger); + assert_1.assert(val !== void 0); + jsonArr.push(val); + } + break; + case "message": + const messageType = field.T(); + for (let i = 0; i < value.length; i++) { + const val = this.message(messageType, value[i], field.name, options); + assert_1.assert(val !== void 0); + jsonArr.push(val); + } + break; + } + if (options.emitDefaultValues || jsonArr.length > 0 || options.emitDefaultValues) + jsonValue = jsonArr; + } else { + switch (field.kind) { + case "scalar": + jsonValue = this.scalar(field.T, value, field.name, field.opt, options.emitDefaultValues); + break; + case "enum": + jsonValue = this.enum(field.T(), value, field.name, field.opt, options.emitDefaultValues, options.enumAsInteger); + break; + case "message": + jsonValue = this.message(field.T(), value, field.name, options); + break; + } + } + return jsonValue; + } + /** + * Returns `null` as the default for google.protobuf.NullValue. + */ + enum(type2, value, fieldName, optional, emitDefaultValues, enumAsInteger) { + if (type2[0] == "google.protobuf.NullValue") + return !emitDefaultValues && !optional ? void 0 : null; + if (value === void 0) { + assert_1.assert(optional); + return void 0; + } + if (value === 0 && !emitDefaultValues && !optional) + return void 0; + assert_1.assert(typeof value == "number"); + assert_1.assert(Number.isInteger(value)); + if (enumAsInteger || !type2[1].hasOwnProperty(value)) + return value; + if (type2[2]) + return type2[2] + type2[1][value]; + return type2[1][value]; + } + message(type2, value, fieldName, options) { + if (value === void 0) + return options.emitDefaultValues ? null : void 0; + return type2.internalJsonWrite(value, options); + } + scalar(type2, value, fieldName, optional, emitDefaultValues) { + if (value === void 0) { + assert_1.assert(optional); + return void 0; + } + const ed = emitDefaultValues || optional; + switch (type2) { + // int32, fixed32, uint32: JSON value will be a decimal number. Either numbers or strings are accepted. + case reflection_info_1.ScalarType.INT32: + case reflection_info_1.ScalarType.SFIXED32: + case reflection_info_1.ScalarType.SINT32: + if (value === 0) + return ed ? 0 : void 0; + assert_1.assertInt32(value); + return value; + case reflection_info_1.ScalarType.FIXED32: + case reflection_info_1.ScalarType.UINT32: + if (value === 0) + return ed ? 0 : void 0; + assert_1.assertUInt32(value); + return value; + // float, double: JSON value will be a number or one of the special string values "NaN", "Infinity", and "-Infinity". + // Either numbers or strings are accepted. Exponent notation is also accepted. + case reflection_info_1.ScalarType.FLOAT: + assert_1.assertFloat32(value); + case reflection_info_1.ScalarType.DOUBLE: + if (value === 0) + return ed ? 0 : void 0; + assert_1.assert(typeof value == "number"); + if (Number.isNaN(value)) + return "NaN"; + if (value === Number.POSITIVE_INFINITY) + return "Infinity"; + if (value === Number.NEGATIVE_INFINITY) + return "-Infinity"; + return value; + // string: + case reflection_info_1.ScalarType.STRING: + if (value === "") + return ed ? "" : void 0; + assert_1.assert(typeof value == "string"); + return value; + // bool: + case reflection_info_1.ScalarType.BOOL: + if (value === false) + return ed ? false : void 0; + assert_1.assert(typeof value == "boolean"); + return value; + // JSON value will be a decimal string. Either numbers or strings are accepted. + case reflection_info_1.ScalarType.UINT64: + case reflection_info_1.ScalarType.FIXED64: + assert_1.assert(typeof value == "number" || typeof value == "string" || typeof value == "bigint"); + let ulong = pb_long_1.PbULong.from(value); + if (ulong.isZero() && !ed) + return void 0; + return ulong.toString(); + // JSON value will be a decimal string. Either numbers or strings are accepted. + case reflection_info_1.ScalarType.INT64: + case reflection_info_1.ScalarType.SFIXED64: + case reflection_info_1.ScalarType.SINT64: + assert_1.assert(typeof value == "number" || typeof value == "string" || typeof value == "bigint"); + let long = pb_long_1.PbLong.from(value); + if (long.isZero() && !ed) + return void 0; + return long.toString(); + // bytes: JSON value will be the data encoded as a string using standard base64 encoding with paddings. + // Either standard or URL-safe base64 encoding with/without paddings are accepted. + case reflection_info_1.ScalarType.BYTES: + assert_1.assert(value instanceof Uint8Array); + if (!value.byteLength) + return ed ? "" : void 0; + return base64_1.base64encode(value); + } + } + }; + exports2.ReflectionJsonWriter = ReflectionJsonWriter; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-scalar-default.js +var require_reflection_scalar_default = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-scalar-default.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.reflectionScalarDefault = void 0; + var reflection_info_1 = require_reflection_info(); + var reflection_long_convert_1 = require_reflection_long_convert(); + var pb_long_1 = require_pb_long(); + function reflectionScalarDefault(type2, longType = reflection_info_1.LongType.STRING) { + switch (type2) { + case reflection_info_1.ScalarType.BOOL: + return false; + case reflection_info_1.ScalarType.UINT64: + case reflection_info_1.ScalarType.FIXED64: + return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.ZERO, longType); + case reflection_info_1.ScalarType.INT64: + case reflection_info_1.ScalarType.SFIXED64: + case reflection_info_1.ScalarType.SINT64: + return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.ZERO, longType); + case reflection_info_1.ScalarType.DOUBLE: + case reflection_info_1.ScalarType.FLOAT: + return 0; + case reflection_info_1.ScalarType.BYTES: + return new Uint8Array(0); + case reflection_info_1.ScalarType.STRING: + return ""; + default: + return 0; + } + } + exports2.reflectionScalarDefault = reflectionScalarDefault; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-reader.js +var require_reflection_binary_reader = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-reader.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.ReflectionBinaryReader = void 0; + var binary_format_contract_1 = require_binary_format_contract(); + var reflection_info_1 = require_reflection_info(); + var reflection_long_convert_1 = require_reflection_long_convert(); + var reflection_scalar_default_1 = require_reflection_scalar_default(); + var ReflectionBinaryReader = class { + constructor(info7) { + this.info = info7; + } + prepare() { + var _a; + if (!this.fieldNoToField) { + const fieldsInput = (_a = this.info.fields) !== null && _a !== void 0 ? _a : []; + this.fieldNoToField = new Map(fieldsInput.map((field) => [field.no, field])); + } + } + /** + * Reads a message from binary format into the target message. + * + * Repeated fields are appended. Map entries are added, overwriting + * existing keys. + * + * If a message field is already present, it will be merged with the + * new data. + */ + read(reader, message, options, length) { + this.prepare(); + const end = length === void 0 ? reader.len : reader.pos + length; + while (reader.pos < end) { + const [fieldNo, wireType] = reader.tag(), field = this.fieldNoToField.get(fieldNo); + if (!field) { + let u = options.readUnknownField; + if (u == "throw") + throw new Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.info.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? binary_format_contract_1.UnknownFieldHandler.onRead : u)(this.info.typeName, message, fieldNo, wireType, d); + continue; + } + let target = message, repeated = field.repeat, localName = field.localName; + if (field.oneof) { + target = target[field.oneof]; + if (target.oneofKind !== localName) + target = message[field.oneof] = { + oneofKind: localName + }; + } + switch (field.kind) { + case "scalar": + case "enum": + let T = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T; + let L = field.kind == "scalar" ? field.L : void 0; + if (repeated) { + let arr = target[localName]; + if (wireType == binary_format_contract_1.WireType.LengthDelimited && T != reflection_info_1.ScalarType.STRING && T != reflection_info_1.ScalarType.BYTES) { + let e = reader.uint32() + reader.pos; + while (reader.pos < e) + arr.push(this.scalar(reader, T, L)); + } else + arr.push(this.scalar(reader, T, L)); + } else + target[localName] = this.scalar(reader, T, L); + break; + case "message": + if (repeated) { + let arr = target[localName]; + let msg = field.T().internalBinaryRead(reader, reader.uint32(), options); + arr.push(msg); + } else + target[localName] = field.T().internalBinaryRead(reader, reader.uint32(), options, target[localName]); + break; + case "map": + let [mapKey, mapVal] = this.mapEntry(field, reader, options); + target[localName][mapKey] = mapVal; + break; + } + } + } + /** + * Read a map field, expecting key field = 1, value field = 2 + */ + mapEntry(field, reader, options) { + let length = reader.uint32(); + let end = reader.pos + length; + let key = void 0; + let val = void 0; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case 1: + if (field.K == reflection_info_1.ScalarType.BOOL) + key = reader.bool().toString(); + else + key = this.scalar(reader, field.K, reflection_info_1.LongType.STRING); + break; + case 2: + switch (field.V.kind) { + case "scalar": + val = this.scalar(reader, field.V.T, field.V.L); + break; + case "enum": + val = reader.int32(); + break; + case "message": + val = field.V.T().internalBinaryRead(reader, reader.uint32(), options); + break; + } + break; + default: + throw new Error(`Unknown field ${fieldNo} (wire type ${wireType}) in map entry for ${this.info.typeName}#${field.name}`); + } + } + if (key === void 0) { + let keyRaw = reflection_scalar_default_1.reflectionScalarDefault(field.K); + key = field.K == reflection_info_1.ScalarType.BOOL ? keyRaw.toString() : keyRaw; + } + if (val === void 0) + switch (field.V.kind) { + case "scalar": + val = reflection_scalar_default_1.reflectionScalarDefault(field.V.T, field.V.L); + break; + case "enum": + val = 0; + break; + case "message": + val = field.V.T().create(); + break; + } + return [key, val]; + } + scalar(reader, type2, longType) { + switch (type2) { + case reflection_info_1.ScalarType.INT32: + return reader.int32(); + case reflection_info_1.ScalarType.STRING: + return reader.string(); + case reflection_info_1.ScalarType.BOOL: + return reader.bool(); + case reflection_info_1.ScalarType.DOUBLE: + return reader.double(); + case reflection_info_1.ScalarType.FLOAT: + return reader.float(); + case reflection_info_1.ScalarType.INT64: + return reflection_long_convert_1.reflectionLongConvert(reader.int64(), longType); + case reflection_info_1.ScalarType.UINT64: + return reflection_long_convert_1.reflectionLongConvert(reader.uint64(), longType); + case reflection_info_1.ScalarType.FIXED64: + return reflection_long_convert_1.reflectionLongConvert(reader.fixed64(), longType); + case reflection_info_1.ScalarType.FIXED32: + return reader.fixed32(); + case reflection_info_1.ScalarType.BYTES: + return reader.bytes(); + case reflection_info_1.ScalarType.UINT32: + return reader.uint32(); + case reflection_info_1.ScalarType.SFIXED32: + return reader.sfixed32(); + case reflection_info_1.ScalarType.SFIXED64: + return reflection_long_convert_1.reflectionLongConvert(reader.sfixed64(), longType); + case reflection_info_1.ScalarType.SINT32: + return reader.sint32(); + case reflection_info_1.ScalarType.SINT64: + return reflection_long_convert_1.reflectionLongConvert(reader.sint64(), longType); + } + } + }; + exports2.ReflectionBinaryReader = ReflectionBinaryReader; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-writer.js +var require_reflection_binary_writer = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-writer.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.ReflectionBinaryWriter = void 0; + var binary_format_contract_1 = require_binary_format_contract(); + var reflection_info_1 = require_reflection_info(); + var assert_1 = require_assert(); + var pb_long_1 = require_pb_long(); + var ReflectionBinaryWriter = class { + constructor(info7) { + this.info = info7; + } + prepare() { + if (!this.fields) { + const fieldsInput = this.info.fields ? this.info.fields.concat() : []; + this.fields = fieldsInput.sort((a, b) => a.no - b.no); + } + } + /** + * Writes the message to binary format. + */ + write(message, writer, options) { + this.prepare(); + for (const field of this.fields) { + let value, emitDefault, repeated = field.repeat, localName = field.localName; + if (field.oneof) { + const group = message[field.oneof]; + if (group.oneofKind !== localName) + continue; + value = group[localName]; + emitDefault = true; + } else { + value = message[localName]; + emitDefault = false; + } + switch (field.kind) { + case "scalar": + case "enum": + let T = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T; + if (repeated) { + assert_1.assert(Array.isArray(value)); + if (repeated == reflection_info_1.RepeatType.PACKED) + this.packed(writer, T, field.no, value); + else + for (const item of value) + this.scalar(writer, T, field.no, item, true); + } else if (value === void 0) + assert_1.assert(field.opt); + else + this.scalar(writer, T, field.no, value, emitDefault || field.opt); + break; + case "message": + if (repeated) { + assert_1.assert(Array.isArray(value)); + for (const item of value) + this.message(writer, options, field.T(), field.no, item); + } else { + this.message(writer, options, field.T(), field.no, value); + } + break; + case "map": + assert_1.assert(typeof value == "object" && value !== null); + for (const [key, val] of Object.entries(value)) + this.mapEntry(writer, options, field, key, val); + break; + } + } + let u = options.writeUnknownFields; + if (u !== false) + (u === true ? binary_format_contract_1.UnknownFieldHandler.onWrite : u)(this.info.typeName, message, writer); + } + mapEntry(writer, options, field, key, value) { + writer.tag(field.no, binary_format_contract_1.WireType.LengthDelimited); + writer.fork(); + let keyValue = key; + switch (field.K) { + case reflection_info_1.ScalarType.INT32: + case reflection_info_1.ScalarType.FIXED32: + case reflection_info_1.ScalarType.UINT32: + case reflection_info_1.ScalarType.SFIXED32: + case reflection_info_1.ScalarType.SINT32: + keyValue = Number.parseInt(key); + break; + case reflection_info_1.ScalarType.BOOL: + assert_1.assert(key == "true" || key == "false"); + keyValue = key == "true"; + break; + } + this.scalar(writer, field.K, 1, keyValue, true); + switch (field.V.kind) { + case "scalar": + this.scalar(writer, field.V.T, 2, value, true); + break; + case "enum": + this.scalar(writer, reflection_info_1.ScalarType.INT32, 2, value, true); + break; + case "message": + this.message(writer, options, field.V.T(), 2, value); + break; + } + writer.join(); + } + message(writer, options, handler2, fieldNo, value) { + if (value === void 0) + return; + handler2.internalBinaryWrite(value, writer.tag(fieldNo, binary_format_contract_1.WireType.LengthDelimited).fork(), options); + writer.join(); + } + /** + * Write a single scalar value. + */ + scalar(writer, type2, fieldNo, value, emitDefault) { + let [wireType, method, isDefault] = this.scalarInfo(type2, value); + if (!isDefault || emitDefault) { + writer.tag(fieldNo, wireType); + writer[method](value); + } + } + /** + * Write an array of scalar values in packed format. + */ + packed(writer, type2, fieldNo, value) { + if (!value.length) + return; + assert_1.assert(type2 !== reflection_info_1.ScalarType.BYTES && type2 !== reflection_info_1.ScalarType.STRING); + writer.tag(fieldNo, binary_format_contract_1.WireType.LengthDelimited); + writer.fork(); + let [, method] = this.scalarInfo(type2); + for (let i = 0; i < value.length; i++) + writer[method](value[i]); + writer.join(); + } + /** + * Get information for writing a scalar value. + * + * Returns tuple: + * [0]: appropriate WireType + * [1]: name of the appropriate method of IBinaryWriter + * [2]: whether the given value is a default value + * + * If argument `value` is omitted, [2] is always false. + */ + scalarInfo(type2, value) { + let t = binary_format_contract_1.WireType.Varint; + let m; + let i = value === void 0; + let d = value === 0; + switch (type2) { + case reflection_info_1.ScalarType.INT32: + m = "int32"; + break; + case reflection_info_1.ScalarType.STRING: + d = i || !value.length; + t = binary_format_contract_1.WireType.LengthDelimited; + m = "string"; + break; + case reflection_info_1.ScalarType.BOOL: + d = value === false; + m = "bool"; + break; + case reflection_info_1.ScalarType.UINT32: + m = "uint32"; + break; + case reflection_info_1.ScalarType.DOUBLE: + t = binary_format_contract_1.WireType.Bit64; + m = "double"; + break; + case reflection_info_1.ScalarType.FLOAT: + t = binary_format_contract_1.WireType.Bit32; + m = "float"; + break; + case reflection_info_1.ScalarType.INT64: + d = i || pb_long_1.PbLong.from(value).isZero(); + m = "int64"; + break; + case reflection_info_1.ScalarType.UINT64: + d = i || pb_long_1.PbULong.from(value).isZero(); + m = "uint64"; + break; + case reflection_info_1.ScalarType.FIXED64: + d = i || pb_long_1.PbULong.from(value).isZero(); + t = binary_format_contract_1.WireType.Bit64; + m = "fixed64"; + break; + case reflection_info_1.ScalarType.BYTES: + d = i || !value.byteLength; + t = binary_format_contract_1.WireType.LengthDelimited; + m = "bytes"; + break; + case reflection_info_1.ScalarType.FIXED32: + t = binary_format_contract_1.WireType.Bit32; + m = "fixed32"; + break; + case reflection_info_1.ScalarType.SFIXED32: + t = binary_format_contract_1.WireType.Bit32; + m = "sfixed32"; + break; + case reflection_info_1.ScalarType.SFIXED64: + d = i || pb_long_1.PbLong.from(value).isZero(); + t = binary_format_contract_1.WireType.Bit64; + m = "sfixed64"; + break; + case reflection_info_1.ScalarType.SINT32: + m = "sint32"; + break; + case reflection_info_1.ScalarType.SINT64: + d = i || pb_long_1.PbLong.from(value).isZero(); + m = "sint64"; + break; + } + return [t, m, i || d]; + } + }; + exports2.ReflectionBinaryWriter = ReflectionBinaryWriter; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-create.js +var require_reflection_create = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-create.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.reflectionCreate = void 0; + var reflection_scalar_default_1 = require_reflection_scalar_default(); + var message_type_contract_1 = require_message_type_contract(); + function reflectionCreate(type2) { + const msg = type2.messagePrototype ? Object.create(type2.messagePrototype) : Object.defineProperty({}, message_type_contract_1.MESSAGE_TYPE, { value: type2 }); + for (let field of type2.fields) { + let name = field.localName; + if (field.opt) + continue; + if (field.oneof) + msg[field.oneof] = { oneofKind: void 0 }; + else if (field.repeat) + msg[name] = []; + else + switch (field.kind) { + case "scalar": + msg[name] = reflection_scalar_default_1.reflectionScalarDefault(field.T, field.L); + break; + case "enum": + msg[name] = 0; + break; + case "map": + msg[name] = {}; + break; + } + } + return msg; + } + exports2.reflectionCreate = reflectionCreate; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-merge-partial.js +var require_reflection_merge_partial = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-merge-partial.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.reflectionMergePartial = void 0; + function reflectionMergePartial(info7, target, source) { + let fieldValue, input = source, output; + for (let field of info7.fields) { + let name = field.localName; + if (field.oneof) { + const group = input[field.oneof]; + if ((group === null || group === void 0 ? void 0 : group.oneofKind) == void 0) { + continue; + } + fieldValue = group[name]; + output = target[field.oneof]; + output.oneofKind = group.oneofKind; + if (fieldValue == void 0) { + delete output[name]; + continue; + } + } else { + fieldValue = input[name]; + output = target; + if (fieldValue == void 0) { + continue; + } + } + if (field.repeat) + output[name].length = fieldValue.length; + switch (field.kind) { + case "scalar": + case "enum": + if (field.repeat) + for (let i = 0; i < fieldValue.length; i++) + output[name][i] = fieldValue[i]; + else + output[name] = fieldValue; + break; + case "message": + let T = field.T(); + if (field.repeat) + for (let i = 0; i < fieldValue.length; i++) + output[name][i] = T.create(fieldValue[i]); + else if (output[name] === void 0) + output[name] = T.create(fieldValue); + else + T.mergePartial(output[name], fieldValue); + break; + case "map": + switch (field.V.kind) { + case "scalar": + case "enum": + Object.assign(output[name], fieldValue); + break; + case "message": + let T2 = field.V.T(); + for (let k of Object.keys(fieldValue)) + output[name][k] = T2.create(fieldValue[k]); + break; + } + break; + } + } + } + exports2.reflectionMergePartial = reflectionMergePartial; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-equals.js +var require_reflection_equals = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-equals.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.reflectionEquals = void 0; + var reflection_info_1 = require_reflection_info(); + function reflectionEquals(info7, a, b) { + if (a === b) + return true; + if (!a || !b) + return false; + for (let field of info7.fields) { + let localName = field.localName; + let val_a = field.oneof ? a[field.oneof][localName] : a[localName]; + let val_b = field.oneof ? b[field.oneof][localName] : b[localName]; + switch (field.kind) { + case "enum": + case "scalar": + let t = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T; + if (!(field.repeat ? repeatedPrimitiveEq(t, val_a, val_b) : primitiveEq(t, val_a, val_b))) + return false; + break; + case "map": + if (!(field.V.kind == "message" ? repeatedMsgEq(field.V.T(), objectValues(val_a), objectValues(val_b)) : repeatedPrimitiveEq(field.V.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.V.T, objectValues(val_a), objectValues(val_b)))) + return false; + break; + case "message": + let T = field.T(); + if (!(field.repeat ? repeatedMsgEq(T, val_a, val_b) : T.equals(val_a, val_b))) + return false; + break; + } + } + return true; + } + exports2.reflectionEquals = reflectionEquals; + var objectValues = Object.values; + function primitiveEq(type2, a, b) { + if (a === b) + return true; + if (type2 !== reflection_info_1.ScalarType.BYTES) + return false; + let ba = a; + let bb = b; + if (ba.length !== bb.length) + return false; + for (let i = 0; i < ba.length; i++) + if (ba[i] != bb[i]) + return false; + return true; + } + function repeatedPrimitiveEq(type2, a, b) { + if (a.length !== b.length) + return false; + for (let i = 0; i < a.length; i++) + if (!primitiveEq(type2, a[i], b[i])) + return false; + return true; + } + function repeatedMsgEq(type2, a, b) { + if (a.length !== b.length) + return false; + for (let i = 0; i < a.length; i++) + if (!type2.equals(a[i], b[i])) + return false; + return true; + } + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/message-type.js +var require_message_type = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/message-type.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.MessageType = void 0; + var message_type_contract_1 = require_message_type_contract(); + var reflection_info_1 = require_reflection_info(); + var reflection_type_check_1 = require_reflection_type_check(); + var reflection_json_reader_1 = require_reflection_json_reader(); + var reflection_json_writer_1 = require_reflection_json_writer(); + var reflection_binary_reader_1 = require_reflection_binary_reader(); + var reflection_binary_writer_1 = require_reflection_binary_writer(); + var reflection_create_1 = require_reflection_create(); + var reflection_merge_partial_1 = require_reflection_merge_partial(); + var json_typings_1 = require_json_typings(); + var json_format_contract_1 = require_json_format_contract(); + var reflection_equals_1 = require_reflection_equals(); + var binary_writer_1 = require_binary_writer(); + var binary_reader_1 = require_binary_reader(); + var baseDescriptors = Object.getOwnPropertyDescriptors(Object.getPrototypeOf({})); + var messageTypeDescriptor = baseDescriptors[message_type_contract_1.MESSAGE_TYPE] = {}; + var MessageType = class { + constructor(name, fields, options) { + this.defaultCheckDepth = 16; + this.typeName = name; + this.fields = fields.map(reflection_info_1.normalizeFieldInfo); + this.options = options !== null && options !== void 0 ? options : {}; + messageTypeDescriptor.value = this; + this.messagePrototype = Object.create(null, baseDescriptors); + this.refTypeCheck = new reflection_type_check_1.ReflectionTypeCheck(this); + this.refJsonReader = new reflection_json_reader_1.ReflectionJsonReader(this); + this.refJsonWriter = new reflection_json_writer_1.ReflectionJsonWriter(this); + this.refBinReader = new reflection_binary_reader_1.ReflectionBinaryReader(this); + this.refBinWriter = new reflection_binary_writer_1.ReflectionBinaryWriter(this); + } + create(value) { + let message = reflection_create_1.reflectionCreate(this); + if (value !== void 0) { + reflection_merge_partial_1.reflectionMergePartial(this, message, value); + } + return message; + } + /** + * Clone the message. + * + * Unknown fields are discarded. + */ + clone(message) { + let copy = this.create(); + reflection_merge_partial_1.reflectionMergePartial(this, copy, message); + return copy; + } + /** + * Determines whether two message of the same type have the same field values. + * Checks for deep equality, traversing repeated fields, oneof groups, maps + * and messages recursively. + * Will also return true if both messages are `undefined`. + */ + equals(a, b) { + return reflection_equals_1.reflectionEquals(this, a, b); + } + /** + * Is the given value assignable to our message type + * and contains no [excess properties](https://www.typescriptlang.org/docs/handbook/interfaces.html#excess-property-checks)? + */ + is(arg, depth = this.defaultCheckDepth) { + return this.refTypeCheck.is(arg, depth, false); + } + /** + * Is the given value assignable to our message type, + * regardless of [excess properties](https://www.typescriptlang.org/docs/handbook/interfaces.html#excess-property-checks)? + */ + isAssignable(arg, depth = this.defaultCheckDepth) { + return this.refTypeCheck.is(arg, depth, true); + } + /** + * Copy partial data into the target message. + */ + mergePartial(target, source) { + reflection_merge_partial_1.reflectionMergePartial(this, target, source); + } + /** + * Create a new message from binary format. + */ + fromBinary(data, options) { + let opt = binary_reader_1.binaryReadOptions(options); + return this.internalBinaryRead(opt.readerFactory(data), data.byteLength, opt); + } + /** + * Read a new message from a JSON value. + */ + fromJson(json2, options) { + return this.internalJsonRead(json2, json_format_contract_1.jsonReadOptions(options)); + } + /** + * Read a new message from a JSON string. + * This is equivalent to `T.fromJson(JSON.parse(json))`. + */ + fromJsonString(json2, options) { + let value = JSON.parse(json2); + return this.fromJson(value, options); + } + /** + * Write the message to canonical JSON value. + */ + toJson(message, options) { + return this.internalJsonWrite(message, json_format_contract_1.jsonWriteOptions(options)); + } + /** + * Convert the message to canonical JSON string. + * This is equivalent to `JSON.stringify(T.toJson(t))` + */ + toJsonString(message, options) { + var _a; + let value = this.toJson(message, options); + return JSON.stringify(value, null, (_a = options === null || options === void 0 ? void 0 : options.prettySpaces) !== null && _a !== void 0 ? _a : 0); + } + /** + * Write the message to binary format. + */ + toBinary(message, options) { + let opt = binary_writer_1.binaryWriteOptions(options); + return this.internalBinaryWrite(message, opt.writerFactory(), opt).finish(); + } + /** + * This is an internal method. If you just want to read a message from + * JSON, use `fromJson()` or `fromJsonString()`. + * + * Reads JSON value and merges the fields into the target + * according to protobuf rules. If the target is omitted, + * a new instance is created first. + */ + internalJsonRead(json2, options, target) { + if (json2 !== null && typeof json2 == "object" && !Array.isArray(json2)) { + let message = target !== null && target !== void 0 ? target : this.create(); + this.refJsonReader.read(json2, message, options); + return message; + } + throw new Error(`Unable to parse message ${this.typeName} from JSON ${json_typings_1.typeofJsonValue(json2)}.`); + } + /** + * This is an internal method. If you just want to write a message + * to JSON, use `toJson()` or `toJsonString(). + * + * Writes JSON value and returns it. + */ + internalJsonWrite(message, options) { + return this.refJsonWriter.write(message, options); + } + /** + * This is an internal method. If you just want to write a message + * in binary format, use `toBinary()`. + * + * Serializes the message in binary format and appends it to the given + * writer. Returns passed writer. + */ + internalBinaryWrite(message, writer, options) { + this.refBinWriter.write(message, writer, options); + return writer; + } + /** + * This is an internal method. If you just want to read a message from + * binary data, use `fromBinary()`. + * + * Reads data from binary format and merges the fields into + * the target according to protobuf rules. If the target is + * omitted, a new instance is created first. + */ + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(); + this.refBinReader.read(reader, message, options, length); + return message; + } + }; + exports2.MessageType = MessageType; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-contains-message-type.js +var require_reflection_contains_message_type = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-contains-message-type.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.containsMessageType = void 0; + var message_type_contract_1 = require_message_type_contract(); + function containsMessageType(msg) { + return msg[message_type_contract_1.MESSAGE_TYPE] != null; + } + exports2.containsMessageType = containsMessageType; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/enum-object.js +var require_enum_object = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/enum-object.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.listEnumNumbers = exports2.listEnumNames = exports2.listEnumValues = exports2.isEnumObject = void 0; + function isEnumObject(arg) { + if (typeof arg != "object" || arg === null) { + return false; + } + if (!arg.hasOwnProperty(0)) { + return false; + } + for (let k of Object.keys(arg)) { + let num = parseInt(k); + if (!Number.isNaN(num)) { + let nam = arg[num]; + if (nam === void 0) + return false; + if (arg[nam] !== num) + return false; + } else { + let num2 = arg[k]; + if (num2 === void 0) + return false; + if (typeof num2 !== "number") + return false; + if (arg[num2] === void 0) + return false; + } + } + return true; + } + exports2.isEnumObject = isEnumObject; + function listEnumValues(enumObject) { + if (!isEnumObject(enumObject)) + throw new Error("not a typescript enum object"); + let values = []; + for (let [name, number] of Object.entries(enumObject)) + if (typeof number == "number") + values.push({ name, number }); + return values; + } + exports2.listEnumValues = listEnumValues; + function listEnumNames(enumObject) { + return listEnumValues(enumObject).map((val) => val.name); + } + exports2.listEnumNames = listEnumNames; + function listEnumNumbers(enumObject) { + return listEnumValues(enumObject).map((val) => val.number).filter((num, index, arr) => arr.indexOf(num) == index); + } + exports2.listEnumNumbers = listEnumNumbers; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/index.js +var require_commonjs16 = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/index.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + var json_typings_1 = require_json_typings(); + Object.defineProperty(exports2, "typeofJsonValue", { enumerable: true, get: function() { + return json_typings_1.typeofJsonValue; + } }); + Object.defineProperty(exports2, "isJsonObject", { enumerable: true, get: function() { + return json_typings_1.isJsonObject; + } }); + var base64_1 = require_base642(); + Object.defineProperty(exports2, "base64decode", { enumerable: true, get: function() { + return base64_1.base64decode; + } }); + Object.defineProperty(exports2, "base64encode", { enumerable: true, get: function() { + return base64_1.base64encode; + } }); + var protobufjs_utf8_1 = require_protobufjs_utf8(); + Object.defineProperty(exports2, "utf8read", { enumerable: true, get: function() { + return protobufjs_utf8_1.utf8read; + } }); + var binary_format_contract_1 = require_binary_format_contract(); + Object.defineProperty(exports2, "WireType", { enumerable: true, get: function() { + return binary_format_contract_1.WireType; + } }); + Object.defineProperty(exports2, "mergeBinaryOptions", { enumerable: true, get: function() { + return binary_format_contract_1.mergeBinaryOptions; + } }); + Object.defineProperty(exports2, "UnknownFieldHandler", { enumerable: true, get: function() { + return binary_format_contract_1.UnknownFieldHandler; + } }); + var binary_reader_1 = require_binary_reader(); + Object.defineProperty(exports2, "BinaryReader", { enumerable: true, get: function() { + return binary_reader_1.BinaryReader; + } }); + Object.defineProperty(exports2, "binaryReadOptions", { enumerable: true, get: function() { + return binary_reader_1.binaryReadOptions; + } }); + var binary_writer_1 = require_binary_writer(); + Object.defineProperty(exports2, "BinaryWriter", { enumerable: true, get: function() { + return binary_writer_1.BinaryWriter; + } }); + Object.defineProperty(exports2, "binaryWriteOptions", { enumerable: true, get: function() { + return binary_writer_1.binaryWriteOptions; + } }); + var pb_long_1 = require_pb_long(); + Object.defineProperty(exports2, "PbLong", { enumerable: true, get: function() { + return pb_long_1.PbLong; + } }); + Object.defineProperty(exports2, "PbULong", { enumerable: true, get: function() { + return pb_long_1.PbULong; + } }); + var json_format_contract_1 = require_json_format_contract(); + Object.defineProperty(exports2, "jsonReadOptions", { enumerable: true, get: function() { + return json_format_contract_1.jsonReadOptions; + } }); + Object.defineProperty(exports2, "jsonWriteOptions", { enumerable: true, get: function() { + return json_format_contract_1.jsonWriteOptions; + } }); + Object.defineProperty(exports2, "mergeJsonOptions", { enumerable: true, get: function() { + return json_format_contract_1.mergeJsonOptions; + } }); + var message_type_contract_1 = require_message_type_contract(); + Object.defineProperty(exports2, "MESSAGE_TYPE", { enumerable: true, get: function() { + return message_type_contract_1.MESSAGE_TYPE; + } }); + var message_type_1 = require_message_type(); + Object.defineProperty(exports2, "MessageType", { enumerable: true, get: function() { + return message_type_1.MessageType; + } }); + var reflection_info_1 = require_reflection_info(); + Object.defineProperty(exports2, "ScalarType", { enumerable: true, get: function() { + return reflection_info_1.ScalarType; + } }); + Object.defineProperty(exports2, "LongType", { enumerable: true, get: function() { + return reflection_info_1.LongType; + } }); + Object.defineProperty(exports2, "RepeatType", { enumerable: true, get: function() { + return reflection_info_1.RepeatType; + } }); + Object.defineProperty(exports2, "normalizeFieldInfo", { enumerable: true, get: function() { + return reflection_info_1.normalizeFieldInfo; + } }); + Object.defineProperty(exports2, "readFieldOptions", { enumerable: true, get: function() { + return reflection_info_1.readFieldOptions; + } }); + Object.defineProperty(exports2, "readFieldOption", { enumerable: true, get: function() { + return reflection_info_1.readFieldOption; + } }); + Object.defineProperty(exports2, "readMessageOption", { enumerable: true, get: function() { + return reflection_info_1.readMessageOption; + } }); + var reflection_type_check_1 = require_reflection_type_check(); + Object.defineProperty(exports2, "ReflectionTypeCheck", { enumerable: true, get: function() { + return reflection_type_check_1.ReflectionTypeCheck; + } }); + var reflection_create_1 = require_reflection_create(); + Object.defineProperty(exports2, "reflectionCreate", { enumerable: true, get: function() { + return reflection_create_1.reflectionCreate; + } }); + var reflection_scalar_default_1 = require_reflection_scalar_default(); + Object.defineProperty(exports2, "reflectionScalarDefault", { enumerable: true, get: function() { + return reflection_scalar_default_1.reflectionScalarDefault; + } }); + var reflection_merge_partial_1 = require_reflection_merge_partial(); + Object.defineProperty(exports2, "reflectionMergePartial", { enumerable: true, get: function() { + return reflection_merge_partial_1.reflectionMergePartial; + } }); + var reflection_equals_1 = require_reflection_equals(); + Object.defineProperty(exports2, "reflectionEquals", { enumerable: true, get: function() { + return reflection_equals_1.reflectionEquals; + } }); + var reflection_binary_reader_1 = require_reflection_binary_reader(); + Object.defineProperty(exports2, "ReflectionBinaryReader", { enumerable: true, get: function() { + return reflection_binary_reader_1.ReflectionBinaryReader; + } }); + var reflection_binary_writer_1 = require_reflection_binary_writer(); + Object.defineProperty(exports2, "ReflectionBinaryWriter", { enumerable: true, get: function() { + return reflection_binary_writer_1.ReflectionBinaryWriter; + } }); + var reflection_json_reader_1 = require_reflection_json_reader(); + Object.defineProperty(exports2, "ReflectionJsonReader", { enumerable: true, get: function() { + return reflection_json_reader_1.ReflectionJsonReader; + } }); + var reflection_json_writer_1 = require_reflection_json_writer(); + Object.defineProperty(exports2, "ReflectionJsonWriter", { enumerable: true, get: function() { + return reflection_json_writer_1.ReflectionJsonWriter; + } }); + var reflection_contains_message_type_1 = require_reflection_contains_message_type(); + Object.defineProperty(exports2, "containsMessageType", { enumerable: true, get: function() { + return reflection_contains_message_type_1.containsMessageType; + } }); + var oneof_1 = require_oneof(); + Object.defineProperty(exports2, "isOneofGroup", { enumerable: true, get: function() { + return oneof_1.isOneofGroup; + } }); + Object.defineProperty(exports2, "setOneofValue", { enumerable: true, get: function() { + return oneof_1.setOneofValue; + } }); + Object.defineProperty(exports2, "getOneofValue", { enumerable: true, get: function() { + return oneof_1.getOneofValue; + } }); + Object.defineProperty(exports2, "clearOneofValue", { enumerable: true, get: function() { + return oneof_1.clearOneofValue; + } }); + Object.defineProperty(exports2, "getSelectedOneofValue", { enumerable: true, get: function() { + return oneof_1.getSelectedOneofValue; + } }); + var enum_object_1 = require_enum_object(); + Object.defineProperty(exports2, "listEnumValues", { enumerable: true, get: function() { + return enum_object_1.listEnumValues; + } }); + Object.defineProperty(exports2, "listEnumNames", { enumerable: true, get: function() { + return enum_object_1.listEnumNames; + } }); + Object.defineProperty(exports2, "listEnumNumbers", { enumerable: true, get: function() { + return enum_object_1.listEnumNumbers; + } }); + Object.defineProperty(exports2, "isEnumObject", { enumerable: true, get: function() { + return enum_object_1.isEnumObject; + } }); + var lower_camel_case_1 = require_lower_camel_case(); + Object.defineProperty(exports2, "lowerCamelCase", { enumerable: true, get: function() { + return lower_camel_case_1.lowerCamelCase; + } }); + var assert_1 = require_assert(); + Object.defineProperty(exports2, "assert", { enumerable: true, get: function() { + return assert_1.assert; + } }); + Object.defineProperty(exports2, "assertNever", { enumerable: true, get: function() { + return assert_1.assertNever; + } }); + Object.defineProperty(exports2, "assertInt32", { enumerable: true, get: function() { + return assert_1.assertInt32; + } }); + Object.defineProperty(exports2, "assertUInt32", { enumerable: true, get: function() { + return assert_1.assertUInt32; + } }); + Object.defineProperty(exports2, "assertFloat32", { enumerable: true, get: function() { + return assert_1.assertFloat32; + } }); + } +}); + +// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/reflection-info.js +var require_reflection_info2 = __commonJS({ + "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/reflection-info.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.readServiceOption = exports2.readMethodOption = exports2.readMethodOptions = exports2.normalizeMethodInfo = void 0; + var runtime_1 = require_commonjs16(); + function normalizeMethodInfo(method, service) { + var _a, _b, _c; + let m = method; + m.service = service; + m.localName = (_a = m.localName) !== null && _a !== void 0 ? _a : runtime_1.lowerCamelCase(m.name); + m.serverStreaming = !!m.serverStreaming; + m.clientStreaming = !!m.clientStreaming; + m.options = (_b = m.options) !== null && _b !== void 0 ? _b : {}; + m.idempotency = (_c = m.idempotency) !== null && _c !== void 0 ? _c : void 0; + return m; + } + exports2.normalizeMethodInfo = normalizeMethodInfo; + function readMethodOptions(service, methodName, extensionName, extensionType) { + var _a; + const options = (_a = service.methods.find((m, i) => m.localName === methodName || i === methodName)) === null || _a === void 0 ? void 0 : _a.options; + return options && options[extensionName] ? extensionType.fromJson(options[extensionName]) : void 0; + } + exports2.readMethodOptions = readMethodOptions; + function readMethodOption(service, methodName, extensionName, extensionType) { + var _a; + const options = (_a = service.methods.find((m, i) => m.localName === methodName || i === methodName)) === null || _a === void 0 ? void 0 : _a.options; + if (!options) { + return void 0; + } + const optionVal = options[extensionName]; + if (optionVal === void 0) { + return optionVal; + } + return extensionType ? extensionType.fromJson(optionVal) : optionVal; + } + exports2.readMethodOption = readMethodOption; + function readServiceOption(service, extensionName, extensionType) { + const options = service.options; + if (!options) { + return void 0; + } + const optionVal = options[extensionName]; + if (optionVal === void 0) { + return optionVal; + } + return extensionType ? extensionType.fromJson(optionVal) : optionVal; + } + exports2.readServiceOption = readServiceOption; + } +}); + +// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/service-type.js +var require_service_type = __commonJS({ + "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/service-type.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.ServiceType = void 0; + var reflection_info_1 = require_reflection_info2(); + var ServiceType = class { + constructor(typeName, methods, options) { + this.typeName = typeName; + this.methods = methods.map((i) => reflection_info_1.normalizeMethodInfo(i, this)); + this.options = options !== null && options !== void 0 ? options : {}; + } + }; + exports2.ServiceType = ServiceType; + } +}); + +// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-error.js +var require_rpc_error = __commonJS({ + "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-error.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.RpcError = void 0; + var RpcError = class extends Error { + constructor(message, code = "UNKNOWN", meta) { + super(message); + this.name = "RpcError"; + Object.setPrototypeOf(this, new.target.prototype); + this.code = code; + this.meta = meta !== null && meta !== void 0 ? meta : {}; + } + toString() { + const l = [this.name + ": " + this.message]; + if (this.code) { + l.push(""); + l.push("Code: " + this.code); } - }, - requestBody: Parameters.tags, - queryParameters: [ - Parameters.timeoutInSeconds, - Parameters.versionId, - Parameters.comp18 - ], - urlParameters: [Parameters.url], - headerParameters: [ - Parameters.contentType, - Parameters.accept, - Parameters.version, - Parameters.requestId, - Parameters.leaseId, - Parameters.ifTags, - Parameters.transactionalContentMD5, - Parameters.transactionalContentCrc64 - ], - isXML: true, - contentType: "application/xml; charset=utf-8", - mediaType: "xml", - serializer: xmlSerializer + if (this.serviceName && this.methodName) { + l.push("Method: " + this.serviceName + "/" + this.methodName); + } + let m = Object.entries(this.meta); + if (m.length) { + l.push(""); + l.push("Meta:"); + for (let [k, v] of m) { + l.push(` ${k}: ${v}`); + } + } + return l.join("\n"); + } }; + exports2.RpcError = RpcError; } }); -// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/pageBlob.js -var require_pageBlob = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/pageBlob.js"(exports2) { +// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-options.js +var require_rpc_options = __commonJS({ + "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-options.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.PageBlobImpl = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var coreClient = tslib_1.__importStar(require_commonjs8()); - var Mappers = tslib_1.__importStar(require_mappers()); - var Parameters = tslib_1.__importStar(require_parameters()); - var PageBlobImpl = class { - client; + exports2.mergeRpcOptions = void 0; + var runtime_1 = require_commonjs16(); + function mergeRpcOptions(defaults, options) { + if (!options) + return defaults; + let o = {}; + copy(defaults, o); + copy(options, o); + for (let key of Object.keys(options)) { + let val = options[key]; + switch (key) { + case "jsonOptions": + o.jsonOptions = runtime_1.mergeJsonOptions(defaults.jsonOptions, o.jsonOptions); + break; + case "binaryOptions": + o.binaryOptions = runtime_1.mergeBinaryOptions(defaults.binaryOptions, o.binaryOptions); + break; + case "meta": + o.meta = {}; + copy(defaults.meta, o.meta); + copy(options.meta, o.meta); + break; + case "interceptors": + o.interceptors = defaults.interceptors ? defaults.interceptors.concat(val) : val.concat(); + break; + } + } + return o; + } + exports2.mergeRpcOptions = mergeRpcOptions; + function copy(a, into) { + if (!a) + return; + let c = into; + for (let [k, v] of Object.entries(a)) { + if (v instanceof Date) + c[k] = new Date(v.getTime()); + else if (Array.isArray(v)) + c[k] = v.concat(); + else + c[k] = v; + } + } + } +}); + +// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/deferred.js +var require_deferred = __commonJS({ + "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/deferred.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.Deferred = exports2.DeferredState = void 0; + var DeferredState; + (function(DeferredState2) { + DeferredState2[DeferredState2["PENDING"] = 0] = "PENDING"; + DeferredState2[DeferredState2["REJECTED"] = 1] = "REJECTED"; + DeferredState2[DeferredState2["RESOLVED"] = 2] = "RESOLVED"; + })(DeferredState = exports2.DeferredState || (exports2.DeferredState = {})); + var Deferred = class { /** - * Initialize a new instance of the class PageBlob class. - * @param client Reference to the service client + * @param preventUnhandledRejectionWarning - prevents the warning + * "Unhandled Promise rejection" by adding a noop rejection handler. + * Working with calls returned from the runtime-rpc package in an + * async function usually means awaiting one call property after + * the other. This means that the "status" is not being awaited when + * an earlier await for the "headers" is rejected. This causes the + * "unhandled promise reject" warning. A more correct behaviour for + * calls might be to become aware whether at least one of the + * promises is handled and swallow the rejection warning for the + * others. */ - constructor(client) { - this.client = client; + constructor(preventUnhandledRejectionWarning = true) { + this._state = DeferredState.PENDING; + this._promise = new Promise((resolve5, reject) => { + this._resolve = resolve5; + this._reject = reject; + }); + if (preventUnhandledRejectionWarning) { + this._promise.catch((_2) => { + }); + } } /** - * The Create operation creates a new page blob. - * @param contentLength The length of the request. - * @param blobContentLength This header specifies the maximum size for the page blob, up to 1 TB. The - * page blob size must be aligned to a 512-byte boundary. - * @param options The options parameters. + * Get the current state of the promise. */ - create(contentLength, blobContentLength, options) { - return this.client.sendOperationRequest({ contentLength, blobContentLength, options }, createOperationSpec); + get state() { + return this._state; } /** - * The Upload Pages operation writes a range of pages to a page blob - * @param contentLength The length of the request. - * @param body Initial data - * @param options The options parameters. + * Get the deferred promise. */ - uploadPages(contentLength, body, options) { - return this.client.sendOperationRequest({ contentLength, body, options }, uploadPagesOperationSpec); + get promise() { + return this._promise; } /** - * The Clear Pages operation clears a set of pages from a page blob - * @param contentLength The length of the request. - * @param options The options parameters. + * Resolve the promise. Throws if the promise is already resolved or rejected. */ - clearPages(contentLength, options) { - return this.client.sendOperationRequest({ contentLength, options }, clearPagesOperationSpec); + resolve(value) { + if (this.state !== DeferredState.PENDING) + throw new Error(`cannot resolve ${DeferredState[this.state].toLowerCase()}`); + this._resolve(value); + this._state = DeferredState.RESOLVED; } /** - * The Upload Pages operation writes a range of pages to a page blob where the contents are read from a - * URL - * @param sourceUrl Specify a URL to the copy source. - * @param sourceRange Bytes of source data in the specified range. The length of this range should - * match the ContentLength header and x-ms-range/Range destination range header. - * @param contentLength The length of the request. - * @param range The range of bytes to which the source range would be written. The range should be 512 - * aligned and range-end is required. - * @param options The options parameters. + * Reject the promise. Throws if the promise is already resolved or rejected. */ - uploadPagesFromURL(sourceUrl, sourceRange, contentLength, range, options) { - return this.client.sendOperationRequest({ sourceUrl, sourceRange, contentLength, range, options }, uploadPagesFromURLOperationSpec); + reject(reason) { + if (this.state !== DeferredState.PENDING) + throw new Error(`cannot reject ${DeferredState[this.state].toLowerCase()}`); + this._reject(reason); + this._state = DeferredState.REJECTED; } /** - * The Get Page Ranges operation returns the list of valid page ranges for a page blob or snapshot of a - * page blob - * @param options The options parameters. + * Resolve the promise. Ignore if not pending. */ - getPageRanges(options) { - return this.client.sendOperationRequest({ options }, getPageRangesOperationSpec); + resolvePending(val) { + if (this._state === DeferredState.PENDING) + this.resolve(val); } /** - * The Get Page Ranges Diff operation returns the list of valid page ranges for a page blob that were - * changed between target blob and previous snapshot. - * @param options The options parameters. + * Reject the promise. Ignore if not pending. */ - getPageRangesDiff(options) { - return this.client.sendOperationRequest({ options }, getPageRangesDiffOperationSpec); + rejectPending(reason) { + if (this._state === DeferredState.PENDING) + this.reject(reason); + } + }; + exports2.Deferred = Deferred; + } +}); + +// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-output-stream.js +var require_rpc_output_stream = __commonJS({ + "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-output-stream.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.RpcOutputStreamController = void 0; + var deferred_1 = require_deferred(); + var runtime_1 = require_commonjs16(); + var RpcOutputStreamController = class { + constructor() { + this._lis = { + nxt: [], + msg: [], + err: [], + cmp: [] + }; + this._closed = false; + this._itState = { q: [] }; + } + // --- RpcOutputStream callback API + onNext(callback) { + return this.addLis(callback, this._lis.nxt); + } + onMessage(callback) { + return this.addLis(callback, this._lis.msg); } + onError(callback) { + return this.addLis(callback, this._lis.err); + } + onComplete(callback) { + return this.addLis(callback, this._lis.cmp); + } + addLis(callback, list) { + list.push(callback); + return () => { + let i = list.indexOf(callback); + if (i >= 0) + list.splice(i, 1); + }; + } + // remove all listeners + clearLis() { + for (let l of Object.values(this._lis)) + l.splice(0, l.length); + } + // --- Controller API /** - * Resize the Blob - * @param blobContentLength This header specifies the maximum size for the page blob, up to 1 TB. The - * page blob size must be aligned to a 512-byte boundary. - * @param options The options parameters. + * Is this stream already closed by a completion or error? */ - resize(blobContentLength, options) { - return this.client.sendOperationRequest({ blobContentLength, options }, resizeOperationSpec); + get closed() { + return this._closed !== false; } /** - * Update the sequence number of the blob - * @param sequenceNumberAction Required if the x-ms-blob-sequence-number header is set for the request. - * This property applies to page blobs only. This property indicates how the service should modify the - * blob's sequence number - * @param options The options parameters. + * Emit message, close with error, or close successfully, but only one + * at a time. + * Can be used to wrap a stream by using the other stream's `onNext`. */ - updateSequenceNumber(sequenceNumberAction, options) { - return this.client.sendOperationRequest({ sequenceNumberAction, options }, updateSequenceNumberOperationSpec); + notifyNext(message, error3, complete) { + runtime_1.assert((message ? 1 : 0) + (error3 ? 1 : 0) + (complete ? 1 : 0) <= 1, "only one emission at a time"); + if (message) + this.notifyMessage(message); + if (error3) + this.notifyError(error3); + if (complete) + this.notifyComplete(); } /** - * The Copy Incremental operation copies a snapshot of the source page blob to a destination page blob. - * The snapshot is copied such that only the differential changes between the previously copied - * snapshot are transferred to the destination. The copied snapshots are complete copies of the - * original snapshot and can be read or copied from as usual. This API is supported since REST version - * 2016-05-31. - * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to - * 2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would - * appear in a request URI. The source blob must either be public or must be authenticated via a shared - * access signature. - * @param options The options parameters. + * Emits a new message. Throws if stream is closed. + * + * Triggers onNext and onMessage callbacks. */ - copyIncremental(copySource, options) { - return this.client.sendOperationRequest({ copySource, options }, copyIncrementalOperationSpec); + notifyMessage(message) { + runtime_1.assert(!this.closed, "stream is closed"); + this.pushIt({ value: message, done: false }); + this._lis.msg.forEach((l) => l(message)); + this._lis.nxt.forEach((l) => l(message, void 0, false)); } - }; - exports2.PageBlobImpl = PageBlobImpl; - var xmlSerializer = coreClient.createSerializer( - Mappers, - /* isXml */ - true - ); - var createOperationSpec = { - path: "/{containerName}/{blob}", - httpMethod: "PUT", - responses: { - 201: { - headersMapper: Mappers.PageBlobCreateHeaders - }, - default: { - bodyMapper: Mappers.StorageError, - headersMapper: Mappers.PageBlobCreateExceptionHeaders + /** + * Closes the stream with an error. Throws if stream is closed. + * + * Triggers onNext and onError callbacks. + */ + notifyError(error3) { + runtime_1.assert(!this.closed, "stream is closed"); + this._closed = error3; + this.pushIt(error3); + this._lis.err.forEach((l) => l(error3)); + this._lis.nxt.forEach((l) => l(void 0, error3, false)); + this.clearLis(); + } + /** + * Closes the stream successfully. Throws if stream is closed. + * + * Triggers onNext and onComplete callbacks. + */ + notifyComplete() { + runtime_1.assert(!this.closed, "stream is closed"); + this._closed = true; + this.pushIt({ value: null, done: true }); + this._lis.cmp.forEach((l) => l()); + this._lis.nxt.forEach((l) => l(void 0, void 0, true)); + this.clearLis(); + } + /** + * Creates an async iterator (that can be used with `for await {...}`) + * to consume the stream. + * + * Some things to note: + * - If an error occurs, the `for await` will throw it. + * - If an error occurred before the `for await` was started, `for await` + * will re-throw it. + * - If the stream is already complete, the `for await` will be empty. + * - If your `for await` consumes slower than the stream produces, + * for example because you are relaying messages in a slow operation, + * messages are queued. + */ + [Symbol.asyncIterator]() { + if (this._closed === true) + this.pushIt({ value: null, done: true }); + else if (this._closed !== false) + this.pushIt(this._closed); + return { + next: () => { + let state = this._itState; + runtime_1.assert(state, "bad state"); + runtime_1.assert(!state.p, "iterator contract broken"); + let first = state.q.shift(); + if (first) + return "value" in first ? Promise.resolve(first) : Promise.reject(first); + state.p = new deferred_1.Deferred(); + return state.p.promise; + } + }; + } + // "push" a new iterator result. + // this either resolves a pending promise, or enqueues the result. + pushIt(result) { + let state = this._itState; + if (state.p) { + const p = state.p; + runtime_1.assert(p.state == deferred_1.DeferredState.PENDING, "iterator contract broken"); + "value" in result ? p.resolve(result) : p.reject(result); + delete state.p; + } else { + state.q.push(result); } - }, - queryParameters: [Parameters.timeoutInSeconds], - urlParameters: [Parameters.url], - headerParameters: [ - Parameters.version, - Parameters.requestId, - Parameters.accept1, - Parameters.contentLength, - Parameters.metadata, - Parameters.leaseId, - Parameters.ifModifiedSince, - Parameters.ifUnmodifiedSince, - Parameters.encryptionKey, - Parameters.encryptionKeySha256, - Parameters.encryptionAlgorithm, - Parameters.ifMatch, - Parameters.ifNoneMatch, - Parameters.ifTags, - Parameters.blobCacheControl, - Parameters.blobContentType, - Parameters.blobContentMD5, - Parameters.blobContentEncoding, - Parameters.blobContentLanguage, - Parameters.blobContentDisposition, - Parameters.immutabilityPolicyExpiry, - Parameters.immutabilityPolicyMode, - Parameters.encryptionScope, - Parameters.tier, - Parameters.blobTagsString, - Parameters.legalHold1, - Parameters.blobType, - Parameters.blobContentLength, - Parameters.blobSequenceNumber - ], - isXML: true, - serializer: xmlSerializer + } }; - var uploadPagesOperationSpec = { - path: "/{containerName}/{blob}", - httpMethod: "PUT", - responses: { - 201: { - headersMapper: Mappers.PageBlobUploadPagesHeaders - }, - default: { - bodyMapper: Mappers.StorageError, - headersMapper: Mappers.PageBlobUploadPagesExceptionHeaders + exports2.RpcOutputStreamController = RpcOutputStreamController; + } +}); + +// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/unary-call.js +var require_unary_call = __commonJS({ + "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/unary-call.js"(exports2) { + "use strict"; + var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve5) { + resolve5(value); + }); + } + return new (P || (P = Promise))(function(resolve5, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } } - }, - requestBody: Parameters.body1, - queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19], - urlParameters: [Parameters.url], - headerParameters: [ - Parameters.version, - Parameters.requestId, - Parameters.contentLength, - Parameters.leaseId, - Parameters.ifModifiedSince, - Parameters.ifUnmodifiedSince, - Parameters.range, - Parameters.encryptionKey, - Parameters.encryptionKeySha256, - Parameters.encryptionAlgorithm, - Parameters.ifMatch, - Parameters.ifNoneMatch, - Parameters.ifTags, - Parameters.encryptionScope, - Parameters.transactionalContentMD5, - Parameters.transactionalContentCrc64, - Parameters.contentType1, - Parameters.accept2, - Parameters.pageWrite, - Parameters.ifSequenceNumberLessThanOrEqualTo, - Parameters.ifSequenceNumberLessThan, - Parameters.ifSequenceNumberEqualTo - ], - isXML: true, - contentType: "application/xml; charset=utf-8", - mediaType: "binary", - serializer: xmlSerializer - }; - var clearPagesOperationSpec = { - path: "/{containerName}/{blob}", - httpMethod: "PUT", - responses: { - 201: { - headersMapper: Mappers.PageBlobClearPagesHeaders - }, - default: { - bodyMapper: Mappers.StorageError, - headersMapper: Mappers.PageBlobClearPagesExceptionHeaders + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } } - }, - queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19], - urlParameters: [Parameters.url], - headerParameters: [ - Parameters.version, - Parameters.requestId, - Parameters.accept1, - Parameters.contentLength, - Parameters.leaseId, - Parameters.ifModifiedSince, - Parameters.ifUnmodifiedSince, - Parameters.range, - Parameters.encryptionKey, - Parameters.encryptionKeySha256, - Parameters.encryptionAlgorithm, - Parameters.ifMatch, - Parameters.ifNoneMatch, - Parameters.ifTags, - Parameters.encryptionScope, - Parameters.ifSequenceNumberLessThanOrEqualTo, - Parameters.ifSequenceNumberLessThan, - Parameters.ifSequenceNumberEqualTo, - Parameters.pageWrite1 - ], - isXML: true, - serializer: xmlSerializer - }; - var uploadPagesFromURLOperationSpec = { - path: "/{containerName}/{blob}", - httpMethod: "PUT", - responses: { - 201: { - headersMapper: Mappers.PageBlobUploadPagesFromURLHeaders - }, - default: { - bodyMapper: Mappers.StorageError, - headersMapper: Mappers.PageBlobUploadPagesFromURLExceptionHeaders + function step(result) { + result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); } - }, - queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19], - urlParameters: [Parameters.url], - headerParameters: [ - Parameters.version, - Parameters.requestId, - Parameters.accept1, - Parameters.contentLength, - Parameters.leaseId, - Parameters.ifModifiedSince, - Parameters.ifUnmodifiedSince, - Parameters.encryptionKey, - Parameters.encryptionKeySha256, - Parameters.encryptionAlgorithm, - Parameters.ifMatch, - Parameters.ifNoneMatch, - Parameters.ifTags, - Parameters.encryptionScope, - Parameters.sourceIfModifiedSince, - Parameters.sourceIfUnmodifiedSince, - Parameters.sourceIfMatch, - Parameters.sourceIfNoneMatch, - Parameters.sourceContentMD5, - Parameters.copySourceAuthorization, - Parameters.fileRequestIntent, - Parameters.pageWrite, - Parameters.ifSequenceNumberLessThanOrEqualTo, - Parameters.ifSequenceNumberLessThan, - Parameters.ifSequenceNumberEqualTo, - Parameters.sourceUrl, - Parameters.sourceRange, - Parameters.sourceContentCrc64, - Parameters.range1 - ], - isXML: true, - serializer: xmlSerializer + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); }; - var getPageRangesOperationSpec = { - path: "/{containerName}/{blob}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.PageList, - headersMapper: Mappers.PageBlobGetPageRangesHeaders - }, - default: { - bodyMapper: Mappers.StorageError, - headersMapper: Mappers.PageBlobGetPageRangesExceptionHeaders - } - }, - queryParameters: [ - Parameters.timeoutInSeconds, - Parameters.marker, - Parameters.maxPageSize, - Parameters.snapshot, - Parameters.comp20 - ], - urlParameters: [Parameters.url], - headerParameters: [ - Parameters.version, - Parameters.requestId, - Parameters.accept1, - Parameters.leaseId, - Parameters.ifModifiedSince, - Parameters.ifUnmodifiedSince, - Parameters.range, - Parameters.ifMatch, - Parameters.ifNoneMatch, - Parameters.ifTags - ], - isXML: true, - serializer: xmlSerializer + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.UnaryCall = void 0; + var UnaryCall = class { + constructor(method, requestHeaders, request2, headers, response, status, trailers) { + this.method = method; + this.requestHeaders = requestHeaders; + this.request = request2; + this.headers = headers; + this.response = response; + this.status = status; + this.trailers = trailers; + } + /** + * If you are only interested in the final outcome of this call, + * you can await it to receive a `FinishedUnaryCall`. + */ + then(onfulfilled, onrejected) { + return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason)); + } + promiseFinished() { + return __awaiter2(this, void 0, void 0, function* () { + let [headers, response, status, trailers] = yield Promise.all([this.headers, this.response, this.status, this.trailers]); + return { + method: this.method, + requestHeaders: this.requestHeaders, + request: this.request, + headers, + response, + status, + trailers + }; + }); + } }; - var getPageRangesDiffOperationSpec = { - path: "/{containerName}/{blob}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.PageList, - headersMapper: Mappers.PageBlobGetPageRangesDiffHeaders - }, - default: { - bodyMapper: Mappers.StorageError, - headersMapper: Mappers.PageBlobGetPageRangesDiffExceptionHeaders + exports2.UnaryCall = UnaryCall; + } +}); + +// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-streaming-call.js +var require_server_streaming_call = __commonJS({ + "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-streaming-call.js"(exports2) { + "use strict"; + var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve5) { + resolve5(value); + }); + } + return new (P || (P = Promise))(function(resolve5, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } } - }, - queryParameters: [ - Parameters.timeoutInSeconds, - Parameters.marker, - Parameters.maxPageSize, - Parameters.snapshot, - Parameters.comp20, - Parameters.prevsnapshot - ], - urlParameters: [Parameters.url], - headerParameters: [ - Parameters.version, - Parameters.requestId, - Parameters.accept1, - Parameters.leaseId, - Parameters.ifModifiedSince, - Parameters.ifUnmodifiedSince, - Parameters.range, - Parameters.ifMatch, - Parameters.ifNoneMatch, - Parameters.ifTags, - Parameters.prevSnapshotUrl - ], - isXML: true, - serializer: xmlSerializer - }; - var resizeOperationSpec = { - path: "/{containerName}/{blob}", - httpMethod: "PUT", - responses: { - 200: { - headersMapper: Mappers.PageBlobResizeHeaders - }, - default: { - bodyMapper: Mappers.StorageError, - headersMapper: Mappers.PageBlobResizeExceptionHeaders + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } } - }, - queryParameters: [Parameters.comp, Parameters.timeoutInSeconds], - urlParameters: [Parameters.url], - headerParameters: [ - Parameters.version, - Parameters.requestId, - Parameters.accept1, - Parameters.leaseId, - Parameters.ifModifiedSince, - Parameters.ifUnmodifiedSince, - Parameters.encryptionKey, - Parameters.encryptionKeySha256, - Parameters.encryptionAlgorithm, - Parameters.ifMatch, - Parameters.ifNoneMatch, - Parameters.ifTags, - Parameters.encryptionScope, - Parameters.blobContentLength - ], - isXML: true, - serializer: xmlSerializer + function step(result) { + result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); }; - var updateSequenceNumberOperationSpec = { - path: "/{containerName}/{blob}", - httpMethod: "PUT", - responses: { - 200: { - headersMapper: Mappers.PageBlobUpdateSequenceNumberHeaders - }, - default: { - bodyMapper: Mappers.StorageError, - headersMapper: Mappers.PageBlobUpdateSequenceNumberExceptionHeaders + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.ServerStreamingCall = void 0; + var ServerStreamingCall = class { + constructor(method, requestHeaders, request2, headers, response, status, trailers) { + this.method = method; + this.requestHeaders = requestHeaders; + this.request = request2; + this.headers = headers; + this.responses = response; + this.status = status; + this.trailers = trailers; + } + /** + * Instead of awaiting the response status and trailers, you can + * just as well await this call itself to receive the server outcome. + * You should first setup some listeners to the `request` to + * see the actual messages the server replied with. + */ + then(onfulfilled, onrejected) { + return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason)); + } + promiseFinished() { + return __awaiter2(this, void 0, void 0, function* () { + let [headers, status, trailers] = yield Promise.all([this.headers, this.status, this.trailers]); + return { + method: this.method, + requestHeaders: this.requestHeaders, + request: this.request, + headers, + status, + trailers + }; + }); + } + }; + exports2.ServerStreamingCall = ServerStreamingCall; + } +}); + +// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/client-streaming-call.js +var require_client_streaming_call = __commonJS({ + "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/client-streaming-call.js"(exports2) { + "use strict"; + var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve5) { + resolve5(value); + }); + } + return new (P || (P = Promise))(function(resolve5, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } } - }, - queryParameters: [Parameters.comp, Parameters.timeoutInSeconds], - urlParameters: [Parameters.url], - headerParameters: [ - Parameters.version, - Parameters.requestId, - Parameters.accept1, - Parameters.leaseId, - Parameters.ifModifiedSince, - Parameters.ifUnmodifiedSince, - Parameters.ifMatch, - Parameters.ifNoneMatch, - Parameters.ifTags, - Parameters.blobSequenceNumber, - Parameters.sequenceNumberAction - ], - isXML: true, - serializer: xmlSerializer + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); }; - var copyIncrementalOperationSpec = { - path: "/{containerName}/{blob}", - httpMethod: "PUT", - responses: { - 202: { - headersMapper: Mappers.PageBlobCopyIncrementalHeaders - }, - default: { - bodyMapper: Mappers.StorageError, - headersMapper: Mappers.PageBlobCopyIncrementalExceptionHeaders + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.ClientStreamingCall = void 0; + var ClientStreamingCall = class { + constructor(method, requestHeaders, request2, headers, response, status, trailers) { + this.method = method; + this.requestHeaders = requestHeaders; + this.requests = request2; + this.headers = headers; + this.response = response; + this.status = status; + this.trailers = trailers; + } + /** + * Instead of awaiting the response status and trailers, you can + * just as well await this call itself to receive the server outcome. + * Note that it may still be valid to send more request messages. + */ + then(onfulfilled, onrejected) { + return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason)); + } + promiseFinished() { + return __awaiter2(this, void 0, void 0, function* () { + let [headers, response, status, trailers] = yield Promise.all([this.headers, this.response, this.status, this.trailers]); + return { + method: this.method, + requestHeaders: this.requestHeaders, + headers, + response, + status, + trailers + }; + }); + } + }; + exports2.ClientStreamingCall = ClientStreamingCall; + } +}); + +// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/duplex-streaming-call.js +var require_duplex_streaming_call = __commonJS({ + "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/duplex-streaming-call.js"(exports2) { + "use strict"; + var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve5) { + resolve5(value); + }); + } + return new (P || (P = Promise))(function(resolve5, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } } - }, - queryParameters: [Parameters.timeoutInSeconds, Parameters.comp21], - urlParameters: [Parameters.url], - headerParameters: [ - Parameters.version, - Parameters.requestId, - Parameters.accept1, - Parameters.ifModifiedSince, - Parameters.ifUnmodifiedSince, - Parameters.ifMatch, - Parameters.ifNoneMatch, - Parameters.ifTags, - Parameters.copySource - ], - isXML: true, - serializer: xmlSerializer + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.DuplexStreamingCall = void 0; + var DuplexStreamingCall = class { + constructor(method, requestHeaders, request2, headers, response, status, trailers) { + this.method = method; + this.requestHeaders = requestHeaders; + this.requests = request2; + this.headers = headers; + this.responses = response; + this.status = status; + this.trailers = trailers; + } + /** + * Instead of awaiting the response status and trailers, you can + * just as well await this call itself to receive the server outcome. + * Note that it may still be valid to send more request messages. + */ + then(onfulfilled, onrejected) { + return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason)); + } + promiseFinished() { + return __awaiter2(this, void 0, void 0, function* () { + let [headers, status, trailers] = yield Promise.all([this.headers, this.status, this.trailers]); + return { + method: this.method, + requestHeaders: this.requestHeaders, + headers, + status, + trailers + }; + }); + } }; + exports2.DuplexStreamingCall = DuplexStreamingCall; } }); -// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/appendBlob.js -var require_appendBlob = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/appendBlob.js"(exports2) { +// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/test-transport.js +var require_test_transport = __commonJS({ + "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/test-transport.js"(exports2) { "use strict"; + var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve5) { + resolve5(value); + }); + } + return new (P || (P = Promise))(function(resolve5, 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 ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.AppendBlobImpl = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var coreClient = tslib_1.__importStar(require_commonjs8()); - var Mappers = tslib_1.__importStar(require_mappers()); - var Parameters = tslib_1.__importStar(require_parameters()); - var AppendBlobImpl = class { - client; + exports2.TestTransport = void 0; + var rpc_error_1 = require_rpc_error(); + var runtime_1 = require_commonjs16(); + var rpc_output_stream_1 = require_rpc_output_stream(); + var rpc_options_1 = require_rpc_options(); + var unary_call_1 = require_unary_call(); + var server_streaming_call_1 = require_server_streaming_call(); + var client_streaming_call_1 = require_client_streaming_call(); + var duplex_streaming_call_1 = require_duplex_streaming_call(); + var TestTransport = class _TestTransport { /** - * Initialize a new instance of the class AppendBlob class. - * @param client Reference to the service client + * Initialize with mock data. Omitted fields have default value. */ - constructor(client) { - this.client = client; + constructor(data) { + this.suppressUncaughtRejections = true; + this.headerDelay = 10; + this.responseDelay = 50; + this.betweenResponseDelay = 10; + this.afterResponseDelay = 10; + this.data = data !== null && data !== void 0 ? data : {}; } /** - * The Create Append Blob operation creates a new append blob. - * @param contentLength The length of the request. - * @param options The options parameters. + * Sent message(s) during the last operation. */ - create(contentLength, options) { - return this.client.sendOperationRequest({ contentLength, options }, createOperationSpec); + get sentMessages() { + if (this.lastInput instanceof TestInputStream) { + return this.lastInput.sent; + } else if (typeof this.lastInput == "object") { + return [this.lastInput.single]; + } + return []; } /** - * The Append Block operation commits a new block of data to the end of an existing append blob. The - * Append Block operation is permitted only if the blob was created with x-ms-blob-type set to - * AppendBlob. Append Block is supported only on version 2015-02-21 version or later. - * @param contentLength The length of the request. - * @param body Initial data - * @param options The options parameters. + * Sending message(s) completed? */ - appendBlock(contentLength, body, options) { - return this.client.sendOperationRequest({ contentLength, body, options }, appendBlockOperationSpec); + get sendComplete() { + if (this.lastInput instanceof TestInputStream) { + return this.lastInput.completed; + } else if (typeof this.lastInput == "object") { + return true; + } + return false; } - /** - * The Append Block operation commits a new block of data to the end of an existing append blob where - * the contents are read from a source url. The Append Block operation is permitted only if the blob - * was created with x-ms-blob-type set to AppendBlob. Append Block is supported only on version - * 2015-02-21 version or later. - * @param sourceUrl Specify a URL to the copy source. - * @param contentLength The length of the request. - * @param options The options parameters. - */ - appendBlockFromUrl(sourceUrl, contentLength, options) { - return this.client.sendOperationRequest({ sourceUrl, contentLength, options }, appendBlockFromUrlOperationSpec); + // Creates a promise for response headers from the mock data. + promiseHeaders() { + var _a; + const headers = (_a = this.data.headers) !== null && _a !== void 0 ? _a : _TestTransport.defaultHeaders; + return headers instanceof rpc_error_1.RpcError ? Promise.reject(headers) : Promise.resolve(headers); + } + // Creates a promise for a single, valid, message from the mock data. + promiseSingleResponse(method) { + if (this.data.response instanceof rpc_error_1.RpcError) { + return Promise.reject(this.data.response); + } + let r; + if (Array.isArray(this.data.response)) { + runtime_1.assert(this.data.response.length > 0); + r = this.data.response[0]; + } else if (this.data.response !== void 0) { + r = this.data.response; + } else { + r = method.O.create(); + } + runtime_1.assert(method.O.is(r)); + return Promise.resolve(r); } /** - * The Seal operation seals the Append Blob to make it read-only. Seal is supported only on version - * 2019-12-12 version or later. - * @param options The options parameters. + * Pushes response messages from the mock data to the output stream. + * If an error response, status or trailers are mocked, the stream is + * closed with the respective error. + * Otherwise, stream is completed successfully. + * + * The returned promise resolves when the stream is closed. It should + * not reject. If it does, code is broken. */ - seal(options) { - return this.client.sendOperationRequest({ options }, sealOperationSpec); + streamResponses(method, stream, abort) { + return __awaiter2(this, void 0, void 0, function* () { + const messages = []; + if (this.data.response === void 0) { + messages.push(method.O.create()); + } else if (Array.isArray(this.data.response)) { + for (let msg of this.data.response) { + runtime_1.assert(method.O.is(msg)); + messages.push(msg); + } + } else if (!(this.data.response instanceof rpc_error_1.RpcError)) { + runtime_1.assert(method.O.is(this.data.response)); + messages.push(this.data.response); + } + try { + yield delay(this.responseDelay, abort)(void 0); + } catch (error3) { + stream.notifyError(error3); + return; + } + if (this.data.response instanceof rpc_error_1.RpcError) { + stream.notifyError(this.data.response); + return; + } + for (let msg of messages) { + stream.notifyMessage(msg); + try { + yield delay(this.betweenResponseDelay, abort)(void 0); + } catch (error3) { + stream.notifyError(error3); + return; + } + } + if (this.data.status instanceof rpc_error_1.RpcError) { + stream.notifyError(this.data.status); + return; + } + if (this.data.trailers instanceof rpc_error_1.RpcError) { + stream.notifyError(this.data.trailers); + return; + } + stream.notifyComplete(); + }); } - }; - exports2.AppendBlobImpl = AppendBlobImpl; - var xmlSerializer = coreClient.createSerializer( - Mappers, - /* isXml */ - true - ); - var createOperationSpec = { - path: "/{containerName}/{blob}", - httpMethod: "PUT", - responses: { - 201: { - headersMapper: Mappers.AppendBlobCreateHeaders - }, - default: { - bodyMapper: Mappers.StorageError, - headersMapper: Mappers.AppendBlobCreateExceptionHeaders + // Creates a promise for response status from the mock data. + promiseStatus() { + var _a; + const status = (_a = this.data.status) !== null && _a !== void 0 ? _a : _TestTransport.defaultStatus; + return status instanceof rpc_error_1.RpcError ? Promise.reject(status) : Promise.resolve(status); + } + // Creates a promise for response trailers from the mock data. + promiseTrailers() { + var _a; + const trailers = (_a = this.data.trailers) !== null && _a !== void 0 ? _a : _TestTransport.defaultTrailers; + return trailers instanceof rpc_error_1.RpcError ? Promise.reject(trailers) : Promise.resolve(trailers); + } + maybeSuppressUncaught(...promise) { + if (this.suppressUncaughtRejections) { + for (let p of promise) { + p.catch(() => { + }); + } } - }, - queryParameters: [Parameters.timeoutInSeconds], - urlParameters: [Parameters.url], - headerParameters: [ - Parameters.version, - Parameters.requestId, - Parameters.accept1, - Parameters.contentLength, - Parameters.metadata, - Parameters.leaseId, - Parameters.ifModifiedSince, - Parameters.ifUnmodifiedSince, - Parameters.encryptionKey, - Parameters.encryptionKeySha256, - Parameters.encryptionAlgorithm, - Parameters.ifMatch, - Parameters.ifNoneMatch, - Parameters.ifTags, - Parameters.blobCacheControl, - Parameters.blobContentType, - Parameters.blobContentMD5, - Parameters.blobContentEncoding, - Parameters.blobContentLanguage, - Parameters.blobContentDisposition, - Parameters.immutabilityPolicyExpiry, - Parameters.immutabilityPolicyMode, - Parameters.encryptionScope, - Parameters.blobTagsString, - Parameters.legalHold1, - Parameters.blobType1 - ], - isXML: true, - serializer: xmlSerializer + } + mergeOptions(options) { + return rpc_options_1.mergeRpcOptions({}, options); + } + unary(method, input, options) { + var _a; + const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), responsePromise = headersPromise.catch((_2) => { + }).then(delay(this.responseDelay, options.abort)).then((_2) => this.promiseSingleResponse(method)), statusPromise = responsePromise.catch((_2) => { + }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseStatus()), trailersPromise = responsePromise.catch((_2) => { + }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseTrailers()); + this.maybeSuppressUncaught(statusPromise, trailersPromise); + this.lastInput = { single: input }; + return new unary_call_1.UnaryCall(method, requestHeaders, input, headersPromise, responsePromise, statusPromise, trailersPromise); + } + serverStreaming(method, input, options) { + var _a; + const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), outputStream = new rpc_output_stream_1.RpcOutputStreamController(), responseStreamClosedPromise = headersPromise.then(delay(this.responseDelay, options.abort)).catch(() => { + }).then(() => this.streamResponses(method, outputStream, options.abort)).then(delay(this.afterResponseDelay, options.abort)), statusPromise = responseStreamClosedPromise.then(() => this.promiseStatus()), trailersPromise = responseStreamClosedPromise.then(() => this.promiseTrailers()); + this.maybeSuppressUncaught(statusPromise, trailersPromise); + this.lastInput = { single: input }; + return new server_streaming_call_1.ServerStreamingCall(method, requestHeaders, input, headersPromise, outputStream, statusPromise, trailersPromise); + } + clientStreaming(method, options) { + var _a; + const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), responsePromise = headersPromise.catch((_2) => { + }).then(delay(this.responseDelay, options.abort)).then((_2) => this.promiseSingleResponse(method)), statusPromise = responsePromise.catch((_2) => { + }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseStatus()), trailersPromise = responsePromise.catch((_2) => { + }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseTrailers()); + this.maybeSuppressUncaught(statusPromise, trailersPromise); + this.lastInput = new TestInputStream(this.data, options.abort); + return new client_streaming_call_1.ClientStreamingCall(method, requestHeaders, this.lastInput, headersPromise, responsePromise, statusPromise, trailersPromise); + } + duplex(method, options) { + var _a; + const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), outputStream = new rpc_output_stream_1.RpcOutputStreamController(), responseStreamClosedPromise = headersPromise.then(delay(this.responseDelay, options.abort)).catch(() => { + }).then(() => this.streamResponses(method, outputStream, options.abort)).then(delay(this.afterResponseDelay, options.abort)), statusPromise = responseStreamClosedPromise.then(() => this.promiseStatus()), trailersPromise = responseStreamClosedPromise.then(() => this.promiseTrailers()); + this.maybeSuppressUncaught(statusPromise, trailersPromise); + this.lastInput = new TestInputStream(this.data, options.abort); + return new duplex_streaming_call_1.DuplexStreamingCall(method, requestHeaders, this.lastInput, headersPromise, outputStream, statusPromise, trailersPromise); + } }; - var appendBlockOperationSpec = { - path: "/{containerName}/{blob}", - httpMethod: "PUT", - responses: { - 201: { - headersMapper: Mappers.AppendBlobAppendBlockHeaders - }, - default: { - bodyMapper: Mappers.StorageError, - headersMapper: Mappers.AppendBlobAppendBlockExceptionHeaders - } - }, - requestBody: Parameters.body1, - queryParameters: [Parameters.timeoutInSeconds, Parameters.comp22], - urlParameters: [Parameters.url], - headerParameters: [ - Parameters.version, - Parameters.requestId, - Parameters.contentLength, - Parameters.leaseId, - Parameters.ifModifiedSince, - Parameters.ifUnmodifiedSince, - Parameters.encryptionKey, - Parameters.encryptionKeySha256, - Parameters.encryptionAlgorithm, - Parameters.ifMatch, - Parameters.ifNoneMatch, - Parameters.ifTags, - Parameters.encryptionScope, - Parameters.transactionalContentMD5, - Parameters.transactionalContentCrc64, - Parameters.contentType1, - Parameters.accept2, - Parameters.maxSize, - Parameters.appendPosition - ], - isXML: true, - contentType: "application/xml; charset=utf-8", - mediaType: "binary", - serializer: xmlSerializer + exports2.TestTransport = TestTransport; + TestTransport.defaultHeaders = { + responseHeader: "test" }; - var appendBlockFromUrlOperationSpec = { - path: "/{containerName}/{blob}", - httpMethod: "PUT", - responses: { - 201: { - headersMapper: Mappers.AppendBlobAppendBlockFromUrlHeaders - }, - default: { - bodyMapper: Mappers.StorageError, - headersMapper: Mappers.AppendBlobAppendBlockFromUrlExceptionHeaders - } - }, - queryParameters: [Parameters.timeoutInSeconds, Parameters.comp22], - urlParameters: [Parameters.url], - headerParameters: [ - Parameters.version, - Parameters.requestId, - Parameters.accept1, - Parameters.contentLength, - Parameters.leaseId, - Parameters.ifModifiedSince, - Parameters.ifUnmodifiedSince, - Parameters.encryptionKey, - Parameters.encryptionKeySha256, - Parameters.encryptionAlgorithm, - Parameters.ifMatch, - Parameters.ifNoneMatch, - Parameters.ifTags, - Parameters.encryptionScope, - Parameters.sourceIfModifiedSince, - Parameters.sourceIfUnmodifiedSince, - Parameters.sourceIfMatch, - Parameters.sourceIfNoneMatch, - Parameters.sourceContentMD5, - Parameters.copySourceAuthorization, - Parameters.fileRequestIntent, - Parameters.transactionalContentMD5, - Parameters.sourceUrl, - Parameters.sourceContentCrc64, - Parameters.maxSize, - Parameters.appendPosition, - Parameters.sourceRange1 - ], - isXML: true, - serializer: xmlSerializer + TestTransport.defaultStatus = { + code: "OK", + detail: "all good" }; - var sealOperationSpec = { - path: "/{containerName}/{blob}", - httpMethod: "PUT", - responses: { - 200: { - headersMapper: Mappers.AppendBlobSealHeaders - }, - default: { - bodyMapper: Mappers.StorageError, - headersMapper: Mappers.AppendBlobSealExceptionHeaders + TestTransport.defaultTrailers = { + responseTrailer: "test" + }; + function delay(ms, abort) { + return (v) => new Promise((resolve5, reject) => { + if (abort === null || abort === void 0 ? void 0 : abort.aborted) { + reject(new rpc_error_1.RpcError("user cancel", "CANCELLED")); + } else { + const id = setTimeout(() => resolve5(v), ms); + if (abort) { + abort.addEventListener("abort", (ev) => { + clearTimeout(id); + reject(new rpc_error_1.RpcError("user cancel", "CANCELLED")); + }); + } } - }, - queryParameters: [Parameters.timeoutInSeconds, Parameters.comp23], - urlParameters: [Parameters.url], - headerParameters: [ - Parameters.version, - Parameters.requestId, - Parameters.accept1, - Parameters.leaseId, - Parameters.ifModifiedSince, - Parameters.ifUnmodifiedSince, - Parameters.ifMatch, - Parameters.ifNoneMatch, - Parameters.appendPosition - ], - isXML: true, - serializer: xmlSerializer + }); + } + var TestInputStream = class { + constructor(data, abort) { + this._completed = false; + this._sent = []; + this.data = data; + this.abort = abort; + } + get sent() { + return this._sent; + } + get completed() { + return this._completed; + } + send(message) { + if (this.data.inputMessage instanceof rpc_error_1.RpcError) { + return Promise.reject(this.data.inputMessage); + } + const delayMs = this.data.inputMessage === void 0 ? 10 : this.data.inputMessage; + return Promise.resolve(void 0).then(() => { + this._sent.push(message); + }).then(delay(delayMs, this.abort)); + } + complete() { + if (this.data.inputComplete instanceof rpc_error_1.RpcError) { + return Promise.reject(this.data.inputComplete); + } + const delayMs = this.data.inputComplete === void 0 ? 10 : this.data.inputComplete; + return Promise.resolve(void 0).then(() => { + this._completed = true; + }).then(delay(delayMs, this.abort)); + } }; } }); -// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blockBlob.js -var require_blockBlob = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blockBlob.js"(exports2) { +// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-interceptor.js +var require_rpc_interceptor = __commonJS({ + "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-interceptor.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.BlockBlobImpl = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var coreClient = tslib_1.__importStar(require_commonjs8()); - var Mappers = tslib_1.__importStar(require_mappers()); - var Parameters = tslib_1.__importStar(require_parameters()); - var BlockBlobImpl = class { - client; - /** - * Initialize a new instance of the class BlockBlob class. - * @param client Reference to the service client - */ - constructor(client) { - this.client = client; + exports2.stackDuplexStreamingInterceptors = exports2.stackClientStreamingInterceptors = exports2.stackServerStreamingInterceptors = exports2.stackUnaryInterceptors = exports2.stackIntercept = void 0; + var runtime_1 = require_commonjs16(); + function stackIntercept(kind, transport, method, options, input) { + var _a, _b, _c, _d; + if (kind == "unary") { + let tail = (mtd, inp, opt) => transport.unary(mtd, inp, opt); + for (const curr of ((_a = options.interceptors) !== null && _a !== void 0 ? _a : []).filter((i) => i.interceptUnary).reverse()) { + const next = tail; + tail = (mtd, inp, opt) => curr.interceptUnary(next, mtd, inp, opt); + } + return tail(method, input, options); } - /** - * The Upload Block Blob operation updates the content of an existing block blob. Updating an existing - * block blob overwrites any existing metadata on the blob. Partial updates are not supported with Put - * Blob; the content of the existing blob is overwritten with the content of the new blob. To perform a - * partial update of the content of a block blob, use the Put Block List operation. - * @param contentLength The length of the request. - * @param body Initial data - * @param options The options parameters. - */ - upload(contentLength, body, options) { - return this.client.sendOperationRequest({ contentLength, body, options }, uploadOperationSpec); + if (kind == "serverStreaming") { + let tail = (mtd, inp, opt) => transport.serverStreaming(mtd, inp, opt); + for (const curr of ((_b = options.interceptors) !== null && _b !== void 0 ? _b : []).filter((i) => i.interceptServerStreaming).reverse()) { + const next = tail; + tail = (mtd, inp, opt) => curr.interceptServerStreaming(next, mtd, inp, opt); + } + return tail(method, input, options); } - /** - * The Put Blob from URL operation creates a new Block Blob where the contents of the blob are read - * from a given URL. This API is supported beginning with the 2020-04-08 version. Partial updates are - * not supported with Put Blob from URL; the content of an existing blob is overwritten with the - * content of the new blob. To perform partial updates to a block blob’s contents using a source URL, - * use the Put Block from URL API in conjunction with Put Block List. - * @param contentLength The length of the request. - * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to - * 2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would - * appear in a request URI. The source blob must either be public or must be authenticated via a shared - * access signature. - * @param options The options parameters. - */ - putBlobFromUrl(contentLength, copySource, options) { - return this.client.sendOperationRequest({ contentLength, copySource, options }, putBlobFromUrlOperationSpec); + if (kind == "clientStreaming") { + let tail = (mtd, opt) => transport.clientStreaming(mtd, opt); + for (const curr of ((_c = options.interceptors) !== null && _c !== void 0 ? _c : []).filter((i) => i.interceptClientStreaming).reverse()) { + const next = tail; + tail = (mtd, opt) => curr.interceptClientStreaming(next, mtd, opt); + } + return tail(method, options); + } + if (kind == "duplex") { + let tail = (mtd, opt) => transport.duplex(mtd, opt); + for (const curr of ((_d = options.interceptors) !== null && _d !== void 0 ? _d : []).filter((i) => i.interceptDuplex).reverse()) { + const next = tail; + tail = (mtd, opt) => curr.interceptDuplex(next, mtd, opt); + } + return tail(method, options); + } + runtime_1.assertNever(kind); + } + exports2.stackIntercept = stackIntercept; + function stackUnaryInterceptors(transport, method, input, options) { + return stackIntercept("unary", transport, method, options, input); + } + exports2.stackUnaryInterceptors = stackUnaryInterceptors; + function stackServerStreamingInterceptors(transport, method, input, options) { + return stackIntercept("serverStreaming", transport, method, options, input); + } + exports2.stackServerStreamingInterceptors = stackServerStreamingInterceptors; + function stackClientStreamingInterceptors(transport, method, options) { + return stackIntercept("clientStreaming", transport, method, options); + } + exports2.stackClientStreamingInterceptors = stackClientStreamingInterceptors; + function stackDuplexStreamingInterceptors(transport, method, options) { + return stackIntercept("duplex", transport, method, options); + } + exports2.stackDuplexStreamingInterceptors = stackDuplexStreamingInterceptors; + } +}); + +// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-call-context.js +var require_server_call_context = __commonJS({ + "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-call-context.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.ServerCallContextController = void 0; + var ServerCallContextController = class { + constructor(method, headers, deadline, sendResponseHeadersFn, defaultStatus = { code: "OK", detail: "" }) { + this._cancelled = false; + this._listeners = []; + this.method = method; + this.headers = headers; + this.deadline = deadline; + this.trailers = {}; + this._sendRH = sendResponseHeadersFn; + this.status = defaultStatus; } /** - * The Stage Block operation creates a new block to be committed as part of a blob - * @param blockId A valid Base64 string value that identifies the block. Prior to encoding, the string - * must be less than or equal to 64 bytes in size. For a given blob, the length of the value specified - * for the blockid parameter must be the same size for each block. - * @param contentLength The length of the request. - * @param body Initial data - * @param options The options parameters. + * Set the call cancelled. + * + * Invokes all callbacks registered with onCancel() and + * sets `cancelled = true`. */ - stageBlock(blockId, contentLength, body, options) { - return this.client.sendOperationRequest({ blockId, contentLength, body, options }, stageBlockOperationSpec); + notifyCancelled() { + if (!this._cancelled) { + this._cancelled = true; + for (let l of this._listeners) { + l(); + } + } } /** - * The Stage Block operation creates a new block to be committed as part of a blob where the contents - * are read from a URL. - * @param blockId A valid Base64 string value that identifies the block. Prior to encoding, the string - * must be less than or equal to 64 bytes in size. For a given blob, the length of the value specified - * for the blockid parameter must be the same size for each block. - * @param contentLength The length of the request. - * @param sourceUrl Specify a URL to the copy source. - * @param options The options parameters. + * Send response headers. */ - stageBlockFromURL(blockId, contentLength, sourceUrl, options) { - return this.client.sendOperationRequest({ blockId, contentLength, sourceUrl, options }, stageBlockFromURLOperationSpec); + sendResponseHeaders(data) { + this._sendRH(data); } /** - * The Commit Block List operation writes a blob by specifying the list of block IDs that make up the - * blob. In order to be written as part of a blob, a block must have been successfully written to the - * server in a prior Put Block operation. You can call Put Block List to update a blob by uploading - * only those blocks that have changed, then committing the new and existing blocks together. You can - * do this by specifying whether to commit a block from the committed block list or from the - * uncommitted block list, or to commit the most recently uploaded version of the block, whichever list - * it may belong to. - * @param blocks Blob Blocks. - * @param options The options parameters. + * Is the call cancelled? + * + * When the client closes the connection before the server + * is done, the call is cancelled. + * + * If you want to cancel a request on the server, throw a + * RpcError with the CANCELLED status code. */ - commitBlockList(blocks, options) { - return this.client.sendOperationRequest({ blocks, options }, commitBlockListOperationSpec); + get cancelled() { + return this._cancelled; } /** - * The Get Block List operation retrieves the list of blocks that have been uploaded as part of a block - * blob - * @param listType Specifies whether to return the list of committed blocks, the list of uncommitted - * blocks, or both lists together. - * @param options The options parameters. + * Add a callback for cancellation. */ - getBlockList(listType, options) { - return this.client.sendOperationRequest({ listType, options }, getBlockListOperationSpec); + onCancel(callback) { + const l = this._listeners; + l.push(callback); + return () => { + let i = l.indexOf(callback); + if (i >= 0) + l.splice(i, 1); + }; } }; - exports2.BlockBlobImpl = BlockBlobImpl; - var xmlSerializer = coreClient.createSerializer( - Mappers, - /* isXml */ - true - ); - var uploadOperationSpec = { - path: "/{containerName}/{blob}", - httpMethod: "PUT", - responses: { - 201: { - headersMapper: Mappers.BlockBlobUploadHeaders - }, - default: { - bodyMapper: Mappers.StorageError, - headersMapper: Mappers.BlockBlobUploadExceptionHeaders - } - }, - requestBody: Parameters.body1, - queryParameters: [Parameters.timeoutInSeconds], - urlParameters: [Parameters.url], - headerParameters: [ - Parameters.version, - Parameters.requestId, - Parameters.contentLength, - Parameters.metadata, - Parameters.leaseId, - Parameters.ifModifiedSince, - Parameters.ifUnmodifiedSince, - Parameters.encryptionKey, - Parameters.encryptionKeySha256, - Parameters.encryptionAlgorithm, - Parameters.ifMatch, - Parameters.ifNoneMatch, - Parameters.ifTags, - Parameters.blobCacheControl, - Parameters.blobContentType, - Parameters.blobContentMD5, - Parameters.blobContentEncoding, - Parameters.blobContentLanguage, - Parameters.blobContentDisposition, - Parameters.immutabilityPolicyExpiry, - Parameters.immutabilityPolicyMode, - Parameters.encryptionScope, - Parameters.tier, - Parameters.blobTagsString, - Parameters.legalHold1, - Parameters.transactionalContentMD5, - Parameters.transactionalContentCrc64, - Parameters.contentType1, - Parameters.accept2, - Parameters.blobType2 - ], - isXML: true, - contentType: "application/xml; charset=utf-8", - mediaType: "binary", - serializer: xmlSerializer - }; - var putBlobFromUrlOperationSpec = { - path: "/{containerName}/{blob}", - httpMethod: "PUT", - responses: { - 201: { - headersMapper: Mappers.BlockBlobPutBlobFromUrlHeaders - }, - default: { - bodyMapper: Mappers.StorageError, - headersMapper: Mappers.BlockBlobPutBlobFromUrlExceptionHeaders - } - }, - queryParameters: [Parameters.timeoutInSeconds], - urlParameters: [Parameters.url], - headerParameters: [ - Parameters.version, - Parameters.requestId, - Parameters.accept1, - Parameters.contentLength, - Parameters.metadata, - Parameters.leaseId, - Parameters.ifModifiedSince, - Parameters.ifUnmodifiedSince, - Parameters.encryptionKey, - Parameters.encryptionKeySha256, - Parameters.encryptionAlgorithm, - Parameters.ifMatch, - Parameters.ifNoneMatch, - Parameters.ifTags, - Parameters.blobCacheControl, - Parameters.blobContentType, - Parameters.blobContentMD5, - Parameters.blobContentEncoding, - Parameters.blobContentLanguage, - Parameters.blobContentDisposition, - Parameters.encryptionScope, - Parameters.tier, - Parameters.sourceIfModifiedSince, - Parameters.sourceIfUnmodifiedSince, - Parameters.sourceIfMatch, - Parameters.sourceIfNoneMatch, - Parameters.sourceIfTags, - Parameters.copySource, - Parameters.blobTagsString, - Parameters.sourceContentMD5, - Parameters.copySourceAuthorization, - Parameters.copySourceTags, - Parameters.fileRequestIntent, - Parameters.transactionalContentMD5, - Parameters.blobType2, - Parameters.copySourceBlobProperties - ], - isXML: true, - serializer: xmlSerializer - }; - var stageBlockOperationSpec = { - path: "/{containerName}/{blob}", - httpMethod: "PUT", - responses: { - 201: { - headersMapper: Mappers.BlockBlobStageBlockHeaders - }, - default: { - bodyMapper: Mappers.StorageError, - headersMapper: Mappers.BlockBlobStageBlockExceptionHeaders - } - }, - requestBody: Parameters.body1, - queryParameters: [ - Parameters.timeoutInSeconds, - Parameters.comp24, - Parameters.blockId - ], - urlParameters: [Parameters.url], - headerParameters: [ - Parameters.version, - Parameters.requestId, - Parameters.contentLength, - Parameters.leaseId, - Parameters.encryptionKey, - Parameters.encryptionKeySha256, - Parameters.encryptionAlgorithm, - Parameters.encryptionScope, - Parameters.transactionalContentMD5, - Parameters.transactionalContentCrc64, - Parameters.contentType1, - Parameters.accept2 - ], - isXML: true, - contentType: "application/xml; charset=utf-8", - mediaType: "binary", - serializer: xmlSerializer - }; - var stageBlockFromURLOperationSpec = { - path: "/{containerName}/{blob}", - httpMethod: "PUT", - responses: { - 201: { - headersMapper: Mappers.BlockBlobStageBlockFromURLHeaders - }, - default: { - bodyMapper: Mappers.StorageError, - headersMapper: Mappers.BlockBlobStageBlockFromURLExceptionHeaders - } - }, - queryParameters: [ - Parameters.timeoutInSeconds, - Parameters.comp24, - Parameters.blockId - ], - urlParameters: [Parameters.url], - headerParameters: [ - Parameters.version, - Parameters.requestId, - Parameters.accept1, - Parameters.contentLength, - Parameters.leaseId, - Parameters.encryptionKey, - Parameters.encryptionKeySha256, - Parameters.encryptionAlgorithm, - Parameters.encryptionScope, - Parameters.sourceIfModifiedSince, - Parameters.sourceIfUnmodifiedSince, - Parameters.sourceIfMatch, - Parameters.sourceIfNoneMatch, - Parameters.sourceContentMD5, - Parameters.copySourceAuthorization, - Parameters.fileRequestIntent, - Parameters.sourceUrl, - Parameters.sourceContentCrc64, - Parameters.sourceRange1 - ], - isXML: true, - serializer: xmlSerializer - }; - var commitBlockListOperationSpec = { - path: "/{containerName}/{blob}", - httpMethod: "PUT", - responses: { - 201: { - headersMapper: Mappers.BlockBlobCommitBlockListHeaders - }, - default: { - bodyMapper: Mappers.StorageError, - headersMapper: Mappers.BlockBlobCommitBlockListExceptionHeaders - } - }, - requestBody: Parameters.blocks, - queryParameters: [Parameters.timeoutInSeconds, Parameters.comp25], - urlParameters: [Parameters.url], - headerParameters: [ - Parameters.contentType, - Parameters.accept, - Parameters.version, - Parameters.requestId, - Parameters.metadata, - Parameters.leaseId, - Parameters.ifModifiedSince, - Parameters.ifUnmodifiedSince, - Parameters.encryptionKey, - Parameters.encryptionKeySha256, - Parameters.encryptionAlgorithm, - Parameters.ifMatch, - Parameters.ifNoneMatch, - Parameters.ifTags, - Parameters.blobCacheControl, - Parameters.blobContentType, - Parameters.blobContentMD5, - Parameters.blobContentEncoding, - Parameters.blobContentLanguage, - Parameters.blobContentDisposition, - Parameters.immutabilityPolicyExpiry, - Parameters.immutabilityPolicyMode, - Parameters.encryptionScope, - Parameters.tier, - Parameters.blobTagsString, - Parameters.legalHold1, - Parameters.transactionalContentMD5, - Parameters.transactionalContentCrc64 - ], - isXML: true, - contentType: "application/xml; charset=utf-8", - mediaType: "xml", - serializer: xmlSerializer - }; - var getBlockListOperationSpec = { - path: "/{containerName}/{blob}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.BlockList, - headersMapper: Mappers.BlockBlobGetBlockListHeaders - }, - default: { - bodyMapper: Mappers.StorageError, - headersMapper: Mappers.BlockBlobGetBlockListExceptionHeaders + exports2.ServerCallContextController = ServerCallContextController; + } +}); + +// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/index.js +var require_commonjs17 = __commonJS({ + "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/index.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + var service_type_1 = require_service_type(); + Object.defineProperty(exports2, "ServiceType", { enumerable: true, get: function() { + return service_type_1.ServiceType; + } }); + var reflection_info_1 = require_reflection_info2(); + Object.defineProperty(exports2, "readMethodOptions", { enumerable: true, get: function() { + return reflection_info_1.readMethodOptions; + } }); + Object.defineProperty(exports2, "readMethodOption", { enumerable: true, get: function() { + return reflection_info_1.readMethodOption; + } }); + Object.defineProperty(exports2, "readServiceOption", { enumerable: true, get: function() { + return reflection_info_1.readServiceOption; + } }); + var rpc_error_1 = require_rpc_error(); + Object.defineProperty(exports2, "RpcError", { enumerable: true, get: function() { + return rpc_error_1.RpcError; + } }); + var rpc_options_1 = require_rpc_options(); + Object.defineProperty(exports2, "mergeRpcOptions", { enumerable: true, get: function() { + return rpc_options_1.mergeRpcOptions; + } }); + var rpc_output_stream_1 = require_rpc_output_stream(); + Object.defineProperty(exports2, "RpcOutputStreamController", { enumerable: true, get: function() { + return rpc_output_stream_1.RpcOutputStreamController; + } }); + var test_transport_1 = require_test_transport(); + Object.defineProperty(exports2, "TestTransport", { enumerable: true, get: function() { + return test_transport_1.TestTransport; + } }); + var deferred_1 = require_deferred(); + Object.defineProperty(exports2, "Deferred", { enumerable: true, get: function() { + return deferred_1.Deferred; + } }); + Object.defineProperty(exports2, "DeferredState", { enumerable: true, get: function() { + return deferred_1.DeferredState; + } }); + var duplex_streaming_call_1 = require_duplex_streaming_call(); + Object.defineProperty(exports2, "DuplexStreamingCall", { enumerable: true, get: function() { + return duplex_streaming_call_1.DuplexStreamingCall; + } }); + var client_streaming_call_1 = require_client_streaming_call(); + Object.defineProperty(exports2, "ClientStreamingCall", { enumerable: true, get: function() { + return client_streaming_call_1.ClientStreamingCall; + } }); + var server_streaming_call_1 = require_server_streaming_call(); + Object.defineProperty(exports2, "ServerStreamingCall", { enumerable: true, get: function() { + return server_streaming_call_1.ServerStreamingCall; + } }); + var unary_call_1 = require_unary_call(); + Object.defineProperty(exports2, "UnaryCall", { enumerable: true, get: function() { + return unary_call_1.UnaryCall; + } }); + var rpc_interceptor_1 = require_rpc_interceptor(); + Object.defineProperty(exports2, "stackIntercept", { enumerable: true, get: function() { + return rpc_interceptor_1.stackIntercept; + } }); + Object.defineProperty(exports2, "stackDuplexStreamingInterceptors", { enumerable: true, get: function() { + return rpc_interceptor_1.stackDuplexStreamingInterceptors; + } }); + Object.defineProperty(exports2, "stackClientStreamingInterceptors", { enumerable: true, get: function() { + return rpc_interceptor_1.stackClientStreamingInterceptors; + } }); + Object.defineProperty(exports2, "stackServerStreamingInterceptors", { enumerable: true, get: function() { + return rpc_interceptor_1.stackServerStreamingInterceptors; + } }); + Object.defineProperty(exports2, "stackUnaryInterceptors", { enumerable: true, get: function() { + return rpc_interceptor_1.stackUnaryInterceptors; + } }); + var server_call_context_1 = require_server_call_context(); + Object.defineProperty(exports2, "ServerCallContextController", { enumerable: true, get: function() { + return server_call_context_1.ServerCallContextController; + } }); + } +}); + +// node_modules/@actions/cache/lib/generated/results/entities/v1/cachescope.js +var require_cachescope = __commonJS({ + "node_modules/@actions/cache/lib/generated/results/entities/v1/cachescope.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.CacheScope = void 0; + var runtime_1 = require_commonjs16(); + var runtime_2 = require_commonjs16(); + var runtime_3 = require_commonjs16(); + var runtime_4 = require_commonjs16(); + var runtime_5 = require_commonjs16(); + var CacheScope$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.entities.v1.CacheScope", [ + { + no: 1, + name: "scope", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 2, + name: "permission", + kind: "scalar", + T: 3 + /*ScalarType.INT64*/ + } + ]); + } + create(value) { + const message = { scope: "", permission: "0" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; + } + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* string scope */ + 1: + message.scope = reader.string(); + break; + case /* int64 permission */ + 2: + message.permission = reader.int64().toString(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } } - }, - queryParameters: [ - Parameters.timeoutInSeconds, - Parameters.snapshot, - Parameters.comp25, - Parameters.listType - ], - urlParameters: [Parameters.url], - headerParameters: [ - Parameters.version, - Parameters.requestId, - Parameters.accept1, - Parameters.leaseId, - Parameters.ifTags - ], - isXML: true, - serializer: xmlSerializer + return message; + } + internalBinaryWrite(message, writer, options) { + if (message.scope !== "") + writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.scope); + if (message.permission !== "0") + writer.tag(2, runtime_1.WireType.Varint).int64(message.permission); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; + } }; + exports2.CacheScope = new CacheScope$Type(); } }); -// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/index.js -var require_operations = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/index.js"(exports2) { +// node_modules/@actions/cache/lib/generated/results/entities/v1/cachemetadata.js +var require_cachemetadata = __commonJS({ + "node_modules/@actions/cache/lib/generated/results/entities/v1/cachemetadata.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_service(), exports2); - tslib_1.__exportStar(require_container(), exports2); - tslib_1.__exportStar(require_blob(), exports2); - tslib_1.__exportStar(require_pageBlob(), exports2); - tslib_1.__exportStar(require_appendBlob(), exports2); - tslib_1.__exportStar(require_blockBlob(), exports2); + exports2.CacheMetadata = void 0; + var runtime_1 = require_commonjs16(); + var runtime_2 = require_commonjs16(); + var runtime_3 = require_commonjs16(); + var runtime_4 = require_commonjs16(); + var runtime_5 = require_commonjs16(); + var cachescope_1 = require_cachescope(); + var CacheMetadata$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.entities.v1.CacheMetadata", [ + { + no: 1, + name: "repository_id", + kind: "scalar", + T: 3 + /*ScalarType.INT64*/ + }, + { no: 2, name: "scope", kind: "message", repeat: 1, T: () => cachescope_1.CacheScope } + ]); + } + create(value) { + const message = { repositoryId: "0", scope: [] }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; + } + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* int64 repository_id */ + 1: + message.repositoryId = reader.int64().toString(); + break; + case /* repeated github.actions.results.entities.v1.CacheScope scope */ + 2: + message.scope.push(cachescope_1.CacheScope.internalBinaryRead(reader, reader.uint32(), options)); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; + } + internalBinaryWrite(message, writer, options) { + if (message.repositoryId !== "0") + writer.tag(1, runtime_1.WireType.Varint).int64(message.repositoryId); + for (let i = 0; i < message.scope.length; i++) + cachescope_1.CacheScope.internalBinaryWrite(message.scope[i], writer.tag(2, runtime_1.WireType.LengthDelimited).fork(), options).join(); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; + } + }; + exports2.CacheMetadata = new CacheMetadata$Type(); } }); -// node_modules/@azure/storage-blob/dist/commonjs/generated/src/storageClient.js -var require_storageClient = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/generated/src/storageClient.js"(exports2) { +// node_modules/@actions/cache/lib/generated/results/api/v1/cache.js +var require_cache4 = __commonJS({ + "node_modules/@actions/cache/lib/generated/results/api/v1/cache.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.StorageClient = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var coreHttpCompat = tslib_1.__importStar(require_commonjs9()); - var index_js_1 = require_operations(); - var StorageClient = class extends coreHttpCompat.ExtendedServiceClient { - url; - version; - /** - * Initializes a new instance of the StorageClient class. - * @param url The URL of the service account, container, or blob that is the target of the desired - * operation. - * @param options The parameter options - */ - constructor(url, options) { - if (url === void 0) { - throw new Error("'url' cannot be null"); + exports2.CacheService = exports2.GetCacheEntryDownloadURLResponse = exports2.GetCacheEntryDownloadURLRequest = exports2.FinalizeCacheEntryUploadResponse = exports2.FinalizeCacheEntryUploadRequest = exports2.CreateCacheEntryResponse = exports2.CreateCacheEntryRequest = void 0; + var runtime_rpc_1 = require_commonjs17(); + var runtime_1 = require_commonjs16(); + var runtime_2 = require_commonjs16(); + var runtime_3 = require_commonjs16(); + var runtime_4 = require_commonjs16(); + var runtime_5 = require_commonjs16(); + var cachemetadata_1 = require_cachemetadata(); + var CreateCacheEntryRequest$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.CreateCacheEntryRequest", [ + { no: 1, name: "metadata", kind: "message", T: () => cachemetadata_1.CacheMetadata }, + { + no: 2, + name: "key", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 3, + name: "version", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + } + ]); + } + create(value) { + const message = { key: "", version: "" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; + } + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* github.actions.results.entities.v1.CacheMetadata metadata */ + 1: + message.metadata = cachemetadata_1.CacheMetadata.internalBinaryRead(reader, reader.uint32(), options, message.metadata); + break; + case /* string key */ + 2: + message.key = reader.string(); + break; + case /* string version */ + 3: + message.version = reader.string(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } } - if (!options) { - options = {}; + return message; + } + internalBinaryWrite(message, writer, options) { + if (message.metadata) + cachemetadata_1.CacheMetadata.internalBinaryWrite(message.metadata, writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join(); + if (message.key !== "") + writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.key); + if (message.version !== "") + writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.version); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; + } + }; + exports2.CreateCacheEntryRequest = new CreateCacheEntryRequest$Type(); + var CreateCacheEntryResponse$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.CreateCacheEntryResponse", [ + { + no: 1, + name: "ok", + kind: "scalar", + T: 8 + /*ScalarType.BOOL*/ + }, + { + no: 2, + name: "signed_upload_url", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 3, + name: "message", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + } + ]); + } + create(value) { + const message = { ok: false, signedUploadUrl: "", message: "" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; + } + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* bool ok */ + 1: + message.ok = reader.bool(); + break; + case /* string signed_upload_url */ + 2: + message.signedUploadUrl = reader.string(); + break; + case /* string message */ + 3: + message.message = reader.string(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } } - const defaults = { - requestContentType: "application/json; charset=utf-8" - }; - const packageDetails = `azsdk-js-azure-storage-blob/12.29.1`; - const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` : `${packageDetails}`; - const optionsWithDefaults = { - ...defaults, - ...options, - userAgentOptions: { - userAgentPrefix + return message; + } + internalBinaryWrite(message, writer, options) { + if (message.ok !== false) + writer.tag(1, runtime_1.WireType.Varint).bool(message.ok); + if (message.signedUploadUrl !== "") + writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl); + if (message.message !== "") + writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.message); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; + } + }; + exports2.CreateCacheEntryResponse = new CreateCacheEntryResponse$Type(); + var FinalizeCacheEntryUploadRequest$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.FinalizeCacheEntryUploadRequest", [ + { no: 1, name: "metadata", kind: "message", T: () => cachemetadata_1.CacheMetadata }, + { + no: 2, + name: "key", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ }, - endpoint: options.endpoint ?? options.baseUri ?? "{url}" - }; - super(optionsWithDefaults); - this.url = url; - this.version = options.version || "2025-11-05"; - this.service = new index_js_1.ServiceImpl(this); - this.container = new index_js_1.ContainerImpl(this); - this.blob = new index_js_1.BlobImpl(this); - this.pageBlob = new index_js_1.PageBlobImpl(this); - this.appendBlob = new index_js_1.AppendBlobImpl(this); - this.blockBlob = new index_js_1.BlockBlobImpl(this); + { + no: 3, + name: "size_bytes", + kind: "scalar", + T: 3 + /*ScalarType.INT64*/ + }, + { + no: 4, + name: "version", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + } + ]); + } + create(value) { + const message = { key: "", sizeBytes: "0", version: "" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; + } + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* github.actions.results.entities.v1.CacheMetadata metadata */ + 1: + message.metadata = cachemetadata_1.CacheMetadata.internalBinaryRead(reader, reader.uint32(), options, message.metadata); + break; + case /* string key */ + 2: + message.key = reader.string(); + break; + case /* int64 size_bytes */ + 3: + message.sizeBytes = reader.int64().toString(); + break; + case /* string version */ + 4: + message.version = reader.string(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; + } + internalBinaryWrite(message, writer, options) { + if (message.metadata) + cachemetadata_1.CacheMetadata.internalBinaryWrite(message.metadata, writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join(); + if (message.key !== "") + writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.key); + if (message.sizeBytes !== "0") + writer.tag(3, runtime_1.WireType.Varint).int64(message.sizeBytes); + if (message.version !== "") + writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.version); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } - service; - container; - blob; - pageBlob; - appendBlob; - blockBlob; }; - exports2.StorageClient = StorageClient; - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/service.js -var require_service2 = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/service.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/container.js -var require_container2 = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/container.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blob.js -var require_blob2 = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blob.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/pageBlob.js -var require_pageBlob2 = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/pageBlob.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/appendBlob.js -var require_appendBlob2 = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/appendBlob.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blockBlob.js -var require_blockBlob2 = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blockBlob.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/index.js -var require_operationsInterfaces = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_service2(), exports2); - tslib_1.__exportStar(require_container2(), exports2); - tslib_1.__exportStar(require_blob2(), exports2); - tslib_1.__exportStar(require_pageBlob2(), exports2); - tslib_1.__exportStar(require_appendBlob2(), exports2); - tslib_1.__exportStar(require_blockBlob2(), exports2); + exports2.FinalizeCacheEntryUploadRequest = new FinalizeCacheEntryUploadRequest$Type(); + var FinalizeCacheEntryUploadResponse$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.FinalizeCacheEntryUploadResponse", [ + { + no: 1, + name: "ok", + kind: "scalar", + T: 8 + /*ScalarType.BOOL*/ + }, + { + no: 2, + name: "entry_id", + kind: "scalar", + T: 3 + /*ScalarType.INT64*/ + }, + { + no: 3, + name: "message", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + } + ]); + } + create(value) { + const message = { ok: false, entryId: "0", message: "" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; + } + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* bool ok */ + 1: + message.ok = reader.bool(); + break; + case /* int64 entry_id */ + 2: + message.entryId = reader.int64().toString(); + break; + case /* string message */ + 3: + message.message = reader.string(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; + } + internalBinaryWrite(message, writer, options) { + if (message.ok !== false) + writer.tag(1, runtime_1.WireType.Varint).bool(message.ok); + if (message.entryId !== "0") + writer.tag(2, runtime_1.WireType.Varint).int64(message.entryId); + if (message.message !== "") + writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.message); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; + } + }; + exports2.FinalizeCacheEntryUploadResponse = new FinalizeCacheEntryUploadResponse$Type(); + var GetCacheEntryDownloadURLRequest$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.GetCacheEntryDownloadURLRequest", [ + { no: 1, name: "metadata", kind: "message", T: () => cachemetadata_1.CacheMetadata }, + { + no: 2, + name: "key", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 3, + name: "restore_keys", + kind: "scalar", + repeat: 2, + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 4, + name: "version", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + } + ]); + } + create(value) { + const message = { key: "", restoreKeys: [], version: "" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; + } + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* github.actions.results.entities.v1.CacheMetadata metadata */ + 1: + message.metadata = cachemetadata_1.CacheMetadata.internalBinaryRead(reader, reader.uint32(), options, message.metadata); + break; + case /* string key */ + 2: + message.key = reader.string(); + break; + case /* repeated string restore_keys */ + 3: + message.restoreKeys.push(reader.string()); + break; + case /* string version */ + 4: + message.version = reader.string(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; + } + internalBinaryWrite(message, writer, options) { + if (message.metadata) + cachemetadata_1.CacheMetadata.internalBinaryWrite(message.metadata, writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join(); + if (message.key !== "") + writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.key); + for (let i = 0; i < message.restoreKeys.length; i++) + writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.restoreKeys[i]); + if (message.version !== "") + writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.version); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; + } + }; + exports2.GetCacheEntryDownloadURLRequest = new GetCacheEntryDownloadURLRequest$Type(); + var GetCacheEntryDownloadURLResponse$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.GetCacheEntryDownloadURLResponse", [ + { + no: 1, + name: "ok", + kind: "scalar", + T: 8 + /*ScalarType.BOOL*/ + }, + { + no: 2, + name: "signed_download_url", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 3, + name: "matched_key", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + } + ]); + } + create(value) { + const message = { ok: false, signedDownloadUrl: "", matchedKey: "" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; + } + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* bool ok */ + 1: + message.ok = reader.bool(); + break; + case /* string signed_download_url */ + 2: + message.signedDownloadUrl = reader.string(); + break; + case /* string matched_key */ + 3: + message.matchedKey = reader.string(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; + } + internalBinaryWrite(message, writer, options) { + if (message.ok !== false) + writer.tag(1, runtime_1.WireType.Varint).bool(message.ok); + if (message.signedDownloadUrl !== "") + writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedDownloadUrl); + if (message.matchedKey !== "") + writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.matchedKey); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; + } + }; + exports2.GetCacheEntryDownloadURLResponse = new GetCacheEntryDownloadURLResponse$Type(); + exports2.CacheService = new runtime_rpc_1.ServiceType("github.actions.results.api.v1.CacheService", [ + { name: "CreateCacheEntry", options: {}, I: exports2.CreateCacheEntryRequest, O: exports2.CreateCacheEntryResponse }, + { name: "FinalizeCacheEntryUpload", options: {}, I: exports2.FinalizeCacheEntryUploadRequest, O: exports2.FinalizeCacheEntryUploadResponse }, + { name: "GetCacheEntryDownloadURL", options: {}, I: exports2.GetCacheEntryDownloadURLRequest, O: exports2.GetCacheEntryDownloadURLResponse } + ]); } }); -// node_modules/@azure/storage-blob/dist/commonjs/generated/src/index.js -var require_src2 = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/generated/src/index.js"(exports2) { +// node_modules/@actions/cache/lib/generated/results/api/v1/cache.twirp-client.js +var require_cache_twirp_client = __commonJS({ + "node_modules/@actions/cache/lib/generated/results/api/v1/cache.twirp-client.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.StorageClient = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_models(), exports2); - var storageClient_js_1 = require_storageClient(); - Object.defineProperty(exports2, "StorageClient", { enumerable: true, get: function() { - return storageClient_js_1.StorageClient; - } }); - tslib_1.__exportStar(require_operationsInterfaces(), exports2); + exports2.CacheServiceClientProtobuf = exports2.CacheServiceClientJSON = void 0; + var cache_1 = require_cache4(); + var CacheServiceClientJSON = class { + constructor(rpc) { + this.rpc = rpc; + this.CreateCacheEntry.bind(this); + this.FinalizeCacheEntryUpload.bind(this); + this.GetCacheEntryDownloadURL.bind(this); + } + CreateCacheEntry(request2) { + const data = cache_1.CreateCacheEntryRequest.toJson(request2, { + useProtoFieldName: true, + emitDefaultValues: false + }); + const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "CreateCacheEntry", "application/json", data); + return promise.then((data2) => cache_1.CreateCacheEntryResponse.fromJson(data2, { + ignoreUnknownFields: true + })); + } + FinalizeCacheEntryUpload(request2) { + const data = cache_1.FinalizeCacheEntryUploadRequest.toJson(request2, { + useProtoFieldName: true, + emitDefaultValues: false + }); + const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "FinalizeCacheEntryUpload", "application/json", data); + return promise.then((data2) => cache_1.FinalizeCacheEntryUploadResponse.fromJson(data2, { + ignoreUnknownFields: true + })); + } + GetCacheEntryDownloadURL(request2) { + const data = cache_1.GetCacheEntryDownloadURLRequest.toJson(request2, { + useProtoFieldName: true, + emitDefaultValues: false + }); + const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "GetCacheEntryDownloadURL", "application/json", data); + return promise.then((data2) => cache_1.GetCacheEntryDownloadURLResponse.fromJson(data2, { + ignoreUnknownFields: true + })); + } + }; + exports2.CacheServiceClientJSON = CacheServiceClientJSON; + var CacheServiceClientProtobuf = class { + constructor(rpc) { + this.rpc = rpc; + this.CreateCacheEntry.bind(this); + this.FinalizeCacheEntryUpload.bind(this); + this.GetCacheEntryDownloadURL.bind(this); + } + CreateCacheEntry(request2) { + const data = cache_1.CreateCacheEntryRequest.toBinary(request2); + const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "CreateCacheEntry", "application/protobuf", data); + return promise.then((data2) => cache_1.CreateCacheEntryResponse.fromBinary(data2)); + } + FinalizeCacheEntryUpload(request2) { + const data = cache_1.FinalizeCacheEntryUploadRequest.toBinary(request2); + const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "FinalizeCacheEntryUpload", "application/protobuf", data); + return promise.then((data2) => cache_1.FinalizeCacheEntryUploadResponse.fromBinary(data2)); + } + GetCacheEntryDownloadURL(request2) { + const data = cache_1.GetCacheEntryDownloadURLRequest.toBinary(request2); + const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "GetCacheEntryDownloadURL", "application/protobuf", data); + return promise.then((data2) => cache_1.GetCacheEntryDownloadURLResponse.fromBinary(data2)); + } + }; + exports2.CacheServiceClientProtobuf = CacheServiceClientProtobuf; } }); -// node_modules/@azure/storage-blob/dist/commonjs/StorageContextClient.js -var require_StorageContextClient = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/StorageContextClient.js"(exports2) { +// node_modules/@actions/cache/lib/internal/shared/util.js +var require_util18 = __commonJS({ + "node_modules/@actions/cache/lib/internal/shared/util.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.StorageContextClient = void 0; - var index_js_1 = require_src2(); - var StorageContextClient = class extends index_js_1.StorageClient { - async sendOperationRequest(operationArguments, operationSpec) { - const operationSpecToSend = { ...operationSpec }; - if (operationSpecToSend.path === "/{containerName}" || operationSpecToSend.path === "/{containerName}/{blob}") { - operationSpecToSend.path = ""; + exports2.maskSigUrl = maskSigUrl; + exports2.maskSecretUrls = maskSecretUrls; + var core_1 = require_core(); + function maskSigUrl(url) { + if (!url) + return; + try { + const parsedUrl = new URL(url); + const signature = parsedUrl.searchParams.get("sig"); + if (signature) { + (0, core_1.setSecret)(signature); + (0, core_1.setSecret)(encodeURIComponent(signature)); } - return super.sendOperationRequest(operationArguments, operationSpecToSend); + } catch (error3) { + (0, core_1.debug)(`Failed to parse URL: ${url} ${error3 instanceof Error ? error3.message : String(error3)}`); } - }; - exports2.StorageContextClient = StorageContextClient; + } + function maskSecretUrls(body) { + if (typeof body !== "object" || body === null) { + (0, core_1.debug)("body is not an object or is null"); + return; + } + if ("signed_upload_url" in body && typeof body.signed_upload_url === "string") { + maskSigUrl(body.signed_upload_url); + } + if ("signed_download_url" in body && typeof body.signed_download_url === "string") { + maskSigUrl(body.signed_download_url); + } + } } }); -// node_modules/@azure/storage-blob/dist/commonjs/StorageClient.js -var require_StorageClient = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/StorageClient.js"(exports2) { +// node_modules/@actions/cache/lib/internal/shared/cacheTwirpClient.js +var require_cacheTwirpClient = __commonJS({ + "node_modules/@actions/cache/lib/internal/shared/cacheTwirpClient.js"(exports2) { "use strict"; + var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve5) { + resolve5(value); + }); + } + return new (P || (P = Promise))(function(resolve5, 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 ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.StorageClient = void 0; - var StorageContextClient_js_1 = require_StorageContextClient(); - var Pipeline_js_1 = require_Pipeline(); - var utils_common_js_1 = require_utils_common(); - var StorageClient = class { - /** - * Encoded URL string value. - */ - url; - accountName; - /** - * Request policy pipeline. - * - * @internal - */ - pipeline; - /** - * Such as AnonymousCredential, StorageSharedKeyCredential or any credential from the `@azure/identity` package to authenticate requests to the service. You can also provide an object that implements the TokenCredential interface. If not specified, AnonymousCredential is used. - */ - credential; - /** - * StorageClient is a reference to protocol layer operations entry, which is - * generated by AutoRest generator. - */ - storageClientContext; - /** - */ - isHttps; - /** - * Creates an instance of StorageClient. - * @param url - url to resource - * @param pipeline - request policy pipeline. - */ - constructor(url, pipeline) { - this.url = (0, utils_common_js_1.escapeURLPath)(url); - this.accountName = (0, utils_common_js_1.getAccountNameFromUrl)(url); - this.pipeline = pipeline; - this.storageClientContext = new StorageContextClient_js_1.StorageContextClient(this.url, (0, Pipeline_js_1.getCoreClientOptions)(pipeline)); - this.isHttps = (0, utils_common_js_1.iEqual)((0, utils_common_js_1.getURLScheme)(this.url) || "", "https"); - this.credential = (0, Pipeline_js_1.getCredentialFromPipeline)(pipeline); - const storageClientContext = this.storageClientContext; - storageClientContext.requestContentType = void 0; + exports2.internalCacheTwirpClient = internalCacheTwirpClient; + var core_1 = require_core(); + var user_agent_1 = require_user_agent(); + var errors_1 = require_errors3(); + var config_1 = require_config(); + var cacheUtils_1 = require_cacheUtils(); + var auth_1 = require_auth(); + var http_client_1 = require_lib(); + var cache_twirp_client_1 = require_cache_twirp_client(); + var util_1 = require_util18(); + var CacheServiceClient = class { + constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) { + this.maxAttempts = 5; + this.baseRetryIntervalMilliseconds = 3e3; + this.retryMultiplier = 1.5; + const token = (0, cacheUtils_1.getRuntimeToken)(); + this.baseUrl = (0, config_1.getCacheServiceURL)(); + if (maxAttempts) { + this.maxAttempts = maxAttempts; + } + if (baseRetryIntervalMilliseconds) { + this.baseRetryIntervalMilliseconds = baseRetryIntervalMilliseconds; + } + if (retryMultiplier) { + this.retryMultiplier = retryMultiplier; + } + this.httpClient = new http_client_1.HttpClient(userAgent2, [ + new auth_1.BearerCredentialHandler(token) + ]); + } + // This function satisfies the Rpc interface. It is compatible with the JSON + // JSON generated client. + request(service, method, contentType, data) { + return __awaiter2(this, void 0, void 0, function* () { + const url = new URL(`/twirp/${service}/${method}`, this.baseUrl).href; + (0, core_1.debug)(`[Request] ${method} ${url}`); + const headers = { + "Content-Type": contentType + }; + try { + const { body } = yield this.retryableRequest(() => __awaiter2(this, void 0, void 0, function* () { + return this.httpClient.post(url, JSON.stringify(data), headers); + })); + return body; + } catch (error3) { + throw new Error(`Failed to ${method}: ${error3.message}`); + } + }); + } + retryableRequest(operation) { + return __awaiter2(this, void 0, void 0, function* () { + let attempt = 0; + let errorMessage = ""; + let rawBody = ""; + while (attempt < this.maxAttempts) { + let isRetryable = false; + try { + const response = yield operation(); + const statusCode = response.message.statusCode; + rawBody = yield response.readBody(); + (0, core_1.debug)(`[Response] - ${response.message.statusCode}`); + (0, core_1.debug)(`Headers: ${JSON.stringify(response.message.headers, null, 2)}`); + const body = JSON.parse(rawBody); + (0, util_1.maskSecretUrls)(body); + (0, core_1.debug)(`Body: ${JSON.stringify(body, null, 2)}`); + if (this.isSuccessStatusCode(statusCode)) { + return { response, body }; + } + isRetryable = this.isRetryableHttpStatusCode(statusCode); + errorMessage = `Failed request: (${statusCode}) ${response.message.statusMessage}`; + if (body.msg) { + if (errors_1.UsageError.isUsageErrorMessage(body.msg)) { + throw new errors_1.UsageError(); + } + errorMessage = `${errorMessage}: ${body.msg}`; + } + if (statusCode === http_client_1.HttpCodes.TooManyRequests) { + const retryAfterHeader = response.message.headers["retry-after"]; + if (retryAfterHeader) { + const parsedSeconds = parseInt(retryAfterHeader, 10); + if (!isNaN(parsedSeconds) && parsedSeconds > 0) { + (0, core_1.warning)(`You've hit a rate limit, your rate limit will reset in ${parsedSeconds} seconds`); + } + } + throw new errors_1.RateLimitError(`Rate limited: ${errorMessage}`); + } + } catch (error3) { + if (error3 instanceof SyntaxError) { + (0, core_1.debug)(`Raw Body: ${rawBody}`); + } + if (error3 instanceof errors_1.UsageError) { + throw error3; + } + if (error3 instanceof errors_1.RateLimitError) { + throw error3; + } + if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) { + throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code); + } + isRetryable = true; + errorMessage = error3.message; + } + if (!isRetryable) { + throw new Error(`Received non-retryable error: ${errorMessage}`); + } + if (attempt + 1 === this.maxAttempts) { + throw new Error(`Failed to make request after ${this.maxAttempts} attempts: ${errorMessage}`); + } + const retryTimeMilliseconds = this.getExponentialRetryTimeMilliseconds(attempt); + (0, core_1.info)(`Attempt ${attempt + 1} of ${this.maxAttempts} failed with error: ${errorMessage}. Retrying request in ${retryTimeMilliseconds} ms...`); + yield this.sleep(retryTimeMilliseconds); + attempt++; + } + throw new Error(`Request failed`); + }); + } + isSuccessStatusCode(statusCode) { + if (!statusCode) + return false; + return statusCode >= 200 && statusCode < 300; + } + isRetryableHttpStatusCode(statusCode) { + if (!statusCode) + return false; + const retryableStatusCodes = [ + http_client_1.HttpCodes.BadGateway, + http_client_1.HttpCodes.GatewayTimeout, + http_client_1.HttpCodes.InternalServerError, + http_client_1.HttpCodes.ServiceUnavailable + ]; + return retryableStatusCodes.includes(statusCode); + } + sleep(milliseconds) { + return __awaiter2(this, void 0, void 0, function* () { + return new Promise((resolve5) => setTimeout(resolve5, milliseconds)); + }); + } + getExponentialRetryTimeMilliseconds(attempt) { + if (attempt < 0) { + throw new Error("attempt should be a positive integer"); + } + if (attempt === 0) { + return this.baseRetryIntervalMilliseconds; + } + const minTime = this.baseRetryIntervalMilliseconds * Math.pow(this.retryMultiplier, attempt); + const maxTime = minTime * this.retryMultiplier; + return Math.trunc(Math.random() * (maxTime - minTime) + minTime); } }; - exports2.StorageClient = StorageClient; + function internalCacheTwirpClient(options) { + const client = new CacheServiceClient((0, user_agent_1.getUserAgentString)(), options === null || options === void 0 ? void 0 : options.maxAttempts, options === null || options === void 0 ? void 0 : options.retryIntervalMs, options === null || options === void 0 ? void 0 : options.retryMultiplier); + return new cache_twirp_client_1.CacheServiceClientJSON(client); + } } }); -// node_modules/@azure/storage-blob/dist/commonjs/utils/tracing.js -var require_tracing = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/utils/tracing.js"(exports2) { +// node_modules/@actions/cache/lib/internal/tar.js +var require_tar = __commonJS({ + "node_modules/@actions/cache/lib/internal/tar.js"(exports2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.tracingClient = void 0; - var core_tracing_1 = require_commonjs5(); - var constants_js_1 = require_constants15(); - exports2.tracingClient = (0, core_tracing_1.createTracingClient)({ - packageName: "@azure/storage-blob", - packageVersion: constants_js_1.SDK_VERSION, - namespace: "Microsoft.Storage" + var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; }); + var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() { + var ownKeys2 = function(o) { + ownKeys2 = 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 ownKeys2(o); + }; + return function(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) { + for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]); + } + __setModuleDefault2(result, mod); + return result; + }; + })(); + var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve5) { + resolve5(value); + }); + } + return new (P || (P = Promise))(function(resolve5, 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 ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.listTar = listTar; + exports2.extractTar = extractTar2; + exports2.createTar = createTar; + var exec_1 = require_exec(); + var io6 = __importStar2(require_io()); + var fs_1 = require("fs"); + var path7 = __importStar2(require("path")); + var utils = __importStar2(require_cacheUtils()); + var constants_1 = require_constants12(); + var IS_WINDOWS = process.platform === "win32"; + function getTarPath() { + return __awaiter2(this, void 0, void 0, function* () { + switch (process.platform) { + case "win32": { + const gnuTar = yield utils.getGnuTarPathOnWindows(); + const systemTar = constants_1.SystemTarPathOnWindows; + if (gnuTar) { + return { path: gnuTar, type: constants_1.ArchiveToolType.GNU }; + } else if ((0, fs_1.existsSync)(systemTar)) { + return { path: systemTar, type: constants_1.ArchiveToolType.BSD }; + } + break; + } + case "darwin": { + const gnuTar = yield io6.which("gtar", false); + if (gnuTar) { + return { path: gnuTar, type: constants_1.ArchiveToolType.GNU }; + } else { + return { + path: yield io6.which("tar", true), + type: constants_1.ArchiveToolType.BSD + }; + } + } + default: + break; + } + return { + path: yield io6.which("tar", true), + type: constants_1.ArchiveToolType.GNU + }; + }); + } + function getTarArgs(tarPath_1, compressionMethod_1, type_1) { + return __awaiter2(this, arguments, void 0, function* (tarPath, compressionMethod, type2, archivePath = "") { + const args = [`"${tarPath.path}"`]; + const cacheFileName = utils.getCacheFileName(compressionMethod); + const tarFile = "cache.tar"; + const workingDirectory = getWorkingDirectory(); + const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS; + switch (type2) { + case "create": + args.push("--posix", "-cf", BSD_TAR_ZSTD ? tarFile : cacheFileName.replace(new RegExp(`\\${path7.sep}`, "g"), "/"), "--exclude", BSD_TAR_ZSTD ? tarFile : cacheFileName.replace(new RegExp(`\\${path7.sep}`, "g"), "/"), "-P", "-C", workingDirectory.replace(new RegExp(`\\${path7.sep}`, "g"), "/"), "--files-from", constants_1.ManifestFilename); + break; + case "extract": + args.push("-xf", BSD_TAR_ZSTD ? tarFile : archivePath.replace(new RegExp(`\\${path7.sep}`, "g"), "/"), "-P", "-C", workingDirectory.replace(new RegExp(`\\${path7.sep}`, "g"), "/")); + break; + case "list": + args.push("-tf", BSD_TAR_ZSTD ? tarFile : archivePath.replace(new RegExp(`\\${path7.sep}`, "g"), "/"), "-P"); + break; + } + if (tarPath.type === constants_1.ArchiveToolType.GNU) { + switch (process.platform) { + case "win32": + args.push("--force-local"); + break; + case "darwin": + args.push("--delay-directory-restore"); + break; + } + } + return args; + }); + } + function getCommands(compressionMethod_1, type_1) { + return __awaiter2(this, arguments, void 0, function* (compressionMethod, type2, archivePath = "") { + let args; + const tarPath = yield getTarPath(); + const tarArgs = yield getTarArgs(tarPath, compressionMethod, type2, archivePath); + const compressionArgs = type2 !== "create" ? yield getDecompressionProgram(tarPath, compressionMethod, archivePath) : yield getCompressionProgram(tarPath, compressionMethod); + const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS; + if (BSD_TAR_ZSTD && type2 !== "create") { + args = [[...compressionArgs].join(" "), [...tarArgs].join(" ")]; + } else { + args = [[...tarArgs].join(" "), [...compressionArgs].join(" ")]; + } + if (BSD_TAR_ZSTD) { + return args; + } + return [args.join(" ")]; + }); + } + function getWorkingDirectory() { + var _a; + return (_a = process.env["GITHUB_WORKSPACE"]) !== null && _a !== void 0 ? _a : process.cwd(); + } + function getDecompressionProgram(tarPath, compressionMethod, archivePath) { + return __awaiter2(this, void 0, void 0, function* () { + const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS; + switch (compressionMethod) { + case constants_1.CompressionMethod.Zstd: + return BSD_TAR_ZSTD ? [ + "zstd -d --long=30 --force -o", + constants_1.TarFilename, + archivePath.replace(new RegExp(`\\${path7.sep}`, "g"), "/") + ] : [ + "--use-compress-program", + IS_WINDOWS ? '"zstd -d --long=30"' : "unzstd --long=30" + ]; + case constants_1.CompressionMethod.ZstdWithoutLong: + return BSD_TAR_ZSTD ? [ + "zstd -d --force -o", + constants_1.TarFilename, + archivePath.replace(new RegExp(`\\${path7.sep}`, "g"), "/") + ] : ["--use-compress-program", IS_WINDOWS ? '"zstd -d"' : "unzstd"]; + default: + return ["-z"]; + } + }); + } + function getCompressionProgram(tarPath, compressionMethod) { + return __awaiter2(this, void 0, void 0, function* () { + const cacheFileName = utils.getCacheFileName(compressionMethod); + const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS; + switch (compressionMethod) { + case constants_1.CompressionMethod.Zstd: + return BSD_TAR_ZSTD ? [ + "zstd -T0 --long=30 --force -o", + cacheFileName.replace(new RegExp(`\\${path7.sep}`, "g"), "/"), + constants_1.TarFilename + ] : [ + "--use-compress-program", + IS_WINDOWS ? '"zstd -T0 --long=30"' : "zstdmt --long=30" + ]; + case constants_1.CompressionMethod.ZstdWithoutLong: + return BSD_TAR_ZSTD ? [ + "zstd -T0 --force -o", + cacheFileName.replace(new RegExp(`\\${path7.sep}`, "g"), "/"), + constants_1.TarFilename + ] : ["--use-compress-program", IS_WINDOWS ? '"zstd -T0"' : "zstdmt"]; + default: + return ["-z"]; + } + }); + } + function execCommands(commands, cwd) { + return __awaiter2(this, void 0, void 0, function* () { + for (const command of commands) { + try { + yield (0, exec_1.exec)(command, void 0, { + cwd, + env: Object.assign(Object.assign({}, process.env), { MSYS: "winsymlinks:nativestrict" }) + }); + } catch (error3) { + throw new Error(`${command.split(" ")[0]} failed with error: ${error3 === null || error3 === void 0 ? void 0 : error3.message}`); + } + } + }); + } + function listTar(archivePath, compressionMethod) { + return __awaiter2(this, void 0, void 0, function* () { + const commands = yield getCommands(compressionMethod, "list", archivePath); + yield execCommands(commands); + }); + } + function extractTar2(archivePath, compressionMethod) { + return __awaiter2(this, void 0, void 0, function* () { + const workingDirectory = getWorkingDirectory(); + yield io6.mkdirP(workingDirectory); + const commands = yield getCommands(compressionMethod, "extract", archivePath); + yield execCommands(commands); + }); + } + function createTar(archiveFolder, sourceDirectories, compressionMethod) { + return __awaiter2(this, void 0, void 0, function* () { + (0, fs_1.writeFileSync)(path7.join(archiveFolder, constants_1.ManifestFilename), sourceDirectories.join("\n")); + const commands = yield getCommands(compressionMethod, "create"); + yield execCommands(commands, archiveFolder); + }); + } } }); -// node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASPermissions.js -var require_BlobSASPermissions = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASPermissions.js"(exports2) { +// node_modules/@actions/cache/lib/cache.js +var require_cache5 = __commonJS({ + "node_modules/@actions/cache/lib/cache.js"(exports2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.BlobSASPermissions = void 0; - var BlobSASPermissions = class _BlobSASPermissions { - /** - * Creates a {@link BlobSASPermissions} from the specified permissions string. This method will throw an - * Error if it encounters a character that does not correspond to a valid permission. - * - * @param permissions - - */ - static parse(permissions) { - const blobSASPermissions = new _BlobSASPermissions(); - for (const char of permissions) { - switch (char) { - case "r": - blobSASPermissions.read = true; - break; - case "a": - blobSASPermissions.add = true; - break; - case "c": - blobSASPermissions.create = true; - break; - case "w": - blobSASPermissions.write = true; - break; - case "d": - blobSASPermissions.delete = true; - break; - case "x": - blobSASPermissions.deleteVersion = true; - break; - case "t": - blobSASPermissions.tag = true; - break; - case "m": - blobSASPermissions.move = true; - break; - case "e": - blobSASPermissions.execute = true; - break; - case "i": - blobSASPermissions.setImmutabilityPolicy = true; - break; - case "y": - blobSASPermissions.permanentDelete = true; - break; - default: - throw new RangeError(`Invalid permission: ${char}`); + var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }); + var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() { + var ownKeys2 = function(o) { + ownKeys2 = 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 ownKeys2(o); + }; + return function(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) { + for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]); + } + __setModuleDefault2(result, mod); + return result; + }; + })(); + var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve5) { + resolve5(value); + }); + } + return new (P || (P = Promise))(function(resolve5, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); } } - return blobSASPermissions; + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.FinalizeCacheError = exports2.ReserveCacheError = exports2.ValidationError = void 0; + exports2.isFeatureAvailable = isFeatureAvailable; + exports2.restoreCache = restoreCache4; + exports2.saveCache = saveCache4; + var core14 = __importStar2(require_core()); + var path7 = __importStar2(require("path")); + var utils = __importStar2(require_cacheUtils()); + var cacheHttpClient = __importStar2(require_cacheHttpClient()); + var cacheTwirpClient = __importStar2(require_cacheTwirpClient()); + var config_1 = require_config(); + var tar_1 = require_tar(); + var http_client_1 = require_lib(); + var ValidationError = class _ValidationError extends Error { + constructor(message) { + super(message); + this.name = "ValidationError"; + Object.setPrototypeOf(this, _ValidationError.prototype); } - /** - * Creates a {@link BlobSASPermissions} from a raw object which contains same keys as it - * and boolean values for them. - * - * @param permissionLike - - */ - static from(permissionLike) { - const blobSASPermissions = new _BlobSASPermissions(); - if (permissionLike.read) { - blobSASPermissions.read = true; + }; + exports2.ValidationError = ValidationError; + var ReserveCacheError2 = class _ReserveCacheError extends Error { + constructor(message) { + super(message); + this.name = "ReserveCacheError"; + Object.setPrototypeOf(this, _ReserveCacheError.prototype); + } + }; + exports2.ReserveCacheError = ReserveCacheError2; + var FinalizeCacheError = class _FinalizeCacheError extends Error { + constructor(message) { + super(message); + this.name = "FinalizeCacheError"; + Object.setPrototypeOf(this, _FinalizeCacheError.prototype); + } + }; + exports2.FinalizeCacheError = FinalizeCacheError; + function checkPaths(paths) { + if (!paths || paths.length === 0) { + throw new ValidationError(`Path Validation Error: At least one directory or file path is required`); + } + } + function checkKey(key) { + if (key.length > 512) { + throw new ValidationError(`Key Validation Error: ${key} cannot be larger than 512 characters.`); + } + const regex = /^[^,]*$/; + if (!regex.test(key)) { + throw new ValidationError(`Key Validation Error: ${key} cannot contain commas.`); + } + } + function isFeatureAvailable() { + const cacheServiceVersion = (0, config_1.getCacheServiceVersion)(); + switch (cacheServiceVersion) { + case "v2": + return !!process.env["ACTIONS_RESULTS_URL"]; + case "v1": + default: + return !!process.env["ACTIONS_CACHE_URL"]; + } + } + function restoreCache4(paths_1, primaryKey_1, restoreKeys_1, options_1) { + return __awaiter2(this, arguments, void 0, function* (paths, primaryKey, restoreKeys, options, enableCrossOsArchive = false) { + const cacheServiceVersion = (0, config_1.getCacheServiceVersion)(); + core14.debug(`Cache service version: ${cacheServiceVersion}`); + checkPaths(paths); + switch (cacheServiceVersion) { + case "v2": + return yield restoreCacheV2(paths, primaryKey, restoreKeys, options, enableCrossOsArchive); + case "v1": + default: + return yield restoreCacheV1(paths, primaryKey, restoreKeys, options, enableCrossOsArchive); } - if (permissionLike.add) { - blobSASPermissions.add = true; + }); + } + function restoreCacheV1(paths_1, primaryKey_1, restoreKeys_1, options_1) { + return __awaiter2(this, arguments, void 0, function* (paths, primaryKey, restoreKeys, options, enableCrossOsArchive = false) { + restoreKeys = restoreKeys || []; + const keys = [primaryKey, ...restoreKeys]; + core14.debug("Resolved Keys:"); + core14.debug(JSON.stringify(keys)); + if (keys.length > 10) { + throw new ValidationError(`Key Validation Error: Keys are limited to a maximum of 10.`); } - if (permissionLike.create) { - blobSASPermissions.create = true; + for (const key of keys) { + checkKey(key); } - if (permissionLike.write) { - blobSASPermissions.write = true; + const compressionMethod = yield utils.getCompressionMethod(); + let archivePath = ""; + try { + const cacheEntry = yield cacheHttpClient.getCacheEntry(keys, paths, { + compressionMethod, + enableCrossOsArchive + }); + if (!(cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.archiveLocation)) { + return void 0; + } + if (options === null || options === void 0 ? void 0 : options.lookupOnly) { + core14.info("Lookup only - skipping download"); + return cacheEntry.cacheKey; + } + archivePath = path7.join(yield utils.createTempDirectory(), utils.getCacheFileName(compressionMethod)); + core14.debug(`Archive Path: ${archivePath}`); + yield cacheHttpClient.downloadCache(cacheEntry.archiveLocation, archivePath, options); + if (core14.isDebug()) { + yield (0, tar_1.listTar)(archivePath, compressionMethod); + } + const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath); + core14.info(`Cache Size: ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B)`); + yield (0, tar_1.extractTar)(archivePath, compressionMethod); + core14.info("Cache restored successfully"); + return cacheEntry.cacheKey; + } catch (error3) { + const typedError = error3; + if (typedError.name === ValidationError.name) { + throw error3; + } else { + if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) { + core14.error(`Failed to restore: ${error3.message}`); + } else { + core14.warning(`Failed to restore: ${error3.message}`); + } + } + } finally { + try { + yield utils.unlinkFile(archivePath); + } catch (error3) { + core14.debug(`Failed to delete archive: ${error3}`); + } } - if (permissionLike.delete) { - blobSASPermissions.delete = true; + return void 0; + }); + } + function restoreCacheV2(paths_1, primaryKey_1, restoreKeys_1, options_1) { + return __awaiter2(this, arguments, void 0, function* (paths, primaryKey, restoreKeys, options, enableCrossOsArchive = false) { + options = Object.assign(Object.assign({}, options), { useAzureSdk: true }); + restoreKeys = restoreKeys || []; + const keys = [primaryKey, ...restoreKeys]; + core14.debug("Resolved Keys:"); + core14.debug(JSON.stringify(keys)); + if (keys.length > 10) { + throw new ValidationError(`Key Validation Error: Keys are limited to a maximum of 10.`); } - if (permissionLike.deleteVersion) { - blobSASPermissions.deleteVersion = true; + for (const key of keys) { + checkKey(key); } - if (permissionLike.tag) { - blobSASPermissions.tag = true; + let archivePath = ""; + try { + const twirpClient = cacheTwirpClient.internalCacheTwirpClient(); + const compressionMethod = yield utils.getCompressionMethod(); + const request2 = { + key: primaryKey, + restoreKeys, + version: utils.getCacheVersion(paths, compressionMethod, enableCrossOsArchive) + }; + const response = yield twirpClient.GetCacheEntryDownloadURL(request2); + if (!response.ok) { + core14.debug(`Cache not found for version ${request2.version} of keys: ${keys.join(", ")}`); + return void 0; + } + const isRestoreKeyMatch = request2.key !== response.matchedKey; + if (isRestoreKeyMatch) { + core14.info(`Cache hit for restore-key: ${response.matchedKey}`); + } else { + core14.info(`Cache hit for: ${response.matchedKey}`); + } + if (options === null || options === void 0 ? void 0 : options.lookupOnly) { + core14.info("Lookup only - skipping download"); + return response.matchedKey; + } + archivePath = path7.join(yield utils.createTempDirectory(), utils.getCacheFileName(compressionMethod)); + core14.debug(`Archive path: ${archivePath}`); + core14.debug(`Starting download of archive to: ${archivePath}`); + yield cacheHttpClient.downloadCache(response.signedDownloadUrl, archivePath, options); + const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath); + core14.info(`Cache Size: ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B)`); + if (core14.isDebug()) { + yield (0, tar_1.listTar)(archivePath, compressionMethod); + } + yield (0, tar_1.extractTar)(archivePath, compressionMethod); + core14.info("Cache restored successfully"); + return response.matchedKey; + } catch (error3) { + const typedError = error3; + if (typedError.name === ValidationError.name) { + throw error3; + } else { + if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) { + core14.error(`Failed to restore: ${error3.message}`); + } else { + core14.warning(`Failed to restore: ${error3.message}`); + } + } + } finally { + try { + if (archivePath) { + yield utils.unlinkFile(archivePath); + } + } catch (error3) { + core14.debug(`Failed to delete archive: ${error3}`); + } } - if (permissionLike.move) { - blobSASPermissions.move = true; + return void 0; + }); + } + function saveCache4(paths_1, key_1, options_1) { + return __awaiter2(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) { + const cacheServiceVersion = (0, config_1.getCacheServiceVersion)(); + core14.debug(`Cache service version: ${cacheServiceVersion}`); + checkPaths(paths); + checkKey(key); + switch (cacheServiceVersion) { + case "v2": + return yield saveCacheV2(paths, key, options, enableCrossOsArchive); + case "v1": + default: + return yield saveCacheV1(paths, key, options, enableCrossOsArchive); } - if (permissionLike.execute) { - blobSASPermissions.execute = true; + }); + } + function saveCacheV1(paths_1, key_1, options_1) { + return __awaiter2(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) { + var _a, _b, _c, _d, _e; + const compressionMethod = yield utils.getCompressionMethod(); + let cacheId = -1; + const cachePaths = yield utils.resolvePaths(paths); + core14.debug("Cache Paths:"); + core14.debug(`${JSON.stringify(cachePaths)}`); + if (cachePaths.length === 0) { + throw new Error(`Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved.`); } - if (permissionLike.setImmutabilityPolicy) { - blobSASPermissions.setImmutabilityPolicy = true; + const archiveFolder = yield utils.createTempDirectory(); + const archivePath = path7.join(archiveFolder, utils.getCacheFileName(compressionMethod)); + core14.debug(`Archive Path: ${archivePath}`); + try { + yield (0, tar_1.createTar)(archiveFolder, cachePaths, compressionMethod); + if (core14.isDebug()) { + yield (0, tar_1.listTar)(archivePath, compressionMethod); + } + const fileSizeLimit = 10 * 1024 * 1024 * 1024; + const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath); + core14.debug(`File Size: ${archiveFileSize}`); + if (archiveFileSize > fileSizeLimit && !(0, config_1.isGhes)()) { + throw new Error(`Cache size of ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B) is over the 10GB limit, not saving cache.`); + } + core14.debug("Reserving Cache"); + const reserveCacheResponse = yield cacheHttpClient.reserveCache(key, paths, { + compressionMethod, + enableCrossOsArchive, + cacheSize: archiveFileSize + }); + if ((_a = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.result) === null || _a === void 0 ? void 0 : _a.cacheId) { + cacheId = (_b = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.result) === null || _b === void 0 ? void 0 : _b.cacheId; + } else if ((reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.statusCode) === 400) { + throw new Error((_d = (_c = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.error) === null || _c === void 0 ? void 0 : _c.message) !== null && _d !== void 0 ? _d : `Cache size of ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B) is over the data cap limit, not saving cache.`); + } else { + throw new ReserveCacheError2(`Unable to reserve cache with key ${key}, another job may be creating this cache. More details: ${(_e = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.error) === null || _e === void 0 ? void 0 : _e.message}`); + } + core14.debug(`Saving Cache (ID: ${cacheId})`); + yield cacheHttpClient.saveCache(cacheId, archivePath, "", options); + } catch (error3) { + const typedError = error3; + if (typedError.name === ValidationError.name) { + throw error3; + } else if (typedError.name === ReserveCacheError2.name) { + core14.info(`Failed to save: ${typedError.message}`); + } else { + if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) { + core14.error(`Failed to save: ${typedError.message}`); + } else { + core14.warning(`Failed to save: ${typedError.message}`); + } + } + } finally { + try { + yield utils.unlinkFile(archivePath); + } catch (error3) { + core14.debug(`Failed to delete archive: ${error3}`); + } } - if (permissionLike.permanentDelete) { - blobSASPermissions.permanentDelete = true; + return cacheId; + }); + } + function saveCacheV2(paths_1, key_1, options_1) { + return __awaiter2(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) { + options = Object.assign(Object.assign({}, options), { uploadChunkSize: 64 * 1024 * 1024, uploadConcurrency: 8, useAzureSdk: true }); + const compressionMethod = yield utils.getCompressionMethod(); + const twirpClient = cacheTwirpClient.internalCacheTwirpClient(); + let cacheId = -1; + const cachePaths = yield utils.resolvePaths(paths); + core14.debug("Cache Paths:"); + core14.debug(`${JSON.stringify(cachePaths)}`); + if (cachePaths.length === 0) { + throw new Error(`Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved.`); } - return blobSASPermissions; + const archiveFolder = yield utils.createTempDirectory(); + const archivePath = path7.join(archiveFolder, utils.getCacheFileName(compressionMethod)); + core14.debug(`Archive Path: ${archivePath}`); + try { + yield (0, tar_1.createTar)(archiveFolder, cachePaths, compressionMethod); + if (core14.isDebug()) { + yield (0, tar_1.listTar)(archivePath, compressionMethod); + } + const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath); + core14.debug(`File Size: ${archiveFileSize}`); + options.archiveSizeBytes = archiveFileSize; + core14.debug("Reserving Cache"); + const version = utils.getCacheVersion(paths, compressionMethod, enableCrossOsArchive); + const request2 = { + key, + version + }; + let signedUploadUrl; + try { + const response = yield twirpClient.CreateCacheEntry(request2); + if (!response.ok) { + if (response.message) { + core14.warning(`Cache reservation failed: ${response.message}`); + } + throw new Error(response.message || "Response was not ok"); + } + signedUploadUrl = response.signedUploadUrl; + } catch (error3) { + core14.debug(`Failed to reserve cache: ${error3}`); + throw new ReserveCacheError2(`Unable to reserve cache with key ${key}, another job may be creating this cache.`); + } + core14.debug(`Attempting to upload cache located at: ${archivePath}`); + yield cacheHttpClient.saveCache(cacheId, archivePath, signedUploadUrl, options); + const finalizeRequest = { + key, + version, + sizeBytes: `${archiveFileSize}` + }; + const finalizeResponse = yield twirpClient.FinalizeCacheEntryUpload(finalizeRequest); + core14.debug(`FinalizeCacheEntryUploadResponse: ${finalizeResponse.ok}`); + if (!finalizeResponse.ok) { + if (finalizeResponse.message) { + throw new FinalizeCacheError(finalizeResponse.message); + } + throw new Error(`Unable to finalize cache with key ${key}, another job may be finalizing this cache.`); + } + cacheId = parseInt(finalizeResponse.entryId); + } catch (error3) { + const typedError = error3; + if (typedError.name === ValidationError.name) { + throw error3; + } else if (typedError.name === ReserveCacheError2.name) { + core14.info(`Failed to save: ${typedError.message}`); + } else if (typedError.name === FinalizeCacheError.name) { + core14.warning(typedError.message); + } else { + if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) { + core14.error(`Failed to save: ${typedError.message}`); + } else { + core14.warning(`Failed to save: ${typedError.message}`); + } + } + } finally { + try { + yield utils.unlinkFile(archivePath); + } catch (error3) { + core14.debug(`Failed to delete archive: ${error3}`); + } + } + return cacheId; + }); + } + } +}); + +// node_modules/@actions/tool-cache/lib/manifest.js +var require_manifest = __commonJS({ + "node_modules/@actions/tool-cache/lib/manifest.js"(exports2, module2) { + "use strict"; + var __createBinding2 = 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]; + } }; } - /** - * Specifies Read access granted. - */ - read = false; - /** - * Specifies Add access granted. - */ - add = false; - /** - * Specifies Create access granted. - */ - create = false; - /** - * Specifies Write access granted. - */ - write = false; - /** - * Specifies Delete access granted. - */ - delete = false; - /** - * Specifies Delete version access granted. - */ - deleteVersion = false; - /** - * Specfies Tag access granted. - */ - tag = false; - /** - * Specifies Move access granted. - */ - move = false; - /** - * Specifies Execute access granted. - */ - execute = false; - /** - * Specifies SetImmutabilityPolicy access granted. - */ - setImmutabilityPolicy = false; - /** - * Specifies that Permanent Delete is permitted. - */ - permanentDelete = false; - /** - * Converts the given permissions to a string. Using this method will guarantee the permissions are in an - * order accepted by the service. - * - * @returns A string which represents the BlobSASPermissions - */ - toString() { - const permissions = []; - if (this.read) { - permissions.push("r"); + Object.defineProperty(o, k2, desc); + }) : (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + o[k2] = m[k]; + })); + var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }); + var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() { + var ownKeys2 = function(o) { + ownKeys2 = 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 ownKeys2(o); + }; + return function(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) { + for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]); } - if (this.add) { - permissions.push("a"); + __setModuleDefault2(result, mod); + return result; + }; + })(); + var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve5) { + resolve5(value); + }); + } + return new (P || (P = Promise))(function(resolve5, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } } - if (this.create) { - permissions.push("c"); + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } } - if (this.write) { - permissions.push("w"); + function step(result) { + result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); } - if (this.delete) { - permissions.push("d"); + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2._findMatch = _findMatch; + exports2._getOsVersion = _getOsVersion; + exports2._readLinuxVersionFile = _readLinuxVersionFile; + var semver9 = __importStar2(require_semver2()); + var core_1 = require_core(); + var os2 = require("os"); + var cp = require("child_process"); + var fs8 = require("fs"); + function _findMatch(versionSpec, stable, candidates, archFilter) { + return __awaiter2(this, void 0, void 0, function* () { + const platFilter = os2.platform(); + let result; + let match; + let file; + for (const candidate of candidates) { + const version = candidate.version; + (0, core_1.debug)(`check ${version} satisfies ${versionSpec}`); + if (semver9.satisfies(version, versionSpec) && (!stable || candidate.stable === stable)) { + file = candidate.files.find((item) => { + (0, core_1.debug)(`${item.arch}===${archFilter} && ${item.platform}===${platFilter}`); + let chk = item.arch === archFilter && item.platform === platFilter; + if (chk && item.platform_version) { + const osVersion = module2.exports._getOsVersion(); + if (osVersion === item.platform_version) { + chk = true; + } else { + chk = semver9.satisfies(osVersion, item.platform_version); + } + } + return chk; + }); + if (file) { + (0, core_1.debug)(`matched ${candidate.version}`); + match = candidate; + break; + } + } } - if (this.deleteVersion) { - permissions.push("x"); + if (match && file) { + result = Object.assign({}, match); + result.files = [file]; + } + return result; + }); + } + function _getOsVersion() { + const plat = os2.platform(); + let version = ""; + if (plat === "darwin") { + version = cp.execSync("sw_vers -productVersion").toString(); + } else if (plat === "linux") { + const lsbContents = module2.exports._readLinuxVersionFile(); + if (lsbContents) { + const lines = lsbContents.split("\n"); + for (const line of lines) { + const parts = line.split("="); + if (parts.length === 2 && (parts[0].trim() === "VERSION_ID" || parts[0].trim() === "DISTRIB_RELEASE")) { + version = parts[1].trim().replace(/^"/, "").replace(/"$/, ""); + break; + } + } + } + } + return version; + } + function _readLinuxVersionFile() { + const lsbReleaseFile = "/etc/lsb-release"; + const osReleaseFile = "/etc/os-release"; + let contents = ""; + if (fs8.existsSync(lsbReleaseFile)) { + contents = fs8.readFileSync(lsbReleaseFile).toString(); + } else if (fs8.existsSync(osReleaseFile)) { + contents = fs8.readFileSync(osReleaseFile).toString(); + } + return contents; + } + } +}); + +// node_modules/@actions/tool-cache/lib/retry-helper.js +var require_retry_helper = __commonJS({ + "node_modules/@actions/tool-cache/lib/retry-helper.js"(exports2) { + "use strict"; + var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }); + var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() { + var ownKeys2 = function(o) { + ownKeys2 = 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 ownKeys2(o); + }; + return function(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) { + for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]); } - if (this.tag) { - permissions.push("t"); + __setModuleDefault2(result, mod); + return result; + }; + })(); + var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve5) { + resolve5(value); + }); + } + return new (P || (P = Promise))(function(resolve5, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } } - if (this.move) { - permissions.push("m"); + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } } - if (this.execute) { - permissions.push("e"); + function step(result) { + result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); } - if (this.setImmutabilityPolicy) { - permissions.push("i"); + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.RetryHelper = void 0; + var core14 = __importStar2(require_core()); + var RetryHelper = class { + constructor(maxAttempts, minSeconds, maxSeconds) { + if (maxAttempts < 1) { + throw new Error("max attempts should be greater than or equal to 1"); } - if (this.permanentDelete) { - permissions.push("y"); + this.maxAttempts = maxAttempts; + this.minSeconds = Math.floor(minSeconds); + this.maxSeconds = Math.floor(maxSeconds); + if (this.minSeconds > this.maxSeconds) { + throw new Error("min seconds should be less than or equal to max seconds"); } - return permissions.join(""); + } + execute(action, isRetryable) { + return __awaiter2(this, void 0, void 0, function* () { + let attempt = 1; + while (attempt < this.maxAttempts) { + try { + return yield action(); + } catch (err) { + if (isRetryable && !isRetryable(err)) { + throw err; + } + core14.info(err.message); + } + const seconds = this.getSleepAmount(); + core14.info(`Waiting ${seconds} seconds before trying again`); + yield this.sleep(seconds); + attempt++; + } + return yield action(); + }); + } + getSleepAmount() { + return Math.floor(Math.random() * (this.maxSeconds - this.minSeconds + 1)) + this.minSeconds; + } + sleep(seconds) { + return __awaiter2(this, void 0, void 0, function* () { + return new Promise((resolve5) => setTimeout(resolve5, seconds * 1e3)); + }); } }; - exports2.BlobSASPermissions = BlobSASPermissions; + exports2.RetryHelper = RetryHelper; } }); -// node_modules/@azure/storage-blob/dist/commonjs/sas/ContainerSASPermissions.js -var require_ContainerSASPermissions = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/sas/ContainerSASPermissions.js"(exports2) { +// node_modules/@actions/tool-cache/lib/tool-cache.js +var require_tool_cache = __commonJS({ + "node_modules/@actions/tool-cache/lib/tool-cache.js"(exports2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.ContainerSASPermissions = void 0; - var ContainerSASPermissions = class _ContainerSASPermissions { - /** - * Creates an {@link ContainerSASPermissions} from the specified permissions string. This method will throw an - * Error if it encounters a character that does not correspond to a valid permission. - * - * @param permissions - - */ - static parse(permissions) { - const containerSASPermissions = new _ContainerSASPermissions(); - for (const char of permissions) { - switch (char) { - case "r": - containerSASPermissions.read = true; - break; - case "a": - containerSASPermissions.add = true; - break; - case "c": - containerSASPermissions.create = true; - break; - case "w": - containerSASPermissions.write = true; - break; - case "d": - containerSASPermissions.delete = true; - break; - case "l": - containerSASPermissions.list = true; - break; - case "t": - containerSASPermissions.tag = true; - break; - case "x": - containerSASPermissions.deleteVersion = true; - break; - case "m": - containerSASPermissions.move = true; - break; - case "e": - containerSASPermissions.execute = true; - break; - case "i": - containerSASPermissions.setImmutabilityPolicy = true; - break; - case "y": - containerSASPermissions.permanentDelete = true; - break; - case "f": - containerSASPermissions.filterByTags = true; - break; - default: - throw new RangeError(`Invalid permission ${char}`); - } - } - return containerSASPermissions; + var __createBinding2 = 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]; + } }; } - /** - * Creates a {@link ContainerSASPermissions} from a raw object which contains same keys as it - * and boolean values for them. - * - * @param permissionLike - - */ - static from(permissionLike) { - const containerSASPermissions = new _ContainerSASPermissions(); - if (permissionLike.read) { - containerSASPermissions.read = true; - } - if (permissionLike.add) { - containerSASPermissions.add = true; - } - if (permissionLike.create) { - containerSASPermissions.create = true; - } - if (permissionLike.write) { - containerSASPermissions.write = true; - } - if (permissionLike.delete) { - containerSASPermissions.delete = true; - } - if (permissionLike.list) { - containerSASPermissions.list = true; - } - if (permissionLike.deleteVersion) { - containerSASPermissions.deleteVersion = true; - } - if (permissionLike.tag) { - containerSASPermissions.tag = true; - } - if (permissionLike.move) { - containerSASPermissions.move = true; - } - if (permissionLike.execute) { - containerSASPermissions.execute = true; + Object.defineProperty(o, k2, desc); + }) : (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + o[k2] = m[k]; + })); + var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }); + var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() { + var ownKeys2 = function(o) { + ownKeys2 = 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 ownKeys2(o); + }; + return function(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) { + for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]); } - if (permissionLike.setImmutabilityPolicy) { - containerSASPermissions.setImmutabilityPolicy = true; + __setModuleDefault2(result, mod); + return result; + }; + })(); + var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve5) { + resolve5(value); + }); + } + return new (P || (P = Promise))(function(resolve5, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } } - if (permissionLike.permanentDelete) { - containerSASPermissions.permanentDelete = true; + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } } - if (permissionLike.filterByTags) { - containerSASPermissions.filterByTags = true; + function step(result) { + result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); } - return containerSASPermissions; + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.HTTPError = void 0; + exports2.downloadTool = downloadTool2; + exports2.extract7z = extract7z; + exports2.extractTar = extractTar2; + exports2.extractXar = extractXar; + exports2.extractZip = extractZip; + exports2.cacheDir = cacheDir; + exports2.cacheFile = cacheFile; + exports2.find = find2; + exports2.findAllVersions = findAllVersions2; + exports2.getManifestFromRepo = getManifestFromRepo; + exports2.findFromManifest = findFromManifest; + exports2.isExplicitVersion = isExplicitVersion; + exports2.evaluateVersions = evaluateVersions; + var core14 = __importStar2(require_core()); + var io6 = __importStar2(require_io()); + var crypto2 = __importStar2(require("crypto")); + var fs8 = __importStar2(require("fs")); + var mm = __importStar2(require_manifest()); + var os2 = __importStar2(require("os")); + var path7 = __importStar2(require("path")); + var httpm = __importStar2(require_lib()); + var semver9 = __importStar2(require_semver2()); + var stream = __importStar2(require("stream")); + var util = __importStar2(require("util")); + var assert_1 = require("assert"); + var exec_1 = require_exec(); + var retry_helper_1 = require_retry_helper(); + var HTTPError = class extends Error { + constructor(httpStatusCode) { + super(`Unexpected HTTP response: ${httpStatusCode}`); + this.httpStatusCode = httpStatusCode; + Object.setPrototypeOf(this, new.target.prototype); } - /** - * Specifies Read access granted. - */ - read = false; - /** - * Specifies Add access granted. - */ - add = false; - /** - * Specifies Create access granted. - */ - create = false; - /** - * Specifies Write access granted. - */ - write = false; - /** - * Specifies Delete access granted. - */ - delete = false; - /** - * Specifies Delete version access granted. - */ - deleteVersion = false; - /** - * Specifies List access granted. - */ - list = false; - /** - * Specfies Tag access granted. - */ - tag = false; - /** - * Specifies Move access granted. - */ - move = false; - /** - * Specifies Execute access granted. - */ - execute = false; - /** - * Specifies SetImmutabilityPolicy access granted. - */ - setImmutabilityPolicy = false; - /** - * Specifies that Permanent Delete is permitted. - */ - permanentDelete = false; - /** - * Specifies that Filter Blobs by Tags is permitted. - */ - filterByTags = false; - /** - * Converts the given permissions to a string. Using this method will guarantee the permissions are in an - * order accepted by the service. - * - * The order of the characters should be as specified here to ensure correctness. - * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas - * - */ - toString() { - const permissions = []; - if (this.read) { - permissions.push("r"); - } - if (this.add) { - permissions.push("a"); + }; + exports2.HTTPError = HTTPError; + var IS_WINDOWS = process.platform === "win32"; + var IS_MAC = process.platform === "darwin"; + var userAgent2 = "actions/tool-cache"; + function downloadTool2(url, dest, auth2, headers) { + return __awaiter2(this, void 0, void 0, function* () { + dest = dest || path7.join(_getTempDirectory(), crypto2.randomUUID()); + yield io6.mkdirP(path7.dirname(dest)); + core14.debug(`Downloading ${url}`); + core14.debug(`Destination ${dest}`); + const maxAttempts = 3; + const minSeconds = _getGlobal("TEST_DOWNLOAD_TOOL_RETRY_MIN_SECONDS", 10); + const maxSeconds = _getGlobal("TEST_DOWNLOAD_TOOL_RETRY_MAX_SECONDS", 20); + const retryHelper = new retry_helper_1.RetryHelper(maxAttempts, minSeconds, maxSeconds); + return yield retryHelper.execute(() => __awaiter2(this, void 0, void 0, function* () { + return yield downloadToolAttempt(url, dest || "", auth2, headers); + }), (err) => { + if (err instanceof HTTPError && err.httpStatusCode) { + if (err.httpStatusCode < 500 && err.httpStatusCode !== 408 && err.httpStatusCode !== 429) { + return false; + } + } + return true; + }); + }); + } + function downloadToolAttempt(url, dest, auth2, headers) { + return __awaiter2(this, void 0, void 0, function* () { + if (fs8.existsSync(dest)) { + throw new Error(`Destination file path ${dest} already exists`); } - if (this.create) { - permissions.push("c"); + const http = new httpm.HttpClient(userAgent2, [], { + allowRetries: false + }); + if (auth2) { + core14.debug("set auth"); + if (headers === void 0) { + headers = {}; + } + headers.authorization = auth2; } - if (this.write) { - permissions.push("w"); + const response = yield http.get(url, headers); + if (response.message.statusCode !== 200) { + const err = new HTTPError(response.message.statusCode); + core14.debug(`Failed to download from "${url}". Code(${response.message.statusCode}) Message(${response.message.statusMessage})`); + throw err; } - if (this.delete) { - permissions.push("d"); + const pipeline = util.promisify(stream.pipeline); + const responseMessageFactory = _getGlobal("TEST_DOWNLOAD_TOOL_RESPONSE_MESSAGE_FACTORY", () => response.message); + const readStream = responseMessageFactory(); + let succeeded = false; + try { + yield pipeline(readStream, fs8.createWriteStream(dest)); + core14.debug("download complete"); + succeeded = true; + return dest; + } finally { + if (!succeeded) { + core14.debug("download failed"); + try { + yield io6.rmRF(dest); + } catch (err) { + core14.debug(`Failed to delete '${dest}'. ${err.message}`); + } + } } - if (this.deleteVersion) { - permissions.push("x"); + }); + } + function extract7z(file, dest, _7zPath) { + return __awaiter2(this, void 0, void 0, function* () { + (0, assert_1.ok)(IS_WINDOWS, "extract7z() not supported on current OS"); + (0, assert_1.ok)(file, 'parameter "file" is required'); + dest = yield _createExtractFolder(dest); + const originalCwd = process.cwd(); + process.chdir(dest); + if (_7zPath) { + try { + const logLevel = core14.isDebug() ? "-bb1" : "-bb0"; + const args = [ + "x", + // eXtract files with full paths + logLevel, + // -bb[0-3] : set output log level + "-bd", + // disable progress indicator + "-sccUTF-8", + // set charset for for console input/output + file + ]; + const options = { + silent: true + }; + yield (0, exec_1.exec)(`"${_7zPath}"`, args, options); + } finally { + process.chdir(originalCwd); + } + } else { + const escapedScript = path7.join(__dirname, "..", "scripts", "Invoke-7zdec.ps1").replace(/'/g, "''").replace(/"|\n|\r/g, ""); + const escapedFile = file.replace(/'/g, "''").replace(/"|\n|\r/g, ""); + const escapedTarget = dest.replace(/'/g, "''").replace(/"|\n|\r/g, ""); + const command = `& '${escapedScript}' -Source '${escapedFile}' -Target '${escapedTarget}'`; + const args = [ + "-NoLogo", + "-Sta", + "-NoProfile", + "-NonInteractive", + "-ExecutionPolicy", + "Unrestricted", + "-Command", + command + ]; + const options = { + silent: true + }; + try { + const powershellPath = yield io6.which("powershell", true); + yield (0, exec_1.exec)(`"${powershellPath}"`, args, options); + } finally { + process.chdir(originalCwd); + } } - if (this.list) { - permissions.push("l"); + return dest; + }); + } + function extractTar2(file_1, dest_1) { + return __awaiter2(this, arguments, void 0, function* (file, dest, flags = "xz") { + if (!file) { + throw new Error("parameter 'file' is required"); } - if (this.tag) { - permissions.push("t"); + dest = yield _createExtractFolder(dest); + core14.debug("Checking tar --version"); + let versionOutput = ""; + yield (0, exec_1.exec)("tar --version", [], { + ignoreReturnCode: true, + silent: true, + listeners: { + stdout: (data) => versionOutput += data.toString(), + stderr: (data) => versionOutput += data.toString() + } + }); + core14.debug(versionOutput.trim()); + const isGnuTar = versionOutput.toUpperCase().includes("GNU TAR"); + let args; + if (flags instanceof Array) { + args = flags; + } else { + args = [flags]; } - if (this.move) { - permissions.push("m"); + if (core14.isDebug() && !flags.includes("v")) { + args.push("-v"); } - if (this.execute) { - permissions.push("e"); + let destArg = dest; + let fileArg = file; + if (IS_WINDOWS && isGnuTar) { + args.push("--force-local"); + destArg = dest.replace(/\\/g, "/"); + fileArg = file.replace(/\\/g, "/"); } - if (this.setImmutabilityPolicy) { - permissions.push("i"); + if (isGnuTar) { + args.push("--warning=no-unknown-keyword"); + args.push("--overwrite"); } - if (this.permanentDelete) { - permissions.push("y"); + args.push("-C", destArg, "-f", fileArg); + yield (0, exec_1.exec)(`tar`, args); + return dest; + }); + } + function extractXar(file_1, dest_1) { + return __awaiter2(this, arguments, void 0, function* (file, dest, flags = []) { + (0, assert_1.ok)(IS_MAC, "extractXar() not supported on current OS"); + (0, assert_1.ok)(file, 'parameter "file" is required'); + dest = yield _createExtractFolder(dest); + let args; + if (flags instanceof Array) { + args = flags; + } else { + args = [flags]; } - if (this.filterByTags) { - permissions.push("f"); + args.push("-x", "-C", dest, "-f", file); + if (core14.isDebug()) { + args.push("-v"); } - return permissions.join(""); - } - }; - exports2.ContainerSASPermissions = ContainerSASPermissions; - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/credentials/UserDelegationKeyCredential.js -var require_UserDelegationKeyCredential = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/credentials/UserDelegationKeyCredential.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.UserDelegationKeyCredential = void 0; - var node_crypto_1 = require("node:crypto"); - var UserDelegationKeyCredential = class { - /** - * Azure Storage account name; readonly. - */ - accountName; - /** - * Azure Storage user delegation key; readonly. - */ - userDelegationKey; - /** - * Key value in Buffer type. - */ - key; - /** - * Creates an instance of UserDelegationKeyCredential. - * @param accountName - - * @param userDelegationKey - - */ - constructor(accountName, userDelegationKey) { - this.accountName = accountName; - this.userDelegationKey = userDelegationKey; - this.key = Buffer.from(userDelegationKey.value, "base64"); - } - /** - * Generates a hash signature for an HTTP request or for a SAS. - * - * @param stringToSign - - */ - computeHMACSHA256(stringToSign) { - return (0, node_crypto_1.createHmac)("sha256", this.key).update(stringToSign, "utf8").digest("base64"); - } - }; - exports2.UserDelegationKeyCredential = UserDelegationKeyCredential; - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/sas/SasIPRange.js -var require_SasIPRange = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/sas/SasIPRange.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.ipRangeToString = ipRangeToString; - function ipRangeToString(ipRange) { - return ipRange.end ? `${ipRange.start}-${ipRange.end}` : ipRange.start; + const xarPath = yield io6.which("xar", true); + yield (0, exec_1.exec)(`"${xarPath}"`, _unique(args)); + return dest; + }); } - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/sas/SASQueryParameters.js -var require_SASQueryParameters = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/sas/SASQueryParameters.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.SASQueryParameters = exports2.SASProtocol = void 0; - var SasIPRange_js_1 = require_SasIPRange(); - var utils_common_js_1 = require_utils_common(); - var SASProtocol; - (function(SASProtocol2) { - SASProtocol2["Https"] = "https"; - SASProtocol2["HttpsAndHttp"] = "https,http"; - })(SASProtocol || (exports2.SASProtocol = SASProtocol = {})); - var SASQueryParameters = class { - /** - * The storage API version. - */ - version; - /** - * Optional. The allowed HTTP protocol(s). - */ - protocol; - /** - * Optional. The start time for this SAS token. - */ - startsOn; - /** - * Optional only when identifier is provided. The expiry time for this SAS token. - */ - expiresOn; - /** - * Optional only when identifier is provided. - * Please refer to {@link AccountSASPermissions}, {@link BlobSASPermissions}, or {@link ContainerSASPermissions} for - * more details. - */ - permissions; - /** - * Optional. The storage services being accessed (only for Account SAS). Please refer to {@link AccountSASServices} - * for more details. - */ - services; - /** - * Optional. The storage resource types being accessed (only for Account SAS). Please refer to - * {@link AccountSASResourceTypes} for more details. - */ - resourceTypes; - /** - * Optional. The signed identifier (only for {@link BlobSASSignatureValues}). - * - * @see https://learn.microsoft.com/rest/api/storageservices/establishing-a-stored-access-policy - */ - identifier; - /** - * Optional. Encryption scope to use when sending requests authorized with this SAS URI. - */ - encryptionScope; - /** - * Optional. Specifies which resources are accessible via the SAS (only for {@link BlobSASSignatureValues}). - * @see https://learn.microsoft.com/rest/api/storageservices/create-service-sas#specifying-the-signed-resource-blob-service-only - */ - resource; - /** - * The signature for the SAS token. - */ - signature; - /** - * Value for cache-control header in Blob/File Service SAS. - */ - cacheControl; - /** - * Value for content-disposition header in Blob/File Service SAS. - */ - contentDisposition; - /** - * Value for content-encoding header in Blob/File Service SAS. - */ - contentEncoding; - /** - * Value for content-length header in Blob/File Service SAS. - */ - contentLanguage; - /** - * Value for content-type header in Blob/File Service SAS. - */ - contentType; - /** - * Inner value of getter ipRange. - */ - ipRangeInner; - /** - * The Azure Active Directory object ID in GUID format. - * Property of user delegation key. - */ - signedOid; - /** - * The Azure Active Directory tenant ID in GUID format. - * Property of user delegation key. - */ - signedTenantId; - /** - * The date-time the key is active. - * Property of user delegation key. - */ - signedStartsOn; - /** - * The date-time the key expires. - * Property of user delegation key. - */ - signedExpiresOn; - /** - * Abbreviation of the Azure Storage service that accepts the user delegation key. - * Property of user delegation key. - */ - signedService; - /** - * The service version that created the user delegation key. - * Property of user delegation key. - */ - signedVersion; - /** - * Authorized AAD Object ID in GUID format. The AAD Object ID of a user authorized by the owner of the User Delegation Key - * to perform the action granted by the SAS. The Azure Storage service will ensure that the owner of the user delegation key - * has the required permissions before granting access but no additional permission check for the user specified in - * this value will be performed. This is only used for User Delegation SAS. - */ - preauthorizedAgentObjectId; - /** - * A GUID value that will be logged in the storage diagnostic logs and can be used to correlate SAS generation with storage resource access. - * This is only used for User Delegation SAS. - */ - correlationId; - /** - * Optional. IP range allowed for this SAS. - * - * @readonly - */ - get ipRange() { - if (this.ipRangeInner) { - return { - end: this.ipRangeInner.end, - start: this.ipRangeInner.start - }; + function extractZip(file, dest) { + return __awaiter2(this, void 0, void 0, function* () { + if (!file) { + throw new Error("parameter 'file' is required"); } - return void 0; - } - constructor(version, signature, permissionsOrOptions, services, resourceTypes, protocol, startsOn, expiresOn, ipRange, identifier, resource, cacheControl, contentDisposition, contentEncoding, contentLanguage, contentType, userDelegationKey, preauthorizedAgentObjectId, correlationId, encryptionScope) { - this.version = version; - this.signature = signature; - if (permissionsOrOptions !== void 0 && typeof permissionsOrOptions !== "string") { - this.permissions = permissionsOrOptions.permissions; - this.services = permissionsOrOptions.services; - this.resourceTypes = permissionsOrOptions.resourceTypes; - this.protocol = permissionsOrOptions.protocol; - this.startsOn = permissionsOrOptions.startsOn; - this.expiresOn = permissionsOrOptions.expiresOn; - this.ipRangeInner = permissionsOrOptions.ipRange; - this.identifier = permissionsOrOptions.identifier; - this.encryptionScope = permissionsOrOptions.encryptionScope; - this.resource = permissionsOrOptions.resource; - this.cacheControl = permissionsOrOptions.cacheControl; - this.contentDisposition = permissionsOrOptions.contentDisposition; - this.contentEncoding = permissionsOrOptions.contentEncoding; - this.contentLanguage = permissionsOrOptions.contentLanguage; - this.contentType = permissionsOrOptions.contentType; - if (permissionsOrOptions.userDelegationKey) { - this.signedOid = permissionsOrOptions.userDelegationKey.signedObjectId; - this.signedTenantId = permissionsOrOptions.userDelegationKey.signedTenantId; - this.signedStartsOn = permissionsOrOptions.userDelegationKey.signedStartsOn; - this.signedExpiresOn = permissionsOrOptions.userDelegationKey.signedExpiresOn; - this.signedService = permissionsOrOptions.userDelegationKey.signedService; - this.signedVersion = permissionsOrOptions.userDelegationKey.signedVersion; - this.preauthorizedAgentObjectId = permissionsOrOptions.preauthorizedAgentObjectId; - this.correlationId = permissionsOrOptions.correlationId; - } + dest = yield _createExtractFolder(dest); + if (IS_WINDOWS) { + yield extractZipWin(file, dest); } else { - this.services = services; - this.resourceTypes = resourceTypes; - this.expiresOn = expiresOn; - this.permissions = permissionsOrOptions; - this.protocol = protocol; - this.startsOn = startsOn; - this.ipRangeInner = ipRange; - this.encryptionScope = encryptionScope; - this.identifier = identifier; - this.resource = resource; - this.cacheControl = cacheControl; - this.contentDisposition = contentDisposition; - this.contentEncoding = contentEncoding; - this.contentLanguage = contentLanguage; - this.contentType = contentType; - if (userDelegationKey) { - this.signedOid = userDelegationKey.signedObjectId; - this.signedTenantId = userDelegationKey.signedTenantId; - this.signedStartsOn = userDelegationKey.signedStartsOn; - this.signedExpiresOn = userDelegationKey.signedExpiresOn; - this.signedService = userDelegationKey.signedService; - this.signedVersion = userDelegationKey.signedVersion; - this.preauthorizedAgentObjectId = preauthorizedAgentObjectId; - this.correlationId = correlationId; - } + yield extractZipNix(file, dest); } - } - /** - * Encodes all SAS query parameters into a string that can be appended to a URL. - * - */ - toString() { - const params = [ - "sv", - "ss", - "srt", - "spr", - "st", - "se", - "sip", - "si", - "ses", - "skoid", - // Signed object ID - "sktid", - // Signed tenant ID - "skt", - // Signed key start time - "ske", - // Signed key expiry time - "sks", - // Signed key service - "skv", - // Signed key version - "sr", - "sp", - "sig", - "rscc", - "rscd", - "rsce", - "rscl", - "rsct", - "saoid", - "scid" - ]; - const queries = []; - for (const param of params) { - switch (param) { - case "sv": - this.tryAppendQueryParameter(queries, param, this.version); - break; - case "ss": - this.tryAppendQueryParameter(queries, param, this.services); - break; - case "srt": - this.tryAppendQueryParameter(queries, param, this.resourceTypes); - break; - case "spr": - this.tryAppendQueryParameter(queries, param, this.protocol); - break; - case "st": - this.tryAppendQueryParameter(queries, param, this.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.startsOn, false) : void 0); - break; - case "se": - this.tryAppendQueryParameter(queries, param, this.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.expiresOn, false) : void 0); - break; - case "sip": - this.tryAppendQueryParameter(queries, param, this.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(this.ipRange) : void 0); - break; - case "si": - this.tryAppendQueryParameter(queries, param, this.identifier); - break; - case "ses": - this.tryAppendQueryParameter(queries, param, this.encryptionScope); - break; - case "skoid": - this.tryAppendQueryParameter(queries, param, this.signedOid); - break; - case "sktid": - this.tryAppendQueryParameter(queries, param, this.signedTenantId); - break; - case "skt": - this.tryAppendQueryParameter(queries, param, this.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.signedStartsOn, false) : void 0); - break; - case "ske": - this.tryAppendQueryParameter(queries, param, this.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.signedExpiresOn, false) : void 0); - break; - case "sks": - this.tryAppendQueryParameter(queries, param, this.signedService); - break; - case "skv": - this.tryAppendQueryParameter(queries, param, this.signedVersion); - break; - case "sr": - this.tryAppendQueryParameter(queries, param, this.resource); - break; - case "sp": - this.tryAppendQueryParameter(queries, param, this.permissions); - break; - case "sig": - this.tryAppendQueryParameter(queries, param, this.signature); - break; - case "rscc": - this.tryAppendQueryParameter(queries, param, this.cacheControl); - break; - case "rscd": - this.tryAppendQueryParameter(queries, param, this.contentDisposition); - break; - case "rsce": - this.tryAppendQueryParameter(queries, param, this.contentEncoding); - break; - case "rscl": - this.tryAppendQueryParameter(queries, param, this.contentLanguage); - break; - case "rsct": - this.tryAppendQueryParameter(queries, param, this.contentType); - break; - case "saoid": - this.tryAppendQueryParameter(queries, param, this.preauthorizedAgentObjectId); - break; - case "scid": - this.tryAppendQueryParameter(queries, param, this.correlationId); - break; - } + return dest; + }); + } + function extractZipWin(file, dest) { + return __awaiter2(this, void 0, void 0, function* () { + const escapedFile = file.replace(/'/g, "''").replace(/"|\n|\r/g, ""); + const escapedDest = dest.replace(/'/g, "''").replace(/"|\n|\r/g, ""); + const pwshPath = yield io6.which("pwsh", false); + if (pwshPath) { + const pwshCommand = [ + `$ErrorActionPreference = 'Stop' ;`, + `try { Add-Type -AssemblyName System.IO.Compression.ZipFile } catch { } ;`, + `try { [System.IO.Compression.ZipFile]::ExtractToDirectory('${escapedFile}', '${escapedDest}', $true) }`, + `catch { if (($_.Exception.GetType().FullName -eq 'System.Management.Automation.MethodException') -or ($_.Exception.GetType().FullName -eq 'System.Management.Automation.RuntimeException') ){ Expand-Archive -LiteralPath '${escapedFile}' -DestinationPath '${escapedDest}' -Force } else { throw $_ } } ;` + ].join(" "); + const args = [ + "-NoLogo", + "-NoProfile", + "-NonInteractive", + "-ExecutionPolicy", + "Unrestricted", + "-Command", + pwshCommand + ]; + core14.debug(`Using pwsh at path: ${pwshPath}`); + yield (0, exec_1.exec)(`"${pwshPath}"`, args); + } else { + const powershellCommand = [ + `$ErrorActionPreference = 'Stop' ;`, + `try { Add-Type -AssemblyName System.IO.Compression.FileSystem } catch { } ;`, + `if ((Get-Command -Name Expand-Archive -Module Microsoft.PowerShell.Archive -ErrorAction Ignore)) { Expand-Archive -LiteralPath '${escapedFile}' -DestinationPath '${escapedDest}' -Force }`, + `else {[System.IO.Compression.ZipFile]::ExtractToDirectory('${escapedFile}', '${escapedDest}', $true) }` + ].join(" "); + const args = [ + "-NoLogo", + "-Sta", + "-NoProfile", + "-NonInteractive", + "-ExecutionPolicy", + "Unrestricted", + "-Command", + powershellCommand + ]; + const powershellPath = yield io6.which("powershell", true); + core14.debug(`Using powershell at path: ${powershellPath}`); + yield (0, exec_1.exec)(`"${powershellPath}"`, args); } - return queries.join("&"); - } - /** - * A private helper method used to filter and append query key/value pairs into an array. - * - * @param queries - - * @param key - - * @param value - - */ - tryAppendQueryParameter(queries, key, value) { - if (!value) { - return; + }); + } + function extractZipNix(file, dest) { + return __awaiter2(this, void 0, void 0, function* () { + const unzipPath = yield io6.which("unzip", true); + const args = [file]; + if (!core14.isDebug()) { + args.unshift("-q"); } - key = encodeURIComponent(key); - value = encodeURIComponent(value); - if (key.length > 0 && value.length > 0) { - queries.push(`${key}=${value}`); + args.unshift("-o"); + yield (0, exec_1.exec)(`"${unzipPath}"`, args, { cwd: dest }); + }); + } + function cacheDir(sourceDir, tool, version, arch) { + return __awaiter2(this, void 0, void 0, function* () { + version = semver9.clean(version) || version; + arch = arch || os2.arch(); + core14.debug(`Caching tool ${tool} ${version} ${arch}`); + core14.debug(`source dir: ${sourceDir}`); + if (!fs8.statSync(sourceDir).isDirectory()) { + throw new Error("sourceDir is not a directory"); + } + const destPath = yield _createToolPath(tool, version, arch); + for (const itemName of fs8.readdirSync(sourceDir)) { + const s = path7.join(sourceDir, itemName); + yield io6.cp(s, destPath, { recursive: true }); } - } - }; - exports2.SASQueryParameters = SASQueryParameters; - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASSignatureValues.js -var require_BlobSASSignatureValues = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASSignatureValues.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.generateBlobSASQueryParameters = generateBlobSASQueryParameters; - exports2.generateBlobSASQueryParametersInternal = generateBlobSASQueryParametersInternal; - var BlobSASPermissions_js_1 = require_BlobSASPermissions(); - var ContainerSASPermissions_js_1 = require_ContainerSASPermissions(); - var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential(); - var UserDelegationKeyCredential_js_1 = require_UserDelegationKeyCredential(); - var SasIPRange_js_1 = require_SasIPRange(); - var SASQueryParameters_js_1 = require_SASQueryParameters(); - var constants_js_1 = require_constants15(); - var utils_common_js_1 = require_utils_common(); - function generateBlobSASQueryParameters(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName) { - return generateBlobSASQueryParametersInternal(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName).sasQueryParameters; + _completeToolPath(tool, version, arch); + return destPath; + }); } - function generateBlobSASQueryParametersInternal(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName) { - const version = blobSASSignatureValues.version ? blobSASSignatureValues.version : constants_js_1.SERVICE_VERSION; - const sharedKeyCredential = sharedKeyCredentialOrUserDelegationKey instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential ? sharedKeyCredentialOrUserDelegationKey : void 0; - let userDelegationKeyCredential; - if (sharedKeyCredential === void 0 && accountName !== void 0) { - userDelegationKeyCredential = new UserDelegationKeyCredential_js_1.UserDelegationKeyCredential(accountName, sharedKeyCredentialOrUserDelegationKey); + function cacheFile(sourceFile, targetFile, tool, version, arch) { + return __awaiter2(this, void 0, void 0, function* () { + version = semver9.clean(version) || version; + arch = arch || os2.arch(); + core14.debug(`Caching tool ${tool} ${version} ${arch}`); + core14.debug(`source file: ${sourceFile}`); + if (!fs8.statSync(sourceFile).isFile()) { + throw new Error("sourceFile is not a file"); + } + const destFolder = yield _createToolPath(tool, version, arch); + const destPath = path7.join(destFolder, targetFile); + core14.debug(`destination file ${destPath}`); + yield io6.cp(sourceFile, destPath); + _completeToolPath(tool, version, arch); + return destFolder; + }); + } + function find2(toolName, versionSpec, arch) { + if (!toolName) { + throw new Error("toolName parameter is required"); } - if (sharedKeyCredential === void 0 && userDelegationKeyCredential === void 0) { - throw TypeError("Invalid sharedKeyCredential, userDelegationKey or accountName."); + if (!versionSpec) { + throw new Error("versionSpec parameter is required"); } - if (version >= "2020-12-06") { - if (sharedKeyCredential !== void 0) { - return generateBlobSASQueryParameters20201206(blobSASSignatureValues, sharedKeyCredential); + arch = arch || os2.arch(); + if (!isExplicitVersion(versionSpec)) { + const localVersions = findAllVersions2(toolName, arch); + const match = evaluateVersions(localVersions, versionSpec); + versionSpec = match; + } + let toolPath = ""; + if (versionSpec) { + versionSpec = semver9.clean(versionSpec) || ""; + const cachePath = path7.join(_getCacheDirectory(), toolName, versionSpec, arch); + core14.debug(`checking cache: ${cachePath}`); + if (fs8.existsSync(cachePath) && fs8.existsSync(`${cachePath}.complete`)) { + core14.debug(`Found tool in cache ${toolName} ${versionSpec} ${arch}`); + toolPath = cachePath; } else { - if (version >= "2025-07-05") { - return generateBlobSASQueryParametersUDK20250705(blobSASSignatureValues, userDelegationKeyCredential); - } else { - return generateBlobSASQueryParametersUDK20201206(blobSASSignatureValues, userDelegationKeyCredential); - } + core14.debug("not found"); } } - if (version >= "2018-11-09") { - if (sharedKeyCredential !== void 0) { - return generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKeyCredential); - } else { - if (version >= "2020-02-10") { - return generateBlobSASQueryParametersUDK20200210(blobSASSignatureValues, userDelegationKeyCredential); - } else { - return generateBlobSASQueryParametersUDK20181109(blobSASSignatureValues, userDelegationKeyCredential); + return toolPath; + } + function findAllVersions2(toolName, arch) { + const versions = []; + arch = arch || os2.arch(); + const toolPath = path7.join(_getCacheDirectory(), toolName); + if (fs8.existsSync(toolPath)) { + const children = fs8.readdirSync(toolPath); + for (const child of children) { + if (isExplicitVersion(child)) { + const fullPath = path7.join(toolPath, child, arch || ""); + if (fs8.existsSync(fullPath) && fs8.existsSync(`${fullPath}.complete`)) { + versions.push(child); + } } } } - if (version >= "2015-04-05") { - if (sharedKeyCredential !== void 0) { - return generateBlobSASQueryParameters20150405(blobSASSignatureValues, sharedKeyCredential); - } else { - throw new RangeError("'version' must be >= '2018-11-09' when generating user delegation SAS using user delegation key."); + return versions; + } + function getManifestFromRepo(owner_1, repo_1, auth_1) { + return __awaiter2(this, arguments, void 0, function* (owner, repo, auth2, branch = "master") { + let releases = []; + const treeUrl = `https://api.github.com/repos/${owner}/${repo}/git/trees/${branch}`; + const http = new httpm.HttpClient("tool-cache"); + const headers = {}; + if (auth2) { + core14.debug("set auth"); + headers.authorization = auth2; } - } - throw new RangeError("'version' must be >= '2015-04-05'."); + const response = yield http.getJson(treeUrl, headers); + if (!response.result) { + return releases; + } + let manifestUrl = ""; + for (const item of response.result.tree) { + if (item.path === "versions-manifest.json") { + manifestUrl = item.url; + break; + } + } + headers["accept"] = "application/vnd.github.VERSION.raw"; + let versionsRaw = yield (yield http.get(manifestUrl, headers)).readBody(); + if (versionsRaw) { + versionsRaw = versionsRaw.replace(/^\uFEFF/, ""); + try { + releases = JSON.parse(versionsRaw); + } catch (_a) { + core14.debug("Invalid json"); + } + } + return releases; + }); } - function generateBlobSASQueryParameters20150405(blobSASSignatureValues, sharedKeyCredential) { - blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues); - if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) { - throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided."); - } - let resource = "c"; - if (blobSASSignatureValues.blobName) { - resource = "b"; - } - let verifiedPermissions; - if (blobSASSignatureValues.permissions) { - if (blobSASSignatureValues.blobName) { - verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); - } else { - verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); + function findFromManifest(versionSpec_1, stable_1, manifest_1) { + return __awaiter2(this, arguments, void 0, function* (versionSpec, stable, manifest, archFilter = os2.arch()) { + const match = yield mm._findMatch(versionSpec, stable, manifest, archFilter); + return match; + }); + } + function _createExtractFolder(dest) { + return __awaiter2(this, void 0, void 0, function* () { + if (!dest) { + dest = path7.join(_getTempDirectory(), crypto2.randomUUID()); } - } - const stringToSign = [ - verifiedPermissions ? verifiedPermissions : "", - blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "", - blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "", - getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName), - blobSASSignatureValues.identifier, - blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "", - blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "", - blobSASSignatureValues.version, - blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "", - blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "", - blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "", - blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "", - blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : "" - ].join("\n"); - const signature = sharedKeyCredential.computeHMACSHA256(stringToSign); - return { - sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType), - stringToSign - }; + yield io6.mkdirP(dest); + return dest; + }); } - function generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKeyCredential) { - blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues); - if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) { - throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided."); - } - let resource = "c"; - let timestamp2 = blobSASSignatureValues.snapshotTime; - if (blobSASSignatureValues.blobName) { - resource = "b"; - if (blobSASSignatureValues.snapshotTime) { - resource = "bs"; - } else if (blobSASSignatureValues.versionId) { - resource = "bv"; - timestamp2 = blobSASSignatureValues.versionId; + function _createToolPath(tool, version, arch) { + return __awaiter2(this, void 0, void 0, function* () { + const folderPath = path7.join(_getCacheDirectory(), tool, semver9.clean(version) || version, arch || ""); + core14.debug(`destination ${folderPath}`); + const markerPath = `${folderPath}.complete`; + yield io6.rmRF(folderPath); + yield io6.rmRF(markerPath); + yield io6.mkdirP(folderPath); + return folderPath; + }); + } + function _completeToolPath(tool, version, arch) { + const folderPath = path7.join(_getCacheDirectory(), tool, semver9.clean(version) || version, arch || ""); + const markerPath = `${folderPath}.complete`; + fs8.writeFileSync(markerPath, ""); + core14.debug("finished caching tool"); + } + function isExplicitVersion(versionSpec) { + const c = semver9.clean(versionSpec) || ""; + core14.debug(`isExplicit: ${c}`); + const valid3 = semver9.valid(c) != null; + core14.debug(`explicit? ${valid3}`); + return valid3; + } + function evaluateVersions(versions, versionSpec) { + let version = ""; + core14.debug(`evaluating ${versions.length} versions`); + versions = versions.sort((a, b) => { + if (semver9.gt(a, b)) { + return 1; } - } - let verifiedPermissions; - if (blobSASSignatureValues.permissions) { - if (blobSASSignatureValues.blobName) { - verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); - } else { - verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); + return -1; + }); + for (let i = versions.length - 1; i >= 0; i--) { + const potential = versions[i]; + const satisfied = semver9.satisfies(potential, versionSpec); + if (satisfied) { + version = potential; + break; } } - const stringToSign = [ - verifiedPermissions ? verifiedPermissions : "", - blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "", - blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "", - getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName), - blobSASSignatureValues.identifier, - blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "", - blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "", - blobSASSignatureValues.version, - resource, - timestamp2, - blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "", - blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "", - blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "", - blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "", - blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : "" - ].join("\n"); - const signature = sharedKeyCredential.computeHMACSHA256(stringToSign); - return { - sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType), - stringToSign - }; - } - function generateBlobSASQueryParameters20201206(blobSASSignatureValues, sharedKeyCredential) { - blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues); - if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) { - throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided."); + if (version) { + core14.debug(`matched: ${version}`); + } else { + core14.debug("match not found"); } - let resource = "c"; - let timestamp2 = blobSASSignatureValues.snapshotTime; - if (blobSASSignatureValues.blobName) { - resource = "b"; - if (blobSASSignatureValues.snapshotTime) { - resource = "bs"; - } else if (blobSASSignatureValues.versionId) { - resource = "bv"; - timestamp2 = blobSASSignatureValues.versionId; + return version; + } + function _getCacheDirectory() { + const cacheDirectory = process.env["RUNNER_TOOL_CACHE"] || ""; + (0, assert_1.ok)(cacheDirectory, "Expected RUNNER_TOOL_CACHE to be defined"); + return cacheDirectory; + } + function _getTempDirectory() { + const tempDirectory = process.env["RUNNER_TEMP"] || ""; + (0, assert_1.ok)(tempDirectory, "Expected RUNNER_TEMP to be defined"); + return tempDirectory; + } + function _getGlobal(key, defaultValue) { + const value = global[key]; + return value !== void 0 ? value : defaultValue; + } + function _unique(values) { + return Array.from(new Set(values)); + } + } +}); + +// node_modules/fast-deep-equal/index.js +var require_fast_deep_equal = __commonJS({ + "node_modules/fast-deep-equal/index.js"(exports2, module2) { + "use strict"; + module2.exports = function equal(a, b) { + if (a === b) return true; + if (a && b && typeof a == "object" && typeof b == "object") { + if (a.constructor !== b.constructor) return false; + var length, i, keys; + if (Array.isArray(a)) { + length = a.length; + if (length != b.length) return false; + for (i = length; i-- !== 0; ) + if (!equal(a[i], b[i])) return false; + return true; + } + if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags; + if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf(); + if (a.toString !== Object.prototype.toString) return a.toString() === b.toString(); + keys = Object.keys(a); + length = keys.length; + if (length !== Object.keys(b).length) return false; + for (i = length; i-- !== 0; ) + if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false; + for (i = length; i-- !== 0; ) { + var key = keys[i]; + if (!equal(a[key], b[key])) return false; } + return true; } - let verifiedPermissions; - if (blobSASSignatureValues.permissions) { - if (blobSASSignatureValues.blobName) { - verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); - } else { - verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); + return a !== a && b !== b; + }; + } +}); + +// node_modules/follow-redirects/debug.js +var require_debug3 = __commonJS({ + "node_modules/follow-redirects/debug.js"(exports2, module2) { + var debug4; + module2.exports = function() { + if (!debug4) { + try { + debug4 = require_src()("follow-redirects"); + } catch (error3) { + } + if (typeof debug4 !== "function") { + debug4 = function() { + }; } } - const stringToSign = [ - verifiedPermissions ? verifiedPermissions : "", - blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "", - blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "", - getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName), - blobSASSignatureValues.identifier, - blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "", - blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "", - blobSASSignatureValues.version, - resource, - timestamp2, - blobSASSignatureValues.encryptionScope, - blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "", - blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "", - blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "", - blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "", - blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : "" - ].join("\n"); - const signature = sharedKeyCredential.computeHMACSHA256(stringToSign); - return { - sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, void 0, void 0, void 0, blobSASSignatureValues.encryptionScope), - stringToSign - }; - } - function generateBlobSASQueryParametersUDK20181109(blobSASSignatureValues, userDelegationKeyCredential) { - blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues); - if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) { - throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS."); + debug4.apply(null, arguments); + }; + } +}); + +// node_modules/follow-redirects/index.js +var require_follow_redirects = __commonJS({ + "node_modules/follow-redirects/index.js"(exports2, module2) { + var url = require("url"); + var URL2 = url.URL; + var http = require("http"); + var https2 = require("https"); + var Writable = require("stream").Writable; + var assert = require("assert"); + var debug4 = require_debug3(); + (function detectUnsupportedEnvironment() { + var looksLikeNode = typeof process !== "undefined"; + var looksLikeBrowser = typeof window !== "undefined" && typeof document !== "undefined"; + var looksLikeV8 = isFunction(Error.captureStackTrace); + if (!looksLikeNode && (looksLikeBrowser || !looksLikeV8)) { + console.warn("The follow-redirects package should be excluded from browser builds."); } - let resource = "c"; - let timestamp2 = blobSASSignatureValues.snapshotTime; - if (blobSASSignatureValues.blobName) { - resource = "b"; - if (blobSASSignatureValues.snapshotTime) { - resource = "bs"; - } else if (blobSASSignatureValues.versionId) { - resource = "bv"; - timestamp2 = blobSASSignatureValues.versionId; - } + })(); + var useNativeURL = false; + try { + assert(new URL2("")); + } catch (error3) { + useNativeURL = error3.code === "ERR_INVALID_URL"; + } + var preservedUrlFields = [ + "auth", + "host", + "hostname", + "href", + "path", + "pathname", + "port", + "protocol", + "query", + "search", + "hash" + ]; + var events = ["abort", "aborted", "connect", "error", "socket", "timeout"]; + var eventHandlers = /* @__PURE__ */ Object.create(null); + events.forEach(function(event) { + eventHandlers[event] = function(arg1, arg2, arg3) { + this._redirectable.emit(event, arg1, arg2, arg3); + }; + }); + var InvalidUrlError = createErrorType( + "ERR_INVALID_URL", + "Invalid URL", + TypeError + ); + var RedirectionError = createErrorType( + "ERR_FR_REDIRECTION_FAILURE", + "Redirected request failed" + ); + var TooManyRedirectsError = createErrorType( + "ERR_FR_TOO_MANY_REDIRECTS", + "Maximum number of redirects exceeded", + RedirectionError + ); + var MaxBodyLengthExceededError = createErrorType( + "ERR_FR_MAX_BODY_LENGTH_EXCEEDED", + "Request body larger than maxBodyLength limit" + ); + var WriteAfterEndError = createErrorType( + "ERR_STREAM_WRITE_AFTER_END", + "write after end" + ); + var destroy = Writable.prototype.destroy || noop3; + function RedirectableRequest(options, responseCallback) { + Writable.call(this); + this._sanitizeOptions(options); + this._options = options; + this._ended = false; + this._ending = false; + this._redirectCount = 0; + this._redirects = []; + this._requestBodyLength = 0; + this._requestBodyBuffers = []; + if (responseCallback) { + this.on("response", responseCallback); } - let verifiedPermissions; - if (blobSASSignatureValues.permissions) { - if (blobSASSignatureValues.blobName) { - verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); - } else { - verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); + var self2 = this; + this._onNativeResponse = function(response) { + try { + self2._processResponse(response); + } catch (cause) { + self2.emit("error", cause instanceof RedirectionError ? cause : new RedirectionError({ cause })); } - } - const stringToSign = [ - verifiedPermissions ? verifiedPermissions : "", - blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "", - blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "", - getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName), - userDelegationKeyCredential.userDelegationKey.signedObjectId, - userDelegationKeyCredential.userDelegationKey.signedTenantId, - userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "", - userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "", - userDelegationKeyCredential.userDelegationKey.signedService, - userDelegationKeyCredential.userDelegationKey.signedVersion, - blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "", - blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "", - blobSASSignatureValues.version, - resource, - timestamp2, - blobSASSignatureValues.cacheControl, - blobSASSignatureValues.contentDisposition, - blobSASSignatureValues.contentEncoding, - blobSASSignatureValues.contentLanguage, - blobSASSignatureValues.contentType - ].join("\n"); - const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign); - return { - sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey), - stringToSign }; + this._performRequest(); } - function generateBlobSASQueryParametersUDK20200210(blobSASSignatureValues, userDelegationKeyCredential) { - blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues); - if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) { - throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS."); + RedirectableRequest.prototype = Object.create(Writable.prototype); + RedirectableRequest.prototype.abort = function() { + destroyRequest(this._currentRequest); + this._currentRequest.abort(); + this.emit("abort"); + }; + RedirectableRequest.prototype.destroy = function(error3) { + destroyRequest(this._currentRequest, error3); + destroy.call(this, error3); + return this; + }; + RedirectableRequest.prototype.write = function(data, encoding, callback) { + if (this._ending) { + throw new WriteAfterEndError(); } - let resource = "c"; - let timestamp2 = blobSASSignatureValues.snapshotTime; - if (blobSASSignatureValues.blobName) { - resource = "b"; - if (blobSASSignatureValues.snapshotTime) { - resource = "bs"; - } else if (blobSASSignatureValues.versionId) { - resource = "bv"; - timestamp2 = blobSASSignatureValues.versionId; - } + if (!isString(data) && !isBuffer(data)) { + throw new TypeError("data should be a string, Buffer or Uint8Array"); } - let verifiedPermissions; - if (blobSASSignatureValues.permissions) { - if (blobSASSignatureValues.blobName) { - verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); - } else { - verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); + if (isFunction(encoding)) { + callback = encoding; + encoding = null; + } + if (data.length === 0) { + if (callback) { + callback(); } + return; } - const stringToSign = [ - verifiedPermissions ? verifiedPermissions : "", - blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "", - blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "", - getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName), - userDelegationKeyCredential.userDelegationKey.signedObjectId, - userDelegationKeyCredential.userDelegationKey.signedTenantId, - userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "", - userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "", - userDelegationKeyCredential.userDelegationKey.signedService, - userDelegationKeyCredential.userDelegationKey.signedVersion, - blobSASSignatureValues.preauthorizedAgentObjectId, - void 0, - // agentObjectId - blobSASSignatureValues.correlationId, - blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "", - blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "", - blobSASSignatureValues.version, - resource, - timestamp2, - blobSASSignatureValues.cacheControl, - blobSASSignatureValues.contentDisposition, - blobSASSignatureValues.contentEncoding, - blobSASSignatureValues.contentLanguage, - blobSASSignatureValues.contentType - ].join("\n"); - const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign); - return { - sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId), - stringToSign - }; - } - function generateBlobSASQueryParametersUDK20201206(blobSASSignatureValues, userDelegationKeyCredential) { - blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues); - if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) { - throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS."); + if (this._requestBodyLength + data.length <= this._options.maxBodyLength) { + this._requestBodyLength += data.length; + this._requestBodyBuffers.push({ data, encoding }); + this._currentRequest.write(data, encoding, callback); + } else { + this.emit("error", new MaxBodyLengthExceededError()); + this.abort(); } - let resource = "c"; - let timestamp2 = blobSASSignatureValues.snapshotTime; - if (blobSASSignatureValues.blobName) { - resource = "b"; - if (blobSASSignatureValues.snapshotTime) { - resource = "bs"; - } else if (blobSASSignatureValues.versionId) { - resource = "bv"; - timestamp2 = blobSASSignatureValues.versionId; - } + }; + RedirectableRequest.prototype.end = function(data, encoding, callback) { + if (isFunction(data)) { + callback = data; + data = encoding = null; + } else if (isFunction(encoding)) { + callback = encoding; + encoding = null; } - let verifiedPermissions; - if (blobSASSignatureValues.permissions) { - if (blobSASSignatureValues.blobName) { - verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); - } else { - verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); - } + if (!data) { + this._ended = this._ending = true; + this._currentRequest.end(null, null, callback); + } else { + var self2 = this; + var currentRequest = this._currentRequest; + this.write(data, encoding, function() { + self2._ended = true; + currentRequest.end(null, null, callback); + }); + this._ending = true; } - const stringToSign = [ - verifiedPermissions ? verifiedPermissions : "", - blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "", - blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "", - getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName), - userDelegationKeyCredential.userDelegationKey.signedObjectId, - userDelegationKeyCredential.userDelegationKey.signedTenantId, - userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "", - userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "", - userDelegationKeyCredential.userDelegationKey.signedService, - userDelegationKeyCredential.userDelegationKey.signedVersion, - blobSASSignatureValues.preauthorizedAgentObjectId, - void 0, - // agentObjectId - blobSASSignatureValues.correlationId, - blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "", - blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "", - blobSASSignatureValues.version, - resource, - timestamp2, - blobSASSignatureValues.encryptionScope, - blobSASSignatureValues.cacheControl, - blobSASSignatureValues.contentDisposition, - blobSASSignatureValues.contentEncoding, - blobSASSignatureValues.contentLanguage, - blobSASSignatureValues.contentType - ].join("\n"); - const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign); - return { - sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId, blobSASSignatureValues.encryptionScope), - stringToSign - }; - } - function generateBlobSASQueryParametersUDK20250705(blobSASSignatureValues, userDelegationKeyCredential) { - blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues); - if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) { - throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS."); + }; + RedirectableRequest.prototype.setHeader = function(name, value) { + this._options.headers[name] = value; + this._currentRequest.setHeader(name, value); + }; + RedirectableRequest.prototype.removeHeader = function(name) { + delete this._options.headers[name]; + this._currentRequest.removeHeader(name); + }; + RedirectableRequest.prototype.setTimeout = function(msecs, callback) { + var self2 = this; + function destroyOnTimeout(socket) { + socket.setTimeout(msecs); + socket.removeListener("timeout", socket.destroy); + socket.addListener("timeout", socket.destroy); } - let resource = "c"; - let timestamp2 = blobSASSignatureValues.snapshotTime; - if (blobSASSignatureValues.blobName) { - resource = "b"; - if (blobSASSignatureValues.snapshotTime) { - resource = "bs"; - } else if (blobSASSignatureValues.versionId) { - resource = "bv"; - timestamp2 = blobSASSignatureValues.versionId; + function startTimer(socket) { + if (self2._timeout) { + clearTimeout(self2._timeout); } + self2._timeout = setTimeout(function() { + self2.emit("timeout"); + clearTimer(); + }, msecs); + destroyOnTimeout(socket); } - let verifiedPermissions; - if (blobSASSignatureValues.permissions) { - if (blobSASSignatureValues.blobName) { - verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); - } else { - verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); + function clearTimer() { + if (self2._timeout) { + clearTimeout(self2._timeout); + self2._timeout = null; + } + self2.removeListener("abort", clearTimer); + self2.removeListener("error", clearTimer); + self2.removeListener("response", clearTimer); + self2.removeListener("close", clearTimer); + if (callback) { + self2.removeListener("timeout", callback); + } + if (!self2.socket) { + self2._currentRequest.removeListener("socket", startTimer); } } - const stringToSign = [ - verifiedPermissions ? verifiedPermissions : "", - blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "", - blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "", - getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName), - userDelegationKeyCredential.userDelegationKey.signedObjectId, - userDelegationKeyCredential.userDelegationKey.signedTenantId, - userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "", - userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "", - userDelegationKeyCredential.userDelegationKey.signedService, - userDelegationKeyCredential.userDelegationKey.signedVersion, - blobSASSignatureValues.preauthorizedAgentObjectId, - void 0, - // agentObjectId - blobSASSignatureValues.correlationId, - void 0, - // SignedKeyDelegatedUserTenantId, will be added in a future release. - void 0, - // SignedDelegatedUserObjectId, will be added in future release. - blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "", - blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "", - blobSASSignatureValues.version, - resource, - timestamp2, - blobSASSignatureValues.encryptionScope, - blobSASSignatureValues.cacheControl, - blobSASSignatureValues.contentDisposition, - blobSASSignatureValues.contentEncoding, - blobSASSignatureValues.contentLanguage, - blobSASSignatureValues.contentType - ].join("\n"); - const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign); - return { - sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId, blobSASSignatureValues.encryptionScope), - stringToSign - }; - } - function getCanonicalName(accountName, containerName, blobName) { - const elements = [`/blob/${accountName}/${containerName}`]; - if (blobName) { - elements.push(`/${blobName}`); + if (callback) { + this.on("timeout", callback); } - return elements.join(""); - } - function SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues) { - const version = blobSASSignatureValues.version ? blobSASSignatureValues.version : constants_js_1.SERVICE_VERSION; - if (blobSASSignatureValues.snapshotTime && version < "2018-11-09") { - throw RangeError("'version' must be >= '2018-11-09' when providing 'snapshotTime'."); + if (this.socket) { + startTimer(this.socket); + } else { + this._currentRequest.once("socket", startTimer); } - if (blobSASSignatureValues.blobName === void 0 && blobSASSignatureValues.snapshotTime) { - throw RangeError("Must provide 'blobName' when providing 'snapshotTime'."); + this.on("socket", destroyOnTimeout); + this.on("abort", clearTimer); + this.on("error", clearTimer); + this.on("response", clearTimer); + this.on("close", clearTimer); + return this; + }; + [ + "flushHeaders", + "getHeader", + "setNoDelay", + "setSocketKeepAlive" + ].forEach(function(method) { + RedirectableRequest.prototype[method] = function(a, b) { + return this._currentRequest[method](a, b); + }; + }); + ["aborted", "connection", "socket"].forEach(function(property) { + Object.defineProperty(RedirectableRequest.prototype, property, { + get: function() { + return this._currentRequest[property]; + } + }); + }); + RedirectableRequest.prototype._sanitizeOptions = function(options) { + if (!options.headers) { + options.headers = {}; } - if (blobSASSignatureValues.versionId && version < "2019-10-10") { - throw RangeError("'version' must be >= '2019-10-10' when providing 'versionId'."); + if (options.host) { + if (!options.hostname) { + options.hostname = options.host; + } + delete options.host; } - if (blobSASSignatureValues.blobName === void 0 && blobSASSignatureValues.versionId) { - throw RangeError("Must provide 'blobName' when providing 'versionId'."); + if (!options.pathname && options.path) { + var searchPos = options.path.indexOf("?"); + if (searchPos < 0) { + options.pathname = options.path; + } else { + options.pathname = options.path.substring(0, searchPos); + options.search = options.path.substring(searchPos); + } } - if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.setImmutabilityPolicy && version < "2020-08-04") { - throw RangeError("'version' must be >= '2020-08-04' when provided 'i' permission."); + }; + RedirectableRequest.prototype._performRequest = function() { + var protocol = this._options.protocol; + var nativeProtocol = this._options.nativeProtocols[protocol]; + if (!nativeProtocol) { + throw new TypeError("Unsupported protocol " + protocol); } - if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.deleteVersion && version < "2019-10-10") { - throw RangeError("'version' must be >= '2019-10-10' when providing 'x' permission."); + if (this._options.agents) { + var scheme = protocol.slice(0, -1); + this._options.agent = this._options.agents[scheme]; } - if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.permanentDelete && version < "2019-10-10") { - throw RangeError("'version' must be >= '2019-10-10' when providing 'y' permission."); + var request2 = this._currentRequest = nativeProtocol.request(this._options, this._onNativeResponse); + request2._redirectable = this; + for (var event of events) { + request2.on(event, eventHandlers[event]); } - if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.tag && version < "2019-12-12") { - throw RangeError("'version' must be >= '2019-12-12' when providing 't' permission."); + this._currentUrl = /^\//.test(this._options.path) ? url.format(this._options) : ( + // When making a request to a proxy, […] + // a client MUST send the target URI in absolute-form […]. + this._options.path + ); + if (this._isRedirect) { + var i = 0; + var self2 = this; + var buffers = this._requestBodyBuffers; + (function writeNext(error3) { + if (request2 === self2._currentRequest) { + if (error3) { + self2.emit("error", error3); + } else if (i < buffers.length) { + var buffer = buffers[i++]; + if (!request2.finished) { + request2.write(buffer.data, buffer.encoding, writeNext); + } + } else if (self2._ended) { + request2.end(); + } + } + })(); } - if (version < "2020-02-10" && blobSASSignatureValues.permissions && (blobSASSignatureValues.permissions.move || blobSASSignatureValues.permissions.execute)) { - throw RangeError("'version' must be >= '2020-02-10' when providing the 'm' or 'e' permission."); + }; + RedirectableRequest.prototype._processResponse = function(response) { + var statusCode = response.statusCode; + if (this._options.trackRedirects) { + this._redirects.push({ + url: this._currentUrl, + headers: response.headers, + statusCode + }); } - if (version < "2021-04-10" && blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.filterByTags) { - throw RangeError("'version' must be >= '2021-04-10' when providing the 'f' permission."); + var location = response.headers.location; + if (!location || this._options.followRedirects === false || statusCode < 300 || statusCode >= 400) { + response.responseUrl = this._currentUrl; + response.redirects = this._redirects; + this.emit("response", response); + this._requestBodyBuffers = []; + return; } - if (version < "2020-02-10" && (blobSASSignatureValues.preauthorizedAgentObjectId || blobSASSignatureValues.correlationId)) { - throw RangeError("'version' must be >= '2020-02-10' when providing 'preauthorizedAgentObjectId' or 'correlationId'."); + destroyRequest(this._currentRequest); + response.destroy(); + if (++this._redirectCount > this._options.maxRedirects) { + throw new TooManyRedirectsError(); } - if (blobSASSignatureValues.encryptionScope && version < "2020-12-06") { - throw RangeError("'version' must be >= '2020-12-06' when provided 'encryptionScope' in SAS."); + var requestHeaders; + var beforeRedirect = this._options.beforeRedirect; + if (beforeRedirect) { + requestHeaders = Object.assign({ + // The Host header was set by nativeProtocol.request + Host: response.req.getHeader("host") + }, this._options.headers); } - blobSASSignatureValues.version = version; - return blobSASSignatureValues; - } - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/BlobLeaseClient.js -var require_BlobLeaseClient = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/BlobLeaseClient.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.BlobLeaseClient = void 0; - var core_util_1 = require_commonjs4(); - var constants_js_1 = require_constants15(); - var tracing_js_1 = require_tracing(); - var utils_common_js_1 = require_utils_common(); - var BlobLeaseClient = class { - _leaseId; - _url; - _containerOrBlobOperation; - _isContainer; - /** - * Gets the lease Id. - * - * @readonly - */ - get leaseId() { - return this._leaseId; + var method = this._options.method; + if ((statusCode === 301 || statusCode === 302) && this._options.method === "POST" || // RFC7231§6.4.4: The 303 (See Other) status code indicates that + // the server is redirecting the user agent to a different resource […] + // A user agent can perform a retrieval request targeting that URI + // (a GET or HEAD request if using HTTP) […] + statusCode === 303 && !/^(?:GET|HEAD)$/.test(this._options.method)) { + this._options.method = "GET"; + this._requestBodyBuffers = []; + removeMatchingHeaders(/^content-/i, this._options.headers); } - /** - * Gets the url. - * - * @readonly - */ - get url() { - return this._url; + var currentHostHeader = removeMatchingHeaders(/^host$/i, this._options.headers); + var currentUrlParts = parseUrl2(this._currentUrl); + var currentHost = currentHostHeader || currentUrlParts.host; + var currentUrl = /^\w+:/.test(location) ? this._currentUrl : url.format(Object.assign(currentUrlParts, { host: currentHost })); + var redirectUrl = resolveUrl(location, currentUrl); + debug4("redirecting to", redirectUrl.href); + this._isRedirect = true; + spreadUrlObject(redirectUrl, this._options); + if (redirectUrl.protocol !== currentUrlParts.protocol && redirectUrl.protocol !== "https:" || redirectUrl.host !== currentHost && !isSubdomain(redirectUrl.host, currentHost)) { + removeMatchingHeaders(/^(?:(?:proxy-)?authorization|cookie)$/i, this._options.headers); } - /** - * Creates an instance of BlobLeaseClient. - * @param client - The client to make the lease operation requests. - * @param leaseId - Initial proposed lease id. - */ - constructor(client, leaseId) { - const clientContext = client.storageClientContext; - this._url = client.url; - if (client.name === void 0) { - this._isContainer = true; - this._containerOrBlobOperation = clientContext.container; - } else { - this._isContainer = false; - this._containerOrBlobOperation = clientContext.blob; - } - if (!leaseId) { - leaseId = (0, core_util_1.randomUUID)(); + if (isFunction(beforeRedirect)) { + var responseDetails = { + headers: response.headers, + statusCode + }; + var requestDetails = { + url: currentUrl, + method, + headers: requestHeaders + }; + beforeRedirect(this._options, responseDetails, requestDetails); + this._sanitizeOptions(this._options); + } + this._performRequest(); + }; + function wrap(protocols) { + var exports3 = { + maxRedirects: 21, + maxBodyLength: 10 * 1024 * 1024 + }; + var nativeProtocols = {}; + Object.keys(protocols).forEach(function(scheme) { + var protocol = scheme + ":"; + var nativeProtocol = nativeProtocols[protocol] = protocols[scheme]; + var wrappedProtocol = exports3[scheme] = Object.create(nativeProtocol); + function request2(input, options, callback) { + if (isURL(input)) { + input = spreadUrlObject(input); + } else if (isString(input)) { + input = spreadUrlObject(parseUrl2(input)); + } else { + callback = options; + options = validateUrl(input); + input = { protocol }; + } + if (isFunction(options)) { + callback = options; + options = null; + } + options = Object.assign({ + maxRedirects: exports3.maxRedirects, + maxBodyLength: exports3.maxBodyLength + }, input, options); + options.nativeProtocols = nativeProtocols; + if (!isString(options.host) && !isString(options.hostname)) { + options.hostname = "::1"; + } + assert.equal(options.protocol, protocol, "protocol mismatch"); + debug4("options", options); + return new RedirectableRequest(options, callback); } - this._leaseId = leaseId; - } - /** - * Establishes and manages a lock on a container for delete operations, or on a blob - * for write and delete operations. - * The lock duration can be 15 to 60 seconds, or can be infinite. - * @see https://learn.microsoft.com/rest/api/storageservices/lease-container - * and - * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob - * - * @param duration - Must be between 15 to 60 seconds, or infinite (-1) - * @param options - option to configure lease management operations. - * @returns Response data for acquire lease operation. - */ - async acquireLease(duration, options = {}) { - if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) { - throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable."); + function get(input, options, callback) { + var wrappedRequest = wrappedProtocol.request(input, options, callback); + wrappedRequest.end(); + return wrappedRequest; } - return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-acquireLease", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.acquireLease({ - abortSignal: options.abortSignal, - duration, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - proposedLeaseId: this._leaseId, - tracingOptions: updatedOptions.tracingOptions - })); + Object.defineProperties(wrappedProtocol, { + request: { value: request2, configurable: true, enumerable: true, writable: true }, + get: { value: get, configurable: true, enumerable: true, writable: true } }); - } - /** - * To change the ID of the lease. - * @see https://learn.microsoft.com/rest/api/storageservices/lease-container - * and - * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob - * - * @param proposedLeaseId - the proposed new lease Id. - * @param options - option to configure lease management operations. - * @returns Response data for change lease operation. - */ - async changeLease(proposedLeaseId, options = {}) { - if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) { - throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable."); + }); + return exports3; + } + function noop3() { + } + function parseUrl2(input) { + var parsed; + if (useNativeURL) { + parsed = new URL2(input); + } else { + parsed = validateUrl(url.parse(input)); + if (!isString(parsed.protocol)) { + throw new InvalidUrlError({ input }); } - return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-changeLease", options, async (updatedOptions) => { - const response = (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.changeLease(this._leaseId, proposedLeaseId, { - abortSignal: options.abortSignal, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - tracingOptions: updatedOptions.tracingOptions - })); - this._leaseId = proposedLeaseId; - return response; - }); } - /** - * To free the lease if it is no longer needed so that another client may - * immediately acquire a lease against the container or the blob. - * @see https://learn.microsoft.com/rest/api/storageservices/lease-container - * and - * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob - * - * @param options - option to configure lease management operations. - * @returns Response data for release lease operation. - */ - async releaseLease(options = {}) { - if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) { - throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable."); + return parsed; + } + function resolveUrl(relative, base) { + return useNativeURL ? new URL2(relative, base) : parseUrl2(url.resolve(base, relative)); + } + function validateUrl(input) { + if (/^\[/.test(input.hostname) && !/^\[[:0-9a-f]+\]$/i.test(input.hostname)) { + throw new InvalidUrlError({ input: input.href || input }); + } + if (/^\[/.test(input.host) && !/^\[[:0-9a-f]+\](:\d+)?$/i.test(input.host)) { + throw new InvalidUrlError({ input: input.href || input }); + } + return input; + } + function spreadUrlObject(urlObject, target) { + var spread = target || {}; + for (var key of preservedUrlFields) { + spread[key] = urlObject[key]; + } + if (spread.hostname.startsWith("[")) { + spread.hostname = spread.hostname.slice(1, -1); + } + if (spread.port !== "") { + spread.port = Number(spread.port); + } + spread.path = spread.search ? spread.pathname + spread.search : spread.pathname; + return spread; + } + function removeMatchingHeaders(regex, headers) { + var lastValue; + for (var header in headers) { + if (regex.test(header)) { + lastValue = headers[header]; + delete headers[header]; } - return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-releaseLease", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.releaseLease(this._leaseId, { - abortSignal: options.abortSignal, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - tracingOptions: updatedOptions.tracingOptions - })); - }); } - /** - * To renew the lease. - * @see https://learn.microsoft.com/rest/api/storageservices/lease-container - * and - * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob - * - * @param options - Optional option to configure lease management operations. - * @returns Response data for renew lease operation. - */ - async renewLease(options = {}) { - if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) { - throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable."); + return lastValue === null || typeof lastValue === "undefined" ? void 0 : String(lastValue).trim(); + } + function createErrorType(code, message, baseClass) { + function CustomError(properties) { + if (isFunction(Error.captureStackTrace)) { + Error.captureStackTrace(this, this.constructor); } - return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-renewLease", options, async (updatedOptions) => { - return this._containerOrBlobOperation.renewLease(this._leaseId, { - abortSignal: options.abortSignal, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - tracingOptions: updatedOptions.tracingOptions - }); - }); + Object.assign(this, properties || {}); + this.code = code; + this.message = this.cause ? message + ": " + this.cause.message : message; } - /** - * To end the lease but ensure that another client cannot acquire a new lease - * until the current lease period has expired. - * @see https://learn.microsoft.com/rest/api/storageservices/lease-container - * and - * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob - * - * @param breakPeriod - Break period - * @param options - Optional options to configure lease management operations. - * @returns Response data for break lease operation. - */ - async breakLease(breakPeriod, options = {}) { - if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) { - throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable."); + CustomError.prototype = new (baseClass || Error)(); + Object.defineProperties(CustomError.prototype, { + constructor: { + value: CustomError, + enumerable: false + }, + name: { + value: "Error [" + code + "]", + enumerable: false } - return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-breakLease", options, async (updatedOptions) => { - const operationOptions = { - abortSignal: options.abortSignal, - breakPeriod, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - tracingOptions: updatedOptions.tracingOptions - }; - return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.breakLease(operationOptions)); - }); + }); + return CustomError; + } + function destroyRequest(request2, error3) { + for (var event of events) { + request2.removeListener(event, eventHandlers[event]); } - }; - exports2.BlobLeaseClient = BlobLeaseClient; + request2.on("error", noop3); + request2.destroy(error3); + } + function isSubdomain(subdomain, domain) { + assert(isString(subdomain) && isString(domain)); + var dot = subdomain.length - domain.length - 1; + return dot > 0 && subdomain[dot] === "." && subdomain.endsWith(domain); + } + function isString(value) { + return typeof value === "string" || value instanceof String; + } + function isFunction(value) { + return typeof value === "function"; + } + function isBuffer(value) { + return typeof value === "object" && "length" in value; + } + function isURL(value) { + return URL2 && value instanceof URL2; + } + module2.exports = wrap({ http, https: https2 }); + module2.exports.wrap = wrap; } }); -// node_modules/@azure/storage-blob/dist/commonjs/utils/RetriableReadableStream.js -var require_RetriableReadableStream = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/utils/RetriableReadableStream.js"(exports2) { +// node_modules/@actions/artifact/lib/internal/shared/config.js +var require_config2 = __commonJS({ + "node_modules/@actions/artifact/lib/internal/shared/config.js"(exports2) { "use strict"; + var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { + return mod && mod.__esModule ? mod : { "default": mod }; + }; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.RetriableReadableStream = void 0; - var abort_controller_1 = require_commonjs11(); - var node_stream_1 = require("node:stream"); - var RetriableReadableStream = class extends node_stream_1.Readable { - start; - offset; - end; - getter; - source; - retries = 0; - maxRetryRequests; - onProgress; - options; - /** - * Creates an instance of RetriableReadableStream. - * - * @param source - The current ReadableStream returned from getter - * @param getter - A method calling downloading request returning - * a new ReadableStream from specified offset - * @param offset - Offset position in original data source to read - * @param count - How much data in original data source to read - * @param options - - */ - constructor(source, getter, offset, count, options = {}) { - super({ highWaterMark: options.highWaterMark }); - this.getter = getter; - this.source = source; - this.start = offset; - this.offset = offset; - this.end = offset + count - 1; - this.maxRetryRequests = options.maxRetryRequests && options.maxRetryRequests >= 0 ? options.maxRetryRequests : 0; - this.onProgress = options.onProgress; - this.options = options; - this.setSourceEventHandlers(); + exports2.getMaxArtifactListCount = exports2.getUploadChunkTimeout = exports2.getConcurrency = exports2.getGitHubWorkspaceDir = exports2.isGhes = exports2.getResultsServiceUrl = exports2.getRuntimeToken = exports2.getUploadChunkSize = void 0; + var os_1 = __importDefault2(require("os")); + var core_1 = require_core(); + function getUploadChunkSize() { + return 8 * 1024 * 1024; + } + exports2.getUploadChunkSize = getUploadChunkSize; + function getRuntimeToken() { + const token = process.env["ACTIONS_RUNTIME_TOKEN"]; + if (!token) { + throw new Error("Unable to get the ACTIONS_RUNTIME_TOKEN env variable"); } - _read() { - this.source.resume(); + return token; + } + exports2.getRuntimeToken = getRuntimeToken; + function getResultsServiceUrl() { + const resultsUrl = process.env["ACTIONS_RESULTS_URL"]; + if (!resultsUrl) { + throw new Error("Unable to get the ACTIONS_RESULTS_URL env variable"); } - setSourceEventHandlers() { - this.source.on("data", this.sourceDataHandler); - this.source.on("end", this.sourceErrorOrEndHandler); - this.source.on("error", this.sourceErrorOrEndHandler); - this.source.on("aborted", this.sourceAbortedHandler); + return new URL(resultsUrl).origin; + } + exports2.getResultsServiceUrl = getResultsServiceUrl; + function isGhes() { + const ghUrl = new URL(process.env["GITHUB_SERVER_URL"] || "https://github.com"); + const hostname = ghUrl.hostname.trimEnd().toUpperCase(); + const isGitHubHost = hostname === "GITHUB.COM"; + const isGheHost = hostname.endsWith(".GHE.COM"); + const isLocalHost = hostname.endsWith(".LOCALHOST"); + return !isGitHubHost && !isGheHost && !isLocalHost; + } + exports2.isGhes = isGhes; + function getGitHubWorkspaceDir() { + const ghWorkspaceDir = process.env["GITHUB_WORKSPACE"]; + if (!ghWorkspaceDir) { + throw new Error("Unable to get the GITHUB_WORKSPACE env variable"); } - removeSourceEventHandlers() { - this.source.removeListener("data", this.sourceDataHandler); - this.source.removeListener("end", this.sourceErrorOrEndHandler); - this.source.removeListener("error", this.sourceErrorOrEndHandler); - this.source.removeListener("aborted", this.sourceAbortedHandler); + return ghWorkspaceDir; + } + exports2.getGitHubWorkspaceDir = getGitHubWorkspaceDir; + function getConcurrency() { + const numCPUs = os_1.default.cpus().length; + let concurrencyCap = 32; + if (numCPUs > 4) { + const concurrency = 16 * numCPUs; + concurrencyCap = concurrency > 300 ? 300 : concurrency; } - sourceDataHandler = (data) => { - if (this.options.doInjectErrorOnce) { - this.options.doInjectErrorOnce = void 0; - this.source.pause(); - this.sourceErrorOrEndHandler(); - this.source.destroy(); - return; - } - this.offset += data.length; - if (this.onProgress) { - this.onProgress({ loadedBytes: this.offset - this.start }); - } - if (!this.push(data)) { - this.source.pause(); - } - }; - sourceAbortedHandler = () => { - const abortError = new abort_controller_1.AbortError("The operation was aborted."); - this.destroy(abortError); - }; - sourceErrorOrEndHandler = (err) => { - if (err && err.name === "AbortError") { - this.destroy(err); - return; + const concurrencyOverride = process.env["ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY"]; + if (concurrencyOverride) { + const concurrency = parseInt(concurrencyOverride); + if (isNaN(concurrency) || concurrency < 1) { + throw new Error("Invalid value set for ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY env variable"); } - this.removeSourceEventHandlers(); - if (this.offset - 1 === this.end) { - this.push(null); - } else if (this.offset <= this.end) { - if (this.retries < this.maxRetryRequests) { - this.retries += 1; - this.getter(this.offset).then((newSource) => { - this.source = newSource; - this.setSourceEventHandlers(); - return; - }).catch((error3) => { - this.destroy(error3); - }); - } else { - this.destroy(new Error(`Data corruption failure: received less data than required and reached maxRetires limitation. Received data offset: ${this.offset - 1}, data needed offset: ${this.end}, retries: ${this.retries}, max retries: ${this.maxRetryRequests}`)); - } - } else { - this.destroy(new Error(`Data corruption failure: Received more data than original request, data needed offset is ${this.end}, received offset: ${this.offset - 1}`)); + if (concurrency < concurrencyCap) { + (0, core_1.info)(`Set concurrency based on the value set in ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY.`); + return concurrency; } - }; - _destroy(error3, callback) { - this.removeSourceEventHandlers(); - this.source.destroy(); - callback(error3 === null ? void 0 : error3); + (0, core_1.info)(`ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY is higher than the cap of ${concurrencyCap} based on the number of cpus. Set it to the maximum value allowed.`); + return concurrencyCap; } - }; - exports2.RetriableReadableStream = RetriableReadableStream; + return 5; + } + exports2.getConcurrency = getConcurrency; + function getUploadChunkTimeout() { + const timeoutVar = process.env["ACTIONS_ARTIFACT_UPLOAD_TIMEOUT_MS"]; + if (!timeoutVar) { + return 3e5; + } + const timeout = parseInt(timeoutVar); + if (isNaN(timeout)) { + throw new Error("Invalid value set for ACTIONS_ARTIFACT_UPLOAD_TIMEOUT_MS env variable"); + } + return timeout; + } + exports2.getUploadChunkTimeout = getUploadChunkTimeout; + function getMaxArtifactListCount() { + const maxCountVar = process.env["ACTIONS_ARTIFACT_MAX_ARTIFACT_COUNT"] || "1000"; + const maxCount = parseInt(maxCountVar); + if (isNaN(maxCount) || maxCount < 1) { + throw new Error("Invalid value set for ACTIONS_ARTIFACT_MAX_ARTIFACT_COUNT env variable"); + } + return maxCount; + } + exports2.getMaxArtifactListCount = getMaxArtifactListCount; } }); -// node_modules/@azure/storage-blob/dist/commonjs/BlobDownloadResponse.js -var require_BlobDownloadResponse = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/BlobDownloadResponse.js"(exports2) { +// node_modules/@actions/artifact/lib/generated/google/protobuf/timestamp.js +var require_timestamp = __commonJS({ + "node_modules/@actions/artifact/lib/generated/google/protobuf/timestamp.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.BlobDownloadResponse = void 0; - var core_util_1 = require_commonjs4(); - var RetriableReadableStream_js_1 = require_RetriableReadableStream(); - var BlobDownloadResponse = class { - /** - * Indicates that the service supports - * requests for partial file content. - * - * @readonly - */ - get acceptRanges() { - return this.originalResponse.acceptRanges; - } - /** - * Returns if it was previously specified - * for the file. - * - * @readonly - */ - get cacheControl() { - return this.originalResponse.cacheControl; - } - /** - * Returns the value that was specified - * for the 'x-ms-content-disposition' header and specifies how to process the - * response. - * - * @readonly - */ - get contentDisposition() { - return this.originalResponse.contentDisposition; - } - /** - * Returns the value that was specified - * for the Content-Encoding request header. - * - * @readonly - */ - get contentEncoding() { - return this.originalResponse.contentEncoding; - } - /** - * Returns the value that was specified - * for the Content-Language request header. - * - * @readonly - */ - get contentLanguage() { - return this.originalResponse.contentLanguage; - } - /** - * The current sequence number for a - * page blob. This header is not returned for block blobs or append blobs. - * - * @readonly - */ - get blobSequenceNumber() { - return this.originalResponse.blobSequenceNumber; - } - /** - * The blob's type. Possible values include: - * 'BlockBlob', 'PageBlob', 'AppendBlob'. - * - * @readonly - */ - get blobType() { - return this.originalResponse.blobType; - } - /** - * The number of bytes present in the - * response body. - * - * @readonly - */ - get contentLength() { - return this.originalResponse.contentLength; + exports2.Timestamp = void 0; + var runtime_1 = require_commonjs16(); + var runtime_2 = require_commonjs16(); + var runtime_3 = require_commonjs16(); + var runtime_4 = require_commonjs16(); + var runtime_5 = require_commonjs16(); + var runtime_6 = require_commonjs16(); + var runtime_7 = require_commonjs16(); + var Timestamp$Type = class extends runtime_7.MessageType { + constructor() { + super("google.protobuf.Timestamp", [ + { + no: 1, + name: "seconds", + kind: "scalar", + T: 3 + /*ScalarType.INT64*/ + }, + { + no: 2, + name: "nanos", + kind: "scalar", + T: 5 + /*ScalarType.INT32*/ + } + ]); } /** - * If the file has an MD5 hash and the - * request is to read the full file, this response header is returned so that - * the client can check for message content integrity. If the request is to - * read a specified range and the 'x-ms-range-get-content-md5' is set to - * true, then the request returns an MD5 hash for the range, as long as the - * range size is less than or equal to 4 MB. If neither of these sets of - * conditions is true, then no value is returned for the 'Content-MD5' - * header. - * - * @readonly + * Creates a new `Timestamp` for the current time. */ - get contentMD5() { - return this.originalResponse.contentMD5; + now() { + const msg = this.create(); + const ms = Date.now(); + msg.seconds = runtime_6.PbLong.from(Math.floor(ms / 1e3)).toString(); + msg.nanos = ms % 1e3 * 1e6; + return msg; } /** - * Indicates the range of bytes returned if - * the client requested a subset of the file by setting the Range request - * header. - * - * @readonly + * Converts a `Timestamp` to a JavaScript Date. */ - get contentRange() { - return this.originalResponse.contentRange; + toDate(message) { + return new Date(runtime_6.PbLong.from(message.seconds).toNumber() * 1e3 + Math.ceil(message.nanos / 1e6)); } /** - * The content type specified for the file. - * The default content type is 'application/octet-stream' - * - * @readonly + * Converts a JavaScript Date to a `Timestamp`. */ - get contentType() { - return this.originalResponse.contentType; + fromDate(date) { + const msg = this.create(); + const ms = date.getTime(); + msg.seconds = runtime_6.PbLong.from(Math.floor(ms / 1e3)).toString(); + msg.nanos = ms % 1e3 * 1e6; + return msg; } /** - * Conclusion time of the last attempted - * Copy File operation where this file was the destination file. This value - * can specify the time of a completed, aborted, or failed copy attempt. - * - * @readonly + * In JSON format, the `Timestamp` type is encoded as a string + * in the RFC 3339 format. */ - get copyCompletedOn() { - return this.originalResponse.copyCompletedOn; + internalJsonWrite(message, options) { + let ms = runtime_6.PbLong.from(message.seconds).toNumber() * 1e3; + if (ms < Date.parse("0001-01-01T00:00:00Z") || ms > Date.parse("9999-12-31T23:59:59Z")) + throw new Error("Unable to encode Timestamp to JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive."); + if (message.nanos < 0) + throw new Error("Unable to encode invalid Timestamp to JSON. Nanos must not be negative."); + let z = "Z"; + if (message.nanos > 0) { + let nanosStr = (message.nanos + 1e9).toString().substring(1); + if (nanosStr.substring(3) === "000000") + z = "." + nanosStr.substring(0, 3) + "Z"; + else if (nanosStr.substring(6) === "000") + z = "." + nanosStr.substring(0, 6) + "Z"; + else + z = "." + nanosStr + "Z"; + } + return new Date(ms).toISOString().replace(".000Z", z); } /** - * String identifier for the last attempted Copy - * File operation where this file was the destination file. - * - * @readonly + * In JSON format, the `Timestamp` type is encoded as a string + * in the RFC 3339 format. */ - get copyId() { - return this.originalResponse.copyId; + internalJsonRead(json2, options, target) { + if (typeof json2 !== "string") + throw new Error("Unable to parse Timestamp from JSON " + (0, runtime_5.typeofJsonValue)(json2) + "."); + let matches = json2.match(/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(?:Z|\.([0-9]{3,9})Z|([+-][0-9][0-9]:[0-9][0-9]))$/); + if (!matches) + throw new Error("Unable to parse Timestamp from JSON. Invalid format."); + let ms = Date.parse(matches[1] + "-" + matches[2] + "-" + matches[3] + "T" + matches[4] + ":" + matches[5] + ":" + matches[6] + (matches[8] ? matches[8] : "Z")); + if (Number.isNaN(ms)) + throw new Error("Unable to parse Timestamp from JSON. Invalid value."); + if (ms < Date.parse("0001-01-01T00:00:00Z") || ms > Date.parse("9999-12-31T23:59:59Z")) + throw new globalThis.Error("Unable to parse Timestamp from JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive."); + if (!target) + target = this.create(); + target.seconds = runtime_6.PbLong.from(ms / 1e3).toString(); + target.nanos = 0; + if (matches[7]) + target.nanos = parseInt("1" + matches[7] + "0".repeat(9 - matches[7].length)) - 1e9; + return target; } - /** - * Contains the number of bytes copied and - * the total bytes in the source in the last attempted Copy File operation - * where this file was the destination file. Can show between 0 and - * Content-Length bytes copied. - * - * @readonly - */ - get copyProgress() { - return this.originalResponse.copyProgress; + create(value) { + const message = { seconds: "0", nanos: 0 }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; } - /** - * URL up to 2KB in length that specifies the - * source file used in the last attempted Copy File operation where this file - * was the destination file. - * - * @readonly - */ - get copySource() { - return this.originalResponse.copySource; + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* int64 seconds */ + 1: + message.seconds = reader.int64().toString(); + break; + case /* int32 nanos */ + 2: + message.nanos = reader.int32(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; } - /** - * State of the copy operation - * identified by 'x-ms-copy-id'. Possible values include: 'pending', - * 'success', 'aborted', 'failed' - * - * @readonly - */ - get copyStatus() { - return this.originalResponse.copyStatus; + internalBinaryWrite(message, writer, options) { + if (message.seconds !== "0") + writer.tag(1, runtime_1.WireType.Varint).int64(message.seconds); + if (message.nanos !== 0) + writer.tag(2, runtime_1.WireType.Varint).int32(message.nanos); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } - /** - * Only appears when - * x-ms-copy-status is failed or pending. Describes cause of fatal or - * non-fatal copy operation failure. - * - * @readonly - */ - get copyStatusDescription() { - return this.originalResponse.copyStatusDescription; + }; + exports2.Timestamp = new Timestamp$Type(); + } +}); + +// node_modules/@actions/artifact/lib/generated/google/protobuf/wrappers.js +var require_wrappers = __commonJS({ + "node_modules/@actions/artifact/lib/generated/google/protobuf/wrappers.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.BytesValue = exports2.StringValue = exports2.BoolValue = exports2.UInt32Value = exports2.Int32Value = exports2.UInt64Value = exports2.Int64Value = exports2.FloatValue = exports2.DoubleValue = void 0; + var runtime_1 = require_commonjs16(); + var runtime_2 = require_commonjs16(); + var runtime_3 = require_commonjs16(); + var runtime_4 = require_commonjs16(); + var runtime_5 = require_commonjs16(); + var runtime_6 = require_commonjs16(); + var runtime_7 = require_commonjs16(); + var DoubleValue$Type = class extends runtime_7.MessageType { + constructor() { + super("google.protobuf.DoubleValue", [ + { + no: 1, + name: "value", + kind: "scalar", + T: 1 + /*ScalarType.DOUBLE*/ + } + ]); } /** - * When a blob is leased, - * specifies whether the lease is of infinite or fixed duration. Possible - * values include: 'infinite', 'fixed'. - * - * @readonly + * Encode `DoubleValue` to JSON number. */ - get leaseDuration() { - return this.originalResponse.leaseDuration; + internalJsonWrite(message, options) { + return this.refJsonWriter.scalar(2, message.value, "value", false, true); } /** - * Lease state of the blob. Possible - * values include: 'available', 'leased', 'expired', 'breaking', 'broken'. - * - * @readonly + * Decode `DoubleValue` from JSON number. */ - get leaseState() { - return this.originalResponse.leaseState; + internalJsonRead(json2, options, target) { + if (!target) + target = this.create(); + target.value = this.refJsonReader.scalar(json2, 1, void 0, "value"); + return target; } - /** - * The current lease status of the - * blob. Possible values include: 'locked', 'unlocked'. - * - * @readonly - */ - get leaseStatus() { - return this.originalResponse.leaseStatus; + create(value) { + const message = { value: 0 }; + globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_5.reflectionMergePartial)(this, message, value); + return message; } - /** - * A UTC date/time value generated by the service that - * indicates the time at which the response was initiated. - * - * @readonly - */ - get date() { - return this.originalResponse.date; + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* double value */ + 1: + message.value = reader.double(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; } - /** - * The number of committed blocks - * present in the blob. This header is returned only for append blobs. - * - * @readonly - */ - get blobCommittedBlockCount() { - return this.originalResponse.blobCommittedBlockCount; + internalBinaryWrite(message, writer, options) { + if (message.value !== 0) + writer.tag(1, runtime_3.WireType.Bit64).double(message.value); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } - /** - * The ETag contains a value that you can use to - * perform operations conditionally, in quotes. - * - * @readonly - */ - get etag() { - return this.originalResponse.etag; + }; + exports2.DoubleValue = new DoubleValue$Type(); + var FloatValue$Type = class extends runtime_7.MessageType { + constructor() { + super("google.protobuf.FloatValue", [ + { + no: 1, + name: "value", + kind: "scalar", + T: 2 + /*ScalarType.FLOAT*/ + } + ]); } /** - * The number of tags associated with the blob - * - * @readonly + * Encode `FloatValue` to JSON number. */ - get tagCount() { - return this.originalResponse.tagCount; + internalJsonWrite(message, options) { + return this.refJsonWriter.scalar(1, message.value, "value", false, true); } /** - * The error code. - * - * @readonly + * Decode `FloatValue` from JSON number. */ - get errorCode() { - return this.originalResponse.errorCode; + internalJsonRead(json2, options, target) { + if (!target) + target = this.create(); + target.value = this.refJsonReader.scalar(json2, 1, void 0, "value"); + return target; } - /** - * The value of this header is set to - * true if the file data and application metadata are completely encrypted - * using the specified algorithm. Otherwise, the value is set to false (when - * the file is unencrypted, or if only parts of the file/application metadata - * are encrypted). - * - * @readonly - */ - get isServerEncrypted() { - return this.originalResponse.isServerEncrypted; + create(value) { + const message = { value: 0 }; + globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_5.reflectionMergePartial)(this, message, value); + return message; } - /** - * If the blob has a MD5 hash, and if - * request contains range header (Range or x-ms-range), this response header - * is returned with the value of the whole blob's MD5 value. This value may - * or may not be equal to the value returned in Content-MD5 header, with the - * latter calculated from the requested range. - * - * @readonly - */ - get blobContentMD5() { - return this.originalResponse.blobContentMD5; + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* float value */ + 1: + message.value = reader.float(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; } - /** - * Returns the date and time the file was last - * modified. Any operation that modifies the file or its properties updates - * the last modified time. - * - * @readonly - */ - get lastModified() { - return this.originalResponse.lastModified; + internalBinaryWrite(message, writer, options) { + if (message.value !== 0) + writer.tag(1, runtime_3.WireType.Bit32).float(message.value); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } - /** - * Returns the UTC date and time generated by the service that indicates the time at which the blob was - * last read or written to. - * - * @readonly - */ - get lastAccessed() { - return this.originalResponse.lastAccessed; + }; + exports2.FloatValue = new FloatValue$Type(); + var Int64Value$Type = class extends runtime_7.MessageType { + constructor() { + super("google.protobuf.Int64Value", [ + { + no: 1, + name: "value", + kind: "scalar", + T: 3 + /*ScalarType.INT64*/ + } + ]); } /** - * Returns the date and time the blob was created. - * - * @readonly + * Encode `Int64Value` to JSON string. */ - get createdOn() { - return this.originalResponse.createdOn; + internalJsonWrite(message, options) { + return this.refJsonWriter.scalar(runtime_1.ScalarType.INT64, message.value, "value", false, true); } /** - * A name-value pair - * to associate with a file storage object. - * - * @readonly + * Decode `Int64Value` from JSON string. */ - get metadata() { - return this.originalResponse.metadata; + internalJsonRead(json2, options, target) { + if (!target) + target = this.create(); + target.value = this.refJsonReader.scalar(json2, runtime_1.ScalarType.INT64, runtime_2.LongType.STRING, "value"); + return target; } - /** - * This header uniquely identifies the request - * that was made and can be used for troubleshooting the request. - * - * @readonly - */ - get requestId() { - return this.originalResponse.requestId; + create(value) { + const message = { value: "0" }; + globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_5.reflectionMergePartial)(this, message, value); + return message; } - /** - * If a client request id header is sent in the request, this header will be present in the - * response with the same value. - * - * @readonly - */ - get clientRequestId() { - return this.originalResponse.clientRequestId; + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* int64 value */ + 1: + message.value = reader.int64().toString(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; } - /** - * Indicates the version of the Blob service used - * to execute the request. - * - * @readonly - */ - get version() { - return this.originalResponse.version; + internalBinaryWrite(message, writer, options) { + if (message.value !== "0") + writer.tag(1, runtime_3.WireType.Varint).int64(message.value); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } - /** - * Indicates the versionId of the downloaded blob version. - * - * @readonly - */ - get versionId() { - return this.originalResponse.versionId; + }; + exports2.Int64Value = new Int64Value$Type(); + var UInt64Value$Type = class extends runtime_7.MessageType { + constructor() { + super("google.protobuf.UInt64Value", [ + { + no: 1, + name: "value", + kind: "scalar", + T: 4 + /*ScalarType.UINT64*/ + } + ]); } /** - * Indicates whether version of this blob is a current version. - * - * @readonly + * Encode `UInt64Value` to JSON string. */ - get isCurrentVersion() { - return this.originalResponse.isCurrentVersion; + internalJsonWrite(message, options) { + return this.refJsonWriter.scalar(runtime_1.ScalarType.UINT64, message.value, "value", false, true); } /** - * The SHA-256 hash of the encryption key used to encrypt the blob. This value is only returned - * when the blob was encrypted with a customer-provided key. - * - * @readonly + * Decode `UInt64Value` from JSON string. */ - get encryptionKeySha256() { - return this.originalResponse.encryptionKeySha256; + internalJsonRead(json2, options, target) { + if (!target) + target = this.create(); + target.value = this.refJsonReader.scalar(json2, runtime_1.ScalarType.UINT64, runtime_2.LongType.STRING, "value"); + return target; } - /** - * If the request is to read a specified range and the x-ms-range-get-content-crc64 is set to - * true, then the request returns a crc64 for the range, as long as the range size is less than - * or equal to 4 MB. If both x-ms-range-get-content-crc64 & x-ms-range-get-content-md5 is - * specified in the same request, it will fail with 400(Bad Request) - */ - get contentCrc64() { - return this.originalResponse.contentCrc64; + create(value) { + const message = { value: "0" }; + globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_5.reflectionMergePartial)(this, message, value); + return message; } - /** - * Object Replication Policy Id of the destination blob. - * - * @readonly - */ - get objectReplicationDestinationPolicyId() { - return this.originalResponse.objectReplicationDestinationPolicyId; + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* uint64 value */ + 1: + message.value = reader.uint64().toString(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; } - /** - * Parsed Object Replication Policy Id, Rule Id(s) and status of the source blob. - * - * @readonly - */ - get objectReplicationSourceProperties() { - return this.originalResponse.objectReplicationSourceProperties; + internalBinaryWrite(message, writer, options) { + if (message.value !== "0") + writer.tag(1, runtime_3.WireType.Varint).uint64(message.value); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } - /** - * If this blob has been sealed. - * - * @readonly - */ - get isSealed() { - return this.originalResponse.isSealed; + }; + exports2.UInt64Value = new UInt64Value$Type(); + var Int32Value$Type = class extends runtime_7.MessageType { + constructor() { + super("google.protobuf.Int32Value", [ + { + no: 1, + name: "value", + kind: "scalar", + T: 5 + /*ScalarType.INT32*/ + } + ]); } /** - * UTC date/time value generated by the service that indicates the time at which the blob immutability policy will expire. - * - * @readonly + * Encode `Int32Value` to JSON string. */ - get immutabilityPolicyExpiresOn() { - return this.originalResponse.immutabilityPolicyExpiresOn; + internalJsonWrite(message, options) { + return this.refJsonWriter.scalar(5, message.value, "value", false, true); } /** - * Indicates immutability policy mode. - * - * @readonly + * Decode `Int32Value` from JSON string. */ - get immutabilityPolicyMode() { - return this.originalResponse.immutabilityPolicyMode; + internalJsonRead(json2, options, target) { + if (!target) + target = this.create(); + target.value = this.refJsonReader.scalar(json2, 5, void 0, "value"); + return target; } - /** - * Indicates if a legal hold is present on the blob. - * - * @readonly - */ - get legalHold() { - return this.originalResponse.legalHold; + create(value) { + const message = { value: 0 }; + globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_5.reflectionMergePartial)(this, message, value); + return message; } - /** - * The response body as a browser Blob. - * Always undefined in node.js. - * - * @readonly - */ - get contentAsBlob() { - return this.originalResponse.blobBody; + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* int32 value */ + 1: + message.value = reader.int32(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; } - /** - * The response body as a node.js Readable stream. - * Always undefined in the browser. - * - * It will automatically retry when internal read stream unexpected ends. - * - * @readonly - */ - get readableStreamBody() { - return core_util_1.isNodeLike ? this.blobDownloadStream : void 0; + internalBinaryWrite(message, writer, options) { + if (message.value !== 0) + writer.tag(1, runtime_3.WireType.Varint).int32(message.value); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; + } + }; + exports2.Int32Value = new Int32Value$Type(); + var UInt32Value$Type = class extends runtime_7.MessageType { + constructor() { + super("google.protobuf.UInt32Value", [ + { + no: 1, + name: "value", + kind: "scalar", + T: 13 + /*ScalarType.UINT32*/ + } + ]); } /** - * The HTTP response. + * Encode `UInt32Value` to JSON string. */ - get _response() { - return this.originalResponse._response; + internalJsonWrite(message, options) { + return this.refJsonWriter.scalar(13, message.value, "value", false, true); } - originalResponse; - blobDownloadStream; /** - * Creates an instance of BlobDownloadResponse. - * - * @param originalResponse - - * @param getter - - * @param offset - - * @param count - - * @param options - + * Decode `UInt32Value` from JSON string. */ - constructor(originalResponse, getter, offset, count, options = {}) { - this.originalResponse = originalResponse; - this.blobDownloadStream = new RetriableReadableStream_js_1.RetriableReadableStream(this.originalResponse.readableStreamBody, getter, offset, count, options); + internalJsonRead(json2, options, target) { + if (!target) + target = this.create(); + target.value = this.refJsonReader.scalar(json2, 13, void 0, "value"); + return target; + } + create(value) { + const message = { value: 0 }; + globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_5.reflectionMergePartial)(this, message, value); + return message; + } + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* uint32 value */ + 1: + message.value = reader.uint32(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; + } + internalBinaryWrite(message, writer, options) { + if (message.value !== 0) + writer.tag(1, runtime_3.WireType.Varint).uint32(message.value); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } }; - exports2.BlobDownloadResponse = BlobDownloadResponse; - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroConstants.js -var require_AvroConstants = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroConstants.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.AVRO_SCHEMA_KEY = exports2.AVRO_CODEC_KEY = exports2.AVRO_INIT_BYTES = exports2.AVRO_SYNC_MARKER_SIZE = void 0; - exports2.AVRO_SYNC_MARKER_SIZE = 16; - exports2.AVRO_INIT_BYTES = new Uint8Array([79, 98, 106, 1]); - exports2.AVRO_CODEC_KEY = "avro.codec"; - exports2.AVRO_SCHEMA_KEY = "avro.schema"; - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroParser.js -var require_AvroParser = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroParser.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.AvroType = exports2.AvroParser = void 0; - var AvroParser = class _AvroParser { + exports2.UInt32Value = new UInt32Value$Type(); + var BoolValue$Type = class extends runtime_7.MessageType { + constructor() { + super("google.protobuf.BoolValue", [ + { + no: 1, + name: "value", + kind: "scalar", + T: 8 + /*ScalarType.BOOL*/ + } + ]); + } /** - * Reads a fixed number of bytes from the stream. - * - * @param stream - - * @param length - - * @param options - + * Encode `BoolValue` to JSON bool. */ - static async readFixedBytes(stream, length, options = {}) { - const bytes = await stream.read(length, { abortSignal: options.abortSignal }); - if (bytes.length !== length) { - throw new Error("Hit stream end."); - } - return bytes; + internalJsonWrite(message, options) { + return message.value; } /** - * Reads a single byte from the stream. - * - * @param stream - - * @param options - + * Decode `BoolValue` from JSON bool. */ - static async readByte(stream, options = {}) { - const buf = await _AvroParser.readFixedBytes(stream, 1, options); - return buf[0]; + internalJsonRead(json2, options, target) { + if (!target) + target = this.create(); + target.value = this.refJsonReader.scalar(json2, 8, void 0, "value"); + return target; } - // int and long are stored in variable-length zig-zag coding. - // variable-length: https://lucene.apache.org/core/3_5_0/fileformats.html#VInt - // zig-zag: https://developers.google.com/protocol-buffers/docs/encoding?csw=1#types - static async readZigZagLong(stream, options = {}) { - let zigZagEncoded = 0; - let significanceInBit = 0; - let byte, haveMoreByte, significanceInFloat; - do { - byte = await _AvroParser.readByte(stream, options); - haveMoreByte = byte & 128; - zigZagEncoded |= (byte & 127) << significanceInBit; - significanceInBit += 7; - } while (haveMoreByte && significanceInBit < 28); - if (haveMoreByte) { - zigZagEncoded = zigZagEncoded; - significanceInFloat = 268435456; - do { - byte = await _AvroParser.readByte(stream, options); - zigZagEncoded += (byte & 127) * significanceInFloat; - significanceInFloat *= 128; - } while (byte & 128); - const res = (zigZagEncoded % 2 ? -(zigZagEncoded + 1) : zigZagEncoded) / 2; - if (res < Number.MIN_SAFE_INTEGER || res > Number.MAX_SAFE_INTEGER) { - throw new Error("Integer overflow."); + create(value) { + const message = { value: false }; + globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_5.reflectionMergePartial)(this, message, value); + return message; + } + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* bool value */ + 1: + message.value = reader.bool(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); } - return res; } - return zigZagEncoded >> 1 ^ -(zigZagEncoded & 1); - } - static async readLong(stream, options = {}) { - return _AvroParser.readZigZagLong(stream, options); + return message; } - static async readInt(stream, options = {}) { - return _AvroParser.readZigZagLong(stream, options); + internalBinaryWrite(message, writer, options) { + if (message.value !== false) + writer.tag(1, runtime_3.WireType.Varint).bool(message.value); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } - static async readNull() { - return null; + }; + exports2.BoolValue = new BoolValue$Type(); + var StringValue$Type = class extends runtime_7.MessageType { + constructor() { + super("google.protobuf.StringValue", [ + { + no: 1, + name: "value", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + } + ]); } - static async readBoolean(stream, options = {}) { - const b = await _AvroParser.readByte(stream, options); - if (b === 1) { - return true; - } else if (b === 0) { - return false; - } else { - throw new Error("Byte was not a boolean."); - } + /** + * Encode `StringValue` to JSON string. + */ + internalJsonWrite(message, options) { + return message.value; } - static async readFloat(stream, options = {}) { - const u8arr = await _AvroParser.readFixedBytes(stream, 4, options); - const view = new DataView(u8arr.buffer, u8arr.byteOffset, u8arr.byteLength); - return view.getFloat32(0, true); + /** + * Decode `StringValue` from JSON string. + */ + internalJsonRead(json2, options, target) { + if (!target) + target = this.create(); + target.value = this.refJsonReader.scalar(json2, 9, void 0, "value"); + return target; } - static async readDouble(stream, options = {}) { - const u8arr = await _AvroParser.readFixedBytes(stream, 8, options); - const view = new DataView(u8arr.buffer, u8arr.byteOffset, u8arr.byteLength); - return view.getFloat64(0, true); + create(value) { + const message = { value: "" }; + globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_5.reflectionMergePartial)(this, message, value); + return message; } - static async readBytes(stream, options = {}) { - const size = await _AvroParser.readLong(stream, options); - if (size < 0) { - throw new Error("Bytes size was negative."); + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* string value */ + 1: + message.value = reader.string(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } } - return stream.read(size, { abortSignal: options.abortSignal }); - } - static async readString(stream, options = {}) { - const u8arr = await _AvroParser.readBytes(stream, options); - const utf8decoder = new TextDecoder(); - return utf8decoder.decode(u8arr); - } - static async readMapPair(stream, readItemMethod, options = {}) { - const key = await _AvroParser.readString(stream, options); - const value = await readItemMethod(stream, options); - return { key, value }; + return message; } - static async readMap(stream, readItemMethod, options = {}) { - const readPairMethod = (s, opts = {}) => { - return _AvroParser.readMapPair(s, readItemMethod, opts); - }; - const pairs2 = await _AvroParser.readArray(stream, readPairMethod, options); - const dict = {}; - for (const pair of pairs2) { - dict[pair.key] = pair.value; - } - return dict; + internalBinaryWrite(message, writer, options) { + if (message.value !== "") + writer.tag(1, runtime_3.WireType.LengthDelimited).string(message.value); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } - static async readArray(stream, readItemMethod, options = {}) { - const items = []; - for (let count = await _AvroParser.readLong(stream, options); count !== 0; count = await _AvroParser.readLong(stream, options)) { - if (count < 0) { - await _AvroParser.readLong(stream, options); - count = -count; - } - while (count--) { - const item = await readItemMethod(stream, options); - items.push(item); + }; + exports2.StringValue = new StringValue$Type(); + var BytesValue$Type = class extends runtime_7.MessageType { + constructor() { + super("google.protobuf.BytesValue", [ + { + no: 1, + name: "value", + kind: "scalar", + T: 12 + /*ScalarType.BYTES*/ } - } - return items; + ]); } - }; - exports2.AvroParser = AvroParser; - var AvroComplex; - (function(AvroComplex2) { - AvroComplex2["RECORD"] = "record"; - AvroComplex2["ENUM"] = "enum"; - AvroComplex2["ARRAY"] = "array"; - AvroComplex2["MAP"] = "map"; - AvroComplex2["UNION"] = "union"; - AvroComplex2["FIXED"] = "fixed"; - })(AvroComplex || (AvroComplex = {})); - var AvroPrimitive; - (function(AvroPrimitive2) { - AvroPrimitive2["NULL"] = "null"; - AvroPrimitive2["BOOLEAN"] = "boolean"; - AvroPrimitive2["INT"] = "int"; - AvroPrimitive2["LONG"] = "long"; - AvroPrimitive2["FLOAT"] = "float"; - AvroPrimitive2["DOUBLE"] = "double"; - AvroPrimitive2["BYTES"] = "bytes"; - AvroPrimitive2["STRING"] = "string"; - })(AvroPrimitive || (AvroPrimitive = {})); - var AvroType = class _AvroType { /** - * Determines the AvroType from the Avro Schema. + * Encode `BytesValue` to JSON string. */ - // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types - static fromSchema(schema2) { - if (typeof schema2 === "string") { - return _AvroType.fromStringSchema(schema2); - } else if (Array.isArray(schema2)) { - return _AvroType.fromArraySchema(schema2); - } else { - return _AvroType.fromObjectSchema(schema2); - } + internalJsonWrite(message, options) { + return this.refJsonWriter.scalar(12, message.value, "value", false, true); } - static fromStringSchema(schema2) { - switch (schema2) { - case AvroPrimitive.NULL: - case AvroPrimitive.BOOLEAN: - case AvroPrimitive.INT: - case AvroPrimitive.LONG: - case AvroPrimitive.FLOAT: - case AvroPrimitive.DOUBLE: - case AvroPrimitive.BYTES: - case AvroPrimitive.STRING: - return new AvroPrimitiveType(schema2); - default: - throw new Error(`Unexpected Avro type ${schema2}`); - } + /** + * Decode `BytesValue` from JSON string. + */ + internalJsonRead(json2, options, target) { + if (!target) + target = this.create(); + target.value = this.refJsonReader.scalar(json2, 12, void 0, "value"); + return target; } - static fromArraySchema(schema2) { - return new AvroUnionType(schema2.map(_AvroType.fromSchema)); + create(value) { + const message = { value: new Uint8Array(0) }; + globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_5.reflectionMergePartial)(this, message, value); + return message; } - static fromObjectSchema(schema2) { - const type2 = schema2.type; - try { - return _AvroType.fromStringSchema(type2); - } catch { - } - switch (type2) { - case AvroComplex.RECORD: - if (schema2.aliases) { - throw new Error(`aliases currently is not supported, schema: ${schema2}`); - } - if (!schema2.name) { - throw new Error(`Required attribute 'name' doesn't exist on schema: ${schema2}`); - } - const fields = {}; - if (!schema2.fields) { - throw new Error(`Required attribute 'fields' doesn't exist on schema: ${schema2}`); - } - for (const field of schema2.fields) { - fields[field.name] = _AvroType.fromSchema(field.type); - } - return new AvroRecordType(fields, schema2.name); - case AvroComplex.ENUM: - if (schema2.aliases) { - throw new Error(`aliases currently is not supported, schema: ${schema2}`); - } - if (!schema2.symbols) { - throw new Error(`Required attribute 'symbols' doesn't exist on schema: ${schema2}`); - } - return new AvroEnumType(schema2.symbols); - case AvroComplex.MAP: - if (!schema2.values) { - throw new Error(`Required attribute 'values' doesn't exist on schema: ${schema2}`); - } - return new AvroMapType(_AvroType.fromSchema(schema2.values)); - case AvroComplex.ARRAY: - // Unused today - case AvroComplex.FIXED: - // Unused today - default: - throw new Error(`Unexpected Avro type ${type2} in ${schema2}`); + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* bytes value */ + 1: + message.value = reader.bytes(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } } + return message; } - }; - exports2.AvroType = AvroType; - var AvroPrimitiveType = class extends AvroType { - _primitive; - constructor(primitive) { - super(); - this._primitive = primitive; - } - // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types - read(stream, options = {}) { - switch (this._primitive) { - case AvroPrimitive.NULL: - return AvroParser.readNull(); - case AvroPrimitive.BOOLEAN: - return AvroParser.readBoolean(stream, options); - case AvroPrimitive.INT: - return AvroParser.readInt(stream, options); - case AvroPrimitive.LONG: - return AvroParser.readLong(stream, options); - case AvroPrimitive.FLOAT: - return AvroParser.readFloat(stream, options); - case AvroPrimitive.DOUBLE: - return AvroParser.readDouble(stream, options); - case AvroPrimitive.BYTES: - return AvroParser.readBytes(stream, options); - case AvroPrimitive.STRING: - return AvroParser.readString(stream, options); - default: - throw new Error("Unknown Avro Primitive"); - } + internalBinaryWrite(message, writer, options) { + if (message.value.length) + writer.tag(1, runtime_3.WireType.LengthDelimited).bytes(message.value); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } }; - var AvroEnumType = class extends AvroType { - _symbols; - constructor(symbols) { - super(); - this._symbols = symbols; + exports2.BytesValue = new BytesValue$Type(); + } +}); + +// node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.js +var require_artifact = __commonJS({ + "node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.ArtifactService = exports2.DeleteArtifactResponse = exports2.DeleteArtifactRequest = exports2.GetSignedArtifactURLResponse = exports2.GetSignedArtifactURLRequest = exports2.ListArtifactsResponse_MonolithArtifact = exports2.ListArtifactsResponse = exports2.ListArtifactsRequest = exports2.FinalizeArtifactResponse = exports2.FinalizeArtifactRequest = exports2.CreateArtifactResponse = exports2.CreateArtifactRequest = exports2.FinalizeMigratedArtifactResponse = exports2.FinalizeMigratedArtifactRequest = exports2.MigrateArtifactResponse = exports2.MigrateArtifactRequest = void 0; + var runtime_rpc_1 = require_commonjs17(); + var runtime_1 = require_commonjs16(); + var runtime_2 = require_commonjs16(); + var runtime_3 = require_commonjs16(); + var runtime_4 = require_commonjs16(); + var runtime_5 = require_commonjs16(); + var wrappers_1 = require_wrappers(); + var wrappers_2 = require_wrappers(); + var timestamp_1 = require_timestamp(); + var MigrateArtifactRequest$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.MigrateArtifactRequest", [ + { + no: 1, + name: "workflow_run_backend_id", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 2, + name: "name", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { no: 3, name: "expires_at", kind: "message", T: () => timestamp_1.Timestamp } + ]); } - // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types - async read(stream, options = {}) { - const value = await AvroParser.readInt(stream, options); - return this._symbols[value]; + create(value) { + const message = { workflowRunBackendId: "", name: "" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; } - }; - var AvroUnionType = class extends AvroType { - _types; - constructor(types) { - super(); - this._types = types; + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* string workflow_run_backend_id */ + 1: + message.workflowRunBackendId = reader.string(); + break; + case /* string name */ + 2: + message.name = reader.string(); + break; + case /* google.protobuf.Timestamp expires_at */ + 3: + message.expiresAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expiresAt); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; } - async read(stream, options = {}) { - const typeIndex = await AvroParser.readInt(stream, options); - return this._types[typeIndex].read(stream, options); + internalBinaryWrite(message, writer, options) { + if (message.workflowRunBackendId !== "") + writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId); + if (message.name !== "") + writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.name); + if (message.expiresAt) + timestamp_1.Timestamp.internalBinaryWrite(message.expiresAt, writer.tag(3, runtime_1.WireType.LengthDelimited).fork(), options).join(); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } }; - var AvroMapType = class extends AvroType { - _itemType; - constructor(itemType) { - super(); - this._itemType = itemType; - } - // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types - read(stream, options = {}) { - const readItemMethod = (s, opts) => { - return this._itemType.read(s, opts); - }; - return AvroParser.readMap(stream, readItemMethod, options); + exports2.MigrateArtifactRequest = new MigrateArtifactRequest$Type(); + var MigrateArtifactResponse$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.MigrateArtifactResponse", [ + { + no: 1, + name: "ok", + kind: "scalar", + T: 8 + /*ScalarType.BOOL*/ + }, + { + no: 2, + name: "signed_upload_url", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + } + ]); } - }; - var AvroRecordType = class extends AvroType { - _name; - _fields; - constructor(fields, name) { - super(); - this._fields = fields; - this._name = name; + create(value) { + const message = { ok: false, signedUploadUrl: "" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; } - // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types - async read(stream, options = {}) { - const record = {}; - record["$schema"] = this._name; - for (const key in this._fields) { - if (Object.prototype.hasOwnProperty.call(this._fields, key)) { - record[key] = await this._fields[key].read(stream, options); + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* bool ok */ + 1: + message.ok = reader.bool(); + break; + case /* string signed_upload_url */ + 2: + message.signedUploadUrl = reader.string(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); } } - return record; + return message; + } + internalBinaryWrite(message, writer, options) { + if (message.ok !== false) + writer.tag(1, runtime_1.WireType.Varint).bool(message.ok); + if (message.signedUploadUrl !== "") + writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } }; - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/utils/utils.common.js -var require_utils_common3 = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/utils/utils.common.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.arraysEqual = arraysEqual; - function arraysEqual(a, b) { - if (a === b) - return true; - if (a == null || b == null) - return false; - if (a.length !== b.length) - return false; - for (let i = 0; i < a.length; ++i) { - if (a[i] !== b[i]) - return false; + exports2.MigrateArtifactResponse = new MigrateArtifactResponse$Type(); + var FinalizeMigratedArtifactRequest$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.FinalizeMigratedArtifactRequest", [ + { + no: 1, + name: "workflow_run_backend_id", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 2, + name: "name", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 3, + name: "size", + kind: "scalar", + T: 3 + /*ScalarType.INT64*/ + } + ]); } - return true; - } - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReader.js -var require_AvroReader = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReader.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.AvroReader = void 0; - var AvroConstants_js_1 = require_AvroConstants(); - var AvroParser_js_1 = require_AvroParser(); - var utils_common_js_1 = require_utils_common3(); - var AvroReader = class { - _dataStream; - _headerStream; - _syncMarker; - _metadata; - _itemType; - _itemsRemainingInBlock; - // Remembers where we started if partial data stream was provided. - _initialBlockOffset; - /// The byte offset within the Avro file (both header and data) - /// of the start of the current block. - _blockOffset; - get blockOffset() { - return this._blockOffset; + create(value) { + const message = { workflowRunBackendId: "", name: "", size: "0" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; } - _objectIndex; - get objectIndex() { - return this._objectIndex; + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* string workflow_run_backend_id */ + 1: + message.workflowRunBackendId = reader.string(); + break; + case /* string name */ + 2: + message.name = reader.string(); + break; + case /* int64 size */ + 3: + message.size = reader.int64().toString(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; } - _initialized; - constructor(dataStream, headerStream, currentBlockOffset, indexWithinCurrentBlock) { - this._dataStream = dataStream; - this._headerStream = headerStream || dataStream; - this._initialized = false; - this._blockOffset = currentBlockOffset || 0; - this._objectIndex = indexWithinCurrentBlock || 0; - this._initialBlockOffset = currentBlockOffset || 0; + internalBinaryWrite(message, writer, options) { + if (message.workflowRunBackendId !== "") + writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId); + if (message.name !== "") + writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.name); + if (message.size !== "0") + writer.tag(3, runtime_1.WireType.Varint).int64(message.size); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } - async initialize(options = {}) { - const header = await AvroParser_js_1.AvroParser.readFixedBytes(this._headerStream, AvroConstants_js_1.AVRO_INIT_BYTES.length, { - abortSignal: options.abortSignal - }); - if (!(0, utils_common_js_1.arraysEqual)(header, AvroConstants_js_1.AVRO_INIT_BYTES)) { - throw new Error("Stream is not an Avro file."); - } - this._metadata = await AvroParser_js_1.AvroParser.readMap(this._headerStream, AvroParser_js_1.AvroParser.readString, { - abortSignal: options.abortSignal - }); - const codec = this._metadata[AvroConstants_js_1.AVRO_CODEC_KEY]; - if (!(codec === void 0 || codec === null || codec === "null")) { - throw new Error("Codecs are not supported"); - } - this._syncMarker = await AvroParser_js_1.AvroParser.readFixedBytes(this._headerStream, AvroConstants_js_1.AVRO_SYNC_MARKER_SIZE, { - abortSignal: options.abortSignal - }); - const schema2 = JSON.parse(this._metadata[AvroConstants_js_1.AVRO_SCHEMA_KEY]); - this._itemType = AvroParser_js_1.AvroType.fromSchema(schema2); - if (this._blockOffset === 0) { - this._blockOffset = this._initialBlockOffset + this._dataStream.position; - } - this._itemsRemainingInBlock = await AvroParser_js_1.AvroParser.readLong(this._dataStream, { - abortSignal: options.abortSignal - }); - await AvroParser_js_1.AvroParser.readLong(this._dataStream, { abortSignal: options.abortSignal }); - this._initialized = true; - if (this._objectIndex && this._objectIndex > 0) { - for (let i = 0; i < this._objectIndex; i++) { - await this._itemType.read(this._dataStream, { abortSignal: options.abortSignal }); - this._itemsRemainingInBlock--; + }; + exports2.FinalizeMigratedArtifactRequest = new FinalizeMigratedArtifactRequest$Type(); + var FinalizeMigratedArtifactResponse$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.FinalizeMigratedArtifactResponse", [ + { + no: 1, + name: "ok", + kind: "scalar", + T: 8 + /*ScalarType.BOOL*/ + }, + { + no: 2, + name: "artifact_id", + kind: "scalar", + T: 3 + /*ScalarType.INT64*/ + } + ]); + } + create(value) { + const message = { ok: false, artifactId: "0" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; + } + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* bool ok */ + 1: + message.ok = reader.bool(); + break; + case /* int64 artifact_id */ + 2: + message.artifactId = reader.int64().toString(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); } } + return message; } - hasNext() { - return !this._initialized || this._itemsRemainingInBlock > 0; + internalBinaryWrite(message, writer, options) { + if (message.ok !== false) + writer.tag(1, runtime_1.WireType.Varint).bool(message.ok); + if (message.artifactId !== "0") + writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } - async *parseObjects(options = {}) { - if (!this._initialized) { - await this.initialize(options); - } - while (this.hasNext()) { - const result = await this._itemType.read(this._dataStream, { - abortSignal: options.abortSignal - }); - this._itemsRemainingInBlock--; - this._objectIndex++; - if (this._itemsRemainingInBlock === 0) { - const marker = await AvroParser_js_1.AvroParser.readFixedBytes(this._dataStream, AvroConstants_js_1.AVRO_SYNC_MARKER_SIZE, { - abortSignal: options.abortSignal - }); - this._blockOffset = this._initialBlockOffset + this._dataStream.position; - this._objectIndex = 0; - if (!(0, utils_common_js_1.arraysEqual)(this._syncMarker, marker)) { - throw new Error("Stream is not a valid Avro file."); - } - try { - this._itemsRemainingInBlock = await AvroParser_js_1.AvroParser.readLong(this._dataStream, { - abortSignal: options.abortSignal - }); - } catch { - this._itemsRemainingInBlock = 0; - } - if (this._itemsRemainingInBlock > 0) { - await AvroParser_js_1.AvroParser.readLong(this._dataStream, { abortSignal: options.abortSignal }); - } + }; + exports2.FinalizeMigratedArtifactResponse = new FinalizeMigratedArtifactResponse$Type(); + var CreateArtifactRequest$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.CreateArtifactRequest", [ + { + no: 1, + name: "workflow_run_backend_id", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 2, + name: "workflow_job_run_backend_id", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 3, + name: "name", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { no: 4, name: "expires_at", kind: "message", T: () => timestamp_1.Timestamp }, + { + no: 5, + name: "version", + kind: "scalar", + T: 5 + /*ScalarType.INT32*/ } - yield result; - } + ]); } - }; - exports2.AvroReader = AvroReader; - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadable.js -var require_AvroReadable = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadable.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.AvroReadable = void 0; - var AvroReadable = class { - }; - exports2.AvroReadable = AvroReadable; - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadableFromStream.js -var require_AvroReadableFromStream = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadableFromStream.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.AvroReadableFromStream = void 0; - var AvroReadable_js_1 = require_AvroReadable(); - var abort_controller_1 = require_commonjs11(); - var buffer_1 = require("buffer"); - var ABORT_ERROR = new abort_controller_1.AbortError("Reading from the avro stream was aborted."); - var AvroReadableFromStream = class extends AvroReadable_js_1.AvroReadable { - _position; - _readable; - toUint8Array(data) { - if (typeof data === "string") { - return buffer_1.Buffer.from(data); + create(value) { + const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "", version: 0 }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; + } + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* string workflow_run_backend_id */ + 1: + message.workflowRunBackendId = reader.string(); + break; + case /* string workflow_job_run_backend_id */ + 2: + message.workflowJobRunBackendId = reader.string(); + break; + case /* string name */ + 3: + message.name = reader.string(); + break; + case /* google.protobuf.Timestamp expires_at */ + 4: + message.expiresAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expiresAt); + break; + case /* int32 version */ + 5: + message.version = reader.int32(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } } - return data; + return message; } - constructor(readable) { - super(); - this._readable = readable; - this._position = 0; + internalBinaryWrite(message, writer, options) { + if (message.workflowRunBackendId !== "") + writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId); + if (message.workflowJobRunBackendId !== "") + writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId); + if (message.name !== "") + writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name); + if (message.expiresAt) + timestamp_1.Timestamp.internalBinaryWrite(message.expiresAt, writer.tag(4, runtime_1.WireType.LengthDelimited).fork(), options).join(); + if (message.version !== 0) + writer.tag(5, runtime_1.WireType.Varint).int32(message.version); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } - get position() { - return this._position; + }; + exports2.CreateArtifactRequest = new CreateArtifactRequest$Type(); + var CreateArtifactResponse$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.CreateArtifactResponse", [ + { + no: 1, + name: "ok", + kind: "scalar", + T: 8 + /*ScalarType.BOOL*/ + }, + { + no: 2, + name: "signed_upload_url", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + } + ]); } - async read(size, options = {}) { - if (options.abortSignal?.aborted) { - throw ABORT_ERROR; - } - if (size < 0) { - throw new Error(`size parameter should be positive: ${size}`); - } - if (size === 0) { - return new Uint8Array(); - } - if (!this._readable.readable) { - throw new Error("Stream no longer readable."); - } - const chunk = this._readable.read(size); - if (chunk) { - this._position += chunk.length; - return this.toUint8Array(chunk); - } else { - return new Promise((resolve5, reject) => { - const cleanUp = () => { - this._readable.removeListener("readable", readableCallback); - this._readable.removeListener("error", rejectCallback); - this._readable.removeListener("end", rejectCallback); - this._readable.removeListener("close", rejectCallback); - if (options.abortSignal) { - options.abortSignal.removeEventListener("abort", abortHandler); - } - }; - const readableCallback = () => { - const callbackChunk = this._readable.read(size); - if (callbackChunk) { - this._position += callbackChunk.length; - cleanUp(); - resolve5(this.toUint8Array(callbackChunk)); - } - }; - const rejectCallback = () => { - cleanUp(); - reject(); - }; - const abortHandler = () => { - cleanUp(); - reject(ABORT_ERROR); - }; - this._readable.on("readable", readableCallback); - this._readable.once("error", rejectCallback); - this._readable.once("end", rejectCallback); - this._readable.once("close", rejectCallback); - if (options.abortSignal) { - options.abortSignal.addEventListener("abort", abortHandler); - } - }); + create(value) { + const message = { ok: false, signedUploadUrl: "" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; + } + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* bool ok */ + 1: + message.ok = reader.bool(); + break; + case /* string signed_upload_url */ + 2: + message.signedUploadUrl = reader.string(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } } + return message; + } + internalBinaryWrite(message, writer, options) { + if (message.ok !== false) + writer.tag(1, runtime_1.WireType.Varint).bool(message.ok); + if (message.signedUploadUrl !== "") + writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } }; - exports2.AvroReadableFromStream = AvroReadableFromStream; - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/index.js -var require_internal_avro = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.AvroReadableFromStream = exports2.AvroReadable = exports2.AvroReader = void 0; - var AvroReader_js_1 = require_AvroReader(); - Object.defineProperty(exports2, "AvroReader", { enumerable: true, get: function() { - return AvroReader_js_1.AvroReader; - } }); - var AvroReadable_js_1 = require_AvroReadable(); - Object.defineProperty(exports2, "AvroReadable", { enumerable: true, get: function() { - return AvroReadable_js_1.AvroReadable; - } }); - var AvroReadableFromStream_js_1 = require_AvroReadableFromStream(); - Object.defineProperty(exports2, "AvroReadableFromStream", { enumerable: true, get: function() { - return AvroReadableFromStream_js_1.AvroReadableFromStream; - } }); - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/utils/BlobQuickQueryStream.js -var require_BlobQuickQueryStream = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/utils/BlobQuickQueryStream.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.BlobQuickQueryStream = void 0; - var node_stream_1 = require("node:stream"); - var index_js_1 = require_internal_avro(); - var BlobQuickQueryStream = class extends node_stream_1.Readable { - source; - avroReader; - avroIter; - avroPaused = true; - onProgress; - onError; - /** - * Creates an instance of BlobQuickQueryStream. - * - * @param source - The current ReadableStream returned from getter - * @param options - - */ - constructor(source, options = {}) { - super(); - this.source = source; - this.onProgress = options.onProgress; - this.onError = options.onError; - this.avroReader = new index_js_1.AvroReader(new index_js_1.AvroReadableFromStream(this.source)); - this.avroIter = this.avroReader.parseObjects({ abortSignal: options.abortSignal }); + exports2.CreateArtifactResponse = new CreateArtifactResponse$Type(); + var FinalizeArtifactRequest$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.FinalizeArtifactRequest", [ + { + no: 1, + name: "workflow_run_backend_id", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 2, + name: "workflow_job_run_backend_id", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 3, + name: "name", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 4, + name: "size", + kind: "scalar", + T: 3 + /*ScalarType.INT64*/ + }, + { no: 5, name: "hash", kind: "message", T: () => wrappers_2.StringValue } + ]); } - _read() { - if (this.avroPaused) { - this.readInternal().catch((err) => { - this.emit("error", err); - }); - } + create(value) { + const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "", size: "0" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; } - async readInternal() { - this.avroPaused = false; - let avroNext; - do { - avroNext = await this.avroIter.next(); - if (avroNext.done) { - break; - } - const obj = avroNext.value; - const schema2 = obj.$schema; - if (typeof schema2 !== "string") { - throw Error("Missing schema in avro record."); - } - switch (schema2) { - case "com.microsoft.azure.storage.queryBlobContents.resultData": - { - const data = obj.data; - if (data instanceof Uint8Array === false) { - throw Error("Invalid data in avro result record."); - } - if (!this.push(Buffer.from(data))) { - this.avroPaused = true; - } - } + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* string workflow_run_backend_id */ + 1: + message.workflowRunBackendId = reader.string(); break; - case "com.microsoft.azure.storage.queryBlobContents.progress": - { - const bytesScanned = obj.bytesScanned; - if (typeof bytesScanned !== "number") { - throw Error("Invalid bytesScanned in avro progress record."); - } - if (this.onProgress) { - this.onProgress({ loadedBytes: bytesScanned }); - } - } + case /* string workflow_job_run_backend_id */ + 2: + message.workflowJobRunBackendId = reader.string(); break; - case "com.microsoft.azure.storage.queryBlobContents.end": - if (this.onProgress) { - const totalBytes = obj.totalBytes; - if (typeof totalBytes !== "number") { - throw Error("Invalid totalBytes in avro end record."); - } - this.onProgress({ loadedBytes: totalBytes }); - } - this.push(null); + case /* string name */ + 3: + message.name = reader.string(); break; - case "com.microsoft.azure.storage.queryBlobContents.error": - if (this.onError) { - const fatal = obj.fatal; - if (typeof fatal !== "boolean") { - throw Error("Invalid fatal in avro error record."); - } - const name = obj.name; - if (typeof name !== "string") { - throw Error("Invalid name in avro error record."); - } - const description = obj.description; - if (typeof description !== "string") { - throw Error("Invalid description in avro error record."); - } - const position = obj.position; - if (typeof position !== "number") { - throw Error("Invalid position in avro error record."); - } - this.onError({ - position, - name, - isFatal: fatal, - description - }); - } + case /* int64 size */ + 4: + message.size = reader.int64().toString(); + break; + case /* google.protobuf.StringValue hash */ + 5: + message.hash = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.hash); break; default: - throw Error(`Unknown schema ${schema2} in avro progress record.`); + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); } - } while (!avroNext.done && !this.avroPaused); - } - }; - exports2.BlobQuickQueryStream = BlobQuickQueryStream; - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/BlobQueryResponse.js -var require_BlobQueryResponse = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/BlobQueryResponse.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.BlobQueryResponse = void 0; - var core_util_1 = require_commonjs4(); - var BlobQuickQueryStream_js_1 = require_BlobQuickQueryStream(); - var BlobQueryResponse = class { - /** - * Indicates that the service supports - * requests for partial file content. - * - * @readonly - */ - get acceptRanges() { - return this.originalResponse.acceptRanges; - } - /** - * Returns if it was previously specified - * for the file. - * - * @readonly - */ - get cacheControl() { - return this.originalResponse.cacheControl; - } - /** - * Returns the value that was specified - * for the 'x-ms-content-disposition' header and specifies how to process the - * response. - * - * @readonly - */ - get contentDisposition() { - return this.originalResponse.contentDisposition; - } - /** - * Returns the value that was specified - * for the Content-Encoding request header. - * - * @readonly - */ - get contentEncoding() { - return this.originalResponse.contentEncoding; + } + return message; } - /** - * Returns the value that was specified - * for the Content-Language request header. - * - * @readonly - */ - get contentLanguage() { - return this.originalResponse.contentLanguage; + internalBinaryWrite(message, writer, options) { + if (message.workflowRunBackendId !== "") + writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId); + if (message.workflowJobRunBackendId !== "") + writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId); + if (message.name !== "") + writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name); + if (message.size !== "0") + writer.tag(4, runtime_1.WireType.Varint).int64(message.size); + if (message.hash) + wrappers_2.StringValue.internalBinaryWrite(message.hash, writer.tag(5, runtime_1.WireType.LengthDelimited).fork(), options).join(); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } - /** - * The current sequence number for a - * page blob. This header is not returned for block blobs or append blobs. - * - * @readonly - */ - get blobSequenceNumber() { - return this.originalResponse.blobSequenceNumber; + }; + exports2.FinalizeArtifactRequest = new FinalizeArtifactRequest$Type(); + var FinalizeArtifactResponse$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.FinalizeArtifactResponse", [ + { + no: 1, + name: "ok", + kind: "scalar", + T: 8 + /*ScalarType.BOOL*/ + }, + { + no: 2, + name: "artifact_id", + kind: "scalar", + T: 3 + /*ScalarType.INT64*/ + } + ]); } - /** - * The blob's type. Possible values include: - * 'BlockBlob', 'PageBlob', 'AppendBlob'. - * - * @readonly - */ - get blobType() { - return this.originalResponse.blobType; + create(value) { + const message = { ok: false, artifactId: "0" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; } - /** - * The number of bytes present in the - * response body. - * - * @readonly - */ - get contentLength() { - return this.originalResponse.contentLength; + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* bool ok */ + 1: + message.ok = reader.bool(); + break; + case /* int64 artifact_id */ + 2: + message.artifactId = reader.int64().toString(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; } - /** - * If the file has an MD5 hash and the - * request is to read the full file, this response header is returned so that - * the client can check for message content integrity. If the request is to - * read a specified range and the 'x-ms-range-get-content-md5' is set to - * true, then the request returns an MD5 hash for the range, as long as the - * range size is less than or equal to 4 MB. If neither of these sets of - * conditions is true, then no value is returned for the 'Content-MD5' - * header. - * - * @readonly - */ - get contentMD5() { - return this.originalResponse.contentMD5; + internalBinaryWrite(message, writer, options) { + if (message.ok !== false) + writer.tag(1, runtime_1.WireType.Varint).bool(message.ok); + if (message.artifactId !== "0") + writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } - /** - * Indicates the range of bytes returned if - * the client requested a subset of the file by setting the Range request - * header. - * - * @readonly - */ - get contentRange() { - return this.originalResponse.contentRange; + }; + exports2.FinalizeArtifactResponse = new FinalizeArtifactResponse$Type(); + var ListArtifactsRequest$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.ListArtifactsRequest", [ + { + no: 1, + name: "workflow_run_backend_id", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 2, + name: "workflow_job_run_backend_id", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { no: 3, name: "name_filter", kind: "message", T: () => wrappers_2.StringValue }, + { no: 4, name: "id_filter", kind: "message", T: () => wrappers_1.Int64Value } + ]); } - /** - * The content type specified for the file. - * The default content type is 'application/octet-stream' - * - * @readonly - */ - get contentType() { - return this.originalResponse.contentType; + create(value) { + const message = { workflowRunBackendId: "", workflowJobRunBackendId: "" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; } - /** - * Conclusion time of the last attempted - * Copy File operation where this file was the destination file. This value - * can specify the time of a completed, aborted, or failed copy attempt. - * - * @readonly - */ - get copyCompletedOn() { - return void 0; + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* string workflow_run_backend_id */ + 1: + message.workflowRunBackendId = reader.string(); + break; + case /* string workflow_job_run_backend_id */ + 2: + message.workflowJobRunBackendId = reader.string(); + break; + case /* google.protobuf.StringValue name_filter */ + 3: + message.nameFilter = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.nameFilter); + break; + case /* google.protobuf.Int64Value id_filter */ + 4: + message.idFilter = wrappers_1.Int64Value.internalBinaryRead(reader, reader.uint32(), options, message.idFilter); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; } - /** - * String identifier for the last attempted Copy - * File operation where this file was the destination file. - * - * @readonly - */ - get copyId() { - return this.originalResponse.copyId; + internalBinaryWrite(message, writer, options) { + if (message.workflowRunBackendId !== "") + writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId); + if (message.workflowJobRunBackendId !== "") + writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId); + if (message.nameFilter) + wrappers_2.StringValue.internalBinaryWrite(message.nameFilter, writer.tag(3, runtime_1.WireType.LengthDelimited).fork(), options).join(); + if (message.idFilter) + wrappers_1.Int64Value.internalBinaryWrite(message.idFilter, writer.tag(4, runtime_1.WireType.LengthDelimited).fork(), options).join(); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } - /** - * Contains the number of bytes copied and - * the total bytes in the source in the last attempted Copy File operation - * where this file was the destination file. Can show between 0 and - * Content-Length bytes copied. - * - * @readonly - */ - get copyProgress() { - return this.originalResponse.copyProgress; + }; + exports2.ListArtifactsRequest = new ListArtifactsRequest$Type(); + var ListArtifactsResponse$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.ListArtifactsResponse", [ + { no: 1, name: "artifacts", kind: "message", repeat: 1, T: () => exports2.ListArtifactsResponse_MonolithArtifact } + ]); } - /** - * URL up to 2KB in length that specifies the - * source file used in the last attempted Copy File operation where this file - * was the destination file. - * - * @readonly - */ - get copySource() { - return this.originalResponse.copySource; + create(value) { + const message = { artifacts: [] }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; } - /** - * State of the copy operation - * identified by 'x-ms-copy-id'. Possible values include: 'pending', - * 'success', 'aborted', 'failed' - * - * @readonly - */ - get copyStatus() { - return this.originalResponse.copyStatus; + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* repeated github.actions.results.api.v1.ListArtifactsResponse.MonolithArtifact artifacts */ + 1: + message.artifacts.push(exports2.ListArtifactsResponse_MonolithArtifact.internalBinaryRead(reader, reader.uint32(), options)); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; } - /** - * Only appears when - * x-ms-copy-status is failed or pending. Describes cause of fatal or - * non-fatal copy operation failure. - * - * @readonly - */ - get copyStatusDescription() { - return this.originalResponse.copyStatusDescription; + internalBinaryWrite(message, writer, options) { + for (let i = 0; i < message.artifacts.length; i++) + exports2.ListArtifactsResponse_MonolithArtifact.internalBinaryWrite(message.artifacts[i], writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join(); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } - /** - * When a blob is leased, - * specifies whether the lease is of infinite or fixed duration. Possible - * values include: 'infinite', 'fixed'. - * - * @readonly - */ - get leaseDuration() { - return this.originalResponse.leaseDuration; + }; + exports2.ListArtifactsResponse = new ListArtifactsResponse$Type(); + var ListArtifactsResponse_MonolithArtifact$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.ListArtifactsResponse.MonolithArtifact", [ + { + no: 1, + name: "workflow_run_backend_id", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 2, + name: "workflow_job_run_backend_id", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 3, + name: "database_id", + kind: "scalar", + T: 3 + /*ScalarType.INT64*/ + }, + { + no: 4, + name: "name", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 5, + name: "size", + kind: "scalar", + T: 3 + /*ScalarType.INT64*/ + }, + { no: 6, name: "created_at", kind: "message", T: () => timestamp_1.Timestamp }, + { no: 7, name: "digest", kind: "message", T: () => wrappers_2.StringValue } + ]); } - /** - * Lease state of the blob. Possible - * values include: 'available', 'leased', 'expired', 'breaking', 'broken'. - * - * @readonly - */ - get leaseState() { - return this.originalResponse.leaseState; + create(value) { + const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", databaseId: "0", name: "", size: "0" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; } - /** - * The current lease status of the - * blob. Possible values include: 'locked', 'unlocked'. - * - * @readonly - */ - get leaseStatus() { - return this.originalResponse.leaseStatus; + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* string workflow_run_backend_id */ + 1: + message.workflowRunBackendId = reader.string(); + break; + case /* string workflow_job_run_backend_id */ + 2: + message.workflowJobRunBackendId = reader.string(); + break; + case /* int64 database_id */ + 3: + message.databaseId = reader.int64().toString(); + break; + case /* string name */ + 4: + message.name = reader.string(); + break; + case /* int64 size */ + 5: + message.size = reader.int64().toString(); + break; + case /* google.protobuf.Timestamp created_at */ + 6: + message.createdAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.createdAt); + break; + case /* google.protobuf.StringValue digest */ + 7: + message.digest = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.digest); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; } - /** - * A UTC date/time value generated by the service that - * indicates the time at which the response was initiated. - * - * @readonly - */ - get date() { - return this.originalResponse.date; + internalBinaryWrite(message, writer, options) { + if (message.workflowRunBackendId !== "") + writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId); + if (message.workflowJobRunBackendId !== "") + writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId); + if (message.databaseId !== "0") + writer.tag(3, runtime_1.WireType.Varint).int64(message.databaseId); + if (message.name !== "") + writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.name); + if (message.size !== "0") + writer.tag(5, runtime_1.WireType.Varint).int64(message.size); + if (message.createdAt) + timestamp_1.Timestamp.internalBinaryWrite(message.createdAt, writer.tag(6, runtime_1.WireType.LengthDelimited).fork(), options).join(); + if (message.digest) + wrappers_2.StringValue.internalBinaryWrite(message.digest, writer.tag(7, runtime_1.WireType.LengthDelimited).fork(), options).join(); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } - /** - * The number of committed blocks - * present in the blob. This header is returned only for append blobs. - * - * @readonly - */ - get blobCommittedBlockCount() { - return this.originalResponse.blobCommittedBlockCount; + }; + exports2.ListArtifactsResponse_MonolithArtifact = new ListArtifactsResponse_MonolithArtifact$Type(); + var GetSignedArtifactURLRequest$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.GetSignedArtifactURLRequest", [ + { + no: 1, + name: "workflow_run_backend_id", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 2, + name: "workflow_job_run_backend_id", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 3, + name: "name", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + } + ]); } - /** - * The ETag contains a value that you can use to - * perform operations conditionally, in quotes. - * - * @readonly - */ - get etag() { - return this.originalResponse.etag; + create(value) { + const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; } - /** - * The error code. - * - * @readonly - */ - get errorCode() { - return this.originalResponse.errorCode; + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* string workflow_run_backend_id */ + 1: + message.workflowRunBackendId = reader.string(); + break; + case /* string workflow_job_run_backend_id */ + 2: + message.workflowJobRunBackendId = reader.string(); + break; + case /* string name */ + 3: + message.name = reader.string(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; } - /** - * The value of this header is set to - * true if the file data and application metadata are completely encrypted - * using the specified algorithm. Otherwise, the value is set to false (when - * the file is unencrypted, or if only parts of the file/application metadata - * are encrypted). - * - * @readonly - */ - get isServerEncrypted() { - return this.originalResponse.isServerEncrypted; + internalBinaryWrite(message, writer, options) { + if (message.workflowRunBackendId !== "") + writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId); + if (message.workflowJobRunBackendId !== "") + writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId); + if (message.name !== "") + writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } - /** - * If the blob has a MD5 hash, and if - * request contains range header (Range or x-ms-range), this response header - * is returned with the value of the whole blob's MD5 value. This value may - * or may not be equal to the value returned in Content-MD5 header, with the - * latter calculated from the requested range. - * - * @readonly - */ - get blobContentMD5() { - return this.originalResponse.blobContentMD5; + }; + exports2.GetSignedArtifactURLRequest = new GetSignedArtifactURLRequest$Type(); + var GetSignedArtifactURLResponse$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.GetSignedArtifactURLResponse", [ + { + no: 1, + name: "signed_url", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + } + ]); } - /** - * Returns the date and time the file was last - * modified. Any operation that modifies the file or its properties updates - * the last modified time. - * - * @readonly - */ - get lastModified() { - return this.originalResponse.lastModified; + create(value) { + const message = { signedUrl: "" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; } - /** - * A name-value pair - * to associate with a file storage object. - * - * @readonly - */ - get metadata() { - return this.originalResponse.metadata; + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* string signed_url */ + 1: + message.signedUrl = reader.string(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; } - /** - * This header uniquely identifies the request - * that was made and can be used for troubleshooting the request. - * - * @readonly - */ - get requestId() { - return this.originalResponse.requestId; + internalBinaryWrite(message, writer, options) { + if (message.signedUrl !== "") + writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.signedUrl); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } - /** - * If a client request id header is sent in the request, this header will be present in the - * response with the same value. - * - * @readonly - */ - get clientRequestId() { - return this.originalResponse.clientRequestId; + }; + exports2.GetSignedArtifactURLResponse = new GetSignedArtifactURLResponse$Type(); + var DeleteArtifactRequest$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.DeleteArtifactRequest", [ + { + no: 1, + name: "workflow_run_backend_id", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 2, + name: "workflow_job_run_backend_id", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 3, + name: "name", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + } + ]); } - /** - * Indicates the version of the File service used - * to execute the request. - * - * @readonly - */ - get version() { - return this.originalResponse.version; + create(value) { + const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; } - /** - * The SHA-256 hash of the encryption key used to encrypt the blob. This value is only returned - * when the blob was encrypted with a customer-provided key. - * - * @readonly - */ - get encryptionKeySha256() { - return this.originalResponse.encryptionKeySha256; + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* string workflow_run_backend_id */ + 1: + message.workflowRunBackendId = reader.string(); + break; + case /* string workflow_job_run_backend_id */ + 2: + message.workflowJobRunBackendId = reader.string(); + break; + case /* string name */ + 3: + message.name = reader.string(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; } - /** - * If the request is to read a specified range and the x-ms-range-get-content-crc64 is set to - * true, then the request returns a crc64 for the range, as long as the range size is less than - * or equal to 4 MB. If both x-ms-range-get-content-crc64 & x-ms-range-get-content-md5 is - * specified in the same request, it will fail with 400(Bad Request) - */ - get contentCrc64() { - return this.originalResponse.contentCrc64; + internalBinaryWrite(message, writer, options) { + if (message.workflowRunBackendId !== "") + writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId); + if (message.workflowJobRunBackendId !== "") + writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId); + if (message.name !== "") + writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } - /** - * The response body as a browser Blob. - * Always undefined in node.js. - * - * @readonly - */ - get blobBody() { - return void 0; + }; + exports2.DeleteArtifactRequest = new DeleteArtifactRequest$Type(); + var DeleteArtifactResponse$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.DeleteArtifactResponse", [ + { + no: 1, + name: "ok", + kind: "scalar", + T: 8 + /*ScalarType.BOOL*/ + }, + { + no: 2, + name: "artifact_id", + kind: "scalar", + T: 3 + /*ScalarType.INT64*/ + } + ]); } - /** - * The response body as a node.js Readable stream. - * Always undefined in the browser. - * - * It will parse avor data returned by blob query. - * - * @readonly - */ - get readableStreamBody() { - return core_util_1.isNodeLike ? this.blobDownloadStream : void 0; + create(value) { + const message = { ok: false, artifactId: "0" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; } - /** - * The HTTP response. - */ - get _response() { - return this.originalResponse._response; + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* bool ok */ + 1: + message.ok = reader.bool(); + break; + case /* int64 artifact_id */ + 2: + message.artifactId = reader.int64().toString(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; } - originalResponse; - blobDownloadStream; - /** - * Creates an instance of BlobQueryResponse. - * - * @param originalResponse - - * @param options - - */ - constructor(originalResponse, options = {}) { - this.originalResponse = originalResponse; - this.blobDownloadStream = new BlobQuickQueryStream_js_1.BlobQuickQueryStream(this.originalResponse.readableStreamBody, options); + internalBinaryWrite(message, writer, options) { + if (message.ok !== false) + writer.tag(1, runtime_1.WireType.Varint).bool(message.ok); + if (message.artifactId !== "0") + writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } }; - exports2.BlobQueryResponse = BlobQueryResponse; + exports2.DeleteArtifactResponse = new DeleteArtifactResponse$Type(); + exports2.ArtifactService = new runtime_rpc_1.ServiceType("github.actions.results.api.v1.ArtifactService", [ + { name: "CreateArtifact", options: {}, I: exports2.CreateArtifactRequest, O: exports2.CreateArtifactResponse }, + { name: "FinalizeArtifact", options: {}, I: exports2.FinalizeArtifactRequest, O: exports2.FinalizeArtifactResponse }, + { name: "ListArtifacts", options: {}, I: exports2.ListArtifactsRequest, O: exports2.ListArtifactsResponse }, + { name: "GetSignedArtifactURL", options: {}, I: exports2.GetSignedArtifactURLRequest, O: exports2.GetSignedArtifactURLResponse }, + { name: "DeleteArtifact", options: {}, I: exports2.DeleteArtifactRequest, O: exports2.DeleteArtifactResponse }, + { name: "MigrateArtifact", options: {}, I: exports2.MigrateArtifactRequest, O: exports2.MigrateArtifactResponse }, + { name: "FinalizeMigratedArtifact", options: {}, I: exports2.FinalizeMigratedArtifactRequest, O: exports2.FinalizeMigratedArtifactResponse } + ]); } }); -// node_modules/@azure/storage-blob/dist/commonjs/models.js -var require_models2 = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/models.js"(exports2) { +// node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.js +var require_artifact_twirp_client = __commonJS({ + "node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.StorageBlobAudience = exports2.PremiumPageBlobTier = exports2.BlockBlobTier = void 0; - exports2.toAccessTier = toAccessTier; - exports2.ensureCpkIfSpecified = ensureCpkIfSpecified; - exports2.getBlobServiceAccountAudience = getBlobServiceAccountAudience; - var constants_js_1 = require_constants15(); - var BlockBlobTier; - (function(BlockBlobTier2) { - BlockBlobTier2["Hot"] = "Hot"; - BlockBlobTier2["Cool"] = "Cool"; - BlockBlobTier2["Cold"] = "Cold"; - BlockBlobTier2["Archive"] = "Archive"; - })(BlockBlobTier || (exports2.BlockBlobTier = BlockBlobTier = {})); - var PremiumPageBlobTier; - (function(PremiumPageBlobTier2) { - PremiumPageBlobTier2["P4"] = "P4"; - PremiumPageBlobTier2["P6"] = "P6"; - PremiumPageBlobTier2["P10"] = "P10"; - PremiumPageBlobTier2["P15"] = "P15"; - PremiumPageBlobTier2["P20"] = "P20"; - PremiumPageBlobTier2["P30"] = "P30"; - PremiumPageBlobTier2["P40"] = "P40"; - PremiumPageBlobTier2["P50"] = "P50"; - PremiumPageBlobTier2["P60"] = "P60"; - PremiumPageBlobTier2["P70"] = "P70"; - PremiumPageBlobTier2["P80"] = "P80"; - })(PremiumPageBlobTier || (exports2.PremiumPageBlobTier = PremiumPageBlobTier = {})); - function toAccessTier(tier) { - if (tier === void 0) { - return void 0; + exports2.ArtifactServiceClientProtobuf = exports2.ArtifactServiceClientJSON = void 0; + var artifact_1 = require_artifact(); + var ArtifactServiceClientJSON = class { + constructor(rpc) { + this.rpc = rpc; + this.CreateArtifact.bind(this); + this.FinalizeArtifact.bind(this); + this.ListArtifacts.bind(this); + this.GetSignedArtifactURL.bind(this); + this.DeleteArtifact.bind(this); } - return tier; - } - function ensureCpkIfSpecified(cpk, isHttps) { - if (cpk && !isHttps) { - throw new RangeError("Customer-provided encryption key must be used over HTTPS."); + CreateArtifact(request2) { + const data = artifact_1.CreateArtifactRequest.toJson(request2, { + useProtoFieldName: true, + emitDefaultValues: false + }); + const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "CreateArtifact", "application/json", data); + return promise.then((data2) => artifact_1.CreateArtifactResponse.fromJson(data2, { + ignoreUnknownFields: true + })); } - if (cpk && !cpk.encryptionAlgorithm) { - cpk.encryptionAlgorithm = constants_js_1.EncryptionAlgorithmAES25; + FinalizeArtifact(request2) { + const data = artifact_1.FinalizeArtifactRequest.toJson(request2, { + useProtoFieldName: true, + emitDefaultValues: false + }); + const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "FinalizeArtifact", "application/json", data); + return promise.then((data2) => artifact_1.FinalizeArtifactResponse.fromJson(data2, { + ignoreUnknownFields: true + })); } - } - var StorageBlobAudience; - (function(StorageBlobAudience2) { - StorageBlobAudience2["StorageOAuthScopes"] = "https://storage.azure.com/.default"; - StorageBlobAudience2["DiskComputeOAuthScopes"] = "https://disk.compute.azure.com/.default"; - })(StorageBlobAudience || (exports2.StorageBlobAudience = StorageBlobAudience = {})); - function getBlobServiceAccountAudience(storageAccountName) { - return `https://${storageAccountName}.blob.core.windows.net/.default`; - } - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/PageBlobRangeResponse.js -var require_PageBlobRangeResponse = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/PageBlobRangeResponse.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.rangeResponseFromModel = rangeResponseFromModel; - function rangeResponseFromModel(response) { - const pageRange = (response._response.parsedBody.pageRange || []).map((x) => ({ - offset: x.start, - count: x.end - x.start - })); - const clearRange = (response._response.parsedBody.clearRange || []).map((x) => ({ - offset: x.start, - count: x.end - x.start - })); - return { - ...response, - pageRange, - clearRange, - _response: { - ...response._response, - parsedBody: { - pageRange, - clearRange - } - } - }; - } - } -}); - -// node_modules/@azure/core-lro/dist/commonjs/logger.js -var require_logger2 = __commonJS({ - "node_modules/@azure/core-lro/dist/commonjs/logger.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.logger = void 0; - var logger_1 = require_commonjs2(); - exports2.logger = (0, logger_1.createClientLogger)("core-lro"); + ListArtifacts(request2) { + const data = artifact_1.ListArtifactsRequest.toJson(request2, { + useProtoFieldName: true, + emitDefaultValues: false + }); + const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "ListArtifacts", "application/json", data); + return promise.then((data2) => artifact_1.ListArtifactsResponse.fromJson(data2, { ignoreUnknownFields: true })); + } + GetSignedArtifactURL(request2) { + const data = artifact_1.GetSignedArtifactURLRequest.toJson(request2, { + useProtoFieldName: true, + emitDefaultValues: false + }); + const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "GetSignedArtifactURL", "application/json", data); + return promise.then((data2) => artifact_1.GetSignedArtifactURLResponse.fromJson(data2, { + ignoreUnknownFields: true + })); + } + DeleteArtifact(request2) { + const data = artifact_1.DeleteArtifactRequest.toJson(request2, { + useProtoFieldName: true, + emitDefaultValues: false + }); + const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "DeleteArtifact", "application/json", data); + return promise.then((data2) => artifact_1.DeleteArtifactResponse.fromJson(data2, { + ignoreUnknownFields: true + })); + } + }; + exports2.ArtifactServiceClientJSON = ArtifactServiceClientJSON; + var ArtifactServiceClientProtobuf = class { + constructor(rpc) { + this.rpc = rpc; + this.CreateArtifact.bind(this); + this.FinalizeArtifact.bind(this); + this.ListArtifacts.bind(this); + this.GetSignedArtifactURL.bind(this); + this.DeleteArtifact.bind(this); + } + CreateArtifact(request2) { + const data = artifact_1.CreateArtifactRequest.toBinary(request2); + const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "CreateArtifact", "application/protobuf", data); + return promise.then((data2) => artifact_1.CreateArtifactResponse.fromBinary(data2)); + } + FinalizeArtifact(request2) { + const data = artifact_1.FinalizeArtifactRequest.toBinary(request2); + const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "FinalizeArtifact", "application/protobuf", data); + return promise.then((data2) => artifact_1.FinalizeArtifactResponse.fromBinary(data2)); + } + ListArtifacts(request2) { + const data = artifact_1.ListArtifactsRequest.toBinary(request2); + const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "ListArtifacts", "application/protobuf", data); + return promise.then((data2) => artifact_1.ListArtifactsResponse.fromBinary(data2)); + } + GetSignedArtifactURL(request2) { + const data = artifact_1.GetSignedArtifactURLRequest.toBinary(request2); + const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "GetSignedArtifactURL", "application/protobuf", data); + return promise.then((data2) => artifact_1.GetSignedArtifactURLResponse.fromBinary(data2)); + } + DeleteArtifact(request2) { + const data = artifact_1.DeleteArtifactRequest.toBinary(request2); + const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "DeleteArtifact", "application/protobuf", data); + return promise.then((data2) => artifact_1.DeleteArtifactResponse.fromBinary(data2)); + } + }; + exports2.ArtifactServiceClientProtobuf = ArtifactServiceClientProtobuf; } }); -// node_modules/@azure/core-lro/dist/commonjs/poller/constants.js -var require_constants17 = __commonJS({ - "node_modules/@azure/core-lro/dist/commonjs/poller/constants.js"(exports2) { +// node_modules/@actions/artifact/lib/generated/index.js +var require_generated = __commonJS({ + "node_modules/@actions/artifact/lib/generated/index.js"(exports2) { "use strict"; + var __createBinding2 = 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 __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p); + }; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.terminalStates = exports2.POLL_INTERVAL_IN_MS = void 0; - exports2.POLL_INTERVAL_IN_MS = 2e3; - exports2.terminalStates = ["succeeded", "canceled", "failed"]; + __exportStar2(require_timestamp(), exports2); + __exportStar2(require_wrappers(), exports2); + __exportStar2(require_artifact(), exports2); + __exportStar2(require_artifact_twirp_client(), exports2); } }); -// node_modules/@azure/core-lro/dist/commonjs/poller/operation.js -var require_operation = __commonJS({ - "node_modules/@azure/core-lro/dist/commonjs/poller/operation.js"(exports2) { +// node_modules/@actions/artifact/lib/internal/upload/retention.js +var require_retention = __commonJS({ + "node_modules/@actions/artifact/lib/internal/upload/retention.js"(exports2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.pollOperation = exports2.initOperation = exports2.deserializeState = void 0; - var logger_js_1 = require_logger2(); - var constants_js_1 = require_constants17(); - function deserializeState(serializedState) { - try { - return JSON.parse(serializedState).state; - } catch (e) { - throw new Error(`Unable to deserialize input state: ${serializedState}`); - } - } - exports2.deserializeState = deserializeState; - function setStateError(inputs) { - const { state, stateProxy, isOperationError } = inputs; - return (error3) => { - if (isOperationError(error3)) { - stateProxy.setError(state, error3); - stateProxy.setFailed(state); - } - throw error3; - }; - } - function appendReadableErrorMessage(currentMessage, innerMessage) { - let message = currentMessage; - if (message.slice(-1) !== ".") { - message = message + "."; + var __createBinding2 = 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]; + } }; } - return message + " " + innerMessage; - } - function simplifyError(err) { - let message = err.message; - let code = err.code; - let curErr = err; - while (curErr.innererror) { - curErr = curErr.innererror; - code = curErr.code; - message = appendReadableErrorMessage(message, curErr.message); + Object.defineProperty(o, k2, desc); + }) : (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + o[k2] = m[k]; + })); + var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }); + var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k); } - return { - code, - message - }; - } - function processOperationStatus(result) { - const { state, stateProxy, status, isDone, processResult, getError, response, setErrorAsResult } = result; - switch (status) { - case "succeeded": { - stateProxy.setSucceeded(state); - break; - } - case "failed": { - const err = getError === null || getError === void 0 ? void 0 : getError(response); - let postfix = ""; - if (err) { - const { code, message } = simplifyError(err); - postfix = `. ${code}. ${message}`; - } - const errStr = `The long-running operation has failed${postfix}`; - stateProxy.setError(state, new Error(errStr)); - stateProxy.setFailed(state); - logger_js_1.logger.warning(errStr); - break; - } - case "canceled": { - stateProxy.setCanceled(state); - break; - } + __setModuleDefault2(result, mod); + return result; + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.getExpiration = void 0; + var generated_1 = require_generated(); + var core14 = __importStar2(require_core()); + function getExpiration(retentionDays) { + if (!retentionDays) { + return void 0; } - if ((isDone === null || isDone === void 0 ? void 0 : isDone(response, state)) || isDone === void 0 && ["succeeded", "canceled"].concat(setErrorAsResult ? [] : ["failed"]).includes(status)) { - stateProxy.setResult(state, buildResult({ - response, - state, - processResult - })); + const maxRetentionDays = getRetentionDays(); + if (maxRetentionDays && maxRetentionDays < retentionDays) { + core14.warning(`Retention days cannot be greater than the maximum allowed retention set within the repository. Using ${maxRetentionDays} instead.`); + retentionDays = maxRetentionDays; } + const expirationDate = /* @__PURE__ */ new Date(); + expirationDate.setDate(expirationDate.getDate() + retentionDays); + return generated_1.Timestamp.fromDate(expirationDate); } - function buildResult(inputs) { - const { processResult, response, state } = inputs; - return processResult ? processResult(response, state) : response; - } - async function initOperation(inputs) { - const { init, stateProxy, processResult, getOperationStatus, withOperationLocation, setErrorAsResult } = inputs; - const { operationLocation, resourceLocation, metadata, response } = await init(); - if (operationLocation) - withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(operationLocation, false); - const config = { - metadata, - operationLocation, - resourceLocation - }; - logger_js_1.logger.verbose(`LRO: Operation description:`, config); - const state = stateProxy.initState(config); - const status = getOperationStatus({ response, state, operationLocation }); - processOperationStatus({ state, status, stateProxy, response, setErrorAsResult, processResult }); - return state; - } - exports2.initOperation = initOperation; - async function pollOperationHelper(inputs) { - const { poll, state, stateProxy, operationLocation, getOperationStatus, getResourceLocation, isOperationError, options } = inputs; - const response = await poll(operationLocation, options).catch(setStateError({ - state, - stateProxy, - isOperationError - })); - const status = getOperationStatus(response, state); - logger_js_1.logger.verbose(`LRO: Status: - Polling from: ${state.config.operationLocation} - Operation status: ${status} - Polling status: ${constants_js_1.terminalStates.includes(status) ? "Stopped" : "Running"}`); - if (status === "succeeded") { - const resourceLocation = getResourceLocation(response, state); - if (resourceLocation !== void 0) { - return { - response: await poll(resourceLocation).catch(setStateError({ state, stateProxy, isOperationError })), - status - }; - } + exports2.getExpiration = getExpiration; + function getRetentionDays() { + const retentionDays = process.env["GITHUB_RETENTION_DAYS"]; + if (!retentionDays) { + return void 0; } - return { response, status }; - } - async function pollOperation(inputs) { - const { poll, state, stateProxy, options, getOperationStatus, getResourceLocation, getOperationLocation, isOperationError, withOperationLocation, getPollingInterval, processResult, getError, updateState, setDelay, isDone, setErrorAsResult } = inputs; - const { operationLocation } = state.config; - if (operationLocation !== void 0) { - const { response, status } = await pollOperationHelper({ - poll, - getOperationStatus, - state, - stateProxy, - operationLocation, - getResourceLocation, - isOperationError, - options - }); - processOperationStatus({ - status, - response, - state, - stateProxy, - isDone, - processResult, - getError, - setErrorAsResult - }); - if (!constants_js_1.terminalStates.includes(status)) { - const intervalInMs = getPollingInterval === null || getPollingInterval === void 0 ? void 0 : getPollingInterval(response); - if (intervalInMs) - setDelay(intervalInMs); - const location = getOperationLocation === null || getOperationLocation === void 0 ? void 0 : getOperationLocation(response, state); - if (location !== void 0) { - const isUpdated = operationLocation !== location; - state.config.operationLocation = location; - withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(location, isUpdated); - } else - withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(operationLocation, false); - } - updateState === null || updateState === void 0 ? void 0 : updateState(state, response); + const days = parseInt(retentionDays); + if (isNaN(days)) { + return void 0; } + return days; } - exports2.pollOperation = pollOperation; } }); -// node_modules/@azure/core-lro/dist/commonjs/http/operation.js -var require_operation2 = __commonJS({ - "node_modules/@azure/core-lro/dist/commonjs/http/operation.js"(exports2) { +// node_modules/@actions/artifact/lib/internal/upload/path-and-artifact-name-validation.js +var require_path_and_artifact_name_validation = __commonJS({ + "node_modules/@actions/artifact/lib/internal/upload/path-and-artifact-name-validation.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.pollHttpOperation = exports2.isOperationError = exports2.getResourceLocation = exports2.getOperationStatus = exports2.getOperationLocation = exports2.initHttpOperation = exports2.getStatusFromInitialResponse = exports2.getErrorFromResponse = exports2.parseRetryAfter = exports2.inferLroMode = void 0; - var operation_js_1 = require_operation(); - var logger_js_1 = require_logger2(); - function getOperationLocationPollingUrl(inputs) { - const { azureAsyncOperation, operationLocation } = inputs; - return operationLocation !== null && operationLocation !== void 0 ? operationLocation : azureAsyncOperation; - } - function getLocationHeader(rawResponse) { - return rawResponse.headers["location"]; - } - function getOperationLocationHeader(rawResponse) { - return rawResponse.headers["operation-location"]; - } - function getAzureAsyncOperationHeader(rawResponse) { - return rawResponse.headers["azure-asyncoperation"]; - } - function findResourceLocation(inputs) { - var _a; - const { location, requestMethod, requestPath, resourceLocationConfig } = inputs; - switch (requestMethod) { - case "PUT": { - return requestPath; - } - case "DELETE": { - return void 0; - } - case "PATCH": { - return (_a = getDefault()) !== null && _a !== void 0 ? _a : requestPath; - } - default: { - return getDefault(); - } - } - function getDefault() { - switch (resourceLocationConfig) { - case "azure-async-operation": { - return void 0; - } - case "original-uri": { - return requestPath; - } - case "location": - default: { - return location; - } - } - } - } - function inferLroMode(inputs) { - const { rawResponse, requestMethod, requestPath, resourceLocationConfig } = inputs; - const operationLocation = getOperationLocationHeader(rawResponse); - const azureAsyncOperation = getAzureAsyncOperationHeader(rawResponse); - const pollingUrl = getOperationLocationPollingUrl({ operationLocation, azureAsyncOperation }); - const location = getLocationHeader(rawResponse); - const normalizedRequestMethod = requestMethod === null || requestMethod === void 0 ? void 0 : requestMethod.toLocaleUpperCase(); - if (pollingUrl !== void 0) { - return { - mode: "OperationLocation", - operationLocation: pollingUrl, - resourceLocation: findResourceLocation({ - requestMethod: normalizedRequestMethod, - location, - requestPath, - resourceLocationConfig - }) - }; - } else if (location !== void 0) { - return { - mode: "ResourceLocation", - operationLocation: location - }; - } else if (normalizedRequestMethod === "PUT" && requestPath) { - return { - mode: "Body", - operationLocation: requestPath - }; - } else { - return void 0; - } - } - exports2.inferLroMode = inferLroMode; - function transformStatus(inputs) { - const { status, statusCode } = inputs; - if (typeof status !== "string" && status !== void 0) { - throw new Error(`Polling was unsuccessful. Expected status to have a string value or no value but it has instead: ${status}. This doesn't necessarily indicate the operation has failed. Check your Azure subscription or resource status for more information.`); - } - switch (status === null || status === void 0 ? void 0 : status.toLocaleLowerCase()) { - case void 0: - return toOperationStatus(statusCode); - case "succeeded": - return "succeeded"; - case "failed": - return "failed"; - case "running": - case "accepted": - case "started": - case "canceling": - case "cancelling": - return "running"; - case "canceled": - case "cancelled": - return "canceled"; - default: { - logger_js_1.logger.verbose(`LRO: unrecognized operation status: ${status}`); - return status; - } - } - } - function getStatus(rawResponse) { - var _a; - const { status } = (_a = rawResponse.body) !== null && _a !== void 0 ? _a : {}; - return transformStatus({ status, statusCode: rawResponse.statusCode }); - } - function getProvisioningState(rawResponse) { - var _a, _b; - const { properties, provisioningState } = (_a = rawResponse.body) !== null && _a !== void 0 ? _a : {}; - const status = (_b = properties === null || properties === void 0 ? void 0 : properties.provisioningState) !== null && _b !== void 0 ? _b : provisioningState; - return transformStatus({ status, statusCode: rawResponse.statusCode }); - } - function toOperationStatus(statusCode) { - if (statusCode === 202) { - return "running"; - } else if (statusCode < 300) { - return "succeeded"; - } else { - return "failed"; - } - } - function parseRetryAfter({ rawResponse }) { - const retryAfter = rawResponse.headers["retry-after"]; - if (retryAfter !== void 0) { - const retryAfterInSeconds = parseInt(retryAfter); - return isNaN(retryAfterInSeconds) ? calculatePollingIntervalFromDate(new Date(retryAfter)) : retryAfterInSeconds * 1e3; - } - return void 0; - } - exports2.parseRetryAfter = parseRetryAfter; - function getErrorFromResponse(response) { - const error3 = accessBodyProperty(response, "error"); - if (!error3) { - logger_js_1.logger.warning(`The long-running operation failed but there is no error property in the response's body`); - return; - } - if (!error3.code || !error3.message) { - logger_js_1.logger.warning(`The long-running operation failed but the error property in the response's body doesn't contain code or message`); - return; - } - return error3; - } - exports2.getErrorFromResponse = getErrorFromResponse; - function calculatePollingIntervalFromDate(retryAfterDate) { - const timeNow = Math.floor((/* @__PURE__ */ new Date()).getTime()); - const retryAfterTime = retryAfterDate.getTime(); - if (timeNow < retryAfterTime) { - return retryAfterTime - timeNow; - } - return void 0; - } - function getStatusFromInitialResponse(inputs) { - const { response, state, operationLocation } = inputs; - function helper() { - var _a; - const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"]; - switch (mode) { - case void 0: - return toOperationStatus(response.rawResponse.statusCode); - case "Body": - return getOperationStatus(response, state); - default: - return "running"; - } - } - const status = helper(); - return status === "running" && operationLocation === void 0 ? "succeeded" : status; - } - exports2.getStatusFromInitialResponse = getStatusFromInitialResponse; - async function initHttpOperation(inputs) { - const { stateProxy, resourceLocationConfig, processResult, lro, setErrorAsResult } = inputs; - return (0, operation_js_1.initOperation)({ - init: async () => { - const response = await lro.sendInitialRequest(); - const config = inferLroMode({ - rawResponse: response.rawResponse, - requestPath: lro.requestPath, - requestMethod: lro.requestMethod, - resourceLocationConfig - }); - return Object.assign({ response, operationLocation: config === null || config === void 0 ? void 0 : config.operationLocation, resourceLocation: config === null || config === void 0 ? void 0 : config.resourceLocation }, (config === null || config === void 0 ? void 0 : config.mode) ? { metadata: { mode: config.mode } } : {}); - }, - stateProxy, - processResult: processResult ? ({ flatResponse }, state) => processResult(flatResponse, state) : ({ flatResponse }) => flatResponse, - getOperationStatus: getStatusFromInitialResponse, - setErrorAsResult - }); - } - exports2.initHttpOperation = initHttpOperation; - function getOperationLocation({ rawResponse }, state) { - var _a; - const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"]; - switch (mode) { - case "OperationLocation": { - return getOperationLocationPollingUrl({ - operationLocation: getOperationLocationHeader(rawResponse), - azureAsyncOperation: getAzureAsyncOperationHeader(rawResponse) - }); - } - case "ResourceLocation": { - return getLocationHeader(rawResponse); - } - case "Body": - default: { - return void 0; - } + exports2.validateFilePath = exports2.validateArtifactName = void 0; + var core_1 = require_core(); + var invalidArtifactFilePathCharacters = /* @__PURE__ */ new Map([ + ['"', ' Double quote "'], + [":", " Colon :"], + ["<", " Less than <"], + [">", " Greater than >"], + ["|", " Vertical bar |"], + ["*", " Asterisk *"], + ["?", " Question mark ?"], + ["\r", " Carriage return \\r"], + ["\n", " Line feed \\n"] + ]); + var invalidArtifactNameCharacters = new Map([ + ...invalidArtifactFilePathCharacters, + ["\\", " Backslash \\"], + ["/", " Forward slash /"] + ]); + function validateArtifactName(name) { + if (!name) { + throw new Error(`Provided artifact name input during validation is empty`); } - } - exports2.getOperationLocation = getOperationLocation; - function getOperationStatus({ rawResponse }, state) { - var _a; - const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"]; - switch (mode) { - case "OperationLocation": { - return getStatus(rawResponse); - } - case "ResourceLocation": { - return toOperationStatus(rawResponse.statusCode); - } - case "Body": { - return getProvisioningState(rawResponse); + for (const [invalidCharacterKey, errorMessageForCharacter] of invalidArtifactNameCharacters) { + if (name.includes(invalidCharacterKey)) { + throw new Error(`The artifact name is not valid: ${name}. Contains the following character: ${errorMessageForCharacter} + +Invalid characters include: ${Array.from(invalidArtifactNameCharacters.values()).toString()} + +These characters are not allowed in the artifact name due to limitations with certain file systems such as NTFS. To maintain file system agnostic behavior, these characters are intentionally not allowed to prevent potential problems with downloads on different file systems.`); } - default: - throw new Error(`Internal error: Unexpected operation mode: ${mode}`); } + (0, core_1.info)(`Artifact name is valid!`); } - exports2.getOperationStatus = getOperationStatus; - function accessBodyProperty({ flatResponse, rawResponse }, prop) { - var _a, _b; - return (_a = flatResponse === null || flatResponse === void 0 ? void 0 : flatResponse[prop]) !== null && _a !== void 0 ? _a : (_b = rawResponse.body) === null || _b === void 0 ? void 0 : _b[prop]; - } - function getResourceLocation(res, state) { - const loc = accessBodyProperty(res, "resourceLocation"); - if (loc && typeof loc === "string") { - state.config.resourceLocation = loc; + exports2.validateArtifactName = validateArtifactName; + function validateFilePath(path7) { + if (!path7) { + throw new Error(`Provided file path input during validation is empty`); + } + for (const [invalidCharacterKey, errorMessageForCharacter] of invalidArtifactFilePathCharacters) { + if (path7.includes(invalidCharacterKey)) { + throw new Error(`The path for one of the files in artifact is not valid: ${path7}. Contains the following character: ${errorMessageForCharacter} + +Invalid characters include: ${Array.from(invalidArtifactFilePathCharacters.values()).toString()} + +The following characters are not allowed in files that are uploaded due to limitations with certain file systems such as NTFS. To maintain file system agnostic behavior, these characters are intentionally not allowed to prevent potential problems with downloads on different file systems. + `); + } } - return state.config.resourceLocation; - } - exports2.getResourceLocation = getResourceLocation; - function isOperationError(e) { - return e.name === "RestError"; - } - exports2.isOperationError = isOperationError; - async function pollHttpOperation(inputs) { - const { lro, stateProxy, options, processResult, updateState, setDelay, state, setErrorAsResult } = inputs; - return (0, operation_js_1.pollOperation)({ - state, - stateProxy, - setDelay, - processResult: processResult ? ({ flatResponse }, inputState) => processResult(flatResponse, inputState) : ({ flatResponse }) => flatResponse, - getError: getErrorFromResponse, - updateState, - getPollingInterval: parseRetryAfter, - getOperationLocation, - getOperationStatus, - isOperationError, - getResourceLocation, - options, - /** - * The expansion here is intentional because `lro` could be an object that - * references an inner this, so we need to preserve a reference to it. - */ - poll: async (location, inputOptions) => lro.sendPollRequest(location, inputOptions), - setErrorAsResult - }); } - exports2.pollHttpOperation = pollHttpOperation; + exports2.validateFilePath = validateFilePath; } }); -// node_modules/@azure/core-lro/dist/commonjs/poller/poller.js -var require_poller = __commonJS({ - "node_modules/@azure/core-lro/dist/commonjs/poller/poller.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.buildCreatePoller = void 0; - var operation_js_1 = require_operation(); - var constants_js_1 = require_constants17(); - var core_util_1 = require_commonjs4(); - var createStateProxy = () => ({ - /** - * The state at this point is created to be of type OperationState. - * It will be updated later to be of type TState when the - * customer-provided callback, `updateState`, is called during polling. - */ - initState: (config) => ({ status: "running", config }), - setCanceled: (state) => state.status = "canceled", - setError: (state, error3) => state.error = error3, - setResult: (state, result) => state.result = result, - setRunning: (state) => state.status = "running", - setSucceeded: (state) => state.status = "succeeded", - setFailed: (state) => state.status = "failed", - getError: (state) => state.error, - getResult: (state) => state.result, - isCanceled: (state) => state.status === "canceled", - isFailed: (state) => state.status === "failed", - isRunning: (state) => state.status === "running", - isSucceeded: (state) => state.status === "succeeded" - }); - function buildCreatePoller(inputs) { - const { getOperationLocation, getStatusFromInitialResponse, getStatusFromPollResponse, isOperationError, getResourceLocation, getPollingInterval, getError, resolveOnUnsuccessful } = inputs; - return async ({ init, poll }, options) => { - const { processResult, updateState, withOperationLocation: withOperationLocationCallback, intervalInMs = constants_js_1.POLL_INTERVAL_IN_MS, restoreFrom } = options || {}; - const stateProxy = createStateProxy(); - const withOperationLocation = withOperationLocationCallback ? /* @__PURE__ */ (() => { - let called = false; - return (operationLocation, isUpdated) => { - if (isUpdated) - withOperationLocationCallback(operationLocation); - else if (!called) - withOperationLocationCallback(operationLocation); - called = true; - }; - })() : void 0; - const state = restoreFrom ? (0, operation_js_1.deserializeState)(restoreFrom) : await (0, operation_js_1.initOperation)({ - init, - stateProxy, - processResult, - getOperationStatus: getStatusFromInitialResponse, - withOperationLocation, - setErrorAsResult: !resolveOnUnsuccessful - }); - let resultPromise; - const abortController = new AbortController(); - const handlers = /* @__PURE__ */ new Map(); - const handleProgressEvents = async () => handlers.forEach((h) => h(state)); - const cancelErrMsg = "Operation was canceled"; - let currentPollIntervalInMs = intervalInMs; - const poller = { - getOperationState: () => state, - getResult: () => state.result, - isDone: () => ["succeeded", "failed", "canceled"].includes(state.status), - isStopped: () => resultPromise === void 0, - stopPolling: () => { - abortController.abort(); - }, - toString: () => JSON.stringify({ - state - }), - onProgress: (callback) => { - const s = /* @__PURE__ */ Symbol(); - handlers.set(s, callback); - return () => handlers.delete(s); - }, - pollUntilDone: (pollOptions) => resultPromise !== null && resultPromise !== void 0 ? resultPromise : resultPromise = (async () => { - const { abortSignal: inputAbortSignal } = pollOptions || {}; - function abortListener() { - abortController.abort(); - } - const abortSignal = abortController.signal; - if (inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.aborted) { - abortController.abort(); - } else if (!abortSignal.aborted) { - inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.addEventListener("abort", abortListener, { once: true }); - } - try { - if (!poller.isDone()) { - await poller.poll({ abortSignal }); - while (!poller.isDone()) { - await (0, core_util_1.delay)(currentPollIntervalInMs, { abortSignal }); - await poller.poll({ abortSignal }); - } - } - } finally { - inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.removeEventListener("abort", abortListener); - } - if (resolveOnUnsuccessful) { - return poller.getResult(); - } else { - switch (state.status) { - case "succeeded": - return poller.getResult(); - case "canceled": - throw new Error(cancelErrMsg); - case "failed": - throw state.error; - case "notStarted": - case "running": - throw new Error(`Polling completed without succeeding or failing`); - } - } - })().finally(() => { - resultPromise = void 0; - }), - async poll(pollOptions) { - if (resolveOnUnsuccessful) { - if (poller.isDone()) - return; - } else { - switch (state.status) { - case "succeeded": - return; - case "canceled": - throw new Error(cancelErrMsg); - case "failed": - throw state.error; - } - } - await (0, operation_js_1.pollOperation)({ - poll, - state, - stateProxy, - getOperationLocation, - isOperationError, - withOperationLocation, - getPollingInterval, - getOperationStatus: getStatusFromPollResponse, - getResourceLocation, - processResult, - getError, - updateState, - options: pollOptions, - setDelay: (pollIntervalInMs) => { - currentPollIntervalInMs = pollIntervalInMs; - }, - setErrorAsResult: !resolveOnUnsuccessful - }); - await handleProgressEvents(); - if (!resolveOnUnsuccessful) { - switch (state.status) { - case "canceled": - throw new Error(cancelErrMsg); - case "failed": - throw state.error; - } - } - } - }; - return poller; - }; - } - exports2.buildCreatePoller = buildCreatePoller; +// node_modules/@actions/artifact/package.json +var require_package3 = __commonJS({ + "node_modules/@actions/artifact/package.json"(exports2, module2) { + module2.exports = { + name: "@actions/artifact", + version: "5.0.3", + preview: true, + description: "Actions artifact lib", + keywords: [ + "github", + "actions", + "artifact" + ], + homepage: "https://github.com/actions/toolkit/tree/main/packages/artifact", + license: "MIT", + main: "lib/artifact.js", + types: "lib/artifact.d.ts", + directories: { + lib: "lib", + test: "__tests__" + }, + files: [ + "lib", + "!.DS_Store" + ], + publishConfig: { + access: "public" + }, + repository: { + type: "git", + url: "git+https://github.com/actions/toolkit.git", + directory: "packages/artifact" + }, + scripts: { + "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json", + test: "cd ../../ && npm run test ./packages/artifact", + bootstrap: "cd ../../ && npm run bootstrap", + "tsc-run": "tsc", + tsc: "npm run bootstrap && npm run tsc-run", + "gen:docs": "typedoc --plugin typedoc-plugin-markdown --out docs/generated src/artifact.ts --githubPages false --readme none" + }, + bugs: { + url: "https://github.com/actions/toolkit/issues" + }, + dependencies: { + "@actions/core": "^2.0.0", + "@actions/github": "^6.0.1", + "@actions/http-client": "^3.0.2", + "@azure/storage-blob": "^12.29.1", + "@octokit/core": "^5.2.1", + "@octokit/plugin-request-log": "^1.0.4", + "@octokit/plugin-retry": "^3.0.9", + "@octokit/request": "^8.4.1", + "@octokit/request-error": "^5.1.1", + "@protobuf-ts/plugin": "^2.2.3-alpha.1", + archiver: "^7.0.1", + "jwt-decode": "^3.1.2", + "unzip-stream": "^0.3.1" + }, + devDependencies: { + "@types/archiver": "^5.3.2", + "@types/unzip-stream": "^0.3.4", + typedoc: "^0.28.13", + "typedoc-plugin-markdown": "^3.17.1", + typescript: "^5.2.2" + }, + overrides: { + "uri-js": "npm:uri-js-replace@^1.0.1", + "node-fetch": "^3.3.2" + } + }; } }); -// node_modules/@azure/core-lro/dist/commonjs/http/poller.js -var require_poller2 = __commonJS({ - "node_modules/@azure/core-lro/dist/commonjs/http/poller.js"(exports2) { +// node_modules/@actions/artifact/lib/internal/shared/user-agent.js +var require_user_agent2 = __commonJS({ + "node_modules/@actions/artifact/lib/internal/shared/user-agent.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.createHttpPoller = void 0; - var operation_js_1 = require_operation2(); - var poller_js_1 = require_poller(); - async function createHttpPoller(lro, options) { - const { resourceLocationConfig, intervalInMs, processResult, restoreFrom, updateState, withOperationLocation, resolveOnUnsuccessful = false } = options || {}; - return (0, poller_js_1.buildCreatePoller)({ - getStatusFromInitialResponse: operation_js_1.getStatusFromInitialResponse, - getStatusFromPollResponse: operation_js_1.getOperationStatus, - isOperationError: operation_js_1.isOperationError, - getOperationLocation: operation_js_1.getOperationLocation, - getResourceLocation: operation_js_1.getResourceLocation, - getPollingInterval: operation_js_1.parseRetryAfter, - getError: operation_js_1.getErrorFromResponse, - resolveOnUnsuccessful - })({ - init: async () => { - const response = await lro.sendInitialRequest(); - const config = (0, operation_js_1.inferLroMode)({ - rawResponse: response.rawResponse, - requestPath: lro.requestPath, - requestMethod: lro.requestMethod, - resourceLocationConfig - }); - return Object.assign({ response, operationLocation: config === null || config === void 0 ? void 0 : config.operationLocation, resourceLocation: config === null || config === void 0 ? void 0 : config.resourceLocation }, (config === null || config === void 0 ? void 0 : config.mode) ? { metadata: { mode: config.mode } } : {}); - }, - poll: lro.sendPollRequest - }, { - intervalInMs, - withOperationLocation, - restoreFrom, - updateState, - processResult: processResult ? ({ flatResponse }, state) => processResult(flatResponse, state) : ({ flatResponse }) => flatResponse - }); + exports2.getUserAgentString = void 0; + var packageJson = require_package3(); + function getUserAgentString() { + return `@actions/artifact-${packageJson.version}`; } - exports2.createHttpPoller = createHttpPoller; + exports2.getUserAgentString = getUserAgentString; } }); -// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/operation.js -var require_operation3 = __commonJS({ - "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/operation.js"(exports2) { +// node_modules/@actions/artifact/lib/internal/shared/errors.js +var require_errors4 = __commonJS({ + "node_modules/@actions/artifact/lib/internal/shared/errors.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.GenericPollOperation = void 0; - var operation_js_1 = require_operation2(); - var logger_js_1 = require_logger2(); - var createStateProxy = () => ({ - initState: (config) => ({ config, isStarted: true }), - setCanceled: (state) => state.isCancelled = true, - setError: (state, error3) => state.error = error3, - setResult: (state, result) => state.result = result, - setRunning: (state) => state.isStarted = true, - setSucceeded: (state) => state.isCompleted = true, - setFailed: () => { - }, - getError: (state) => state.error, - getResult: (state) => state.result, - isCanceled: (state) => !!state.isCancelled, - isFailed: (state) => !!state.error, - isRunning: (state) => !!state.isStarted, - isSucceeded: (state) => Boolean(state.isCompleted && !state.isCancelled && !state.error) - }); - var GenericPollOperation = class { - constructor(state, lro, setErrorAsResult, lroResourceLocationConfig, processResult, updateState, isDone) { - this.state = state; - this.lro = lro; - this.setErrorAsResult = setErrorAsResult; - this.lroResourceLocationConfig = lroResourceLocationConfig; - this.processResult = processResult; - this.updateState = updateState; - this.isDone = isDone; + exports2.UsageError = exports2.NetworkError = exports2.GHESNotSupportedError = exports2.ArtifactNotFoundError = exports2.InvalidResponseError = exports2.FilesNotFoundError = void 0; + var FilesNotFoundError = class extends Error { + constructor(files = []) { + let message = "No files were found to upload"; + if (files.length > 0) { + message += `: ${files.join(", ")}`; + } + super(message); + this.files = files; + this.name = "FilesNotFoundError"; } - setPollerConfig(pollerConfig) { - this.pollerConfig = pollerConfig; + }; + exports2.FilesNotFoundError = FilesNotFoundError; + var InvalidResponseError = class extends Error { + constructor(message) { + super(message); + this.name = "InvalidResponseError"; } - async update(options) { - var _a; - const stateProxy = createStateProxy(); - if (!this.state.isStarted) { - this.state = Object.assign(Object.assign({}, this.state), await (0, operation_js_1.initHttpOperation)({ - lro: this.lro, - stateProxy, - resourceLocationConfig: this.lroResourceLocationConfig, - processResult: this.processResult, - setErrorAsResult: this.setErrorAsResult - })); - } - const updateState = this.updateState; - const isDone = this.isDone; - if (!this.state.isCompleted && this.state.error === void 0) { - await (0, operation_js_1.pollHttpOperation)({ - lro: this.lro, - state: this.state, - stateProxy, - processResult: this.processResult, - updateState: updateState ? (state, { rawResponse }) => updateState(state, rawResponse) : void 0, - isDone: isDone ? ({ flatResponse }, state) => isDone(flatResponse, state) : void 0, - options, - setDelay: (intervalInMs) => { - this.pollerConfig.intervalInMs = intervalInMs; - }, - setErrorAsResult: this.setErrorAsResult - }); - } - (_a = options === null || options === void 0 ? void 0 : options.fireProgress) === null || _a === void 0 ? void 0 : _a.call(options, this.state); - return this; + }; + exports2.InvalidResponseError = InvalidResponseError; + var ArtifactNotFoundError = class extends Error { + constructor(message = "Artifact not found") { + super(message); + this.name = "ArtifactNotFoundError"; } - async cancel() { - logger_js_1.logger.error("`cancelOperation` is deprecated because it wasn't implemented"); - return this; + }; + exports2.ArtifactNotFoundError = ArtifactNotFoundError; + var GHESNotSupportedError = class extends Error { + constructor(message = "@actions/artifact v2.0.0+, upload-artifact@v4+ and download-artifact@v4+ are not currently supported on GHES.") { + super(message); + this.name = "GHESNotSupportedError"; } - /** - * Serializes the Poller operation. - */ - toString() { - return JSON.stringify({ - state: this.state - }); + }; + exports2.GHESNotSupportedError = GHESNotSupportedError; + var NetworkError = class extends Error { + constructor(code) { + const message = `Unable to make request: ${code} +If you are using self-hosted runners, please make sure your runner has access to all GitHub endpoints: https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#communication-between-self-hosted-runners-and-github`; + super(message); + this.code = code; + this.name = "NetworkError"; } }; - exports2.GenericPollOperation = GenericPollOperation; + exports2.NetworkError = NetworkError; + NetworkError.isNetworkErrorCode = (code) => { + if (!code) + return false; + return [ + "ECONNRESET", + "ENOTFOUND", + "ETIMEDOUT", + "ECONNREFUSED", + "EHOSTUNREACH" + ].includes(code); + }; + var UsageError = class extends Error { + constructor() { + const message = `Artifact storage quota has been hit. Unable to upload any new artifacts. Usage is recalculated every 6-12 hours. +More info on storage limits: https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#calculating-minute-and-storage-spending`; + super(message); + this.name = "UsageError"; + } + }; + exports2.UsageError = UsageError; + UsageError.isUsageErrorMessage = (msg) => { + if (!msg) + return false; + return msg.includes("insufficient usage"); + }; } }); -// node_modules/@azure/core-lro/dist/commonjs/legacy/poller.js -var require_poller3 = __commonJS({ - "node_modules/@azure/core-lro/dist/commonjs/legacy/poller.js"(exports2) { +// node_modules/jwt-decode/build/jwt-decode.cjs.js +var require_jwt_decode_cjs = __commonJS({ + "node_modules/jwt-decode/build/jwt-decode.cjs.js"(exports2, module2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.Poller = exports2.PollerCancelledError = exports2.PollerStoppedError = void 0; - var PollerStoppedError = class _PollerStoppedError extends Error { - constructor(message) { - super(message); - this.name = "PollerStoppedError"; - Object.setPrototypeOf(this, _PollerStoppedError.prototype); - } + function e(e2) { + this.message = e2; + } + e.prototype = new Error(), e.prototype.name = "InvalidCharacterError"; + var r = "undefined" != typeof window && window.atob && window.atob.bind(window) || function(r2) { + var t2 = String(r2).replace(/=+$/, ""); + if (t2.length % 4 == 1) throw new e("'atob' failed: The string to be decoded is not correctly encoded."); + for (var n2, o2, a2 = 0, i = 0, c = ""; o2 = t2.charAt(i++); ~o2 && (n2 = a2 % 4 ? 64 * n2 + o2 : o2, a2++ % 4) ? c += String.fromCharCode(255 & n2 >> (-2 * a2 & 6)) : 0) o2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(o2); + return c; }; - exports2.PollerStoppedError = PollerStoppedError; - var PollerCancelledError = class _PollerCancelledError extends Error { - constructor(message) { - super(message); - this.name = "PollerCancelledError"; - Object.setPrototypeOf(this, _PollerCancelledError.prototype); + function t(e2) { + var t2 = e2.replace(/-/g, "+").replace(/_/g, "/"); + switch (t2.length % 4) { + case 0: + break; + case 2: + t2 += "=="; + break; + case 3: + t2 += "="; + break; + default: + throw "Illegal base64url string!"; + } + try { + return (function(e3) { + return decodeURIComponent(r(e3).replace(/(.)/g, (function(e4, r2) { + var t3 = r2.charCodeAt(0).toString(16).toUpperCase(); + return t3.length < 2 && (t3 = "0" + t3), "%" + t3; + }))); + })(t2); + } catch (e3) { + return r(t2); + } + } + function n(e2) { + this.message = e2; + } + function o(e2, r2) { + if ("string" != typeof e2) throw new n("Invalid token specified"); + var o2 = true === (r2 = r2 || {}).header ? 0 : 1; + try { + return JSON.parse(t(e2.split(".")[o2])); + } catch (e3) { + throw new n("Invalid token specified: " + e3.message); + } + } + n.prototype = new Error(), n.prototype.name = "InvalidTokenError"; + var a = o; + a.default = o, a.InvalidTokenError = n, module2.exports = a; + } +}); + +// node_modules/@actions/artifact/lib/internal/shared/util.js +var require_util19 = __commonJS({ + "node_modules/@actions/artifact/lib/internal/shared/util.js"(exports2) { + "use strict"; + var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }); + var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k); } + __setModuleDefault2(result, mod); + return result; }; - exports2.PollerCancelledError = PollerCancelledError; - var Poller = class { - /** - * A poller needs to be initialized by passing in at least the basic properties of the `PollOperation`. - * - * When writing an implementation of a Poller, this implementation needs to deal with the initialization - * of any custom state beyond the basic definition of the poller. The basic poller assumes that the poller's - * operation has already been defined, at least its basic properties. The code below shows how to approach - * the definition of the constructor of a new custom poller. - * - * ```ts - * export class MyPoller extends Poller { - * constructor({ - * // Anything you might need outside of the basics - * }) { - * let state: MyOperationState = { - * privateProperty: private, - * publicProperty: public, - * }; - * - * const operation = { - * state, - * update, - * cancel, - * toString - * } - * - * // Sending the operation to the parent's constructor. - * super(operation); - * - * // You can assign more local properties here. - * } - * } - * ``` - * - * Inside of this constructor, a new promise is created. This will be used to - * tell the user when the poller finishes (see `pollUntilDone()`). The promise's - * resolve and reject methods are also used internally to control when to resolve - * or reject anyone waiting for the poller to finish. - * - * The constructor of a custom implementation of a poller is where any serialized version of - * a previous poller's operation should be deserialized into the operation sent to the - * base constructor. For example: - * - * ```ts - * export class MyPoller extends Poller { - * constructor( - * baseOperation: string | undefined - * ) { - * let state: MyOperationState = {}; - * if (baseOperation) { - * state = { - * ...JSON.parse(baseOperation).state, - * ...state - * }; - * } - * const operation = { - * state, - * // ... - * } - * super(operation); - * } - * } - * ``` - * - * @param operation - Must contain the basic properties of `PollOperation`. - */ - constructor(operation) { - this.resolveOnUnsuccessful = false; - this.stopped = true; - this.pollProgressCallbacks = []; - this.operation = operation; - this.promise = new Promise((resolve5, reject) => { - this.resolve = resolve5; - this.reject = reject; - }); - this.promise.catch(() => { - }); + var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { + return mod && mod.__esModule ? mod : { "default": mod }; + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.maskSecretUrls = exports2.maskSigUrl = exports2.getBackendIdsFromToken = void 0; + var core14 = __importStar2(require_core()); + var config_1 = require_config2(); + var jwt_decode_1 = __importDefault2(require_jwt_decode_cjs()); + var core_1 = require_core(); + var InvalidJwtError = new Error("Failed to get backend IDs: The provided JWT token is invalid and/or missing claims"); + function getBackendIdsFromToken() { + const token = (0, config_1.getRuntimeToken)(); + const decoded = (0, jwt_decode_1.default)(token); + if (!decoded.scp) { + throw InvalidJwtError; } - /** - * Starts a loop that will break only if the poller is done - * or if the poller is stopped. - */ - async startPolling(pollOptions = {}) { - if (this.stopped) { - this.stopped = false; + const scpParts = decoded.scp.split(" "); + if (scpParts.length === 0) { + throw InvalidJwtError; + } + for (const scopes of scpParts) { + const scopeParts = scopes.split(":"); + if ((scopeParts === null || scopeParts === void 0 ? void 0 : scopeParts[0]) !== "Actions.Results") { + continue; } - while (!this.isStopped() && !this.isDone()) { - await this.poll(pollOptions); - await this.delay(); + if (scopeParts.length !== 3) { + throw InvalidJwtError; } + const ids = { + workflowRunBackendId: scopeParts[1], + workflowJobRunBackendId: scopeParts[2] + }; + core14.debug(`Workflow Run Backend ID: ${ids.workflowRunBackendId}`); + core14.debug(`Workflow Job Run Backend ID: ${ids.workflowJobRunBackendId}`); + return ids; } - /** - * pollOnce does one polling, by calling to the update method of the underlying - * poll operation to make any relevant change effective. - * - * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike. - * - * @param options - Optional properties passed to the operation's update method. - */ - async pollOnce(options = {}) { - if (!this.isDone()) { - this.operation = await this.operation.update({ - abortSignal: options.abortSignal, - fireProgress: this.fireProgress.bind(this) - }); + throw InvalidJwtError; + } + exports2.getBackendIdsFromToken = getBackendIdsFromToken; + function maskSigUrl(url) { + if (!url) + return; + try { + const parsedUrl = new URL(url); + const signature = parsedUrl.searchParams.get("sig"); + if (signature) { + (0, core_1.setSecret)(signature); + (0, core_1.setSecret)(encodeURIComponent(signature)); } - this.processUpdatedState(); + } catch (error3) { + (0, core_1.debug)(`Failed to parse URL: ${url} ${error3 instanceof Error ? error3.message : String(error3)}`); } - /** - * fireProgress calls the functions passed in via onProgress the method of the poller. - * - * It loops over all of the callbacks received from onProgress, and executes them, sending them - * the current operation state. - * - * @param state - The current operation state. - */ - fireProgress(state) { - for (const callback of this.pollProgressCallbacks) { - callback(state); - } + } + exports2.maskSigUrl = maskSigUrl; + function maskSecretUrls(body) { + if (typeof body !== "object" || body === null) { + (0, core_1.debug)("body is not an object or is null"); + return; } - /** - * Invokes the underlying operation's cancel method. - */ - async cancelOnce(options = {}) { - this.operation = await this.operation.cancel(options); + if ("signed_upload_url" in body && typeof body.signed_upload_url === "string") { + maskSigUrl(body.signed_upload_url); } - /** - * Returns a promise that will resolve once a single polling request finishes. - * It does this by calling the update method of the Poller's operation. - * - * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike. - * - * @param options - Optional properties passed to the operation's update method. - */ - poll(options = {}) { - if (!this.pollOncePromise) { - this.pollOncePromise = this.pollOnce(options); - const clearPollOncePromise = () => { - this.pollOncePromise = void 0; - }; - this.pollOncePromise.then(clearPollOncePromise, clearPollOncePromise).catch(this.reject); - } - return this.pollOncePromise; + if ("signed_url" in body && typeof body.signed_url === "string") { + maskSigUrl(body.signed_url); } - processUpdatedState() { - if (this.operation.state.error) { - this.stopped = true; - if (!this.resolveOnUnsuccessful) { - this.reject(this.operation.state.error); - throw this.operation.state.error; + } + exports2.maskSecretUrls = maskSecretUrls; + } +}); + +// node_modules/@actions/artifact/lib/internal/shared/artifact-twirp-client.js +var require_artifact_twirp_client2 = __commonJS({ + "node_modules/@actions/artifact/lib/internal/shared/artifact-twirp-client.js"(exports2) { + "use strict"; + var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve5) { + resolve5(value); + }); + } + return new (P || (P = Promise))(function(resolve5, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); } } - if (this.operation.state.isCancelled) { - this.stopped = true; - if (!this.resolveOnUnsuccessful) { - const error3 = new PollerCancelledError("Operation was canceled"); - this.reject(error3); - throw error3; + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); } } - if (this.isDone() && this.resolve) { - this.resolve(this.getResult()); + function step(result) { + result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); } - } - /** - * Returns a promise that will resolve once the underlying operation is completed. - */ - async pollUntilDone(pollOptions = {}) { - if (this.stopped) { - this.startPolling(pollOptions).catch(this.reject); + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.internalArtifactTwirpClient = void 0; + var http_client_1 = require_lib(); + var auth_1 = require_auth(); + var core_1 = require_core(); + var generated_1 = require_generated(); + var config_1 = require_config2(); + var user_agent_1 = require_user_agent2(); + var errors_1 = require_errors4(); + var util_1 = require_util19(); + var ArtifactHttpClient = class { + constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) { + this.maxAttempts = 5; + this.baseRetryIntervalMilliseconds = 3e3; + this.retryMultiplier = 1.5; + const token = (0, config_1.getRuntimeToken)(); + this.baseUrl = (0, config_1.getResultsServiceUrl)(); + if (maxAttempts) { + this.maxAttempts = maxAttempts; } - this.processUpdatedState(); - return this.promise; - } - /** - * Invokes the provided callback after each polling is completed, - * sending the current state of the poller's operation. - * - * It returns a method that can be used to stop receiving updates on the given callback function. - */ - onProgress(callback) { - this.pollProgressCallbacks.push(callback); - return () => { - this.pollProgressCallbacks = this.pollProgressCallbacks.filter((c) => c !== callback); - }; - } - /** - * Returns true if the poller has finished polling. - */ - isDone() { - const state = this.operation.state; - return Boolean(state.isCompleted || state.isCancelled || state.error); - } - /** - * Stops the poller from continuing to poll. - */ - stopPolling() { - if (!this.stopped) { - this.stopped = true; - if (this.reject) { - this.reject(new PollerStoppedError("This poller is already stopped")); - } + if (baseRetryIntervalMilliseconds) { + this.baseRetryIntervalMilliseconds = baseRetryIntervalMilliseconds; } - } - /** - * Returns true if the poller is stopped. - */ - isStopped() { - return this.stopped; - } - /** - * Attempts to cancel the underlying operation. - * - * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike. - * - * If it's called again before it finishes, it will throw an error. - * - * @param options - Optional properties passed to the operation's update method. - */ - cancelOperation(options = {}) { - if (!this.cancelPromise) { - this.cancelPromise = this.cancelOnce(options); - } else if (options.abortSignal) { - throw new Error("A cancel request is currently pending"); + if (retryMultiplier) { + this.retryMultiplier = retryMultiplier; } - return this.cancelPromise; + this.httpClient = new http_client_1.HttpClient(userAgent2, [ + new auth_1.BearerCredentialHandler(token) + ]); } - /** - * Returns the state of the operation. - * - * Even though TState will be the same type inside any of the methods of any extension of the Poller class, - * implementations of the pollers can customize what's shared with the public by writing their own - * version of the `getOperationState` method, and by defining two types, one representing the internal state of the poller - * and a public type representing a safe to share subset of the properties of the internal state. - * Their definition of getOperationState can then return their public type. - * - * Example: - * - * ```ts - * // Let's say we have our poller's operation state defined as: - * interface MyOperationState extends PollOperationState { - * privateProperty?: string; - * publicProperty?: string; - * } - * - * // To allow us to have a true separation of public and private state, we have to define another interface: - * interface PublicState extends PollOperationState { - * publicProperty?: string; - * } - * - * // Then, we define our Poller as follows: - * export class MyPoller extends Poller { - * // ... More content is needed here ... - * - * public getOperationState(): PublicState { - * const state: PublicState = this.operation.state; - * return { - * // Properties from PollOperationState - * isStarted: state.isStarted, - * isCompleted: state.isCompleted, - * isCancelled: state.isCancelled, - * error: state.error, - * result: state.result, - * - * // The only other property needed by PublicState. - * publicProperty: state.publicProperty - * } - * } - * } - * ``` - * - * You can see this in the tests of this repository, go to the file: - * `../test/utils/testPoller.ts` - * and look for the getOperationState implementation. - */ - getOperationState() { - return this.operation.state; + // This function satisfies the Rpc interface. It is compatible with the JSON + // JSON generated client. + request(service, method, contentType, data) { + return __awaiter2(this, void 0, void 0, function* () { + const url = new URL(`/twirp/${service}/${method}`, this.baseUrl).href; + (0, core_1.debug)(`[Request] ${method} ${url}`); + const headers = { + "Content-Type": contentType + }; + try { + const { body } = yield this.retryableRequest(() => __awaiter2(this, void 0, void 0, function* () { + return this.httpClient.post(url, JSON.stringify(data), headers); + })); + return body; + } catch (error3) { + throw new Error(`Failed to ${method}: ${error3.message}`); + } + }); + } + retryableRequest(operation) { + return __awaiter2(this, void 0, void 0, function* () { + let attempt = 0; + let errorMessage = ""; + let rawBody = ""; + while (attempt < this.maxAttempts) { + let isRetryable = false; + try { + const response = yield operation(); + const statusCode = response.message.statusCode; + rawBody = yield response.readBody(); + (0, core_1.debug)(`[Response] - ${response.message.statusCode}`); + (0, core_1.debug)(`Headers: ${JSON.stringify(response.message.headers, null, 2)}`); + const body = JSON.parse(rawBody); + (0, util_1.maskSecretUrls)(body); + (0, core_1.debug)(`Body: ${JSON.stringify(body, null, 2)}`); + if (this.isSuccessStatusCode(statusCode)) { + return { response, body }; + } + isRetryable = this.isRetryableHttpStatusCode(statusCode); + errorMessage = `Failed request: (${statusCode}) ${response.message.statusMessage}`; + if (body.msg) { + if (errors_1.UsageError.isUsageErrorMessage(body.msg)) { + throw new errors_1.UsageError(); + } + errorMessage = `${errorMessage}: ${body.msg}`; + } + } catch (error3) { + if (error3 instanceof SyntaxError) { + (0, core_1.debug)(`Raw Body: ${rawBody}`); + } + if (error3 instanceof errors_1.UsageError) { + throw error3; + } + if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) { + throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code); + } + isRetryable = true; + errorMessage = error3.message; + } + if (!isRetryable) { + throw new Error(`Received non-retryable error: ${errorMessage}`); + } + if (attempt + 1 === this.maxAttempts) { + throw new Error(`Failed to make request after ${this.maxAttempts} attempts: ${errorMessage}`); + } + const retryTimeMilliseconds = this.getExponentialRetryTimeMilliseconds(attempt); + (0, core_1.info)(`Attempt ${attempt + 1} of ${this.maxAttempts} failed with error: ${errorMessage}. Retrying request in ${retryTimeMilliseconds} ms...`); + yield this.sleep(retryTimeMilliseconds); + attempt++; + } + throw new Error(`Request failed`); + }); } - /** - * Returns the result value of the operation, - * regardless of the state of the poller. - * It can return undefined or an incomplete form of the final TResult value - * depending on the implementation. - */ - getResult() { - const state = this.operation.state; - return state.result; + isSuccessStatusCode(statusCode) { + if (!statusCode) + return false; + return statusCode >= 200 && statusCode < 300; } - /** - * Returns a serialized version of the poller's operation - * by invoking the operation's toString method. - */ - toString() { - return this.operation.toString(); + isRetryableHttpStatusCode(statusCode) { + if (!statusCode) + return false; + const retryableStatusCodes = [ + http_client_1.HttpCodes.BadGateway, + http_client_1.HttpCodes.GatewayTimeout, + http_client_1.HttpCodes.InternalServerError, + http_client_1.HttpCodes.ServiceUnavailable, + http_client_1.HttpCodes.TooManyRequests + ]; + return retryableStatusCodes.includes(statusCode); + } + sleep(milliseconds) { + return __awaiter2(this, void 0, void 0, function* () { + return new Promise((resolve5) => setTimeout(resolve5, milliseconds)); + }); + } + getExponentialRetryTimeMilliseconds(attempt) { + if (attempt < 0) { + throw new Error("attempt should be a positive integer"); + } + if (attempt === 0) { + return this.baseRetryIntervalMilliseconds; + } + const minTime = this.baseRetryIntervalMilliseconds * Math.pow(this.retryMultiplier, attempt); + const maxTime = minTime * this.retryMultiplier; + return Math.trunc(Math.random() * (maxTime - minTime) + minTime); } }; - exports2.Poller = Poller; + function internalArtifactTwirpClient(options) { + const client = new ArtifactHttpClient((0, user_agent_1.getUserAgentString)(), options === null || options === void 0 ? void 0 : options.maxAttempts, options === null || options === void 0 ? void 0 : options.retryIntervalMs, options === null || options === void 0 ? void 0 : options.retryMultiplier); + return new generated_1.ArtifactServiceClientJSON(client); + } + exports2.internalArtifactTwirpClient = internalArtifactTwirpClient; } }); -// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/lroEngine.js -var require_lroEngine = __commonJS({ - "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/lroEngine.js"(exports2) { +// node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.js +var require_upload_zip_specification = __commonJS({ + "node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.js"(exports2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.LroEngine = void 0; - var operation_js_1 = require_operation3(); - var constants_js_1 = require_constants17(); - var poller_js_1 = require_poller3(); - var operation_js_2 = require_operation(); - var LroEngine = class extends poller_js_1.Poller { - constructor(lro, options) { - const { intervalInMs = constants_js_1.POLL_INTERVAL_IN_MS, resumeFrom, resolveOnUnsuccessful = false, isDone, lroResourceLocationConfig, processResult, updateState } = options || {}; - const state = resumeFrom ? (0, operation_js_2.deserializeState)(resumeFrom) : {}; - const operation = new operation_js_1.GenericPollOperation(state, lro, !resolveOnUnsuccessful, lroResourceLocationConfig, processResult, updateState, isDone); - super(operation); - this.resolveOnUnsuccessful = resolveOnUnsuccessful; - this.config = { intervalInMs }; - operation.setPollerConfig(this.config); + var __createBinding2 = 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]; + } }; } - /** - * The method used by the poller to wait before attempting to update its operation. - */ - delay() { - return new Promise((resolve5) => setTimeout(() => resolve5(), this.config.intervalInMs)); + Object.defineProperty(o, k2, desc); + }) : (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + o[k2] = m[k]; + })); + var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }); + var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k); } + __setModuleDefault2(result, mod); + return result; }; - exports2.LroEngine = LroEngine; - } -}); - -// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/index.js -var require_lroEngine2 = __commonJS({ - "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/index.js"(exports2) { - "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.LroEngine = void 0; - var lroEngine_js_1 = require_lroEngine(); - Object.defineProperty(exports2, "LroEngine", { enumerable: true, get: function() { - return lroEngine_js_1.LroEngine; - } }); + exports2.getUploadZipSpecification = exports2.validateRootDirectory = void 0; + var fs8 = __importStar2(require("fs")); + var core_1 = require_core(); + var path_1 = require("path"); + var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation(); + function validateRootDirectory(rootDirectory) { + if (!fs8.existsSync(rootDirectory)) { + throw new Error(`The provided rootDirectory ${rootDirectory} does not exist`); + } + if (!fs8.statSync(rootDirectory).isDirectory()) { + throw new Error(`The provided rootDirectory ${rootDirectory} is not a valid directory`); + } + (0, core_1.info)(`Root directory input is valid!`); + } + exports2.validateRootDirectory = validateRootDirectory; + function getUploadZipSpecification(filesToZip, rootDirectory) { + const specification = []; + rootDirectory = (0, path_1.normalize)(rootDirectory); + rootDirectory = (0, path_1.resolve)(rootDirectory); + for (let file of filesToZip) { + const stats = fs8.lstatSync(file, { throwIfNoEntry: false }); + if (!stats) { + throw new Error(`File ${file} does not exist`); + } + if (!stats.isDirectory()) { + file = (0, path_1.normalize)(file); + file = (0, path_1.resolve)(file); + if (!file.startsWith(rootDirectory)) { + throw new Error(`The rootDirectory: ${rootDirectory} is not a parent directory of the file: ${file}`); + } + const uploadPath = file.replace(rootDirectory, ""); + (0, path_and_artifact_name_validation_1.validateFilePath)(uploadPath); + specification.push({ + sourcePath: file, + destinationPath: uploadPath, + stats + }); + } else { + const directoryPath = file.replace(rootDirectory, ""); + (0, path_and_artifact_name_validation_1.validateFilePath)(directoryPath); + specification.push({ + sourcePath: null, + destinationPath: directoryPath, + stats + }); + } + } + return specification; + } + exports2.getUploadZipSpecification = getUploadZipSpecification; } }); -// node_modules/@azure/core-lro/dist/commonjs/legacy/pollOperation.js -var require_pollOperation = __commonJS({ - "node_modules/@azure/core-lro/dist/commonjs/legacy/pollOperation.js"(exports2) { +// node_modules/@actions/artifact/lib/internal/upload/blob-upload.js +var require_blob_upload = __commonJS({ + "node_modules/@actions/artifact/lib/internal/upload/blob-upload.js"(exports2) { "use strict"; + var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }); + var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k); + } + __setModuleDefault2(result, mod); + return result; + }; + var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve5) { + resolve5(value); + }); + } + return new (P || (P = Promise))(function(resolve5, 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 ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.uploadZipToBlobStorage = void 0; + var storage_blob_1 = require_commonjs15(); + var config_1 = require_config2(); + var core14 = __importStar2(require_core()); + var crypto2 = __importStar2(require("crypto")); + var stream = __importStar2(require("stream")); + var errors_1 = require_errors4(); + function uploadZipToBlobStorage(authenticatedUploadURL, zipUploadStream) { + return __awaiter2(this, void 0, void 0, function* () { + let uploadByteCount = 0; + let lastProgressTime = Date.now(); + const abortController = new AbortController(); + const chunkTimer = (interval) => __awaiter2(this, void 0, void 0, function* () { + return new Promise((resolve5, reject) => { + const timer = setInterval(() => { + if (Date.now() - lastProgressTime > interval) { + reject(new Error("Upload progress stalled.")); + } + }, interval); + abortController.signal.addEventListener("abort", () => { + clearInterval(timer); + resolve5(); + }); + }); + }); + const maxConcurrency = (0, config_1.getConcurrency)(); + const bufferSize = (0, config_1.getUploadChunkSize)(); + const blobClient = new storage_blob_1.BlobClient(authenticatedUploadURL); + const blockBlobClient = blobClient.getBlockBlobClient(); + core14.debug(`Uploading artifact zip to blob storage with maxConcurrency: ${maxConcurrency}, bufferSize: ${bufferSize}`); + const uploadCallback = (progress) => { + core14.info(`Uploaded bytes ${progress.loadedBytes}`); + uploadByteCount = progress.loadedBytes; + lastProgressTime = Date.now(); + }; + const options = { + blobHTTPHeaders: { blobContentType: "zip" }, + onProgress: uploadCallback, + abortSignal: abortController.signal + }; + let sha256Hash = void 0; + const uploadStream = new stream.PassThrough(); + const hashStream = crypto2.createHash("sha256"); + zipUploadStream.pipe(uploadStream); + zipUploadStream.pipe(hashStream).setEncoding("hex"); + core14.info("Beginning upload of artifact content to blob storage"); + try { + yield Promise.race([ + blockBlobClient.uploadStream(uploadStream, bufferSize, maxConcurrency, options), + chunkTimer((0, config_1.getUploadChunkTimeout)()) + ]); + } catch (error3) { + if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) { + throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code); + } + throw error3; + } finally { + abortController.abort(); + } + core14.info("Finished uploading artifact content to blob storage!"); + hashStream.end(); + sha256Hash = hashStream.read(); + core14.info(`SHA256 digest of uploaded artifact zip is ${sha256Hash}`); + if (uploadByteCount === 0) { + core14.warning(`No data was uploaded to blob storage. Reported upload byte count is 0.`); + } + return { + uploadSize: uploadByteCount, + sha256Hash + }; + }); + } + exports2.uploadZipToBlobStorage = uploadZipToBlobStorage; } }); -// node_modules/@azure/core-lro/dist/commonjs/index.js -var require_commonjs14 = __commonJS({ - "node_modules/@azure/core-lro/dist/commonjs/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.createHttpPoller = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var poller_js_1 = require_poller2(); - Object.defineProperty(exports2, "createHttpPoller", { enumerable: true, get: function() { - return poller_js_1.createHttpPoller; - } }); - tslib_1.__exportStar(require_lroEngine2(), exports2); - tslib_1.__exportStar(require_poller3(), exports2); - tslib_1.__exportStar(require_pollOperation(), exports2); +// node_modules/readdir-glob/node_modules/minimatch/lib/path.js +var require_path = __commonJS({ + "node_modules/readdir-glob/node_modules/minimatch/lib/path.js"(exports2, module2) { + var isWindows = typeof process === "object" && process && process.platform === "win32"; + module2.exports = isWindows ? { sep: "\\" } : { sep: "/" }; } }); -// node_modules/@azure/storage-blob/dist/commonjs/pollers/BlobStartCopyFromUrlPoller.js -var require_BlobStartCopyFromUrlPoller = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/pollers/BlobStartCopyFromUrlPoller.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.BlobBeginCopyFromUrlPoller = void 0; - var core_util_1 = require_commonjs4(); - var core_lro_1 = require_commonjs14(); - var BlobBeginCopyFromUrlPoller = class extends core_lro_1.Poller { - intervalInMs; - constructor(options) { - const { blobClient, copySource, intervalInMs = 15e3, onProgress, resumeFrom, startCopyFromURLOptions } = options; - let state; - if (resumeFrom) { - state = JSON.parse(resumeFrom).state; +// node_modules/readdir-glob/node_modules/brace-expansion/index.js +var require_brace_expansion2 = __commonJS({ + "node_modules/readdir-glob/node_modules/brace-expansion/index.js"(exports2, module2) { + var balanced = require_balanced_match(); + module2.exports = expandTop; + var escSlash = "\0SLASH" + Math.random() + "\0"; + var escOpen = "\0OPEN" + Math.random() + "\0"; + var escClose = "\0CLOSE" + Math.random() + "\0"; + var escComma = "\0COMMA" + Math.random() + "\0"; + var escPeriod = "\0PERIOD" + Math.random() + "\0"; + function numeric(str2) { + return parseInt(str2, 10) == str2 ? parseInt(str2, 10) : str2.charCodeAt(0); + } + function escapeBraces(str2) { + return str2.split("\\\\").join(escSlash).split("\\{").join(escOpen).split("\\}").join(escClose).split("\\,").join(escComma).split("\\.").join(escPeriod); + } + function unescapeBraces(str2) { + return str2.split(escSlash).join("\\").split(escOpen).join("{").split(escClose).join("}").split(escComma).join(",").split(escPeriod).join("."); + } + function parseCommaParts(str2) { + if (!str2) + return [""]; + var parts = []; + var m = balanced("{", "}", str2); + if (!m) + return str2.split(","); + var pre = m.pre; + var body = m.body; + var post = m.post; + var p = pre.split(","); + p[p.length - 1] += "{" + body + "}"; + var postParts = parseCommaParts(post); + if (post.length) { + p[p.length - 1] += postParts.shift(); + p.push.apply(p, postParts); + } + parts.push.apply(parts, p); + return parts; + } + function expandTop(str2) { + if (!str2) + return []; + if (str2.substr(0, 2) === "{}") { + str2 = "\\{\\}" + str2.substr(2); + } + return expand2(escapeBraces(str2), true).map(unescapeBraces); + } + function embrace(str2) { + return "{" + str2 + "}"; + } + function isPadded(el) { + return /^-?0\d/.test(el); + } + function lte(i, y) { + return i <= y; + } + function gte6(i, y) { + return i >= y; + } + function expand2(str2, isTop) { + var expansions = []; + var m = balanced("{", "}", str2); + if (!m) return [str2]; + var pre = m.pre; + var post = m.post.length ? expand2(m.post, false) : [""]; + if (/\$$/.test(m.pre)) { + for (var k = 0; k < post.length; k++) { + var expansion = pre + "{" + m.body + "}" + post[k]; + expansions.push(expansion); } - const operation = makeBlobBeginCopyFromURLPollOperation({ - ...state, - blobClient, - copySource, - startCopyFromURLOptions - }); - super(operation); - if (typeof onProgress === "function") { - this.onProgress(onProgress); + } else { + var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body); + var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body); + var isSequence = isNumericSequence || isAlphaSequence; + var isOptions = m.body.indexOf(",") >= 0; + if (!isSequence && !isOptions) { + if (m.post.match(/,(?!,).*\}/)) { + str2 = m.pre + "{" + m.body + escClose + m.post; + return expand2(str2); + } + return [str2]; + } + var n; + if (isSequence) { + n = m.body.split(/\.\./); + } else { + n = parseCommaParts(m.body); + if (n.length === 1) { + n = expand2(n[0], false).map(embrace); + if (n.length === 1) { + return post.map(function(p) { + return m.pre + n[0] + p; + }); + } + } + } + var N; + if (isSequence) { + var x = numeric(n[0]); + var y = numeric(n[1]); + var width = Math.max(n[0].length, n[1].length); + var incr = n.length == 3 ? Math.abs(numeric(n[2])) : 1; + var test = lte; + var reverse = y < x; + if (reverse) { + incr *= -1; + test = gte6; + } + var pad = n.some(isPadded); + N = []; + for (var i = x; test(i, y); i += incr) { + var c; + if (isAlphaSequence) { + c = String.fromCharCode(i); + if (c === "\\") + c = ""; + } else { + c = String(i); + if (pad) { + var need = width - c.length; + if (need > 0) { + var z = new Array(need + 1).join("0"); + if (i < 0) + c = "-" + z + c.slice(1); + else + c = z + c; + } + } + } + N.push(c); + } + } else { + N = []; + for (var j = 0; j < n.length; j++) { + N.push.apply(N, expand2(n[j], false)); + } + } + for (var j = 0; j < N.length; j++) { + for (var k = 0; k < post.length; k++) { + var expansion = pre + N[j] + post[k]; + if (!isTop || isSequence || expansion) + expansions.push(expansion); + } } - this.intervalInMs = intervalInMs; } - delay() { - return (0, core_util_1.delay)(this.intervalInMs); + return expansions; + } + } +}); + +// node_modules/readdir-glob/node_modules/minimatch/minimatch.js +var require_minimatch2 = __commonJS({ + "node_modules/readdir-glob/node_modules/minimatch/minimatch.js"(exports2, module2) { + var minimatch = module2.exports = (p, pattern, options = {}) => { + assertValidPattern(pattern); + if (!options.nocomment && pattern.charAt(0) === "#") { + return false; } + return new Minimatch(pattern, options).match(p); }; - exports2.BlobBeginCopyFromUrlPoller = BlobBeginCopyFromUrlPoller; - var cancel = async function cancel2(options = {}) { - const state = this.state; - const { copyId } = state; - if (state.isCompleted) { - return makeBlobBeginCopyFromURLPollOperation(state); + module2.exports = minimatch; + var path7 = require_path(); + minimatch.sep = path7.sep; + var GLOBSTAR = /* @__PURE__ */ Symbol("globstar **"); + minimatch.GLOBSTAR = GLOBSTAR; + var expand2 = require_brace_expansion2(); + var plTypes = { + "!": { open: "(?:(?!(?:", close: "))[^/]*?)" }, + "?": { open: "(?:", close: ")?" }, + "+": { open: "(?:", close: ")+" }, + "*": { open: "(?:", close: ")*" }, + "@": { open: "(?:", close: ")" } + }; + var qmark = "[^/]"; + var star = qmark + "*?"; + var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?"; + var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?"; + var charSet = (s) => s.split("").reduce((set2, c) => { + set2[c] = true; + return set2; + }, {}); + var reSpecials = charSet("().*{}+?[]^$\\!"); + var addPatternStartSet = charSet("[.("); + var slashSplit = /\/+/; + minimatch.filter = (pattern, options = {}) => (p, i, list) => minimatch(p, pattern, options); + var ext = (a, b = {}) => { + const t = {}; + Object.keys(a).forEach((k) => t[k] = a[k]); + Object.keys(b).forEach((k) => t[k] = b[k]); + return t; + }; + minimatch.defaults = (def) => { + if (!def || typeof def !== "object" || !Object.keys(def).length) { + return minimatch; } - if (!copyId) { - state.isCancelled = true; - return makeBlobBeginCopyFromURLPollOperation(state); + const orig = minimatch; + const m = (p, pattern, options) => orig(p, pattern, ext(def, options)); + m.Minimatch = class Minimatch extends orig.Minimatch { + constructor(pattern, options) { + super(pattern, ext(def, options)); + } + }; + m.Minimatch.defaults = (options) => orig.defaults(ext(def, options)).Minimatch; + m.filter = (pattern, options) => orig.filter(pattern, ext(def, options)); + m.defaults = (options) => orig.defaults(ext(def, options)); + m.makeRe = (pattern, options) => orig.makeRe(pattern, ext(def, options)); + m.braceExpand = (pattern, options) => orig.braceExpand(pattern, ext(def, options)); + m.match = (list, pattern, options) => orig.match(list, pattern, ext(def, options)); + return m; + }; + minimatch.braceExpand = (pattern, options) => braceExpand(pattern, options); + var braceExpand = (pattern, options = {}) => { + assertValidPattern(pattern); + if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) { + return [pattern]; } - await state.blobClient.abortCopyFromURL(copyId, { - abortSignal: options.abortSignal - }); - state.isCancelled = true; - return makeBlobBeginCopyFromURLPollOperation(state); + return expand2(pattern); }; - var update = async function update2(options = {}) { - const state = this.state; - const { blobClient, copySource, startCopyFromURLOptions } = state; - if (!state.isStarted) { - state.isStarted = true; - const result = await blobClient.startCopyFromURL(copySource, startCopyFromURLOptions); - state.copyId = result.copyId; - if (result.copyStatus === "success") { - state.result = result; - state.isCompleted = true; + var MAX_PATTERN_LENGTH = 1024 * 64; + var assertValidPattern = (pattern) => { + if (typeof pattern !== "string") { + throw new TypeError("invalid pattern"); + } + if (pattern.length > MAX_PATTERN_LENGTH) { + throw new TypeError("pattern is too long"); + } + }; + var SUBPARSE = /* @__PURE__ */ Symbol("subparse"); + minimatch.makeRe = (pattern, options) => new Minimatch(pattern, options || {}).makeRe(); + minimatch.match = (list, pattern, options = {}) => { + const mm = new Minimatch(pattern, options); + list = list.filter((f) => mm.match(f)); + if (mm.options.nonull && !list.length) { + list.push(pattern); + } + return list; + }; + var globUnescape = (s) => s.replace(/\\(.)/g, "$1"); + var charUnescape = (s) => s.replace(/\\([^-\]])/g, "$1"); + var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); + var braExpEscape = (s) => s.replace(/[[\]\\]/g, "\\$&"); + var Minimatch = class { + constructor(pattern, options) { + assertValidPattern(pattern); + if (!options) options = {}; + this.options = options; + this.set = []; + this.pattern = pattern; + this.windowsPathsNoEscape = !!options.windowsPathsNoEscape || options.allowWindowsEscape === false; + if (this.windowsPathsNoEscape) { + this.pattern = this.pattern.replace(/\\/g, "/"); } - } else if (!state.isCompleted) { - try { - const result = await state.blobClient.getProperties({ abortSignal: options.abortSignal }); - const { copyStatus, copyProgress } = result; - const prevCopyProgress = state.copyProgress; - if (copyProgress) { - state.copyProgress = copyProgress; + this.regexp = null; + this.negate = false; + this.comment = false; + this.empty = false; + this.partial = !!options.partial; + this.make(); + } + debug() { + } + make() { + const pattern = this.pattern; + const options = this.options; + if (!options.nocomment && pattern.charAt(0) === "#") { + this.comment = true; + return; + } + if (!pattern) { + this.empty = true; + return; + } + this.parseNegate(); + let set2 = this.globSet = this.braceExpand(); + if (options.debug) this.debug = (...args) => console.error(...args); + this.debug(this.pattern, set2); + set2 = this.globParts = set2.map((s) => s.split(slashSplit)); + this.debug(this.pattern, set2); + set2 = set2.map((s, si, set3) => s.map(this.parse, this)); + this.debug(this.pattern, set2); + set2 = set2.filter((s) => s.indexOf(false) === -1); + this.debug(this.pattern, set2); + this.set = set2; + } + parseNegate() { + if (this.options.nonegate) return; + const pattern = this.pattern; + let negate = false; + let negateOffset = 0; + for (let i = 0; i < pattern.length && pattern.charAt(i) === "!"; i++) { + negate = !negate; + negateOffset++; + } + if (negateOffset) this.pattern = pattern.slice(negateOffset); + this.negate = negate; + } + // set partial to true to test if, for example, + // "/a/b" matches the start of "/*/b/*/d" + // Partial means, if you run out of file before you run + // out of pattern, then that's fine, as long as all + // the parts match. + matchOne(file, pattern, partial) { + var options = this.options; + this.debug( + "matchOne", + { "this": this, file, pattern } + ); + this.debug("matchOne", file.length, pattern.length); + for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) { + this.debug("matchOne loop"); + var p = pattern[pi]; + var f = file[fi]; + this.debug(pattern, p, f); + if (p === false) return false; + if (p === GLOBSTAR) { + this.debug("GLOBSTAR", [pattern, p, f]); + var fr = fi; + var pr = pi + 1; + if (pr === pl) { + this.debug("** at the end"); + for (; fi < fl; fi++) { + if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".") return false; + } + return true; + } + while (fr < fl) { + var swallowee = file[fr]; + this.debug("\nglobstar while", file, fr, pattern, pr, swallowee); + if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) { + this.debug("globstar found match!", fr, fl, swallowee); + return true; + } else { + if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") { + this.debug("dot detected!", file, fr, pattern, pr); + break; + } + this.debug("globstar swallow a segment, and continue"); + fr++; + } + } + if (partial) { + this.debug("\n>>> no match, partial?", file, fr, pattern, pr); + if (fr === fl) return true; + } + return false; } - if (copyStatus === "pending" && copyProgress !== prevCopyProgress && typeof options.fireProgress === "function") { - options.fireProgress(state); - } else if (copyStatus === "success") { - state.result = result; - state.isCompleted = true; - } else if (copyStatus === "failed") { - state.error = new Error(`Blob copy failed with reason: "${result.copyStatusDescription || "unknown"}"`); - state.isCompleted = true; + var hit; + if (typeof p === "string") { + hit = f === p; + this.debug("string match", p, f, hit); + } else { + hit = f.match(p); + this.debug("pattern match", p, f, hit); } - } catch (err) { - state.error = err; - state.isCompleted = true; + if (!hit) return false; } - } - return makeBlobBeginCopyFromURLPollOperation(state); - }; - var toString2 = function toString3() { - return JSON.stringify({ state: this.state }, (key, value) => { - if (key === "blobClient") { - return void 0; + if (fi === fl && pi === pl) { + return true; + } else if (fi === fl) { + return partial; + } else if (pi === pl) { + return fi === fl - 1 && file[fi] === ""; } - return value; - }); - }; - function makeBlobBeginCopyFromURLPollOperation(state) { - return { - state: { ...state }, - cancel, - toString: toString2, - update - }; - } - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/Range.js -var require_Range = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/Range.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.rangeToString = rangeToString; - function rangeToString(iRange) { - if (iRange.offset < 0) { - throw new RangeError(`Range.offset cannot be smaller than 0.`); + throw new Error("wtf?"); } - if (iRange.count && iRange.count <= 0) { - throw new RangeError(`Range.count must be larger than 0. Leave it undefined if you want a range from offset to the end.`); + braceExpand() { + return braceExpand(this.pattern, this.options); } - return iRange.count ? `bytes=${iRange.offset}-${iRange.offset + iRange.count - 1}` : `bytes=${iRange.offset}-`; - } - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/utils/Batch.js -var require_Batch = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/utils/Batch.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.Batch = void 0; - var events_1 = require("events"); - var BatchStates; - (function(BatchStates2) { - BatchStates2[BatchStates2["Good"] = 0] = "Good"; - BatchStates2[BatchStates2["Error"] = 1] = "Error"; - })(BatchStates || (BatchStates = {})); - var Batch = class { - /** - * Concurrency. Must be lager than 0. - */ - concurrency; - /** - * Number of active operations under execution. - */ - actives = 0; - /** - * Number of completed operations under execution. - */ - completed = 0; - /** - * Offset of next operation to be executed. - */ - offset = 0; - /** - * Operation array to be executed. - */ - operations = []; - /** - * States of Batch. When an error happens, state will turn into error. - * Batch will stop execute left operations. - */ - state = BatchStates.Good; - /** - * A private emitter used to pass events inside this class. - */ - emitter; - /** - * Creates an instance of Batch. - * @param concurrency - - */ - constructor(concurrency = 5) { - if (concurrency < 1) { - throw new RangeError("concurrency must be larger than 0"); + parse(pattern, isSub) { + assertValidPattern(pattern); + const options = this.options; + if (pattern === "**") { + if (!options.noglobstar) + return GLOBSTAR; + else + pattern = "*"; + } + if (pattern === "") return ""; + let re = ""; + let hasMagic = false; + let escaping = false; + const patternListStack = []; + const negativeLists = []; + let stateChar; + let inClass = false; + let reClassStart = -1; + let classStart = -1; + let cs; + let pl; + let sp; + let dotTravAllowed = pattern.charAt(0) === "."; + let dotFileAllowed = options.dot || dotTravAllowed; + const patternStart = () => dotTravAllowed ? "" : dotFileAllowed ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)"; + const subPatternStart = (p) => p.charAt(0) === "." ? "" : options.dot ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)"; + const clearStateChar = () => { + if (stateChar) { + switch (stateChar) { + case "*": + re += star; + hasMagic = true; + break; + case "?": + re += qmark; + hasMagic = true; + break; + default: + re += "\\" + stateChar; + break; + } + this.debug("clearStateChar %j %j", stateChar, re); + stateChar = false; + } + }; + for (let i = 0, c; i < pattern.length && (c = pattern.charAt(i)); i++) { + this.debug("%s %s %s %j", pattern, i, re, c); + if (escaping) { + if (c === "/") { + return false; + } + if (reSpecials[c]) { + re += "\\"; + } + re += c; + escaping = false; + continue; + } + switch (c) { + /* istanbul ignore next */ + case "/": { + return false; + } + case "\\": + if (inClass && pattern.charAt(i + 1) === "-") { + re += c; + continue; + } + clearStateChar(); + escaping = true; + continue; + // the various stateChar values + // for the "extglob" stuff. + case "?": + case "*": + case "+": + case "@": + case "!": + this.debug("%s %s %s %j <-- stateChar", pattern, i, re, c); + if (inClass) { + this.debug(" in class"); + if (c === "!" && i === classStart + 1) c = "^"; + re += c; + continue; + } + this.debug("call clearStateChar %j", stateChar); + clearStateChar(); + stateChar = c; + if (options.noext) clearStateChar(); + continue; + case "(": { + if (inClass) { + re += "("; + continue; + } + if (!stateChar) { + re += "\\("; + continue; + } + const plEntry = { + type: stateChar, + start: i - 1, + reStart: re.length, + open: plTypes[stateChar].open, + close: plTypes[stateChar].close + }; + this.debug(this.pattern, " ", plEntry); + patternListStack.push(plEntry); + re += plEntry.open; + if (plEntry.start === 0 && plEntry.type !== "!") { + dotTravAllowed = true; + re += subPatternStart(pattern.slice(i + 1)); + } + this.debug("plType %j %j", stateChar, re); + stateChar = false; + continue; + } + case ")": { + const plEntry = patternListStack[patternListStack.length - 1]; + if (inClass || !plEntry) { + re += "\\)"; + continue; + } + patternListStack.pop(); + clearStateChar(); + hasMagic = true; + pl = plEntry; + re += pl.close; + if (pl.type === "!") { + negativeLists.push(Object.assign(pl, { reEnd: re.length })); + } + continue; + } + case "|": { + const plEntry = patternListStack[patternListStack.length - 1]; + if (inClass || !plEntry) { + re += "\\|"; + continue; + } + clearStateChar(); + re += "|"; + if (plEntry.start === 0 && plEntry.type !== "!") { + dotTravAllowed = true; + re += subPatternStart(pattern.slice(i + 1)); + } + continue; + } + // these are mostly the same in regexp and glob + case "[": + clearStateChar(); + if (inClass) { + re += "\\" + c; + continue; + } + inClass = true; + classStart = i; + reClassStart = re.length; + re += c; + continue; + case "]": + if (i === classStart + 1 || !inClass) { + re += "\\" + c; + continue; + } + cs = pattern.substring(classStart + 1, i); + try { + RegExp("[" + braExpEscape(charUnescape(cs)) + "]"); + re += c; + } catch (er) { + re = re.substring(0, reClassStart) + "(?:$.)"; + } + hasMagic = true; + inClass = false; + continue; + default: + clearStateChar(); + if (reSpecials[c] && !(c === "^" && inClass)) { + re += "\\"; + } + re += c; + break; + } } - this.concurrency = concurrency; - this.emitter = new events_1.EventEmitter(); - } - /** - * Add a operation into queue. - * - * @param operation - - */ - addOperation(operation) { - this.operations.push(async () => { - try { - this.actives++; - await operation(); - this.actives--; - this.completed++; - this.parallelExecute(); - } catch (error3) { - this.emitter.emit("error", error3); + if (inClass) { + cs = pattern.slice(classStart + 1); + sp = this.parse(cs, SUBPARSE); + re = re.substring(0, reClassStart) + "\\[" + sp[0]; + hasMagic = hasMagic || sp[1]; + } + for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) { + let tail; + tail = re.slice(pl.reStart + pl.open.length); + this.debug("setting tail", re, pl); + tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, (_2, $1, $2) => { + if (!$2) { + $2 = "\\"; + } + return $1 + $1 + $2 + "|"; + }); + this.debug("tail=%j\n %s", tail, tail, pl, re); + const t = pl.type === "*" ? star : pl.type === "?" ? qmark : "\\" + pl.type; + hasMagic = true; + re = re.slice(0, pl.reStart) + t + "\\(" + tail; + } + clearStateChar(); + if (escaping) { + re += "\\\\"; + } + const addPatternStart = addPatternStartSet[re.charAt(0)]; + for (let n = negativeLists.length - 1; n > -1; n--) { + const nl = negativeLists[n]; + const nlBefore = re.slice(0, nl.reStart); + const nlFirst = re.slice(nl.reStart, nl.reEnd - 8); + let nlAfter = re.slice(nl.reEnd); + const nlLast = re.slice(nl.reEnd - 8, nl.reEnd) + nlAfter; + const closeParensBefore = nlBefore.split(")").length; + const openParensBefore = nlBefore.split("(").length - closeParensBefore; + let cleanAfter = nlAfter; + for (let i = 0; i < openParensBefore; i++) { + cleanAfter = cleanAfter.replace(/\)[+*?]?/, ""); } - }); - } - /** - * Start execute operations in the queue. - * - */ - async do() { - if (this.operations.length === 0) { - return Promise.resolve(); + nlAfter = cleanAfter; + const dollar = nlAfter === "" && isSub !== SUBPARSE ? "(?:$|\\/)" : ""; + re = nlBefore + nlFirst + nlAfter + dollar + nlLast; } - this.parallelExecute(); - return new Promise((resolve5, reject) => { - this.emitter.on("finish", resolve5); - this.emitter.on("error", (error3) => { - this.state = BatchStates.Error; - reject(error3); + if (re !== "" && hasMagic) { + re = "(?=.)" + re; + } + if (addPatternStart) { + re = patternStart() + re; + } + if (isSub === SUBPARSE) { + return [re, hasMagic]; + } + if (options.nocase && !hasMagic) { + hasMagic = pattern.toUpperCase() !== pattern.toLowerCase(); + } + if (!hasMagic) { + return globUnescape(pattern); + } + const flags = options.nocase ? "i" : ""; + try { + return Object.assign(new RegExp("^" + re + "$", flags), { + _glob: pattern, + _src: re }); - }); + } catch (er) { + return new RegExp("$."); + } } - /** - * Get next operation to be executed. Return null when reaching ends. - * - */ - nextOperation() { - if (this.offset < this.operations.length) { - return this.operations[this.offset++]; + makeRe() { + if (this.regexp || this.regexp === false) return this.regexp; + const set2 = this.set; + if (!set2.length) { + this.regexp = false; + return this.regexp; } - return null; + const options = this.options; + const twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot; + const flags = options.nocase ? "i" : ""; + let re = set2.map((pattern) => { + pattern = pattern.map( + (p) => typeof p === "string" ? regExpEscape(p) : p === GLOBSTAR ? GLOBSTAR : p._src + ).reduce((set3, p) => { + if (!(set3[set3.length - 1] === GLOBSTAR && p === GLOBSTAR)) { + set3.push(p); + } + return set3; + }, []); + pattern.forEach((p, i) => { + if (p !== GLOBSTAR || pattern[i - 1] === GLOBSTAR) { + return; + } + if (i === 0) { + if (pattern.length > 1) { + pattern[i + 1] = "(?:\\/|" + twoStar + "\\/)?" + pattern[i + 1]; + } else { + pattern[i] = twoStar; + } + } else if (i === pattern.length - 1) { + pattern[i - 1] += "(?:\\/|" + twoStar + ")?"; + } else { + pattern[i - 1] += "(?:\\/|\\/" + twoStar + "\\/)" + pattern[i + 1]; + pattern[i + 1] = GLOBSTAR; + } + }); + return pattern.filter((p) => p !== GLOBSTAR).join("/"); + }).join("|"); + re = "^(?:" + re + ")$"; + if (this.negate) re = "^(?!" + re + ").*$"; + try { + this.regexp = new RegExp(re, flags); + } catch (ex) { + this.regexp = false; + } + return this.regexp; } - /** - * Start execute operations. One one the most important difference between - * this method with do() is that do() wraps as an sync method. - * - */ - parallelExecute() { - if (this.state === BatchStates.Error) { - return; + match(f, partial = this.partial) { + this.debug("match", f, this.pattern); + if (this.comment) return false; + if (this.empty) return f === ""; + if (f === "/" && partial) return true; + const options = this.options; + if (path7.sep !== "/") { + f = f.split(path7.sep).join("/"); } - if (this.completed >= this.operations.length) { - this.emitter.emit("finish"); - return; + f = f.split(slashSplit); + this.debug(this.pattern, "split", f); + const set2 = this.set; + this.debug(this.pattern, "set", set2); + let filename; + for (let i = f.length - 1; i >= 0; i--) { + filename = f[i]; + if (filename) break; } - while (this.actives < this.concurrency) { - const operation = this.nextOperation(); - if (operation) { - operation(); - } else { - return; + for (let i = 0; i < set2.length; i++) { + const pattern = set2[i]; + let file = f; + if (options.matchBase && pattern.length === 1) { + file = [filename]; + } + const hit = this.matchOne(file, pattern, partial); + if (hit) { + if (options.flipNegate) return true; + return !this.negate; } } + if (options.flipNegate) return false; + return this.negate; + } + static defaults(def) { + return minimatch.defaults(def).Minimatch; } }; - exports2.Batch = Batch; + minimatch.Minimatch = Minimatch; } }); -// node_modules/@azure/storage-blob/dist/commonjs/utils/utils.js -var require_utils7 = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/utils/utils.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.fsCreateReadStream = exports2.fsStat = void 0; - exports2.streamToBuffer = streamToBuffer; - exports2.streamToBuffer2 = streamToBuffer2; - exports2.streamToBuffer3 = streamToBuffer3; - exports2.readStreamToLocalFile = readStreamToLocalFile; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var node_fs_1 = tslib_1.__importDefault(require("node:fs")); - var node_util_1 = tslib_1.__importDefault(require("node:util")); - var constants_js_1 = require_constants15(); - async function streamToBuffer(stream, buffer, offset, end, encoding) { - let pos = 0; - const count = end - offset; - return new Promise((resolve5, reject) => { - const timeout = setTimeout(() => reject(new Error(`The operation cannot be completed in timeout.`)), constants_js_1.REQUEST_TIMEOUT); - stream.on("readable", () => { - if (pos >= count) { - clearTimeout(timeout); - resolve5(); - return; - } - let chunk = stream.read(); - if (!chunk) { - return; - } - if (typeof chunk === "string") { - chunk = Buffer.from(chunk, encoding); - } - const chunkLength = pos + chunk.length > count ? count - pos : chunk.length; - buffer.fill(chunk.slice(0, chunkLength), offset + pos, offset + pos + chunkLength); - pos += chunkLength; - }); - stream.on("end", () => { - clearTimeout(timeout); - if (pos < count) { - reject(new Error(`Stream drains before getting enough data needed. Data read: ${pos}, data need: ${count}`)); +// node_modules/readdir-glob/index.js +var require_readdir_glob = __commonJS({ + "node_modules/readdir-glob/index.js"(exports2, module2) { + module2.exports = readdirGlob; + var fs8 = require("fs"); + var { EventEmitter } = require("events"); + var { Minimatch } = require_minimatch2(); + var { resolve: resolve5 } = require("path"); + function readdir(dir, strict) { + return new Promise((resolve6, reject) => { + fs8.readdir(dir, { withFileTypes: true }, (err, files) => { + if (err) { + switch (err.code) { + case "ENOTDIR": + if (strict) { + reject(err); + } else { + resolve6([]); + } + break; + case "ENOTSUP": + // Operation not supported + case "ENOENT": + // No such file or directory + case "ENAMETOOLONG": + // Filename too long + case "UNKNOWN": + resolve6([]); + break; + case "ELOOP": + // Too many levels of symbolic links + default: + reject(err); + break; + } + } else { + resolve6(files); } - resolve5(); - }); - stream.on("error", (msg) => { - clearTimeout(timeout); - reject(msg); }); }); } - async function streamToBuffer2(stream, buffer, encoding) { - let pos = 0; - const bufferSize = buffer.length; - return new Promise((resolve5, reject) => { - stream.on("readable", () => { - let chunk = stream.read(); - if (!chunk) { - return; - } - if (typeof chunk === "string") { - chunk = Buffer.from(chunk, encoding); - } - if (pos + chunk.length > bufferSize) { - reject(new Error(`Stream exceeds buffer size. Buffer size: ${bufferSize}`)); - return; + function stat(file, followSymlinks) { + return new Promise((resolve6, reject) => { + const statFunc = followSymlinks ? fs8.stat : fs8.lstat; + statFunc(file, (err, stats) => { + if (err) { + switch (err.code) { + case "ENOENT": + if (followSymlinks) { + resolve6(stat(file, false)); + } else { + resolve6(null); + } + break; + default: + resolve6(null); + break; + } + } else { + resolve6(stats); } - buffer.fill(chunk, pos, pos + chunk.length); - pos += chunk.length; - }); - stream.on("end", () => { - resolve5(pos); }); - stream.on("error", reject); }); } - async function streamToBuffer3(readableStream, encoding) { - return new Promise((resolve5, reject) => { - const chunks = []; - readableStream.on("data", (data) => { - chunks.push(typeof data === "string" ? Buffer.from(data, encoding) : data); - }); - readableStream.on("end", () => { - resolve5(Buffer.concat(chunks)); - }); - readableStream.on("error", reject); - }); + async function* exploreWalkAsync(dir, path7, followSymlinks, useStat, shouldSkip, strict) { + let files = await readdir(path7 + dir, strict); + for (const file of files) { + let name = file.name; + if (name === void 0) { + name = file; + useStat = true; + } + const filename = dir + "/" + name; + const relative = filename.slice(1); + const absolute = path7 + "/" + relative; + let stats = null; + if (useStat || followSymlinks) { + stats = await stat(absolute, followSymlinks); + } + if (!stats && file.name !== void 0) { + stats = file; + } + if (stats === null) { + stats = { isDirectory: () => false }; + } + if (stats.isDirectory()) { + if (!shouldSkip(relative)) { + yield { relative, absolute, stats }; + yield* exploreWalkAsync(filename, path7, followSymlinks, useStat, shouldSkip, false); + } + } else { + yield { relative, absolute, stats }; + } + } } - async function readStreamToLocalFile(rs, file) { - return new Promise((resolve5, reject) => { - const ws = node_fs_1.default.createWriteStream(file); - rs.on("error", (err) => { - reject(err); - }); - ws.on("error", (err) => { - reject(err); - }); - ws.on("close", resolve5); - rs.pipe(ws); - }); + async function* explore(path7, followSymlinks, useStat, shouldSkip) { + yield* exploreWalkAsync("", path7, followSymlinks, useStat, shouldSkip, true); } - exports2.fsStat = node_util_1.default.promisify(node_fs_1.default.stat); - exports2.fsCreateReadStream = node_fs_1.default.createReadStream; - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/Clients.js -var require_Clients = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/Clients.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.PageBlobClient = exports2.BlockBlobClient = exports2.AppendBlobClient = exports2.BlobClient = void 0; - var core_rest_pipeline_1 = require_commonjs6(); - var core_auth_1 = require_commonjs7(); - var core_util_1 = require_commonjs4(); - var core_util_2 = require_commonjs4(); - var BlobDownloadResponse_js_1 = require_BlobDownloadResponse(); - var BlobQueryResponse_js_1 = require_BlobQueryResponse(); - var AnonymousCredential_js_1 = require_AnonymousCredential(); - var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential(); - var models_js_1 = require_models2(); - var PageBlobRangeResponse_js_1 = require_PageBlobRangeResponse(); - var Pipeline_js_1 = require_Pipeline(); - var BlobStartCopyFromUrlPoller_js_1 = require_BlobStartCopyFromUrlPoller(); - var Range_js_1 = require_Range(); - var StorageClient_js_1 = require_StorageClient(); - var Batch_js_1 = require_Batch(); - var storage_common_1 = require_commonjs13(); - var constants_js_1 = require_constants15(); - var tracing_js_1 = require_tracing(); - var utils_common_js_1 = require_utils_common(); - var utils_js_1 = require_utils7(); - var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues(); - var BlobLeaseClient_js_1 = require_BlobLeaseClient(); - var BlobClient = class _BlobClient extends StorageClient_js_1.StorageClient { - /** - * blobContext provided by protocol layer. - */ - blobContext; - _name; - _containerName; - _versionId; - _snapshot; - /** - * The name of the blob. - */ - get name() { - return this._name; + function readOptions(options) { + return { + pattern: options.pattern, + dot: !!options.dot, + noglobstar: !!options.noglobstar, + matchBase: !!options.matchBase, + nocase: !!options.nocase, + ignore: options.ignore, + skip: options.skip, + follow: !!options.follow, + stat: !!options.stat, + nodir: !!options.nodir, + mark: !!options.mark, + silent: !!options.silent, + absolute: !!options.absolute + }; + } + var ReaddirGlob = class extends EventEmitter { + constructor(cwd, options, cb) { + super(); + if (typeof options === "function") { + cb = options; + options = null; + } + this.options = readOptions(options || {}); + this.matchers = []; + if (this.options.pattern) { + const matchers = Array.isArray(this.options.pattern) ? this.options.pattern : [this.options.pattern]; + this.matchers = matchers.map( + (m) => new Minimatch(m, { + dot: this.options.dot, + noglobstar: this.options.noglobstar, + matchBase: this.options.matchBase, + nocase: this.options.nocase + }) + ); + } + this.ignoreMatchers = []; + if (this.options.ignore) { + const ignorePatterns = Array.isArray(this.options.ignore) ? this.options.ignore : [this.options.ignore]; + this.ignoreMatchers = ignorePatterns.map( + (ignore) => new Minimatch(ignore, { dot: true }) + ); + } + this.skipMatchers = []; + if (this.options.skip) { + const skipPatterns = Array.isArray(this.options.skip) ? this.options.skip : [this.options.skip]; + this.skipMatchers = skipPatterns.map( + (skip) => new Minimatch(skip, { dot: true }) + ); + } + this.iterator = explore(resolve5(cwd || "."), this.options.follow, this.options.stat, this._shouldSkipDirectory.bind(this)); + this.paused = false; + this.inactive = false; + this.aborted = false; + if (cb) { + this._matches = []; + this.on("match", (match) => this._matches.push(this.options.absolute ? match.absolute : match.relative)); + this.on("error", (err) => cb(err)); + this.on("end", () => cb(null, this._matches)); + } + setTimeout(() => this._next(), 0); } - /** - * The name of the storage container the blob is associated with. - */ - get containerName() { - return this._containerName; + _shouldSkipDirectory(relative) { + return this.skipMatchers.some((m) => m.match(relative)); } - constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) { - options = options || {}; - let pipeline; - let url; - if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) { - url = urlOrConnectionString; - pipeline = credentialOrPipelineOrContainerName; - } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) { - url = urlOrConnectionString; - options = blobNameOrOptions; - pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options); - } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") { - url = urlOrConnectionString; - if (blobNameOrOptions && typeof blobNameOrOptions !== "string") { - options = blobNameOrOptions; - } - pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); - } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") { - const containerName = credentialOrPipelineOrContainerName; - const blobName = blobNameOrOptions; - const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString); - if (extractedCreds.kind === "AccountConnString") { - if (core_util_1.isNodeLike) { - const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey); - url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)); - if (!options.proxyOptions) { - options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri); + _fileMatches(relative, isDirectory) { + const file = relative + (isDirectory ? "/" : ""); + return (this.matchers.length === 0 || this.matchers.some((m) => m.match(file))) && !this.ignoreMatchers.some((m) => m.match(file)) && (!this.options.nodir || !isDirectory); + } + _next() { + if (!this.paused && !this.aborted) { + this.iterator.next().then((obj) => { + if (!obj.done) { + const isDirectory = obj.value.stats.isDirectory(); + if (this._fileMatches(obj.value.relative, isDirectory)) { + let relative = obj.value.relative; + let absolute = obj.value.absolute; + if (this.options.mark && isDirectory) { + relative += "/"; + absolute += "/"; + } + if (this.options.stat) { + this.emit("match", { relative, absolute, stat: obj.value.stats }); + } else { + this.emit("match", { relative, absolute }); + } } - pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options); + this._next(this.iterator); } else { - throw new Error("Account connection string is only supported in Node.js environment"); + this.emit("end"); } - } else if (extractedCreds.kind === "SASConnString") { - url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas; - pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); - } else { - throw new Error("Connection string must be either an Account connection string or a SAS connection string"); - } + }).catch((err) => { + this.abort(); + this.emit("error", err); + if (!err.code && !this.options.silent) { + console.error(err); + } + }); } else { - throw new Error("Expecting non-empty strings for containerName and blobName parameters"); + this.inactive = true; } - super(url, pipeline); - ({ blobName: this._name, containerName: this._containerName } = this.getBlobAndContainerNamesFromUrl()); - this.blobContext = this.storageClientContext.blob; - this._snapshot = (0, utils_common_js_1.getURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT); - this._versionId = (0, utils_common_js_1.getURLParameter)(this.url, constants_js_1.URLConstants.Parameters.VERSIONID); } - /** - * Creates a new BlobClient object identical to the source but with the specified snapshot timestamp. - * Provide "" will remove the snapshot and return a Client to the base blob. - * - * @param snapshot - The snapshot timestamp. - * @returns A new BlobClient object identical to the source but with the specified snapshot timestamp - */ - withSnapshot(snapshot) { - return new _BlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline); + abort() { + this.aborted = true; } - /** - * Creates a new BlobClient object pointing to a version of this blob. - * Provide "" will remove the versionId and return a Client to the base blob. - * - * @param versionId - The versionId. - * @returns A new BlobClient object pointing to the version of this blob. - */ - withVersion(versionId) { - return new _BlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.VERSIONID, versionId.length === 0 ? void 0 : versionId), this.pipeline); + pause() { + this.paused = true; } - /** - * Creates a AppendBlobClient object. - * - */ - getAppendBlobClient() { - return new AppendBlobClient(this.url, this.pipeline); + resume() { + this.paused = false; + if (this.inactive) { + this.inactive = false; + this._next(); + } } - /** - * Creates a BlockBlobClient object. - * - */ - getBlockBlobClient() { - return new BlockBlobClient(this.url, this.pipeline); + }; + function readdirGlob(pattern, options, cb) { + return new ReaddirGlob(pattern, options, cb); + } + readdirGlob.ReaddirGlob = ReaddirGlob; + } +}); + +// node_modules/async/dist/async.js +var require_async = __commonJS({ + "node_modules/async/dist/async.js"(exports2, module2) { + (function(global2, factory) { + typeof exports2 === "object" && typeof module2 !== "undefined" ? factory(exports2) : typeof define === "function" && define.amd ? define(["exports"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory(global2.async = {})); + })(exports2, (function(exports3) { + "use strict"; + function apply(fn, ...args) { + return (...callArgs) => fn(...args, ...callArgs); } - /** - * Creates a PageBlobClient object. - * - */ - getPageBlobClient() { - return new PageBlobClient(this.url, this.pipeline); + function initialParams(fn) { + return function(...args) { + var callback = args.pop(); + return fn.call(this, args, callback); + }; } - /** - * Reads or downloads a blob from the system, including its metadata and properties. - * You can also call Get Blob to read a snapshot. - * - * * In Node.js, data returns in a Readable stream readableStreamBody - * * In browsers, data returns in a promise blobBody - * - * @see https://learn.microsoft.com/rest/api/storageservices/get-blob - * - * @param offset - From which position of the blob to download, greater than or equal to 0 - * @param count - How much data to be downloaded, greater than 0. Will download to the end when undefined - * @param options - Optional options to Blob Download operation. - * - * - * Example usage (Node.js): - * - * ```ts snippet:ReadmeSampleDownloadBlob_Node - * import { BlobServiceClient } from "@azure/storage-blob"; - * import { DefaultAzureCredential } from "@azure/identity"; - * - * const account = ""; - * const blobServiceClient = new BlobServiceClient( - * `https://${account}.blob.core.windows.net`, - * new DefaultAzureCredential(), - * ); - * - * const containerName = ""; - * const blobName = ""; - * const containerClient = blobServiceClient.getContainerClient(containerName); - * const blobClient = containerClient.getBlobClient(blobName); - * - * // Get blob content from position 0 to the end - * // In Node.js, get downloaded data by accessing downloadBlockBlobResponse.readableStreamBody - * const downloadBlockBlobResponse = await blobClient.download(); - * if (downloadBlockBlobResponse.readableStreamBody) { - * const downloaded = await streamToString(downloadBlockBlobResponse.readableStreamBody); - * console.log(`Downloaded blob content: ${downloaded}`); - * } - * - * async function streamToString(stream: NodeJS.ReadableStream): Promise { - * const result = await new Promise>((resolve, reject) => { - * const chunks: Buffer[] = []; - * stream.on("data", (data) => { - * chunks.push(Buffer.isBuffer(data) ? data : Buffer.from(data)); - * }); - * stream.on("end", () => { - * resolve(Buffer.concat(chunks)); - * }); - * stream.on("error", reject); - * }); - * return result.toString(); - * } - * ``` - * - * Example usage (browser): - * - * ```ts snippet:ReadmeSampleDownloadBlob_Browser - * import { BlobServiceClient } from "@azure/storage-blob"; - * import { DefaultAzureCredential } from "@azure/identity"; - * - * const account = ""; - * const blobServiceClient = new BlobServiceClient( - * `https://${account}.blob.core.windows.net`, - * new DefaultAzureCredential(), - * ); - * - * const containerName = ""; - * const blobName = ""; - * const containerClient = blobServiceClient.getContainerClient(containerName); - * const blobClient = containerClient.getBlobClient(blobName); - * - * // Get blob content from position 0 to the end - * // In browsers, get downloaded data by accessing downloadBlockBlobResponse.blobBody - * const downloadBlockBlobResponse = await blobClient.download(); - * const blobBody = await downloadBlockBlobResponse.blobBody; - * if (blobBody) { - * const downloaded = await blobBody.text(); - * console.log(`Downloaded blob content: ${downloaded}`); - * } - * ``` - */ - async download(offset = 0, count, options = {}) { - options.conditions = options.conditions || {}; - options.conditions = options.conditions || {}; - (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); - return tracing_js_1.tracingClient.withSpan("BlobClient-download", options, async (updatedOptions) => { - const res = (0, utils_common_js_1.assertResponse)(await this.blobContext.download({ - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - requestOptions: { - onDownloadProgress: core_util_1.isNodeLike ? void 0 : options.onProgress - // for Node.js, progress is reported by RetriableReadableStream - }, - range: offset === 0 && !count ? void 0 : (0, Range_js_1.rangeToString)({ offset, count }), - rangeGetContentMD5: options.rangeGetContentMD5, - rangeGetContentCRC64: options.rangeGetContentCrc64, - snapshot: options.snapshot, - cpkInfo: options.customerProvidedKey, - tracingOptions: updatedOptions.tracingOptions - })); - const wrappedRes = { - ...res, - _response: res._response, - // _response is made non-enumerable - objectReplicationDestinationPolicyId: res.objectReplicationPolicyId, - objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(res.objectReplicationRules) + var hasQueueMicrotask = typeof queueMicrotask === "function" && queueMicrotask; + var hasSetImmediate = typeof setImmediate === "function" && setImmediate; + var hasNextTick = typeof process === "object" && typeof process.nextTick === "function"; + function fallback(fn) { + setTimeout(fn, 0); + } + function wrap(defer) { + return (fn, ...args) => defer(() => fn(...args)); + } + var _defer$1; + if (hasQueueMicrotask) { + _defer$1 = queueMicrotask; + } else if (hasSetImmediate) { + _defer$1 = setImmediate; + } else if (hasNextTick) { + _defer$1 = process.nextTick; + } else { + _defer$1 = fallback; + } + var setImmediate$1 = wrap(_defer$1); + function asyncify(func) { + if (isAsync(func)) { + return function(...args) { + const callback = args.pop(); + const promise = func.apply(this, args); + return handlePromise(promise, callback); }; - if (!core_util_1.isNodeLike) { - return wrappedRes; - } - if (options.maxRetryRequests === void 0 || options.maxRetryRequests < 0) { - options.maxRetryRequests = constants_js_1.DEFAULT_MAX_DOWNLOAD_RETRY_REQUESTS; + } + return initialParams(function(args, callback) { + var result; + try { + result = func.apply(this, args); + } catch (e) { + return callback(e); } - if (res.contentLength === void 0) { - throw new RangeError(`File download response doesn't contain valid content length header`); + if (result && typeof result.then === "function") { + return handlePromise(result, callback); + } else { + callback(null, result); } - if (!res.etag) { - throw new RangeError(`File download response doesn't contain valid etag header`); + }); + } + function handlePromise(promise, callback) { + return promise.then((value) => { + invokeCallback(callback, null, value); + }, (err) => { + invokeCallback(callback, err && (err instanceof Error || err.message) ? err : new Error(err)); + }); + } + function invokeCallback(callback, error3, value) { + try { + callback(error3, value); + } catch (err) { + setImmediate$1((e) => { + throw e; + }, err); + } + } + function isAsync(fn) { + return fn[Symbol.toStringTag] === "AsyncFunction"; + } + function isAsyncGenerator(fn) { + return fn[Symbol.toStringTag] === "AsyncGenerator"; + } + function isAsyncIterable(obj) { + return typeof obj[Symbol.asyncIterator] === "function"; + } + function wrapAsync(asyncFn) { + if (typeof asyncFn !== "function") throw new Error("expected a function"); + return isAsync(asyncFn) ? asyncify(asyncFn) : asyncFn; + } + function awaitify(asyncFn, arity) { + if (!arity) arity = asyncFn.length; + if (!arity) throw new Error("arity is undefined"); + function awaitable(...args) { + if (typeof args[arity - 1] === "function") { + return asyncFn.apply(this, args); } - return new BlobDownloadResponse_js_1.BlobDownloadResponse(wrappedRes, async (start) => { - const updatedDownloadOptions = { - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ifMatch: options.conditions.ifMatch || res.etag, - ifModifiedSince: options.conditions.ifModifiedSince, - ifNoneMatch: options.conditions.ifNoneMatch, - ifUnmodifiedSince: options.conditions.ifUnmodifiedSince, - ifTags: options.conditions?.tagConditions - }, - range: (0, Range_js_1.rangeToString)({ - count: offset + res.contentLength - start, - offset: start - }), - rangeGetContentMD5: options.rangeGetContentMD5, - rangeGetContentCRC64: options.rangeGetContentCrc64, - snapshot: options.snapshot, - cpkInfo: options.customerProvidedKey + return new Promise((resolve5, reject2) => { + args[arity - 1] = (err, ...cbArgs) => { + if (err) return reject2(err); + resolve5(cbArgs.length > 1 ? cbArgs : cbArgs[0]); }; - return (await this.blobContext.download({ - abortSignal: options.abortSignal, - ...updatedDownloadOptions - })).readableStreamBody; - }, offset, res.contentLength, { - maxRetryRequests: options.maxRetryRequests, - onProgress: options.onProgress + asyncFn.apply(this, args); + }); + } + return awaitable; + } + function applyEach$1(eachfn) { + return function applyEach2(fns, ...callArgs) { + const go = awaitify(function(callback) { + var that = this; + return eachfn(fns, (fn, cb) => { + wrapAsync(fn).apply(that, callArgs.concat(cb)); + }, callback); + }); + return go; + }; + } + function _asyncMap(eachfn, arr, iteratee, callback) { + arr = arr || []; + var results = []; + var counter = 0; + var _iteratee = wrapAsync(iteratee); + return eachfn(arr, (value, _2, iterCb) => { + var index2 = counter++; + _iteratee(value, (err, v) => { + results[index2] = v; + iterCb(err); }); + }, (err) => { + callback(err, results); }); } - /** - * Returns true if the Azure blob resource represented by this client exists; false otherwise. - * - * NOTE: use this function with care since an existing blob might be deleted by other clients or - * applications. Vice versa new blobs might be added by other clients or applications after this - * function completes. - * - * @param options - options to Exists operation. - */ - async exists(options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobClient-exists", options, async (updatedOptions) => { - try { - (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); - await this.getProperties({ - abortSignal: options.abortSignal, - customerProvidedKey: options.customerProvidedKey, - conditions: options.conditions, - tracingOptions: updatedOptions.tracingOptions - }); - return true; - } catch (e) { - if (e.statusCode === 404) { - return false; - } else if (e.statusCode === 409 && (e.details.errorCode === constants_js_1.BlobUsesCustomerSpecifiedEncryptionMsg || e.details.errorCode === constants_js_1.BlobDoesNotUseCustomerSpecifiedEncryption)) { - return true; + function isArrayLike(value) { + return value && typeof value.length === "number" && value.length >= 0 && value.length % 1 === 0; + } + const breakLoop = {}; + function once(fn) { + function wrapper(...args) { + if (fn === null) return; + var callFn = fn; + fn = null; + callFn.apply(this, args); + } + Object.assign(wrapper, fn); + return wrapper; + } + function getIterator(coll) { + return coll[Symbol.iterator] && coll[Symbol.iterator](); + } + function createArrayIterator(coll) { + var i = -1; + var len = coll.length; + return function next() { + return ++i < len ? { value: coll[i], key: i } : null; + }; + } + function createES2015Iterator(iterator2) { + var i = -1; + return function next() { + var item = iterator2.next(); + if (item.done) + return null; + i++; + return { value: item.value, key: i }; + }; + } + function createObjectIterator(obj) { + var okeys = obj ? Object.keys(obj) : []; + var i = -1; + var len = okeys.length; + return function next() { + var key = okeys[++i]; + if (key === "__proto__") { + return next(); + } + return i < len ? { value: obj[key], key } : null; + }; + } + function createIterator(coll) { + if (isArrayLike(coll)) { + return createArrayIterator(coll); + } + var iterator2 = getIterator(coll); + return iterator2 ? createES2015Iterator(iterator2) : createObjectIterator(coll); + } + function onlyOnce(fn) { + return function(...args) { + if (fn === null) throw new Error("Callback was already called."); + var callFn = fn; + fn = null; + callFn.apply(this, args); + }; + } + function asyncEachOfLimit(generator, limit, iteratee, callback) { + let done = false; + let canceled = false; + let awaiting = false; + let running = 0; + let idx = 0; + function replenish() { + if (running >= limit || awaiting || done) return; + awaiting = true; + generator.next().then(({ value, done: iterDone }) => { + if (canceled || done) return; + awaiting = false; + if (iterDone) { + done = true; + if (running <= 0) { + callback(null); + } + return; + } + running++; + iteratee(value, idx, iterateeCallback); + idx++; + replenish(); + }).catch(handleError); + } + function iterateeCallback(err, result) { + running -= 1; + if (canceled) return; + if (err) return handleError(err); + if (err === false) { + done = true; + canceled = true; + return; + } + if (result === breakLoop || done && running <= 0) { + done = true; + return callback(null); + } + replenish(); + } + function handleError(err) { + if (canceled) return; + awaiting = false; + done = true; + callback(err); + } + replenish(); + } + var eachOfLimit$2 = (limit) => { + return (obj, iteratee, callback) => { + callback = once(callback); + if (limit <= 0) { + throw new RangeError("concurrency limit cannot be less than 1"); + } + if (!obj) { + return callback(null); + } + if (isAsyncGenerator(obj)) { + return asyncEachOfLimit(obj, limit, iteratee, callback); + } + if (isAsyncIterable(obj)) { + return asyncEachOfLimit(obj[Symbol.asyncIterator](), limit, iteratee, callback); + } + var nextElem = createIterator(obj); + var done = false; + var canceled = false; + var running = 0; + var looping = false; + function iterateeCallback(err, value) { + if (canceled) return; + running -= 1; + if (err) { + done = true; + callback(err); + } else if (err === false) { + done = true; + canceled = true; + } else if (value === breakLoop || done && running <= 0) { + done = true; + return callback(null); + } else if (!looping) { + replenish(); } - throw e; } - }); - } - /** - * Returns all user-defined metadata, standard HTTP properties, and system properties - * for the blob. It does not return the content of the blob. - * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-properties - * - * WARNING: The `metadata` object returned in the response will have its keys in lowercase, even if - * they originally contained uppercase characters. This differs from the metadata keys returned by - * the methods of {@link ContainerClient} that list blobs using the `includeMetadata` option, which - * will retain their original casing. - * - * @param options - Optional options to Get Properties operation. - */ - async getProperties(options = {}) { - options.conditions = options.conditions || {}; - (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); - return tracing_js_1.tracingClient.withSpan("BlobClient-getProperties", options, async (updatedOptions) => { - const res = (0, utils_common_js_1.assertResponse)(await this.blobContext.getProperties({ - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - cpkInfo: options.customerProvidedKey, - tracingOptions: updatedOptions.tracingOptions - })); - return { - ...res, - _response: res._response, - // _response is made non-enumerable - objectReplicationDestinationPolicyId: res.objectReplicationPolicyId, - objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(res.objectReplicationRules) - }; - }); - } - /** - * Marks the specified blob or snapshot for deletion. The blob is later deleted - * during garbage collection. Note that in order to delete a blob, you must delete - * all of its snapshots. You can delete both at the same time with the Delete - * Blob operation. - * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob - * - * @param options - Optional options to Blob Delete operation. - */ - async delete(options = {}) { - options.conditions = options.conditions || {}; - return tracing_js_1.tracingClient.withSpan("BlobClient-delete", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.blobContext.delete({ - abortSignal: options.abortSignal, - deleteSnapshots: options.deleteSnapshots, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - tracingOptions: updatedOptions.tracingOptions - })); - }); - } - /** - * Marks the specified blob or snapshot for deletion if it exists. The blob is later deleted - * during garbage collection. Note that in order to delete a blob, you must delete - * all of its snapshots. You can delete both at the same time with the Delete - * Blob operation. - * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob - * - * @param options - Optional options to Blob Delete operation. - */ - async deleteIfExists(options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobClient-deleteIfExists", options, async (updatedOptions) => { - try { - const res = (0, utils_common_js_1.assertResponse)(await this.delete(updatedOptions)); - return { - succeeded: true, - ...res, - _response: res._response - // _response is made non-enumerable - }; - } catch (e) { - if (e.details?.errorCode === "BlobNotFound") { - return { - succeeded: false, - ...e.response?.parsedHeaders, - _response: e.response - }; + function replenish() { + looping = true; + while (running < limit && !done) { + var elem = nextElem(); + if (elem === null) { + done = true; + if (running <= 0) { + callback(null); + } + return; + } + running += 1; + iteratee(elem.value, elem.key, onlyOnce(iterateeCallback)); } - throw e; + looping = false; } - }); + replenish(); + }; + }; + function eachOfLimit(coll, limit, iteratee, callback) { + return eachOfLimit$2(limit)(coll, wrapAsync(iteratee), callback); } - /** - * Restores the contents and metadata of soft deleted blob and any associated - * soft deleted snapshots. Undelete Blob is supported only on version 2017-07-29 - * or later. - * @see https://learn.microsoft.com/rest/api/storageservices/undelete-blob - * - * @param options - Optional options to Blob Undelete operation. - */ - async undelete(options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobClient-undelete", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.blobContext.undelete({ - abortSignal: options.abortSignal, - tracingOptions: updatedOptions.tracingOptions - })); - }); + var eachOfLimit$1 = awaitify(eachOfLimit, 4); + function eachOfArrayLike(coll, iteratee, callback) { + callback = once(callback); + var index2 = 0, completed = 0, { length } = coll, canceled = false; + if (length === 0) { + callback(null); + } + function iteratorCallback(err, value) { + if (err === false) { + canceled = true; + } + if (canceled === true) return; + if (err) { + callback(err); + } else if (++completed === length || value === breakLoop) { + callback(null); + } + } + for (; index2 < length; index2++) { + iteratee(coll[index2], index2, onlyOnce(iteratorCallback)); + } } - /** - * Sets system properties on the blob. - * - * If no value provided, or no value provided for the specified blob HTTP headers, - * these blob HTTP headers without a value will be cleared. - * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties - * - * @param blobHTTPHeaders - If no value provided, or no value provided for - * the specified blob HTTP headers, these blob HTTP - * headers without a value will be cleared. - * A common header to set is `blobContentType` - * enabling the browser to provide functionality - * based on file type. - * @param options - Optional options to Blob Set HTTP Headers operation. - */ - async setHTTPHeaders(blobHTTPHeaders, options = {}) { - options.conditions = options.conditions || {}; - (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); - return tracing_js_1.tracingClient.withSpan("BlobClient-setHTTPHeaders", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.blobContext.setHttpHeaders({ - abortSignal: options.abortSignal, - blobHttpHeaders: blobHTTPHeaders, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - // cpkInfo: options.customerProvidedKey, // CPK is not included in Swagger, should change this back when this issue is fixed in Swagger. - tracingOptions: updatedOptions.tracingOptions - })); - }); + function eachOfGeneric(coll, iteratee, callback) { + return eachOfLimit$1(coll, Infinity, iteratee, callback); } - /** - * Sets user-defined metadata for the specified blob as one or more name-value pairs. - * - * If no option provided, or no metadata defined in the parameter, the blob - * metadata will be removed. - * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-metadata - * - * @param metadata - Replace existing metadata with this value. - * If no value provided the existing metadata will be removed. - * @param options - Optional options to Set Metadata operation. - */ - async setMetadata(metadata, options = {}) { - options.conditions = options.conditions || {}; - (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); - return tracing_js_1.tracingClient.withSpan("BlobClient-setMetadata", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.blobContext.setMetadata({ - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - metadata, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - cpkInfo: options.customerProvidedKey, - encryptionScope: options.encryptionScope, - tracingOptions: updatedOptions.tracingOptions - })); - }); + function eachOf(coll, iteratee, callback) { + var eachOfImplementation = isArrayLike(coll) ? eachOfArrayLike : eachOfGeneric; + return eachOfImplementation(coll, wrapAsync(iteratee), callback); } - /** - * Sets tags on the underlying blob. - * A blob can have up to 10 tags. Tag keys must be between 1 and 128 characters. Tag values must be between 0 and 256 characters. - * Valid tag key and value characters include lower and upper case letters, digits (0-9), - * space (' '), plus ('+'), minus ('-'), period ('.'), foward slash ('/'), colon (':'), equals ('='), and underscore ('_'). - * - * @param tags - - * @param options - - */ - async setTags(tags, options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobClient-setTags", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.blobContext.setTags({ - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - tracingOptions: updatedOptions.tracingOptions, - tags: (0, utils_common_js_1.toBlobTags)(tags) - })); - }); + var eachOf$1 = awaitify(eachOf, 3); + function map2(coll, iteratee, callback) { + return _asyncMap(eachOf$1, coll, iteratee, callback); } - /** - * Gets the tags associated with the underlying blob. - * - * @param options - - */ - async getTags(options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobClient-getTags", options, async (updatedOptions) => { - const response = (0, utils_common_js_1.assertResponse)(await this.blobContext.getTags({ - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - tracingOptions: updatedOptions.tracingOptions - })); - const wrappedResponse = { - ...response, - _response: response._response, - // _response is made non-enumerable - tags: (0, utils_common_js_1.toTags)({ blobTagSet: response.blobTagSet }) || {} - }; - return wrappedResponse; - }); + var map$1 = awaitify(map2, 3); + var applyEach = applyEach$1(map$1); + function eachOfSeries(coll, iteratee, callback) { + return eachOfLimit$1(coll, 1, iteratee, callback); } - /** - * Get a {@link BlobLeaseClient} that manages leases on the blob. - * - * @param proposeLeaseId - Initial proposed lease Id. - * @returns A new BlobLeaseClient object for managing leases on the blob. - */ - getBlobLeaseClient(proposeLeaseId) { - return new BlobLeaseClient_js_1.BlobLeaseClient(this, proposeLeaseId); + var eachOfSeries$1 = awaitify(eachOfSeries, 3); + function mapSeries(coll, iteratee, callback) { + return _asyncMap(eachOfSeries$1, coll, iteratee, callback); } - /** - * Creates a read-only snapshot of a blob. - * @see https://learn.microsoft.com/rest/api/storageservices/snapshot-blob - * - * @param options - Optional options to the Blob Create Snapshot operation. - */ - async createSnapshot(options = {}) { - options.conditions = options.conditions || {}; - (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); - return tracing_js_1.tracingClient.withSpan("BlobClient-createSnapshot", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.blobContext.createSnapshot({ - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - metadata: options.metadata, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - cpkInfo: options.customerProvidedKey, - encryptionScope: options.encryptionScope, - tracingOptions: updatedOptions.tracingOptions - })); + var mapSeries$1 = awaitify(mapSeries, 3); + var applyEachSeries = applyEach$1(mapSeries$1); + const PROMISE_SYMBOL = /* @__PURE__ */ Symbol("promiseCallback"); + function promiseCallback() { + let resolve5, reject2; + function callback(err, ...args) { + if (err) return reject2(err); + resolve5(args.length > 1 ? args : args[0]); + } + callback[PROMISE_SYMBOL] = new Promise((res, rej) => { + resolve5 = res, reject2 = rej; }); + return callback; } - /** - * Asynchronously copies a blob to a destination within the storage account. - * This method returns a long running operation poller that allows you to wait - * indefinitely until the copy is completed. - * You can also cancel a copy before it is completed by calling `cancelOperation` on the poller. - * Note that the onProgress callback will not be invoked if the operation completes in the first - * request, and attempting to cancel a completed copy will result in an error being thrown. - * - * In version 2012-02-12 and later, the source for a Copy Blob operation can be - * a committed blob in any Azure storage account. - * Beginning with version 2015-02-21, the source for a Copy Blob operation can be - * an Azure file in any Azure storage account. - * Only storage accounts created on or after June 7th, 2012 allow the Copy Blob - * operation to copy from another storage account. - * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob - * - * ```ts snippet:ClientsBeginCopyFromURL - * import { BlobServiceClient } from "@azure/storage-blob"; - * import { DefaultAzureCredential } from "@azure/identity"; - * - * const account = ""; - * const blobServiceClient = new BlobServiceClient( - * `https://${account}.blob.core.windows.net`, - * new DefaultAzureCredential(), - * ); - * - * const containerName = ""; - * const blobName = ""; - * const containerClient = blobServiceClient.getContainerClient(containerName); - * const blobClient = containerClient.getBlobClient(blobName); - * - * // Example using automatic polling - * const automaticCopyPoller = await blobClient.beginCopyFromURL("url"); - * const automaticResult = await automaticCopyPoller.pollUntilDone(); - * - * // Example using manual polling - * const manualCopyPoller = await blobClient.beginCopyFromURL("url"); - * while (!manualCopyPoller.isDone()) { - * await manualCopyPoller.poll(); - * } - * const manualResult = manualCopyPoller.getResult(); - * - * // Example using progress updates - * const progressUpdatesCopyPoller = await blobClient.beginCopyFromURL("url", { - * onProgress(state) { - * console.log(`Progress: ${state.copyProgress}`); - * }, - * }); - * const progressUpdatesResult = await progressUpdatesCopyPoller.pollUntilDone(); - * - * // Example using a changing polling interval (default 15 seconds) - * const pollingIntervalCopyPoller = await blobClient.beginCopyFromURL("url", { - * intervalInMs: 1000, // poll blob every 1 second for copy progress - * }); - * const pollingIntervalResult = await pollingIntervalCopyPoller.pollUntilDone(); - * - * // Example using copy cancellation: - * const cancelCopyPoller = await blobClient.beginCopyFromURL("url"); - * // cancel operation after starting it. - * try { - * await cancelCopyPoller.cancelOperation(); - * // calls to get the result now throw PollerCancelledError - * cancelCopyPoller.getResult(); - * } catch (err: any) { - * if (err.name === "PollerCancelledError") { - * console.log("The copy was cancelled."); - * } - * } - * ``` - * - * @param copySource - url to the source Azure Blob/File. - * @param options - Optional options to the Blob Start Copy From URL operation. - */ - async beginCopyFromURL(copySource, options = {}) { - const client = { - abortCopyFromURL: (...args) => this.abortCopyFromURL(...args), - getProperties: (...args) => this.getProperties(...args), - startCopyFromURL: (...args) => this.startCopyFromURL(...args) - }; - const poller = new BlobStartCopyFromUrlPoller_js_1.BlobBeginCopyFromUrlPoller({ - blobClient: client, - copySource, - intervalInMs: options.intervalInMs, - onProgress: options.onProgress, - resumeFrom: options.resumeFrom, - startCopyFromURLOptions: options + function auto(tasks, concurrency, callback) { + if (typeof concurrency !== "number") { + callback = concurrency; + concurrency = null; + } + callback = once(callback || promiseCallback()); + var numTasks = Object.keys(tasks).length; + if (!numTasks) { + return callback(null); + } + if (!concurrency) { + concurrency = numTasks; + } + var results = {}; + var runningTasks = 0; + var canceled = false; + var hasError = false; + var listeners = /* @__PURE__ */ Object.create(null); + var readyTasks = []; + var readyToCheck = []; + var uncheckedDependencies = {}; + Object.keys(tasks).forEach((key) => { + var task = tasks[key]; + if (!Array.isArray(task)) { + enqueueTask(key, [task]); + readyToCheck.push(key); + return; + } + var dependencies = task.slice(0, task.length - 1); + var remainingDependencies = dependencies.length; + if (remainingDependencies === 0) { + enqueueTask(key, task); + readyToCheck.push(key); + return; + } + uncheckedDependencies[key] = remainingDependencies; + dependencies.forEach((dependencyName) => { + if (!tasks[dependencyName]) { + throw new Error("async.auto task `" + key + "` has a non-existent dependency `" + dependencyName + "` in " + dependencies.join(", ")); + } + addListener(dependencyName, () => { + remainingDependencies--; + if (remainingDependencies === 0) { + enqueueTask(key, task); + } + }); + }); }); - await poller.poll(); - return poller; + checkForDeadlocks(); + processQueue(); + function enqueueTask(key, task) { + readyTasks.push(() => runTask(key, task)); + } + function processQueue() { + if (canceled) return; + if (readyTasks.length === 0 && runningTasks === 0) { + return callback(null, results); + } + while (readyTasks.length && runningTasks < concurrency) { + var run = readyTasks.shift(); + run(); + } + } + function addListener(taskName, fn) { + var taskListeners = listeners[taskName]; + if (!taskListeners) { + taskListeners = listeners[taskName] = []; + } + taskListeners.push(fn); + } + function taskComplete(taskName) { + var taskListeners = listeners[taskName] || []; + taskListeners.forEach((fn) => fn()); + processQueue(); + } + function runTask(key, task) { + if (hasError) return; + var taskCallback = onlyOnce((err, ...result) => { + runningTasks--; + if (err === false) { + canceled = true; + return; + } + if (result.length < 2) { + [result] = result; + } + if (err) { + var safeResults = {}; + Object.keys(results).forEach((rkey) => { + safeResults[rkey] = results[rkey]; + }); + safeResults[key] = result; + hasError = true; + listeners = /* @__PURE__ */ Object.create(null); + if (canceled) return; + callback(err, safeResults); + } else { + results[key] = result; + taskComplete(key); + } + }); + runningTasks++; + var taskFn = wrapAsync(task[task.length - 1]); + if (task.length > 1) { + taskFn(results, taskCallback); + } else { + taskFn(taskCallback); + } + } + function checkForDeadlocks() { + var currentTask; + var counter = 0; + while (readyToCheck.length) { + currentTask = readyToCheck.pop(); + counter++; + getDependents(currentTask).forEach((dependent) => { + if (--uncheckedDependencies[dependent] === 0) { + readyToCheck.push(dependent); + } + }); + } + if (counter !== numTasks) { + throw new Error( + "async.auto cannot execute tasks due to a recursive dependency" + ); + } + } + function getDependents(taskName) { + var result = []; + Object.keys(tasks).forEach((key) => { + const task = tasks[key]; + if (Array.isArray(task) && task.indexOf(taskName) >= 0) { + result.push(key); + } + }); + return result; + } + return callback[PROMISE_SYMBOL]; } - /** - * Aborts a pending asynchronous Copy Blob operation, and leaves a destination blob with zero - * length and full metadata. Version 2012-02-12 and newer. - * @see https://learn.microsoft.com/rest/api/storageservices/abort-copy-blob - * - * @param copyId - Id of the Copy From URL operation. - * @param options - Optional options to the Blob Abort Copy From URL operation. - */ - async abortCopyFromURL(copyId, options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobClient-abortCopyFromURL", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.blobContext.abortCopyFromURL(copyId, { - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - tracingOptions: updatedOptions.tracingOptions - })); - }); + var FN_ARGS = /^(?:async\s)?(?:function)?\s*(?:\w+\s*)?\(([^)]+)\)(?:\s*{)/; + var ARROW_FN_ARGS = /^(?:async\s)?\s*(?:\(\s*)?((?:[^)=\s]\s*)*)(?:\)\s*)?=>/; + var FN_ARG_SPLIT = /,/; + var FN_ARG = /(=.+)?(\s*)$/; + function stripComments(string) { + let stripped = ""; + let index2 = 0; + let endBlockComment = string.indexOf("*/"); + while (index2 < string.length) { + if (string[index2] === "/" && string[index2 + 1] === "/") { + let endIndex = string.indexOf("\n", index2); + index2 = endIndex === -1 ? string.length : endIndex; + } else if (endBlockComment !== -1 && string[index2] === "/" && string[index2 + 1] === "*") { + let endIndex = string.indexOf("*/", index2); + if (endIndex !== -1) { + index2 = endIndex + 2; + endBlockComment = string.indexOf("*/", index2); + } else { + stripped += string[index2]; + index2++; + } + } else { + stripped += string[index2]; + index2++; + } + } + return stripped; } - /** - * The synchronous Copy From URL operation copies a blob or an internet resource to a new blob. It will not - * return a response until the copy is complete. - * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob-from-url - * - * @param copySource - The source URL to copy from, Shared Access Signature(SAS) maybe needed for authentication - * @param options - - */ - async syncCopyFromURL(copySource, options = {}) { - options.conditions = options.conditions || {}; - options.sourceConditions = options.sourceConditions || {}; - return tracing_js_1.tracingClient.withSpan("BlobClient-syncCopyFromURL", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.blobContext.copyFromURL(copySource, { - abortSignal: options.abortSignal, - metadata: options.metadata, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - sourceModifiedAccessConditions: { - sourceIfMatch: options.sourceConditions?.ifMatch, - sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince, - sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch, - sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince - }, - sourceContentMD5: options.sourceContentMD5, - copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization), - tier: (0, models_js_1.toAccessTier)(options.tier), - blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags), - immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn, - immutabilityPolicyMode: options.immutabilityPolicy?.policyMode, - legalHold: options.legalHold, - encryptionScope: options.encryptionScope, - copySourceTags: options.copySourceTags, - fileRequestIntent: options.sourceShareTokenIntent, - tracingOptions: updatedOptions.tracingOptions - })); - }); + function parseParams(func) { + const src = stripComments(func.toString()); + let match = src.match(FN_ARGS); + if (!match) { + match = src.match(ARROW_FN_ARGS); + } + if (!match) throw new Error("could not parse args in autoInject\nSource:\n" + src); + let [, args] = match; + return args.replace(/\s/g, "").split(FN_ARG_SPLIT).map((arg) => arg.replace(FN_ARG, "").trim()); } - /** - * Sets the tier on a blob. The operation is allowed on a page blob in a premium - * storage account and on a block blob in a blob storage account (locally redundant - * storage only). A premium page blob's tier determines the allowed size, IOPS, - * and bandwidth of the blob. A block blob's tier determines Hot/Cool/Archive - * storage type. This operation does not update the blob's ETag. - * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-tier - * - * @param tier - The tier to be set on the blob. Valid values are Hot, Cool, or Archive. - * @param options - Optional options to the Blob Set Tier operation. - */ - async setAccessTier(tier, options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobClient-setAccessTier", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.blobContext.setTier((0, models_js_1.toAccessTier)(tier), { - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - rehydratePriority: options.rehydratePriority, - tracingOptions: updatedOptions.tracingOptions - })); + function autoInject(tasks, callback) { + var newTasks = {}; + Object.keys(tasks).forEach((key) => { + var taskFn = tasks[key]; + var params; + var fnIsAsync = isAsync(taskFn); + var hasNoDeps = !fnIsAsync && taskFn.length === 1 || fnIsAsync && taskFn.length === 0; + if (Array.isArray(taskFn)) { + params = [...taskFn]; + taskFn = params.pop(); + newTasks[key] = params.concat(params.length > 0 ? newTask : taskFn); + } else if (hasNoDeps) { + newTasks[key] = taskFn; + } else { + params = parseParams(taskFn); + if (taskFn.length === 0 && !fnIsAsync && params.length === 0) { + throw new Error("autoInject task functions require explicit parameters."); + } + if (!fnIsAsync) params.pop(); + newTasks[key] = params.concat(newTask); + } + function newTask(results, taskCb) { + var newArgs = params.map((name) => results[name]); + newArgs.push(taskCb); + wrapAsync(taskFn)(...newArgs); + } }); + return auto(newTasks, callback); } - async downloadToBuffer(param1, param2, param3, param4 = {}) { - let buffer; - let offset = 0; - let count = 0; - let options = param4; - if (param1 instanceof Buffer) { - buffer = param1; - offset = param2 || 0; - count = typeof param3 === "number" ? param3 : 0; - } else { - offset = typeof param1 === "number" ? param1 : 0; - count = typeof param2 === "number" ? param2 : 0; - options = param3 || {}; + class DLL { + constructor() { + this.head = this.tail = null; + this.length = 0; } - let blockSize = options.blockSize ?? 0; - if (blockSize < 0) { - throw new RangeError("blockSize option must be >= 0"); + removeLink(node) { + if (node.prev) node.prev.next = node.next; + else this.head = node.next; + if (node.next) node.next.prev = node.prev; + else this.tail = node.prev; + node.prev = node.next = null; + this.length -= 1; + return node; } - if (blockSize === 0) { - blockSize = constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES; + empty() { + while (this.head) this.shift(); + return this; } - if (offset < 0) { - throw new RangeError("offset option must be >= 0"); + insertAfter(node, newNode) { + newNode.prev = node; + newNode.next = node.next; + if (node.next) node.next.prev = newNode; + else this.tail = newNode; + node.next = newNode; + this.length += 1; } - if (count && count <= 0) { - throw new RangeError("count option must be greater than 0"); + insertBefore(node, newNode) { + newNode.prev = node.prev; + newNode.next = node; + if (node.prev) node.prev.next = newNode; + else this.head = newNode; + node.prev = newNode; + this.length += 1; } - if (!options.conditions) { - options.conditions = {}; + unshift(node) { + if (this.head) this.insertBefore(this.head, node); + else setInitial(this, node); } - return tracing_js_1.tracingClient.withSpan("BlobClient-downloadToBuffer", options, async (updatedOptions) => { - if (!count) { - const response = await this.getProperties({ - ...options, - tracingOptions: updatedOptions.tracingOptions - }); - count = response.contentLength - offset; - if (count < 0) { - throw new RangeError(`offset ${offset} shouldn't be larger than blob size ${response.contentLength}`); + push(node) { + if (this.tail) this.insertAfter(this.tail, node); + else setInitial(this, node); + } + shift() { + return this.head && this.removeLink(this.head); + } + pop() { + return this.tail && this.removeLink(this.tail); + } + toArray() { + return [...this]; + } + *[Symbol.iterator]() { + var cur = this.head; + while (cur) { + yield cur.data; + cur = cur.next; + } + } + remove(testFn) { + var curr = this.head; + while (curr) { + var { next } = curr; + if (testFn(curr)) { + this.removeLink(curr); } + curr = next; } - if (!buffer) { - try { - buffer = Buffer.alloc(count); - } catch (error3) { - throw new Error(`Unable to allocate the buffer of size: ${count}(in bytes). Please try passing your own buffer to the "downloadToBuffer" method or try using other methods like "download" or "downloadToFile". ${error3.message}`); + return this; + } + } + function setInitial(dll, node) { + dll.length = 1; + dll.head = dll.tail = node; + } + function queue$1(worker, concurrency, payload) { + if (concurrency == null) { + concurrency = 1; + } else if (concurrency === 0) { + throw new RangeError("Concurrency must not be zero"); + } + var _worker = wrapAsync(worker); + var numRunning = 0; + var workersList = []; + const events = { + error: [], + drain: [], + saturated: [], + unsaturated: [], + empty: [] + }; + function on(event, handler2) { + events[event].push(handler2); + } + function once2(event, handler2) { + const handleAndRemove = (...args) => { + off(event, handleAndRemove); + handler2(...args); + }; + events[event].push(handleAndRemove); + } + function off(event, handler2) { + if (!event) return Object.keys(events).forEach((ev) => events[ev] = []); + if (!handler2) return events[event] = []; + events[event] = events[event].filter((ev) => ev !== handler2); + } + function trigger(event, ...args) { + events[event].forEach((handler2) => handler2(...args)); + } + var processingScheduled = false; + function _insert(data, insertAtFront, rejectOnError, callback) { + if (callback != null && typeof callback !== "function") { + throw new Error("task callback must be a function"); + } + q.started = true; + var res, rej; + function promiseCallback2(err, ...args) { + if (err) return rejectOnError ? rej(err) : res(); + if (args.length <= 1) return res(args[0]); + res(args); + } + var item = q._createTaskItem( + data, + rejectOnError ? promiseCallback2 : callback || promiseCallback2 + ); + if (insertAtFront) { + q._tasks.unshift(item); + } else { + q._tasks.push(item); + } + if (!processingScheduled) { + processingScheduled = true; + setImmediate$1(() => { + processingScheduled = false; + q.process(); + }); + } + if (rejectOnError || !callback) { + return new Promise((resolve5, reject2) => { + res = resolve5; + rej = reject2; + }); + } + } + function _createCB(tasks) { + return function(err, ...args) { + numRunning -= 1; + for (var i = 0, l = tasks.length; i < l; i++) { + var task = tasks[i]; + var index2 = workersList.indexOf(task); + if (index2 === 0) { + workersList.shift(); + } else if (index2 > 0) { + workersList.splice(index2, 1); + } + task.callback(err, ...args); + if (err != null) { + trigger("error", err, task.data); + } + } + if (numRunning <= q.concurrency - q.buffer) { + trigger("unsaturated"); } + if (q.idle()) { + trigger("drain"); + } + q.process(); + }; + } + function _maybeDrain(data) { + if (data.length === 0 && q.idle()) { + setImmediate$1(() => trigger("drain")); + return true; } - if (buffer.length < count) { - throw new RangeError(`The buffer's size should be equal to or larger than the request count of bytes: ${count}`); + return false; + } + const eventMethod = (name) => (handler2) => { + if (!handler2) { + return new Promise((resolve5, reject2) => { + once2(name, (err, data) => { + if (err) return reject2(err); + resolve5(data); + }); + }); + } + off(name); + on(name, handler2); + }; + var isProcessing = false; + var q = { + _tasks: new DLL(), + _createTaskItem(data, callback) { + return { + data, + callback + }; + }, + *[Symbol.iterator]() { + yield* q._tasks[Symbol.iterator](); + }, + concurrency, + payload, + buffer: concurrency / 4, + started: false, + paused: false, + push(data, callback) { + if (Array.isArray(data)) { + if (_maybeDrain(data)) return; + return data.map((datum) => _insert(datum, false, false, callback)); + } + return _insert(data, false, false, callback); + }, + pushAsync(data, callback) { + if (Array.isArray(data)) { + if (_maybeDrain(data)) return; + return data.map((datum) => _insert(datum, false, true, callback)); + } + return _insert(data, false, true, callback); + }, + kill() { + off(); + q._tasks.empty(); + }, + unshift(data, callback) { + if (Array.isArray(data)) { + if (_maybeDrain(data)) return; + return data.map((datum) => _insert(datum, true, false, callback)); + } + return _insert(data, true, false, callback); + }, + unshiftAsync(data, callback) { + if (Array.isArray(data)) { + if (_maybeDrain(data)) return; + return data.map((datum) => _insert(datum, true, true, callback)); + } + return _insert(data, true, true, callback); + }, + remove(testFn) { + q._tasks.remove(testFn); + }, + process() { + if (isProcessing) { + return; + } + isProcessing = true; + while (!q.paused && numRunning < q.concurrency && q._tasks.length) { + var tasks = [], data = []; + var l = q._tasks.length; + if (q.payload) l = Math.min(l, q.payload); + for (var i = 0; i < l; i++) { + var node = q._tasks.shift(); + tasks.push(node); + workersList.push(node); + data.push(node.data); + } + numRunning += 1; + if (q._tasks.length === 0) { + trigger("empty"); + } + if (numRunning === q.concurrency) { + trigger("saturated"); + } + var cb = onlyOnce(_createCB(tasks)); + _worker(data, cb); + } + isProcessing = false; + }, + length() { + return q._tasks.length; + }, + running() { + return numRunning; + }, + workersList() { + return workersList; + }, + idle() { + return q._tasks.length + numRunning === 0; + }, + pause() { + q.paused = true; + }, + resume() { + if (q.paused === false) { + return; + } + q.paused = false; + setImmediate$1(q.process); } - let transferProgress = 0; - const batch = new Batch_js_1.Batch(options.concurrency); - for (let off = offset; off < offset + count; off = off + blockSize) { - batch.addOperation(async () => { - let chunkEnd = offset + count; - if (off + blockSize < chunkEnd) { - chunkEnd = off + blockSize; - } - const response = await this.download(off, chunkEnd - off, { - abortSignal: options.abortSignal, - conditions: options.conditions, - maxRetryRequests: options.maxRetryRequestsPerBlock, - customerProvidedKey: options.customerProvidedKey, - tracingOptions: updatedOptions.tracingOptions - }); - const stream = response.readableStreamBody; - await (0, utils_js_1.streamToBuffer)(stream, buffer, off - offset, chunkEnd - offset); - transferProgress += chunkEnd - off; - if (options.onProgress) { - options.onProgress({ loadedBytes: transferProgress }); - } - }); + }; + Object.defineProperties(q, { + saturated: { + writable: false, + value: eventMethod("saturated") + }, + unsaturated: { + writable: false, + value: eventMethod("unsaturated") + }, + empty: { + writable: false, + value: eventMethod("empty") + }, + drain: { + writable: false, + value: eventMethod("drain") + }, + error: { + writable: false, + value: eventMethod("error") } - await batch.do(); - return buffer; }); + return q; } - /** - * ONLY AVAILABLE IN NODE.JS RUNTIME. - * - * Downloads an Azure Blob to a local file. - * Fails if the the given file path already exits. - * Offset and count are optional, pass 0 and undefined respectively to download the entire blob. - * - * @param filePath - - * @param offset - From which position of the block blob to download. - * @param count - How much data to be downloaded. Will download to the end when passing undefined. - * @param options - Options to Blob download options. - * @returns The response data for blob download operation, - * but with readableStreamBody set to undefined since its - * content is already read and written into a local file - * at the specified path. - */ - async downloadToFile(filePath, offset = 0, count, options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobClient-downloadToFile", options, async (updatedOptions) => { - const response = await this.download(offset, count, { - ...options, - tracingOptions: updatedOptions.tracingOptions + function cargo$1(worker, payload) { + return queue$1(worker, 1, payload); + } + function cargo(worker, concurrency, payload) { + return queue$1(worker, concurrency, payload); + } + function reduce(coll, memo, iteratee, callback) { + callback = once(callback); + var _iteratee = wrapAsync(iteratee); + return eachOfSeries$1(coll, (x, i, iterCb) => { + _iteratee(memo, x, (err, v) => { + memo = v; + iterCb(err); }); - if (response.readableStreamBody) { - await (0, utils_js_1.readStreamToLocalFile)(response.readableStreamBody, filePath); - } - response.blobDownloadStream = void 0; - return response; - }); + }, (err) => callback(err, memo)); } - getBlobAndContainerNamesFromUrl() { - let containerName; - let blobName; - try { - const parsedUrl = new URL(this.url); - if (parsedUrl.host.split(".")[1] === "blob") { - const pathComponents = parsedUrl.pathname.match("/([^/]*)(/(.*))?"); - containerName = pathComponents[1]; - blobName = pathComponents[3]; - } else if ((0, utils_common_js_1.isIpEndpointStyle)(parsedUrl)) { - const pathComponents = parsedUrl.pathname.match("/([^/]*)/([^/]*)(/(.*))?"); - containerName = pathComponents[2]; - blobName = pathComponents[4]; + var reduce$1 = awaitify(reduce, 4); + function seq2(...functions) { + var _functions = functions.map(wrapAsync); + return function(...args) { + var that = this; + var cb = args[args.length - 1]; + if (typeof cb == "function") { + args.pop(); } else { - const pathComponents = parsedUrl.pathname.match("/([^/]*)(/(.*))?"); - containerName = pathComponents[1]; - blobName = pathComponents[3]; - } - containerName = decodeURIComponent(containerName); - blobName = decodeURIComponent(blobName); - blobName = blobName.replace(/\\/g, "/"); - if (!containerName) { - throw new Error("Provided containerName is invalid."); + cb = promiseCallback(); } - return { blobName, containerName }; - } catch (error3) { - throw new Error("Unable to extract blobName and containerName with provided information."); - } - } - /** - * Asynchronously copies a blob to a destination within the storage account. - * In version 2012-02-12 and later, the source for a Copy Blob operation can be - * a committed blob in any Azure storage account. - * Beginning with version 2015-02-21, the source for a Copy Blob operation can be - * an Azure file in any Azure storage account. - * Only storage accounts created on or after June 7th, 2012 allow the Copy Blob - * operation to copy from another storage account. - * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob - * - * @param copySource - url to the source Azure Blob/File. - * @param options - Optional options to the Blob Start Copy From URL operation. - */ - async startCopyFromURL(copySource, options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobClient-startCopyFromURL", options, async (updatedOptions) => { - options.conditions = options.conditions || {}; - options.sourceConditions = options.sourceConditions || {}; - return (0, utils_common_js_1.assertResponse)(await this.blobContext.startCopyFromURL(copySource, { - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - metadata: options.metadata, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - sourceModifiedAccessConditions: { - sourceIfMatch: options.sourceConditions.ifMatch, - sourceIfModifiedSince: options.sourceConditions.ifModifiedSince, - sourceIfNoneMatch: options.sourceConditions.ifNoneMatch, - sourceIfUnmodifiedSince: options.sourceConditions.ifUnmodifiedSince, - sourceIfTags: options.sourceConditions.tagConditions + reduce$1( + _functions, + args, + (newargs, fn, iterCb) => { + fn.apply(that, newargs.concat((err, ...nextargs) => { + iterCb(err, nextargs); + })); }, - immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn, - immutabilityPolicyMode: options.immutabilityPolicy?.policyMode, - legalHold: options.legalHold, - rehydratePriority: options.rehydratePriority, - tier: (0, models_js_1.toAccessTier)(options.tier), - blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags), - sealBlob: options.sealBlob, - tracingOptions: updatedOptions.tracingOptions - })); - }); + (err, results) => cb(err, ...results) + ); + return cb[PROMISE_SYMBOL]; + }; } - /** - * Only available for BlobClient constructed with a shared key credential. - * - * Generates a Blob Service Shared Access Signature (SAS) URI based on the client properties - * and parameters passed in. The SAS is signed by the shared key credential of the client. - * - * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas - * - * @param options - Optional parameters. - * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. - */ - generateSasUrl(options) { - return new Promise((resolve5) => { - if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) { - throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential"); + function compose(...args) { + return seq2(...args.reverse()); + } + function mapLimit(coll, limit, iteratee, callback) { + return _asyncMap(eachOfLimit$2(limit), coll, iteratee, callback); + } + var mapLimit$1 = awaitify(mapLimit, 4); + function concatLimit(coll, limit, iteratee, callback) { + var _iteratee = wrapAsync(iteratee); + return mapLimit$1(coll, limit, (val, iterCb) => { + _iteratee(val, (err, ...args) => { + if (err) return iterCb(err); + return iterCb(err, args); + }); + }, (err, mapResults) => { + var result = []; + for (var i = 0; i < mapResults.length; i++) { + if (mapResults[i]) { + result = result.concat(...mapResults[i]); + } } - const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({ - containerName: this._containerName, - blobName: this._name, - snapshotTime: this._snapshot, - versionId: this._versionId, - ...options - }, this.credential).toString(); - resolve5((0, utils_common_js_1.appendToURLQuery)(this.url, sas)); + return callback(err, result); }); } - /** - * Only available for BlobClient constructed with a shared key credential. - * - * Generates string to sign for a Blob Service Shared Access Signature (SAS) URI based on - * the client properties and parameters passed in. The SAS is signed by the shared key credential of the client. - * - * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas - * - * @param options - Optional parameters. - * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. - */ - /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/ - generateSasStringToSign(options) { - if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) { - throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential"); - } - return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({ - containerName: this._containerName, - blobName: this._name, - snapshotTime: this._snapshot, - versionId: this._versionId, - ...options - }, this.credential).stringToSign; + var concatLimit$1 = awaitify(concatLimit, 4); + function concat(coll, iteratee, callback) { + return concatLimit$1(coll, Infinity, iteratee, callback); } - /** - * - * Generates a Blob Service Shared Access Signature (SAS) URI based on - * the client properties and parameters passed in. The SAS is signed by the input user delegation key. - * - * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas - * - * @param options - Optional parameters. - * @param userDelegationKey - Return value of `blobServiceClient.getUserDelegationKey()` - * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. - */ - generateUserDelegationSasUrl(options, userDelegationKey) { - return new Promise((resolve5) => { - const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({ - containerName: this._containerName, - blobName: this._name, - snapshotTime: this._snapshot, - versionId: this._versionId, - ...options - }, userDelegationKey, this.accountName).toString(); - resolve5((0, utils_common_js_1.appendToURLQuery)(this.url, sas)); - }); + var concat$1 = awaitify(concat, 3); + function concatSeries(coll, iteratee, callback) { + return concatLimit$1(coll, 1, iteratee, callback); } - /** - * Only available for BlobClient constructed with a shared key credential. - * - * Generates string to sign for a Blob Service Shared Access Signature (SAS) URI based on - * the client properties and parameters passed in. The SAS is signed by the input user delegation key. - * - * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas - * - * @param options - Optional parameters. - * @param userDelegationKey - Return value of `blobServiceClient.getUserDelegationKey()` - * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. - */ - generateUserDelegationSasStringToSign(options, userDelegationKey) { - return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({ - containerName: this._containerName, - blobName: this._name, - snapshotTime: this._snapshot, - versionId: this._versionId, - ...options - }, userDelegationKey, this.accountName).stringToSign; + var concatSeries$1 = awaitify(concatSeries, 3); + function constant$1(...args) { + return function(...ignoredArgs) { + var callback = ignoredArgs.pop(); + return callback(null, ...args); + }; } - /** - * Delete the immutablility policy on the blob. - * - * @param options - Optional options to delete immutability policy on the blob. - */ - async deleteImmutabilityPolicy(options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobClient-deleteImmutabilityPolicy", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.blobContext.deleteImmutabilityPolicy({ - tracingOptions: updatedOptions.tracingOptions - })); - }); + function _createTester(check, getResult) { + return (eachfn, arr, _iteratee, cb) => { + var testPassed = false; + var testResult; + const iteratee = wrapAsync(_iteratee); + eachfn(arr, (value, _2, callback) => { + iteratee(value, (err, result) => { + if (err || err === false) return callback(err); + if (check(result) && !testResult) { + testPassed = true; + testResult = getResult(true, value); + return callback(null, breakLoop); + } + callback(); + }); + }, (err) => { + if (err) return cb(err); + cb(null, testPassed ? testResult : getResult(false)); + }); + }; } - /** - * Set immutability policy on the blob. - * - * @param options - Optional options to set immutability policy on the blob. - */ - async setImmutabilityPolicy(immutabilityPolicy, options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobClient-setImmutabilityPolicy", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.blobContext.setImmutabilityPolicy({ - immutabilityPolicyExpiry: immutabilityPolicy.expiriesOn, - immutabilityPolicyMode: immutabilityPolicy.policyMode, - tracingOptions: updatedOptions.tracingOptions - })); - }); + function detect(coll, iteratee, callback) { + return _createTester((bool2) => bool2, (res, item) => item)(eachOf$1, coll, iteratee, callback); } - /** - * Set legal hold on the blob. - * - * @param options - Optional options to set legal hold on the blob. - */ - async setLegalHold(legalHoldEnabled, options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobClient-setLegalHold", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.blobContext.setLegalHold(legalHoldEnabled, { - tracingOptions: updatedOptions.tracingOptions - })); - }); + var detect$1 = awaitify(detect, 3); + function detectLimit(coll, limit, iteratee, callback) { + return _createTester((bool2) => bool2, (res, item) => item)(eachOfLimit$2(limit), coll, iteratee, callback); } - /** - * The Get Account Information operation returns the sku name and account kind - * for the specified account. - * The Get Account Information operation is available on service versions beginning - * with version 2018-03-28. - * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information - * - * @param options - Options to the Service Get Account Info operation. - * @returns Response data for the Service Get Account Info operation. - */ - async getAccountInfo(options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobClient-getAccountInfo", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.blobContext.getAccountInfo({ - abortSignal: options.abortSignal, - tracingOptions: updatedOptions.tracingOptions - })); - }); + var detectLimit$1 = awaitify(detectLimit, 4); + function detectSeries(coll, iteratee, callback) { + return _createTester((bool2) => bool2, (res, item) => item)(eachOfLimit$2(1), coll, iteratee, callback); } - }; - exports2.BlobClient = BlobClient; - var AppendBlobClient = class _AppendBlobClient extends BlobClient { - /** - * appendBlobsContext provided by protocol layer. - */ - appendBlobContext; - constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) { - let pipeline; - let url; - options = options || {}; - if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) { - url = urlOrConnectionString; - pipeline = credentialOrPipelineOrContainerName; - } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) { - url = urlOrConnectionString; - options = blobNameOrOptions; - pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options); - } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") { - url = urlOrConnectionString; - pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); - } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") { - const containerName = credentialOrPipelineOrContainerName; - const blobName = blobNameOrOptions; - const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString); - if (extractedCreds.kind === "AccountConnString") { - if (core_util_1.isNodeLike) { - const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey); - url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)); - if (!options.proxyOptions) { - options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri); + var detectSeries$1 = awaitify(detectSeries, 3); + function consoleFunc(name) { + return (fn, ...args) => wrapAsync(fn)(...args, (err, ...resultArgs) => { + if (typeof console === "object") { + if (err) { + if (console.error) { + console.error(err); } - pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options); - } else { - throw new Error("Account connection string is only supported in Node.js environment"); + } else if (console[name]) { + resultArgs.forEach((x) => console[name](x)); } - } else if (extractedCreds.kind === "SASConnString") { - url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas; - pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); - } else { - throw new Error("Connection string must be either an Account connection string or a SAS connection string"); } - } else { - throw new Error("Expecting non-empty strings for containerName and blobName parameters"); + }); + } + var dir = consoleFunc("dir"); + function doWhilst(iteratee, test, callback) { + callback = onlyOnce(callback); + var _fn = wrapAsync(iteratee); + var _test = wrapAsync(test); + var results; + function next(err, ...args) { + if (err) return callback(err); + if (err === false) return; + results = args; + _test(...args, check); } - super(url, pipeline); - this.appendBlobContext = this.storageClientContext.appendBlob; + function check(err, truth) { + if (err) return callback(err); + if (err === false) return; + if (!truth) return callback(null, ...results); + _fn(next); + } + return check(null, true); } - /** - * Creates a new AppendBlobClient object identical to the source but with the - * specified snapshot timestamp. - * Provide "" will remove the snapshot and return a Client to the base blob. - * - * @param snapshot - The snapshot timestamp. - * @returns A new AppendBlobClient object identical to the source but with the specified snapshot timestamp. - */ - withSnapshot(snapshot) { - return new _AppendBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline); + var doWhilst$1 = awaitify(doWhilst, 3); + function doUntil(iteratee, test, callback) { + const _test = wrapAsync(test); + return doWhilst$1(iteratee, (...args) => { + const cb = args.pop(); + _test(...args, (err, truth) => cb(err, !truth)); + }, callback); } - /** - * Creates a 0-length append blob. Call AppendBlock to append data to an append blob. - * @see https://learn.microsoft.com/rest/api/storageservices/put-blob - * - * @param options - Options to the Append Block Create operation. - * - * - * Example usage: - * - * ```ts snippet:ClientsCreateAppendBlob - * import { BlobServiceClient } from "@azure/storage-blob"; - * import { DefaultAzureCredential } from "@azure/identity"; - * - * const account = ""; - * const blobServiceClient = new BlobServiceClient( - * `https://${account}.blob.core.windows.net`, - * new DefaultAzureCredential(), - * ); - * - * const containerName = ""; - * const blobName = ""; - * const containerClient = blobServiceClient.getContainerClient(containerName); - * - * const appendBlobClient = containerClient.getAppendBlobClient(blobName); - * await appendBlobClient.create(); - * ``` - */ - async create(options = {}) { - options.conditions = options.conditions || {}; - (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); - return tracing_js_1.tracingClient.withSpan("AppendBlobClient-create", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.create(0, { - abortSignal: options.abortSignal, - blobHttpHeaders: options.blobHTTPHeaders, - leaseAccessConditions: options.conditions, - metadata: options.metadata, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - cpkInfo: options.customerProvidedKey, - encryptionScope: options.encryptionScope, - immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn, - immutabilityPolicyMode: options.immutabilityPolicy?.policyMode, - legalHold: options.legalHold, - blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags), - tracingOptions: updatedOptions.tracingOptions - })); - }); + function _withoutIndex(iteratee) { + return (value, index2, callback) => iteratee(value, callback); } - /** - * Creates a 0-length append blob. Call AppendBlock to append data to an append blob. - * If the blob with the same name already exists, the content of the existing blob will remain unchanged. - * @see https://learn.microsoft.com/rest/api/storageservices/put-blob - * - * @param options - - */ - async createIfNotExists(options = {}) { - const conditions = { ifNoneMatch: constants_js_1.ETagAny }; - return tracing_js_1.tracingClient.withSpan("AppendBlobClient-createIfNotExists", options, async (updatedOptions) => { - try { - const res = (0, utils_common_js_1.assertResponse)(await this.create({ - ...updatedOptions, - conditions - })); - return { - succeeded: true, - ...res, - _response: res._response - // _response is made non-enumerable - }; - } catch (e) { - if (e.details?.errorCode === "BlobAlreadyExists") { - return { - succeeded: false, - ...e.response?.parsedHeaders, - _response: e.response - }; + function eachLimit$2(coll, iteratee, callback) { + return eachOf$1(coll, _withoutIndex(wrapAsync(iteratee)), callback); + } + var each = awaitify(eachLimit$2, 3); + function eachLimit(coll, limit, iteratee, callback) { + return eachOfLimit$2(limit)(coll, _withoutIndex(wrapAsync(iteratee)), callback); + } + var eachLimit$1 = awaitify(eachLimit, 4); + function eachSeries(coll, iteratee, callback) { + return eachLimit$1(coll, 1, iteratee, callback); + } + var eachSeries$1 = awaitify(eachSeries, 3); + function ensureAsync(fn) { + if (isAsync(fn)) return fn; + return function(...args) { + var callback = args.pop(); + var sync = true; + args.push((...innerArgs) => { + if (sync) { + setImmediate$1(() => callback(...innerArgs)); + } else { + callback(...innerArgs); } - throw e; + }); + fn.apply(this, args); + sync = false; + }; + } + function every(coll, iteratee, callback) { + return _createTester((bool2) => !bool2, (res) => !res)(eachOf$1, coll, iteratee, callback); + } + var every$1 = awaitify(every, 3); + function everyLimit(coll, limit, iteratee, callback) { + return _createTester((bool2) => !bool2, (res) => !res)(eachOfLimit$2(limit), coll, iteratee, callback); + } + var everyLimit$1 = awaitify(everyLimit, 4); + function everySeries(coll, iteratee, callback) { + return _createTester((bool2) => !bool2, (res) => !res)(eachOfSeries$1, coll, iteratee, callback); + } + var everySeries$1 = awaitify(everySeries, 3); + function filterArray(eachfn, arr, iteratee, callback) { + var truthValues = new Array(arr.length); + eachfn(arr, (x, index2, iterCb) => { + iteratee(x, (err, v) => { + truthValues[index2] = !!v; + iterCb(err); + }); + }, (err) => { + if (err) return callback(err); + var results = []; + for (var i = 0; i < arr.length; i++) { + if (truthValues[i]) results.push(arr[i]); } + callback(null, results); }); } - /** - * Seals the append blob, making it read only. - * - * @param options - - */ - async seal(options = {}) { - options.conditions = options.conditions || {}; - return tracing_js_1.tracingClient.withSpan("AppendBlobClient-seal", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.seal({ - abortSignal: options.abortSignal, - appendPositionAccessConditions: options.conditions, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - tracingOptions: updatedOptions.tracingOptions - })); + function filterGeneric(eachfn, coll, iteratee, callback) { + var results = []; + eachfn(coll, (x, index2, iterCb) => { + iteratee(x, (err, v) => { + if (err) return iterCb(err); + if (v) { + results.push({ index: index2, value: x }); + } + iterCb(err); + }); + }, (err) => { + if (err) return callback(err); + callback(null, results.sort((a, b) => a.index - b.index).map((v) => v.value)); }); } - /** - * Commits a new block of data to the end of the existing append blob. - * @see https://learn.microsoft.com/rest/api/storageservices/append-block - * - * @param body - Data to be appended. - * @param contentLength - Length of the body in bytes. - * @param options - Options to the Append Block operation. - * - * - * Example usage: - * - * ```ts snippet:ClientsAppendBlock - * import { BlobServiceClient } from "@azure/storage-blob"; - * import { DefaultAzureCredential } from "@azure/identity"; - * - * const account = ""; - * const blobServiceClient = new BlobServiceClient( - * `https://${account}.blob.core.windows.net`, - * new DefaultAzureCredential(), - * ); - * - * const containerName = ""; - * const blobName = ""; - * const containerClient = blobServiceClient.getContainerClient(containerName); - * - * const content = "Hello World!"; - * - * // Create a new append blob and append data to the blob. - * const newAppendBlobClient = containerClient.getAppendBlobClient(blobName); - * await newAppendBlobClient.create(); - * await newAppendBlobClient.appendBlock(content, content.length); - * - * // Append data to an existing append blob. - * const existingAppendBlobClient = containerClient.getAppendBlobClient(blobName); - * await existingAppendBlobClient.appendBlock(content, content.length); - * ``` - */ - async appendBlock(body, contentLength, options = {}) { - options.conditions = options.conditions || {}; - (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); - return tracing_js_1.tracingClient.withSpan("AppendBlobClient-appendBlock", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.appendBlock(contentLength, body, { - abortSignal: options.abortSignal, - appendPositionAccessConditions: options.conditions, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - requestOptions: { - onUploadProgress: options.onProgress - }, - transactionalContentMD5: options.transactionalContentMD5, - transactionalContentCrc64: options.transactionalContentCrc64, - cpkInfo: options.customerProvidedKey, - encryptionScope: options.encryptionScope, - tracingOptions: updatedOptions.tracingOptions - })); + function _filter(eachfn, coll, iteratee, callback) { + var filter2 = isArrayLike(coll) ? filterArray : filterGeneric; + return filter2(eachfn, coll, wrapAsync(iteratee), callback); + } + function filter(coll, iteratee, callback) { + return _filter(eachOf$1, coll, iteratee, callback); + } + var filter$1 = awaitify(filter, 3); + function filterLimit(coll, limit, iteratee, callback) { + return _filter(eachOfLimit$2(limit), coll, iteratee, callback); + } + var filterLimit$1 = awaitify(filterLimit, 4); + function filterSeries(coll, iteratee, callback) { + return _filter(eachOfSeries$1, coll, iteratee, callback); + } + var filterSeries$1 = awaitify(filterSeries, 3); + function forever(fn, errback) { + var done = onlyOnce(errback); + var task = wrapAsync(ensureAsync(fn)); + function next(err) { + if (err) return done(err); + if (err === false) return; + task(next); + } + return next(); + } + var forever$1 = awaitify(forever, 2); + function groupByLimit(coll, limit, iteratee, callback) { + var _iteratee = wrapAsync(iteratee); + return mapLimit$1(coll, limit, (val, iterCb) => { + _iteratee(val, (err, key) => { + if (err) return iterCb(err); + return iterCb(err, { key, val }); + }); + }, (err, mapResults) => { + var result = {}; + var { hasOwnProperty } = Object.prototype; + for (var i = 0; i < mapResults.length; i++) { + if (mapResults[i]) { + var { key } = mapResults[i]; + var { val } = mapResults[i]; + if (hasOwnProperty.call(result, key)) { + result[key].push(val); + } else { + result[key] = [val]; + } + } + } + return callback(err, result); }); } - /** - * The Append Block operation commits a new block of data to the end of an existing append blob - * where the contents are read from a source url. - * @see https://learn.microsoft.com/rest/api/storageservices/append-block-from-url - * - * @param sourceURL - - * The url to the blob that will be the source of the copy. A source blob in the same storage account can - * be authenticated via Shared Key. However, if the source is a blob in another account, the source blob - * must either be public or must be authenticated via a shared access signature. If the source blob is - * public, no authentication is required to perform the operation. - * @param sourceOffset - Offset in source to be appended - * @param count - Number of bytes to be appended as a block - * @param options - - */ - async appendBlockFromURL(sourceURL, sourceOffset, count, options = {}) { - options.conditions = options.conditions || {}; - options.sourceConditions = options.sourceConditions || {}; - (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); - return tracing_js_1.tracingClient.withSpan("AppendBlobClient-appendBlockFromURL", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.appendBlockFromUrl(sourceURL, 0, { - abortSignal: options.abortSignal, - sourceRange: (0, Range_js_1.rangeToString)({ offset: sourceOffset, count }), - sourceContentMD5: options.sourceContentMD5, - sourceContentCrc64: options.sourceContentCrc64, - leaseAccessConditions: options.conditions, - appendPositionAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - sourceModifiedAccessConditions: { - sourceIfMatch: options.sourceConditions?.ifMatch, - sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince, - sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch, - sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince - }, - copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization), - cpkInfo: options.customerProvidedKey, - encryptionScope: options.encryptionScope, - fileRequestIntent: options.sourceShareTokenIntent, - tracingOptions: updatedOptions.tracingOptions - })); + var groupByLimit$1 = awaitify(groupByLimit, 4); + function groupBy(coll, iteratee, callback) { + return groupByLimit$1(coll, Infinity, iteratee, callback); + } + function groupBySeries(coll, iteratee, callback) { + return groupByLimit$1(coll, 1, iteratee, callback); + } + var log = consoleFunc("log"); + function mapValuesLimit(obj, limit, iteratee, callback) { + callback = once(callback); + var newObj = {}; + var _iteratee = wrapAsync(iteratee); + return eachOfLimit$2(limit)(obj, (val, key, next) => { + _iteratee(val, key, (err, result) => { + if (err) return next(err); + newObj[key] = result; + next(err); + }); + }, (err) => callback(err, newObj)); + } + var mapValuesLimit$1 = awaitify(mapValuesLimit, 4); + function mapValues(obj, iteratee, callback) { + return mapValuesLimit$1(obj, Infinity, iteratee, callback); + } + function mapValuesSeries(obj, iteratee, callback) { + return mapValuesLimit$1(obj, 1, iteratee, callback); + } + function memoize(fn, hasher = (v) => v) { + var memo = /* @__PURE__ */ Object.create(null); + var queues = /* @__PURE__ */ Object.create(null); + var _fn = wrapAsync(fn); + var memoized = initialParams((args, callback) => { + var key = hasher(...args); + if (key in memo) { + setImmediate$1(() => callback(null, ...memo[key])); + } else if (key in queues) { + queues[key].push(callback); + } else { + queues[key] = [callback]; + _fn(...args, (err, ...resultArgs) => { + if (!err) { + memo[key] = resultArgs; + } + var q = queues[key]; + delete queues[key]; + for (var i = 0, l = q.length; i < l; i++) { + q[i](err, ...resultArgs); + } + }); + } }); + memoized.memo = memo; + memoized.unmemoized = fn; + return memoized; } - }; - exports2.AppendBlobClient = AppendBlobClient; - var BlockBlobClient = class _BlockBlobClient extends BlobClient { - /** - * blobContext provided by protocol layer. - * - * Note. Ideally BlobClient should set BlobClient.blobContext to protected. However, API - * extractor has issue blocking that. Here we redecelare _blobContext in BlockBlobClient. - */ - _blobContext; - /** - * blockBlobContext provided by protocol layer. - */ - blockBlobContext; - constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) { - let pipeline; - let url; - options = options || {}; - if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) { - url = urlOrConnectionString; - pipeline = credentialOrPipelineOrContainerName; - } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) { - url = urlOrConnectionString; - options = blobNameOrOptions; - pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options); - } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") { - url = urlOrConnectionString; - if (blobNameOrOptions && typeof blobNameOrOptions !== "string") { - options = blobNameOrOptions; + var _defer; + if (hasNextTick) { + _defer = process.nextTick; + } else if (hasSetImmediate) { + _defer = setImmediate; + } else { + _defer = fallback; + } + var nextTick = wrap(_defer); + var _parallel = awaitify((eachfn, tasks, callback) => { + var results = isArrayLike(tasks) ? [] : {}; + eachfn(tasks, (task, key, taskCb) => { + wrapAsync(task)((err, ...result) => { + if (result.length < 2) { + [result] = result; + } + results[key] = result; + taskCb(err); + }); + }, (err) => callback(err, results)); + }, 3); + function parallel(tasks, callback) { + return _parallel(eachOf$1, tasks, callback); + } + function parallelLimit(tasks, limit, callback) { + return _parallel(eachOfLimit$2(limit), tasks, callback); + } + function queue(worker, concurrency) { + var _worker = wrapAsync(worker); + return queue$1((items, cb) => { + _worker(items[0], cb); + }, concurrency, 1); + } + class Heap { + constructor() { + this.heap = []; + this.pushCount = Number.MIN_SAFE_INTEGER; + } + get length() { + return this.heap.length; + } + empty() { + this.heap = []; + return this; + } + percUp(index2) { + let p; + while (index2 > 0 && smaller(this.heap[index2], this.heap[p = parent(index2)])) { + let t = this.heap[index2]; + this.heap[index2] = this.heap[p]; + this.heap[p] = t; + index2 = p; } - pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); - } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") { - const containerName = credentialOrPipelineOrContainerName; - const blobName = blobNameOrOptions; - const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString); - if (extractedCreds.kind === "AccountConnString") { - if (core_util_1.isNodeLike) { - const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey); - url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)); - if (!options.proxyOptions) { - options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri); + } + percDown(index2) { + let l; + while ((l = leftChi(index2)) < this.heap.length) { + if (l + 1 < this.heap.length && smaller(this.heap[l + 1], this.heap[l])) { + l = l + 1; + } + if (smaller(this.heap[index2], this.heap[l])) { + break; + } + let t = this.heap[index2]; + this.heap[index2] = this.heap[l]; + this.heap[l] = t; + index2 = l; + } + } + push(node) { + node.pushCount = ++this.pushCount; + this.heap.push(node); + this.percUp(this.heap.length - 1); + } + unshift(node) { + return this.heap.push(node); + } + shift() { + let [top] = this.heap; + this.heap[0] = this.heap[this.heap.length - 1]; + this.heap.pop(); + this.percDown(0); + return top; + } + toArray() { + return [...this]; + } + *[Symbol.iterator]() { + for (let i = 0; i < this.heap.length; i++) { + yield this.heap[i].data; + } + } + remove(testFn) { + let j = 0; + for (let i = 0; i < this.heap.length; i++) { + if (!testFn(this.heap[i])) { + this.heap[j] = this.heap[i]; + j++; + } + } + this.heap.splice(j); + for (let i = parent(this.heap.length - 1); i >= 0; i--) { + this.percDown(i); + } + return this; + } + } + function leftChi(i) { + return (i << 1) + 1; + } + function parent(i) { + return (i + 1 >> 1) - 1; + } + function smaller(x, y) { + if (x.priority !== y.priority) { + return x.priority < y.priority; + } else { + return x.pushCount < y.pushCount; + } + } + function priorityQueue(worker, concurrency) { + var q = queue(worker, concurrency); + var { + push, + pushAsync + } = q; + q._tasks = new Heap(); + q._createTaskItem = ({ data, priority }, callback) => { + return { + data, + priority, + callback + }; + }; + function createDataItems(tasks, priority) { + if (!Array.isArray(tasks)) { + return { data: tasks, priority }; + } + return tasks.map((data) => { + return { data, priority }; + }); + } + q.push = function(data, priority = 0, callback) { + return push(createDataItems(data, priority), callback); + }; + q.pushAsync = function(data, priority = 0, callback) { + return pushAsync(createDataItems(data, priority), callback); + }; + delete q.unshift; + delete q.unshiftAsync; + return q; + } + function race(tasks, callback) { + callback = once(callback); + if (!Array.isArray(tasks)) return callback(new TypeError("First argument to race must be an array of functions")); + if (!tasks.length) return callback(); + for (var i = 0, l = tasks.length; i < l; i++) { + wrapAsync(tasks[i])(callback); + } + } + var race$1 = awaitify(race, 2); + function reduceRight(array, memo, iteratee, callback) { + var reversed = [...array].reverse(); + return reduce$1(reversed, memo, iteratee, callback); + } + function reflect(fn) { + var _fn = wrapAsync(fn); + return initialParams(function reflectOn(args, reflectCallback) { + args.push((error3, ...cbArgs) => { + let retVal = {}; + if (error3) { + retVal.error = error3; + } + if (cbArgs.length > 0) { + var value = cbArgs; + if (cbArgs.length <= 1) { + [value] = cbArgs; } - pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options); - } else { - throw new Error("Account connection string is only supported in Node.js environment"); + retVal.value = value; } - } else if (extractedCreds.kind === "SASConnString") { - url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas; - pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); - } else { - throw new Error("Connection string must be either an Account connection string or a SAS connection string"); - } + reflectCallback(null, retVal); + }); + return _fn.apply(this, args); + }); + } + function reflectAll(tasks) { + var results; + if (Array.isArray(tasks)) { + results = tasks.map(reflect); } else { - throw new Error("Expecting non-empty strings for containerName and blobName parameters"); + results = {}; + Object.keys(tasks).forEach((key) => { + results[key] = reflect.call(this, tasks[key]); + }); } - super(url, pipeline); - this.blockBlobContext = this.storageClientContext.blockBlob; - this._blobContext = this.storageClientContext.blob; + return results; } - /** - * Creates a new BlockBlobClient object identical to the source but with the - * specified snapshot timestamp. - * Provide "" will remove the snapshot and return a URL to the base blob. - * - * @param snapshot - The snapshot timestamp. - * @returns A new BlockBlobClient object identical to the source but with the specified snapshot timestamp. - */ - withSnapshot(snapshot) { - return new _BlockBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline); + function reject$2(eachfn, arr, _iteratee, callback) { + const iteratee = wrapAsync(_iteratee); + return _filter(eachfn, arr, (value, cb) => { + iteratee(value, (err, v) => { + cb(err, !v); + }); + }, callback); } - /** - * ONLY AVAILABLE IN NODE.JS RUNTIME. - * - * Quick query for a JSON or CSV formatted blob. - * - * Example usage (Node.js): - * - * ```ts snippet:ClientsQuery - * import { BlobServiceClient } from "@azure/storage-blob"; - * import { DefaultAzureCredential } from "@azure/identity"; - * - * const account = ""; - * const blobServiceClient = new BlobServiceClient( - * `https://${account}.blob.core.windows.net`, - * new DefaultAzureCredential(), - * ); - * - * const containerName = ""; - * const blobName = ""; - * const containerClient = blobServiceClient.getContainerClient(containerName); - * const blockBlobClient = containerClient.getBlockBlobClient(blobName); - * - * // Query and convert a blob to a string - * const queryBlockBlobResponse = await blockBlobClient.query("select from BlobStorage"); - * if (queryBlockBlobResponse.readableStreamBody) { - * const downloadedBuffer = await streamToBuffer(queryBlockBlobResponse.readableStreamBody); - * const downloaded = downloadedBuffer.toString(); - * console.log(`Query blob content: ${downloaded}`); - * } - * - * async function streamToBuffer(readableStream: NodeJS.ReadableStream): Promise { - * return new Promise((resolve, reject) => { - * const chunks: Buffer[] = []; - * readableStream.on("data", (data) => { - * chunks.push(data instanceof Buffer ? data : Buffer.from(data)); - * }); - * readableStream.on("end", () => { - * resolve(Buffer.concat(chunks)); - * }); - * readableStream.on("error", reject); - * }); - * } - * ``` - * - * @param query - - * @param options - - */ - async query(query, options = {}) { - (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); - if (!core_util_1.isNodeLike) { - throw new Error("This operation currently is only supported in Node.js."); + function reject(coll, iteratee, callback) { + return reject$2(eachOf$1, coll, iteratee, callback); + } + var reject$1 = awaitify(reject, 3); + function rejectLimit(coll, limit, iteratee, callback) { + return reject$2(eachOfLimit$2(limit), coll, iteratee, callback); + } + var rejectLimit$1 = awaitify(rejectLimit, 4); + function rejectSeries(coll, iteratee, callback) { + return reject$2(eachOfSeries$1, coll, iteratee, callback); + } + var rejectSeries$1 = awaitify(rejectSeries, 3); + function constant(value) { + return function() { + return value; + }; + } + const DEFAULT_TIMES = 5; + const DEFAULT_INTERVAL = 0; + function retry2(opts, task, callback) { + var options = { + times: DEFAULT_TIMES, + intervalFunc: constant(DEFAULT_INTERVAL) + }; + if (arguments.length < 3 && typeof opts === "function") { + callback = task || promiseCallback(); + task = opts; + } else { + parseTimes(options, opts); + callback = callback || promiseCallback(); } - return tracing_js_1.tracingClient.withSpan("BlockBlobClient-query", options, async (updatedOptions) => { - const response = (0, utils_common_js_1.assertResponse)(await this._blobContext.query({ - abortSignal: options.abortSignal, - queryRequest: { - queryType: "SQL", - expression: query, - inputSerialization: (0, utils_common_js_1.toQuerySerialization)(options.inputTextConfiguration), - outputSerialization: (0, utils_common_js_1.toQuerySerialization)(options.outputTextConfiguration) - }, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - cpkInfo: options.customerProvidedKey, - tracingOptions: updatedOptions.tracingOptions - })); - return new BlobQueryResponse_js_1.BlobQueryResponse(response, { - abortSignal: options.abortSignal, - onProgress: options.onProgress, - onError: options.onError + if (typeof task !== "function") { + throw new Error("Invalid arguments for async.retry"); + } + var _task = wrapAsync(task); + var attempt = 1; + function retryAttempt() { + _task((err, ...args) => { + if (err === false) return; + if (err && attempt++ < options.times && (typeof options.errorFilter != "function" || options.errorFilter(err))) { + setTimeout(retryAttempt, options.intervalFunc(attempt - 1)); + } else { + callback(err, ...args); + } }); - }); + } + retryAttempt(); + return callback[PROMISE_SYMBOL]; } - /** - * Creates a new block blob, or updates the content of an existing block blob. - * Updating an existing block blob overwrites any existing metadata on the blob. - * Partial updates are not supported; the content of the existing blob is - * overwritten with the new content. To perform a partial update of a block blob's, - * use {@link stageBlock} and {@link commitBlockList}. - * - * This is a non-parallel uploading method, please use {@link uploadFile}, - * {@link uploadStream} or {@link uploadBrowserData} for better performance - * with concurrency uploading. - * - * @see https://learn.microsoft.com/rest/api/storageservices/put-blob - * - * @param body - Blob, string, ArrayBuffer, ArrayBufferView or a function - * which returns a new Readable stream whose offset is from data source beginning. - * @param contentLength - Length of body in bytes. Use Buffer.byteLength() to calculate body length for a - * string including non non-Base64/Hex-encoded characters. - * @param options - Options to the Block Blob Upload operation. - * @returns Response data for the Block Blob Upload operation. - * - * Example usage: - * - * ```ts snippet:ClientsUpload - * import { BlobServiceClient } from "@azure/storage-blob"; - * import { DefaultAzureCredential } from "@azure/identity"; - * - * const account = ""; - * const blobServiceClient = new BlobServiceClient( - * `https://${account}.blob.core.windows.net`, - * new DefaultAzureCredential(), - * ); - * - * const containerName = ""; - * const blobName = ""; - * const containerClient = blobServiceClient.getContainerClient(containerName); - * const blockBlobClient = containerClient.getBlockBlobClient(blobName); - * - * const content = "Hello world!"; - * const uploadBlobResponse = await blockBlobClient.upload(content, content.length); - * ``` - */ - async upload(body, contentLength, options = {}) { - options.conditions = options.conditions || {}; - (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); - return tracing_js_1.tracingClient.withSpan("BlockBlobClient-upload", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.upload(contentLength, body, { - abortSignal: options.abortSignal, - blobHttpHeaders: options.blobHTTPHeaders, - leaseAccessConditions: options.conditions, - metadata: options.metadata, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - requestOptions: { - onUploadProgress: options.onProgress - }, - cpkInfo: options.customerProvidedKey, - encryptionScope: options.encryptionScope, - immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn, - immutabilityPolicyMode: options.immutabilityPolicy?.policyMode, - legalHold: options.legalHold, - tier: (0, models_js_1.toAccessTier)(options.tier), - blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags), - tracingOptions: updatedOptions.tracingOptions - })); - }); + function parseTimes(acc, t) { + if (typeof t === "object") { + acc.times = +t.times || DEFAULT_TIMES; + acc.intervalFunc = typeof t.interval === "function" ? t.interval : constant(+t.interval || DEFAULT_INTERVAL); + acc.errorFilter = t.errorFilter; + } else if (typeof t === "number" || typeof t === "string") { + acc.times = +t || DEFAULT_TIMES; + } else { + throw new Error("Invalid arguments for async.retry"); + } } - /** - * Creates a new Block Blob where the contents of the blob are read from a given URL. - * This API is supported beginning with the 2020-04-08 version. Partial updates - * are not supported with Put Blob from URL; the content of an existing blob is overwritten with - * the content of the new blob. To perform partial updates to a block blob’s contents using a - * source URL, use {@link stageBlockFromURL} and {@link commitBlockList}. - * - * @param sourceURL - Specifies the URL of the blob. The value - * may be a URL of up to 2 KB in length that specifies a blob. - * The value should be URL-encoded as it would appear - * in a request URI. The source blob must either be public - * or must be authenticated via a shared access signature. - * If the source blob is public, no authentication is required - * to perform the operation. Here are some examples of source object URLs: - * - https://myaccount.blob.core.windows.net/mycontainer/myblob - * - https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot= - * @param options - Optional parameters. - */ - async syncUploadFromURL(sourceURL, options = {}) { - options.conditions = options.conditions || {}; - (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); - return tracing_js_1.tracingClient.withSpan("BlockBlobClient-syncUploadFromURL", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.putBlobFromUrl(0, sourceURL, { - ...options, - blobHttpHeaders: options.blobHTTPHeaders, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - sourceModifiedAccessConditions: { - sourceIfMatch: options.sourceConditions?.ifMatch, - sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince, - sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch, - sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince, - sourceIfTags: options.sourceConditions?.tagConditions - }, - cpkInfo: options.customerProvidedKey, - copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization), - tier: (0, models_js_1.toAccessTier)(options.tier), - blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags), - copySourceTags: options.copySourceTags, - fileRequestIntent: options.sourceShareTokenIntent, - tracingOptions: updatedOptions.tracingOptions - })); + function retryable(opts, task) { + if (!task) { + task = opts; + opts = null; + } + let arity = opts && opts.arity || task.length; + if (isAsync(task)) { + arity += 1; + } + var _task = wrapAsync(task); + return initialParams((args, callback) => { + if (args.length < arity - 1 || callback == null) { + args.push(callback); + callback = promiseCallback(); + } + function taskFn(cb) { + _task(...args, cb); + } + if (opts) retry2(opts, taskFn, callback); + else retry2(taskFn, callback); + return callback[PROMISE_SYMBOL]; }); } - /** - * Uploads the specified block to the block blob's "staging area" to be later - * committed by a call to commitBlockList. - * @see https://learn.microsoft.com/rest/api/storageservices/put-block - * - * @param blockId - A 64-byte value that is base64-encoded - * @param body - Data to upload to the staging area. - * @param contentLength - Number of bytes to upload. - * @param options - Options to the Block Blob Stage Block operation. - * @returns Response data for the Block Blob Stage Block operation. - */ - async stageBlock(blockId, body, contentLength, options = {}) { - (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); - return tracing_js_1.tracingClient.withSpan("BlockBlobClient-stageBlock", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.stageBlock(blockId, contentLength, body, { - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - requestOptions: { - onUploadProgress: options.onProgress - }, - transactionalContentMD5: options.transactionalContentMD5, - transactionalContentCrc64: options.transactionalContentCrc64, - cpkInfo: options.customerProvidedKey, - encryptionScope: options.encryptionScope, - tracingOptions: updatedOptions.tracingOptions - })); - }); + function series(tasks, callback) { + return _parallel(eachOfSeries$1, tasks, callback); } - /** - * The Stage Block From URL operation creates a new block to be committed as part - * of a blob where the contents are read from a URL. - * This API is available starting in version 2018-03-28. - * @see https://learn.microsoft.com/rest/api/storageservices/put-block-from-url - * - * @param blockId - A 64-byte value that is base64-encoded - * @param sourceURL - Specifies the URL of the blob. The value - * may be a URL of up to 2 KB in length that specifies a blob. - * The value should be URL-encoded as it would appear - * in a request URI. The source blob must either be public - * or must be authenticated via a shared access signature. - * If the source blob is public, no authentication is required - * to perform the operation. Here are some examples of source object URLs: - * - https://myaccount.blob.core.windows.net/mycontainer/myblob - * - https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot= - * @param offset - From which position of the blob to download, greater than or equal to 0 - * @param count - How much data to be downloaded, greater than 0. Will download to the end when undefined - * @param options - Options to the Block Blob Stage Block From URL operation. - * @returns Response data for the Block Blob Stage Block From URL operation. - */ - async stageBlockFromURL(blockId, sourceURL, offset = 0, count, options = {}) { - (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); - return tracing_js_1.tracingClient.withSpan("BlockBlobClient-stageBlockFromURL", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.stageBlockFromURL(blockId, 0, sourceURL, { - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - sourceContentMD5: options.sourceContentMD5, - sourceContentCrc64: options.sourceContentCrc64, - sourceRange: offset === 0 && !count ? void 0 : (0, Range_js_1.rangeToString)({ offset, count }), - cpkInfo: options.customerProvidedKey, - encryptionScope: options.encryptionScope, - copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization), - fileRequestIntent: options.sourceShareTokenIntent, - tracingOptions: updatedOptions.tracingOptions - })); - }); + function some(coll, iteratee, callback) { + return _createTester(Boolean, (res) => res)(eachOf$1, coll, iteratee, callback); } - /** - * Writes a blob by specifying the list of block IDs that make up the blob. - * In order to be written as part of a blob, a block must have been successfully written - * to the server in a prior {@link stageBlock} operation. You can call {@link commitBlockList} to - * update a blob by uploading only those blocks that have changed, then committing the new and existing - * blocks together. Any blocks not specified in the block list and permanently deleted. - * @see https://learn.microsoft.com/rest/api/storageservices/put-block-list - * - * @param blocks - Array of 64-byte value that is base64-encoded - * @param options - Options to the Block Blob Commit Block List operation. - * @returns Response data for the Block Blob Commit Block List operation. - */ - async commitBlockList(blocks, options = {}) { - options.conditions = options.conditions || {}; - (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); - return tracing_js_1.tracingClient.withSpan("BlockBlobClient-commitBlockList", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.commitBlockList({ latest: blocks }, { - abortSignal: options.abortSignal, - blobHttpHeaders: options.blobHTTPHeaders, - leaseAccessConditions: options.conditions, - metadata: options.metadata, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - cpkInfo: options.customerProvidedKey, - encryptionScope: options.encryptionScope, - immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn, - immutabilityPolicyMode: options.immutabilityPolicy?.policyMode, - legalHold: options.legalHold, - tier: (0, models_js_1.toAccessTier)(options.tier), - blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags), - tracingOptions: updatedOptions.tracingOptions - })); - }); + var some$1 = awaitify(some, 3); + function someLimit(coll, limit, iteratee, callback) { + return _createTester(Boolean, (res) => res)(eachOfLimit$2(limit), coll, iteratee, callback); } - /** - * Returns the list of blocks that have been uploaded as part of a block blob - * using the specified block list filter. - * @see https://learn.microsoft.com/rest/api/storageservices/get-block-list - * - * @param listType - Specifies whether to return the list of committed blocks, - * the list of uncommitted blocks, or both lists together. - * @param options - Options to the Block Blob Get Block List operation. - * @returns Response data for the Block Blob Get Block List operation. - */ - async getBlockList(listType, options = {}) { - return tracing_js_1.tracingClient.withSpan("BlockBlobClient-getBlockList", options, async (updatedOptions) => { - const res = (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.getBlockList(listType, { - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - tracingOptions: updatedOptions.tracingOptions - })); - if (!res.committedBlocks) { - res.committedBlocks = []; - } - if (!res.uncommittedBlocks) { - res.uncommittedBlocks = []; - } - return res; + var someLimit$1 = awaitify(someLimit, 4); + function someSeries(coll, iteratee, callback) { + return _createTester(Boolean, (res) => res)(eachOfSeries$1, coll, iteratee, callback); + } + var someSeries$1 = awaitify(someSeries, 3); + function sortBy(coll, iteratee, callback) { + var _iteratee = wrapAsync(iteratee); + return map$1(coll, (x, iterCb) => { + _iteratee(x, (err, criteria) => { + if (err) return iterCb(err); + iterCb(err, { value: x, criteria }); + }); + }, (err, results) => { + if (err) return callback(err); + callback(null, results.sort(comparator).map((v) => v.value)); }); + function comparator(left, right) { + var a = left.criteria, b = right.criteria; + return a < b ? -1 : a > b ? 1 : 0; + } } - // High level functions - /** - * Uploads a Buffer(Node.js)/Blob(browsers)/ArrayBuffer/ArrayBufferView object to a BlockBlob. - * - * When data length is no more than the specifiled {@link BlockBlobParallelUploadOptions.maxSingleShotSize} (default is - * {@link BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}), this method will use 1 {@link upload} call to finish the upload. - * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call {@link commitBlockList} - * to commit the block list. - * - * A common {@link BlockBlobParallelUploadOptions.blobHTTPHeaders} option to set is - * `blobContentType`, enabling the browser to provide - * functionality based on file type. - * - * @param data - Buffer(Node.js), Blob, ArrayBuffer or ArrayBufferView - * @param options - - */ - async uploadData(data, options = {}) { - return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadData", options, async (updatedOptions) => { - if (core_util_1.isNodeLike) { - let buffer; - if (data instanceof Buffer) { - buffer = data; - } else if (data instanceof ArrayBuffer) { - buffer = Buffer.from(data); - } else { - data = data; - buffer = Buffer.from(data.buffer, data.byteOffset, data.byteLength); + var sortBy$1 = awaitify(sortBy, 3); + function timeout(asyncFn, milliseconds, info7) { + var fn = wrapAsync(asyncFn); + return initialParams((args, callback) => { + var timedOut = false; + var timer; + function timeoutCallback() { + var name = asyncFn.name || "anonymous"; + var error3 = new Error('Callback function "' + name + '" timed out.'); + error3.code = "ETIMEDOUT"; + if (info7) { + error3.info = info7; } - return this.uploadSeekableInternal((offset, size) => buffer.slice(offset, offset + size), buffer.byteLength, updatedOptions); - } else { - const browserBlob = new Blob([data]); - return this.uploadSeekableInternal((offset, size) => browserBlob.slice(offset, offset + size), browserBlob.size, updatedOptions); + timedOut = true; + callback(error3); } + args.push((...cbArgs) => { + if (!timedOut) { + callback(...cbArgs); + clearTimeout(timer); + } + }); + timer = setTimeout(timeoutCallback, milliseconds); + fn(...args); }); } - /** - * ONLY AVAILABLE IN BROWSERS. - * - * Uploads a browser Blob/File/ArrayBuffer/ArrayBufferView object to block blob. - * - * When buffer length lesser than or equal to 256MB, this method will use 1 upload call to finish the upload. - * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call - * {@link commitBlockList} to commit the block list. - * - * A common {@link BlockBlobParallelUploadOptions.blobHTTPHeaders} option to set is - * `blobContentType`, enabling the browser to provide - * functionality based on file type. - * - * @deprecated Use {@link uploadData} instead. - * - * @param browserData - Blob, File, ArrayBuffer or ArrayBufferView - * @param options - Options to upload browser data. - * @returns Response data for the Blob Upload operation. - */ - async uploadBrowserData(browserData, options = {}) { - return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadBrowserData", options, async (updatedOptions) => { - const browserBlob = new Blob([browserData]); - return this.uploadSeekableInternal((offset, size) => browserBlob.slice(offset, offset + size), browserBlob.size, updatedOptions); - }); - } - /** - * - * Uploads data to block blob. Requires a bodyFactory as the data source, - * which need to return a {@link HttpRequestBody} object with the offset and size provided. - * - * When data length is no more than the specified {@link BlockBlobParallelUploadOptions.maxSingleShotSize} (default is - * {@link BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}), this method will use 1 {@link upload} call to finish the upload. - * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call {@link commitBlockList} - * to commit the block list. - * - * @param bodyFactory - - * @param size - size of the data to upload. - * @param options - Options to Upload to Block Blob operation. - * @returns Response data for the Blob Upload operation. - */ - async uploadSeekableInternal(bodyFactory, size, options = {}) { - let blockSize = options.blockSize ?? 0; - if (blockSize < 0 || blockSize > constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES) { - throw new RangeError(`blockSize option must be >= 0 and <= ${constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES}`); + function range(size) { + var result = Array(size); + while (size--) { + result[size] = size; } - const maxSingleShotSize = options.maxSingleShotSize ?? constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES; - if (maxSingleShotSize < 0 || maxSingleShotSize > constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES) { - throw new RangeError(`maxSingleShotSize option must be >= 0 and <= ${constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}`); + return result; + } + function timesLimit(count, limit, iteratee, callback) { + var _iteratee = wrapAsync(iteratee); + return mapLimit$1(range(count), limit, _iteratee, callback); + } + function times(n, iteratee, callback) { + return timesLimit(n, Infinity, iteratee, callback); + } + function timesSeries(n, iteratee, callback) { + return timesLimit(n, 1, iteratee, callback); + } + function transform(coll, accumulator, iteratee, callback) { + if (arguments.length <= 3 && typeof accumulator === "function") { + callback = iteratee; + iteratee = accumulator; + accumulator = Array.isArray(coll) ? [] : {}; } - if (blockSize === 0) { - if (size > constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES * constants_js_1.BLOCK_BLOB_MAX_BLOCKS) { - throw new RangeError(`${size} is too larger to upload to a block blob.`); - } - if (size > maxSingleShotSize) { - blockSize = Math.ceil(size / constants_js_1.BLOCK_BLOB_MAX_BLOCKS); - if (blockSize < constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES) { - blockSize = constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES; + callback = once(callback || promiseCallback()); + var _iteratee = wrapAsync(iteratee); + eachOf$1(coll, (v, k, cb) => { + _iteratee(accumulator, v, k, cb); + }, (err) => callback(err, accumulator)); + return callback[PROMISE_SYMBOL]; + } + function tryEach(tasks, callback) { + var error3 = null; + var result; + return eachSeries$1(tasks, (task, taskCb) => { + wrapAsync(task)((err, ...args) => { + if (err === false) return taskCb(err); + if (args.length < 2) { + [result] = args; + } else { + result = args; } - } + error3 = err; + taskCb(err ? null : {}); + }); + }, () => callback(error3, result)); + } + var tryEach$1 = awaitify(tryEach); + function unmemoize(fn) { + return (...args) => { + return (fn.unmemoized || fn)(...args); + }; + } + function whilst(test, iteratee, callback) { + callback = onlyOnce(callback); + var _fn = wrapAsync(iteratee); + var _test = wrapAsync(test); + var results = []; + function next(err, ...rest) { + if (err) return callback(err); + results = rest; + if (err === false) return; + _test(check); } - if (!options.blobHTTPHeaders) { - options.blobHTTPHeaders = {}; + function check(err, truth) { + if (err) return callback(err); + if (err === false) return; + if (!truth) return callback(null, ...results); + _fn(next); } - if (!options.conditions) { - options.conditions = {}; + return _test(check); + } + var whilst$1 = awaitify(whilst, 3); + function until(test, iteratee, callback) { + const _test = wrapAsync(test); + return whilst$1((cb) => _test((err, truth) => cb(err, !truth)), iteratee, callback); + } + function waterfall(tasks, callback) { + callback = once(callback); + if (!Array.isArray(tasks)) return callback(new Error("First argument to waterfall must be an array of functions")); + if (!tasks.length) return callback(); + var taskIndex = 0; + function nextTask(args) { + var task = wrapAsync(tasks[taskIndex++]); + task(...args, onlyOnce(next)); } - return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadSeekableInternal", options, async (updatedOptions) => { - if (size <= maxSingleShotSize) { - return (0, utils_common_js_1.assertResponse)(await this.upload(bodyFactory(0, size), size, updatedOptions)); - } - const numBlocks = Math.floor((size - 1) / blockSize) + 1; - if (numBlocks > constants_js_1.BLOCK_BLOB_MAX_BLOCKS) { - throw new RangeError(`The buffer's size is too big or the BlockSize is too small;the number of blocks must be <= ${constants_js_1.BLOCK_BLOB_MAX_BLOCKS}`); - } - const blockList = []; - const blockIDPrefix = (0, core_util_2.randomUUID)(); - let transferProgress = 0; - const batch = new Batch_js_1.Batch(options.concurrency); - for (let i = 0; i < numBlocks; i++) { - batch.addOperation(async () => { - const blockID = (0, utils_common_js_1.generateBlockID)(blockIDPrefix, i); - const start = blockSize * i; - const end = i === numBlocks - 1 ? size : start + blockSize; - const contentLength = end - start; - blockList.push(blockID); - await this.stageBlock(blockID, bodyFactory(start, contentLength), contentLength, { - abortSignal: options.abortSignal, - conditions: options.conditions, - encryptionScope: options.encryptionScope, - tracingOptions: updatedOptions.tracingOptions - }); - transferProgress += contentLength; - if (options.onProgress) { - options.onProgress({ - loadedBytes: transferProgress - }); - } - }); + function next(err, ...args) { + if (err === false) return; + if (err || taskIndex === tasks.length) { + return callback(err, ...args); } - await batch.do(); - return this.commitBlockList(blockList, updatedOptions); - }); + nextTask(args); + } + nextTask([]); } - /** - * ONLY AVAILABLE IN NODE.JS RUNTIME. - * - * Uploads a local file in blocks to a block blob. - * - * When file size lesser than or equal to 256MB, this method will use 1 upload call to finish the upload. - * Otherwise, this method will call stageBlock to upload blocks, and finally call commitBlockList - * to commit the block list. - * - * @param filePath - Full path of local file - * @param options - Options to Upload to Block Blob operation. - * @returns Response data for the Blob Upload operation. - */ - async uploadFile(filePath, options = {}) { - return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadFile", options, async (updatedOptions) => { - const size = (await (0, utils_js_1.fsStat)(filePath)).size; - return this.uploadSeekableInternal((offset, count) => { - return () => (0, utils_js_1.fsCreateReadStream)(filePath, { - autoClose: true, - end: count ? offset + count - 1 : Infinity, - start: offset + var waterfall$1 = awaitify(waterfall); + var index = { + apply, + applyEach, + applyEachSeries, + asyncify, + auto, + autoInject, + cargo: cargo$1, + cargoQueue: cargo, + compose, + concat: concat$1, + concatLimit: concatLimit$1, + concatSeries: concatSeries$1, + constant: constant$1, + detect: detect$1, + detectLimit: detectLimit$1, + detectSeries: detectSeries$1, + dir, + doUntil, + doWhilst: doWhilst$1, + each, + eachLimit: eachLimit$1, + eachOf: eachOf$1, + eachOfLimit: eachOfLimit$1, + eachOfSeries: eachOfSeries$1, + eachSeries: eachSeries$1, + ensureAsync, + every: every$1, + everyLimit: everyLimit$1, + everySeries: everySeries$1, + filter: filter$1, + filterLimit: filterLimit$1, + filterSeries: filterSeries$1, + forever: forever$1, + groupBy, + groupByLimit: groupByLimit$1, + groupBySeries, + log, + map: map$1, + mapLimit: mapLimit$1, + mapSeries: mapSeries$1, + mapValues, + mapValuesLimit: mapValuesLimit$1, + mapValuesSeries, + memoize, + nextTick, + parallel, + parallelLimit, + priorityQueue, + queue, + race: race$1, + reduce: reduce$1, + reduceRight, + reflect, + reflectAll, + reject: reject$1, + rejectLimit: rejectLimit$1, + rejectSeries: rejectSeries$1, + retry: retry2, + retryable, + seq: seq2, + series, + setImmediate: setImmediate$1, + some: some$1, + someLimit: someLimit$1, + someSeries: someSeries$1, + sortBy: sortBy$1, + timeout, + times, + timesLimit, + timesSeries, + transform, + tryEach: tryEach$1, + unmemoize, + until, + waterfall: waterfall$1, + whilst: whilst$1, + // aliases + all: every$1, + allLimit: everyLimit$1, + allSeries: everySeries$1, + any: some$1, + anyLimit: someLimit$1, + anySeries: someSeries$1, + find: detect$1, + findLimit: detectLimit$1, + findSeries: detectSeries$1, + flatMap: concat$1, + flatMapLimit: concatLimit$1, + flatMapSeries: concatSeries$1, + forEach: each, + forEachSeries: eachSeries$1, + forEachLimit: eachLimit$1, + forEachOf: eachOf$1, + forEachOfSeries: eachOfSeries$1, + forEachOfLimit: eachOfLimit$1, + inject: reduce$1, + foldl: reduce$1, + foldr: reduceRight, + select: filter$1, + selectLimit: filterLimit$1, + selectSeries: filterSeries$1, + wrapSync: asyncify, + during: whilst$1, + doDuring: doWhilst$1 + }; + exports3.all = every$1; + exports3.allLimit = everyLimit$1; + exports3.allSeries = everySeries$1; + exports3.any = some$1; + exports3.anyLimit = someLimit$1; + exports3.anySeries = someSeries$1; + exports3.apply = apply; + exports3.applyEach = applyEach; + exports3.applyEachSeries = applyEachSeries; + exports3.asyncify = asyncify; + exports3.auto = auto; + exports3.autoInject = autoInject; + exports3.cargo = cargo$1; + exports3.cargoQueue = cargo; + exports3.compose = compose; + exports3.concat = concat$1; + exports3.concatLimit = concatLimit$1; + exports3.concatSeries = concatSeries$1; + exports3.constant = constant$1; + exports3.default = index; + exports3.detect = detect$1; + exports3.detectLimit = detectLimit$1; + exports3.detectSeries = detectSeries$1; + exports3.dir = dir; + exports3.doDuring = doWhilst$1; + exports3.doUntil = doUntil; + exports3.doWhilst = doWhilst$1; + exports3.during = whilst$1; + exports3.each = each; + exports3.eachLimit = eachLimit$1; + exports3.eachOf = eachOf$1; + exports3.eachOfLimit = eachOfLimit$1; + exports3.eachOfSeries = eachOfSeries$1; + exports3.eachSeries = eachSeries$1; + exports3.ensureAsync = ensureAsync; + exports3.every = every$1; + exports3.everyLimit = everyLimit$1; + exports3.everySeries = everySeries$1; + exports3.filter = filter$1; + exports3.filterLimit = filterLimit$1; + exports3.filterSeries = filterSeries$1; + exports3.find = detect$1; + exports3.findLimit = detectLimit$1; + exports3.findSeries = detectSeries$1; + exports3.flatMap = concat$1; + exports3.flatMapLimit = concatLimit$1; + exports3.flatMapSeries = concatSeries$1; + exports3.foldl = reduce$1; + exports3.foldr = reduceRight; + exports3.forEach = each; + exports3.forEachLimit = eachLimit$1; + exports3.forEachOf = eachOf$1; + exports3.forEachOfLimit = eachOfLimit$1; + exports3.forEachOfSeries = eachOfSeries$1; + exports3.forEachSeries = eachSeries$1; + exports3.forever = forever$1; + exports3.groupBy = groupBy; + exports3.groupByLimit = groupByLimit$1; + exports3.groupBySeries = groupBySeries; + exports3.inject = reduce$1; + exports3.log = log; + exports3.map = map$1; + exports3.mapLimit = mapLimit$1; + exports3.mapSeries = mapSeries$1; + exports3.mapValues = mapValues; + exports3.mapValuesLimit = mapValuesLimit$1; + exports3.mapValuesSeries = mapValuesSeries; + exports3.memoize = memoize; + exports3.nextTick = nextTick; + exports3.parallel = parallel; + exports3.parallelLimit = parallelLimit; + exports3.priorityQueue = priorityQueue; + exports3.queue = queue; + exports3.race = race$1; + exports3.reduce = reduce$1; + exports3.reduceRight = reduceRight; + exports3.reflect = reflect; + exports3.reflectAll = reflectAll; + exports3.reject = reject$1; + exports3.rejectLimit = rejectLimit$1; + exports3.rejectSeries = rejectSeries$1; + exports3.retry = retry2; + exports3.retryable = retryable; + exports3.select = filter$1; + exports3.selectLimit = filterLimit$1; + exports3.selectSeries = filterSeries$1; + exports3.seq = seq2; + exports3.series = series; + exports3.setImmediate = setImmediate$1; + exports3.some = some$1; + exports3.someLimit = someLimit$1; + exports3.someSeries = someSeries$1; + exports3.sortBy = sortBy$1; + exports3.timeout = timeout; + exports3.times = times; + exports3.timesLimit = timesLimit; + exports3.timesSeries = timesSeries; + exports3.transform = transform; + exports3.tryEach = tryEach$1; + exports3.unmemoize = unmemoize; + exports3.until = until; + exports3.waterfall = waterfall$1; + exports3.whilst = whilst$1; + exports3.wrapSync = asyncify; + Object.defineProperty(exports3, "__esModule", { value: true }); + })); + } +}); + +// node_modules/graceful-fs/polyfills.js +var require_polyfills = __commonJS({ + "node_modules/graceful-fs/polyfills.js"(exports2, module2) { + var constants = require("constants"); + var origCwd = process.cwd; + var cwd = null; + var platform = process.env.GRACEFUL_FS_PLATFORM || process.platform; + process.cwd = function() { + if (!cwd) + cwd = origCwd.call(process); + return cwd; + }; + try { + process.cwd(); + } catch (er) { + } + if (typeof process.chdir === "function") { + chdir = process.chdir; + process.chdir = function(d) { + cwd = null; + chdir.call(process, d); + }; + if (Object.setPrototypeOf) Object.setPrototypeOf(process.chdir, chdir); + } + var chdir; + module2.exports = patch; + function patch(fs8) { + if (constants.hasOwnProperty("O_SYMLINK") && process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) { + patchLchmod(fs8); + } + if (!fs8.lutimes) { + patchLutimes(fs8); + } + fs8.chown = chownFix(fs8.chown); + fs8.fchown = chownFix(fs8.fchown); + fs8.lchown = chownFix(fs8.lchown); + fs8.chmod = chmodFix(fs8.chmod); + fs8.fchmod = chmodFix(fs8.fchmod); + fs8.lchmod = chmodFix(fs8.lchmod); + fs8.chownSync = chownFixSync(fs8.chownSync); + fs8.fchownSync = chownFixSync(fs8.fchownSync); + fs8.lchownSync = chownFixSync(fs8.lchownSync); + fs8.chmodSync = chmodFixSync(fs8.chmodSync); + fs8.fchmodSync = chmodFixSync(fs8.fchmodSync); + fs8.lchmodSync = chmodFixSync(fs8.lchmodSync); + fs8.stat = statFix(fs8.stat); + fs8.fstat = statFix(fs8.fstat); + fs8.lstat = statFix(fs8.lstat); + fs8.statSync = statFixSync(fs8.statSync); + fs8.fstatSync = statFixSync(fs8.fstatSync); + fs8.lstatSync = statFixSync(fs8.lstatSync); + if (fs8.chmod && !fs8.lchmod) { + fs8.lchmod = function(path7, mode, cb) { + if (cb) process.nextTick(cb); + }; + fs8.lchmodSync = function() { + }; + } + if (fs8.chown && !fs8.lchown) { + fs8.lchown = function(path7, uid, gid, cb) { + if (cb) process.nextTick(cb); + }; + fs8.lchownSync = function() { + }; + } + if (platform === "win32") { + fs8.rename = typeof fs8.rename !== "function" ? fs8.rename : (function(fs$rename) { + function rename(from, to, cb) { + var start = Date.now(); + var backoff = 0; + fs$rename(from, to, function CB(er) { + if (er && (er.code === "EACCES" || er.code === "EPERM") && Date.now() - start < 6e4) { + setTimeout(function() { + fs8.stat(to, function(stater, st) { + if (stater && stater.code === "ENOENT") + fs$rename(from, to, CB); + else + cb(er); + }); + }, backoff); + if (backoff < 100) + backoff += 10; + return; + } + if (cb) cb(er); }); - }, size, { - ...options, - tracingOptions: updatedOptions.tracingOptions - }); - }); + } + if (Object.setPrototypeOf) Object.setPrototypeOf(rename, fs$rename); + return rename; + })(fs8.rename); } - /** - * ONLY AVAILABLE IN NODE.JS RUNTIME. - * - * Uploads a Node.js Readable stream into block blob. - * - * PERFORMANCE IMPROVEMENT TIPS: - * * Input stream highWaterMark is better to set a same value with bufferSize - * parameter, which will avoid Buffer.concat() operations. - * - * @param stream - Node.js Readable stream - * @param bufferSize - Size of every buffer allocated, also the block size in the uploaded block blob. Default value is 8MB - * @param maxConcurrency - Max concurrency indicates the max number of buffers that can be allocated, - * positive correlation with max uploading concurrency. Default value is 5 - * @param options - Options to Upload Stream to Block Blob operation. - * @returns Response data for the Blob Upload operation. - */ - async uploadStream(stream, bufferSize = constants_js_1.DEFAULT_BLOCK_BUFFER_SIZE_BYTES, maxConcurrency = 5, options = {}) { - if (!options.blobHTTPHeaders) { - options.blobHTTPHeaders = {}; - } - if (!options.conditions) { - options.conditions = {}; + fs8.read = typeof fs8.read !== "function" ? fs8.read : (function(fs$read) { + function read(fd, buffer, offset, length, position, callback_) { + var callback; + if (callback_ && typeof callback_ === "function") { + var eagCounter = 0; + callback = function(er, _2, __) { + if (er && er.code === "EAGAIN" && eagCounter < 10) { + eagCounter++; + return fs$read.call(fs8, fd, buffer, offset, length, position, callback); + } + callback_.apply(this, arguments); + }; + } + return fs$read.call(fs8, fd, buffer, offset, length, position, callback); } - return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadStream", options, async (updatedOptions) => { - let blockNum = 0; - const blockIDPrefix = (0, core_util_2.randomUUID)(); - let transferProgress = 0; - const blockList = []; - const scheduler = new storage_common_1.BufferScheduler( - stream, - bufferSize, - maxConcurrency, - async (body, length) => { - const blockID = (0, utils_common_js_1.generateBlockID)(blockIDPrefix, blockNum); - blockList.push(blockID); - blockNum++; - await this.stageBlock(blockID, body, length, { - customerProvidedKey: options.customerProvidedKey, - conditions: options.conditions, - encryptionScope: options.encryptionScope, - tracingOptions: updatedOptions.tracingOptions - }); - transferProgress += length; - if (options.onProgress) { - options.onProgress({ loadedBytes: transferProgress }); + if (Object.setPrototypeOf) Object.setPrototypeOf(read, fs$read); + return read; + })(fs8.read); + fs8.readSync = typeof fs8.readSync !== "function" ? fs8.readSync : /* @__PURE__ */ (function(fs$readSync) { + return function(fd, buffer, offset, length, position) { + var eagCounter = 0; + while (true) { + try { + return fs$readSync.call(fs8, fd, buffer, offset, length, position); + } catch (er) { + if (er.code === "EAGAIN" && eagCounter < 10) { + eagCounter++; + continue; } - }, - // concurrency should set a smaller value than maxConcurrency, which is helpful to - // reduce the possibility when a outgoing handler waits for stream data, in - // this situation, outgoing handlers are blocked. - // Outgoing queue shouldn't be empty. - Math.ceil(maxConcurrency / 4 * 3) + throw er; + } + } + }; + })(fs8.readSync); + function patchLchmod(fs9) { + fs9.lchmod = function(path7, mode, callback) { + fs9.open( + path7, + constants.O_WRONLY | constants.O_SYMLINK, + mode, + function(err, fd) { + if (err) { + if (callback) callback(err); + return; + } + fs9.fchmod(fd, mode, function(err2) { + fs9.close(fd, function(err22) { + if (callback) callback(err2 || err22); + }); + }); + } ); - await scheduler.do(); - return (0, utils_common_js_1.assertResponse)(await this.commitBlockList(blockList, { - ...options, - tracingOptions: updatedOptions.tracingOptions - })); - }); - } - }; - exports2.BlockBlobClient = BlockBlobClient; - var PageBlobClient = class _PageBlobClient extends BlobClient { - /** - * pageBlobsContext provided by protocol layer. - */ - pageBlobContext; - constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) { - let pipeline; - let url; - options = options || {}; - if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) { - url = urlOrConnectionString; - pipeline = credentialOrPipelineOrContainerName; - } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) { - url = urlOrConnectionString; - options = blobNameOrOptions; - pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options); - } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") { - url = urlOrConnectionString; - pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); - } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") { - const containerName = credentialOrPipelineOrContainerName; - const blobName = blobNameOrOptions; - const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString); - if (extractedCreds.kind === "AccountConnString") { - if (core_util_1.isNodeLike) { - const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey); - url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)); - if (!options.proxyOptions) { - options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri); + }; + fs9.lchmodSync = function(path7, mode) { + var fd = fs9.openSync(path7, constants.O_WRONLY | constants.O_SYMLINK, mode); + var threw = true; + var ret; + try { + ret = fs9.fchmodSync(fd, mode); + threw = false; + } finally { + if (threw) { + try { + fs9.closeSync(fd); + } catch (er) { } - pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options); } else { - throw new Error("Account connection string is only supported in Node.js environment"); + fs9.closeSync(fd); } - } else if (extractedCreds.kind === "SASConnString") { - url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas; - pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); - } else { - throw new Error("Connection string must be either an Account connection string or a SAS connection string"); } - } else { - throw new Error("Expecting non-empty strings for containerName and blobName parameters"); - } - super(url, pipeline); - this.pageBlobContext = this.storageClientContext.pageBlob; + return ret; + }; } - /** - * Creates a new PageBlobClient object identical to the source but with the - * specified snapshot timestamp. - * Provide "" will remove the snapshot and return a Client to the base blob. - * - * @param snapshot - The snapshot timestamp. - * @returns A new PageBlobClient object identical to the source but with the specified snapshot timestamp. - */ - withSnapshot(snapshot) { - return new _PageBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline); + function patchLutimes(fs9) { + if (constants.hasOwnProperty("O_SYMLINK") && fs9.futimes) { + fs9.lutimes = function(path7, at, mt, cb) { + fs9.open(path7, constants.O_SYMLINK, function(er, fd) { + if (er) { + if (cb) cb(er); + return; + } + fs9.futimes(fd, at, mt, function(er2) { + fs9.close(fd, function(er22) { + if (cb) cb(er2 || er22); + }); + }); + }); + }; + fs9.lutimesSync = function(path7, at, mt) { + var fd = fs9.openSync(path7, constants.O_SYMLINK); + var ret; + var threw = true; + try { + ret = fs9.futimesSync(fd, at, mt); + threw = false; + } finally { + if (threw) { + try { + fs9.closeSync(fd); + } catch (er) { + } + } else { + fs9.closeSync(fd); + } + } + return ret; + }; + } else if (fs9.futimes) { + fs9.lutimes = function(_a, _b, _c, cb) { + if (cb) process.nextTick(cb); + }; + fs9.lutimesSync = function() { + }; + } } - /** - * Creates a page blob of the specified length. Call uploadPages to upload data - * data to a page blob. - * @see https://learn.microsoft.com/rest/api/storageservices/put-blob - * - * @param size - size of the page blob. - * @param options - Options to the Page Blob Create operation. - * @returns Response data for the Page Blob Create operation. - */ - async create(size, options = {}) { - options.conditions = options.conditions || {}; - (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); - return tracing_js_1.tracingClient.withSpan("PageBlobClient-create", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.create(0, size, { - abortSignal: options.abortSignal, - blobHttpHeaders: options.blobHTTPHeaders, - blobSequenceNumber: options.blobSequenceNumber, - leaseAccessConditions: options.conditions, - metadata: options.metadata, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - cpkInfo: options.customerProvidedKey, - encryptionScope: options.encryptionScope, - immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn, - immutabilityPolicyMode: options.immutabilityPolicy?.policyMode, - legalHold: options.legalHold, - tier: (0, models_js_1.toAccessTier)(options.tier), - blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags), - tracingOptions: updatedOptions.tracingOptions - })); - }); + function chmodFix(orig) { + if (!orig) return orig; + return function(target, mode, cb) { + return orig.call(fs8, target, mode, function(er) { + if (chownErOk(er)) er = null; + if (cb) cb.apply(this, arguments); + }); + }; } - /** - * Creates a page blob of the specified length. Call uploadPages to upload data - * data to a page blob. If the blob with the same name already exists, the content - * of the existing blob will remain unchanged. - * @see https://learn.microsoft.com/rest/api/storageservices/put-blob - * - * @param size - size of the page blob. - * @param options - - */ - async createIfNotExists(size, options = {}) { - return tracing_js_1.tracingClient.withSpan("PageBlobClient-createIfNotExists", options, async (updatedOptions) => { + function chmodFixSync(orig) { + if (!orig) return orig; + return function(target, mode) { try { - const conditions = { ifNoneMatch: constants_js_1.ETagAny }; - const res = (0, utils_common_js_1.assertResponse)(await this.create(size, { - ...options, - conditions, - tracingOptions: updatedOptions.tracingOptions - })); - return { - succeeded: true, - ...res, - _response: res._response - // _response is made non-enumerable - }; - } catch (e) { - if (e.details?.errorCode === "BlobAlreadyExists") { - return { - succeeded: false, - ...e.response?.parsedHeaders, - _response: e.response - }; - } - throw e; + return orig.call(fs8, target, mode); + } catch (er) { + if (!chownErOk(er)) throw er; } - }); - } - /** - * Writes 1 or more pages to the page blob. The start and end offsets must be a multiple of 512. - * @see https://learn.microsoft.com/rest/api/storageservices/put-page - * - * @param body - Data to upload - * @param offset - Offset of destination page blob - * @param count - Content length of the body, also number of bytes to be uploaded - * @param options - Options to the Page Blob Upload Pages operation. - * @returns Response data for the Page Blob Upload Pages operation. - */ - async uploadPages(body, offset, count, options = {}) { - options.conditions = options.conditions || {}; - (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); - return tracing_js_1.tracingClient.withSpan("PageBlobClient-uploadPages", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.uploadPages(count, body, { - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - requestOptions: { - onUploadProgress: options.onProgress - }, - range: (0, Range_js_1.rangeToString)({ offset, count }), - sequenceNumberAccessConditions: options.conditions, - transactionalContentMD5: options.transactionalContentMD5, - transactionalContentCrc64: options.transactionalContentCrc64, - cpkInfo: options.customerProvidedKey, - encryptionScope: options.encryptionScope, - tracingOptions: updatedOptions.tracingOptions - })); - }); + }; } - /** - * The Upload Pages operation writes a range of pages to a page blob where the - * contents are read from a URL. - * @see https://learn.microsoft.com/rest/api/storageservices/put-page-from-url - * - * @param sourceURL - Specify a URL to the copy source, Shared Access Signature(SAS) maybe needed for authentication - * @param sourceOffset - The source offset to copy from. Pass 0 to copy from the beginning of source page blob - * @param destOffset - Offset of destination page blob - * @param count - Number of bytes to be uploaded from source page blob - * @param options - - */ - async uploadPagesFromURL(sourceURL, sourceOffset, destOffset, count, options = {}) { - options.conditions = options.conditions || {}; - options.sourceConditions = options.sourceConditions || {}; - (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); - return tracing_js_1.tracingClient.withSpan("PageBlobClient-uploadPagesFromURL", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.uploadPagesFromURL(sourceURL, (0, Range_js_1.rangeToString)({ offset: sourceOffset, count }), 0, (0, Range_js_1.rangeToString)({ offset: destOffset, count }), { - abortSignal: options.abortSignal, - sourceContentMD5: options.sourceContentMD5, - sourceContentCrc64: options.sourceContentCrc64, - leaseAccessConditions: options.conditions, - sequenceNumberAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - sourceModifiedAccessConditions: { - sourceIfMatch: options.sourceConditions?.ifMatch, - sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince, - sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch, - sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince - }, - cpkInfo: options.customerProvidedKey, - encryptionScope: options.encryptionScope, - copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization), - fileRequestIntent: options.sourceShareTokenIntent, - tracingOptions: updatedOptions.tracingOptions - })); - }); + function chownFix(orig) { + if (!orig) return orig; + return function(target, uid, gid, cb) { + return orig.call(fs8, target, uid, gid, function(er) { + if (chownErOk(er)) er = null; + if (cb) cb.apply(this, arguments); + }); + }; } - /** - * Frees the specified pages from the page blob. - * @see https://learn.microsoft.com/rest/api/storageservices/put-page - * - * @param offset - Starting byte position of the pages to clear. - * @param count - Number of bytes to clear. - * @param options - Options to the Page Blob Clear Pages operation. - * @returns Response data for the Page Blob Clear Pages operation. - */ - async clearPages(offset = 0, count, options = {}) { - options.conditions = options.conditions || {}; - return tracing_js_1.tracingClient.withSpan("PageBlobClient-clearPages", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.clearPages(0, { - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - range: (0, Range_js_1.rangeToString)({ offset, count }), - sequenceNumberAccessConditions: options.conditions, - cpkInfo: options.customerProvidedKey, - encryptionScope: options.encryptionScope, - tracingOptions: updatedOptions.tracingOptions - })); - }); + function chownFixSync(orig) { + if (!orig) return orig; + return function(target, uid, gid) { + try { + return orig.call(fs8, target, uid, gid); + } catch (er) { + if (!chownErOk(er)) throw er; + } + }; } - /** - * Returns the list of valid page ranges for a page blob or snapshot of a page blob. - * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges - * - * @param offset - Starting byte position of the page ranges. - * @param count - Number of bytes to get. - * @param options - Options to the Page Blob Get Ranges operation. - * @returns Response data for the Page Blob Get Ranges operation. - */ - async getPageRanges(offset = 0, count, options = {}) { - options.conditions = options.conditions || {}; - return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRanges", options, async (updatedOptions) => { - const response = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRanges({ - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - range: (0, Range_js_1.rangeToString)({ offset, count }), - tracingOptions: updatedOptions.tracingOptions - })); - return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(response); - }); + function statFix(orig) { + if (!orig) return orig; + return function(target, options, cb) { + if (typeof options === "function") { + cb = options; + options = null; + } + function callback(er, stats) { + if (stats) { + if (stats.uid < 0) stats.uid += 4294967296; + if (stats.gid < 0) stats.gid += 4294967296; + } + if (cb) cb.apply(this, arguments); + } + return options ? orig.call(fs8, target, options, callback) : orig.call(fs8, target, callback); + }; } - /** - * getPageRangesSegment returns a single segment of page ranges starting from the - * specified Marker. Use an empty Marker to start enumeration from the beginning. - * After getting a segment, process it, and then call getPageRangesSegment again - * (passing the the previously-returned Marker) to get the next segment. - * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges - * - * @param offset - Starting byte position of the page ranges. - * @param count - Number of bytes to get. - * @param marker - A string value that identifies the portion of the list to be returned with the next list operation. - * @param options - Options to PageBlob Get Page Ranges Segment operation. - */ - async listPageRangesSegment(offset = 0, count, marker, options = {}) { - return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesSegment", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRanges({ - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - range: (0, Range_js_1.rangeToString)({ offset, count }), - marker, - maxPageSize: options.maxPageSize, - tracingOptions: updatedOptions.tracingOptions - })); - }); + function statFixSync(orig) { + if (!orig) return orig; + return function(target, options) { + var stats = options ? orig.call(fs8, target, options) : orig.call(fs8, target); + if (stats) { + if (stats.uid < 0) stats.uid += 4294967296; + if (stats.gid < 0) stats.gid += 4294967296; + } + return stats; + }; } - /** - * Returns an AsyncIterableIterator for {@link PageBlobGetPageRangesResponseModel} - * - * @param offset - Starting byte position of the page ranges. - * @param count - Number of bytes to get. - * @param marker - A string value that identifies the portion of - * the get of page ranges to be returned with the next getting operation. The - * operation returns the ContinuationToken value within the response body if the - * getting operation did not return all page ranges remaining within the current page. - * The ContinuationToken value can be used as the value for - * the marker parameter in a subsequent call to request the next page of get - * items. The marker value is opaque to the client. - * @param options - Options to List Page Ranges operation. - */ - async *listPageRangeItemSegments(offset = 0, count, marker, options = {}) { - let getPageRangeItemSegmentsResponse; - if (!!marker || marker === void 0) { - do { - getPageRangeItemSegmentsResponse = await this.listPageRangesSegment(offset, count, marker, options); - marker = getPageRangeItemSegmentsResponse.continuationToken; - yield await getPageRangeItemSegmentsResponse; - } while (marker); + function chownErOk(er) { + if (!er) + return true; + if (er.code === "ENOSYS") + return true; + var nonroot = !process.getuid || process.getuid() !== 0; + if (nonroot) { + if (er.code === "EINVAL" || er.code === "EPERM") + return true; } + return false; } - /** - * Returns an AsyncIterableIterator of {@link PageRangeInfo} objects - * - * @param offset - Starting byte position of the page ranges. - * @param count - Number of bytes to get. - * @param options - Options to List Page Ranges operation. - */ - async *listPageRangeItems(offset = 0, count, options = {}) { - let marker; - for await (const getPageRangesSegment of this.listPageRangeItemSegments(offset, count, marker, options)) { - yield* (0, utils_common_js_1.ExtractPageRangeInfoItems)(getPageRangesSegment); + } + } +}); + +// node_modules/graceful-fs/legacy-streams.js +var require_legacy_streams = __commonJS({ + "node_modules/graceful-fs/legacy-streams.js"(exports2, module2) { + var Stream = require("stream").Stream; + module2.exports = legacy; + function legacy(fs8) { + return { + ReadStream, + WriteStream + }; + function ReadStream(path7, options) { + if (!(this instanceof ReadStream)) return new ReadStream(path7, options); + Stream.call(this); + var self2 = this; + this.path = path7; + this.fd = null; + this.readable = true; + this.paused = false; + this.flags = "r"; + this.mode = 438; + this.bufferSize = 64 * 1024; + options = options || {}; + var keys = Object.keys(options); + for (var index = 0, length = keys.length; index < length; index++) { + var key = keys[index]; + this[key] = options[key]; } - } - /** - * Returns an async iterable iterator to list of page ranges for a page blob. - * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges - * - * .byPage() returns an async iterable iterator to list of page ranges for a page blob. - * - * ```ts snippet:ClientsListPageBlobs - * import { BlobServiceClient } from "@azure/storage-blob"; - * import { DefaultAzureCredential } from "@azure/identity"; - * - * const account = ""; - * const blobServiceClient = new BlobServiceClient( - * `https://${account}.blob.core.windows.net`, - * new DefaultAzureCredential(), - * ); - * - * const containerName = ""; - * const blobName = ""; - * const containerClient = blobServiceClient.getContainerClient(containerName); - * const pageBlobClient = containerClient.getPageBlobClient(blobName); - * - * // Example using `for await` syntax - * let i = 1; - * for await (const pageRange of pageBlobClient.listPageRanges()) { - * console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`); - * } - * - * // Example using `iter.next()` syntax - * i = 1; - * const iter = pageBlobClient.listPageRanges(); - * let { value, done } = await iter.next(); - * while (!done) { - * console.log(`Page range ${i++}: ${value.start} - ${value.end}`); - * ({ value, done } = await iter.next()); - * } - * - * // Example using `byPage()` syntax - * i = 1; - * for await (const page of pageBlobClient.listPageRanges().byPage({ maxPageSize: 20 })) { - * for (const pageRange of page.pageRange || []) { - * console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`); - * } - * } - * - * // Example using paging with a marker - * i = 1; - * let iterator = pageBlobClient.listPageRanges().byPage({ maxPageSize: 2 }); - * let response = (await iterator.next()).value; - * // Prints 2 page ranges - * if (response.pageRange) { - * for (const pageRange of response.pageRange) { - * console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`); - * } - * } - * // Gets next marker - * let marker = response.continuationToken; - * // Passing next marker as continuationToken - * iterator = pageBlobClient.listPageRanges().byPage({ continuationToken: marker, maxPageSize: 10 }); - * response = (await iterator.next()).value; - * // Prints 10 page ranges - * if (response.pageRange) { - * for (const pageRange of response.pageRange) { - * console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`); - * } - * } - * ``` - * - * @param offset - Starting byte position of the page ranges. - * @param count - Number of bytes to get. - * @param options - Options to the Page Blob Get Ranges operation. - * @returns An asyncIterableIterator that supports paging. - */ - listPageRanges(offset = 0, count, options = {}) { - options.conditions = options.conditions || {}; - const iter = this.listPageRangeItems(offset, count, options); - return { - /** - * The next method, part of the iteration protocol - */ - next() { - return iter.next(); - }, - /** - * The connection to the async iterator, part of the iteration protocol - */ - [Symbol.asyncIterator]() { - return this; - }, - /** - * Return an AsyncIterableIterator that works a page at a time - */ - byPage: (settings = {}) => { - return this.listPageRangeItemSegments(offset, count, settings.continuationToken, { - maxPageSize: settings.maxPageSize, - ...options - }); + if (this.encoding) this.setEncoding(this.encoding); + if (this.start !== void 0) { + if ("number" !== typeof this.start) { + throw TypeError("start must be a Number"); } - }; - } - /** - * Gets the collection of page ranges that differ between a specified snapshot and this page blob. - * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges - * - * @param offset - Starting byte position of the page blob - * @param count - Number of bytes to get ranges diff. - * @param prevSnapshot - Timestamp of snapshot to retrieve the difference. - * @param options - Options to the Page Blob Get Page Ranges Diff operation. - * @returns Response data for the Page Blob Get Page Range Diff operation. - */ - async getPageRangesDiff(offset, count, prevSnapshot, options = {}) { - options.conditions = options.conditions || {}; - return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesDiff", options, async (updatedOptions) => { - const result = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({ - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - prevsnapshot: prevSnapshot, - range: (0, Range_js_1.rangeToString)({ offset, count }), - tracingOptions: updatedOptions.tracingOptions - })); - return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(result); - }); - } - /** - * getPageRangesDiffSegment returns a single segment of page ranges starting from the - * specified Marker for difference between previous snapshot and the target page blob. - * Use an empty Marker to start enumeration from the beginning. - * After getting a segment, process it, and then call getPageRangesDiffSegment again - * (passing the the previously-returned Marker) to get the next segment. - * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges - * - * @param offset - Starting byte position of the page ranges. - * @param count - Number of bytes to get. - * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference. - * @param marker - A string value that identifies the portion of the get to be returned with the next get operation. - * @param options - Options to the Page Blob Get Page Ranges Diff operation. - */ - async listPageRangesDiffSegment(offset, count, prevSnapshotOrUrl, marker, options = {}) { - return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesDiffSegment", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({ - abortSignal: options?.abortSignal, - leaseAccessConditions: options?.conditions, - modifiedAccessConditions: { - ...options?.conditions, - ifTags: options?.conditions?.tagConditions - }, - prevsnapshot: prevSnapshotOrUrl, - range: (0, Range_js_1.rangeToString)({ - offset, - count - }), - marker, - maxPageSize: options?.maxPageSize, - tracingOptions: updatedOptions.tracingOptions - })); - }); - } - /** - * Returns an AsyncIterableIterator for {@link PageBlobGetPageRangesDiffResponseModel} - * - * - * @param offset - Starting byte position of the page ranges. - * @param count - Number of bytes to get. - * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference. - * @param marker - A string value that identifies the portion of - * the get of page ranges to be returned with the next getting operation. The - * operation returns the ContinuationToken value within the response body if the - * getting operation did not return all page ranges remaining within the current page. - * The ContinuationToken value can be used as the value for - * the marker parameter in a subsequent call to request the next page of get - * items. The marker value is opaque to the client. - * @param options - Options to the Page Blob Get Page Ranges Diff operation. - */ - async *listPageRangeDiffItemSegments(offset, count, prevSnapshotOrUrl, marker, options) { - let getPageRangeItemSegmentsResponse; - if (!!marker || marker === void 0) { - do { - getPageRangeItemSegmentsResponse = await this.listPageRangesDiffSegment(offset, count, prevSnapshotOrUrl, marker, options); - marker = getPageRangeItemSegmentsResponse.continuationToken; - yield await getPageRangeItemSegmentsResponse; - } while (marker); + if (this.end === void 0) { + this.end = Infinity; + } else if ("number" !== typeof this.end) { + throw TypeError("end must be a Number"); + } + if (this.start > this.end) { + throw new Error("start must be <= end"); + } + this.pos = this.start; } - } - /** - * Returns an AsyncIterableIterator of {@link PageRangeInfo} objects - * - * @param offset - Starting byte position of the page ranges. - * @param count - Number of bytes to get. - * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference. - * @param options - Options to the Page Blob Get Page Ranges Diff operation. - */ - async *listPageRangeDiffItems(offset, count, prevSnapshotOrUrl, options) { - let marker; - for await (const getPageRangesSegment of this.listPageRangeDiffItemSegments(offset, count, prevSnapshotOrUrl, marker, options)) { - yield* (0, utils_common_js_1.ExtractPageRangeInfoItems)(getPageRangesSegment); + if (this.fd !== null) { + process.nextTick(function() { + self2._read(); + }); + return; } - } - /** - * Returns an async iterable iterator to list of page ranges that differ between a specified snapshot and this page blob. - * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges - * - * .byPage() returns an async iterable iterator to list of page ranges that differ between a specified snapshot and this page blob. - * - * ```ts snippet:ClientsListPageBlobsDiff - * import { BlobServiceClient } from "@azure/storage-blob"; - * import { DefaultAzureCredential } from "@azure/identity"; - * - * const account = ""; - * const blobServiceClient = new BlobServiceClient( - * `https://${account}.blob.core.windows.net`, - * new DefaultAzureCredential(), - * ); - * - * const containerName = ""; - * const blobName = ""; - * const containerClient = blobServiceClient.getContainerClient(containerName); - * const pageBlobClient = containerClient.getPageBlobClient(blobName); - * - * const offset = 0; - * const count = 1024; - * const previousSnapshot = ""; - * // Example using `for await` syntax - * let i = 1; - * for await (const pageRange of pageBlobClient.listPageRangesDiff(offset, count, previousSnapshot)) { - * console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`); - * } - * - * // Example using `iter.next()` syntax - * i = 1; - * const iter = pageBlobClient.listPageRangesDiff(offset, count, previousSnapshot); - * let { value, done } = await iter.next(); - * while (!done) { - * console.log(`Page range ${i++}: ${value.start} - ${value.end}`); - * ({ value, done } = await iter.next()); - * } - * - * // Example using `byPage()` syntax - * i = 1; - * for await (const page of pageBlobClient - * .listPageRangesDiff(offset, count, previousSnapshot) - * .byPage({ maxPageSize: 20 })) { - * for (const pageRange of page.pageRange || []) { - * console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`); - * } - * } - * - * // Example using paging with a marker - * i = 1; - * let iterator = pageBlobClient - * .listPageRangesDiff(offset, count, previousSnapshot) - * .byPage({ maxPageSize: 2 }); - * let response = (await iterator.next()).value; - * // Prints 2 page ranges - * if (response.pageRange) { - * for (const pageRange of response.pageRange) { - * console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`); - * } - * } - * // Gets next marker - * let marker = response.continuationToken; - * // Passing next marker as continuationToken - * iterator = pageBlobClient - * .listPageRangesDiff(offset, count, previousSnapshot) - * .byPage({ continuationToken: marker, maxPageSize: 10 }); - * response = (await iterator.next()).value; - * // Prints 10 page ranges - * if (response.pageRange) { - * for (const pageRange of response.pageRange) { - * console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`); - * } - * } - * ``` - * - * @param offset - Starting byte position of the page ranges. - * @param count - Number of bytes to get. - * @param prevSnapshot - Timestamp of snapshot to retrieve the difference. - * @param options - Options to the Page Blob Get Ranges operation. - * @returns An asyncIterableIterator that supports paging. - */ - listPageRangesDiff(offset, count, prevSnapshot, options = {}) { - options.conditions = options.conditions || {}; - const iter = this.listPageRangeDiffItems(offset, count, prevSnapshot, { - ...options - }); - return { - /** - * The next method, part of the iteration protocol - */ - next() { - return iter.next(); - }, - /** - * The connection to the async iterator, part of the iteration protocol - */ - [Symbol.asyncIterator]() { - return this; - }, - /** - * Return an AsyncIterableIterator that works a page at a time - */ - byPage: (settings = {}) => { - return this.listPageRangeDiffItemSegments(offset, count, prevSnapshot, settings.continuationToken, { - maxPageSize: settings.maxPageSize, - ...options - }); + fs8.open(this.path, this.flags, this.mode, function(err, fd) { + if (err) { + self2.emit("error", err); + self2.readable = false; + return; } - }; - } - /** - * Gets the collection of page ranges that differ between a specified snapshot and this page blob for managed disks. - * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges - * - * @param offset - Starting byte position of the page blob - * @param count - Number of bytes to get ranges diff. - * @param prevSnapshotUrl - URL of snapshot to retrieve the difference. - * @param options - Options to the Page Blob Get Page Ranges Diff operation. - * @returns Response data for the Page Blob Get Page Range Diff operation. - */ - async getPageRangesDiffForManagedDisks(offset, count, prevSnapshotUrl, options = {}) { - options.conditions = options.conditions || {}; - return tracing_js_1.tracingClient.withSpan("PageBlobClient-GetPageRangesDiffForManagedDisks", options, async (updatedOptions) => { - const response = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({ - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - prevSnapshotUrl, - range: (0, Range_js_1.rangeToString)({ offset, count }), - tracingOptions: updatedOptions.tracingOptions - })); - return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(response); - }); - } - /** - * Resizes the page blob to the specified size (which must be a multiple of 512). - * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties - * - * @param size - Target size - * @param options - Options to the Page Blob Resize operation. - * @returns Response data for the Page Blob Resize operation. - */ - async resize(size, options = {}) { - options.conditions = options.conditions || {}; - return tracing_js_1.tracingClient.withSpan("PageBlobClient-resize", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.resize(size, { - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - encryptionScope: options.encryptionScope, - tracingOptions: updatedOptions.tracingOptions - })); - }); - } - /** - * Sets a page blob's sequence number. - * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties - * - * @param sequenceNumberAction - Indicates how the service should modify the blob's sequence number. - * @param sequenceNumber - Required if sequenceNumberAction is max or update - * @param options - Options to the Page Blob Update Sequence Number operation. - * @returns Response data for the Page Blob Update Sequence Number operation. - */ - async updateSequenceNumber(sequenceNumberAction, sequenceNumber, options = {}) { - options.conditions = options.conditions || {}; - return tracing_js_1.tracingClient.withSpan("PageBlobClient-updateSequenceNumber", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.updateSequenceNumber(sequenceNumberAction, { - abortSignal: options.abortSignal, - blobSequenceNumber: sequenceNumber, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - tracingOptions: updatedOptions.tracingOptions - })); + self2.fd = fd; + self2.emit("open", fd); + self2._read(); }); } - /** - * Begins an operation to start an incremental copy from one page blob's snapshot to this page blob. - * The snapshot is copied such that only the differential changes between the previously - * copied snapshot are transferred to the destination. - * The copied snapshots are complete copies of the original snapshot and can be read or copied from as usual. - * @see https://learn.microsoft.com/rest/api/storageservices/incremental-copy-blob - * @see https://learn.microsoft.com/azure/virtual-machines/windows/incremental-snapshots - * - * @param copySource - Specifies the name of the source page blob snapshot. For example, - * https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot= - * @param options - Options to the Page Blob Copy Incremental operation. - * @returns Response data for the Page Blob Copy Incremental operation. - */ - async startCopyIncremental(copySource, options = {}) { - return tracing_js_1.tracingClient.withSpan("PageBlobClient-startCopyIncremental", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.copyIncremental(copySource, { - abortSignal: options.abortSignal, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - tracingOptions: updatedOptions.tracingOptions - })); - }); + function WriteStream(path7, options) { + if (!(this instanceof WriteStream)) return new WriteStream(path7, options); + Stream.call(this); + this.path = path7; + this.fd = null; + this.writable = true; + this.flags = "w"; + this.encoding = "binary"; + this.mode = 438; + this.bytesWritten = 0; + options = options || {}; + var keys = Object.keys(options); + for (var index = 0, length = keys.length; index < length; index++) { + var key = keys[index]; + this[key] = options[key]; + } + if (this.start !== void 0) { + if ("number" !== typeof this.start) { + throw TypeError("start must be a Number"); + } + if (this.start < 0) { + throw new Error("start must be >= zero"); + } + this.pos = this.start; + } + this.busy = false; + this._queue = []; + if (this.fd === null) { + this._open = fs8.open; + this._queue.push([this._open, this.path, this.flags, this.mode, void 0]); + this.flush(); + } } - }; - exports2.PageBlobClient = PageBlobClient; + } } }); -// node_modules/@azure/storage-blob/dist/commonjs/BatchUtils.js -var require_BatchUtils = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/BatchUtils.js"(exports2) { +// node_modules/graceful-fs/clone.js +var require_clone = __commonJS({ + "node_modules/graceful-fs/clone.js"(exports2, module2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getBodyAsText = getBodyAsText; - exports2.utf8ByteLength = utf8ByteLength; - var utils_js_1 = require_utils7(); - var constants_js_1 = require_constants15(); - async function getBodyAsText(batchResponse) { - let buffer = Buffer.alloc(constants_js_1.BATCH_MAX_PAYLOAD_IN_BYTES); - const responseLength = await (0, utils_js_1.streamToBuffer2)(batchResponse.readableStreamBody, buffer); - buffer = buffer.slice(0, responseLength); - return buffer.toString(); - } - function utf8ByteLength(str2) { - return Buffer.byteLength(str2); + module2.exports = clone; + var getPrototypeOf = Object.getPrototypeOf || function(obj) { + return obj.__proto__; + }; + function clone(obj) { + if (obj === null || typeof obj !== "object") + return obj; + if (obj instanceof Object) + var copy = { __proto__: getPrototypeOf(obj) }; + else + var copy = /* @__PURE__ */ Object.create(null); + Object.getOwnPropertyNames(obj).forEach(function(key) { + Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key)); + }); + return copy; } } }); -// node_modules/@azure/storage-blob/dist/commonjs/BatchResponseParser.js -var require_BatchResponseParser = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/BatchResponseParser.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.BatchResponseParser = void 0; - var core_rest_pipeline_1 = require_commonjs6(); - var core_http_compat_1 = require_commonjs9(); - var constants_js_1 = require_constants15(); - var BatchUtils_js_1 = require_BatchUtils(); - var log_js_1 = require_log5(); - var HTTP_HEADER_DELIMITER = ": "; - var SPACE_DELIMITER = " "; - var NOT_FOUND = -1; - var BatchResponseParser = class { - batchResponse; - responseBatchBoundary; - perResponsePrefix; - batchResponseEnding; - subRequests; - constructor(batchResponse, subRequests) { - if (!batchResponse || !batchResponse.contentType) { - throw new RangeError("batchResponse is malformed or doesn't contain valid content-type."); +// node_modules/graceful-fs/graceful-fs.js +var require_graceful_fs = __commonJS({ + "node_modules/graceful-fs/graceful-fs.js"(exports2, module2) { + var fs8 = require("fs"); + var polyfills = require_polyfills(); + var legacy = require_legacy_streams(); + var clone = require_clone(); + var util = require("util"); + var gracefulQueue; + var previousSymbol; + if (typeof Symbol === "function" && typeof Symbol.for === "function") { + gracefulQueue = /* @__PURE__ */ Symbol.for("graceful-fs.queue"); + previousSymbol = /* @__PURE__ */ Symbol.for("graceful-fs.previous"); + } else { + gracefulQueue = "___graceful-fs.queue"; + previousSymbol = "___graceful-fs.previous"; + } + function noop3() { + } + function publishQueue(context2, queue2) { + Object.defineProperty(context2, gracefulQueue, { + get: function() { + return queue2; } - if (!subRequests || subRequests.size === 0) { - throw new RangeError("Invalid state: subRequests is not provided or size is 0."); + }); + } + var debug4 = noop3; + if (util.debuglog) + debug4 = util.debuglog("gfs4"); + else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || "")) + debug4 = function() { + var m = util.format.apply(util, arguments); + m = "GFS4: " + m.split(/\n/).join("\nGFS4: "); + console.error(m); + }; + if (!fs8[gracefulQueue]) { + queue = global[gracefulQueue] || []; + publishQueue(fs8, queue); + fs8.close = (function(fs$close) { + function close(fd, cb) { + return fs$close.call(fs8, fd, function(err) { + if (!err) { + resetQueue(); + } + if (typeof cb === "function") + cb.apply(this, arguments); + }); } - this.batchResponse = batchResponse; - this.subRequests = subRequests; - this.responseBatchBoundary = this.batchResponse.contentType.split("=")[1]; - this.perResponsePrefix = `--${this.responseBatchBoundary}${constants_js_1.HTTP_LINE_ENDING}`; - this.batchResponseEnding = `--${this.responseBatchBoundary}--`; - } - // For example of response, please refer to https://learn.microsoft.com/rest/api/storageservices/blob-batch#response - async parseBatchResponse() { - if (this.batchResponse._response.status !== constants_js_1.HTTPURLConnection.HTTP_ACCEPTED) { - throw new Error(`Invalid state: batch request failed with status: '${this.batchResponse._response.status}'.`); + Object.defineProperty(close, previousSymbol, { + value: fs$close + }); + return close; + })(fs8.close); + fs8.closeSync = (function(fs$closeSync) { + function closeSync(fd) { + fs$closeSync.apply(fs8, arguments); + resetQueue(); } - const responseBodyAsText = await (0, BatchUtils_js_1.getBodyAsText)(this.batchResponse); - const subResponses = responseBodyAsText.split(this.batchResponseEnding)[0].split(this.perResponsePrefix).slice(1); - const subResponseCount = subResponses.length; - if (subResponseCount !== this.subRequests.size && subResponseCount !== 1) { - throw new Error("Invalid state: sub responses' count is not equal to sub requests' count."); + Object.defineProperty(closeSync, previousSymbol, { + value: fs$closeSync + }); + return closeSync; + })(fs8.closeSync); + if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || "")) { + process.on("exit", function() { + debug4(fs8[gracefulQueue]); + require("assert").equal(fs8[gracefulQueue].length, 0); + }); + } + } + var queue; + if (!global[gracefulQueue]) { + publishQueue(global, fs8[gracefulQueue]); + } + module2.exports = patch(clone(fs8)); + if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs8.__patched) { + module2.exports = patch(fs8); + fs8.__patched = true; + } + function patch(fs9) { + polyfills(fs9); + fs9.gracefulify = patch; + fs9.createReadStream = createReadStream; + fs9.createWriteStream = createWriteStream3; + var fs$readFile = fs9.readFile; + fs9.readFile = readFile; + function readFile(path7, options, cb) { + if (typeof options === "function") + cb = options, options = null; + return go$readFile(path7, options, cb); + function go$readFile(path8, options2, cb2, startTime) { + return fs$readFile(path8, options2, function(err) { + if (err && (err.code === "EMFILE" || err.code === "ENFILE")) + enqueue([go$readFile, [path8, options2, cb2], err, startTime || Date.now(), Date.now()]); + else { + if (typeof cb2 === "function") + cb2.apply(this, arguments); + } + }); } - const deserializedSubResponses = new Array(subResponseCount); - let subResponsesSucceededCount = 0; - let subResponsesFailedCount = 0; - for (let index = 0; index < subResponseCount; index++) { - const subResponse = subResponses[index]; - const deserializedSubResponse = {}; - deserializedSubResponse.headers = (0, core_http_compat_1.toHttpHeadersLike)((0, core_rest_pipeline_1.createHttpHeaders)()); - const responseLines = subResponse.split(`${constants_js_1.HTTP_LINE_ENDING}`); - let subRespHeaderStartFound = false; - let subRespHeaderEndFound = false; - let subRespFailed = false; - let contentId = NOT_FOUND; - for (const responseLine of responseLines) { - if (!subRespHeaderStartFound) { - if (responseLine.startsWith(constants_js_1.HeaderConstants.CONTENT_ID)) { - contentId = parseInt(responseLine.split(HTTP_HEADER_DELIMITER)[1]); - } - if (responseLine.startsWith(constants_js_1.HTTP_VERSION_1_1)) { - subRespHeaderStartFound = true; - const tokens = responseLine.split(SPACE_DELIMITER); - deserializedSubResponse.status = parseInt(tokens[1]); - deserializedSubResponse.statusMessage = tokens.slice(2).join(SPACE_DELIMITER); - } - continue; + } + var fs$writeFile = fs9.writeFile; + fs9.writeFile = writeFile; + function writeFile(path7, data, options, cb) { + if (typeof options === "function") + cb = options, options = null; + return go$writeFile(path7, data, options, cb); + function go$writeFile(path8, data2, options2, cb2, startTime) { + return fs$writeFile(path8, data2, options2, function(err) { + if (err && (err.code === "EMFILE" || err.code === "ENFILE")) + enqueue([go$writeFile, [path8, data2, options2, cb2], err, startTime || Date.now(), Date.now()]); + else { + if (typeof cb2 === "function") + cb2.apply(this, arguments); } - if (responseLine.trim() === "") { - if (!subRespHeaderEndFound) { - subRespHeaderEndFound = true; - } - continue; + }); + } + } + var fs$appendFile = fs9.appendFile; + if (fs$appendFile) + fs9.appendFile = appendFile; + function appendFile(path7, data, options, cb) { + if (typeof options === "function") + cb = options, options = null; + return go$appendFile(path7, data, options, cb); + function go$appendFile(path8, data2, options2, cb2, startTime) { + return fs$appendFile(path8, data2, options2, function(err) { + if (err && (err.code === "EMFILE" || err.code === "ENFILE")) + enqueue([go$appendFile, [path8, data2, options2, cb2], err, startTime || Date.now(), Date.now()]); + else { + if (typeof cb2 === "function") + cb2.apply(this, arguments); } - if (!subRespHeaderEndFound) { - if (responseLine.indexOf(HTTP_HEADER_DELIMITER) === -1) { - throw new Error(`Invalid state: find non-empty line '${responseLine}' without HTTP header delimiter '${HTTP_HEADER_DELIMITER}'.`); - } - const tokens = responseLine.split(HTTP_HEADER_DELIMITER); - deserializedSubResponse.headers.set(tokens[0], tokens[1]); - if (tokens[0] === constants_js_1.HeaderConstants.X_MS_ERROR_CODE) { - deserializedSubResponse.errorCode = tokens[1]; - subRespFailed = true; - } - } else { - if (!deserializedSubResponse.bodyAsText) { - deserializedSubResponse.bodyAsText = ""; - } - deserializedSubResponse.bodyAsText += responseLine; + }); + } + } + var fs$copyFile = fs9.copyFile; + if (fs$copyFile) + fs9.copyFile = copyFile; + function copyFile(src, dest, flags, cb) { + if (typeof flags === "function") { + cb = flags; + flags = 0; + } + return go$copyFile(src, dest, flags, cb); + function go$copyFile(src2, dest2, flags2, cb2, startTime) { + return fs$copyFile(src2, dest2, flags2, function(err) { + if (err && (err.code === "EMFILE" || err.code === "ENFILE")) + enqueue([go$copyFile, [src2, dest2, flags2, cb2], err, startTime || Date.now(), Date.now()]); + else { + if (typeof cb2 === "function") + cb2.apply(this, arguments); } - } - if (contentId !== NOT_FOUND && Number.isInteger(contentId) && contentId >= 0 && contentId < this.subRequests.size && deserializedSubResponses[contentId] === void 0) { - deserializedSubResponse._request = this.subRequests.get(contentId); - deserializedSubResponses[contentId] = deserializedSubResponse; - } else { - log_js_1.logger.error(`subResponses[${index}] is dropped as the Content-ID is not found or invalid, Content-ID: ${contentId}`); - } - if (subRespFailed) { - subResponsesFailedCount++; - } else { - subResponsesSucceededCount++; - } + }); } - return { - subResponses: deserializedSubResponses, - subResponsesSucceededCount, - subResponsesFailedCount + } + var fs$readdir = fs9.readdir; + fs9.readdir = readdir; + var noReaddirOptionVersions = /^v[0-5]\./; + function readdir(path7, options, cb) { + if (typeof options === "function") + cb = options, options = null; + var go$readdir = noReaddirOptionVersions.test(process.version) ? function go$readdir2(path8, options2, cb2, startTime) { + return fs$readdir(path8, fs$readdirCallback( + path8, + options2, + cb2, + startTime + )); + } : function go$readdir2(path8, options2, cb2, startTime) { + return fs$readdir(path8, options2, fs$readdirCallback( + path8, + options2, + cb2, + startTime + )); }; + return go$readdir(path7, options, cb); + function fs$readdirCallback(path8, options2, cb2, startTime) { + return function(err, files) { + if (err && (err.code === "EMFILE" || err.code === "ENFILE")) + enqueue([ + go$readdir, + [path8, options2, cb2], + err, + startTime || Date.now(), + Date.now() + ]); + else { + if (files && files.sort) + files.sort(); + if (typeof cb2 === "function") + cb2.call(this, err, files); + } + }; + } } - }; - exports2.BatchResponseParser = BatchResponseParser; - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/utils/Mutex.js -var require_Mutex = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/utils/Mutex.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.Mutex = void 0; - var MutexLockStatus; - (function(MutexLockStatus2) { - MutexLockStatus2[MutexLockStatus2["LOCKED"] = 0] = "LOCKED"; - MutexLockStatus2[MutexLockStatus2["UNLOCKED"] = 1] = "UNLOCKED"; - })(MutexLockStatus || (MutexLockStatus = {})); - var Mutex = class { - /** - * Lock for a specific key. If the lock has been acquired by another customer, then - * will wait until getting the lock. - * - * @param key - lock key - */ - static async lock(key) { - return new Promise((resolve5) => { - if (this.keys[key] === void 0 || this.keys[key] === MutexLockStatus.UNLOCKED) { - this.keys[key] = MutexLockStatus.LOCKED; - resolve5(); + if (process.version.substr(0, 4) === "v0.8") { + var legStreams = legacy(fs9); + ReadStream = legStreams.ReadStream; + WriteStream = legStreams.WriteStream; + } + var fs$ReadStream = fs9.ReadStream; + if (fs$ReadStream) { + ReadStream.prototype = Object.create(fs$ReadStream.prototype); + ReadStream.prototype.open = ReadStream$open; + } + var fs$WriteStream = fs9.WriteStream; + if (fs$WriteStream) { + WriteStream.prototype = Object.create(fs$WriteStream.prototype); + WriteStream.prototype.open = WriteStream$open; + } + Object.defineProperty(fs9, "ReadStream", { + get: function() { + return ReadStream; + }, + set: function(val) { + ReadStream = val; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(fs9, "WriteStream", { + get: function() { + return WriteStream; + }, + set: function(val) { + WriteStream = val; + }, + enumerable: true, + configurable: true + }); + var FileReadStream = ReadStream; + Object.defineProperty(fs9, "FileReadStream", { + get: function() { + return FileReadStream; + }, + set: function(val) { + FileReadStream = val; + }, + enumerable: true, + configurable: true + }); + var FileWriteStream = WriteStream; + Object.defineProperty(fs9, "FileWriteStream", { + get: function() { + return FileWriteStream; + }, + set: function(val) { + FileWriteStream = val; + }, + enumerable: true, + configurable: true + }); + function ReadStream(path7, options) { + if (this instanceof ReadStream) + return fs$ReadStream.apply(this, arguments), this; + else + return ReadStream.apply(Object.create(ReadStream.prototype), arguments); + } + function ReadStream$open() { + var that = this; + open(that.path, that.flags, that.mode, function(err, fd) { + if (err) { + if (that.autoClose) + that.destroy(); + that.emit("error", err); } else { - this.onUnlockEvent(key, () => { - this.keys[key] = MutexLockStatus.LOCKED; - resolve5(); - }); + that.fd = fd; + that.emit("open", fd); + that.read(); } }); } - /** - * Unlock a key. - * - * @param key - - */ - static async unlock(key) { - return new Promise((resolve5) => { - if (this.keys[key] === MutexLockStatus.LOCKED) { - this.emitUnlockEvent(key); + function WriteStream(path7, options) { + if (this instanceof WriteStream) + return fs$WriteStream.apply(this, arguments), this; + else + return WriteStream.apply(Object.create(WriteStream.prototype), arguments); + } + function WriteStream$open() { + var that = this; + open(that.path, that.flags, that.mode, function(err, fd) { + if (err) { + that.destroy(); + that.emit("error", err); + } else { + that.fd = fd; + that.emit("open", fd); } - delete this.keys[key]; - resolve5(); }); } - static keys = {}; - static listeners = {}; - static onUnlockEvent(key, handler2) { - if (this.listeners[key] === void 0) { - this.listeners[key] = [handler2]; - } else { - this.listeners[key].push(handler2); - } + function createReadStream(path7, options) { + return new fs9.ReadStream(path7, options); } - static emitUnlockEvent(key) { - if (this.listeners[key] !== void 0 && this.listeners[key].length > 0) { - const handler2 = this.listeners[key].shift(); - setImmediate(() => { - handler2.call(this); + function createWriteStream3(path7, options) { + return new fs9.WriteStream(path7, options); + } + var fs$open = fs9.open; + fs9.open = open; + function open(path7, flags, mode, cb) { + if (typeof mode === "function") + cb = mode, mode = null; + return go$open(path7, flags, mode, cb); + function go$open(path8, flags2, mode2, cb2, startTime) { + return fs$open(path8, flags2, mode2, function(err, fd) { + if (err && (err.code === "EMFILE" || err.code === "ENFILE")) + enqueue([go$open, [path8, flags2, mode2, cb2], err, startTime || Date.now(), Date.now()]); + else { + if (typeof cb2 === "function") + cb2.apply(this, arguments); + } }); } } - }; - exports2.Mutex = Mutex; + return fs9; + } + function enqueue(elem) { + debug4("ENQUEUE", elem[0].name, elem[1]); + fs8[gracefulQueue].push(elem); + retry2(); + } + var retryTimer; + function resetQueue() { + var now = Date.now(); + for (var i = 0; i < fs8[gracefulQueue].length; ++i) { + if (fs8[gracefulQueue][i].length > 2) { + fs8[gracefulQueue][i][3] = now; + fs8[gracefulQueue][i][4] = now; + } + } + retry2(); + } + function retry2() { + clearTimeout(retryTimer); + retryTimer = void 0; + if (fs8[gracefulQueue].length === 0) + return; + var elem = fs8[gracefulQueue].shift(); + var fn = elem[0]; + var args = elem[1]; + var err = elem[2]; + var startTime = elem[3]; + var lastTime = elem[4]; + if (startTime === void 0) { + debug4("RETRY", fn.name, args); + fn.apply(null, args); + } else if (Date.now() - startTime >= 6e4) { + debug4("TIMEOUT", fn.name, args); + var cb = args.pop(); + if (typeof cb === "function") + cb.call(null, err); + } else { + var sinceAttempt = Date.now() - lastTime; + var sinceStart = Math.max(lastTime - startTime, 1); + var desiredDelay = Math.min(sinceStart * 1.2, 100); + if (sinceAttempt >= desiredDelay) { + debug4("RETRY", fn.name, args); + fn.apply(null, args.concat([startTime])); + } else { + fs8[gracefulQueue].push(elem); + } + } + if (retryTimer === void 0) { + retryTimer = setTimeout(retry2, 0); + } + } } }); -// node_modules/@azure/storage-blob/dist/commonjs/BlobBatch.js -var require_BlobBatch = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/BlobBatch.js"(exports2) { +// node_modules/archiver-utils/node_modules/is-stream/index.js +var require_is_stream = __commonJS({ + "node_modules/archiver-utils/node_modules/is-stream/index.js"(exports2, module2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.BlobBatch = void 0; - var core_util_1 = require_commonjs4(); - var core_auth_1 = require_commonjs7(); - var core_rest_pipeline_1 = require_commonjs6(); - var core_util_2 = require_commonjs4(); - var AnonymousCredential_js_1 = require_AnonymousCredential(); - var Clients_js_1 = require_Clients(); - var Mutex_js_1 = require_Mutex(); - var Pipeline_js_1 = require_Pipeline(); - var utils_common_js_1 = require_utils_common(); - var core_xml_1 = require_commonjs10(); - var constants_js_1 = require_constants15(); - var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential(); - var tracing_js_1 = require_tracing(); - var core_client_1 = require_commonjs8(); - var StorageSharedKeyCredentialPolicyV2_js_1 = require_StorageSharedKeyCredentialPolicyV22(); - var BlobBatch = class { - batchRequest; - batch = "batch"; - batchType; - constructor() { - this.batchRequest = new InnerBatchRequest(); - } - /** - * Get the value of Content-Type for a batch request. - * The value must be multipart/mixed with a batch boundary. - * Example: multipart/mixed; boundary=batch_a81786c8-e301-4e42-a729-a32ca24ae252 - */ - getMultiPartContentType() { - return this.batchRequest.getMultipartContentType(); - } - /** - * Get assembled HTTP request body for sub requests. - */ - getHttpRequestBody() { - return this.batchRequest.getHttpRequestBody(); - } - /** - * Get sub requests that are added into the batch request. - */ - getSubRequests() { - return this.batchRequest.getSubRequests(); - } - async addSubRequestInternal(subRequest, assembleSubRequestFunc) { - await Mutex_js_1.Mutex.lock(this.batch); - try { - this.batchRequest.preAddSubRequest(subRequest); - await assembleSubRequestFunc(); - this.batchRequest.postAddSubRequest(subRequest); - } finally { - await Mutex_js_1.Mutex.unlock(this.batch); - } - } - setBatchType(batchType) { - if (!this.batchType) { - this.batchType = batchType; - } - if (this.batchType !== batchType) { - throw new RangeError(`BlobBatch only supports one operation type per batch and it already is being used for ${this.batchType} operations.`); - } + var isStream = (stream) => stream !== null && typeof stream === "object" && typeof stream.pipe === "function"; + isStream.writable = (stream) => isStream(stream) && stream.writable !== false && typeof stream._write === "function" && typeof stream._writableState === "object"; + isStream.readable = (stream) => isStream(stream) && stream.readable !== false && typeof stream._read === "function" && typeof stream._readableState === "object"; + isStream.duplex = (stream) => isStream.writable(stream) && isStream.readable(stream); + isStream.transform = (stream) => isStream.duplex(stream) && typeof stream._transform === "function"; + module2.exports = isStream; + } +}); + +// node_modules/process-nextick-args/index.js +var require_process_nextick_args = __commonJS({ + "node_modules/process-nextick-args/index.js"(exports2, module2) { + "use strict"; + if (typeof process === "undefined" || !process.version || process.version.indexOf("v0.") === 0 || process.version.indexOf("v1.") === 0 && process.version.indexOf("v1.8.") !== 0) { + module2.exports = { nextTick }; + } else { + module2.exports = process; + } + function nextTick(fn, arg1, arg2, arg3) { + if (typeof fn !== "function") { + throw new TypeError('"callback" argument must be a function'); } - async deleteBlob(urlOrBlobClient, credentialOrOptions, options) { - let url; - let credential; - if (typeof urlOrBlobClient === "string" && (core_util_2.isNodeLike && credentialOrOptions instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrOptions instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrOptions))) { - url = urlOrBlobClient; - credential = credentialOrOptions; - } else if (urlOrBlobClient instanceof Clients_js_1.BlobClient) { - url = urlOrBlobClient.url; - credential = urlOrBlobClient.credential; - options = credentialOrOptions; - } else { - throw new RangeError("Invalid arguments. Either url and credential, or BlobClient need be provided."); - } - if (!options) { - options = {}; - } - return tracing_js_1.tracingClient.withSpan("BatchDeleteRequest-addSubRequest", options, async (updatedOptions) => { - this.setBatchType("delete"); - await this.addSubRequestInternal({ - url, - credential - }, async () => { - await new Clients_js_1.BlobClient(url, this.batchRequest.createPipeline(credential)).delete(updatedOptions); + var len = arguments.length; + var args, i; + switch (len) { + case 0: + case 1: + return process.nextTick(fn); + case 2: + return process.nextTick(function afterTickOne() { + fn.call(null, arg1); }); - }); - } - async setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions, options) { - let url; - let credential; - let tier; - if (typeof urlOrBlobClient === "string" && (core_util_2.isNodeLike && credentialOrTier instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrTier instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrTier))) { - url = urlOrBlobClient; - credential = credentialOrTier; - tier = tierOrOptions; - } else if (urlOrBlobClient instanceof Clients_js_1.BlobClient) { - url = urlOrBlobClient.url; - credential = urlOrBlobClient.credential; - tier = credentialOrTier; - options = tierOrOptions; - } else { - throw new RangeError("Invalid arguments. Either url and credential, or BlobClient need be provided."); - } - if (!options) { - options = {}; - } - return tracing_js_1.tracingClient.withSpan("BatchSetTierRequest-addSubRequest", options, async (updatedOptions) => { - this.setBatchType("setAccessTier"); - await this.addSubRequestInternal({ - url, - credential - }, async () => { - await new Clients_js_1.BlobClient(url, this.batchRequest.createPipeline(credential)).setAccessTier(tier, updatedOptions); + case 3: + return process.nextTick(function afterTickTwo() { + fn.call(null, arg1, arg2); + }); + case 4: + return process.nextTick(function afterTickThree() { + fn.call(null, arg1, arg2, arg3); + }); + default: + args = new Array(len - 1); + i = 0; + while (i < args.length) { + args[i++] = arguments[i]; + } + return process.nextTick(function afterTick() { + fn.apply(null, args); }); - }); } + } + } +}); + +// node_modules/lazystream/node_modules/isarray/index.js +var require_isarray = __commonJS({ + "node_modules/lazystream/node_modules/isarray/index.js"(exports2, module2) { + var toString2 = {}.toString; + module2.exports = Array.isArray || function(arr) { + return toString2.call(arr) == "[object Array]"; }; - exports2.BlobBatch = BlobBatch; - var InnerBatchRequest = class { - operationCount; - body; - subRequests; - boundary; - subRequestPrefix; - multipartContentType; - batchRequestEnding; - constructor() { - this.operationCount = 0; - this.body = ""; - const tempGuid = (0, core_util_1.randomUUID)(); - this.boundary = `batch_${tempGuid}`; - this.subRequestPrefix = `--${this.boundary}${constants_js_1.HTTP_LINE_ENDING}${constants_js_1.HeaderConstants.CONTENT_TYPE}: application/http${constants_js_1.HTTP_LINE_ENDING}${constants_js_1.HeaderConstants.CONTENT_TRANSFER_ENCODING}: binary`; - this.multipartContentType = `multipart/mixed; boundary=${this.boundary}`; - this.batchRequestEnding = `--${this.boundary}--`; - this.subRequests = /* @__PURE__ */ new Map(); + } +}); + +// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/stream.js +var require_stream = __commonJS({ + "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/stream.js"(exports2, module2) { + module2.exports = require("stream"); + } +}); + +// node_modules/lazystream/node_modules/safe-buffer/index.js +var require_safe_buffer = __commonJS({ + "node_modules/lazystream/node_modules/safe-buffer/index.js"(exports2, module2) { + var buffer = require("buffer"); + var Buffer2 = buffer.Buffer; + function copyProps(src, dst) { + for (var key in src) { + dst[key] = src[key]; } - /** - * Create pipeline to assemble sub requests. The idea here is to use existing - * credential and serialization/deserialization components, with additional policies to - * filter unnecessary headers, assemble sub requests into request's body - * and intercept request from going to wire. - * @param credential - Such as AnonymousCredential, StorageSharedKeyCredential or any credential from the `@azure/identity` package to authenticate requests to the service. You can also provide an object that implements the TokenCredential interface. If not specified, AnonymousCredential is used. - */ - createPipeline(credential) { - const corePipeline = (0, core_rest_pipeline_1.createEmptyPipeline)(); - corePipeline.addPolicy((0, core_client_1.serializationPolicy)({ - stringifyXML: core_xml_1.stringifyXML, - serializerOptions: { - xml: { - xmlCharKey: "#" - } - } - }), { phase: "Serialize" }); - corePipeline.addPolicy(batchHeaderFilterPolicy()); - corePipeline.addPolicy(batchRequestAssemblePolicy(this), { afterPhase: "Sign" }); - if ((0, core_auth_1.isTokenCredential)(credential)) { - corePipeline.addPolicy((0, core_rest_pipeline_1.bearerTokenAuthenticationPolicy)({ - credential, - scopes: constants_js_1.StorageOAuthScopes, - challengeCallbacks: { authorizeRequestOnChallenge: core_client_1.authorizeRequestOnTenantChallenge } - }), { phase: "Sign" }); - } else if (credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential) { - corePipeline.addPolicy((0, StorageSharedKeyCredentialPolicyV2_js_1.storageSharedKeyCredentialPolicy)({ - accountName: credential.accountName, - accountKey: credential.accountKey - }), { phase: "Sign" }); - } - const pipeline = new Pipeline_js_1.Pipeline([]); - pipeline._credential = credential; - pipeline._corePipeline = corePipeline; - return pipeline; + } + if (Buffer2.from && Buffer2.alloc && Buffer2.allocUnsafe && Buffer2.allocUnsafeSlow) { + module2.exports = buffer; + } else { + copyProps(buffer, exports2); + exports2.Buffer = SafeBuffer; + } + function SafeBuffer(arg, encodingOrOffset, length) { + return Buffer2(arg, encodingOrOffset, length); + } + copyProps(Buffer2, SafeBuffer); + SafeBuffer.from = function(arg, encodingOrOffset, length) { + if (typeof arg === "number") { + throw new TypeError("Argument must not be a number"); } - appendSubRequestToBody(request2) { - this.body += [ - this.subRequestPrefix, - // sub request constant prefix - `${constants_js_1.HeaderConstants.CONTENT_ID}: ${this.operationCount}`, - // sub request's content ID - "", - // empty line after sub request's content ID - `${request2.method.toString()} ${(0, utils_common_js_1.getURLPathAndQuery)(request2.url)} ${constants_js_1.HTTP_VERSION_1_1}${constants_js_1.HTTP_LINE_ENDING}` - // sub request start line with method - ].join(constants_js_1.HTTP_LINE_ENDING); - for (const [name, value] of request2.headers) { - this.body += `${name}: ${value}${constants_js_1.HTTP_LINE_ENDING}`; - } - this.body += constants_js_1.HTTP_LINE_ENDING; + return Buffer2(arg, encodingOrOffset, length); + }; + SafeBuffer.alloc = function(size, fill, encoding) { + if (typeof size !== "number") { + throw new TypeError("Argument must be a number"); } - preAddSubRequest(subRequest) { - if (this.operationCount >= constants_js_1.BATCH_MAX_REQUEST) { - throw new RangeError(`Cannot exceed ${constants_js_1.BATCH_MAX_REQUEST} sub requests in a single batch`); - } - const path7 = (0, utils_common_js_1.getURLPath)(subRequest.url); - if (!path7 || path7 === "") { - throw new RangeError(`Invalid url for sub request: '${subRequest.url}'`); + var buf = Buffer2(size); + if (fill !== void 0) { + if (typeof encoding === "string") { + buf.fill(fill, encoding); + } else { + buf.fill(fill); } + } else { + buf.fill(0); } - postAddSubRequest(subRequest) { - this.subRequests.set(this.operationCount, subRequest); - this.operationCount++; + return buf; + }; + SafeBuffer.allocUnsafe = function(size) { + if (typeof size !== "number") { + throw new TypeError("Argument must be a number"); } - // Return the http request body with assembling the ending line to the sub request body. - getHttpRequestBody() { - return `${this.body}${this.batchRequestEnding}${constants_js_1.HTTP_LINE_ENDING}`; + return Buffer2(size); + }; + SafeBuffer.allocUnsafeSlow = function(size) { + if (typeof size !== "number") { + throw new TypeError("Argument must be a number"); } - getMultipartContentType() { - return this.multipartContentType; + return buffer.SlowBuffer(size); + }; + } +}); + +// node_modules/core-util-is/lib/util.js +var require_util20 = __commonJS({ + "node_modules/core-util-is/lib/util.js"(exports2) { + function isArray(arg) { + if (Array.isArray) { + return Array.isArray(arg); } - getSubRequests() { - return this.subRequests; + return objectToString(arg) === "[object Array]"; + } + exports2.isArray = isArray; + function isBoolean2(arg) { + return typeof arg === "boolean"; + } + exports2.isBoolean = isBoolean2; + function isNull2(arg) { + return arg === null; + } + exports2.isNull = isNull2; + function isNullOrUndefined(arg) { + return arg == null; + } + exports2.isNullOrUndefined = isNullOrUndefined; + function isNumber(arg) { + return typeof arg === "number"; + } + exports2.isNumber = isNumber; + function isString(arg) { + return typeof arg === "string"; + } + exports2.isString = isString; + function isSymbol(arg) { + return typeof arg === "symbol"; + } + exports2.isSymbol = isSymbol; + function isUndefined(arg) { + return arg === void 0; + } + exports2.isUndefined = isUndefined; + function isRegExp(re) { + return objectToString(re) === "[object RegExp]"; + } + exports2.isRegExp = isRegExp; + function isObject2(arg) { + return typeof arg === "object" && arg !== null; + } + exports2.isObject = isObject2; + function isDate(d) { + return objectToString(d) === "[object Date]"; + } + exports2.isDate = isDate; + function isError(e) { + return objectToString(e) === "[object Error]" || e instanceof Error; + } + exports2.isError = isError; + function isFunction(arg) { + return typeof arg === "function"; + } + exports2.isFunction = isFunction; + function isPrimitive(arg) { + return arg === null || typeof arg === "boolean" || typeof arg === "number" || typeof arg === "string" || typeof arg === "symbol" || // ES6 symbol + typeof arg === "undefined"; + } + exports2.isPrimitive = isPrimitive; + exports2.isBuffer = require("buffer").Buffer.isBuffer; + function objectToString(o) { + return Object.prototype.toString.call(o); + } + } +}); + +// node_modules/inherits/inherits_browser.js +var require_inherits_browser = __commonJS({ + "node_modules/inherits/inherits_browser.js"(exports2, module2) { + if (typeof Object.create === "function") { + module2.exports = function inherits(ctor, superCtor) { + ctor.super_ = superCtor; + ctor.prototype = Object.create(superCtor.prototype, { + constructor: { + value: ctor, + enumerable: false, + writable: true, + configurable: true + } + }); + }; + } else { + module2.exports = function inherits(ctor, superCtor) { + ctor.super_ = superCtor; + var TempCtor = function() { + }; + TempCtor.prototype = superCtor.prototype; + ctor.prototype = new TempCtor(); + ctor.prototype.constructor = ctor; + }; + } + } +}); + +// node_modules/inherits/inherits.js +var require_inherits = __commonJS({ + "node_modules/inherits/inherits.js"(exports2, module2) { + try { + util = require("util"); + if (typeof util.inherits !== "function") throw ""; + module2.exports = util.inherits; + } catch (e) { + module2.exports = require_inherits_browser(); + } + var util; + } +}); + +// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/BufferList.js +var require_BufferList = __commonJS({ + "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/BufferList.js"(exports2, module2) { + "use strict"; + function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); } - }; - function batchRequestAssemblePolicy(batchRequest) { - return { - name: "batchRequestAssemblePolicy", - async sendRequest(request2) { - batchRequest.appendSubRequestToBody(request2); - return { - request: request2, - status: 200, - headers: (0, core_rest_pipeline_1.createHttpHeaders)() - }; + } + var Buffer2 = require_safe_buffer().Buffer; + var util = require("util"); + function copyBuffer(src, target, offset) { + src.copy(target, offset); + } + module2.exports = (function() { + function BufferList() { + _classCallCheck(this, BufferList); + this.head = null; + this.tail = null; + this.length = 0; + } + BufferList.prototype.push = function push(v) { + var entry = { data: v, next: null }; + if (this.length > 0) this.tail.next = entry; + else this.head = entry; + this.tail = entry; + ++this.length; + }; + BufferList.prototype.unshift = function unshift(v) { + var entry = { data: v, next: this.head }; + if (this.length === 0) this.tail = entry; + this.head = entry; + ++this.length; + }; + BufferList.prototype.shift = function shift() { + if (this.length === 0) return; + var ret = this.head.data; + if (this.length === 1) this.head = this.tail = null; + else this.head = this.head.next; + --this.length; + return ret; + }; + BufferList.prototype.clear = function clear() { + this.head = this.tail = null; + this.length = 0; + }; + BufferList.prototype.join = function join8(s) { + if (this.length === 0) return ""; + var p = this.head; + var ret = "" + p.data; + while (p = p.next) { + ret += s + p.data; } + return ret; }; - } - function batchHeaderFilterPolicy() { - return { - name: "batchHeaderFilterPolicy", - async sendRequest(request2, next) { - let xMsHeaderName = ""; - for (const [name] of request2.headers) { - if ((0, utils_common_js_1.iEqual)(name, constants_js_1.HeaderConstants.X_MS_VERSION)) { - xMsHeaderName = name; - } - } - if (xMsHeaderName !== "") { - request2.headers.delete(xMsHeaderName); - } - return next(request2); + BufferList.prototype.concat = function concat(n) { + if (this.length === 0) return Buffer2.alloc(0); + var ret = Buffer2.allocUnsafe(n >>> 0); + var p = this.head; + var i = 0; + while (p) { + copyBuffer(p.data, ret, i); + i += p.data.length; + p = p.next; } + return ret; + }; + return BufferList; + })(); + if (util && util.inspect && util.inspect.custom) { + module2.exports.prototype[util.inspect.custom] = function() { + var obj = util.inspect({ length: this.length }); + return this.constructor.name + " " + obj; }; } } }); -// node_modules/@azure/storage-blob/dist/commonjs/BlobBatchClient.js -var require_BlobBatchClient = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/BlobBatchClient.js"(exports2) { +// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/destroy.js +var require_destroy = __commonJS({ + "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/destroy.js"(exports2, module2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.BlobBatchClient = void 0; - var BatchResponseParser_js_1 = require_BatchResponseParser(); - var BatchUtils_js_1 = require_BatchUtils(); - var BlobBatch_js_1 = require_BlobBatch(); - var tracing_js_1 = require_tracing(); - var AnonymousCredential_js_1 = require_AnonymousCredential(); - var StorageContextClient_js_1 = require_StorageContextClient(); - var Pipeline_js_1 = require_Pipeline(); - var utils_common_js_1 = require_utils_common(); - var BlobBatchClient = class { - serviceOrContainerContext; - constructor(url, credentialOrPipeline, options) { - let pipeline; - if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipeline)) { - pipeline = credentialOrPipeline; - } else if (!credentialOrPipeline) { - pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); - } else { - pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipeline, options); - } - const storageClientContext = new StorageContextClient_js_1.StorageContextClient(url, (0, Pipeline_js_1.getCoreClientOptions)(pipeline)); - const path7 = (0, utils_common_js_1.getURLPath)(url); - if (path7 && path7 !== "/") { - this.serviceOrContainerContext = storageClientContext.container; - } else { - this.serviceOrContainerContext = storageClientContext.service; + var pna = require_process_nextick_args(); + function destroy(err, cb) { + var _this = this; + var readableDestroyed = this._readableState && this._readableState.destroyed; + var writableDestroyed = this._writableState && this._writableState.destroyed; + if (readableDestroyed || writableDestroyed) { + if (cb) { + cb(err); + } else if (err) { + if (!this._writableState) { + pna.nextTick(emitErrorNT, this, err); + } else if (!this._writableState.errorEmitted) { + this._writableState.errorEmitted = true; + pna.nextTick(emitErrorNT, this, err); + } } + return this; } - /** - * Creates a {@link BlobBatch}. - * A BlobBatch represents an aggregated set of operations on blobs. - */ - createBatch() { - return new BlobBatch_js_1.BlobBatch(); + if (this._readableState) { + this._readableState.destroyed = true; } - async deleteBlobs(urlsOrBlobClients, credentialOrOptions, options) { - const batch = new BlobBatch_js_1.BlobBatch(); - for (const urlOrBlobClient of urlsOrBlobClients) { - if (typeof urlOrBlobClient === "string") { - await batch.deleteBlob(urlOrBlobClient, credentialOrOptions, options); - } else { - await batch.deleteBlob(urlOrBlobClient, credentialOrOptions); - } - } - return this.submitBatch(batch); + if (this._writableState) { + this._writableState.destroyed = true; } - async setBlobsAccessTier(urlsOrBlobClients, credentialOrTier, tierOrOptions, options) { - const batch = new BlobBatch_js_1.BlobBatch(); - for (const urlOrBlobClient of urlsOrBlobClients) { - if (typeof urlOrBlobClient === "string") { - await batch.setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions, options); - } else { - await batch.setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions); + this._destroy(err || null, function(err2) { + if (!cb && err2) { + if (!_this._writableState) { + pna.nextTick(emitErrorNT, _this, err2); + } else if (!_this._writableState.errorEmitted) { + _this._writableState.errorEmitted = true; + pna.nextTick(emitErrorNT, _this, err2); } + } else if (cb) { + cb(err2); } - return this.submitBatch(batch); + }); + return this; + } + function undestroy() { + if (this._readableState) { + this._readableState.destroyed = false; + this._readableState.reading = false; + this._readableState.ended = false; + this._readableState.endEmitted = false; } - /** - * Submit batch request which consists of multiple subrequests. - * - * Get `blobBatchClient` and other details before running the snippets. - * `blobServiceClient.getBlobBatchClient()` gives the `blobBatchClient` - * - * Example usage: - * - * ```ts snippet:BlobBatchClientSubmitBatch - * import { DefaultAzureCredential } from "@azure/identity"; - * import { BlobServiceClient, BlobBatch } from "@azure/storage-blob"; - * - * const account = ""; - * const credential = new DefaultAzureCredential(); - * const blobServiceClient = new BlobServiceClient( - * `https://${account}.blob.core.windows.net`, - * credential, - * ); - * - * const containerName = ""; - * const containerClient = blobServiceClient.getContainerClient(containerName); - * const blobBatchClient = containerClient.getBlobBatchClient(); - * - * const batchRequest = new BlobBatch(); - * await batchRequest.deleteBlob("", credential); - * await batchRequest.deleteBlob("", credential, { - * deleteSnapshots: "include", - * }); - * const batchResp = await blobBatchClient.submitBatch(batchRequest); - * console.log(batchResp.subResponsesSucceededCount); - * ``` - * - * Example using a lease: - * - * ```ts snippet:BlobBatchClientSubmitBatchWithLease - * import { DefaultAzureCredential } from "@azure/identity"; - * import { BlobServiceClient, BlobBatch } from "@azure/storage-blob"; - * - * const account = ""; - * const credential = new DefaultAzureCredential(); - * const blobServiceClient = new BlobServiceClient( - * `https://${account}.blob.core.windows.net`, - * credential, - * ); - * - * const containerName = ""; - * const containerClient = blobServiceClient.getContainerClient(containerName); - * const blobBatchClient = containerClient.getBlobBatchClient(); - * const blobClient = containerClient.getBlobClient(""); - * - * const batchRequest = new BlobBatch(); - * await batchRequest.setBlobAccessTier(blobClient, "Cool"); - * await batchRequest.setBlobAccessTier(blobClient, "Cool", { - * conditions: { leaseId: "" }, - * }); - * const batchResp = await blobBatchClient.submitBatch(batchRequest); - * console.log(batchResp.subResponsesSucceededCount); - * ``` - * - * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch - * - * @param batchRequest - A set of Delete or SetTier operations. - * @param options - - */ - async submitBatch(batchRequest, options = {}) { - if (!batchRequest || batchRequest.getSubRequests().size === 0) { - throw new RangeError("Batch request should contain one or more sub requests."); - } - return tracing_js_1.tracingClient.withSpan("BlobBatchClient-submitBatch", options, async (updatedOptions) => { - const batchRequestBody = batchRequest.getHttpRequestBody(); - const rawBatchResponse = (0, utils_common_js_1.assertResponse)(await this.serviceOrContainerContext.submitBatch((0, BatchUtils_js_1.utf8ByteLength)(batchRequestBody), batchRequest.getMultiPartContentType(), batchRequestBody, { - ...updatedOptions - })); - const batchResponseParser = new BatchResponseParser_js_1.BatchResponseParser(rawBatchResponse, batchRequest.getSubRequests()); - const responseSummary = await batchResponseParser.parseBatchResponse(); - const res = { - _response: rawBatchResponse._response, - contentType: rawBatchResponse.contentType, - errorCode: rawBatchResponse.errorCode, - requestId: rawBatchResponse.requestId, - clientRequestId: rawBatchResponse.clientRequestId, - version: rawBatchResponse.version, - subResponses: responseSummary.subResponses, - subResponsesSucceededCount: responseSummary.subResponsesSucceededCount, - subResponsesFailedCount: responseSummary.subResponsesFailedCount - }; - return res; - }); + if (this._writableState) { + this._writableState.destroyed = false; + this._writableState.ended = false; + this._writableState.ending = false; + this._writableState.finalCalled = false; + this._writableState.prefinished = false; + this._writableState.finished = false; + this._writableState.errorEmitted = false; } + } + function emitErrorNT(self2, err) { + self2.emit("error", err); + } + module2.exports = { + destroy, + undestroy }; - exports2.BlobBatchClient = BlobBatchClient; } }); -// node_modules/@azure/storage-blob/dist/commonjs/ContainerClient.js -var require_ContainerClient = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/ContainerClient.js"(exports2) { +// node_modules/util-deprecate/node.js +var require_node2 = __commonJS({ + "node_modules/util-deprecate/node.js"(exports2, module2) { + module2.exports = require("util").deprecate; + } +}); + +// node_modules/lazystream/node_modules/readable-stream/lib/_stream_writable.js +var require_stream_writable = __commonJS({ + "node_modules/lazystream/node_modules/readable-stream/lib/_stream_writable.js"(exports2, module2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.ContainerClient = void 0; - var core_rest_pipeline_1 = require_commonjs6(); - var core_util_1 = require_commonjs4(); - var core_auth_1 = require_commonjs7(); - var AnonymousCredential_js_1 = require_AnonymousCredential(); - var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential(); - var Pipeline_js_1 = require_Pipeline(); - var StorageClient_js_1 = require_StorageClient(); - var tracing_js_1 = require_tracing(); - var utils_common_js_1 = require_utils_common(); - var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues(); - var BlobLeaseClient_js_1 = require_BlobLeaseClient(); - var Clients_js_1 = require_Clients(); - var BlobBatchClient_js_1 = require_BlobBatchClient(); - var ContainerClient = class extends StorageClient_js_1.StorageClient { - /** - * containerContext provided by protocol layer. - */ - containerContext; - _containerName; - /** - * The name of the container. - */ - get containerName() { - return this._containerName; - } - constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, options) { - let pipeline; - let url; - options = options || {}; - if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) { - url = urlOrConnectionString; - pipeline = credentialOrPipelineOrContainerName; - } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) { - url = urlOrConnectionString; - pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options); - } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") { - url = urlOrConnectionString; - pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); - } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string") { - const containerName = credentialOrPipelineOrContainerName; - const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString); - if (extractedCreds.kind === "AccountConnString") { - if (core_util_1.isNodeLike) { - const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey); - url = (0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)); - if (!options.proxyOptions) { - options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri); - } - pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options); - } else { - throw new Error("Account connection string is only supported in Node.js environment"); - } - } else if (extractedCreds.kind === "SASConnString") { - url = (0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)) + "?" + extractedCreds.accountSas; - pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); - } else { - throw new Error("Connection string must be either an Account connection string or a SAS connection string"); - } - } else { - throw new Error("Expecting non-empty strings for containerName parameter"); - } - super(url, pipeline); - this._containerName = this.getContainerNameFromUrl(); - this.containerContext = this.storageClientContext.container; - } - /** - * Creates a new container under the specified account. If the container with - * the same name already exists, the operation fails. - * @see https://learn.microsoft.com/rest/api/storageservices/create-container - * Naming rules: @see https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata - * - * @param options - Options to Container Create operation. - * - * - * Example usage: - * - * ```ts snippet:ContainerClientCreate - * import { BlobServiceClient } from "@azure/storage-blob"; - * import { DefaultAzureCredential } from "@azure/identity"; - * - * const account = ""; - * const blobServiceClient = new BlobServiceClient( - * `https://${account}.blob.core.windows.net`, - * new DefaultAzureCredential(), - * ); - * - * const containerName = ""; - * const containerClient = blobServiceClient.getContainerClient(containerName); - * const createContainerResponse = await containerClient.create(); - * console.log("Container was created successfully", createContainerResponse.requestId); - * ``` - */ - async create(options = {}) { - return tracing_js_1.tracingClient.withSpan("ContainerClient-create", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.containerContext.create(updatedOptions)); - }); - } - /** - * Creates a new container under the specified account. If the container with - * the same name already exists, it is not changed. - * @see https://learn.microsoft.com/rest/api/storageservices/create-container - * Naming rules: @see https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata - * - * @param options - - */ - async createIfNotExists(options = {}) { - return tracing_js_1.tracingClient.withSpan("ContainerClient-createIfNotExists", options, async (updatedOptions) => { - try { - const res = await this.create(updatedOptions); - return { - succeeded: true, - ...res, - _response: res._response - // _response is made non-enumerable - }; - } catch (e) { - if (e.details?.errorCode === "ContainerAlreadyExists") { - return { - succeeded: false, - ...e.response?.parsedHeaders, - _response: e.response - }; - } else { - throw e; - } - } - }); - } - /** - * Returns true if the Azure container resource represented by this client exists; false otherwise. - * - * NOTE: use this function with care since an existing container might be deleted by other clients or - * applications. Vice versa new containers with the same name might be added by other clients or - * applications after this function completes. - * - * @param options - - */ - async exists(options = {}) { - return tracing_js_1.tracingClient.withSpan("ContainerClient-exists", options, async (updatedOptions) => { - try { - await this.getProperties({ - abortSignal: options.abortSignal, - tracingOptions: updatedOptions.tracingOptions - }); - return true; - } catch (e) { - if (e.statusCode === 404) { - return false; - } - throw e; - } - }); - } - /** - * Creates a {@link BlobClient} - * - * @param blobName - A blob name - * @returns A new BlobClient object for the given blob name. - */ - getBlobClient(blobName) { - return new Clients_js_1.BlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline); - } - /** - * Creates an {@link AppendBlobClient} - * - * @param blobName - An append blob name - */ - getAppendBlobClient(blobName) { - return new Clients_js_1.AppendBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline); - } - /** - * Creates a {@link BlockBlobClient} - * - * @param blobName - A block blob name - * - * - * Example usage: - * - * ```ts snippet:ClientsUpload - * import { BlobServiceClient } from "@azure/storage-blob"; - * import { DefaultAzureCredential } from "@azure/identity"; - * - * const account = ""; - * const blobServiceClient = new BlobServiceClient( - * `https://${account}.blob.core.windows.net`, - * new DefaultAzureCredential(), - * ); - * - * const containerName = ""; - * const blobName = ""; - * const containerClient = blobServiceClient.getContainerClient(containerName); - * const blockBlobClient = containerClient.getBlockBlobClient(blobName); - * - * const content = "Hello world!"; - * const uploadBlobResponse = await blockBlobClient.upload(content, content.length); - * ``` - */ - getBlockBlobClient(blobName) { - return new Clients_js_1.BlockBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline); - } - /** - * Creates a {@link PageBlobClient} - * - * @param blobName - A page blob name - */ - getPageBlobClient(blobName) { - return new Clients_js_1.PageBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline); + var pna = require_process_nextick_args(); + module2.exports = Writable; + function CorkedRequest(state) { + var _this = this; + this.next = null; + this.entry = null; + this.finish = function() { + onCorkedFinish(_this, state); + }; + } + var asyncWrite = !process.browser && ["v0.10", "v0.9."].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick; + var Duplex; + Writable.WritableState = WritableState; + var util = Object.create(require_util20()); + util.inherits = require_inherits(); + var internalUtil = { + deprecate: require_node2() + }; + var Stream = require_stream(); + var Buffer2 = require_safe_buffer().Buffer; + var OurUint8Array = (typeof global !== "undefined" ? global : typeof window !== "undefined" ? window : typeof self !== "undefined" ? self : {}).Uint8Array || function() { + }; + function _uint8ArrayToBuffer(chunk) { + return Buffer2.from(chunk); + } + function _isUint8Array(obj) { + return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array; + } + var destroyImpl = require_destroy(); + util.inherits(Writable, Stream); + function nop() { + } + function WritableState(options, stream) { + Duplex = Duplex || require_stream_duplex(); + options = options || {}; + var isDuplex = stream instanceof Duplex; + this.objectMode = !!options.objectMode; + if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode; + var hwm = options.highWaterMark; + var writableHwm = options.writableHighWaterMark; + var defaultHwm = this.objectMode ? 16 : 16 * 1024; + if (hwm || hwm === 0) this.highWaterMark = hwm; + else if (isDuplex && (writableHwm || writableHwm === 0)) this.highWaterMark = writableHwm; + else this.highWaterMark = defaultHwm; + this.highWaterMark = Math.floor(this.highWaterMark); + this.finalCalled = false; + this.needDrain = false; + this.ending = false; + this.ended = false; + this.finished = false; + this.destroyed = false; + var noDecode = options.decodeStrings === false; + this.decodeStrings = !noDecode; + this.defaultEncoding = options.defaultEncoding || "utf8"; + this.length = 0; + this.writing = false; + this.corked = 0; + this.sync = true; + this.bufferProcessing = false; + this.onwrite = function(er) { + onwrite(stream, er); + }; + this.writecb = null; + this.writelen = 0; + this.bufferedRequest = null; + this.lastBufferedRequest = null; + this.pendingcb = 0; + this.prefinished = false; + this.errorEmitted = false; + this.bufferedRequestCount = 0; + this.corkedRequestsFree = new CorkedRequest(this); + } + WritableState.prototype.getBuffer = function getBuffer() { + var current = this.bufferedRequest; + var out = []; + while (current) { + out.push(current); + current = current.next; } - /** - * Returns all user-defined metadata and system properties for the specified - * container. The data returned does not include the container's list of blobs. - * @see https://learn.microsoft.com/rest/api/storageservices/get-container-properties - * - * WARNING: The `metadata` object returned in the response will have its keys in lowercase, even if - * they originally contained uppercase characters. This differs from the metadata keys returned by - * the `listContainers` method of {@link BlobServiceClient} using the `includeMetadata` option, which - * will retain their original casing. - * - * @param options - Options to Container Get Properties operation. - */ - async getProperties(options = {}) { - if (!options.conditions) { - options.conditions = {}; - } - return tracing_js_1.tracingClient.withSpan("ContainerClient-getProperties", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.containerContext.getProperties({ - abortSignal: options.abortSignal, - ...options.conditions, - tracingOptions: updatedOptions.tracingOptions - })); + return out; + }; + (function() { + try { + Object.defineProperty(WritableState.prototype, "buffer", { + get: internalUtil.deprecate(function() { + return this.getBuffer(); + }, "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.", "DEP0003") }); + } catch (_2) { } - /** - * Marks the specified container for deletion. The container and any blobs - * contained within it are later deleted during garbage collection. - * @see https://learn.microsoft.com/rest/api/storageservices/delete-container - * - * @param options - Options to Container Delete operation. - */ - async delete(options = {}) { - if (!options.conditions) { - options.conditions = {}; + })(); + var realHasInstance; + if (typeof Symbol === "function" && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === "function") { + realHasInstance = Function.prototype[Symbol.hasInstance]; + Object.defineProperty(Writable, Symbol.hasInstance, { + value: function(object) { + if (realHasInstance.call(this, object)) return true; + if (this !== Writable) return false; + return object && object._writableState instanceof WritableState; } - return tracing_js_1.tracingClient.withSpan("ContainerClient-delete", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.containerContext.delete({ - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: options.conditions, - tracingOptions: updatedOptions.tracingOptions - })); - }); + }); + } else { + realHasInstance = function(object) { + return object instanceof this; + }; + } + function Writable(options) { + Duplex = Duplex || require_stream_duplex(); + if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) { + return new Writable(options); } - /** - * Marks the specified container for deletion if it exists. The container and any blobs - * contained within it are later deleted during garbage collection. - * @see https://learn.microsoft.com/rest/api/storageservices/delete-container - * - * @param options - Options to Container Delete operation. - */ - async deleteIfExists(options = {}) { - return tracing_js_1.tracingClient.withSpan("ContainerClient-deleteIfExists", options, async (updatedOptions) => { - try { - const res = await this.delete(updatedOptions); - return { - succeeded: true, - ...res, - _response: res._response - }; - } catch (e) { - if (e.details?.errorCode === "ContainerNotFound") { - return { - succeeded: false, - ...e.response?.parsedHeaders, - _response: e.response - }; - } - throw e; - } - }); + this._writableState = new WritableState(options, this); + this.writable = true; + if (options) { + if (typeof options.write === "function") this._write = options.write; + if (typeof options.writev === "function") this._writev = options.writev; + if (typeof options.destroy === "function") this._destroy = options.destroy; + if (typeof options.final === "function") this._final = options.final; } - /** - * Sets one or more user-defined name-value pairs for the specified container. - * - * If no option provided, or no metadata defined in the parameter, the container - * metadata will be removed. - * - * @see https://learn.microsoft.com/rest/api/storageservices/set-container-metadata - * - * @param metadata - Replace existing metadata with this value. - * If no value provided the existing metadata will be removed. - * @param options - Options to Container Set Metadata operation. - */ - async setMetadata(metadata, options = {}) { - if (!options.conditions) { - options.conditions = {}; - } - if (options.conditions.ifUnmodifiedSince) { - throw new RangeError("the IfUnmodifiedSince must have their default values because they are ignored by the blob service"); - } - return tracing_js_1.tracingClient.withSpan("ContainerClient-setMetadata", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.containerContext.setMetadata({ - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - metadata, - modifiedAccessConditions: options.conditions, - tracingOptions: updatedOptions.tracingOptions - })); - }); + Stream.call(this); + } + Writable.prototype.pipe = function() { + this.emit("error", new Error("Cannot pipe, not readable")); + }; + function writeAfterEnd(stream, cb) { + var er = new Error("write after end"); + stream.emit("error", er); + pna.nextTick(cb, er); + } + function validChunk(stream, state, chunk, cb) { + var valid3 = true; + var er = false; + if (chunk === null) { + er = new TypeError("May not write null values to stream"); + } else if (typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) { + er = new TypeError("Invalid non-string/buffer chunk"); } - /** - * Gets the permissions for the specified container. The permissions indicate - * whether container data may be accessed publicly. - * - * WARNING: JavaScript Date will potentially lose precision when parsing startsOn and expiresOn strings. - * For example, new Date("2018-12-31T03:44:23.8827891Z").toISOString() will get "2018-12-31T03:44:23.882Z". - * - * @see https://learn.microsoft.com/rest/api/storageservices/get-container-acl - * - * @param options - Options to Container Get Access Policy operation. - */ - async getAccessPolicy(options = {}) { - if (!options.conditions) { - options.conditions = {}; - } - return tracing_js_1.tracingClient.withSpan("ContainerClient-getAccessPolicy", options, async (updatedOptions) => { - const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.getAccessPolicy({ - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - tracingOptions: updatedOptions.tracingOptions - })); - const res = { - _response: response._response, - blobPublicAccess: response.blobPublicAccess, - date: response.date, - etag: response.etag, - errorCode: response.errorCode, - lastModified: response.lastModified, - requestId: response.requestId, - clientRequestId: response.clientRequestId, - signedIdentifiers: [], - version: response.version - }; - for (const identifier of response) { - let accessPolicy = void 0; - if (identifier.accessPolicy) { - accessPolicy = { - permissions: identifier.accessPolicy.permissions - }; - if (identifier.accessPolicy.expiresOn) { - accessPolicy.expiresOn = new Date(identifier.accessPolicy.expiresOn); - } - if (identifier.accessPolicy.startsOn) { - accessPolicy.startsOn = new Date(identifier.accessPolicy.startsOn); - } - } - res.signedIdentifiers.push({ - accessPolicy, - id: identifier.id - }); - } - return res; - }); + if (er) { + stream.emit("error", er); + pna.nextTick(cb, er); + valid3 = false; } - /** - * Sets the permissions for the specified container. The permissions indicate - * whether blobs in a container may be accessed publicly. - * - * When you set permissions for a container, the existing permissions are replaced. - * If no access or containerAcl provided, the existing container ACL will be - * removed. - * - * When you establish a stored access policy on a container, it may take up to 30 seconds to take effect. - * During this interval, a shared access signature that is associated with the stored access policy will - * fail with status code 403 (Forbidden), until the access policy becomes active. - * @see https://learn.microsoft.com/rest/api/storageservices/set-container-acl - * - * @param access - The level of public access to data in the container. - * @param containerAcl - Array of elements each having a unique Id and details of the access policy. - * @param options - Options to Container Set Access Policy operation. - */ - async setAccessPolicy(access, containerAcl, options = {}) { - options.conditions = options.conditions || {}; - return tracing_js_1.tracingClient.withSpan("ContainerClient-setAccessPolicy", options, async (updatedOptions) => { - const acl = []; - for (const identifier of containerAcl || []) { - acl.push({ - accessPolicy: { - expiresOn: identifier.accessPolicy.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(identifier.accessPolicy.expiresOn) : "", - permissions: identifier.accessPolicy.permissions, - startsOn: identifier.accessPolicy.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(identifier.accessPolicy.startsOn) : "" - }, - id: identifier.id - }); - } - return (0, utils_common_js_1.assertResponse)(await this.containerContext.setAccessPolicy({ - abortSignal: options.abortSignal, - access, - containerAcl: acl, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: options.conditions, - tracingOptions: updatedOptions.tracingOptions - })); - }); + return valid3; + } + Writable.prototype.write = function(chunk, encoding, cb) { + var state = this._writableState; + var ret = false; + var isBuf = !state.objectMode && _isUint8Array(chunk); + if (isBuf && !Buffer2.isBuffer(chunk)) { + chunk = _uint8ArrayToBuffer(chunk); } - /** - * Get a {@link BlobLeaseClient} that manages leases on the container. - * - * @param proposeLeaseId - Initial proposed lease Id. - * @returns A new BlobLeaseClient object for managing leases on the container. - */ - getBlobLeaseClient(proposeLeaseId) { - return new BlobLeaseClient_js_1.BlobLeaseClient(this, proposeLeaseId); + if (typeof encoding === "function") { + cb = encoding; + encoding = null; } - /** - * Creates a new block blob, or updates the content of an existing block blob. - * - * Updating an existing block blob overwrites any existing metadata on the blob. - * Partial updates are not supported; the content of the existing blob is - * overwritten with the new content. To perform a partial update of a block blob's, - * use {@link BlockBlobClient.stageBlock} and {@link BlockBlobClient.commitBlockList}. - * - * This is a non-parallel uploading method, please use {@link BlockBlobClient.uploadFile}, - * {@link BlockBlobClient.uploadStream} or {@link BlockBlobClient.uploadBrowserData} for better - * performance with concurrency uploading. - * - * @see https://learn.microsoft.com/rest/api/storageservices/put-blob - * - * @param blobName - Name of the block blob to create or update. - * @param body - Blob, string, ArrayBuffer, ArrayBufferView or a function - * which returns a new Readable stream whose offset is from data source beginning. - * @param contentLength - Length of body in bytes. Use Buffer.byteLength() to calculate body length for a - * string including non non-Base64/Hex-encoded characters. - * @param options - Options to configure the Block Blob Upload operation. - * @returns Block Blob upload response data and the corresponding BlockBlobClient instance. - */ - async uploadBlockBlob(blobName, body, contentLength, options = {}) { - return tracing_js_1.tracingClient.withSpan("ContainerClient-uploadBlockBlob", options, async (updatedOptions) => { - const blockBlobClient = this.getBlockBlobClient(blobName); - const response = await blockBlobClient.upload(body, contentLength, updatedOptions); - return { - blockBlobClient, - response - }; - }); + if (isBuf) encoding = "buffer"; + else if (!encoding) encoding = state.defaultEncoding; + if (typeof cb !== "function") cb = nop; + if (state.ended) writeAfterEnd(this, cb); + else if (isBuf || validChunk(this, state, chunk, cb)) { + state.pendingcb++; + ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb); } - /** - * Marks the specified blob or snapshot for deletion. The blob is later deleted - * during garbage collection. Note that in order to delete a blob, you must delete - * all of its snapshots. You can delete both at the same time with the Delete - * Blob operation. - * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob - * - * @param blobName - - * @param options - Options to Blob Delete operation. - * @returns Block blob deletion response data. - */ - async deleteBlob(blobName, options = {}) { - return tracing_js_1.tracingClient.withSpan("ContainerClient-deleteBlob", options, async (updatedOptions) => { - let blobClient = this.getBlobClient(blobName); - if (options.versionId) { - blobClient = blobClient.withVersion(options.versionId); - } - return blobClient.delete(updatedOptions); - }); + return ret; + }; + Writable.prototype.cork = function() { + var state = this._writableState; + state.corked++; + }; + Writable.prototype.uncork = function() { + var state = this._writableState; + if (state.corked) { + state.corked--; + if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state); } - /** - * listBlobFlatSegment returns a single segment of blobs starting from the - * specified Marker. Use an empty Marker to start enumeration from the beginning. - * After getting a segment, process it, and then call listBlobsFlatSegment again - * (passing the the previously-returned Marker) to get the next segment. - * @see https://learn.microsoft.com/rest/api/storageservices/list-blobs - * - * @param marker - A string value that identifies the portion of the list to be returned with the next list operation. - * @param options - Options to Container List Blob Flat Segment operation. - */ - async listBlobFlatSegment(marker, options = {}) { - return tracing_js_1.tracingClient.withSpan("ContainerClient-listBlobFlatSegment", options, async (updatedOptions) => { - const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.listBlobFlatSegment({ - marker, - ...options, - tracingOptions: updatedOptions.tracingOptions - })); - const wrappedResponse = { - ...response, - _response: { - ...response._response, - parsedBody: (0, utils_common_js_1.ConvertInternalResponseOfListBlobFlat)(response._response.parsedBody) - }, - // _response is made non-enumerable - segment: { - ...response.segment, - blobItems: response.segment.blobItems.map((blobItemInternal) => { - const blobItem = { - ...blobItemInternal, - name: (0, utils_common_js_1.BlobNameToString)(blobItemInternal.name), - tags: (0, utils_common_js_1.toTags)(blobItemInternal.blobTags), - objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(blobItemInternal.objectReplicationMetadata) - }; - return blobItem; - }) - } - }; - return wrappedResponse; - }); + }; + Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) { + if (typeof encoding === "string") encoding = encoding.toLowerCase(); + if (!(["hex", "utf8", "utf-8", "ascii", "binary", "base64", "ucs2", "ucs-2", "utf16le", "utf-16le", "raw"].indexOf((encoding + "").toLowerCase()) > -1)) throw new TypeError("Unknown encoding: " + encoding); + this._writableState.defaultEncoding = encoding; + return this; + }; + function decodeChunk(state, chunk, encoding) { + if (!state.objectMode && state.decodeStrings !== false && typeof chunk === "string") { + chunk = Buffer2.from(chunk, encoding); } - /** - * listBlobHierarchySegment returns a single segment of blobs starting from - * the specified Marker. Use an empty Marker to start enumeration from the - * beginning. After getting a segment, process it, and then call listBlobsHierarchicalSegment - * again (passing the the previously-returned Marker) to get the next segment. - * @see https://learn.microsoft.com/rest/api/storageservices/list-blobs - * - * @param delimiter - The character or string used to define the virtual hierarchy - * @param marker - A string value that identifies the portion of the list to be returned with the next list operation. - * @param options - Options to Container List Blob Hierarchy Segment operation. - */ - async listBlobHierarchySegment(delimiter, marker, options = {}) { - return tracing_js_1.tracingClient.withSpan("ContainerClient-listBlobHierarchySegment", options, async (updatedOptions) => { - const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.listBlobHierarchySegment(delimiter, { - marker, - ...options, - tracingOptions: updatedOptions.tracingOptions - })); - const wrappedResponse = { - ...response, - _response: { - ...response._response, - parsedBody: (0, utils_common_js_1.ConvertInternalResponseOfListBlobHierarchy)(response._response.parsedBody) - }, - // _response is made non-enumerable - segment: { - ...response.segment, - blobItems: response.segment.blobItems.map((blobItemInternal) => { - const blobItem = { - ...blobItemInternal, - name: (0, utils_common_js_1.BlobNameToString)(blobItemInternal.name), - tags: (0, utils_common_js_1.toTags)(blobItemInternal.blobTags), - objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(blobItemInternal.objectReplicationMetadata) - }; - return blobItem; - }), - blobPrefixes: response.segment.blobPrefixes?.map((blobPrefixInternal) => { - const blobPrefix = { - ...blobPrefixInternal, - name: (0, utils_common_js_1.BlobNameToString)(blobPrefixInternal.name) - }; - return blobPrefix; - }) - } - }; - return wrappedResponse; - }); + return chunk; + } + Object.defineProperty(Writable.prototype, "writableHighWaterMark", { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function() { + return this._writableState.highWaterMark; } - /** - * Returns an AsyncIterableIterator for ContainerListBlobFlatSegmentResponse - * - * @param marker - A string value that identifies the portion of - * the list of blobs to be returned with the next listing operation. The - * operation returns the ContinuationToken value within the response body if the - * listing operation did not return all blobs remaining to be listed - * with the current page. The ContinuationToken value can be used as the value for - * the marker parameter in a subsequent call to request the next page of list - * items. The marker value is opaque to the client. - * @param options - Options to list blobs operation. - */ - async *listSegments(marker, options = {}) { - let listBlobsFlatSegmentResponse; - if (!!marker || marker === void 0) { - do { - listBlobsFlatSegmentResponse = await this.listBlobFlatSegment(marker, options); - marker = listBlobsFlatSegmentResponse.continuationToken; - yield await listBlobsFlatSegmentResponse; - } while (marker); + }); + function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) { + if (!isBuf) { + var newChunk = decodeChunk(state, chunk, encoding); + if (chunk !== newChunk) { + isBuf = true; + encoding = "buffer"; + chunk = newChunk; } } - /** - * Returns an AsyncIterableIterator of {@link BlobItem} objects - * - * @param options - Options to list blobs operation. - */ - async *listItems(options = {}) { - let marker; - for await (const listBlobsFlatSegmentResponse of this.listSegments(marker, options)) { - yield* listBlobsFlatSegmentResponse.segment.blobItems; + var len = state.objectMode ? 1 : chunk.length; + state.length += len; + var ret = state.length < state.highWaterMark; + if (!ret) state.needDrain = true; + if (state.writing || state.corked) { + var last = state.lastBufferedRequest; + state.lastBufferedRequest = { + chunk, + encoding, + isBuf, + callback: cb, + next: null + }; + if (last) { + last.next = state.lastBufferedRequest; + } else { + state.bufferedRequest = state.lastBufferedRequest; } + state.bufferedRequestCount += 1; + } else { + doWrite(stream, state, false, len, chunk, encoding, cb); } - /** - * Returns an async iterable iterator to list all the blobs - * under the specified account. - * - * .byPage() returns an async iterable iterator to list the blobs in pages. - * - * ```ts snippet:ReadmeSampleListBlobs_Multiple - * import { BlobServiceClient } from "@azure/storage-blob"; - * import { DefaultAzureCredential } from "@azure/identity"; - * - * const account = ""; - * const blobServiceClient = new BlobServiceClient( - * `https://${account}.blob.core.windows.net`, - * new DefaultAzureCredential(), - * ); - * - * const containerName = ""; - * const containerClient = blobServiceClient.getContainerClient(containerName); - * - * // Example using `for await` syntax - * let i = 1; - * const blobs = containerClient.listBlobsFlat(); - * for await (const blob of blobs) { - * console.log(`Blob ${i++}: ${blob.name}`); - * } - * - * // Example using `iter.next()` syntax - * i = 1; - * const iter = containerClient.listBlobsFlat(); - * let { value, done } = await iter.next(); - * while (!done) { - * console.log(`Blob ${i++}: ${value.name}`); - * ({ value, done } = await iter.next()); - * } - * - * // Example using `byPage()` syntax - * i = 1; - * for await (const page of containerClient.listBlobsFlat().byPage({ maxPageSize: 20 })) { - * for (const blob of page.segment.blobItems) { - * console.log(`Blob ${i++}: ${blob.name}`); - * } - * } - * - * // Example using paging with a marker - * i = 1; - * let iterator = containerClient.listBlobsFlat().byPage({ maxPageSize: 2 }); - * let response = (await iterator.next()).value; - * // Prints 2 blob names - * if (response.segment.blobItems) { - * for (const blob of response.segment.blobItems) { - * console.log(`Blob ${i++}: ${blob.name}`); - * } - * } - * // Gets next marker - * let marker = response.continuationToken; - * // Passing next marker as continuationToken - * iterator = containerClient.listBlobsFlat().byPage({ continuationToken: marker, maxPageSize: 10 }); - * response = (await iterator.next()).value; - * // Prints 10 blob names - * if (response.segment.blobItems) { - * for (const blob of response.segment.blobItems) { - * console.log(`Blob ${i++}: ${blob.name}`); - * } - * } - * ``` - * - * @param options - Options to list blobs. - * @returns An asyncIterableIterator that supports paging. - */ - listBlobsFlat(options = {}) { - const include = []; - if (options.includeCopy) { - include.push("copy"); - } - if (options.includeDeleted) { - include.push("deleted"); - } - if (options.includeMetadata) { - include.push("metadata"); - } - if (options.includeSnapshots) { - include.push("snapshots"); - } - if (options.includeVersions) { - include.push("versions"); - } - if (options.includeUncommitedBlobs) { - include.push("uncommittedblobs"); - } - if (options.includeTags) { - include.push("tags"); - } - if (options.includeDeletedWithVersions) { - include.push("deletedwithversions"); + return ret; + } + function doWrite(stream, state, writev, len, chunk, encoding, cb) { + state.writelen = len; + state.writecb = cb; + state.writing = true; + state.sync = true; + if (writev) stream._writev(chunk, state.onwrite); + else stream._write(chunk, encoding, state.onwrite); + state.sync = false; + } + function onwriteError(stream, state, sync, er, cb) { + --state.pendingcb; + if (sync) { + pna.nextTick(cb, er); + pna.nextTick(finishMaybe, stream, state); + stream._writableState.errorEmitted = true; + stream.emit("error", er); + } else { + cb(er); + stream._writableState.errorEmitted = true; + stream.emit("error", er); + finishMaybe(stream, state); + } + } + function onwriteStateUpdate(state) { + state.writing = false; + state.writecb = null; + state.length -= state.writelen; + state.writelen = 0; + } + function onwrite(stream, er) { + var state = stream._writableState; + var sync = state.sync; + var cb = state.writecb; + onwriteStateUpdate(state); + if (er) onwriteError(stream, state, sync, er, cb); + else { + var finished = needFinish(state); + if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) { + clearBuffer(stream, state); } - if (options.includeImmutabilityPolicy) { - include.push("immutabilitypolicy"); + if (sync) { + asyncWrite(afterWrite, stream, state, finished, cb); + } else { + afterWrite(stream, state, finished, cb); } - if (options.includeLegalHold) { - include.push("legalhold"); + } + } + function afterWrite(stream, state, finished, cb) { + if (!finished) onwriteDrain(stream, state); + state.pendingcb--; + cb(); + finishMaybe(stream, state); + } + function onwriteDrain(stream, state) { + if (state.length === 0 && state.needDrain) { + state.needDrain = false; + stream.emit("drain"); + } + } + function clearBuffer(stream, state) { + state.bufferProcessing = true; + var entry = state.bufferedRequest; + if (stream._writev && entry && entry.next) { + var l = state.bufferedRequestCount; + var buffer = new Array(l); + var holder = state.corkedRequestsFree; + holder.entry = entry; + var count = 0; + var allBuffers = true; + while (entry) { + buffer[count] = entry; + if (!entry.isBuf) allBuffers = false; + entry = entry.next; + count += 1; } - if (options.prefix === "") { - options.prefix = void 0; + buffer.allBuffers = allBuffers; + doWrite(stream, state, true, state.length, buffer, "", holder.finish); + state.pendingcb++; + state.lastBufferedRequest = null; + if (holder.next) { + state.corkedRequestsFree = holder.next; + holder.next = null; + } else { + state.corkedRequestsFree = new CorkedRequest(state); } - const updatedOptions = { - ...options, - ...include.length > 0 ? { include } : {} - }; - const iter = this.listItems(updatedOptions); - return { - /** - * The next method, part of the iteration protocol - */ - next() { - return iter.next(); - }, - /** - * The connection to the async iterator, part of the iteration protocol - */ - [Symbol.asyncIterator]() { - return this; - }, - /** - * Return an AsyncIterableIterator that works a page at a time - */ - byPage: (settings = {}) => { - return this.listSegments(settings.continuationToken, { - maxPageSize: settings.maxPageSize, - ...updatedOptions - }); + state.bufferedRequestCount = 0; + } else { + while (entry) { + var chunk = entry.chunk; + var encoding = entry.encoding; + var cb = entry.callback; + var len = state.objectMode ? 1 : chunk.length; + doWrite(stream, state, false, len, chunk, encoding, cb); + entry = entry.next; + state.bufferedRequestCount--; + if (state.writing) { + break; } - }; - } - /** - * Returns an AsyncIterableIterator for ContainerListBlobHierarchySegmentResponse - * - * @param delimiter - The character or string used to define the virtual hierarchy - * @param marker - A string value that identifies the portion of - * the list of blobs to be returned with the next listing operation. The - * operation returns the ContinuationToken value within the response body if the - * listing operation did not return all blobs remaining to be listed - * with the current page. The ContinuationToken value can be used as the value for - * the marker parameter in a subsequent call to request the next page of list - * items. The marker value is opaque to the client. - * @param options - Options to list blobs operation. - */ - async *listHierarchySegments(delimiter, marker, options = {}) { - let listBlobsHierarchySegmentResponse; - if (!!marker || marker === void 0) { - do { - listBlobsHierarchySegmentResponse = await this.listBlobHierarchySegment(delimiter, marker, options); - marker = listBlobsHierarchySegmentResponse.continuationToken; - yield await listBlobsHierarchySegmentResponse; - } while (marker); } + if (entry === null) state.lastBufferedRequest = null; } - /** - * Returns an AsyncIterableIterator for {@link BlobPrefix} and {@link BlobItem} objects. - * - * @param delimiter - The character or string used to define the virtual hierarchy - * @param options - Options to list blobs operation. - */ - async *listItemsByHierarchy(delimiter, options = {}) { - let marker; - for await (const listBlobsHierarchySegmentResponse of this.listHierarchySegments(delimiter, marker, options)) { - const segment = listBlobsHierarchySegmentResponse.segment; - if (segment.blobPrefixes) { - for (const prefix of segment.blobPrefixes) { - yield { - kind: "prefix", - ...prefix - }; - } - } - for (const blob of segment.blobItems) { - yield { kind: "blob", ...blob }; - } - } + state.bufferedRequest = entry; + state.bufferProcessing = false; + } + Writable.prototype._write = function(chunk, encoding, cb) { + cb(new Error("_write() is not implemented")); + }; + Writable.prototype._writev = null; + Writable.prototype.end = function(chunk, encoding, cb) { + var state = this._writableState; + if (typeof chunk === "function") { + cb = chunk; + chunk = null; + encoding = null; + } else if (typeof encoding === "function") { + cb = encoding; + encoding = null; } - /** - * Returns an async iterable iterator to list all the blobs by hierarchy. - * under the specified account. - * - * .byPage() returns an async iterable iterator to list the blobs by hierarchy in pages. - * - * ```ts snippet:ReadmeSampleListBlobsByHierarchy - * import { BlobServiceClient } from "@azure/storage-blob"; - * import { DefaultAzureCredential } from "@azure/identity"; - * - * const account = ""; - * const blobServiceClient = new BlobServiceClient( - * `https://${account}.blob.core.windows.net`, - * new DefaultAzureCredential(), - * ); - * - * const containerName = ""; - * const containerClient = blobServiceClient.getContainerClient(containerName); - * - * // Example using `for await` syntax - * let i = 1; - * const blobs = containerClient.listBlobsByHierarchy("/"); - * for await (const blob of blobs) { - * if (blob.kind === "prefix") { - * console.log(`\tBlobPrefix: ${blob.name}`); - * } else { - * console.log(`\tBlobItem: name - ${blob.name}`); - * } - * } - * - * // Example using `iter.next()` syntax - * i = 1; - * const iter = containerClient.listBlobsByHierarchy("/"); - * let { value, done } = await iter.next(); - * while (!done) { - * if (value.kind === "prefix") { - * console.log(`\tBlobPrefix: ${value.name}`); - * } else { - * console.log(`\tBlobItem: name - ${value.name}`); - * } - * ({ value, done } = await iter.next()); - * } - * - * // Example using `byPage()` syntax - * i = 1; - * for await (const page of containerClient.listBlobsByHierarchy("/").byPage({ maxPageSize: 20 })) { - * const segment = page.segment; - * if (segment.blobPrefixes) { - * for (const prefix of segment.blobPrefixes) { - * console.log(`\tBlobPrefix: ${prefix.name}`); - * } - * } - * for (const blob of page.segment.blobItems) { - * console.log(`\tBlobItem: name - ${blob.name}`); - * } - * } - * - * // Example using paging with a marker - * i = 1; - * let iterator = containerClient.listBlobsByHierarchy("/").byPage({ maxPageSize: 2 }); - * let response = (await iterator.next()).value; - * // Prints 2 blob names - * if (response.blobPrefixes) { - * for (const prefix of response.blobPrefixes) { - * console.log(`\tBlobPrefix: ${prefix.name}`); - * } - * } - * if (response.segment.blobItems) { - * for (const blob of response.segment.blobItems) { - * console.log(`\tBlobItem: name - ${blob.name}`); - * } - * } - * // Gets next marker - * let marker = response.continuationToken; - * // Passing next marker as continuationToken - * iterator = containerClient - * .listBlobsByHierarchy("/") - * .byPage({ continuationToken: marker, maxPageSize: 10 }); - * response = (await iterator.next()).value; - * // Prints 10 blob names - * if (response.blobPrefixes) { - * for (const prefix of response.blobPrefixes) { - * console.log(`\tBlobPrefix: ${prefix.name}`); - * } - * } - * if (response.segment.blobItems) { - * for (const blob of response.segment.blobItems) { - * console.log(`Blob ${i++}: ${blob.name}`); - * } - * } - * ``` - * - * @param delimiter - The character or string used to define the virtual hierarchy - * @param options - Options to list blobs operation. - */ - listBlobsByHierarchy(delimiter, options = {}) { - if (delimiter === "") { - throw new RangeError("delimiter should contain one or more characters"); - } - const include = []; - if (options.includeCopy) { - include.push("copy"); - } - if (options.includeDeleted) { - include.push("deleted"); + if (chunk !== null && chunk !== void 0) this.write(chunk, encoding); + if (state.corked) { + state.corked = 1; + this.uncork(); + } + if (!state.ending) endWritable(this, state, cb); + }; + function needFinish(state) { + return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing; + } + function callFinal(stream, state) { + stream._final(function(err) { + state.pendingcb--; + if (err) { + stream.emit("error", err); } - if (options.includeMetadata) { - include.push("metadata"); + state.prefinished = true; + stream.emit("prefinish"); + finishMaybe(stream, state); + }); + } + function prefinish(stream, state) { + if (!state.prefinished && !state.finalCalled) { + if (typeof stream._final === "function") { + state.pendingcb++; + state.finalCalled = true; + pna.nextTick(callFinal, stream, state); + } else { + state.prefinished = true; + stream.emit("prefinish"); } - if (options.includeSnapshots) { - include.push("snapshots"); + } + } + function finishMaybe(stream, state) { + var need = needFinish(state); + if (need) { + prefinish(stream, state); + if (state.pendingcb === 0) { + state.finished = true; + stream.emit("finish"); } - if (options.includeVersions) { - include.push("versions"); + } + return need; + } + function endWritable(stream, state, cb) { + state.ending = true; + finishMaybe(stream, state); + if (cb) { + if (state.finished) pna.nextTick(cb); + else stream.once("finish", cb); + } + state.ended = true; + stream.writable = false; + } + function onCorkedFinish(corkReq, state, err) { + var entry = corkReq.entry; + corkReq.entry = null; + while (entry) { + var cb = entry.callback; + state.pendingcb--; + cb(err); + entry = entry.next; + } + state.corkedRequestsFree.next = corkReq; + } + Object.defineProperty(Writable.prototype, "destroyed", { + get: function() { + if (this._writableState === void 0) { + return false; } - if (options.includeUncommitedBlobs) { - include.push("uncommittedblobs"); + return this._writableState.destroyed; + }, + set: function(value) { + if (!this._writableState) { + return; } - if (options.includeTags) { - include.push("tags"); + this._writableState.destroyed = value; + } + }); + Writable.prototype.destroy = destroyImpl.destroy; + Writable.prototype._undestroy = destroyImpl.undestroy; + Writable.prototype._destroy = function(err, cb) { + this.end(); + cb(err); + }; + } +}); + +// node_modules/lazystream/node_modules/readable-stream/lib/_stream_duplex.js +var require_stream_duplex = __commonJS({ + "node_modules/lazystream/node_modules/readable-stream/lib/_stream_duplex.js"(exports2, module2) { + "use strict"; + var pna = require_process_nextick_args(); + var objectKeys = Object.keys || function(obj) { + var keys2 = []; + for (var key in obj) { + keys2.push(key); + } + return keys2; + }; + module2.exports = Duplex; + var util = Object.create(require_util20()); + util.inherits = require_inherits(); + var Readable = require_stream_readable(); + var Writable = require_stream_writable(); + util.inherits(Duplex, Readable); + { + keys = objectKeys(Writable.prototype); + for (v = 0; v < keys.length; v++) { + method = keys[v]; + if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method]; + } + } + var keys; + var method; + var v; + function Duplex(options) { + if (!(this instanceof Duplex)) return new Duplex(options); + Readable.call(this, options); + Writable.call(this, options); + if (options && options.readable === false) this.readable = false; + if (options && options.writable === false) this.writable = false; + this.allowHalfOpen = true; + if (options && options.allowHalfOpen === false) this.allowHalfOpen = false; + this.once("end", onend); + } + Object.defineProperty(Duplex.prototype, "writableHighWaterMark", { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function() { + return this._writableState.highWaterMark; + } + }); + function onend() { + if (this.allowHalfOpen || this._writableState.ended) return; + pna.nextTick(onEndNT, this); + } + function onEndNT(self2) { + self2.end(); + } + Object.defineProperty(Duplex.prototype, "destroyed", { + get: function() { + if (this._readableState === void 0 || this._writableState === void 0) { + return false; } - if (options.includeDeletedWithVersions) { - include.push("deletedwithversions"); + return this._readableState.destroyed && this._writableState.destroyed; + }, + set: function(value) { + if (this._readableState === void 0 || this._writableState === void 0) { + return; } - if (options.includeImmutabilityPolicy) { - include.push("immutabilitypolicy"); + this._readableState.destroyed = value; + this._writableState.destroyed = value; + } + }); + Duplex.prototype._destroy = function(err, cb) { + this.push(null); + this.end(); + pna.nextTick(cb, err); + }; + } +}); + +// node_modules/lazystream/node_modules/string_decoder/lib/string_decoder.js +var require_string_decoder = __commonJS({ + "node_modules/lazystream/node_modules/string_decoder/lib/string_decoder.js"(exports2) { + "use strict"; + var Buffer2 = require_safe_buffer().Buffer; + var isEncoding = Buffer2.isEncoding || function(encoding) { + encoding = "" + encoding; + switch (encoding && encoding.toLowerCase()) { + case "hex": + case "utf8": + case "utf-8": + case "ascii": + case "binary": + case "base64": + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + case "raw": + return true; + default: + return false; + } + }; + function _normalizeEncoding(enc) { + if (!enc) return "utf8"; + var retried; + while (true) { + switch (enc) { + case "utf8": + case "utf-8": + return "utf8"; + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return "utf16le"; + case "latin1": + case "binary": + return "latin1"; + case "base64": + case "ascii": + case "hex": + return enc; + default: + if (retried) return; + enc = ("" + enc).toLowerCase(); + retried = true; } - if (options.includeLegalHold) { - include.push("legalhold"); + } + } + function normalizeEncoding(enc) { + var nenc = _normalizeEncoding(enc); + if (typeof nenc !== "string" && (Buffer2.isEncoding === isEncoding || !isEncoding(enc))) throw new Error("Unknown encoding: " + enc); + return nenc || enc; + } + exports2.StringDecoder = StringDecoder; + function StringDecoder(encoding) { + this.encoding = normalizeEncoding(encoding); + var nb; + switch (this.encoding) { + case "utf16le": + this.text = utf16Text; + this.end = utf16End; + nb = 4; + break; + case "utf8": + this.fillLast = utf8FillLast; + nb = 4; + break; + case "base64": + this.text = base64Text; + this.end = base64End; + nb = 3; + break; + default: + this.write = simpleWrite; + this.end = simpleEnd; + return; + } + this.lastNeed = 0; + this.lastTotal = 0; + this.lastChar = Buffer2.allocUnsafe(nb); + } + StringDecoder.prototype.write = function(buf) { + if (buf.length === 0) return ""; + var r; + var i; + if (this.lastNeed) { + r = this.fillLast(buf); + if (r === void 0) return ""; + i = this.lastNeed; + this.lastNeed = 0; + } else { + i = 0; + } + if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i); + return r || ""; + }; + StringDecoder.prototype.end = utf8End; + StringDecoder.prototype.text = utf8Text; + StringDecoder.prototype.fillLast = function(buf) { + if (this.lastNeed <= buf.length) { + buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed); + return this.lastChar.toString(this.encoding, 0, this.lastTotal); + } + buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length); + this.lastNeed -= buf.length; + }; + function utf8CheckByte(byte) { + if (byte <= 127) return 0; + else if (byte >> 5 === 6) return 2; + else if (byte >> 4 === 14) return 3; + else if (byte >> 3 === 30) return 4; + return byte >> 6 === 2 ? -1 : -2; + } + function utf8CheckIncomplete(self2, buf, i) { + var j = buf.length - 1; + if (j < i) return 0; + var nb = utf8CheckByte(buf[j]); + if (nb >= 0) { + if (nb > 0) self2.lastNeed = nb - 1; + return nb; + } + if (--j < i || nb === -2) return 0; + nb = utf8CheckByte(buf[j]); + if (nb >= 0) { + if (nb > 0) self2.lastNeed = nb - 2; + return nb; + } + if (--j < i || nb === -2) return 0; + nb = utf8CheckByte(buf[j]); + if (nb >= 0) { + if (nb > 0) { + if (nb === 2) nb = 0; + else self2.lastNeed = nb - 3; } - if (options.prefix === "") { - options.prefix = void 0; + return nb; + } + return 0; + } + function utf8CheckExtraBytes(self2, buf, p) { + if ((buf[0] & 192) !== 128) { + self2.lastNeed = 0; + return "\uFFFD"; + } + if (self2.lastNeed > 1 && buf.length > 1) { + if ((buf[1] & 192) !== 128) { + self2.lastNeed = 1; + return "\uFFFD"; } - const updatedOptions = { - ...options, - ...include.length > 0 ? { include } : {} - }; - const iter = this.listItemsByHierarchy(delimiter, updatedOptions); - return { - /** - * The next method, part of the iteration protocol - */ - async next() { - return iter.next(); - }, - /** - * The connection to the async iterator, part of the iteration protocol - */ - [Symbol.asyncIterator]() { - return this; - }, - /** - * Return an AsyncIterableIterator that works a page at a time - */ - byPage: (settings = {}) => { - return this.listHierarchySegments(delimiter, settings.continuationToken, { - maxPageSize: settings.maxPageSize, - ...updatedOptions - }); + if (self2.lastNeed > 2 && buf.length > 2) { + if ((buf[2] & 192) !== 128) { + self2.lastNeed = 2; + return "\uFFFD"; } - }; + } } - /** - * The Filter Blobs operation enables callers to list blobs in the container whose tags - * match a given search expression. - * - * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression. - * The given expression must evaluate to true for a blob to be returned in the results. - * The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter; - * however, only a subset of the OData filter syntax is supported in the Blob service. - * @param marker - A string value that identifies the portion of - * the list of blobs to be returned with the next listing operation. The - * operation returns the continuationToken value within the response body if the - * listing operation did not return all blobs remaining to be listed - * with the current page. The continuationToken value can be used as the value for - * the marker parameter in a subsequent call to request the next page of list - * items. The marker value is opaque to the client. - * @param options - Options to find blobs by tags. - */ - async findBlobsByTagsSegment(tagFilterSqlExpression, marker, options = {}) { - return tracing_js_1.tracingClient.withSpan("ContainerClient-findBlobsByTagsSegment", options, async (updatedOptions) => { - const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.filterBlobs({ - abortSignal: options.abortSignal, - where: tagFilterSqlExpression, - marker, - maxPageSize: options.maxPageSize, - tracingOptions: updatedOptions.tracingOptions - })); - const wrappedResponse = { - ...response, - _response: response._response, - // _response is made non-enumerable - blobs: response.blobs.map((blob) => { - let tagValue = ""; - if (blob.tags?.blobTagSet.length === 1) { - tagValue = blob.tags.blobTagSet[0].value; - } - return { ...blob, tags: (0, utils_common_js_1.toTags)(blob.tags), tagValue }; - }) - }; - return wrappedResponse; - }); + } + function utf8FillLast(buf) { + var p = this.lastTotal - this.lastNeed; + var r = utf8CheckExtraBytes(this, buf, p); + if (r !== void 0) return r; + if (this.lastNeed <= buf.length) { + buf.copy(this.lastChar, p, 0, this.lastNeed); + return this.lastChar.toString(this.encoding, 0, this.lastTotal); } - /** - * Returns an AsyncIterableIterator for ContainerFindBlobsByTagsSegmentResponse. - * - * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression. - * The given expression must evaluate to true for a blob to be returned in the results. - * The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter; - * however, only a subset of the OData filter syntax is supported in the Blob service. - * @param marker - A string value that identifies the portion of - * the list of blobs to be returned with the next listing operation. The - * operation returns the continuationToken value within the response body if the - * listing operation did not return all blobs remaining to be listed - * with the current page. The continuationToken value can be used as the value for - * the marker parameter in a subsequent call to request the next page of list - * items. The marker value is opaque to the client. - * @param options - Options to find blobs by tags. - */ - async *findBlobsByTagsSegments(tagFilterSqlExpression, marker, options = {}) { - let response; - if (!!marker || marker === void 0) { - do { - response = await this.findBlobsByTagsSegment(tagFilterSqlExpression, marker, options); - response.blobs = response.blobs || []; - marker = response.continuationToken; - yield response; - } while (marker); + buf.copy(this.lastChar, p, 0, buf.length); + this.lastNeed -= buf.length; + } + function utf8Text(buf, i) { + var total = utf8CheckIncomplete(this, buf, i); + if (!this.lastNeed) return buf.toString("utf8", i); + this.lastTotal = total; + var end = buf.length - (total - this.lastNeed); + buf.copy(this.lastChar, 0, end); + return buf.toString("utf8", i, end); + } + function utf8End(buf) { + var r = buf && buf.length ? this.write(buf) : ""; + if (this.lastNeed) return r + "\uFFFD"; + return r; + } + function utf16Text(buf, i) { + if ((buf.length - i) % 2 === 0) { + var r = buf.toString("utf16le", i); + if (r) { + var c = r.charCodeAt(r.length - 1); + if (c >= 55296 && c <= 56319) { + this.lastNeed = 2; + this.lastTotal = 4; + this.lastChar[0] = buf[buf.length - 2]; + this.lastChar[1] = buf[buf.length - 1]; + return r.slice(0, -1); + } } + return r; } - /** - * Returns an AsyncIterableIterator for blobs. - * - * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression. - * The given expression must evaluate to true for a blob to be returned in the results. - * The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter; - * however, only a subset of the OData filter syntax is supported in the Blob service. - * @param options - Options to findBlobsByTagsItems. - */ - async *findBlobsByTagsItems(tagFilterSqlExpression, options = {}) { - let marker; - for await (const segment of this.findBlobsByTagsSegments(tagFilterSqlExpression, marker, options)) { - yield* segment.blobs; + this.lastNeed = 1; + this.lastTotal = 2; + this.lastChar[0] = buf[buf.length - 1]; + return buf.toString("utf16le", i, buf.length - 1); + } + function utf16End(buf) { + var r = buf && buf.length ? this.write(buf) : ""; + if (this.lastNeed) { + var end = this.lastTotal - this.lastNeed; + return r + this.lastChar.toString("utf16le", 0, end); + } + return r; + } + function base64Text(buf, i) { + var n = (buf.length - i) % 3; + if (n === 0) return buf.toString("base64", i); + this.lastNeed = 3 - n; + this.lastTotal = 3; + if (n === 1) { + this.lastChar[0] = buf[buf.length - 1]; + } else { + this.lastChar[0] = buf[buf.length - 2]; + this.lastChar[1] = buf[buf.length - 1]; + } + return buf.toString("base64", i, buf.length - n); + } + function base64End(buf) { + var r = buf && buf.length ? this.write(buf) : ""; + if (this.lastNeed) return r + this.lastChar.toString("base64", 0, 3 - this.lastNeed); + return r; + } + function simpleWrite(buf) { + return buf.toString(this.encoding); + } + function simpleEnd(buf) { + return buf && buf.length ? this.write(buf) : ""; + } + } +}); + +// node_modules/lazystream/node_modules/readable-stream/lib/_stream_readable.js +var require_stream_readable = __commonJS({ + "node_modules/lazystream/node_modules/readable-stream/lib/_stream_readable.js"(exports2, module2) { + "use strict"; + var pna = require_process_nextick_args(); + module2.exports = Readable; + var isArray = require_isarray(); + var Duplex; + Readable.ReadableState = ReadableState; + var EE = require("events").EventEmitter; + var EElistenerCount = function(emitter, type2) { + return emitter.listeners(type2).length; + }; + var Stream = require_stream(); + var Buffer2 = require_safe_buffer().Buffer; + var OurUint8Array = (typeof global !== "undefined" ? global : typeof window !== "undefined" ? window : typeof self !== "undefined" ? self : {}).Uint8Array || function() { + }; + function _uint8ArrayToBuffer(chunk) { + return Buffer2.from(chunk); + } + function _isUint8Array(obj) { + return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array; + } + var util = Object.create(require_util20()); + util.inherits = require_inherits(); + var debugUtil = require("util"); + var debug4 = void 0; + if (debugUtil && debugUtil.debuglog) { + debug4 = debugUtil.debuglog("stream"); + } else { + debug4 = function() { + }; + } + var BufferList = require_BufferList(); + var destroyImpl = require_destroy(); + var StringDecoder; + util.inherits(Readable, Stream); + var kProxyEvents = ["error", "close", "destroy", "pause", "resume"]; + function prependListener(emitter, event, fn) { + if (typeof emitter.prependListener === "function") return emitter.prependListener(event, fn); + if (!emitter._events || !emitter._events[event]) emitter.on(event, fn); + else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn); + else emitter._events[event] = [fn, emitter._events[event]]; + } + function ReadableState(options, stream) { + Duplex = Duplex || require_stream_duplex(); + options = options || {}; + var isDuplex = stream instanceof Duplex; + this.objectMode = !!options.objectMode; + if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode; + var hwm = options.highWaterMark; + var readableHwm = options.readableHighWaterMark; + var defaultHwm = this.objectMode ? 16 : 16 * 1024; + if (hwm || hwm === 0) this.highWaterMark = hwm; + else if (isDuplex && (readableHwm || readableHwm === 0)) this.highWaterMark = readableHwm; + else this.highWaterMark = defaultHwm; + this.highWaterMark = Math.floor(this.highWaterMark); + this.buffer = new BufferList(); + this.length = 0; + this.pipes = null; + this.pipesCount = 0; + this.flowing = null; + this.ended = false; + this.endEmitted = false; + this.reading = false; + this.sync = true; + this.needReadable = false; + this.emittedReadable = false; + this.readableListening = false; + this.resumeScheduled = false; + this.destroyed = false; + this.defaultEncoding = options.defaultEncoding || "utf8"; + this.awaitDrain = 0; + this.readingMore = false; + this.decoder = null; + this.encoding = null; + if (options.encoding) { + if (!StringDecoder) StringDecoder = require_string_decoder().StringDecoder; + this.decoder = new StringDecoder(options.encoding); + this.encoding = options.encoding; + } + } + function Readable(options) { + Duplex = Duplex || require_stream_duplex(); + if (!(this instanceof Readable)) return new Readable(options); + this._readableState = new ReadableState(options, this); + this.readable = true; + if (options) { + if (typeof options.read === "function") this._read = options.read; + if (typeof options.destroy === "function") this._destroy = options.destroy; + } + Stream.call(this); + } + Object.defineProperty(Readable.prototype, "destroyed", { + get: function() { + if (this._readableState === void 0) { + return false; + } + return this._readableState.destroyed; + }, + set: function(value) { + if (!this._readableState) { + return; } + this._readableState.destroyed = value; } - /** - * Returns an async iterable iterator to find all blobs with specified tag - * under the specified container. - * - * .byPage() returns an async iterable iterator to list the blobs in pages. - * - * Example using `for await` syntax: - * - * ```ts snippet:ReadmeSampleFindBlobsByTags - * import { BlobServiceClient } from "@azure/storage-blob"; - * import { DefaultAzureCredential } from "@azure/identity"; - * - * const account = ""; - * const blobServiceClient = new BlobServiceClient( - * `https://${account}.blob.core.windows.net`, - * new DefaultAzureCredential(), - * ); - * - * const containerName = ""; - * const containerClient = blobServiceClient.getContainerClient(containerName); - * - * // Example using `for await` syntax - * let i = 1; - * for await (const blob of containerClient.findBlobsByTags("tagkey='tagvalue'")) { - * console.log(`Blob ${i++}: ${blob.name}`); - * } - * - * // Example using `iter.next()` syntax - * i = 1; - * const iter = containerClient.findBlobsByTags("tagkey='tagvalue'"); - * let { value, done } = await iter.next(); - * while (!done) { - * console.log(`Blob ${i++}: ${value.name}`); - * ({ value, done } = await iter.next()); - * } - * - * // Example using `byPage()` syntax - * i = 1; - * for await (const page of containerClient - * .findBlobsByTags("tagkey='tagvalue'") - * .byPage({ maxPageSize: 20 })) { - * for (const blob of page.blobs) { - * console.log(`Blob ${i++}: ${blob.name}`); - * } - * } - * - * // Example using paging with a marker - * i = 1; - * let iterator = containerClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 2 }); - * let response = (await iterator.next()).value; - * // Prints 2 blob names - * if (response.blobs) { - * for (const blob of response.blobs) { - * console.log(`Blob ${i++}: ${blob.name}`); - * } - * } - * // Gets next marker - * let marker = response.continuationToken; - * // Passing next marker as continuationToken - * iterator = containerClient - * .findBlobsByTags("tagkey='tagvalue'") - * .byPage({ continuationToken: marker, maxPageSize: 10 }); - * response = (await iterator.next()).value; - * // Prints 10 blob names - * if (response.blobs) { - * for (const blob of response.blobs) { - * console.log(`Blob ${i++}: ${blob.name}`); - * } - * } - * ``` - * - * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression. - * The given expression must evaluate to true for a blob to be returned in the results. - * The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter; - * however, only a subset of the OData filter syntax is supported in the Blob service. - * @param options - Options to find blobs by tags. - */ - findBlobsByTags(tagFilterSqlExpression, options = {}) { - const listSegmentOptions = { - ...options - }; - const iter = this.findBlobsByTagsItems(tagFilterSqlExpression, listSegmentOptions); - return { - /** - * The next method, part of the iteration protocol - */ - next() { - return iter.next(); - }, - /** - * The connection to the async iterator, part of the iteration protocol - */ - [Symbol.asyncIterator]() { - return this; - }, - /** - * Return an AsyncIterableIterator that works a page at a time - */ - byPage: (settings = {}) => { - return this.findBlobsByTagsSegments(tagFilterSqlExpression, settings.continuationToken, { - maxPageSize: settings.maxPageSize, - ...listSegmentOptions - }); + }); + Readable.prototype.destroy = destroyImpl.destroy; + Readable.prototype._undestroy = destroyImpl.undestroy; + Readable.prototype._destroy = function(err, cb) { + this.push(null); + cb(err); + }; + Readable.prototype.push = function(chunk, encoding) { + var state = this._readableState; + var skipChunkCheck; + if (!state.objectMode) { + if (typeof chunk === "string") { + encoding = encoding || state.defaultEncoding; + if (encoding !== state.encoding) { + chunk = Buffer2.from(chunk, encoding); + encoding = ""; } - }; - } - /** - * The Get Account Information operation returns the sku name and account kind - * for the specified account. - * The Get Account Information operation is available on service versions beginning - * with version 2018-03-28. - * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information - * - * @param options - Options to the Service Get Account Info operation. - * @returns Response data for the Service Get Account Info operation. - */ - async getAccountInfo(options = {}) { - return tracing_js_1.tracingClient.withSpan("ContainerClient-getAccountInfo", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.containerContext.getAccountInfo({ - abortSignal: options.abortSignal, - tracingOptions: updatedOptions.tracingOptions - })); - }); + skipChunkCheck = true; + } + } else { + skipChunkCheck = true; } - getContainerNameFromUrl() { - let containerName; - try { - const parsedUrl = new URL(this.url); - if (parsedUrl.hostname.split(".")[1] === "blob") { - containerName = parsedUrl.pathname.split("/")[1]; - } else if ((0, utils_common_js_1.isIpEndpointStyle)(parsedUrl)) { - containerName = parsedUrl.pathname.split("/")[2]; - } else { - containerName = parsedUrl.pathname.split("/")[1]; + return readableAddChunk(this, chunk, encoding, false, skipChunkCheck); + }; + Readable.prototype.unshift = function(chunk) { + return readableAddChunk(this, chunk, null, true, false); + }; + function readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) { + var state = stream._readableState; + if (chunk === null) { + state.reading = false; + onEofChunk(stream, state); + } else { + var er; + if (!skipChunkCheck) er = chunkInvalid(state, chunk); + if (er) { + stream.emit("error", er); + } else if (state.objectMode || chunk && chunk.length > 0) { + if (typeof chunk !== "string" && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer2.prototype) { + chunk = _uint8ArrayToBuffer(chunk); } - containerName = decodeURIComponent(containerName); - if (!containerName) { - throw new Error("Provided containerName is invalid."); + if (addToFront) { + if (state.endEmitted) stream.emit("error", new Error("stream.unshift() after end event")); + else addChunk(stream, state, chunk, true); + } else if (state.ended) { + stream.emit("error", new Error("stream.push() after EOF")); + } else { + state.reading = false; + if (state.decoder && !encoding) { + chunk = state.decoder.write(chunk); + if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false); + else maybeReadMore(stream, state); + } else { + addChunk(stream, state, chunk, false); + } } - return containerName; - } catch (error3) { - throw new Error("Unable to extract containerName with provided information."); + } else if (!addToFront) { + state.reading = false; } } - /** - * Only available for ContainerClient constructed with a shared key credential. - * - * Generates a Blob Container Service Shared Access Signature (SAS) URI based on the client properties - * and parameters passed in. The SAS is signed by the shared key credential of the client. - * - * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas - * - * @param options - Optional parameters. - * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. - */ - generateSasUrl(options) { - return new Promise((resolve5) => { - if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) { - throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential"); - } - const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({ - containerName: this._containerName, - ...options - }, this.credential).toString(); - resolve5((0, utils_common_js_1.appendToURLQuery)(this.url, sas)); - }); + return needMoreData(state); + } + function addChunk(stream, state, chunk, addToFront) { + if (state.flowing && state.length === 0 && !state.sync) { + stream.emit("data", chunk); + stream.read(0); + } else { + state.length += state.objectMode ? 1 : chunk.length; + if (addToFront) state.buffer.unshift(chunk); + else state.buffer.push(chunk); + if (state.needReadable) emitReadable(stream); } - /** - * Only available for ContainerClient constructed with a shared key credential. - * - * Generates string to sign for a Blob Container Service Shared Access Signature (SAS) URI - * based on the client properties and parameters passed in. The SAS is signed by the shared key credential of the client. - * - * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas - * - * @param options - Optional parameters. - * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. - */ - /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/ - generateSasStringToSign(options) { - if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) { - throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential"); - } - return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({ - containerName: this._containerName, - ...options - }, this.credential).stringToSign; + maybeReadMore(stream, state); + } + function chunkInvalid(state, chunk) { + var er; + if (!_isUint8Array(chunk) && typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) { + er = new TypeError("Invalid non-string/buffer chunk"); } - /** - * Generates a Blob Container Service Shared Access Signature (SAS) URI based on the client properties - * and parameters passed in. The SAS is signed by the input user delegation key. - * - * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas - * - * @param options - Optional parameters. - * @param userDelegationKey - Return value of `blobServiceClient.getUserDelegationKey()` - * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. - */ - generateUserDelegationSasUrl(options, userDelegationKey) { - return new Promise((resolve5) => { - const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({ - containerName: this._containerName, - ...options - }, userDelegationKey, this.accountName).toString(); - resolve5((0, utils_common_js_1.appendToURLQuery)(this.url, sas)); - }); + return er; + } + function needMoreData(state) { + return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0); + } + Readable.prototype.isPaused = function() { + return this._readableState.flowing === false; + }; + Readable.prototype.setEncoding = function(enc) { + if (!StringDecoder) StringDecoder = require_string_decoder().StringDecoder; + this._readableState.decoder = new StringDecoder(enc); + this._readableState.encoding = enc; + return this; + }; + var MAX_HWM = 8388608; + function computeNewHighWaterMark(n) { + if (n >= MAX_HWM) { + n = MAX_HWM; + } else { + n--; + n |= n >>> 1; + n |= n >>> 2; + n |= n >>> 4; + n |= n >>> 8; + n |= n >>> 16; + n++; } - /** - * Generates string to sign for a Blob Container Service Shared Access Signature (SAS) URI - * based on the client properties and parameters passed in. The SAS is signed by the input user delegation key. - * - * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas - * - * @param options - Optional parameters. - * @param userDelegationKey - Return value of `blobServiceClient.getUserDelegationKey()` - * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. - */ - generateUserDelegationSasStringToSign(options, userDelegationKey) { - return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({ - containerName: this._containerName, - ...options - }, userDelegationKey, this.accountName).stringToSign; + return n; + } + function howMuchToRead(n, state) { + if (n <= 0 || state.length === 0 && state.ended) return 0; + if (state.objectMode) return 1; + if (n !== n) { + if (state.flowing && state.length) return state.buffer.head.data.length; + else return state.length; } - /** - * Creates a BlobBatchClient object to conduct batch operations. - * - * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch - * - * @returns A new BlobBatchClient object for this container. - */ - getBlobBatchClient() { - return new BlobBatchClient_js_1.BlobBatchClient(this.url, this.pipeline); + if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n); + if (n <= state.length) return n; + if (!state.ended) { + state.needReadable = true; + return 0; + } + return state.length; + } + Readable.prototype.read = function(n) { + debug4("read", n); + n = parseInt(n, 10); + var state = this._readableState; + var nOrig = n; + if (n !== 0) state.emittedReadable = false; + if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) { + debug4("read: emitReadable", state.length, state.ended); + if (state.length === 0 && state.ended) endReadable(this); + else emitReadable(this); + return null; + } + n = howMuchToRead(n, state); + if (n === 0 && state.ended) { + if (state.length === 0) endReadable(this); + return null; + } + var doRead = state.needReadable; + debug4("need readable", doRead); + if (state.length === 0 || state.length - n < state.highWaterMark) { + doRead = true; + debug4("length less than watermark", doRead); + } + if (state.ended || state.reading) { + doRead = false; + debug4("reading or ended", doRead); + } else if (doRead) { + debug4("do read"); + state.reading = true; + state.sync = true; + if (state.length === 0) state.needReadable = true; + this._read(state.highWaterMark); + state.sync = false; + if (!state.reading) n = howMuchToRead(nOrig, state); + } + var ret; + if (n > 0) ret = fromList(n, state); + else ret = null; + if (ret === null) { + state.needReadable = true; + n = 0; + } else { + state.length -= n; + } + if (state.length === 0) { + if (!state.ended) state.needReadable = true; + if (nOrig !== n && state.ended) endReadable(this); } + if (ret !== null) this.emit("data", ret); + return ret; }; - exports2.ContainerClient = ContainerClient; - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASPermissions.js -var require_AccountSASPermissions = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASPermissions.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.AccountSASPermissions = void 0; - var AccountSASPermissions = class _AccountSASPermissions { - /** - * Parse initializes the AccountSASPermissions fields from a string. - * - * @param permissions - - */ - static parse(permissions) { - const accountSASPermissions = new _AccountSASPermissions(); - for (const c of permissions) { - switch (c) { - case "r": - accountSASPermissions.read = true; - break; - case "w": - accountSASPermissions.write = true; - break; - case "d": - accountSASPermissions.delete = true; - break; - case "x": - accountSASPermissions.deleteVersion = true; - break; - case "l": - accountSASPermissions.list = true; - break; - case "a": - accountSASPermissions.add = true; - break; - case "c": - accountSASPermissions.create = true; - break; - case "u": - accountSASPermissions.update = true; - break; - case "p": - accountSASPermissions.process = true; - break; - case "t": - accountSASPermissions.tag = true; - break; - case "f": - accountSASPermissions.filter = true; - break; - case "i": - accountSASPermissions.setImmutabilityPolicy = true; - break; - case "y": - accountSASPermissions.permanentDelete = true; - break; - default: - throw new RangeError(`Invalid permission character: ${c}`); - } + function onEofChunk(stream, state) { + if (state.ended) return; + if (state.decoder) { + var chunk = state.decoder.end(); + if (chunk && chunk.length) { + state.buffer.push(chunk); + state.length += state.objectMode ? 1 : chunk.length; } - return accountSASPermissions; } - /** - * Creates a {@link AccountSASPermissions} from a raw object which contains same keys as it - * and boolean values for them. - * - * @param permissionLike - - */ - static from(permissionLike) { - const accountSASPermissions = new _AccountSASPermissions(); - if (permissionLike.read) { - accountSASPermissions.read = true; - } - if (permissionLike.write) { - accountSASPermissions.write = true; - } - if (permissionLike.delete) { - accountSASPermissions.delete = true; - } - if (permissionLike.deleteVersion) { - accountSASPermissions.deleteVersion = true; - } - if (permissionLike.filter) { - accountSASPermissions.filter = true; - } - if (permissionLike.tag) { - accountSASPermissions.tag = true; - } - if (permissionLike.list) { - accountSASPermissions.list = true; - } - if (permissionLike.add) { - accountSASPermissions.add = true; - } - if (permissionLike.create) { - accountSASPermissions.create = true; - } - if (permissionLike.update) { - accountSASPermissions.update = true; - } - if (permissionLike.process) { - accountSASPermissions.process = true; - } - if (permissionLike.setImmutabilityPolicy) { - accountSASPermissions.setImmutabilityPolicy = true; - } - if (permissionLike.permanentDelete) { - accountSASPermissions.permanentDelete = true; - } - return accountSASPermissions; + state.ended = true; + emitReadable(stream); + } + function emitReadable(stream) { + var state = stream._readableState; + state.needReadable = false; + if (!state.emittedReadable) { + debug4("emitReadable", state.flowing); + state.emittedReadable = true; + if (state.sync) pna.nextTick(emitReadable_, stream); + else emitReadable_(stream); } - /** - * Permission to read resources and list queues and tables granted. - */ - read = false; - /** - * Permission to write resources granted. - */ - write = false; - /** - * Permission to delete blobs and files granted. - */ - delete = false; - /** - * Permission to delete versions granted. - */ - deleteVersion = false; - /** - * Permission to list blob containers, blobs, shares, directories, and files granted. - */ - list = false; - /** - * Permission to add messages, table entities, and append to blobs granted. - */ - add = false; - /** - * Permission to create blobs and files granted. - */ - create = false; - /** - * Permissions to update messages and table entities granted. - */ - update = false; - /** - * Permission to get and delete messages granted. - */ - process = false; - /** - * Specfies Tag access granted. - */ - tag = false; - /** - * Permission to filter blobs. - */ - filter = false; - /** - * Permission to set immutability policy. - */ - setImmutabilityPolicy = false; - /** - * Specifies that Permanent Delete is permitted. - */ - permanentDelete = false; - /** - * Produces the SAS permissions string for an Azure Storage account. - * Call this method to set AccountSASSignatureValues Permissions field. - * - * Using this method will guarantee the resource types are in - * an order accepted by the service. - * - * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas - * - */ - toString() { - const permissions = []; - if (this.read) { - permissions.push("r"); - } - if (this.write) { - permissions.push("w"); - } - if (this.delete) { - permissions.push("d"); - } - if (this.deleteVersion) { - permissions.push("x"); - } - if (this.filter) { - permissions.push("f"); - } - if (this.tag) { - permissions.push("t"); - } - if (this.list) { - permissions.push("l"); - } - if (this.add) { - permissions.push("a"); - } - if (this.create) { - permissions.push("c"); - } - if (this.update) { - permissions.push("u"); - } - if (this.process) { - permissions.push("p"); - } - if (this.setImmutabilityPolicy) { - permissions.push("i"); - } - if (this.permanentDelete) { - permissions.push("y"); - } - return permissions.join(""); + } + function emitReadable_(stream) { + debug4("emit readable"); + stream.emit("readable"); + flow(stream); + } + function maybeReadMore(stream, state) { + if (!state.readingMore) { + state.readingMore = true; + pna.nextTick(maybeReadMore_, stream, state); } + } + function maybeReadMore_(stream, state) { + var len = state.length; + while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) { + debug4("maybeReadMore read 0"); + stream.read(0); + if (len === state.length) + break; + else len = state.length; + } + state.readingMore = false; + } + Readable.prototype._read = function(n) { + this.emit("error", new Error("_read() is not implemented")); }; - exports2.AccountSASPermissions = AccountSASPermissions; - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASResourceTypes.js -var require_AccountSASResourceTypes = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASResourceTypes.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.AccountSASResourceTypes = void 0; - var AccountSASResourceTypes = class _AccountSASResourceTypes { - /** - * Creates an {@link AccountSASResourceTypes} from the specified resource types string. This method will throw an - * Error if it encounters a character that does not correspond to a valid resource type. - * - * @param resourceTypes - - */ - static parse(resourceTypes) { - const accountSASResourceTypes = new _AccountSASResourceTypes(); - for (const c of resourceTypes) { - switch (c) { - case "s": - accountSASResourceTypes.service = true; - break; - case "c": - accountSASResourceTypes.container = true; - break; - case "o": - accountSASResourceTypes.object = true; - break; - default: - throw new RangeError(`Invalid resource type: ${c}`); + Readable.prototype.pipe = function(dest, pipeOpts) { + var src = this; + var state = this._readableState; + switch (state.pipesCount) { + case 0: + state.pipes = dest; + break; + case 1: + state.pipes = [state.pipes, dest]; + break; + default: + state.pipes.push(dest); + break; + } + state.pipesCount += 1; + debug4("pipe count=%d opts=%j", state.pipesCount, pipeOpts); + var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr; + var endFn = doEnd ? onend : unpipe; + if (state.endEmitted) pna.nextTick(endFn); + else src.once("end", endFn); + dest.on("unpipe", onunpipe); + function onunpipe(readable, unpipeInfo) { + debug4("onunpipe"); + if (readable === src) { + if (unpipeInfo && unpipeInfo.hasUnpiped === false) { + unpipeInfo.hasUnpiped = true; + cleanup(); } } - return accountSASResourceTypes; } - /** - * Permission to access service level APIs granted. - */ - service = false; - /** - * Permission to access container level APIs (Blob Containers, Tables, Queues, File Shares) granted. - */ - container = false; - /** - * Permission to access object level APIs (Blobs, Table Entities, Queue Messages, Files) granted. - */ - object = false; - /** - * Converts the given resource types to a string. - * - * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas - * - */ - toString() { - const resourceTypes = []; - if (this.service) { - resourceTypes.push("s"); + function onend() { + debug4("onend"); + dest.end(); + } + var ondrain = pipeOnDrain(src); + dest.on("drain", ondrain); + var cleanedUp = false; + function cleanup() { + debug4("cleanup"); + dest.removeListener("close", onclose); + dest.removeListener("finish", onfinish); + dest.removeListener("drain", ondrain); + dest.removeListener("error", onerror); + dest.removeListener("unpipe", onunpipe); + src.removeListener("end", onend); + src.removeListener("end", unpipe); + src.removeListener("data", ondata); + cleanedUp = true; + if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain(); + } + var increasedAwaitDrain = false; + src.on("data", ondata); + function ondata(chunk) { + debug4("ondata"); + increasedAwaitDrain = false; + var ret = dest.write(chunk); + if (false === ret && !increasedAwaitDrain) { + if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) { + debug4("false write response, pause", state.awaitDrain); + state.awaitDrain++; + increasedAwaitDrain = true; + } + src.pause(); } - if (this.container) { - resourceTypes.push("c"); + } + function onerror(er) { + debug4("onerror", er); + unpipe(); + dest.removeListener("error", onerror); + if (EElistenerCount(dest, "error") === 0) dest.emit("error", er); + } + prependListener(dest, "error", onerror); + function onclose() { + dest.removeListener("finish", onfinish); + unpipe(); + } + dest.once("close", onclose); + function onfinish() { + debug4("onfinish"); + dest.removeListener("close", onclose); + unpipe(); + } + dest.once("finish", onfinish); + function unpipe() { + debug4("unpipe"); + src.unpipe(dest); + } + dest.emit("pipe", src); + if (!state.flowing) { + debug4("pipe resume"); + src.resume(); + } + return dest; + }; + function pipeOnDrain(src) { + return function() { + var state = src._readableState; + debug4("pipeOnDrain", state.awaitDrain); + if (state.awaitDrain) state.awaitDrain--; + if (state.awaitDrain === 0 && EElistenerCount(src, "data")) { + state.flowing = true; + flow(src); } - if (this.object) { - resourceTypes.push("o"); + }; + } + Readable.prototype.unpipe = function(dest) { + var state = this._readableState; + var unpipeInfo = { hasUnpiped: false }; + if (state.pipesCount === 0) return this; + if (state.pipesCount === 1) { + if (dest && dest !== state.pipes) return this; + if (!dest) dest = state.pipes; + state.pipes = null; + state.pipesCount = 0; + state.flowing = false; + if (dest) dest.emit("unpipe", this, unpipeInfo); + return this; + } + if (!dest) { + var dests = state.pipes; + var len = state.pipesCount; + state.pipes = null; + state.pipesCount = 0; + state.flowing = false; + for (var i = 0; i < len; i++) { + dests[i].emit("unpipe", this, { hasUnpiped: false }); } - return resourceTypes.join(""); + return this; } + var index = indexOf(state.pipes, dest); + if (index === -1) return this; + state.pipes.splice(index, 1); + state.pipesCount -= 1; + if (state.pipesCount === 1) state.pipes = state.pipes[0]; + dest.emit("unpipe", this, unpipeInfo); + return this; }; - exports2.AccountSASResourceTypes = AccountSASResourceTypes; - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASServices.js -var require_AccountSASServices = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASServices.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.AccountSASServices = void 0; - var AccountSASServices = class _AccountSASServices { - /** - * Creates an {@link AccountSASServices} from the specified services string. This method will throw an - * Error if it encounters a character that does not correspond to a valid service. - * - * @param services - - */ - static parse(services) { - const accountSASServices = new _AccountSASServices(); - for (const c of services) { - switch (c) { - case "b": - accountSASServices.blob = true; - break; - case "f": - accountSASServices.file = true; - break; - case "q": - accountSASServices.queue = true; - break; - case "t": - accountSASServices.table = true; - break; - default: - throw new RangeError(`Invalid service character: ${c}`); + Readable.prototype.on = function(ev, fn) { + var res = Stream.prototype.on.call(this, ev, fn); + if (ev === "data") { + if (this._readableState.flowing !== false) this.resume(); + } else if (ev === "readable") { + var state = this._readableState; + if (!state.endEmitted && !state.readableListening) { + state.readableListening = state.needReadable = true; + state.emittedReadable = false; + if (!state.reading) { + pna.nextTick(nReadingNextTick, this); + } else if (state.length) { + emitReadable(this); } } - return accountSASServices; } - /** - * Permission to access blob resources granted. - */ - blob = false; - /** - * Permission to access file resources granted. - */ - file = false; - /** - * Permission to access queue resources granted. - */ - queue = false; - /** - * Permission to access table resources granted. - */ - table = false; - /** - * Converts the given services to a string. - * - */ - toString() { - const services = []; - if (this.blob) { - services.push("b"); - } - if (this.table) { - services.push("t"); - } - if (this.queue) { - services.push("q"); - } - if (this.file) { - services.push("f"); - } - return services.join(""); + return res; + }; + Readable.prototype.addListener = Readable.prototype.on; + function nReadingNextTick(self2) { + debug4("readable nexttick read 0"); + self2.read(0); + } + Readable.prototype.resume = function() { + var state = this._readableState; + if (!state.flowing) { + debug4("resume"); + state.flowing = true; + resume(this, state); } + return this; }; - exports2.AccountSASServices = AccountSASServices; - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASSignatureValues.js -var require_AccountSASSignatureValues = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASSignatureValues.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.generateAccountSASQueryParameters = generateAccountSASQueryParameters; - exports2.generateAccountSASQueryParametersInternal = generateAccountSASQueryParametersInternal; - var AccountSASPermissions_js_1 = require_AccountSASPermissions(); - var AccountSASResourceTypes_js_1 = require_AccountSASResourceTypes(); - var AccountSASServices_js_1 = require_AccountSASServices(); - var SasIPRange_js_1 = require_SasIPRange(); - var SASQueryParameters_js_1 = require_SASQueryParameters(); - var constants_js_1 = require_constants15(); - var utils_common_js_1 = require_utils_common(); - function generateAccountSASQueryParameters(accountSASSignatureValues, sharedKeyCredential) { - return generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential).sasQueryParameters; + function resume(stream, state) { + if (!state.resumeScheduled) { + state.resumeScheduled = true; + pna.nextTick(resume_, stream, state); + } } - function generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential) { - const version = accountSASSignatureValues.version ? accountSASSignatureValues.version : constants_js_1.SERVICE_VERSION; - if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.setImmutabilityPolicy && version < "2020-08-04") { - throw RangeError("'version' must be >= '2020-08-04' when provided 'i' permission."); + function resume_(stream, state) { + if (!state.reading) { + debug4("resume read 0"); + stream.read(0); } - if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.deleteVersion && version < "2019-10-10") { - throw RangeError("'version' must be >= '2019-10-10' when provided 'x' permission."); + state.resumeScheduled = false; + state.awaitDrain = 0; + stream.emit("resume"); + flow(stream); + if (state.flowing && !state.reading) stream.read(0); + } + Readable.prototype.pause = function() { + debug4("call pause flowing=%j", this._readableState.flowing); + if (false !== this._readableState.flowing) { + debug4("pause"); + this._readableState.flowing = false; + this.emit("pause"); } - if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.permanentDelete && version < "2019-10-10") { - throw RangeError("'version' must be >= '2019-10-10' when provided 'y' permission."); + return this; + }; + function flow(stream) { + var state = stream._readableState; + debug4("flow", state.flowing); + while (state.flowing && stream.read() !== null) { + } + } + Readable.prototype.wrap = function(stream) { + var _this = this; + var state = this._readableState; + var paused = false; + stream.on("end", function() { + debug4("wrapped end"); + if (state.decoder && !state.ended) { + var chunk = state.decoder.end(); + if (chunk && chunk.length) _this.push(chunk); + } + _this.push(null); + }); + stream.on("data", function(chunk) { + debug4("wrapped data"); + if (state.decoder) chunk = state.decoder.write(chunk); + if (state.objectMode && (chunk === null || chunk === void 0)) return; + else if (!state.objectMode && (!chunk || !chunk.length)) return; + var ret = _this.push(chunk); + if (!ret) { + paused = true; + stream.pause(); + } + }); + for (var i in stream) { + if (this[i] === void 0 && typeof stream[i] === "function") { + this[i] = /* @__PURE__ */ (function(method) { + return function() { + return stream[method].apply(stream, arguments); + }; + })(i); + } } - if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.tag && version < "2019-12-12") { - throw RangeError("'version' must be >= '2019-12-12' when provided 't' permission."); + for (var n = 0; n < kProxyEvents.length; n++) { + stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n])); } - if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.filter && version < "2019-12-12") { - throw RangeError("'version' must be >= '2019-12-12' when provided 'f' permission."); + this._read = function(n2) { + debug4("wrapped _read", n2); + if (paused) { + paused = false; + stream.resume(); + } + }; + return this; + }; + Object.defineProperty(Readable.prototype, "readableHighWaterMark", { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function() { + return this._readableState.highWaterMark; } - if (accountSASSignatureValues.encryptionScope && version < "2020-12-06") { - throw RangeError("'version' must be >= '2020-12-06' when provided 'encryptionScope' in SAS."); + }); + Readable._fromList = fromList; + function fromList(n, state) { + if (state.length === 0) return null; + var ret; + if (state.objectMode) ret = state.buffer.shift(); + else if (!n || n >= state.length) { + if (state.decoder) ret = state.buffer.join(""); + else if (state.buffer.length === 1) ret = state.buffer.head.data; + else ret = state.buffer.concat(state.length); + state.buffer.clear(); + } else { + ret = fromListPartial(n, state.buffer, state.decoder); } - const parsedPermissions = AccountSASPermissions_js_1.AccountSASPermissions.parse(accountSASSignatureValues.permissions.toString()); - const parsedServices = AccountSASServices_js_1.AccountSASServices.parse(accountSASSignatureValues.services).toString(); - const parsedResourceTypes = AccountSASResourceTypes_js_1.AccountSASResourceTypes.parse(accountSASSignatureValues.resourceTypes).toString(); - let stringToSign; - if (version >= "2020-12-06") { - stringToSign = [ - sharedKeyCredential.accountName, - parsedPermissions, - parsedServices, - parsedResourceTypes, - accountSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.startsOn, false) : "", - (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.expiresOn, false), - accountSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(accountSASSignatureValues.ipRange) : "", - accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : "", - version, - accountSASSignatureValues.encryptionScope ? accountSASSignatureValues.encryptionScope : "", - "" - // Account SAS requires an additional newline character - ].join("\n"); + return ret; + } + function fromListPartial(n, list, hasStrings) { + var ret; + if (n < list.head.data.length) { + ret = list.head.data.slice(0, n); + list.head.data = list.head.data.slice(n); + } else if (n === list.head.data.length) { + ret = list.shift(); } else { - stringToSign = [ - sharedKeyCredential.accountName, - parsedPermissions, - parsedServices, - parsedResourceTypes, - accountSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.startsOn, false) : "", - (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.expiresOn, false), - accountSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(accountSASSignatureValues.ipRange) : "", - accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : "", - version, - "" - // Account SAS requires an additional newline character - ].join("\n"); + ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list); } - const signature = sharedKeyCredential.computeHMACSHA256(stringToSign); - return { - sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(version, signature, parsedPermissions.toString(), parsedServices, parsedResourceTypes, accountSASSignatureValues.protocol, accountSASSignatureValues.startsOn, accountSASSignatureValues.expiresOn, accountSASSignatureValues.ipRange, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, accountSASSignatureValues.encryptionScope), - stringToSign - }; + return ret; } - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/BlobServiceClient.js -var require_BlobServiceClient = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/BlobServiceClient.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.BlobServiceClient = void 0; - var core_auth_1 = require_commonjs7(); - var core_rest_pipeline_1 = require_commonjs6(); - var core_util_1 = require_commonjs4(); - var Pipeline_js_1 = require_Pipeline(); - var ContainerClient_js_1 = require_ContainerClient(); - var utils_common_js_1 = require_utils_common(); - var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential(); - var AnonymousCredential_js_1 = require_AnonymousCredential(); - var utils_common_js_2 = require_utils_common(); - var tracing_js_1 = require_tracing(); - var BlobBatchClient_js_1 = require_BlobBatchClient(); - var StorageClient_js_1 = require_StorageClient(); - var AccountSASPermissions_js_1 = require_AccountSASPermissions(); - var AccountSASSignatureValues_js_1 = require_AccountSASSignatureValues(); - var AccountSASServices_js_1 = require_AccountSASServices(); - var BlobServiceClient = class _BlobServiceClient extends StorageClient_js_1.StorageClient { - /** - * serviceContext provided by protocol layer. - */ - serviceContext; - /** - * - * Creates an instance of BlobServiceClient from connection string. - * - * @param connectionString - Account connection string or a SAS connection string of an Azure storage account. - * [ Note - Account connection string can only be used in NODE.JS runtime. ] - * Account connection string example - - * `DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=accountKey;EndpointSuffix=core.windows.net` - * SAS connection string example - - * `BlobEndpoint=https://myaccount.blob.core.windows.net/;QueueEndpoint=https://myaccount.queue.core.windows.net/;FileEndpoint=https://myaccount.file.core.windows.net/;TableEndpoint=https://myaccount.table.core.windows.net/;SharedAccessSignature=sasString` - * @param options - Optional. Options to configure the HTTP pipeline. - */ - static fromConnectionString(connectionString, options) { - options = options || {}; - const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(connectionString); - if (extractedCreds.kind === "AccountConnString") { - if (core_util_1.isNodeLike) { - const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey); - if (!options.proxyOptions) { - options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri); - } - const pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options); - return new _BlobServiceClient(extractedCreds.url, pipeline); + function copyFromBufferString(n, list) { + var p = list.head; + var c = 1; + var ret = p.data; + n -= ret.length; + while (p = p.next) { + var str2 = p.data; + var nb = n > str2.length ? str2.length : n; + if (nb === str2.length) ret += str2; + else ret += str2.slice(0, n); + n -= nb; + if (n === 0) { + if (nb === str2.length) { + ++c; + if (p.next) list.head = p.next; + else list.head = list.tail = null; } else { - throw new Error("Account connection string is only supported in Node.js environment"); + list.head = p; + p.data = str2.slice(nb); } - } else if (extractedCreds.kind === "SASConnString") { - const pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); - return new _BlobServiceClient(extractedCreds.url + "?" + extractedCreds.accountSas, pipeline); - } else { - throw new Error("Connection string must be either an Account connection string or a SAS connection string"); + break; } + ++c; } - constructor(url, credentialOrPipeline, options) { - let pipeline; - if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipeline)) { - pipeline = credentialOrPipeline; - } else if (core_util_1.isNodeLike && credentialOrPipeline instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipeline instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipeline)) { - pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipeline, options); - } else { - pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); + list.length -= c; + return ret; + } + function copyFromBuffer(n, list) { + var ret = Buffer2.allocUnsafe(n); + var p = list.head; + var c = 1; + p.data.copy(ret); + n -= p.data.length; + while (p = p.next) { + var buf = p.data; + var nb = n > buf.length ? buf.length : n; + buf.copy(ret, ret.length - n, 0, nb); + n -= nb; + if (n === 0) { + if (nb === buf.length) { + ++c; + if (p.next) list.head = p.next; + else list.head = list.tail = null; + } else { + list.head = p; + p.data = buf.slice(nb); + } + break; } - super(url, pipeline); - this.serviceContext = this.storageClientContext.service; - } - /** - * Creates a {@link ContainerClient} object - * - * @param containerName - A container name - * @returns A new ContainerClient object for the given container name. - * - * Example usage: - * - * ```ts snippet:BlobServiceClientGetContainerClient - * import { BlobServiceClient } from "@azure/storage-blob"; - * import { DefaultAzureCredential } from "@azure/identity"; - * - * const account = ""; - * const blobServiceClient = new BlobServiceClient( - * `https://${account}.blob.core.windows.net`, - * new DefaultAzureCredential(), - * ); - * - * const containerClient = blobServiceClient.getContainerClient(""); - * ``` - */ - getContainerClient(containerName) { - return new ContainerClient_js_1.ContainerClient((0, utils_common_js_1.appendToURLPath)(this.url, encodeURIComponent(containerName)), this.pipeline); + ++c; } - /** - * Create a Blob container. @see https://learn.microsoft.com/rest/api/storageservices/create-container - * - * @param containerName - Name of the container to create. - * @param options - Options to configure Container Create operation. - * @returns Container creation response and the corresponding container client. - */ - async createContainer(containerName, options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobServiceClient-createContainer", options, async (updatedOptions) => { - const containerClient = this.getContainerClient(containerName); - const containerCreateResponse = await containerClient.create(updatedOptions); - return { - containerClient, - containerCreateResponse - }; - }); + list.length -= c; + return ret; + } + function endReadable(stream) { + var state = stream._readableState; + if (state.length > 0) throw new Error('"endReadable()" called on non-empty stream'); + if (!state.endEmitted) { + state.ended = true; + pna.nextTick(endReadableNT, state, stream); } - /** - * Deletes a Blob container. - * - * @param containerName - Name of the container to delete. - * @param options - Options to configure Container Delete operation. - * @returns Container deletion response. - */ - async deleteContainer(containerName, options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobServiceClient-deleteContainer", options, async (updatedOptions) => { - const containerClient = this.getContainerClient(containerName); - return containerClient.delete(updatedOptions); - }); + } + function endReadableNT(state, stream) { + if (!state.endEmitted && state.length === 0) { + state.endEmitted = true; + stream.readable = false; + stream.emit("end"); } - /** - * Restore a previously deleted Blob container. - * This API is only functional if Container Soft Delete is enabled for the storage account associated with the container. - * - * @param deletedContainerName - Name of the previously deleted container. - * @param deletedContainerVersion - Version of the previously deleted container, used to uniquely identify the deleted container. - * @param options - Options to configure Container Restore operation. - * @returns Container deletion response. - */ - async undeleteContainer(deletedContainerName, deletedContainerVersion, options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobServiceClient-undeleteContainer", options, async (updatedOptions) => { - const containerClient = this.getContainerClient(options.destinationContainerName || deletedContainerName); - const containerContext = containerClient["storageClientContext"].container; - const containerUndeleteResponse = (0, utils_common_js_2.assertResponse)(await containerContext.restore({ - deletedContainerName, - deletedContainerVersion, - tracingOptions: updatedOptions.tracingOptions - })); - return { containerClient, containerUndeleteResponse }; - }); + } + function indexOf(xs, x) { + for (var i = 0, l = xs.length; i < l; i++) { + if (xs[i] === x) return i; } - /** - * Gets the properties of a storage account’s Blob service, including properties - * for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules. - * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-properties - * - * @param options - Options to the Service Get Properties operation. - * @returns Response data for the Service Get Properties operation. - */ - async getProperties(options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getProperties", options, async (updatedOptions) => { - return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getProperties({ - abortSignal: options.abortSignal, - tracingOptions: updatedOptions.tracingOptions - })); - }); + return -1; + } + } +}); + +// node_modules/lazystream/node_modules/readable-stream/lib/_stream_transform.js +var require_stream_transform = __commonJS({ + "node_modules/lazystream/node_modules/readable-stream/lib/_stream_transform.js"(exports2, module2) { + "use strict"; + module2.exports = Transform; + var Duplex = require_stream_duplex(); + var util = Object.create(require_util20()); + util.inherits = require_inherits(); + util.inherits(Transform, Duplex); + function afterTransform(er, data) { + var ts = this._transformState; + ts.transforming = false; + var cb = ts.writecb; + if (!cb) { + return this.emit("error", new Error("write callback called multiple times")); } - /** - * Sets properties for a storage account’s Blob service endpoint, including properties - * for Storage Analytics, CORS (Cross-Origin Resource Sharing) rules and soft delete settings. - * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-service-properties - * - * @param properties - - * @param options - Options to the Service Set Properties operation. - * @returns Response data for the Service Set Properties operation. - */ - async setProperties(properties, options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobServiceClient-setProperties", options, async (updatedOptions) => { - return (0, utils_common_js_2.assertResponse)(await this.serviceContext.setProperties(properties, { - abortSignal: options.abortSignal, - tracingOptions: updatedOptions.tracingOptions - })); - }); + ts.writechunk = null; + ts.writecb = null; + if (data != null) + this.push(data); + cb(er); + var rs = this._readableState; + rs.reading = false; + if (rs.needReadable || rs.length < rs.highWaterMark) { + this._read(rs.highWaterMark); } - /** - * Retrieves statistics related to replication for the Blob service. It is only - * available on the secondary location endpoint when read-access geo-redundant - * replication is enabled for the storage account. - * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-stats - * - * @param options - Options to the Service Get Statistics operation. - * @returns Response data for the Service Get Statistics operation. - */ - async getStatistics(options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getStatistics", options, async (updatedOptions) => { - return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getStatistics({ - abortSignal: options.abortSignal, - tracingOptions: updatedOptions.tracingOptions - })); - }); + } + function Transform(options) { + if (!(this instanceof Transform)) return new Transform(options); + Duplex.call(this, options); + this._transformState = { + afterTransform: afterTransform.bind(this), + needTransform: false, + transforming: false, + writecb: null, + writechunk: null, + writeencoding: null + }; + this._readableState.needReadable = true; + this._readableState.sync = false; + if (options) { + if (typeof options.transform === "function") this._transform = options.transform; + if (typeof options.flush === "function") this._flush = options.flush; } - /** - * The Get Account Information operation returns the sku name and account kind - * for the specified account. - * The Get Account Information operation is available on service versions beginning - * with version 2018-03-28. - * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information - * - * @param options - Options to the Service Get Account Info operation. - * @returns Response data for the Service Get Account Info operation. - */ - async getAccountInfo(options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getAccountInfo", options, async (updatedOptions) => { - return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getAccountInfo({ - abortSignal: options.abortSignal, - tracingOptions: updatedOptions.tracingOptions - })); + this.on("prefinish", prefinish); + } + function prefinish() { + var _this = this; + if (typeof this._flush === "function") { + this._flush(function(er, data) { + done(_this, er, data); }); + } else { + done(this, null, null); } - /** - * Returns a list of the containers under the specified account. - * @see https://learn.microsoft.com/rest/api/storageservices/list-containers2 - * - * @param marker - A string value that identifies the portion of - * the list of containers to be returned with the next listing operation. The - * operation returns the continuationToken value within the response body if the - * listing operation did not return all containers remaining to be listed - * with the current page. The continuationToken value can be used as the value for - * the marker parameter in a subsequent call to request the next page of list - * items. The marker value is opaque to the client. - * @param options - Options to the Service List Container Segment operation. - * @returns Response data for the Service List Container Segment operation. - */ - async listContainersSegment(marker, options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobServiceClient-listContainersSegment", options, async (updatedOptions) => { - return (0, utils_common_js_2.assertResponse)(await this.serviceContext.listContainersSegment({ - abortSignal: options.abortSignal, - marker, - ...options, - include: typeof options.include === "string" ? [options.include] : options.include, - tracingOptions: updatedOptions.tracingOptions - })); - }); + } + Transform.prototype.push = function(chunk, encoding) { + this._transformState.needTransform = false; + return Duplex.prototype.push.call(this, chunk, encoding); + }; + Transform.prototype._transform = function(chunk, encoding, cb) { + throw new Error("_transform() is not implemented"); + }; + Transform.prototype._write = function(chunk, encoding, cb) { + var ts = this._transformState; + ts.writecb = cb; + ts.writechunk = chunk; + ts.writeencoding = encoding; + if (!ts.transforming) { + var rs = this._readableState; + if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark); } - /** - * The Filter Blobs operation enables callers to list blobs across all containers whose tags - * match a given search expression. Filter blobs searches across all containers within a - * storage account but can be scoped within the expression to a single container. - * - * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression. - * The given expression must evaluate to true for a blob to be returned in the results. - * The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter; - * however, only a subset of the OData filter syntax is supported in the Blob service. - * @param marker - A string value that identifies the portion of - * the list of blobs to be returned with the next listing operation. The - * operation returns the continuationToken value within the response body if the - * listing operation did not return all blobs remaining to be listed - * with the current page. The continuationToken value can be used as the value for - * the marker parameter in a subsequent call to request the next page of list - * items. The marker value is opaque to the client. - * @param options - Options to find blobs by tags. - */ - async findBlobsByTagsSegment(tagFilterSqlExpression, marker, options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobServiceClient-findBlobsByTagsSegment", options, async (updatedOptions) => { - const response = (0, utils_common_js_2.assertResponse)(await this.serviceContext.filterBlobs({ - abortSignal: options.abortSignal, - where: tagFilterSqlExpression, - marker, - maxPageSize: options.maxPageSize, - tracingOptions: updatedOptions.tracingOptions - })); - const wrappedResponse = { - ...response, - _response: response._response, - // _response is made non-enumerable - blobs: response.blobs.map((blob) => { - let tagValue = ""; - if (blob.tags?.blobTagSet.length === 1) { - tagValue = blob.tags.blobTagSet[0].value; - } - return { ...blob, tags: (0, utils_common_js_1.toTags)(blob.tags), tagValue }; - }) - }; - return wrappedResponse; - }); + }; + Transform.prototype._read = function(n) { + var ts = this._transformState; + if (ts.writechunk !== null && ts.writecb && !ts.transforming) { + ts.transforming = true; + this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform); + } else { + ts.needTransform = true; } - /** - * Returns an AsyncIterableIterator for ServiceFindBlobsByTagsSegmentResponse. - * - * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression. - * The given expression must evaluate to true for a blob to be returned in the results. - * The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter; - * however, only a subset of the OData filter syntax is supported in the Blob service. - * @param marker - A string value that identifies the portion of - * the list of blobs to be returned with the next listing operation. The - * operation returns the continuationToken value within the response body if the - * listing operation did not return all blobs remaining to be listed - * with the current page. The continuationToken value can be used as the value for - * the marker parameter in a subsequent call to request the next page of list - * items. The marker value is opaque to the client. - * @param options - Options to find blobs by tags. - */ - async *findBlobsByTagsSegments(tagFilterSqlExpression, marker, options = {}) { - let response; - if (!!marker || marker === void 0) { - do { - response = await this.findBlobsByTagsSegment(tagFilterSqlExpression, marker, options); - response.blobs = response.blobs || []; - marker = response.continuationToken; - yield response; - } while (marker); - } + }; + Transform.prototype._destroy = function(err, cb) { + var _this2 = this; + Duplex.prototype._destroy.call(this, err, function(err2) { + cb(err2); + _this2.emit("close"); + }); + }; + function done(stream, er, data) { + if (er) return stream.emit("error", er); + if (data != null) + stream.push(data); + if (stream._writableState.length) throw new Error("Calling transform done when ws.length != 0"); + if (stream._transformState.transforming) throw new Error("Calling transform done when still transforming"); + return stream.push(null); + } + } +}); + +// node_modules/lazystream/node_modules/readable-stream/lib/_stream_passthrough.js +var require_stream_passthrough = __commonJS({ + "node_modules/lazystream/node_modules/readable-stream/lib/_stream_passthrough.js"(exports2, module2) { + "use strict"; + module2.exports = PassThrough; + var Transform = require_stream_transform(); + var util = Object.create(require_util20()); + util.inherits = require_inherits(); + util.inherits(PassThrough, Transform); + function PassThrough(options) { + if (!(this instanceof PassThrough)) return new PassThrough(options); + Transform.call(this, options); + } + PassThrough.prototype._transform = function(chunk, encoding, cb) { + cb(null, chunk); + }; + } +}); + +// node_modules/lazystream/node_modules/readable-stream/readable.js +var require_readable3 = __commonJS({ + "node_modules/lazystream/node_modules/readable-stream/readable.js"(exports2, module2) { + var Stream = require("stream"); + if (process.env.READABLE_STREAM === "disable" && Stream) { + module2.exports = Stream; + exports2 = module2.exports = Stream.Readable; + exports2.Readable = Stream.Readable; + exports2.Writable = Stream.Writable; + exports2.Duplex = Stream.Duplex; + exports2.Transform = Stream.Transform; + exports2.PassThrough = Stream.PassThrough; + exports2.Stream = Stream; + } else { + exports2 = module2.exports = require_stream_readable(); + exports2.Stream = Stream || exports2; + exports2.Readable = exports2; + exports2.Writable = require_stream_writable(); + exports2.Duplex = require_stream_duplex(); + exports2.Transform = require_stream_transform(); + exports2.PassThrough = require_stream_passthrough(); + } + } +}); + +// node_modules/lazystream/node_modules/readable-stream/passthrough.js +var require_passthrough = __commonJS({ + "node_modules/lazystream/node_modules/readable-stream/passthrough.js"(exports2, module2) { + module2.exports = require_readable3().PassThrough; + } +}); + +// node_modules/lazystream/lib/lazystream.js +var require_lazystream = __commonJS({ + "node_modules/lazystream/lib/lazystream.js"(exports2, module2) { + var util = require("util"); + var PassThrough = require_passthrough(); + module2.exports = { + Readable, + Writable + }; + util.inherits(Readable, PassThrough); + util.inherits(Writable, PassThrough); + function beforeFirstCall(instance, method, callback) { + instance[method] = function() { + delete instance[method]; + callback.apply(this, arguments); + return this[method].apply(this, arguments); + }; + } + function Readable(fn, options) { + if (!(this instanceof Readable)) + return new Readable(fn, options); + PassThrough.call(this, options); + beforeFirstCall(this, "_read", function() { + var source = fn.call(this, options); + var emit = this.emit.bind(this, "error"); + source.on("error", emit); + source.pipe(this); + }); + this.emit("readable"); + } + function Writable(fn, options) { + if (!(this instanceof Writable)) + return new Writable(fn, options); + PassThrough.call(this, options); + beforeFirstCall(this, "_write", function() { + var destination = fn.call(this, options); + var emit = this.emit.bind(this, "error"); + destination.on("error", emit); + this.pipe(destination); + }); + this.emit("writable"); + } + } +}); + +// node_modules/normalize-path/index.js +var require_normalize_path = __commonJS({ + "node_modules/normalize-path/index.js"(exports2, module2) { + module2.exports = function(path7, stripTrailing) { + if (typeof path7 !== "string") { + throw new TypeError("expected path to be a string"); } - /** - * Returns an AsyncIterableIterator for blobs. - * - * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression. - * The given expression must evaluate to true for a blob to be returned in the results. - * The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter; - * however, only a subset of the OData filter syntax is supported in the Blob service. - * @param options - Options to findBlobsByTagsItems. - */ - async *findBlobsByTagsItems(tagFilterSqlExpression, options = {}) { - let marker; - for await (const segment of this.findBlobsByTagsSegments(tagFilterSqlExpression, marker, options)) { - yield* segment.blobs; + if (path7 === "\\" || path7 === "/") return "/"; + var len = path7.length; + if (len <= 1) return path7; + var prefix = ""; + if (len > 4 && path7[3] === "\\") { + var ch = path7[2]; + if ((ch === "?" || ch === ".") && path7.slice(0, 2) === "\\\\") { + path7 = path7.slice(2); + prefix = "//"; } } - /** - * Returns an async iterable iterator to find all blobs with specified tag - * under the specified account. - * - * .byPage() returns an async iterable iterator to list the blobs in pages. - * - * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-properties - * - * ```ts snippet:BlobServiceClientFindBlobsByTags - * import { BlobServiceClient } from "@azure/storage-blob"; - * import { DefaultAzureCredential } from "@azure/identity"; - * - * const account = ""; - * const blobServiceClient = new BlobServiceClient( - * `https://${account}.blob.core.windows.net`, - * new DefaultAzureCredential(), - * ); - * - * // Use for await to iterate the blobs - * let i = 1; - * for await (const blob of blobServiceClient.findBlobsByTags("tagkey='tagvalue'")) { - * console.log(`Blob ${i++}: ${blob.name}`); - * } - * - * // Use iter.next() to iterate the blobs - * i = 1; - * const iter = blobServiceClient.findBlobsByTags("tagkey='tagvalue'"); - * let { value, done } = await iter.next(); - * while (!done) { - * console.log(`Blob ${i++}: ${value.name}`); - * ({ value, done } = await iter.next()); - * } - * - * // Use byPage() to iterate the blobs - * i = 1; - * for await (const page of blobServiceClient - * .findBlobsByTags("tagkey='tagvalue'") - * .byPage({ maxPageSize: 20 })) { - * for (const blob of page.blobs) { - * console.log(`Blob ${i++}: ${blob.name}`); - * } - * } - * - * // Use paging with a marker - * i = 1; - * let iterator = blobServiceClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 2 }); - * let response = (await iterator.next()).value; - * // Prints 2 blob names - * if (response.blobs) { - * for (const blob of response.blobs) { - * console.log(`Blob ${i++}: ${blob.name}`); - * } - * } - * // Gets next marker - * let marker = response.continuationToken; - * // Passing next marker as continuationToken - * iterator = blobServiceClient - * .findBlobsByTags("tagkey='tagvalue'") - * .byPage({ continuationToken: marker, maxPageSize: 10 }); - * response = (await iterator.next()).value; - * - * // Prints blob names - * if (response.blobs) { - * for (const blob of response.blobs) { - * console.log(`Blob ${i++}: ${blob.name}`); - * } - * } - * ``` - * - * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression. - * The given expression must evaluate to true for a blob to be returned in the results. - * The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter; - * however, only a subset of the OData filter syntax is supported in the Blob service. - * @param options - Options to find blobs by tags. - */ - findBlobsByTags(tagFilterSqlExpression, options = {}) { - const listSegmentOptions = { - ...options - }; - const iter = this.findBlobsByTagsItems(tagFilterSqlExpression, listSegmentOptions); - return { - /** - * The next method, part of the iteration protocol - */ - next() { - return iter.next(); - }, - /** - * The connection to the async iterator, part of the iteration protocol - */ - [Symbol.asyncIterator]() { - return this; - }, - /** - * Return an AsyncIterableIterator that works a page at a time - */ - byPage: (settings = {}) => { - return this.findBlobsByTagsSegments(tagFilterSqlExpression, settings.continuationToken, { - maxPageSize: settings.maxPageSize, - ...listSegmentOptions - }); - } - }; - } - /** - * Returns an AsyncIterableIterator for ServiceListContainersSegmentResponses - * - * @param marker - A string value that identifies the portion of - * the list of containers to be returned with the next listing operation. The - * operation returns the continuationToken value within the response body if the - * listing operation did not return all containers remaining to be listed - * with the current page. The continuationToken value can be used as the value for - * the marker parameter in a subsequent call to request the next page of list - * items. The marker value is opaque to the client. - * @param options - Options to list containers operation. - */ - async *listSegments(marker, options = {}) { - let listContainersSegmentResponse; - if (!!marker || marker === void 0) { - do { - listContainersSegmentResponse = await this.listContainersSegment(marker, options); - listContainersSegmentResponse.containerItems = listContainersSegmentResponse.containerItems || []; - marker = listContainersSegmentResponse.continuationToken; - yield await listContainersSegmentResponse; - } while (marker); - } + var segs = path7.split(/[/\\]+/); + if (stripTrailing !== false && segs[segs.length - 1] === "") { + segs.pop(); } - /** - * Returns an AsyncIterableIterator for Container Items - * - * @param options - Options to list containers operation. - */ - async *listItems(options = {}) { - let marker; - for await (const segment of this.listSegments(marker, options)) { - yield* segment.containerItems; - } + return prefix + segs.join("/"); + }; + } +}); + +// node_modules/lodash/identity.js +var require_identity = __commonJS({ + "node_modules/lodash/identity.js"(exports2, module2) { + function identity(value) { + return value; + } + module2.exports = identity; + } +}); + +// node_modules/lodash/_apply.js +var require_apply = __commonJS({ + "node_modules/lodash/_apply.js"(exports2, module2) { + function apply(func, thisArg, args) { + switch (args.length) { + case 0: + return func.call(thisArg); + case 1: + return func.call(thisArg, args[0]); + case 2: + return func.call(thisArg, args[0], args[1]); + case 3: + return func.call(thisArg, args[0], args[1], args[2]); } - /** - * Returns an async iterable iterator to list all the containers - * under the specified account. - * - * .byPage() returns an async iterable iterator to list the containers in pages. - * - * ```ts snippet:BlobServiceClientListContainers - * import { BlobServiceClient } from "@azure/storage-blob"; - * import { DefaultAzureCredential } from "@azure/identity"; - * - * const account = ""; - * const blobServiceClient = new BlobServiceClient( - * `https://${account}.blob.core.windows.net`, - * new DefaultAzureCredential(), - * ); - * - * // Use for await to iterate the containers - * let i = 1; - * for await (const container of blobServiceClient.listContainers()) { - * console.log(`Container ${i++}: ${container.name}`); - * } - * - * // Use iter.next() to iterate the containers - * i = 1; - * const iter = blobServiceClient.listContainers(); - * let { value, done } = await iter.next(); - * while (!done) { - * console.log(`Container ${i++}: ${value.name}`); - * ({ value, done } = await iter.next()); - * } - * - * // Use byPage() to iterate the containers - * i = 1; - * for await (const page of blobServiceClient.listContainers().byPage({ maxPageSize: 20 })) { - * for (const container of page.containerItems) { - * console.log(`Container ${i++}: ${container.name}`); - * } - * } - * - * // Use paging with a marker - * i = 1; - * let iterator = blobServiceClient.listContainers().byPage({ maxPageSize: 2 }); - * let response = (await iterator.next()).value; - * - * // Prints 2 container names - * if (response.containerItems) { - * for (const container of response.containerItems) { - * console.log(`Container ${i++}: ${container.name}`); - * } - * } - * - * // Gets next marker - * let marker = response.continuationToken; - * // Passing next marker as continuationToken - * iterator = blobServiceClient - * .listContainers() - * .byPage({ continuationToken: marker, maxPageSize: 10 }); - * response = (await iterator.next()).value; - * - * // Prints 10 container names - * if (response.containerItems) { - * for (const container of response.containerItems) { - * console.log(`Container ${i++}: ${container.name}`); - * } - * } - * ``` - * - * @param options - Options to list containers. - * @returns An asyncIterableIterator that supports paging. - */ - listContainers(options = {}) { - if (options.prefix === "") { - options.prefix = void 0; - } - const include = []; - if (options.includeDeleted) { - include.push("deleted"); - } - if (options.includeMetadata) { - include.push("metadata"); + return func.apply(thisArg, args); + } + module2.exports = apply; + } +}); + +// node_modules/lodash/_overRest.js +var require_overRest = __commonJS({ + "node_modules/lodash/_overRest.js"(exports2, module2) { + var apply = require_apply(); + var nativeMax = Math.max; + function overRest(func, start, transform) { + start = nativeMax(start === void 0 ? func.length - 1 : start, 0); + return function() { + var args = arguments, index = -1, length = nativeMax(args.length - start, 0), array = Array(length); + while (++index < length) { + array[index] = args[start + index]; } - if (options.includeSystem) { - include.push("system"); + index = -1; + var otherArgs = Array(start + 1); + while (++index < start) { + otherArgs[index] = args[index]; } - const listSegmentOptions = { - ...options, - ...include.length > 0 ? { include } : {} - }; - const iter = this.listItems(listSegmentOptions); - return { - /** - * The next method, part of the iteration protocol - */ - next() { - return iter.next(); - }, - /** - * The connection to the async iterator, part of the iteration protocol - */ - [Symbol.asyncIterator]() { - return this; - }, - /** - * Return an AsyncIterableIterator that works a page at a time - */ - byPage: (settings = {}) => { - return this.listSegments(settings.continuationToken, { - maxPageSize: settings.maxPageSize, - ...listSegmentOptions - }); - } - }; + otherArgs[start] = transform(array); + return apply(func, this, otherArgs); + }; + } + module2.exports = overRest; + } +}); + +// node_modules/lodash/constant.js +var require_constant = __commonJS({ + "node_modules/lodash/constant.js"(exports2, module2) { + function constant(value) { + return function() { + return value; + }; + } + module2.exports = constant; + } +}); + +// node_modules/lodash/_freeGlobal.js +var require_freeGlobal = __commonJS({ + "node_modules/lodash/_freeGlobal.js"(exports2, module2) { + var freeGlobal = typeof global == "object" && global && global.Object === Object && global; + module2.exports = freeGlobal; + } +}); + +// node_modules/lodash/_root.js +var require_root = __commonJS({ + "node_modules/lodash/_root.js"(exports2, module2) { + var freeGlobal = require_freeGlobal(); + var freeSelf = typeof self == "object" && self && self.Object === Object && self; + var root = freeGlobal || freeSelf || Function("return this")(); + module2.exports = root; + } +}); + +// node_modules/lodash/_Symbol.js +var require_Symbol = __commonJS({ + "node_modules/lodash/_Symbol.js"(exports2, module2) { + var root = require_root(); + var Symbol2 = root.Symbol; + module2.exports = Symbol2; + } +}); + +// node_modules/lodash/_getRawTag.js +var require_getRawTag = __commonJS({ + "node_modules/lodash/_getRawTag.js"(exports2, module2) { + var Symbol2 = require_Symbol(); + var objectProto = Object.prototype; + var hasOwnProperty = objectProto.hasOwnProperty; + var nativeObjectToString = objectProto.toString; + var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0; + function getRawTag(value) { + var isOwn = hasOwnProperty.call(value, symToStringTag), tag = value[symToStringTag]; + try { + value[symToStringTag] = void 0; + var unmasked = true; + } catch (e) { } - /** - * ONLY AVAILABLE WHEN USING BEARER TOKEN AUTHENTICATION (TokenCredential). - * - * Retrieves a user delegation key for the Blob service. This is only a valid operation when using - * bearer token authentication. - * - * @see https://learn.microsoft.com/rest/api/storageservices/get-user-delegation-key - * - * @param startsOn - The start time for the user delegation SAS. Must be within 7 days of the current time - * @param expiresOn - The end time for the user delegation SAS. Must be within 7 days of the current time - */ - async getUserDelegationKey(startsOn, expiresOn, options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getUserDelegationKey", options, async (updatedOptions) => { - const response = (0, utils_common_js_2.assertResponse)(await this.serviceContext.getUserDelegationKey({ - startsOn: (0, utils_common_js_2.truncatedISO8061Date)(startsOn, false), - expiresOn: (0, utils_common_js_2.truncatedISO8061Date)(expiresOn, false) - }, { - abortSignal: options.abortSignal, - tracingOptions: updatedOptions.tracingOptions - })); - const userDelegationKey = { - signedObjectId: response.signedObjectId, - signedTenantId: response.signedTenantId, - signedStartsOn: new Date(response.signedStartsOn), - signedExpiresOn: new Date(response.signedExpiresOn), - signedService: response.signedService, - signedVersion: response.signedVersion, - value: response.value - }; - const res = { - _response: response._response, - requestId: response.requestId, - clientRequestId: response.clientRequestId, - version: response.version, - date: response.date, - errorCode: response.errorCode, - ...userDelegationKey - }; - return res; - }); + var result = nativeObjectToString.call(value); + if (unmasked) { + if (isOwn) { + value[symToStringTag] = tag; + } else { + delete value[symToStringTag]; + } } - /** - * Creates a BlobBatchClient object to conduct batch operations. - * - * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch - * - * @returns A new BlobBatchClient object for this service. - */ - getBlobBatchClient() { - return new BlobBatchClient_js_1.BlobBatchClient(this.url, this.pipeline); + return result; + } + module2.exports = getRawTag; + } +}); + +// node_modules/lodash/_objectToString.js +var require_objectToString = __commonJS({ + "node_modules/lodash/_objectToString.js"(exports2, module2) { + var objectProto = Object.prototype; + var nativeObjectToString = objectProto.toString; + function objectToString(value) { + return nativeObjectToString.call(value); + } + module2.exports = objectToString; + } +}); + +// node_modules/lodash/_baseGetTag.js +var require_baseGetTag = __commonJS({ + "node_modules/lodash/_baseGetTag.js"(exports2, module2) { + var Symbol2 = require_Symbol(); + var getRawTag = require_getRawTag(); + var objectToString = require_objectToString(); + var nullTag = "[object Null]"; + var undefinedTag = "[object Undefined]"; + var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0; + function baseGetTag(value) { + if (value == null) { + return value === void 0 ? undefinedTag : nullTag; } - /** - * Only available for BlobServiceClient constructed with a shared key credential. - * - * Generates a Blob account Shared Access Signature (SAS) URI based on the client properties - * and parameters passed in. The SAS is signed by the shared key credential of the client. - * - * @see https://learn.microsoft.com/rest/api/storageservices/create-account-sas - * - * @param expiresOn - Optional. The time at which the shared access signature becomes invalid. Default to an hour later if not provided. - * @param permissions - Specifies the list of permissions to be associated with the SAS. - * @param resourceTypes - Specifies the resource types associated with the shared access signature. - * @param options - Optional parameters. - * @returns An account SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. - */ - generateAccountSasUrl(expiresOn, permissions = AccountSASPermissions_js_1.AccountSASPermissions.parse("r"), resourceTypes = "sco", options = {}) { - if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) { - throw RangeError("Can only generate the account SAS when the client is initialized with a shared key credential"); + return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value); + } + module2.exports = baseGetTag; + } +}); + +// node_modules/lodash/isObject.js +var require_isObject = __commonJS({ + "node_modules/lodash/isObject.js"(exports2, module2) { + function isObject2(value) { + var type2 = typeof value; + return value != null && (type2 == "object" || type2 == "function"); + } + module2.exports = isObject2; + } +}); + +// node_modules/lodash/isFunction.js +var require_isFunction = __commonJS({ + "node_modules/lodash/isFunction.js"(exports2, module2) { + var baseGetTag = require_baseGetTag(); + var isObject2 = require_isObject(); + var asyncTag = "[object AsyncFunction]"; + var funcTag = "[object Function]"; + var genTag = "[object GeneratorFunction]"; + var proxyTag = "[object Proxy]"; + function isFunction(value) { + if (!isObject2(value)) { + return false; + } + var tag = baseGetTag(value); + return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; + } + module2.exports = isFunction; + } +}); + +// node_modules/lodash/_coreJsData.js +var require_coreJsData = __commonJS({ + "node_modules/lodash/_coreJsData.js"(exports2, module2) { + var root = require_root(); + var coreJsData = root["__core-js_shared__"]; + module2.exports = coreJsData; + } +}); + +// node_modules/lodash/_isMasked.js +var require_isMasked = __commonJS({ + "node_modules/lodash/_isMasked.js"(exports2, module2) { + var coreJsData = require_coreJsData(); + var maskSrcKey = (function() { + var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ""); + return uid ? "Symbol(src)_1." + uid : ""; + })(); + function isMasked(func) { + return !!maskSrcKey && maskSrcKey in func; + } + module2.exports = isMasked; + } +}); + +// node_modules/lodash/_toSource.js +var require_toSource = __commonJS({ + "node_modules/lodash/_toSource.js"(exports2, module2) { + var funcProto = Function.prototype; + var funcToString = funcProto.toString; + function toSource(func) { + if (func != null) { + try { + return funcToString.call(func); + } catch (e) { } - if (expiresOn === void 0) { - const now = /* @__PURE__ */ new Date(); - expiresOn = new Date(now.getTime() + 3600 * 1e3); + try { + return func + ""; + } catch (e) { } - const sas = (0, AccountSASSignatureValues_js_1.generateAccountSASQueryParameters)({ - permissions, - expiresOn, - resourceTypes, - services: AccountSASServices_js_1.AccountSASServices.parse("b").toString(), - ...options - }, this.credential).toString(); - return (0, utils_common_js_1.appendToURLQuery)(this.url, sas); } - /** - * Only available for BlobServiceClient constructed with a shared key credential. - * - * Generates string to sign for a Blob account Shared Access Signature (SAS) URI based on - * the client properties and parameters passed in. The SAS is signed by the shared key credential of the client. - * - * @see https://learn.microsoft.com/rest/api/storageservices/create-account-sas - * - * @param expiresOn - Optional. The time at which the shared access signature becomes invalid. Default to an hour later if not provided. - * @param permissions - Specifies the list of permissions to be associated with the SAS. - * @param resourceTypes - Specifies the resource types associated with the shared access signature. - * @param options - Optional parameters. - * @returns An account SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. - */ - generateSasStringToSign(expiresOn, permissions = AccountSASPermissions_js_1.AccountSASPermissions.parse("r"), resourceTypes = "sco", options = {}) { - if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) { - throw RangeError("Can only generate the account SAS when the client is initialized with a shared key credential"); - } - if (expiresOn === void 0) { - const now = /* @__PURE__ */ new Date(); - expiresOn = new Date(now.getTime() + 3600 * 1e3); + return ""; + } + module2.exports = toSource; + } +}); + +// node_modules/lodash/_baseIsNative.js +var require_baseIsNative = __commonJS({ + "node_modules/lodash/_baseIsNative.js"(exports2, module2) { + var isFunction = require_isFunction(); + var isMasked = require_isMasked(); + var isObject2 = require_isObject(); + var toSource = require_toSource(); + var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; + var reIsHostCtor = /^\[object .+?Constructor\]$/; + var funcProto = Function.prototype; + var objectProto = Object.prototype; + var funcToString = funcProto.toString; + var hasOwnProperty = objectProto.hasOwnProperty; + var reIsNative = RegExp( + "^" + funcToString.call(hasOwnProperty).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$" + ); + function baseIsNative(value) { + if (!isObject2(value) || isMasked(value)) { + return false; + } + var pattern = isFunction(value) ? reIsNative : reIsHostCtor; + return pattern.test(toSource(value)); + } + module2.exports = baseIsNative; + } +}); + +// node_modules/lodash/_getValue.js +var require_getValue = __commonJS({ + "node_modules/lodash/_getValue.js"(exports2, module2) { + function getValue(object, key) { + return object == null ? void 0 : object[key]; + } + module2.exports = getValue; + } +}); + +// node_modules/lodash/_getNative.js +var require_getNative = __commonJS({ + "node_modules/lodash/_getNative.js"(exports2, module2) { + var baseIsNative = require_baseIsNative(); + var getValue = require_getValue(); + function getNative(object, key) { + var value = getValue(object, key); + return baseIsNative(value) ? value : void 0; + } + module2.exports = getNative; + } +}); + +// node_modules/lodash/_defineProperty.js +var require_defineProperty = __commonJS({ + "node_modules/lodash/_defineProperty.js"(exports2, module2) { + var getNative = require_getNative(); + var defineProperty = (function() { + try { + var func = getNative(Object, "defineProperty"); + func({}, "", {}); + return func; + } catch (e) { + } + })(); + module2.exports = defineProperty; + } +}); + +// node_modules/lodash/_baseSetToString.js +var require_baseSetToString = __commonJS({ + "node_modules/lodash/_baseSetToString.js"(exports2, module2) { + var constant = require_constant(); + var defineProperty = require_defineProperty(); + var identity = require_identity(); + var baseSetToString = !defineProperty ? identity : function(func, string) { + return defineProperty(func, "toString", { + "configurable": true, + "enumerable": false, + "value": constant(string), + "writable": true + }); + }; + module2.exports = baseSetToString; + } +}); + +// node_modules/lodash/_shortOut.js +var require_shortOut = __commonJS({ + "node_modules/lodash/_shortOut.js"(exports2, module2) { + var HOT_COUNT = 800; + var HOT_SPAN = 16; + var nativeNow = Date.now; + function shortOut(func) { + var count = 0, lastCalled = 0; + return function() { + var stamp = nativeNow(), remaining = HOT_SPAN - (stamp - lastCalled); + lastCalled = stamp; + if (remaining > 0) { + if (++count >= HOT_COUNT) { + return arguments[0]; + } + } else { + count = 0; } - return (0, AccountSASSignatureValues_js_1.generateAccountSASQueryParametersInternal)({ - permissions, - expiresOn, - resourceTypes, - services: AccountSASServices_js_1.AccountSASServices.parse("b").toString(), - ...options - }, this.credential).stringToSign; + return func.apply(void 0, arguments); + }; + } + module2.exports = shortOut; + } +}); + +// node_modules/lodash/_setToString.js +var require_setToString = __commonJS({ + "node_modules/lodash/_setToString.js"(exports2, module2) { + var baseSetToString = require_baseSetToString(); + var shortOut = require_shortOut(); + var setToString = shortOut(baseSetToString); + module2.exports = setToString; + } +}); + +// node_modules/lodash/_baseRest.js +var require_baseRest = __commonJS({ + "node_modules/lodash/_baseRest.js"(exports2, module2) { + var identity = require_identity(); + var overRest = require_overRest(); + var setToString = require_setToString(); + function baseRest(func, start) { + return setToString(overRest(func, start, identity), func + ""); + } + module2.exports = baseRest; + } +}); + +// node_modules/lodash/eq.js +var require_eq2 = __commonJS({ + "node_modules/lodash/eq.js"(exports2, module2) { + function eq(value, other) { + return value === other || value !== value && other !== other; + } + module2.exports = eq; + } +}); + +// node_modules/lodash/isLength.js +var require_isLength = __commonJS({ + "node_modules/lodash/isLength.js"(exports2, module2) { + var MAX_SAFE_INTEGER = 9007199254740991; + function isLength(value) { + return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; + } + module2.exports = isLength; + } +}); + +// node_modules/lodash/isArrayLike.js +var require_isArrayLike = __commonJS({ + "node_modules/lodash/isArrayLike.js"(exports2, module2) { + var isFunction = require_isFunction(); + var isLength = require_isLength(); + function isArrayLike(value) { + return value != null && isLength(value.length) && !isFunction(value); + } + module2.exports = isArrayLike; + } +}); + +// node_modules/lodash/_isIndex.js +var require_isIndex = __commonJS({ + "node_modules/lodash/_isIndex.js"(exports2, module2) { + var MAX_SAFE_INTEGER = 9007199254740991; + var reIsUint = /^(?:0|[1-9]\d*)$/; + function isIndex(value, length) { + var type2 = typeof value; + length = length == null ? MAX_SAFE_INTEGER : length; + return !!length && (type2 == "number" || type2 != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length); + } + module2.exports = isIndex; + } +}); + +// node_modules/lodash/_isIterateeCall.js +var require_isIterateeCall = __commonJS({ + "node_modules/lodash/_isIterateeCall.js"(exports2, module2) { + var eq = require_eq2(); + var isArrayLike = require_isArrayLike(); + var isIndex = require_isIndex(); + var isObject2 = require_isObject(); + function isIterateeCall(value, index, object) { + if (!isObject2(object)) { + return false; + } + var type2 = typeof index; + if (type2 == "number" ? isArrayLike(object) && isIndex(index, object.length) : type2 == "string" && index in object) { + return eq(object[index], value); + } + return false; + } + module2.exports = isIterateeCall; + } +}); + +// node_modules/lodash/_baseTimes.js +var require_baseTimes = __commonJS({ + "node_modules/lodash/_baseTimes.js"(exports2, module2) { + function baseTimes(n, iteratee) { + var index = -1, result = Array(n); + while (++index < n) { + result[index] = iteratee(index); } + return result; + } + module2.exports = baseTimes; + } +}); + +// node_modules/lodash/isObjectLike.js +var require_isObjectLike = __commonJS({ + "node_modules/lodash/isObjectLike.js"(exports2, module2) { + function isObjectLike(value) { + return value != null && typeof value == "object"; + } + module2.exports = isObjectLike; + } +}); + +// node_modules/lodash/_baseIsArguments.js +var require_baseIsArguments = __commonJS({ + "node_modules/lodash/_baseIsArguments.js"(exports2, module2) { + var baseGetTag = require_baseGetTag(); + var isObjectLike = require_isObjectLike(); + var argsTag = "[object Arguments]"; + function baseIsArguments(value) { + return isObjectLike(value) && baseGetTag(value) == argsTag; + } + module2.exports = baseIsArguments; + } +}); + +// node_modules/lodash/isArguments.js +var require_isArguments = __commonJS({ + "node_modules/lodash/isArguments.js"(exports2, module2) { + var baseIsArguments = require_baseIsArguments(); + var isObjectLike = require_isObjectLike(); + var objectProto = Object.prototype; + var hasOwnProperty = objectProto.hasOwnProperty; + var propertyIsEnumerable = objectProto.propertyIsEnumerable; + var isArguments = baseIsArguments(/* @__PURE__ */ (function() { + return arguments; + })()) ? baseIsArguments : function(value) { + return isObjectLike(value) && hasOwnProperty.call(value, "callee") && !propertyIsEnumerable.call(value, "callee"); }; - exports2.BlobServiceClient = BlobServiceClient; + module2.exports = isArguments; } }); -// node_modules/@azure/storage-blob/dist/commonjs/BatchResponse.js -var require_BatchResponse = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/BatchResponse.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); +// node_modules/lodash/isArray.js +var require_isArray = __commonJS({ + "node_modules/lodash/isArray.js"(exports2, module2) { + var isArray = Array.isArray; + module2.exports = isArray; } }); -// node_modules/@azure/storage-blob/dist/commonjs/generatedModels.js -var require_generatedModels = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/generatedModels.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.KnownEncryptionAlgorithmType = void 0; - var KnownEncryptionAlgorithmType; - (function(KnownEncryptionAlgorithmType2) { - KnownEncryptionAlgorithmType2["AES256"] = "AES256"; - })(KnownEncryptionAlgorithmType || (exports2.KnownEncryptionAlgorithmType = KnownEncryptionAlgorithmType = {})); +// node_modules/lodash/stubFalse.js +var require_stubFalse = __commonJS({ + "node_modules/lodash/stubFalse.js"(exports2, module2) { + function stubFalse() { + return false; + } + module2.exports = stubFalse; } }); -// node_modules/@azure/storage-blob/dist/commonjs/index.js -var require_commonjs15 = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.logger = exports2.RestError = exports2.BaseRequestPolicy = exports2.StorageOAuthScopes = exports2.newPipeline = exports2.isPipelineLike = exports2.Pipeline = exports2.getBlobServiceAccountAudience = exports2.StorageBlobAudience = exports2.PremiumPageBlobTier = exports2.BlockBlobTier = exports2.generateBlobSASQueryParameters = exports2.generateAccountSASQueryParameters = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var core_rest_pipeline_1 = require_commonjs6(); - Object.defineProperty(exports2, "RestError", { enumerable: true, get: function() { - return core_rest_pipeline_1.RestError; - } }); - tslib_1.__exportStar(require_BlobServiceClient(), exports2); - tslib_1.__exportStar(require_Clients(), exports2); - tslib_1.__exportStar(require_ContainerClient(), exports2); - tslib_1.__exportStar(require_BlobLeaseClient(), exports2); - tslib_1.__exportStar(require_AccountSASPermissions(), exports2); - tslib_1.__exportStar(require_AccountSASResourceTypes(), exports2); - tslib_1.__exportStar(require_AccountSASServices(), exports2); - var AccountSASSignatureValues_js_1 = require_AccountSASSignatureValues(); - Object.defineProperty(exports2, "generateAccountSASQueryParameters", { enumerable: true, get: function() { - return AccountSASSignatureValues_js_1.generateAccountSASQueryParameters; - } }); - tslib_1.__exportStar(require_BlobBatch(), exports2); - tslib_1.__exportStar(require_BlobBatchClient(), exports2); - tslib_1.__exportStar(require_BatchResponse(), exports2); - tslib_1.__exportStar(require_BlobSASPermissions(), exports2); - var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues(); - Object.defineProperty(exports2, "generateBlobSASQueryParameters", { enumerable: true, get: function() { - return BlobSASSignatureValues_js_1.generateBlobSASQueryParameters; - } }); - tslib_1.__exportStar(require_StorageBrowserPolicyFactory2(), exports2); - tslib_1.__exportStar(require_ContainerSASPermissions(), exports2); - tslib_1.__exportStar(require_AnonymousCredential(), exports2); - tslib_1.__exportStar(require_Credential(), exports2); - tslib_1.__exportStar(require_StorageSharedKeyCredential(), exports2); - var models_js_1 = require_models2(); - Object.defineProperty(exports2, "BlockBlobTier", { enumerable: true, get: function() { - return models_js_1.BlockBlobTier; - } }); - Object.defineProperty(exports2, "PremiumPageBlobTier", { enumerable: true, get: function() { - return models_js_1.PremiumPageBlobTier; - } }); - Object.defineProperty(exports2, "StorageBlobAudience", { enumerable: true, get: function() { - return models_js_1.StorageBlobAudience; - } }); - Object.defineProperty(exports2, "getBlobServiceAccountAudience", { enumerable: true, get: function() { - return models_js_1.getBlobServiceAccountAudience; - } }); - var Pipeline_js_1 = require_Pipeline(); - Object.defineProperty(exports2, "Pipeline", { enumerable: true, get: function() { - return Pipeline_js_1.Pipeline; - } }); - Object.defineProperty(exports2, "isPipelineLike", { enumerable: true, get: function() { - return Pipeline_js_1.isPipelineLike; - } }); - Object.defineProperty(exports2, "newPipeline", { enumerable: true, get: function() { - return Pipeline_js_1.newPipeline; - } }); - Object.defineProperty(exports2, "StorageOAuthScopes", { enumerable: true, get: function() { - return Pipeline_js_1.StorageOAuthScopes; - } }); - tslib_1.__exportStar(require_StorageRetryPolicyFactory(), exports2); - var RequestPolicy_js_1 = require_RequestPolicy(); - Object.defineProperty(exports2, "BaseRequestPolicy", { enumerable: true, get: function() { - return RequestPolicy_js_1.BaseRequestPolicy; - } }); - tslib_1.__exportStar(require_AnonymousCredentialPolicy(), exports2); - tslib_1.__exportStar(require_CredentialPolicy(), exports2); - tslib_1.__exportStar(require_StorageRetryPolicyFactory(), exports2); - tslib_1.__exportStar(require_StorageSharedKeyCredentialPolicy(), exports2); - tslib_1.__exportStar(require_SASQueryParameters(), exports2); - tslib_1.__exportStar(require_generatedModels(), exports2); - var log_js_1 = require_log5(); - Object.defineProperty(exports2, "logger", { enumerable: true, get: function() { - return log_js_1.logger; - } }); +// node_modules/lodash/isBuffer.js +var require_isBuffer = __commonJS({ + "node_modules/lodash/isBuffer.js"(exports2, module2) { + var root = require_root(); + var stubFalse = require_stubFalse(); + var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2; + var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2; + var moduleExports = freeModule && freeModule.exports === freeExports; + var Buffer2 = moduleExports ? root.Buffer : void 0; + var nativeIsBuffer = Buffer2 ? Buffer2.isBuffer : void 0; + var isBuffer = nativeIsBuffer || stubFalse; + module2.exports = isBuffer; } }); -// node_modules/@actions/cache/lib/internal/shared/errors.js -var require_errors3 = __commonJS({ - "node_modules/@actions/cache/lib/internal/shared/errors.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.RateLimitError = exports2.UsageError = exports2.NetworkError = exports2.GHESNotSupportedError = exports2.CacheNotFoundError = exports2.InvalidResponseError = exports2.FilesNotFoundError = void 0; - var FilesNotFoundError = class extends Error { - constructor(files = []) { - let message = "No files were found to upload"; - if (files.length > 0) { - message += `: ${files.join(", ")}`; +// node_modules/lodash/_baseIsTypedArray.js +var require_baseIsTypedArray = __commonJS({ + "node_modules/lodash/_baseIsTypedArray.js"(exports2, module2) { + var baseGetTag = require_baseGetTag(); + var isLength = require_isLength(); + var isObjectLike = require_isObjectLike(); + var argsTag = "[object Arguments]"; + var arrayTag = "[object Array]"; + var boolTag = "[object Boolean]"; + var dateTag = "[object Date]"; + var errorTag = "[object Error]"; + var funcTag = "[object Function]"; + var mapTag = "[object Map]"; + var numberTag = "[object Number]"; + var objectTag = "[object Object]"; + var regexpTag = "[object RegExp]"; + var setTag = "[object Set]"; + var stringTag = "[object String]"; + var weakMapTag = "[object WeakMap]"; + var arrayBufferTag = "[object ArrayBuffer]"; + var dataViewTag = "[object DataView]"; + var float32Tag = "[object Float32Array]"; + var float64Tag = "[object Float64Array]"; + var int8Tag = "[object Int8Array]"; + var int16Tag = "[object Int16Array]"; + var int32Tag = "[object Int32Array]"; + var uint8Tag = "[object Uint8Array]"; + var uint8ClampedTag = "[object Uint8ClampedArray]"; + var uint16Tag = "[object Uint16Array]"; + var uint32Tag = "[object Uint32Array]"; + var typedArrayTags = {}; + typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true; + typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false; + function baseIsTypedArray(value) { + return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; + } + module2.exports = baseIsTypedArray; + } +}); + +// node_modules/lodash/_baseUnary.js +var require_baseUnary = __commonJS({ + "node_modules/lodash/_baseUnary.js"(exports2, module2) { + function baseUnary(func) { + return function(value) { + return func(value); + }; + } + module2.exports = baseUnary; + } +}); + +// node_modules/lodash/_nodeUtil.js +var require_nodeUtil = __commonJS({ + "node_modules/lodash/_nodeUtil.js"(exports2, module2) { + var freeGlobal = require_freeGlobal(); + var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2; + var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2; + var moduleExports = freeModule && freeModule.exports === freeExports; + var freeProcess = moduleExports && freeGlobal.process; + var nodeUtil = (function() { + try { + var types = freeModule && freeModule.require && freeModule.require("util").types; + if (types) { + return types; } - super(message); - this.files = files; - this.name = "FilesNotFoundError"; + return freeProcess && freeProcess.binding && freeProcess.binding("util"); + } catch (e) { } - }; - exports2.FilesNotFoundError = FilesNotFoundError; - var InvalidResponseError = class extends Error { - constructor(message) { - super(message); - this.name = "InvalidResponseError"; + })(); + module2.exports = nodeUtil; + } +}); + +// node_modules/lodash/isTypedArray.js +var require_isTypedArray = __commonJS({ + "node_modules/lodash/isTypedArray.js"(exports2, module2) { + var baseIsTypedArray = require_baseIsTypedArray(); + var baseUnary = require_baseUnary(); + var nodeUtil = require_nodeUtil(); + var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; + var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; + module2.exports = isTypedArray; + } +}); + +// node_modules/lodash/_arrayLikeKeys.js +var require_arrayLikeKeys = __commonJS({ + "node_modules/lodash/_arrayLikeKeys.js"(exports2, module2) { + var baseTimes = require_baseTimes(); + var isArguments = require_isArguments(); + var isArray = require_isArray(); + var isBuffer = require_isBuffer(); + var isIndex = require_isIndex(); + var isTypedArray = require_isTypedArray(); + var objectProto = Object.prototype; + var hasOwnProperty = objectProto.hasOwnProperty; + function arrayLikeKeys(value, inherited) { + var isArr = isArray(value), isArg = !isArr && isArguments(value), isBuff = !isArr && !isArg && isBuffer(value), isType = !isArr && !isArg && !isBuff && isTypedArray(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length = result.length; + for (var key in value) { + if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && // Safari 9 has enumerable `arguments.length` in strict mode. + (key == "length" || // Node.js 0.10 has enumerable non-index properties on buffers. + isBuff && (key == "offset" || key == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays. + isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || // Skip index properties. + isIndex(key, length)))) { + result.push(key); + } } - }; - exports2.InvalidResponseError = InvalidResponseError; - var CacheNotFoundError = class extends Error { - constructor(message = "Cache not found") { - super(message); - this.name = "CacheNotFoundError"; + return result; + } + module2.exports = arrayLikeKeys; + } +}); + +// node_modules/lodash/_isPrototype.js +var require_isPrototype = __commonJS({ + "node_modules/lodash/_isPrototype.js"(exports2, module2) { + var objectProto = Object.prototype; + function isPrototype(value) { + var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto; + return value === proto; + } + module2.exports = isPrototype; + } +}); + +// node_modules/lodash/_nativeKeysIn.js +var require_nativeKeysIn = __commonJS({ + "node_modules/lodash/_nativeKeysIn.js"(exports2, module2) { + function nativeKeysIn(object) { + var result = []; + if (object != null) { + for (var key in Object(object)) { + result.push(key); + } } - }; - exports2.CacheNotFoundError = CacheNotFoundError; - var GHESNotSupportedError = class extends Error { - constructor(message = "@actions/cache v4.1.4+, actions/cache/save@v4+ and actions/cache/restore@v4+ are not currently supported on GHES.") { - super(message); - this.name = "GHESNotSupportedError"; + return result; + } + module2.exports = nativeKeysIn; + } +}); + +// node_modules/lodash/_baseKeysIn.js +var require_baseKeysIn = __commonJS({ + "node_modules/lodash/_baseKeysIn.js"(exports2, module2) { + var isObject2 = require_isObject(); + var isPrototype = require_isPrototype(); + var nativeKeysIn = require_nativeKeysIn(); + var objectProto = Object.prototype; + var hasOwnProperty = objectProto.hasOwnProperty; + function baseKeysIn(object) { + if (!isObject2(object)) { + return nativeKeysIn(object); } - }; - exports2.GHESNotSupportedError = GHESNotSupportedError; - var NetworkError = class extends Error { - constructor(code) { - const message = `Unable to make request: ${code} -If you are using self-hosted runners, please make sure your runner has access to all GitHub endpoints: https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#communication-between-self-hosted-runners-and-github`; - super(message); - this.code = code; - this.name = "NetworkError"; + var isProto = isPrototype(object), result = []; + for (var key in object) { + if (!(key == "constructor" && (isProto || !hasOwnProperty.call(object, key)))) { + result.push(key); + } } - }; - exports2.NetworkError = NetworkError; - NetworkError.isNetworkErrorCode = (code) => { - if (!code) - return false; - return [ - "ECONNRESET", - "ENOTFOUND", - "ETIMEDOUT", - "ECONNREFUSED", - "EHOSTUNREACH" - ].includes(code); - }; - var UsageError = class extends Error { - constructor() { - const message = `Cache storage quota has been hit. Unable to upload any new cache entries. Usage is recalculated every 6-12 hours. -More info on storage limits: https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#calculating-minute-and-storage-spending`; - super(message); - this.name = "UsageError"; + return result; + } + module2.exports = baseKeysIn; + } +}); + +// node_modules/lodash/keysIn.js +var require_keysIn = __commonJS({ + "node_modules/lodash/keysIn.js"(exports2, module2) { + var arrayLikeKeys = require_arrayLikeKeys(); + var baseKeysIn = require_baseKeysIn(); + var isArrayLike = require_isArrayLike(); + function keysIn(object) { + return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object); + } + module2.exports = keysIn; + } +}); + +// node_modules/lodash/defaults.js +var require_defaults = __commonJS({ + "node_modules/lodash/defaults.js"(exports2, module2) { + var baseRest = require_baseRest(); + var eq = require_eq2(); + var isIterateeCall = require_isIterateeCall(); + var keysIn = require_keysIn(); + var objectProto = Object.prototype; + var hasOwnProperty = objectProto.hasOwnProperty; + var defaults = baseRest(function(object, sources) { + object = Object(object); + var index = -1; + var length = sources.length; + var guard = length > 2 ? sources[2] : void 0; + if (guard && isIterateeCall(sources[0], sources[1], guard)) { + length = 1; } - }; - exports2.UsageError = UsageError; - UsageError.isUsageErrorMessage = (msg) => { - if (!msg) - return false; - return msg.includes("insufficient usage"); - }; - var RateLimitError = class extends Error { - constructor(message) { - super(message); - this.name = "RateLimitError"; + while (++index < length) { + var source = sources[index]; + var props = keysIn(source); + var propsIndex = -1; + var propsLength = props.length; + while (++propsIndex < propsLength) { + var key = props[propsIndex]; + var value = object[key]; + if (value === void 0 || eq(value, objectProto[key]) && !hasOwnProperty.call(object, key)) { + object[key] = source[key]; + } + } } + return object; + }); + module2.exports = defaults; + } +}); + +// node_modules/readable-stream/lib/ours/primordials.js +var require_primordials = __commonJS({ + "node_modules/readable-stream/lib/ours/primordials.js"(exports2, module2) { + "use strict"; + module2.exports = { + ArrayIsArray(self2) { + return Array.isArray(self2); + }, + ArrayPrototypeIncludes(self2, el) { + return self2.includes(el); + }, + ArrayPrototypeIndexOf(self2, el) { + return self2.indexOf(el); + }, + ArrayPrototypeJoin(self2, sep3) { + return self2.join(sep3); + }, + ArrayPrototypeMap(self2, fn) { + return self2.map(fn); + }, + ArrayPrototypePop(self2, el) { + return self2.pop(el); + }, + ArrayPrototypePush(self2, el) { + return self2.push(el); + }, + ArrayPrototypeSlice(self2, start, end) { + return self2.slice(start, end); + }, + Error, + FunctionPrototypeCall(fn, thisArgs, ...args) { + return fn.call(thisArgs, ...args); + }, + FunctionPrototypeSymbolHasInstance(self2, instance) { + return Function.prototype[Symbol.hasInstance].call(self2, instance); + }, + MathFloor: Math.floor, + Number, + NumberIsInteger: Number.isInteger, + NumberIsNaN: Number.isNaN, + NumberMAX_SAFE_INTEGER: Number.MAX_SAFE_INTEGER, + NumberMIN_SAFE_INTEGER: Number.MIN_SAFE_INTEGER, + NumberParseInt: Number.parseInt, + ObjectDefineProperties(self2, props) { + return Object.defineProperties(self2, props); + }, + ObjectDefineProperty(self2, name, prop) { + return Object.defineProperty(self2, name, prop); + }, + ObjectGetOwnPropertyDescriptor(self2, name) { + return Object.getOwnPropertyDescriptor(self2, name); + }, + ObjectKeys(obj) { + return Object.keys(obj); + }, + ObjectSetPrototypeOf(target, proto) { + return Object.setPrototypeOf(target, proto); + }, + Promise, + PromisePrototypeCatch(self2, fn) { + return self2.catch(fn); + }, + PromisePrototypeThen(self2, thenFn, catchFn) { + return self2.then(thenFn, catchFn); + }, + PromiseReject(err) { + return Promise.reject(err); + }, + PromiseResolve(val) { + return Promise.resolve(val); + }, + ReflectApply: Reflect.apply, + RegExpPrototypeTest(self2, value) { + return self2.test(value); + }, + SafeSet: Set, + String, + StringPrototypeSlice(self2, start, end) { + return self2.slice(start, end); + }, + StringPrototypeToLowerCase(self2) { + return self2.toLowerCase(); + }, + StringPrototypeToUpperCase(self2) { + return self2.toUpperCase(); + }, + StringPrototypeTrim(self2) { + return self2.trim(); + }, + Symbol, + SymbolFor: Symbol.for, + SymbolAsyncIterator: Symbol.asyncIterator, + SymbolHasInstance: Symbol.hasInstance, + SymbolIterator: Symbol.iterator, + SymbolDispose: Symbol.dispose || /* @__PURE__ */ Symbol("Symbol.dispose"), + SymbolAsyncDispose: Symbol.asyncDispose || /* @__PURE__ */ Symbol("Symbol.asyncDispose"), + TypedArrayPrototypeSet(self2, buf, len) { + return self2.set(buf, len); + }, + Boolean, + Uint8Array }; - exports2.RateLimitError = RateLimitError; } }); -// node_modules/@actions/cache/lib/internal/uploadUtils.js -var require_uploadUtils = __commonJS({ - "node_modules/@actions/cache/lib/internal/uploadUtils.js"(exports2) { +// node_modules/event-target-shim/dist/event-target-shim.js +var require_event_target_shim = __commonJS({ + "node_modules/event-target-shim/dist/event-target-shim.js"(exports2, module2) { "use strict"; - var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - }) : function(o, v) { - o["default"] = v; - }); - var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() { - var ownKeys2 = function(o) { - ownKeys2 = 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 ownKeys2(o); - }; - return function(mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) { - for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]); + Object.defineProperty(exports2, "__esModule", { value: true }); + var privateData = /* @__PURE__ */ new WeakMap(); + var wrappers = /* @__PURE__ */ new WeakMap(); + function pd(event) { + const retv = privateData.get(event); + console.assert( + retv != null, + "'this' is expected an Event object, but got", + event + ); + return retv; + } + function setCancelFlag(data) { + if (data.passiveListener != null) { + if (typeof console !== "undefined" && typeof console.error === "function") { + console.error( + "Unable to preventDefault inside passive event listener invocation.", + data.passiveListener + ); } - __setModuleDefault2(result, mod); - return result; - }; - })(); - var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve5) { - resolve5(value); - }); + return; } - return new (P || (P = Promise))(function(resolve5, 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 ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); + if (!data.event.cancelable) { + return; + } + data.canceled = true; + if (typeof data.event.preventDefault === "function") { + data.event.preventDefault(); + } + } + function Event2(eventTarget, event) { + privateData.set(this, { + eventTarget, + event, + eventPhase: 2, + currentTarget: eventTarget, + canceled: false, + stopped: false, + immediateStopped: false, + passiveListener: null, + timeStamp: event.timeStamp || Date.now() }); - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.UploadProgress = void 0; - exports2.uploadCacheArchiveSDK = uploadCacheArchiveSDK; - var core14 = __importStar2(require_core()); - var storage_blob_1 = require_commonjs15(); - var errors_1 = require_errors3(); - var UploadProgress = class { - constructor(contentLength) { - this.contentLength = contentLength; - this.sentBytes = 0; - this.displayedComplete = false; - this.startTime = Date.now(); + Object.defineProperty(this, "isTrusted", { value: false, enumerable: true }); + const keys = Object.keys(event); + for (let i = 0; i < keys.length; ++i) { + const key = keys[i]; + if (!(key in this)) { + Object.defineProperty(this, key, defineRedirectDescriptor(key)); + } } + } + Event2.prototype = { /** - * Sets the number of bytes sent - * - * @param sentBytes the number of bytes sent + * The type of this event. + * @type {string} */ - setSentBytes(sentBytes) { - this.sentBytes = sentBytes; - } + get type() { + return pd(this).event.type; + }, /** - * Returns the total number of bytes transferred. + * The target of this event. + * @type {EventTarget} */ - getTransferredBytes() { - return this.sentBytes; - } + get target() { + return pd(this).eventTarget; + }, /** - * Returns true if the upload is complete. + * The target of this event. + * @type {EventTarget} */ - isDone() { - return this.getTransferredBytes() === this.contentLength; - } + get currentTarget() { + return pd(this).currentTarget; + }, /** - * Prints the current upload stats. Once the upload completes, this will print one - * last line and then stop. + * @returns {EventTarget[]} The composed path of this event. */ - display() { - if (this.displayedComplete) { - return; + composedPath() { + const currentTarget = pd(this).currentTarget; + if (currentTarget == null) { + return []; } - const transferredBytes = this.sentBytes; - const percentage = (100 * (transferredBytes / this.contentLength)).toFixed(1); - const elapsedTime = Date.now() - this.startTime; - const uploadSpeed = (transferredBytes / (1024 * 1024) / (elapsedTime / 1e3)).toFixed(1); - core14.info(`Sent ${transferredBytes} of ${this.contentLength} (${percentage}%), ${uploadSpeed} MBs/sec`); - if (this.isDone()) { - this.displayedComplete = true; + return [currentTarget]; + }, + /** + * Constant of NONE. + * @type {number} + */ + get NONE() { + return 0; + }, + /** + * Constant of CAPTURING_PHASE. + * @type {number} + */ + get CAPTURING_PHASE() { + return 1; + }, + /** + * Constant of AT_TARGET. + * @type {number} + */ + get AT_TARGET() { + return 2; + }, + /** + * Constant of BUBBLING_PHASE. + * @type {number} + */ + get BUBBLING_PHASE() { + return 3; + }, + /** + * The target of this event. + * @type {number} + */ + get eventPhase() { + return pd(this).eventPhase; + }, + /** + * Stop event bubbling. + * @returns {void} + */ + stopPropagation() { + const data = pd(this); + data.stopped = true; + if (typeof data.event.stopPropagation === "function") { + data.event.stopPropagation(); } - } + }, /** - * Returns a function used to handle TransferProgressEvents. + * Stop event bubbling. + * @returns {void} */ - onProgress() { - return (progress) => { - this.setSentBytes(progress.loadedBytes); - }; - } + stopImmediatePropagation() { + const data = pd(this); + data.stopped = true; + data.immediateStopped = true; + if (typeof data.event.stopImmediatePropagation === "function") { + data.event.stopImmediatePropagation(); + } + }, /** - * Starts the timer that displays the stats. - * - * @param delayInMs the delay between each write + * The flag to be bubbling. + * @type {boolean} */ - startDisplayTimer(delayInMs = 1e3) { - const displayCallback = () => { - this.display(); - if (!this.isDone()) { - this.timeoutHandle = setTimeout(displayCallback, delayInMs); - } - }; - this.timeoutHandle = setTimeout(displayCallback, delayInMs); - } + get bubbles() { + return Boolean(pd(this).event.bubbles); + }, /** - * Stops the timer that displays the stats. As this typically indicates the upload - * is complete, this will display one last line, unless the last line has already - * been written. + * The flag to be cancelable. + * @type {boolean} */ - stopDisplayTimer() { - if (this.timeoutHandle) { - clearTimeout(this.timeoutHandle); - this.timeoutHandle = void 0; + get cancelable() { + return Boolean(pd(this).event.cancelable); + }, + /** + * Cancel this event. + * @returns {void} + */ + preventDefault() { + setCancelFlag(pd(this)); + }, + /** + * The flag to indicate cancellation state. + * @type {boolean} + */ + get defaultPrevented() { + return pd(this).canceled; + }, + /** + * The flag to be composed. + * @type {boolean} + */ + get composed() { + return Boolean(pd(this).event.composed); + }, + /** + * The unix time of this event. + * @type {number} + */ + get timeStamp() { + return pd(this).timeStamp; + }, + /** + * The target of this event. + * @type {EventTarget} + * @deprecated + */ + get srcElement() { + return pd(this).eventTarget; + }, + /** + * The flag to stop event bubbling. + * @type {boolean} + * @deprecated + */ + get cancelBubble() { + return pd(this).stopped; + }, + set cancelBubble(value) { + if (!value) { + return; } - this.display(); - } - }; - exports2.UploadProgress = UploadProgress; - function uploadCacheArchiveSDK(signedUploadURL, archivePath, options) { - return __awaiter2(this, void 0, void 0, function* () { - var _a; - const blobClient = new storage_blob_1.BlobClient(signedUploadURL); - const blockBlobClient = blobClient.getBlockBlobClient(); - const uploadProgress = new UploadProgress((_a = options === null || options === void 0 ? void 0 : options.archiveSizeBytes) !== null && _a !== void 0 ? _a : 0); - const uploadOptions = { - blockSize: options === null || options === void 0 ? void 0 : options.uploadChunkSize, - concurrency: options === null || options === void 0 ? void 0 : options.uploadConcurrency, - // maximum number of parallel transfer workers - maxSingleShotSize: 128 * 1024 * 1024, - // 128 MiB initial transfer size - onProgress: uploadProgress.onProgress() - }; - try { - uploadProgress.startDisplayTimer(); - core14.debug(`BlobClient: ${blobClient.name}:${blobClient.accountName}:${blobClient.containerName}`); - const response = yield blockBlobClient.uploadFile(archivePath, uploadOptions); - if (response._response.status >= 400) { - throw new errors_1.InvalidResponseError(`uploadCacheArchiveSDK: upload failed with status code ${response._response.status}`); - } - return response; - } catch (error3) { - core14.warning(`uploadCacheArchiveSDK: internal error uploading cache archive: ${error3.message}`); - throw error3; - } finally { - uploadProgress.stopDisplayTimer(); + const data = pd(this); + data.stopped = true; + if (typeof data.event.cancelBubble === "boolean") { + data.event.cancelBubble = true; } - }); - } - } -}); - -// node_modules/@actions/cache/lib/internal/requestUtils.js -var require_requestUtils = __commonJS({ - "node_modules/@actions/cache/lib/internal/requestUtils.js"(exports2) { - "use strict"; - var __createBinding2 = 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]; - } }; + }, + /** + * The flag to indicate cancellation state. + * @type {boolean} + * @deprecated + */ + get returnValue() { + return !pd(this).canceled; + }, + set returnValue(value) { + if (!value) { + setCancelFlag(pd(this)); + } + }, + /** + * Initialize this event object. But do nothing under event dispatching. + * @param {string} type The event type. + * @param {boolean} [bubbles=false] The flag to be possible to bubble up. + * @param {boolean} [cancelable=false] The flag to be possible to cancel. + * @deprecated + */ + initEvent() { } - Object.defineProperty(o, k2, desc); - }) : (function(o, m, k, k2) { - if (k2 === void 0) k2 = k; - o[k2] = m[k]; - })); - var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - }) : function(o, v) { - o["default"] = v; + }; + Object.defineProperty(Event2.prototype, "constructor", { + value: Event2, + configurable: true, + writable: true }); - var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() { - var ownKeys2 = function(o) { - ownKeys2 = 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 ownKeys2(o); + if (typeof window !== "undefined" && typeof window.Event !== "undefined") { + Object.setPrototypeOf(Event2.prototype, window.Event.prototype); + wrappers.set(window.Event.prototype, Event2); + } + function defineRedirectDescriptor(key) { + return { + get() { + return pd(this).event[key]; + }, + set(value) { + pd(this).event[key] = value; + }, + configurable: true, + enumerable: true }; - return function(mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) { - for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]); - } - __setModuleDefault2(result, mod); - return result; + } + function defineCallDescriptor(key) { + return { + value() { + const event = pd(this).event; + return event[key].apply(event, arguments); + }, + configurable: true, + enumerable: true }; - })(); - var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve5) { - resolve5(value); - }); + } + function defineWrapper(BaseEvent, proto) { + const keys = Object.keys(proto); + if (keys.length === 0) { + return BaseEvent; } - return new (P || (P = Promise))(function(resolve5, 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 ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); + function CustomEvent(eventTarget, event) { + BaseEvent.call(this, eventTarget, event); + } + CustomEvent.prototype = Object.create(BaseEvent.prototype, { + constructor: { value: CustomEvent, configurable: true, writable: true } }); - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.isSuccessStatusCode = isSuccessStatusCode; - exports2.isServerErrorStatusCode = isServerErrorStatusCode; - exports2.isRetryableStatusCode = isRetryableStatusCode; - exports2.retry = retry2; - exports2.retryTypedResponse = retryTypedResponse; - exports2.retryHttpClientResponse = retryHttpClientResponse; - var core14 = __importStar2(require_core()); - var http_client_1 = require_lib(); - var constants_1 = require_constants12(); - function isSuccessStatusCode(statusCode) { - if (!statusCode) { - return false; + for (let i = 0; i < keys.length; ++i) { + const key = keys[i]; + if (!(key in BaseEvent.prototype)) { + const descriptor = Object.getOwnPropertyDescriptor(proto, key); + const isFunc = typeof descriptor.value === "function"; + Object.defineProperty( + CustomEvent.prototype, + key, + isFunc ? defineCallDescriptor(key) : defineRedirectDescriptor(key) + ); + } } - return statusCode >= 200 && statusCode < 300; + return CustomEvent; } - function isServerErrorStatusCode(statusCode) { - if (!statusCode) { - return true; + function getWrapper(proto) { + if (proto == null || proto === Object.prototype) { + return Event2; } - return statusCode >= 500; - } - function isRetryableStatusCode(statusCode) { - if (!statusCode) { - return false; + let wrapper = wrappers.get(proto); + if (wrapper == null) { + wrapper = defineWrapper(getWrapper(Object.getPrototypeOf(proto)), proto); + wrappers.set(proto, wrapper); } - const retryableStatusCodes = [ - http_client_1.HttpCodes.BadGateway, - http_client_1.HttpCodes.ServiceUnavailable, - http_client_1.HttpCodes.GatewayTimeout - ]; - return retryableStatusCodes.includes(statusCode); + return wrapper; } - function sleep(milliseconds) { - return __awaiter2(this, void 0, void 0, function* () { - return new Promise((resolve5) => setTimeout(resolve5, milliseconds)); - }); + function wrapEvent(eventTarget, event) { + const Wrapper = getWrapper(Object.getPrototypeOf(event)); + return new Wrapper(eventTarget, event); } - function retry2(name_1, method_1, getStatusCode_1) { - return __awaiter2(this, arguments, void 0, function* (name, method, getStatusCode, maxAttempts = constants_1.DefaultRetryAttempts, delay = constants_1.DefaultRetryDelay, onError = void 0) { - let errorMessage = ""; - let attempt = 1; - while (attempt <= maxAttempts) { - let response = void 0; - let statusCode = void 0; - let isRetryable = false; - try { - response = yield method(); - } catch (error3) { - if (onError) { - response = onError(error3); + function isStopped(event) { + return pd(event).immediateStopped; + } + function setEventPhase(event, eventPhase) { + pd(event).eventPhase = eventPhase; + } + function setCurrentTarget(event, currentTarget) { + pd(event).currentTarget = currentTarget; + } + function setPassiveListener(event, passiveListener) { + pd(event).passiveListener = passiveListener; + } + var listenersMap = /* @__PURE__ */ new WeakMap(); + var CAPTURE = 1; + var BUBBLE = 2; + var ATTRIBUTE = 3; + function isObject2(x) { + return x !== null && typeof x === "object"; + } + function getListeners(eventTarget) { + const listeners = listenersMap.get(eventTarget); + if (listeners == null) { + throw new TypeError( + "'this' is expected an EventTarget object, but got another value." + ); + } + return listeners; + } + function defineEventAttributeDescriptor(eventName) { + return { + get() { + const listeners = getListeners(this); + let node = listeners.get(eventName); + while (node != null) { + if (node.listenerType === ATTRIBUTE) { + return node.listener; } - isRetryable = true; - errorMessage = error3.message; + node = node.next; } - if (response) { - statusCode = getStatusCode(response); - if (!isServerErrorStatusCode(statusCode)) { - return response; - } + return null; + }, + set(listener) { + if (typeof listener !== "function" && !isObject2(listener)) { + listener = null; } - if (statusCode) { - isRetryable = isRetryableStatusCode(statusCode); - errorMessage = `Cache service responded with ${statusCode}`; + const listeners = getListeners(this); + let prev = null; + let node = listeners.get(eventName); + while (node != null) { + if (node.listenerType === ATTRIBUTE) { + if (prev !== null) { + prev.next = node.next; + } else if (node.next !== null) { + listeners.set(eventName, node.next); + } else { + listeners.delete(eventName); + } + } else { + prev = node; + } + node = node.next; } - core14.debug(`${name} - Attempt ${attempt} of ${maxAttempts} failed with error: ${errorMessage}`); - if (!isRetryable) { - core14.debug(`${name} - Error is not retryable`); - break; + if (listener !== null) { + const newNode = { + listener, + listenerType: ATTRIBUTE, + passive: false, + once: false, + next: null + }; + if (prev === null) { + listeners.set(eventName, newNode); + } else { + prev.next = newNode; + } } - yield sleep(delay); - attempt++; + }, + configurable: true, + enumerable: true + }; + } + function defineEventAttribute(eventTargetPrototype, eventName) { + Object.defineProperty( + eventTargetPrototype, + `on${eventName}`, + defineEventAttributeDescriptor(eventName) + ); + } + function defineCustomEventTarget(eventNames) { + function CustomEventTarget() { + EventTarget2.call(this); + } + CustomEventTarget.prototype = Object.create(EventTarget2.prototype, { + constructor: { + value: CustomEventTarget, + configurable: true, + writable: true } - throw Error(`${name} failed: ${errorMessage}`); }); + for (let i = 0; i < eventNames.length; ++i) { + defineEventAttribute(CustomEventTarget.prototype, eventNames[i]); + } + return CustomEventTarget; } - function retryTypedResponse(name_1, method_1) { - return __awaiter2(this, arguments, void 0, function* (name, method, maxAttempts = constants_1.DefaultRetryAttempts, delay = constants_1.DefaultRetryDelay) { - return yield retry2( - name, - method, - (response) => response.statusCode, - maxAttempts, - delay, - // If the error object contains the statusCode property, extract it and return - // an TypedResponse so it can be processed by the retry logic. - (error3) => { - if (error3 instanceof http_client_1.HttpClientError) { - return { - statusCode: error3.statusCode, - result: null, - headers: {}, - error: error3 - }; + function EventTarget2() { + if (this instanceof EventTarget2) { + listenersMap.set(this, /* @__PURE__ */ new Map()); + return; + } + if (arguments.length === 1 && Array.isArray(arguments[0])) { + return defineCustomEventTarget(arguments[0]); + } + if (arguments.length > 0) { + const types = new Array(arguments.length); + for (let i = 0; i < arguments.length; ++i) { + types[i] = arguments[i]; + } + return defineCustomEventTarget(types); + } + throw new TypeError("Cannot call a class as a function"); + } + EventTarget2.prototype = { + /** + * Add a given listener to this event target. + * @param {string} eventName The event name to add. + * @param {Function} listener The listener to add. + * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener. + * @returns {void} + */ + addEventListener(eventName, listener, options) { + if (listener == null) { + return; + } + if (typeof listener !== "function" && !isObject2(listener)) { + throw new TypeError("'listener' should be a function or an object."); + } + const listeners = getListeners(this); + const optionsIsObj = isObject2(options); + const capture = optionsIsObj ? Boolean(options.capture) : Boolean(options); + const listenerType = capture ? CAPTURE : BUBBLE; + const newNode = { + listener, + listenerType, + passive: optionsIsObj && Boolean(options.passive), + once: optionsIsObj && Boolean(options.once), + next: null + }; + let node = listeners.get(eventName); + if (node === void 0) { + listeners.set(eventName, newNode); + return; + } + let prev = null; + while (node != null) { + if (node.listener === listener && node.listenerType === listenerType) { + return; + } + prev = node; + node = node.next; + } + prev.next = newNode; + }, + /** + * Remove a given listener from this event target. + * @param {string} eventName The event name to remove. + * @param {Function} listener The listener to remove. + * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener. + * @returns {void} + */ + removeEventListener(eventName, listener, options) { + if (listener == null) { + return; + } + const listeners = getListeners(this); + const capture = isObject2(options) ? Boolean(options.capture) : Boolean(options); + const listenerType = capture ? CAPTURE : BUBBLE; + let prev = null; + let node = listeners.get(eventName); + while (node != null) { + if (node.listener === listener && node.listenerType === listenerType) { + if (prev !== null) { + prev.next = node.next; + } else if (node.next !== null) { + listeners.set(eventName, node.next); } else { - return void 0; + listeners.delete(eventName); } + return; } - ); - }); - } - function retryHttpClientResponse(name_1, method_1) { - return __awaiter2(this, arguments, void 0, function* (name, method, maxAttempts = constants_1.DefaultRetryAttempts, delay = constants_1.DefaultRetryDelay) { - return yield retry2(name, method, (response) => response.message.statusCode, maxAttempts, delay); - }); + prev = node; + node = node.next; + } + }, + /** + * Dispatch a given event. + * @param {Event|{type:string}} event The event to dispatch. + * @returns {boolean} `false` if canceled. + */ + dispatchEvent(event) { + if (event == null || typeof event.type !== "string") { + throw new TypeError('"event.type" should be a string.'); + } + const listeners = getListeners(this); + const eventName = event.type; + let node = listeners.get(eventName); + if (node == null) { + return true; + } + const wrappedEvent = wrapEvent(this, event); + let prev = null; + while (node != null) { + if (node.once) { + if (prev !== null) { + prev.next = node.next; + } else if (node.next !== null) { + listeners.set(eventName, node.next); + } else { + listeners.delete(eventName); + } + } else { + prev = node; + } + setPassiveListener( + wrappedEvent, + node.passive ? node.listener : null + ); + if (typeof node.listener === "function") { + try { + node.listener.call(this, wrappedEvent); + } catch (err) { + if (typeof console !== "undefined" && typeof console.error === "function") { + console.error(err); + } + } + } else if (node.listenerType !== ATTRIBUTE && typeof node.listener.handleEvent === "function") { + node.listener.handleEvent(wrappedEvent); + } + if (isStopped(wrappedEvent)) { + break; + } + node = node.next; + } + setPassiveListener(wrappedEvent, null); + setEventPhase(wrappedEvent, 0); + setCurrentTarget(wrappedEvent, null); + return !wrappedEvent.defaultPrevented; + } + }; + Object.defineProperty(EventTarget2.prototype, "constructor", { + value: EventTarget2, + configurable: true, + writable: true + }); + if (typeof window !== "undefined" && typeof window.EventTarget !== "undefined") { + Object.setPrototypeOf(EventTarget2.prototype, window.EventTarget.prototype); } + exports2.defineEventAttribute = defineEventAttribute; + exports2.EventTarget = EventTarget2; + exports2.default = EventTarget2; + module2.exports = EventTarget2; + module2.exports.EventTarget = module2.exports["default"] = EventTarget2; + module2.exports.defineEventAttribute = defineEventAttribute; } }); -// node_modules/@azure/abort-controller/dist/index.js -var require_dist4 = __commonJS({ - "node_modules/@azure/abort-controller/dist/index.js"(exports2) { +// node_modules/abort-controller/dist/abort-controller.js +var require_abort_controller = __commonJS({ + "node_modules/abort-controller/dist/abort-controller.js"(exports2, module2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); - var listenersMap = /* @__PURE__ */ new WeakMap(); - var abortedMap = /* @__PURE__ */ new WeakMap(); - var AbortSignal2 = class _AbortSignal { + var eventTargetShim = require_event_target_shim(); + var AbortSignal2 = class extends eventTargetShim.EventTarget { + /** + * AbortSignal cannot be constructed directly. + */ constructor() { - this.onabort = null; - listenersMap.set(this, []); - abortedMap.set(this, false); + super(); + throw new TypeError("AbortSignal cannot be constructed directly"); } /** - * Status of whether aborted or not. - * - * @readonly + * Returns `true` if this `AbortSignal`'s `AbortController` has signaled to abort, and `false` otherwise. */ get aborted() { - if (!abortedMap.has(this)) { - throw new TypeError("Expected `this` to be an instance of AbortSignal."); + const aborted = abortedFlags.get(this); + if (typeof aborted !== "boolean") { + throw new TypeError(`Expected 'this' to be an 'AbortSignal' object, but got ${this === null ? "null" : typeof this}`); } - return abortedMap.get(this); + return aborted; } - /** - * Creates a new AbortSignal instance that will never be aborted. - * - * @readonly - */ - static get none() { - return new _AbortSignal(); + }; + eventTargetShim.defineEventAttribute(AbortSignal2.prototype, "abort"); + function createAbortSignal() { + const signal = Object.create(AbortSignal2.prototype); + eventTargetShim.EventTarget.call(signal); + abortedFlags.set(signal, false); + return signal; + } + function abortSignal(signal) { + if (abortedFlags.get(signal) !== false) { + return; } + abortedFlags.set(signal, true); + signal.dispatchEvent({ type: "abort" }); + } + var abortedFlags = /* @__PURE__ */ new WeakMap(); + Object.defineProperties(AbortSignal2.prototype, { + aborted: { enumerable: true } + }); + if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(AbortSignal2.prototype, Symbol.toStringTag, { + configurable: true, + value: "AbortSignal" + }); + } + var AbortController2 = class { /** - * Added new "abort" event listener, only support "abort" event. - * - * @param _type - Only support "abort" event - * @param listener - The listener to be added + * Initialize this controller. */ - addEventListener(_type, listener) { - if (!listenersMap.has(this)) { - throw new TypeError("Expected `this` to be an instance of AbortSignal."); - } - const listeners = listenersMap.get(this); - listeners.push(listener); + constructor() { + signals.set(this, createAbortSignal()); } /** - * Remove "abort" event listener, only support "abort" event. - * - * @param _type - Only support "abort" event - * @param listener - The listener to be removed + * Returns the `AbortSignal` object associated with this object. */ - removeEventListener(_type, listener) { - if (!listenersMap.has(this)) { - throw new TypeError("Expected `this` to be an instance of AbortSignal."); - } - const listeners = listenersMap.get(this); - const index = listeners.indexOf(listener); - if (index > -1) { - listeners.splice(index, 1); - } + get signal() { + return getSignal(this); } /** - * Dispatches a synthetic event to the AbortSignal. + * Abort and signal to any observers that the associated activity is to be aborted. */ - dispatchEvent(_event) { - throw new Error("This is a stub dispatchEvent implementation that should not be used. It only exists for type-checking purposes."); + abort() { + abortSignal(getSignal(this)); } }; - function abortSignal(signal) { - if (signal.aborted) { - return; - } - if (signal.onabort) { - signal.onabort.call(signal); - } - const listeners = listenersMap.get(signal); - if (listeners) { - listeners.slice().forEach((listener) => { - listener.call(signal, { type: "abort" }); - }); + var signals = /* @__PURE__ */ new WeakMap(); + function getSignal(controller) { + const signal = signals.get(controller); + if (signal == null) { + throw new TypeError(`Expected 'this' to be an 'AbortController' object, but got ${controller === null ? "null" : typeof controller}`); } - abortedMap.set(signal, true); + return signal; } - var AbortError = class extends Error { - constructor(message) { + Object.defineProperties(AbortController2.prototype, { + signal: { enumerable: true }, + abort: { enumerable: true } + }); + if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(AbortController2.prototype, Symbol.toStringTag, { + configurable: true, + value: "AbortController" + }); + } + exports2.AbortController = AbortController2; + exports2.AbortSignal = AbortSignal2; + exports2.default = AbortController2; + module2.exports = AbortController2; + module2.exports.AbortController = module2.exports["default"] = AbortController2; + module2.exports.AbortSignal = AbortSignal2; + } +}); + +// node_modules/readable-stream/lib/ours/util.js +var require_util21 = __commonJS({ + "node_modules/readable-stream/lib/ours/util.js"(exports2, module2) { + "use strict"; + var bufferModule = require("buffer"); + var { kResistStopPropagation, SymbolDispose } = require_primordials(); + var AbortSignal2 = globalThis.AbortSignal || require_abort_controller().AbortSignal; + var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController; + var AsyncFunction = Object.getPrototypeOf(async function() { + }).constructor; + var Blob2 = globalThis.Blob || bufferModule.Blob; + var isBlob = typeof Blob2 !== "undefined" ? function isBlob2(b) { + return b instanceof Blob2; + } : function isBlob2(b) { + return false; + }; + var validateAbortSignal = (signal, name) => { + if (signal !== void 0 && (signal === null || typeof signal !== "object" || !("aborted" in signal))) { + throw new ERR_INVALID_ARG_TYPE(name, "AbortSignal", signal); + } + }; + var validateFunction = (value, name) => { + if (typeof value !== "function") throw new ERR_INVALID_ARG_TYPE(name, "Function", value); + }; + var AggregateError = class extends Error { + constructor(errors) { + if (!Array.isArray(errors)) { + throw new TypeError(`Expected input to be an Array, got ${typeof errors}`); + } + let message = ""; + for (let i = 0; i < errors.length; i++) { + message += ` ${errors[i].stack} +`; + } super(message); - this.name = "AbortError"; + this.name = "AggregateError"; + this.errors = errors; } }; - var AbortController2 = class { - // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types - constructor(parentSignals) { - this._signal = new AbortSignal2(); - if (!parentSignals) { - return; + module2.exports = { + AggregateError, + kEmptyObject: Object.freeze({}), + once(callback) { + let called = false; + return function(...args) { + if (called) { + return; + } + called = true; + callback.apply(this, args); + }; + }, + createDeferredPromise: function() { + let resolve5; + let reject; + const promise = new Promise((res, rej) => { + resolve5 = res; + reject = rej; + }); + return { + promise, + resolve: resolve5, + reject + }; + }, + promisify(fn) { + return new Promise((resolve5, reject) => { + fn((err, ...args) => { + if (err) { + return reject(err); + } + return resolve5(...args); + }); + }); + }, + debuglog() { + return function() { + }; + }, + format(format, ...args) { + return format.replace(/%([sdifj])/g, function(...[_unused, type2]) { + const replacement = args.shift(); + if (type2 === "f") { + return replacement.toFixed(6); + } else if (type2 === "j") { + return JSON.stringify(replacement); + } else if (type2 === "s" && typeof replacement === "object") { + const ctor = replacement.constructor !== Object ? replacement.constructor.name : ""; + return `${ctor} {}`.trim(); + } else { + return replacement.toString(); + } + }); + }, + inspect(value) { + switch (typeof value) { + case "string": + if (value.includes("'")) { + if (!value.includes('"')) { + return `"${value}"`; + } else if (!value.includes("`") && !value.includes("${")) { + return `\`${value}\``; + } + } + return `'${value}'`; + case "number": + if (isNaN(value)) { + return "NaN"; + } else if (Object.is(value, -0)) { + return String(value); + } + return value; + case "bigint": + return `${String(value)}n`; + case "boolean": + case "undefined": + return String(value); + case "object": + return "{}"; } - if (!Array.isArray(parentSignals)) { - parentSignals = arguments; + }, + types: { + isAsyncFunction(fn) { + return fn instanceof AsyncFunction; + }, + isArrayBufferView(arr) { + return ArrayBuffer.isView(arr); } - for (const parentSignal of parentSignals) { - if (parentSignal.aborted) { - this.abort(); - } else { - parentSignal.addEventListener("abort", () => { - this.abort(); - }); - } + }, + isBlob, + deprecate(fn, message) { + return fn; + }, + addAbortListener: require("events").addAbortListener || function addAbortListener(signal, listener) { + if (signal === void 0) { + throw new ERR_INVALID_ARG_TYPE("signal", "AbortSignal", signal); } - } - /** - * The AbortSignal associated with this controller that will signal aborted - * when the abort method is called on this controller. - * - * @readonly - */ - get signal() { - return this._signal; - } - /** - * Signal that any operations passed this controller's associated abort signal - * to cancel any remaining work and throw an `AbortError`. - */ - abort() { - abortSignal(this._signal); - } - /** - * Creates a new AbortSignal instance that will abort after the provided ms. - * @param ms - Elapsed time in milliseconds to trigger an abort. - */ - static timeout(ms) { - const signal = new AbortSignal2(); - const timer = setTimeout(abortSignal, ms, signal); - if (typeof timer.unref === "function") { - timer.unref(); + validateAbortSignal(signal, "signal"); + validateFunction(listener, "listener"); + let removeEventListener; + if (signal.aborted) { + queueMicrotask(() => listener()); + } else { + signal.addEventListener("abort", listener, { + __proto__: null, + once: true, + [kResistStopPropagation]: true + }); + removeEventListener = () => { + signal.removeEventListener("abort", listener); + }; } - return signal; + return { + __proto__: null, + [SymbolDispose]() { + var _removeEventListener; + (_removeEventListener = removeEventListener) === null || _removeEventListener === void 0 ? void 0 : _removeEventListener(); + } + }; + }, + AbortSignalAny: AbortSignal2.any || function AbortSignalAny(signals) { + if (signals.length === 1) { + return signals[0]; + } + const ac = new AbortController2(); + const abort = () => ac.abort(); + signals.forEach((signal) => { + validateAbortSignal(signal, "signals"); + signal.addEventListener("abort", abort, { + once: true + }); + }); + ac.signal.addEventListener( + "abort", + () => { + signals.forEach((signal) => signal.removeEventListener("abort", abort)); + }, + { + once: true + } + ); + return ac.signal; } }; - exports2.AbortController = AbortController2; - exports2.AbortError = AbortError; - exports2.AbortSignal = AbortSignal2; + module2.exports.promisify.custom = /* @__PURE__ */ Symbol.for("nodejs.util.promisify.custom"); } }); -// node_modules/@actions/cache/lib/internal/downloadUtils.js -var require_downloadUtils = __commonJS({ - "node_modules/@actions/cache/lib/internal/downloadUtils.js"(exports2) { +// node_modules/readable-stream/lib/ours/errors.js +var require_errors5 = __commonJS({ + "node_modules/readable-stream/lib/ours/errors.js"(exports2, module2) { "use strict"; - var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - }) : function(o, v) { - o["default"] = v; - }); - var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() { - var ownKeys2 = function(o) { - ownKeys2 = 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 ownKeys2(o); - }; - return function(mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) { - for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]); - } - __setModuleDefault2(result, mod); - return result; - }; - })(); - var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve5) { - resolve5(value); - }); + var { format, inspect, AggregateError: CustomAggregateError } = require_util21(); + var AggregateError = globalThis.AggregateError || CustomAggregateError; + var kIsNodeError = /* @__PURE__ */ Symbol("kIsNodeError"); + var kTypes = [ + "string", + "function", + "number", + "object", + // Accept 'Function' and 'Object' as alternative to the lower cased version. + "Function", + "Object", + "boolean", + "bigint", + "symbol" + ]; + var classRegExp = /^([A-Z][a-z0-9]*)+$/; + var nodeInternalPrefix = "__node_internal_"; + var codes = {}; + function assert(value, message) { + if (!value) { + throw new codes.ERR_INTERNAL_ASSERTION(message); } - return new (P || (P = Promise))(function(resolve5, 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 ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.DownloadProgress = void 0; - exports2.downloadCacheHttpClient = downloadCacheHttpClient; - exports2.downloadCacheHttpClientConcurrent = downloadCacheHttpClientConcurrent; - exports2.downloadCacheStorageSDK = downloadCacheStorageSDK; - var core14 = __importStar2(require_core()); - var http_client_1 = require_lib(); - var storage_blob_1 = require_commonjs15(); - var buffer = __importStar2(require("buffer")); - var fs8 = __importStar2(require("fs")); - var stream = __importStar2(require("stream")); - var util = __importStar2(require("util")); - var utils = __importStar2(require_cacheUtils()); - var constants_1 = require_constants12(); - var requestUtils_1 = require_requestUtils(); - var abort_controller_1 = require_dist4(); - function pipeResponseToStream(response, output) { - return __awaiter2(this, void 0, void 0, function* () { - const pipeline = util.promisify(stream.pipeline); - yield pipeline(response.message, output); - }); } - var DownloadProgress = class { - constructor(contentLength) { - this.contentLength = contentLength; - this.segmentIndex = 0; - this.segmentSize = 0; - this.segmentOffset = 0; - this.receivedBytes = 0; - this.displayedComplete = false; - this.startTime = Date.now(); - } - /** - * Progress to the next segment. Only call this method when the previous segment - * is complete. - * - * @param segmentSize the length of the next segment - */ - nextSegment(segmentSize) { - this.segmentOffset = this.segmentOffset + this.segmentSize; - this.segmentIndex = this.segmentIndex + 1; - this.segmentSize = segmentSize; - this.receivedBytes = 0; - core14.debug(`Downloading segment at offset ${this.segmentOffset} with length ${this.segmentSize}...`); + function addNumericalSeparator(val) { + let res = ""; + let i = val.length; + const start = val[0] === "-" ? 1 : 0; + for (; i >= start + 4; i -= 3) { + res = `_${val.slice(i - 3, i)}${res}`; } - /** - * Sets the number of bytes received for the current segment. - * - * @param receivedBytes the number of bytes received - */ - setReceivedBytes(receivedBytes) { - this.receivedBytes = receivedBytes; + return `${val.slice(0, i)}${res}`; + } + function getMessage(key, msg, args) { + if (typeof msg === "function") { + assert( + msg.length <= args.length, + // Default options do not count. + `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${msg.length}).` + ); + return msg(...args); } - /** - * Returns the total number of bytes transferred. - */ - getTransferredBytes() { - return this.segmentOffset + this.receivedBytes; + const expectedLength = (msg.match(/%[dfijoOs]/g) || []).length; + assert( + expectedLength === args.length, + `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${expectedLength}).` + ); + if (args.length === 0) { + return msg; } - /** - * Returns true if the download is complete. - */ - isDone() { - return this.getTransferredBytes() === this.contentLength; + return format(msg, ...args); + } + function E(code, message, Base) { + if (!Base) { + Base = Error; } - /** - * Prints the current download stats. Once the download completes, this will print one - * last line and then stop. - */ - display() { - if (this.displayedComplete) { - return; + class NodeError extends Base { + constructor(...args) { + super(getMessage(code, message, args)); } - const transferredBytes = this.segmentOffset + this.receivedBytes; - const percentage = (100 * (transferredBytes / this.contentLength)).toFixed(1); - const elapsedTime = Date.now() - this.startTime; - const downloadSpeed = (transferredBytes / (1024 * 1024) / (elapsedTime / 1e3)).toFixed(1); - core14.info(`Received ${transferredBytes} of ${this.contentLength} (${percentage}%), ${downloadSpeed} MBs/sec`); - if (this.isDone()) { - this.displayedComplete = true; + toString() { + return `${this.name} [${code}]: ${this.message}`; } } - /** - * Returns a function used to handle TransferProgressEvents. - */ - onProgress() { - return (progress) => { - this.setReceivedBytes(progress.loadedBytes); - }; - } - /** - * Starts the timer that displays the stats. - * - * @param delayInMs the delay between each write - */ - startDisplayTimer(delayInMs = 1e3) { - const displayCallback = () => { - this.display(); - if (!this.isDone()) { - this.timeoutHandle = setTimeout(displayCallback, delayInMs); - } - }; - this.timeoutHandle = setTimeout(displayCallback, delayInMs); + Object.defineProperties(NodeError.prototype, { + name: { + value: Base.name, + writable: true, + enumerable: false, + configurable: true + }, + toString: { + value() { + return `${this.name} [${code}]: ${this.message}`; + }, + writable: true, + enumerable: false, + configurable: true + } + }); + NodeError.prototype.code = code; + NodeError.prototype[kIsNodeError] = true; + codes[code] = NodeError; + } + function hideStackFrames(fn) { + const hidden = nodeInternalPrefix + fn.name; + Object.defineProperty(fn, "name", { + value: hidden + }); + return fn; + } + function aggregateTwoErrors(innerError, outerError) { + if (innerError && outerError && innerError !== outerError) { + if (Array.isArray(outerError.errors)) { + outerError.errors.push(innerError); + return outerError; + } + const err = new AggregateError([outerError, innerError], outerError.message); + err.code = outerError.code; + return err; } - /** - * Stops the timer that displays the stats. As this typically indicates the download - * is complete, this will display one last line, unless the last line has already - * been written. - */ - stopDisplayTimer() { - if (this.timeoutHandle) { - clearTimeout(this.timeoutHandle); - this.timeoutHandle = void 0; + return innerError || outerError; + } + var AbortError = class extends Error { + constructor(message = "The operation was aborted", options = void 0) { + if (options !== void 0 && typeof options !== "object") { + throw new codes.ERR_INVALID_ARG_TYPE("options", "Object", options); } - this.display(); + super(message, options); + this.code = "ABORT_ERR"; + this.name = "AbortError"; } }; - exports2.DownloadProgress = DownloadProgress; - function downloadCacheHttpClient(archiveLocation, archivePath) { - return __awaiter2(this, void 0, void 0, function* () { - const writeStream = fs8.createWriteStream(archivePath); - const httpClient = new http_client_1.HttpClient("actions/cache"); - const downloadResponse = yield (0, requestUtils_1.retryHttpClientResponse)("downloadCache", () => __awaiter2(this, void 0, void 0, function* () { - return httpClient.get(archiveLocation); - })); - downloadResponse.message.socket.setTimeout(constants_1.SocketTimeout, () => { - downloadResponse.message.destroy(); - core14.debug(`Aborting download, socket timed out after ${constants_1.SocketTimeout} ms`); - }); - yield pipeResponseToStream(downloadResponse, writeStream); - const contentLengthHeader = downloadResponse.message.headers["content-length"]; - if (contentLengthHeader) { - const expectedLength = parseInt(contentLengthHeader); - const actualLength = utils.getArchiveFileSizeInBytes(archivePath); - if (actualLength !== expectedLength) { - throw new Error(`Incomplete download. Expected file size: ${expectedLength}, actual file size: ${actualLength}`); - } + E("ERR_ASSERTION", "%s", Error); + E( + "ERR_INVALID_ARG_TYPE", + (name, expected, actual) => { + assert(typeof name === "string", "'name' must be a string"); + if (!Array.isArray(expected)) { + expected = [expected]; + } + let msg = "The "; + if (name.endsWith(" argument")) { + msg += `${name} `; } else { - core14.debug("Unable to validate download, no Content-Length header"); + msg += `"${name}" ${name.includes(".") ? "property" : "argument"} `; } - }); - } - function downloadCacheHttpClientConcurrent(archiveLocation, archivePath, options) { - return __awaiter2(this, void 0, void 0, function* () { - var _a; - const archiveDescriptor = yield fs8.promises.open(archivePath, "w"); - const httpClient = new http_client_1.HttpClient("actions/cache", void 0, { - socketTimeout: options.timeoutInMs, - keepAlive: true - }); - try { - const res = yield (0, requestUtils_1.retryHttpClientResponse)("downloadCacheMetadata", () => __awaiter2(this, void 0, void 0, function* () { - return yield httpClient.request("HEAD", archiveLocation, null, {}); - })); - const lengthHeader = res.message.headers["content-length"]; - if (lengthHeader === void 0 || lengthHeader === null) { - throw new Error("Content-Length not found on blob response"); - } - const length = parseInt(lengthHeader); - if (Number.isNaN(length)) { - throw new Error(`Could not interpret Content-Length: ${length}`); + msg += "must be "; + const types = []; + const instances = []; + const other = []; + for (const value of expected) { + assert(typeof value === "string", "All expected entries have to be of type string"); + if (kTypes.includes(value)) { + types.push(value.toLowerCase()); + } else if (classRegExp.test(value)) { + instances.push(value); + } else { + assert(value !== "object", 'The value "object" should be written as "Object"'); + other.push(value); } - const downloads = []; - const blockSize = 4 * 1024 * 1024; - for (let offset = 0; offset < length; offset += blockSize) { - const count = Math.min(blockSize, length - offset); - downloads.push({ - offset, - promiseGetter: () => __awaiter2(this, void 0, void 0, function* () { - return yield downloadSegmentRetry(httpClient, archiveLocation, offset, count); - }) - }); + } + if (instances.length > 0) { + const pos = types.indexOf("object"); + if (pos !== -1) { + types.splice(types, pos, 1); + instances.push("Object"); } - downloads.reverse(); - let actives = 0; - let bytesDownloaded = 0; - const progress = new DownloadProgress(length); - progress.startDisplayTimer(); - const progressFn = progress.onProgress(); - const activeDownloads = []; - let nextDownload; - const waitAndWrite = () => __awaiter2(this, void 0, void 0, function* () { - const segment = yield Promise.race(Object.values(activeDownloads)); - yield archiveDescriptor.write(segment.buffer, 0, segment.count, segment.offset); - actives--; - delete activeDownloads[segment.offset]; - bytesDownloaded += segment.count; - progressFn({ loadedBytes: bytesDownloaded }); - }); - while (nextDownload = downloads.pop()) { - activeDownloads[nextDownload.offset] = nextDownload.promiseGetter(); - actives++; - if (actives >= ((_a = options.downloadConcurrency) !== null && _a !== void 0 ? _a : 10)) { - yield waitAndWrite(); + } + if (types.length > 0) { + switch (types.length) { + case 1: + msg += `of type ${types[0]}`; + break; + case 2: + msg += `one of type ${types[0]} or ${types[1]}`; + break; + default: { + const last = types.pop(); + msg += `one of type ${types.join(", ")}, or ${last}`; } } - while (actives > 0) { - yield waitAndWrite(); + if (instances.length > 0 || other.length > 0) { + msg += " or "; } - } finally { - httpClient.dispose(); - yield archiveDescriptor.close(); } - }); - } - function downloadSegmentRetry(httpClient, archiveLocation, offset, count) { - return __awaiter2(this, void 0, void 0, function* () { - const retries = 5; - let failures = 0; - while (true) { - try { - const timeout = 3e4; - const result = yield promiseWithTimeout(timeout, downloadSegment(httpClient, archiveLocation, offset, count)); - if (typeof result === "string") { - throw new Error("downloadSegmentRetry failed due to timeout"); - } - return result; - } catch (err) { - if (failures >= retries) { - throw err; + if (instances.length > 0) { + switch (instances.length) { + case 1: + msg += `an instance of ${instances[0]}`; + break; + case 2: + msg += `an instance of ${instances[0]} or ${instances[1]}`; + break; + default: { + const last = instances.pop(); + msg += `an instance of ${instances.join(", ")}, or ${last}`; } - failures++; + } + if (other.length > 0) { + msg += " or "; } } - }); - } - function downloadSegment(httpClient, archiveLocation, offset, count) { - return __awaiter2(this, void 0, void 0, function* () { - const partRes = yield (0, requestUtils_1.retryHttpClientResponse)("downloadCachePart", () => __awaiter2(this, void 0, void 0, function* () { - return yield httpClient.get(archiveLocation, { - Range: `bytes=${offset}-${offset + count - 1}` - }); - })); - if (!partRes.readBodyBuffer) { - throw new Error("Expected HttpClientResponse to implement readBodyBuffer"); + switch (other.length) { + case 0: + break; + case 1: + if (other[0].toLowerCase() !== other[0]) { + msg += "an "; + } + msg += `${other[0]}`; + break; + case 2: + msg += `one of ${other[0]} or ${other[1]}`; + break; + default: { + const last = other.pop(); + msg += `one of ${other.join(", ")}, or ${last}`; + } } - return { - offset, - count, - buffer: yield partRes.readBodyBuffer() - }; - }); - } - function downloadCacheStorageSDK(archiveLocation, archivePath, options) { - return __awaiter2(this, void 0, void 0, function* () { - var _a; - const client = new storage_blob_1.BlockBlobClient(archiveLocation, void 0, { - retryOptions: { - // Override the timeout used when downloading each 4 MB chunk - // The default is 2 min / MB, which is way too slow - tryTimeoutInMs: options.timeoutInMs + if (actual == null) { + msg += `. Received ${actual}`; + } else if (typeof actual === "function" && actual.name) { + msg += `. Received function ${actual.name}`; + } else if (typeof actual === "object") { + var _actual$constructor; + if ((_actual$constructor = actual.constructor) !== null && _actual$constructor !== void 0 && _actual$constructor.name) { + msg += `. Received an instance of ${actual.constructor.name}`; + } else { + const inspected = inspect(actual, { + depth: -1 + }); + msg += `. Received ${inspected}`; } - }); - const properties = yield client.getProperties(); - const contentLength = (_a = properties.contentLength) !== null && _a !== void 0 ? _a : -1; - if (contentLength < 0) { - core14.debug("Unable to determine content length, downloading file with http-client..."); - yield downloadCacheHttpClient(archiveLocation, archivePath); } else { - const maxSegmentSize = Math.min(134217728, buffer.constants.MAX_LENGTH); - const downloadProgress = new DownloadProgress(contentLength); - const fd = fs8.openSync(archivePath, "w"); - try { - downloadProgress.startDisplayTimer(); - const controller = new abort_controller_1.AbortController(); - const abortSignal = controller.signal; - while (!downloadProgress.isDone()) { - const segmentStart = downloadProgress.segmentOffset + downloadProgress.segmentSize; - const segmentSize = Math.min(maxSegmentSize, contentLength - segmentStart); - downloadProgress.nextSegment(segmentSize); - const result = yield promiseWithTimeout(options.segmentTimeoutInMs || 36e5, client.downloadToBuffer(segmentStart, segmentSize, { - abortSignal, - concurrency: options.downloadConcurrency, - onProgress: downloadProgress.onProgress() - })); - if (result === "timeout") { - controller.abort(); - throw new Error("Aborting cache download as the download time exceeded the timeout."); - } else if (Buffer.isBuffer(result)) { - fs8.writeFileSync(fd, result); - } + let inspected = inspect(actual, { + colors: false + }); + if (inspected.length > 25) { + inspected = `${inspected.slice(0, 25)}...`; + } + msg += `. Received type ${typeof actual} (${inspected})`; + } + return msg; + }, + TypeError + ); + E( + "ERR_INVALID_ARG_VALUE", + (name, value, reason = "is invalid") => { + let inspected = inspect(value); + if (inspected.length > 128) { + inspected = inspected.slice(0, 128) + "..."; + } + const type2 = name.includes(".") ? "property" : "argument"; + return `The ${type2} '${name}' ${reason}. Received ${inspected}`; + }, + TypeError + ); + E( + "ERR_INVALID_RETURN_VALUE", + (input, name, value) => { + var _value$constructor; + const type2 = value !== null && value !== void 0 && (_value$constructor = value.constructor) !== null && _value$constructor !== void 0 && _value$constructor.name ? `instance of ${value.constructor.name}` : `type ${typeof value}`; + return `Expected ${input} to be returned from the "${name}" function but got ${type2}.`; + }, + TypeError + ); + E( + "ERR_MISSING_ARGS", + (...args) => { + assert(args.length > 0, "At least one arg needs to be specified"); + let msg; + const len = args.length; + args = (Array.isArray(args) ? args : [args]).map((a) => `"${a}"`).join(" or "); + switch (len) { + case 1: + msg += `The ${args[0]} argument`; + break; + case 2: + msg += `The ${args[0]} and ${args[1]} arguments`; + break; + default: + { + const last = args.pop(); + msg += `The ${args.join(", ")}, and ${last} arguments`; } - } finally { - downloadProgress.stopDisplayTimer(); - fs8.closeSync(fd); + break; + } + return `${msg} must be specified`; + }, + TypeError + ); + E( + "ERR_OUT_OF_RANGE", + (str2, range, input) => { + assert(range, 'Missing "range" argument'); + let received; + if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) { + received = addNumericalSeparator(String(input)); + } else if (typeof input === "bigint") { + received = String(input); + if (input > 2n ** 32n || input < -(2n ** 32n)) { + received = addNumericalSeparator(received); } + received += "n"; + } else { + received = inspect(input); } - }); - } - var promiseWithTimeout = (timeoutMs, promise) => __awaiter2(void 0, void 0, void 0, function* () { - let timeoutHandle; - const timeoutPromise = new Promise((resolve5) => { - timeoutHandle = setTimeout(() => resolve5("timeout"), timeoutMs); - }); - return Promise.race([promise, timeoutPromise]).then((result) => { - clearTimeout(timeoutHandle); - return result; - }); - }); + return `The value of "${str2}" is out of range. It must be ${range}. Received ${received}`; + }, + RangeError + ); + E("ERR_MULTIPLE_CALLBACK", "Callback called multiple times", Error); + E("ERR_METHOD_NOT_IMPLEMENTED", "The %s method is not implemented", Error); + E("ERR_STREAM_ALREADY_FINISHED", "Cannot call %s after a stream was finished", Error); + E("ERR_STREAM_CANNOT_PIPE", "Cannot pipe, not readable", Error); + E("ERR_STREAM_DESTROYED", "Cannot call %s after a stream was destroyed", Error); + E("ERR_STREAM_NULL_VALUES", "May not write null values to stream", TypeError); + E("ERR_STREAM_PREMATURE_CLOSE", "Premature close", Error); + E("ERR_STREAM_PUSH_AFTER_EOF", "stream.push() after EOF", Error); + E("ERR_STREAM_UNSHIFT_AFTER_END_EVENT", "stream.unshift() after end event", Error); + E("ERR_STREAM_WRITE_AFTER_END", "write after end", Error); + E("ERR_UNKNOWN_ENCODING", "Unknown encoding: %s", TypeError); + module2.exports = { + AbortError, + aggregateTwoErrors: hideStackFrames(aggregateTwoErrors), + hideStackFrames, + codes + }; } }); -// node_modules/@actions/cache/lib/options.js -var require_options = __commonJS({ - "node_modules/@actions/cache/lib/options.js"(exports2) { +// node_modules/readable-stream/lib/internal/validators.js +var require_validators = __commonJS({ + "node_modules/readable-stream/lib/internal/validators.js"(exports2, module2) { "use strict"; - var __createBinding2 = 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 { + ArrayIsArray, + ArrayPrototypeIncludes, + ArrayPrototypeJoin, + ArrayPrototypeMap, + NumberIsInteger, + NumberIsNaN, + NumberMAX_SAFE_INTEGER, + NumberMIN_SAFE_INTEGER, + NumberParseInt, + ObjectPrototypeHasOwnProperty, + RegExpPrototypeExec, + String: String2, + StringPrototypeToUpperCase, + StringPrototypeTrim + } = require_primordials(); + var { + hideStackFrames, + codes: { ERR_SOCKET_BAD_PORT, ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_ARG_VALUE, ERR_OUT_OF_RANGE, ERR_UNKNOWN_SIGNAL } + } = require_errors5(); + var { normalizeEncoding } = require_util21(); + var { isAsyncFunction, isArrayBufferView } = require_util21().types; + var signals = {}; + function isInt32(value) { + return value === (value | 0); + } + function isUint32(value) { + return value === value >>> 0; + } + var octalReg = /^[0-7]+$/; + var modeDesc = "must be a 32-bit unsigned integer or an octal string"; + function parseFileMode(value, name, def) { + if (typeof value === "undefined") { + value = def; } - Object.defineProperty(o, k2, desc); - }) : (function(o, m, k, k2) { - if (k2 === void 0) k2 = k; - o[k2] = m[k]; - })); - var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - }) : function(o, v) { - o["default"] = v; - }); - var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() { - var ownKeys2 = function(o) { - ownKeys2 = 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 ownKeys2(o); - }; - return function(mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) { - for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]); - } - __setModuleDefault2(result, mod); - return result; - }; - })(); - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getUploadOptions = getUploadOptions; - exports2.getDownloadOptions = getDownloadOptions; - var core14 = __importStar2(require_core()); - function getUploadOptions(copy) { - const result = { - useAzureSdk: false, - uploadConcurrency: 4, - uploadChunkSize: 32 * 1024 * 1024 - }; - if (copy) { - if (typeof copy.useAzureSdk === "boolean") { - result.useAzureSdk = copy.useAzureSdk; - } - if (typeof copy.uploadConcurrency === "number") { - result.uploadConcurrency = copy.uploadConcurrency; - } - if (typeof copy.uploadChunkSize === "number") { - result.uploadChunkSize = copy.uploadChunkSize; + if (typeof value === "string") { + if (RegExpPrototypeExec(octalReg, value) === null) { + throw new ERR_INVALID_ARG_VALUE(name, value, modeDesc); } + value = NumberParseInt(value, 8); } - result.uploadConcurrency = !isNaN(Number(process.env["CACHE_UPLOAD_CONCURRENCY"])) ? Math.min(32, Number(process.env["CACHE_UPLOAD_CONCURRENCY"])) : result.uploadConcurrency; - result.uploadChunkSize = !isNaN(Number(process.env["CACHE_UPLOAD_CHUNK_SIZE"])) ? Math.min(128 * 1024 * 1024, Number(process.env["CACHE_UPLOAD_CHUNK_SIZE"]) * 1024 * 1024) : result.uploadChunkSize; - core14.debug(`Use Azure SDK: ${result.useAzureSdk}`); - core14.debug(`Upload concurrency: ${result.uploadConcurrency}`); - core14.debug(`Upload chunk size: ${result.uploadChunkSize}`); - return result; + validateUint32(value, name); + return value; } - function getDownloadOptions(copy) { - const result = { - useAzureSdk: false, - concurrentBlobDownloads: true, - downloadConcurrency: 8, - timeoutInMs: 3e4, - segmentTimeoutInMs: 6e5, - lookupOnly: false - }; - if (copy) { - if (typeof copy.useAzureSdk === "boolean") { - result.useAzureSdk = copy.useAzureSdk; - } - if (typeof copy.concurrentBlobDownloads === "boolean") { - result.concurrentBlobDownloads = copy.concurrentBlobDownloads; - } - if (typeof copy.downloadConcurrency === "number") { - result.downloadConcurrency = copy.downloadConcurrency; - } - if (typeof copy.timeoutInMs === "number") { - result.timeoutInMs = copy.timeoutInMs; - } - if (typeof copy.segmentTimeoutInMs === "number") { - result.segmentTimeoutInMs = copy.segmentTimeoutInMs; + var validateInteger = hideStackFrames((value, name, min = NumberMIN_SAFE_INTEGER, max = NumberMAX_SAFE_INTEGER) => { + if (typeof value !== "number") throw new ERR_INVALID_ARG_TYPE2(name, "number", value); + if (!NumberIsInteger(value)) throw new ERR_OUT_OF_RANGE(name, "an integer", value); + if (value < min || value > max) throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value); + }); + var validateInt32 = hideStackFrames((value, name, min = -2147483648, max = 2147483647) => { + if (typeof value !== "number") { + throw new ERR_INVALID_ARG_TYPE2(name, "number", value); + } + if (!NumberIsInteger(value)) { + throw new ERR_OUT_OF_RANGE(name, "an integer", value); + } + if (value < min || value > max) { + throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value); + } + }); + var validateUint32 = hideStackFrames((value, name, positive = false) => { + if (typeof value !== "number") { + throw new ERR_INVALID_ARG_TYPE2(name, "number", value); + } + if (!NumberIsInteger(value)) { + throw new ERR_OUT_OF_RANGE(name, "an integer", value); + } + const min = positive ? 1 : 0; + const max = 4294967295; + if (value < min || value > max) { + throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value); + } + }); + function validateString(value, name) { + if (typeof value !== "string") throw new ERR_INVALID_ARG_TYPE2(name, "string", value); + } + function validateNumber(value, name, min = void 0, max) { + if (typeof value !== "number") throw new ERR_INVALID_ARG_TYPE2(name, "number", value); + if (min != null && value < min || max != null && value > max || (min != null || max != null) && NumberIsNaN(value)) { + throw new ERR_OUT_OF_RANGE( + name, + `${min != null ? `>= ${min}` : ""}${min != null && max != null ? " && " : ""}${max != null ? `<= ${max}` : ""}`, + value + ); + } + } + var validateOneOf = hideStackFrames((value, name, oneOf) => { + if (!ArrayPrototypeIncludes(oneOf, value)) { + const allowed = ArrayPrototypeJoin( + ArrayPrototypeMap(oneOf, (v) => typeof v === "string" ? `'${v}'` : String2(v)), + ", " + ); + const reason = "must be one of: " + allowed; + throw new ERR_INVALID_ARG_VALUE(name, value, reason); + } + }); + function validateBoolean(value, name) { + if (typeof value !== "boolean") throw new ERR_INVALID_ARG_TYPE2(name, "boolean", value); + } + function getOwnPropertyValueOrDefault(options, key, defaultValue) { + return options == null || !ObjectPrototypeHasOwnProperty(options, key) ? defaultValue : options[key]; + } + var validateObject = hideStackFrames((value, name, options = null) => { + const allowArray = getOwnPropertyValueOrDefault(options, "allowArray", false); + const allowFunction = getOwnPropertyValueOrDefault(options, "allowFunction", false); + const nullable = getOwnPropertyValueOrDefault(options, "nullable", false); + if (!nullable && value === null || !allowArray && ArrayIsArray(value) || typeof value !== "object" && (!allowFunction || typeof value !== "function")) { + throw new ERR_INVALID_ARG_TYPE2(name, "Object", value); + } + }); + var validateDictionary = hideStackFrames((value, name) => { + if (value != null && typeof value !== "object" && typeof value !== "function") { + throw new ERR_INVALID_ARG_TYPE2(name, "a dictionary", value); + } + }); + var validateArray = hideStackFrames((value, name, minLength = 0) => { + if (!ArrayIsArray(value)) { + throw new ERR_INVALID_ARG_TYPE2(name, "Array", value); + } + if (value.length < minLength) { + const reason = `must be longer than ${minLength}`; + throw new ERR_INVALID_ARG_VALUE(name, value, reason); + } + }); + function validateStringArray(value, name) { + validateArray(value, name); + for (let i = 0; i < value.length; i++) { + validateString(value[i], `${name}[${i}]`); + } + } + function validateBooleanArray(value, name) { + validateArray(value, name); + for (let i = 0; i < value.length; i++) { + validateBoolean(value[i], `${name}[${i}]`); + } + } + function validateAbortSignalArray(value, name) { + validateArray(value, name); + for (let i = 0; i < value.length; i++) { + const signal = value[i]; + const indexedName = `${name}[${i}]`; + if (signal == null) { + throw new ERR_INVALID_ARG_TYPE2(indexedName, "AbortSignal", signal); } - if (typeof copy.lookupOnly === "boolean") { - result.lookupOnly = copy.lookupOnly; + validateAbortSignal(signal, indexedName); + } + } + function validateSignalName(signal, name = "signal") { + validateString(signal, name); + if (signals[signal] === void 0) { + if (signals[StringPrototypeToUpperCase(signal)] !== void 0) { + throw new ERR_UNKNOWN_SIGNAL(signal + " (signals must use all capital letters)"); } + throw new ERR_UNKNOWN_SIGNAL(signal); } - const segmentDownloadTimeoutMins = process.env["SEGMENT_DOWNLOAD_TIMEOUT_MINS"]; - if (segmentDownloadTimeoutMins && !isNaN(Number(segmentDownloadTimeoutMins)) && isFinite(Number(segmentDownloadTimeoutMins))) { - result.segmentTimeoutInMs = Number(segmentDownloadTimeoutMins) * 60 * 1e3; + } + var validateBuffer = hideStackFrames((buffer, name = "buffer") => { + if (!isArrayBufferView(buffer)) { + throw new ERR_INVALID_ARG_TYPE2(name, ["Buffer", "TypedArray", "DataView"], buffer); + } + }); + function validateEncoding(data, encoding) { + const normalizedEncoding = normalizeEncoding(encoding); + const length = data.length; + if (normalizedEncoding === "hex" && length % 2 !== 0) { + throw new ERR_INVALID_ARG_VALUE("encoding", encoding, `is invalid for data of length ${length}`); } - core14.debug(`Use Azure SDK: ${result.useAzureSdk}`); - core14.debug(`Download concurrency: ${result.downloadConcurrency}`); - core14.debug(`Request timeout (ms): ${result.timeoutInMs}`); - core14.debug(`Cache segment download timeout mins env var: ${process.env["SEGMENT_DOWNLOAD_TIMEOUT_MINS"]}`); - core14.debug(`Segment download timeout (ms): ${result.segmentTimeoutInMs}`); - core14.debug(`Lookup only: ${result.lookupOnly}`); - return result; } - } -}); - -// node_modules/@actions/cache/lib/internal/config.js -var require_config = __commonJS({ - "node_modules/@actions/cache/lib/internal/config.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.isGhes = isGhes; - exports2.getCacheServiceVersion = getCacheServiceVersion; - exports2.getCacheServiceURL = getCacheServiceURL; - function isGhes() { - const ghUrl = new URL(process.env["GITHUB_SERVER_URL"] || "https://github.com"); - const hostname = ghUrl.hostname.trimEnd().toUpperCase(); - const isGitHubHost = hostname === "GITHUB.COM"; - const isGheHost = hostname.endsWith(".GHE.COM"); - const isLocalHost = hostname.endsWith(".LOCALHOST"); - return !isGitHubHost && !isGheHost && !isLocalHost; + function validatePort(port, name = "Port", allowZero = true) { + if (typeof port !== "number" && typeof port !== "string" || typeof port === "string" && StringPrototypeTrim(port).length === 0 || +port !== +port >>> 0 || port > 65535 || port === 0 && !allowZero) { + throw new ERR_SOCKET_BAD_PORT(name, port, allowZero); + } + return port | 0; + } + var validateAbortSignal = hideStackFrames((signal, name) => { + if (signal !== void 0 && (signal === null || typeof signal !== "object" || !("aborted" in signal))) { + throw new ERR_INVALID_ARG_TYPE2(name, "AbortSignal", signal); + } + }); + var validateFunction = hideStackFrames((value, name) => { + if (typeof value !== "function") throw new ERR_INVALID_ARG_TYPE2(name, "Function", value); + }); + var validatePlainFunction = hideStackFrames((value, name) => { + if (typeof value !== "function" || isAsyncFunction(value)) throw new ERR_INVALID_ARG_TYPE2(name, "Function", value); + }); + var validateUndefined = hideStackFrames((value, name) => { + if (value !== void 0) throw new ERR_INVALID_ARG_TYPE2(name, "undefined", value); + }); + function validateUnion(value, name, union) { + if (!ArrayPrototypeIncludes(union, value)) { + throw new ERR_INVALID_ARG_TYPE2(name, `('${ArrayPrototypeJoin(union, "|")}')`, value); + } } - function getCacheServiceVersion() { - if (isGhes()) - return "v1"; - return process.env["ACTIONS_CACHE_SERVICE_V2"] ? "v2" : "v1"; + var linkValueRegExp = /^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/; + function validateLinkHeaderFormat(value, name) { + if (typeof value === "undefined" || !RegExpPrototypeExec(linkValueRegExp, value)) { + throw new ERR_INVALID_ARG_VALUE( + name, + value, + 'must be an array or string of format "; rel=preload; as=style"' + ); + } } - function getCacheServiceURL() { - const version = getCacheServiceVersion(); - switch (version) { - case "v1": - return process.env["ACTIONS_CACHE_URL"] || process.env["ACTIONS_RESULTS_URL"] || ""; - case "v2": - return process.env["ACTIONS_RESULTS_URL"] || ""; - default: - throw new Error(`Unsupported cache service version: ${version}`); + function validateLinkHeaderValue(hints) { + if (typeof hints === "string") { + validateLinkHeaderFormat(hints, "hints"); + return hints; + } else if (ArrayIsArray(hints)) { + const hintsLength = hints.length; + let result = ""; + if (hintsLength === 0) { + return result; + } + for (let i = 0; i < hintsLength; i++) { + const link = hints[i]; + validateLinkHeaderFormat(link, "hints"); + result += link; + if (i !== hintsLength - 1) { + result += ", "; + } + } + return result; } + throw new ERR_INVALID_ARG_VALUE( + "hints", + hints, + 'must be an array or string of format "; rel=preload; as=style"' + ); } - } -}); - -// node_modules/@actions/cache/package.json -var require_package2 = __commonJS({ - "node_modules/@actions/cache/package.json"(exports2, module2) { module2.exports = { - name: "@actions/cache", - version: "5.0.5", - preview: true, - description: "Actions cache lib", - keywords: [ - "github", - "actions", - "cache" - ], - homepage: "https://github.com/actions/toolkit/tree/main/packages/cache", - license: "MIT", - main: "lib/cache.js", - types: "lib/cache.d.ts", - directories: { - lib: "lib", - test: "__tests__" - }, - files: [ - "lib", - "!.DS_Store" - ], - publishConfig: { - access: "public" - }, - repository: { - type: "git", - url: "git+https://github.com/actions/toolkit.git", - directory: "packages/cache" - }, - scripts: { - "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json", - test: 'echo "Error: run tests from root" && exit 1', - tsc: "tsc" - }, - bugs: { - url: "https://github.com/actions/toolkit/issues" - }, - dependencies: { - "@actions/core": "^2.0.0", - "@actions/exec": "^2.0.0", - "@actions/glob": "^0.5.1", - "@protobuf-ts/runtime-rpc": "^2.11.1", - "@actions/http-client": "^3.0.2", - "@actions/io": "^2.0.0", - "@azure/abort-controller": "^1.1.0", - "@azure/core-rest-pipeline": "^1.22.0", - "@azure/storage-blob": "^12.29.1", - semver: "^6.3.1" - }, - devDependencies: { - "@types/node": "^24.1.0", - "@types/semver": "^6.0.0", - "@protobuf-ts/plugin": "^2.9.4", - typescript: "^5.2.2" - }, - overrides: { - "uri-js": "npm:uri-js-replace@^1.0.1", - "node-fetch": "^3.3.2" - } + isInt32, + isUint32, + parseFileMode, + validateArray, + validateStringArray, + validateBooleanArray, + validateAbortSignalArray, + validateBoolean, + validateBuffer, + validateDictionary, + validateEncoding, + validateFunction, + validateInt32, + validateInteger, + validateNumber, + validateObject, + validateOneOf, + validatePlainFunction, + validatePort, + validateSignalName, + validateString, + validateUint32, + validateUndefined, + validateUnion, + validateAbortSignal, + validateLinkHeaderValue }; } }); -// node_modules/@actions/cache/lib/internal/shared/user-agent.js -var require_user_agent = __commonJS({ - "node_modules/@actions/cache/lib/internal/shared/user-agent.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getUserAgentString = getUserAgentString; - var packageJson = require_package2(); - function getUserAgentString() { - return `@actions/cache-${packageJson.version}`; - } +// node_modules/process/index.js +var require_process = __commonJS({ + "node_modules/process/index.js"(exports2, module2) { + module2.exports = global.process; } }); -// node_modules/@actions/cache/lib/internal/cacheHttpClient.js -var require_cacheHttpClient = __commonJS({ - "node_modules/@actions/cache/lib/internal/cacheHttpClient.js"(exports2) { +// node_modules/readable-stream/lib/internal/streams/utils.js +var require_utils8 = __commonJS({ + "node_modules/readable-stream/lib/internal/streams/utils.js"(exports2, module2) { "use strict"; - var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - }) : function(o, v) { - o["default"] = v; - }); - var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() { - var ownKeys2 = function(o) { - ownKeys2 = 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 ownKeys2(o); - }; - return function(mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) { - for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]); - } - __setModuleDefault2(result, mod); - return result; - }; - })(); - var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve5) { - resolve5(value); - }); - } - return new (P || (P = Promise))(function(resolve5, 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 ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getCacheEntry = getCacheEntry; - exports2.downloadCache = downloadCache; - exports2.reserveCache = reserveCache; - exports2.saveCache = saveCache4; - var core14 = __importStar2(require_core()); - var http_client_1 = require_lib(); - var auth_1 = require_auth(); - var fs8 = __importStar2(require("fs")); - var url_1 = require("url"); - var utils = __importStar2(require_cacheUtils()); - var uploadUtils_1 = require_uploadUtils(); - var downloadUtils_1 = require_downloadUtils(); - var options_1 = require_options(); - var requestUtils_1 = require_requestUtils(); - var config_1 = require_config(); - var user_agent_1 = require_user_agent(); - function getCacheApiUrl(resource) { - const baseUrl = (0, config_1.getCacheServiceURL)(); - if (!baseUrl) { - throw new Error("Cache Service Url not found, unable to restore cache."); - } - const url = `${baseUrl}_apis/artifactcache/${resource}`; - core14.debug(`Resource Url: ${url}`); - return url; + var { SymbolAsyncIterator, SymbolIterator, SymbolFor } = require_primordials(); + var kIsDestroyed = SymbolFor("nodejs.stream.destroyed"); + var kIsErrored = SymbolFor("nodejs.stream.errored"); + var kIsReadable = SymbolFor("nodejs.stream.readable"); + var kIsWritable = SymbolFor("nodejs.stream.writable"); + var kIsDisturbed = SymbolFor("nodejs.stream.disturbed"); + var kIsClosedPromise = SymbolFor("nodejs.webstream.isClosedPromise"); + var kControllerErrorFunction = SymbolFor("nodejs.webstream.controllerErrorFunction"); + function isReadableNodeStream(obj, strict = false) { + var _obj$_readableState; + return !!(obj && typeof obj.pipe === "function" && typeof obj.on === "function" && (!strict || typeof obj.pause === "function" && typeof obj.resume === "function") && (!obj._writableState || ((_obj$_readableState = obj._readableState) === null || _obj$_readableState === void 0 ? void 0 : _obj$_readableState.readable) !== false) && // Duplex + (!obj._writableState || obj._readableState)); } - function createAcceptHeader(type2, apiVersion) { - return `${type2};api-version=${apiVersion}`; + function isWritableNodeStream(obj) { + var _obj$_writableState; + return !!(obj && typeof obj.write === "function" && typeof obj.on === "function" && (!obj._readableState || ((_obj$_writableState = obj._writableState) === null || _obj$_writableState === void 0 ? void 0 : _obj$_writableState.writable) !== false)); } - function getRequestOptions() { - const requestOptions = { - headers: { - Accept: createAcceptHeader("application/json", "6.0-preview.1") - } - }; - return requestOptions; + function isDuplexNodeStream(obj) { + return !!(obj && typeof obj.pipe === "function" && obj._readableState && typeof obj.on === "function" && typeof obj.write === "function"); } - function createHttpClient() { - const token = process.env["ACTIONS_RUNTIME_TOKEN"] || ""; - const bearerCredentialHandler = new auth_1.BearerCredentialHandler(token); - return new http_client_1.HttpClient((0, user_agent_1.getUserAgentString)(), [bearerCredentialHandler], getRequestOptions()); + function isNodeStream(obj) { + return obj && (obj._readableState || obj._writableState || typeof obj.write === "function" && typeof obj.on === "function" || typeof obj.pipe === "function" && typeof obj.on === "function"); } - function getCacheEntry(keys, paths, options) { - return __awaiter2(this, void 0, void 0, function* () { - const httpClient = createHttpClient(); - const version = utils.getCacheVersion(paths, options === null || options === void 0 ? void 0 : options.compressionMethod, options === null || options === void 0 ? void 0 : options.enableCrossOsArchive); - const resource = `cache?keys=${encodeURIComponent(keys.join(","))}&version=${version}`; - const response = yield (0, requestUtils_1.retryTypedResponse)("getCacheEntry", () => __awaiter2(this, void 0, void 0, function* () { - return httpClient.getJson(getCacheApiUrl(resource)); - })); - if (response.statusCode === 204) { - if (core14.isDebug()) { - yield printCachesListForDiagnostics(keys[0], httpClient, version); - } - return null; - } - if (!(0, requestUtils_1.isSuccessStatusCode)(response.statusCode)) { - throw new Error(`Cache service responded with ${response.statusCode}`); - } - const cacheResult = response.result; - const cacheDownloadUrl = cacheResult === null || cacheResult === void 0 ? void 0 : cacheResult.archiveLocation; - if (!cacheDownloadUrl) { - throw new Error("Cache not found."); - } - core14.setSecret(cacheDownloadUrl); - core14.debug(`Cache Result:`); - core14.debug(JSON.stringify(cacheResult)); - return cacheResult; - }); + function isReadableStream(obj) { + return !!(obj && !isNodeStream(obj) && typeof obj.pipeThrough === "function" && typeof obj.getReader === "function" && typeof obj.cancel === "function"); } - function printCachesListForDiagnostics(key, httpClient, version) { - return __awaiter2(this, void 0, void 0, function* () { - const resource = `caches?key=${encodeURIComponent(key)}`; - const response = yield (0, requestUtils_1.retryTypedResponse)("listCache", () => __awaiter2(this, void 0, void 0, function* () { - return httpClient.getJson(getCacheApiUrl(resource)); - })); - if (response.statusCode === 200) { - const cacheListResult = response.result; - const totalCount = cacheListResult === null || cacheListResult === void 0 ? void 0 : cacheListResult.totalCount; - if (totalCount && totalCount > 0) { - core14.debug(`No matching cache found for cache key '${key}', version '${version} and scope ${process.env["GITHUB_REF"]}. There exist one or more cache(s) with similar key but they have different version or scope. See more info on cache matching here: https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#matching-a-cache-key -Other caches with similar key:`); - for (const cacheEntry of (cacheListResult === null || cacheListResult === void 0 ? void 0 : cacheListResult.artifactCaches) || []) { - core14.debug(`Cache Key: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.cacheKey}, Cache Version: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.cacheVersion}, Cache Scope: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.scope}, Cache Created: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.creationTime}`); - } - } - } - }); + function isWritableStream(obj) { + return !!(obj && !isNodeStream(obj) && typeof obj.getWriter === "function" && typeof obj.abort === "function"); } - function downloadCache(archiveLocation, archivePath, options) { - return __awaiter2(this, void 0, void 0, function* () { - const archiveUrl = new url_1.URL(archiveLocation); - const downloadOptions = (0, options_1.getDownloadOptions)(options); - if (archiveUrl.hostname.endsWith(".blob.core.windows.net")) { - if (downloadOptions.useAzureSdk) { - yield (0, downloadUtils_1.downloadCacheStorageSDK)(archiveLocation, archivePath, downloadOptions); - } else if (downloadOptions.concurrentBlobDownloads) { - yield (0, downloadUtils_1.downloadCacheHttpClientConcurrent)(archiveLocation, archivePath, downloadOptions); - } else { - yield (0, downloadUtils_1.downloadCacheHttpClient)(archiveLocation, archivePath); - } - } else { - yield (0, downloadUtils_1.downloadCacheHttpClient)(archiveLocation, archivePath); - } - }); + function isTransformStream(obj) { + return !!(obj && !isNodeStream(obj) && typeof obj.readable === "object" && typeof obj.writable === "object"); } - function reserveCache(key, paths, options) { - return __awaiter2(this, void 0, void 0, function* () { - const httpClient = createHttpClient(); - const version = utils.getCacheVersion(paths, options === null || options === void 0 ? void 0 : options.compressionMethod, options === null || options === void 0 ? void 0 : options.enableCrossOsArchive); - const reserveCacheRequest = { - key, - version, - cacheSize: options === null || options === void 0 ? void 0 : options.cacheSize - }; - const response = yield (0, requestUtils_1.retryTypedResponse)("reserveCache", () => __awaiter2(this, void 0, void 0, function* () { - return httpClient.postJson(getCacheApiUrl("caches"), reserveCacheRequest); - })); - return response; - }); + function isWebStream(obj) { + return isReadableStream(obj) || isWritableStream(obj) || isTransformStream(obj); } - function getContentRange(start, end) { - return `bytes ${start}-${end}/*`; + function isIterable(obj, isAsync) { + if (obj == null) return false; + if (isAsync === true) return typeof obj[SymbolAsyncIterator] === "function"; + if (isAsync === false) return typeof obj[SymbolIterator] === "function"; + return typeof obj[SymbolAsyncIterator] === "function" || typeof obj[SymbolIterator] === "function"; } - function uploadChunk(httpClient, resourceUrl, openStream, start, end) { - return __awaiter2(this, void 0, void 0, function* () { - core14.debug(`Uploading chunk of size ${end - start + 1} bytes at offset ${start} with content range: ${getContentRange(start, end)}`); - const additionalHeaders = { - "Content-Type": "application/octet-stream", - "Content-Range": getContentRange(start, end) - }; - const uploadChunkResponse = yield (0, requestUtils_1.retryHttpClientResponse)(`uploadChunk (start: ${start}, end: ${end})`, () => __awaiter2(this, void 0, void 0, function* () { - return httpClient.sendStream("PATCH", resourceUrl, openStream(), additionalHeaders); - })); - if (!(0, requestUtils_1.isSuccessStatusCode)(uploadChunkResponse.message.statusCode)) { - throw new Error(`Cache service responded with ${uploadChunkResponse.message.statusCode} during upload chunk.`); - } - }); + function isDestroyed(stream) { + if (!isNodeStream(stream)) return null; + const wState = stream._writableState; + const rState = stream._readableState; + const state = wState || rState; + return !!(stream.destroyed || stream[kIsDestroyed] || state !== null && state !== void 0 && state.destroyed); } - function uploadFile(httpClient, cacheId, archivePath, options) { - return __awaiter2(this, void 0, void 0, function* () { - const fileSize = utils.getArchiveFileSizeInBytes(archivePath); - const resourceUrl = getCacheApiUrl(`caches/${cacheId.toString()}`); - const fd = fs8.openSync(archivePath, "r"); - const uploadOptions = (0, options_1.getUploadOptions)(options); - const concurrency = utils.assertDefined("uploadConcurrency", uploadOptions.uploadConcurrency); - const maxChunkSize = utils.assertDefined("uploadChunkSize", uploadOptions.uploadChunkSize); - const parallelUploads = [...new Array(concurrency).keys()]; - core14.debug("Awaiting all uploads"); - let offset = 0; - try { - yield Promise.all(parallelUploads.map(() => __awaiter2(this, void 0, void 0, function* () { - while (offset < fileSize) { - const chunkSize = Math.min(fileSize - offset, maxChunkSize); - const start = offset; - const end = offset + chunkSize - 1; - offset += maxChunkSize; - yield uploadChunk(httpClient, resourceUrl, () => fs8.createReadStream(archivePath, { - fd, - start, - end, - autoClose: false - }).on("error", (error3) => { - throw new Error(`Cache upload failed because file read failed with ${error3.message}`); - }), start, end); - } - }))); - } finally { - fs8.closeSync(fd); - } - return; - }); + function isWritableEnded(stream) { + if (!isWritableNodeStream(stream)) return null; + if (stream.writableEnded === true) return true; + const wState = stream._writableState; + if (wState !== null && wState !== void 0 && wState.errored) return false; + if (typeof (wState === null || wState === void 0 ? void 0 : wState.ended) !== "boolean") return null; + return wState.ended; } - function commitCache(httpClient, cacheId, filesize) { - return __awaiter2(this, void 0, void 0, function* () { - const commitCacheRequest = { size: filesize }; - return yield (0, requestUtils_1.retryTypedResponse)("commitCache", () => __awaiter2(this, void 0, void 0, function* () { - return httpClient.postJson(getCacheApiUrl(`caches/${cacheId.toString()}`), commitCacheRequest); - })); - }); + function isWritableFinished(stream, strict) { + if (!isWritableNodeStream(stream)) return null; + if (stream.writableFinished === true) return true; + const wState = stream._writableState; + if (wState !== null && wState !== void 0 && wState.errored) return false; + if (typeof (wState === null || wState === void 0 ? void 0 : wState.finished) !== "boolean") return null; + return !!(wState.finished || strict === false && wState.ended === true && wState.length === 0); } - function saveCache4(cacheId, archivePath, signedUploadURL, options) { - return __awaiter2(this, void 0, void 0, function* () { - const uploadOptions = (0, options_1.getUploadOptions)(options); - if (uploadOptions.useAzureSdk) { - if (!signedUploadURL) { - throw new Error("Azure Storage SDK can only be used when a signed URL is provided."); - } - yield (0, uploadUtils_1.uploadCacheArchiveSDK)(signedUploadURL, archivePath, options); - } else { - const httpClient = createHttpClient(); - core14.debug("Upload cache"); - yield uploadFile(httpClient, cacheId, archivePath, options); - core14.debug("Commiting cache"); - const cacheSize = utils.getArchiveFileSizeInBytes(archivePath); - core14.info(`Cache Size: ~${Math.round(cacheSize / (1024 * 1024))} MB (${cacheSize} B)`); - const commitCacheResponse = yield commitCache(httpClient, cacheId, cacheSize); - if (!(0, requestUtils_1.isSuccessStatusCode)(commitCacheResponse.statusCode)) { - throw new Error(`Cache service responded with ${commitCacheResponse.statusCode} during commit cache.`); - } - core14.info("Cache saved successfully"); - } - }); + function isReadableEnded(stream) { + if (!isReadableNodeStream(stream)) return null; + if (stream.readableEnded === true) return true; + const rState = stream._readableState; + if (!rState || rState.errored) return false; + if (typeof (rState === null || rState === void 0 ? void 0 : rState.ended) !== "boolean") return null; + return rState.ended; } - } -}); - -// node_modules/@protobuf-ts/runtime/build/commonjs/json-typings.js -var require_json_typings = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/json-typings.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.isJsonObject = exports2.typeofJsonValue = void 0; - function typeofJsonValue(value) { - let t = typeof value; - if (t == "object") { - if (Array.isArray(value)) - return "array"; - if (value === null) - return "null"; - } - return t; + function isReadableFinished(stream, strict) { + if (!isReadableNodeStream(stream)) return null; + const rState = stream._readableState; + if (rState !== null && rState !== void 0 && rState.errored) return false; + if (typeof (rState === null || rState === void 0 ? void 0 : rState.endEmitted) !== "boolean") return null; + return !!(rState.endEmitted || strict === false && rState.ended === true && rState.length === 0); } - exports2.typeofJsonValue = typeofJsonValue; - function isJsonObject(value) { - return value !== null && typeof value == "object" && !Array.isArray(value); + function isReadable(stream) { + if (stream && stream[kIsReadable] != null) return stream[kIsReadable]; + if (typeof (stream === null || stream === void 0 ? void 0 : stream.readable) !== "boolean") return null; + if (isDestroyed(stream)) return false; + return isReadableNodeStream(stream) && stream.readable && !isReadableFinished(stream); } - exports2.isJsonObject = isJsonObject; - } -}); - -// node_modules/@protobuf-ts/runtime/build/commonjs/base64.js -var require_base642 = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/base64.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.base64encode = exports2.base64decode = void 0; - var encTable = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""); - var decTable = []; - for (let i = 0; i < encTable.length; i++) - decTable[encTable[i].charCodeAt(0)] = i; - decTable["-".charCodeAt(0)] = encTable.indexOf("+"); - decTable["_".charCodeAt(0)] = encTable.indexOf("/"); - function base64decode(base64Str) { - let es = base64Str.length * 3 / 4; - if (base64Str[base64Str.length - 2] == "=") - es -= 2; - else if (base64Str[base64Str.length - 1] == "=") - es -= 1; - let bytes = new Uint8Array(es), bytePos = 0, groupPos = 0, b, p = 0; - for (let i = 0; i < base64Str.length; i++) { - b = decTable[base64Str.charCodeAt(i)]; - if (b === void 0) { - switch (base64Str[i]) { - case "=": - groupPos = 0; - // reset state when padding found - case "\n": - case "\r": - case " ": - case " ": - continue; - // skip white-space, and padding - default: - throw Error(`invalid base64 string.`); - } - } - switch (groupPos) { - case 0: - p = b; - groupPos = 1; - break; - case 1: - bytes[bytePos++] = p << 2 | (b & 48) >> 4; - p = b; - groupPos = 2; - break; - case 2: - bytes[bytePos++] = (p & 15) << 4 | (b & 60) >> 2; - p = b; - groupPos = 3; - break; - case 3: - bytes[bytePos++] = (p & 3) << 6 | b; - groupPos = 0; - break; - } + function isWritable(stream) { + if (stream && stream[kIsWritable] != null) return stream[kIsWritable]; + if (typeof (stream === null || stream === void 0 ? void 0 : stream.writable) !== "boolean") return null; + if (isDestroyed(stream)) return false; + return isWritableNodeStream(stream) && stream.writable && !isWritableEnded(stream); + } + function isFinished(stream, opts) { + if (!isNodeStream(stream)) { + return null; } - if (groupPos == 1) - throw Error(`invalid base64 string.`); - return bytes.subarray(0, bytePos); + if (isDestroyed(stream)) { + return true; + } + if ((opts === null || opts === void 0 ? void 0 : opts.readable) !== false && isReadable(stream)) { + return false; + } + if ((opts === null || opts === void 0 ? void 0 : opts.writable) !== false && isWritable(stream)) { + return false; + } + return true; } - exports2.base64decode = base64decode; - function base64encode(bytes) { - let base64 = "", groupPos = 0, b, p = 0; - for (let i = 0; i < bytes.length; i++) { - b = bytes[i]; - switch (groupPos) { - case 0: - base64 += encTable[b >> 2]; - p = (b & 3) << 4; - groupPos = 1; - break; - case 1: - base64 += encTable[p | b >> 4]; - p = (b & 15) << 2; - groupPos = 2; - break; - case 2: - base64 += encTable[p | b >> 6]; - base64 += encTable[b & 63]; - groupPos = 0; - break; - } + function isWritableErrored(stream) { + var _stream$_writableStat, _stream$_writableStat2; + if (!isNodeStream(stream)) { + return null; } - if (groupPos) { - base64 += encTable[p]; - base64 += "="; - if (groupPos == 1) - base64 += "="; + if (stream.writableErrored) { + return stream.writableErrored; } - return base64; + return (_stream$_writableStat = (_stream$_writableStat2 = stream._writableState) === null || _stream$_writableStat2 === void 0 ? void 0 : _stream$_writableStat2.errored) !== null && _stream$_writableStat !== void 0 ? _stream$_writableStat : null; } - exports2.base64encode = base64encode; - } -}); - -// node_modules/@protobuf-ts/runtime/build/commonjs/protobufjs-utf8.js -var require_protobufjs_utf8 = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/protobufjs-utf8.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.utf8read = void 0; - var fromCharCodes = (chunk) => String.fromCharCode.apply(String, chunk); - function utf8read(bytes) { - if (bytes.length < 1) - return ""; - let pos = 0, parts = [], chunk = [], i = 0, t; - let len = bytes.length; - while (pos < len) { - t = bytes[pos++]; - if (t < 128) - chunk[i++] = t; - else if (t > 191 && t < 224) - chunk[i++] = (t & 31) << 6 | bytes[pos++] & 63; - else if (t > 239 && t < 365) { - t = ((t & 7) << 18 | (bytes[pos++] & 63) << 12 | (bytes[pos++] & 63) << 6 | bytes[pos++] & 63) - 65536; - chunk[i++] = 55296 + (t >> 10); - chunk[i++] = 56320 + (t & 1023); - } else - chunk[i++] = (t & 15) << 12 | (bytes[pos++] & 63) << 6 | bytes[pos++] & 63; - if (i > 8191) { - parts.push(fromCharCodes(chunk)); - i = 0; - } + function isReadableErrored(stream) { + var _stream$_readableStat, _stream$_readableStat2; + if (!isNodeStream(stream)) { + return null; } - if (parts.length) { - if (i) - parts.push(fromCharCodes(chunk.slice(0, i))); - return parts.join(""); + if (stream.readableErrored) { + return stream.readableErrored; } - return fromCharCodes(chunk.slice(0, i)); + return (_stream$_readableStat = (_stream$_readableStat2 = stream._readableState) === null || _stream$_readableStat2 === void 0 ? void 0 : _stream$_readableStat2.errored) !== null && _stream$_readableStat !== void 0 ? _stream$_readableStat : null; } - exports2.utf8read = utf8read; + function isClosed(stream) { + if (!isNodeStream(stream)) { + return null; + } + if (typeof stream.closed === "boolean") { + return stream.closed; + } + const wState = stream._writableState; + const rState = stream._readableState; + if (typeof (wState === null || wState === void 0 ? void 0 : wState.closed) === "boolean" || typeof (rState === null || rState === void 0 ? void 0 : rState.closed) === "boolean") { + return (wState === null || wState === void 0 ? void 0 : wState.closed) || (rState === null || rState === void 0 ? void 0 : rState.closed); + } + if (typeof stream._closed === "boolean" && isOutgoingMessage(stream)) { + return stream._closed; + } + return null; + } + function isOutgoingMessage(stream) { + return typeof stream._closed === "boolean" && typeof stream._defaultKeepAlive === "boolean" && typeof stream._removedConnection === "boolean" && typeof stream._removedContLen === "boolean"; + } + function isServerResponse(stream) { + return typeof stream._sent100 === "boolean" && isOutgoingMessage(stream); + } + function isServerRequest(stream) { + var _stream$req; + return typeof stream._consuming === "boolean" && typeof stream._dumped === "boolean" && ((_stream$req = stream.req) === null || _stream$req === void 0 ? void 0 : _stream$req.upgradeOrConnect) === void 0; + } + function willEmitClose(stream) { + if (!isNodeStream(stream)) return null; + const wState = stream._writableState; + const rState = stream._readableState; + const state = wState || rState; + return !state && isServerResponse(stream) || !!(state && state.autoDestroy && state.emitClose && state.closed === false); + } + function isDisturbed(stream) { + var _stream$kIsDisturbed; + return !!(stream && ((_stream$kIsDisturbed = stream[kIsDisturbed]) !== null && _stream$kIsDisturbed !== void 0 ? _stream$kIsDisturbed : stream.readableDidRead || stream.readableAborted)); + } + function isErrored(stream) { + var _ref, _ref2, _ref3, _ref4, _ref5, _stream$kIsErrored, _stream$_readableStat3, _stream$_writableStat3, _stream$_readableStat4, _stream$_writableStat4; + return !!(stream && ((_ref = (_ref2 = (_ref3 = (_ref4 = (_ref5 = (_stream$kIsErrored = stream[kIsErrored]) !== null && _stream$kIsErrored !== void 0 ? _stream$kIsErrored : stream.readableErrored) !== null && _ref5 !== void 0 ? _ref5 : stream.writableErrored) !== null && _ref4 !== void 0 ? _ref4 : (_stream$_readableStat3 = stream._readableState) === null || _stream$_readableStat3 === void 0 ? void 0 : _stream$_readableStat3.errorEmitted) !== null && _ref3 !== void 0 ? _ref3 : (_stream$_writableStat3 = stream._writableState) === null || _stream$_writableStat3 === void 0 ? void 0 : _stream$_writableStat3.errorEmitted) !== null && _ref2 !== void 0 ? _ref2 : (_stream$_readableStat4 = stream._readableState) === null || _stream$_readableStat4 === void 0 ? void 0 : _stream$_readableStat4.errored) !== null && _ref !== void 0 ? _ref : (_stream$_writableStat4 = stream._writableState) === null || _stream$_writableStat4 === void 0 ? void 0 : _stream$_writableStat4.errored)); + } + module2.exports = { + isDestroyed, + kIsDestroyed, + isDisturbed, + kIsDisturbed, + isErrored, + kIsErrored, + isReadable, + kIsReadable, + kIsClosedPromise, + kControllerErrorFunction, + kIsWritable, + isClosed, + isDuplexNodeStream, + isFinished, + isIterable, + isReadableNodeStream, + isReadableStream, + isReadableEnded, + isReadableFinished, + isReadableErrored, + isNodeStream, + isWebStream, + isWritable, + isWritableNodeStream, + isWritableStream, + isWritableEnded, + isWritableFinished, + isWritableErrored, + isServerRequest, + isServerResponse, + willEmitClose, + isTransformStream + }; } }); -// node_modules/@protobuf-ts/runtime/build/commonjs/binary-format-contract.js -var require_binary_format_contract = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/binary-format-contract.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.WireType = exports2.mergeBinaryOptions = exports2.UnknownFieldHandler = void 0; - var UnknownFieldHandler; - (function(UnknownFieldHandler2) { - UnknownFieldHandler2.symbol = /* @__PURE__ */ Symbol.for("protobuf-ts/unknown"); - UnknownFieldHandler2.onRead = (typeName, message, fieldNo, wireType, data) => { - let container = is(message) ? message[UnknownFieldHandler2.symbol] : message[UnknownFieldHandler2.symbol] = []; - container.push({ no: fieldNo, wireType, data }); +// node_modules/readable-stream/lib/internal/streams/end-of-stream.js +var require_end_of_stream = __commonJS({ + "node_modules/readable-stream/lib/internal/streams/end-of-stream.js"(exports2, module2) { + var process2 = require_process(); + var { AbortError, codes } = require_errors5(); + var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_PREMATURE_CLOSE } = codes; + var { kEmptyObject, once } = require_util21(); + var { validateAbortSignal, validateFunction, validateObject, validateBoolean } = require_validators(); + var { Promise: Promise2, PromisePrototypeThen, SymbolDispose } = require_primordials(); + var { + isClosed, + isReadable, + isReadableNodeStream, + isReadableStream, + isReadableFinished, + isReadableErrored, + isWritable, + isWritableNodeStream, + isWritableStream, + isWritableFinished, + isWritableErrored, + isNodeStream, + willEmitClose: _willEmitClose, + kIsClosedPromise + } = require_utils8(); + var addAbortListener; + function isRequest(stream) { + return stream.setHeader && typeof stream.abort === "function"; + } + var nop = () => { + }; + function eos(stream, options, callback) { + var _options$readable, _options$writable; + if (arguments.length === 2) { + callback = options; + options = kEmptyObject; + } else if (options == null) { + options = kEmptyObject; + } else { + validateObject(options, "options"); + } + validateFunction(callback, "callback"); + validateAbortSignal(options.signal, "options.signal"); + callback = once(callback); + if (isReadableStream(stream) || isWritableStream(stream)) { + return eosWeb(stream, options, callback); + } + if (!isNodeStream(stream)) { + throw new ERR_INVALID_ARG_TYPE2("stream", ["ReadableStream", "WritableStream", "Stream"], stream); + } + const readable = (_options$readable = options.readable) !== null && _options$readable !== void 0 ? _options$readable : isReadableNodeStream(stream); + const writable = (_options$writable = options.writable) !== null && _options$writable !== void 0 ? _options$writable : isWritableNodeStream(stream); + const wState = stream._writableState; + const rState = stream._readableState; + const onlegacyfinish = () => { + if (!stream.writable) { + onfinish(); + } }; - UnknownFieldHandler2.onWrite = (typeName, message, writer) => { - for (let { no, wireType, data } of UnknownFieldHandler2.list(message)) - writer.tag(no, wireType).raw(data); + let willEmitClose = _willEmitClose(stream) && isReadableNodeStream(stream) === readable && isWritableNodeStream(stream) === writable; + let writableFinished = isWritableFinished(stream, false); + const onfinish = () => { + writableFinished = true; + if (stream.destroyed) { + willEmitClose = false; + } + if (willEmitClose && (!stream.readable || readable)) { + return; + } + if (!readable || readableFinished) { + callback.call(stream); + } }; - UnknownFieldHandler2.list = (message, fieldNo) => { - if (is(message)) { - let all = message[UnknownFieldHandler2.symbol]; - return fieldNo ? all.filter((uf) => uf.no == fieldNo) : all; + let readableFinished = isReadableFinished(stream, false); + const onend = () => { + readableFinished = true; + if (stream.destroyed) { + willEmitClose = false; + } + if (willEmitClose && (!stream.writable || writable)) { + return; + } + if (!writable || writableFinished) { + callback.call(stream); } - return []; }; - UnknownFieldHandler2.last = (message, fieldNo) => UnknownFieldHandler2.list(message, fieldNo).slice(-1)[0]; - const is = (message) => message && Array.isArray(message[UnknownFieldHandler2.symbol]); - })(UnknownFieldHandler = exports2.UnknownFieldHandler || (exports2.UnknownFieldHandler = {})); - function mergeBinaryOptions(a, b) { - return Object.assign(Object.assign({}, a), b); + const onerror = (err) => { + callback.call(stream, err); + }; + let closed = isClosed(stream); + const onclose = () => { + closed = true; + const errored = isWritableErrored(stream) || isReadableErrored(stream); + if (errored && typeof errored !== "boolean") { + return callback.call(stream, errored); + } + if (readable && !readableFinished && isReadableNodeStream(stream, true)) { + if (!isReadableFinished(stream, false)) return callback.call(stream, new ERR_STREAM_PREMATURE_CLOSE()); + } + if (writable && !writableFinished) { + if (!isWritableFinished(stream, false)) return callback.call(stream, new ERR_STREAM_PREMATURE_CLOSE()); + } + callback.call(stream); + }; + const onclosed = () => { + closed = true; + const errored = isWritableErrored(stream) || isReadableErrored(stream); + if (errored && typeof errored !== "boolean") { + return callback.call(stream, errored); + } + callback.call(stream); + }; + const onrequest = () => { + stream.req.on("finish", onfinish); + }; + if (isRequest(stream)) { + stream.on("complete", onfinish); + if (!willEmitClose) { + stream.on("abort", onclose); + } + if (stream.req) { + onrequest(); + } else { + stream.on("request", onrequest); + } + } else if (writable && !wState) { + stream.on("end", onlegacyfinish); + stream.on("close", onlegacyfinish); + } + if (!willEmitClose && typeof stream.aborted === "boolean") { + stream.on("aborted", onclose); + } + stream.on("end", onend); + stream.on("finish", onfinish); + if (options.error !== false) { + stream.on("error", onerror); + } + stream.on("close", onclose); + if (closed) { + process2.nextTick(onclose); + } else if (wState !== null && wState !== void 0 && wState.errorEmitted || rState !== null && rState !== void 0 && rState.errorEmitted) { + if (!willEmitClose) { + process2.nextTick(onclosed); + } + } else if (!readable && (!willEmitClose || isReadable(stream)) && (writableFinished || isWritable(stream) === false)) { + process2.nextTick(onclosed); + } else if (!writable && (!willEmitClose || isWritable(stream)) && (readableFinished || isReadable(stream) === false)) { + process2.nextTick(onclosed); + } else if (rState && stream.req && stream.aborted) { + process2.nextTick(onclosed); + } + const cleanup = () => { + callback = nop; + stream.removeListener("aborted", onclose); + stream.removeListener("complete", onfinish); + stream.removeListener("abort", onclose); + stream.removeListener("request", onrequest); + if (stream.req) stream.req.removeListener("finish", onfinish); + stream.removeListener("end", onlegacyfinish); + stream.removeListener("close", onlegacyfinish); + stream.removeListener("finish", onfinish); + stream.removeListener("end", onend); + stream.removeListener("error", onerror); + stream.removeListener("close", onclose); + }; + if (options.signal && !closed) { + const abort = () => { + const endCallback = callback; + cleanup(); + endCallback.call( + stream, + new AbortError(void 0, { + cause: options.signal.reason + }) + ); + }; + if (options.signal.aborted) { + process2.nextTick(abort); + } else { + addAbortListener = addAbortListener || require_util21().addAbortListener; + const disposable = addAbortListener(options.signal, abort); + const originalCallback = callback; + callback = once((...args) => { + disposable[SymbolDispose](); + originalCallback.apply(stream, args); + }); + } + } + return cleanup; } - exports2.mergeBinaryOptions = mergeBinaryOptions; - var WireType; - (function(WireType2) { - WireType2[WireType2["Varint"] = 0] = "Varint"; - WireType2[WireType2["Bit64"] = 1] = "Bit64"; - WireType2[WireType2["LengthDelimited"] = 2] = "LengthDelimited"; - WireType2[WireType2["StartGroup"] = 3] = "StartGroup"; - WireType2[WireType2["EndGroup"] = 4] = "EndGroup"; - WireType2[WireType2["Bit32"] = 5] = "Bit32"; - })(WireType = exports2.WireType || (exports2.WireType = {})); + function eosWeb(stream, options, callback) { + let isAborted = false; + let abort = nop; + if (options.signal) { + abort = () => { + isAborted = true; + callback.call( + stream, + new AbortError(void 0, { + cause: options.signal.reason + }) + ); + }; + if (options.signal.aborted) { + process2.nextTick(abort); + } else { + addAbortListener = addAbortListener || require_util21().addAbortListener; + const disposable = addAbortListener(options.signal, abort); + const originalCallback = callback; + callback = once((...args) => { + disposable[SymbolDispose](); + originalCallback.apply(stream, args); + }); + } + } + const resolverFn = (...args) => { + if (!isAborted) { + process2.nextTick(() => callback.apply(stream, args)); + } + }; + PromisePrototypeThen(stream[kIsClosedPromise].promise, resolverFn, resolverFn); + return nop; + } + function finished(stream, opts) { + var _opts; + let autoCleanup = false; + if (opts === null) { + opts = kEmptyObject; + } + if ((_opts = opts) !== null && _opts !== void 0 && _opts.cleanup) { + validateBoolean(opts.cleanup, "cleanup"); + autoCleanup = opts.cleanup; + } + return new Promise2((resolve5, reject) => { + const cleanup = eos(stream, opts, (err) => { + if (autoCleanup) { + cleanup(); + } + if (err) { + reject(err); + } else { + resolve5(); + } + }); + }); + } + module2.exports = eos; + module2.exports.finished = finished; } }); -// node_modules/@protobuf-ts/runtime/build/commonjs/goog-varint.js -var require_goog_varint = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/goog-varint.js"(exports2) { +// node_modules/readable-stream/lib/internal/streams/destroy.js +var require_destroy2 = __commonJS({ + "node_modules/readable-stream/lib/internal/streams/destroy.js"(exports2, module2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.varint32read = exports2.varint32write = exports2.int64toString = exports2.int64fromString = exports2.varint64write = exports2.varint64read = void 0; - function varint64read() { - let lowBits = 0; - let highBits = 0; - for (let shift = 0; shift < 28; shift += 7) { - let b = this.buf[this.pos++]; - lowBits |= (b & 127) << shift; - if ((b & 128) == 0) { - this.assertBounds(); - return [lowBits, highBits]; + var process2 = require_process(); + var { + aggregateTwoErrors, + codes: { ERR_MULTIPLE_CALLBACK }, + AbortError + } = require_errors5(); + var { Symbol: Symbol2 } = require_primordials(); + var { kIsDestroyed, isDestroyed, isFinished, isServerRequest } = require_utils8(); + var kDestroy = Symbol2("kDestroy"); + var kConstruct = Symbol2("kConstruct"); + function checkError(err, w, r) { + if (err) { + err.stack; + if (w && !w.errored) { + w.errored = err; } - } - let middleByte = this.buf[this.pos++]; - lowBits |= (middleByte & 15) << 28; - highBits = (middleByte & 112) >> 4; - if ((middleByte & 128) == 0) { - this.assertBounds(); - return [lowBits, highBits]; - } - for (let shift = 3; shift <= 31; shift += 7) { - let b = this.buf[this.pos++]; - highBits |= (b & 127) << shift; - if ((b & 128) == 0) { - this.assertBounds(); - return [lowBits, highBits]; + if (r && !r.errored) { + r.errored = err; } } - throw new Error("invalid varint"); } - exports2.varint64read = varint64read; - function varint64write(lo, hi, bytes) { - for (let i = 0; i < 28; i = i + 7) { - const shift = lo >>> i; - const hasNext = !(shift >>> 7 == 0 && hi == 0); - const byte = (hasNext ? shift | 128 : shift) & 255; - bytes.push(byte); - if (!hasNext) { - return; + function destroy(err, cb) { + const r = this._readableState; + const w = this._writableState; + const s = w || r; + if (w !== null && w !== void 0 && w.destroyed || r !== null && r !== void 0 && r.destroyed) { + if (typeof cb === "function") { + cb(); } + return this; } - const splitBits = lo >>> 28 & 15 | (hi & 7) << 4; - const hasMoreBits = !(hi >> 3 == 0); - bytes.push((hasMoreBits ? splitBits | 128 : splitBits) & 255); - if (!hasMoreBits) { - return; + checkError(err, w, r); + if (w) { + w.destroyed = true; } - for (let i = 3; i < 31; i = i + 7) { - const shift = hi >>> i; - const hasNext = !(shift >>> 7 == 0); - const byte = (hasNext ? shift | 128 : shift) & 255; - bytes.push(byte); - if (!hasNext) { - return; - } + if (r) { + r.destroyed = true; } - bytes.push(hi >>> 31 & 1); + if (!s.constructed) { + this.once(kDestroy, function(er) { + _destroy(this, aggregateTwoErrors(er, err), cb); + }); + } else { + _destroy(this, err, cb); + } + return this; } - exports2.varint64write = varint64write; - var TWO_PWR_32_DBL = (1 << 16) * (1 << 16); - function int64fromString(dec) { - let minus = dec[0] == "-"; - if (minus) - dec = dec.slice(1); - const base = 1e6; - let lowBits = 0; - let highBits = 0; - function add1e6digit(begin, end) { - const digit1e6 = Number(dec.slice(begin, end)); - highBits *= base; - lowBits = lowBits * base + digit1e6; - if (lowBits >= TWO_PWR_32_DBL) { - highBits = highBits + (lowBits / TWO_PWR_32_DBL | 0); - lowBits = lowBits % TWO_PWR_32_DBL; + function _destroy(self2, err, cb) { + let called = false; + function onDestroy(err2) { + if (called) { + return; + } + called = true; + const r = self2._readableState; + const w = self2._writableState; + checkError(err2, w, r); + if (w) { + w.closed = true; + } + if (r) { + r.closed = true; + } + if (typeof cb === "function") { + cb(err2); + } + if (err2) { + process2.nextTick(emitErrorCloseNT, self2, err2); + } else { + process2.nextTick(emitCloseNT, self2); } } - add1e6digit(-24, -18); - add1e6digit(-18, -12); - add1e6digit(-12, -6); - add1e6digit(-6); - return [minus, lowBits, highBits]; - } - exports2.int64fromString = int64fromString; - function int64toString(bitsLow, bitsHigh) { - if (bitsHigh >>> 0 <= 2097151) { - return "" + (TWO_PWR_32_DBL * bitsHigh + (bitsLow >>> 0)); + try { + self2._destroy(err || null, onDestroy); + } catch (err2) { + onDestroy(err2); } - let low = bitsLow & 16777215; - let mid = (bitsLow >>> 24 | bitsHigh << 8) >>> 0 & 16777215; - let high = bitsHigh >> 16 & 65535; - let digitA = low + mid * 6777216 + high * 6710656; - let digitB = mid + high * 8147497; - let digitC = high * 2; - let base = 1e7; - if (digitA >= base) { - digitB += Math.floor(digitA / base); - digitA %= base; + } + function emitErrorCloseNT(self2, err) { + emitErrorNT(self2, err); + emitCloseNT(self2); + } + function emitCloseNT(self2) { + const r = self2._readableState; + const w = self2._writableState; + if (w) { + w.closeEmitted = true; } - if (digitB >= base) { - digitC += Math.floor(digitB / base); - digitB %= base; + if (r) { + r.closeEmitted = true; } - function decimalFrom1e7(digit1e7, needLeadingZeros) { - let partial = digit1e7 ? String(digit1e7) : ""; - if (needLeadingZeros) { - return "0000000".slice(partial.length) + partial; - } - return partial; + if (w !== null && w !== void 0 && w.emitClose || r !== null && r !== void 0 && r.emitClose) { + self2.emit("close"); } - return decimalFrom1e7( - digitC, - /*needLeadingZeros=*/ - 0 - ) + decimalFrom1e7( - digitB, - /*needLeadingZeros=*/ - digitC - ) + // If the final 1e7 digit didn't need leading zeros, we would have - // returned via the trivial code path at the top. - decimalFrom1e7( - digitA, - /*needLeadingZeros=*/ - 1 - ); } - exports2.int64toString = int64toString; - function varint32write(value, bytes) { - if (value >= 0) { - while (value > 127) { - bytes.push(value & 127 | 128); - value = value >>> 7; - } - bytes.push(value); - } else { - for (let i = 0; i < 9; i++) { - bytes.push(value & 127 | 128); - value = value >> 7; - } - bytes.push(1); + function emitErrorNT(self2, err) { + const r = self2._readableState; + const w = self2._writableState; + if (w !== null && w !== void 0 && w.errorEmitted || r !== null && r !== void 0 && r.errorEmitted) { + return; } - } - exports2.varint32write = varint32write; - function varint32read() { - let b = this.buf[this.pos++]; - let result = b & 127; - if ((b & 128) == 0) { - this.assertBounds(); - return result; + if (w) { + w.errorEmitted = true; } - b = this.buf[this.pos++]; - result |= (b & 127) << 7; - if ((b & 128) == 0) { - this.assertBounds(); - return result; + if (r) { + r.errorEmitted = true; } - b = this.buf[this.pos++]; - result |= (b & 127) << 14; - if ((b & 128) == 0) { - this.assertBounds(); - return result; + self2.emit("error", err); + } + function undestroy() { + const r = this._readableState; + const w = this._writableState; + if (r) { + r.constructed = true; + r.closed = false; + r.closeEmitted = false; + r.destroyed = false; + r.errored = null; + r.errorEmitted = false; + r.reading = false; + r.ended = r.readable === false; + r.endEmitted = r.readable === false; } - b = this.buf[this.pos++]; - result |= (b & 127) << 21; - if ((b & 128) == 0) { - this.assertBounds(); - return result; + if (w) { + w.constructed = true; + w.destroyed = false; + w.closed = false; + w.closeEmitted = false; + w.errored = null; + w.errorEmitted = false; + w.finalCalled = false; + w.prefinished = false; + w.ended = w.writable === false; + w.ending = w.writable === false; + w.finished = w.writable === false; } - b = this.buf[this.pos++]; - result |= (b & 15) << 28; - for (let readBytes = 5; (b & 128) !== 0 && readBytes < 10; readBytes++) - b = this.buf[this.pos++]; - if ((b & 128) != 0) - throw new Error("invalid varint"); - this.assertBounds(); - return result >>> 0; - } - exports2.varint32read = varint32read; - } -}); - -// node_modules/@protobuf-ts/runtime/build/commonjs/pb-long.js -var require_pb_long = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/pb-long.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.PbLong = exports2.PbULong = exports2.detectBi = void 0; - var goog_varint_1 = require_goog_varint(); - var BI; - function detectBi() { - const dv = new DataView(new ArrayBuffer(8)); - const ok = globalThis.BigInt !== void 0 && typeof dv.getBigInt64 === "function" && typeof dv.getBigUint64 === "function" && typeof dv.setBigInt64 === "function" && typeof dv.setBigUint64 === "function"; - BI = ok ? { - MIN: BigInt("-9223372036854775808"), - MAX: BigInt("9223372036854775807"), - UMIN: BigInt("0"), - UMAX: BigInt("18446744073709551615"), - C: BigInt, - V: dv - } : void 0; - } - exports2.detectBi = detectBi; - detectBi(); - function assertBi(bi) { - if (!bi) - throw new Error("BigInt unavailable, see https://github.com/timostamm/protobuf-ts/blob/v1.0.8/MANUAL.md#bigint-support"); } - var RE_DECIMAL_STR = /^-?[0-9]+$/; - var TWO_PWR_32_DBL = 4294967296; - var HALF_2_PWR_32 = 2147483648; - var SharedPbLong = class { - /** - * Create a new instance with the given bits. - */ - constructor(lo, hi) { - this.lo = lo | 0; - this.hi = hi | 0; + function errorOrDestroy(stream, err, sync) { + const r = stream._readableState; + const w = stream._writableState; + if (w !== null && w !== void 0 && w.destroyed || r !== null && r !== void 0 && r.destroyed) { + return this; } - /** - * Is this instance equal to 0? - */ - isZero() { - return this.lo == 0 && this.hi == 0; + if (r !== null && r !== void 0 && r.autoDestroy || w !== null && w !== void 0 && w.autoDestroy) + stream.destroy(err); + else if (err) { + err.stack; + if (w && !w.errored) { + w.errored = err; + } + if (r && !r.errored) { + r.errored = err; + } + if (sync) { + process2.nextTick(emitErrorNT, stream, err); + } else { + emitErrorNT(stream, err); + } } - /** - * Convert to a native number. - */ - toNumber() { - let result = this.hi * TWO_PWR_32_DBL + (this.lo >>> 0); - if (!Number.isSafeInteger(result)) - throw new Error("cannot convert to safe number"); - return result; + } + function construct(stream, cb) { + if (typeof stream._construct !== "function") { + return; } - }; - var PbULong = class _PbULong extends SharedPbLong { - /** - * Create instance from a `string`, `number` or `bigint`. - */ - static from(value) { - if (BI) - switch (typeof value) { - case "string": - if (value == "0") - return this.ZERO; - if (value == "") - throw new Error("string is no integer"); - value = BI.C(value); - case "number": - if (value === 0) - return this.ZERO; - value = BI.C(value); - case "bigint": - if (!value) - return this.ZERO; - if (value < BI.UMIN) - throw new Error("signed value for ulong"); - if (value > BI.UMAX) - throw new Error("ulong too large"); - BI.V.setBigUint64(0, value, true); - return new _PbULong(BI.V.getInt32(0, true), BI.V.getInt32(4, true)); - } - else - switch (typeof value) { - case "string": - if (value == "0") - return this.ZERO; - value = value.trim(); - if (!RE_DECIMAL_STR.test(value)) - throw new Error("string is no integer"); - let [minus, lo, hi] = goog_varint_1.int64fromString(value); - if (minus) - throw new Error("signed value for ulong"); - return new _PbULong(lo, hi); - case "number": - if (value == 0) - return this.ZERO; - if (!Number.isSafeInteger(value)) - throw new Error("number is no integer"); - if (value < 0) - throw new Error("signed value for ulong"); - return new _PbULong(value, value / TWO_PWR_32_DBL); - } - throw new Error("unknown value " + typeof value); + const r = stream._readableState; + const w = stream._writableState; + if (r) { + r.constructed = false; } - /** - * Convert to decimal string. - */ - toString() { - return BI ? this.toBigInt().toString() : goog_varint_1.int64toString(this.lo, this.hi); + if (w) { + w.constructed = false; } - /** - * Convert to native bigint. - */ - toBigInt() { - assertBi(BI); - BI.V.setInt32(0, this.lo, true); - BI.V.setInt32(4, this.hi, true); - return BI.V.getBigUint64(0, true); + stream.once(kConstruct, cb); + if (stream.listenerCount(kConstruct) > 1) { + return; } - }; - exports2.PbULong = PbULong; - PbULong.ZERO = new PbULong(0, 0); - var PbLong = class _PbLong extends SharedPbLong { - /** - * Create instance from a `string`, `number` or `bigint`. - */ - static from(value) { - if (BI) - switch (typeof value) { - case "string": - if (value == "0") - return this.ZERO; - if (value == "") - throw new Error("string is no integer"); - value = BI.C(value); - case "number": - if (value === 0) - return this.ZERO; - value = BI.C(value); - case "bigint": - if (!value) - return this.ZERO; - if (value < BI.MIN) - throw new Error("signed long too small"); - if (value > BI.MAX) - throw new Error("signed long too large"); - BI.V.setBigInt64(0, value, true); - return new _PbLong(BI.V.getInt32(0, true), BI.V.getInt32(4, true)); - } - else - switch (typeof value) { - case "string": - if (value == "0") - return this.ZERO; - value = value.trim(); - if (!RE_DECIMAL_STR.test(value)) - throw new Error("string is no integer"); - let [minus, lo, hi] = goog_varint_1.int64fromString(value); - if (minus) { - if (hi > HALF_2_PWR_32 || hi == HALF_2_PWR_32 && lo != 0) - throw new Error("signed long too small"); - } else if (hi >= HALF_2_PWR_32) - throw new Error("signed long too large"); - let pbl = new _PbLong(lo, hi); - return minus ? pbl.negate() : pbl; - case "number": - if (value == 0) - return this.ZERO; - if (!Number.isSafeInteger(value)) - throw new Error("number is no integer"); - return value > 0 ? new _PbLong(value, value / TWO_PWR_32_DBL) : new _PbLong(-value, -value / TWO_PWR_32_DBL).negate(); - } - throw new Error("unknown value " + typeof value); + process2.nextTick(constructNT, stream); + } + function constructNT(stream) { + let called = false; + function onConstruct(err) { + if (called) { + errorOrDestroy(stream, err !== null && err !== void 0 ? err : new ERR_MULTIPLE_CALLBACK()); + return; + } + called = true; + const r = stream._readableState; + const w = stream._writableState; + const s = w || r; + if (r) { + r.constructed = true; + } + if (w) { + w.constructed = true; + } + if (s.destroyed) { + stream.emit(kDestroy, err); + } else if (err) { + errorOrDestroy(stream, err, true); + } else { + process2.nextTick(emitConstructNT, stream); + } } - /** - * Do we have a minus sign? - */ - isNegative() { - return (this.hi & HALF_2_PWR_32) !== 0; + try { + stream._construct((err) => { + process2.nextTick(onConstruct, err); + }); + } catch (err) { + process2.nextTick(onConstruct, err); } - /** - * Negate two's complement. - * Invert all the bits and add one to the result. - */ - negate() { - let hi = ~this.hi, lo = this.lo; - if (lo) - lo = ~lo + 1; - else - hi += 1; - return new _PbLong(lo, hi); + } + function emitConstructNT(stream) { + stream.emit(kConstruct); + } + function isRequest(stream) { + return (stream === null || stream === void 0 ? void 0 : stream.setHeader) && typeof stream.abort === "function"; + } + function emitCloseLegacy(stream) { + stream.emit("close"); + } + function emitErrorCloseLegacy(stream, err) { + stream.emit("error", err); + process2.nextTick(emitCloseLegacy, stream); + } + function destroyer(stream, err) { + if (!stream || isDestroyed(stream)) { + return; } - /** - * Convert to decimal string. - */ - toString() { - if (BI) - return this.toBigInt().toString(); - if (this.isNegative()) { - let n = this.negate(); - return "-" + goog_varint_1.int64toString(n.lo, n.hi); - } - return goog_varint_1.int64toString(this.lo, this.hi); + if (!err && !isFinished(stream)) { + err = new AbortError(); } - /** - * Convert to native bigint. - */ - toBigInt() { - assertBi(BI); - BI.V.setInt32(0, this.lo, true); - BI.V.setInt32(4, this.hi, true); - return BI.V.getBigInt64(0, true); + if (isServerRequest(stream)) { + stream.socket = null; + stream.destroy(err); + } else if (isRequest(stream)) { + stream.abort(); + } else if (isRequest(stream.req)) { + stream.req.abort(); + } else if (typeof stream.destroy === "function") { + stream.destroy(err); + } else if (typeof stream.close === "function") { + stream.close(); + } else if (err) { + process2.nextTick(emitErrorCloseLegacy, stream, err); + } else { + process2.nextTick(emitCloseLegacy, stream); + } + if (!stream.destroyed) { + stream[kIsDestroyed] = true; } + } + module2.exports = { + construct, + destroyer, + destroy, + undestroy, + errorOrDestroy }; - exports2.PbLong = PbLong; - PbLong.ZERO = new PbLong(0, 0); } }); -// node_modules/@protobuf-ts/runtime/build/commonjs/binary-reader.js -var require_binary_reader = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/binary-reader.js"(exports2) { +// node_modules/readable-stream/lib/internal/streams/legacy.js +var require_legacy = __commonJS({ + "node_modules/readable-stream/lib/internal/streams/legacy.js"(exports2, module2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.BinaryReader = exports2.binaryReadOptions = void 0; - var binary_format_contract_1 = require_binary_format_contract(); - var pb_long_1 = require_pb_long(); - var goog_varint_1 = require_goog_varint(); - var defaultsRead = { - readUnknownField: true, - readerFactory: (bytes) => new BinaryReader(bytes) - }; - function binaryReadOptions(options) { - return options ? Object.assign(Object.assign({}, defaultsRead), options) : defaultsRead; + var { ArrayIsArray, ObjectSetPrototypeOf } = require_primordials(); + var { EventEmitter: EE } = require("events"); + function Stream(opts) { + EE.call(this, opts); } - exports2.binaryReadOptions = binaryReadOptions; - var BinaryReader = class { - constructor(buf, textDecoder) { - this.varint64 = goog_varint_1.varint64read; - this.uint32 = goog_varint_1.varint32read; - this.buf = buf; - this.len = buf.length; - this.pos = 0; - this.view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength); - this.textDecoder = textDecoder !== null && textDecoder !== void 0 ? textDecoder : new TextDecoder("utf-8", { - fatal: true, - ignoreBOM: true - }); - } - /** - * Reads a tag - field number and wire type. - */ - tag() { - let tag = this.uint32(), fieldNo = tag >>> 3, wireType = tag & 7; - if (fieldNo <= 0 || wireType < 0 || wireType > 5) - throw new Error("illegal tag: field no " + fieldNo + " wire type " + wireType); - return [fieldNo, wireType]; - } - /** - * Skip one element on the wire and return the skipped data. - * Supports WireType.StartGroup since v2.0.0-alpha.23. - */ - skip(wireType) { - let start = this.pos; - switch (wireType) { - case binary_format_contract_1.WireType.Varint: - while (this.buf[this.pos++] & 128) { - } - break; - case binary_format_contract_1.WireType.Bit64: - this.pos += 4; - case binary_format_contract_1.WireType.Bit32: - this.pos += 4; - break; - case binary_format_contract_1.WireType.LengthDelimited: - let len = this.uint32(); - this.pos += len; - break; - case binary_format_contract_1.WireType.StartGroup: - let t; - while ((t = this.tag()[1]) !== binary_format_contract_1.WireType.EndGroup) { - this.skip(t); - } - break; - default: - throw new Error("cant skip wire type " + wireType); + ObjectSetPrototypeOf(Stream.prototype, EE.prototype); + ObjectSetPrototypeOf(Stream, EE); + Stream.prototype.pipe = function(dest, options) { + const source = this; + function ondata(chunk) { + if (dest.writable && dest.write(chunk) === false && source.pause) { + source.pause(); } - this.assertBounds(); - return this.buf.subarray(start, this.pos); - } - /** - * Throws error if position in byte array is out of range. - */ - assertBounds() { - if (this.pos > this.len) - throw new RangeError("premature EOF"); - } - /** - * Read a `int32` field, a signed 32 bit varint. - */ - int32() { - return this.uint32() | 0; - } - /** - * Read a `sint32` field, a signed, zigzag-encoded 32-bit varint. - */ - sint32() { - let zze = this.uint32(); - return zze >>> 1 ^ -(zze & 1); - } - /** - * Read a `int64` field, a signed 64-bit varint. - */ - int64() { - return new pb_long_1.PbLong(...this.varint64()); - } - /** - * Read a `uint64` field, an unsigned 64-bit varint. - */ - uint64() { - return new pb_long_1.PbULong(...this.varint64()); - } - /** - * Read a `sint64` field, a signed, zig-zag-encoded 64-bit varint. - */ - sint64() { - let [lo, hi] = this.varint64(); - let s = -(lo & 1); - lo = (lo >>> 1 | (hi & 1) << 31) ^ s; - hi = hi >>> 1 ^ s; - return new pb_long_1.PbLong(lo, hi); - } - /** - * Read a `bool` field, a variant. - */ - bool() { - let [lo, hi] = this.varint64(); - return lo !== 0 || hi !== 0; - } - /** - * Read a `fixed32` field, an unsigned, fixed-length 32-bit integer. - */ - fixed32() { - return this.view.getUint32((this.pos += 4) - 4, true); - } - /** - * Read a `sfixed32` field, a signed, fixed-length 32-bit integer. - */ - sfixed32() { - return this.view.getInt32((this.pos += 4) - 4, true); } - /** - * Read a `fixed64` field, an unsigned, fixed-length 64 bit integer. - */ - fixed64() { - return new pb_long_1.PbULong(this.sfixed32(), this.sfixed32()); + source.on("data", ondata); + function ondrain() { + if (source.readable && source.resume) { + source.resume(); + } } - /** - * Read a `fixed64` field, a signed, fixed-length 64-bit integer. - */ - sfixed64() { - return new pb_long_1.PbLong(this.sfixed32(), this.sfixed32()); + dest.on("drain", ondrain); + if (!dest._isStdio && (!options || options.end !== false)) { + source.on("end", onend); + source.on("close", onclose); } - /** - * Read a `float` field, 32-bit floating point number. - */ - float() { - return this.view.getFloat32((this.pos += 4) - 4, true); + let didOnEnd = false; + function onend() { + if (didOnEnd) return; + didOnEnd = true; + dest.end(); } - /** - * Read a `double` field, a 64-bit floating point number. - */ - double() { - return this.view.getFloat64((this.pos += 8) - 8, true); + function onclose() { + if (didOnEnd) return; + didOnEnd = true; + if (typeof dest.destroy === "function") dest.destroy(); } - /** - * Read a `bytes` field, length-delimited arbitrary data. - */ - bytes() { - let len = this.uint32(); - let start = this.pos; - this.pos += len; - this.assertBounds(); - return this.buf.subarray(start, start + len); + function onerror(er) { + cleanup(); + if (EE.listenerCount(this, "error") === 0) { + this.emit("error", er); + } } - /** - * Read a `string` field, length-delimited data converted to UTF-8 text. - */ - string() { - return this.textDecoder.decode(this.bytes()); + prependListener(source, "error", onerror); + prependListener(dest, "error", onerror); + function cleanup() { + source.removeListener("data", ondata); + dest.removeListener("drain", ondrain); + source.removeListener("end", onend); + source.removeListener("close", onclose); + source.removeListener("error", onerror); + dest.removeListener("error", onerror); + source.removeListener("end", cleanup); + source.removeListener("close", cleanup); + dest.removeListener("close", cleanup); } + source.on("end", cleanup); + source.on("close", cleanup); + dest.on("close", cleanup); + dest.emit("pipe", source); + return dest; }; - exports2.BinaryReader = BinaryReader; - } -}); - -// node_modules/@protobuf-ts/runtime/build/commonjs/assert.js -var require_assert = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/assert.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.assertFloat32 = exports2.assertUInt32 = exports2.assertInt32 = exports2.assertNever = exports2.assert = void 0; - function assert(condition, msg) { - if (!condition) { - throw new Error(msg); - } - } - exports2.assert = assert; - function assertNever2(value, msg) { - throw new Error(msg !== null && msg !== void 0 ? msg : "Unexpected object: " + value); - } - exports2.assertNever = assertNever2; - var FLOAT32_MAX = 34028234663852886e22; - var FLOAT32_MIN = -34028234663852886e22; - var UINT32_MAX = 4294967295; - var INT32_MAX = 2147483647; - var INT32_MIN = -2147483648; - function assertInt32(arg) { - if (typeof arg !== "number") - throw new Error("invalid int 32: " + typeof arg); - if (!Number.isInteger(arg) || arg > INT32_MAX || arg < INT32_MIN) - throw new Error("invalid int 32: " + arg); - } - exports2.assertInt32 = assertInt32; - function assertUInt32(arg) { - if (typeof arg !== "number") - throw new Error("invalid uint 32: " + typeof arg); - if (!Number.isInteger(arg) || arg > UINT32_MAX || arg < 0) - throw new Error("invalid uint 32: " + arg); - } - exports2.assertUInt32 = assertUInt32; - function assertFloat32(arg) { - if (typeof arg !== "number") - throw new Error("invalid float 32: " + typeof arg); - if (!Number.isFinite(arg)) - return; - if (arg > FLOAT32_MAX || arg < FLOAT32_MIN) - throw new Error("invalid float 32: " + arg); + function prependListener(emitter, event, fn) { + if (typeof emitter.prependListener === "function") return emitter.prependListener(event, fn); + if (!emitter._events || !emitter._events[event]) emitter.on(event, fn); + else if (ArrayIsArray(emitter._events[event])) emitter._events[event].unshift(fn); + else emitter._events[event] = [fn, emitter._events[event]]; } - exports2.assertFloat32 = assertFloat32; + module2.exports = { + Stream, + prependListener + }; } }); -// node_modules/@protobuf-ts/runtime/build/commonjs/binary-writer.js -var require_binary_writer = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/binary-writer.js"(exports2) { +// node_modules/readable-stream/lib/internal/streams/add-abort-signal.js +var require_add_abort_signal = __commonJS({ + "node_modules/readable-stream/lib/internal/streams/add-abort-signal.js"(exports2, module2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.BinaryWriter = exports2.binaryWriteOptions = void 0; - var pb_long_1 = require_pb_long(); - var goog_varint_1 = require_goog_varint(); - var assert_1 = require_assert(); - var defaultsWrite = { - writeUnknownFields: true, - writerFactory: () => new BinaryWriter() - }; - function binaryWriteOptions(options) { - return options ? Object.assign(Object.assign({}, defaultsWrite), options) : defaultsWrite; - } - exports2.binaryWriteOptions = binaryWriteOptions; - var BinaryWriter = class { - constructor(textEncoder) { - this.stack = []; - this.textEncoder = textEncoder !== null && textEncoder !== void 0 ? textEncoder : new TextEncoder(); - this.chunks = []; - this.buf = []; - } - /** - * Return all bytes written and reset this writer. - */ - finish() { - this.chunks.push(new Uint8Array(this.buf)); - let len = 0; - for (let i = 0; i < this.chunks.length; i++) - len += this.chunks[i].length; - let bytes = new Uint8Array(len); - let offset = 0; - for (let i = 0; i < this.chunks.length; i++) { - bytes.set(this.chunks[i], offset); - offset += this.chunks[i].length; - } - this.chunks = []; - return bytes; - } - /** - * Start a new fork for length-delimited data like a message - * or a packed repeated field. - * - * Must be joined later with `join()`. - */ - fork() { - this.stack.push({ chunks: this.chunks, buf: this.buf }); - this.chunks = []; - this.buf = []; - return this; - } - /** - * Join the last fork. Write its length and bytes, then - * return to the previous state. - */ - join() { - let chunk = this.finish(); - let prev = this.stack.pop(); - if (!prev) - throw new Error("invalid state, fork stack empty"); - this.chunks = prev.chunks; - this.buf = prev.buf; - this.uint32(chunk.byteLength); - return this.raw(chunk); - } - /** - * Writes a tag (field number and wire type). - * - * Equivalent to `uint32( (fieldNo << 3 | type) >>> 0 )`. - * - * Generated code should compute the tag ahead of time and call `uint32()`. - */ - tag(fieldNo, type2) { - return this.uint32((fieldNo << 3 | type2) >>> 0); + var { SymbolDispose } = require_primordials(); + var { AbortError, codes } = require_errors5(); + var { isNodeStream, isWebStream, kControllerErrorFunction } = require_utils8(); + var eos = require_end_of_stream(); + var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2 } = codes; + var addAbortListener; + var validateAbortSignal = (signal, name) => { + if (typeof signal !== "object" || !("aborted" in signal)) { + throw new ERR_INVALID_ARG_TYPE2(name, "AbortSignal", signal); } - /** - * Write a chunk of raw bytes. - */ - raw(chunk) { - if (this.buf.length) { - this.chunks.push(new Uint8Array(this.buf)); - this.buf = []; - } - this.chunks.push(chunk); - return this; + }; + module2.exports.addAbortSignal = function addAbortSignal(signal, stream) { + validateAbortSignal(signal, "signal"); + if (!isNodeStream(stream) && !isWebStream(stream)) { + throw new ERR_INVALID_ARG_TYPE2("stream", ["ReadableStream", "WritableStream", "Stream"], stream); } - /** - * Write a `uint32` value, an unsigned 32 bit varint. - */ - uint32(value) { - assert_1.assertUInt32(value); - while (value > 127) { - this.buf.push(value & 127 | 128); - value = value >>> 7; - } - this.buf.push(value); - return this; + return module2.exports.addAbortSignalNoValidate(signal, stream); + }; + module2.exports.addAbortSignalNoValidate = function(signal, stream) { + if (typeof signal !== "object" || !("aborted" in signal)) { + return stream; } - /** - * Write a `int32` value, a signed 32 bit varint. - */ - int32(value) { - assert_1.assertInt32(value); - goog_varint_1.varint32write(value, this.buf); - return this; + const onAbort = isNodeStream(stream) ? () => { + stream.destroy( + new AbortError(void 0, { + cause: signal.reason + }) + ); + } : () => { + stream[kControllerErrorFunction]( + new AbortError(void 0, { + cause: signal.reason + }) + ); + }; + if (signal.aborted) { + onAbort(); + } else { + addAbortListener = addAbortListener || require_util21().addAbortListener; + const disposable = addAbortListener(signal, onAbort); + eos(stream, disposable[SymbolDispose]); } - /** - * Write a `bool` value, a variant. - */ - bool(value) { - this.buf.push(value ? 1 : 0); - return this; + return stream; + }; + } +}); + +// node_modules/readable-stream/lib/internal/streams/buffer_list.js +var require_buffer_list = __commonJS({ + "node_modules/readable-stream/lib/internal/streams/buffer_list.js"(exports2, module2) { + "use strict"; + var { StringPrototypeSlice, SymbolIterator, TypedArrayPrototypeSet, Uint8Array: Uint8Array2 } = require_primordials(); + var { Buffer: Buffer2 } = require("buffer"); + var { inspect } = require_util21(); + module2.exports = class BufferList { + constructor() { + this.head = null; + this.tail = null; + this.length = 0; } - /** - * Write a `bytes` value, length-delimited arbitrary data. - */ - bytes(value) { - this.uint32(value.byteLength); - return this.raw(value); + push(v) { + const entry = { + data: v, + next: null + }; + if (this.length > 0) this.tail.next = entry; + else this.head = entry; + this.tail = entry; + ++this.length; } - /** - * Write a `string` value, length-delimited data converted to UTF-8 text. - */ - string(value) { - let chunk = this.textEncoder.encode(value); - this.uint32(chunk.byteLength); - return this.raw(chunk); + unshift(v) { + const entry = { + data: v, + next: this.head + }; + if (this.length === 0) this.tail = entry; + this.head = entry; + ++this.length; } - /** - * Write a `float` value, 32-bit floating point number. - */ - float(value) { - assert_1.assertFloat32(value); - let chunk = new Uint8Array(4); - new DataView(chunk.buffer).setFloat32(0, value, true); - return this.raw(chunk); + shift() { + if (this.length === 0) return; + const ret = this.head.data; + if (this.length === 1) this.head = this.tail = null; + else this.head = this.head.next; + --this.length; + return ret; } - /** - * Write a `double` value, a 64-bit floating point number. - */ - double(value) { - let chunk = new Uint8Array(8); - new DataView(chunk.buffer).setFloat64(0, value, true); - return this.raw(chunk); + clear() { + this.head = this.tail = null; + this.length = 0; } - /** - * Write a `fixed32` value, an unsigned, fixed-length 32-bit integer. - */ - fixed32(value) { - assert_1.assertUInt32(value); - let chunk = new Uint8Array(4); - new DataView(chunk.buffer).setUint32(0, value, true); - return this.raw(chunk); + join(s) { + if (this.length === 0) return ""; + let p = this.head; + let ret = "" + p.data; + while ((p = p.next) !== null) ret += s + p.data; + return ret; } - /** - * Write a `sfixed32` value, a signed, fixed-length 32-bit integer. - */ - sfixed32(value) { - assert_1.assertInt32(value); - let chunk = new Uint8Array(4); - new DataView(chunk.buffer).setInt32(0, value, true); - return this.raw(chunk); + concat(n) { + if (this.length === 0) return Buffer2.alloc(0); + const ret = Buffer2.allocUnsafe(n >>> 0); + let p = this.head; + let i = 0; + while (p) { + TypedArrayPrototypeSet(ret, p.data, i); + i += p.data.length; + p = p.next; + } + return ret; } - /** - * Write a `sint32` value, a signed, zigzag-encoded 32-bit varint. - */ - sint32(value) { - assert_1.assertInt32(value); - value = (value << 1 ^ value >> 31) >>> 0; - goog_varint_1.varint32write(value, this.buf); - return this; + // Consumes a specified amount of bytes or characters from the buffered data. + consume(n, hasStrings) { + const data = this.head.data; + if (n < data.length) { + const slice = data.slice(0, n); + this.head.data = data.slice(n); + return slice; + } + if (n === data.length) { + return this.shift(); + } + return hasStrings ? this._getString(n) : this._getBuffer(n); } - /** - * Write a `fixed64` value, a signed, fixed-length 64-bit integer. - */ - sfixed64(value) { - let chunk = new Uint8Array(8); - let view = new DataView(chunk.buffer); - let long = pb_long_1.PbLong.from(value); - view.setInt32(0, long.lo, true); - view.setInt32(4, long.hi, true); - return this.raw(chunk); + first() { + return this.head.data; } - /** - * Write a `fixed64` value, an unsigned, fixed-length 64 bit integer. - */ - fixed64(value) { - let chunk = new Uint8Array(8); - let view = new DataView(chunk.buffer); - let long = pb_long_1.PbULong.from(value); - view.setInt32(0, long.lo, true); - view.setInt32(4, long.hi, true); - return this.raw(chunk); + *[SymbolIterator]() { + for (let p = this.head; p; p = p.next) { + yield p.data; + } } - /** - * Write a `int64` value, a signed 64-bit varint. - */ - int64(value) { - let long = pb_long_1.PbLong.from(value); - goog_varint_1.varint64write(long.lo, long.hi, this.buf); - return this; + // Consumes a specified amount of characters from the buffered data. + _getString(n) { + let ret = ""; + let p = this.head; + let c = 0; + do { + const str2 = p.data; + if (n > str2.length) { + ret += str2; + n -= str2.length; + } else { + if (n === str2.length) { + ret += str2; + ++c; + if (p.next) this.head = p.next; + else this.head = this.tail = null; + } else { + ret += StringPrototypeSlice(str2, 0, n); + this.head = p; + p.data = StringPrototypeSlice(str2, n); + } + break; + } + ++c; + } while ((p = p.next) !== null); + this.length -= c; + return ret; } - /** - * Write a `sint64` value, a signed, zig-zag-encoded 64-bit varint. - */ - sint64(value) { - let long = pb_long_1.PbLong.from(value), sign = long.hi >> 31, lo = long.lo << 1 ^ sign, hi = (long.hi << 1 | long.lo >>> 31) ^ sign; - goog_varint_1.varint64write(lo, hi, this.buf); - return this; + // Consumes a specified amount of bytes from the buffered data. + _getBuffer(n) { + const ret = Buffer2.allocUnsafe(n); + const retLen = n; + let p = this.head; + let c = 0; + do { + const buf = p.data; + if (n > buf.length) { + TypedArrayPrototypeSet(ret, buf, retLen - n); + n -= buf.length; + } else { + if (n === buf.length) { + TypedArrayPrototypeSet(ret, buf, retLen - n); + ++c; + if (p.next) this.head = p.next; + else this.head = this.tail = null; + } else { + TypedArrayPrototypeSet(ret, new Uint8Array2(buf.buffer, buf.byteOffset, n), retLen - n); + this.head = p; + p.data = buf.slice(n); + } + break; + } + ++c; + } while ((p = p.next) !== null); + this.length -= c; + return ret; } - /** - * Write a `uint64` value, an unsigned 64-bit varint. - */ - uint64(value) { - let long = pb_long_1.PbULong.from(value); - goog_varint_1.varint64write(long.lo, long.hi, this.buf); - return this; + // Make sure the linked list only shows the minimal necessary information. + [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")](_2, options) { + return inspect(this, { + ...options, + // Only inspect one level. + depth: 0, + // It should not recurse. + customInspect: false + }); } }; - exports2.BinaryWriter = BinaryWriter; } }); -// node_modules/@protobuf-ts/runtime/build/commonjs/json-format-contract.js -var require_json_format_contract = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/json-format-contract.js"(exports2) { +// node_modules/readable-stream/lib/internal/streams/state.js +var require_state3 = __commonJS({ + "node_modules/readable-stream/lib/internal/streams/state.js"(exports2, module2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.mergeJsonOptions = exports2.jsonWriteOptions = exports2.jsonReadOptions = void 0; - var defaultsWrite = { - emitDefaultValues: false, - enumAsInteger: false, - useProtoFieldName: false, - prettySpaces: 0 - }; - var defaultsRead = { - ignoreUnknownFields: false - }; - function jsonReadOptions(options) { - return options ? Object.assign(Object.assign({}, defaultsRead), options) : defaultsRead; + var { MathFloor, NumberIsInteger } = require_primordials(); + var { validateInteger } = require_validators(); + var { ERR_INVALID_ARG_VALUE } = require_errors5().codes; + var defaultHighWaterMarkBytes = 16 * 1024; + var defaultHighWaterMarkObjectMode = 16; + function highWaterMarkFrom(options, isDuplex, duplexKey) { + return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null; } - exports2.jsonReadOptions = jsonReadOptions; - function jsonWriteOptions(options) { - return options ? Object.assign(Object.assign({}, defaultsWrite), options) : defaultsWrite; + function getDefaultHighWaterMark(objectMode) { + return objectMode ? defaultHighWaterMarkObjectMode : defaultHighWaterMarkBytes; } - exports2.jsonWriteOptions = jsonWriteOptions; - function mergeJsonOptions(a, b) { - var _a, _b; - let c = Object.assign(Object.assign({}, a), b); - c.typeRegistry = [...(_a = a === null || a === void 0 ? void 0 : a.typeRegistry) !== null && _a !== void 0 ? _a : [], ...(_b = b === null || b === void 0 ? void 0 : b.typeRegistry) !== null && _b !== void 0 ? _b : []]; - return c; + function setDefaultHighWaterMark(objectMode, value) { + validateInteger(value, "value", 0); + if (objectMode) { + defaultHighWaterMarkObjectMode = value; + } else { + defaultHighWaterMarkBytes = value; + } } - exports2.mergeJsonOptions = mergeJsonOptions; - } -}); - -// node_modules/@protobuf-ts/runtime/build/commonjs/message-type-contract.js -var require_message_type_contract = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/message-type-contract.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.MESSAGE_TYPE = void 0; - exports2.MESSAGE_TYPE = /* @__PURE__ */ Symbol.for("protobuf-ts/message-type"); - } -}); - -// node_modules/@protobuf-ts/runtime/build/commonjs/lower-camel-case.js -var require_lower_camel_case = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/lower-camel-case.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.lowerCamelCase = void 0; - function lowerCamelCase(snakeCase) { - let capNext = false; - const sb = []; - for (let i = 0; i < snakeCase.length; i++) { - let next = snakeCase.charAt(i); - if (next == "_") { - capNext = true; - } else if (/\d/.test(next)) { - sb.push(next); - capNext = true; - } else if (capNext) { - sb.push(next.toUpperCase()); - capNext = false; - } else if (i == 0) { - sb.push(next.toLowerCase()); - } else { - sb.push(next); + function getHighWaterMark(state, options, duplexKey, isDuplex) { + const hwm = highWaterMarkFrom(options, isDuplex, duplexKey); + if (hwm != null) { + if (!NumberIsInteger(hwm) || hwm < 0) { + const name = isDuplex ? `options.${duplexKey}` : "options.highWaterMark"; + throw new ERR_INVALID_ARG_VALUE(name, hwm); } + return MathFloor(hwm); } - return sb.join(""); + return getDefaultHighWaterMark(state.objectMode); } - exports2.lowerCamelCase = lowerCamelCase; + module2.exports = { + getHighWaterMark, + getDefaultHighWaterMark, + setDefaultHighWaterMark + }; } }); -// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-info.js -var require_reflection_info = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-info.js"(exports2) { +// node_modules/readable-stream/lib/internal/streams/from.js +var require_from = __commonJS({ + "node_modules/readable-stream/lib/internal/streams/from.js"(exports2, module2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.readMessageOption = exports2.readFieldOption = exports2.readFieldOptions = exports2.normalizeFieldInfo = exports2.RepeatType = exports2.LongType = exports2.ScalarType = void 0; - var lower_camel_case_1 = require_lower_camel_case(); - var ScalarType; - (function(ScalarType2) { - ScalarType2[ScalarType2["DOUBLE"] = 1] = "DOUBLE"; - ScalarType2[ScalarType2["FLOAT"] = 2] = "FLOAT"; - ScalarType2[ScalarType2["INT64"] = 3] = "INT64"; - ScalarType2[ScalarType2["UINT64"] = 4] = "UINT64"; - ScalarType2[ScalarType2["INT32"] = 5] = "INT32"; - ScalarType2[ScalarType2["FIXED64"] = 6] = "FIXED64"; - ScalarType2[ScalarType2["FIXED32"] = 7] = "FIXED32"; - ScalarType2[ScalarType2["BOOL"] = 8] = "BOOL"; - ScalarType2[ScalarType2["STRING"] = 9] = "STRING"; - ScalarType2[ScalarType2["BYTES"] = 12] = "BYTES"; - ScalarType2[ScalarType2["UINT32"] = 13] = "UINT32"; - ScalarType2[ScalarType2["SFIXED32"] = 15] = "SFIXED32"; - ScalarType2[ScalarType2["SFIXED64"] = 16] = "SFIXED64"; - ScalarType2[ScalarType2["SINT32"] = 17] = "SINT32"; - ScalarType2[ScalarType2["SINT64"] = 18] = "SINT64"; - })(ScalarType = exports2.ScalarType || (exports2.ScalarType = {})); - var LongType; - (function(LongType2) { - LongType2[LongType2["BIGINT"] = 0] = "BIGINT"; - LongType2[LongType2["STRING"] = 1] = "STRING"; - LongType2[LongType2["NUMBER"] = 2] = "NUMBER"; - })(LongType = exports2.LongType || (exports2.LongType = {})); - var RepeatType; - (function(RepeatType2) { - RepeatType2[RepeatType2["NO"] = 0] = "NO"; - RepeatType2[RepeatType2["PACKED"] = 1] = "PACKED"; - RepeatType2[RepeatType2["UNPACKED"] = 2] = "UNPACKED"; - })(RepeatType = exports2.RepeatType || (exports2.RepeatType = {})); - function normalizeFieldInfo(field) { - var _a, _b, _c, _d; - field.localName = (_a = field.localName) !== null && _a !== void 0 ? _a : lower_camel_case_1.lowerCamelCase(field.name); - field.jsonName = (_b = field.jsonName) !== null && _b !== void 0 ? _b : lower_camel_case_1.lowerCamelCase(field.name); - field.repeat = (_c = field.repeat) !== null && _c !== void 0 ? _c : RepeatType.NO; - field.opt = (_d = field.opt) !== null && _d !== void 0 ? _d : field.repeat ? false : field.oneof ? false : field.kind == "message"; - return field; - } - exports2.normalizeFieldInfo = normalizeFieldInfo; - function readFieldOptions(messageType, fieldName, extensionName, extensionType) { - var _a; - const options = (_a = messageType.fields.find((m, i) => m.localName == fieldName || i == fieldName)) === null || _a === void 0 ? void 0 : _a.options; - return options && options[extensionName] ? extensionType.fromJson(options[extensionName]) : void 0; - } - exports2.readFieldOptions = readFieldOptions; - function readFieldOption(messageType, fieldName, extensionName, extensionType) { - var _a; - const options = (_a = messageType.fields.find((m, i) => m.localName == fieldName || i == fieldName)) === null || _a === void 0 ? void 0 : _a.options; - if (!options) { - return void 0; + var process2 = require_process(); + var { PromisePrototypeThen, SymbolAsyncIterator, SymbolIterator } = require_primordials(); + var { Buffer: Buffer2 } = require("buffer"); + var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_NULL_VALUES } = require_errors5().codes; + function from(Readable, iterable, opts) { + let iterator2; + if (typeof iterable === "string" || iterable instanceof Buffer2) { + return new Readable({ + objectMode: true, + ...opts, + read() { + this.push(iterable); + this.push(null); + } + }); } - const optionVal = options[extensionName]; - if (optionVal === void 0) { - return optionVal; + let isAsync; + if (iterable && iterable[SymbolAsyncIterator]) { + isAsync = true; + iterator2 = iterable[SymbolAsyncIterator](); + } else if (iterable && iterable[SymbolIterator]) { + isAsync = false; + iterator2 = iterable[SymbolIterator](); + } else { + throw new ERR_INVALID_ARG_TYPE2("iterable", ["Iterable"], iterable); } - return extensionType ? extensionType.fromJson(optionVal) : optionVal; - } - exports2.readFieldOption = readFieldOption; - function readMessageOption(messageType, extensionName, extensionType) { - const options = messageType.options; - const optionVal = options[extensionName]; - if (optionVal === void 0) { - return optionVal; + const readable = new Readable({ + objectMode: true, + highWaterMark: 1, + // TODO(ronag): What options should be allowed? + ...opts + }); + let reading = false; + readable._read = function() { + if (!reading) { + reading = true; + next(); + } + }; + readable._destroy = function(error3, cb) { + PromisePrototypeThen( + close(error3), + () => process2.nextTick(cb, error3), + // nextTick is here in case cb throws + (e) => process2.nextTick(cb, e || error3) + ); + }; + async function close(error3) { + const hadError = error3 !== void 0 && error3 !== null; + const hasThrow = typeof iterator2.throw === "function"; + if (hadError && hasThrow) { + const { value, done } = await iterator2.throw(error3); + await value; + if (done) { + return; + } + } + if (typeof iterator2.return === "function") { + const { value } = await iterator2.return(); + await value; + } } - return extensionType ? extensionType.fromJson(optionVal) : optionVal; + async function next() { + for (; ; ) { + try { + const { value, done } = isAsync ? await iterator2.next() : iterator2.next(); + if (done) { + readable.push(null); + } else { + const res = value && typeof value.then === "function" ? await value : value; + if (res === null) { + reading = false; + throw new ERR_STREAM_NULL_VALUES(); + } else if (readable.push(res)) { + continue; + } else { + reading = false; + } + } + } catch (err) { + readable.destroy(err); + } + break; + } + } + return readable; } - exports2.readMessageOption = readMessageOption; + module2.exports = from; } }); -// node_modules/@protobuf-ts/runtime/build/commonjs/oneof.js -var require_oneof = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/oneof.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getSelectedOneofValue = exports2.clearOneofValue = exports2.setUnknownOneofValue = exports2.setOneofValue = exports2.getOneofValue = exports2.isOneofGroup = void 0; - function isOneofGroup(any) { - if (typeof any != "object" || any === null || !any.hasOwnProperty("oneofKind")) { - return false; - } - switch (typeof any.oneofKind) { - case "string": - if (any[any.oneofKind] === void 0) - return false; - return Object.keys(any).length == 2; - case "undefined": - return Object.keys(any).length == 1; - default: - return false; - } - } - exports2.isOneofGroup = isOneofGroup; - function getOneofValue(oneof, kind) { - return oneof[kind]; - } - exports2.getOneofValue = getOneofValue; - function setOneofValue(oneof, kind, value) { - if (oneof.oneofKind !== void 0) { - delete oneof[oneof.oneofKind]; - } - oneof.oneofKind = kind; - if (value !== void 0) { - oneof[kind] = value; - } - } - exports2.setOneofValue = setOneofValue; - function setUnknownOneofValue(oneof, kind, value) { - if (oneof.oneofKind !== void 0) { - delete oneof[oneof.oneofKind]; - } - oneof.oneofKind = kind; - if (value !== void 0 && kind !== void 0) { - oneof[kind] = value; - } +// node_modules/readable-stream/lib/internal/streams/readable.js +var require_readable4 = __commonJS({ + "node_modules/readable-stream/lib/internal/streams/readable.js"(exports2, module2) { + var process2 = require_process(); + var { + ArrayPrototypeIndexOf, + NumberIsInteger, + NumberIsNaN, + NumberParseInt, + ObjectDefineProperties, + ObjectKeys, + ObjectSetPrototypeOf, + Promise: Promise2, + SafeSet, + SymbolAsyncDispose, + SymbolAsyncIterator, + Symbol: Symbol2 + } = require_primordials(); + module2.exports = Readable; + Readable.ReadableState = ReadableState; + var { EventEmitter: EE } = require("events"); + var { Stream, prependListener } = require_legacy(); + var { Buffer: Buffer2 } = require("buffer"); + var { addAbortSignal } = require_add_abort_signal(); + var eos = require_end_of_stream(); + var debug4 = require_util21().debuglog("stream", (fn) => { + debug4 = fn; + }); + var BufferList = require_buffer_list(); + var destroyImpl = require_destroy2(); + var { getHighWaterMark, getDefaultHighWaterMark } = require_state3(); + var { + aggregateTwoErrors, + codes: { + ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, + ERR_METHOD_NOT_IMPLEMENTED, + ERR_OUT_OF_RANGE, + ERR_STREAM_PUSH_AFTER_EOF, + ERR_STREAM_UNSHIFT_AFTER_END_EVENT + }, + AbortError + } = require_errors5(); + var { validateObject } = require_validators(); + var kPaused = Symbol2("kPaused"); + var { StringDecoder } = require("string_decoder"); + var from = require_from(); + ObjectSetPrototypeOf(Readable.prototype, Stream.prototype); + ObjectSetPrototypeOf(Readable, Stream); + var nop = () => { + }; + var { errorOrDestroy } = destroyImpl; + var kObjectMode = 1 << 0; + var kEnded = 1 << 1; + var kEndEmitted = 1 << 2; + var kReading = 1 << 3; + var kConstructed = 1 << 4; + var kSync = 1 << 5; + var kNeedReadable = 1 << 6; + var kEmittedReadable = 1 << 7; + var kReadableListening = 1 << 8; + var kResumeScheduled = 1 << 9; + var kErrorEmitted = 1 << 10; + var kEmitClose = 1 << 11; + var kAutoDestroy = 1 << 12; + var kDestroyed = 1 << 13; + var kClosed = 1 << 14; + var kCloseEmitted = 1 << 15; + var kMultiAwaitDrain = 1 << 16; + var kReadingMore = 1 << 17; + var kDataEmitted = 1 << 18; + function makeBitMapDescriptor(bit) { + return { + enumerable: false, + get() { + return (this.state & bit) !== 0; + }, + set(value) { + if (value) this.state |= bit; + else this.state &= ~bit; + } + }; } - exports2.setUnknownOneofValue = setUnknownOneofValue; - function clearOneofValue(oneof) { - if (oneof.oneofKind !== void 0) { - delete oneof[oneof.oneofKind]; + ObjectDefineProperties(ReadableState.prototype, { + objectMode: makeBitMapDescriptor(kObjectMode), + ended: makeBitMapDescriptor(kEnded), + endEmitted: makeBitMapDescriptor(kEndEmitted), + reading: makeBitMapDescriptor(kReading), + // Stream is still being constructed and cannot be + // destroyed until construction finished or failed. + // Async construction is opt in, therefore we start as + // constructed. + constructed: makeBitMapDescriptor(kConstructed), + // A flag to be able to tell if the event 'readable'/'data' is emitted + // immediately, or on a later tick. We set this to true at first, because + // any actions that shouldn't happen until "later" should generally also + // not happen before the first read call. + sync: makeBitMapDescriptor(kSync), + // Whenever we return null, then we set a flag to say + // that we're awaiting a 'readable' event emission. + needReadable: makeBitMapDescriptor(kNeedReadable), + emittedReadable: makeBitMapDescriptor(kEmittedReadable), + readableListening: makeBitMapDescriptor(kReadableListening), + resumeScheduled: makeBitMapDescriptor(kResumeScheduled), + // True if the error was already emitted and should not be thrown again. + errorEmitted: makeBitMapDescriptor(kErrorEmitted), + emitClose: makeBitMapDescriptor(kEmitClose), + autoDestroy: makeBitMapDescriptor(kAutoDestroy), + // Has it been destroyed. + destroyed: makeBitMapDescriptor(kDestroyed), + // Indicates whether the stream has finished destroying. + closed: makeBitMapDescriptor(kClosed), + // True if close has been emitted or would have been emitted + // depending on emitClose. + closeEmitted: makeBitMapDescriptor(kCloseEmitted), + multiAwaitDrain: makeBitMapDescriptor(kMultiAwaitDrain), + // If true, a maybeReadMore has been scheduled. + readingMore: makeBitMapDescriptor(kReadingMore), + dataEmitted: makeBitMapDescriptor(kDataEmitted) + }); + function ReadableState(options, stream, isDuplex) { + if (typeof isDuplex !== "boolean") isDuplex = stream instanceof require_duplex(); + this.state = kEmitClose | kAutoDestroy | kConstructed | kSync; + if (options && options.objectMode) this.state |= kObjectMode; + if (isDuplex && options && options.readableObjectMode) this.state |= kObjectMode; + this.highWaterMark = options ? getHighWaterMark(this, options, "readableHighWaterMark", isDuplex) : getDefaultHighWaterMark(false); + this.buffer = new BufferList(); + this.length = 0; + this.pipes = []; + this.flowing = null; + this[kPaused] = null; + if (options && options.emitClose === false) this.state &= ~kEmitClose; + if (options && options.autoDestroy === false) this.state &= ~kAutoDestroy; + this.errored = null; + this.defaultEncoding = options && options.defaultEncoding || "utf8"; + this.awaitDrainWriters = null; + this.decoder = null; + this.encoding = null; + if (options && options.encoding) { + this.decoder = new StringDecoder(options.encoding); + this.encoding = options.encoding; } - oneof.oneofKind = void 0; } - exports2.clearOneofValue = clearOneofValue; - function getSelectedOneofValue(oneof) { - if (oneof.oneofKind === void 0) { - return void 0; + function Readable(options) { + if (!(this instanceof Readable)) return new Readable(options); + const isDuplex = this instanceof require_duplex(); + this._readableState = new ReadableState(options, this, isDuplex); + if (options) { + if (typeof options.read === "function") this._read = options.read; + if (typeof options.destroy === "function") this._destroy = options.destroy; + if (typeof options.construct === "function") this._construct = options.construct; + if (options.signal && !isDuplex) addAbortSignal(options.signal, this); } - return oneof[oneof.oneofKind]; + Stream.call(this, options); + destroyImpl.construct(this, () => { + if (this._readableState.needReadable) { + maybeReadMore(this, this._readableState); + } + }); } - exports2.getSelectedOneofValue = getSelectedOneofValue; - } -}); - -// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-type-check.js -var require_reflection_type_check = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-type-check.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.ReflectionTypeCheck = void 0; - var reflection_info_1 = require_reflection_info(); - var oneof_1 = require_oneof(); - var ReflectionTypeCheck = class { - constructor(info7) { - var _a; - this.fields = (_a = info7.fields) !== null && _a !== void 0 ? _a : []; + Readable.prototype.destroy = destroyImpl.destroy; + Readable.prototype._undestroy = destroyImpl.undestroy; + Readable.prototype._destroy = function(err, cb) { + cb(err); + }; + Readable.prototype[EE.captureRejectionSymbol] = function(err) { + this.destroy(err); + }; + Readable.prototype[SymbolAsyncDispose] = function() { + let error3; + if (!this.destroyed) { + error3 = this.readableEnded ? null : new AbortError(); + this.destroy(error3); } - prepare() { - if (this.data) - return; - const req = [], known = [], oneofs = []; - for (let field of this.fields) { - if (field.oneof) { - if (!oneofs.includes(field.oneof)) { - oneofs.push(field.oneof); - req.push(field.oneof); - known.push(field.oneof); - } - } else { - known.push(field.localName); - switch (field.kind) { - case "scalar": - case "enum": - if (!field.opt || field.repeat) - req.push(field.localName); - break; - case "message": - if (field.repeat) - req.push(field.localName); - break; - case "map": - req.push(field.localName); - break; + return new Promise2((resolve5, reject) => eos(this, (err) => err && err !== error3 ? reject(err) : resolve5(null))); + }; + Readable.prototype.push = function(chunk, encoding) { + return readableAddChunk(this, chunk, encoding, false); + }; + Readable.prototype.unshift = function(chunk, encoding) { + return readableAddChunk(this, chunk, encoding, true); + }; + function readableAddChunk(stream, chunk, encoding, addToFront) { + debug4("readableAddChunk", chunk); + const state = stream._readableState; + let err; + if ((state.state & kObjectMode) === 0) { + if (typeof chunk === "string") { + encoding = encoding || state.defaultEncoding; + if (state.encoding !== encoding) { + if (addToFront && state.encoding) { + chunk = Buffer2.from(chunk, encoding).toString(state.encoding); + } else { + chunk = Buffer2.from(chunk, encoding); + encoding = ""; } } + } else if (chunk instanceof Buffer2) { + encoding = ""; + } else if (Stream._isUint8Array(chunk)) { + chunk = Stream._uint8ArrayToBuffer(chunk); + encoding = ""; + } else if (chunk != null) { + err = new ERR_INVALID_ARG_TYPE2("chunk", ["string", "Buffer", "Uint8Array"], chunk); } - this.data = { req, known, oneofs: Object.values(oneofs) }; } - /** - * Is the argument a valid message as specified by the - * reflection information? - * - * Checks all field types recursively. The `depth` - * specifies how deep into the structure the check will be. - * - * With a depth of 0, only the presence of fields - * is checked. - * - * With a depth of 1 or more, the field types are checked. - * - * With a depth of 2 or more, the members of map, repeated - * and message fields are checked. - * - * Message fields will be checked recursively with depth - 1. - * - * The number of map entries / repeated values being checked - * is < depth. - */ - is(message, depth, allowExcessProperties = false) { - if (depth < 0) - return true; - if (message === null || message === void 0 || typeof message != "object") - return false; - this.prepare(); - let keys = Object.keys(message), data = this.data; - if (keys.length < data.req.length || data.req.some((n) => !keys.includes(n))) + if (err) { + errorOrDestroy(stream, err); + } else if (chunk === null) { + state.state &= ~kReading; + onEofChunk(stream, state); + } else if ((state.state & kObjectMode) !== 0 || chunk && chunk.length > 0) { + if (addToFront) { + if ((state.state & kEndEmitted) !== 0) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT()); + else if (state.destroyed || state.errored) return false; + else addChunk(stream, state, chunk, true); + } else if (state.ended) { + errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF()); + } else if (state.destroyed || state.errored) { return false; - if (!allowExcessProperties) { - if (keys.some((k) => !data.known.includes(k))) - return false; - } - if (depth < 1) { - return true; - } - for (const name of data.oneofs) { - const group = message[name]; - if (!oneof_1.isOneofGroup(group)) - return false; - if (group.oneofKind === void 0) - continue; - const field = this.fields.find((f) => f.localName === group.oneofKind); - if (!field) - return false; - if (!this.field(group[group.oneofKind], field, allowExcessProperties, depth)) - return false; - } - for (const field of this.fields) { - if (field.oneof !== void 0) - continue; - if (!this.field(message[field.localName], field, allowExcessProperties, depth)) - return false; + } else { + state.state &= ~kReading; + if (state.decoder && !encoding) { + chunk = state.decoder.write(chunk); + if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false); + else maybeReadMore(stream, state); + } else { + addChunk(stream, state, chunk, false); + } } - return true; + } else if (!addToFront) { + state.state &= ~kReading; + maybeReadMore(stream, state); } - field(arg, field, allowExcessProperties, depth) { - let repeated = field.repeat; - switch (field.kind) { - case "scalar": - if (arg === void 0) - return field.opt; - if (repeated) - return this.scalars(arg, field.T, depth, field.L); - return this.scalar(arg, field.T, field.L); - case "enum": - if (arg === void 0) - return field.opt; - if (repeated) - return this.scalars(arg, reflection_info_1.ScalarType.INT32, depth); - return this.scalar(arg, reflection_info_1.ScalarType.INT32); - case "message": - if (arg === void 0) - return true; - if (repeated) - return this.messages(arg, field.T(), allowExcessProperties, depth); - return this.message(arg, field.T(), allowExcessProperties, depth); - case "map": - if (typeof arg != "object" || arg === null) - return false; - if (depth < 2) - return true; - if (!this.mapKeys(arg, field.K, depth)) - return false; - switch (field.V.kind) { - case "scalar": - return this.scalars(Object.values(arg), field.V.T, depth, field.V.L); - case "enum": - return this.scalars(Object.values(arg), reflection_info_1.ScalarType.INT32, depth); - case "message": - return this.messages(Object.values(arg), field.V.T(), allowExcessProperties, depth); - } - break; + return !state.ended && (state.length < state.highWaterMark || state.length === 0); + } + function addChunk(stream, state, chunk, addToFront) { + if (state.flowing && state.length === 0 && !state.sync && stream.listenerCount("data") > 0) { + if ((state.state & kMultiAwaitDrain) !== 0) { + state.awaitDrainWriters.clear(); + } else { + state.awaitDrainWriters = null; } - return true; + state.dataEmitted = true; + stream.emit("data", chunk); + } else { + state.length += state.objectMode ? 1 : chunk.length; + if (addToFront) state.buffer.unshift(chunk); + else state.buffer.push(chunk); + if ((state.state & kNeedReadable) !== 0) emitReadable(stream); } - message(arg, type2, allowExcessProperties, depth) { - if (allowExcessProperties) { - return type2.isAssignable(arg, depth); - } - return type2.is(arg, depth); + maybeReadMore(stream, state); + } + Readable.prototype.isPaused = function() { + const state = this._readableState; + return state[kPaused] === true || state.flowing === false; + }; + Readable.prototype.setEncoding = function(enc) { + const decoder = new StringDecoder(enc); + this._readableState.decoder = decoder; + this._readableState.encoding = this._readableState.decoder.encoding; + const buffer = this._readableState.buffer; + let content = ""; + for (const data of buffer) { + content += decoder.write(data); } - messages(arg, type2, allowExcessProperties, depth) { - if (!Array.isArray(arg)) - return false; - if (depth < 2) - return true; - if (allowExcessProperties) { - for (let i = 0; i < arg.length && i < depth; i++) - if (!type2.isAssignable(arg[i], depth - 1)) - return false; - } else { - for (let i = 0; i < arg.length && i < depth; i++) - if (!type2.is(arg[i], depth - 1)) - return false; - } - return true; + buffer.clear(); + if (content !== "") buffer.push(content); + this._readableState.length = content.length; + return this; + }; + var MAX_HWM = 1073741824; + function computeNewHighWaterMark(n) { + if (n > MAX_HWM) { + throw new ERR_OUT_OF_RANGE("size", "<= 1GiB", n); + } else { + n--; + n |= n >>> 1; + n |= n >>> 2; + n |= n >>> 4; + n |= n >>> 8; + n |= n >>> 16; + n++; } - scalar(arg, type2, longType) { - let argType = typeof arg; - switch (type2) { - case reflection_info_1.ScalarType.UINT64: - case reflection_info_1.ScalarType.FIXED64: - case reflection_info_1.ScalarType.INT64: - case reflection_info_1.ScalarType.SFIXED64: - case reflection_info_1.ScalarType.SINT64: - switch (longType) { - case reflection_info_1.LongType.BIGINT: - return argType == "bigint"; - case reflection_info_1.LongType.NUMBER: - return argType == "number" && !isNaN(arg); - default: - return argType == "string"; - } - case reflection_info_1.ScalarType.BOOL: - return argType == "boolean"; - case reflection_info_1.ScalarType.STRING: - return argType == "string"; - case reflection_info_1.ScalarType.BYTES: - return arg instanceof Uint8Array; - case reflection_info_1.ScalarType.DOUBLE: - case reflection_info_1.ScalarType.FLOAT: - return argType == "number" && !isNaN(arg); - default: - return argType == "number" && Number.isInteger(arg); + return n; + } + function howMuchToRead(n, state) { + if (n <= 0 || state.length === 0 && state.ended) return 0; + if ((state.state & kObjectMode) !== 0) return 1; + if (NumberIsNaN(n)) { + if (state.flowing && state.length) return state.buffer.first().length; + return state.length; + } + if (n <= state.length) return n; + return state.ended ? state.length : 0; + } + Readable.prototype.read = function(n) { + debug4("read", n); + if (n === void 0) { + n = NaN; + } else if (!NumberIsInteger(n)) { + n = NumberParseInt(n, 10); + } + const state = this._readableState; + const nOrig = n; + if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n); + if (n !== 0) state.state &= ~kEmittedReadable; + if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) { + debug4("read: emitReadable", state.length, state.ended); + if (state.length === 0 && state.ended) endReadable(this); + else emitReadable(this); + return null; + } + n = howMuchToRead(n, state); + if (n === 0 && state.ended) { + if (state.length === 0) endReadable(this); + return null; + } + let doRead = (state.state & kNeedReadable) !== 0; + debug4("need readable", doRead); + if (state.length === 0 || state.length - n < state.highWaterMark) { + doRead = true; + debug4("length less than watermark", doRead); + } + if (state.ended || state.reading || state.destroyed || state.errored || !state.constructed) { + doRead = false; + debug4("reading, ended or constructing", doRead); + } else if (doRead) { + debug4("do read"); + state.state |= kReading | kSync; + if (state.length === 0) state.state |= kNeedReadable; + try { + this._read(state.highWaterMark); + } catch (err) { + errorOrDestroy(this, err); } + state.state &= ~kSync; + if (!state.reading) n = howMuchToRead(nOrig, state); } - scalars(arg, type2, depth, longType) { - if (!Array.isArray(arg)) - return false; - if (depth < 2) - return true; - if (Array.isArray(arg)) { - for (let i = 0; i < arg.length && i < depth; i++) - if (!this.scalar(arg[i], type2, longType)) - return false; + let ret; + if (n > 0) ret = fromList(n, state); + else ret = null; + if (ret === null) { + state.needReadable = state.length <= state.highWaterMark; + n = 0; + } else { + state.length -= n; + if (state.multiAwaitDrain) { + state.awaitDrainWriters.clear(); + } else { + state.awaitDrainWriters = null; } - return true; } - mapKeys(map2, type2, depth) { - let keys = Object.keys(map2); - switch (type2) { - case reflection_info_1.ScalarType.INT32: - case reflection_info_1.ScalarType.FIXED32: - case reflection_info_1.ScalarType.SFIXED32: - case reflection_info_1.ScalarType.SINT32: - case reflection_info_1.ScalarType.UINT32: - return this.scalars(keys.slice(0, depth).map((k) => parseInt(k)), type2, depth); - case reflection_info_1.ScalarType.BOOL: - return this.scalars(keys.slice(0, depth).map((k) => k == "true" ? true : k == "false" ? false : k), type2, depth); - default: - return this.scalars(keys, type2, depth, reflection_info_1.LongType.STRING); - } + if (state.length === 0) { + if (!state.ended) state.needReadable = true; + if (nOrig !== n && state.ended) endReadable(this); } + if (ret !== null && !state.errorEmitted && !state.closeEmitted) { + state.dataEmitted = true; + this.emit("data", ret); + } + return ret; }; - exports2.ReflectionTypeCheck = ReflectionTypeCheck; - } -}); - -// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-long-convert.js -var require_reflection_long_convert = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-long-convert.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.reflectionLongConvert = void 0; - var reflection_info_1 = require_reflection_info(); - function reflectionLongConvert(long, type2) { - switch (type2) { - case reflection_info_1.LongType.BIGINT: - return long.toBigInt(); - case reflection_info_1.LongType.NUMBER: - return long.toNumber(); - default: - return long.toString(); + function onEofChunk(stream, state) { + debug4("onEofChunk"); + if (state.ended) return; + if (state.decoder) { + const chunk = state.decoder.end(); + if (chunk && chunk.length) { + state.buffer.push(chunk); + state.length += state.objectMode ? 1 : chunk.length; + } + } + state.ended = true; + if (state.sync) { + emitReadable(stream); + } else { + state.needReadable = false; + state.emittedReadable = true; + emitReadable_(stream); } } - exports2.reflectionLongConvert = reflectionLongConvert; - } -}); - -// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-reader.js -var require_reflection_json_reader = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-reader.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.ReflectionJsonReader = void 0; - var json_typings_1 = require_json_typings(); - var base64_1 = require_base642(); - var reflection_info_1 = require_reflection_info(); - var pb_long_1 = require_pb_long(); - var assert_1 = require_assert(); - var reflection_long_convert_1 = require_reflection_long_convert(); - var ReflectionJsonReader = class { - constructor(info7) { - this.info = info7; + function emitReadable(stream) { + const state = stream._readableState; + debug4("emitReadable", state.needReadable, state.emittedReadable); + state.needReadable = false; + if (!state.emittedReadable) { + debug4("emitReadable", state.flowing); + state.emittedReadable = true; + process2.nextTick(emitReadable_, stream); } - prepare() { - var _a; - if (this.fMap === void 0) { - this.fMap = {}; - const fieldsInput = (_a = this.info.fields) !== null && _a !== void 0 ? _a : []; - for (const field of fieldsInput) { - this.fMap[field.name] = field; - this.fMap[field.jsonName] = field; - this.fMap[field.localName] = field; + } + function emitReadable_(stream) { + const state = stream._readableState; + debug4("emitReadable_", state.destroyed, state.length, state.ended); + if (!state.destroyed && !state.errored && (state.length || state.ended)) { + stream.emit("readable"); + state.emittedReadable = false; + } + state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark; + flow(stream); + } + function maybeReadMore(stream, state) { + if (!state.readingMore && state.constructed) { + state.readingMore = true; + process2.nextTick(maybeReadMore_, stream, state); + } + } + function maybeReadMore_(stream, state) { + while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) { + const len = state.length; + debug4("maybeReadMore read 0"); + stream.read(0); + if (len === state.length) + break; + } + state.readingMore = false; + } + Readable.prototype._read = function(n) { + throw new ERR_METHOD_NOT_IMPLEMENTED("_read()"); + }; + Readable.prototype.pipe = function(dest, pipeOpts) { + const src = this; + const state = this._readableState; + if (state.pipes.length === 1) { + if (!state.multiAwaitDrain) { + state.multiAwaitDrain = true; + state.awaitDrainWriters = new SafeSet(state.awaitDrainWriters ? [state.awaitDrainWriters] : []); + } + } + state.pipes.push(dest); + debug4("pipe count=%d opts=%j", state.pipes.length, pipeOpts); + const doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process2.stdout && dest !== process2.stderr; + const endFn = doEnd ? onend : unpipe; + if (state.endEmitted) process2.nextTick(endFn); + else src.once("end", endFn); + dest.on("unpipe", onunpipe); + function onunpipe(readable, unpipeInfo) { + debug4("onunpipe"); + if (readable === src) { + if (unpipeInfo && unpipeInfo.hasUnpiped === false) { + unpipeInfo.hasUnpiped = true; + cleanup(); } } } - // Cannot parse JSON for #. - assert(condition, fieldName, jsonValue) { - if (!condition) { - let what = json_typings_1.typeofJsonValue(jsonValue); - if (what == "number" || what == "boolean") - what = jsonValue.toString(); - throw new Error(`Cannot parse JSON ${what} for ${this.info.typeName}#${fieldName}`); + function onend() { + debug4("onend"); + dest.end(); + } + let ondrain; + let cleanedUp = false; + function cleanup() { + debug4("cleanup"); + dest.removeListener("close", onclose); + dest.removeListener("finish", onfinish); + if (ondrain) { + dest.removeListener("drain", ondrain); } + dest.removeListener("error", onerror); + dest.removeListener("unpipe", onunpipe); + src.removeListener("end", onend); + src.removeListener("end", unpipe); + src.removeListener("data", ondata); + cleanedUp = true; + if (ondrain && state.awaitDrainWriters && (!dest._writableState || dest._writableState.needDrain)) ondrain(); } - /** - * Reads a message from canonical JSON format into the target message. - * - * Repeated fields are appended. Map entries are added, overwriting - * existing keys. - * - * If a message field is already present, it will be merged with the - * new data. - */ - read(input, message, options) { - this.prepare(); - const oneofsHandled = []; - for (const [jsonKey, jsonValue] of Object.entries(input)) { - const field = this.fMap[jsonKey]; - if (!field) { - if (!options.ignoreUnknownFields) - throw new Error(`Found unknown field while reading ${this.info.typeName} from JSON format. JSON key: ${jsonKey}`); - continue; - } - const localName = field.localName; - let target; - if (field.oneof) { - if (jsonValue === null && (field.kind !== "enum" || field.T()[0] !== "google.protobuf.NullValue")) { - continue; - } - if (oneofsHandled.includes(field.oneof)) - throw new Error(`Multiple members of the oneof group "${field.oneof}" of ${this.info.typeName} are present in JSON.`); - oneofsHandled.push(field.oneof); - target = message[field.oneof] = { - oneofKind: localName - }; - } else { - target = message; - } - if (field.kind == "map") { - if (jsonValue === null) { - continue; - } - this.assert(json_typings_1.isJsonObject(jsonValue), field.name, jsonValue); - const fieldObj = target[localName]; - for (const [jsonObjKey, jsonObjValue] of Object.entries(jsonValue)) { - this.assert(jsonObjValue !== null, field.name + " map value", null); - let val; - switch (field.V.kind) { - case "message": - val = field.V.T().internalJsonRead(jsonObjValue, options); - break; - case "enum": - val = this.enum(field.V.T(), jsonObjValue, field.name, options.ignoreUnknownFields); - if (val === false) - continue; - break; - case "scalar": - val = this.scalar(jsonObjValue, field.V.T, field.V.L, field.name); - break; - } - this.assert(val !== void 0, field.name + " map value", jsonObjValue); - let key = jsonObjKey; - if (field.K == reflection_info_1.ScalarType.BOOL) - key = key == "true" ? true : key == "false" ? false : key; - key = this.scalar(key, field.K, reflection_info_1.LongType.STRING, field.name).toString(); - fieldObj[key] = val; - } - } else if (field.repeat) { - if (jsonValue === null) - continue; - this.assert(Array.isArray(jsonValue), field.name, jsonValue); - const fieldArr = target[localName]; - for (const jsonItem of jsonValue) { - this.assert(jsonItem !== null, field.name, null); - let val; - switch (field.kind) { - case "message": - val = field.T().internalJsonRead(jsonItem, options); - break; - case "enum": - val = this.enum(field.T(), jsonItem, field.name, options.ignoreUnknownFields); - if (val === false) - continue; - break; - case "scalar": - val = this.scalar(jsonItem, field.T, field.L, field.name); - break; - } - this.assert(val !== void 0, field.name, jsonValue); - fieldArr.push(val); - } - } else { - switch (field.kind) { - case "message": - if (jsonValue === null && field.T().typeName != "google.protobuf.Value") { - this.assert(field.oneof === void 0, field.name + " (oneof member)", null); - continue; - } - target[localName] = field.T().internalJsonRead(jsonValue, options, target[localName]); - break; - case "enum": - if (jsonValue === null) - continue; - let val = this.enum(field.T(), jsonValue, field.name, options.ignoreUnknownFields); - if (val === false) - continue; - target[localName] = val; - break; - case "scalar": - if (jsonValue === null) - continue; - target[localName] = this.scalar(jsonValue, field.T, field.L, field.name); - break; - } + function pause() { + if (!cleanedUp) { + if (state.pipes.length === 1 && state.pipes[0] === dest) { + debug4("false write response, pause", 0); + state.awaitDrainWriters = dest; + state.multiAwaitDrain = false; + } else if (state.pipes.length > 1 && state.pipes.includes(dest)) { + debug4("false write response, pause", state.awaitDrainWriters.size); + state.awaitDrainWriters.add(dest); } + src.pause(); + } + if (!ondrain) { + ondrain = pipeOnDrain(src, dest); + dest.on("drain", ondrain); } } - /** - * Returns `false` for unrecognized string representations. - * - * google.protobuf.NullValue accepts only JSON `null` (or the old `"NULL_VALUE"`). - */ - enum(type2, json2, fieldName, ignoreUnknownFields) { - if (type2[0] == "google.protobuf.NullValue") - assert_1.assert(json2 === null || json2 === "NULL_VALUE", `Unable to parse field ${this.info.typeName}#${fieldName}, enum ${type2[0]} only accepts null.`); - if (json2 === null) - return 0; - switch (typeof json2) { - case "number": - assert_1.assert(Number.isInteger(json2), `Unable to parse field ${this.info.typeName}#${fieldName}, enum can only be integral number, got ${json2}.`); - return json2; - case "string": - let localEnumName = json2; - if (type2[2] && json2.substring(0, type2[2].length) === type2[2]) - localEnumName = json2.substring(type2[2].length); - let enumNumber = type2[1][localEnumName]; - if (typeof enumNumber === "undefined" && ignoreUnknownFields) { - return false; - } - assert_1.assert(typeof enumNumber == "number", `Unable to parse field ${this.info.typeName}#${fieldName}, enum ${type2[0]} has no value for "${json2}".`); - return enumNumber; + src.on("data", ondata); + function ondata(chunk) { + debug4("ondata"); + const ret = dest.write(chunk); + debug4("dest.write", ret); + if (ret === false) { + pause(); } - assert_1.assert(false, `Unable to parse field ${this.info.typeName}#${fieldName}, cannot parse enum value from ${typeof json2}".`); } - scalar(json2, type2, longType, fieldName) { - let e; - try { - switch (type2) { - // float, double: JSON value will be a number or one of the special string values "NaN", "Infinity", and "-Infinity". - // Either numbers or strings are accepted. Exponent notation is also accepted. - case reflection_info_1.ScalarType.DOUBLE: - case reflection_info_1.ScalarType.FLOAT: - if (json2 === null) - return 0; - if (json2 === "NaN") - return Number.NaN; - if (json2 === "Infinity") - return Number.POSITIVE_INFINITY; - if (json2 === "-Infinity") - return Number.NEGATIVE_INFINITY; - if (json2 === "") { - e = "empty string"; - break; - } - if (typeof json2 == "string" && json2.trim().length !== json2.length) { - e = "extra whitespace"; - break; - } - if (typeof json2 != "string" && typeof json2 != "number") { - break; - } - let float2 = Number(json2); - if (Number.isNaN(float2)) { - e = "not a number"; - break; - } - if (!Number.isFinite(float2)) { - e = "too large or small"; - break; - } - if (type2 == reflection_info_1.ScalarType.FLOAT) - assert_1.assertFloat32(float2); - return float2; - // int32, fixed32, uint32: JSON value will be a decimal number. Either numbers or strings are accepted. - case reflection_info_1.ScalarType.INT32: - case reflection_info_1.ScalarType.FIXED32: - case reflection_info_1.ScalarType.SFIXED32: - case reflection_info_1.ScalarType.SINT32: - case reflection_info_1.ScalarType.UINT32: - if (json2 === null) - return 0; - let int32; - if (typeof json2 == "number") - int32 = json2; - else if (json2 === "") - e = "empty string"; - else if (typeof json2 == "string") { - if (json2.trim().length !== json2.length) - e = "extra whitespace"; - else - int32 = Number(json2); - } - if (int32 === void 0) - break; - if (type2 == reflection_info_1.ScalarType.UINT32) - assert_1.assertUInt32(int32); - else - assert_1.assertInt32(int32); - return int32; - // int64, fixed64, uint64: JSON value will be a decimal string. Either numbers or strings are accepted. - case reflection_info_1.ScalarType.INT64: - case reflection_info_1.ScalarType.SFIXED64: - case reflection_info_1.ScalarType.SINT64: - if (json2 === null) - return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.ZERO, longType); - if (typeof json2 != "number" && typeof json2 != "string") - break; - return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.from(json2), longType); - case reflection_info_1.ScalarType.FIXED64: - case reflection_info_1.ScalarType.UINT64: - if (json2 === null) - return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.ZERO, longType); - if (typeof json2 != "number" && typeof json2 != "string") - break; - return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.from(json2), longType); - // bool: - case reflection_info_1.ScalarType.BOOL: - if (json2 === null) - return false; - if (typeof json2 !== "boolean") - break; - return json2; - // string: - case reflection_info_1.ScalarType.STRING: - if (json2 === null) - return ""; - if (typeof json2 !== "string") { - e = "extra whitespace"; - break; - } - try { - encodeURIComponent(json2); - } catch (e2) { - e2 = "invalid UTF8"; - break; - } - return json2; - // bytes: JSON value will be the data encoded as a string using standard base64 encoding with paddings. - // Either standard or URL-safe base64 encoding with/without paddings are accepted. - case reflection_info_1.ScalarType.BYTES: - if (json2 === null || json2 === "") - return new Uint8Array(0); - if (typeof json2 !== "string") - break; - return base64_1.base64decode(json2); + function onerror(er) { + debug4("onerror", er); + unpipe(); + dest.removeListener("error", onerror); + if (dest.listenerCount("error") === 0) { + const s = dest._writableState || dest._readableState; + if (s && !s.errorEmitted) { + errorOrDestroy(dest, er); + } else { + dest.emit("error", er); } - } catch (error3) { - e = error3.message; } - this.assert(false, fieldName + (e ? " - " + e : ""), json2); } - }; - exports2.ReflectionJsonReader = ReflectionJsonReader; - } -}); - -// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-writer.js -var require_reflection_json_writer = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-writer.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.ReflectionJsonWriter = void 0; - var base64_1 = require_base642(); - var pb_long_1 = require_pb_long(); - var reflection_info_1 = require_reflection_info(); - var assert_1 = require_assert(); - var ReflectionJsonWriter = class { - constructor(info7) { - var _a; - this.fields = (_a = info7.fields) !== null && _a !== void 0 ? _a : []; + prependListener(dest, "error", onerror); + function onclose() { + dest.removeListener("finish", onfinish); + unpipe(); } - /** - * Converts the message to a JSON object, based on the field descriptors. - */ - write(message, options) { - const json2 = {}, source = message; - for (const field of this.fields) { - if (!field.oneof) { - let jsonValue2 = this.field(field, source[field.localName], options); - if (jsonValue2 !== void 0) - json2[options.useProtoFieldName ? field.name : field.jsonName] = jsonValue2; - continue; - } - const group = source[field.oneof]; - if (group.oneofKind !== field.localName) - continue; - const opt = field.kind == "scalar" || field.kind == "enum" ? Object.assign(Object.assign({}, options), { emitDefaultValues: true }) : options; - let jsonValue = this.field(field, group[field.localName], opt); - assert_1.assert(jsonValue !== void 0); - json2[options.useProtoFieldName ? field.name : field.jsonName] = jsonValue; + dest.once("close", onclose); + function onfinish() { + debug4("onfinish"); + dest.removeListener("close", onclose); + unpipe(); + } + dest.once("finish", onfinish); + function unpipe() { + debug4("unpipe"); + src.unpipe(dest); + } + dest.emit("pipe", src); + if (dest.writableNeedDrain === true) { + pause(); + } else if (!state.flowing) { + debug4("pipe resume"); + src.resume(); + } + return dest; + }; + function pipeOnDrain(src, dest) { + return function pipeOnDrainFunctionResult() { + const state = src._readableState; + if (state.awaitDrainWriters === dest) { + debug4("pipeOnDrain", 1); + state.awaitDrainWriters = null; + } else if (state.multiAwaitDrain) { + debug4("pipeOnDrain", state.awaitDrainWriters.size); + state.awaitDrainWriters.delete(dest); } - return json2; + if ((!state.awaitDrainWriters || state.awaitDrainWriters.size === 0) && src.listenerCount("data")) { + src.resume(); + } + }; + } + Readable.prototype.unpipe = function(dest) { + const state = this._readableState; + const unpipeInfo = { + hasUnpiped: false + }; + if (state.pipes.length === 0) return this; + if (!dest) { + const dests = state.pipes; + state.pipes = []; + this.pause(); + for (let i = 0; i < dests.length; i++) + dests[i].emit("unpipe", this, { + hasUnpiped: false + }); + return this; } - field(field, value, options) { - let jsonValue = void 0; - if (field.kind == "map") { - assert_1.assert(typeof value == "object" && value !== null); - const jsonObj = {}; - switch (field.V.kind) { - case "scalar": - for (const [entryKey, entryValue] of Object.entries(value)) { - const val = this.scalar(field.V.T, entryValue, field.name, false, true); - assert_1.assert(val !== void 0); - jsonObj[entryKey.toString()] = val; - } - break; - case "message": - const messageType = field.V.T(); - for (const [entryKey, entryValue] of Object.entries(value)) { - const val = this.message(messageType, entryValue, field.name, options); - assert_1.assert(val !== void 0); - jsonObj[entryKey.toString()] = val; - } - break; - case "enum": - const enumInfo = field.V.T(); - for (const [entryKey, entryValue] of Object.entries(value)) { - assert_1.assert(entryValue === void 0 || typeof entryValue == "number"); - const val = this.enum(enumInfo, entryValue, field.name, false, true, options.enumAsInteger); - assert_1.assert(val !== void 0); - jsonObj[entryKey.toString()] = val; - } - break; - } - if (options.emitDefaultValues || Object.keys(jsonObj).length > 0) - jsonValue = jsonObj; - } else if (field.repeat) { - assert_1.assert(Array.isArray(value)); - const jsonArr = []; - switch (field.kind) { - case "scalar": - for (let i = 0; i < value.length; i++) { - const val = this.scalar(field.T, value[i], field.name, field.opt, true); - assert_1.assert(val !== void 0); - jsonArr.push(val); - } - break; - case "enum": - const enumInfo = field.T(); - for (let i = 0; i < value.length; i++) { - assert_1.assert(value[i] === void 0 || typeof value[i] == "number"); - const val = this.enum(enumInfo, value[i], field.name, field.opt, true, options.enumAsInteger); - assert_1.assert(val !== void 0); - jsonArr.push(val); - } - break; - case "message": - const messageType = field.T(); - for (let i = 0; i < value.length; i++) { - const val = this.message(messageType, value[i], field.name, options); - assert_1.assert(val !== void 0); - jsonArr.push(val); - } - break; - } - if (options.emitDefaultValues || jsonArr.length > 0 || options.emitDefaultValues) - jsonValue = jsonArr; - } else { - switch (field.kind) { - case "scalar": - jsonValue = this.scalar(field.T, value, field.name, field.opt, options.emitDefaultValues); - break; - case "enum": - jsonValue = this.enum(field.T(), value, field.name, field.opt, options.emitDefaultValues, options.enumAsInteger); - break; - case "message": - jsonValue = this.message(field.T(), value, field.name, options); - break; + const index = ArrayPrototypeIndexOf(state.pipes, dest); + if (index === -1) return this; + state.pipes.splice(index, 1); + if (state.pipes.length === 0) this.pause(); + dest.emit("unpipe", this, unpipeInfo); + return this; + }; + Readable.prototype.on = function(ev, fn) { + const res = Stream.prototype.on.call(this, ev, fn); + const state = this._readableState; + if (ev === "data") { + state.readableListening = this.listenerCount("readable") > 0; + if (state.flowing !== false) this.resume(); + } else if (ev === "readable") { + if (!state.endEmitted && !state.readableListening) { + state.readableListening = state.needReadable = true; + state.flowing = false; + state.emittedReadable = false; + debug4("on readable", state.length, state.reading); + if (state.length) { + emitReadable(this); + } else if (!state.reading) { + process2.nextTick(nReadingNextTick, this); } } - return jsonValue; } - /** - * Returns `null` as the default for google.protobuf.NullValue. - */ - enum(type2, value, fieldName, optional, emitDefaultValues, enumAsInteger) { - if (type2[0] == "google.protobuf.NullValue") - return !emitDefaultValues && !optional ? void 0 : null; - if (value === void 0) { - assert_1.assert(optional); - return void 0; - } - if (value === 0 && !emitDefaultValues && !optional) - return void 0; - assert_1.assert(typeof value == "number"); - assert_1.assert(Number.isInteger(value)); - if (enumAsInteger || !type2[1].hasOwnProperty(value)) - return value; - if (type2[2]) - return type2[2] + type2[1][value]; - return type2[1][value]; + return res; + }; + Readable.prototype.addListener = Readable.prototype.on; + Readable.prototype.removeListener = function(ev, fn) { + const res = Stream.prototype.removeListener.call(this, ev, fn); + if (ev === "readable") { + process2.nextTick(updateReadableListening, this); } - message(type2, value, fieldName, options) { - if (value === void 0) - return options.emitDefaultValues ? null : void 0; - return type2.internalJsonWrite(value, options); + return res; + }; + Readable.prototype.off = Readable.prototype.removeListener; + Readable.prototype.removeAllListeners = function(ev) { + const res = Stream.prototype.removeAllListeners.apply(this, arguments); + if (ev === "readable" || ev === void 0) { + process2.nextTick(updateReadableListening, this); } - scalar(type2, value, fieldName, optional, emitDefaultValues) { - if (value === void 0) { - assert_1.assert(optional); - return void 0; + return res; + }; + function updateReadableListening(self2) { + const state = self2._readableState; + state.readableListening = self2.listenerCount("readable") > 0; + if (state.resumeScheduled && state[kPaused] === false) { + state.flowing = true; + } else if (self2.listenerCount("data") > 0) { + self2.resume(); + } else if (!state.readableListening) { + state.flowing = null; + } + } + function nReadingNextTick(self2) { + debug4("readable nexttick read 0"); + self2.read(0); + } + Readable.prototype.resume = function() { + const state = this._readableState; + if (!state.flowing) { + debug4("resume"); + state.flowing = !state.readableListening; + resume(this, state); + } + state[kPaused] = false; + return this; + }; + function resume(stream, state) { + if (!state.resumeScheduled) { + state.resumeScheduled = true; + process2.nextTick(resume_, stream, state); + } + } + function resume_(stream, state) { + debug4("resume", state.reading); + if (!state.reading) { + stream.read(0); + } + state.resumeScheduled = false; + stream.emit("resume"); + flow(stream); + if (state.flowing && !state.reading) stream.read(0); + } + Readable.prototype.pause = function() { + debug4("call pause flowing=%j", this._readableState.flowing); + if (this._readableState.flowing !== false) { + debug4("pause"); + this._readableState.flowing = false; + this.emit("pause"); + } + this._readableState[kPaused] = true; + return this; + }; + function flow(stream) { + const state = stream._readableState; + debug4("flow", state.flowing); + while (state.flowing && stream.read() !== null) ; + } + Readable.prototype.wrap = function(stream) { + let paused = false; + stream.on("data", (chunk) => { + if (!this.push(chunk) && stream.pause) { + paused = true; + stream.pause(); } - const ed = emitDefaultValues || optional; - switch (type2) { - // int32, fixed32, uint32: JSON value will be a decimal number. Either numbers or strings are accepted. - case reflection_info_1.ScalarType.INT32: - case reflection_info_1.ScalarType.SFIXED32: - case reflection_info_1.ScalarType.SINT32: - if (value === 0) - return ed ? 0 : void 0; - assert_1.assertInt32(value); - return value; - case reflection_info_1.ScalarType.FIXED32: - case reflection_info_1.ScalarType.UINT32: - if (value === 0) - return ed ? 0 : void 0; - assert_1.assertUInt32(value); - return value; - // float, double: JSON value will be a number or one of the special string values "NaN", "Infinity", and "-Infinity". - // Either numbers or strings are accepted. Exponent notation is also accepted. - case reflection_info_1.ScalarType.FLOAT: - assert_1.assertFloat32(value); - case reflection_info_1.ScalarType.DOUBLE: - if (value === 0) - return ed ? 0 : void 0; - assert_1.assert(typeof value == "number"); - if (Number.isNaN(value)) - return "NaN"; - if (value === Number.POSITIVE_INFINITY) - return "Infinity"; - if (value === Number.NEGATIVE_INFINITY) - return "-Infinity"; - return value; - // string: - case reflection_info_1.ScalarType.STRING: - if (value === "") - return ed ? "" : void 0; - assert_1.assert(typeof value == "string"); - return value; - // bool: - case reflection_info_1.ScalarType.BOOL: - if (value === false) - return ed ? false : void 0; - assert_1.assert(typeof value == "boolean"); - return value; - // JSON value will be a decimal string. Either numbers or strings are accepted. - case reflection_info_1.ScalarType.UINT64: - case reflection_info_1.ScalarType.FIXED64: - assert_1.assert(typeof value == "number" || typeof value == "string" || typeof value == "bigint"); - let ulong = pb_long_1.PbULong.from(value); - if (ulong.isZero() && !ed) - return void 0; - return ulong.toString(); - // JSON value will be a decimal string. Either numbers or strings are accepted. - case reflection_info_1.ScalarType.INT64: - case reflection_info_1.ScalarType.SFIXED64: - case reflection_info_1.ScalarType.SINT64: - assert_1.assert(typeof value == "number" || typeof value == "string" || typeof value == "bigint"); - let long = pb_long_1.PbLong.from(value); - if (long.isZero() && !ed) - return void 0; - return long.toString(); - // bytes: JSON value will be the data encoded as a string using standard base64 encoding with paddings. - // Either standard or URL-safe base64 encoding with/without paddings are accepted. - case reflection_info_1.ScalarType.BYTES: - assert_1.assert(value instanceof Uint8Array); - if (!value.byteLength) - return ed ? "" : void 0; - return base64_1.base64encode(value); + }); + stream.on("end", () => { + this.push(null); + }); + stream.on("error", (err) => { + errorOrDestroy(this, err); + }); + stream.on("close", () => { + this.destroy(); + }); + stream.on("destroy", () => { + this.destroy(); + }); + this._read = () => { + if (paused && stream.resume) { + paused = false; + stream.resume(); + } + }; + const streamKeys = ObjectKeys(stream); + for (let j = 1; j < streamKeys.length; j++) { + const i = streamKeys[j]; + if (this[i] === void 0 && typeof stream[i] === "function") { + this[i] = stream[i].bind(stream); } } + return this; }; - exports2.ReflectionJsonWriter = ReflectionJsonWriter; - } -}); - -// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-scalar-default.js -var require_reflection_scalar_default = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-scalar-default.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.reflectionScalarDefault = void 0; - var reflection_info_1 = require_reflection_info(); - var reflection_long_convert_1 = require_reflection_long_convert(); - var pb_long_1 = require_pb_long(); - function reflectionScalarDefault(type2, longType = reflection_info_1.LongType.STRING) { - switch (type2) { - case reflection_info_1.ScalarType.BOOL: - return false; - case reflection_info_1.ScalarType.UINT64: - case reflection_info_1.ScalarType.FIXED64: - return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.ZERO, longType); - case reflection_info_1.ScalarType.INT64: - case reflection_info_1.ScalarType.SFIXED64: - case reflection_info_1.ScalarType.SINT64: - return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.ZERO, longType); - case reflection_info_1.ScalarType.DOUBLE: - case reflection_info_1.ScalarType.FLOAT: - return 0; - case reflection_info_1.ScalarType.BYTES: - return new Uint8Array(0); - case reflection_info_1.ScalarType.STRING: - return ""; - default: - return 0; + Readable.prototype[SymbolAsyncIterator] = function() { + return streamToAsyncIterator(this); + }; + Readable.prototype.iterator = function(options) { + if (options !== void 0) { + validateObject(options, "options"); } - } - exports2.reflectionScalarDefault = reflectionScalarDefault; - } -}); - -// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-reader.js -var require_reflection_binary_reader = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-reader.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.ReflectionBinaryReader = void 0; - var binary_format_contract_1 = require_binary_format_contract(); - var reflection_info_1 = require_reflection_info(); - var reflection_long_convert_1 = require_reflection_long_convert(); - var reflection_scalar_default_1 = require_reflection_scalar_default(); - var ReflectionBinaryReader = class { - constructor(info7) { - this.info = info7; + return streamToAsyncIterator(this, options); + }; + function streamToAsyncIterator(stream, options) { + if (typeof stream.read !== "function") { + stream = Readable.wrap(stream, { + objectMode: true + }); } - prepare() { - var _a; - if (!this.fieldNoToField) { - const fieldsInput = (_a = this.info.fields) !== null && _a !== void 0 ? _a : []; - this.fieldNoToField = new Map(fieldsInput.map((field) => [field.no, field])); + const iter = createAsyncIterator(stream, options); + iter.stream = stream; + return iter; + } + async function* createAsyncIterator(stream, options) { + let callback = nop; + function next(resolve5) { + if (this === stream) { + callback(); + callback = nop; + } else { + callback = resolve5; } } - /** - * Reads a message from binary format into the target message. - * - * Repeated fields are appended. Map entries are added, overwriting - * existing keys. - * - * If a message field is already present, it will be merged with the - * new data. - */ - read(reader, message, options, length) { - this.prepare(); - const end = length === void 0 ? reader.len : reader.pos + length; - while (reader.pos < end) { - const [fieldNo, wireType] = reader.tag(), field = this.fieldNoToField.get(fieldNo); - if (!field) { - let u = options.readUnknownField; - if (u == "throw") - throw new Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.info.typeName}`); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? binary_format_contract_1.UnknownFieldHandler.onRead : u)(this.info.typeName, message, fieldNo, wireType, d); - continue; - } - let target = message, repeated = field.repeat, localName = field.localName; - if (field.oneof) { - target = target[field.oneof]; - if (target.oneofKind !== localName) - target = message[field.oneof] = { - oneofKind: localName - }; - } - switch (field.kind) { - case "scalar": - case "enum": - let T = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T; - let L = field.kind == "scalar" ? field.L : void 0; - if (repeated) { - let arr = target[localName]; - if (wireType == binary_format_contract_1.WireType.LengthDelimited && T != reflection_info_1.ScalarType.STRING && T != reflection_info_1.ScalarType.BYTES) { - let e = reader.uint32() + reader.pos; - while (reader.pos < e) - arr.push(this.scalar(reader, T, L)); - } else - arr.push(this.scalar(reader, T, L)); - } else - target[localName] = this.scalar(reader, T, L); - break; - case "message": - if (repeated) { - let arr = target[localName]; - let msg = field.T().internalBinaryRead(reader, reader.uint32(), options); - arr.push(msg); - } else - target[localName] = field.T().internalBinaryRead(reader, reader.uint32(), options, target[localName]); - break; - case "map": - let [mapKey, mapVal] = this.mapEntry(field, reader, options); - target[localName][mapKey] = mapVal; - break; + stream.on("readable", next); + let error3; + const cleanup = eos( + stream, + { + writable: false + }, + (err) => { + error3 = err ? aggregateTwoErrors(error3, err) : null; + callback(); + callback = nop; + } + ); + try { + while (true) { + const chunk = stream.destroyed ? null : stream.read(); + if (chunk !== null) { + yield chunk; + } else if (error3) { + throw error3; + } else if (error3 === null) { + return; + } else { + await new Promise2(next); } } + } catch (err) { + error3 = aggregateTwoErrors(error3, err); + throw error3; + } finally { + if ((error3 || (options === null || options === void 0 ? void 0 : options.destroyOnReturn) !== false) && (error3 === void 0 || stream._readableState.autoDestroy)) { + destroyImpl.destroyer(stream, null); + } else { + stream.off("readable", next); + cleanup(); + } } - /** - * Read a map field, expecting key field = 1, value field = 2 - */ - mapEntry(field, reader, options) { - let length = reader.uint32(); - let end = reader.pos + length; - let key = void 0; - let val = void 0; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case 1: - if (field.K == reflection_info_1.ScalarType.BOOL) - key = reader.bool().toString(); - else - key = this.scalar(reader, field.K, reflection_info_1.LongType.STRING); - break; - case 2: - switch (field.V.kind) { - case "scalar": - val = this.scalar(reader, field.V.T, field.V.L); - break; - case "enum": - val = reader.int32(); - break; - case "message": - val = field.V.T().internalBinaryRead(reader, reader.uint32(), options); - break; - } - break; - default: - throw new Error(`Unknown field ${fieldNo} (wire type ${wireType}) in map entry for ${this.info.typeName}#${field.name}`); + } + ObjectDefineProperties(Readable.prototype, { + readable: { + __proto__: null, + get() { + const r = this._readableState; + return !!r && r.readable !== false && !r.destroyed && !r.errorEmitted && !r.endEmitted; + }, + set(val) { + if (this._readableState) { + this._readableState.readable = !!val; } } - if (key === void 0) { - let keyRaw = reflection_scalar_default_1.reflectionScalarDefault(field.K); - key = field.K == reflection_info_1.ScalarType.BOOL ? keyRaw.toString() : keyRaw; + }, + readableDidRead: { + __proto__: null, + enumerable: false, + get: function() { + return this._readableState.dataEmitted; } - if (val === void 0) - switch (field.V.kind) { - case "scalar": - val = reflection_scalar_default_1.reflectionScalarDefault(field.V.T, field.V.L); - break; - case "enum": - val = 0; - break; - case "message": - val = field.V.T().create(); - break; - } - return [key, val]; - } - scalar(reader, type2, longType) { - switch (type2) { - case reflection_info_1.ScalarType.INT32: - return reader.int32(); - case reflection_info_1.ScalarType.STRING: - return reader.string(); - case reflection_info_1.ScalarType.BOOL: - return reader.bool(); - case reflection_info_1.ScalarType.DOUBLE: - return reader.double(); - case reflection_info_1.ScalarType.FLOAT: - return reader.float(); - case reflection_info_1.ScalarType.INT64: - return reflection_long_convert_1.reflectionLongConvert(reader.int64(), longType); - case reflection_info_1.ScalarType.UINT64: - return reflection_long_convert_1.reflectionLongConvert(reader.uint64(), longType); - case reflection_info_1.ScalarType.FIXED64: - return reflection_long_convert_1.reflectionLongConvert(reader.fixed64(), longType); - case reflection_info_1.ScalarType.FIXED32: - return reader.fixed32(); - case reflection_info_1.ScalarType.BYTES: - return reader.bytes(); - case reflection_info_1.ScalarType.UINT32: - return reader.uint32(); - case reflection_info_1.ScalarType.SFIXED32: - return reader.sfixed32(); - case reflection_info_1.ScalarType.SFIXED64: - return reflection_long_convert_1.reflectionLongConvert(reader.sfixed64(), longType); - case reflection_info_1.ScalarType.SINT32: - return reader.sint32(); - case reflection_info_1.ScalarType.SINT64: - return reflection_long_convert_1.reflectionLongConvert(reader.sint64(), longType); + }, + readableAborted: { + __proto__: null, + enumerable: false, + get: function() { + return !!(this._readableState.readable !== false && (this._readableState.destroyed || this._readableState.errored) && !this._readableState.endEmitted); } - } - }; - exports2.ReflectionBinaryReader = ReflectionBinaryReader; - } -}); - -// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-writer.js -var require_reflection_binary_writer = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-writer.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.ReflectionBinaryWriter = void 0; - var binary_format_contract_1 = require_binary_format_contract(); - var reflection_info_1 = require_reflection_info(); - var assert_1 = require_assert(); - var pb_long_1 = require_pb_long(); - var ReflectionBinaryWriter = class { - constructor(info7) { - this.info = info7; - } - prepare() { - if (!this.fields) { - const fieldsInput = this.info.fields ? this.info.fields.concat() : []; - this.fields = fieldsInput.sort((a, b) => a.no - b.no); + }, + readableHighWaterMark: { + __proto__: null, + enumerable: false, + get: function() { + return this._readableState.highWaterMark; } - } - /** - * Writes the message to binary format. - */ - write(message, writer, options) { - this.prepare(); - for (const field of this.fields) { - let value, emitDefault, repeated = field.repeat, localName = field.localName; - if (field.oneof) { - const group = message[field.oneof]; - if (group.oneofKind !== localName) - continue; - value = group[localName]; - emitDefault = true; - } else { - value = message[localName]; - emitDefault = false; + }, + readableBuffer: { + __proto__: null, + enumerable: false, + get: function() { + return this._readableState && this._readableState.buffer; + } + }, + readableFlowing: { + __proto__: null, + enumerable: false, + get: function() { + return this._readableState.flowing; + }, + set: function(state) { + if (this._readableState) { + this._readableState.flowing = state; } - switch (field.kind) { - case "scalar": - case "enum": - let T = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T; - if (repeated) { - assert_1.assert(Array.isArray(value)); - if (repeated == reflection_info_1.RepeatType.PACKED) - this.packed(writer, T, field.no, value); - else - for (const item of value) - this.scalar(writer, T, field.no, item, true); - } else if (value === void 0) - assert_1.assert(field.opt); - else - this.scalar(writer, T, field.no, value, emitDefault || field.opt); - break; - case "message": - if (repeated) { - assert_1.assert(Array.isArray(value)); - for (const item of value) - this.message(writer, options, field.T(), field.no, item); - } else { - this.message(writer, options, field.T(), field.no, value); - } - break; - case "map": - assert_1.assert(typeof value == "object" && value !== null); - for (const [key, val] of Object.entries(value)) - this.mapEntry(writer, options, field, key, val); - break; + } + }, + readableLength: { + __proto__: null, + enumerable: false, + get() { + return this._readableState.length; + } + }, + readableObjectMode: { + __proto__: null, + enumerable: false, + get() { + return this._readableState ? this._readableState.objectMode : false; + } + }, + readableEncoding: { + __proto__: null, + enumerable: false, + get() { + return this._readableState ? this._readableState.encoding : null; + } + }, + errored: { + __proto__: null, + enumerable: false, + get() { + return this._readableState ? this._readableState.errored : null; + } + }, + closed: { + __proto__: null, + get() { + return this._readableState ? this._readableState.closed : false; + } + }, + destroyed: { + __proto__: null, + enumerable: false, + get() { + return this._readableState ? this._readableState.destroyed : false; + }, + set(value) { + if (!this._readableState) { + return; } + this._readableState.destroyed = value; + } + }, + readableEnded: { + __proto__: null, + enumerable: false, + get() { + return this._readableState ? this._readableState.endEmitted : false; } - let u = options.writeUnknownFields; - if (u !== false) - (u === true ? binary_format_contract_1.UnknownFieldHandler.onWrite : u)(this.info.typeName, message, writer); } - mapEntry(writer, options, field, key, value) { - writer.tag(field.no, binary_format_contract_1.WireType.LengthDelimited); - writer.fork(); - let keyValue = key; - switch (field.K) { - case reflection_info_1.ScalarType.INT32: - case reflection_info_1.ScalarType.FIXED32: - case reflection_info_1.ScalarType.UINT32: - case reflection_info_1.ScalarType.SFIXED32: - case reflection_info_1.ScalarType.SINT32: - keyValue = Number.parseInt(key); - break; - case reflection_info_1.ScalarType.BOOL: - assert_1.assert(key == "true" || key == "false"); - keyValue = key == "true"; - break; + }); + ObjectDefineProperties(ReadableState.prototype, { + // Legacy getter for `pipesCount`. + pipesCount: { + __proto__: null, + get() { + return this.pipes.length; } - this.scalar(writer, field.K, 1, keyValue, true); - switch (field.V.kind) { - case "scalar": - this.scalar(writer, field.V.T, 2, value, true); - break; - case "enum": - this.scalar(writer, reflection_info_1.ScalarType.INT32, 2, value, true); - break; - case "message": - this.message(writer, options, field.V.T(), 2, value); - break; + }, + // Legacy property for `paused`. + paused: { + __proto__: null, + get() { + return this[kPaused] !== false; + }, + set(value) { + this[kPaused] = !!value; } - writer.join(); } - message(writer, options, handler2, fieldNo, value) { - if (value === void 0) - return; - handler2.internalBinaryWrite(value, writer.tag(fieldNo, binary_format_contract_1.WireType.LengthDelimited).fork(), options); - writer.join(); + }); + Readable._fromList = fromList; + function fromList(n, state) { + if (state.length === 0) return null; + let ret; + if (state.objectMode) ret = state.buffer.shift(); + else if (!n || n >= state.length) { + if (state.decoder) ret = state.buffer.join(""); + else if (state.buffer.length === 1) ret = state.buffer.first(); + else ret = state.buffer.concat(state.length); + state.buffer.clear(); + } else { + ret = state.buffer.consume(n, state.decoder); } - /** - * Write a single scalar value. - */ - scalar(writer, type2, fieldNo, value, emitDefault) { - let [wireType, method, isDefault] = this.scalarInfo(type2, value); - if (!isDefault || emitDefault) { - writer.tag(fieldNo, wireType); - writer[method](value); + return ret; + } + function endReadable(stream) { + const state = stream._readableState; + debug4("endReadable", state.endEmitted); + if (!state.endEmitted) { + state.ended = true; + process2.nextTick(endReadableNT, state, stream); + } + } + function endReadableNT(state, stream) { + debug4("endReadableNT", state.endEmitted, state.length); + if (!state.errored && !state.closeEmitted && !state.endEmitted && state.length === 0) { + state.endEmitted = true; + stream.emit("end"); + if (stream.writable && stream.allowHalfOpen === false) { + process2.nextTick(endWritableNT, stream); + } else if (state.autoDestroy) { + const wState = stream._writableState; + const autoDestroy = !wState || wState.autoDestroy && // We don't expect the writable to ever 'finish' + // if writable is explicitly set to false. + (wState.finished || wState.writable === false); + if (autoDestroy) { + stream.destroy(); + } } } - /** - * Write an array of scalar values in packed format. - */ - packed(writer, type2, fieldNo, value) { - if (!value.length) - return; - assert_1.assert(type2 !== reflection_info_1.ScalarType.BYTES && type2 !== reflection_info_1.ScalarType.STRING); - writer.tag(fieldNo, binary_format_contract_1.WireType.LengthDelimited); - writer.fork(); - let [, method] = this.scalarInfo(type2); - for (let i = 0; i < value.length; i++) - writer[method](value[i]); - writer.join(); + } + function endWritableNT(stream) { + const writable = stream.writable && !stream.writableEnded && !stream.destroyed; + if (writable) { + stream.end(); } - /** - * Get information for writing a scalar value. - * - * Returns tuple: - * [0]: appropriate WireType - * [1]: name of the appropriate method of IBinaryWriter - * [2]: whether the given value is a default value - * - * If argument `value` is omitted, [2] is always false. - */ - scalarInfo(type2, value) { - let t = binary_format_contract_1.WireType.Varint; - let m; - let i = value === void 0; - let d = value === 0; - switch (type2) { - case reflection_info_1.ScalarType.INT32: - m = "int32"; - break; - case reflection_info_1.ScalarType.STRING: - d = i || !value.length; - t = binary_format_contract_1.WireType.LengthDelimited; - m = "string"; - break; - case reflection_info_1.ScalarType.BOOL: - d = value === false; - m = "bool"; - break; - case reflection_info_1.ScalarType.UINT32: - m = "uint32"; - break; - case reflection_info_1.ScalarType.DOUBLE: - t = binary_format_contract_1.WireType.Bit64; - m = "double"; - break; - case reflection_info_1.ScalarType.FLOAT: - t = binary_format_contract_1.WireType.Bit32; - m = "float"; - break; - case reflection_info_1.ScalarType.INT64: - d = i || pb_long_1.PbLong.from(value).isZero(); - m = "int64"; - break; - case reflection_info_1.ScalarType.UINT64: - d = i || pb_long_1.PbULong.from(value).isZero(); - m = "uint64"; - break; - case reflection_info_1.ScalarType.FIXED64: - d = i || pb_long_1.PbULong.from(value).isZero(); - t = binary_format_contract_1.WireType.Bit64; - m = "fixed64"; - break; - case reflection_info_1.ScalarType.BYTES: - d = i || !value.byteLength; - t = binary_format_contract_1.WireType.LengthDelimited; - m = "bytes"; - break; - case reflection_info_1.ScalarType.FIXED32: - t = binary_format_contract_1.WireType.Bit32; - m = "fixed32"; - break; - case reflection_info_1.ScalarType.SFIXED32: - t = binary_format_contract_1.WireType.Bit32; - m = "sfixed32"; - break; - case reflection_info_1.ScalarType.SFIXED64: - d = i || pb_long_1.PbLong.from(value).isZero(); - t = binary_format_contract_1.WireType.Bit64; - m = "sfixed64"; - break; - case reflection_info_1.ScalarType.SINT32: - m = "sint32"; - break; - case reflection_info_1.ScalarType.SINT64: - d = i || pb_long_1.PbLong.from(value).isZero(); - m = "sint64"; - break; + } + Readable.from = function(iterable, opts) { + return from(Readable, iterable, opts); + }; + var webStreamsAdapters; + function lazyWebStreams() { + if (webStreamsAdapters === void 0) webStreamsAdapters = {}; + return webStreamsAdapters; + } + Readable.fromWeb = function(readableStream, options) { + return lazyWebStreams().newStreamReadableFromReadableStream(readableStream, options); + }; + Readable.toWeb = function(streamReadable, options) { + return lazyWebStreams().newReadableStreamFromStreamReadable(streamReadable, options); + }; + Readable.wrap = function(src, options) { + var _ref, _src$readableObjectMo; + return new Readable({ + objectMode: (_ref = (_src$readableObjectMo = src.readableObjectMode) !== null && _src$readableObjectMo !== void 0 ? _src$readableObjectMo : src.objectMode) !== null && _ref !== void 0 ? _ref : true, + ...options, + destroy(err, callback) { + destroyImpl.destroyer(src, err); + callback(err); } - return [t, m, i || d]; - } + }).wrap(src); }; - exports2.ReflectionBinaryWriter = ReflectionBinaryWriter; } }); -// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-create.js -var require_reflection_create = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-create.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.reflectionCreate = void 0; - var reflection_scalar_default_1 = require_reflection_scalar_default(); - var message_type_contract_1 = require_message_type_contract(); - function reflectionCreate(type2) { - const msg = type2.messagePrototype ? Object.create(type2.messagePrototype) : Object.defineProperty({}, message_type_contract_1.MESSAGE_TYPE, { value: type2 }); - for (let field of type2.fields) { - let name = field.localName; - if (field.opt) - continue; - if (field.oneof) - msg[field.oneof] = { oneofKind: void 0 }; - else if (field.repeat) - msg[name] = []; - else - switch (field.kind) { - case "scalar": - msg[name] = reflection_scalar_default_1.reflectionScalarDefault(field.T, field.L); - break; - case "enum": - msg[name] = 0; - break; - case "map": - msg[name] = {}; - break; - } +// node_modules/readable-stream/lib/internal/streams/writable.js +var require_writable = __commonJS({ + "node_modules/readable-stream/lib/internal/streams/writable.js"(exports2, module2) { + var process2 = require_process(); + var { + ArrayPrototypeSlice, + Error: Error2, + FunctionPrototypeSymbolHasInstance, + ObjectDefineProperty, + ObjectDefineProperties, + ObjectSetPrototypeOf, + StringPrototypeToLowerCase, + Symbol: Symbol2, + SymbolHasInstance + } = require_primordials(); + module2.exports = Writable; + Writable.WritableState = WritableState; + var { EventEmitter: EE } = require("events"); + var Stream = require_legacy().Stream; + var { Buffer: Buffer2 } = require("buffer"); + var destroyImpl = require_destroy2(); + var { addAbortSignal } = require_add_abort_signal(); + var { getHighWaterMark, getDefaultHighWaterMark } = require_state3(); + var { + ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, + ERR_METHOD_NOT_IMPLEMENTED, + ERR_MULTIPLE_CALLBACK, + ERR_STREAM_CANNOT_PIPE, + ERR_STREAM_DESTROYED, + ERR_STREAM_ALREADY_FINISHED, + ERR_STREAM_NULL_VALUES, + ERR_STREAM_WRITE_AFTER_END, + ERR_UNKNOWN_ENCODING + } = require_errors5().codes; + var { errorOrDestroy } = destroyImpl; + ObjectSetPrototypeOf(Writable.prototype, Stream.prototype); + ObjectSetPrototypeOf(Writable, Stream); + function nop() { + } + var kOnFinished = Symbol2("kOnFinished"); + function WritableState(options, stream, isDuplex) { + if (typeof isDuplex !== "boolean") isDuplex = stream instanceof require_duplex(); + this.objectMode = !!(options && options.objectMode); + if (isDuplex) this.objectMode = this.objectMode || !!(options && options.writableObjectMode); + this.highWaterMark = options ? getHighWaterMark(this, options, "writableHighWaterMark", isDuplex) : getDefaultHighWaterMark(false); + this.finalCalled = false; + this.needDrain = false; + this.ending = false; + this.ended = false; + this.finished = false; + this.destroyed = false; + const noDecode = !!(options && options.decodeStrings === false); + this.decodeStrings = !noDecode; + this.defaultEncoding = options && options.defaultEncoding || "utf8"; + this.length = 0; + this.writing = false; + this.corked = 0; + this.sync = true; + this.bufferProcessing = false; + this.onwrite = onwrite.bind(void 0, stream); + this.writecb = null; + this.writelen = 0; + this.afterWriteTickInfo = null; + resetBuffer(this); + this.pendingcb = 0; + this.constructed = true; + this.prefinished = false; + this.errorEmitted = false; + this.emitClose = !options || options.emitClose !== false; + this.autoDestroy = !options || options.autoDestroy !== false; + this.errored = null; + this.closed = false; + this.closeEmitted = false; + this[kOnFinished] = []; + } + function resetBuffer(state) { + state.buffered = []; + state.bufferedIndex = 0; + state.allBuffers = true; + state.allNoop = true; + } + WritableState.prototype.getBuffer = function getBuffer() { + return ArrayPrototypeSlice(this.buffered, this.bufferedIndex); + }; + ObjectDefineProperty(WritableState.prototype, "bufferedRequestCount", { + __proto__: null, + get() { + return this.buffered.length - this.bufferedIndex; } - return msg; + }); + function Writable(options) { + const isDuplex = this instanceof require_duplex(); + if (!isDuplex && !FunctionPrototypeSymbolHasInstance(Writable, this)) return new Writable(options); + this._writableState = new WritableState(options, this, isDuplex); + if (options) { + if (typeof options.write === "function") this._write = options.write; + if (typeof options.writev === "function") this._writev = options.writev; + if (typeof options.destroy === "function") this._destroy = options.destroy; + if (typeof options.final === "function") this._final = options.final; + if (typeof options.construct === "function") this._construct = options.construct; + if (options.signal) addAbortSignal(options.signal, this); + } + Stream.call(this, options); + destroyImpl.construct(this, () => { + const state = this._writableState; + if (!state.writing) { + clearBuffer(this, state); + } + finishMaybe(this, state); + }); } - exports2.reflectionCreate = reflectionCreate; - } -}); - -// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-merge-partial.js -var require_reflection_merge_partial = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-merge-partial.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.reflectionMergePartial = void 0; - function reflectionMergePartial(info7, target, source) { - let fieldValue, input = source, output; - for (let field of info7.fields) { - let name = field.localName; - if (field.oneof) { - const group = input[field.oneof]; - if ((group === null || group === void 0 ? void 0 : group.oneofKind) == void 0) { - continue; - } - fieldValue = group[name]; - output = target[field.oneof]; - output.oneofKind = group.oneofKind; - if (fieldValue == void 0) { - delete output[name]; - continue; + ObjectDefineProperty(Writable, SymbolHasInstance, { + __proto__: null, + value: function(object) { + if (FunctionPrototypeSymbolHasInstance(this, object)) return true; + if (this !== Writable) return false; + return object && object._writableState instanceof WritableState; + } + }); + Writable.prototype.pipe = function() { + errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE()); + }; + function _write(stream, chunk, encoding, cb) { + const state = stream._writableState; + if (typeof encoding === "function") { + cb = encoding; + encoding = state.defaultEncoding; + } else { + if (!encoding) encoding = state.defaultEncoding; + else if (encoding !== "buffer" && !Buffer2.isEncoding(encoding)) throw new ERR_UNKNOWN_ENCODING(encoding); + if (typeof cb !== "function") cb = nop; + } + if (chunk === null) { + throw new ERR_STREAM_NULL_VALUES(); + } else if (!state.objectMode) { + if (typeof chunk === "string") { + if (state.decodeStrings !== false) { + chunk = Buffer2.from(chunk, encoding); + encoding = "buffer"; } + } else if (chunk instanceof Buffer2) { + encoding = "buffer"; + } else if (Stream._isUint8Array(chunk)) { + chunk = Stream._uint8ArrayToBuffer(chunk); + encoding = "buffer"; } else { - fieldValue = input[name]; - output = target; - if (fieldValue == void 0) { - continue; - } - } - if (field.repeat) - output[name].length = fieldValue.length; - switch (field.kind) { - case "scalar": - case "enum": - if (field.repeat) - for (let i = 0; i < fieldValue.length; i++) - output[name][i] = fieldValue[i]; - else - output[name] = fieldValue; - break; - case "message": - let T = field.T(); - if (field.repeat) - for (let i = 0; i < fieldValue.length; i++) - output[name][i] = T.create(fieldValue[i]); - else if (output[name] === void 0) - output[name] = T.create(fieldValue); - else - T.mergePartial(output[name], fieldValue); - break; - case "map": - switch (field.V.kind) { - case "scalar": - case "enum": - Object.assign(output[name], fieldValue); - break; - case "message": - let T2 = field.V.T(); - for (let k of Object.keys(fieldValue)) - output[name][k] = T2.create(fieldValue[k]); - break; - } - break; + throw new ERR_INVALID_ARG_TYPE2("chunk", ["string", "Buffer", "Uint8Array"], chunk); } } + let err; + if (state.ending) { + err = new ERR_STREAM_WRITE_AFTER_END(); + } else if (state.destroyed) { + err = new ERR_STREAM_DESTROYED("write"); + } + if (err) { + process2.nextTick(cb, err); + errorOrDestroy(stream, err, true); + return err; + } + state.pendingcb++; + return writeOrBuffer(stream, state, chunk, encoding, cb); } - exports2.reflectionMergePartial = reflectionMergePartial; - } -}); - -// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-equals.js -var require_reflection_equals = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-equals.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.reflectionEquals = void 0; - var reflection_info_1 = require_reflection_info(); - function reflectionEquals(info7, a, b) { - if (a === b) - return true; - if (!a || !b) - return false; - for (let field of info7.fields) { - let localName = field.localName; - let val_a = field.oneof ? a[field.oneof][localName] : a[localName]; - let val_b = field.oneof ? b[field.oneof][localName] : b[localName]; - switch (field.kind) { - case "enum": - case "scalar": - let t = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T; - if (!(field.repeat ? repeatedPrimitiveEq(t, val_a, val_b) : primitiveEq(t, val_a, val_b))) - return false; - break; - case "map": - if (!(field.V.kind == "message" ? repeatedMsgEq(field.V.T(), objectValues(val_a), objectValues(val_b)) : repeatedPrimitiveEq(field.V.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.V.T, objectValues(val_a), objectValues(val_b)))) - return false; - break; - case "message": - let T = field.T(); - if (!(field.repeat ? repeatedMsgEq(T, val_a, val_b) : T.equals(val_a, val_b))) - return false; - break; + Writable.prototype.write = function(chunk, encoding, cb) { + return _write(this, chunk, encoding, cb) === true; + }; + Writable.prototype.cork = function() { + this._writableState.corked++; + }; + Writable.prototype.uncork = function() { + const state = this._writableState; + if (state.corked) { + state.corked--; + if (!state.writing) clearBuffer(this, state); + } + }; + Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) { + if (typeof encoding === "string") encoding = StringPrototypeToLowerCase(encoding); + if (!Buffer2.isEncoding(encoding)) throw new ERR_UNKNOWN_ENCODING(encoding); + this._writableState.defaultEncoding = encoding; + return this; + }; + function writeOrBuffer(stream, state, chunk, encoding, callback) { + const len = state.objectMode ? 1 : chunk.length; + state.length += len; + const ret = state.length < state.highWaterMark; + if (!ret) state.needDrain = true; + if (state.writing || state.corked || state.errored || !state.constructed) { + state.buffered.push({ + chunk, + encoding, + callback + }); + if (state.allBuffers && encoding !== "buffer") { + state.allBuffers = false; } + if (state.allNoop && callback !== nop) { + state.allNoop = false; + } + } else { + state.writelen = len; + state.writecb = callback; + state.writing = true; + state.sync = true; + stream._write(chunk, encoding, state.onwrite); + state.sync = false; } - return true; - } - exports2.reflectionEquals = reflectionEquals; - var objectValues = Object.values; - function primitiveEq(type2, a, b) { - if (a === b) - return true; - if (type2 !== reflection_info_1.ScalarType.BYTES) - return false; - let ba = a; - let bb = b; - if (ba.length !== bb.length) - return false; - for (let i = 0; i < ba.length; i++) - if (ba[i] != bb[i]) - return false; - return true; + return ret && !state.errored && !state.destroyed; } - function repeatedPrimitiveEq(type2, a, b) { - if (a.length !== b.length) - return false; - for (let i = 0; i < a.length; i++) - if (!primitiveEq(type2, a[i], b[i])) - return false; - return true; + function doWrite(stream, state, writev, len, chunk, encoding, cb) { + state.writelen = len; + state.writecb = cb; + state.writing = true; + state.sync = true; + if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED("write")); + else if (writev) stream._writev(chunk, state.onwrite); + else stream._write(chunk, encoding, state.onwrite); + state.sync = false; } - function repeatedMsgEq(type2, a, b) { - if (a.length !== b.length) - return false; - for (let i = 0; i < a.length; i++) - if (!type2.equals(a[i], b[i])) - return false; - return true; + function onwriteError(stream, state, er, cb) { + --state.pendingcb; + cb(er); + errorBuffer(state); + errorOrDestroy(stream, er); } - } -}); - -// node_modules/@protobuf-ts/runtime/build/commonjs/message-type.js -var require_message_type = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/message-type.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.MessageType = void 0; - var message_type_contract_1 = require_message_type_contract(); - var reflection_info_1 = require_reflection_info(); - var reflection_type_check_1 = require_reflection_type_check(); - var reflection_json_reader_1 = require_reflection_json_reader(); - var reflection_json_writer_1 = require_reflection_json_writer(); - var reflection_binary_reader_1 = require_reflection_binary_reader(); - var reflection_binary_writer_1 = require_reflection_binary_writer(); - var reflection_create_1 = require_reflection_create(); - var reflection_merge_partial_1 = require_reflection_merge_partial(); - var json_typings_1 = require_json_typings(); - var json_format_contract_1 = require_json_format_contract(); - var reflection_equals_1 = require_reflection_equals(); - var binary_writer_1 = require_binary_writer(); - var binary_reader_1 = require_binary_reader(); - var baseDescriptors = Object.getOwnPropertyDescriptors(Object.getPrototypeOf({})); - var messageTypeDescriptor = baseDescriptors[message_type_contract_1.MESSAGE_TYPE] = {}; - var MessageType = class { - constructor(name, fields, options) { - this.defaultCheckDepth = 16; - this.typeName = name; - this.fields = fields.map(reflection_info_1.normalizeFieldInfo); - this.options = options !== null && options !== void 0 ? options : {}; - messageTypeDescriptor.value = this; - this.messagePrototype = Object.create(null, baseDescriptors); - this.refTypeCheck = new reflection_type_check_1.ReflectionTypeCheck(this); - this.refJsonReader = new reflection_json_reader_1.ReflectionJsonReader(this); - this.refJsonWriter = new reflection_json_writer_1.ReflectionJsonWriter(this); - this.refBinReader = new reflection_binary_reader_1.ReflectionBinaryReader(this); - this.refBinWriter = new reflection_binary_writer_1.ReflectionBinaryWriter(this); + function onwrite(stream, er) { + const state = stream._writableState; + const sync = state.sync; + const cb = state.writecb; + if (typeof cb !== "function") { + errorOrDestroy(stream, new ERR_MULTIPLE_CALLBACK()); + return; } - create(value) { - let message = reflection_create_1.reflectionCreate(this); - if (value !== void 0) { - reflection_merge_partial_1.reflectionMergePartial(this, message, value); + state.writing = false; + state.writecb = null; + state.length -= state.writelen; + state.writelen = 0; + if (er) { + er.stack; + if (!state.errored) { + state.errored = er; + } + if (stream._readableState && !stream._readableState.errored) { + stream._readableState.errored = er; + } + if (sync) { + process2.nextTick(onwriteError, stream, state, er, cb); + } else { + onwriteError(stream, state, er, cb); + } + } else { + if (state.buffered.length > state.bufferedIndex) { + clearBuffer(stream, state); + } + if (sync) { + if (state.afterWriteTickInfo !== null && state.afterWriteTickInfo.cb === cb) { + state.afterWriteTickInfo.count++; + } else { + state.afterWriteTickInfo = { + count: 1, + cb, + stream, + state + }; + process2.nextTick(afterWriteTick, state.afterWriteTickInfo); + } + } else { + afterWrite(stream, state, 1, cb); } - return message; } - /** - * Clone the message. - * - * Unknown fields are discarded. - */ - clone(message) { - let copy = this.create(); - reflection_merge_partial_1.reflectionMergePartial(this, copy, message); - return copy; + } + function afterWriteTick({ stream, state, count, cb }) { + state.afterWriteTickInfo = null; + return afterWrite(stream, state, count, cb); + } + function afterWrite(stream, state, count, cb) { + const needDrain = !state.ending && !stream.destroyed && state.length === 0 && state.needDrain; + if (needDrain) { + state.needDrain = false; + stream.emit("drain"); } - /** - * Determines whether two message of the same type have the same field values. - * Checks for deep equality, traversing repeated fields, oneof groups, maps - * and messages recursively. - * Will also return true if both messages are `undefined`. - */ - equals(a, b) { - return reflection_equals_1.reflectionEquals(this, a, b); + while (count-- > 0) { + state.pendingcb--; + cb(); } - /** - * Is the given value assignable to our message type - * and contains no [excess properties](https://www.typescriptlang.org/docs/handbook/interfaces.html#excess-property-checks)? - */ - is(arg, depth = this.defaultCheckDepth) { - return this.refTypeCheck.is(arg, depth, false); + if (state.destroyed) { + errorBuffer(state); } - /** - * Is the given value assignable to our message type, - * regardless of [excess properties](https://www.typescriptlang.org/docs/handbook/interfaces.html#excess-property-checks)? - */ - isAssignable(arg, depth = this.defaultCheckDepth) { - return this.refTypeCheck.is(arg, depth, true); + finishMaybe(stream, state); + } + function errorBuffer(state) { + if (state.writing) { + return; } - /** - * Copy partial data into the target message. - */ - mergePartial(target, source) { - reflection_merge_partial_1.reflectionMergePartial(this, target, source); + for (let n = state.bufferedIndex; n < state.buffered.length; ++n) { + var _state$errored; + const { chunk, callback } = state.buffered[n]; + const len = state.objectMode ? 1 : chunk.length; + state.length -= len; + callback( + (_state$errored = state.errored) !== null && _state$errored !== void 0 ? _state$errored : new ERR_STREAM_DESTROYED("write") + ); } - /** - * Create a new message from binary format. - */ - fromBinary(data, options) { - let opt = binary_reader_1.binaryReadOptions(options); - return this.internalBinaryRead(opt.readerFactory(data), data.byteLength, opt); + const onfinishCallbacks = state[kOnFinished].splice(0); + for (let i = 0; i < onfinishCallbacks.length; i++) { + var _state$errored2; + onfinishCallbacks[i]( + (_state$errored2 = state.errored) !== null && _state$errored2 !== void 0 ? _state$errored2 : new ERR_STREAM_DESTROYED("end") + ); } - /** - * Read a new message from a JSON value. - */ - fromJson(json2, options) { - return this.internalJsonRead(json2, json_format_contract_1.jsonReadOptions(options)); + resetBuffer(state); + } + function clearBuffer(stream, state) { + if (state.corked || state.bufferProcessing || state.destroyed || !state.constructed) { + return; } - /** - * Read a new message from a JSON string. - * This is equivalent to `T.fromJson(JSON.parse(json))`. - */ - fromJsonString(json2, options) { - let value = JSON.parse(json2); - return this.fromJson(value, options); + const { buffered, bufferedIndex, objectMode } = state; + const bufferedLength = buffered.length - bufferedIndex; + if (!bufferedLength) { + return; } - /** - * Write the message to canonical JSON value. - */ - toJson(message, options) { - return this.internalJsonWrite(message, json_format_contract_1.jsonWriteOptions(options)); + let i = bufferedIndex; + state.bufferProcessing = true; + if (bufferedLength > 1 && stream._writev) { + state.pendingcb -= bufferedLength - 1; + const callback = state.allNoop ? nop : (err) => { + for (let n = i; n < buffered.length; ++n) { + buffered[n].callback(err); + } + }; + const chunks = state.allNoop && i === 0 ? buffered : ArrayPrototypeSlice(buffered, i); + chunks.allBuffers = state.allBuffers; + doWrite(stream, state, true, state.length, chunks, "", callback); + resetBuffer(state); + } else { + do { + const { chunk, encoding, callback } = buffered[i]; + buffered[i++] = null; + const len = objectMode ? 1 : chunk.length; + doWrite(stream, state, false, len, chunk, encoding, callback); + } while (i < buffered.length && !state.writing); + if (i === buffered.length) { + resetBuffer(state); + } else if (i > 256) { + buffered.splice(0, i); + state.bufferedIndex = 0; + } else { + state.bufferedIndex = i; + } } - /** - * Convert the message to canonical JSON string. - * This is equivalent to `JSON.stringify(T.toJson(t))` - */ - toJsonString(message, options) { - var _a; - let value = this.toJson(message, options); - return JSON.stringify(value, null, (_a = options === null || options === void 0 ? void 0 : options.prettySpaces) !== null && _a !== void 0 ? _a : 0); + state.bufferProcessing = false; + } + Writable.prototype._write = function(chunk, encoding, cb) { + if (this._writev) { + this._writev( + [ + { + chunk, + encoding + } + ], + cb + ); + } else { + throw new ERR_METHOD_NOT_IMPLEMENTED("_write()"); } - /** - * Write the message to binary format. - */ - toBinary(message, options) { - let opt = binary_writer_1.binaryWriteOptions(options); - return this.internalBinaryWrite(message, opt.writerFactory(), opt).finish(); + }; + Writable.prototype._writev = null; + Writable.prototype.end = function(chunk, encoding, cb) { + const state = this._writableState; + if (typeof chunk === "function") { + cb = chunk; + chunk = null; + encoding = null; + } else if (typeof encoding === "function") { + cb = encoding; + encoding = null; } - /** - * This is an internal method. If you just want to read a message from - * JSON, use `fromJson()` or `fromJsonString()`. - * - * Reads JSON value and merges the fields into the target - * according to protobuf rules. If the target is omitted, - * a new instance is created first. - */ - internalJsonRead(json2, options, target) { - if (json2 !== null && typeof json2 == "object" && !Array.isArray(json2)) { - let message = target !== null && target !== void 0 ? target : this.create(); - this.refJsonReader.read(json2, message, options); - return message; + let err; + if (chunk !== null && chunk !== void 0) { + const ret = _write(this, chunk, encoding); + if (ret instanceof Error2) { + err = ret; } - throw new Error(`Unable to parse message ${this.typeName} from JSON ${json_typings_1.typeofJsonValue(json2)}.`); } - /** - * This is an internal method. If you just want to write a message - * to JSON, use `toJson()` or `toJsonString(). - * - * Writes JSON value and returns it. - */ - internalJsonWrite(message, options) { - return this.refJsonWriter.write(message, options); + if (state.corked) { + state.corked = 1; + this.uncork(); } - /** - * This is an internal method. If you just want to write a message - * in binary format, use `toBinary()`. - * - * Serializes the message in binary format and appends it to the given - * writer. Returns passed writer. - */ - internalBinaryWrite(message, writer, options) { - this.refBinWriter.write(message, writer, options); - return writer; + if (err) { + } else if (!state.errored && !state.ending) { + state.ending = true; + finishMaybe(this, state, true); + state.ended = true; + } else if (state.finished) { + err = new ERR_STREAM_ALREADY_FINISHED("end"); + } else if (state.destroyed) { + err = new ERR_STREAM_DESTROYED("end"); } - /** - * This is an internal method. If you just want to read a message from - * binary data, use `fromBinary()`. - * - * Reads data from binary format and merges the fields into - * the target according to protobuf rules. If the target is - * omitted, a new instance is created first. - */ - internalBinaryRead(reader, length, options, target) { - let message = target !== null && target !== void 0 ? target : this.create(); - this.refBinReader.read(reader, message, options, length); - return message; + if (typeof cb === "function") { + if (err || state.finished) { + process2.nextTick(cb, err); + } else { + state[kOnFinished].push(cb); + } } + return this; }; - exports2.MessageType = MessageType; - } -}); - -// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-contains-message-type.js -var require_reflection_contains_message_type = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-contains-message-type.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.containsMessageType = void 0; - var message_type_contract_1 = require_message_type_contract(); - function containsMessageType(msg) { - return msg[message_type_contract_1.MESSAGE_TYPE] != null; + function needFinish(state) { + return state.ending && !state.destroyed && state.constructed && state.length === 0 && !state.errored && state.buffered.length === 0 && !state.finished && !state.writing && !state.errorEmitted && !state.closeEmitted; } - exports2.containsMessageType = containsMessageType; - } -}); - -// node_modules/@protobuf-ts/runtime/build/commonjs/enum-object.js -var require_enum_object = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/enum-object.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.listEnumNumbers = exports2.listEnumNames = exports2.listEnumValues = exports2.isEnumObject = void 0; - function isEnumObject(arg) { - if (typeof arg != "object" || arg === null) { - return false; + function callFinal(stream, state) { + let called = false; + function onFinish(err) { + if (called) { + errorOrDestroy(stream, err !== null && err !== void 0 ? err : ERR_MULTIPLE_CALLBACK()); + return; + } + called = true; + state.pendingcb--; + if (err) { + const onfinishCallbacks = state[kOnFinished].splice(0); + for (let i = 0; i < onfinishCallbacks.length; i++) { + onfinishCallbacks[i](err); + } + errorOrDestroy(stream, err, state.sync); + } else if (needFinish(state)) { + state.prefinished = true; + stream.emit("prefinish"); + state.pendingcb++; + process2.nextTick(finish, stream, state); + } } - if (!arg.hasOwnProperty(0)) { - return false; + state.sync = true; + state.pendingcb++; + try { + stream._final(onFinish); + } catch (err) { + onFinish(err); } - for (let k of Object.keys(arg)) { - let num = parseInt(k); - if (!Number.isNaN(num)) { - let nam = arg[num]; - if (nam === void 0) - return false; - if (arg[nam] !== num) - return false; + state.sync = false; + } + function prefinish(stream, state) { + if (!state.prefinished && !state.finalCalled) { + if (typeof stream._final === "function" && !state.destroyed) { + state.finalCalled = true; + callFinal(stream, state); } else { - let num2 = arg[k]; - if (num2 === void 0) - return false; - if (typeof num2 !== "number") - return false; - if (arg[num2] === void 0) - return false; + state.prefinished = true; + stream.emit("prefinish"); } } - return true; - } - exports2.isEnumObject = isEnumObject; - function listEnumValues(enumObject) { - if (!isEnumObject(enumObject)) - throw new Error("not a typescript enum object"); - let values = []; - for (let [name, number] of Object.entries(enumObject)) - if (typeof number == "number") - values.push({ name, number }); - return values; - } - exports2.listEnumValues = listEnumValues; - function listEnumNames(enumObject) { - return listEnumValues(enumObject).map((val) => val.name); - } - exports2.listEnumNames = listEnumNames; - function listEnumNumbers(enumObject) { - return listEnumValues(enumObject).map((val) => val.number).filter((num, index, arr) => arr.indexOf(num) == index); - } - exports2.listEnumNumbers = listEnumNumbers; - } -}); - -// node_modules/@protobuf-ts/runtime/build/commonjs/index.js -var require_commonjs16 = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - var json_typings_1 = require_json_typings(); - Object.defineProperty(exports2, "typeofJsonValue", { enumerable: true, get: function() { - return json_typings_1.typeofJsonValue; - } }); - Object.defineProperty(exports2, "isJsonObject", { enumerable: true, get: function() { - return json_typings_1.isJsonObject; - } }); - var base64_1 = require_base642(); - Object.defineProperty(exports2, "base64decode", { enumerable: true, get: function() { - return base64_1.base64decode; - } }); - Object.defineProperty(exports2, "base64encode", { enumerable: true, get: function() { - return base64_1.base64encode; - } }); - var protobufjs_utf8_1 = require_protobufjs_utf8(); - Object.defineProperty(exports2, "utf8read", { enumerable: true, get: function() { - return protobufjs_utf8_1.utf8read; - } }); - var binary_format_contract_1 = require_binary_format_contract(); - Object.defineProperty(exports2, "WireType", { enumerable: true, get: function() { - return binary_format_contract_1.WireType; - } }); - Object.defineProperty(exports2, "mergeBinaryOptions", { enumerable: true, get: function() { - return binary_format_contract_1.mergeBinaryOptions; - } }); - Object.defineProperty(exports2, "UnknownFieldHandler", { enumerable: true, get: function() { - return binary_format_contract_1.UnknownFieldHandler; - } }); - var binary_reader_1 = require_binary_reader(); - Object.defineProperty(exports2, "BinaryReader", { enumerable: true, get: function() { - return binary_reader_1.BinaryReader; - } }); - Object.defineProperty(exports2, "binaryReadOptions", { enumerable: true, get: function() { - return binary_reader_1.binaryReadOptions; - } }); - var binary_writer_1 = require_binary_writer(); - Object.defineProperty(exports2, "BinaryWriter", { enumerable: true, get: function() { - return binary_writer_1.BinaryWriter; - } }); - Object.defineProperty(exports2, "binaryWriteOptions", { enumerable: true, get: function() { - return binary_writer_1.binaryWriteOptions; - } }); - var pb_long_1 = require_pb_long(); - Object.defineProperty(exports2, "PbLong", { enumerable: true, get: function() { - return pb_long_1.PbLong; - } }); - Object.defineProperty(exports2, "PbULong", { enumerable: true, get: function() { - return pb_long_1.PbULong; - } }); - var json_format_contract_1 = require_json_format_contract(); - Object.defineProperty(exports2, "jsonReadOptions", { enumerable: true, get: function() { - return json_format_contract_1.jsonReadOptions; - } }); - Object.defineProperty(exports2, "jsonWriteOptions", { enumerable: true, get: function() { - return json_format_contract_1.jsonWriteOptions; - } }); - Object.defineProperty(exports2, "mergeJsonOptions", { enumerable: true, get: function() { - return json_format_contract_1.mergeJsonOptions; - } }); - var message_type_contract_1 = require_message_type_contract(); - Object.defineProperty(exports2, "MESSAGE_TYPE", { enumerable: true, get: function() { - return message_type_contract_1.MESSAGE_TYPE; - } }); - var message_type_1 = require_message_type(); - Object.defineProperty(exports2, "MessageType", { enumerable: true, get: function() { - return message_type_1.MessageType; - } }); - var reflection_info_1 = require_reflection_info(); - Object.defineProperty(exports2, "ScalarType", { enumerable: true, get: function() { - return reflection_info_1.ScalarType; - } }); - Object.defineProperty(exports2, "LongType", { enumerable: true, get: function() { - return reflection_info_1.LongType; - } }); - Object.defineProperty(exports2, "RepeatType", { enumerable: true, get: function() { - return reflection_info_1.RepeatType; - } }); - Object.defineProperty(exports2, "normalizeFieldInfo", { enumerable: true, get: function() { - return reflection_info_1.normalizeFieldInfo; - } }); - Object.defineProperty(exports2, "readFieldOptions", { enumerable: true, get: function() { - return reflection_info_1.readFieldOptions; - } }); - Object.defineProperty(exports2, "readFieldOption", { enumerable: true, get: function() { - return reflection_info_1.readFieldOption; - } }); - Object.defineProperty(exports2, "readMessageOption", { enumerable: true, get: function() { - return reflection_info_1.readMessageOption; - } }); - var reflection_type_check_1 = require_reflection_type_check(); - Object.defineProperty(exports2, "ReflectionTypeCheck", { enumerable: true, get: function() { - return reflection_type_check_1.ReflectionTypeCheck; - } }); - var reflection_create_1 = require_reflection_create(); - Object.defineProperty(exports2, "reflectionCreate", { enumerable: true, get: function() { - return reflection_create_1.reflectionCreate; - } }); - var reflection_scalar_default_1 = require_reflection_scalar_default(); - Object.defineProperty(exports2, "reflectionScalarDefault", { enumerable: true, get: function() { - return reflection_scalar_default_1.reflectionScalarDefault; - } }); - var reflection_merge_partial_1 = require_reflection_merge_partial(); - Object.defineProperty(exports2, "reflectionMergePartial", { enumerable: true, get: function() { - return reflection_merge_partial_1.reflectionMergePartial; - } }); - var reflection_equals_1 = require_reflection_equals(); - Object.defineProperty(exports2, "reflectionEquals", { enumerable: true, get: function() { - return reflection_equals_1.reflectionEquals; - } }); - var reflection_binary_reader_1 = require_reflection_binary_reader(); - Object.defineProperty(exports2, "ReflectionBinaryReader", { enumerable: true, get: function() { - return reflection_binary_reader_1.ReflectionBinaryReader; - } }); - var reflection_binary_writer_1 = require_reflection_binary_writer(); - Object.defineProperty(exports2, "ReflectionBinaryWriter", { enumerable: true, get: function() { - return reflection_binary_writer_1.ReflectionBinaryWriter; - } }); - var reflection_json_reader_1 = require_reflection_json_reader(); - Object.defineProperty(exports2, "ReflectionJsonReader", { enumerable: true, get: function() { - return reflection_json_reader_1.ReflectionJsonReader; - } }); - var reflection_json_writer_1 = require_reflection_json_writer(); - Object.defineProperty(exports2, "ReflectionJsonWriter", { enumerable: true, get: function() { - return reflection_json_writer_1.ReflectionJsonWriter; - } }); - var reflection_contains_message_type_1 = require_reflection_contains_message_type(); - Object.defineProperty(exports2, "containsMessageType", { enumerable: true, get: function() { - return reflection_contains_message_type_1.containsMessageType; - } }); - var oneof_1 = require_oneof(); - Object.defineProperty(exports2, "isOneofGroup", { enumerable: true, get: function() { - return oneof_1.isOneofGroup; - } }); - Object.defineProperty(exports2, "setOneofValue", { enumerable: true, get: function() { - return oneof_1.setOneofValue; - } }); - Object.defineProperty(exports2, "getOneofValue", { enumerable: true, get: function() { - return oneof_1.getOneofValue; - } }); - Object.defineProperty(exports2, "clearOneofValue", { enumerable: true, get: function() { - return oneof_1.clearOneofValue; - } }); - Object.defineProperty(exports2, "getSelectedOneofValue", { enumerable: true, get: function() { - return oneof_1.getSelectedOneofValue; - } }); - var enum_object_1 = require_enum_object(); - Object.defineProperty(exports2, "listEnumValues", { enumerable: true, get: function() { - return enum_object_1.listEnumValues; - } }); - Object.defineProperty(exports2, "listEnumNames", { enumerable: true, get: function() { - return enum_object_1.listEnumNames; - } }); - Object.defineProperty(exports2, "listEnumNumbers", { enumerable: true, get: function() { - return enum_object_1.listEnumNumbers; - } }); - Object.defineProperty(exports2, "isEnumObject", { enumerable: true, get: function() { - return enum_object_1.isEnumObject; - } }); - var lower_camel_case_1 = require_lower_camel_case(); - Object.defineProperty(exports2, "lowerCamelCase", { enumerable: true, get: function() { - return lower_camel_case_1.lowerCamelCase; - } }); - var assert_1 = require_assert(); - Object.defineProperty(exports2, "assert", { enumerable: true, get: function() { - return assert_1.assert; - } }); - Object.defineProperty(exports2, "assertNever", { enumerable: true, get: function() { - return assert_1.assertNever; - } }); - Object.defineProperty(exports2, "assertInt32", { enumerable: true, get: function() { - return assert_1.assertInt32; - } }); - Object.defineProperty(exports2, "assertUInt32", { enumerable: true, get: function() { - return assert_1.assertUInt32; - } }); - Object.defineProperty(exports2, "assertFloat32", { enumerable: true, get: function() { - return assert_1.assertFloat32; - } }); - } -}); - -// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/reflection-info.js -var require_reflection_info2 = __commonJS({ - "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/reflection-info.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.readServiceOption = exports2.readMethodOption = exports2.readMethodOptions = exports2.normalizeMethodInfo = void 0; - var runtime_1 = require_commonjs16(); - function normalizeMethodInfo(method, service) { - var _a, _b, _c; - let m = method; - m.service = service; - m.localName = (_a = m.localName) !== null && _a !== void 0 ? _a : runtime_1.lowerCamelCase(m.name); - m.serverStreaming = !!m.serverStreaming; - m.clientStreaming = !!m.clientStreaming; - m.options = (_b = m.options) !== null && _b !== void 0 ? _b : {}; - m.idempotency = (_c = m.idempotency) !== null && _c !== void 0 ? _c : void 0; - return m; } - exports2.normalizeMethodInfo = normalizeMethodInfo; - function readMethodOptions(service, methodName, extensionName, extensionType) { - var _a; - const options = (_a = service.methods.find((m, i) => m.localName === methodName || i === methodName)) === null || _a === void 0 ? void 0 : _a.options; - return options && options[extensionName] ? extensionType.fromJson(options[extensionName]) : void 0; + function finishMaybe(stream, state, sync) { + if (needFinish(state)) { + prefinish(stream, state); + if (state.pendingcb === 0) { + if (sync) { + state.pendingcb++; + process2.nextTick( + (stream2, state2) => { + if (needFinish(state2)) { + finish(stream2, state2); + } else { + state2.pendingcb--; + } + }, + stream, + state + ); + } else if (needFinish(state)) { + state.pendingcb++; + finish(stream, state); + } + } + } } - exports2.readMethodOptions = readMethodOptions; - function readMethodOption(service, methodName, extensionName, extensionType) { - var _a; - const options = (_a = service.methods.find((m, i) => m.localName === methodName || i === methodName)) === null || _a === void 0 ? void 0 : _a.options; - if (!options) { - return void 0; + function finish(stream, state) { + state.pendingcb--; + state.finished = true; + const onfinishCallbacks = state[kOnFinished].splice(0); + for (let i = 0; i < onfinishCallbacks.length; i++) { + onfinishCallbacks[i](); } - const optionVal = options[extensionName]; - if (optionVal === void 0) { - return optionVal; + stream.emit("finish"); + if (state.autoDestroy) { + const rState = stream._readableState; + const autoDestroy = !rState || rState.autoDestroy && // We don't expect the readable to ever 'end' + // if readable is explicitly set to false. + (rState.endEmitted || rState.readable === false); + if (autoDestroy) { + stream.destroy(); + } } - return extensionType ? extensionType.fromJson(optionVal) : optionVal; } - exports2.readMethodOption = readMethodOption; - function readServiceOption(service, extensionName, extensionType) { - const options = service.options; - if (!options) { - return void 0; + ObjectDefineProperties(Writable.prototype, { + closed: { + __proto__: null, + get() { + return this._writableState ? this._writableState.closed : false; + } + }, + destroyed: { + __proto__: null, + get() { + return this._writableState ? this._writableState.destroyed : false; + }, + set(value) { + if (this._writableState) { + this._writableState.destroyed = value; + } + } + }, + writable: { + __proto__: null, + get() { + const w = this._writableState; + return !!w && w.writable !== false && !w.destroyed && !w.errored && !w.ending && !w.ended; + }, + set(val) { + if (this._writableState) { + this._writableState.writable = !!val; + } + } + }, + writableFinished: { + __proto__: null, + get() { + return this._writableState ? this._writableState.finished : false; + } + }, + writableObjectMode: { + __proto__: null, + get() { + return this._writableState ? this._writableState.objectMode : false; + } + }, + writableBuffer: { + __proto__: null, + get() { + return this._writableState && this._writableState.getBuffer(); + } + }, + writableEnded: { + __proto__: null, + get() { + return this._writableState ? this._writableState.ending : false; + } + }, + writableNeedDrain: { + __proto__: null, + get() { + const wState = this._writableState; + if (!wState) return false; + return !wState.destroyed && !wState.ending && wState.needDrain; + } + }, + writableHighWaterMark: { + __proto__: null, + get() { + return this._writableState && this._writableState.highWaterMark; + } + }, + writableCorked: { + __proto__: null, + get() { + return this._writableState ? this._writableState.corked : 0; + } + }, + writableLength: { + __proto__: null, + get() { + return this._writableState && this._writableState.length; + } + }, + errored: { + __proto__: null, + enumerable: false, + get() { + return this._writableState ? this._writableState.errored : null; + } + }, + writableAborted: { + __proto__: null, + enumerable: false, + get: function() { + return !!(this._writableState.writable !== false && (this._writableState.destroyed || this._writableState.errored) && !this._writableState.finished); + } } - const optionVal = options[extensionName]; - if (optionVal === void 0) { - return optionVal; + }); + var destroy = destroyImpl.destroy; + Writable.prototype.destroy = function(err, cb) { + const state = this._writableState; + if (!state.destroyed && (state.bufferedIndex < state.buffered.length || state[kOnFinished].length)) { + process2.nextTick(errorBuffer, state); } - return extensionType ? extensionType.fromJson(optionVal) : optionVal; + destroy.call(this, err, cb); + return this; + }; + Writable.prototype._undestroy = destroyImpl.undestroy; + Writable.prototype._destroy = function(err, cb) { + cb(err); + }; + Writable.prototype[EE.captureRejectionSymbol] = function(err) { + this.destroy(err); + }; + var webStreamsAdapters; + function lazyWebStreams() { + if (webStreamsAdapters === void 0) webStreamsAdapters = {}; + return webStreamsAdapters; } - exports2.readServiceOption = readServiceOption; + Writable.fromWeb = function(writableStream, options) { + return lazyWebStreams().newStreamWritableFromWritableStream(writableStream, options); + }; + Writable.toWeb = function(streamWritable) { + return lazyWebStreams().newWritableStreamFromStreamWritable(streamWritable); + }; } }); -// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/service-type.js -var require_service_type = __commonJS({ - "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/service-type.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.ServiceType = void 0; - var reflection_info_1 = require_reflection_info2(); - var ServiceType = class { - constructor(typeName, methods, options) { - this.typeName = typeName; - this.methods = methods.map((i) => reflection_info_1.normalizeMethodInfo(i, this)); - this.options = options !== null && options !== void 0 ? options : {}; +// node_modules/readable-stream/lib/internal/streams/duplexify.js +var require_duplexify = __commonJS({ + "node_modules/readable-stream/lib/internal/streams/duplexify.js"(exports2, module2) { + var process2 = require_process(); + var bufferModule = require("buffer"); + var { + isReadable, + isWritable, + isIterable, + isNodeStream, + isReadableNodeStream, + isWritableNodeStream, + isDuplexNodeStream, + isReadableStream, + isWritableStream + } = require_utils8(); + var eos = require_end_of_stream(); + var { + AbortError, + codes: { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_RETURN_VALUE } + } = require_errors5(); + var { destroyer } = require_destroy2(); + var Duplex = require_duplex(); + var Readable = require_readable4(); + var Writable = require_writable(); + var { createDeferredPromise } = require_util21(); + var from = require_from(); + var Blob2 = globalThis.Blob || bufferModule.Blob; + var isBlob = typeof Blob2 !== "undefined" ? function isBlob2(b) { + return b instanceof Blob2; + } : function isBlob2(b) { + return false; + }; + var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController; + var { FunctionPrototypeCall } = require_primordials(); + var Duplexify = class extends Duplex { + constructor(options) { + super(options); + if ((options === null || options === void 0 ? void 0 : options.readable) === false) { + this._readableState.readable = false; + this._readableState.ended = true; + this._readableState.endEmitted = true; + } + if ((options === null || options === void 0 ? void 0 : options.writable) === false) { + this._writableState.writable = false; + this._writableState.ending = true; + this._writableState.ended = true; + this._writableState.finished = true; + } } }; - exports2.ServiceType = ServiceType; - } -}); - -// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-error.js -var require_rpc_error = __commonJS({ - "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-error.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.RpcError = void 0; - var RpcError = class extends Error { - constructor(message, code = "UNKNOWN", meta) { - super(message); - this.name = "RpcError"; - Object.setPrototypeOf(this, new.target.prototype); - this.code = code; - this.meta = meta !== null && meta !== void 0 ? meta : {}; + module2.exports = function duplexify(body, name) { + if (isDuplexNodeStream(body)) { + return body; } - toString() { - const l = [this.name + ": " + this.message]; - if (this.code) { - l.push(""); - l.push("Code: " + this.code); + if (isReadableNodeStream(body)) { + return _duplexify({ + readable: body + }); + } + if (isWritableNodeStream(body)) { + return _duplexify({ + writable: body + }); + } + if (isNodeStream(body)) { + return _duplexify({ + writable: false, + readable: false + }); + } + if (isReadableStream(body)) { + return _duplexify({ + readable: Readable.fromWeb(body) + }); + } + if (isWritableStream(body)) { + return _duplexify({ + writable: Writable.fromWeb(body) + }); + } + if (typeof body === "function") { + const { value, write, final, destroy } = fromAsyncGen(body); + if (isIterable(value)) { + return from(Duplexify, value, { + // TODO (ronag): highWaterMark? + objectMode: true, + write, + final, + destroy + }); } - if (this.serviceName && this.methodName) { - l.push("Method: " + this.serviceName + "/" + this.methodName); + const then2 = value === null || value === void 0 ? void 0 : value.then; + if (typeof then2 === "function") { + let d; + const promise = FunctionPrototypeCall( + then2, + value, + (val) => { + if (val != null) { + throw new ERR_INVALID_RETURN_VALUE("nully", "body", val); + } + }, + (err) => { + destroyer(d, err); + } + ); + return d = new Duplexify({ + // TODO (ronag): highWaterMark? + objectMode: true, + readable: false, + write, + final(cb) { + final(async () => { + try { + await promise; + process2.nextTick(cb, null); + } catch (err) { + process2.nextTick(cb, err); + } + }); + }, + destroy + }); } - let m = Object.entries(this.meta); - if (m.length) { - l.push(""); - l.push("Meta:"); - for (let [k, v] of m) { - l.push(` ${k}: ${v}`); + throw new ERR_INVALID_RETURN_VALUE("Iterable, AsyncIterable or AsyncFunction", name, value); + } + if (isBlob(body)) { + return duplexify(body.arrayBuffer()); + } + if (isIterable(body)) { + return from(Duplexify, body, { + // TODO (ronag): highWaterMark? + objectMode: true, + writable: false + }); + } + if (isReadableStream(body === null || body === void 0 ? void 0 : body.readable) && isWritableStream(body === null || body === void 0 ? void 0 : body.writable)) { + return Duplexify.fromWeb(body); + } + if (typeof (body === null || body === void 0 ? void 0 : body.writable) === "object" || typeof (body === null || body === void 0 ? void 0 : body.readable) === "object") { + const readable = body !== null && body !== void 0 && body.readable ? isReadableNodeStream(body === null || body === void 0 ? void 0 : body.readable) ? body === null || body === void 0 ? void 0 : body.readable : duplexify(body.readable) : void 0; + const writable = body !== null && body !== void 0 && body.writable ? isWritableNodeStream(body === null || body === void 0 ? void 0 : body.writable) ? body === null || body === void 0 ? void 0 : body.writable : duplexify(body.writable) : void 0; + return _duplexify({ + readable, + writable + }); + } + const then = body === null || body === void 0 ? void 0 : body.then; + if (typeof then === "function") { + let d; + FunctionPrototypeCall( + then, + body, + (val) => { + if (val != null) { + d.push(val); + } + d.push(null); + }, + (err) => { + destroyer(d, err); + } + ); + return d = new Duplexify({ + objectMode: true, + writable: false, + read() { + } + }); + } + throw new ERR_INVALID_ARG_TYPE2( + name, + [ + "Blob", + "ReadableStream", + "WritableStream", + "Stream", + "Iterable", + "AsyncIterable", + "Function", + "{ readable, writable } pair", + "Promise" + ], + body + ); + }; + function fromAsyncGen(fn) { + let { promise, resolve: resolve5 } = createDeferredPromise(); + const ac = new AbortController2(); + const signal = ac.signal; + const value = fn( + (async function* () { + while (true) { + const _promise = promise; + promise = null; + const { chunk, done, cb } = await _promise; + process2.nextTick(cb); + if (done) return; + if (signal.aborted) + throw new AbortError(void 0, { + cause: signal.reason + }); + ({ promise, resolve: resolve5 } = createDeferredPromise()); + yield chunk; } + })(), + { + signal + } + ); + return { + value, + write(chunk, encoding, cb) { + const _resolve = resolve5; + resolve5 = null; + _resolve({ + chunk, + done: false, + cb + }); + }, + final(cb) { + const _resolve = resolve5; + resolve5 = null; + _resolve({ + done: true, + cb + }); + }, + destroy(err, cb) { + ac.abort(); + cb(err); + } + }; + } + function _duplexify(pair) { + const r = pair.readable && typeof pair.readable.read !== "function" ? Readable.wrap(pair.readable) : pair.readable; + const w = pair.writable; + let readable = !!isReadable(r); + let writable = !!isWritable(w); + let ondrain; + let onfinish; + let onreadable; + let onclose; + let d; + function onfinished(err) { + const cb = onclose; + onclose = null; + if (cb) { + cb(err); + } else if (err) { + d.destroy(err); + } + } + d = new Duplexify({ + // TODO (ronag): highWaterMark? + readableObjectMode: !!(r !== null && r !== void 0 && r.readableObjectMode), + writableObjectMode: !!(w !== null && w !== void 0 && w.writableObjectMode), + readable, + writable + }); + if (writable) { + eos(w, (err) => { + writable = false; + if (err) { + destroyer(r, err); + } + onfinished(err); + }); + d._write = function(chunk, encoding, callback) { + if (w.write(chunk, encoding)) { + callback(); + } else { + ondrain = callback; + } + }; + d._final = function(callback) { + w.end(); + onfinish = callback; + }; + w.on("drain", function() { + if (ondrain) { + const cb = ondrain; + ondrain = null; + cb(); + } + }); + w.on("finish", function() { + if (onfinish) { + const cb = onfinish; + onfinish = null; + cb(); + } + }); + } + if (readable) { + eos(r, (err) => { + readable = false; + if (err) { + destroyer(r, err); + } + onfinished(err); + }); + r.on("readable", function() { + if (onreadable) { + const cb = onreadable; + onreadable = null; + cb(); + } + }); + r.on("end", function() { + d.push(null); + }); + d._read = function() { + while (true) { + const buf = r.read(); + if (buf === null) { + onreadable = d._read; + return; + } + if (!d.push(buf)) { + return; + } + } + }; + } + d._destroy = function(err, callback) { + if (!err && onclose !== null) { + err = new AbortError(); + } + onreadable = null; + ondrain = null; + onfinish = null; + if (onclose === null) { + callback(err); + } else { + onclose = callback; + destroyer(w, err); + destroyer(r, err); } - return l.join("\n"); - } - }; - exports2.RpcError = RpcError; + }; + return d; + } } }); -// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-options.js -var require_rpc_options = __commonJS({ - "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-options.js"(exports2) { +// node_modules/readable-stream/lib/internal/streams/duplex.js +var require_duplex = __commonJS({ + "node_modules/readable-stream/lib/internal/streams/duplex.js"(exports2, module2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.mergeRpcOptions = void 0; - var runtime_1 = require_commonjs16(); - function mergeRpcOptions(defaults, options) { - if (!options) - return defaults; - let o = {}; - copy(defaults, o); - copy(options, o); - for (let key of Object.keys(options)) { - let val = options[key]; - switch (key) { - case "jsonOptions": - o.jsonOptions = runtime_1.mergeJsonOptions(defaults.jsonOptions, o.jsonOptions); - break; - case "binaryOptions": - o.binaryOptions = runtime_1.mergeBinaryOptions(defaults.binaryOptions, o.binaryOptions); - break; - case "meta": - o.meta = {}; - copy(defaults.meta, o.meta); - copy(options.meta, o.meta); - break; - case "interceptors": - o.interceptors = defaults.interceptors ? defaults.interceptors.concat(val) : val.concat(); - break; - } + var { + ObjectDefineProperties, + ObjectGetOwnPropertyDescriptor, + ObjectKeys, + ObjectSetPrototypeOf + } = require_primordials(); + module2.exports = Duplex; + var Readable = require_readable4(); + var Writable = require_writable(); + ObjectSetPrototypeOf(Duplex.prototype, Readable.prototype); + ObjectSetPrototypeOf(Duplex, Readable); + { + const keys = ObjectKeys(Writable.prototype); + for (let i = 0; i < keys.length; i++) { + const method = keys[i]; + if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method]; } - return o; } - exports2.mergeRpcOptions = mergeRpcOptions; - function copy(a, into) { - if (!a) - return; - let c = into; - for (let [k, v] of Object.entries(a)) { - if (v instanceof Date) - c[k] = new Date(v.getTime()); - else if (Array.isArray(v)) - c[k] = v.concat(); - else - c[k] = v; + function Duplex(options) { + if (!(this instanceof Duplex)) return new Duplex(options); + Readable.call(this, options); + Writable.call(this, options); + if (options) { + this.allowHalfOpen = options.allowHalfOpen !== false; + if (options.readable === false) { + this._readableState.readable = false; + this._readableState.ended = true; + this._readableState.endEmitted = true; + } + if (options.writable === false) { + this._writableState.writable = false; + this._writableState.ending = true; + this._writableState.ended = true; + this._writableState.finished = true; + } + } else { + this.allowHalfOpen = true; } } - } -}); - -// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/deferred.js -var require_deferred = __commonJS({ - "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/deferred.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.Deferred = exports2.DeferredState = void 0; - var DeferredState; - (function(DeferredState2) { - DeferredState2[DeferredState2["PENDING"] = 0] = "PENDING"; - DeferredState2[DeferredState2["REJECTED"] = 1] = "REJECTED"; - DeferredState2[DeferredState2["RESOLVED"] = 2] = "RESOLVED"; - })(DeferredState = exports2.DeferredState || (exports2.DeferredState = {})); - var Deferred = class { - /** - * @param preventUnhandledRejectionWarning - prevents the warning - * "Unhandled Promise rejection" by adding a noop rejection handler. - * Working with calls returned from the runtime-rpc package in an - * async function usually means awaiting one call property after - * the other. This means that the "status" is not being awaited when - * an earlier await for the "headers" is rejected. This causes the - * "unhandled promise reject" warning. A more correct behaviour for - * calls might be to become aware whether at least one of the - * promises is handled and swallow the rejection warning for the - * others. - */ - constructor(preventUnhandledRejectionWarning = true) { - this._state = DeferredState.PENDING; - this._promise = new Promise((resolve5, reject) => { - this._resolve = resolve5; - this._reject = reject; - }); - if (preventUnhandledRejectionWarning) { - this._promise.catch((_2) => { - }); + ObjectDefineProperties(Duplex.prototype, { + writable: { + __proto__: null, + ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writable") + }, + writableHighWaterMark: { + __proto__: null, + ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableHighWaterMark") + }, + writableObjectMode: { + __proto__: null, + ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableObjectMode") + }, + writableBuffer: { + __proto__: null, + ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableBuffer") + }, + writableLength: { + __proto__: null, + ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableLength") + }, + writableFinished: { + __proto__: null, + ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableFinished") + }, + writableCorked: { + __proto__: null, + ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableCorked") + }, + writableEnded: { + __proto__: null, + ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableEnded") + }, + writableNeedDrain: { + __proto__: null, + ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableNeedDrain") + }, + destroyed: { + __proto__: null, + get() { + if (this._readableState === void 0 || this._writableState === void 0) { + return false; + } + return this._readableState.destroyed && this._writableState.destroyed; + }, + set(value) { + if (this._readableState && this._writableState) { + this._readableState.destroyed = value; + this._writableState.destroyed = value; + } } } - /** - * Get the current state of the promise. - */ - get state() { - return this._state; - } - /** - * Get the deferred promise. - */ - get promise() { - return this._promise; - } - /** - * Resolve the promise. Throws if the promise is already resolved or rejected. - */ - resolve(value) { - if (this.state !== DeferredState.PENDING) - throw new Error(`cannot resolve ${DeferredState[this.state].toLowerCase()}`); - this._resolve(value); - this._state = DeferredState.RESOLVED; - } - /** - * Reject the promise. Throws if the promise is already resolved or rejected. - */ - reject(reason) { - if (this.state !== DeferredState.PENDING) - throw new Error(`cannot reject ${DeferredState[this.state].toLowerCase()}`); - this._reject(reason); - this._state = DeferredState.REJECTED; - } - /** - * Resolve the promise. Ignore if not pending. - */ - resolvePending(val) { - if (this._state === DeferredState.PENDING) - this.resolve(val); - } - /** - * Reject the promise. Ignore if not pending. - */ - rejectPending(reason) { - if (this._state === DeferredState.PENDING) - this.reject(reason); + }); + var webStreamsAdapters; + function lazyWebStreams() { + if (webStreamsAdapters === void 0) webStreamsAdapters = {}; + return webStreamsAdapters; + } + Duplex.fromWeb = function(pair, options) { + return lazyWebStreams().newStreamDuplexFromReadableWritablePair(pair, options); + }; + Duplex.toWeb = function(duplex) { + return lazyWebStreams().newReadableWritablePairFromDuplex(duplex); + }; + var duplexify; + Duplex.from = function(body) { + if (!duplexify) { + duplexify = require_duplexify(); } + return duplexify(body, "body"); }; - exports2.Deferred = Deferred; } }); -// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-output-stream.js -var require_rpc_output_stream = __commonJS({ - "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-output-stream.js"(exports2) { +// node_modules/readable-stream/lib/internal/streams/transform.js +var require_transform = __commonJS({ + "node_modules/readable-stream/lib/internal/streams/transform.js"(exports2, module2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.RpcOutputStreamController = void 0; - var deferred_1 = require_deferred(); - var runtime_1 = require_commonjs16(); - var RpcOutputStreamController = class { - constructor() { - this._lis = { - nxt: [], - msg: [], - err: [], - cmp: [] - }; - this._closed = false; - this._itState = { q: [] }; - } - // --- RpcOutputStream callback API - onNext(callback) { - return this.addLis(callback, this._lis.nxt); - } - onMessage(callback) { - return this.addLis(callback, this._lis.msg); - } - onError(callback) { - return this.addLis(callback, this._lis.err); - } - onComplete(callback) { - return this.addLis(callback, this._lis.cmp); - } - addLis(callback, list) { - list.push(callback); - return () => { - let i = list.indexOf(callback); - if (i >= 0) - list.splice(i, 1); + var { ObjectSetPrototypeOf, Symbol: Symbol2 } = require_primordials(); + module2.exports = Transform; + var { ERR_METHOD_NOT_IMPLEMENTED } = require_errors5().codes; + var Duplex = require_duplex(); + var { getHighWaterMark } = require_state3(); + ObjectSetPrototypeOf(Transform.prototype, Duplex.prototype); + ObjectSetPrototypeOf(Transform, Duplex); + var kCallback = Symbol2("kCallback"); + function Transform(options) { + if (!(this instanceof Transform)) return new Transform(options); + const readableHighWaterMark = options ? getHighWaterMark(this, options, "readableHighWaterMark", true) : null; + if (readableHighWaterMark === 0) { + options = { + ...options, + highWaterMark: null, + readableHighWaterMark, + // TODO (ronag): 0 is not optimal since we have + // a "bug" where we check needDrain before calling _write and not after. + // Refs: https://github.com/nodejs/node/pull/32887 + // Refs: https://github.com/nodejs/node/pull/35941 + writableHighWaterMark: options.writableHighWaterMark || 0 }; } - // remove all listeners - clearLis() { - for (let l of Object.values(this._lis)) - l.splice(0, l.length); - } - // --- Controller API - /** - * Is this stream already closed by a completion or error? - */ - get closed() { - return this._closed !== false; - } - /** - * Emit message, close with error, or close successfully, but only one - * at a time. - * Can be used to wrap a stream by using the other stream's `onNext`. - */ - notifyNext(message, error3, complete) { - runtime_1.assert((message ? 1 : 0) + (error3 ? 1 : 0) + (complete ? 1 : 0) <= 1, "only one emission at a time"); - if (message) - this.notifyMessage(message); - if (error3) - this.notifyError(error3); - if (complete) - this.notifyComplete(); - } - /** - * Emits a new message. Throws if stream is closed. - * - * Triggers onNext and onMessage callbacks. - */ - notifyMessage(message) { - runtime_1.assert(!this.closed, "stream is closed"); - this.pushIt({ value: message, done: false }); - this._lis.msg.forEach((l) => l(message)); - this._lis.nxt.forEach((l) => l(message, void 0, false)); - } - /** - * Closes the stream with an error. Throws if stream is closed. - * - * Triggers onNext and onError callbacks. - */ - notifyError(error3) { - runtime_1.assert(!this.closed, "stream is closed"); - this._closed = error3; - this.pushIt(error3); - this._lis.err.forEach((l) => l(error3)); - this._lis.nxt.forEach((l) => l(void 0, error3, false)); - this.clearLis(); - } - /** - * Closes the stream successfully. Throws if stream is closed. - * - * Triggers onNext and onComplete callbacks. - */ - notifyComplete() { - runtime_1.assert(!this.closed, "stream is closed"); - this._closed = true; - this.pushIt({ value: null, done: true }); - this._lis.cmp.forEach((l) => l()); - this._lis.nxt.forEach((l) => l(void 0, void 0, true)); - this.clearLis(); + Duplex.call(this, options); + this._readableState.sync = false; + this[kCallback] = null; + if (options) { + if (typeof options.transform === "function") this._transform = options.transform; + if (typeof options.flush === "function") this._flush = options.flush; } - /** - * Creates an async iterator (that can be used with `for await {...}`) - * to consume the stream. - * - * Some things to note: - * - If an error occurs, the `for await` will throw it. - * - If an error occurred before the `for await` was started, `for await` - * will re-throw it. - * - If the stream is already complete, the `for await` will be empty. - * - If your `for await` consumes slower than the stream produces, - * for example because you are relaying messages in a slow operation, - * messages are queued. - */ - [Symbol.asyncIterator]() { - if (this._closed === true) - this.pushIt({ value: null, done: true }); - else if (this._closed !== false) - this.pushIt(this._closed); - return { - next: () => { - let state = this._itState; - runtime_1.assert(state, "bad state"); - runtime_1.assert(!state.p, "iterator contract broken"); - let first = state.q.shift(); - if (first) - return "value" in first ? Promise.resolve(first) : Promise.reject(first); - state.p = new deferred_1.Deferred(); - return state.p.promise; + this.on("prefinish", prefinish); + } + function final(cb) { + if (typeof this._flush === "function" && !this.destroyed) { + this._flush((er, data) => { + if (er) { + if (cb) { + cb(er); + } else { + this.destroy(er); + } + return; } - }; - } - // "push" a new iterator result. - // this either resolves a pending promise, or enqueues the result. - pushIt(result) { - let state = this._itState; - if (state.p) { - const p = state.p; - runtime_1.assert(p.state == deferred_1.DeferredState.PENDING, "iterator contract broken"); - "value" in result ? p.resolve(result) : p.reject(result); - delete state.p; - } else { - state.q.push(result); + if (data != null) { + this.push(data); + } + this.push(null); + if (cb) { + cb(); + } + }); + } else { + this.push(null); + if (cb) { + cb(); } } - }; - exports2.RpcOutputStreamController = RpcOutputStreamController; - } -}); - -// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/unary-call.js -var require_unary_call = __commonJS({ - "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/unary-call.js"(exports2) { - "use strict"; - var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve5) { - resolve5(value); - }); + } + function prefinish() { + if (this._final !== final) { + final.call(this); } - return new (P || (P = Promise))(function(resolve5, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } + } + Transform.prototype._final = final; + Transform.prototype._transform = function(chunk, encoding, callback) { + throw new ERR_METHOD_NOT_IMPLEMENTED("_transform()"); + }; + Transform.prototype._write = function(chunk, encoding, callback) { + const rState = this._readableState; + const wState = this._writableState; + const length = rState.length; + this._transform(chunk, encoding, (err, val) => { + if (err) { + callback(err); + return; } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } + if (val != null) { + this.push(val); } - function step(result) { - result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); + if (wState.ended || // Backwards compat. + length === rState.length || // Backwards compat. + rState.length < rState.highWaterMark) { + callback(); + } else { + this[kCallback] = callback; } - step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.UnaryCall = void 0; - var UnaryCall = class { - constructor(method, requestHeaders, request2, headers, response, status, trailers) { - this.method = method; - this.requestHeaders = requestHeaders; - this.request = request2; - this.headers = headers; - this.response = response; - this.status = status; - this.trailers = trailers; - } - /** - * If you are only interested in the final outcome of this call, - * you can await it to receive a `FinishedUnaryCall`. - */ - then(onfulfilled, onrejected) { - return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason)); - } - promiseFinished() { - return __awaiter2(this, void 0, void 0, function* () { - let [headers, response, status, trailers] = yield Promise.all([this.headers, this.response, this.status, this.trailers]); - return { - method: this.method, - requestHeaders: this.requestHeaders, - request: this.request, - headers, - response, - status, - trailers - }; - }); + Transform.prototype._read = function() { + if (this[kCallback]) { + const callback = this[kCallback]; + this[kCallback] = null; + callback(); } }; - exports2.UnaryCall = UnaryCall; } }); -// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-streaming-call.js -var require_server_streaming_call = __commonJS({ - "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-streaming-call.js"(exports2) { +// node_modules/readable-stream/lib/internal/streams/passthrough.js +var require_passthrough2 = __commonJS({ + "node_modules/readable-stream/lib/internal/streams/passthrough.js"(exports2, module2) { "use strict"; - var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve5) { - resolve5(value); - }); + var { ObjectSetPrototypeOf } = require_primordials(); + module2.exports = PassThrough; + var Transform = require_transform(); + ObjectSetPrototypeOf(PassThrough.prototype, Transform.prototype); + ObjectSetPrototypeOf(PassThrough, Transform); + function PassThrough(options) { + if (!(this instanceof PassThrough)) return new PassThrough(options); + Transform.call(this, options); + } + PassThrough.prototype._transform = function(chunk, encoding, cb) { + cb(null, chunk); + }; + } +}); + +// node_modules/readable-stream/lib/internal/streams/pipeline.js +var require_pipeline4 = __commonJS({ + "node_modules/readable-stream/lib/internal/streams/pipeline.js"(exports2, module2) { + var process2 = require_process(); + var { ArrayIsArray, Promise: Promise2, SymbolAsyncIterator, SymbolDispose } = require_primordials(); + var eos = require_end_of_stream(); + var { once } = require_util21(); + var destroyImpl = require_destroy2(); + var Duplex = require_duplex(); + var { + aggregateTwoErrors, + codes: { + ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, + ERR_INVALID_RETURN_VALUE, + ERR_MISSING_ARGS, + ERR_STREAM_DESTROYED, + ERR_STREAM_PREMATURE_CLOSE + }, + AbortError + } = require_errors5(); + var { validateFunction, validateAbortSignal } = require_validators(); + var { + isIterable, + isReadable, + isReadableNodeStream, + isNodeStream, + isTransformStream, + isWebStream, + isReadableStream, + isReadableFinished + } = require_utils8(); + var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController; + var PassThrough; + var Readable; + var addAbortListener; + function destroyer(stream, reading, writing) { + let finished = false; + stream.on("close", () => { + finished = true; + }); + const cleanup = eos( + stream, + { + readable: reading, + writable: writing + }, + (err) => { + finished = !err; + } + ); + return { + destroy: (err) => { + if (finished) return; + finished = true; + destroyImpl.destroyer(stream, err || new ERR_STREAM_DESTROYED("pipe")); + }, + cleanup + }; + } + function popCallback(streams) { + validateFunction(streams[streams.length - 1], "streams[stream.length - 1]"); + return streams.pop(); + } + function makeAsyncIterable(val) { + if (isIterable(val)) { + return val; + } else if (isReadableNodeStream(val)) { + return fromReadable(val); } - return new (P || (P = Promise))(function(resolve5, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } + throw new ERR_INVALID_ARG_TYPE2("val", ["Readable", "Iterable", "AsyncIterable"], val); + } + async function* fromReadable(val) { + if (!Readable) { + Readable = require_readable4(); + } + yield* Readable.prototype[SymbolAsyncIterator].call(val); + } + async function pumpToNode(iterable, writable, finish, { end }) { + let error3; + let onresolve = null; + const resume = (err) => { + if (err) { + error3 = err; } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } + if (onresolve) { + const callback = onresolve; + onresolve = null; + callback(); } - function step(result) { - result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); + }; + const wait = () => new Promise2((resolve5, reject) => { + if (error3) { + reject(error3); + } else { + onresolve = () => { + if (error3) { + reject(error3); + } else { + resolve5(); + } + }; } - step((generator = generator.apply(thisArg, _arguments || [])).next()); }); - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.ServerStreamingCall = void 0; - var ServerStreamingCall = class { - constructor(method, requestHeaders, request2, headers, response, status, trailers) { - this.method = method; - this.requestHeaders = requestHeaders; - this.request = request2; - this.headers = headers; - this.responses = response; - this.status = status; - this.trailers = trailers; - } - /** - * Instead of awaiting the response status and trailers, you can - * just as well await this call itself to receive the server outcome. - * You should first setup some listeners to the `request` to - * see the actual messages the server replied with. - */ - then(onfulfilled, onrejected) { - return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason)); - } - promiseFinished() { - return __awaiter2(this, void 0, void 0, function* () { - let [headers, status, trailers] = yield Promise.all([this.headers, this.status, this.trailers]); - return { - method: this.method, - requestHeaders: this.requestHeaders, - request: this.request, - headers, - status, - trailers - }; - }); + writable.on("drain", resume); + const cleanup = eos( + writable, + { + readable: false + }, + resume + ); + try { + if (writable.writableNeedDrain) { + await wait(); + } + for await (const chunk of iterable) { + if (!writable.write(chunk)) { + await wait(); + } + } + if (end) { + writable.end(); + await wait(); + } + finish(); + } catch (err) { + finish(error3 !== err ? aggregateTwoErrors(error3, err) : err); + } finally { + cleanup(); + writable.off("drain", resume); } - }; - exports2.ServerStreamingCall = ServerStreamingCall; - } -}); - -// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/client-streaming-call.js -var require_client_streaming_call = __commonJS({ - "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/client-streaming-call.js"(exports2) { - "use strict"; - var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve5) { - resolve5(value); - }); + } + async function pumpToWeb(readable, writable, finish, { end }) { + if (isTransformStream(writable)) { + writable = writable.writable; } - return new (P || (P = Promise))(function(resolve5, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } + const writer = writable.getWriter(); + try { + for await (const chunk of readable) { + await writer.ready; + writer.write(chunk).catch(() => { + }); } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } + await writer.ready; + if (end) { + await writer.close(); } - function step(result) { - result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); + finish(); + } catch (err) { + try { + await writer.abort(err); + finish(err); + } catch (err2) { + finish(err2); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.ClientStreamingCall = void 0; - var ClientStreamingCall = class { - constructor(method, requestHeaders, request2, headers, response, status, trailers) { - this.method = method; - this.requestHeaders = requestHeaders; - this.requests = request2; - this.headers = headers; - this.response = response; - this.status = status; - this.trailers = trailers; } - /** - * Instead of awaiting the response status and trailers, you can - * just as well await this call itself to receive the server outcome. - * Note that it may still be valid to send more request messages. - */ - then(onfulfilled, onrejected) { - return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason)); + } + function pipeline(...streams) { + return pipelineImpl(streams, once(popCallback(streams))); + } + function pipelineImpl(streams, callback, opts) { + if (streams.length === 1 && ArrayIsArray(streams[0])) { + streams = streams[0]; } - promiseFinished() { - return __awaiter2(this, void 0, void 0, function* () { - let [headers, response, status, trailers] = yield Promise.all([this.headers, this.response, this.status, this.trailers]); - return { - method: this.method, - requestHeaders: this.requestHeaders, - headers, - response, - status, - trailers - }; - }); + if (streams.length < 2) { + throw new ERR_MISSING_ARGS("streams"); } - }; - exports2.ClientStreamingCall = ClientStreamingCall; - } -}); - -// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/duplex-streaming-call.js -var require_duplex_streaming_call = __commonJS({ - "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/duplex-streaming-call.js"(exports2) { - "use strict"; - var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve5) { - resolve5(value); - }); + const ac = new AbortController2(); + const signal = ac.signal; + const outerSignal = opts === null || opts === void 0 ? void 0 : opts.signal; + const lastStreamCleanup = []; + validateAbortSignal(outerSignal, "options.signal"); + function abort() { + finishImpl(new AbortError()); } - return new (P || (P = Promise))(function(resolve5, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); + addAbortListener = addAbortListener || require_util21().addAbortListener; + let disposable; + if (outerSignal) { + disposable = addAbortListener(outerSignal, abort); + } + let error3; + let value; + const destroys = []; + let finishCount = 0; + function finish(err) { + finishImpl(err, --finishCount === 0); + } + function finishImpl(err, final) { + var _disposable; + if (err && (!error3 || error3.code === "ERR_STREAM_PREMATURE_CLOSE")) { + error3 = err; + } + if (!error3 && !final) { + return; + } + while (destroys.length) { + destroys.shift()(error3); + } + ; + (_disposable = disposable) === null || _disposable === void 0 ? void 0 : _disposable[SymbolDispose](); + ac.abort(); + if (final) { + if (!error3) { + lastStreamCleanup.forEach((fn) => fn()); } + process2.nextTick(callback, error3, value); } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); + } + let ret; + for (let i = 0; i < streams.length; i++) { + const stream = streams[i]; + const reading = i < streams.length - 1; + const writing = i > 0; + const end = reading || (opts === null || opts === void 0 ? void 0 : opts.end) !== false; + const isLastStream = i === streams.length - 1; + if (isNodeStream(stream)) { + let onError2 = function(err) { + if (err && err.name !== "AbortError" && err.code !== "ERR_STREAM_PREMATURE_CLOSE") { + finish(err); + } + }; + var onError = onError2; + if (end) { + const { destroy, cleanup } = destroyer(stream, reading, writing); + destroys.push(destroy); + if (isReadable(stream) && isLastStream) { + lastStreamCleanup.push(cleanup); + } + } + stream.on("error", onError2); + if (isReadable(stream) && isLastStream) { + lastStreamCleanup.push(() => { + stream.removeListener("error", onError2); + }); + } + } + if (i === 0) { + if (typeof stream === "function") { + ret = stream({ + signal + }); + if (!isIterable(ret)) { + throw new ERR_INVALID_RETURN_VALUE("Iterable, AsyncIterable or Stream", "source", ret); + } + } else if (isIterable(stream) || isReadableNodeStream(stream) || isTransformStream(stream)) { + ret = stream; + } else { + ret = Duplex.from(stream); + } + } else if (typeof stream === "function") { + if (isTransformStream(ret)) { + var _ret; + ret = makeAsyncIterable((_ret = ret) === null || _ret === void 0 ? void 0 : _ret.readable); + } else { + ret = makeAsyncIterable(ret); + } + ret = stream(ret, { + signal + }); + if (reading) { + if (!isIterable(ret, true)) { + throw new ERR_INVALID_RETURN_VALUE("AsyncIterable", `transform[${i - 1}]`, ret); + } + } else { + var _ret2; + if (!PassThrough) { + PassThrough = require_passthrough2(); + } + const pt = new PassThrough({ + objectMode: true + }); + const then = (_ret2 = ret) === null || _ret2 === void 0 ? void 0 : _ret2.then; + if (typeof then === "function") { + finishCount++; + then.call( + ret, + (val) => { + value = val; + if (val != null) { + pt.write(val); + } + if (end) { + pt.end(); + } + process2.nextTick(finish); + }, + (err) => { + pt.destroy(err); + process2.nextTick(finish, err); + } + ); + } else if (isIterable(ret, true)) { + finishCount++; + pumpToNode(ret, pt, finish, { + end + }); + } else if (isReadableStream(ret) || isTransformStream(ret)) { + const toRead = ret.readable || ret; + finishCount++; + pumpToNode(toRead, pt, finish, { + end + }); + } else { + throw new ERR_INVALID_RETURN_VALUE("AsyncIterable or Promise", "destination", ret); + } + ret = pt; + const { destroy, cleanup } = destroyer(ret, false, true); + destroys.push(destroy); + if (isLastStream) { + lastStreamCleanup.push(cleanup); + } + } + } else if (isNodeStream(stream)) { + if (isReadableNodeStream(ret)) { + finishCount += 2; + const cleanup = pipe(ret, stream, finish, { + end + }); + if (isReadable(stream) && isLastStream) { + lastStreamCleanup.push(cleanup); + } + } else if (isTransformStream(ret) || isReadableStream(ret)) { + const toRead = ret.readable || ret; + finishCount++; + pumpToNode(toRead, stream, finish, { + end + }); + } else if (isIterable(ret)) { + finishCount++; + pumpToNode(ret, stream, finish, { + end + }); + } else { + throw new ERR_INVALID_ARG_TYPE2( + "val", + ["Readable", "Iterable", "AsyncIterable", "ReadableStream", "TransformStream"], + ret + ); + } + ret = stream; + } else if (isWebStream(stream)) { + if (isReadableNodeStream(ret)) { + finishCount++; + pumpToWeb(makeAsyncIterable(ret), stream, finish, { + end + }); + } else if (isReadableStream(ret) || isIterable(ret)) { + finishCount++; + pumpToWeb(ret, stream, finish, { + end + }); + } else if (isTransformStream(ret)) { + finishCount++; + pumpToWeb(ret.readable, stream, finish, { + end + }); + } else { + throw new ERR_INVALID_ARG_TYPE2( + "val", + ["Readable", "Iterable", "AsyncIterable", "ReadableStream", "TransformStream"], + ret + ); } + ret = stream; + } else { + ret = Duplex.from(stream); } - function step(result) { - result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.DuplexStreamingCall = void 0; - var DuplexStreamingCall = class { - constructor(method, requestHeaders, request2, headers, response, status, trailers) { - this.method = method; - this.requestHeaders = requestHeaders; - this.requests = request2; - this.headers = headers; - this.responses = response; - this.status = status; - this.trailers = trailers; } - /** - * Instead of awaiting the response status and trailers, you can - * just as well await this call itself to receive the server outcome. - * Note that it may still be valid to send more request messages. - */ - then(onfulfilled, onrejected) { - return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason)); + if (signal !== null && signal !== void 0 && signal.aborted || outerSignal !== null && outerSignal !== void 0 && outerSignal.aborted) { + process2.nextTick(abort); } - promiseFinished() { - return __awaiter2(this, void 0, void 0, function* () { - let [headers, status, trailers] = yield Promise.all([this.headers, this.status, this.trailers]); - return { - method: this.method, - requestHeaders: this.requestHeaders, - headers, - status, - trailers - }; - }); + return ret; + } + function pipe(src, dst, finish, { end }) { + let ended = false; + dst.on("close", () => { + if (!ended) { + finish(new ERR_STREAM_PREMATURE_CLOSE()); + } + }); + src.pipe(dst, { + end: false + }); + if (end) { + let endFn2 = function() { + ended = true; + dst.end(); + }; + var endFn = endFn2; + if (isReadableFinished(src)) { + process2.nextTick(endFn2); + } else { + src.once("end", endFn2); + } + } else { + finish(); } + eos( + src, + { + readable: true, + writable: false + }, + (err) => { + const rState = src._readableState; + if (err && err.code === "ERR_STREAM_PREMATURE_CLOSE" && rState && rState.ended && !rState.errored && !rState.errorEmitted) { + src.once("end", finish).once("error", finish); + } else { + finish(err); + } + } + ); + return eos( + dst, + { + readable: false, + writable: true + }, + finish + ); + } + module2.exports = { + pipelineImpl, + pipeline }; - exports2.DuplexStreamingCall = DuplexStreamingCall; } }); -// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/test-transport.js -var require_test_transport = __commonJS({ - "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/test-transport.js"(exports2) { +// node_modules/readable-stream/lib/internal/streams/compose.js +var require_compose = __commonJS({ + "node_modules/readable-stream/lib/internal/streams/compose.js"(exports2, module2) { "use strict"; - var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve5) { - resolve5(value); - }); - } - return new (P || (P = Promise))(function(resolve5, 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 ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.TestTransport = void 0; - var rpc_error_1 = require_rpc_error(); - var runtime_1 = require_commonjs16(); - var rpc_output_stream_1 = require_rpc_output_stream(); - var rpc_options_1 = require_rpc_options(); - var unary_call_1 = require_unary_call(); - var server_streaming_call_1 = require_server_streaming_call(); - var client_streaming_call_1 = require_client_streaming_call(); - var duplex_streaming_call_1 = require_duplex_streaming_call(); - var TestTransport = class _TestTransport { - /** - * Initialize with mock data. Omitted fields have default value. - */ - constructor(data) { - this.suppressUncaughtRejections = true; - this.headerDelay = 10; - this.responseDelay = 50; - this.betweenResponseDelay = 10; - this.afterResponseDelay = 10; - this.data = data !== null && data !== void 0 ? data : {}; + var { pipeline } = require_pipeline4(); + var Duplex = require_duplex(); + var { destroyer } = require_destroy2(); + var { + isNodeStream, + isReadable, + isWritable, + isWebStream, + isTransformStream, + isWritableStream, + isReadableStream + } = require_utils8(); + var { + AbortError, + codes: { ERR_INVALID_ARG_VALUE, ERR_MISSING_ARGS } + } = require_errors5(); + var eos = require_end_of_stream(); + module2.exports = function compose(...streams) { + if (streams.length === 0) { + throw new ERR_MISSING_ARGS("streams"); } - /** - * Sent message(s) during the last operation. - */ - get sentMessages() { - if (this.lastInput instanceof TestInputStream) { - return this.lastInput.sent; - } else if (typeof this.lastInput == "object") { - return [this.lastInput.single]; - } - return []; + if (streams.length === 1) { + return Duplex.from(streams[0]); } - /** - * Sending message(s) completed? - */ - get sendComplete() { - if (this.lastInput instanceof TestInputStream) { - return this.lastInput.completed; - } else if (typeof this.lastInput == "object") { - return true; - } - return false; + const orgStreams = [...streams]; + if (typeof streams[0] === "function") { + streams[0] = Duplex.from(streams[0]); } - // Creates a promise for response headers from the mock data. - promiseHeaders() { - var _a; - const headers = (_a = this.data.headers) !== null && _a !== void 0 ? _a : _TestTransport.defaultHeaders; - return headers instanceof rpc_error_1.RpcError ? Promise.reject(headers) : Promise.resolve(headers); + if (typeof streams[streams.length - 1] === "function") { + const idx = streams.length - 1; + streams[idx] = Duplex.from(streams[idx]); } - // Creates a promise for a single, valid, message from the mock data. - promiseSingleResponse(method) { - if (this.data.response instanceof rpc_error_1.RpcError) { - return Promise.reject(this.data.response); + for (let n = 0; n < streams.length; ++n) { + if (!isNodeStream(streams[n]) && !isWebStream(streams[n])) { + continue; } - let r; - if (Array.isArray(this.data.response)) { - runtime_1.assert(this.data.response.length > 0); - r = this.data.response[0]; - } else if (this.data.response !== void 0) { - r = this.data.response; - } else { - r = method.O.create(); + if (n < streams.length - 1 && !(isReadable(streams[n]) || isReadableStream(streams[n]) || isTransformStream(streams[n]))) { + throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`, orgStreams[n], "must be readable"); + } + if (n > 0 && !(isWritable(streams[n]) || isWritableStream(streams[n]) || isTransformStream(streams[n]))) { + throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`, orgStreams[n], "must be writable"); } - runtime_1.assert(method.O.is(r)); - return Promise.resolve(r); } - /** - * Pushes response messages from the mock data to the output stream. - * If an error response, status or trailers are mocked, the stream is - * closed with the respective error. - * Otherwise, stream is completed successfully. - * - * The returned promise resolves when the stream is closed. It should - * not reject. If it does, code is broken. - */ - streamResponses(method, stream, abort) { - return __awaiter2(this, void 0, void 0, function* () { - const messages = []; - if (this.data.response === void 0) { - messages.push(method.O.create()); - } else if (Array.isArray(this.data.response)) { - for (let msg of this.data.response) { - runtime_1.assert(method.O.is(msg)); - messages.push(msg); + let ondrain; + let onfinish; + let onreadable; + let onclose; + let d; + function onfinished(err) { + const cb = onclose; + onclose = null; + if (cb) { + cb(err); + } else if (err) { + d.destroy(err); + } else if (!readable && !writable) { + d.destroy(); + } + } + const head = streams[0]; + const tail = pipeline(streams, onfinished); + const writable = !!(isWritable(head) || isWritableStream(head) || isTransformStream(head)); + const readable = !!(isReadable(tail) || isReadableStream(tail) || isTransformStream(tail)); + d = new Duplex({ + // TODO (ronag): highWaterMark? + writableObjectMode: !!(head !== null && head !== void 0 && head.writableObjectMode), + readableObjectMode: !!(tail !== null && tail !== void 0 && tail.readableObjectMode), + writable, + readable + }); + if (writable) { + if (isNodeStream(head)) { + d._write = function(chunk, encoding, callback) { + if (head.write(chunk, encoding)) { + callback(); + } else { + ondrain = callback; } - } else if (!(this.data.response instanceof rpc_error_1.RpcError)) { - runtime_1.assert(method.O.is(this.data.response)); - messages.push(this.data.response); - } - try { - yield delay(this.responseDelay, abort)(void 0); - } catch (error3) { - stream.notifyError(error3); - return; - } - if (this.data.response instanceof rpc_error_1.RpcError) { - stream.notifyError(this.data.response); - return; - } - for (let msg of messages) { - stream.notifyMessage(msg); + }; + d._final = function(callback) { + head.end(); + onfinish = callback; + }; + head.on("drain", function() { + if (ondrain) { + const cb = ondrain; + ondrain = null; + cb(); + } + }); + } else if (isWebStream(head)) { + const writable2 = isTransformStream(head) ? head.writable : head; + const writer = writable2.getWriter(); + d._write = async function(chunk, encoding, callback) { try { - yield delay(this.betweenResponseDelay, abort)(void 0); - } catch (error3) { - stream.notifyError(error3); - return; + await writer.ready; + writer.write(chunk).catch(() => { + }); + callback(); + } catch (err) { + callback(err); } + }; + d._final = async function(callback) { + try { + await writer.ready; + writer.close().catch(() => { + }); + onfinish = callback; + } catch (err) { + callback(err); + } + }; + } + const toRead = isTransformStream(tail) ? tail.readable : tail; + eos(toRead, () => { + if (onfinish) { + const cb = onfinish; + onfinish = null; + cb(); } - if (this.data.status instanceof rpc_error_1.RpcError) { - stream.notifyError(this.data.status); - return; - } - if (this.data.trailers instanceof rpc_error_1.RpcError) { - stream.notifyError(this.data.trailers); - return; - } - stream.notifyComplete(); }); } - // Creates a promise for response status from the mock data. - promiseStatus() { - var _a; - const status = (_a = this.data.status) !== null && _a !== void 0 ? _a : _TestTransport.defaultStatus; - return status instanceof rpc_error_1.RpcError ? Promise.reject(status) : Promise.resolve(status); - } - // Creates a promise for response trailers from the mock data. - promiseTrailers() { - var _a; - const trailers = (_a = this.data.trailers) !== null && _a !== void 0 ? _a : _TestTransport.defaultTrailers; - return trailers instanceof rpc_error_1.RpcError ? Promise.reject(trailers) : Promise.resolve(trailers); - } - maybeSuppressUncaught(...promise) { - if (this.suppressUncaughtRejections) { - for (let p of promise) { - p.catch(() => { - }); - } + if (readable) { + if (isNodeStream(tail)) { + tail.on("readable", function() { + if (onreadable) { + const cb = onreadable; + onreadable = null; + cb(); + } + }); + tail.on("end", function() { + d.push(null); + }); + d._read = function() { + while (true) { + const buf = tail.read(); + if (buf === null) { + onreadable = d._read; + return; + } + if (!d.push(buf)) { + return; + } + } + }; + } else if (isWebStream(tail)) { + const readable2 = isTransformStream(tail) ? tail.readable : tail; + const reader = readable2.getReader(); + d._read = async function() { + while (true) { + try { + const { value, done } = await reader.read(); + if (!d.push(value)) { + return; + } + if (done) { + d.push(null); + return; + } + } catch { + return; + } + } + }; } } - mergeOptions(options) { - return rpc_options_1.mergeRpcOptions({}, options); - } - unary(method, input, options) { - var _a; - const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), responsePromise = headersPromise.catch((_2) => { - }).then(delay(this.responseDelay, options.abort)).then((_2) => this.promiseSingleResponse(method)), statusPromise = responsePromise.catch((_2) => { - }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseStatus()), trailersPromise = responsePromise.catch((_2) => { - }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseTrailers()); - this.maybeSuppressUncaught(statusPromise, trailersPromise); - this.lastInput = { single: input }; - return new unary_call_1.UnaryCall(method, requestHeaders, input, headersPromise, responsePromise, statusPromise, trailersPromise); - } - serverStreaming(method, input, options) { - var _a; - const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), outputStream = new rpc_output_stream_1.RpcOutputStreamController(), responseStreamClosedPromise = headersPromise.then(delay(this.responseDelay, options.abort)).catch(() => { - }).then(() => this.streamResponses(method, outputStream, options.abort)).then(delay(this.afterResponseDelay, options.abort)), statusPromise = responseStreamClosedPromise.then(() => this.promiseStatus()), trailersPromise = responseStreamClosedPromise.then(() => this.promiseTrailers()); - this.maybeSuppressUncaught(statusPromise, trailersPromise); - this.lastInput = { single: input }; - return new server_streaming_call_1.ServerStreamingCall(method, requestHeaders, input, headersPromise, outputStream, statusPromise, trailersPromise); - } - clientStreaming(method, options) { - var _a; - const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), responsePromise = headersPromise.catch((_2) => { - }).then(delay(this.responseDelay, options.abort)).then((_2) => this.promiseSingleResponse(method)), statusPromise = responsePromise.catch((_2) => { - }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseStatus()), trailersPromise = responsePromise.catch((_2) => { - }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseTrailers()); - this.maybeSuppressUncaught(statusPromise, trailersPromise); - this.lastInput = new TestInputStream(this.data, options.abort); - return new client_streaming_call_1.ClientStreamingCall(method, requestHeaders, this.lastInput, headersPromise, responsePromise, statusPromise, trailersPromise); - } - duplex(method, options) { - var _a; - const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), outputStream = new rpc_output_stream_1.RpcOutputStreamController(), responseStreamClosedPromise = headersPromise.then(delay(this.responseDelay, options.abort)).catch(() => { - }).then(() => this.streamResponses(method, outputStream, options.abort)).then(delay(this.afterResponseDelay, options.abort)), statusPromise = responseStreamClosedPromise.then(() => this.promiseStatus()), trailersPromise = responseStreamClosedPromise.then(() => this.promiseTrailers()); - this.maybeSuppressUncaught(statusPromise, trailersPromise); - this.lastInput = new TestInputStream(this.data, options.abort); - return new duplex_streaming_call_1.DuplexStreamingCall(method, requestHeaders, this.lastInput, headersPromise, outputStream, statusPromise, trailersPromise); - } - }; - exports2.TestTransport = TestTransport; - TestTransport.defaultHeaders = { - responseHeader: "test" - }; - TestTransport.defaultStatus = { - code: "OK", - detail: "all good" - }; - TestTransport.defaultTrailers = { - responseTrailer: "test" - }; - function delay(ms, abort) { - return (v) => new Promise((resolve5, reject) => { - if (abort === null || abort === void 0 ? void 0 : abort.aborted) { - reject(new rpc_error_1.RpcError("user cancel", "CANCELLED")); + d._destroy = function(err, callback) { + if (!err && onclose !== null) { + err = new AbortError(); + } + onreadable = null; + ondrain = null; + onfinish = null; + if (onclose === null) { + callback(err); } else { - const id = setTimeout(() => resolve5(v), ms); - if (abort) { - abort.addEventListener("abort", (ev) => { - clearTimeout(id); - reject(new rpc_error_1.RpcError("user cancel", "CANCELLED")); - }); + onclose = callback; + if (isNodeStream(tail)) { + destroyer(tail, err); } } - }); - } - var TestInputStream = class { - constructor(data, abort) { - this._completed = false; - this._sent = []; - this.data = data; - this.abort = abort; - } - get sent() { - return this._sent; - } - get completed() { - return this._completed; - } - send(message) { - if (this.data.inputMessage instanceof rpc_error_1.RpcError) { - return Promise.reject(this.data.inputMessage); - } - const delayMs = this.data.inputMessage === void 0 ? 10 : this.data.inputMessage; - return Promise.resolve(void 0).then(() => { - this._sent.push(message); - }).then(delay(delayMs, this.abort)); - } - complete() { - if (this.data.inputComplete instanceof rpc_error_1.RpcError) { - return Promise.reject(this.data.inputComplete); - } - const delayMs = this.data.inputComplete === void 0 ? 10 : this.data.inputComplete; - return Promise.resolve(void 0).then(() => { - this._completed = true; - }).then(delay(delayMs, this.abort)); - } + }; + return d; }; } }); -// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-interceptor.js -var require_rpc_interceptor = __commonJS({ - "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-interceptor.js"(exports2) { +// node_modules/readable-stream/lib/internal/streams/operators.js +var require_operators = __commonJS({ + "node_modules/readable-stream/lib/internal/streams/operators.js"(exports2, module2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.stackDuplexStreamingInterceptors = exports2.stackClientStreamingInterceptors = exports2.stackServerStreamingInterceptors = exports2.stackUnaryInterceptors = exports2.stackIntercept = void 0; - var runtime_1 = require_commonjs16(); - function stackIntercept(kind, transport, method, options, input) { - var _a, _b, _c, _d; - if (kind == "unary") { - let tail = (mtd, inp, opt) => transport.unary(mtd, inp, opt); - for (const curr of ((_a = options.interceptors) !== null && _a !== void 0 ? _a : []).filter((i) => i.interceptUnary).reverse()) { - const next = tail; - tail = (mtd, inp, opt) => curr.interceptUnary(next, mtd, inp, opt); - } - return tail(method, input, options); + var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController; + var { + codes: { ERR_INVALID_ARG_VALUE, ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_MISSING_ARGS, ERR_OUT_OF_RANGE }, + AbortError + } = require_errors5(); + var { validateAbortSignal, validateInteger, validateObject } = require_validators(); + var kWeakHandler = require_primordials().Symbol("kWeak"); + var kResistStopPropagation = require_primordials().Symbol("kResistStopPropagation"); + var { finished } = require_end_of_stream(); + var staticCompose = require_compose(); + var { addAbortSignalNoValidate } = require_add_abort_signal(); + var { isWritable, isNodeStream } = require_utils8(); + var { deprecate } = require_util21(); + var { + ArrayPrototypePush, + Boolean: Boolean2, + MathFloor, + Number: Number2, + NumberIsNaN, + Promise: Promise2, + PromiseReject, + PromiseResolve, + PromisePrototypeThen, + Symbol: Symbol2 + } = require_primordials(); + var kEmpty = Symbol2("kEmpty"); + var kEof = Symbol2("kEof"); + function compose(stream, options) { + if (options != null) { + validateObject(options, "options"); } - if (kind == "serverStreaming") { - let tail = (mtd, inp, opt) => transport.serverStreaming(mtd, inp, opt); - for (const curr of ((_b = options.interceptors) !== null && _b !== void 0 ? _b : []).filter((i) => i.interceptServerStreaming).reverse()) { - const next = tail; - tail = (mtd, inp, opt) => curr.interceptServerStreaming(next, mtd, inp, opt); - } - return tail(method, input, options); + if ((options === null || options === void 0 ? void 0 : options.signal) != null) { + validateAbortSignal(options.signal, "options.signal"); } - if (kind == "clientStreaming") { - let tail = (mtd, opt) => transport.clientStreaming(mtd, opt); - for (const curr of ((_c = options.interceptors) !== null && _c !== void 0 ? _c : []).filter((i) => i.interceptClientStreaming).reverse()) { - const next = tail; - tail = (mtd, opt) => curr.interceptClientStreaming(next, mtd, opt); - } - return tail(method, options); + if (isNodeStream(stream) && !isWritable(stream)) { + throw new ERR_INVALID_ARG_VALUE("stream", stream, "must be writable"); } - if (kind == "duplex") { - let tail = (mtd, opt) => transport.duplex(mtd, opt); - for (const curr of ((_d = options.interceptors) !== null && _d !== void 0 ? _d : []).filter((i) => i.interceptDuplex).reverse()) { - const next = tail; - tail = (mtd, opt) => curr.interceptDuplex(next, mtd, opt); - } - return tail(method, options); + const composedStream = staticCompose(this, stream); + if (options !== null && options !== void 0 && options.signal) { + addAbortSignalNoValidate(options.signal, composedStream); } - runtime_1.assertNever(kind); - } - exports2.stackIntercept = stackIntercept; - function stackUnaryInterceptors(transport, method, input, options) { - return stackIntercept("unary", transport, method, options, input); - } - exports2.stackUnaryInterceptors = stackUnaryInterceptors; - function stackServerStreamingInterceptors(transport, method, input, options) { - return stackIntercept("serverStreaming", transport, method, options, input); - } - exports2.stackServerStreamingInterceptors = stackServerStreamingInterceptors; - function stackClientStreamingInterceptors(transport, method, options) { - return stackIntercept("clientStreaming", transport, method, options); - } - exports2.stackClientStreamingInterceptors = stackClientStreamingInterceptors; - function stackDuplexStreamingInterceptors(transport, method, options) { - return stackIntercept("duplex", transport, method, options); + return composedStream; } - exports2.stackDuplexStreamingInterceptors = stackDuplexStreamingInterceptors; - } -}); - -// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-call-context.js -var require_server_call_context = __commonJS({ - "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-call-context.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.ServerCallContextController = void 0; - var ServerCallContextController = class { - constructor(method, headers, deadline, sendResponseHeadersFn, defaultStatus = { code: "OK", detail: "" }) { - this._cancelled = false; - this._listeners = []; - this.method = method; - this.headers = headers; - this.deadline = deadline; - this.trailers = {}; - this._sendRH = sendResponseHeadersFn; - this.status = defaultStatus; - } - /** - * Set the call cancelled. - * - * Invokes all callbacks registered with onCancel() and - * sets `cancelled = true`. - */ - notifyCancelled() { - if (!this._cancelled) { - this._cancelled = true; - for (let l of this._listeners) { - l(); - } - } - } - /** - * Send response headers. - */ - sendResponseHeaders(data) { - this._sendRH(data); + function map2(fn, options) { + if (typeof fn !== "function") { + throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn); } - /** - * Is the call cancelled? - * - * When the client closes the connection before the server - * is done, the call is cancelled. - * - * If you want to cancel a request on the server, throw a - * RpcError with the CANCELLED status code. - */ - get cancelled() { - return this._cancelled; + if (options != null) { + validateObject(options, "options"); } - /** - * Add a callback for cancellation. - */ - onCancel(callback) { - const l = this._listeners; - l.push(callback); - return () => { - let i = l.indexOf(callback); - if (i >= 0) - l.splice(i, 1); - }; + if ((options === null || options === void 0 ? void 0 : options.signal) != null) { + validateAbortSignal(options.signal, "options.signal"); } - }; - exports2.ServerCallContextController = ServerCallContextController; - } -}); - -// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/index.js -var require_commonjs17 = __commonJS({ - "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - var service_type_1 = require_service_type(); - Object.defineProperty(exports2, "ServiceType", { enumerable: true, get: function() { - return service_type_1.ServiceType; - } }); - var reflection_info_1 = require_reflection_info2(); - Object.defineProperty(exports2, "readMethodOptions", { enumerable: true, get: function() { - return reflection_info_1.readMethodOptions; - } }); - Object.defineProperty(exports2, "readMethodOption", { enumerable: true, get: function() { - return reflection_info_1.readMethodOption; - } }); - Object.defineProperty(exports2, "readServiceOption", { enumerable: true, get: function() { - return reflection_info_1.readServiceOption; - } }); - var rpc_error_1 = require_rpc_error(); - Object.defineProperty(exports2, "RpcError", { enumerable: true, get: function() { - return rpc_error_1.RpcError; - } }); - var rpc_options_1 = require_rpc_options(); - Object.defineProperty(exports2, "mergeRpcOptions", { enumerable: true, get: function() { - return rpc_options_1.mergeRpcOptions; - } }); - var rpc_output_stream_1 = require_rpc_output_stream(); - Object.defineProperty(exports2, "RpcOutputStreamController", { enumerable: true, get: function() { - return rpc_output_stream_1.RpcOutputStreamController; - } }); - var test_transport_1 = require_test_transport(); - Object.defineProperty(exports2, "TestTransport", { enumerable: true, get: function() { - return test_transport_1.TestTransport; - } }); - var deferred_1 = require_deferred(); - Object.defineProperty(exports2, "Deferred", { enumerable: true, get: function() { - return deferred_1.Deferred; - } }); - Object.defineProperty(exports2, "DeferredState", { enumerable: true, get: function() { - return deferred_1.DeferredState; - } }); - var duplex_streaming_call_1 = require_duplex_streaming_call(); - Object.defineProperty(exports2, "DuplexStreamingCall", { enumerable: true, get: function() { - return duplex_streaming_call_1.DuplexStreamingCall; - } }); - var client_streaming_call_1 = require_client_streaming_call(); - Object.defineProperty(exports2, "ClientStreamingCall", { enumerable: true, get: function() { - return client_streaming_call_1.ClientStreamingCall; - } }); - var server_streaming_call_1 = require_server_streaming_call(); - Object.defineProperty(exports2, "ServerStreamingCall", { enumerable: true, get: function() { - return server_streaming_call_1.ServerStreamingCall; - } }); - var unary_call_1 = require_unary_call(); - Object.defineProperty(exports2, "UnaryCall", { enumerable: true, get: function() { - return unary_call_1.UnaryCall; - } }); - var rpc_interceptor_1 = require_rpc_interceptor(); - Object.defineProperty(exports2, "stackIntercept", { enumerable: true, get: function() { - return rpc_interceptor_1.stackIntercept; - } }); - Object.defineProperty(exports2, "stackDuplexStreamingInterceptors", { enumerable: true, get: function() { - return rpc_interceptor_1.stackDuplexStreamingInterceptors; - } }); - Object.defineProperty(exports2, "stackClientStreamingInterceptors", { enumerable: true, get: function() { - return rpc_interceptor_1.stackClientStreamingInterceptors; - } }); - Object.defineProperty(exports2, "stackServerStreamingInterceptors", { enumerable: true, get: function() { - return rpc_interceptor_1.stackServerStreamingInterceptors; - } }); - Object.defineProperty(exports2, "stackUnaryInterceptors", { enumerable: true, get: function() { - return rpc_interceptor_1.stackUnaryInterceptors; - } }); - var server_call_context_1 = require_server_call_context(); - Object.defineProperty(exports2, "ServerCallContextController", { enumerable: true, get: function() { - return server_call_context_1.ServerCallContextController; - } }); - } -}); - -// node_modules/@actions/cache/lib/generated/results/entities/v1/cachescope.js -var require_cachescope = __commonJS({ - "node_modules/@actions/cache/lib/generated/results/entities/v1/cachescope.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.CacheScope = void 0; - var runtime_1 = require_commonjs16(); - var runtime_2 = require_commonjs16(); - var runtime_3 = require_commonjs16(); - var runtime_4 = require_commonjs16(); - var runtime_5 = require_commonjs16(); - var CacheScope$Type = class extends runtime_5.MessageType { - constructor() { - super("github.actions.results.entities.v1.CacheScope", [ - { - no: 1, - name: "scope", - kind: "scalar", - T: 9 - /*ScalarType.STRING*/ - }, - { - no: 2, - name: "permission", - kind: "scalar", - T: 3 - /*ScalarType.INT64*/ - } - ]); + let concurrency = 1; + if ((options === null || options === void 0 ? void 0 : options.concurrency) != null) { + concurrency = MathFloor(options.concurrency); } - create(value) { - const message = { scope: "", permission: "0" }; - globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); - if (value !== void 0) - (0, runtime_3.reflectionMergePartial)(this, message, value); - return message; + let highWaterMark = concurrency - 1; + if ((options === null || options === void 0 ? void 0 : options.highWaterMark) != null) { + highWaterMark = MathFloor(options.highWaterMark); } - internalBinaryRead(reader, length, options, target) { - let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* string scope */ - 1: - message.scope = reader.string(); - break; - case /* int64 permission */ - 2: - message.permission = reader.int64().toString(); - break; - default: - let u = options.readUnknownField; - if (u === "throw") - throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + validateInteger(concurrency, "options.concurrency", 1); + validateInteger(highWaterMark, "options.highWaterMark", 0); + highWaterMark += concurrency; + return async function* map3() { + const signal = require_util21().AbortSignalAny( + [options === null || options === void 0 ? void 0 : options.signal].filter(Boolean2) + ); + const stream = this; + const queue = []; + const signalOpt = { + signal + }; + let next; + let resume; + let done = false; + let cnt = 0; + function onCatch() { + done = true; + afterItemProcessed(); + } + function afterItemProcessed() { + cnt -= 1; + maybeResume(); + } + function maybeResume() { + if (resume && !done && cnt < concurrency && queue.length < highWaterMark) { + resume(); + resume = null; } } - return message; - } - internalBinaryWrite(message, writer, options) { - if (message.scope !== "") - writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.scope); - if (message.permission !== "0") - writer.tag(2, runtime_1.WireType.Varint).int64(message.permission); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); - return writer; - } - }; - exports2.CacheScope = new CacheScope$Type(); - } -}); - -// node_modules/@actions/cache/lib/generated/results/entities/v1/cachemetadata.js -var require_cachemetadata = __commonJS({ - "node_modules/@actions/cache/lib/generated/results/entities/v1/cachemetadata.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.CacheMetadata = void 0; - var runtime_1 = require_commonjs16(); - var runtime_2 = require_commonjs16(); - var runtime_3 = require_commonjs16(); - var runtime_4 = require_commonjs16(); - var runtime_5 = require_commonjs16(); - var cachescope_1 = require_cachescope(); - var CacheMetadata$Type = class extends runtime_5.MessageType { - constructor() { - super("github.actions.results.entities.v1.CacheMetadata", [ - { - no: 1, - name: "repository_id", - kind: "scalar", - T: 3 - /*ScalarType.INT64*/ - }, - { no: 2, name: "scope", kind: "message", repeat: 1, T: () => cachescope_1.CacheScope } - ]); - } - create(value) { - const message = { repositoryId: "0", scope: [] }; - globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); - if (value !== void 0) - (0, runtime_3.reflectionMergePartial)(this, message, value); - return message; - } - internalBinaryRead(reader, length, options, target) { - let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* int64 repository_id */ - 1: - message.repositoryId = reader.int64().toString(); - break; - case /* repeated github.actions.results.entities.v1.CacheScope scope */ - 2: - message.scope.push(cachescope_1.CacheScope.internalBinaryRead(reader, reader.uint32(), options)); - break; - default: - let u = options.readUnknownField; - if (u === "throw") - throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + async function pump() { + try { + for await (let val of stream) { + if (done) { + return; + } + if (signal.aborted) { + throw new AbortError(); + } + try { + val = fn(val, signalOpt); + if (val === kEmpty) { + continue; + } + val = PromiseResolve(val); + } catch (err) { + val = PromiseReject(err); + } + cnt += 1; + PromisePrototypeThen(val, afterItemProcessed, onCatch); + queue.push(val); + if (next) { + next(); + next = null; + } + if (!done && (queue.length >= highWaterMark || cnt >= concurrency)) { + await new Promise2((resolve5) => { + resume = resolve5; + }); + } + } + queue.push(kEof); + } catch (err) { + const val = PromiseReject(err); + PromisePrototypeThen(val, afterItemProcessed, onCatch); + queue.push(val); + } finally { + done = true; + if (next) { + next(); + next = null; + } } } - return message; - } - internalBinaryWrite(message, writer, options) { - if (message.repositoryId !== "0") - writer.tag(1, runtime_1.WireType.Varint).int64(message.repositoryId); - for (let i = 0; i < message.scope.length; i++) - cachescope_1.CacheScope.internalBinaryWrite(message.scope[i], writer.tag(2, runtime_1.WireType.LengthDelimited).fork(), options).join(); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); - return writer; - } - }; - exports2.CacheMetadata = new CacheMetadata$Type(); - } -}); - -// node_modules/@actions/cache/lib/generated/results/api/v1/cache.js -var require_cache4 = __commonJS({ - "node_modules/@actions/cache/lib/generated/results/api/v1/cache.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.CacheService = exports2.GetCacheEntryDownloadURLResponse = exports2.GetCacheEntryDownloadURLRequest = exports2.FinalizeCacheEntryUploadResponse = exports2.FinalizeCacheEntryUploadRequest = exports2.CreateCacheEntryResponse = exports2.CreateCacheEntryRequest = void 0; - var runtime_rpc_1 = require_commonjs17(); - var runtime_1 = require_commonjs16(); - var runtime_2 = require_commonjs16(); - var runtime_3 = require_commonjs16(); - var runtime_4 = require_commonjs16(); - var runtime_5 = require_commonjs16(); - var cachemetadata_1 = require_cachemetadata(); - var CreateCacheEntryRequest$Type = class extends runtime_5.MessageType { - constructor() { - super("github.actions.results.api.v1.CreateCacheEntryRequest", [ - { no: 1, name: "metadata", kind: "message", T: () => cachemetadata_1.CacheMetadata }, - { - no: 2, - name: "key", - kind: "scalar", - T: 9 - /*ScalarType.STRING*/ - }, - { - no: 3, - name: "version", - kind: "scalar", - T: 9 - /*ScalarType.STRING*/ + pump(); + try { + while (true) { + while (queue.length > 0) { + const val = await queue[0]; + if (val === kEof) { + return; + } + if (signal.aborted) { + throw new AbortError(); + } + if (val !== kEmpty) { + yield val; + } + queue.shift(); + maybeResume(); + } + await new Promise2((resolve5) => { + next = resolve5; + }); } - ]); + } finally { + done = true; + if (resume) { + resume(); + resume = null; + } + } + }.call(this); + } + function asIndexedPairs(options = void 0) { + if (options != null) { + validateObject(options, "options"); } - create(value) { - const message = { key: "", version: "" }; - globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); - if (value !== void 0) - (0, runtime_3.reflectionMergePartial)(this, message, value); - return message; + if ((options === null || options === void 0 ? void 0 : options.signal) != null) { + validateAbortSignal(options.signal, "options.signal"); } - internalBinaryRead(reader, length, options, target) { - let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* github.actions.results.entities.v1.CacheMetadata metadata */ - 1: - message.metadata = cachemetadata_1.CacheMetadata.internalBinaryRead(reader, reader.uint32(), options, message.metadata); - break; - case /* string key */ - 2: - message.key = reader.string(); - break; - case /* string version */ - 3: - message.version = reader.string(); - break; - default: - let u = options.readUnknownField; - if (u === "throw") - throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + return async function* asIndexedPairs2() { + let index = 0; + for await (const val of this) { + var _options$signal; + if (options !== null && options !== void 0 && (_options$signal = options.signal) !== null && _options$signal !== void 0 && _options$signal.aborted) { + throw new AbortError({ + cause: options.signal.reason + }); } + yield [index++, val]; } - return message; + }.call(this); + } + async function some(fn, options = void 0) { + for await (const unused of filter.call(this, fn, options)) { + return true; } - internalBinaryWrite(message, writer, options) { - if (message.metadata) - cachemetadata_1.CacheMetadata.internalBinaryWrite(message.metadata, writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join(); - if (message.key !== "") - writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.key); - if (message.version !== "") - writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.version); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); - return writer; + return false; + } + async function every(fn, options = void 0) { + if (typeof fn !== "function") { + throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn); } - }; - exports2.CreateCacheEntryRequest = new CreateCacheEntryRequest$Type(); - var CreateCacheEntryResponse$Type = class extends runtime_5.MessageType { - constructor() { - super("github.actions.results.api.v1.CreateCacheEntryResponse", [ - { - no: 1, - name: "ok", - kind: "scalar", - T: 8 - /*ScalarType.BOOL*/ - }, - { - no: 2, - name: "signed_upload_url", - kind: "scalar", - T: 9 - /*ScalarType.STRING*/ - }, - { - no: 3, - name: "message", - kind: "scalar", - T: 9 - /*ScalarType.STRING*/ - } - ]); + return !await some.call( + this, + async (...args) => { + return !await fn(...args); + }, + options + ); + } + async function find2(fn, options) { + for await (const result of filter.call(this, fn, options)) { + return result; } - create(value) { - const message = { ok: false, signedUploadUrl: "", message: "" }; - globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); - if (value !== void 0) - (0, runtime_3.reflectionMergePartial)(this, message, value); - return message; + return void 0; + } + async function forEach(fn, options) { + if (typeof fn !== "function") { + throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn); } - internalBinaryRead(reader, length, options, target) { - let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* bool ok */ - 1: - message.ok = reader.bool(); - break; - case /* string signed_upload_url */ - 2: - message.signedUploadUrl = reader.string(); - break; - case /* string message */ - 3: - message.message = reader.string(); - break; - default: - let u = options.readUnknownField; - if (u === "throw") - throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); - } + async function forEachFn(value, options2) { + await fn(value, options2); + return kEmpty; + } + for await (const unused of map2.call(this, forEachFn, options)) ; + } + function filter(fn, options) { + if (typeof fn !== "function") { + throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn); + } + async function filterFn(value, options2) { + if (await fn(value, options2)) { + return value; } - return message; + return kEmpty; } - internalBinaryWrite(message, writer, options) { - if (message.ok !== false) - writer.tag(1, runtime_1.WireType.Varint).bool(message.ok); - if (message.signedUploadUrl !== "") - writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl); - if (message.message !== "") - writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.message); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); - return writer; + return map2.call(this, filterFn, options); + } + var ReduceAwareErrMissingArgs = class extends ERR_MISSING_ARGS { + constructor() { + super("reduce"); + this.message = "Reduce of an empty stream requires an initial value"; } }; - exports2.CreateCacheEntryResponse = new CreateCacheEntryResponse$Type(); - var FinalizeCacheEntryUploadRequest$Type = class extends runtime_5.MessageType { - constructor() { - super("github.actions.results.api.v1.FinalizeCacheEntryUploadRequest", [ - { no: 1, name: "metadata", kind: "message", T: () => cachemetadata_1.CacheMetadata }, - { - no: 2, - name: "key", - kind: "scalar", - T: 9 - /*ScalarType.STRING*/ - }, - { - no: 3, - name: "size_bytes", - kind: "scalar", - T: 3 - /*ScalarType.INT64*/ - }, - { - no: 4, - name: "version", - kind: "scalar", - T: 9 - /*ScalarType.STRING*/ - } - ]); + async function reduce(reducer, initialValue, options) { + var _options$signal2; + if (typeof reducer !== "function") { + throw new ERR_INVALID_ARG_TYPE2("reducer", ["Function", "AsyncFunction"], reducer); } - create(value) { - const message = { key: "", sizeBytes: "0", version: "" }; - globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); - if (value !== void 0) - (0, runtime_3.reflectionMergePartial)(this, message, value); - return message; + if (options != null) { + validateObject(options, "options"); } - internalBinaryRead(reader, length, options, target) { - let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* github.actions.results.entities.v1.CacheMetadata metadata */ - 1: - message.metadata = cachemetadata_1.CacheMetadata.internalBinaryRead(reader, reader.uint32(), options, message.metadata); - break; - case /* string key */ - 2: - message.key = reader.string(); - break; - case /* int64 size_bytes */ - 3: - message.sizeBytes = reader.int64().toString(); - break; - case /* string version */ - 4: - message.version = reader.string(); - break; - default: - let u = options.readUnknownField; - if (u === "throw") - throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + if ((options === null || options === void 0 ? void 0 : options.signal) != null) { + validateAbortSignal(options.signal, "options.signal"); + } + let hasInitialValue = arguments.length > 1; + if (options !== null && options !== void 0 && (_options$signal2 = options.signal) !== null && _options$signal2 !== void 0 && _options$signal2.aborted) { + const err = new AbortError(void 0, { + cause: options.signal.reason + }); + this.once("error", () => { + }); + await finished(this.destroy(err)); + throw err; + } + const ac = new AbortController2(); + const signal = ac.signal; + if (options !== null && options !== void 0 && options.signal) { + const opts = { + once: true, + [kWeakHandler]: this, + [kResistStopPropagation]: true + }; + options.signal.addEventListener("abort", () => ac.abort(), opts); + } + let gotAnyItemFromStream = false; + try { + for await (const value of this) { + var _options$signal3; + gotAnyItemFromStream = true; + if (options !== null && options !== void 0 && (_options$signal3 = options.signal) !== null && _options$signal3 !== void 0 && _options$signal3.aborted) { + throw new AbortError(); + } + if (!hasInitialValue) { + initialValue = value; + hasInitialValue = true; + } else { + initialValue = await reducer(initialValue, value, { + signal + }); } } - return message; + if (!gotAnyItemFromStream && !hasInitialValue) { + throw new ReduceAwareErrMissingArgs(); + } + } finally { + ac.abort(); } - internalBinaryWrite(message, writer, options) { - if (message.metadata) - cachemetadata_1.CacheMetadata.internalBinaryWrite(message.metadata, writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join(); - if (message.key !== "") - writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.key); - if (message.sizeBytes !== "0") - writer.tag(3, runtime_1.WireType.Varint).int64(message.sizeBytes); - if (message.version !== "") - writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.version); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); - return writer; + return initialValue; + } + async function toArray2(options) { + if (options != null) { + validateObject(options, "options"); } - }; - exports2.FinalizeCacheEntryUploadRequest = new FinalizeCacheEntryUploadRequest$Type(); - var FinalizeCacheEntryUploadResponse$Type = class extends runtime_5.MessageType { - constructor() { - super("github.actions.results.api.v1.FinalizeCacheEntryUploadResponse", [ - { - no: 1, - name: "ok", - kind: "scalar", - T: 8 - /*ScalarType.BOOL*/ - }, - { - no: 2, - name: "entry_id", - kind: "scalar", - T: 3 - /*ScalarType.INT64*/ - }, - { - no: 3, - name: "message", - kind: "scalar", - T: 9 - /*ScalarType.STRING*/ - } - ]); + if ((options === null || options === void 0 ? void 0 : options.signal) != null) { + validateAbortSignal(options.signal, "options.signal"); } - create(value) { - const message = { ok: false, entryId: "0", message: "" }; - globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); - if (value !== void 0) - (0, runtime_3.reflectionMergePartial)(this, message, value); - return message; + const result = []; + for await (const val of this) { + var _options$signal4; + if (options !== null && options !== void 0 && (_options$signal4 = options.signal) !== null && _options$signal4 !== void 0 && _options$signal4.aborted) { + throw new AbortError(void 0, { + cause: options.signal.reason + }); + } + ArrayPrototypePush(result, val); } - internalBinaryRead(reader, length, options, target) { - let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* bool ok */ - 1: - message.ok = reader.bool(); - break; - case /* int64 entry_id */ - 2: - message.entryId = reader.int64().toString(); - break; - case /* string message */ - 3: - message.message = reader.string(); - break; - default: - let u = options.readUnknownField; - if (u === "throw") - throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); - } + return result; + } + function flatMap(fn, options) { + const values = map2.call(this, fn, options); + return async function* flatMap2() { + for await (const val of values) { + yield* val; } - return message; + }.call(this); + } + function toIntegerOrInfinity(number) { + number = Number2(number); + if (NumberIsNaN(number)) { + return 0; } - internalBinaryWrite(message, writer, options) { - if (message.ok !== false) - writer.tag(1, runtime_1.WireType.Varint).bool(message.ok); - if (message.entryId !== "0") - writer.tag(2, runtime_1.WireType.Varint).int64(message.entryId); - if (message.message !== "") - writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.message); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); - return writer; + if (number < 0) { + throw new ERR_OUT_OF_RANGE("number", ">= 0", number); } - }; - exports2.FinalizeCacheEntryUploadResponse = new FinalizeCacheEntryUploadResponse$Type(); - var GetCacheEntryDownloadURLRequest$Type = class extends runtime_5.MessageType { - constructor() { - super("github.actions.results.api.v1.GetCacheEntryDownloadURLRequest", [ - { no: 1, name: "metadata", kind: "message", T: () => cachemetadata_1.CacheMetadata }, - { - no: 2, - name: "key", - kind: "scalar", - T: 9 - /*ScalarType.STRING*/ - }, - { - no: 3, - name: "restore_keys", - kind: "scalar", - repeat: 2, - T: 9 - /*ScalarType.STRING*/ - }, - { - no: 4, - name: "version", - kind: "scalar", - T: 9 - /*ScalarType.STRING*/ - } - ]); + return number; + } + function drop(number, options = void 0) { + if (options != null) { + validateObject(options, "options"); } - create(value) { - const message = { key: "", restoreKeys: [], version: "" }; - globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); - if (value !== void 0) - (0, runtime_3.reflectionMergePartial)(this, message, value); - return message; + if ((options === null || options === void 0 ? void 0 : options.signal) != null) { + validateAbortSignal(options.signal, "options.signal"); } - internalBinaryRead(reader, length, options, target) { - let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* github.actions.results.entities.v1.CacheMetadata metadata */ - 1: - message.metadata = cachemetadata_1.CacheMetadata.internalBinaryRead(reader, reader.uint32(), options, message.metadata); - break; - case /* string key */ - 2: - message.key = reader.string(); - break; - case /* repeated string restore_keys */ - 3: - message.restoreKeys.push(reader.string()); - break; - case /* string version */ - 4: - message.version = reader.string(); - break; - default: - let u = options.readUnknownField; - if (u === "throw") - throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + number = toIntegerOrInfinity(number); + return async function* drop2() { + var _options$signal5; + if (options !== null && options !== void 0 && (_options$signal5 = options.signal) !== null && _options$signal5 !== void 0 && _options$signal5.aborted) { + throw new AbortError(); + } + for await (const val of this) { + var _options$signal6; + if (options !== null && options !== void 0 && (_options$signal6 = options.signal) !== null && _options$signal6 !== void 0 && _options$signal6.aborted) { + throw new AbortError(); + } + if (number-- <= 0) { + yield val; } } - return message; + }.call(this); + } + function take(number, options = void 0) { + if (options != null) { + validateObject(options, "options"); } - internalBinaryWrite(message, writer, options) { - if (message.metadata) - cachemetadata_1.CacheMetadata.internalBinaryWrite(message.metadata, writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join(); - if (message.key !== "") - writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.key); - for (let i = 0; i < message.restoreKeys.length; i++) - writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.restoreKeys[i]); - if (message.version !== "") - writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.version); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); - return writer; + if ((options === null || options === void 0 ? void 0 : options.signal) != null) { + validateAbortSignal(options.signal, "options.signal"); } + number = toIntegerOrInfinity(number); + return async function* take2() { + var _options$signal7; + if (options !== null && options !== void 0 && (_options$signal7 = options.signal) !== null && _options$signal7 !== void 0 && _options$signal7.aborted) { + throw new AbortError(); + } + for await (const val of this) { + var _options$signal8; + if (options !== null && options !== void 0 && (_options$signal8 = options.signal) !== null && _options$signal8 !== void 0 && _options$signal8.aborted) { + throw new AbortError(); + } + if (number-- > 0) { + yield val; + } + if (number <= 0) { + return; + } + } + }.call(this); + } + module2.exports.streamReturningOperators = { + asIndexedPairs: deprecate(asIndexedPairs, "readable.asIndexedPairs will be removed in a future version."), + drop, + filter, + flatMap, + map: map2, + take, + compose }; - exports2.GetCacheEntryDownloadURLRequest = new GetCacheEntryDownloadURLRequest$Type(); - var GetCacheEntryDownloadURLResponse$Type = class extends runtime_5.MessageType { - constructor() { - super("github.actions.results.api.v1.GetCacheEntryDownloadURLResponse", [ - { - no: 1, - name: "ok", - kind: "scalar", - T: 8 - /*ScalarType.BOOL*/ - }, - { - no: 2, - name: "signed_download_url", - kind: "scalar", - T: 9 - /*ScalarType.STRING*/ + module2.exports.promiseReturningOperators = { + every, + forEach, + reduce, + toArray: toArray2, + some, + find: find2 + }; + } +}); + +// node_modules/readable-stream/lib/stream/promises.js +var require_promises = __commonJS({ + "node_modules/readable-stream/lib/stream/promises.js"(exports2, module2) { + "use strict"; + var { ArrayPrototypePop, Promise: Promise2 } = require_primordials(); + var { isIterable, isNodeStream, isWebStream } = require_utils8(); + var { pipelineImpl: pl } = require_pipeline4(); + var { finished } = require_end_of_stream(); + require_stream2(); + function pipeline(...streams) { + return new Promise2((resolve5, reject) => { + let signal; + let end; + const lastArg = streams[streams.length - 1]; + if (lastArg && typeof lastArg === "object" && !isNodeStream(lastArg) && !isIterable(lastArg) && !isWebStream(lastArg)) { + const options = ArrayPrototypePop(streams); + signal = options.signal; + end = options.end; + } + pl( + streams, + (err, value) => { + if (err) { + reject(err); + } else { + resolve5(value); + } }, { - no: 3, - name: "matched_key", - kind: "scalar", - T: 9 - /*ScalarType.STRING*/ + signal, + end } - ]); + ); + }); + } + module2.exports = { + finished, + pipeline + }; + } +}); + +// node_modules/readable-stream/lib/stream.js +var require_stream2 = __commonJS({ + "node_modules/readable-stream/lib/stream.js"(exports2, module2) { + var { Buffer: Buffer2 } = require("buffer"); + var { ObjectDefineProperty, ObjectKeys, ReflectApply } = require_primordials(); + var { + promisify: { custom: customPromisify } + } = require_util21(); + var { streamReturningOperators, promiseReturningOperators } = require_operators(); + var { + codes: { ERR_ILLEGAL_CONSTRUCTOR } + } = require_errors5(); + var compose = require_compose(); + var { setDefaultHighWaterMark, getDefaultHighWaterMark } = require_state3(); + var { pipeline } = require_pipeline4(); + var { destroyer } = require_destroy2(); + var eos = require_end_of_stream(); + var promises3 = require_promises(); + var utils = require_utils8(); + var Stream = module2.exports = require_legacy().Stream; + Stream.isDestroyed = utils.isDestroyed; + Stream.isDisturbed = utils.isDisturbed; + Stream.isErrored = utils.isErrored; + Stream.isReadable = utils.isReadable; + Stream.isWritable = utils.isWritable; + Stream.Readable = require_readable4(); + for (const key of ObjectKeys(streamReturningOperators)) { + let fn2 = function(...args) { + if (new.target) { + throw ERR_ILLEGAL_CONSTRUCTOR(); + } + return Stream.Readable.from(ReflectApply(op, this, args)); + }; + fn = fn2; + const op = streamReturningOperators[key]; + ObjectDefineProperty(fn2, "name", { + __proto__: null, + value: op.name + }); + ObjectDefineProperty(fn2, "length", { + __proto__: null, + value: op.length + }); + ObjectDefineProperty(Stream.Readable.prototype, key, { + __proto__: null, + value: fn2, + enumerable: false, + configurable: true, + writable: true + }); + } + var fn; + for (const key of ObjectKeys(promiseReturningOperators)) { + let fn2 = function(...args) { + if (new.target) { + throw ERR_ILLEGAL_CONSTRUCTOR(); + } + return ReflectApply(op, this, args); + }; + fn = fn2; + const op = promiseReturningOperators[key]; + ObjectDefineProperty(fn2, "name", { + __proto__: null, + value: op.name + }); + ObjectDefineProperty(fn2, "length", { + __proto__: null, + value: op.length + }); + ObjectDefineProperty(Stream.Readable.prototype, key, { + __proto__: null, + value: fn2, + enumerable: false, + configurable: true, + writable: true + }); + } + var fn; + Stream.Writable = require_writable(); + Stream.Duplex = require_duplex(); + Stream.Transform = require_transform(); + Stream.PassThrough = require_passthrough2(); + Stream.pipeline = pipeline; + var { addAbortSignal } = require_add_abort_signal(); + Stream.addAbortSignal = addAbortSignal; + Stream.finished = eos; + Stream.destroy = destroyer; + Stream.compose = compose; + Stream.setDefaultHighWaterMark = setDefaultHighWaterMark; + Stream.getDefaultHighWaterMark = getDefaultHighWaterMark; + ObjectDefineProperty(Stream, "promises", { + __proto__: null, + configurable: true, + enumerable: true, + get() { + return promises3; } - create(value) { - const message = { ok: false, signedDownloadUrl: "", matchedKey: "" }; - globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); - if (value !== void 0) - (0, runtime_3.reflectionMergePartial)(this, message, value); - return message; + }); + ObjectDefineProperty(pipeline, customPromisify, { + __proto__: null, + enumerable: true, + get() { + return promises3.pipeline; } - internalBinaryRead(reader, length, options, target) { - let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* bool ok */ - 1: - message.ok = reader.bool(); - break; - case /* string signed_download_url */ - 2: - message.signedDownloadUrl = reader.string(); - break; - case /* string matched_key */ - 3: - message.matchedKey = reader.string(); - break; - default: - let u = options.readUnknownField; - if (u === "throw") - throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + }); + ObjectDefineProperty(eos, customPromisify, { + __proto__: null, + enumerable: true, + get() { + return promises3.finished; + } + }); + Stream.Stream = Stream; + Stream._isUint8Array = function isUint8Array(value) { + return value instanceof Uint8Array; + }; + Stream._uint8ArrayToBuffer = function _uint8ArrayToBuffer(chunk) { + return Buffer2.from(chunk.buffer, chunk.byteOffset, chunk.byteLength); + }; + } +}); + +// node_modules/readable-stream/lib/ours/index.js +var require_ours = __commonJS({ + "node_modules/readable-stream/lib/ours/index.js"(exports2, module2) { + "use strict"; + var Stream = require("stream"); + if (Stream && process.env.READABLE_STREAM === "disable") { + const promises3 = Stream.promises; + module2.exports._uint8ArrayToBuffer = Stream._uint8ArrayToBuffer; + module2.exports._isUint8Array = Stream._isUint8Array; + module2.exports.isDisturbed = Stream.isDisturbed; + module2.exports.isErrored = Stream.isErrored; + module2.exports.isReadable = Stream.isReadable; + module2.exports.Readable = Stream.Readable; + module2.exports.Writable = Stream.Writable; + module2.exports.Duplex = Stream.Duplex; + module2.exports.Transform = Stream.Transform; + module2.exports.PassThrough = Stream.PassThrough; + module2.exports.addAbortSignal = Stream.addAbortSignal; + module2.exports.finished = Stream.finished; + module2.exports.destroy = Stream.destroy; + module2.exports.pipeline = Stream.pipeline; + module2.exports.compose = Stream.compose; + Object.defineProperty(Stream, "promises", { + configurable: true, + enumerable: true, + get() { + return promises3; + } + }); + module2.exports.Stream = Stream.Stream; + } else { + const CustomStream = require_stream2(); + const promises3 = require_promises(); + const originalDestroy = CustomStream.Readable.destroy; + module2.exports = CustomStream.Readable; + module2.exports._uint8ArrayToBuffer = CustomStream._uint8ArrayToBuffer; + module2.exports._isUint8Array = CustomStream._isUint8Array; + module2.exports.isDisturbed = CustomStream.isDisturbed; + module2.exports.isErrored = CustomStream.isErrored; + module2.exports.isReadable = CustomStream.isReadable; + module2.exports.Readable = CustomStream.Readable; + module2.exports.Writable = CustomStream.Writable; + module2.exports.Duplex = CustomStream.Duplex; + module2.exports.Transform = CustomStream.Transform; + module2.exports.PassThrough = CustomStream.PassThrough; + module2.exports.addAbortSignal = CustomStream.addAbortSignal; + module2.exports.finished = CustomStream.finished; + module2.exports.destroy = CustomStream.destroy; + module2.exports.destroy = originalDestroy; + module2.exports.pipeline = CustomStream.pipeline; + module2.exports.compose = CustomStream.compose; + Object.defineProperty(CustomStream, "promises", { + configurable: true, + enumerable: true, + get() { + return promises3; + } + }); + module2.exports.Stream = CustomStream.Stream; + } + module2.exports.default = module2.exports; + } +}); + +// node_modules/lodash/_arrayPush.js +var require_arrayPush = __commonJS({ + "node_modules/lodash/_arrayPush.js"(exports2, module2) { + function arrayPush(array, values) { + var index = -1, length = values.length, offset = array.length; + while (++index < length) { + array[offset + index] = values[index]; + } + return array; + } + module2.exports = arrayPush; + } +}); + +// node_modules/lodash/_isFlattenable.js +var require_isFlattenable = __commonJS({ + "node_modules/lodash/_isFlattenable.js"(exports2, module2) { + var Symbol2 = require_Symbol(); + var isArguments = require_isArguments(); + var isArray = require_isArray(); + var spreadableSymbol = Symbol2 ? Symbol2.isConcatSpreadable : void 0; + function isFlattenable(value) { + return isArray(value) || isArguments(value) || !!(spreadableSymbol && value && value[spreadableSymbol]); + } + module2.exports = isFlattenable; + } +}); + +// node_modules/lodash/_baseFlatten.js +var require_baseFlatten = __commonJS({ + "node_modules/lodash/_baseFlatten.js"(exports2, module2) { + var arrayPush = require_arrayPush(); + var isFlattenable = require_isFlattenable(); + function baseFlatten(array, depth, predicate, isStrict, result) { + var index = -1, length = array.length; + predicate || (predicate = isFlattenable); + result || (result = []); + while (++index < length) { + var value = array[index]; + if (depth > 0 && predicate(value)) { + if (depth > 1) { + baseFlatten(value, depth - 1, predicate, isStrict, result); + } else { + arrayPush(result, value); } + } else if (!isStrict) { + result[result.length] = value; + } + } + return result; + } + module2.exports = baseFlatten; + } +}); + +// node_modules/lodash/flatten.js +var require_flatten = __commonJS({ + "node_modules/lodash/flatten.js"(exports2, module2) { + var baseFlatten = require_baseFlatten(); + function flatten(array) { + var length = array == null ? 0 : array.length; + return length ? baseFlatten(array, 1) : []; + } + module2.exports = flatten; + } +}); + +// node_modules/lodash/_nativeCreate.js +var require_nativeCreate = __commonJS({ + "node_modules/lodash/_nativeCreate.js"(exports2, module2) { + var getNative = require_getNative(); + var nativeCreate = getNative(Object, "create"); + module2.exports = nativeCreate; + } +}); + +// node_modules/lodash/_hashClear.js +var require_hashClear = __commonJS({ + "node_modules/lodash/_hashClear.js"(exports2, module2) { + var nativeCreate = require_nativeCreate(); + function hashClear() { + this.__data__ = nativeCreate ? nativeCreate(null) : {}; + this.size = 0; + } + module2.exports = hashClear; + } +}); + +// node_modules/lodash/_hashDelete.js +var require_hashDelete = __commonJS({ + "node_modules/lodash/_hashDelete.js"(exports2, module2) { + function hashDelete(key) { + var result = this.has(key) && delete this.__data__[key]; + this.size -= result ? 1 : 0; + return result; + } + module2.exports = hashDelete; + } +}); + +// node_modules/lodash/_hashGet.js +var require_hashGet = __commonJS({ + "node_modules/lodash/_hashGet.js"(exports2, module2) { + var nativeCreate = require_nativeCreate(); + var HASH_UNDEFINED = "__lodash_hash_undefined__"; + var objectProto = Object.prototype; + var hasOwnProperty = objectProto.hasOwnProperty; + function hashGet(key) { + var data = this.__data__; + if (nativeCreate) { + var result = data[key]; + return result === HASH_UNDEFINED ? void 0 : result; + } + return hasOwnProperty.call(data, key) ? data[key] : void 0; + } + module2.exports = hashGet; + } +}); + +// node_modules/lodash/_hashHas.js +var require_hashHas = __commonJS({ + "node_modules/lodash/_hashHas.js"(exports2, module2) { + var nativeCreate = require_nativeCreate(); + var objectProto = Object.prototype; + var hasOwnProperty = objectProto.hasOwnProperty; + function hashHas(key) { + var data = this.__data__; + return nativeCreate ? data[key] !== void 0 : hasOwnProperty.call(data, key); + } + module2.exports = hashHas; + } +}); + +// node_modules/lodash/_hashSet.js +var require_hashSet = __commonJS({ + "node_modules/lodash/_hashSet.js"(exports2, module2) { + var nativeCreate = require_nativeCreate(); + var HASH_UNDEFINED = "__lodash_hash_undefined__"; + function hashSet(key, value) { + var data = this.__data__; + this.size += this.has(key) ? 0 : 1; + data[key] = nativeCreate && value === void 0 ? HASH_UNDEFINED : value; + return this; + } + module2.exports = hashSet; + } +}); + +// node_modules/lodash/_Hash.js +var require_Hash = __commonJS({ + "node_modules/lodash/_Hash.js"(exports2, module2) { + var hashClear = require_hashClear(); + var hashDelete = require_hashDelete(); + var hashGet = require_hashGet(); + var hashHas = require_hashHas(); + var hashSet = require_hashSet(); + function Hash(entries) { + var index = -1, length = entries == null ? 0 : entries.length; + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } + } + Hash.prototype.clear = hashClear; + Hash.prototype["delete"] = hashDelete; + Hash.prototype.get = hashGet; + Hash.prototype.has = hashHas; + Hash.prototype.set = hashSet; + module2.exports = Hash; + } +}); + +// node_modules/lodash/_listCacheClear.js +var require_listCacheClear = __commonJS({ + "node_modules/lodash/_listCacheClear.js"(exports2, module2) { + function listCacheClear() { + this.__data__ = []; + this.size = 0; + } + module2.exports = listCacheClear; + } +}); + +// node_modules/lodash/_assocIndexOf.js +var require_assocIndexOf = __commonJS({ + "node_modules/lodash/_assocIndexOf.js"(exports2, module2) { + var eq = require_eq2(); + function assocIndexOf(array, key) { + var length = array.length; + while (length--) { + if (eq(array[length][0], key)) { + return length; } - return message; - } - internalBinaryWrite(message, writer, options) { - if (message.ok !== false) - writer.tag(1, runtime_1.WireType.Varint).bool(message.ok); - if (message.signedDownloadUrl !== "") - writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedDownloadUrl); - if (message.matchedKey !== "") - writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.matchedKey); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); - return writer; } - }; - exports2.GetCacheEntryDownloadURLResponse = new GetCacheEntryDownloadURLResponse$Type(); - exports2.CacheService = new runtime_rpc_1.ServiceType("github.actions.results.api.v1.CacheService", [ - { name: "CreateCacheEntry", options: {}, I: exports2.CreateCacheEntryRequest, O: exports2.CreateCacheEntryResponse }, - { name: "FinalizeCacheEntryUpload", options: {}, I: exports2.FinalizeCacheEntryUploadRequest, O: exports2.FinalizeCacheEntryUploadResponse }, - { name: "GetCacheEntryDownloadURL", options: {}, I: exports2.GetCacheEntryDownloadURLRequest, O: exports2.GetCacheEntryDownloadURLResponse } - ]); + return -1; + } + module2.exports = assocIndexOf; } }); -// node_modules/@actions/cache/lib/generated/results/api/v1/cache.twirp-client.js -var require_cache_twirp_client = __commonJS({ - "node_modules/@actions/cache/lib/generated/results/api/v1/cache.twirp-client.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.CacheServiceClientProtobuf = exports2.CacheServiceClientJSON = void 0; - var cache_1 = require_cache4(); - var CacheServiceClientJSON = class { - constructor(rpc) { - this.rpc = rpc; - this.CreateCacheEntry.bind(this); - this.FinalizeCacheEntryUpload.bind(this); - this.GetCacheEntryDownloadURL.bind(this); - } - CreateCacheEntry(request2) { - const data = cache_1.CreateCacheEntryRequest.toJson(request2, { - useProtoFieldName: true, - emitDefaultValues: false - }); - const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "CreateCacheEntry", "application/json", data); - return promise.then((data2) => cache_1.CreateCacheEntryResponse.fromJson(data2, { - ignoreUnknownFields: true - })); - } - FinalizeCacheEntryUpload(request2) { - const data = cache_1.FinalizeCacheEntryUploadRequest.toJson(request2, { - useProtoFieldName: true, - emitDefaultValues: false - }); - const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "FinalizeCacheEntryUpload", "application/json", data); - return promise.then((data2) => cache_1.FinalizeCacheEntryUploadResponse.fromJson(data2, { - ignoreUnknownFields: true - })); +// node_modules/lodash/_listCacheDelete.js +var require_listCacheDelete = __commonJS({ + "node_modules/lodash/_listCacheDelete.js"(exports2, module2) { + var assocIndexOf = require_assocIndexOf(); + var arrayProto = Array.prototype; + var splice = arrayProto.splice; + function listCacheDelete(key) { + var data = this.__data__, index = assocIndexOf(data, key); + if (index < 0) { + return false; } - GetCacheEntryDownloadURL(request2) { - const data = cache_1.GetCacheEntryDownloadURLRequest.toJson(request2, { - useProtoFieldName: true, - emitDefaultValues: false - }); - const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "GetCacheEntryDownloadURL", "application/json", data); - return promise.then((data2) => cache_1.GetCacheEntryDownloadURLResponse.fromJson(data2, { - ignoreUnknownFields: true - })); + var lastIndex = data.length - 1; + if (index == lastIndex) { + data.pop(); + } else { + splice.call(data, index, 1); } - }; - exports2.CacheServiceClientJSON = CacheServiceClientJSON; - var CacheServiceClientProtobuf = class { - constructor(rpc) { - this.rpc = rpc; - this.CreateCacheEntry.bind(this); - this.FinalizeCacheEntryUpload.bind(this); - this.GetCacheEntryDownloadURL.bind(this); + --this.size; + return true; + } + module2.exports = listCacheDelete; + } +}); + +// node_modules/lodash/_listCacheGet.js +var require_listCacheGet = __commonJS({ + "node_modules/lodash/_listCacheGet.js"(exports2, module2) { + var assocIndexOf = require_assocIndexOf(); + function listCacheGet(key) { + var data = this.__data__, index = assocIndexOf(data, key); + return index < 0 ? void 0 : data[index][1]; + } + module2.exports = listCacheGet; + } +}); + +// node_modules/lodash/_listCacheHas.js +var require_listCacheHas = __commonJS({ + "node_modules/lodash/_listCacheHas.js"(exports2, module2) { + var assocIndexOf = require_assocIndexOf(); + function listCacheHas(key) { + return assocIndexOf(this.__data__, key) > -1; + } + module2.exports = listCacheHas; + } +}); + +// node_modules/lodash/_listCacheSet.js +var require_listCacheSet = __commonJS({ + "node_modules/lodash/_listCacheSet.js"(exports2, module2) { + var assocIndexOf = require_assocIndexOf(); + function listCacheSet(key, value) { + var data = this.__data__, index = assocIndexOf(data, key); + if (index < 0) { + ++this.size; + data.push([key, value]); + } else { + data[index][1] = value; } - CreateCacheEntry(request2) { - const data = cache_1.CreateCacheEntryRequest.toBinary(request2); - const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "CreateCacheEntry", "application/protobuf", data); - return promise.then((data2) => cache_1.CreateCacheEntryResponse.fromBinary(data2)); + return this; + } + module2.exports = listCacheSet; + } +}); + +// node_modules/lodash/_ListCache.js +var require_ListCache = __commonJS({ + "node_modules/lodash/_ListCache.js"(exports2, module2) { + var listCacheClear = require_listCacheClear(); + var listCacheDelete = require_listCacheDelete(); + var listCacheGet = require_listCacheGet(); + var listCacheHas = require_listCacheHas(); + var listCacheSet = require_listCacheSet(); + function ListCache(entries) { + var index = -1, length = entries == null ? 0 : entries.length; + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); } - FinalizeCacheEntryUpload(request2) { - const data = cache_1.FinalizeCacheEntryUploadRequest.toBinary(request2); - const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "FinalizeCacheEntryUpload", "application/protobuf", data); - return promise.then((data2) => cache_1.FinalizeCacheEntryUploadResponse.fromBinary(data2)); + } + ListCache.prototype.clear = listCacheClear; + ListCache.prototype["delete"] = listCacheDelete; + ListCache.prototype.get = listCacheGet; + ListCache.prototype.has = listCacheHas; + ListCache.prototype.set = listCacheSet; + module2.exports = ListCache; + } +}); + +// node_modules/lodash/_Map.js +var require_Map = __commonJS({ + "node_modules/lodash/_Map.js"(exports2, module2) { + var getNative = require_getNative(); + var root = require_root(); + var Map2 = getNative(root, "Map"); + module2.exports = Map2; + } +}); + +// node_modules/lodash/_mapCacheClear.js +var require_mapCacheClear = __commonJS({ + "node_modules/lodash/_mapCacheClear.js"(exports2, module2) { + var Hash = require_Hash(); + var ListCache = require_ListCache(); + var Map2 = require_Map(); + function mapCacheClear() { + this.size = 0; + this.__data__ = { + "hash": new Hash(), + "map": new (Map2 || ListCache)(), + "string": new Hash() + }; + } + module2.exports = mapCacheClear; + } +}); + +// node_modules/lodash/_isKeyable.js +var require_isKeyable = __commonJS({ + "node_modules/lodash/_isKeyable.js"(exports2, module2) { + function isKeyable(value) { + var type2 = typeof value; + return type2 == "string" || type2 == "number" || type2 == "symbol" || type2 == "boolean" ? value !== "__proto__" : value === null; + } + module2.exports = isKeyable; + } +}); + +// node_modules/lodash/_getMapData.js +var require_getMapData = __commonJS({ + "node_modules/lodash/_getMapData.js"(exports2, module2) { + var isKeyable = require_isKeyable(); + function getMapData(map2, key) { + var data = map2.__data__; + return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map; + } + module2.exports = getMapData; + } +}); + +// node_modules/lodash/_mapCacheDelete.js +var require_mapCacheDelete = __commonJS({ + "node_modules/lodash/_mapCacheDelete.js"(exports2, module2) { + var getMapData = require_getMapData(); + function mapCacheDelete(key) { + var result = getMapData(this, key)["delete"](key); + this.size -= result ? 1 : 0; + return result; + } + module2.exports = mapCacheDelete; + } +}); + +// node_modules/lodash/_mapCacheGet.js +var require_mapCacheGet = __commonJS({ + "node_modules/lodash/_mapCacheGet.js"(exports2, module2) { + var getMapData = require_getMapData(); + function mapCacheGet(key) { + return getMapData(this, key).get(key); + } + module2.exports = mapCacheGet; + } +}); + +// node_modules/lodash/_mapCacheHas.js +var require_mapCacheHas = __commonJS({ + "node_modules/lodash/_mapCacheHas.js"(exports2, module2) { + var getMapData = require_getMapData(); + function mapCacheHas(key) { + return getMapData(this, key).has(key); + } + module2.exports = mapCacheHas; + } +}); + +// node_modules/lodash/_mapCacheSet.js +var require_mapCacheSet = __commonJS({ + "node_modules/lodash/_mapCacheSet.js"(exports2, module2) { + var getMapData = require_getMapData(); + function mapCacheSet(key, value) { + var data = getMapData(this, key), size = data.size; + data.set(key, value); + this.size += data.size == size ? 0 : 1; + return this; + } + module2.exports = mapCacheSet; + } +}); + +// node_modules/lodash/_MapCache.js +var require_MapCache = __commonJS({ + "node_modules/lodash/_MapCache.js"(exports2, module2) { + var mapCacheClear = require_mapCacheClear(); + var mapCacheDelete = require_mapCacheDelete(); + var mapCacheGet = require_mapCacheGet(); + var mapCacheHas = require_mapCacheHas(); + var mapCacheSet = require_mapCacheSet(); + function MapCache(entries) { + var index = -1, length = entries == null ? 0 : entries.length; + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); } - GetCacheEntryDownloadURL(request2) { - const data = cache_1.GetCacheEntryDownloadURLRequest.toBinary(request2); - const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "GetCacheEntryDownloadURL", "application/protobuf", data); - return promise.then((data2) => cache_1.GetCacheEntryDownloadURLResponse.fromBinary(data2)); + } + MapCache.prototype.clear = mapCacheClear; + MapCache.prototype["delete"] = mapCacheDelete; + MapCache.prototype.get = mapCacheGet; + MapCache.prototype.has = mapCacheHas; + MapCache.prototype.set = mapCacheSet; + module2.exports = MapCache; + } +}); + +// node_modules/lodash/_setCacheAdd.js +var require_setCacheAdd = __commonJS({ + "node_modules/lodash/_setCacheAdd.js"(exports2, module2) { + var HASH_UNDEFINED = "__lodash_hash_undefined__"; + function setCacheAdd(value) { + this.__data__.set(value, HASH_UNDEFINED); + return this; + } + module2.exports = setCacheAdd; + } +}); + +// node_modules/lodash/_setCacheHas.js +var require_setCacheHas = __commonJS({ + "node_modules/lodash/_setCacheHas.js"(exports2, module2) { + function setCacheHas(value) { + return this.__data__.has(value); + } + module2.exports = setCacheHas; + } +}); + +// node_modules/lodash/_SetCache.js +var require_SetCache = __commonJS({ + "node_modules/lodash/_SetCache.js"(exports2, module2) { + var MapCache = require_MapCache(); + var setCacheAdd = require_setCacheAdd(); + var setCacheHas = require_setCacheHas(); + function SetCache(values) { + var index = -1, length = values == null ? 0 : values.length; + this.__data__ = new MapCache(); + while (++index < length) { + this.add(values[index]); } - }; - exports2.CacheServiceClientProtobuf = CacheServiceClientProtobuf; + } + SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; + SetCache.prototype.has = setCacheHas; + module2.exports = SetCache; } }); -// node_modules/@actions/cache/lib/internal/shared/util.js -var require_util17 = __commonJS({ - "node_modules/@actions/cache/lib/internal/shared/util.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.maskSigUrl = maskSigUrl; - exports2.maskSecretUrls = maskSecretUrls; - var core_1 = require_core(); - function maskSigUrl(url) { - if (!url) - return; - try { - const parsedUrl = new URL(url); - const signature = parsedUrl.searchParams.get("sig"); - if (signature) { - (0, core_1.setSecret)(signature); - (0, core_1.setSecret)(encodeURIComponent(signature)); +// node_modules/lodash/_baseFindIndex.js +var require_baseFindIndex = __commonJS({ + "node_modules/lodash/_baseFindIndex.js"(exports2, module2) { + function baseFindIndex(array, predicate, fromIndex, fromRight) { + var length = array.length, index = fromIndex + (fromRight ? 1 : -1); + while (fromRight ? index-- : ++index < length) { + if (predicate(array[index], index, array)) { + return index; } - } catch (error3) { - (0, core_1.debug)(`Failed to parse URL: ${url} ${error3 instanceof Error ? error3.message : String(error3)}`); } + return -1; } - function maskSecretUrls(body) { - if (typeof body !== "object" || body === null) { - (0, core_1.debug)("body is not an object or is null"); - return; - } - if ("signed_upload_url" in body && typeof body.signed_upload_url === "string") { - maskSigUrl(body.signed_upload_url); - } - if ("signed_download_url" in body && typeof body.signed_download_url === "string") { - maskSigUrl(body.signed_download_url); - } + module2.exports = baseFindIndex; + } +}); + +// node_modules/lodash/_baseIsNaN.js +var require_baseIsNaN = __commonJS({ + "node_modules/lodash/_baseIsNaN.js"(exports2, module2) { + function baseIsNaN(value) { + return value !== value; } + module2.exports = baseIsNaN; } }); -// node_modules/@actions/cache/lib/internal/shared/cacheTwirpClient.js -var require_cacheTwirpClient = __commonJS({ - "node_modules/@actions/cache/lib/internal/shared/cacheTwirpClient.js"(exports2) { - "use strict"; - var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve5) { - resolve5(value); - }); - } - return new (P || (P = Promise))(function(resolve5, 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 ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.internalCacheTwirpClient = internalCacheTwirpClient; - var core_1 = require_core(); - var user_agent_1 = require_user_agent(); - var errors_1 = require_errors3(); - var config_1 = require_config(); - var cacheUtils_1 = require_cacheUtils(); - var auth_1 = require_auth(); - var http_client_1 = require_lib(); - var cache_twirp_client_1 = require_cache_twirp_client(); - var util_1 = require_util17(); - var CacheServiceClient = class { - constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) { - this.maxAttempts = 5; - this.baseRetryIntervalMilliseconds = 3e3; - this.retryMultiplier = 1.5; - const token = (0, cacheUtils_1.getRuntimeToken)(); - this.baseUrl = (0, config_1.getCacheServiceURL)(); - if (maxAttempts) { - this.maxAttempts = maxAttempts; - } - if (baseRetryIntervalMilliseconds) { - this.baseRetryIntervalMilliseconds = baseRetryIntervalMilliseconds; - } - if (retryMultiplier) { - this.retryMultiplier = retryMultiplier; +// node_modules/lodash/_strictIndexOf.js +var require_strictIndexOf = __commonJS({ + "node_modules/lodash/_strictIndexOf.js"(exports2, module2) { + function strictIndexOf(array, value, fromIndex) { + var index = fromIndex - 1, length = array.length; + while (++index < length) { + if (array[index] === value) { + return index; } - this.httpClient = new http_client_1.HttpClient(userAgent2, [ - new auth_1.BearerCredentialHandler(token) - ]); - } - // This function satisfies the Rpc interface. It is compatible with the JSON - // JSON generated client. - request(service, method, contentType, data) { - return __awaiter2(this, void 0, void 0, function* () { - const url = new URL(`/twirp/${service}/${method}`, this.baseUrl).href; - (0, core_1.debug)(`[Request] ${method} ${url}`); - const headers = { - "Content-Type": contentType - }; - try { - const { body } = yield this.retryableRequest(() => __awaiter2(this, void 0, void 0, function* () { - return this.httpClient.post(url, JSON.stringify(data), headers); - })); - return body; - } catch (error3) { - throw new Error(`Failed to ${method}: ${error3.message}`); - } - }); - } - retryableRequest(operation) { - return __awaiter2(this, void 0, void 0, function* () { - let attempt = 0; - let errorMessage = ""; - let rawBody = ""; - while (attempt < this.maxAttempts) { - let isRetryable = false; - try { - const response = yield operation(); - const statusCode = response.message.statusCode; - rawBody = yield response.readBody(); - (0, core_1.debug)(`[Response] - ${response.message.statusCode}`); - (0, core_1.debug)(`Headers: ${JSON.stringify(response.message.headers, null, 2)}`); - const body = JSON.parse(rawBody); - (0, util_1.maskSecretUrls)(body); - (0, core_1.debug)(`Body: ${JSON.stringify(body, null, 2)}`); - if (this.isSuccessStatusCode(statusCode)) { - return { response, body }; - } - isRetryable = this.isRetryableHttpStatusCode(statusCode); - errorMessage = `Failed request: (${statusCode}) ${response.message.statusMessage}`; - if (body.msg) { - if (errors_1.UsageError.isUsageErrorMessage(body.msg)) { - throw new errors_1.UsageError(); - } - errorMessage = `${errorMessage}: ${body.msg}`; - } - if (statusCode === http_client_1.HttpCodes.TooManyRequests) { - const retryAfterHeader = response.message.headers["retry-after"]; - if (retryAfterHeader) { - const parsedSeconds = parseInt(retryAfterHeader, 10); - if (!isNaN(parsedSeconds) && parsedSeconds > 0) { - (0, core_1.warning)(`You've hit a rate limit, your rate limit will reset in ${parsedSeconds} seconds`); - } - } - throw new errors_1.RateLimitError(`Rate limited: ${errorMessage}`); - } - } catch (error3) { - if (error3 instanceof SyntaxError) { - (0, core_1.debug)(`Raw Body: ${rawBody}`); - } - if (error3 instanceof errors_1.UsageError) { - throw error3; - } - if (error3 instanceof errors_1.RateLimitError) { - throw error3; - } - if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) { - throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code); - } - isRetryable = true; - errorMessage = error3.message; - } - if (!isRetryable) { - throw new Error(`Received non-retryable error: ${errorMessage}`); - } - if (attempt + 1 === this.maxAttempts) { - throw new Error(`Failed to make request after ${this.maxAttempts} attempts: ${errorMessage}`); - } - const retryTimeMilliseconds = this.getExponentialRetryTimeMilliseconds(attempt); - (0, core_1.info)(`Attempt ${attempt + 1} of ${this.maxAttempts} failed with error: ${errorMessage}. Retrying request in ${retryTimeMilliseconds} ms...`); - yield this.sleep(retryTimeMilliseconds); - attempt++; - } - throw new Error(`Request failed`); - }); - } - isSuccessStatusCode(statusCode) { - if (!statusCode) - return false; - return statusCode >= 200 && statusCode < 300; - } - isRetryableHttpStatusCode(statusCode) { - if (!statusCode) - return false; - const retryableStatusCodes = [ - http_client_1.HttpCodes.BadGateway, - http_client_1.HttpCodes.GatewayTimeout, - http_client_1.HttpCodes.InternalServerError, - http_client_1.HttpCodes.ServiceUnavailable - ]; - return retryableStatusCodes.includes(statusCode); - } - sleep(milliseconds) { - return __awaiter2(this, void 0, void 0, function* () { - return new Promise((resolve5) => setTimeout(resolve5, milliseconds)); - }); } - getExponentialRetryTimeMilliseconds(attempt) { - if (attempt < 0) { - throw new Error("attempt should be a positive integer"); - } - if (attempt === 0) { - return this.baseRetryIntervalMilliseconds; + return -1; + } + module2.exports = strictIndexOf; + } +}); + +// node_modules/lodash/_baseIndexOf.js +var require_baseIndexOf = __commonJS({ + "node_modules/lodash/_baseIndexOf.js"(exports2, module2) { + var baseFindIndex = require_baseFindIndex(); + var baseIsNaN = require_baseIsNaN(); + var strictIndexOf = require_strictIndexOf(); + function baseIndexOf(array, value, fromIndex) { + return value === value ? strictIndexOf(array, value, fromIndex) : baseFindIndex(array, baseIsNaN, fromIndex); + } + module2.exports = baseIndexOf; + } +}); + +// node_modules/lodash/_arrayIncludes.js +var require_arrayIncludes = __commonJS({ + "node_modules/lodash/_arrayIncludes.js"(exports2, module2) { + var baseIndexOf = require_baseIndexOf(); + function arrayIncludes(array, value) { + var length = array == null ? 0 : array.length; + return !!length && baseIndexOf(array, value, 0) > -1; + } + module2.exports = arrayIncludes; + } +}); + +// node_modules/lodash/_arrayIncludesWith.js +var require_arrayIncludesWith = __commonJS({ + "node_modules/lodash/_arrayIncludesWith.js"(exports2, module2) { + function arrayIncludesWith(array, value, comparator) { + var index = -1, length = array == null ? 0 : array.length; + while (++index < length) { + if (comparator(value, array[index])) { + return true; } - const minTime = this.baseRetryIntervalMilliseconds * Math.pow(this.retryMultiplier, attempt); - const maxTime = minTime * this.retryMultiplier; - return Math.trunc(Math.random() * (maxTime - minTime) + minTime); } - }; - function internalCacheTwirpClient(options) { - const client = new CacheServiceClient((0, user_agent_1.getUserAgentString)(), options === null || options === void 0 ? void 0 : options.maxAttempts, options === null || options === void 0 ? void 0 : options.retryIntervalMs, options === null || options === void 0 ? void 0 : options.retryMultiplier); - return new cache_twirp_client_1.CacheServiceClientJSON(client); + return false; } + module2.exports = arrayIncludesWith; } }); -// node_modules/@actions/cache/lib/internal/tar.js -var require_tar = __commonJS({ - "node_modules/@actions/cache/lib/internal/tar.js"(exports2) { - "use strict"; - var __createBinding2 = 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]; - } }; +// node_modules/lodash/_arrayMap.js +var require_arrayMap = __commonJS({ + "node_modules/lodash/_arrayMap.js"(exports2, module2) { + function arrayMap(array, iteratee) { + var index = -1, length = array == null ? 0 : array.length, result = Array(length); + while (++index < length) { + result[index] = iteratee(array[index], index, array); } - Object.defineProperty(o, k2, desc); - }) : (function(o, m, k, k2) { - if (k2 === void 0) k2 = k; - o[k2] = m[k]; - })); - var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - }) : function(o, v) { - o["default"] = v; - }); - var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() { - var ownKeys2 = function(o) { - ownKeys2 = 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 ownKeys2(o); - }; - return function(mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) { - for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]); - } - __setModuleDefault2(result, mod); + return result; + } + module2.exports = arrayMap; + } +}); + +// node_modules/lodash/_cacheHas.js +var require_cacheHas = __commonJS({ + "node_modules/lodash/_cacheHas.js"(exports2, module2) { + function cacheHas(cache, key) { + return cache.has(key); + } + module2.exports = cacheHas; + } +}); + +// node_modules/lodash/_baseDifference.js +var require_baseDifference = __commonJS({ + "node_modules/lodash/_baseDifference.js"(exports2, module2) { + var SetCache = require_SetCache(); + var arrayIncludes = require_arrayIncludes(); + var arrayIncludesWith = require_arrayIncludesWith(); + var arrayMap = require_arrayMap(); + var baseUnary = require_baseUnary(); + var cacheHas = require_cacheHas(); + var LARGE_ARRAY_SIZE = 200; + function baseDifference(array, values, iteratee, comparator) { + var index = -1, includes = arrayIncludes, isCommon = true, length = array.length, result = [], valuesLength = values.length; + if (!length) { return result; - }; - })(); - var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve5) { - resolve5(value); - }); } - return new (P || (P = Promise))(function(resolve5, 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 ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.listTar = listTar; - exports2.extractTar = extractTar2; - exports2.createTar = createTar; - var exec_1 = require_exec(); - var io6 = __importStar2(require_io()); - var fs_1 = require("fs"); - var path7 = __importStar2(require("path")); - var utils = __importStar2(require_cacheUtils()); - var constants_1 = require_constants12(); - var IS_WINDOWS = process.platform === "win32"; - function getTarPath() { - return __awaiter2(this, void 0, void 0, function* () { - switch (process.platform) { - case "win32": { - const gnuTar = yield utils.getGnuTarPathOnWindows(); - const systemTar = constants_1.SystemTarPathOnWindows; - if (gnuTar) { - return { path: gnuTar, type: constants_1.ArchiveToolType.GNU }; - } else if ((0, fs_1.existsSync)(systemTar)) { - return { path: systemTar, type: constants_1.ArchiveToolType.BSD }; - } - break; - } - case "darwin": { - const gnuTar = yield io6.which("gtar", false); - if (gnuTar) { - return { path: gnuTar, type: constants_1.ArchiveToolType.GNU }; - } else { - return { - path: yield io6.which("tar", true), - type: constants_1.ArchiveToolType.BSD - }; + if (iteratee) { + values = arrayMap(values, baseUnary(iteratee)); + } + if (comparator) { + includes = arrayIncludesWith; + isCommon = false; + } else if (values.length >= LARGE_ARRAY_SIZE) { + includes = cacheHas; + isCommon = false; + values = new SetCache(values); + } + outer: + while (++index < length) { + var value = array[index], computed = iteratee == null ? value : iteratee(value); + value = comparator || value !== 0 ? value : 0; + if (isCommon && computed === computed) { + var valuesIndex = valuesLength; + while (valuesIndex--) { + if (values[valuesIndex] === computed) { + continue outer; + } } + result.push(value); + } else if (!includes(values, computed, comparator)) { + result.push(value); } - default: - break; - } - return { - path: yield io6.which("tar", true), - type: constants_1.ArchiveToolType.GNU - }; - }); - } - function getTarArgs(tarPath_1, compressionMethod_1, type_1) { - return __awaiter2(this, arguments, void 0, function* (tarPath, compressionMethod, type2, archivePath = "") { - const args = [`"${tarPath.path}"`]; - const cacheFileName = utils.getCacheFileName(compressionMethod); - const tarFile = "cache.tar"; - const workingDirectory = getWorkingDirectory(); - const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS; - switch (type2) { - case "create": - args.push("--posix", "-cf", BSD_TAR_ZSTD ? tarFile : cacheFileName.replace(new RegExp(`\\${path7.sep}`, "g"), "/"), "--exclude", BSD_TAR_ZSTD ? tarFile : cacheFileName.replace(new RegExp(`\\${path7.sep}`, "g"), "/"), "-P", "-C", workingDirectory.replace(new RegExp(`\\${path7.sep}`, "g"), "/"), "--files-from", constants_1.ManifestFilename); - break; - case "extract": - args.push("-xf", BSD_TAR_ZSTD ? tarFile : archivePath.replace(new RegExp(`\\${path7.sep}`, "g"), "/"), "-P", "-C", workingDirectory.replace(new RegExp(`\\${path7.sep}`, "g"), "/")); - break; - case "list": - args.push("-tf", BSD_TAR_ZSTD ? tarFile : archivePath.replace(new RegExp(`\\${path7.sep}`, "g"), "/"), "-P"); - break; - } - if (tarPath.type === constants_1.ArchiveToolType.GNU) { - switch (process.platform) { - case "win32": - args.push("--force-local"); - break; - case "darwin": - args.push("--delay-directory-restore"); - break; - } - } - return args; - }); - } - function getCommands(compressionMethod_1, type_1) { - return __awaiter2(this, arguments, void 0, function* (compressionMethod, type2, archivePath = "") { - let args; - const tarPath = yield getTarPath(); - const tarArgs = yield getTarArgs(tarPath, compressionMethod, type2, archivePath); - const compressionArgs = type2 !== "create" ? yield getDecompressionProgram(tarPath, compressionMethod, archivePath) : yield getCompressionProgram(tarPath, compressionMethod); - const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS; - if (BSD_TAR_ZSTD && type2 !== "create") { - args = [[...compressionArgs].join(" "), [...tarArgs].join(" ")]; - } else { - args = [[...tarArgs].join(" "), [...compressionArgs].join(" ")]; - } - if (BSD_TAR_ZSTD) { - return args; } - return [args.join(" ")]; - }); + return result; } - function getWorkingDirectory() { - var _a; - return (_a = process.env["GITHUB_WORKSPACE"]) !== null && _a !== void 0 ? _a : process.cwd(); + module2.exports = baseDifference; + } +}); + +// node_modules/lodash/isArrayLikeObject.js +var require_isArrayLikeObject = __commonJS({ + "node_modules/lodash/isArrayLikeObject.js"(exports2, module2) { + var isArrayLike = require_isArrayLike(); + var isObjectLike = require_isObjectLike(); + function isArrayLikeObject(value) { + return isObjectLike(value) && isArrayLike(value); } - function getDecompressionProgram(tarPath, compressionMethod, archivePath) { - return __awaiter2(this, void 0, void 0, function* () { - const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS; - switch (compressionMethod) { - case constants_1.CompressionMethod.Zstd: - return BSD_TAR_ZSTD ? [ - "zstd -d --long=30 --force -o", - constants_1.TarFilename, - archivePath.replace(new RegExp(`\\${path7.sep}`, "g"), "/") - ] : [ - "--use-compress-program", - IS_WINDOWS ? '"zstd -d --long=30"' : "unzstd --long=30" - ]; - case constants_1.CompressionMethod.ZstdWithoutLong: - return BSD_TAR_ZSTD ? [ - "zstd -d --force -o", - constants_1.TarFilename, - archivePath.replace(new RegExp(`\\${path7.sep}`, "g"), "/") - ] : ["--use-compress-program", IS_WINDOWS ? '"zstd -d"' : "unzstd"]; - default: - return ["-z"]; - } - }); + module2.exports = isArrayLikeObject; + } +}); + +// node_modules/lodash/difference.js +var require_difference = __commonJS({ + "node_modules/lodash/difference.js"(exports2, module2) { + var baseDifference = require_baseDifference(); + var baseFlatten = require_baseFlatten(); + var baseRest = require_baseRest(); + var isArrayLikeObject = require_isArrayLikeObject(); + var difference = baseRest(function(array, values) { + return isArrayLikeObject(array) ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true)) : []; + }); + module2.exports = difference; + } +}); + +// node_modules/lodash/_Set.js +var require_Set = __commonJS({ + "node_modules/lodash/_Set.js"(exports2, module2) { + var getNative = require_getNative(); + var root = require_root(); + var Set2 = getNative(root, "Set"); + module2.exports = Set2; + } +}); + +// node_modules/lodash/noop.js +var require_noop = __commonJS({ + "node_modules/lodash/noop.js"(exports2, module2) { + function noop3() { } - function getCompressionProgram(tarPath, compressionMethod) { - return __awaiter2(this, void 0, void 0, function* () { - const cacheFileName = utils.getCacheFileName(compressionMethod); - const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS; - switch (compressionMethod) { - case constants_1.CompressionMethod.Zstd: - return BSD_TAR_ZSTD ? [ - "zstd -T0 --long=30 --force -o", - cacheFileName.replace(new RegExp(`\\${path7.sep}`, "g"), "/"), - constants_1.TarFilename - ] : [ - "--use-compress-program", - IS_WINDOWS ? '"zstd -T0 --long=30"' : "zstdmt --long=30" - ]; - case constants_1.CompressionMethod.ZstdWithoutLong: - return BSD_TAR_ZSTD ? [ - "zstd -T0 --force -o", - cacheFileName.replace(new RegExp(`\\${path7.sep}`, "g"), "/"), - constants_1.TarFilename - ] : ["--use-compress-program", IS_WINDOWS ? '"zstd -T0"' : "zstdmt"]; - default: - return ["-z"]; - } + module2.exports = noop3; + } +}); + +// node_modules/lodash/_setToArray.js +var require_setToArray = __commonJS({ + "node_modules/lodash/_setToArray.js"(exports2, module2) { + function setToArray(set2) { + var index = -1, result = Array(set2.size); + set2.forEach(function(value) { + result[++index] = value; }); + return result; } - function execCommands(commands, cwd) { - return __awaiter2(this, void 0, void 0, function* () { - for (const command of commands) { - try { - yield (0, exec_1.exec)(command, void 0, { - cwd, - env: Object.assign(Object.assign({}, process.env), { MSYS: "winsymlinks:nativestrict" }) - }); - } catch (error3) { - throw new Error(`${command.split(" ")[0]} failed with error: ${error3 === null || error3 === void 0 ? void 0 : error3.message}`); - } + module2.exports = setToArray; + } +}); + +// node_modules/lodash/_createSet.js +var require_createSet = __commonJS({ + "node_modules/lodash/_createSet.js"(exports2, module2) { + var Set2 = require_Set(); + var noop3 = require_noop(); + var setToArray = require_setToArray(); + var INFINITY = 1 / 0; + var createSet = !(Set2 && 1 / setToArray(new Set2([, -0]))[1] == INFINITY) ? noop3 : function(values) { + return new Set2(values); + }; + module2.exports = createSet; + } +}); + +// node_modules/lodash/_baseUniq.js +var require_baseUniq = __commonJS({ + "node_modules/lodash/_baseUniq.js"(exports2, module2) { + var SetCache = require_SetCache(); + var arrayIncludes = require_arrayIncludes(); + var arrayIncludesWith = require_arrayIncludesWith(); + var cacheHas = require_cacheHas(); + var createSet = require_createSet(); + var setToArray = require_setToArray(); + var LARGE_ARRAY_SIZE = 200; + function baseUniq(array, iteratee, comparator) { + var index = -1, includes = arrayIncludes, length = array.length, isCommon = true, result = [], seen = result; + if (comparator) { + isCommon = false; + includes = arrayIncludesWith; + } else if (length >= LARGE_ARRAY_SIZE) { + var set2 = iteratee ? null : createSet(array); + if (set2) { + return setToArray(set2); } - }); - } - function listTar(archivePath, compressionMethod) { - return __awaiter2(this, void 0, void 0, function* () { - const commands = yield getCommands(compressionMethod, "list", archivePath); - yield execCommands(commands); - }); - } - function extractTar2(archivePath, compressionMethod) { - return __awaiter2(this, void 0, void 0, function* () { - const workingDirectory = getWorkingDirectory(); - yield io6.mkdirP(workingDirectory); - const commands = yield getCommands(compressionMethod, "extract", archivePath); - yield execCommands(commands); - }); - } - function createTar(archiveFolder, sourceDirectories, compressionMethod) { - return __awaiter2(this, void 0, void 0, function* () { - (0, fs_1.writeFileSync)(path7.join(archiveFolder, constants_1.ManifestFilename), sourceDirectories.join("\n")); - const commands = yield getCommands(compressionMethod, "create"); - yield execCommands(commands, archiveFolder); - }); + isCommon = false; + includes = cacheHas; + seen = new SetCache(); + } else { + seen = iteratee ? [] : result; + } + outer: + while (++index < length) { + var value = array[index], computed = iteratee ? iteratee(value) : value; + value = comparator || value !== 0 ? value : 0; + if (isCommon && computed === computed) { + var seenIndex = seen.length; + while (seenIndex--) { + if (seen[seenIndex] === computed) { + continue outer; + } + } + if (iteratee) { + seen.push(computed); + } + result.push(value); + } else if (!includes(seen, computed, comparator)) { + if (seen !== result) { + seen.push(computed); + } + result.push(value); + } + } + return result; } + module2.exports = baseUniq; } }); -// node_modules/@actions/cache/lib/cache.js -var require_cache5 = __commonJS({ - "node_modules/@actions/cache/lib/cache.js"(exports2) { - "use strict"; - var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - }) : function(o, v) { - o["default"] = v; +// node_modules/lodash/union.js +var require_union = __commonJS({ + "node_modules/lodash/union.js"(exports2, module2) { + var baseFlatten = require_baseFlatten(); + var baseRest = require_baseRest(); + var baseUniq = require_baseUniq(); + var isArrayLikeObject = require_isArrayLikeObject(); + var union = baseRest(function(arrays) { + return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true)); }); - var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() { - var ownKeys2 = function(o) { - ownKeys2 = 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 ownKeys2(o); - }; - return function(mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) { - for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]); - } - __setModuleDefault2(result, mod); - return result; + module2.exports = union; + } +}); + +// node_modules/lodash/_overArg.js +var require_overArg = __commonJS({ + "node_modules/lodash/_overArg.js"(exports2, module2) { + function overArg(func, transform) { + return function(arg) { + return func(transform(arg)); }; - })(); - var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve5) { - resolve5(value); - }); + } + module2.exports = overArg; + } +}); + +// node_modules/lodash/_getPrototype.js +var require_getPrototype = __commonJS({ + "node_modules/lodash/_getPrototype.js"(exports2, module2) { + var overArg = require_overArg(); + var getPrototype = overArg(Object.getPrototypeOf, Object); + module2.exports = getPrototype; + } +}); + +// node_modules/lodash/isPlainObject.js +var require_isPlainObject = __commonJS({ + "node_modules/lodash/isPlainObject.js"(exports2, module2) { + var baseGetTag = require_baseGetTag(); + var getPrototype = require_getPrototype(); + var isObjectLike = require_isObjectLike(); + var objectTag = "[object Object]"; + var funcProto = Function.prototype; + var objectProto = Object.prototype; + var funcToString = funcProto.toString; + var hasOwnProperty = objectProto.hasOwnProperty; + var objectCtorString = funcToString.call(Object); + function isPlainObject3(value) { + if (!isObjectLike(value) || baseGetTag(value) != objectTag) { + return false; } - return new (P || (P = Promise))(function(resolve5, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } + var proto = getPrototype(value); + if (proto === null) { + return true; + } + var Ctor = hasOwnProperty.call(proto, "constructor") && proto.constructor; + return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString; + } + module2.exports = isPlainObject3; + } +}); + +// node_modules/@isaacs/balanced-match/dist/commonjs/index.js +var require_commonjs18 = __commonJS({ + "node_modules/@isaacs/balanced-match/dist/commonjs/index.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.range = exports2.balanced = void 0; + var balanced = (a, b, str2) => { + const ma = a instanceof RegExp ? maybeMatch(a, str2) : a; + const mb = b instanceof RegExp ? maybeMatch(b, str2) : b; + const r = ma !== null && mb != null && (0, exports2.range)(ma, mb, str2); + return r && { + start: r[0], + end: r[1], + pre: str2.slice(0, r[0]), + body: str2.slice(r[0] + ma.length, r[1]), + post: str2.slice(r[1] + mb.length) + }; + }; + exports2.balanced = balanced; + var maybeMatch = (reg, str2) => { + const m = str2.match(reg); + return m ? m[0] : null; + }; + var range = (a, b, str2) => { + let begs, beg, left, right = void 0, result; + let ai = str2.indexOf(a); + let bi = str2.indexOf(b, ai + 1); + let i = ai; + if (ai >= 0 && bi > 0) { + if (a === b) { + return [ai, bi]; } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); + begs = []; + left = str2.length; + while (i >= 0 && !result) { + if (i === ai) { + begs.push(i); + ai = str2.indexOf(a, i + 1); + } else if (begs.length === 1) { + const r = begs.pop(); + if (r !== void 0) + result = [r, bi]; + } else { + beg = begs.pop(); + if (beg !== void 0 && beg < left) { + left = beg; + right = bi; + } + bi = str2.indexOf(b, i + 1); } + i = ai < bi && ai >= 0 ? ai : bi; } - function step(result) { - result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); + if (begs.length && right !== void 0) { + result = [left, right]; } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.FinalizeCacheError = exports2.ReserveCacheError = exports2.ValidationError = void 0; - exports2.isFeatureAvailable = isFeatureAvailable; - exports2.restoreCache = restoreCache4; - exports2.saveCache = saveCache4; - var core14 = __importStar2(require_core()); - var path7 = __importStar2(require("path")); - var utils = __importStar2(require_cacheUtils()); - var cacheHttpClient = __importStar2(require_cacheHttpClient()); - var cacheTwirpClient = __importStar2(require_cacheTwirpClient()); - var config_1 = require_config(); - var tar_1 = require_tar(); - var http_client_1 = require_lib(); - var ValidationError = class _ValidationError extends Error { - constructor(message) { - super(message); - this.name = "ValidationError"; - Object.setPrototypeOf(this, _ValidationError.prototype); } + return result; }; - exports2.ValidationError = ValidationError; - var ReserveCacheError2 = class _ReserveCacheError extends Error { - constructor(message) { - super(message); - this.name = "ReserveCacheError"; - Object.setPrototypeOf(this, _ReserveCacheError.prototype); + exports2.range = range; + } +}); + +// node_modules/@isaacs/brace-expansion/dist/commonjs/index.js +var require_commonjs19 = __commonJS({ + "node_modules/@isaacs/brace-expansion/dist/commonjs/index.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.EXPANSION_MAX = void 0; + exports2.expand = expand2; + var balanced_match_1 = require_commonjs18(); + var escSlash = "\0SLASH" + Math.random() + "\0"; + var escOpen = "\0OPEN" + Math.random() + "\0"; + var escClose = "\0CLOSE" + Math.random() + "\0"; + var escComma = "\0COMMA" + Math.random() + "\0"; + var escPeriod = "\0PERIOD" + Math.random() + "\0"; + var escSlashPattern = new RegExp(escSlash, "g"); + var escOpenPattern = new RegExp(escOpen, "g"); + var escClosePattern = new RegExp(escClose, "g"); + var escCommaPattern = new RegExp(escComma, "g"); + var escPeriodPattern = new RegExp(escPeriod, "g"); + var slashPattern = /\\\\/g; + var openPattern = /\\{/g; + var closePattern = /\\}/g; + var commaPattern = /\\,/g; + var periodPattern = /\\./g; + exports2.EXPANSION_MAX = 1e5; + function numeric(str2) { + return !isNaN(str2) ? parseInt(str2, 10) : str2.charCodeAt(0); + } + function escapeBraces(str2) { + return str2.replace(slashPattern, escSlash).replace(openPattern, escOpen).replace(closePattern, escClose).replace(commaPattern, escComma).replace(periodPattern, escPeriod); + } + function unescapeBraces(str2) { + return str2.replace(escSlashPattern, "\\").replace(escOpenPattern, "{").replace(escClosePattern, "}").replace(escCommaPattern, ",").replace(escPeriodPattern, "."); + } + function parseCommaParts(str2) { + if (!str2) { + return [""]; } - }; - exports2.ReserveCacheError = ReserveCacheError2; - var FinalizeCacheError = class _FinalizeCacheError extends Error { - constructor(message) { - super(message); - this.name = "FinalizeCacheError"; - Object.setPrototypeOf(this, _FinalizeCacheError.prototype); + const parts = []; + const m = (0, balanced_match_1.balanced)("{", "}", str2); + if (!m) { + return str2.split(","); } - }; - exports2.FinalizeCacheError = FinalizeCacheError; - function checkPaths(paths) { - if (!paths || paths.length === 0) { - throw new ValidationError(`Path Validation Error: At least one directory or file path is required`); + const { pre, body, post } = m; + const p = pre.split(","); + p[p.length - 1] += "{" + body + "}"; + const postParts = parseCommaParts(post); + if (post.length) { + ; + p[p.length - 1] += postParts.shift(); + p.push.apply(p, postParts); } + parts.push.apply(parts, p); + return parts; } - function checkKey(key) { - if (key.length > 512) { - throw new ValidationError(`Key Validation Error: ${key} cannot be larger than 512 characters.`); - } - const regex = /^[^,]*$/; - if (!regex.test(key)) { - throw new ValidationError(`Key Validation Error: ${key} cannot contain commas.`); + function expand2(str2, options = {}) { + if (!str2) { + return []; } - } - function isFeatureAvailable() { - const cacheServiceVersion = (0, config_1.getCacheServiceVersion)(); - switch (cacheServiceVersion) { - case "v2": - return !!process.env["ACTIONS_RESULTS_URL"]; - case "v1": - default: - return !!process.env["ACTIONS_CACHE_URL"]; + const { max = exports2.EXPANSION_MAX } = options; + if (str2.slice(0, 2) === "{}") { + str2 = "\\{\\}" + str2.slice(2); } + return expand_(escapeBraces(str2), max, true).map(unescapeBraces); } - function restoreCache4(paths_1, primaryKey_1, restoreKeys_1, options_1) { - return __awaiter2(this, arguments, void 0, function* (paths, primaryKey, restoreKeys, options, enableCrossOsArchive = false) { - const cacheServiceVersion = (0, config_1.getCacheServiceVersion)(); - core14.debug(`Cache service version: ${cacheServiceVersion}`); - checkPaths(paths); - switch (cacheServiceVersion) { - case "v2": - return yield restoreCacheV2(paths, primaryKey, restoreKeys, options, enableCrossOsArchive); - case "v1": - default: - return yield restoreCacheV1(paths, primaryKey, restoreKeys, options, enableCrossOsArchive); - } - }); + function embrace(str2) { + return "{" + str2 + "}"; } - function restoreCacheV1(paths_1, primaryKey_1, restoreKeys_1, options_1) { - return __awaiter2(this, arguments, void 0, function* (paths, primaryKey, restoreKeys, options, enableCrossOsArchive = false) { - restoreKeys = restoreKeys || []; - const keys = [primaryKey, ...restoreKeys]; - core14.debug("Resolved Keys:"); - core14.debug(JSON.stringify(keys)); - if (keys.length > 10) { - throw new ValidationError(`Key Validation Error: Keys are limited to a maximum of 10.`); - } - for (const key of keys) { - checkKey(key); - } - const compressionMethod = yield utils.getCompressionMethod(); - let archivePath = ""; - try { - const cacheEntry = yield cacheHttpClient.getCacheEntry(keys, paths, { - compressionMethod, - enableCrossOsArchive - }); - if (!(cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.archiveLocation)) { - return void 0; - } - if (options === null || options === void 0 ? void 0 : options.lookupOnly) { - core14.info("Lookup only - skipping download"); - return cacheEntry.cacheKey; - } - archivePath = path7.join(yield utils.createTempDirectory(), utils.getCacheFileName(compressionMethod)); - core14.debug(`Archive Path: ${archivePath}`); - yield cacheHttpClient.downloadCache(cacheEntry.archiveLocation, archivePath, options); - if (core14.isDebug()) { - yield (0, tar_1.listTar)(archivePath, compressionMethod); - } - const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath); - core14.info(`Cache Size: ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B)`); - yield (0, tar_1.extractTar)(archivePath, compressionMethod); - core14.info("Cache restored successfully"); - return cacheEntry.cacheKey; - } catch (error3) { - const typedError = error3; - if (typedError.name === ValidationError.name) { - throw error3; - } else { - if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) { - core14.error(`Failed to restore: ${error3.message}`); - } else { - core14.warning(`Failed to restore: ${error3.message}`); - } - } - } finally { - try { - yield utils.unlinkFile(archivePath); - } catch (error3) { - core14.debug(`Failed to delete archive: ${error3}`); - } - } - return void 0; - }); + function isPadded(el) { + return /^-?0\d/.test(el); } - function restoreCacheV2(paths_1, primaryKey_1, restoreKeys_1, options_1) { - return __awaiter2(this, arguments, void 0, function* (paths, primaryKey, restoreKeys, options, enableCrossOsArchive = false) { - options = Object.assign(Object.assign({}, options), { useAzureSdk: true }); - restoreKeys = restoreKeys || []; - const keys = [primaryKey, ...restoreKeys]; - core14.debug("Resolved Keys:"); - core14.debug(JSON.stringify(keys)); - if (keys.length > 10) { - throw new ValidationError(`Key Validation Error: Keys are limited to a maximum of 10.`); - } - for (const key of keys) { - checkKey(key); - } - let archivePath = ""; - try { - const twirpClient = cacheTwirpClient.internalCacheTwirpClient(); - const compressionMethod = yield utils.getCompressionMethod(); - const request2 = { - key: primaryKey, - restoreKeys, - version: utils.getCacheVersion(paths, compressionMethod, enableCrossOsArchive) - }; - const response = yield twirpClient.GetCacheEntryDownloadURL(request2); - if (!response.ok) { - core14.debug(`Cache not found for version ${request2.version} of keys: ${keys.join(", ")}`); - return void 0; - } - const isRestoreKeyMatch = request2.key !== response.matchedKey; - if (isRestoreKeyMatch) { - core14.info(`Cache hit for restore-key: ${response.matchedKey}`); - } else { - core14.info(`Cache hit for: ${response.matchedKey}`); - } - if (options === null || options === void 0 ? void 0 : options.lookupOnly) { - core14.info("Lookup only - skipping download"); - return response.matchedKey; - } - archivePath = path7.join(yield utils.createTempDirectory(), utils.getCacheFileName(compressionMethod)); - core14.debug(`Archive path: ${archivePath}`); - core14.debug(`Starting download of archive to: ${archivePath}`); - yield cacheHttpClient.downloadCache(response.signedDownloadUrl, archivePath, options); - const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath); - core14.info(`Cache Size: ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B)`); - if (core14.isDebug()) { - yield (0, tar_1.listTar)(archivePath, compressionMethod); - } - yield (0, tar_1.extractTar)(archivePath, compressionMethod); - core14.info("Cache restored successfully"); - return response.matchedKey; - } catch (error3) { - const typedError = error3; - if (typedError.name === ValidationError.name) { - throw error3; - } else { - if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) { - core14.error(`Failed to restore: ${error3.message}`); - } else { - core14.warning(`Failed to restore: ${error3.message}`); - } - } - } finally { - try { - if (archivePath) { - yield utils.unlinkFile(archivePath); - } - } catch (error3) { - core14.debug(`Failed to delete archive: ${error3}`); - } - } - return void 0; - }); + function lte(i, y) { + return i <= y; } - function saveCache4(paths_1, key_1, options_1) { - return __awaiter2(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) { - const cacheServiceVersion = (0, config_1.getCacheServiceVersion)(); - core14.debug(`Cache service version: ${cacheServiceVersion}`); - checkPaths(paths); - checkKey(key); - switch (cacheServiceVersion) { - case "v2": - return yield saveCacheV2(paths, key, options, enableCrossOsArchive); - case "v1": - default: - return yield saveCacheV1(paths, key, options, enableCrossOsArchive); - } - }); + function gte6(i, y) { + return i >= y; } - function saveCacheV1(paths_1, key_1, options_1) { - return __awaiter2(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) { - var _a, _b, _c, _d, _e; - const compressionMethod = yield utils.getCompressionMethod(); - let cacheId = -1; - const cachePaths = yield utils.resolvePaths(paths); - core14.debug("Cache Paths:"); - core14.debug(`${JSON.stringify(cachePaths)}`); - if (cachePaths.length === 0) { - throw new Error(`Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved.`); + function expand_(str2, max, isTop) { + const expansions = []; + const m = (0, balanced_match_1.balanced)("{", "}", str2); + if (!m) + return [str2]; + const pre = m.pre; + const post = m.post.length ? expand_(m.post, max, false) : [""]; + if (/\$$/.test(m.pre)) { + for (let k = 0; k < post.length && k < max; k++) { + const expansion = pre + "{" + m.body + "}" + post[k]; + expansions.push(expansion); } - const archiveFolder = yield utils.createTempDirectory(); - const archivePath = path7.join(archiveFolder, utils.getCacheFileName(compressionMethod)); - core14.debug(`Archive Path: ${archivePath}`); - try { - yield (0, tar_1.createTar)(archiveFolder, cachePaths, compressionMethod); - if (core14.isDebug()) { - yield (0, tar_1.listTar)(archivePath, compressionMethod); - } - const fileSizeLimit = 10 * 1024 * 1024 * 1024; - const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath); - core14.debug(`File Size: ${archiveFileSize}`); - if (archiveFileSize > fileSizeLimit && !(0, config_1.isGhes)()) { - throw new Error(`Cache size of ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B) is over the 10GB limit, not saving cache.`); - } - core14.debug("Reserving Cache"); - const reserveCacheResponse = yield cacheHttpClient.reserveCache(key, paths, { - compressionMethod, - enableCrossOsArchive, - cacheSize: archiveFileSize - }); - if ((_a = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.result) === null || _a === void 0 ? void 0 : _a.cacheId) { - cacheId = (_b = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.result) === null || _b === void 0 ? void 0 : _b.cacheId; - } else if ((reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.statusCode) === 400) { - throw new Error((_d = (_c = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.error) === null || _c === void 0 ? void 0 : _c.message) !== null && _d !== void 0 ? _d : `Cache size of ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B) is over the data cap limit, not saving cache.`); - } else { - throw new ReserveCacheError2(`Unable to reserve cache with key ${key}, another job may be creating this cache. More details: ${(_e = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.error) === null || _e === void 0 ? void 0 : _e.message}`); + } else { + const isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body); + const isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body); + const isSequence = isNumericSequence || isAlphaSequence; + const isOptions = m.body.indexOf(",") >= 0; + if (!isSequence && !isOptions) { + if (m.post.match(/,(?!,).*\}/)) { + str2 = m.pre + "{" + m.body + escClose + m.post; + return expand_(str2, max, true); } - core14.debug(`Saving Cache (ID: ${cacheId})`); - yield cacheHttpClient.saveCache(cacheId, archivePath, "", options); - } catch (error3) { - const typedError = error3; - if (typedError.name === ValidationError.name) { - throw error3; - } else if (typedError.name === ReserveCacheError2.name) { - core14.info(`Failed to save: ${typedError.message}`); - } else { - if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) { - core14.error(`Failed to save: ${typedError.message}`); - } else { - core14.warning(`Failed to save: ${typedError.message}`); + return [str2]; + } + let n; + if (isSequence) { + n = m.body.split(/\.\./); + } else { + n = parseCommaParts(m.body); + if (n.length === 1 && n[0] !== void 0) { + n = expand_(n[0], max, false).map(embrace); + if (n.length === 1) { + return post.map((p) => m.pre + n[0] + p); } } - } finally { - try { - yield utils.unlinkFile(archivePath); - } catch (error3) { - core14.debug(`Failed to delete archive: ${error3}`); - } - } - return cacheId; - }); - } - function saveCacheV2(paths_1, key_1, options_1) { - return __awaiter2(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) { - options = Object.assign(Object.assign({}, options), { uploadChunkSize: 64 * 1024 * 1024, uploadConcurrency: 8, useAzureSdk: true }); - const compressionMethod = yield utils.getCompressionMethod(); - const twirpClient = cacheTwirpClient.internalCacheTwirpClient(); - let cacheId = -1; - const cachePaths = yield utils.resolvePaths(paths); - core14.debug("Cache Paths:"); - core14.debug(`${JSON.stringify(cachePaths)}`); - if (cachePaths.length === 0) { - throw new Error(`Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved.`); } - const archiveFolder = yield utils.createTempDirectory(); - const archivePath = path7.join(archiveFolder, utils.getCacheFileName(compressionMethod)); - core14.debug(`Archive Path: ${archivePath}`); - try { - yield (0, tar_1.createTar)(archiveFolder, cachePaths, compressionMethod); - if (core14.isDebug()) { - yield (0, tar_1.listTar)(archivePath, compressionMethod); + let N; + if (isSequence && n[0] !== void 0 && n[1] !== void 0) { + const x = numeric(n[0]); + const y = numeric(n[1]); + const width = Math.max(n[0].length, n[1].length); + let incr = n.length === 3 && n[2] !== void 0 ? Math.abs(numeric(n[2])) : 1; + let test = lte; + const reverse = y < x; + if (reverse) { + incr *= -1; + test = gte6; } - const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath); - core14.debug(`File Size: ${archiveFileSize}`); - options.archiveSizeBytes = archiveFileSize; - core14.debug("Reserving Cache"); - const version = utils.getCacheVersion(paths, compressionMethod, enableCrossOsArchive); - const request2 = { - key, - version - }; - let signedUploadUrl; - try { - const response = yield twirpClient.CreateCacheEntry(request2); - if (!response.ok) { - if (response.message) { - core14.warning(`Cache reservation failed: ${response.message}`); + const pad = n.some(isPadded); + N = []; + for (let i = x; test(i, y); i += incr) { + let c; + if (isAlphaSequence) { + c = String.fromCharCode(i); + if (c === "\\") { + c = ""; + } + } else { + c = String(i); + if (pad) { + const need = width - c.length; + if (need > 0) { + const z = new Array(need + 1).join("0"); + if (i < 0) { + c = "-" + z + c.slice(1); + } else { + c = z + c; + } + } } - throw new Error(response.message || "Response was not ok"); } - signedUploadUrl = response.signedUploadUrl; - } catch (error3) { - core14.debug(`Failed to reserve cache: ${error3}`); - throw new ReserveCacheError2(`Unable to reserve cache with key ${key}, another job may be creating this cache.`); + N.push(c); } - core14.debug(`Attempting to upload cache located at: ${archivePath}`); - yield cacheHttpClient.saveCache(cacheId, archivePath, signedUploadUrl, options); - const finalizeRequest = { - key, - version, - sizeBytes: `${archiveFileSize}` - }; - const finalizeResponse = yield twirpClient.FinalizeCacheEntryUpload(finalizeRequest); - core14.debug(`FinalizeCacheEntryUploadResponse: ${finalizeResponse.ok}`); - if (!finalizeResponse.ok) { - if (finalizeResponse.message) { - throw new FinalizeCacheError(finalizeResponse.message); - } - throw new Error(`Unable to finalize cache with key ${key}, another job may be finalizing this cache.`); + } else { + N = []; + for (let j = 0; j < n.length; j++) { + N.push.apply(N, expand_(n[j], max, false)); } - cacheId = parseInt(finalizeResponse.entryId); - } catch (error3) { - const typedError = error3; - if (typedError.name === ValidationError.name) { - throw error3; - } else if (typedError.name === ReserveCacheError2.name) { - core14.info(`Failed to save: ${typedError.message}`); - } else if (typedError.name === FinalizeCacheError.name) { - core14.warning(typedError.message); - } else { - if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) { - core14.error(`Failed to save: ${typedError.message}`); - } else { - core14.warning(`Failed to save: ${typedError.message}`); + } + for (let j = 0; j < N.length; j++) { + for (let k = 0; k < post.length && expansions.length < max; k++) { + const expansion = pre + N[j] + post[k]; + if (!isTop || isSequence || expansion) { + expansions.push(expansion); } } - } finally { - try { - yield utils.unlinkFile(archivePath); - } catch (error3) { - core14.debug(`Failed to delete archive: ${error3}`); - } } - return cacheId; - }); + } + return expansions; } } }); -// node_modules/@actions/tool-cache/lib/manifest.js -var require_manifest = __commonJS({ - "node_modules/@actions/tool-cache/lib/manifest.js"(exports2, module2) { +// node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js +var require_assert_valid_pattern = __commonJS({ + "node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js"(exports2) { "use strict"; - var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - }) : function(o, v) { - o["default"] = v; - }); - var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() { - var ownKeys2 = function(o) { - ownKeys2 = 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 ownKeys2(o); - }; - return function(mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) { - for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]); - } - __setModuleDefault2(result, mod); - return result; - }; - })(); - var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve5) { - resolve5(value); - }); - } - return new (P || (P = Promise))(function(resolve5, 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 ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2._findMatch = _findMatch; - exports2._getOsVersion = _getOsVersion; - exports2._readLinuxVersionFile = _readLinuxVersionFile; - var semver9 = __importStar2(require_semver2()); - var core_1 = require_core(); - var os2 = require("os"); - var cp = require("child_process"); - var fs8 = require("fs"); - function _findMatch(versionSpec, stable, candidates, archFilter) { - return __awaiter2(this, void 0, void 0, function* () { - const platFilter = os2.platform(); - let result; - let match; - let file; - for (const candidate of candidates) { - const version = candidate.version; - (0, core_1.debug)(`check ${version} satisfies ${versionSpec}`); - if (semver9.satisfies(version, versionSpec) && (!stable || candidate.stable === stable)) { - file = candidate.files.find((item) => { - (0, core_1.debug)(`${item.arch}===${archFilter} && ${item.platform}===${platFilter}`); - let chk = item.arch === archFilter && item.platform === platFilter; - if (chk && item.platform_version) { - const osVersion = module2.exports._getOsVersion(); - if (osVersion === item.platform_version) { - chk = true; - } else { - chk = semver9.satisfies(osVersion, item.platform_version); - } - } - return chk; - }); - if (file) { - (0, core_1.debug)(`matched ${candidate.version}`); - match = candidate; - break; - } - } - } - if (match && file) { - result = Object.assign({}, match); - result.files = [file]; - } - return result; - }); - } - function _getOsVersion() { - const plat = os2.platform(); - let version = ""; - if (plat === "darwin") { - version = cp.execSync("sw_vers -productVersion").toString(); - } else if (plat === "linux") { - const lsbContents = module2.exports._readLinuxVersionFile(); - if (lsbContents) { - const lines = lsbContents.split("\n"); - for (const line of lines) { - const parts = line.split("="); - if (parts.length === 2 && (parts[0].trim() === "VERSION_ID" || parts[0].trim() === "DISTRIB_RELEASE")) { - version = parts[1].trim().replace(/^"/, "").replace(/"$/, ""); - break; - } - } - } + exports2.assertValidPattern = void 0; + var MAX_PATTERN_LENGTH = 1024 * 64; + var assertValidPattern = (pattern) => { + if (typeof pattern !== "string") { + throw new TypeError("invalid pattern"); } - return version; - } - function _readLinuxVersionFile() { - const lsbReleaseFile = "/etc/lsb-release"; - const osReleaseFile = "/etc/os-release"; - let contents = ""; - if (fs8.existsSync(lsbReleaseFile)) { - contents = fs8.readFileSync(lsbReleaseFile).toString(); - } else if (fs8.existsSync(osReleaseFile)) { - contents = fs8.readFileSync(osReleaseFile).toString(); + if (pattern.length > MAX_PATTERN_LENGTH) { + throw new TypeError("pattern is too long"); } - return contents; - } + }; + exports2.assertValidPattern = assertValidPattern; } }); -// node_modules/@actions/tool-cache/lib/retry-helper.js -var require_retry_helper = __commonJS({ - "node_modules/@actions/tool-cache/lib/retry-helper.js"(exports2) { +// node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js +var require_brace_expressions = __commonJS({ + "node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js"(exports2) { "use strict"; - var __createBinding2 = 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(exports2, "__esModule", { value: true }); + exports2.parseClass = void 0; + var posixClasses = { + "[:alnum:]": ["\\p{L}\\p{Nl}\\p{Nd}", true], + "[:alpha:]": ["\\p{L}\\p{Nl}", true], + "[:ascii:]": ["\\x00-\\x7f", false], + "[:blank:]": ["\\p{Zs}\\t", true], + "[:cntrl:]": ["\\p{Cc}", true], + "[:digit:]": ["\\p{Nd}", true], + "[:graph:]": ["\\p{Z}\\p{C}", true, true], + "[:lower:]": ["\\p{Ll}", true], + "[:print:]": ["\\p{C}", true], + "[:punct:]": ["\\p{P}", true], + "[:space:]": ["\\p{Z}\\t\\r\\n\\v\\f", true], + "[:upper:]": ["\\p{Lu}", true], + "[:word:]": ["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}", true], + "[:xdigit:]": ["A-Fa-f0-9", false] + }; + var braceEscape = (s) => s.replace(/[[\]\\-]/g, "\\$&"); + var regexpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); + var rangesToString = (ranges) => ranges.join(""); + var parseClass = (glob2, position) => { + const pos = position; + if (glob2.charAt(pos) !== "[") { + throw new Error("not in a brace expression"); } - Object.defineProperty(o, k2, desc); - }) : (function(o, m, k, k2) { - if (k2 === void 0) k2 = k; - o[k2] = m[k]; - })); - var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - }) : function(o, v) { - o["default"] = v; - }); - var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() { - var ownKeys2 = function(o) { - ownKeys2 = 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 ownKeys2(o); - }; - return function(mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) { - for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]); + const ranges = []; + const negs = []; + let i = pos + 1; + let sawStart = false; + let uflag = false; + let escaping = false; + let negate = false; + let endPos = pos; + let rangeStart = ""; + WHILE: while (i < glob2.length) { + const c = glob2.charAt(i); + if ((c === "!" || c === "^") && i === pos + 1) { + negate = true; + i++; + continue; } - __setModuleDefault2(result, mod); - return result; - }; - })(); - var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve5) { - resolve5(value); - }); - } - return new (P || (P = Promise))(function(resolve5, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); + if (c === "]" && sawStart && !escaping) { + endPos = i + 1; + break; + } + sawStart = true; + if (c === "\\") { + if (!escaping) { + escaping = true; + i++; + continue; } } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); + if (c === "[" && !escaping) { + for (const [cls, [unip, u, neg]] of Object.entries(posixClasses)) { + if (glob2.startsWith(cls, i)) { + if (rangeStart) { + return ["$.", false, glob2.length - pos, true]; + } + i += cls.length; + if (neg) + negs.push(unip); + else + ranges.push(unip); + uflag = uflag || u; + continue WHILE; + } } } - function step(result) { - result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); + escaping = false; + if (rangeStart) { + if (c > rangeStart) { + ranges.push(braceEscape(rangeStart) + "-" + braceEscape(c)); + } else if (c === rangeStart) { + ranges.push(braceEscape(c)); + } + rangeStart = ""; + i++; + continue; } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.RetryHelper = void 0; - var core14 = __importStar2(require_core()); - var RetryHelper = class { - constructor(maxAttempts, minSeconds, maxSeconds) { - if (maxAttempts < 1) { - throw new Error("max attempts should be greater than or equal to 1"); + if (glob2.startsWith("-]", i + 1)) { + ranges.push(braceEscape(c + "-")); + i += 2; + continue; } - this.maxAttempts = maxAttempts; - this.minSeconds = Math.floor(minSeconds); - this.maxSeconds = Math.floor(maxSeconds); - if (this.minSeconds > this.maxSeconds) { - throw new Error("min seconds should be less than or equal to max seconds"); + if (glob2.startsWith("-", i + 1)) { + rangeStart = c; + i += 2; + continue; } + ranges.push(braceEscape(c)); + i++; } - execute(action, isRetryable) { - return __awaiter2(this, void 0, void 0, function* () { - let attempt = 1; - while (attempt < this.maxAttempts) { - try { - return yield action(); - } catch (err) { - if (isRetryable && !isRetryable(err)) { - throw err; - } - core14.info(err.message); - } - const seconds = this.getSleepAmount(); - core14.info(`Waiting ${seconds} seconds before trying again`); - yield this.sleep(seconds); - attempt++; - } - return yield action(); - }); + if (endPos < i) { + return ["", false, 0, false]; } - getSleepAmount() { - return Math.floor(Math.random() * (this.maxSeconds - this.minSeconds + 1)) + this.minSeconds; + if (!ranges.length && !negs.length) { + return ["$.", false, glob2.length - pos, true]; } - sleep(seconds) { - return __awaiter2(this, void 0, void 0, function* () { - return new Promise((resolve5) => setTimeout(resolve5, seconds * 1e3)); - }); + if (negs.length === 0 && ranges.length === 1 && /^\\?.$/.test(ranges[0]) && !negate) { + const r = ranges[0].length === 2 ? ranges[0].slice(-1) : ranges[0]; + return [regexpEscape(r), false, endPos - pos, false]; + } + const sranges = "[" + (negate ? "^" : "") + rangesToString(ranges) + "]"; + const snegs = "[" + (negate ? "" : "^") + rangesToString(negs) + "]"; + const comb = ranges.length && negs.length ? "(" + sranges + "|" + snegs + ")" : ranges.length ? sranges : snegs; + return [comb, uflag, endPos - pos, true]; + }; + exports2.parseClass = parseClass; + } +}); + +// node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js +var require_unescape = __commonJS({ + "node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.unescape = void 0; + var unescape = (s, { windowsPathsNoEscape = false, magicalBraces = true } = {}) => { + if (magicalBraces) { + return windowsPathsNoEscape ? s.replace(/\[([^\/\\])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^\/\\])\]/g, "$1$2").replace(/\\([^\/])/g, "$1"); } + return windowsPathsNoEscape ? s.replace(/\[([^\/\\{}])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^\/\\{}])\]/g, "$1$2").replace(/\\([^\/{}])/g, "$1"); }; - exports2.RetryHelper = RetryHelper; + exports2.unescape = unescape; } }); -// node_modules/@actions/tool-cache/lib/tool-cache.js -var require_tool_cache = __commonJS({ - "node_modules/@actions/tool-cache/lib/tool-cache.js"(exports2) { +// node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js +var require_ast = __commonJS({ + "node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js"(exports2) { "use strict"; - var __createBinding2 = 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(exports2, "__esModule", { value: true }); + exports2.AST = void 0; + var brace_expressions_js_1 = require_brace_expressions(); + var unescape_js_1 = require_unescape(); + var types = /* @__PURE__ */ new Set(["!", "?", "+", "*", "@"]); + var isExtglobType = (c) => types.has(c); + var startNoTraversal = "(?!(?:^|/)\\.\\.?(?:$|/))"; + var startNoDot = "(?!\\.)"; + var addPatternStart = /* @__PURE__ */ new Set(["[", "."]); + var justDots = /* @__PURE__ */ new Set(["..", "."]); + var reSpecials = new Set("().*{}+?[]^$\\!"); + var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); + var qmark = "[^/]"; + var star = qmark + "*?"; + var starNoEmpty = qmark + "+?"; + var AST = class _AST { + type; + #root; + #hasMagic; + #uflag = false; + #parts = []; + #parent; + #parentIndex; + #negs; + #filledNegs = false; + #options; + #toString; + // set to true if it's an extglob with no children + // (which really means one child of '') + #emptyExt = false; + constructor(type2, parent, options = {}) { + this.type = type2; + if (type2) + this.#hasMagic = true; + this.#parent = parent; + this.#root = this.#parent ? this.#parent.#root : this; + this.#options = this.#root === this ? options : this.#root.#options; + this.#negs = this.#root === this ? [] : this.#root.#negs; + if (type2 === "!" && !this.#root.#filledNegs) + this.#negs.push(this); + this.#parentIndex = this.#parent ? this.#parent.#parts.length : 0; } - Object.defineProperty(o, k2, desc); - }) : (function(o, m, k, k2) { - if (k2 === void 0) k2 = k; - o[k2] = m[k]; - })); - var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - }) : function(o, v) { - o["default"] = v; - }); - var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() { - var ownKeys2 = function(o) { - ownKeys2 = 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 ownKeys2(o); - }; - return function(mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) { - for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]); + get hasMagic() { + if (this.#hasMagic !== void 0) + return this.#hasMagic; + for (const p of this.#parts) { + if (typeof p === "string") + continue; + if (p.type || p.hasMagic) + return this.#hasMagic = true; } - __setModuleDefault2(result, mod); - return result; - }; - })(); - var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve5) { - resolve5(value); - }); + return this.#hasMagic; } - return new (P || (P = Promise))(function(resolve5, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); + // reconstructs the pattern + toString() { + if (this.#toString !== void 0) + return this.#toString; + if (!this.type) { + return this.#toString = this.#parts.map((p) => String(p)).join(""); + } else { + return this.#toString = this.type + "(" + this.#parts.map((p) => String(p)).join("|") + ")"; + } + } + #fillNegs() { + if (this !== this.#root) + throw new Error("should only call on root"); + if (this.#filledNegs) + return this; + this.toString(); + this.#filledNegs = true; + let n; + while (n = this.#negs.pop()) { + if (n.type !== "!") + continue; + let p = n; + let pp = p.#parent; + while (pp) { + for (let i = p.#parentIndex + 1; !pp.type && i < pp.#parts.length; i++) { + for (const part of n.#parts) { + if (typeof part === "string") { + throw new Error("string part in extglob AST??"); + } + part.copyIn(pp.#parts[i]); + } + } + p = pp; + pp = p.#parent; } } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); + return this; + } + push(...parts) { + for (const p of parts) { + if (p === "") + continue; + if (typeof p !== "string" && !(p instanceof _AST && p.#parent === this)) { + throw new Error("invalid part: " + p); } + this.#parts.push(p); } - function step(result) { - result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); + } + toJSON() { + const ret = this.type === null ? this.#parts.slice().map((p) => typeof p === "string" ? p : p.toJSON()) : [this.type, ...this.#parts.map((p) => p.toJSON())]; + if (this.isStart() && !this.type) + ret.unshift([]); + if (this.isEnd() && (this === this.#root || this.#root.#filledNegs && this.#parent?.type === "!")) { + ret.push({}); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.HTTPError = void 0; - exports2.downloadTool = downloadTool2; - exports2.extract7z = extract7z; - exports2.extractTar = extractTar2; - exports2.extractXar = extractXar; - exports2.extractZip = extractZip; - exports2.cacheDir = cacheDir; - exports2.cacheFile = cacheFile; - exports2.find = find2; - exports2.findAllVersions = findAllVersions2; - exports2.getManifestFromRepo = getManifestFromRepo; - exports2.findFromManifest = findFromManifest; - exports2.isExplicitVersion = isExplicitVersion; - exports2.evaluateVersions = evaluateVersions; - var core14 = __importStar2(require_core()); - var io6 = __importStar2(require_io()); - var crypto2 = __importStar2(require("crypto")); - var fs8 = __importStar2(require("fs")); - var mm = __importStar2(require_manifest()); - var os2 = __importStar2(require("os")); - var path7 = __importStar2(require("path")); - var httpm = __importStar2(require_lib()); - var semver9 = __importStar2(require_semver2()); - var stream = __importStar2(require("stream")); - var util = __importStar2(require("util")); - var assert_1 = require("assert"); - var exec_1 = require_exec(); - var retry_helper_1 = require_retry_helper(); - var HTTPError = class extends Error { - constructor(httpStatusCode) { - super(`Unexpected HTTP response: ${httpStatusCode}`); - this.httpStatusCode = httpStatusCode; - Object.setPrototypeOf(this, new.target.prototype); + return ret; } - }; - exports2.HTTPError = HTTPError; - var IS_WINDOWS = process.platform === "win32"; - var IS_MAC = process.platform === "darwin"; - var userAgent2 = "actions/tool-cache"; - function downloadTool2(url, dest, auth2, headers) { - return __awaiter2(this, void 0, void 0, function* () { - dest = dest || path7.join(_getTempDirectory(), crypto2.randomUUID()); - yield io6.mkdirP(path7.dirname(dest)); - core14.debug(`Downloading ${url}`); - core14.debug(`Destination ${dest}`); - const maxAttempts = 3; - const minSeconds = _getGlobal("TEST_DOWNLOAD_TOOL_RETRY_MIN_SECONDS", 10); - const maxSeconds = _getGlobal("TEST_DOWNLOAD_TOOL_RETRY_MAX_SECONDS", 20); - const retryHelper = new retry_helper_1.RetryHelper(maxAttempts, minSeconds, maxSeconds); - return yield retryHelper.execute(() => __awaiter2(this, void 0, void 0, function* () { - return yield downloadToolAttempt(url, dest || "", auth2, headers); - }), (err) => { - if (err instanceof HTTPError && err.httpStatusCode) { - if (err.httpStatusCode < 500 && err.httpStatusCode !== 408 && err.httpStatusCode !== 429) { - return false; - } - } + isStart() { + if (this.#root === this) return true; - }); - }); - } - function downloadToolAttempt(url, dest, auth2, headers) { - return __awaiter2(this, void 0, void 0, function* () { - if (fs8.existsSync(dest)) { - throw new Error(`Destination file path ${dest} already exists`); - } - const http = new httpm.HttpClient(userAgent2, [], { - allowRetries: false - }); - if (auth2) { - core14.debug("set auth"); - if (headers === void 0) { - headers = {}; + if (!this.#parent?.isStart()) + return false; + if (this.#parentIndex === 0) + return true; + const p = this.#parent; + for (let i = 0; i < this.#parentIndex; i++) { + const pp = p.#parts[i]; + if (!(pp instanceof _AST && pp.type === "!")) { + return false; } - headers.authorization = auth2; } - const response = yield http.get(url, headers); - if (response.message.statusCode !== 200) { - const err = new HTTPError(response.message.statusCode); - core14.debug(`Failed to download from "${url}". Code(${response.message.statusCode}) Message(${response.message.statusMessage})`); - throw err; + return true; + } + isEnd() { + if (this.#root === this) + return true; + if (this.#parent?.type === "!") + return true; + if (!this.#parent?.isEnd()) + return false; + if (!this.type) + return this.#parent?.isEnd(); + const pl = this.#parent ? this.#parent.#parts.length : 0; + return this.#parentIndex === pl - 1; + } + copyIn(part) { + if (typeof part === "string") + this.push(part); + else + this.push(part.clone(this)); + } + clone(parent) { + const c = new _AST(this.type, parent); + for (const p of this.#parts) { + c.copyIn(p); } - const pipeline = util.promisify(stream.pipeline); - const responseMessageFactory = _getGlobal("TEST_DOWNLOAD_TOOL_RESPONSE_MESSAGE_FACTORY", () => response.message); - const readStream = responseMessageFactory(); - let succeeded = false; - try { - yield pipeline(readStream, fs8.createWriteStream(dest)); - core14.debug("download complete"); - succeeded = true; - return dest; - } finally { - if (!succeeded) { - core14.debug("download failed"); - try { - yield io6.rmRF(dest); - } catch (err) { - core14.debug(`Failed to delete '${dest}'. ${err.message}`); + return c; + } + static #parseAST(str2, ast, pos, opt) { + let escaping = false; + let inBrace = false; + let braceStart = -1; + let braceNeg = false; + if (ast.type === null) { + let i2 = pos; + let acc2 = ""; + while (i2 < str2.length) { + const c = str2.charAt(i2++); + if (escaping || c === "\\") { + escaping = !escaping; + acc2 += c; + continue; } + if (inBrace) { + if (i2 === braceStart + 1) { + if (c === "^" || c === "!") { + braceNeg = true; + } + } else if (c === "]" && !(i2 === braceStart + 2 && braceNeg)) { + inBrace = false; + } + acc2 += c; + continue; + } else if (c === "[") { + inBrace = true; + braceStart = i2; + braceNeg = false; + acc2 += c; + continue; + } + if (!opt.noext && isExtglobType(c) && str2.charAt(i2) === "(") { + ast.push(acc2); + acc2 = ""; + const ext = new _AST(c, ast); + i2 = _AST.#parseAST(str2, ext, i2, opt); + ast.push(ext); + continue; + } + acc2 += c; } + ast.push(acc2); + return i2; } - }); - } - function extract7z(file, dest, _7zPath) { - return __awaiter2(this, void 0, void 0, function* () { - (0, assert_1.ok)(IS_WINDOWS, "extract7z() not supported on current OS"); - (0, assert_1.ok)(file, 'parameter "file" is required'); - dest = yield _createExtractFolder(dest); - const originalCwd = process.cwd(); - process.chdir(dest); - if (_7zPath) { - try { - const logLevel = core14.isDebug() ? "-bb1" : "-bb0"; - const args = [ - "x", - // eXtract files with full paths - logLevel, - // -bb[0-3] : set output log level - "-bd", - // disable progress indicator - "-sccUTF-8", - // set charset for for console input/output - file - ]; - const options = { - silent: true - }; - yield (0, exec_1.exec)(`"${_7zPath}"`, args, options); - } finally { - process.chdir(originalCwd); + let i = pos + 1; + let part = new _AST(null, ast); + const parts = []; + let acc = ""; + while (i < str2.length) { + const c = str2.charAt(i++); + if (escaping || c === "\\") { + escaping = !escaping; + acc += c; + continue; } - } else { - const escapedScript = path7.join(__dirname, "..", "scripts", "Invoke-7zdec.ps1").replace(/'/g, "''").replace(/"|\n|\r/g, ""); - const escapedFile = file.replace(/'/g, "''").replace(/"|\n|\r/g, ""); - const escapedTarget = dest.replace(/'/g, "''").replace(/"|\n|\r/g, ""); - const command = `& '${escapedScript}' -Source '${escapedFile}' -Target '${escapedTarget}'`; - const args = [ - "-NoLogo", - "-Sta", - "-NoProfile", - "-NonInteractive", - "-ExecutionPolicy", - "Unrestricted", - "-Command", - command - ]; - const options = { - silent: true - }; - try { - const powershellPath = yield io6.which("powershell", true); - yield (0, exec_1.exec)(`"${powershellPath}"`, args, options); - } finally { - process.chdir(originalCwd); + if (inBrace) { + if (i === braceStart + 1) { + if (c === "^" || c === "!") { + braceNeg = true; + } + } else if (c === "]" && !(i === braceStart + 2 && braceNeg)) { + inBrace = false; + } + acc += c; + continue; + } else if (c === "[") { + inBrace = true; + braceStart = i; + braceNeg = false; + acc += c; + continue; } - } - return dest; - }); - } - function extractTar2(file_1, dest_1) { - return __awaiter2(this, arguments, void 0, function* (file, dest, flags = "xz") { - if (!file) { - throw new Error("parameter 'file' is required"); - } - dest = yield _createExtractFolder(dest); - core14.debug("Checking tar --version"); - let versionOutput = ""; - yield (0, exec_1.exec)("tar --version", [], { - ignoreReturnCode: true, - silent: true, - listeners: { - stdout: (data) => versionOutput += data.toString(), - stderr: (data) => versionOutput += data.toString() + if (isExtglobType(c) && str2.charAt(i) === "(") { + part.push(acc); + acc = ""; + const ext = new _AST(c, part); + part.push(ext); + i = _AST.#parseAST(str2, ext, i, opt); + continue; } - }); - core14.debug(versionOutput.trim()); - const isGnuTar = versionOutput.toUpperCase().includes("GNU TAR"); - let args; - if (flags instanceof Array) { - args = flags; - } else { - args = [flags]; - } - if (core14.isDebug() && !flags.includes("v")) { - args.push("-v"); - } - let destArg = dest; - let fileArg = file; - if (IS_WINDOWS && isGnuTar) { - args.push("--force-local"); - destArg = dest.replace(/\\/g, "/"); - fileArg = file.replace(/\\/g, "/"); - } - if (isGnuTar) { - args.push("--warning=no-unknown-keyword"); - args.push("--overwrite"); - } - args.push("-C", destArg, "-f", fileArg); - yield (0, exec_1.exec)(`tar`, args); - return dest; - }); - } - function extractXar(file_1, dest_1) { - return __awaiter2(this, arguments, void 0, function* (file, dest, flags = []) { - (0, assert_1.ok)(IS_MAC, "extractXar() not supported on current OS"); - (0, assert_1.ok)(file, 'parameter "file" is required'); - dest = yield _createExtractFolder(dest); - let args; - if (flags instanceof Array) { - args = flags; - } else { - args = [flags]; - } - args.push("-x", "-C", dest, "-f", file); - if (core14.isDebug()) { - args.push("-v"); - } - const xarPath = yield io6.which("xar", true); - yield (0, exec_1.exec)(`"${xarPath}"`, _unique(args)); - return dest; - }); - } - function extractZip(file, dest) { - return __awaiter2(this, void 0, void 0, function* () { - if (!file) { - throw new Error("parameter 'file' is required"); - } - dest = yield _createExtractFolder(dest); - if (IS_WINDOWS) { - yield extractZipWin(file, dest); - } else { - yield extractZipNix(file, dest); - } - return dest; - }); - } - function extractZipWin(file, dest) { - return __awaiter2(this, void 0, void 0, function* () { - const escapedFile = file.replace(/'/g, "''").replace(/"|\n|\r/g, ""); - const escapedDest = dest.replace(/'/g, "''").replace(/"|\n|\r/g, ""); - const pwshPath = yield io6.which("pwsh", false); - if (pwshPath) { - const pwshCommand = [ - `$ErrorActionPreference = 'Stop' ;`, - `try { Add-Type -AssemblyName System.IO.Compression.ZipFile } catch { } ;`, - `try { [System.IO.Compression.ZipFile]::ExtractToDirectory('${escapedFile}', '${escapedDest}', $true) }`, - `catch { if (($_.Exception.GetType().FullName -eq 'System.Management.Automation.MethodException') -or ($_.Exception.GetType().FullName -eq 'System.Management.Automation.RuntimeException') ){ Expand-Archive -LiteralPath '${escapedFile}' -DestinationPath '${escapedDest}' -Force } else { throw $_ } } ;` - ].join(" "); - const args = [ - "-NoLogo", - "-NoProfile", - "-NonInteractive", - "-ExecutionPolicy", - "Unrestricted", - "-Command", - pwshCommand - ]; - core14.debug(`Using pwsh at path: ${pwshPath}`); - yield (0, exec_1.exec)(`"${pwshPath}"`, args); - } else { - const powershellCommand = [ - `$ErrorActionPreference = 'Stop' ;`, - `try { Add-Type -AssemblyName System.IO.Compression.FileSystem } catch { } ;`, - `if ((Get-Command -Name Expand-Archive -Module Microsoft.PowerShell.Archive -ErrorAction Ignore)) { Expand-Archive -LiteralPath '${escapedFile}' -DestinationPath '${escapedDest}' -Force }`, - `else {[System.IO.Compression.ZipFile]::ExtractToDirectory('${escapedFile}', '${escapedDest}', $true) }` - ].join(" "); - const args = [ - "-NoLogo", - "-Sta", - "-NoProfile", - "-NonInteractive", - "-ExecutionPolicy", - "Unrestricted", - "-Command", - powershellCommand - ]; - const powershellPath = yield io6.which("powershell", true); - core14.debug(`Using powershell at path: ${powershellPath}`); - yield (0, exec_1.exec)(`"${powershellPath}"`, args); - } - }); - } - function extractZipNix(file, dest) { - return __awaiter2(this, void 0, void 0, function* () { - const unzipPath = yield io6.which("unzip", true); - const args = [file]; - if (!core14.isDebug()) { - args.unshift("-q"); - } - args.unshift("-o"); - yield (0, exec_1.exec)(`"${unzipPath}"`, args, { cwd: dest }); - }); - } - function cacheDir(sourceDir, tool, version, arch) { - return __awaiter2(this, void 0, void 0, function* () { - version = semver9.clean(version) || version; - arch = arch || os2.arch(); - core14.debug(`Caching tool ${tool} ${version} ${arch}`); - core14.debug(`source dir: ${sourceDir}`); - if (!fs8.statSync(sourceDir).isDirectory()) { - throw new Error("sourceDir is not a directory"); - } - const destPath = yield _createToolPath(tool, version, arch); - for (const itemName of fs8.readdirSync(sourceDir)) { - const s = path7.join(sourceDir, itemName); - yield io6.cp(s, destPath, { recursive: true }); - } - _completeToolPath(tool, version, arch); - return destPath; - }); - } - function cacheFile(sourceFile, targetFile, tool, version, arch) { - return __awaiter2(this, void 0, void 0, function* () { - version = semver9.clean(version) || version; - arch = arch || os2.arch(); - core14.debug(`Caching tool ${tool} ${version} ${arch}`); - core14.debug(`source file: ${sourceFile}`); - if (!fs8.statSync(sourceFile).isFile()) { - throw new Error("sourceFile is not a file"); + if (c === "|") { + part.push(acc); + acc = ""; + parts.push(part); + part = new _AST(null, ast); + continue; + } + if (c === ")") { + if (acc === "" && ast.#parts.length === 0) { + ast.#emptyExt = true; + } + part.push(acc); + acc = ""; + ast.push(...parts, part); + return i; + } + acc += c; } - const destFolder = yield _createToolPath(tool, version, arch); - const destPath = path7.join(destFolder, targetFile); - core14.debug(`destination file ${destPath}`); - yield io6.cp(sourceFile, destPath); - _completeToolPath(tool, version, arch); - return destFolder; - }); - } - function find2(toolName, versionSpec, arch) { - if (!toolName) { - throw new Error("toolName parameter is required"); - } - if (!versionSpec) { - throw new Error("versionSpec parameter is required"); + ast.type = null; + ast.#hasMagic = void 0; + ast.#parts = [str2.substring(pos - 1)]; + return i; } - arch = arch || os2.arch(); - if (!isExplicitVersion(versionSpec)) { - const localVersions = findAllVersions2(toolName, arch); - const match = evaluateVersions(localVersions, versionSpec); - versionSpec = match; + static fromGlob(pattern, options = {}) { + const ast = new _AST(null, void 0, options); + _AST.#parseAST(pattern, ast, 0, options); + return ast; } - let toolPath = ""; - if (versionSpec) { - versionSpec = semver9.clean(versionSpec) || ""; - const cachePath = path7.join(_getCacheDirectory(), toolName, versionSpec, arch); - core14.debug(`checking cache: ${cachePath}`); - if (fs8.existsSync(cachePath) && fs8.existsSync(`${cachePath}.complete`)) { - core14.debug(`Found tool in cache ${toolName} ${versionSpec} ${arch}`); - toolPath = cachePath; - } else { - core14.debug("not found"); + // returns the regular expression if there's magic, or the unescaped + // string if not. + toMMPattern() { + if (this !== this.#root) + return this.#root.toMMPattern(); + const glob2 = this.toString(); + const [re, body, hasMagic, uflag] = this.toRegExpSource(); + const anyMagic = hasMagic || this.#hasMagic || this.#options.nocase && !this.#options.nocaseMagicOnly && glob2.toUpperCase() !== glob2.toLowerCase(); + if (!anyMagic) { + return body; } + const flags = (this.#options.nocase ? "i" : "") + (uflag ? "u" : ""); + return Object.assign(new RegExp(`^${re}$`, flags), { + _src: re, + _glob: glob2 + }); } - return toolPath; - } - function findAllVersions2(toolName, arch) { - const versions = []; - arch = arch || os2.arch(); - const toolPath = path7.join(_getCacheDirectory(), toolName); - if (fs8.existsSync(toolPath)) { - const children = fs8.readdirSync(toolPath); - for (const child of children) { - if (isExplicitVersion(child)) { - const fullPath = path7.join(toolPath, child, arch || ""); - if (fs8.existsSync(fullPath) && fs8.existsSync(`${fullPath}.complete`)) { - versions.push(child); + get options() { + return this.#options; + } + // returns the string match, the regexp source, whether there's magic + // in the regexp (so a regular expression is required) and whether or + // not the uflag is needed for the regular expression (for posix classes) + // TODO: instead of injecting the start/end at this point, just return + // the BODY of the regexp, along with the start/end portions suitable + // for binding the start/end in either a joined full-path makeRe context + // (where we bind to (^|/), or a standalone matchPart context (where + // we bind to ^, and not /). Otherwise slashes get duped! + // + // In part-matching mode, the start is: + // - if not isStart: nothing + // - if traversal possible, but not allowed: ^(?!\.\.?$) + // - if dots allowed or not possible: ^ + // - if dots possible and not allowed: ^(?!\.) + // end is: + // - if not isEnd(): nothing + // - else: $ + // + // In full-path matching mode, we put the slash at the START of the + // pattern, so start is: + // - if first pattern: same as part-matching mode + // - if not isStart(): nothing + // - if traversal possible, but not allowed: /(?!\.\.?(?:$|/)) + // - if dots allowed or not possible: / + // - if dots possible and not allowed: /(?!\.) + // end is: + // - if last pattern, same as part-matching mode + // - else nothing + // + // Always put the (?:$|/) on negated tails, though, because that has to be + // there to bind the end of the negated pattern portion, and it's easier to + // just stick it in now rather than try to inject it later in the middle of + // the pattern. + // + // We can just always return the same end, and leave it up to the caller + // to know whether it's going to be used joined or in parts. + // And, if the start is adjusted slightly, can do the same there: + // - if not isStart: nothing + // - if traversal possible, but not allowed: (?:/|^)(?!\.\.?$) + // - if dots allowed or not possible: (?:/|^) + // - if dots possible and not allowed: (?:/|^)(?!\.) + // + // But it's better to have a simpler binding without a conditional, for + // performance, so probably better to return both start options. + // + // Then the caller just ignores the end if it's not the first pattern, + // and the start always gets applied. + // + // But that's always going to be $ if it's the ending pattern, or nothing, + // so the caller can just attach $ at the end of the pattern when building. + // + // So the todo is: + // - better detect what kind of start is needed + // - return both flavors of starting pattern + // - attach $ at the end of the pattern when creating the actual RegExp + // + // Ah, but wait, no, that all only applies to the root when the first pattern + // is not an extglob. If the first pattern IS an extglob, then we need all + // that dot prevention biz to live in the extglob portions, because eg + // +(*|.x*) can match .xy but not .yx. + // + // So, return the two flavors if it's #root and the first child is not an + // AST, otherwise leave it to the child AST to handle it, and there, + // use the (?:^|/) style of start binding. + // + // Even simplified further: + // - Since the start for a join is eg /(?!\.) and the start for a part + // is ^(?!\.), we can just prepend (?!\.) to the pattern (either root + // or start or whatever) and prepend ^ or / at the Regexp construction. + toRegExpSource(allowDot) { + const dot = allowDot ?? !!this.#options.dot; + if (this.#root === this) + this.#fillNegs(); + if (!this.type) { + const noEmpty = this.isStart() && this.isEnd() && !this.#parts.some((s) => typeof s !== "string"); + const src = this.#parts.map((p) => { + const [re, _2, hasMagic, uflag] = typeof p === "string" ? _AST.#parseGlob(p, this.#hasMagic, noEmpty) : p.toRegExpSource(allowDot); + this.#hasMagic = this.#hasMagic || hasMagic; + this.#uflag = this.#uflag || uflag; + return re; + }).join(""); + let start2 = ""; + if (this.isStart()) { + if (typeof this.#parts[0] === "string") { + const dotTravAllowed = this.#parts.length === 1 && justDots.has(this.#parts[0]); + if (!dotTravAllowed) { + const aps = addPatternStart; + const needNoTrav = ( + // dots are allowed, and the pattern starts with [ or . + dot && aps.has(src.charAt(0)) || // the pattern starts with \., and then [ or . + src.startsWith("\\.") && aps.has(src.charAt(2)) || // the pattern starts with \.\., and then [ or . + src.startsWith("\\.\\.") && aps.has(src.charAt(4)) + ); + const needNoDot = !dot && !allowDot && aps.has(src.charAt(0)); + start2 = needNoTrav ? startNoTraversal : needNoDot ? startNoDot : ""; + } } } - } - } - return versions; - } - function getManifestFromRepo(owner_1, repo_1, auth_1) { - return __awaiter2(this, arguments, void 0, function* (owner, repo, auth2, branch = "master") { - let releases = []; - const treeUrl = `https://api.github.com/repos/${owner}/${repo}/git/trees/${branch}`; - const http = new httpm.HttpClient("tool-cache"); - const headers = {}; - if (auth2) { - core14.debug("set auth"); - headers.authorization = auth2; - } - const response = yield http.getJson(treeUrl, headers); - if (!response.result) { - return releases; - } - let manifestUrl = ""; - for (const item of response.result.tree) { - if (item.path === "versions-manifest.json") { - manifestUrl = item.url; - break; + let end = ""; + if (this.isEnd() && this.#root.#filledNegs && this.#parent?.type === "!") { + end = "(?:$|\\/)"; } + const final2 = start2 + src + end; + return [ + final2, + (0, unescape_js_1.unescape)(src), + this.#hasMagic = !!this.#hasMagic, + this.#uflag + ]; } - headers["accept"] = "application/vnd.github.VERSION.raw"; - let versionsRaw = yield (yield http.get(manifestUrl, headers)).readBody(); - if (versionsRaw) { - versionsRaw = versionsRaw.replace(/^\uFEFF/, ""); - try { - releases = JSON.parse(versionsRaw); - } catch (_a) { - core14.debug("Invalid json"); - } + const repeated = this.type === "*" || this.type === "+"; + const start = this.type === "!" ? "(?:(?!(?:" : "(?:"; + let body = this.#partsToRegExp(dot); + if (this.isStart() && this.isEnd() && !body && this.type !== "!") { + const s = this.toString(); + this.#parts = [s]; + this.type = null; + this.#hasMagic = void 0; + return [s, (0, unescape_js_1.unescape)(this.toString()), false, false]; } - return releases; - }); - } - function findFromManifest(versionSpec_1, stable_1, manifest_1) { - return __awaiter2(this, arguments, void 0, function* (versionSpec, stable, manifest, archFilter = os2.arch()) { - const match = yield mm._findMatch(versionSpec, stable, manifest, archFilter); - return match; - }); - } - function _createExtractFolder(dest) { - return __awaiter2(this, void 0, void 0, function* () { - if (!dest) { - dest = path7.join(_getTempDirectory(), crypto2.randomUUID()); + let bodyDotAllowed = !repeated || allowDot || dot || !startNoDot ? "" : this.#partsToRegExp(true); + if (bodyDotAllowed === body) { + bodyDotAllowed = ""; } - yield io6.mkdirP(dest); - return dest; - }); - } - function _createToolPath(tool, version, arch) { - return __awaiter2(this, void 0, void 0, function* () { - const folderPath = path7.join(_getCacheDirectory(), tool, semver9.clean(version) || version, arch || ""); - core14.debug(`destination ${folderPath}`); - const markerPath = `${folderPath}.complete`; - yield io6.rmRF(folderPath); - yield io6.rmRF(markerPath); - yield io6.mkdirP(folderPath); - return folderPath; - }); - } - function _completeToolPath(tool, version, arch) { - const folderPath = path7.join(_getCacheDirectory(), tool, semver9.clean(version) || version, arch || ""); - const markerPath = `${folderPath}.complete`; - fs8.writeFileSync(markerPath, ""); - core14.debug("finished caching tool"); - } - function isExplicitVersion(versionSpec) { - const c = semver9.clean(versionSpec) || ""; - core14.debug(`isExplicit: ${c}`); - const valid3 = semver9.valid(c) != null; - core14.debug(`explicit? ${valid3}`); - return valid3; - } - function evaluateVersions(versions, versionSpec) { - let version = ""; - core14.debug(`evaluating ${versions.length} versions`); - versions = versions.sort((a, b) => { - if (semver9.gt(a, b)) { - return 1; + if (bodyDotAllowed) { + body = `(?:${body})(?:${bodyDotAllowed})*?`; } - return -1; - }); - for (let i = versions.length - 1; i >= 0; i--) { - const potential = versions[i]; - const satisfied = semver9.satisfies(potential, versionSpec); - if (satisfied) { - version = potential; - break; + let final = ""; + if (this.type === "!" && this.#emptyExt) { + final = (this.isStart() && !dot ? startNoDot : "") + starNoEmpty; + } else { + const close = this.type === "!" ? ( + // !() must match something,but !(x) can match '' + "))" + (this.isStart() && !dot && !allowDot ? startNoDot : "") + star + ")" + ) : this.type === "@" ? ")" : this.type === "?" ? ")?" : this.type === "+" && bodyDotAllowed ? ")" : this.type === "*" && bodyDotAllowed ? `)?` : `)${this.type}`; + final = start + body + close; } + return [ + final, + (0, unescape_js_1.unescape)(body), + this.#hasMagic = !!this.#hasMagic, + this.#uflag + ]; } - if (version) { - core14.debug(`matched: ${version}`); - } else { - core14.debug("match not found"); + #partsToRegExp(dot) { + return this.#parts.map((p) => { + if (typeof p === "string") { + throw new Error("string type in extglob ast??"); + } + const [re, _2, _hasMagic, uflag] = p.toRegExpSource(dot); + this.#uflag = this.#uflag || uflag; + return re; + }).filter((p) => !(this.isStart() && this.isEnd()) || !!p).join("|"); } - return version; - } - function _getCacheDirectory() { - const cacheDirectory = process.env["RUNNER_TOOL_CACHE"] || ""; - (0, assert_1.ok)(cacheDirectory, "Expected RUNNER_TOOL_CACHE to be defined"); - return cacheDirectory; - } - function _getTempDirectory() { - const tempDirectory = process.env["RUNNER_TEMP"] || ""; - (0, assert_1.ok)(tempDirectory, "Expected RUNNER_TEMP to be defined"); - return tempDirectory; - } - function _getGlobal(key, defaultValue) { - const value = global[key]; - return value !== void 0 ? value : defaultValue; - } - function _unique(values) { - return Array.from(new Set(values)); - } - } -}); - -// node_modules/fast-deep-equal/index.js -var require_fast_deep_equal = __commonJS({ - "node_modules/fast-deep-equal/index.js"(exports2, module2) { - "use strict"; - module2.exports = function equal(a, b) { - if (a === b) return true; - if (a && b && typeof a == "object" && typeof b == "object") { - if (a.constructor !== b.constructor) return false; - var length, i, keys; - if (Array.isArray(a)) { - length = a.length; - if (length != b.length) return false; - for (i = length; i-- !== 0; ) - if (!equal(a[i], b[i])) return false; - return true; - } - if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags; - if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf(); - if (a.toString !== Object.prototype.toString) return a.toString() === b.toString(); - keys = Object.keys(a); - length = keys.length; - if (length !== Object.keys(b).length) return false; - for (i = length; i-- !== 0; ) - if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false; - for (i = length; i-- !== 0; ) { - var key = keys[i]; - if (!equal(a[key], b[key])) return false; + static #parseGlob(glob2, hasMagic, noEmpty = false) { + let escaping = false; + let re = ""; + let uflag = false; + for (let i = 0; i < glob2.length; i++) { + const c = glob2.charAt(i); + if (escaping) { + escaping = false; + re += (reSpecials.has(c) ? "\\" : "") + c; + continue; + } + if (c === "\\") { + if (i === glob2.length - 1) { + re += "\\\\"; + } else { + escaping = true; + } + continue; + } + if (c === "[") { + const [src, needUflag, consumed, magic] = (0, brace_expressions_js_1.parseClass)(glob2, i); + if (consumed) { + re += src; + uflag = uflag || needUflag; + i += consumed - 1; + hasMagic = hasMagic || magic; + continue; + } + } + if (c === "*") { + re += noEmpty && glob2 === "*" ? starNoEmpty : star; + hasMagic = true; + continue; + } + if (c === "?") { + re += qmark; + hasMagic = true; + continue; + } + re += regExpEscape(c); } - return true; + return [re, (0, unescape_js_1.unescape)(glob2), !!hasMagic, uflag]; } - return a !== a && b !== b; }; + exports2.AST = AST; } }); - -// node_modules/follow-redirects/debug.js -var require_debug3 = __commonJS({ - "node_modules/follow-redirects/debug.js"(exports2, module2) { - var debug4; - module2.exports = function() { - if (!debug4) { - try { - debug4 = require_src()("follow-redirects"); - } catch (error3) { - } - if (typeof debug4 !== "function") { - debug4 = function() { - }; - } + +// node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js +var require_escape = __commonJS({ + "node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.escape = void 0; + var escape = (s, { windowsPathsNoEscape = false, magicalBraces = false } = {}) => { + if (magicalBraces) { + return windowsPathsNoEscape ? s.replace(/[?*()[\]{}]/g, "[$&]") : s.replace(/[?*()[\]\\{}]/g, "\\$&"); } - debug4.apply(null, arguments); + return windowsPathsNoEscape ? s.replace(/[?*()[\]]/g, "[$&]") : s.replace(/[?*()[\]\\]/g, "\\$&"); }; + exports2.escape = escape; } }); -// node_modules/follow-redirects/index.js -var require_follow_redirects = __commonJS({ - "node_modules/follow-redirects/index.js"(exports2, module2) { - var url = require("url"); - var URL2 = url.URL; - var http = require("http"); - var https2 = require("https"); - var Writable = require("stream").Writable; - var assert = require("assert"); - var debug4 = require_debug3(); - (function detectUnsupportedEnvironment() { - var looksLikeNode = typeof process !== "undefined"; - var looksLikeBrowser = typeof window !== "undefined" && typeof document !== "undefined"; - var looksLikeV8 = isFunction(Error.captureStackTrace); - if (!looksLikeNode && (looksLikeBrowser || !looksLikeV8)) { - console.warn("The follow-redirects package should be excluded from browser builds."); - } - })(); - var useNativeURL = false; - try { - assert(new URL2("")); - } catch (error3) { - useNativeURL = error3.code === "ERR_INVALID_URL"; - } - var preservedUrlFields = [ - "auth", - "host", - "hostname", - "href", - "path", - "pathname", - "port", - "protocol", - "query", - "search", - "hash" - ]; - var events = ["abort", "aborted", "connect", "error", "socket", "timeout"]; - var eventHandlers = /* @__PURE__ */ Object.create(null); - events.forEach(function(event) { - eventHandlers[event] = function(arg1, arg2, arg3) { - this._redirectable.emit(event, arg1, arg2, arg3); - }; - }); - var InvalidUrlError = createErrorType( - "ERR_INVALID_URL", - "Invalid URL", - TypeError - ); - var RedirectionError = createErrorType( - "ERR_FR_REDIRECTION_FAILURE", - "Redirected request failed" - ); - var TooManyRedirectsError = createErrorType( - "ERR_FR_TOO_MANY_REDIRECTS", - "Maximum number of redirects exceeded", - RedirectionError - ); - var MaxBodyLengthExceededError = createErrorType( - "ERR_FR_MAX_BODY_LENGTH_EXCEEDED", - "Request body larger than maxBodyLength limit" - ); - var WriteAfterEndError = createErrorType( - "ERR_STREAM_WRITE_AFTER_END", - "write after end" - ); - var destroy = Writable.prototype.destroy || noop3; - function RedirectableRequest(options, responseCallback) { - Writable.call(this); - this._sanitizeOptions(options); - this._options = options; - this._ended = false; - this._ending = false; - this._redirectCount = 0; - this._redirects = []; - this._requestBodyLength = 0; - this._requestBodyBuffers = []; - if (responseCallback) { - this.on("response", responseCallback); +// node_modules/glob/node_modules/minimatch/dist/commonjs/index.js +var require_commonjs20 = __commonJS({ + "node_modules/glob/node_modules/minimatch/dist/commonjs/index.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.unescape = exports2.escape = exports2.AST = exports2.Minimatch = exports2.match = exports2.makeRe = exports2.braceExpand = exports2.defaults = exports2.filter = exports2.GLOBSTAR = exports2.sep = exports2.minimatch = void 0; + var brace_expansion_1 = require_commonjs19(); + var assert_valid_pattern_js_1 = require_assert_valid_pattern(); + var ast_js_1 = require_ast(); + var escape_js_1 = require_escape(); + var unescape_js_1 = require_unescape(); + var minimatch = (p, pattern, options = {}) => { + (0, assert_valid_pattern_js_1.assertValidPattern)(pattern); + if (!options.nocomment && pattern.charAt(0) === "#") { + return false; } - var self2 = this; - this._onNativeResponse = function(response) { - try { - self2._processResponse(response); - } catch (cause) { - self2.emit("error", cause instanceof RedirectionError ? cause : new RedirectionError({ cause })); - } - }; - this._performRequest(); - } - RedirectableRequest.prototype = Object.create(Writable.prototype); - RedirectableRequest.prototype.abort = function() { - destroyRequest(this._currentRequest); - this._currentRequest.abort(); - this.emit("abort"); + return new Minimatch(pattern, options).match(p); }; - RedirectableRequest.prototype.destroy = function(error3) { - destroyRequest(this._currentRequest, error3); - destroy.call(this, error3); - return this; + exports2.minimatch = minimatch; + var starDotExtRE = /^\*+([^+@!?\*\[\(]*)$/; + var starDotExtTest = (ext2) => (f) => !f.startsWith(".") && f.endsWith(ext2); + var starDotExtTestDot = (ext2) => (f) => f.endsWith(ext2); + var starDotExtTestNocase = (ext2) => { + ext2 = ext2.toLowerCase(); + return (f) => !f.startsWith(".") && f.toLowerCase().endsWith(ext2); }; - RedirectableRequest.prototype.write = function(data, encoding, callback) { - if (this._ending) { - throw new WriteAfterEndError(); - } - if (!isString(data) && !isBuffer(data)) { - throw new TypeError("data should be a string, Buffer or Uint8Array"); - } - if (isFunction(encoding)) { - callback = encoding; - encoding = null; - } - if (data.length === 0) { - if (callback) { - callback(); - } - return; - } - if (this._requestBodyLength + data.length <= this._options.maxBodyLength) { - this._requestBodyLength += data.length; - this._requestBodyBuffers.push({ data, encoding }); - this._currentRequest.write(data, encoding, callback); - } else { - this.emit("error", new MaxBodyLengthExceededError()); - this.abort(); - } + var starDotExtTestNocaseDot = (ext2) => { + ext2 = ext2.toLowerCase(); + return (f) => f.toLowerCase().endsWith(ext2); }; - RedirectableRequest.prototype.end = function(data, encoding, callback) { - if (isFunction(data)) { - callback = data; - data = encoding = null; - } else if (isFunction(encoding)) { - callback = encoding; - encoding = null; - } - if (!data) { - this._ended = this._ending = true; - this._currentRequest.end(null, null, callback); - } else { - var self2 = this; - var currentRequest = this._currentRequest; - this.write(data, encoding, function() { - self2._ended = true; - currentRequest.end(null, null, callback); - }); - this._ending = true; - } + var starDotStarRE = /^\*+\.\*+$/; + var starDotStarTest = (f) => !f.startsWith(".") && f.includes("."); + var starDotStarTestDot = (f) => f !== "." && f !== ".." && f.includes("."); + var dotStarRE = /^\.\*+$/; + var dotStarTest = (f) => f !== "." && f !== ".." && f.startsWith("."); + var starRE = /^\*+$/; + var starTest = (f) => f.length !== 0 && !f.startsWith("."); + var starTestDot = (f) => f.length !== 0 && f !== "." && f !== ".."; + var qmarksRE = /^\?+([^+@!?\*\[\(]*)?$/; + var qmarksTestNocase = ([$0, ext2 = ""]) => { + const noext = qmarksTestNoExt([$0]); + if (!ext2) + return noext; + ext2 = ext2.toLowerCase(); + return (f) => noext(f) && f.toLowerCase().endsWith(ext2); }; - RedirectableRequest.prototype.setHeader = function(name, value) { - this._options.headers[name] = value; - this._currentRequest.setHeader(name, value); + var qmarksTestNocaseDot = ([$0, ext2 = ""]) => { + const noext = qmarksTestNoExtDot([$0]); + if (!ext2) + return noext; + ext2 = ext2.toLowerCase(); + return (f) => noext(f) && f.toLowerCase().endsWith(ext2); }; - RedirectableRequest.prototype.removeHeader = function(name) { - delete this._options.headers[name]; - this._currentRequest.removeHeader(name); + var qmarksTestDot = ([$0, ext2 = ""]) => { + const noext = qmarksTestNoExtDot([$0]); + return !ext2 ? noext : (f) => noext(f) && f.endsWith(ext2); }; - RedirectableRequest.prototype.setTimeout = function(msecs, callback) { - var self2 = this; - function destroyOnTimeout(socket) { - socket.setTimeout(msecs); - socket.removeListener("timeout", socket.destroy); - socket.addListener("timeout", socket.destroy); - } - function startTimer(socket) { - if (self2._timeout) { - clearTimeout(self2._timeout); - } - self2._timeout = setTimeout(function() { - self2.emit("timeout"); - clearTimer(); - }, msecs); - destroyOnTimeout(socket); - } - function clearTimer() { - if (self2._timeout) { - clearTimeout(self2._timeout); - self2._timeout = null; - } - self2.removeListener("abort", clearTimer); - self2.removeListener("error", clearTimer); - self2.removeListener("response", clearTimer); - self2.removeListener("close", clearTimer); - if (callback) { - self2.removeListener("timeout", callback); - } - if (!self2.socket) { - self2._currentRequest.removeListener("socket", startTimer); - } + var qmarksTest = ([$0, ext2 = ""]) => { + const noext = qmarksTestNoExt([$0]); + return !ext2 ? noext : (f) => noext(f) && f.endsWith(ext2); + }; + var qmarksTestNoExt = ([$0]) => { + const len = $0.length; + return (f) => f.length === len && !f.startsWith("."); + }; + var qmarksTestNoExtDot = ([$0]) => { + const len = $0.length; + return (f) => f.length === len && f !== "." && f !== ".."; + }; + var defaultPlatform = typeof process === "object" && process ? typeof process.env === "object" && process.env && process.env.__MINIMATCH_TESTING_PLATFORM__ || process.platform : "posix"; + var path7 = { + win32: { sep: "\\" }, + posix: { sep: "/" } + }; + exports2.sep = defaultPlatform === "win32" ? path7.win32.sep : path7.posix.sep; + exports2.minimatch.sep = exports2.sep; + exports2.GLOBSTAR = /* @__PURE__ */ Symbol("globstar **"); + exports2.minimatch.GLOBSTAR = exports2.GLOBSTAR; + var qmark = "[^/]"; + var star = qmark + "*?"; + var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?"; + var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?"; + var filter = (pattern, options = {}) => (p) => (0, exports2.minimatch)(p, pattern, options); + exports2.filter = filter; + exports2.minimatch.filter = exports2.filter; + var ext = (a, b = {}) => Object.assign({}, a, b); + var defaults = (def) => { + if (!def || typeof def !== "object" || !Object.keys(def).length) { + return exports2.minimatch; } - if (callback) { - this.on("timeout", callback); + const orig = exports2.minimatch; + const m = (p, pattern, options = {}) => orig(p, pattern, ext(def, options)); + return Object.assign(m, { + Minimatch: class Minimatch extends orig.Minimatch { + constructor(pattern, options = {}) { + super(pattern, ext(def, options)); + } + static defaults(options) { + return orig.defaults(ext(def, options)).Minimatch; + } + }, + AST: class AST extends orig.AST { + /* c8 ignore start */ + constructor(type2, parent, options = {}) { + super(type2, parent, ext(def, options)); + } + /* c8 ignore stop */ + static fromGlob(pattern, options = {}) { + return orig.AST.fromGlob(pattern, ext(def, options)); + } + }, + unescape: (s, options = {}) => orig.unescape(s, ext(def, options)), + escape: (s, options = {}) => orig.escape(s, ext(def, options)), + filter: (pattern, options = {}) => orig.filter(pattern, ext(def, options)), + defaults: (options) => orig.defaults(ext(def, options)), + makeRe: (pattern, options = {}) => orig.makeRe(pattern, ext(def, options)), + braceExpand: (pattern, options = {}) => orig.braceExpand(pattern, ext(def, options)), + match: (list, pattern, options = {}) => orig.match(list, pattern, ext(def, options)), + sep: orig.sep, + GLOBSTAR: exports2.GLOBSTAR + }); + }; + exports2.defaults = defaults; + exports2.minimatch.defaults = exports2.defaults; + var braceExpand = (pattern, options = {}) => { + (0, assert_valid_pattern_js_1.assertValidPattern)(pattern); + if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) { + return [pattern]; } - if (this.socket) { - startTimer(this.socket); - } else { - this._currentRequest.once("socket", startTimer); + return (0, brace_expansion_1.expand)(pattern); + }; + exports2.braceExpand = braceExpand; + exports2.minimatch.braceExpand = exports2.braceExpand; + var makeRe = (pattern, options = {}) => new Minimatch(pattern, options).makeRe(); + exports2.makeRe = makeRe; + exports2.minimatch.makeRe = exports2.makeRe; + var match = (list, pattern, options = {}) => { + const mm = new Minimatch(pattern, options); + list = list.filter((f) => mm.match(f)); + if (mm.options.nonull && !list.length) { + list.push(pattern); } - this.on("socket", destroyOnTimeout); - this.on("abort", clearTimer); - this.on("error", clearTimer); - this.on("response", clearTimer); - this.on("close", clearTimer); - return this; + return list; }; - [ - "flushHeaders", - "getHeader", - "setNoDelay", - "setSocketKeepAlive" - ].forEach(function(method) { - RedirectableRequest.prototype[method] = function(a, b) { - return this._currentRequest[method](a, b); - }; - }); - ["aborted", "connection", "socket"].forEach(function(property) { - Object.defineProperty(RedirectableRequest.prototype, property, { - get: function() { - return this._currentRequest[property]; + exports2.match = match; + exports2.minimatch.match = exports2.match; + var globMagic = /[?*]|[+@!]\(.*?\)|\[|\]/; + var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); + var Minimatch = class { + options; + set; + pattern; + windowsPathsNoEscape; + nonegate; + negate; + comment; + empty; + preserveMultipleSlashes; + partial; + globSet; + globParts; + nocase; + isWindows; + platform; + windowsNoMagicRoot; + regexp; + constructor(pattern, options = {}) { + (0, assert_valid_pattern_js_1.assertValidPattern)(pattern); + options = options || {}; + this.options = options; + this.pattern = pattern; + this.platform = options.platform || defaultPlatform; + this.isWindows = this.platform === "win32"; + this.windowsPathsNoEscape = !!options.windowsPathsNoEscape || options.allowWindowsEscape === false; + if (this.windowsPathsNoEscape) { + this.pattern = this.pattern.replace(/\\/g, "/"); } - }); - }); - RedirectableRequest.prototype._sanitizeOptions = function(options) { - if (!options.headers) { - options.headers = {}; + this.preserveMultipleSlashes = !!options.preserveMultipleSlashes; + this.regexp = null; + this.negate = false; + this.nonegate = !!options.nonegate; + this.comment = false; + this.empty = false; + this.partial = !!options.partial; + this.nocase = !!this.options.nocase; + this.windowsNoMagicRoot = options.windowsNoMagicRoot !== void 0 ? options.windowsNoMagicRoot : !!(this.isWindows && this.nocase); + this.globSet = []; + this.globParts = []; + this.set = []; + this.make(); } - if (options.host) { - if (!options.hostname) { - options.hostname = options.host; + hasMagic() { + if (this.options.magicalBraces && this.set.length > 1) { + return true; } - delete options.host; - } - if (!options.pathname && options.path) { - var searchPos = options.path.indexOf("?"); - if (searchPos < 0) { - options.pathname = options.path; - } else { - options.pathname = options.path.substring(0, searchPos); - options.search = options.path.substring(searchPos); + for (const pattern of this.set) { + for (const part of pattern) { + if (typeof part !== "string") + return true; + } } + return false; } - }; - RedirectableRequest.prototype._performRequest = function() { - var protocol = this._options.protocol; - var nativeProtocol = this._options.nativeProtocols[protocol]; - if (!nativeProtocol) { - throw new TypeError("Unsupported protocol " + protocol); - } - if (this._options.agents) { - var scheme = protocol.slice(0, -1); - this._options.agent = this._options.agents[scheme]; + debug(..._2) { } - var request2 = this._currentRequest = nativeProtocol.request(this._options, this._onNativeResponse); - request2._redirectable = this; - for (var event of events) { - request2.on(event, eventHandlers[event]); + make() { + const pattern = this.pattern; + const options = this.options; + if (!options.nocomment && pattern.charAt(0) === "#") { + this.comment = true; + return; + } + if (!pattern) { + this.empty = true; + return; + } + this.parseNegate(); + this.globSet = [...new Set(this.braceExpand())]; + if (options.debug) { + this.debug = (...args) => console.error(...args); + } + this.debug(this.pattern, this.globSet); + const rawGlobParts = this.globSet.map((s) => this.slashSplit(s)); + this.globParts = this.preprocess(rawGlobParts); + this.debug(this.pattern, this.globParts); + let set2 = this.globParts.map((s, _2, __) => { + if (this.isWindows && this.windowsNoMagicRoot) { + const isUNC = s[0] === "" && s[1] === "" && (s[2] === "?" || !globMagic.test(s[2])) && !globMagic.test(s[3]); + const isDrive = /^[a-z]:/i.test(s[0]); + if (isUNC) { + return [...s.slice(0, 4), ...s.slice(4).map((ss) => this.parse(ss))]; + } else if (isDrive) { + return [s[0], ...s.slice(1).map((ss) => this.parse(ss))]; + } + } + return s.map((ss) => this.parse(ss)); + }); + this.debug(this.pattern, set2); + this.set = set2.filter((s) => s.indexOf(false) === -1); + if (this.isWindows) { + for (let i = 0; i < this.set.length; i++) { + const p = this.set[i]; + if (p[0] === "" && p[1] === "" && this.globParts[i][2] === "?" && typeof p[3] === "string" && /^[a-z]:$/i.test(p[3])) { + p[2] = "?"; + } + } + } + this.debug(this.pattern, this.set); } - this._currentUrl = /^\//.test(this._options.path) ? url.format(this._options) : ( - // When making a request to a proxy, […] - // a client MUST send the target URI in absolute-form […]. - this._options.path - ); - if (this._isRedirect) { - var i = 0; - var self2 = this; - var buffers = this._requestBodyBuffers; - (function writeNext(error3) { - if (request2 === self2._currentRequest) { - if (error3) { - self2.emit("error", error3); - } else if (i < buffers.length) { - var buffer = buffers[i++]; - if (!request2.finished) { - request2.write(buffer.data, buffer.encoding, writeNext); + // various transforms to equivalent pattern sets that are + // faster to process in a filesystem walk. The goal is to + // eliminate what we can, and push all ** patterns as far + // to the right as possible, even if it increases the number + // of patterns that we have to process. + preprocess(globParts) { + if (this.options.noglobstar) { + for (let i = 0; i < globParts.length; i++) { + for (let j = 0; j < globParts[i].length; j++) { + if (globParts[i][j] === "**") { + globParts[i][j] = "*"; } - } else if (self2._ended) { - request2.end(); } } - })(); + } + const { optimizationLevel = 1 } = this.options; + if (optimizationLevel >= 2) { + globParts = this.firstPhasePreProcess(globParts); + globParts = this.secondPhasePreProcess(globParts); + } else if (optimizationLevel >= 1) { + globParts = this.levelOneOptimize(globParts); + } else { + globParts = this.adjascentGlobstarOptimize(globParts); + } + return globParts; } - }; - RedirectableRequest.prototype._processResponse = function(response) { - var statusCode = response.statusCode; - if (this._options.trackRedirects) { - this._redirects.push({ - url: this._currentUrl, - headers: response.headers, - statusCode + // just get rid of adjascent ** portions + adjascentGlobstarOptimize(globParts) { + return globParts.map((parts) => { + let gs = -1; + while (-1 !== (gs = parts.indexOf("**", gs + 1))) { + let i = gs; + while (parts[i + 1] === "**") { + i++; + } + if (i !== gs) { + parts.splice(gs, i - gs); + } + } + return parts; }); } - var location = response.headers.location; - if (!location || this._options.followRedirects === false || statusCode < 300 || statusCode >= 400) { - response.responseUrl = this._currentUrl; - response.redirects = this._redirects; - this.emit("response", response); - this._requestBodyBuffers = []; - return; + // get rid of adjascent ** and resolve .. portions + levelOneOptimize(globParts) { + return globParts.map((parts) => { + parts = parts.reduce((set2, part) => { + const prev = set2[set2.length - 1]; + if (part === "**" && prev === "**") { + return set2; + } + if (part === "..") { + if (prev && prev !== ".." && prev !== "." && prev !== "**") { + set2.pop(); + return set2; + } + } + set2.push(part); + return set2; + }, []); + return parts.length === 0 ? [""] : parts; + }); } - destroyRequest(this._currentRequest); - response.destroy(); - if (++this._redirectCount > this._options.maxRedirects) { - throw new TooManyRedirectsError(); + levelTwoFileOptimize(parts) { + if (!Array.isArray(parts)) { + parts = this.slashSplit(parts); + } + let didSomething = false; + do { + didSomething = false; + if (!this.preserveMultipleSlashes) { + for (let i = 1; i < parts.length - 1; i++) { + const p = parts[i]; + if (i === 1 && p === "" && parts[0] === "") + continue; + if (p === "." || p === "") { + didSomething = true; + parts.splice(i, 1); + i--; + } + } + if (parts[0] === "." && parts.length === 2 && (parts[1] === "." || parts[1] === "")) { + didSomething = true; + parts.pop(); + } + } + let dd = 0; + while (-1 !== (dd = parts.indexOf("..", dd + 1))) { + const p = parts[dd - 1]; + if (p && p !== "." && p !== ".." && p !== "**") { + didSomething = true; + parts.splice(dd - 1, 2); + dd -= 2; + } + } + } while (didSomething); + return parts.length === 0 ? [""] : parts; } - var requestHeaders; - var beforeRedirect = this._options.beforeRedirect; - if (beforeRedirect) { - requestHeaders = Object.assign({ - // The Host header was set by nativeProtocol.request - Host: response.req.getHeader("host") - }, this._options.headers); + // First phase: single-pattern processing + //
 is 1 or more portions
+      //  is 1 or more portions
+      // 

is any portion other than ., .., '', or ** + // is . or '' + // + // **/.. is *brutal* for filesystem walking performance, because + // it effectively resets the recursive walk each time it occurs, + // and ** cannot be reduced out by a .. pattern part like a regexp + // or most strings (other than .., ., and '') can be. + // + //

/**/../

/

/ -> {

/../

/

/,

/**/

/

/} + //

// -> 
/
+      // 
/

/../ ->

/
+      // **/**/ -> **/
+      //
+      // **/*/ -> */**/ <== not valid because ** doesn't follow
+      // this WOULD be allowed if ** did follow symlinks, or * didn't
+      firstPhasePreProcess(globParts) {
+        let didSomething = false;
+        do {
+          didSomething = false;
+          for (let parts of globParts) {
+            let gs = -1;
+            while (-1 !== (gs = parts.indexOf("**", gs + 1))) {
+              let gss = gs;
+              while (parts[gss + 1] === "**") {
+                gss++;
+              }
+              if (gss > gs) {
+                parts.splice(gs + 1, gss - gs);
+              }
+              let next = parts[gs + 1];
+              const p = parts[gs + 2];
+              const p2 = parts[gs + 3];
+              if (next !== "..")
+                continue;
+              if (!p || p === "." || p === ".." || !p2 || p2 === "." || p2 === "..") {
+                continue;
+              }
+              didSomething = true;
+              parts.splice(gs, 1);
+              const other = parts.slice(0);
+              other[gs] = "**";
+              globParts.push(other);
+              gs--;
+            }
+            if (!this.preserveMultipleSlashes) {
+              for (let i = 1; i < parts.length - 1; i++) {
+                const p = parts[i];
+                if (i === 1 && p === "" && parts[0] === "")
+                  continue;
+                if (p === "." || p === "") {
+                  didSomething = true;
+                  parts.splice(i, 1);
+                  i--;
+                }
+              }
+              if (parts[0] === "." && parts.length === 2 && (parts[1] === "." || parts[1] === "")) {
+                didSomething = true;
+                parts.pop();
+              }
+            }
+            let dd = 0;
+            while (-1 !== (dd = parts.indexOf("..", dd + 1))) {
+              const p = parts[dd - 1];
+              if (p && p !== "." && p !== ".." && p !== "**") {
+                didSomething = true;
+                const needDot = dd === 1 && parts[dd + 1] === "**";
+                const splin = needDot ? ["."] : [];
+                parts.splice(dd - 1, 2, ...splin);
+                if (parts.length === 0)
+                  parts.push("");
+                dd -= 2;
+              }
+            }
+          }
+        } while (didSomething);
+        return globParts;
       }
-      var method = this._options.method;
-      if ((statusCode === 301 || statusCode === 302) && this._options.method === "POST" || // RFC7231§6.4.4: The 303 (See Other) status code indicates that
-      // the server is redirecting the user agent to a different resource […]
-      // A user agent can perform a retrieval request targeting that URI
-      // (a GET or HEAD request if using HTTP) […]
-      statusCode === 303 && !/^(?:GET|HEAD)$/.test(this._options.method)) {
-        this._options.method = "GET";
-        this._requestBodyBuffers = [];
-        removeMatchingHeaders(/^content-/i, this._options.headers);
+      // second phase: multi-pattern dedupes
+      // {
/*/,
/

/} ->

/*/
+      // {
/,
/} -> 
/
+      // {
/**/,
/} -> 
/**/
+      //
+      // {
/**/,
/**/

/} ->

/**/
+      // ^-- not valid because ** doens't follow symlinks
+      secondPhasePreProcess(globParts) {
+        for (let i = 0; i < globParts.length - 1; i++) {
+          for (let j = i + 1; j < globParts.length; j++) {
+            const matched = this.partsMatch(globParts[i], globParts[j], !this.preserveMultipleSlashes);
+            if (matched) {
+              globParts[i] = [];
+              globParts[j] = matched;
+              break;
+            }
+          }
+        }
+        return globParts.filter((gs) => gs.length);
       }
-      var currentHostHeader = removeMatchingHeaders(/^host$/i, this._options.headers);
-      var currentUrlParts = parseUrl2(this._currentUrl);
-      var currentHost = currentHostHeader || currentUrlParts.host;
-      var currentUrl = /^\w+:/.test(location) ? this._currentUrl : url.format(Object.assign(currentUrlParts, { host: currentHost }));
-      var redirectUrl = resolveUrl(location, currentUrl);
-      debug4("redirecting to", redirectUrl.href);
-      this._isRedirect = true;
-      spreadUrlObject(redirectUrl, this._options);
-      if (redirectUrl.protocol !== currentUrlParts.protocol && redirectUrl.protocol !== "https:" || redirectUrl.host !== currentHost && !isSubdomain(redirectUrl.host, currentHost)) {
-        removeMatchingHeaders(/^(?:(?:proxy-)?authorization|cookie)$/i, this._options.headers);
+      partsMatch(a, b, emptyGSMatch = false) {
+        let ai = 0;
+        let bi = 0;
+        let result = [];
+        let which6 = "";
+        while (ai < a.length && bi < b.length) {
+          if (a[ai] === b[bi]) {
+            result.push(which6 === "b" ? b[bi] : a[ai]);
+            ai++;
+            bi++;
+          } else if (emptyGSMatch && a[ai] === "**" && b[bi] === a[ai + 1]) {
+            result.push(a[ai]);
+            ai++;
+          } else if (emptyGSMatch && b[bi] === "**" && a[ai] === b[bi + 1]) {
+            result.push(b[bi]);
+            bi++;
+          } else if (a[ai] === "*" && b[bi] && (this.options.dot || !b[bi].startsWith(".")) && b[bi] !== "**") {
+            if (which6 === "b")
+              return false;
+            which6 = "a";
+            result.push(a[ai]);
+            ai++;
+            bi++;
+          } else if (b[bi] === "*" && a[ai] && (this.options.dot || !a[ai].startsWith(".")) && a[ai] !== "**") {
+            if (which6 === "a")
+              return false;
+            which6 = "b";
+            result.push(b[bi]);
+            ai++;
+            bi++;
+          } else {
+            return false;
+          }
+        }
+        return a.length === b.length && result;
       }
-      if (isFunction(beforeRedirect)) {
-        var responseDetails = {
-          headers: response.headers,
-          statusCode
-        };
-        var requestDetails = {
-          url: currentUrl,
-          method,
-          headers: requestHeaders
-        };
-        beforeRedirect(this._options, responseDetails, requestDetails);
-        this._sanitizeOptions(this._options);
+      parseNegate() {
+        if (this.nonegate)
+          return;
+        const pattern = this.pattern;
+        let negate = false;
+        let negateOffset = 0;
+        for (let i = 0; i < pattern.length && pattern.charAt(i) === "!"; i++) {
+          negate = !negate;
+          negateOffset++;
+        }
+        if (negateOffset)
+          this.pattern = pattern.slice(negateOffset);
+        this.negate = negate;
       }
-      this._performRequest();
-    };
-    function wrap(protocols) {
-      var exports3 = {
-        maxRedirects: 21,
-        maxBodyLength: 10 * 1024 * 1024
-      };
-      var nativeProtocols = {};
-      Object.keys(protocols).forEach(function(scheme) {
-        var protocol = scheme + ":";
-        var nativeProtocol = nativeProtocols[protocol] = protocols[scheme];
-        var wrappedProtocol = exports3[scheme] = Object.create(nativeProtocol);
-        function request2(input, options, callback) {
-          if (isURL(input)) {
-            input = spreadUrlObject(input);
-          } else if (isString(input)) {
-            input = spreadUrlObject(parseUrl2(input));
-          } else {
-            callback = options;
-            options = validateUrl(input);
-            input = { protocol };
+      // set partial to true to test if, for example,
+      // "/a/b" matches the start of "/*/b/*/d"
+      // Partial means, if you run out of file before you run
+      // out of pattern, then that's fine, as long as all
+      // the parts match.
+      matchOne(file, pattern, partial = false) {
+        const options = this.options;
+        if (this.isWindows) {
+          const fileDrive = typeof file[0] === "string" && /^[a-z]:$/i.test(file[0]);
+          const fileUNC = !fileDrive && file[0] === "" && file[1] === "" && file[2] === "?" && /^[a-z]:$/i.test(file[3]);
+          const patternDrive = typeof pattern[0] === "string" && /^[a-z]:$/i.test(pattern[0]);
+          const patternUNC = !patternDrive && pattern[0] === "" && pattern[1] === "" && pattern[2] === "?" && typeof pattern[3] === "string" && /^[a-z]:$/i.test(pattern[3]);
+          const fdi = fileUNC ? 3 : fileDrive ? 0 : void 0;
+          const pdi = patternUNC ? 3 : patternDrive ? 0 : void 0;
+          if (typeof fdi === "number" && typeof pdi === "number") {
+            const [fd, pd] = [file[fdi], pattern[pdi]];
+            if (fd.toLowerCase() === pd.toLowerCase()) {
+              pattern[pdi] = fd;
+              if (pdi > fdi) {
+                pattern = pattern.slice(pdi);
+              } else if (fdi > pdi) {
+                file = file.slice(fdi);
+              }
+            }
           }
-          if (isFunction(options)) {
-            callback = options;
-            options = null;
+        }
+        const { optimizationLevel = 1 } = this.options;
+        if (optimizationLevel >= 2) {
+          file = this.levelTwoFileOptimize(file);
+        }
+        this.debug("matchOne", this, { file, pattern });
+        this.debug("matchOne", file.length, pattern.length);
+        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
+          this.debug("matchOne loop");
+          var p = pattern[pi];
+          var f = file[fi];
+          this.debug(pattern, p, f);
+          if (p === false) {
+            return false;
           }
-          options = Object.assign({
-            maxRedirects: exports3.maxRedirects,
-            maxBodyLength: exports3.maxBodyLength
-          }, input, options);
-          options.nativeProtocols = nativeProtocols;
-          if (!isString(options.host) && !isString(options.hostname)) {
-            options.hostname = "::1";
+          if (p === exports2.GLOBSTAR) {
+            this.debug("GLOBSTAR", [pattern, p, f]);
+            var fr = fi;
+            var pr = pi + 1;
+            if (pr === pl) {
+              this.debug("** at the end");
+              for (; fi < fl; fi++) {
+                if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".")
+                  return false;
+              }
+              return true;
+            }
+            while (fr < fl) {
+              var swallowee = file[fr];
+              this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
+              if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
+                this.debug("globstar found match!", fr, fl, swallowee);
+                return true;
+              } else {
+                if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
+                  this.debug("dot detected!", file, fr, pattern, pr);
+                  break;
+                }
+                this.debug("globstar swallow a segment, and continue");
+                fr++;
+              }
+            }
+            if (partial) {
+              this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
+              if (fr === fl) {
+                return true;
+              }
+            }
+            return false;
           }
-          assert.equal(options.protocol, protocol, "protocol mismatch");
-          debug4("options", options);
-          return new RedirectableRequest(options, callback);
+          let hit;
+          if (typeof p === "string") {
+            hit = f === p;
+            this.debug("string match", p, f, hit);
+          } else {
+            hit = p.test(f);
+            this.debug("pattern match", p, f, hit);
+          }
+          if (!hit)
+            return false;
         }
-        function get(input, options, callback) {
-          var wrappedRequest = wrappedProtocol.request(input, options, callback);
-          wrappedRequest.end();
-          return wrappedRequest;
+        if (fi === fl && pi === pl) {
+          return true;
+        } else if (fi === fl) {
+          return partial;
+        } else if (pi === pl) {
+          return fi === fl - 1 && file[fi] === "";
+        } else {
+          throw new Error("wtf?");
         }
-        Object.defineProperties(wrappedProtocol, {
-          request: { value: request2, configurable: true, enumerable: true, writable: true },
-          get: { value: get, configurable: true, enumerable: true, writable: true }
-        });
-      });
-      return exports3;
-    }
-    function noop3() {
-    }
-    function parseUrl2(input) {
-      var parsed;
-      if (useNativeURL) {
-        parsed = new URL2(input);
-      } else {
-        parsed = validateUrl(url.parse(input));
-        if (!isString(parsed.protocol)) {
-          throw new InvalidUrlError({ input });
+      }
+      braceExpand() {
+        return (0, exports2.braceExpand)(this.pattern, this.options);
+      }
+      parse(pattern) {
+        (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
+        const options = this.options;
+        if (pattern === "**")
+          return exports2.GLOBSTAR;
+        if (pattern === "")
+          return "";
+        let m;
+        let fastTest = null;
+        if (m = pattern.match(starRE)) {
+          fastTest = options.dot ? starTestDot : starTest;
+        } else if (m = pattern.match(starDotExtRE)) {
+          fastTest = (options.nocase ? options.dot ? starDotExtTestNocaseDot : starDotExtTestNocase : options.dot ? starDotExtTestDot : starDotExtTest)(m[1]);
+        } else if (m = pattern.match(qmarksRE)) {
+          fastTest = (options.nocase ? options.dot ? qmarksTestNocaseDot : qmarksTestNocase : options.dot ? qmarksTestDot : qmarksTest)(m);
+        } else if (m = pattern.match(starDotStarRE)) {
+          fastTest = options.dot ? starDotStarTestDot : starDotStarTest;
+        } else if (m = pattern.match(dotStarRE)) {
+          fastTest = dotStarTest;
+        }
+        const re = ast_js_1.AST.fromGlob(pattern, this.options).toMMPattern();
+        if (fastTest && typeof re === "object") {
+          Reflect.defineProperty(re, "test", { value: fastTest });
+        }
+        return re;
+      }
+      makeRe() {
+        if (this.regexp || this.regexp === false)
+          return this.regexp;
+        const set2 = this.set;
+        if (!set2.length) {
+          this.regexp = false;
+          return this.regexp;
+        }
+        const options = this.options;
+        const twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
+        const flags = new Set(options.nocase ? ["i"] : []);
+        let re = set2.map((pattern) => {
+          const pp = pattern.map((p) => {
+            if (p instanceof RegExp) {
+              for (const f of p.flags.split(""))
+                flags.add(f);
+            }
+            return typeof p === "string" ? regExpEscape(p) : p === exports2.GLOBSTAR ? exports2.GLOBSTAR : p._src;
+          });
+          pp.forEach((p, i) => {
+            const next = pp[i + 1];
+            const prev = pp[i - 1];
+            if (p !== exports2.GLOBSTAR || prev === exports2.GLOBSTAR) {
+              return;
+            }
+            if (prev === void 0) {
+              if (next !== void 0 && next !== exports2.GLOBSTAR) {
+                pp[i + 1] = "(?:\\/|" + twoStar + "\\/)?" + next;
+              } else {
+                pp[i] = twoStar;
+              }
+            } else if (next === void 0) {
+              pp[i - 1] = prev + "(?:\\/|\\/" + twoStar + ")?";
+            } else if (next !== exports2.GLOBSTAR) {
+              pp[i - 1] = prev + "(?:\\/|\\/" + twoStar + "\\/)" + next;
+              pp[i + 1] = exports2.GLOBSTAR;
+            }
+          });
+          const filtered = pp.filter((p) => p !== exports2.GLOBSTAR);
+          if (this.partial && filtered.length >= 1) {
+            const prefixes = [];
+            for (let i = 1; i <= filtered.length; i++) {
+              prefixes.push(filtered.slice(0, i).join("/"));
+            }
+            return "(?:" + prefixes.join("|") + ")";
+          }
+          return filtered.join("/");
+        }).join("|");
+        const [open, close] = set2.length > 1 ? ["(?:", ")"] : ["", ""];
+        re = "^" + open + re + close + "$";
+        if (this.partial) {
+          re = "^(?:\\/|" + open + re.slice(1, -1) + close + ")$";
+        }
+        if (this.negate)
+          re = "^(?!" + re + ").+$";
+        try {
+          this.regexp = new RegExp(re, [...flags].join(""));
+        } catch (ex) {
+          this.regexp = false;
         }
+        return this.regexp;
       }
-      return parsed;
-    }
-    function resolveUrl(relative, base) {
-      return useNativeURL ? new URL2(relative, base) : parseUrl2(url.resolve(base, relative));
-    }
-    function validateUrl(input) {
-      if (/^\[/.test(input.hostname) && !/^\[[:0-9a-f]+\]$/i.test(input.hostname)) {
-        throw new InvalidUrlError({ input: input.href || input });
-      }
-      if (/^\[/.test(input.host) && !/^\[[:0-9a-f]+\](:\d+)?$/i.test(input.host)) {
-        throw new InvalidUrlError({ input: input.href || input });
-      }
-      return input;
-    }
-    function spreadUrlObject(urlObject, target) {
-      var spread = target || {};
-      for (var key of preservedUrlFields) {
-        spread[key] = urlObject[key];
-      }
-      if (spread.hostname.startsWith("[")) {
-        spread.hostname = spread.hostname.slice(1, -1);
-      }
-      if (spread.port !== "") {
-        spread.port = Number(spread.port);
-      }
-      spread.path = spread.search ? spread.pathname + spread.search : spread.pathname;
-      return spread;
-    }
-    function removeMatchingHeaders(regex, headers) {
-      var lastValue;
-      for (var header in headers) {
-        if (regex.test(header)) {
-          lastValue = headers[header];
-          delete headers[header];
+      slashSplit(p) {
+        if (this.preserveMultipleSlashes) {
+          return p.split("/");
+        } else if (this.isWindows && /^\/\/[^\/]+/.test(p)) {
+          return ["", ...p.split(/\/+/)];
+        } else {
+          return p.split(/\/+/);
         }
       }
-      return lastValue === null || typeof lastValue === "undefined" ? void 0 : String(lastValue).trim();
-    }
-    function createErrorType(code, message, baseClass) {
-      function CustomError(properties) {
-        if (isFunction(Error.captureStackTrace)) {
-          Error.captureStackTrace(this, this.constructor);
+      match(f, partial = this.partial) {
+        this.debug("match", f, this.pattern);
+        if (this.comment) {
+          return false;
         }
-        Object.assign(this, properties || {});
-        this.code = code;
-        this.message = this.cause ? message + ": " + this.cause.message : message;
-      }
-      CustomError.prototype = new (baseClass || Error)();
-      Object.defineProperties(CustomError.prototype, {
-        constructor: {
-          value: CustomError,
-          enumerable: false
-        },
-        name: {
-          value: "Error [" + code + "]",
-          enumerable: false
+        if (this.empty) {
+          return f === "";
         }
-      });
-      return CustomError;
-    }
-    function destroyRequest(request2, error3) {
-      for (var event of events) {
-        request2.removeListener(event, eventHandlers[event]);
+        if (f === "/" && partial) {
+          return true;
+        }
+        const options = this.options;
+        if (this.isWindows) {
+          f = f.split("\\").join("/");
+        }
+        const ff = this.slashSplit(f);
+        this.debug(this.pattern, "split", ff);
+        const set2 = this.set;
+        this.debug(this.pattern, "set", set2);
+        let filename = ff[ff.length - 1];
+        if (!filename) {
+          for (let i = ff.length - 2; !filename && i >= 0; i--) {
+            filename = ff[i];
+          }
+        }
+        for (let i = 0; i < set2.length; i++) {
+          const pattern = set2[i];
+          let file = ff;
+          if (options.matchBase && pattern.length === 1) {
+            file = [filename];
+          }
+          const hit = this.matchOne(file, pattern, partial);
+          if (hit) {
+            if (options.flipNegate) {
+              return true;
+            }
+            return !this.negate;
+          }
+        }
+        if (options.flipNegate) {
+          return false;
+        }
+        return this.negate;
       }
-      request2.on("error", noop3);
-      request2.destroy(error3);
-    }
-    function isSubdomain(subdomain, domain) {
-      assert(isString(subdomain) && isString(domain));
-      var dot = subdomain.length - domain.length - 1;
-      return dot > 0 && subdomain[dot] === "." && subdomain.endsWith(domain);
-    }
-    function isString(value) {
-      return typeof value === "string" || value instanceof String;
-    }
-    function isFunction(value) {
-      return typeof value === "function";
-    }
-    function isBuffer(value) {
-      return typeof value === "object" && "length" in value;
-    }
-    function isURL(value) {
-      return URL2 && value instanceof URL2;
-    }
-    module2.exports = wrap({ http, https: https2 });
-    module2.exports.wrap = wrap;
+      static defaults(def) {
+        return exports2.minimatch.defaults(def).Minimatch;
+      }
+    };
+    exports2.Minimatch = Minimatch;
+    var ast_js_2 = require_ast();
+    Object.defineProperty(exports2, "AST", { enumerable: true, get: function() {
+      return ast_js_2.AST;
+    } });
+    var escape_js_2 = require_escape();
+    Object.defineProperty(exports2, "escape", { enumerable: true, get: function() {
+      return escape_js_2.escape;
+    } });
+    var unescape_js_2 = require_unescape();
+    Object.defineProperty(exports2, "unescape", { enumerable: true, get: function() {
+      return unescape_js_2.unescape;
+    } });
+    exports2.minimatch.AST = ast_js_1.AST;
+    exports2.minimatch.Minimatch = Minimatch;
+    exports2.minimatch.escape = escape_js_1.escape;
+    exports2.minimatch.unescape = unescape_js_1.unescape;
   }
 });
 
-// node_modules/@actions/artifact/lib/internal/shared/config.js
-var require_config2 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/shared/config.js"(exports2) {
+// node_modules/lru-cache/dist/commonjs/index.js
+var require_commonjs21 = __commonJS({
+  "node_modules/lru-cache/dist/commonjs/index.js"(exports2) {
     "use strict";
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
-    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getMaxArtifactListCount = exports2.getUploadChunkTimeout = exports2.getConcurrency = exports2.getGitHubWorkspaceDir = exports2.isGhes = exports2.getResultsServiceUrl = exports2.getRuntimeToken = exports2.getUploadChunkSize = void 0;
-    var os_1 = __importDefault2(require("os"));
-    var core_1 = require_core();
-    function getUploadChunkSize() {
-      return 8 * 1024 * 1024;
-    }
-    exports2.getUploadChunkSize = getUploadChunkSize;
-    function getRuntimeToken() {
-      const token = process.env["ACTIONS_RUNTIME_TOKEN"];
-      if (!token) {
-        throw new Error("Unable to get the ACTIONS_RUNTIME_TOKEN env variable");
-      }
-      return token;
-    }
-    exports2.getRuntimeToken = getRuntimeToken;
-    function getResultsServiceUrl() {
-      const resultsUrl = process.env["ACTIONS_RESULTS_URL"];
-      if (!resultsUrl) {
-        throw new Error("Unable to get the ACTIONS_RESULTS_URL env variable");
-      }
-      return new URL(resultsUrl).origin;
-    }
-    exports2.getResultsServiceUrl = getResultsServiceUrl;
-    function isGhes() {
-      const ghUrl = new URL(process.env["GITHUB_SERVER_URL"] || "https://github.com");
-      const hostname = ghUrl.hostname.trimEnd().toUpperCase();
-      const isGitHubHost = hostname === "GITHUB.COM";
-      const isGheHost = hostname.endsWith(".GHE.COM");
-      const isLocalHost = hostname.endsWith(".LOCALHOST");
-      return !isGitHubHost && !isGheHost && !isLocalHost;
-    }
-    exports2.isGhes = isGhes;
-    function getGitHubWorkspaceDir() {
-      const ghWorkspaceDir = process.env["GITHUB_WORKSPACE"];
-      if (!ghWorkspaceDir) {
-        throw new Error("Unable to get the GITHUB_WORKSPACE env variable");
-      }
-      return ghWorkspaceDir;
-    }
-    exports2.getGitHubWorkspaceDir = getGitHubWorkspaceDir;
-    function getConcurrency() {
-      const numCPUs = os_1.default.cpus().length;
-      let concurrencyCap = 32;
-      if (numCPUs > 4) {
-        const concurrency = 16 * numCPUs;
-        concurrencyCap = concurrency > 300 ? 300 : concurrency;
-      }
-      const concurrencyOverride = process.env["ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY"];
-      if (concurrencyOverride) {
-        const concurrency = parseInt(concurrencyOverride);
-        if (isNaN(concurrency) || concurrency < 1) {
-          throw new Error("Invalid value set for ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY env variable");
+    exports2.LRUCache = void 0;
+    var perf = typeof performance === "object" && performance && typeof performance.now === "function" ? performance : Date;
+    var warned = /* @__PURE__ */ new Set();
+    var PROCESS = typeof process === "object" && !!process ? process : {};
+    var emitWarning = (msg, type2, code, fn) => {
+      typeof PROCESS.emitWarning === "function" ? PROCESS.emitWarning(msg, type2, code, fn) : console.error(`[${code}] ${type2}: ${msg}`);
+    };
+    var AC = globalThis.AbortController;
+    var AS = globalThis.AbortSignal;
+    if (typeof AC === "undefined") {
+      AS = class AbortSignal {
+        onabort;
+        _onabort = [];
+        reason;
+        aborted = false;
+        addEventListener(_2, fn) {
+          this._onabort.push(fn);
         }
-        if (concurrency < concurrencyCap) {
-          (0, core_1.info)(`Set concurrency based on the value set in ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY.`);
-          return concurrency;
+      };
+      AC = class AbortController {
+        constructor() {
+          warnACPolyfill();
         }
-        (0, core_1.info)(`ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY is higher than the cap of ${concurrencyCap} based on the number of cpus. Set it to the maximum value allowed.`);
-        return concurrencyCap;
-      }
-      return 5;
+        signal = new AS();
+        abort(reason) {
+          if (this.signal.aborted)
+            return;
+          this.signal.reason = reason;
+          this.signal.aborted = true;
+          for (const fn of this.signal._onabort) {
+            fn(reason);
+          }
+          this.signal.onabort?.(reason);
+        }
+      };
+      let printACPolyfillWarning = PROCESS.env?.LRU_CACHE_IGNORE_AC_WARNING !== "1";
+      const warnACPolyfill = () => {
+        if (!printACPolyfillWarning)
+          return;
+        printACPolyfillWarning = false;
+        emitWarning("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.", "NO_ABORT_CONTROLLER", "ENOTSUP", warnACPolyfill);
+      };
     }
-    exports2.getConcurrency = getConcurrency;
-    function getUploadChunkTimeout() {
-      const timeoutVar = process.env["ACTIONS_ARTIFACT_UPLOAD_TIMEOUT_MS"];
-      if (!timeoutVar) {
-        return 3e5;
+    var shouldWarn = (code) => !warned.has(code);
+    var isPosInt = (n) => n && n === Math.floor(n) && n > 0 && isFinite(n);
+    var getUintArray = (max) => !isPosInt(max) ? null : max <= Math.pow(2, 8) ? Uint8Array : max <= Math.pow(2, 16) ? Uint16Array : max <= Math.pow(2, 32) ? Uint32Array : max <= Number.MAX_SAFE_INTEGER ? ZeroArray : null;
+    var ZeroArray = class extends Array {
+      constructor(size) {
+        super(size);
+        this.fill(0);
       }
-      const timeout = parseInt(timeoutVar);
-      if (isNaN(timeout)) {
-        throw new Error("Invalid value set for ACTIONS_ARTIFACT_UPLOAD_TIMEOUT_MS env variable");
+    };
+    var Stack = class _Stack {
+      heap;
+      length;
+      // private constructor
+      static #constructing = false;
+      static create(max) {
+        const HeapCls = getUintArray(max);
+        if (!HeapCls)
+          return [];
+        _Stack.#constructing = true;
+        const s = new _Stack(max, HeapCls);
+        _Stack.#constructing = false;
+        return s;
       }
-      return timeout;
-    }
-    exports2.getUploadChunkTimeout = getUploadChunkTimeout;
-    function getMaxArtifactListCount() {
-      const maxCountVar = process.env["ACTIONS_ARTIFACT_MAX_ARTIFACT_COUNT"] || "1000";
-      const maxCount = parseInt(maxCountVar);
-      if (isNaN(maxCount) || maxCount < 1) {
-        throw new Error("Invalid value set for ACTIONS_ARTIFACT_MAX_ARTIFACT_COUNT env variable");
+      constructor(max, HeapCls) {
+        if (!_Stack.#constructing) {
+          throw new TypeError("instantiate Stack using Stack.create(n)");
+        }
+        this.heap = new HeapCls(max);
+        this.length = 0;
       }
-      return maxCount;
-    }
-    exports2.getMaxArtifactListCount = getMaxArtifactListCount;
-  }
-});
-
-// node_modules/@actions/artifact/lib/generated/google/protobuf/timestamp.js
-var require_timestamp = __commonJS({
-  "node_modules/@actions/artifact/lib/generated/google/protobuf/timestamp.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Timestamp = void 0;
-    var runtime_1 = require_commonjs16();
-    var runtime_2 = require_commonjs16();
-    var runtime_3 = require_commonjs16();
-    var runtime_4 = require_commonjs16();
-    var runtime_5 = require_commonjs16();
-    var runtime_6 = require_commonjs16();
-    var runtime_7 = require_commonjs16();
-    var Timestamp$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.Timestamp", [
-          {
-            no: 1,
-            name: "seconds",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          },
-          {
-            no: 2,
-            name: "nanos",
-            kind: "scalar",
-            T: 5
-            /*ScalarType.INT32*/
-          }
-        ]);
+      push(n) {
+        this.heap[this.length++] = n;
+      }
+      pop() {
+        return this.heap[--this.length];
       }
+    };
+    var LRUCache = class _LRUCache {
+      // options that cannot be changed without disaster
+      #max;
+      #maxSize;
+      #dispose;
+      #onInsert;
+      #disposeAfter;
+      #fetchMethod;
+      #memoMethod;
       /**
-       * Creates a new `Timestamp` for the current time.
+       * {@link LRUCache.OptionsBase.ttl}
        */
-      now() {
-        const msg = this.create();
-        const ms = Date.now();
-        msg.seconds = runtime_6.PbLong.from(Math.floor(ms / 1e3)).toString();
-        msg.nanos = ms % 1e3 * 1e6;
-        return msg;
-      }
+      ttl;
       /**
-       * Converts a `Timestamp` to a JavaScript Date.
+       * {@link LRUCache.OptionsBase.ttlResolution}
        */
-      toDate(message) {
-        return new Date(runtime_6.PbLong.from(message.seconds).toNumber() * 1e3 + Math.ceil(message.nanos / 1e6));
-      }
+      ttlResolution;
       /**
-       * Converts a JavaScript Date to a `Timestamp`.
+       * {@link LRUCache.OptionsBase.ttlAutopurge}
        */
-      fromDate(date) {
-        const msg = this.create();
-        const ms = date.getTime();
-        msg.seconds = runtime_6.PbLong.from(Math.floor(ms / 1e3)).toString();
-        msg.nanos = ms % 1e3 * 1e6;
-        return msg;
-      }
+      ttlAutopurge;
       /**
-       * In JSON format, the `Timestamp` type is encoded as a string
-       * in the RFC 3339 format.
+       * {@link LRUCache.OptionsBase.updateAgeOnGet}
        */
-      internalJsonWrite(message, options) {
-        let ms = runtime_6.PbLong.from(message.seconds).toNumber() * 1e3;
-        if (ms < Date.parse("0001-01-01T00:00:00Z") || ms > Date.parse("9999-12-31T23:59:59Z"))
-          throw new Error("Unable to encode Timestamp to JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.");
-        if (message.nanos < 0)
-          throw new Error("Unable to encode invalid Timestamp to JSON. Nanos must not be negative.");
-        let z = "Z";
-        if (message.nanos > 0) {
-          let nanosStr = (message.nanos + 1e9).toString().substring(1);
-          if (nanosStr.substring(3) === "000000")
-            z = "." + nanosStr.substring(0, 3) + "Z";
-          else if (nanosStr.substring(6) === "000")
-            z = "." + nanosStr.substring(0, 6) + "Z";
-          else
-            z = "." + nanosStr + "Z";
-        }
-        return new Date(ms).toISOString().replace(".000Z", z);
-      }
+      updateAgeOnGet;
       /**
-       * In JSON format, the `Timestamp` type is encoded as a string
-       * in the RFC 3339 format.
+       * {@link LRUCache.OptionsBase.updateAgeOnHas}
        */
-      internalJsonRead(json2, options, target) {
-        if (typeof json2 !== "string")
-          throw new Error("Unable to parse Timestamp from JSON " + (0, runtime_5.typeofJsonValue)(json2) + ".");
-        let matches = json2.match(/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(?:Z|\.([0-9]{3,9})Z|([+-][0-9][0-9]:[0-9][0-9]))$/);
-        if (!matches)
-          throw new Error("Unable to parse Timestamp from JSON. Invalid format.");
-        let ms = Date.parse(matches[1] + "-" + matches[2] + "-" + matches[3] + "T" + matches[4] + ":" + matches[5] + ":" + matches[6] + (matches[8] ? matches[8] : "Z"));
-        if (Number.isNaN(ms))
-          throw new Error("Unable to parse Timestamp from JSON. Invalid value.");
-        if (ms < Date.parse("0001-01-01T00:00:00Z") || ms > Date.parse("9999-12-31T23:59:59Z"))
-          throw new globalThis.Error("Unable to parse Timestamp from JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.");
-        if (!target)
-          target = this.create();
-        target.seconds = runtime_6.PbLong.from(ms / 1e3).toString();
-        target.nanos = 0;
-        if (matches[7])
-          target.nanos = parseInt("1" + matches[7] + "0".repeat(9 - matches[7].length)) - 1e9;
-        return target;
-      }
-      create(value) {
-        const message = { seconds: "0", nanos: 0 };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* int64 seconds */
-            1:
-              message.seconds = reader.int64().toString();
-              break;
-            case /* int32 nanos */
-            2:
-              message.nanos = reader.int32();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.seconds !== "0")
-          writer.tag(1, runtime_1.WireType.Varint).int64(message.seconds);
-        if (message.nanos !== 0)
-          writer.tag(2, runtime_1.WireType.Varint).int32(message.nanos);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.Timestamp = new Timestamp$Type();
-  }
-});
-
-// node_modules/@actions/artifact/lib/generated/google/protobuf/wrappers.js
-var require_wrappers = __commonJS({
-  "node_modules/@actions/artifact/lib/generated/google/protobuf/wrappers.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BytesValue = exports2.StringValue = exports2.BoolValue = exports2.UInt32Value = exports2.Int32Value = exports2.UInt64Value = exports2.Int64Value = exports2.FloatValue = exports2.DoubleValue = void 0;
-    var runtime_1 = require_commonjs16();
-    var runtime_2 = require_commonjs16();
-    var runtime_3 = require_commonjs16();
-    var runtime_4 = require_commonjs16();
-    var runtime_5 = require_commonjs16();
-    var runtime_6 = require_commonjs16();
-    var runtime_7 = require_commonjs16();
-    var DoubleValue$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.DoubleValue", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 1
-            /*ScalarType.DOUBLE*/
-          }
-        ]);
+      updateAgeOnHas;
+      /**
+       * {@link LRUCache.OptionsBase.allowStale}
+       */
+      allowStale;
+      /**
+       * {@link LRUCache.OptionsBase.noDisposeOnSet}
+       */
+      noDisposeOnSet;
+      /**
+       * {@link LRUCache.OptionsBase.noUpdateTTL}
+       */
+      noUpdateTTL;
+      /**
+       * {@link LRUCache.OptionsBase.maxEntrySize}
+       */
+      maxEntrySize;
+      /**
+       * {@link LRUCache.OptionsBase.sizeCalculation}
+       */
+      sizeCalculation;
+      /**
+       * {@link LRUCache.OptionsBase.noDeleteOnFetchRejection}
+       */
+      noDeleteOnFetchRejection;
+      /**
+       * {@link LRUCache.OptionsBase.noDeleteOnStaleGet}
+       */
+      noDeleteOnStaleGet;
+      /**
+       * {@link LRUCache.OptionsBase.allowStaleOnFetchAbort}
+       */
+      allowStaleOnFetchAbort;
+      /**
+       * {@link LRUCache.OptionsBase.allowStaleOnFetchRejection}
+       */
+      allowStaleOnFetchRejection;
+      /**
+       * {@link LRUCache.OptionsBase.ignoreFetchAbort}
+       */
+      ignoreFetchAbort;
+      // computed properties
+      #size;
+      #calculatedSize;
+      #keyMap;
+      #keyList;
+      #valList;
+      #next;
+      #prev;
+      #head;
+      #tail;
+      #free;
+      #disposed;
+      #sizes;
+      #starts;
+      #ttls;
+      #hasDispose;
+      #hasFetchMethod;
+      #hasDisposeAfter;
+      #hasOnInsert;
+      /**
+       * Do not call this method unless you need to inspect the
+       * inner workings of the cache.  If anything returned by this
+       * object is modified in any way, strange breakage may occur.
+       *
+       * These fields are private for a reason!
+       *
+       * @internal
+       */
+      static unsafeExposeInternals(c) {
+        return {
+          // properties
+          starts: c.#starts,
+          ttls: c.#ttls,
+          sizes: c.#sizes,
+          keyMap: c.#keyMap,
+          keyList: c.#keyList,
+          valList: c.#valList,
+          next: c.#next,
+          prev: c.#prev,
+          get head() {
+            return c.#head;
+          },
+          get tail() {
+            return c.#tail;
+          },
+          free: c.#free,
+          // methods
+          isBackgroundFetch: (p) => c.#isBackgroundFetch(p),
+          backgroundFetch: (k, index, options, context2) => c.#backgroundFetch(k, index, options, context2),
+          moveToTail: (index) => c.#moveToTail(index),
+          indexes: (options) => c.#indexes(options),
+          rindexes: (options) => c.#rindexes(options),
+          isStale: (index) => c.#isStale(index)
+        };
       }
+      // Protected read-only members
       /**
-       * Encode `DoubleValue` to JSON number.
+       * {@link LRUCache.OptionsBase.max} (read-only)
        */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(2, message.value, "value", false, true);
+      get max() {
+        return this.#max;
       }
       /**
-       * Decode `DoubleValue` from JSON number.
+       * {@link LRUCache.OptionsBase.maxSize} (read-only)
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 1, void 0, "value");
-        return target;
+      get maxSize() {
+        return this.#maxSize;
       }
-      create(value) {
-        const message = { value: 0 };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
+      /**
+       * The total computed size of items in the cache (read-only)
+       */
+      get calculatedSize() {
+        return this.#calculatedSize;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* double value */
-            1:
-              message.value = reader.double();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
+      /**
+       * The number of items stored in the cache (read-only)
+       */
+      get size() {
+        return this.#size;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== 0)
-          writer.tag(1, runtime_3.WireType.Bit64).double(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      /**
+       * {@link LRUCache.OptionsBase.fetchMethod} (read-only)
+       */
+      get fetchMethod() {
+        return this.#fetchMethod;
       }
-    };
-    exports2.DoubleValue = new DoubleValue$Type();
-    var FloatValue$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.FloatValue", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 2
-            /*ScalarType.FLOAT*/
-          }
-        ]);
+      get memoMethod() {
+        return this.#memoMethod;
       }
       /**
-       * Encode `FloatValue` to JSON number.
+       * {@link LRUCache.OptionsBase.dispose} (read-only)
        */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(1, message.value, "value", false, true);
+      get dispose() {
+        return this.#dispose;
       }
       /**
-       * Decode `FloatValue` from JSON number.
+       * {@link LRUCache.OptionsBase.onInsert} (read-only)
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 1, void 0, "value");
-        return target;
+      get onInsert() {
+        return this.#onInsert;
       }
-      create(value) {
-        const message = { value: 0 };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
+      /**
+       * {@link LRUCache.OptionsBase.disposeAfter} (read-only)
+       */
+      get disposeAfter() {
+        return this.#disposeAfter;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* float value */
-            1:
-              message.value = reader.float();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      constructor(options) {
+        const { max = 0, ttl, ttlResolution = 1, ttlAutopurge, updateAgeOnGet, updateAgeOnHas, allowStale, dispose, onInsert, disposeAfter, noDisposeOnSet, noUpdateTTL, maxSize = 0, maxEntrySize = 0, sizeCalculation, fetchMethod, memoMethod, noDeleteOnFetchRejection, noDeleteOnStaleGet, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort } = options;
+        if (max !== 0 && !isPosInt(max)) {
+          throw new TypeError("max option must be a nonnegative integer");
+        }
+        const UintArray = max ? getUintArray(max) : Array;
+        if (!UintArray) {
+          throw new Error("invalid max value: " + max);
+        }
+        this.#max = max;
+        this.#maxSize = maxSize;
+        this.maxEntrySize = maxEntrySize || this.#maxSize;
+        this.sizeCalculation = sizeCalculation;
+        if (this.sizeCalculation) {
+          if (!this.#maxSize && !this.maxEntrySize) {
+            throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");
+          }
+          if (typeof this.sizeCalculation !== "function") {
+            throw new TypeError("sizeCalculation set to non-function");
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== 0)
-          writer.tag(1, runtime_3.WireType.Bit32).float(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.FloatValue = new FloatValue$Type();
-    var Int64Value$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.Int64Value", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
+        if (memoMethod !== void 0 && typeof memoMethod !== "function") {
+          throw new TypeError("memoMethod must be a function if defined");
+        }
+        this.#memoMethod = memoMethod;
+        if (fetchMethod !== void 0 && typeof fetchMethod !== "function") {
+          throw new TypeError("fetchMethod must be a function if specified");
+        }
+        this.#fetchMethod = fetchMethod;
+        this.#hasFetchMethod = !!fetchMethod;
+        this.#keyMap = /* @__PURE__ */ new Map();
+        this.#keyList = new Array(max).fill(void 0);
+        this.#valList = new Array(max).fill(void 0);
+        this.#next = new UintArray(max);
+        this.#prev = new UintArray(max);
+        this.#head = 0;
+        this.#tail = 0;
+        this.#free = Stack.create(max);
+        this.#size = 0;
+        this.#calculatedSize = 0;
+        if (typeof dispose === "function") {
+          this.#dispose = dispose;
+        }
+        if (typeof onInsert === "function") {
+          this.#onInsert = onInsert;
+        }
+        if (typeof disposeAfter === "function") {
+          this.#disposeAfter = disposeAfter;
+          this.#disposed = [];
+        } else {
+          this.#disposeAfter = void 0;
+          this.#disposed = void 0;
+        }
+        this.#hasDispose = !!this.#dispose;
+        this.#hasOnInsert = !!this.#onInsert;
+        this.#hasDisposeAfter = !!this.#disposeAfter;
+        this.noDisposeOnSet = !!noDisposeOnSet;
+        this.noUpdateTTL = !!noUpdateTTL;
+        this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection;
+        this.allowStaleOnFetchRejection = !!allowStaleOnFetchRejection;
+        this.allowStaleOnFetchAbort = !!allowStaleOnFetchAbort;
+        this.ignoreFetchAbort = !!ignoreFetchAbort;
+        if (this.maxEntrySize !== 0) {
+          if (this.#maxSize !== 0) {
+            if (!isPosInt(this.#maxSize)) {
+              throw new TypeError("maxSize must be a positive integer if specified");
+            }
           }
-        ]);
+          if (!isPosInt(this.maxEntrySize)) {
+            throw new TypeError("maxEntrySize must be a positive integer if specified");
+          }
+          this.#initializeSizeTracking();
+        }
+        this.allowStale = !!allowStale;
+        this.noDeleteOnStaleGet = !!noDeleteOnStaleGet;
+        this.updateAgeOnGet = !!updateAgeOnGet;
+        this.updateAgeOnHas = !!updateAgeOnHas;
+        this.ttlResolution = isPosInt(ttlResolution) || ttlResolution === 0 ? ttlResolution : 1;
+        this.ttlAutopurge = !!ttlAutopurge;
+        this.ttl = ttl || 0;
+        if (this.ttl) {
+          if (!isPosInt(this.ttl)) {
+            throw new TypeError("ttl must be a positive integer if specified");
+          }
+          this.#initializeTTLTracking();
+        }
+        if (this.#max === 0 && this.ttl === 0 && this.#maxSize === 0) {
+          throw new TypeError("At least one of max, maxSize, or ttl is required");
+        }
+        if (!this.ttlAutopurge && !this.#max && !this.#maxSize) {
+          const code = "LRU_CACHE_UNBOUNDED";
+          if (shouldWarn(code)) {
+            warned.add(code);
+            const msg = "TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.";
+            emitWarning(msg, "UnboundedCacheWarning", code, _LRUCache);
+          }
+        }
       }
       /**
-       * Encode `Int64Value` to JSON string.
+       * Return the number of ms left in the item's TTL. If item is not in cache,
+       * returns `0`. Returns `Infinity` if item is in cache without a defined TTL.
        */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(runtime_1.ScalarType.INT64, message.value, "value", false, true);
+      getRemainingTTL(key) {
+        return this.#keyMap.has(key) ? Infinity : 0;
       }
-      /**
-       * Decode `Int64Value` from JSON string.
-       */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, runtime_1.ScalarType.INT64, runtime_2.LongType.STRING, "value");
-        return target;
+      #initializeTTLTracking() {
+        const ttls = new ZeroArray(this.#max);
+        const starts = new ZeroArray(this.#max);
+        this.#ttls = ttls;
+        this.#starts = starts;
+        this.#setItemTTL = (index, ttl, start = perf.now()) => {
+          starts[index] = ttl !== 0 ? start : 0;
+          ttls[index] = ttl;
+          if (ttl !== 0 && this.ttlAutopurge) {
+            const t = setTimeout(() => {
+              if (this.#isStale(index)) {
+                this.#delete(this.#keyList[index], "expire");
+              }
+            }, ttl + 1);
+            if (t.unref) {
+              t.unref();
+            }
+          }
+        };
+        this.#updateItemAge = (index) => {
+          starts[index] = ttls[index] !== 0 ? perf.now() : 0;
+        };
+        this.#statusTTL = (status, index) => {
+          if (ttls[index]) {
+            const ttl = ttls[index];
+            const start = starts[index];
+            if (!ttl || !start)
+              return;
+            status.ttl = ttl;
+            status.start = start;
+            status.now = cachedNow || getNow();
+            const age = status.now - start;
+            status.remainingTTL = ttl - age;
+          }
+        };
+        let cachedNow = 0;
+        const getNow = () => {
+          const n = perf.now();
+          if (this.ttlResolution > 0) {
+            cachedNow = n;
+            const t = setTimeout(() => cachedNow = 0, this.ttlResolution);
+            if (t.unref) {
+              t.unref();
+            }
+          }
+          return n;
+        };
+        this.getRemainingTTL = (key) => {
+          const index = this.#keyMap.get(key);
+          if (index === void 0) {
+            return 0;
+          }
+          const ttl = ttls[index];
+          const start = starts[index];
+          if (!ttl || !start) {
+            return Infinity;
+          }
+          const age = (cachedNow || getNow()) - start;
+          return ttl - age;
+        };
+        this.#isStale = (index) => {
+          const s = starts[index];
+          const t = ttls[index];
+          return !!t && !!s && (cachedNow || getNow()) - s > t;
+        };
       }
-      create(value) {
-        const message = { value: "0" };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
+      // conditionally set private methods related to TTL
+      #updateItemAge = () => {
+      };
+      #statusTTL = () => {
+      };
+      #setItemTTL = () => {
+      };
+      /* c8 ignore stop */
+      #isStale = () => false;
+      #initializeSizeTracking() {
+        const sizes = new ZeroArray(this.#max);
+        this.#calculatedSize = 0;
+        this.#sizes = sizes;
+        this.#removeItemSize = (index) => {
+          this.#calculatedSize -= sizes[index];
+          sizes[index] = 0;
+        };
+        this.#requireSize = (k, v, size, sizeCalculation) => {
+          if (this.#isBackgroundFetch(v)) {
+            return 0;
+          }
+          if (!isPosInt(size)) {
+            if (sizeCalculation) {
+              if (typeof sizeCalculation !== "function") {
+                throw new TypeError("sizeCalculation must be a function");
+              }
+              size = sizeCalculation(v, k);
+              if (!isPosInt(size)) {
+                throw new TypeError("sizeCalculation return invalid (expect positive integer)");
+              }
+            } else {
+              throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");
+            }
+          }
+          return size;
+        };
+        this.#addItemSize = (index, size, status) => {
+          sizes[index] = size;
+          if (this.#maxSize) {
+            const maxSize = this.#maxSize - sizes[index];
+            while (this.#calculatedSize > maxSize) {
+              this.#evict(true);
+            }
+          }
+          this.#calculatedSize += sizes[index];
+          if (status) {
+            status.entrySize = size;
+            status.totalCalculatedSize = this.#calculatedSize;
+          }
+        };
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* int64 value */
-            1:
-              message.value = reader.int64().toString();
+      #removeItemSize = (_i) => {
+      };
+      #addItemSize = (_i, _s, _st) => {
+      };
+      #requireSize = (_k, _v, size, sizeCalculation) => {
+        if (size || sizeCalculation) {
+          throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");
+        }
+        return 0;
+      };
+      *#indexes({ allowStale = this.allowStale } = {}) {
+        if (this.#size) {
+          for (let i = this.#tail; true; ) {
+            if (!this.#isValidIndex(i)) {
               break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+            }
+            if (allowStale || !this.#isStale(i)) {
+              yield i;
+            }
+            if (i === this.#head) {
+              break;
+            } else {
+              i = this.#prev[i];
+            }
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== "0")
-          writer.tag(1, runtime_3.WireType.Varint).int64(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
       }
-    };
-    exports2.Int64Value = new Int64Value$Type();
-    var UInt64Value$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.UInt64Value", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 4
-            /*ScalarType.UINT64*/
+      *#rindexes({ allowStale = this.allowStale } = {}) {
+        if (this.#size) {
+          for (let i = this.#head; true; ) {
+            if (!this.#isValidIndex(i)) {
+              break;
+            }
+            if (allowStale || !this.#isStale(i)) {
+              yield i;
+            }
+            if (i === this.#tail) {
+              break;
+            } else {
+              i = this.#next[i];
+            }
           }
-        ]);
+        }
+      }
+      #isValidIndex(index) {
+        return index !== void 0 && this.#keyMap.get(this.#keyList[index]) === index;
       }
       /**
-       * Encode `UInt64Value` to JSON string.
+       * Return a generator yielding `[key, value]` pairs,
+       * in order from most recently used to least recently used.
        */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(runtime_1.ScalarType.UINT64, message.value, "value", false, true);
+      *entries() {
+        for (const i of this.#indexes()) {
+          if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield [this.#keyList[i], this.#valList[i]];
+          }
+        }
       }
       /**
-       * Decode `UInt64Value` from JSON string.
+       * Inverse order version of {@link LRUCache.entries}
+       *
+       * Return a generator yielding `[key, value]` pairs,
+       * in order from least recently used to most recently used.
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, runtime_1.ScalarType.UINT64, runtime_2.LongType.STRING, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: "0" };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* uint64 value */
-            1:
-              message.value = reader.uint64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      *rentries() {
+        for (const i of this.#rindexes()) {
+          if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield [this.#keyList[i], this.#valList[i]];
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== "0")
-          writer.tag(1, runtime_3.WireType.Varint).uint64(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
       }
-    };
-    exports2.UInt64Value = new UInt64Value$Type();
-    var Int32Value$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.Int32Value", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 5
-            /*ScalarType.INT32*/
+      /**
+       * Return a generator yielding the keys in the cache,
+       * in order from most recently used to least recently used.
+       */
+      *keys() {
+        for (const i of this.#indexes()) {
+          const k = this.#keyList[i];
+          if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield k;
           }
-        ]);
+        }
       }
       /**
-       * Encode `Int32Value` to JSON string.
+       * Inverse order version of {@link LRUCache.keys}
+       *
+       * Return a generator yielding the keys in the cache,
+       * in order from least recently used to most recently used.
        */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(5, message.value, "value", false, true);
+      *rkeys() {
+        for (const i of this.#rindexes()) {
+          const k = this.#keyList[i];
+          if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield k;
+          }
+        }
       }
       /**
-       * Decode `Int32Value` from JSON string.
+       * Return a generator yielding the values in the cache,
+       * in order from most recently used to least recently used.
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 5, void 0, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: 0 };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* int32 value */
-            1:
-              message.value = reader.int32();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      *values() {
+        for (const i of this.#indexes()) {
+          const v = this.#valList[i];
+          if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield this.#valList[i];
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== 0)
-          writer.tag(1, runtime_3.WireType.Varint).int32(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
       }
-    };
-    exports2.Int32Value = new Int32Value$Type();
-    var UInt32Value$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.UInt32Value", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 13
-            /*ScalarType.UINT32*/
+      /**
+       * Inverse order version of {@link LRUCache.values}
+       *
+       * Return a generator yielding the values in the cache,
+       * in order from least recently used to most recently used.
+       */
+      *rvalues() {
+        for (const i of this.#rindexes()) {
+          const v = this.#valList[i];
+          if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield this.#valList[i];
           }
-        ]);
+        }
       }
       /**
-       * Encode `UInt32Value` to JSON string.
+       * Iterating over the cache itself yields the same results as
+       * {@link LRUCache.entries}
        */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(13, message.value, "value", false, true);
+      [Symbol.iterator]() {
+        return this.entries();
       }
       /**
-       * Decode `UInt32Value` from JSON string.
+       * A String value that is used in the creation of the default string
+       * description of an object. Called by the built-in method
+       * `Object.prototype.toString`.
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 13, void 0, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: 0 };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* uint32 value */
-            1:
-              message.value = reader.uint32();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      [Symbol.toStringTag] = "LRUCache";
+      /**
+       * Find a value for which the supplied fn method returns a truthy value,
+       * similar to `Array.find()`. fn is called as `fn(value, key, cache)`.
+       */
+      find(fn, getOptions = {}) {
+        for (const i of this.#indexes()) {
+          const v = this.#valList[i];
+          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+          if (value === void 0)
+            continue;
+          if (fn(value, this.#keyList[i], this)) {
+            return this.get(this.#keyList[i], getOptions);
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== 0)
-          writer.tag(1, runtime_3.WireType.Varint).uint32(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.UInt32Value = new UInt32Value$Type();
-    var BoolValue$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.BoolValue", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          }
-        ]);
       }
       /**
-       * Encode `BoolValue` to JSON bool.
+       * Call the supplied function on each item in the cache, in order from most
+       * recently used to least recently used.
+       *
+       * `fn` is called as `fn(value, key, cache)`.
+       *
+       * If `thisp` is provided, function will be called in the `this`-context of
+       * the provided object, or the cache if no `thisp` object is provided.
+       *
+       * Does not update age or recenty of use, or iterate over stale values.
        */
-      internalJsonWrite(message, options) {
-        return message.value;
+      forEach(fn, thisp = this) {
+        for (const i of this.#indexes()) {
+          const v = this.#valList[i];
+          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+          if (value === void 0)
+            continue;
+          fn.call(thisp, value, this.#keyList[i], this);
+        }
       }
       /**
-       * Decode `BoolValue` from JSON bool.
+       * The same as {@link LRUCache.forEach} but items are iterated over in
+       * reverse order.  (ie, less recently used items are iterated over first.)
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 8, void 0, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: false };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
+      rforEach(fn, thisp = this) {
+        for (const i of this.#rindexes()) {
+          const v = this.#valList[i];
+          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+          if (value === void 0)
+            continue;
+          fn.call(thisp, value, this.#keyList[i], this);
+        }
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool value */
-            1:
-              message.value = reader.bool();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      /**
+       * Delete any stale entries. Returns true if anything was removed,
+       * false otherwise.
+       */
+      purgeStale() {
+        let deleted = false;
+        for (const i of this.#rindexes({ allowStale: true })) {
+          if (this.#isStale(i)) {
+            this.#delete(this.#keyList[i], "expire");
+            deleted = true;
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== false)
-          writer.tag(1, runtime_3.WireType.Varint).bool(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+        return deleted;
       }
-    };
-    exports2.BoolValue = new BoolValue$Type();
-    var StringValue$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.StringValue", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
+      /**
+       * Get the extended info about a given entry, to get its value, size, and
+       * TTL info simultaneously. Returns `undefined` if the key is not present.
+       *
+       * Unlike {@link LRUCache#dump}, which is designed to be portable and survive
+       * serialization, the `start` value is always the current timestamp, and the
+       * `ttl` is a calculated remaining time to live (negative if expired).
+       *
+       * Always returns stale values, if their info is found in the cache, so be
+       * sure to check for expirations (ie, a negative {@link LRUCache.Entry#ttl})
+       * if relevant.
+       */
+      info(key) {
+        const i = this.#keyMap.get(key);
+        if (i === void 0)
+          return void 0;
+        const v = this.#valList[i];
+        const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+        if (value === void 0)
+          return void 0;
+        const entry = { value };
+        if (this.#ttls && this.#starts) {
+          const ttl = this.#ttls[i];
+          const start = this.#starts[i];
+          if (ttl && start) {
+            const remain = ttl - (perf.now() - start);
+            entry.ttl = remain;
+            entry.start = Date.now();
           }
-        ]);
+        }
+        if (this.#sizes) {
+          entry.size = this.#sizes[i];
+        }
+        return entry;
       }
       /**
-       * Encode `StringValue` to JSON string.
+       * Return an array of [key, {@link LRUCache.Entry}] tuples which can be
+       * passed to {@link LRUCache#load}.
+       *
+       * The `start` fields are calculated relative to a portable `Date.now()`
+       * timestamp, even if `performance.now()` is available.
+       *
+       * Stale entries are always included in the `dump`, even if
+       * {@link LRUCache.OptionsBase.allowStale} is false.
+       *
+       * Note: this returns an actual array, not a generator, so it can be more
+       * easily passed around.
        */
-      internalJsonWrite(message, options) {
-        return message.value;
+      dump() {
+        const arr = [];
+        for (const i of this.#indexes({ allowStale: true })) {
+          const key = this.#keyList[i];
+          const v = this.#valList[i];
+          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+          if (value === void 0 || key === void 0)
+            continue;
+          const entry = { value };
+          if (this.#ttls && this.#starts) {
+            entry.ttl = this.#ttls[i];
+            const age = perf.now() - this.#starts[i];
+            entry.start = Math.floor(Date.now() - age);
+          }
+          if (this.#sizes) {
+            entry.size = this.#sizes[i];
+          }
+          arr.unshift([key, entry]);
+        }
+        return arr;
       }
       /**
-       * Decode `StringValue` from JSON string.
+       * Reset the cache and load in the items in entries in the order listed.
+       *
+       * The shape of the resulting cache may be different if the same options are
+       * not used in both caches.
+       *
+       * The `start` fields are assumed to be calculated relative to a portable
+       * `Date.now()` timestamp, even if `performance.now()` is available.
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 9, void 0, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: "" };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
+      load(arr) {
+        this.clear();
+        for (const [key, entry] of arr) {
+          if (entry.start) {
+            const age = Date.now() - entry.start;
+            entry.start = perf.now() - age;
+          }
+          this.set(key, entry.value, entry);
+        }
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string value */
-            1:
-              message.value = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      /**
+       * Add a value to the cache.
+       *
+       * Note: if `undefined` is specified as a value, this is an alias for
+       * {@link LRUCache#delete}
+       *
+       * Fields on the {@link LRUCache.SetOptions} options param will override
+       * their corresponding values in the constructor options for the scope
+       * of this single `set()` operation.
+       *
+       * If `start` is provided, then that will set the effective start
+       * time for the TTL calculation. Note that this must be a previous
+       * value of `performance.now()` if supported, or a previous value of
+       * `Date.now()` if not.
+       *
+       * Options object may also include `size`, which will prevent
+       * calling the `sizeCalculation` function and just use the specified
+       * number if it is a positive integer, and `noDisposeOnSet` which
+       * will prevent calling a `dispose` function in the case of
+       * overwrites.
+       *
+       * If the `size` (or return value of `sizeCalculation`) for a given
+       * entry is greater than `maxEntrySize`, then the item will not be
+       * added to the cache.
+       *
+       * Will update the recency of the entry.
+       *
+       * If the value is `undefined`, then this is an alias for
+       * `cache.delete(key)`. `undefined` is never stored in the cache.
+       */
+      set(k, v, setOptions = {}) {
+        if (v === void 0) {
+          this.delete(k);
+          return this;
+        }
+        const { ttl = this.ttl, start, noDisposeOnSet = this.noDisposeOnSet, sizeCalculation = this.sizeCalculation, status } = setOptions;
+        let { noUpdateTTL = this.noUpdateTTL } = setOptions;
+        const size = this.#requireSize(k, v, setOptions.size || 0, sizeCalculation);
+        if (this.maxEntrySize && size > this.maxEntrySize) {
+          if (status) {
+            status.set = "miss";
+            status.maxEntrySizeExceeded = true;
           }
+          this.#delete(k, "set");
+          return this;
         }
-        return message;
+        let index = this.#size === 0 ? void 0 : this.#keyMap.get(k);
+        if (index === void 0) {
+          index = this.#size === 0 ? this.#tail : this.#free.length !== 0 ? this.#free.pop() : this.#size === this.#max ? this.#evict(false) : this.#size;
+          this.#keyList[index] = k;
+          this.#valList[index] = v;
+          this.#keyMap.set(k, index);
+          this.#next[this.#tail] = index;
+          this.#prev[index] = this.#tail;
+          this.#tail = index;
+          this.#size++;
+          this.#addItemSize(index, size, status);
+          if (status)
+            status.set = "add";
+          noUpdateTTL = false;
+          if (this.#hasOnInsert) {
+            this.#onInsert?.(v, k, "add");
+          }
+        } else {
+          this.#moveToTail(index);
+          const oldVal = this.#valList[index];
+          if (v !== oldVal) {
+            if (this.#hasFetchMethod && this.#isBackgroundFetch(oldVal)) {
+              oldVal.__abortController.abort(new Error("replaced"));
+              const { __staleWhileFetching: s } = oldVal;
+              if (s !== void 0 && !noDisposeOnSet) {
+                if (this.#hasDispose) {
+                  this.#dispose?.(s, k, "set");
+                }
+                if (this.#hasDisposeAfter) {
+                  this.#disposed?.push([s, k, "set"]);
+                }
+              }
+            } else if (!noDisposeOnSet) {
+              if (this.#hasDispose) {
+                this.#dispose?.(oldVal, k, "set");
+              }
+              if (this.#hasDisposeAfter) {
+                this.#disposed?.push([oldVal, k, "set"]);
+              }
+            }
+            this.#removeItemSize(index);
+            this.#addItemSize(index, size, status);
+            this.#valList[index] = v;
+            if (status) {
+              status.set = "replace";
+              const oldValue = oldVal && this.#isBackgroundFetch(oldVal) ? oldVal.__staleWhileFetching : oldVal;
+              if (oldValue !== void 0)
+                status.oldValue = oldValue;
+            }
+          } else if (status) {
+            status.set = "update";
+          }
+          if (this.#hasOnInsert) {
+            this.onInsert?.(v, k, v === oldVal ? "update" : "replace");
+          }
+        }
+        if (ttl !== 0 && !this.#ttls) {
+          this.#initializeTTLTracking();
+        }
+        if (this.#ttls) {
+          if (!noUpdateTTL) {
+            this.#setItemTTL(index, ttl, start);
+          }
+          if (status)
+            this.#statusTTL(status, index);
+        }
+        if (!noDisposeOnSet && this.#hasDisposeAfter && this.#disposed) {
+          const dt = this.#disposed;
+          let task;
+          while (task = dt?.shift()) {
+            this.#disposeAfter?.(...task);
+          }
+        }
+        return this;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== "")
-          writer.tag(1, runtime_3.WireType.LengthDelimited).string(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      /**
+       * Evict the least recently used item, returning its value or
+       * `undefined` if cache is empty.
+       */
+      pop() {
+        try {
+          while (this.#size) {
+            const val = this.#valList[this.#head];
+            this.#evict(true);
+            if (this.#isBackgroundFetch(val)) {
+              if (val.__staleWhileFetching) {
+                return val.__staleWhileFetching;
+              }
+            } else if (val !== void 0) {
+              return val;
+            }
+          }
+        } finally {
+          if (this.#hasDisposeAfter && this.#disposed) {
+            const dt = this.#disposed;
+            let task;
+            while (task = dt?.shift()) {
+              this.#disposeAfter?.(...task);
+            }
+          }
+        }
       }
-    };
-    exports2.StringValue = new StringValue$Type();
-    var BytesValue$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.BytesValue", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 12
-            /*ScalarType.BYTES*/
+      #evict(free) {
+        const head = this.#head;
+        const k = this.#keyList[head];
+        const v = this.#valList[head];
+        if (this.#hasFetchMethod && this.#isBackgroundFetch(v)) {
+          v.__abortController.abort(new Error("evicted"));
+        } else if (this.#hasDispose || this.#hasDisposeAfter) {
+          if (this.#hasDispose) {
+            this.#dispose?.(v, k, "evict");
           }
-        ]);
+          if (this.#hasDisposeAfter) {
+            this.#disposed?.push([v, k, "evict"]);
+          }
+        }
+        this.#removeItemSize(head);
+        if (free) {
+          this.#keyList[head] = void 0;
+          this.#valList[head] = void 0;
+          this.#free.push(head);
+        }
+        if (this.#size === 1) {
+          this.#head = this.#tail = 0;
+          this.#free.length = 0;
+        } else {
+          this.#head = this.#next[head];
+        }
+        this.#keyMap.delete(k);
+        this.#size--;
+        return head;
       }
       /**
-       * Encode `BytesValue` to JSON string.
+       * Check if a key is in the cache, without updating the recency of use.
+       * Will return false if the item is stale, even though it is technically
+       * in the cache.
+       *
+       * Check if a key is in the cache, without updating the recency of
+       * use. Age is updated if {@link LRUCache.OptionsBase.updateAgeOnHas} is set
+       * to `true` in either the options or the constructor.
+       *
+       * Will return `false` if the item is stale, even though it is technically in
+       * the cache. The difference can be determined (if it matters) by using a
+       * `status` argument, and inspecting the `has` field.
+       *
+       * Will not update item age unless
+       * {@link LRUCache.OptionsBase.updateAgeOnHas} is set.
        */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(12, message.value, "value", false, true);
+      has(k, hasOptions = {}) {
+        const { updateAgeOnHas = this.updateAgeOnHas, status } = hasOptions;
+        const index = this.#keyMap.get(k);
+        if (index !== void 0) {
+          const v = this.#valList[index];
+          if (this.#isBackgroundFetch(v) && v.__staleWhileFetching === void 0) {
+            return false;
+          }
+          if (!this.#isStale(index)) {
+            if (updateAgeOnHas) {
+              this.#updateItemAge(index);
+            }
+            if (status) {
+              status.has = "hit";
+              this.#statusTTL(status, index);
+            }
+            return true;
+          } else if (status) {
+            status.has = "stale";
+            this.#statusTTL(status, index);
+          }
+        } else if (status) {
+          status.has = "miss";
+        }
+        return false;
       }
       /**
-       * Decode `BytesValue` from JSON string.
+       * Like {@link LRUCache#get} but doesn't update recency or delete stale
+       * items.
+       *
+       * Returns `undefined` if the item is stale, unless
+       * {@link LRUCache.OptionsBase.allowStale} is set.
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 12, void 0, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: new Uint8Array(0) };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
+      peek(k, peekOptions = {}) {
+        const { allowStale = this.allowStale } = peekOptions;
+        const index = this.#keyMap.get(k);
+        if (index === void 0 || !allowStale && this.#isStale(index)) {
+          return;
+        }
+        const v = this.#valList[index];
+        return this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bytes value */
-            1:
-              message.value = reader.bytes();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      #backgroundFetch(k, index, options, context2) {
+        const v = index === void 0 ? void 0 : this.#valList[index];
+        if (this.#isBackgroundFetch(v)) {
+          return v;
+        }
+        const ac = new AC();
+        const { signal } = options;
+        signal?.addEventListener("abort", () => ac.abort(signal.reason), {
+          signal: ac.signal
+        });
+        const fetchOpts = {
+          signal: ac.signal,
+          options,
+          context: context2
+        };
+        const cb = (v2, updateCache = false) => {
+          const { aborted } = ac.signal;
+          const ignoreAbort = options.ignoreFetchAbort && v2 !== void 0;
+          if (options.status) {
+            if (aborted && !updateCache) {
+              options.status.fetchAborted = true;
+              options.status.fetchError = ac.signal.reason;
+              if (ignoreAbort)
+                options.status.fetchAbortIgnored = true;
+            } else {
+              options.status.fetchResolved = true;
+            }
+          }
+          if (aborted && !ignoreAbort && !updateCache) {
+            return fetchFail(ac.signal.reason);
+          }
+          const bf2 = p;
+          if (this.#valList[index] === p) {
+            if (v2 === void 0) {
+              if (bf2.__staleWhileFetching) {
+                this.#valList[index] = bf2.__staleWhileFetching;
+              } else {
+                this.#delete(k, "fetch");
+              }
+            } else {
+              if (options.status)
+                options.status.fetchUpdated = true;
+              this.set(k, v2, fetchOpts.options);
+            }
+          }
+          return v2;
+        };
+        const eb = (er) => {
+          if (options.status) {
+            options.status.fetchRejected = true;
+            options.status.fetchError = er;
+          }
+          return fetchFail(er);
+        };
+        const fetchFail = (er) => {
+          const { aborted } = ac.signal;
+          const allowStaleAborted = aborted && options.allowStaleOnFetchAbort;
+          const allowStale = allowStaleAborted || options.allowStaleOnFetchRejection;
+          const noDelete = allowStale || options.noDeleteOnFetchRejection;
+          const bf2 = p;
+          if (this.#valList[index] === p) {
+            const del = !noDelete || bf2.__staleWhileFetching === void 0;
+            if (del) {
+              this.#delete(k, "fetch");
+            } else if (!allowStaleAborted) {
+              this.#valList[index] = bf2.__staleWhileFetching;
+            }
+          }
+          if (allowStale) {
+            if (options.status && bf2.__staleWhileFetching !== void 0) {
+              options.status.returnedStale = true;
+            }
+            return bf2.__staleWhileFetching;
+          } else if (bf2.__returned === bf2) {
+            throw er;
+          }
+        };
+        const pcall = (res, rej) => {
+          const fmp = this.#fetchMethod?.(k, v, fetchOpts);
+          if (fmp && fmp instanceof Promise) {
+            fmp.then((v2) => res(v2 === void 0 ? void 0 : v2), rej);
           }
+          ac.signal.addEventListener("abort", () => {
+            if (!options.ignoreFetchAbort || options.allowStaleOnFetchAbort) {
+              res(void 0);
+              if (options.allowStaleOnFetchAbort) {
+                res = (v2) => cb(v2, true);
+              }
+            }
+          });
+        };
+        if (options.status)
+          options.status.fetchDispatched = true;
+        const p = new Promise(pcall).then(cb, eb);
+        const bf = Object.assign(p, {
+          __abortController: ac,
+          __staleWhileFetching: v,
+          __returned: void 0
+        });
+        if (index === void 0) {
+          this.set(k, bf, { ...fetchOpts.options, status: void 0 });
+          index = this.#keyMap.get(k);
+        } else {
+          this.#valList[index] = bf;
         }
-        return message;
+        return bf;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value.length)
-          writer.tag(1, runtime_3.WireType.LengthDelimited).bytes(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      #isBackgroundFetch(p) {
+        if (!this.#hasFetchMethod)
+          return false;
+        const b = p;
+        return !!b && b instanceof Promise && b.hasOwnProperty("__staleWhileFetching") && b.__abortController instanceof AC;
       }
-    };
-    exports2.BytesValue = new BytesValue$Type();
-  }
-});
-
-// node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.js
-var require_artifact = __commonJS({
-  "node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ArtifactService = exports2.DeleteArtifactResponse = exports2.DeleteArtifactRequest = exports2.GetSignedArtifactURLResponse = exports2.GetSignedArtifactURLRequest = exports2.ListArtifactsResponse_MonolithArtifact = exports2.ListArtifactsResponse = exports2.ListArtifactsRequest = exports2.FinalizeArtifactResponse = exports2.FinalizeArtifactRequest = exports2.CreateArtifactResponse = exports2.CreateArtifactRequest = exports2.FinalizeMigratedArtifactResponse = exports2.FinalizeMigratedArtifactRequest = exports2.MigrateArtifactResponse = exports2.MigrateArtifactRequest = void 0;
-    var runtime_rpc_1 = require_commonjs17();
-    var runtime_1 = require_commonjs16();
-    var runtime_2 = require_commonjs16();
-    var runtime_3 = require_commonjs16();
-    var runtime_4 = require_commonjs16();
-    var runtime_5 = require_commonjs16();
-    var wrappers_1 = require_wrappers();
-    var wrappers_2 = require_wrappers();
-    var timestamp_1 = require_timestamp();
-    var MigrateArtifactRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.MigrateArtifactRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          { no: 3, name: "expires_at", kind: "message", T: () => timestamp_1.Timestamp }
-        ]);
+      async fetch(k, fetchOptions = {}) {
+        const {
+          // get options
+          allowStale = this.allowStale,
+          updateAgeOnGet = this.updateAgeOnGet,
+          noDeleteOnStaleGet = this.noDeleteOnStaleGet,
+          // set options
+          ttl = this.ttl,
+          noDisposeOnSet = this.noDisposeOnSet,
+          size = 0,
+          sizeCalculation = this.sizeCalculation,
+          noUpdateTTL = this.noUpdateTTL,
+          // fetch exclusive options
+          noDeleteOnFetchRejection = this.noDeleteOnFetchRejection,
+          allowStaleOnFetchRejection = this.allowStaleOnFetchRejection,
+          ignoreFetchAbort = this.ignoreFetchAbort,
+          allowStaleOnFetchAbort = this.allowStaleOnFetchAbort,
+          context: context2,
+          forceRefresh = false,
+          status,
+          signal
+        } = fetchOptions;
+        if (!this.#hasFetchMethod) {
+          if (status)
+            status.fetch = "get";
+          return this.get(k, {
+            allowStale,
+            updateAgeOnGet,
+            noDeleteOnStaleGet,
+            status
+          });
+        }
+        const options = {
+          allowStale,
+          updateAgeOnGet,
+          noDeleteOnStaleGet,
+          ttl,
+          noDisposeOnSet,
+          size,
+          sizeCalculation,
+          noUpdateTTL,
+          noDeleteOnFetchRejection,
+          allowStaleOnFetchRejection,
+          allowStaleOnFetchAbort,
+          ignoreFetchAbort,
+          status,
+          signal
+        };
+        let index = this.#keyMap.get(k);
+        if (index === void 0) {
+          if (status)
+            status.fetch = "miss";
+          const p = this.#backgroundFetch(k, index, options, context2);
+          return p.__returned = p;
+        } else {
+          const v = this.#valList[index];
+          if (this.#isBackgroundFetch(v)) {
+            const stale = allowStale && v.__staleWhileFetching !== void 0;
+            if (status) {
+              status.fetch = "inflight";
+              if (stale)
+                status.returnedStale = true;
+            }
+            return stale ? v.__staleWhileFetching : v.__returned = v;
+          }
+          const isStale = this.#isStale(index);
+          if (!forceRefresh && !isStale) {
+            if (status)
+              status.fetch = "hit";
+            this.#moveToTail(index);
+            if (updateAgeOnGet) {
+              this.#updateItemAge(index);
+            }
+            if (status)
+              this.#statusTTL(status, index);
+            return v;
+          }
+          const p = this.#backgroundFetch(k, index, options, context2);
+          const hasStale = p.__staleWhileFetching !== void 0;
+          const staleVal = hasStale && allowStale;
+          if (status) {
+            status.fetch = isStale ? "stale" : "refresh";
+            if (staleVal && isStale)
+              status.returnedStale = true;
+          }
+          return staleVal ? p.__staleWhileFetching : p.__returned = p;
+        }
       }
-      create(value) {
-        const message = { workflowRunBackendId: "", name: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      async forceFetch(k, fetchOptions = {}) {
+        const v = await this.fetch(k, fetchOptions);
+        if (v === void 0)
+          throw new Error("fetch() returned undefined");
+        return v;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string name */
-            2:
-              message.name = reader.string();
-              break;
-            case /* google.protobuf.Timestamp expires_at */
-            3:
-              message.expiresAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expiresAt);
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      memo(k, memoOptions = {}) {
+        const memoMethod = this.#memoMethod;
+        if (!memoMethod) {
+          throw new Error("no memoMethod provided to constructor");
+        }
+        const { context: context2, forceRefresh, ...options } = memoOptions;
+        const v = this.get(k, options);
+        if (!forceRefresh && v !== void 0)
+          return v;
+        const vv = memoMethod(k, v, {
+          options,
+          context: context2
+        });
+        this.set(k, vv, options);
+        return vv;
+      }
+      /**
+       * Return a value from the cache. Will update the recency of the cache
+       * entry found.
+       *
+       * If the key is not found, get() will return `undefined`.
+       */
+      get(k, getOptions = {}) {
+        const { allowStale = this.allowStale, updateAgeOnGet = this.updateAgeOnGet, noDeleteOnStaleGet = this.noDeleteOnStaleGet, status } = getOptions;
+        const index = this.#keyMap.get(k);
+        if (index !== void 0) {
+          const value = this.#valList[index];
+          const fetching = this.#isBackgroundFetch(value);
+          if (status)
+            this.#statusTTL(status, index);
+          if (this.#isStale(index)) {
+            if (status)
+              status.get = "stale";
+            if (!fetching) {
+              if (!noDeleteOnStaleGet) {
+                this.#delete(k, "expire");
+              }
+              if (status && allowStale)
+                status.returnedStale = true;
+              return allowStale ? value : void 0;
+            } else {
+              if (status && allowStale && value.__staleWhileFetching !== void 0) {
+                status.returnedStale = true;
+              }
+              return allowStale ? value.__staleWhileFetching : void 0;
+            }
+          } else {
+            if (status)
+              status.get = "hit";
+            if (fetching) {
+              return value.__staleWhileFetching;
+            }
+            this.#moveToTail(index);
+            if (updateAgeOnGet) {
+              this.#updateItemAge(index);
+            }
+            return value;
           }
+        } else if (status) {
+          status.get = "miss";
         }
-        return message;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.name !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.name);
-        if (message.expiresAt)
-          timestamp_1.Timestamp.internalBinaryWrite(message.expiresAt, writer.tag(3, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      #connect(p, n) {
+        this.#prev[n] = p;
+        this.#next[p] = n;
       }
-    };
-    exports2.MigrateArtifactRequest = new MigrateArtifactRequest$Type();
-    var MigrateArtifactResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.MigrateArtifactResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "signed_upload_url",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
+      #moveToTail(index) {
+        if (index !== this.#tail) {
+          if (index === this.#head) {
+            this.#head = this.#next[index];
+          } else {
+            this.#connect(this.#prev[index], this.#next[index]);
           }
-        ]);
+          this.#connect(this.#tail, index);
+          this.#tail = index;
+        }
       }
-      create(value) {
-        const message = { ok: false, signedUploadUrl: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      /**
+       * Deletes a key out of the cache.
+       *
+       * Returns true if the key was deleted, false otherwise.
+       */
+      delete(k) {
+        return this.#delete(k, "delete");
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* string signed_upload_url */
-            2:
-              message.signedUploadUrl = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      #delete(k, reason) {
+        let deleted = false;
+        if (this.#size !== 0) {
+          const index = this.#keyMap.get(k);
+          if (index !== void 0) {
+            deleted = true;
+            if (this.#size === 1) {
+              this.#clear(reason);
+            } else {
+              this.#removeItemSize(index);
+              const v = this.#valList[index];
+              if (this.#isBackgroundFetch(v)) {
+                v.__abortController.abort(new Error("deleted"));
+              } else if (this.#hasDispose || this.#hasDisposeAfter) {
+                if (this.#hasDispose) {
+                  this.#dispose?.(v, k, reason);
+                }
+                if (this.#hasDisposeAfter) {
+                  this.#disposed?.push([v, k, reason]);
+                }
+              }
+              this.#keyMap.delete(k);
+              this.#keyList[index] = void 0;
+              this.#valList[index] = void 0;
+              if (index === this.#tail) {
+                this.#tail = this.#prev[index];
+              } else if (index === this.#head) {
+                this.#head = this.#next[index];
+              } else {
+                const pi = this.#prev[index];
+                this.#next[pi] = this.#next[index];
+                const ni = this.#next[index];
+                this.#prev[ni] = this.#prev[index];
+              }
+              this.#size--;
+              this.#free.push(index);
+            }
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.signedUploadUrl !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.MigrateArtifactResponse = new MigrateArtifactResponse$Type();
-    var FinalizeMigratedArtifactRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.FinalizeMigratedArtifactRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "size",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
+        if (this.#hasDisposeAfter && this.#disposed?.length) {
+          const dt = this.#disposed;
+          let task;
+          while (task = dt?.shift()) {
+            this.#disposeAfter?.(...task);
           }
-        ]);
+        }
+        return deleted;
       }
-      create(value) {
-        const message = { workflowRunBackendId: "", name: "", size: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      /**
+       * Clear the cache entirely, throwing away all values.
+       */
+      clear() {
+        return this.#clear("delete");
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string name */
-            2:
-              message.name = reader.string();
-              break;
-            case /* int64 size */
-            3:
-              message.size = reader.int64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      #clear(reason) {
+        for (const index of this.#rindexes({ allowStale: true })) {
+          const v = this.#valList[index];
+          if (this.#isBackgroundFetch(v)) {
+            v.__abortController.abort(new Error("deleted"));
+          } else {
+            const k = this.#keyList[index];
+            if (this.#hasDispose) {
+              this.#dispose?.(v, k, reason);
+            }
+            if (this.#hasDisposeAfter) {
+              this.#disposed?.push([v, k, reason]);
+            }
+          }
+        }
+        this.#keyMap.clear();
+        this.#valList.fill(void 0);
+        this.#keyList.fill(void 0);
+        if (this.#ttls && this.#starts) {
+          this.#ttls.fill(0);
+          this.#starts.fill(0);
+        }
+        if (this.#sizes) {
+          this.#sizes.fill(0);
+        }
+        this.#head = 0;
+        this.#tail = 0;
+        this.#free.length = 0;
+        this.#calculatedSize = 0;
+        this.#size = 0;
+        if (this.#hasDisposeAfter && this.#disposed) {
+          const dt = this.#disposed;
+          let task;
+          while (task = dt?.shift()) {
+            this.#disposeAfter?.(...task);
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.name !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.name);
-        if (message.size !== "0")
-          writer.tag(3, runtime_1.WireType.Varint).int64(message.size);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
       }
     };
-    exports2.FinalizeMigratedArtifactRequest = new FinalizeMigratedArtifactRequest$Type();
-    var FinalizeMigratedArtifactResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.FinalizeMigratedArtifactResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "artifact_id",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          }
-        ]);
+    exports2.LRUCache = LRUCache;
+  }
+});
+
+// node_modules/minipass/dist/commonjs/index.js
+var require_commonjs22 = __commonJS({
+  "node_modules/minipass/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
+      return mod && mod.__esModule ? mod : { "default": mod };
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Minipass = exports2.isWritable = exports2.isReadable = exports2.isStream = void 0;
+    var proc = typeof process === "object" && process ? process : {
+      stdout: null,
+      stderr: null
+    };
+    var node_events_1 = require("node:events");
+    var node_stream_1 = __importDefault2(require("node:stream"));
+    var node_string_decoder_1 = require("node:string_decoder");
+    var isStream = (s) => !!s && typeof s === "object" && (s instanceof Minipass || s instanceof node_stream_1.default || (0, exports2.isReadable)(s) || (0, exports2.isWritable)(s));
+    exports2.isStream = isStream;
+    var isReadable = (s) => !!s && typeof s === "object" && s instanceof node_events_1.EventEmitter && typeof s.pipe === "function" && // node core Writable streams have a pipe() method, but it throws
+    s.pipe !== node_stream_1.default.Writable.prototype.pipe;
+    exports2.isReadable = isReadable;
+    var isWritable = (s) => !!s && typeof s === "object" && s instanceof node_events_1.EventEmitter && typeof s.write === "function" && typeof s.end === "function";
+    exports2.isWritable = isWritable;
+    var EOF = /* @__PURE__ */ Symbol("EOF");
+    var MAYBE_EMIT_END = /* @__PURE__ */ Symbol("maybeEmitEnd");
+    var EMITTED_END = /* @__PURE__ */ Symbol("emittedEnd");
+    var EMITTING_END = /* @__PURE__ */ Symbol("emittingEnd");
+    var EMITTED_ERROR = /* @__PURE__ */ Symbol("emittedError");
+    var CLOSED = /* @__PURE__ */ Symbol("closed");
+    var READ = /* @__PURE__ */ Symbol("read");
+    var FLUSH = /* @__PURE__ */ Symbol("flush");
+    var FLUSHCHUNK = /* @__PURE__ */ Symbol("flushChunk");
+    var ENCODING = /* @__PURE__ */ Symbol("encoding");
+    var DECODER = /* @__PURE__ */ Symbol("decoder");
+    var FLOWING = /* @__PURE__ */ Symbol("flowing");
+    var PAUSED = /* @__PURE__ */ Symbol("paused");
+    var RESUME = /* @__PURE__ */ Symbol("resume");
+    var BUFFER = /* @__PURE__ */ Symbol("buffer");
+    var PIPES = /* @__PURE__ */ Symbol("pipes");
+    var BUFFERLENGTH = /* @__PURE__ */ Symbol("bufferLength");
+    var BUFFERPUSH = /* @__PURE__ */ Symbol("bufferPush");
+    var BUFFERSHIFT = /* @__PURE__ */ Symbol("bufferShift");
+    var OBJECTMODE = /* @__PURE__ */ Symbol("objectMode");
+    var DESTROYED = /* @__PURE__ */ Symbol("destroyed");
+    var ERROR = /* @__PURE__ */ Symbol("error");
+    var EMITDATA = /* @__PURE__ */ Symbol("emitData");
+    var EMITEND = /* @__PURE__ */ Symbol("emitEnd");
+    var EMITEND2 = /* @__PURE__ */ Symbol("emitEnd2");
+    var ASYNC = /* @__PURE__ */ Symbol("async");
+    var ABORT = /* @__PURE__ */ Symbol("abort");
+    var ABORTED = /* @__PURE__ */ Symbol("aborted");
+    var SIGNAL = /* @__PURE__ */ Symbol("signal");
+    var DATALISTENERS = /* @__PURE__ */ Symbol("dataListeners");
+    var DISCARDED = /* @__PURE__ */ Symbol("discarded");
+    var defer = (fn) => Promise.resolve().then(fn);
+    var nodefer = (fn) => fn();
+    var isEndish = (ev) => ev === "end" || ev === "finish" || ev === "prefinish";
+    var isArrayBufferLike = (b) => b instanceof ArrayBuffer || !!b && typeof b === "object" && b.constructor && b.constructor.name === "ArrayBuffer" && b.byteLength >= 0;
+    var isArrayBufferView = (b) => !Buffer.isBuffer(b) && ArrayBuffer.isView(b);
+    var Pipe = class {
+      src;
+      dest;
+      opts;
+      ondrain;
+      constructor(src, dest, opts) {
+        this.src = src;
+        this.dest = dest;
+        this.opts = opts;
+        this.ondrain = () => src[RESUME]();
+        this.dest.on("drain", this.ondrain);
       }
-      create(value) {
-        const message = { ok: false, artifactId: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      unpipe() {
+        this.dest.removeListener("drain", this.ondrain);
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* int64 artifact_id */
-            2:
-              message.artifactId = reader.int64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
+      // only here for the prototype
+      /* c8 ignore start */
+      proxyErrors(_er) {
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.artifactId !== "0")
-          writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      /* c8 ignore stop */
+      end() {
+        this.unpipe();
+        if (this.opts.end)
+          this.dest.end();
       }
     };
-    exports2.FinalizeMigratedArtifactResponse = new FinalizeMigratedArtifactResponse$Type();
-    var CreateArtifactRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.CreateArtifactRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          { no: 4, name: "expires_at", kind: "message", T: () => timestamp_1.Timestamp },
-          {
-            no: 5,
-            name: "version",
-            kind: "scalar",
-            T: 5
-            /*ScalarType.INT32*/
-          }
-        ]);
+    var PipeProxyErrors = class extends Pipe {
+      unpipe() {
+        this.src.removeListener("error", this.proxyErrors);
+        super.unpipe();
       }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "", version: 0 };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      constructor(src, dest, opts) {
+        super(src, dest, opts);
+        this.proxyErrors = (er) => dest.emit("error", er);
+        src.on("error", this.proxyErrors);
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* string name */
-            3:
-              message.name = reader.string();
-              break;
-            case /* google.protobuf.Timestamp expires_at */
-            4:
-              message.expiresAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expiresAt);
-              break;
-            case /* int32 version */
-            5:
-              message.version = reader.int32();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+    };
+    var isObjectModeOptions = (o) => !!o.objectMode;
+    var isEncodingOptions = (o) => !o.objectMode && !!o.encoding && o.encoding !== "buffer";
+    var Minipass = class extends node_events_1.EventEmitter {
+      [FLOWING] = false;
+      [PAUSED] = false;
+      [PIPES] = [];
+      [BUFFER] = [];
+      [OBJECTMODE];
+      [ENCODING];
+      [ASYNC];
+      [DECODER];
+      [EOF] = false;
+      [EMITTED_END] = false;
+      [EMITTING_END] = false;
+      [CLOSED] = false;
+      [EMITTED_ERROR] = null;
+      [BUFFERLENGTH] = 0;
+      [DESTROYED] = false;
+      [SIGNAL];
+      [ABORTED] = false;
+      [DATALISTENERS] = 0;
+      [DISCARDED] = false;
+      /**
+       * true if the stream can be written
+       */
+      writable = true;
+      /**
+       * true if the stream can be read
+       */
+      readable = true;
+      /**
+       * If `RType` is Buffer, then options do not need to be provided.
+       * Otherwise, an options object must be provided to specify either
+       * {@link Minipass.SharedOptions.objectMode} or
+       * {@link Minipass.SharedOptions.encoding}, as appropriate.
+       */
+      constructor(...args) {
+        const options = args[0] || {};
+        super();
+        if (options.objectMode && typeof options.encoding === "string") {
+          throw new TypeError("Encoding and objectMode may not be used together");
+        }
+        if (isObjectModeOptions(options)) {
+          this[OBJECTMODE] = true;
+          this[ENCODING] = null;
+        } else if (isEncodingOptions(options)) {
+          this[ENCODING] = options.encoding;
+          this[OBJECTMODE] = false;
+        } else {
+          this[OBJECTMODE] = false;
+          this[ENCODING] = null;
+        }
+        this[ASYNC] = !!options.async;
+        this[DECODER] = this[ENCODING] ? new node_string_decoder_1.StringDecoder(this[ENCODING]) : null;
+        if (options && options.debugExposeBuffer === true) {
+          Object.defineProperty(this, "buffer", { get: () => this[BUFFER] });
+        }
+        if (options && options.debugExposePipes === true) {
+          Object.defineProperty(this, "pipes", { get: () => this[PIPES] });
+        }
+        const { signal } = options;
+        if (signal) {
+          this[SIGNAL] = signal;
+          if (signal.aborted) {
+            this[ABORT]();
+          } else {
+            signal.addEventListener("abort", () => this[ABORT]());
           }
         }
-        return message;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.name !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
-        if (message.expiresAt)
-          timestamp_1.Timestamp.internalBinaryWrite(message.expiresAt, writer.tag(4, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        if (message.version !== 0)
-          writer.tag(5, runtime_1.WireType.Varint).int32(message.version);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      /**
+       * The amount of data stored in the buffer waiting to be read.
+       *
+       * For Buffer strings, this will be the total byte length.
+       * For string encoding streams, this will be the string character length,
+       * according to JavaScript's `string.length` logic.
+       * For objectMode streams, this is a count of the items waiting to be
+       * emitted.
+       */
+      get bufferLength() {
+        return this[BUFFERLENGTH];
       }
-    };
-    exports2.CreateArtifactRequest = new CreateArtifactRequest$Type();
-    var CreateArtifactResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.CreateArtifactResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "signed_upload_url",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
+      /**
+       * The `BufferEncoding` currently in use, or `null`
+       */
+      get encoding() {
+        return this[ENCODING];
       }
-      create(value) {
-        const message = { ok: false, signedUploadUrl: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      /**
+       * @deprecated - This is a read only property
+       */
+      set encoding(_enc) {
+        throw new Error("Encoding must be set at instantiation time");
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* string signed_upload_url */
-            2:
-              message.signedUploadUrl = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
+      /**
+       * @deprecated - Encoding may only be set at instantiation time
+       */
+      setEncoding(_enc) {
+        throw new Error("Encoding must be set at instantiation time");
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.signedUploadUrl !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      /**
+       * True if this is an objectMode stream
+       */
+      get objectMode() {
+        return this[OBJECTMODE];
       }
-    };
-    exports2.CreateArtifactResponse = new CreateArtifactResponse$Type();
-    var FinalizeArtifactRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.FinalizeArtifactRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 4,
-            name: "size",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          },
-          { no: 5, name: "hash", kind: "message", T: () => wrappers_2.StringValue }
-        ]);
+      /**
+       * @deprecated - This is a read-only property
+       */
+      set objectMode(_om) {
+        throw new Error("objectMode must be set at instantiation time");
       }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "", size: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      /**
+       * true if this is an async stream
+       */
+      get ["async"]() {
+        return this[ASYNC];
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* string name */
-            3:
-              message.name = reader.string();
-              break;
-            case /* int64 size */
-            4:
-              message.size = reader.int64().toString();
-              break;
-            case /* google.protobuf.StringValue hash */
-            5:
-              message.hash = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.hash);
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
+      /**
+       * Set to true to make this stream async.
+       *
+       * Once set, it cannot be unset, as this would potentially cause incorrect
+       * behavior.  Ie, a sync stream can be made async, but an async stream
+       * cannot be safely made sync.
+       */
+      set ["async"](a) {
+        this[ASYNC] = this[ASYNC] || !!a;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.name !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
-        if (message.size !== "0")
-          writer.tag(4, runtime_1.WireType.Varint).int64(message.size);
-        if (message.hash)
-          wrappers_2.StringValue.internalBinaryWrite(message.hash, writer.tag(5, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      // drop everything and get out of the flow completely
+      [ABORT]() {
+        this[ABORTED] = true;
+        this.emit("abort", this[SIGNAL]?.reason);
+        this.destroy(this[SIGNAL]?.reason);
       }
-    };
-    exports2.FinalizeArtifactRequest = new FinalizeArtifactRequest$Type();
-    var FinalizeArtifactResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.FinalizeArtifactResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "artifact_id",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          }
-        ]);
+      /**
+       * True if the stream has been aborted.
+       */
+      get aborted() {
+        return this[ABORTED];
       }
-      create(value) {
-        const message = { ok: false, artifactId: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      /**
+       * No-op setter. Stream aborted status is set via the AbortSignal provided
+       * in the constructor options.
+       */
+      set aborted(_2) {
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* int64 artifact_id */
-            2:
-              message.artifactId = reader.int64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      write(chunk, encoding, cb) {
+        if (this[ABORTED])
+          return false;
+        if (this[EOF])
+          throw new Error("write after end");
+        if (this[DESTROYED]) {
+          this.emit("error", Object.assign(new Error("Cannot call write after a stream was destroyed"), { code: "ERR_STREAM_DESTROYED" }));
+          return true;
+        }
+        if (typeof encoding === "function") {
+          cb = encoding;
+          encoding = "utf8";
+        }
+        if (!encoding)
+          encoding = "utf8";
+        const fn = this[ASYNC] ? defer : nodefer;
+        if (!this[OBJECTMODE] && !Buffer.isBuffer(chunk)) {
+          if (isArrayBufferView(chunk)) {
+            chunk = Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
+          } else if (isArrayBufferLike(chunk)) {
+            chunk = Buffer.from(chunk);
+          } else if (typeof chunk !== "string") {
+            throw new Error("Non-contiguous data written to non-objectMode stream");
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.artifactId !== "0")
-          writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.FinalizeArtifactResponse = new FinalizeArtifactResponse$Type();
-    var ListArtifactsRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.ListArtifactsRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          { no: 3, name: "name_filter", kind: "message", T: () => wrappers_2.StringValue },
-          { no: 4, name: "id_filter", kind: "message", T: () => wrappers_1.Int64Value }
-        ]);
+        if (this[OBJECTMODE]) {
+          if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
+            this[FLUSH](true);
+          if (this[FLOWING])
+            this.emit("data", chunk);
+          else
+            this[BUFFERPUSH](chunk);
+          if (this[BUFFERLENGTH] !== 0)
+            this.emit("readable");
+          if (cb)
+            fn(cb);
+          return this[FLOWING];
+        }
+        if (!chunk.length) {
+          if (this[BUFFERLENGTH] !== 0)
+            this.emit("readable");
+          if (cb)
+            fn(cb);
+          return this[FLOWING];
+        }
+        if (typeof chunk === "string" && // unless it is a string already ready for us to use
+        !(encoding === this[ENCODING] && !this[DECODER]?.lastNeed)) {
+          chunk = Buffer.from(chunk, encoding);
+        }
+        if (Buffer.isBuffer(chunk) && this[ENCODING]) {
+          chunk = this[DECODER].write(chunk);
+        }
+        if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
+          this[FLUSH](true);
+        if (this[FLOWING])
+          this.emit("data", chunk);
+        else
+          this[BUFFERPUSH](chunk);
+        if (this[BUFFERLENGTH] !== 0)
+          this.emit("readable");
+        if (cb)
+          fn(cb);
+        return this[FLOWING];
       }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      /**
+       * Low-level explicit read method.
+       *
+       * In objectMode, the argument is ignored, and one item is returned if
+       * available.
+       *
+       * `n` is the number of bytes (or in the case of encoding streams,
+       * characters) to consume. If `n` is not provided, then the entire buffer
+       * is returned, or `null` is returned if no data is available.
+       *
+       * If `n` is greater that the amount of data in the internal buffer,
+       * then `null` is returned.
+       */
+      read(n) {
+        if (this[DESTROYED])
+          return null;
+        this[DISCARDED] = false;
+        if (this[BUFFERLENGTH] === 0 || n === 0 || n && n > this[BUFFERLENGTH]) {
+          this[MAYBE_EMIT_END]();
+          return null;
+        }
+        if (this[OBJECTMODE])
+          n = null;
+        if (this[BUFFER].length > 1 && !this[OBJECTMODE]) {
+          this[BUFFER] = [
+            this[ENCODING] ? this[BUFFER].join("") : Buffer.concat(this[BUFFER], this[BUFFERLENGTH])
+          ];
+        }
+        const ret = this[READ](n || null, this[BUFFER][0]);
+        this[MAYBE_EMIT_END]();
+        return ret;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* google.protobuf.StringValue name_filter */
-            3:
-              message.nameFilter = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.nameFilter);
-              break;
-            case /* google.protobuf.Int64Value id_filter */
-            4:
-              message.idFilter = wrappers_1.Int64Value.internalBinaryRead(reader, reader.uint32(), options, message.idFilter);
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      [READ](n, chunk) {
+        if (this[OBJECTMODE])
+          this[BUFFERSHIFT]();
+        else {
+          const c = chunk;
+          if (n === c.length || n === null)
+            this[BUFFERSHIFT]();
+          else if (typeof c === "string") {
+            this[BUFFER][0] = c.slice(n);
+            chunk = c.slice(0, n);
+            this[BUFFERLENGTH] -= n;
+          } else {
+            this[BUFFER][0] = c.subarray(n);
+            chunk = c.subarray(0, n);
+            this[BUFFERLENGTH] -= n;
           }
         }
-        return message;
+        this.emit("data", chunk);
+        if (!this[BUFFER].length && !this[EOF])
+          this.emit("drain");
+        return chunk;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.nameFilter)
-          wrappers_2.StringValue.internalBinaryWrite(message.nameFilter, writer.tag(3, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        if (message.idFilter)
-          wrappers_1.Int64Value.internalBinaryWrite(message.idFilter, writer.tag(4, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      end(chunk, encoding, cb) {
+        if (typeof chunk === "function") {
+          cb = chunk;
+          chunk = void 0;
+        }
+        if (typeof encoding === "function") {
+          cb = encoding;
+          encoding = "utf8";
+        }
+        if (chunk !== void 0)
+          this.write(chunk, encoding);
+        if (cb)
+          this.once("end", cb);
+        this[EOF] = true;
+        this.writable = false;
+        if (this[FLOWING] || !this[PAUSED])
+          this[MAYBE_EMIT_END]();
+        return this;
       }
-    };
-    exports2.ListArtifactsRequest = new ListArtifactsRequest$Type();
-    var ListArtifactsResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.ListArtifactsResponse", [
-          { no: 1, name: "artifacts", kind: "message", repeat: 1, T: () => exports2.ListArtifactsResponse_MonolithArtifact }
-        ]);
+      // don't let the internal resume be overwritten
+      [RESUME]() {
+        if (this[DESTROYED])
+          return;
+        if (!this[DATALISTENERS] && !this[PIPES].length) {
+          this[DISCARDED] = true;
+        }
+        this[PAUSED] = false;
+        this[FLOWING] = true;
+        this.emit("resume");
+        if (this[BUFFER].length)
+          this[FLUSH]();
+        else if (this[EOF])
+          this[MAYBE_EMIT_END]();
+        else
+          this.emit("drain");
       }
-      create(value) {
-        const message = { artifacts: [] };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      /**
+       * Resume the stream if it is currently in a paused state
+       *
+       * If called when there are no pipe destinations or `data` event listeners,
+       * this will place the stream in a "discarded" state, where all data will
+       * be thrown away. The discarded state is removed if a pipe destination or
+       * data handler is added, if pause() is called, or if any synchronous or
+       * asynchronous iteration is started.
+       */
+      resume() {
+        return this[RESUME]();
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* repeated github.actions.results.api.v1.ListArtifactsResponse.MonolithArtifact artifacts */
-            1:
-              message.artifacts.push(exports2.ListArtifactsResponse_MonolithArtifact.internalBinaryRead(reader, reader.uint32(), options));
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
+      /**
+       * Pause the stream
+       */
+      pause() {
+        this[FLOWING] = false;
+        this[PAUSED] = true;
+        this[DISCARDED] = false;
       }
-      internalBinaryWrite(message, writer, options) {
-        for (let i = 0; i < message.artifacts.length; i++)
-          exports2.ListArtifactsResponse_MonolithArtifact.internalBinaryWrite(message.artifacts[i], writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      /**
+       * true if the stream has been forcibly destroyed
+       */
+      get destroyed() {
+        return this[DESTROYED];
       }
-    };
-    exports2.ListArtifactsResponse = new ListArtifactsResponse$Type();
-    var ListArtifactsResponse_MonolithArtifact$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.ListArtifactsResponse.MonolithArtifact", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "database_id",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          },
-          {
-            no: 4,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 5,
-            name: "size",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          },
-          { no: 6, name: "created_at", kind: "message", T: () => timestamp_1.Timestamp },
-          { no: 7, name: "digest", kind: "message", T: () => wrappers_2.StringValue }
-        ]);
+      /**
+       * true if the stream is currently in a flowing state, meaning that
+       * any writes will be immediately emitted.
+       */
+      get flowing() {
+        return this[FLOWING];
       }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", databaseId: "0", name: "", size: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      /**
+       * true if the stream is currently in a paused state
+       */
+      get paused() {
+        return this[PAUSED];
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* int64 database_id */
-            3:
-              message.databaseId = reader.int64().toString();
-              break;
-            case /* string name */
-            4:
-              message.name = reader.string();
-              break;
-            case /* int64 size */
-            5:
-              message.size = reader.int64().toString();
-              break;
-            case /* google.protobuf.Timestamp created_at */
-            6:
-              message.createdAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.createdAt);
-              break;
-            case /* google.protobuf.StringValue digest */
-            7:
-              message.digest = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.digest);
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
+      [BUFFERPUSH](chunk) {
+        if (this[OBJECTMODE])
+          this[BUFFERLENGTH] += 1;
+        else
+          this[BUFFERLENGTH] += chunk.length;
+        this[BUFFER].push(chunk);
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.databaseId !== "0")
-          writer.tag(3, runtime_1.WireType.Varint).int64(message.databaseId);
-        if (message.name !== "")
-          writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.name);
-        if (message.size !== "0")
-          writer.tag(5, runtime_1.WireType.Varint).int64(message.size);
-        if (message.createdAt)
-          timestamp_1.Timestamp.internalBinaryWrite(message.createdAt, writer.tag(6, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        if (message.digest)
-          wrappers_2.StringValue.internalBinaryWrite(message.digest, writer.tag(7, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      [BUFFERSHIFT]() {
+        if (this[OBJECTMODE])
+          this[BUFFERLENGTH] -= 1;
+        else
+          this[BUFFERLENGTH] -= this[BUFFER][0].length;
+        return this[BUFFER].shift();
       }
-    };
-    exports2.ListArtifactsResponse_MonolithArtifact = new ListArtifactsResponse_MonolithArtifact$Type();
-    var GetSignedArtifactURLRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.GetSignedArtifactURLRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
+      [FLUSH](noDrain = false) {
+        do {
+        } while (this[FLUSHCHUNK](this[BUFFERSHIFT]()) && this[BUFFER].length);
+        if (!noDrain && !this[BUFFER].length && !this[EOF])
+          this.emit("drain");
       }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      [FLUSHCHUNK](chunk) {
+        this.emit("data", chunk);
+        return this[FLOWING];
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* string name */
-            3:
-              message.name = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
+      /**
+       * Pipe all data emitted by this stream into the destination provided.
+       *
+       * Triggers the flow of data.
+       */
+      pipe(dest, opts) {
+        if (this[DESTROYED])
+          return dest;
+        this[DISCARDED] = false;
+        const ended = this[EMITTED_END];
+        opts = opts || {};
+        if (dest === proc.stdout || dest === proc.stderr)
+          opts.end = false;
+        else
+          opts.end = opts.end !== false;
+        opts.proxyErrors = !!opts.proxyErrors;
+        if (ended) {
+          if (opts.end)
+            dest.end();
+        } else {
+          this[PIPES].push(!opts.proxyErrors ? new Pipe(this, dest, opts) : new PipeProxyErrors(this, dest, opts));
+          if (this[ASYNC])
+            defer(() => this[RESUME]());
+          else
+            this[RESUME]();
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.name !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+        return dest;
       }
-    };
-    exports2.GetSignedArtifactURLRequest = new GetSignedArtifactURLRequest$Type();
-    var GetSignedArtifactURLResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.GetSignedArtifactURLResponse", [
-          {
-            no: 1,
-            name: "signed_url",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
+      /**
+       * Fully unhook a piped destination stream.
+       *
+       * If the destination stream was the only consumer of this stream (ie,
+       * there are no other piped destinations or `'data'` event listeners)
+       * then the flow of data will stop until there is another consumer or
+       * {@link Minipass#resume} is explicitly called.
+       */
+      unpipe(dest) {
+        const p = this[PIPES].find((p2) => p2.dest === dest);
+        if (p) {
+          if (this[PIPES].length === 1) {
+            if (this[FLOWING] && this[DATALISTENERS] === 0) {
+              this[FLOWING] = false;
+            }
+            this[PIPES] = [];
+          } else
+            this[PIPES].splice(this[PIPES].indexOf(p), 1);
+          p.unpipe();
+        }
       }
-      create(value) {
-        const message = { signedUrl: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      /**
+       * Alias for {@link Minipass#on}
+       */
+      addListener(ev, handler2) {
+        return this.on(ev, handler2);
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string signed_url */
-            1:
-              message.signedUrl = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      /**
+       * Mostly identical to `EventEmitter.on`, with the following
+       * behavior differences to prevent data loss and unnecessary hangs:
+       *
+       * - Adding a 'data' event handler will trigger the flow of data
+       *
+       * - Adding a 'readable' event handler when there is data waiting to be read
+       *   will cause 'readable' to be emitted immediately.
+       *
+       * - Adding an 'endish' event handler ('end', 'finish', etc.) which has
+       *   already passed will cause the event to be emitted immediately and all
+       *   handlers removed.
+       *
+       * - Adding an 'error' event handler after an error has been emitted will
+       *   cause the event to be re-emitted immediately with the error previously
+       *   raised.
+       */
+      on(ev, handler2) {
+        const ret = super.on(ev, handler2);
+        if (ev === "data") {
+          this[DISCARDED] = false;
+          this[DATALISTENERS]++;
+          if (!this[PIPES].length && !this[FLOWING]) {
+            this[RESUME]();
           }
+        } else if (ev === "readable" && this[BUFFERLENGTH] !== 0) {
+          super.emit("readable");
+        } else if (isEndish(ev) && this[EMITTED_END]) {
+          super.emit(ev);
+          this.removeAllListeners(ev);
+        } else if (ev === "error" && this[EMITTED_ERROR]) {
+          const h = handler2;
+          if (this[ASYNC])
+            defer(() => h.call(this, this[EMITTED_ERROR]));
+          else
+            h.call(this, this[EMITTED_ERROR]);
         }
-        return message;
+        return ret;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.signedUrl !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.signedUrl);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      /**
+       * Alias for {@link Minipass#off}
+       */
+      removeListener(ev, handler2) {
+        return this.off(ev, handler2);
       }
-    };
-    exports2.GetSignedArtifactURLResponse = new GetSignedArtifactURLResponse$Type();
-    var DeleteArtifactRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.DeleteArtifactRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
+      /**
+       * Mostly identical to `EventEmitter.off`
+       *
+       * If a 'data' event handler is removed, and it was the last consumer
+       * (ie, there are no pipe destinations or other 'data' event listeners),
+       * then the flow of data will stop until there is another consumer or
+       * {@link Minipass#resume} is explicitly called.
+       */
+      off(ev, handler2) {
+        const ret = super.off(ev, handler2);
+        if (ev === "data") {
+          this[DATALISTENERS] = this.listeners("data").length;
+          if (this[DATALISTENERS] === 0 && !this[DISCARDED] && !this[PIPES].length) {
+            this[FLOWING] = false;
           }
-        ]);
-      }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+        }
+        return ret;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* string name */
-            3:
-              message.name = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      /**
+       * Mostly identical to `EventEmitter.removeAllListeners`
+       *
+       * If all 'data' event handlers are removed, and they were the last consumer
+       * (ie, there are no pipe destinations), then the flow of data will stop
+       * until there is another consumer or {@link Minipass#resume} is explicitly
+       * called.
+       */
+      removeAllListeners(ev) {
+        const ret = super.removeAllListeners(ev);
+        if (ev === "data" || ev === void 0) {
+          this[DATALISTENERS] = 0;
+          if (!this[DISCARDED] && !this[PIPES].length) {
+            this[FLOWING] = false;
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.name !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+        return ret;
       }
-    };
-    exports2.DeleteArtifactRequest = new DeleteArtifactRequest$Type();
-    var DeleteArtifactResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.DeleteArtifactResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "artifact_id",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          }
-        ]);
+      /**
+       * true if the 'end' event has been emitted
+       */
+      get emittedEnd() {
+        return this[EMITTED_END];
       }
-      create(value) {
-        const message = { ok: false, artifactId: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      [MAYBE_EMIT_END]() {
+        if (!this[EMITTING_END] && !this[EMITTED_END] && !this[DESTROYED] && this[BUFFER].length === 0 && this[EOF]) {
+          this[EMITTING_END] = true;
+          this.emit("end");
+          this.emit("prefinish");
+          this.emit("finish");
+          if (this[CLOSED])
+            this.emit("close");
+          this[EMITTING_END] = false;
+        }
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* int64 artifact_id */
-            2:
-              message.artifactId = reader.int64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
+      /**
+       * Mostly identical to `EventEmitter.emit`, with the following
+       * behavior differences to prevent data loss and unnecessary hangs:
+       *
+       * If the stream has been destroyed, and the event is something other
+       * than 'close' or 'error', then `false` is returned and no handlers
+       * are called.
+       *
+       * If the event is 'end', and has already been emitted, then the event
+       * is ignored. If the stream is in a paused or non-flowing state, then
+       * the event will be deferred until data flow resumes. If the stream is
+       * async, then handlers will be called on the next tick rather than
+       * immediately.
+       *
+       * If the event is 'close', and 'end' has not yet been emitted, then
+       * the event will be deferred until after 'end' is emitted.
+       *
+       * If the event is 'error', and an AbortSignal was provided for the stream,
+       * and there are no listeners, then the event is ignored, matching the
+       * behavior of node core streams in the presense of an AbortSignal.
+       *
+       * If the event is 'finish' or 'prefinish', then all listeners will be
+       * removed after emitting the event, to prevent double-firing.
+       */
+      emit(ev, ...args) {
+        const data = args[0];
+        if (ev !== "error" && ev !== "close" && ev !== DESTROYED && this[DESTROYED]) {
+          return false;
+        } else if (ev === "data") {
+          return !this[OBJECTMODE] && !data ? false : this[ASYNC] ? (defer(() => this[EMITDATA](data)), true) : this[EMITDATA](data);
+        } else if (ev === "end") {
+          return this[EMITEND]();
+        } else if (ev === "close") {
+          this[CLOSED] = true;
+          if (!this[EMITTED_END] && !this[DESTROYED])
+            return false;
+          const ret2 = super.emit("close");
+          this.removeAllListeners("close");
+          return ret2;
+        } else if (ev === "error") {
+          this[EMITTED_ERROR] = data;
+          super.emit(ERROR, data);
+          const ret2 = !this[SIGNAL] || this.listeners("error").length ? super.emit("error", data) : false;
+          this[MAYBE_EMIT_END]();
+          return ret2;
+        } else if (ev === "resume") {
+          const ret2 = super.emit("resume");
+          this[MAYBE_EMIT_END]();
+          return ret2;
+        } else if (ev === "finish" || ev === "prefinish") {
+          const ret2 = super.emit(ev);
+          this.removeAllListeners(ev);
+          return ret2;
         }
-        return message;
+        const ret = super.emit(ev, ...args);
+        this[MAYBE_EMIT_END]();
+        return ret;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.artifactId !== "0")
-          writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      [EMITDATA](data) {
+        for (const p of this[PIPES]) {
+          if (p.dest.write(data) === false)
+            this.pause();
+        }
+        const ret = this[DISCARDED] ? false : super.emit("data", data);
+        this[MAYBE_EMIT_END]();
+        return ret;
       }
-    };
-    exports2.DeleteArtifactResponse = new DeleteArtifactResponse$Type();
-    exports2.ArtifactService = new runtime_rpc_1.ServiceType("github.actions.results.api.v1.ArtifactService", [
-      { name: "CreateArtifact", options: {}, I: exports2.CreateArtifactRequest, O: exports2.CreateArtifactResponse },
-      { name: "FinalizeArtifact", options: {}, I: exports2.FinalizeArtifactRequest, O: exports2.FinalizeArtifactResponse },
-      { name: "ListArtifacts", options: {}, I: exports2.ListArtifactsRequest, O: exports2.ListArtifactsResponse },
-      { name: "GetSignedArtifactURL", options: {}, I: exports2.GetSignedArtifactURLRequest, O: exports2.GetSignedArtifactURLResponse },
-      { name: "DeleteArtifact", options: {}, I: exports2.DeleteArtifactRequest, O: exports2.DeleteArtifactResponse },
-      { name: "MigrateArtifact", options: {}, I: exports2.MigrateArtifactRequest, O: exports2.MigrateArtifactResponse },
-      { name: "FinalizeMigratedArtifact", options: {}, I: exports2.FinalizeMigratedArtifactRequest, O: exports2.FinalizeMigratedArtifactResponse }
-    ]);
-  }
-});
-
-// node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.js
-var require_artifact_twirp_client = __commonJS({
-  "node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ArtifactServiceClientProtobuf = exports2.ArtifactServiceClientJSON = void 0;
-    var artifact_1 = require_artifact();
-    var ArtifactServiceClientJSON = class {
-      constructor(rpc) {
-        this.rpc = rpc;
-        this.CreateArtifact.bind(this);
-        this.FinalizeArtifact.bind(this);
-        this.ListArtifacts.bind(this);
-        this.GetSignedArtifactURL.bind(this);
-        this.DeleteArtifact.bind(this);
+      [EMITEND]() {
+        if (this[EMITTED_END])
+          return false;
+        this[EMITTED_END] = true;
+        this.readable = false;
+        return this[ASYNC] ? (defer(() => this[EMITEND2]()), true) : this[EMITEND2]();
       }
-      CreateArtifact(request2) {
-        const data = artifact_1.CreateArtifactRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
-        });
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "CreateArtifact", "application/json", data);
-        return promise.then((data2) => artifact_1.CreateArtifactResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
+      [EMITEND2]() {
+        if (this[DECODER]) {
+          const data = this[DECODER].end();
+          if (data) {
+            for (const p of this[PIPES]) {
+              p.dest.write(data);
+            }
+            if (!this[DISCARDED])
+              super.emit("data", data);
+          }
+        }
+        for (const p of this[PIPES]) {
+          p.end();
+        }
+        const ret = super.emit("end");
+        this.removeAllListeners("end");
+        return ret;
       }
-      FinalizeArtifact(request2) {
-        const data = artifact_1.FinalizeArtifactRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
+      /**
+       * Return a Promise that resolves to an array of all emitted data once
+       * the stream ends.
+       */
+      async collect() {
+        const buf = Object.assign([], {
+          dataLength: 0
         });
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "FinalizeArtifact", "application/json", data);
-        return promise.then((data2) => artifact_1.FinalizeArtifactResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
-      }
-      ListArtifacts(request2) {
-        const data = artifact_1.ListArtifactsRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
+        if (!this[OBJECTMODE])
+          buf.dataLength = 0;
+        const p = this.promise();
+        this.on("data", (c) => {
+          buf.push(c);
+          if (!this[OBJECTMODE])
+            buf.dataLength += c.length;
         });
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "ListArtifacts", "application/json", data);
-        return promise.then((data2) => artifact_1.ListArtifactsResponse.fromJson(data2, { ignoreUnknownFields: true }));
+        await p;
+        return buf;
       }
-      GetSignedArtifactURL(request2) {
-        const data = artifact_1.GetSignedArtifactURLRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
-        });
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "GetSignedArtifactURL", "application/json", data);
-        return promise.then((data2) => artifact_1.GetSignedArtifactURLResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
+      /**
+       * Return a Promise that resolves to the concatenation of all emitted data
+       * once the stream ends.
+       *
+       * Not allowed on objectMode streams.
+       */
+      async concat() {
+        if (this[OBJECTMODE]) {
+          throw new Error("cannot concat in objectMode");
+        }
+        const buf = await this.collect();
+        return this[ENCODING] ? buf.join("") : Buffer.concat(buf, buf.dataLength);
       }
-      DeleteArtifact(request2) {
-        const data = artifact_1.DeleteArtifactRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
+      /**
+       * Return a void Promise that resolves once the stream ends.
+       */
+      async promise() {
+        return new Promise((resolve5, reject) => {
+          this.on(DESTROYED, () => reject(new Error("stream destroyed")));
+          this.on("error", (er) => reject(er));
+          this.on("end", () => resolve5());
         });
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "DeleteArtifact", "application/json", data);
-        return promise.then((data2) => artifact_1.DeleteArtifactResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
-      }
-    };
-    exports2.ArtifactServiceClientJSON = ArtifactServiceClientJSON;
-    var ArtifactServiceClientProtobuf = class {
-      constructor(rpc) {
-        this.rpc = rpc;
-        this.CreateArtifact.bind(this);
-        this.FinalizeArtifact.bind(this);
-        this.ListArtifacts.bind(this);
-        this.GetSignedArtifactURL.bind(this);
-        this.DeleteArtifact.bind(this);
-      }
-      CreateArtifact(request2) {
-        const data = artifact_1.CreateArtifactRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "CreateArtifact", "application/protobuf", data);
-        return promise.then((data2) => artifact_1.CreateArtifactResponse.fromBinary(data2));
-      }
-      FinalizeArtifact(request2) {
-        const data = artifact_1.FinalizeArtifactRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "FinalizeArtifact", "application/protobuf", data);
-        return promise.then((data2) => artifact_1.FinalizeArtifactResponse.fromBinary(data2));
       }
-      ListArtifacts(request2) {
-        const data = artifact_1.ListArtifactsRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "ListArtifacts", "application/protobuf", data);
-        return promise.then((data2) => artifact_1.ListArtifactsResponse.fromBinary(data2));
-      }
-      GetSignedArtifactURL(request2) {
-        const data = artifact_1.GetSignedArtifactURLRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "GetSignedArtifactURL", "application/protobuf", data);
-        return promise.then((data2) => artifact_1.GetSignedArtifactURLResponse.fromBinary(data2));
+      /**
+       * Asynchronous `for await of` iteration.
+       *
+       * This will continue emitting all chunks until the stream terminates.
+       */
+      [Symbol.asyncIterator]() {
+        this[DISCARDED] = false;
+        let stopped = false;
+        const stop = async () => {
+          this.pause();
+          stopped = true;
+          return { value: void 0, done: true };
+        };
+        const next = () => {
+          if (stopped)
+            return stop();
+          const res = this.read();
+          if (res !== null)
+            return Promise.resolve({ done: false, value: res });
+          if (this[EOF])
+            return stop();
+          let resolve5;
+          let reject;
+          const onerr = (er) => {
+            this.off("data", ondata);
+            this.off("end", onend);
+            this.off(DESTROYED, ondestroy);
+            stop();
+            reject(er);
+          };
+          const ondata = (value) => {
+            this.off("error", onerr);
+            this.off("end", onend);
+            this.off(DESTROYED, ondestroy);
+            this.pause();
+            resolve5({ value, done: !!this[EOF] });
+          };
+          const onend = () => {
+            this.off("error", onerr);
+            this.off("data", ondata);
+            this.off(DESTROYED, ondestroy);
+            stop();
+            resolve5({ done: true, value: void 0 });
+          };
+          const ondestroy = () => onerr(new Error("stream destroyed"));
+          return new Promise((res2, rej) => {
+            reject = rej;
+            resolve5 = res2;
+            this.once(DESTROYED, ondestroy);
+            this.once("error", onerr);
+            this.once("end", onend);
+            this.once("data", ondata);
+          });
+        };
+        return {
+          next,
+          throw: stop,
+          return: stop,
+          [Symbol.asyncIterator]() {
+            return this;
+          }
+        };
       }
-      DeleteArtifact(request2) {
-        const data = artifact_1.DeleteArtifactRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "DeleteArtifact", "application/protobuf", data);
-        return promise.then((data2) => artifact_1.DeleteArtifactResponse.fromBinary(data2));
+      /**
+       * Synchronous `for of` iteration.
+       *
+       * The iteration will terminate when the internal buffer runs out, even
+       * if the stream has not yet terminated.
+       */
+      [Symbol.iterator]() {
+        this[DISCARDED] = false;
+        let stopped = false;
+        const stop = () => {
+          this.pause();
+          this.off(ERROR, stop);
+          this.off(DESTROYED, stop);
+          this.off("end", stop);
+          stopped = true;
+          return { done: true, value: void 0 };
+        };
+        const next = () => {
+          if (stopped)
+            return stop();
+          const value = this.read();
+          return value === null ? stop() : { done: false, value };
+        };
+        this.once("end", stop);
+        this.once(ERROR, stop);
+        this.once(DESTROYED, stop);
+        return {
+          next,
+          throw: stop,
+          return: stop,
+          [Symbol.iterator]() {
+            return this;
+          }
+        };
       }
-    };
-    exports2.ArtifactServiceClientProtobuf = ArtifactServiceClientProtobuf;
-  }
-});
-
-// node_modules/@actions/artifact/lib/generated/index.js
-var require_generated = __commonJS({
-  "node_modules/@actions/artifact/lib/generated/index.js"(exports2) {
-    "use strict";
-    var __createBinding2 = 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];
-        } };
+      /**
+       * Destroy a stream, preventing it from being used for any further purpose.
+       *
+       * If the stream has a `close()` method, then it will be called on
+       * destruction.
+       *
+       * After destruction, any attempt to write data, read data, or emit most
+       * events will be ignored.
+       *
+       * If an error argument is provided, then it will be emitted in an
+       * 'error' event.
+       */
+      destroy(er) {
+        if (this[DESTROYED]) {
+          if (er)
+            this.emit("error", er);
+          else
+            this.emit(DESTROYED);
+          return this;
+        }
+        this[DESTROYED] = true;
+        this[DISCARDED] = true;
+        this[BUFFER].length = 0;
+        this[BUFFERLENGTH] = 0;
+        const wc = this;
+        if (typeof wc.close === "function" && !this[CLOSED])
+          wc.close();
+        if (er)
+          this.emit("error", er);
+        else
+          this.emit(DESTROYED);
+        return this;
+      }
+      /**
+       * Alias for {@link isStream}
+       *
+       * Former export location, maintained for backwards compatibility.
+       *
+       * @deprecated
+       */
+      static get isStream() {
+        return exports2.isStream;
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
-      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p);
     };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    __exportStar2(require_timestamp(), exports2);
-    __exportStar2(require_wrappers(), exports2);
-    __exportStar2(require_artifact(), exports2);
-    __exportStar2(require_artifact_twirp_client(), exports2);
+    exports2.Minipass = Minipass;
   }
 });
 
-// node_modules/@actions/artifact/lib/internal/upload/retention.js
-var require_retention = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/retention.js"(exports2) {
+// node_modules/path-scurry/dist/commonjs/index.js
+var require_commonjs23 = __commonJS({
+  "node_modules/path-scurry/dist/commonjs/index.js"(exports2) {
     "use strict";
     var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
       if (k2 === void 0) k2 = k;
@@ -100804,26126 +120355,24825 @@ var require_retention = __commonJS({
       return result;
     };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getExpiration = void 0;
-    var generated_1 = require_generated();
-    var core14 = __importStar2(require_core());
-    function getExpiration(retentionDays) {
-      if (!retentionDays) {
-        return void 0;
+    exports2.PathScurry = exports2.Path = exports2.PathScurryDarwin = exports2.PathScurryPosix = exports2.PathScurryWin32 = exports2.PathScurryBase = exports2.PathPosix = exports2.PathWin32 = exports2.PathBase = exports2.ChildrenCache = exports2.ResolveCache = void 0;
+    var lru_cache_1 = require_commonjs21();
+    var node_path_1 = require("node:path");
+    var node_url_1 = require("node:url");
+    var fs_1 = require("fs");
+    var actualFS = __importStar2(require("node:fs"));
+    var realpathSync = fs_1.realpathSync.native;
+    var promises_1 = require("node:fs/promises");
+    var minipass_1 = require_commonjs22();
+    var defaultFS = {
+      lstatSync: fs_1.lstatSync,
+      readdir: fs_1.readdir,
+      readdirSync: fs_1.readdirSync,
+      readlinkSync: fs_1.readlinkSync,
+      realpathSync,
+      promises: {
+        lstat: promises_1.lstat,
+        readdir: promises_1.readdir,
+        readlink: promises_1.readlink,
+        realpath: promises_1.realpath
       }
-      const maxRetentionDays = getRetentionDays();
-      if (maxRetentionDays && maxRetentionDays < retentionDays) {
-        core14.warning(`Retention days cannot be greater than the maximum allowed retention set within the repository. Using ${maxRetentionDays} instead.`);
-        retentionDays = maxRetentionDays;
+    };
+    var fsFromOption = (fsOption) => !fsOption || fsOption === defaultFS || fsOption === actualFS ? defaultFS : {
+      ...defaultFS,
+      ...fsOption,
+      promises: {
+        ...defaultFS.promises,
+        ...fsOption.promises || {}
       }
-      const expirationDate = /* @__PURE__ */ new Date();
-      expirationDate.setDate(expirationDate.getDate() + retentionDays);
-      return generated_1.Timestamp.fromDate(expirationDate);
-    }
-    exports2.getExpiration = getExpiration;
-    function getRetentionDays() {
-      const retentionDays = process.env["GITHUB_RETENTION_DAYS"];
-      if (!retentionDays) {
-        return void 0;
+    };
+    var uncDriveRegexp = /^\\\\\?\\([a-z]:)\\?$/i;
+    var uncToDrive = (rootPath) => rootPath.replace(/\//g, "\\").replace(uncDriveRegexp, "$1\\");
+    var eitherSep = /[\\\/]/;
+    var UNKNOWN = 0;
+    var IFIFO = 1;
+    var IFCHR = 2;
+    var IFDIR = 4;
+    var IFBLK = 6;
+    var IFREG = 8;
+    var IFLNK = 10;
+    var IFSOCK = 12;
+    var IFMT = 15;
+    var IFMT_UNKNOWN = ~IFMT;
+    var READDIR_CALLED = 16;
+    var LSTAT_CALLED = 32;
+    var ENOTDIR = 64;
+    var ENOENT = 128;
+    var ENOREADLINK = 256;
+    var ENOREALPATH = 512;
+    var ENOCHILD = ENOTDIR | ENOENT | ENOREALPATH;
+    var TYPEMASK = 1023;
+    var entToType = (s) => s.isFile() ? IFREG : s.isDirectory() ? IFDIR : s.isSymbolicLink() ? IFLNK : s.isCharacterDevice() ? IFCHR : s.isBlockDevice() ? IFBLK : s.isSocket() ? IFSOCK : s.isFIFO() ? IFIFO : UNKNOWN;
+    var normalizeCache = /* @__PURE__ */ new Map();
+    var normalize2 = (s) => {
+      const c = normalizeCache.get(s);
+      if (c)
+        return c;
+      const n = s.normalize("NFKD");
+      normalizeCache.set(s, n);
+      return n;
+    };
+    var normalizeNocaseCache = /* @__PURE__ */ new Map();
+    var normalizeNocase = (s) => {
+      const c = normalizeNocaseCache.get(s);
+      if (c)
+        return c;
+      const n = normalize2(s.toLowerCase());
+      normalizeNocaseCache.set(s, n);
+      return n;
+    };
+    var ResolveCache = class extends lru_cache_1.LRUCache {
+      constructor() {
+        super({ max: 256 });
       }
-      const days = parseInt(retentionDays);
-      if (isNaN(days)) {
-        return void 0;
+    };
+    exports2.ResolveCache = ResolveCache;
+    var ChildrenCache = class extends lru_cache_1.LRUCache {
+      constructor(maxSize = 16 * 1024) {
+        super({
+          maxSize,
+          // parent + children
+          sizeCalculation: (a) => a.length + 1
+        });
       }
-      return days;
-    }
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/upload/path-and-artifact-name-validation.js
-var require_path_and_artifact_name_validation = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/path-and-artifact-name-validation.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.validateFilePath = exports2.validateArtifactName = void 0;
-    var core_1 = require_core();
-    var invalidArtifactFilePathCharacters = /* @__PURE__ */ new Map([
-      ['"', ' Double quote "'],
-      [":", " Colon :"],
-      ["<", " Less than <"],
-      [">", " Greater than >"],
-      ["|", " Vertical bar |"],
-      ["*", " Asterisk *"],
-      ["?", " Question mark ?"],
-      ["\r", " Carriage return \\r"],
-      ["\n", " Line feed \\n"]
-    ]);
-    var invalidArtifactNameCharacters = new Map([
-      ...invalidArtifactFilePathCharacters,
-      ["\\", " Backslash \\"],
-      ["/", " Forward slash /"]
-    ]);
-    function validateArtifactName(name) {
-      if (!name) {
-        throw new Error(`Provided artifact name input during validation is empty`);
+    };
+    exports2.ChildrenCache = ChildrenCache;
+    var setAsCwd = /* @__PURE__ */ Symbol("PathScurry setAsCwd");
+    var PathBase = class {
+      /**
+       * the basename of this path
+       *
+       * **Important**: *always* test the path name against any test string
+       * usingthe {@link isNamed} method, and not by directly comparing this
+       * string. Otherwise, unicode path strings that the system sees as identical
+       * will not be properly treated as the same path, leading to incorrect
+       * behavior and possible security issues.
+       */
+      name;
+      /**
+       * the Path entry corresponding to the path root.
+       *
+       * @internal
+       */
+      root;
+      /**
+       * All roots found within the current PathScurry family
+       *
+       * @internal
+       */
+      roots;
+      /**
+       * a reference to the parent path, or undefined in the case of root entries
+       *
+       * @internal
+       */
+      parent;
+      /**
+       * boolean indicating whether paths are compared case-insensitively
+       * @internal
+       */
+      nocase;
+      /**
+       * boolean indicating that this path is the current working directory
+       * of the PathScurry collection that contains it.
+       */
+      isCWD = false;
+      // potential default fs override
+      #fs;
+      // Stats fields
+      #dev;
+      get dev() {
+        return this.#dev;
       }
-      for (const [invalidCharacterKey, errorMessageForCharacter] of invalidArtifactNameCharacters) {
-        if (name.includes(invalidCharacterKey)) {
-          throw new Error(`The artifact name is not valid: ${name}. Contains the following character: ${errorMessageForCharacter}
-          
-Invalid characters include: ${Array.from(invalidArtifactNameCharacters.values()).toString()}
-          
-These characters are not allowed in the artifact name due to limitations with certain file systems such as NTFS. To maintain file system agnostic behavior, these characters are intentionally not allowed to prevent potential problems with downloads on different file systems.`);
+      #mode;
+      get mode() {
+        return this.#mode;
+      }
+      #nlink;
+      get nlink() {
+        return this.#nlink;
+      }
+      #uid;
+      get uid() {
+        return this.#uid;
+      }
+      #gid;
+      get gid() {
+        return this.#gid;
+      }
+      #rdev;
+      get rdev() {
+        return this.#rdev;
+      }
+      #blksize;
+      get blksize() {
+        return this.#blksize;
+      }
+      #ino;
+      get ino() {
+        return this.#ino;
+      }
+      #size;
+      get size() {
+        return this.#size;
+      }
+      #blocks;
+      get blocks() {
+        return this.#blocks;
+      }
+      #atimeMs;
+      get atimeMs() {
+        return this.#atimeMs;
+      }
+      #mtimeMs;
+      get mtimeMs() {
+        return this.#mtimeMs;
+      }
+      #ctimeMs;
+      get ctimeMs() {
+        return this.#ctimeMs;
+      }
+      #birthtimeMs;
+      get birthtimeMs() {
+        return this.#birthtimeMs;
+      }
+      #atime;
+      get atime() {
+        return this.#atime;
+      }
+      #mtime;
+      get mtime() {
+        return this.#mtime;
+      }
+      #ctime;
+      get ctime() {
+        return this.#ctime;
+      }
+      #birthtime;
+      get birthtime() {
+        return this.#birthtime;
+      }
+      #matchName;
+      #depth;
+      #fullpath;
+      #fullpathPosix;
+      #relative;
+      #relativePosix;
+      #type;
+      #children;
+      #linkTarget;
+      #realpath;
+      /**
+       * This property is for compatibility with the Dirent class as of
+       * Node v20, where Dirent['parentPath'] refers to the path of the
+       * directory that was passed to readdir. For root entries, it's the path
+       * to the entry itself.
+       */
+      get parentPath() {
+        return (this.parent || this).fullpath();
+      }
+      /**
+       * Deprecated alias for Dirent['parentPath'] Somewhat counterintuitively,
+       * this property refers to the *parent* path, not the path object itself.
+       *
+       * @deprecated
+       */
+      get path() {
+        return this.parentPath;
+      }
+      /**
+       * Do not create new Path objects directly.  They should always be accessed
+       * via the PathScurry class or other methods on the Path class.
+       *
+       * @internal
+       */
+      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
+        this.name = name;
+        this.#matchName = nocase ? normalizeNocase(name) : normalize2(name);
+        this.#type = type2 & TYPEMASK;
+        this.nocase = nocase;
+        this.roots = roots;
+        this.root = root || this;
+        this.#children = children;
+        this.#fullpath = opts.fullpath;
+        this.#relative = opts.relative;
+        this.#relativePosix = opts.relativePosix;
+        this.parent = opts.parent;
+        if (this.parent) {
+          this.#fs = this.parent.#fs;
+        } else {
+          this.#fs = fsFromOption(opts.fs);
         }
       }
-      (0, core_1.info)(`Artifact name is valid!`);
-    }
-    exports2.validateArtifactName = validateArtifactName;
-    function validateFilePath(path7) {
-      if (!path7) {
-        throw new Error(`Provided file path input during validation is empty`);
+      /**
+       * Returns the depth of the Path object from its root.
+       *
+       * For example, a path at `/foo/bar` would have a depth of 2.
+       */
+      depth() {
+        if (this.#depth !== void 0)
+          return this.#depth;
+        if (!this.parent)
+          return this.#depth = 0;
+        return this.#depth = this.parent.depth() + 1;
       }
-      for (const [invalidCharacterKey, errorMessageForCharacter] of invalidArtifactFilePathCharacters) {
-        if (path7.includes(invalidCharacterKey)) {
-          throw new Error(`The path for one of the files in artifact is not valid: ${path7}. Contains the following character: ${errorMessageForCharacter}
-          
-Invalid characters include: ${Array.from(invalidArtifactFilePathCharacters.values()).toString()}
-          
-The following characters are not allowed in files that are uploaded due to limitations with certain file systems such as NTFS. To maintain file system agnostic behavior, these characters are intentionally not allowed to prevent potential problems with downloads on different file systems.
-          `);
+      /**
+       * @internal
+       */
+      childrenCache() {
+        return this.#children;
+      }
+      /**
+       * Get the Path object referenced by the string path, resolved from this Path
+       */
+      resolve(path7) {
+        if (!path7) {
+          return this;
         }
+        const rootPath = this.getRootString(path7);
+        const dir = path7.substring(rootPath.length);
+        const dirParts = dir.split(this.splitSep);
+        const result = rootPath ? this.getRoot(rootPath).#resolveParts(dirParts) : this.#resolveParts(dirParts);
+        return result;
       }
-    }
-    exports2.validateFilePath = validateFilePath;
-  }
-});
-
-// node_modules/@actions/artifact/package.json
-var require_package3 = __commonJS({
-  "node_modules/@actions/artifact/package.json"(exports2, module2) {
-    module2.exports = {
-      name: "@actions/artifact",
-      version: "5.0.3",
-      preview: true,
-      description: "Actions artifact lib",
-      keywords: [
-        "github",
-        "actions",
-        "artifact"
-      ],
-      homepage: "https://github.com/actions/toolkit/tree/main/packages/artifact",
-      license: "MIT",
-      main: "lib/artifact.js",
-      types: "lib/artifact.d.ts",
-      directories: {
-        lib: "lib",
-        test: "__tests__"
-      },
-      files: [
-        "lib",
-        "!.DS_Store"
-      ],
-      publishConfig: {
-        access: "public"
-      },
-      repository: {
-        type: "git",
-        url: "git+https://github.com/actions/toolkit.git",
-        directory: "packages/artifact"
-      },
-      scripts: {
-        "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json",
-        test: "cd ../../ && npm run test ./packages/artifact",
-        bootstrap: "cd ../../ && npm run bootstrap",
-        "tsc-run": "tsc",
-        tsc: "npm run bootstrap && npm run tsc-run",
-        "gen:docs": "typedoc --plugin typedoc-plugin-markdown --out docs/generated src/artifact.ts --githubPages false --readme none"
-      },
-      bugs: {
-        url: "https://github.com/actions/toolkit/issues"
-      },
-      dependencies: {
-        "@actions/core": "^2.0.0",
-        "@actions/github": "^6.0.1",
-        "@actions/http-client": "^3.0.2",
-        "@azure/storage-blob": "^12.29.1",
-        "@octokit/core": "^5.2.1",
-        "@octokit/plugin-request-log": "^1.0.4",
-        "@octokit/plugin-retry": "^3.0.9",
-        "@octokit/request": "^8.4.1",
-        "@octokit/request-error": "^5.1.1",
-        "@protobuf-ts/plugin": "^2.2.3-alpha.1",
-        archiver: "^7.0.1",
-        "jwt-decode": "^3.1.2",
-        "unzip-stream": "^0.3.1"
-      },
-      devDependencies: {
-        "@types/archiver": "^5.3.2",
-        "@types/unzip-stream": "^0.3.4",
-        typedoc: "^0.28.13",
-        "typedoc-plugin-markdown": "^3.17.1",
-        typescript: "^5.2.2"
-      },
-      overrides: {
-        "uri-js": "npm:uri-js-replace@^1.0.1",
-        "node-fetch": "^3.3.2"
+      #resolveParts(dirParts) {
+        let p = this;
+        for (const part of dirParts) {
+          p = p.child(part);
+        }
+        return p;
       }
-    };
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/shared/user-agent.js
-var require_user_agent2 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/shared/user-agent.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getUserAgentString = void 0;
-    var packageJson = require_package3();
-    function getUserAgentString() {
-      return `@actions/artifact-${packageJson.version}`;
-    }
-    exports2.getUserAgentString = getUserAgentString;
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/shared/errors.js
-var require_errors4 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/shared/errors.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.UsageError = exports2.NetworkError = exports2.GHESNotSupportedError = exports2.ArtifactNotFoundError = exports2.InvalidResponseError = exports2.FilesNotFoundError = void 0;
-    var FilesNotFoundError = class extends Error {
-      constructor(files = []) {
-        let message = "No files were found to upload";
-        if (files.length > 0) {
-          message += `: ${files.join(", ")}`;
+      /**
+       * Returns the cached children Path objects, if still available.  If they
+       * have fallen out of the cache, then returns an empty array, and resets the
+       * READDIR_CALLED bit, so that future calls to readdir() will require an fs
+       * lookup.
+       *
+       * @internal
+       */
+      children() {
+        const cached = this.#children.get(this);
+        if (cached) {
+          return cached;
         }
-        super(message);
-        this.files = files;
-        this.name = "FilesNotFoundError";
+        const children = Object.assign([], { provisional: 0 });
+        this.#children.set(this, children);
+        this.#type &= ~READDIR_CALLED;
+        return children;
       }
-    };
-    exports2.FilesNotFoundError = FilesNotFoundError;
-    var InvalidResponseError = class extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "InvalidResponseError";
+      /**
+       * Resolves a path portion and returns or creates the child Path.
+       *
+       * Returns `this` if pathPart is `''` or `'.'`, or `parent` if pathPart is
+       * `'..'`.
+       *
+       * This should not be called directly.  If `pathPart` contains any path
+       * separators, it will lead to unsafe undefined behavior.
+       *
+       * Use `Path.resolve()` instead.
+       *
+       * @internal
+       */
+      child(pathPart, opts) {
+        if (pathPart === "" || pathPart === ".") {
+          return this;
+        }
+        if (pathPart === "..") {
+          return this.parent || this;
+        }
+        const children = this.children();
+        const name = this.nocase ? normalizeNocase(pathPart) : normalize2(pathPart);
+        for (const p of children) {
+          if (p.#matchName === name) {
+            return p;
+          }
+        }
+        const s = this.parent ? this.sep : "";
+        const fullpath = this.#fullpath ? this.#fullpath + s + pathPart : void 0;
+        const pchild = this.newChild(pathPart, UNKNOWN, {
+          ...opts,
+          parent: this,
+          fullpath
+        });
+        if (!this.canReaddir()) {
+          pchild.#type |= ENOENT;
+        }
+        children.push(pchild);
+        return pchild;
       }
-    };
-    exports2.InvalidResponseError = InvalidResponseError;
-    var ArtifactNotFoundError = class extends Error {
-      constructor(message = "Artifact not found") {
-        super(message);
-        this.name = "ArtifactNotFoundError";
+      /**
+       * The relative path from the cwd. If it does not share an ancestor with
+       * the cwd, then this ends up being equivalent to the fullpath()
+       */
+      relative() {
+        if (this.isCWD)
+          return "";
+        if (this.#relative !== void 0) {
+          return this.#relative;
+        }
+        const name = this.name;
+        const p = this.parent;
+        if (!p) {
+          return this.#relative = this.name;
+        }
+        const pv = p.relative();
+        return pv + (!pv || !p.parent ? "" : this.sep) + name;
       }
-    };
-    exports2.ArtifactNotFoundError = ArtifactNotFoundError;
-    var GHESNotSupportedError = class extends Error {
-      constructor(message = "@actions/artifact v2.0.0+, upload-artifact@v4+ and download-artifact@v4+ are not currently supported on GHES.") {
-        super(message);
-        this.name = "GHESNotSupportedError";
+      /**
+       * The relative path from the cwd, using / as the path separator.
+       * If it does not share an ancestor with
+       * the cwd, then this ends up being equivalent to the fullpathPosix()
+       * On posix systems, this is identical to relative().
+       */
+      relativePosix() {
+        if (this.sep === "/")
+          return this.relative();
+        if (this.isCWD)
+          return "";
+        if (this.#relativePosix !== void 0)
+          return this.#relativePosix;
+        const name = this.name;
+        const p = this.parent;
+        if (!p) {
+          return this.#relativePosix = this.fullpathPosix();
+        }
+        const pv = p.relativePosix();
+        return pv + (!pv || !p.parent ? "" : "/") + name;
       }
-    };
-    exports2.GHESNotSupportedError = GHESNotSupportedError;
-    var NetworkError = class extends Error {
-      constructor(code) {
-        const message = `Unable to make request: ${code}
-If you are using self-hosted runners, please make sure your runner has access to all GitHub endpoints: https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#communication-between-self-hosted-runners-and-github`;
-        super(message);
-        this.code = code;
-        this.name = "NetworkError";
+      /**
+       * The fully resolved path string for this Path entry
+       */
+      fullpath() {
+        if (this.#fullpath !== void 0) {
+          return this.#fullpath;
+        }
+        const name = this.name;
+        const p = this.parent;
+        if (!p) {
+          return this.#fullpath = this.name;
+        }
+        const pv = p.fullpath();
+        const fp = pv + (!p.parent ? "" : this.sep) + name;
+        return this.#fullpath = fp;
       }
-    };
-    exports2.NetworkError = NetworkError;
-    NetworkError.isNetworkErrorCode = (code) => {
-      if (!code)
-        return false;
-      return [
-        "ECONNRESET",
-        "ENOTFOUND",
-        "ETIMEDOUT",
-        "ECONNREFUSED",
-        "EHOSTUNREACH"
-      ].includes(code);
-    };
-    var UsageError = class extends Error {
-      constructor() {
-        const message = `Artifact storage quota has been hit. Unable to upload any new artifacts. Usage is recalculated every 6-12 hours.
-More info on storage limits: https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#calculating-minute-and-storage-spending`;
-        super(message);
-        this.name = "UsageError";
+      /**
+       * On platforms other than windows, this is identical to fullpath.
+       *
+       * On windows, this is overridden to return the forward-slash form of the
+       * full UNC path.
+       */
+      fullpathPosix() {
+        if (this.#fullpathPosix !== void 0)
+          return this.#fullpathPosix;
+        if (this.sep === "/")
+          return this.#fullpathPosix = this.fullpath();
+        if (!this.parent) {
+          const p2 = this.fullpath().replace(/\\/g, "/");
+          if (/^[a-z]:\//i.test(p2)) {
+            return this.#fullpathPosix = `//?/${p2}`;
+          } else {
+            return this.#fullpathPosix = p2;
+          }
+        }
+        const p = this.parent;
+        const pfpp = p.fullpathPosix();
+        const fpp = pfpp + (!pfpp || !p.parent ? "" : "/") + this.name;
+        return this.#fullpathPosix = fpp;
       }
-    };
-    exports2.UsageError = UsageError;
-    UsageError.isUsageErrorMessage = (msg) => {
-      if (!msg)
-        return false;
-      return msg.includes("insufficient usage");
-    };
-  }
-});
-
-// node_modules/jwt-decode/build/jwt-decode.cjs.js
-var require_jwt_decode_cjs = __commonJS({
-  "node_modules/jwt-decode/build/jwt-decode.cjs.js"(exports2, module2) {
-    "use strict";
-    function e(e2) {
-      this.message = e2;
-    }
-    e.prototype = new Error(), e.prototype.name = "InvalidCharacterError";
-    var r = "undefined" != typeof window && window.atob && window.atob.bind(window) || function(r2) {
-      var t2 = String(r2).replace(/=+$/, "");
-      if (t2.length % 4 == 1) throw new e("'atob' failed: The string to be decoded is not correctly encoded.");
-      for (var n2, o2, a2 = 0, i = 0, c = ""; o2 = t2.charAt(i++); ~o2 && (n2 = a2 % 4 ? 64 * n2 + o2 : o2, a2++ % 4) ? c += String.fromCharCode(255 & n2 >> (-2 * a2 & 6)) : 0) o2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(o2);
-      return c;
-    };
-    function t(e2) {
-      var t2 = e2.replace(/-/g, "+").replace(/_/g, "/");
-      switch (t2.length % 4) {
-        case 0:
-          break;
-        case 2:
-          t2 += "==";
-          break;
-        case 3:
-          t2 += "=";
-          break;
-        default:
-          throw "Illegal base64url string!";
+      /**
+       * Is the Path of an unknown type?
+       *
+       * Note that we might know *something* about it if there has been a previous
+       * filesystem operation, for example that it does not exist, or is not a
+       * link, or whether it has child entries.
+       */
+      isUnknown() {
+        return (this.#type & IFMT) === UNKNOWN;
       }
-      try {
-        return (function(e3) {
-          return decodeURIComponent(r(e3).replace(/(.)/g, (function(e4, r2) {
-            var t3 = r2.charCodeAt(0).toString(16).toUpperCase();
-            return t3.length < 2 && (t3 = "0" + t3), "%" + t3;
-          })));
-        })(t2);
-      } catch (e3) {
-        return r(t2);
+      isType(type2) {
+        return this[`is${type2}`]();
       }
-    }
-    function n(e2) {
-      this.message = e2;
-    }
-    function o(e2, r2) {
-      if ("string" != typeof e2) throw new n("Invalid token specified");
-      var o2 = true === (r2 = r2 || {}).header ? 0 : 1;
-      try {
-        return JSON.parse(t(e2.split(".")[o2]));
-      } catch (e3) {
-        throw new n("Invalid token specified: " + e3.message);
+      getType() {
+        return this.isUnknown() ? "Unknown" : this.isDirectory() ? "Directory" : this.isFile() ? "File" : this.isSymbolicLink() ? "SymbolicLink" : this.isFIFO() ? "FIFO" : this.isCharacterDevice() ? "CharacterDevice" : this.isBlockDevice() ? "BlockDevice" : (
+          /* c8 ignore start */
+          this.isSocket() ? "Socket" : "Unknown"
+        );
       }
-    }
-    n.prototype = new Error(), n.prototype.name = "InvalidTokenError";
-    var a = o;
-    a.default = o, a.InvalidTokenError = n, module2.exports = a;
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/shared/util.js
-var require_util18 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/shared/util.js"(exports2) {
-    "use strict";
-    var __createBinding2 = 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];
-        } };
+      /**
+       * Is the Path a regular file?
+       */
+      isFile() {
+        return (this.#type & IFMT) === IFREG;
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      /**
+       * Is the Path a directory?
+       */
+      isDirectory() {
+        return (this.#type & IFMT) === IFDIR;
       }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.maskSecretUrls = exports2.maskSigUrl = exports2.getBackendIdsFromToken = void 0;
-    var core14 = __importStar2(require_core());
-    var config_1 = require_config2();
-    var jwt_decode_1 = __importDefault2(require_jwt_decode_cjs());
-    var core_1 = require_core();
-    var InvalidJwtError = new Error("Failed to get backend IDs: The provided JWT token is invalid and/or missing claims");
-    function getBackendIdsFromToken() {
-      const token = (0, config_1.getRuntimeToken)();
-      const decoded = (0, jwt_decode_1.default)(token);
-      if (!decoded.scp) {
-        throw InvalidJwtError;
+      /**
+       * Is the path a character device?
+       */
+      isCharacterDevice() {
+        return (this.#type & IFMT) === IFCHR;
       }
-      const scpParts = decoded.scp.split(" ");
-      if (scpParts.length === 0) {
-        throw InvalidJwtError;
+      /**
+       * Is the path a block device?
+       */
+      isBlockDevice() {
+        return (this.#type & IFMT) === IFBLK;
       }
-      for (const scopes of scpParts) {
-        const scopeParts = scopes.split(":");
-        if ((scopeParts === null || scopeParts === void 0 ? void 0 : scopeParts[0]) !== "Actions.Results") {
-          continue;
+      /**
+       * Is the path a FIFO pipe?
+       */
+      isFIFO() {
+        return (this.#type & IFMT) === IFIFO;
+      }
+      /**
+       * Is the path a socket?
+       */
+      isSocket() {
+        return (this.#type & IFMT) === IFSOCK;
+      }
+      /**
+       * Is the path a symbolic link?
+       */
+      isSymbolicLink() {
+        return (this.#type & IFLNK) === IFLNK;
+      }
+      /**
+       * Return the entry if it has been subject of a successful lstat, or
+       * undefined otherwise.
+       *
+       * Does not read the filesystem, so an undefined result *could* simply
+       * mean that we haven't called lstat on it.
+       */
+      lstatCached() {
+        return this.#type & LSTAT_CALLED ? this : void 0;
+      }
+      /**
+       * Return the cached link target if the entry has been the subject of a
+       * successful readlink, or undefined otherwise.
+       *
+       * Does not read the filesystem, so an undefined result *could* just mean we
+       * don't have any cached data. Only use it if you are very sure that a
+       * readlink() has been called at some point.
+       */
+      readlinkCached() {
+        return this.#linkTarget;
+      }
+      /**
+       * Returns the cached realpath target if the entry has been the subject
+       * of a successful realpath, or undefined otherwise.
+       *
+       * Does not read the filesystem, so an undefined result *could* just mean we
+       * don't have any cached data. Only use it if you are very sure that a
+       * realpath() has been called at some point.
+       */
+      realpathCached() {
+        return this.#realpath;
+      }
+      /**
+       * Returns the cached child Path entries array if the entry has been the
+       * subject of a successful readdir(), or [] otherwise.
+       *
+       * Does not read the filesystem, so an empty array *could* just mean we
+       * don't have any cached data. Only use it if you are very sure that a
+       * readdir() has been called recently enough to still be valid.
+       */
+      readdirCached() {
+        const children = this.children();
+        return children.slice(0, children.provisional);
+      }
+      /**
+       * Return true if it's worth trying to readlink.  Ie, we don't (yet) have
+       * any indication that readlink will definitely fail.
+       *
+       * Returns false if the path is known to not be a symlink, if a previous
+       * readlink failed, or if the entry does not exist.
+       */
+      canReadlink() {
+        if (this.#linkTarget)
+          return true;
+        if (!this.parent)
+          return false;
+        const ifmt = this.#type & IFMT;
+        return !(ifmt !== UNKNOWN && ifmt !== IFLNK || this.#type & ENOREADLINK || this.#type & ENOENT);
+      }
+      /**
+       * Return true if readdir has previously been successfully called on this
+       * path, indicating that cachedReaddir() is likely valid.
+       */
+      calledReaddir() {
+        return !!(this.#type & READDIR_CALLED);
+      }
+      /**
+       * Returns true if the path is known to not exist. That is, a previous lstat
+       * or readdir failed to verify its existence when that would have been
+       * expected, or a parent entry was marked either enoent or enotdir.
+       */
+      isENOENT() {
+        return !!(this.#type & ENOENT);
+      }
+      /**
+       * Return true if the path is a match for the given path name.  This handles
+       * case sensitivity and unicode normalization.
+       *
+       * Note: even on case-sensitive systems, it is **not** safe to test the
+       * equality of the `.name` property to determine whether a given pathname
+       * matches, due to unicode normalization mismatches.
+       *
+       * Always use this method instead of testing the `path.name` property
+       * directly.
+       */
+      isNamed(n) {
+        return !this.nocase ? this.#matchName === normalize2(n) : this.#matchName === normalizeNocase(n);
+      }
+      /**
+       * Return the Path object corresponding to the target of a symbolic link.
+       *
+       * If the Path is not a symbolic link, or if the readlink call fails for any
+       * reason, `undefined` is returned.
+       *
+       * Result is cached, and thus may be outdated if the filesystem is mutated.
+       */
+      async readlink() {
+        const target = this.#linkTarget;
+        if (target) {
+          return target;
         }
-        if (scopeParts.length !== 3) {
-          throw InvalidJwtError;
+        if (!this.canReadlink()) {
+          return void 0;
+        }
+        if (!this.parent) {
+          return void 0;
+        }
+        try {
+          const read = await this.#fs.promises.readlink(this.fullpath());
+          const linkTarget = (await this.parent.realpath())?.resolve(read);
+          if (linkTarget) {
+            return this.#linkTarget = linkTarget;
+          }
+        } catch (er) {
+          this.#readlinkFail(er.code);
+          return void 0;
+        }
+      }
+      /**
+       * Synchronous {@link PathBase.readlink}
+       */
+      readlinkSync() {
+        const target = this.#linkTarget;
+        if (target) {
+          return target;
+        }
+        if (!this.canReadlink()) {
+          return void 0;
+        }
+        if (!this.parent) {
+          return void 0;
+        }
+        try {
+          const read = this.#fs.readlinkSync(this.fullpath());
+          const linkTarget = this.parent.realpathSync()?.resolve(read);
+          if (linkTarget) {
+            return this.#linkTarget = linkTarget;
+          }
+        } catch (er) {
+          this.#readlinkFail(er.code);
+          return void 0;
+        }
+      }
+      #readdirSuccess(children) {
+        this.#type |= READDIR_CALLED;
+        for (let p = children.provisional; p < children.length; p++) {
+          const c = children[p];
+          if (c)
+            c.#markENOENT();
+        }
+      }
+      #markENOENT() {
+        if (this.#type & ENOENT)
+          return;
+        this.#type = (this.#type | ENOENT) & IFMT_UNKNOWN;
+        this.#markChildrenENOENT();
+      }
+      #markChildrenENOENT() {
+        const children = this.children();
+        children.provisional = 0;
+        for (const p of children) {
+          p.#markENOENT();
+        }
+      }
+      #markENOREALPATH() {
+        this.#type |= ENOREALPATH;
+        this.#markENOTDIR();
+      }
+      // save the information when we know the entry is not a dir
+      #markENOTDIR() {
+        if (this.#type & ENOTDIR)
+          return;
+        let t = this.#type;
+        if ((t & IFMT) === IFDIR)
+          t &= IFMT_UNKNOWN;
+        this.#type = t | ENOTDIR;
+        this.#markChildrenENOENT();
+      }
+      #readdirFail(code = "") {
+        if (code === "ENOTDIR" || code === "EPERM") {
+          this.#markENOTDIR();
+        } else if (code === "ENOENT") {
+          this.#markENOENT();
+        } else {
+          this.children().provisional = 0;
+        }
+      }
+      #lstatFail(code = "") {
+        if (code === "ENOTDIR") {
+          const p = this.parent;
+          p.#markENOTDIR();
+        } else if (code === "ENOENT") {
+          this.#markENOENT();
         }
-        const ids = {
-          workflowRunBackendId: scopeParts[1],
-          workflowJobRunBackendId: scopeParts[2]
-        };
-        core14.debug(`Workflow Run Backend ID: ${ids.workflowRunBackendId}`);
-        core14.debug(`Workflow Job Run Backend ID: ${ids.workflowJobRunBackendId}`);
-        return ids;
       }
-      throw InvalidJwtError;
-    }
-    exports2.getBackendIdsFromToken = getBackendIdsFromToken;
-    function maskSigUrl(url) {
-      if (!url)
-        return;
-      try {
-        const parsedUrl = new URL(url);
-        const signature = parsedUrl.searchParams.get("sig");
-        if (signature) {
-          (0, core_1.setSecret)(signature);
-          (0, core_1.setSecret)(encodeURIComponent(signature));
+      #readlinkFail(code = "") {
+        let ter = this.#type;
+        ter |= ENOREADLINK;
+        if (code === "ENOENT")
+          ter |= ENOENT;
+        if (code === "EINVAL" || code === "UNKNOWN") {
+          ter &= IFMT_UNKNOWN;
+        }
+        this.#type = ter;
+        if (code === "ENOTDIR" && this.parent) {
+          this.parent.#markENOTDIR();
         }
-      } catch (error3) {
-        (0, core_1.debug)(`Failed to parse URL: ${url} ${error3 instanceof Error ? error3.message : String(error3)}`);
       }
-    }
-    exports2.maskSigUrl = maskSigUrl;
-    function maskSecretUrls(body) {
-      if (typeof body !== "object" || body === null) {
-        (0, core_1.debug)("body is not an object or is null");
-        return;
+      #readdirAddChild(e, c) {
+        return this.#readdirMaybePromoteChild(e, c) || this.#readdirAddNewChild(e, c);
       }
-      if ("signed_upload_url" in body && typeof body.signed_upload_url === "string") {
-        maskSigUrl(body.signed_upload_url);
+      #readdirAddNewChild(e, c) {
+        const type2 = entToType(e);
+        const child = this.newChild(e.name, type2, { parent: this });
+        const ifmt = child.#type & IFMT;
+        if (ifmt !== IFDIR && ifmt !== IFLNK && ifmt !== UNKNOWN) {
+          child.#type |= ENOTDIR;
+        }
+        c.unshift(child);
+        c.provisional++;
+        return child;
       }
-      if ("signed_url" in body && typeof body.signed_url === "string") {
-        maskSigUrl(body.signed_url);
+      #readdirMaybePromoteChild(e, c) {
+        for (let p = c.provisional; p < c.length; p++) {
+          const pchild = c[p];
+          const name = this.nocase ? normalizeNocase(e.name) : normalize2(e.name);
+          if (name !== pchild.#matchName) {
+            continue;
+          }
+          return this.#readdirPromoteChild(e, pchild, p, c);
+        }
       }
-    }
-    exports2.maskSecretUrls = maskSecretUrls;
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/shared/artifact-twirp-client.js
-var require_artifact_twirp_client2 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/shared/artifact-twirp-client.js"(exports2) {
-    "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve5) {
-          resolve5(value);
-        });
+      #readdirPromoteChild(e, p, index, c) {
+        const v = p.name;
+        p.#type = p.#type & IFMT_UNKNOWN | entToType(e);
+        if (v !== e.name)
+          p.name = e.name;
+        if (index !== c.provisional) {
+          if (index === c.length - 1)
+            c.pop();
+          else
+            c.splice(index, 1);
+          c.unshift(p);
+        }
+        c.provisional++;
+        return p;
       }
-      return new (P || (P = Promise))(function(resolve5, reject) {
-        function fulfilled(value) {
+      /**
+       * Call lstat() on this Path, and update all known information that can be
+       * determined.
+       *
+       * Note that unlike `fs.lstat()`, the returned value does not contain some
+       * information, such as `mode`, `dev`, `nlink`, and `ino`.  If that
+       * information is required, you will need to call `fs.lstat` yourself.
+       *
+       * If the Path refers to a nonexistent file, or if the lstat call fails for
+       * any reason, `undefined` is returned.  Otherwise the updated Path object is
+       * returned.
+       *
+       * Results are cached, and thus may be out of date if the filesystem is
+       * mutated.
+       */
+      async lstat() {
+        if ((this.#type & ENOENT) === 0) {
           try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
+            this.#applyStat(await this.#fs.promises.lstat(this.fullpath()));
+            return this;
+          } catch (er) {
+            this.#lstatFail(er.code);
           }
         }
-        function rejected(value) {
+      }
+      /**
+       * synchronous {@link PathBase.lstat}
+       */
+      lstatSync() {
+        if ((this.#type & ENOENT) === 0) {
           try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
+            this.#applyStat(this.#fs.lstatSync(this.fullpath()));
+            return this;
+          } catch (er) {
+            this.#lstatFail(er.code);
           }
         }
-        function step(result) {
-          result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected);
+      }
+      #applyStat(st) {
+        const { atime, atimeMs, birthtime, birthtimeMs, blksize, blocks, ctime, ctimeMs, dev, gid, ino, mode, mtime, mtimeMs, nlink, rdev, size, uid } = st;
+        this.#atime = atime;
+        this.#atimeMs = atimeMs;
+        this.#birthtime = birthtime;
+        this.#birthtimeMs = birthtimeMs;
+        this.#blksize = blksize;
+        this.#blocks = blocks;
+        this.#ctime = ctime;
+        this.#ctimeMs = ctimeMs;
+        this.#dev = dev;
+        this.#gid = gid;
+        this.#ino = ino;
+        this.#mode = mode;
+        this.#mtime = mtime;
+        this.#mtimeMs = mtimeMs;
+        this.#nlink = nlink;
+        this.#rdev = rdev;
+        this.#size = size;
+        this.#uid = uid;
+        const ifmt = entToType(st);
+        this.#type = this.#type & IFMT_UNKNOWN | ifmt | LSTAT_CALLED;
+        if (ifmt !== UNKNOWN && ifmt !== IFDIR && ifmt !== IFLNK) {
+          this.#type |= ENOTDIR;
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.internalArtifactTwirpClient = void 0;
-    var http_client_1 = require_lib();
-    var auth_1 = require_auth();
-    var core_1 = require_core();
-    var generated_1 = require_generated();
-    var config_1 = require_config2();
-    var user_agent_1 = require_user_agent2();
-    var errors_1 = require_errors4();
-    var util_1 = require_util18();
-    var ArtifactHttpClient = class {
-      constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) {
-        this.maxAttempts = 5;
-        this.baseRetryIntervalMilliseconds = 3e3;
-        this.retryMultiplier = 1.5;
-        const token = (0, config_1.getRuntimeToken)();
-        this.baseUrl = (0, config_1.getResultsServiceUrl)();
-        if (maxAttempts) {
-          this.maxAttempts = maxAttempts;
+      }
+      #onReaddirCB = [];
+      #readdirCBInFlight = false;
+      #callOnReaddirCB(children) {
+        this.#readdirCBInFlight = false;
+        const cbs = this.#onReaddirCB.slice();
+        this.#onReaddirCB.length = 0;
+        cbs.forEach((cb) => cb(null, children));
+      }
+      /**
+       * Standard node-style callback interface to get list of directory entries.
+       *
+       * If the Path cannot or does not contain any children, then an empty array
+       * is returned.
+       *
+       * Results are cached, and thus may be out of date if the filesystem is
+       * mutated.
+       *
+       * @param cb The callback called with (er, entries).  Note that the `er`
+       * param is somewhat extraneous, as all readdir() errors are handled and
+       * simply result in an empty set of entries being returned.
+       * @param allowZalgo Boolean indicating that immediately known results should
+       * *not* be deferred with `queueMicrotask`. Defaults to `false`. Release
+       * zalgo at your peril, the dark pony lord is devious and unforgiving.
+       */
+      readdirCB(cb, allowZalgo = false) {
+        if (!this.canReaddir()) {
+          if (allowZalgo)
+            cb(null, []);
+          else
+            queueMicrotask(() => cb(null, []));
+          return;
         }
-        if (baseRetryIntervalMilliseconds) {
-          this.baseRetryIntervalMilliseconds = baseRetryIntervalMilliseconds;
+        const children = this.children();
+        if (this.calledReaddir()) {
+          const c = children.slice(0, children.provisional);
+          if (allowZalgo)
+            cb(null, c);
+          else
+            queueMicrotask(() => cb(null, c));
+          return;
         }
-        if (retryMultiplier) {
-          this.retryMultiplier = retryMultiplier;
+        this.#onReaddirCB.push(cb);
+        if (this.#readdirCBInFlight) {
+          return;
         }
-        this.httpClient = new http_client_1.HttpClient(userAgent2, [
-          new auth_1.BearerCredentialHandler(token)
-        ]);
+        this.#readdirCBInFlight = true;
+        const fullpath = this.fullpath();
+        this.#fs.readdir(fullpath, { withFileTypes: true }, (er, entries) => {
+          if (er) {
+            this.#readdirFail(er.code);
+            children.provisional = 0;
+          } else {
+            for (const e of entries) {
+              this.#readdirAddChild(e, children);
+            }
+            this.#readdirSuccess(children);
+          }
+          this.#callOnReaddirCB(children.slice(0, children.provisional));
+          return;
+        });
       }
-      // This function satisfies the Rpc interface. It is compatible with the JSON
-      // JSON generated client.
-      request(service, method, contentType, data) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          const url = new URL(`/twirp/${service}/${method}`, this.baseUrl).href;
-          (0, core_1.debug)(`[Request] ${method} ${url}`);
-          const headers = {
-            "Content-Type": contentType
+      #asyncReaddirInFlight;
+      /**
+       * Return an array of known child entries.
+       *
+       * If the Path cannot or does not contain any children, then an empty array
+       * is returned.
+       *
+       * Results are cached, and thus may be out of date if the filesystem is
+       * mutated.
+       */
+      async readdir() {
+        if (!this.canReaddir()) {
+          return [];
+        }
+        const children = this.children();
+        if (this.calledReaddir()) {
+          return children.slice(0, children.provisional);
+        }
+        const fullpath = this.fullpath();
+        if (this.#asyncReaddirInFlight) {
+          await this.#asyncReaddirInFlight;
+        } else {
+          let resolve5 = () => {
           };
+          this.#asyncReaddirInFlight = new Promise((res) => resolve5 = res);
           try {
-            const { body } = yield this.retryableRequest(() => __awaiter2(this, void 0, void 0, function* () {
-              return this.httpClient.post(url, JSON.stringify(data), headers);
-            }));
-            return body;
-          } catch (error3) {
-            throw new Error(`Failed to ${method}: ${error3.message}`);
+            for (const e of await this.#fs.promises.readdir(fullpath, {
+              withFileTypes: true
+            })) {
+              this.#readdirAddChild(e, children);
+            }
+            this.#readdirSuccess(children);
+          } catch (er) {
+            this.#readdirFail(er.code);
+            children.provisional = 0;
           }
-        });
+          this.#asyncReaddirInFlight = void 0;
+          resolve5();
+        }
+        return children.slice(0, children.provisional);
       }
-      retryableRequest(operation) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          let attempt = 0;
-          let errorMessage = "";
-          let rawBody = "";
-          while (attempt < this.maxAttempts) {
-            let isRetryable = false;
-            try {
-              const response = yield operation();
-              const statusCode = response.message.statusCode;
-              rawBody = yield response.readBody();
-              (0, core_1.debug)(`[Response] - ${response.message.statusCode}`);
-              (0, core_1.debug)(`Headers: ${JSON.stringify(response.message.headers, null, 2)}`);
-              const body = JSON.parse(rawBody);
-              (0, util_1.maskSecretUrls)(body);
-              (0, core_1.debug)(`Body: ${JSON.stringify(body, null, 2)}`);
-              if (this.isSuccessStatusCode(statusCode)) {
-                return { response, body };
-              }
-              isRetryable = this.isRetryableHttpStatusCode(statusCode);
-              errorMessage = `Failed request: (${statusCode}) ${response.message.statusMessage}`;
-              if (body.msg) {
-                if (errors_1.UsageError.isUsageErrorMessage(body.msg)) {
-                  throw new errors_1.UsageError();
-                }
-                errorMessage = `${errorMessage}: ${body.msg}`;
-              }
-            } catch (error3) {
-              if (error3 instanceof SyntaxError) {
-                (0, core_1.debug)(`Raw Body: ${rawBody}`);
-              }
-              if (error3 instanceof errors_1.UsageError) {
-                throw error3;
-              }
-              if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) {
-                throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code);
-              }
-              isRetryable = true;
-              errorMessage = error3.message;
-            }
-            if (!isRetryable) {
-              throw new Error(`Received non-retryable error: ${errorMessage}`);
-            }
-            if (attempt + 1 === this.maxAttempts) {
-              throw new Error(`Failed to make request after ${this.maxAttempts} attempts: ${errorMessage}`);
-            }
-            const retryTimeMilliseconds = this.getExponentialRetryTimeMilliseconds(attempt);
-            (0, core_1.info)(`Attempt ${attempt + 1} of ${this.maxAttempts} failed with error: ${errorMessage}. Retrying request in ${retryTimeMilliseconds} ms...`);
-            yield this.sleep(retryTimeMilliseconds);
-            attempt++;
+      /**
+       * synchronous {@link PathBase.readdir}
+       */
+      readdirSync() {
+        if (!this.canReaddir()) {
+          return [];
+        }
+        const children = this.children();
+        if (this.calledReaddir()) {
+          return children.slice(0, children.provisional);
+        }
+        const fullpath = this.fullpath();
+        try {
+          for (const e of this.#fs.readdirSync(fullpath, {
+            withFileTypes: true
+          })) {
+            this.#readdirAddChild(e, children);
           }
-          throw new Error(`Request failed`);
-        });
+          this.#readdirSuccess(children);
+        } catch (er) {
+          this.#readdirFail(er.code);
+          children.provisional = 0;
+        }
+        return children.slice(0, children.provisional);
       }
-      isSuccessStatusCode(statusCode) {
-        if (!statusCode)
+      canReaddir() {
+        if (this.#type & ENOCHILD)
           return false;
-        return statusCode >= 200 && statusCode < 300;
-      }
-      isRetryableHttpStatusCode(statusCode) {
-        if (!statusCode)
+        const ifmt = IFMT & this.#type;
+        if (!(ifmt === UNKNOWN || ifmt === IFDIR || ifmt === IFLNK)) {
           return false;
-        const retryableStatusCodes = [
-          http_client_1.HttpCodes.BadGateway,
-          http_client_1.HttpCodes.GatewayTimeout,
-          http_client_1.HttpCodes.InternalServerError,
-          http_client_1.HttpCodes.ServiceUnavailable,
-          http_client_1.HttpCodes.TooManyRequests
-        ];
-        return retryableStatusCodes.includes(statusCode);
+        }
+        return true;
       }
-      sleep(milliseconds) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          return new Promise((resolve5) => setTimeout(resolve5, milliseconds));
-        });
+      shouldWalk(dirs, walkFilter) {
+        return (this.#type & IFDIR) === IFDIR && !(this.#type & ENOCHILD) && !dirs.has(this) && (!walkFilter || walkFilter(this));
       }
-      getExponentialRetryTimeMilliseconds(attempt) {
-        if (attempt < 0) {
-          throw new Error("attempt should be a positive integer");
-        }
-        if (attempt === 0) {
-          return this.baseRetryIntervalMilliseconds;
+      /**
+       * Return the Path object corresponding to path as resolved
+       * by realpath(3).
+       *
+       * If the realpath call fails for any reason, `undefined` is returned.
+       *
+       * Result is cached, and thus may be outdated if the filesystem is mutated.
+       * On success, returns a Path object.
+       */
+      async realpath() {
+        if (this.#realpath)
+          return this.#realpath;
+        if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type)
+          return void 0;
+        try {
+          const rp = await this.#fs.promises.realpath(this.fullpath());
+          return this.#realpath = this.resolve(rp);
+        } catch (_2) {
+          this.#markENOREALPATH();
         }
-        const minTime = this.baseRetryIntervalMilliseconds * Math.pow(this.retryMultiplier, attempt);
-        const maxTime = minTime * this.retryMultiplier;
-        return Math.trunc(Math.random() * (maxTime - minTime) + minTime);
       }
-    };
-    function internalArtifactTwirpClient(options) {
-      const client = new ArtifactHttpClient((0, user_agent_1.getUserAgentString)(), options === null || options === void 0 ? void 0 : options.maxAttempts, options === null || options === void 0 ? void 0 : options.retryIntervalMs, options === null || options === void 0 ? void 0 : options.retryMultiplier);
-      return new generated_1.ArtifactServiceClientJSON(client);
-    }
-    exports2.internalArtifactTwirpClient = internalArtifactTwirpClient;
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.js
-var require_upload_zip_specification = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.js"(exports2) {
-    "use strict";
-    var __createBinding2 = 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];
-        } };
+      /**
+       * Synchronous {@link realpath}
+       */
+      realpathSync() {
+        if (this.#realpath)
+          return this.#realpath;
+        if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type)
+          return void 0;
+        try {
+          const rp = this.#fs.realpathSync(this.fullpath());
+          return this.#realpath = this.resolve(rp);
+        } catch (_2) {
+          this.#markENOREALPATH();
+        }
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      /**
+       * Internal method to mark this Path object as the scurry cwd,
+       * called by {@link PathScurry#chdir}
+       *
+       * @internal
+       */
+      [setAsCwd](oldCwd) {
+        if (oldCwd === this)
+          return;
+        oldCwd.isCWD = false;
+        this.isCWD = true;
+        const changed = /* @__PURE__ */ new Set([]);
+        let rp = [];
+        let p = this;
+        while (p && p.parent) {
+          changed.add(p);
+          p.#relative = rp.join(this.sep);
+          p.#relativePosix = rp.join("/");
+          p = p.parent;
+          rp.push("..");
+        }
+        p = oldCwd;
+        while (p && p.parent && !changed.has(p)) {
+          p.#relative = void 0;
+          p.#relativePosix = void 0;
+          p = p.parent;
+        }
       }
-      __setModuleDefault2(result, mod);
-      return result;
     };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getUploadZipSpecification = exports2.validateRootDirectory = void 0;
-    var fs8 = __importStar2(require("fs"));
-    var core_1 = require_core();
-    var path_1 = require("path");
-    var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation();
-    function validateRootDirectory(rootDirectory) {
-      if (!fs8.existsSync(rootDirectory)) {
-        throw new Error(`The provided rootDirectory ${rootDirectory} does not exist`);
+    exports2.PathBase = PathBase;
+    var PathWin32 = class _PathWin32 extends PathBase {
+      /**
+       * Separator for generating path strings.
+       */
+      sep = "\\";
+      /**
+       * Separator for parsing path strings.
+       */
+      splitSep = eitherSep;
+      /**
+       * Do not create new Path objects directly.  They should always be accessed
+       * via the PathScurry class or other methods on the Path class.
+       *
+       * @internal
+       */
+      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
+        super(name, type2, root, roots, nocase, children, opts);
       }
-      if (!fs8.statSync(rootDirectory).isDirectory()) {
-        throw new Error(`The provided rootDirectory ${rootDirectory} is not a valid directory`);
+      /**
+       * @internal
+       */
+      newChild(name, type2 = UNKNOWN, opts = {}) {
+        return new _PathWin32(name, type2, this.root, this.roots, this.nocase, this.childrenCache(), opts);
       }
-      (0, core_1.info)(`Root directory input is valid!`);
-    }
-    exports2.validateRootDirectory = validateRootDirectory;
-    function getUploadZipSpecification(filesToZip, rootDirectory) {
-      const specification = [];
-      rootDirectory = (0, path_1.normalize)(rootDirectory);
-      rootDirectory = (0, path_1.resolve)(rootDirectory);
-      for (let file of filesToZip) {
-        const stats = fs8.lstatSync(file, { throwIfNoEntry: false });
-        if (!stats) {
-          throw new Error(`File ${file} does not exist`);
+      /**
+       * @internal
+       */
+      getRootString(path7) {
+        return node_path_1.win32.parse(path7).root;
+      }
+      /**
+       * @internal
+       */
+      getRoot(rootPath) {
+        rootPath = uncToDrive(rootPath.toUpperCase());
+        if (rootPath === this.root.name) {
+          return this.root;
         }
-        if (!stats.isDirectory()) {
-          file = (0, path_1.normalize)(file);
-          file = (0, path_1.resolve)(file);
-          if (!file.startsWith(rootDirectory)) {
-            throw new Error(`The rootDirectory: ${rootDirectory} is not a parent directory of the file: ${file}`);
+        for (const [compare2, root] of Object.entries(this.roots)) {
+          if (this.sameRoot(rootPath, compare2)) {
+            return this.roots[rootPath] = root;
           }
-          const uploadPath = file.replace(rootDirectory, "");
-          (0, path_and_artifact_name_validation_1.validateFilePath)(uploadPath);
-          specification.push({
-            sourcePath: file,
-            destinationPath: uploadPath,
-            stats
-          });
-        } else {
-          const directoryPath = file.replace(rootDirectory, "");
-          (0, path_and_artifact_name_validation_1.validateFilePath)(directoryPath);
-          specification.push({
-            sourcePath: null,
-            destinationPath: directoryPath,
-            stats
-          });
         }
+        return this.roots[rootPath] = new PathScurryWin32(rootPath, this).root;
       }
-      return specification;
-    }
-    exports2.getUploadZipSpecification = getUploadZipSpecification;
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/upload/blob-upload.js
-var require_blob_upload = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/blob-upload.js"(exports2) {
-    "use strict";
-    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      /**
+       * @internal
+       */
+      sameRoot(rootPath, compare2 = this.root.name) {
+        rootPath = rootPath.toUpperCase().replace(/\//g, "\\").replace(uncDriveRegexp, "$1\\");
+        return rootPath === compare2;
       }
-      __setModuleDefault2(result, mod);
-      return result;
     };
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve5) {
-          resolve5(value);
-        });
+    exports2.PathWin32 = PathWin32;
+    var PathPosix = class _PathPosix extends PathBase {
+      /**
+       * separator for parsing path strings
+       */
+      splitSep = "/";
+      /**
+       * separator for generating path strings
+       */
+      sep = "/";
+      /**
+       * Do not create new Path objects directly.  They should always be accessed
+       * via the PathScurry class or other methods on the Path class.
+       *
+       * @internal
+       */
+      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
+        super(name, type2, root, roots, nocase, children, opts);
       }
-      return new (P || (P = Promise))(function(resolve5, 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 ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.uploadZipToBlobStorage = void 0;
-    var storage_blob_1 = require_commonjs15();
-    var config_1 = require_config2();
-    var core14 = __importStar2(require_core());
-    var crypto2 = __importStar2(require("crypto"));
-    var stream = __importStar2(require("stream"));
-    var errors_1 = require_errors4();
-    function uploadZipToBlobStorage(authenticatedUploadURL, zipUploadStream) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        let uploadByteCount = 0;
-        let lastProgressTime = Date.now();
-        const abortController = new AbortController();
-        const chunkTimer = (interval) => __awaiter2(this, void 0, void 0, function* () {
-          return new Promise((resolve5, reject) => {
-            const timer = setInterval(() => {
-              if (Date.now() - lastProgressTime > interval) {
-                reject(new Error("Upload progress stalled."));
-              }
-            }, interval);
-            abortController.signal.addEventListener("abort", () => {
-              clearInterval(timer);
-              resolve5();
-            });
-          });
-        });
-        const maxConcurrency = (0, config_1.getConcurrency)();
-        const bufferSize = (0, config_1.getUploadChunkSize)();
-        const blobClient = new storage_blob_1.BlobClient(authenticatedUploadURL);
-        const blockBlobClient = blobClient.getBlockBlobClient();
-        core14.debug(`Uploading artifact zip to blob storage with maxConcurrency: ${maxConcurrency}, bufferSize: ${bufferSize}`);
-        const uploadCallback = (progress) => {
-          core14.info(`Uploaded bytes ${progress.loadedBytes}`);
-          uploadByteCount = progress.loadedBytes;
-          lastProgressTime = Date.now();
-        };
-        const options = {
-          blobHTTPHeaders: { blobContentType: "zip" },
-          onProgress: uploadCallback,
-          abortSignal: abortController.signal
-        };
-        let sha256Hash = void 0;
-        const uploadStream = new stream.PassThrough();
-        const hashStream = crypto2.createHash("sha256");
-        zipUploadStream.pipe(uploadStream);
-        zipUploadStream.pipe(hashStream).setEncoding("hex");
-        core14.info("Beginning upload of artifact content to blob storage");
-        try {
-          yield Promise.race([
-            blockBlobClient.uploadStream(uploadStream, bufferSize, maxConcurrency, options),
-            chunkTimer((0, config_1.getUploadChunkTimeout)())
-          ]);
-        } catch (error3) {
-          if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) {
-            throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code);
-          }
-          throw error3;
-        } finally {
-          abortController.abort();
-        }
-        core14.info("Finished uploading artifact content to blob storage!");
-        hashStream.end();
-        sha256Hash = hashStream.read();
-        core14.info(`SHA256 digest of uploaded artifact zip is ${sha256Hash}`);
-        if (uploadByteCount === 0) {
-          core14.warning(`No data was uploaded to blob storage. Reported upload byte count is 0.`);
-        }
-        return {
-          uploadSize: uploadByteCount,
-          sha256Hash
-        };
-      });
-    }
-    exports2.uploadZipToBlobStorage = uploadZipToBlobStorage;
-  }
-});
-
-// node_modules/readdir-glob/node_modules/minimatch/lib/path.js
-var require_path = __commonJS({
-  "node_modules/readdir-glob/node_modules/minimatch/lib/path.js"(exports2, module2) {
-    var isWindows = typeof process === "object" && process && process.platform === "win32";
-    module2.exports = isWindows ? { sep: "\\" } : { sep: "/" };
-  }
-});
-
-// node_modules/readdir-glob/node_modules/brace-expansion/index.js
-var require_brace_expansion2 = __commonJS({
-  "node_modules/readdir-glob/node_modules/brace-expansion/index.js"(exports2, module2) {
-    var balanced = require_balanced_match();
-    module2.exports = expandTop;
-    var escSlash = "\0SLASH" + Math.random() + "\0";
-    var escOpen = "\0OPEN" + Math.random() + "\0";
-    var escClose = "\0CLOSE" + Math.random() + "\0";
-    var escComma = "\0COMMA" + Math.random() + "\0";
-    var escPeriod = "\0PERIOD" + Math.random() + "\0";
-    function numeric(str2) {
-      return parseInt(str2, 10) == str2 ? parseInt(str2, 10) : str2.charCodeAt(0);
-    }
-    function escapeBraces(str2) {
-      return str2.split("\\\\").join(escSlash).split("\\{").join(escOpen).split("\\}").join(escClose).split("\\,").join(escComma).split("\\.").join(escPeriod);
-    }
-    function unescapeBraces(str2) {
-      return str2.split(escSlash).join("\\").split(escOpen).join("{").split(escClose).join("}").split(escComma).join(",").split(escPeriod).join(".");
-    }
-    function parseCommaParts(str2) {
-      if (!str2)
-        return [""];
-      var parts = [];
-      var m = balanced("{", "}", str2);
-      if (!m)
-        return str2.split(",");
-      var pre = m.pre;
-      var body = m.body;
-      var post = m.post;
-      var p = pre.split(",");
-      p[p.length - 1] += "{" + body + "}";
-      var postParts = parseCommaParts(post);
-      if (post.length) {
-        p[p.length - 1] += postParts.shift();
-        p.push.apply(p, postParts);
+      /**
+       * @internal
+       */
+      getRootString(path7) {
+        return path7.startsWith("/") ? "/" : "";
       }
-      parts.push.apply(parts, p);
-      return parts;
-    }
-    function expandTop(str2) {
-      if (!str2)
-        return [];
-      if (str2.substr(0, 2) === "{}") {
-        str2 = "\\{\\}" + str2.substr(2);
+      /**
+       * @internal
+       */
+      getRoot(_rootPath) {
+        return this.root;
       }
-      return expand2(escapeBraces(str2), true).map(unescapeBraces);
-    }
-    function embrace(str2) {
-      return "{" + str2 + "}";
-    }
-    function isPadded(el) {
-      return /^-?0\d/.test(el);
-    }
-    function lte(i, y) {
-      return i <= y;
-    }
-    function gte6(i, y) {
-      return i >= y;
-    }
-    function expand2(str2, isTop) {
-      var expansions = [];
-      var m = balanced("{", "}", str2);
-      if (!m) return [str2];
-      var pre = m.pre;
-      var post = m.post.length ? expand2(m.post, false) : [""];
-      if (/\$$/.test(m.pre)) {
-        for (var k = 0; k < post.length; k++) {
-          var expansion = pre + "{" + m.body + "}" + post[k];
-          expansions.push(expansion);
-        }
-      } else {
-        var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
-        var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
-        var isSequence = isNumericSequence || isAlphaSequence;
-        var isOptions = m.body.indexOf(",") >= 0;
-        if (!isSequence && !isOptions) {
-          if (m.post.match(/,(?!,).*\}/)) {
-            str2 = m.pre + "{" + m.body + escClose + m.post;
-            return expand2(str2);
-          }
-          return [str2];
-        }
-        var n;
-        if (isSequence) {
-          n = m.body.split(/\.\./);
-        } else {
-          n = parseCommaParts(m.body);
-          if (n.length === 1) {
-            n = expand2(n[0], false).map(embrace);
-            if (n.length === 1) {
-              return post.map(function(p) {
-                return m.pre + n[0] + p;
-              });
-            }
-          }
+      /**
+       * @internal
+       */
+      newChild(name, type2 = UNKNOWN, opts = {}) {
+        return new _PathPosix(name, type2, this.root, this.roots, this.nocase, this.childrenCache(), opts);
+      }
+    };
+    exports2.PathPosix = PathPosix;
+    var PathScurryBase = class {
+      /**
+       * The root Path entry for the current working directory of this Scurry
+       */
+      root;
+      /**
+       * The string path for the root of this Scurry's current working directory
+       */
+      rootPath;
+      /**
+       * A collection of all roots encountered, referenced by rootPath
+       */
+      roots;
+      /**
+       * The Path entry corresponding to this PathScurry's current working directory.
+       */
+      cwd;
+      #resolveCache;
+      #resolvePosixCache;
+      #children;
+      /**
+       * Perform path comparisons case-insensitively.
+       *
+       * Defaults true on Darwin and Windows systems, false elsewhere.
+       */
+      nocase;
+      #fs;
+      /**
+       * This class should not be instantiated directly.
+       *
+       * Use PathScurryWin32, PathScurryDarwin, PathScurryPosix, or PathScurry
+       *
+       * @internal
+       */
+      constructor(cwd = process.cwd(), pathImpl, sep3, { nocase, childrenCacheSize = 16 * 1024, fs: fs8 = defaultFS } = {}) {
+        this.#fs = fsFromOption(fs8);
+        if (cwd instanceof URL || cwd.startsWith("file://")) {
+          cwd = (0, node_url_1.fileURLToPath)(cwd);
         }
-        var N;
-        if (isSequence) {
-          var x = numeric(n[0]);
-          var y = numeric(n[1]);
-          var width = Math.max(n[0].length, n[1].length);
-          var incr = n.length == 3 ? Math.abs(numeric(n[2])) : 1;
-          var test = lte;
-          var reverse = y < x;
-          if (reverse) {
-            incr *= -1;
-            test = gte6;
-          }
-          var pad = n.some(isPadded);
-          N = [];
-          for (var i = x; test(i, y); i += incr) {
-            var c;
-            if (isAlphaSequence) {
-              c = String.fromCharCode(i);
-              if (c === "\\")
-                c = "";
-            } else {
-              c = String(i);
-              if (pad) {
-                var need = width - c.length;
-                if (need > 0) {
-                  var z = new Array(need + 1).join("0");
-                  if (i < 0)
-                    c = "-" + z + c.slice(1);
-                  else
-                    c = z + c;
-                }
-              }
-            }
-            N.push(c);
-          }
-        } else {
-          N = [];
-          for (var j = 0; j < n.length; j++) {
-            N.push.apply(N, expand2(n[j], false));
-          }
+        const cwdPath = pathImpl.resolve(cwd);
+        this.roots = /* @__PURE__ */ Object.create(null);
+        this.rootPath = this.parseRootPath(cwdPath);
+        this.#resolveCache = new ResolveCache();
+        this.#resolvePosixCache = new ResolveCache();
+        this.#children = new ChildrenCache(childrenCacheSize);
+        const split = cwdPath.substring(this.rootPath.length).split(sep3);
+        if (split.length === 1 && !split[0]) {
+          split.pop();
         }
-        for (var j = 0; j < N.length; j++) {
-          for (var k = 0; k < post.length; k++) {
-            var expansion = pre + N[j] + post[k];
-            if (!isTop || isSequence || expansion)
-              expansions.push(expansion);
-          }
+        if (nocase === void 0) {
+          throw new TypeError("must provide nocase setting to PathScurryBase ctor");
         }
-      }
-      return expansions;
-    }
-  }
-});
-
-// node_modules/readdir-glob/node_modules/minimatch/minimatch.js
-var require_minimatch2 = __commonJS({
-  "node_modules/readdir-glob/node_modules/minimatch/minimatch.js"(exports2, module2) {
-    var minimatch = module2.exports = (p, pattern, options = {}) => {
-      assertValidPattern(pattern);
-      if (!options.nocomment && pattern.charAt(0) === "#") {
-        return false;
-      }
-      return new Minimatch(pattern, options).match(p);
-    };
-    module2.exports = minimatch;
-    var path7 = require_path();
-    minimatch.sep = path7.sep;
-    var GLOBSTAR = /* @__PURE__ */ Symbol("globstar **");
-    minimatch.GLOBSTAR = GLOBSTAR;
-    var expand2 = require_brace_expansion2();
-    var plTypes = {
-      "!": { open: "(?:(?!(?:", close: "))[^/]*?)" },
-      "?": { open: "(?:", close: ")?" },
-      "+": { open: "(?:", close: ")+" },
-      "*": { open: "(?:", close: ")*" },
-      "@": { open: "(?:", close: ")" }
-    };
-    var qmark = "[^/]";
-    var star = qmark + "*?";
-    var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
-    var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
-    var charSet = (s) => s.split("").reduce((set2, c) => {
-      set2[c] = true;
-      return set2;
-    }, {});
-    var reSpecials = charSet("().*{}+?[]^$\\!");
-    var addPatternStartSet = charSet("[.(");
-    var slashSplit = /\/+/;
-    minimatch.filter = (pattern, options = {}) => (p, i, list) => minimatch(p, pattern, options);
-    var ext = (a, b = {}) => {
-      const t = {};
-      Object.keys(a).forEach((k) => t[k] = a[k]);
-      Object.keys(b).forEach((k) => t[k] = b[k]);
-      return t;
-    };
-    minimatch.defaults = (def) => {
-      if (!def || typeof def !== "object" || !Object.keys(def).length) {
-        return minimatch;
-      }
-      const orig = minimatch;
-      const m = (p, pattern, options) => orig(p, pattern, ext(def, options));
-      m.Minimatch = class Minimatch extends orig.Minimatch {
-        constructor(pattern, options) {
-          super(pattern, ext(def, options));
+        this.nocase = nocase;
+        this.root = this.newRoot(this.#fs);
+        this.roots[this.rootPath] = this.root;
+        let prev = this.root;
+        let len = split.length - 1;
+        const joinSep = pathImpl.sep;
+        let abs = this.rootPath;
+        let sawFirst = false;
+        for (const part of split) {
+          const l = len--;
+          prev = prev.child(part, {
+            relative: new Array(l).fill("..").join(joinSep),
+            relativePosix: new Array(l).fill("..").join("/"),
+            fullpath: abs += (sawFirst ? "" : joinSep) + part
+          });
+          sawFirst = true;
         }
-      };
-      m.Minimatch.defaults = (options) => orig.defaults(ext(def, options)).Minimatch;
-      m.filter = (pattern, options) => orig.filter(pattern, ext(def, options));
-      m.defaults = (options) => orig.defaults(ext(def, options));
-      m.makeRe = (pattern, options) => orig.makeRe(pattern, ext(def, options));
-      m.braceExpand = (pattern, options) => orig.braceExpand(pattern, ext(def, options));
-      m.match = (list, pattern, options) => orig.match(list, pattern, ext(def, options));
-      return m;
-    };
-    minimatch.braceExpand = (pattern, options) => braceExpand(pattern, options);
-    var braceExpand = (pattern, options = {}) => {
-      assertValidPattern(pattern);
-      if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
-        return [pattern];
-      }
-      return expand2(pattern);
-    };
-    var MAX_PATTERN_LENGTH = 1024 * 64;
-    var assertValidPattern = (pattern) => {
-      if (typeof pattern !== "string") {
-        throw new TypeError("invalid pattern");
-      }
-      if (pattern.length > MAX_PATTERN_LENGTH) {
-        throw new TypeError("pattern is too long");
-      }
-    };
-    var SUBPARSE = /* @__PURE__ */ Symbol("subparse");
-    minimatch.makeRe = (pattern, options) => new Minimatch(pattern, options || {}).makeRe();
-    minimatch.match = (list, pattern, options = {}) => {
-      const mm = new Minimatch(pattern, options);
-      list = list.filter((f) => mm.match(f));
-      if (mm.options.nonull && !list.length) {
-        list.push(pattern);
+        this.cwd = prev;
       }
-      return list;
-    };
-    var globUnescape = (s) => s.replace(/\\(.)/g, "$1");
-    var charUnescape = (s) => s.replace(/\\([^-\]])/g, "$1");
-    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
-    var braExpEscape = (s) => s.replace(/[[\]\\]/g, "\\$&");
-    var Minimatch = class {
-      constructor(pattern, options) {
-        assertValidPattern(pattern);
-        if (!options) options = {};
-        this.options = options;
-        this.set = [];
-        this.pattern = pattern;
-        this.windowsPathsNoEscape = !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;
-        if (this.windowsPathsNoEscape) {
-          this.pattern = this.pattern.replace(/\\/g, "/");
+      /**
+       * Get the depth of a provided path, string, or the cwd
+       */
+      depth(path7 = this.cwd) {
+        if (typeof path7 === "string") {
+          path7 = this.cwd.resolve(path7);
         }
-        this.regexp = null;
-        this.negate = false;
-        this.comment = false;
-        this.empty = false;
-        this.partial = !!options.partial;
-        this.make();
+        return path7.depth();
       }
-      debug() {
+      /**
+       * Return the cache of child entries.  Exposed so subclasses can create
+       * child Path objects in a platform-specific way.
+       *
+       * @internal
+       */
+      childrenCache() {
+        return this.#children;
       }
-      make() {
-        const pattern = this.pattern;
-        const options = this.options;
-        if (!options.nocomment && pattern.charAt(0) === "#") {
-          this.comment = true;
-          return;
-        }
-        if (!pattern) {
-          this.empty = true;
-          return;
+      /**
+       * Resolve one or more path strings to a resolved string
+       *
+       * Same interface as require('path').resolve.
+       *
+       * Much faster than path.resolve() when called multiple times for the same
+       * path, because the resolved Path objects are cached.  Much slower
+       * otherwise.
+       */
+      resolve(...paths) {
+        let r = "";
+        for (let i = paths.length - 1; i >= 0; i--) {
+          const p = paths[i];
+          if (!p || p === ".")
+            continue;
+          r = r ? `${p}/${r}` : p;
+          if (this.isAbsolute(p)) {
+            break;
+          }
         }
-        this.parseNegate();
-        let set2 = this.globSet = this.braceExpand();
-        if (options.debug) this.debug = (...args) => console.error(...args);
-        this.debug(this.pattern, set2);
-        set2 = this.globParts = set2.map((s) => s.split(slashSplit));
-        this.debug(this.pattern, set2);
-        set2 = set2.map((s, si, set3) => s.map(this.parse, this));
-        this.debug(this.pattern, set2);
-        set2 = set2.filter((s) => s.indexOf(false) === -1);
-        this.debug(this.pattern, set2);
-        this.set = set2;
-      }
-      parseNegate() {
-        if (this.options.nonegate) return;
-        const pattern = this.pattern;
-        let negate = false;
-        let negateOffset = 0;
-        for (let i = 0; i < pattern.length && pattern.charAt(i) === "!"; i++) {
-          negate = !negate;
-          negateOffset++;
+        const cached = this.#resolveCache.get(r);
+        if (cached !== void 0) {
+          return cached;
         }
-        if (negateOffset) this.pattern = pattern.slice(negateOffset);
-        this.negate = negate;
+        const result = this.cwd.resolve(r).fullpath();
+        this.#resolveCache.set(r, result);
+        return result;
       }
-      // set partial to true to test if, for example,
-      // "/a/b" matches the start of "/*/b/*/d"
-      // Partial means, if you run out of file before you run
-      // out of pattern, then that's fine, as long as all
-      // the parts match.
-      matchOne(file, pattern, partial) {
-        var options = this.options;
-        this.debug(
-          "matchOne",
-          { "this": this, file, pattern }
-        );
-        this.debug("matchOne", file.length, pattern.length);
-        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
-          this.debug("matchOne loop");
-          var p = pattern[pi];
-          var f = file[fi];
-          this.debug(pattern, p, f);
-          if (p === false) return false;
-          if (p === GLOBSTAR) {
-            this.debug("GLOBSTAR", [pattern, p, f]);
-            var fr = fi;
-            var pr = pi + 1;
-            if (pr === pl) {
-              this.debug("** at the end");
-              for (; fi < fl; fi++) {
-                if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".") return false;
-              }
-              return true;
-            }
-            while (fr < fl) {
-              var swallowee = file[fr];
-              this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
-              if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
-                this.debug("globstar found match!", fr, fl, swallowee);
-                return true;
-              } else {
-                if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
-                  this.debug("dot detected!", file, fr, pattern, pr);
-                  break;
-                }
-                this.debug("globstar swallow a segment, and continue");
-                fr++;
-              }
-            }
-            if (partial) {
-              this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
-              if (fr === fl) return true;
-            }
-            return false;
-          }
-          var hit;
-          if (typeof p === "string") {
-            hit = f === p;
-            this.debug("string match", p, f, hit);
-          } else {
-            hit = f.match(p);
-            this.debug("pattern match", p, f, hit);
+      /**
+       * Resolve one or more path strings to a resolved string, returning
+       * the posix path.  Identical to .resolve() on posix systems, but on
+       * windows will return a forward-slash separated UNC path.
+       *
+       * Same interface as require('path').resolve.
+       *
+       * Much faster than path.resolve() when called multiple times for the same
+       * path, because the resolved Path objects are cached.  Much slower
+       * otherwise.
+       */
+      resolvePosix(...paths) {
+        let r = "";
+        for (let i = paths.length - 1; i >= 0; i--) {
+          const p = paths[i];
+          if (!p || p === ".")
+            continue;
+          r = r ? `${p}/${r}` : p;
+          if (this.isAbsolute(p)) {
+            break;
           }
-          if (!hit) return false;
         }
-        if (fi === fl && pi === pl) {
-          return true;
-        } else if (fi === fl) {
-          return partial;
-        } else if (pi === pl) {
-          return fi === fl - 1 && file[fi] === "";
+        const cached = this.#resolvePosixCache.get(r);
+        if (cached !== void 0) {
+          return cached;
         }
-        throw new Error("wtf?");
+        const result = this.cwd.resolve(r).fullpathPosix();
+        this.#resolvePosixCache.set(r, result);
+        return result;
       }
-      braceExpand() {
-        return braceExpand(this.pattern, this.options);
+      /**
+       * find the relative path from the cwd to the supplied path string or entry
+       */
+      relative(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        }
+        return entry.relative();
       }
-      parse(pattern, isSub) {
-        assertValidPattern(pattern);
-        const options = this.options;
-        if (pattern === "**") {
-          if (!options.noglobstar)
-            return GLOBSTAR;
-          else
-            pattern = "*";
+      /**
+       * find the relative path from the cwd to the supplied path string or
+       * entry, using / as the path delimiter, even on Windows.
+       */
+      relativePosix(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
         }
-        if (pattern === "") return "";
-        let re = "";
-        let hasMagic = false;
-        let escaping = false;
-        const patternListStack = [];
-        const negativeLists = [];
-        let stateChar;
-        let inClass = false;
-        let reClassStart = -1;
-        let classStart = -1;
-        let cs;
-        let pl;
-        let sp;
-        let dotTravAllowed = pattern.charAt(0) === ".";
-        let dotFileAllowed = options.dot || dotTravAllowed;
-        const patternStart = () => dotTravAllowed ? "" : dotFileAllowed ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)";
-        const subPatternStart = (p) => p.charAt(0) === "." ? "" : options.dot ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)";
-        const clearStateChar = () => {
-          if (stateChar) {
-            switch (stateChar) {
-              case "*":
-                re += star;
-                hasMagic = true;
-                break;
-              case "?":
-                re += qmark;
-                hasMagic = true;
-                break;
-              default:
-                re += "\\" + stateChar;
-                break;
-            }
-            this.debug("clearStateChar %j %j", stateChar, re);
-            stateChar = false;
-          }
-        };
-        for (let i = 0, c; i < pattern.length && (c = pattern.charAt(i)); i++) {
-          this.debug("%s	%s %s %j", pattern, i, re, c);
-          if (escaping) {
-            if (c === "/") {
-              return false;
-            }
-            if (reSpecials[c]) {
-              re += "\\";
-            }
-            re += c;
-            escaping = false;
-            continue;
-          }
-          switch (c) {
-            /* istanbul ignore next */
-            case "/": {
-              return false;
-            }
-            case "\\":
-              if (inClass && pattern.charAt(i + 1) === "-") {
-                re += c;
-                continue;
-              }
-              clearStateChar();
-              escaping = true;
-              continue;
-            // the various stateChar values
-            // for the "extglob" stuff.
-            case "?":
-            case "*":
-            case "+":
-            case "@":
-            case "!":
-              this.debug("%s	%s %s %j <-- stateChar", pattern, i, re, c);
-              if (inClass) {
-                this.debug("  in class");
-                if (c === "!" && i === classStart + 1) c = "^";
-                re += c;
-                continue;
-              }
-              this.debug("call clearStateChar %j", stateChar);
-              clearStateChar();
-              stateChar = c;
-              if (options.noext) clearStateChar();
-              continue;
-            case "(": {
-              if (inClass) {
-                re += "(";
-                continue;
-              }
-              if (!stateChar) {
-                re += "\\(";
-                continue;
-              }
-              const plEntry = {
-                type: stateChar,
-                start: i - 1,
-                reStart: re.length,
-                open: plTypes[stateChar].open,
-                close: plTypes[stateChar].close
-              };
-              this.debug(this.pattern, "	", plEntry);
-              patternListStack.push(plEntry);
-              re += plEntry.open;
-              if (plEntry.start === 0 && plEntry.type !== "!") {
-                dotTravAllowed = true;
-                re += subPatternStart(pattern.slice(i + 1));
-              }
-              this.debug("plType %j %j", stateChar, re);
-              stateChar = false;
-              continue;
-            }
-            case ")": {
-              const plEntry = patternListStack[patternListStack.length - 1];
-              if (inClass || !plEntry) {
-                re += "\\)";
-                continue;
-              }
-              patternListStack.pop();
-              clearStateChar();
-              hasMagic = true;
-              pl = plEntry;
-              re += pl.close;
-              if (pl.type === "!") {
-                negativeLists.push(Object.assign(pl, { reEnd: re.length }));
-              }
-              continue;
-            }
-            case "|": {
-              const plEntry = patternListStack[patternListStack.length - 1];
-              if (inClass || !plEntry) {
-                re += "\\|";
-                continue;
-              }
-              clearStateChar();
-              re += "|";
-              if (plEntry.start === 0 && plEntry.type !== "!") {
-                dotTravAllowed = true;
-                re += subPatternStart(pattern.slice(i + 1));
-              }
-              continue;
-            }
-            // these are mostly the same in regexp and glob
-            case "[":
-              clearStateChar();
-              if (inClass) {
-                re += "\\" + c;
-                continue;
-              }
-              inClass = true;
-              classStart = i;
-              reClassStart = re.length;
-              re += c;
-              continue;
-            case "]":
-              if (i === classStart + 1 || !inClass) {
-                re += "\\" + c;
-                continue;
-              }
-              cs = pattern.substring(classStart + 1, i);
-              try {
-                RegExp("[" + braExpEscape(charUnescape(cs)) + "]");
-                re += c;
-              } catch (er) {
-                re = re.substring(0, reClassStart) + "(?:$.)";
-              }
-              hasMagic = true;
-              inClass = false;
-              continue;
-            default:
-              clearStateChar();
-              if (reSpecials[c] && !(c === "^" && inClass)) {
-                re += "\\";
-              }
-              re += c;
-              break;
-          }
+        return entry.relativePosix();
+      }
+      /**
+       * Return the basename for the provided string or Path object
+       */
+      basename(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
         }
-        if (inClass) {
-          cs = pattern.slice(classStart + 1);
-          sp = this.parse(cs, SUBPARSE);
-          re = re.substring(0, reClassStart) + "\\[" + sp[0];
-          hasMagic = hasMagic || sp[1];
+        return entry.name;
+      }
+      /**
+       * Return the dirname for the provided string or Path object
+       */
+      dirname(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
         }
-        for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {
-          let tail;
-          tail = re.slice(pl.reStart + pl.open.length);
-          this.debug("setting tail", re, pl);
-          tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, (_2, $1, $2) => {
-            if (!$2) {
-              $2 = "\\";
-            }
-            return $1 + $1 + $2 + "|";
-          });
-          this.debug("tail=%j\n   %s", tail, tail, pl, re);
-          const t = pl.type === "*" ? star : pl.type === "?" ? qmark : "\\" + pl.type;
-          hasMagic = true;
-          re = re.slice(0, pl.reStart) + t + "\\(" + tail;
+        return (entry.parent || entry).fullpath();
+      }
+      async readdir(entry = this.cwd, opts = {
+        withFileTypes: true
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
         }
-        clearStateChar();
-        if (escaping) {
-          re += "\\\\";
+        const { withFileTypes } = opts;
+        if (!entry.canReaddir()) {
+          return [];
+        } else {
+          const p = await entry.readdir();
+          return withFileTypes ? p : p.map((e) => e.name);
         }
-        const addPatternStart = addPatternStartSet[re.charAt(0)];
-        for (let n = negativeLists.length - 1; n > -1; n--) {
-          const nl = negativeLists[n];
-          const nlBefore = re.slice(0, nl.reStart);
-          const nlFirst = re.slice(nl.reStart, nl.reEnd - 8);
-          let nlAfter = re.slice(nl.reEnd);
-          const nlLast = re.slice(nl.reEnd - 8, nl.reEnd) + nlAfter;
-          const closeParensBefore = nlBefore.split(")").length;
-          const openParensBefore = nlBefore.split("(").length - closeParensBefore;
-          let cleanAfter = nlAfter;
-          for (let i = 0; i < openParensBefore; i++) {
-            cleanAfter = cleanAfter.replace(/\)[+*?]?/, "");
-          }
-          nlAfter = cleanAfter;
-          const dollar = nlAfter === "" && isSub !== SUBPARSE ? "(?:$|\\/)" : "";
-          re = nlBefore + nlFirst + nlAfter + dollar + nlLast;
+      }
+      readdirSync(entry = this.cwd, opts = {
+        withFileTypes: true
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
         }
-        if (re !== "" && hasMagic) {
-          re = "(?=.)" + re;
+        const { withFileTypes = true } = opts;
+        if (!entry.canReaddir()) {
+          return [];
+        } else if (withFileTypes) {
+          return entry.readdirSync();
+        } else {
+          return entry.readdirSync().map((e) => e.name);
         }
-        if (addPatternStart) {
-          re = patternStart() + re;
+      }
+      /**
+       * Call lstat() on the string or Path object, and update all known
+       * information that can be determined.
+       *
+       * Note that unlike `fs.lstat()`, the returned value does not contain some
+       * information, such as `mode`, `dev`, `nlink`, and `ino`.  If that
+       * information is required, you will need to call `fs.lstat` yourself.
+       *
+       * If the Path refers to a nonexistent file, or if the lstat call fails for
+       * any reason, `undefined` is returned.  Otherwise the updated Path object is
+       * returned.
+       *
+       * Results are cached, and thus may be out of date if the filesystem is
+       * mutated.
+       */
+      async lstat(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
         }
-        if (isSub === SUBPARSE) {
-          return [re, hasMagic];
+        return entry.lstat();
+      }
+      /**
+       * synchronous {@link PathScurryBase.lstat}
+       */
+      lstatSync(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
         }
-        if (options.nocase && !hasMagic) {
-          hasMagic = pattern.toUpperCase() !== pattern.toLowerCase();
+        return entry.lstatSync();
+      }
+      async readlink(entry = this.cwd, { withFileTypes } = {
+        withFileTypes: false
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          withFileTypes = entry.withFileTypes;
+          entry = this.cwd;
         }
-        if (!hasMagic) {
-          return globUnescape(pattern);
+        const e = await entry.readlink();
+        return withFileTypes ? e : e?.fullpath();
+      }
+      readlinkSync(entry = this.cwd, { withFileTypes } = {
+        withFileTypes: false
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          withFileTypes = entry.withFileTypes;
+          entry = this.cwd;
         }
-        const flags = options.nocase ? "i" : "";
-        try {
-          return Object.assign(new RegExp("^" + re + "$", flags), {
-            _glob: pattern,
-            _src: re
-          });
-        } catch (er) {
-          return new RegExp("$.");
+        const e = entry.readlinkSync();
+        return withFileTypes ? e : e?.fullpath();
+      }
+      async realpath(entry = this.cwd, { withFileTypes } = {
+        withFileTypes: false
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          withFileTypes = entry.withFileTypes;
+          entry = this.cwd;
         }
+        const e = await entry.realpath();
+        return withFileTypes ? e : e?.fullpath();
       }
-      makeRe() {
-        if (this.regexp || this.regexp === false) return this.regexp;
-        const set2 = this.set;
-        if (!set2.length) {
-          this.regexp = false;
-          return this.regexp;
+      realpathSync(entry = this.cwd, { withFileTypes } = {
+        withFileTypes: false
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          withFileTypes = entry.withFileTypes;
+          entry = this.cwd;
         }
-        const options = this.options;
-        const twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
-        const flags = options.nocase ? "i" : "";
-        let re = set2.map((pattern) => {
-          pattern = pattern.map(
-            (p) => typeof p === "string" ? regExpEscape(p) : p === GLOBSTAR ? GLOBSTAR : p._src
-          ).reduce((set3, p) => {
-            if (!(set3[set3.length - 1] === GLOBSTAR && p === GLOBSTAR)) {
-              set3.push(p);
-            }
-            return set3;
-          }, []);
-          pattern.forEach((p, i) => {
-            if (p !== GLOBSTAR || pattern[i - 1] === GLOBSTAR) {
-              return;
+        const e = entry.realpathSync();
+        return withFileTypes ? e : e?.fullpath();
+      }
+      async walk(entry = this.cwd, opts = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
+        }
+        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
+        const results = [];
+        if (!filter || filter(entry)) {
+          results.push(withFileTypes ? entry : entry.fullpath());
+        }
+        const dirs = /* @__PURE__ */ new Set();
+        const walk = (dir, cb) => {
+          dirs.add(dir);
+          dir.readdirCB((er, entries) => {
+            if (er) {
+              return cb(er);
             }
-            if (i === 0) {
-              if (pattern.length > 1) {
-                pattern[i + 1] = "(?:\\/|" + twoStar + "\\/)?" + pattern[i + 1];
+            let len = entries.length;
+            if (!len)
+              return cb();
+            const next = () => {
+              if (--len === 0) {
+                cb();
+              }
+            };
+            for (const e of entries) {
+              if (!filter || filter(e)) {
+                results.push(withFileTypes ? e : e.fullpath());
+              }
+              if (follow && e.isSymbolicLink()) {
+                e.realpath().then((r) => r?.isUnknown() ? r.lstat() : r).then((r) => r?.shouldWalk(dirs, walkFilter) ? walk(r, next) : next());
               } else {
-                pattern[i] = twoStar;
+                if (e.shouldWalk(dirs, walkFilter)) {
+                  walk(e, next);
+                } else {
+                  next();
+                }
               }
-            } else if (i === pattern.length - 1) {
-              pattern[i - 1] += "(?:\\/|" + twoStar + ")?";
-            } else {
-              pattern[i - 1] += "(?:\\/|\\/" + twoStar + "\\/)" + pattern[i + 1];
-              pattern[i + 1] = GLOBSTAR;
             }
+          }, true);
+        };
+        const start = entry;
+        return new Promise((res, rej) => {
+          walk(start, (er) => {
+            if (er)
+              return rej(er);
+            res(results);
           });
-          return pattern.filter((p) => p !== GLOBSTAR).join("/");
-        }).join("|");
-        re = "^(?:" + re + ")$";
-        if (this.negate) re = "^(?!" + re + ").*$";
-        try {
-          this.regexp = new RegExp(re, flags);
-        } catch (ex) {
-          this.regexp = false;
-        }
-        return this.regexp;
+        });
       }
-      match(f, partial = this.partial) {
-        this.debug("match", f, this.pattern);
-        if (this.comment) return false;
-        if (this.empty) return f === "";
-        if (f === "/" && partial) return true;
-        const options = this.options;
-        if (path7.sep !== "/") {
-          f = f.split(path7.sep).join("/");
-        }
-        f = f.split(slashSplit);
-        this.debug(this.pattern, "split", f);
-        const set2 = this.set;
-        this.debug(this.pattern, "set", set2);
-        let filename;
-        for (let i = f.length - 1; i >= 0; i--) {
-          filename = f[i];
-          if (filename) break;
+      walkSync(entry = this.cwd, opts = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
         }
-        for (let i = 0; i < set2.length; i++) {
-          const pattern = set2[i];
-          let file = f;
-          if (options.matchBase && pattern.length === 1) {
-            file = [filename];
-          }
-          const hit = this.matchOne(file, pattern, partial);
-          if (hit) {
-            if (options.flipNegate) return true;
-            return !this.negate;
-          }
+        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
+        const results = [];
+        if (!filter || filter(entry)) {
+          results.push(withFileTypes ? entry : entry.fullpath());
         }
-        if (options.flipNegate) return false;
-        return this.negate;
-      }
-      static defaults(def) {
-        return minimatch.defaults(def).Minimatch;
-      }
-    };
-    minimatch.Minimatch = Minimatch;
-  }
-});
-
-// node_modules/readdir-glob/index.js
-var require_readdir_glob = __commonJS({
-  "node_modules/readdir-glob/index.js"(exports2, module2) {
-    module2.exports = readdirGlob;
-    var fs8 = require("fs");
-    var { EventEmitter } = require("events");
-    var { Minimatch } = require_minimatch2();
-    var { resolve: resolve5 } = require("path");
-    function readdir(dir, strict) {
-      return new Promise((resolve6, reject) => {
-        fs8.readdir(dir, { withFileTypes: true }, (err, files) => {
-          if (err) {
-            switch (err.code) {
-              case "ENOTDIR":
-                if (strict) {
-                  reject(err);
-                } else {
-                  resolve6([]);
-                }
-                break;
-              case "ENOTSUP":
-              // Operation not supported
-              case "ENOENT":
-              // No such file or directory
-              case "ENAMETOOLONG":
-              // Filename too long
-              case "UNKNOWN":
-                resolve6([]);
-                break;
-              case "ELOOP":
-              // Too many levels of symbolic links
-              default:
-                reject(err);
-                break;
+        const dirs = /* @__PURE__ */ new Set([entry]);
+        for (const dir of dirs) {
+          const entries = dir.readdirSync();
+          for (const e of entries) {
+            if (!filter || filter(e)) {
+              results.push(withFileTypes ? e : e.fullpath());
             }
-          } else {
-            resolve6(files);
-          }
-        });
-      });
-    }
-    function stat(file, followSymlinks) {
-      return new Promise((resolve6, reject) => {
-        const statFunc = followSymlinks ? fs8.stat : fs8.lstat;
-        statFunc(file, (err, stats) => {
-          if (err) {
-            switch (err.code) {
-              case "ENOENT":
-                if (followSymlinks) {
-                  resolve6(stat(file, false));
-                } else {
-                  resolve6(null);
-                }
-                break;
-              default:
-                resolve6(null);
-                break;
+            let r = e;
+            if (e.isSymbolicLink()) {
+              if (!(follow && (r = e.realpathSync())))
+                continue;
+              if (r.isUnknown())
+                r.lstatSync();
+            }
+            if (r.shouldWalk(dirs, walkFilter)) {
+              dirs.add(r);
             }
-          } else {
-            resolve6(stats);
           }
-        });
-      });
-    }
-    async function* exploreWalkAsync(dir, path7, followSymlinks, useStat, shouldSkip, strict) {
-      let files = await readdir(path7 + dir, strict);
-      for (const file of files) {
-        let name = file.name;
-        if (name === void 0) {
-          name = file;
-          useStat = true;
         }
-        const filename = dir + "/" + name;
-        const relative = filename.slice(1);
-        const absolute = path7 + "/" + relative;
-        let stats = null;
-        if (useStat || followSymlinks) {
-          stats = await stat(absolute, followSymlinks);
+        return results;
+      }
+      /**
+       * Support for `for await`
+       *
+       * Alias for {@link PathScurryBase.iterate}
+       *
+       * Note: As of Node 19, this is very slow, compared to other methods of
+       * walking.  Consider using {@link PathScurryBase.stream} if memory overhead
+       * and backpressure are concerns, or {@link PathScurryBase.walk} if not.
+       */
+      [Symbol.asyncIterator]() {
+        return this.iterate();
+      }
+      iterate(entry = this.cwd, options = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          options = entry;
+          entry = this.cwd;
         }
-        if (!stats && file.name !== void 0) {
-          stats = file;
+        return this.stream(entry, options)[Symbol.asyncIterator]();
+      }
+      /**
+       * Iterating over a PathScurry performs a synchronous walk.
+       *
+       * Alias for {@link PathScurryBase.iterateSync}
+       */
+      [Symbol.iterator]() {
+        return this.iterateSync();
+      }
+      *iterateSync(entry = this.cwd, opts = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
         }
-        if (stats === null) {
-          stats = { isDirectory: () => false };
+        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
+        if (!filter || filter(entry)) {
+          yield withFileTypes ? entry : entry.fullpath();
         }
-        if (stats.isDirectory()) {
-          if (!shouldSkip(relative)) {
-            yield { relative, absolute, stats };
-            yield* exploreWalkAsync(filename, path7, followSymlinks, useStat, shouldSkip, false);
+        const dirs = /* @__PURE__ */ new Set([entry]);
+        for (const dir of dirs) {
+          const entries = dir.readdirSync();
+          for (const e of entries) {
+            if (!filter || filter(e)) {
+              yield withFileTypes ? e : e.fullpath();
+            }
+            let r = e;
+            if (e.isSymbolicLink()) {
+              if (!(follow && (r = e.realpathSync())))
+                continue;
+              if (r.isUnknown())
+                r.lstatSync();
+            }
+            if (r.shouldWalk(dirs, walkFilter)) {
+              dirs.add(r);
+            }
           }
-        } else {
-          yield { relative, absolute, stats };
         }
       }
-    }
-    async function* explore(path7, followSymlinks, useStat, shouldSkip) {
-      yield* exploreWalkAsync("", path7, followSymlinks, useStat, shouldSkip, true);
-    }
-    function readOptions(options) {
-      return {
-        pattern: options.pattern,
-        dot: !!options.dot,
-        noglobstar: !!options.noglobstar,
-        matchBase: !!options.matchBase,
-        nocase: !!options.nocase,
-        ignore: options.ignore,
-        skip: options.skip,
-        follow: !!options.follow,
-        stat: !!options.stat,
-        nodir: !!options.nodir,
-        mark: !!options.mark,
-        silent: !!options.silent,
-        absolute: !!options.absolute
-      };
-    }
-    var ReaddirGlob = class extends EventEmitter {
-      constructor(cwd, options, cb) {
-        super();
-        if (typeof options === "function") {
-          cb = options;
-          options = null;
-        }
-        this.options = readOptions(options || {});
-        this.matchers = [];
-        if (this.options.pattern) {
-          const matchers = Array.isArray(this.options.pattern) ? this.options.pattern : [this.options.pattern];
-          this.matchers = matchers.map(
-            (m) => new Minimatch(m, {
-              dot: this.options.dot,
-              noglobstar: this.options.noglobstar,
-              matchBase: this.options.matchBase,
-              nocase: this.options.nocase
-            })
-          );
+      stream(entry = this.cwd, opts = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
         }
-        this.ignoreMatchers = [];
-        if (this.options.ignore) {
-          const ignorePatterns = Array.isArray(this.options.ignore) ? this.options.ignore : [this.options.ignore];
-          this.ignoreMatchers = ignorePatterns.map(
-            (ignore) => new Minimatch(ignore, { dot: true })
-          );
+        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
+        const results = new minipass_1.Minipass({ objectMode: true });
+        if (!filter || filter(entry)) {
+          results.write(withFileTypes ? entry : entry.fullpath());
         }
-        this.skipMatchers = [];
-        if (this.options.skip) {
-          const skipPatterns = Array.isArray(this.options.skip) ? this.options.skip : [this.options.skip];
-          this.skipMatchers = skipPatterns.map(
-            (skip) => new Minimatch(skip, { dot: true })
-          );
+        const dirs = /* @__PURE__ */ new Set();
+        const queue = [entry];
+        let processing = 0;
+        const process2 = () => {
+          let paused = false;
+          while (!paused) {
+            const dir = queue.shift();
+            if (!dir) {
+              if (processing === 0)
+                results.end();
+              return;
+            }
+            processing++;
+            dirs.add(dir);
+            const onReaddir = (er, entries, didRealpaths = false) => {
+              if (er)
+                return results.emit("error", er);
+              if (follow && !didRealpaths) {
+                const promises3 = [];
+                for (const e of entries) {
+                  if (e.isSymbolicLink()) {
+                    promises3.push(e.realpath().then((r) => r?.isUnknown() ? r.lstat() : r));
+                  }
+                }
+                if (promises3.length) {
+                  Promise.all(promises3).then(() => onReaddir(null, entries, true));
+                  return;
+                }
+              }
+              for (const e of entries) {
+                if (e && (!filter || filter(e))) {
+                  if (!results.write(withFileTypes ? e : e.fullpath())) {
+                    paused = true;
+                  }
+                }
+              }
+              processing--;
+              for (const e of entries) {
+                const r = e.realpathCached() || e;
+                if (r.shouldWalk(dirs, walkFilter)) {
+                  queue.push(r);
+                }
+              }
+              if (paused && !results.flowing) {
+                results.once("drain", process2);
+              } else if (!sync) {
+                process2();
+              }
+            };
+            let sync = true;
+            dir.readdirCB(onReaddir, true);
+            sync = false;
+          }
+        };
+        process2();
+        return results;
+      }
+      streamSync(entry = this.cwd, opts = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
         }
-        this.iterator = explore(resolve5(cwd || "."), this.options.follow, this.options.stat, this._shouldSkipDirectory.bind(this));
-        this.paused = false;
-        this.inactive = false;
-        this.aborted = false;
-        if (cb) {
-          this._matches = [];
-          this.on("match", (match) => this._matches.push(this.options.absolute ? match.absolute : match.relative));
-          this.on("error", (err) => cb(err));
-          this.on("end", () => cb(null, this._matches));
+        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
+        const results = new minipass_1.Minipass({ objectMode: true });
+        const dirs = /* @__PURE__ */ new Set();
+        if (!filter || filter(entry)) {
+          results.write(withFileTypes ? entry : entry.fullpath());
         }
-        setTimeout(() => this._next(), 0);
-      }
-      _shouldSkipDirectory(relative) {
-        return this.skipMatchers.some((m) => m.match(relative));
-      }
-      _fileMatches(relative, isDirectory) {
-        const file = relative + (isDirectory ? "/" : "");
-        return (this.matchers.length === 0 || this.matchers.some((m) => m.match(file))) && !this.ignoreMatchers.some((m) => m.match(file)) && (!this.options.nodir || !isDirectory);
-      }
-      _next() {
-        if (!this.paused && !this.aborted) {
-          this.iterator.next().then((obj) => {
-            if (!obj.done) {
-              const isDirectory = obj.value.stats.isDirectory();
-              if (this._fileMatches(obj.value.relative, isDirectory)) {
-                let relative = obj.value.relative;
-                let absolute = obj.value.absolute;
-                if (this.options.mark && isDirectory) {
-                  relative += "/";
-                  absolute += "/";
-                }
-                if (this.options.stat) {
-                  this.emit("match", { relative, absolute, stat: obj.value.stats });
-                } else {
-                  this.emit("match", { relative, absolute });
+        const queue = [entry];
+        let processing = 0;
+        const process2 = () => {
+          let paused = false;
+          while (!paused) {
+            const dir = queue.shift();
+            if (!dir) {
+              if (processing === 0)
+                results.end();
+              return;
+            }
+            processing++;
+            dirs.add(dir);
+            const entries = dir.readdirSync();
+            for (const e of entries) {
+              if (!filter || filter(e)) {
+                if (!results.write(withFileTypes ? e : e.fullpath())) {
+                  paused = true;
                 }
               }
-              this._next(this.iterator);
-            } else {
-              this.emit("end");
             }
-          }).catch((err) => {
-            this.abort();
-            this.emit("error", err);
-            if (!err.code && !this.options.silent) {
-              console.error(err);
+            processing--;
+            for (const e of entries) {
+              let r = e;
+              if (e.isSymbolicLink()) {
+                if (!(follow && (r = e.realpathSync())))
+                  continue;
+                if (r.isUnknown())
+                  r.lstatSync();
+              }
+              if (r.shouldWalk(dirs, walkFilter)) {
+                queue.push(r);
+              }
             }
-          });
-        } else {
-          this.inactive = true;
+          }
+          if (paused && !results.flowing)
+            results.once("drain", process2);
+        };
+        process2();
+        return results;
+      }
+      chdir(path7 = this.cwd) {
+        const oldCwd = this.cwd;
+        this.cwd = typeof path7 === "string" ? this.cwd.resolve(path7) : path7;
+        this.cwd[setAsCwd](oldCwd);
+      }
+    };
+    exports2.PathScurryBase = PathScurryBase;
+    var PathScurryWin32 = class extends PathScurryBase {
+      /**
+       * separator for generating path strings
+       */
+      sep = "\\";
+      constructor(cwd = process.cwd(), opts = {}) {
+        const { nocase = true } = opts;
+        super(cwd, node_path_1.win32, "\\", { ...opts, nocase });
+        this.nocase = nocase;
+        for (let p = this.cwd; p; p = p.parent) {
+          p.nocase = this.nocase;
         }
       }
-      abort() {
-        this.aborted = true;
+      /**
+       * @internal
+       */
+      parseRootPath(dir) {
+        return node_path_1.win32.parse(dir).root.toUpperCase();
       }
-      pause() {
-        this.paused = true;
+      /**
+       * @internal
+       */
+      newRoot(fs8) {
+        return new PathWin32(this.rootPath, IFDIR, void 0, this.roots, this.nocase, this.childrenCache(), { fs: fs8 });
       }
-      resume() {
-        this.paused = false;
-        if (this.inactive) {
-          this.inactive = false;
-          this._next();
-        }
+      /**
+       * Return true if the provided path string is an absolute path
+       */
+      isAbsolute(p) {
+        return p.startsWith("/") || p.startsWith("\\") || /^[a-z]:(\/|\\)/i.test(p);
       }
     };
-    function readdirGlob(pattern, options, cb) {
-      return new ReaddirGlob(pattern, options, cb);
-    }
-    readdirGlob.ReaddirGlob = ReaddirGlob;
-  }
-});
-
-// node_modules/async/dist/async.js
-var require_async = __commonJS({
-  "node_modules/async/dist/async.js"(exports2, module2) {
-    (function(global2, factory) {
-      typeof exports2 === "object" && typeof module2 !== "undefined" ? factory(exports2) : typeof define === "function" && define.amd ? define(["exports"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory(global2.async = {}));
-    })(exports2, (function(exports3) {
-      "use strict";
-      function apply(fn, ...args) {
-        return (...callArgs) => fn(...args, ...callArgs);
+    exports2.PathScurryWin32 = PathScurryWin32;
+    var PathScurryPosix = class extends PathScurryBase {
+      /**
+       * separator for generating path strings
+       */
+      sep = "/";
+      constructor(cwd = process.cwd(), opts = {}) {
+        const { nocase = false } = opts;
+        super(cwd, node_path_1.posix, "/", { ...opts, nocase });
+        this.nocase = nocase;
       }
-      function initialParams(fn) {
-        return function(...args) {
-          var callback = args.pop();
-          return fn.call(this, args, callback);
-        };
+      /**
+       * @internal
+       */
+      parseRootPath(_dir) {
+        return "/";
       }
-      var hasQueueMicrotask = typeof queueMicrotask === "function" && queueMicrotask;
-      var hasSetImmediate = typeof setImmediate === "function" && setImmediate;
-      var hasNextTick = typeof process === "object" && typeof process.nextTick === "function";
-      function fallback(fn) {
-        setTimeout(fn, 0);
+      /**
+       * @internal
+       */
+      newRoot(fs8) {
+        return new PathPosix(this.rootPath, IFDIR, void 0, this.roots, this.nocase, this.childrenCache(), { fs: fs8 });
       }
-      function wrap(defer) {
-        return (fn, ...args) => defer(() => fn(...args));
+      /**
+       * Return true if the provided path string is an absolute path
+       */
+      isAbsolute(p) {
+        return p.startsWith("/");
       }
-      var _defer$1;
-      if (hasQueueMicrotask) {
-        _defer$1 = queueMicrotask;
-      } else if (hasSetImmediate) {
-        _defer$1 = setImmediate;
-      } else if (hasNextTick) {
-        _defer$1 = process.nextTick;
-      } else {
-        _defer$1 = fallback;
+    };
+    exports2.PathScurryPosix = PathScurryPosix;
+    var PathScurryDarwin = class extends PathScurryPosix {
+      constructor(cwd = process.cwd(), opts = {}) {
+        const { nocase = true } = opts;
+        super(cwd, { ...opts, nocase });
       }
-      var setImmediate$1 = wrap(_defer$1);
-      function asyncify(func) {
-        if (isAsync(func)) {
-          return function(...args) {
-            const callback = args.pop();
-            const promise = func.apply(this, args);
-            return handlePromise(promise, callback);
-          };
+    };
+    exports2.PathScurryDarwin = PathScurryDarwin;
+    exports2.Path = process.platform === "win32" ? PathWin32 : PathPosix;
+    exports2.PathScurry = process.platform === "win32" ? PathScurryWin32 : process.platform === "darwin" ? PathScurryDarwin : PathScurryPosix;
+  }
+});
+
+// node_modules/glob/dist/commonjs/pattern.js
+var require_pattern = __commonJS({
+  "node_modules/glob/dist/commonjs/pattern.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Pattern = void 0;
+    var minimatch_1 = require_commonjs20();
+    var isPatternList = (pl) => pl.length >= 1;
+    var isGlobList = (gl) => gl.length >= 1;
+    var Pattern = class _Pattern {
+      #patternList;
+      #globList;
+      #index;
+      length;
+      #platform;
+      #rest;
+      #globString;
+      #isDrive;
+      #isUNC;
+      #isAbsolute;
+      #followGlobstar = true;
+      constructor(patternList, globList, index, platform) {
+        if (!isPatternList(patternList)) {
+          throw new TypeError("empty pattern list");
         }
-        return initialParams(function(args, callback) {
-          var result;
-          try {
-            result = func.apply(this, args);
-          } catch (e) {
-            return callback(e);
-          }
-          if (result && typeof result.then === "function") {
-            return handlePromise(result, callback);
-          } else {
-            callback(null, result);
+        if (!isGlobList(globList)) {
+          throw new TypeError("empty glob list");
+        }
+        if (globList.length !== patternList.length) {
+          throw new TypeError("mismatched pattern list and glob list lengths");
+        }
+        this.length = patternList.length;
+        if (index < 0 || index >= this.length) {
+          throw new TypeError("index out of range");
+        }
+        this.#patternList = patternList;
+        this.#globList = globList;
+        this.#index = index;
+        this.#platform = platform;
+        if (this.#index === 0) {
+          if (this.isUNC()) {
+            const [p0, p1, p2, p3, ...prest] = this.#patternList;
+            const [g0, g1, g2, g3, ...grest] = this.#globList;
+            if (prest[0] === "") {
+              prest.shift();
+              grest.shift();
+            }
+            const p = [p0, p1, p2, p3, ""].join("/");
+            const g = [g0, g1, g2, g3, ""].join("/");
+            this.#patternList = [p, ...prest];
+            this.#globList = [g, ...grest];
+            this.length = this.#patternList.length;
+          } else if (this.isDrive() || this.isAbsolute()) {
+            const [p1, ...prest] = this.#patternList;
+            const [g1, ...grest] = this.#globList;
+            if (prest[0] === "") {
+              prest.shift();
+              grest.shift();
+            }
+            const p = p1 + "/";
+            const g = g1 + "/";
+            this.#patternList = [p, ...prest];
+            this.#globList = [g, ...grest];
+            this.length = this.#patternList.length;
           }
-        });
+        }
       }
-      function handlePromise(promise, callback) {
-        return promise.then((value) => {
-          invokeCallback(callback, null, value);
-        }, (err) => {
-          invokeCallback(callback, err && (err instanceof Error || err.message) ? err : new Error(err));
-        });
+      /**
+       * The first entry in the parsed list of patterns
+       */
+      pattern() {
+        return this.#patternList[this.#index];
       }
-      function invokeCallback(callback, error3, value) {
-        try {
-          callback(error3, value);
-        } catch (err) {
-          setImmediate$1((e) => {
-            throw e;
-          }, err);
-        }
+      /**
+       * true of if pattern() returns a string
+       */
+      isString() {
+        return typeof this.#patternList[this.#index] === "string";
       }
-      function isAsync(fn) {
-        return fn[Symbol.toStringTag] === "AsyncFunction";
+      /**
+       * true of if pattern() returns GLOBSTAR
+       */
+      isGlobstar() {
+        return this.#patternList[this.#index] === minimatch_1.GLOBSTAR;
       }
-      function isAsyncGenerator(fn) {
-        return fn[Symbol.toStringTag] === "AsyncGenerator";
+      /**
+       * true if pattern() returns a regexp
+       */
+      isRegExp() {
+        return this.#patternList[this.#index] instanceof RegExp;
       }
-      function isAsyncIterable(obj) {
-        return typeof obj[Symbol.asyncIterator] === "function";
+      /**
+       * The /-joined set of glob parts that make up this pattern
+       */
+      globString() {
+        return this.#globString = this.#globString || (this.#index === 0 ? this.isAbsolute() ? this.#globList[0] + this.#globList.slice(1).join("/") : this.#globList.join("/") : this.#globList.slice(this.#index).join("/"));
       }
-      function wrapAsync(asyncFn) {
-        if (typeof asyncFn !== "function") throw new Error("expected a function");
-        return isAsync(asyncFn) ? asyncify(asyncFn) : asyncFn;
+      /**
+       * true if there are more pattern parts after this one
+       */
+      hasMore() {
+        return this.length > this.#index + 1;
       }
-      function awaitify(asyncFn, arity) {
-        if (!arity) arity = asyncFn.length;
-        if (!arity) throw new Error("arity is undefined");
-        function awaitable(...args) {
-          if (typeof args[arity - 1] === "function") {
-            return asyncFn.apply(this, args);
-          }
-          return new Promise((resolve5, reject2) => {
-            args[arity - 1] = (err, ...cbArgs) => {
-              if (err) return reject2(err);
-              resolve5(cbArgs.length > 1 ? cbArgs : cbArgs[0]);
-            };
-            asyncFn.apply(this, args);
-          });
-        }
-        return awaitable;
+      /**
+       * The rest of the pattern after this part, or null if this is the end
+       */
+      rest() {
+        if (this.#rest !== void 0)
+          return this.#rest;
+        if (!this.hasMore())
+          return this.#rest = null;
+        this.#rest = new _Pattern(this.#patternList, this.#globList, this.#index + 1, this.#platform);
+        this.#rest.#isAbsolute = this.#isAbsolute;
+        this.#rest.#isUNC = this.#isUNC;
+        this.#rest.#isDrive = this.#isDrive;
+        return this.#rest;
       }
-      function applyEach$1(eachfn) {
-        return function applyEach2(fns, ...callArgs) {
-          const go = awaitify(function(callback) {
-            var that = this;
-            return eachfn(fns, (fn, cb) => {
-              wrapAsync(fn).apply(that, callArgs.concat(cb));
-            }, callback);
-          });
-          return go;
-        };
+      /**
+       * true if the pattern represents a //unc/path/ on windows
+       */
+      isUNC() {
+        const pl = this.#patternList;
+        return this.#isUNC !== void 0 ? this.#isUNC : this.#isUNC = this.#platform === "win32" && this.#index === 0 && pl[0] === "" && pl[1] === "" && typeof pl[2] === "string" && !!pl[2] && typeof pl[3] === "string" && !!pl[3];
       }
-      function _asyncMap(eachfn, arr, iteratee, callback) {
-        arr = arr || [];
-        var results = [];
-        var counter = 0;
-        var _iteratee = wrapAsync(iteratee);
-        return eachfn(arr, (value, _2, iterCb) => {
-          var index2 = counter++;
-          _iteratee(value, (err, v) => {
-            results[index2] = v;
-            iterCb(err);
-          });
-        }, (err) => {
-          callback(err, results);
-        });
+      // pattern like C:/...
+      // split = ['C:', ...]
+      // XXX: would be nice to handle patterns like `c:*` to test the cwd
+      // in c: for *, but I don't know of a way to even figure out what that
+      // cwd is without actually chdir'ing into it?
+      /**
+       * True if the pattern starts with a drive letter on Windows
+       */
+      isDrive() {
+        const pl = this.#patternList;
+        return this.#isDrive !== void 0 ? this.#isDrive : this.#isDrive = this.#platform === "win32" && this.#index === 0 && this.length > 1 && typeof pl[0] === "string" && /^[a-z]:$/i.test(pl[0]);
       }
-      function isArrayLike(value) {
-        return value && typeof value.length === "number" && value.length >= 0 && value.length % 1 === 0;
+      // pattern = '/' or '/...' or '/x/...'
+      // split = ['', ''] or ['', ...] or ['', 'x', ...]
+      // Drive and UNC both considered absolute on windows
+      /**
+       * True if the pattern is rooted on an absolute path
+       */
+      isAbsolute() {
+        const pl = this.#patternList;
+        return this.#isAbsolute !== void 0 ? this.#isAbsolute : this.#isAbsolute = pl[0] === "" && pl.length > 1 || this.isDrive() || this.isUNC();
       }
-      const breakLoop = {};
-      function once(fn) {
-        function wrapper(...args) {
-          if (fn === null) return;
-          var callFn = fn;
-          fn = null;
-          callFn.apply(this, args);
-        }
-        Object.assign(wrapper, fn);
-        return wrapper;
+      /**
+       * consume the root of the pattern, and return it
+       */
+      root() {
+        const p = this.#patternList[0];
+        return typeof p === "string" && this.isAbsolute() && this.#index === 0 ? p : "";
       }
-      function getIterator(coll) {
-        return coll[Symbol.iterator] && coll[Symbol.iterator]();
+      /**
+       * Check to see if the current globstar pattern is allowed to follow
+       * a symbolic link.
+       */
+      checkFollowGlobstar() {
+        return !(this.#index === 0 || !this.isGlobstar() || !this.#followGlobstar);
       }
-      function createArrayIterator(coll) {
-        var i = -1;
-        var len = coll.length;
-        return function next() {
-          return ++i < len ? { value: coll[i], key: i } : null;
-        };
+      /**
+       * Mark that the current globstar pattern is following a symbolic link
+       */
+      markFollowGlobstar() {
+        if (this.#index === 0 || !this.isGlobstar() || !this.#followGlobstar)
+          return false;
+        this.#followGlobstar = false;
+        return true;
       }
-      function createES2015Iterator(iterator2) {
-        var i = -1;
-        return function next() {
-          var item = iterator2.next();
-          if (item.done)
-            return null;
-          i++;
-          return { value: item.value, key: i };
+    };
+    exports2.Pattern = Pattern;
+  }
+});
+
+// node_modules/glob/dist/commonjs/ignore.js
+var require_ignore = __commonJS({
+  "node_modules/glob/dist/commonjs/ignore.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Ignore = void 0;
+    var minimatch_1 = require_commonjs20();
+    var pattern_js_1 = require_pattern();
+    var defaultPlatform = typeof process === "object" && process && typeof process.platform === "string" ? process.platform : "linux";
+    var Ignore = class {
+      relative;
+      relativeChildren;
+      absolute;
+      absoluteChildren;
+      platform;
+      mmopts;
+      constructor(ignored, { nobrace, nocase, noext, noglobstar, platform = defaultPlatform }) {
+        this.relative = [];
+        this.absolute = [];
+        this.relativeChildren = [];
+        this.absoluteChildren = [];
+        this.platform = platform;
+        this.mmopts = {
+          dot: true,
+          nobrace,
+          nocase,
+          noext,
+          noglobstar,
+          optimizationLevel: 2,
+          platform,
+          nocomment: true,
+          nonegate: true
         };
+        for (const ign of ignored)
+          this.add(ign);
       }
-      function createObjectIterator(obj) {
-        var okeys = obj ? Object.keys(obj) : [];
-        var i = -1;
-        var len = okeys.length;
-        return function next() {
-          var key = okeys[++i];
-          if (key === "__proto__") {
-            return next();
+      add(ign) {
+        const mm = new minimatch_1.Minimatch(ign, this.mmopts);
+        for (let i = 0; i < mm.set.length; i++) {
+          const parsed = mm.set[i];
+          const globParts = mm.globParts[i];
+          if (!parsed || !globParts) {
+            throw new Error("invalid pattern object");
           }
-          return i < len ? { value: obj[key], key } : null;
-        };
+          while (parsed[0] === "." && globParts[0] === ".") {
+            parsed.shift();
+            globParts.shift();
+          }
+          const p = new pattern_js_1.Pattern(parsed, globParts, 0, this.platform);
+          const m = new minimatch_1.Minimatch(p.globString(), this.mmopts);
+          const children = globParts[globParts.length - 1] === "**";
+          const absolute = p.isAbsolute();
+          if (absolute)
+            this.absolute.push(m);
+          else
+            this.relative.push(m);
+          if (children) {
+            if (absolute)
+              this.absoluteChildren.push(m);
+            else
+              this.relativeChildren.push(m);
+          }
+        }
       }
-      function createIterator(coll) {
-        if (isArrayLike(coll)) {
-          return createArrayIterator(coll);
+      ignored(p) {
+        const fullpath = p.fullpath();
+        const fullpaths = `${fullpath}/`;
+        const relative = p.relative() || ".";
+        const relatives = `${relative}/`;
+        for (const m of this.relative) {
+          if (m.match(relative) || m.match(relatives))
+            return true;
         }
-        var iterator2 = getIterator(coll);
-        return iterator2 ? createES2015Iterator(iterator2) : createObjectIterator(coll);
+        for (const m of this.absolute) {
+          if (m.match(fullpath) || m.match(fullpaths))
+            return true;
+        }
+        return false;
       }
-      function onlyOnce(fn) {
-        return function(...args) {
-          if (fn === null) throw new Error("Callback was already called.");
-          var callFn = fn;
-          fn = null;
-          callFn.apply(this, args);
-        };
+      childrenIgnored(p) {
+        const fullpath = p.fullpath() + "/";
+        const relative = (p.relative() || ".") + "/";
+        for (const m of this.relativeChildren) {
+          if (m.match(relative))
+            return true;
+        }
+        for (const m of this.absoluteChildren) {
+          if (m.match(fullpath))
+            return true;
+        }
+        return false;
       }
-      function asyncEachOfLimit(generator, limit, iteratee, callback) {
-        let done = false;
-        let canceled = false;
-        let awaiting = false;
-        let running = 0;
-        let idx = 0;
-        function replenish() {
-          if (running >= limit || awaiting || done) return;
-          awaiting = true;
-          generator.next().then(({ value, done: iterDone }) => {
-            if (canceled || done) return;
-            awaiting = false;
-            if (iterDone) {
-              done = true;
-              if (running <= 0) {
-                callback(null);
-              }
-              return;
-            }
-            running++;
-            iteratee(value, idx, iterateeCallback);
-            idx++;
-            replenish();
-          }).catch(handleError);
+    };
+    exports2.Ignore = Ignore;
+  }
+});
+
+// node_modules/glob/dist/commonjs/processor.js
+var require_processor = __commonJS({
+  "node_modules/glob/dist/commonjs/processor.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Processor = exports2.SubWalks = exports2.MatchRecord = exports2.HasWalkedCache = void 0;
+    var minimatch_1 = require_commonjs20();
+    var HasWalkedCache = class _HasWalkedCache {
+      store;
+      constructor(store = /* @__PURE__ */ new Map()) {
+        this.store = store;
+      }
+      copy() {
+        return new _HasWalkedCache(new Map(this.store));
+      }
+      hasWalked(target, pattern) {
+        return this.store.get(target.fullpath())?.has(pattern.globString());
+      }
+      storeWalked(target, pattern) {
+        const fullpath = target.fullpath();
+        const cached = this.store.get(fullpath);
+        if (cached)
+          cached.add(pattern.globString());
+        else
+          this.store.set(fullpath, /* @__PURE__ */ new Set([pattern.globString()]));
+      }
+    };
+    exports2.HasWalkedCache = HasWalkedCache;
+    var MatchRecord = class {
+      store = /* @__PURE__ */ new Map();
+      add(target, absolute, ifDir) {
+        const n = (absolute ? 2 : 0) | (ifDir ? 1 : 0);
+        const current = this.store.get(target);
+        this.store.set(target, current === void 0 ? n : n & current);
+      }
+      // match, absolute, ifdir
+      entries() {
+        return [...this.store.entries()].map(([path7, n]) => [
+          path7,
+          !!(n & 2),
+          !!(n & 1)
+        ]);
+      }
+    };
+    exports2.MatchRecord = MatchRecord;
+    var SubWalks = class {
+      store = /* @__PURE__ */ new Map();
+      add(target, pattern) {
+        if (!target.canReaddir()) {
+          return;
         }
-        function iterateeCallback(err, result) {
-          running -= 1;
-          if (canceled) return;
-          if (err) return handleError(err);
-          if (err === false) {
-            done = true;
-            canceled = true;
-            return;
-          }
-          if (result === breakLoop || done && running <= 0) {
-            done = true;
-            return callback(null);
+        const subs = this.store.get(target);
+        if (subs) {
+          if (!subs.find((p) => p.globString() === pattern.globString())) {
+            subs.push(pattern);
           }
-          replenish();
-        }
-        function handleError(err) {
-          if (canceled) return;
-          awaiting = false;
-          done = true;
-          callback(err);
+        } else
+          this.store.set(target, [pattern]);
+      }
+      get(target) {
+        const subs = this.store.get(target);
+        if (!subs) {
+          throw new Error("attempting to walk unknown path");
         }
-        replenish();
+        return subs;
       }
-      var eachOfLimit$2 = (limit) => {
-        return (obj, iteratee, callback) => {
-          callback = once(callback);
-          if (limit <= 0) {
-            throw new RangeError("concurrency limit cannot be less than 1");
-          }
-          if (!obj) {
-            return callback(null);
+      entries() {
+        return this.keys().map((k) => [k, this.store.get(k)]);
+      }
+      keys() {
+        return [...this.store.keys()].filter((t) => t.canReaddir());
+      }
+    };
+    exports2.SubWalks = SubWalks;
+    var Processor = class _Processor {
+      hasWalkedCache;
+      matches = new MatchRecord();
+      subwalks = new SubWalks();
+      patterns;
+      follow;
+      dot;
+      opts;
+      constructor(opts, hasWalkedCache) {
+        this.opts = opts;
+        this.follow = !!opts.follow;
+        this.dot = !!opts.dot;
+        this.hasWalkedCache = hasWalkedCache ? hasWalkedCache.copy() : new HasWalkedCache();
+      }
+      processPatterns(target, patterns) {
+        this.patterns = patterns;
+        const processingSet = patterns.map((p) => [target, p]);
+        for (let [t, pattern] of processingSet) {
+          this.hasWalkedCache.storeWalked(t, pattern);
+          const root = pattern.root();
+          const absolute = pattern.isAbsolute() && this.opts.absolute !== false;
+          if (root) {
+            t = t.resolve(root === "/" && this.opts.root !== void 0 ? this.opts.root : root);
+            const rest2 = pattern.rest();
+            if (!rest2) {
+              this.matches.add(t, true, false);
+              continue;
+            } else {
+              pattern = rest2;
+            }
           }
-          if (isAsyncGenerator(obj)) {
-            return asyncEachOfLimit(obj, limit, iteratee, callback);
+          if (t.isENOENT())
+            continue;
+          let p;
+          let rest;
+          let changed = false;
+          while (typeof (p = pattern.pattern()) === "string" && (rest = pattern.rest())) {
+            const c = t.resolve(p);
+            t = c;
+            pattern = rest;
+            changed = true;
           }
-          if (isAsyncIterable(obj)) {
-            return asyncEachOfLimit(obj[Symbol.asyncIterator](), limit, iteratee, callback);
+          p = pattern.pattern();
+          rest = pattern.rest();
+          if (changed) {
+            if (this.hasWalkedCache.hasWalked(t, pattern))
+              continue;
+            this.hasWalkedCache.storeWalked(t, pattern);
           }
-          var nextElem = createIterator(obj);
-          var done = false;
-          var canceled = false;
-          var running = 0;
-          var looping = false;
-          function iterateeCallback(err, value) {
-            if (canceled) return;
-            running -= 1;
-            if (err) {
-              done = true;
-              callback(err);
-            } else if (err === false) {
-              done = true;
-              canceled = true;
-            } else if (value === breakLoop || done && running <= 0) {
-              done = true;
-              return callback(null);
-            } else if (!looping) {
-              replenish();
+          if (typeof p === "string") {
+            const ifDir = p === ".." || p === "" || p === ".";
+            this.matches.add(t.resolve(p), absolute, ifDir);
+            continue;
+          } else if (p === minimatch_1.GLOBSTAR) {
+            if (!t.isSymbolicLink() || this.follow || pattern.checkFollowGlobstar()) {
+              this.subwalks.add(t, pattern);
             }
-          }
-          function replenish() {
-            looping = true;
-            while (running < limit && !done) {
-              var elem = nextElem();
-              if (elem === null) {
-                done = true;
-                if (running <= 0) {
-                  callback(null);
+            const rp = rest?.pattern();
+            const rrest = rest?.rest();
+            if (!rest || (rp === "" || rp === ".") && !rrest) {
+              this.matches.add(t, absolute, rp === "" || rp === ".");
+            } else {
+              if (rp === "..") {
+                const tp = t.parent || t;
+                if (!rrest)
+                  this.matches.add(tp, absolute, true);
+                else if (!this.hasWalkedCache.hasWalked(tp, rrest)) {
+                  this.subwalks.add(tp, rrest);
                 }
-                return;
               }
-              running += 1;
-              iteratee(elem.value, elem.key, onlyOnce(iterateeCallback));
             }
-            looping = false;
+          } else if (p instanceof RegExp) {
+            this.subwalks.add(t, pattern);
           }
-          replenish();
-        };
-      };
-      function eachOfLimit(coll, limit, iteratee, callback) {
-        return eachOfLimit$2(limit)(coll, wrapAsync(iteratee), callback);
+        }
+        return this;
       }
-      var eachOfLimit$1 = awaitify(eachOfLimit, 4);
-      function eachOfArrayLike(coll, iteratee, callback) {
-        callback = once(callback);
-        var index2 = 0, completed = 0, { length } = coll, canceled = false;
-        if (length === 0) {
-          callback(null);
+      subwalkTargets() {
+        return this.subwalks.keys();
+      }
+      child() {
+        return new _Processor(this.opts, this.hasWalkedCache);
+      }
+      // return a new Processor containing the subwalks for each
+      // child entry, and a set of matches, and
+      // a hasWalkedCache that's a copy of this one
+      // then we're going to call
+      filterEntries(parent, entries) {
+        const patterns = this.subwalks.get(parent);
+        const results = this.child();
+        for (const e of entries) {
+          for (const pattern of patterns) {
+            const absolute = pattern.isAbsolute();
+            const p = pattern.pattern();
+            const rest = pattern.rest();
+            if (p === minimatch_1.GLOBSTAR) {
+              results.testGlobstar(e, pattern, rest, absolute);
+            } else if (p instanceof RegExp) {
+              results.testRegExp(e, p, rest, absolute);
+            } else {
+              results.testString(e, p, rest, absolute);
+            }
+          }
         }
-        function iteratorCallback(err, value) {
-          if (err === false) {
-            canceled = true;
+        return results;
+      }
+      testGlobstar(e, pattern, rest, absolute) {
+        if (this.dot || !e.name.startsWith(".")) {
+          if (!pattern.hasMore()) {
+            this.matches.add(e, absolute, false);
           }
-          if (canceled === true) return;
-          if (err) {
-            callback(err);
-          } else if (++completed === length || value === breakLoop) {
-            callback(null);
+          if (e.canReaddir()) {
+            if (this.follow || !e.isSymbolicLink()) {
+              this.subwalks.add(e, pattern);
+            } else if (e.isSymbolicLink()) {
+              if (rest && pattern.checkFollowGlobstar()) {
+                this.subwalks.add(e, rest);
+              } else if (pattern.markFollowGlobstar()) {
+                this.subwalks.add(e, pattern);
+              }
+            }
           }
         }
-        for (; index2 < length; index2++) {
-          iteratee(coll[index2], index2, onlyOnce(iteratorCallback));
+        if (rest) {
+          const rp = rest.pattern();
+          if (typeof rp === "string" && // dots and empty were handled already
+          rp !== ".." && rp !== "" && rp !== ".") {
+            this.testString(e, rp, rest.rest(), absolute);
+          } else if (rp === "..") {
+            const ep = e.parent || e;
+            this.subwalks.add(ep, rest);
+          } else if (rp instanceof RegExp) {
+            this.testRegExp(e, rp, rest.rest(), absolute);
+          }
         }
       }
-      function eachOfGeneric(coll, iteratee, callback) {
-        return eachOfLimit$1(coll, Infinity, iteratee, callback);
-      }
-      function eachOf(coll, iteratee, callback) {
-        var eachOfImplementation = isArrayLike(coll) ? eachOfArrayLike : eachOfGeneric;
-        return eachOfImplementation(coll, wrapAsync(iteratee), callback);
-      }
-      var eachOf$1 = awaitify(eachOf, 3);
-      function map2(coll, iteratee, callback) {
-        return _asyncMap(eachOf$1, coll, iteratee, callback);
-      }
-      var map$1 = awaitify(map2, 3);
-      var applyEach = applyEach$1(map$1);
-      function eachOfSeries(coll, iteratee, callback) {
-        return eachOfLimit$1(coll, 1, iteratee, callback);
-      }
-      var eachOfSeries$1 = awaitify(eachOfSeries, 3);
-      function mapSeries(coll, iteratee, callback) {
-        return _asyncMap(eachOfSeries$1, coll, iteratee, callback);
-      }
-      var mapSeries$1 = awaitify(mapSeries, 3);
-      var applyEachSeries = applyEach$1(mapSeries$1);
-      const PROMISE_SYMBOL = /* @__PURE__ */ Symbol("promiseCallback");
-      function promiseCallback() {
-        let resolve5, reject2;
-        function callback(err, ...args) {
-          if (err) return reject2(err);
-          resolve5(args.length > 1 ? args : args[0]);
+      testRegExp(e, p, rest, absolute) {
+        if (!p.test(e.name))
+          return;
+        if (!rest) {
+          this.matches.add(e, absolute, false);
+        } else {
+          this.subwalks.add(e, rest);
         }
-        callback[PROMISE_SYMBOL] = new Promise((res, rej) => {
-          resolve5 = res, reject2 = rej;
-        });
-        return callback;
       }
-      function auto(tasks, concurrency, callback) {
-        if (typeof concurrency !== "number") {
-          callback = concurrency;
-          concurrency = null;
-        }
-        callback = once(callback || promiseCallback());
-        var numTasks = Object.keys(tasks).length;
-        if (!numTasks) {
-          return callback(null);
-        }
-        if (!concurrency) {
-          concurrency = numTasks;
+      testString(e, p, rest, absolute) {
+        if (!e.isNamed(p))
+          return;
+        if (!rest) {
+          this.matches.add(e, absolute, false);
+        } else {
+          this.subwalks.add(e, rest);
         }
-        var results = {};
-        var runningTasks = 0;
-        var canceled = false;
-        var hasError = false;
-        var listeners = /* @__PURE__ */ Object.create(null);
-        var readyTasks = [];
-        var readyToCheck = [];
-        var uncheckedDependencies = {};
-        Object.keys(tasks).forEach((key) => {
-          var task = tasks[key];
-          if (!Array.isArray(task)) {
-            enqueueTask(key, [task]);
-            readyToCheck.push(key);
-            return;
-          }
-          var dependencies = task.slice(0, task.length - 1);
-          var remainingDependencies = dependencies.length;
-          if (remainingDependencies === 0) {
-            enqueueTask(key, task);
-            readyToCheck.push(key);
-            return;
+      }
+    };
+    exports2.Processor = Processor;
+  }
+});
+
+// node_modules/glob/dist/commonjs/walker.js
+var require_walker = __commonJS({
+  "node_modules/glob/dist/commonjs/walker.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.GlobStream = exports2.GlobWalker = exports2.GlobUtil = void 0;
+    var minipass_1 = require_commonjs22();
+    var ignore_js_1 = require_ignore();
+    var processor_js_1 = require_processor();
+    var makeIgnore = (ignore, opts) => typeof ignore === "string" ? new ignore_js_1.Ignore([ignore], opts) : Array.isArray(ignore) ? new ignore_js_1.Ignore(ignore, opts) : ignore;
+    var GlobUtil = class {
+      path;
+      patterns;
+      opts;
+      seen = /* @__PURE__ */ new Set();
+      paused = false;
+      aborted = false;
+      #onResume = [];
+      #ignore;
+      #sep;
+      signal;
+      maxDepth;
+      includeChildMatches;
+      constructor(patterns, path7, opts) {
+        this.patterns = patterns;
+        this.path = path7;
+        this.opts = opts;
+        this.#sep = !opts.posix && opts.platform === "win32" ? "\\" : "/";
+        this.includeChildMatches = opts.includeChildMatches !== false;
+        if (opts.ignore || !this.includeChildMatches) {
+          this.#ignore = makeIgnore(opts.ignore ?? [], opts);
+          if (!this.includeChildMatches && typeof this.#ignore.add !== "function") {
+            const m = "cannot ignore child matches, ignore lacks add() method.";
+            throw new Error(m);
           }
-          uncheckedDependencies[key] = remainingDependencies;
-          dependencies.forEach((dependencyName) => {
-            if (!tasks[dependencyName]) {
-              throw new Error("async.auto task `" + key + "` has a non-existent dependency `" + dependencyName + "` in " + dependencies.join(", "));
-            }
-            addListener(dependencyName, () => {
-              remainingDependencies--;
-              if (remainingDependencies === 0) {
-                enqueueTask(key, task);
-              }
-            });
-          });
-        });
-        checkForDeadlocks();
-        processQueue();
-        function enqueueTask(key, task) {
-          readyTasks.push(() => runTask(key, task));
         }
-        function processQueue() {
-          if (canceled) return;
-          if (readyTasks.length === 0 && runningTasks === 0) {
-            return callback(null, results);
-          }
-          while (readyTasks.length && runningTasks < concurrency) {
-            var run = readyTasks.shift();
-            run();
-          }
+        this.maxDepth = opts.maxDepth || Infinity;
+        if (opts.signal) {
+          this.signal = opts.signal;
+          this.signal.addEventListener("abort", () => {
+            this.#onResume.length = 0;
+          });
         }
-        function addListener(taskName, fn) {
-          var taskListeners = listeners[taskName];
-          if (!taskListeners) {
-            taskListeners = listeners[taskName] = [];
-          }
-          taskListeners.push(fn);
+      }
+      #ignored(path7) {
+        return this.seen.has(path7) || !!this.#ignore?.ignored?.(path7);
+      }
+      #childrenIgnored(path7) {
+        return !!this.#ignore?.childrenIgnored?.(path7);
+      }
+      // backpressure mechanism
+      pause() {
+        this.paused = true;
+      }
+      resume() {
+        if (this.signal?.aborted)
+          return;
+        this.paused = false;
+        let fn = void 0;
+        while (!this.paused && (fn = this.#onResume.shift())) {
+          fn();
         }
-        function taskComplete(taskName) {
-          var taskListeners = listeners[taskName] || [];
-          taskListeners.forEach((fn) => fn());
-          processQueue();
+      }
+      onResume(fn) {
+        if (this.signal?.aborted)
+          return;
+        if (!this.paused) {
+          fn();
+        } else {
+          this.#onResume.push(fn);
         }
-        function runTask(key, task) {
-          if (hasError) return;
-          var taskCallback = onlyOnce((err, ...result) => {
-            runningTasks--;
-            if (err === false) {
-              canceled = true;
-              return;
-            }
-            if (result.length < 2) {
-              [result] = result;
-            }
-            if (err) {
-              var safeResults = {};
-              Object.keys(results).forEach((rkey) => {
-                safeResults[rkey] = results[rkey];
-              });
-              safeResults[key] = result;
-              hasError = true;
-              listeners = /* @__PURE__ */ Object.create(null);
-              if (canceled) return;
-              callback(err, safeResults);
-            } else {
-              results[key] = result;
-              taskComplete(key);
-            }
-          });
-          runningTasks++;
-          var taskFn = wrapAsync(task[task.length - 1]);
-          if (task.length > 1) {
-            taskFn(results, taskCallback);
-          } else {
-            taskFn(taskCallback);
-          }
+      }
+      // do the requisite realpath/stat checking, and return the path
+      // to add or undefined to filter it out.
+      async matchCheck(e, ifDir) {
+        if (ifDir && this.opts.nodir)
+          return void 0;
+        let rpc;
+        if (this.opts.realpath) {
+          rpc = e.realpathCached() || await e.realpath();
+          if (!rpc)
+            return void 0;
+          e = rpc;
         }
-        function checkForDeadlocks() {
-          var currentTask;
-          var counter = 0;
-          while (readyToCheck.length) {
-            currentTask = readyToCheck.pop();
-            counter++;
-            getDependents(currentTask).forEach((dependent) => {
-              if (--uncheckedDependencies[dependent] === 0) {
-                readyToCheck.push(dependent);
-              }
-            });
-          }
-          if (counter !== numTasks) {
-            throw new Error(
-              "async.auto cannot execute tasks due to a recursive dependency"
-            );
+        const needStat = e.isUnknown() || this.opts.stat;
+        const s = needStat ? await e.lstat() : e;
+        if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) {
+          const target = await s.realpath();
+          if (target && (target.isUnknown() || this.opts.stat)) {
+            await target.lstat();
           }
         }
-        function getDependents(taskName) {
-          var result = [];
-          Object.keys(tasks).forEach((key) => {
-            const task = tasks[key];
-            if (Array.isArray(task) && task.indexOf(taskName) >= 0) {
-              result.push(key);
-            }
-          });
-          return result;
-        }
-        return callback[PROMISE_SYMBOL];
+        return this.matchCheckTest(s, ifDir);
       }
-      var FN_ARGS = /^(?:async\s)?(?:function)?\s*(?:\w+\s*)?\(([^)]+)\)(?:\s*{)/;
-      var ARROW_FN_ARGS = /^(?:async\s)?\s*(?:\(\s*)?((?:[^)=\s]\s*)*)(?:\)\s*)?=>/;
-      var FN_ARG_SPLIT = /,/;
-      var FN_ARG = /(=.+)?(\s*)$/;
-      function stripComments(string) {
-        let stripped = "";
-        let index2 = 0;
-        let endBlockComment = string.indexOf("*/");
-        while (index2 < string.length) {
-          if (string[index2] === "/" && string[index2 + 1] === "/") {
-            let endIndex = string.indexOf("\n", index2);
-            index2 = endIndex === -1 ? string.length : endIndex;
-          } else if (endBlockComment !== -1 && string[index2] === "/" && string[index2 + 1] === "*") {
-            let endIndex = string.indexOf("*/", index2);
-            if (endIndex !== -1) {
-              index2 = endIndex + 2;
-              endBlockComment = string.indexOf("*/", index2);
-            } else {
-              stripped += string[index2];
-              index2++;
-            }
-          } else {
-            stripped += string[index2];
-            index2++;
+      matchCheckTest(e, ifDir) {
+        return e && (this.maxDepth === Infinity || e.depth() <= this.maxDepth) && (!ifDir || e.canReaddir()) && (!this.opts.nodir || !e.isDirectory()) && (!this.opts.nodir || !this.opts.follow || !e.isSymbolicLink() || !e.realpathCached()?.isDirectory()) && !this.#ignored(e) ? e : void 0;
+      }
+      matchCheckSync(e, ifDir) {
+        if (ifDir && this.opts.nodir)
+          return void 0;
+        let rpc;
+        if (this.opts.realpath) {
+          rpc = e.realpathCached() || e.realpathSync();
+          if (!rpc)
+            return void 0;
+          e = rpc;
+        }
+        const needStat = e.isUnknown() || this.opts.stat;
+        const s = needStat ? e.lstatSync() : e;
+        if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) {
+          const target = s.realpathSync();
+          if (target && (target?.isUnknown() || this.opts.stat)) {
+            target.lstatSync();
           }
         }
-        return stripped;
+        return this.matchCheckTest(s, ifDir);
       }
-      function parseParams(func) {
-        const src = stripComments(func.toString());
-        let match = src.match(FN_ARGS);
-        if (!match) {
-          match = src.match(ARROW_FN_ARGS);
+      matchFinish(e, absolute) {
+        if (this.#ignored(e))
+          return;
+        if (!this.includeChildMatches && this.#ignore?.add) {
+          const ign = `${e.relativePosix()}/**`;
+          this.#ignore.add(ign);
+        }
+        const abs = this.opts.absolute === void 0 ? absolute : this.opts.absolute;
+        this.seen.add(e);
+        const mark = this.opts.mark && e.isDirectory() ? this.#sep : "";
+        if (this.opts.withFileTypes) {
+          this.matchEmit(e);
+        } else if (abs) {
+          const abs2 = this.opts.posix ? e.fullpathPosix() : e.fullpath();
+          this.matchEmit(abs2 + mark);
+        } else {
+          const rel = this.opts.posix ? e.relativePosix() : e.relative();
+          const pre = this.opts.dotRelative && !rel.startsWith(".." + this.#sep) ? "." + this.#sep : "";
+          this.matchEmit(!rel ? "." + mark : pre + rel + mark);
         }
-        if (!match) throw new Error("could not parse args in autoInject\nSource:\n" + src);
-        let [, args] = match;
-        return args.replace(/\s/g, "").split(FN_ARG_SPLIT).map((arg) => arg.replace(FN_ARG, "").trim());
       }
-      function autoInject(tasks, callback) {
-        var newTasks = {};
-        Object.keys(tasks).forEach((key) => {
-          var taskFn = tasks[key];
-          var params;
-          var fnIsAsync = isAsync(taskFn);
-          var hasNoDeps = !fnIsAsync && taskFn.length === 1 || fnIsAsync && taskFn.length === 0;
-          if (Array.isArray(taskFn)) {
-            params = [...taskFn];
-            taskFn = params.pop();
-            newTasks[key] = params.concat(params.length > 0 ? newTask : taskFn);
-          } else if (hasNoDeps) {
-            newTasks[key] = taskFn;
-          } else {
-            params = parseParams(taskFn);
-            if (taskFn.length === 0 && !fnIsAsync && params.length === 0) {
-              throw new Error("autoInject task functions require explicit parameters.");
-            }
-            if (!fnIsAsync) params.pop();
-            newTasks[key] = params.concat(newTask);
-          }
-          function newTask(results, taskCb) {
-            var newArgs = params.map((name) => results[name]);
-            newArgs.push(taskCb);
-            wrapAsync(taskFn)(...newArgs);
-          }
-        });
-        return auto(newTasks, callback);
+      async match(e, absolute, ifDir) {
+        const p = await this.matchCheck(e, ifDir);
+        if (p)
+          this.matchFinish(p, absolute);
       }
-      class DLL {
-        constructor() {
-          this.head = this.tail = null;
-          this.length = 0;
+      matchSync(e, absolute, ifDir) {
+        const p = this.matchCheckSync(e, ifDir);
+        if (p)
+          this.matchFinish(p, absolute);
+      }
+      walkCB(target, patterns, cb) {
+        if (this.signal?.aborted)
+          cb();
+        this.walkCB2(target, patterns, new processor_js_1.Processor(this.opts), cb);
+      }
+      walkCB2(target, patterns, processor, cb) {
+        if (this.#childrenIgnored(target))
+          return cb();
+        if (this.signal?.aborted)
+          cb();
+        if (this.paused) {
+          this.onResume(() => this.walkCB2(target, patterns, processor, cb));
+          return;
         }
-        removeLink(node) {
-          if (node.prev) node.prev.next = node.next;
-          else this.head = node.next;
-          if (node.next) node.next.prev = node.prev;
-          else this.tail = node.prev;
-          node.prev = node.next = null;
-          this.length -= 1;
-          return node;
+        processor.processPatterns(target, patterns);
+        let tasks = 1;
+        const next = () => {
+          if (--tasks === 0)
+            cb();
+        };
+        for (const [m, absolute, ifDir] of processor.matches.entries()) {
+          if (this.#ignored(m))
+            continue;
+          tasks++;
+          this.match(m, absolute, ifDir).then(() => next());
         }
-        empty() {
-          while (this.head) this.shift();
-          return this;
+        for (const t of processor.subwalkTargets()) {
+          if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {
+            continue;
+          }
+          tasks++;
+          const childrenCached = t.readdirCached();
+          if (t.calledReaddir())
+            this.walkCB3(t, childrenCached, processor, next);
+          else {
+            t.readdirCB((_2, entries) => this.walkCB3(t, entries, processor, next), true);
+          }
         }
-        insertAfter(node, newNode) {
-          newNode.prev = node;
-          newNode.next = node.next;
-          if (node.next) node.next.prev = newNode;
-          else this.tail = newNode;
-          node.next = newNode;
-          this.length += 1;
+        next();
+      }
+      walkCB3(target, entries, processor, cb) {
+        processor = processor.filterEntries(target, entries);
+        let tasks = 1;
+        const next = () => {
+          if (--tasks === 0)
+            cb();
+        };
+        for (const [m, absolute, ifDir] of processor.matches.entries()) {
+          if (this.#ignored(m))
+            continue;
+          tasks++;
+          this.match(m, absolute, ifDir).then(() => next());
         }
-        insertBefore(node, newNode) {
-          newNode.prev = node.prev;
-          newNode.next = node;
-          if (node.prev) node.prev.next = newNode;
-          else this.head = newNode;
-          node.prev = newNode;
-          this.length += 1;
+        for (const [target2, patterns] of processor.subwalks.entries()) {
+          tasks++;
+          this.walkCB2(target2, patterns, processor.child(), next);
         }
-        unshift(node) {
-          if (this.head) this.insertBefore(this.head, node);
-          else setInitial(this, node);
+        next();
+      }
+      walkCBSync(target, patterns, cb) {
+        if (this.signal?.aborted)
+          cb();
+        this.walkCB2Sync(target, patterns, new processor_js_1.Processor(this.opts), cb);
+      }
+      walkCB2Sync(target, patterns, processor, cb) {
+        if (this.#childrenIgnored(target))
+          return cb();
+        if (this.signal?.aborted)
+          cb();
+        if (this.paused) {
+          this.onResume(() => this.walkCB2Sync(target, patterns, processor, cb));
+          return;
         }
-        push(node) {
-          if (this.tail) this.insertAfter(this.tail, node);
-          else setInitial(this, node);
+        processor.processPatterns(target, patterns);
+        let tasks = 1;
+        const next = () => {
+          if (--tasks === 0)
+            cb();
+        };
+        for (const [m, absolute, ifDir] of processor.matches.entries()) {
+          if (this.#ignored(m))
+            continue;
+          this.matchSync(m, absolute, ifDir);
         }
-        shift() {
-          return this.head && this.removeLink(this.head);
+        for (const t of processor.subwalkTargets()) {
+          if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {
+            continue;
+          }
+          tasks++;
+          const children = t.readdirSync();
+          this.walkCB3Sync(t, children, processor, next);
         }
-        pop() {
-          return this.tail && this.removeLink(this.tail);
+        next();
+      }
+      walkCB3Sync(target, entries, processor, cb) {
+        processor = processor.filterEntries(target, entries);
+        let tasks = 1;
+        const next = () => {
+          if (--tasks === 0)
+            cb();
+        };
+        for (const [m, absolute, ifDir] of processor.matches.entries()) {
+          if (this.#ignored(m))
+            continue;
+          this.matchSync(m, absolute, ifDir);
         }
-        toArray() {
-          return [...this];
+        for (const [target2, patterns] of processor.subwalks.entries()) {
+          tasks++;
+          this.walkCB2Sync(target2, patterns, processor.child(), next);
         }
-        *[Symbol.iterator]() {
-          var cur = this.head;
-          while (cur) {
-            yield cur.data;
-            cur = cur.next;
-          }
+        next();
+      }
+    };
+    exports2.GlobUtil = GlobUtil;
+    var GlobWalker = class extends GlobUtil {
+      matches = /* @__PURE__ */ new Set();
+      constructor(patterns, path7, opts) {
+        super(patterns, path7, opts);
+      }
+      matchEmit(e) {
+        this.matches.add(e);
+      }
+      async walk() {
+        if (this.signal?.aborted)
+          throw this.signal.reason;
+        if (this.path.isUnknown()) {
+          await this.path.lstat();
         }
-        remove(testFn) {
-          var curr = this.head;
-          while (curr) {
-            var { next } = curr;
-            if (testFn(curr)) {
-              this.removeLink(curr);
+        await new Promise((res, rej) => {
+          this.walkCB(this.path, this.patterns, () => {
+            if (this.signal?.aborted) {
+              rej(this.signal.reason);
+            } else {
+              res(this.matches);
             }
-            curr = next;
-          }
-          return this;
+          });
+        });
+        return this.matches;
+      }
+      walkSync() {
+        if (this.signal?.aborted)
+          throw this.signal.reason;
+        if (this.path.isUnknown()) {
+          this.path.lstatSync();
         }
+        this.walkCBSync(this.path, this.patterns, () => {
+          if (this.signal?.aborted)
+            throw this.signal.reason;
+        });
+        return this.matches;
       }
-      function setInitial(dll, node) {
-        dll.length = 1;
-        dll.head = dll.tail = node;
+    };
+    exports2.GlobWalker = GlobWalker;
+    var GlobStream = class extends GlobUtil {
+      results;
+      constructor(patterns, path7, opts) {
+        super(patterns, path7, opts);
+        this.results = new minipass_1.Minipass({
+          signal: this.signal,
+          objectMode: true
+        });
+        this.results.on("drain", () => this.resume());
+        this.results.on("resume", () => this.resume());
       }
-      function queue$1(worker, concurrency, payload) {
-        if (concurrency == null) {
-          concurrency = 1;
-        } else if (concurrency === 0) {
-          throw new RangeError("Concurrency must not be zero");
-        }
-        var _worker = wrapAsync(worker);
-        var numRunning = 0;
-        var workersList = [];
-        const events = {
-          error: [],
-          drain: [],
-          saturated: [],
-          unsaturated: [],
-          empty: []
-        };
-        function on(event, handler2) {
-          events[event].push(handler2);
+      matchEmit(e) {
+        this.results.write(e);
+        if (!this.results.flowing)
+          this.pause();
+      }
+      stream() {
+        const target = this.path;
+        if (target.isUnknown()) {
+          target.lstat().then(() => {
+            this.walkCB(target, this.patterns, () => this.results.end());
+          });
+        } else {
+          this.walkCB(target, this.patterns, () => this.results.end());
         }
-        function once2(event, handler2) {
-          const handleAndRemove = (...args) => {
-            off(event, handleAndRemove);
-            handler2(...args);
-          };
-          events[event].push(handleAndRemove);
+        return this.results;
+      }
+      streamSync() {
+        if (this.path.isUnknown()) {
+          this.path.lstatSync();
         }
-        function off(event, handler2) {
-          if (!event) return Object.keys(events).forEach((ev) => events[ev] = []);
-          if (!handler2) return events[event] = [];
-          events[event] = events[event].filter((ev) => ev !== handler2);
+        this.walkCBSync(this.path, this.patterns, () => this.results.end());
+        return this.results;
+      }
+    };
+    exports2.GlobStream = GlobStream;
+  }
+});
+
+// node_modules/glob/dist/commonjs/glob.js
+var require_glob2 = __commonJS({
+  "node_modules/glob/dist/commonjs/glob.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Glob = void 0;
+    var minimatch_1 = require_commonjs20();
+    var node_url_1 = require("node:url");
+    var path_scurry_1 = require_commonjs23();
+    var pattern_js_1 = require_pattern();
+    var walker_js_1 = require_walker();
+    var defaultPlatform = typeof process === "object" && process && typeof process.platform === "string" ? process.platform : "linux";
+    var Glob = class {
+      absolute;
+      cwd;
+      root;
+      dot;
+      dotRelative;
+      follow;
+      ignore;
+      magicalBraces;
+      mark;
+      matchBase;
+      maxDepth;
+      nobrace;
+      nocase;
+      nodir;
+      noext;
+      noglobstar;
+      pattern;
+      platform;
+      realpath;
+      scurry;
+      stat;
+      signal;
+      windowsPathsNoEscape;
+      withFileTypes;
+      includeChildMatches;
+      /**
+       * The options provided to the constructor.
+       */
+      opts;
+      /**
+       * An array of parsed immutable {@link Pattern} objects.
+       */
+      patterns;
+      /**
+       * All options are stored as properties on the `Glob` object.
+       *
+       * See {@link GlobOptions} for full options descriptions.
+       *
+       * Note that a previous `Glob` object can be passed as the
+       * `GlobOptions` to another `Glob` instantiation to re-use settings
+       * and caches with a new pattern.
+       *
+       * Traversal functions can be called multiple times to run the walk
+       * again.
+       */
+      constructor(pattern, opts) {
+        if (!opts)
+          throw new TypeError("glob options required");
+        this.withFileTypes = !!opts.withFileTypes;
+        this.signal = opts.signal;
+        this.follow = !!opts.follow;
+        this.dot = !!opts.dot;
+        this.dotRelative = !!opts.dotRelative;
+        this.nodir = !!opts.nodir;
+        this.mark = !!opts.mark;
+        if (!opts.cwd) {
+          this.cwd = "";
+        } else if (opts.cwd instanceof URL || opts.cwd.startsWith("file://")) {
+          opts.cwd = (0, node_url_1.fileURLToPath)(opts.cwd);
         }
-        function trigger(event, ...args) {
-          events[event].forEach((handler2) => handler2(...args));
+        this.cwd = opts.cwd || "";
+        this.root = opts.root;
+        this.magicalBraces = !!opts.magicalBraces;
+        this.nobrace = !!opts.nobrace;
+        this.noext = !!opts.noext;
+        this.realpath = !!opts.realpath;
+        this.absolute = opts.absolute;
+        this.includeChildMatches = opts.includeChildMatches !== false;
+        this.noglobstar = !!opts.noglobstar;
+        this.matchBase = !!opts.matchBase;
+        this.maxDepth = typeof opts.maxDepth === "number" ? opts.maxDepth : Infinity;
+        this.stat = !!opts.stat;
+        this.ignore = opts.ignore;
+        if (this.withFileTypes && this.absolute !== void 0) {
+          throw new Error("cannot set absolute and withFileTypes:true");
         }
-        var processingScheduled = false;
-        function _insert(data, insertAtFront, rejectOnError, callback) {
-          if (callback != null && typeof callback !== "function") {
-            throw new Error("task callback must be a function");
-          }
-          q.started = true;
-          var res, rej;
-          function promiseCallback2(err, ...args) {
-            if (err) return rejectOnError ? rej(err) : res();
-            if (args.length <= 1) return res(args[0]);
-            res(args);
-          }
-          var item = q._createTaskItem(
-            data,
-            rejectOnError ? promiseCallback2 : callback || promiseCallback2
-          );
-          if (insertAtFront) {
-            q._tasks.unshift(item);
-          } else {
-            q._tasks.push(item);
-          }
-          if (!processingScheduled) {
-            processingScheduled = true;
-            setImmediate$1(() => {
-              processingScheduled = false;
-              q.process();
-            });
-          }
-          if (rejectOnError || !callback) {
-            return new Promise((resolve5, reject2) => {
-              res = resolve5;
-              rej = reject2;
-            });
-          }
+        if (typeof pattern === "string") {
+          pattern = [pattern];
         }
-        function _createCB(tasks) {
-          return function(err, ...args) {
-            numRunning -= 1;
-            for (var i = 0, l = tasks.length; i < l; i++) {
-              var task = tasks[i];
-              var index2 = workersList.indexOf(task);
-              if (index2 === 0) {
-                workersList.shift();
-              } else if (index2 > 0) {
-                workersList.splice(index2, 1);
-              }
-              task.callback(err, ...args);
-              if (err != null) {
-                trigger("error", err, task.data);
-              }
-            }
-            if (numRunning <= q.concurrency - q.buffer) {
-              trigger("unsaturated");
-            }
-            if (q.idle()) {
-              trigger("drain");
-            }
-            q.process();
-          };
+        this.windowsPathsNoEscape = !!opts.windowsPathsNoEscape || opts.allowWindowsEscape === false;
+        if (this.windowsPathsNoEscape) {
+          pattern = pattern.map((p) => p.replace(/\\/g, "/"));
         }
-        function _maybeDrain(data) {
-          if (data.length === 0 && q.idle()) {
-            setImmediate$1(() => trigger("drain"));
-            return true;
+        if (this.matchBase) {
+          if (opts.noglobstar) {
+            throw new TypeError("base matching requires globstar");
           }
-          return false;
+          pattern = pattern.map((p) => p.includes("/") ? p : `./**/${p}`);
         }
-        const eventMethod = (name) => (handler2) => {
-          if (!handler2) {
-            return new Promise((resolve5, reject2) => {
-              once2(name, (err, data) => {
-                if (err) return reject2(err);
-                resolve5(data);
-              });
-            });
-          }
-          off(name);
-          on(name, handler2);
-        };
-        var isProcessing = false;
-        var q = {
-          _tasks: new DLL(),
-          _createTaskItem(data, callback) {
-            return {
-              data,
-              callback
-            };
-          },
-          *[Symbol.iterator]() {
-            yield* q._tasks[Symbol.iterator]();
-          },
-          concurrency,
-          payload,
-          buffer: concurrency / 4,
-          started: false,
-          paused: false,
-          push(data, callback) {
-            if (Array.isArray(data)) {
-              if (_maybeDrain(data)) return;
-              return data.map((datum) => _insert(datum, false, false, callback));
-            }
-            return _insert(data, false, false, callback);
-          },
-          pushAsync(data, callback) {
-            if (Array.isArray(data)) {
-              if (_maybeDrain(data)) return;
-              return data.map((datum) => _insert(datum, false, true, callback));
-            }
-            return _insert(data, false, true, callback);
-          },
-          kill() {
-            off();
-            q._tasks.empty();
-          },
-          unshift(data, callback) {
-            if (Array.isArray(data)) {
-              if (_maybeDrain(data)) return;
-              return data.map((datum) => _insert(datum, true, false, callback));
-            }
-            return _insert(data, true, false, callback);
-          },
-          unshiftAsync(data, callback) {
-            if (Array.isArray(data)) {
-              if (_maybeDrain(data)) return;
-              return data.map((datum) => _insert(datum, true, true, callback));
-            }
-            return _insert(data, true, true, callback);
-          },
-          remove(testFn) {
-            q._tasks.remove(testFn);
-          },
-          process() {
-            if (isProcessing) {
-              return;
-            }
-            isProcessing = true;
-            while (!q.paused && numRunning < q.concurrency && q._tasks.length) {
-              var tasks = [], data = [];
-              var l = q._tasks.length;
-              if (q.payload) l = Math.min(l, q.payload);
-              for (var i = 0; i < l; i++) {
-                var node = q._tasks.shift();
-                tasks.push(node);
-                workersList.push(node);
-                data.push(node.data);
-              }
-              numRunning += 1;
-              if (q._tasks.length === 0) {
-                trigger("empty");
-              }
-              if (numRunning === q.concurrency) {
-                trigger("saturated");
-              }
-              var cb = onlyOnce(_createCB(tasks));
-              _worker(data, cb);
-            }
-            isProcessing = false;
-          },
-          length() {
-            return q._tasks.length;
-          },
-          running() {
-            return numRunning;
-          },
-          workersList() {
-            return workersList;
-          },
-          idle() {
-            return q._tasks.length + numRunning === 0;
-          },
-          pause() {
-            q.paused = true;
-          },
-          resume() {
-            if (q.paused === false) {
-              return;
-            }
-            q.paused = false;
-            setImmediate$1(q.process);
+        this.pattern = pattern;
+        this.platform = opts.platform || defaultPlatform;
+        this.opts = { ...opts, platform: this.platform };
+        if (opts.scurry) {
+          this.scurry = opts.scurry;
+          if (opts.nocase !== void 0 && opts.nocase !== opts.scurry.nocase) {
+            throw new Error("nocase option contradicts provided scurry option");
           }
+        } else {
+          const Scurry = opts.platform === "win32" ? path_scurry_1.PathScurryWin32 : opts.platform === "darwin" ? path_scurry_1.PathScurryDarwin : opts.platform ? path_scurry_1.PathScurryPosix : path_scurry_1.PathScurry;
+          this.scurry = new Scurry(this.cwd, {
+            nocase: opts.nocase,
+            fs: opts.fs
+          });
+        }
+        this.nocase = this.scurry.nocase;
+        const nocaseMagicOnly = this.platform === "darwin" || this.platform === "win32";
+        const mmo = {
+          // default nocase based on platform
+          ...opts,
+          dot: this.dot,
+          matchBase: this.matchBase,
+          nobrace: this.nobrace,
+          nocase: this.nocase,
+          nocaseMagicOnly,
+          nocomment: true,
+          noext: this.noext,
+          nonegate: true,
+          optimizationLevel: 2,
+          platform: this.platform,
+          windowsPathsNoEscape: this.windowsPathsNoEscape,
+          debug: !!this.opts.debug
         };
-        Object.defineProperties(q, {
-          saturated: {
-            writable: false,
-            value: eventMethod("saturated")
-          },
-          unsaturated: {
-            writable: false,
-            value: eventMethod("unsaturated")
-          },
-          empty: {
-            writable: false,
-            value: eventMethod("empty")
-          },
-          drain: {
-            writable: false,
-            value: eventMethod("drain")
-          },
-          error: {
-            writable: false,
-            value: eventMethod("error")
-          }
+        const mms = this.pattern.map((p) => new minimatch_1.Minimatch(p, mmo));
+        const [matchSet, globParts] = mms.reduce((set2, m) => {
+          set2[0].push(...m.set);
+          set2[1].push(...m.globParts);
+          return set2;
+        }, [[], []]);
+        this.patterns = matchSet.map((set2, i) => {
+          const g = globParts[i];
+          if (!g)
+            throw new Error("invalid pattern object");
+          return new pattern_js_1.Pattern(set2, g, 0, this.platform);
         });
-        return q;
       }
-      function cargo$1(worker, payload) {
-        return queue$1(worker, 1, payload);
+      async walk() {
+        return [
+          ...await new walker_js_1.GlobWalker(this.patterns, this.scurry.cwd, {
+            ...this.opts,
+            maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
+            platform: this.platform,
+            nocase: this.nocase,
+            includeChildMatches: this.includeChildMatches
+          }).walk()
+        ];
       }
-      function cargo(worker, concurrency, payload) {
-        return queue$1(worker, concurrency, payload);
+      walkSync() {
+        return [
+          ...new walker_js_1.GlobWalker(this.patterns, this.scurry.cwd, {
+            ...this.opts,
+            maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
+            platform: this.platform,
+            nocase: this.nocase,
+            includeChildMatches: this.includeChildMatches
+          }).walkSync()
+        ];
       }
-      function reduce(coll, memo, iteratee, callback) {
-        callback = once(callback);
-        var _iteratee = wrapAsync(iteratee);
-        return eachOfSeries$1(coll, (x, i, iterCb) => {
-          _iteratee(memo, x, (err, v) => {
-            memo = v;
-            iterCb(err);
-          });
-        }, (err) => callback(err, memo));
+      stream() {
+        return new walker_js_1.GlobStream(this.patterns, this.scurry.cwd, {
+          ...this.opts,
+          maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
+          platform: this.platform,
+          nocase: this.nocase,
+          includeChildMatches: this.includeChildMatches
+        }).stream();
       }
-      var reduce$1 = awaitify(reduce, 4);
-      function seq2(...functions) {
-        var _functions = functions.map(wrapAsync);
-        return function(...args) {
-          var that = this;
-          var cb = args[args.length - 1];
-          if (typeof cb == "function") {
-            args.pop();
-          } else {
-            cb = promiseCallback();
-          }
-          reduce$1(
-            _functions,
-            args,
-            (newargs, fn, iterCb) => {
-              fn.apply(that, newargs.concat((err, ...nextargs) => {
-                iterCb(err, nextargs);
-              }));
-            },
-            (err, results) => cb(err, ...results)
-          );
-          return cb[PROMISE_SYMBOL];
-        };
+      streamSync() {
+        return new walker_js_1.GlobStream(this.patterns, this.scurry.cwd, {
+          ...this.opts,
+          maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
+          platform: this.platform,
+          nocase: this.nocase,
+          includeChildMatches: this.includeChildMatches
+        }).streamSync();
       }
-      function compose(...args) {
-        return seq2(...args.reverse());
+      /**
+       * Default sync iteration function. Returns a Generator that
+       * iterates over the results.
+       */
+      iterateSync() {
+        return this.streamSync()[Symbol.iterator]();
       }
-      function mapLimit(coll, limit, iteratee, callback) {
-        return _asyncMap(eachOfLimit$2(limit), coll, iteratee, callback);
+      [Symbol.iterator]() {
+        return this.iterateSync();
+      }
+      /**
+       * Default async iteration function. Returns an AsyncGenerator that
+       * iterates over the results.
+       */
+      iterate() {
+        return this.stream()[Symbol.asyncIterator]();
+      }
+      [Symbol.asyncIterator]() {
+        return this.iterate();
+      }
+    };
+    exports2.Glob = Glob;
+  }
+});
+
+// node_modules/glob/dist/commonjs/has-magic.js
+var require_has_magic = __commonJS({
+  "node_modules/glob/dist/commonjs/has-magic.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.hasMagic = void 0;
+    var minimatch_1 = require_commonjs20();
+    var hasMagic = (pattern, options = {}) => {
+      if (!Array.isArray(pattern)) {
+        pattern = [pattern];
+      }
+      for (const p of pattern) {
+        if (new minimatch_1.Minimatch(p, options).hasMagic())
+          return true;
+      }
+      return false;
+    };
+    exports2.hasMagic = hasMagic;
+  }
+});
+
+// node_modules/glob/dist/commonjs/index.js
+var require_commonjs24 = __commonJS({
+  "node_modules/glob/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.glob = exports2.sync = exports2.iterate = exports2.iterateSync = exports2.stream = exports2.streamSync = exports2.Ignore = exports2.hasMagic = exports2.Glob = exports2.unescape = exports2.escape = void 0;
+    exports2.globStreamSync = globStreamSync;
+    exports2.globStream = globStream;
+    exports2.globSync = globSync;
+    exports2.globIterateSync = globIterateSync;
+    exports2.globIterate = globIterate;
+    var minimatch_1 = require_commonjs20();
+    var glob_js_1 = require_glob2();
+    var has_magic_js_1 = require_has_magic();
+    var minimatch_2 = require_commonjs20();
+    Object.defineProperty(exports2, "escape", { enumerable: true, get: function() {
+      return minimatch_2.escape;
+    } });
+    Object.defineProperty(exports2, "unescape", { enumerable: true, get: function() {
+      return minimatch_2.unescape;
+    } });
+    var glob_js_2 = require_glob2();
+    Object.defineProperty(exports2, "Glob", { enumerable: true, get: function() {
+      return glob_js_2.Glob;
+    } });
+    var has_magic_js_2 = require_has_magic();
+    Object.defineProperty(exports2, "hasMagic", { enumerable: true, get: function() {
+      return has_magic_js_2.hasMagic;
+    } });
+    var ignore_js_1 = require_ignore();
+    Object.defineProperty(exports2, "Ignore", { enumerable: true, get: function() {
+      return ignore_js_1.Ignore;
+    } });
+    function globStreamSync(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).streamSync();
+    }
+    function globStream(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).stream();
+    }
+    function globSync(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).walkSync();
+    }
+    async function glob_(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).walk();
+    }
+    function globIterateSync(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).iterateSync();
+    }
+    function globIterate(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).iterate();
+    }
+    exports2.streamSync = globStreamSync;
+    exports2.stream = Object.assign(globStream, { sync: globStreamSync });
+    exports2.iterateSync = globIterateSync;
+    exports2.iterate = Object.assign(globIterate, {
+      sync: globIterateSync
+    });
+    exports2.sync = Object.assign(globSync, {
+      stream: globStreamSync,
+      iterate: globIterateSync
+    });
+    exports2.glob = Object.assign(glob_, {
+      glob: glob_,
+      globSync,
+      sync: exports2.sync,
+      globStream,
+      stream: exports2.stream,
+      globStreamSync,
+      streamSync: exports2.streamSync,
+      globIterate,
+      iterate: exports2.iterate,
+      globIterateSync,
+      iterateSync: exports2.iterateSync,
+      Glob: glob_js_1.Glob,
+      hasMagic: has_magic_js_1.hasMagic,
+      escape: minimatch_1.escape,
+      unescape: minimatch_1.unescape
+    });
+    exports2.glob.glob = exports2.glob;
+  }
+});
+
+// node_modules/archiver-utils/file.js
+var require_file4 = __commonJS({
+  "node_modules/archiver-utils/file.js"(exports2, module2) {
+    var fs8 = require_graceful_fs();
+    var path7 = require("path");
+    var flatten = require_flatten();
+    var difference = require_difference();
+    var union = require_union();
+    var isPlainObject3 = require_isPlainObject();
+    var glob2 = require_commonjs24();
+    var file = module2.exports = {};
+    var pathSeparatorRe = /[\/\\]/g;
+    var processPatterns = function(patterns, fn) {
+      var result = [];
+      flatten(patterns).forEach(function(pattern) {
+        var exclusion = pattern.indexOf("!") === 0;
+        if (exclusion) {
+          pattern = pattern.slice(1);
+        }
+        var matches = fn(pattern);
+        if (exclusion) {
+          result = difference(result, matches);
+        } else {
+          result = union(result, matches);
+        }
+      });
+      return result;
+    };
+    file.exists = function() {
+      var filepath = path7.join.apply(path7, arguments);
+      return fs8.existsSync(filepath);
+    };
+    file.expand = function(...args) {
+      var options = isPlainObject3(args[0]) ? args.shift() : {};
+      var patterns = Array.isArray(args[0]) ? args[0] : args;
+      if (patterns.length === 0) {
+        return [];
       }
-      var mapLimit$1 = awaitify(mapLimit, 4);
-      function concatLimit(coll, limit, iteratee, callback) {
-        var _iteratee = wrapAsync(iteratee);
-        return mapLimit$1(coll, limit, (val, iterCb) => {
-          _iteratee(val, (err, ...args) => {
-            if (err) return iterCb(err);
-            return iterCb(err, args);
-          });
-        }, (err, mapResults) => {
-          var result = [];
-          for (var i = 0; i < mapResults.length; i++) {
-            if (mapResults[i]) {
-              result = result.concat(...mapResults[i]);
+      var matches = processPatterns(patterns, function(pattern) {
+        return glob2.sync(pattern, options);
+      });
+      if (options.filter) {
+        matches = matches.filter(function(filepath) {
+          filepath = path7.join(options.cwd || "", filepath);
+          try {
+            if (typeof options.filter === "function") {
+              return options.filter(filepath);
+            } else {
+              return fs8.statSync(filepath)[options.filter]();
             }
+          } catch (e) {
+            return false;
           }
-          return callback(err, result);
         });
       }
-      var concatLimit$1 = awaitify(concatLimit, 4);
-      function concat(coll, iteratee, callback) {
-        return concatLimit$1(coll, Infinity, iteratee, callback);
-      }
-      var concat$1 = awaitify(concat, 3);
-      function concatSeries(coll, iteratee, callback) {
-        return concatLimit$1(coll, 1, iteratee, callback);
-      }
-      var concatSeries$1 = awaitify(concatSeries, 3);
-      function constant$1(...args) {
-        return function(...ignoredArgs) {
-          var callback = ignoredArgs.pop();
-          return callback(null, ...args);
-        };
+      return matches;
+    };
+    file.expandMapping = function(patterns, destBase, options) {
+      options = Object.assign({
+        rename: function(destBase2, destPath) {
+          return path7.join(destBase2 || "", destPath);
+        }
+      }, options);
+      var files = [];
+      var fileByDest = {};
+      file.expand(options, patterns).forEach(function(src) {
+        var destPath = src;
+        if (options.flatten) {
+          destPath = path7.basename(destPath);
+        }
+        if (options.ext) {
+          destPath = destPath.replace(/(\.[^\/]*)?$/, options.ext);
+        }
+        var dest = options.rename(destBase, destPath, options);
+        if (options.cwd) {
+          src = path7.join(options.cwd, src);
+        }
+        dest = dest.replace(pathSeparatorRe, "/");
+        src = src.replace(pathSeparatorRe, "/");
+        if (fileByDest[dest]) {
+          fileByDest[dest].src.push(src);
+        } else {
+          files.push({
+            src: [src],
+            dest
+          });
+          fileByDest[dest] = files[files.length - 1];
+        }
+      });
+      return files;
+    };
+    file.normalizeFilesArray = function(data) {
+      var files = [];
+      data.forEach(function(obj) {
+        var prop;
+        if ("src" in obj || "dest" in obj) {
+          files.push(obj);
+        }
+      });
+      if (files.length === 0) {
+        return [];
       }
-      function _createTester(check, getResult) {
-        return (eachfn, arr, _iteratee, cb) => {
-          var testPassed = false;
-          var testResult;
-          const iteratee = wrapAsync(_iteratee);
-          eachfn(arr, (value, _2, callback) => {
-            iteratee(value, (err, result) => {
-              if (err || err === false) return callback(err);
-              if (check(result) && !testResult) {
-                testPassed = true;
-                testResult = getResult(true, value);
-                return callback(null, breakLoop);
-              }
-              callback();
+      files = _(files).chain().forEach(function(obj) {
+        if (!("src" in obj) || !obj.src) {
+          return;
+        }
+        if (Array.isArray(obj.src)) {
+          obj.src = flatten(obj.src);
+        } else {
+          obj.src = [obj.src];
+        }
+      }).map(function(obj) {
+        var expandOptions = Object.assign({}, obj);
+        delete expandOptions.src;
+        delete expandOptions.dest;
+        if (obj.expand) {
+          return file.expandMapping(obj.src, obj.dest, expandOptions).map(function(mapObj) {
+            var result2 = Object.assign({}, obj);
+            result2.orig = Object.assign({}, obj);
+            result2.src = mapObj.src;
+            result2.dest = mapObj.dest;
+            ["expand", "cwd", "flatten", "rename", "ext"].forEach(function(prop) {
+              delete result2[prop];
             });
-          }, (err) => {
-            if (err) return cb(err);
-            cb(null, testPassed ? testResult : getResult(false));
+            return result2;
           });
-        };
-      }
-      function detect(coll, iteratee, callback) {
-        return _createTester((bool2) => bool2, (res, item) => item)(eachOf$1, coll, iteratee, callback);
-      }
-      var detect$1 = awaitify(detect, 3);
-      function detectLimit(coll, limit, iteratee, callback) {
-        return _createTester((bool2) => bool2, (res, item) => item)(eachOfLimit$2(limit), coll, iteratee, callback);
-      }
-      var detectLimit$1 = awaitify(detectLimit, 4);
-      function detectSeries(coll, iteratee, callback) {
-        return _createTester((bool2) => bool2, (res, item) => item)(eachOfLimit$2(1), coll, iteratee, callback);
-      }
-      var detectSeries$1 = awaitify(detectSeries, 3);
-      function consoleFunc(name) {
-        return (fn, ...args) => wrapAsync(fn)(...args, (err, ...resultArgs) => {
-          if (typeof console === "object") {
-            if (err) {
-              if (console.error) {
-                console.error(err);
+        }
+        var result = Object.assign({}, obj);
+        result.orig = Object.assign({}, obj);
+        if ("src" in result) {
+          Object.defineProperty(result, "src", {
+            enumerable: true,
+            get: function fn() {
+              var src;
+              if (!("result" in fn)) {
+                src = obj.src;
+                src = Array.isArray(src) ? flatten(src) : [src];
+                fn.result = file.expand(expandOptions, src);
               }
-            } else if (console[name]) {
-              resultArgs.forEach((x) => console[name](x));
+              return fn.result;
             }
-          }
-        });
-      }
-      var dir = consoleFunc("dir");
-      function doWhilst(iteratee, test, callback) {
-        callback = onlyOnce(callback);
-        var _fn = wrapAsync(iteratee);
-        var _test = wrapAsync(test);
-        var results;
-        function next(err, ...args) {
-          if (err) return callback(err);
-          if (err === false) return;
-          results = args;
-          _test(...args, check);
+          });
         }
-        function check(err, truth) {
-          if (err) return callback(err);
-          if (err === false) return;
-          if (!truth) return callback(null, ...results);
-          _fn(next);
+        if ("dest" in result) {
+          result.dest = obj.dest;
         }
-        return check(null, true);
-      }
-      var doWhilst$1 = awaitify(doWhilst, 3);
-      function doUntil(iteratee, test, callback) {
-        const _test = wrapAsync(test);
-        return doWhilst$1(iteratee, (...args) => {
-          const cb = args.pop();
-          _test(...args, (err, truth) => cb(err, !truth));
-        }, callback);
-      }
-      function _withoutIndex(iteratee) {
-        return (value, index2, callback) => iteratee(value, callback);
-      }
-      function eachLimit$2(coll, iteratee, callback) {
-        return eachOf$1(coll, _withoutIndex(wrapAsync(iteratee)), callback);
+        return result;
+      }).flatten().value();
+      return files;
+    };
+  }
+});
+
+// node_modules/archiver-utils/index.js
+var require_archiver_utils = __commonJS({
+  "node_modules/archiver-utils/index.js"(exports2, module2) {
+    var fs8 = require_graceful_fs();
+    var path7 = require("path");
+    var isStream = require_is_stream();
+    var lazystream = require_lazystream();
+    var normalizePath = require_normalize_path();
+    var defaults = require_defaults();
+    var Stream = require("stream").Stream;
+    var PassThrough = require_ours().PassThrough;
+    var utils = module2.exports = {};
+    utils.file = require_file4();
+    utils.collectStream = function(source, callback) {
+      var collection = [];
+      var size = 0;
+      source.on("error", callback);
+      source.on("data", function(chunk) {
+        collection.push(chunk);
+        size += chunk.length;
+      });
+      source.on("end", function() {
+        var buf = Buffer.alloc(size);
+        var offset = 0;
+        collection.forEach(function(data) {
+          data.copy(buf, offset);
+          offset += data.length;
+        });
+        callback(null, buf);
+      });
+    };
+    utils.dateify = function(dateish) {
+      dateish = dateish || /* @__PURE__ */ new Date();
+      if (dateish instanceof Date) {
+        dateish = dateish;
+      } else if (typeof dateish === "string") {
+        dateish = new Date(dateish);
+      } else {
+        dateish = /* @__PURE__ */ new Date();
       }
-      var each = awaitify(eachLimit$2, 3);
-      function eachLimit(coll, limit, iteratee, callback) {
-        return eachOfLimit$2(limit)(coll, _withoutIndex(wrapAsync(iteratee)), callback);
+      return dateish;
+    };
+    utils.defaults = function(object, source, guard) {
+      var args = arguments;
+      args[0] = args[0] || {};
+      return defaults(...args);
+    };
+    utils.isStream = function(source) {
+      return isStream(source);
+    };
+    utils.lazyReadStream = function(filepath) {
+      return new lazystream.Readable(function() {
+        return fs8.createReadStream(filepath);
+      });
+    };
+    utils.normalizeInputSource = function(source) {
+      if (source === null) {
+        return Buffer.alloc(0);
+      } else if (typeof source === "string") {
+        return Buffer.from(source);
+      } else if (utils.isStream(source)) {
+        return source.pipe(new PassThrough());
       }
-      var eachLimit$1 = awaitify(eachLimit, 4);
-      function eachSeries(coll, iteratee, callback) {
-        return eachLimit$1(coll, 1, iteratee, callback);
+      return source;
+    };
+    utils.sanitizePath = function(filepath) {
+      return normalizePath(filepath, false).replace(/^\w+:/, "").replace(/^(\.\.\/|\/)+/, "");
+    };
+    utils.trailingSlashIt = function(str2) {
+      return str2.slice(-1) !== "/" ? str2 + "/" : str2;
+    };
+    utils.unixifyPath = function(filepath) {
+      return normalizePath(filepath, false).replace(/^\w+:/, "");
+    };
+    utils.walkdir = function(dirpath, base, callback) {
+      var results = [];
+      if (typeof base === "function") {
+        callback = base;
+        base = dirpath;
       }
-      var eachSeries$1 = awaitify(eachSeries, 3);
-      function ensureAsync(fn) {
-        if (isAsync(fn)) return fn;
-        return function(...args) {
-          var callback = args.pop();
-          var sync = true;
-          args.push((...innerArgs) => {
-            if (sync) {
-              setImmediate$1(() => callback(...innerArgs));
+      fs8.readdir(dirpath, function(err, list) {
+        var i = 0;
+        var file;
+        var filepath;
+        if (err) {
+          return callback(err);
+        }
+        (function next() {
+          file = list[i++];
+          if (!file) {
+            return callback(null, results);
+          }
+          filepath = path7.join(dirpath, file);
+          fs8.stat(filepath, function(err2, stats) {
+            results.push({
+              path: filepath,
+              relative: path7.relative(base, filepath).replace(/\\/g, "/"),
+              stats
+            });
+            if (stats && stats.isDirectory()) {
+              utils.walkdir(filepath, base, function(err3, res) {
+                if (err3) {
+                  return callback(err3);
+                }
+                res.forEach(function(dirEntry) {
+                  results.push(dirEntry);
+                });
+                next();
+              });
             } else {
-              callback(...innerArgs);
+              next();
             }
           });
-          fn.apply(this, args);
-          sync = false;
-        };
+        })();
+      });
+    };
+  }
+});
+
+// node_modules/archiver/lib/error.js
+var require_error3 = __commonJS({
+  "node_modules/archiver/lib/error.js"(exports2, module2) {
+    var util = require("util");
+    var ERROR_CODES = {
+      "ABORTED": "archive was aborted",
+      "DIRECTORYDIRPATHREQUIRED": "diretory dirpath argument must be a non-empty string value",
+      "DIRECTORYFUNCTIONINVALIDDATA": "invalid data returned by directory custom data function",
+      "ENTRYNAMEREQUIRED": "entry name must be a non-empty string value",
+      "FILEFILEPATHREQUIRED": "file filepath argument must be a non-empty string value",
+      "FINALIZING": "archive already finalizing",
+      "QUEUECLOSED": "queue closed",
+      "NOENDMETHOD": "no suitable finalize/end method defined by module",
+      "DIRECTORYNOTSUPPORTED": "support for directory entries not defined by module",
+      "FORMATSET": "archive format already set",
+      "INPUTSTEAMBUFFERREQUIRED": "input source must be valid Stream or Buffer instance",
+      "MODULESET": "module already set",
+      "SYMLINKNOTSUPPORTED": "support for symlink entries not defined by module",
+      "SYMLINKFILEPATHREQUIRED": "symlink filepath argument must be a non-empty string value",
+      "SYMLINKTARGETREQUIRED": "symlink target argument must be a non-empty string value",
+      "ENTRYNOTSUPPORTED": "entry not supported"
+    };
+    function ArchiverError(code, data) {
+      Error.captureStackTrace(this, this.constructor);
+      this.message = ERROR_CODES[code] || code;
+      this.code = code;
+      this.data = data;
+    }
+    util.inherits(ArchiverError, Error);
+    exports2 = module2.exports = ArchiverError;
+  }
+});
+
+// node_modules/archiver/lib/core.js
+var require_core2 = __commonJS({
+  "node_modules/archiver/lib/core.js"(exports2, module2) {
+    var fs8 = require("fs");
+    var glob2 = require_readdir_glob();
+    var async = require_async();
+    var path7 = require("path");
+    var util = require_archiver_utils();
+    var inherits = require("util").inherits;
+    var ArchiverError = require_error3();
+    var Transform = require_ours().Transform;
+    var win32 = process.platform === "win32";
+    var Archiver = function(format, options) {
+      if (!(this instanceof Archiver)) {
+        return new Archiver(format, options);
       }
-      function every(coll, iteratee, callback) {
-        return _createTester((bool2) => !bool2, (res) => !res)(eachOf$1, coll, iteratee, callback);
+      if (typeof format !== "string") {
+        options = format;
+        format = "zip";
       }
-      var every$1 = awaitify(every, 3);
-      function everyLimit(coll, limit, iteratee, callback) {
-        return _createTester((bool2) => !bool2, (res) => !res)(eachOfLimit$2(limit), coll, iteratee, callback);
+      options = this.options = util.defaults(options, {
+        highWaterMark: 1024 * 1024,
+        statConcurrency: 4
+      });
+      Transform.call(this, options);
+      this._format = false;
+      this._module = false;
+      this._pending = 0;
+      this._pointer = 0;
+      this._entriesCount = 0;
+      this._entriesProcessedCount = 0;
+      this._fsEntriesTotalBytes = 0;
+      this._fsEntriesProcessedBytes = 0;
+      this._queue = async.queue(this._onQueueTask.bind(this), 1);
+      this._queue.drain(this._onQueueDrain.bind(this));
+      this._statQueue = async.queue(this._onStatQueueTask.bind(this), options.statConcurrency);
+      this._statQueue.drain(this._onQueueDrain.bind(this));
+      this._state = {
+        aborted: false,
+        finalize: false,
+        finalizing: false,
+        finalized: false,
+        modulePiped: false
+      };
+      this._streams = [];
+    };
+    inherits(Archiver, Transform);
+    Archiver.prototype._abort = function() {
+      this._state.aborted = true;
+      this._queue.kill();
+      this._statQueue.kill();
+      if (this._queue.idle()) {
+        this._shutdown();
       }
-      var everyLimit$1 = awaitify(everyLimit, 4);
-      function everySeries(coll, iteratee, callback) {
-        return _createTester((bool2) => !bool2, (res) => !res)(eachOfSeries$1, coll, iteratee, callback);
+    };
+    Archiver.prototype._append = function(filepath, data) {
+      data = data || {};
+      var task = {
+        source: null,
+        filepath
+      };
+      if (!data.name) {
+        data.name = filepath;
       }
-      var everySeries$1 = awaitify(everySeries, 3);
-      function filterArray(eachfn, arr, iteratee, callback) {
-        var truthValues = new Array(arr.length);
-        eachfn(arr, (x, index2, iterCb) => {
-          iteratee(x, (err, v) => {
-            truthValues[index2] = !!v;
-            iterCb(err);
-          });
-        }, (err) => {
-          if (err) return callback(err);
-          var results = [];
-          for (var i = 0; i < arr.length; i++) {
-            if (truthValues[i]) results.push(arr[i]);
+      data.sourcePath = filepath;
+      task.data = data;
+      this._entriesCount++;
+      if (data.stats && data.stats instanceof fs8.Stats) {
+        task = this._updateQueueTaskWithStats(task, data.stats);
+        if (task) {
+          if (data.stats.size) {
+            this._fsEntriesTotalBytes += data.stats.size;
           }
-          callback(null, results);
-        });
-      }
-      function filterGeneric(eachfn, coll, iteratee, callback) {
-        var results = [];
-        eachfn(coll, (x, index2, iterCb) => {
-          iteratee(x, (err, v) => {
-            if (err) return iterCb(err);
-            if (v) {
-              results.push({ index: index2, value: x });
-            }
-            iterCb(err);
-          });
-        }, (err) => {
-          if (err) return callback(err);
-          callback(null, results.sort((a, b) => a.index - b.index).map((v) => v.value));
-        });
-      }
-      function _filter(eachfn, coll, iteratee, callback) {
-        var filter2 = isArrayLike(coll) ? filterArray : filterGeneric;
-        return filter2(eachfn, coll, wrapAsync(iteratee), callback);
-      }
-      function filter(coll, iteratee, callback) {
-        return _filter(eachOf$1, coll, iteratee, callback);
-      }
-      var filter$1 = awaitify(filter, 3);
-      function filterLimit(coll, limit, iteratee, callback) {
-        return _filter(eachOfLimit$2(limit), coll, iteratee, callback);
-      }
-      var filterLimit$1 = awaitify(filterLimit, 4);
-      function filterSeries(coll, iteratee, callback) {
-        return _filter(eachOfSeries$1, coll, iteratee, callback);
-      }
-      var filterSeries$1 = awaitify(filterSeries, 3);
-      function forever(fn, errback) {
-        var done = onlyOnce(errback);
-        var task = wrapAsync(ensureAsync(fn));
-        function next(err) {
-          if (err) return done(err);
-          if (err === false) return;
-          task(next);
+          this._queue.push(task);
         }
-        return next();
-      }
-      var forever$1 = awaitify(forever, 2);
-      function groupByLimit(coll, limit, iteratee, callback) {
-        var _iteratee = wrapAsync(iteratee);
-        return mapLimit$1(coll, limit, (val, iterCb) => {
-          _iteratee(val, (err, key) => {
-            if (err) return iterCb(err);
-            return iterCb(err, { key, val });
-          });
-        }, (err, mapResults) => {
-          var result = {};
-          var { hasOwnProperty } = Object.prototype;
-          for (var i = 0; i < mapResults.length; i++) {
-            if (mapResults[i]) {
-              var { key } = mapResults[i];
-              var { val } = mapResults[i];
-              if (hasOwnProperty.call(result, key)) {
-                result[key].push(val);
-              } else {
-                result[key] = [val];
-              }
-            }
-          }
-          return callback(err, result);
-        });
-      }
-      var groupByLimit$1 = awaitify(groupByLimit, 4);
-      function groupBy(coll, iteratee, callback) {
-        return groupByLimit$1(coll, Infinity, iteratee, callback);
+      } else {
+        this._statQueue.push(task);
       }
-      function groupBySeries(coll, iteratee, callback) {
-        return groupByLimit$1(coll, 1, iteratee, callback);
+    };
+    Archiver.prototype._finalize = function() {
+      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+        return;
       }
-      var log = consoleFunc("log");
-      function mapValuesLimit(obj, limit, iteratee, callback) {
-        callback = once(callback);
-        var newObj = {};
-        var _iteratee = wrapAsync(iteratee);
-        return eachOfLimit$2(limit)(obj, (val, key, next) => {
-          _iteratee(val, key, (err, result) => {
-            if (err) return next(err);
-            newObj[key] = result;
-            next(err);
-          });
-        }, (err) => callback(err, newObj));
+      this._state.finalizing = true;
+      this._moduleFinalize();
+      this._state.finalizing = false;
+      this._state.finalized = true;
+    };
+    Archiver.prototype._maybeFinalize = function() {
+      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+        return false;
       }
-      var mapValuesLimit$1 = awaitify(mapValuesLimit, 4);
-      function mapValues(obj, iteratee, callback) {
-        return mapValuesLimit$1(obj, Infinity, iteratee, callback);
+      if (this._state.finalize && this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
+        this._finalize();
+        return true;
       }
-      function mapValuesSeries(obj, iteratee, callback) {
-        return mapValuesLimit$1(obj, 1, iteratee, callback);
+      return false;
+    };
+    Archiver.prototype._moduleAppend = function(source, data, callback) {
+      if (this._state.aborted) {
+        callback();
+        return;
       }
-      function memoize(fn, hasher = (v) => v) {
-        var memo = /* @__PURE__ */ Object.create(null);
-        var queues = /* @__PURE__ */ Object.create(null);
-        var _fn = wrapAsync(fn);
-        var memoized = initialParams((args, callback) => {
-          var key = hasher(...args);
-          if (key in memo) {
-            setImmediate$1(() => callback(null, ...memo[key]));
-          } else if (key in queues) {
-            queues[key].push(callback);
-          } else {
-            queues[key] = [callback];
-            _fn(...args, (err, ...resultArgs) => {
-              if (!err) {
-                memo[key] = resultArgs;
-              }
-              var q = queues[key];
-              delete queues[key];
-              for (var i = 0, l = q.length; i < l; i++) {
-                q[i](err, ...resultArgs);
-              }
-            });
+      this._module.append(source, data, function(err) {
+        this._task = null;
+        if (this._state.aborted) {
+          this._shutdown();
+          return;
+        }
+        if (err) {
+          this.emit("error", err);
+          setImmediate(callback);
+          return;
+        }
+        this.emit("entry", data);
+        this._entriesProcessedCount++;
+        if (data.stats && data.stats.size) {
+          this._fsEntriesProcessedBytes += data.stats.size;
+        }
+        this.emit("progress", {
+          entries: {
+            total: this._entriesCount,
+            processed: this._entriesProcessedCount
+          },
+          fs: {
+            totalBytes: this._fsEntriesTotalBytes,
+            processedBytes: this._fsEntriesProcessedBytes
           }
         });
-        memoized.memo = memo;
-        memoized.unmemoized = fn;
-        return memoized;
-      }
-      var _defer;
-      if (hasNextTick) {
-        _defer = process.nextTick;
-      } else if (hasSetImmediate) {
-        _defer = setImmediate;
+        setImmediate(callback);
+      }.bind(this));
+    };
+    Archiver.prototype._moduleFinalize = function() {
+      if (typeof this._module.finalize === "function") {
+        this._module.finalize();
+      } else if (typeof this._module.end === "function") {
+        this._module.end();
       } else {
-        _defer = fallback;
-      }
-      var nextTick = wrap(_defer);
-      var _parallel = awaitify((eachfn, tasks, callback) => {
-        var results = isArrayLike(tasks) ? [] : {};
-        eachfn(tasks, (task, key, taskCb) => {
-          wrapAsync(task)((err, ...result) => {
-            if (result.length < 2) {
-              [result] = result;
-            }
-            results[key] = result;
-            taskCb(err);
-          });
-        }, (err) => callback(err, results));
-      }, 3);
-      function parallel(tasks, callback) {
-        return _parallel(eachOf$1, tasks, callback);
+        this.emit("error", new ArchiverError("NOENDMETHOD"));
       }
-      function parallelLimit(tasks, limit, callback) {
-        return _parallel(eachOfLimit$2(limit), tasks, callback);
+    };
+    Archiver.prototype._modulePipe = function() {
+      this._module.on("error", this._onModuleError.bind(this));
+      this._module.pipe(this);
+      this._state.modulePiped = true;
+    };
+    Archiver.prototype._moduleSupports = function(key) {
+      if (!this._module.supports || !this._module.supports[key]) {
+        return false;
       }
-      function queue(worker, concurrency) {
-        var _worker = wrapAsync(worker);
-        return queue$1((items, cb) => {
-          _worker(items[0], cb);
-        }, concurrency, 1);
+      return this._module.supports[key];
+    };
+    Archiver.prototype._moduleUnpipe = function() {
+      this._module.unpipe(this);
+      this._state.modulePiped = false;
+    };
+    Archiver.prototype._normalizeEntryData = function(data, stats) {
+      data = util.defaults(data, {
+        type: "file",
+        name: null,
+        date: null,
+        mode: null,
+        prefix: null,
+        sourcePath: null,
+        stats: false
+      });
+      if (stats && data.stats === false) {
+        data.stats = stats;
       }
-      class Heap {
-        constructor() {
-          this.heap = [];
-          this.pushCount = Number.MIN_SAFE_INTEGER;
-        }
-        get length() {
-          return this.heap.length;
-        }
-        empty() {
-          this.heap = [];
-          return this;
+      var isDir = data.type === "directory";
+      if (data.name) {
+        if (typeof data.prefix === "string" && "" !== data.prefix) {
+          data.name = data.prefix + "/" + data.name;
+          data.prefix = null;
         }
-        percUp(index2) {
-          let p;
-          while (index2 > 0 && smaller(this.heap[index2], this.heap[p = parent(index2)])) {
-            let t = this.heap[index2];
-            this.heap[index2] = this.heap[p];
-            this.heap[p] = t;
-            index2 = p;
-          }
+        data.name = util.sanitizePath(data.name);
+        if (data.type !== "symlink" && data.name.slice(-1) === "/") {
+          isDir = true;
+          data.type = "directory";
+        } else if (isDir) {
+          data.name += "/";
         }
-        percDown(index2) {
-          let l;
-          while ((l = leftChi(index2)) < this.heap.length) {
-            if (l + 1 < this.heap.length && smaller(this.heap[l + 1], this.heap[l])) {
-              l = l + 1;
-            }
-            if (smaller(this.heap[index2], this.heap[l])) {
-              break;
-            }
-            let t = this.heap[index2];
-            this.heap[index2] = this.heap[l];
-            this.heap[l] = t;
-            index2 = l;
-          }
+      }
+      if (typeof data.mode === "number") {
+        if (win32) {
+          data.mode &= 511;
+        } else {
+          data.mode &= 4095;
         }
-        push(node) {
-          node.pushCount = ++this.pushCount;
-          this.heap.push(node);
-          this.percUp(this.heap.length - 1);
+      } else if (data.stats && data.mode === null) {
+        if (win32) {
+          data.mode = data.stats.mode & 511;
+        } else {
+          data.mode = data.stats.mode & 4095;
         }
-        unshift(node) {
-          return this.heap.push(node);
+        if (win32 && isDir) {
+          data.mode = 493;
         }
-        shift() {
-          let [top] = this.heap;
-          this.heap[0] = this.heap[this.heap.length - 1];
-          this.heap.pop();
-          this.percDown(0);
-          return top;
+      } else if (data.mode === null) {
+        data.mode = isDir ? 493 : 420;
+      }
+      if (data.stats && data.date === null) {
+        data.date = data.stats.mtime;
+      } else {
+        data.date = util.dateify(data.date);
+      }
+      return data;
+    };
+    Archiver.prototype._onModuleError = function(err) {
+      this.emit("error", err);
+    };
+    Archiver.prototype._onQueueDrain = function() {
+      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+        return;
+      }
+      if (this._state.finalize && this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
+        this._finalize();
+      }
+    };
+    Archiver.prototype._onQueueTask = function(task, callback) {
+      var fullCallback = () => {
+        if (task.data.callback) {
+          task.data.callback();
         }
-        toArray() {
-          return [...this];
+        callback();
+      };
+      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+        fullCallback();
+        return;
+      }
+      this._task = task;
+      this._moduleAppend(task.source, task.data, fullCallback);
+    };
+    Archiver.prototype._onStatQueueTask = function(task, callback) {
+      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+        callback();
+        return;
+      }
+      fs8.lstat(task.filepath, function(err, stats) {
+        if (this._state.aborted) {
+          setImmediate(callback);
+          return;
         }
-        *[Symbol.iterator]() {
-          for (let i = 0; i < this.heap.length; i++) {
-            yield this.heap[i].data;
-          }
+        if (err) {
+          this._entriesCount--;
+          this.emit("warning", err);
+          setImmediate(callback);
+          return;
         }
-        remove(testFn) {
-          let j = 0;
-          for (let i = 0; i < this.heap.length; i++) {
-            if (!testFn(this.heap[i])) {
-              this.heap[j] = this.heap[i];
-              j++;
-            }
-          }
-          this.heap.splice(j);
-          for (let i = parent(this.heap.length - 1); i >= 0; i--) {
-            this.percDown(i);
+        task = this._updateQueueTaskWithStats(task, stats);
+        if (task) {
+          if (stats.size) {
+            this._fsEntriesTotalBytes += stats.size;
           }
-          return this;
+          this._queue.push(task);
         }
+        setImmediate(callback);
+      }.bind(this));
+    };
+    Archiver.prototype._shutdown = function() {
+      this._moduleUnpipe();
+      this.end();
+    };
+    Archiver.prototype._transform = function(chunk, encoding, callback) {
+      if (chunk) {
+        this._pointer += chunk.length;
       }
-      function leftChi(i) {
-        return (i << 1) + 1;
-      }
-      function parent(i) {
-        return (i + 1 >> 1) - 1;
-      }
-      function smaller(x, y) {
-        if (x.priority !== y.priority) {
-          return x.priority < y.priority;
+      callback(null, chunk);
+    };
+    Archiver.prototype._updateQueueTaskWithStats = function(task, stats) {
+      if (stats.isFile()) {
+        task.data.type = "file";
+        task.data.sourceType = "stream";
+        task.source = util.lazyReadStream(task.filepath);
+      } else if (stats.isDirectory() && this._moduleSupports("directory")) {
+        task.data.name = util.trailingSlashIt(task.data.name);
+        task.data.type = "directory";
+        task.data.sourcePath = util.trailingSlashIt(task.filepath);
+        task.data.sourceType = "buffer";
+        task.source = Buffer.concat([]);
+      } else if (stats.isSymbolicLink() && this._moduleSupports("symlink")) {
+        var linkPath = fs8.readlinkSync(task.filepath);
+        var dirName = path7.dirname(task.filepath);
+        task.data.type = "symlink";
+        task.data.linkname = path7.relative(dirName, path7.resolve(dirName, linkPath));
+        task.data.sourceType = "buffer";
+        task.source = Buffer.concat([]);
+      } else {
+        if (stats.isDirectory()) {
+          this.emit("warning", new ArchiverError("DIRECTORYNOTSUPPORTED", task.data));
+        } else if (stats.isSymbolicLink()) {
+          this.emit("warning", new ArchiverError("SYMLINKNOTSUPPORTED", task.data));
         } else {
-          return x.pushCount < y.pushCount;
+          this.emit("warning", new ArchiverError("ENTRYNOTSUPPORTED", task.data));
         }
+        return null;
       }
-      function priorityQueue(worker, concurrency) {
-        var q = queue(worker, concurrency);
-        var {
-          push,
-          pushAsync
-        } = q;
-        q._tasks = new Heap();
-        q._createTaskItem = ({ data, priority }, callback) => {
-          return {
-            data,
-            priority,
-            callback
-          };
-        };
-        function createDataItems(tasks, priority) {
-          if (!Array.isArray(tasks)) {
-            return { data: tasks, priority };
-          }
-          return tasks.map((data) => {
-            return { data, priority };
-          });
-        }
-        q.push = function(data, priority = 0, callback) {
-          return push(createDataItems(data, priority), callback);
-        };
-        q.pushAsync = function(data, priority = 0, callback) {
-          return pushAsync(createDataItems(data, priority), callback);
-        };
-        delete q.unshift;
-        delete q.unshiftAsync;
-        return q;
+      task.data = this._normalizeEntryData(task.data, stats);
+      return task;
+    };
+    Archiver.prototype.abort = function() {
+      if (this._state.aborted || this._state.finalized) {
+        return this;
       }
-      function race(tasks, callback) {
-        callback = once(callback);
-        if (!Array.isArray(tasks)) return callback(new TypeError("First argument to race must be an array of functions"));
-        if (!tasks.length) return callback();
-        for (var i = 0, l = tasks.length; i < l; i++) {
-          wrapAsync(tasks[i])(callback);
-        }
+      this._abort();
+      return this;
+    };
+    Archiver.prototype.append = function(source, data) {
+      if (this._state.finalize || this._state.aborted) {
+        this.emit("error", new ArchiverError("QUEUECLOSED"));
+        return this;
       }
-      var race$1 = awaitify(race, 2);
-      function reduceRight(array, memo, iteratee, callback) {
-        var reversed = [...array].reverse();
-        return reduce$1(reversed, memo, iteratee, callback);
+      data = this._normalizeEntryData(data);
+      if (typeof data.name !== "string" || data.name.length === 0) {
+        this.emit("error", new ArchiverError("ENTRYNAMEREQUIRED"));
+        return this;
       }
-      function reflect(fn) {
-        var _fn = wrapAsync(fn);
-        return initialParams(function reflectOn(args, reflectCallback) {
-          args.push((error3, ...cbArgs) => {
-            let retVal = {};
-            if (error3) {
-              retVal.error = error3;
-            }
-            if (cbArgs.length > 0) {
-              var value = cbArgs;
-              if (cbArgs.length <= 1) {
-                [value] = cbArgs;
-              }
-              retVal.value = value;
-            }
-            reflectCallback(null, retVal);
-          });
-          return _fn.apply(this, args);
-        });
+      if (data.type === "directory" && !this._moduleSupports("directory")) {
+        this.emit("error", new ArchiverError("DIRECTORYNOTSUPPORTED", { name: data.name }));
+        return this;
       }
-      function reflectAll(tasks) {
-        var results;
-        if (Array.isArray(tasks)) {
-          results = tasks.map(reflect);
-        } else {
-          results = {};
-          Object.keys(tasks).forEach((key) => {
-            results[key] = reflect.call(this, tasks[key]);
-          });
-        }
-        return results;
+      source = util.normalizeInputSource(source);
+      if (Buffer.isBuffer(source)) {
+        data.sourceType = "buffer";
+      } else if (util.isStream(source)) {
+        data.sourceType = "stream";
+      } else {
+        this.emit("error", new ArchiverError("INPUTSTEAMBUFFERREQUIRED", { name: data.name }));
+        return this;
+      }
+      this._entriesCount++;
+      this._queue.push({
+        data,
+        source
+      });
+      return this;
+    };
+    Archiver.prototype.directory = function(dirpath, destpath, data) {
+      if (this._state.finalize || this._state.aborted) {
+        this.emit("error", new ArchiverError("QUEUECLOSED"));
+        return this;
       }
-      function reject$2(eachfn, arr, _iteratee, callback) {
-        const iteratee = wrapAsync(_iteratee);
-        return _filter(eachfn, arr, (value, cb) => {
-          iteratee(value, (err, v) => {
-            cb(err, !v);
-          });
-        }, callback);
+      if (typeof dirpath !== "string" || dirpath.length === 0) {
+        this.emit("error", new ArchiverError("DIRECTORYDIRPATHREQUIRED"));
+        return this;
       }
-      function reject(coll, iteratee, callback) {
-        return reject$2(eachOf$1, coll, iteratee, callback);
+      this._pending++;
+      if (destpath === false) {
+        destpath = "";
+      } else if (typeof destpath !== "string") {
+        destpath = dirpath;
       }
-      var reject$1 = awaitify(reject, 3);
-      function rejectLimit(coll, limit, iteratee, callback) {
-        return reject$2(eachOfLimit$2(limit), coll, iteratee, callback);
+      var dataFunction = false;
+      if (typeof data === "function") {
+        dataFunction = data;
+        data = {};
+      } else if (typeof data !== "object") {
+        data = {};
       }
-      var rejectLimit$1 = awaitify(rejectLimit, 4);
-      function rejectSeries(coll, iteratee, callback) {
-        return reject$2(eachOfSeries$1, coll, iteratee, callback);
+      var globOptions = {
+        stat: true,
+        dot: true
+      };
+      function onGlobEnd() {
+        this._pending--;
+        this._maybeFinalize();
       }
-      var rejectSeries$1 = awaitify(rejectSeries, 3);
-      function constant(value) {
-        return function() {
-          return value;
-        };
+      function onGlobError(err) {
+        this.emit("error", err);
       }
-      const DEFAULT_TIMES = 5;
-      const DEFAULT_INTERVAL = 0;
-      function retry2(opts, task, callback) {
-        var options = {
-          times: DEFAULT_TIMES,
-          intervalFunc: constant(DEFAULT_INTERVAL)
-        };
-        if (arguments.length < 3 && typeof opts === "function") {
-          callback = task || promiseCallback();
-          task = opts;
-        } else {
-          parseTimes(options, opts);
-          callback = callback || promiseCallback();
-        }
-        if (typeof task !== "function") {
-          throw new Error("Invalid arguments for async.retry");
-        }
-        var _task = wrapAsync(task);
-        var attempt = 1;
-        function retryAttempt() {
-          _task((err, ...args) => {
-            if (err === false) return;
-            if (err && attempt++ < options.times && (typeof options.errorFilter != "function" || options.errorFilter(err))) {
-              setTimeout(retryAttempt, options.intervalFunc(attempt - 1));
-            } else {
-              callback(err, ...args);
+      function onGlobMatch(match) {
+        globber.pause();
+        var ignoreMatch = false;
+        var entryData = Object.assign({}, data);
+        entryData.name = match.relative;
+        entryData.prefix = destpath;
+        entryData.stats = match.stat;
+        entryData.callback = globber.resume.bind(globber);
+        try {
+          if (dataFunction) {
+            entryData = dataFunction(entryData);
+            if (entryData === false) {
+              ignoreMatch = true;
+            } else if (typeof entryData !== "object") {
+              throw new ArchiverError("DIRECTORYFUNCTIONINVALIDDATA", { dirpath });
             }
-          });
-        }
-        retryAttempt();
-        return callback[PROMISE_SYMBOL];
-      }
-      function parseTimes(acc, t) {
-        if (typeof t === "object") {
-          acc.times = +t.times || DEFAULT_TIMES;
-          acc.intervalFunc = typeof t.interval === "function" ? t.interval : constant(+t.interval || DEFAULT_INTERVAL);
-          acc.errorFilter = t.errorFilter;
-        } else if (typeof t === "number" || typeof t === "string") {
-          acc.times = +t || DEFAULT_TIMES;
-        } else {
-          throw new Error("Invalid arguments for async.retry");
-        }
-      }
-      function retryable(opts, task) {
-        if (!task) {
-          task = opts;
-          opts = null;
+          }
+        } catch (e) {
+          this.emit("error", e);
+          return;
         }
-        let arity = opts && opts.arity || task.length;
-        if (isAsync(task)) {
-          arity += 1;
+        if (ignoreMatch) {
+          globber.resume();
+          return;
         }
-        var _task = wrapAsync(task);
-        return initialParams((args, callback) => {
-          if (args.length < arity - 1 || callback == null) {
-            args.push(callback);
-            callback = promiseCallback();
-          }
-          function taskFn(cb) {
-            _task(...args, cb);
-          }
-          if (opts) retry2(opts, taskFn, callback);
-          else retry2(taskFn, callback);
-          return callback[PROMISE_SYMBOL];
-        });
+        this._append(match.absolute, entryData);
       }
-      function series(tasks, callback) {
-        return _parallel(eachOfSeries$1, tasks, callback);
+      var globber = glob2(dirpath, globOptions);
+      globber.on("error", onGlobError.bind(this));
+      globber.on("match", onGlobMatch.bind(this));
+      globber.on("end", onGlobEnd.bind(this));
+      return this;
+    };
+    Archiver.prototype.file = function(filepath, data) {
+      if (this._state.finalize || this._state.aborted) {
+        this.emit("error", new ArchiverError("QUEUECLOSED"));
+        return this;
       }
-      function some(coll, iteratee, callback) {
-        return _createTester(Boolean, (res) => res)(eachOf$1, coll, iteratee, callback);
+      if (typeof filepath !== "string" || filepath.length === 0) {
+        this.emit("error", new ArchiverError("FILEFILEPATHREQUIRED"));
+        return this;
       }
-      var some$1 = awaitify(some, 3);
-      function someLimit(coll, limit, iteratee, callback) {
-        return _createTester(Boolean, (res) => res)(eachOfLimit$2(limit), coll, iteratee, callback);
+      this._append(filepath, data);
+      return this;
+    };
+    Archiver.prototype.glob = function(pattern, options, data) {
+      this._pending++;
+      options = util.defaults(options, {
+        stat: true,
+        pattern
+      });
+      function onGlobEnd() {
+        this._pending--;
+        this._maybeFinalize();
       }
-      var someLimit$1 = awaitify(someLimit, 4);
-      function someSeries(coll, iteratee, callback) {
-        return _createTester(Boolean, (res) => res)(eachOfSeries$1, coll, iteratee, callback);
+      function onGlobError(err) {
+        this.emit("error", err);
       }
-      var someSeries$1 = awaitify(someSeries, 3);
-      function sortBy(coll, iteratee, callback) {
-        var _iteratee = wrapAsync(iteratee);
-        return map$1(coll, (x, iterCb) => {
-          _iteratee(x, (err, criteria) => {
-            if (err) return iterCb(err);
-            iterCb(err, { value: x, criteria });
-          });
-        }, (err, results) => {
-          if (err) return callback(err);
-          callback(null, results.sort(comparator).map((v) => v.value));
-        });
-        function comparator(left, right) {
-          var a = left.criteria, b = right.criteria;
-          return a < b ? -1 : a > b ? 1 : 0;
-        }
+      function onGlobMatch(match) {
+        globber.pause();
+        var entryData = Object.assign({}, data);
+        entryData.callback = globber.resume.bind(globber);
+        entryData.stats = match.stat;
+        entryData.name = match.relative;
+        this._append(match.absolute, entryData);
       }
-      var sortBy$1 = awaitify(sortBy, 3);
-      function timeout(asyncFn, milliseconds, info7) {
-        var fn = wrapAsync(asyncFn);
-        return initialParams((args, callback) => {
-          var timedOut = false;
-          var timer;
-          function timeoutCallback() {
-            var name = asyncFn.name || "anonymous";
-            var error3 = new Error('Callback function "' + name + '" timed out.');
-            error3.code = "ETIMEDOUT";
-            if (info7) {
-              error3.info = info7;
-            }
-            timedOut = true;
-            callback(error3);
-          }
-          args.push((...cbArgs) => {
-            if (!timedOut) {
-              callback(...cbArgs);
-              clearTimeout(timer);
-            }
-          });
-          timer = setTimeout(timeoutCallback, milliseconds);
-          fn(...args);
-        });
+      var globber = glob2(options.cwd || ".", options);
+      globber.on("error", onGlobError.bind(this));
+      globber.on("match", onGlobMatch.bind(this));
+      globber.on("end", onGlobEnd.bind(this));
+      return this;
+    };
+    Archiver.prototype.finalize = function() {
+      if (this._state.aborted) {
+        var abortedError = new ArchiverError("ABORTED");
+        this.emit("error", abortedError);
+        return Promise.reject(abortedError);
       }
-      function range(size) {
-        var result = Array(size);
-        while (size--) {
-          result[size] = size;
-        }
-        return result;
+      if (this._state.finalize) {
+        var finalizingError = new ArchiverError("FINALIZING");
+        this.emit("error", finalizingError);
+        return Promise.reject(finalizingError);
       }
-      function timesLimit(count, limit, iteratee, callback) {
-        var _iteratee = wrapAsync(iteratee);
-        return mapLimit$1(range(count), limit, _iteratee, callback);
+      this._state.finalize = true;
+      if (this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
+        this._finalize();
       }
-      function times(n, iteratee, callback) {
-        return timesLimit(n, Infinity, iteratee, callback);
+      var self2 = this;
+      return new Promise(function(resolve5, reject) {
+        var errored;
+        self2._module.on("end", function() {
+          if (!errored) {
+            resolve5();
+          }
+        });
+        self2._module.on("error", function(err) {
+          errored = true;
+          reject(err);
+        });
+      });
+    };
+    Archiver.prototype.setFormat = function(format) {
+      if (this._format) {
+        this.emit("error", new ArchiverError("FORMATSET"));
+        return this;
       }
-      function timesSeries(n, iteratee, callback) {
-        return timesLimit(n, 1, iteratee, callback);
+      this._format = format;
+      return this;
+    };
+    Archiver.prototype.setModule = function(module3) {
+      if (this._state.aborted) {
+        this.emit("error", new ArchiverError("ABORTED"));
+        return this;
       }
-      function transform(coll, accumulator, iteratee, callback) {
-        if (arguments.length <= 3 && typeof accumulator === "function") {
-          callback = iteratee;
-          iteratee = accumulator;
-          accumulator = Array.isArray(coll) ? [] : {};
-        }
-        callback = once(callback || promiseCallback());
-        var _iteratee = wrapAsync(iteratee);
-        eachOf$1(coll, (v, k, cb) => {
-          _iteratee(accumulator, v, k, cb);
-        }, (err) => callback(err, accumulator));
-        return callback[PROMISE_SYMBOL];
+      if (this._state.module) {
+        this.emit("error", new ArchiverError("MODULESET"));
+        return this;
       }
-      function tryEach(tasks, callback) {
-        var error3 = null;
-        var result;
-        return eachSeries$1(tasks, (task, taskCb) => {
-          wrapAsync(task)((err, ...args) => {
-            if (err === false) return taskCb(err);
-            if (args.length < 2) {
-              [result] = args;
-            } else {
-              result = args;
-            }
-            error3 = err;
-            taskCb(err ? null : {});
-          });
-        }, () => callback(error3, result));
+      this._module = module3;
+      this._modulePipe();
+      return this;
+    };
+    Archiver.prototype.symlink = function(filepath, target, mode) {
+      if (this._state.finalize || this._state.aborted) {
+        this.emit("error", new ArchiverError("QUEUECLOSED"));
+        return this;
       }
-      var tryEach$1 = awaitify(tryEach);
-      function unmemoize(fn) {
-        return (...args) => {
-          return (fn.unmemoized || fn)(...args);
-        };
+      if (typeof filepath !== "string" || filepath.length === 0) {
+        this.emit("error", new ArchiverError("SYMLINKFILEPATHREQUIRED"));
+        return this;
       }
-      function whilst(test, iteratee, callback) {
-        callback = onlyOnce(callback);
-        var _fn = wrapAsync(iteratee);
-        var _test = wrapAsync(test);
-        var results = [];
-        function next(err, ...rest) {
-          if (err) return callback(err);
-          results = rest;
-          if (err === false) return;
-          _test(check);
-        }
-        function check(err, truth) {
-          if (err) return callback(err);
-          if (err === false) return;
-          if (!truth) return callback(null, ...results);
-          _fn(next);
-        }
-        return _test(check);
+      if (typeof target !== "string" || target.length === 0) {
+        this.emit("error", new ArchiverError("SYMLINKTARGETREQUIRED", { filepath }));
+        return this;
       }
-      var whilst$1 = awaitify(whilst, 3);
-      function until(test, iteratee, callback) {
-        const _test = wrapAsync(test);
-        return whilst$1((cb) => _test((err, truth) => cb(err, !truth)), iteratee, callback);
+      if (!this._moduleSupports("symlink")) {
+        this.emit("error", new ArchiverError("SYMLINKNOTSUPPORTED", { filepath }));
+        return this;
       }
-      function waterfall(tasks, callback) {
-        callback = once(callback);
-        if (!Array.isArray(tasks)) return callback(new Error("First argument to waterfall must be an array of functions"));
-        if (!tasks.length) return callback();
-        var taskIndex = 0;
-        function nextTask(args) {
-          var task = wrapAsync(tasks[taskIndex++]);
-          task(...args, onlyOnce(next));
-        }
-        function next(err, ...args) {
-          if (err === false) return;
-          if (err || taskIndex === tasks.length) {
-            return callback(err, ...args);
-          }
-          nextTask(args);
-        }
-        nextTask([]);
+      var data = {};
+      data.type = "symlink";
+      data.name = filepath.replace(/\\/g, "/");
+      data.linkname = target.replace(/\\/g, "/");
+      data.sourceType = "buffer";
+      if (typeof mode === "number") {
+        data.mode = mode;
       }
-      var waterfall$1 = awaitify(waterfall);
-      var index = {
-        apply,
-        applyEach,
-        applyEachSeries,
-        asyncify,
-        auto,
-        autoInject,
-        cargo: cargo$1,
-        cargoQueue: cargo,
-        compose,
-        concat: concat$1,
-        concatLimit: concatLimit$1,
-        concatSeries: concatSeries$1,
-        constant: constant$1,
-        detect: detect$1,
-        detectLimit: detectLimit$1,
-        detectSeries: detectSeries$1,
-        dir,
-        doUntil,
-        doWhilst: doWhilst$1,
-        each,
-        eachLimit: eachLimit$1,
-        eachOf: eachOf$1,
-        eachOfLimit: eachOfLimit$1,
-        eachOfSeries: eachOfSeries$1,
-        eachSeries: eachSeries$1,
-        ensureAsync,
-        every: every$1,
-        everyLimit: everyLimit$1,
-        everySeries: everySeries$1,
-        filter: filter$1,
-        filterLimit: filterLimit$1,
-        filterSeries: filterSeries$1,
-        forever: forever$1,
-        groupBy,
-        groupByLimit: groupByLimit$1,
-        groupBySeries,
-        log,
-        map: map$1,
-        mapLimit: mapLimit$1,
-        mapSeries: mapSeries$1,
-        mapValues,
-        mapValuesLimit: mapValuesLimit$1,
-        mapValuesSeries,
-        memoize,
-        nextTick,
-        parallel,
-        parallelLimit,
-        priorityQueue,
-        queue,
-        race: race$1,
-        reduce: reduce$1,
-        reduceRight,
-        reflect,
-        reflectAll,
-        reject: reject$1,
-        rejectLimit: rejectLimit$1,
-        rejectSeries: rejectSeries$1,
-        retry: retry2,
-        retryable,
-        seq: seq2,
-        series,
-        setImmediate: setImmediate$1,
-        some: some$1,
-        someLimit: someLimit$1,
-        someSeries: someSeries$1,
-        sortBy: sortBy$1,
-        timeout,
-        times,
-        timesLimit,
-        timesSeries,
-        transform,
-        tryEach: tryEach$1,
-        unmemoize,
-        until,
-        waterfall: waterfall$1,
-        whilst: whilst$1,
-        // aliases
-        all: every$1,
-        allLimit: everyLimit$1,
-        allSeries: everySeries$1,
-        any: some$1,
-        anyLimit: someLimit$1,
-        anySeries: someSeries$1,
-        find: detect$1,
-        findLimit: detectLimit$1,
-        findSeries: detectSeries$1,
-        flatMap: concat$1,
-        flatMapLimit: concatLimit$1,
-        flatMapSeries: concatSeries$1,
-        forEach: each,
-        forEachSeries: eachSeries$1,
-        forEachLimit: eachLimit$1,
-        forEachOf: eachOf$1,
-        forEachOfSeries: eachOfSeries$1,
-        forEachOfLimit: eachOfLimit$1,
-        inject: reduce$1,
-        foldl: reduce$1,
-        foldr: reduceRight,
-        select: filter$1,
-        selectLimit: filterLimit$1,
-        selectSeries: filterSeries$1,
-        wrapSync: asyncify,
-        during: whilst$1,
-        doDuring: doWhilst$1
-      };
-      exports3.all = every$1;
-      exports3.allLimit = everyLimit$1;
-      exports3.allSeries = everySeries$1;
-      exports3.any = some$1;
-      exports3.anyLimit = someLimit$1;
-      exports3.anySeries = someSeries$1;
-      exports3.apply = apply;
-      exports3.applyEach = applyEach;
-      exports3.applyEachSeries = applyEachSeries;
-      exports3.asyncify = asyncify;
-      exports3.auto = auto;
-      exports3.autoInject = autoInject;
-      exports3.cargo = cargo$1;
-      exports3.cargoQueue = cargo;
-      exports3.compose = compose;
-      exports3.concat = concat$1;
-      exports3.concatLimit = concatLimit$1;
-      exports3.concatSeries = concatSeries$1;
-      exports3.constant = constant$1;
-      exports3.default = index;
-      exports3.detect = detect$1;
-      exports3.detectLimit = detectLimit$1;
-      exports3.detectSeries = detectSeries$1;
-      exports3.dir = dir;
-      exports3.doDuring = doWhilst$1;
-      exports3.doUntil = doUntil;
-      exports3.doWhilst = doWhilst$1;
-      exports3.during = whilst$1;
-      exports3.each = each;
-      exports3.eachLimit = eachLimit$1;
-      exports3.eachOf = eachOf$1;
-      exports3.eachOfLimit = eachOfLimit$1;
-      exports3.eachOfSeries = eachOfSeries$1;
-      exports3.eachSeries = eachSeries$1;
-      exports3.ensureAsync = ensureAsync;
-      exports3.every = every$1;
-      exports3.everyLimit = everyLimit$1;
-      exports3.everySeries = everySeries$1;
-      exports3.filter = filter$1;
-      exports3.filterLimit = filterLimit$1;
-      exports3.filterSeries = filterSeries$1;
-      exports3.find = detect$1;
-      exports3.findLimit = detectLimit$1;
-      exports3.findSeries = detectSeries$1;
-      exports3.flatMap = concat$1;
-      exports3.flatMapLimit = concatLimit$1;
-      exports3.flatMapSeries = concatSeries$1;
-      exports3.foldl = reduce$1;
-      exports3.foldr = reduceRight;
-      exports3.forEach = each;
-      exports3.forEachLimit = eachLimit$1;
-      exports3.forEachOf = eachOf$1;
-      exports3.forEachOfLimit = eachOfLimit$1;
-      exports3.forEachOfSeries = eachOfSeries$1;
-      exports3.forEachSeries = eachSeries$1;
-      exports3.forever = forever$1;
-      exports3.groupBy = groupBy;
-      exports3.groupByLimit = groupByLimit$1;
-      exports3.groupBySeries = groupBySeries;
-      exports3.inject = reduce$1;
-      exports3.log = log;
-      exports3.map = map$1;
-      exports3.mapLimit = mapLimit$1;
-      exports3.mapSeries = mapSeries$1;
-      exports3.mapValues = mapValues;
-      exports3.mapValuesLimit = mapValuesLimit$1;
-      exports3.mapValuesSeries = mapValuesSeries;
-      exports3.memoize = memoize;
-      exports3.nextTick = nextTick;
-      exports3.parallel = parallel;
-      exports3.parallelLimit = parallelLimit;
-      exports3.priorityQueue = priorityQueue;
-      exports3.queue = queue;
-      exports3.race = race$1;
-      exports3.reduce = reduce$1;
-      exports3.reduceRight = reduceRight;
-      exports3.reflect = reflect;
-      exports3.reflectAll = reflectAll;
-      exports3.reject = reject$1;
-      exports3.rejectLimit = rejectLimit$1;
-      exports3.rejectSeries = rejectSeries$1;
-      exports3.retry = retry2;
-      exports3.retryable = retryable;
-      exports3.select = filter$1;
-      exports3.selectLimit = filterLimit$1;
-      exports3.selectSeries = filterSeries$1;
-      exports3.seq = seq2;
-      exports3.series = series;
-      exports3.setImmediate = setImmediate$1;
-      exports3.some = some$1;
-      exports3.someLimit = someLimit$1;
-      exports3.someSeries = someSeries$1;
-      exports3.sortBy = sortBy$1;
-      exports3.timeout = timeout;
-      exports3.times = times;
-      exports3.timesLimit = timesLimit;
-      exports3.timesSeries = timesSeries;
-      exports3.transform = transform;
-      exports3.tryEach = tryEach$1;
-      exports3.unmemoize = unmemoize;
-      exports3.until = until;
-      exports3.waterfall = waterfall$1;
-      exports3.whilst = whilst$1;
-      exports3.wrapSync = asyncify;
-      Object.defineProperty(exports3, "__esModule", { value: true });
-    }));
+      this._entriesCount++;
+      this._queue.push({
+        data,
+        source: Buffer.concat([])
+      });
+      return this;
+    };
+    Archiver.prototype.pointer = function() {
+      return this._pointer;
+    };
+    Archiver.prototype.use = function(plugin) {
+      this._streams.push(plugin);
+      return this;
+    };
+    module2.exports = Archiver;
   }
 });
 
-// node_modules/graceful-fs/polyfills.js
-var require_polyfills = __commonJS({
-  "node_modules/graceful-fs/polyfills.js"(exports2, module2) {
-    var constants = require("constants");
-    var origCwd = process.cwd;
-    var cwd = null;
-    var platform = process.env.GRACEFUL_FS_PLATFORM || process.platform;
-    process.cwd = function() {
-      if (!cwd)
-        cwd = origCwd.call(process);
-      return cwd;
+// node_modules/compress-commons/lib/archivers/archive-entry.js
+var require_archive_entry = __commonJS({
+  "node_modules/compress-commons/lib/archivers/archive-entry.js"(exports2, module2) {
+    var ArchiveEntry = module2.exports = function() {
     };
-    try {
-      process.cwd();
-    } catch (er) {
-    }
-    if (typeof process.chdir === "function") {
-      chdir = process.chdir;
-      process.chdir = function(d) {
-        cwd = null;
-        chdir.call(process, d);
-      };
-      if (Object.setPrototypeOf) Object.setPrototypeOf(process.chdir, chdir);
-    }
-    var chdir;
-    module2.exports = patch;
-    function patch(fs8) {
-      if (constants.hasOwnProperty("O_SYMLINK") && process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) {
-        patchLchmod(fs8);
-      }
-      if (!fs8.lutimes) {
-        patchLutimes(fs8);
-      }
-      fs8.chown = chownFix(fs8.chown);
-      fs8.fchown = chownFix(fs8.fchown);
-      fs8.lchown = chownFix(fs8.lchown);
-      fs8.chmod = chmodFix(fs8.chmod);
-      fs8.fchmod = chmodFix(fs8.fchmod);
-      fs8.lchmod = chmodFix(fs8.lchmod);
-      fs8.chownSync = chownFixSync(fs8.chownSync);
-      fs8.fchownSync = chownFixSync(fs8.fchownSync);
-      fs8.lchownSync = chownFixSync(fs8.lchownSync);
-      fs8.chmodSync = chmodFixSync(fs8.chmodSync);
-      fs8.fchmodSync = chmodFixSync(fs8.fchmodSync);
-      fs8.lchmodSync = chmodFixSync(fs8.lchmodSync);
-      fs8.stat = statFix(fs8.stat);
-      fs8.fstat = statFix(fs8.fstat);
-      fs8.lstat = statFix(fs8.lstat);
-      fs8.statSync = statFixSync(fs8.statSync);
-      fs8.fstatSync = statFixSync(fs8.fstatSync);
-      fs8.lstatSync = statFixSync(fs8.lstatSync);
-      if (fs8.chmod && !fs8.lchmod) {
-        fs8.lchmod = function(path7, mode, cb) {
-          if (cb) process.nextTick(cb);
-        };
-        fs8.lchmodSync = function() {
-        };
-      }
-      if (fs8.chown && !fs8.lchown) {
-        fs8.lchown = function(path7, uid, gid, cb) {
-          if (cb) process.nextTick(cb);
-        };
-        fs8.lchownSync = function() {
-        };
+    ArchiveEntry.prototype.getName = function() {
+    };
+    ArchiveEntry.prototype.getSize = function() {
+    };
+    ArchiveEntry.prototype.getLastModifiedDate = function() {
+    };
+    ArchiveEntry.prototype.isDirectory = function() {
+    };
+  }
+});
+
+// node_modules/compress-commons/lib/archivers/zip/util.js
+var require_util22 = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/util.js"(exports2, module2) {
+    var util = module2.exports = {};
+    util.dateToDos = function(d, forceLocalTime) {
+      forceLocalTime = forceLocalTime || false;
+      var year = forceLocalTime ? d.getFullYear() : d.getUTCFullYear();
+      if (year < 1980) {
+        return 2162688;
+      } else if (year >= 2044) {
+        return 2141175677;
       }
-      if (platform === "win32") {
-        fs8.rename = typeof fs8.rename !== "function" ? fs8.rename : (function(fs$rename) {
-          function rename(from, to, cb) {
-            var start = Date.now();
-            var backoff = 0;
-            fs$rename(from, to, function CB(er) {
-              if (er && (er.code === "EACCES" || er.code === "EPERM") && Date.now() - start < 6e4) {
-                setTimeout(function() {
-                  fs8.stat(to, function(stater, st) {
-                    if (stater && stater.code === "ENOENT")
-                      fs$rename(from, to, CB);
-                    else
-                      cb(er);
-                  });
-                }, backoff);
-                if (backoff < 100)
-                  backoff += 10;
-                return;
-              }
-              if (cb) cb(er);
-            });
-          }
-          if (Object.setPrototypeOf) Object.setPrototypeOf(rename, fs$rename);
-          return rename;
-        })(fs8.rename);
+      var val = {
+        year,
+        month: forceLocalTime ? d.getMonth() : d.getUTCMonth(),
+        date: forceLocalTime ? d.getDate() : d.getUTCDate(),
+        hours: forceLocalTime ? d.getHours() : d.getUTCHours(),
+        minutes: forceLocalTime ? d.getMinutes() : d.getUTCMinutes(),
+        seconds: forceLocalTime ? d.getSeconds() : d.getUTCSeconds()
+      };
+      return val.year - 1980 << 25 | val.month + 1 << 21 | val.date << 16 | val.hours << 11 | val.minutes << 5 | val.seconds / 2;
+    };
+    util.dosToDate = function(dos) {
+      return new Date((dos >> 25 & 127) + 1980, (dos >> 21 & 15) - 1, dos >> 16 & 31, dos >> 11 & 31, dos >> 5 & 63, (dos & 31) << 1);
+    };
+    util.fromDosTime = function(buf) {
+      return util.dosToDate(buf.readUInt32LE(0));
+    };
+    util.getEightBytes = function(v) {
+      var buf = Buffer.alloc(8);
+      buf.writeUInt32LE(v % 4294967296, 0);
+      buf.writeUInt32LE(v / 4294967296 | 0, 4);
+      return buf;
+    };
+    util.getShortBytes = function(v) {
+      var buf = Buffer.alloc(2);
+      buf.writeUInt16LE((v & 65535) >>> 0, 0);
+      return buf;
+    };
+    util.getShortBytesValue = function(buf, offset) {
+      return buf.readUInt16LE(offset);
+    };
+    util.getLongBytes = function(v) {
+      var buf = Buffer.alloc(4);
+      buf.writeUInt32LE((v & 4294967295) >>> 0, 0);
+      return buf;
+    };
+    util.getLongBytesValue = function(buf, offset) {
+      return buf.readUInt32LE(offset);
+    };
+    util.toDosTime = function(d) {
+      return util.getLongBytes(util.dateToDos(d));
+    };
+  }
+});
+
+// node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js
+var require_general_purpose_bit = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js"(exports2, module2) {
+    var zipUtil = require_util22();
+    var DATA_DESCRIPTOR_FLAG = 1 << 3;
+    var ENCRYPTION_FLAG = 1 << 0;
+    var NUMBER_OF_SHANNON_FANO_TREES_FLAG = 1 << 2;
+    var SLIDING_DICTIONARY_SIZE_FLAG = 1 << 1;
+    var STRONG_ENCRYPTION_FLAG = 1 << 6;
+    var UFT8_NAMES_FLAG = 1 << 11;
+    var GeneralPurposeBit = module2.exports = function() {
+      if (!(this instanceof GeneralPurposeBit)) {
+        return new GeneralPurposeBit();
       }
-      fs8.read = typeof fs8.read !== "function" ? fs8.read : (function(fs$read) {
-        function read(fd, buffer, offset, length, position, callback_) {
-          var callback;
-          if (callback_ && typeof callback_ === "function") {
-            var eagCounter = 0;
-            callback = function(er, _2, __) {
-              if (er && er.code === "EAGAIN" && eagCounter < 10) {
-                eagCounter++;
-                return fs$read.call(fs8, fd, buffer, offset, length, position, callback);
-              }
-              callback_.apply(this, arguments);
-            };
-          }
-          return fs$read.call(fs8, fd, buffer, offset, length, position, callback);
-        }
-        if (Object.setPrototypeOf) Object.setPrototypeOf(read, fs$read);
-        return read;
-      })(fs8.read);
-      fs8.readSync = typeof fs8.readSync !== "function" ? fs8.readSync : /* @__PURE__ */ (function(fs$readSync) {
-        return function(fd, buffer, offset, length, position) {
-          var eagCounter = 0;
-          while (true) {
-            try {
-              return fs$readSync.call(fs8, fd, buffer, offset, length, position);
-            } catch (er) {
-              if (er.code === "EAGAIN" && eagCounter < 10) {
-                eagCounter++;
-                continue;
-              }
-              throw er;
-            }
-          }
-        };
-      })(fs8.readSync);
-      function patchLchmod(fs9) {
-        fs9.lchmod = function(path7, mode, callback) {
-          fs9.open(
-            path7,
-            constants.O_WRONLY | constants.O_SYMLINK,
-            mode,
-            function(err, fd) {
-              if (err) {
-                if (callback) callback(err);
-                return;
-              }
-              fs9.fchmod(fd, mode, function(err2) {
-                fs9.close(fd, function(err22) {
-                  if (callback) callback(err2 || err22);
-                });
-              });
-            }
-          );
-        };
-        fs9.lchmodSync = function(path7, mode) {
-          var fd = fs9.openSync(path7, constants.O_WRONLY | constants.O_SYMLINK, mode);
-          var threw = true;
-          var ret;
-          try {
-            ret = fs9.fchmodSync(fd, mode);
-            threw = false;
-          } finally {
-            if (threw) {
-              try {
-                fs9.closeSync(fd);
-              } catch (er) {
-              }
-            } else {
-              fs9.closeSync(fd);
-            }
-          }
-          return ret;
-        };
+      this.descriptor = false;
+      this.encryption = false;
+      this.utf8 = false;
+      this.numberOfShannonFanoTrees = 0;
+      this.strongEncryption = false;
+      this.slidingDictionarySize = 0;
+      return this;
+    };
+    GeneralPurposeBit.prototype.encode = function() {
+      return zipUtil.getShortBytes(
+        (this.descriptor ? DATA_DESCRIPTOR_FLAG : 0) | (this.utf8 ? UFT8_NAMES_FLAG : 0) | (this.encryption ? ENCRYPTION_FLAG : 0) | (this.strongEncryption ? STRONG_ENCRYPTION_FLAG : 0)
+      );
+    };
+    GeneralPurposeBit.prototype.parse = function(buf, offset) {
+      var flag = zipUtil.getShortBytesValue(buf, offset);
+      var gbp = new GeneralPurposeBit();
+      gbp.useDataDescriptor((flag & DATA_DESCRIPTOR_FLAG) !== 0);
+      gbp.useUTF8ForNames((flag & UFT8_NAMES_FLAG) !== 0);
+      gbp.useStrongEncryption((flag & STRONG_ENCRYPTION_FLAG) !== 0);
+      gbp.useEncryption((flag & ENCRYPTION_FLAG) !== 0);
+      gbp.setSlidingDictionarySize((flag & SLIDING_DICTIONARY_SIZE_FLAG) !== 0 ? 8192 : 4096);
+      gbp.setNumberOfShannonFanoTrees((flag & NUMBER_OF_SHANNON_FANO_TREES_FLAG) !== 0 ? 3 : 2);
+      return gbp;
+    };
+    GeneralPurposeBit.prototype.setNumberOfShannonFanoTrees = function(n) {
+      this.numberOfShannonFanoTrees = n;
+    };
+    GeneralPurposeBit.prototype.getNumberOfShannonFanoTrees = function() {
+      return this.numberOfShannonFanoTrees;
+    };
+    GeneralPurposeBit.prototype.setSlidingDictionarySize = function(n) {
+      this.slidingDictionarySize = n;
+    };
+    GeneralPurposeBit.prototype.getSlidingDictionarySize = function() {
+      return this.slidingDictionarySize;
+    };
+    GeneralPurposeBit.prototype.useDataDescriptor = function(b) {
+      this.descriptor = b;
+    };
+    GeneralPurposeBit.prototype.usesDataDescriptor = function() {
+      return this.descriptor;
+    };
+    GeneralPurposeBit.prototype.useEncryption = function(b) {
+      this.encryption = b;
+    };
+    GeneralPurposeBit.prototype.usesEncryption = function() {
+      return this.encryption;
+    };
+    GeneralPurposeBit.prototype.useStrongEncryption = function(b) {
+      this.strongEncryption = b;
+    };
+    GeneralPurposeBit.prototype.usesStrongEncryption = function() {
+      return this.strongEncryption;
+    };
+    GeneralPurposeBit.prototype.useUTF8ForNames = function(b) {
+      this.utf8 = b;
+    };
+    GeneralPurposeBit.prototype.usesUTF8ForNames = function() {
+      return this.utf8;
+    };
+  }
+});
+
+// node_modules/compress-commons/lib/archivers/zip/unix-stat.js
+var require_unix_stat = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/unix-stat.js"(exports2, module2) {
+    module2.exports = {
+      /**
+       * Bits used for permissions (and sticky bit)
+       */
+      PERM_MASK: 4095,
+      // 07777
+      /**
+       * Bits used to indicate the filesystem object type.
+       */
+      FILE_TYPE_FLAG: 61440,
+      // 0170000
+      /**
+       * Indicates symbolic links.
+       */
+      LINK_FLAG: 40960,
+      // 0120000
+      /**
+       * Indicates plain files.
+       */
+      FILE_FLAG: 32768,
+      // 0100000
+      /**
+       * Indicates directories.
+       */
+      DIR_FLAG: 16384,
+      // 040000
+      // ----------------------------------------------------------
+      // somewhat arbitrary choices that are quite common for shared
+      // installations
+      // -----------------------------------------------------------
+      /**
+       * Default permissions for symbolic links.
+       */
+      DEFAULT_LINK_PERM: 511,
+      // 0777
+      /**
+       * Default permissions for directories.
+       */
+      DEFAULT_DIR_PERM: 493,
+      // 0755
+      /**
+       * Default permissions for plain files.
+       */
+      DEFAULT_FILE_PERM: 420
+      // 0644
+    };
+  }
+});
+
+// node_modules/compress-commons/lib/archivers/zip/constants.js
+var require_constants18 = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/constants.js"(exports2, module2) {
+    module2.exports = {
+      WORD: 4,
+      DWORD: 8,
+      EMPTY: Buffer.alloc(0),
+      SHORT: 2,
+      SHORT_MASK: 65535,
+      SHORT_SHIFT: 16,
+      SHORT_ZERO: Buffer.from(Array(2)),
+      LONG: 4,
+      LONG_ZERO: Buffer.from(Array(4)),
+      MIN_VERSION_INITIAL: 10,
+      MIN_VERSION_DATA_DESCRIPTOR: 20,
+      MIN_VERSION_ZIP64: 45,
+      VERSION_MADEBY: 45,
+      METHOD_STORED: 0,
+      METHOD_DEFLATED: 8,
+      PLATFORM_UNIX: 3,
+      PLATFORM_FAT: 0,
+      SIG_LFH: 67324752,
+      SIG_DD: 134695760,
+      SIG_CFH: 33639248,
+      SIG_EOCD: 101010256,
+      SIG_ZIP64_EOCD: 101075792,
+      SIG_ZIP64_EOCD_LOC: 117853008,
+      ZIP64_MAGIC_SHORT: 65535,
+      ZIP64_MAGIC: 4294967295,
+      ZIP64_EXTRA_ID: 1,
+      ZLIB_NO_COMPRESSION: 0,
+      ZLIB_BEST_SPEED: 1,
+      ZLIB_BEST_COMPRESSION: 9,
+      ZLIB_DEFAULT_COMPRESSION: -1,
+      MODE_MASK: 4095,
+      DEFAULT_FILE_MODE: 33188,
+      // 010644 = -rw-r--r-- = S_IFREG | S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
+      DEFAULT_DIR_MODE: 16877,
+      // 040755 = drwxr-xr-x = S_IFDIR | S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH
+      EXT_FILE_ATTR_DIR: 1106051088,
+      // 010173200020 = drwxr-xr-x = (((S_IFDIR | 0755) << 16) | S_DOS_D)
+      EXT_FILE_ATTR_FILE: 2175008800,
+      // 020151000040 = -rw-r--r-- = (((S_IFREG | 0644) << 16) | S_DOS_A) >>> 0
+      // Unix file types
+      S_IFMT: 61440,
+      // 0170000 type of file mask
+      S_IFIFO: 4096,
+      // 010000 named pipe (fifo)
+      S_IFCHR: 8192,
+      // 020000 character special
+      S_IFDIR: 16384,
+      // 040000 directory
+      S_IFBLK: 24576,
+      // 060000 block special
+      S_IFREG: 32768,
+      // 0100000 regular
+      S_IFLNK: 40960,
+      // 0120000 symbolic link
+      S_IFSOCK: 49152,
+      // 0140000 socket
+      // DOS file type flags
+      S_DOS_A: 32,
+      // 040 Archive
+      S_DOS_D: 16,
+      // 020 Directory
+      S_DOS_V: 8,
+      // 010 Volume
+      S_DOS_S: 4,
+      // 04 System
+      S_DOS_H: 2,
+      // 02 Hidden
+      S_DOS_R: 1
+      // 01 Read Only
+    };
+  }
+});
+
+// node_modules/compress-commons/lib/archivers/zip/zip-archive-entry.js
+var require_zip_archive_entry = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/zip-archive-entry.js"(exports2, module2) {
+    var inherits = require("util").inherits;
+    var normalizePath = require_normalize_path();
+    var ArchiveEntry = require_archive_entry();
+    var GeneralPurposeBit = require_general_purpose_bit();
+    var UnixStat = require_unix_stat();
+    var constants = require_constants18();
+    var zipUtil = require_util22();
+    var ZipArchiveEntry = module2.exports = function(name) {
+      if (!(this instanceof ZipArchiveEntry)) {
+        return new ZipArchiveEntry(name);
       }
-      function patchLutimes(fs9) {
-        if (constants.hasOwnProperty("O_SYMLINK") && fs9.futimes) {
-          fs9.lutimes = function(path7, at, mt, cb) {
-            fs9.open(path7, constants.O_SYMLINK, function(er, fd) {
-              if (er) {
-                if (cb) cb(er);
-                return;
-              }
-              fs9.futimes(fd, at, mt, function(er2) {
-                fs9.close(fd, function(er22) {
-                  if (cb) cb(er2 || er22);
-                });
-              });
-            });
-          };
-          fs9.lutimesSync = function(path7, at, mt) {
-            var fd = fs9.openSync(path7, constants.O_SYMLINK);
-            var ret;
-            var threw = true;
-            try {
-              ret = fs9.futimesSync(fd, at, mt);
-              threw = false;
-            } finally {
-              if (threw) {
-                try {
-                  fs9.closeSync(fd);
-                } catch (er) {
-                }
-              } else {
-                fs9.closeSync(fd);
-              }
-            }
-            return ret;
-          };
-        } else if (fs9.futimes) {
-          fs9.lutimes = function(_a, _b, _c, cb) {
-            if (cb) process.nextTick(cb);
-          };
-          fs9.lutimesSync = function() {
-          };
-        }
+      ArchiveEntry.call(this);
+      this.platform = constants.PLATFORM_FAT;
+      this.method = -1;
+      this.name = null;
+      this.size = 0;
+      this.csize = 0;
+      this.gpb = new GeneralPurposeBit();
+      this.crc = 0;
+      this.time = -1;
+      this.minver = constants.MIN_VERSION_INITIAL;
+      this.mode = -1;
+      this.extra = null;
+      this.exattr = 0;
+      this.inattr = 0;
+      this.comment = null;
+      if (name) {
+        this.setName(name);
       }
-      function chmodFix(orig) {
-        if (!orig) return orig;
-        return function(target, mode, cb) {
-          return orig.call(fs8, target, mode, function(er) {
-            if (chownErOk(er)) er = null;
-            if (cb) cb.apply(this, arguments);
-          });
-        };
+    };
+    inherits(ZipArchiveEntry, ArchiveEntry);
+    ZipArchiveEntry.prototype.getCentralDirectoryExtra = function() {
+      return this.getExtra();
+    };
+    ZipArchiveEntry.prototype.getComment = function() {
+      return this.comment !== null ? this.comment : "";
+    };
+    ZipArchiveEntry.prototype.getCompressedSize = function() {
+      return this.csize;
+    };
+    ZipArchiveEntry.prototype.getCrc = function() {
+      return this.crc;
+    };
+    ZipArchiveEntry.prototype.getExternalAttributes = function() {
+      return this.exattr;
+    };
+    ZipArchiveEntry.prototype.getExtra = function() {
+      return this.extra !== null ? this.extra : constants.EMPTY;
+    };
+    ZipArchiveEntry.prototype.getGeneralPurposeBit = function() {
+      return this.gpb;
+    };
+    ZipArchiveEntry.prototype.getInternalAttributes = function() {
+      return this.inattr;
+    };
+    ZipArchiveEntry.prototype.getLastModifiedDate = function() {
+      return this.getTime();
+    };
+    ZipArchiveEntry.prototype.getLocalFileDataExtra = function() {
+      return this.getExtra();
+    };
+    ZipArchiveEntry.prototype.getMethod = function() {
+      return this.method;
+    };
+    ZipArchiveEntry.prototype.getName = function() {
+      return this.name;
+    };
+    ZipArchiveEntry.prototype.getPlatform = function() {
+      return this.platform;
+    };
+    ZipArchiveEntry.prototype.getSize = function() {
+      return this.size;
+    };
+    ZipArchiveEntry.prototype.getTime = function() {
+      return this.time !== -1 ? zipUtil.dosToDate(this.time) : -1;
+    };
+    ZipArchiveEntry.prototype.getTimeDos = function() {
+      return this.time !== -1 ? this.time : 0;
+    };
+    ZipArchiveEntry.prototype.getUnixMode = function() {
+      return this.platform !== constants.PLATFORM_UNIX ? 0 : this.getExternalAttributes() >> constants.SHORT_SHIFT & constants.SHORT_MASK;
+    };
+    ZipArchiveEntry.prototype.getVersionNeededToExtract = function() {
+      return this.minver;
+    };
+    ZipArchiveEntry.prototype.setComment = function(comment) {
+      if (Buffer.byteLength(comment) !== comment.length) {
+        this.getGeneralPurposeBit().useUTF8ForNames(true);
       }
-      function chmodFixSync(orig) {
-        if (!orig) return orig;
-        return function(target, mode) {
-          try {
-            return orig.call(fs8, target, mode);
-          } catch (er) {
-            if (!chownErOk(er)) throw er;
-          }
-        };
+      this.comment = comment;
+    };
+    ZipArchiveEntry.prototype.setCompressedSize = function(size) {
+      if (size < 0) {
+        throw new Error("invalid entry compressed size");
       }
-      function chownFix(orig) {
-        if (!orig) return orig;
-        return function(target, uid, gid, cb) {
-          return orig.call(fs8, target, uid, gid, function(er) {
-            if (chownErOk(er)) er = null;
-            if (cb) cb.apply(this, arguments);
-          });
-        };
+      this.csize = size;
+    };
+    ZipArchiveEntry.prototype.setCrc = function(crc) {
+      if (crc < 0) {
+        throw new Error("invalid entry crc32");
       }
-      function chownFixSync(orig) {
-        if (!orig) return orig;
-        return function(target, uid, gid) {
-          try {
-            return orig.call(fs8, target, uid, gid);
-          } catch (er) {
-            if (!chownErOk(er)) throw er;
-          }
-        };
+      this.crc = crc;
+    };
+    ZipArchiveEntry.prototype.setExternalAttributes = function(attr) {
+      this.exattr = attr >>> 0;
+    };
+    ZipArchiveEntry.prototype.setExtra = function(extra) {
+      this.extra = extra;
+    };
+    ZipArchiveEntry.prototype.setGeneralPurposeBit = function(gpb) {
+      if (!(gpb instanceof GeneralPurposeBit)) {
+        throw new Error("invalid entry GeneralPurposeBit");
       }
-      function statFix(orig) {
-        if (!orig) return orig;
-        return function(target, options, cb) {
-          if (typeof options === "function") {
-            cb = options;
-            options = null;
-          }
-          function callback(er, stats) {
-            if (stats) {
-              if (stats.uid < 0) stats.uid += 4294967296;
-              if (stats.gid < 0) stats.gid += 4294967296;
-            }
-            if (cb) cb.apply(this, arguments);
-          }
-          return options ? orig.call(fs8, target, options, callback) : orig.call(fs8, target, callback);
-        };
+      this.gpb = gpb;
+    };
+    ZipArchiveEntry.prototype.setInternalAttributes = function(attr) {
+      this.inattr = attr;
+    };
+    ZipArchiveEntry.prototype.setMethod = function(method) {
+      if (method < 0) {
+        throw new Error("invalid entry compression method");
       }
-      function statFixSync(orig) {
-        if (!orig) return orig;
-        return function(target, options) {
-          var stats = options ? orig.call(fs8, target, options) : orig.call(fs8, target);
-          if (stats) {
-            if (stats.uid < 0) stats.uid += 4294967296;
-            if (stats.gid < 0) stats.gid += 4294967296;
-          }
-          return stats;
-        };
+      this.method = method;
+    };
+    ZipArchiveEntry.prototype.setName = function(name, prependSlash = false) {
+      name = normalizePath(name, false).replace(/^\w+:/, "").replace(/^(\.\.\/|\/)+/, "");
+      if (prependSlash) {
+        name = `/${name}`;
       }
-      function chownErOk(er) {
-        if (!er)
-          return true;
-        if (er.code === "ENOSYS")
-          return true;
-        var nonroot = !process.getuid || process.getuid() !== 0;
-        if (nonroot) {
-          if (er.code === "EINVAL" || er.code === "EPERM")
-            return true;
-        }
-        return false;
+      if (Buffer.byteLength(name) !== name.length) {
+        this.getGeneralPurposeBit().useUTF8ForNames(true);
       }
-    }
-  }
-});
-
-// node_modules/graceful-fs/legacy-streams.js
-var require_legacy_streams = __commonJS({
-  "node_modules/graceful-fs/legacy-streams.js"(exports2, module2) {
-    var Stream = require("stream").Stream;
-    module2.exports = legacy;
-    function legacy(fs8) {
-      return {
-        ReadStream,
-        WriteStream
-      };
-      function ReadStream(path7, options) {
-        if (!(this instanceof ReadStream)) return new ReadStream(path7, options);
-        Stream.call(this);
-        var self2 = this;
-        this.path = path7;
-        this.fd = null;
-        this.readable = true;
-        this.paused = false;
-        this.flags = "r";
-        this.mode = 438;
-        this.bufferSize = 64 * 1024;
-        options = options || {};
-        var keys = Object.keys(options);
-        for (var index = 0, length = keys.length; index < length; index++) {
-          var key = keys[index];
-          this[key] = options[key];
-        }
-        if (this.encoding) this.setEncoding(this.encoding);
-        if (this.start !== void 0) {
-          if ("number" !== typeof this.start) {
-            throw TypeError("start must be a Number");
-          }
-          if (this.end === void 0) {
-            this.end = Infinity;
-          } else if ("number" !== typeof this.end) {
-            throw TypeError("end must be a Number");
-          }
-          if (this.start > this.end) {
-            throw new Error("start must be <= end");
-          }
-          this.pos = this.start;
-        }
-        if (this.fd !== null) {
-          process.nextTick(function() {
-            self2._read();
-          });
-          return;
-        }
-        fs8.open(this.path, this.flags, this.mode, function(err, fd) {
-          if (err) {
-            self2.emit("error", err);
-            self2.readable = false;
-            return;
-          }
-          self2.fd = fd;
-          self2.emit("open", fd);
-          self2._read();
-        });
+      this.name = name;
+    };
+    ZipArchiveEntry.prototype.setPlatform = function(platform) {
+      this.platform = platform;
+    };
+    ZipArchiveEntry.prototype.setSize = function(size) {
+      if (size < 0) {
+        throw new Error("invalid entry size");
       }
-      function WriteStream(path7, options) {
-        if (!(this instanceof WriteStream)) return new WriteStream(path7, options);
-        Stream.call(this);
-        this.path = path7;
-        this.fd = null;
-        this.writable = true;
-        this.flags = "w";
-        this.encoding = "binary";
-        this.mode = 438;
-        this.bytesWritten = 0;
-        options = options || {};
-        var keys = Object.keys(options);
-        for (var index = 0, length = keys.length; index < length; index++) {
-          var key = keys[index];
-          this[key] = options[key];
-        }
-        if (this.start !== void 0) {
-          if ("number" !== typeof this.start) {
-            throw TypeError("start must be a Number");
-          }
-          if (this.start < 0) {
-            throw new Error("start must be >= zero");
-          }
-          this.pos = this.start;
-        }
-        this.busy = false;
-        this._queue = [];
-        if (this.fd === null) {
-          this._open = fs8.open;
-          this._queue.push([this._open, this.path, this.flags, this.mode, void 0]);
-          this.flush();
-        }
+      this.size = size;
+    };
+    ZipArchiveEntry.prototype.setTime = function(time, forceLocalTime) {
+      if (!(time instanceof Date)) {
+        throw new Error("invalid entry time");
       }
-    }
+      this.time = zipUtil.dateToDos(time, forceLocalTime);
+    };
+    ZipArchiveEntry.prototype.setUnixMode = function(mode) {
+      mode |= this.isDirectory() ? constants.S_IFDIR : constants.S_IFREG;
+      var extattr = 0;
+      extattr |= mode << constants.SHORT_SHIFT | (this.isDirectory() ? constants.S_DOS_D : constants.S_DOS_A);
+      this.setExternalAttributes(extattr);
+      this.mode = mode & constants.MODE_MASK;
+      this.platform = constants.PLATFORM_UNIX;
+    };
+    ZipArchiveEntry.prototype.setVersionNeededToExtract = function(minver) {
+      this.minver = minver;
+    };
+    ZipArchiveEntry.prototype.isDirectory = function() {
+      return this.getName().slice(-1) === "/";
+    };
+    ZipArchiveEntry.prototype.isUnixSymlink = function() {
+      return (this.getUnixMode() & UnixStat.FILE_TYPE_FLAG) === UnixStat.LINK_FLAG;
+    };
+    ZipArchiveEntry.prototype.isZip64 = function() {
+      return this.csize > constants.ZIP64_MAGIC || this.size > constants.ZIP64_MAGIC;
+    };
   }
 });
 
-// node_modules/graceful-fs/clone.js
-var require_clone = __commonJS({
-  "node_modules/graceful-fs/clone.js"(exports2, module2) {
+// node_modules/compress-commons/node_modules/is-stream/index.js
+var require_is_stream2 = __commonJS({
+  "node_modules/compress-commons/node_modules/is-stream/index.js"(exports2, module2) {
     "use strict";
-    module2.exports = clone;
-    var getPrototypeOf = Object.getPrototypeOf || function(obj) {
-      return obj.__proto__;
+    var isStream = (stream) => stream !== null && typeof stream === "object" && typeof stream.pipe === "function";
+    isStream.writable = (stream) => isStream(stream) && stream.writable !== false && typeof stream._write === "function" && typeof stream._writableState === "object";
+    isStream.readable = (stream) => isStream(stream) && stream.readable !== false && typeof stream._read === "function" && typeof stream._readableState === "object";
+    isStream.duplex = (stream) => isStream.writable(stream) && isStream.readable(stream);
+    isStream.transform = (stream) => isStream.duplex(stream) && typeof stream._transform === "function";
+    module2.exports = isStream;
+  }
+});
+
+// node_modules/compress-commons/lib/util/index.js
+var require_util23 = __commonJS({
+  "node_modules/compress-commons/lib/util/index.js"(exports2, module2) {
+    var Stream = require("stream").Stream;
+    var PassThrough = require_ours().PassThrough;
+    var isStream = require_is_stream2();
+    var util = module2.exports = {};
+    util.normalizeInputSource = function(source) {
+      if (source === null) {
+        return Buffer.alloc(0);
+      } else if (typeof source === "string") {
+        return Buffer.from(source);
+      } else if (isStream(source) && !source._readableState) {
+        var normalized = new PassThrough();
+        source.pipe(normalized);
+        return normalized;
+      }
+      return source;
     };
-    function clone(obj) {
-      if (obj === null || typeof obj !== "object")
-        return obj;
-      if (obj instanceof Object)
-        var copy = { __proto__: getPrototypeOf(obj) };
-      else
-        var copy = /* @__PURE__ */ Object.create(null);
-      Object.getOwnPropertyNames(obj).forEach(function(key) {
-        Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key));
-      });
-      return copy;
-    }
   }
 });
 
-// node_modules/graceful-fs/graceful-fs.js
-var require_graceful_fs = __commonJS({
-  "node_modules/graceful-fs/graceful-fs.js"(exports2, module2) {
-    var fs8 = require("fs");
-    var polyfills = require_polyfills();
-    var legacy = require_legacy_streams();
-    var clone = require_clone();
-    var util = require("util");
-    var gracefulQueue;
-    var previousSymbol;
-    if (typeof Symbol === "function" && typeof Symbol.for === "function") {
-      gracefulQueue = /* @__PURE__ */ Symbol.for("graceful-fs.queue");
-      previousSymbol = /* @__PURE__ */ Symbol.for("graceful-fs.previous");
-    } else {
-      gracefulQueue = "___graceful-fs.queue";
-      previousSymbol = "___graceful-fs.previous";
-    }
-    function noop3() {
-    }
-    function publishQueue(context2, queue2) {
-      Object.defineProperty(context2, gracefulQueue, {
-        get: function() {
-          return queue2;
-        }
-      });
-    }
-    var debug4 = noop3;
-    if (util.debuglog)
-      debug4 = util.debuglog("gfs4");
-    else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || ""))
-      debug4 = function() {
-        var m = util.format.apply(util, arguments);
-        m = "GFS4: " + m.split(/\n/).join("\nGFS4: ");
-        console.error(m);
+// node_modules/compress-commons/lib/archivers/archive-output-stream.js
+var require_archive_output_stream = __commonJS({
+  "node_modules/compress-commons/lib/archivers/archive-output-stream.js"(exports2, module2) {
+    var inherits = require("util").inherits;
+    var isStream = require_is_stream2();
+    var Transform = require_ours().Transform;
+    var ArchiveEntry = require_archive_entry();
+    var util = require_util23();
+    var ArchiveOutputStream = module2.exports = function(options) {
+      if (!(this instanceof ArchiveOutputStream)) {
+        return new ArchiveOutputStream(options);
+      }
+      Transform.call(this, options);
+      this.offset = 0;
+      this._archive = {
+        finish: false,
+        finished: false,
+        processing: false
       };
-    if (!fs8[gracefulQueue]) {
-      queue = global[gracefulQueue] || [];
-      publishQueue(fs8, queue);
-      fs8.close = (function(fs$close) {
-        function close(fd, cb) {
-          return fs$close.call(fs8, fd, function(err) {
-            if (!err) {
-              resetQueue();
-            }
-            if (typeof cb === "function")
-              cb.apply(this, arguments);
-          });
-        }
-        Object.defineProperty(close, previousSymbol, {
-          value: fs$close
-        });
-        return close;
-      })(fs8.close);
-      fs8.closeSync = (function(fs$closeSync) {
-        function closeSync(fd) {
-          fs$closeSync.apply(fs8, arguments);
-          resetQueue();
-        }
-        Object.defineProperty(closeSync, previousSymbol, {
-          value: fs$closeSync
-        });
-        return closeSync;
-      })(fs8.closeSync);
-      if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || "")) {
-        process.on("exit", function() {
-          debug4(fs8[gracefulQueue]);
-          require("assert").equal(fs8[gracefulQueue].length, 0);
-        });
+    };
+    inherits(ArchiveOutputStream, Transform);
+    ArchiveOutputStream.prototype._appendBuffer = function(zae, source, callback) {
+    };
+    ArchiveOutputStream.prototype._appendStream = function(zae, source, callback) {
+    };
+    ArchiveOutputStream.prototype._emitErrorCallback = function(err) {
+      if (err) {
+        this.emit("error", err);
       }
-    }
-    var queue;
-    if (!global[gracefulQueue]) {
-      publishQueue(global, fs8[gracefulQueue]);
-    }
-    module2.exports = patch(clone(fs8));
-    if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs8.__patched) {
-      module2.exports = patch(fs8);
-      fs8.__patched = true;
-    }
-    function patch(fs9) {
-      polyfills(fs9);
-      fs9.gracefulify = patch;
-      fs9.createReadStream = createReadStream;
-      fs9.createWriteStream = createWriteStream3;
-      var fs$readFile = fs9.readFile;
-      fs9.readFile = readFile;
-      function readFile(path7, options, cb) {
-        if (typeof options === "function")
-          cb = options, options = null;
-        return go$readFile(path7, options, cb);
-        function go$readFile(path8, options2, cb2, startTime) {
-          return fs$readFile(path8, options2, function(err) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([go$readFile, [path8, options2, cb2], err, startTime || Date.now(), Date.now()]);
-            else {
-              if (typeof cb2 === "function")
-                cb2.apply(this, arguments);
-            }
-          });
-        }
+    };
+    ArchiveOutputStream.prototype._finish = function(ae) {
+    };
+    ArchiveOutputStream.prototype._normalizeEntry = function(ae) {
+    };
+    ArchiveOutputStream.prototype._transform = function(chunk, encoding, callback) {
+      callback(null, chunk);
+    };
+    ArchiveOutputStream.prototype.entry = function(ae, source, callback) {
+      source = source || null;
+      if (typeof callback !== "function") {
+        callback = this._emitErrorCallback.bind(this);
       }
-      var fs$writeFile = fs9.writeFile;
-      fs9.writeFile = writeFile;
-      function writeFile(path7, data, options, cb) {
-        if (typeof options === "function")
-          cb = options, options = null;
-        return go$writeFile(path7, data, options, cb);
-        function go$writeFile(path8, data2, options2, cb2, startTime) {
-          return fs$writeFile(path8, data2, options2, function(err) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([go$writeFile, [path8, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
-            else {
-              if (typeof cb2 === "function")
-                cb2.apply(this, arguments);
-            }
-          });
-        }
+      if (!(ae instanceof ArchiveEntry)) {
+        callback(new Error("not a valid instance of ArchiveEntry"));
+        return;
       }
-      var fs$appendFile = fs9.appendFile;
-      if (fs$appendFile)
-        fs9.appendFile = appendFile;
-      function appendFile(path7, data, options, cb) {
-        if (typeof options === "function")
-          cb = options, options = null;
-        return go$appendFile(path7, data, options, cb);
-        function go$appendFile(path8, data2, options2, cb2, startTime) {
-          return fs$appendFile(path8, data2, options2, function(err) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([go$appendFile, [path8, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
-            else {
-              if (typeof cb2 === "function")
-                cb2.apply(this, arguments);
-            }
-          });
-        }
+      if (this._archive.finish || this._archive.finished) {
+        callback(new Error("unacceptable entry after finish"));
+        return;
       }
-      var fs$copyFile = fs9.copyFile;
-      if (fs$copyFile)
-        fs9.copyFile = copyFile;
-      function copyFile(src, dest, flags, cb) {
-        if (typeof flags === "function") {
-          cb = flags;
-          flags = 0;
-        }
-        return go$copyFile(src, dest, flags, cb);
-        function go$copyFile(src2, dest2, flags2, cb2, startTime) {
-          return fs$copyFile(src2, dest2, flags2, function(err) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([go$copyFile, [src2, dest2, flags2, cb2], err, startTime || Date.now(), Date.now()]);
-            else {
-              if (typeof cb2 === "function")
-                cb2.apply(this, arguments);
-            }
-          });
-        }
+      if (this._archive.processing) {
+        callback(new Error("already processing an entry"));
+        return;
       }
-      var fs$readdir = fs9.readdir;
-      fs9.readdir = readdir;
-      var noReaddirOptionVersions = /^v[0-5]\./;
-      function readdir(path7, options, cb) {
-        if (typeof options === "function")
-          cb = options, options = null;
-        var go$readdir = noReaddirOptionVersions.test(process.version) ? function go$readdir2(path8, options2, cb2, startTime) {
-          return fs$readdir(path8, fs$readdirCallback(
-            path8,
-            options2,
-            cb2,
-            startTime
-          ));
-        } : function go$readdir2(path8, options2, cb2, startTime) {
-          return fs$readdir(path8, options2, fs$readdirCallback(
-            path8,
-            options2,
-            cb2,
-            startTime
-          ));
-        };
-        return go$readdir(path7, options, cb);
-        function fs$readdirCallback(path8, options2, cb2, startTime) {
-          return function(err, files) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([
-                go$readdir,
-                [path8, options2, cb2],
-                err,
-                startTime || Date.now(),
-                Date.now()
-              ]);
-            else {
-              if (files && files.sort)
-                files.sort();
-              if (typeof cb2 === "function")
-                cb2.call(this, err, files);
-            }
-          };
-        }
+      this._archive.processing = true;
+      this._normalizeEntry(ae);
+      this._entry = ae;
+      source = util.normalizeInputSource(source);
+      if (Buffer.isBuffer(source)) {
+        this._appendBuffer(ae, source, callback);
+      } else if (isStream(source)) {
+        this._appendStream(ae, source, callback);
+      } else {
+        this._archive.processing = false;
+        callback(new Error("input source must be valid Stream or Buffer instance"));
+        return;
       }
-      if (process.version.substr(0, 4) === "v0.8") {
-        var legStreams = legacy(fs9);
-        ReadStream = legStreams.ReadStream;
-        WriteStream = legStreams.WriteStream;
+      return this;
+    };
+    ArchiveOutputStream.prototype.finish = function() {
+      if (this._archive.processing) {
+        this._archive.finish = true;
+        return;
       }
-      var fs$ReadStream = fs9.ReadStream;
-      if (fs$ReadStream) {
-        ReadStream.prototype = Object.create(fs$ReadStream.prototype);
-        ReadStream.prototype.open = ReadStream$open;
+      this._finish();
+    };
+    ArchiveOutputStream.prototype.getBytesWritten = function() {
+      return this.offset;
+    };
+    ArchiveOutputStream.prototype.write = function(chunk, cb) {
+      if (chunk) {
+        this.offset += chunk.length;
       }
-      var fs$WriteStream = fs9.WriteStream;
-      if (fs$WriteStream) {
-        WriteStream.prototype = Object.create(fs$WriteStream.prototype);
-        WriteStream.prototype.open = WriteStream$open;
+      return Transform.prototype.write.call(this, chunk, cb);
+    };
+  }
+});
+
+// node_modules/crc-32/crc32.js
+var require_crc32 = __commonJS({
+  "node_modules/crc-32/crc32.js"(exports2) {
+    var CRC32;
+    (function(factory) {
+      if (typeof DO_NOT_EXPORT_CRC === "undefined") {
+        if ("object" === typeof exports2) {
+          factory(exports2);
+        } else if ("function" === typeof define && define.amd) {
+          define(function() {
+            var module3 = {};
+            factory(module3);
+            return module3;
+          });
+        } else {
+          factory(CRC32 = {});
+        }
+      } else {
+        factory(CRC32 = {});
       }
-      Object.defineProperty(fs9, "ReadStream", {
-        get: function() {
-          return ReadStream;
-        },
-        set: function(val) {
-          ReadStream = val;
-        },
-        enumerable: true,
-        configurable: true
-      });
-      Object.defineProperty(fs9, "WriteStream", {
-        get: function() {
-          return WriteStream;
-        },
-        set: function(val) {
-          WriteStream = val;
-        },
-        enumerable: true,
-        configurable: true
-      });
-      var FileReadStream = ReadStream;
-      Object.defineProperty(fs9, "FileReadStream", {
-        get: function() {
-          return FileReadStream;
-        },
-        set: function(val) {
-          FileReadStream = val;
-        },
-        enumerable: true,
-        configurable: true
-      });
-      var FileWriteStream = WriteStream;
-      Object.defineProperty(fs9, "FileWriteStream", {
-        get: function() {
-          return FileWriteStream;
-        },
-        set: function(val) {
-          FileWriteStream = val;
-        },
-        enumerable: true,
-        configurable: true
-      });
-      function ReadStream(path7, options) {
-        if (this instanceof ReadStream)
-          return fs$ReadStream.apply(this, arguments), this;
-        else
-          return ReadStream.apply(Object.create(ReadStream.prototype), arguments);
+    })(function(CRC322) {
+      CRC322.version = "1.2.2";
+      function signed_crc_table() {
+        var c = 0, table = new Array(256);
+        for (var n = 0; n != 256; ++n) {
+          c = n;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          table[n] = c;
+        }
+        return typeof Int32Array !== "undefined" ? new Int32Array(table) : table;
       }
-      function ReadStream$open() {
-        var that = this;
-        open(that.path, that.flags, that.mode, function(err, fd) {
-          if (err) {
-            if (that.autoClose)
-              that.destroy();
-            that.emit("error", err);
-          } else {
-            that.fd = fd;
-            that.emit("open", fd);
-            that.read();
-          }
-        });
+      var T0 = signed_crc_table();
+      function slice_by_16_tables(T) {
+        var c = 0, v = 0, n = 0, table = typeof Int32Array !== "undefined" ? new Int32Array(4096) : new Array(4096);
+        for (n = 0; n != 256; ++n) table[n] = T[n];
+        for (n = 0; n != 256; ++n) {
+          v = T[n];
+          for (c = 256 + n; c < 4096; c += 256) v = table[c] = v >>> 8 ^ T[v & 255];
+        }
+        var out = [];
+        for (n = 1; n != 16; ++n) out[n - 1] = typeof Int32Array !== "undefined" ? table.subarray(n * 256, n * 256 + 256) : table.slice(n * 256, n * 256 + 256);
+        return out;
       }
-      function WriteStream(path7, options) {
-        if (this instanceof WriteStream)
-          return fs$WriteStream.apply(this, arguments), this;
-        else
-          return WriteStream.apply(Object.create(WriteStream.prototype), arguments);
+      var TT = slice_by_16_tables(T0);
+      var T1 = TT[0], T2 = TT[1], T3 = TT[2], T4 = TT[3], T5 = TT[4];
+      var T6 = TT[5], T7 = TT[6], T8 = TT[7], T9 = TT[8], Ta = TT[9];
+      var Tb = TT[10], Tc = TT[11], Td = TT[12], Te = TT[13], Tf = TT[14];
+      function crc32_bstr(bstr, seed) {
+        var C = seed ^ -1;
+        for (var i = 0, L = bstr.length; i < L; ) C = C >>> 8 ^ T0[(C ^ bstr.charCodeAt(i++)) & 255];
+        return ~C;
       }
-      function WriteStream$open() {
-        var that = this;
-        open(that.path, that.flags, that.mode, function(err, fd) {
-          if (err) {
-            that.destroy();
-            that.emit("error", err);
+      function crc32_buf(B, seed) {
+        var C = seed ^ -1, L = B.length - 15, i = 0;
+        for (; i < L; ) C = Tf[B[i++] ^ C & 255] ^ Te[B[i++] ^ C >> 8 & 255] ^ Td[B[i++] ^ C >> 16 & 255] ^ Tc[B[i++] ^ C >>> 24] ^ Tb[B[i++]] ^ Ta[B[i++]] ^ T9[B[i++]] ^ T8[B[i++]] ^ T7[B[i++]] ^ T6[B[i++]] ^ T5[B[i++]] ^ T4[B[i++]] ^ T3[B[i++]] ^ T2[B[i++]] ^ T1[B[i++]] ^ T0[B[i++]];
+        L += 15;
+        while (i < L) C = C >>> 8 ^ T0[(C ^ B[i++]) & 255];
+        return ~C;
+      }
+      function crc32_str(str2, seed) {
+        var C = seed ^ -1;
+        for (var i = 0, L = str2.length, c = 0, d = 0; i < L; ) {
+          c = str2.charCodeAt(i++);
+          if (c < 128) {
+            C = C >>> 8 ^ T0[(C ^ c) & 255];
+          } else if (c < 2048) {
+            C = C >>> 8 ^ T0[(C ^ (192 | c >> 6 & 31)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | c & 63)) & 255];
+          } else if (c >= 55296 && c < 57344) {
+            c = (c & 1023) + 64;
+            d = str2.charCodeAt(i++) & 1023;
+            C = C >>> 8 ^ T0[(C ^ (240 | c >> 8 & 7)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | c >> 2 & 63)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | d >> 6 & 15 | (c & 3) << 4)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | d & 63)) & 255];
           } else {
-            that.fd = fd;
-            that.emit("open", fd);
+            C = C >>> 8 ^ T0[(C ^ (224 | c >> 12 & 15)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | c >> 6 & 63)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | c & 63)) & 255];
           }
-        });
-      }
-      function createReadStream(path7, options) {
-        return new fs9.ReadStream(path7, options);
+        }
+        return ~C;
       }
-      function createWriteStream3(path7, options) {
-        return new fs9.WriteStream(path7, options);
+      CRC322.table = T0;
+      CRC322.bstr = crc32_bstr;
+      CRC322.buf = crc32_buf;
+      CRC322.str = crc32_str;
+    });
+  }
+});
+
+// node_modules/crc32-stream/lib/crc32-stream.js
+var require_crc32_stream = __commonJS({
+  "node_modules/crc32-stream/lib/crc32-stream.js"(exports2, module2) {
+    "use strict";
+    var { Transform } = require_ours();
+    var crc32 = require_crc32();
+    var CRC32Stream = class extends Transform {
+      constructor(options) {
+        super(options);
+        this.checksum = Buffer.allocUnsafe(4);
+        this.checksum.writeInt32BE(0, 0);
+        this.rawSize = 0;
       }
-      var fs$open = fs9.open;
-      fs9.open = open;
-      function open(path7, flags, mode, cb) {
-        if (typeof mode === "function")
-          cb = mode, mode = null;
-        return go$open(path7, flags, mode, cb);
-        function go$open(path8, flags2, mode2, cb2, startTime) {
-          return fs$open(path8, flags2, mode2, function(err, fd) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([go$open, [path8, flags2, mode2, cb2], err, startTime || Date.now(), Date.now()]);
-            else {
-              if (typeof cb2 === "function")
-                cb2.apply(this, arguments);
-            }
-          });
+      _transform(chunk, encoding, callback) {
+        if (chunk) {
+          this.checksum = crc32.buf(chunk, this.checksum) >>> 0;
+          this.rawSize += chunk.length;
         }
+        callback(null, chunk);
       }
-      return fs9;
-    }
-    function enqueue(elem) {
-      debug4("ENQUEUE", elem[0].name, elem[1]);
-      fs8[gracefulQueue].push(elem);
-      retry2();
-    }
-    var retryTimer;
-    function resetQueue() {
-      var now = Date.now();
-      for (var i = 0; i < fs8[gracefulQueue].length; ++i) {
-        if (fs8[gracefulQueue][i].length > 2) {
-          fs8[gracefulQueue][i][3] = now;
-          fs8[gracefulQueue][i][4] = now;
-        }
+      digest(encoding) {
+        const checksum = Buffer.allocUnsafe(4);
+        checksum.writeUInt32BE(this.checksum >>> 0, 0);
+        return encoding ? checksum.toString(encoding) : checksum;
       }
-      retry2();
-    }
-    function retry2() {
-      clearTimeout(retryTimer);
-      retryTimer = void 0;
-      if (fs8[gracefulQueue].length === 0)
-        return;
-      var elem = fs8[gracefulQueue].shift();
-      var fn = elem[0];
-      var args = elem[1];
-      var err = elem[2];
-      var startTime = elem[3];
-      var lastTime = elem[4];
-      if (startTime === void 0) {
-        debug4("RETRY", fn.name, args);
-        fn.apply(null, args);
-      } else if (Date.now() - startTime >= 6e4) {
-        debug4("TIMEOUT", fn.name, args);
-        var cb = args.pop();
-        if (typeof cb === "function")
-          cb.call(null, err);
-      } else {
-        var sinceAttempt = Date.now() - lastTime;
-        var sinceStart = Math.max(lastTime - startTime, 1);
-        var desiredDelay = Math.min(sinceStart * 1.2, 100);
-        if (sinceAttempt >= desiredDelay) {
-          debug4("RETRY", fn.name, args);
-          fn.apply(null, args.concat([startTime]));
-        } else {
-          fs8[gracefulQueue].push(elem);
-        }
+      hex() {
+        return this.digest("hex").toUpperCase();
       }
-      if (retryTimer === void 0) {
-        retryTimer = setTimeout(retry2, 0);
+      size() {
+        return this.rawSize;
       }
-    }
-  }
-});
-
-// node_modules/archiver-utils/node_modules/is-stream/index.js
-var require_is_stream = __commonJS({
-  "node_modules/archiver-utils/node_modules/is-stream/index.js"(exports2, module2) {
-    "use strict";
-    var isStream = (stream) => stream !== null && typeof stream === "object" && typeof stream.pipe === "function";
-    isStream.writable = (stream) => isStream(stream) && stream.writable !== false && typeof stream._write === "function" && typeof stream._writableState === "object";
-    isStream.readable = (stream) => isStream(stream) && stream.readable !== false && typeof stream._read === "function" && typeof stream._readableState === "object";
-    isStream.duplex = (stream) => isStream.writable(stream) && isStream.readable(stream);
-    isStream.transform = (stream) => isStream.duplex(stream) && typeof stream._transform === "function";
-    module2.exports = isStream;
+    };
+    module2.exports = CRC32Stream;
   }
 });
 
-// node_modules/process-nextick-args/index.js
-var require_process_nextick_args = __commonJS({
-  "node_modules/process-nextick-args/index.js"(exports2, module2) {
+// node_modules/crc32-stream/lib/deflate-crc32-stream.js
+var require_deflate_crc32_stream = __commonJS({
+  "node_modules/crc32-stream/lib/deflate-crc32-stream.js"(exports2, module2) {
     "use strict";
-    if (typeof process === "undefined" || !process.version || process.version.indexOf("v0.") === 0 || process.version.indexOf("v1.") === 0 && process.version.indexOf("v1.8.") !== 0) {
-      module2.exports = { nextTick };
-    } else {
-      module2.exports = process;
-    }
-    function nextTick(fn, arg1, arg2, arg3) {
-      if (typeof fn !== "function") {
-        throw new TypeError('"callback" argument must be a function');
-      }
-      var len = arguments.length;
-      var args, i;
-      switch (len) {
-        case 0:
-        case 1:
-          return process.nextTick(fn);
-        case 2:
-          return process.nextTick(function afterTickOne() {
-            fn.call(null, arg1);
-          });
-        case 3:
-          return process.nextTick(function afterTickTwo() {
-            fn.call(null, arg1, arg2);
-          });
-        case 4:
-          return process.nextTick(function afterTickThree() {
-            fn.call(null, arg1, arg2, arg3);
-          });
-        default:
-          args = new Array(len - 1);
-          i = 0;
-          while (i < args.length) {
-            args[i++] = arguments[i];
-          }
-          return process.nextTick(function afterTick() {
-            fn.apply(null, args);
-          });
+    var { DeflateRaw } = require("zlib");
+    var crc32 = require_crc32();
+    var DeflateCRC32Stream = class extends DeflateRaw {
+      constructor(options) {
+        super(options);
+        this.checksum = Buffer.allocUnsafe(4);
+        this.checksum.writeInt32BE(0, 0);
+        this.rawSize = 0;
+        this.compressedSize = 0;
+      }
+      push(chunk, encoding) {
+        if (chunk) {
+          this.compressedSize += chunk.length;
+        }
+        return super.push(chunk, encoding);
+      }
+      _transform(chunk, encoding, callback) {
+        if (chunk) {
+          this.checksum = crc32.buf(chunk, this.checksum) >>> 0;
+          this.rawSize += chunk.length;
+        }
+        super._transform(chunk, encoding, callback);
+      }
+      digest(encoding) {
+        const checksum = Buffer.allocUnsafe(4);
+        checksum.writeUInt32BE(this.checksum >>> 0, 0);
+        return encoding ? checksum.toString(encoding) : checksum;
+      }
+      hex() {
+        return this.digest("hex").toUpperCase();
+      }
+      size(compressed = false) {
+        if (compressed) {
+          return this.compressedSize;
+        } else {
+          return this.rawSize;
+        }
       }
-    }
-  }
-});
-
-// node_modules/lazystream/node_modules/isarray/index.js
-var require_isarray = __commonJS({
-  "node_modules/lazystream/node_modules/isarray/index.js"(exports2, module2) {
-    var toString2 = {}.toString;
-    module2.exports = Array.isArray || function(arr) {
-      return toString2.call(arr) == "[object Array]";
     };
+    module2.exports = DeflateCRC32Stream;
   }
 });
 
-// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/stream.js
-var require_stream = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/stream.js"(exports2, module2) {
-    module2.exports = require("stream");
+// node_modules/crc32-stream/lib/index.js
+var require_lib3 = __commonJS({
+  "node_modules/crc32-stream/lib/index.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      CRC32Stream: require_crc32_stream(),
+      DeflateCRC32Stream: require_deflate_crc32_stream()
+    };
   }
 });
 
-// node_modules/lazystream/node_modules/safe-buffer/index.js
-var require_safe_buffer = __commonJS({
-  "node_modules/lazystream/node_modules/safe-buffer/index.js"(exports2, module2) {
-    var buffer = require("buffer");
-    var Buffer2 = buffer.Buffer;
-    function copyProps(src, dst) {
-      for (var key in src) {
-        dst[key] = src[key];
+// node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js
+var require_zip_archive_output_stream = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js"(exports2, module2) {
+    var inherits = require("util").inherits;
+    var crc32 = require_crc32();
+    var { CRC32Stream } = require_lib3();
+    var { DeflateCRC32Stream } = require_lib3();
+    var ArchiveOutputStream = require_archive_output_stream();
+    var ZipArchiveEntry = require_zip_archive_entry();
+    var GeneralPurposeBit = require_general_purpose_bit();
+    var constants = require_constants18();
+    var util = require_util23();
+    var zipUtil = require_util22();
+    var ZipArchiveOutputStream = module2.exports = function(options) {
+      if (!(this instanceof ZipArchiveOutputStream)) {
+        return new ZipArchiveOutputStream(options);
       }
-    }
-    if (Buffer2.from && Buffer2.alloc && Buffer2.allocUnsafe && Buffer2.allocUnsafeSlow) {
-      module2.exports = buffer;
-    } else {
-      copyProps(buffer, exports2);
-      exports2.Buffer = SafeBuffer;
-    }
-    function SafeBuffer(arg, encodingOrOffset, length) {
-      return Buffer2(arg, encodingOrOffset, length);
-    }
-    copyProps(Buffer2, SafeBuffer);
-    SafeBuffer.from = function(arg, encodingOrOffset, length) {
-      if (typeof arg === "number") {
-        throw new TypeError("Argument must not be a number");
+      options = this.options = this._defaults(options);
+      ArchiveOutputStream.call(this, options);
+      this._entry = null;
+      this._entries = [];
+      this._archive = {
+        centralLength: 0,
+        centralOffset: 0,
+        comment: "",
+        finish: false,
+        finished: false,
+        processing: false,
+        forceZip64: options.forceZip64,
+        forceLocalTime: options.forceLocalTime
+      };
+    };
+    inherits(ZipArchiveOutputStream, ArchiveOutputStream);
+    ZipArchiveOutputStream.prototype._afterAppend = function(ae) {
+      this._entries.push(ae);
+      if (ae.getGeneralPurposeBit().usesDataDescriptor()) {
+        this._writeDataDescriptor(ae);
+      }
+      this._archive.processing = false;
+      this._entry = null;
+      if (this._archive.finish && !this._archive.finished) {
+        this._finish();
       }
-      return Buffer2(arg, encodingOrOffset, length);
     };
-    SafeBuffer.alloc = function(size, fill, encoding) {
-      if (typeof size !== "number") {
-        throw new TypeError("Argument must be a number");
+    ZipArchiveOutputStream.prototype._appendBuffer = function(ae, source, callback) {
+      if (source.length === 0) {
+        ae.setMethod(constants.METHOD_STORED);
       }
-      var buf = Buffer2(size);
-      if (fill !== void 0) {
-        if (typeof encoding === "string") {
-          buf.fill(fill, encoding);
-        } else {
-          buf.fill(fill);
-        }
+      var method = ae.getMethod();
+      if (method === constants.METHOD_STORED) {
+        ae.setSize(source.length);
+        ae.setCompressedSize(source.length);
+        ae.setCrc(crc32.buf(source) >>> 0);
+      }
+      this._writeLocalFileHeader(ae);
+      if (method === constants.METHOD_STORED) {
+        this.write(source);
+        this._afterAppend(ae);
+        callback(null, ae);
+        return;
+      } else if (method === constants.METHOD_DEFLATED) {
+        this._smartStream(ae, callback).end(source);
+        return;
       } else {
-        buf.fill(0);
+        callback(new Error("compression method " + method + " not implemented"));
+        return;
       }
-      return buf;
     };
-    SafeBuffer.allocUnsafe = function(size) {
-      if (typeof size !== "number") {
-        throw new TypeError("Argument must be a number");
+    ZipArchiveOutputStream.prototype._appendStream = function(ae, source, callback) {
+      ae.getGeneralPurposeBit().useDataDescriptor(true);
+      ae.setVersionNeededToExtract(constants.MIN_VERSION_DATA_DESCRIPTOR);
+      this._writeLocalFileHeader(ae);
+      var smart = this._smartStream(ae, callback);
+      source.once("error", function(err) {
+        smart.emit("error", err);
+        smart.end();
+      });
+      source.pipe(smart);
+    };
+    ZipArchiveOutputStream.prototype._defaults = function(o) {
+      if (typeof o !== "object") {
+        o = {};
       }
-      return Buffer2(size);
+      if (typeof o.zlib !== "object") {
+        o.zlib = {};
+      }
+      if (typeof o.zlib.level !== "number") {
+        o.zlib.level = constants.ZLIB_BEST_SPEED;
+      }
+      o.forceZip64 = !!o.forceZip64;
+      o.forceLocalTime = !!o.forceLocalTime;
+      return o;
     };
-    SafeBuffer.allocUnsafeSlow = function(size) {
-      if (typeof size !== "number") {
-        throw new TypeError("Argument must be a number");
+    ZipArchiveOutputStream.prototype._finish = function() {
+      this._archive.centralOffset = this.offset;
+      this._entries.forEach(function(ae) {
+        this._writeCentralFileHeader(ae);
+      }.bind(this));
+      this._archive.centralLength = this.offset - this._archive.centralOffset;
+      if (this.isZip64()) {
+        this._writeCentralDirectoryZip64();
       }
-      return buffer.SlowBuffer(size);
+      this._writeCentralDirectoryEnd();
+      this._archive.processing = false;
+      this._archive.finish = true;
+      this._archive.finished = true;
+      this.end();
     };
-  }
-});
-
-// node_modules/core-util-is/lib/util.js
-var require_util19 = __commonJS({
-  "node_modules/core-util-is/lib/util.js"(exports2) {
-    function isArray(arg) {
-      if (Array.isArray) {
-        return Array.isArray(arg);
+    ZipArchiveOutputStream.prototype._normalizeEntry = function(ae) {
+      if (ae.getMethod() === -1) {
+        ae.setMethod(constants.METHOD_DEFLATED);
       }
-      return objectToString(arg) === "[object Array]";
-    }
-    exports2.isArray = isArray;
-    function isBoolean2(arg) {
-      return typeof arg === "boolean";
-    }
-    exports2.isBoolean = isBoolean2;
-    function isNull2(arg) {
-      return arg === null;
-    }
-    exports2.isNull = isNull2;
-    function isNullOrUndefined(arg) {
-      return arg == null;
-    }
-    exports2.isNullOrUndefined = isNullOrUndefined;
-    function isNumber(arg) {
-      return typeof arg === "number";
-    }
-    exports2.isNumber = isNumber;
-    function isString(arg) {
-      return typeof arg === "string";
-    }
-    exports2.isString = isString;
-    function isSymbol(arg) {
-      return typeof arg === "symbol";
-    }
-    exports2.isSymbol = isSymbol;
-    function isUndefined(arg) {
-      return arg === void 0;
-    }
-    exports2.isUndefined = isUndefined;
-    function isRegExp(re) {
-      return objectToString(re) === "[object RegExp]";
-    }
-    exports2.isRegExp = isRegExp;
-    function isObject2(arg) {
-      return typeof arg === "object" && arg !== null;
-    }
-    exports2.isObject = isObject2;
-    function isDate(d) {
-      return objectToString(d) === "[object Date]";
-    }
-    exports2.isDate = isDate;
-    function isError(e) {
-      return objectToString(e) === "[object Error]" || e instanceof Error;
-    }
-    exports2.isError = isError;
-    function isFunction(arg) {
-      return typeof arg === "function";
-    }
-    exports2.isFunction = isFunction;
-    function isPrimitive(arg) {
-      return arg === null || typeof arg === "boolean" || typeof arg === "number" || typeof arg === "string" || typeof arg === "symbol" || // ES6 symbol
-      typeof arg === "undefined";
-    }
-    exports2.isPrimitive = isPrimitive;
-    exports2.isBuffer = require("buffer").Buffer.isBuffer;
-    function objectToString(o) {
-      return Object.prototype.toString.call(o);
-    }
-  }
-});
-
-// node_modules/inherits/inherits_browser.js
-var require_inherits_browser = __commonJS({
-  "node_modules/inherits/inherits_browser.js"(exports2, module2) {
-    if (typeof Object.create === "function") {
-      module2.exports = function inherits(ctor, superCtor) {
-        ctor.super_ = superCtor;
-        ctor.prototype = Object.create(superCtor.prototype, {
-          constructor: {
-            value: ctor,
-            enumerable: false,
-            writable: true,
-            configurable: true
-          }
-        });
-      };
-    } else {
-      module2.exports = function inherits(ctor, superCtor) {
-        ctor.super_ = superCtor;
-        var TempCtor = function() {
-        };
-        TempCtor.prototype = superCtor.prototype;
-        ctor.prototype = new TempCtor();
-        ctor.prototype.constructor = ctor;
+      if (ae.getMethod() === constants.METHOD_DEFLATED) {
+        ae.getGeneralPurposeBit().useDataDescriptor(true);
+        ae.setVersionNeededToExtract(constants.MIN_VERSION_DATA_DESCRIPTOR);
+      }
+      if (ae.getTime() === -1) {
+        ae.setTime(/* @__PURE__ */ new Date(), this._archive.forceLocalTime);
+      }
+      ae._offsets = {
+        file: 0,
+        data: 0,
+        contents: 0
       };
-    }
+    };
+    ZipArchiveOutputStream.prototype._smartStream = function(ae, callback) {
+      var deflate = ae.getMethod() === constants.METHOD_DEFLATED;
+      var process2 = deflate ? new DeflateCRC32Stream(this.options.zlib) : new CRC32Stream();
+      var error3 = null;
+      function handleStuff() {
+        var digest = process2.digest().readUInt32BE(0);
+        ae.setCrc(digest);
+        ae.setSize(process2.size());
+        ae.setCompressedSize(process2.size(true));
+        this._afterAppend(ae);
+        callback(error3, ae);
+      }
+      process2.once("end", handleStuff.bind(this));
+      process2.once("error", function(err) {
+        error3 = err;
+      });
+      process2.pipe(this, { end: false });
+      return process2;
+    };
+    ZipArchiveOutputStream.prototype._writeCentralDirectoryEnd = function() {
+      var records = this._entries.length;
+      var size = this._archive.centralLength;
+      var offset = this._archive.centralOffset;
+      if (this.isZip64()) {
+        records = constants.ZIP64_MAGIC_SHORT;
+        size = constants.ZIP64_MAGIC;
+        offset = constants.ZIP64_MAGIC;
+      }
+      this.write(zipUtil.getLongBytes(constants.SIG_EOCD));
+      this.write(constants.SHORT_ZERO);
+      this.write(constants.SHORT_ZERO);
+      this.write(zipUtil.getShortBytes(records));
+      this.write(zipUtil.getShortBytes(records));
+      this.write(zipUtil.getLongBytes(size));
+      this.write(zipUtil.getLongBytes(offset));
+      var comment = this.getComment();
+      var commentLength = Buffer.byteLength(comment);
+      this.write(zipUtil.getShortBytes(commentLength));
+      this.write(comment);
+    };
+    ZipArchiveOutputStream.prototype._writeCentralDirectoryZip64 = function() {
+      this.write(zipUtil.getLongBytes(constants.SIG_ZIP64_EOCD));
+      this.write(zipUtil.getEightBytes(44));
+      this.write(zipUtil.getShortBytes(constants.MIN_VERSION_ZIP64));
+      this.write(zipUtil.getShortBytes(constants.MIN_VERSION_ZIP64));
+      this.write(constants.LONG_ZERO);
+      this.write(constants.LONG_ZERO);
+      this.write(zipUtil.getEightBytes(this._entries.length));
+      this.write(zipUtil.getEightBytes(this._entries.length));
+      this.write(zipUtil.getEightBytes(this._archive.centralLength));
+      this.write(zipUtil.getEightBytes(this._archive.centralOffset));
+      this.write(zipUtil.getLongBytes(constants.SIG_ZIP64_EOCD_LOC));
+      this.write(constants.LONG_ZERO);
+      this.write(zipUtil.getEightBytes(this._archive.centralOffset + this._archive.centralLength));
+      this.write(zipUtil.getLongBytes(1));
+    };
+    ZipArchiveOutputStream.prototype._writeCentralFileHeader = function(ae) {
+      var gpb = ae.getGeneralPurposeBit();
+      var method = ae.getMethod();
+      var fileOffset = ae._offsets.file;
+      var size = ae.getSize();
+      var compressedSize = ae.getCompressedSize();
+      if (ae.isZip64() || fileOffset > constants.ZIP64_MAGIC) {
+        size = constants.ZIP64_MAGIC;
+        compressedSize = constants.ZIP64_MAGIC;
+        fileOffset = constants.ZIP64_MAGIC;
+        ae.setVersionNeededToExtract(constants.MIN_VERSION_ZIP64);
+        var extraBuf = Buffer.concat([
+          zipUtil.getShortBytes(constants.ZIP64_EXTRA_ID),
+          zipUtil.getShortBytes(24),
+          zipUtil.getEightBytes(ae.getSize()),
+          zipUtil.getEightBytes(ae.getCompressedSize()),
+          zipUtil.getEightBytes(ae._offsets.file)
+        ], 28);
+        ae.setExtra(extraBuf);
+      }
+      this.write(zipUtil.getLongBytes(constants.SIG_CFH));
+      this.write(zipUtil.getShortBytes(ae.getPlatform() << 8 | constants.VERSION_MADEBY));
+      this.write(zipUtil.getShortBytes(ae.getVersionNeededToExtract()));
+      this.write(gpb.encode());
+      this.write(zipUtil.getShortBytes(method));
+      this.write(zipUtil.getLongBytes(ae.getTimeDos()));
+      this.write(zipUtil.getLongBytes(ae.getCrc()));
+      this.write(zipUtil.getLongBytes(compressedSize));
+      this.write(zipUtil.getLongBytes(size));
+      var name = ae.getName();
+      var comment = ae.getComment();
+      var extra = ae.getCentralDirectoryExtra();
+      if (gpb.usesUTF8ForNames()) {
+        name = Buffer.from(name);
+        comment = Buffer.from(comment);
+      }
+      this.write(zipUtil.getShortBytes(name.length));
+      this.write(zipUtil.getShortBytes(extra.length));
+      this.write(zipUtil.getShortBytes(comment.length));
+      this.write(constants.SHORT_ZERO);
+      this.write(zipUtil.getShortBytes(ae.getInternalAttributes()));
+      this.write(zipUtil.getLongBytes(ae.getExternalAttributes()));
+      this.write(zipUtil.getLongBytes(fileOffset));
+      this.write(name);
+      this.write(extra);
+      this.write(comment);
+    };
+    ZipArchiveOutputStream.prototype._writeDataDescriptor = function(ae) {
+      this.write(zipUtil.getLongBytes(constants.SIG_DD));
+      this.write(zipUtil.getLongBytes(ae.getCrc()));
+      if (ae.isZip64()) {
+        this.write(zipUtil.getEightBytes(ae.getCompressedSize()));
+        this.write(zipUtil.getEightBytes(ae.getSize()));
+      } else {
+        this.write(zipUtil.getLongBytes(ae.getCompressedSize()));
+        this.write(zipUtil.getLongBytes(ae.getSize()));
+      }
+    };
+    ZipArchiveOutputStream.prototype._writeLocalFileHeader = function(ae) {
+      var gpb = ae.getGeneralPurposeBit();
+      var method = ae.getMethod();
+      var name = ae.getName();
+      var extra = ae.getLocalFileDataExtra();
+      if (ae.isZip64()) {
+        gpb.useDataDescriptor(true);
+        ae.setVersionNeededToExtract(constants.MIN_VERSION_ZIP64);
+      }
+      if (gpb.usesUTF8ForNames()) {
+        name = Buffer.from(name);
+      }
+      ae._offsets.file = this.offset;
+      this.write(zipUtil.getLongBytes(constants.SIG_LFH));
+      this.write(zipUtil.getShortBytes(ae.getVersionNeededToExtract()));
+      this.write(gpb.encode());
+      this.write(zipUtil.getShortBytes(method));
+      this.write(zipUtil.getLongBytes(ae.getTimeDos()));
+      ae._offsets.data = this.offset;
+      if (gpb.usesDataDescriptor()) {
+        this.write(constants.LONG_ZERO);
+        this.write(constants.LONG_ZERO);
+        this.write(constants.LONG_ZERO);
+      } else {
+        this.write(zipUtil.getLongBytes(ae.getCrc()));
+        this.write(zipUtil.getLongBytes(ae.getCompressedSize()));
+        this.write(zipUtil.getLongBytes(ae.getSize()));
+      }
+      this.write(zipUtil.getShortBytes(name.length));
+      this.write(zipUtil.getShortBytes(extra.length));
+      this.write(name);
+      this.write(extra);
+      ae._offsets.contents = this.offset;
+    };
+    ZipArchiveOutputStream.prototype.getComment = function(comment) {
+      return this._archive.comment !== null ? this._archive.comment : "";
+    };
+    ZipArchiveOutputStream.prototype.isZip64 = function() {
+      return this._archive.forceZip64 || this._entries.length > constants.ZIP64_MAGIC_SHORT || this._archive.centralLength > constants.ZIP64_MAGIC || this._archive.centralOffset > constants.ZIP64_MAGIC;
+    };
+    ZipArchiveOutputStream.prototype.setComment = function(comment) {
+      this._archive.comment = comment;
+    };
   }
 });
 
-// node_modules/inherits/inherits.js
-var require_inherits = __commonJS({
-  "node_modules/inherits/inherits.js"(exports2, module2) {
-    try {
-      util = require("util");
-      if (typeof util.inherits !== "function") throw "";
-      module2.exports = util.inherits;
-    } catch (e) {
-      module2.exports = require_inherits_browser();
-    }
-    var util;
+// node_modules/compress-commons/lib/compress-commons.js
+var require_compress_commons = __commonJS({
+  "node_modules/compress-commons/lib/compress-commons.js"(exports2, module2) {
+    module2.exports = {
+      ArchiveEntry: require_archive_entry(),
+      ZipArchiveEntry: require_zip_archive_entry(),
+      ArchiveOutputStream: require_archive_output_stream(),
+      ZipArchiveOutputStream: require_zip_archive_output_stream()
+    };
   }
 });
 
-// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/BufferList.js
-var require_BufferList = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/BufferList.js"(exports2, module2) {
-    "use strict";
-    function _classCallCheck(instance, Constructor) {
-      if (!(instance instanceof Constructor)) {
-        throw new TypeError("Cannot call a class as a function");
+// node_modules/zip-stream/index.js
+var require_zip_stream = __commonJS({
+  "node_modules/zip-stream/index.js"(exports2, module2) {
+    var inherits = require("util").inherits;
+    var ZipArchiveOutputStream = require_compress_commons().ZipArchiveOutputStream;
+    var ZipArchiveEntry = require_compress_commons().ZipArchiveEntry;
+    var util = require_archiver_utils();
+    var ZipStream = module2.exports = function(options) {
+      if (!(this instanceof ZipStream)) {
+        return new ZipStream(options);
       }
-    }
-    var Buffer2 = require_safe_buffer().Buffer;
-    var util = require("util");
-    function copyBuffer(src, target, offset) {
-      src.copy(target, offset);
-    }
-    module2.exports = (function() {
-      function BufferList() {
-        _classCallCheck(this, BufferList);
-        this.head = null;
-        this.tail = null;
-        this.length = 0;
+      options = this.options = options || {};
+      options.zlib = options.zlib || {};
+      ZipArchiveOutputStream.call(this, options);
+      if (typeof options.level === "number" && options.level >= 0) {
+        options.zlib.level = options.level;
+        delete options.level;
       }
-      BufferList.prototype.push = function push(v) {
-        var entry = { data: v, next: null };
-        if (this.length > 0) this.tail.next = entry;
-        else this.head = entry;
-        this.tail = entry;
-        ++this.length;
-      };
-      BufferList.prototype.unshift = function unshift(v) {
-        var entry = { data: v, next: this.head };
-        if (this.length === 0) this.tail = entry;
-        this.head = entry;
-        ++this.length;
-      };
-      BufferList.prototype.shift = function shift() {
-        if (this.length === 0) return;
-        var ret = this.head.data;
-        if (this.length === 1) this.head = this.tail = null;
-        else this.head = this.head.next;
-        --this.length;
-        return ret;
-      };
-      BufferList.prototype.clear = function clear() {
-        this.head = this.tail = null;
-        this.length = 0;
-      };
-      BufferList.prototype.join = function join8(s) {
-        if (this.length === 0) return "";
-        var p = this.head;
-        var ret = "" + p.data;
-        while (p = p.next) {
-          ret += s + p.data;
-        }
-        return ret;
-      };
-      BufferList.prototype.concat = function concat(n) {
-        if (this.length === 0) return Buffer2.alloc(0);
-        var ret = Buffer2.allocUnsafe(n >>> 0);
-        var p = this.head;
-        var i = 0;
-        while (p) {
-          copyBuffer(p.data, ret, i);
-          i += p.data.length;
-          p = p.next;
-        }
-        return ret;
-      };
-      return BufferList;
-    })();
-    if (util && util.inspect && util.inspect.custom) {
-      module2.exports.prototype[util.inspect.custom] = function() {
-        var obj = util.inspect({ length: this.length });
-        return this.constructor.name + " " + obj;
-      };
-    }
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/destroy.js
-var require_destroy = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/destroy.js"(exports2, module2) {
-    "use strict";
-    var pna = require_process_nextick_args();
-    function destroy(err, cb) {
-      var _this = this;
-      var readableDestroyed = this._readableState && this._readableState.destroyed;
-      var writableDestroyed = this._writableState && this._writableState.destroyed;
-      if (readableDestroyed || writableDestroyed) {
-        if (cb) {
-          cb(err);
-        } else if (err) {
-          if (!this._writableState) {
-            pna.nextTick(emitErrorNT, this, err);
-          } else if (!this._writableState.errorEmitted) {
-            this._writableState.errorEmitted = true;
-            pna.nextTick(emitErrorNT, this, err);
-          }
+      if (!options.forceZip64 && typeof options.zlib.level === "number" && options.zlib.level === 0) {
+        options.store = true;
+      }
+      options.namePrependSlash = options.namePrependSlash || false;
+      if (options.comment && options.comment.length > 0) {
+        this.setComment(options.comment);
+      }
+    };
+    inherits(ZipStream, ZipArchiveOutputStream);
+    ZipStream.prototype._normalizeFileData = function(data) {
+      data = util.defaults(data, {
+        type: "file",
+        name: null,
+        namePrependSlash: this.options.namePrependSlash,
+        linkname: null,
+        date: null,
+        mode: null,
+        store: this.options.store,
+        comment: ""
+      });
+      var isDir = data.type === "directory";
+      var isSymlink = data.type === "symlink";
+      if (data.name) {
+        data.name = util.sanitizePath(data.name);
+        if (!isSymlink && data.name.slice(-1) === "/") {
+          isDir = true;
+          data.type = "directory";
+        } else if (isDir) {
+          data.name += "/";
         }
-        return this;
       }
-      if (this._readableState) {
-        this._readableState.destroyed = true;
+      if (isDir || isSymlink) {
+        data.store = true;
       }
-      if (this._writableState) {
-        this._writableState.destroyed = true;
+      data.date = util.dateify(data.date);
+      return data;
+    };
+    ZipStream.prototype.entry = function(source, data, callback) {
+      if (typeof callback !== "function") {
+        callback = this._emitErrorCallback.bind(this);
       }
-      this._destroy(err || null, function(err2) {
-        if (!cb && err2) {
-          if (!_this._writableState) {
-            pna.nextTick(emitErrorNT, _this, err2);
-          } else if (!_this._writableState.errorEmitted) {
-            _this._writableState.errorEmitted = true;
-            pna.nextTick(emitErrorNT, _this, err2);
-          }
-        } else if (cb) {
-          cb(err2);
+      data = this._normalizeFileData(data);
+      if (data.type !== "file" && data.type !== "directory" && data.type !== "symlink") {
+        callback(new Error(data.type + " entries not currently supported"));
+        return;
+      }
+      if (typeof data.name !== "string" || data.name.length === 0) {
+        callback(new Error("entry name must be a non-empty string value"));
+        return;
+      }
+      if (data.type === "symlink" && typeof data.linkname !== "string") {
+        callback(new Error("entry linkname must be a non-empty string value when type equals symlink"));
+        return;
+      }
+      var entry = new ZipArchiveEntry(data.name);
+      entry.setTime(data.date, this.options.forceLocalTime);
+      if (data.namePrependSlash) {
+        entry.setName(data.name, true);
+      }
+      if (data.store) {
+        entry.setMethod(0);
+      }
+      if (data.comment.length > 0) {
+        entry.setComment(data.comment);
+      }
+      if (data.type === "symlink" && typeof data.mode !== "number") {
+        data.mode = 40960;
+      }
+      if (typeof data.mode === "number") {
+        if (data.type === "symlink") {
+          data.mode |= 40960;
         }
-      });
-      return this;
-    }
-    function undestroy() {
-      if (this._readableState) {
-        this._readableState.destroyed = false;
-        this._readableState.reading = false;
-        this._readableState.ended = false;
-        this._readableState.endEmitted = false;
+        entry.setUnixMode(data.mode);
       }
-      if (this._writableState) {
-        this._writableState.destroyed = false;
-        this._writableState.ended = false;
-        this._writableState.ending = false;
-        this._writableState.finalCalled = false;
-        this._writableState.prefinished = false;
-        this._writableState.finished = false;
-        this._writableState.errorEmitted = false;
+      if (data.type === "symlink" && typeof data.linkname === "string") {
+        source = Buffer.from(data.linkname);
       }
-    }
-    function emitErrorNT(self2, err) {
-      self2.emit("error", err);
-    }
-    module2.exports = {
-      destroy,
-      undestroy
+      return ZipArchiveOutputStream.prototype.entry.call(this, entry, source, callback);
+    };
+    ZipStream.prototype.finalize = function() {
+      this.finish();
     };
   }
 });
 
-// node_modules/util-deprecate/node.js
-var require_node2 = __commonJS({
-  "node_modules/util-deprecate/node.js"(exports2, module2) {
-    module2.exports = require("util").deprecate;
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/lib/_stream_writable.js
-var require_stream_writable = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_writable.js"(exports2, module2) {
-    "use strict";
-    var pna = require_process_nextick_args();
-    module2.exports = Writable;
-    function CorkedRequest(state) {
-      var _this = this;
-      this.next = null;
-      this.entry = null;
-      this.finish = function() {
-        onCorkedFinish(_this, state);
+// node_modules/archiver/lib/plugins/zip.js
+var require_zip = __commonJS({
+  "node_modules/archiver/lib/plugins/zip.js"(exports2, module2) {
+    var engine = require_zip_stream();
+    var util = require_archiver_utils();
+    var Zip = function(options) {
+      if (!(this instanceof Zip)) {
+        return new Zip(options);
+      }
+      options = this.options = util.defaults(options, {
+        comment: "",
+        forceUTC: false,
+        namePrependSlash: false,
+        store: false
+      });
+      this.supports = {
+        directory: true,
+        symlink: true
       };
-    }
-    var asyncWrite = !process.browser && ["v0.10", "v0.9."].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick;
-    var Duplex;
-    Writable.WritableState = WritableState;
-    var util = Object.create(require_util19());
-    util.inherits = require_inherits();
-    var internalUtil = {
-      deprecate: require_node2()
+      this.engine = new engine(options);
     };
-    var Stream = require_stream();
-    var Buffer2 = require_safe_buffer().Buffer;
-    var OurUint8Array = (typeof global !== "undefined" ? global : typeof window !== "undefined" ? window : typeof self !== "undefined" ? self : {}).Uint8Array || function() {
+    Zip.prototype.append = function(source, data, callback) {
+      this.engine.entry(source, data, callback);
     };
-    function _uint8ArrayToBuffer(chunk) {
-      return Buffer2.from(chunk);
-    }
-    function _isUint8Array(obj) {
-      return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array;
-    }
-    var destroyImpl = require_destroy();
-    util.inherits(Writable, Stream);
-    function nop() {
-    }
-    function WritableState(options, stream) {
-      Duplex = Duplex || require_stream_duplex();
-      options = options || {};
-      var isDuplex = stream instanceof Duplex;
-      this.objectMode = !!options.objectMode;
-      if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;
-      var hwm = options.highWaterMark;
-      var writableHwm = options.writableHighWaterMark;
-      var defaultHwm = this.objectMode ? 16 : 16 * 1024;
-      if (hwm || hwm === 0) this.highWaterMark = hwm;
-      else if (isDuplex && (writableHwm || writableHwm === 0)) this.highWaterMark = writableHwm;
-      else this.highWaterMark = defaultHwm;
-      this.highWaterMark = Math.floor(this.highWaterMark);
-      this.finalCalled = false;
-      this.needDrain = false;
-      this.ending = false;
-      this.ended = false;
-      this.finished = false;
-      this.destroyed = false;
-      var noDecode = options.decodeStrings === false;
-      this.decodeStrings = !noDecode;
-      this.defaultEncoding = options.defaultEncoding || "utf8";
-      this.length = 0;
-      this.writing = false;
-      this.corked = 0;
-      this.sync = true;
-      this.bufferProcessing = false;
-      this.onwrite = function(er) {
-        onwrite(stream, er);
-      };
-      this.writecb = null;
-      this.writelen = 0;
-      this.bufferedRequest = null;
-      this.lastBufferedRequest = null;
-      this.pendingcb = 0;
-      this.prefinished = false;
-      this.errorEmitted = false;
-      this.bufferedRequestCount = 0;
-      this.corkedRequestsFree = new CorkedRequest(this);
-    }
-    WritableState.prototype.getBuffer = function getBuffer() {
-      var current = this.bufferedRequest;
-      var out = [];
-      while (current) {
-        out.push(current);
-        current = current.next;
-      }
-      return out;
+    Zip.prototype.finalize = function() {
+      this.engine.finalize();
     };
-    (function() {
-      try {
-        Object.defineProperty(WritableState.prototype, "buffer", {
-          get: internalUtil.deprecate(function() {
-            return this.getBuffer();
-          }, "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.", "DEP0003")
-        });
-      } catch (_2) {
-      }
-    })();
-    var realHasInstance;
-    if (typeof Symbol === "function" && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === "function") {
-      realHasInstance = Function.prototype[Symbol.hasInstance];
-      Object.defineProperty(Writable, Symbol.hasInstance, {
-        value: function(object) {
-          if (realHasInstance.call(this, object)) return true;
-          if (this !== Writable) return false;
-          return object && object._writableState instanceof WritableState;
-        }
-      });
-    } else {
-      realHasInstance = function(object) {
-        return object instanceof this;
-      };
-    }
-    function Writable(options) {
-      Duplex = Duplex || require_stream_duplex();
-      if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) {
-        return new Writable(options);
-      }
-      this._writableState = new WritableState(options, this);
-      this.writable = true;
-      if (options) {
-        if (typeof options.write === "function") this._write = options.write;
-        if (typeof options.writev === "function") this._writev = options.writev;
-        if (typeof options.destroy === "function") this._destroy = options.destroy;
-        if (typeof options.final === "function") this._final = options.final;
-      }
-      Stream.call(this);
-    }
-    Writable.prototype.pipe = function() {
-      this.emit("error", new Error("Cannot pipe, not readable"));
+    Zip.prototype.on = function() {
+      return this.engine.on.apply(this.engine, arguments);
     };
-    function writeAfterEnd(stream, cb) {
-      var er = new Error("write after end");
-      stream.emit("error", er);
-      pna.nextTick(cb, er);
-    }
-    function validChunk(stream, state, chunk, cb) {
-      var valid3 = true;
-      var er = false;
-      if (chunk === null) {
-        er = new TypeError("May not write null values to stream");
-      } else if (typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) {
-        er = new TypeError("Invalid non-string/buffer chunk");
+    Zip.prototype.pipe = function() {
+      return this.engine.pipe.apply(this.engine, arguments);
+    };
+    Zip.prototype.unpipe = function() {
+      return this.engine.unpipe.apply(this.engine, arguments);
+    };
+    module2.exports = Zip;
+  }
+});
+
+// node_modules/queue-tick/queue-microtask.js
+var require_queue_microtask = __commonJS({
+  "node_modules/queue-tick/queue-microtask.js"(exports2, module2) {
+    module2.exports = typeof queueMicrotask === "function" ? queueMicrotask : (fn) => Promise.resolve().then(fn);
+  }
+});
+
+// node_modules/queue-tick/process-next-tick.js
+var require_process_next_tick = __commonJS({
+  "node_modules/queue-tick/process-next-tick.js"(exports2, module2) {
+    module2.exports = typeof process !== "undefined" && typeof process.nextTick === "function" ? process.nextTick.bind(process) : require_queue_microtask();
+  }
+});
+
+// node_modules/fast-fifo/fixed-size.js
+var require_fixed_size = __commonJS({
+  "node_modules/fast-fifo/fixed-size.js"(exports2, module2) {
+    module2.exports = class FixedFIFO {
+      constructor(hwm) {
+        if (!(hwm > 0) || (hwm - 1 & hwm) !== 0) throw new Error("Max size for a FixedFIFO should be a power of two");
+        this.buffer = new Array(hwm);
+        this.mask = hwm - 1;
+        this.top = 0;
+        this.btm = 0;
+        this.next = null;
       }
-      if (er) {
-        stream.emit("error", er);
-        pna.nextTick(cb, er);
-        valid3 = false;
+      clear() {
+        this.top = this.btm = 0;
+        this.next = null;
+        this.buffer.fill(void 0);
       }
-      return valid3;
-    }
-    Writable.prototype.write = function(chunk, encoding, cb) {
-      var state = this._writableState;
-      var ret = false;
-      var isBuf = !state.objectMode && _isUint8Array(chunk);
-      if (isBuf && !Buffer2.isBuffer(chunk)) {
-        chunk = _uint8ArrayToBuffer(chunk);
+      push(data) {
+        if (this.buffer[this.top] !== void 0) return false;
+        this.buffer[this.top] = data;
+        this.top = this.top + 1 & this.mask;
+        return true;
       }
-      if (typeof encoding === "function") {
-        cb = encoding;
-        encoding = null;
+      shift() {
+        const last = this.buffer[this.btm];
+        if (last === void 0) return void 0;
+        this.buffer[this.btm] = void 0;
+        this.btm = this.btm + 1 & this.mask;
+        return last;
       }
-      if (isBuf) encoding = "buffer";
-      else if (!encoding) encoding = state.defaultEncoding;
-      if (typeof cb !== "function") cb = nop;
-      if (state.ended) writeAfterEnd(this, cb);
-      else if (isBuf || validChunk(this, state, chunk, cb)) {
-        state.pendingcb++;
-        ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);
+      peek() {
+        return this.buffer[this.btm];
       }
-      return ret;
-    };
-    Writable.prototype.cork = function() {
-      var state = this._writableState;
-      state.corked++;
-    };
-    Writable.prototype.uncork = function() {
-      var state = this._writableState;
-      if (state.corked) {
-        state.corked--;
-        if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);
+      isEmpty() {
+        return this.buffer[this.btm] === void 0;
       }
     };
-    Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {
-      if (typeof encoding === "string") encoding = encoding.toLowerCase();
-      if (!(["hex", "utf8", "utf-8", "ascii", "binary", "base64", "ucs2", "ucs-2", "utf16le", "utf-16le", "raw"].indexOf((encoding + "").toLowerCase()) > -1)) throw new TypeError("Unknown encoding: " + encoding);
-      this._writableState.defaultEncoding = encoding;
-      return this;
-    };
-    function decodeChunk(state, chunk, encoding) {
-      if (!state.objectMode && state.decodeStrings !== false && typeof chunk === "string") {
-        chunk = Buffer2.from(chunk, encoding);
+  }
+});
+
+// node_modules/fast-fifo/index.js
+var require_fast_fifo = __commonJS({
+  "node_modules/fast-fifo/index.js"(exports2, module2) {
+    var FixedFIFO = require_fixed_size();
+    module2.exports = class FastFIFO {
+      constructor(hwm) {
+        this.hwm = hwm || 16;
+        this.head = new FixedFIFO(this.hwm);
+        this.tail = this.head;
+        this.length = 0;
       }
-      return chunk;
-    }
-    Object.defineProperty(Writable.prototype, "writableHighWaterMark", {
-      // making it explicit this property is not enumerable
-      // because otherwise some prototype manipulation in
-      // userland will fail
-      enumerable: false,
-      get: function() {
-        return this._writableState.highWaterMark;
+      clear() {
+        this.head = this.tail;
+        this.head.clear();
+        this.length = 0;
       }
-    });
-    function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {
-      if (!isBuf) {
-        var newChunk = decodeChunk(state, chunk, encoding);
-        if (chunk !== newChunk) {
-          isBuf = true;
-          encoding = "buffer";
-          chunk = newChunk;
+      push(val) {
+        this.length++;
+        if (!this.head.push(val)) {
+          const prev = this.head;
+          this.head = prev.next = new FixedFIFO(2 * this.head.buffer.length);
+          this.head.push(val);
         }
       }
-      var len = state.objectMode ? 1 : chunk.length;
-      state.length += len;
-      var ret = state.length < state.highWaterMark;
-      if (!ret) state.needDrain = true;
-      if (state.writing || state.corked) {
-        var last = state.lastBufferedRequest;
-        state.lastBufferedRequest = {
-          chunk,
-          encoding,
-          isBuf,
-          callback: cb,
-          next: null
-        };
-        if (last) {
-          last.next = state.lastBufferedRequest;
-        } else {
-          state.bufferedRequest = state.lastBufferedRequest;
+      shift() {
+        if (this.length !== 0) this.length--;
+        const val = this.tail.shift();
+        if (val === void 0 && this.tail.next) {
+          const next = this.tail.next;
+          this.tail.next = null;
+          this.tail = next;
+          return this.tail.shift();
         }
-        state.bufferedRequestCount += 1;
-      } else {
-        doWrite(stream, state, false, len, chunk, encoding, cb);
+        return val;
       }
-      return ret;
+      peek() {
+        const val = this.tail.peek();
+        if (val === void 0 && this.tail.next) return this.tail.next.peek();
+        return val;
+      }
+      isEmpty() {
+        return this.length === 0;
+      }
+    };
+  }
+});
+
+// node_modules/b4a/index.js
+var require_b4a = __commonJS({
+  "node_modules/b4a/index.js"(exports2, module2) {
+    function isBuffer(value) {
+      return Buffer.isBuffer(value) || value instanceof Uint8Array;
     }
-    function doWrite(stream, state, writev, len, chunk, encoding, cb) {
-      state.writelen = len;
-      state.writecb = cb;
-      state.writing = true;
-      state.sync = true;
-      if (writev) stream._writev(chunk, state.onwrite);
-      else stream._write(chunk, encoding, state.onwrite);
-      state.sync = false;
+    function isEncoding(encoding) {
+      return Buffer.isEncoding(encoding);
     }
-    function onwriteError(stream, state, sync, er, cb) {
-      --state.pendingcb;
-      if (sync) {
-        pna.nextTick(cb, er);
-        pna.nextTick(finishMaybe, stream, state);
-        stream._writableState.errorEmitted = true;
-        stream.emit("error", er);
-      } else {
-        cb(er);
-        stream._writableState.errorEmitted = true;
-        stream.emit("error", er);
-        finishMaybe(stream, state);
-      }
+    function alloc(size, fill2, encoding) {
+      return Buffer.alloc(size, fill2, encoding);
     }
-    function onwriteStateUpdate(state) {
-      state.writing = false;
-      state.writecb = null;
-      state.length -= state.writelen;
-      state.writelen = 0;
+    function allocUnsafe(size) {
+      return Buffer.allocUnsafe(size);
     }
-    function onwrite(stream, er) {
-      var state = stream._writableState;
-      var sync = state.sync;
-      var cb = state.writecb;
-      onwriteStateUpdate(state);
-      if (er) onwriteError(stream, state, sync, er, cb);
-      else {
-        var finished = needFinish(state);
-        if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {
-          clearBuffer(stream, state);
-        }
-        if (sync) {
-          asyncWrite(afterWrite, stream, state, finished, cb);
-        } else {
-          afterWrite(stream, state, finished, cb);
-        }
-      }
+    function allocUnsafeSlow(size) {
+      return Buffer.allocUnsafeSlow(size);
     }
-    function afterWrite(stream, state, finished, cb) {
-      if (!finished) onwriteDrain(stream, state);
-      state.pendingcb--;
-      cb();
-      finishMaybe(stream, state);
+    function byteLength(string, encoding) {
+      return Buffer.byteLength(string, encoding);
     }
-    function onwriteDrain(stream, state) {
-      if (state.length === 0 && state.needDrain) {
-        state.needDrain = false;
-        stream.emit("drain");
-      }
+    function compare2(a, b) {
+      return Buffer.compare(a, b);
     }
-    function clearBuffer(stream, state) {
-      state.bufferProcessing = true;
-      var entry = state.bufferedRequest;
-      if (stream._writev && entry && entry.next) {
-        var l = state.bufferedRequestCount;
-        var buffer = new Array(l);
-        var holder = state.corkedRequestsFree;
-        holder.entry = entry;
-        var count = 0;
-        var allBuffers = true;
-        while (entry) {
-          buffer[count] = entry;
-          if (!entry.isBuf) allBuffers = false;
-          entry = entry.next;
-          count += 1;
-        }
-        buffer.allBuffers = allBuffers;
-        doWrite(stream, state, true, state.length, buffer, "", holder.finish);
-        state.pendingcb++;
-        state.lastBufferedRequest = null;
-        if (holder.next) {
-          state.corkedRequestsFree = holder.next;
-          holder.next = null;
-        } else {
-          state.corkedRequestsFree = new CorkedRequest(state);
-        }
-        state.bufferedRequestCount = 0;
-      } else {
-        while (entry) {
-          var chunk = entry.chunk;
-          var encoding = entry.encoding;
-          var cb = entry.callback;
-          var len = state.objectMode ? 1 : chunk.length;
-          doWrite(stream, state, false, len, chunk, encoding, cb);
-          entry = entry.next;
-          state.bufferedRequestCount--;
-          if (state.writing) {
-            break;
-          }
-        }
-        if (entry === null) state.lastBufferedRequest = null;
-      }
-      state.bufferedRequest = entry;
-      state.bufferProcessing = false;
+    function concat(buffers, totalLength) {
+      return Buffer.concat(buffers, totalLength);
     }
-    Writable.prototype._write = function(chunk, encoding, cb) {
-      cb(new Error("_write() is not implemented"));
-    };
-    Writable.prototype._writev = null;
-    Writable.prototype.end = function(chunk, encoding, cb) {
-      var state = this._writableState;
-      if (typeof chunk === "function") {
-        cb = chunk;
-        chunk = null;
-        encoding = null;
-      } else if (typeof encoding === "function") {
-        cb = encoding;
-        encoding = null;
-      }
-      if (chunk !== null && chunk !== void 0) this.write(chunk, encoding);
-      if (state.corked) {
-        state.corked = 1;
-        this.uncork();
-      }
-      if (!state.ending) endWritable(this, state, cb);
-    };
-    function needFinish(state) {
-      return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;
+    function copy(source, target, targetStart, start, end) {
+      return toBuffer(source).copy(target, targetStart, start, end);
     }
-    function callFinal(stream, state) {
-      stream._final(function(err) {
-        state.pendingcb--;
-        if (err) {
-          stream.emit("error", err);
-        }
-        state.prefinished = true;
-        stream.emit("prefinish");
-        finishMaybe(stream, state);
-      });
+    function equals(a, b) {
+      return toBuffer(a).equals(b);
     }
-    function prefinish(stream, state) {
-      if (!state.prefinished && !state.finalCalled) {
-        if (typeof stream._final === "function") {
-          state.pendingcb++;
-          state.finalCalled = true;
-          pna.nextTick(callFinal, stream, state);
-        } else {
-          state.prefinished = true;
-          stream.emit("prefinish");
-        }
-      }
+    function fill(buffer, value, offset, end, encoding) {
+      return toBuffer(buffer).fill(value, offset, end, encoding);
     }
-    function finishMaybe(stream, state) {
-      var need = needFinish(state);
-      if (need) {
-        prefinish(stream, state);
-        if (state.pendingcb === 0) {
-          state.finished = true;
-          stream.emit("finish");
-        }
-      }
-      return need;
+    function from(value, encodingOrOffset, length) {
+      return Buffer.from(value, encodingOrOffset, length);
     }
-    function endWritable(stream, state, cb) {
-      state.ending = true;
-      finishMaybe(stream, state);
-      if (cb) {
-        if (state.finished) pna.nextTick(cb);
-        else stream.once("finish", cb);
-      }
-      state.ended = true;
-      stream.writable = false;
+    function includes(buffer, value, byteOffset, encoding) {
+      return toBuffer(buffer).includes(value, byteOffset, encoding);
     }
-    function onCorkedFinish(corkReq, state, err) {
-      var entry = corkReq.entry;
-      corkReq.entry = null;
-      while (entry) {
-        var cb = entry.callback;
-        state.pendingcb--;
-        cb(err);
-        entry = entry.next;
-      }
-      state.corkedRequestsFree.next = corkReq;
+    function indexOf(buffer, value, byfeOffset, encoding) {
+      return toBuffer(buffer).indexOf(value, byfeOffset, encoding);
     }
-    Object.defineProperty(Writable.prototype, "destroyed", {
-      get: function() {
-        if (this._writableState === void 0) {
-          return false;
-        }
-        return this._writableState.destroyed;
-      },
-      set: function(value) {
-        if (!this._writableState) {
-          return;
-        }
-        this._writableState.destroyed = value;
-      }
-    });
-    Writable.prototype.destroy = destroyImpl.destroy;
-    Writable.prototype._undestroy = destroyImpl.undestroy;
-    Writable.prototype._destroy = function(err, cb) {
-      this.end();
-      cb(err);
+    function lastIndexOf(buffer, value, byteOffset, encoding) {
+      return toBuffer(buffer).lastIndexOf(value, byteOffset, encoding);
+    }
+    function swap16(buffer) {
+      return toBuffer(buffer).swap16();
+    }
+    function swap32(buffer) {
+      return toBuffer(buffer).swap32();
+    }
+    function swap64(buffer) {
+      return toBuffer(buffer).swap64();
+    }
+    function toBuffer(buffer) {
+      if (Buffer.isBuffer(buffer)) return buffer;
+      return Buffer.from(buffer.buffer, buffer.byteOffset, buffer.byteLength);
+    }
+    function toString2(buffer, encoding, start, end) {
+      return toBuffer(buffer).toString(encoding, start, end);
+    }
+    function write(buffer, string, offset, length, encoding) {
+      return toBuffer(buffer).write(string, offset, length, encoding);
+    }
+    function writeDoubleLE(buffer, value, offset) {
+      return toBuffer(buffer).writeDoubleLE(value, offset);
+    }
+    function writeFloatLE(buffer, value, offset) {
+      return toBuffer(buffer).writeFloatLE(value, offset);
+    }
+    function writeUInt32LE(buffer, value, offset) {
+      return toBuffer(buffer).writeUInt32LE(value, offset);
+    }
+    function writeInt32LE(buffer, value, offset) {
+      return toBuffer(buffer).writeInt32LE(value, offset);
+    }
+    function readDoubleLE(buffer, offset) {
+      return toBuffer(buffer).readDoubleLE(offset);
+    }
+    function readFloatLE(buffer, offset) {
+      return toBuffer(buffer).readFloatLE(offset);
+    }
+    function readUInt32LE(buffer, offset) {
+      return toBuffer(buffer).readUInt32LE(offset);
+    }
+    function readInt32LE(buffer, offset) {
+      return toBuffer(buffer).readInt32LE(offset);
+    }
+    function writeDoubleBE(buffer, value, offset) {
+      return toBuffer(buffer).writeDoubleBE(value, offset);
+    }
+    function writeFloatBE(buffer, value, offset) {
+      return toBuffer(buffer).writeFloatBE(value, offset);
+    }
+    function writeUInt32BE(buffer, value, offset) {
+      return toBuffer(buffer).writeUInt32BE(value, offset);
+    }
+    function writeInt32BE(buffer, value, offset) {
+      return toBuffer(buffer).writeInt32BE(value, offset);
+    }
+    function readDoubleBE(buffer, offset) {
+      return toBuffer(buffer).readDoubleBE(offset);
+    }
+    function readFloatBE(buffer, offset) {
+      return toBuffer(buffer).readFloatBE(offset);
+    }
+    function readUInt32BE(buffer, offset) {
+      return toBuffer(buffer).readUInt32BE(offset);
+    }
+    function readInt32BE(buffer, offset) {
+      return toBuffer(buffer).readInt32BE(offset);
+    }
+    module2.exports = {
+      isBuffer,
+      isEncoding,
+      alloc,
+      allocUnsafe,
+      allocUnsafeSlow,
+      byteLength,
+      compare: compare2,
+      concat,
+      copy,
+      equals,
+      fill,
+      from,
+      includes,
+      indexOf,
+      lastIndexOf,
+      swap16,
+      swap32,
+      swap64,
+      toBuffer,
+      toString: toString2,
+      write,
+      writeDoubleLE,
+      writeFloatLE,
+      writeUInt32LE,
+      writeInt32LE,
+      readDoubleLE,
+      readFloatLE,
+      readUInt32LE,
+      readInt32LE,
+      writeDoubleBE,
+      writeFloatBE,
+      writeUInt32BE,
+      writeInt32BE,
+      readDoubleBE,
+      readFloatBE,
+      readUInt32BE,
+      readInt32BE
     };
   }
 });
 
-// node_modules/lazystream/node_modules/readable-stream/lib/_stream_duplex.js
-var require_stream_duplex = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_duplex.js"(exports2, module2) {
-    "use strict";
-    var pna = require_process_nextick_args();
-    var objectKeys = Object.keys || function(obj) {
-      var keys2 = [];
-      for (var key in obj) {
-        keys2.push(key);
+// node_modules/text-decoder/lib/pass-through-decoder.js
+var require_pass_through_decoder = __commonJS({
+  "node_modules/text-decoder/lib/pass-through-decoder.js"(exports2, module2) {
+    var b4a = require_b4a();
+    module2.exports = class PassThroughDecoder {
+      constructor(encoding) {
+        this.encoding = encoding;
+      }
+      get remaining() {
+        return 0;
+      }
+      decode(tail) {
+        return b4a.toString(tail, this.encoding);
+      }
+      flush() {
+        return "";
       }
-      return keys2;
     };
-    module2.exports = Duplex;
-    var util = Object.create(require_util19());
-    util.inherits = require_inherits();
-    var Readable = require_stream_readable();
-    var Writable = require_stream_writable();
-    util.inherits(Duplex, Readable);
-    {
-      keys = objectKeys(Writable.prototype);
-      for (v = 0; v < keys.length; v++) {
-        method = keys[v];
-        if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];
+  }
+});
+
+// node_modules/text-decoder/lib/utf8-decoder.js
+var require_utf8_decoder = __commonJS({
+  "node_modules/text-decoder/lib/utf8-decoder.js"(exports2, module2) {
+    var b4a = require_b4a();
+    module2.exports = class UTF8Decoder {
+      constructor() {
+        this.codePoint = 0;
+        this.bytesSeen = 0;
+        this.bytesNeeded = 0;
+        this.lowerBoundary = 128;
+        this.upperBoundary = 191;
       }
-    }
-    var keys;
-    var method;
-    var v;
-    function Duplex(options) {
-      if (!(this instanceof Duplex)) return new Duplex(options);
-      Readable.call(this, options);
-      Writable.call(this, options);
-      if (options && options.readable === false) this.readable = false;
-      if (options && options.writable === false) this.writable = false;
-      this.allowHalfOpen = true;
-      if (options && options.allowHalfOpen === false) this.allowHalfOpen = false;
-      this.once("end", onend);
-    }
-    Object.defineProperty(Duplex.prototype, "writableHighWaterMark", {
-      // making it explicit this property is not enumerable
-      // because otherwise some prototype manipulation in
-      // userland will fail
-      enumerable: false,
-      get: function() {
-        return this._writableState.highWaterMark;
+      get remaining() {
+        return this.bytesSeen;
       }
-    });
-    function onend() {
-      if (this.allowHalfOpen || this._writableState.ended) return;
-      pna.nextTick(onEndNT, this);
-    }
-    function onEndNT(self2) {
-      self2.end();
-    }
-    Object.defineProperty(Duplex.prototype, "destroyed", {
-      get: function() {
-        if (this._readableState === void 0 || this._writableState === void 0) {
-          return false;
+      decode(data) {
+        if (this.bytesNeeded === 0) {
+          let isBoundary = true;
+          for (let i = Math.max(0, data.byteLength - 4), n = data.byteLength; i < n && isBoundary; i++) {
+            isBoundary = data[i] <= 127;
+          }
+          if (isBoundary) return b4a.toString(data, "utf8");
         }
-        return this._readableState.destroyed && this._writableState.destroyed;
-      },
-      set: function(value) {
-        if (this._readableState === void 0 || this._writableState === void 0) {
-          return;
+        let result = "";
+        for (let i = 0, n = data.byteLength; i < n; i++) {
+          const byte = data[i];
+          if (this.bytesNeeded === 0) {
+            if (byte <= 127) {
+              result += String.fromCharCode(byte);
+            } else {
+              this.bytesSeen = 1;
+              if (byte >= 194 && byte <= 223) {
+                this.bytesNeeded = 2;
+                this.codePoint = byte & 31;
+              } else if (byte >= 224 && byte <= 239) {
+                if (byte === 224) this.lowerBoundary = 160;
+                else if (byte === 237) this.upperBoundary = 159;
+                this.bytesNeeded = 3;
+                this.codePoint = byte & 15;
+              } else if (byte >= 240 && byte <= 244) {
+                if (byte === 240) this.lowerBoundary = 144;
+                if (byte === 244) this.upperBoundary = 143;
+                this.bytesNeeded = 4;
+                this.codePoint = byte & 7;
+              } else {
+                result += "\uFFFD";
+              }
+            }
+            continue;
+          }
+          if (byte < this.lowerBoundary || byte > this.upperBoundary) {
+            this.codePoint = 0;
+            this.bytesNeeded = 0;
+            this.bytesSeen = 0;
+            this.lowerBoundary = 128;
+            this.upperBoundary = 191;
+            result += "\uFFFD";
+            continue;
+          }
+          this.lowerBoundary = 128;
+          this.upperBoundary = 191;
+          this.codePoint = this.codePoint << 6 | byte & 63;
+          this.bytesSeen++;
+          if (this.bytesSeen !== this.bytesNeeded) continue;
+          result += String.fromCodePoint(this.codePoint);
+          this.codePoint = 0;
+          this.bytesNeeded = 0;
+          this.bytesSeen = 0;
         }
-        this._readableState.destroyed = value;
-        this._writableState.destroyed = value;
+        return result;
+      }
+      flush() {
+        const result = this.bytesNeeded > 0 ? "\uFFFD" : "";
+        this.codePoint = 0;
+        this.bytesNeeded = 0;
+        this.bytesSeen = 0;
+        this.lowerBoundary = 128;
+        this.upperBoundary = 191;
+        return result;
       }
-    });
-    Duplex.prototype._destroy = function(err, cb) {
-      this.push(null);
-      this.end();
-      pna.nextTick(cb, err);
     };
   }
 });
 
-// node_modules/lazystream/node_modules/string_decoder/lib/string_decoder.js
-var require_string_decoder = __commonJS({
-  "node_modules/lazystream/node_modules/string_decoder/lib/string_decoder.js"(exports2) {
-    "use strict";
-    var Buffer2 = require_safe_buffer().Buffer;
-    var isEncoding = Buffer2.isEncoding || function(encoding) {
-      encoding = "" + encoding;
-      switch (encoding && encoding.toLowerCase()) {
-        case "hex":
-        case "utf8":
-        case "utf-8":
-        case "ascii":
-        case "binary":
-        case "base64":
-        case "ucs2":
-        case "ucs-2":
-        case "utf16le":
-        case "utf-16le":
-        case "raw":
-          return true;
-        default:
-          return false;
-      }
-    };
-    function _normalizeEncoding(enc) {
-      if (!enc) return "utf8";
-      var retried;
-      while (true) {
-        switch (enc) {
+// node_modules/text-decoder/index.js
+var require_text_decoder = __commonJS({
+  "node_modules/text-decoder/index.js"(exports2, module2) {
+    var PassThroughDecoder = require_pass_through_decoder();
+    var UTF8Decoder = require_utf8_decoder();
+    module2.exports = class TextDecoder {
+      constructor(encoding = "utf8") {
+        this.encoding = normalizeEncoding(encoding);
+        switch (this.encoding) {
           case "utf8":
-          case "utf-8":
-            return "utf8";
-          case "ucs2":
-          case "ucs-2":
+            this.decoder = new UTF8Decoder();
+            break;
           case "utf16le":
-          case "utf-16le":
-            return "utf16le";
-          case "latin1":
-          case "binary":
-            return "latin1";
           case "base64":
-          case "ascii":
-          case "hex":
-            return enc;
+            throw new Error("Unsupported encoding: " + this.encoding);
           default:
-            if (retried) return;
-            enc = ("" + enc).toLowerCase();
-            retried = true;
+            this.decoder = new PassThroughDecoder(this.encoding);
         }
       }
-    }
-    function normalizeEncoding(enc) {
-      var nenc = _normalizeEncoding(enc);
-      if (typeof nenc !== "string" && (Buffer2.isEncoding === isEncoding || !isEncoding(enc))) throw new Error("Unknown encoding: " + enc);
-      return nenc || enc;
-    }
-    exports2.StringDecoder = StringDecoder;
-    function StringDecoder(encoding) {
-      this.encoding = normalizeEncoding(encoding);
-      var nb;
-      switch (this.encoding) {
-        case "utf16le":
-          this.text = utf16Text;
-          this.end = utf16End;
-          nb = 4;
-          break;
+      get remaining() {
+        return this.decoder.remaining;
+      }
+      push(data) {
+        if (typeof data === "string") return data;
+        return this.decoder.decode(data);
+      }
+      // For Node.js compatibility
+      write(data) {
+        return this.push(data);
+      }
+      end(data) {
+        let result = "";
+        if (data) result = this.push(data);
+        result += this.decoder.flush();
+        return result;
+      }
+    };
+    function normalizeEncoding(encoding) {
+      encoding = encoding.toLowerCase();
+      switch (encoding) {
         case "utf8":
-          this.fillLast = utf8FillLast;
-          nb = 4;
-          break;
+        case "utf-8":
+          return "utf8";
+        case "ucs2":
+        case "ucs-2":
+        case "utf16le":
+        case "utf-16le":
+          return "utf16le";
+        case "latin1":
+        case "binary":
+          return "latin1";
         case "base64":
-          this.text = base64Text;
-          this.end = base64End;
-          nb = 3;
-          break;
+        case "ascii":
+        case "hex":
+          return encoding;
         default:
-          this.write = simpleWrite;
-          this.end = simpleEnd;
-          return;
+          throw new Error("Unknown encoding: " + encoding);
       }
-      this.lastNeed = 0;
-      this.lastTotal = 0;
-      this.lastChar = Buffer2.allocUnsafe(nb);
     }
-    StringDecoder.prototype.write = function(buf) {
-      if (buf.length === 0) return "";
-      var r;
-      var i;
-      if (this.lastNeed) {
-        r = this.fillLast(buf);
-        if (r === void 0) return "";
-        i = this.lastNeed;
-        this.lastNeed = 0;
-      } else {
-        i = 0;
+  }
+});
+
+// node_modules/streamx/index.js
+var require_streamx = __commonJS({
+  "node_modules/streamx/index.js"(exports2, module2) {
+    var { EventEmitter } = require("events");
+    var STREAM_DESTROYED = new Error("Stream was destroyed");
+    var PREMATURE_CLOSE = new Error("Premature close");
+    var queueTick = require_process_next_tick();
+    var FIFO = require_fast_fifo();
+    var TextDecoder2 = require_text_decoder();
+    var MAX = (1 << 29) - 1;
+    var OPENING = 1;
+    var PREDESTROYING = 2;
+    var DESTROYING = 4;
+    var DESTROYED = 8;
+    var NOT_OPENING = MAX ^ OPENING;
+    var NOT_PREDESTROYING = MAX ^ PREDESTROYING;
+    var READ_ACTIVE = 1 << 4;
+    var READ_UPDATING = 2 << 4;
+    var READ_PRIMARY = 4 << 4;
+    var READ_QUEUED = 8 << 4;
+    var READ_RESUMED = 16 << 4;
+    var READ_PIPE_DRAINED = 32 << 4;
+    var READ_ENDING = 64 << 4;
+    var READ_EMIT_DATA = 128 << 4;
+    var READ_EMIT_READABLE = 256 << 4;
+    var READ_EMITTED_READABLE = 512 << 4;
+    var READ_DONE = 1024 << 4;
+    var READ_NEXT_TICK = 2048 << 4;
+    var READ_NEEDS_PUSH = 4096 << 4;
+    var READ_READ_AHEAD = 8192 << 4;
+    var READ_FLOWING = READ_RESUMED | READ_PIPE_DRAINED;
+    var READ_ACTIVE_AND_NEEDS_PUSH = READ_ACTIVE | READ_NEEDS_PUSH;
+    var READ_PRIMARY_AND_ACTIVE = READ_PRIMARY | READ_ACTIVE;
+    var READ_EMIT_READABLE_AND_QUEUED = READ_EMIT_READABLE | READ_QUEUED;
+    var READ_RESUMED_READ_AHEAD = READ_RESUMED | READ_READ_AHEAD;
+    var READ_NOT_ACTIVE = MAX ^ READ_ACTIVE;
+    var READ_NON_PRIMARY = MAX ^ READ_PRIMARY;
+    var READ_NON_PRIMARY_AND_PUSHED = MAX ^ (READ_PRIMARY | READ_NEEDS_PUSH);
+    var READ_PUSHED = MAX ^ READ_NEEDS_PUSH;
+    var READ_PAUSED = MAX ^ READ_RESUMED;
+    var READ_NOT_QUEUED = MAX ^ (READ_QUEUED | READ_EMITTED_READABLE);
+    var READ_NOT_ENDING = MAX ^ READ_ENDING;
+    var READ_PIPE_NOT_DRAINED = MAX ^ READ_FLOWING;
+    var READ_NOT_NEXT_TICK = MAX ^ READ_NEXT_TICK;
+    var READ_NOT_UPDATING = MAX ^ READ_UPDATING;
+    var READ_NO_READ_AHEAD = MAX ^ READ_READ_AHEAD;
+    var READ_PAUSED_NO_READ_AHEAD = MAX ^ READ_RESUMED_READ_AHEAD;
+    var WRITE_ACTIVE = 1 << 18;
+    var WRITE_UPDATING = 2 << 18;
+    var WRITE_PRIMARY = 4 << 18;
+    var WRITE_QUEUED = 8 << 18;
+    var WRITE_UNDRAINED = 16 << 18;
+    var WRITE_DONE = 32 << 18;
+    var WRITE_EMIT_DRAIN = 64 << 18;
+    var WRITE_NEXT_TICK = 128 << 18;
+    var WRITE_WRITING = 256 << 18;
+    var WRITE_FINISHING = 512 << 18;
+    var WRITE_CORKED = 1024 << 18;
+    var WRITE_NOT_ACTIVE = MAX ^ (WRITE_ACTIVE | WRITE_WRITING);
+    var WRITE_NON_PRIMARY = MAX ^ WRITE_PRIMARY;
+    var WRITE_NOT_FINISHING = MAX ^ WRITE_FINISHING;
+    var WRITE_DRAINED = MAX ^ WRITE_UNDRAINED;
+    var WRITE_NOT_QUEUED = MAX ^ WRITE_QUEUED;
+    var WRITE_NOT_NEXT_TICK = MAX ^ WRITE_NEXT_TICK;
+    var WRITE_NOT_UPDATING = MAX ^ WRITE_UPDATING;
+    var WRITE_NOT_CORKED = MAX ^ WRITE_CORKED;
+    var ACTIVE = READ_ACTIVE | WRITE_ACTIVE;
+    var NOT_ACTIVE = MAX ^ ACTIVE;
+    var DONE = READ_DONE | WRITE_DONE;
+    var DESTROY_STATUS = DESTROYING | DESTROYED | PREDESTROYING;
+    var OPEN_STATUS = DESTROY_STATUS | OPENING;
+    var AUTO_DESTROY = DESTROY_STATUS | DONE;
+    var NON_PRIMARY = WRITE_NON_PRIMARY & READ_NON_PRIMARY;
+    var ACTIVE_OR_TICKING = WRITE_NEXT_TICK | READ_NEXT_TICK;
+    var TICKING = ACTIVE_OR_TICKING & NOT_ACTIVE;
+    var IS_OPENING = OPEN_STATUS | TICKING;
+    var READ_PRIMARY_STATUS = OPEN_STATUS | READ_ENDING | READ_DONE;
+    var READ_STATUS = OPEN_STATUS | READ_DONE | READ_QUEUED;
+    var READ_ENDING_STATUS = OPEN_STATUS | READ_ENDING | READ_QUEUED;
+    var READ_READABLE_STATUS = OPEN_STATUS | READ_EMIT_READABLE | READ_QUEUED | READ_EMITTED_READABLE;
+    var SHOULD_NOT_READ = OPEN_STATUS | READ_ACTIVE | READ_ENDING | READ_DONE | READ_NEEDS_PUSH | READ_READ_AHEAD;
+    var READ_BACKPRESSURE_STATUS = DESTROY_STATUS | READ_ENDING | READ_DONE;
+    var READ_UPDATE_SYNC_STATUS = READ_UPDATING | OPEN_STATUS | READ_NEXT_TICK | READ_PRIMARY;
+    var WRITE_PRIMARY_STATUS = OPEN_STATUS | WRITE_FINISHING | WRITE_DONE;
+    var WRITE_QUEUED_AND_UNDRAINED = WRITE_QUEUED | WRITE_UNDRAINED;
+    var WRITE_QUEUED_AND_ACTIVE = WRITE_QUEUED | WRITE_ACTIVE;
+    var WRITE_DRAIN_STATUS = WRITE_QUEUED | WRITE_UNDRAINED | OPEN_STATUS | WRITE_ACTIVE;
+    var WRITE_STATUS = OPEN_STATUS | WRITE_ACTIVE | WRITE_QUEUED | WRITE_CORKED;
+    var WRITE_PRIMARY_AND_ACTIVE = WRITE_PRIMARY | WRITE_ACTIVE;
+    var WRITE_ACTIVE_AND_WRITING = WRITE_ACTIVE | WRITE_WRITING;
+    var WRITE_FINISHING_STATUS = OPEN_STATUS | WRITE_FINISHING | WRITE_QUEUED_AND_ACTIVE | WRITE_DONE;
+    var WRITE_BACKPRESSURE_STATUS = WRITE_UNDRAINED | DESTROY_STATUS | WRITE_FINISHING | WRITE_DONE;
+    var WRITE_UPDATE_SYNC_STATUS = WRITE_UPDATING | OPEN_STATUS | WRITE_NEXT_TICK | WRITE_PRIMARY;
+    var asyncIterator = Symbol.asyncIterator || /* @__PURE__ */ Symbol("asyncIterator");
+    var WritableState = class {
+      constructor(stream, { highWaterMark = 16384, map: map2 = null, mapWritable, byteLength, byteLengthWritable } = {}) {
+        this.stream = stream;
+        this.queue = new FIFO();
+        this.highWaterMark = highWaterMark;
+        this.buffered = 0;
+        this.error = null;
+        this.pipeline = null;
+        this.drains = null;
+        this.byteLength = byteLengthWritable || byteLength || defaultByteLength;
+        this.map = mapWritable || map2;
+        this.afterWrite = afterWrite.bind(this);
+        this.afterUpdateNextTick = updateWriteNT.bind(this);
       }
-      if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);
-      return r || "";
-    };
-    StringDecoder.prototype.end = utf8End;
-    StringDecoder.prototype.text = utf8Text;
-    StringDecoder.prototype.fillLast = function(buf) {
-      if (this.lastNeed <= buf.length) {
-        buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);
-        return this.lastChar.toString(this.encoding, 0, this.lastTotal);
+      get ended() {
+        return (this.stream._duplexState & WRITE_DONE) !== 0;
       }
-      buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);
-      this.lastNeed -= buf.length;
-    };
-    function utf8CheckByte(byte) {
-      if (byte <= 127) return 0;
-      else if (byte >> 5 === 6) return 2;
-      else if (byte >> 4 === 14) return 3;
-      else if (byte >> 3 === 30) return 4;
-      return byte >> 6 === 2 ? -1 : -2;
-    }
-    function utf8CheckIncomplete(self2, buf, i) {
-      var j = buf.length - 1;
-      if (j < i) return 0;
-      var nb = utf8CheckByte(buf[j]);
-      if (nb >= 0) {
-        if (nb > 0) self2.lastNeed = nb - 1;
-        return nb;
+      push(data) {
+        if (this.map !== null) data = this.map(data);
+        this.buffered += this.byteLength(data);
+        this.queue.push(data);
+        if (this.buffered < this.highWaterMark) {
+          this.stream._duplexState |= WRITE_QUEUED;
+          return true;
+        }
+        this.stream._duplexState |= WRITE_QUEUED_AND_UNDRAINED;
+        return false;
       }
-      if (--j < i || nb === -2) return 0;
-      nb = utf8CheckByte(buf[j]);
-      if (nb >= 0) {
-        if (nb > 0) self2.lastNeed = nb - 2;
-        return nb;
+      shift() {
+        const data = this.queue.shift();
+        this.buffered -= this.byteLength(data);
+        if (this.buffered === 0) this.stream._duplexState &= WRITE_NOT_QUEUED;
+        return data;
       }
-      if (--j < i || nb === -2) return 0;
-      nb = utf8CheckByte(buf[j]);
-      if (nb >= 0) {
-        if (nb > 0) {
-          if (nb === 2) nb = 0;
-          else self2.lastNeed = nb - 3;
+      end(data) {
+        if (typeof data === "function") this.stream.once("finish", data);
+        else if (data !== void 0 && data !== null) this.push(data);
+        this.stream._duplexState = (this.stream._duplexState | WRITE_FINISHING) & WRITE_NON_PRIMARY;
+      }
+      autoBatch(data, cb) {
+        const buffer = [];
+        const stream = this.stream;
+        buffer.push(data);
+        while ((stream._duplexState & WRITE_STATUS) === WRITE_QUEUED_AND_ACTIVE) {
+          buffer.push(stream._writableState.shift());
         }
-        return nb;
+        if ((stream._duplexState & OPEN_STATUS) !== 0) return cb(null);
+        stream._writev(buffer, cb);
       }
-      return 0;
-    }
-    function utf8CheckExtraBytes(self2, buf, p) {
-      if ((buf[0] & 192) !== 128) {
-        self2.lastNeed = 0;
-        return "\uFFFD";
+      update() {
+        const stream = this.stream;
+        stream._duplexState |= WRITE_UPDATING;
+        do {
+          while ((stream._duplexState & WRITE_STATUS) === WRITE_QUEUED) {
+            const data = this.shift();
+            stream._duplexState |= WRITE_ACTIVE_AND_WRITING;
+            stream._write(data, this.afterWrite);
+          }
+          if ((stream._duplexState & WRITE_PRIMARY_AND_ACTIVE) === 0) this.updateNonPrimary();
+        } while (this.continueUpdate() === true);
+        stream._duplexState &= WRITE_NOT_UPDATING;
       }
-      if (self2.lastNeed > 1 && buf.length > 1) {
-        if ((buf[1] & 192) !== 128) {
-          self2.lastNeed = 1;
-          return "\uFFFD";
+      updateNonPrimary() {
+        const stream = this.stream;
+        if ((stream._duplexState & WRITE_FINISHING_STATUS) === WRITE_FINISHING) {
+          stream._duplexState = (stream._duplexState | WRITE_ACTIVE) & WRITE_NOT_FINISHING;
+          stream._final(afterFinal.bind(this));
+          return;
         }
-        if (self2.lastNeed > 2 && buf.length > 2) {
-          if ((buf[2] & 192) !== 128) {
-            self2.lastNeed = 2;
-            return "\uFFFD";
+        if ((stream._duplexState & DESTROY_STATUS) === DESTROYING) {
+          if ((stream._duplexState & ACTIVE_OR_TICKING) === 0) {
+            stream._duplexState |= ACTIVE;
+            stream._destroy(afterDestroy.bind(this));
           }
+          return;
         }
-      }
-    }
-    function utf8FillLast(buf) {
-      var p = this.lastTotal - this.lastNeed;
-      var r = utf8CheckExtraBytes(this, buf, p);
-      if (r !== void 0) return r;
-      if (this.lastNeed <= buf.length) {
-        buf.copy(this.lastChar, p, 0, this.lastNeed);
-        return this.lastChar.toString(this.encoding, 0, this.lastTotal);
-      }
-      buf.copy(this.lastChar, p, 0, buf.length);
-      this.lastNeed -= buf.length;
-    }
-    function utf8Text(buf, i) {
-      var total = utf8CheckIncomplete(this, buf, i);
-      if (!this.lastNeed) return buf.toString("utf8", i);
-      this.lastTotal = total;
-      var end = buf.length - (total - this.lastNeed);
-      buf.copy(this.lastChar, 0, end);
-      return buf.toString("utf8", i, end);
-    }
-    function utf8End(buf) {
-      var r = buf && buf.length ? this.write(buf) : "";
-      if (this.lastNeed) return r + "\uFFFD";
-      return r;
-    }
-    function utf16Text(buf, i) {
-      if ((buf.length - i) % 2 === 0) {
-        var r = buf.toString("utf16le", i);
-        if (r) {
-          var c = r.charCodeAt(r.length - 1);
-          if (c >= 55296 && c <= 56319) {
-            this.lastNeed = 2;
-            this.lastTotal = 4;
-            this.lastChar[0] = buf[buf.length - 2];
-            this.lastChar[1] = buf[buf.length - 1];
-            return r.slice(0, -1);
-          }
+        if ((stream._duplexState & IS_OPENING) === OPENING) {
+          stream._duplexState = (stream._duplexState | ACTIVE) & NOT_OPENING;
+          stream._open(afterOpen.bind(this));
         }
-        return r;
-      }
-      this.lastNeed = 1;
-      this.lastTotal = 2;
-      this.lastChar[0] = buf[buf.length - 1];
-      return buf.toString("utf16le", i, buf.length - 1);
-    }
-    function utf16End(buf) {
-      var r = buf && buf.length ? this.write(buf) : "";
-      if (this.lastNeed) {
-        var end = this.lastTotal - this.lastNeed;
-        return r + this.lastChar.toString("utf16le", 0, end);
       }
-      return r;
-    }
-    function base64Text(buf, i) {
-      var n = (buf.length - i) % 3;
-      if (n === 0) return buf.toString("base64", i);
-      this.lastNeed = 3 - n;
-      this.lastTotal = 3;
-      if (n === 1) {
-        this.lastChar[0] = buf[buf.length - 1];
-      } else {
-        this.lastChar[0] = buf[buf.length - 2];
-        this.lastChar[1] = buf[buf.length - 1];
+      continueUpdate() {
+        if ((this.stream._duplexState & WRITE_NEXT_TICK) === 0) return false;
+        this.stream._duplexState &= WRITE_NOT_NEXT_TICK;
+        return true;
       }
-      return buf.toString("base64", i, buf.length - n);
-    }
-    function base64End(buf) {
-      var r = buf && buf.length ? this.write(buf) : "";
-      if (this.lastNeed) return r + this.lastChar.toString("base64", 0, 3 - this.lastNeed);
-      return r;
-    }
-    function simpleWrite(buf) {
-      return buf.toString(this.encoding);
-    }
-    function simpleEnd(buf) {
-      return buf && buf.length ? this.write(buf) : "";
-    }
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/lib/_stream_readable.js
-var require_stream_readable = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_readable.js"(exports2, module2) {
-    "use strict";
-    var pna = require_process_nextick_args();
-    module2.exports = Readable;
-    var isArray = require_isarray();
-    var Duplex;
-    Readable.ReadableState = ReadableState;
-    var EE = require("events").EventEmitter;
-    var EElistenerCount = function(emitter, type2) {
-      return emitter.listeners(type2).length;
-    };
-    var Stream = require_stream();
-    var Buffer2 = require_safe_buffer().Buffer;
-    var OurUint8Array = (typeof global !== "undefined" ? global : typeof window !== "undefined" ? window : typeof self !== "undefined" ? self : {}).Uint8Array || function() {
-    };
-    function _uint8ArrayToBuffer(chunk) {
-      return Buffer2.from(chunk);
-    }
-    function _isUint8Array(obj) {
-      return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array;
-    }
-    var util = Object.create(require_util19());
-    util.inherits = require_inherits();
-    var debugUtil = require("util");
-    var debug4 = void 0;
-    if (debugUtil && debugUtil.debuglog) {
-      debug4 = debugUtil.debuglog("stream");
-    } else {
-      debug4 = function() {
-      };
-    }
-    var BufferList = require_BufferList();
-    var destroyImpl = require_destroy();
-    var StringDecoder;
-    util.inherits(Readable, Stream);
-    var kProxyEvents = ["error", "close", "destroy", "pause", "resume"];
-    function prependListener(emitter, event, fn) {
-      if (typeof emitter.prependListener === "function") return emitter.prependListener(event, fn);
-      if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);
-      else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);
-      else emitter._events[event] = [fn, emitter._events[event]];
-    }
-    function ReadableState(options, stream) {
-      Duplex = Duplex || require_stream_duplex();
-      options = options || {};
-      var isDuplex = stream instanceof Duplex;
-      this.objectMode = !!options.objectMode;
-      if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;
-      var hwm = options.highWaterMark;
-      var readableHwm = options.readableHighWaterMark;
-      var defaultHwm = this.objectMode ? 16 : 16 * 1024;
-      if (hwm || hwm === 0) this.highWaterMark = hwm;
-      else if (isDuplex && (readableHwm || readableHwm === 0)) this.highWaterMark = readableHwm;
-      else this.highWaterMark = defaultHwm;
-      this.highWaterMark = Math.floor(this.highWaterMark);
-      this.buffer = new BufferList();
-      this.length = 0;
-      this.pipes = null;
-      this.pipesCount = 0;
-      this.flowing = null;
-      this.ended = false;
-      this.endEmitted = false;
-      this.reading = false;
-      this.sync = true;
-      this.needReadable = false;
-      this.emittedReadable = false;
-      this.readableListening = false;
-      this.resumeScheduled = false;
-      this.destroyed = false;
-      this.defaultEncoding = options.defaultEncoding || "utf8";
-      this.awaitDrain = 0;
-      this.readingMore = false;
-      this.decoder = null;
-      this.encoding = null;
-      if (options.encoding) {
-        if (!StringDecoder) StringDecoder = require_string_decoder().StringDecoder;
-        this.decoder = new StringDecoder(options.encoding);
-        this.encoding = options.encoding;
+      updateCallback() {
+        if ((this.stream._duplexState & WRITE_UPDATE_SYNC_STATUS) === WRITE_PRIMARY) this.update();
+        else this.updateNextTick();
       }
-    }
-    function Readable(options) {
-      Duplex = Duplex || require_stream_duplex();
-      if (!(this instanceof Readable)) return new Readable(options);
-      this._readableState = new ReadableState(options, this);
-      this.readable = true;
-      if (options) {
-        if (typeof options.read === "function") this._read = options.read;
-        if (typeof options.destroy === "function") this._destroy = options.destroy;
+      updateNextTick() {
+        if ((this.stream._duplexState & WRITE_NEXT_TICK) !== 0) return;
+        this.stream._duplexState |= WRITE_NEXT_TICK;
+        if ((this.stream._duplexState & WRITE_UPDATING) === 0) queueTick(this.afterUpdateNextTick);
       }
-      Stream.call(this);
-    }
-    Object.defineProperty(Readable.prototype, "destroyed", {
-      get: function() {
-        if (this._readableState === void 0) {
+    };
+    var ReadableState = class {
+      constructor(stream, { highWaterMark = 16384, map: map2 = null, mapReadable, byteLength, byteLengthReadable } = {}) {
+        this.stream = stream;
+        this.queue = new FIFO();
+        this.highWaterMark = highWaterMark === 0 ? 1 : highWaterMark;
+        this.buffered = 0;
+        this.readAhead = highWaterMark > 0;
+        this.error = null;
+        this.pipeline = null;
+        this.byteLength = byteLengthReadable || byteLength || defaultByteLength;
+        this.map = mapReadable || map2;
+        this.pipeTo = null;
+        this.afterRead = afterRead.bind(this);
+        this.afterUpdateNextTick = updateReadNT.bind(this);
+      }
+      get ended() {
+        return (this.stream._duplexState & READ_DONE) !== 0;
+      }
+      pipe(pipeTo, cb) {
+        if (this.pipeTo !== null) throw new Error("Can only pipe to one destination");
+        if (typeof cb !== "function") cb = null;
+        this.stream._duplexState |= READ_PIPE_DRAINED;
+        this.pipeTo = pipeTo;
+        this.pipeline = new Pipeline(this.stream, pipeTo, cb);
+        if (cb) this.stream.on("error", noop3);
+        if (isStreamx(pipeTo)) {
+          pipeTo._writableState.pipeline = this.pipeline;
+          if (cb) pipeTo.on("error", noop3);
+          pipeTo.on("finish", this.pipeline.finished.bind(this.pipeline));
+        } else {
+          const onerror = this.pipeline.done.bind(this.pipeline, pipeTo);
+          const onclose = this.pipeline.done.bind(this.pipeline, pipeTo, null);
+          pipeTo.on("error", onerror);
+          pipeTo.on("close", onclose);
+          pipeTo.on("finish", this.pipeline.finished.bind(this.pipeline));
+        }
+        pipeTo.on("drain", afterDrain.bind(this));
+        this.stream.emit("piping", pipeTo);
+        pipeTo.emit("pipe", this.stream);
+      }
+      push(data) {
+        const stream = this.stream;
+        if (data === null) {
+          this.highWaterMark = 0;
+          stream._duplexState = (stream._duplexState | READ_ENDING) & READ_NON_PRIMARY_AND_PUSHED;
           return false;
         }
-        return this._readableState.destroyed;
-      },
-      set: function(value) {
-        if (!this._readableState) {
-          return;
+        if (this.map !== null) {
+          data = this.map(data);
+          if (data === null) {
+            stream._duplexState &= READ_PUSHED;
+            return this.buffered < this.highWaterMark;
+          }
         }
-        this._readableState.destroyed = value;
+        this.buffered += this.byteLength(data);
+        this.queue.push(data);
+        stream._duplexState = (stream._duplexState | READ_QUEUED) & READ_PUSHED;
+        return this.buffered < this.highWaterMark;
       }
-    });
-    Readable.prototype.destroy = destroyImpl.destroy;
-    Readable.prototype._undestroy = destroyImpl.undestroy;
-    Readable.prototype._destroy = function(err, cb) {
-      this.push(null);
-      cb(err);
-    };
-    Readable.prototype.push = function(chunk, encoding) {
-      var state = this._readableState;
-      var skipChunkCheck;
-      if (!state.objectMode) {
-        if (typeof chunk === "string") {
-          encoding = encoding || state.defaultEncoding;
-          if (encoding !== state.encoding) {
-            chunk = Buffer2.from(chunk, encoding);
-            encoding = "";
+      shift() {
+        const data = this.queue.shift();
+        this.buffered -= this.byteLength(data);
+        if (this.buffered === 0) this.stream._duplexState &= READ_NOT_QUEUED;
+        return data;
+      }
+      unshift(data) {
+        const pending = [this.map !== null ? this.map(data) : data];
+        while (this.buffered > 0) pending.push(this.shift());
+        for (let i = 0; i < pending.length - 1; i++) {
+          const data2 = pending[i];
+          this.buffered += this.byteLength(data2);
+          this.queue.push(data2);
+        }
+        this.push(pending[pending.length - 1]);
+      }
+      read() {
+        const stream = this.stream;
+        if ((stream._duplexState & READ_STATUS) === READ_QUEUED) {
+          const data = this.shift();
+          if (this.pipeTo !== null && this.pipeTo.write(data) === false) stream._duplexState &= READ_PIPE_NOT_DRAINED;
+          if ((stream._duplexState & READ_EMIT_DATA) !== 0) stream.emit("data", data);
+          return data;
+        }
+        if (this.readAhead === false) {
+          stream._duplexState |= READ_READ_AHEAD;
+          this.updateNextTick();
+        }
+        return null;
+      }
+      drain() {
+        const stream = this.stream;
+        while ((stream._duplexState & READ_STATUS) === READ_QUEUED && (stream._duplexState & READ_FLOWING) !== 0) {
+          const data = this.shift();
+          if (this.pipeTo !== null && this.pipeTo.write(data) === false) stream._duplexState &= READ_PIPE_NOT_DRAINED;
+          if ((stream._duplexState & READ_EMIT_DATA) !== 0) stream.emit("data", data);
+        }
+      }
+      update() {
+        const stream = this.stream;
+        stream._duplexState |= READ_UPDATING;
+        do {
+          this.drain();
+          while (this.buffered < this.highWaterMark && (stream._duplexState & SHOULD_NOT_READ) === READ_READ_AHEAD) {
+            stream._duplexState |= READ_ACTIVE_AND_NEEDS_PUSH;
+            stream._read(this.afterRead);
+            this.drain();
           }
-          skipChunkCheck = true;
+          if ((stream._duplexState & READ_READABLE_STATUS) === READ_EMIT_READABLE_AND_QUEUED) {
+            stream._duplexState |= READ_EMITTED_READABLE;
+            stream.emit("readable");
+          }
+          if ((stream._duplexState & READ_PRIMARY_AND_ACTIVE) === 0) this.updateNonPrimary();
+        } while (this.continueUpdate() === true);
+        stream._duplexState &= READ_NOT_UPDATING;
+      }
+      updateNonPrimary() {
+        const stream = this.stream;
+        if ((stream._duplexState & READ_ENDING_STATUS) === READ_ENDING) {
+          stream._duplexState = (stream._duplexState | READ_DONE) & READ_NOT_ENDING;
+          stream.emit("end");
+          if ((stream._duplexState & AUTO_DESTROY) === DONE) stream._duplexState |= DESTROYING;
+          if (this.pipeTo !== null) this.pipeTo.end();
+        }
+        if ((stream._duplexState & DESTROY_STATUS) === DESTROYING) {
+          if ((stream._duplexState & ACTIVE_OR_TICKING) === 0) {
+            stream._duplexState |= ACTIVE;
+            stream._destroy(afterDestroy.bind(this));
+          }
+          return;
+        }
+        if ((stream._duplexState & IS_OPENING) === OPENING) {
+          stream._duplexState = (stream._duplexState | ACTIVE) & NOT_OPENING;
+          stream._open(afterOpen.bind(this));
         }
-      } else {
-        skipChunkCheck = true;
       }
-      return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);
+      continueUpdate() {
+        if ((this.stream._duplexState & READ_NEXT_TICK) === 0) return false;
+        this.stream._duplexState &= READ_NOT_NEXT_TICK;
+        return true;
+      }
+      updateCallback() {
+        if ((this.stream._duplexState & READ_UPDATE_SYNC_STATUS) === READ_PRIMARY) this.update();
+        else this.updateNextTick();
+      }
+      updateNextTick() {
+        if ((this.stream._duplexState & READ_NEXT_TICK) !== 0) return;
+        this.stream._duplexState |= READ_NEXT_TICK;
+        if ((this.stream._duplexState & READ_UPDATING) === 0) queueTick(this.afterUpdateNextTick);
+      }
     };
-    Readable.prototype.unshift = function(chunk) {
-      return readableAddChunk(this, chunk, null, true, false);
+    var TransformState = class {
+      constructor(stream) {
+        this.data = null;
+        this.afterTransform = afterTransform.bind(stream);
+        this.afterFinal = null;
+      }
     };
-    function readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {
-      var state = stream._readableState;
-      if (chunk === null) {
-        state.reading = false;
-        onEofChunk(stream, state);
-      } else {
-        var er;
-        if (!skipChunkCheck) er = chunkInvalid(state, chunk);
-        if (er) {
-          stream.emit("error", er);
-        } else if (state.objectMode || chunk && chunk.length > 0) {
-          if (typeof chunk !== "string" && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer2.prototype) {
-            chunk = _uint8ArrayToBuffer(chunk);
+    var Pipeline = class {
+      constructor(src, dst, cb) {
+        this.from = src;
+        this.to = dst;
+        this.afterPipe = cb;
+        this.error = null;
+        this.pipeToFinished = false;
+      }
+      finished() {
+        this.pipeToFinished = true;
+      }
+      done(stream, err) {
+        if (err) this.error = err;
+        if (stream === this.to) {
+          this.to = null;
+          if (this.from !== null) {
+            if ((this.from._duplexState & READ_DONE) === 0 || !this.pipeToFinished) {
+              this.from.destroy(this.error || new Error("Writable stream closed prematurely"));
+            }
+            return;
           }
-          if (addToFront) {
-            if (state.endEmitted) stream.emit("error", new Error("stream.unshift() after end event"));
-            else addChunk(stream, state, chunk, true);
-          } else if (state.ended) {
-            stream.emit("error", new Error("stream.push() after EOF"));
-          } else {
-            state.reading = false;
-            if (state.decoder && !encoding) {
-              chunk = state.decoder.write(chunk);
-              if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);
-              else maybeReadMore(stream, state);
-            } else {
-              addChunk(stream, state, chunk, false);
+        }
+        if (stream === this.from) {
+          this.from = null;
+          if (this.to !== null) {
+            if ((stream._duplexState & READ_DONE) === 0) {
+              this.to.destroy(this.error || new Error("Readable stream closed before ending"));
             }
+            return;
           }
-        } else if (!addToFront) {
-          state.reading = false;
         }
+        if (this.afterPipe !== null) this.afterPipe(this.error);
+        this.to = this.from = this.afterPipe = null;
       }
-      return needMoreData(state);
+    };
+    function afterDrain() {
+      this.stream._duplexState |= READ_PIPE_DRAINED;
+      this.updateCallback();
     }
-    function addChunk(stream, state, chunk, addToFront) {
-      if (state.flowing && state.length === 0 && !state.sync) {
-        stream.emit("data", chunk);
-        stream.read(0);
-      } else {
-        state.length += state.objectMode ? 1 : chunk.length;
-        if (addToFront) state.buffer.unshift(chunk);
-        else state.buffer.push(chunk);
-        if (state.needReadable) emitReadable(stream);
+    function afterFinal(err) {
+      const stream = this.stream;
+      if (err) stream.destroy(err);
+      if ((stream._duplexState & DESTROY_STATUS) === 0) {
+        stream._duplexState |= WRITE_DONE;
+        stream.emit("finish");
       }
-      maybeReadMore(stream, state);
-    }
-    function chunkInvalid(state, chunk) {
-      var er;
-      if (!_isUint8Array(chunk) && typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) {
-        er = new TypeError("Invalid non-string/buffer chunk");
+      if ((stream._duplexState & AUTO_DESTROY) === DONE) {
+        stream._duplexState |= DESTROYING;
       }
-      return er;
-    }
-    function needMoreData(state) {
-      return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0);
+      stream._duplexState &= WRITE_NOT_ACTIVE;
+      if ((stream._duplexState & WRITE_UPDATING) === 0) this.update();
+      else this.updateNextTick();
     }
-    Readable.prototype.isPaused = function() {
-      return this._readableState.flowing === false;
-    };
-    Readable.prototype.setEncoding = function(enc) {
-      if (!StringDecoder) StringDecoder = require_string_decoder().StringDecoder;
-      this._readableState.decoder = new StringDecoder(enc);
-      this._readableState.encoding = enc;
-      return this;
-    };
-    var MAX_HWM = 8388608;
-    function computeNewHighWaterMark(n) {
-      if (n >= MAX_HWM) {
-        n = MAX_HWM;
-      } else {
-        n--;
-        n |= n >>> 1;
-        n |= n >>> 2;
-        n |= n >>> 4;
-        n |= n >>> 8;
-        n |= n >>> 16;
-        n++;
+    function afterDestroy(err) {
+      const stream = this.stream;
+      if (!err && this.error !== STREAM_DESTROYED) err = this.error;
+      if (err) stream.emit("error", err);
+      stream._duplexState |= DESTROYED;
+      stream.emit("close");
+      const rs = stream._readableState;
+      const ws = stream._writableState;
+      if (rs !== null && rs.pipeline !== null) rs.pipeline.done(stream, err);
+      if (ws !== null) {
+        while (ws.drains !== null && ws.drains.length > 0) ws.drains.shift().resolve(false);
+        if (ws.pipeline !== null) ws.pipeline.done(stream, err);
       }
-      return n;
     }
-    function howMuchToRead(n, state) {
-      if (n <= 0 || state.length === 0 && state.ended) return 0;
-      if (state.objectMode) return 1;
-      if (n !== n) {
-        if (state.flowing && state.length) return state.buffer.head.data.length;
-        else return state.length;
+    function afterWrite(err) {
+      const stream = this.stream;
+      if (err) stream.destroy(err);
+      stream._duplexState &= WRITE_NOT_ACTIVE;
+      if (this.drains !== null) tickDrains(this.drains);
+      if ((stream._duplexState & WRITE_DRAIN_STATUS) === WRITE_UNDRAINED) {
+        stream._duplexState &= WRITE_DRAINED;
+        if ((stream._duplexState & WRITE_EMIT_DRAIN) === WRITE_EMIT_DRAIN) {
+          stream.emit("drain");
+        }
       }
-      if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);
-      if (n <= state.length) return n;
-      if (!state.ended) {
-        state.needReadable = true;
-        return 0;
+      this.updateCallback();
+    }
+    function afterRead(err) {
+      if (err) this.stream.destroy(err);
+      this.stream._duplexState &= READ_NOT_ACTIVE;
+      if (this.readAhead === false && (this.stream._duplexState & READ_RESUMED) === 0) this.stream._duplexState &= READ_NO_READ_AHEAD;
+      this.updateCallback();
+    }
+    function updateReadNT() {
+      if ((this.stream._duplexState & READ_UPDATING) === 0) {
+        this.stream._duplexState &= READ_NOT_NEXT_TICK;
+        this.update();
       }
-      return state.length;
     }
-    Readable.prototype.read = function(n) {
-      debug4("read", n);
-      n = parseInt(n, 10);
-      var state = this._readableState;
-      var nOrig = n;
-      if (n !== 0) state.emittedReadable = false;
-      if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) {
-        debug4("read: emitReadable", state.length, state.ended);
-        if (state.length === 0 && state.ended) endReadable(this);
-        else emitReadable(this);
-        return null;
+    function updateWriteNT() {
+      if ((this.stream._duplexState & WRITE_UPDATING) === 0) {
+        this.stream._duplexState &= WRITE_NOT_NEXT_TICK;
+        this.update();
       }
-      n = howMuchToRead(n, state);
-      if (n === 0 && state.ended) {
-        if (state.length === 0) endReadable(this);
-        return null;
+    }
+    function tickDrains(drains) {
+      for (let i = 0; i < drains.length; i++) {
+        if (--drains[i].writes === 0) {
+          drains.shift().resolve(true);
+          i--;
+        }
       }
-      var doRead = state.needReadable;
-      debug4("need readable", doRead);
-      if (state.length === 0 || state.length - n < state.highWaterMark) {
-        doRead = true;
-        debug4("length less than watermark", doRead);
+    }
+    function afterOpen(err) {
+      const stream = this.stream;
+      if (err) stream.destroy(err);
+      if ((stream._duplexState & DESTROYING) === 0) {
+        if ((stream._duplexState & READ_PRIMARY_STATUS) === 0) stream._duplexState |= READ_PRIMARY;
+        if ((stream._duplexState & WRITE_PRIMARY_STATUS) === 0) stream._duplexState |= WRITE_PRIMARY;
+        stream.emit("open");
       }
-      if (state.ended || state.reading) {
-        doRead = false;
-        debug4("reading or ended", doRead);
-      } else if (doRead) {
-        debug4("do read");
-        state.reading = true;
-        state.sync = true;
-        if (state.length === 0) state.needReadable = true;
-        this._read(state.highWaterMark);
-        state.sync = false;
-        if (!state.reading) n = howMuchToRead(nOrig, state);
+      stream._duplexState &= NOT_ACTIVE;
+      if (stream._writableState !== null) {
+        stream._writableState.updateCallback();
       }
-      var ret;
-      if (n > 0) ret = fromList(n, state);
-      else ret = null;
-      if (ret === null) {
-        state.needReadable = true;
-        n = 0;
-      } else {
-        state.length -= n;
+      if (stream._readableState !== null) {
+        stream._readableState.updateCallback();
       }
-      if (state.length === 0) {
-        if (!state.ended) state.needReadable = true;
-        if (nOrig !== n && state.ended) endReadable(this);
+    }
+    function afterTransform(err, data) {
+      if (data !== void 0 && data !== null) this.push(data);
+      this._writableState.afterWrite(err);
+    }
+    function newListener(name) {
+      if (this._readableState !== null) {
+        if (name === "data") {
+          this._duplexState |= READ_EMIT_DATA | READ_RESUMED_READ_AHEAD;
+          this._readableState.updateNextTick();
+        }
+        if (name === "readable") {
+          this._duplexState |= READ_EMIT_READABLE;
+          this._readableState.updateNextTick();
+        }
       }
-      if (ret !== null) this.emit("data", ret);
-      return ret;
-    };
-    function onEofChunk(stream, state) {
-      if (state.ended) return;
-      if (state.decoder) {
-        var chunk = state.decoder.end();
-        if (chunk && chunk.length) {
-          state.buffer.push(chunk);
-          state.length += state.objectMode ? 1 : chunk.length;
+      if (this._writableState !== null) {
+        if (name === "drain") {
+          this._duplexState |= WRITE_EMIT_DRAIN;
+          this._writableState.updateNextTick();
         }
       }
-      state.ended = true;
-      emitReadable(stream);
     }
-    function emitReadable(stream) {
-      var state = stream._readableState;
-      state.needReadable = false;
-      if (!state.emittedReadable) {
-        debug4("emitReadable", state.flowing);
-        state.emittedReadable = true;
-        if (state.sync) pna.nextTick(emitReadable_, stream);
-        else emitReadable_(stream);
+    var Stream = class extends EventEmitter {
+      constructor(opts) {
+        super();
+        this._duplexState = 0;
+        this._readableState = null;
+        this._writableState = null;
+        if (opts) {
+          if (opts.open) this._open = opts.open;
+          if (opts.destroy) this._destroy = opts.destroy;
+          if (opts.predestroy) this._predestroy = opts.predestroy;
+          if (opts.signal) {
+            opts.signal.addEventListener("abort", abort.bind(this));
+          }
+        }
+        this.on("newListener", newListener);
       }
-    }
-    function emitReadable_(stream) {
-      debug4("emit readable");
-      stream.emit("readable");
-      flow(stream);
-    }
-    function maybeReadMore(stream, state) {
-      if (!state.readingMore) {
-        state.readingMore = true;
-        pna.nextTick(maybeReadMore_, stream, state);
+      _open(cb) {
+        cb(null);
       }
-    }
-    function maybeReadMore_(stream, state) {
-      var len = state.length;
-      while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) {
-        debug4("maybeReadMore read 0");
-        stream.read(0);
-        if (len === state.length)
-          break;
-        else len = state.length;
+      _destroy(cb) {
+        cb(null);
       }
-      state.readingMore = false;
-    }
-    Readable.prototype._read = function(n) {
-      this.emit("error", new Error("_read() is not implemented"));
-    };
-    Readable.prototype.pipe = function(dest, pipeOpts) {
-      var src = this;
-      var state = this._readableState;
-      switch (state.pipesCount) {
-        case 0:
-          state.pipes = dest;
-          break;
-        case 1:
-          state.pipes = [state.pipes, dest];
-          break;
-        default:
-          state.pipes.push(dest);
-          break;
+      _predestroy() {
       }
-      state.pipesCount += 1;
-      debug4("pipe count=%d opts=%j", state.pipesCount, pipeOpts);
-      var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;
-      var endFn = doEnd ? onend : unpipe;
-      if (state.endEmitted) pna.nextTick(endFn);
-      else src.once("end", endFn);
-      dest.on("unpipe", onunpipe);
-      function onunpipe(readable, unpipeInfo) {
-        debug4("onunpipe");
-        if (readable === src) {
-          if (unpipeInfo && unpipeInfo.hasUnpiped === false) {
-            unpipeInfo.hasUnpiped = true;
-            cleanup();
-          }
-        }
+      get readable() {
+        return this._readableState !== null ? true : void 0;
       }
-      function onend() {
-        debug4("onend");
-        dest.end();
+      get writable() {
+        return this._writableState !== null ? true : void 0;
       }
-      var ondrain = pipeOnDrain(src);
-      dest.on("drain", ondrain);
-      var cleanedUp = false;
-      function cleanup() {
-        debug4("cleanup");
-        dest.removeListener("close", onclose);
-        dest.removeListener("finish", onfinish);
-        dest.removeListener("drain", ondrain);
-        dest.removeListener("error", onerror);
-        dest.removeListener("unpipe", onunpipe);
-        src.removeListener("end", onend);
-        src.removeListener("end", unpipe);
-        src.removeListener("data", ondata);
-        cleanedUp = true;
-        if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();
+      get destroyed() {
+        return (this._duplexState & DESTROYED) !== 0;
       }
-      var increasedAwaitDrain = false;
-      src.on("data", ondata);
-      function ondata(chunk) {
-        debug4("ondata");
-        increasedAwaitDrain = false;
-        var ret = dest.write(chunk);
-        if (false === ret && !increasedAwaitDrain) {
-          if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {
-            debug4("false write response, pause", state.awaitDrain);
-            state.awaitDrain++;
-            increasedAwaitDrain = true;
+      get destroying() {
+        return (this._duplexState & DESTROY_STATUS) !== 0;
+      }
+      destroy(err) {
+        if ((this._duplexState & DESTROY_STATUS) === 0) {
+          if (!err) err = STREAM_DESTROYED;
+          this._duplexState = (this._duplexState | DESTROYING) & NON_PRIMARY;
+          if (this._readableState !== null) {
+            this._readableState.highWaterMark = 0;
+            this._readableState.error = err;
           }
-          src.pause();
+          if (this._writableState !== null) {
+            this._writableState.highWaterMark = 0;
+            this._writableState.error = err;
+          }
+          this._duplexState |= PREDESTROYING;
+          this._predestroy();
+          this._duplexState &= NOT_PREDESTROYING;
+          if (this._readableState !== null) this._readableState.updateNextTick();
+          if (this._writableState !== null) this._writableState.updateNextTick();
         }
       }
-      function onerror(er) {
-        debug4("onerror", er);
-        unpipe();
-        dest.removeListener("error", onerror);
-        if (EElistenerCount(dest, "error") === 0) dest.emit("error", er);
+    };
+    var Readable = class _Readable extends Stream {
+      constructor(opts) {
+        super(opts);
+        this._duplexState |= OPENING | WRITE_DONE | READ_READ_AHEAD;
+        this._readableState = new ReadableState(this, opts);
+        if (opts) {
+          if (this._readableState.readAhead === false) this._duplexState &= READ_NO_READ_AHEAD;
+          if (opts.read) this._read = opts.read;
+          if (opts.eagerOpen) this._readableState.updateNextTick();
+          if (opts.encoding) this.setEncoding(opts.encoding);
+        }
       }
-      prependListener(dest, "error", onerror);
-      function onclose() {
-        dest.removeListener("finish", onfinish);
-        unpipe();
+      setEncoding(encoding) {
+        const dec = new TextDecoder2(encoding);
+        const map2 = this._readableState.map || echo;
+        this._readableState.map = mapOrSkip;
+        return this;
+        function mapOrSkip(data) {
+          const next = dec.push(data);
+          return next === "" && (data.byteLength !== 0 || dec.remaining > 0) ? null : map2(next);
+        }
       }
-      dest.once("close", onclose);
-      function onfinish() {
-        debug4("onfinish");
-        dest.removeListener("close", onclose);
-        unpipe();
+      _read(cb) {
+        cb(null);
       }
-      dest.once("finish", onfinish);
-      function unpipe() {
-        debug4("unpipe");
-        src.unpipe(dest);
+      pipe(dest, cb) {
+        this._readableState.updateNextTick();
+        this._readableState.pipe(dest, cb);
+        return dest;
       }
-      dest.emit("pipe", src);
-      if (!state.flowing) {
-        debug4("pipe resume");
-        src.resume();
+      read() {
+        this._readableState.updateNextTick();
+        return this._readableState.read();
       }
-      return dest;
-    };
-    function pipeOnDrain(src) {
-      return function() {
-        var state = src._readableState;
-        debug4("pipeOnDrain", state.awaitDrain);
-        if (state.awaitDrain) state.awaitDrain--;
-        if (state.awaitDrain === 0 && EElistenerCount(src, "data")) {
-          state.flowing = true;
-          flow(src);
-        }
-      };
-    }
-    Readable.prototype.unpipe = function(dest) {
-      var state = this._readableState;
-      var unpipeInfo = { hasUnpiped: false };
-      if (state.pipesCount === 0) return this;
-      if (state.pipesCount === 1) {
-        if (dest && dest !== state.pipes) return this;
-        if (!dest) dest = state.pipes;
-        state.pipes = null;
-        state.pipesCount = 0;
-        state.flowing = false;
-        if (dest) dest.emit("unpipe", this, unpipeInfo);
+      push(data) {
+        this._readableState.updateNextTick();
+        return this._readableState.push(data);
+      }
+      unshift(data) {
+        this._readableState.updateNextTick();
+        return this._readableState.unshift(data);
+      }
+      resume() {
+        this._duplexState |= READ_RESUMED_READ_AHEAD;
+        this._readableState.updateNextTick();
         return this;
       }
-      if (!dest) {
-        var dests = state.pipes;
-        var len = state.pipesCount;
-        state.pipes = null;
-        state.pipesCount = 0;
-        state.flowing = false;
-        for (var i = 0; i < len; i++) {
-          dests[i].emit("unpipe", this, { hasUnpiped: false });
-        }
+      pause() {
+        this._duplexState &= this._readableState.readAhead === false ? READ_PAUSED_NO_READ_AHEAD : READ_PAUSED;
         return this;
       }
-      var index = indexOf(state.pipes, dest);
-      if (index === -1) return this;
-      state.pipes.splice(index, 1);
-      state.pipesCount -= 1;
-      if (state.pipesCount === 1) state.pipes = state.pipes[0];
-      dest.emit("unpipe", this, unpipeInfo);
-      return this;
-    };
-    Readable.prototype.on = function(ev, fn) {
-      var res = Stream.prototype.on.call(this, ev, fn);
-      if (ev === "data") {
-        if (this._readableState.flowing !== false) this.resume();
-      } else if (ev === "readable") {
-        var state = this._readableState;
-        if (!state.endEmitted && !state.readableListening) {
-          state.readableListening = state.needReadable = true;
-          state.emittedReadable = false;
-          if (!state.reading) {
-            pna.nextTick(nReadingNextTick, this);
-          } else if (state.length) {
-            emitReadable(this);
+      static _fromAsyncIterator(ite, opts) {
+        let destroy;
+        const rs = new _Readable({
+          ...opts,
+          read(cb) {
+            ite.next().then(push).then(cb.bind(null, null)).catch(cb);
+          },
+          predestroy() {
+            destroy = ite.return();
+          },
+          destroy(cb) {
+            if (!destroy) return cb(null);
+            destroy.then(cb.bind(null, null)).catch(cb);
           }
+        });
+        return rs;
+        function push(data) {
+          if (data.done) rs.push(null);
+          else rs.push(data.value);
         }
       }
-      return res;
-    };
-    Readable.prototype.addListener = Readable.prototype.on;
-    function nReadingNextTick(self2) {
-      debug4("readable nexttick read 0");
-      self2.read(0);
-    }
-    Readable.prototype.resume = function() {
-      var state = this._readableState;
-      if (!state.flowing) {
-        debug4("resume");
-        state.flowing = true;
-        resume(this, state);
-      }
-      return this;
-    };
-    function resume(stream, state) {
-      if (!state.resumeScheduled) {
-        state.resumeScheduled = true;
-        pna.nextTick(resume_, stream, state);
-      }
-    }
-    function resume_(stream, state) {
-      if (!state.reading) {
-        debug4("resume read 0");
-        stream.read(0);
+      static from(data, opts) {
+        if (isReadStreamx(data)) return data;
+        if (data[asyncIterator]) return this._fromAsyncIterator(data[asyncIterator](), opts);
+        if (!Array.isArray(data)) data = data === void 0 ? [] : [data];
+        let i = 0;
+        return new _Readable({
+          ...opts,
+          read(cb) {
+            this.push(i === data.length ? null : data[i++]);
+            cb(null);
+          }
+        });
       }
-      state.resumeScheduled = false;
-      state.awaitDrain = 0;
-      stream.emit("resume");
-      flow(stream);
-      if (state.flowing && !state.reading) stream.read(0);
-    }
-    Readable.prototype.pause = function() {
-      debug4("call pause flowing=%j", this._readableState.flowing);
-      if (false !== this._readableState.flowing) {
-        debug4("pause");
-        this._readableState.flowing = false;
-        this.emit("pause");
+      static isBackpressured(rs) {
+        return (rs._duplexState & READ_BACKPRESSURE_STATUS) !== 0 || rs._readableState.buffered >= rs._readableState.highWaterMark;
       }
-      return this;
-    };
-    function flow(stream) {
-      var state = stream._readableState;
-      debug4("flow", state.flowing);
-      while (state.flowing && stream.read() !== null) {
+      static isPaused(rs) {
+        return (rs._duplexState & READ_RESUMED) === 0;
       }
-    }
-    Readable.prototype.wrap = function(stream) {
-      var _this = this;
-      var state = this._readableState;
-      var paused = false;
-      stream.on("end", function() {
-        debug4("wrapped end");
-        if (state.decoder && !state.ended) {
-          var chunk = state.decoder.end();
-          if (chunk && chunk.length) _this.push(chunk);
+      [asyncIterator]() {
+        const stream = this;
+        let error3 = null;
+        let promiseResolve = null;
+        let promiseReject = null;
+        this.on("error", (err) => {
+          error3 = err;
+        });
+        this.on("readable", onreadable);
+        this.on("close", onclose);
+        return {
+          [asyncIterator]() {
+            return this;
+          },
+          next() {
+            return new Promise(function(resolve5, reject) {
+              promiseResolve = resolve5;
+              promiseReject = reject;
+              const data = stream.read();
+              if (data !== null) ondata(data);
+              else if ((stream._duplexState & DESTROYED) !== 0) ondata(null);
+            });
+          },
+          return() {
+            return destroy(null);
+          },
+          throw(err) {
+            return destroy(err);
+          }
+        };
+        function onreadable() {
+          if (promiseResolve !== null) ondata(stream.read());
         }
-        _this.push(null);
-      });
-      stream.on("data", function(chunk) {
-        debug4("wrapped data");
-        if (state.decoder) chunk = state.decoder.write(chunk);
-        if (state.objectMode && (chunk === null || chunk === void 0)) return;
-        else if (!state.objectMode && (!chunk || !chunk.length)) return;
-        var ret = _this.push(chunk);
-        if (!ret) {
-          paused = true;
-          stream.pause();
+        function onclose() {
+          if (promiseResolve !== null) ondata(null);
         }
-      });
-      for (var i in stream) {
-        if (this[i] === void 0 && typeof stream[i] === "function") {
-          this[i] = /* @__PURE__ */ (function(method) {
-            return function() {
-              return stream[method].apply(stream, arguments);
-            };
-          })(i);
+        function ondata(data) {
+          if (promiseReject === null) return;
+          if (error3) promiseReject(error3);
+          else if (data === null && (stream._duplexState & READ_DONE) === 0) promiseReject(STREAM_DESTROYED);
+          else promiseResolve({ value: data, done: data === null });
+          promiseReject = promiseResolve = null;
         }
-      }
-      for (var n = 0; n < kProxyEvents.length; n++) {
-        stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));
-      }
-      this._read = function(n2) {
-        debug4("wrapped _read", n2);
-        if (paused) {
-          paused = false;
-          stream.resume();
+        function destroy(err) {
+          stream.destroy(err);
+          return new Promise((resolve5, reject) => {
+            if (stream._duplexState & DESTROYED) return resolve5({ value: void 0, done: true });
+            stream.once("close", function() {
+              if (err) reject(err);
+              else resolve5({ value: void 0, done: true });
+            });
+          });
         }
-      };
-      return this;
+      }
     };
-    Object.defineProperty(Readable.prototype, "readableHighWaterMark", {
-      // making it explicit this property is not enumerable
-      // because otherwise some prototype manipulation in
-      // userland will fail
-      enumerable: false,
-      get: function() {
-        return this._readableState.highWaterMark;
+    var Writable = class extends Stream {
+      constructor(opts) {
+        super(opts);
+        this._duplexState |= OPENING | READ_DONE;
+        this._writableState = new WritableState(this, opts);
+        if (opts) {
+          if (opts.writev) this._writev = opts.writev;
+          if (opts.write) this._write = opts.write;
+          if (opts.final) this._final = opts.final;
+          if (opts.eagerOpen) this._writableState.updateNextTick();
+        }
       }
-    });
-    Readable._fromList = fromList;
-    function fromList(n, state) {
-      if (state.length === 0) return null;
-      var ret;
-      if (state.objectMode) ret = state.buffer.shift();
-      else if (!n || n >= state.length) {
-        if (state.decoder) ret = state.buffer.join("");
-        else if (state.buffer.length === 1) ret = state.buffer.head.data;
-        else ret = state.buffer.concat(state.length);
-        state.buffer.clear();
-      } else {
-        ret = fromListPartial(n, state.buffer, state.decoder);
+      cork() {
+        this._duplexState |= WRITE_CORKED;
       }
-      return ret;
-    }
-    function fromListPartial(n, list, hasStrings) {
-      var ret;
-      if (n < list.head.data.length) {
-        ret = list.head.data.slice(0, n);
-        list.head.data = list.head.data.slice(n);
-      } else if (n === list.head.data.length) {
-        ret = list.shift();
-      } else {
-        ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list);
+      uncork() {
+        this._duplexState &= WRITE_NOT_CORKED;
+        this._writableState.updateNextTick();
       }
-      return ret;
-    }
-    function copyFromBufferString(n, list) {
-      var p = list.head;
-      var c = 1;
-      var ret = p.data;
-      n -= ret.length;
-      while (p = p.next) {
-        var str2 = p.data;
-        var nb = n > str2.length ? str2.length : n;
-        if (nb === str2.length) ret += str2;
-        else ret += str2.slice(0, n);
-        n -= nb;
-        if (n === 0) {
-          if (nb === str2.length) {
-            ++c;
-            if (p.next) list.head = p.next;
-            else list.head = list.tail = null;
-          } else {
-            list.head = p;
-            p.data = str2.slice(nb);
-          }
-          break;
-        }
-        ++c;
+      _writev(batch, cb) {
+        cb(null);
       }
-      list.length -= c;
-      return ret;
-    }
-    function copyFromBuffer(n, list) {
-      var ret = Buffer2.allocUnsafe(n);
-      var p = list.head;
-      var c = 1;
-      p.data.copy(ret);
-      n -= p.data.length;
-      while (p = p.next) {
-        var buf = p.data;
-        var nb = n > buf.length ? buf.length : n;
-        buf.copy(ret, ret.length - n, 0, nb);
-        n -= nb;
-        if (n === 0) {
-          if (nb === buf.length) {
-            ++c;
-            if (p.next) list.head = p.next;
-            else list.head = list.tail = null;
-          } else {
-            list.head = p;
-            p.data = buf.slice(nb);
-          }
-          break;
+      _write(data, cb) {
+        this._writableState.autoBatch(data, cb);
+      }
+      _final(cb) {
+        cb(null);
+      }
+      static isBackpressured(ws) {
+        return (ws._duplexState & WRITE_BACKPRESSURE_STATUS) !== 0;
+      }
+      static drained(ws) {
+        if (ws.destroyed) return Promise.resolve(false);
+        const state = ws._writableState;
+        const pending = isWritev(ws) ? Math.min(1, state.queue.length) : state.queue.length;
+        const writes = pending + (ws._duplexState & WRITE_WRITING ? 1 : 0);
+        if (writes === 0) return Promise.resolve(true);
+        if (state.drains === null) state.drains = [];
+        return new Promise((resolve5) => {
+          state.drains.push({ writes, resolve: resolve5 });
+        });
+      }
+      write(data) {
+        this._writableState.updateNextTick();
+        return this._writableState.push(data);
+      }
+      end(data) {
+        this._writableState.updateNextTick();
+        this._writableState.end(data);
+        return this;
+      }
+    };
+    var Duplex = class extends Readable {
+      // and Writable
+      constructor(opts) {
+        super(opts);
+        this._duplexState = OPENING | this._duplexState & READ_READ_AHEAD;
+        this._writableState = new WritableState(this, opts);
+        if (opts) {
+          if (opts.writev) this._writev = opts.writev;
+          if (opts.write) this._write = opts.write;
+          if (opts.final) this._final = opts.final;
         }
-        ++c;
       }
-      list.length -= c;
-      return ret;
-    }
-    function endReadable(stream) {
-      var state = stream._readableState;
-      if (state.length > 0) throw new Error('"endReadable()" called on non-empty stream');
-      if (!state.endEmitted) {
-        state.ended = true;
-        pna.nextTick(endReadableNT, state, stream);
+      cork() {
+        this._duplexState |= WRITE_CORKED;
       }
-    }
-    function endReadableNT(state, stream) {
-      if (!state.endEmitted && state.length === 0) {
-        state.endEmitted = true;
-        stream.readable = false;
-        stream.emit("end");
+      uncork() {
+        this._duplexState &= WRITE_NOT_CORKED;
+        this._writableState.updateNextTick();
       }
-    }
-    function indexOf(xs, x) {
-      for (var i = 0, l = xs.length; i < l; i++) {
-        if (xs[i] === x) return i;
+      _writev(batch, cb) {
+        cb(null);
       }
-      return -1;
-    }
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/lib/_stream_transform.js
-var require_stream_transform = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_transform.js"(exports2, module2) {
-    "use strict";
-    module2.exports = Transform;
-    var Duplex = require_stream_duplex();
-    var util = Object.create(require_util19());
-    util.inherits = require_inherits();
-    util.inherits(Transform, Duplex);
-    function afterTransform(er, data) {
-      var ts = this._transformState;
-      ts.transforming = false;
-      var cb = ts.writecb;
-      if (!cb) {
-        return this.emit("error", new Error("write callback called multiple times"));
+      _write(data, cb) {
+        this._writableState.autoBatch(data, cb);
       }
-      ts.writechunk = null;
-      ts.writecb = null;
-      if (data != null)
-        this.push(data);
-      cb(er);
-      var rs = this._readableState;
-      rs.reading = false;
-      if (rs.needReadable || rs.length < rs.highWaterMark) {
-        this._read(rs.highWaterMark);
+      _final(cb) {
+        cb(null);
       }
-    }
-    function Transform(options) {
-      if (!(this instanceof Transform)) return new Transform(options);
-      Duplex.call(this, options);
-      this._transformState = {
-        afterTransform: afterTransform.bind(this),
-        needTransform: false,
-        transforming: false,
-        writecb: null,
-        writechunk: null,
-        writeencoding: null
-      };
-      this._readableState.needReadable = true;
-      this._readableState.sync = false;
-      if (options) {
-        if (typeof options.transform === "function") this._transform = options.transform;
-        if (typeof options.flush === "function") this._flush = options.flush;
+      write(data) {
+        this._writableState.updateNextTick();
+        return this._writableState.push(data);
       }
-      this.on("prefinish", prefinish);
-    }
-    function prefinish() {
-      var _this = this;
-      if (typeof this._flush === "function") {
-        this._flush(function(er, data) {
-          done(_this, er, data);
-        });
-      } else {
-        done(this, null, null);
+      end(data) {
+        this._writableState.updateNextTick();
+        this._writableState.end(data);
+        return this;
       }
-    }
-    Transform.prototype.push = function(chunk, encoding) {
-      this._transformState.needTransform = false;
-      return Duplex.prototype.push.call(this, chunk, encoding);
-    };
-    Transform.prototype._transform = function(chunk, encoding, cb) {
-      throw new Error("_transform() is not implemented");
     };
-    Transform.prototype._write = function(chunk, encoding, cb) {
-      var ts = this._transformState;
-      ts.writecb = cb;
-      ts.writechunk = chunk;
-      ts.writeencoding = encoding;
-      if (!ts.transforming) {
-        var rs = this._readableState;
-        if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);
+    var Transform = class extends Duplex {
+      constructor(opts) {
+        super(opts);
+        this._transformState = new TransformState(this);
+        if (opts) {
+          if (opts.transform) this._transform = opts.transform;
+          if (opts.flush) this._flush = opts.flush;
+        }
       }
-    };
-    Transform.prototype._read = function(n) {
-      var ts = this._transformState;
-      if (ts.writechunk !== null && ts.writecb && !ts.transforming) {
-        ts.transforming = true;
-        this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);
-      } else {
-        ts.needTransform = true;
+      _write(data, cb) {
+        if (this._readableState.buffered >= this._readableState.highWaterMark) {
+          this._transformState.data = data;
+        } else {
+          this._transform(data, this._transformState.afterTransform);
+        }
       }
-    };
-    Transform.prototype._destroy = function(err, cb) {
-      var _this2 = this;
-      Duplex.prototype._destroy.call(this, err, function(err2) {
-        cb(err2);
-        _this2.emit("close");
-      });
-    };
-    function done(stream, er, data) {
-      if (er) return stream.emit("error", er);
-      if (data != null)
-        stream.push(data);
-      if (stream._writableState.length) throw new Error("Calling transform done when ws.length != 0");
-      if (stream._transformState.transforming) throw new Error("Calling transform done when still transforming");
-      return stream.push(null);
-    }
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/lib/_stream_passthrough.js
-var require_stream_passthrough = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_passthrough.js"(exports2, module2) {
-    "use strict";
-    module2.exports = PassThrough;
-    var Transform = require_stream_transform();
-    var util = Object.create(require_util19());
-    util.inherits = require_inherits();
-    util.inherits(PassThrough, Transform);
-    function PassThrough(options) {
-      if (!(this instanceof PassThrough)) return new PassThrough(options);
-      Transform.call(this, options);
-    }
-    PassThrough.prototype._transform = function(chunk, encoding, cb) {
-      cb(null, chunk);
-    };
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/readable.js
-var require_readable3 = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/readable.js"(exports2, module2) {
-    var Stream = require("stream");
-    if (process.env.READABLE_STREAM === "disable" && Stream) {
-      module2.exports = Stream;
-      exports2 = module2.exports = Stream.Readable;
-      exports2.Readable = Stream.Readable;
-      exports2.Writable = Stream.Writable;
-      exports2.Duplex = Stream.Duplex;
-      exports2.Transform = Stream.Transform;
-      exports2.PassThrough = Stream.PassThrough;
-      exports2.Stream = Stream;
-    } else {
-      exports2 = module2.exports = require_stream_readable();
-      exports2.Stream = Stream || exports2;
-      exports2.Readable = exports2;
-      exports2.Writable = require_stream_writable();
-      exports2.Duplex = require_stream_duplex();
-      exports2.Transform = require_stream_transform();
-      exports2.PassThrough = require_stream_passthrough();
-    }
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/passthrough.js
-var require_passthrough = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/passthrough.js"(exports2, module2) {
-    module2.exports = require_readable3().PassThrough;
-  }
-});
-
-// node_modules/lazystream/lib/lazystream.js
-var require_lazystream = __commonJS({
-  "node_modules/lazystream/lib/lazystream.js"(exports2, module2) {
-    var util = require("util");
-    var PassThrough = require_passthrough();
-    module2.exports = {
-      Readable,
-      Writable
-    };
-    util.inherits(Readable, PassThrough);
-    util.inherits(Writable, PassThrough);
-    function beforeFirstCall(instance, method, callback) {
-      instance[method] = function() {
-        delete instance[method];
-        callback.apply(this, arguments);
-        return this[method].apply(this, arguments);
-      };
-    }
-    function Readable(fn, options) {
-      if (!(this instanceof Readable))
-        return new Readable(fn, options);
-      PassThrough.call(this, options);
-      beforeFirstCall(this, "_read", function() {
-        var source = fn.call(this, options);
-        var emit = this.emit.bind(this, "error");
-        source.on("error", emit);
-        source.pipe(this);
-      });
-      this.emit("readable");
-    }
-    function Writable(fn, options) {
-      if (!(this instanceof Writable))
-        return new Writable(fn, options);
-      PassThrough.call(this, options);
-      beforeFirstCall(this, "_write", function() {
-        var destination = fn.call(this, options);
-        var emit = this.emit.bind(this, "error");
-        destination.on("error", emit);
-        this.pipe(destination);
-      });
-      this.emit("writable");
-    }
-  }
-});
-
-// node_modules/normalize-path/index.js
-var require_normalize_path = __commonJS({
-  "node_modules/normalize-path/index.js"(exports2, module2) {
-    module2.exports = function(path7, stripTrailing) {
-      if (typeof path7 !== "string") {
-        throw new TypeError("expected path to be a string");
+      _read(cb) {
+        if (this._transformState.data !== null) {
+          const data = this._transformState.data;
+          this._transformState.data = null;
+          cb(null);
+          this._transform(data, this._transformState.afterTransform);
+        } else {
+          cb(null);
+        }
       }
-      if (path7 === "\\" || path7 === "/") return "/";
-      var len = path7.length;
-      if (len <= 1) return path7;
-      var prefix = "";
-      if (len > 4 && path7[3] === "\\") {
-        var ch = path7[2];
-        if ((ch === "?" || ch === ".") && path7.slice(0, 2) === "\\\\") {
-          path7 = path7.slice(2);
-          prefix = "//";
+      destroy(err) {
+        super.destroy(err);
+        if (this._transformState.data !== null) {
+          this._transformState.data = null;
+          this._transformState.afterTransform();
         }
       }
-      var segs = path7.split(/[/\\]+/);
-      if (stripTrailing !== false && segs[segs.length - 1] === "") {
-        segs.pop();
+      _transform(data, cb) {
+        cb(null, data);
+      }
+      _flush(cb) {
+        cb(null);
+      }
+      _final(cb) {
+        this._transformState.afterFinal = cb;
+        this._flush(transformAfterFlush.bind(this));
       }
-      return prefix + segs.join("/");
     };
-  }
-});
-
-// node_modules/lodash/identity.js
-var require_identity = __commonJS({
-  "node_modules/lodash/identity.js"(exports2, module2) {
-    function identity(value) {
-      return value;
+    var PassThrough = class extends Transform {
+    };
+    function transformAfterFlush(err, data) {
+      const cb = this._transformState.afterFinal;
+      if (err) return cb(err);
+      if (data !== null && data !== void 0) this.push(data);
+      this.push(null);
+      cb(null);
     }
-    module2.exports = identity;
-  }
-});
-
-// node_modules/lodash/_apply.js
-var require_apply = __commonJS({
-  "node_modules/lodash/_apply.js"(exports2, module2) {
-    function apply(func, thisArg, args) {
-      switch (args.length) {
-        case 0:
-          return func.call(thisArg);
-        case 1:
-          return func.call(thisArg, args[0]);
-        case 2:
-          return func.call(thisArg, args[0], args[1]);
-        case 3:
-          return func.call(thisArg, args[0], args[1], args[2]);
-      }
-      return func.apply(thisArg, args);
+    function pipelinePromise(...streams) {
+      return new Promise((resolve5, reject) => {
+        return pipeline(...streams, (err) => {
+          if (err) return reject(err);
+          resolve5();
+        });
+      });
     }
-    module2.exports = apply;
-  }
-});
-
-// node_modules/lodash/_overRest.js
-var require_overRest = __commonJS({
-  "node_modules/lodash/_overRest.js"(exports2, module2) {
-    var apply = require_apply();
-    var nativeMax = Math.max;
-    function overRest(func, start, transform) {
-      start = nativeMax(start === void 0 ? func.length - 1 : start, 0);
-      return function() {
-        var args = arguments, index = -1, length = nativeMax(args.length - start, 0), array = Array(length);
-        while (++index < length) {
-          array[index] = args[start + index];
+    function pipeline(stream, ...streams) {
+      const all = Array.isArray(stream) ? [...stream, ...streams] : [stream, ...streams];
+      const done = all.length && typeof all[all.length - 1] === "function" ? all.pop() : null;
+      if (all.length < 2) throw new Error("Pipeline requires at least 2 streams");
+      let src = all[0];
+      let dest = null;
+      let error3 = null;
+      for (let i = 1; i < all.length; i++) {
+        dest = all[i];
+        if (isStreamx(src)) {
+          src.pipe(dest, onerror);
+        } else {
+          errorHandle(src, true, i > 1, onerror);
+          src.pipe(dest);
         }
-        index = -1;
-        var otherArgs = Array(start + 1);
-        while (++index < start) {
-          otherArgs[index] = args[index];
+        src = dest;
+      }
+      if (done) {
+        let fin = false;
+        const autoDestroy = isStreamx(dest) || !!(dest._writableState && dest._writableState.autoDestroy);
+        dest.on("error", (err) => {
+          if (error3 === null) error3 = err;
+        });
+        dest.on("finish", () => {
+          fin = true;
+          if (!autoDestroy) done(error3);
+        });
+        if (autoDestroy) {
+          dest.on("close", () => done(error3 || (fin ? null : PREMATURE_CLOSE)));
         }
-        otherArgs[start] = transform(array);
-        return apply(func, this, otherArgs);
-      };
-    }
-    module2.exports = overRest;
-  }
-});
-
-// node_modules/lodash/constant.js
-var require_constant = __commonJS({
-  "node_modules/lodash/constant.js"(exports2, module2) {
-    function constant(value) {
-      return function() {
-        return value;
-      };
-    }
-    module2.exports = constant;
-  }
-});
-
-// node_modules/lodash/_freeGlobal.js
-var require_freeGlobal = __commonJS({
-  "node_modules/lodash/_freeGlobal.js"(exports2, module2) {
-    var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
-    module2.exports = freeGlobal;
-  }
-});
-
-// node_modules/lodash/_root.js
-var require_root = __commonJS({
-  "node_modules/lodash/_root.js"(exports2, module2) {
-    var freeGlobal = require_freeGlobal();
-    var freeSelf = typeof self == "object" && self && self.Object === Object && self;
-    var root = freeGlobal || freeSelf || Function("return this")();
-    module2.exports = root;
-  }
-});
-
-// node_modules/lodash/_Symbol.js
-var require_Symbol = __commonJS({
-  "node_modules/lodash/_Symbol.js"(exports2, module2) {
-    var root = require_root();
-    var Symbol2 = root.Symbol;
-    module2.exports = Symbol2;
-  }
-});
-
-// node_modules/lodash/_getRawTag.js
-var require_getRawTag = __commonJS({
-  "node_modules/lodash/_getRawTag.js"(exports2, module2) {
-    var Symbol2 = require_Symbol();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    var nativeObjectToString = objectProto.toString;
-    var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0;
-    function getRawTag(value) {
-      var isOwn = hasOwnProperty.call(value, symToStringTag), tag = value[symToStringTag];
-      try {
-        value[symToStringTag] = void 0;
-        var unmasked = true;
-      } catch (e) {
       }
-      var result = nativeObjectToString.call(value);
-      if (unmasked) {
-        if (isOwn) {
-          value[symToStringTag] = tag;
-        } else {
-          delete value[symToStringTag];
+      return dest;
+      function errorHandle(s, rd, wr, onerror2) {
+        s.on("error", onerror2);
+        s.on("close", onclose);
+        function onclose() {
+          if (rd && s._readableState && !s._readableState.ended) return onerror2(PREMATURE_CLOSE);
+          if (wr && s._writableState && !s._writableState.ended) return onerror2(PREMATURE_CLOSE);
         }
       }
-      return result;
-    }
-    module2.exports = getRawTag;
-  }
-});
-
-// node_modules/lodash/_objectToString.js
-var require_objectToString = __commonJS({
-  "node_modules/lodash/_objectToString.js"(exports2, module2) {
-    var objectProto = Object.prototype;
-    var nativeObjectToString = objectProto.toString;
-    function objectToString(value) {
-      return nativeObjectToString.call(value);
-    }
-    module2.exports = objectToString;
-  }
-});
-
-// node_modules/lodash/_baseGetTag.js
-var require_baseGetTag = __commonJS({
-  "node_modules/lodash/_baseGetTag.js"(exports2, module2) {
-    var Symbol2 = require_Symbol();
-    var getRawTag = require_getRawTag();
-    var objectToString = require_objectToString();
-    var nullTag = "[object Null]";
-    var undefinedTag = "[object Undefined]";
-    var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0;
-    function baseGetTag(value) {
-      if (value == null) {
-        return value === void 0 ? undefinedTag : nullTag;
+      function onerror(err) {
+        if (!err || error3) return;
+        error3 = err;
+        for (const s of all) {
+          s.destroy(err);
+        }
       }
-      return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);
-    }
-    module2.exports = baseGetTag;
-  }
-});
-
-// node_modules/lodash/isObject.js
-var require_isObject = __commonJS({
-  "node_modules/lodash/isObject.js"(exports2, module2) {
-    function isObject2(value) {
-      var type2 = typeof value;
-      return value != null && (type2 == "object" || type2 == "function");
     }
-    module2.exports = isObject2;
-  }
-});
-
-// node_modules/lodash/isFunction.js
-var require_isFunction = __commonJS({
-  "node_modules/lodash/isFunction.js"(exports2, module2) {
-    var baseGetTag = require_baseGetTag();
-    var isObject2 = require_isObject();
-    var asyncTag = "[object AsyncFunction]";
-    var funcTag = "[object Function]";
-    var genTag = "[object GeneratorFunction]";
-    var proxyTag = "[object Proxy]";
-    function isFunction(value) {
-      if (!isObject2(value)) {
-        return false;
-      }
-      var tag = baseGetTag(value);
-      return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
+    function echo(s) {
+      return s;
     }
-    module2.exports = isFunction;
-  }
-});
-
-// node_modules/lodash/_coreJsData.js
-var require_coreJsData = __commonJS({
-  "node_modules/lodash/_coreJsData.js"(exports2, module2) {
-    var root = require_root();
-    var coreJsData = root["__core-js_shared__"];
-    module2.exports = coreJsData;
-  }
-});
-
-// node_modules/lodash/_isMasked.js
-var require_isMasked = __commonJS({
-  "node_modules/lodash/_isMasked.js"(exports2, module2) {
-    var coreJsData = require_coreJsData();
-    var maskSrcKey = (function() {
-      var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || "");
-      return uid ? "Symbol(src)_1." + uid : "";
-    })();
-    function isMasked(func) {
-      return !!maskSrcKey && maskSrcKey in func;
+    function isStream(stream) {
+      return !!stream._readableState || !!stream._writableState;
     }
-    module2.exports = isMasked;
-  }
-});
-
-// node_modules/lodash/_toSource.js
-var require_toSource = __commonJS({
-  "node_modules/lodash/_toSource.js"(exports2, module2) {
-    var funcProto = Function.prototype;
-    var funcToString = funcProto.toString;
-    function toSource(func) {
-      if (func != null) {
-        try {
-          return funcToString.call(func);
-        } catch (e) {
-        }
-        try {
-          return func + "";
-        } catch (e) {
-        }
-      }
-      return "";
+    function isStreamx(stream) {
+      return typeof stream._duplexState === "number" && isStream(stream);
     }
-    module2.exports = toSource;
-  }
-});
-
-// node_modules/lodash/_baseIsNative.js
-var require_baseIsNative = __commonJS({
-  "node_modules/lodash/_baseIsNative.js"(exports2, module2) {
-    var isFunction = require_isFunction();
-    var isMasked = require_isMasked();
-    var isObject2 = require_isObject();
-    var toSource = require_toSource();
-    var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
-    var reIsHostCtor = /^\[object .+?Constructor\]$/;
-    var funcProto = Function.prototype;
-    var objectProto = Object.prototype;
-    var funcToString = funcProto.toString;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    var reIsNative = RegExp(
-      "^" + funcToString.call(hasOwnProperty).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
-    );
-    function baseIsNative(value) {
-      if (!isObject2(value) || isMasked(value)) {
-        return false;
-      }
-      var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
-      return pattern.test(toSource(value));
+    function isEnded(stream) {
+      return !!stream._readableState && stream._readableState.ended;
     }
-    module2.exports = baseIsNative;
-  }
-});
-
-// node_modules/lodash/_getValue.js
-var require_getValue = __commonJS({
-  "node_modules/lodash/_getValue.js"(exports2, module2) {
-    function getValue(object, key) {
-      return object == null ? void 0 : object[key];
+    function isFinished(stream) {
+      return !!stream._writableState && stream._writableState.ended;
     }
-    module2.exports = getValue;
-  }
-});
-
-// node_modules/lodash/_getNative.js
-var require_getNative = __commonJS({
-  "node_modules/lodash/_getNative.js"(exports2, module2) {
-    var baseIsNative = require_baseIsNative();
-    var getValue = require_getValue();
-    function getNative(object, key) {
-      var value = getValue(object, key);
-      return baseIsNative(value) ? value : void 0;
+    function getStreamError(stream, opts = {}) {
+      const err = stream._readableState && stream._readableState.error || stream._writableState && stream._writableState.error;
+      return !opts.all && err === STREAM_DESTROYED ? null : err;
     }
-    module2.exports = getNative;
-  }
-});
-
-// node_modules/lodash/_defineProperty.js
-var require_defineProperty = __commonJS({
-  "node_modules/lodash/_defineProperty.js"(exports2, module2) {
-    var getNative = require_getNative();
-    var defineProperty = (function() {
-      try {
-        var func = getNative(Object, "defineProperty");
-        func({}, "", {});
-        return func;
-      } catch (e) {
-      }
-    })();
-    module2.exports = defineProperty;
-  }
-});
-
-// node_modules/lodash/_baseSetToString.js
-var require_baseSetToString = __commonJS({
-  "node_modules/lodash/_baseSetToString.js"(exports2, module2) {
-    var constant = require_constant();
-    var defineProperty = require_defineProperty();
-    var identity = require_identity();
-    var baseSetToString = !defineProperty ? identity : function(func, string) {
-      return defineProperty(func, "toString", {
-        "configurable": true,
-        "enumerable": false,
-        "value": constant(string),
-        "writable": true
-      });
-    };
-    module2.exports = baseSetToString;
-  }
-});
-
-// node_modules/lodash/_shortOut.js
-var require_shortOut = __commonJS({
-  "node_modules/lodash/_shortOut.js"(exports2, module2) {
-    var HOT_COUNT = 800;
-    var HOT_SPAN = 16;
-    var nativeNow = Date.now;
-    function shortOut(func) {
-      var count = 0, lastCalled = 0;
-      return function() {
-        var stamp = nativeNow(), remaining = HOT_SPAN - (stamp - lastCalled);
-        lastCalled = stamp;
-        if (remaining > 0) {
-          if (++count >= HOT_COUNT) {
-            return arguments[0];
-          }
-        } else {
-          count = 0;
-        }
-        return func.apply(void 0, arguments);
-      };
+    function isReadStreamx(stream) {
+      return isStreamx(stream) && stream.readable;
     }
-    module2.exports = shortOut;
-  }
-});
-
-// node_modules/lodash/_setToString.js
-var require_setToString = __commonJS({
-  "node_modules/lodash/_setToString.js"(exports2, module2) {
-    var baseSetToString = require_baseSetToString();
-    var shortOut = require_shortOut();
-    var setToString = shortOut(baseSetToString);
-    module2.exports = setToString;
-  }
-});
-
-// node_modules/lodash/_baseRest.js
-var require_baseRest = __commonJS({
-  "node_modules/lodash/_baseRest.js"(exports2, module2) {
-    var identity = require_identity();
-    var overRest = require_overRest();
-    var setToString = require_setToString();
-    function baseRest(func, start) {
-      return setToString(overRest(func, start, identity), func + "");
+    function isTypedArray(data) {
+      return typeof data === "object" && data !== null && typeof data.byteLength === "number";
     }
-    module2.exports = baseRest;
-  }
-});
-
-// node_modules/lodash/eq.js
-var require_eq2 = __commonJS({
-  "node_modules/lodash/eq.js"(exports2, module2) {
-    function eq(value, other) {
-      return value === other || value !== value && other !== other;
+    function defaultByteLength(data) {
+      return isTypedArray(data) ? data.byteLength : 1024;
     }
-    module2.exports = eq;
-  }
-});
-
-// node_modules/lodash/isLength.js
-var require_isLength = __commonJS({
-  "node_modules/lodash/isLength.js"(exports2, module2) {
-    var MAX_SAFE_INTEGER = 9007199254740991;
-    function isLength(value) {
-      return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
+    function noop3() {
     }
-    module2.exports = isLength;
-  }
-});
-
-// node_modules/lodash/isArrayLike.js
-var require_isArrayLike = __commonJS({
-  "node_modules/lodash/isArrayLike.js"(exports2, module2) {
-    var isFunction = require_isFunction();
-    var isLength = require_isLength();
-    function isArrayLike(value) {
-      return value != null && isLength(value.length) && !isFunction(value);
+    function abort() {
+      this.destroy(new Error("Stream aborted."));
     }
-    module2.exports = isArrayLike;
-  }
-});
-
-// node_modules/lodash/_isIndex.js
-var require_isIndex = __commonJS({
-  "node_modules/lodash/_isIndex.js"(exports2, module2) {
-    var MAX_SAFE_INTEGER = 9007199254740991;
-    var reIsUint = /^(?:0|[1-9]\d*)$/;
-    function isIndex(value, length) {
-      var type2 = typeof value;
-      length = length == null ? MAX_SAFE_INTEGER : length;
-      return !!length && (type2 == "number" || type2 != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length);
+    function isWritev(s) {
+      return s._writev !== Writable.prototype._writev && s._writev !== Duplex.prototype._writev;
     }
-    module2.exports = isIndex;
+    module2.exports = {
+      pipeline,
+      pipelinePromise,
+      isStream,
+      isStreamx,
+      isEnded,
+      isFinished,
+      getStreamError,
+      Stream,
+      Writable,
+      Readable,
+      Duplex,
+      Transform,
+      // Export PassThrough for compatibility with Node.js core's stream module
+      PassThrough
+    };
   }
 });
 
-// node_modules/lodash/_isIterateeCall.js
-var require_isIterateeCall = __commonJS({
-  "node_modules/lodash/_isIterateeCall.js"(exports2, module2) {
-    var eq = require_eq2();
-    var isArrayLike = require_isArrayLike();
-    var isIndex = require_isIndex();
-    var isObject2 = require_isObject();
-    function isIterateeCall(value, index, object) {
-      if (!isObject2(object)) {
-        return false;
-      }
-      var type2 = typeof index;
-      if (type2 == "number" ? isArrayLike(object) && isIndex(index, object.length) : type2 == "string" && index in object) {
-        return eq(object[index], value);
+// node_modules/tar-stream/headers.js
+var require_headers3 = __commonJS({
+  "node_modules/tar-stream/headers.js"(exports2) {
+    var b4a = require_b4a();
+    var ZEROS = "0000000000000000000";
+    var SEVENS = "7777777777777777777";
+    var ZERO_OFFSET = "0".charCodeAt(0);
+    var USTAR_MAGIC = b4a.from([117, 115, 116, 97, 114, 0]);
+    var USTAR_VER = b4a.from([ZERO_OFFSET, ZERO_OFFSET]);
+    var GNU_MAGIC = b4a.from([117, 115, 116, 97, 114, 32]);
+    var GNU_VER = b4a.from([32, 0]);
+    var MASK = 4095;
+    var MAGIC_OFFSET = 257;
+    var VERSION_OFFSET = 263;
+    exports2.decodeLongPath = function decodeLongPath(buf, encoding) {
+      return decodeStr(buf, 0, buf.length, encoding);
+    };
+    exports2.encodePax = function encodePax(opts) {
+      let result = "";
+      if (opts.name) result += addLength(" path=" + opts.name + "\n");
+      if (opts.linkname) result += addLength(" linkpath=" + opts.linkname + "\n");
+      const pax = opts.pax;
+      if (pax) {
+        for (const key in pax) {
+          result += addLength(" " + key + "=" + pax[key] + "\n");
+        }
       }
-      return false;
-    }
-    module2.exports = isIterateeCall;
-  }
-});
-
-// node_modules/lodash/_baseTimes.js
-var require_baseTimes = __commonJS({
-  "node_modules/lodash/_baseTimes.js"(exports2, module2) {
-    function baseTimes(n, iteratee) {
-      var index = -1, result = Array(n);
-      while (++index < n) {
-        result[index] = iteratee(index);
+      return b4a.from(result);
+    };
+    exports2.decodePax = function decodePax(buf) {
+      const result = {};
+      while (buf.length) {
+        let i = 0;
+        while (i < buf.length && buf[i] !== 32) i++;
+        const len = parseInt(b4a.toString(buf.subarray(0, i)), 10);
+        if (!len) return result;
+        const b = b4a.toString(buf.subarray(i + 1, len - 1));
+        const keyIndex = b.indexOf("=");
+        if (keyIndex === -1) return result;
+        result[b.slice(0, keyIndex)] = b.slice(keyIndex + 1);
+        buf = buf.subarray(len);
       }
       return result;
-    }
-    module2.exports = baseTimes;
-  }
-});
-
-// node_modules/lodash/isObjectLike.js
-var require_isObjectLike = __commonJS({
-  "node_modules/lodash/isObjectLike.js"(exports2, module2) {
-    function isObjectLike(value) {
-      return value != null && typeof value == "object";
-    }
-    module2.exports = isObjectLike;
-  }
-});
-
-// node_modules/lodash/_baseIsArguments.js
-var require_baseIsArguments = __commonJS({
-  "node_modules/lodash/_baseIsArguments.js"(exports2, module2) {
-    var baseGetTag = require_baseGetTag();
-    var isObjectLike = require_isObjectLike();
-    var argsTag = "[object Arguments]";
-    function baseIsArguments(value) {
-      return isObjectLike(value) && baseGetTag(value) == argsTag;
-    }
-    module2.exports = baseIsArguments;
-  }
-});
-
-// node_modules/lodash/isArguments.js
-var require_isArguments = __commonJS({
-  "node_modules/lodash/isArguments.js"(exports2, module2) {
-    var baseIsArguments = require_baseIsArguments();
-    var isObjectLike = require_isObjectLike();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    var propertyIsEnumerable = objectProto.propertyIsEnumerable;
-    var isArguments = baseIsArguments(/* @__PURE__ */ (function() {
-      return arguments;
-    })()) ? baseIsArguments : function(value) {
-      return isObjectLike(value) && hasOwnProperty.call(value, "callee") && !propertyIsEnumerable.call(value, "callee");
     };
-    module2.exports = isArguments;
-  }
-});
-
-// node_modules/lodash/isArray.js
-var require_isArray = __commonJS({
-  "node_modules/lodash/isArray.js"(exports2, module2) {
-    var isArray = Array.isArray;
-    module2.exports = isArray;
-  }
-});
-
-// node_modules/lodash/stubFalse.js
-var require_stubFalse = __commonJS({
-  "node_modules/lodash/stubFalse.js"(exports2, module2) {
-    function stubFalse() {
-      return false;
+    exports2.encode = function encode(opts) {
+      const buf = b4a.alloc(512);
+      let name = opts.name;
+      let prefix = "";
+      if (opts.typeflag === 5 && name[name.length - 1] !== "/") name += "/";
+      if (b4a.byteLength(name) !== name.length) return null;
+      while (b4a.byteLength(name) > 100) {
+        const i = name.indexOf("/");
+        if (i === -1) return null;
+        prefix += prefix ? "/" + name.slice(0, i) : name.slice(0, i);
+        name = name.slice(i + 1);
+      }
+      if (b4a.byteLength(name) > 100 || b4a.byteLength(prefix) > 155) return null;
+      if (opts.linkname && b4a.byteLength(opts.linkname) > 100) return null;
+      b4a.write(buf, name);
+      b4a.write(buf, encodeOct(opts.mode & MASK, 6), 100);
+      b4a.write(buf, encodeOct(opts.uid, 6), 108);
+      b4a.write(buf, encodeOct(opts.gid, 6), 116);
+      encodeSize(opts.size, buf, 124);
+      b4a.write(buf, encodeOct(opts.mtime.getTime() / 1e3 | 0, 11), 136);
+      buf[156] = ZERO_OFFSET + toTypeflag(opts.type);
+      if (opts.linkname) b4a.write(buf, opts.linkname, 157);
+      b4a.copy(USTAR_MAGIC, buf, MAGIC_OFFSET);
+      b4a.copy(USTAR_VER, buf, VERSION_OFFSET);
+      if (opts.uname) b4a.write(buf, opts.uname, 265);
+      if (opts.gname) b4a.write(buf, opts.gname, 297);
+      b4a.write(buf, encodeOct(opts.devmajor || 0, 6), 329);
+      b4a.write(buf, encodeOct(opts.devminor || 0, 6), 337);
+      if (prefix) b4a.write(buf, prefix, 345);
+      b4a.write(buf, encodeOct(cksum(buf), 6), 148);
+      return buf;
+    };
+    exports2.decode = function decode(buf, filenameEncoding, allowUnknownFormat) {
+      let typeflag = buf[156] === 0 ? 0 : buf[156] - ZERO_OFFSET;
+      let name = decodeStr(buf, 0, 100, filenameEncoding);
+      const mode = decodeOct(buf, 100, 8);
+      const uid = decodeOct(buf, 108, 8);
+      const gid = decodeOct(buf, 116, 8);
+      const size = decodeOct(buf, 124, 12);
+      const mtime = decodeOct(buf, 136, 12);
+      const type2 = toType(typeflag);
+      const linkname = buf[157] === 0 ? null : decodeStr(buf, 157, 100, filenameEncoding);
+      const uname = decodeStr(buf, 265, 32);
+      const gname = decodeStr(buf, 297, 32);
+      const devmajor = decodeOct(buf, 329, 8);
+      const devminor = decodeOct(buf, 337, 8);
+      const c = cksum(buf);
+      if (c === 8 * 32) return null;
+      if (c !== decodeOct(buf, 148, 8)) throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");
+      if (isUSTAR(buf)) {
+        if (buf[345]) name = decodeStr(buf, 345, 155, filenameEncoding) + "/" + name;
+      } else if (isGNU(buf)) {
+      } else {
+        if (!allowUnknownFormat) {
+          throw new Error("Invalid tar header: unknown format.");
+        }
+      }
+      if (typeflag === 0 && name && name[name.length - 1] === "/") typeflag = 5;
+      return {
+        name,
+        mode,
+        uid,
+        gid,
+        size,
+        mtime: new Date(1e3 * mtime),
+        type: type2,
+        linkname,
+        uname,
+        gname,
+        devmajor,
+        devminor,
+        pax: null
+      };
+    };
+    function isUSTAR(buf) {
+      return b4a.equals(USTAR_MAGIC, buf.subarray(MAGIC_OFFSET, MAGIC_OFFSET + 6));
     }
-    module2.exports = stubFalse;
-  }
-});
-
-// node_modules/lodash/isBuffer.js
-var require_isBuffer = __commonJS({
-  "node_modules/lodash/isBuffer.js"(exports2, module2) {
-    var root = require_root();
-    var stubFalse = require_stubFalse();
-    var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2;
-    var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2;
-    var moduleExports = freeModule && freeModule.exports === freeExports;
-    var Buffer2 = moduleExports ? root.Buffer : void 0;
-    var nativeIsBuffer = Buffer2 ? Buffer2.isBuffer : void 0;
-    var isBuffer = nativeIsBuffer || stubFalse;
-    module2.exports = isBuffer;
-  }
-});
-
-// node_modules/lodash/_baseIsTypedArray.js
-var require_baseIsTypedArray = __commonJS({
-  "node_modules/lodash/_baseIsTypedArray.js"(exports2, module2) {
-    var baseGetTag = require_baseGetTag();
-    var isLength = require_isLength();
-    var isObjectLike = require_isObjectLike();
-    var argsTag = "[object Arguments]";
-    var arrayTag = "[object Array]";
-    var boolTag = "[object Boolean]";
-    var dateTag = "[object Date]";
-    var errorTag = "[object Error]";
-    var funcTag = "[object Function]";
-    var mapTag = "[object Map]";
-    var numberTag = "[object Number]";
-    var objectTag = "[object Object]";
-    var regexpTag = "[object RegExp]";
-    var setTag = "[object Set]";
-    var stringTag = "[object String]";
-    var weakMapTag = "[object WeakMap]";
-    var arrayBufferTag = "[object ArrayBuffer]";
-    var dataViewTag = "[object DataView]";
-    var float32Tag = "[object Float32Array]";
-    var float64Tag = "[object Float64Array]";
-    var int8Tag = "[object Int8Array]";
-    var int16Tag = "[object Int16Array]";
-    var int32Tag = "[object Int32Array]";
-    var uint8Tag = "[object Uint8Array]";
-    var uint8ClampedTag = "[object Uint8ClampedArray]";
-    var uint16Tag = "[object Uint16Array]";
-    var uint32Tag = "[object Uint32Array]";
-    var typedArrayTags = {};
-    typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;
-    typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;
-    function baseIsTypedArray(value) {
-      return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)];
+    function isGNU(buf) {
+      return b4a.equals(GNU_MAGIC, buf.subarray(MAGIC_OFFSET, MAGIC_OFFSET + 6)) && b4a.equals(GNU_VER, buf.subarray(VERSION_OFFSET, VERSION_OFFSET + 2));
+    }
+    function clamp(index, len, defaultValue) {
+      if (typeof index !== "number") return defaultValue;
+      index = ~~index;
+      if (index >= len) return len;
+      if (index >= 0) return index;
+      index += len;
+      if (index >= 0) return index;
+      return 0;
     }
-    module2.exports = baseIsTypedArray;
-  }
-});
-
-// node_modules/lodash/_baseUnary.js
-var require_baseUnary = __commonJS({
-  "node_modules/lodash/_baseUnary.js"(exports2, module2) {
-    function baseUnary(func) {
-      return function(value) {
-        return func(value);
-      };
+    function toType(flag) {
+      switch (flag) {
+        case 0:
+          return "file";
+        case 1:
+          return "link";
+        case 2:
+          return "symlink";
+        case 3:
+          return "character-device";
+        case 4:
+          return "block-device";
+        case 5:
+          return "directory";
+        case 6:
+          return "fifo";
+        case 7:
+          return "contiguous-file";
+        case 72:
+          return "pax-header";
+        case 55:
+          return "pax-global-header";
+        case 27:
+          return "gnu-long-link-path";
+        case 28:
+        case 30:
+          return "gnu-long-path";
+      }
+      return null;
     }
-    module2.exports = baseUnary;
-  }
-});
-
-// node_modules/lodash/_nodeUtil.js
-var require_nodeUtil = __commonJS({
-  "node_modules/lodash/_nodeUtil.js"(exports2, module2) {
-    var freeGlobal = require_freeGlobal();
-    var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2;
-    var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2;
-    var moduleExports = freeModule && freeModule.exports === freeExports;
-    var freeProcess = moduleExports && freeGlobal.process;
-    var nodeUtil = (function() {
-      try {
-        var types = freeModule && freeModule.require && freeModule.require("util").types;
-        if (types) {
-          return types;
-        }
-        return freeProcess && freeProcess.binding && freeProcess.binding("util");
-      } catch (e) {
+    function toTypeflag(flag) {
+      switch (flag) {
+        case "file":
+          return 0;
+        case "link":
+          return 1;
+        case "symlink":
+          return 2;
+        case "character-device":
+          return 3;
+        case "block-device":
+          return 4;
+        case "directory":
+          return 5;
+        case "fifo":
+          return 6;
+        case "contiguous-file":
+          return 7;
+        case "pax-header":
+          return 72;
       }
-    })();
-    module2.exports = nodeUtil;
-  }
-});
-
-// node_modules/lodash/isTypedArray.js
-var require_isTypedArray = __commonJS({
-  "node_modules/lodash/isTypedArray.js"(exports2, module2) {
-    var baseIsTypedArray = require_baseIsTypedArray();
-    var baseUnary = require_baseUnary();
-    var nodeUtil = require_nodeUtil();
-    var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
-    var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
-    module2.exports = isTypedArray;
-  }
-});
-
-// node_modules/lodash/_arrayLikeKeys.js
-var require_arrayLikeKeys = __commonJS({
-  "node_modules/lodash/_arrayLikeKeys.js"(exports2, module2) {
-    var baseTimes = require_baseTimes();
-    var isArguments = require_isArguments();
-    var isArray = require_isArray();
-    var isBuffer = require_isBuffer();
-    var isIndex = require_isIndex();
-    var isTypedArray = require_isTypedArray();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    function arrayLikeKeys(value, inherited) {
-      var isArr = isArray(value), isArg = !isArr && isArguments(value), isBuff = !isArr && !isArg && isBuffer(value), isType = !isArr && !isArg && !isBuff && isTypedArray(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length = result.length;
-      for (var key in value) {
-        if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && // Safari 9 has enumerable `arguments.length` in strict mode.
-        (key == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
-        isBuff && (key == "offset" || key == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
-        isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || // Skip index properties.
-        isIndex(key, length)))) {
-          result.push(key);
-        }
+      return 0;
+    }
+    function indexOf(block, num, offset, end) {
+      for (; offset < end; offset++) {
+        if (block[offset] === num) return offset;
       }
-      return result;
+      return end;
     }
-    module2.exports = arrayLikeKeys;
-  }
-});
-
-// node_modules/lodash/_isPrototype.js
-var require_isPrototype = __commonJS({
-  "node_modules/lodash/_isPrototype.js"(exports2, module2) {
-    var objectProto = Object.prototype;
-    function isPrototype(value) {
-      var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto;
-      return value === proto;
+    function cksum(block) {
+      let sum = 8 * 32;
+      for (let i = 0; i < 148; i++) sum += block[i];
+      for (let j = 156; j < 512; j++) sum += block[j];
+      return sum;
     }
-    module2.exports = isPrototype;
-  }
-});
-
-// node_modules/lodash/_nativeKeysIn.js
-var require_nativeKeysIn = __commonJS({
-  "node_modules/lodash/_nativeKeysIn.js"(exports2, module2) {
-    function nativeKeysIn(object) {
-      var result = [];
-      if (object != null) {
-        for (var key in Object(object)) {
-          result.push(key);
-        }
+    function encodeOct(val, n) {
+      val = val.toString(8);
+      if (val.length > n) return SEVENS.slice(0, n) + " ";
+      return ZEROS.slice(0, n - val.length) + val + " ";
+    }
+    function encodeSizeBin(num, buf, off) {
+      buf[off] = 128;
+      for (let i = 11; i > 0; i--) {
+        buf[off + i] = num & 255;
+        num = Math.floor(num / 256);
       }
-      return result;
     }
-    module2.exports = nativeKeysIn;
-  }
-});
-
-// node_modules/lodash/_baseKeysIn.js
-var require_baseKeysIn = __commonJS({
-  "node_modules/lodash/_baseKeysIn.js"(exports2, module2) {
-    var isObject2 = require_isObject();
-    var isPrototype = require_isPrototype();
-    var nativeKeysIn = require_nativeKeysIn();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    function baseKeysIn(object) {
-      if (!isObject2(object)) {
-        return nativeKeysIn(object);
+    function encodeSize(num, buf, off) {
+      if (num.toString(8).length > 11) {
+        encodeSizeBin(num, buf, off);
+      } else {
+        b4a.write(buf, encodeOct(num, 11), off);
       }
-      var isProto = isPrototype(object), result = [];
-      for (var key in object) {
-        if (!(key == "constructor" && (isProto || !hasOwnProperty.call(object, key)))) {
-          result.push(key);
-        }
+    }
+    function parse256(buf) {
+      let positive;
+      if (buf[0] === 128) positive = true;
+      else if (buf[0] === 255) positive = false;
+      else return null;
+      const tuple = [];
+      let i;
+      for (i = buf.length - 1; i > 0; i--) {
+        const byte = buf[i];
+        if (positive) tuple.push(byte);
+        else tuple.push(255 - byte);
       }
-      return result;
+      let sum = 0;
+      const l = tuple.length;
+      for (i = 0; i < l; i++) {
+        sum += tuple[i] * Math.pow(256, i);
+      }
+      return positive ? sum : -1 * sum;
     }
-    module2.exports = baseKeysIn;
-  }
-});
-
-// node_modules/lodash/keysIn.js
-var require_keysIn = __commonJS({
-  "node_modules/lodash/keysIn.js"(exports2, module2) {
-    var arrayLikeKeys = require_arrayLikeKeys();
-    var baseKeysIn = require_baseKeysIn();
-    var isArrayLike = require_isArrayLike();
-    function keysIn(object) {
-      return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);
+    function decodeOct(val, offset, length) {
+      val = val.subarray(offset, offset + length);
+      offset = 0;
+      if (val[offset] & 128) {
+        return parse256(val);
+      } else {
+        while (offset < val.length && val[offset] === 32) offset++;
+        const end = clamp(indexOf(val, 32, offset, val.length), val.length, val.length);
+        while (offset < end && val[offset] === 0) offset++;
+        if (end === offset) return 0;
+        return parseInt(b4a.toString(val.subarray(offset, end)), 8);
+      }
+    }
+    function decodeStr(val, offset, length, encoding) {
+      return b4a.toString(val.subarray(offset, indexOf(val, 0, offset, offset + length)), encoding);
+    }
+    function addLength(str2) {
+      const len = b4a.byteLength(str2);
+      let digits = Math.floor(Math.log(len) / Math.log(10)) + 1;
+      if (len + digits >= Math.pow(10, digits)) digits++;
+      return len + digits + str2;
     }
-    module2.exports = keysIn;
   }
 });
 
-// node_modules/lodash/defaults.js
-var require_defaults = __commonJS({
-  "node_modules/lodash/defaults.js"(exports2, module2) {
-    var baseRest = require_baseRest();
-    var eq = require_eq2();
-    var isIterateeCall = require_isIterateeCall();
-    var keysIn = require_keysIn();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    var defaults = baseRest(function(object, sources) {
-      object = Object(object);
-      var index = -1;
-      var length = sources.length;
-      var guard = length > 2 ? sources[2] : void 0;
-      if (guard && isIterateeCall(sources[0], sources[1], guard)) {
-        length = 1;
+// node_modules/tar-stream/extract.js
+var require_extract = __commonJS({
+  "node_modules/tar-stream/extract.js"(exports2, module2) {
+    var { Writable, Readable, getStreamError } = require_streamx();
+    var FIFO = require_fast_fifo();
+    var b4a = require_b4a();
+    var headers = require_headers3();
+    var EMPTY = b4a.alloc(0);
+    var BufferList = class {
+      constructor() {
+        this.buffered = 0;
+        this.shifted = 0;
+        this.queue = new FIFO();
+        this._offset = 0;
       }
-      while (++index < length) {
-        var source = sources[index];
-        var props = keysIn(source);
-        var propsIndex = -1;
-        var propsLength = props.length;
-        while (++propsIndex < propsLength) {
-          var key = props[propsIndex];
-          var value = object[key];
-          if (value === void 0 || eq(value, objectProto[key]) && !hasOwnProperty.call(object, key)) {
-            object[key] = source[key];
-          }
+      push(buffer) {
+        this.buffered += buffer.byteLength;
+        this.queue.push(buffer);
+      }
+      shiftFirst(size) {
+        return this._buffered === 0 ? null : this._next(size);
+      }
+      shift(size) {
+        if (size > this.buffered) return null;
+        if (size === 0) return EMPTY;
+        let chunk = this._next(size);
+        if (size === chunk.byteLength) return chunk;
+        const chunks = [chunk];
+        while ((size -= chunk.byteLength) > 0) {
+          chunk = this._next(size);
+          chunks.push(chunk);
         }
+        return b4a.concat(chunks);
+      }
+      _next(size) {
+        const buf = this.queue.peek();
+        const rem = buf.byteLength - this._offset;
+        if (size >= rem) {
+          const sub = this._offset ? buf.subarray(this._offset, buf.byteLength) : buf;
+          this.queue.shift();
+          this._offset = 0;
+          this.buffered -= rem;
+          this.shifted += rem;
+          return sub;
+        }
+        this.buffered -= size;
+        this.shifted += size;
+        return buf.subarray(this._offset, this._offset += size);
       }
-      return object;
-    });
-    module2.exports = defaults;
-  }
-});
-
-// node_modules/readable-stream/lib/ours/primordials.js
-var require_primordials = __commonJS({
-  "node_modules/readable-stream/lib/ours/primordials.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      ArrayIsArray(self2) {
-        return Array.isArray(self2);
-      },
-      ArrayPrototypeIncludes(self2, el) {
-        return self2.includes(el);
-      },
-      ArrayPrototypeIndexOf(self2, el) {
-        return self2.indexOf(el);
-      },
-      ArrayPrototypeJoin(self2, sep3) {
-        return self2.join(sep3);
-      },
-      ArrayPrototypeMap(self2, fn) {
-        return self2.map(fn);
-      },
-      ArrayPrototypePop(self2, el) {
-        return self2.pop(el);
-      },
-      ArrayPrototypePush(self2, el) {
-        return self2.push(el);
-      },
-      ArrayPrototypeSlice(self2, start, end) {
-        return self2.slice(start, end);
-      },
-      Error,
-      FunctionPrototypeCall(fn, thisArgs, ...args) {
-        return fn.call(thisArgs, ...args);
-      },
-      FunctionPrototypeSymbolHasInstance(self2, instance) {
-        return Function.prototype[Symbol.hasInstance].call(self2, instance);
-      },
-      MathFloor: Math.floor,
-      Number,
-      NumberIsInteger: Number.isInteger,
-      NumberIsNaN: Number.isNaN,
-      NumberMAX_SAFE_INTEGER: Number.MAX_SAFE_INTEGER,
-      NumberMIN_SAFE_INTEGER: Number.MIN_SAFE_INTEGER,
-      NumberParseInt: Number.parseInt,
-      ObjectDefineProperties(self2, props) {
-        return Object.defineProperties(self2, props);
-      },
-      ObjectDefineProperty(self2, name, prop) {
-        return Object.defineProperty(self2, name, prop);
-      },
-      ObjectGetOwnPropertyDescriptor(self2, name) {
-        return Object.getOwnPropertyDescriptor(self2, name);
-      },
-      ObjectKeys(obj) {
-        return Object.keys(obj);
-      },
-      ObjectSetPrototypeOf(target, proto) {
-        return Object.setPrototypeOf(target, proto);
-      },
-      Promise,
-      PromisePrototypeCatch(self2, fn) {
-        return self2.catch(fn);
-      },
-      PromisePrototypeThen(self2, thenFn, catchFn) {
-        return self2.then(thenFn, catchFn);
-      },
-      PromiseReject(err) {
-        return Promise.reject(err);
-      },
-      PromiseResolve(val) {
-        return Promise.resolve(val);
-      },
-      ReflectApply: Reflect.apply,
-      RegExpPrototypeTest(self2, value) {
-        return self2.test(value);
-      },
-      SafeSet: Set,
-      String,
-      StringPrototypeSlice(self2, start, end) {
-        return self2.slice(start, end);
-      },
-      StringPrototypeToLowerCase(self2) {
-        return self2.toLowerCase();
-      },
-      StringPrototypeToUpperCase(self2) {
-        return self2.toUpperCase();
-      },
-      StringPrototypeTrim(self2) {
-        return self2.trim();
-      },
-      Symbol,
-      SymbolFor: Symbol.for,
-      SymbolAsyncIterator: Symbol.asyncIterator,
-      SymbolHasInstance: Symbol.hasInstance,
-      SymbolIterator: Symbol.iterator,
-      SymbolDispose: Symbol.dispose || /* @__PURE__ */ Symbol("Symbol.dispose"),
-      SymbolAsyncDispose: Symbol.asyncDispose || /* @__PURE__ */ Symbol("Symbol.asyncDispose"),
-      TypedArrayPrototypeSet(self2, buf, len) {
-        return self2.set(buf, len);
-      },
-      Boolean,
-      Uint8Array
     };
-  }
-});
-
-// node_modules/event-target-shim/dist/event-target-shim.js
-var require_event_target_shim = __commonJS({
-  "node_modules/event-target-shim/dist/event-target-shim.js"(exports2, module2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    var privateData = /* @__PURE__ */ new WeakMap();
-    var wrappers = /* @__PURE__ */ new WeakMap();
-    function pd(event) {
-      const retv = privateData.get(event);
-      console.assert(
-        retv != null,
-        "'this' is expected an Event object, but got",
-        event
-      );
-      return retv;
-    }
-    function setCancelFlag(data) {
-      if (data.passiveListener != null) {
-        if (typeof console !== "undefined" && typeof console.error === "function") {
-          console.error(
-            "Unable to preventDefault inside passive event listener invocation.",
-            data.passiveListener
-          );
+    var Source = class extends Readable {
+      constructor(self2, header, offset) {
+        super();
+        this.header = header;
+        this.offset = offset;
+        this._parent = self2;
+      }
+      _read(cb) {
+        if (this.header.size === 0) {
+          this.push(null);
         }
-        return;
+        if (this._parent._stream === this) {
+          this._parent._update();
+        }
+        cb(null);
       }
-      if (!data.event.cancelable) {
-        return;
+      _predestroy() {
+        this._parent.destroy(getStreamError(this));
       }
-      data.canceled = true;
-      if (typeof data.event.preventDefault === "function") {
-        data.event.preventDefault();
+      _detach() {
+        if (this._parent._stream === this) {
+          this._parent._stream = null;
+          this._parent._missing = overflow(this.header.size);
+          this._parent._update();
+        }
       }
-    }
-    function Event2(eventTarget, event) {
-      privateData.set(this, {
-        eventTarget,
-        event,
-        eventPhase: 2,
-        currentTarget: eventTarget,
-        canceled: false,
-        stopped: false,
-        immediateStopped: false,
-        passiveListener: null,
-        timeStamp: event.timeStamp || Date.now()
-      });
-      Object.defineProperty(this, "isTrusted", { value: false, enumerable: true });
-      const keys = Object.keys(event);
-      for (let i = 0; i < keys.length; ++i) {
-        const key = keys[i];
-        if (!(key in this)) {
-          Object.defineProperty(this, key, defineRedirectDescriptor(key));
+      _destroy(cb) {
+        this._detach();
+        cb(null);
+      }
+    };
+    var Extract = class extends Writable {
+      constructor(opts) {
+        super(opts);
+        if (!opts) opts = {};
+        this._buffer = new BufferList();
+        this._offset = 0;
+        this._header = null;
+        this._stream = null;
+        this._missing = 0;
+        this._longHeader = false;
+        this._callback = noop3;
+        this._locked = false;
+        this._finished = false;
+        this._pax = null;
+        this._paxGlobal = null;
+        this._gnuLongPath = null;
+        this._gnuLongLinkPath = null;
+        this._filenameEncoding = opts.filenameEncoding || "utf-8";
+        this._allowUnknownFormat = !!opts.allowUnknownFormat;
+        this._unlockBound = this._unlock.bind(this);
+      }
+      _unlock(err) {
+        this._locked = false;
+        if (err) {
+          this.destroy(err);
+          this._continueWrite(err);
+          return;
         }
+        this._update();
       }
-    }
-    Event2.prototype = {
-      /**
-       * The type of this event.
-       * @type {string}
-       */
-      get type() {
-        return pd(this).event.type;
-      },
-      /**
-       * The target of this event.
-       * @type {EventTarget}
-       */
-      get target() {
-        return pd(this).eventTarget;
-      },
-      /**
-       * The target of this event.
-       * @type {EventTarget}
-       */
-      get currentTarget() {
-        return pd(this).currentTarget;
-      },
-      /**
-       * @returns {EventTarget[]} The composed path of this event.
-       */
-      composedPath() {
-        const currentTarget = pd(this).currentTarget;
-        if (currentTarget == null) {
-          return [];
+      _consumeHeader() {
+        if (this._locked) return false;
+        this._offset = this._buffer.shifted;
+        try {
+          this._header = headers.decode(this._buffer.shift(512), this._filenameEncoding, this._allowUnknownFormat);
+        } catch (err) {
+          this._continueWrite(err);
+          return false;
         }
-        return [currentTarget];
-      },
-      /**
-       * Constant of NONE.
-       * @type {number}
-       */
-      get NONE() {
-        return 0;
-      },
-      /**
-       * Constant of CAPTURING_PHASE.
-       * @type {number}
-       */
-      get CAPTURING_PHASE() {
-        return 1;
-      },
-      /**
-       * Constant of AT_TARGET.
-       * @type {number}
-       */
-      get AT_TARGET() {
-        return 2;
-      },
-      /**
-       * Constant of BUBBLING_PHASE.
-       * @type {number}
-       */
-      get BUBBLING_PHASE() {
-        return 3;
-      },
-      /**
-       * The target of this event.
-       * @type {number}
-       */
-      get eventPhase() {
-        return pd(this).eventPhase;
-      },
-      /**
-       * Stop event bubbling.
-       * @returns {void}
-       */
-      stopPropagation() {
-        const data = pd(this);
-        data.stopped = true;
-        if (typeof data.event.stopPropagation === "function") {
-          data.event.stopPropagation();
+        if (!this._header) return true;
+        switch (this._header.type) {
+          case "gnu-long-path":
+          case "gnu-long-link-path":
+          case "pax-global-header":
+          case "pax-header":
+            this._longHeader = true;
+            this._missing = this._header.size;
+            return true;
         }
-      },
-      /**
-       * Stop event bubbling.
-       * @returns {void}
-       */
-      stopImmediatePropagation() {
-        const data = pd(this);
-        data.stopped = true;
-        data.immediateStopped = true;
-        if (typeof data.event.stopImmediatePropagation === "function") {
-          data.event.stopImmediatePropagation();
+        this._locked = true;
+        this._applyLongHeaders();
+        if (this._header.size === 0 || this._header.type === "directory") {
+          this.emit("entry", this._header, this._createStream(), this._unlockBound);
+          return true;
         }
-      },
-      /**
-       * The flag to be bubbling.
-       * @type {boolean}
-       */
-      get bubbles() {
-        return Boolean(pd(this).event.bubbles);
-      },
-      /**
-       * The flag to be cancelable.
-       * @type {boolean}
-       */
-      get cancelable() {
-        return Boolean(pd(this).event.cancelable);
-      },
-      /**
-       * Cancel this event.
-       * @returns {void}
-       */
-      preventDefault() {
-        setCancelFlag(pd(this));
-      },
-      /**
-       * The flag to indicate cancellation state.
-       * @type {boolean}
-       */
-      get defaultPrevented() {
-        return pd(this).canceled;
-      },
-      /**
-       * The flag to be composed.
-       * @type {boolean}
-       */
-      get composed() {
-        return Boolean(pd(this).event.composed);
-      },
-      /**
-       * The unix time of this event.
-       * @type {number}
-       */
-      get timeStamp() {
-        return pd(this).timeStamp;
-      },
-      /**
-       * The target of this event.
-       * @type {EventTarget}
-       * @deprecated
-       */
-      get srcElement() {
-        return pd(this).eventTarget;
-      },
-      /**
-       * The flag to stop event bubbling.
-       * @type {boolean}
-       * @deprecated
-       */
-      get cancelBubble() {
-        return pd(this).stopped;
-      },
-      set cancelBubble(value) {
-        if (!value) {
-          return;
+        this._stream = this._createStream();
+        this._missing = this._header.size;
+        this.emit("entry", this._header, this._stream, this._unlockBound);
+        return true;
+      }
+      _applyLongHeaders() {
+        if (this._gnuLongPath) {
+          this._header.name = this._gnuLongPath;
+          this._gnuLongPath = null;
         }
-        const data = pd(this);
-        data.stopped = true;
-        if (typeof data.event.cancelBubble === "boolean") {
-          data.event.cancelBubble = true;
+        if (this._gnuLongLinkPath) {
+          this._header.linkname = this._gnuLongLinkPath;
+          this._gnuLongLinkPath = null;
         }
-      },
-      /**
-       * The flag to indicate cancellation state.
-       * @type {boolean}
-       * @deprecated
-       */
-      get returnValue() {
-        return !pd(this).canceled;
-      },
-      set returnValue(value) {
-        if (!value) {
-          setCancelFlag(pd(this));
+        if (this._pax) {
+          if (this._pax.path) this._header.name = this._pax.path;
+          if (this._pax.linkpath) this._header.linkname = this._pax.linkpath;
+          if (this._pax.size) this._header.size = parseInt(this._pax.size, 10);
+          this._header.pax = this._pax;
+          this._pax = null;
         }
-      },
-      /**
-       * Initialize this event object. But do nothing under event dispatching.
-       * @param {string} type The event type.
-       * @param {boolean} [bubbles=false] The flag to be possible to bubble up.
-       * @param {boolean} [cancelable=false] The flag to be possible to cancel.
-       * @deprecated
-       */
-      initEvent() {
-      }
-    };
-    Object.defineProperty(Event2.prototype, "constructor", {
-      value: Event2,
-      configurable: true,
-      writable: true
-    });
-    if (typeof window !== "undefined" && typeof window.Event !== "undefined") {
-      Object.setPrototypeOf(Event2.prototype, window.Event.prototype);
-      wrappers.set(window.Event.prototype, Event2);
-    }
-    function defineRedirectDescriptor(key) {
-      return {
-        get() {
-          return pd(this).event[key];
-        },
-        set(value) {
-          pd(this).event[key] = value;
-        },
-        configurable: true,
-        enumerable: true
-      };
-    }
-    function defineCallDescriptor(key) {
-      return {
-        value() {
-          const event = pd(this).event;
-          return event[key].apply(event, arguments);
-        },
-        configurable: true,
-        enumerable: true
-      };
-    }
-    function defineWrapper(BaseEvent, proto) {
-      const keys = Object.keys(proto);
-      if (keys.length === 0) {
-        return BaseEvent;
-      }
-      function CustomEvent(eventTarget, event) {
-        BaseEvent.call(this, eventTarget, event);
       }
-      CustomEvent.prototype = Object.create(BaseEvent.prototype, {
-        constructor: { value: CustomEvent, configurable: true, writable: true }
-      });
-      for (let i = 0; i < keys.length; ++i) {
-        const key = keys[i];
-        if (!(key in BaseEvent.prototype)) {
-          const descriptor = Object.getOwnPropertyDescriptor(proto, key);
-          const isFunc = typeof descriptor.value === "function";
-          Object.defineProperty(
-            CustomEvent.prototype,
-            key,
-            isFunc ? defineCallDescriptor(key) : defineRedirectDescriptor(key)
-          );
+      _decodeLongHeader(buf) {
+        switch (this._header.type) {
+          case "gnu-long-path":
+            this._gnuLongPath = headers.decodeLongPath(buf, this._filenameEncoding);
+            break;
+          case "gnu-long-link-path":
+            this._gnuLongLinkPath = headers.decodeLongPath(buf, this._filenameEncoding);
+            break;
+          case "pax-global-header":
+            this._paxGlobal = headers.decodePax(buf);
+            break;
+          case "pax-header":
+            this._pax = this._paxGlobal === null ? headers.decodePax(buf) : Object.assign({}, this._paxGlobal, headers.decodePax(buf));
+            break;
         }
       }
-      return CustomEvent;
-    }
-    function getWrapper(proto) {
-      if (proto == null || proto === Object.prototype) {
-        return Event2;
+      _consumeLongHeader() {
+        this._longHeader = false;
+        this._missing = overflow(this._header.size);
+        const buf = this._buffer.shift(this._header.size);
+        try {
+          this._decodeLongHeader(buf);
+        } catch (err) {
+          this._continueWrite(err);
+          return false;
+        }
+        return true;
       }
-      let wrapper = wrappers.get(proto);
-      if (wrapper == null) {
-        wrapper = defineWrapper(getWrapper(Object.getPrototypeOf(proto)), proto);
-        wrappers.set(proto, wrapper);
+      _consumeStream() {
+        const buf = this._buffer.shiftFirst(this._missing);
+        if (buf === null) return false;
+        this._missing -= buf.byteLength;
+        const drained = this._stream.push(buf);
+        if (this._missing === 0) {
+          this._stream.push(null);
+          if (drained) this._stream._detach();
+          return drained && this._locked === false;
+        }
+        return drained;
       }
-      return wrapper;
-    }
-    function wrapEvent(eventTarget, event) {
-      const Wrapper = getWrapper(Object.getPrototypeOf(event));
-      return new Wrapper(eventTarget, event);
-    }
-    function isStopped(event) {
-      return pd(event).immediateStopped;
-    }
-    function setEventPhase(event, eventPhase) {
-      pd(event).eventPhase = eventPhase;
-    }
-    function setCurrentTarget(event, currentTarget) {
-      pd(event).currentTarget = currentTarget;
-    }
-    function setPassiveListener(event, passiveListener) {
-      pd(event).passiveListener = passiveListener;
-    }
-    var listenersMap = /* @__PURE__ */ new WeakMap();
-    var CAPTURE = 1;
-    var BUBBLE = 2;
-    var ATTRIBUTE = 3;
-    function isObject2(x) {
-      return x !== null && typeof x === "object";
-    }
-    function getListeners(eventTarget) {
-      const listeners = listenersMap.get(eventTarget);
-      if (listeners == null) {
-        throw new TypeError(
-          "'this' is expected an EventTarget object, but got another value."
-        );
+      _createStream() {
+        return new Source(this, this._header, this._offset);
       }
-      return listeners;
-    }
-    function defineEventAttributeDescriptor(eventName) {
-      return {
-        get() {
-          const listeners = getListeners(this);
-          let node = listeners.get(eventName);
-          while (node != null) {
-            if (node.listenerType === ATTRIBUTE) {
-              return node.listener;
+      _update() {
+        while (this._buffer.buffered > 0 && !this.destroying) {
+          if (this._missing > 0) {
+            if (this._stream !== null) {
+              if (this._consumeStream() === false) return;
+              continue;
             }
-            node = node.next;
+            if (this._longHeader === true) {
+              if (this._missing > this._buffer.buffered) break;
+              if (this._consumeLongHeader() === false) return false;
+              continue;
+            }
+            const ignore = this._buffer.shiftFirst(this._missing);
+            if (ignore !== null) this._missing -= ignore.byteLength;
+            continue;
           }
-          return null;
-        },
-        set(listener) {
-          if (typeof listener !== "function" && !isObject2(listener)) {
-            listener = null;
+          if (this._buffer.buffered < 512) break;
+          if (this._stream !== null || this._consumeHeader() === false) return;
+        }
+        this._continueWrite(null);
+      }
+      _continueWrite(err) {
+        const cb = this._callback;
+        this._callback = noop3;
+        cb(err);
+      }
+      _write(data, cb) {
+        this._callback = cb;
+        this._buffer.push(data);
+        this._update();
+      }
+      _final(cb) {
+        this._finished = this._missing === 0 && this._buffer.buffered === 0;
+        cb(this._finished ? null : new Error("Unexpected end of data"));
+      }
+      _predestroy() {
+        this._continueWrite(null);
+      }
+      _destroy(cb) {
+        if (this._stream) this._stream.destroy(getStreamError(this));
+        cb(null);
+      }
+      [Symbol.asyncIterator]() {
+        let error3 = null;
+        let promiseResolve = null;
+        let promiseReject = null;
+        let entryStream = null;
+        let entryCallback = null;
+        const extract2 = this;
+        this.on("entry", onentry);
+        this.on("error", (err) => {
+          error3 = err;
+        });
+        this.on("close", onclose);
+        return {
+          [Symbol.asyncIterator]() {
+            return this;
+          },
+          next() {
+            return new Promise(onnext);
+          },
+          return() {
+            return destroy(null);
+          },
+          throw(err) {
+            return destroy(err);
           }
-          const listeners = getListeners(this);
-          let prev = null;
-          let node = listeners.get(eventName);
-          while (node != null) {
-            if (node.listenerType === ATTRIBUTE) {
-              if (prev !== null) {
-                prev.next = node.next;
-              } else if (node.next !== null) {
-                listeners.set(eventName, node.next);
-              } else {
-                listeners.delete(eventName);
-              }
-            } else {
-              prev = node;
-            }
-            node = node.next;
+        };
+        function consumeCallback(err) {
+          if (!entryCallback) return;
+          const cb = entryCallback;
+          entryCallback = null;
+          cb(err);
+        }
+        function onnext(resolve5, reject) {
+          if (error3) {
+            return reject(error3);
           }
-          if (listener !== null) {
-            const newNode = {
-              listener,
-              listenerType: ATTRIBUTE,
-              passive: false,
-              once: false,
-              next: null
-            };
-            if (prev === null) {
-              listeners.set(eventName, newNode);
-            } else {
-              prev.next = newNode;
-            }
+          if (entryStream) {
+            resolve5({ value: entryStream, done: false });
+            entryStream = null;
+            return;
+          }
+          promiseResolve = resolve5;
+          promiseReject = reject;
+          consumeCallback(null);
+          if (extract2._finished && promiseResolve) {
+            promiseResolve({ value: void 0, done: true });
+            promiseResolve = promiseReject = null;
           }
-        },
-        configurable: true,
-        enumerable: true
-      };
-    }
-    function defineEventAttribute(eventTargetPrototype, eventName) {
-      Object.defineProperty(
-        eventTargetPrototype,
-        `on${eventName}`,
-        defineEventAttributeDescriptor(eventName)
-      );
-    }
-    function defineCustomEventTarget(eventNames) {
-      function CustomEventTarget() {
-        EventTarget2.call(this);
-      }
-      CustomEventTarget.prototype = Object.create(EventTarget2.prototype, {
-        constructor: {
-          value: CustomEventTarget,
-          configurable: true,
-          writable: true
         }
-      });
-      for (let i = 0; i < eventNames.length; ++i) {
-        defineEventAttribute(CustomEventTarget.prototype, eventNames[i]);
+        function onentry(header, stream, callback) {
+          entryCallback = callback;
+          stream.on("error", noop3);
+          if (promiseResolve) {
+            promiseResolve({ value: stream, done: false });
+            promiseResolve = promiseReject = null;
+          } else {
+            entryStream = stream;
+          }
+        }
+        function onclose() {
+          consumeCallback(error3);
+          if (!promiseResolve) return;
+          if (error3) promiseReject(error3);
+          else promiseResolve({ value: void 0, done: true });
+          promiseResolve = promiseReject = null;
+        }
+        function destroy(err) {
+          extract2.destroy(err);
+          consumeCallback(err);
+          return new Promise((resolve5, reject) => {
+            if (extract2.destroyed) return resolve5({ value: void 0, done: true });
+            extract2.once("close", function() {
+              if (err) reject(err);
+              else resolve5({ value: void 0, done: true });
+            });
+          });
+        }
       }
-      return CustomEventTarget;
+    };
+    module2.exports = function extract2(opts) {
+      return new Extract(opts);
+    };
+    function noop3() {
     }
-    function EventTarget2() {
-      if (this instanceof EventTarget2) {
-        listenersMap.set(this, /* @__PURE__ */ new Map());
-        return;
+    function overflow(size) {
+      size &= 511;
+      return size && 512 - size;
+    }
+  }
+});
+
+// node_modules/tar-stream/constants.js
+var require_constants19 = __commonJS({
+  "node_modules/tar-stream/constants.js"(exports2, module2) {
+    var constants = {
+      // just for envs without fs
+      S_IFMT: 61440,
+      S_IFDIR: 16384,
+      S_IFCHR: 8192,
+      S_IFBLK: 24576,
+      S_IFIFO: 4096,
+      S_IFLNK: 40960
+    };
+    try {
+      module2.exports = require("fs").constants || constants;
+    } catch {
+      module2.exports = constants;
+    }
+  }
+});
+
+// node_modules/tar-stream/pack.js
+var require_pack = __commonJS({
+  "node_modules/tar-stream/pack.js"(exports2, module2) {
+    var { Readable, Writable, getStreamError } = require_streamx();
+    var b4a = require_b4a();
+    var constants = require_constants19();
+    var headers = require_headers3();
+    var DMODE = 493;
+    var FMODE = 420;
+    var END_OF_TAR = b4a.alloc(1024);
+    var Sink = class extends Writable {
+      constructor(pack, header, callback) {
+        super({ mapWritable, eagerOpen: true });
+        this.written = 0;
+        this.header = header;
+        this._callback = callback;
+        this._linkname = null;
+        this._isLinkname = header.type === "symlink" && !header.linkname;
+        this._isVoid = header.type !== "file" && header.type !== "contiguous-file";
+        this._finished = false;
+        this._pack = pack;
+        this._openCallback = null;
+        if (this._pack._stream === null) this._pack._stream = this;
+        else this._pack._pending.push(this);
       }
-      if (arguments.length === 1 && Array.isArray(arguments[0])) {
-        return defineCustomEventTarget(arguments[0]);
+      _open(cb) {
+        this._openCallback = cb;
+        if (this._pack._stream === this) this._continueOpen();
       }
-      if (arguments.length > 0) {
-        const types = new Array(arguments.length);
-        for (let i = 0; i < arguments.length; ++i) {
-          types[i] = arguments[i];
-        }
-        return defineCustomEventTarget(types);
+      _continuePack(err) {
+        if (this._callback === null) return;
+        const callback = this._callback;
+        this._callback = null;
+        callback(err);
       }
-      throw new TypeError("Cannot call a class as a function");
-    }
-    EventTarget2.prototype = {
-      /**
-       * Add a given listener to this event target.
-       * @param {string} eventName The event name to add.
-       * @param {Function} listener The listener to add.
-       * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener.
-       * @returns {void}
-       */
-      addEventListener(eventName, listener, options) {
-        if (listener == null) {
-          return;
+      _continueOpen() {
+        if (this._pack._stream === null) this._pack._stream = this;
+        const cb = this._openCallback;
+        this._openCallback = null;
+        if (cb === null) return;
+        if (this._pack.destroying) return cb(new Error("pack stream destroyed"));
+        if (this._pack._finalized) return cb(new Error("pack stream is already finalized"));
+        this._pack._stream = this;
+        if (!this._isLinkname) {
+          this._pack._encode(this.header);
         }
-        if (typeof listener !== "function" && !isObject2(listener)) {
-          throw new TypeError("'listener' should be a function or an object.");
+        if (this._isVoid) {
+          this._finish();
+          this._continuePack(null);
         }
-        const listeners = getListeners(this);
-        const optionsIsObj = isObject2(options);
-        const capture = optionsIsObj ? Boolean(options.capture) : Boolean(options);
-        const listenerType = capture ? CAPTURE : BUBBLE;
-        const newNode = {
-          listener,
-          listenerType,
-          passive: optionsIsObj && Boolean(options.passive),
-          once: optionsIsObj && Boolean(options.once),
-          next: null
-        };
-        let node = listeners.get(eventName);
-        if (node === void 0) {
-          listeners.set(eventName, newNode);
-          return;
+        cb(null);
+      }
+      _write(data, cb) {
+        if (this._isLinkname) {
+          this._linkname = this._linkname ? b4a.concat([this._linkname, data]) : data;
+          return cb(null);
         }
-        let prev = null;
-        while (node != null) {
-          if (node.listener === listener && node.listenerType === listenerType) {
-            return;
+        if (this._isVoid) {
+          if (data.byteLength > 0) {
+            return cb(new Error("No body allowed for this entry"));
           }
-          prev = node;
-          node = node.next;
+          return cb();
         }
-        prev.next = newNode;
-      },
-      /**
-       * Remove a given listener from this event target.
-       * @param {string} eventName The event name to remove.
-       * @param {Function} listener The listener to remove.
-       * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener.
-       * @returns {void}
-       */
-      removeEventListener(eventName, listener, options) {
-        if (listener == null) {
-          return;
+        this.written += data.byteLength;
+        if (this._pack.push(data)) return cb();
+        this._pack._drain = cb;
+      }
+      _finish() {
+        if (this._finished) return;
+        this._finished = true;
+        if (this._isLinkname) {
+          this.header.linkname = this._linkname ? b4a.toString(this._linkname, "utf-8") : "";
+          this._pack._encode(this.header);
         }
-        const listeners = getListeners(this);
-        const capture = isObject2(options) ? Boolean(options.capture) : Boolean(options);
-        const listenerType = capture ? CAPTURE : BUBBLE;
-        let prev = null;
-        let node = listeners.get(eventName);
-        while (node != null) {
-          if (node.listener === listener && node.listenerType === listenerType) {
-            if (prev !== null) {
-              prev.next = node.next;
-            } else if (node.next !== null) {
-              listeners.set(eventName, node.next);
-            } else {
-              listeners.delete(eventName);
-            }
-            return;
-          }
-          prev = node;
-          node = node.next;
+        overflow(this._pack, this.header.size);
+        this._pack._done(this);
+      }
+      _final(cb) {
+        if (this.written !== this.header.size) {
+          return cb(new Error("Size mismatch"));
         }
-      },
-      /**
-       * Dispatch a given event.
-       * @param {Event|{type:string}} event The event to dispatch.
-       * @returns {boolean} `false` if canceled.
-       */
-      dispatchEvent(event) {
-        if (event == null || typeof event.type !== "string") {
-          throw new TypeError('"event.type" should be a string.');
+        this._finish();
+        cb(null);
+      }
+      _getError() {
+        return getStreamError(this) || new Error("tar entry destroyed");
+      }
+      _predestroy() {
+        this._pack.destroy(this._getError());
+      }
+      _destroy(cb) {
+        this._pack._done(this);
+        this._continuePack(this._finished ? null : this._getError());
+        cb();
+      }
+    };
+    var Pack = class extends Readable {
+      constructor(opts) {
+        super(opts);
+        this._drain = noop3;
+        this._finalized = false;
+        this._finalizing = false;
+        this._pending = [];
+        this._stream = null;
+      }
+      entry(header, buffer, callback) {
+        if (this._finalized || this.destroying) throw new Error("already finalized or destroyed");
+        if (typeof buffer === "function") {
+          callback = buffer;
+          buffer = null;
         }
-        const listeners = getListeners(this);
-        const eventName = event.type;
-        let node = listeners.get(eventName);
-        if (node == null) {
-          return true;
+        if (!callback) callback = noop3;
+        if (!header.size || header.type === "symlink") header.size = 0;
+        if (!header.type) header.type = modeToType(header.mode);
+        if (!header.mode) header.mode = header.type === "directory" ? DMODE : FMODE;
+        if (!header.uid) header.uid = 0;
+        if (!header.gid) header.gid = 0;
+        if (!header.mtime) header.mtime = /* @__PURE__ */ new Date();
+        if (typeof buffer === "string") buffer = b4a.from(buffer);
+        const sink = new Sink(this, header, callback);
+        if (b4a.isBuffer(buffer)) {
+          header.size = buffer.byteLength;
+          sink.write(buffer);
+          sink.end();
+          return sink;
         }
-        const wrappedEvent = wrapEvent(this, event);
-        let prev = null;
-        while (node != null) {
-          if (node.once) {
-            if (prev !== null) {
-              prev.next = node.next;
-            } else if (node.next !== null) {
-              listeners.set(eventName, node.next);
-            } else {
-              listeners.delete(eventName);
-            }
-          } else {
-            prev = node;
-          }
-          setPassiveListener(
-            wrappedEvent,
-            node.passive ? node.listener : null
-          );
-          if (typeof node.listener === "function") {
-            try {
-              node.listener.call(this, wrappedEvent);
-            } catch (err) {
-              if (typeof console !== "undefined" && typeof console.error === "function") {
-                console.error(err);
-              }
-            }
-          } else if (node.listenerType !== ATTRIBUTE && typeof node.listener.handleEvent === "function") {
-            node.listener.handleEvent(wrappedEvent);
-          }
-          if (isStopped(wrappedEvent)) {
-            break;
-          }
-          node = node.next;
+        if (sink._isVoid) {
+          return sink;
         }
-        setPassiveListener(wrappedEvent, null);
-        setEventPhase(wrappedEvent, 0);
-        setCurrentTarget(wrappedEvent, null);
-        return !wrappedEvent.defaultPrevented;
+        return sink;
       }
-    };
-    Object.defineProperty(EventTarget2.prototype, "constructor", {
-      value: EventTarget2,
-      configurable: true,
-      writable: true
-    });
-    if (typeof window !== "undefined" && typeof window.EventTarget !== "undefined") {
-      Object.setPrototypeOf(EventTarget2.prototype, window.EventTarget.prototype);
-    }
-    exports2.defineEventAttribute = defineEventAttribute;
-    exports2.EventTarget = EventTarget2;
-    exports2.default = EventTarget2;
-    module2.exports = EventTarget2;
-    module2.exports.EventTarget = module2.exports["default"] = EventTarget2;
-    module2.exports.defineEventAttribute = defineEventAttribute;
-  }
-});
-
-// node_modules/abort-controller/dist/abort-controller.js
-var require_abort_controller = __commonJS({
-  "node_modules/abort-controller/dist/abort-controller.js"(exports2, module2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    var eventTargetShim = require_event_target_shim();
-    var AbortSignal2 = class extends eventTargetShim.EventTarget {
-      /**
-       * AbortSignal cannot be constructed directly.
-       */
-      constructor() {
-        super();
-        throw new TypeError("AbortSignal cannot be constructed directly");
+      finalize() {
+        if (this._stream || this._pending.length > 0) {
+          this._finalizing = true;
+          return;
+        }
+        if (this._finalized) return;
+        this._finalized = true;
+        this.push(END_OF_TAR);
+        this.push(null);
       }
-      /**
-       * Returns `true` if this `AbortSignal`'s `AbortController` has signaled to abort, and `false` otherwise.
-       */
-      get aborted() {
-        const aborted = abortedFlags.get(this);
-        if (typeof aborted !== "boolean") {
-          throw new TypeError(`Expected 'this' to be an 'AbortSignal' object, but got ${this === null ? "null" : typeof this}`);
+      _done(stream) {
+        if (stream !== this._stream) return;
+        this._stream = null;
+        if (this._finalizing) this.finalize();
+        if (this._pending.length) this._pending.shift()._continueOpen();
+      }
+      _encode(header) {
+        if (!header.pax) {
+          const buf = headers.encode(header);
+          if (buf) {
+            this.push(buf);
+            return;
+          }
         }
-        return aborted;
+        this._encodePax(header);
       }
-    };
-    eventTargetShim.defineEventAttribute(AbortSignal2.prototype, "abort");
-    function createAbortSignal() {
-      const signal = Object.create(AbortSignal2.prototype);
-      eventTargetShim.EventTarget.call(signal);
-      abortedFlags.set(signal, false);
-      return signal;
-    }
-    function abortSignal(signal) {
-      if (abortedFlags.get(signal) !== false) {
-        return;
+      _encodePax(header) {
+        const paxHeader = headers.encodePax({
+          name: header.name,
+          linkname: header.linkname,
+          pax: header.pax
+        });
+        const newHeader = {
+          name: "PaxHeader",
+          mode: header.mode,
+          uid: header.uid,
+          gid: header.gid,
+          size: paxHeader.byteLength,
+          mtime: header.mtime,
+          type: "pax-header",
+          linkname: header.linkname && "PaxHeader",
+          uname: header.uname,
+          gname: header.gname,
+          devmajor: header.devmajor,
+          devminor: header.devminor
+        };
+        this.push(headers.encode(newHeader));
+        this.push(paxHeader);
+        overflow(this, paxHeader.byteLength);
+        newHeader.size = header.size;
+        newHeader.type = header.type;
+        this.push(headers.encode(newHeader));
       }
-      abortedFlags.set(signal, true);
-      signal.dispatchEvent({ type: "abort" });
-    }
-    var abortedFlags = /* @__PURE__ */ new WeakMap();
-    Object.defineProperties(AbortSignal2.prototype, {
-      aborted: { enumerable: true }
-    });
-    if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") {
-      Object.defineProperty(AbortSignal2.prototype, Symbol.toStringTag, {
-        configurable: true,
-        value: "AbortSignal"
-      });
-    }
-    var AbortController2 = class {
-      /**
-       * Initialize this controller.
-       */
-      constructor() {
-        signals.set(this, createAbortSignal());
+      _doDrain() {
+        const drain = this._drain;
+        this._drain = noop3;
+        drain();
       }
-      /**
-       * Returns the `AbortSignal` object associated with this object.
-       */
-      get signal() {
-        return getSignal(this);
+      _predestroy() {
+        const err = getStreamError(this);
+        if (this._stream) this._stream.destroy(err);
+        while (this._pending.length) {
+          const stream = this._pending.shift();
+          stream.destroy(err);
+          stream._continueOpen();
+        }
+        this._doDrain();
       }
-      /**
-       * Abort and signal to any observers that the associated activity is to be aborted.
-       */
-      abort() {
-        abortSignal(getSignal(this));
+      _read(cb) {
+        this._doDrain();
+        cb();
       }
     };
-    var signals = /* @__PURE__ */ new WeakMap();
-    function getSignal(controller) {
-      const signal = signals.get(controller);
-      if (signal == null) {
-        throw new TypeError(`Expected 'this' to be an 'AbortController' object, but got ${controller === null ? "null" : typeof controller}`);
+    module2.exports = function pack(opts) {
+      return new Pack(opts);
+    };
+    function modeToType(mode) {
+      switch (mode & constants.S_IFMT) {
+        case constants.S_IFBLK:
+          return "block-device";
+        case constants.S_IFCHR:
+          return "character-device";
+        case constants.S_IFDIR:
+          return "directory";
+        case constants.S_IFIFO:
+          return "fifo";
+        case constants.S_IFLNK:
+          return "symlink";
       }
-      return signal;
+      return "file";
     }
-    Object.defineProperties(AbortController2.prototype, {
-      signal: { enumerable: true },
-      abort: { enumerable: true }
-    });
-    if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") {
-      Object.defineProperty(AbortController2.prototype, Symbol.toStringTag, {
-        configurable: true,
-        value: "AbortController"
-      });
+    function noop3() {
+    }
+    function overflow(self2, size) {
+      size &= 511;
+      if (size) self2.push(END_OF_TAR.subarray(0, 512 - size));
+    }
+    function mapWritable(buf) {
+      return b4a.isBuffer(buf) ? buf : b4a.from(buf);
     }
-    exports2.AbortController = AbortController2;
-    exports2.AbortSignal = AbortSignal2;
-    exports2.default = AbortController2;
-    module2.exports = AbortController2;
-    module2.exports.AbortController = module2.exports["default"] = AbortController2;
-    module2.exports.AbortSignal = AbortSignal2;
   }
 });
 
-// node_modules/readable-stream/lib/ours/util.js
-var require_util20 = __commonJS({
-  "node_modules/readable-stream/lib/ours/util.js"(exports2, module2) {
-    "use strict";
-    var bufferModule = require("buffer");
-    var { kResistStopPropagation, SymbolDispose } = require_primordials();
-    var AbortSignal2 = globalThis.AbortSignal || require_abort_controller().AbortSignal;
-    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
-    var AsyncFunction = Object.getPrototypeOf(async function() {
-    }).constructor;
-    var Blob2 = globalThis.Blob || bufferModule.Blob;
-    var isBlob = typeof Blob2 !== "undefined" ? function isBlob2(b) {
-      return b instanceof Blob2;
-    } : function isBlob2(b) {
-      return false;
-    };
-    var validateAbortSignal = (signal, name) => {
-      if (signal !== void 0 && (signal === null || typeof signal !== "object" || !("aborted" in signal))) {
-        throw new ERR_INVALID_ARG_TYPE(name, "AbortSignal", signal);
+// node_modules/tar-stream/index.js
+var require_tar_stream = __commonJS({
+  "node_modules/tar-stream/index.js"(exports2) {
+    exports2.extract = require_extract();
+    exports2.pack = require_pack();
+  }
+});
+
+// node_modules/archiver/lib/plugins/tar.js
+var require_tar2 = __commonJS({
+  "node_modules/archiver/lib/plugins/tar.js"(exports2, module2) {
+    var zlib = require("zlib");
+    var engine = require_tar_stream();
+    var util = require_archiver_utils();
+    var Tar = function(options) {
+      if (!(this instanceof Tar)) {
+        return new Tar(options);
+      }
+      options = this.options = util.defaults(options, {
+        gzip: false
+      });
+      if (typeof options.gzipOptions !== "object") {
+        options.gzipOptions = {};
+      }
+      this.supports = {
+        directory: true,
+        symlink: true
+      };
+      this.engine = engine.pack(options);
+      this.compressor = false;
+      if (options.gzip) {
+        this.compressor = zlib.createGzip(options.gzipOptions);
+        this.compressor.on("error", this._onCompressorError.bind(this));
       }
     };
-    var validateFunction = (value, name) => {
-      if (typeof value !== "function") throw new ERR_INVALID_ARG_TYPE(name, "Function", value);
+    Tar.prototype._onCompressorError = function(err) {
+      this.engine.emit("error", err);
     };
-    var AggregateError = class extends Error {
-      constructor(errors) {
-        if (!Array.isArray(errors)) {
-          throw new TypeError(`Expected input to be an Array, got ${typeof errors}`);
-        }
-        let message = "";
-        for (let i = 0; i < errors.length; i++) {
-          message += `    ${errors[i].stack}
-`;
+    Tar.prototype.append = function(source, data, callback) {
+      var self2 = this;
+      data.mtime = data.date;
+      function append(err, sourceBuffer) {
+        if (err) {
+          callback(err);
+          return;
         }
-        super(message);
-        this.name = "AggregateError";
-        this.errors = errors;
-      }
-    };
-    module2.exports = {
-      AggregateError,
-      kEmptyObject: Object.freeze({}),
-      once(callback) {
-        let called = false;
-        return function(...args) {
-          if (called) {
-            return;
-          }
-          called = true;
-          callback.apply(this, args);
-        };
-      },
-      createDeferredPromise: function() {
-        let resolve5;
-        let reject;
-        const promise = new Promise((res, rej) => {
-          resolve5 = res;
-          reject = rej;
-        });
-        return {
-          promise,
-          resolve: resolve5,
-          reject
-        };
-      },
-      promisify(fn) {
-        return new Promise((resolve5, reject) => {
-          fn((err, ...args) => {
-            if (err) {
-              return reject(err);
-            }
-            return resolve5(...args);
-          });
-        });
-      },
-      debuglog() {
-        return function() {
-        };
-      },
-      format(format, ...args) {
-        return format.replace(/%([sdifj])/g, function(...[_unused, type2]) {
-          const replacement = args.shift();
-          if (type2 === "f") {
-            return replacement.toFixed(6);
-          } else if (type2 === "j") {
-            return JSON.stringify(replacement);
-          } else if (type2 === "s" && typeof replacement === "object") {
-            const ctor = replacement.constructor !== Object ? replacement.constructor.name : "";
-            return `${ctor} {}`.trim();
-          } else {
-            return replacement.toString();
-          }
+        self2.engine.entry(data, sourceBuffer, function(err2) {
+          callback(err2, data);
         });
-      },
-      inspect(value) {
-        switch (typeof value) {
-          case "string":
-            if (value.includes("'")) {
-              if (!value.includes('"')) {
-                return `"${value}"`;
-              } else if (!value.includes("`") && !value.includes("${")) {
-                return `\`${value}\``;
-              }
-            }
-            return `'${value}'`;
-          case "number":
-            if (isNaN(value)) {
-              return "NaN";
-            } else if (Object.is(value, -0)) {
-              return String(value);
-            }
-            return value;
-          case "bigint":
-            return `${String(value)}n`;
-          case "boolean":
-          case "undefined":
-            return String(value);
-          case "object":
-            return "{}";
-        }
-      },
-      types: {
-        isAsyncFunction(fn) {
-          return fn instanceof AsyncFunction;
-        },
-        isArrayBufferView(arr) {
-          return ArrayBuffer.isView(arr);
-        }
-      },
-      isBlob,
-      deprecate(fn, message) {
-        return fn;
-      },
-      addAbortListener: require("events").addAbortListener || function addAbortListener(signal, listener) {
-        if (signal === void 0) {
-          throw new ERR_INVALID_ARG_TYPE("signal", "AbortSignal", signal);
-        }
-        validateAbortSignal(signal, "signal");
-        validateFunction(listener, "listener");
-        let removeEventListener;
-        if (signal.aborted) {
-          queueMicrotask(() => listener());
-        } else {
-          signal.addEventListener("abort", listener, {
-            __proto__: null,
-            once: true,
-            [kResistStopPropagation]: true
-          });
-          removeEventListener = () => {
-            signal.removeEventListener("abort", listener);
-          };
-        }
-        return {
-          __proto__: null,
-          [SymbolDispose]() {
-            var _removeEventListener;
-            (_removeEventListener = removeEventListener) === null || _removeEventListener === void 0 ? void 0 : _removeEventListener();
-          }
-        };
-      },
-      AbortSignalAny: AbortSignal2.any || function AbortSignalAny(signals) {
-        if (signals.length === 1) {
-          return signals[0];
-        }
-        const ac = new AbortController2();
-        const abort = () => ac.abort();
-        signals.forEach((signal) => {
-          validateAbortSignal(signal, "signals");
-          signal.addEventListener("abort", abort, {
-            once: true
-          });
+      }
+      if (data.sourceType === "buffer") {
+        append(null, source);
+      } else if (data.sourceType === "stream" && data.stats) {
+        data.size = data.stats.size;
+        var entry = self2.engine.entry(data, function(err) {
+          callback(err, data);
         });
-        ac.signal.addEventListener(
-          "abort",
-          () => {
-            signals.forEach((signal) => signal.removeEventListener("abort", abort));
-          },
-          {
-            once: true
-          }
-        );
-        return ac.signal;
+        source.pipe(entry);
+      } else if (data.sourceType === "stream") {
+        util.collectStream(source, append);
       }
     };
-    module2.exports.promisify.custom = /* @__PURE__ */ Symbol.for("nodejs.util.promisify.custom");
+    Tar.prototype.finalize = function() {
+      this.engine.finalize();
+    };
+    Tar.prototype.on = function() {
+      return this.engine.on.apply(this.engine, arguments);
+    };
+    Tar.prototype.pipe = function(destination, options) {
+      if (this.compressor) {
+        return this.engine.pipe.apply(this.engine, [this.compressor]).pipe(destination, options);
+      } else {
+        return this.engine.pipe.apply(this.engine, arguments);
+      }
+    };
+    Tar.prototype.unpipe = function() {
+      if (this.compressor) {
+        return this.compressor.unpipe.apply(this.compressor, arguments);
+      } else {
+        return this.engine.unpipe.apply(this.engine, arguments);
+      }
+    };
+    module2.exports = Tar;
   }
 });
 
-// node_modules/readable-stream/lib/ours/errors.js
-var require_errors5 = __commonJS({
-  "node_modules/readable-stream/lib/ours/errors.js"(exports2, module2) {
+// node_modules/buffer-crc32/dist/index.cjs
+var require_dist5 = __commonJS({
+  "node_modules/buffer-crc32/dist/index.cjs"(exports2, module2) {
     "use strict";
-    var { format, inspect, AggregateError: CustomAggregateError } = require_util20();
-    var AggregateError = globalThis.AggregateError || CustomAggregateError;
-    var kIsNodeError = /* @__PURE__ */ Symbol("kIsNodeError");
-    var kTypes = [
-      "string",
-      "function",
-      "number",
-      "object",
-      // Accept 'Function' and 'Object' as alternative to the lower cased version.
-      "Function",
-      "Object",
-      "boolean",
-      "bigint",
-      "symbol"
-    ];
-    var classRegExp = /^([A-Z][a-z0-9]*)+$/;
-    var nodeInternalPrefix = "__node_internal_";
-    var codes = {};
-    function assert(value, message) {
-      if (!value) {
-        throw new codes.ERR_INTERNAL_ASSERTION(message);
+    function getDefaultExportFromCjs(x) {
+      return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
+    }
+    var CRC_TABLE = new Int32Array([
+      0,
+      1996959894,
+      3993919788,
+      2567524794,
+      124634137,
+      1886057615,
+      3915621685,
+      2657392035,
+      249268274,
+      2044508324,
+      3772115230,
+      2547177864,
+      162941995,
+      2125561021,
+      3887607047,
+      2428444049,
+      498536548,
+      1789927666,
+      4089016648,
+      2227061214,
+      450548861,
+      1843258603,
+      4107580753,
+      2211677639,
+      325883990,
+      1684777152,
+      4251122042,
+      2321926636,
+      335633487,
+      1661365465,
+      4195302755,
+      2366115317,
+      997073096,
+      1281953886,
+      3579855332,
+      2724688242,
+      1006888145,
+      1258607687,
+      3524101629,
+      2768942443,
+      901097722,
+      1119000684,
+      3686517206,
+      2898065728,
+      853044451,
+      1172266101,
+      3705015759,
+      2882616665,
+      651767980,
+      1373503546,
+      3369554304,
+      3218104598,
+      565507253,
+      1454621731,
+      3485111705,
+      3099436303,
+      671266974,
+      1594198024,
+      3322730930,
+      2970347812,
+      795835527,
+      1483230225,
+      3244367275,
+      3060149565,
+      1994146192,
+      31158534,
+      2563907772,
+      4023717930,
+      1907459465,
+      112637215,
+      2680153253,
+      3904427059,
+      2013776290,
+      251722036,
+      2517215374,
+      3775830040,
+      2137656763,
+      141376813,
+      2439277719,
+      3865271297,
+      1802195444,
+      476864866,
+      2238001368,
+      4066508878,
+      1812370925,
+      453092731,
+      2181625025,
+      4111451223,
+      1706088902,
+      314042704,
+      2344532202,
+      4240017532,
+      1658658271,
+      366619977,
+      2362670323,
+      4224994405,
+      1303535960,
+      984961486,
+      2747007092,
+      3569037538,
+      1256170817,
+      1037604311,
+      2765210733,
+      3554079995,
+      1131014506,
+      879679996,
+      2909243462,
+      3663771856,
+      1141124467,
+      855842277,
+      2852801631,
+      3708648649,
+      1342533948,
+      654459306,
+      3188396048,
+      3373015174,
+      1466479909,
+      544179635,
+      3110523913,
+      3462522015,
+      1591671054,
+      702138776,
+      2966460450,
+      3352799412,
+      1504918807,
+      783551873,
+      3082640443,
+      3233442989,
+      3988292384,
+      2596254646,
+      62317068,
+      1957810842,
+      3939845945,
+      2647816111,
+      81470997,
+      1943803523,
+      3814918930,
+      2489596804,
+      225274430,
+      2053790376,
+      3826175755,
+      2466906013,
+      167816743,
+      2097651377,
+      4027552580,
+      2265490386,
+      503444072,
+      1762050814,
+      4150417245,
+      2154129355,
+      426522225,
+      1852507879,
+      4275313526,
+      2312317920,
+      282753626,
+      1742555852,
+      4189708143,
+      2394877945,
+      397917763,
+      1622183637,
+      3604390888,
+      2714866558,
+      953729732,
+      1340076626,
+      3518719985,
+      2797360999,
+      1068828381,
+      1219638859,
+      3624741850,
+      2936675148,
+      906185462,
+      1090812512,
+      3747672003,
+      2825379669,
+      829329135,
+      1181335161,
+      3412177804,
+      3160834842,
+      628085408,
+      1382605366,
+      3423369109,
+      3138078467,
+      570562233,
+      1426400815,
+      3317316542,
+      2998733608,
+      733239954,
+      1555261956,
+      3268935591,
+      3050360625,
+      752459403,
+      1541320221,
+      2607071920,
+      3965973030,
+      1969922972,
+      40735498,
+      2617837225,
+      3943577151,
+      1913087877,
+      83908371,
+      2512341634,
+      3803740692,
+      2075208622,
+      213261112,
+      2463272603,
+      3855990285,
+      2094854071,
+      198958881,
+      2262029012,
+      4057260610,
+      1759359992,
+      534414190,
+      2176718541,
+      4139329115,
+      1873836001,
+      414664567,
+      2282248934,
+      4279200368,
+      1711684554,
+      285281116,
+      2405801727,
+      4167216745,
+      1634467795,
+      376229701,
+      2685067896,
+      3608007406,
+      1308918612,
+      956543938,
+      2808555105,
+      3495958263,
+      1231636301,
+      1047427035,
+      2932959818,
+      3654703836,
+      1088359270,
+      936918e3,
+      2847714899,
+      3736837829,
+      1202900863,
+      817233897,
+      3183342108,
+      3401237130,
+      1404277552,
+      615818150,
+      3134207493,
+      3453421203,
+      1423857449,
+      601450431,
+      3009837614,
+      3294710456,
+      1567103746,
+      711928724,
+      3020668471,
+      3272380065,
+      1510334235,
+      755167117
+    ]);
+    function ensureBuffer(input) {
+      if (Buffer.isBuffer(input)) {
+        return input;
       }
-    }
-    function addNumericalSeparator(val) {
-      let res = "";
-      let i = val.length;
-      const start = val[0] === "-" ? 1 : 0;
-      for (; i >= start + 4; i -= 3) {
-        res = `_${val.slice(i - 3, i)}${res}`;
+      if (typeof input === "number") {
+        return Buffer.alloc(input);
+      } else if (typeof input === "string") {
+        return Buffer.from(input);
+      } else {
+        throw new Error("input must be buffer, number, or string, received " + typeof input);
       }
-      return `${val.slice(0, i)}${res}`;
     }
-    function getMessage(key, msg, args) {
-      if (typeof msg === "function") {
-        assert(
-          msg.length <= args.length,
-          // Default options do not count.
-          `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${msg.length}).`
-        );
-        return msg(...args);
-      }
-      const expectedLength = (msg.match(/%[dfijoOs]/g) || []).length;
-      assert(
-        expectedLength === args.length,
-        `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${expectedLength}).`
-      );
-      if (args.length === 0) {
-        return msg;
-      }
-      return format(msg, ...args);
+    function bufferizeInt(num) {
+      const tmp = ensureBuffer(4);
+      tmp.writeInt32BE(num, 0);
+      return tmp;
     }
-    function E(code, message, Base) {
-      if (!Base) {
-        Base = Error;
+    function _crc32(buf, previous) {
+      buf = ensureBuffer(buf);
+      if (Buffer.isBuffer(previous)) {
+        previous = previous.readUInt32BE(0);
       }
-      class NodeError extends Base {
-        constructor(...args) {
-          super(getMessage(code, message, args));
-        }
-        toString() {
-          return `${this.name} [${code}]: ${this.message}`;
-        }
+      let crc = ~~previous ^ -1;
+      for (var n = 0; n < buf.length; n++) {
+        crc = CRC_TABLE[(crc ^ buf[n]) & 255] ^ crc >>> 8;
       }
-      Object.defineProperties(NodeError.prototype, {
-        name: {
-          value: Base.name,
-          writable: true,
-          enumerable: false,
-          configurable: true
-        },
-        toString: {
-          value() {
-            return `${this.name} [${code}]: ${this.message}`;
-          },
-          writable: true,
-          enumerable: false,
-          configurable: true
-        }
-      });
-      NodeError.prototype.code = code;
-      NodeError.prototype[kIsNodeError] = true;
-      codes[code] = NodeError;
-    }
-    function hideStackFrames(fn) {
-      const hidden = nodeInternalPrefix + fn.name;
-      Object.defineProperty(fn, "name", {
-        value: hidden
-      });
-      return fn;
+      return crc ^ -1;
     }
-    function aggregateTwoErrors(innerError, outerError) {
-      if (innerError && outerError && innerError !== outerError) {
-        if (Array.isArray(outerError.errors)) {
-          outerError.errors.push(innerError);
-          return outerError;
-        }
-        const err = new AggregateError([outerError, innerError], outerError.message);
-        err.code = outerError.code;
-        return err;
-      }
-      return innerError || outerError;
+    function crc32() {
+      return bufferizeInt(_crc32.apply(null, arguments));
     }
-    var AbortError = class extends Error {
-      constructor(message = "The operation was aborted", options = void 0) {
-        if (options !== void 0 && typeof options !== "object") {
-          throw new codes.ERR_INVALID_ARG_TYPE("options", "Object", options);
-        }
-        super(message, options);
-        this.code = "ABORT_ERR";
-        this.name = "AbortError";
-      }
+    crc32.signed = function() {
+      return _crc32.apply(null, arguments);
     };
-    E("ERR_ASSERTION", "%s", Error);
-    E(
-      "ERR_INVALID_ARG_TYPE",
-      (name, expected, actual) => {
-        assert(typeof name === "string", "'name' must be a string");
-        if (!Array.isArray(expected)) {
-          expected = [expected];
-        }
-        let msg = "The ";
-        if (name.endsWith(" argument")) {
-          msg += `${name} `;
-        } else {
-          msg += `"${name}" ${name.includes(".") ? "property" : "argument"} `;
-        }
-        msg += "must be ";
-        const types = [];
-        const instances = [];
-        const other = [];
-        for (const value of expected) {
-          assert(typeof value === "string", "All expected entries have to be of type string");
-          if (kTypes.includes(value)) {
-            types.push(value.toLowerCase());
-          } else if (classRegExp.test(value)) {
-            instances.push(value);
-          } else {
-            assert(value !== "object", 'The value "object" should be written as "Object"');
-            other.push(value);
-          }
-        }
-        if (instances.length > 0) {
-          const pos = types.indexOf("object");
-          if (pos !== -1) {
-            types.splice(types, pos, 1);
-            instances.push("Object");
-          }
-        }
-        if (types.length > 0) {
-          switch (types.length) {
-            case 1:
-              msg += `of type ${types[0]}`;
-              break;
-            case 2:
-              msg += `one of type ${types[0]} or ${types[1]}`;
-              break;
-            default: {
-              const last = types.pop();
-              msg += `one of type ${types.join(", ")}, or ${last}`;
-            }
-          }
-          if (instances.length > 0 || other.length > 0) {
-            msg += " or ";
-          }
-        }
-        if (instances.length > 0) {
-          switch (instances.length) {
-            case 1:
-              msg += `an instance of ${instances[0]}`;
-              break;
-            case 2:
-              msg += `an instance of ${instances[0]} or ${instances[1]}`;
-              break;
-            default: {
-              const last = instances.pop();
-              msg += `an instance of ${instances.join(", ")}, or ${last}`;
-            }
-          }
-          if (other.length > 0) {
-            msg += " or ";
-          }
-        }
-        switch (other.length) {
-          case 0:
-            break;
-          case 1:
-            if (other[0].toLowerCase() !== other[0]) {
-              msg += "an ";
-            }
-            msg += `${other[0]}`;
-            break;
-          case 2:
-            msg += `one of ${other[0]} or ${other[1]}`;
-            break;
-          default: {
-            const last = other.pop();
-            msg += `one of ${other.join(", ")}, or ${last}`;
-          }
-        }
-        if (actual == null) {
-          msg += `. Received ${actual}`;
-        } else if (typeof actual === "function" && actual.name) {
-          msg += `. Received function ${actual.name}`;
-        } else if (typeof actual === "object") {
-          var _actual$constructor;
-          if ((_actual$constructor = actual.constructor) !== null && _actual$constructor !== void 0 && _actual$constructor.name) {
-            msg += `. Received an instance of ${actual.constructor.name}`;
-          } else {
-            const inspected = inspect(actual, {
-              depth: -1
-            });
-            msg += `. Received ${inspected}`;
-          }
-        } else {
-          let inspected = inspect(actual, {
-            colors: false
-          });
-          if (inspected.length > 25) {
-            inspected = `${inspected.slice(0, 25)}...`;
-          }
-          msg += `. Received type ${typeof actual} (${inspected})`;
-        }
-        return msg;
-      },
-      TypeError
-    );
-    E(
-      "ERR_INVALID_ARG_VALUE",
-      (name, value, reason = "is invalid") => {
-        let inspected = inspect(value);
-        if (inspected.length > 128) {
-          inspected = inspected.slice(0, 128) + "...";
-        }
-        const type2 = name.includes(".") ? "property" : "argument";
-        return `The ${type2} '${name}' ${reason}. Received ${inspected}`;
-      },
-      TypeError
-    );
-    E(
-      "ERR_INVALID_RETURN_VALUE",
-      (input, name, value) => {
-        var _value$constructor;
-        const type2 = value !== null && value !== void 0 && (_value$constructor = value.constructor) !== null && _value$constructor !== void 0 && _value$constructor.name ? `instance of ${value.constructor.name}` : `type ${typeof value}`;
-        return `Expected ${input} to be returned from the "${name}" function but got ${type2}.`;
-      },
-      TypeError
-    );
-    E(
-      "ERR_MISSING_ARGS",
-      (...args) => {
-        assert(args.length > 0, "At least one arg needs to be specified");
-        let msg;
-        const len = args.length;
-        args = (Array.isArray(args) ? args : [args]).map((a) => `"${a}"`).join(" or ");
-        switch (len) {
-          case 1:
-            msg += `The ${args[0]} argument`;
-            break;
-          case 2:
-            msg += `The ${args[0]} and ${args[1]} arguments`;
-            break;
-          default:
-            {
-              const last = args.pop();
-              msg += `The ${args.join(", ")}, and ${last} arguments`;
-            }
-            break;
-        }
-        return `${msg} must be specified`;
-      },
-      TypeError
-    );
-    E(
-      "ERR_OUT_OF_RANGE",
-      (str2, range, input) => {
-        assert(range, 'Missing "range" argument');
-        let received;
-        if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {
-          received = addNumericalSeparator(String(input));
-        } else if (typeof input === "bigint") {
-          received = String(input);
-          if (input > 2n ** 32n || input < -(2n ** 32n)) {
-            received = addNumericalSeparator(received);
-          }
-          received += "n";
-        } else {
-          received = inspect(input);
-        }
-        return `The value of "${str2}" is out of range. It must be ${range}. Received ${received}`;
-      },
-      RangeError
-    );
-    E("ERR_MULTIPLE_CALLBACK", "Callback called multiple times", Error);
-    E("ERR_METHOD_NOT_IMPLEMENTED", "The %s method is not implemented", Error);
-    E("ERR_STREAM_ALREADY_FINISHED", "Cannot call %s after a stream was finished", Error);
-    E("ERR_STREAM_CANNOT_PIPE", "Cannot pipe, not readable", Error);
-    E("ERR_STREAM_DESTROYED", "Cannot call %s after a stream was destroyed", Error);
-    E("ERR_STREAM_NULL_VALUES", "May not write null values to stream", TypeError);
-    E("ERR_STREAM_PREMATURE_CLOSE", "Premature close", Error);
-    E("ERR_STREAM_PUSH_AFTER_EOF", "stream.push() after EOF", Error);
-    E("ERR_STREAM_UNSHIFT_AFTER_END_EVENT", "stream.unshift() after end event", Error);
-    E("ERR_STREAM_WRITE_AFTER_END", "write after end", Error);
-    E("ERR_UNKNOWN_ENCODING", "Unknown encoding: %s", TypeError);
-    module2.exports = {
-      AbortError,
-      aggregateTwoErrors: hideStackFrames(aggregateTwoErrors),
-      hideStackFrames,
-      codes
+    crc32.unsigned = function() {
+      return _crc32.apply(null, arguments) >>> 0;
     };
+    var bufferCrc32 = crc32;
+    var index = /* @__PURE__ */ getDefaultExportFromCjs(bufferCrc32);
+    module2.exports = index;
   }
 });
 
-// node_modules/readable-stream/lib/internal/validators.js
-var require_validators = __commonJS({
-  "node_modules/readable-stream/lib/internal/validators.js"(exports2, module2) {
-    "use strict";
-    var {
-      ArrayIsArray,
-      ArrayPrototypeIncludes,
-      ArrayPrototypeJoin,
-      ArrayPrototypeMap,
-      NumberIsInteger,
-      NumberIsNaN,
-      NumberMAX_SAFE_INTEGER,
-      NumberMIN_SAFE_INTEGER,
-      NumberParseInt,
-      ObjectPrototypeHasOwnProperty,
-      RegExpPrototypeExec,
-      String: String2,
-      StringPrototypeToUpperCase,
-      StringPrototypeTrim
-    } = require_primordials();
-    var {
-      hideStackFrames,
-      codes: { ERR_SOCKET_BAD_PORT, ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_ARG_VALUE, ERR_OUT_OF_RANGE, ERR_UNKNOWN_SIGNAL }
-    } = require_errors5();
-    var { normalizeEncoding } = require_util20();
-    var { isAsyncFunction, isArrayBufferView } = require_util20().types;
-    var signals = {};
-    function isInt32(value) {
-      return value === (value | 0);
-    }
-    function isUint32(value) {
-      return value === value >>> 0;
-    }
-    var octalReg = /^[0-7]+$/;
-    var modeDesc = "must be a 32-bit unsigned integer or an octal string";
-    function parseFileMode(value, name, def) {
-      if (typeof value === "undefined") {
-        value = def;
+// node_modules/archiver/lib/plugins/json.js
+var require_json = __commonJS({
+  "node_modules/archiver/lib/plugins/json.js"(exports2, module2) {
+    var inherits = require("util").inherits;
+    var Transform = require_ours().Transform;
+    var crc32 = require_dist5();
+    var util = require_archiver_utils();
+    var Json = function(options) {
+      if (!(this instanceof Json)) {
+        return new Json(options);
       }
-      if (typeof value === "string") {
-        if (RegExpPrototypeExec(octalReg, value) === null) {
-          throw new ERR_INVALID_ARG_VALUE(name, value, modeDesc);
+      options = this.options = util.defaults(options, {});
+      Transform.call(this, options);
+      this.supports = {
+        directory: true,
+        symlink: true
+      };
+      this.files = [];
+    };
+    inherits(Json, Transform);
+    Json.prototype._transform = function(chunk, encoding, callback) {
+      callback(null, chunk);
+    };
+    Json.prototype._writeStringified = function() {
+      var fileString = JSON.stringify(this.files);
+      this.write(fileString);
+    };
+    Json.prototype.append = function(source, data, callback) {
+      var self2 = this;
+      data.crc32 = 0;
+      function onend(err, sourceBuffer) {
+        if (err) {
+          callback(err);
+          return;
         }
-        value = NumberParseInt(value, 8);
-      }
-      validateUint32(value, name);
-      return value;
-    }
-    var validateInteger = hideStackFrames((value, name, min = NumberMIN_SAFE_INTEGER, max = NumberMAX_SAFE_INTEGER) => {
-      if (typeof value !== "number") throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
-      if (!NumberIsInteger(value)) throw new ERR_OUT_OF_RANGE(name, "an integer", value);
-      if (value < min || value > max) throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
-    });
-    var validateInt32 = hideStackFrames((value, name, min = -2147483648, max = 2147483647) => {
-      if (typeof value !== "number") {
-        throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
-      }
-      if (!NumberIsInteger(value)) {
-        throw new ERR_OUT_OF_RANGE(name, "an integer", value);
-      }
-      if (value < min || value > max) {
-        throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
-      }
-    });
-    var validateUint32 = hideStackFrames((value, name, positive = false) => {
-      if (typeof value !== "number") {
-        throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
-      }
-      if (!NumberIsInteger(value)) {
-        throw new ERR_OUT_OF_RANGE(name, "an integer", value);
+        data.size = sourceBuffer.length || 0;
+        data.crc32 = crc32.unsigned(sourceBuffer);
+        self2.files.push(data);
+        callback(null, data);
       }
-      const min = positive ? 1 : 0;
-      const max = 4294967295;
-      if (value < min || value > max) {
-        throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
+      if (data.sourceType === "buffer") {
+        onend(null, source);
+      } else if (data.sourceType === "stream") {
+        util.collectStream(source, onend);
       }
-    });
-    function validateString(value, name) {
-      if (typeof value !== "string") throw new ERR_INVALID_ARG_TYPE2(name, "string", value);
-    }
-    function validateNumber(value, name, min = void 0, max) {
-      if (typeof value !== "number") throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
-      if (min != null && value < min || max != null && value > max || (min != null || max != null) && NumberIsNaN(value)) {
-        throw new ERR_OUT_OF_RANGE(
-          name,
-          `${min != null ? `>= ${min}` : ""}${min != null && max != null ? " && " : ""}${max != null ? `<= ${max}` : ""}`,
-          value
-        );
+    };
+    Json.prototype.finalize = function() {
+      this._writeStringified();
+      this.end();
+    };
+    module2.exports = Json;
+  }
+});
+
+// node_modules/archiver/index.js
+var require_archiver = __commonJS({
+  "node_modules/archiver/index.js"(exports2, module2) {
+    var Archiver = require_core2();
+    var formats = {};
+    var vending = function(format, options) {
+      return vending.create(format, options);
+    };
+    vending.create = function(format, options) {
+      if (formats[format]) {
+        var instance = new Archiver(format, options);
+        instance.setFormat(format);
+        instance.setModule(new formats[format](options));
+        return instance;
+      } else {
+        throw new Error("create(" + format + "): format not registered");
       }
-    }
-    var validateOneOf = hideStackFrames((value, name, oneOf) => {
-      if (!ArrayPrototypeIncludes(oneOf, value)) {
-        const allowed = ArrayPrototypeJoin(
-          ArrayPrototypeMap(oneOf, (v) => typeof v === "string" ? `'${v}'` : String2(v)),
-          ", "
-        );
-        const reason = "must be one of: " + allowed;
-        throw new ERR_INVALID_ARG_VALUE(name, value, reason);
+    };
+    vending.registerFormat = function(format, module3) {
+      if (formats[format]) {
+        throw new Error("register(" + format + "): format already registered");
       }
-    });
-    function validateBoolean(value, name) {
-      if (typeof value !== "boolean") throw new ERR_INVALID_ARG_TYPE2(name, "boolean", value);
-    }
-    function getOwnPropertyValueOrDefault(options, key, defaultValue) {
-      return options == null || !ObjectPrototypeHasOwnProperty(options, key) ? defaultValue : options[key];
-    }
-    var validateObject = hideStackFrames((value, name, options = null) => {
-      const allowArray = getOwnPropertyValueOrDefault(options, "allowArray", false);
-      const allowFunction = getOwnPropertyValueOrDefault(options, "allowFunction", false);
-      const nullable = getOwnPropertyValueOrDefault(options, "nullable", false);
-      if (!nullable && value === null || !allowArray && ArrayIsArray(value) || typeof value !== "object" && (!allowFunction || typeof value !== "function")) {
-        throw new ERR_INVALID_ARG_TYPE2(name, "Object", value);
+      if (typeof module3 !== "function") {
+        throw new Error("register(" + format + "): format module invalid");
       }
-    });
-    var validateDictionary = hideStackFrames((value, name) => {
-      if (value != null && typeof value !== "object" && typeof value !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2(name, "a dictionary", value);
+      if (typeof module3.prototype.append !== "function" || typeof module3.prototype.finalize !== "function") {
+        throw new Error("register(" + format + "): format module missing methods");
       }
-    });
-    var validateArray = hideStackFrames((value, name, minLength = 0) => {
-      if (!ArrayIsArray(value)) {
-        throw new ERR_INVALID_ARG_TYPE2(name, "Array", value);
+      formats[format] = module3;
+    };
+    vending.isRegisteredFormat = function(format) {
+      if (formats[format]) {
+        return true;
       }
-      if (value.length < minLength) {
-        const reason = `must be longer than ${minLength}`;
-        throw new ERR_INVALID_ARG_VALUE(name, value, reason);
+      return false;
+    };
+    vending.registerFormat("zip", require_zip());
+    vending.registerFormat("tar", require_tar2());
+    vending.registerFormat("json", require_json());
+    module2.exports = vending;
+  }
+});
+
+// node_modules/@actions/artifact/lib/internal/upload/zip.js
+var require_zip2 = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/upload/zip.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
     });
-    function validateStringArray(value, name) {
-      validateArray(value, name);
-      for (let i = 0; i < value.length; i++) {
-        validateString(value[i], `${name}[${i}]`);
+    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
       }
-    }
-    function validateBooleanArray(value, name) {
-      validateArray(value, name);
-      for (let i = 0; i < value.length; i++) {
-        validateBoolean(value[i], `${name}[${i}]`);
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve5) {
+          resolve5(value);
+        });
       }
-    }
-    function validateAbortSignalArray(value, name) {
-      validateArray(value, name);
-      for (let i = 0; i < value.length; i++) {
-        const signal = value[i];
-        const indexedName = `${name}[${i}]`;
-        if (signal == null) {
-          throw new ERR_INVALID_ARG_TYPE2(indexedName, "AbortSignal", signal);
+      return new (P || (P = Promise))(function(resolve5, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        validateAbortSignal(signal, indexedName);
-      }
-    }
-    function validateSignalName(signal, name = "signal") {
-      validateString(signal, name);
-      if (signals[signal] === void 0) {
-        if (signals[StringPrototypeToUpperCase(signal)] !== void 0) {
-          throw new ERR_UNKNOWN_SIGNAL(signal + " (signals must use all capital letters)");
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        throw new ERR_UNKNOWN_SIGNAL(signal);
-      }
-    }
-    var validateBuffer = hideStackFrames((buffer, name = "buffer") => {
-      if (!isArrayBufferView(buffer)) {
-        throw new ERR_INVALID_ARG_TYPE2(name, ["Buffer", "TypedArray", "DataView"], buffer);
+        function step(result) {
+          result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createZipUploadStream = exports2.ZipUploadStream = exports2.DEFAULT_COMPRESSION_LEVEL = void 0;
+    var stream = __importStar2(require("stream"));
+    var promises_1 = require("fs/promises");
+    var archiver2 = __importStar2(require_archiver());
+    var core14 = __importStar2(require_core());
+    var config_1 = require_config2();
+    exports2.DEFAULT_COMPRESSION_LEVEL = 6;
+    var ZipUploadStream = class extends stream.Transform {
+      constructor(bufferSize) {
+        super({
+          highWaterMark: bufferSize
+        });
       }
-    });
-    function validateEncoding(data, encoding) {
-      const normalizedEncoding = normalizeEncoding(encoding);
-      const length = data.length;
-      if (normalizedEncoding === "hex" && length % 2 !== 0) {
-        throw new ERR_INVALID_ARG_VALUE("encoding", encoding, `is invalid for data of length ${length}`);
+      // eslint-disable-next-line @typescript-eslint/no-explicit-any
+      _transform(chunk, enc, cb) {
+        cb(null, chunk);
       }
+    };
+    exports2.ZipUploadStream = ZipUploadStream;
+    function createZipUploadStream(uploadSpecification_1) {
+      return __awaiter2(this, arguments, void 0, function* (uploadSpecification, compressionLevel = exports2.DEFAULT_COMPRESSION_LEVEL) {
+        core14.debug(`Creating Artifact archive with compressionLevel: ${compressionLevel}`);
+        const zip = archiver2.create("zip", {
+          highWaterMark: (0, config_1.getUploadChunkSize)(),
+          zlib: { level: compressionLevel }
+        });
+        zip.on("error", zipErrorCallback);
+        zip.on("warning", zipWarningCallback);
+        zip.on("finish", zipFinishCallback);
+        zip.on("end", zipEndCallback);
+        for (const file of uploadSpecification) {
+          if (file.sourcePath !== null) {
+            let sourcePath = file.sourcePath;
+            if (file.stats.isSymbolicLink()) {
+              sourcePath = yield (0, promises_1.realpath)(file.sourcePath);
+            }
+            zip.file(sourcePath, {
+              name: file.destinationPath
+            });
+          } else {
+            zip.append("", { name: file.destinationPath });
+          }
+        }
+        const bufferSize = (0, config_1.getUploadChunkSize)();
+        const zipUploadStream = new ZipUploadStream(bufferSize);
+        core14.debug(`Zip write high watermark value ${zipUploadStream.writableHighWaterMark}`);
+        core14.debug(`Zip read high watermark value ${zipUploadStream.readableHighWaterMark}`);
+        zip.pipe(zipUploadStream);
+        zip.finalize();
+        return zipUploadStream;
+      });
     }
-    function validatePort(port, name = "Port", allowZero = true) {
-      if (typeof port !== "number" && typeof port !== "string" || typeof port === "string" && StringPrototypeTrim(port).length === 0 || +port !== +port >>> 0 || port > 65535 || port === 0 && !allowZero) {
-        throw new ERR_SOCKET_BAD_PORT(name, port, allowZero);
+    exports2.createZipUploadStream = createZipUploadStream;
+    var zipErrorCallback = (error3) => {
+      core14.error("An error has occurred while creating the zip file for upload");
+      core14.info(error3);
+      throw new Error("An error has occurred during zip creation for the artifact");
+    };
+    var zipWarningCallback = (error3) => {
+      if (error3.code === "ENOENT") {
+        core14.warning("ENOENT warning during artifact zip creation. No such file or directory");
+        core14.info(error3);
+      } else {
+        core14.warning(`A non-blocking warning has occurred during artifact zip creation: ${error3.code}`);
+        core14.info(error3);
       }
-      return port | 0;
-    }
-    var validateAbortSignal = hideStackFrames((signal, name) => {
-      if (signal !== void 0 && (signal === null || typeof signal !== "object" || !("aborted" in signal))) {
-        throw new ERR_INVALID_ARG_TYPE2(name, "AbortSignal", signal);
+    };
+    var zipFinishCallback = () => {
+      core14.debug("Zip stream for upload has finished.");
+    };
+    var zipEndCallback = () => {
+      core14.debug("Zip stream for upload has ended.");
+    };
+  }
+});
+
+// node_modules/@actions/artifact/lib/internal/upload/upload-artifact.js
+var require_upload_artifact = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/upload/upload-artifact.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
     });
-    var validateFunction = hideStackFrames((value, name) => {
-      if (typeof value !== "function") throw new ERR_INVALID_ARG_TYPE2(name, "Function", value);
-    });
-    var validatePlainFunction = hideStackFrames((value, name) => {
-      if (typeof value !== "function" || isAsyncFunction(value)) throw new ERR_INVALID_ARG_TYPE2(name, "Function", value);
-    });
-    var validateUndefined = hideStackFrames((value, name) => {
-      if (value !== void 0) throw new ERR_INVALID_ARG_TYPE2(name, "undefined", value);
-    });
-    function validateUnion(value, name, union) {
-      if (!ArrayPrototypeIncludes(union, value)) {
-        throw new ERR_INVALID_ARG_TYPE2(name, `('${ArrayPrototypeJoin(union, "|")}')`, value);
+    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
       }
-    }
-    var linkValueRegExp = /^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/;
-    function validateLinkHeaderFormat(value, name) {
-      if (typeof value === "undefined" || !RegExpPrototypeExec(linkValueRegExp, value)) {
-        throw new ERR_INVALID_ARG_VALUE(
-          name,
-          value,
-          'must be an array or string of format "; rel=preload; as=style"'
-        );
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve5) {
+          resolve5(value);
+        });
       }
-    }
-    function validateLinkHeaderValue(hints) {
-      if (typeof hints === "string") {
-        validateLinkHeaderFormat(hints, "hints");
-        return hints;
-      } else if (ArrayIsArray(hints)) {
-        const hintsLength = hints.length;
-        let result = "";
-        if (hintsLength === 0) {
-          return result;
+      return new (P || (P = Promise))(function(resolve5, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        for (let i = 0; i < hintsLength; i++) {
-          const link = hints[i];
-          validateLinkHeaderFormat(link, "hints");
-          result += link;
-          if (i !== hintsLength - 1) {
-            result += ", ";
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
           }
         }
-        return result;
-      }
-      throw new ERR_INVALID_ARG_VALUE(
-        "hints",
-        hints,
-        'must be an array or string of format "; rel=preload; as=style"'
-      );
-    }
-    module2.exports = {
-      isInt32,
-      isUint32,
-      parseFileMode,
-      validateArray,
-      validateStringArray,
-      validateBooleanArray,
-      validateAbortSignalArray,
-      validateBoolean,
-      validateBuffer,
-      validateDictionary,
-      validateEncoding,
-      validateFunction,
-      validateInt32,
-      validateInteger,
-      validateNumber,
-      validateObject,
-      validateOneOf,
-      validatePlainFunction,
-      validatePort,
-      validateSignalName,
-      validateString,
-      validateUint32,
-      validateUndefined,
-      validateUnion,
-      validateAbortSignal,
-      validateLinkHeaderValue
+        function step(result) {
+          result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
     };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.uploadArtifact = void 0;
+    var core14 = __importStar2(require_core());
+    var retention_1 = require_retention();
+    var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation();
+    var artifact_twirp_client_1 = require_artifact_twirp_client2();
+    var upload_zip_specification_1 = require_upload_zip_specification();
+    var util_1 = require_util19();
+    var blob_upload_1 = require_blob_upload();
+    var zip_1 = require_zip2();
+    var generated_1 = require_generated();
+    var errors_1 = require_errors4();
+    function uploadArtifact(name, files, rootDirectory, options) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        (0, path_and_artifact_name_validation_1.validateArtifactName)(name);
+        (0, upload_zip_specification_1.validateRootDirectory)(rootDirectory);
+        const zipSpecification = (0, upload_zip_specification_1.getUploadZipSpecification)(files, rootDirectory);
+        if (zipSpecification.length === 0) {
+          throw new errors_1.FilesNotFoundError(zipSpecification.flatMap((s) => s.sourcePath ? [s.sourcePath] : []));
+        }
+        const backendIds = (0, util_1.getBackendIdsFromToken)();
+        const artifactClient = (0, artifact_twirp_client_1.internalArtifactTwirpClient)();
+        const createArtifactReq = {
+          workflowRunBackendId: backendIds.workflowRunBackendId,
+          workflowJobRunBackendId: backendIds.workflowJobRunBackendId,
+          name,
+          version: 4
+        };
+        const expiresAt = (0, retention_1.getExpiration)(options === null || options === void 0 ? void 0 : options.retentionDays);
+        if (expiresAt) {
+          createArtifactReq.expiresAt = expiresAt;
+        }
+        const createArtifactResp = yield artifactClient.CreateArtifact(createArtifactReq);
+        if (!createArtifactResp.ok) {
+          throw new errors_1.InvalidResponseError("CreateArtifact: response from backend was not ok");
+        }
+        const zipUploadStream = yield (0, zip_1.createZipUploadStream)(zipSpecification, options === null || options === void 0 ? void 0 : options.compressionLevel);
+        const uploadResult = yield (0, blob_upload_1.uploadZipToBlobStorage)(createArtifactResp.signedUploadUrl, zipUploadStream);
+        const finalizeArtifactReq = {
+          workflowRunBackendId: backendIds.workflowRunBackendId,
+          workflowJobRunBackendId: backendIds.workflowJobRunBackendId,
+          name,
+          size: uploadResult.uploadSize ? uploadResult.uploadSize.toString() : "0"
+        };
+        if (uploadResult.sha256Hash) {
+          finalizeArtifactReq.hash = generated_1.StringValue.create({
+            value: `sha256:${uploadResult.sha256Hash}`
+          });
+        }
+        core14.info(`Finalizing artifact upload`);
+        const finalizeArtifactResp = yield artifactClient.FinalizeArtifact(finalizeArtifactReq);
+        if (!finalizeArtifactResp.ok) {
+          throw new errors_1.InvalidResponseError("FinalizeArtifact: response from backend was not ok");
+        }
+        const artifactId = BigInt(finalizeArtifactResp.artifactId);
+        core14.info(`Artifact ${name}.zip successfully finalized. Artifact ID ${artifactId}`);
+        return {
+          size: uploadResult.uploadSize,
+          digest: uploadResult.sha256Hash,
+          id: Number(artifactId)
+        };
+      });
+    }
+    exports2.uploadArtifact = uploadArtifact;
   }
 });
 
-// node_modules/process/index.js
-var require_process = __commonJS({
-  "node_modules/process/index.js"(exports2, module2) {
-    module2.exports = global.process;
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/utils.js
-var require_utils8 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/utils.js"(exports2, module2) {
+// node_modules/@actions/artifact/node_modules/@actions/github/lib/context.js
+var require_context2 = __commonJS({
+  "node_modules/@actions/artifact/node_modules/@actions/github/lib/context.js"(exports2) {
     "use strict";
-    var { SymbolAsyncIterator, SymbolIterator, SymbolFor } = require_primordials();
-    var kIsDestroyed = SymbolFor("nodejs.stream.destroyed");
-    var kIsErrored = SymbolFor("nodejs.stream.errored");
-    var kIsReadable = SymbolFor("nodejs.stream.readable");
-    var kIsWritable = SymbolFor("nodejs.stream.writable");
-    var kIsDisturbed = SymbolFor("nodejs.stream.disturbed");
-    var kIsClosedPromise = SymbolFor("nodejs.webstream.isClosedPromise");
-    var kControllerErrorFunction = SymbolFor("nodejs.webstream.controllerErrorFunction");
-    function isReadableNodeStream(obj, strict = false) {
-      var _obj$_readableState;
-      return !!(obj && typeof obj.pipe === "function" && typeof obj.on === "function" && (!strict || typeof obj.pause === "function" && typeof obj.resume === "function") && (!obj._writableState || ((_obj$_readableState = obj._readableState) === null || _obj$_readableState === void 0 ? void 0 : _obj$_readableState.readable) !== false) && // Duplex
-      (!obj._writableState || obj._readableState));
-    }
-    function isWritableNodeStream(obj) {
-      var _obj$_writableState;
-      return !!(obj && typeof obj.write === "function" && typeof obj.on === "function" && (!obj._readableState || ((_obj$_writableState = obj._writableState) === null || _obj$_writableState === void 0 ? void 0 : _obj$_writableState.writable) !== false));
-    }
-    function isDuplexNodeStream(obj) {
-      return !!(obj && typeof obj.pipe === "function" && obj._readableState && typeof obj.on === "function" && typeof obj.write === "function");
-    }
-    function isNodeStream(obj) {
-      return obj && (obj._readableState || obj._writableState || typeof obj.write === "function" && typeof obj.on === "function" || typeof obj.pipe === "function" && typeof obj.on === "function");
-    }
-    function isReadableStream(obj) {
-      return !!(obj && !isNodeStream(obj) && typeof obj.pipeThrough === "function" && typeof obj.getReader === "function" && typeof obj.cancel === "function");
-    }
-    function isWritableStream(obj) {
-      return !!(obj && !isNodeStream(obj) && typeof obj.getWriter === "function" && typeof obj.abort === "function");
-    }
-    function isTransformStream(obj) {
-      return !!(obj && !isNodeStream(obj) && typeof obj.readable === "object" && typeof obj.writable === "object");
-    }
-    function isWebStream(obj) {
-      return isReadableStream(obj) || isWritableStream(obj) || isTransformStream(obj);
-    }
-    function isIterable(obj, isAsync) {
-      if (obj == null) return false;
-      if (isAsync === true) return typeof obj[SymbolAsyncIterator] === "function";
-      if (isAsync === false) return typeof obj[SymbolIterator] === "function";
-      return typeof obj[SymbolAsyncIterator] === "function" || typeof obj[SymbolIterator] === "function";
-    }
-    function isDestroyed(stream) {
-      if (!isNodeStream(stream)) return null;
-      const wState = stream._writableState;
-      const rState = stream._readableState;
-      const state = wState || rState;
-      return !!(stream.destroyed || stream[kIsDestroyed] || state !== null && state !== void 0 && state.destroyed);
-    }
-    function isWritableEnded(stream) {
-      if (!isWritableNodeStream(stream)) return null;
-      if (stream.writableEnded === true) return true;
-      const wState = stream._writableState;
-      if (wState !== null && wState !== void 0 && wState.errored) return false;
-      if (typeof (wState === null || wState === void 0 ? void 0 : wState.ended) !== "boolean") return null;
-      return wState.ended;
-    }
-    function isWritableFinished(stream, strict) {
-      if (!isWritableNodeStream(stream)) return null;
-      if (stream.writableFinished === true) return true;
-      const wState = stream._writableState;
-      if (wState !== null && wState !== void 0 && wState.errored) return false;
-      if (typeof (wState === null || wState === void 0 ? void 0 : wState.finished) !== "boolean") return null;
-      return !!(wState.finished || strict === false && wState.ended === true && wState.length === 0);
-    }
-    function isReadableEnded(stream) {
-      if (!isReadableNodeStream(stream)) return null;
-      if (stream.readableEnded === true) return true;
-      const rState = stream._readableState;
-      if (!rState || rState.errored) return false;
-      if (typeof (rState === null || rState === void 0 ? void 0 : rState.ended) !== "boolean") return null;
-      return rState.ended;
-    }
-    function isReadableFinished(stream, strict) {
-      if (!isReadableNodeStream(stream)) return null;
-      const rState = stream._readableState;
-      if (rState !== null && rState !== void 0 && rState.errored) return false;
-      if (typeof (rState === null || rState === void 0 ? void 0 : rState.endEmitted) !== "boolean") return null;
-      return !!(rState.endEmitted || strict === false && rState.ended === true && rState.length === 0);
-    }
-    function isReadable(stream) {
-      if (stream && stream[kIsReadable] != null) return stream[kIsReadable];
-      if (typeof (stream === null || stream === void 0 ? void 0 : stream.readable) !== "boolean") return null;
-      if (isDestroyed(stream)) return false;
-      return isReadableNodeStream(stream) && stream.readable && !isReadableFinished(stream);
-    }
-    function isWritable(stream) {
-      if (stream && stream[kIsWritable] != null) return stream[kIsWritable];
-      if (typeof (stream === null || stream === void 0 ? void 0 : stream.writable) !== "boolean") return null;
-      if (isDestroyed(stream)) return false;
-      return isWritableNodeStream(stream) && stream.writable && !isWritableEnded(stream);
-    }
-    function isFinished(stream, opts) {
-      if (!isNodeStream(stream)) {
-        return null;
-      }
-      if (isDestroyed(stream)) {
-        return true;
+    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() {
+        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 {
+            const path7 = process.env.GITHUB_EVENT_PATH;
+            process.stdout.write(`GITHUB_EVENT_PATH ${path7} does not exist${os_1.EOL}`);
+          }
+        }
+        this.eventName = process.env.GITHUB_EVENT_NAME;
+        this.sha = process.env.GITHUB_SHA;
+        this.ref = process.env.GITHUB_REF;
+        this.workflow = process.env.GITHUB_WORKFLOW;
+        this.action = process.env.GITHUB_ACTION;
+        this.actor = process.env.GITHUB_ACTOR;
+        this.job = process.env.GITHUB_JOB;
+        this.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`;
       }
-      if ((opts === null || opts === void 0 ? void 0 : opts.readable) !== false && isReadable(stream)) {
-        return false;
+      get issue() {
+        const payload = this.payload;
+        return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || payload).number });
       }
-      if ((opts === null || opts === void 0 ? void 0 : opts.writable) !== false && isWritable(stream)) {
-        return false;
+      get repo() {
+        if (process.env.GITHUB_REPOSITORY) {
+          const [owner, repo] = process.env.GITHUB_REPOSITORY.split("/");
+          return { owner, repo };
+        }
+        if (this.payload.repository) {
+          return {
+            owner: this.payload.repository.owner.login,
+            repo: this.payload.repository.name
+          };
+        }
+        throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'");
       }
-      return true;
-    }
-    function isWritableErrored(stream) {
-      var _stream$_writableStat, _stream$_writableStat2;
-      if (!isNodeStream(stream)) {
-        return null;
+    };
+    exports2.Context = Context;
+  }
+});
+
+// node_modules/@actions/artifact/node_modules/@actions/github/node_modules/@actions/http-client/lib/proxy.js
+var require_proxy2 = __commonJS({
+  "node_modules/@actions/artifact/node_modules/@actions/github/node_modules/@actions/http-client/lib/proxy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.checkBypass = exports2.getProxyUrl = void 0;
+    function getProxyUrl(reqUrl) {
+      const usingSsl = reqUrl.protocol === "https:";
+      if (checkBypass(reqUrl)) {
+        return void 0;
       }
-      if (stream.writableErrored) {
-        return stream.writableErrored;
+      const proxyVar = (() => {
+        if (usingSsl) {
+          return process.env["https_proxy"] || process.env["HTTPS_PROXY"];
+        } else {
+          return process.env["http_proxy"] || process.env["HTTP_PROXY"];
+        }
+      })();
+      if (proxyVar) {
+        try {
+          return new DecodedURL(proxyVar);
+        } catch (_a) {
+          if (!proxyVar.startsWith("http://") && !proxyVar.startsWith("https://"))
+            return new DecodedURL(`http://${proxyVar}`);
+        }
+      } else {
+        return void 0;
       }
-      return (_stream$_writableStat = (_stream$_writableStat2 = stream._writableState) === null || _stream$_writableStat2 === void 0 ? void 0 : _stream$_writableStat2.errored) !== null && _stream$_writableStat !== void 0 ? _stream$_writableStat : null;
     }
-    function isReadableErrored(stream) {
-      var _stream$_readableStat, _stream$_readableStat2;
-      if (!isNodeStream(stream)) {
-        return null;
+    exports2.getProxyUrl = getProxyUrl;
+    function checkBypass(reqUrl) {
+      if (!reqUrl.hostname) {
+        return false;
       }
-      if (stream.readableErrored) {
-        return stream.readableErrored;
+      const reqHost = reqUrl.hostname;
+      if (isLoopbackAddress(reqHost)) {
+        return true;
       }
-      return (_stream$_readableStat = (_stream$_readableStat2 = stream._readableState) === null || _stream$_readableStat2 === void 0 ? void 0 : _stream$_readableStat2.errored) !== null && _stream$_readableStat !== void 0 ? _stream$_readableStat : null;
-    }
-    function isClosed(stream) {
-      if (!isNodeStream(stream)) {
-        return null;
+      const noProxy = process.env["no_proxy"] || process.env["NO_PROXY"] || "";
+      if (!noProxy) {
+        return false;
       }
-      if (typeof stream.closed === "boolean") {
-        return stream.closed;
+      let reqPort;
+      if (reqUrl.port) {
+        reqPort = Number(reqUrl.port);
+      } else if (reqUrl.protocol === "http:") {
+        reqPort = 80;
+      } else if (reqUrl.protocol === "https:") {
+        reqPort = 443;
       }
-      const wState = stream._writableState;
-      const rState = stream._readableState;
-      if (typeof (wState === null || wState === void 0 ? void 0 : wState.closed) === "boolean" || typeof (rState === null || rState === void 0 ? void 0 : rState.closed) === "boolean") {
-        return (wState === null || wState === void 0 ? void 0 : wState.closed) || (rState === null || rState === void 0 ? void 0 : rState.closed);
+      const upperReqHosts = [reqUrl.hostname.toUpperCase()];
+      if (typeof reqPort === "number") {
+        upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`);
       }
-      if (typeof stream._closed === "boolean" && isOutgoingMessage(stream)) {
-        return stream._closed;
+      for (const upperNoProxyItem of noProxy.split(",").map((x) => x.trim().toUpperCase()).filter((x) => x)) {
+        if (upperNoProxyItem === "*" || upperReqHosts.some((x) => x === upperNoProxyItem || x.endsWith(`.${upperNoProxyItem}`) || upperNoProxyItem.startsWith(".") && x.endsWith(`${upperNoProxyItem}`))) {
+          return true;
+        }
       }
-      return null;
-    }
-    function isOutgoingMessage(stream) {
-      return typeof stream._closed === "boolean" && typeof stream._defaultKeepAlive === "boolean" && typeof stream._removedConnection === "boolean" && typeof stream._removedContLen === "boolean";
-    }
-    function isServerResponse(stream) {
-      return typeof stream._sent100 === "boolean" && isOutgoingMessage(stream);
-    }
-    function isServerRequest(stream) {
-      var _stream$req;
-      return typeof stream._consuming === "boolean" && typeof stream._dumped === "boolean" && ((_stream$req = stream.req) === null || _stream$req === void 0 ? void 0 : _stream$req.upgradeOrConnect) === void 0;
-    }
-    function willEmitClose(stream) {
-      if (!isNodeStream(stream)) return null;
-      const wState = stream._writableState;
-      const rState = stream._readableState;
-      const state = wState || rState;
-      return !state && isServerResponse(stream) || !!(state && state.autoDestroy && state.emitClose && state.closed === false);
-    }
-    function isDisturbed(stream) {
-      var _stream$kIsDisturbed;
-      return !!(stream && ((_stream$kIsDisturbed = stream[kIsDisturbed]) !== null && _stream$kIsDisturbed !== void 0 ? _stream$kIsDisturbed : stream.readableDidRead || stream.readableAborted));
+      return false;
     }
-    function isErrored(stream) {
-      var _ref, _ref2, _ref3, _ref4, _ref5, _stream$kIsErrored, _stream$_readableStat3, _stream$_writableStat3, _stream$_readableStat4, _stream$_writableStat4;
-      return !!(stream && ((_ref = (_ref2 = (_ref3 = (_ref4 = (_ref5 = (_stream$kIsErrored = stream[kIsErrored]) !== null && _stream$kIsErrored !== void 0 ? _stream$kIsErrored : stream.readableErrored) !== null && _ref5 !== void 0 ? _ref5 : stream.writableErrored) !== null && _ref4 !== void 0 ? _ref4 : (_stream$_readableStat3 = stream._readableState) === null || _stream$_readableStat3 === void 0 ? void 0 : _stream$_readableStat3.errorEmitted) !== null && _ref3 !== void 0 ? _ref3 : (_stream$_writableStat3 = stream._writableState) === null || _stream$_writableStat3 === void 0 ? void 0 : _stream$_writableStat3.errorEmitted) !== null && _ref2 !== void 0 ? _ref2 : (_stream$_readableStat4 = stream._readableState) === null || _stream$_readableStat4 === void 0 ? void 0 : _stream$_readableStat4.errored) !== null && _ref !== void 0 ? _ref : (_stream$_writableStat4 = stream._writableState) === null || _stream$_writableStat4 === void 0 ? void 0 : _stream$_writableStat4.errored));
+    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;
+      }
+    };
+  }
+});
+
+// node_modules/undici/lib/core/symbols.js
+var require_symbols11 = __commonJS({
+  "node_modules/undici/lib/core/symbols.js"(exports2, module2) {
     module2.exports = {
-      isDestroyed,
-      kIsDestroyed,
-      isDisturbed,
-      kIsDisturbed,
-      isErrored,
-      kIsErrored,
-      isReadable,
-      kIsReadable,
-      kIsClosedPromise,
-      kControllerErrorFunction,
-      kIsWritable,
-      isClosed,
-      isDuplexNodeStream,
-      isFinished,
-      isIterable,
-      isReadableNodeStream,
-      isReadableStream,
-      isReadableEnded,
-      isReadableFinished,
-      isReadableErrored,
-      isNodeStream,
-      isWebStream,
-      isWritable,
-      isWritableNodeStream,
-      isWritableStream,
-      isWritableEnded,
-      isWritableFinished,
-      isWritableErrored,
-      isServerRequest,
-      isServerResponse,
-      willEmitClose,
-      isTransformStream
+      kClose: /* @__PURE__ */ Symbol("close"),
+      kDestroy: /* @__PURE__ */ Symbol("destroy"),
+      kDispatch: /* @__PURE__ */ Symbol("dispatch"),
+      kUrl: /* @__PURE__ */ Symbol("url"),
+      kWriting: /* @__PURE__ */ Symbol("writing"),
+      kResuming: /* @__PURE__ */ Symbol("resuming"),
+      kQueue: /* @__PURE__ */ Symbol("queue"),
+      kConnect: /* @__PURE__ */ Symbol("connect"),
+      kConnecting: /* @__PURE__ */ Symbol("connecting"),
+      kHeadersList: /* @__PURE__ */ Symbol("headers list"),
+      kKeepAliveDefaultTimeout: /* @__PURE__ */ Symbol("default keep alive timeout"),
+      kKeepAliveMaxTimeout: /* @__PURE__ */ Symbol("max keep alive timeout"),
+      kKeepAliveTimeoutThreshold: /* @__PURE__ */ Symbol("keep alive timeout threshold"),
+      kKeepAliveTimeoutValue: /* @__PURE__ */ Symbol("keep alive timeout"),
+      kKeepAlive: /* @__PURE__ */ Symbol("keep alive"),
+      kHeadersTimeout: /* @__PURE__ */ Symbol("headers timeout"),
+      kBodyTimeout: /* @__PURE__ */ Symbol("body timeout"),
+      kServerName: /* @__PURE__ */ Symbol("server name"),
+      kLocalAddress: /* @__PURE__ */ Symbol("local address"),
+      kHost: /* @__PURE__ */ Symbol("host"),
+      kNoRef: /* @__PURE__ */ Symbol("no ref"),
+      kBodyUsed: /* @__PURE__ */ Symbol("used"),
+      kRunning: /* @__PURE__ */ Symbol("running"),
+      kBlocking: /* @__PURE__ */ Symbol("blocking"),
+      kPending: /* @__PURE__ */ Symbol("pending"),
+      kSize: /* @__PURE__ */ Symbol("size"),
+      kBusy: /* @__PURE__ */ Symbol("busy"),
+      kQueued: /* @__PURE__ */ Symbol("queued"),
+      kFree: /* @__PURE__ */ Symbol("free"),
+      kConnected: /* @__PURE__ */ Symbol("connected"),
+      kClosed: /* @__PURE__ */ Symbol("closed"),
+      kNeedDrain: /* @__PURE__ */ Symbol("need drain"),
+      kReset: /* @__PURE__ */ Symbol("reset"),
+      kDestroyed: /* @__PURE__ */ Symbol.for("nodejs.stream.destroyed"),
+      kMaxHeadersSize: /* @__PURE__ */ Symbol("max headers size"),
+      kRunningIdx: /* @__PURE__ */ Symbol("running index"),
+      kPendingIdx: /* @__PURE__ */ Symbol("pending index"),
+      kError: /* @__PURE__ */ Symbol("error"),
+      kClients: /* @__PURE__ */ Symbol("clients"),
+      kClient: /* @__PURE__ */ Symbol("client"),
+      kParser: /* @__PURE__ */ Symbol("parser"),
+      kOnDestroyed: /* @__PURE__ */ Symbol("destroy callbacks"),
+      kPipelining: /* @__PURE__ */ Symbol("pipelining"),
+      kSocket: /* @__PURE__ */ Symbol("socket"),
+      kHostHeader: /* @__PURE__ */ Symbol("host header"),
+      kConnector: /* @__PURE__ */ Symbol("connector"),
+      kStrictContentLength: /* @__PURE__ */ Symbol("strict content length"),
+      kMaxRedirections: /* @__PURE__ */ Symbol("maxRedirections"),
+      kMaxRequests: /* @__PURE__ */ Symbol("maxRequestsPerClient"),
+      kProxy: /* @__PURE__ */ Symbol("proxy agent options"),
+      kCounter: /* @__PURE__ */ Symbol("socket request counter"),
+      kInterceptors: /* @__PURE__ */ Symbol("dispatch interceptors"),
+      kMaxResponseSize: /* @__PURE__ */ Symbol("max response size"),
+      kHTTP2Session: /* @__PURE__ */ Symbol("http2Session"),
+      kHTTP2SessionState: /* @__PURE__ */ Symbol("http2Session state"),
+      kHTTP2BuildRequest: /* @__PURE__ */ Symbol("http2 build request"),
+      kHTTP1BuildRequest: /* @__PURE__ */ Symbol("http1 build request"),
+      kHTTP2CopyHeaders: /* @__PURE__ */ Symbol("http2 copy headers"),
+      kHTTPConnVersion: /* @__PURE__ */ Symbol("http connection version"),
+      kRetryHandlerDefaultRetry: /* @__PURE__ */ Symbol("retry agent default retry"),
+      kConstruct: /* @__PURE__ */ Symbol("constructable")
     };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/end-of-stream.js
-var require_end_of_stream = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/end-of-stream.js"(exports2, module2) {
-    var process2 = require_process();
-    var { AbortError, codes } = require_errors5();
-    var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_PREMATURE_CLOSE } = codes;
-    var { kEmptyObject, once } = require_util20();
-    var { validateAbortSignal, validateFunction, validateObject, validateBoolean } = require_validators();
-    var { Promise: Promise2, PromisePrototypeThen, SymbolDispose } = require_primordials();
-    var {
-      isClosed,
-      isReadable,
-      isReadableNodeStream,
-      isReadableStream,
-      isReadableFinished,
-      isReadableErrored,
-      isWritable,
-      isWritableNodeStream,
-      isWritableStream,
-      isWritableFinished,
-      isWritableErrored,
-      isNodeStream,
-      willEmitClose: _willEmitClose,
-      kIsClosedPromise
-    } = require_utils8();
-    var addAbortListener;
-    function isRequest(stream) {
-      return stream.setHeader && typeof stream.abort === "function";
-    }
-    var nop = () => {
+// node_modules/undici/lib/core/errors.js
+var require_errors6 = __commonJS({
+  "node_modules/undici/lib/core/errors.js"(exports2, module2) {
+    "use strict";
+    var UndiciError = class extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "UndiciError";
+        this.code = "UND_ERR";
+      }
     };
-    function eos(stream, options, callback) {
-      var _options$readable, _options$writable;
-      if (arguments.length === 2) {
-        callback = options;
-        options = kEmptyObject;
-      } else if (options == null) {
-        options = kEmptyObject;
-      } else {
-        validateObject(options, "options");
+    var ConnectTimeoutError = class _ConnectTimeoutError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _ConnectTimeoutError);
+        this.name = "ConnectTimeoutError";
+        this.message = message || "Connect Timeout Error";
+        this.code = "UND_ERR_CONNECT_TIMEOUT";
       }
-      validateFunction(callback, "callback");
-      validateAbortSignal(options.signal, "options.signal");
-      callback = once(callback);
-      if (isReadableStream(stream) || isWritableStream(stream)) {
-        return eosWeb(stream, options, callback);
+    };
+    var HeadersTimeoutError = class _HeadersTimeoutError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _HeadersTimeoutError);
+        this.name = "HeadersTimeoutError";
+        this.message = message || "Headers Timeout Error";
+        this.code = "UND_ERR_HEADERS_TIMEOUT";
       }
-      if (!isNodeStream(stream)) {
-        throw new ERR_INVALID_ARG_TYPE2("stream", ["ReadableStream", "WritableStream", "Stream"], stream);
+    };
+    var HeadersOverflowError = class _HeadersOverflowError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _HeadersOverflowError);
+        this.name = "HeadersOverflowError";
+        this.message = message || "Headers Overflow Error";
+        this.code = "UND_ERR_HEADERS_OVERFLOW";
       }
-      const readable = (_options$readable = options.readable) !== null && _options$readable !== void 0 ? _options$readable : isReadableNodeStream(stream);
-      const writable = (_options$writable = options.writable) !== null && _options$writable !== void 0 ? _options$writable : isWritableNodeStream(stream);
-      const wState = stream._writableState;
-      const rState = stream._readableState;
-      const onlegacyfinish = () => {
-        if (!stream.writable) {
-          onfinish();
-        }
-      };
-      let willEmitClose = _willEmitClose(stream) && isReadableNodeStream(stream) === readable && isWritableNodeStream(stream) === writable;
-      let writableFinished = isWritableFinished(stream, false);
-      const onfinish = () => {
-        writableFinished = true;
-        if (stream.destroyed) {
-          willEmitClose = false;
-        }
-        if (willEmitClose && (!stream.readable || readable)) {
-          return;
-        }
-        if (!readable || readableFinished) {
-          callback.call(stream);
-        }
-      };
-      let readableFinished = isReadableFinished(stream, false);
-      const onend = () => {
-        readableFinished = true;
-        if (stream.destroyed) {
-          willEmitClose = false;
-        }
-        if (willEmitClose && (!stream.writable || writable)) {
-          return;
-        }
-        if (!writable || writableFinished) {
-          callback.call(stream);
-        }
-      };
-      const onerror = (err) => {
-        callback.call(stream, err);
-      };
-      let closed = isClosed(stream);
-      const onclose = () => {
-        closed = true;
-        const errored = isWritableErrored(stream) || isReadableErrored(stream);
-        if (errored && typeof errored !== "boolean") {
-          return callback.call(stream, errored);
-        }
-        if (readable && !readableFinished && isReadableNodeStream(stream, true)) {
-          if (!isReadableFinished(stream, false)) return callback.call(stream, new ERR_STREAM_PREMATURE_CLOSE());
-        }
-        if (writable && !writableFinished) {
-          if (!isWritableFinished(stream, false)) return callback.call(stream, new ERR_STREAM_PREMATURE_CLOSE());
-        }
-        callback.call(stream);
-      };
-      const onclosed = () => {
-        closed = true;
-        const errored = isWritableErrored(stream) || isReadableErrored(stream);
-        if (errored && typeof errored !== "boolean") {
-          return callback.call(stream, errored);
-        }
-        callback.call(stream);
-      };
-      const onrequest = () => {
-        stream.req.on("finish", onfinish);
-      };
-      if (isRequest(stream)) {
-        stream.on("complete", onfinish);
-        if (!willEmitClose) {
-          stream.on("abort", onclose);
-        }
-        if (stream.req) {
-          onrequest();
-        } else {
-          stream.on("request", onrequest);
-        }
-      } else if (writable && !wState) {
-        stream.on("end", onlegacyfinish);
-        stream.on("close", onlegacyfinish);
+    };
+    var BodyTimeoutError = class _BodyTimeoutError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _BodyTimeoutError);
+        this.name = "BodyTimeoutError";
+        this.message = message || "Body Timeout Error";
+        this.code = "UND_ERR_BODY_TIMEOUT";
       }
-      if (!willEmitClose && typeof stream.aborted === "boolean") {
-        stream.on("aborted", onclose);
+    };
+    var ResponseStatusCodeError = class _ResponseStatusCodeError extends UndiciError {
+      constructor(message, statusCode, headers, body) {
+        super(message);
+        Error.captureStackTrace(this, _ResponseStatusCodeError);
+        this.name = "ResponseStatusCodeError";
+        this.message = message || "Response Status Code Error";
+        this.code = "UND_ERR_RESPONSE_STATUS_CODE";
+        this.body = body;
+        this.status = statusCode;
+        this.statusCode = statusCode;
+        this.headers = headers;
       }
-      stream.on("end", onend);
-      stream.on("finish", onfinish);
-      if (options.error !== false) {
-        stream.on("error", onerror);
+    };
+    var InvalidArgumentError = class _InvalidArgumentError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _InvalidArgumentError);
+        this.name = "InvalidArgumentError";
+        this.message = message || "Invalid Argument Error";
+        this.code = "UND_ERR_INVALID_ARG";
       }
-      stream.on("close", onclose);
-      if (closed) {
-        process2.nextTick(onclose);
-      } else if (wState !== null && wState !== void 0 && wState.errorEmitted || rState !== null && rState !== void 0 && rState.errorEmitted) {
-        if (!willEmitClose) {
-          process2.nextTick(onclosed);
-        }
-      } else if (!readable && (!willEmitClose || isReadable(stream)) && (writableFinished || isWritable(stream) === false)) {
-        process2.nextTick(onclosed);
-      } else if (!writable && (!willEmitClose || isWritable(stream)) && (readableFinished || isReadable(stream) === false)) {
-        process2.nextTick(onclosed);
-      } else if (rState && stream.req && stream.aborted) {
-        process2.nextTick(onclosed);
+    };
+    var InvalidReturnValueError = class _InvalidReturnValueError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _InvalidReturnValueError);
+        this.name = "InvalidReturnValueError";
+        this.message = message || "Invalid Return Value Error";
+        this.code = "UND_ERR_INVALID_RETURN_VALUE";
       }
-      const cleanup = () => {
-        callback = nop;
-        stream.removeListener("aborted", onclose);
-        stream.removeListener("complete", onfinish);
-        stream.removeListener("abort", onclose);
-        stream.removeListener("request", onrequest);
-        if (stream.req) stream.req.removeListener("finish", onfinish);
-        stream.removeListener("end", onlegacyfinish);
-        stream.removeListener("close", onlegacyfinish);
-        stream.removeListener("finish", onfinish);
-        stream.removeListener("end", onend);
-        stream.removeListener("error", onerror);
-        stream.removeListener("close", onclose);
-      };
-      if (options.signal && !closed) {
-        const abort = () => {
-          const endCallback = callback;
-          cleanup();
-          endCallback.call(
-            stream,
-            new AbortError(void 0, {
-              cause: options.signal.reason
-            })
-          );
-        };
-        if (options.signal.aborted) {
-          process2.nextTick(abort);
-        } else {
-          addAbortListener = addAbortListener || require_util20().addAbortListener;
-          const disposable = addAbortListener(options.signal, abort);
-          const originalCallback = callback;
-          callback = once((...args) => {
-            disposable[SymbolDispose]();
-            originalCallback.apply(stream, args);
-          });
-        }
+    };
+    var RequestAbortedError = class _RequestAbortedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _RequestAbortedError);
+        this.name = "AbortError";
+        this.message = message || "Request aborted";
+        this.code = "UND_ERR_ABORTED";
       }
-      return cleanup;
-    }
-    function eosWeb(stream, options, callback) {
-      let isAborted = false;
-      let abort = nop;
-      if (options.signal) {
-        abort = () => {
-          isAborted = true;
-          callback.call(
-            stream,
-            new AbortError(void 0, {
-              cause: options.signal.reason
-            })
-          );
-        };
-        if (options.signal.aborted) {
-          process2.nextTick(abort);
-        } else {
-          addAbortListener = addAbortListener || require_util20().addAbortListener;
-          const disposable = addAbortListener(options.signal, abort);
-          const originalCallback = callback;
-          callback = once((...args) => {
-            disposable[SymbolDispose]();
-            originalCallback.apply(stream, args);
-          });
-        }
+    };
+    var InformationalError = class _InformationalError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _InformationalError);
+        this.name = "InformationalError";
+        this.message = message || "Request information";
+        this.code = "UND_ERR_INFO";
       }
-      const resolverFn = (...args) => {
-        if (!isAborted) {
-          process2.nextTick(() => callback.apply(stream, args));
-        }
-      };
-      PromisePrototypeThen(stream[kIsClosedPromise].promise, resolverFn, resolverFn);
-      return nop;
-    }
-    function finished(stream, opts) {
-      var _opts;
-      let autoCleanup = false;
-      if (opts === null) {
-        opts = kEmptyObject;
+    };
+    var RequestContentLengthMismatchError = class _RequestContentLengthMismatchError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _RequestContentLengthMismatchError);
+        this.name = "RequestContentLengthMismatchError";
+        this.message = message || "Request body length does not match content-length header";
+        this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH";
       }
-      if ((_opts = opts) !== null && _opts !== void 0 && _opts.cleanup) {
-        validateBoolean(opts.cleanup, "cleanup");
-        autoCleanup = opts.cleanup;
+    };
+    var ResponseContentLengthMismatchError = class _ResponseContentLengthMismatchError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _ResponseContentLengthMismatchError);
+        this.name = "ResponseContentLengthMismatchError";
+        this.message = message || "Response body length does not match content-length header";
+        this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH";
       }
-      return new Promise2((resolve5, reject) => {
-        const cleanup = eos(stream, opts, (err) => {
-          if (autoCleanup) {
-            cleanup();
-          }
-          if (err) {
-            reject(err);
-          } else {
-            resolve5();
-          }
-        });
-      });
+    };
+    var ClientDestroyedError = class _ClientDestroyedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _ClientDestroyedError);
+        this.name = "ClientDestroyedError";
+        this.message = message || "The client is destroyed";
+        this.code = "UND_ERR_DESTROYED";
+      }
+    };
+    var ClientClosedError = class _ClientClosedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _ClientClosedError);
+        this.name = "ClientClosedError";
+        this.message = message || "The client is closed";
+        this.code = "UND_ERR_CLOSED";
+      }
+    };
+    var SocketError = class _SocketError extends UndiciError {
+      constructor(message, socket) {
+        super(message);
+        Error.captureStackTrace(this, _SocketError);
+        this.name = "SocketError";
+        this.message = message || "Socket error";
+        this.code = "UND_ERR_SOCKET";
+        this.socket = socket;
+      }
+    };
+    var NotSupportedError = class _NotSupportedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _NotSupportedError);
+        this.name = "NotSupportedError";
+        this.message = message || "Not supported error";
+        this.code = "UND_ERR_NOT_SUPPORTED";
+      }
+    };
+    var BalancedPoolMissingUpstreamError = class extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, NotSupportedError);
+        this.name = "MissingUpstreamError";
+        this.message = message || "No upstream has been added to the BalancedPool";
+        this.code = "UND_ERR_BPL_MISSING_UPSTREAM";
+      }
+    };
+    var HTTPParserError = class _HTTPParserError extends Error {
+      constructor(message, code, data) {
+        super(message);
+        Error.captureStackTrace(this, _HTTPParserError);
+        this.name = "HTTPParserError";
+        this.code = code ? `HPE_${code}` : void 0;
+        this.data = data ? data.toString() : void 0;
+      }
+    };
+    var ResponseExceededMaxSizeError = class _ResponseExceededMaxSizeError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _ResponseExceededMaxSizeError);
+        this.name = "ResponseExceededMaxSizeError";
+        this.message = message || "Response content exceeded max size";
+        this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE";
+      }
+    };
+    var RequestRetryError = class _RequestRetryError extends UndiciError {
+      constructor(message, code, { headers, data }) {
+        super(message);
+        Error.captureStackTrace(this, _RequestRetryError);
+        this.name = "RequestRetryError";
+        this.message = message || "Request retry error";
+        this.code = "UND_ERR_REQ_RETRY";
+        this.statusCode = code;
+        this.data = data;
+        this.headers = headers;
+      }
+    };
+    module2.exports = {
+      HTTPParserError,
+      UndiciError,
+      HeadersTimeoutError,
+      HeadersOverflowError,
+      BodyTimeoutError,
+      RequestContentLengthMismatchError,
+      ConnectTimeoutError,
+      ResponseStatusCodeError,
+      InvalidArgumentError,
+      InvalidReturnValueError,
+      RequestAbortedError,
+      ClientDestroyedError,
+      ClientClosedError,
+      InformationalError,
+      SocketError,
+      NotSupportedError,
+      ResponseContentLengthMismatchError,
+      BalancedPoolMissingUpstreamError,
+      ResponseExceededMaxSizeError,
+      RequestRetryError
+    };
+  }
+});
+
+// node_modules/undici/lib/core/constants.js
+var require_constants20 = __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;
     }
-    module2.exports = eos;
-    module2.exports.finished = finished;
+    Object.setPrototypeOf(headerNameLowerCasedRecord, null);
+    module2.exports = {
+      wellknownHeaderNames,
+      headerNameLowerCasedRecord
+    };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/destroy.js
-var require_destroy2 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/destroy.js"(exports2, module2) {
+// node_modules/undici/lib/core/util.js
+var require_util24 = __commonJS({
+  "node_modules/undici/lib/core/util.js"(exports2, module2) {
     "use strict";
-    var process2 = require_process();
-    var {
-      aggregateTwoErrors,
-      codes: { ERR_MULTIPLE_CALLBACK },
-      AbortError
-    } = require_errors5();
-    var { Symbol: Symbol2 } = require_primordials();
-    var { kIsDestroyed, isDestroyed, isFinished, isServerRequest } = require_utils8();
-    var kDestroy = Symbol2("kDestroy");
-    var kConstruct = Symbol2("kConstruct");
-    function checkError(err, w, r) {
-      if (err) {
-        err.stack;
-        if (w && !w.errored) {
-          w.errored = err;
-        }
-        if (r && !r.errored) {
-          r.errored = err;
-        }
+    var assert = require("assert");
+    var { kDestroyed, kBodyUsed } = require_symbols11();
+    var { IncomingMessage } = require("http");
+    var stream = require("stream");
+    var net = require("net");
+    var { InvalidArgumentError } = require_errors6();
+    var { Blob: Blob2 } = require("buffer");
+    var nodeUtil = require("util");
+    var { stringify } = require("querystring");
+    var { headerNameLowerCasedRecord } = require_constants20();
+    var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v) => Number(v));
+    function nop() {
+    }
+    function isStream(obj) {
+      return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function";
+    }
+    function isBlobLike(object) {
+      return Blob2 && object instanceof Blob2 || object && typeof object === "object" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]);
+    }
+    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 destroy(err, cb) {
-      const r = this._readableState;
-      const w = this._writableState;
-      const s = w || r;
-      if (w !== null && w !== void 0 && w.destroyed || r !== null && r !== void 0 && r.destroyed) {
-        if (typeof cb === "function") {
-          cb();
+    function parseURL(url) {
+      if (typeof url === "string") {
+        url = new URL(url);
+        if (!/^https?:/.test(url.origin || url.protocol)) {
+          throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
         }
-        return this;
-      }
-      checkError(err, w, r);
-      if (w) {
-        w.destroyed = true;
+        return url;
       }
-      if (r) {
-        r.destroyed = true;
+      if (!url || typeof url !== "object") {
+        throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object.");
       }
-      if (!s.constructed) {
-        this.once(kDestroy, function(er) {
-          _destroy(this, aggregateTwoErrors(er, err), cb);
-        });
-      } else {
-        _destroy(this, err, cb);
+      if (!/^https?:/.test(url.origin || url.protocol)) {
+        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
       }
-      return this;
-    }
-    function _destroy(self2, err, cb) {
-      let called = false;
-      function onDestroy(err2) {
-        if (called) {
-          return;
+      if (!(url instanceof URL)) {
+        if (url.port != null && url.port !== "" && !Number.isFinite(parseInt(url.port))) {
+          throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer.");
         }
-        called = true;
-        const r = self2._readableState;
-        const w = self2._writableState;
-        checkError(err2, w, r);
-        if (w) {
-          w.closed = true;
+        if (url.path != null && typeof url.path !== "string") {
+          throw new InvalidArgumentError("Invalid URL path: the path must be a string or null/undefined.");
         }
-        if (r) {
-          r.closed = true;
+        if (url.pathname != null && typeof url.pathname !== "string") {
+          throw new InvalidArgumentError("Invalid URL pathname: the pathname must be a string or null/undefined.");
         }
-        if (typeof cb === "function") {
-          cb(err2);
+        if (url.hostname != null && typeof url.hostname !== "string") {
+          throw new InvalidArgumentError("Invalid URL hostname: the hostname must be a string or null/undefined.");
         }
-        if (err2) {
-          process2.nextTick(emitErrorCloseNT, self2, err2);
-        } else {
-          process2.nextTick(emitCloseNT, self2);
+        if (url.origin != null && typeof url.origin !== "string") {
+          throw new InvalidArgumentError("Invalid URL origin: the origin must be a string or null/undefined.");
+        }
+        const port = url.port != null ? url.port : url.protocol === "https:" ? 443 : 80;
+        let origin = url.origin != null ? url.origin : `${url.protocol}//${url.hostname}:${port}`;
+        let path7 = url.path != null ? url.path : `${url.pathname || ""}${url.search || ""}`;
+        if (origin.endsWith("/")) {
+          origin = origin.substring(0, origin.length - 1);
+        }
+        if (path7 && !path7.startsWith("/")) {
+          path7 = `/${path7}`;
         }
+        url = new URL(origin + path7);
       }
-      try {
-        self2._destroy(err || null, onDestroy);
-      } catch (err2) {
-        onDestroy(err2);
+      return url;
+    }
+    function parseOrigin(url) {
+      url = parseURL(url);
+      if (url.pathname !== "/" || url.search || url.hash) {
+        throw new InvalidArgumentError("invalid url");
       }
+      return url;
     }
-    function emitErrorCloseNT(self2, err) {
-      emitErrorNT(self2, err);
-      emitCloseNT(self2);
+    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 emitCloseNT(self2) {
-      const r = self2._readableState;
-      const w = self2._writableState;
-      if (w) {
-        w.closeEmitted = true;
+    function getServerName(host) {
+      if (!host) {
+        return null;
       }
-      if (r) {
-        r.closeEmitted = true;
+      assert.strictEqual(typeof host, "string");
+      const servername = getHostname(host);
+      if (net.isIP(servername)) {
+        return "";
       }
-      if (w !== null && w !== void 0 && w.emitClose || r !== null && r !== void 0 && r.emitClose) {
-        self2.emit("close");
+      return servername;
+    }
+    function deepClone(obj) {
+      return JSON.parse(JSON.stringify(obj));
+    }
+    function isAsyncIterable(obj) {
+      return !!(obj != null && typeof obj[Symbol.asyncIterator] === "function");
+    }
+    function isIterable(obj) {
+      return !!(obj != null && (typeof obj[Symbol.iterator] === "function" || typeof obj[Symbol.asyncIterator] === "function"));
+    }
+    function bodyLength(body) {
+      if (body == null) {
+        return 0;
+      } else if (isStream(body)) {
+        const state = body._readableState;
+        return state && state.objectMode === false && state.ended === true && Number.isFinite(state.length) ? state.length : null;
+      } else if (isBlobLike(body)) {
+        return body.size != null ? body.size : null;
+      } else if (isBuffer(body)) {
+        return body.byteLength;
       }
+      return null;
     }
-    function emitErrorNT(self2, err) {
-      const r = self2._readableState;
-      const w = self2._writableState;
-      if (w !== null && w !== void 0 && w.errorEmitted || r !== null && r !== void 0 && r.errorEmitted) {
+    function isDestroyed(stream2) {
+      return !stream2 || !!(stream2.destroyed || stream2[kDestroyed]);
+    }
+    function isReadableAborted(stream2) {
+      const state = stream2 && stream2._readableState;
+      return isDestroyed(stream2) && state && !state.endEmitted;
+    }
+    function destroy(stream2, err) {
+      if (stream2 == null || !isStream(stream2) || isDestroyed(stream2)) {
         return;
       }
-      if (w) {
-        w.errorEmitted = true;
+      if (typeof stream2.destroy === "function") {
+        if (Object.getPrototypeOf(stream2).constructor === IncomingMessage) {
+          stream2.socket = null;
+        }
+        stream2.destroy(err);
+      } else if (err) {
+        process.nextTick((stream3, err2) => {
+          stream3.emit("error", err2);
+        }, stream2, err);
       }
-      if (r) {
-        r.errorEmitted = true;
+      if (stream2.destroyed !== true) {
+        stream2[kDestroyed] = true;
       }
-      self2.emit("error", err);
     }
-    function undestroy() {
-      const r = this._readableState;
-      const w = this._writableState;
-      if (r) {
-        r.constructed = true;
-        r.closed = false;
-        r.closeEmitted = false;
-        r.destroyed = false;
-        r.errored = null;
-        r.errorEmitted = false;
-        r.reading = false;
-        r.ended = r.readable === false;
-        r.endEmitted = r.readable === false;
+    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 headerNameLowerCasedRecord[value] || value.toLowerCase();
+    }
+    function parseHeaders(headers, obj = {}) {
+      if (!Array.isArray(headers)) return headers;
+      for (let i = 0; i < headers.length; i += 2) {
+        const key = headers[i].toString().toLowerCase();
+        let val = obj[key];
+        if (!val) {
+          if (Array.isArray(headers[i + 1])) {
+            obj[key] = headers[i + 1].map((x) => x.toString("utf8"));
+          } else {
+            obj[key] = headers[i + 1].toString("utf8");
+          }
+        } else {
+          if (!Array.isArray(val)) {
+            val = [val];
+            obj[key] = val;
+          }
+          val.push(headers[i + 1].toString("utf8"));
+        }
       }
-      if (w) {
-        w.constructed = true;
-        w.destroyed = false;
-        w.closed = false;
-        w.closeEmitted = false;
-        w.errored = null;
-        w.errorEmitted = false;
-        w.finalCalled = false;
-        w.prefinished = false;
-        w.ended = w.writable === false;
-        w.ending = w.writable === false;
-        w.finished = w.writable === false;
+      if ("content-length" in obj && "content-disposition" in obj) {
+        obj["content-disposition"] = Buffer.from(obj["content-disposition"]).toString("latin1");
       }
+      return obj;
     }
-    function errorOrDestroy(stream, err, sync) {
-      const r = stream._readableState;
-      const w = stream._writableState;
-      if (w !== null && w !== void 0 && w.destroyed || r !== null && r !== void 0 && r.destroyed) {
-        return this;
-      }
-      if (r !== null && r !== void 0 && r.autoDestroy || w !== null && w !== void 0 && w.autoDestroy)
-        stream.destroy(err);
-      else if (err) {
-        err.stack;
-        if (w && !w.errored) {
-          w.errored = err;
-        }
-        if (r && !r.errored) {
-          r.errored = err;
-        }
-        if (sync) {
-          process2.nextTick(emitErrorNT, stream, err);
+    function parseRawHeaders(headers) {
+      const ret = [];
+      let hasContentLength = false;
+      let contentDispositionIdx = -1;
+      for (let n = 0; n < headers.length; n += 2) {
+        const key = headers[n + 0].toString();
+        const val = headers[n + 1].toString("utf8");
+        if (key.length === 14 && (key === "content-length" || key.toLowerCase() === "content-length")) {
+          ret.push(key, val);
+          hasContentLength = true;
+        } else if (key.length === 19 && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
+          contentDispositionIdx = ret.push(key, val) - 1;
         } else {
-          emitErrorNT(stream, err);
+          ret.push(key, val);
         }
       }
+      if (hasContentLength && contentDispositionIdx !== -1) {
+        ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1");
+      }
+      return ret;
     }
-    function construct(stream, cb) {
-      if (typeof stream._construct !== "function") {
-        return;
+    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");
       }
-      const r = stream._readableState;
-      const w = stream._writableState;
-      if (r) {
-        r.constructed = false;
+      if (typeof handler2.onConnect !== "function") {
+        throw new InvalidArgumentError("invalid onConnect method");
       }
-      if (w) {
-        w.constructed = false;
+      if (typeof handler2.onError !== "function") {
+        throw new InvalidArgumentError("invalid onError method");
       }
-      stream.once(kConstruct, cb);
-      if (stream.listenerCount(kConstruct) > 1) {
-        return;
+      if (typeof handler2.onBodySent !== "function" && handler2.onBodySent !== void 0) {
+        throw new InvalidArgumentError("invalid onBodySent method");
       }
-      process2.nextTick(constructNT, stream);
-    }
-    function constructNT(stream) {
-      let called = false;
-      function onConstruct(err) {
-        if (called) {
-          errorOrDestroy(stream, err !== null && err !== void 0 ? err : new ERR_MULTIPLE_CALLBACK());
-          return;
+      if (upgrade || method === "CONNECT") {
+        if (typeof handler2.onUpgrade !== "function") {
+          throw new InvalidArgumentError("invalid onUpgrade method");
         }
-        called = true;
-        const r = stream._readableState;
-        const w = stream._writableState;
-        const s = w || r;
-        if (r) {
-          r.constructed = true;
+      } else {
+        if (typeof handler2.onHeaders !== "function") {
+          throw new InvalidArgumentError("invalid onHeaders method");
         }
-        if (w) {
-          w.constructed = true;
+        if (typeof handler2.onData !== "function") {
+          throw new InvalidArgumentError("invalid onData method");
         }
-        if (s.destroyed) {
-          stream.emit(kDestroy, err);
-        } else if (err) {
-          errorOrDestroy(stream, err, true);
-        } else {
-          process2.nextTick(emitConstructNT, stream);
+        if (typeof handler2.onComplete !== "function") {
+          throw new InvalidArgumentError("invalid onComplete method");
         }
       }
-      try {
-        stream._construct((err) => {
-          process2.nextTick(onConstruct, err);
-        });
-      } catch (err) {
-        process2.nextTick(onConstruct, err);
-      }
     }
-    function emitConstructNT(stream) {
-      stream.emit(kConstruct);
+    function isDisturbed(body) {
+      return !!(body && (stream.isDisturbed ? stream.isDisturbed(body) || body[kBodyUsed] : body[kBodyUsed] || body.readableDidRead || body._readableState && body._readableState.dataEmitted || isReadableAborted(body)));
     }
-    function isRequest(stream) {
-      return (stream === null || stream === void 0 ? void 0 : stream.setHeader) && typeof stream.abort === "function";
+    function isErrored(body) {
+      return !!(body && (stream.isErrored ? stream.isErrored(body) : /state: 'errored'/.test(
+        nodeUtil.inspect(body)
+      )));
     }
-    function emitCloseLegacy(stream) {
-      stream.emit("close");
+    function isReadable(body) {
+      return !!(body && (stream.isReadable ? stream.isReadable(body) : /state: 'readable'/.test(
+        nodeUtil.inspect(body)
+      )));
     }
-    function emitErrorCloseLegacy(stream, err) {
-      stream.emit("error", err);
-      process2.nextTick(emitCloseLegacy, stream);
+    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 destroyer(stream, err) {
-      if (!stream || isDestroyed(stream)) {
-        return;
+    async function* convertIterableToBuffer(iterable) {
+      for await (const chunk of iterable) {
+        yield Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
       }
-      if (!err && !isFinished(stream)) {
-        err = new AbortError();
+    }
+    var ReadableStream2;
+    function ReadableStreamFrom(iterable) {
+      if (!ReadableStream2) {
+        ReadableStream2 = require("stream/web").ReadableStream;
       }
-      if (isServerRequest(stream)) {
-        stream.socket = null;
-        stream.destroy(err);
-      } else if (isRequest(stream)) {
-        stream.abort();
-      } else if (isRequest(stream.req)) {
-        stream.req.abort();
-      } else if (typeof stream.destroy === "function") {
-        stream.destroy(err);
-      } else if (typeof stream.close === "function") {
-        stream.close();
-      } else if (err) {
-        process2.nextTick(emitErrorCloseLegacy, stream, err);
+      if (ReadableStream2.from) {
+        return ReadableStream2.from(convertIterableToBuffer(iterable));
+      }
+      let iterator2;
+      return new ReadableStream2(
+        {
+          async start() {
+            iterator2 = iterable[Symbol.asyncIterator]();
+          },
+          async pull(controller) {
+            const { done, value } = await iterator2.next();
+            if (done) {
+              queueMicrotask(() => {
+                controller.close();
+              });
+            } else {
+              const buf = Buffer.isBuffer(value) ? value : Buffer.from(value);
+              controller.enqueue(new Uint8Array(buf));
+            }
+            return controller.desiredSize > 0;
+          },
+          async cancel(reason) {
+            await iterator2.return();
+          }
+        },
+        0
+      );
+    }
+    function isFormDataLike(object) {
+      return object && typeof object === "object" && typeof object.append === "function" && typeof object.delete === "function" && typeof object.get === "function" && typeof object.getAll === "function" && typeof object.has === "function" && typeof object.set === "function" && object[Symbol.toStringTag] === "FormData";
+    }
+    function throwIfAborted(signal) {
+      if (!signal) {
+        return;
+      }
+      if (typeof signal.throwIfAborted === "function") {
+        signal.throwIfAborted();
       } else {
-        process2.nextTick(emitCloseLegacy, stream);
+        if (signal.aborted) {
+          const err = new Error("The operation was aborted");
+          err.name = "AbortError";
+          throw err;
+        }
       }
-      if (!stream.destroyed) {
-        stream[kIsDestroyed] = true;
+    }
+    function addAbortListener(signal, listener) {
+      if ("addEventListener" in signal) {
+        signal.addEventListener("abort", listener, { once: true });
+        return () => signal.removeEventListener("abort", listener);
+      }
+      signal.addListener("abort", listener);
+      return () => signal.removeListener("abort", listener);
+    }
+    var hasToWellFormed = !!String.prototype.toWellFormed;
+    function toUSVString(val) {
+      if (hasToWellFormed) {
+        return `${val}`.toWellFormed();
+      } else if (nodeUtil.toUSVString) {
+        return nodeUtil.toUSVString(val);
       }
+      return `${val}`;
+    }
+    function parseRangeHeader(range) {
+      if (range == null || range === "") return { start: 0, end: null, size: null };
+      const m = range ? range.match(/^bytes (\d+)-(\d+)\/(\d+)?$/) : null;
+      return m ? {
+        start: parseInt(m[1]),
+        end: m[2] ? parseInt(m[2]) : null,
+        size: m[3] ? parseInt(m[3]) : null
+      } : null;
     }
+    var kEnumerableProperty = /* @__PURE__ */ Object.create(null);
+    kEnumerableProperty.enumerable = true;
     module2.exports = {
-      construct,
-      destroyer,
+      kEnumerableProperty,
+      nop,
+      isDisturbed,
+      isErrored,
+      isReadable,
+      toUSVString,
+      isReadableAborted,
+      isBlobLike,
+      parseOrigin,
+      parseURL,
+      getServerName,
+      isStream,
+      isIterable,
+      isAsyncIterable,
+      isDestroyed,
+      headerNameToString,
+      parseRawHeaders,
+      parseHeaders,
+      parseKeepAliveTimeout,
       destroy,
-      undestroy,
-      errorOrDestroy
+      bodyLength,
+      deepClone,
+      ReadableStreamFrom,
+      isBuffer,
+      validateHandler,
+      getSocketInfo,
+      isFormDataLike,
+      buildURL,
+      throwIfAborted,
+      addAbortListener,
+      parseRangeHeader,
+      nodeMajor,
+      nodeMinor,
+      nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13,
+      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"]
     };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/legacy.js
-var require_legacy = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/legacy.js"(exports2, module2) {
+// node_modules/undici/lib/timers.js
+var require_timers3 = __commonJS({
+  "node_modules/undici/lib/timers.js"(exports2, module2) {
     "use strict";
-    var { ArrayIsArray, ObjectSetPrototypeOf } = require_primordials();
-    var { EventEmitter: EE } = require("events");
-    function Stream(opts) {
-      EE.call(this, opts);
-    }
-    ObjectSetPrototypeOf(Stream.prototype, EE.prototype);
-    ObjectSetPrototypeOf(Stream, EE);
-    Stream.prototype.pipe = function(dest, options) {
-      const source = this;
-      function ondata(chunk) {
-        if (dest.writable && dest.write(chunk) === false && source.pause) {
-          source.pause();
+    var fastNow = Date.now();
+    var fastNowTimeout;
+    var fastTimers = [];
+    function onTimeout() {
+      fastNow = Date.now();
+      let len = fastTimers.length;
+      let idx = 0;
+      while (idx < len) {
+        const timer = fastTimers[idx];
+        if (timer.state === 0) {
+          timer.state = fastNow + timer.delay;
+        } else if (timer.state > 0 && fastNow >= timer.state) {
+          timer.state = -1;
+          timer.callback(timer.opaque);
         }
-      }
-      source.on("data", ondata);
-      function ondrain() {
-        if (source.readable && source.resume) {
-          source.resume();
+        if (timer.state === -1) {
+          timer.state = -2;
+          if (idx !== len - 1) {
+            fastTimers[idx] = fastTimers.pop();
+          } else {
+            fastTimers.pop();
+          }
+          len -= 1;
+        } else {
+          idx += 1;
         }
       }
-      dest.on("drain", ondrain);
-      if (!dest._isStdio && (!options || options.end !== false)) {
-        source.on("end", onend);
-        source.on("close", onclose);
+      if (fastTimers.length > 0) {
+        refreshTimeout();
       }
-      let didOnEnd = false;
-      function onend() {
-        if (didOnEnd) return;
-        didOnEnd = true;
-        dest.end();
+    }
+    function refreshTimeout() {
+      if (fastNowTimeout && fastNowTimeout.refresh) {
+        fastNowTimeout.refresh();
+      } else {
+        clearTimeout(fastNowTimeout);
+        fastNowTimeout = setTimeout(onTimeout, 1e3);
+        if (fastNowTimeout.unref) {
+          fastNowTimeout.unref();
+        }
       }
-      function onclose() {
-        if (didOnEnd) return;
-        didOnEnd = true;
-        if (typeof dest.destroy === "function") dest.destroy();
+    }
+    var Timeout = class {
+      constructor(callback, delay, opaque) {
+        this.callback = callback;
+        this.delay = delay;
+        this.opaque = opaque;
+        this.state = -2;
+        this.refresh();
       }
-      function onerror(er) {
-        cleanup();
-        if (EE.listenerCount(this, "error") === 0) {
-          this.emit("error", er);
+      refresh() {
+        if (this.state === -2) {
+          fastTimers.push(this);
+          if (!fastNowTimeout || fastTimers.length === 1) {
+            refreshTimeout();
+          }
         }
+        this.state = 0;
       }
-      prependListener(source, "error", onerror);
-      prependListener(dest, "error", onerror);
-      function cleanup() {
-        source.removeListener("data", ondata);
-        dest.removeListener("drain", ondrain);
-        source.removeListener("end", onend);
-        source.removeListener("close", onclose);
-        source.removeListener("error", onerror);
-        dest.removeListener("error", onerror);
-        source.removeListener("end", cleanup);
-        source.removeListener("close", cleanup);
-        dest.removeListener("close", cleanup);
+      clear() {
+        this.state = -1;
       }
-      source.on("end", cleanup);
-      source.on("close", cleanup);
-      dest.on("close", cleanup);
-      dest.emit("pipe", source);
-      return dest;
     };
-    function prependListener(emitter, event, fn) {
-      if (typeof emitter.prependListener === "function") return emitter.prependListener(event, fn);
-      if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);
-      else if (ArrayIsArray(emitter._events[event])) emitter._events[event].unshift(fn);
-      else emitter._events[event] = [fn, emitter._events[event]];
-    }
     module2.exports = {
-      Stream,
-      prependListener
+      setTimeout(callback, delay, opaque) {
+        return delay < 1e3 ? setTimeout(callback, delay, opaque) : new Timeout(callback, delay, opaque);
+      },
+      clearTimeout(timeout) {
+        if (timeout instanceof Timeout) {
+          timeout.clear();
+        } else {
+          clearTimeout(timeout);
+        }
+      }
     };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/add-abort-signal.js
-var require_add_abort_signal = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/add-abort-signal.js"(exports2, module2) {
+// node_modules/@fastify/busboy/deps/streamsearch/sbmh.js
+var require_sbmh = __commonJS({
+  "node_modules/@fastify/busboy/deps/streamsearch/sbmh.js"(exports2, module2) {
     "use strict";
-    var { SymbolDispose } = require_primordials();
-    var { AbortError, codes } = require_errors5();
-    var { isNodeStream, isWebStream, kControllerErrorFunction } = require_utils8();
-    var eos = require_end_of_stream();
-    var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2 } = codes;
-    var addAbortListener;
-    var validateAbortSignal = (signal, name) => {
-      if (typeof signal !== "object" || !("aborted" in signal)) {
-        throw new ERR_INVALID_ARG_TYPE2(name, "AbortSignal", signal);
+    var EventEmitter = require("node:events").EventEmitter;
+    var inherits = require("node:util").inherits;
+    function SBMH(needle) {
+      if (typeof needle === "string") {
+        needle = Buffer.from(needle);
+      }
+      if (!Buffer.isBuffer(needle)) {
+        throw new TypeError("The needle has to be a String or a Buffer.");
+      }
+      const needleLength = needle.length;
+      if (needleLength === 0) {
+        throw new Error("The needle cannot be an empty String/Buffer.");
+      }
+      if (needleLength > 256) {
+        throw new Error("The needle cannot have a length bigger than 256.");
+      }
+      this.maxMatches = Infinity;
+      this.matches = 0;
+      this._occ = new Array(256).fill(needleLength);
+      this._lookbehind_size = 0;
+      this._needle = needle;
+      this._bufpos = 0;
+      this._lookbehind = Buffer.alloc(needleLength);
+      for (var i = 0; i < needleLength - 1; ++i) {
+        this._occ[needle[i]] = needleLength - 1 - i;
       }
+    }
+    inherits(SBMH, EventEmitter);
+    SBMH.prototype.reset = function() {
+      this._lookbehind_size = 0;
+      this.matches = 0;
+      this._bufpos = 0;
     };
-    module2.exports.addAbortSignal = function addAbortSignal(signal, stream) {
-      validateAbortSignal(signal, "signal");
-      if (!isNodeStream(stream) && !isWebStream(stream)) {
-        throw new ERR_INVALID_ARG_TYPE2("stream", ["ReadableStream", "WritableStream", "Stream"], stream);
+    SBMH.prototype.push = function(chunk, pos) {
+      if (!Buffer.isBuffer(chunk)) {
+        chunk = Buffer.from(chunk, "binary");
       }
-      return module2.exports.addAbortSignalNoValidate(signal, stream);
+      const chlen = chunk.length;
+      this._bufpos = pos || 0;
+      let r;
+      while (r !== chlen && this.matches < this.maxMatches) {
+        r = this._sbmh_feed(chunk);
+      }
+      return r;
     };
-    module2.exports.addAbortSignalNoValidate = function(signal, stream) {
-      if (typeof signal !== "object" || !("aborted" in signal)) {
-        return stream;
+    SBMH.prototype._sbmh_feed = function(data) {
+      const len = data.length;
+      const needle = this._needle;
+      const needleLength = needle.length;
+      const lastNeedleChar = needle[needleLength - 1];
+      let pos = -this._lookbehind_size;
+      let ch;
+      if (pos < 0) {
+        while (pos < 0 && pos <= len - needleLength) {
+          ch = this._sbmh_lookup_char(data, pos + needleLength - 1);
+          if (ch === lastNeedleChar && this._sbmh_memcmp(data, pos, needleLength - 1)) {
+            this._lookbehind_size = 0;
+            ++this.matches;
+            this.emit("info", true);
+            return this._bufpos = pos + needleLength;
+          }
+          pos += this._occ[ch];
+        }
+        if (pos < 0) {
+          while (pos < 0 && !this._sbmh_memcmp(data, pos, len - pos)) {
+            ++pos;
+          }
+        }
+        if (pos >= 0) {
+          this.emit("info", false, this._lookbehind, 0, this._lookbehind_size);
+          this._lookbehind_size = 0;
+        } else {
+          const bytesToCutOff = this._lookbehind_size + pos;
+          if (bytesToCutOff > 0) {
+            this.emit("info", false, this._lookbehind, 0, bytesToCutOff);
+          }
+          this._lookbehind.copy(
+            this._lookbehind,
+            0,
+            bytesToCutOff,
+            this._lookbehind_size - bytesToCutOff
+          );
+          this._lookbehind_size -= bytesToCutOff;
+          data.copy(this._lookbehind, this._lookbehind_size);
+          this._lookbehind_size += len;
+          this._bufpos = len;
+          return len;
+        }
       }
-      const onAbort = isNodeStream(stream) ? () => {
-        stream.destroy(
-          new AbortError(void 0, {
-            cause: signal.reason
-          })
-        );
-      } : () => {
-        stream[kControllerErrorFunction](
-          new AbortError(void 0, {
-            cause: signal.reason
-          })
-        );
-      };
-      if (signal.aborted) {
-        onAbort();
+      pos += (pos >= 0) * this._bufpos;
+      if (data.indexOf(needle, pos) !== -1) {
+        pos = data.indexOf(needle, pos);
+        ++this.matches;
+        if (pos > 0) {
+          this.emit("info", true, data, this._bufpos, pos);
+        } else {
+          this.emit("info", true);
+        }
+        return this._bufpos = pos + needleLength;
       } else {
-        addAbortListener = addAbortListener || require_util20().addAbortListener;
-        const disposable = addAbortListener(signal, onAbort);
-        eos(stream, disposable[SymbolDispose]);
+        pos = len - needleLength;
       }
-      return stream;
+      while (pos < len && (data[pos] !== needle[0] || Buffer.compare(
+        data.subarray(pos, pos + len - pos),
+        needle.subarray(0, len - pos)
+      ) !== 0)) {
+        ++pos;
+      }
+      if (pos < len) {
+        data.copy(this._lookbehind, 0, pos, pos + (len - pos));
+        this._lookbehind_size = len - pos;
+      }
+      if (pos > 0) {
+        this.emit("info", false, data, this._bufpos, pos < len ? pos : len);
+      }
+      this._bufpos = len;
+      return len;
+    };
+    SBMH.prototype._sbmh_lookup_char = function(data, pos) {
+      return pos < 0 ? this._lookbehind[this._lookbehind_size + pos] : data[pos];
+    };
+    SBMH.prototype._sbmh_memcmp = function(data, pos, len) {
+      for (var i = 0; i < len; ++i) {
+        if (this._sbmh_lookup_char(data, pos + i) !== this._needle[i]) {
+          return false;
+        }
+      }
+      return true;
     };
+    module2.exports = SBMH;
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/buffer_list.js
-var require_buffer_list = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/buffer_list.js"(exports2, module2) {
+// node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js
+var require_PartStream = __commonJS({
+  "node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js"(exports2, module2) {
     "use strict";
-    var { StringPrototypeSlice, SymbolIterator, TypedArrayPrototypeSet, Uint8Array: Uint8Array2 } = require_primordials();
-    var { Buffer: Buffer2 } = require("buffer");
-    var { inspect } = require_util20();
-    module2.exports = class BufferList {
-      constructor() {
-        this.head = null;
-        this.tail = null;
-        this.length = 0;
-      }
-      push(v) {
-        const entry = {
-          data: v,
-          next: null
-        };
-        if (this.length > 0) this.tail.next = entry;
-        else this.head = entry;
-        this.tail = entry;
-        ++this.length;
+    var inherits = require("node:util").inherits;
+    var ReadableStream2 = require("node:stream").Readable;
+    function PartStream(opts) {
+      ReadableStream2.call(this, opts);
+    }
+    inherits(PartStream, ReadableStream2);
+    PartStream.prototype._read = function(n) {
+    };
+    module2.exports = PartStream;
+  }
+});
+
+// node_modules/@fastify/busboy/lib/utils/getLimit.js
+var require_getLimit = __commonJS({
+  "node_modules/@fastify/busboy/lib/utils/getLimit.js"(exports2, module2) {
+    "use strict";
+    module2.exports = function getLimit(limits, name, defaultLimit) {
+      if (!limits || limits[name] === void 0 || limits[name] === null) {
+        return defaultLimit;
       }
-      unshift(v) {
-        const entry = {
-          data: v,
-          next: this.head
-        };
-        if (this.length === 0) this.tail = entry;
-        this.head = entry;
-        ++this.length;
+      if (typeof limits[name] !== "number" || isNaN(limits[name])) {
+        throw new TypeError("Limit " + name + " is not a valid number");
       }
-      shift() {
-        if (this.length === 0) return;
-        const ret = this.head.data;
-        if (this.length === 1) this.head = this.tail = null;
-        else this.head = this.head.next;
-        --this.length;
-        return ret;
+      return limits[name];
+    };
+  }
+});
+
+// node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js
+var require_HeaderParser = __commonJS({
+  "node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js"(exports2, module2) {
+    "use strict";
+    var EventEmitter = require("node:events").EventEmitter;
+    var inherits = require("node:util").inherits;
+    var getLimit = require_getLimit();
+    var StreamSearch = require_sbmh();
+    var B_DCRLF = Buffer.from("\r\n\r\n");
+    var RE_CRLF = /\r\n/g;
+    var RE_HDR = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/;
+    function HeaderParser(cfg) {
+      EventEmitter.call(this);
+      cfg = cfg || {};
+      const self2 = this;
+      this.nread = 0;
+      this.maxed = false;
+      this.npairs = 0;
+      this.maxHeaderPairs = getLimit(cfg, "maxHeaderPairs", 2e3);
+      this.maxHeaderSize = getLimit(cfg, "maxHeaderSize", 80 * 1024);
+      this.buffer = "";
+      this.header = {};
+      this.finished = false;
+      this.ss = new StreamSearch(B_DCRLF);
+      this.ss.on("info", function(isMatch, data, start, end) {
+        if (data && !self2.maxed) {
+          if (self2.nread + end - start >= self2.maxHeaderSize) {
+            end = self2.maxHeaderSize - self2.nread + start;
+            self2.nread = self2.maxHeaderSize;
+            self2.maxed = true;
+          } else {
+            self2.nread += end - start;
+          }
+          self2.buffer += data.toString("binary", start, end);
+        }
+        if (isMatch) {
+          self2._finish();
+        }
+      });
+    }
+    inherits(HeaderParser, EventEmitter);
+    HeaderParser.prototype.push = function(data) {
+      const r = this.ss.push(data);
+      if (this.finished) {
+        return r;
       }
-      clear() {
-        this.head = this.tail = null;
-        this.length = 0;
+    };
+    HeaderParser.prototype.reset = function() {
+      this.finished = false;
+      this.buffer = "";
+      this.header = {};
+      this.ss.reset();
+    };
+    HeaderParser.prototype._finish = function() {
+      if (this.buffer) {
+        this._parseHeader();
       }
-      join(s) {
-        if (this.length === 0) return "";
-        let p = this.head;
-        let ret = "" + p.data;
-        while ((p = p.next) !== null) ret += s + p.data;
-        return ret;
+      this.ss.matches = this.ss.maxMatches;
+      const header = this.header;
+      this.header = {};
+      this.buffer = "";
+      this.finished = true;
+      this.nread = this.npairs = 0;
+      this.maxed = false;
+      this.emit("header", header);
+    };
+    HeaderParser.prototype._parseHeader = function() {
+      if (this.npairs === this.maxHeaderPairs) {
+        return;
       }
-      concat(n) {
-        if (this.length === 0) return Buffer2.alloc(0);
-        const ret = Buffer2.allocUnsafe(n >>> 0);
-        let p = this.head;
-        let i = 0;
-        while (p) {
-          TypedArrayPrototypeSet(ret, p.data, i);
-          i += p.data.length;
-          p = p.next;
+      const lines = this.buffer.split(RE_CRLF);
+      const len = lines.length;
+      let m, h;
+      for (var i = 0; i < len; ++i) {
+        if (lines[i].length === 0) {
+          continue;
         }
-        return ret;
-      }
-      // Consumes a specified amount of bytes or characters from the buffered data.
-      consume(n, hasStrings) {
-        const data = this.head.data;
-        if (n < data.length) {
-          const slice = data.slice(0, n);
-          this.head.data = data.slice(n);
-          return slice;
+        if (lines[i][0] === "	" || lines[i][0] === " ") {
+          if (h) {
+            this.header[h][this.header[h].length - 1] += lines[i];
+            continue;
+          }
         }
-        if (n === data.length) {
-          return this.shift();
+        const posColon = lines[i].indexOf(":");
+        if (posColon === -1 || posColon === 0) {
+          return;
+        }
+        m = RE_HDR.exec(lines[i]);
+        h = m[1].toLowerCase();
+        this.header[h] = this.header[h] || [];
+        this.header[h].push(m[2] || "");
+        if (++this.npairs === this.maxHeaderPairs) {
+          break;
         }
-        return hasStrings ? this._getString(n) : this._getBuffer(n);
       }
-      first() {
-        return this.head.data;
+    };
+    module2.exports = HeaderParser;
+  }
+});
+
+// node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js
+var require_Dicer = __commonJS({
+  "node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js"(exports2, module2) {
+    "use strict";
+    var WritableStream = require("node:stream").Writable;
+    var inherits = require("node:util").inherits;
+    var StreamSearch = require_sbmh();
+    var PartStream = require_PartStream();
+    var HeaderParser = require_HeaderParser();
+    var DASH = 45;
+    var B_ONEDASH = Buffer.from("-");
+    var B_CRLF = Buffer.from("\r\n");
+    var EMPTY_FN = function() {
+    };
+    function Dicer(cfg) {
+      if (!(this instanceof Dicer)) {
+        return new Dicer(cfg);
       }
-      *[SymbolIterator]() {
-        for (let p = this.head; p; p = p.next) {
-          yield p.data;
+      WritableStream.call(this, cfg);
+      if (!cfg || !cfg.headerFirst && typeof cfg.boundary !== "string") {
+        throw new TypeError("Boundary required");
+      }
+      if (typeof cfg.boundary === "string") {
+        this.setBoundary(cfg.boundary);
+      } else {
+        this._bparser = void 0;
+      }
+      this._headerFirst = cfg.headerFirst;
+      this._dashes = 0;
+      this._parts = 0;
+      this._finished = false;
+      this._realFinish = false;
+      this._isPreamble = true;
+      this._justMatched = false;
+      this._firstWrite = true;
+      this._inHeader = true;
+      this._part = void 0;
+      this._cb = void 0;
+      this._ignoreData = false;
+      this._partOpts = { highWaterMark: cfg.partHwm };
+      this._pause = false;
+      const self2 = this;
+      this._hparser = new HeaderParser(cfg);
+      this._hparser.on("header", function(header) {
+        self2._inHeader = false;
+        self2._part.emit("header", header);
+      });
+    }
+    inherits(Dicer, WritableStream);
+    Dicer.prototype.emit = function(ev) {
+      if (ev === "finish" && !this._realFinish) {
+        if (!this._finished) {
+          const self2 = this;
+          process.nextTick(function() {
+            self2.emit("error", new Error("Unexpected end of multipart data"));
+            if (self2._part && !self2._ignoreData) {
+              const type2 = self2._isPreamble ? "Preamble" : "Part";
+              self2._part.emit("error", new Error(type2 + " terminated early due to unexpected end of multipart data"));
+              self2._part.push(null);
+              process.nextTick(function() {
+                self2._realFinish = true;
+                self2.emit("finish");
+                self2._realFinish = false;
+              });
+              return;
+            }
+            self2._realFinish = true;
+            self2.emit("finish");
+            self2._realFinish = false;
+          });
         }
+      } else {
+        WritableStream.prototype.emit.apply(this, arguments);
       }
-      // Consumes a specified amount of characters from the buffered data.
-      _getString(n) {
-        let ret = "";
-        let p = this.head;
-        let c = 0;
-        do {
-          const str2 = p.data;
-          if (n > str2.length) {
-            ret += str2;
-            n -= str2.length;
+    };
+    Dicer.prototype._write = function(data, encoding, cb) {
+      if (!this._hparser && !this._bparser) {
+        return cb();
+      }
+      if (this._headerFirst && this._isPreamble) {
+        if (!this._part) {
+          this._part = new PartStream(this._partOpts);
+          if (this.listenerCount("preamble") !== 0) {
+            this.emit("preamble", this._part);
           } else {
-            if (n === str2.length) {
-              ret += str2;
-              ++c;
-              if (p.next) this.head = p.next;
-              else this.head = this.tail = null;
-            } else {
-              ret += StringPrototypeSlice(str2, 0, n);
-              this.head = p;
-              p.data = StringPrototypeSlice(str2, n);
-            }
-            break;
+            this._ignore();
           }
-          ++c;
-        } while ((p = p.next) !== null);
-        this.length -= c;
-        return ret;
+        }
+        const r = this._hparser.push(data);
+        if (!this._inHeader && r !== void 0 && r < data.length) {
+          data = data.slice(r);
+        } else {
+          return cb();
+        }
       }
-      // Consumes a specified amount of bytes from the buffered data.
-      _getBuffer(n) {
-        const ret = Buffer2.allocUnsafe(n);
-        const retLen = n;
-        let p = this.head;
-        let c = 0;
-        do {
-          const buf = p.data;
-          if (n > buf.length) {
-            TypedArrayPrototypeSet(ret, buf, retLen - n);
-            n -= buf.length;
+      if (this._firstWrite) {
+        this._bparser.push(B_CRLF);
+        this._firstWrite = false;
+      }
+      this._bparser.push(data);
+      if (this._pause) {
+        this._cb = cb;
+      } else {
+        cb();
+      }
+    };
+    Dicer.prototype.reset = function() {
+      this._part = void 0;
+      this._bparser = void 0;
+      this._hparser = void 0;
+    };
+    Dicer.prototype.setBoundary = function(boundary) {
+      const self2 = this;
+      this._bparser = new StreamSearch("\r\n--" + boundary);
+      this._bparser.on("info", function(isMatch, data, start, end) {
+        self2._oninfo(isMatch, data, start, end);
+      });
+    };
+    Dicer.prototype._ignore = function() {
+      if (this._part && !this._ignoreData) {
+        this._ignoreData = true;
+        this._part.on("error", EMPTY_FN);
+        this._part.resume();
+      }
+    };
+    Dicer.prototype._oninfo = function(isMatch, data, start, end) {
+      let buf;
+      const self2 = this;
+      let i = 0;
+      let r;
+      let shouldWriteMore = true;
+      if (!this._part && this._justMatched && data) {
+        while (this._dashes < 2 && start + i < end) {
+          if (data[start + i] === DASH) {
+            ++i;
+            ++this._dashes;
           } else {
-            if (n === buf.length) {
-              TypedArrayPrototypeSet(ret, buf, retLen - n);
-              ++c;
-              if (p.next) this.head = p.next;
-              else this.head = this.tail = null;
-            } else {
-              TypedArrayPrototypeSet(ret, new Uint8Array2(buf.buffer, buf.byteOffset, n), retLen - n);
-              this.head = p;
-              p.data = buf.slice(n);
+            if (this._dashes) {
+              buf = B_ONEDASH;
             }
+            this._dashes = 0;
             break;
           }
-          ++c;
-        } while ((p = p.next) !== null);
-        this.length -= c;
-        return ret;
-      }
-      // Make sure the linked list only shows the minimal necessary information.
-      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")](_2, options) {
-        return inspect(this, {
-          ...options,
-          // Only inspect one level.
-          depth: 0,
-          // It should not recurse.
-          customInspect: false
-        });
+        }
+        if (this._dashes === 2) {
+          if (start + i < end && this.listenerCount("trailer") !== 0) {
+            this.emit("trailer", data.slice(start + i, end));
+          }
+          this.reset();
+          this._finished = true;
+          if (self2._parts === 0) {
+            self2._realFinish = true;
+            self2.emit("finish");
+            self2._realFinish = false;
+          }
+        }
+        if (this._dashes) {
+          return;
+        }
+      }
+      if (this._justMatched) {
+        this._justMatched = false;
+      }
+      if (!this._part) {
+        this._part = new PartStream(this._partOpts);
+        this._part._read = function(n) {
+          self2._unpause();
+        };
+        if (this._isPreamble && this.listenerCount("preamble") !== 0) {
+          this.emit("preamble", this._part);
+        } else if (this._isPreamble !== true && this.listenerCount("part") !== 0) {
+          this.emit("part", this._part);
+        } else {
+          this._ignore();
+        }
+        if (!this._isPreamble) {
+          this._inHeader = true;
+        }
+      }
+      if (data && start < end && !this._ignoreData) {
+        if (this._isPreamble || !this._inHeader) {
+          if (buf) {
+            shouldWriteMore = this._part.push(buf);
+          }
+          shouldWriteMore = this._part.push(data.slice(start, end));
+          if (!shouldWriteMore) {
+            this._pause = true;
+          }
+        } else if (!this._isPreamble && this._inHeader) {
+          if (buf) {
+            this._hparser.push(buf);
+          }
+          r = this._hparser.push(data.slice(start, end));
+          if (!this._inHeader && r !== void 0 && r < end) {
+            this._oninfo(false, data, start + r, end);
+          }
+        }
+      }
+      if (isMatch) {
+        this._hparser.reset();
+        if (this._isPreamble) {
+          this._isPreamble = false;
+        } else {
+          if (start !== end) {
+            ++this._parts;
+            this._part.on("end", function() {
+              if (--self2._parts === 0) {
+                if (self2._finished) {
+                  self2._realFinish = true;
+                  self2.emit("finish");
+                  self2._realFinish = false;
+                } else {
+                  self2._unpause();
+                }
+              }
+            });
+          }
+        }
+        this._part.push(null);
+        this._part = void 0;
+        this._ignoreData = false;
+        this._justMatched = true;
+        this._dashes = 0;
       }
     };
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/state.js
-var require_state3 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/state.js"(exports2, module2) {
-    "use strict";
-    var { MathFloor, NumberIsInteger } = require_primordials();
-    var { validateInteger } = require_validators();
-    var { ERR_INVALID_ARG_VALUE } = require_errors5().codes;
-    var defaultHighWaterMarkBytes = 16 * 1024;
-    var defaultHighWaterMarkObjectMode = 16;
-    function highWaterMarkFrom(options, isDuplex, duplexKey) {
-      return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;
-    }
-    function getDefaultHighWaterMark(objectMode) {
-      return objectMode ? defaultHighWaterMarkObjectMode : defaultHighWaterMarkBytes;
-    }
-    function setDefaultHighWaterMark(objectMode, value) {
-      validateInteger(value, "value", 0);
-      if (objectMode) {
-        defaultHighWaterMarkObjectMode = value;
-      } else {
-        defaultHighWaterMarkBytes = value;
+    Dicer.prototype._unpause = function() {
+      if (!this._pause) {
+        return;
       }
-    }
-    function getHighWaterMark(state, options, duplexKey, isDuplex) {
-      const hwm = highWaterMarkFrom(options, isDuplex, duplexKey);
-      if (hwm != null) {
-        if (!NumberIsInteger(hwm) || hwm < 0) {
-          const name = isDuplex ? `options.${duplexKey}` : "options.highWaterMark";
-          throw new ERR_INVALID_ARG_VALUE(name, hwm);
-        }
-        return MathFloor(hwm);
+      this._pause = false;
+      if (this._cb) {
+        const cb = this._cb;
+        this._cb = void 0;
+        cb();
       }
-      return getDefaultHighWaterMark(state.objectMode);
-    }
-    module2.exports = {
-      getHighWaterMark,
-      getDefaultHighWaterMark,
-      setDefaultHighWaterMark
     };
+    module2.exports = Dicer;
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/from.js
-var require_from = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/from.js"(exports2, module2) {
+// node_modules/@fastify/busboy/lib/utils/decodeText.js
+var require_decodeText = __commonJS({
+  "node_modules/@fastify/busboy/lib/utils/decodeText.js"(exports2, module2) {
     "use strict";
-    var process2 = require_process();
-    var { PromisePrototypeThen, SymbolAsyncIterator, SymbolIterator } = require_primordials();
-    var { Buffer: Buffer2 } = require("buffer");
-    var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_NULL_VALUES } = require_errors5().codes;
-    function from(Readable, iterable, opts) {
-      let iterator2;
-      if (typeof iterable === "string" || iterable instanceof Buffer2) {
-        return new Readable({
-          objectMode: true,
-          ...opts,
-          read() {
-            this.push(iterable);
-            this.push(null);
-          }
-        });
-      }
-      let isAsync;
-      if (iterable && iterable[SymbolAsyncIterator]) {
-        isAsync = true;
-        iterator2 = iterable[SymbolAsyncIterator]();
-      } else if (iterable && iterable[SymbolIterator]) {
-        isAsync = false;
-        iterator2 = iterable[SymbolIterator]();
-      } else {
-        throw new ERR_INVALID_ARG_TYPE2("iterable", ["Iterable"], iterable);
+    var utf8Decoder = new TextDecoder("utf-8");
+    var textDecoders = /* @__PURE__ */ new Map([
+      ["utf-8", utf8Decoder],
+      ["utf8", utf8Decoder]
+    ]);
+    function getDecoder(charset) {
+      let lc;
+      while (true) {
+        switch (charset) {
+          case "utf-8":
+          case "utf8":
+            return decoders.utf8;
+          case "latin1":
+          case "ascii":
+          // TODO: Make these a separate, strict decoder?
+          case "us-ascii":
+          case "iso-8859-1":
+          case "iso8859-1":
+          case "iso88591":
+          case "iso_8859-1":
+          case "windows-1252":
+          case "iso_8859-1:1987":
+          case "cp1252":
+          case "x-cp1252":
+            return decoders.latin1;
+          case "utf16le":
+          case "utf-16le":
+          case "ucs2":
+          case "ucs-2":
+            return decoders.utf16le;
+          case "base64":
+            return decoders.base64;
+          default:
+            if (lc === void 0) {
+              lc = true;
+              charset = charset.toLowerCase();
+              continue;
+            }
+            return decoders.other.bind(charset);
+        }
       }
-      const readable = new Readable({
-        objectMode: true,
-        highWaterMark: 1,
-        // TODO(ronag): What options should be allowed?
-        ...opts
-      });
-      let reading = false;
-      readable._read = function() {
-        if (!reading) {
-          reading = true;
-          next();
+    }
+    var decoders = {
+      utf8: (data, sourceEncoding) => {
+        if (data.length === 0) {
+          return "";
         }
-      };
-      readable._destroy = function(error3, cb) {
-        PromisePrototypeThen(
-          close(error3),
-          () => process2.nextTick(cb, error3),
-          // nextTick is here in case cb throws
-          (e) => process2.nextTick(cb, e || error3)
-        );
-      };
-      async function close(error3) {
-        const hadError = error3 !== void 0 && error3 !== null;
-        const hasThrow = typeof iterator2.throw === "function";
-        if (hadError && hasThrow) {
-          const { value, done } = await iterator2.throw(error3);
-          await value;
-          if (done) {
-            return;
-          }
+        if (typeof data === "string") {
+          data = Buffer.from(data, sourceEncoding);
         }
-        if (typeof iterator2.return === "function") {
-          const { value } = await iterator2.return();
-          await value;
+        return data.utf8Slice(0, data.length);
+      },
+      latin1: (data, sourceEncoding) => {
+        if (data.length === 0) {
+          return "";
         }
-      }
-      async function next() {
-        for (; ; ) {
+        if (typeof data === "string") {
+          return data;
+        }
+        return data.latin1Slice(0, data.length);
+      },
+      utf16le: (data, sourceEncoding) => {
+        if (data.length === 0) {
+          return "";
+        }
+        if (typeof data === "string") {
+          data = Buffer.from(data, sourceEncoding);
+        }
+        return data.ucs2Slice(0, data.length);
+      },
+      base64: (data, sourceEncoding) => {
+        if (data.length === 0) {
+          return "";
+        }
+        if (typeof data === "string") {
+          data = Buffer.from(data, sourceEncoding);
+        }
+        return data.base64Slice(0, data.length);
+      },
+      other: (data, sourceEncoding) => {
+        if (data.length === 0) {
+          return "";
+        }
+        if (typeof data === "string") {
+          data = Buffer.from(data, sourceEncoding);
+        }
+        if (textDecoders.has(exports2.toString())) {
           try {
-            const { value, done } = isAsync ? await iterator2.next() : iterator2.next();
-            if (done) {
-              readable.push(null);
-            } else {
-              const res = value && typeof value.then === "function" ? await value : value;
-              if (res === null) {
-                reading = false;
-                throw new ERR_STREAM_NULL_VALUES();
-              } else if (readable.push(res)) {
-                continue;
-              } else {
-                reading = false;
-              }
-            }
-          } catch (err) {
-            readable.destroy(err);
+            return textDecoders.get(exports2).decode(data);
+          } catch {
           }
-          break;
         }
+        return typeof data === "string" ? data : data.toString();
       }
-      return readable;
+    };
+    function decodeText(text, sourceEncoding, destEncoding) {
+      if (text) {
+        return getDecoder(destEncoding)(text, sourceEncoding);
+      }
+      return text;
     }
-    module2.exports = from;
+    module2.exports = decodeText;
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/readable.js
-var require_readable4 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/readable.js"(exports2, module2) {
-    var process2 = require_process();
-    var {
-      ArrayPrototypeIndexOf,
-      NumberIsInteger,
-      NumberIsNaN,
-      NumberParseInt,
-      ObjectDefineProperties,
-      ObjectKeys,
-      ObjectSetPrototypeOf,
-      Promise: Promise2,
-      SafeSet,
-      SymbolAsyncDispose,
-      SymbolAsyncIterator,
-      Symbol: Symbol2
-    } = require_primordials();
-    module2.exports = Readable;
-    Readable.ReadableState = ReadableState;
-    var { EventEmitter: EE } = require("events");
-    var { Stream, prependListener } = require_legacy();
-    var { Buffer: Buffer2 } = require("buffer");
-    var { addAbortSignal } = require_add_abort_signal();
-    var eos = require_end_of_stream();
-    var debug4 = require_util20().debuglog("stream", (fn) => {
-      debug4 = fn;
-    });
-    var BufferList = require_buffer_list();
-    var destroyImpl = require_destroy2();
-    var { getHighWaterMark, getDefaultHighWaterMark } = require_state3();
-    var {
-      aggregateTwoErrors,
-      codes: {
-        ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,
-        ERR_METHOD_NOT_IMPLEMENTED,
-        ERR_OUT_OF_RANGE,
-        ERR_STREAM_PUSH_AFTER_EOF,
-        ERR_STREAM_UNSHIFT_AFTER_END_EVENT
-      },
-      AbortError
-    } = require_errors5();
-    var { validateObject } = require_validators();
-    var kPaused = Symbol2("kPaused");
-    var { StringDecoder } = require("string_decoder");
-    var from = require_from();
-    ObjectSetPrototypeOf(Readable.prototype, Stream.prototype);
-    ObjectSetPrototypeOf(Readable, Stream);
-    var nop = () => {
+// node_modules/@fastify/busboy/lib/utils/parseParams.js
+var require_parseParams = __commonJS({
+  "node_modules/@fastify/busboy/lib/utils/parseParams.js"(exports2, module2) {
+    "use strict";
+    var decodeText = require_decodeText();
+    var RE_ENCODED = /%[a-fA-F0-9][a-fA-F0-9]/g;
+    var EncodedLookup = {
+      "%00": "\0",
+      "%01": "",
+      "%02": "",
+      "%03": "",
+      "%04": "",
+      "%05": "",
+      "%06": "",
+      "%07": "\x07",
+      "%08": "\b",
+      "%09": "	",
+      "%0a": "\n",
+      "%0A": "\n",
+      "%0b": "\v",
+      "%0B": "\v",
+      "%0c": "\f",
+      "%0C": "\f",
+      "%0d": "\r",
+      "%0D": "\r",
+      "%0e": "",
+      "%0E": "",
+      "%0f": "",
+      "%0F": "",
+      "%10": "",
+      "%11": "",
+      "%12": "",
+      "%13": "",
+      "%14": "",
+      "%15": "",
+      "%16": "",
+      "%17": "",
+      "%18": "",
+      "%19": "",
+      "%1a": "",
+      "%1A": "",
+      "%1b": "\x1B",
+      "%1B": "\x1B",
+      "%1c": "",
+      "%1C": "",
+      "%1d": "",
+      "%1D": "",
+      "%1e": "",
+      "%1E": "",
+      "%1f": "",
+      "%1F": "",
+      "%20": " ",
+      "%21": "!",
+      "%22": '"',
+      "%23": "#",
+      "%24": "$",
+      "%25": "%",
+      "%26": "&",
+      "%27": "'",
+      "%28": "(",
+      "%29": ")",
+      "%2a": "*",
+      "%2A": "*",
+      "%2b": "+",
+      "%2B": "+",
+      "%2c": ",",
+      "%2C": ",",
+      "%2d": "-",
+      "%2D": "-",
+      "%2e": ".",
+      "%2E": ".",
+      "%2f": "/",
+      "%2F": "/",
+      "%30": "0",
+      "%31": "1",
+      "%32": "2",
+      "%33": "3",
+      "%34": "4",
+      "%35": "5",
+      "%36": "6",
+      "%37": "7",
+      "%38": "8",
+      "%39": "9",
+      "%3a": ":",
+      "%3A": ":",
+      "%3b": ";",
+      "%3B": ";",
+      "%3c": "<",
+      "%3C": "<",
+      "%3d": "=",
+      "%3D": "=",
+      "%3e": ">",
+      "%3E": ">",
+      "%3f": "?",
+      "%3F": "?",
+      "%40": "@",
+      "%41": "A",
+      "%42": "B",
+      "%43": "C",
+      "%44": "D",
+      "%45": "E",
+      "%46": "F",
+      "%47": "G",
+      "%48": "H",
+      "%49": "I",
+      "%4a": "J",
+      "%4A": "J",
+      "%4b": "K",
+      "%4B": "K",
+      "%4c": "L",
+      "%4C": "L",
+      "%4d": "M",
+      "%4D": "M",
+      "%4e": "N",
+      "%4E": "N",
+      "%4f": "O",
+      "%4F": "O",
+      "%50": "P",
+      "%51": "Q",
+      "%52": "R",
+      "%53": "S",
+      "%54": "T",
+      "%55": "U",
+      "%56": "V",
+      "%57": "W",
+      "%58": "X",
+      "%59": "Y",
+      "%5a": "Z",
+      "%5A": "Z",
+      "%5b": "[",
+      "%5B": "[",
+      "%5c": "\\",
+      "%5C": "\\",
+      "%5d": "]",
+      "%5D": "]",
+      "%5e": "^",
+      "%5E": "^",
+      "%5f": "_",
+      "%5F": "_",
+      "%60": "`",
+      "%61": "a",
+      "%62": "b",
+      "%63": "c",
+      "%64": "d",
+      "%65": "e",
+      "%66": "f",
+      "%67": "g",
+      "%68": "h",
+      "%69": "i",
+      "%6a": "j",
+      "%6A": "j",
+      "%6b": "k",
+      "%6B": "k",
+      "%6c": "l",
+      "%6C": "l",
+      "%6d": "m",
+      "%6D": "m",
+      "%6e": "n",
+      "%6E": "n",
+      "%6f": "o",
+      "%6F": "o",
+      "%70": "p",
+      "%71": "q",
+      "%72": "r",
+      "%73": "s",
+      "%74": "t",
+      "%75": "u",
+      "%76": "v",
+      "%77": "w",
+      "%78": "x",
+      "%79": "y",
+      "%7a": "z",
+      "%7A": "z",
+      "%7b": "{",
+      "%7B": "{",
+      "%7c": "|",
+      "%7C": "|",
+      "%7d": "}",
+      "%7D": "}",
+      "%7e": "~",
+      "%7E": "~",
+      "%7f": "\x7F",
+      "%7F": "\x7F",
+      "%80": "\x80",
+      "%81": "\x81",
+      "%82": "\x82",
+      "%83": "\x83",
+      "%84": "\x84",
+      "%85": "\x85",
+      "%86": "\x86",
+      "%87": "\x87",
+      "%88": "\x88",
+      "%89": "\x89",
+      "%8a": "\x8A",
+      "%8A": "\x8A",
+      "%8b": "\x8B",
+      "%8B": "\x8B",
+      "%8c": "\x8C",
+      "%8C": "\x8C",
+      "%8d": "\x8D",
+      "%8D": "\x8D",
+      "%8e": "\x8E",
+      "%8E": "\x8E",
+      "%8f": "\x8F",
+      "%8F": "\x8F",
+      "%90": "\x90",
+      "%91": "\x91",
+      "%92": "\x92",
+      "%93": "\x93",
+      "%94": "\x94",
+      "%95": "\x95",
+      "%96": "\x96",
+      "%97": "\x97",
+      "%98": "\x98",
+      "%99": "\x99",
+      "%9a": "\x9A",
+      "%9A": "\x9A",
+      "%9b": "\x9B",
+      "%9B": "\x9B",
+      "%9c": "\x9C",
+      "%9C": "\x9C",
+      "%9d": "\x9D",
+      "%9D": "\x9D",
+      "%9e": "\x9E",
+      "%9E": "\x9E",
+      "%9f": "\x9F",
+      "%9F": "\x9F",
+      "%a0": "\xA0",
+      "%A0": "\xA0",
+      "%a1": "\xA1",
+      "%A1": "\xA1",
+      "%a2": "\xA2",
+      "%A2": "\xA2",
+      "%a3": "\xA3",
+      "%A3": "\xA3",
+      "%a4": "\xA4",
+      "%A4": "\xA4",
+      "%a5": "\xA5",
+      "%A5": "\xA5",
+      "%a6": "\xA6",
+      "%A6": "\xA6",
+      "%a7": "\xA7",
+      "%A7": "\xA7",
+      "%a8": "\xA8",
+      "%A8": "\xA8",
+      "%a9": "\xA9",
+      "%A9": "\xA9",
+      "%aa": "\xAA",
+      "%Aa": "\xAA",
+      "%aA": "\xAA",
+      "%AA": "\xAA",
+      "%ab": "\xAB",
+      "%Ab": "\xAB",
+      "%aB": "\xAB",
+      "%AB": "\xAB",
+      "%ac": "\xAC",
+      "%Ac": "\xAC",
+      "%aC": "\xAC",
+      "%AC": "\xAC",
+      "%ad": "\xAD",
+      "%Ad": "\xAD",
+      "%aD": "\xAD",
+      "%AD": "\xAD",
+      "%ae": "\xAE",
+      "%Ae": "\xAE",
+      "%aE": "\xAE",
+      "%AE": "\xAE",
+      "%af": "\xAF",
+      "%Af": "\xAF",
+      "%aF": "\xAF",
+      "%AF": "\xAF",
+      "%b0": "\xB0",
+      "%B0": "\xB0",
+      "%b1": "\xB1",
+      "%B1": "\xB1",
+      "%b2": "\xB2",
+      "%B2": "\xB2",
+      "%b3": "\xB3",
+      "%B3": "\xB3",
+      "%b4": "\xB4",
+      "%B4": "\xB4",
+      "%b5": "\xB5",
+      "%B5": "\xB5",
+      "%b6": "\xB6",
+      "%B6": "\xB6",
+      "%b7": "\xB7",
+      "%B7": "\xB7",
+      "%b8": "\xB8",
+      "%B8": "\xB8",
+      "%b9": "\xB9",
+      "%B9": "\xB9",
+      "%ba": "\xBA",
+      "%Ba": "\xBA",
+      "%bA": "\xBA",
+      "%BA": "\xBA",
+      "%bb": "\xBB",
+      "%Bb": "\xBB",
+      "%bB": "\xBB",
+      "%BB": "\xBB",
+      "%bc": "\xBC",
+      "%Bc": "\xBC",
+      "%bC": "\xBC",
+      "%BC": "\xBC",
+      "%bd": "\xBD",
+      "%Bd": "\xBD",
+      "%bD": "\xBD",
+      "%BD": "\xBD",
+      "%be": "\xBE",
+      "%Be": "\xBE",
+      "%bE": "\xBE",
+      "%BE": "\xBE",
+      "%bf": "\xBF",
+      "%Bf": "\xBF",
+      "%bF": "\xBF",
+      "%BF": "\xBF",
+      "%c0": "\xC0",
+      "%C0": "\xC0",
+      "%c1": "\xC1",
+      "%C1": "\xC1",
+      "%c2": "\xC2",
+      "%C2": "\xC2",
+      "%c3": "\xC3",
+      "%C3": "\xC3",
+      "%c4": "\xC4",
+      "%C4": "\xC4",
+      "%c5": "\xC5",
+      "%C5": "\xC5",
+      "%c6": "\xC6",
+      "%C6": "\xC6",
+      "%c7": "\xC7",
+      "%C7": "\xC7",
+      "%c8": "\xC8",
+      "%C8": "\xC8",
+      "%c9": "\xC9",
+      "%C9": "\xC9",
+      "%ca": "\xCA",
+      "%Ca": "\xCA",
+      "%cA": "\xCA",
+      "%CA": "\xCA",
+      "%cb": "\xCB",
+      "%Cb": "\xCB",
+      "%cB": "\xCB",
+      "%CB": "\xCB",
+      "%cc": "\xCC",
+      "%Cc": "\xCC",
+      "%cC": "\xCC",
+      "%CC": "\xCC",
+      "%cd": "\xCD",
+      "%Cd": "\xCD",
+      "%cD": "\xCD",
+      "%CD": "\xCD",
+      "%ce": "\xCE",
+      "%Ce": "\xCE",
+      "%cE": "\xCE",
+      "%CE": "\xCE",
+      "%cf": "\xCF",
+      "%Cf": "\xCF",
+      "%cF": "\xCF",
+      "%CF": "\xCF",
+      "%d0": "\xD0",
+      "%D0": "\xD0",
+      "%d1": "\xD1",
+      "%D1": "\xD1",
+      "%d2": "\xD2",
+      "%D2": "\xD2",
+      "%d3": "\xD3",
+      "%D3": "\xD3",
+      "%d4": "\xD4",
+      "%D4": "\xD4",
+      "%d5": "\xD5",
+      "%D5": "\xD5",
+      "%d6": "\xD6",
+      "%D6": "\xD6",
+      "%d7": "\xD7",
+      "%D7": "\xD7",
+      "%d8": "\xD8",
+      "%D8": "\xD8",
+      "%d9": "\xD9",
+      "%D9": "\xD9",
+      "%da": "\xDA",
+      "%Da": "\xDA",
+      "%dA": "\xDA",
+      "%DA": "\xDA",
+      "%db": "\xDB",
+      "%Db": "\xDB",
+      "%dB": "\xDB",
+      "%DB": "\xDB",
+      "%dc": "\xDC",
+      "%Dc": "\xDC",
+      "%dC": "\xDC",
+      "%DC": "\xDC",
+      "%dd": "\xDD",
+      "%Dd": "\xDD",
+      "%dD": "\xDD",
+      "%DD": "\xDD",
+      "%de": "\xDE",
+      "%De": "\xDE",
+      "%dE": "\xDE",
+      "%DE": "\xDE",
+      "%df": "\xDF",
+      "%Df": "\xDF",
+      "%dF": "\xDF",
+      "%DF": "\xDF",
+      "%e0": "\xE0",
+      "%E0": "\xE0",
+      "%e1": "\xE1",
+      "%E1": "\xE1",
+      "%e2": "\xE2",
+      "%E2": "\xE2",
+      "%e3": "\xE3",
+      "%E3": "\xE3",
+      "%e4": "\xE4",
+      "%E4": "\xE4",
+      "%e5": "\xE5",
+      "%E5": "\xE5",
+      "%e6": "\xE6",
+      "%E6": "\xE6",
+      "%e7": "\xE7",
+      "%E7": "\xE7",
+      "%e8": "\xE8",
+      "%E8": "\xE8",
+      "%e9": "\xE9",
+      "%E9": "\xE9",
+      "%ea": "\xEA",
+      "%Ea": "\xEA",
+      "%eA": "\xEA",
+      "%EA": "\xEA",
+      "%eb": "\xEB",
+      "%Eb": "\xEB",
+      "%eB": "\xEB",
+      "%EB": "\xEB",
+      "%ec": "\xEC",
+      "%Ec": "\xEC",
+      "%eC": "\xEC",
+      "%EC": "\xEC",
+      "%ed": "\xED",
+      "%Ed": "\xED",
+      "%eD": "\xED",
+      "%ED": "\xED",
+      "%ee": "\xEE",
+      "%Ee": "\xEE",
+      "%eE": "\xEE",
+      "%EE": "\xEE",
+      "%ef": "\xEF",
+      "%Ef": "\xEF",
+      "%eF": "\xEF",
+      "%EF": "\xEF",
+      "%f0": "\xF0",
+      "%F0": "\xF0",
+      "%f1": "\xF1",
+      "%F1": "\xF1",
+      "%f2": "\xF2",
+      "%F2": "\xF2",
+      "%f3": "\xF3",
+      "%F3": "\xF3",
+      "%f4": "\xF4",
+      "%F4": "\xF4",
+      "%f5": "\xF5",
+      "%F5": "\xF5",
+      "%f6": "\xF6",
+      "%F6": "\xF6",
+      "%f7": "\xF7",
+      "%F7": "\xF7",
+      "%f8": "\xF8",
+      "%F8": "\xF8",
+      "%f9": "\xF9",
+      "%F9": "\xF9",
+      "%fa": "\xFA",
+      "%Fa": "\xFA",
+      "%fA": "\xFA",
+      "%FA": "\xFA",
+      "%fb": "\xFB",
+      "%Fb": "\xFB",
+      "%fB": "\xFB",
+      "%FB": "\xFB",
+      "%fc": "\xFC",
+      "%Fc": "\xFC",
+      "%fC": "\xFC",
+      "%FC": "\xFC",
+      "%fd": "\xFD",
+      "%Fd": "\xFD",
+      "%fD": "\xFD",
+      "%FD": "\xFD",
+      "%fe": "\xFE",
+      "%Fe": "\xFE",
+      "%fE": "\xFE",
+      "%FE": "\xFE",
+      "%ff": "\xFF",
+      "%Ff": "\xFF",
+      "%fF": "\xFF",
+      "%FF": "\xFF"
     };
-    var { errorOrDestroy } = destroyImpl;
-    var kObjectMode = 1 << 0;
-    var kEnded = 1 << 1;
-    var kEndEmitted = 1 << 2;
-    var kReading = 1 << 3;
-    var kConstructed = 1 << 4;
-    var kSync = 1 << 5;
-    var kNeedReadable = 1 << 6;
-    var kEmittedReadable = 1 << 7;
-    var kReadableListening = 1 << 8;
-    var kResumeScheduled = 1 << 9;
-    var kErrorEmitted = 1 << 10;
-    var kEmitClose = 1 << 11;
-    var kAutoDestroy = 1 << 12;
-    var kDestroyed = 1 << 13;
-    var kClosed = 1 << 14;
-    var kCloseEmitted = 1 << 15;
-    var kMultiAwaitDrain = 1 << 16;
-    var kReadingMore = 1 << 17;
-    var kDataEmitted = 1 << 18;
-    function makeBitMapDescriptor(bit) {
-      return {
-        enumerable: false,
-        get() {
-          return (this.state & bit) !== 0;
-        },
-        set(value) {
-          if (value) this.state |= bit;
-          else this.state &= ~bit;
-        }
-      };
-    }
-    ObjectDefineProperties(ReadableState.prototype, {
-      objectMode: makeBitMapDescriptor(kObjectMode),
-      ended: makeBitMapDescriptor(kEnded),
-      endEmitted: makeBitMapDescriptor(kEndEmitted),
-      reading: makeBitMapDescriptor(kReading),
-      // Stream is still being constructed and cannot be
-      // destroyed until construction finished or failed.
-      // Async construction is opt in, therefore we start as
-      // constructed.
-      constructed: makeBitMapDescriptor(kConstructed),
-      // A flag to be able to tell if the event 'readable'/'data' is emitted
-      // immediately, or on a later tick.  We set this to true at first, because
-      // any actions that shouldn't happen until "later" should generally also
-      // not happen before the first read call.
-      sync: makeBitMapDescriptor(kSync),
-      // Whenever we return null, then we set a flag to say
-      // that we're awaiting a 'readable' event emission.
-      needReadable: makeBitMapDescriptor(kNeedReadable),
-      emittedReadable: makeBitMapDescriptor(kEmittedReadable),
-      readableListening: makeBitMapDescriptor(kReadableListening),
-      resumeScheduled: makeBitMapDescriptor(kResumeScheduled),
-      // True if the error was already emitted and should not be thrown again.
-      errorEmitted: makeBitMapDescriptor(kErrorEmitted),
-      emitClose: makeBitMapDescriptor(kEmitClose),
-      autoDestroy: makeBitMapDescriptor(kAutoDestroy),
-      // Has it been destroyed.
-      destroyed: makeBitMapDescriptor(kDestroyed),
-      // Indicates whether the stream has finished destroying.
-      closed: makeBitMapDescriptor(kClosed),
-      // True if close has been emitted or would have been emitted
-      // depending on emitClose.
-      closeEmitted: makeBitMapDescriptor(kCloseEmitted),
-      multiAwaitDrain: makeBitMapDescriptor(kMultiAwaitDrain),
-      // If true, a maybeReadMore has been scheduled.
-      readingMore: makeBitMapDescriptor(kReadingMore),
-      dataEmitted: makeBitMapDescriptor(kDataEmitted)
-    });
-    function ReadableState(options, stream, isDuplex) {
-      if (typeof isDuplex !== "boolean") isDuplex = stream instanceof require_duplex();
-      this.state = kEmitClose | kAutoDestroy | kConstructed | kSync;
-      if (options && options.objectMode) this.state |= kObjectMode;
-      if (isDuplex && options && options.readableObjectMode) this.state |= kObjectMode;
-      this.highWaterMark = options ? getHighWaterMark(this, options, "readableHighWaterMark", isDuplex) : getDefaultHighWaterMark(false);
-      this.buffer = new BufferList();
-      this.length = 0;
-      this.pipes = [];
-      this.flowing = null;
-      this[kPaused] = null;
-      if (options && options.emitClose === false) this.state &= ~kEmitClose;
-      if (options && options.autoDestroy === false) this.state &= ~kAutoDestroy;
-      this.errored = null;
-      this.defaultEncoding = options && options.defaultEncoding || "utf8";
-      this.awaitDrainWriters = null;
-      this.decoder = null;
-      this.encoding = null;
-      if (options && options.encoding) {
-        this.decoder = new StringDecoder(options.encoding);
-        this.encoding = options.encoding;
-      }
-    }
-    function Readable(options) {
-      if (!(this instanceof Readable)) return new Readable(options);
-      const isDuplex = this instanceof require_duplex();
-      this._readableState = new ReadableState(options, this, isDuplex);
-      if (options) {
-        if (typeof options.read === "function") this._read = options.read;
-        if (typeof options.destroy === "function") this._destroy = options.destroy;
-        if (typeof options.construct === "function") this._construct = options.construct;
-        if (options.signal && !isDuplex) addAbortSignal(options.signal, this);
-      }
-      Stream.call(this, options);
-      destroyImpl.construct(this, () => {
-        if (this._readableState.needReadable) {
-          maybeReadMore(this, this._readableState);
-        }
-      });
+    function encodedReplacer(match) {
+      return EncodedLookup[match];
     }
-    Readable.prototype.destroy = destroyImpl.destroy;
-    Readable.prototype._undestroy = destroyImpl.undestroy;
-    Readable.prototype._destroy = function(err, cb) {
-      cb(err);
-    };
-    Readable.prototype[EE.captureRejectionSymbol] = function(err) {
-      this.destroy(err);
-    };
-    Readable.prototype[SymbolAsyncDispose] = function() {
-      let error3;
-      if (!this.destroyed) {
-        error3 = this.readableEnded ? null : new AbortError();
-        this.destroy(error3);
-      }
-      return new Promise2((resolve5, reject) => eos(this, (err) => err && err !== error3 ? reject(err) : resolve5(null)));
-    };
-    Readable.prototype.push = function(chunk, encoding) {
-      return readableAddChunk(this, chunk, encoding, false);
-    };
-    Readable.prototype.unshift = function(chunk, encoding) {
-      return readableAddChunk(this, chunk, encoding, true);
-    };
-    function readableAddChunk(stream, chunk, encoding, addToFront) {
-      debug4("readableAddChunk", chunk);
-      const state = stream._readableState;
-      let err;
-      if ((state.state & kObjectMode) === 0) {
-        if (typeof chunk === "string") {
-          encoding = encoding || state.defaultEncoding;
-          if (state.encoding !== encoding) {
-            if (addToFront && state.encoding) {
-              chunk = Buffer2.from(chunk, encoding).toString(state.encoding);
+    var STATE_KEY = 0;
+    var STATE_VALUE = 1;
+    var STATE_CHARSET = 2;
+    var STATE_LANG = 3;
+    function parseParams(str2) {
+      const res = [];
+      let state = STATE_KEY;
+      let charset = "";
+      let inquote = false;
+      let escaping = false;
+      let p = 0;
+      let tmp = "";
+      const len = str2.length;
+      for (var i = 0; i < len; ++i) {
+        const char = str2[i];
+        if (char === "\\" && inquote) {
+          if (escaping) {
+            escaping = false;
+          } else {
+            escaping = true;
+            continue;
+          }
+        } else if (char === '"') {
+          if (!escaping) {
+            if (inquote) {
+              inquote = false;
+              state = STATE_KEY;
             } else {
-              chunk = Buffer2.from(chunk, encoding);
-              encoding = "";
+              inquote = true;
             }
+            continue;
+          } else {
+            escaping = false;
           }
-        } else if (chunk instanceof Buffer2) {
-          encoding = "";
-        } else if (Stream._isUint8Array(chunk)) {
-          chunk = Stream._uint8ArrayToBuffer(chunk);
-          encoding = "";
-        } else if (chunk != null) {
-          err = new ERR_INVALID_ARG_TYPE2("chunk", ["string", "Buffer", "Uint8Array"], chunk);
-        }
-      }
-      if (err) {
-        errorOrDestroy(stream, err);
-      } else if (chunk === null) {
-        state.state &= ~kReading;
-        onEofChunk(stream, state);
-      } else if ((state.state & kObjectMode) !== 0 || chunk && chunk.length > 0) {
-        if (addToFront) {
-          if ((state.state & kEndEmitted) !== 0) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());
-          else if (state.destroyed || state.errored) return false;
-          else addChunk(stream, state, chunk, true);
-        } else if (state.ended) {
-          errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());
-        } else if (state.destroyed || state.errored) {
-          return false;
         } else {
-          state.state &= ~kReading;
-          if (state.decoder && !encoding) {
-            chunk = state.decoder.write(chunk);
-            if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);
-            else maybeReadMore(stream, state);
-          } else {
-            addChunk(stream, state, chunk, false);
+          if (escaping && inquote) {
+            tmp += "\\";
+          }
+          escaping = false;
+          if ((state === STATE_CHARSET || state === STATE_LANG) && char === "'") {
+            if (state === STATE_CHARSET) {
+              state = STATE_LANG;
+              charset = tmp.substring(1);
+            } else {
+              state = STATE_VALUE;
+            }
+            tmp = "";
+            continue;
+          } else if (state === STATE_KEY && (char === "*" || char === "=") && res.length) {
+            state = char === "*" ? STATE_CHARSET : STATE_VALUE;
+            res[p] = [tmp, void 0];
+            tmp = "";
+            continue;
+          } else if (!inquote && char === ";") {
+            state = STATE_KEY;
+            if (charset) {
+              if (tmp.length) {
+                tmp = decodeText(
+                  tmp.replace(RE_ENCODED, encodedReplacer),
+                  "binary",
+                  charset
+                );
+              }
+              charset = "";
+            } else if (tmp.length) {
+              tmp = decodeText(tmp, "binary", "utf8");
+            }
+            if (res[p] === void 0) {
+              res[p] = tmp;
+            } else {
+              res[p][1] = tmp;
+            }
+            tmp = "";
+            ++p;
+            continue;
+          } else if (!inquote && (char === " " || char === "	")) {
+            continue;
           }
         }
-      } else if (!addToFront) {
-        state.state &= ~kReading;
-        maybeReadMore(stream, state);
-      }
-      return !state.ended && (state.length < state.highWaterMark || state.length === 0);
-    }
-    function addChunk(stream, state, chunk, addToFront) {
-      if (state.flowing && state.length === 0 && !state.sync && stream.listenerCount("data") > 0) {
-        if ((state.state & kMultiAwaitDrain) !== 0) {
-          state.awaitDrainWriters.clear();
-        } else {
-          state.awaitDrainWriters = null;
-        }
-        state.dataEmitted = true;
-        stream.emit("data", chunk);
-      } else {
-        state.length += state.objectMode ? 1 : chunk.length;
-        if (addToFront) state.buffer.unshift(chunk);
-        else state.buffer.push(chunk);
-        if ((state.state & kNeedReadable) !== 0) emitReadable(stream);
+        tmp += char;
       }
-      maybeReadMore(stream, state);
-    }
-    Readable.prototype.isPaused = function() {
-      const state = this._readableState;
-      return state[kPaused] === true || state.flowing === false;
-    };
-    Readable.prototype.setEncoding = function(enc) {
-      const decoder = new StringDecoder(enc);
-      this._readableState.decoder = decoder;
-      this._readableState.encoding = this._readableState.decoder.encoding;
-      const buffer = this._readableState.buffer;
-      let content = "";
-      for (const data of buffer) {
-        content += decoder.write(data);
+      if (charset && tmp.length) {
+        tmp = decodeText(
+          tmp.replace(RE_ENCODED, encodedReplacer),
+          "binary",
+          charset
+        );
+      } else if (tmp) {
+        tmp = decodeText(tmp, "binary", "utf8");
       }
-      buffer.clear();
-      if (content !== "") buffer.push(content);
-      this._readableState.length = content.length;
-      return this;
-    };
-    var MAX_HWM = 1073741824;
-    function computeNewHighWaterMark(n) {
-      if (n > MAX_HWM) {
-        throw new ERR_OUT_OF_RANGE("size", "<= 1GiB", n);
+      if (res[p] === void 0) {
+        if (tmp) {
+          res[p] = tmp;
+        }
       } else {
-        n--;
-        n |= n >>> 1;
-        n |= n >>> 2;
-        n |= n >>> 4;
-        n |= n >>> 8;
-        n |= n >>> 16;
-        n++;
-      }
-      return n;
-    }
-    function howMuchToRead(n, state) {
-      if (n <= 0 || state.length === 0 && state.ended) return 0;
-      if ((state.state & kObjectMode) !== 0) return 1;
-      if (NumberIsNaN(n)) {
-        if (state.flowing && state.length) return state.buffer.first().length;
-        return state.length;
+        res[p][1] = tmp;
       }
-      if (n <= state.length) return n;
-      return state.ended ? state.length : 0;
+      return res;
     }
-    Readable.prototype.read = function(n) {
-      debug4("read", n);
-      if (n === void 0) {
-        n = NaN;
-      } else if (!NumberIsInteger(n)) {
-        n = NumberParseInt(n, 10);
-      }
-      const state = this._readableState;
-      const nOrig = n;
-      if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);
-      if (n !== 0) state.state &= ~kEmittedReadable;
-      if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {
-        debug4("read: emitReadable", state.length, state.ended);
-        if (state.length === 0 && state.ended) endReadable(this);
-        else emitReadable(this);
-        return null;
-      }
-      n = howMuchToRead(n, state);
-      if (n === 0 && state.ended) {
-        if (state.length === 0) endReadable(this);
-        return null;
-      }
-      let doRead = (state.state & kNeedReadable) !== 0;
-      debug4("need readable", doRead);
-      if (state.length === 0 || state.length - n < state.highWaterMark) {
-        doRead = true;
-        debug4("length less than watermark", doRead);
-      }
-      if (state.ended || state.reading || state.destroyed || state.errored || !state.constructed) {
-        doRead = false;
-        debug4("reading, ended or constructing", doRead);
-      } else if (doRead) {
-        debug4("do read");
-        state.state |= kReading | kSync;
-        if (state.length === 0) state.state |= kNeedReadable;
-        try {
-          this._read(state.highWaterMark);
-        } catch (err) {
-          errorOrDestroy(this, err);
-        }
-        state.state &= ~kSync;
-        if (!state.reading) n = howMuchToRead(nOrig, state);
+    module2.exports = parseParams;
+  }
+});
+
+// node_modules/@fastify/busboy/lib/utils/basename.js
+var require_basename = __commonJS({
+  "node_modules/@fastify/busboy/lib/utils/basename.js"(exports2, module2) {
+    "use strict";
+    module2.exports = function basename2(path7) {
+      if (typeof path7 !== "string") {
+        return "";
       }
-      let ret;
-      if (n > 0) ret = fromList(n, state);
-      else ret = null;
-      if (ret === null) {
-        state.needReadable = state.length <= state.highWaterMark;
-        n = 0;
-      } else {
-        state.length -= n;
-        if (state.multiAwaitDrain) {
-          state.awaitDrainWriters.clear();
-        } else {
-          state.awaitDrainWriters = null;
+      for (var i = path7.length - 1; i >= 0; --i) {
+        switch (path7.charCodeAt(i)) {
+          case 47:
+          // '/'
+          case 92:
+            path7 = path7.slice(i + 1);
+            return path7 === ".." || path7 === "." ? "" : path7;
         }
       }
-      if (state.length === 0) {
-        if (!state.ended) state.needReadable = true;
-        if (nOrig !== n && state.ended) endReadable(this);
-      }
-      if (ret !== null && !state.errorEmitted && !state.closeEmitted) {
-        state.dataEmitted = true;
-        this.emit("data", ret);
-      }
-      return ret;
+      return path7 === ".." || path7 === "." ? "" : path7;
     };
-    function onEofChunk(stream, state) {
-      debug4("onEofChunk");
-      if (state.ended) return;
-      if (state.decoder) {
-        const chunk = state.decoder.end();
-        if (chunk && chunk.length) {
-          state.buffer.push(chunk);
-          state.length += state.objectMode ? 1 : chunk.length;
-        }
-      }
-      state.ended = true;
-      if (state.sync) {
-        emitReadable(stream);
-      } else {
-        state.needReadable = false;
-        state.emittedReadable = true;
-        emitReadable_(stream);
-      }
-    }
-    function emitReadable(stream) {
-      const state = stream._readableState;
-      debug4("emitReadable", state.needReadable, state.emittedReadable);
-      state.needReadable = false;
-      if (!state.emittedReadable) {
-        debug4("emitReadable", state.flowing);
-        state.emittedReadable = true;
-        process2.nextTick(emitReadable_, stream);
-      }
-    }
-    function emitReadable_(stream) {
-      const state = stream._readableState;
-      debug4("emitReadable_", state.destroyed, state.length, state.ended);
-      if (!state.destroyed && !state.errored && (state.length || state.ended)) {
-        stream.emit("readable");
-        state.emittedReadable = false;
-      }
-      state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;
-      flow(stream);
-    }
-    function maybeReadMore(stream, state) {
-      if (!state.readingMore && state.constructed) {
-        state.readingMore = true;
-        process2.nextTick(maybeReadMore_, stream, state);
-      }
-    }
-    function maybeReadMore_(stream, state) {
-      while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {
-        const len = state.length;
-        debug4("maybeReadMore read 0");
-        stream.read(0);
-        if (len === state.length)
+  }
+});
+
+// node_modules/@fastify/busboy/lib/types/multipart.js
+var require_multipart2 = __commonJS({
+  "node_modules/@fastify/busboy/lib/types/multipart.js"(exports2, module2) {
+    "use strict";
+    var { Readable } = require("node:stream");
+    var { inherits } = require("node:util");
+    var Dicer = require_Dicer();
+    var parseParams = require_parseParams();
+    var decodeText = require_decodeText();
+    var basename2 = require_basename();
+    var getLimit = require_getLimit();
+    var RE_BOUNDARY = /^boundary$/i;
+    var RE_FIELD = /^form-data$/i;
+    var RE_CHARSET = /^charset$/i;
+    var RE_FILENAME = /^filename$/i;
+    var RE_NAME = /^name$/i;
+    Multipart.detect = /^multipart\/form-data/i;
+    function Multipart(boy, cfg) {
+      let i;
+      let len;
+      const self2 = this;
+      let boundary;
+      const limits = cfg.limits;
+      const isPartAFile = cfg.isPartAFile || ((fieldName, contentType, fileName) => contentType === "application/octet-stream" || fileName !== void 0);
+      const parsedConType = cfg.parsedConType || [];
+      const defCharset = cfg.defCharset || "utf8";
+      const preservePath = cfg.preservePath;
+      const fileOpts = { highWaterMark: cfg.fileHwm };
+      for (i = 0, len = parsedConType.length; i < len; ++i) {
+        if (Array.isArray(parsedConType[i]) && RE_BOUNDARY.test(parsedConType[i][0])) {
+          boundary = parsedConType[i][1];
           break;
-      }
-      state.readingMore = false;
-    }
-    Readable.prototype._read = function(n) {
-      throw new ERR_METHOD_NOT_IMPLEMENTED("_read()");
-    };
-    Readable.prototype.pipe = function(dest, pipeOpts) {
-      const src = this;
-      const state = this._readableState;
-      if (state.pipes.length === 1) {
-        if (!state.multiAwaitDrain) {
-          state.multiAwaitDrain = true;
-          state.awaitDrainWriters = new SafeSet(state.awaitDrainWriters ? [state.awaitDrainWriters] : []);
         }
       }
-      state.pipes.push(dest);
-      debug4("pipe count=%d opts=%j", state.pipes.length, pipeOpts);
-      const doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process2.stdout && dest !== process2.stderr;
-      const endFn = doEnd ? onend : unpipe;
-      if (state.endEmitted) process2.nextTick(endFn);
-      else src.once("end", endFn);
-      dest.on("unpipe", onunpipe);
-      function onunpipe(readable, unpipeInfo) {
-        debug4("onunpipe");
-        if (readable === src) {
-          if (unpipeInfo && unpipeInfo.hasUnpiped === false) {
-            unpipeInfo.hasUnpiped = true;
-            cleanup();
-          }
+      function checkFinished() {
+        if (nends === 0 && finished && !boy._done) {
+          finished = false;
+          self2.end();
         }
       }
-      function onend() {
-        debug4("onend");
-        dest.end();
-      }
-      let ondrain;
-      let cleanedUp = false;
-      function cleanup() {
-        debug4("cleanup");
-        dest.removeListener("close", onclose);
-        dest.removeListener("finish", onfinish);
-        if (ondrain) {
-          dest.removeListener("drain", ondrain);
-        }
-        dest.removeListener("error", onerror);
-        dest.removeListener("unpipe", onunpipe);
-        src.removeListener("end", onend);
-        src.removeListener("end", unpipe);
-        src.removeListener("data", ondata);
-        cleanedUp = true;
-        if (ondrain && state.awaitDrainWriters && (!dest._writableState || dest._writableState.needDrain)) ondrain();
+      if (typeof boundary !== "string") {
+        throw new Error("Multipart: Boundary not found");
       }
-      function pause() {
-        if (!cleanedUp) {
-          if (state.pipes.length === 1 && state.pipes[0] === dest) {
-            debug4("false write response, pause", 0);
-            state.awaitDrainWriters = dest;
-            state.multiAwaitDrain = false;
-          } else if (state.pipes.length > 1 && state.pipes.includes(dest)) {
-            debug4("false write response, pause", state.awaitDrainWriters.size);
-            state.awaitDrainWriters.add(dest);
-          }
-          src.pause();
+      const fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
+      const fileSizeLimit = getLimit(limits, "fileSize", Infinity);
+      const filesLimit = getLimit(limits, "files", Infinity);
+      const fieldsLimit = getLimit(limits, "fields", Infinity);
+      const partsLimit = getLimit(limits, "parts", Infinity);
+      const headerPairsLimit = getLimit(limits, "headerPairs", 2e3);
+      const headerSizeLimit = getLimit(limits, "headerSize", 80 * 1024);
+      let nfiles = 0;
+      let nfields = 0;
+      let nends = 0;
+      let curFile;
+      let curField;
+      let finished = false;
+      this._needDrain = false;
+      this._pause = false;
+      this._cb = void 0;
+      this._nparts = 0;
+      this._boy = boy;
+      const parserCfg = {
+        boundary,
+        maxHeaderPairs: headerPairsLimit,
+        maxHeaderSize: headerSizeLimit,
+        partHwm: fileOpts.highWaterMark,
+        highWaterMark: cfg.highWaterMark
+      };
+      this.parser = new Dicer(parserCfg);
+      this.parser.on("drain", function() {
+        self2._needDrain = false;
+        if (self2._cb && !self2._pause) {
+          const cb = self2._cb;
+          self2._cb = void 0;
+          cb();
         }
-        if (!ondrain) {
-          ondrain = pipeOnDrain(src, dest);
-          dest.on("drain", ondrain);
+      }).on("part", function onPart(part) {
+        if (++self2._nparts > partsLimit) {
+          self2.parser.removeListener("part", onPart);
+          self2.parser.on("part", skipPart);
+          boy.hitPartsLimit = true;
+          boy.emit("partsLimit");
+          return skipPart(part);
         }
-      }
-      src.on("data", ondata);
-      function ondata(chunk) {
-        debug4("ondata");
-        const ret = dest.write(chunk);
-        debug4("dest.write", ret);
-        if (ret === false) {
-          pause();
+        if (curField) {
+          const field = curField;
+          field.emit("end");
+          field.removeAllListeners("end");
         }
-      }
-      function onerror(er) {
-        debug4("onerror", er);
-        unpipe();
-        dest.removeListener("error", onerror);
-        if (dest.listenerCount("error") === 0) {
-          const s = dest._writableState || dest._readableState;
-          if (s && !s.errorEmitted) {
-            errorOrDestroy(dest, er);
-          } else {
-            dest.emit("error", er);
+        part.on("header", function(header) {
+          let contype;
+          let fieldname;
+          let parsed;
+          let charset;
+          let encoding;
+          let filename;
+          let nsize = 0;
+          if (header["content-type"]) {
+            parsed = parseParams(header["content-type"][0]);
+            if (parsed[0]) {
+              contype = parsed[0].toLowerCase();
+              for (i = 0, len = parsed.length; i < len; ++i) {
+                if (RE_CHARSET.test(parsed[i][0])) {
+                  charset = parsed[i][1].toLowerCase();
+                  break;
+                }
+              }
+            }
           }
-        }
-      }
-      prependListener(dest, "error", onerror);
-      function onclose() {
-        dest.removeListener("finish", onfinish);
-        unpipe();
-      }
-      dest.once("close", onclose);
-      function onfinish() {
-        debug4("onfinish");
-        dest.removeListener("close", onclose);
-        unpipe();
-      }
-      dest.once("finish", onfinish);
-      function unpipe() {
-        debug4("unpipe");
-        src.unpipe(dest);
-      }
-      dest.emit("pipe", src);
-      if (dest.writableNeedDrain === true) {
-        pause();
-      } else if (!state.flowing) {
-        debug4("pipe resume");
-        src.resume();
-      }
-      return dest;
-    };
-    function pipeOnDrain(src, dest) {
-      return function pipeOnDrainFunctionResult() {
-        const state = src._readableState;
-        if (state.awaitDrainWriters === dest) {
-          debug4("pipeOnDrain", 1);
-          state.awaitDrainWriters = null;
-        } else if (state.multiAwaitDrain) {
-          debug4("pipeOnDrain", state.awaitDrainWriters.size);
-          state.awaitDrainWriters.delete(dest);
-        }
-        if ((!state.awaitDrainWriters || state.awaitDrainWriters.size === 0) && src.listenerCount("data")) {
-          src.resume();
-        }
-      };
-    }
-    Readable.prototype.unpipe = function(dest) {
-      const state = this._readableState;
-      const unpipeInfo = {
-        hasUnpiped: false
-      };
-      if (state.pipes.length === 0) return this;
-      if (!dest) {
-        const dests = state.pipes;
-        state.pipes = [];
-        this.pause();
-        for (let i = 0; i < dests.length; i++)
-          dests[i].emit("unpipe", this, {
-            hasUnpiped: false
-          });
-        return this;
-      }
-      const index = ArrayPrototypeIndexOf(state.pipes, dest);
-      if (index === -1) return this;
-      state.pipes.splice(index, 1);
-      if (state.pipes.length === 0) this.pause();
-      dest.emit("unpipe", this, unpipeInfo);
-      return this;
-    };
-    Readable.prototype.on = function(ev, fn) {
-      const res = Stream.prototype.on.call(this, ev, fn);
-      const state = this._readableState;
-      if (ev === "data") {
-        state.readableListening = this.listenerCount("readable") > 0;
-        if (state.flowing !== false) this.resume();
-      } else if (ev === "readable") {
-        if (!state.endEmitted && !state.readableListening) {
-          state.readableListening = state.needReadable = true;
-          state.flowing = false;
-          state.emittedReadable = false;
-          debug4("on readable", state.length, state.reading);
-          if (state.length) {
-            emitReadable(this);
-          } else if (!state.reading) {
-            process2.nextTick(nReadingNextTick, this);
+          if (contype === void 0) {
+            contype = "text/plain";
           }
-        }
-      }
-      return res;
-    };
-    Readable.prototype.addListener = Readable.prototype.on;
-    Readable.prototype.removeListener = function(ev, fn) {
-      const res = Stream.prototype.removeListener.call(this, ev, fn);
-      if (ev === "readable") {
-        process2.nextTick(updateReadableListening, this);
-      }
-      return res;
-    };
-    Readable.prototype.off = Readable.prototype.removeListener;
-    Readable.prototype.removeAllListeners = function(ev) {
-      const res = Stream.prototype.removeAllListeners.apply(this, arguments);
-      if (ev === "readable" || ev === void 0) {
-        process2.nextTick(updateReadableListening, this);
-      }
-      return res;
-    };
-    function updateReadableListening(self2) {
-      const state = self2._readableState;
-      state.readableListening = self2.listenerCount("readable") > 0;
-      if (state.resumeScheduled && state[kPaused] === false) {
-        state.flowing = true;
-      } else if (self2.listenerCount("data") > 0) {
-        self2.resume();
-      } else if (!state.readableListening) {
-        state.flowing = null;
-      }
-    }
-    function nReadingNextTick(self2) {
-      debug4("readable nexttick read 0");
-      self2.read(0);
-    }
-    Readable.prototype.resume = function() {
-      const state = this._readableState;
-      if (!state.flowing) {
-        debug4("resume");
-        state.flowing = !state.readableListening;
-        resume(this, state);
-      }
-      state[kPaused] = false;
-      return this;
-    };
-    function resume(stream, state) {
-      if (!state.resumeScheduled) {
-        state.resumeScheduled = true;
-        process2.nextTick(resume_, stream, state);
-      }
-    }
-    function resume_(stream, state) {
-      debug4("resume", state.reading);
-      if (!state.reading) {
-        stream.read(0);
-      }
-      state.resumeScheduled = false;
-      stream.emit("resume");
-      flow(stream);
-      if (state.flowing && !state.reading) stream.read(0);
-    }
-    Readable.prototype.pause = function() {
-      debug4("call pause flowing=%j", this._readableState.flowing);
-      if (this._readableState.flowing !== false) {
-        debug4("pause");
-        this._readableState.flowing = false;
-        this.emit("pause");
-      }
-      this._readableState[kPaused] = true;
-      return this;
-    };
-    function flow(stream) {
-      const state = stream._readableState;
-      debug4("flow", state.flowing);
-      while (state.flowing && stream.read() !== null) ;
-    }
-    Readable.prototype.wrap = function(stream) {
-      let paused = false;
-      stream.on("data", (chunk) => {
-        if (!this.push(chunk) && stream.pause) {
-          paused = true;
-          stream.pause();
-        }
-      });
-      stream.on("end", () => {
-        this.push(null);
-      });
-      stream.on("error", (err) => {
-        errorOrDestroy(this, err);
-      });
-      stream.on("close", () => {
-        this.destroy();
-      });
-      stream.on("destroy", () => {
-        this.destroy();
-      });
-      this._read = () => {
-        if (paused && stream.resume) {
-          paused = false;
-          stream.resume();
-        }
-      };
-      const streamKeys = ObjectKeys(stream);
-      for (let j = 1; j < streamKeys.length; j++) {
-        const i = streamKeys[j];
-        if (this[i] === void 0 && typeof stream[i] === "function") {
-          this[i] = stream[i].bind(stream);
-        }
-      }
-      return this;
-    };
-    Readable.prototype[SymbolAsyncIterator] = function() {
-      return streamToAsyncIterator(this);
-    };
-    Readable.prototype.iterator = function(options) {
-      if (options !== void 0) {
-        validateObject(options, "options");
-      }
-      return streamToAsyncIterator(this, options);
-    };
-    function streamToAsyncIterator(stream, options) {
-      if (typeof stream.read !== "function") {
-        stream = Readable.wrap(stream, {
-          objectMode: true
-        });
-      }
-      const iter = createAsyncIterator(stream, options);
-      iter.stream = stream;
-      return iter;
-    }
-    async function* createAsyncIterator(stream, options) {
-      let callback = nop;
-      function next(resolve5) {
-        if (this === stream) {
-          callback();
-          callback = nop;
-        } else {
-          callback = resolve5;
-        }
-      }
-      stream.on("readable", next);
-      let error3;
-      const cleanup = eos(
-        stream,
-        {
-          writable: false
-        },
-        (err) => {
-          error3 = err ? aggregateTwoErrors(error3, err) : null;
-          callback();
-          callback = nop;
-        }
-      );
-      try {
-        while (true) {
-          const chunk = stream.destroyed ? null : stream.read();
-          if (chunk !== null) {
-            yield chunk;
-          } else if (error3) {
-            throw error3;
-          } else if (error3 === null) {
-            return;
+          if (charset === void 0) {
+            charset = defCharset;
+          }
+          if (header["content-disposition"]) {
+            parsed = parseParams(header["content-disposition"][0]);
+            if (!RE_FIELD.test(parsed[0])) {
+              return skipPart(part);
+            }
+            for (i = 0, len = parsed.length; i < len; ++i) {
+              if (RE_NAME.test(parsed[i][0])) {
+                fieldname = parsed[i][1];
+              } else if (RE_FILENAME.test(parsed[i][0])) {
+                filename = parsed[i][1];
+                if (!preservePath) {
+                  filename = basename2(filename);
+                }
+              }
+            }
           } else {
-            await new Promise2(next);
+            return skipPart(part);
           }
-        }
-      } catch (err) {
-        error3 = aggregateTwoErrors(error3, err);
-        throw error3;
-      } finally {
-        if ((error3 || (options === null || options === void 0 ? void 0 : options.destroyOnReturn) !== false) && (error3 === void 0 || stream._readableState.autoDestroy)) {
-          destroyImpl.destroyer(stream, null);
-        } else {
-          stream.off("readable", next);
-          cleanup();
-        }
-      }
-    }
-    ObjectDefineProperties(Readable.prototype, {
-      readable: {
-        __proto__: null,
-        get() {
-          const r = this._readableState;
-          return !!r && r.readable !== false && !r.destroyed && !r.errorEmitted && !r.endEmitted;
-        },
-        set(val) {
-          if (this._readableState) {
-            this._readableState.readable = !!val;
+          if (header["content-transfer-encoding"]) {
+            encoding = header["content-transfer-encoding"][0].toLowerCase();
+          } else {
+            encoding = "7bit";
           }
-        }
-      },
-      readableDidRead: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return this._readableState.dataEmitted;
-        }
-      },
-      readableAborted: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return !!(this._readableState.readable !== false && (this._readableState.destroyed || this._readableState.errored) && !this._readableState.endEmitted);
-        }
-      },
-      readableHighWaterMark: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return this._readableState.highWaterMark;
-        }
-      },
-      readableBuffer: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return this._readableState && this._readableState.buffer;
-        }
-      },
-      readableFlowing: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return this._readableState.flowing;
-        },
-        set: function(state) {
-          if (this._readableState) {
-            this._readableState.flowing = state;
+          let onData, onEnd;
+          if (isPartAFile(fieldname, contype, filename)) {
+            if (nfiles === filesLimit) {
+              if (!boy.hitFilesLimit) {
+                boy.hitFilesLimit = true;
+                boy.emit("filesLimit");
+              }
+              return skipPart(part);
+            }
+            ++nfiles;
+            if (boy.listenerCount("file") === 0) {
+              self2.parser._ignore();
+              return;
+            }
+            ++nends;
+            const file = new FileStream(fileOpts);
+            curFile = file;
+            file.on("end", function() {
+              --nends;
+              self2._pause = false;
+              checkFinished();
+              if (self2._cb && !self2._needDrain) {
+                const cb = self2._cb;
+                self2._cb = void 0;
+                cb();
+              }
+            });
+            file._read = function(n) {
+              if (!self2._pause) {
+                return;
+              }
+              self2._pause = false;
+              if (self2._cb && !self2._needDrain) {
+                const cb = self2._cb;
+                self2._cb = void 0;
+                cb();
+              }
+            };
+            boy.emit("file", fieldname, file, filename, encoding, contype);
+            onData = function(data) {
+              if ((nsize += data.length) > fileSizeLimit) {
+                const extralen = fileSizeLimit - nsize + data.length;
+                if (extralen > 0) {
+                  file.push(data.slice(0, extralen));
+                }
+                file.truncated = true;
+                file.bytesRead = fileSizeLimit;
+                part.removeAllListeners("data");
+                file.emit("limit");
+                return;
+              } else if (!file.push(data)) {
+                self2._pause = true;
+              }
+              file.bytesRead = nsize;
+            };
+            onEnd = function() {
+              curFile = void 0;
+              file.push(null);
+            };
+          } else {
+            if (nfields === fieldsLimit) {
+              if (!boy.hitFieldsLimit) {
+                boy.hitFieldsLimit = true;
+                boy.emit("fieldsLimit");
+              }
+              return skipPart(part);
+            }
+            ++nfields;
+            ++nends;
+            let buffer = "";
+            let truncated = false;
+            curField = part;
+            onData = function(data) {
+              if ((nsize += data.length) > fieldSizeLimit) {
+                const extralen = fieldSizeLimit - (nsize - data.length);
+                buffer += data.toString("binary", 0, extralen);
+                truncated = true;
+                part.removeAllListeners("data");
+              } else {
+                buffer += data.toString("binary");
+              }
+            };
+            onEnd = function() {
+              curField = void 0;
+              if (buffer.length) {
+                buffer = decodeText(buffer, "binary", charset);
+              }
+              boy.emit("field", fieldname, buffer, false, truncated, encoding, contype);
+              --nends;
+              checkFinished();
+            };
           }
-        }
-      },
-      readableLength: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState.length;
-        }
-      },
-      readableObjectMode: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState ? this._readableState.objectMode : false;
-        }
-      },
-      readableEncoding: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState ? this._readableState.encoding : null;
-        }
-      },
-      errored: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState ? this._readableState.errored : null;
-        }
-      },
-      closed: {
-        __proto__: null,
-        get() {
-          return this._readableState ? this._readableState.closed : false;
-        }
-      },
-      destroyed: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState ? this._readableState.destroyed : false;
-        },
-        set(value) {
-          if (!this._readableState) {
-            return;
+          part._readableState.sync = false;
+          part.on("data", onData);
+          part.on("end", onEnd);
+        }).on("error", function(err) {
+          if (curFile) {
+            curFile.emit("error", err);
           }
-          this._readableState.destroyed = value;
-        }
-      },
-      readableEnded: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState ? this._readableState.endEmitted : false;
-        }
-      }
-    });
-    ObjectDefineProperties(ReadableState.prototype, {
-      // Legacy getter for `pipesCount`.
-      pipesCount: {
-        __proto__: null,
-        get() {
-          return this.pipes.length;
-        }
-      },
-      // Legacy property for `paused`.
-      paused: {
-        __proto__: null,
-        get() {
-          return this[kPaused] !== false;
-        },
-        set(value) {
-          this[kPaused] = !!value;
-        }
-      }
-    });
-    Readable._fromList = fromList;
-    function fromList(n, state) {
-      if (state.length === 0) return null;
-      let ret;
-      if (state.objectMode) ret = state.buffer.shift();
-      else if (!n || n >= state.length) {
-        if (state.decoder) ret = state.buffer.join("");
-        else if (state.buffer.length === 1) ret = state.buffer.first();
-        else ret = state.buffer.concat(state.length);
-        state.buffer.clear();
+        });
+      }).on("error", function(err) {
+        boy.emit("error", err);
+      }).on("finish", function() {
+        finished = true;
+        checkFinished();
+      });
+    }
+    Multipart.prototype.write = function(chunk, cb) {
+      const r = this.parser.write(chunk);
+      if (r && !this._pause) {
+        cb();
       } else {
-        ret = state.buffer.consume(n, state.decoder);
+        this._needDrain = !r;
+        this._cb = cb;
       }
-      return ret;
-    }
-    function endReadable(stream) {
-      const state = stream._readableState;
-      debug4("endReadable", state.endEmitted);
-      if (!state.endEmitted) {
-        state.ended = true;
-        process2.nextTick(endReadableNT, state, stream);
+    };
+    Multipart.prototype.end = function() {
+      const self2 = this;
+      if (self2.parser.writable) {
+        self2.parser.end();
+      } else if (!self2._boy._done) {
+        process.nextTick(function() {
+          self2._boy._done = true;
+          self2._boy.emit("finish");
+        });
       }
+    };
+    function skipPart(part) {
+      part.resume();
+    }
+    function FileStream(opts) {
+      Readable.call(this, opts);
+      this.bytesRead = 0;
+      this.truncated = false;
+    }
+    inherits(FileStream, Readable);
+    FileStream.prototype._read = function(n) {
+    };
+    module2.exports = Multipart;
+  }
+});
+
+// node_modules/@fastify/busboy/lib/utils/Decoder.js
+var require_Decoder = __commonJS({
+  "node_modules/@fastify/busboy/lib/utils/Decoder.js"(exports2, module2) {
+    "use strict";
+    var RE_PLUS = /\+/g;
+    var HEX = [
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0
+    ];
+    function Decoder() {
+      this.buffer = void 0;
     }
-    function endReadableNT(state, stream) {
-      debug4("endReadableNT", state.endEmitted, state.length);
-      if (!state.errored && !state.closeEmitted && !state.endEmitted && state.length === 0) {
-        state.endEmitted = true;
-        stream.emit("end");
-        if (stream.writable && stream.allowHalfOpen === false) {
-          process2.nextTick(endWritableNT, stream);
-        } else if (state.autoDestroy) {
-          const wState = stream._writableState;
-          const autoDestroy = !wState || wState.autoDestroy && // We don't expect the writable to ever 'finish'
-          // if writable is explicitly set to false.
-          (wState.finished || wState.writable === false);
-          if (autoDestroy) {
-            stream.destroy();
+    Decoder.prototype.write = function(str2) {
+      str2 = str2.replace(RE_PLUS, " ");
+      let res = "";
+      let i = 0;
+      let p = 0;
+      const len = str2.length;
+      for (; i < len; ++i) {
+        if (this.buffer !== void 0) {
+          if (!HEX[str2.charCodeAt(i)]) {
+            res += "%" + this.buffer;
+            this.buffer = void 0;
+            --i;
+          } else {
+            this.buffer += str2[i];
+            ++p;
+            if (this.buffer.length === 2) {
+              res += String.fromCharCode(parseInt(this.buffer, 16));
+              this.buffer = void 0;
+            }
+          }
+        } else if (str2[i] === "%") {
+          if (i > p) {
+            res += str2.substring(p, i);
+            p = i;
           }
+          this.buffer = "";
+          ++p;
         }
       }
-    }
-    function endWritableNT(stream) {
-      const writable = stream.writable && !stream.writableEnded && !stream.destroyed;
-      if (writable) {
-        stream.end();
+      if (p < len && this.buffer === void 0) {
+        res += str2.substring(p);
       }
-    }
-    Readable.from = function(iterable, opts) {
-      return from(Readable, iterable, opts);
-    };
-    var webStreamsAdapters;
-    function lazyWebStreams() {
-      if (webStreamsAdapters === void 0) webStreamsAdapters = {};
-      return webStreamsAdapters;
-    }
-    Readable.fromWeb = function(readableStream, options) {
-      return lazyWebStreams().newStreamReadableFromReadableStream(readableStream, options);
-    };
-    Readable.toWeb = function(streamReadable, options) {
-      return lazyWebStreams().newReadableStreamFromStreamReadable(streamReadable, options);
+      return res;
     };
-    Readable.wrap = function(src, options) {
-      var _ref, _src$readableObjectMo;
-      return new Readable({
-        objectMode: (_ref = (_src$readableObjectMo = src.readableObjectMode) !== null && _src$readableObjectMo !== void 0 ? _src$readableObjectMo : src.objectMode) !== null && _ref !== void 0 ? _ref : true,
-        ...options,
-        destroy(err, callback) {
-          destroyImpl.destroyer(src, err);
-          callback(err);
-        }
-      }).wrap(src);
+    Decoder.prototype.reset = function() {
+      this.buffer = void 0;
     };
+    module2.exports = Decoder;
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/writable.js
-var require_writable = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/writable.js"(exports2, module2) {
-    var process2 = require_process();
-    var {
-      ArrayPrototypeSlice,
-      Error: Error2,
-      FunctionPrototypeSymbolHasInstance,
-      ObjectDefineProperty,
-      ObjectDefineProperties,
-      ObjectSetPrototypeOf,
-      StringPrototypeToLowerCase,
-      Symbol: Symbol2,
-      SymbolHasInstance
-    } = require_primordials();
-    module2.exports = Writable;
-    Writable.WritableState = WritableState;
-    var { EventEmitter: EE } = require("events");
-    var Stream = require_legacy().Stream;
-    var { Buffer: Buffer2 } = require("buffer");
-    var destroyImpl = require_destroy2();
-    var { addAbortSignal } = require_add_abort_signal();
-    var { getHighWaterMark, getDefaultHighWaterMark } = require_state3();
-    var {
-      ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,
-      ERR_METHOD_NOT_IMPLEMENTED,
-      ERR_MULTIPLE_CALLBACK,
-      ERR_STREAM_CANNOT_PIPE,
-      ERR_STREAM_DESTROYED,
-      ERR_STREAM_ALREADY_FINISHED,
-      ERR_STREAM_NULL_VALUES,
-      ERR_STREAM_WRITE_AFTER_END,
-      ERR_UNKNOWN_ENCODING
-    } = require_errors5().codes;
-    var { errorOrDestroy } = destroyImpl;
-    ObjectSetPrototypeOf(Writable.prototype, Stream.prototype);
-    ObjectSetPrototypeOf(Writable, Stream);
-    function nop() {
-    }
-    var kOnFinished = Symbol2("kOnFinished");
-    function WritableState(options, stream, isDuplex) {
-      if (typeof isDuplex !== "boolean") isDuplex = stream instanceof require_duplex();
-      this.objectMode = !!(options && options.objectMode);
-      if (isDuplex) this.objectMode = this.objectMode || !!(options && options.writableObjectMode);
-      this.highWaterMark = options ? getHighWaterMark(this, options, "writableHighWaterMark", isDuplex) : getDefaultHighWaterMark(false);
-      this.finalCalled = false;
-      this.needDrain = false;
-      this.ending = false;
-      this.ended = false;
-      this.finished = false;
-      this.destroyed = false;
-      const noDecode = !!(options && options.decodeStrings === false);
-      this.decodeStrings = !noDecode;
-      this.defaultEncoding = options && options.defaultEncoding || "utf8";
-      this.length = 0;
-      this.writing = false;
-      this.corked = 0;
-      this.sync = true;
-      this.bufferProcessing = false;
-      this.onwrite = onwrite.bind(void 0, stream);
-      this.writecb = null;
-      this.writelen = 0;
-      this.afterWriteTickInfo = null;
-      resetBuffer(this);
-      this.pendingcb = 0;
-      this.constructed = true;
-      this.prefinished = false;
-      this.errorEmitted = false;
-      this.emitClose = !options || options.emitClose !== false;
-      this.autoDestroy = !options || options.autoDestroy !== false;
-      this.errored = null;
-      this.closed = false;
-      this.closeEmitted = false;
-      this[kOnFinished] = [];
-    }
-    function resetBuffer(state) {
-      state.buffered = [];
-      state.bufferedIndex = 0;
-      state.allBuffers = true;
-      state.allNoop = true;
-    }
-    WritableState.prototype.getBuffer = function getBuffer() {
-      return ArrayPrototypeSlice(this.buffered, this.bufferedIndex);
-    };
-    ObjectDefineProperty(WritableState.prototype, "bufferedRequestCount", {
-      __proto__: null,
-      get() {
-        return this.buffered.length - this.bufferedIndex;
+// node_modules/@fastify/busboy/lib/types/urlencoded.js
+var require_urlencoded = __commonJS({
+  "node_modules/@fastify/busboy/lib/types/urlencoded.js"(exports2, module2) {
+    "use strict";
+    var Decoder = require_Decoder();
+    var decodeText = require_decodeText();
+    var getLimit = require_getLimit();
+    var RE_CHARSET = /^charset$/i;
+    UrlEncoded.detect = /^application\/x-www-form-urlencoded/i;
+    function UrlEncoded(boy, cfg) {
+      const limits = cfg.limits;
+      const parsedConType = cfg.parsedConType;
+      this.boy = boy;
+      this.fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
+      this.fieldNameSizeLimit = getLimit(limits, "fieldNameSize", 100);
+      this.fieldsLimit = getLimit(limits, "fields", Infinity);
+      let charset;
+      for (var i = 0, len = parsedConType.length; i < len; ++i) {
+        if (Array.isArray(parsedConType[i]) && RE_CHARSET.test(parsedConType[i][0])) {
+          charset = parsedConType[i][1].toLowerCase();
+          break;
+        }
       }
-    });
-    function Writable(options) {
-      const isDuplex = this instanceof require_duplex();
-      if (!isDuplex && !FunctionPrototypeSymbolHasInstance(Writable, this)) return new Writable(options);
-      this._writableState = new WritableState(options, this, isDuplex);
-      if (options) {
-        if (typeof options.write === "function") this._write = options.write;
-        if (typeof options.writev === "function") this._writev = options.writev;
-        if (typeof options.destroy === "function") this._destroy = options.destroy;
-        if (typeof options.final === "function") this._final = options.final;
-        if (typeof options.construct === "function") this._construct = options.construct;
-        if (options.signal) addAbortSignal(options.signal, this);
+      if (charset === void 0) {
+        charset = cfg.defCharset || "utf8";
       }
-      Stream.call(this, options);
-      destroyImpl.construct(this, () => {
-        const state = this._writableState;
-        if (!state.writing) {
-          clearBuffer(this, state);
-        }
-        finishMaybe(this, state);
-      });
+      this.decoder = new Decoder();
+      this.charset = charset;
+      this._fields = 0;
+      this._state = "key";
+      this._checkingBytes = true;
+      this._bytesKey = 0;
+      this._bytesVal = 0;
+      this._key = "";
+      this._val = "";
+      this._keyTrunc = false;
+      this._valTrunc = false;
+      this._hitLimit = false;
     }
-    ObjectDefineProperty(Writable, SymbolHasInstance, {
-      __proto__: null,
-      value: function(object) {
-        if (FunctionPrototypeSymbolHasInstance(this, object)) return true;
-        if (this !== Writable) return false;
-        return object && object._writableState instanceof WritableState;
-      }
-    });
-    Writable.prototype.pipe = function() {
-      errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());
-    };
-    function _write(stream, chunk, encoding, cb) {
-      const state = stream._writableState;
-      if (typeof encoding === "function") {
-        cb = encoding;
-        encoding = state.defaultEncoding;
-      } else {
-        if (!encoding) encoding = state.defaultEncoding;
-        else if (encoding !== "buffer" && !Buffer2.isEncoding(encoding)) throw new ERR_UNKNOWN_ENCODING(encoding);
-        if (typeof cb !== "function") cb = nop;
+    UrlEncoded.prototype.write = function(data, cb) {
+      if (this._fields === this.fieldsLimit) {
+        if (!this.boy.hitFieldsLimit) {
+          this.boy.hitFieldsLimit = true;
+          this.boy.emit("fieldsLimit");
+        }
+        return cb();
       }
-      if (chunk === null) {
-        throw new ERR_STREAM_NULL_VALUES();
-      } else if (!state.objectMode) {
-        if (typeof chunk === "string") {
-          if (state.decodeStrings !== false) {
-            chunk = Buffer2.from(chunk, encoding);
-            encoding = "buffer";
+      let idxeq;
+      let idxamp;
+      let i;
+      let p = 0;
+      const len = data.length;
+      while (p < len) {
+        if (this._state === "key") {
+          idxeq = idxamp = void 0;
+          for (i = p; i < len; ++i) {
+            if (!this._checkingBytes) {
+              ++p;
+            }
+            if (data[i] === 61) {
+              idxeq = i;
+              break;
+            } else if (data[i] === 38) {
+              idxamp = i;
+              break;
+            }
+            if (this._checkingBytes && this._bytesKey === this.fieldNameSizeLimit) {
+              this._hitLimit = true;
+              break;
+            } else if (this._checkingBytes) {
+              ++this._bytesKey;
+            }
+          }
+          if (idxeq !== void 0) {
+            if (idxeq > p) {
+              this._key += this.decoder.write(data.toString("binary", p, idxeq));
+            }
+            this._state = "val";
+            this._hitLimit = false;
+            this._checkingBytes = true;
+            this._val = "";
+            this._bytesVal = 0;
+            this._valTrunc = false;
+            this.decoder.reset();
+            p = idxeq + 1;
+          } else if (idxamp !== void 0) {
+            ++this._fields;
+            let key;
+            const keyTrunc = this._keyTrunc;
+            if (idxamp > p) {
+              key = this._key += this.decoder.write(data.toString("binary", p, idxamp));
+            } else {
+              key = this._key;
+            }
+            this._hitLimit = false;
+            this._checkingBytes = true;
+            this._key = "";
+            this._bytesKey = 0;
+            this._keyTrunc = false;
+            this.decoder.reset();
+            if (key.length) {
+              this.boy.emit(
+                "field",
+                decodeText(key, "binary", this.charset),
+                "",
+                keyTrunc,
+                false
+              );
+            }
+            p = idxamp + 1;
+            if (this._fields === this.fieldsLimit) {
+              return cb();
+            }
+          } else if (this._hitLimit) {
+            if (i > p) {
+              this._key += this.decoder.write(data.toString("binary", p, i));
+            }
+            p = i;
+            if ((this._bytesKey = this._key.length) === this.fieldNameSizeLimit) {
+              this._checkingBytes = false;
+              this._keyTrunc = true;
+            }
+          } else {
+            if (p < len) {
+              this._key += this.decoder.write(data.toString("binary", p));
+            }
+            p = len;
           }
-        } else if (chunk instanceof Buffer2) {
-          encoding = "buffer";
-        } else if (Stream._isUint8Array(chunk)) {
-          chunk = Stream._uint8ArrayToBuffer(chunk);
-          encoding = "buffer";
         } else {
-          throw new ERR_INVALID_ARG_TYPE2("chunk", ["string", "Buffer", "Uint8Array"], chunk);
+          idxamp = void 0;
+          for (i = p; i < len; ++i) {
+            if (!this._checkingBytes) {
+              ++p;
+            }
+            if (data[i] === 38) {
+              idxamp = i;
+              break;
+            }
+            if (this._checkingBytes && this._bytesVal === this.fieldSizeLimit) {
+              this._hitLimit = true;
+              break;
+            } else if (this._checkingBytes) {
+              ++this._bytesVal;
+            }
+          }
+          if (idxamp !== void 0) {
+            ++this._fields;
+            if (idxamp > p) {
+              this._val += this.decoder.write(data.toString("binary", p, idxamp));
+            }
+            this.boy.emit(
+              "field",
+              decodeText(this._key, "binary", this.charset),
+              decodeText(this._val, "binary", this.charset),
+              this._keyTrunc,
+              this._valTrunc
+            );
+            this._state = "key";
+            this._hitLimit = false;
+            this._checkingBytes = true;
+            this._key = "";
+            this._bytesKey = 0;
+            this._keyTrunc = false;
+            this.decoder.reset();
+            p = idxamp + 1;
+            if (this._fields === this.fieldsLimit) {
+              return cb();
+            }
+          } else if (this._hitLimit) {
+            if (i > p) {
+              this._val += this.decoder.write(data.toString("binary", p, i));
+            }
+            p = i;
+            if (this._val === "" && this.fieldSizeLimit === 0 || (this._bytesVal = this._val.length) === this.fieldSizeLimit) {
+              this._checkingBytes = false;
+              this._valTrunc = true;
+            }
+          } else {
+            if (p < len) {
+              this._val += this.decoder.write(data.toString("binary", p));
+            }
+            p = len;
+          }
         }
       }
-      let err;
-      if (state.ending) {
-        err = new ERR_STREAM_WRITE_AFTER_END();
-      } else if (state.destroyed) {
-        err = new ERR_STREAM_DESTROYED("write");
+      cb();
+    };
+    UrlEncoded.prototype.end = function() {
+      if (this.boy._done) {
+        return;
       }
-      if (err) {
-        process2.nextTick(cb, err);
-        errorOrDestroy(stream, err, true);
-        return err;
+      if (this._state === "key" && this._key.length > 0) {
+        this.boy.emit(
+          "field",
+          decodeText(this._key, "binary", this.charset),
+          "",
+          this._keyTrunc,
+          false
+        );
+      } else if (this._state === "val") {
+        this.boy.emit(
+          "field",
+          decodeText(this._key, "binary", this.charset),
+          decodeText(this._val, "binary", this.charset),
+          this._keyTrunc,
+          this._valTrunc
+        );
       }
-      state.pendingcb++;
-      return writeOrBuffer(stream, state, chunk, encoding, cb);
-    }
-    Writable.prototype.write = function(chunk, encoding, cb) {
-      return _write(this, chunk, encoding, cb) === true;
-    };
-    Writable.prototype.cork = function() {
-      this._writableState.corked++;
+      this.boy._done = true;
+      this.boy.emit("finish");
     };
-    Writable.prototype.uncork = function() {
-      const state = this._writableState;
-      if (state.corked) {
-        state.corked--;
-        if (!state.writing) clearBuffer(this, state);
+    module2.exports = UrlEncoded;
+  }
+});
+
+// node_modules/@fastify/busboy/lib/main.js
+var require_main = __commonJS({
+  "node_modules/@fastify/busboy/lib/main.js"(exports2, module2) {
+    "use strict";
+    var WritableStream = require("node:stream").Writable;
+    var { inherits } = require("node:util");
+    var Dicer = require_Dicer();
+    var MultipartParser = require_multipart2();
+    var UrlencodedParser = require_urlencoded();
+    var parseParams = require_parseParams();
+    function Busboy(opts) {
+      if (!(this instanceof Busboy)) {
+        return new Busboy(opts);
       }
-    };
-    Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {
-      if (typeof encoding === "string") encoding = StringPrototypeToLowerCase(encoding);
-      if (!Buffer2.isEncoding(encoding)) throw new ERR_UNKNOWN_ENCODING(encoding);
-      this._writableState.defaultEncoding = encoding;
-      return this;
-    };
-    function writeOrBuffer(stream, state, chunk, encoding, callback) {
-      const len = state.objectMode ? 1 : chunk.length;
-      state.length += len;
-      const ret = state.length < state.highWaterMark;
-      if (!ret) state.needDrain = true;
-      if (state.writing || state.corked || state.errored || !state.constructed) {
-        state.buffered.push({
-          chunk,
-          encoding,
-          callback
-        });
-        if (state.allBuffers && encoding !== "buffer") {
-          state.allBuffers = false;
-        }
-        if (state.allNoop && callback !== nop) {
-          state.allNoop = false;
-        }
-      } else {
-        state.writelen = len;
-        state.writecb = callback;
-        state.writing = true;
-        state.sync = true;
-        stream._write(chunk, encoding, state.onwrite);
-        state.sync = false;
+      if (typeof opts !== "object") {
+        throw new TypeError("Busboy expected an options-Object.");
       }
-      return ret && !state.errored && !state.destroyed;
-    }
-    function doWrite(stream, state, writev, len, chunk, encoding, cb) {
-      state.writelen = len;
-      state.writecb = cb;
-      state.writing = true;
-      state.sync = true;
-      if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED("write"));
-      else if (writev) stream._writev(chunk, state.onwrite);
-      else stream._write(chunk, encoding, state.onwrite);
-      state.sync = false;
-    }
-    function onwriteError(stream, state, er, cb) {
-      --state.pendingcb;
-      cb(er);
-      errorBuffer(state);
-      errorOrDestroy(stream, er);
-    }
-    function onwrite(stream, er) {
-      const state = stream._writableState;
-      const sync = state.sync;
-      const cb = state.writecb;
-      if (typeof cb !== "function") {
-        errorOrDestroy(stream, new ERR_MULTIPLE_CALLBACK());
-        return;
+      if (typeof opts.headers !== "object") {
+        throw new TypeError("Busboy expected an options-Object with headers-attribute.");
       }
-      state.writing = false;
-      state.writecb = null;
-      state.length -= state.writelen;
-      state.writelen = 0;
-      if (er) {
-        er.stack;
-        if (!state.errored) {
-          state.errored = er;
-        }
-        if (stream._readableState && !stream._readableState.errored) {
-          stream._readableState.errored = er;
-        }
-        if (sync) {
-          process2.nextTick(onwriteError, stream, state, er, cb);
-        } else {
-          onwriteError(stream, state, er, cb);
-        }
-      } else {
-        if (state.buffered.length > state.bufferedIndex) {
-          clearBuffer(stream, state);
-        }
-        if (sync) {
-          if (state.afterWriteTickInfo !== null && state.afterWriteTickInfo.cb === cb) {
-            state.afterWriteTickInfo.count++;
-          } else {
-            state.afterWriteTickInfo = {
-              count: 1,
-              cb,
-              stream,
-              state
-            };
-            process2.nextTick(afterWriteTick, state.afterWriteTickInfo);
-          }
-        } else {
-          afterWrite(stream, state, 1, cb);
-        }
+      if (typeof opts.headers["content-type"] !== "string") {
+        throw new TypeError("Missing Content-Type-header.");
       }
+      const {
+        headers,
+        ...streamOptions
+      } = opts;
+      this.opts = {
+        autoDestroy: false,
+        ...streamOptions
+      };
+      WritableStream.call(this, this.opts);
+      this._done = false;
+      this._parser = this.getParserByHeaders(headers);
+      this._finished = false;
     }
-    function afterWriteTick({ stream, state, count, cb }) {
-      state.afterWriteTickInfo = null;
-      return afterWrite(stream, state, count, cb);
-    }
-    function afterWrite(stream, state, count, cb) {
-      const needDrain = !state.ending && !stream.destroyed && state.length === 0 && state.needDrain;
-      if (needDrain) {
-        state.needDrain = false;
-        stream.emit("drain");
+    inherits(Busboy, WritableStream);
+    Busboy.prototype.emit = function(ev) {
+      if (ev === "finish") {
+        if (!this._done) {
+          this._parser?.end();
+          return;
+        } else if (this._finished) {
+          return;
+        }
+        this._finished = true;
       }
-      while (count-- > 0) {
-        state.pendingcb--;
-        cb();
+      WritableStream.prototype.emit.apply(this, arguments);
+    };
+    Busboy.prototype.getParserByHeaders = function(headers) {
+      const parsed = parseParams(headers["content-type"]);
+      const cfg = {
+        defCharset: this.opts.defCharset,
+        fileHwm: this.opts.fileHwm,
+        headers,
+        highWaterMark: this.opts.highWaterMark,
+        isPartAFile: this.opts.isPartAFile,
+        limits: this.opts.limits,
+        parsedConType: parsed,
+        preservePath: this.opts.preservePath
+      };
+      if (MultipartParser.detect.test(parsed[0])) {
+        return new MultipartParser(this, cfg);
       }
-      if (state.destroyed) {
-        errorBuffer(state);
+      if (UrlencodedParser.detect.test(parsed[0])) {
+        return new UrlencodedParser(this, cfg);
       }
-      finishMaybe(stream, state);
-    }
-    function errorBuffer(state) {
-      if (state.writing) {
-        return;
+      throw new Error("Unsupported Content-Type.");
+    };
+    Busboy.prototype._write = function(chunk, encoding, cb) {
+      this._parser.write(chunk, cb);
+    };
+    module2.exports = Busboy;
+    module2.exports.default = Busboy;
+    module2.exports.Busboy = Busboy;
+    module2.exports.Dicer = Dicer;
+  }
+});
+
+// node_modules/undici/lib/fetch/constants.js
+var require_constants21 = __commonJS({
+  "node_modules/undici/lib/fetch/constants.js"(exports2, module2) {
+    "use strict";
+    var { MessageChannel, receiveMessageOnPort } = require("worker_threads");
+    var corsSafeListedMethods = ["GET", "HEAD", "POST"];
+    var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
+    var nullBodyStatus = [101, 204, 205, 304];
+    var redirectStatus = [301, 302, 303, 307, 308];
+    var redirectStatusSet = new Set(redirectStatus);
+    var badPorts = [
+      "1",
+      "7",
+      "9",
+      "11",
+      "13",
+      "15",
+      "17",
+      "19",
+      "20",
+      "21",
+      "22",
+      "23",
+      "25",
+      "37",
+      "42",
+      "43",
+      "53",
+      "69",
+      "77",
+      "79",
+      "87",
+      "95",
+      "101",
+      "102",
+      "103",
+      "104",
+      "109",
+      "110",
+      "111",
+      "113",
+      "115",
+      "117",
+      "119",
+      "123",
+      "135",
+      "137",
+      "139",
+      "143",
+      "161",
+      "179",
+      "389",
+      "427",
+      "465",
+      "512",
+      "513",
+      "514",
+      "515",
+      "526",
+      "530",
+      "531",
+      "532",
+      "540",
+      "548",
+      "554",
+      "556",
+      "563",
+      "587",
+      "601",
+      "636",
+      "989",
+      "990",
+      "993",
+      "995",
+      "1719",
+      "1720",
+      "1723",
+      "2049",
+      "3659",
+      "4045",
+      "5060",
+      "5061",
+      "6000",
+      "6566",
+      "6665",
+      "6666",
+      "6667",
+      "6668",
+      "6669",
+      "6697",
+      "10080"
+    ];
+    var badPortsSet = new Set(badPorts);
+    var referrerPolicy = [
+      "",
+      "no-referrer",
+      "no-referrer-when-downgrade",
+      "same-origin",
+      "origin",
+      "strict-origin",
+      "origin-when-cross-origin",
+      "strict-origin-when-cross-origin",
+      "unsafe-url"
+    ];
+    var referrerPolicySet = new Set(referrerPolicy);
+    var requestRedirect = ["follow", "manual", "error"];
+    var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"];
+    var safeMethodsSet = new Set(safeMethods);
+    var requestMode = ["navigate", "same-origin", "no-cors", "cors"];
+    var requestCredentials = ["omit", "same-origin", "include"];
+    var requestCache = [
+      "default",
+      "no-store",
+      "reload",
+      "no-cache",
+      "force-cache",
+      "only-if-cached"
+    ];
+    var requestBodyHeader = [
+      "content-encoding",
+      "content-language",
+      "content-location",
+      "content-type",
+      // See https://github.com/nodejs/undici/issues/2021
+      // 'Content-Length' is a forbidden header name, which is typically
+      // removed in the Headers implementation. However, undici doesn't
+      // filter out headers, so we add it here.
+      "content-length"
+    ];
+    var requestDuplex = [
+      "half"
+    ];
+    var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"];
+    var forbiddenMethodsSet = new Set(forbiddenMethods);
+    var subresource = [
+      "audio",
+      "audioworklet",
+      "font",
+      "image",
+      "manifest",
+      "paintworklet",
+      "script",
+      "style",
+      "track",
+      "video",
+      "xslt",
+      ""
+    ];
+    var subresourceSet = new Set(subresource);
+    var DOMException2 = globalThis.DOMException ?? (() => {
+      try {
+        atob("~");
+      } catch (err) {
+        return Object.getPrototypeOf(err).constructor;
       }
-      for (let n = state.bufferedIndex; n < state.buffered.length; ++n) {
-        var _state$errored;
-        const { chunk, callback } = state.buffered[n];
-        const len = state.objectMode ? 1 : chunk.length;
-        state.length -= len;
-        callback(
-          (_state$errored = state.errored) !== null && _state$errored !== void 0 ? _state$errored : new ERR_STREAM_DESTROYED("write")
-        );
+    })();
+    var channel;
+    var structuredClone = globalThis.structuredClone ?? // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js
+    // structuredClone was added in v17.0.0, but fetch supports v16.8
+    function structuredClone2(value, options = void 0) {
+      if (arguments.length === 0) {
+        throw new TypeError("missing argument");
       }
-      const onfinishCallbacks = state[kOnFinished].splice(0);
-      for (let i = 0; i < onfinishCallbacks.length; i++) {
-        var _state$errored2;
-        onfinishCallbacks[i](
-          (_state$errored2 = state.errored) !== null && _state$errored2 !== void 0 ? _state$errored2 : new ERR_STREAM_DESTROYED("end")
-        );
+      if (!channel) {
+        channel = new MessageChannel();
       }
-      resetBuffer(state);
+      channel.port1.unref();
+      channel.port2.unref();
+      channel.port1.postMessage(value, options?.transfer);
+      return receiveMessageOnPort(channel.port2).message;
+    };
+    module2.exports = {
+      DOMException: DOMException2,
+      structuredClone,
+      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/fetch/global.js
+var require_global5 = __commonJS({
+  "node_modules/undici/lib/fetch/global.js"(exports2, module2) {
+    "use strict";
+    var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
+    function getGlobalOrigin() {
+      return globalThis[globalOrigin];
     }
-    function clearBuffer(stream, state) {
-      if (state.corked || state.bufferProcessing || state.destroyed || !state.constructed) {
-        return;
-      }
-      const { buffered, bufferedIndex, objectMode } = state;
-      const bufferedLength = buffered.length - bufferedIndex;
-      if (!bufferedLength) {
+    function setGlobalOrigin(newOrigin) {
+      if (newOrigin === void 0) {
+        Object.defineProperty(globalThis, globalOrigin, {
+          value: void 0,
+          writable: true,
+          enumerable: false,
+          configurable: false
+        });
         return;
       }
-      let i = bufferedIndex;
-      state.bufferProcessing = true;
-      if (bufferedLength > 1 && stream._writev) {
-        state.pendingcb -= bufferedLength - 1;
-        const callback = state.allNoop ? nop : (err) => {
-          for (let n = i; n < buffered.length; ++n) {
-            buffered[n].callback(err);
-          }
-        };
-        const chunks = state.allNoop && i === 0 ? buffered : ArrayPrototypeSlice(buffered, i);
-        chunks.allBuffers = state.allBuffers;
-        doWrite(stream, state, true, state.length, chunks, "", callback);
-        resetBuffer(state);
-      } else {
-        do {
-          const { chunk, encoding, callback } = buffered[i];
-          buffered[i++] = null;
-          const len = objectMode ? 1 : chunk.length;
-          doWrite(stream, state, false, len, chunk, encoding, callback);
-        } while (i < buffered.length && !state.writing);
-        if (i === buffered.length) {
-          resetBuffer(state);
-        } else if (i > 256) {
-          buffered.splice(0, i);
-          state.bufferedIndex = 0;
-        } else {
-          state.bufferedIndex = i;
-        }
+      const parsedURL = new URL(newOrigin);
+      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
+        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
       }
-      state.bufferProcessing = false;
+      Object.defineProperty(globalThis, globalOrigin, {
+        value: parsedURL,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
     }
-    Writable.prototype._write = function(chunk, encoding, cb) {
-      if (this._writev) {
-        this._writev(
-          [
-            {
-              chunk,
-              encoding
-            }
-          ],
-          cb
-        );
-      } else {
-        throw new ERR_METHOD_NOT_IMPLEMENTED("_write()");
-      }
+    module2.exports = {
+      getGlobalOrigin,
+      setGlobalOrigin
     };
-    Writable.prototype._writev = null;
-    Writable.prototype.end = function(chunk, encoding, cb) {
-      const state = this._writableState;
-      if (typeof chunk === "function") {
-        cb = chunk;
-        chunk = null;
-        encoding = null;
-      } else if (typeof encoding === "function") {
-        cb = encoding;
-        encoding = null;
-      }
-      let err;
-      if (chunk !== null && chunk !== void 0) {
-        const ret = _write(this, chunk, encoding);
-        if (ret instanceof Error2) {
-          err = ret;
-        }
+  }
+});
+
+// node_modules/undici/lib/fetch/util.js
+var require_util25 = __commonJS({
+  "node_modules/undici/lib/fetch/util.js"(exports2, module2) {
+    "use strict";
+    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants21();
+    var { getGlobalOrigin } = require_global5();
+    var { performance: performance2 } = require("perf_hooks");
+    var { isBlobLike, toUSVString, ReadableStreamFrom } = require_util24();
+    var assert = require("assert");
+    var { isUint8Array } = require("util/types");
+    var supportedHashes = [];
+    var crypto2;
+    try {
+      crypto2 = require("crypto");
+      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
+      supportedHashes = crypto2.getHashes().filter((hash) => possibleRelevantHashes.includes(hash));
+    } catch {
+    }
+    function responseURL(response) {
+      const urlList = response.urlList;
+      const length = urlList.length;
+      return length === 0 ? null : urlList[length - 1].toString();
+    }
+    function responseLocationURL(response, requestFragment) {
+      if (!redirectStatusSet.has(response.status)) {
+        return null;
       }
-      if (state.corked) {
-        state.corked = 1;
-        this.uncork();
+      let location = response.headersList.get("location");
+      if (location !== null && isValidHeaderValue(location)) {
+        location = new URL(location, responseURL(response));
       }
-      if (err) {
-      } else if (!state.errored && !state.ending) {
-        state.ending = true;
-        finishMaybe(this, state, true);
-        state.ended = true;
-      } else if (state.finished) {
-        err = new ERR_STREAM_ALREADY_FINISHED("end");
-      } else if (state.destroyed) {
-        err = new ERR_STREAM_DESTROYED("end");
+      if (location && !location.hash) {
+        location.hash = requestFragment;
       }
-      if (typeof cb === "function") {
-        if (err || state.finished) {
-          process2.nextTick(cb, err);
-        } else {
-          state[kOnFinished].push(cb);
-        }
+      return location;
+    }
+    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 this;
-    };
-    function needFinish(state) {
-      return state.ending && !state.destroyed && state.constructed && state.length === 0 && !state.errored && state.buffered.length === 0 && !state.finished && !state.writing && !state.errorEmitted && !state.closeEmitted;
+      return "allowed";
     }
-    function callFinal(stream, state) {
-      let called = false;
-      function onFinish(err) {
-        if (called) {
-          errorOrDestroy(stream, err !== null && err !== void 0 ? err : ERR_MULTIPLE_CALLBACK());
-          return;
-        }
-        called = true;
-        state.pendingcb--;
-        if (err) {
-          const onfinishCallbacks = state[kOnFinished].splice(0);
-          for (let i = 0; i < onfinishCallbacks.length; i++) {
-            onfinishCallbacks[i](err);
-          }
-          errorOrDestroy(stream, err, state.sync);
-        } else if (needFinish(state)) {
-          state.prefinished = true;
-          stream.emit("prefinish");
-          state.pendingcb++;
-          process2.nextTick(finish, stream, state);
+    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;
         }
       }
-      state.sync = true;
-      state.pendingcb++;
-      try {
-        stream._final(onFinish);
-      } catch (err) {
-        onFinish(err);
-      }
-      state.sync = false;
+      return true;
     }
-    function prefinish(stream, state) {
-      if (!state.prefinished && !state.finalCalled) {
-        if (typeof stream._final === "function" && !state.destroyed) {
-          state.finalCalled = true;
-          callFinal(stream, state);
-        } else {
-          state.prefinished = true;
-          stream.emit("prefinish");
-        }
+    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;
       }
     }
-    function finishMaybe(stream, state, sync) {
-      if (needFinish(state)) {
-        prefinish(stream, state);
-        if (state.pendingcb === 0) {
-          if (sync) {
-            state.pendingcb++;
-            process2.nextTick(
-              (stream2, state2) => {
-                if (needFinish(state2)) {
-                  finish(stream2, state2);
-                } else {
-                  state2.pendingcb--;
-                }
-              },
-              stream,
-              state
-            );
-          } else if (needFinish(state)) {
-            state.pendingcb++;
-            finish(stream, state);
-          }
+    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 true;
     }
-    function finish(stream, state) {
-      state.pendingcb--;
-      state.finished = true;
-      const onfinishCallbacks = state[kOnFinished].splice(0);
-      for (let i = 0; i < onfinishCallbacks.length; i++) {
-        onfinishCallbacks[i]();
+    function isValidHeaderName(potentialValue) {
+      return isValidHTTPToken(potentialValue);
+    }
+    function isValidHeaderValue(potentialValue) {
+      if (potentialValue.startsWith("	") || potentialValue.startsWith(" ") || potentialValue.endsWith("	") || potentialValue.endsWith(" ")) {
+        return false;
       }
-      stream.emit("finish");
-      if (state.autoDestroy) {
-        const rState = stream._readableState;
-        const autoDestroy = !rState || rState.autoDestroy && // We don't expect the readable to ever 'end'
-        // if readable is explicitly set to false.
-        (rState.endEmitted || rState.readable === false);
-        if (autoDestroy) {
-          stream.destroy();
-        }
+      if (potentialValue.includes("\0") || potentialValue.includes("\r") || potentialValue.includes("\n")) {
+        return false;
       }
+      return true;
     }
-    ObjectDefineProperties(Writable.prototype, {
-      closed: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.closed : false;
-        }
-      },
-      destroyed: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.destroyed : false;
-        },
-        set(value) {
-          if (this._writableState) {
-            this._writableState.destroyed = value;
-          }
-        }
-      },
-      writable: {
-        __proto__: null,
-        get() {
-          const w = this._writableState;
-          return !!w && w.writable !== false && !w.destroyed && !w.errored && !w.ending && !w.ended;
-        },
-        set(val) {
-          if (this._writableState) {
-            this._writableState.writable = !!val;
+    function setRequestReferrerPolicyOnRedirect(request2, actualResponse) {
+      const { headersList } = actualResponse;
+      const policyHeader = (headersList.get("referrer-policy") ?? "").split(",");
+      let policy = "";
+      if (policyHeader.length > 0) {
+        for (let i = policyHeader.length; i !== 0; i--) {
+          const token = policyHeader[i - 1].trim();
+          if (referrerPolicyTokens.has(token)) {
+            policy = token;
+            break;
           }
         }
-      },
-      writableFinished: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.finished : false;
-        }
-      },
-      writableObjectMode: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.objectMode : false;
-        }
-      },
-      writableBuffer: {
-        __proto__: null,
-        get() {
-          return this._writableState && this._writableState.getBuffer();
-        }
-      },
-      writableEnded: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.ending : false;
-        }
-      },
-      writableNeedDrain: {
-        __proto__: null,
-        get() {
-          const wState = this._writableState;
-          if (!wState) return false;
-          return !wState.destroyed && !wState.ending && wState.needDrain;
-        }
-      },
-      writableHighWaterMark: {
-        __proto__: null,
-        get() {
-          return this._writableState && this._writableState.highWaterMark;
-        }
-      },
-      writableCorked: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.corked : 0;
-        }
-      },
-      writableLength: {
-        __proto__: null,
-        get() {
-          return this._writableState && this._writableState.length;
+      }
+      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);
+    }
+    function appendRequestOriginHeader(request2) {
+      let serializedOrigin = request2.origin;
+      if (request2.responseTainting === "cors" || request2.mode === "websocket") {
+        if (serializedOrigin) {
+          request2.headersList.append("origin", serializedOrigin);
         }
-      },
-      errored: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._writableState ? this._writableState.errored : null;
+      } 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:
         }
-      },
-      writableAborted: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return !!(this._writableState.writable !== false && (this._writableState.destroyed || this._writableState.errored) && !this._writableState.finished);
+        if (serializedOrigin) {
+          request2.headersList.append("origin", serializedOrigin);
         }
       }
-    });
-    var destroy = destroyImpl.destroy;
-    Writable.prototype.destroy = function(err, cb) {
-      const state = this._writableState;
-      if (!state.destroyed && (state.bufferedIndex < state.buffered.length || state[kOnFinished].length)) {
-        process2.nextTick(errorBuffer, state);
-      }
-      destroy.call(this, err, cb);
-      return this;
-    };
-    Writable.prototype._undestroy = destroyImpl.undestroy;
-    Writable.prototype._destroy = function(err, cb) {
-      cb(err);
-    };
-    Writable.prototype[EE.captureRejectionSymbol] = function(err) {
-      this.destroy(err);
-    };
-    var webStreamsAdapters;
-    function lazyWebStreams() {
-      if (webStreamsAdapters === void 0) webStreamsAdapters = {};
-      return webStreamsAdapters;
     }
-    Writable.fromWeb = function(writableStream, options) {
-      return lazyWebStreams().newStreamWritableFromWritableStream(writableStream, options);
-    };
-    Writable.toWeb = function(streamWritable) {
-      return lazyWebStreams().newWritableStreamFromStreamWritable(streamWritable);
-    };
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/duplexify.js
-var require_duplexify = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/duplexify.js"(exports2, module2) {
-    var process2 = require_process();
-    var bufferModule = require("buffer");
-    var {
-      isReadable,
-      isWritable,
-      isIterable,
-      isNodeStream,
-      isReadableNodeStream,
-      isWritableNodeStream,
-      isDuplexNodeStream,
-      isReadableStream,
-      isWritableStream
-    } = require_utils8();
-    var eos = require_end_of_stream();
-    var {
-      AbortError,
-      codes: { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_RETURN_VALUE }
-    } = require_errors5();
-    var { destroyer } = require_destroy2();
-    var Duplex = require_duplex();
-    var Readable = require_readable4();
-    var Writable = require_writable();
-    var { createDeferredPromise } = require_util20();
-    var from = require_from();
-    var Blob2 = globalThis.Blob || bufferModule.Blob;
-    var isBlob = typeof Blob2 !== "undefined" ? function isBlob2(b) {
-      return b instanceof Blob2;
-    } : function isBlob2(b) {
-      return false;
-    };
-    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
-    var { FunctionPrototypeCall } = require_primordials();
-    var Duplexify = class extends Duplex {
-      constructor(options) {
-        super(options);
-        if ((options === null || options === void 0 ? void 0 : options.readable) === false) {
-          this._readableState.readable = false;
-          this._readableState.ended = true;
-          this._readableState.endEmitted = true;
-        }
-        if ((options === null || options === void 0 ? void 0 : options.writable) === false) {
-          this._writableState.writable = false;
-          this._writableState.ending = true;
-          this._writableState.ended = true;
-          this._writableState.finished = true;
+    function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
+      return performance2.now();
+    }
+    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;
       }
-    };
-    module2.exports = function duplexify(body, name) {
-      if (isDuplexNodeStream(body)) {
-        return body;
+      let referrerURL = stripURLForReferrer(referrerSource);
+      const referrerOrigin = stripURLForReferrer(referrerSource, true);
+      if (referrerURL.toString().length > 4096) {
+        referrerURL = referrerOrigin;
       }
-      if (isReadableNodeStream(body)) {
-        return _duplexify({
-          readable: body
-        });
+      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":
+        // eslint-disable-line
+        /**
+           * 1. If referrerURL is a potentially trustworthy URL and
+           * request’s current URL is not a potentially trustworthy URL,
+           * then return no referrer.
+           * 2. Return referrerOrigin
+          */
+        case "no-referrer-when-downgrade":
+        // eslint-disable-line
+        /**
+         * 1. If referrerURL is a potentially trustworthy URL and
+         * request’s current URL is not a potentially trustworthy URL,
+         * then return no referrer.
+         * 2. Return referrerOrigin
+        */
+        default:
+          return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
       }
-      if (isWritableNodeStream(body)) {
-        return _duplexify({
-          writable: body
-        });
+    }
+    function stripURLForReferrer(url, originOnly) {
+      assert(url instanceof URL);
+      if (url.protocol === "file:" || url.protocol === "about:" || url.protocol === "blank:") {
+        return "no-referrer";
       }
-      if (isNodeStream(body)) {
-        return _duplexify({
-          writable: false,
-          readable: false
-        });
+      url.username = "";
+      url.password = "";
+      url.hash = "";
+      if (originOnly) {
+        url.pathname = "";
+        url.search = "";
       }
-      if (isReadableStream(body)) {
-        return _duplexify({
-          readable: Readable.fromWeb(body)
-        });
+      return url;
+    }
+    function isURLPotentiallyTrustworthy(url) {
+      if (!(url instanceof URL)) {
+        return false;
       }
-      if (isWritableStream(body)) {
-        return _duplexify({
-          writable: Writable.fromWeb(body)
-        });
+      if (url.href === "about:blank" || url.href === "about:srcdoc") {
+        return true;
       }
-      if (typeof body === "function") {
-        const { value, write, final, destroy } = fromAsyncGen(body);
-        if (isIterable(value)) {
-          return from(Duplexify, value, {
-            // TODO (ronag): highWaterMark?
-            objectMode: true,
-            write,
-            final,
-            destroy
-          });
+      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;
         }
-        const then2 = value === null || value === void 0 ? void 0 : value.then;
-        if (typeof then2 === "function") {
-          let d;
-          const promise = FunctionPrototypeCall(
-            then2,
-            value,
-            (val) => {
-              if (val != null) {
-                throw new ERR_INVALID_RETURN_VALUE("nully", "body", val);
-              }
-            },
-            (err) => {
-              destroyer(d, err);
-            }
-          );
-          return d = new Duplexify({
-            // TODO (ronag): highWaterMark?
-            objectMode: true,
-            readable: false,
-            write,
-            final(cb) {
-              final(async () => {
-                try {
-                  await promise;
-                  process2.nextTick(cb, null);
-                } catch (err) {
-                  process2.nextTick(cb, err);
-                }
-              });
-            },
-            destroy
-          });
+        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;
         }
-        throw new ERR_INVALID_RETURN_VALUE("Iterable, AsyncIterable or AsyncFunction", name, value);
-      }
-      if (isBlob(body)) {
-        return duplexify(body.arrayBuffer());
-      }
-      if (isIterable(body)) {
-        return from(Duplexify, body, {
-          // TODO (ronag): highWaterMark?
-          objectMode: true,
-          writable: false
-        });
+        return false;
       }
-      if (isReadableStream(body === null || body === void 0 ? void 0 : body.readable) && isWritableStream(body === null || body === void 0 ? void 0 : body.writable)) {
-        return Duplexify.fromWeb(body);
+    }
+    function bytesMatch(bytes, metadataList) {
+      if (crypto2 === void 0) {
+        return true;
       }
-      if (typeof (body === null || body === void 0 ? void 0 : body.writable) === "object" || typeof (body === null || body === void 0 ? void 0 : body.readable) === "object") {
-        const readable = body !== null && body !== void 0 && body.readable ? isReadableNodeStream(body === null || body === void 0 ? void 0 : body.readable) ? body === null || body === void 0 ? void 0 : body.readable : duplexify(body.readable) : void 0;
-        const writable = body !== null && body !== void 0 && body.writable ? isWritableNodeStream(body === null || body === void 0 ? void 0 : body.writable) ? body === null || body === void 0 ? void 0 : body.writable : duplexify(body.writable) : void 0;
-        return _duplexify({
-          readable,
-          writable
-        });
+      const parsedMetadata = parseMetadata(metadataList);
+      if (parsedMetadata === "no metadata") {
+        return true;
       }
-      const then = body === null || body === void 0 ? void 0 : body.then;
-      if (typeof then === "function") {
-        let d;
-        FunctionPrototypeCall(
-          then,
-          body,
-          (val) => {
-            if (val != null) {
-              d.push(val);
-            }
-            d.push(null);
-          },
-          (err) => {
-            destroyer(d, err);
-          }
-        );
-        return d = new Duplexify({
-          objectMode: true,
-          writable: false,
-          read() {
-          }
-        });
+      if (parsedMetadata.length === 0) {
+        return true;
       }
-      throw new ERR_INVALID_ARG_TYPE2(
-        name,
-        [
-          "Blob",
-          "ReadableStream",
-          "WritableStream",
-          "Stream",
-          "Iterable",
-          "AsyncIterable",
-          "Function",
-          "{ readable, writable } pair",
-          "Promise"
-        ],
-        body
-      );
-    };
-    function fromAsyncGen(fn) {
-      let { promise, resolve: resolve5 } = createDeferredPromise();
-      const ac = new AbortController2();
-      const signal = ac.signal;
-      const value = fn(
-        (async function* () {
-          while (true) {
-            const _promise = promise;
-            promise = null;
-            const { chunk, done, cb } = await _promise;
-            process2.nextTick(cb);
-            if (done) return;
-            if (signal.aborted)
-              throw new AbortError(void 0, {
-                cause: signal.reason
-              });
-            ({ promise, resolve: resolve5 } = createDeferredPromise());
-            yield chunk;
+      const strongest = getStrongestMetadata(parsedMetadata);
+      const metadata = filterMetadataListByAlgorithm(parsedMetadata, strongest);
+      for (const item of metadata) {
+        const algorithm = item.algo;
+        const expectedValue = item.hash;
+        let actualValue = crypto2.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);
           }
-        })(),
-        {
-          signal
         }
-      );
-      return {
-        value,
-        write(chunk, encoding, cb) {
-          const _resolve = resolve5;
-          resolve5 = null;
-          _resolve({
-            chunk,
-            done: false,
-            cb
-          });
-        },
-        final(cb) {
-          const _resolve = resolve5;
-          resolve5 = null;
-          _resolve({
-            done: true,
-            cb
-          });
-        },
-        destroy(err, cb) {
-          ac.abort();
-          cb(err);
+        if (compareBase64Mixed(actualValue, expectedValue)) {
+          return true;
         }
-      };
+      }
+      return false;
     }
-    function _duplexify(pair) {
-      const r = pair.readable && typeof pair.readable.read !== "function" ? Readable.wrap(pair.readable) : pair.readable;
-      const w = pair.writable;
-      let readable = !!isReadable(r);
-      let writable = !!isWritable(w);
-      let ondrain;
-      let onfinish;
-      let onreadable;
-      let onclose;
-      let d;
-      function onfinished(err) {
-        const cb = onclose;
-        onclose = null;
-        if (cb) {
-          cb(err);
-        } else if (err) {
-          d.destroy(err);
+    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 token of metadata.split(" ")) {
+        empty = false;
+        const parsedToken = parseHashWithOptions.exec(token);
+        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);
         }
       }
-      d = new Duplexify({
-        // TODO (ronag): highWaterMark?
-        readableObjectMode: !!(r !== null && r !== void 0 && r.readableObjectMode),
-        writableObjectMode: !!(w !== null && w !== void 0 && w.writableObjectMode),
-        readable,
-        writable
-      });
-      if (writable) {
-        eos(w, (err) => {
-          writable = false;
-          if (err) {
-            destroyer(r, err);
-          }
-          onfinished(err);
-        });
-        d._write = function(chunk, encoding, callback) {
-          if (w.write(chunk, encoding)) {
-            callback();
-          } else {
-            ondrain = callback;
-          }
-        };
-        d._final = function(callback) {
-          w.end();
-          onfinish = callback;
-        };
-        w.on("drain", function() {
-          if (ondrain) {
-            const cb = ondrain;
-            ondrain = null;
-            cb();
-          }
-        });
-        w.on("finish", function() {
-          if (onfinish) {
-            const cb = onfinish;
-            onfinish = null;
-            cb();
-          }
-        });
+      if (empty === true) {
+        return "no metadata";
       }
-      if (readable) {
-        eos(r, (err) => {
-          readable = false;
-          if (err) {
-            destroyer(r, err);
-          }
-          onfinished(err);
-        });
-        r.on("readable", function() {
-          if (onreadable) {
-            const cb = onreadable;
-            onreadable = null;
-            cb();
-          }
-        });
-        r.on("end", function() {
-          d.push(null);
-        });
-        d._read = function() {
-          while (true) {
-            const buf = r.read();
-            if (buf === null) {
-              onreadable = d._read;
-              return;
-            }
-            if (!d.push(buf)) {
-              return;
-            }
-          }
-        };
+      return result;
+    }
+    function getStrongestMetadata(metadataList) {
+      let algorithm = metadataList[0].algo;
+      if (algorithm[3] === "5") {
+        return algorithm;
       }
-      d._destroy = function(err, callback) {
-        if (!err && onclose !== null) {
-          err = new AbortError();
-        }
-        onreadable = null;
-        ondrain = null;
-        onfinish = null;
-        if (onclose === null) {
-          callback(err);
-        } else {
-          onclose = callback;
-          destroyer(w, err);
-          destroyer(r, err);
+      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 d;
-    }
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/duplex.js
-var require_duplex = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/duplex.js"(exports2, module2) {
-    "use strict";
-    var {
-      ObjectDefineProperties,
-      ObjectGetOwnPropertyDescriptor,
-      ObjectKeys,
-      ObjectSetPrototypeOf
-    } = require_primordials();
-    module2.exports = Duplex;
-    var Readable = require_readable4();
-    var Writable = require_writable();
-    ObjectSetPrototypeOf(Duplex.prototype, Readable.prototype);
-    ObjectSetPrototypeOf(Duplex, Readable);
-    {
-      const keys = ObjectKeys(Writable.prototype);
-      for (let i = 0; i < keys.length; i++) {
-        const method = keys[i];
-        if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];
       }
+      return algorithm;
     }
-    function Duplex(options) {
-      if (!(this instanceof Duplex)) return new Duplex(options);
-      Readable.call(this, options);
-      Writable.call(this, options);
-      if (options) {
-        this.allowHalfOpen = options.allowHalfOpen !== false;
-        if (options.readable === false) {
-          this._readableState.readable = false;
-          this._readableState.ended = true;
-          this._readableState.endEmitted = true;
+    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];
         }
-        if (options.writable === false) {
-          this._writableState.writable = false;
-          this._writableState.ending = true;
-          this._writableState.ended = true;
-          this._writableState.finished = true;
+      }
+      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;
         }
-      } else {
-        this.allowHalfOpen = true;
       }
+      return true;
     }
-    ObjectDefineProperties(Duplex.prototype, {
-      writable: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writable")
-      },
-      writableHighWaterMark: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableHighWaterMark")
-      },
-      writableObjectMode: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableObjectMode")
-      },
-      writableBuffer: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableBuffer")
-      },
-      writableLength: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableLength")
-      },
-      writableFinished: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableFinished")
-      },
-      writableCorked: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableCorked")
-      },
-      writableEnded: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableEnded")
-      },
-      writableNeedDrain: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableNeedDrain")
-      },
-      destroyed: {
-        __proto__: null,
-        get() {
-          if (this._readableState === void 0 || this._writableState === void 0) {
-            return false;
+    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((resolve5, reject) => {
+        res = resolve5;
+        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";
+    }
+    var normalizeMethodRecord = {
+      delete: "DELETE",
+      DELETE: "DELETE",
+      get: "GET",
+      GET: "GET",
+      head: "HEAD",
+      HEAD: "HEAD",
+      options: "OPTIONS",
+      OPTIONS: "OPTIONS",
+      post: "POST",
+      POST: "POST",
+      put: "PUT",
+      PUT: "PUT"
+    };
+    Object.setPrototypeOf(normalizeMethodRecord, null);
+    function normalizeMethod(method) {
+      return normalizeMethodRecord[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 makeIterator(iterator2, name, kind) {
+      const object = {
+        index: 0,
+        kind,
+        target: iterator2
+      };
+      const i = {
+        next() {
+          if (Object.getPrototypeOf(this) !== i) {
+            throw new TypeError(
+              `'next' called on an object that does not implement interface ${name} Iterator.`
+            );
           }
-          return this._readableState.destroyed && this._writableState.destroyed;
-        },
-        set(value) {
-          if (this._readableState && this._writableState) {
-            this._readableState.destroyed = value;
-            this._writableState.destroyed = value;
+          const { index, kind: kind2, target } = object;
+          const values = target();
+          const len = values.length;
+          if (index >= len) {
+            return { value: void 0, done: true };
           }
+          const pair = values[index];
+          object.index = index + 1;
+          return iteratorResult(pair, kind2);
+        },
+        // The class string of an iterator prototype object for a given interface is the
+        // result of concatenating the identifier of the interface and the string " Iterator".
+        [Symbol.toStringTag]: `${name} Iterator`
+      };
+      Object.setPrototypeOf(i, esIteratorPrototype);
+      return Object.setPrototypeOf({}, i);
+    }
+    function iteratorResult(pair, kind) {
+      let result;
+      switch (kind) {
+        case "key": {
+          result = pair[0];
+          break;
+        }
+        case "value": {
+          result = pair[1];
+          break;
+        }
+        case "key+value": {
+          result = pair;
+          break;
         }
       }
-    });
-    var webStreamsAdapters;
-    function lazyWebStreams() {
-      if (webStreamsAdapters === void 0) webStreamsAdapters = {};
-      return webStreamsAdapters;
+      return { value: result, done: false };
     }
-    Duplex.fromWeb = function(pair, options) {
-      return lazyWebStreams().newStreamDuplexFromReadableWritablePair(pair, options);
-    };
-    Duplex.toWeb = function(duplex) {
-      return lazyWebStreams().newReadableWritablePairFromDuplex(duplex);
-    };
-    var duplexify;
-    Duplex.from = function(body) {
-      if (!duplexify) {
-        duplexify = require_duplexify();
+    async function fullyReadBody(body, processBody, processBodyError) {
+      const successSteps = processBody;
+      const errorSteps = processBodyError;
+      let reader;
+      try {
+        reader = body.stream.getReader();
+      } catch (e) {
+        errorSteps(e);
+        return;
       }
-      return duplexify(body, "body");
-    };
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/transform.js
-var require_transform = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/transform.js"(exports2, module2) {
-    "use strict";
-    var { ObjectSetPrototypeOf, Symbol: Symbol2 } = require_primordials();
-    module2.exports = Transform;
-    var { ERR_METHOD_NOT_IMPLEMENTED } = require_errors5().codes;
-    var Duplex = require_duplex();
-    var { getHighWaterMark } = require_state3();
-    ObjectSetPrototypeOf(Transform.prototype, Duplex.prototype);
-    ObjectSetPrototypeOf(Transform, Duplex);
-    var kCallback = Symbol2("kCallback");
-    function Transform(options) {
-      if (!(this instanceof Transform)) return new Transform(options);
-      const readableHighWaterMark = options ? getHighWaterMark(this, options, "readableHighWaterMark", true) : null;
-      if (readableHighWaterMark === 0) {
-        options = {
-          ...options,
-          highWaterMark: null,
-          readableHighWaterMark,
-          // TODO (ronag): 0 is not optimal since we have
-          // a "bug" where we check needDrain before calling _write and not after.
-          // Refs: https://github.com/nodejs/node/pull/32887
-          // Refs: https://github.com/nodejs/node/pull/35941
-          writableHighWaterMark: options.writableHighWaterMark || 0
-        };
+      try {
+        const result = await readAllBytes(reader);
+        successSteps(result);
+      } catch (e) {
+        errorSteps(e);
       }
-      Duplex.call(this, options);
-      this._readableState.sync = false;
-      this[kCallback] = null;
-      if (options) {
-        if (typeof options.transform === "function") this._transform = options.transform;
-        if (typeof options.flush === "function") this._flush = options.flush;
+    }
+    var ReadableStream2 = globalThis.ReadableStream;
+    function isReadableStreamLike(stream) {
+      if (!ReadableStream2) {
+        ReadableStream2 = require("stream/web").ReadableStream;
       }
-      this.on("prefinish", prefinish);
+      return stream instanceof ReadableStream2 || stream[Symbol.toStringTag] === "ReadableStream" && typeof stream.tee === "function";
     }
-    function final(cb) {
-      if (typeof this._flush === "function" && !this.destroyed) {
-        this._flush((er, data) => {
-          if (er) {
-            if (cb) {
-              cb(er);
-            } else {
-              this.destroy(er);
-            }
-            return;
-          }
-          if (data != null) {
-            this.push(data);
-          }
-          this.push(null);
-          if (cb) {
-            cb();
-          }
-        });
-      } else {
-        this.push(null);
-        if (cb) {
-          cb();
+    var MAXIMUM_ARGUMENT_LENGTH = 65535;
+    function isomorphicDecode(input) {
+      if (input.length < MAXIMUM_ARGUMENT_LENGTH) {
+        return String.fromCharCode(...input);
+      }
+      return input.reduce((previous, current) => previous + String.fromCharCode(current), "");
+    }
+    function readableStreamClose(controller) {
+      try {
+        controller.close();
+      } catch (err) {
+        if (!err.message.includes("Controller is already closed")) {
+          throw err;
         }
       }
     }
-    function prefinish() {
-      if (this._final !== final) {
-        final.call(this);
+    function isomorphicEncode(input) {
+      for (let i = 0; i < input.length; i++) {
+        assert(input.charCodeAt(i) <= 255);
       }
+      return input;
     }
-    Transform.prototype._final = final;
-    Transform.prototype._transform = function(chunk, encoding, callback) {
-      throw new ERR_METHOD_NOT_IMPLEMENTED("_transform()");
-    };
-    Transform.prototype._write = function(chunk, encoding, callback) {
-      const rState = this._readableState;
-      const wState = this._writableState;
-      const length = rState.length;
-      this._transform(chunk, encoding, (err, val) => {
-        if (err) {
-          callback(err);
-          return;
-        }
-        if (val != null) {
-          this.push(val);
+    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 (wState.ended || // Backwards compat.
-        length === rState.length || // Backwards compat.
-        rState.length < rState.highWaterMark) {
-          callback();
-        } else {
-          this[kCallback] = callback;
+        if (!isUint8Array(chunk)) {
+          throw new TypeError("Received non-Uint8Array chunk");
         }
-      });
-    };
-    Transform.prototype._read = function() {
-      if (this[kCallback]) {
-        const callback = this[kCallback];
-        this[kCallback] = null;
-        callback();
+        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) {
+      if (typeof url === "string") {
+        return url.startsWith("https:");
       }
+      return url.protocol === "https:";
+    }
+    function urlIsHttpHttpsScheme(url) {
+      assert("protocol" in url);
+      const protocol = url.protocol;
+      return protocol === "http:" || protocol === "https:";
+    }
+    var hasOwn = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key));
+    module2.exports = {
+      isAborted,
+      isCancelled,
+      createDeferredPromise,
+      ReadableStreamFrom,
+      toUSVString,
+      tryUpgradeRequestToAPotentiallyTrustworthyURL,
+      coarsenedSharedCurrentTime,
+      determineRequestsReferrer,
+      makePolicyContainer,
+      clonePolicyContainer,
+      appendFetchMetadata,
+      appendRequestOriginHeader,
+      TAOCheck,
+      corsCheck,
+      crossOriginResourcePolicyCheck,
+      createOpaqueTimingInfo,
+      setRequestReferrerPolicyOnRedirect,
+      isValidHTTPToken,
+      requestBadPort,
+      requestCurrentURL,
+      responseURL,
+      responseLocationURL,
+      isBlobLike,
+      isURLPotentiallyTrustworthy,
+      isValidReasonPhrase,
+      sameOrigin,
+      normalizeMethod,
+      serializeJavascriptValueToJSONString,
+      makeIterator,
+      isValidHeaderName,
+      isValidHeaderValue,
+      hasOwn,
+      isErrorLike,
+      fullyReadBody,
+      bytesMatch,
+      isReadableStreamLike,
+      readableStreamClose,
+      isomorphicEncode,
+      isomorphicDecode,
+      urlIsLocal,
+      urlHasHttpsScheme,
+      urlIsHttpHttpsScheme,
+      readAllBytes,
+      normalizeMethodRecord,
+      parseMetadata
     };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/passthrough.js
-var require_passthrough2 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/passthrough.js"(exports2, module2) {
+// node_modules/undici/lib/fetch/symbols.js
+var require_symbols12 = __commonJS({
+  "node_modules/undici/lib/fetch/symbols.js"(exports2, module2) {
     "use strict";
-    var { ObjectSetPrototypeOf } = require_primordials();
-    module2.exports = PassThrough;
-    var Transform = require_transform();
-    ObjectSetPrototypeOf(PassThrough.prototype, Transform.prototype);
-    ObjectSetPrototypeOf(PassThrough, Transform);
-    function PassThrough(options) {
-      if (!(this instanceof PassThrough)) return new PassThrough(options);
-      Transform.call(this, options);
-    }
-    PassThrough.prototype._transform = function(chunk, encoding, cb) {
-      cb(null, chunk);
+    module2.exports = {
+      kUrl: /* @__PURE__ */ Symbol("url"),
+      kHeaders: /* @__PURE__ */ Symbol("headers"),
+      kSignal: /* @__PURE__ */ Symbol("signal"),
+      kState: /* @__PURE__ */ Symbol("state"),
+      kGuard: /* @__PURE__ */ Symbol("guard"),
+      kRealm: /* @__PURE__ */ Symbol("realm")
     };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/pipeline.js
-var require_pipeline4 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/pipeline.js"(exports2, module2) {
-    var process2 = require_process();
-    var { ArrayIsArray, Promise: Promise2, SymbolAsyncIterator, SymbolDispose } = require_primordials();
-    var eos = require_end_of_stream();
-    var { once } = require_util20();
-    var destroyImpl = require_destroy2();
-    var Duplex = require_duplex();
-    var {
-      aggregateTwoErrors,
-      codes: {
-        ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,
-        ERR_INVALID_RETURN_VALUE,
-        ERR_MISSING_ARGS,
-        ERR_STREAM_DESTROYED,
-        ERR_STREAM_PREMATURE_CLOSE
-      },
-      AbortError
-    } = require_errors5();
-    var { validateFunction, validateAbortSignal } = require_validators();
-    var {
-      isIterable,
-      isReadable,
-      isReadableNodeStream,
-      isNodeStream,
-      isTransformStream,
-      isWebStream,
-      isReadableStream,
-      isReadableFinished
-    } = require_utils8();
-    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
-    var PassThrough;
-    var Readable;
-    var addAbortListener;
-    function destroyer(stream, reading, writing) {
-      let finished = false;
-      stream.on("close", () => {
-        finished = true;
+// node_modules/undici/lib/fetch/webidl.js
+var require_webidl3 = __commonJS({
+  "node_modules/undici/lib/fetch/webidl.js"(exports2, module2) {
+    "use strict";
+    var { types } = require("util");
+    var { hasOwn, toUSVString } = require_util25();
+    var webidl = {};
+    webidl.converters = {};
+    webidl.util = {};
+    webidl.errors = {};
+    webidl.errors.exception = function(message) {
+      return new TypeError(`${message.header}: ${message.message}`);
+    };
+    webidl.errors.conversionFailed = function(context2) {
+      const plural = context2.types.length === 1 ? "" : " one of";
+      const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`;
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message
       });
-      const cleanup = eos(
-        stream,
-        {
-          readable: reading,
-          writable: writing
-        },
-        (err) => {
-          finished = !err;
-        }
-      );
-      return {
-        destroy: (err) => {
-          if (finished) return;
-          finished = true;
-          destroyImpl.destroyer(stream, err || new ERR_STREAM_DESTROYED("pipe"));
-        },
-        cleanup
-      };
-    }
-    function popCallback(streams) {
-      validateFunction(streams[streams.length - 1], "streams[stream.length - 1]");
-      return streams.pop();
-    }
-    function makeAsyncIterable(val) {
-      if (isIterable(val)) {
-        return val;
-      } else if (isReadableNodeStream(val)) {
-        return fromReadable(val);
+    };
+    webidl.errors.invalidArgument = function(context2) {
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message: `"${context2.value}" is an invalid ${context2.type}.`
+      });
+    };
+    webidl.brandCheck = function(V, I, opts = void 0) {
+      if (opts?.strict !== false && !(V instanceof I)) {
+        throw new TypeError("Illegal invocation");
+      } else {
+        return V?.[Symbol.toStringTag] === I.prototype[Symbol.toStringTag];
       }
-      throw new ERR_INVALID_ARG_TYPE2("val", ["Readable", "Iterable", "AsyncIterable"], val);
-    }
-    async function* fromReadable(val) {
-      if (!Readable) {
-        Readable = require_readable4();
+    };
+    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.`,
+          ...ctx
+        });
       }
-      yield* Readable.prototype[SymbolAsyncIterator].call(val);
-    }
-    async function pumpToNode(iterable, writable, finish, { end }) {
-      let error3;
-      let onresolve = null;
-      const resume = (err) => {
-        if (err) {
-          error3 = err;
-        }
-        if (onresolve) {
-          const callback = onresolve;
-          onresolve = null;
-          callback();
-        }
-      };
-      const wait = () => new Promise2((resolve5, reject) => {
-        if (error3) {
-          reject(error3);
-        } else {
-          onresolve = () => {
-            if (error3) {
-              reject(error3);
-            } else {
-              resolve5();
-            }
-          };
-        }
+    };
+    webidl.illegalConstructor = function() {
+      throw webidl.errors.exception({
+        header: "TypeError",
+        message: "Illegal constructor"
       });
-      writable.on("drain", resume);
-      const cleanup = eos(
-        writable,
-        {
-          readable: false
-        },
-        resume
-      );
-      try {
-        if (writable.writableNeedDrain) {
-          await wait();
-        }
-        for await (const chunk of iterable) {
-          if (!writable.write(chunk)) {
-            await wait();
+    };
+    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";
         }
-        if (end) {
-          writable.end();
-          await wait();
+      }
+    };
+    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;
         }
-        finish();
-      } catch (err) {
-        finish(error3 !== err ? aggregateTwoErrors(error3, err) : err);
-      } finally {
-        cleanup();
-        writable.off("drain", resume);
+      } 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;
       }
-    }
-    async function pumpToWeb(readable, writable, finish, { end }) {
-      if (isTransformStream(writable)) {
-        writable = writable.writable;
+      let x = Number(V);
+      if (x === 0) {
+        x = 0;
       }
-      const writer = writable.getWriter();
-      try {
-        for await (const chunk of readable) {
-          await writer.ready;
-          writer.write(chunk).catch(() => {
+      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 ${V} to an integer.`
           });
         }
-        await writer.ready;
-        if (end) {
-          await writer.close();
-        }
-        finish();
-      } catch (err) {
-        try {
-          await writer.abort(err);
-          finish(err);
-        } catch (err2) {
-          finish(err2);
+        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;
       }
-    }
-    function pipeline(...streams) {
-      return pipelineImpl(streams, once(popCallback(streams)));
-    }
-    function pipelineImpl(streams, callback, opts) {
-      if (streams.length === 1 && ArrayIsArray(streams[0])) {
-        streams = streams[0];
-      }
-      if (streams.length < 2) {
-        throw new ERR_MISSING_ARGS("streams");
+      if (!Number.isNaN(x) && opts.clamp === true) {
+        x = Math.min(Math.max(x, lowerBound), upperBound);
+        if (Math.floor(x) % 2 === 0) {
+          x = Math.floor(x);
+        } else {
+          x = Math.ceil(x);
+        }
+        return x;
       }
-      const ac = new AbortController2();
-      const signal = ac.signal;
-      const outerSignal = opts === null || opts === void 0 ? void 0 : opts.signal;
-      const lastStreamCleanup = [];
-      validateAbortSignal(outerSignal, "options.signal");
-      function abort() {
-        finishImpl(new AbortError());
+      if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
+        return 0;
       }
-      addAbortListener = addAbortListener || require_util20().addAbortListener;
-      let disposable;
-      if (outerSignal) {
-        disposable = addAbortListener(outerSignal, abort);
+      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);
       }
-      let error3;
-      let value;
-      const destroys = [];
-      let finishCount = 0;
-      function finish(err) {
-        finishImpl(err, --finishCount === 0);
+      return x;
+    };
+    webidl.util.IntegerPart = function(n) {
+      const r = Math.floor(Math.abs(n));
+      if (n < 0) {
+        return -1 * r;
       }
-      function finishImpl(err, final) {
-        var _disposable;
-        if (err && (!error3 || error3.code === "ERR_STREAM_PREMATURE_CLOSE")) {
-          error3 = err;
-        }
-        if (!error3 && !final) {
-          return;
-        }
-        while (destroys.length) {
-          destroys.shift()(error3);
+      return r;
+    };
+    webidl.sequenceConverter = function(converter) {
+      return (V) => {
+        if (webidl.util.Type(V) !== "Object") {
+          throw webidl.errors.exception({
+            header: "Sequence",
+            message: `Value of type ${webidl.util.Type(V)} is not an Object.`
+          });
         }
-        ;
-        (_disposable = disposable) === null || _disposable === void 0 ? void 0 : _disposable[SymbolDispose]();
-        ac.abort();
-        if (final) {
-          if (!error3) {
-            lastStreamCleanup.forEach((fn) => fn());
-          }
-          process2.nextTick(callback, error3, value);
+        const method = V?.[Symbol.iterator]?.();
+        const seq2 = [];
+        if (method === void 0 || typeof method.next !== "function") {
+          throw webidl.errors.exception({
+            header: "Sequence",
+            message: "Object is not an iterator."
+          });
         }
-      }
-      let ret;
-      for (let i = 0; i < streams.length; i++) {
-        const stream = streams[i];
-        const reading = i < streams.length - 1;
-        const writing = i > 0;
-        const end = reading || (opts === null || opts === void 0 ? void 0 : opts.end) !== false;
-        const isLastStream = i === streams.length - 1;
-        if (isNodeStream(stream)) {
-          let onError2 = function(err) {
-            if (err && err.name !== "AbortError" && err.code !== "ERR_STREAM_PREMATURE_CLOSE") {
-              finish(err);
-            }
-          };
-          var onError = onError2;
-          if (end) {
-            const { destroy, cleanup } = destroyer(stream, reading, writing);
-            destroys.push(destroy);
-            if (isReadable(stream) && isLastStream) {
-              lastStreamCleanup.push(cleanup);
-            }
-          }
-          stream.on("error", onError2);
-          if (isReadable(stream) && isLastStream) {
-            lastStreamCleanup.push(() => {
-              stream.removeListener("error", onError2);
-            });
+        while (true) {
+          const { done, value } = method.next();
+          if (done) {
+            break;
           }
+          seq2.push(converter(value));
         }
-        if (i === 0) {
-          if (typeof stream === "function") {
-            ret = stream({
-              signal
-            });
-            if (!isIterable(ret)) {
-              throw new ERR_INVALID_RETURN_VALUE("Iterable, AsyncIterable or Stream", "source", ret);
-            }
-          } else if (isIterable(stream) || isReadableNodeStream(stream) || isTransformStream(stream)) {
-            ret = stream;
-          } else {
-            ret = Duplex.from(stream);
-          }
-        } else if (typeof stream === "function") {
-          if (isTransformStream(ret)) {
-            var _ret;
-            ret = makeAsyncIterable((_ret = ret) === null || _ret === void 0 ? void 0 : _ret.readable);
-          } else {
-            ret = makeAsyncIterable(ret);
-          }
-          ret = stream(ret, {
-            signal
+        return seq2;
+      };
+    };
+    webidl.recordConverter = function(keyConverter, valueConverter) {
+      return (O) => {
+        if (webidl.util.Type(O) !== "Object") {
+          throw webidl.errors.exception({
+            header: "Record",
+            message: `Value of type ${webidl.util.Type(O)} is not an Object.`
           });
-          if (reading) {
-            if (!isIterable(ret, true)) {
-              throw new ERR_INVALID_RETURN_VALUE("AsyncIterable", `transform[${i - 1}]`, ret);
-            }
-          } else {
-            var _ret2;
-            if (!PassThrough) {
-              PassThrough = require_passthrough2();
-            }
-            const pt = new PassThrough({
-              objectMode: true
-            });
-            const then = (_ret2 = ret) === null || _ret2 === void 0 ? void 0 : _ret2.then;
-            if (typeof then === "function") {
-              finishCount++;
-              then.call(
-                ret,
-                (val) => {
-                  value = val;
-                  if (val != null) {
-                    pt.write(val);
-                  }
-                  if (end) {
-                    pt.end();
-                  }
-                  process2.nextTick(finish);
-                },
-                (err) => {
-                  pt.destroy(err);
-                  process2.nextTick(finish, err);
-                }
-              );
-            } else if (isIterable(ret, true)) {
-              finishCount++;
-              pumpToNode(ret, pt, finish, {
-                end
-              });
-            } else if (isReadableStream(ret) || isTransformStream(ret)) {
-              const toRead = ret.readable || ret;
-              finishCount++;
-              pumpToNode(toRead, pt, finish, {
-                end
-              });
-            } else {
-              throw new ERR_INVALID_RETURN_VALUE("AsyncIterable or Promise", "destination", ret);
-            }
-            ret = pt;
-            const { destroy, cleanup } = destroyer(ret, false, true);
-            destroys.push(destroy);
-            if (isLastStream) {
-              lastStreamCleanup.push(cleanup);
-            }
-          }
-        } else if (isNodeStream(stream)) {
-          if (isReadableNodeStream(ret)) {
-            finishCount += 2;
-            const cleanup = pipe(ret, stream, finish, {
-              end
-            });
-            if (isReadable(stream) && isLastStream) {
-              lastStreamCleanup.push(cleanup);
-            }
-          } else if (isTransformStream(ret) || isReadableStream(ret)) {
-            const toRead = ret.readable || ret;
-            finishCount++;
-            pumpToNode(toRead, stream, finish, {
-              end
-            });
-          } else if (isIterable(ret)) {
-            finishCount++;
-            pumpToNode(ret, stream, finish, {
-              end
-            });
-          } else {
-            throw new ERR_INVALID_ARG_TYPE2(
-              "val",
-              ["Readable", "Iterable", "AsyncIterable", "ReadableStream", "TransformStream"],
-              ret
-            );
-          }
-          ret = stream;
-        } else if (isWebStream(stream)) {
-          if (isReadableNodeStream(ret)) {
-            finishCount++;
-            pumpToWeb(makeAsyncIterable(ret), stream, finish, {
-              end
-            });
-          } else if (isReadableStream(ret) || isIterable(ret)) {
-            finishCount++;
-            pumpToWeb(ret, stream, finish, {
-              end
-            });
-          } else if (isTransformStream(ret)) {
-            finishCount++;
-            pumpToWeb(ret.readable, stream, finish, {
-              end
-            });
-          } else {
-            throw new ERR_INVALID_ARG_TYPE2(
-              "val",
-              ["Readable", "Iterable", "AsyncIterable", "ReadableStream", "TransformStream"],
-              ret
-            );
-          }
-          ret = stream;
-        } else {
-          ret = Duplex.from(stream);
-        }
-      }
-      if (signal !== null && signal !== void 0 && signal.aborted || outerSignal !== null && outerSignal !== void 0 && outerSignal.aborted) {
-        process2.nextTick(abort);
-      }
-      return ret;
-    }
-    function pipe(src, dst, finish, { end }) {
-      let ended = false;
-      dst.on("close", () => {
-        if (!ended) {
-          finish(new ERR_STREAM_PREMATURE_CLOSE());
         }
-      });
-      src.pipe(dst, {
-        end: false
-      });
-      if (end) {
-        let endFn2 = function() {
-          ended = true;
-          dst.end();
-        };
-        var endFn = endFn2;
-        if (isReadableFinished(src)) {
-          process2.nextTick(endFn2);
-        } else {
-          src.once("end", endFn2);
+        const result = {};
+        if (!types.isProxy(O)) {
+          const keys2 = Object.keys(O);
+          for (const key of keys2) {
+            const typedKey = keyConverter(key);
+            const typedValue = valueConverter(O[key]);
+            result[typedKey] = typedValue;
+          }
+          return result;
         }
-      } else {
-        finish();
-      }
-      eos(
-        src,
-        {
-          readable: true,
-          writable: false
-        },
-        (err) => {
-          const rState = src._readableState;
-          if (err && err.code === "ERR_STREAM_PREMATURE_CLOSE" && rState && rState.ended && !rState.errored && !rState.errorEmitted) {
-            src.once("end", finish).once("error", finish);
-          } else {
-            finish(err);
+        const keys = Reflect.ownKeys(O);
+        for (const key of keys) {
+          const desc = Reflect.getOwnPropertyDescriptor(O, key);
+          if (desc?.enumerable) {
+            const typedKey = keyConverter(key);
+            const typedValue = valueConverter(O[key]);
+            result[typedKey] = typedValue;
           }
         }
-      );
-      return eos(
-        dst,
-        {
-          readable: false,
-          writable: true
-        },
-        finish
-      );
-    }
-    module2.exports = {
-      pipelineImpl,
-      pipeline
+        return result;
+      };
     };
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/compose.js
-var require_compose = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/compose.js"(exports2, module2) {
-    "use strict";
-    var { pipeline } = require_pipeline4();
-    var Duplex = require_duplex();
-    var { destroyer } = require_destroy2();
-    var {
-      isNodeStream,
-      isReadable,
-      isWritable,
-      isWebStream,
-      isTransformStream,
-      isWritableStream,
-      isReadableStream
-    } = require_utils8();
-    var {
-      AbortError,
-      codes: { ERR_INVALID_ARG_VALUE, ERR_MISSING_ARGS }
-    } = require_errors5();
-    var eos = require_end_of_stream();
-    module2.exports = function compose(...streams) {
-      if (streams.length === 0) {
-        throw new ERR_MISSING_ARGS("streams");
-      }
-      if (streams.length === 1) {
-        return Duplex.from(streams[0]);
-      }
-      const orgStreams = [...streams];
-      if (typeof streams[0] === "function") {
-        streams[0] = Duplex.from(streams[0]);
-      }
-      if (typeof streams[streams.length - 1] === "function") {
-        const idx = streams.length - 1;
-        streams[idx] = Duplex.from(streams[idx]);
-      }
-      for (let n = 0; n < streams.length; ++n) {
-        if (!isNodeStream(streams[n]) && !isWebStream(streams[n])) {
-          continue;
-        }
-        if (n < streams.length - 1 && !(isReadable(streams[n]) || isReadableStream(streams[n]) || isTransformStream(streams[n]))) {
-          throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`, orgStreams[n], "must be readable");
-        }
-        if (n > 0 && !(isWritable(streams[n]) || isWritableStream(streams[n]) || isTransformStream(streams[n]))) {
-          throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`, orgStreams[n], "must be writable");
-        }
-      }
-      let ondrain;
-      let onfinish;
-      let onreadable;
-      let onclose;
-      let d;
-      function onfinished(err) {
-        const cb = onclose;
-        onclose = null;
-        if (cb) {
-          cb(err);
-        } else if (err) {
-          d.destroy(err);
-        } else if (!readable && !writable) {
-          d.destroy();
+    webidl.interfaceConverter = function(i) {
+      return (V, opts = {}) => {
+        if (opts.strict !== false && !(V instanceof i)) {
+          throw webidl.errors.exception({
+            header: i.name,
+            message: `Expected ${V} to be an instance of ${i.name}.`
+          });
         }
-      }
-      const head = streams[0];
-      const tail = pipeline(streams, onfinished);
-      const writable = !!(isWritable(head) || isWritableStream(head) || isTransformStream(head));
-      const readable = !!(isReadable(tail) || isReadableStream(tail) || isTransformStream(tail));
-      d = new Duplex({
-        // TODO (ronag): highWaterMark?
-        writableObjectMode: !!(head !== null && head !== void 0 && head.writableObjectMode),
-        readableObjectMode: !!(tail !== null && tail !== void 0 && tail.readableObjectMode),
-        writable,
-        readable
-      });
-      if (writable) {
-        if (isNodeStream(head)) {
-          d._write = function(chunk, encoding, callback) {
-            if (head.write(chunk, encoding)) {
-              callback();
-            } else {
-              ondrain = callback;
-            }
-          };
-          d._final = function(callback) {
-            head.end();
-            onfinish = callback;
-          };
-          head.on("drain", function() {
-            if (ondrain) {
-              const cb = ondrain;
-              ondrain = null;
-              cb();
-            }
+        return V;
+      };
+    };
+    webidl.dictionaryConverter = function(converters) {
+      return (dictionary) => {
+        const type2 = webidl.util.Type(dictionary);
+        const dict = {};
+        if (type2 === "Null" || type2 === "Undefined") {
+          return dict;
+        } else if (type2 !== "Object") {
+          throw webidl.errors.exception({
+            header: "Dictionary",
+            message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`
           });
-        } else if (isWebStream(head)) {
-          const writable2 = isTransformStream(head) ? head.writable : head;
-          const writer = writable2.getWriter();
-          d._write = async function(chunk, encoding, callback) {
-            try {
-              await writer.ready;
-              writer.write(chunk).catch(() => {
-              });
-              callback();
-            } catch (err) {
-              callback(err);
-            }
-          };
-          d._final = async function(callback) {
-            try {
-              await writer.ready;
-              writer.close().catch(() => {
+        }
+        for (const options of converters) {
+          const { key, defaultValue, required, converter } = options;
+          if (required === true) {
+            if (!hasOwn(dictionary, key)) {
+              throw webidl.errors.exception({
+                header: "Dictionary",
+                message: `Missing required key "${key}".`
               });
-              onfinish = callback;
-            } catch (err) {
-              callback(err);
             }
-          };
-        }
-        const toRead = isTransformStream(tail) ? tail.readable : tail;
-        eos(toRead, () => {
-          if (onfinish) {
-            const cb = onfinish;
-            onfinish = null;
-            cb();
           }
-        });
-      }
-      if (readable) {
-        if (isNodeStream(tail)) {
-          tail.on("readable", function() {
-            if (onreadable) {
-              const cb = onreadable;
-              onreadable = null;
-              cb();
-            }
-          });
-          tail.on("end", function() {
-            d.push(null);
-          });
-          d._read = function() {
-            while (true) {
-              const buf = tail.read();
-              if (buf === null) {
-                onreadable = d._read;
-                return;
-              }
-              if (!d.push(buf)) {
-                return;
-              }
-            }
-          };
-        } else if (isWebStream(tail)) {
-          const readable2 = isTransformStream(tail) ? tail.readable : tail;
-          const reader = readable2.getReader();
-          d._read = async function() {
-            while (true) {
-              try {
-                const { value, done } = await reader.read();
-                if (!d.push(value)) {
-                  return;
-                }
-                if (done) {
-                  d.push(null);
-                  return;
-                }
-              } catch {
-                return;
-              }
-            }
-          };
-        }
-      }
-      d._destroy = function(err, callback) {
-        if (!err && onclose !== null) {
-          err = new AbortError();
-        }
-        onreadable = null;
-        ondrain = null;
-        onfinish = null;
-        if (onclose === null) {
-          callback(err);
-        } else {
-          onclose = callback;
-          if (isNodeStream(tail)) {
-            destroyer(tail, err);
+          let value = dictionary[key];
+          const hasDefault = hasOwn(options, "defaultValue");
+          if (hasDefault && value !== null) {
+            value = value ?? defaultValue;
+          }
+          if (required || hasDefault || value !== void 0) {
+            value = converter(value);
+            if (options.allowedValues && !options.allowedValues.includes(value)) {
+              throw webidl.errors.exception({
+                header: "Dictionary",
+                message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
+              });
+            }
+            dict[key] = value;
           }
         }
+        return dict;
       };
-      return d;
     };
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/operators.js
-var require_operators = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/operators.js"(exports2, module2) {
-    "use strict";
-    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
-    var {
-      codes: { ERR_INVALID_ARG_VALUE, ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_MISSING_ARGS, ERR_OUT_OF_RANGE },
-      AbortError
-    } = require_errors5();
-    var { validateAbortSignal, validateInteger, validateObject } = require_validators();
-    var kWeakHandler = require_primordials().Symbol("kWeak");
-    var kResistStopPropagation = require_primordials().Symbol("kResistStopPropagation");
-    var { finished } = require_end_of_stream();
-    var staticCompose = require_compose();
-    var { addAbortSignalNoValidate } = require_add_abort_signal();
-    var { isWritable, isNodeStream } = require_utils8();
-    var { deprecate } = require_util20();
-    var {
-      ArrayPrototypePush,
-      Boolean: Boolean2,
-      MathFloor,
-      Number: Number2,
-      NumberIsNaN,
-      Promise: Promise2,
-      PromiseReject,
-      PromiseResolve,
-      PromisePrototypeThen,
-      Symbol: Symbol2
-    } = require_primordials();
-    var kEmpty = Symbol2("kEmpty");
-    var kEof = Symbol2("kEof");
-    function compose(stream, options) {
-      if (options != null) {
-        validateObject(options, "options");
+    webidl.nullableConverter = function(converter) {
+      return (V) => {
+        if (V === null) {
+          return V;
+        }
+        return converter(V);
+      };
+    };
+    webidl.converters.DOMString = function(V, opts = {}) {
+      if (V === null && opts.legacyNullToEmptyString) {
+        return "";
       }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
+      if (typeof V === "symbol") {
+        throw new TypeError("Could not convert argument of type symbol to string.");
       }
-      if (isNodeStream(stream) && !isWritable(stream)) {
-        throw new ERR_INVALID_ARG_VALUE("stream", stream, "must be writable");
+      return String(V);
+    };
+    webidl.converters.ByteString = function(V) {
+      const x = webidl.converters.DOMString(V);
+      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.`
+          );
+        }
       }
-      const composedStream = staticCompose(this, stream);
-      if (options !== null && options !== void 0 && options.signal) {
-        addAbortSignalNoValidate(options.signal, composedStream);
+      return x;
+    };
+    webidl.converters.USVString = toUSVString;
+    webidl.converters.boolean = function(V) {
+      const x = Boolean(V);
+      return x;
+    };
+    webidl.converters.any = function(V) {
+      return V;
+    };
+    webidl.converters["long long"] = function(V) {
+      const x = webidl.util.ConvertToInt(V, 64, "signed");
+      return x;
+    };
+    webidl.converters["unsigned long long"] = function(V) {
+      const x = webidl.util.ConvertToInt(V, 64, "unsigned");
+      return x;
+    };
+    webidl.converters["unsigned long"] = function(V) {
+      const x = webidl.util.ConvertToInt(V, 32, "unsigned");
+      return x;
+    };
+    webidl.converters["unsigned short"] = function(V, opts) {
+      const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts);
+      return x;
+    };
+    webidl.converters.ArrayBuffer = function(V, opts = {}) {
+      if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {
+        throw webidl.errors.conversionFailed({
+          prefix: `${V}`,
+          argument: `${V}`,
+          types: ["ArrayBuffer"]
+        });
       }
-      return composedStream;
-    }
-    function map2(fn, options) {
-      if (typeof fn !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
+      if (opts.allowShared === false && types.isSharedArrayBuffer(V)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
       }
-      if (options != null) {
-        validateObject(options, "options");
+      return V;
+    };
+    webidl.converters.TypedArray = function(V, T, opts = {}) {
+      if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {
+        throw webidl.errors.conversionFailed({
+          prefix: `${T.name}`,
+          argument: `${V}`,
+          types: [T.name]
+        });
       }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
+      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
       }
-      let concurrency = 1;
-      if ((options === null || options === void 0 ? void 0 : options.concurrency) != null) {
-        concurrency = MathFloor(options.concurrency);
+      return V;
+    };
+    webidl.converters.DataView = function(V, opts = {}) {
+      if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {
+        throw webidl.errors.exception({
+          header: "DataView",
+          message: "Object is not a DataView."
+        });
       }
-      let highWaterMark = concurrency - 1;
-      if ((options === null || options === void 0 ? void 0 : options.highWaterMark) != null) {
-        highWaterMark = MathFloor(options.highWaterMark);
+      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
       }
-      validateInteger(concurrency, "options.concurrency", 1);
-      validateInteger(highWaterMark, "options.highWaterMark", 0);
-      highWaterMark += concurrency;
-      return async function* map3() {
-        const signal = require_util20().AbortSignalAny(
-          [options === null || options === void 0 ? void 0 : options.signal].filter(Boolean2)
-        );
-        const stream = this;
-        const queue = [];
-        const signalOpt = {
-          signal
-        };
-        let next;
-        let resume;
-        let done = false;
-        let cnt = 0;
-        function onCatch() {
-          done = true;
-          afterItemProcessed();
-        }
-        function afterItemProcessed() {
-          cnt -= 1;
-          maybeResume();
-        }
-        function maybeResume() {
-          if (resume && !done && cnt < concurrency && queue.length < highWaterMark) {
-            resume();
-            resume = null;
-          }
-        }
-        async function pump() {
-          try {
-            for await (let val of stream) {
-              if (done) {
-                return;
-              }
-              if (signal.aborted) {
-                throw new AbortError();
-              }
-              try {
-                val = fn(val, signalOpt);
-                if (val === kEmpty) {
-                  continue;
-                }
-                val = PromiseResolve(val);
-              } catch (err) {
-                val = PromiseReject(err);
-              }
-              cnt += 1;
-              PromisePrototypeThen(val, afterItemProcessed, onCatch);
-              queue.push(val);
-              if (next) {
-                next();
-                next = null;
-              }
-              if (!done && (queue.length >= highWaterMark || cnt >= concurrency)) {
-                await new Promise2((resolve5) => {
-                  resume = resolve5;
-                });
-              }
-            }
-            queue.push(kEof);
-          } catch (err) {
-            const val = PromiseReject(err);
-            PromisePrototypeThen(val, afterItemProcessed, onCatch);
-            queue.push(val);
-          } finally {
-            done = true;
-            if (next) {
-              next();
-              next = null;
-            }
-          }
-        }
-        pump();
-        try {
-          while (true) {
-            while (queue.length > 0) {
-              const val = await queue[0];
-              if (val === kEof) {
-                return;
-              }
-              if (signal.aborted) {
-                throw new AbortError();
-              }
-              if (val !== kEmpty) {
-                yield val;
-              }
-              queue.shift();
-              maybeResume();
-            }
-            await new Promise2((resolve5) => {
-              next = resolve5;
-            });
-          }
-        } finally {
-          done = true;
-          if (resume) {
-            resume();
-            resume = null;
-          }
-        }
-      }.call(this);
-    }
-    function asIndexedPairs(options = void 0) {
-      if (options != null) {
-        validateObject(options, "options");
+      return V;
+    };
+    webidl.converters.BufferSource = function(V, opts = {}) {
+      if (types.isAnyArrayBuffer(V)) {
+        return webidl.converters.ArrayBuffer(V, opts);
       }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
+      if (types.isTypedArray(V)) {
+        return webidl.converters.TypedArray(V, V.constructor);
       }
-      return async function* asIndexedPairs2() {
-        let index = 0;
-        for await (const val of this) {
-          var _options$signal;
-          if (options !== null && options !== void 0 && (_options$signal = options.signal) !== null && _options$signal !== void 0 && _options$signal.aborted) {
-            throw new AbortError({
-              cause: options.signal.reason
-            });
-          }
-          yield [index++, val];
+      if (types.isDataView(V)) {
+        return webidl.converters.DataView(V, opts);
+      }
+      throw new TypeError(`Could not convert ${V} to a BufferSource.`);
+    };
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.ByteString
+    );
+    webidl.converters["sequence>"] = webidl.sequenceConverter(
+      webidl.converters["sequence"]
+    );
+    webidl.converters["record"] = webidl.recordConverter(
+      webidl.converters.ByteString,
+      webidl.converters.ByteString
+    );
+    module2.exports = {
+      webidl
+    };
+  }
+});
+
+// node_modules/undici/lib/fetch/dataURL.js
+var require_dataURL = __commonJS({
+  "node_modules/undici/lib/fetch/dataURL.js"(exports2, module2) {
+    var assert = require("assert");
+    var { atob: atob2 } = require("buffer");
+    var { isomorphicDecode } = require_util25();
+    var encoder = new TextEncoder();
+    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/;
+    var HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/;
+    var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/;
+    function dataURLProcessor(dataURL) {
+      assert(dataURL.protocol === "data:");
+      let input = URLSerializer(dataURL, true);
+      input = input.slice(5);
+      const position = { position: 0 };
+      let mimeType = collectASequenceOfCodePointsFast(
+        ",",
+        input,
+        position
+      );
+      const mimeTypeLength = mimeType.length;
+      mimeType = removeASCIIWhitespace(mimeType, true, true);
+      if (position.position >= input.length) {
+        return "failure";
+      }
+      position.position++;
+      const encodedBody = input.slice(mimeTypeLength + 1);
+      let body = stringPercentDecode(encodedBody);
+      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
+        const stringBody = isomorphicDecode(body);
+        body = forgivingBase64(stringBody);
+        if (body === "failure") {
+          return "failure";
         }
-      }.call(this);
-    }
-    async function some(fn, options = void 0) {
-      for await (const unused of filter.call(this, fn, options)) {
-        return true;
+        mimeType = mimeType.slice(0, -6);
+        mimeType = mimeType.replace(/(\u0020)+$/, "");
+        mimeType = mimeType.slice(0, -1);
       }
-      return false;
-    }
-    async function every(fn, options = void 0) {
-      if (typeof fn !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
+      if (mimeType.startsWith(";")) {
+        mimeType = "text/plain" + mimeType;
       }
-      return !await some.call(
-        this,
-        async (...args) => {
-          return !await fn(...args);
-        },
-        options
-      );
-    }
-    async function find2(fn, options) {
-      for await (const result of filter.call(this, fn, options)) {
-        return result;
+      let mimeTypeRecord = parseMIMEType(mimeType);
+      if (mimeTypeRecord === "failure") {
+        mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
       }
-      return void 0;
+      return { mimeType: mimeTypeRecord, body };
     }
-    async function forEach(fn, options) {
-      if (typeof fn !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
+    function URLSerializer(url, excludeFragment = false) {
+      if (!excludeFragment) {
+        return url.href;
       }
-      async function forEachFn(value, options2) {
-        await fn(value, options2);
-        return kEmpty;
+      const href = url.href;
+      const hashLength = url.hash.length;
+      return hashLength === 0 ? href : href.substring(0, href.length - hashLength);
+    }
+    function collectASequenceOfCodePoints(condition, input, position) {
+      let result = "";
+      while (position.position < input.length && condition(input[position.position])) {
+        result += input[position.position];
+        position.position++;
       }
-      for await (const unused of map2.call(this, forEachFn, options)) ;
+      return result;
     }
-    function filter(fn, options) {
-      if (typeof fn !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
+    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);
       }
-      async function filterFn(value, options2) {
-        if (await fn(value, options2)) {
-          return value;
+      position.position = idx;
+      return input.slice(start, position.position);
+    }
+    function stringPercentDecode(input) {
+      const bytes = encoder.encode(input);
+      return percentDecode(bytes);
+    }
+    function percentDecode(input) {
+      const output = [];
+      for (let i = 0; i < input.length; i++) {
+        const byte = input[i];
+        if (byte !== 37) {
+          output.push(byte);
+        } else if (byte === 37 && !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i + 1], input[i + 2]))) {
+          output.push(37);
+        } else {
+          const nextTwoBytes = String.fromCharCode(input[i + 1], input[i + 2]);
+          const bytePoint = Number.parseInt(nextTwoBytes, 16);
+          output.push(bytePoint);
+          i += 2;
         }
-        return kEmpty;
       }
-      return map2.call(this, filterFn, options);
+      return Uint8Array.from(output);
     }
-    var ReduceAwareErrMissingArgs = class extends ERR_MISSING_ARGS {
-      constructor() {
-        super("reduce");
-        this.message = "Reduce of an empty stream requires an initial value";
-      }
-    };
-    async function reduce(reducer, initialValue, options) {
-      var _options$signal2;
-      if (typeof reducer !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2("reducer", ["Function", "AsyncFunction"], reducer);
-      }
-      if (options != null) {
-        validateObject(options, "options");
-      }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
+    function parseMIMEType(input) {
+      input = removeHTTPWhitespace(input, true, true);
+      const position = { position: 0 };
+      const type2 = collectASequenceOfCodePointsFast(
+        "/",
+        input,
+        position
+      );
+      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
+        return "failure";
       }
-      let hasInitialValue = arguments.length > 1;
-      if (options !== null && options !== void 0 && (_options$signal2 = options.signal) !== null && _options$signal2 !== void 0 && _options$signal2.aborted) {
-        const err = new AbortError(void 0, {
-          cause: options.signal.reason
-        });
-        this.once("error", () => {
-        });
-        await finished(this.destroy(err));
-        throw err;
+      if (position.position > input.length) {
+        return "failure";
       }
-      const ac = new AbortController2();
-      const signal = ac.signal;
-      if (options !== null && options !== void 0 && options.signal) {
-        const opts = {
-          once: true,
-          [kWeakHandler]: this,
-          [kResistStopPropagation]: true
-        };
-        options.signal.addEventListener("abort", () => ac.abort(), opts);
+      position.position++;
+      let subtype = collectASequenceOfCodePointsFast(
+        ";",
+        input,
+        position
+      );
+      subtype = removeHTTPWhitespace(subtype, false, true);
+      if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {
+        return "failure";
       }
-      let gotAnyItemFromStream = false;
-      try {
-        for await (const value of this) {
-          var _options$signal3;
-          gotAnyItemFromStream = true;
-          if (options !== null && options !== void 0 && (_options$signal3 = options.signal) !== null && _options$signal3 !== void 0 && _options$signal3.aborted) {
-            throw new AbortError();
+      const typeLowercase = type2.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;
           }
-          if (!hasInitialValue) {
-            initialValue = value;
-            hasInitialValue = true;
-          } else {
-            initialValue = await reducer(initialValue, value, {
-              signal
-            });
+          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 (!gotAnyItemFromStream && !hasInitialValue) {
-          throw new ReduceAwareErrMissingArgs();
+        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);
         }
-      } finally {
-        ac.abort();
       }
-      return initialValue;
+      return mimeType;
     }
-    async function toArray2(options) {
-      if (options != null) {
-        validateObject(options, "options");
+    function forgivingBase64(data) {
+      data = data.replace(/[\u0009\u000A\u000C\u000D\u0020]/g, "");
+      if (data.length % 4 === 0) {
+        data = data.replace(/=?=$/, "");
       }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
+      if (data.length % 4 === 1) {
+        return "failure";
       }
-      const result = [];
-      for await (const val of this) {
-        var _options$signal4;
-        if (options !== null && options !== void 0 && (_options$signal4 = options.signal) !== null && _options$signal4 !== void 0 && _options$signal4.aborted) {
-          throw new AbortError(void 0, {
-            cause: options.signal.reason
-          });
-        }
-        ArrayPrototypePush(result, val);
+      if (/[^+/0-9A-Za-z]/.test(data)) {
+        return "failure";
       }
-      return result;
+      const binary2 = atob2(data);
+      const bytes = new Uint8Array(binary2.length);
+      for (let byte = 0; byte < binary2.length; byte++) {
+        bytes[byte] = binary2.charCodeAt(byte);
+      }
+      return bytes;
     }
-    function flatMap(fn, options) {
-      const values = map2.call(this, fn, options);
-      return async function* flatMap2() {
-        for await (const val of values) {
-          yield* val;
+    function collectAnHTTPQuotedString(input, position, extractValue) {
+      const positionStart = position.position;
+      let value = "";
+      assert(input[position.position] === '"');
+      position.position++;
+      while (true) {
+        value += collectASequenceOfCodePoints(
+          (char) => char !== '"' && char !== "\\",
+          input,
+          position
+        );
+        if (position.position >= input.length) {
+          break;
+        }
+        const quoteOrBackslash = input[position.position];
+        position.position++;
+        if (quoteOrBackslash === "\\") {
+          if (position.position >= input.length) {
+            value += "\\";
+            break;
+          }
+          value += input[position.position];
+          position.position++;
+        } else {
+          assert(quoteOrBackslash === '"');
+          break;
         }
-      }.call(this);
-    }
-    function toIntegerOrInfinity(number) {
-      number = Number2(number);
-      if (NumberIsNaN(number)) {
-        return 0;
       }
-      if (number < 0) {
-        throw new ERR_OUT_OF_RANGE("number", ">= 0", number);
+      if (extractValue) {
+        return value;
       }
-      return number;
+      return input.slice(positionStart, position.position);
     }
-    function drop(number, options = void 0) {
-      if (options != null) {
-        validateObject(options, "options");
+    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;
       }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
+      return serialization;
+    }
+    function isHTTPWhiteSpace(char) {
+      return char === "\r" || char === "\n" || char === "	" || char === " ";
+    }
+    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
+      let lead = 0;
+      let trail = str2.length - 1;
+      if (leading) {
+        for (; lead < str2.length && isHTTPWhiteSpace(str2[lead]); lead++) ;
       }
-      number = toIntegerOrInfinity(number);
-      return async function* drop2() {
-        var _options$signal5;
-        if (options !== null && options !== void 0 && (_options$signal5 = options.signal) !== null && _options$signal5 !== void 0 && _options$signal5.aborted) {
-          throw new AbortError();
-        }
-        for await (const val of this) {
-          var _options$signal6;
-          if (options !== null && options !== void 0 && (_options$signal6 = options.signal) !== null && _options$signal6 !== void 0 && _options$signal6.aborted) {
-            throw new AbortError();
-          }
-          if (number-- <= 0) {
-            yield val;
-          }
-        }
-      }.call(this);
+      if (trailing) {
+        for (; trail > 0 && isHTTPWhiteSpace(str2[trail]); trail--) ;
+      }
+      return str2.slice(lead, trail + 1);
     }
-    function take(number, options = void 0) {
-      if (options != null) {
-        validateObject(options, "options");
+    function isASCIIWhitespace(char) {
+      return char === "\r" || char === "\n" || char === "	" || char === "\f" || char === " ";
+    }
+    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
+      let lead = 0;
+      let trail = str2.length - 1;
+      if (leading) {
+        for (; lead < str2.length && isASCIIWhitespace(str2[lead]); lead++) ;
       }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
+      if (trailing) {
+        for (; trail > 0 && isASCIIWhitespace(str2[trail]); trail--) ;
       }
-      number = toIntegerOrInfinity(number);
-      return async function* take2() {
-        var _options$signal7;
-        if (options !== null && options !== void 0 && (_options$signal7 = options.signal) !== null && _options$signal7 !== void 0 && _options$signal7.aborted) {
-          throw new AbortError();
-        }
-        for await (const val of this) {
-          var _options$signal8;
-          if (options !== null && options !== void 0 && (_options$signal8 = options.signal) !== null && _options$signal8 !== void 0 && _options$signal8.aborted) {
-            throw new AbortError();
-          }
-          if (number-- > 0) {
-            yield val;
-          }
-          if (number <= 0) {
-            return;
-          }
-        }
-      }.call(this);
+      return str2.slice(lead, trail + 1);
     }
-    module2.exports.streamReturningOperators = {
-      asIndexedPairs: deprecate(asIndexedPairs, "readable.asIndexedPairs will be removed in a future version."),
-      drop,
-      filter,
-      flatMap,
-      map: map2,
-      take,
-      compose
-    };
-    module2.exports.promiseReturningOperators = {
-      every,
-      forEach,
-      reduce,
-      toArray: toArray2,
-      some,
-      find: find2
+    module2.exports = {
+      dataURLProcessor,
+      URLSerializer,
+      collectASequenceOfCodePoints,
+      collectASequenceOfCodePointsFast,
+      stringPercentDecode,
+      parseMIMEType,
+      collectAnHTTPQuotedString,
+      serializeAMimeType
     };
   }
 });
 
-// node_modules/readable-stream/lib/stream/promises.js
-var require_promises = __commonJS({
-  "node_modules/readable-stream/lib/stream/promises.js"(exports2, module2) {
+// node_modules/undici/lib/fetch/file.js
+var require_file5 = __commonJS({
+  "node_modules/undici/lib/fetch/file.js"(exports2, module2) {
     "use strict";
-    var { ArrayPrototypePop, Promise: Promise2 } = require_primordials();
-    var { isIterable, isNodeStream, isWebStream } = require_utils8();
-    var { pipelineImpl: pl } = require_pipeline4();
-    var { finished } = require_end_of_stream();
-    require_stream2();
-    function pipeline(...streams) {
-      return new Promise2((resolve5, reject) => {
-        let signal;
-        let end;
-        const lastArg = streams[streams.length - 1];
-        if (lastArg && typeof lastArg === "object" && !isNodeStream(lastArg) && !isIterable(lastArg) && !isWebStream(lastArg)) {
-          const options = ArrayPrototypePop(streams);
-          signal = options.signal;
-          end = options.end;
-        }
-        pl(
-          streams,
-          (err, value) => {
-            if (err) {
-              reject(err);
-            } else {
-              resolve5(value);
+    var { Blob: Blob2, File: NativeFile } = require("buffer");
+    var { types } = require("util");
+    var { kState } = require_symbols12();
+    var { isBlobLike } = require_util25();
+    var { webidl } = require_webidl3();
+    var { parseMIMEType, serializeAMimeType } = require_dataURL();
+    var { kEnumerableProperty } = require_util24();
+    var encoder = new TextEncoder();
+    var File2 = class _File extends Blob2 {
+      constructor(fileBits, fileName, options = {}) {
+        webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" });
+        fileBits = webidl.converters["sequence"](fileBits);
+        fileName = webidl.converters.USVString(fileName);
+        options = webidl.converters.FilePropertyBag(options);
+        const n = fileName;
+        let t = options.type;
+        let d;
+        substep: {
+          if (t) {
+            t = parseMIMEType(t);
+            if (t === "failure") {
+              t = "";
+              break substep;
             }
-          },
-          {
-            signal,
-            end
+            t = serializeAMimeType(t).toLowerCase();
           }
-        );
-      });
-    }
-    module2.exports = {
-      finished,
-      pipeline
-    };
-  }
-});
-
-// node_modules/readable-stream/lib/stream.js
-var require_stream2 = __commonJS({
-  "node_modules/readable-stream/lib/stream.js"(exports2, module2) {
-    var { Buffer: Buffer2 } = require("buffer");
-    var { ObjectDefineProperty, ObjectKeys, ReflectApply } = require_primordials();
-    var {
-      promisify: { custom: customPromisify }
-    } = require_util20();
-    var { streamReturningOperators, promiseReturningOperators } = require_operators();
-    var {
-      codes: { ERR_ILLEGAL_CONSTRUCTOR }
-    } = require_errors5();
-    var compose = require_compose();
-    var { setDefaultHighWaterMark, getDefaultHighWaterMark } = require_state3();
-    var { pipeline } = require_pipeline4();
-    var { destroyer } = require_destroy2();
-    var eos = require_end_of_stream();
-    var promises3 = require_promises();
-    var utils = require_utils8();
-    var Stream = module2.exports = require_legacy().Stream;
-    Stream.isDestroyed = utils.isDestroyed;
-    Stream.isDisturbed = utils.isDisturbed;
-    Stream.isErrored = utils.isErrored;
-    Stream.isReadable = utils.isReadable;
-    Stream.isWritable = utils.isWritable;
-    Stream.Readable = require_readable4();
-    for (const key of ObjectKeys(streamReturningOperators)) {
-      let fn2 = function(...args) {
-        if (new.target) {
-          throw ERR_ILLEGAL_CONSTRUCTOR();
-        }
-        return Stream.Readable.from(ReflectApply(op, this, args));
-      };
-      fn = fn2;
-      const op = streamReturningOperators[key];
-      ObjectDefineProperty(fn2, "name", {
-        __proto__: null,
-        value: op.name
-      });
-      ObjectDefineProperty(fn2, "length", {
-        __proto__: null,
-        value: op.length
-      });
-      ObjectDefineProperty(Stream.Readable.prototype, key, {
-        __proto__: null,
-        value: fn2,
-        enumerable: false,
-        configurable: true,
-        writable: true
-      });
-    }
-    var fn;
-    for (const key of ObjectKeys(promiseReturningOperators)) {
-      let fn2 = function(...args) {
-        if (new.target) {
-          throw ERR_ILLEGAL_CONSTRUCTOR();
+          d = options.lastModified;
         }
-        return ReflectApply(op, this, args);
-      };
-      fn = fn2;
-      const op = promiseReturningOperators[key];
-      ObjectDefineProperty(fn2, "name", {
-        __proto__: null,
-        value: op.name
-      });
-      ObjectDefineProperty(fn2, "length", {
-        __proto__: null,
-        value: op.length
-      });
-      ObjectDefineProperty(Stream.Readable.prototype, key, {
-        __proto__: null,
-        value: fn2,
-        enumerable: false,
-        configurable: true,
-        writable: true
-      });
-    }
-    var fn;
-    Stream.Writable = require_writable();
-    Stream.Duplex = require_duplex();
-    Stream.Transform = require_transform();
-    Stream.PassThrough = require_passthrough2();
-    Stream.pipeline = pipeline;
-    var { addAbortSignal } = require_add_abort_signal();
-    Stream.addAbortSignal = addAbortSignal;
-    Stream.finished = eos;
-    Stream.destroy = destroyer;
-    Stream.compose = compose;
-    Stream.setDefaultHighWaterMark = setDefaultHighWaterMark;
-    Stream.getDefaultHighWaterMark = getDefaultHighWaterMark;
-    ObjectDefineProperty(Stream, "promises", {
-      __proto__: null,
-      configurable: true,
-      enumerable: true,
-      get() {
-        return promises3;
+        super(processBlobParts(fileBits, options), { type: t });
+        this[kState] = {
+          name: n,
+          lastModified: d,
+          type: t
+        };
       }
-    });
-    ObjectDefineProperty(pipeline, customPromisify, {
-      __proto__: null,
-      enumerable: true,
-      get() {
-        return promises3.pipeline;
+      get name() {
+        webidl.brandCheck(this, _File);
+        return this[kState].name;
       }
-    });
-    ObjectDefineProperty(eos, customPromisify, {
-      __proto__: null,
-      enumerable: true,
-      get() {
-        return promises3.finished;
+      get lastModified() {
+        webidl.brandCheck(this, _File);
+        return this[kState].lastModified;
+      }
+      get type() {
+        webidl.brandCheck(this, _File);
+        return this[kState].type;
       }
-    });
-    Stream.Stream = Stream;
-    Stream._isUint8Array = function isUint8Array(value) {
-      return value instanceof Uint8Array;
     };
-    Stream._uint8ArrayToBuffer = function _uint8ArrayToBuffer(chunk) {
-      return Buffer2.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
+    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";
+      }
     };
-  }
-});
-
-// node_modules/readable-stream/lib/ours/index.js
-var require_ours = __commonJS({
-  "node_modules/readable-stream/lib/ours/index.js"(exports2, module2) {
-    "use strict";
-    var Stream = require("stream");
-    if (Stream && process.env.READABLE_STREAM === "disable") {
-      const promises3 = Stream.promises;
-      module2.exports._uint8ArrayToBuffer = Stream._uint8ArrayToBuffer;
-      module2.exports._isUint8Array = Stream._isUint8Array;
-      module2.exports.isDisturbed = Stream.isDisturbed;
-      module2.exports.isErrored = Stream.isErrored;
-      module2.exports.isReadable = Stream.isReadable;
-      module2.exports.Readable = Stream.Readable;
-      module2.exports.Writable = Stream.Writable;
-      module2.exports.Duplex = Stream.Duplex;
-      module2.exports.Transform = Stream.Transform;
-      module2.exports.PassThrough = Stream.PassThrough;
-      module2.exports.addAbortSignal = Stream.addAbortSignal;
-      module2.exports.finished = Stream.finished;
-      module2.exports.destroy = Stream.destroy;
-      module2.exports.pipeline = Stream.pipeline;
-      module2.exports.compose = Stream.compose;
-      Object.defineProperty(Stream, "promises", {
-        configurable: true,
-        enumerable: true,
-        get() {
-          return promises3;
-        }
-      });
-      module2.exports.Stream = Stream.Stream;
-    } else {
-      const CustomStream = require_stream2();
-      const promises3 = require_promises();
-      const originalDestroy = CustomStream.Readable.destroy;
-      module2.exports = CustomStream.Readable;
-      module2.exports._uint8ArrayToBuffer = CustomStream._uint8ArrayToBuffer;
-      module2.exports._isUint8Array = CustomStream._isUint8Array;
-      module2.exports.isDisturbed = CustomStream.isDisturbed;
-      module2.exports.isErrored = CustomStream.isErrored;
-      module2.exports.isReadable = CustomStream.isReadable;
-      module2.exports.Readable = CustomStream.Readable;
-      module2.exports.Writable = CustomStream.Writable;
-      module2.exports.Duplex = CustomStream.Duplex;
-      module2.exports.Transform = CustomStream.Transform;
-      module2.exports.PassThrough = CustomStream.PassThrough;
-      module2.exports.addAbortSignal = CustomStream.addAbortSignal;
-      module2.exports.finished = CustomStream.finished;
-      module2.exports.destroy = CustomStream.destroy;
-      module2.exports.destroy = originalDestroy;
-      module2.exports.pipeline = CustomStream.pipeline;
-      module2.exports.compose = CustomStream.compose;
-      Object.defineProperty(CustomStream, "promises", {
-        configurable: true,
-        enumerable: true,
-        get() {
-          return promises3;
+    Object.defineProperties(File2.prototype, {
+      [Symbol.toStringTag]: {
+        value: "File",
+        configurable: true
+      },
+      name: kEnumerableProperty,
+      lastModified: kEnumerableProperty
+    });
+    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
+    webidl.converters.BlobPart = function(V, opts) {
+      if (webidl.util.Type(V) === "Object") {
+        if (isBlobLike(V)) {
+          return webidl.converters.Blob(V, { strict: false });
+        }
+        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
+          return webidl.converters.BufferSource(V, opts);
         }
-      });
-      module2.exports.Stream = CustomStream.Stream;
-    }
-    module2.exports.default = module2.exports;
-  }
-});
-
-// node_modules/lodash/_arrayPush.js
-var require_arrayPush = __commonJS({
-  "node_modules/lodash/_arrayPush.js"(exports2, module2) {
-    function arrayPush(array, values) {
-      var index = -1, length = values.length, offset = array.length;
-      while (++index < length) {
-        array[offset + index] = values[index];
       }
-      return array;
-    }
-    module2.exports = arrayPush;
-  }
-});
-
-// node_modules/lodash/_isFlattenable.js
-var require_isFlattenable = __commonJS({
-  "node_modules/lodash/_isFlattenable.js"(exports2, module2) {
-    var Symbol2 = require_Symbol();
-    var isArguments = require_isArguments();
-    var isArray = require_isArray();
-    var spreadableSymbol = Symbol2 ? Symbol2.isConcatSpreadable : void 0;
-    function isFlattenable(value) {
-      return isArray(value) || isArguments(value) || !!(spreadableSymbol && value && value[spreadableSymbol]);
-    }
-    module2.exports = isFlattenable;
-  }
-});
-
-// node_modules/lodash/_baseFlatten.js
-var require_baseFlatten = __commonJS({
-  "node_modules/lodash/_baseFlatten.js"(exports2, module2) {
-    var arrayPush = require_arrayPush();
-    var isFlattenable = require_isFlattenable();
-    function baseFlatten(array, depth, predicate, isStrict, result) {
-      var index = -1, length = array.length;
-      predicate || (predicate = isFlattenable);
-      result || (result = []);
-      while (++index < length) {
-        var value = array[index];
-        if (depth > 0 && predicate(value)) {
-          if (depth > 1) {
-            baseFlatten(value, depth - 1, predicate, isStrict, result);
+      return webidl.converters.USVString(V, opts);
+    };
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.BlobPart
+    );
+    webidl.converters.FilePropertyBag = webidl.dictionaryConverter([
+      {
+        key: "lastModified",
+        converter: webidl.converters["long long"],
+        get defaultValue() {
+          return Date.now();
+        }
+      },
+      {
+        key: "type",
+        converter: webidl.converters.DOMString,
+        defaultValue: ""
+      },
+      {
+        key: "endings",
+        converter: (value) => {
+          value = webidl.converters.DOMString(value);
+          value = value.toLowerCase();
+          if (value !== "native") {
+            value = "transparent";
+          }
+          return value;
+        },
+        defaultValue: "transparent"
+      }
+    ]);
+    function processBlobParts(parts, options) {
+      const bytes = [];
+      for (const element of parts) {
+        if (typeof element === "string") {
+          let s = element;
+          if (options.endings === "native") {
+            s = convertLineEndingsNative(s);
+          }
+          bytes.push(encoder.encode(s));
+        } else if (types.isAnyArrayBuffer(element) || types.isTypedArray(element)) {
+          if (!element.buffer) {
+            bytes.push(new Uint8Array(element));
           } else {
-            arrayPush(result, value);
+            bytes.push(
+              new Uint8Array(element.buffer, element.byteOffset, element.byteLength)
+            );
           }
-        } else if (!isStrict) {
-          result[result.length] = value;
+        } else if (isBlobLike(element)) {
+          bytes.push(element);
         }
       }
-      return result;
-    }
-    module2.exports = baseFlatten;
-  }
-});
-
-// node_modules/lodash/flatten.js
-var require_flatten = __commonJS({
-  "node_modules/lodash/flatten.js"(exports2, module2) {
-    var baseFlatten = require_baseFlatten();
-    function flatten(array) {
-      var length = array == null ? 0 : array.length;
-      return length ? baseFlatten(array, 1) : [];
-    }
-    module2.exports = flatten;
-  }
-});
-
-// node_modules/lodash/_nativeCreate.js
-var require_nativeCreate = __commonJS({
-  "node_modules/lodash/_nativeCreate.js"(exports2, module2) {
-    var getNative = require_getNative();
-    var nativeCreate = getNative(Object, "create");
-    module2.exports = nativeCreate;
-  }
-});
-
-// node_modules/lodash/_hashClear.js
-var require_hashClear = __commonJS({
-  "node_modules/lodash/_hashClear.js"(exports2, module2) {
-    var nativeCreate = require_nativeCreate();
-    function hashClear() {
-      this.__data__ = nativeCreate ? nativeCreate(null) : {};
-      this.size = 0;
-    }
-    module2.exports = hashClear;
-  }
-});
-
-// node_modules/lodash/_hashDelete.js
-var require_hashDelete = __commonJS({
-  "node_modules/lodash/_hashDelete.js"(exports2, module2) {
-    function hashDelete(key) {
-      var result = this.has(key) && delete this.__data__[key];
-      this.size -= result ? 1 : 0;
-      return result;
+      return bytes;
     }
-    module2.exports = hashDelete;
-  }
-});
-
-// node_modules/lodash/_hashGet.js
-var require_hashGet = __commonJS({
-  "node_modules/lodash/_hashGet.js"(exports2, module2) {
-    var nativeCreate = require_nativeCreate();
-    var HASH_UNDEFINED = "__lodash_hash_undefined__";
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    function hashGet(key) {
-      var data = this.__data__;
-      if (nativeCreate) {
-        var result = data[key];
-        return result === HASH_UNDEFINED ? void 0 : result;
+    function convertLineEndingsNative(s) {
+      let nativeLineEnding = "\n";
+      if (process.platform === "win32") {
+        nativeLineEnding = "\r\n";
       }
-      return hasOwnProperty.call(data, key) ? data[key] : void 0;
-    }
-    module2.exports = hashGet;
-  }
-});
-
-// node_modules/lodash/_hashHas.js
-var require_hashHas = __commonJS({
-  "node_modules/lodash/_hashHas.js"(exports2, module2) {
-    var nativeCreate = require_nativeCreate();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    function hashHas(key) {
-      var data = this.__data__;
-      return nativeCreate ? data[key] !== void 0 : hasOwnProperty.call(data, key);
+      return s.replace(/\r?\n/g, nativeLineEnding);
     }
-    module2.exports = hashHas;
-  }
-});
-
-// node_modules/lodash/_hashSet.js
-var require_hashSet = __commonJS({
-  "node_modules/lodash/_hashSet.js"(exports2, module2) {
-    var nativeCreate = require_nativeCreate();
-    var HASH_UNDEFINED = "__lodash_hash_undefined__";
-    function hashSet(key, value) {
-      var data = this.__data__;
-      this.size += this.has(key) ? 0 : 1;
-      data[key] = nativeCreate && value === void 0 ? HASH_UNDEFINED : value;
-      return this;
+    function isFileLike(object) {
+      return NativeFile && object instanceof NativeFile || object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
     }
-    module2.exports = hashSet;
+    module2.exports = { File: File2, FileLike, isFileLike };
   }
 });
 
-// node_modules/lodash/_Hash.js
-var require_Hash = __commonJS({
-  "node_modules/lodash/_Hash.js"(exports2, module2) {
-    var hashClear = require_hashClear();
-    var hashDelete = require_hashDelete();
-    var hashGet = require_hashGet();
-    var hashHas = require_hashHas();
-    var hashSet = require_hashSet();
-    function Hash(entries) {
-      var index = -1, length = entries == null ? 0 : entries.length;
-      this.clear();
-      while (++index < length) {
-        var entry = entries[index];
-        this.set(entry[0], entry[1]);
+// node_modules/undici/lib/fetch/formdata.js
+var require_formdata3 = __commonJS({
+  "node_modules/undici/lib/fetch/formdata.js"(exports2, module2) {
+    "use strict";
+    var { isBlobLike, toUSVString, makeIterator } = require_util25();
+    var { kState } = require_symbols12();
+    var { File: UndiciFile, FileLike, isFileLike } = require_file5();
+    var { webidl } = require_webidl3();
+    var { Blob: Blob2, File: NativeFile } = require("buffer");
+    var File2 = NativeFile ?? UndiciFile;
+    var FormData2 = class _FormData {
+      constructor(form) {
+        if (form !== void 0) {
+          throw webidl.errors.conversionFailed({
+            prefix: "FormData constructor",
+            argument: "Argument 1",
+            types: ["undefined"]
+          });
+        }
+        this[kState] = [];
       }
-    }
-    Hash.prototype.clear = hashClear;
-    Hash.prototype["delete"] = hashDelete;
-    Hash.prototype.get = hashGet;
-    Hash.prototype.has = hashHas;
-    Hash.prototype.set = hashSet;
-    module2.exports = Hash;
-  }
-});
-
-// node_modules/lodash/_listCacheClear.js
-var require_listCacheClear = __commonJS({
-  "node_modules/lodash/_listCacheClear.js"(exports2, module2) {
-    function listCacheClear() {
-      this.__data__ = [];
-      this.size = 0;
-    }
-    module2.exports = listCacheClear;
-  }
-});
-
-// node_modules/lodash/_assocIndexOf.js
-var require_assocIndexOf = __commonJS({
-  "node_modules/lodash/_assocIndexOf.js"(exports2, module2) {
-    var eq = require_eq2();
-    function assocIndexOf(array, key) {
-      var length = array.length;
-      while (length--) {
-        if (eq(array[length][0], key)) {
-          return length;
+      append(name, value, filename = void 0) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" });
+        if (arguments.length === 3 && !isBlobLike(value)) {
+          throw new TypeError(
+            "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"
+          );
         }
+        name = webidl.converters.USVString(name);
+        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
+        filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0;
+        const entry = makeEntry(name, value, filename);
+        this[kState].push(entry);
       }
-      return -1;
+      delete(name) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" });
+        name = webidl.converters.USVString(name);
+        this[kState] = this[kState].filter((entry) => entry.name !== name);
+      }
+      get(name) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" });
+        name = webidl.converters.USVString(name);
+        const idx = this[kState].findIndex((entry) => entry.name === name);
+        if (idx === -1) {
+          return null;
+        }
+        return this[kState][idx].value;
+      }
+      getAll(name) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" });
+        name = webidl.converters.USVString(name);
+        return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value);
+      }
+      has(name) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" });
+        name = webidl.converters.USVString(name);
+        return this[kState].findIndex((entry) => entry.name === name) !== -1;
+      }
+      set(name, value, filename = void 0) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" });
+        if (arguments.length === 3 && !isBlobLike(value)) {
+          throw new TypeError(
+            "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"
+          );
+        }
+        name = webidl.converters.USVString(name);
+        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
+        filename = arguments.length === 3 ? toUSVString(filename) : void 0;
+        const entry = makeEntry(name, value, filename);
+        const idx = this[kState].findIndex((entry2) => entry2.name === name);
+        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);
+        }
+      }
+      entries() {
+        webidl.brandCheck(this, _FormData);
+        return makeIterator(
+          () => this[kState].map((pair) => [pair.name, pair.value]),
+          "FormData",
+          "key+value"
+        );
+      }
+      keys() {
+        webidl.brandCheck(this, _FormData);
+        return makeIterator(
+          () => this[kState].map((pair) => [pair.name, pair.value]),
+          "FormData",
+          "key"
+        );
+      }
+      values() {
+        webidl.brandCheck(this, _FormData);
+        return makeIterator(
+          () => this[kState].map((pair) => [pair.name, pair.value]),
+          "FormData",
+          "value"
+        );
+      }
+      /**
+       * @param {(value: string, key: string, self: FormData) => void} callbackFn
+       * @param {unknown} thisArg
+       */
+      forEach(callbackFn, thisArg = globalThis) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" });
+        if (typeof callbackFn !== "function") {
+          throw new TypeError(
+            "Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'."
+          );
+        }
+        for (const [key, value] of this) {
+          callbackFn.apply(thisArg, [value, key, this]);
+        }
+      }
+    };
+    FormData2.prototype[Symbol.iterator] = FormData2.prototype.entries;
+    Object.defineProperties(FormData2.prototype, {
+      [Symbol.toStringTag]: {
+        value: "FormData",
+        configurable: true
+      }
+    });
+    function makeEntry(name, value, filename) {
+      name = Buffer.from(name).toString("utf8");
+      if (typeof value === "string") {
+        value = Buffer.from(value).toString("utf8");
+      } else {
+        if (!isFileLike(value)) {
+          value = value instanceof Blob2 ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
+        }
+        if (filename !== void 0) {
+          const options = {
+            type: value.type,
+            lastModified: value.lastModified
+          };
+          value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
+        }
+      }
+      return { name, value };
     }
-    module2.exports = assocIndexOf;
+    module2.exports = { FormData: FormData2 };
   }
 });
 
-// node_modules/lodash/_listCacheDelete.js
-var require_listCacheDelete = __commonJS({
-  "node_modules/lodash/_listCacheDelete.js"(exports2, module2) {
-    var assocIndexOf = require_assocIndexOf();
-    var arrayProto = Array.prototype;
-    var splice = arrayProto.splice;
-    function listCacheDelete(key) {
-      var data = this.__data__, index = assocIndexOf(data, key);
-      if (index < 0) {
-        return false;
+// node_modules/undici/lib/fetch/body.js
+var require_body3 = __commonJS({
+  "node_modules/undici/lib/fetch/body.js"(exports2, module2) {
+    "use strict";
+    var Busboy = require_main();
+    var util = require_util24();
+    var {
+      ReadableStreamFrom,
+      isBlobLike,
+      isReadableStreamLike,
+      readableStreamClose,
+      createDeferredPromise,
+      fullyReadBody
+    } = require_util25();
+    var { FormData: FormData2 } = require_formdata3();
+    var { kState } = require_symbols12();
+    var { webidl } = require_webidl3();
+    var { DOMException: DOMException2, structuredClone } = require_constants21();
+    var { Blob: Blob2, File: NativeFile } = require("buffer");
+    var { kBodyUsed } = require_symbols11();
+    var assert = require("assert");
+    var { isErrored } = require_util24();
+    var { isUint8Array, isArrayBuffer } = require("util/types");
+    var { File: UndiciFile } = require_file5();
+    var { parseMIMEType, serializeAMimeType } = require_dataURL();
+    var random;
+    try {
+      const crypto2 = require("node:crypto");
+      random = (max) => crypto2.randomInt(0, max);
+    } catch {
+      random = (max) => Math.floor(Math.random(max));
+    }
+    var ReadableStream2 = globalThis.ReadableStream;
+    var File2 = NativeFile ?? UndiciFile;
+    var textEncoder = new TextEncoder();
+    var textDecoder = new TextDecoder();
+    function extractBody(object, keepalive = false) {
+      if (!ReadableStream2) {
+        ReadableStream2 = require("stream/web").ReadableStream;
       }
-      var lastIndex = data.length - 1;
-      if (index == lastIndex) {
-        data.pop();
+      let stream = null;
+      if (object instanceof ReadableStream2) {
+        stream = object;
+      } else if (isBlobLike(object)) {
+        stream = object.stream();
       } else {
-        splice.call(data, index, 1);
+        stream = new ReadableStream2({
+          async pull(controller) {
+            controller.enqueue(
+              typeof source === "string" ? textEncoder.encode(source) : source
+            );
+            queueMicrotask(() => readableStreamClose(controller));
+          },
+          start() {
+          },
+          type: void 0
+        });
       }
-      --this.size;
-      return true;
+      assert(isReadableStreamLike(stream));
+      let action = null;
+      let source = null;
+      let length = null;
+      let type2 = null;
+      if (typeof object === "string") {
+        source = object;
+        type2 = "text/plain;charset=UTF-8";
+      } else if (object instanceof URLSearchParams) {
+        source = object.toString();
+        type2 = "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 = (str2) => str2.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}--`);
+        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;
+            }
+          }
+        };
+        type2 = "multipart/form-data; boundary=" + boundary;
+      } else if (isBlobLike(object)) {
+        source = object;
+        length = object.size;
+        if (object.type) {
+          type2 = 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 ReadableStream2 ? object : ReadableStreamFrom(object);
+      }
+      if (typeof source === "string" || util.isBuffer(source)) {
+        length = Buffer.byteLength(source);
+      }
+      if (action != null) {
+        let iterator2;
+        stream = new ReadableStream2({
+          async start() {
+            iterator2 = action(object)[Symbol.asyncIterator]();
+          },
+          async pull(controller) {
+            const { value, done } = await iterator2.next();
+            if (done) {
+              queueMicrotask(() => {
+                controller.close();
+              });
+            } else {
+              if (!isErrored(stream)) {
+                controller.enqueue(new Uint8Array(value));
+              }
+            }
+            return controller.desiredSize > 0;
+          },
+          async cancel(reason) {
+            await iterator2.return();
+          },
+          type: void 0
+        });
+      }
+      const body = { stream, source, length };
+      return [body, type2];
     }
-    module2.exports = listCacheDelete;
-  }
-});
-
-// node_modules/lodash/_listCacheGet.js
-var require_listCacheGet = __commonJS({
-  "node_modules/lodash/_listCacheGet.js"(exports2, module2) {
-    var assocIndexOf = require_assocIndexOf();
-    function listCacheGet(key) {
-      var data = this.__data__, index = assocIndexOf(data, key);
-      return index < 0 ? void 0 : data[index][1];
+    function safelyExtractBody(object, keepalive = false) {
+      if (!ReadableStream2) {
+        ReadableStream2 = require("stream/web").ReadableStream;
+      }
+      if (object instanceof ReadableStream2) {
+        assert(!util.isDisturbed(object), "The body has already been consumed.");
+        assert(!object.locked, "The stream is locked.");
+      }
+      return extractBody(object, keepalive);
     }
-    module2.exports = listCacheGet;
-  }
-});
-
-// node_modules/lodash/_listCacheHas.js
-var require_listCacheHas = __commonJS({
-  "node_modules/lodash/_listCacheHas.js"(exports2, module2) {
-    var assocIndexOf = require_assocIndexOf();
-    function listCacheHas(key) {
-      return assocIndexOf(this.__data__, key) > -1;
+    function cloneBody(body) {
+      const [out1, out2] = body.stream.tee();
+      const out2Clone = structuredClone(out2, { transfer: [out2] });
+      const [, finalClone] = out2Clone.tee();
+      body.stream = out1;
+      return {
+        stream: finalClone,
+        length: body.length,
+        source: body.source
+      };
     }
-    module2.exports = listCacheHas;
-  }
-});
-
-// node_modules/lodash/_listCacheSet.js
-var require_listCacheSet = __commonJS({
-  "node_modules/lodash/_listCacheSet.js"(exports2, module2) {
-    var assocIndexOf = require_assocIndexOf();
-    function listCacheSet(key, value) {
-      var data = this.__data__, index = assocIndexOf(data, key);
-      if (index < 0) {
-        ++this.size;
-        data.push([key, value]);
-      } else {
-        data[index][1] = value;
+    async function* consumeBody(body) {
+      if (body) {
+        if (isUint8Array(body)) {
+          yield body;
+        } else {
+          const stream = body.stream;
+          if (util.isDisturbed(stream)) {
+            throw new TypeError("The body has already been consumed.");
+          }
+          if (stream.locked) {
+            throw new TypeError("The stream is locked.");
+          }
+          stream[kBodyUsed] = true;
+          yield* stream;
+        }
       }
-      return this;
     }
-    module2.exports = listCacheSet;
-  }
-});
-
-// node_modules/lodash/_ListCache.js
-var require_ListCache = __commonJS({
-  "node_modules/lodash/_ListCache.js"(exports2, module2) {
-    var listCacheClear = require_listCacheClear();
-    var listCacheDelete = require_listCacheDelete();
-    var listCacheGet = require_listCacheGet();
-    var listCacheHas = require_listCacheHas();
-    var listCacheSet = require_listCacheSet();
-    function ListCache(entries) {
-      var index = -1, length = entries == null ? 0 : entries.length;
-      this.clear();
-      while (++index < length) {
-        var entry = entries[index];
-        this.set(entry[0], entry[1]);
+    function throwIfAborted(state) {
+      if (state.aborted) {
+        throw new DOMException2("The operation was aborted.", "AbortError");
       }
     }
-    ListCache.prototype.clear = listCacheClear;
-    ListCache.prototype["delete"] = listCacheDelete;
-    ListCache.prototype.get = listCacheGet;
-    ListCache.prototype.has = listCacheHas;
-    ListCache.prototype.set = listCacheSet;
-    module2.exports = ListCache;
-  }
-});
-
-// node_modules/lodash/_Map.js
-var require_Map = __commonJS({
-  "node_modules/lodash/_Map.js"(exports2, module2) {
-    var getNative = require_getNative();
-    var root = require_root();
-    var Map2 = getNative(root, "Map");
-    module2.exports = Map2;
-  }
-});
-
-// node_modules/lodash/_mapCacheClear.js
-var require_mapCacheClear = __commonJS({
-  "node_modules/lodash/_mapCacheClear.js"(exports2, module2) {
-    var Hash = require_Hash();
-    var ListCache = require_ListCache();
-    var Map2 = require_Map();
-    function mapCacheClear() {
-      this.size = 0;
-      this.__data__ = {
-        "hash": new Hash(),
-        "map": new (Map2 || ListCache)(),
-        "string": new Hash()
+    function bodyMixinMethods(instance) {
+      const methods = {
+        blob() {
+          return specConsumeBody(this, (bytes) => {
+            let mimeType = bodyMimeType(this);
+            if (mimeType === "failure") {
+              mimeType = "";
+            } else if (mimeType) {
+              mimeType = serializeAMimeType(mimeType);
+            }
+            return new Blob2([bytes], { type: mimeType });
+          }, instance);
+        },
+        arrayBuffer() {
+          return specConsumeBody(this, (bytes) => {
+            return new Uint8Array(bytes).buffer;
+          }, instance);
+        },
+        text() {
+          return specConsumeBody(this, utf8DecodeBytes, instance);
+        },
+        json() {
+          return specConsumeBody(this, parseJSONFromBytes, instance);
+        },
+        async formData() {
+          webidl.brandCheck(this, instance);
+          throwIfAborted(this[kState]);
+          const contentType = this.headers.get("Content-Type");
+          if (/multipart\/form-data/.test(contentType)) {
+            const headers = {};
+            for (const [key, value] of this.headers) headers[key.toLowerCase()] = value;
+            const responseFormData = new FormData2();
+            let busboy;
+            try {
+              busboy = new Busboy({
+                headers,
+                preservePath: true
+              });
+            } catch (err) {
+              throw new DOMException2(`${err}`, "AbortError");
+            }
+            busboy.on("field", (name, value) => {
+              responseFormData.append(name, value);
+            });
+            busboy.on("file", (name, value, filename, encoding, mimeType) => {
+              const chunks = [];
+              if (encoding === "base64" || encoding.toLowerCase() === "base64") {
+                let base64chunk = "";
+                value.on("data", (chunk) => {
+                  base64chunk += chunk.toString().replace(/[\r\n]/gm, "");
+                  const end = base64chunk.length - base64chunk.length % 4;
+                  chunks.push(Buffer.from(base64chunk.slice(0, end), "base64"));
+                  base64chunk = base64chunk.slice(end);
+                });
+                value.on("end", () => {
+                  chunks.push(Buffer.from(base64chunk, "base64"));
+                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
+                });
+              } else {
+                value.on("data", (chunk) => {
+                  chunks.push(chunk);
+                });
+                value.on("end", () => {
+                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
+                });
+              }
+            });
+            const busboyResolve = new Promise((resolve5, reject) => {
+              busboy.on("finish", resolve5);
+              busboy.on("error", (err) => reject(new TypeError(err)));
+            });
+            if (this.body !== null) for await (const chunk of consumeBody(this[kState].body)) busboy.write(chunk);
+            busboy.end();
+            await busboyResolve;
+            return responseFormData;
+          } else if (/application\/x-www-form-urlencoded/.test(contentType)) {
+            let entries;
+            try {
+              let text = "";
+              const streamingDecoder = new TextDecoder("utf-8", { ignoreBOM: true });
+              for await (const chunk of consumeBody(this[kState].body)) {
+                if (!isUint8Array(chunk)) {
+                  throw new TypeError("Expected Uint8Array chunk");
+                }
+                text += streamingDecoder.decode(chunk, { stream: true });
+              }
+              text += streamingDecoder.decode();
+              entries = new URLSearchParams(text);
+            } catch (err) {
+              throw Object.assign(new TypeError(), { cause: err });
+            }
+            const formData = new FormData2();
+            for (const [name, value] of entries) {
+              formData.append(name, value);
+            }
+            return formData;
+          } else {
+            await Promise.resolve();
+            throwIfAborted(this[kState]);
+            throw webidl.errors.exception({
+              header: `${instance.name}.formData`,
+              message: "Could not parse content as FormData."
+            });
+          }
+        }
       };
+      return methods;
     }
-    module2.exports = mapCacheClear;
-  }
-});
-
-// node_modules/lodash/_isKeyable.js
-var require_isKeyable = __commonJS({
-  "node_modules/lodash/_isKeyable.js"(exports2, module2) {
-    function isKeyable(value) {
-      var type2 = typeof value;
-      return type2 == "string" || type2 == "number" || type2 == "symbol" || type2 == "boolean" ? value !== "__proto__" : value === null;
+    function mixinBody(prototype) {
+      Object.assign(prototype.prototype, bodyMixinMethods(prototype));
     }
-    module2.exports = isKeyable;
-  }
-});
-
-// node_modules/lodash/_getMapData.js
-var require_getMapData = __commonJS({
-  "node_modules/lodash/_getMapData.js"(exports2, module2) {
-    var isKeyable = require_isKeyable();
-    function getMapData(map2, key) {
-      var data = map2.__data__;
-      return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map;
+    async function specConsumeBody(object, convertBytesToJSValue, instance) {
+      webidl.brandCheck(object, instance);
+      throwIfAborted(object[kState]);
+      if (bodyUnusable(object[kState].body)) {
+        throw new TypeError("Body is unusable");
+      }
+      const promise = createDeferredPromise();
+      const errorSteps = (error3) => promise.reject(error3);
+      const successSteps = (data) => {
+        try {
+          promise.resolve(convertBytesToJSValue(data));
+        } catch (e) {
+          errorSteps(e);
+        }
+      };
+      if (object[kState].body == null) {
+        successSteps(new Uint8Array());
+        return promise.promise;
+      }
+      await fullyReadBody(object[kState].body, successSteps, errorSteps);
+      return promise.promise;
     }
-    module2.exports = getMapData;
-  }
-});
-
-// node_modules/lodash/_mapCacheDelete.js
-var require_mapCacheDelete = __commonJS({
-  "node_modules/lodash/_mapCacheDelete.js"(exports2, module2) {
-    var getMapData = require_getMapData();
-    function mapCacheDelete(key) {
-      var result = getMapData(this, key)["delete"](key);
-      this.size -= result ? 1 : 0;
-      return result;
+    function bodyUnusable(body) {
+      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
     }
-    module2.exports = mapCacheDelete;
-  }
-});
-
-// node_modules/lodash/_mapCacheGet.js
-var require_mapCacheGet = __commonJS({
-  "node_modules/lodash/_mapCacheGet.js"(exports2, module2) {
-    var getMapData = require_getMapData();
-    function mapCacheGet(key) {
-      return getMapData(this, key).get(key);
+    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;
     }
-    module2.exports = mapCacheGet;
-  }
-});
-
-// node_modules/lodash/_mapCacheHas.js
-var require_mapCacheHas = __commonJS({
-  "node_modules/lodash/_mapCacheHas.js"(exports2, module2) {
-    var getMapData = require_getMapData();
-    function mapCacheHas(key) {
-      return getMapData(this, key).has(key);
+    function parseJSONFromBytes(bytes) {
+      return JSON.parse(utf8DecodeBytes(bytes));
     }
-    module2.exports = mapCacheHas;
-  }
-});
-
-// node_modules/lodash/_mapCacheSet.js
-var require_mapCacheSet = __commonJS({
-  "node_modules/lodash/_mapCacheSet.js"(exports2, module2) {
-    var getMapData = require_getMapData();
-    function mapCacheSet(key, value) {
-      var data = getMapData(this, key), size = data.size;
-      data.set(key, value);
-      this.size += data.size == size ? 0 : 1;
-      return this;
+    function bodyMimeType(object) {
+      const { headersList } = object[kState];
+      const contentType = headersList.get("content-type");
+      if (contentType === null) {
+        return "failure";
+      }
+      return parseMIMEType(contentType);
     }
-    module2.exports = mapCacheSet;
+    module2.exports = {
+      extractBody,
+      safelyExtractBody,
+      cloneBody,
+      mixinBody
+    };
   }
 });
 
-// node_modules/lodash/_MapCache.js
-var require_MapCache = __commonJS({
-  "node_modules/lodash/_MapCache.js"(exports2, module2) {
-    var mapCacheClear = require_mapCacheClear();
-    var mapCacheDelete = require_mapCacheDelete();
-    var mapCacheGet = require_mapCacheGet();
-    var mapCacheHas = require_mapCacheHas();
-    var mapCacheSet = require_mapCacheSet();
-    function MapCache(entries) {
-      var index = -1, length = entries == null ? 0 : entries.length;
-      this.clear();
-      while (++index < length) {
-        var entry = entries[index];
-        this.set(entry[0], entry[1]);
+// node_modules/undici/lib/core/request.js
+var require_request5 = __commonJS({
+  "node_modules/undici/lib/core/request.js"(exports2, module2) {
+    "use strict";
+    var {
+      InvalidArgumentError,
+      NotSupportedError
+    } = require_errors6();
+    var assert = require("assert");
+    var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = require_symbols11();
+    var util = require_util24();
+    var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;
+    var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
+    var invalidPathRegex = /[^\u0021-\u00ff]/;
+    var kHandler = /* @__PURE__ */ Symbol("handler");
+    var channels = {};
+    var extractBody;
+    try {
+      const diagnosticsChannel = require("diagnostics_channel");
+      channels.create = diagnosticsChannel.channel("undici:request:create");
+      channels.bodySent = diagnosticsChannel.channel("undici:request:bodySent");
+      channels.headers = diagnosticsChannel.channel("undici:request:headers");
+      channels.trailers = diagnosticsChannel.channel("undici:request:trailers");
+      channels.error = diagnosticsChannel.channel("undici:request:error");
+    } catch {
+      channels.create = { hasSubscribers: false };
+      channels.bodySent = { hasSubscribers: false };
+      channels.headers = { hasSubscribers: false };
+      channels.trailers = { hasSubscribers: false };
+      channels.error = { hasSubscribers: false };
+    }
+    var Request = class _Request {
+      constructor(origin, {
+        path: path7,
+        method,
+        body,
+        headers,
+        query,
+        idempotent,
+        blocking,
+        upgrade,
+        headersTimeout,
+        bodyTimeout,
+        reset,
+        throwOnError,
+        expectContinue
+      }, handler2) {
+        if (typeof path7 !== "string") {
+          throw new InvalidArgumentError("path must be a string");
+        } else if (path7[0] !== "/" && !(path7.startsWith("http://") || path7.startsWith("https://")) && method !== "CONNECT") {
+          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
+        } else if (invalidPathRegex.exec(path7) !== null) {
+          throw new InvalidArgumentError("invalid request path");
+        }
+        if (typeof method !== "string") {
+          throw new InvalidArgumentError("method must be a string");
+        } else if (tokenRegExp.exec(method) === null) {
+          throw new InvalidArgumentError("invalid request method");
+        }
+        if (upgrade && typeof upgrade !== "string") {
+          throw new InvalidArgumentError("upgrade must be a string");
+        }
+        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
+          throw new InvalidArgumentError("invalid headersTimeout");
+        }
+        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
+          throw new InvalidArgumentError("invalid bodyTimeout");
+        }
+        if (reset != null && typeof reset !== "boolean") {
+          throw new InvalidArgumentError("invalid reset");
+        }
+        if (expectContinue != null && typeof expectContinue !== "boolean") {
+          throw new InvalidArgumentError("invalid expectContinue");
+        }
+        this.headersTimeout = headersTimeout;
+        this.bodyTimeout = bodyTimeout;
+        this.throwOnError = throwOnError === true;
+        this.method = method;
+        this.abort = null;
+        if (body == null) {
+          this.body = null;
+        } else if (util.isStream(body)) {
+          this.body = body;
+          const rState = this.body._readableState;
+          if (!rState || !rState.autoDestroy) {
+            this.endHandler = function autoDestroy() {
+              util.destroy(this);
+            };
+            this.body.on("end", this.endHandler);
+          }
+          this.errorHandler = (err) => {
+            if (this.abort) {
+              this.abort(err);
+            } else {
+              this.error = err;
+            }
+          };
+          this.body.on("error", this.errorHandler);
+        } else if (util.isBuffer(body)) {
+          this.body = body.byteLength ? body : null;
+        } else if (ArrayBuffer.isView(body)) {
+          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
+        } else if (body instanceof ArrayBuffer) {
+          this.body = body.byteLength ? Buffer.from(body) : null;
+        } else if (typeof body === "string") {
+          this.body = body.length ? Buffer.from(body) : null;
+        } else if (util.isFormDataLike(body) || util.isIterable(body) || util.isBlobLike(body)) {
+          this.body = body;
+        } else {
+          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
+        }
+        this.completed = false;
+        this.aborted = false;
+        this.upgrade = upgrade || null;
+        this.path = query ? util.buildURL(path7, query) : path7;
+        this.origin = origin;
+        this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
+        this.blocking = blocking == null ? false : blocking;
+        this.reset = reset == null ? null : reset;
+        this.host = null;
+        this.contentLength = null;
+        this.contentType = null;
+        this.headers = "";
+        this.expectContinue = expectContinue != null ? expectContinue : false;
+        if (Array.isArray(headers)) {
+          if (headers.length % 2 !== 0) {
+            throw new InvalidArgumentError("headers array must be even");
+          }
+          for (let i = 0; i < headers.length; i += 2) {
+            processHeader(this, headers[i], headers[i + 1]);
+          }
+        } else if (headers && typeof headers === "object") {
+          const keys = Object.keys(headers);
+          for (let i = 0; i < keys.length; i++) {
+            const key = keys[i];
+            processHeader(this, key, headers[key]);
+          }
+        } else if (headers != null) {
+          throw new InvalidArgumentError("headers must be an object or an array");
+        }
+        if (util.isFormDataLike(this.body)) {
+          if (util.nodeMajor < 16 || util.nodeMajor === 16 && util.nodeMinor < 8) {
+            throw new InvalidArgumentError("Form-Data bodies are only supported in node v16.8 and newer.");
+          }
+          if (!extractBody) {
+            extractBody = require_body3().extractBody;
+          }
+          const [bodyStream, contentType] = extractBody(body);
+          if (this.contentType == null) {
+            this.contentType = contentType;
+            this.headers += `content-type: ${contentType}\r
+`;
+          }
+          this.body = bodyStream.stream;
+          this.contentLength = bodyStream.length;
+        } else if (util.isBlobLike(body) && this.contentType == null && body.type) {
+          this.contentType = body.type;
+          this.headers += `content-type: ${body.type}\r
+`;
+        }
+        util.validateHandler(handler2, method, upgrade);
+        this.servername = util.getServerName(this.host);
+        this[kHandler] = handler2;
+        if (channels.create.hasSubscribers) {
+          channels.create.publish({ request: this });
+        }
       }
-    }
-    MapCache.prototype.clear = mapCacheClear;
-    MapCache.prototype["delete"] = mapCacheDelete;
-    MapCache.prototype.get = mapCacheGet;
-    MapCache.prototype.has = mapCacheHas;
-    MapCache.prototype.set = mapCacheSet;
-    module2.exports = MapCache;
-  }
-});
-
-// node_modules/lodash/_setCacheAdd.js
-var require_setCacheAdd = __commonJS({
-  "node_modules/lodash/_setCacheAdd.js"(exports2, module2) {
-    var HASH_UNDEFINED = "__lodash_hash_undefined__";
-    function setCacheAdd(value) {
-      this.__data__.set(value, HASH_UNDEFINED);
-      return this;
-    }
-    module2.exports = setCacheAdd;
-  }
-});
-
-// node_modules/lodash/_setCacheHas.js
-var require_setCacheHas = __commonJS({
-  "node_modules/lodash/_setCacheHas.js"(exports2, module2) {
-    function setCacheHas(value) {
-      return this.__data__.has(value);
-    }
-    module2.exports = setCacheHas;
-  }
-});
-
-// node_modules/lodash/_SetCache.js
-var require_SetCache = __commonJS({
-  "node_modules/lodash/_SetCache.js"(exports2, module2) {
-    var MapCache = require_MapCache();
-    var setCacheAdd = require_setCacheAdd();
-    var setCacheHas = require_setCacheHas();
-    function SetCache(values) {
-      var index = -1, length = values == null ? 0 : values.length;
-      this.__data__ = new MapCache();
-      while (++index < length) {
-        this.add(values[index]);
+      onBodySent(chunk) {
+        if (this[kHandler].onBodySent) {
+          try {
+            return this[kHandler].onBodySent(chunk);
+          } catch (err) {
+            this.abort(err);
+          }
+        }
       }
-    }
-    SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
-    SetCache.prototype.has = setCacheHas;
-    module2.exports = SetCache;
-  }
-});
-
-// node_modules/lodash/_baseFindIndex.js
-var require_baseFindIndex = __commonJS({
-  "node_modules/lodash/_baseFindIndex.js"(exports2, module2) {
-    function baseFindIndex(array, predicate, fromIndex, fromRight) {
-      var length = array.length, index = fromIndex + (fromRight ? 1 : -1);
-      while (fromRight ? index-- : ++index < length) {
-        if (predicate(array[index], index, array)) {
-          return index;
+      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 -1;
-    }
-    module2.exports = baseFindIndex;
-  }
-});
-
-// node_modules/lodash/_baseIsNaN.js
-var require_baseIsNaN = __commonJS({
-  "node_modules/lodash/_baseIsNaN.js"(exports2, module2) {
-    function baseIsNaN(value) {
-      return value !== value;
-    }
-    module2.exports = baseIsNaN;
-  }
-});
-
-// node_modules/lodash/_strictIndexOf.js
-var require_strictIndexOf = __commonJS({
-  "node_modules/lodash/_strictIndexOf.js"(exports2, module2) {
-    function strictIndexOf(array, value, fromIndex) {
-      var index = fromIndex - 1, length = array.length;
-      while (++index < length) {
-        if (array[index] === value) {
-          return index;
+      onConnect(abort) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (this.error) {
+          abort(this.error);
+        } else {
+          this.abort = abort;
+          return this[kHandler].onConnect(abort);
         }
       }
-      return -1;
-    }
-    module2.exports = strictIndexOf;
-  }
-});
-
-// node_modules/lodash/_baseIndexOf.js
-var require_baseIndexOf = __commonJS({
-  "node_modules/lodash/_baseIndexOf.js"(exports2, module2) {
-    var baseFindIndex = require_baseFindIndex();
-    var baseIsNaN = require_baseIsNaN();
-    var strictIndexOf = require_strictIndexOf();
-    function baseIndexOf(array, value, fromIndex) {
-      return value === value ? strictIndexOf(array, value, fromIndex) : baseFindIndex(array, baseIsNaN, fromIndex);
-    }
-    module2.exports = baseIndexOf;
-  }
-});
-
-// node_modules/lodash/_arrayIncludes.js
-var require_arrayIncludes = __commonJS({
-  "node_modules/lodash/_arrayIncludes.js"(exports2, module2) {
-    var baseIndexOf = require_baseIndexOf();
-    function arrayIncludes(array, value) {
-      var length = array == null ? 0 : array.length;
-      return !!length && baseIndexOf(array, value, 0) > -1;
-    }
-    module2.exports = arrayIncludes;
-  }
-});
-
-// node_modules/lodash/_arrayIncludesWith.js
-var require_arrayIncludesWith = __commonJS({
-  "node_modules/lodash/_arrayIncludesWith.js"(exports2, module2) {
-    function arrayIncludesWith(array, value, comparator) {
-      var index = -1, length = array == null ? 0 : array.length;
-      while (++index < length) {
-        if (comparator(value, array[index])) {
-          return true;
+      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);
         }
       }
-      return false;
-    }
-    module2.exports = arrayIncludesWith;
-  }
-});
-
-// node_modules/lodash/_arrayMap.js
-var require_arrayMap = __commonJS({
-  "node_modules/lodash/_arrayMap.js"(exports2, module2) {
-    function arrayMap(array, iteratee) {
-      var index = -1, length = array == null ? 0 : array.length, result = Array(length);
-      while (++index < length) {
-        result[index] = iteratee(array[index], index, array);
+      onData(chunk) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        try {
+          return this[kHandler].onData(chunk);
+        } catch (err) {
+          this.abort(err);
+          return false;
+        }
       }
-      return result;
-    }
-    module2.exports = arrayMap;
-  }
-});
-
-// node_modules/lodash/_cacheHas.js
-var require_cacheHas = __commonJS({
-  "node_modules/lodash/_cacheHas.js"(exports2, module2) {
-    function cacheHas(cache, key) {
-      return cache.has(key);
-    }
-    module2.exports = cacheHas;
-  }
-});
-
-// node_modules/lodash/_baseDifference.js
-var require_baseDifference = __commonJS({
-  "node_modules/lodash/_baseDifference.js"(exports2, module2) {
-    var SetCache = require_SetCache();
-    var arrayIncludes = require_arrayIncludes();
-    var arrayIncludesWith = require_arrayIncludesWith();
-    var arrayMap = require_arrayMap();
-    var baseUnary = require_baseUnary();
-    var cacheHas = require_cacheHas();
-    var LARGE_ARRAY_SIZE = 200;
-    function baseDifference(array, values, iteratee, comparator) {
-      var index = -1, includes = arrayIncludes, isCommon = true, length = array.length, result = [], valuesLength = values.length;
-      if (!length) {
-        return result;
+      onUpgrade(statusCode, headers, socket) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        return this[kHandler].onUpgrade(statusCode, headers, socket);
       }
-      if (iteratee) {
-        values = arrayMap(values, baseUnary(iteratee));
+      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);
+        }
       }
-      if (comparator) {
-        includes = arrayIncludesWith;
-        isCommon = false;
-      } else if (values.length >= LARGE_ARRAY_SIZE) {
-        includes = cacheHas;
-        isCommon = false;
-        values = new SetCache(values);
+      onError(error3) {
+        this.onFinally();
+        if (channels.error.hasSubscribers) {
+          channels.error.publish({ request: this, error: error3 });
+        }
+        if (this.aborted) {
+          return;
+        }
+        this.aborted = true;
+        return this[kHandler].onError(error3);
       }
-      outer:
-        while (++index < length) {
-          var value = array[index], computed = iteratee == null ? value : iteratee(value);
-          value = comparator || value !== 0 ? value : 0;
-          if (isCommon && computed === computed) {
-            var valuesIndex = valuesLength;
-            while (valuesIndex--) {
-              if (values[valuesIndex] === computed) {
-                continue outer;
-              }
-            }
-            result.push(value);
-          } else if (!includes(values, computed, comparator)) {
-            result.push(value);
+      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;
+        }
+      }
+      // TODO: adjust to support H2
+      addHeader(key, value) {
+        processHeader(this, key, value);
+        return this;
+      }
+      static [kHTTP1BuildRequest](origin, opts, handler2) {
+        return new _Request(origin, opts, handler2);
+      }
+      static [kHTTP2BuildRequest](origin, opts, handler2) {
+        const headers = opts.headers;
+        opts = { ...opts, headers: null };
+        const request2 = new _Request(origin, opts, handler2);
+        request2.headers = {};
+        if (Array.isArray(headers)) {
+          if (headers.length % 2 !== 0) {
+            throw new InvalidArgumentError("headers array must be even");
           }
+          for (let i = 0; i < headers.length; i += 2) {
+            processHeader(request2, headers[i], headers[i + 1], true);
+          }
+        } else if (headers && typeof headers === "object") {
+          const keys = Object.keys(headers);
+          for (let i = 0; i < keys.length; i++) {
+            const key = keys[i];
+            processHeader(request2, key, headers[key], true);
+          }
+        } else if (headers != null) {
+          throw new InvalidArgumentError("headers must be an object or an array");
         }
-      return result;
-    }
-    module2.exports = baseDifference;
-  }
-});
-
-// node_modules/lodash/isArrayLikeObject.js
-var require_isArrayLikeObject = __commonJS({
-  "node_modules/lodash/isArrayLikeObject.js"(exports2, module2) {
-    var isArrayLike = require_isArrayLike();
-    var isObjectLike = require_isObjectLike();
-    function isArrayLikeObject(value) {
-      return isObjectLike(value) && isArrayLike(value);
-    }
-    module2.exports = isArrayLikeObject;
-  }
-});
-
-// node_modules/lodash/difference.js
-var require_difference = __commonJS({
-  "node_modules/lodash/difference.js"(exports2, module2) {
-    var baseDifference = require_baseDifference();
-    var baseFlatten = require_baseFlatten();
-    var baseRest = require_baseRest();
-    var isArrayLikeObject = require_isArrayLikeObject();
-    var difference = baseRest(function(array, values) {
-      return isArrayLikeObject(array) ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true)) : [];
-    });
-    module2.exports = difference;
-  }
-});
-
-// node_modules/lodash/_Set.js
-var require_Set = __commonJS({
-  "node_modules/lodash/_Set.js"(exports2, module2) {
-    var getNative = require_getNative();
-    var root = require_root();
-    var Set2 = getNative(root, "Set");
-    module2.exports = Set2;
-  }
-});
-
-// node_modules/lodash/noop.js
-var require_noop = __commonJS({
-  "node_modules/lodash/noop.js"(exports2, module2) {
-    function noop3() {
-    }
-    module2.exports = noop3;
-  }
-});
-
-// node_modules/lodash/_setToArray.js
-var require_setToArray = __commonJS({
-  "node_modules/lodash/_setToArray.js"(exports2, module2) {
-    function setToArray(set2) {
-      var index = -1, result = Array(set2.size);
-      set2.forEach(function(value) {
-        result[++index] = value;
-      });
-      return result;
-    }
-    module2.exports = setToArray;
-  }
-});
-
-// node_modules/lodash/_createSet.js
-var require_createSet = __commonJS({
-  "node_modules/lodash/_createSet.js"(exports2, module2) {
-    var Set2 = require_Set();
-    var noop3 = require_noop();
-    var setToArray = require_setToArray();
-    var INFINITY = 1 / 0;
-    var createSet = !(Set2 && 1 / setToArray(new Set2([, -0]))[1] == INFINITY) ? noop3 : function(values) {
-      return new Set2(values);
+        return request2;
+      }
+      static [kHTTP2CopyHeaders](raw) {
+        const rawHeaders = raw.split("\r\n");
+        const headers = {};
+        for (const header of rawHeaders) {
+          const [key, value] = header.split(": ");
+          if (value == null || value.length === 0) continue;
+          if (headers[key]) headers[key] += `,${value}`;
+          else headers[key] = value;
+        }
+        return headers;
+      }
     };
-    module2.exports = createSet;
-  }
-});
-
-// node_modules/lodash/_baseUniq.js
-var require_baseUniq = __commonJS({
-  "node_modules/lodash/_baseUniq.js"(exports2, module2) {
-    var SetCache = require_SetCache();
-    var arrayIncludes = require_arrayIncludes();
-    var arrayIncludesWith = require_arrayIncludesWith();
-    var cacheHas = require_cacheHas();
-    var createSet = require_createSet();
-    var setToArray = require_setToArray();
-    var LARGE_ARRAY_SIZE = 200;
-    function baseUniq(array, iteratee, comparator) {
-      var index = -1, includes = arrayIncludes, length = array.length, isCommon = true, result = [], seen = result;
-      if (comparator) {
-        isCommon = false;
-        includes = arrayIncludesWith;
-      } else if (length >= LARGE_ARRAY_SIZE) {
-        var set2 = iteratee ? null : createSet(array);
-        if (set2) {
-          return setToArray(set2);
+    function processHeaderValue(key, val, skipAppend) {
+      if (val && typeof val === "object") {
+        throw new InvalidArgumentError(`invalid ${key} header`);
+      }
+      val = val != null ? `${val}` : "";
+      if (headerCharRegex.exec(val) !== null) {
+        throw new InvalidArgumentError(`invalid ${key} header`);
+      }
+      return skipAppend ? val : `${key}: ${val}\r
+`;
+    }
+    function processHeader(request2, key, val, skipAppend = false) {
+      if (val && (typeof val === "object" && !Array.isArray(val))) {
+        throw new InvalidArgumentError(`invalid ${key} header`);
+      } else if (val === void 0) {
+        return;
+      }
+      if (request2.host === null && key.length === 4 && key.toLowerCase() === "host") {
+        if (headerCharRegex.exec(val) !== null) {
+          throw new InvalidArgumentError(`invalid ${key} header`);
         }
-        isCommon = false;
-        includes = cacheHas;
-        seen = new SetCache();
+        request2.host = val;
+      } else if (request2.contentLength === null && key.length === 14 && key.toLowerCase() === "content-length") {
+        request2.contentLength = parseInt(val, 10);
+        if (!Number.isFinite(request2.contentLength)) {
+          throw new InvalidArgumentError("invalid content-length header");
+        }
+      } else if (request2.contentType === null && key.length === 12 && key.toLowerCase() === "content-type") {
+        request2.contentType = val;
+        if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
+        else request2.headers += processHeaderValue(key, val);
+      } else if (key.length === 17 && key.toLowerCase() === "transfer-encoding") {
+        throw new InvalidArgumentError("invalid transfer-encoding header");
+      } else if (key.length === 10 && key.toLowerCase() === "connection") {
+        const value = typeof val === "string" ? val.toLowerCase() : null;
+        if (value !== "close" && value !== "keep-alive") {
+          throw new InvalidArgumentError("invalid connection header");
+        } else if (value === "close") {
+          request2.reset = true;
+        }
+      } else if (key.length === 10 && key.toLowerCase() === "keep-alive") {
+        throw new InvalidArgumentError("invalid keep-alive header");
+      } else if (key.length === 7 && key.toLowerCase() === "upgrade") {
+        throw new InvalidArgumentError("invalid upgrade header");
+      } else if (key.length === 6 && key.toLowerCase() === "expect") {
+        throw new NotSupportedError("expect header not supported");
+      } else if (tokenRegExp.exec(key) === null) {
+        throw new InvalidArgumentError("invalid header key");
       } else {
-        seen = iteratee ? [] : result;
-      }
-      outer:
-        while (++index < length) {
-          var value = array[index], computed = iteratee ? iteratee(value) : value;
-          value = comparator || value !== 0 ? value : 0;
-          if (isCommon && computed === computed) {
-            var seenIndex = seen.length;
-            while (seenIndex--) {
-              if (seen[seenIndex] === computed) {
-                continue outer;
-              }
-            }
-            if (iteratee) {
-              seen.push(computed);
-            }
-            result.push(value);
-          } else if (!includes(seen, computed, comparator)) {
-            if (seen !== result) {
-              seen.push(computed);
+        if (Array.isArray(val)) {
+          for (let i = 0; i < val.length; i++) {
+            if (skipAppend) {
+              if (request2.headers[key]) request2.headers[key] += `,${processHeaderValue(key, val[i], skipAppend)}`;
+              else request2.headers[key] = processHeaderValue(key, val[i], skipAppend);
+            } else {
+              request2.headers += processHeaderValue(key, val[i]);
             }
-            result.push(value);
           }
+        } else {
+          if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
+          else request2.headers += processHeaderValue(key, val);
         }
-      return result;
-    }
-    module2.exports = baseUniq;
-  }
-});
-
-// node_modules/lodash/union.js
-var require_union = __commonJS({
-  "node_modules/lodash/union.js"(exports2, module2) {
-    var baseFlatten = require_baseFlatten();
-    var baseRest = require_baseRest();
-    var baseUniq = require_baseUniq();
-    var isArrayLikeObject = require_isArrayLikeObject();
-    var union = baseRest(function(arrays) {
-      return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));
-    });
-    module2.exports = union;
-  }
-});
-
-// node_modules/lodash/_overArg.js
-var require_overArg = __commonJS({
-  "node_modules/lodash/_overArg.js"(exports2, module2) {
-    function overArg(func, transform) {
-      return function(arg) {
-        return func(transform(arg));
-      };
+      }
     }
-    module2.exports = overArg;
-  }
-});
-
-// node_modules/lodash/_getPrototype.js
-var require_getPrototype = __commonJS({
-  "node_modules/lodash/_getPrototype.js"(exports2, module2) {
-    var overArg = require_overArg();
-    var getPrototype = overArg(Object.getPrototypeOf, Object);
-    module2.exports = getPrototype;
+    module2.exports = Request;
   }
 });
 
-// node_modules/lodash/isPlainObject.js
-var require_isPlainObject = __commonJS({
-  "node_modules/lodash/isPlainObject.js"(exports2, module2) {
-    var baseGetTag = require_baseGetTag();
-    var getPrototype = require_getPrototype();
-    var isObjectLike = require_isObjectLike();
-    var objectTag = "[object Object]";
-    var funcProto = Function.prototype;
-    var objectProto = Object.prototype;
-    var funcToString = funcProto.toString;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    var objectCtorString = funcToString.call(Object);
-    function isPlainObject3(value) {
-      if (!isObjectLike(value) || baseGetTag(value) != objectTag) {
-        return false;
+// node_modules/undici/lib/dispatcher.js
+var require_dispatcher3 = __commonJS({
+  "node_modules/undici/lib/dispatcher.js"(exports2, module2) {
+    "use strict";
+    var EventEmitter = require("events");
+    var Dispatcher = class extends EventEmitter {
+      dispatch() {
+        throw new Error("not implemented");
       }
-      var proto = getPrototype(value);
-      if (proto === null) {
-        return true;
+      close() {
+        throw new Error("not implemented");
       }
-      var Ctor = hasOwnProperty.call(proto, "constructor") && proto.constructor;
-      return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString;
-    }
-    module2.exports = isPlainObject3;
+      destroy() {
+        throw new Error("not implemented");
+      }
+    };
+    module2.exports = Dispatcher;
   }
 });
 
-// node_modules/@isaacs/balanced-match/dist/commonjs/index.js
-var require_commonjs18 = __commonJS({
-  "node_modules/@isaacs/balanced-match/dist/commonjs/index.js"(exports2) {
+// node_modules/undici/lib/dispatcher-base.js
+var require_dispatcher_base3 = __commonJS({
+  "node_modules/undici/lib/dispatcher-base.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.range = exports2.balanced = void 0;
-    var balanced = (a, b, str2) => {
-      const ma = a instanceof RegExp ? maybeMatch(a, str2) : a;
-      const mb = b instanceof RegExp ? maybeMatch(b, str2) : b;
-      const r = ma !== null && mb != null && (0, exports2.range)(ma, mb, str2);
-      return r && {
-        start: r[0],
-        end: r[1],
-        pre: str2.slice(0, r[0]),
-        body: str2.slice(r[0] + ma.length, r[1]),
-        post: str2.slice(r[1] + mb.length)
-      };
-    };
-    exports2.balanced = balanced;
-    var maybeMatch = (reg, str2) => {
-      const m = str2.match(reg);
-      return m ? m[0] : null;
-    };
-    var range = (a, b, str2) => {
-      let begs, beg, left, right = void 0, result;
-      let ai = str2.indexOf(a);
-      let bi = str2.indexOf(b, ai + 1);
-      let i = ai;
-      if (ai >= 0 && bi > 0) {
-        if (a === b) {
-          return [ai, bi];
+    var Dispatcher = require_dispatcher3();
+    var {
+      ClientDestroyedError,
+      ClientClosedError,
+      InvalidArgumentError
+    } = require_errors6();
+    var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols11();
+    var kDestroyed = /* @__PURE__ */ Symbol("destroyed");
+    var kClosed = /* @__PURE__ */ Symbol("closed");
+    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
+    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
+    var kInterceptedDispatch = /* @__PURE__ */ 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");
+            }
+          }
         }
-        begs = [];
-        left = str2.length;
-        while (i >= 0 && !result) {
-          if (i === ai) {
-            begs.push(i);
-            ai = str2.indexOf(a, i + 1);
-          } else if (begs.length === 1) {
-            const r = begs.pop();
-            if (r !== void 0)
-              result = [r, bi];
+        this[kInterceptors] = newInterceptors;
+      }
+      close(callback) {
+        if (callback === void 0) {
+          return new Promise((resolve5, reject) => {
+            this.close((err, data) => {
+              return err ? reject(err) : resolve5(data);
+            });
+          });
+        }
+        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 {
-            beg = begs.pop();
-            if (beg !== void 0 && beg < left) {
-              left = beg;
-              right = bi;
-            }
-            bi = str2.indexOf(b, i + 1);
+            queueMicrotask(() => callback(null, null));
           }
-          i = ai < bi && ai >= 0 ? ai : bi;
+          return;
         }
-        if (begs.length && right !== void 0) {
-          result = [left, right];
+        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);
+        });
+      }
+      destroy(err, callback) {
+        if (typeof err === "function") {
+          callback = err;
+          err = null;
+        }
+        if (callback === void 0) {
+          return new Promise((resolve5, reject) => {
+            this.destroy(err, (err2, data) => {
+              return err2 ? (
+                /* istanbul ignore next: should never error */
+                reject(err2)
+              ) : resolve5(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;
         }
       }
-      return result;
     };
-    exports2.range = range;
+    module2.exports = DispatcherBase;
   }
 });
 
-// node_modules/@isaacs/brace-expansion/dist/commonjs/index.js
-var require_commonjs19 = __commonJS({
-  "node_modules/@isaacs/brace-expansion/dist/commonjs/index.js"(exports2) {
+// node_modules/undici/lib/core/connect.js
+var require_connect3 = __commonJS({
+  "node_modules/undici/lib/core/connect.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.EXPANSION_MAX = void 0;
-    exports2.expand = expand2;
-    var balanced_match_1 = require_commonjs18();
-    var escSlash = "\0SLASH" + Math.random() + "\0";
-    var escOpen = "\0OPEN" + Math.random() + "\0";
-    var escClose = "\0CLOSE" + Math.random() + "\0";
-    var escComma = "\0COMMA" + Math.random() + "\0";
-    var escPeriod = "\0PERIOD" + Math.random() + "\0";
-    var escSlashPattern = new RegExp(escSlash, "g");
-    var escOpenPattern = new RegExp(escOpen, "g");
-    var escClosePattern = new RegExp(escClose, "g");
-    var escCommaPattern = new RegExp(escComma, "g");
-    var escPeriodPattern = new RegExp(escPeriod, "g");
-    var slashPattern = /\\\\/g;
-    var openPattern = /\\{/g;
-    var closePattern = /\\}/g;
-    var commaPattern = /\\,/g;
-    var periodPattern = /\\./g;
-    exports2.EXPANSION_MAX = 1e5;
-    function numeric(str2) {
-      return !isNaN(str2) ? parseInt(str2, 10) : str2.charCodeAt(0);
-    }
-    function escapeBraces(str2) {
-      return str2.replace(slashPattern, escSlash).replace(openPattern, escOpen).replace(closePattern, escClose).replace(commaPattern, escComma).replace(periodPattern, escPeriod);
-    }
-    function unescapeBraces(str2) {
-      return str2.replace(escSlashPattern, "\\").replace(escOpenPattern, "{").replace(escClosePattern, "}").replace(escCommaPattern, ",").replace(escPeriodPattern, ".");
-    }
-    function parseCommaParts(str2) {
-      if (!str2) {
-        return [""];
-      }
-      const parts = [];
-      const m = (0, balanced_match_1.balanced)("{", "}", str2);
-      if (!m) {
-        return str2.split(",");
-      }
-      const { pre, body, post } = m;
-      const p = pre.split(",");
-      p[p.length - 1] += "{" + body + "}";
-      const postParts = parseCommaParts(post);
-      if (post.length) {
-        ;
-        p[p.length - 1] += postParts.shift();
-        p.push.apply(p, postParts);
-      }
-      parts.push.apply(parts, p);
-      return parts;
-    }
-    function expand2(str2, options = {}) {
-      if (!str2) {
-        return [];
-      }
-      const { max = exports2.EXPANSION_MAX } = options;
-      if (str2.slice(0, 2) === "{}") {
-        str2 = "\\{\\}" + str2.slice(2);
-      }
-      return expand_(escapeBraces(str2), max, true).map(unescapeBraces);
-    }
-    function embrace(str2) {
-      return "{" + str2 + "}";
-    }
-    function isPadded(el) {
-      return /^-?0\d/.test(el);
-    }
-    function lte(i, y) {
-      return i <= y;
-    }
-    function gte6(i, y) {
-      return i >= y;
-    }
-    function expand_(str2, max, isTop) {
-      const expansions = [];
-      const m = (0, balanced_match_1.balanced)("{", "}", str2);
-      if (!m)
-        return [str2];
-      const pre = m.pre;
-      const post = m.post.length ? expand_(m.post, max, false) : [""];
-      if (/\$$/.test(m.pre)) {
-        for (let k = 0; k < post.length && k < max; k++) {
-          const expansion = pre + "{" + m.body + "}" + post[k];
-          expansions.push(expansion);
+    var net = require("net");
+    var assert = require("assert");
+    var util = require_util24();
+    var { InvalidArgumentError, ConnectTimeoutError } = require_errors6();
+    var tls;
+    var SessionCache;
+    if (global.FinalizationRegistry && !process.env.NODE_V8_COVERAGE) {
+      SessionCache = class WeakSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
+          this._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);
+            }
+          });
         }
-      } else {
-        const isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
-        const isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
-        const isSequence = isNumericSequence || isAlphaSequence;
-        const isOptions = m.body.indexOf(",") >= 0;
-        if (!isSequence && !isOptions) {
-          if (m.post.match(/,(?!,).*\}/)) {
-            str2 = m.pre + "{" + m.body + escClose + m.post;
-            return expand_(str2, max, true);
-          }
-          return [str2];
+        get(sessionKey) {
+          const ref = this._sessionCache.get(sessionKey);
+          return ref ? ref.deref() : null;
         }
-        let n;
-        if (isSequence) {
-          n = m.body.split(/\.\./);
-        } else {
-          n = parseCommaParts(m.body);
-          if (n.length === 1 && n[0] !== void 0) {
-            n = expand_(n[0], max, false).map(embrace);
-            if (n.length === 1) {
-              return post.map((p) => m.pre + n[0] + p);
-            }
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
+          this._sessionCache.set(sessionKey, new WeakRef(session));
+          this._sessionRegistry.register(session, sessionKey);
         }
-        let N;
-        if (isSequence && n[0] !== void 0 && n[1] !== void 0) {
-          const x = numeric(n[0]);
-          const y = numeric(n[1]);
-          const width = Math.max(n[0].length, n[1].length);
-          let incr = n.length === 3 && n[2] !== void 0 ? Math.abs(numeric(n[2])) : 1;
-          let test = lte;
-          const reverse = y < x;
-          if (reverse) {
-            incr *= -1;
-            test = gte6;
+      };
+    } else {
+      SessionCache = class SimpleSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
+        }
+        get(sessionKey) {
+          return this._sessionCache.get(sessionKey);
+        }
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
-          const pad = n.some(isPadded);
-          N = [];
-          for (let i = x; test(i, y); i += incr) {
-            let c;
-            if (isAlphaSequence) {
-              c = String.fromCharCode(i);
-              if (c === "\\") {
-                c = "";
-              }
-            } else {
-              c = String(i);
-              if (pad) {
-                const need = width - c.length;
-                if (need > 0) {
-                  const z = new Array(need + 1).join("0");
-                  if (i < 0) {
-                    c = "-" + z + c.slice(1);
-                  } else {
-                    c = z + c;
-                  }
-                }
-              }
-            }
-            N.push(c);
+          if (this._sessionCache.size >= this._maxCachedSessions) {
+            const { value: oldestKey } = this._sessionCache.keys().next();
+            this._sessionCache.delete(oldestKey);
+          }
+          this._sessionCache.set(sessionKey, session);
+        }
+      };
+    }
+    function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, ...opts }) {
+      if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
+        throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
+      }
+      const options = { path: socketPath, ...opts };
+      const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
+      timeout = timeout == null ? 1e4 : timeout;
+      allowH2 = allowH2 != null ? allowH2 : false;
+      return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
+        let socket;
+        if (protocol === "https:") {
+          if (!tls) {
+            tls = require("tls");
           }
+          servername = servername || options.servername || util.getServerName(host) || null;
+          const sessionKey = servername || hostname;
+          const session = sessionCache.get(sessionKey) || null;
+          assert(sessionKey);
+          socket = tls.connect({
+            highWaterMark: 16384,
+            // TLS in node can't have bigger HWM anyway...
+            ...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: port || 443,
+            host: hostname
+          });
+          socket.on("session", function(session2) {
+            sessionCache.set(sessionKey, session2);
+          });
         } else {
-          N = [];
-          for (let j = 0; j < n.length; j++) {
-            N.push.apply(N, expand_(n[j], max, false));
-          }
+          assert(!httpSocket, "httpSocket can only be sent on TLS update");
+          socket = net.connect({
+            highWaterMark: 64 * 1024,
+            // Same as nodejs fs streams.
+            ...options,
+            localAddress,
+            port: port || 80,
+            host: hostname
+          });
         }
-        for (let j = 0; j < N.length; j++) {
-          for (let k = 0; k < post.length && expansions.length < max; k++) {
-            const expansion = pre + N[j] + post[k];
-            if (!isTop || isSequence || expansion) {
-              expansions.push(expansion);
-            }
-          }
+        if (options.keepAlive == null || options.keepAlive) {
+          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
+          socket.setKeepAlive(true, keepAliveInitialDelay);
         }
+        const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout);
+        socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
+          cancelTimeout();
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(null, this);
+          }
+        }).on("error", function(err) {
+          cancelTimeout();
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(err);
+          }
+        });
+        return socket;
+      };
+    }
+    function setupTimeout(onConnectTimeout2, timeout) {
+      if (!timeout) {
+        return () => {
+        };
       }
-      return expansions;
+      let s1 = null;
+      let s2 = null;
+      const timeoutId = setTimeout(() => {
+        s1 = setImmediate(() => {
+          if (process.platform === "win32") {
+            s2 = setImmediate(() => onConnectTimeout2());
+          } else {
+            onConnectTimeout2();
+          }
+        });
+      }, timeout);
+      return () => {
+        clearTimeout(timeoutId);
+        clearImmediate(s1);
+        clearImmediate(s2);
+      };
     }
+    function onConnectTimeout(socket) {
+      util.destroy(socket, new ConnectTimeoutError());
+    }
+    module2.exports = buildConnector;
   }
 });
 
-// node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js
-var require_assert_valid_pattern = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js"(exports2) {
+// node_modules/undici/lib/llhttp/utils.js
+var require_utils9 = __commonJS({
+  "node_modules/undici/lib/llhttp/utils.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.assertValidPattern = void 0;
-    var MAX_PATTERN_LENGTH = 1024 * 64;
-    var assertValidPattern = (pattern) => {
-      if (typeof pattern !== "string") {
-        throw new TypeError("invalid pattern");
-      }
-      if (pattern.length > MAX_PATTERN_LENGTH) {
-        throw new TypeError("pattern is too long");
-      }
-    };
-    exports2.assertValidPattern = assertValidPattern;
+    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/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js
-var require_brace_expressions = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js"(exports2) {
+// node_modules/undici/lib/llhttp/constants.js
+var require_constants22 = __commonJS({
+  "node_modules/undici/lib/llhttp/constants.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.parseClass = void 0;
-    var posixClasses = {
-      "[:alnum:]": ["\\p{L}\\p{Nl}\\p{Nd}", true],
-      "[:alpha:]": ["\\p{L}\\p{Nl}", true],
-      "[:ascii:]": ["\\x00-\\x7f", false],
-      "[:blank:]": ["\\p{Zs}\\t", true],
-      "[:cntrl:]": ["\\p{Cc}", true],
-      "[:digit:]": ["\\p{Nd}", true],
-      "[:graph:]": ["\\p{Z}\\p{C}", true, true],
-      "[:lower:]": ["\\p{Ll}", true],
-      "[:print:]": ["\\p{C}", true],
-      "[:punct:]": ["\\p{P}", true],
-      "[:space:]": ["\\p{Z}\\t\\r\\n\\v\\f", true],
-      "[:upper:]": ["\\p{Lu}", true],
-      "[:word:]": ["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}", true],
-      "[:xdigit:]": ["A-Fa-f0-9", false]
-    };
-    var braceEscape = (s) => s.replace(/[[\]\\-]/g, "\\$&");
-    var regexpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
-    var rangesToString = (ranges) => ranges.join("");
-    var parseClass = (glob2, position) => {
-      const pos = position;
-      if (glob2.charAt(pos) !== "[") {
-        throw new Error("not in a brace expression");
-      }
-      const ranges = [];
-      const negs = [];
-      let i = pos + 1;
-      let sawStart = false;
-      let uflag = false;
-      let escaping = false;
-      let negate = false;
-      let endPos = pos;
-      let rangeStart = "";
-      WHILE: while (i < glob2.length) {
-        const c = glob2.charAt(i);
-        if ((c === "!" || c === "^") && i === pos + 1) {
-          negate = true;
-          i++;
-          continue;
-        }
-        if (c === "]" && sawStart && !escaping) {
-          endPos = i + 1;
-          break;
-        }
-        sawStart = true;
-        if (c === "\\") {
-          if (!escaping) {
-            escaping = true;
-            i++;
-            continue;
-          }
-        }
-        if (c === "[" && !escaping) {
-          for (const [cls, [unip, u, neg]] of Object.entries(posixClasses)) {
-            if (glob2.startsWith(cls, i)) {
-              if (rangeStart) {
-                return ["$.", false, glob2.length - pos, true];
-              }
-              i += cls.length;
-              if (neg)
-                negs.push(unip);
-              else
-                ranges.push(unip);
-              uflag = uflag || u;
-              continue WHILE;
-            }
-          }
-        }
-        escaping = false;
-        if (rangeStart) {
-          if (c > rangeStart) {
-            ranges.push(braceEscape(rangeStart) + "-" + braceEscape(c));
-          } else if (c === rangeStart) {
-            ranges.push(braceEscape(c));
-          }
-          rangeStart = "";
-          i++;
-          continue;
-        }
-        if (glob2.startsWith("-]", i + 1)) {
-          ranges.push(braceEscape(c + "-"));
-          i += 2;
-          continue;
-        }
-        if (glob2.startsWith("-", i + 1)) {
-          rangeStart = c;
-          i += 2;
-          continue;
-        }
-        ranges.push(braceEscape(c));
-        i++;
-      }
-      if (endPos < i) {
-        return ["", false, 0, false];
-      }
-      if (!ranges.length && !negs.length) {
-        return ["$.", false, glob2.length - pos, true];
-      }
-      if (negs.length === 0 && ranges.length === 1 && /^\\?.$/.test(ranges[0]) && !negate) {
-        const r = ranges[0].length === 2 ? ranges[0].slice(-1) : ranges[0];
-        return [regexpEscape(r), false, endPos - pos, false];
+    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
+    var utils_1 = require_utils9();
+    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];
       }
-      const sranges = "[" + (negate ? "^" : "") + rangesToString(ranges) + "]";
-      const snegs = "[" + (negate ? "" : "^") + rangesToString(negs) + "]";
-      const comb = ranges.length && negs.length ? "(" + sranges + "|" + snegs + ")" : ranges.length ? sranges : snegs;
-      return [comb, uflag, endPos - pos, true];
+    });
+    var FINISH;
+    (function(FINISH2) {
+      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
+      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
+      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
+    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
+    exports2.ALPHA = [];
+    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
+      exports2.ALPHA.push(String.fromCharCode(i));
+      exports2.ALPHA.push(String.fromCharCode(i + 32));
+    }
+    exports2.NUM_MAP = {
+      0: 0,
+      1: 1,
+      2: 2,
+      3: 3,
+      4: 4,
+      5: 5,
+      6: 6,
+      7: 7,
+      8: 8,
+      9: 9
     };
-    exports2.parseClass = parseClass;
-  }
-});
-
-// node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js
-var require_unescape = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.unescape = void 0;
-    var unescape = (s, { windowsPathsNoEscape = false, magicalBraces = true } = {}) => {
-      if (magicalBraces) {
-        return windowsPathsNoEscape ? s.replace(/\[([^\/\\])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^\/\\])\]/g, "$1$2").replace(/\\([^\/])/g, "$1");
+    exports2.HEX_MAP = {
+      0: 0,
+      1: 1,
+      2: 2,
+      3: 3,
+      4: 4,
+      5: 5,
+      6: 6,
+      7: 7,
+      8: 8,
+      9: 9,
+      A: 10,
+      B: 11,
+      C: 12,
+      D: 13,
+      E: 14,
+      F: 15,
+      a: 10,
+      b: 11,
+      c: 12,
+      d: 13,
+      e: 14,
+      f: 15
+    };
+    exports2.NUM = [
+      "0",
+      "1",
+      "2",
+      "3",
+      "4",
+      "5",
+      "6",
+      "7",
+      "8",
+      "9"
+    ];
+    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
+    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
+    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
+    exports2.STRICT_URL_CHAR = [
+      "!",
+      '"',
+      "$",
+      "%",
+      "&",
+      "'",
+      "(",
+      ")",
+      "*",
+      "+",
+      ",",
+      "-",
+      ".",
+      "/",
+      ":",
+      ";",
+      "<",
+      "=",
+      ">",
+      "@",
+      "[",
+      "\\",
+      "]",
+      "^",
+      "_",
+      "`",
+      "{",
+      "|",
+      "}",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
+    for (let i = 128; i <= 255; i++) {
+      exports2.URL_CHAR.push(i);
+    }
+    exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
+    exports2.STRICT_TOKEN = [
+      "!",
+      "#",
+      "$",
+      "%",
+      "&",
+      "'",
+      "*",
+      "+",
+      "-",
+      ".",
+      "^",
+      "_",
+      "`",
+      "|",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]);
+    exports2.HEADER_CHARS = ["	"];
+    for (let i = 32; i <= 255; i++) {
+      if (i !== 127) {
+        exports2.HEADER_CHARS.push(i);
       }
-      return windowsPathsNoEscape ? s.replace(/\[([^\/\\{}])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^\/\\{}])\]/g, "$1$2").replace(/\\([^\/{}])/g, "$1");
+    }
+    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
     };
-    exports2.unescape = unescape;
   }
 });
 
-// node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js
-var require_ast = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js"(exports2) {
+// node_modules/undici/lib/handler/RedirectHandler.js
+var require_RedirectHandler = __commonJS({
+  "node_modules/undici/lib/handler/RedirectHandler.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AST = void 0;
-    var brace_expressions_js_1 = require_brace_expressions();
-    var unescape_js_1 = require_unescape();
-    var types = /* @__PURE__ */ new Set(["!", "?", "+", "*", "@"]);
-    var isExtglobType = (c) => types.has(c);
-    var startNoTraversal = "(?!(?:^|/)\\.\\.?(?:$|/))";
-    var startNoDot = "(?!\\.)";
-    var addPatternStart = /* @__PURE__ */ new Set(["[", "."]);
-    var justDots = /* @__PURE__ */ new Set(["..", "."]);
-    var reSpecials = new Set("().*{}+?[]^$\\!");
-    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
-    var qmark = "[^/]";
-    var star = qmark + "*?";
-    var starNoEmpty = qmark + "+?";
-    var AST = class _AST {
-      type;
-      #root;
-      #hasMagic;
-      #uflag = false;
-      #parts = [];
-      #parent;
-      #parentIndex;
-      #negs;
-      #filledNegs = false;
-      #options;
-      #toString;
-      // set to true if it's an extglob with no children
-      // (which really means one child of '')
-      #emptyExt = false;
-      constructor(type2, parent, options = {}) {
-        this.type = type2;
-        if (type2)
-          this.#hasMagic = true;
-        this.#parent = parent;
-        this.#root = this.#parent ? this.#parent.#root : this;
-        this.#options = this.#root === this ? options : this.#root.#options;
-        this.#negs = this.#root === this ? [] : this.#root.#negs;
-        if (type2 === "!" && !this.#root.#filledNegs)
-          this.#negs.push(this);
-        this.#parentIndex = this.#parent ? this.#parent.#parts.length : 0;
+    var util = require_util24();
+    var { kBodyUsed } = require_symbols11();
+    var assert = require("assert");
+    var { InvalidArgumentError } = require_errors6();
+    var EE = require("events");
+    var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
+    var kBody = /* @__PURE__ */ Symbol("body");
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
       }
-      get hasMagic() {
-        if (this.#hasMagic !== void 0)
-          return this.#hasMagic;
-        for (const p of this.#parts) {
-          if (typeof p === "string")
-            continue;
-          if (p.type || p.hasMagic)
-            return this.#hasMagic = true;
-        }
-        return this.#hasMagic;
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
       }
-      // reconstructs the pattern
-      toString() {
-        if (this.#toString !== void 0)
-          return this.#toString;
-        if (!this.type) {
-          return this.#toString = this.#parts.map((p) => String(p)).join("");
-        } else {
-          return this.#toString = this.type + "(" + this.#parts.map((p) => String(p)).join("|") + ")";
+    };
+    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");
         }
-      }
-      #fillNegs() {
-        if (this !== this.#root)
-          throw new Error("should only call on root");
-        if (this.#filledNegs)
-          return this;
-        this.toString();
-        this.#filledNegs = true;
-        let n;
-        while (n = this.#negs.pop()) {
-          if (n.type !== "!")
-            continue;
-          let p = n;
-          let pp = p.#parent;
-          while (pp) {
-            for (let i = p.#parentIndex + 1; !pp.type && i < pp.#parts.length; i++) {
-              for (const part of n.#parts) {
-                if (typeof part === "string") {
-                  throw new Error("string part in extglob AST??");
-                }
-                part.copyIn(pp.#parts[i]);
-              }
-            }
-            p = pp;
-            pp = p.#parent;
+        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 = [];
+        if (util.isStream(this.opts.body)) {
+          if (util.bodyLength(this.opts.body) === 0) {
+            this.opts.body.on("data", function() {
+              assert(false);
+            });
           }
-        }
-        return this;
-      }
-      push(...parts) {
-        for (const p of parts) {
-          if (p === "")
-            continue;
-          if (typeof p !== "string" && !(p instanceof _AST && p.#parent === this)) {
-            throw new Error("invalid part: " + p);
+          if (typeof this.opts.body.readableDidRead !== "boolean") {
+            this.opts.body[kBodyUsed] = false;
+            EE.prototype.on.call(this.opts.body, "data", function() {
+              this[kBodyUsed] = true;
+            });
           }
-          this.#parts.push(p);
-        }
-      }
-      toJSON() {
-        const ret = this.type === null ? this.#parts.slice().map((p) => typeof p === "string" ? p : p.toJSON()) : [this.type, ...this.#parts.map((p) => p.toJSON())];
-        if (this.isStart() && !this.type)
-          ret.unshift([]);
-        if (this.isEnd() && (this === this.#root || this.#root.#filledNegs && this.#parent?.type === "!")) {
-          ret.push({});
+        } 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);
         }
-        return ret;
       }
-      isStart() {
-        if (this.#root === this)
-          return true;
-        if (!this.#parent?.isStart())
-          return false;
-        if (this.#parentIndex === 0)
-          return true;
-        const p = this.#parent;
-        for (let i = 0; i < this.#parentIndex; i++) {
-          const pp = p.#parts[i];
-          if (!(pp instanceof _AST && pp.type === "!")) {
-            return false;
-          }
-        }
-        return true;
+      onConnect(abort) {
+        this.abort = abort;
+        this.handler.onConnect(abort, { history: this.history });
       }
-      isEnd() {
-        if (this.#root === this)
-          return true;
-        if (this.#parent?.type === "!")
-          return true;
-        if (!this.#parent?.isEnd())
-          return false;
-        if (!this.type)
-          return this.#parent?.isEnd();
-        const pl = this.#parent ? this.#parent.#parts.length : 0;
-        return this.#parentIndex === pl - 1;
+      onUpgrade(statusCode, headers, socket) {
+        this.handler.onUpgrade(statusCode, headers, socket);
       }
-      copyIn(part) {
-        if (typeof part === "string")
-          this.push(part);
-        else
-          this.push(part.clone(this));
+      onError(error3) {
+        this.handler.onError(error3);
       }
-      clone(parent) {
-        const c = new _AST(this.type, parent);
-        for (const p of this.#parts) {
-          c.copyIn(p);
+      onHeaders(statusCode, headers, resume, statusText) {
+        this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers);
+        if (this.opts.origin) {
+          this.history.push(new URL(this.opts.path, this.opts.origin));
         }
-        return c;
-      }
-      static #parseAST(str2, ast, pos, opt) {
-        let escaping = false;
-        let inBrace = false;
-        let braceStart = -1;
-        let braceNeg = false;
-        if (ast.type === null) {
-          let i2 = pos;
-          let acc2 = "";
-          while (i2 < str2.length) {
-            const c = str2.charAt(i2++);
-            if (escaping || c === "\\") {
-              escaping = !escaping;
-              acc2 += c;
-              continue;
-            }
-            if (inBrace) {
-              if (i2 === braceStart + 1) {
-                if (c === "^" || c === "!") {
-                  braceNeg = true;
-                }
-              } else if (c === "]" && !(i2 === braceStart + 2 && braceNeg)) {
-                inBrace = false;
-              }
-              acc2 += c;
-              continue;
-            } else if (c === "[") {
-              inBrace = true;
-              braceStart = i2;
-              braceNeg = false;
-              acc2 += c;
-              continue;
-            }
-            if (!opt.noext && isExtglobType(c) && str2.charAt(i2) === "(") {
-              ast.push(acc2);
-              acc2 = "";
-              const ext = new _AST(c, ast);
-              i2 = _AST.#parseAST(str2, ext, i2, opt);
-              ast.push(ext);
-              continue;
-            }
-            acc2 += c;
-          }
-          ast.push(acc2);
-          return i2;
+        if (!this.location) {
+          return this.handler.onHeaders(statusCode, headers, resume, statusText);
         }
-        let i = pos + 1;
-        let part = new _AST(null, ast);
-        const parts = [];
-        let acc = "";
-        while (i < str2.length) {
-          const c = str2.charAt(i++);
-          if (escaping || c === "\\") {
-            escaping = !escaping;
-            acc += c;
-            continue;
-          }
-          if (inBrace) {
-            if (i === braceStart + 1) {
-              if (c === "^" || c === "!") {
-                braceNeg = true;
-              }
-            } else if (c === "]" && !(i === braceStart + 2 && braceNeg)) {
-              inBrace = false;
-            }
-            acc += c;
-            continue;
-          } else if (c === "[") {
-            inBrace = true;
-            braceStart = i;
-            braceNeg = false;
-            acc += c;
-            continue;
-          }
-          if (isExtglobType(c) && str2.charAt(i) === "(") {
-            part.push(acc);
-            acc = "";
-            const ext = new _AST(c, part);
-            part.push(ext);
-            i = _AST.#parseAST(str2, ext, i, opt);
-            continue;
-          }
-          if (c === "|") {
-            part.push(acc);
-            acc = "";
-            parts.push(part);
-            part = new _AST(null, ast);
-            continue;
-          }
-          if (c === ")") {
-            if (acc === "" && ast.#parts.length === 0) {
-              ast.#emptyExt = true;
-            }
-            part.push(acc);
-            acc = "";
-            ast.push(...parts, part);
-            return i;
-          }
-          acc += c;
+        const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)));
+        const path7 = search ? `${pathname}${search}` : pathname;
+        this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
+        this.opts.path = path7;
+        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;
         }
-        ast.type = null;
-        ast.#hasMagic = void 0;
-        ast.#parts = [str2.substring(pos - 1)];
-        return i;
-      }
-      static fromGlob(pattern, options = {}) {
-        const ast = new _AST(null, void 0, options);
-        _AST.#parseAST(pattern, ast, 0, options);
-        return ast;
       }
-      // returns the regular expression if there's magic, or the unescaped
-      // string if not.
-      toMMPattern() {
-        if (this !== this.#root)
-          return this.#root.toMMPattern();
-        const glob2 = this.toString();
-        const [re, body, hasMagic, uflag] = this.toRegExpSource();
-        const anyMagic = hasMagic || this.#hasMagic || this.#options.nocase && !this.#options.nocaseMagicOnly && glob2.toUpperCase() !== glob2.toLowerCase();
-        if (!anyMagic) {
-          return body;
+      onData(chunk) {
+        if (this.location) {
+        } else {
+          return this.handler.onData(chunk);
         }
-        const flags = (this.#options.nocase ? "i" : "") + (uflag ? "u" : "");
-        return Object.assign(new RegExp(`^${re}$`, flags), {
-          _src: re,
-          _glob: glob2
-        });
       }
-      get options() {
-        return this.#options;
-      }
-      // returns the string match, the regexp source, whether there's magic
-      // in the regexp (so a regular expression is required) and whether or
-      // not the uflag is needed for the regular expression (for posix classes)
-      // TODO: instead of injecting the start/end at this point, just return
-      // the BODY of the regexp, along with the start/end portions suitable
-      // for binding the start/end in either a joined full-path makeRe context
-      // (where we bind to (^|/), or a standalone matchPart context (where
-      // we bind to ^, and not /).  Otherwise slashes get duped!
-      //
-      // In part-matching mode, the start is:
-      // - if not isStart: nothing
-      // - if traversal possible, but not allowed: ^(?!\.\.?$)
-      // - if dots allowed or not possible: ^
-      // - if dots possible and not allowed: ^(?!\.)
-      // end is:
-      // - if not isEnd(): nothing
-      // - else: $
-      //
-      // In full-path matching mode, we put the slash at the START of the
-      // pattern, so start is:
-      // - if first pattern: same as part-matching mode
-      // - if not isStart(): nothing
-      // - if traversal possible, but not allowed: /(?!\.\.?(?:$|/))
-      // - if dots allowed or not possible: /
-      // - if dots possible and not allowed: /(?!\.)
-      // end is:
-      // - if last pattern, same as part-matching mode
-      // - else nothing
-      //
-      // Always put the (?:$|/) on negated tails, though, because that has to be
-      // there to bind the end of the negated pattern portion, and it's easier to
-      // just stick it in now rather than try to inject it later in the middle of
-      // the pattern.
-      //
-      // We can just always return the same end, and leave it up to the caller
-      // to know whether it's going to be used joined or in parts.
-      // And, if the start is adjusted slightly, can do the same there:
-      // - if not isStart: nothing
-      // - if traversal possible, but not allowed: (?:/|^)(?!\.\.?$)
-      // - if dots allowed or not possible: (?:/|^)
-      // - if dots possible and not allowed: (?:/|^)(?!\.)
-      //
-      // But it's better to have a simpler binding without a conditional, for
-      // performance, so probably better to return both start options.
-      //
-      // Then the caller just ignores the end if it's not the first pattern,
-      // and the start always gets applied.
-      //
-      // But that's always going to be $ if it's the ending pattern, or nothing,
-      // so the caller can just attach $ at the end of the pattern when building.
-      //
-      // So the todo is:
-      // - better detect what kind of start is needed
-      // - return both flavors of starting pattern
-      // - attach $ at the end of the pattern when creating the actual RegExp
-      //
-      // Ah, but wait, no, that all only applies to the root when the first pattern
-      // is not an extglob. If the first pattern IS an extglob, then we need all
-      // that dot prevention biz to live in the extglob portions, because eg
-      // +(*|.x*) can match .xy but not .yx.
-      //
-      // So, return the two flavors if it's #root and the first child is not an
-      // AST, otherwise leave it to the child AST to handle it, and there,
-      // use the (?:^|/) style of start binding.
-      //
-      // Even simplified further:
-      // - Since the start for a join is eg /(?!\.) and the start for a part
-      // is ^(?!\.), we can just prepend (?!\.) to the pattern (either root
-      // or start or whatever) and prepend ^ or / at the Regexp construction.
-      toRegExpSource(allowDot) {
-        const dot = allowDot ?? !!this.#options.dot;
-        if (this.#root === this)
-          this.#fillNegs();
-        if (!this.type) {
-          const noEmpty = this.isStart() && this.isEnd() && !this.#parts.some((s) => typeof s !== "string");
-          const src = this.#parts.map((p) => {
-            const [re, _2, hasMagic, uflag] = typeof p === "string" ? _AST.#parseGlob(p, this.#hasMagic, noEmpty) : p.toRegExpSource(allowDot);
-            this.#hasMagic = this.#hasMagic || hasMagic;
-            this.#uflag = this.#uflag || uflag;
-            return re;
-          }).join("");
-          let start2 = "";
-          if (this.isStart()) {
-            if (typeof this.#parts[0] === "string") {
-              const dotTravAllowed = this.#parts.length === 1 && justDots.has(this.#parts[0]);
-              if (!dotTravAllowed) {
-                const aps = addPatternStart;
-                const needNoTrav = (
-                  // dots are allowed, and the pattern starts with [ or .
-                  dot && aps.has(src.charAt(0)) || // the pattern starts with \., and then [ or .
-                  src.startsWith("\\.") && aps.has(src.charAt(2)) || // the pattern starts with \.\., and then [ or .
-                  src.startsWith("\\.\\.") && aps.has(src.charAt(4))
-                );
-                const needNoDot = !dot && !allowDot && aps.has(src.charAt(0));
-                start2 = needNoTrav ? startNoTraversal : needNoDot ? startNoDot : "";
-              }
-            }
-          }
-          let end = "";
-          if (this.isEnd() && this.#root.#filledNegs && this.#parent?.type === "!") {
-            end = "(?:$|\\/)";
-          }
-          const final2 = start2 + src + end;
-          return [
-            final2,
-            (0, unescape_js_1.unescape)(src),
-            this.#hasMagic = !!this.#hasMagic,
-            this.#uflag
-          ];
-        }
-        const repeated = this.type === "*" || this.type === "+";
-        const start = this.type === "!" ? "(?:(?!(?:" : "(?:";
-        let body = this.#partsToRegExp(dot);
-        if (this.isStart() && this.isEnd() && !body && this.type !== "!") {
-          const s = this.toString();
-          this.#parts = [s];
-          this.type = null;
-          this.#hasMagic = void 0;
-          return [s, (0, unescape_js_1.unescape)(this.toString()), false, false];
-        }
-        let bodyDotAllowed = !repeated || allowDot || dot || !startNoDot ? "" : this.#partsToRegExp(true);
-        if (bodyDotAllowed === body) {
-          bodyDotAllowed = "";
+      onComplete(trailers) {
+        if (this.location) {
+          this.location = null;
+          this.abort = null;
+          this.dispatch(this.opts, this);
+        } else {
+          this.handler.onComplete(trailers);
         }
-        if (bodyDotAllowed) {
-          body = `(?:${body})(?:${bodyDotAllowed})*?`;
+      }
+      onBodySent(chunk) {
+        if (this.handler.onBodySent) {
+          this.handler.onBodySent(chunk);
         }
-        let final = "";
-        if (this.type === "!" && this.#emptyExt) {
-          final = (this.isStart() && !dot ? startNoDot : "") + starNoEmpty;
-        } else {
-          const close = this.type === "!" ? (
-            // !() must match something,but !(x) can match ''
-            "))" + (this.isStart() && !dot && !allowDot ? startNoDot : "") + star + ")"
-          ) : this.type === "@" ? ")" : this.type === "?" ? ")?" : this.type === "+" && bodyDotAllowed ? ")" : this.type === "*" && bodyDotAllowed ? `)?` : `)${this.type}`;
-          final = start + body + close;
+      }
+    };
+    function parseLocation(statusCode, headers) {
+      if (redirectableStatusCodes.indexOf(statusCode) === -1) {
+        return null;
+      }
+      for (let i = 0; i < headers.length; i += 2) {
+        if (headers[i].toString().toLowerCase() === "location") {
+          return headers[i + 1];
         }
-        return [
-          final,
-          (0, unescape_js_1.unescape)(body),
-          this.#hasMagic = !!this.#hasMagic,
-          this.#uflag
-        ];
       }
-      #partsToRegExp(dot) {
-        return this.#parts.map((p) => {
-          if (typeof p === "string") {
-            throw new Error("string type in extglob ast??");
-          }
-          const [re, _2, _hasMagic, uflag] = p.toRegExpSource(dot);
-          this.#uflag = this.#uflag || uflag;
-          return re;
-        }).filter((p) => !(this.isStart() && this.isEnd()) || !!p).join("|");
+    }
+    function shouldRemoveHeader(header, removeContent, unknownOrigin) {
+      if (header.length === 4) {
+        return util.headerNameToString(header) === "host";
       }
-      static #parseGlob(glob2, hasMagic, noEmpty = false) {
-        let escaping = false;
-        let re = "";
-        let uflag = false;
-        for (let i = 0; i < glob2.length; i++) {
-          const c = glob2.charAt(i);
-          if (escaping) {
-            escaping = false;
-            re += (reSpecials.has(c) ? "\\" : "") + c;
-            continue;
-          }
-          if (c === "\\") {
-            if (i === glob2.length - 1) {
-              re += "\\\\";
-            } else {
-              escaping = true;
-            }
-            continue;
-          }
-          if (c === "[") {
-            const [src, needUflag, consumed, magic] = (0, brace_expressions_js_1.parseClass)(glob2, i);
-            if (consumed) {
-              re += src;
-              uflag = uflag || needUflag;
-              i += consumed - 1;
-              hasMagic = hasMagic || magic;
-              continue;
-            }
-          }
-          if (c === "*") {
-            re += noEmpty && glob2 === "*" ? starNoEmpty : star;
-            hasMagic = true;
-            continue;
+      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]);
           }
-          if (c === "?") {
-            re += qmark;
-            hasMagic = true;
-            continue;
+        }
+      } else if (headers && typeof headers === "object") {
+        for (const key of Object.keys(headers)) {
+          if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {
+            ret.push(key, headers[key]);
           }
-          re += regExpEscape(c);
         }
-        return [re, (0, unescape_js_1.unescape)(glob2), !!hasMagic, uflag];
+      } else {
+        assert(headers == null, "headers must be an object or an array");
       }
-    };
-    exports2.AST = AST;
+      return ret;
+    }
+    module2.exports = RedirectHandler;
   }
 });
 
-// node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js
-var require_escape = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js"(exports2) {
+// node_modules/undici/lib/interceptor/redirectInterceptor.js
+var require_redirectInterceptor = __commonJS({
+  "node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.escape = void 0;
-    var escape = (s, { windowsPathsNoEscape = false, magicalBraces = false } = {}) => {
-      if (magicalBraces) {
-        return windowsPathsNoEscape ? s.replace(/[?*()[\]{}]/g, "[$&]") : s.replace(/[?*()[\]\\{}]/g, "\\$&");
-      }
-      return windowsPathsNoEscape ? s.replace(/[?*()[\]]/g, "[$&]") : s.replace(/[?*()[\]\\]/g, "\\$&");
-    };
-    exports2.escape = escape;
+    var RedirectHandler = require_RedirectHandler();
+    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/glob/node_modules/minimatch/dist/commonjs/index.js
-var require_commonjs20 = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/index.js"(exports2) {
+// node_modules/undici/lib/llhttp/llhttp-wasm.js
+var require_llhttp_wasm3 = __commonJS({
+  "node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
+    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAQDscBAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxweHyAhIyUoP0BBREVGR0hJSktMTU9QUVJT3gNXWVtcXWBiZWZnaGlqa2xtb3BxcnN0dXZ3eHl6e3x9foABggGFAYYBhwGJAYsBjAGNAY4BjwGQAZEBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBuAG5AboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAc8B0AHRAdIB0wHUAdUB1gHXAdgB2QHaAdsB3AHdAd4B4AHhAeIB4wHkAeUB5gHnAegB6QHqAesB7AHtAe4B7wHwAfEB8gHzAZkCpAKwAv4C/gILIAEiBCACRw3zAUHdASEQDP8DCyABIhAgAkcN3QFBwwEhEAz+AwsgASIBIAJHDZABQfcAIRAM/QMLIAEiASACRw2GAUHvACEQDPwDCyABIgEgAkcNf0HqACEQDPsDCyABIgEgAkcNe0HoACEQDPoDCyABIgEgAkcNeEHmACEQDPkDCyABIgEgAkcNGkEYIRAM+AMLIAEiASACRw0UQRIhEAz3AwsgASIBIAJHDVlBxQAhEAz2AwsgASIBIAJHDUpBPyEQDPUDCyABIgEgAkcNSEE8IRAM9AMLIAEiASACRw1BQTEhEAzzAwsgAC0ALkEBRg3rAwyHAgsgACABIgEgAhDAgICAAEEBRw3mASAAQgA3AyAM5wELIAAgASIBIAIQtICAgAAiEA3nASABIQEM9QILAkAgASIBIAJHDQBBBiEQDPADCyAAIAFBAWoiASACELuAgIAAIhAN6AEgASEBDDELIABCADcDIEESIRAM1QMLIAEiECACRw0rQR0hEAztAwsCQCABIgEgAkYNACABQQFqIQFBECEQDNQDC0EHIRAM7AMLIABCACAAKQMgIhEgAiABIhBrrSISfSITIBMgEVYbNwMgIBEgElYiFEUN5QFBCCEQDOsDCwJAIAEiASACRg0AIABBiYCAgAA2AgggACABNgIEIAEhAUEUIRAM0gMLQQkhEAzqAwsgASEBIAApAyBQDeQBIAEhAQzyAgsCQCABIgEgAkcNAEELIRAM6QMLIAAgAUEBaiIBIAIQtoCAgAAiEA3lASABIQEM8gILIAAgASIBIAIQuICAgAAiEA3lASABIQEM8gILIAAgASIBIAIQuICAgAAiEA3mASABIQEMDQsgACABIgEgAhC6gICAACIQDecBIAEhAQzwAgsCQCABIgEgAkcNAEEPIRAM5QMLIAEtAAAiEEE7Rg0IIBBBDUcN6AEgAUEBaiEBDO8CCyAAIAEiASACELqAgIAAIhAN6AEgASEBDPICCwNAAkAgAS0AAEHwtYCAAGotAAAiEEEBRg0AIBBBAkcN6wEgACgCBCEQIABBADYCBCAAIBAgAUEBaiIBELmAgIAAIhAN6gEgASEBDPQCCyABQQFqIgEgAkcNAAtBEiEQDOIDCyAAIAEiASACELqAgIAAIhAN6QEgASEBDAoLIAEiASACRw0GQRshEAzgAwsCQCABIgEgAkcNAEEWIRAM4AMLIABBioCAgAA2AgggACABNgIEIAAgASACELiAgIAAIhAN6gEgASEBQSAhEAzGAwsCQCABIgEgAkYNAANAAkAgAS0AAEHwt4CAAGotAAAiEEECRg0AAkAgEEF/ag4E5QHsAQDrAewBCyABQQFqIQFBCCEQDMgDCyABQQFqIgEgAkcNAAtBFSEQDN8DC0EVIRAM3gMLA0ACQCABLQAAQfC5gIAAai0AACIQQQJGDQAgEEF/ag4E3gHsAeAB6wHsAQsgAUEBaiIBIAJHDQALQRghEAzdAwsCQCABIgEgAkYNACAAQYuAgIAANgIIIAAgATYCBCABIQFBByEQDMQDC0EZIRAM3AMLIAFBAWohAQwCCwJAIAEiFCACRw0AQRohEAzbAwsgFCEBAkAgFC0AAEFzag4U3QLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gIA7gILQQAhECAAQQA2AhwgAEGvi4CAADYCECAAQQI2AgwgACAUQQFqNgIUDNoDCwJAIAEtAAAiEEE7Rg0AIBBBDUcN6AEgAUEBaiEBDOUCCyABQQFqIQELQSIhEAy/AwsCQCABIhAgAkcNAEEcIRAM2AMLQgAhESAQIQEgEC0AAEFQag435wHmAQECAwQFBgcIAAAAAAAAAAkKCwwNDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADxAREhMUAAtBHiEQDL0DC0ICIREM5QELQgMhEQzkAQtCBCERDOMBC0IFIREM4gELQgYhEQzhAQtCByERDOABC0IIIREM3wELQgkhEQzeAQtCCiERDN0BC0ILIREM3AELQgwhEQzbAQtCDSERDNoBC0IOIREM2QELQg8hEQzYAQtCCiERDNcBC0ILIREM1gELQgwhEQzVAQtCDSERDNQBC0IOIREM0wELQg8hEQzSAQtCACERAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAQLQAAQVBqDjflAeQBAAECAwQFBgfmAeYB5gHmAeYB5gHmAQgJCgsMDeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gEODxAREhPmAQtCAiERDOQBC0IDIREM4wELQgQhEQziAQtCBSERDOEBC0IGIREM4AELQgchEQzfAQtCCCERDN4BC0IJIREM3QELQgohEQzcAQtCCyERDNsBC0IMIREM2gELQg0hEQzZAQtCDiERDNgBC0IPIREM1wELQgohEQzWAQtCCyERDNUBC0IMIREM1AELQg0hEQzTAQtCDiERDNIBC0IPIREM0QELIABCACAAKQMgIhEgAiABIhBrrSISfSITIBMgEVYbNwMgIBEgElYiFEUN0gFBHyEQDMADCwJAIAEiASACRg0AIABBiYCAgAA2AgggACABNgIEIAEhAUEkIRAMpwMLQSAhEAy/AwsgACABIhAgAhC+gICAAEF/ag4FtgEAxQIB0QHSAQtBESEQDKQDCyAAQQE6AC8gECEBDLsDCyABIgEgAkcN0gFBJCEQDLsDCyABIg0gAkcNHkHGACEQDLoDCyAAIAEiASACELKAgIAAIhAN1AEgASEBDLUBCyABIhAgAkcNJkHQACEQDLgDCwJAIAEiASACRw0AQSghEAy4AwsgAEEANgIEIABBjICAgAA2AgggACABIAEQsYCAgAAiEA3TASABIQEM2AELAkAgASIQIAJHDQBBKSEQDLcDCyAQLQAAIgFBIEYNFCABQQlHDdMBIBBBAWohAQwVCwJAIAEiASACRg0AIAFBAWohAQwXC0EqIRAMtQMLAkAgASIQIAJHDQBBKyEQDLUDCwJAIBAtAAAiAUEJRg0AIAFBIEcN1QELIAAtACxBCEYN0wEgECEBDJEDCwJAIAEiASACRw0AQSwhEAy0AwsgAS0AAEEKRw3VASABQQFqIQEMyQILIAEiDiACRw3VAUEvIRAMsgMLA0ACQCABLQAAIhBBIEYNAAJAIBBBdmoOBADcAdwBANoBCyABIQEM4AELIAFBAWoiASACRw0AC0ExIRAMsQMLQTIhECABIhQgAkYNsAMgAiAUayAAKAIAIgFqIRUgFCABa0EDaiEWAkADQCAULQAAIhdBIHIgFyAXQb9/akH/AXFBGkkbQf8BcSABQfC7gIAAai0AAEcNAQJAIAFBA0cNAEEGIQEMlgMLIAFBAWohASAUQQFqIhQgAkcNAAsgACAVNgIADLEDCyAAQQA2AgAgFCEBDNkBC0EzIRAgASIUIAJGDa8DIAIgFGsgACgCACIBaiEVIBQgAWtBCGohFgJAA0AgFC0AACIXQSByIBcgF0G/f2pB/wFxQRpJG0H/AXEgAUH0u4CAAGotAABHDQECQCABQQhHDQBBBSEBDJUDCyABQQFqIQEgFEEBaiIUIAJHDQALIAAgFTYCAAywAwsgAEEANgIAIBQhAQzYAQtBNCEQIAEiFCACRg2uAyACIBRrIAAoAgAiAWohFSAUIAFrQQVqIRYCQANAIBQtAAAiF0EgciAXIBdBv39qQf8BcUEaSRtB/wFxIAFB0MKAgABqLQAARw0BAkAgAUEFRw0AQQchAQyUAwsgAUEBaiEBIBRBAWoiFCACRw0ACyAAIBU2AgAMrwMLIABBADYCACAUIQEM1wELAkAgASIBIAJGDQADQAJAIAEtAABBgL6AgABqLQAAIhBBAUYNACAQQQJGDQogASEBDN0BCyABQQFqIgEgAkcNAAtBMCEQDK4DC0EwIRAMrQMLAkAgASIBIAJGDQADQAJAIAEtAAAiEEEgRg0AIBBBdmoOBNkB2gHaAdkB2gELIAFBAWoiASACRw0AC0E4IRAMrQMLQTghEAysAwsDQAJAIAEtAAAiEEEgRg0AIBBBCUcNAwsgAUEBaiIBIAJHDQALQTwhEAyrAwsDQAJAIAEtAAAiEEEgRg0AAkACQCAQQXZqDgTaAQEB2gEACyAQQSxGDdsBCyABIQEMBAsgAUEBaiIBIAJHDQALQT8hEAyqAwsgASEBDNsBC0HAACEQIAEiFCACRg2oAyACIBRrIAAoAgAiAWohFiAUIAFrQQZqIRcCQANAIBQtAABBIHIgAUGAwICAAGotAABHDQEgAUEGRg2OAyABQQFqIQEgFEEBaiIUIAJHDQALIAAgFjYCAAypAwsgAEEANgIAIBQhAQtBNiEQDI4DCwJAIAEiDyACRw0AQcEAIRAMpwMLIABBjICAgAA2AgggACAPNgIEIA8hASAALQAsQX9qDgTNAdUB1wHZAYcDCyABQQFqIQEMzAELAkAgASIBIAJGDQADQAJAIAEtAAAiEEEgciAQIBBBv39qQf8BcUEaSRtB/wFxIhBBCUYNACAQQSBGDQACQAJAAkACQCAQQZ1/ag4TAAMDAwMDAwMBAwMDAwMDAwMDAgMLIAFBAWohAUExIRAMkQMLIAFBAWohAUEyIRAMkAMLIAFBAWohAUEzIRAMjwMLIAEhAQzQAQsgAUEBaiIBIAJHDQALQTUhEAylAwtBNSEQDKQDCwJAIAEiASACRg0AA0ACQCABLQAAQYC8gIAAai0AAEEBRg0AIAEhAQzTAQsgAUEBaiIBIAJHDQALQT0hEAykAwtBPSEQDKMDCyAAIAEiASACELCAgIAAIhAN1gEgASEBDAELIBBBAWohAQtBPCEQDIcDCwJAIAEiASACRw0AQcIAIRAMoAMLAkADQAJAIAEtAABBd2oOGAAC/gL+AoQD/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4CAP4CCyABQQFqIgEgAkcNAAtBwgAhEAygAwsgAUEBaiEBIAAtAC1BAXFFDb0BIAEhAQtBLCEQDIUDCyABIgEgAkcN0wFBxAAhEAydAwsDQAJAIAEtAABBkMCAgABqLQAAQQFGDQAgASEBDLcCCyABQQFqIgEgAkcNAAtBxQAhEAycAwsgDS0AACIQQSBGDbMBIBBBOkcNgQMgACgCBCEBIABBADYCBCAAIAEgDRCvgICAACIBDdABIA1BAWohAQyzAgtBxwAhECABIg0gAkYNmgMgAiANayAAKAIAIgFqIRYgDSABa0EFaiEXA0AgDS0AACIUQSByIBQgFEG/f2pB/wFxQRpJG0H/AXEgAUGQwoCAAGotAABHDYADIAFBBUYN9AIgAUEBaiEBIA1BAWoiDSACRw0ACyAAIBY2AgAMmgMLQcgAIRAgASINIAJGDZkDIAIgDWsgACgCACIBaiEWIA0gAWtBCWohFwNAIA0tAAAiFEEgciAUIBRBv39qQf8BcUEaSRtB/wFxIAFBlsKAgABqLQAARw3/AgJAIAFBCUcNAEECIQEM9QILIAFBAWohASANQQFqIg0gAkcNAAsgACAWNgIADJkDCwJAIAEiDSACRw0AQckAIRAMmQMLAkACQCANLQAAIgFBIHIgASABQb9/akH/AXFBGkkbQf8BcUGSf2oOBwCAA4ADgAOAA4ADAYADCyANQQFqIQFBPiEQDIADCyANQQFqIQFBPyEQDP8CC0HKACEQIAEiDSACRg2XAyACIA1rIAAoAgAiAWohFiANIAFrQQFqIRcDQCANLQAAIhRBIHIgFCAUQb9/akH/AXFBGkkbQf8BcSABQaDCgIAAai0AAEcN/QIgAUEBRg3wAiABQQFqIQEgDUEBaiINIAJHDQALIAAgFjYCAAyXAwtBywAhECABIg0gAkYNlgMgAiANayAAKAIAIgFqIRYgDSABa0EOaiEXA0AgDS0AACIUQSByIBQgFEG/f2pB/wFxQRpJG0H/AXEgAUGiwoCAAGotAABHDfwCIAFBDkYN8AIgAUEBaiEBIA1BAWoiDSACRw0ACyAAIBY2AgAMlgMLQcwAIRAgASINIAJGDZUDIAIgDWsgACgCACIBaiEWIA0gAWtBD2ohFwNAIA0tAAAiFEEgciAUIBRBv39qQf8BcUEaSRtB/wFxIAFBwMKAgABqLQAARw37AgJAIAFBD0cNAEEDIQEM8QILIAFBAWohASANQQFqIg0gAkcNAAsgACAWNgIADJUDC0HNACEQIAEiDSACRg2UAyACIA1rIAAoAgAiAWohFiANIAFrQQVqIRcDQCANLQAAIhRBIHIgFCAUQb9/akH/AXFBGkkbQf8BcSABQdDCgIAAai0AAEcN+gICQCABQQVHDQBBBCEBDPACCyABQQFqIQEgDUEBaiINIAJHDQALIAAgFjYCAAyUAwsCQCABIg0gAkcNAEHOACEQDJQDCwJAAkACQAJAIA0tAAAiAUEgciABIAFBv39qQf8BcUEaSRtB/wFxQZ1/ag4TAP0C/QL9Av0C/QL9Av0C/QL9Av0C/QL9AgH9Av0C/QICA/0CCyANQQFqIQFBwQAhEAz9AgsgDUEBaiEBQcIAIRAM/AILIA1BAWohAUHDACEQDPsCCyANQQFqIQFBxAAhEAz6AgsCQCABIgEgAkYNACAAQY2AgIAANgIIIAAgATYCBCABIQFBxQAhEAz6AgtBzwAhEAySAwsgECEBAkACQCAQLQAAQXZqDgQBqAKoAgCoAgsgEEEBaiEBC0EnIRAM+AILAkAgASIBIAJHDQBB0QAhEAyRAwsCQCABLQAAQSBGDQAgASEBDI0BCyABQQFqIQEgAC0ALUEBcUUNxwEgASEBDIwBCyABIhcgAkcNyAFB0gAhEAyPAwtB0wAhECABIhQgAkYNjgMgAiAUayAAKAIAIgFqIRYgFCABa0EBaiEXA0AgFC0AACABQdbCgIAAai0AAEcNzAEgAUEBRg3HASABQQFqIQEgFEEBaiIUIAJHDQALIAAgFjYCAAyOAwsCQCABIgEgAkcNAEHVACEQDI4DCyABLQAAQQpHDcwBIAFBAWohAQzHAQsCQCABIgEgAkcNAEHWACEQDI0DCwJAAkAgAS0AAEF2ag4EAM0BzQEBzQELIAFBAWohAQzHAQsgAUEBaiEBQcoAIRAM8wILIAAgASIBIAIQroCAgAAiEA3LASABIQFBzQAhEAzyAgsgAC0AKUEiRg2FAwymAgsCQCABIgEgAkcNAEHbACEQDIoDC0EAIRRBASEXQQEhFkEAIRACQAJAAkACQAJAAkACQAJAAkAgAS0AAEFQag4K1AHTAQABAgMEBQYI1QELQQIhEAwGC0EDIRAMBQtBBCEQDAQLQQUhEAwDC0EGIRAMAgtBByEQDAELQQghEAtBACEXQQAhFkEAIRQMzAELQQkhEEEBIRRBACEXQQAhFgzLAQsCQCABIgEgAkcNAEHdACEQDIkDCyABLQAAQS5HDcwBIAFBAWohAQymAgsgASIBIAJHDcwBQd8AIRAMhwMLAkAgASIBIAJGDQAgAEGOgICAADYCCCAAIAE2AgQgASEBQdAAIRAM7gILQeAAIRAMhgMLQeEAIRAgASIBIAJGDYUDIAIgAWsgACgCACIUaiEWIAEgFGtBA2ohFwNAIAEtAAAgFEHiwoCAAGotAABHDc0BIBRBA0YNzAEgFEEBaiEUIAFBAWoiASACRw0ACyAAIBY2AgAMhQMLQeIAIRAgASIBIAJGDYQDIAIgAWsgACgCACIUaiEWIAEgFGtBAmohFwNAIAEtAAAgFEHmwoCAAGotAABHDcwBIBRBAkYNzgEgFEEBaiEUIAFBAWoiASACRw0ACyAAIBY2AgAMhAMLQeMAIRAgASIBIAJGDYMDIAIgAWsgACgCACIUaiEWIAEgFGtBA2ohFwNAIAEtAAAgFEHpwoCAAGotAABHDcsBIBRBA0YNzgEgFEEBaiEUIAFBAWoiASACRw0ACyAAIBY2AgAMgwMLAkAgASIBIAJHDQBB5QAhEAyDAwsgACABQQFqIgEgAhCogICAACIQDc0BIAEhAUHWACEQDOkCCwJAIAEiASACRg0AA0ACQCABLQAAIhBBIEYNAAJAAkACQCAQQbh/ag4LAAHPAc8BzwHPAc8BzwHPAc8BAs8BCyABQQFqIQFB0gAhEAztAgsgAUEBaiEBQdMAIRAM7AILIAFBAWohAUHUACEQDOsCCyABQQFqIgEgAkcNAAtB5AAhEAyCAwtB5AAhEAyBAwsDQAJAIAEtAABB8MKAgABqLQAAIhBBAUYNACAQQX5qDgPPAdAB0QHSAQsgAUEBaiIBIAJHDQALQeYAIRAMgAMLAkAgASIBIAJGDQAgAUEBaiEBDAMLQecAIRAM/wILA0ACQCABLQAAQfDEgIAAai0AACIQQQFGDQACQCAQQX5qDgTSAdMB1AEA1QELIAEhAUHXACEQDOcCCyABQQFqIgEgAkcNAAtB6AAhEAz+AgsCQCABIgEgAkcNAEHpACEQDP4CCwJAIAEtAAAiEEF2ag4augHVAdUBvAHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHKAdUB1QEA0wELIAFBAWohAQtBBiEQDOMCCwNAAkAgAS0AAEHwxoCAAGotAABBAUYNACABIQEMngILIAFBAWoiASACRw0AC0HqACEQDPsCCwJAIAEiASACRg0AIAFBAWohAQwDC0HrACEQDPoCCwJAIAEiASACRw0AQewAIRAM+gILIAFBAWohAQwBCwJAIAEiASACRw0AQe0AIRAM+QILIAFBAWohAQtBBCEQDN4CCwJAIAEiFCACRw0AQe4AIRAM9wILIBQhAQJAAkACQCAULQAAQfDIgIAAai0AAEF/ag4H1AHVAdYBAJwCAQLXAQsgFEEBaiEBDAoLIBRBAWohAQzNAQtBACEQIABBADYCHCAAQZuSgIAANgIQIABBBzYCDCAAIBRBAWo2AhQM9gILAkADQAJAIAEtAABB8MiAgABqLQAAIhBBBEYNAAJAAkAgEEF/ag4H0gHTAdQB2QEABAHZAQsgASEBQdoAIRAM4AILIAFBAWohAUHcACEQDN8CCyABQQFqIgEgAkcNAAtB7wAhEAz2AgsgAUEBaiEBDMsBCwJAIAEiFCACRw0AQfAAIRAM9QILIBQtAABBL0cN1AEgFEEBaiEBDAYLAkAgASIUIAJHDQBB8QAhEAz0AgsCQCAULQAAIgFBL0cNACAUQQFqIQFB3QAhEAzbAgsgAUF2aiIEQRZLDdMBQQEgBHRBiYCAAnFFDdMBDMoCCwJAIAEiASACRg0AIAFBAWohAUHeACEQDNoCC0HyACEQDPICCwJAIAEiFCACRw0AQfQAIRAM8gILIBQhAQJAIBQtAABB8MyAgABqLQAAQX9qDgPJApQCANQBC0HhACEQDNgCCwJAIAEiFCACRg0AA0ACQCAULQAAQfDKgIAAai0AACIBQQNGDQACQCABQX9qDgLLAgDVAQsgFCEBQd8AIRAM2gILIBRBAWoiFCACRw0AC0HzACEQDPECC0HzACEQDPACCwJAIAEiASACRg0AIABBj4CAgAA2AgggACABNgIEIAEhAUHgACEQDNcCC0H1ACEQDO8CCwJAIAEiASACRw0AQfYAIRAM7wILIABBj4CAgAA2AgggACABNgIEIAEhAQtBAyEQDNQCCwNAIAEtAABBIEcNwwIgAUEBaiIBIAJHDQALQfcAIRAM7AILAkAgASIBIAJHDQBB+AAhEAzsAgsgAS0AAEEgRw3OASABQQFqIQEM7wELIAAgASIBIAIQrICAgAAiEA3OASABIQEMjgILAkAgASIEIAJHDQBB+gAhEAzqAgsgBC0AAEHMAEcN0QEgBEEBaiEBQRMhEAzPAQsCQCABIgQgAkcNAEH7ACEQDOkCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRADQCAELQAAIAFB8M6AgABqLQAARw3QASABQQVGDc4BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQfsAIRAM6AILAkAgASIEIAJHDQBB/AAhEAzoAgsCQAJAIAQtAABBvX9qDgwA0QHRAdEB0QHRAdEB0QHRAdEB0QEB0QELIARBAWohAUHmACEQDM8CCyAEQQFqIQFB5wAhEAzOAgsCQCABIgQgAkcNAEH9ACEQDOcCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDc8BIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEH9ACEQDOcCCyAAQQA2AgAgEEEBaiEBQRAhEAzMAQsCQCABIgQgAkcNAEH+ACEQDOYCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUH2zoCAAGotAABHDc4BIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEH+ACEQDOYCCyAAQQA2AgAgEEEBaiEBQRYhEAzLAQsCQCABIgQgAkcNAEH/ACEQDOUCCyACIARrIAAoAgAiAWohFCAEIAFrQQNqIRACQANAIAQtAAAgAUH8zoCAAGotAABHDc0BIAFBA0YNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEH/ACEQDOUCCyAAQQA2AgAgEEEBaiEBQQUhEAzKAQsCQCABIgQgAkcNAEGAASEQDOQCCyAELQAAQdkARw3LASAEQQFqIQFBCCEQDMkBCwJAIAEiBCACRw0AQYEBIRAM4wILAkACQCAELQAAQbJ/ag4DAMwBAcwBCyAEQQFqIQFB6wAhEAzKAgsgBEEBaiEBQewAIRAMyQILAkAgASIEIAJHDQBBggEhEAziAgsCQAJAIAQtAABBuH9qDggAywHLAcsBywHLAcsBAcsBCyAEQQFqIQFB6gAhEAzJAgsgBEEBaiEBQe0AIRAMyAILAkAgASIEIAJHDQBBgwEhEAzhAgsgAiAEayAAKAIAIgFqIRAgBCABa0ECaiEUAkADQCAELQAAIAFBgM+AgABqLQAARw3JASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBA2AgBBgwEhEAzhAgtBACEQIABBADYCACAUQQFqIQEMxgELAkAgASIEIAJHDQBBhAEhEAzgAgsgAiAEayAAKAIAIgFqIRQgBCABa0EEaiEQAkADQCAELQAAIAFBg8+AgABqLQAARw3IASABQQRGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBhAEhEAzgAgsgAEEANgIAIBBBAWohAUEjIRAMxQELAkAgASIEIAJHDQBBhQEhEAzfAgsCQAJAIAQtAABBtH9qDggAyAHIAcgByAHIAcgBAcgBCyAEQQFqIQFB7wAhEAzGAgsgBEEBaiEBQfAAIRAMxQILAkAgASIEIAJHDQBBhgEhEAzeAgsgBC0AAEHFAEcNxQEgBEEBaiEBDIMCCwJAIAEiBCACRw0AQYcBIRAM3QILIAIgBGsgACgCACIBaiEUIAQgAWtBA2ohEAJAA0AgBC0AACABQYjPgIAAai0AAEcNxQEgAUEDRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYcBIRAM3QILIABBADYCACAQQQFqIQFBLSEQDMIBCwJAIAEiBCACRw0AQYgBIRAM3AILIAIgBGsgACgCACIBaiEUIAQgAWtBCGohEAJAA0AgBC0AACABQdDPgIAAai0AAEcNxAEgAUEIRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYgBIRAM3AILIABBADYCACAQQQFqIQFBKSEQDMEBCwJAIAEiASACRw0AQYkBIRAM2wILQQEhECABLQAAQd8ARw3AASABQQFqIQEMgQILAkAgASIEIAJHDQBBigEhEAzaAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQA0AgBC0AACABQYzPgIAAai0AAEcNwQEgAUEBRg2vAiABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGKASEQDNkCCwJAIAEiBCACRw0AQYsBIRAM2QILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQY7PgIAAai0AAEcNwQEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYsBIRAM2QILIABBADYCACAQQQFqIQFBAiEQDL4BCwJAIAEiBCACRw0AQYwBIRAM2AILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfDPgIAAai0AAEcNwAEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYwBIRAM2AILIABBADYCACAQQQFqIQFBHyEQDL0BCwJAIAEiBCACRw0AQY0BIRAM1wILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfLPgIAAai0AAEcNvwEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQY0BIRAM1wILIABBADYCACAQQQFqIQFBCSEQDLwBCwJAIAEiBCACRw0AQY4BIRAM1gILAkACQCAELQAAQbd/ag4HAL8BvwG/Ab8BvwEBvwELIARBAWohAUH4ACEQDL0CCyAEQQFqIQFB+QAhEAy8AgsCQCABIgQgAkcNAEGPASEQDNUCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUGRz4CAAGotAABHDb0BIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGPASEQDNUCCyAAQQA2AgAgEEEBaiEBQRghEAy6AQsCQCABIgQgAkcNAEGQASEQDNQCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUGXz4CAAGotAABHDbwBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGQASEQDNQCCyAAQQA2AgAgEEEBaiEBQRchEAy5AQsCQCABIgQgAkcNAEGRASEQDNMCCyACIARrIAAoAgAiAWohFCAEIAFrQQZqIRACQANAIAQtAAAgAUGaz4CAAGotAABHDbsBIAFBBkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGRASEQDNMCCyAAQQA2AgAgEEEBaiEBQRUhEAy4AQsCQCABIgQgAkcNAEGSASEQDNICCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUGhz4CAAGotAABHDboBIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGSASEQDNICCyAAQQA2AgAgEEEBaiEBQR4hEAy3AQsCQCABIgQgAkcNAEGTASEQDNECCyAELQAAQcwARw24ASAEQQFqIQFBCiEQDLYBCwJAIAQgAkcNAEGUASEQDNACCwJAAkAgBC0AAEG/f2oODwC5AbkBuQG5AbkBuQG5AbkBuQG5AbkBuQG5AQG5AQsgBEEBaiEBQf4AIRAMtwILIARBAWohAUH/ACEQDLYCCwJAIAQgAkcNAEGVASEQDM8CCwJAAkAgBC0AAEG/f2oOAwC4AQG4AQsgBEEBaiEBQf0AIRAMtgILIARBAWohBEGAASEQDLUCCwJAIAQgAkcNAEGWASEQDM4CCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUGnz4CAAGotAABHDbYBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGWASEQDM4CCyAAQQA2AgAgEEEBaiEBQQshEAyzAQsCQCAEIAJHDQBBlwEhEAzNAgsCQAJAAkACQCAELQAAQVNqDiMAuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AQG4AbgBuAG4AbgBArgBuAG4AQO4AQsgBEEBaiEBQfsAIRAMtgILIARBAWohAUH8ACEQDLUCCyAEQQFqIQRBgQEhEAy0AgsgBEEBaiEEQYIBIRAMswILAkAgBCACRw0AQZgBIRAMzAILIAIgBGsgACgCACIBaiEUIAQgAWtBBGohEAJAA0AgBC0AACABQanPgIAAai0AAEcNtAEgAUEERg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZgBIRAMzAILIABBADYCACAQQQFqIQFBGSEQDLEBCwJAIAQgAkcNAEGZASEQDMsCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUGuz4CAAGotAABHDbMBIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGZASEQDMsCCyAAQQA2AgAgEEEBaiEBQQYhEAywAQsCQCAEIAJHDQBBmgEhEAzKAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFBtM+AgABqLQAARw2yASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBmgEhEAzKAgsgAEEANgIAIBBBAWohAUEcIRAMrwELAkAgBCACRw0AQZsBIRAMyQILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQbbPgIAAai0AAEcNsQEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZsBIRAMyQILIABBADYCACAQQQFqIQFBJyEQDK4BCwJAIAQgAkcNAEGcASEQDMgCCwJAAkAgBC0AAEGsf2oOAgABsQELIARBAWohBEGGASEQDK8CCyAEQQFqIQRBhwEhEAyuAgsCQCAEIAJHDQBBnQEhEAzHAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFBuM+AgABqLQAARw2vASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBnQEhEAzHAgsgAEEANgIAIBBBAWohAUEmIRAMrAELAkAgBCACRw0AQZ4BIRAMxgILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQbrPgIAAai0AAEcNrgEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZ4BIRAMxgILIABBADYCACAQQQFqIQFBAyEQDKsBCwJAIAQgAkcNAEGfASEQDMUCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDa0BIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGfASEQDMUCCyAAQQA2AgAgEEEBaiEBQQwhEAyqAQsCQCAEIAJHDQBBoAEhEAzEAgsgAiAEayAAKAIAIgFqIRQgBCABa0EDaiEQAkADQCAELQAAIAFBvM+AgABqLQAARw2sASABQQNGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBoAEhEAzEAgsgAEEANgIAIBBBAWohAUENIRAMqQELAkAgBCACRw0AQaEBIRAMwwILAkACQCAELQAAQbp/ag4LAKwBrAGsAawBrAGsAawBrAGsAQGsAQsgBEEBaiEEQYsBIRAMqgILIARBAWohBEGMASEQDKkCCwJAIAQgAkcNAEGiASEQDMICCyAELQAAQdAARw2pASAEQQFqIQQM6QELAkAgBCACRw0AQaMBIRAMwQILAkACQCAELQAAQbd/ag4HAaoBqgGqAaoBqgEAqgELIARBAWohBEGOASEQDKgCCyAEQQFqIQFBIiEQDKYBCwJAIAQgAkcNAEGkASEQDMACCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUHAz4CAAGotAABHDagBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGkASEQDMACCyAAQQA2AgAgEEEBaiEBQR0hEAylAQsCQCAEIAJHDQBBpQEhEAy/AgsCQAJAIAQtAABBrn9qDgMAqAEBqAELIARBAWohBEGQASEQDKYCCyAEQQFqIQFBBCEQDKQBCwJAIAQgAkcNAEGmASEQDL4CCwJAAkACQAJAAkAgBC0AAEG/f2oOFQCqAaoBqgGqAaoBqgGqAaoBqgGqAQGqAaoBAqoBqgEDqgGqAQSqAQsgBEEBaiEEQYgBIRAMqAILIARBAWohBEGJASEQDKcCCyAEQQFqIQRBigEhEAymAgsgBEEBaiEEQY8BIRAMpQILIARBAWohBEGRASEQDKQCCwJAIAQgAkcNAEGnASEQDL0CCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDaUBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGnASEQDL0CCyAAQQA2AgAgEEEBaiEBQREhEAyiAQsCQCAEIAJHDQBBqAEhEAy8AgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFBws+AgABqLQAARw2kASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBqAEhEAy8AgsgAEEANgIAIBBBAWohAUEsIRAMoQELAkAgBCACRw0AQakBIRAMuwILIAIgBGsgACgCACIBaiEUIAQgAWtBBGohEAJAA0AgBC0AACABQcXPgIAAai0AAEcNowEgAUEERg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQakBIRAMuwILIABBADYCACAQQQFqIQFBKyEQDKABCwJAIAQgAkcNAEGqASEQDLoCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHKz4CAAGotAABHDaIBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGqASEQDLoCCyAAQQA2AgAgEEEBaiEBQRQhEAyfAQsCQCAEIAJHDQBBqwEhEAy5AgsCQAJAAkACQCAELQAAQb5/ag4PAAECpAGkAaQBpAGkAaQBpAGkAaQBpAGkAQOkAQsgBEEBaiEEQZMBIRAMogILIARBAWohBEGUASEQDKECCyAEQQFqIQRBlQEhEAygAgsgBEEBaiEEQZYBIRAMnwILAkAgBCACRw0AQawBIRAMuAILIAQtAABBxQBHDZ8BIARBAWohBAzgAQsCQCAEIAJHDQBBrQEhEAy3AgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFBzc+AgABqLQAARw2fASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBrQEhEAy3AgsgAEEANgIAIBBBAWohAUEOIRAMnAELAkAgBCACRw0AQa4BIRAMtgILIAQtAABB0ABHDZ0BIARBAWohAUElIRAMmwELAkAgBCACRw0AQa8BIRAMtQILIAIgBGsgACgCACIBaiEUIAQgAWtBCGohEAJAA0AgBC0AACABQdDPgIAAai0AAEcNnQEgAUEIRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQa8BIRAMtQILIABBADYCACAQQQFqIQFBKiEQDJoBCwJAIAQgAkcNAEGwASEQDLQCCwJAAkAgBC0AAEGrf2oOCwCdAZ0BnQGdAZ0BnQGdAZ0BnQEBnQELIARBAWohBEGaASEQDJsCCyAEQQFqIQRBmwEhEAyaAgsCQCAEIAJHDQBBsQEhEAyzAgsCQAJAIAQtAABBv39qDhQAnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBAZwBCyAEQQFqIQRBmQEhEAyaAgsgBEEBaiEEQZwBIRAMmQILAkAgBCACRw0AQbIBIRAMsgILIAIgBGsgACgCACIBaiEUIAQgAWtBA2ohEAJAA0AgBC0AACABQdnPgIAAai0AAEcNmgEgAUEDRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbIBIRAMsgILIABBADYCACAQQQFqIQFBISEQDJcBCwJAIAQgAkcNAEGzASEQDLECCyACIARrIAAoAgAiAWohFCAEIAFrQQZqIRACQANAIAQtAAAgAUHdz4CAAGotAABHDZkBIAFBBkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGzASEQDLECCyAAQQA2AgAgEEEBaiEBQRohEAyWAQsCQCAEIAJHDQBBtAEhEAywAgsCQAJAAkAgBC0AAEG7f2oOEQCaAZoBmgGaAZoBmgGaAZoBmgEBmgGaAZoBmgGaAQKaAQsgBEEBaiEEQZ0BIRAMmAILIARBAWohBEGeASEQDJcCCyAEQQFqIQRBnwEhEAyWAgsCQCAEIAJHDQBBtQEhEAyvAgsgAiAEayAAKAIAIgFqIRQgBCABa0EFaiEQAkADQCAELQAAIAFB5M+AgABqLQAARw2XASABQQVGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBtQEhEAyvAgsgAEEANgIAIBBBAWohAUEoIRAMlAELAkAgBCACRw0AQbYBIRAMrgILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQerPgIAAai0AAEcNlgEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbYBIRAMrgILIABBADYCACAQQQFqIQFBByEQDJMBCwJAIAQgAkcNAEG3ASEQDK0CCwJAAkAgBC0AAEG7f2oODgCWAZYBlgGWAZYBlgGWAZYBlgGWAZYBlgEBlgELIARBAWohBEGhASEQDJQCCyAEQQFqIQRBogEhEAyTAgsCQCAEIAJHDQBBuAEhEAysAgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFB7c+AgABqLQAARw2UASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBuAEhEAysAgsgAEEANgIAIBBBAWohAUESIRAMkQELAkAgBCACRw0AQbkBIRAMqwILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfDPgIAAai0AAEcNkwEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbkBIRAMqwILIABBADYCACAQQQFqIQFBICEQDJABCwJAIAQgAkcNAEG6ASEQDKoCCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUHyz4CAAGotAABHDZIBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEG6ASEQDKoCCyAAQQA2AgAgEEEBaiEBQQ8hEAyPAQsCQCAEIAJHDQBBuwEhEAypAgsCQAJAIAQtAABBt39qDgcAkgGSAZIBkgGSAQGSAQsgBEEBaiEEQaUBIRAMkAILIARBAWohBEGmASEQDI8CCwJAIAQgAkcNAEG8ASEQDKgCCyACIARrIAAoAgAiAWohFCAEIAFrQQdqIRACQANAIAQtAAAgAUH0z4CAAGotAABHDZABIAFBB0YNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEG8ASEQDKgCCyAAQQA2AgAgEEEBaiEBQRshEAyNAQsCQCAEIAJHDQBBvQEhEAynAgsCQAJAAkAgBC0AAEG+f2oOEgCRAZEBkQGRAZEBkQGRAZEBkQEBkQGRAZEBkQGRAZEBApEBCyAEQQFqIQRBpAEhEAyPAgsgBEEBaiEEQacBIRAMjgILIARBAWohBEGoASEQDI0CCwJAIAQgAkcNAEG+ASEQDKYCCyAELQAAQc4ARw2NASAEQQFqIQQMzwELAkAgBCACRw0AQb8BIRAMpQILAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgBC0AAEG/f2oOFQABAgOcAQQFBpwBnAGcAQcICQoLnAEMDQ4PnAELIARBAWohAUHoACEQDJoCCyAEQQFqIQFB6QAhEAyZAgsgBEEBaiEBQe4AIRAMmAILIARBAWohAUHyACEQDJcCCyAEQQFqIQFB8wAhEAyWAgsgBEEBaiEBQfYAIRAMlQILIARBAWohAUH3ACEQDJQCCyAEQQFqIQFB+gAhEAyTAgsgBEEBaiEEQYMBIRAMkgILIARBAWohBEGEASEQDJECCyAEQQFqIQRBhQEhEAyQAgsgBEEBaiEEQZIBIRAMjwILIARBAWohBEGYASEQDI4CCyAEQQFqIQRBoAEhEAyNAgsgBEEBaiEEQaMBIRAMjAILIARBAWohBEGqASEQDIsCCwJAIAQgAkYNACAAQZCAgIAANgIIIAAgBDYCBEGrASEQDIsCC0HAASEQDKMCCyAAIAUgAhCqgICAACIBDYsBIAUhAQxcCwJAIAYgAkYNACAGQQFqIQUMjQELQcIBIRAMoQILA0ACQCAQLQAAQXZqDgSMAQAAjwEACyAQQQFqIhAgAkcNAAtBwwEhEAygAgsCQCAHIAJGDQAgAEGRgICAADYCCCAAIAc2AgQgByEBQQEhEAyHAgtBxAEhEAyfAgsCQCAHIAJHDQBBxQEhEAyfAgsCQAJAIActAABBdmoOBAHOAc4BAM4BCyAHQQFqIQYMjQELIAdBAWohBQyJAQsCQCAHIAJHDQBBxgEhEAyeAgsCQAJAIActAABBdmoOFwGPAY8BAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAQCPAQsgB0EBaiEHC0GwASEQDIQCCwJAIAggAkcNAEHIASEQDJ0CCyAILQAAQSBHDY0BIABBADsBMiAIQQFqIQFBswEhEAyDAgsgASEXAkADQCAXIgcgAkYNASAHLQAAQVBqQf8BcSIQQQpPDcwBAkAgAC8BMiIUQZkzSw0AIAAgFEEKbCIUOwEyIBBB//8DcyAUQf7/A3FJDQAgB0EBaiEXIAAgFCAQaiIQOwEyIBBB//8DcUHoB0kNAQsLQQAhECAAQQA2AhwgAEHBiYCAADYCECAAQQ02AgwgACAHQQFqNgIUDJwCC0HHASEQDJsCCyAAIAggAhCugICAACIQRQ3KASAQQRVHDYwBIABByAE2AhwgACAINgIUIABByZeAgAA2AhAgAEEVNgIMQQAhEAyaAgsCQCAJIAJHDQBBzAEhEAyaAgtBACEUQQEhF0EBIRZBACEQAkACQAJAAkACQAJAAkACQAJAIAktAABBUGoOCpYBlQEAAQIDBAUGCJcBC0ECIRAMBgtBAyEQDAULQQQhEAwEC0EFIRAMAwtBBiEQDAILQQchEAwBC0EIIRALQQAhF0EAIRZBACEUDI4BC0EJIRBBASEUQQAhF0EAIRYMjQELAkAgCiACRw0AQc4BIRAMmQILIAotAABBLkcNjgEgCkEBaiEJDMoBCyALIAJHDY4BQdABIRAMlwILAkAgCyACRg0AIABBjoCAgAA2AgggACALNgIEQbcBIRAM/gELQdEBIRAMlgILAkAgBCACRw0AQdIBIRAMlgILIAIgBGsgACgCACIQaiEUIAQgEGtBBGohCwNAIAQtAAAgEEH8z4CAAGotAABHDY4BIBBBBEYN6QEgEEEBaiEQIARBAWoiBCACRw0ACyAAIBQ2AgBB0gEhEAyVAgsgACAMIAIQrICAgAAiAQ2NASAMIQEMuAELAkAgBCACRw0AQdQBIRAMlAILIAIgBGsgACgCACIQaiEUIAQgEGtBAWohDANAIAQtAAAgEEGB0ICAAGotAABHDY8BIBBBAUYNjgEgEEEBaiEQIARBAWoiBCACRw0ACyAAIBQ2AgBB1AEhEAyTAgsCQCAEIAJHDQBB1gEhEAyTAgsgAiAEayAAKAIAIhBqIRQgBCAQa0ECaiELA0AgBC0AACAQQYPQgIAAai0AAEcNjgEgEEECRg2QASAQQQFqIRAgBEEBaiIEIAJHDQALIAAgFDYCAEHWASEQDJICCwJAIAQgAkcNAEHXASEQDJICCwJAAkAgBC0AAEG7f2oOEACPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BAY8BCyAEQQFqIQRBuwEhEAz5AQsgBEEBaiEEQbwBIRAM+AELAkAgBCACRw0AQdgBIRAMkQILIAQtAABByABHDYwBIARBAWohBAzEAQsCQCAEIAJGDQAgAEGQgICAADYCCCAAIAQ2AgRBvgEhEAz3AQtB2QEhEAyPAgsCQCAEIAJHDQBB2gEhEAyPAgsgBC0AAEHIAEYNwwEgAEEBOgAoDLkBCyAAQQI6AC8gACAEIAIQpoCAgAAiEA2NAUHCASEQDPQBCyAALQAoQX9qDgK3AbkBuAELA0ACQCAELQAAQXZqDgQAjgGOAQCOAQsgBEEBaiIEIAJHDQALQd0BIRAMiwILIABBADoALyAALQAtQQRxRQ2EAgsgAEEAOgAvIABBAToANCABIQEMjAELIBBBFUYN2gEgAEEANgIcIAAgATYCFCAAQaeOgIAANgIQIABBEjYCDEEAIRAMiAILAkAgACAQIAIQtICAgAAiBA0AIBAhAQyBAgsCQCAEQRVHDQAgAEEDNgIcIAAgEDYCFCAAQbCYgIAANgIQIABBFTYCDEEAIRAMiAILIABBADYCHCAAIBA2AhQgAEGnjoCAADYCECAAQRI2AgxBACEQDIcCCyAQQRVGDdYBIABBADYCHCAAIAE2AhQgAEHajYCAADYCECAAQRQ2AgxBACEQDIYCCyAAKAIEIRcgAEEANgIEIBAgEadqIhYhASAAIBcgECAWIBQbIhAQtYCAgAAiFEUNjQEgAEEHNgIcIAAgEDYCFCAAIBQ2AgxBACEQDIUCCyAAIAAvATBBgAFyOwEwIAEhAQtBKiEQDOoBCyAQQRVGDdEBIABBADYCHCAAIAE2AhQgAEGDjICAADYCECAAQRM2AgxBACEQDIICCyAQQRVGDc8BIABBADYCHCAAIAE2AhQgAEGaj4CAADYCECAAQSI2AgxBACEQDIECCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQt4CAgAAiEA0AIAFBAWohAQyNAQsgAEEMNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDIACCyAQQRVGDcwBIABBADYCHCAAIAE2AhQgAEGaj4CAADYCECAAQSI2AgxBACEQDP8BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQt4CAgAAiEA0AIAFBAWohAQyMAQsgAEENNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDP4BCyAQQRVGDckBIABBADYCHCAAIAE2AhQgAEHGjICAADYCECAAQSM2AgxBACEQDP0BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQuYCAgAAiEA0AIAFBAWohAQyLAQsgAEEONgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDPwBCyAAQQA2AhwgACABNgIUIABBwJWAgAA2AhAgAEECNgIMQQAhEAz7AQsgEEEVRg3FASAAQQA2AhwgACABNgIUIABBxoyAgAA2AhAgAEEjNgIMQQAhEAz6AQsgAEEQNgIcIAAgATYCFCAAIBA2AgxBACEQDPkBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQuYCAgAAiBA0AIAFBAWohAQzxAQsgAEERNgIcIAAgBDYCDCAAIAFBAWo2AhRBACEQDPgBCyAQQRVGDcEBIABBADYCHCAAIAE2AhQgAEHGjICAADYCECAAQSM2AgxBACEQDPcBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQuYCAgAAiEA0AIAFBAWohAQyIAQsgAEETNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDPYBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQuYCAgAAiBA0AIAFBAWohAQztAQsgAEEUNgIcIAAgBDYCDCAAIAFBAWo2AhRBACEQDPUBCyAQQRVGDb0BIABBADYCHCAAIAE2AhQgAEGaj4CAADYCECAAQSI2AgxBACEQDPQBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQt4CAgAAiEA0AIAFBAWohAQyGAQsgAEEWNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDPMBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQt4CAgAAiBA0AIAFBAWohAQzpAQsgAEEXNgIcIAAgBDYCDCAAIAFBAWo2AhRBACEQDPIBCyAAQQA2AhwgACABNgIUIABBzZOAgAA2AhAgAEEMNgIMQQAhEAzxAQtCASERCyAQQQFqIQECQCAAKQMgIhJC//////////8PVg0AIAAgEkIEhiARhDcDICABIQEMhAELIABBADYCHCAAIAE2AhQgAEGtiYCAADYCECAAQQw2AgxBACEQDO8BCyAAQQA2AhwgACAQNgIUIABBzZOAgAA2AhAgAEEMNgIMQQAhEAzuAQsgACgCBCEXIABBADYCBCAQIBGnaiIWIQEgACAXIBAgFiAUGyIQELWAgIAAIhRFDXMgAEEFNgIcIAAgEDYCFCAAIBQ2AgxBACEQDO0BCyAAQQA2AhwgACAQNgIUIABBqpyAgAA2AhAgAEEPNgIMQQAhEAzsAQsgACAQIAIQtICAgAAiAQ0BIBAhAQtBDiEQDNEBCwJAIAFBFUcNACAAQQI2AhwgACAQNgIUIABBsJiAgAA2AhAgAEEVNgIMQQAhEAzqAQsgAEEANgIcIAAgEDYCFCAAQaeOgIAANgIQIABBEjYCDEEAIRAM6QELIAFBAWohEAJAIAAvATAiAUGAAXFFDQACQCAAIBAgAhC7gICAACIBDQAgECEBDHALIAFBFUcNugEgAEEFNgIcIAAgEDYCFCAAQfmXgIAANgIQIABBFTYCDEEAIRAM6QELAkAgAUGgBHFBoARHDQAgAC0ALUECcQ0AIABBADYCHCAAIBA2AhQgAEGWk4CAADYCECAAQQQ2AgxBACEQDOkBCyAAIBAgAhC9gICAABogECEBAkACQAJAAkACQCAAIBAgAhCzgICAAA4WAgEABAQEBAQEBAQEBAQEBAQEBAQEAwQLIABBAToALgsgACAALwEwQcAAcjsBMCAQIQELQSYhEAzRAQsgAEEjNgIcIAAgEDYCFCAAQaWWgIAANgIQIABBFTYCDEEAIRAM6QELIABBADYCHCAAIBA2AhQgAEHVi4CAADYCECAAQRE2AgxBACEQDOgBCyAALQAtQQFxRQ0BQcMBIRAMzgELAkAgDSACRg0AA0ACQCANLQAAQSBGDQAgDSEBDMQBCyANQQFqIg0gAkcNAAtBJSEQDOcBC0ElIRAM5gELIAAoAgQhBCAAQQA2AgQgACAEIA0Qr4CAgAAiBEUNrQEgAEEmNgIcIAAgBDYCDCAAIA1BAWo2AhRBACEQDOUBCyAQQRVGDasBIABBADYCHCAAIAE2AhQgAEH9jYCAADYCECAAQR02AgxBACEQDOQBCyAAQSc2AhwgACABNgIUIAAgEDYCDEEAIRAM4wELIBAhAUEBIRQCQAJAAkACQAJAAkACQCAALQAsQX5qDgcGBQUDAQIABQsgACAALwEwQQhyOwEwDAMLQQIhFAwBC0EEIRQLIABBAToALCAAIAAvATAgFHI7ATALIBAhAQtBKyEQDMoBCyAAQQA2AhwgACAQNgIUIABBq5KAgAA2AhAgAEELNgIMQQAhEAziAQsgAEEANgIcIAAgATYCFCAAQeGPgIAANgIQIABBCjYCDEEAIRAM4QELIABBADoALCAQIQEMvQELIBAhAUEBIRQCQAJAAkACQAJAIAAtACxBe2oOBAMBAgAFCyAAIAAvATBBCHI7ATAMAwtBAiEUDAELQQQhFAsgAEEBOgAsIAAgAC8BMCAUcjsBMAsgECEBC0EpIRAMxQELIABBADYCHCAAIAE2AhQgAEHwlICAADYCECAAQQM2AgxBACEQDN0BCwJAIA4tAABBDUcNACAAKAIEIQEgAEEANgIEAkAgACABIA4QsYCAgAAiAQ0AIA5BAWohAQx1CyAAQSw2AhwgACABNgIMIAAgDkEBajYCFEEAIRAM3QELIAAtAC1BAXFFDQFBxAEhEAzDAQsCQCAOIAJHDQBBLSEQDNwBCwJAAkADQAJAIA4tAABBdmoOBAIAAAMACyAOQQFqIg4gAkcNAAtBLSEQDN0BCyAAKAIEIQEgAEEANgIEAkAgACABIA4QsYCAgAAiAQ0AIA4hAQx0CyAAQSw2AhwgACAONgIUIAAgATYCDEEAIRAM3AELIAAoAgQhASAAQQA2AgQCQCAAIAEgDhCxgICAACIBDQAgDkEBaiEBDHMLIABBLDYCHCAAIAE2AgwgACAOQQFqNgIUQQAhEAzbAQsgACgCBCEEIABBADYCBCAAIAQgDhCxgICAACIEDaABIA4hAQzOAQsgEEEsRw0BIAFBAWohEEEBIQECQAJAAkACQAJAIAAtACxBe2oOBAMBAgQACyAQIQEMBAtBAiEBDAELQQQhAQsgAEEBOgAsIAAgAC8BMCABcjsBMCAQIQEMAQsgACAALwEwQQhyOwEwIBAhAQtBOSEQDL8BCyAAQQA6ACwgASEBC0E0IRAMvQELIAAgAC8BMEEgcjsBMCABIQEMAgsgACgCBCEEIABBADYCBAJAIAAgBCABELGAgIAAIgQNACABIQEMxwELIABBNzYCHCAAIAE2AhQgACAENgIMQQAhEAzUAQsgAEEIOgAsIAEhAQtBMCEQDLkBCwJAIAAtAChBAUYNACABIQEMBAsgAC0ALUEIcUUNkwEgASEBDAMLIAAtADBBIHENlAFBxQEhEAy3AQsCQCAPIAJGDQACQANAAkAgDy0AAEFQaiIBQf8BcUEKSQ0AIA8hAUE1IRAMugELIAApAyAiEUKZs+bMmbPmzBlWDQEgACARQgp+IhE3AyAgESABrUL/AYMiEkJ/hVYNASAAIBEgEnw3AyAgD0EBaiIPIAJHDQALQTkhEAzRAQsgACgCBCECIABBADYCBCAAIAIgD0EBaiIEELGAgIAAIgINlQEgBCEBDMMBC0E5IRAMzwELAkAgAC8BMCIBQQhxRQ0AIAAtAChBAUcNACAALQAtQQhxRQ2QAQsgACABQff7A3FBgARyOwEwIA8hAQtBNyEQDLQBCyAAIAAvATBBEHI7ATAMqwELIBBBFUYNiwEgAEEANgIcIAAgATYCFCAAQfCOgIAANgIQIABBHDYCDEEAIRAMywELIABBwwA2AhwgACABNgIMIAAgDUEBajYCFEEAIRAMygELAkAgAS0AAEE6Rw0AIAAoAgQhECAAQQA2AgQCQCAAIBAgARCvgICAACIQDQAgAUEBaiEBDGMLIABBwwA2AhwgACAQNgIMIAAgAUEBajYCFEEAIRAMygELIABBADYCHCAAIAE2AhQgAEGxkYCAADYCECAAQQo2AgxBACEQDMkBCyAAQQA2AhwgACABNgIUIABBoJmAgAA2AhAgAEEeNgIMQQAhEAzIAQsgAEEANgIACyAAQYASOwEqIAAgF0EBaiIBIAIQqICAgAAiEA0BIAEhAQtBxwAhEAysAQsgEEEVRw2DASAAQdEANgIcIAAgATYCFCAAQeOXgIAANgIQIABBFTYCDEEAIRAMxAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDF4LIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMwwELIABBADYCHCAAIBQ2AhQgAEHBqICAADYCECAAQQc2AgwgAEEANgIAQQAhEAzCAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMXQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAzBAQtBACEQIABBADYCHCAAIAE2AhQgAEGAkYCAADYCECAAQQk2AgwMwAELIBBBFUYNfSAAQQA2AhwgACABNgIUIABBlI2AgAA2AhAgAEEhNgIMQQAhEAy/AQtBASEWQQAhF0EAIRRBASEQCyAAIBA6ACsgAUEBaiEBAkACQCAALQAtQRBxDQACQAJAAkAgAC0AKg4DAQACBAsgFkUNAwwCCyAUDQEMAgsgF0UNAQsgACgCBCEQIABBADYCBAJAIAAgECABEK2AgIAAIhANACABIQEMXAsgAEHYADYCHCAAIAE2AhQgACAQNgIMQQAhEAy+AQsgACgCBCEEIABBADYCBAJAIAAgBCABEK2AgIAAIgQNACABIQEMrQELIABB2QA2AhwgACABNgIUIAAgBDYCDEEAIRAMvQELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCtgICAACIEDQAgASEBDKsBCyAAQdoANgIcIAAgATYCFCAAIAQ2AgxBACEQDLwBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQrYCAgAAiBA0AIAEhAQypAQsgAEHcADYCHCAAIAE2AhQgACAENgIMQQAhEAy7AQsCQCABLQAAQVBqIhBB/wFxQQpPDQAgACAQOgAqIAFBAWohAUHPACEQDKIBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQrYCAgAAiBA0AIAEhAQynAQsgAEHeADYCHCAAIAE2AhQgACAENgIMQQAhEAy6AQsgAEEANgIAIBdBAWohAQJAIAAtAClBI08NACABIQEMWQsgAEEANgIcIAAgATYCFCAAQdOJgIAANgIQIABBCDYCDEEAIRAMuQELIABBADYCAAtBACEQIABBADYCHCAAIAE2AhQgAEGQs4CAADYCECAAQQg2AgwMtwELIABBADYCACAXQQFqIQECQCAALQApQSFHDQAgASEBDFYLIABBADYCHCAAIAE2AhQgAEGbioCAADYCECAAQQg2AgxBACEQDLYBCyAAQQA2AgAgF0EBaiEBAkAgAC0AKSIQQV1qQQtPDQAgASEBDFULAkAgEEEGSw0AQQEgEHRBygBxRQ0AIAEhAQxVC0EAIRAgAEEANgIcIAAgATYCFCAAQfeJgIAANgIQIABBCDYCDAy1AQsgEEEVRg1xIABBADYCHCAAIAE2AhQgAEG5jYCAADYCECAAQRo2AgxBACEQDLQBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxUCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLMBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdIANgIcIAAgATYCFCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAUNgIUIAAgATYCDEEAIRAMogELIABBADYCHCAAIBQ2AhQgAEHDj4CAADYCECAAQQc2AgxBACEQDKEBCyAAQQA2AhwgACABNgIUIABBw4+AgAA2AhAgAEEHNgIMQQAhEAygAQtBACEQIABBADYCHCAAIBQ2AhQgAEGMnICAADYCECAAQQc2AgwMnwELIABBADYCHCAAIBQ2AhQgAEGMnICAADYCECAAQQc2AgxBACEQDJ4BCyAAQQA2AhwgACAUNgIUIABB/pGAgAA2AhAgAEEHNgIMQQAhEAydAQsgAEEANgIcIAAgATYCFCAAQY6bgIAANgIQIABBBjYCDEEAIRAMnAELIBBBFUYNVyAAQQA2AhwgACABNgIUIABBzI6AgAA2AhAgAEEgNgIMQQAhEAybAQsgAEEANgIAIBBBAWohAUEkIRALIAAgEDoAKSAAKAIEIRAgAEEANgIEIAAgECABEKuAgIAAIhANVCABIQEMPgsgAEEANgIAC0EAIRAgAEEANgIcIAAgBDYCFCAAQfGbgIAANgIQIABBBjYCDAyXAQsgAUEVRg1QIABBADYCHCAAIAU2AhQgAEHwjICAADYCECAAQRs2AgxBACEQDJYBCyAAKAIEIQUgAEEANgIEIAAgBSAQEKmAgIAAIgUNASAQQQFqIQULQa0BIRAMewsgAEHBATYCHCAAIAU2AgwgACAQQQFqNgIUQQAhEAyTAQsgACgCBCEGIABBADYCBCAAIAYgEBCpgICAACIGDQEgEEEBaiEGC0GuASEQDHgLIABBwgE2AhwgACAGNgIMIAAgEEEBajYCFEEAIRAMkAELIABBADYCHCAAIAc2AhQgAEGXi4CAADYCECAAQQ02AgxBACEQDI8BCyAAQQA2AhwgACAINgIUIABB45CAgAA2AhAgAEEJNgIMQQAhEAyOAQsgAEEANgIcIAAgCDYCFCAAQZSNgIAANgIQIABBITYCDEEAIRAMjQELQQEhFkEAIRdBACEUQQEhEAsgACAQOgArIAlBAWohCAJAAkAgAC0ALUEQcQ0AAkACQAJAIAAtACoOAwEAAgQLIBZFDQMMAgsgFA0BDAILIBdFDQELIAAoAgQhECAAQQA2AgQgACAQIAgQrYCAgAAiEEUNPSAAQckBNgIcIAAgCDYCFCAAIBA2AgxBACEQDIwBCyAAKAIEIQQgAEEANgIEIAAgBCAIEK2AgIAAIgRFDXYgAEHKATYCHCAAIAg2AhQgACAENgIMQQAhEAyLAQsgACgCBCEEIABBADYCBCAAIAQgCRCtgICAACIERQ10IABBywE2AhwgACAJNgIUIAAgBDYCDEEAIRAMigELIAAoAgQhBCAAQQA2AgQgACAEIAoQrYCAgAAiBEUNciAAQc0BNgIcIAAgCjYCFCAAIAQ2AgxBACEQDIkBCwJAIAstAABBUGoiEEH/AXFBCk8NACAAIBA6ACogC0EBaiEKQbYBIRAMcAsgACgCBCEEIABBADYCBCAAIAQgCxCtgICAACIERQ1wIABBzwE2AhwgACALNgIUIAAgBDYCDEEAIRAMiAELIABBADYCHCAAIAQ2AhQgAEGQs4CAADYCECAAQQg2AgwgAEEANgIAQQAhEAyHAQsgAUEVRg0/IABBADYCHCAAIAw2AhQgAEHMjoCAADYCECAAQSA2AgxBACEQDIYBCyAAQYEEOwEoIAAoAgQhECAAQgA3AwAgACAQIAxBAWoiDBCrgICAACIQRQ04IABB0wE2AhwgACAMNgIUIAAgEDYCDEEAIRAMhQELIABBADYCAAtBACEQIABBADYCHCAAIAQ2AhQgAEHYm4CAADYCECAAQQg2AgwMgwELIAAoAgQhECAAQgA3AwAgACAQIAtBAWoiCxCrgICAACIQDQFBxgEhEAxpCyAAQQI6ACgMVQsgAEHVATYCHCAAIAs2AhQgACAQNgIMQQAhEAyAAQsgEEEVRg03IABBADYCHCAAIAQ2AhQgAEGkjICAADYCECAAQRA2AgxBACEQDH8LIAAtADRBAUcNNCAAIAQgAhC8gICAACIQRQ00IBBBFUcNNSAAQdwBNgIcIAAgBDYCFCAAQdWWgIAANgIQIABBFTYCDEEAIRAMfgtBACEQIABBADYCHCAAQa+LgIAANgIQIABBAjYCDCAAIBRBAWo2AhQMfQtBACEQDGMLQQIhEAxiC0ENIRAMYQtBDyEQDGALQSUhEAxfC0ETIRAMXgtBFSEQDF0LQRYhEAxcC0EXIRAMWwtBGCEQDFoLQRkhEAxZC0EaIRAMWAtBGyEQDFcLQRwhEAxWC0EdIRAMVQtBHyEQDFQLQSEhEAxTC0EjIRAMUgtBxgAhEAxRC0EuIRAMUAtBLyEQDE8LQTshEAxOC0E9IRAMTQtByAAhEAxMC0HJACEQDEsLQcsAIRAMSgtBzAAhEAxJC0HOACEQDEgLQdEAIRAMRwtB1QAhEAxGC0HYACEQDEULQdkAIRAMRAtB2wAhEAxDC0HkACEQDEILQeUAIRAMQQtB8QAhEAxAC0H0ACEQDD8LQY0BIRAMPgtBlwEhEAw9C0GpASEQDDwLQawBIRAMOwtBwAEhEAw6C0G5ASEQDDkLQa8BIRAMOAtBsQEhEAw3C0GyASEQDDYLQbQBIRAMNQtBtQEhEAw0C0G6ASEQDDMLQb0BIRAMMgtBvwEhEAwxC0HBASEQDDALIABBADYCHCAAIAQ2AhQgAEHpi4CAADYCECAAQR82AgxBACEQDEgLIABB2wE2AhwgACAENgIUIABB+paAgAA2AhAgAEEVNgIMQQAhEAxHCyAAQfgANgIcIAAgDDYCFCAAQcqYgIAANgIQIABBFTYCDEEAIRAMRgsgAEHRADYCHCAAIAU2AhQgAEGwl4CAADYCECAAQRU2AgxBACEQDEULIABB+QA2AhwgACABNgIUIAAgEDYCDEEAIRAMRAsgAEH4ADYCHCAAIAE2AhQgAEHKmICAADYCECAAQRU2AgxBACEQDEMLIABB5AA2AhwgACABNgIUIABB45eAgAA2AhAgAEEVNgIMQQAhEAxCCyAAQdcANgIcIAAgATYCFCAAQcmXgIAANgIQIABBFTYCDEEAIRAMQQsgAEEANgIcIAAgATYCFCAAQbmNgIAANgIQIABBGjYCDEEAIRAMQAsgAEHCADYCHCAAIAE2AhQgAEHjmICAADYCECAAQRU2AgxBACEQDD8LIABBADYCBCAAIA8gDxCxgICAACIERQ0BIABBOjYCHCAAIAQ2AgwgACAPQQFqNgIUQQAhEAw+CyAAKAIEIQQgAEEANgIEAkAgACAEIAEQsYCAgAAiBEUNACAAQTs2AhwgACAENgIMIAAgAUEBajYCFEEAIRAMPgsgAUEBaiEBDC0LIA9BAWohAQwtCyAAQQA2AhwgACAPNgIUIABB5JKAgAA2AhAgAEEENgIMQQAhEAw7CyAAQTY2AhwgACAENgIUIAAgAjYCDEEAIRAMOgsgAEEuNgIcIAAgDjYCFCAAIAQ2AgxBACEQDDkLIABB0AA2AhwgACABNgIUIABBkZiAgAA2AhAgAEEVNgIMQQAhEAw4CyANQQFqIQEMLAsgAEEVNgIcIAAgATYCFCAAQYKZgIAANgIQIABBFTYCDEEAIRAMNgsgAEEbNgIcIAAgATYCFCAAQZGXgIAANgIQIABBFTYCDEEAIRAMNQsgAEEPNgIcIAAgATYCFCAAQZGXgIAANgIQIABBFTYCDEEAIRAMNAsgAEELNgIcIAAgATYCFCAAQZGXgIAANgIQIABBFTYCDEEAIRAMMwsgAEEaNgIcIAAgATYCFCAAQYKZgIAANgIQIABBFTYCDEEAIRAMMgsgAEELNgIcIAAgATYCFCAAQYKZgIAANgIQIABBFTYCDEEAIRAMMQsgAEEKNgIcIAAgATYCFCAAQeSWgIAANgIQIABBFTYCDEEAIRAMMAsgAEEeNgIcIAAgATYCFCAAQfmXgIAANgIQIABBFTYCDEEAIRAMLwsgAEEANgIcIAAgEDYCFCAAQdqNgIAANgIQIABBFDYCDEEAIRAMLgsgAEEENgIcIAAgATYCFCAAQbCYgIAANgIQIABBFTYCDEEAIRAMLQsgAEEANgIAIAtBAWohCwtBuAEhEAwSCyAAQQA2AgAgEEEBaiEBQfUAIRAMEQsgASEBAkAgAC0AKUEFRw0AQeMAIRAMEQtB4gAhEAwQC0EAIRAgAEEANgIcIABB5JGAgAA2AhAgAEEHNgIMIAAgFEEBajYCFAwoCyAAQQA2AgAgF0EBaiEBQcAAIRAMDgtBASEBCyAAIAE6ACwgAEEANgIAIBdBAWohAQtBKCEQDAsLIAEhAQtBOCEQDAkLAkAgASIPIAJGDQADQAJAIA8tAABBgL6AgABqLQAAIgFBAUYNACABQQJHDQMgD0EBaiEBDAQLIA9BAWoiDyACRw0AC0E+IRAMIgtBPiEQDCELIABBADoALCAPIQEMAQtBCyEQDAYLQTohEAwFCyABQQFqIQFBLSEQDAQLIAAgAToALCAAQQA2AgAgFkEBaiEBQQwhEAwDCyAAQQA2AgAgF0EBaiEBQQohEAwCCyAAQQA2AgALIABBADoALCANIQFBCSEQDAALC0EAIRAgAEEANgIcIAAgCzYCFCAAQc2QgIAANgIQIABBCTYCDAwXC0EAIRAgAEEANgIcIAAgCjYCFCAAQemKgIAANgIQIABBCTYCDAwWC0EAIRAgAEEANgIcIAAgCTYCFCAAQbeQgIAANgIQIABBCTYCDAwVC0EAIRAgAEEANgIcIAAgCDYCFCAAQZyRgIAANgIQIABBCTYCDAwUC0EAIRAgAEEANgIcIAAgATYCFCAAQc2QgIAANgIQIABBCTYCDAwTC0EAIRAgAEEANgIcIAAgATYCFCAAQemKgIAANgIQIABBCTYCDAwSC0EAIRAgAEEANgIcIAAgATYCFCAAQbeQgIAANgIQIABBCTYCDAwRC0EAIRAgAEEANgIcIAAgATYCFCAAQZyRgIAANgIQIABBCTYCDAwQC0EAIRAgAEEANgIcIAAgATYCFCAAQZeVgIAANgIQIABBDzYCDAwPC0EAIRAgAEEANgIcIAAgATYCFCAAQZeVgIAANgIQIABBDzYCDAwOC0EAIRAgAEEANgIcIAAgATYCFCAAQcCSgIAANgIQIABBCzYCDAwNC0EAIRAgAEEANgIcIAAgATYCFCAAQZWJgIAANgIQIABBCzYCDAwMC0EAIRAgAEEANgIcIAAgATYCFCAAQeGPgIAANgIQIABBCjYCDAwLC0EAIRAgAEEANgIcIAAgATYCFCAAQfuPgIAANgIQIABBCjYCDAwKC0EAIRAgAEEANgIcIAAgATYCFCAAQfGZgIAANgIQIABBAjYCDAwJC0EAIRAgAEEANgIcIAAgATYCFCAAQcSUgIAANgIQIABBAjYCDAwIC0EAIRAgAEEANgIcIAAgATYCFCAAQfKVgIAANgIQIABBAjYCDAwHCyAAQQI2AhwgACABNgIUIABBnJqAgAA2AhAgAEEWNgIMQQAhEAwGC0EBIRAMBQtB1AAhECABIgQgAkYNBCADQQhqIAAgBCACQdjCgIAAQQoQxYCAgAAgAygCDCEEIAMoAggOAwEEAgALEMqAgIAAAAsgAEEANgIcIABBtZqAgAA2AhAgAEEXNgIMIAAgBEEBajYCFEEAIRAMAgsgAEEANgIcIAAgBDYCFCAAQcqagIAANgIQIABBCTYCDEEAIRAMAQsCQCABIgQgAkcNAEEiIRAMAQsgAEGJgICAADYCCCAAIAQ2AgRBISEQCyADQRBqJICAgIAAIBALrwEBAn8gASgCACEGAkACQCACIANGDQAgBCAGaiEEIAYgA2ogAmshByACIAZBf3MgBWoiBmohBQNAAkAgAi0AACAELQAARg0AQQIhBAwDCwJAIAYNAEEAIQQgBSECDAMLIAZBf2ohBiAEQQFqIQQgAkEBaiICIANHDQALIAchBiADIQILIABBATYCACABIAY2AgAgACACNgIEDwsgAUEANgIAIAAgBDYCACAAIAI2AgQLCgAgABDHgICAAAvyNgELfyOAgICAAEEQayIBJICAgIAAAkBBACgCoNCAgAANAEEAEMuAgIAAQYDUhIAAayICQdkASQ0AQQAhAwJAQQAoAuDTgIAAIgQNAEEAQn83AuzTgIAAQQBCgICEgICAwAA3AuTTgIAAQQAgAUEIakFwcUHYqtWqBXMiBDYC4NOAgABBAEEANgL004CAAEEAQQA2AsTTgIAAC0EAIAI2AszTgIAAQQBBgNSEgAA2AsjTgIAAQQBBgNSEgAA2ApjQgIAAQQAgBDYCrNCAgABBAEF/NgKo0ICAAANAIANBxNCAgABqIANBuNCAgABqIgQ2AgAgBCADQbDQgIAAaiIFNgIAIANBvNCAgABqIAU2AgAgA0HM0ICAAGogA0HA0ICAAGoiBTYCACAFIAQ2AgAgA0HU0ICAAGogA0HI0ICAAGoiBDYCACAEIAU2AgAgA0HQ0ICAAGogBDYCACADQSBqIgNBgAJHDQALQYDUhIAAQXhBgNSEgABrQQ9xQQBBgNSEgABBCGpBD3EbIgNqIgRBBGogAkFIaiIFIANrIgNBAXI2AgBBAEEAKALw04CAADYCpNCAgABBACADNgKU0ICAAEEAIAQ2AqDQgIAAQYDUhIAAIAVqQTg2AgQLAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB7AFLDQACQEEAKAKI0ICAACIGQRAgAEETakFwcSAAQQtJGyICQQN2IgR2IgNBA3FFDQACQAJAIANBAXEgBHJBAXMiBUEDdCIEQbDQgIAAaiIDIARBuNCAgABqKAIAIgQoAggiAkcNAEEAIAZBfiAFd3E2AojQgIAADAELIAMgAjYCCCACIAM2AgwLIARBCGohAyAEIAVBA3QiBUEDcjYCBCAEIAVqIgQgBCgCBEEBcjYCBAwMCyACQQAoApDQgIAAIgdNDQECQCADRQ0AAkACQCADIAR0QQIgBHQiA0EAIANrcnEiA0EAIANrcUF/aiIDIANBDHZBEHEiA3YiBEEFdkEIcSIFIANyIAQgBXYiA0ECdkEEcSIEciADIAR2IgNBAXZBAnEiBHIgAyAEdiIDQQF2QQFxIgRyIAMgBHZqIgRBA3QiA0Gw0ICAAGoiBSADQbjQgIAAaigCACIDKAIIIgBHDQBBACAGQX4gBHdxIgY2AojQgIAADAELIAUgADYCCCAAIAU2AgwLIAMgAkEDcjYCBCADIARBA3QiBGogBCACayIFNgIAIAMgAmoiACAFQQFyNgIEAkAgB0UNACAHQXhxQbDQgIAAaiECQQAoApzQgIAAIQQCQAJAIAZBASAHQQN2dCIIcQ0AQQAgBiAIcjYCiNCAgAAgAiEIDAELIAIoAgghCAsgCCAENgIMIAIgBDYCCCAEIAI2AgwgBCAINgIICyADQQhqIQNBACAANgKc0ICAAEEAIAU2ApDQgIAADAwLQQAoAozQgIAAIglFDQEgCUEAIAlrcUF/aiIDIANBDHZBEHEiA3YiBEEFdkEIcSIFIANyIAQgBXYiA0ECdkEEcSIEciADIAR2IgNBAXZBAnEiBHIgAyAEdiIDQQF2QQFxIgRyIAMgBHZqQQJ0QbjSgIAAaigCACIAKAIEQXhxIAJrIQQgACEFAkADQAJAIAUoAhAiAw0AIAVBFGooAgAiA0UNAgsgAygCBEF4cSACayIFIAQgBSAESSIFGyEEIAMgACAFGyEAIAMhBQwACwsgACgCGCEKAkAgACgCDCIIIABGDQAgACgCCCIDQQAoApjQgIAASRogCCADNgIIIAMgCDYCDAwLCwJAIABBFGoiBSgCACIDDQAgACgCECIDRQ0DIABBEGohBQsDQCAFIQsgAyIIQRRqIgUoAgAiAw0AIAhBEGohBSAIKAIQIgMNAAsgC0EANgIADAoLQX8hAiAAQb9/Sw0AIABBE2oiA0FwcSECQQAoAozQgIAAIgdFDQBBACELAkAgAkGAAkkNAEEfIQsgAkH///8HSw0AIANBCHYiAyADQYD+P2pBEHZBCHEiA3QiBCAEQYDgH2pBEHZBBHEiBHQiBSAFQYCAD2pBEHZBAnEiBXRBD3YgAyAEciAFcmsiA0EBdCACIANBFWp2QQFxckEcaiELC0EAIAJrIQQCQAJAAkACQCALQQJ0QbjSgIAAaigCACIFDQBBACEDQQAhCAwBC0EAIQMgAkEAQRkgC0EBdmsgC0EfRht0IQBBACEIA0ACQCAFKAIEQXhxIAJrIgYgBE8NACAGIQQgBSEIIAYNAEEAIQQgBSEIIAUhAwwDCyADIAVBFGooAgAiBiAGIAUgAEEddkEEcWpBEGooAgAiBUYbIAMgBhshAyAAQQF0IQAgBQ0ACwsCQCADIAhyDQBBACEIQQIgC3QiA0EAIANrciAHcSIDRQ0DIANBACADa3FBf2oiAyADQQx2QRBxIgN2IgVBBXZBCHEiACADciAFIAB2IgNBAnZBBHEiBXIgAyAFdiIDQQF2QQJxIgVyIAMgBXYiA0EBdkEBcSIFciADIAV2akECdEG40oCAAGooAgAhAwsgA0UNAQsDQCADKAIEQXhxIAJrIgYgBEkhAAJAIAMoAhAiBQ0AIANBFGooAgAhBQsgBiAEIAAbIQQgAyAIIAAbIQggBSEDIAUNAAsLIAhFDQAgBEEAKAKQ0ICAACACa08NACAIKAIYIQsCQCAIKAIMIgAgCEYNACAIKAIIIgNBACgCmNCAgABJGiAAIAM2AgggAyAANgIMDAkLAkAgCEEUaiIFKAIAIgMNACAIKAIQIgNFDQMgCEEQaiEFCwNAIAUhBiADIgBBFGoiBSgCACIDDQAgAEEQaiEFIAAoAhAiAw0ACyAGQQA2AgAMCAsCQEEAKAKQ0ICAACIDIAJJDQBBACgCnNCAgAAhBAJAAkAgAyACayIFQRBJDQAgBCACaiIAIAVBAXI2AgRBACAFNgKQ0ICAAEEAIAA2ApzQgIAAIAQgA2ogBTYCACAEIAJBA3I2AgQMAQsgBCADQQNyNgIEIAQgA2oiAyADKAIEQQFyNgIEQQBBADYCnNCAgABBAEEANgKQ0ICAAAsgBEEIaiEDDAoLAkBBACgClNCAgAAiACACTQ0AQQAoAqDQgIAAIgMgAmoiBCAAIAJrIgVBAXI2AgRBACAFNgKU0ICAAEEAIAQ2AqDQgIAAIAMgAkEDcjYCBCADQQhqIQMMCgsCQAJAQQAoAuDTgIAARQ0AQQAoAujTgIAAIQQMAQtBAEJ/NwLs04CAAEEAQoCAhICAgMAANwLk04CAAEEAIAFBDGpBcHFB2KrVqgVzNgLg04CAAEEAQQA2AvTTgIAAQQBBADYCxNOAgABBgIAEIQQLQQAhAwJAIAQgAkHHAGoiB2oiBkEAIARrIgtxIgggAksNAEEAQTA2AvjTgIAADAoLAkBBACgCwNOAgAAiA0UNAAJAQQAoArjTgIAAIgQgCGoiBSAETQ0AIAUgA00NAQtBACEDQQBBMDYC+NOAgAAMCgtBAC0AxNOAgABBBHENBAJAAkACQEEAKAKg0ICAACIERQ0AQcjTgIAAIQMDQAJAIAMoAgAiBSAESw0AIAUgAygCBGogBEsNAwsgAygCCCIDDQALC0EAEMuAgIAAIgBBf0YNBSAIIQYCQEEAKALk04CAACIDQX9qIgQgAHFFDQAgCCAAayAEIABqQQAgA2txaiEGCyAGIAJNDQUgBkH+////B0sNBQJAQQAoAsDTgIAAIgNFDQBBACgCuNOAgAAiBCAGaiIFIARNDQYgBSADSw0GCyAGEMuAgIAAIgMgAEcNAQwHCyAGIABrIAtxIgZB/v///wdLDQQgBhDLgICAACIAIAMoAgAgAygCBGpGDQMgACEDCwJAIANBf0YNACACQcgAaiAGTQ0AAkAgByAGa0EAKALo04CAACIEakEAIARrcSIEQf7///8HTQ0AIAMhAAwHCwJAIAQQy4CAgABBf0YNACAEIAZqIQYgAyEADAcLQQAgBmsQy4CAgAAaDAQLIAMhACADQX9HDQUMAwtBACEIDAcLQQAhAAwFCyAAQX9HDQILQQBBACgCxNOAgABBBHI2AsTTgIAACyAIQf7///8HSw0BIAgQy4CAgAAhAEEAEMuAgIAAIQMgAEF/Rg0BIANBf0YNASAAIANPDQEgAyAAayIGIAJBOGpNDQELQQBBACgCuNOAgAAgBmoiAzYCuNOAgAACQCADQQAoArzTgIAATQ0AQQAgAzYCvNOAgAALAkACQAJAAkBBACgCoNCAgAAiBEUNAEHI04CAACEDA0AgACADKAIAIgUgAygCBCIIakYNAiADKAIIIgMNAAwDCwsCQAJAQQAoApjQgIAAIgNFDQAgACADTw0BC0EAIAA2ApjQgIAAC0EAIQNBACAGNgLM04CAAEEAIAA2AsjTgIAAQQBBfzYCqNCAgABBAEEAKALg04CAADYCrNCAgABBAEEANgLU04CAAANAIANBxNCAgABqIANBuNCAgABqIgQ2AgAgBCADQbDQgIAAaiIFNgIAIANBvNCAgABqIAU2AgAgA0HM0ICAAGogA0HA0ICAAGoiBTYCACAFIAQ2AgAgA0HU0ICAAGogA0HI0ICAAGoiBDYCACAEIAU2AgAgA0HQ0ICAAGogBDYCACADQSBqIgNBgAJHDQALIABBeCAAa0EPcUEAIABBCGpBD3EbIgNqIgQgBkFIaiIFIANrIgNBAXI2AgRBAEEAKALw04CAADYCpNCAgABBACADNgKU0ICAAEEAIAQ2AqDQgIAAIAAgBWpBODYCBAwCCyADLQAMQQhxDQAgBCAFSQ0AIAQgAE8NACAEQXggBGtBD3FBACAEQQhqQQ9xGyIFaiIAQQAoApTQgIAAIAZqIgsgBWsiBUEBcjYCBCADIAggBmo2AgRBAEEAKALw04CAADYCpNCAgABBACAFNgKU0ICAAEEAIAA2AqDQgIAAIAQgC2pBODYCBAwBCwJAIABBACgCmNCAgAAiCE8NAEEAIAA2ApjQgIAAIAAhCAsgACAGaiEFQcjTgIAAIQMCQAJAAkACQAJAAkACQANAIAMoAgAgBUYNASADKAIIIgMNAAwCCwsgAy0ADEEIcUUNAQtByNOAgAAhAwNAAkAgAygCACIFIARLDQAgBSADKAIEaiIFIARLDQMLIAMoAgghAwwACwsgAyAANgIAIAMgAygCBCAGajYCBCAAQXggAGtBD3FBACAAQQhqQQ9xG2oiCyACQQNyNgIEIAVBeCAFa0EPcUEAIAVBCGpBD3EbaiIGIAsgAmoiAmshAwJAIAYgBEcNAEEAIAI2AqDQgIAAQQBBACgClNCAgAAgA2oiAzYClNCAgAAgAiADQQFyNgIEDAMLAkAgBkEAKAKc0ICAAEcNAEEAIAI2ApzQgIAAQQBBACgCkNCAgAAgA2oiAzYCkNCAgAAgAiADQQFyNgIEIAIgA2ogAzYCAAwDCwJAIAYoAgQiBEEDcUEBRw0AIARBeHEhBwJAAkAgBEH/AUsNACAGKAIIIgUgBEEDdiIIQQN0QbDQgIAAaiIARhoCQCAGKAIMIgQgBUcNAEEAQQAoAojQgIAAQX4gCHdxNgKI0ICAAAwCCyAEIABGGiAEIAU2AgggBSAENgIMDAELIAYoAhghCQJAAkAgBigCDCIAIAZGDQAgBigCCCIEIAhJGiAAIAQ2AgggBCAANgIMDAELAkAgBkEUaiIEKAIAIgUNACAGQRBqIgQoAgAiBQ0AQQAhAAwBCwNAIAQhCCAFIgBBFGoiBCgCACIFDQAgAEEQaiEEIAAoAhAiBQ0ACyAIQQA2AgALIAlFDQACQAJAIAYgBigCHCIFQQJ0QbjSgIAAaiIEKAIARw0AIAQgADYCACAADQFBAEEAKAKM0ICAAEF+IAV3cTYCjNCAgAAMAgsgCUEQQRQgCSgCECAGRhtqIAA2AgAgAEUNAQsgACAJNgIYAkAgBigCECIERQ0AIAAgBDYCECAEIAA2AhgLIAYoAhQiBEUNACAAQRRqIAQ2AgAgBCAANgIYCyAHIANqIQMgBiAHaiIGKAIEIQQLIAYgBEF+cTYCBCACIANqIAM2AgAgAiADQQFyNgIEAkAgA0H/AUsNACADQXhxQbDQgIAAaiEEAkACQEEAKAKI0ICAACIFQQEgA0EDdnQiA3ENAEEAIAUgA3I2AojQgIAAIAQhAwwBCyAEKAIIIQMLIAMgAjYCDCAEIAI2AgggAiAENgIMIAIgAzYCCAwDC0EfIQQCQCADQf///wdLDQAgA0EIdiIEIARBgP4/akEQdkEIcSIEdCIFIAVBgOAfakEQdkEEcSIFdCIAIABBgIAPakEQdkECcSIAdEEPdiAEIAVyIAByayIEQQF0IAMgBEEVanZBAXFyQRxqIQQLIAIgBDYCHCACQgA3AhAgBEECdEG40oCAAGohBQJAQQAoAozQgIAAIgBBASAEdCIIcQ0AIAUgAjYCAEEAIAAgCHI2AozQgIAAIAIgBTYCGCACIAI2AgggAiACNgIMDAMLIANBAEEZIARBAXZrIARBH0YbdCEEIAUoAgAhAANAIAAiBSgCBEF4cSADRg0CIARBHXYhACAEQQF0IQQgBSAAQQRxakEQaiIIKAIAIgANAAsgCCACNgIAIAIgBTYCGCACIAI2AgwgAiACNgIIDAILIABBeCAAa0EPcUEAIABBCGpBD3EbIgNqIgsgBkFIaiIIIANrIgNBAXI2AgQgACAIakE4NgIEIAQgBUE3IAVrQQ9xQQAgBUFJakEPcRtqQUFqIgggCCAEQRBqSRsiCEEjNgIEQQBBACgC8NOAgAA2AqTQgIAAQQAgAzYClNCAgABBACALNgKg0ICAACAIQRBqQQApAtDTgIAANwIAIAhBACkCyNOAgAA3AghBACAIQQhqNgLQ04CAAEEAIAY2AszTgIAAQQAgADYCyNOAgABBAEEANgLU04CAACAIQSRqIQMDQCADQQc2AgAgA0EEaiIDIAVJDQALIAggBEYNAyAIIAgoAgRBfnE2AgQgCCAIIARrIgA2AgAgBCAAQQFyNgIEAkAgAEH/AUsNACAAQXhxQbDQgIAAaiEDAkACQEEAKAKI0ICAACIFQQEgAEEDdnQiAHENAEEAIAUgAHI2AojQgIAAIAMhBQwBCyADKAIIIQULIAUgBDYCDCADIAQ2AgggBCADNgIMIAQgBTYCCAwEC0EfIQMCQCAAQf///wdLDQAgAEEIdiIDIANBgP4/akEQdkEIcSIDdCIFIAVBgOAfakEQdkEEcSIFdCIIIAhBgIAPakEQdkECcSIIdEEPdiADIAVyIAhyayIDQQF0IAAgA0EVanZBAXFyQRxqIQMLIAQgAzYCHCAEQgA3AhAgA0ECdEG40oCAAGohBQJAQQAoAozQgIAAIghBASADdCIGcQ0AIAUgBDYCAEEAIAggBnI2AozQgIAAIAQgBTYCGCAEIAQ2AgggBCAENgIMDAQLIABBAEEZIANBAXZrIANBH0YbdCEDIAUoAgAhCANAIAgiBSgCBEF4cSAARg0DIANBHXYhCCADQQF0IQMgBSAIQQRxakEQaiIGKAIAIggNAAsgBiAENgIAIAQgBTYCGCAEIAQ2AgwgBCAENgIIDAMLIAUoAggiAyACNgIMIAUgAjYCCCACQQA2AhggAiAFNgIMIAIgAzYCCAsgC0EIaiEDDAULIAUoAggiAyAENgIMIAUgBDYCCCAEQQA2AhggBCAFNgIMIAQgAzYCCAtBACgClNCAgAAiAyACTQ0AQQAoAqDQgIAAIgQgAmoiBSADIAJrIgNBAXI2AgRBACADNgKU0ICAAEEAIAU2AqDQgIAAIAQgAkEDcjYCBCAEQQhqIQMMAwtBACEDQQBBMDYC+NOAgAAMAgsCQCALRQ0AAkACQCAIIAgoAhwiBUECdEG40oCAAGoiAygCAEcNACADIAA2AgAgAA0BQQAgB0F+IAV3cSIHNgKM0ICAAAwCCyALQRBBFCALKAIQIAhGG2ogADYCACAARQ0BCyAAIAs2AhgCQCAIKAIQIgNFDQAgACADNgIQIAMgADYCGAsgCEEUaigCACIDRQ0AIABBFGogAzYCACADIAA2AhgLAkACQCAEQQ9LDQAgCCAEIAJqIgNBA3I2AgQgCCADaiIDIAMoAgRBAXI2AgQMAQsgCCACaiIAIARBAXI2AgQgCCACQQNyNgIEIAAgBGogBDYCAAJAIARB/wFLDQAgBEF4cUGw0ICAAGohAwJAAkBBACgCiNCAgAAiBUEBIARBA3Z0IgRxDQBBACAFIARyNgKI0ICAACADIQQMAQsgAygCCCEECyAEIAA2AgwgAyAANgIIIAAgAzYCDCAAIAQ2AggMAQtBHyEDAkAgBEH///8HSw0AIARBCHYiAyADQYD+P2pBEHZBCHEiA3QiBSAFQYDgH2pBEHZBBHEiBXQiAiACQYCAD2pBEHZBAnEiAnRBD3YgAyAFciACcmsiA0EBdCAEIANBFWp2QQFxckEcaiEDCyAAIAM2AhwgAEIANwIQIANBAnRBuNKAgABqIQUCQCAHQQEgA3QiAnENACAFIAA2AgBBACAHIAJyNgKM0ICAACAAIAU2AhggACAANgIIIAAgADYCDAwBCyAEQQBBGSADQQF2ayADQR9GG3QhAyAFKAIAIQICQANAIAIiBSgCBEF4cSAERg0BIANBHXYhAiADQQF0IQMgBSACQQRxakEQaiIGKAIAIgINAAsgBiAANgIAIAAgBTYCGCAAIAA2AgwgACAANgIIDAELIAUoAggiAyAANgIMIAUgADYCCCAAQQA2AhggACAFNgIMIAAgAzYCCAsgCEEIaiEDDAELAkAgCkUNAAJAAkAgACAAKAIcIgVBAnRBuNKAgABqIgMoAgBHDQAgAyAINgIAIAgNAUEAIAlBfiAFd3E2AozQgIAADAILIApBEEEUIAooAhAgAEYbaiAINgIAIAhFDQELIAggCjYCGAJAIAAoAhAiA0UNACAIIAM2AhAgAyAINgIYCyAAQRRqKAIAIgNFDQAgCEEUaiADNgIAIAMgCDYCGAsCQAJAIARBD0sNACAAIAQgAmoiA0EDcjYCBCAAIANqIgMgAygCBEEBcjYCBAwBCyAAIAJqIgUgBEEBcjYCBCAAIAJBA3I2AgQgBSAEaiAENgIAAkAgB0UNACAHQXhxQbDQgIAAaiECQQAoApzQgIAAIQMCQAJAQQEgB0EDdnQiCCAGcQ0AQQAgCCAGcjYCiNCAgAAgAiEIDAELIAIoAgghCAsgCCADNgIMIAIgAzYCCCADIAI2AgwgAyAINgIIC0EAIAU2ApzQgIAAQQAgBDYCkNCAgAALIABBCGohAwsgAUEQaiSAgICAACADCwoAIAAQyYCAgAAL4g0BB38CQCAARQ0AIABBeGoiASAAQXxqKAIAIgJBeHEiAGohAwJAIAJBAXENACACQQNxRQ0BIAEgASgCACICayIBQQAoApjQgIAAIgRJDQEgAiAAaiEAAkAgAUEAKAKc0ICAAEYNAAJAIAJB/wFLDQAgASgCCCIEIAJBA3YiBUEDdEGw0ICAAGoiBkYaAkAgASgCDCICIARHDQBBAEEAKAKI0ICAAEF+IAV3cTYCiNCAgAAMAwsgAiAGRhogAiAENgIIIAQgAjYCDAwCCyABKAIYIQcCQAJAIAEoAgwiBiABRg0AIAEoAggiAiAESRogBiACNgIIIAIgBjYCDAwBCwJAIAFBFGoiAigCACIEDQAgAUEQaiICKAIAIgQNAEEAIQYMAQsDQCACIQUgBCIGQRRqIgIoAgAiBA0AIAZBEGohAiAGKAIQIgQNAAsgBUEANgIACyAHRQ0BAkACQCABIAEoAhwiBEECdEG40oCAAGoiAigCAEcNACACIAY2AgAgBg0BQQBBACgCjNCAgABBfiAEd3E2AozQgIAADAMLIAdBEEEUIAcoAhAgAUYbaiAGNgIAIAZFDQILIAYgBzYCGAJAIAEoAhAiAkUNACAGIAI2AhAgAiAGNgIYCyABKAIUIgJFDQEgBkEUaiACNgIAIAIgBjYCGAwBCyADKAIEIgJBA3FBA0cNACADIAJBfnE2AgRBACAANgKQ0ICAACABIABqIAA2AgAgASAAQQFyNgIEDwsgASADTw0AIAMoAgQiAkEBcUUNAAJAAkAgAkECcQ0AAkAgA0EAKAKg0ICAAEcNAEEAIAE2AqDQgIAAQQBBACgClNCAgAAgAGoiADYClNCAgAAgASAAQQFyNgIEIAFBACgCnNCAgABHDQNBAEEANgKQ0ICAAEEAQQA2ApzQgIAADwsCQCADQQAoApzQgIAARw0AQQAgATYCnNCAgABBAEEAKAKQ0ICAACAAaiIANgKQ0ICAACABIABBAXI2AgQgASAAaiAANgIADwsgAkF4cSAAaiEAAkACQCACQf8BSw0AIAMoAggiBCACQQN2IgVBA3RBsNCAgABqIgZGGgJAIAMoAgwiAiAERw0AQQBBACgCiNCAgABBfiAFd3E2AojQgIAADAILIAIgBkYaIAIgBDYCCCAEIAI2AgwMAQsgAygCGCEHAkACQCADKAIMIgYgA0YNACADKAIIIgJBACgCmNCAgABJGiAGIAI2AgggAiAGNgIMDAELAkAgA0EUaiICKAIAIgQNACADQRBqIgIoAgAiBA0AQQAhBgwBCwNAIAIhBSAEIgZBFGoiAigCACIEDQAgBkEQaiECIAYoAhAiBA0ACyAFQQA2AgALIAdFDQACQAJAIAMgAygCHCIEQQJ0QbjSgIAAaiICKAIARw0AIAIgBjYCACAGDQFBAEEAKAKM0ICAAEF+IAR3cTYCjNCAgAAMAgsgB0EQQRQgBygCECADRhtqIAY2AgAgBkUNAQsgBiAHNgIYAkAgAygCECICRQ0AIAYgAjYCECACIAY2AhgLIAMoAhQiAkUNACAGQRRqIAI2AgAgAiAGNgIYCyABIABqIAA2AgAgASAAQQFyNgIEIAFBACgCnNCAgABHDQFBACAANgKQ0ICAAA8LIAMgAkF+cTYCBCABIABqIAA2AgAgASAAQQFyNgIECwJAIABB/wFLDQAgAEF4cUGw0ICAAGohAgJAAkBBACgCiNCAgAAiBEEBIABBA3Z0IgBxDQBBACAEIAByNgKI0ICAACACIQAMAQsgAigCCCEACyAAIAE2AgwgAiABNgIIIAEgAjYCDCABIAA2AggPC0EfIQICQCAAQf///wdLDQAgAEEIdiICIAJBgP4/akEQdkEIcSICdCIEIARBgOAfakEQdkEEcSIEdCIGIAZBgIAPakEQdkECcSIGdEEPdiACIARyIAZyayICQQF0IAAgAkEVanZBAXFyQRxqIQILIAEgAjYCHCABQgA3AhAgAkECdEG40oCAAGohBAJAAkBBACgCjNCAgAAiBkEBIAJ0IgNxDQAgBCABNgIAQQAgBiADcjYCjNCAgAAgASAENgIYIAEgATYCCCABIAE2AgwMAQsgAEEAQRkgAkEBdmsgAkEfRht0IQIgBCgCACEGAkADQCAGIgQoAgRBeHEgAEYNASACQR12IQYgAkEBdCECIAQgBkEEcWpBEGoiAygCACIGDQALIAMgATYCACABIAQ2AhggASABNgIMIAEgATYCCAwBCyAEKAIIIgAgATYCDCAEIAE2AgggAUEANgIYIAEgBDYCDCABIAA2AggLQQBBACgCqNCAgABBf2oiAUF/IAEbNgKo0ICAAAsLBAAAAAtOAAJAIAANAD8AQRB0DwsCQCAAQf//A3ENACAAQX9MDQACQCAAQRB2QAAiAEF/Rw0AQQBBMDYC+NOAgABBfw8LIABBEHQPCxDKgICAAAAL8gICA38BfgJAIAJFDQAgACABOgAAIAIgAGoiA0F/aiABOgAAIAJBA0kNACAAIAE6AAIgACABOgABIANBfWogAToAACADQX5qIAE6AAAgAkEHSQ0AIAAgAToAAyADQXxqIAE6AAAgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIFayICQSBJDQAgAa1CgYCAgBB+IQYgAyAFaiEBA0AgASAGNwMYIAEgBjcDECABIAY3AwggASAGNwMAIAFBIGohASACQWBqIgJBH0sNAAsLIAALC45IAQBBgAgLhkgBAAAAAgAAAAMAAAAAAAAAAAAAAAQAAAAFAAAAAAAAAAAAAAAGAAAABwAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEludmFsaWQgY2hhciBpbiB1cmwgcXVlcnkAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9ib2R5AENvbnRlbnQtTGVuZ3RoIG92ZXJmbG93AENodW5rIHNpemUgb3ZlcmZsb3cAUmVzcG9uc2Ugb3ZlcmZsb3cASW52YWxpZCBtZXRob2QgZm9yIEhUVFAveC54IHJlcXVlc3QASW52YWxpZCBtZXRob2QgZm9yIFJUU1AveC54IHJlcXVlc3QARXhwZWN0ZWQgU09VUkNFIG1ldGhvZCBmb3IgSUNFL3gueCByZXF1ZXN0AEludmFsaWQgY2hhciBpbiB1cmwgZnJhZ21lbnQgc3RhcnQARXhwZWN0ZWQgZG90AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fc3RhdHVzAEludmFsaWQgcmVzcG9uc2Ugc3RhdHVzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8=";
+  }
+});
+
+// node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
+var require_llhttp_simd_wasm3 = __commonJS({
+  "node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
+    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==";
+  }
+});
+
+// node_modules/undici/lib/client.js
+var require_client3 = __commonJS({
+  "node_modules/undici/lib/client.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.unescape = exports2.escape = exports2.AST = exports2.Minimatch = exports2.match = exports2.makeRe = exports2.braceExpand = exports2.defaults = exports2.filter = exports2.GLOBSTAR = exports2.sep = exports2.minimatch = void 0;
-    var brace_expansion_1 = require_commonjs19();
-    var assert_valid_pattern_js_1 = require_assert_valid_pattern();
-    var ast_js_1 = require_ast();
-    var escape_js_1 = require_escape();
-    var unescape_js_1 = require_unescape();
-    var minimatch = (p, pattern, options = {}) => {
-      (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
-      if (!options.nocomment && pattern.charAt(0) === "#") {
-        return false;
-      }
-      return new Minimatch(pattern, options).match(p);
-    };
-    exports2.minimatch = minimatch;
-    var starDotExtRE = /^\*+([^+@!?\*\[\(]*)$/;
-    var starDotExtTest = (ext2) => (f) => !f.startsWith(".") && f.endsWith(ext2);
-    var starDotExtTestDot = (ext2) => (f) => f.endsWith(ext2);
-    var starDotExtTestNocase = (ext2) => {
-      ext2 = ext2.toLowerCase();
-      return (f) => !f.startsWith(".") && f.toLowerCase().endsWith(ext2);
-    };
-    var starDotExtTestNocaseDot = (ext2) => {
-      ext2 = ext2.toLowerCase();
-      return (f) => f.toLowerCase().endsWith(ext2);
-    };
-    var starDotStarRE = /^\*+\.\*+$/;
-    var starDotStarTest = (f) => !f.startsWith(".") && f.includes(".");
-    var starDotStarTestDot = (f) => f !== "." && f !== ".." && f.includes(".");
-    var dotStarRE = /^\.\*+$/;
-    var dotStarTest = (f) => f !== "." && f !== ".." && f.startsWith(".");
-    var starRE = /^\*+$/;
-    var starTest = (f) => f.length !== 0 && !f.startsWith(".");
-    var starTestDot = (f) => f.length !== 0 && f !== "." && f !== "..";
-    var qmarksRE = /^\?+([^+@!?\*\[\(]*)?$/;
-    var qmarksTestNocase = ([$0, ext2 = ""]) => {
-      const noext = qmarksTestNoExt([$0]);
-      if (!ext2)
-        return noext;
-      ext2 = ext2.toLowerCase();
-      return (f) => noext(f) && f.toLowerCase().endsWith(ext2);
-    };
-    var qmarksTestNocaseDot = ([$0, ext2 = ""]) => {
-      const noext = qmarksTestNoExtDot([$0]);
-      if (!ext2)
-        return noext;
-      ext2 = ext2.toLowerCase();
-      return (f) => noext(f) && f.toLowerCase().endsWith(ext2);
-    };
-    var qmarksTestDot = ([$0, ext2 = ""]) => {
-      const noext = qmarksTestNoExtDot([$0]);
-      return !ext2 ? noext : (f) => noext(f) && f.endsWith(ext2);
-    };
-    var qmarksTest = ([$0, ext2 = ""]) => {
-      const noext = qmarksTestNoExt([$0]);
-      return !ext2 ? noext : (f) => noext(f) && f.endsWith(ext2);
-    };
-    var qmarksTestNoExt = ([$0]) => {
-      const len = $0.length;
-      return (f) => f.length === len && !f.startsWith(".");
-    };
-    var qmarksTestNoExtDot = ([$0]) => {
-      const len = $0.length;
-      return (f) => f.length === len && f !== "." && f !== "..";
-    };
-    var defaultPlatform = typeof process === "object" && process ? typeof process.env === "object" && process.env && process.env.__MINIMATCH_TESTING_PLATFORM__ || process.platform : "posix";
-    var path7 = {
-      win32: { sep: "\\" },
-      posix: { sep: "/" }
-    };
-    exports2.sep = defaultPlatform === "win32" ? path7.win32.sep : path7.posix.sep;
-    exports2.minimatch.sep = exports2.sep;
-    exports2.GLOBSTAR = /* @__PURE__ */ Symbol("globstar **");
-    exports2.minimatch.GLOBSTAR = exports2.GLOBSTAR;
-    var qmark = "[^/]";
-    var star = qmark + "*?";
-    var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
-    var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
-    var filter = (pattern, options = {}) => (p) => (0, exports2.minimatch)(p, pattern, options);
-    exports2.filter = filter;
-    exports2.minimatch.filter = exports2.filter;
-    var ext = (a, b = {}) => Object.assign({}, a, b);
-    var defaults = (def) => {
-      if (!def || typeof def !== "object" || !Object.keys(def).length) {
-        return exports2.minimatch;
-      }
-      const orig = exports2.minimatch;
-      const m = (p, pattern, options = {}) => orig(p, pattern, ext(def, options));
-      return Object.assign(m, {
-        Minimatch: class Minimatch extends orig.Minimatch {
-          constructor(pattern, options = {}) {
-            super(pattern, ext(def, options));
-          }
-          static defaults(options) {
-            return orig.defaults(ext(def, options)).Minimatch;
-          }
-        },
-        AST: class AST extends orig.AST {
-          /* c8 ignore start */
-          constructor(type2, parent, options = {}) {
-            super(type2, parent, ext(def, options));
-          }
-          /* c8 ignore stop */
-          static fromGlob(pattern, options = {}) {
-            return orig.AST.fromGlob(pattern, ext(def, options));
-          }
-        },
-        unescape: (s, options = {}) => orig.unescape(s, ext(def, options)),
-        escape: (s, options = {}) => orig.escape(s, ext(def, options)),
-        filter: (pattern, options = {}) => orig.filter(pattern, ext(def, options)),
-        defaults: (options) => orig.defaults(ext(def, options)),
-        makeRe: (pattern, options = {}) => orig.makeRe(pattern, ext(def, options)),
-        braceExpand: (pattern, options = {}) => orig.braceExpand(pattern, ext(def, options)),
-        match: (list, pattern, options = {}) => orig.match(list, pattern, ext(def, options)),
-        sep: orig.sep,
-        GLOBSTAR: exports2.GLOBSTAR
-      });
-    };
-    exports2.defaults = defaults;
-    exports2.minimatch.defaults = exports2.defaults;
-    var braceExpand = (pattern, options = {}) => {
-      (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
-      if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
-        return [pattern];
-      }
-      return (0, brace_expansion_1.expand)(pattern);
-    };
-    exports2.braceExpand = braceExpand;
-    exports2.minimatch.braceExpand = exports2.braceExpand;
-    var makeRe = (pattern, options = {}) => new Minimatch(pattern, options).makeRe();
-    exports2.makeRe = makeRe;
-    exports2.minimatch.makeRe = exports2.makeRe;
-    var match = (list, pattern, options = {}) => {
-      const mm = new Minimatch(pattern, options);
-      list = list.filter((f) => mm.match(f));
-      if (mm.options.nonull && !list.length) {
-        list.push(pattern);
+    var assert = require("assert");
+    var net = require("net");
+    var http = require("http");
+    var { pipeline } = require("stream");
+    var util = require_util24();
+    var timers = require_timers3();
+    var Request = require_request5();
+    var DispatcherBase = require_dispatcher_base3();
+    var {
+      RequestContentLengthMismatchError,
+      ResponseContentLengthMismatchError,
+      InvalidArgumentError,
+      RequestAbortedError,
+      HeadersTimeoutError,
+      HeadersOverflowError,
+      SocketError,
+      InformationalError,
+      BodyTimeoutError,
+      HTTPParserError,
+      ResponseExceededMaxSizeError,
+      ClientDestroyedError
+    } = require_errors6();
+    var buildConnector = require_connect3();
+    var {
+      kUrl,
+      kReset,
+      kServerName,
+      kClient,
+      kBusy,
+      kParser,
+      kConnect,
+      kBlocking,
+      kResuming,
+      kRunning,
+      kPending,
+      kSize,
+      kWriting,
+      kQueue,
+      kConnected,
+      kConnecting,
+      kNeedDrain,
+      kNoRef,
+      kKeepAliveDefaultTimeout,
+      kHostHeader,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kPipelining,
+      kSocket,
+      kKeepAliveTimeoutValue,
+      kMaxHeadersSize,
+      kKeepAliveMaxTimeout,
+      kKeepAliveTimeoutThreshold,
+      kHeadersTimeout,
+      kBodyTimeout,
+      kStrictContentLength,
+      kConnector,
+      kMaxRedirections,
+      kMaxRequests,
+      kCounter,
+      kClose,
+      kDestroy,
+      kDispatch,
+      kInterceptors,
+      kLocalAddress,
+      kMaxResponseSize,
+      kHTTPConnVersion,
+      // HTTP2
+      kHost,
+      kHTTP2Session,
+      kHTTP2SessionState,
+      kHTTP2BuildRequest,
+      kHTTP2CopyHeaders,
+      kHTTP1BuildRequest
+    } = require_symbols11();
+    var http2;
+    try {
+      http2 = require("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
       }
-      return list;
-    };
-    exports2.match = match;
-    exports2.minimatch.match = exports2.match;
-    var globMagic = /[?*]|[+@!]\(.*?\)|\[|\]/;
-    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
-    var Minimatch = class {
-      options;
-      set;
-      pattern;
-      windowsPathsNoEscape;
-      nonegate;
-      negate;
-      comment;
-      empty;
-      preserveMultipleSlashes;
-      partial;
-      globSet;
-      globParts;
-      nocase;
-      isWindows;
-      platform;
-      windowsNoMagicRoot;
-      regexp;
-      constructor(pattern, options = {}) {
-        (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
-        options = options || {};
-        this.options = options;
-        this.pattern = pattern;
-        this.platform = options.platform || defaultPlatform;
-        this.isWindows = this.platform === "win32";
-        this.windowsPathsNoEscape = !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;
-        if (this.windowsPathsNoEscape) {
-          this.pattern = this.pattern.replace(/\\/g, "/");
+    } = http2;
+    var h2ExperimentalWarned = false;
+    var FastBuffer = Buffer[Symbol.species];
+    var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
+    var channels = {};
+    try {
+      const diagnosticsChannel = require("diagnostics_channel");
+      channels.sendHeaders = diagnosticsChannel.channel("undici:client:sendHeaders");
+      channels.beforeConnect = diagnosticsChannel.channel("undici:client:beforeConnect");
+      channels.connectError = diagnosticsChannel.channel("undici:client:connectError");
+      channels.connected = diagnosticsChannel.channel("undici:client:connected");
+    } catch {
+      channels.sendHeaders = { hasSubscribers: false };
+      channels.beforeConnect = { hasSubscribers: false };
+      channels.connectError = { hasSubscribers: false };
+      channels.connected = { hasSubscribers: false };
+    }
+    var Client = class extends DispatcherBase {
+      /**
+       *
+       * @param {string|URL} url
+       * @param {import('../types/client').Client.Options} options
+       */
+      constructor(url, {
+        interceptors,
+        maxHeaderSize,
+        headersTimeout,
+        socketTimeout,
+        requestTimeout,
+        connectTimeout,
+        bodyTimeout,
+        idleTimeout,
+        keepAlive,
+        keepAliveTimeout,
+        maxKeepAliveTimeout,
+        keepAliveMaxTimeout,
+        keepAliveTimeoutThreshold,
+        socketPath,
+        pipelining,
+        tls,
+        strictContentLength,
+        maxCachedSessions,
+        maxRedirections,
+        connect: connect2,
+        maxRequestsPerClient,
+        localAddress,
+        maxResponseSize,
+        autoSelectFamily,
+        autoSelectFamilyAttemptTimeout,
+        // h2
+        allowH2,
+        maxConcurrentStreams
+      } = {}) {
+        super();
+        if (keepAlive !== void 0) {
+          throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead");
         }
-        this.preserveMultipleSlashes = !!options.preserveMultipleSlashes;
-        this.regexp = null;
-        this.negate = false;
-        this.nonegate = !!options.nonegate;
-        this.comment = false;
-        this.empty = false;
-        this.partial = !!options.partial;
-        this.nocase = !!this.options.nocase;
-        this.windowsNoMagicRoot = options.windowsNoMagicRoot !== void 0 ? options.windowsNoMagicRoot : !!(this.isWindows && this.nocase);
-        this.globSet = [];
-        this.globParts = [];
-        this.set = [];
-        this.make();
-      }
-      hasMagic() {
-        if (this.options.magicalBraces && this.set.length > 1) {
-          return true;
+        if (socketTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");
         }
-        for (const pattern of this.set) {
-          for (const part of pattern) {
-            if (typeof part !== "string")
-              return true;
-          }
+        if (requestTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");
         }
-        return false;
-      }
-      debug(..._2) {
-      }
-      make() {
-        const pattern = this.pattern;
-        const options = this.options;
-        if (!options.nocomment && pattern.charAt(0) === "#") {
-          this.comment = true;
-          return;
+        if (idleTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported idleTimeout, use keepAliveTimeout instead");
         }
-        if (!pattern) {
-          this.empty = true;
-          return;
+        if (maxKeepAliveTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");
         }
-        this.parseNegate();
-        this.globSet = [...new Set(this.braceExpand())];
-        if (options.debug) {
-          this.debug = (...args) => console.error(...args);
+        if (maxHeaderSize != null && !Number.isFinite(maxHeaderSize)) {
+          throw new InvalidArgumentError("invalid maxHeaderSize");
         }
-        this.debug(this.pattern, this.globSet);
-        const rawGlobParts = this.globSet.map((s) => this.slashSplit(s));
-        this.globParts = this.preprocess(rawGlobParts);
-        this.debug(this.pattern, this.globParts);
-        let set2 = this.globParts.map((s, _2, __) => {
-          if (this.isWindows && this.windowsNoMagicRoot) {
-            const isUNC = s[0] === "" && s[1] === "" && (s[2] === "?" || !globMagic.test(s[2])) && !globMagic.test(s[3]);
-            const isDrive = /^[a-z]:/i.test(s[0]);
-            if (isUNC) {
-              return [...s.slice(0, 4), ...s.slice(4).map((ss) => this.parse(ss))];
-            } else if (isDrive) {
-              return [s[0], ...s.slice(1).map((ss) => this.parse(ss))];
-            }
-          }
-          return s.map((ss) => this.parse(ss));
-        });
-        this.debug(this.pattern, set2);
-        this.set = set2.filter((s) => s.indexOf(false) === -1);
-        if (this.isWindows) {
-          for (let i = 0; i < this.set.length; i++) {
-            const p = this.set[i];
-            if (p[0] === "" && p[1] === "" && this.globParts[i][2] === "?" && typeof p[3] === "string" && /^[a-z]:$/i.test(p[3])) {
-              p[2] = "?";
-            }
-          }
+        if (socketPath != null && typeof socketPath !== "string") {
+          throw new InvalidArgumentError("invalid socketPath");
         }
-        this.debug(this.pattern, this.set);
-      }
-      // various transforms to equivalent pattern sets that are
-      // faster to process in a filesystem walk.  The goal is to
-      // eliminate what we can, and push all ** patterns as far
-      // to the right as possible, even if it increases the number
-      // of patterns that we have to process.
-      preprocess(globParts) {
-        if (this.options.noglobstar) {
-          for (let i = 0; i < globParts.length; i++) {
-            for (let j = 0; j < globParts[i].length; j++) {
-              if (globParts[i][j] === "**") {
-                globParts[i][j] = "*";
-              }
-            }
-          }
+        if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) {
+          throw new InvalidArgumentError("invalid connectTimeout");
         }
-        const { optimizationLevel = 1 } = this.options;
-        if (optimizationLevel >= 2) {
-          globParts = this.firstPhasePreProcess(globParts);
-          globParts = this.secondPhasePreProcess(globParts);
-        } else if (optimizationLevel >= 1) {
-          globParts = this.levelOneOptimize(globParts);
+        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 possitive integer, greater than 0");
+        }
+        if (typeof connect2 !== "function") {
+          connect2 = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect2
+          });
+        }
+        this[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client) ? interceptors.Client : [createRedirectInterceptor({ maxRedirections })];
+        this[kUrl] = util.parseOrigin(url);
+        this[kConnector] = connect2;
+        this[kSocket] = null;
+        this[kPipelining] = pipelining != null ? pipelining : 1;
+        this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize;
+        this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;
+        this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;
+        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold;
+        this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
+        this[kServerName] = null;
+        this[kLocalAddress] = localAddress != null ? localAddress : null;
+        this[kResuming] = 0;
+        this[kNeedDrain] = 0;
+        this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r
+`;
+        this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5;
+        this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5;
+        this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength;
+        this[kMaxRedirections] = maxRedirections;
+        this[kMaxRequests] = maxRequestsPerClient;
+        this[kClosedResolve] = null;
+        this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
+        this[kHTTPConnVersion] = "h1";
+        this[kHTTP2Session] = null;
+        this[kHTTP2SessionState] = !allowH2 ? null : {
+          // streams: null, // Fixed queue of streams - For future support of `push`
+          openStreams: 0,
+          // Keep track of them to decide wether or not unref the session
+          maxConcurrentStreams: maxConcurrentStreams != null ? maxConcurrentStreams : 100
+          // Max peerConcurrentStreams for a Node h2 server
+        };
+        this[kHost] = `${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}`;
+        this[kQueue] = [];
+        this[kRunningIdx] = 0;
+        this[kPendingIdx] = 0;
+      }
+      get pipelining() {
+        return this[kPipelining];
+      }
+      set pipelining(value) {
+        this[kPipelining] = value;
+        resume(this, 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[kSocket] && !this[kConnecting] && !this[kSocket].destroyed;
+      }
+      get [kBusy]() {
+        const socket = this[kSocket];
+        return socket && (socket[kReset] || socket[kWriting] || socket[kBlocking]) || this[kSize] >= (this[kPipelining] || 1) || this[kPending] > 0;
+      }
+      /* 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 = this[kHTTPConnVersion] === "h2" ? Request[kHTTP2BuildRequest](origin, opts, handler2) : Request[kHTTP1BuildRequest](origin, opts, handler2);
+        this[kQueue].push(request2);
+        if (this[kResuming]) {
+        } else if (util.bodyLength(request2.body) == null && util.isIterable(request2.body)) {
+          this[kResuming] = 1;
+          process.nextTick(resume, this);
         } else {
-          globParts = this.adjascentGlobstarOptimize(globParts);
+          resume(this, true);
         }
-        return globParts;
+        if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
+          this[kNeedDrain] = 2;
+        }
+        return this[kNeedDrain] < 2;
       }
-      // just get rid of adjascent ** portions
-      adjascentGlobstarOptimize(globParts) {
-        return globParts.map((parts) => {
-          let gs = -1;
-          while (-1 !== (gs = parts.indexOf("**", gs + 1))) {
-            let i = gs;
-            while (parts[i + 1] === "**") {
-              i++;
-            }
-            if (i !== gs) {
-              parts.splice(gs, i - gs);
-            }
+      async [kClose]() {
+        return new Promise((resolve5) => {
+          if (!this[kSize]) {
+            resolve5(null);
+          } else {
+            this[kClosedResolve] = resolve5;
           }
-          return parts;
         });
       }
-      // get rid of adjascent ** and resolve .. portions
-      levelOneOptimize(globParts) {
-        return globParts.map((parts) => {
-          parts = parts.reduce((set2, part) => {
-            const prev = set2[set2.length - 1];
-            if (part === "**" && prev === "**") {
-              return set2;
-            }
-            if (part === "..") {
-              if (prev && prev !== ".." && prev !== "." && prev !== "**") {
-                set2.pop();
-                return set2;
-              }
+      async [kDestroy](err) {
+        return new Promise((resolve5) => {
+          const requests = this[kQueue].splice(this[kPendingIdx]);
+          for (let i = 0; i < requests.length; i++) {
+            const request2 = requests[i];
+            errorRequest2(this, request2, err);
+          }
+          const callback = () => {
+            if (this[kClosedResolve]) {
+              this[kClosedResolve]();
+              this[kClosedResolve] = null;
             }
-            set2.push(part);
-            return set2;
-          }, []);
-          return parts.length === 0 ? [""] : parts;
+            resolve5();
+          };
+          if (this[kHTTP2Session] != null) {
+            util.destroy(this[kHTTP2Session], err);
+            this[kHTTP2Session] = null;
+            this[kHTTP2SessionState] = null;
+          }
+          if (!this[kSocket]) {
+            queueMicrotask(callback);
+          } else {
+            util.destroy(this[kSocket].on("close", callback), err);
+          }
+          resume(this);
         });
       }
-      levelTwoFileOptimize(parts) {
-        if (!Array.isArray(parts)) {
-          parts = this.slashSplit(parts);
+    };
+    function onHttp2SessionError(err) {
+      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+      this[kSocket][kError] = err;
+      onError(this[kClient], err);
+    }
+    function onHttp2FrameError(type2, code, id) {
+      const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
+      if (id === 0) {
+        this[kSocket][kError] = err;
+        onError(this[kClient], err);
+      }
+    }
+    function onHttp2SessionEnd() {
+      util.destroy(this, new SocketError("other side closed"));
+      util.destroy(this[kSocket], new SocketError("other side closed"));
+    }
+    function onHTTP2GoAway(code) {
+      const client = this[kClient];
+      const err = new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`);
+      client[kSocket] = null;
+      client[kHTTP2Session] = null;
+      if (client.destroyed) {
+        assert(this[kPending] === 0);
+        const requests = client[kQueue].splice(client[kRunningIdx]);
+        for (let i = 0; i < requests.length; i++) {
+          const request2 = requests[i];
+          errorRequest2(this, request2, err);
         }
-        let didSomething = false;
-        do {
-          didSomething = false;
-          if (!this.preserveMultipleSlashes) {
-            for (let i = 1; i < parts.length - 1; i++) {
-              const p = parts[i];
-              if (i === 1 && p === "" && parts[0] === "")
-                continue;
-              if (p === "." || p === "") {
-                didSomething = true;
-                parts.splice(i, 1);
-                i--;
-              }
-            }
-            if (parts[0] === "." && parts.length === 2 && (parts[1] === "." || parts[1] === "")) {
-              didSomething = true;
-              parts.pop();
-            }
-          }
-          let dd = 0;
-          while (-1 !== (dd = parts.indexOf("..", dd + 1))) {
-            const p = parts[dd - 1];
-            if (p && p !== "." && p !== ".." && p !== "**") {
-              didSomething = true;
-              parts.splice(dd - 1, 2);
-              dd -= 2;
-            }
-          }
-        } while (didSomething);
-        return parts.length === 0 ? [""] : parts;
+      } else if (client[kRunning] > 0) {
+        const request2 = client[kQueue][client[kRunningIdx]];
+        client[kQueue][client[kRunningIdx]++] = null;
+        errorRequest2(client, request2, err);
       }
-      // First phase: single-pattern processing
-      // 
 is 1 or more portions
-      //  is 1 or more portions
-      // 

is any portion other than ., .., '', or ** - // is . or '' - // - // **/.. is *brutal* for filesystem walking performance, because - // it effectively resets the recursive walk each time it occurs, - // and ** cannot be reduced out by a .. pattern part like a regexp - // or most strings (other than .., ., and '') can be. - // - //

/**/../

/

/ -> {

/../

/

/,

/**/

/

/} - //

// -> 
/
-      // 
/

/../ ->

/
-      // **/**/ -> **/
-      //
-      // **/*/ -> */**/ <== not valid because ** doesn't follow
-      // this WOULD be allowed if ** did follow symlinks, or * didn't
-      firstPhasePreProcess(globParts) {
-        let didSomething = false;
-        do {
-          didSomething = false;
-          for (let parts of globParts) {
-            let gs = -1;
-            while (-1 !== (gs = parts.indexOf("**", gs + 1))) {
-              let gss = gs;
-              while (parts[gss + 1] === "**") {
-                gss++;
-              }
-              if (gss > gs) {
-                parts.splice(gs + 1, gss - gs);
-              }
-              let next = parts[gs + 1];
-              const p = parts[gs + 2];
-              const p2 = parts[gs + 3];
-              if (next !== "..")
-                continue;
-              if (!p || p === "." || p === ".." || !p2 || p2 === "." || p2 === "..") {
-                continue;
-              }
-              didSomething = true;
-              parts.splice(gs, 1);
-              const other = parts.slice(0);
-              other[gs] = "**";
-              globParts.push(other);
-              gs--;
-            }
-            if (!this.preserveMultipleSlashes) {
-              for (let i = 1; i < parts.length - 1; i++) {
-                const p = parts[i];
-                if (i === 1 && p === "" && parts[0] === "")
-                  continue;
-                if (p === "." || p === "") {
-                  didSomething = true;
-                  parts.splice(i, 1);
-                  i--;
-                }
-              }
-              if (parts[0] === "." && parts.length === 2 && (parts[1] === "." || parts[1] === "")) {
-                didSomething = true;
-                parts.pop();
-              }
-            }
-            let dd = 0;
-            while (-1 !== (dd = parts.indexOf("..", dd + 1))) {
-              const p = parts[dd - 1];
-              if (p && p !== "." && p !== ".." && p !== "**") {
-                didSomething = true;
-                const needDot = dd === 1 && parts[dd + 1] === "**";
-                const splin = needDot ? ["."] : [];
-                parts.splice(dd - 1, 2, ...splin);
-                if (parts.length === 0)
-                  parts.push("");
-                dd -= 2;
-              }
-            }
-          }
-        } while (didSomething);
-        return globParts;
+      client[kPendingIdx] = client[kRunningIdx];
+      assert(client[kRunning] === 0);
+      client.emit(
+        "disconnect",
+        client[kUrl],
+        [client],
+        err
+      );
+      resume(client);
+    }
+    var constants = require_constants22();
+    var createRedirectInterceptor = require_redirectInterceptor();
+    var EMPTY_BUF = Buffer.alloc(0);
+    async function lazyllhttp() {
+      const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm3() : void 0;
+      let mod;
+      try {
+        mod = await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm3(), "base64"));
+      } catch (e) {
+        mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require_llhttp_wasm3(), "base64"));
       }
-      // second phase: multi-pattern dedupes
-      // {
/*/,
/

/} ->

/*/
-      // {
/,
/} -> 
/
-      // {
/**/,
/} -> 
/**/
-      //
-      // {
/**/,
/**/

/} ->

/**/
-      // ^-- not valid because ** doens't follow symlinks
-      secondPhasePreProcess(globParts) {
-        for (let i = 0; i < globParts.length - 1; i++) {
-          for (let j = i + 1; j < globParts.length; j++) {
-            const matched = this.partsMatch(globParts[i], globParts[j], !this.preserveMultipleSlashes);
-            if (matched) {
-              globParts[i] = [];
-              globParts[j] = matched;
-              break;
-            }
+      return await WebAssembly.instantiate(mod, {
+        env: {
+          /* eslint-disable camelcase */
+          wasm_on_url: (p, at, len) => {
+            return 0;
+          },
+          wasm_on_status: (p, at, len) => {
+            assert.strictEqual(currentParser.ptr, p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_message_begin: (p) => {
+            assert.strictEqual(currentParser.ptr, p);
+            return currentParser.onMessageBegin() || 0;
+          },
+          wasm_on_header_field: (p, at, len) => {
+            assert.strictEqual(currentParser.ptr, p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_header_value: (p, at, len) => {
+            assert.strictEqual(currentParser.ptr, p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
+            assert.strictEqual(currentParser.ptr, p);
+            return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;
+          },
+          wasm_on_body: (p, at, len) => {
+            assert.strictEqual(currentParser.ptr, p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_message_complete: (p) => {
+            assert.strictEqual(currentParser.ptr, p);
+            return currentParser.onMessageComplete() || 0;
           }
+          /* eslint-enable camelcase */
         }
-        return globParts.filter((gs) => gs.length);
-      }
-      partsMatch(a, b, emptyGSMatch = false) {
-        let ai = 0;
-        let bi = 0;
-        let result = [];
-        let which6 = "";
-        while (ai < a.length && bi < b.length) {
-          if (a[ai] === b[bi]) {
-            result.push(which6 === "b" ? b[bi] : a[ai]);
-            ai++;
-            bi++;
-          } else if (emptyGSMatch && a[ai] === "**" && b[bi] === a[ai + 1]) {
-            result.push(a[ai]);
-            ai++;
-          } else if (emptyGSMatch && b[bi] === "**" && a[ai] === b[bi + 1]) {
-            result.push(b[bi]);
-            bi++;
-          } else if (a[ai] === "*" && b[bi] && (this.options.dot || !b[bi].startsWith(".")) && b[bi] !== "**") {
-            if (which6 === "b")
-              return false;
-            which6 = "a";
-            result.push(a[ai]);
-            ai++;
-            bi++;
-          } else if (b[bi] === "*" && a[ai] && (this.options.dot || !a[ai].startsWith(".")) && a[ai] !== "**") {
-            if (which6 === "a")
-              return false;
-            which6 = "b";
-            result.push(b[bi]);
-            ai++;
-            bi++;
+      });
+    }
+    var llhttpInstance = null;
+    var llhttpPromise = lazyllhttp();
+    llhttpPromise.catch();
+    var currentParser = null;
+    var currentBufferRef = null;
+    var currentBufferSize = 0;
+    var currentBufferPtr = null;
+    var TIMEOUT_HEADERS = 1;
+    var TIMEOUT_BODY = 2;
+    var TIMEOUT_IDLE = 3;
+    var Parser = class {
+      constructor(client, socket, { exports: 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(value, type2) {
+        this.timeoutType = type2;
+        if (value !== this.timeoutValue) {
+          timers.clearTimeout(this.timeout);
+          if (value) {
+            this.timeout = timers.setTimeout(onParserTimeout, value, this);
+            if (this.timeout.unref) {
+              this.timeout.unref();
+            }
           } else {
-            return false;
+            this.timeout = null;
+          }
+          this.timeoutValue = value;
+        } else if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
           }
         }
-        return a.length === b.length && result;
       }
-      parseNegate() {
-        if (this.nonegate)
+      resume() {
+        if (this.socket.destroyed || !this.paused) {
           return;
-        const pattern = this.pattern;
-        let negate = false;
-        let negateOffset = 0;
-        for (let i = 0; i < pattern.length && pattern.charAt(i) === "!"; i++) {
-          negate = !negate;
-          negateOffset++;
         }
-        if (negateOffset)
-          this.pattern = pattern.slice(negateOffset);
-        this.negate = negate;
+        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();
       }
-      // set partial to true to test if, for example,
-      // "/a/b" matches the start of "/*/b/*/d"
-      // Partial means, if you run out of file before you run
-      // out of pattern, then that's fine, as long as all
-      // the parts match.
-      matchOne(file, pattern, partial = false) {
-        const options = this.options;
-        if (this.isWindows) {
-          const fileDrive = typeof file[0] === "string" && /^[a-z]:$/i.test(file[0]);
-          const fileUNC = !fileDrive && file[0] === "" && file[1] === "" && file[2] === "?" && /^[a-z]:$/i.test(file[3]);
-          const patternDrive = typeof pattern[0] === "string" && /^[a-z]:$/i.test(pattern[0]);
-          const patternUNC = !patternDrive && pattern[0] === "" && pattern[1] === "" && pattern[2] === "?" && typeof pattern[3] === "string" && /^[a-z]:$/i.test(pattern[3]);
-          const fdi = fileUNC ? 3 : fileDrive ? 0 : void 0;
-          const pdi = patternUNC ? 3 : patternDrive ? 0 : void 0;
-          if (typeof fdi === "number" && typeof pdi === "number") {
-            const [fd, pd] = [file[fdi], pattern[pdi]];
-            if (fd.toLowerCase() === pd.toLowerCase()) {
-              pattern[pdi] = fd;
-              if (pdi > fdi) {
-                pattern = pattern.slice(pdi);
-              } else if (fdi > pdi) {
-                file = file.slice(fdi);
-              }
-            }
+      readMore() {
+        while (!this.paused && this.ptr) {
+          const chunk = this.socket.read();
+          if (chunk === null) {
+            break;
           }
+          this.execute(chunk);
         }
-        const { optimizationLevel = 1 } = this.options;
-        if (optimizationLevel >= 2) {
-          file = this.levelTwoFileOptimize(file);
+      }
+      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);
         }
-        this.debug("matchOne", this, { file, pattern });
-        this.debug("matchOne", file.length, pattern.length);
-        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
-          this.debug("matchOne loop");
-          var p = pattern[pi];
-          var f = file[fi];
-          this.debug(pattern, p, f);
-          if (p === false) {
-            return false;
+        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;
           }
-          if (p === exports2.GLOBSTAR) {
-            this.debug("GLOBSTAR", [pattern, p, f]);
-            var fr = fi;
-            var pr = pi + 1;
-            if (pr === pl) {
-              this.debug("** at the end");
-              for (; fi < fl; fi++) {
-                if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".")
-                  return false;
-              }
-              return true;
-            }
-            while (fr < fl) {
-              var swallowee = file[fr];
-              this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
-              if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
-                this.debug("globstar found match!", fr, fl, swallowee);
-                return true;
-              } else {
-                if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
-                  this.debug("dot detected!", file, fr, pattern, pr);
-                  break;
-                }
-                this.debug("globstar swallow a segment, and continue");
-                fr++;
-              }
-            }
-            if (partial) {
-              this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
-              if (fr === fl) {
-                return true;
-              }
+          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() + ")";
             }
-            return false;
-          }
-          let hit;
-          if (typeof p === "string") {
-            hit = f === p;
-            this.debug("string match", p, f, hit);
-          } else {
-            hit = p.test(f);
-            this.debug("pattern match", p, f, hit);
+            throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset));
           }
-          if (!hit)
-            return false;
-        }
-        if (fi === fl && pi === pl) {
-          return true;
-        } else if (fi === fl) {
-          return partial;
-        } else if (pi === pl) {
-          return fi === fl - 1 && file[fi] === "";
-        } else {
-          throw new Error("wtf?");
+        } catch (err) {
+          util.destroy(socket, err);
         }
       }
-      braceExpand() {
-        return (0, exports2.braceExpand)(this.pattern, this.options);
+      destroy() {
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        this.llhttp.llhttp_free(this.ptr);
+        this.ptr = null;
+        timers.clearTimeout(this.timeout);
+        this.timeout = null;
+        this.timeoutValue = null;
+        this.timeoutType = null;
+        this.paused = false;
       }
-      parse(pattern) {
-        (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
-        const options = this.options;
-        if (pattern === "**")
-          return exports2.GLOBSTAR;
-        if (pattern === "")
-          return "";
-        let m;
-        let fastTest = null;
-        if (m = pattern.match(starRE)) {
-          fastTest = options.dot ? starTestDot : starTest;
-        } else if (m = pattern.match(starDotExtRE)) {
-          fastTest = (options.nocase ? options.dot ? starDotExtTestNocaseDot : starDotExtTestNocase : options.dot ? starDotExtTestDot : starDotExtTest)(m[1]);
-        } else if (m = pattern.match(qmarksRE)) {
-          fastTest = (options.nocase ? options.dot ? qmarksTestNocaseDot : qmarksTestNocase : options.dot ? qmarksTestDot : qmarksTest)(m);
-        } else if (m = pattern.match(starDotStarRE)) {
-          fastTest = options.dot ? starDotStarTestDot : starDotStarTest;
-        } else if (m = pattern.match(dotStarRE)) {
-          fastTest = dotStarTest;
-        }
-        const re = ast_js_1.AST.fromGlob(pattern, this.options).toMMPattern();
-        if (fastTest && typeof re === "object") {
-          Reflect.defineProperty(re, "test", { value: fastTest });
-        }
-        return re;
+      onStatus(buf) {
+        this.statusText = buf.toString();
       }
-      makeRe() {
-        if (this.regexp || this.regexp === false)
-          return this.regexp;
-        const set2 = this.set;
-        if (!set2.length) {
-          this.regexp = false;
-          return this.regexp;
-        }
-        const options = this.options;
-        const twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
-        const flags = new Set(options.nocase ? ["i"] : []);
-        let re = set2.map((pattern) => {
-          const pp = pattern.map((p) => {
-            if (p instanceof RegExp) {
-              for (const f of p.flags.split(""))
-                flags.add(f);
-            }
-            return typeof p === "string" ? regExpEscape(p) : p === exports2.GLOBSTAR ? exports2.GLOBSTAR : p._src;
-          });
-          pp.forEach((p, i) => {
-            const next = pp[i + 1];
-            const prev = pp[i - 1];
-            if (p !== exports2.GLOBSTAR || prev === exports2.GLOBSTAR) {
-              return;
-            }
-            if (prev === void 0) {
-              if (next !== void 0 && next !== exports2.GLOBSTAR) {
-                pp[i + 1] = "(?:\\/|" + twoStar + "\\/)?" + next;
-              } else {
-                pp[i] = twoStar;
-              }
-            } else if (next === void 0) {
-              pp[i - 1] = prev + "(?:\\/|\\/" + twoStar + ")?";
-            } else if (next !== exports2.GLOBSTAR) {
-              pp[i - 1] = prev + "(?:\\/|\\/" + twoStar + "\\/)" + next;
-              pp[i + 1] = exports2.GLOBSTAR;
-            }
-          });
-          const filtered = pp.filter((p) => p !== exports2.GLOBSTAR);
-          if (this.partial && filtered.length >= 1) {
-            const prefixes = [];
-            for (let i = 1; i <= filtered.length; i++) {
-              prefixes.push(filtered.slice(0, i).join("/"));
-            }
-            return "(?:" + prefixes.join("|") + ")";
-          }
-          return filtered.join("/");
-        }).join("|");
-        const [open, close] = set2.length > 1 ? ["(?:", ")"] : ["", ""];
-        re = "^" + open + re + close + "$";
-        if (this.partial) {
-          re = "^(?:\\/|" + open + re.slice(1, -1) + close + ")$";
+      onMessageBegin() {
+        const { socket, client } = this;
+        if (socket.destroyed) {
+          return -1;
         }
-        if (this.negate)
-          re = "^(?!" + re + ").+$";
-        try {
-          this.regexp = new RegExp(re, [...flags].join(""));
-        } catch (ex) {
-          this.regexp = false;
+        const request2 = client[kQueue][client[kRunningIdx]];
+        if (!request2) {
+          return -1;
         }
-        return this.regexp;
       }
-      slashSplit(p) {
-        if (this.preserveMultipleSlashes) {
-          return p.split("/");
-        } else if (this.isWindows && /^\/\/[^\/]+/.test(p)) {
-          return ["", ...p.split(/\/+/)];
+      onHeaderField(buf) {
+        const len = this.headers.length;
+        if ((len & 1) === 0) {
+          this.headers.push(buf);
         } else {
-          return p.split(/\/+/);
+          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
         }
+        this.trackHeader(buf.length);
       }
-      match(f, partial = this.partial) {
-        this.debug("match", f, this.pattern);
-        if (this.comment) {
-          return false;
-        }
-        if (this.empty) {
-          return f === "";
+      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]);
         }
-        if (f === "/" && partial) {
-          return true;
+        const key = this.headers[len - 2];
+        if (key.length === 10 && key.toString().toLowerCase() === "keep-alive") {
+          this.keepAlive += buf.toString();
+        } else if (key.length === 10 && key.toString().toLowerCase() === "connection") {
+          this.connection += buf.toString();
+        } else if (key.length === 14 && key.toString().toLowerCase() === "content-length") {
+          this.contentLength += buf.toString();
         }
-        const options = this.options;
-        if (this.isWindows) {
-          f = f.split("\\").join("/");
+        this.trackHeader(buf.length);
+      }
+      trackHeader(len) {
+        this.headersSize += len;
+        if (this.headersSize >= this.headersMaxSize) {
+          util.destroy(this.socket, new HeadersOverflowError());
         }
-        const ff = this.slashSplit(f);
-        this.debug(this.pattern, "split", ff);
-        const set2 = this.set;
-        this.debug(this.pattern, "set", set2);
-        let filename = ff[ff.length - 1];
-        if (!filename) {
-          for (let i = ff.length - 2; !filename && i >= 0; i--) {
-            filename = ff[i];
-          }
+      }
+      onUpgrade(head) {
+        const { upgrade, client, socket, headers, statusCode } = this;
+        assert(upgrade);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert(!socket.destroyed);
+        assert(socket === client[kSocket]);
+        assert(!this.paused);
+        assert(request2.upgrade || request2.method === "CONNECT");
+        this.statusCode = null;
+        this.statusText = "";
+        this.shouldKeepAlive = null;
+        assert(this.headers.length % 2 === 0);
+        this.headers = [];
+        this.headersSize = 0;
+        socket.unshift(head);
+        socket[kParser].destroy();
+        socket[kParser] = null;
+        socket[kClient] = null;
+        socket[kError] = null;
+        socket.removeListener("error", onSocketError).removeListener("readable", onSocketReadable).removeListener("end", onSocketEnd).removeListener("close", onSocketClose);
+        client[kSocket] = null;
+        client[kQueue][client[kRunningIdx]++] = null;
+        client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
+        try {
+          request2.onUpgrade(statusCode, headers, socket);
+        } catch (err) {
+          util.destroy(socket, err);
         }
-        for (let i = 0; i < set2.length; i++) {
-          const pattern = set2[i];
-          let file = ff;
-          if (options.matchBase && pattern.length === 1) {
-            file = [filename];
-          }
-          const hit = this.matchOne(file, pattern, partial);
-          if (hit) {
-            if (options.flipNegate) {
-              return true;
-            }
-            return !this.negate;
-          }
+        resume(client);
+      }
+      onHeadersComplete(statusCode, upgrade, shouldKeepAlive) {
+        const { client, socket, headers, statusText } = this;
+        if (socket.destroyed) {
+          return -1;
         }
-        if (options.flipNegate) {
-          return false;
+        const request2 = client[kQueue][client[kRunningIdx]];
+        if (!request2) {
+          return -1;
         }
-        return this.negate;
-      }
-      static defaults(def) {
-        return exports2.minimatch.defaults(def).Minimatch;
-      }
-    };
-    exports2.Minimatch = Minimatch;
-    var ast_js_2 = require_ast();
-    Object.defineProperty(exports2, "AST", { enumerable: true, get: function() {
-      return ast_js_2.AST;
-    } });
-    var escape_js_2 = require_escape();
-    Object.defineProperty(exports2, "escape", { enumerable: true, get: function() {
-      return escape_js_2.escape;
-    } });
-    var unescape_js_2 = require_unescape();
-    Object.defineProperty(exports2, "unescape", { enumerable: true, get: function() {
-      return unescape_js_2.unescape;
-    } });
-    exports2.minimatch.AST = ast_js_1.AST;
-    exports2.minimatch.Minimatch = Minimatch;
-    exports2.minimatch.escape = escape_js_1.escape;
-    exports2.minimatch.unescape = unescape_js_1.unescape;
-  }
-});
-
-// node_modules/lru-cache/dist/commonjs/index.js
-var require_commonjs21 = __commonJS({
-  "node_modules/lru-cache/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.LRUCache = void 0;
-    var perf = typeof performance === "object" && performance && typeof performance.now === "function" ? performance : Date;
-    var warned = /* @__PURE__ */ new Set();
-    var PROCESS = typeof process === "object" && !!process ? process : {};
-    var emitWarning = (msg, type2, code, fn) => {
-      typeof PROCESS.emitWarning === "function" ? PROCESS.emitWarning(msg, type2, code, fn) : console.error(`[${code}] ${type2}: ${msg}`);
-    };
-    var AC = globalThis.AbortController;
-    var AS = globalThis.AbortSignal;
-    if (typeof AC === "undefined") {
-      AS = class AbortSignal {
-        onabort;
-        _onabort = [];
-        reason;
-        aborted = false;
-        addEventListener(_2, fn) {
-          this._onabort.push(fn);
+        assert(!this.upgrade);
+        assert(this.statusCode < 200);
+        if (statusCode === 100) {
+          util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket)));
+          return -1;
         }
-      };
-      AC = class AbortController {
-        constructor() {
-          warnACPolyfill();
+        if (upgrade && !request2.upgrade) {
+          util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket)));
+          return -1;
         }
-        signal = new AS();
-        abort(reason) {
-          if (this.signal.aborted)
-            return;
-          this.signal.reason = reason;
-          this.signal.aborted = true;
-          for (const fn of this.signal._onabort) {
-            fn(reason);
+        assert.strictEqual(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();
           }
-          this.signal.onabort?.(reason);
-        }
-      };
-      let printACPolyfillWarning = PROCESS.env?.LRU_CACHE_IGNORE_AC_WARNING !== "1";
-      const warnACPolyfill = () => {
-        if (!printACPolyfillWarning)
-          return;
-        printACPolyfillWarning = false;
-        emitWarning("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.", "NO_ABORT_CONTROLLER", "ENOTSUP", warnACPolyfill);
-      };
-    }
-    var shouldWarn = (code) => !warned.has(code);
-    var isPosInt = (n) => n && n === Math.floor(n) && n > 0 && isFinite(n);
-    var getUintArray = (max) => !isPosInt(max) ? null : max <= Math.pow(2, 8) ? Uint8Array : max <= Math.pow(2, 16) ? Uint16Array : max <= Math.pow(2, 32) ? Uint32Array : max <= Number.MAX_SAFE_INTEGER ? ZeroArray : null;
-    var ZeroArray = class extends Array {
-      constructor(size) {
-        super(size);
-        this.fill(0);
-      }
-    };
-    var Stack = class _Stack {
-      heap;
-      length;
-      // private constructor
-      static #constructing = false;
-      static create(max) {
-        const HeapCls = getUintArray(max);
-        if (!HeapCls)
-          return [];
-        _Stack.#constructing = true;
-        const s = new _Stack(max, HeapCls);
-        _Stack.#constructing = false;
-        return s;
-      }
-      constructor(max, HeapCls) {
-        if (!_Stack.#constructing) {
-          throw new TypeError("instantiate Stack using Stack.create(n)");
         }
-        this.heap = new HeapCls(max);
-        this.length = 0;
-      }
-      push(n) {
-        this.heap[this.length++] = n;
-      }
-      pop() {
-        return this.heap[--this.length];
-      }
-    };
-    var LRUCache = class _LRUCache {
-      // options that cannot be changed without disaster
-      #max;
-      #maxSize;
-      #dispose;
-      #onInsert;
-      #disposeAfter;
-      #fetchMethod;
-      #memoMethod;
-      /**
-       * {@link LRUCache.OptionsBase.ttl}
-       */
-      ttl;
-      /**
-       * {@link LRUCache.OptionsBase.ttlResolution}
-       */
-      ttlResolution;
-      /**
-       * {@link LRUCache.OptionsBase.ttlAutopurge}
-       */
-      ttlAutopurge;
-      /**
-       * {@link LRUCache.OptionsBase.updateAgeOnGet}
-       */
-      updateAgeOnGet;
-      /**
-       * {@link LRUCache.OptionsBase.updateAgeOnHas}
-       */
-      updateAgeOnHas;
-      /**
-       * {@link LRUCache.OptionsBase.allowStale}
-       */
-      allowStale;
-      /**
-       * {@link LRUCache.OptionsBase.noDisposeOnSet}
-       */
-      noDisposeOnSet;
-      /**
-       * {@link LRUCache.OptionsBase.noUpdateTTL}
-       */
-      noUpdateTTL;
-      /**
-       * {@link LRUCache.OptionsBase.maxEntrySize}
-       */
-      maxEntrySize;
-      /**
-       * {@link LRUCache.OptionsBase.sizeCalculation}
-       */
-      sizeCalculation;
-      /**
-       * {@link LRUCache.OptionsBase.noDeleteOnFetchRejection}
-       */
-      noDeleteOnFetchRejection;
-      /**
-       * {@link LRUCache.OptionsBase.noDeleteOnStaleGet}
-       */
-      noDeleteOnStaleGet;
-      /**
-       * {@link LRUCache.OptionsBase.allowStaleOnFetchAbort}
-       */
-      allowStaleOnFetchAbort;
-      /**
-       * {@link LRUCache.OptionsBase.allowStaleOnFetchRejection}
-       */
-      allowStaleOnFetchRejection;
-      /**
-       * {@link LRUCache.OptionsBase.ignoreFetchAbort}
-       */
-      ignoreFetchAbort;
-      // computed properties
-      #size;
-      #calculatedSize;
-      #keyMap;
-      #keyList;
-      #valList;
-      #next;
-      #prev;
-      #head;
-      #tail;
-      #free;
-      #disposed;
-      #sizes;
-      #starts;
-      #ttls;
-      #hasDispose;
-      #hasFetchMethod;
-      #hasDisposeAfter;
-      #hasOnInsert;
-      /**
-       * Do not call this method unless you need to inspect the
-       * inner workings of the cache.  If anything returned by this
-       * object is modified in any way, strange breakage may occur.
-       *
-       * These fields are private for a reason!
-       *
-       * @internal
-       */
-      static unsafeExposeInternals(c) {
-        return {
-          // properties
-          starts: c.#starts,
-          ttls: c.#ttls,
-          sizes: c.#sizes,
-          keyMap: c.#keyMap,
-          keyList: c.#keyList,
-          valList: c.#valList,
-          next: c.#next,
-          prev: c.#prev,
-          get head() {
-            return c.#head;
-          },
-          get tail() {
-            return c.#tail;
-          },
-          free: c.#free,
-          // methods
-          isBackgroundFetch: (p) => c.#isBackgroundFetch(p),
-          backgroundFetch: (k, index, options, context2) => c.#backgroundFetch(k, index, options, context2),
-          moveToTail: (index) => c.#moveToTail(index),
-          indexes: (options) => c.#indexes(options),
-          rindexes: (options) => c.#rindexes(options),
-          isStale: (index) => c.#isStale(index)
-        };
-      }
-      // Protected read-only members
-      /**
-       * {@link LRUCache.OptionsBase.max} (read-only)
-       */
-      get max() {
-        return this.#max;
-      }
-      /**
-       * {@link LRUCache.OptionsBase.maxSize} (read-only)
-       */
-      get maxSize() {
-        return this.#maxSize;
-      }
-      /**
-       * The total computed size of items in the cache (read-only)
-       */
-      get calculatedSize() {
-        return this.#calculatedSize;
-      }
-      /**
-       * The number of items stored in the cache (read-only)
-       */
-      get size() {
-        return this.#size;
-      }
-      /**
-       * {@link LRUCache.OptionsBase.fetchMethod} (read-only)
-       */
-      get fetchMethod() {
-        return this.#fetchMethod;
-      }
-      get memoMethod() {
-        return this.#memoMethod;
-      }
-      /**
-       * {@link LRUCache.OptionsBase.dispose} (read-only)
-       */
-      get dispose() {
-        return this.#dispose;
-      }
-      /**
-       * {@link LRUCache.OptionsBase.onInsert} (read-only)
-       */
-      get onInsert() {
-        return this.#onInsert;
-      }
-      /**
-       * {@link LRUCache.OptionsBase.disposeAfter} (read-only)
-       */
-      get disposeAfter() {
-        return this.#disposeAfter;
-      }
-      constructor(options) {
-        const { max = 0, ttl, ttlResolution = 1, ttlAutopurge, updateAgeOnGet, updateAgeOnHas, allowStale, dispose, onInsert, disposeAfter, noDisposeOnSet, noUpdateTTL, maxSize = 0, maxEntrySize = 0, sizeCalculation, fetchMethod, memoMethod, noDeleteOnFetchRejection, noDeleteOnStaleGet, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort } = options;
-        if (max !== 0 && !isPosInt(max)) {
-          throw new TypeError("max option must be a nonnegative integer");
+        if (request2.method === "CONNECT") {
+          assert(client[kRunning] === 1);
+          this.upgrade = true;
+          return 2;
         }
-        const UintArray = max ? getUintArray(max) : Array;
-        if (!UintArray) {
-          throw new Error("invalid max value: " + max);
+        if (upgrade) {
+          assert(client[kRunning] === 1);
+          this.upgrade = true;
+          return 2;
         }
-        this.#max = max;
-        this.#maxSize = maxSize;
-        this.maxEntrySize = maxEntrySize || this.#maxSize;
-        this.sizeCalculation = sizeCalculation;
-        if (this.sizeCalculation) {
-          if (!this.#maxSize && !this.maxEntrySize) {
-            throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");
-          }
-          if (typeof this.sizeCalculation !== "function") {
-            throw new TypeError("sizeCalculation set to non-function");
+        assert(this.headers.length % 2 === 0);
+        this.headers = [];
+        this.headersSize = 0;
+        if (this.shouldKeepAlive && client[kPipelining]) {
+          const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null;
+          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;
         }
-        if (memoMethod !== void 0 && typeof memoMethod !== "function") {
-          throw new TypeError("memoMethod must be a function if defined");
-        }
-        this.#memoMethod = memoMethod;
-        if (fetchMethod !== void 0 && typeof fetchMethod !== "function") {
-          throw new TypeError("fetchMethod must be a function if specified");
+        const pause = request2.onHeaders(statusCode, headers, this.resume, statusText) === false;
+        if (request2.aborted) {
+          return -1;
         }
-        this.#fetchMethod = fetchMethod;
-        this.#hasFetchMethod = !!fetchMethod;
-        this.#keyMap = /* @__PURE__ */ new Map();
-        this.#keyList = new Array(max).fill(void 0);
-        this.#valList = new Array(max).fill(void 0);
-        this.#next = new UintArray(max);
-        this.#prev = new UintArray(max);
-        this.#head = 0;
-        this.#tail = 0;
-        this.#free = Stack.create(max);
-        this.#size = 0;
-        this.#calculatedSize = 0;
-        if (typeof dispose === "function") {
-          this.#dispose = dispose;
+        if (request2.method === "HEAD") {
+          return 1;
         }
-        if (typeof onInsert === "function") {
-          this.#onInsert = onInsert;
+        if (statusCode < 200) {
+          return 1;
         }
-        if (typeof disposeAfter === "function") {
-          this.#disposeAfter = disposeAfter;
-          this.#disposed = [];
-        } else {
-          this.#disposeAfter = void 0;
-          this.#disposed = void 0;
+        if (socket[kBlocking]) {
+          socket[kBlocking] = false;
+          resume(client);
         }
-        this.#hasDispose = !!this.#dispose;
-        this.#hasOnInsert = !!this.#onInsert;
-        this.#hasDisposeAfter = !!this.#disposeAfter;
-        this.noDisposeOnSet = !!noDisposeOnSet;
-        this.noUpdateTTL = !!noUpdateTTL;
-        this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection;
-        this.allowStaleOnFetchRejection = !!allowStaleOnFetchRejection;
-        this.allowStaleOnFetchAbort = !!allowStaleOnFetchAbort;
-        this.ignoreFetchAbort = !!ignoreFetchAbort;
-        if (this.maxEntrySize !== 0) {
-          if (this.#maxSize !== 0) {
-            if (!isPosInt(this.#maxSize)) {
-              throw new TypeError("maxSize must be a positive integer if specified");
-            }
-          }
-          if (!isPosInt(this.maxEntrySize)) {
-            throw new TypeError("maxEntrySize must be a positive integer if specified");
-          }
-          this.#initializeSizeTracking();
+        return pause ? constants.ERROR.PAUSED : 0;
+      }
+      onBody(buf) {
+        const { client, socket, statusCode, maxResponseSize } = this;
+        if (socket.destroyed) {
+          return -1;
         }
-        this.allowStale = !!allowStale;
-        this.noDeleteOnStaleGet = !!noDeleteOnStaleGet;
-        this.updateAgeOnGet = !!updateAgeOnGet;
-        this.updateAgeOnHas = !!updateAgeOnHas;
-        this.ttlResolution = isPosInt(ttlResolution) || ttlResolution === 0 ? ttlResolution : 1;
-        this.ttlAutopurge = !!ttlAutopurge;
-        this.ttl = ttl || 0;
-        if (this.ttl) {
-          if (!isPosInt(this.ttl)) {
-            throw new TypeError("ttl must be a positive integer if specified");
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert.strictEqual(this.timeoutType, TIMEOUT_BODY);
+        if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
           }
-          this.#initializeTTLTracking();
         }
-        if (this.#max === 0 && this.ttl === 0 && this.#maxSize === 0) {
-          throw new TypeError("At least one of max, maxSize, or ttl is required");
+        assert(statusCode >= 200);
+        if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
+          util.destroy(socket, new ResponseExceededMaxSizeError());
+          return -1;
         }
-        if (!this.ttlAutopurge && !this.#max && !this.#maxSize) {
-          const code = "LRU_CACHE_UNBOUNDED";
-          if (shouldWarn(code)) {
-            warned.add(code);
-            const msg = "TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.";
-            emitWarning(msg, "UnboundedCacheWarning", code, _LRUCache);
-          }
+        this.bytesRead += buf.length;
+        if (request2.onData(buf) === false) {
+          return constants.ERROR.PAUSED;
         }
       }
-      /**
-       * Return the number of ms left in the item's TTL. If item is not in cache,
-       * returns `0`. Returns `Infinity` if item is in cache without a defined TTL.
-       */
-      getRemainingTTL(key) {
-        return this.#keyMap.has(key) ? Infinity : 0;
-      }
-      #initializeTTLTracking() {
-        const ttls = new ZeroArray(this.#max);
-        const starts = new ZeroArray(this.#max);
-        this.#ttls = ttls;
-        this.#starts = starts;
-        this.#setItemTTL = (index, ttl, start = perf.now()) => {
-          starts[index] = ttl !== 0 ? start : 0;
-          ttls[index] = ttl;
-          if (ttl !== 0 && this.ttlAutopurge) {
-            const t = setTimeout(() => {
-              if (this.#isStale(index)) {
-                this.#delete(this.#keyList[index], "expire");
-              }
-            }, ttl + 1);
-            if (t.unref) {
-              t.unref();
-            }
-          }
-        };
-        this.#updateItemAge = (index) => {
-          starts[index] = ttls[index] !== 0 ? perf.now() : 0;
-        };
-        this.#statusTTL = (status, index) => {
-          if (ttls[index]) {
-            const ttl = ttls[index];
-            const start = starts[index];
-            if (!ttl || !start)
-              return;
-            status.ttl = ttl;
-            status.start = start;
-            status.now = cachedNow || getNow();
-            const age = status.now - start;
-            status.remainingTTL = ttl - age;
-          }
-        };
-        let cachedNow = 0;
-        const getNow = () => {
-          const n = perf.now();
-          if (this.ttlResolution > 0) {
-            cachedNow = n;
-            const t = setTimeout(() => cachedNow = 0, this.ttlResolution);
-            if (t.unref) {
-              t.unref();
-            }
-          }
-          return n;
-        };
-        this.getRemainingTTL = (key) => {
-          const index = this.#keyMap.get(key);
-          if (index === void 0) {
-            return 0;
-          }
-          const ttl = ttls[index];
-          const start = starts[index];
-          if (!ttl || !start) {
-            return Infinity;
-          }
-          const age = (cachedNow || getNow()) - start;
-          return ttl - age;
-        };
-        this.#isStale = (index) => {
-          const s = starts[index];
-          const t = ttls[index];
-          return !!t && !!s && (cachedNow || getNow()) - s > t;
-        };
-      }
-      // conditionally set private methods related to TTL
-      #updateItemAge = () => {
-      };
-      #statusTTL = () => {
-      };
-      #setItemTTL = () => {
-      };
-      /* c8 ignore stop */
-      #isStale = () => false;
-      #initializeSizeTracking() {
-        const sizes = new ZeroArray(this.#max);
-        this.#calculatedSize = 0;
-        this.#sizes = sizes;
-        this.#removeItemSize = (index) => {
-          this.#calculatedSize -= sizes[index];
-          sizes[index] = 0;
-        };
-        this.#requireSize = (k, v, size, sizeCalculation) => {
-          if (this.#isBackgroundFetch(v)) {
-            return 0;
-          }
-          if (!isPosInt(size)) {
-            if (sizeCalculation) {
-              if (typeof sizeCalculation !== "function") {
-                throw new TypeError("sizeCalculation must be a function");
-              }
-              size = sizeCalculation(v, k);
-              if (!isPosInt(size)) {
-                throw new TypeError("sizeCalculation return invalid (expect positive integer)");
-              }
-            } else {
-              throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");
-            }
-          }
-          return size;
-        };
-        this.#addItemSize = (index, size, status) => {
-          sizes[index] = size;
-          if (this.#maxSize) {
-            const maxSize = this.#maxSize - sizes[index];
-            while (this.#calculatedSize > maxSize) {
-              this.#evict(true);
-            }
-          }
-          this.#calculatedSize += sizes[index];
-          if (status) {
-            status.entrySize = size;
-            status.totalCalculatedSize = this.#calculatedSize;
-          }
-        };
-      }
-      #removeItemSize = (_i) => {
-      };
-      #addItemSize = (_i, _s, _st) => {
-      };
-      #requireSize = (_k, _v, size, sizeCalculation) => {
-        if (size || sizeCalculation) {
-          throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");
+      onMessageComplete() {
+        const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;
+        if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
+          return -1;
         }
-        return 0;
-      };
-      *#indexes({ allowStale = this.allowStale } = {}) {
-        if (this.#size) {
-          for (let i = this.#tail; true; ) {
-            if (!this.#isValidIndex(i)) {
-              break;
-            }
-            if (allowStale || !this.#isStale(i)) {
-              yield i;
-            }
-            if (i === this.#head) {
-              break;
-            } else {
-              i = this.#prev[i];
-            }
-          }
+        if (upgrade) {
+          return;
+        }
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert(statusCode >= 100);
+        this.statusCode = null;
+        this.statusText = "";
+        this.bytesRead = 0;
+        this.contentLength = "";
+        this.keepAlive = "";
+        this.connection = "";
+        assert(this.headers.length % 2 === 0);
+        this.headers = [];
+        this.headersSize = 0;
+        if (statusCode < 200) {
+          return;
+        }
+        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.strictEqual(client[kRunning], 0);
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (!shouldKeepAlive) {
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (socket[kReset] && client[kRunning] === 0) {
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (client[kPipelining] === 1) {
+          setImmediate(resume, client);
+        } else {
+          resume(client);
         }
       }
-      *#rindexes({ allowStale = this.allowStale } = {}) {
-        if (this.#size) {
-          for (let i = this.#head; true; ) {
-            if (!this.#isValidIndex(i)) {
-              break;
-            }
-            if (allowStale || !this.#isStale(i)) {
-              yield i;
-            }
-            if (i === this.#tail) {
-              break;
-            } else {
-              i = this.#next[i];
-            }
-          }
+    };
+    function onParserTimeout(parser) {
+      const { socket, timeoutType, client } = parser;
+      if (timeoutType === TIMEOUT_HEADERS) {
+        if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
+          assert(!parser.paused, "cannot be paused while waiting for headers");
+          util.destroy(socket, new HeadersTimeoutError());
         }
+      } else if (timeoutType === TIMEOUT_BODY) {
+        if (!parser.paused) {
+          util.destroy(socket, new BodyTimeoutError());
+        }
+      } else if (timeoutType === TIMEOUT_IDLE) {
+        assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
+        util.destroy(socket, new InformationalError("socket idle timeout"));
       }
-      #isValidIndex(index) {
-        return index !== void 0 && this.#keyMap.get(this.#keyList[index]) === index;
+    }
+    function onSocketReadable() {
+      const { [kParser]: parser } = this;
+      if (parser) {
+        parser.readMore();
       }
-      /**
-       * Return a generator yielding `[key, value]` pairs,
-       * in order from most recently used to least recently used.
-       */
-      *entries() {
-        for (const i of this.#indexes()) {
-          if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield [this.#keyList[i], this.#valList[i]];
-          }
+    }
+    function onSocketError(err) {
+      const { [kClient]: client, [kParser]: parser } = this;
+      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+      if (client[kHTTPConnVersion] !== "h2") {
+        if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
+          return;
         }
       }
-      /**
-       * Inverse order version of {@link LRUCache.entries}
-       *
-       * Return a generator yielding `[key, value]` pairs,
-       * in order from least recently used to most recently used.
-       */
-      *rentries() {
-        for (const i of this.#rindexes()) {
-          if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield [this.#keyList[i], this.#valList[i]];
-          }
+      this[kError] = err;
+      onError(this[kClient], err);
+    }
+    function onError(client, err) {
+      if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
+        assert(client[kPendingIdx] === client[kRunningIdx]);
+        const requests = client[kQueue].splice(client[kRunningIdx]);
+        for (let i = 0; i < requests.length; i++) {
+          const request2 = requests[i];
+          errorRequest2(client, request2, err);
         }
+        assert(client[kSize] === 0);
       }
-      /**
-       * Return a generator yielding the keys in the cache,
-       * in order from most recently used to least recently used.
-       */
-      *keys() {
-        for (const i of this.#indexes()) {
-          const k = this.#keyList[i];
-          if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield k;
-          }
+    }
+    function onSocketEnd() {
+      const { [kParser]: parser, [kClient]: client } = this;
+      if (client[kHTTPConnVersion] !== "h2") {
+        if (parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
+          return;
         }
       }
-      /**
-       * Inverse order version of {@link LRUCache.keys}
-       *
-       * Return a generator yielding the keys in the cache,
-       * in order from least recently used to most recently used.
-       */
-      *rkeys() {
-        for (const i of this.#rindexes()) {
-          const k = this.#keyList[i];
-          if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield k;
-          }
+      util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+    }
+    function onSocketClose() {
+      const { [kClient]: client, [kParser]: parser } = this;
+      if (client[kHTTPConnVersion] === "h1" && parser) {
+        if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
         }
+        this[kParser].destroy();
+        this[kParser] = null;
       }
-      /**
-       * Return a generator yielding the values in the cache,
-       * in order from most recently used to least recently used.
-       */
-      *values() {
-        for (const i of this.#indexes()) {
-          const v = this.#valList[i];
-          if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield this.#valList[i];
-          }
+      const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
+      client[kSocket] = null;
+      if (client.destroyed) {
+        assert(client[kPending] === 0);
+        const requests = client[kQueue].splice(client[kRunningIdx]);
+        for (let i = 0; i < requests.length; i++) {
+          const request2 = requests[i];
+          errorRequest2(client, request2, err);
         }
+      } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
+        const request2 = client[kQueue][client[kRunningIdx]];
+        client[kQueue][client[kRunningIdx]++] = null;
+        errorRequest2(client, request2, err);
       }
-      /**
-       * Inverse order version of {@link LRUCache.values}
-       *
-       * Return a generator yielding the values in the cache,
-       * in order from least recently used to most recently used.
-       */
-      *rvalues() {
-        for (const i of this.#rindexes()) {
-          const v = this.#valList[i];
-          if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield this.#valList[i];
-          }
-        }
+      client[kPendingIdx] = client[kRunningIdx];
+      assert(client[kRunning] === 0);
+      client.emit("disconnect", client[kUrl], [client], err);
+      resume(client);
+    }
+    async function connect(client) {
+      assert(!client[kConnecting]);
+      assert(!client[kSocket]);
+      let { host, hostname, protocol, port } = client[kUrl];
+      if (hostname[0] === "[") {
+        const idx = hostname.indexOf("]");
+        assert(idx !== -1);
+        const ip = hostname.substring(1, idx);
+        assert(net.isIP(ip));
+        hostname = ip;
       }
-      /**
-       * Iterating over the cache itself yields the same results as
-       * {@link LRUCache.entries}
-       */
-      [Symbol.iterator]() {
-        return this.entries();
+      client[kConnecting] = true;
+      if (channels.beforeConnect.hasSubscribers) {
+        channels.beforeConnect.publish({
+          connectParams: {
+            host,
+            hostname,
+            protocol,
+            port,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          },
+          connector: client[kConnector]
+        });
       }
-      /**
-       * A String value that is used in the creation of the default string
-       * description of an object. Called by the built-in method
-       * `Object.prototype.toString`.
-       */
-      [Symbol.toStringTag] = "LRUCache";
-      /**
-       * Find a value for which the supplied fn method returns a truthy value,
-       * similar to `Array.find()`. fn is called as `fn(value, key, cache)`.
-       */
-      find(fn, getOptions = {}) {
-        for (const i of this.#indexes()) {
-          const v = this.#valList[i];
-          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-          if (value === void 0)
-            continue;
-          if (fn(value, this.#keyList[i], this)) {
-            return this.get(this.#keyList[i], getOptions);
+      try {
+        const socket = await new Promise((resolve5, reject) => {
+          client[kConnector]({
+            host,
+            hostname,
+            protocol,
+            port,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          }, (err, socket2) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve5(socket2);
+            }
+          });
+        });
+        if (client.destroyed) {
+          util.destroy(socket.on("error", () => {
+          }), new ClientDestroyedError());
+          return;
+        }
+        client[kConnecting] = false;
+        assert(socket);
+        const isH2 = socket.alpnProtocol === "h2";
+        if (isH2) {
+          if (!h2ExperimentalWarned) {
+            h2ExperimentalWarned = true;
+            process.emitWarning("H2 support is experimental, expect them to change at any time.", {
+              code: "UNDICI-H2"
+            });
+          }
+          const session = http2.connect(client[kUrl], {
+            createConnection: () => socket,
+            peerMaxConcurrentStreams: client[kHTTP2SessionState].maxConcurrentStreams
+          });
+          client[kHTTPConnVersion] = "h2";
+          session[kClient] = client;
+          session[kSocket] = socket;
+          session.on("error", onHttp2SessionError);
+          session.on("frameError", onHttp2FrameError);
+          session.on("end", onHttp2SessionEnd);
+          session.on("goaway", onHTTP2GoAway);
+          session.on("close", onSocketClose);
+          session.unref();
+          client[kHTTP2Session] = session;
+          socket[kHTTP2Session] = session;
+        } else {
+          if (!llhttpInstance) {
+            llhttpInstance = await llhttpPromise;
+            llhttpPromise = null;
           }
+          socket[kNoRef] = false;
+          socket[kWriting] = false;
+          socket[kReset] = false;
+          socket[kBlocking] = false;
+          socket[kParser] = new Parser(client, socket, llhttpInstance);
         }
-      }
-      /**
-       * Call the supplied function on each item in the cache, in order from most
-       * recently used to least recently used.
-       *
-       * `fn` is called as `fn(value, key, cache)`.
-       *
-       * If `thisp` is provided, function will be called in the `this`-context of
-       * the provided object, or the cache if no `thisp` object is provided.
-       *
-       * Does not update age or recenty of use, or iterate over stale values.
-       */
-      forEach(fn, thisp = this) {
-        for (const i of this.#indexes()) {
-          const v = this.#valList[i];
-          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-          if (value === void 0)
-            continue;
-          fn.call(thisp, value, this.#keyList[i], this);
+        socket[kCounter] = 0;
+        socket[kMaxRequests] = client[kMaxRequests];
+        socket[kClient] = client;
+        socket[kError] = null;
+        socket.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose);
+        client[kSocket] = socket;
+        if (channels.connected.hasSubscribers) {
+          channels.connected.publish({
+            connectParams: {
+              host,
+              hostname,
+              protocol,
+              port,
+              servername: client[kServerName],
+              localAddress: client[kLocalAddress]
+            },
+            connector: client[kConnector],
+            socket
+          });
         }
-      }
-      /**
-       * The same as {@link LRUCache.forEach} but items are iterated over in
-       * reverse order.  (ie, less recently used items are iterated over first.)
-       */
-      rforEach(fn, thisp = this) {
-        for (const i of this.#rindexes()) {
-          const v = this.#valList[i];
-          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-          if (value === void 0)
-            continue;
-          fn.call(thisp, value, this.#keyList[i], this);
+        client.emit("connect", client[kUrl], [client]);
+      } catch (err) {
+        if (client.destroyed) {
+          return;
         }
-      }
-      /**
-       * Delete any stale entries. Returns true if anything was removed,
-       * false otherwise.
-       */
-      purgeStale() {
-        let deleted = false;
-        for (const i of this.#rindexes({ allowStale: true })) {
-          if (this.#isStale(i)) {
-            this.#delete(this.#keyList[i], "expire");
-            deleted = true;
-          }
+        client[kConnecting] = false;
+        if (channels.connectError.hasSubscribers) {
+          channels.connectError.publish({
+            connectParams: {
+              host,
+              hostname,
+              protocol,
+              port,
+              servername: client[kServerName],
+              localAddress: client[kLocalAddress]
+            },
+            connector: client[kConnector],
+            error: err
+          });
         }
-        return deleted;
-      }
-      /**
-       * Get the extended info about a given entry, to get its value, size, and
-       * TTL info simultaneously. Returns `undefined` if the key is not present.
-       *
-       * Unlike {@link LRUCache#dump}, which is designed to be portable and survive
-       * serialization, the `start` value is always the current timestamp, and the
-       * `ttl` is a calculated remaining time to live (negative if expired).
-       *
-       * Always returns stale values, if their info is found in the cache, so be
-       * sure to check for expirations (ie, a negative {@link LRUCache.Entry#ttl})
-       * if relevant.
-       */
-      info(key) {
-        const i = this.#keyMap.get(key);
-        if (i === void 0)
-          return void 0;
-        const v = this.#valList[i];
-        const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-        if (value === void 0)
-          return void 0;
-        const entry = { value };
-        if (this.#ttls && this.#starts) {
-          const ttl = this.#ttls[i];
-          const start = this.#starts[i];
-          if (ttl && start) {
-            const remain = ttl - (perf.now() - start);
-            entry.ttl = remain;
-            entry.start = Date.now();
+        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]++];
+            errorRequest2(client, request2, err);
           }
+        } else {
+          onError(client, err);
         }
-        if (this.#sizes) {
-          entry.size = this.#sizes[i];
-        }
-        return entry;
+        client.emit("connectionError", client[kUrl], [client], err);
       }
-      /**
-       * Return an array of [key, {@link LRUCache.Entry}] tuples which can be
-       * passed to {@link LRUCache#load}.
-       *
-       * The `start` fields are calculated relative to a portable `Date.now()`
-       * timestamp, even if `performance.now()` is available.
-       *
-       * Stale entries are always included in the `dump`, even if
-       * {@link LRUCache.OptionsBase.allowStale} is false.
-       *
-       * Note: this returns an actual array, not a generator, so it can be more
-       * easily passed around.
-       */
-      dump() {
-        const arr = [];
-        for (const i of this.#indexes({ allowStale: true })) {
-          const key = this.#keyList[i];
-          const v = this.#valList[i];
-          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-          if (value === void 0 || key === void 0)
-            continue;
-          const entry = { value };
-          if (this.#ttls && this.#starts) {
-            entry.ttl = this.#ttls[i];
-            const age = perf.now() - this.#starts[i];
-            entry.start = Math.floor(Date.now() - age);
-          }
-          if (this.#sizes) {
-            entry.size = this.#sizes[i];
-          }
-          arr.unshift([key, entry]);
-        }
-        return arr;
+      resume(client);
+    }
+    function emitDrain(client) {
+      client[kNeedDrain] = 0;
+      client.emit("drain", client[kUrl], [client]);
+    }
+    function resume(client, sync) {
+      if (client[kResuming] === 2) {
+        return;
       }
-      /**
-       * Reset the cache and load in the items in entries in the order listed.
-       *
-       * The shape of the resulting cache may be different if the same options are
-       * not used in both caches.
-       *
-       * The `start` fields are assumed to be calculated relative to a portable
-       * `Date.now()` timestamp, even if `performance.now()` is available.
-       */
-      load(arr) {
-        this.clear();
-        for (const [key, entry] of arr) {
-          if (entry.start) {
-            const age = Date.now() - entry.start;
-            entry.start = perf.now() - age;
-          }
-          this.set(key, entry.value, entry);
-        }
+      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;
       }
-      /**
-       * Add a value to the cache.
-       *
-       * Note: if `undefined` is specified as a value, this is an alias for
-       * {@link LRUCache#delete}
-       *
-       * Fields on the {@link LRUCache.SetOptions} options param will override
-       * their corresponding values in the constructor options for the scope
-       * of this single `set()` operation.
-       *
-       * If `start` is provided, then that will set the effective start
-       * time for the TTL calculation. Note that this must be a previous
-       * value of `performance.now()` if supported, or a previous value of
-       * `Date.now()` if not.
-       *
-       * Options object may also include `size`, which will prevent
-       * calling the `sizeCalculation` function and just use the specified
-       * number if it is a positive integer, and `noDisposeOnSet` which
-       * will prevent calling a `dispose` function in the case of
-       * overwrites.
-       *
-       * If the `size` (or return value of `sizeCalculation`) for a given
-       * entry is greater than `maxEntrySize`, then the item will not be
-       * added to the cache.
-       *
-       * Will update the recency of the entry.
-       *
-       * If the value is `undefined`, then this is an alias for
-       * `cache.delete(key)`. `undefined` is never stored in the cache.
-       */
-      set(k, v, setOptions = {}) {
-        if (v === void 0) {
-          this.delete(k);
-          return this;
+    }
+    function _resume(client, sync) {
+      while (true) {
+        if (client.destroyed) {
+          assert(client[kPending] === 0);
+          return;
         }
-        const { ttl = this.ttl, start, noDisposeOnSet = this.noDisposeOnSet, sizeCalculation = this.sizeCalculation, status } = setOptions;
-        let { noUpdateTTL = this.noUpdateTTL } = setOptions;
-        const size = this.#requireSize(k, v, setOptions.size || 0, sizeCalculation);
-        if (this.maxEntrySize && size > this.maxEntrySize) {
-          if (status) {
-            status.set = "miss";
-            status.maxEntrySizeExceeded = true;
-          }
-          this.#delete(k, "set");
-          return this;
+        if (client[kClosedResolve] && !client[kSize]) {
+          client[kClosedResolve]();
+          client[kClosedResolve] = null;
+          return;
         }
-        let index = this.#size === 0 ? void 0 : this.#keyMap.get(k);
-        if (index === void 0) {
-          index = this.#size === 0 ? this.#tail : this.#free.length !== 0 ? this.#free.pop() : this.#size === this.#max ? this.#evict(false) : this.#size;
-          this.#keyList[index] = k;
-          this.#valList[index] = v;
-          this.#keyMap.set(k, index);
-          this.#next[this.#tail] = index;
-          this.#prev[index] = this.#tail;
-          this.#tail = index;
-          this.#size++;
-          this.#addItemSize(index, size, status);
-          if (status)
-            status.set = "add";
-          noUpdateTTL = false;
-          if (this.#hasOnInsert) {
-            this.#onInsert?.(v, k, "add");
+        const socket = client[kSocket];
+        if (socket && !socket.destroyed && socket.alpnProtocol !== "h2") {
+          if (client[kSize] === 0) {
+            if (!socket[kNoRef] && socket.unref) {
+              socket.unref();
+              socket[kNoRef] = true;
+            }
+          } else if (socket[kNoRef] && socket.ref) {
+            socket.ref();
+            socket[kNoRef] = false;
           }
-        } else {
-          this.#moveToTail(index);
-          const oldVal = this.#valList[index];
-          if (v !== oldVal) {
-            if (this.#hasFetchMethod && this.#isBackgroundFetch(oldVal)) {
-              oldVal.__abortController.abort(new Error("replaced"));
-              const { __staleWhileFetching: s } = oldVal;
-              if (s !== void 0 && !noDisposeOnSet) {
-                if (this.#hasDispose) {
-                  this.#dispose?.(s, k, "set");
-                }
-                if (this.#hasDisposeAfter) {
-                  this.#disposed?.push([s, k, "set"]);
-                }
-              }
-            } else if (!noDisposeOnSet) {
-              if (this.#hasDispose) {
-                this.#dispose?.(oldVal, k, "set");
-              }
-              if (this.#hasDisposeAfter) {
-                this.#disposed?.push([oldVal, k, "set"]);
-              }
+          if (client[kSize] === 0) {
+            if (socket[kParser].timeoutType !== TIMEOUT_IDLE) {
+              socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE);
             }
-            this.#removeItemSize(index);
-            this.#addItemSize(index, size, status);
-            this.#valList[index] = v;
-            if (status) {
-              status.set = "replace";
-              const oldValue = oldVal && this.#isBackgroundFetch(oldVal) ? oldVal.__staleWhileFetching : oldVal;
-              if (oldValue !== void 0)
-                status.oldValue = oldValue;
+          } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
+            if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
+              const request3 = client[kQueue][client[kRunningIdx]];
+              const headersTimeout = request3.headersTimeout != null ? request3.headersTimeout : client[kHeadersTimeout];
+              socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
             }
-          } else if (status) {
-            status.set = "update";
-          }
-          if (this.#hasOnInsert) {
-            this.onInsert?.(v, k, v === oldVal ? "update" : "replace");
           }
         }
-        if (ttl !== 0 && !this.#ttls) {
-          this.#initializeTTLTracking();
-        }
-        if (this.#ttls) {
-          if (!noUpdateTTL) {
-            this.#setItemTTL(index, ttl, start);
+        if (client[kBusy]) {
+          client[kNeedDrain] = 2;
+        } else if (client[kNeedDrain] === 2) {
+          if (sync) {
+            client[kNeedDrain] = 1;
+            process.nextTick(emitDrain, client);
+          } else {
+            emitDrain(client);
           }
-          if (status)
-            this.#statusTTL(status, index);
+          continue;
         }
-        if (!noDisposeOnSet && this.#hasDisposeAfter && this.#disposed) {
-          const dt = this.#disposed;
-          let task;
-          while (task = dt?.shift()) {
-            this.#disposeAfter?.(...task);
-          }
+        if (client[kPending] === 0) {
+          return;
         }
-        return this;
-      }
-      /**
-       * Evict the least recently used item, returning its value or
-       * `undefined` if cache is empty.
-       */
-      pop() {
-        try {
-          while (this.#size) {
-            const val = this.#valList[this.#head];
-            this.#evict(true);
-            if (this.#isBackgroundFetch(val)) {
-              if (val.__staleWhileFetching) {
-                return val.__staleWhileFetching;
-              }
-            } else if (val !== void 0) {
-              return val;
-            }
-          }
-        } finally {
-          if (this.#hasDisposeAfter && this.#disposed) {
-            const dt = this.#disposed;
-            let task;
-            while (task = dt?.shift()) {
-              this.#disposeAfter?.(...task);
-            }
-          }
+        if (client[kRunning] >= (client[kPipelining] || 1)) {
+          return;
         }
-      }
-      #evict(free) {
-        const head = this.#head;
-        const k = this.#keyList[head];
-        const v = this.#valList[head];
-        if (this.#hasFetchMethod && this.#isBackgroundFetch(v)) {
-          v.__abortController.abort(new Error("evicted"));
-        } else if (this.#hasDispose || this.#hasDisposeAfter) {
-          if (this.#hasDispose) {
-            this.#dispose?.(v, k, "evict");
+        const request2 = client[kQueue][client[kPendingIdx]];
+        if (client[kUrl].protocol === "https:" && client[kServerName] !== request2.servername) {
+          if (client[kRunning] > 0) {
+            return;
           }
-          if (this.#hasDisposeAfter) {
-            this.#disposed?.push([v, k, "evict"]);
+          client[kServerName] = request2.servername;
+          if (socket && socket.servername !== request2.servername) {
+            util.destroy(socket, new InformationalError("servername changed"));
+            return;
           }
         }
-        this.#removeItemSize(head);
-        if (free) {
-          this.#keyList[head] = void 0;
-          this.#valList[head] = void 0;
-          this.#free.push(head);
+        if (client[kConnecting]) {
+          return;
         }
-        if (this.#size === 1) {
-          this.#head = this.#tail = 0;
-          this.#free.length = 0;
-        } else {
-          this.#head = this.#next[head];
+        if (!socket && !client[kHTTP2Session]) {
+          connect(client);
+          return;
         }
-        this.#keyMap.delete(k);
-        this.#size--;
-        return head;
-      }
-      /**
-       * Check if a key is in the cache, without updating the recency of use.
-       * Will return false if the item is stale, even though it is technically
-       * in the cache.
-       *
-       * Check if a key is in the cache, without updating the recency of
-       * use. Age is updated if {@link LRUCache.OptionsBase.updateAgeOnHas} is set
-       * to `true` in either the options or the constructor.
-       *
-       * Will return `false` if the item is stale, even though it is technically in
-       * the cache. The difference can be determined (if it matters) by using a
-       * `status` argument, and inspecting the `has` field.
-       *
-       * Will not update item age unless
-       * {@link LRUCache.OptionsBase.updateAgeOnHas} is set.
-       */
-      has(k, hasOptions = {}) {
-        const { updateAgeOnHas = this.updateAgeOnHas, status } = hasOptions;
-        const index = this.#keyMap.get(k);
-        if (index !== void 0) {
-          const v = this.#valList[index];
-          if (this.#isBackgroundFetch(v) && v.__staleWhileFetching === void 0) {
-            return false;
-          }
-          if (!this.#isStale(index)) {
-            if (updateAgeOnHas) {
-              this.#updateItemAge(index);
-            }
-            if (status) {
-              status.has = "hit";
-              this.#statusTTL(status, index);
-            }
-            return true;
-          } else if (status) {
-            status.has = "stale";
-            this.#statusTTL(status, index);
-          }
-        } else if (status) {
-          status.has = "miss";
+        if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) {
+          return;
         }
-        return false;
-      }
-      /**
-       * Like {@link LRUCache#get} but doesn't update recency or delete stale
-       * items.
-       *
-       * Returns `undefined` if the item is stale, unless
-       * {@link LRUCache.OptionsBase.allowStale} is set.
-       */
-      peek(k, peekOptions = {}) {
-        const { allowStale = this.allowStale } = peekOptions;
-        const index = this.#keyMap.get(k);
-        if (index === void 0 || !allowStale && this.#isStale(index)) {
+        if (client[kRunning] > 0 && !request2.idempotent) {
           return;
         }
-        const v = this.#valList[index];
-        return this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-      }
-      #backgroundFetch(k, index, options, context2) {
-        const v = index === void 0 ? void 0 : this.#valList[index];
-        if (this.#isBackgroundFetch(v)) {
-          return v;
+        if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
+          return;
         }
-        const ac = new AC();
-        const { signal } = options;
-        signal?.addEventListener("abort", () => ac.abort(signal.reason), {
-          signal: ac.signal
-        });
-        const fetchOpts = {
-          signal: ac.signal,
-          options,
-          context: context2
-        };
-        const cb = (v2, updateCache = false) => {
-          const { aborted } = ac.signal;
-          const ignoreAbort = options.ignoreFetchAbort && v2 !== void 0;
-          if (options.status) {
-            if (aborted && !updateCache) {
-              options.status.fetchAborted = true;
-              options.status.fetchError = ac.signal.reason;
-              if (ignoreAbort)
-                options.status.fetchAbortIgnored = true;
-            } else {
-              options.status.fetchResolved = true;
-            }
-          }
-          if (aborted && !ignoreAbort && !updateCache) {
-            return fetchFail(ac.signal.reason);
-          }
-          const bf2 = p;
-          if (this.#valList[index] === p) {
-            if (v2 === void 0) {
-              if (bf2.__staleWhileFetching) {
-                this.#valList[index] = bf2.__staleWhileFetching;
-              } else {
-                this.#delete(k, "fetch");
-              }
-            } else {
-              if (options.status)
-                options.status.fetchUpdated = true;
-              this.set(k, v2, fetchOpts.options);
-            }
-          }
-          return v2;
-        };
-        const eb = (er) => {
-          if (options.status) {
-            options.status.fetchRejected = true;
-            options.status.fetchError = er;
-          }
-          return fetchFail(er);
-        };
-        const fetchFail = (er) => {
-          const { aborted } = ac.signal;
-          const allowStaleAborted = aborted && options.allowStaleOnFetchAbort;
-          const allowStale = allowStaleAborted || options.allowStaleOnFetchRejection;
-          const noDelete = allowStale || options.noDeleteOnFetchRejection;
-          const bf2 = p;
-          if (this.#valList[index] === p) {
-            const del = !noDelete || bf2.__staleWhileFetching === void 0;
-            if (del) {
-              this.#delete(k, "fetch");
-            } else if (!allowStaleAborted) {
-              this.#valList[index] = bf2.__staleWhileFetching;
-            }
-          }
-          if (allowStale) {
-            if (options.status && bf2.__staleWhileFetching !== void 0) {
-              options.status.returnedStale = true;
-            }
-            return bf2.__staleWhileFetching;
-          } else if (bf2.__returned === bf2) {
-            throw er;
-          }
-        };
-        const pcall = (res, rej) => {
-          const fmp = this.#fetchMethod?.(k, v, fetchOpts);
-          if (fmp && fmp instanceof Promise) {
-            fmp.then((v2) => res(v2 === void 0 ? void 0 : v2), rej);
-          }
-          ac.signal.addEventListener("abort", () => {
-            if (!options.ignoreFetchAbort || options.allowStaleOnFetchAbort) {
-              res(void 0);
-              if (options.allowStaleOnFetchAbort) {
-                res = (v2) => cb(v2, true);
-              }
-            }
-          });
-        };
-        if (options.status)
-          options.status.fetchDispatched = true;
-        const p = new Promise(pcall).then(cb, eb);
-        const bf = Object.assign(p, {
-          __abortController: ac,
-          __staleWhileFetching: v,
-          __returned: void 0
-        });
-        if (index === void 0) {
-          this.set(k, bf, { ...fetchOpts.options, status: void 0 });
-          index = this.#keyMap.get(k);
+        if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body))) {
+          return;
+        }
+        if (!request2.aborted && write(client, request2)) {
+          client[kPendingIdx]++;
         } else {
-          this.#valList[index] = bf;
+          client[kQueue].splice(client[kPendingIdx], 1);
         }
-        return bf;
       }
-      #isBackgroundFetch(p) {
-        if (!this.#hasFetchMethod)
-          return false;
-        const b = p;
-        return !!b && b instanceof Promise && b.hasOwnProperty("__staleWhileFetching") && b.__abortController instanceof AC;
+    }
+    function shouldSendContentLength(method) {
+      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
+    }
+    function write(client, request2) {
+      if (client[kHTTPConnVersion] === "h2") {
+        writeH2(client, client[kHTTP2Session], request2);
+        return;
       }
-      async fetch(k, fetchOptions = {}) {
-        const {
-          // get options
-          allowStale = this.allowStale,
-          updateAgeOnGet = this.updateAgeOnGet,
-          noDeleteOnStaleGet = this.noDeleteOnStaleGet,
-          // set options
-          ttl = this.ttl,
-          noDisposeOnSet = this.noDisposeOnSet,
-          size = 0,
-          sizeCalculation = this.sizeCalculation,
-          noUpdateTTL = this.noUpdateTTL,
-          // fetch exclusive options
-          noDeleteOnFetchRejection = this.noDeleteOnFetchRejection,
-          allowStaleOnFetchRejection = this.allowStaleOnFetchRejection,
-          ignoreFetchAbort = this.ignoreFetchAbort,
-          allowStaleOnFetchAbort = this.allowStaleOnFetchAbort,
-          context: context2,
-          forceRefresh = false,
-          status,
-          signal
-        } = fetchOptions;
-        if (!this.#hasFetchMethod) {
-          if (status)
-            status.fetch = "get";
-          return this.get(k, {
-            allowStale,
-            updateAgeOnGet,
-            noDeleteOnStaleGet,
-            status
-          });
+      const { body, method, path: path7, host, upgrade, headers, blocking, reset } = request2;
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
+      if (body && typeof body.read === "function") {
+        body.read(0);
+      }
+      const bodyLength = util.bodyLength(body);
+      let contentLength = bodyLength;
+      if (contentLength === null) {
+        contentLength = request2.contentLength;
+      }
+      if (contentLength === 0 && !expectsPayload) {
+        contentLength = null;
+      }
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          errorRequest2(client, request2, new RequestContentLengthMismatchError());
+          return false;
         }
-        const options = {
-          allowStale,
-          updateAgeOnGet,
-          noDeleteOnStaleGet,
-          ttl,
-          noDisposeOnSet,
-          size,
-          sizeCalculation,
-          noUpdateTTL,
-          noDeleteOnFetchRejection,
-          allowStaleOnFetchRejection,
-          allowStaleOnFetchAbort,
-          ignoreFetchAbort,
-          status,
-          signal
-        };
-        let index = this.#keyMap.get(k);
-        if (index === void 0) {
-          if (status)
-            status.fetch = "miss";
-          const p = this.#backgroundFetch(k, index, options, context2);
-          return p.__returned = p;
-        } else {
-          const v = this.#valList[index];
-          if (this.#isBackgroundFetch(v)) {
-            const stale = allowStale && v.__staleWhileFetching !== void 0;
-            if (status) {
-              status.fetch = "inflight";
-              if (stale)
-                status.returnedStale = true;
-            }
-            return stale ? v.__staleWhileFetching : v.__returned = v;
-          }
-          const isStale = this.#isStale(index);
-          if (!forceRefresh && !isStale) {
-            if (status)
-              status.fetch = "hit";
-            this.#moveToTail(index);
-            if (updateAgeOnGet) {
-              this.#updateItemAge(index);
-            }
-            if (status)
-              this.#statusTTL(status, index);
-            return v;
-          }
-          const p = this.#backgroundFetch(k, index, options, context2);
-          const hasStale = p.__staleWhileFetching !== void 0;
-          const staleVal = hasStale && allowStale;
-          if (status) {
-            status.fetch = isStale ? "stale" : "refresh";
-            if (staleVal && isStale)
-              status.returnedStale = true;
+        process.emitWarning(new RequestContentLengthMismatchError());
+      }
+      const socket = client[kSocket];
+      try {
+        request2.onConnect((err) => {
+          if (request2.aborted || request2.completed) {
+            return;
           }
-          return staleVal ? p.__staleWhileFetching : p.__returned = p;
+          errorRequest2(client, request2, err || new RequestAbortedError());
+          util.destroy(socket, new InformationalError("aborted"));
+        });
+      } catch (err) {
+        errorRequest2(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} ${path7} 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 (headers) {
+        header += headers;
+      }
+      if (channels.sendHeaders.hasSubscribers) {
+        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      }
+      if (!body || bodyLength === 0) {
+        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");
+        }
+        request2.onRequestSent();
+      } else if (util.isBuffer(body)) {
+        assert(contentLength === body.byteLength, "buffer body must have content length");
+        socket.cork();
+        socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+        socket.write(body);
+        socket.uncork();
+        request2.onBodySent(body);
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+      } else if (util.isBlobLike(body)) {
+        if (typeof body.stream === "function") {
+          writeIterable({ body: body.stream(), client, request: request2, socket, contentLength, header, expectsPayload });
+        } else {
+          writeBlob({ body, client, request: request2, socket, contentLength, header, expectsPayload });
         }
+      } else if (util.isStream(body)) {
+        writeStream({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+      } else if (util.isIterable(body)) {
+        writeIterable({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+      } else {
+        assert(false);
       }
-      async forceFetch(k, fetchOptions = {}) {
-        const v = await this.fetch(k, fetchOptions);
-        if (v === void 0)
-          throw new Error("fetch() returned undefined");
-        return v;
+      return true;
+    }
+    function writeH2(client, session, request2) {
+      const { body, method, path: path7, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
+      let headers;
+      if (typeof reqHeaders === "string") headers = Request[kHTTP2CopyHeaders](reqHeaders.trim());
+      else headers = reqHeaders;
+      if (upgrade) {
+        errorRequest2(client, request2, new Error("Upgrade not supported for H2"));
+        return false;
       }
-      memo(k, memoOptions = {}) {
-        const memoMethod = this.#memoMethod;
-        if (!memoMethod) {
-          throw new Error("no memoMethod provided to constructor");
+      try {
+        request2.onConnect((err) => {
+          if (request2.aborted || request2.completed) {
+            return;
+          }
+          errorRequest2(client, request2, err || new RequestAbortedError());
+        });
+      } catch (err) {
+        errorRequest2(client, request2, err);
+      }
+      if (request2.aborted) {
+        return false;
+      }
+      let stream;
+      const h2State = client[kHTTP2SessionState];
+      headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost];
+      headers[HTTP2_HEADER_METHOD] = method;
+      if (method === "CONNECT") {
+        session.ref();
+        stream = session.request(headers, { endStream: false, signal });
+        if (stream.id && !stream.pending) {
+          request2.onUpgrade(null, null, stream);
+          ++h2State.openStreams;
+        } else {
+          stream.once("ready", () => {
+            request2.onUpgrade(null, null, stream);
+            ++h2State.openStreams;
+          });
         }
-        const { context: context2, forceRefresh, ...options } = memoOptions;
-        const v = this.get(k, options);
-        if (!forceRefresh && v !== void 0)
-          return v;
-        const vv = memoMethod(k, v, {
-          options,
-          context: context2
+        stream.once("close", () => {
+          h2State.openStreams -= 1;
+          if (h2State.openStreams === 0) session.unref();
         });
-        this.set(k, vv, options);
-        return vv;
+        return true;
       }
-      /**
-       * Return a value from the cache. Will update the recency of the cache
-       * entry found.
-       *
-       * If the key is not found, get() will return `undefined`.
-       */
-      get(k, getOptions = {}) {
-        const { allowStale = this.allowStale, updateAgeOnGet = this.updateAgeOnGet, noDeleteOnStaleGet = this.noDeleteOnStaleGet, status } = getOptions;
-        const index = this.#keyMap.get(k);
-        if (index !== void 0) {
-          const value = this.#valList[index];
-          const fetching = this.#isBackgroundFetch(value);
-          if (status)
-            this.#statusTTL(status, index);
-          if (this.#isStale(index)) {
-            if (status)
-              status.get = "stale";
-            if (!fetching) {
-              if (!noDeleteOnStaleGet) {
-                this.#delete(k, "expire");
-              }
-              if (status && allowStale)
-                status.returnedStale = true;
-              return allowStale ? value : void 0;
-            } else {
-              if (status && allowStale && value.__staleWhileFetching !== void 0) {
-                status.returnedStale = true;
-              }
-              return allowStale ? value.__staleWhileFetching : void 0;
-            }
-          } else {
-            if (status)
-              status.get = "hit";
-            if (fetching) {
-              return value.__staleWhileFetching;
-            }
-            this.#moveToTail(index);
-            if (updateAgeOnGet) {
-              this.#updateItemAge(index);
-            }
-            return value;
-          }
-        } else if (status) {
-          status.get = "miss";
+      headers[HTTP2_HEADER_PATH] = path7;
+      headers[HTTP2_HEADER_SCHEME] = "https";
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
+      if (body && typeof body.read === "function") {
+        body.read(0);
+      }
+      let contentLength = util.bodyLength(body);
+      if (contentLength == null) {
+        contentLength = request2.contentLength;
+      }
+      if (contentLength === 0 || !expectsPayload) {
+        contentLength = null;
+      }
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          errorRequest2(client, request2, new RequestContentLengthMismatchError());
+          return false;
         }
+        process.emitWarning(new RequestContentLengthMismatchError());
       }
-      #connect(p, n) {
-        this.#prev[n] = p;
-        this.#next[p] = n;
+      if (contentLength != null) {
+        assert(body, "no body must not have content length");
+        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
       }
-      #moveToTail(index) {
-        if (index !== this.#tail) {
-          if (index === this.#head) {
-            this.#head = this.#next[index];
+      session.ref();
+      const shouldEndStream = method === "GET" || method === "HEAD";
+      if (expectContinue) {
+        headers[HTTP2_HEADER_EXPECT] = "100-continue";
+        stream = session.request(headers, { endStream: shouldEndStream, signal });
+        stream.once("continue", writeBodyH2);
+      } else {
+        stream = session.request(headers, {
+          endStream: shouldEndStream,
+          signal
+        });
+        writeBodyH2();
+      }
+      ++h2State.openStreams;
+      stream.once("response", (headers2) => {
+        const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
+        if (request2.onHeaders(Number(statusCode), realHeaders, stream.resume.bind(stream), "") === false) {
+          stream.pause();
+        }
+      });
+      stream.once("end", () => {
+        request2.onComplete([]);
+      });
+      stream.on("data", (chunk) => {
+        if (request2.onData(chunk) === false) {
+          stream.pause();
+        }
+      });
+      stream.once("close", () => {
+        h2State.openStreams -= 1;
+        if (h2State.openStreams === 0) {
+          session.unref();
+        }
+      });
+      stream.once("error", function(err) {
+        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
+          h2State.streams -= 1;
+          util.destroy(stream, err);
+        }
+      });
+      stream.once("frameError", (type2, code) => {
+        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
+        errorRequest2(client, request2, err);
+        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
+          h2State.streams -= 1;
+          util.destroy(stream, err);
+        }
+      });
+      return true;
+      function writeBodyH2() {
+        if (!body) {
+          request2.onRequestSent();
+        } else if (util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          stream.cork();
+          stream.write(body);
+          stream.uncork();
+          stream.end();
+          request2.onBodySent(body);
+          request2.onRequestSent();
+        } else if (util.isBlobLike(body)) {
+          if (typeof body.stream === "function") {
+            writeIterable({
+              client,
+              request: request2,
+              contentLength,
+              h2stream: stream,
+              expectsPayload,
+              body: body.stream(),
+              socket: client[kSocket],
+              header: ""
+            });
           } else {
-            this.#connect(this.#prev[index], this.#next[index]);
+            writeBlob({
+              body,
+              client,
+              request: request2,
+              contentLength,
+              expectsPayload,
+              h2stream: stream,
+              header: "",
+              socket: client[kSocket]
+            });
           }
-          this.#connect(this.#tail, index);
-          this.#tail = index;
+        } else if (util.isStream(body)) {
+          writeStream({
+            body,
+            client,
+            request: request2,
+            contentLength,
+            expectsPayload,
+            socket: client[kSocket],
+            h2stream: stream,
+            header: ""
+          });
+        } else if (util.isIterable(body)) {
+          writeIterable({
+            body,
+            client,
+            request: request2,
+            contentLength,
+            expectsPayload,
+            header: "",
+            h2stream: stream,
+            socket: client[kSocket]
+          });
+        } else {
+          assert(false);
         }
       }
-      /**
-       * Deletes a key out of the cache.
-       *
-       * Returns true if the key was deleted, false otherwise.
-       */
-      delete(k) {
-        return this.#delete(k, "delete");
-      }
-      #delete(k, reason) {
-        let deleted = false;
-        if (this.#size !== 0) {
-          const index = this.#keyMap.get(k);
-          if (index !== void 0) {
-            deleted = true;
-            if (this.#size === 1) {
-              this.#clear(reason);
+    }
+    function writeStream({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      if (client[kHTTPConnVersion] === "h2") {
+        let onPipeData = function(chunk) {
+          request2.onBodySent(chunk);
+        };
+        const pipe = pipeline(
+          body,
+          h2stream,
+          (err) => {
+            if (err) {
+              util.destroy(body, err);
+              util.destroy(h2stream, err);
             } else {
-              this.#removeItemSize(index);
-              const v = this.#valList[index];
-              if (this.#isBackgroundFetch(v)) {
-                v.__abortController.abort(new Error("deleted"));
-              } else if (this.#hasDispose || this.#hasDisposeAfter) {
-                if (this.#hasDispose) {
-                  this.#dispose?.(v, k, reason);
-                }
-                if (this.#hasDisposeAfter) {
-                  this.#disposed?.push([v, k, reason]);
-                }
-              }
-              this.#keyMap.delete(k);
-              this.#keyList[index] = void 0;
-              this.#valList[index] = void 0;
-              if (index === this.#tail) {
-                this.#tail = this.#prev[index];
-              } else if (index === this.#head) {
-                this.#head = this.#next[index];
-              } else {
-                const pi = this.#prev[index];
-                this.#next[pi] = this.#next[index];
-                const ni = this.#next[index];
-                this.#prev[ni] = this.#prev[index];
-              }
-              this.#size--;
-              this.#free.push(index);
+              request2.onRequestSent();
             }
           }
+        );
+        pipe.on("data", onPipeData);
+        pipe.once("end", () => {
+          pipe.removeListener("data", onPipeData);
+          util.destroy(pipe);
+        });
+        return;
+      }
+      let finished = false;
+      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
+      const onData = function(chunk) {
+        if (finished) {
+          return;
         }
-        if (this.#hasDisposeAfter && this.#disposed?.length) {
-          const dt = this.#disposed;
-          let task;
-          while (task = dt?.shift()) {
-            this.#disposeAfter?.(...task);
+        try {
+          if (!writer.write(chunk) && this.pause) {
+            this.pause();
           }
+        } catch (err) {
+          util.destroy(this, err);
         }
-        return deleted;
-      }
-      /**
-       * Clear the cache entirely, throwing away all values.
-       */
-      clear() {
-        return this.#clear("delete");
-      }
-      #clear(reason) {
-        for (const index of this.#rindexes({ allowStale: true })) {
-          const v = this.#valList[index];
-          if (this.#isBackgroundFetch(v)) {
-            v.__abortController.abort(new Error("deleted"));
-          } else {
-            const k = this.#keyList[index];
-            if (this.#hasDispose) {
-              this.#dispose?.(v, k, reason);
-            }
-            if (this.#hasDisposeAfter) {
-              this.#disposed?.push([v, k, reason]);
-            }
-          }
+      };
+      const onDrain = function() {
+        if (finished) {
+          return;
         }
-        this.#keyMap.clear();
-        this.#valList.fill(void 0);
-        this.#keyList.fill(void 0);
-        if (this.#ttls && this.#starts) {
-          this.#ttls.fill(0);
-          this.#starts.fill(0);
+        if (body.resume) {
+          body.resume();
         }
-        if (this.#sizes) {
-          this.#sizes.fill(0);
+      };
+      const onAbort = function() {
+        if (finished) {
+          return;
         }
-        this.#head = 0;
-        this.#tail = 0;
-        this.#free.length = 0;
-        this.#calculatedSize = 0;
-        this.#size = 0;
-        if (this.#hasDisposeAfter && this.#disposed) {
-          const dt = this.#disposed;
-          let task;
-          while (task = dt?.shift()) {
-            this.#disposeAfter?.(...task);
+        const err = new RequestAbortedError();
+        queueMicrotask(() => onFinished(err));
+      };
+      const onFinished = function(err) {
+        if (finished) {
+          return;
+        }
+        finished = true;
+        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
+        socket.off("drain", onDrain).off("error", onFinished);
+        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("error", onFinished).removeListener("close", onAbort);
+        if (!err) {
+          try {
+            writer.end();
+          } catch (er) {
+            err = er;
           }
         }
+        writer.destroy(err);
+        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
+          util.destroy(body, err);
+        } else {
+          util.destroy(body);
+        }
+      };
+      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onAbort);
+      if (body.resume) {
+        body.resume();
       }
-    };
-    exports2.LRUCache = LRUCache;
-  }
-});
-
-// node_modules/minipass/dist/commonjs/index.js
-var require_commonjs22 = __commonJS({
-  "node_modules/minipass/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Minipass = exports2.isWritable = exports2.isReadable = exports2.isStream = void 0;
-    var proc = typeof process === "object" && process ? process : {
-      stdout: null,
-      stderr: null
-    };
-    var node_events_1 = require("node:events");
-    var node_stream_1 = __importDefault2(require("node:stream"));
-    var node_string_decoder_1 = require("node:string_decoder");
-    var isStream = (s) => !!s && typeof s === "object" && (s instanceof Minipass || s instanceof node_stream_1.default || (0, exports2.isReadable)(s) || (0, exports2.isWritable)(s));
-    exports2.isStream = isStream;
-    var isReadable = (s) => !!s && typeof s === "object" && s instanceof node_events_1.EventEmitter && typeof s.pipe === "function" && // node core Writable streams have a pipe() method, but it throws
-    s.pipe !== node_stream_1.default.Writable.prototype.pipe;
-    exports2.isReadable = isReadable;
-    var isWritable = (s) => !!s && typeof s === "object" && s instanceof node_events_1.EventEmitter && typeof s.write === "function" && typeof s.end === "function";
-    exports2.isWritable = isWritable;
-    var EOF = /* @__PURE__ */ Symbol("EOF");
-    var MAYBE_EMIT_END = /* @__PURE__ */ Symbol("maybeEmitEnd");
-    var EMITTED_END = /* @__PURE__ */ Symbol("emittedEnd");
-    var EMITTING_END = /* @__PURE__ */ Symbol("emittingEnd");
-    var EMITTED_ERROR = /* @__PURE__ */ Symbol("emittedError");
-    var CLOSED = /* @__PURE__ */ Symbol("closed");
-    var READ = /* @__PURE__ */ Symbol("read");
-    var FLUSH = /* @__PURE__ */ Symbol("flush");
-    var FLUSHCHUNK = /* @__PURE__ */ Symbol("flushChunk");
-    var ENCODING = /* @__PURE__ */ Symbol("encoding");
-    var DECODER = /* @__PURE__ */ Symbol("decoder");
-    var FLOWING = /* @__PURE__ */ Symbol("flowing");
-    var PAUSED = /* @__PURE__ */ Symbol("paused");
-    var RESUME = /* @__PURE__ */ Symbol("resume");
-    var BUFFER = /* @__PURE__ */ Symbol("buffer");
-    var PIPES = /* @__PURE__ */ Symbol("pipes");
-    var BUFFERLENGTH = /* @__PURE__ */ Symbol("bufferLength");
-    var BUFFERPUSH = /* @__PURE__ */ Symbol("bufferPush");
-    var BUFFERSHIFT = /* @__PURE__ */ Symbol("bufferShift");
-    var OBJECTMODE = /* @__PURE__ */ Symbol("objectMode");
-    var DESTROYED = /* @__PURE__ */ Symbol("destroyed");
-    var ERROR = /* @__PURE__ */ Symbol("error");
-    var EMITDATA = /* @__PURE__ */ Symbol("emitData");
-    var EMITEND = /* @__PURE__ */ Symbol("emitEnd");
-    var EMITEND2 = /* @__PURE__ */ Symbol("emitEnd2");
-    var ASYNC = /* @__PURE__ */ Symbol("async");
-    var ABORT = /* @__PURE__ */ Symbol("abort");
-    var ABORTED = /* @__PURE__ */ Symbol("aborted");
-    var SIGNAL = /* @__PURE__ */ Symbol("signal");
-    var DATALISTENERS = /* @__PURE__ */ Symbol("dataListeners");
-    var DISCARDED = /* @__PURE__ */ Symbol("discarded");
-    var defer = (fn) => Promise.resolve().then(fn);
-    var nodefer = (fn) => fn();
-    var isEndish = (ev) => ev === "end" || ev === "finish" || ev === "prefinish";
-    var isArrayBufferLike = (b) => b instanceof ArrayBuffer || !!b && typeof b === "object" && b.constructor && b.constructor.name === "ArrayBuffer" && b.byteLength >= 0;
-    var isArrayBufferView = (b) => !Buffer.isBuffer(b) && ArrayBuffer.isView(b);
-    var Pipe = class {
-      src;
-      dest;
-      opts;
-      ondrain;
-      constructor(src, dest, opts) {
-        this.src = src;
-        this.dest = dest;
-        this.opts = opts;
-        this.ondrain = () => src[RESUME]();
-        this.dest.on("drain", this.ondrain);
-      }
-      unpipe() {
-        this.dest.removeListener("drain", this.ondrain);
-      }
-      // only here for the prototype
-      /* c8 ignore start */
-      proxyErrors(_er) {
-      }
-      /* c8 ignore stop */
-      end() {
-        this.unpipe();
-        if (this.opts.end)
-          this.dest.end();
-      }
-    };
-    var PipeProxyErrors = class extends Pipe {
-      unpipe() {
-        this.src.removeListener("error", this.proxyErrors);
-        super.unpipe();
-      }
-      constructor(src, dest, opts) {
-        super(src, dest, opts);
-        this.proxyErrors = (er) => dest.emit("error", er);
-        src.on("error", this.proxyErrors);
-      }
-    };
-    var isObjectModeOptions = (o) => !!o.objectMode;
-    var isEncodingOptions = (o) => !o.objectMode && !!o.encoding && o.encoding !== "buffer";
-    var Minipass = class extends node_events_1.EventEmitter {
-      [FLOWING] = false;
-      [PAUSED] = false;
-      [PIPES] = [];
-      [BUFFER] = [];
-      [OBJECTMODE];
-      [ENCODING];
-      [ASYNC];
-      [DECODER];
-      [EOF] = false;
-      [EMITTED_END] = false;
-      [EMITTING_END] = false;
-      [CLOSED] = false;
-      [EMITTED_ERROR] = null;
-      [BUFFERLENGTH] = 0;
-      [DESTROYED] = false;
-      [SIGNAL];
-      [ABORTED] = false;
-      [DATALISTENERS] = 0;
-      [DISCARDED] = false;
-      /**
-       * true if the stream can be written
-       */
-      writable = true;
-      /**
-       * true if the stream can be read
-       */
-      readable = true;
-      /**
-       * If `RType` is Buffer, then options do not need to be provided.
-       * Otherwise, an options object must be provided to specify either
-       * {@link Minipass.SharedOptions.objectMode} or
-       * {@link Minipass.SharedOptions.encoding}, as appropriate.
-       */
-      constructor(...args) {
-        const options = args[0] || {};
-        super();
-        if (options.objectMode && typeof options.encoding === "string") {
-          throw new TypeError("Encoding and objectMode may not be used together");
+      socket.on("drain", onDrain).on("error", onFinished);
+    }
+    async function writeBlob({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
+      assert(contentLength === body.size, "blob body must have content length");
+      const isH2 = client[kHTTPConnVersion] === "h2";
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
         }
-        if (isObjectModeOptions(options)) {
-          this[OBJECTMODE] = true;
-          this[ENCODING] = null;
-        } else if (isEncodingOptions(options)) {
-          this[ENCODING] = options.encoding;
-          this[OBJECTMODE] = false;
+        const buffer = Buffer.from(await body.arrayBuffer());
+        if (isH2) {
+          h2stream.cork();
+          h2stream.write(buffer);
+          h2stream.uncork();
         } else {
-          this[OBJECTMODE] = false;
-          this[ENCODING] = null;
+          socket.cork();
+          socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+          socket.write(buffer);
+          socket.uncork();
         }
-        this[ASYNC] = !!options.async;
-        this[DECODER] = this[ENCODING] ? new node_string_decoder_1.StringDecoder(this[ENCODING]) : null;
-        if (options && options.debugExposeBuffer === true) {
-          Object.defineProperty(this, "buffer", { get: () => this[BUFFER] });
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
         }
-        if (options && options.debugExposePipes === true) {
-          Object.defineProperty(this, "pipes", { get: () => this[PIPES] });
+        resume(client);
+      } catch (err) {
+        util.destroy(isH2 ? h2stream : socket, err);
+      }
+    }
+    async function writeIterable({ h2stream, body, client, request: 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 { signal } = options;
-        if (signal) {
-          this[SIGNAL] = signal;
-          if (signal.aborted) {
-            this[ABORT]();
-          } else {
-            signal.addEventListener("abort", () => this[ABORT]());
+      }
+      const waitForDrain = () => new Promise((resolve5, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve5;
+        }
+      });
+      if (client[kHTTPConnVersion] === "h2") {
+        h2stream.on("close", onDrain).on("drain", onDrain);
+        try {
+          for await (const chunk of body) {
+            if (socket[kError]) {
+              throw socket[kError];
+            }
+            const res = h2stream.write(chunk);
+            request2.onBodySent(chunk);
+            if (!res) {
+              await waitForDrain();
+            }
           }
+        } catch (err) {
+          h2stream.destroy(err);
+        } finally {
+          request2.onRequestSent();
+          h2stream.end();
+          h2stream.off("close", onDrain).off("drain", onDrain);
         }
+        return;
       }
-      /**
-       * The amount of data stored in the buffer waiting to be read.
-       *
-       * For Buffer strings, this will be the total byte length.
-       * For string encoding streams, this will be the string character length,
-       * according to JavaScript's `string.length` logic.
-       * For objectMode streams, this is a count of the items waiting to be
-       * emitted.
-       */
-      get bufferLength() {
-        return this[BUFFERLENGTH];
-      }
-      /**
-       * The `BufferEncoding` currently in use, or `null`
-       */
-      get encoding() {
-        return this[ENCODING];
-      }
-      /**
-       * @deprecated - This is a read only property
-       */
-      set encoding(_enc) {
-        throw new Error("Encoding must be set at instantiation time");
-      }
-      /**
-       * @deprecated - Encoding may only be set at instantiation time
-       */
-      setEncoding(_enc) {
-        throw new Error("Encoding must be set at instantiation time");
-      }
-      /**
-       * True if this is an objectMode stream
-       */
-      get objectMode() {
-        return this[OBJECTMODE];
-      }
-      /**
-       * @deprecated - This is a read-only property
-       */
-      set objectMode(_om) {
-        throw new Error("objectMode must be set at instantiation time");
-      }
-      /**
-       * true if this is an async stream
-       */
-      get ["async"]() {
-        return this[ASYNC];
-      }
-      /**
-       * Set to true to make this stream async.
-       *
-       * Once set, it cannot be unset, as this would potentially cause incorrect
-       * behavior.  Ie, a sync stream can be made async, but an async stream
-       * cannot be safely made sync.
-       */
-      set ["async"](a) {
-        this[ASYNC] = this[ASYNC] || !!a;
-      }
-      // drop everything and get out of the flow completely
-      [ABORT]() {
-        this[ABORTED] = true;
-        this.emit("abort", this[SIGNAL]?.reason);
-        this.destroy(this[SIGNAL]?.reason);
-      }
-      /**
-       * True if the stream has been aborted.
-       */
-      get aborted() {
-        return this[ABORTED];
+      socket.on("close", onDrain).on("drain", onDrain);
+      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          if (!writer.write(chunk)) {
+            await waitForDrain();
+          }
+        }
+        writer.end();
+      } catch (err) {
+        writer.destroy(err);
+      } finally {
+        socket.off("close", onDrain).off("drain", onDrain);
       }
-      /**
-       * No-op setter. Stream aborted status is set via the AbortSignal provided
-       * in the constructor options.
-       */
-      set aborted(_2) {
+    }
+    var AsyncWriter = class {
+      constructor({ 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;
+        socket[kWriting] = true;
       }
-      write(chunk, encoding, cb) {
-        if (this[ABORTED])
+      write(chunk) {
+        const { socket, request: request2, contentLength, client, bytesWritten, expectsPayload, header } = this;
+        if (socket[kError]) {
+          throw socket[kError];
+        }
+        if (socket.destroyed) {
           return false;
-        if (this[EOF])
-          throw new Error("write after end");
-        if (this[DESTROYED]) {
-          this.emit("error", Object.assign(new Error("Cannot call write after a stream was destroyed"), { code: "ERR_STREAM_DESTROYED" }));
-          return true;
         }
-        if (typeof encoding === "function") {
-          cb = encoding;
-          encoding = "utf8";
+        const len = Buffer.byteLength(chunk);
+        if (!len) {
+          return true;
         }
-        if (!encoding)
-          encoding = "utf8";
-        const fn = this[ASYNC] ? defer : nodefer;
-        if (!this[OBJECTMODE] && !Buffer.isBuffer(chunk)) {
-          if (isArrayBufferView(chunk)) {
-            chunk = Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
-          } else if (isArrayBufferLike(chunk)) {
-            chunk = Buffer.from(chunk);
-          } else if (typeof chunk !== "string") {
-            throw new Error("Non-contiguous data written to non-objectMode stream");
+        if (contentLength !== null && bytesWritten + len > contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
           }
+          process.emitWarning(new RequestContentLengthMismatchError());
         }
-        if (this[OBJECTMODE]) {
-          if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
-            this[FLUSH](true);
-          if (this[FLOWING])
-            this.emit("data", chunk);
-          else
-            this[BUFFERPUSH](chunk);
-          if (this[BUFFERLENGTH] !== 0)
-            this.emit("readable");
-          if (cb)
-            fn(cb);
-          return this[FLOWING];
-        }
-        if (!chunk.length) {
-          if (this[BUFFERLENGTH] !== 0)
-            this.emit("readable");
-          if (cb)
-            fn(cb);
-          return this[FLOWING];
+        socket.cork();
+        if (bytesWritten === 0) {
+          if (!expectsPayload) {
+            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 (typeof chunk === "string" && // unless it is a string already ready for us to use
-        !(encoding === this[ENCODING] && !this[DECODER]?.lastNeed)) {
-          chunk = Buffer.from(chunk, encoding);
+        if (contentLength === null) {
+          socket.write(`\r
+${len.toString(16)}\r
+`, "latin1");
         }
-        if (Buffer.isBuffer(chunk) && this[ENCODING]) {
-          chunk = this[DECODER].write(chunk);
+        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();
+            }
+          }
         }
-        if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
-          this[FLUSH](true);
-        if (this[FLOWING])
-          this.emit("data", chunk);
-        else
-          this[BUFFERPUSH](chunk);
-        if (this[BUFFERLENGTH] !== 0)
-          this.emit("readable");
-        if (cb)
-          fn(cb);
-        return this[FLOWING];
+        return ret;
       }
-      /**
-       * Low-level explicit read method.
-       *
-       * In objectMode, the argument is ignored, and one item is returned if
-       * available.
-       *
-       * `n` is the number of bytes (or in the case of encoding streams,
-       * characters) to consume. If `n` is not provided, then the entire buffer
-       * is returned, or `null` is returned if no data is available.
-       *
-       * If `n` is greater that the amount of data in the internal buffer,
-       * then `null` is returned.
-       */
-      read(n) {
-        if (this[DESTROYED])
-          return null;
-        this[DISCARDED] = false;
-        if (this[BUFFERLENGTH] === 0 || n === 0 || n && n > this[BUFFERLENGTH]) {
-          this[MAYBE_EMIT_END]();
-          return null;
+      end() {
+        const { socket, contentLength, client, bytesWritten, expectsPayload, header, request: request2 } = this;
+        request2.onRequestSent();
+        socket[kWriting] = false;
+        if (socket[kError]) {
+          throw socket[kError];
         }
-        if (this[OBJECTMODE])
-          n = null;
-        if (this[BUFFER].length > 1 && !this[OBJECTMODE]) {
-          this[BUFFER] = [
-            this[ENCODING] ? this[BUFFER].join("") : Buffer.concat(this[BUFFER], this[BUFFERLENGTH])
-          ];
+        if (socket.destroyed) {
+          return;
         }
-        const ret = this[READ](n || null, this[BUFFER][0]);
-        this[MAYBE_EMIT_END]();
-        return ret;
-      }
-      [READ](n, chunk) {
-        if (this[OBJECTMODE])
-          this[BUFFERSHIFT]();
-        else {
-          const c = chunk;
-          if (n === c.length || n === null)
-            this[BUFFERSHIFT]();
-          else if (typeof c === "string") {
-            this[BUFFER][0] = c.slice(n);
-            chunk = c.slice(0, n);
-            this[BUFFERLENGTH] -= n;
+        if (bytesWritten === 0) {
+          if (expectsPayload) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
           } else {
-            this[BUFFER][0] = c.subarray(n);
-            chunk = c.subarray(0, n);
-            this[BUFFERLENGTH] -= n;
+            socket.write(`${header}\r
+`, "latin1");
           }
+        } else if (contentLength === null) {
+          socket.write("\r\n0\r\n\r\n", "latin1");
         }
-        this.emit("data", chunk);
-        if (!this[BUFFER].length && !this[EOF])
-          this.emit("drain");
-        return chunk;
-      }
-      end(chunk, encoding, cb) {
-        if (typeof chunk === "function") {
-          cb = chunk;
-          chunk = void 0;
+        if (contentLength !== null && bytesWritten !== contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
+          } else {
+            process.emitWarning(new RequestContentLengthMismatchError());
+          }
         }
-        if (typeof encoding === "function") {
-          cb = encoding;
-          encoding = "utf8";
+        if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
+          if (socket[kParser].timeout.refresh) {
+            socket[kParser].timeout.refresh();
+          }
         }
-        if (chunk !== void 0)
-          this.write(chunk, encoding);
-        if (cb)
-          this.once("end", cb);
-        this[EOF] = true;
-        this.writable = false;
-        if (this[FLOWING] || !this[PAUSED])
-          this[MAYBE_EMIT_END]();
-        return this;
+        resume(client);
       }
-      // don't let the internal resume be overwritten
-      [RESUME]() {
-        if (this[DESTROYED])
-          return;
-        if (!this[DATALISTENERS] && !this[PIPES].length) {
-          this[DISCARDED] = true;
+      destroy(err) {
+        const { socket, client } = this;
+        socket[kWriting] = false;
+        if (err) {
+          assert(client[kRunning] <= 1, "pipeline should only contain this request");
+          util.destroy(socket, err);
         }
-        this[PAUSED] = false;
-        this[FLOWING] = true;
-        this.emit("resume");
-        if (this[BUFFER].length)
-          this[FLUSH]();
-        else if (this[EOF])
-          this[MAYBE_EMIT_END]();
-        else
-          this.emit("drain");
       }
-      /**
-       * Resume the stream if it is currently in a paused state
-       *
-       * If called when there are no pipe destinations or `data` event listeners,
-       * this will place the stream in a "discarded" state, where all data will
-       * be thrown away. The discarded state is removed if a pipe destination or
-       * data handler is added, if pause() is called, or if any synchronous or
-       * asynchronous iteration is started.
-       */
-      resume() {
-        return this[RESUME]();
+    };
+    function errorRequest2(client, request2, err) {
+      try {
+        request2.onError(err);
+        assert(request2.aborted);
+      } catch (err2) {
+        client.emit("error", err2);
       }
-      /**
-       * Pause the stream
-       */
-      pause() {
-        this[FLOWING] = false;
-        this[PAUSED] = true;
-        this[DISCARDED] = false;
+    }
+    module2.exports = Client;
+  }
+});
+
+// node_modules/undici/lib/node/fixed-queue.js
+var require_fixed_queue3 = __commonJS({
+  "node_modules/undici/lib/node/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);
       }
-      /**
-       * true if the stream has been forcibly destroyed
-       */
-      get destroyed() {
-        return this[DESTROYED];
+      shift() {
+        const tail = this.tail;
+        const next = tail.shift();
+        if (tail.isEmpty() && tail.next !== null) {
+          this.tail = tail.next;
+        }
+        return next;
       }
-      /**
-       * true if the stream is currently in a flowing state, meaning that
-       * any writes will be immediately emitted.
-       */
-      get flowing() {
-        return this[FLOWING];
+    };
+  }
+});
+
+// node_modules/undici/lib/pool-stats.js
+var require_pool_stats3 = __commonJS({
+  "node_modules/undici/lib/pool-stats.js"(exports2, module2) {
+    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols11();
+    var kPool = /* @__PURE__ */ Symbol("pool");
+    var PoolStats = class {
+      constructor(pool) {
+        this[kPool] = pool;
       }
-      /**
-       * true if the stream is currently in a paused state
-       */
-      get paused() {
-        return this[PAUSED];
+      get connected() {
+        return this[kPool][kConnected];
       }
-      [BUFFERPUSH](chunk) {
-        if (this[OBJECTMODE])
-          this[BUFFERLENGTH] += 1;
-        else
-          this[BUFFERLENGTH] += chunk.length;
-        this[BUFFER].push(chunk);
+      get free() {
+        return this[kPool][kFree];
       }
-      [BUFFERSHIFT]() {
-        if (this[OBJECTMODE])
-          this[BUFFERLENGTH] -= 1;
-        else
-          this[BUFFERLENGTH] -= this[BUFFER][0].length;
-        return this[BUFFER].shift();
+      get pending() {
+        return this[kPool][kPending];
       }
-      [FLUSH](noDrain = false) {
-        do {
-        } while (this[FLUSHCHUNK](this[BUFFERSHIFT]()) && this[BUFFER].length);
-        if (!noDrain && !this[BUFFER].length && !this[EOF])
-          this.emit("drain");
+      get queued() {
+        return this[kPool][kQueued];
       }
-      [FLUSHCHUNK](chunk) {
-        this.emit("data", chunk);
-        return this[FLOWING];
+      get running() {
+        return this[kPool][kRunning];
       }
-      /**
-       * Pipe all data emitted by this stream into the destination provided.
-       *
-       * Triggers the flow of data.
-       */
-      pipe(dest, opts) {
-        if (this[DESTROYED])
-          return dest;
-        this[DISCARDED] = false;
-        const ended = this[EMITTED_END];
-        opts = opts || {};
-        if (dest === proc.stdout || dest === proc.stderr)
-          opts.end = false;
-        else
-          opts.end = opts.end !== false;
-        opts.proxyErrors = !!opts.proxyErrors;
-        if (ended) {
-          if (opts.end)
-            dest.end();
-        } else {
-          this[PIPES].push(!opts.proxyErrors ? new Pipe(this, dest, opts) : new PipeProxyErrors(this, dest, opts));
-          if (this[ASYNC])
-            defer(() => this[RESUME]());
-          else
-            this[RESUME]();
-        }
-        return dest;
+      get size() {
+        return this[kPool][kSize];
       }
-      /**
-       * Fully unhook a piped destination stream.
-       *
-       * If the destination stream was the only consumer of this stream (ie,
-       * there are no other piped destinations or `'data'` event listeners)
-       * then the flow of data will stop until there is another consumer or
-       * {@link Minipass#resume} is explicitly called.
-       */
-      unpipe(dest) {
-        const p = this[PIPES].find((p2) => p2.dest === dest);
-        if (p) {
-          if (this[PIPES].length === 1) {
-            if (this[FLOWING] && this[DATALISTENERS] === 0) {
-              this[FLOWING] = false;
+    };
+    module2.exports = PoolStats;
+  }
+});
+
+// node_modules/undici/lib/pool-base.js
+var require_pool_base3 = __commonJS({
+  "node_modules/undici/lib/pool-base.js"(exports2, module2) {
+    "use strict";
+    var DispatcherBase = require_dispatcher_base3();
+    var FixedQueue = require_fixed_queue3();
+    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols11();
+    var PoolStats = require_pool_stats3();
+    var kClients = /* @__PURE__ */ Symbol("clients");
+    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
+    var kQueue = /* @__PURE__ */ Symbol("queue");
+    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
+    var kAddClient = /* @__PURE__ */ Symbol("add client");
+    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
+    var kStats = /* @__PURE__ */ 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;
             }
-            this[PIPES] = [];
-          } else
-            this[PIPES].splice(this[PIPES].indexOf(p), 1);
-          p.unpipe();
-        }
+            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);
       }
-      /**
-       * Alias for {@link Minipass#on}
-       */
-      addListener(ev, handler2) {
-        return this.on(ev, handler2);
+      get [kBusy]() {
+        return this[kNeedDrain];
       }
-      /**
-       * Mostly identical to `EventEmitter.on`, with the following
-       * behavior differences to prevent data loss and unnecessary hangs:
-       *
-       * - Adding a 'data' event handler will trigger the flow of data
-       *
-       * - Adding a 'readable' event handler when there is data waiting to be read
-       *   will cause 'readable' to be emitted immediately.
-       *
-       * - Adding an 'endish' event handler ('end', 'finish', etc.) which has
-       *   already passed will cause the event to be emitted immediately and all
-       *   handlers removed.
-       *
-       * - Adding an 'error' event handler after an error has been emitted will
-       *   cause the event to be re-emitted immediately with the error previously
-       *   raised.
-       */
-      on(ev, handler2) {
-        const ret = super.on(ev, handler2);
-        if (ev === "data") {
-          this[DISCARDED] = false;
-          this[DATALISTENERS]++;
-          if (!this[PIPES].length && !this[FLOWING]) {
-            this[RESUME]();
-          }
-        } else if (ev === "readable" && this[BUFFERLENGTH] !== 0) {
-          super.emit("readable");
-        } else if (isEndish(ev) && this[EMITTED_END]) {
-          super.emit(ev);
-          this.removeAllListeners(ev);
-        } else if (ev === "error" && this[EMITTED_ERROR]) {
-          const h = handler2;
-          if (this[ASYNC])
-            defer(() => h.call(this, this[EMITTED_ERROR]));
-          else
-            h.call(this, this[EMITTED_ERROR]);
+      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;
       }
-      /**
-       * Alias for {@link Minipass#off}
-       */
-      removeListener(ev, handler2) {
-        return this.off(ev, handler2);
-      }
-      /**
-       * Mostly identical to `EventEmitter.off`
-       *
-       * If a 'data' event handler is removed, and it was the last consumer
-       * (ie, there are no pipe destinations or other 'data' event listeners),
-       * then the flow of data will stop until there is another consumer or
-       * {@link Minipass#resume} is explicitly called.
-       */
-      off(ev, handler2) {
-        const ret = super.off(ev, handler2);
-        if (ev === "data") {
-          this[DATALISTENERS] = this.listeners("data").length;
-          if (this[DATALISTENERS] === 0 && !this[DISCARDED] && !this[PIPES].length) {
-            this[FLOWING] = false;
-          }
+      get [kRunning]() {
+        let ret = 0;
+        for (const { [kRunning]: running } of this[kClients]) {
+          ret += running;
         }
         return ret;
       }
-      /**
-       * Mostly identical to `EventEmitter.removeAllListeners`
-       *
-       * If all 'data' event handlers are removed, and they were the last consumer
-       * (ie, there are no pipe destinations), then the flow of data will stop
-       * until there is another consumer or {@link Minipass#resume} is explicitly
-       * called.
-       */
-      removeAllListeners(ev) {
-        const ret = super.removeAllListeners(ev);
-        if (ev === "data" || ev === void 0) {
-          this[DATALISTENERS] = 0;
-          if (!this[DISCARDED] && !this[PIPES].length) {
-            this[FLOWING] = false;
-          }
+      get [kSize]() {
+        let ret = this[kQueued];
+        for (const { [kSize]: size } of this[kClients]) {
+          ret += size;
         }
         return ret;
       }
-      /**
-       * true if the 'end' event has been emitted
-       */
-      get emittedEnd() {
-        return this[EMITTED_END];
+      get stats() {
+        return this[kStats];
       }
-      [MAYBE_EMIT_END]() {
-        if (!this[EMITTING_END] && !this[EMITTED_END] && !this[DESTROYED] && this[BUFFER].length === 0 && this[EOF]) {
-          this[EMITTING_END] = true;
-          this.emit("end");
-          this.emit("prefinish");
-          this.emit("finish");
-          if (this[CLOSED])
-            this.emit("close");
-          this[EMITTING_END] = false;
+      async [kClose]() {
+        if (this[kQueue].isEmpty()) {
+          return Promise.all(this[kClients].map((c) => c.close()));
+        } else {
+          return new Promise((resolve5) => {
+            this[kClosedResolve] = resolve5;
+          });
         }
       }
-      /**
-       * Mostly identical to `EventEmitter.emit`, with the following
-       * behavior differences to prevent data loss and unnecessary hangs:
-       *
-       * If the stream has been destroyed, and the event is something other
-       * than 'close' or 'error', then `false` is returned and no handlers
-       * are called.
-       *
-       * If the event is 'end', and has already been emitted, then the event
-       * is ignored. If the stream is in a paused or non-flowing state, then
-       * the event will be deferred until data flow resumes. If the stream is
-       * async, then handlers will be called on the next tick rather than
-       * immediately.
-       *
-       * If the event is 'close', and 'end' has not yet been emitted, then
-       * the event will be deferred until after 'end' is emitted.
-       *
-       * If the event is 'error', and an AbortSignal was provided for the stream,
-       * and there are no listeners, then the event is ignored, matching the
-       * behavior of node core streams in the presense of an AbortSignal.
-       *
-       * If the event is 'finish' or 'prefinish', then all listeners will be
-       * removed after emitting the event, to prevent double-firing.
-       */
-      emit(ev, ...args) {
-        const data = args[0];
-        if (ev !== "error" && ev !== "close" && ev !== DESTROYED && this[DESTROYED]) {
-          return false;
-        } else if (ev === "data") {
-          return !this[OBJECTMODE] && !data ? false : this[ASYNC] ? (defer(() => this[EMITDATA](data)), true) : this[EMITDATA](data);
-        } else if (ev === "end") {
-          return this[EMITEND]();
-        } else if (ev === "close") {
-          this[CLOSED] = true;
-          if (!this[EMITTED_END] && !this[DESTROYED])
-            return false;
-          const ret2 = super.emit("close");
-          this.removeAllListeners("close");
-          return ret2;
-        } else if (ev === "error") {
-          this[EMITTED_ERROR] = data;
-          super.emit(ERROR, data);
-          const ret2 = !this[SIGNAL] || this.listeners("error").length ? super.emit("error", data) : false;
-          this[MAYBE_EMIT_END]();
-          return ret2;
-        } else if (ev === "resume") {
-          const ret2 = super.emit("resume");
-          this[MAYBE_EMIT_END]();
-          return ret2;
-        } else if (ev === "finish" || ev === "prefinish") {
-          const ret2 = super.emit(ev);
-          this.removeAllListeners(ev);
-          return ret2;
+      async [kDestroy](err) {
+        while (true) {
+          const item = this[kQueue].shift();
+          if (!item) {
+            break;
+          }
+          item.handler.onError(err);
         }
-        const ret = super.emit(ev, ...args);
-        this[MAYBE_EMIT_END]();
-        return ret;
+        return Promise.all(this[kClients].map((c) => c.destroy(err)));
       }
-      [EMITDATA](data) {
-        for (const p of this[PIPES]) {
-          if (p.dest.write(data) === false)
-            this.pause();
+      [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]();
         }
-        const ret = this[DISCARDED] ? false : super.emit("data", data);
-        this[MAYBE_EMIT_END]();
-        return ret;
-      }
-      [EMITEND]() {
-        if (this[EMITTED_END])
-          return false;
-        this[EMITTED_END] = true;
-        this.readable = false;
-        return this[ASYNC] ? (defer(() => this[EMITEND2]()), true) : this[EMITEND2]();
+        return !this[kNeedDrain];
       }
-      [EMITEND2]() {
-        if (this[DECODER]) {
-          const data = this[DECODER].end();
-          if (data) {
-            for (const p of this[PIPES]) {
-              p.dest.write(data);
+      [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]) {
+          process.nextTick(() => {
+            if (this[kNeedDrain]) {
+              this[kOnDrain](client[kUrl], [this, client]);
             }
-            if (!this[DISCARDED])
-              super.emit("data", data);
-          }
-        }
-        for (const p of this[PIPES]) {
-          p.end();
+          });
         }
-        const ret = super.emit("end");
-        this.removeAllListeners("end");
-        return ret;
+        return this;
       }
-      /**
-       * Return a Promise that resolves to an array of all emitted data once
-       * the stream ends.
-       */
-      async collect() {
-        const buf = Object.assign([], {
-          dataLength: 0
+      [kRemoveClient](client) {
+        client.close(() => {
+          const idx = this[kClients].indexOf(client);
+          if (idx !== -1) {
+            this[kClients].splice(idx, 1);
+          }
         });
-        if (!this[OBJECTMODE])
-          buf.dataLength = 0;
-        const p = this.promise();
-        this.on("data", (c) => {
-          buf.push(c);
-          if (!this[OBJECTMODE])
-            buf.dataLength += c.length;
+        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/pool.js
+var require_pool3 = __commonJS({
+  "node_modules/undici/lib/pool.js"(exports2, module2) {
+    "use strict";
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kGetDispatcher
+    } = require_pool_base3();
+    var Client = require_client3();
+    var {
+      InvalidArgumentError
+    } = require_errors6();
+    var util = require_util24();
+    var { kUrl, kInterceptors } = require_symbols11();
+    var buildConnector = require_connect3();
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kConnections = /* @__PURE__ */ Symbol("connections");
+    var kFactory = /* @__PURE__ */ 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,
+            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect
+          });
+        }
+        this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
+        this[kConnections] = connections || null;
+        this[kUrl] = util.parseOrigin(origin);
+        this[kOptions] = { ...util.deepClone(options), connect, allowH2 };
+        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
+        this[kFactory] = factory;
+        this.on("connectionError", (origin2, targets, error3) => {
+          for (const target of targets) {
+            const idx = this[kClients].indexOf(target);
+            if (idx !== -1) {
+              this[kClients].splice(idx, 1);
+            }
+          }
         });
-        await p;
-        return buf;
       }
-      /**
-       * Return a Promise that resolves to the concatenation of all emitted data
-       * once the stream ends.
-       *
-       * Not allowed on objectMode streams.
-       */
-      async concat() {
-        if (this[OBJECTMODE]) {
-          throw new Error("cannot concat in objectMode");
+      [kGetDispatcher]() {
+        let dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain]);
+        if (dispatcher) {
+          return dispatcher;
         }
-        const buf = await this.collect();
-        return this[ENCODING] ? buf.join("") : Buffer.concat(buf, buf.dataLength);
+        if (!this[kConnections] || this[kClients].length < this[kConnections]) {
+          dispatcher = this[kFactory](this[kUrl], this[kOptions]);
+          this[kAddClient](dispatcher);
+        }
+        return dispatcher;
       }
-      /**
-       * Return a void Promise that resolves once the stream ends.
-       */
-      async promise() {
-        return new Promise((resolve5, reject) => {
-          this.on(DESTROYED, () => reject(new Error("stream destroyed")));
-          this.on("error", (er) => reject(er));
-          this.on("end", () => resolve5());
-        });
+    };
+    module2.exports = Pool;
+  }
+});
+
+// node_modules/undici/lib/balanced-pool.js
+var require_balanced_pool3 = __commonJS({
+  "node_modules/undici/lib/balanced-pool.js"(exports2, module2) {
+    "use strict";
+    var {
+      BalancedPoolMissingUpstreamError,
+      InvalidArgumentError
+    } = require_errors6();
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    } = require_pool_base3();
+    var Pool = require_pool3();
+    var { kUrl, kInterceptors } = require_symbols11();
+    var { parseOrigin } = require_util24();
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
+    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
+    var kIndex = /* @__PURE__ */ Symbol("kIndex");
+    var kWeight = /* @__PURE__ */ Symbol("kWeight");
+    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
+    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
+    function getGreatestCommonDivisor(a, b) {
+      if (b === 0) return a;
+      return getGreatestCommonDivisor(b, a % b);
+    }
+    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 && opts.interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : [];
+        this[kFactory] = factory;
+        for (const upstream of upstreams) {
+          this.addUpstream(upstream);
+        }
+        this._updateBalancedPoolStats();
       }
-      /**
-       * Asynchronous `for await of` iteration.
-       *
-       * This will continue emitting all chunks until the stream terminates.
-       */
-      [Symbol.asyncIterator]() {
-        this[DISCARDED] = false;
-        let stopped = false;
-        const stop = async () => {
-          this.pause();
-          stopped = true;
-          return { value: void 0, done: true };
-        };
-        const next = () => {
-          if (stopped)
-            return stop();
-          const res = this.read();
-          if (res !== null)
-            return Promise.resolve({ done: false, value: res });
-          if (this[EOF])
-            return stop();
-          let resolve5;
-          let reject;
-          const onerr = (er) => {
-            this.off("data", ondata);
-            this.off("end", onend);
-            this.off(DESTROYED, ondestroy);
-            stop();
-            reject(er);
-          };
-          const ondata = (value) => {
-            this.off("error", onerr);
-            this.off("end", onend);
-            this.off(DESTROYED, ondestroy);
-            this.pause();
-            resolve5({ value, done: !!this[EOF] });
-          };
-          const onend = () => {
-            this.off("error", onerr);
-            this.off("data", ondata);
-            this.off(DESTROYED, ondestroy);
-            stop();
-            resolve5({ done: true, value: void 0 });
-          };
-          const ondestroy = () => onerr(new Error("stream destroyed"));
-          return new Promise((res2, rej) => {
-            reject = rej;
-            resolve5 = res2;
-            this.once(DESTROYED, ondestroy);
-            this.once("error", onerr);
-            this.once("end", onend);
-            this.once("data", ondata);
-          });
-        };
-        return {
-          next,
-          throw: stop,
-          return: stop,
-          [Symbol.asyncIterator]() {
-            return this;
+      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;
       }
-      /**
-       * Synchronous `for of` iteration.
-       *
-       * The iteration will terminate when the internal buffer runs out, even
-       * if the stream has not yet terminated.
-       */
-      [Symbol.iterator]() {
-        this[DISCARDED] = false;
-        let stopped = false;
-        const stop = () => {
-          this.pause();
-          this.off(ERROR, stop);
-          this.off(DESTROYED, stop);
-          this.off("end", stop);
-          stopped = true;
-          return { done: true, value: void 0 };
-        };
-        const next = () => {
-          if (stopped)
-            return stop();
-          const value = this.read();
-          return value === null ? stop() : { done: false, value };
-        };
-        this.once("end", stop);
-        this.once(ERROR, stop);
-        this.once(DESTROYED, stop);
-        return {
-          next,
-          throw: stop,
-          return: stop,
-          [Symbol.iterator]() {
-            return this;
-          }
-        };
+      _updateBalancedPoolStats() {
+        this[kGreatestCommonDivisor] = this[kClients].map((p) => p[kWeight]).reduce(getGreatestCommonDivisor, 0);
       }
-      /**
-       * Destroy a stream, preventing it from being used for any further purpose.
-       *
-       * If the stream has a `close()` method, then it will be called on
-       * destruction.
-       *
-       * After destruction, any attempt to write data, read data, or emit most
-       * events will be ignored.
-       *
-       * If an error argument is provided, then it will be emitted in an
-       * 'error' event.
-       */
-      destroy(er) {
-        if (this[DESTROYED]) {
-          if (er)
-            this.emit("error", er);
-          else
-            this.emit(DESTROYED);
-          return this;
+      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);
         }
-        this[DESTROYED] = true;
-        this[DISCARDED] = true;
-        this[BUFFER].length = 0;
-        this[BUFFERLENGTH] = 0;
-        const wc = this;
-        if (typeof wc.close === "function" && !this[CLOSED])
-          wc.close();
-        if (er)
-          this.emit("error", er);
-        else
-          this.emit(DESTROYED);
         return this;
       }
-      /**
-       * Alias for {@link isStream}
-       *
-       * Former export location, maintained for backwards compatibility.
-       *
-       * @deprecated
-       */
-      static get isStream() {
-        return exports2.isStream;
+      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];
       }
     };
-    exports2.Minipass = Minipass;
+    module2.exports = BalancedPool;
   }
 });
 
-// node_modules/path-scurry/dist/commonjs/index.js
-var require_commonjs23 = __commonJS({
-  "node_modules/path-scurry/dist/commonjs/index.js"(exports2) {
+// node_modules/undici/lib/compat/dispatcher-weakref.js
+var require_dispatcher_weakref3 = __commonJS({
+  "node_modules/undici/lib/compat/dispatcher-weakref.js"(exports2, module2) {
     "use strict";
-    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+    var { kConnected, kSize } = require_symbols11();
+    var CompatWeakRef = class {
+      constructor(value) {
+        this.value = value;
       }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.PathScurry = exports2.Path = exports2.PathScurryDarwin = exports2.PathScurryPosix = exports2.PathScurryWin32 = exports2.PathScurryBase = exports2.PathPosix = exports2.PathWin32 = exports2.PathBase = exports2.ChildrenCache = exports2.ResolveCache = void 0;
-    var lru_cache_1 = require_commonjs21();
-    var node_path_1 = require("node:path");
-    var node_url_1 = require("node:url");
-    var fs_1 = require("fs");
-    var actualFS = __importStar2(require("node:fs"));
-    var realpathSync = fs_1.realpathSync.native;
-    var promises_1 = require("node:fs/promises");
-    var minipass_1 = require_commonjs22();
-    var defaultFS = {
-      lstatSync: fs_1.lstatSync,
-      readdir: fs_1.readdir,
-      readdirSync: fs_1.readdirSync,
-      readlinkSync: fs_1.readlinkSync,
-      realpathSync,
-      promises: {
-        lstat: promises_1.lstat,
-        readdir: promises_1.readdir,
-        readlink: promises_1.readlink,
-        realpath: promises_1.realpath
+      deref() {
+        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
       }
     };
-    var fsFromOption = (fsOption) => !fsOption || fsOption === defaultFS || fsOption === actualFS ? defaultFS : {
-      ...defaultFS,
-      ...fsOption,
-      promises: {
-        ...defaultFS.promises,
-        ...fsOption.promises || {}
+    var CompatFinalizer = class {
+      constructor(finalizer) {
+        this.finalizer = finalizer;
       }
-    };
-    var uncDriveRegexp = /^\\\\\?\\([a-z]:)\\?$/i;
-    var uncToDrive = (rootPath) => rootPath.replace(/\//g, "\\").replace(uncDriveRegexp, "$1\\");
-    var eitherSep = /[\\\/]/;
-    var UNKNOWN = 0;
-    var IFIFO = 1;
-    var IFCHR = 2;
-    var IFDIR = 4;
-    var IFBLK = 6;
-    var IFREG = 8;
-    var IFLNK = 10;
-    var IFSOCK = 12;
-    var IFMT = 15;
-    var IFMT_UNKNOWN = ~IFMT;
-    var READDIR_CALLED = 16;
-    var LSTAT_CALLED = 32;
-    var ENOTDIR = 64;
-    var ENOENT = 128;
-    var ENOREADLINK = 256;
-    var ENOREALPATH = 512;
-    var ENOCHILD = ENOTDIR | ENOENT | ENOREALPATH;
-    var TYPEMASK = 1023;
-    var entToType = (s) => s.isFile() ? IFREG : s.isDirectory() ? IFDIR : s.isSymbolicLink() ? IFLNK : s.isCharacterDevice() ? IFCHR : s.isBlockDevice() ? IFBLK : s.isSocket() ? IFSOCK : s.isFIFO() ? IFIFO : UNKNOWN;
-    var normalizeCache = /* @__PURE__ */ new Map();
-    var normalize2 = (s) => {
-      const c = normalizeCache.get(s);
-      if (c)
-        return c;
-      const n = s.normalize("NFKD");
-      normalizeCache.set(s, n);
-      return n;
-    };
-    var normalizeNocaseCache = /* @__PURE__ */ new Map();
-    var normalizeNocase = (s) => {
-      const c = normalizeNocaseCache.get(s);
-      if (c)
-        return c;
-      const n = normalize2(s.toLowerCase());
-      normalizeNocaseCache.set(s, n);
-      return n;
-    };
-    var ResolveCache = class extends lru_cache_1.LRUCache {
-      constructor() {
-        super({ max: 256 });
+      register(dispatcher, key) {
+        if (dispatcher.on) {
+          dispatcher.on("disconnect", () => {
+            if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {
+              this.finalizer(key);
+            }
+          });
+        }
       }
     };
-    exports2.ResolveCache = ResolveCache;
-    var ChildrenCache = class extends lru_cache_1.LRUCache {
-      constructor(maxSize = 16 * 1024) {
-        super({
-          maxSize,
-          // parent + children
-          sizeCalculation: (a) => a.length + 1
-        });
+    module2.exports = function() {
+      if (process.env.NODE_V8_COVERAGE) {
+        return {
+          WeakRef: CompatWeakRef,
+          FinalizationRegistry: CompatFinalizer
+        };
       }
+      return {
+        WeakRef: global.WeakRef || CompatWeakRef,
+        FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer
+      };
     };
-    exports2.ChildrenCache = ChildrenCache;
-    var setAsCwd = /* @__PURE__ */ Symbol("PathScurry setAsCwd");
-    var PathBase = class {
-      /**
-       * the basename of this path
-       *
-       * **Important**: *always* test the path name against any test string
-       * usingthe {@link isNamed} method, and not by directly comparing this
-       * string. Otherwise, unicode path strings that the system sees as identical
-       * will not be properly treated as the same path, leading to incorrect
-       * behavior and possible security issues.
-       */
-      name;
-      /**
-       * the Path entry corresponding to the path root.
-       *
-       * @internal
-       */
-      root;
-      /**
-       * All roots found within the current PathScurry family
-       *
-       * @internal
-       */
-      roots;
-      /**
-       * a reference to the parent path, or undefined in the case of root entries
-       *
-       * @internal
-       */
-      parent;
-      /**
-       * boolean indicating whether paths are compared case-insensitively
-       * @internal
-       */
-      nocase;
-      /**
-       * boolean indicating that this path is the current working directory
-       * of the PathScurry collection that contains it.
-       */
-      isCWD = false;
-      // potential default fs override
-      #fs;
-      // Stats fields
-      #dev;
-      get dev() {
-        return this.#dev;
-      }
-      #mode;
-      get mode() {
-        return this.#mode;
+  }
+});
+
+// node_modules/undici/lib/agent.js
+var require_agent3 = __commonJS({
+  "node_modules/undici/lib/agent.js"(exports2, module2) {
+    "use strict";
+    var { InvalidArgumentError } = require_errors6();
+    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols11();
+    var DispatcherBase = require_dispatcher_base3();
+    var Pool = require_pool3();
+    var Client = require_client3();
+    var util = require_util24();
+    var createRedirectInterceptor = require_redirectInterceptor();
+    var { WeakRef: WeakRef2, FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref3()();
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kFinalizer = /* @__PURE__ */ Symbol("finalizer");
+    var kOptions = /* @__PURE__ */ 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 && options.interceptors.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
+        this[kOptions] = { ...util.deepClone(options), connect };
+        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
+        this[kMaxRedirections] = maxRedirections;
+        this[kFactory] = factory;
+        this[kClients] = /* @__PURE__ */ new Map();
+        this[kFinalizer] = new FinalizationRegistry2(
+          /* istanbul ignore next: gc is undeterministic */
+          (key) => {
+            const ref = this[kClients].get(key);
+            if (ref !== void 0 && ref.deref() === void 0) {
+              this[kClients].delete(key);
+            }
+          }
+        );
+        const agent = this;
+        this[kOnDrain] = (origin, targets) => {
+          agent.emit("drain", origin, [agent, ...targets]);
+        };
+        this[kOnConnect] = (origin, targets) => {
+          agent.emit("connect", origin, [agent, ...targets]);
+        };
+        this[kOnDisconnect] = (origin, targets, err) => {
+          agent.emit("disconnect", origin, [agent, ...targets], err);
+        };
+        this[kOnConnectionError] = (origin, targets, err) => {
+          agent.emit("connectionError", origin, [agent, ...targets], err);
+        };
       }
-      #nlink;
-      get nlink() {
-        return this.#nlink;
+      get [kRunning]() {
+        let ret = 0;
+        for (const ref of this[kClients].values()) {
+          const client = ref.deref();
+          if (client) {
+            ret += client[kRunning];
+          }
+        }
+        return ret;
       }
-      #uid;
-      get uid() {
-        return this.#uid;
+      [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.");
+        }
+        const ref = this[kClients].get(key);
+        let dispatcher = ref ? ref.deref() : null;
+        if (!dispatcher) {
+          dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
+          this[kClients].set(key, new WeakRef2(dispatcher));
+          this[kFinalizer].register(dispatcher, key);
+        }
+        return dispatcher.dispatch(opts, handler2);
       }
-      #gid;
-      get gid() {
-        return this.#gid;
+      async [kClose]() {
+        const closePromises = [];
+        for (const ref of this[kClients].values()) {
+          const client = ref.deref();
+          if (client) {
+            closePromises.push(client.close());
+          }
+        }
+        await Promise.all(closePromises);
       }
-      #rdev;
-      get rdev() {
-        return this.#rdev;
+      async [kDestroy](err) {
+        const destroyPromises = [];
+        for (const ref of this[kClients].values()) {
+          const client = ref.deref();
+          if (client) {
+            destroyPromises.push(client.destroy(err));
+          }
+        }
+        await Promise.all(destroyPromises);
       }
-      #blksize;
-      get blksize() {
-        return this.#blksize;
+    };
+    module2.exports = Agent;
+  }
+});
+
+// node_modules/undici/lib/api/readable.js
+var require_readable5 = __commonJS({
+  "node_modules/undici/lib/api/readable.js"(exports2, module2) {
+    "use strict";
+    var assert = require("assert");
+    var { Readable } = require("stream");
+    var { RequestAbortedError, NotSupportedError, InvalidArgumentError } = require_errors6();
+    var util = require_util24();
+    var { ReadableStreamFrom, toUSVString } = require_util24();
+    var Blob2;
+    var kConsume = /* @__PURE__ */ Symbol("kConsume");
+    var kReading = /* @__PURE__ */ Symbol("kReading");
+    var kBody = /* @__PURE__ */ Symbol("kBody");
+    var kAbort = /* @__PURE__ */ Symbol("abort");
+    var kContentType = /* @__PURE__ */ Symbol("kContentType");
+    var noop3 = () => {
+    };
+    module2.exports = class BodyReadable extends Readable {
+      constructor({
+        resume,
+        abort,
+        contentType = "",
+        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[kReading] = false;
       }
-      #ino;
-      get ino() {
-        return this.#ino;
+      destroy(err) {
+        if (this.destroyed) {
+          return this;
+        }
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
+        }
+        if (err) {
+          this[kAbort]();
+        }
+        return super.destroy(err);
       }
-      #size;
-      get size() {
-        return this.#size;
+      emit(ev, ...args) {
+        if (ev === "data") {
+          this._readableState.dataEmitted = true;
+        } else if (ev === "error") {
+          this._readableState.errorEmitted = true;
+        }
+        return super.emit(ev, ...args);
       }
-      #blocks;
-      get blocks() {
-        return this.#blocks;
+      on(ev, ...args) {
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = true;
+        }
+        return super.on(ev, ...args);
       }
-      #atimeMs;
-      get atimeMs() {
-        return this.#atimeMs;
+      addListener(ev, ...args) {
+        return this.on(ev, ...args);
       }
-      #mtimeMs;
-      get mtimeMs() {
-        return this.#mtimeMs;
+      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;
       }
-      #ctimeMs;
-      get ctimeMs() {
-        return this.#ctimeMs;
+      removeListener(ev, ...args) {
+        return this.off(ev, ...args);
       }
-      #birthtimeMs;
-      get birthtimeMs() {
-        return this.#birthtimeMs;
+      push(chunk) {
+        if (this[kConsume] && chunk !== null && this.readableLength === 0) {
+          consumePush(this[kConsume], chunk);
+          return this[kReading] ? super.push(chunk) : true;
+        }
+        return super.push(chunk);
       }
-      #atime;
-      get atime() {
-        return this.#atime;
+      // https://fetch.spec.whatwg.org/#dom-body-text
+      async text() {
+        return consume(this, "text");
       }
-      #mtime;
-      get mtime() {
-        return this.#mtime;
+      // https://fetch.spec.whatwg.org/#dom-body-json
+      async json() {
+        return consume(this, "json");
       }
-      #ctime;
-      get ctime() {
-        return this.#ctime;
+      // https://fetch.spec.whatwg.org/#dom-body-blob
+      async blob() {
+        return consume(this, "blob");
       }
-      #birthtime;
-      get birthtime() {
-        return this.#birthtime;
+      // https://fetch.spec.whatwg.org/#dom-body-arraybuffer
+      async arrayBuffer() {
+        return consume(this, "arrayBuffer");
       }
-      #matchName;
-      #depth;
-      #fullpath;
-      #fullpathPosix;
-      #relative;
-      #relativePosix;
-      #type;
-      #children;
-      #linkTarget;
-      #realpath;
-      /**
-       * This property is for compatibility with the Dirent class as of
-       * Node v20, where Dirent['parentPath'] refers to the path of the
-       * directory that was passed to readdir. For root entries, it's the path
-       * to the entry itself.
-       */
-      get parentPath() {
-        return (this.parent || this).fullpath();
+      // https://fetch.spec.whatwg.org/#dom-body-formdata
+      async formData() {
+        throw new NotSupportedError();
       }
-      /**
-       * Deprecated alias for Dirent['parentPath'] Somewhat counterintuitively,
-       * this property refers to the *parent* path, not the path object itself.
-       *
-       * @deprecated
-       */
-      get path() {
-        return this.parentPath;
+      // https://fetch.spec.whatwg.org/#dom-body-bodyused
+      get bodyUsed() {
+        return util.isDisturbed(this);
       }
-      /**
-       * Do not create new Path objects directly.  They should always be accessed
-       * via the PathScurry class or other methods on the Path class.
-       *
-       * @internal
-       */
-      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
-        this.name = name;
-        this.#matchName = nocase ? normalizeNocase(name) : normalize2(name);
-        this.#type = type2 & TYPEMASK;
-        this.nocase = nocase;
-        this.roots = roots;
-        this.root = root || this;
-        this.#children = children;
-        this.#fullpath = opts.fullpath;
-        this.#relative = opts.relative;
-        this.#relativePosix = opts.relativePosix;
-        this.parent = opts.parent;
-        if (this.parent) {
-          this.#fs = this.parent.#fs;
-        } else {
-          this.#fs = fsFromOption(opts.fs);
+      // 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];
       }
-      /**
-       * Returns the depth of the Path object from its root.
-       *
-       * For example, a path at `/foo/bar` would have a depth of 2.
-       */
-      depth() {
-        if (this.#depth !== void 0)
-          return this.#depth;
-        if (!this.parent)
-          return this.#depth = 0;
-        return this.#depth = this.parent.depth() + 1;
-      }
-      /**
-       * @internal
-       */
-      childrenCache() {
-        return this.#children;
-      }
-      /**
-       * Get the Path object referenced by the string path, resolved from this Path
-       */
-      resolve(path7) {
-        if (!path7) {
-          return this;
+      dump(opts) {
+        let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144;
+        const signal = opts && opts.signal;
+        if (signal) {
+          try {
+            if (typeof signal !== "object" || !("aborted" in signal)) {
+              throw new InvalidArgumentError("signal must be an AbortSignal");
+            }
+            util.throwIfAborted(signal);
+          } catch (err) {
+            return Promise.reject(err);
+          }
         }
-        const rootPath = this.getRootString(path7);
-        const dir = path7.substring(rootPath.length);
-        const dirParts = dir.split(this.splitSep);
-        const result = rootPath ? this.getRoot(rootPath).#resolveParts(dirParts) : this.#resolveParts(dirParts);
-        return result;
-      }
-      #resolveParts(dirParts) {
-        let p = this;
-        for (const part of dirParts) {
-          p = p.child(part);
+        if (this.closed) {
+          return Promise.resolve(null);
         }
-        return p;
+        return new Promise((resolve5, reject) => {
+          const signalListenerCleanup = signal ? util.addAbortListener(signal, () => {
+            this.destroy();
+          }) : noop3;
+          this.on("close", function() {
+            signalListenerCleanup();
+            if (signal && signal.aborted) {
+              reject(signal.reason || Object.assign(new Error("The operation was aborted"), { name: "AbortError" }));
+            } else {
+              resolve5(null);
+            }
+          }).on("error", noop3).on("data", function(chunk) {
+            limit -= chunk.length;
+            if (limit <= 0) {
+              this.destroy();
+            }
+          }).resume();
+        });
       }
-      /**
-       * Returns the cached children Path objects, if still available.  If they
-       * have fallen out of the cache, then returns an empty array, and resets the
-       * READDIR_CALLED bit, so that future calls to readdir() will require an fs
-       * lookup.
-       *
-       * @internal
-       */
-      children() {
-        const cached = this.#children.get(this);
-        if (cached) {
-          return cached;
-        }
-        const children = Object.assign([], { provisional: 0 });
-        this.#children.set(this, children);
-        this.#type &= ~READDIR_CALLED;
-        return children;
+    };
+    function isLocked(self2) {
+      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
+    }
+    function isUnusable(self2) {
+      return util.isDisturbed(self2) || isLocked(self2);
+    }
+    async function consume(stream, type2) {
+      if (isUnusable(stream)) {
+        throw new TypeError("unusable");
       }
-      /**
-       * Resolves a path portion and returns or creates the child Path.
-       *
-       * Returns `this` if pathPart is `''` or `'.'`, or `parent` if pathPart is
-       * `'..'`.
-       *
-       * This should not be called directly.  If `pathPart` contains any path
-       * separators, it will lead to unsafe undefined behavior.
-       *
-       * Use `Path.resolve()` instead.
-       *
-       * @internal
-       */
-      child(pathPart, opts) {
-        if (pathPart === "" || pathPart === ".") {
-          return this;
-        }
-        if (pathPart === "..") {
-          return this.parent || this;
-        }
-        const children = this.children();
-        const name = this.nocase ? normalizeNocase(pathPart) : normalize2(pathPart);
-        for (const p of children) {
-          if (p.#matchName === name) {
-            return p;
+      assert(!stream[kConsume]);
+      return new Promise((resolve5, reject) => {
+        stream[kConsume] = {
+          type: type2,
+          stream,
+          resolve: resolve5,
+          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());
           }
-        }
-        const s = this.parent ? this.sep : "";
-        const fullpath = this.#fullpath ? this.#fullpath + s + pathPart : void 0;
-        const pchild = this.newChild(pathPart, UNKNOWN, {
-          ...opts,
-          parent: this,
-          fullpath
         });
-        if (!this.canReaddir()) {
-          pchild.#type |= ENOENT;
-        }
-        children.push(pchild);
-        return pchild;
+        process.nextTick(consumeStart, stream[kConsume]);
+      });
+    }
+    function consumeStart(consume2) {
+      if (consume2.body === null) {
+        return;
       }
-      /**
-       * The relative path from the cwd. If it does not share an ancestor with
-       * the cwd, then this ends up being equivalent to the fullpath()
-       */
-      relative() {
-        if (this.isCWD)
-          return "";
-        if (this.#relative !== void 0) {
-          return this.#relative;
-        }
-        const name = this.name;
-        const p = this.parent;
-        if (!p) {
-          return this.#relative = this.name;
-        }
-        const pv = p.relative();
-        return pv + (!pv || !p.parent ? "" : this.sep) + name;
+      const { _readableState: state } = consume2.stream;
+      for (const chunk of state.buffer) {
+        consumePush(consume2, chunk);
       }
-      /**
-       * The relative path from the cwd, using / as the path separator.
-       * If it does not share an ancestor with
-       * the cwd, then this ends up being equivalent to the fullpathPosix()
-       * On posix systems, this is identical to relative().
-       */
-      relativePosix() {
-        if (this.sep === "/")
-          return this.relative();
-        if (this.isCWD)
-          return "";
-        if (this.#relativePosix !== void 0)
-          return this.#relativePosix;
-        const name = this.name;
-        const p = this.parent;
-        if (!p) {
-          return this.#relativePosix = this.fullpathPosix();
-        }
-        const pv = p.relativePosix();
-        return pv + (!pv || !p.parent ? "" : "/") + name;
+      if (state.endEmitted) {
+        consumeEnd(this[kConsume]);
+      } else {
+        consume2.stream.on("end", function() {
+          consumeEnd(this[kConsume]);
+        });
       }
-      /**
-       * The fully resolved path string for this Path entry
-       */
-      fullpath() {
-        if (this.#fullpath !== void 0) {
-          return this.#fullpath;
-        }
-        const name = this.name;
-        const p = this.parent;
-        if (!p) {
-          return this.#fullpath = this.name;
-        }
-        const pv = p.fullpath();
-        const fp = pv + (!p.parent ? "" : this.sep) + name;
-        return this.#fullpath = fp;
+      consume2.stream.resume();
+      while (consume2.stream.read() != null) {
       }
-      /**
-       * On platforms other than windows, this is identical to fullpath.
-       *
-       * On windows, this is overridden to return the forward-slash form of the
-       * full UNC path.
-       */
-      fullpathPosix() {
-        if (this.#fullpathPosix !== void 0)
-          return this.#fullpathPosix;
-        if (this.sep === "/")
-          return this.#fullpathPosix = this.fullpath();
-        if (!this.parent) {
-          const p2 = this.fullpath().replace(/\\/g, "/");
-          if (/^[a-z]:\//i.test(p2)) {
-            return this.#fullpathPosix = `//?/${p2}`;
-          } else {
-            return this.#fullpathPosix = p2;
+    }
+    function consumeEnd(consume2) {
+      const { type: type2, body, resolve: resolve5, stream, length } = consume2;
+      try {
+        if (type2 === "text") {
+          resolve5(toUSVString(Buffer.concat(body)));
+        } else if (type2 === "json") {
+          resolve5(JSON.parse(Buffer.concat(body)));
+        } else if (type2 === "arrayBuffer") {
+          const dst = new Uint8Array(length);
+          let pos = 0;
+          for (const buf of body) {
+            dst.set(buf, pos);
+            pos += buf.byteLength;
+          }
+          resolve5(dst.buffer);
+        } else if (type2 === "blob") {
+          if (!Blob2) {
+            Blob2 = require("buffer").Blob;
           }
+          resolve5(new Blob2(body, { type: stream[kContentType] }));
         }
-        const p = this.parent;
-        const pfpp = p.fullpathPosix();
-        const fpp = pfpp + (!pfpp || !p.parent ? "" : "/") + this.name;
-        return this.#fullpathPosix = fpp;
-      }
-      /**
-       * Is the Path of an unknown type?
-       *
-       * Note that we might know *something* about it if there has been a previous
-       * filesystem operation, for example that it does not exist, or is not a
-       * link, or whether it has child entries.
-       */
-      isUnknown() {
-        return (this.#type & IFMT) === UNKNOWN;
+        consumeFinish(consume2);
+      } catch (err) {
+        stream.destroy(err);
       }
-      isType(type2) {
-        return this[`is${type2}`]();
+    }
+    function consumePush(consume2, chunk) {
+      consume2.length += chunk.length;
+      consume2.body.push(chunk);
+    }
+    function consumeFinish(consume2, err) {
+      if (consume2.body === null) {
+        return;
       }
-      getType() {
-        return this.isUnknown() ? "Unknown" : this.isDirectory() ? "Directory" : this.isFile() ? "File" : this.isSymbolicLink() ? "SymbolicLink" : this.isFIFO() ? "FIFO" : this.isCharacterDevice() ? "CharacterDevice" : this.isBlockDevice() ? "BlockDevice" : (
-          /* c8 ignore start */
-          this.isSocket() ? "Socket" : "Unknown"
-        );
+      if (err) {
+        consume2.reject(err);
+      } else {
+        consume2.resolve();
       }
-      /**
-       * Is the Path a regular file?
-       */
-      isFile() {
-        return (this.#type & IFMT) === IFREG;
+      consume2.type = null;
+      consume2.stream = null;
+      consume2.resolve = null;
+      consume2.reject = null;
+      consume2.length = 0;
+      consume2.body = null;
+    }
+  }
+});
+
+// node_modules/undici/lib/api/util.js
+var require_util26 = __commonJS({
+  "node_modules/undici/lib/api/util.js"(exports2, module2) {
+    var assert = require("assert");
+    var {
+      ResponseStatusCodeError
+    } = require_errors6();
+    var { toUSVString } = require_util24();
+    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
+      assert(body);
+      let chunks = [];
+      let limit = 0;
+      for await (const chunk of body) {
+        chunks.push(chunk);
+        limit += chunk.length;
+        if (limit > 128 * 1024) {
+          chunks = null;
+          break;
+        }
       }
-      /**
-       * Is the Path a directory?
-       */
-      isDirectory() {
-        return (this.#type & IFMT) === IFDIR;
+      if (statusCode === 204 || !contentType || !chunks) {
+        process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
+        return;
       }
-      /**
-       * Is the path a character device?
-       */
-      isCharacterDevice() {
-        return (this.#type & IFMT) === IFCHR;
+      try {
+        if (contentType.startsWith("application/json")) {
+          const payload = JSON.parse(toUSVString(Buffer.concat(chunks)));
+          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
+          return;
+        }
+        if (contentType.startsWith("text/")) {
+          const payload = toUSVString(Buffer.concat(chunks));
+          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
+          return;
+        }
+      } catch (err) {
       }
-      /**
-       * Is the path a block device?
-       */
-      isBlockDevice() {
-        return (this.#type & IFMT) === IFBLK;
+      process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
+    }
+    module2.exports = { getResolveErrorBodyCallback };
+  }
+});
+
+// node_modules/undici/lib/api/abort-signal.js
+var require_abort_signal3 = __commonJS({
+  "node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
+    var { addAbortListener } = require_util24();
+    var { RequestAbortedError } = require_errors6();
+    var kListener = /* @__PURE__ */ Symbol("kListener");
+    var kSignal = /* @__PURE__ */ Symbol("kSignal");
+    function abort(self2) {
+      if (self2.abort) {
+        self2.abort();
+      } else {
+        self2.onError(new RequestAbortedError());
       }
-      /**
-       * Is the path a FIFO pipe?
-       */
-      isFIFO() {
-        return (this.#type & IFMT) === IFIFO;
+    }
+    function addSignal(self2, signal) {
+      self2[kSignal] = null;
+      self2[kListener] = null;
+      if (!signal) {
+        return;
       }
-      /**
-       * Is the path a socket?
-       */
-      isSocket() {
-        return (this.#type & IFMT) === IFSOCK;
+      if (signal.aborted) {
+        abort(self2);
+        return;
       }
-      /**
-       * Is the path a symbolic link?
-       */
-      isSymbolicLink() {
-        return (this.#type & IFLNK) === IFLNK;
+      self2[kSignal] = signal;
+      self2[kListener] = () => {
+        abort(self2);
+      };
+      addAbortListener(self2[kSignal], self2[kListener]);
+    }
+    function removeSignal(self2) {
+      if (!self2[kSignal]) {
+        return;
       }
-      /**
-       * Return the entry if it has been subject of a successful lstat, or
-       * undefined otherwise.
-       *
-       * Does not read the filesystem, so an undefined result *could* simply
-       * mean that we haven't called lstat on it.
-       */
-      lstatCached() {
-        return this.#type & LSTAT_CALLED ? this : void 0;
+      if ("removeEventListener" in self2[kSignal]) {
+        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      } else {
+        self2[kSignal].removeListener("abort", self2[kListener]);
       }
-      /**
-       * Return the cached link target if the entry has been the subject of a
-       * successful readlink, or undefined otherwise.
-       *
-       * Does not read the filesystem, so an undefined result *could* just mean we
-       * don't have any cached data. Only use it if you are very sure that a
-       * readlink() has been called at some point.
-       */
-      readlinkCached() {
-        return this.#linkTarget;
+      self2[kSignal] = null;
+      self2[kListener] = null;
+    }
+    module2.exports = {
+      addSignal,
+      removeSignal
+    };
+  }
+});
+
+// node_modules/undici/lib/api/api-request.js
+var require_api_request3 = __commonJS({
+  "node_modules/undici/lib/api/api-request.js"(exports2, module2) {
+    "use strict";
+    var Readable = require_readable5();
+    var {
+      InvalidArgumentError,
+      RequestAbortedError
+    } = require_errors6();
+    var util = require_util24();
+    var { getResolveErrorBodyCallback } = require_util26();
+    var { AsyncResource } = require("async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal3();
+    var RequestHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
+        try {
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
+            throw new InvalidArgumentError("invalid highWaterMark");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
+          }
+          super("UNDICI_REQUEST");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
+        }
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.body = body;
+        this.trailers = {};
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError;
+        this.highWaterMark = highWaterMark;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
+        }
+        addSignal(this, signal);
       }
-      /**
-       * Returns the cached realpath target if the entry has been the subject
-       * of a successful realpath, or undefined otherwise.
-       *
-       * Does not read the filesystem, so an undefined result *could* just mean we
-       * don't have any cached data. Only use it if you are very sure that a
-       * realpath() has been called at some point.
-       */
-      realpathCached() {
-        return this.#realpath;
+      onConnect(abort, context2) {
+        if (!this.callback) {
+          throw new RequestAbortedError();
+        }
+        this.abort = abort;
+        this.context = context2;
       }
-      /**
-       * Returns the cached child Path entries array if the entry has been the
-       * subject of a successful readdir(), or [] otherwise.
-       *
-       * Does not read the filesystem, so an empty array *could* just mean we
-       * don't have any cached data. Only use it if you are very sure that a
-       * readdir() has been called recently enough to still be valid.
-       */
-      readdirCached() {
-        const children = this.children();
-        return children.slice(0, children.provisional);
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { callback, opaque, abort, context: context2, 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 body = new Readable({ resume, abort, contentType, highWaterMark });
+        this.callback = null;
+        this.res = body;
+        if (callback !== null) {
+          if (this.throwOnError && statusCode >= 400) {
+            this.runInAsyncScope(
+              getResolveErrorBodyCallback,
+              null,
+              { callback, body, contentType, statusCode, statusMessage, headers }
+            );
+          } else {
+            this.runInAsyncScope(callback, null, null, {
+              statusCode,
+              headers,
+              trailers: this.trailers,
+              opaque,
+              body,
+              context: context2
+            });
+          }
+        }
       }
-      /**
-       * Return true if it's worth trying to readlink.  Ie, we don't (yet) have
-       * any indication that readlink will definitely fail.
-       *
-       * Returns false if the path is known to not be a symlink, if a previous
-       * readlink failed, or if the entry does not exist.
-       */
-      canReadlink() {
-        if (this.#linkTarget)
-          return true;
-        if (!this.parent)
-          return false;
-        const ifmt = this.#type & IFMT;
-        return !(ifmt !== UNKNOWN && ifmt !== IFLNK || this.#type & ENOREADLINK || this.#type & ENOENT);
+      onData(chunk) {
+        const { res } = this;
+        return res.push(chunk);
       }
-      /**
-       * Return true if readdir has previously been successfully called on this
-       * path, indicating that cachedReaddir() is likely valid.
-       */
-      calledReaddir() {
-        return !!(this.#type & READDIR_CALLED);
+      onComplete(trailers) {
+        const { res } = this;
+        removeSignal(this);
+        util.parseHeaders(trailers, this.trailers);
+        res.push(null);
       }
-      /**
-       * Returns true if the path is known to not exist. That is, a previous lstat
-       * or readdir failed to verify its existence when that would have been
-       * expected, or a parent entry was marked either enoent or enotdir.
-       */
-      isENOENT() {
-        return !!(this.#type & ENOENT);
+      onError(err) {
+        const { res, callback, body, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
+        }
+        if (res) {
+          this.res = null;
+          queueMicrotask(() => {
+            util.destroy(res, err);
+          });
+        }
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
+        }
       }
-      /**
-       * Return true if the path is a match for the given path name.  This handles
-       * case sensitivity and unicode normalization.
-       *
-       * Note: even on case-sensitive systems, it is **not** safe to test the
-       * equality of the `.name` property to determine whether a given pathname
-       * matches, due to unicode normalization mismatches.
-       *
-       * Always use this method instead of testing the `path.name` property
-       * directly.
-       */
-      isNamed(n) {
-        return !this.nocase ? this.#matchName === normalize2(n) : this.#matchName === normalizeNocase(n);
+    };
+    function request2(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve5, reject) => {
+          request2.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve5(data);
+          });
+        });
       }
-      /**
-       * Return the Path object corresponding to the target of a symbolic link.
-       *
-       * If the Path is not a symbolic link, or if the readlink call fails for any
-       * reason, `undefined` is returned.
-       *
-       * Result is cached, and thus may be outdated if the filesystem is mutated.
-       */
-      async readlink() {
-        const target = this.#linkTarget;
-        if (target) {
-          return target;
-        }
-        if (!this.canReadlink()) {
-          return void 0;
+      try {
+        this.dispatch(opts, new RequestHandler(opts, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
-        if (!this.parent) {
-          return void 0;
+        const opaque = opts && opts.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
+      }
+    }
+    module2.exports = request2;
+    module2.exports.RequestHandler = RequestHandler;
+  }
+});
+
+// node_modules/undici/lib/api/api-stream.js
+var require_api_stream3 = __commonJS({
+  "node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
+    "use strict";
+    var { finished, PassThrough } = require("stream");
+    var {
+      InvalidArgumentError,
+      InvalidReturnValueError,
+      RequestAbortedError
+    } = require_errors6();
+    var util = require_util24();
+    var { getResolveErrorBodyCallback } = require_util26();
+    var { AsyncResource } = require("async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal3();
+    var StreamHandler = class extends AsyncResource {
+      constructor(opts, factory, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
         try {
-          const read = await this.#fs.promises.readlink(this.fullpath());
-          const linkTarget = (await this.parent.realpath())?.resolve(read);
-          if (linkTarget) {
-            return this.#linkTarget = linkTarget;
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
           }
-        } catch (er) {
-          this.#readlinkFail(er.code);
-          return void 0;
+          if (typeof factory !== "function") {
+            throw new InvalidArgumentError("invalid factory");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
+          }
+          super("UNDICI_STREAM");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
         }
-      }
-      /**
-       * Synchronous {@link PathBase.readlink}
-       */
-      readlinkSync() {
-        const target = this.#linkTarget;
-        if (target) {
-          return target;
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.factory = factory;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.context = null;
+        this.trailers = null;
+        this.body = body;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError || false;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
         }
-        if (!this.canReadlink()) {
-          return void 0;
+        addSignal(this, signal);
+      }
+      onConnect(abort, context2) {
+        if (!this.callback) {
+          throw new RequestAbortedError();
         }
-        if (!this.parent) {
-          return void 0;
+        this.abort = abort;
+        this.context = context2;
+      }
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { factory, opaque, context: context2, callback, responseHeaders } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
+          }
+          return;
         }
-        try {
-          const read = this.#fs.readlinkSync(this.fullpath());
-          const linkTarget = this.parent.realpathSync()?.resolve(read);
-          if (linkTarget) {
-            return this.#linkTarget = linkTarget;
+        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;
           }
-        } catch (er) {
-          this.#readlinkFail(er.code);
-          return void 0;
+          res = this.runInAsyncScope(factory, null, {
+            statusCode,
+            headers,
+            opaque,
+            context: context2
+          });
+          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 && res._writableState.needDrain;
+        return needDrain !== true;
       }
-      #readdirSuccess(children) {
-        this.#type |= READDIR_CALLED;
-        for (let p = children.provisional; p < children.length; p++) {
-          const c = children[p];
-          if (c)
-            c.#markENOENT();
-        }
+      onData(chunk) {
+        const { res } = this;
+        return res ? res.write(chunk) : true;
       }
-      #markENOENT() {
-        if (this.#type & ENOENT)
+      onComplete(trailers) {
+        const { res } = this;
+        removeSignal(this);
+        if (!res) {
           return;
-        this.#type = (this.#type | ENOENT) & IFMT_UNKNOWN;
-        this.#markChildrenENOENT();
-      }
-      #markChildrenENOENT() {
-        const children = this.children();
-        children.provisional = 0;
-        for (const p of children) {
-          p.#markENOENT();
         }
+        this.trailers = util.parseHeaders(trailers);
+        res.end();
       }
-      #markENOREALPATH() {
-        this.#type |= ENOREALPATH;
-        this.#markENOTDIR();
-      }
-      // save the information when we know the entry is not a dir
-      #markENOTDIR() {
-        if (this.#type & ENOTDIR)
-          return;
-        let t = this.#type;
-        if ((t & IFMT) === IFDIR)
-          t &= IFMT_UNKNOWN;
-        this.#type = t | ENOTDIR;
-        this.#markChildrenENOENT();
-      }
-      #readdirFail(code = "") {
-        if (code === "ENOTDIR" || code === "EPERM") {
-          this.#markENOTDIR();
-        } else if (code === "ENOENT") {
-          this.#markENOENT();
-        } else {
-          this.children().provisional = 0;
+      onError(err) {
+        const { res, callback, opaque, body } = this;
+        removeSignal(this);
+        this.factory = null;
+        if (res) {
+          this.res = null;
+          util.destroy(res, err);
+        } else if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-      }
-      #lstatFail(code = "") {
-        if (code === "ENOTDIR") {
-          const p = this.parent;
-          p.#markENOTDIR();
-        } else if (code === "ENOENT") {
-          this.#markENOENT();
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
         }
       }
-      #readlinkFail(code = "") {
-        let ter = this.#type;
-        ter |= ENOREADLINK;
-        if (code === "ENOENT")
-          ter |= ENOENT;
-        if (code === "EINVAL" || code === "UNKNOWN") {
-          ter &= IFMT_UNKNOWN;
-        }
-        this.#type = ter;
-        if (code === "ENOTDIR" && this.parent) {
-          this.parent.#markENOTDIR();
+    };
+    function stream(opts, factory, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve5, reject) => {
+          stream.call(this, opts, factory, (err, data) => {
+            return err ? reject(err) : resolve5(data);
+          });
+        });
+      }
+      try {
+        this.dispatch(opts, new StreamHandler(opts, factory, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
+        const opaque = opts && opts.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
-      #readdirAddChild(e, c) {
-        return this.#readdirMaybePromoteChild(e, c) || this.#readdirAddNewChild(e, c);
+    }
+    module2.exports = stream;
+  }
+});
+
+// node_modules/undici/lib/api/api-pipeline.js
+var require_api_pipeline3 = __commonJS({
+  "node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
+    "use strict";
+    var {
+      Readable,
+      Duplex,
+      PassThrough
+    } = require("stream");
+    var {
+      InvalidArgumentError,
+      InvalidReturnValueError,
+      RequestAbortedError
+    } = require_errors6();
+    var util = require_util24();
+    var { AsyncResource } = require("async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal3();
+    var assert = require("assert");
+    var kResume = /* @__PURE__ */ Symbol("resume");
+    var PipelineRequest = class extends Readable {
+      constructor() {
+        super({ autoDestroy: true });
+        this[kResume] = null;
       }
-      #readdirAddNewChild(e, c) {
-        const type2 = entToType(e);
-        const child = this.newChild(e.name, type2, { parent: this });
-        const ifmt = child.#type & IFMT;
-        if (ifmt !== IFDIR && ifmt !== IFLNK && ifmt !== UNKNOWN) {
-          child.#type |= ENOTDIR;
+      _read() {
+        const { [kResume]: resume } = this;
+        if (resume) {
+          this[kResume] = null;
+          resume();
         }
-        c.unshift(child);
-        c.provisional++;
-        return child;
       }
-      #readdirMaybePromoteChild(e, c) {
-        for (let p = c.provisional; p < c.length; p++) {
-          const pchild = c[p];
-          const name = this.nocase ? normalizeNocase(e.name) : normalize2(e.name);
-          if (name !== pchild.#matchName) {
-            continue;
-          }
-          return this.#readdirPromoteChild(e, pchild, p, c);
-        }
+      _destroy(err, callback) {
+        this._read();
+        callback(err);
       }
-      #readdirPromoteChild(e, p, index, c) {
-        const v = p.name;
-        p.#type = p.#type & IFMT_UNKNOWN | entToType(e);
-        if (v !== e.name)
-          p.name = e.name;
-        if (index !== c.provisional) {
-          if (index === c.length - 1)
-            c.pop();
-          else
-            c.splice(index, 1);
-          c.unshift(p);
-        }
-        c.provisional++;
-        return p;
+    };
+    var PipelineResponse = class extends Readable {
+      constructor(resume) {
+        super({ autoDestroy: true });
+        this[kResume] = resume;
       }
-      /**
-       * Call lstat() on this Path, and update all known information that can be
-       * determined.
-       *
-       * Note that unlike `fs.lstat()`, the returned value does not contain some
-       * information, such as `mode`, `dev`, `nlink`, and `ino`.  If that
-       * information is required, you will need to call `fs.lstat` yourself.
-       *
-       * If the Path refers to a nonexistent file, or if the lstat call fails for
-       * any reason, `undefined` is returned.  Otherwise the updated Path object is
-       * returned.
-       *
-       * Results are cached, and thus may be out of date if the filesystem is
-       * mutated.
-       */
-      async lstat() {
-        if ((this.#type & ENOENT) === 0) {
-          try {
-            this.#applyStat(await this.#fs.promises.lstat(this.fullpath()));
-            return this;
-          } catch (er) {
-            this.#lstatFail(er.code);
-          }
-        }
+      _read() {
+        this[kResume]();
       }
-      /**
-       * synchronous {@link PathBase.lstat}
-       */
-      lstatSync() {
-        if ((this.#type & ENOENT) === 0) {
-          try {
-            this.#applyStat(this.#fs.lstatSync(this.fullpath()));
-            return this;
-          } catch (er) {
-            this.#lstatFail(er.code);
-          }
+      _destroy(err, callback) {
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
         }
+        callback(err);
       }
-      #applyStat(st) {
-        const { atime, atimeMs, birthtime, birthtimeMs, blksize, blocks, ctime, ctimeMs, dev, gid, ino, mode, mtime, mtimeMs, nlink, rdev, size, uid } = st;
-        this.#atime = atime;
-        this.#atimeMs = atimeMs;
-        this.#birthtime = birthtime;
-        this.#birthtimeMs = birthtimeMs;
-        this.#blksize = blksize;
-        this.#blocks = blocks;
-        this.#ctime = ctime;
-        this.#ctimeMs = ctimeMs;
-        this.#dev = dev;
-        this.#gid = gid;
-        this.#ino = ino;
-        this.#mode = mode;
-        this.#mtime = mtime;
-        this.#mtimeMs = mtimeMs;
-        this.#nlink = nlink;
-        this.#rdev = rdev;
-        this.#size = size;
-        this.#uid = uid;
-        const ifmt = entToType(st);
-        this.#type = this.#type & IFMT_UNKNOWN | ifmt | LSTAT_CALLED;
-        if (ifmt !== UNKNOWN && ifmt !== IFDIR && ifmt !== IFLNK) {
-          this.#type |= ENOTDIR;
+    };
+    var PipelineHandler = class extends AsyncResource {
+      constructor(opts, handler2) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-      }
-      #onReaddirCB = [];
-      #readdirCBInFlight = false;
-      #callOnReaddirCB(children) {
-        this.#readdirCBInFlight = false;
-        const cbs = this.#onReaddirCB.slice();
-        this.#onReaddirCB.length = 0;
-        cbs.forEach((cb) => cb(null, children));
-      }
-      /**
-       * Standard node-style callback interface to get list of directory entries.
-       *
-       * If the Path cannot or does not contain any children, then an empty array
-       * is returned.
-       *
-       * Results are cached, and thus may be out of date if the filesystem is
-       * mutated.
-       *
-       * @param cb The callback called with (er, entries).  Note that the `er`
-       * param is somewhat extraneous, as all readdir() errors are handled and
-       * simply result in an empty set of entries being returned.
-       * @param allowZalgo Boolean indicating that immediately known results should
-       * *not* be deferred with `queueMicrotask`. Defaults to `false`. Release
-       * zalgo at your peril, the dark pony lord is devious and unforgiving.
-       */
-      readdirCB(cb, allowZalgo = false) {
-        if (!this.canReaddir()) {
-          if (allowZalgo)
-            cb(null, []);
-          else
-            queueMicrotask(() => cb(null, []));
-          return;
+        if (typeof handler2 !== "function") {
+          throw new InvalidArgumentError("invalid handler");
         }
-        const children = this.children();
-        if (this.calledReaddir()) {
-          const c = children.slice(0, children.provisional);
-          if (allowZalgo)
-            cb(null, c);
-          else
-            queueMicrotask(() => cb(null, c));
-          return;
+        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");
         }
-        this.#onReaddirCB.push(cb);
-        if (this.#readdirCBInFlight) {
-          return;
+        if (method === "CONNECT") {
+          throw new InvalidArgumentError("invalid method");
         }
-        this.#readdirCBInFlight = true;
-        const fullpath = this.fullpath();
-        this.#fs.readdir(fullpath, { withFileTypes: true }, (er, entries) => {
-          if (er) {
-            this.#readdirFail(er.code);
-            children.provisional = 0;
-          } else {
-            for (const e of entries) {
-              this.#readdirAddChild(e, children);
+        if (onInfo && typeof onInfo !== "function") {
+          throw new InvalidArgumentError("invalid onInfo callback");
+        }
+        super("UNDICI_PIPELINE");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.handler = handler2;
+        this.abort = null;
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.req = new PipelineRequest().on("error", util.nop);
+        this.ret = new Duplex({
+          readableObjectMode: opts.objectMode,
+          autoDestroy: true,
+          read: () => {
+            const { body } = this;
+            if (body && body.resume) {
+              body.resume();
             }
-            this.#readdirSuccess(children);
+          },
+          write: (chunk, encoding, callback) => {
+            const { req } = this;
+            if (req.push(chunk, encoding) || req._readableState.destroyed) {
+              callback();
+            } else {
+              req[kResume] = callback;
+            }
+          },
+          destroy: (err, callback) => {
+            const { body, req, res, ret, abort } = this;
+            if (!err && !ret._readableState.endEmitted) {
+              err = new RequestAbortedError();
+            }
+            if (abort && err) {
+              abort();
+            }
+            util.destroy(body, err);
+            util.destroy(req, err);
+            util.destroy(res, err);
+            removeSignal(this);
+            callback(err);
           }
-          this.#callOnReaddirCB(children.slice(0, children.provisional));
-          return;
+        }).on("prefinish", () => {
+          const { req } = this;
+          req.push(null);
         });
+        this.res = null;
+        addSignal(this, signal);
       }
-      #asyncReaddirInFlight;
-      /**
-       * Return an array of known child entries.
-       *
-       * If the Path cannot or does not contain any children, then an empty array
-       * is returned.
-       *
-       * Results are cached, and thus may be out of date if the filesystem is
-       * mutated.
-       */
-      async readdir() {
-        if (!this.canReaddir()) {
-          return [];
-        }
-        const children = this.children();
-        if (this.calledReaddir()) {
-          return children.slice(0, children.provisional);
+      onConnect(abort, context2) {
+        const { ret, res } = this;
+        assert(!res, "pipeline cannot be retried");
+        if (ret.destroyed) {
+          throw new RequestAbortedError();
         }
-        const fullpath = this.fullpath();
-        if (this.#asyncReaddirInFlight) {
-          await this.#asyncReaddirInFlight;
-        } else {
-          let resolve5 = () => {
-          };
-          this.#asyncReaddirInFlight = new Promise((res) => resolve5 = res);
-          try {
-            for (const e of await this.#fs.promises.readdir(fullpath, {
-              withFileTypes: true
-            })) {
-              this.#readdirAddChild(e, children);
-            }
-            this.#readdirSuccess(children);
-          } catch (er) {
-            this.#readdirFail(er.code);
-            children.provisional = 0;
+        this.abort = abort;
+        this.context = context2;
+      }
+      onHeaders(statusCode, rawHeaders, resume) {
+        const { opaque, handler: handler2, context: context2 } = this;
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+            this.onInfo({ statusCode, headers });
           }
-          this.#asyncReaddirInFlight = void 0;
-          resolve5();
+          return;
         }
-        return children.slice(0, children.provisional);
-      }
-      /**
-       * synchronous {@link PathBase.readdir}
-       */
-      readdirSync() {
-        if (!this.canReaddir()) {
-          return [];
+        this.res = new PipelineResponse(resume);
+        let body;
+        try {
+          this.handler = null;
+          const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+          body = this.runInAsyncScope(handler2, null, {
+            statusCode,
+            headers,
+            opaque,
+            body: this.res,
+            context: context2
+          });
+        } catch (err) {
+          this.res.on("error", util.nop);
+          throw err;
         }
-        const children = this.children();
-        if (this.calledReaddir()) {
-          return children.slice(0, children.provisional);
+        if (!body || typeof body.on !== "function") {
+          throw new InvalidReturnValueError("expected Readable");
         }
-        const fullpath = this.fullpath();
-        try {
-          for (const e of this.#fs.readdirSync(fullpath, {
-            withFileTypes: true
-          })) {
-            this.#readdirAddChild(e, children);
+        body.on("data", (chunk) => {
+          const { ret, body: body2 } = this;
+          if (!ret.push(chunk) && body2.pause) {
+            body2.pause();
           }
-          this.#readdirSuccess(children);
-        } catch (er) {
-          this.#readdirFail(er.code);
-          children.provisional = 0;
-        }
-        return children.slice(0, children.provisional);
+        }).on("error", (err) => {
+          const { ret } = this;
+          util.destroy(ret, err);
+        }).on("end", () => {
+          const { ret } = this;
+          ret.push(null);
+        }).on("close", () => {
+          const { ret } = this;
+          if (!ret._readableState.ended) {
+            util.destroy(ret, new RequestAbortedError());
+          }
+        });
+        this.body = body;
       }
-      canReaddir() {
-        if (this.#type & ENOCHILD)
-          return false;
-        const ifmt = IFMT & this.#type;
-        if (!(ifmt === UNKNOWN || ifmt === IFDIR || ifmt === IFLNK)) {
-          return false;
-        }
-        return true;
+      onData(chunk) {
+        const { res } = this;
+        return res.push(chunk);
       }
-      shouldWalk(dirs, walkFilter) {
-        return (this.#type & IFDIR) === IFDIR && !(this.#type & ENOCHILD) && !dirs.has(this) && (!walkFilter || walkFilter(this));
+      onComplete(trailers) {
+        const { res } = this;
+        res.push(null);
       }
-      /**
-       * Return the Path object corresponding to path as resolved
-       * by realpath(3).
-       *
-       * If the realpath call fails for any reason, `undefined` is returned.
-       *
-       * Result is cached, and thus may be outdated if the filesystem is mutated.
-       * On success, returns a Path object.
-       */
-      async realpath() {
-        if (this.#realpath)
-          return this.#realpath;
-        if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type)
-          return void 0;
-        try {
-          const rp = await this.#fs.promises.realpath(this.fullpath());
-          return this.#realpath = this.resolve(rp);
-        } catch (_2) {
-          this.#markENOREALPATH();
-        }
+      onError(err) {
+        const { ret } = this;
+        this.handler = null;
+        util.destroy(ret, err);
       }
-      /**
-       * Synchronous {@link realpath}
-       */
-      realpathSync() {
-        if (this.#realpath)
-          return this.#realpath;
-        if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type)
-          return void 0;
-        try {
-          const rp = this.#fs.realpathSync(this.fullpath());
-          return this.#realpath = this.resolve(rp);
-        } catch (_2) {
-          this.#markENOREALPATH();
-        }
+    };
+    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);
       }
-      /**
-       * Internal method to mark this Path object as the scurry cwd,
-       * called by {@link PathScurry#chdir}
-       *
-       * @internal
-       */
-      [setAsCwd](oldCwd) {
-        if (oldCwd === this)
-          return;
-        oldCwd.isCWD = false;
-        this.isCWD = true;
-        const changed = /* @__PURE__ */ new Set([]);
-        let rp = [];
-        let p = this;
-        while (p && p.parent) {
-          changed.add(p);
-          p.#relative = rp.join(this.sep);
-          p.#relativePosix = rp.join("/");
-          p = p.parent;
-          rp.push("..");
+    }
+    module2.exports = pipeline;
+  }
+});
+
+// node_modules/undici/lib/api/api-upgrade.js
+var require_api_upgrade3 = __commonJS({
+  "node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
+    "use strict";
+    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors6();
+    var { AsyncResource } = require("async_hooks");
+    var util = require_util24();
+    var { addSignal, removeSignal } = require_abort_signal3();
+    var assert = require("assert");
+    var UpgradeHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        p = oldCwd;
-        while (p && p.parent && !changed.has(p)) {
-          p.#relative = void 0;
-          p.#relativePosix = void 0;
-          p = p.parent;
+        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);
       }
-    };
-    exports2.PathBase = PathBase;
-    var PathWin32 = class _PathWin32 extends PathBase {
-      /**
-       * Separator for generating path strings.
-       */
-      sep = "\\";
-      /**
-       * Separator for parsing path strings.
-       */
-      splitSep = eitherSep;
-      /**
-       * Do not create new Path objects directly.  They should always be accessed
-       * via the PathScurry class or other methods on the Path class.
-       *
-       * @internal
-       */
-      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
-        super(name, type2, root, roots, nocase, children, opts);
+      onConnect(abort, context2) {
+        if (!this.callback) {
+          throw new RequestAbortedError();
+        }
+        this.abort = abort;
+        this.context = null;
       }
-      /**
-       * @internal
-       */
-      newChild(name, type2 = UNKNOWN, opts = {}) {
-        return new _PathWin32(name, type2, this.root, this.roots, this.nocase, this.childrenCache(), opts);
+      onHeaders() {
+        throw new SocketError("bad upgrade", null);
       }
-      /**
-       * @internal
-       */
-      getRootString(path7) {
-        return node_path_1.win32.parse(path7).root;
+      onUpgrade(statusCode, rawHeaders, socket) {
+        const { callback, opaque, context: context2 } = this;
+        assert.strictEqual(statusCode, 101);
+        removeSignal(this);
+        this.callback = null;
+        const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        this.runInAsyncScope(callback, null, null, {
+          headers,
+          socket,
+          opaque,
+          context: context2
+        });
       }
-      /**
-       * @internal
-       */
-      getRoot(rootPath) {
-        rootPath = uncToDrive(rootPath.toUpperCase());
-        if (rootPath === this.root.name) {
-          return this.root;
-        }
-        for (const [compare2, root] of Object.entries(this.roots)) {
-          if (this.sameRoot(rootPath, compare2)) {
-            return this.roots[rootPath] = root;
-          }
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        return this.roots[rootPath] = new PathScurryWin32(rootPath, this).root;
-      }
-      /**
-       * @internal
-       */
-      sameRoot(rootPath, compare2 = this.root.name) {
-        rootPath = rootPath.toUpperCase().replace(/\//g, "\\").replace(uncDriveRegexp, "$1\\");
-        return rootPath === compare2;
       }
     };
-    exports2.PathWin32 = PathWin32;
-    var PathPosix = class _PathPosix extends PathBase {
-      /**
-       * separator for parsing path strings
-       */
-      splitSep = "/";
-      /**
-       * separator for generating path strings
-       */
-      sep = "/";
-      /**
-       * Do not create new Path objects directly.  They should always be accessed
-       * via the PathScurry class or other methods on the Path class.
-       *
-       * @internal
-       */
-      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
-        super(name, type2, root, roots, nocase, children, opts);
-      }
-      /**
-       * @internal
-       */
-      getRootString(path7) {
-        return path7.startsWith("/") ? "/" : "";
-      }
-      /**
-       * @internal
-       */
-      getRoot(_rootPath) {
-        return this.root;
-      }
-      /**
-       * @internal
-       */
-      newChild(name, type2 = UNKNOWN, opts = {}) {
-        return new _PathPosix(name, type2, this.root, this.roots, this.nocase, this.childrenCache(), opts);
+    function upgrade(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve5, reject) => {
+          upgrade.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve5(data);
+          });
+        });
       }
-    };
-    exports2.PathPosix = PathPosix;
-    var PathScurryBase = class {
-      /**
-       * The root Path entry for the current working directory of this Scurry
-       */
-      root;
-      /**
-       * The string path for the root of this Scurry's current working directory
-       */
-      rootPath;
-      /**
-       * A collection of all roots encountered, referenced by rootPath
-       */
-      roots;
-      /**
-       * The Path entry corresponding to this PathScurry's current working directory.
-       */
-      cwd;
-      #resolveCache;
-      #resolvePosixCache;
-      #children;
-      /**
-       * Perform path comparisons case-insensitively.
-       *
-       * Defaults true on Darwin and Windows systems, false elsewhere.
-       */
-      nocase;
-      #fs;
-      /**
-       * This class should not be instantiated directly.
-       *
-       * Use PathScurryWin32, PathScurryDarwin, PathScurryPosix, or PathScurry
-       *
-       * @internal
-       */
-      constructor(cwd = process.cwd(), pathImpl, sep3, { nocase, childrenCacheSize = 16 * 1024, fs: fs8 = defaultFS } = {}) {
-        this.#fs = fsFromOption(fs8);
-        if (cwd instanceof URL || cwd.startsWith("file://")) {
-          cwd = (0, node_url_1.fileURLToPath)(cwd);
+      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 cwdPath = pathImpl.resolve(cwd);
-        this.roots = /* @__PURE__ */ Object.create(null);
-        this.rootPath = this.parseRootPath(cwdPath);
-        this.#resolveCache = new ResolveCache();
-        this.#resolvePosixCache = new ResolveCache();
-        this.#children = new ChildrenCache(childrenCacheSize);
-        const split = cwdPath.substring(this.rootPath.length).split(sep3);
-        if (split.length === 1 && !split[0]) {
-          split.pop();
+        const opaque = opts && opts.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
+      }
+    }
+    module2.exports = upgrade;
+  }
+});
+
+// node_modules/undici/lib/api/api-connect.js
+var require_api_connect3 = __commonJS({
+  "node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
+    "use strict";
+    var { AsyncResource } = require("async_hooks");
+    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors6();
+    var util = require_util24();
+    var { addSignal, removeSignal } = require_abort_signal3();
+    var ConnectHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        if (nocase === void 0) {
-          throw new TypeError("must provide nocase setting to PathScurryBase ctor");
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
         }
-        this.nocase = nocase;
-        this.root = this.newRoot(this.#fs);
-        this.roots[this.rootPath] = this.root;
-        let prev = this.root;
-        let len = split.length - 1;
-        const joinSep = pathImpl.sep;
-        let abs = this.rootPath;
-        let sawFirst = false;
-        for (const part of split) {
-          const l = len--;
-          prev = prev.child(part, {
-            relative: new Array(l).fill("..").join(joinSep),
-            relativePosix: new Array(l).fill("..").join("/"),
-            fullpath: abs += (sawFirst ? "" : joinSep) + part
-          });
-          sawFirst = true;
+        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");
         }
-        this.cwd = prev;
+        super("UNDICI_CONNECT");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.callback = callback;
+        this.abort = null;
+        addSignal(this, signal);
       }
-      /**
-       * Get the depth of a provided path, string, or the cwd
-       */
-      depth(path7 = this.cwd) {
-        if (typeof path7 === "string") {
-          path7 = this.cwd.resolve(path7);
+      onConnect(abort, context2) {
+        if (!this.callback) {
+          throw new RequestAbortedError();
         }
-        return path7.depth();
+        this.abort = abort;
+        this.context = context2;
       }
-      /**
-       * Return the cache of child entries.  Exposed so subclasses can create
-       * child Path objects in a platform-specific way.
-       *
-       * @internal
-       */
-      childrenCache() {
-        return this.#children;
+      onHeaders() {
+        throw new SocketError("bad connect", null);
       }
-      /**
-       * Resolve one or more path strings to a resolved string
-       *
-       * Same interface as require('path').resolve.
-       *
-       * Much faster than path.resolve() when called multiple times for the same
-       * path, because the resolved Path objects are cached.  Much slower
-       * otherwise.
-       */
-      resolve(...paths) {
-        let r = "";
-        for (let i = paths.length - 1; i >= 0; i--) {
-          const p = paths[i];
-          if (!p || p === ".")
-            continue;
-          r = r ? `${p}/${r}` : p;
-          if (this.isAbsolute(p)) {
-            break;
-          }
-        }
-        const cached = this.#resolveCache.get(r);
-        if (cached !== void 0) {
-          return cached;
+      onUpgrade(statusCode, rawHeaders, socket) {
+        const { callback, opaque, context: context2 } = this;
+        removeSignal(this);
+        this.callback = null;
+        let headers = rawHeaders;
+        if (headers != null) {
+          headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
         }
-        const result = this.cwd.resolve(r).fullpath();
-        this.#resolveCache.set(r, result);
-        return result;
+        this.runInAsyncScope(callback, null, null, {
+          statusCode,
+          headers,
+          socket,
+          opaque,
+          context: context2
+        });
       }
-      /**
-       * Resolve one or more path strings to a resolved string, returning
-       * the posix path.  Identical to .resolve() on posix systems, but on
-       * windows will return a forward-slash separated UNC path.
-       *
-       * Same interface as require('path').resolve.
-       *
-       * Much faster than path.resolve() when called multiple times for the same
-       * path, because the resolved Path objects are cached.  Much slower
-       * otherwise.
-       */
-      resolvePosix(...paths) {
-        let r = "";
-        for (let i = paths.length - 1; i >= 0; i--) {
-          const p = paths[i];
-          if (!p || p === ".")
-            continue;
-          r = r ? `${p}/${r}` : p;
-          if (this.isAbsolute(p)) {
-            break;
-          }
-        }
-        const cached = this.#resolvePosixCache.get(r);
-        if (cached !== void 0) {
-          return cached;
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        const result = this.cwd.resolve(r).fullpathPosix();
-        this.#resolvePosixCache.set(r, result);
-        return result;
       }
-      /**
-       * find the relative path from the cwd to the supplied path string or entry
-       */
-      relative(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
+    };
+    function connect(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve5, reject) => {
+          connect.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve5(data);
+          });
+        });
+      }
+      try {
+        const connectHandler = new ConnectHandler(opts, callback);
+        this.dispatch({ ...opts, method: "CONNECT" }, connectHandler);
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
-        return entry.relative();
+        const opaque = opts && opts.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
-      /**
-       * find the relative path from the cwd to the supplied path string or
-       * entry, using / as the path delimiter, even on Windows.
-       */
-      relativePosix(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
+    }
+    module2.exports = connect;
+  }
+});
+
+// node_modules/undici/lib/api/index.js
+var require_api3 = __commonJS({
+  "node_modules/undici/lib/api/index.js"(exports2, module2) {
+    "use strict";
+    module2.exports.request = require_api_request3();
+    module2.exports.stream = require_api_stream3();
+    module2.exports.pipeline = require_api_pipeline3();
+    module2.exports.upgrade = require_api_upgrade3();
+    module2.exports.connect = require_api_connect3();
+  }
+});
+
+// node_modules/undici/lib/mock/mock-errors.js
+var require_mock_errors3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
+    "use strict";
+    var { UndiciError } = require_errors6();
+    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";
+      }
+    };
+    module2.exports = {
+      MockNotMatchedError
+    };
+  }
+});
+
+// node_modules/undici/lib/mock/mock-symbols.js
+var require_mock_symbols3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kAgent: /* @__PURE__ */ Symbol("agent"),
+      kOptions: /* @__PURE__ */ Symbol("options"),
+      kFactory: /* @__PURE__ */ Symbol("factory"),
+      kDispatches: /* @__PURE__ */ Symbol("dispatches"),
+      kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
+      kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
+      kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
+      kContentLength: /* @__PURE__ */ Symbol("content length"),
+      kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
+      kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
+      kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
+      kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
+      kClose: /* @__PURE__ */ Symbol("close"),
+      kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
+      kOrigin: /* @__PURE__ */ Symbol("origin"),
+      kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
+      kNetConnect: /* @__PURE__ */ Symbol("net connect"),
+      kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
+      kConnected: /* @__PURE__ */ Symbol("connected")
+    };
+  }
+});
+
+// node_modules/undici/lib/mock/mock-utils.js
+var require_mock_utils3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
+    "use strict";
+    var { MockNotMatchedError } = require_mock_errors3();
+    var {
+      kDispatches,
+      kMockAgent,
+      kOriginalDispatch,
+      kOrigin,
+      kGetNetConnect
+    } = require_mock_symbols3();
+    var { buildURL, nop } = require_util24();
+    var { STATUS_CODES } = require("http");
+    var {
+      types: {
+        isPromise
+      }
+    } = require("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 entry.relativePosix();
+        return void 0;
+      } else if (typeof headers.get === "function") {
+        return headers.get(key);
+      } else {
+        return lowerCaseEntries(headers)[key.toLocaleLowerCase()];
       }
-      /**
-       * Return the basename for the provided string or Path object
-       */
-      basename(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        }
-        return entry.name;
+    }
+    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 the dirname for the provided string or Path object
-       */
-      dirname(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
+      return Object.fromEntries(entries);
+    }
+    function matchHeaders(mockDispatch2, headers) {
+      if (typeof mockDispatch2.headers === "function") {
+        if (Array.isArray(headers)) {
+          headers = buildHeadersFromArray(headers);
         }
-        return (entry.parent || entry).fullpath();
+        return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {});
       }
-      async readdir(entry = this.cwd, opts = {
-        withFileTypes: true
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
-        }
-        const { withFileTypes } = opts;
-        if (!entry.canReaddir()) {
-          return [];
-        } else {
-          const p = await entry.readdir();
-          return withFileTypes ? p : p.map((e) => e.name);
-        }
+      if (typeof mockDispatch2.headers === "undefined") {
+        return true;
       }
-      readdirSync(entry = this.cwd, opts = {
-        withFileTypes: true
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
-        }
-        const { withFileTypes = true } = opts;
-        if (!entry.canReaddir()) {
-          return [];
-        } else if (withFileTypes) {
-          return entry.readdirSync();
-        } else {
-          return entry.readdirSync().map((e) => e.name);
-        }
+      if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") {
+        return false;
       }
-      /**
-       * Call lstat() on the string or Path object, and update all known
-       * information that can be determined.
-       *
-       * Note that unlike `fs.lstat()`, the returned value does not contain some
-       * information, such as `mode`, `dev`, `nlink`, and `ino`.  If that
-       * information is required, you will need to call `fs.lstat` yourself.
-       *
-       * If the Path refers to a nonexistent file, or if the lstat call fails for
-       * any reason, `undefined` is returned.  Otherwise the updated Path object is
-       * returned.
-       *
-       * Results are cached, and thus may be out of date if the filesystem is
-       * mutated.
-       */
-      async lstat(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
+      for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) {
+        const headerValue = getHeaderByName(headers, matchHeaderName);
+        if (!matchValue(matchHeaderValue, headerValue)) {
+          return false;
         }
-        return entry.lstat();
       }
-      /**
-       * synchronous {@link PathScurryBase.lstat}
-       */
-      lstatSync(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        }
-        return entry.lstatSync();
+      return true;
+    }
+    function safeUrl(path7) {
+      if (typeof path7 !== "string") {
+        return path7;
       }
-      async readlink(entry = this.cwd, { withFileTypes } = {
-        withFileTypes: false
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          withFileTypes = entry.withFileTypes;
-          entry = this.cwd;
-        }
-        const e = await entry.readlink();
-        return withFileTypes ? e : e?.fullpath();
+      const pathSegments = path7.split("?");
+      if (pathSegments.length !== 2) {
+        return path7;
       }
-      readlinkSync(entry = this.cwd, { withFileTypes } = {
-        withFileTypes: false
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          withFileTypes = entry.withFileTypes;
-          entry = this.cwd;
-        }
-        const e = entry.readlinkSync();
-        return withFileTypes ? e : e?.fullpath();
+      const qp = new URLSearchParams(pathSegments.pop());
+      qp.sort();
+      return [...pathSegments, qp.toString()].join("?");
+    }
+    function matchKey(mockDispatch2, { path: path7, method, body, headers }) {
+      const pathMatch = matchValue(mockDispatch2.path, path7);
+      const methodMatch = matchValue(mockDispatch2.method, method);
+      const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
+      const headersMatch = matchHeaders(mockDispatch2, headers);
+      return pathMatch && methodMatch && bodyMatch && headersMatch;
+    }
+    function getResponseData2(data) {
+      if (Buffer.isBuffer(data)) {
+        return data;
+      } else if (typeof data === "object") {
+        return JSON.stringify(data);
+      } else {
+        return data.toString();
       }
-      async realpath(entry = this.cwd, { withFileTypes } = {
-        withFileTypes: false
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          withFileTypes = entry.withFileTypes;
-          entry = this.cwd;
-        }
-        const e = await entry.realpath();
-        return withFileTypes ? e : e?.fullpath();
+    }
+    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: path7 }) => matchValue(safeUrl(path7), resolvedPath));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
       }
-      realpathSync(entry = this.cwd, { withFileTypes } = {
-        withFileTypes: false
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          withFileTypes = entry.withFileTypes;
-          entry = this.cwd;
-        }
-        const e = entry.realpathSync();
-        return withFileTypes ? e : e?.fullpath();
+      matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`);
       }
-      async walk(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
-        }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        const results = [];
-        if (!filter || filter(entry)) {
-          results.push(withFileTypes ? entry : entry.fullpath());
-        }
-        const dirs = /* @__PURE__ */ new Set();
-        const walk = (dir, cb) => {
-          dirs.add(dir);
-          dir.readdirCB((er, entries) => {
-            if (er) {
-              return cb(er);
-            }
-            let len = entries.length;
-            if (!len)
-              return cb();
-            const next = () => {
-              if (--len === 0) {
-                cb();
-              }
-            };
-            for (const e of entries) {
-              if (!filter || filter(e)) {
-                results.push(withFileTypes ? e : e.fullpath());
-              }
-              if (follow && e.isSymbolicLink()) {
-                e.realpath().then((r) => r?.isUnknown() ? r.lstat() : r).then((r) => r?.shouldWalk(dirs, walkFilter) ? walk(r, next) : next());
-              } else {
-                if (e.shouldWalk(dirs, walkFilter)) {
-                  walk(e, next);
-                } else {
-                  next();
-                }
-              }
-            }
-          }, true);
-        };
-        const start = entry;
-        return new Promise((res, rej) => {
-          walk(start, (er) => {
-            if (er)
-              return rej(er);
-            res(results);
-          });
-        });
+      matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`);
       }
-      walkSync(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
-        }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        const results = [];
-        if (!filter || filter(entry)) {
-          results.push(withFileTypes ? entry : entry.fullpath());
-        }
-        const dirs = /* @__PURE__ */ new Set([entry]);
-        for (const dir of dirs) {
-          const entries = dir.readdirSync();
-          for (const e of entries) {
-            if (!filter || filter(e)) {
-              results.push(withFileTypes ? e : e.fullpath());
-            }
-            let r = e;
-            if (e.isSymbolicLink()) {
-              if (!(follow && (r = e.realpathSync())))
-                continue;
-              if (r.isUnknown())
-                r.lstatSync();
-            }
-            if (r.shouldWalk(dirs, walkFilter)) {
-              dirs.add(r);
-            }
-          }
+      matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers}'`);
+      }
+      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 results;
+        return matchKey(dispatch, key);
+      });
+      if (index !== -1) {
+        mockDispatches.splice(index, 1);
       }
-      /**
-       * Support for `for await`
-       *
-       * Alias for {@link PathScurryBase.iterate}
-       *
-       * Note: As of Node 19, this is very slow, compared to other methods of
-       * walking.  Consider using {@link PathScurryBase.stream} if memory overhead
-       * and backpressure are concerns, or {@link PathScurryBase.walk} if not.
-       */
-      [Symbol.asyncIterator]() {
-        return this.iterate();
+    }
+    function buildKey(opts) {
+      const { path: path7, method, body, headers, query } = opts;
+      return {
+        path: path7,
+        method,
+        body,
+        headers,
+        query
+      };
+    }
+    function generateKeyValues(data) {
+      return Object.entries(data).reduce((keyValuePairs, [key, value]) => [
+        ...keyValuePairs,
+        Buffer.from(`${key}`),
+        Array.isArray(value) ? value.map((x) => Buffer.from(`${x}`)) : Buffer.from(`${value}`)
+      ], []);
+    }
+    function getStatusText(statusCode) {
+      return STATUS_CODES[statusCode] || "unknown";
+    }
+    async function getResponse(body) {
+      const buffers = [];
+      for await (const data of body) {
+        buffers.push(data);
       }
-      iterate(entry = this.cwd, options = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          options = entry;
-          entry = this.cwd;
-        }
-        return this.stream(entry, options)[Symbol.asyncIterator]();
+      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) };
       }
-      /**
-       * Iterating over a PathScurry performs a synchronous walk.
-       *
-       * Alias for {@link PathScurryBase.iterateSync}
-       */
-      [Symbol.iterator]() {
-        return this.iterateSync();
+      const { data: { statusCode, data, headers, trailers, error: error3 }, delay, persist } = mockDispatch2;
+      const { timesInvoked, times } = mockDispatch2;
+      mockDispatch2.consumed = !persist && timesInvoked >= times;
+      mockDispatch2.pending = timesInvoked < times;
+      if (error3 !== null) {
+        deleteMockDispatch(this[kDispatches], key);
+        handler2.onError(error3);
+        return true;
       }
-      *iterateSync(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
-        }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        if (!filter || filter(entry)) {
-          yield withFileTypes ? entry : entry.fullpath();
-        }
-        const dirs = /* @__PURE__ */ new Set([entry]);
-        for (const dir of dirs) {
-          const entries = dir.readdirSync();
-          for (const e of entries) {
-            if (!filter || filter(e)) {
-              yield withFileTypes ? e : e.fullpath();
-            }
-            let r = e;
-            if (e.isSymbolicLink()) {
-              if (!(follow && (r = e.realpathSync())))
-                continue;
-              if (r.isUnknown())
-                r.lstatSync();
-            }
-            if (r.shouldWalk(dirs, walkFilter)) {
-              dirs.add(r);
-            }
-          }
-        }
+      if (typeof delay === "number" && delay > 0) {
+        setTimeout(() => {
+          handleReply(this[kDispatches]);
+        }, delay);
+      } else {
+        handleReply(this[kDispatches]);
       }
-      stream(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
-        }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        const results = new minipass_1.Minipass({ objectMode: true });
-        if (!filter || filter(entry)) {
-          results.write(withFileTypes ? entry : entry.fullpath());
+      function handleReply(mockDispatches, _data = data) {
+        const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
+        const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
+        if (isPromise(body)) {
+          body.then((newData) => handleReply(mockDispatches, newData));
+          return;
         }
-        const dirs = /* @__PURE__ */ new Set();
-        const queue = [entry];
-        let processing = 0;
-        const process2 = () => {
-          let paused = false;
-          while (!paused) {
-            const dir = queue.shift();
-            if (!dir) {
-              if (processing === 0)
-                results.end();
-              return;
-            }
-            processing++;
-            dirs.add(dir);
-            const onReaddir = (er, entries, didRealpaths = false) => {
-              if (er)
-                return results.emit("error", er);
-              if (follow && !didRealpaths) {
-                const promises3 = [];
-                for (const e of entries) {
-                  if (e.isSymbolicLink()) {
-                    promises3.push(e.realpath().then((r) => r?.isUnknown() ? r.lstat() : r));
-                  }
-                }
-                if (promises3.length) {
-                  Promise.all(promises3).then(() => onReaddir(null, entries, true));
-                  return;
-                }
-              }
-              for (const e of entries) {
-                if (e && (!filter || filter(e))) {
-                  if (!results.write(withFileTypes ? e : e.fullpath())) {
-                    paused = true;
-                  }
-                }
-              }
-              processing--;
-              for (const e of entries) {
-                const r = e.realpathCached() || e;
-                if (r.shouldWalk(dirs, walkFilter)) {
-                  queue.push(r);
-                }
-              }
-              if (paused && !results.flowing) {
-                results.once("drain", process2);
-              } else if (!sync) {
-                process2();
-              }
-            };
-            let sync = true;
-            dir.readdirCB(onReaddir, true);
-            sync = false;
-          }
-        };
-        process2();
-        return results;
+        const responseData = getResponseData2(body);
+        const responseHeaders = generateKeyValues(headers);
+        const responseTrailers = generateKeyValues(trailers);
+        handler2.abort = nop;
+        handler2.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode));
+        handler2.onData(Buffer.from(responseData));
+        handler2.onComplete(responseTrailers);
+        deleteMockDispatch(mockDispatches, key);
       }
-      streamSync(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
-        }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        const results = new minipass_1.Minipass({ objectMode: true });
-        const dirs = /* @__PURE__ */ new Set();
-        if (!filter || filter(entry)) {
-          results.write(withFileTypes ? entry : entry.fullpath());
-        }
-        const queue = [entry];
-        let processing = 0;
-        const process2 = () => {
-          let paused = false;
-          while (!paused) {
-            const dir = queue.shift();
-            if (!dir) {
-              if (processing === 0)
-                results.end();
-              return;
-            }
-            processing++;
-            dirs.add(dir);
-            const entries = dir.readdirSync();
-            for (const e of entries) {
-              if (!filter || filter(e)) {
-                if (!results.write(withFileTypes ? e : e.fullpath())) {
-                  paused = true;
-                }
-              }
-            }
-            processing--;
-            for (const e of entries) {
-              let r = e;
-              if (e.isSymbolicLink()) {
-                if (!(follow && (r = e.realpathSync())))
-                  continue;
-                if (r.isUnknown())
-                  r.lstatSync();
+      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 (error3) {
+            if (error3 instanceof MockNotMatchedError) {
+              const netConnect = agent[kGetNetConnect]();
+              if (netConnect === false) {
+                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)`);
               }
-              if (r.shouldWalk(dirs, walkFilter)) {
-                queue.push(r);
+              if (checkNetConnect(netConnect, origin)) {
+                originalDispatch.call(this, opts, handler2);
+              } else {
+                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
               }
+            } else {
+              throw error3;
             }
           }
-          if (paused && !results.flowing)
-            results.once("drain", process2);
-        };
-        process2();
-        return results;
-      }
-      chdir(path7 = this.cwd) {
-        const oldCwd = this.cwd;
-        this.cwd = typeof path7 === "string" ? this.cwd.resolve(path7) : path7;
-        this.cwd[setAsCwd](oldCwd);
-      }
-    };
-    exports2.PathScurryBase = PathScurryBase;
-    var PathScurryWin32 = class extends PathScurryBase {
-      /**
-       * separator for generating path strings
-       */
-      sep = "\\";
-      constructor(cwd = process.cwd(), opts = {}) {
-        const { nocase = true } = opts;
-        super(cwd, node_path_1.win32, "\\", { ...opts, nocase });
-        this.nocase = nocase;
-        for (let p = this.cwd; p; p = p.parent) {
-          p.nocase = this.nocase;
+        } 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;
       }
-      /**
-       * @internal
-       */
-      parseRootPath(dir) {
-        return node_path_1.win32.parse(dir).root.toUpperCase();
-      }
-      /**
-       * @internal
-       */
-      newRoot(fs8) {
-        return new PathWin32(this.rootPath, IFDIR, void 0, this.roots, this.nocase, this.childrenCache(), { fs: fs8 });
-      }
-      /**
-       * Return true if the provided path string is an absolute path
-       */
-      isAbsolute(p) {
-        return p.startsWith("/") || p.startsWith("\\") || /^[a-z]:(\/|\\)/i.test(p);
+      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
     };
-    exports2.PathScurryWin32 = PathScurryWin32;
-    var PathScurryPosix = class extends PathScurryBase {
-      /**
-       * separator for generating path strings
-       */
-      sep = "/";
-      constructor(cwd = process.cwd(), opts = {}) {
-        const { nocase = false } = opts;
-        super(cwd, node_path_1.posix, "/", { ...opts, nocase });
-        this.nocase = nocase;
+  }
+});
+
+// node_modules/undici/lib/mock/mock-interceptor.js
+var require_mock_interceptor3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
+    "use strict";
+    var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils3();
+    var {
+      kDispatches,
+      kDispatchKey,
+      kDefaultHeaders,
+      kDefaultTrailers,
+      kContentLength,
+      kMockDispatch
+    } = require_mock_symbols3();
+    var { InvalidArgumentError } = require_errors6();
+    var { buildURL } = require_util24();
+    var MockScope = class {
+      constructor(mockDispatch) {
+        this[kMockDispatch] = mockDispatch;
       }
       /**
-       * @internal
+       * Delay a reply by a set amount in ms.
        */
-      parseRootPath(_dir) {
-        return "/";
+      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;
       }
       /**
-       * @internal
+       * For a defined reply, never mark as consumed.
        */
-      newRoot(fs8) {
-        return new PathPosix(this.rootPath, IFDIR, void 0, this.roots, this.nocase, this.childrenCache(), { fs: fs8 });
+      persist() {
+        this[kMockDispatch].persist = true;
+        return this;
       }
       /**
-       * Return true if the provided path string is an absolute path
+       * Allow one to define a reply for a set amount of matching requests.
        */
-      isAbsolute(p) {
-        return p.startsWith("/");
-      }
-    };
-    exports2.PathScurryPosix = PathScurryPosix;
-    var PathScurryDarwin = class extends PathScurryPosix {
-      constructor(cwd = process.cwd(), opts = {}) {
-        const { nocase = true } = opts;
-        super(cwd, { ...opts, nocase });
+      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;
       }
     };
-    exports2.PathScurryDarwin = PathScurryDarwin;
-    exports2.Path = process.platform === "win32" ? PathWin32 : PathPosix;
-    exports2.PathScurry = process.platform === "win32" ? PathScurryWin32 : process.platform === "darwin" ? PathScurryDarwin : PathScurryPosix;
-  }
-});
-
-// node_modules/glob/dist/commonjs/pattern.js
-var require_pattern = __commonJS({
-  "node_modules/glob/dist/commonjs/pattern.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Pattern = void 0;
-    var minimatch_1 = require_commonjs20();
-    var isPatternList = (pl) => pl.length >= 1;
-    var isGlobList = (gl) => gl.length >= 1;
-    var Pattern = class _Pattern {
-      #patternList;
-      #globList;
-      #index;
-      length;
-      #platform;
-      #rest;
-      #globString;
-      #isDrive;
-      #isUNC;
-      #isAbsolute;
-      #followGlobstar = true;
-      constructor(patternList, globList, index, platform) {
-        if (!isPatternList(patternList)) {
-          throw new TypeError("empty pattern list");
-        }
-        if (!isGlobList(globList)) {
-          throw new TypeError("empty glob list");
+    var MockInterceptor = class {
+      constructor(opts, mockDispatches) {
+        if (typeof opts !== "object") {
+          throw new InvalidArgumentError("opts must be an object");
         }
-        if (globList.length !== patternList.length) {
-          throw new TypeError("mismatched pattern list and glob list lengths");
+        if (typeof opts.path === "undefined") {
+          throw new InvalidArgumentError("opts.path must be defined");
         }
-        this.length = patternList.length;
-        if (index < 0 || index >= this.length) {
-          throw new TypeError("index out of range");
+        if (typeof opts.method === "undefined") {
+          opts.method = "GET";
         }
-        this.#patternList = patternList;
-        this.#globList = globList;
-        this.#index = index;
-        this.#platform = platform;
-        if (this.#index === 0) {
-          if (this.isUNC()) {
-            const [p0, p1, p2, p3, ...prest] = this.#patternList;
-            const [g0, g1, g2, g3, ...grest] = this.#globList;
-            if (prest[0] === "") {
-              prest.shift();
-              grest.shift();
-            }
-            const p = [p0, p1, p2, p3, ""].join("/");
-            const g = [g0, g1, g2, g3, ""].join("/");
-            this.#patternList = [p, ...prest];
-            this.#globList = [g, ...grest];
-            this.length = this.#patternList.length;
-          } else if (this.isDrive() || this.isAbsolute()) {
-            const [p1, ...prest] = this.#patternList;
-            const [g1, ...grest] = this.#globList;
-            if (prest[0] === "") {
-              prest.shift();
-              grest.shift();
-            }
-            const p = p1 + "/";
-            const g = g1 + "/";
-            this.#patternList = [p, ...prest];
-            this.#globList = [g, ...grest];
-            this.length = this.#patternList.length;
+        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;
       }
-      /**
-       * The first entry in the parsed list of patterns
-       */
-      pattern() {
-        return this.#patternList[this.#index];
-      }
-      /**
-       * true of if pattern() returns a string
-       */
-      isString() {
-        return typeof this.#patternList[this.#index] === "string";
-      }
-      /**
-       * true of if pattern() returns GLOBSTAR
-       */
-      isGlobstar() {
-        return this.#patternList[this.#index] === minimatch_1.GLOBSTAR;
+      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 };
       }
-      /**
-       * true if pattern() returns a regexp
-       */
-      isRegExp() {
-        return this.#patternList[this.#index] instanceof RegExp;
+      validateReplyParameters(statusCode, data, responseOptions) {
+        if (typeof statusCode === "undefined") {
+          throw new InvalidArgumentError("statusCode must be defined");
+        }
+        if (typeof data === "undefined") {
+          throw new InvalidArgumentError("data must be defined");
+        }
+        if (typeof responseOptions !== "object") {
+          throw new InvalidArgumentError("responseOptions must be an object");
+        }
       }
       /**
-       * The /-joined set of glob parts that make up this pattern
+       * Mock an undici request with a defined reply.
        */
-      globString() {
-        return this.#globString = this.#globString || (this.#index === 0 ? this.isAbsolute() ? this.#globList[0] + this.#globList.slice(1).join("/") : this.#globList.join("/") : this.#globList.slice(this.#index).join("/"));
+      reply(replyData) {
+        if (typeof replyData === "function") {
+          const wrappedDefaultsCallback = (opts) => {
+            const resolvedData = replyData(opts);
+            if (typeof resolvedData !== "object") {
+              throw new InvalidArgumentError("reply options callback must return an object");
+            }
+            const { statusCode: statusCode2, data: data2 = "", responseOptions: responseOptions2 = {} } = resolvedData;
+            this.validateReplyParameters(statusCode2, data2, responseOptions2);
+            return {
+              ...this.createMockScopeDispatchData(statusCode2, data2, responseOptions2)
+            };
+          };
+          const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback);
+          return new MockScope(newMockDispatch2);
+        }
+        const [statusCode, data = "", responseOptions = {}] = [...arguments];
+        this.validateReplyParameters(statusCode, data, responseOptions);
+        const dispatchData = this.createMockScopeDispatchData(statusCode, data, responseOptions);
+        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData);
+        return new MockScope(newMockDispatch);
       }
       /**
-       * true if there are more pattern parts after this one
+       * Mock an undici request with a defined error.
        */
-      hasMore() {
-        return this.length > this.#index + 1;
+      replyWithError(error3) {
+        if (typeof error3 === "undefined") {
+          throw new InvalidArgumentError("error must be defined");
+        }
+        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error: error3 });
+        return new MockScope(newMockDispatch);
       }
       /**
-       * The rest of the pattern after this part, or null if this is the end
+       * Set default reply headers on the interceptor for subsequent replies
        */
-      rest() {
-        if (this.#rest !== void 0)
-          return this.#rest;
-        if (!this.hasMore())
-          return this.#rest = null;
-        this.#rest = new _Pattern(this.#patternList, this.#globList, this.#index + 1, this.#platform);
-        this.#rest.#isAbsolute = this.#isAbsolute;
-        this.#rest.#isUNC = this.#isUNC;
-        this.#rest.#isDrive = this.#isDrive;
-        return this.#rest;
+      defaultReplyHeaders(headers) {
+        if (typeof headers === "undefined") {
+          throw new InvalidArgumentError("headers must be defined");
+        }
+        this[kDefaultHeaders] = headers;
+        return this;
       }
       /**
-       * true if the pattern represents a //unc/path/ on windows
+       * Set default reply trailers on the interceptor for subsequent replies
        */
-      isUNC() {
-        const pl = this.#patternList;
-        return this.#isUNC !== void 0 ? this.#isUNC : this.#isUNC = this.#platform === "win32" && this.#index === 0 && pl[0] === "" && pl[1] === "" && typeof pl[2] === "string" && !!pl[2] && typeof pl[3] === "string" && !!pl[3];
+      defaultReplyTrailers(trailers) {
+        if (typeof trailers === "undefined") {
+          throw new InvalidArgumentError("trailers must be defined");
+        }
+        this[kDefaultTrailers] = trailers;
+        return this;
       }
-      // pattern like C:/...
-      // split = ['C:', ...]
-      // XXX: would be nice to handle patterns like `c:*` to test the cwd
-      // in c: for *, but I don't know of a way to even figure out what that
-      // cwd is without actually chdir'ing into it?
       /**
-       * True if the pattern starts with a drive letter on Windows
+       * Set reply content length header for replies on the interceptor
        */
-      isDrive() {
-        const pl = this.#patternList;
-        return this.#isDrive !== void 0 ? this.#isDrive : this.#isDrive = this.#platform === "win32" && this.#index === 0 && this.length > 1 && typeof pl[0] === "string" && /^[a-z]:$/i.test(pl[0]);
+      replyContentLength() {
+        this[kContentLength] = true;
+        return this;
       }
-      // pattern = '/' or '/...' or '/x/...'
-      // split = ['', ''] or ['', ...] or ['', 'x', ...]
-      // Drive and UNC both considered absolute on windows
-      /**
-       * True if the pattern is rooted on an absolute path
-       */
-      isAbsolute() {
-        const pl = this.#patternList;
-        return this.#isAbsolute !== void 0 ? this.#isAbsolute : this.#isAbsolute = pl[0] === "" && pl.length > 1 || this.isDrive() || this.isUNC();
+    };
+    module2.exports.MockInterceptor = MockInterceptor;
+    module2.exports.MockScope = MockScope;
+  }
+});
+
+// node_modules/undici/lib/mock/mock-client.js
+var require_mock_client3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
+    "use strict";
+    var { promisify } = require("util");
+    var Client = require_client3();
+    var { buildMockDispatch } = require_mock_utils3();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols3();
+    var { MockInterceptor } = require_mock_interceptor3();
+    var Symbols = require_symbols11();
+    var { InvalidArgumentError } = require_errors6();
+    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];
       }
-      /**
-       * consume the root of the pattern, and return it
-       */
-      root() {
-        const p = this.#patternList[0];
-        return typeof p === "string" && this.isAbsolute() && this.#index === 0 ? p : "";
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
       /**
-       * Check to see if the current globstar pattern is allowed to follow
-       * a symbolic link.
+       * Sets up the base interceptor for mocking replies from undici.
        */
-      checkFollowGlobstar() {
-        return !(this.#index === 0 || !this.isGlobstar() || !this.#followGlobstar);
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
       }
-      /**
-       * Mark that the current globstar pattern is following a symbolic link
-       */
-      markFollowGlobstar() {
-        if (this.#index === 0 || !this.isGlobstar() || !this.#followGlobstar)
-          return false;
-        this.#followGlobstar = false;
-        return true;
+      async [kClose]() {
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
     };
-    exports2.Pattern = Pattern;
+    module2.exports = MockClient;
   }
 });
 
-// node_modules/glob/dist/commonjs/ignore.js
-var require_ignore = __commonJS({
-  "node_modules/glob/dist/commonjs/ignore.js"(exports2) {
+// node_modules/undici/lib/mock/mock-pool.js
+var require_mock_pool3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Ignore = void 0;
-    var minimatch_1 = require_commonjs20();
-    var pattern_js_1 = require_pattern();
-    var defaultPlatform = typeof process === "object" && process && typeof process.platform === "string" ? process.platform : "linux";
-    var Ignore = class {
-      relative;
-      relativeChildren;
-      absolute;
-      absoluteChildren;
-      platform;
-      mmopts;
-      constructor(ignored, { nobrace, nocase, noext, noglobstar, platform = defaultPlatform }) {
-        this.relative = [];
-        this.absolute = [];
-        this.relativeChildren = [];
-        this.absoluteChildren = [];
-        this.platform = platform;
-        this.mmopts = {
-          dot: true,
-          nobrace,
-          nocase,
-          noext,
-          noglobstar,
-          optimizationLevel: 2,
-          platform,
-          nocomment: true,
-          nonegate: true
-        };
-        for (const ign of ignored)
-          this.add(ign);
-      }
-      add(ign) {
-        const mm = new minimatch_1.Minimatch(ign, this.mmopts);
-        for (let i = 0; i < mm.set.length; i++) {
-          const parsed = mm.set[i];
-          const globParts = mm.globParts[i];
-          if (!parsed || !globParts) {
-            throw new Error("invalid pattern object");
-          }
-          while (parsed[0] === "." && globParts[0] === ".") {
-            parsed.shift();
-            globParts.shift();
-          }
-          const p = new pattern_js_1.Pattern(parsed, globParts, 0, this.platform);
-          const m = new minimatch_1.Minimatch(p.globString(), this.mmopts);
-          const children = globParts[globParts.length - 1] === "**";
-          const absolute = p.isAbsolute();
-          if (absolute)
-            this.absolute.push(m);
-          else
-            this.relative.push(m);
-          if (children) {
-            if (absolute)
-              this.absoluteChildren.push(m);
-            else
-              this.relativeChildren.push(m);
-          }
+    var { promisify } = require("util");
+    var Pool = require_pool3();
+    var { buildMockDispatch } = require_mock_utils3();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols3();
+    var { MockInterceptor } = require_mock_interceptor3();
+    var Symbols = require_symbols11();
+    var { InvalidArgumentError } = require_errors6();
+    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];
       }
-      ignored(p) {
-        const fullpath = p.fullpath();
-        const fullpaths = `${fullpath}/`;
-        const relative = p.relative() || ".";
-        const relatives = `${relative}/`;
-        for (const m of this.relative) {
-          if (m.match(relative) || m.match(relatives))
-            return true;
-        }
-        for (const m of this.absolute) {
-          if (m.match(fullpath) || m.match(fullpaths))
-            return true;
-        }
-        return false;
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
-      childrenIgnored(p) {
-        const fullpath = p.fullpath() + "/";
-        const relative = (p.relative() || ".") + "/";
-        for (const m of this.relativeChildren) {
-          if (m.match(relative))
-            return true;
-        }
-        for (const m of this.absoluteChildren) {
-          if (m.match(fullpath))
-            return true;
-        }
-        return false;
+      /**
+       * 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]);
       }
     };
-    exports2.Ignore = Ignore;
+    module2.exports = MockPool;
   }
 });
 
-// node_modules/glob/dist/commonjs/processor.js
-var require_processor = __commonJS({
-  "node_modules/glob/dist/commonjs/processor.js"(exports2) {
+// node_modules/undici/lib/mock/pluralizer.js
+var require_pluralizer3 = __commonJS({
+  "node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Processor = exports2.SubWalks = exports2.MatchRecord = exports2.HasWalkedCache = void 0;
-    var minimatch_1 = require_commonjs20();
-    var HasWalkedCache = class _HasWalkedCache {
-      store;
-      constructor(store = /* @__PURE__ */ new Map()) {
-        this.store = store;
+    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;
       }
-      copy() {
-        return new _HasWalkedCache(new Map(this.store));
+      pluralize(count) {
+        const one = count === 1;
+        const keys = one ? singulars : plurals;
+        const noun = one ? this.singular : this.plural;
+        return { ...keys, count, noun };
       }
-      hasWalked(target, pattern) {
-        return this.store.get(target.fullpath())?.has(pattern.globString());
+    };
+  }
+});
+
+// node_modules/undici/lib/mock/pending-interceptors-formatter.js
+var require_pending_interceptors_formatter3 = __commonJS({
+  "node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
+    "use strict";
+    var { Transform } = require("stream");
+    var { Console } = require("console");
+    module2.exports = class PendingInterceptorsFormatter {
+      constructor({ disableColors } = {}) {
+        this.transform = new Transform({
+          transform(chunk, _enc, cb) {
+            cb(null, chunk);
+          }
+        });
+        this.logger = new Console({
+          stdout: this.transform,
+          inspectOptions: {
+            colors: !disableColors && !process.env.CI
+          }
+        });
       }
-      storeWalked(target, pattern) {
-        const fullpath = target.fullpath();
-        const cached = this.store.get(fullpath);
-        if (cached)
-          cached.add(pattern.globString());
-        else
-          this.store.set(fullpath, /* @__PURE__ */ new Set([pattern.globString()]));
+      format(pendingInterceptors) {
+        const withPrettyHeaders = pendingInterceptors.map(
+          ({ method, path: path7, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
+            Method: method,
+            Origin: origin,
+            Path: path7,
+            "Status code": statusCode,
+            Persistent: persist ? "\u2705" : "\u274C",
+            Invocations: timesInvoked,
+            Remaining: persist ? Infinity : times - timesInvoked
+          })
+        );
+        this.logger.table(withPrettyHeaders);
+        return this.transform.read().toString();
       }
     };
-    exports2.HasWalkedCache = HasWalkedCache;
-    var MatchRecord = class {
-      store = /* @__PURE__ */ new Map();
-      add(target, absolute, ifDir) {
-        const n = (absolute ? 2 : 0) | (ifDir ? 1 : 0);
-        const current = this.store.get(target);
-        this.store.set(target, current === void 0 ? n : n & current);
+  }
+});
+
+// node_modules/undici/lib/mock/mock-agent.js
+var require_mock_agent3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
+    "use strict";
+    var { kClients } = require_symbols11();
+    var Agent = require_agent3();
+    var {
+      kAgent,
+      kMockAgentSet,
+      kMockAgentGet,
+      kDispatches,
+      kIsMockActive,
+      kNetConnect,
+      kGetNetConnect,
+      kOptions,
+      kFactory
+    } = require_mock_symbols3();
+    var MockClient = require_mock_client3();
+    var MockPool = require_mock_pool3();
+    var { matchValue, buildMockOptions } = require_mock_utils3();
+    var { InvalidArgumentError, UndiciError } = require_errors6();
+    var Dispatcher = require_dispatcher3();
+    var Pluralizer = require_pluralizer3();
+    var PendingInterceptorsFormatter = require_pending_interceptors_formatter3();
+    var FakeWeakRef = class {
+      constructor(value) {
+        this.value = value;
       }
-      // match, absolute, ifdir
-      entries() {
-        return [...this.store.entries()].map(([path7, n]) => [
-          path7,
-          !!(n & 2),
-          !!(n & 1)
-        ]);
+      deref() {
+        return this.value;
       }
     };
-    exports2.MatchRecord = MatchRecord;
-    var SubWalks = class {
-      store = /* @__PURE__ */ new Map();
-      add(target, pattern) {
-        if (!target.canReaddir()) {
-          return;
+    var MockAgent = class extends Dispatcher {
+      constructor(opts) {
+        super(opts);
+        this[kNetConnect] = true;
+        this[kIsMockActive] = true;
+        if (opts && opts.agent && typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
         }
-        const subs = this.store.get(target);
-        if (subs) {
-          if (!subs.find((p) => p.globString() === pattern.globString())) {
-            subs.push(pattern);
-          }
-        } else
-          this.store.set(target, [pattern]);
+        const agent = opts && opts.agent ? opts.agent : new Agent(opts);
+        this[kAgent] = agent;
+        this[kClients] = agent[kClients];
+        this[kOptions] = buildMockOptions(opts);
       }
-      get(target) {
-        const subs = this.store.get(target);
-        if (!subs) {
-          throw new Error("attempting to walk unknown path");
+      get(origin) {
+        let dispatcher = this[kMockAgentGet](origin);
+        if (!dispatcher) {
+          dispatcher = this[kFactory](origin);
+          this[kMockAgentSet](origin, dispatcher);
         }
-        return subs;
+        return dispatcher;
       }
-      entries() {
-        return this.keys().map((k) => [k, this.store.get(k)]);
+      dispatch(opts, handler2) {
+        this.get(opts.origin);
+        return this[kAgent].dispatch(opts, handler2);
       }
-      keys() {
-        return [...this.store.keys()].filter((t) => t.canReaddir());
+      async close() {
+        await this[kAgent].close();
+        this[kClients].clear();
       }
-    };
-    exports2.SubWalks = SubWalks;
-    var Processor = class _Processor {
-      hasWalkedCache;
-      matches = new MatchRecord();
-      subwalks = new SubWalks();
-      patterns;
-      follow;
-      dot;
-      opts;
-      constructor(opts, hasWalkedCache) {
-        this.opts = opts;
-        this.follow = !!opts.follow;
-        this.dot = !!opts.dot;
-        this.hasWalkedCache = hasWalkedCache ? hasWalkedCache.copy() : new HasWalkedCache();
+      deactivate() {
+        this[kIsMockActive] = false;
       }
-      processPatterns(target, patterns) {
-        this.patterns = patterns;
-        const processingSet = patterns.map((p) => [target, p]);
-        for (let [t, pattern] of processingSet) {
-          this.hasWalkedCache.storeWalked(t, pattern);
-          const root = pattern.root();
-          const absolute = pattern.isAbsolute() && this.opts.absolute !== false;
-          if (root) {
-            t = t.resolve(root === "/" && this.opts.root !== void 0 ? this.opts.root : root);
-            const rest2 = pattern.rest();
-            if (!rest2) {
-              this.matches.add(t, true, false);
-              continue;
-            } else {
-              pattern = rest2;
-            }
-          }
-          if (t.isENOENT())
-            continue;
-          let p;
-          let rest;
-          let changed = false;
-          while (typeof (p = pattern.pattern()) === "string" && (rest = pattern.rest())) {
-            const c = t.resolve(p);
-            t = c;
-            pattern = rest;
-            changed = true;
-          }
-          p = pattern.pattern();
-          rest = pattern.rest();
-          if (changed) {
-            if (this.hasWalkedCache.hasWalked(t, pattern))
-              continue;
-            this.hasWalkedCache.storeWalked(t, pattern);
-          }
-          if (typeof p === "string") {
-            const ifDir = p === ".." || p === "" || p === ".";
-            this.matches.add(t.resolve(p), absolute, ifDir);
-            continue;
-          } else if (p === minimatch_1.GLOBSTAR) {
-            if (!t.isSymbolicLink() || this.follow || pattern.checkFollowGlobstar()) {
-              this.subwalks.add(t, pattern);
-            }
-            const rp = rest?.pattern();
-            const rrest = rest?.rest();
-            if (!rest || (rp === "" || rp === ".") && !rrest) {
-              this.matches.add(t, absolute, rp === "" || rp === ".");
-            } else {
-              if (rp === "..") {
-                const tp = t.parent || t;
-                if (!rrest)
-                  this.matches.add(tp, absolute, true);
-                else if (!this.hasWalkedCache.hasWalked(tp, rrest)) {
-                  this.subwalks.add(tp, rrest);
-                }
-              }
-            }
-          } else if (p instanceof RegExp) {
-            this.subwalks.add(t, pattern);
+      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.");
         }
-        return this;
       }
-      subwalkTargets() {
-        return this.subwalks.keys();
+      disableNetConnect() {
+        this[kNetConnect] = false;
       }
-      child() {
-        return new _Processor(this.opts, this.hasWalkedCache);
+      // This is required to bypass issues caused by using global symbols - see:
+      // https://github.com/nodejs/undici/issues/1447
+      get isMockActive() {
+        return this[kIsMockActive];
       }
-      // return a new Processor containing the subwalks for each
-      // child entry, and a set of matches, and
-      // a hasWalkedCache that's a copy of this one
-      // then we're going to call
-      filterEntries(parent, entries) {
-        const patterns = this.subwalks.get(parent);
-        const results = this.child();
-        for (const e of entries) {
-          for (const pattern of patterns) {
-            const absolute = pattern.isAbsolute();
-            const p = pattern.pattern();
-            const rest = pattern.rest();
-            if (p === minimatch_1.GLOBSTAR) {
-              results.testGlobstar(e, pattern, rest, absolute);
-            } else if (p instanceof RegExp) {
-              results.testRegExp(e, p, rest, absolute);
-            } else {
-              results.testString(e, p, rest, absolute);
-            }
-          }
-        }
-        return results;
+      [kMockAgentSet](origin, dispatcher) {
+        this[kClients].set(origin, new FakeWeakRef(dispatcher));
       }
-      testGlobstar(e, pattern, rest, absolute) {
-        if (this.dot || !e.name.startsWith(".")) {
-          if (!pattern.hasMore()) {
-            this.matches.add(e, absolute, false);
-          }
-          if (e.canReaddir()) {
-            if (this.follow || !e.isSymbolicLink()) {
-              this.subwalks.add(e, pattern);
-            } else if (e.isSymbolicLink()) {
-              if (rest && pattern.checkFollowGlobstar()) {
-                this.subwalks.add(e, rest);
-              } else if (pattern.markFollowGlobstar()) {
-                this.subwalks.add(e, pattern);
-              }
-            }
-          }
+      [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 ref = this[kClients].get(origin);
+        if (ref) {
+          return ref.deref();
         }
-        if (rest) {
-          const rp = rest.pattern();
-          if (typeof rp === "string" && // dots and empty were handled already
-          rp !== ".." && rp !== "" && rp !== ".") {
-            this.testString(e, rp, rest.rest(), absolute);
-          } else if (rp === "..") {
-            const ep = e.parent || e;
-            this.subwalks.add(ep, rest);
-          } else if (rp instanceof RegExp) {
-            this.testRegExp(e, rp, rest.rest(), absolute);
+        if (typeof origin !== "string") {
+          const dispatcher = this[kFactory]("http://localhost:9999");
+          this[kMockAgentSet](origin, dispatcher);
+          return dispatcher;
+        }
+        for (const [keyMatcher, nonExplicitRef] of Array.from(this[kClients])) {
+          const nonExplicitDispatcher = nonExplicitRef.deref();
+          if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) {
+            const dispatcher = this[kFactory](origin);
+            this[kMockAgentSet](origin, dispatcher);
+            dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches];
+            return dispatcher;
           }
         }
       }
-      testRegExp(e, p, rest, absolute) {
-        if (!p.test(e.name))
-          return;
-        if (!rest) {
-          this.matches.add(e, absolute, false);
-        } else {
-          this.subwalks.add(e, rest);
-        }
+      [kGetNetConnect]() {
+        return this[kNetConnect];
       }
-      testString(e, p, rest, absolute) {
-        if (!e.isNamed(p))
+      pendingInterceptors() {
+        const mockAgentClients = this[kClients];
+        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope.deref()[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
+      }
+      assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) {
+        const pending = this.pendingInterceptors();
+        if (pending.length === 0) {
           return;
-        if (!rest) {
-          this.matches.add(e, absolute, false);
-        } else {
-          this.subwalks.add(e, rest);
         }
+        const pluralizer = new Pluralizer("interceptor", "interceptors").pluralize(pending.length);
+        throw new UndiciError(`
+${pluralizer.count} ${pluralizer.noun} ${pluralizer.is} pending:
+
+${pendingInterceptorsFormatter.format(pending)}
+`.trim());
       }
     };
-    exports2.Processor = Processor;
+    module2.exports = MockAgent;
   }
 });
 
-// node_modules/glob/dist/commonjs/walker.js
-var require_walker = __commonJS({
-  "node_modules/glob/dist/commonjs/walker.js"(exports2) {
+// node_modules/undici/lib/proxy-agent.js
+var require_proxy_agent3 = __commonJS({
+  "node_modules/undici/lib/proxy-agent.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.GlobStream = exports2.GlobWalker = exports2.GlobUtil = void 0;
-    var minipass_1 = require_commonjs22();
-    var ignore_js_1 = require_ignore();
-    var processor_js_1 = require_processor();
-    var makeIgnore = (ignore, opts) => typeof ignore === "string" ? new ignore_js_1.Ignore([ignore], opts) : Array.isArray(ignore) ? new ignore_js_1.Ignore(ignore, opts) : ignore;
-    var GlobUtil = class {
-      path;
-      patterns;
-      opts;
-      seen = /* @__PURE__ */ new Set();
-      paused = false;
-      aborted = false;
-      #onResume = [];
-      #ignore;
-      #sep;
-      signal;
-      maxDepth;
-      includeChildMatches;
-      constructor(patterns, path7, opts) {
-        this.patterns = patterns;
-        this.path = path7;
-        this.opts = opts;
-        this.#sep = !opts.posix && opts.platform === "win32" ? "\\" : "/";
-        this.includeChildMatches = opts.includeChildMatches !== false;
-        if (opts.ignore || !this.includeChildMatches) {
-          this.#ignore = makeIgnore(opts.ignore ?? [], opts);
-          if (!this.includeChildMatches && typeof this.#ignore.add !== "function") {
-            const m = "cannot ignore child matches, ignore lacks add() method.";
-            throw new Error(m);
-          }
-        }
-        this.maxDepth = opts.maxDepth || Infinity;
-        if (opts.signal) {
-          this.signal = opts.signal;
-          this.signal.addEventListener("abort", () => {
-            this.#onResume.length = 0;
-          });
-        }
-      }
-      #ignored(path7) {
-        return this.seen.has(path7) || !!this.#ignore?.ignored?.(path7);
-      }
-      #childrenIgnored(path7) {
-        return !!this.#ignore?.childrenIgnored?.(path7);
-      }
-      // backpressure mechanism
-      pause() {
-        this.paused = true;
+    var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols11();
+    var { URL: URL2 } = require("url");
+    var Agent = require_agent3();
+    var Pool = require_pool3();
+    var DispatcherBase = require_dispatcher_base3();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors6();
+    var buildConnector = require_connect3();
+    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
+    var kClient = /* @__PURE__ */ Symbol("proxy client");
+    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
+    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
+    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
+    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
+    function defaultProtocolPort(protocol) {
+      return protocol === "https:" ? 443 : 80;
+    }
+    function buildProxyOptions(opts) {
+      if (typeof opts === "string") {
+        opts = { uri: opts };
       }
-      resume() {
-        if (this.signal?.aborted)
-          return;
-        this.paused = false;
-        let fn = void 0;
-        while (!this.paused && (fn = this.#onResume.shift())) {
-          fn();
-        }
+      if (!opts || !opts.uri) {
+        throw new InvalidArgumentError("Proxy opts.uri is mandatory");
       }
-      onResume(fn) {
-        if (this.signal?.aborted)
-          return;
-        if (!this.paused) {
-          fn();
-        } else {
-          this.#onResume.push(fn);
+      return {
+        uri: opts.uri,
+        protocol: opts.protocol || "https"
+      };
+    }
+    function defaultFactory(origin, opts) {
+      return new Pool(origin, opts);
+    }
+    var ProxyAgent = class extends DispatcherBase {
+      constructor(opts) {
+        super(opts);
+        this[kProxy] = buildProxyOptions(opts);
+        this[kAgent] = new Agent(opts);
+        this[kInterceptors] = opts.interceptors && opts.interceptors.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : [];
+        if (typeof opts === "string") {
+          opts = { uri: opts };
         }
-      }
-      // do the requisite realpath/stat checking, and return the path
-      // to add or undefined to filter it out.
-      async matchCheck(e, ifDir) {
-        if (ifDir && this.opts.nodir)
-          return void 0;
-        let rpc;
-        if (this.opts.realpath) {
-          rpc = e.realpathCached() || await e.realpath();
-          if (!rpc)
-            return void 0;
-          e = rpc;
+        if (!opts || !opts.uri) {
+          throw new InvalidArgumentError("Proxy opts.uri is mandatory");
         }
-        const needStat = e.isUnknown() || this.opts.stat;
-        const s = needStat ? await e.lstat() : e;
-        if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) {
-          const target = await s.realpath();
-          if (target && (target.isUnknown() || this.opts.stat)) {
-            await target.lstat();
-          }
+        const { clientFactory = defaultFactory } = opts;
+        if (typeof clientFactory !== "function") {
+          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
         }
-        return this.matchCheckTest(s, ifDir);
-      }
-      matchCheckTest(e, ifDir) {
-        return e && (this.maxDepth === Infinity || e.depth() <= this.maxDepth) && (!ifDir || e.canReaddir()) && (!this.opts.nodir || !e.isDirectory()) && (!this.opts.nodir || !this.opts.follow || !e.isSymbolicLink() || !e.realpathCached()?.isDirectory()) && !this.#ignored(e) ? e : void 0;
-      }
-      matchCheckSync(e, ifDir) {
-        if (ifDir && this.opts.nodir)
-          return void 0;
-        let rpc;
-        if (this.opts.realpath) {
-          rpc = e.realpathCached() || e.realpathSync();
-          if (!rpc)
-            return void 0;
-          e = rpc;
+        this[kRequestTls] = opts.requestTls;
+        this[kProxyTls] = opts.proxyTls;
+        this[kProxyHeaders] = opts.headers || {};
+        const resolvedUrl = new URL2(opts.uri);
+        const { origin, port, host, username, password } = resolvedUrl;
+        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 needStat = e.isUnknown() || this.opts.stat;
-        const s = needStat ? e.lstatSync() : e;
-        if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) {
-          const target = s.realpathSync();
-          if (target && (target?.isUnknown() || this.opts.stat)) {
-            target.lstatSync();
+        const connect = buildConnector({ ...opts.proxyTls });
+        this[kConnectEndpoint] = buildConnector({ ...opts.requestTls });
+        this[kClient] = clientFactory(resolvedUrl, { connect });
+        this[kAgent] = new Agent({
+          ...opts,
+          connect: async (opts2, callback) => {
+            let requestedHost = opts2.host;
+            if (!opts2.port) {
+              requestedHost += `:${defaultProtocolPort(opts2.protocol)}`;
+            }
+            try {
+              const { socket, statusCode } = await this[kClient].connect({
+                origin,
+                port,
+                path: requestedHost,
+                signal: opts2.signal,
+                headers: {
+                  ...this[kProxyHeaders],
+                  host
+                }
+              });
+              if (statusCode !== 200) {
+                socket.on("error", () => {
+                }).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) {
+              callback(err);
+            }
           }
-        }
-        return this.matchCheckTest(s, ifDir);
-      }
-      matchFinish(e, absolute) {
-        if (this.#ignored(e))
-          return;
-        if (!this.includeChildMatches && this.#ignore?.add) {
-          const ign = `${e.relativePosix()}/**`;
-          this.#ignore.add(ign);
-        }
-        const abs = this.opts.absolute === void 0 ? absolute : this.opts.absolute;
-        this.seen.add(e);
-        const mark = this.opts.mark && e.isDirectory() ? this.#sep : "";
-        if (this.opts.withFileTypes) {
-          this.matchEmit(e);
-        } else if (abs) {
-          const abs2 = this.opts.posix ? e.fullpathPosix() : e.fullpath();
-          this.matchEmit(abs2 + mark);
-        } else {
-          const rel = this.opts.posix ? e.relativePosix() : e.relative();
-          const pre = this.opts.dotRelative && !rel.startsWith(".." + this.#sep) ? "." + this.#sep : "";
-          this.matchEmit(!rel ? "." + mark : pre + rel + mark);
-        }
-      }
-      async match(e, absolute, ifDir) {
-        const p = await this.matchCheck(e, ifDir);
-        if (p)
-          this.matchFinish(p, absolute);
+        });
       }
-      matchSync(e, absolute, ifDir) {
-        const p = this.matchCheckSync(e, ifDir);
-        if (p)
-          this.matchFinish(p, absolute);
+      dispatch(opts, handler2) {
+        const { host } = new URL2(opts.origin);
+        const headers = buildHeaders(opts.headers);
+        throwIfProxyAuthIsSent(headers);
+        return this[kAgent].dispatch(
+          {
+            ...opts,
+            headers: {
+              ...headers,
+              host
+            }
+          },
+          handler2
+        );
       }
-      walkCB(target, patterns, cb) {
-        if (this.signal?.aborted)
-          cb();
-        this.walkCB2(target, patterns, new processor_js_1.Processor(this.opts), cb);
+      async [kClose]() {
+        await this[kAgent].close();
+        await this[kClient].close();
       }
-      walkCB2(target, patterns, processor, cb) {
-        if (this.#childrenIgnored(target))
-          return cb();
-        if (this.signal?.aborted)
-          cb();
-        if (this.paused) {
-          this.onResume(() => this.walkCB2(target, patterns, processor, cb));
-          return;
-        }
-        processor.processPatterns(target, patterns);
-        let tasks = 1;
-        const next = () => {
-          if (--tasks === 0)
-            cb();
-        };
-        for (const [m, absolute, ifDir] of processor.matches.entries()) {
-          if (this.#ignored(m))
-            continue;
-          tasks++;
-          this.match(m, absolute, ifDir).then(() => next());
-        }
-        for (const t of processor.subwalkTargets()) {
-          if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {
-            continue;
-          }
-          tasks++;
-          const childrenCached = t.readdirCached();
-          if (t.calledReaddir())
-            this.walkCB3(t, childrenCached, processor, next);
-          else {
-            t.readdirCB((_2, entries) => this.walkCB3(t, entries, processor, next), true);
-          }
-        }
-        next();
+      async [kDestroy]() {
+        await this[kAgent].destroy();
+        await this[kClient].destroy();
       }
-      walkCB3(target, entries, processor, cb) {
-        processor = processor.filterEntries(target, entries);
-        let tasks = 1;
-        const next = () => {
-          if (--tasks === 0)
-            cb();
-        };
-        for (const [m, absolute, ifDir] of processor.matches.entries()) {
-          if (this.#ignored(m))
-            continue;
-          tasks++;
-          this.match(m, absolute, ifDir).then(() => next());
-        }
-        for (const [target2, patterns] of processor.subwalks.entries()) {
-          tasks++;
-          this.walkCB2(target2, patterns, processor.child(), next);
+    };
+    function buildHeaders(headers) {
+      if (Array.isArray(headers)) {
+        const headersPair = {};
+        for (let i = 0; i < headers.length; i += 2) {
+          headersPair[headers[i]] = headers[i + 1];
         }
-        next();
+        return headersPair;
       }
-      walkCBSync(target, patterns, cb) {
-        if (this.signal?.aborted)
-          cb();
-        this.walkCB2Sync(target, patterns, new processor_js_1.Processor(this.opts), cb);
+      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");
       }
-      walkCB2Sync(target, patterns, processor, cb) {
-        if (this.#childrenIgnored(target))
-          return cb();
-        if (this.signal?.aborted)
-          cb();
-        if (this.paused) {
-          this.onResume(() => this.walkCB2Sync(target, patterns, processor, cb));
-          return;
-        }
-        processor.processPatterns(target, patterns);
-        let tasks = 1;
-        const next = () => {
-          if (--tasks === 0)
-            cb();
+    }
+    module2.exports = ProxyAgent;
+  }
+});
+
+// node_modules/undici/lib/handler/RetryHandler.js
+var require_RetryHandler = __commonJS({
+  "node_modules/undici/lib/handler/RetryHandler.js"(exports2, module2) {
+    var assert = require("assert");
+    var { kRetryHandlerDefaultRetry } = require_symbols11();
+    var { RequestRetryError } = require_errors6();
+    var { isDisturbed, parseHeaders, parseRangeHeader } = require_util24();
+    function calculateRetryAfterHeader(retryAfter) {
+      const current = Date.now();
+      const diff = new Date(retryAfter).getTime() - current;
+      return diff;
+    }
+    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;
+        this.abort = null;
+        this.aborted = false;
+        this.retryOpts = {
+          retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry],
+          retryAfter: retryAfter ?? true,
+          maxTimeout: maxTimeout ?? 30 * 1e3,
+          // 30s,
+          timeout: 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"
+          ]
         };
-        for (const [m, absolute, ifDir] of processor.matches.entries()) {
-          if (this.#ignored(m))
-            continue;
-          this.matchSync(m, absolute, ifDir);
-        }
-        for (const t of processor.subwalkTargets()) {
-          if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {
-            continue;
+        this.retryCount = 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;
           }
-          tasks++;
-          const children = t.readdirSync();
-          this.walkCB3Sync(t, children, processor, next);
-        }
-        next();
-      }
-      walkCB3Sync(target, entries, processor, cb) {
-        processor = processor.filterEntries(target, entries);
-        let tasks = 1;
-        const next = () => {
-          if (--tasks === 0)
-            cb();
-        };
-        for (const [m, absolute, ifDir] of processor.matches.entries()) {
-          if (this.#ignored(m))
-            continue;
-          this.matchSync(m, absolute, ifDir);
-        }
-        for (const [target2, patterns] of processor.subwalks.entries()) {
-          tasks++;
-          this.walkCB2Sync(target2, patterns, processor.child(), next);
-        }
-        next();
-      }
-    };
-    exports2.GlobUtil = GlobUtil;
-    var GlobWalker = class extends GlobUtil {
-      matches = /* @__PURE__ */ new Set();
-      constructor(patterns, path7, opts) {
-        super(patterns, path7, opts);
-      }
-      matchEmit(e) {
-        this.matches.add(e);
-      }
-      async walk() {
-        if (this.signal?.aborted)
-          throw this.signal.reason;
-        if (this.path.isUnknown()) {
-          await this.path.lstat();
-        }
-        await new Promise((res, rej) => {
-          this.walkCB(this.path, this.patterns, () => {
-            if (this.signal?.aborted) {
-              rej(this.signal.reason);
-            } else {
-              res(this.matches);
-            }
-          });
         });
-        return this.matches;
       }
-      walkSync() {
-        if (this.signal?.aborted)
-          throw this.signal.reason;
-        if (this.path.isUnknown()) {
-          this.path.lstatSync();
+      onRequestSent() {
+        if (this.handler.onRequestSent) {
+          this.handler.onRequestSent();
         }
-        this.walkCBSync(this.path, this.patterns, () => {
-          if (this.signal?.aborted)
-            throw this.signal.reason;
-        });
-        return this.matches;
-      }
-    };
-    exports2.GlobWalker = GlobWalker;
-    var GlobStream = class extends GlobUtil {
-      results;
-      constructor(patterns, path7, opts) {
-        super(patterns, path7, opts);
-        this.results = new minipass_1.Minipass({
-          signal: this.signal,
-          objectMode: true
-        });
-        this.results.on("drain", () => this.resume());
-        this.results.on("resume", () => this.resume());
       }
-      matchEmit(e) {
-        this.results.write(e);
-        if (!this.results.flowing)
-          this.pause();
+      onUpgrade(statusCode, headers, socket) {
+        if (this.handler.onUpgrade) {
+          this.handler.onUpgrade(statusCode, headers, socket);
+        }
       }
-      stream() {
-        const target = this.path;
-        if (target.isUnknown()) {
-          target.lstat().then(() => {
-            this.walkCB(target, this.patterns, () => this.results.end());
-          });
+      onConnect(abort) {
+        if (this.aborted) {
+          abort(this.reason);
         } else {
-          this.walkCB(target, this.patterns, () => this.results.end());
+          this.abort = abort;
         }
-        return this.results;
       }
-      streamSync() {
-        if (this.path.isUnknown()) {
-          this.path.lstatSync();
-        }
-        this.walkCBSync(this.path, this.patterns, () => this.results.end());
-        return this.results;
+      onBodySent(chunk) {
+        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
       }
-    };
-    exports2.GlobStream = GlobStream;
-  }
-});
-
-// node_modules/glob/dist/commonjs/glob.js
-var require_glob2 = __commonJS({
-  "node_modules/glob/dist/commonjs/glob.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Glob = void 0;
-    var minimatch_1 = require_commonjs20();
-    var node_url_1 = require("node:url");
-    var path_scurry_1 = require_commonjs23();
-    var pattern_js_1 = require_pattern();
-    var walker_js_1 = require_walker();
-    var defaultPlatform = typeof process === "object" && process && typeof process.platform === "string" ? process.platform : "linux";
-    var Glob = class {
-      absolute;
-      cwd;
-      root;
-      dot;
-      dotRelative;
-      follow;
-      ignore;
-      magicalBraces;
-      mark;
-      matchBase;
-      maxDepth;
-      nobrace;
-      nocase;
-      nodir;
-      noext;
-      noglobstar;
-      pattern;
-      platform;
-      realpath;
-      scurry;
-      stat;
-      signal;
-      windowsPathsNoEscape;
-      withFileTypes;
-      includeChildMatches;
-      /**
-       * The options provided to the constructor.
-       */
-      opts;
-      /**
-       * An array of parsed immutable {@link Pattern} objects.
-       */
-      patterns;
-      /**
-       * All options are stored as properties on the `Glob` object.
-       *
-       * See {@link GlobOptions} for full options descriptions.
-       *
-       * Note that a previous `Glob` object can be passed as the
-       * `GlobOptions` to another `Glob` instantiation to re-use settings
-       * and caches with a new pattern.
-       *
-       * Traversal functions can be called multiple times to run the walk
-       * again.
-       */
-      constructor(pattern, opts) {
-        if (!opts)
-          throw new TypeError("glob options required");
-        this.withFileTypes = !!opts.withFileTypes;
-        this.signal = opts.signal;
-        this.follow = !!opts.follow;
-        this.dot = !!opts.dot;
-        this.dotRelative = !!opts.dotRelative;
-        this.nodir = !!opts.nodir;
-        this.mark = !!opts.mark;
-        if (!opts.cwd) {
-          this.cwd = "";
-        } else if (opts.cwd instanceof URL || opts.cwd.startsWith("file://")) {
-          opts.cwd = (0, node_url_1.fileURLToPath)(opts.cwd);
+      static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) {
+        const { statusCode, code, headers } = err;
+        const { method, retryOptions } = opts;
+        const {
+          maxRetries,
+          timeout,
+          maxTimeout,
+          timeoutFactor,
+          statusCodes,
+          errorCodes,
+          methods
+        } = retryOptions;
+        let { counter, currentTimeout } = state;
+        currentTimeout = currentTimeout != null && currentTimeout > 0 ? currentTimeout : timeout;
+        if (code && code !== "UND_ERR_REQ_RETRY" && code !== "UND_ERR_SOCKET" && !errorCodes.includes(code)) {
+          cb(err);
+          return;
+        }
+        if (Array.isArray(methods) && !methods.includes(method)) {
+          cb(err);
+          return;
         }
-        this.cwd = opts.cwd || "";
-        this.root = opts.root;
-        this.magicalBraces = !!opts.magicalBraces;
-        this.nobrace = !!opts.nobrace;
-        this.noext = !!opts.noext;
-        this.realpath = !!opts.realpath;
-        this.absolute = opts.absolute;
-        this.includeChildMatches = opts.includeChildMatches !== false;
-        this.noglobstar = !!opts.noglobstar;
-        this.matchBase = !!opts.matchBase;
-        this.maxDepth = typeof opts.maxDepth === "number" ? opts.maxDepth : Infinity;
-        this.stat = !!opts.stat;
-        this.ignore = opts.ignore;
-        if (this.withFileTypes && this.absolute !== void 0) {
-          throw new Error("cannot set absolute and withFileTypes:true");
+        if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) {
+          cb(err);
+          return;
         }
-        if (typeof pattern === "string") {
-          pattern = [pattern];
+        if (counter > maxRetries) {
+          cb(err);
+          return;
         }
-        this.windowsPathsNoEscape = !!opts.windowsPathsNoEscape || opts.allowWindowsEscape === false;
-        if (this.windowsPathsNoEscape) {
-          pattern = pattern.map((p) => p.replace(/\\/g, "/"));
+        let retryAfterHeader = headers != null && headers["retry-after"];
+        if (retryAfterHeader) {
+          retryAfterHeader = Number(retryAfterHeader);
+          retryAfterHeader = isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3;
         }
-        if (this.matchBase) {
-          if (opts.noglobstar) {
-            throw new TypeError("base matching requires globstar");
+        const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(currentTimeout * timeoutFactor ** counter, maxTimeout);
+        state.currentTimeout = retryTimeout;
+        setTimeout(() => cb(null), retryTimeout);
+      }
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const headers = parseHeaders(rawHeaders);
+        this.retryCount += 1;
+        if (statusCode >= 300) {
+          this.abort(
+            new RequestRetryError("Request failed", statusCode, {
+              headers,
+              count: this.retryCount
+            })
+          );
+          return false;
+        }
+        if (this.resume != null) {
+          this.resume = null;
+          if (statusCode !== 206) {
+            return true;
           }
-          pattern = pattern.map((p) => p.includes("/") ? p : `./**/${p}`);
+          const contentRange = parseRangeHeader(headers["content-range"]);
+          if (!contentRange) {
+            this.abort(
+              new RequestRetryError("Content-Range mismatch", statusCode, {
+                headers,
+                count: this.retryCount
+              })
+            );
+            return false;
+          }
+          if (this.etag != null && this.etag !== headers.etag) {
+            this.abort(
+              new RequestRetryError("ETag mismatch", statusCode, {
+                headers,
+                count: this.retryCount
+              })
+            );
+            return false;
+          }
+          const { start, size, end = size } = contentRange;
+          assert(this.start === start, "content-range mismatch");
+          assert(this.end == null || this.end === end, "content-range mismatch");
+          this.resume = resume;
+          return true;
         }
-        this.pattern = pattern;
-        this.platform = opts.platform || defaultPlatform;
-        this.opts = { ...opts, platform: this.platform };
-        if (opts.scurry) {
-          this.scurry = opts.scurry;
-          if (opts.nocase !== void 0 && opts.nocase !== opts.scurry.nocase) {
-            throw new Error("nocase option contradicts provided scurry option");
+        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 } = range;
+            assert(
+              start != null && Number.isFinite(start) && this.start !== start,
+              "content-range mismatch"
+            );
+            assert(Number.isFinite(start));
+            assert(
+              end != null && Number.isFinite(end) && this.end !== end,
+              "invalid content-length"
+            );
+            this.start = start;
+            this.end = end;
           }
-        } else {
-          const Scurry = opts.platform === "win32" ? path_scurry_1.PathScurryWin32 : opts.platform === "darwin" ? path_scurry_1.PathScurryDarwin : opts.platform ? path_scurry_1.PathScurryPosix : path_scurry_1.PathScurry;
-          this.scurry = new Scurry(this.cwd, {
-            nocase: opts.nocase,
-            fs: opts.fs
-          });
+          if (this.end == null) {
+            const contentLength = headers["content-length"];
+            this.end = contentLength != null ? Number(contentLength) : 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;
+          return this.handler.onHeaders(
+            statusCode,
+            rawHeaders,
+            resume,
+            statusMessage
+          );
         }
-        this.nocase = this.scurry.nocase;
-        const nocaseMagicOnly = this.platform === "darwin" || this.platform === "win32";
-        const mmo = {
-          // default nocase based on platform
-          ...opts,
-          dot: this.dot,
-          matchBase: this.matchBase,
-          nobrace: this.nobrace,
-          nocase: this.nocase,
-          nocaseMagicOnly,
-          nocomment: true,
-          noext: this.noext,
-          nonegate: true,
-          optimizationLevel: 2,
-          platform: this.platform,
-          windowsPathsNoEscape: this.windowsPathsNoEscape,
-          debug: !!this.opts.debug
-        };
-        const mms = this.pattern.map((p) => new minimatch_1.Minimatch(p, mmo));
-        const [matchSet, globParts] = mms.reduce((set2, m) => {
-          set2[0].push(...m.set);
-          set2[1].push(...m.globParts);
-          return set2;
-        }, [[], []]);
-        this.patterns = matchSet.map((set2, i) => {
-          const g = globParts[i];
-          if (!g)
-            throw new Error("invalid pattern object");
-          return new pattern_js_1.Pattern(set2, g, 0, this.platform);
+        const err = new RequestRetryError("Request failed", statusCode, {
+          headers,
+          count: this.retryCount
         });
+        this.abort(err);
+        return false;
       }
-      async walk() {
-        return [
-          ...await new walker_js_1.GlobWalker(this.patterns, this.scurry.cwd, {
-            ...this.opts,
-            maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
-            platform: this.platform,
-            nocase: this.nocase,
-            includeChildMatches: this.includeChildMatches
-          }).walk()
-        ];
-      }
-      walkSync() {
-        return [
-          ...new walker_js_1.GlobWalker(this.patterns, this.scurry.cwd, {
-            ...this.opts,
-            maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
-            platform: this.platform,
-            nocase: this.nocase,
-            includeChildMatches: this.includeChildMatches
-          }).walkSync()
-        ];
-      }
-      stream() {
-        return new walker_js_1.GlobStream(this.patterns, this.scurry.cwd, {
-          ...this.opts,
-          maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
-          platform: this.platform,
-          nocase: this.nocase,
-          includeChildMatches: this.includeChildMatches
-        }).stream();
-      }
-      streamSync() {
-        return new walker_js_1.GlobStream(this.patterns, this.scurry.cwd, {
-          ...this.opts,
-          maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
-          platform: this.platform,
-          nocase: this.nocase,
-          includeChildMatches: this.includeChildMatches
-        }).streamSync();
-      }
-      /**
-       * Default sync iteration function. Returns a Generator that
-       * iterates over the results.
-       */
-      iterateSync() {
-        return this.streamSync()[Symbol.iterator]();
+      onData(chunk) {
+        this.start += chunk.length;
+        return this.handler.onData(chunk);
       }
-      [Symbol.iterator]() {
-        return this.iterateSync();
+      onComplete(rawTrailers) {
+        this.retryCount = 0;
+        return this.handler.onComplete(rawTrailers);
       }
-      /**
-       * Default async iteration function. Returns an AsyncGenerator that
-       * iterates over the results.
-       */
-      iterate() {
-        return this.stream()[Symbol.asyncIterator]();
+      onError(err) {
+        if (this.aborted || isDisturbed(this.opts.body)) {
+          return this.handler.onError(err);
+        }
+        this.retryOpts.retry(
+          err,
+          {
+            state: { counter: this.retryCount++, currentTimeout: this.retryAfter },
+            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) {
+            this.opts = {
+              ...this.opts,
+              headers: {
+                ...this.opts.headers,
+                range: `bytes=${this.start}-${this.end ?? ""}`
+              }
+            };
+          }
+          try {
+            this.dispatch(this.opts, this);
+          } catch (err3) {
+            this.handler.onError(err3);
+          }
+        }
       }
-      [Symbol.asyncIterator]() {
-        return this.iterate();
+    };
+    module2.exports = RetryHandler;
+  }
+});
+
+// node_modules/undici/lib/global.js
+var require_global6 = __commonJS({
+  "node_modules/undici/lib/global.js"(exports2, module2) {
+    "use strict";
+    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
+    var { InvalidArgumentError } = require_errors6();
+    var Agent = require_agent3();
+    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
     };
-    exports2.Glob = Glob;
   }
 });
 
-// node_modules/glob/dist/commonjs/has-magic.js
-var require_has_magic = __commonJS({
-  "node_modules/glob/dist/commonjs/has-magic.js"(exports2) {
+// node_modules/undici/lib/handler/DecoratorHandler.js
+var require_DecoratorHandler = __commonJS({
+  "node_modules/undici/lib/handler/DecoratorHandler.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.hasMagic = void 0;
-    var minimatch_1 = require_commonjs20();
-    var hasMagic = (pattern, options = {}) => {
-      if (!Array.isArray(pattern)) {
-        pattern = [pattern];
+    module2.exports = class DecoratorHandler {
+      constructor(handler2) {
+        this.handler = handler2;
       }
-      for (const p of pattern) {
-        if (new minimatch_1.Minimatch(p, options).hasMagic())
-          return true;
+      onConnect(...args) {
+        return this.handler.onConnect(...args);
+      }
+      onError(...args) {
+        return this.handler.onError(...args);
+      }
+      onUpgrade(...args) {
+        return this.handler.onUpgrade(...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);
       }
-      return false;
     };
-    exports2.hasMagic = hasMagic;
   }
 });
 
-// node_modules/glob/dist/commonjs/index.js
-var require_commonjs24 = __commonJS({
-  "node_modules/glob/dist/commonjs/index.js"(exports2) {
+// node_modules/undici/lib/fetch/headers.js
+var require_headers4 = __commonJS({
+  "node_modules/undici/lib/fetch/headers.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.glob = exports2.sync = exports2.iterate = exports2.iterateSync = exports2.stream = exports2.streamSync = exports2.Ignore = exports2.hasMagic = exports2.Glob = exports2.unescape = exports2.escape = void 0;
-    exports2.globStreamSync = globStreamSync;
-    exports2.globStream = globStream;
-    exports2.globSync = globSync;
-    exports2.globIterateSync = globIterateSync;
-    exports2.globIterate = globIterate;
-    var minimatch_1 = require_commonjs20();
-    var glob_js_1 = require_glob2();
-    var has_magic_js_1 = require_has_magic();
-    var minimatch_2 = require_commonjs20();
-    Object.defineProperty(exports2, "escape", { enumerable: true, get: function() {
-      return minimatch_2.escape;
-    } });
-    Object.defineProperty(exports2, "unescape", { enumerable: true, get: function() {
-      return minimatch_2.unescape;
-    } });
-    var glob_js_2 = require_glob2();
-    Object.defineProperty(exports2, "Glob", { enumerable: true, get: function() {
-      return glob_js_2.Glob;
-    } });
-    var has_magic_js_2 = require_has_magic();
-    Object.defineProperty(exports2, "hasMagic", { enumerable: true, get: function() {
-      return has_magic_js_2.hasMagic;
-    } });
-    var ignore_js_1 = require_ignore();
-    Object.defineProperty(exports2, "Ignore", { enumerable: true, get: function() {
-      return ignore_js_1.Ignore;
-    } });
-    function globStreamSync(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).streamSync();
-    }
-    function globStream(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).stream();
-    }
-    function globSync(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).walkSync();
+    var { kHeadersList, kConstruct } = require_symbols11();
+    var { kGuard } = require_symbols12();
+    var { kEnumerableProperty } = require_util24();
+    var {
+      makeIterator,
+      isValidHeaderName,
+      isValidHeaderValue
+    } = require_util25();
+    var util = require("util");
+    var { webidl } = require_webidl3();
+    var assert = require("assert");
+    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
+    var kHeadersSortedMap = /* @__PURE__ */ Symbol("headers map sorted");
+    function isHTTPWhiteSpaceCharCode(code) {
+      return code === 10 || code === 13 || code === 9 || code === 32;
     }
-    async function glob_(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).walk();
+    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 globIterateSync(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).iterateSync();
+    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 globIterate(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).iterate();
+    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 (headers[kGuard] === "immutable") {
+        throw new TypeError("immutable");
+      } else if (headers[kGuard] === "request-no-cors") {
+      }
+      return headers[kHeadersList].append(name, value);
     }
-    exports2.streamSync = globStreamSync;
-    exports2.stream = Object.assign(globStream, { sync: globStreamSync });
-    exports2.iterateSync = globIterateSync;
-    exports2.iterate = Object.assign(globIterate, {
-      sync: globIterateSync
-    });
-    exports2.sync = Object.assign(globSync, {
-      stream: globStreamSync,
-      iterate: globIterateSync
-    });
-    exports2.glob = Object.assign(glob_, {
-      glob: glob_,
-      globSync,
-      sync: exports2.sync,
-      globStream,
-      stream: exports2.stream,
-      globStreamSync,
-      streamSync: exports2.streamSync,
-      globIterate,
-      iterate: exports2.iterate,
-      globIterateSync,
-      iterateSync: exports2.iterateSync,
-      Glob: glob_js_1.Glob,
-      hasMagic: has_magic_js_1.hasMagic,
-      escape: minimatch_1.escape,
-      unescape: minimatch_1.unescape
-    });
-    exports2.glob.glob = exports2.glob;
-  }
-});
-
-// node_modules/archiver-utils/file.js
-var require_file4 = __commonJS({
-  "node_modules/archiver-utils/file.js"(exports2, module2) {
-    var fs8 = require_graceful_fs();
-    var path7 = require("path");
-    var flatten = require_flatten();
-    var difference = require_difference();
-    var union = require_union();
-    var isPlainObject3 = require_isPlainObject();
-    var glob2 = require_commonjs24();
-    var file = module2.exports = {};
-    var pathSeparatorRe = /[\/\\]/g;
-    var processPatterns = function(patterns, fn) {
-      var result = [];
-      flatten(patterns).forEach(function(pattern) {
-        var exclusion = pattern.indexOf("!") === 0;
-        if (exclusion) {
-          pattern = pattern.slice(1);
-        }
-        var matches = fn(pattern);
-        if (exclusion) {
-          result = difference(result, matches);
+    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 {
-          result = union(result, matches);
+          this[kHeadersMap] = new Map(init);
+          this[kHeadersSortedMap] = null;
         }
-      });
-      return result;
-    };
-    file.exists = function() {
-      var filepath = path7.join.apply(path7, arguments);
-      return fs8.existsSync(filepath);
-    };
-    file.expand = function(...args) {
-      var options = isPlainObject3(args[0]) ? args.shift() : {};
-      var patterns = Array.isArray(args[0]) ? args[0] : args;
-      if (patterns.length === 0) {
-        return [];
       }
-      var matches = processPatterns(patterns, function(pattern) {
-        return glob2.sync(pattern, options);
-      });
-      if (options.filter) {
-        matches = matches.filter(function(filepath) {
-          filepath = path7.join(options.cwd || "", filepath);
-          try {
-            if (typeof options.filter === "function") {
-              return options.filter(filepath);
-            } else {
-              return fs8.statSync(filepath)[options.filter]();
-            }
-          } catch (e) {
-            return false;
-          }
-        });
+      // https://fetch.spec.whatwg.org/#header-list-contains
+      contains(name) {
+        name = name.toLowerCase();
+        return this[kHeadersMap].has(name);
       }
-      return matches;
-    };
-    file.expandMapping = function(patterns, destBase, options) {
-      options = Object.assign({
-        rename: function(destBase2, destPath) {
-          return path7.join(destBase2 || "", destPath);
+      clear() {
+        this[kHeadersMap].clear();
+        this[kHeadersSortedMap] = null;
+        this.cookies = null;
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-append
+      append(name, value) {
+        this[kHeadersSortedMap] = null;
+        const lowercaseName = name.toLowerCase();
+        const exists = this[kHeadersMap].get(lowercaseName);
+        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 });
         }
-      }, options);
-      var files = [];
-      var fileByDest = {};
-      file.expand(options, patterns).forEach(function(src) {
-        var destPath = src;
-        if (options.flatten) {
-          destPath = path7.basename(destPath);
+        if (lowercaseName === "set-cookie") {
+          this.cookies ??= [];
+          this.cookies.push(value);
         }
-        if (options.ext) {
-          destPath = destPath.replace(/(\.[^\/]*)?$/, options.ext);
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-set
+      set(name, value) {
+        this[kHeadersSortedMap] = null;
+        const lowercaseName = name.toLowerCase();
+        if (lowercaseName === "set-cookie") {
+          this.cookies = [value];
         }
-        var dest = options.rename(destBase, destPath, options);
-        if (options.cwd) {
-          src = path7.join(options.cwd, src);
+        this[kHeadersMap].set(lowercaseName, { name, value });
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-delete
+      delete(name) {
+        this[kHeadersSortedMap] = null;
+        name = name.toLowerCase();
+        if (name === "set-cookie") {
+          this.cookies = null;
         }
-        dest = dest.replace(pathSeparatorRe, "/");
-        src = src.replace(pathSeparatorRe, "/");
-        if (fileByDest[dest]) {
-          fileByDest[dest].src.push(src);
-        } else {
-          files.push({
-            src: [src],
-            dest
-          });
-          fileByDest[dest] = files[files.length - 1];
+        this[kHeadersMap].delete(name);
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-get
+      get(name) {
+        const value = this[kHeadersMap].get(name.toLowerCase());
+        return value === void 0 ? null : value.value;
+      }
+      *[Symbol.iterator]() {
+        for (const [name, { value }] of this[kHeadersMap]) {
+          yield [name, value];
         }
-      });
-      return files;
-    };
-    file.normalizeFilesArray = function(data) {
-      var files = [];
-      data.forEach(function(obj) {
-        var prop;
-        if ("src" in obj || "dest" in obj) {
-          files.push(obj);
+      }
+      get entries() {
+        const headers = {};
+        if (this[kHeadersMap].size) {
+          for (const { name, value } of this[kHeadersMap].values()) {
+            headers[name] = value;
+          }
         }
-      });
-      if (files.length === 0) {
-        return [];
+        return headers;
       }
-      files = _(files).chain().forEach(function(obj) {
-        if (!("src" in obj) || !obj.src) {
+    };
+    var Headers = class _Headers {
+      constructor(init = void 0) {
+        if (init === kConstruct) {
           return;
         }
-        if (Array.isArray(obj.src)) {
-          obj.src = flatten(obj.src);
-        } else {
-          obj.src = [obj.src];
+        this[kHeadersList] = new HeadersList();
+        this[kGuard] = "none";
+        if (init !== void 0) {
+          init = webidl.converters.HeadersInit(init);
+          fill(this, init);
         }
-      }).map(function(obj) {
-        var expandOptions = Object.assign({}, obj);
-        delete expandOptions.src;
-        delete expandOptions.dest;
-        if (obj.expand) {
-          return file.expandMapping(obj.src, obj.dest, expandOptions).map(function(mapObj) {
-            var result2 = Object.assign({}, obj);
-            result2.orig = Object.assign({}, obj);
-            result2.src = mapObj.src;
-            result2.dest = mapObj.dest;
-            ["expand", "cwd", "flatten", "rename", "ext"].forEach(function(prop) {
-              delete result2[prop];
-            });
-            return result2;
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-append
+      append(name, value) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.append" });
+        name = webidl.converters.ByteString(name);
+        value = webidl.converters.ByteString(value);
+        return appendHeader(this, name, value);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-delete
+      delete(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.delete" });
+        name = webidl.converters.ByteString(name);
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.delete",
+            value: name,
+            type: "header name"
           });
         }
-        var result = Object.assign({}, obj);
-        result.orig = Object.assign({}, obj);
-        if ("src" in result) {
-          Object.defineProperty(result, "src", {
-            enumerable: true,
-            get: function fn() {
-              var src;
-              if (!("result" in fn)) {
-                src = obj.src;
-                src = Array.isArray(src) ? flatten(src) : [src];
-                fn.result = file.expand(expandOptions, src);
-              }
-              return fn.result;
-            }
-          });
+        if (this[kGuard] === "immutable") {
+          throw new TypeError("immutable");
+        } else if (this[kGuard] === "request-no-cors") {
         }
-        if ("dest" in result) {
-          result.dest = obj.dest;
+        if (!this[kHeadersList].contains(name)) {
+          return;
         }
-        return result;
-      }).flatten().value();
-      return files;
-    };
-  }
-});
-
-// node_modules/archiver-utils/index.js
-var require_archiver_utils = __commonJS({
-  "node_modules/archiver-utils/index.js"(exports2, module2) {
-    var fs8 = require_graceful_fs();
-    var path7 = require("path");
-    var isStream = require_is_stream();
-    var lazystream = require_lazystream();
-    var normalizePath = require_normalize_path();
-    var defaults = require_defaults();
-    var Stream = require("stream").Stream;
-    var PassThrough = require_ours().PassThrough;
-    var utils = module2.exports = {};
-    utils.file = require_file4();
-    utils.collectStream = function(source, callback) {
-      var collection = [];
-      var size = 0;
-      source.on("error", callback);
-      source.on("data", function(chunk) {
-        collection.push(chunk);
-        size += chunk.length;
-      });
-      source.on("end", function() {
-        var buf = Buffer.alloc(size);
-        var offset = 0;
-        collection.forEach(function(data) {
-          data.copy(buf, offset);
-          offset += data.length;
-        });
-        callback(null, buf);
-      });
-    };
-    utils.dateify = function(dateish) {
-      dateish = dateish || /* @__PURE__ */ new Date();
-      if (dateish instanceof Date) {
-        dateish = dateish;
-      } else if (typeof dateish === "string") {
-        dateish = new Date(dateish);
-      } else {
-        dateish = /* @__PURE__ */ new Date();
-      }
-      return dateish;
-    };
-    utils.defaults = function(object, source, guard) {
-      var args = arguments;
-      args[0] = args[0] || {};
-      return defaults(...args);
-    };
-    utils.isStream = function(source) {
-      return isStream(source);
-    };
-    utils.lazyReadStream = function(filepath) {
-      return new lazystream.Readable(function() {
-        return fs8.createReadStream(filepath);
-      });
-    };
-    utils.normalizeInputSource = function(source) {
-      if (source === null) {
-        return Buffer.alloc(0);
-      } else if (typeof source === "string") {
-        return Buffer.from(source);
-      } else if (utils.isStream(source)) {
-        return source.pipe(new PassThrough());
+        this[kHeadersList].delete(name);
       }
-      return source;
-    };
-    utils.sanitizePath = function(filepath) {
-      return normalizePath(filepath, false).replace(/^\w+:/, "").replace(/^(\.\.\/|\/)+/, "");
-    };
-    utils.trailingSlashIt = function(str2) {
-      return str2.slice(-1) !== "/" ? str2 + "/" : str2;
-    };
-    utils.unixifyPath = function(filepath) {
-      return normalizePath(filepath, false).replace(/^\w+:/, "");
-    };
-    utils.walkdir = function(dirpath, base, callback) {
-      var results = [];
-      if (typeof base === "function") {
-        callback = base;
-        base = dirpath;
+      // https://fetch.spec.whatwg.org/#dom-headers-get
+      get(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.get" });
+        name = webidl.converters.ByteString(name);
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.get",
+            value: name,
+            type: "header name"
+          });
+        }
+        return this[kHeadersList].get(name);
       }
-      fs8.readdir(dirpath, function(err, list) {
-        var i = 0;
-        var file;
-        var filepath;
-        if (err) {
-          return callback(err);
+      // https://fetch.spec.whatwg.org/#dom-headers-has
+      has(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.has" });
+        name = webidl.converters.ByteString(name);
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.has",
+            value: name,
+            type: "header name"
+          });
         }
-        (function next() {
-          file = list[i++];
-          if (!file) {
-            return callback(null, results);
-          }
-          filepath = path7.join(dirpath, file);
-          fs8.stat(filepath, function(err2, stats) {
-            results.push({
-              path: filepath,
-              relative: path7.relative(base, filepath).replace(/\\/g, "/"),
-              stats
-            });
-            if (stats && stats.isDirectory()) {
-              utils.walkdir(filepath, base, function(err3, res) {
-                if (err3) {
-                  return callback(err3);
-                }
-                res.forEach(function(dirEntry) {
-                  results.push(dirEntry);
-                });
-                next();
-              });
-            } else {
-              next();
-            }
+        return this[kHeadersList].contains(name);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-set
+      set(name, value) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.set" });
+        name = webidl.converters.ByteString(name);
+        value = webidl.converters.ByteString(value);
+        value = headerValueNormalize(value);
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.set",
+            value: name,
+            type: "header name"
           });
-        })();
-      });
-    };
-  }
-});
-
-// node_modules/archiver/lib/error.js
-var require_error3 = __commonJS({
-  "node_modules/archiver/lib/error.js"(exports2, module2) {
-    var util = require("util");
-    var ERROR_CODES = {
-      "ABORTED": "archive was aborted",
-      "DIRECTORYDIRPATHREQUIRED": "diretory dirpath argument must be a non-empty string value",
-      "DIRECTORYFUNCTIONINVALIDDATA": "invalid data returned by directory custom data function",
-      "ENTRYNAMEREQUIRED": "entry name must be a non-empty string value",
-      "FILEFILEPATHREQUIRED": "file filepath argument must be a non-empty string value",
-      "FINALIZING": "archive already finalizing",
-      "QUEUECLOSED": "queue closed",
-      "NOENDMETHOD": "no suitable finalize/end method defined by module",
-      "DIRECTORYNOTSUPPORTED": "support for directory entries not defined by module",
-      "FORMATSET": "archive format already set",
-      "INPUTSTEAMBUFFERREQUIRED": "input source must be valid Stream or Buffer instance",
-      "MODULESET": "module already set",
-      "SYMLINKNOTSUPPORTED": "support for symlink entries not defined by module",
-      "SYMLINKFILEPATHREQUIRED": "symlink filepath argument must be a non-empty string value",
-      "SYMLINKTARGETREQUIRED": "symlink target argument must be a non-empty string value",
-      "ENTRYNOTSUPPORTED": "entry not supported"
-    };
-    function ArchiverError(code, data) {
-      Error.captureStackTrace(this, this.constructor);
-      this.message = ERROR_CODES[code] || code;
-      this.code = code;
-      this.data = data;
-    }
-    util.inherits(ArchiverError, Error);
-    exports2 = module2.exports = ArchiverError;
-  }
-});
-
-// node_modules/archiver/lib/core.js
-var require_core2 = __commonJS({
-  "node_modules/archiver/lib/core.js"(exports2, module2) {
-    var fs8 = require("fs");
-    var glob2 = require_readdir_glob();
-    var async = require_async();
-    var path7 = require("path");
-    var util = require_archiver_utils();
-    var inherits = require("util").inherits;
-    var ArchiverError = require_error3();
-    var Transform = require_ours().Transform;
-    var win32 = process.platform === "win32";
-    var Archiver = function(format, options) {
-      if (!(this instanceof Archiver)) {
-        return new Archiver(format, options);
+        } else if (!isValidHeaderValue(value)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.set",
+            value,
+            type: "header value"
+          });
+        }
+        if (this[kGuard] === "immutable") {
+          throw new TypeError("immutable");
+        } else if (this[kGuard] === "request-no-cors") {
+        }
+        this[kHeadersList].set(name, value);
       }
-      if (typeof format !== "string") {
-        options = format;
-        format = "zip";
+      // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
+      getSetCookie() {
+        webidl.brandCheck(this, _Headers);
+        const list = this[kHeadersList].cookies;
+        if (list) {
+          return [...list];
+        }
+        return [];
       }
-      options = this.options = util.defaults(options, {
-        highWaterMark: 1024 * 1024,
-        statConcurrency: 4
-      });
-      Transform.call(this, options);
-      this._format = false;
-      this._module = false;
-      this._pending = 0;
-      this._pointer = 0;
-      this._entriesCount = 0;
-      this._entriesProcessedCount = 0;
-      this._fsEntriesTotalBytes = 0;
-      this._fsEntriesProcessedBytes = 0;
-      this._queue = async.queue(this._onQueueTask.bind(this), 1);
-      this._queue.drain(this._onQueueDrain.bind(this));
-      this._statQueue = async.queue(this._onStatQueueTask.bind(this), options.statConcurrency);
-      this._statQueue.drain(this._onQueueDrain.bind(this));
-      this._state = {
-        aborted: false,
-        finalize: false,
-        finalizing: false,
-        finalized: false,
-        modulePiped: false
-      };
-      this._streams = [];
-    };
-    inherits(Archiver, Transform);
-    Archiver.prototype._abort = function() {
-      this._state.aborted = true;
-      this._queue.kill();
-      this._statQueue.kill();
-      if (this._queue.idle()) {
-        this._shutdown();
+      // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
+      get [kHeadersSortedMap]() {
+        if (this[kHeadersList][kHeadersSortedMap]) {
+          return this[kHeadersList][kHeadersSortedMap];
+        }
+        const headers = [];
+        const names = [...this[kHeadersList]].sort((a, b) => a[0] < b[0] ? -1 : 1);
+        const cookies = this[kHeadersList].cookies;
+        for (let i = 0; i < names.length; ++i) {
+          const [name, value] = names[i];
+          if (name === "set-cookie") {
+            for (let j = 0; j < cookies.length; ++j) {
+              headers.push([name, cookies[j]]);
+            }
+          } else {
+            assert(value !== null);
+            headers.push([name, value]);
+          }
+        }
+        this[kHeadersList][kHeadersSortedMap] = headers;
+        return headers;
       }
-    };
-    Archiver.prototype._append = function(filepath, data) {
-      data = data || {};
-      var task = {
-        source: null,
-        filepath
-      };
-      if (!data.name) {
-        data.name = filepath;
+      keys() {
+        webidl.brandCheck(this, _Headers);
+        if (this[kGuard] === "immutable") {
+          const value = this[kHeadersSortedMap];
+          return makeIterator(
+            () => value,
+            "Headers",
+            "key"
+          );
+        }
+        return makeIterator(
+          () => [...this[kHeadersSortedMap].values()],
+          "Headers",
+          "key"
+        );
       }
-      data.sourcePath = filepath;
-      task.data = data;
-      this._entriesCount++;
-      if (data.stats && data.stats instanceof fs8.Stats) {
-        task = this._updateQueueTaskWithStats(task, data.stats);
-        if (task) {
-          if (data.stats.size) {
-            this._fsEntriesTotalBytes += data.stats.size;
-          }
-          this._queue.push(task);
+      values() {
+        webidl.brandCheck(this, _Headers);
+        if (this[kGuard] === "immutable") {
+          const value = this[kHeadersSortedMap];
+          return makeIterator(
+            () => value,
+            "Headers",
+            "value"
+          );
         }
-      } else {
-        this._statQueue.push(task);
+        return makeIterator(
+          () => [...this[kHeadersSortedMap].values()],
+          "Headers",
+          "value"
+        );
       }
-    };
-    Archiver.prototype._finalize = function() {
-      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
-        return;
+      entries() {
+        webidl.brandCheck(this, _Headers);
+        if (this[kGuard] === "immutable") {
+          const value = this[kHeadersSortedMap];
+          return makeIterator(
+            () => value,
+            "Headers",
+            "key+value"
+          );
+        }
+        return makeIterator(
+          () => [...this[kHeadersSortedMap].values()],
+          "Headers",
+          "key+value"
+        );
       }
-      this._state.finalizing = true;
-      this._moduleFinalize();
-      this._state.finalizing = false;
-      this._state.finalized = true;
-    };
-    Archiver.prototype._maybeFinalize = function() {
-      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
-        return false;
+      /**
+       * @param {(value: string, key: string, self: Headers) => void} callbackFn
+       * @param {unknown} thisArg
+       */
+      forEach(callbackFn, thisArg = globalThis) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.forEach" });
+        if (typeof callbackFn !== "function") {
+          throw new TypeError(
+            "Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'."
+          );
+        }
+        for (const [key, value] of this) {
+          callbackFn.apply(thisArg, [value, key, this]);
+        }
       }
-      if (this._state.finalize && this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
-        this._finalize();
-        return true;
+      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")]() {
+        webidl.brandCheck(this, _Headers);
+        return this[kHeadersList];
       }
-      return false;
     };
-    Archiver.prototype._moduleAppend = function(source, data, callback) {
-      if (this._state.aborted) {
-        callback();
-        return;
+    Headers.prototype[Symbol.iterator] = Headers.prototype.entries;
+    Object.defineProperties(Headers.prototype, {
+      append: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      get: kEnumerableProperty,
+      has: kEnumerableProperty,
+      set: kEnumerableProperty,
+      getSetCookie: kEnumerableProperty,
+      keys: kEnumerableProperty,
+      values: kEnumerableProperty,
+      entries: kEnumerableProperty,
+      forEach: kEnumerableProperty,
+      [Symbol.iterator]: { enumerable: false },
+      [Symbol.toStringTag]: {
+        value: "Headers",
+        configurable: true
+      },
+      [util.inspect.custom]: {
+        enumerable: false
       }
-      this._module.append(source, data, function(err) {
-        this._task = null;
-        if (this._state.aborted) {
-          this._shutdown();
-          return;
-        }
-        if (err) {
-          this.emit("error", err);
-          setImmediate(callback);
-          return;
-        }
-        this.emit("entry", data);
-        this._entriesProcessedCount++;
-        if (data.stats && data.stats.size) {
-          this._fsEntriesProcessedBytes += data.stats.size;
+    });
+    webidl.converters.HeadersInit = function(V) {
+      if (webidl.util.Type(V) === "Object") {
+        if (V[Symbol.iterator]) {
+          return webidl.converters["sequence>"](V);
         }
-        this.emit("progress", {
-          entries: {
-            total: this._entriesCount,
-            processed: this._entriesProcessedCount
-          },
-          fs: {
-            totalBytes: this._fsEntriesTotalBytes,
-            processedBytes: this._fsEntriesProcessedBytes
-          }
-        });
-        setImmediate(callback);
-      }.bind(this));
-    };
-    Archiver.prototype._moduleFinalize = function() {
-      if (typeof this._module.finalize === "function") {
-        this._module.finalize();
-      } else if (typeof this._module.end === "function") {
-        this._module.end();
-      } else {
-        this.emit("error", new ArchiverError("NOENDMETHOD"));
+        return webidl.converters["record"](V);
       }
+      throw webidl.errors.conversionFailed({
+        prefix: "Headers constructor",
+        argument: "Argument 1",
+        types: ["sequence>", "record"]
+      });
     };
-    Archiver.prototype._modulePipe = function() {
-      this._module.on("error", this._onModuleError.bind(this));
-      this._module.pipe(this);
-      this._state.modulePiped = true;
+    module2.exports = {
+      fill,
+      Headers,
+      HeadersList
     };
-    Archiver.prototype._moduleSupports = function(key) {
-      if (!this._module.supports || !this._module.supports[key]) {
-        return false;
+  }
+});
+
+// node_modules/undici/lib/fetch/response.js
+var require_response4 = __commonJS({
+  "node_modules/undici/lib/fetch/response.js"(exports2, module2) {
+    "use strict";
+    var { Headers, HeadersList, fill } = require_headers4();
+    var { extractBody, cloneBody, mixinBody } = require_body3();
+    var util = require_util24();
+    var { kEnumerableProperty } = util;
+    var {
+      isValidReasonPhrase,
+      isCancelled,
+      isAborted,
+      isBlobLike,
+      serializeJavascriptValueToJSONString,
+      isErrorLike,
+      isomorphicEncode
+    } = require_util25();
+    var {
+      redirectStatusSet,
+      nullBodyStatus,
+      DOMException: DOMException2
+    } = require_constants21();
+    var { kState, kHeaders, kGuard, kRealm } = require_symbols12();
+    var { webidl } = require_webidl3();
+    var { FormData: FormData2 } = require_formdata3();
+    var { getGlobalOrigin } = require_global5();
+    var { URLSerializer } = require_dataURL();
+    var { kHeadersList, kConstruct } = require_symbols11();
+    var assert = require("assert");
+    var { types } = require("util");
+    var ReadableStream2 = globalThis.ReadableStream || require("stream/web").ReadableStream;
+    var textEncoder = new TextEncoder("utf-8");
+    var Response = class _Response {
+      // Creates network error Response.
+      static error() {
+        const relevantRealm = { settingsObject: {} };
+        const responseObject = new _Response();
+        responseObject[kState] = makeNetworkError();
+        responseObject[kRealm] = relevantRealm;
+        responseObject[kHeaders][kHeadersList] = responseObject[kState].headersList;
+        responseObject[kHeaders][kGuard] = "immutable";
+        responseObject[kHeaders][kRealm] = relevantRealm;
+        return responseObject;
       }
-      return this._module.supports[key];
-    };
-    Archiver.prototype._moduleUnpipe = function() {
-      this._module.unpipe(this);
-      this._state.modulePiped = false;
-    };
-    Archiver.prototype._normalizeEntryData = function(data, stats) {
-      data = util.defaults(data, {
-        type: "file",
-        name: null,
-        date: null,
-        mode: null,
-        prefix: null,
-        sourcePath: null,
-        stats: false
-      });
-      if (stats && data.stats === false) {
-        data.stats = stats;
+      // https://fetch.spec.whatwg.org/#dom-response-json
+      static json(data, init = {}) {
+        webidl.argumentLengthCheck(arguments, 1, { header: "Response.json" });
+        if (init !== null) {
+          init = webidl.converters.ResponseInit(init);
+        }
+        const bytes = textEncoder.encode(
+          serializeJavascriptValueToJSONString(data)
+        );
+        const body = extractBody(bytes);
+        const relevantRealm = { settingsObject: {} };
+        const responseObject = new _Response();
+        responseObject[kRealm] = relevantRealm;
+        responseObject[kHeaders][kGuard] = "response";
+        responseObject[kHeaders][kRealm] = relevantRealm;
+        initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
+        return responseObject;
       }
-      var isDir = data.type === "directory";
-      if (data.name) {
-        if (typeof data.prefix === "string" && "" !== data.prefix) {
-          data.name = data.prefix + "/" + data.name;
-          data.prefix = null;
+      // Creates a redirect Response that redirects to url with status status.
+      static redirect(url, status = 302) {
+        const relevantRealm = { settingsObject: {} };
+        webidl.argumentLengthCheck(arguments, 1, { header: "Response.redirect" });
+        url = webidl.converters.USVString(url);
+        status = webidl.converters["unsigned short"](status);
+        let parsedURL;
+        try {
+          parsedURL = new URL(url, getGlobalOrigin());
+        } catch (err) {
+          throw Object.assign(new TypeError("Failed to parse URL from " + url), {
+            cause: err
+          });
         }
-        data.name = util.sanitizePath(data.name);
-        if (data.type !== "symlink" && data.name.slice(-1) === "/") {
-          isDir = true;
-          data.type = "directory";
-        } else if (isDir) {
-          data.name += "/";
+        if (!redirectStatusSet.has(status)) {
+          throw new RangeError("Invalid status code " + status);
         }
+        const responseObject = new _Response();
+        responseObject[kRealm] = relevantRealm;
+        responseObject[kHeaders][kGuard] = "immutable";
+        responseObject[kHeaders][kRealm] = relevantRealm;
+        responseObject[kState].status = status;
+        const value = isomorphicEncode(URLSerializer(parsedURL));
+        responseObject[kState].headersList.append("location", value);
+        return responseObject;
       }
-      if (typeof data.mode === "number") {
-        if (win32) {
-          data.mode &= 511;
-        } else {
-          data.mode &= 4095;
+      // https://fetch.spec.whatwg.org/#dom-response
+      constructor(body = null, init = {}) {
+        if (body !== null) {
+          body = webidl.converters.BodyInit(body);
         }
-      } else if (data.stats && data.mode === null) {
-        if (win32) {
-          data.mode = data.stats.mode & 511;
-        } else {
-          data.mode = data.stats.mode & 4095;
+        init = webidl.converters.ResponseInit(init);
+        this[kRealm] = { settingsObject: {} };
+        this[kState] = makeResponse({});
+        this[kHeaders] = new Headers(kConstruct);
+        this[kHeaders][kGuard] = "response";
+        this[kHeaders][kHeadersList] = this[kState].headersList;
+        this[kHeaders][kRealm] = this[kRealm];
+        let bodyWithType = null;
+        if (body != null) {
+          const [extractedBody, type2] = extractBody(body);
+          bodyWithType = { body: extractedBody, type: type2 };
         }
-        if (win32 && isDir) {
-          data.mode = 493;
+        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 "";
         }
-      } else if (data.mode === null) {
-        data.mode = isDir ? 493 : 420;
+        return URLSerializer(url, true);
       }
-      if (data.stats && data.date === null) {
-        data.date = data.stats.mtime;
-      } else {
-        data.date = util.dateify(data.date);
+      // Returns whether response was obtained through a redirect.
+      get redirected() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].urlList.length > 1;
       }
-      return data;
-    };
-    Archiver.prototype._onModuleError = function(err) {
-      this.emit("error", err);
-    };
-    Archiver.prototype._onQueueDrain = function() {
-      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
-        return;
+      // Returns response’s status.
+      get status() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status;
       }
-      if (this._state.finalize && this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
-        this._finalize();
+      // Returns whether response’s status is an ok status.
+      get ok() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status >= 200 && this[kState].status <= 299;
       }
-    };
-    Archiver.prototype._onQueueTask = function(task, callback) {
-      var fullCallback = () => {
-        if (task.data.callback) {
-          task.data.callback();
-        }
-        callback();
-      };
-      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
-        fullCallback();
-        return;
+      // Returns response’s status message.
+      get statusText() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].statusText;
       }
-      this._task = task;
-      this._moduleAppend(task.source, task.data, fullCallback);
-    };
-    Archiver.prototype._onStatQueueTask = function(task, callback) {
-      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
-        callback();
-        return;
+      // Returns response’s headers as Headers.
+      get headers() {
+        webidl.brandCheck(this, _Response);
+        return this[kHeaders];
       }
-      fs8.lstat(task.filepath, function(err, stats) {
-        if (this._state.aborted) {
-          setImmediate(callback);
-          return;
-        }
-        if (err) {
-          this._entriesCount--;
-          this.emit("warning", err);
-          setImmediate(callback);
-          return;
-        }
-        task = this._updateQueueTaskWithStats(task, stats);
-        if (task) {
-          if (stats.size) {
-            this._fsEntriesTotalBytes += stats.size;
-          }
-          this._queue.push(task);
-        }
-        setImmediate(callback);
-      }.bind(this));
-    };
-    Archiver.prototype._shutdown = function() {
-      this._moduleUnpipe();
-      this.end();
-    };
-    Archiver.prototype._transform = function(chunk, encoding, callback) {
-      if (chunk) {
-        this._pointer += chunk.length;
+      get body() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      callback(null, chunk);
-    };
-    Archiver.prototype._updateQueueTaskWithStats = function(task, stats) {
-      if (stats.isFile()) {
-        task.data.type = "file";
-        task.data.sourceType = "stream";
-        task.source = util.lazyReadStream(task.filepath);
-      } else if (stats.isDirectory() && this._moduleSupports("directory")) {
-        task.data.name = util.trailingSlashIt(task.data.name);
-        task.data.type = "directory";
-        task.data.sourcePath = util.trailingSlashIt(task.filepath);
-        task.data.sourceType = "buffer";
-        task.source = Buffer.concat([]);
-      } else if (stats.isSymbolicLink() && this._moduleSupports("symlink")) {
-        var linkPath = fs8.readlinkSync(task.filepath);
-        var dirName = path7.dirname(task.filepath);
-        task.data.type = "symlink";
-        task.data.linkname = path7.relative(dirName, path7.resolve(dirName, linkPath));
-        task.data.sourceType = "buffer";
-        task.source = Buffer.concat([]);
-      } else {
-        if (stats.isDirectory()) {
-          this.emit("warning", new ArchiverError("DIRECTORYNOTSUPPORTED", task.data));
-        } else if (stats.isSymbolicLink()) {
-          this.emit("warning", new ArchiverError("SYMLINKNOTSUPPORTED", task.data));
-        } else {
-          this.emit("warning", new ArchiverError("ENTRYNOTSUPPORTED", task.data));
-        }
-        return null;
+      get bodyUsed() {
+        webidl.brandCheck(this, _Response);
+        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
       }
-      task.data = this._normalizeEntryData(task.data, stats);
-      return task;
-    };
-    Archiver.prototype.abort = function() {
-      if (this._state.aborted || this._state.finalized) {
-        return this;
+      // Returns a clone of response.
+      clone() {
+        webidl.brandCheck(this, _Response);
+        if (this.bodyUsed || this.body && this.body.locked) {
+          throw webidl.errors.exception({
+            header: "Response.clone",
+            message: "Body has already been consumed."
+          });
+        }
+        const clonedResponse = cloneResponse(this[kState]);
+        const clonedResponseObject = new _Response();
+        clonedResponseObject[kState] = clonedResponse;
+        clonedResponseObject[kRealm] = this[kRealm];
+        clonedResponseObject[kHeaders][kHeadersList] = clonedResponse.headersList;
+        clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard];
+        clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm];
+        return clonedResponseObject;
       }
-      this._abort();
-      return this;
     };
-    Archiver.prototype.append = function(source, data) {
-      if (this._state.finalize || this._state.aborted) {
-        this.emit("error", new ArchiverError("QUEUECLOSED"));
-        return this;
-      }
-      data = this._normalizeEntryData(data);
-      if (typeof data.name !== "string" || data.name.length === 0) {
-        this.emit("error", new ArchiverError("ENTRYNAMEREQUIRED"));
-        return this;
+    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
       }
-      if (data.type === "directory" && !this._moduleSupports("directory")) {
-        this.emit("error", new ArchiverError("DIRECTORYNOTSUPPORTED", { name: data.name }));
-        return this;
+    });
+    Object.defineProperties(Response, {
+      json: kEnumerableProperty,
+      redirect: kEnumerableProperty,
+      error: kEnumerableProperty
+    });
+    function cloneResponse(response) {
+      if (response.internalResponse) {
+        return filterResponse(
+          cloneResponse(response.internalResponse),
+          response.type
+        );
       }
-      source = util.normalizeInputSource(source);
-      if (Buffer.isBuffer(source)) {
-        data.sourceType = "buffer";
-      } else if (util.isStream(source)) {
-        data.sourceType = "stream";
-      } else {
-        this.emit("error", new ArchiverError("INPUTSTEAMBUFFERREQUIRED", { name: data.name }));
-        return this;
+      const newResponse = makeResponse({ ...response, body: null });
+      if (response.body != null) {
+        newResponse.body = cloneBody(response.body);
       }
-      this._entriesCount++;
-      this._queue.push({
-        data,
-        source
+      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"
       });
-      return this;
-    };
-    Archiver.prototype.directory = function(dirpath, destpath, data) {
-      if (this._state.finalize || this._state.aborted) {
-        this.emit("error", new ArchiverError("QUEUECLOSED"));
-        return this;
+    }
+    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, type2) {
+      if (type2 === "basic") {
+        return makeFilteredResponse(response, {
+          type: "basic",
+          headersList: response.headersList
+        });
+      } else if (type2 === "cors") {
+        return makeFilteredResponse(response, {
+          type: "cors",
+          headersList: response.headersList
+        });
+      } else if (type2 === "opaque") {
+        return makeFilteredResponse(response, {
+          type: "opaque",
+          urlList: Object.freeze([]),
+          status: 0,
+          statusText: "",
+          body: null
+        });
+      } else if (type2 === "opaqueredirect") {
+        return makeFilteredResponse(response, {
+          type: "opaqueredirect",
+          status: 0,
+          statusText: "",
+          headersList: [],
+          body: null
+        });
+      } else {
+        assert(false);
       }
-      if (typeof dirpath !== "string" || dirpath.length === 0) {
-        this.emit("error", new ArchiverError("DIRECTORYDIRPATHREQUIRED"));
-        return this;
+    }
+    function makeAppropriateNetworkError(fetchParams, err = null) {
+      assert(isCancelled(fetchParams));
+      return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException2("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException2("Request was cancelled."), { cause: err }));
+    }
+    function initializeResponse(response, init, body) {
+      if (init.status !== null && (init.status < 200 || init.status > 599)) {
+        throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
       }
-      this._pending++;
-      if (destpath === false) {
-        destpath = "";
-      } else if (typeof destpath !== "string") {
-        destpath = dirpath;
+      if ("statusText" in init && init.statusText != null) {
+        if (!isValidReasonPhrase(String(init.statusText))) {
+          throw new TypeError("Invalid statusText");
+        }
       }
-      var dataFunction = false;
-      if (typeof data === "function") {
-        dataFunction = data;
-        data = {};
-      } else if (typeof data !== "object") {
-        data = {};
+      if ("status" in init && init.status != null) {
+        response[kState].status = init.status;
       }
-      var globOptions = {
-        stat: true,
-        dot: true
-      };
-      function onGlobEnd() {
-        this._pending--;
-        this._maybeFinalize();
+      if ("statusText" in init && init.statusText != null) {
+        response[kState].statusText = init.statusText;
       }
-      function onGlobError(err) {
-        this.emit("error", err);
+      if ("headers" in init && init.headers != null) {
+        fill(response[kHeaders], init.headers);
       }
-      function onGlobMatch(match) {
-        globber.pause();
-        var ignoreMatch = false;
-        var entryData = Object.assign({}, data);
-        entryData.name = match.relative;
-        entryData.prefix = destpath;
-        entryData.stats = match.stat;
-        entryData.callback = globber.resume.bind(globber);
-        try {
-          if (dataFunction) {
-            entryData = dataFunction(entryData);
-            if (entryData === false) {
-              ignoreMatch = true;
-            } else if (typeof entryData !== "object") {
-              throw new ArchiverError("DIRECTORYFUNCTIONINVALIDDATA", { dirpath });
-            }
-          }
-        } catch (e) {
-          this.emit("error", e);
-          return;
+      if (body) {
+        if (nullBodyStatus.includes(response.status)) {
+          throw webidl.errors.exception({
+            header: "Response constructor",
+            message: "Invalid response status code " + response.status
+          });
         }
-        if (ignoreMatch) {
-          globber.resume();
-          return;
+        response[kState].body = body.body;
+        if (body.type != null && !response[kState].headersList.contains("Content-Type")) {
+          response[kState].headersList.append("content-type", body.type);
         }
-        this._append(match.absolute, entryData);
       }
-      var globber = glob2(dirpath, globOptions);
-      globber.on("error", onGlobError.bind(this));
-      globber.on("match", onGlobMatch.bind(this));
-      globber.on("end", onGlobEnd.bind(this));
-      return this;
-    };
-    Archiver.prototype.file = function(filepath, data) {
-      if (this._state.finalize || this._state.aborted) {
-        this.emit("error", new ArchiverError("QUEUECLOSED"));
-        return this;
+    }
+    webidl.converters.ReadableStream = webidl.interfaceConverter(
+      ReadableStream2
+    );
+    webidl.converters.FormData = webidl.interfaceConverter(
+      FormData2
+    );
+    webidl.converters.URLSearchParams = webidl.interfaceConverter(
+      URLSearchParams
+    );
+    webidl.converters.XMLHttpRequestBodyInit = function(V) {
+      if (typeof V === "string") {
+        return webidl.converters.USVString(V);
       }
-      if (typeof filepath !== "string" || filepath.length === 0) {
-        this.emit("error", new ArchiverError("FILEFILEPATHREQUIRED"));
-        return this;
+      if (isBlobLike(V)) {
+        return webidl.converters.Blob(V, { strict: false });
       }
-      this._append(filepath, data);
-      return this;
+      if (types.isArrayBuffer(V) || types.isTypedArray(V) || types.isDataView(V)) {
+        return webidl.converters.BufferSource(V);
+      }
+      if (util.isFormDataLike(V)) {
+        return webidl.converters.FormData(V, { strict: false });
+      }
+      if (V instanceof URLSearchParams) {
+        return webidl.converters.URLSearchParams(V);
+      }
+      return webidl.converters.DOMString(V);
     };
-    Archiver.prototype.glob = function(pattern, options, data) {
-      this._pending++;
-      options = util.defaults(options, {
-        stat: true,
-        pattern
-      });
-      function onGlobEnd() {
-        this._pending--;
-        this._maybeFinalize();
+    webidl.converters.BodyInit = function(V) {
+      if (V instanceof ReadableStream2) {
+        return webidl.converters.ReadableStream(V);
       }
-      function onGlobError(err) {
-        this.emit("error", err);
+      if (V?.[Symbol.asyncIterator]) {
+        return V;
       }
-      function onGlobMatch(match) {
-        globber.pause();
-        var entryData = Object.assign({}, data);
-        entryData.callback = globber.resume.bind(globber);
-        entryData.stats = match.stat;
-        entryData.name = match.relative;
-        this._append(match.absolute, entryData);
+      return webidl.converters.XMLHttpRequestBodyInit(V);
+    };
+    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 = {
+      makeNetworkError,
+      makeResponse,
+      makeAppropriateNetworkError,
+      filterResponse,
+      Response,
+      cloneResponse
+    };
+  }
+});
+
+// node_modules/undici/lib/fetch/request.js
+var require_request6 = __commonJS({
+  "node_modules/undici/lib/fetch/request.js"(exports2, module2) {
+    "use strict";
+    var { extractBody, mixinBody, cloneBody } = require_body3();
+    var { Headers, fill: fillHeaders, HeadersList } = require_headers4();
+    var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref3()();
+    var util = require_util24();
+    var {
+      isValidHTTPToken,
+      sameOrigin,
+      normalizeMethod,
+      makePolicyContainer,
+      normalizeMethodRecord
+    } = require_util25();
+    var {
+      forbiddenMethodsSet,
+      corsSafeListedMethodsSet,
+      referrerPolicy,
+      requestRedirect,
+      requestMode,
+      requestCredentials,
+      requestCache,
+      requestDuplex
+    } = require_constants21();
+    var { kEnumerableProperty } = util;
+    var { kHeaders, kSignal, kState, kGuard, kRealm } = require_symbols12();
+    var { webidl } = require_webidl3();
+    var { getGlobalOrigin } = require_global5();
+    var { URLSerializer } = require_dataURL();
+    var { kHeadersList, kConstruct } = require_symbols11();
+    var assert = require("assert");
+    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events");
+    var TransformStream2 = globalThis.TransformStream;
+    var kAbortController = /* @__PURE__ */ Symbol("abortController");
+    var requestFinalizer = new FinalizationRegistry2(({ signal, abort }) => {
+      signal.removeEventListener("abort", abort);
+    });
+    var Request = class _Request {
+      // https://fetch.spec.whatwg.org/#dom-request
+      constructor(input, init = {}) {
+        if (input === kConstruct) {
+          return;
+        }
+        webidl.argumentLengthCheck(arguments, 1, { header: "Request constructor" });
+        input = webidl.converters.RequestInfo(input);
+        init = webidl.converters.RequestInit(init);
+        this[kRealm] = {
+          settingsObject: {
+            baseUrl: getGlobalOrigin(),
+            get origin() {
+              return this.baseUrl?.origin;
+            },
+            policyContainer: makePolicyContainer()
+          }
+        };
+        let request2 = null;
+        let fallbackMode = null;
+        const baseUrl = this[kRealm].settingsObject.baseUrl;
+        let signal = null;
+        if (typeof input === "string") {
+          let parsedURL;
+          try {
+            parsedURL = new URL(input, baseUrl);
+          } 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 {
+          assert(input instanceof _Request);
+          request2 = input[kState];
+          signal = input[kSignal];
+        }
+        const origin = this[kRealm].settingsObject.origin;
+        let window2 = "client";
+        if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
+          window2 = request2.window;
+        }
+        if (init.window != null) {
+          throw new TypeError(`'window' option '${window2}' must be null`);
+        }
+        if ("window" in init) {
+          window2 = "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: this[kRealm].settingsObject,
+          // window window.
+          window: window2,
+          // 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, this[kRealm].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;
+          if (!isValidHTTPToken(method)) {
+            throw new TypeError(`'${method}' is not a valid HTTP method.`);
+          }
+          if (forbiddenMethodsSet.has(method.toUpperCase())) {
+            throw new TypeError(`'${method}' HTTP method is unsupported.`);
+          }
+          method = normalizeMethodRecord[method] ?? normalizeMethod(method);
+          request2.method = method;
+        }
+        if (init.signal !== void 0) {
+          signal = init.signal;
+        }
+        this[kState] = request2;
+        const ac = new AbortController();
+        this[kSignal] = ac.signal;
+        this[kSignal][kRealm] = this[kRealm];
+        if (signal != null) {
+          if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") {
+            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 = function() {
+              const ac2 = acRef.deref();
+              if (ac2 !== void 0) {
+                ac2.abort(this.reason);
+              }
+            };
+            try {
+              if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) {
+                setMaxListeners(100, signal);
+              } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) {
+                setMaxListeners(100, signal);
+              }
+            } catch {
+            }
+            util.addAbortListener(signal, abort);
+            requestFinalizer.register(ac, { signal, abort });
+          }
+        }
+        this[kHeaders] = new Headers(kConstruct);
+        this[kHeaders][kHeadersList] = request2.headersList;
+        this[kHeaders][kGuard] = "request";
+        this[kHeaders][kRealm] = this[kRealm];
+        if (mode === "no-cors") {
+          if (!corsSafeListedMethodsSet.has(request2.method)) {
+            throw new TypeError(
+              `'${request2.method} is unsupported in no-cors mode.`
+            );
+          }
+          this[kHeaders][kGuard] = "request-no-cors";
+        }
+        if (initHasKey) {
+          const headersList = this[kHeaders][kHeadersList];
+          const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList);
+          headersList.clear();
+          if (headers instanceof HeadersList) {
+            for (const [key, val] of headers) {
+              headersList.append(key, val);
+            }
+            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 && !this[kHeaders][kHeadersList].contains("content-type")) {
+            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 (util.isDisturbed(inputBody.stream) || inputBody.stream.locked) {
+            throw new TypeError(
+              "Cannot construct a Request with a Request object that has already been used."
+            );
+          }
+          if (!TransformStream2) {
+            TransformStream2 = require("stream/web").TransformStream;
+          }
+          const identityTransform = new TransformStream2();
+          inputBody.stream.pipeThrough(identityTransform);
+          finalBody = {
+            source: inputBody.source,
+            length: inputBody.length,
+            stream: identityTransform.readable
+          };
+        }
+        this[kState].body = finalBody;
       }
-      var globber = glob2(options.cwd || ".", options);
-      globber.on("error", onGlobError.bind(this));
-      globber.on("match", onGlobMatch.bind(this));
-      globber.on("end", onGlobEnd.bind(this));
-      return this;
-    };
-    Archiver.prototype.finalize = function() {
-      if (this._state.aborted) {
-        var abortedError = new ArchiverError("ABORTED");
-        this.emit("error", abortedError);
-        return Promise.reject(abortedError);
+      // Returns request’s HTTP method, which is "GET" by default.
+      get method() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].method;
       }
-      if (this._state.finalize) {
-        var finalizingError = new ArchiverError("FINALIZING");
-        this.emit("error", finalizingError);
-        return Promise.reject(finalizingError);
+      // Returns the URL of request as a string.
+      get url() {
+        webidl.brandCheck(this, _Request);
+        return URLSerializer(this[kState].url);
       }
-      this._state.finalize = true;
-      if (this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
-        this._finalize();
+      // 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];
       }
-      var self2 = this;
-      return new Promise(function(resolve5, reject) {
-        var errored;
-        self2._module.on("end", function() {
-          if (!errored) {
-            resolve5();
-          }
-        });
-        self2._module.on("error", function(err) {
-          errored = true;
-          reject(err);
-        });
-      });
-    };
-    Archiver.prototype.setFormat = function(format) {
-      if (this._format) {
-        this.emit("error", new ArchiverError("FORMATSET"));
-        return this;
+      // Returns the kind of resource requested by request, e.g., "document"
+      // or "script".
+      get destination() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].destination;
       }
-      this._format = format;
-      return this;
-    };
-    Archiver.prototype.setModule = function(module3) {
-      if (this._state.aborted) {
-        this.emit("error", new ArchiverError("ABORTED"));
-        return this;
+      // 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();
       }
-      if (this._state.module) {
-        this.emit("error", new ArchiverError("MODULESET"));
-        return this;
+      // 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;
       }
-      this._module = module3;
-      this._modulePipe();
-      return this;
-    };
-    Archiver.prototype.symlink = function(filepath, target, mode) {
-      if (this._state.finalize || this._state.aborted) {
-        this.emit("error", new ArchiverError("QUEUECLOSED"));
-        return this;
+      // 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;
       }
-      if (typeof filepath !== "string" || filepath.length === 0) {
-        this.emit("error", new ArchiverError("SYMLINKFILEPATHREQUIRED"));
-        return this;
+      // 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;
       }
-      if (typeof target !== "string" || target.length === 0) {
-        this.emit("error", new ArchiverError("SYMLINKTARGETREQUIRED", { filepath }));
-        return this;
+      // 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;
       }
-      if (!this._moduleSupports("symlink")) {
-        this.emit("error", new ArchiverError("SYMLINKNOTSUPPORTED", { filepath }));
-        return this;
+      // 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;
       }
-      var data = {};
-      data.type = "symlink";
-      data.name = filepath.replace(/\\/g, "/");
-      data.linkname = target.replace(/\\/g, "/");
-      data.sourceType = "buffer";
-      if (typeof mode === "number") {
-        data.mode = mode;
+      // 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;
       }
-      this._entriesCount++;
-      this._queue.push({
-        data,
-        source: Buffer.concat([])
-      });
-      return this;
-    };
-    Archiver.prototype.pointer = function() {
-      return this._pointer;
-    };
-    Archiver.prototype.use = function(plugin) {
-      this._streams.push(plugin);
-      return this;
-    };
-    module2.exports = Archiver;
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/archive-entry.js
-var require_archive_entry = __commonJS({
-  "node_modules/compress-commons/lib/archivers/archive-entry.js"(exports2, module2) {
-    var ArchiveEntry = module2.exports = function() {
-    };
-    ArchiveEntry.prototype.getName = function() {
-    };
-    ArchiveEntry.prototype.getSize = function() {
-    };
-    ArchiveEntry.prototype.getLastModifiedDate = function() {
-    };
-    ArchiveEntry.prototype.isDirectory = function() {
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/util.js
-var require_util21 = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/util.js"(exports2, module2) {
-    var util = module2.exports = {};
-    util.dateToDos = function(d, forceLocalTime) {
-      forceLocalTime = forceLocalTime || false;
-      var year = forceLocalTime ? d.getFullYear() : d.getUTCFullYear();
-      if (year < 1980) {
-        return 2162688;
-      } else if (year >= 2044) {
-        return 2141175677;
+      // 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;
       }
-      var val = {
-        year,
-        month: forceLocalTime ? d.getMonth() : d.getUTCMonth(),
-        date: forceLocalTime ? d.getDate() : d.getUTCDate(),
-        hours: forceLocalTime ? d.getHours() : d.getUTCHours(),
-        minutes: forceLocalTime ? d.getMinutes() : d.getUTCMinutes(),
-        seconds: forceLocalTime ? d.getSeconds() : d.getUTCSeconds()
-      };
-      return val.year - 1980 << 25 | val.month + 1 << 21 | val.date << 16 | val.hours << 11 | val.minutes << 5 | val.seconds / 2;
-    };
-    util.dosToDate = function(dos) {
-      return new Date((dos >> 25 & 127) + 1980, (dos >> 21 & 15) - 1, dos >> 16 & 31, dos >> 11 & 31, dos >> 5 & 63, (dos & 31) << 1);
-    };
-    util.fromDosTime = function(buf) {
-      return util.dosToDate(buf.readUInt32LE(0));
-    };
-    util.getEightBytes = function(v) {
-      var buf = Buffer.alloc(8);
-      buf.writeUInt32LE(v % 4294967296, 0);
-      buf.writeUInt32LE(v / 4294967296 | 0, 4);
-      return buf;
-    };
-    util.getShortBytes = function(v) {
-      var buf = Buffer.alloc(2);
-      buf.writeUInt16LE((v & 65535) >>> 0, 0);
-      return buf;
-    };
-    util.getShortBytesValue = function(buf, offset) {
-      return buf.readUInt16LE(offset);
-    };
-    util.getLongBytes = function(v) {
-      var buf = Buffer.alloc(4);
-      buf.writeUInt32LE((v & 4294967295) >>> 0, 0);
-      return buf;
-    };
-    util.getLongBytesValue = function(buf, offset) {
-      return buf.readUInt32LE(offset);
-    };
-    util.toDosTime = function(d) {
-      return util.getLongBytes(util.dateToDos(d));
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js
-var require_general_purpose_bit = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js"(exports2, module2) {
-    var zipUtil = require_util21();
-    var DATA_DESCRIPTOR_FLAG = 1 << 3;
-    var ENCRYPTION_FLAG = 1 << 0;
-    var NUMBER_OF_SHANNON_FANO_TREES_FLAG = 1 << 2;
-    var SLIDING_DICTIONARY_SIZE_FLAG = 1 << 1;
-    var STRONG_ENCRYPTION_FLAG = 1 << 6;
-    var UFT8_NAMES_FLAG = 1 << 11;
-    var GeneralPurposeBit = module2.exports = function() {
-      if (!(this instanceof GeneralPurposeBit)) {
-        return new GeneralPurposeBit();
+      // Returns a boolean indicating whether or not request is for a reload
+      // navigation.
+      get isReloadNavigation() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].reloadNavigation;
       }
-      this.descriptor = false;
-      this.encryption = false;
-      this.utf8 = false;
-      this.numberOfShannonFanoTrees = 0;
-      this.strongEncryption = false;
-      this.slidingDictionarySize = 0;
-      return this;
-    };
-    GeneralPurposeBit.prototype.encode = function() {
-      return zipUtil.getShortBytes(
-        (this.descriptor ? DATA_DESCRIPTOR_FLAG : 0) | (this.utf8 ? UFT8_NAMES_FLAG : 0) | (this.encryption ? ENCRYPTION_FLAG : 0) | (this.strongEncryption ? STRONG_ENCRYPTION_FLAG : 0)
-      );
-    };
-    GeneralPurposeBit.prototype.parse = function(buf, offset) {
-      var flag = zipUtil.getShortBytesValue(buf, offset);
-      var gbp = new GeneralPurposeBit();
-      gbp.useDataDescriptor((flag & DATA_DESCRIPTOR_FLAG) !== 0);
-      gbp.useUTF8ForNames((flag & UFT8_NAMES_FLAG) !== 0);
-      gbp.useStrongEncryption((flag & STRONG_ENCRYPTION_FLAG) !== 0);
-      gbp.useEncryption((flag & ENCRYPTION_FLAG) !== 0);
-      gbp.setSlidingDictionarySize((flag & SLIDING_DICTIONARY_SIZE_FLAG) !== 0 ? 8192 : 4096);
-      gbp.setNumberOfShannonFanoTrees((flag & NUMBER_OF_SHANNON_FANO_TREES_FLAG) !== 0 ? 3 : 2);
-      return gbp;
-    };
-    GeneralPurposeBit.prototype.setNumberOfShannonFanoTrees = function(n) {
-      this.numberOfShannonFanoTrees = n;
-    };
-    GeneralPurposeBit.prototype.getNumberOfShannonFanoTrees = function() {
-      return this.numberOfShannonFanoTrees;
-    };
-    GeneralPurposeBit.prototype.setSlidingDictionarySize = function(n) {
-      this.slidingDictionarySize = n;
-    };
-    GeneralPurposeBit.prototype.getSlidingDictionarySize = function() {
-      return this.slidingDictionarySize;
-    };
-    GeneralPurposeBit.prototype.useDataDescriptor = function(b) {
-      this.descriptor = b;
-    };
-    GeneralPurposeBit.prototype.usesDataDescriptor = function() {
-      return this.descriptor;
-    };
-    GeneralPurposeBit.prototype.useEncryption = function(b) {
-      this.encryption = b;
-    };
-    GeneralPurposeBit.prototype.usesEncryption = function() {
-      return this.encryption;
-    };
-    GeneralPurposeBit.prototype.useStrongEncryption = function(b) {
-      this.strongEncryption = b;
-    };
-    GeneralPurposeBit.prototype.usesStrongEncryption = function() {
-      return this.strongEncryption;
-    };
-    GeneralPurposeBit.prototype.useUTF8ForNames = function(b) {
-      this.utf8 = b;
-    };
-    GeneralPurposeBit.prototype.usesUTF8ForNames = function() {
-      return this.utf8;
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/unix-stat.js
-var require_unix_stat = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/unix-stat.js"(exports2, module2) {
-    module2.exports = {
-      /**
-       * Bits used for permissions (and sticky bit)
-       */
-      PERM_MASK: 4095,
-      // 07777
-      /**
-       * Bits used to indicate the filesystem object type.
-       */
-      FILE_TYPE_FLAG: 61440,
-      // 0170000
-      /**
-       * Indicates symbolic links.
-       */
-      LINK_FLAG: 40960,
-      // 0120000
-      /**
-       * Indicates plain files.
-       */
-      FILE_FLAG: 32768,
-      // 0100000
-      /**
-       * Indicates directories.
-       */
-      DIR_FLAG: 16384,
-      // 040000
-      // ----------------------------------------------------------
-      // somewhat arbitrary choices that are quite common for shared
-      // installations
-      // -----------------------------------------------------------
-      /**
-       * Default permissions for symbolic links.
-       */
-      DEFAULT_LINK_PERM: 511,
-      // 0777
-      /**
-       * Default permissions for directories.
-       */
-      DEFAULT_DIR_PERM: 493,
-      // 0755
-      /**
-       * Default permissions for plain files.
-       */
-      DEFAULT_FILE_PERM: 420
-      // 0644
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/constants.js
-var require_constants18 = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/constants.js"(exports2, module2) {
-    module2.exports = {
-      WORD: 4,
-      DWORD: 8,
-      EMPTY: Buffer.alloc(0),
-      SHORT: 2,
-      SHORT_MASK: 65535,
-      SHORT_SHIFT: 16,
-      SHORT_ZERO: Buffer.from(Array(2)),
-      LONG: 4,
-      LONG_ZERO: Buffer.from(Array(4)),
-      MIN_VERSION_INITIAL: 10,
-      MIN_VERSION_DATA_DESCRIPTOR: 20,
-      MIN_VERSION_ZIP64: 45,
-      VERSION_MADEBY: 45,
-      METHOD_STORED: 0,
-      METHOD_DEFLATED: 8,
-      PLATFORM_UNIX: 3,
-      PLATFORM_FAT: 0,
-      SIG_LFH: 67324752,
-      SIG_DD: 134695760,
-      SIG_CFH: 33639248,
-      SIG_EOCD: 101010256,
-      SIG_ZIP64_EOCD: 101075792,
-      SIG_ZIP64_EOCD_LOC: 117853008,
-      ZIP64_MAGIC_SHORT: 65535,
-      ZIP64_MAGIC: 4294967295,
-      ZIP64_EXTRA_ID: 1,
-      ZLIB_NO_COMPRESSION: 0,
-      ZLIB_BEST_SPEED: 1,
-      ZLIB_BEST_COMPRESSION: 9,
-      ZLIB_DEFAULT_COMPRESSION: -1,
-      MODE_MASK: 4095,
-      DEFAULT_FILE_MODE: 33188,
-      // 010644 = -rw-r--r-- = S_IFREG | S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
-      DEFAULT_DIR_MODE: 16877,
-      // 040755 = drwxr-xr-x = S_IFDIR | S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH
-      EXT_FILE_ATTR_DIR: 1106051088,
-      // 010173200020 = drwxr-xr-x = (((S_IFDIR | 0755) << 16) | S_DOS_D)
-      EXT_FILE_ATTR_FILE: 2175008800,
-      // 020151000040 = -rw-r--r-- = (((S_IFREG | 0644) << 16) | S_DOS_A) >>> 0
-      // Unix file types
-      S_IFMT: 61440,
-      // 0170000 type of file mask
-      S_IFIFO: 4096,
-      // 010000 named pipe (fifo)
-      S_IFCHR: 8192,
-      // 020000 character special
-      S_IFDIR: 16384,
-      // 040000 directory
-      S_IFBLK: 24576,
-      // 060000 block special
-      S_IFREG: 32768,
-      // 0100000 regular
-      S_IFLNK: 40960,
-      // 0120000 symbolic link
-      S_IFSOCK: 49152,
-      // 0140000 socket
-      // DOS file type flags
-      S_DOS_A: 32,
-      // 040 Archive
-      S_DOS_D: 16,
-      // 020 Directory
-      S_DOS_V: 8,
-      // 010 Volume
-      S_DOS_S: 4,
-      // 04 System
-      S_DOS_H: 2,
-      // 02 Hidden
-      S_DOS_R: 1
-      // 01 Read Only
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/zip-archive-entry.js
-var require_zip_archive_entry = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/zip-archive-entry.js"(exports2, module2) {
-    var inherits = require("util").inherits;
-    var normalizePath = require_normalize_path();
-    var ArchiveEntry = require_archive_entry();
-    var GeneralPurposeBit = require_general_purpose_bit();
-    var UnixStat = require_unix_stat();
-    var constants = require_constants18();
-    var zipUtil = require_util21();
-    var ZipArchiveEntry = module2.exports = function(name) {
-      if (!(this instanceof ZipArchiveEntry)) {
-        return new ZipArchiveEntry(name);
+      // Returns a boolean indicating whether or not request is for a history
+      // navigation (a.k.a. back-foward navigation).
+      get isHistoryNavigation() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].historyNavigation;
       }
-      ArchiveEntry.call(this);
-      this.platform = constants.PLATFORM_FAT;
-      this.method = -1;
-      this.name = null;
-      this.size = 0;
-      this.csize = 0;
-      this.gpb = new GeneralPurposeBit();
-      this.crc = 0;
-      this.time = -1;
-      this.minver = constants.MIN_VERSION_INITIAL;
-      this.mode = -1;
-      this.extra = null;
-      this.exattr = 0;
-      this.inattr = 0;
-      this.comment = null;
-      if (name) {
-        this.setName(name);
+      // 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];
       }
-    };
-    inherits(ZipArchiveEntry, ArchiveEntry);
-    ZipArchiveEntry.prototype.getCentralDirectoryExtra = function() {
-      return this.getExtra();
-    };
-    ZipArchiveEntry.prototype.getComment = function() {
-      return this.comment !== null ? this.comment : "";
-    };
-    ZipArchiveEntry.prototype.getCompressedSize = function() {
-      return this.csize;
-    };
-    ZipArchiveEntry.prototype.getCrc = function() {
-      return this.crc;
-    };
-    ZipArchiveEntry.prototype.getExternalAttributes = function() {
-      return this.exattr;
-    };
-    ZipArchiveEntry.prototype.getExtra = function() {
-      return this.extra !== null ? this.extra : constants.EMPTY;
-    };
-    ZipArchiveEntry.prototype.getGeneralPurposeBit = function() {
-      return this.gpb;
-    };
-    ZipArchiveEntry.prototype.getInternalAttributes = function() {
-      return this.inattr;
-    };
-    ZipArchiveEntry.prototype.getLastModifiedDate = function() {
-      return this.getTime();
-    };
-    ZipArchiveEntry.prototype.getLocalFileDataExtra = function() {
-      return this.getExtra();
-    };
-    ZipArchiveEntry.prototype.getMethod = function() {
-      return this.method;
-    };
-    ZipArchiveEntry.prototype.getName = function() {
-      return this.name;
-    };
-    ZipArchiveEntry.prototype.getPlatform = function() {
-      return this.platform;
-    };
-    ZipArchiveEntry.prototype.getSize = function() {
-      return this.size;
-    };
-    ZipArchiveEntry.prototype.getTime = function() {
-      return this.time !== -1 ? zipUtil.dosToDate(this.time) : -1;
-    };
-    ZipArchiveEntry.prototype.getTimeDos = function() {
-      return this.time !== -1 ? this.time : 0;
-    };
-    ZipArchiveEntry.prototype.getUnixMode = function() {
-      return this.platform !== constants.PLATFORM_UNIX ? 0 : this.getExternalAttributes() >> constants.SHORT_SHIFT & constants.SHORT_MASK;
-    };
-    ZipArchiveEntry.prototype.getVersionNeededToExtract = function() {
-      return this.minver;
-    };
-    ZipArchiveEntry.prototype.setComment = function(comment) {
-      if (Buffer.byteLength(comment) !== comment.length) {
-        this.getGeneralPurposeBit().useUTF8ForNames(true);
+      get body() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      this.comment = comment;
-    };
-    ZipArchiveEntry.prototype.setCompressedSize = function(size) {
-      if (size < 0) {
-        throw new Error("invalid entry compressed size");
+      get bodyUsed() {
+        webidl.brandCheck(this, _Request);
+        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
       }
-      this.csize = size;
-    };
-    ZipArchiveEntry.prototype.setCrc = function(crc) {
-      if (crc < 0) {
-        throw new Error("invalid entry crc32");
+      get duplex() {
+        webidl.brandCheck(this, _Request);
+        return "half";
       }
-      this.crc = crc;
-    };
-    ZipArchiveEntry.prototype.setExternalAttributes = function(attr) {
-      this.exattr = attr >>> 0;
-    };
-    ZipArchiveEntry.prototype.setExtra = function(extra) {
-      this.extra = extra;
-    };
-    ZipArchiveEntry.prototype.setGeneralPurposeBit = function(gpb) {
-      if (!(gpb instanceof GeneralPurposeBit)) {
-        throw new Error("invalid entry GeneralPurposeBit");
+      // Returns a clone of request.
+      clone() {
+        webidl.brandCheck(this, _Request);
+        if (this.bodyUsed || this.body?.locked) {
+          throw new TypeError("unusable");
+        }
+        const clonedRequest = cloneRequest(this[kState]);
+        const clonedRequestObject = new _Request(kConstruct);
+        clonedRequestObject[kState] = clonedRequest;
+        clonedRequestObject[kRealm] = this[kRealm];
+        clonedRequestObject[kHeaders] = new Headers(kConstruct);
+        clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList;
+        clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard];
+        clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm];
+        const ac = new AbortController();
+        if (this.signal.aborted) {
+          ac.abort(this.signal.reason);
+        } else {
+          util.addAbortListener(
+            this.signal,
+            () => {
+              ac.abort(this.signal.reason);
+            }
+          );
+        }
+        clonedRequestObject[kSignal] = ac.signal;
+        return clonedRequestObject;
       }
-      this.gpb = gpb;
-    };
-    ZipArchiveEntry.prototype.setInternalAttributes = function(attr) {
-      this.inattr = attr;
     };
-    ZipArchiveEntry.prototype.setMethod = function(method) {
-      if (method < 0) {
-        throw new Error("invalid entry compression method");
+    mixinBody(Request);
+    function makeRequest(init) {
+      const request2 = {
+        method: "GET",
+        localURLsOnly: false,
+        unsafeRequest: false,
+        body: null,
+        client: null,
+        reservedClient: null,
+        replacesClientId: "",
+        window: "client",
+        keepalive: false,
+        serviceWorkers: "all",
+        initiator: "",
+        destination: "",
+        priority: null,
+        origin: "client",
+        policyContainer: "client",
+        referrer: "client",
+        referrerPolicy: "",
+        mode: "no-cors",
+        useCORSPreflightFlag: false,
+        credentials: "same-origin",
+        useCredentials: false,
+        cache: "default",
+        redirect: "follow",
+        integrity: "",
+        cryptoGraphicsNonceMetadata: "",
+        parserMetadata: "",
+        reloadNavigation: false,
+        historyNavigation: false,
+        userActivation: false,
+        taintedOrigin: false,
+        redirectCount: 0,
+        responseTainting: "basic",
+        preventNoCacheCacheControlHeaderModification: false,
+        done: false,
+        timingAllowFailed: false,
+        ...init,
+        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList()
+      };
+      request2.url = request2.urlList[0];
+      return request2;
+    }
+    function cloneRequest(request2) {
+      const newRequest = makeRequest({ ...request2, body: null });
+      if (request2.body != null) {
+        newRequest.body = cloneBody(request2.body);
       }
-      this.method = method;
-    };
-    ZipArchiveEntry.prototype.setName = function(name, prependSlash = false) {
-      name = normalizePath(name, false).replace(/^\w+:/, "").replace(/^(\.\.\/|\/)+/, "");
-      if (prependSlash) {
-        name = `/${name}`;
+      return newRequest;
+    }
+    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
       }
-      if (Buffer.byteLength(name) !== name.length) {
-        this.getGeneralPurposeBit().useUTF8ForNames(true);
+    });
+    webidl.converters.Request = webidl.interfaceConverter(
+      Request
+    );
+    webidl.converters.RequestInfo = function(V) {
+      if (typeof V === "string") {
+        return webidl.converters.USVString(V);
       }
-      this.name = name;
-    };
-    ZipArchiveEntry.prototype.setPlatform = function(platform) {
-      this.platform = platform;
-    };
-    ZipArchiveEntry.prototype.setSize = function(size) {
-      if (size < 0) {
-        throw new Error("invalid entry size");
+      if (V instanceof Request) {
+        return webidl.converters.Request(V);
       }
-      this.size = size;
+      return webidl.converters.USVString(V);
     };
-    ZipArchiveEntry.prototype.setTime = function(time, forceLocalTime) {
-      if (!(time instanceof Date)) {
-        throw new Error("invalid entry time");
+    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,
+            { strict: false }
+          )
+        )
+      },
+      {
+        key: "window",
+        converter: webidl.converters.any
+      },
+      {
+        key: "duplex",
+        converter: webidl.converters.DOMString,
+        allowedValues: requestDuplex
       }
-      this.time = zipUtil.dateToDos(time, forceLocalTime);
-    };
-    ZipArchiveEntry.prototype.setUnixMode = function(mode) {
-      mode |= this.isDirectory() ? constants.S_IFDIR : constants.S_IFREG;
-      var extattr = 0;
-      extattr |= mode << constants.SHORT_SHIFT | (this.isDirectory() ? constants.S_DOS_D : constants.S_DOS_A);
-      this.setExternalAttributes(extattr);
-      this.mode = mode & constants.MODE_MASK;
-      this.platform = constants.PLATFORM_UNIX;
-    };
-    ZipArchiveEntry.prototype.setVersionNeededToExtract = function(minver) {
-      this.minver = minver;
-    };
-    ZipArchiveEntry.prototype.isDirectory = function() {
-      return this.getName().slice(-1) === "/";
-    };
-    ZipArchiveEntry.prototype.isUnixSymlink = function() {
-      return (this.getUnixMode() & UnixStat.FILE_TYPE_FLAG) === UnixStat.LINK_FLAG;
-    };
-    ZipArchiveEntry.prototype.isZip64 = function() {
-      return this.csize > constants.ZIP64_MAGIC || this.size > constants.ZIP64_MAGIC;
-    };
+    ]);
+    module2.exports = { Request, makeRequest };
   }
 });
 
-// node_modules/compress-commons/node_modules/is-stream/index.js
-var require_is_stream2 = __commonJS({
-  "node_modules/compress-commons/node_modules/is-stream/index.js"(exports2, module2) {
+// node_modules/undici/lib/fetch/index.js
+var require_fetch3 = __commonJS({
+  "node_modules/undici/lib/fetch/index.js"(exports2, module2) {
     "use strict";
-    var isStream = (stream) => stream !== null && typeof stream === "object" && typeof stream.pipe === "function";
-    isStream.writable = (stream) => isStream(stream) && stream.writable !== false && typeof stream._write === "function" && typeof stream._writableState === "object";
-    isStream.readable = (stream) => isStream(stream) && stream.readable !== false && typeof stream._read === "function" && typeof stream._readableState === "object";
-    isStream.duplex = (stream) => isStream.writable(stream) && isStream.readable(stream);
-    isStream.transform = (stream) => isStream.duplex(stream) && typeof stream._transform === "function";
-    module2.exports = isStream;
-  }
-});
-
-// node_modules/compress-commons/lib/util/index.js
-var require_util22 = __commonJS({
-  "node_modules/compress-commons/lib/util/index.js"(exports2, module2) {
-    var Stream = require("stream").Stream;
-    var PassThrough = require_ours().PassThrough;
-    var isStream = require_is_stream2();
-    var util = module2.exports = {};
-    util.normalizeInputSource = function(source) {
-      if (source === null) {
-        return Buffer.alloc(0);
-      } else if (typeof source === "string") {
-        return Buffer.from(source);
-      } else if (isStream(source) && !source._readableState) {
-        var normalized = new PassThrough();
-        source.pipe(normalized);
-        return normalized;
+    var {
+      Response,
+      makeNetworkError,
+      makeAppropriateNetworkError,
+      filterResponse,
+      makeResponse
+    } = require_response4();
+    var { Headers } = require_headers4();
+    var { Request, makeRequest } = require_request6();
+    var zlib = require("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
+    } = require_util25();
+    var { kState, kHeaders, kGuard, kRealm } = require_symbols12();
+    var assert = require("assert");
+    var { safelyExtractBody } = require_body3();
+    var {
+      redirectStatusSet,
+      nullBodyStatus,
+      safeMethodsSet,
+      requestBodyHeader,
+      subresourceSet,
+      DOMException: DOMException2
+    } = require_constants21();
+    var { kHeadersList } = require_symbols11();
+    var EE = require("events");
+    var { Readable, pipeline } = require("stream");
+    var { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require_util24();
+    var { dataURLProcessor, serializeAMimeType } = require_dataURL();
+    var { TransformStream: TransformStream2 } = require("stream/web");
+    var { getGlobalDispatcher } = require_global6();
+    var { webidl } = require_webidl3();
+    var { STATUS_CODES } = require("http");
+    var GET_OR_HEAD = ["GET", "HEAD"];
+    var resolveObjectURL;
+    var ReadableStream2 = globalThis.ReadableStream;
+    var Fetch = class extends EE {
+      constructor(dispatcher) {
+        super();
+        this.dispatcher = dispatcher;
+        this.connection = null;
+        this.dump = false;
+        this.state = "ongoing";
+        this.setMaxListeners(21);
       }
-      return source;
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/archive-output-stream.js
-var require_archive_output_stream = __commonJS({
-  "node_modules/compress-commons/lib/archivers/archive-output-stream.js"(exports2, module2) {
-    var inherits = require("util").inherits;
-    var isStream = require_is_stream2();
-    var Transform = require_ours().Transform;
-    var ArchiveEntry = require_archive_entry();
-    var util = require_util22();
-    var ArchiveOutputStream = module2.exports = function(options) {
-      if (!(this instanceof ArchiveOutputStream)) {
-        return new ArchiveOutputStream(options);
+      terminate(reason) {
+        if (this.state !== "ongoing") {
+          return;
+        }
+        this.state = "terminated";
+        this.connection?.destroy(reason);
+        this.emit("terminated", reason);
       }
-      Transform.call(this, options);
-      this.offset = 0;
-      this._archive = {
-        finish: false,
-        finished: false,
-        processing: false
-      };
-    };
-    inherits(ArchiveOutputStream, Transform);
-    ArchiveOutputStream.prototype._appendBuffer = function(zae, source, callback) {
-    };
-    ArchiveOutputStream.prototype._appendStream = function(zae, source, callback) {
-    };
-    ArchiveOutputStream.prototype._emitErrorCallback = function(err) {
-      if (err) {
-        this.emit("error", err);
+      // https://fetch.spec.whatwg.org/#fetch-controller-abort
+      abort(error3) {
+        if (this.state !== "ongoing") {
+          return;
+        }
+        this.state = "aborted";
+        if (!error3) {
+          error3 = new DOMException2("The operation was aborted.", "AbortError");
+        }
+        this.serializedAbortReason = error3;
+        this.connection?.destroy(error3);
+        this.emit("terminated", error3);
       }
     };
-    ArchiveOutputStream.prototype._finish = function(ae) {
-    };
-    ArchiveOutputStream.prototype._normalizeEntry = function(ae) {
-    };
-    ArchiveOutputStream.prototype._transform = function(chunk, encoding, callback) {
-      callback(null, chunk);
-    };
-    ArchiveOutputStream.prototype.entry = function(ae, source, callback) {
-      source = source || null;
-      if (typeof callback !== "function") {
-        callback = this._emitErrorCallback.bind(this);
+    function fetch(input, init = {}) {
+      webidl.argumentLengthCheck(arguments, 1, { header: "globalThis.fetch" });
+      const p = createDeferredPromise();
+      let requestObject;
+      try {
+        requestObject = new Request(input, init);
+      } catch (e) {
+        p.reject(e);
+        return p.promise;
       }
-      if (!(ae instanceof ArchiveEntry)) {
-        callback(new Error("not a valid instance of ArchiveEntry"));
+      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;
+      const relevantRealm = null;
+      let locallyAborted = false;
+      let controller = null;
+      addAbortListener(
+        requestObject.signal,
+        () => {
+          locallyAborted = true;
+          assert(controller != null);
+          controller.abort(requestObject.signal.reason);
+          abortFetch(p, request2, responseObject, requestObject.signal.reason);
+        }
+      );
+      const handleFetchDone = (response) => finalizeAndReportTiming(response, "fetch");
+      const processResponse = (response) => {
+        if (locallyAborted) {
+          return Promise.resolve();
+        }
+        if (response.aborted) {
+          abortFetch(p, request2, responseObject, controller.serializedAbortReason);
+          return Promise.resolve();
+        }
+        if (response.type === "error") {
+          p.reject(
+            Object.assign(new TypeError("fetch failed"), { cause: response.error })
+          );
+          return Promise.resolve();
+        }
+        responseObject = new Response();
+        responseObject[kState] = response;
+        responseObject[kRealm] = relevantRealm;
+        responseObject[kHeaders][kHeadersList] = response.headersList;
+        responseObject[kHeaders][kGuard] = "immutable";
+        responseObject[kHeaders][kRealm] = relevantRealm;
+        p.resolve(responseObject);
+      };
+      controller = fetching({
+        request: request2,
+        processResponseEndOfBody: handleFetchDone,
+        processResponse,
+        dispatcher: init.dispatcher ?? getGlobalDispatcher()
+        // undici
+      });
+      return p.promise;
+    }
+    function finalizeAndReportTiming(response, initiatorType = "other") {
+      if (response.type === "error" && response.aborted) {
         return;
       }
-      if (this._archive.finish || this._archive.finished) {
-        callback(new Error("unacceptable entry after finish"));
+      if (!response.urlList?.length) {
         return;
       }
-      if (this._archive.processing) {
-        callback(new Error("already processing an entry"));
+      const originalURL = response.urlList[0];
+      let timingInfo = response.timingInfo;
+      let cacheState = response.cacheState;
+      if (!urlIsHttpHttpsScheme(originalURL)) {
         return;
       }
-      this._archive.processing = true;
-      this._normalizeEntry(ae);
-      this._entry = ae;
-      source = util.normalizeInputSource(source);
-      if (Buffer.isBuffer(source)) {
-        this._appendBuffer(ae, source, callback);
-      } else if (isStream(source)) {
-        this._appendStream(ae, source, callback);
-      } else {
-        this._archive.processing = false;
-        callback(new Error("input source must be valid Stream or Buffer instance"));
+      if (timingInfo === null) {
         return;
       }
-      return this;
-    };
-    ArchiveOutputStream.prototype.finish = function() {
-      if (this._archive.processing) {
-        this._archive.finish = true;
+      if (!response.timingAllowPassed) {
+        timingInfo = createOpaqueTimingInfo({
+          startTime: timingInfo.startTime
+        });
+        cacheState = "";
+      }
+      timingInfo.endTime = coarsenedSharedCurrentTime();
+      response.timingInfo = timingInfo;
+      markResourceTiming(
+        timingInfo,
+        originalURL,
+        initiatorType,
+        globalThis,
+        cacheState
+      );
+    }
+    function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) {
+      if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) {
+        performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis2, cacheState);
+      }
+    }
+    function abortFetch(p, request2, responseObject, error3) {
+      if (!error3) {
+        error3 = new DOMException2("The operation was aborted.", "AbortError");
+      }
+      p.reject(error3);
+      if (request2.body != null && isReadable(request2.body?.stream)) {
+        request2.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
+          }
+          throw err;
+        });
+      }
+      if (responseObject == null) {
         return;
       }
-      this._finish();
-    };
-    ArchiveOutputStream.prototype.getBytesWritten = function() {
-      return this.offset;
-    };
-    ArchiveOutputStream.prototype.write = function(chunk, cb) {
-      if (chunk) {
-        this.offset += chunk.length;
+      const response = responseObject[kState];
+      if (response.body != null && isReadable(response.body?.stream)) {
+        response.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
+          }
+          throw err;
+        });
       }
-      return Transform.prototype.write.call(this, chunk, cb);
-    };
-  }
-});
-
-// node_modules/crc-32/crc32.js
-var require_crc32 = __commonJS({
-  "node_modules/crc-32/crc32.js"(exports2) {
-    var CRC32;
-    (function(factory) {
-      if (typeof DO_NOT_EXPORT_CRC === "undefined") {
-        if ("object" === typeof exports2) {
-          factory(exports2);
-        } else if ("function" === typeof define && define.amd) {
-          define(function() {
-            var module3 = {};
-            factory(module3);
-            return module3;
-          });
-        } else {
-          factory(CRC32 = {});
-        }
-      } else {
-        factory(CRC32 = {});
+    }
+    function fetching({
+      request: request2,
+      processRequestBodyChunkLength,
+      processRequestEndOfBody,
+      processResponse,
+      processResponseEndOfBody,
+      processResponseConsumeBody,
+      useParallelQueue = false,
+      dispatcher
+      // undici
+    }) {
+      let taskDestination = null;
+      let crossOriginIsolatedCapability = false;
+      if (request2.client != null) {
+        taskDestination = request2.client.globalObject;
+        crossOriginIsolatedCapability = request2.client.crossOriginIsolatedCapability;
       }
-    })(function(CRC322) {
-      CRC322.version = "1.2.2";
-      function signed_crc_table() {
-        var c = 0, table = new Array(256);
-        for (var n = 0; n != 256; ++n) {
-          c = n;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          table[n] = c;
-        }
-        return typeof Int32Array !== "undefined" ? new Int32Array(table) : table;
+      const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
+      const timingInfo = createOpaqueTimingInfo({
+        startTime: currenTime
+      });
+      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";
       }
-      var T0 = signed_crc_table();
-      function slice_by_16_tables(T) {
-        var c = 0, v = 0, n = 0, table = typeof Int32Array !== "undefined" ? new Int32Array(4096) : new Array(4096);
-        for (n = 0; n != 256; ++n) table[n] = T[n];
-        for (n = 0; n != 256; ++n) {
-          v = T[n];
-          for (c = 256 + n; c < 4096; c += 256) v = table[c] = v >>> 8 ^ T[v & 255];
+      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();
         }
-        var out = [];
-        for (n = 1; n != 16; ++n) out[n - 1] = typeof Int32Array !== "undefined" ? table.subarray(n * 256, n * 256 + 256) : table.slice(n * 256, n * 256 + 256);
-        return out;
       }
-      var TT = slice_by_16_tables(T0);
-      var T1 = TT[0], T2 = TT[1], T3 = TT[2], T4 = TT[3], T5 = TT[4];
-      var T6 = TT[5], T7 = TT[6], T8 = TT[7], T9 = TT[8], Ta = TT[9];
-      var Tb = TT[10], Tc = TT[11], Td = TT[12], Te = TT[13], Tf = TT[14];
-      function crc32_bstr(bstr, seed) {
-        var C = seed ^ -1;
-        for (var i = 0, L = bstr.length; i < L; ) C = C >>> 8 ^ T0[(C ^ bstr.charCodeAt(i++)) & 255];
-        return ~C;
+      if (!request2.headersList.contains("accept")) {
+        const value = "*/*";
+        request2.headersList.append("accept", value);
       }
-      function crc32_buf(B, seed) {
-        var C = seed ^ -1, L = B.length - 15, i = 0;
-        for (; i < L; ) C = Tf[B[i++] ^ C & 255] ^ Te[B[i++] ^ C >> 8 & 255] ^ Td[B[i++] ^ C >> 16 & 255] ^ Tc[B[i++] ^ C >>> 24] ^ Tb[B[i++]] ^ Ta[B[i++]] ^ T9[B[i++]] ^ T8[B[i++]] ^ T7[B[i++]] ^ T6[B[i++]] ^ T5[B[i++]] ^ T4[B[i++]] ^ T3[B[i++]] ^ T2[B[i++]] ^ T1[B[i++]] ^ T0[B[i++]];
-        L += 15;
-        while (i < L) C = C >>> 8 ^ T0[(C ^ B[i++]) & 255];
-        return ~C;
+      if (!request2.headersList.contains("accept-language")) {
+        request2.headersList.append("accept-language", "*");
       }
-      function crc32_str(str2, seed) {
-        var C = seed ^ -1;
-        for (var i = 0, L = str2.length, c = 0, d = 0; i < L; ) {
-          c = str2.charCodeAt(i++);
-          if (c < 128) {
-            C = C >>> 8 ^ T0[(C ^ c) & 255];
-          } else if (c < 2048) {
-            C = C >>> 8 ^ T0[(C ^ (192 | c >> 6 & 31)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | c & 63)) & 255];
-          } else if (c >= 55296 && c < 57344) {
-            c = (c & 1023) + 64;
-            d = str2.charCodeAt(i++) & 1023;
-            C = C >>> 8 ^ T0[(C ^ (240 | c >> 8 & 7)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | c >> 2 & 63)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | d >> 6 & 15 | (c & 3) << 4)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | d & 63)) & 255];
-          } else {
-            C = C >>> 8 ^ T0[(C ^ (224 | c >> 12 & 15)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | c >> 6 & 63)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | c & 63)) & 255];
-          }
-        }
-        return ~C;
+      if (request2.priority === null) {
       }
-      CRC322.table = T0;
-      CRC322.bstr = crc32_bstr;
-      CRC322.buf = crc32_buf;
-      CRC322.str = crc32_str;
-    });
-  }
-});
-
-// node_modules/crc32-stream/lib/crc32-stream.js
-var require_crc32_stream = __commonJS({
-  "node_modules/crc32-stream/lib/crc32-stream.js"(exports2, module2) {
-    "use strict";
-    var { Transform } = require_ours();
-    var crc32 = require_crc32();
-    var CRC32Stream = class extends Transform {
-      constructor(options) {
-        super(options);
-        this.checksum = Buffer.allocUnsafe(4);
-        this.checksum.writeInt32BE(0, 0);
-        this.rawSize = 0;
+      if (subresourceSet.has(request2.destination)) {
       }
-      _transform(chunk, encoding, callback) {
-        if (chunk) {
-          this.checksum = crc32.buf(chunk, this.checksum) >>> 0;
-          this.rawSize += chunk.length;
-        }
-        callback(null, chunk);
+      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");
       }
-      digest(encoding) {
-        const checksum = Buffer.allocUnsafe(4);
-        checksum.writeUInt32BE(this.checksum >>> 0, 0);
-        return encoding ? checksum.toString(encoding) : checksum;
+      tryUpgradeRequestToAPotentiallyTrustworthyURL(request2);
+      if (requestBadPort(request2) === "blocked") {
+        response = makeNetworkError("bad port");
       }
-      hex() {
-        return this.digest("hex").toUpperCase();
+      if (request2.referrerPolicy === "") {
+        request2.referrerPolicy = request2.policyContainer.referrerPolicy;
       }
-      size() {
-        return this.rawSize;
+      if (request2.referrer !== "no-referrer") {
+        request2.referrer = determineRequestsReferrer(request2);
       }
-    };
-    module2.exports = CRC32Stream;
-  }
-});
-
-// node_modules/crc32-stream/lib/deflate-crc32-stream.js
-var require_deflate_crc32_stream = __commonJS({
-  "node_modules/crc32-stream/lib/deflate-crc32-stream.js"(exports2, module2) {
-    "use strict";
-    var { DeflateRaw } = require("zlib");
-    var crc32 = require_crc32();
-    var DeflateCRC32Stream = class extends DeflateRaw {
-      constructor(options) {
-        super(options);
-        this.checksum = Buffer.allocUnsafe(4);
-        this.checksum.writeInt32BE(0, 0);
-        this.rawSize = 0;
-        this.compressedSize = 0;
+      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);
+        })();
       }
-      push(chunk, encoding) {
-        if (chunk) {
-          this.compressedSize += chunk.length;
-        }
-        return super.push(chunk, encoding);
+      if (recursive) {
+        return response;
       }
-      _transform(chunk, encoding, callback) {
-        if (chunk) {
-          this.checksum = crc32.buf(chunk, this.checksum) >>> 0;
-          this.rawSize += chunk.length;
+      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);
         }
-        super._transform(chunk, encoding, callback);
       }
-      digest(encoding) {
-        const checksum = Buffer.allocUnsafe(4);
-        checksum.writeUInt32BE(this.checksum >>> 0, 0);
-        return encoding ? checksum.toString(encoding) : checksum;
+      let internalResponse = response.status === 0 ? response : response.internalResponse;
+      if (internalResponse.urlList.length === 0) {
+        internalResponse.urlList.push(...request2.urlList);
       }
-      hex() {
-        return this.digest("hex").toUpperCase();
+      if (!request2.timingAllowFailed) {
+        response.timingAllowPassed = true;
       }
-      size(compressed = false) {
-        if (compressed) {
-          return this.compressedSize;
-        } else {
-          return this.rawSize;
+      if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request2.headers.contains("range")) {
+        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);
       }
-    };
-    module2.exports = DeflateCRC32Stream;
-  }
-});
-
-// node_modules/crc32-stream/lib/index.js
-var require_lib3 = __commonJS({
-  "node_modules/crc32-stream/lib/index.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      CRC32Stream: require_crc32_stream(),
-      DeflateCRC32Stream: require_deflate_crc32_stream()
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js
-var require_zip_archive_output_stream = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js"(exports2, module2) {
-    var inherits = require("util").inherits;
-    var crc32 = require_crc32();
-    var { CRC32Stream } = require_lib3();
-    var { DeflateCRC32Stream } = require_lib3();
-    var ArchiveOutputStream = require_archive_output_stream();
-    var ZipArchiveEntry = require_zip_archive_entry();
-    var GeneralPurposeBit = require_general_purpose_bit();
-    var constants = require_constants18();
-    var util = require_util22();
-    var zipUtil = require_util21();
-    var ZipArchiveOutputStream = module2.exports = function(options) {
-      if (!(this instanceof ZipArchiveOutputStream)) {
-        return new ZipArchiveOutputStream(options);
+    }
+    function schemeFetch(fetchParams) {
+      if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {
+        return Promise.resolve(makeAppropriateNetworkError(fetchParams));
       }
-      options = this.options = this._defaults(options);
-      ArchiveOutputStream.call(this, options);
-      this._entry = null;
-      this._entries = [];
-      this._archive = {
-        centralLength: 0,
-        centralOffset: 0,
-        comment: "",
-        finish: false,
-        finished: false,
-        processing: false,
-        forceZip64: options.forceZip64,
-        forceLocalTime: options.forceLocalTime
-      };
-    };
-    inherits(ZipArchiveOutputStream, ArchiveOutputStream);
-    ZipArchiveOutputStream.prototype._afterAppend = function(ae) {
-      this._entries.push(ae);
-      if (ae.getGeneralPurposeBit().usesDataDescriptor()) {
-        this._writeDataDescriptor(ae);
+      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("buffer").resolveObjectURL;
+          }
+          const blobURLEntry = requestCurrentURL(request2);
+          if (blobURLEntry.search.length !== 0) {
+            return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));
+          }
+          const blobURLEntryObject = resolveObjectURL(blobURLEntry.toString());
+          if (request2.method !== "GET" || !isBlobLike(blobURLEntryObject)) {
+            return Promise.resolve(makeNetworkError("invalid method"));
+          }
+          const bodyWithType = safelyExtractBody(blobURLEntryObject);
+          const body = bodyWithType[0];
+          const length = isomorphicEncode(`${body.length}`);
+          const type2 = bodyWithType[1] ?? "";
+          const response = makeResponse({
+            statusText: "OK",
+            headersList: [
+              ["content-length", { name: "Content-Length", value: length }],
+              ["content-type", { name: "Content-Type", value: type2 }]
+            ]
+          });
+          response.body = body;
+          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"));
+        }
       }
-      this._archive.processing = false;
-      this._entry = null;
-      if (this._archive.finish && !this._archive.finished) {
-        this._finish();
+    }
+    function finalizeResponse(fetchParams, response) {
+      fetchParams.request.done = true;
+      if (fetchParams.processResponseDone != null) {
+        queueMicrotask(() => fetchParams.processResponseDone(response));
       }
-    };
-    ZipArchiveOutputStream.prototype._appendBuffer = function(ae, source, callback) {
-      if (source.length === 0) {
-        ae.setMethod(constants.METHOD_STORED);
+    }
+    function fetchFinale(fetchParams, response) {
+      if (response.type === "error") {
+        response.urlList = [fetchParams.request.urlList[0]];
+        response.timingInfo = createOpaqueTimingInfo({
+          startTime: fetchParams.timingInfo.startTime
+        });
       }
-      var method = ae.getMethod();
-      if (method === constants.METHOD_STORED) {
-        ae.setSize(source.length);
-        ae.setCompressedSize(source.length);
-        ae.setCrc(crc32.buf(source) >>> 0);
+      const processResponseEndOfBody = () => {
+        fetchParams.request.done = true;
+        if (fetchParams.processResponseEndOfBody != null) {
+          queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
+        }
+      };
+      if (fetchParams.processResponse != null) {
+        queueMicrotask(() => fetchParams.processResponse(response));
       }
-      this._writeLocalFileHeader(ae);
-      if (method === constants.METHOD_STORED) {
-        this.write(source);
-        this._afterAppend(ae);
-        callback(null, ae);
-        return;
-      } else if (method === constants.METHOD_DEFLATED) {
-        this._smartStream(ae, callback).end(source);
-        return;
+      if (response.body == null) {
+        processResponseEndOfBody();
       } else {
-        callback(new Error("compression method " + method + " not implemented"));
-        return;
+        const identityTransformAlgorithm = (chunk, controller) => {
+          controller.enqueue(chunk);
+        };
+        const transformStream = new TransformStream2({
+          start() {
+          },
+          transform: identityTransformAlgorithm,
+          flush: processResponseEndOfBody
+        }, {
+          size() {
+            return 1;
+          }
+        }, {
+          size() {
+            return 1;
+          }
+        });
+        response.body = { stream: response.body.stream.pipeThrough(transformStream) };
       }
-    };
-    ZipArchiveOutputStream.prototype._appendStream = function(ae, source, callback) {
-      ae.getGeneralPurposeBit().useDataDescriptor(true);
-      ae.setVersionNeededToExtract(constants.MIN_VERSION_DATA_DESCRIPTOR);
-      this._writeLocalFileHeader(ae);
-      var smart = this._smartStream(ae, callback);
-      source.once("error", function(err) {
-        smart.emit("error", err);
-        smart.end();
-      });
-      source.pipe(smart);
-    };
-    ZipArchiveOutputStream.prototype._defaults = function(o) {
-      if (typeof o !== "object") {
-        o = {};
+      if (fetchParams.processResponseConsumeBody != null) {
+        const processBody = (nullOrBytes) => fetchParams.processResponseConsumeBody(response, nullOrBytes);
+        const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure);
+        if (response.body == null) {
+          queueMicrotask(() => processBody(null));
+        } else {
+          return fullyReadBody(response.body, processBody, processBodyError);
+        }
+        return Promise.resolve();
       }
-      if (typeof o.zlib !== "object") {
-        o.zlib = {};
+    }
+    async function httpFetch(fetchParams) {
+      const request2 = fetchParams.request;
+      let response = null;
+      let actualResponse = null;
+      const timingInfo = fetchParams.timingInfo;
+      if (request2.serviceWorkers === "all") {
       }
-      if (typeof o.zlib.level !== "number") {
-        o.zlib.level = constants.ZLIB_BEST_SPEED;
+      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;
+        }
       }
-      o.forceZip64 = !!o.forceZip64;
-      o.forceLocalTime = !!o.forceLocalTime;
-      return o;
-    };
-    ZipArchiveOutputStream.prototype._finish = function() {
-      this._archive.centralOffset = this.offset;
-      this._entries.forEach(function(ae) {
-        this._writeCentralFileHeader(ae);
-      }.bind(this));
-      this._archive.centralLength = this.offset - this._archive.centralOffset;
-      if (this.isZip64()) {
-        this._writeCentralDirectoryZip64();
+      if ((request2.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
+        request2.origin,
+        request2.client,
+        request2.destination,
+        actualResponse
+      ) === "blocked") {
+        return makeNetworkError("blocked");
       }
-      this._writeCentralDirectoryEnd();
-      this._archive.processing = false;
-      this._archive.finish = true;
-      this._archive.finished = true;
-      this.end();
-    };
-    ZipArchiveOutputStream.prototype._normalizeEntry = function(ae) {
-      if (ae.getMethod() === -1) {
-        ae.setMethod(constants.METHOD_DEFLATED);
+      if (redirectStatusSet.has(actualResponse.status)) {
+        if (request2.redirect !== "manual") {
+          fetchParams.controller.connection.destroy();
+        }
+        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);
+        }
       }
-      if (ae.getMethod() === constants.METHOD_DEFLATED) {
-        ae.getGeneralPurposeBit().useDataDescriptor(true);
-        ae.setVersionNeededToExtract(constants.MIN_VERSION_DATA_DESCRIPTOR);
+      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 (ae.getTime() === -1) {
-        ae.setTime(/* @__PURE__ */ new Date(), this._archive.forceLocalTime);
+      if (!urlIsHttpHttpsScheme(locationURL)) {
+        return Promise.resolve(makeNetworkError("URL scheme must be a HTTP(S) scheme"));
       }
-      ae._offsets = {
-        file: 0,
-        data: 0,
-        contents: 0
-      };
-    };
-    ZipArchiveOutputStream.prototype._smartStream = function(ae, callback) {
-      var deflate = ae.getMethod() === constants.METHOD_DEFLATED;
-      var process2 = deflate ? new DeflateCRC32Stream(this.options.zlib) : new CRC32Stream();
-      var error3 = null;
-      function handleStuff() {
-        var digest = process2.digest().readUInt32BE(0);
-        ae.setCrc(digest);
-        ae.setSize(process2.size());
-        ae.setCompressedSize(process2.size(true));
-        this._afterAppend(ae);
-        callback(error3, ae);
+      if (request2.redirectCount === 20) {
+        return Promise.resolve(makeNetworkError("redirect count exceeded"));
       }
-      process2.once("end", handleStuff.bind(this));
-      process2.once("error", function(err) {
-        error3 = err;
-      });
-      process2.pipe(this, { end: false });
-      return process2;
-    };
-    ZipArchiveOutputStream.prototype._writeCentralDirectoryEnd = function() {
-      var records = this._entries.length;
-      var size = this._archive.centralLength;
-      var offset = this._archive.centralOffset;
-      if (this.isZip64()) {
-        records = constants.ZIP64_MAGIC_SHORT;
-        size = constants.ZIP64_MAGIC;
-        offset = constants.ZIP64_MAGIC;
+      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"'));
       }
-      this.write(zipUtil.getLongBytes(constants.SIG_EOCD));
-      this.write(constants.SHORT_ZERO);
-      this.write(constants.SHORT_ZERO);
-      this.write(zipUtil.getShortBytes(records));
-      this.write(zipUtil.getShortBytes(records));
-      this.write(zipUtil.getLongBytes(size));
-      this.write(zipUtil.getLongBytes(offset));
-      var comment = this.getComment();
-      var commentLength = Buffer.byteLength(comment);
-      this.write(zipUtil.getShortBytes(commentLength));
-      this.write(comment);
-    };
-    ZipArchiveOutputStream.prototype._writeCentralDirectoryZip64 = function() {
-      this.write(zipUtil.getLongBytes(constants.SIG_ZIP64_EOCD));
-      this.write(zipUtil.getEightBytes(44));
-      this.write(zipUtil.getShortBytes(constants.MIN_VERSION_ZIP64));
-      this.write(zipUtil.getShortBytes(constants.MIN_VERSION_ZIP64));
-      this.write(constants.LONG_ZERO);
-      this.write(constants.LONG_ZERO);
-      this.write(zipUtil.getEightBytes(this._entries.length));
-      this.write(zipUtil.getEightBytes(this._entries.length));
-      this.write(zipUtil.getEightBytes(this._archive.centralLength));
-      this.write(zipUtil.getEightBytes(this._archive.centralOffset));
-      this.write(zipUtil.getLongBytes(constants.SIG_ZIP64_EOCD_LOC));
-      this.write(constants.LONG_ZERO);
-      this.write(zipUtil.getEightBytes(this._archive.centralOffset + this._archive.centralLength));
-      this.write(zipUtil.getLongBytes(1));
-    };
-    ZipArchiveOutputStream.prototype._writeCentralFileHeader = function(ae) {
-      var gpb = ae.getGeneralPurposeBit();
-      var method = ae.getMethod();
-      var fileOffset = ae._offsets.file;
-      var size = ae.getSize();
-      var compressedSize = ae.getCompressedSize();
-      if (ae.isZip64() || fileOffset > constants.ZIP64_MAGIC) {
-        size = constants.ZIP64_MAGIC;
-        compressedSize = constants.ZIP64_MAGIC;
-        fileOffset = constants.ZIP64_MAGIC;
-        ae.setVersionNeededToExtract(constants.MIN_VERSION_ZIP64);
-        var extraBuf = Buffer.concat([
-          zipUtil.getShortBytes(constants.ZIP64_EXTRA_ID),
-          zipUtil.getShortBytes(24),
-          zipUtil.getEightBytes(ae.getSize()),
-          zipUtil.getEightBytes(ae.getCompressedSize()),
-          zipUtil.getEightBytes(ae._offsets.file)
-        ], 28);
-        ae.setExtra(extraBuf);
+      if (request2.responseTainting === "cors" && (locationURL.username || locationURL.password)) {
+        return Promise.resolve(makeNetworkError(
+          'URL cannot contain credentials for request mode "cors"'
+        ));
       }
-      this.write(zipUtil.getLongBytes(constants.SIG_CFH));
-      this.write(zipUtil.getShortBytes(ae.getPlatform() << 8 | constants.VERSION_MADEBY));
-      this.write(zipUtil.getShortBytes(ae.getVersionNeededToExtract()));
-      this.write(gpb.encode());
-      this.write(zipUtil.getShortBytes(method));
-      this.write(zipUtil.getLongBytes(ae.getTimeDos()));
-      this.write(zipUtil.getLongBytes(ae.getCrc()));
-      this.write(zipUtil.getLongBytes(compressedSize));
-      this.write(zipUtil.getLongBytes(size));
-      var name = ae.getName();
-      var comment = ae.getComment();
-      var extra = ae.getCentralDirectoryExtra();
-      if (gpb.usesUTF8ForNames()) {
-        name = Buffer.from(name);
-        comment = Buffer.from(comment);
+      if (actualResponse.status !== 303 && request2.body != null && request2.body.source == null) {
+        return Promise.resolve(makeNetworkError());
       }
-      this.write(zipUtil.getShortBytes(name.length));
-      this.write(zipUtil.getShortBytes(extra.length));
-      this.write(zipUtil.getShortBytes(comment.length));
-      this.write(constants.SHORT_ZERO);
-      this.write(zipUtil.getShortBytes(ae.getInternalAttributes()));
-      this.write(zipUtil.getLongBytes(ae.getExternalAttributes()));
-      this.write(zipUtil.getLongBytes(fileOffset));
-      this.write(name);
-      this.write(extra);
-      this.write(comment);
-    };
-    ZipArchiveOutputStream.prototype._writeDataDescriptor = function(ae) {
-      this.write(zipUtil.getLongBytes(constants.SIG_DD));
-      this.write(zipUtil.getLongBytes(ae.getCrc()));
-      if (ae.isZip64()) {
-        this.write(zipUtil.getEightBytes(ae.getCompressedSize()));
-        this.write(zipUtil.getEightBytes(ae.getSize()));
-      } else {
-        this.write(zipUtil.getLongBytes(ae.getCompressedSize()));
-        this.write(zipUtil.getLongBytes(ae.getSize()));
+      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);
+        }
       }
-    };
-    ZipArchiveOutputStream.prototype._writeLocalFileHeader = function(ae) {
-      var gpb = ae.getGeneralPurposeBit();
-      var method = ae.getMethod();
-      var name = ae.getName();
-      var extra = ae.getLocalFileDataExtra();
-      if (ae.isZip64()) {
-        gpb.useDataDescriptor(true);
-        ae.setVersionNeededToExtract(constants.MIN_VERSION_ZIP64);
+      if (!sameOrigin(requestCurrentURL(request2), locationURL)) {
+        request2.headersList.delete("authorization");
+        request2.headersList.delete("proxy-authorization", true);
+        request2.headersList.delete("cookie");
+        request2.headersList.delete("host");
       }
-      if (gpb.usesUTF8ForNames()) {
-        name = Buffer.from(name);
+      if (request2.body != null) {
+        assert(request2.body.source != null);
+        request2.body = safelyExtractBody(request2.body.source)[0];
       }
-      ae._offsets.file = this.offset;
-      this.write(zipUtil.getLongBytes(constants.SIG_LFH));
-      this.write(zipUtil.getShortBytes(ae.getVersionNeededToExtract()));
-      this.write(gpb.encode());
-      this.write(zipUtil.getShortBytes(method));
-      this.write(zipUtil.getLongBytes(ae.getTimeDos()));
-      ae._offsets.data = this.offset;
-      if (gpb.usesDataDescriptor()) {
-        this.write(constants.LONG_ZERO);
-        this.write(constants.LONG_ZERO);
-        this.write(constants.LONG_ZERO);
+      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 {
-        this.write(zipUtil.getLongBytes(ae.getCrc()));
-        this.write(zipUtil.getLongBytes(ae.getCompressedSize()));
-        this.write(zipUtil.getLongBytes(ae.getSize()));
+        httpRequest = makeRequest(request2);
+        httpFetchParams = { ...fetchParams };
+        httpFetchParams.request = httpRequest;
       }
-      this.write(zipUtil.getShortBytes(name.length));
-      this.write(zipUtil.getShortBytes(extra.length));
-      this.write(name);
-      this.write(extra);
-      ae._offsets.contents = this.offset;
-    };
-    ZipArchiveOutputStream.prototype.getComment = function(comment) {
-      return this._archive.comment !== null ? this._archive.comment : "";
-    };
-    ZipArchiveOutputStream.prototype.isZip64 = function() {
-      return this._archive.forceZip64 || this._entries.length > constants.ZIP64_MAGIC_SHORT || this._archive.centralLength > constants.ZIP64_MAGIC || this._archive.centralOffset > constants.ZIP64_MAGIC;
-    };
-    ZipArchiveOutputStream.prototype.setComment = function(comment) {
-      this._archive.comment = comment;
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/compress-commons.js
-var require_compress_commons = __commonJS({
-  "node_modules/compress-commons/lib/compress-commons.js"(exports2, module2) {
-    module2.exports = {
-      ArchiveEntry: require_archive_entry(),
-      ZipArchiveEntry: require_zip_archive_entry(),
-      ArchiveOutputStream: require_archive_output_stream(),
-      ZipArchiveOutputStream: require_zip_archive_output_stream()
-    };
-  }
-});
-
-// node_modules/zip-stream/index.js
-var require_zip_stream = __commonJS({
-  "node_modules/zip-stream/index.js"(exports2, module2) {
-    var inherits = require("util").inherits;
-    var ZipArchiveOutputStream = require_compress_commons().ZipArchiveOutputStream;
-    var ZipArchiveEntry = require_compress_commons().ZipArchiveEntry;
-    var util = require_archiver_utils();
-    var ZipStream = module2.exports = function(options) {
-      if (!(this instanceof ZipStream)) {
-        return new ZipStream(options);
+      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";
       }
-      options = this.options = options || {};
-      options.zlib = options.zlib || {};
-      ZipArchiveOutputStream.call(this, options);
-      if (typeof options.level === "number" && options.level >= 0) {
-        options.zlib.level = options.level;
-        delete options.level;
+      if (contentLength != null) {
+        contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
       }
-      if (!options.forceZip64 && typeof options.zlib.level === "number" && options.zlib.level === 0) {
-        options.store = true;
+      if (contentLengthHeaderValue != null) {
+        httpRequest.headersList.append("content-length", contentLengthHeaderValue);
       }
-      options.namePrependSlash = options.namePrependSlash || false;
-      if (options.comment && options.comment.length > 0) {
-        this.setComment(options.comment);
+      if (contentLength != null && httpRequest.keepalive) {
       }
-    };
-    inherits(ZipStream, ZipArchiveOutputStream);
-    ZipStream.prototype._normalizeFileData = function(data) {
-      data = util.defaults(data, {
-        type: "file",
-        name: null,
-        namePrependSlash: this.options.namePrependSlash,
-        linkname: null,
-        date: null,
-        mode: null,
-        store: this.options.store,
-        comment: ""
-      });
-      var isDir = data.type === "directory";
-      var isSymlink = data.type === "symlink";
-      if (data.name) {
-        data.name = util.sanitizePath(data.name);
-        if (!isSymlink && data.name.slice(-1) === "/") {
-          isDir = true;
-          data.type = "directory";
-        } else if (isDir) {
-          data.name += "/";
-        }
+      if (httpRequest.referrer instanceof URL) {
+        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href));
       }
-      if (isDir || isSymlink) {
-        data.store = true;
+      appendRequestOriginHeader(httpRequest);
+      appendFetchMetadata(httpRequest);
+      if (!httpRequest.headersList.contains("user-agent")) {
+        httpRequest.headersList.append("user-agent", typeof esbuildDetection === "undefined" ? "undici" : "node");
       }
-      data.date = util.dateify(data.date);
-      return data;
-    };
-    ZipStream.prototype.entry = function(source, data, callback) {
-      if (typeof callback !== "function") {
-        callback = this._emitErrorCallback.bind(this);
+      if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since") || httpRequest.headersList.contains("if-none-match") || httpRequest.headersList.contains("if-unmodified-since") || httpRequest.headersList.contains("if-match") || httpRequest.headersList.contains("if-range"))) {
+        httpRequest.cache = "no-store";
       }
-      data = this._normalizeFileData(data);
-      if (data.type !== "file" && data.type !== "directory" && data.type !== "symlink") {
-        callback(new Error(data.type + " entries not currently supported"));
-        return;
+      if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control")) {
+        httpRequest.headersList.append("cache-control", "max-age=0");
       }
-      if (typeof data.name !== "string" || data.name.length === 0) {
-        callback(new Error("entry name must be a non-empty string value"));
-        return;
+      if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") {
+        if (!httpRequest.headersList.contains("pragma")) {
+          httpRequest.headersList.append("pragma", "no-cache");
+        }
+        if (!httpRequest.headersList.contains("cache-control")) {
+          httpRequest.headersList.append("cache-control", "no-cache");
+        }
       }
-      if (data.type === "symlink" && typeof data.linkname !== "string") {
-        callback(new Error("entry linkname must be a non-empty string value when type equals symlink"));
-        return;
+      if (httpRequest.headersList.contains("range")) {
+        httpRequest.headersList.append("accept-encoding", "identity");
       }
-      var entry = new ZipArchiveEntry(data.name);
-      entry.setTime(data.date, this.options.forceLocalTime);
-      if (data.namePrependSlash) {
-        entry.setName(data.name, true);
+      if (!httpRequest.headersList.contains("accept-encoding")) {
+        if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
+          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate");
+        } else {
+          httpRequest.headersList.append("accept-encoding", "gzip, deflate");
+        }
       }
-      if (data.store) {
-        entry.setMethod(0);
+      httpRequest.headersList.delete("host");
+      if (includeCredentials) {
       }
-      if (data.comment.length > 0) {
-        entry.setComment(data.comment);
+      if (httpCache == null) {
+        httpRequest.cache = "no-store";
       }
-      if (data.type === "symlink" && typeof data.mode !== "number") {
-        data.mode = 40960;
+      if (httpRequest.mode !== "no-store" && httpRequest.mode !== "reload") {
       }
-      if (typeof data.mode === "number") {
-        if (data.type === "symlink") {
-          data.mode |= 40960;
+      if (response == null) {
+        if (httpRequest.mode === "only-if-cached") {
+          return makeNetworkError("only if cached");
+        }
+        const forwardResponse = await httpNetworkFetch(
+          httpFetchParams,
+          includeCredentials,
+          isNewConnectionFetch
+        );
+        if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {
+        }
+        if (revalidatingFlag && forwardResponse.status === 304) {
+        }
+        if (response == null) {
+          response = forwardResponse;
         }
-        entry.setUnixMode(data.mode);
-      }
-      if (data.type === "symlink" && typeof data.linkname === "string") {
-        source = Buffer.from(data.linkname);
       }
-      return ZipArchiveOutputStream.prototype.entry.call(this, entry, source, callback);
-    };
-    ZipStream.prototype.finalize = function() {
-      this.finish();
-    };
-  }
-});
-
-// node_modules/archiver/lib/plugins/zip.js
-var require_zip = __commonJS({
-  "node_modules/archiver/lib/plugins/zip.js"(exports2, module2) {
-    var engine = require_zip_stream();
-    var util = require_archiver_utils();
-    var Zip = function(options) {
-      if (!(this instanceof Zip)) {
-        return new Zip(options);
+      response.urlList = [...httpRequest.urlList];
+      if (httpRequest.headersList.contains("range")) {
+        response.rangeRequested = true;
       }
-      options = this.options = util.defaults(options, {
-        comment: "",
-        forceUTC: false,
-        namePrependSlash: false,
-        store: false
-      });
-      this.supports = {
-        directory: true,
-        symlink: true
-      };
-      this.engine = new engine(options);
-    };
-    Zip.prototype.append = function(source, data, callback) {
-      this.engine.entry(source, data, callback);
-    };
-    Zip.prototype.finalize = function() {
-      this.engine.finalize();
-    };
-    Zip.prototype.on = function() {
-      return this.engine.on.apply(this.engine, arguments);
-    };
-    Zip.prototype.pipe = function() {
-      return this.engine.pipe.apply(this.engine, arguments);
-    };
-    Zip.prototype.unpipe = function() {
-      return this.engine.unpipe.apply(this.engine, arguments);
-    };
-    module2.exports = Zip;
-  }
-});
-
-// node_modules/queue-tick/queue-microtask.js
-var require_queue_microtask = __commonJS({
-  "node_modules/queue-tick/queue-microtask.js"(exports2, module2) {
-    module2.exports = typeof queueMicrotask === "function" ? queueMicrotask : (fn) => Promise.resolve().then(fn);
-  }
-});
-
-// node_modules/queue-tick/process-next-tick.js
-var require_process_next_tick = __commonJS({
-  "node_modules/queue-tick/process-next-tick.js"(exports2, module2) {
-    module2.exports = typeof process !== "undefined" && typeof process.nextTick === "function" ? process.nextTick.bind(process) : require_queue_microtask();
-  }
-});
-
-// node_modules/fast-fifo/fixed-size.js
-var require_fixed_size = __commonJS({
-  "node_modules/fast-fifo/fixed-size.js"(exports2, module2) {
-    module2.exports = class FixedFIFO {
-      constructor(hwm) {
-        if (!(hwm > 0) || (hwm - 1 & hwm) !== 0) throw new Error("Max size for a FixedFIFO should be a power of two");
-        this.buffer = new Array(hwm);
-        this.mask = hwm - 1;
-        this.top = 0;
-        this.btm = 0;
-        this.next = null;
+      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");
       }
-      clear() {
-        this.top = this.btm = 0;
-        this.next = null;
-        this.buffer.fill(void 0);
+      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
+        );
       }
-      push(data) {
-        if (this.buffer[this.top] !== void 0) return false;
-        this.buffer[this.top] = data;
-        this.top = this.top + 1 & this.mask;
-        return true;
+      if (isAuthenticationFetch) {
       }
-      shift() {
-        const last = this.buffer[this.btm];
-        if (last === void 0) return void 0;
-        this.buffer[this.btm] = void 0;
-        this.btm = this.btm + 1 & this.mask;
-        return last;
+      return response;
+    }
+    async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) {
+      assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed);
+      fetchParams.controller.connection = {
+        abort: null,
+        destroyed: false,
+        destroy(err) {
+          if (!this.destroyed) {
+            this.destroyed = true;
+            this.abort?.(err ?? new DOMException2("The operation was aborted.", "AbortError"));
+          }
+        }
+      };
+      const request2 = fetchParams.request;
+      let response = null;
+      const timingInfo = fetchParams.timingInfo;
+      const httpCache = null;
+      if (httpCache == null) {
+        request2.cache = "no-store";
       }
-      peek() {
-        return this.buffer[this.btm];
+      const newConnection = forceNewConnection ? "yes" : "no";
+      if (request2.mode === "websocket") {
+      } else {
       }
-      isEmpty() {
-        return this.buffer[this.btm] === void 0;
+      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);
+          }
+        })();
       }
-    };
-  }
-});
-
-// node_modules/fast-fifo/index.js
-var require_fast_fifo = __commonJS({
-  "node_modules/fast-fifo/index.js"(exports2, module2) {
-    var FixedFIFO = require_fixed_size();
-    module2.exports = class FastFIFO {
-      constructor(hwm) {
-        this.hwm = hwm || 16;
-        this.head = new FixedFIFO(this.hwm);
-        this.tail = this.head;
-        this.length = 0;
+      try {
+        const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
+        if (socket) {
+          response = makeResponse({ status, statusText, headersList, socket });
+        } else {
+          const iterator2 = body[Symbol.asyncIterator]();
+          fetchParams.controller.next = () => iterator2.next();
+          response = makeResponse({ status, statusText, headersList });
+        }
+      } catch (err) {
+        if (err.name === "AbortError") {
+          fetchParams.controller.connection.destroy();
+          return makeAppropriateNetworkError(fetchParams, err);
+        }
+        return makeNetworkError(err);
       }
-      clear() {
-        this.head = this.tail;
-        this.head.clear();
-        this.length = 0;
+      const pullAlgorithm = () => {
+        fetchParams.controller.resume();
+      };
+      const cancelAlgorithm = (reason) => {
+        fetchParams.controller.abort(reason);
+      };
+      if (!ReadableStream2) {
+        ReadableStream2 = require("stream/web").ReadableStream;
       }
-      push(val) {
-        this.length++;
-        if (!this.head.push(val)) {
-          const prev = this.head;
-          this.head = prev.next = new FixedFIFO(2 * this.head.buffer.length);
-          this.head.push(val);
+      const stream = new ReadableStream2(
+        {
+          async start(controller) {
+            fetchParams.controller.controller = controller;
+          },
+          async pull(controller) {
+            await pullAlgorithm(controller);
+          },
+          async cancel(reason) {
+            await cancelAlgorithm(reason);
+          }
+        },
+        {
+          highWaterMark: 0,
+          size() {
+            return 1;
+          }
         }
-      }
-      shift() {
-        if (this.length !== 0) this.length--;
-        const val = this.tail.shift();
-        if (val === void 0 && this.tail.next) {
-          const next = this.tail.next;
-          this.tail.next = null;
-          this.tail = next;
-          return this.tail.shift();
+      );
+      response.body = { stream };
+      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;
+          }
+          fetchParams.controller.controller.enqueue(new Uint8Array(bytes));
+          if (isErrored(stream)) {
+            fetchParams.controller.terminate();
+            return;
+          }
+          if (!fetchParams.controller.controller.desiredSize) {
+            return;
+          }
         }
-        return val;
-      }
-      peek() {
-        const val = this.tail.peek();
-        if (val === void 0 && this.tail.next) return this.tail.next.peek();
-        return val;
+      };
+      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();
       }
-      isEmpty() {
-        return this.length === 0;
+      return response;
+      async function dispatch({ body }) {
+        const url = requestCurrentURL(request2);
+        const agent = fetchParams.controller.dispatcher;
+        return new Promise((resolve5, reject) => agent.dispatch(
+          {
+            path: url.pathname + url.search,
+            origin: url.origin,
+            method: request2.method,
+            body: fetchParams.controller.dispatcher.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
+            headers: request2.headersList.entries,
+            maxRedirections: 0,
+            upgrade: request2.mode === "websocket" ? "websocket" : void 0
+          },
+          {
+            body: null,
+            abort: null,
+            onConnect(abort) {
+              const { connection } = fetchParams.controller;
+              if (connection.destroyed) {
+                abort(new DOMException2("The operation was aborted.", "AbortError"));
+              } else {
+                fetchParams.controller.on("terminated", abort);
+                this.abort = connection.abort = abort;
+              }
+            },
+            onHeaders(status, headersList, resume, statusText) {
+              if (status < 200) {
+                return;
+              }
+              let codings = [];
+              let location = "";
+              const headers = new Headers();
+              if (Array.isArray(headersList)) {
+                for (let n = 0; n < headersList.length; n += 2) {
+                  const key = headersList[n + 0].toString("latin1");
+                  const val = headersList[n + 1].toString("latin1");
+                  if (key.toLowerCase() === "content-encoding") {
+                    codings = val.toLowerCase().split(",").map((x) => x.trim());
+                  } else if (key.toLowerCase() === "location") {
+                    location = val;
+                  }
+                  headers[kHeadersList].append(key, val);
+                }
+              } else {
+                const keys = Object.keys(headersList);
+                for (const key of keys) {
+                  const val = headersList[key];
+                  if (key.toLowerCase() === "content-encoding") {
+                    codings = val.toLowerCase().split(",").map((x) => x.trim()).reverse();
+                  } else if (key.toLowerCase() === "location") {
+                    location = val;
+                  }
+                  headers[kHeadersList].append(key, val);
+                }
+              }
+              this.body = new Readable({ read: resume });
+              const decoders = [];
+              const willFollow = request2.redirect === "follow" && location && redirectStatusSet.has(status);
+              if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
+                for (const coding of codings) {
+                  if (coding === "x-gzip" || coding === "gzip") {
+                    decoders.push(zlib.createGunzip({
+                      // Be less strict when decoding compressed responses, since sometimes
+                      // servers send slightly invalid responses that are still accepted
+                      // by common browsers.
+                      // Always using Z_SYNC_FLUSH is what cURL does.
+                      flush: zlib.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib.constants.Z_SYNC_FLUSH
+                    }));
+                  } else if (coding === "deflate") {
+                    decoders.push(zlib.createInflate());
+                  } else if (coding === "br") {
+                    decoders.push(zlib.createBrotliDecompress());
+                  } else {
+                    decoders.length = 0;
+                    break;
+                  }
+                }
+              }
+              resolve5({
+                status,
+                statusText,
+                headersList: headers[kHeadersList],
+                body: decoders.length ? pipeline(this.body, ...decoders, () => {
+                }) : this.body.on("error", () => {
+                })
+              });
+              return true;
+            },
+            onData(chunk) {
+              if (fetchParams.controller.dump) {
+                return;
+              }
+              const bytes = chunk;
+              timingInfo.encodedBodySize += bytes.byteLength;
+              return this.body.push(bytes);
+            },
+            onComplete() {
+              if (this.abort) {
+                fetchParams.controller.off("terminated", this.abort);
+              }
+              fetchParams.controller.ended = true;
+              this.body.push(null);
+            },
+            onError(error3) {
+              if (this.abort) {
+                fetchParams.controller.off("terminated", this.abort);
+              }
+              this.body?.destroy(error3);
+              fetchParams.controller.terminate(error3);
+              reject(error3);
+            },
+            onUpgrade(status, headersList, socket) {
+              if (status !== 101) {
+                return;
+              }
+              const headers = new Headers();
+              for (let n = 0; n < headersList.length; n += 2) {
+                const key = headersList[n + 0].toString("latin1");
+                const val = headersList[n + 1].toString("latin1");
+                headers[kHeadersList].append(key, val);
+              }
+              resolve5({
+                status,
+                statusText: STATUS_CODES[status],
+                headersList: headers[kHeadersList],
+                socket
+              });
+              return true;
+            }
+          }
+        ));
       }
+    }
+    module2.exports = {
+      fetch,
+      Fetch,
+      fetching,
+      finalizeAndReportTiming
     };
   }
 });
 
-// node_modules/b4a/index.js
-var require_b4a = __commonJS({
-  "node_modules/b4a/index.js"(exports2, module2) {
-    function isBuffer(value) {
-      return Buffer.isBuffer(value) || value instanceof Uint8Array;
-    }
-    function isEncoding(encoding) {
-      return Buffer.isEncoding(encoding);
-    }
-    function alloc(size, fill2, encoding) {
-      return Buffer.alloc(size, fill2, encoding);
-    }
-    function allocUnsafe(size) {
-      return Buffer.allocUnsafe(size);
-    }
-    function allocUnsafeSlow(size) {
-      return Buffer.allocUnsafeSlow(size);
-    }
-    function byteLength(string, encoding) {
-      return Buffer.byteLength(string, encoding);
-    }
-    function compare2(a, b) {
-      return Buffer.compare(a, b);
-    }
-    function concat(buffers, totalLength) {
-      return Buffer.concat(buffers, totalLength);
-    }
-    function copy(source, target, targetStart, start, end) {
-      return toBuffer(source).copy(target, targetStart, start, end);
-    }
-    function equals(a, b) {
-      return toBuffer(a).equals(b);
-    }
-    function fill(buffer, value, offset, end, encoding) {
-      return toBuffer(buffer).fill(value, offset, end, encoding);
-    }
-    function from(value, encodingOrOffset, length) {
-      return Buffer.from(value, encodingOrOffset, length);
-    }
-    function includes(buffer, value, byteOffset, encoding) {
-      return toBuffer(buffer).includes(value, byteOffset, encoding);
-    }
-    function indexOf(buffer, value, byfeOffset, encoding) {
-      return toBuffer(buffer).indexOf(value, byfeOffset, encoding);
-    }
-    function lastIndexOf(buffer, value, byteOffset, encoding) {
-      return toBuffer(buffer).lastIndexOf(value, byteOffset, encoding);
-    }
-    function swap16(buffer) {
-      return toBuffer(buffer).swap16();
-    }
-    function swap32(buffer) {
-      return toBuffer(buffer).swap32();
-    }
-    function swap64(buffer) {
-      return toBuffer(buffer).swap64();
-    }
-    function toBuffer(buffer) {
-      if (Buffer.isBuffer(buffer)) return buffer;
-      return Buffer.from(buffer.buffer, buffer.byteOffset, buffer.byteLength);
-    }
-    function toString2(buffer, encoding, start, end) {
-      return toBuffer(buffer).toString(encoding, start, end);
-    }
-    function write(buffer, string, offset, length, encoding) {
-      return toBuffer(buffer).write(string, offset, length, encoding);
-    }
-    function writeDoubleLE(buffer, value, offset) {
-      return toBuffer(buffer).writeDoubleLE(value, offset);
-    }
-    function writeFloatLE(buffer, value, offset) {
-      return toBuffer(buffer).writeFloatLE(value, offset);
-    }
-    function writeUInt32LE(buffer, value, offset) {
-      return toBuffer(buffer).writeUInt32LE(value, offset);
-    }
-    function writeInt32LE(buffer, value, offset) {
-      return toBuffer(buffer).writeInt32LE(value, offset);
-    }
-    function readDoubleLE(buffer, offset) {
-      return toBuffer(buffer).readDoubleLE(offset);
-    }
-    function readFloatLE(buffer, offset) {
-      return toBuffer(buffer).readFloatLE(offset);
-    }
-    function readUInt32LE(buffer, offset) {
-      return toBuffer(buffer).readUInt32LE(offset);
-    }
-    function readInt32LE(buffer, offset) {
-      return toBuffer(buffer).readInt32LE(offset);
-    }
-    function writeDoubleBE(buffer, value, offset) {
-      return toBuffer(buffer).writeDoubleBE(value, offset);
-    }
-    function writeFloatBE(buffer, value, offset) {
-      return toBuffer(buffer).writeFloatBE(value, offset);
-    }
-    function writeUInt32BE(buffer, value, offset) {
-      return toBuffer(buffer).writeUInt32BE(value, offset);
-    }
-    function writeInt32BE(buffer, value, offset) {
-      return toBuffer(buffer).writeInt32BE(value, offset);
-    }
-    function readDoubleBE(buffer, offset) {
-      return toBuffer(buffer).readDoubleBE(offset);
-    }
-    function readFloatBE(buffer, offset) {
-      return toBuffer(buffer).readFloatBE(offset);
-    }
-    function readUInt32BE(buffer, offset) {
-      return toBuffer(buffer).readUInt32BE(offset);
-    }
-    function readInt32BE(buffer, offset) {
-      return toBuffer(buffer).readInt32BE(offset);
-    }
+// node_modules/undici/lib/fileapi/symbols.js
+var require_symbols13 = __commonJS({
+  "node_modules/undici/lib/fileapi/symbols.js"(exports2, module2) {
+    "use strict";
     module2.exports = {
-      isBuffer,
-      isEncoding,
-      alloc,
-      allocUnsafe,
-      allocUnsafeSlow,
-      byteLength,
-      compare: compare2,
-      concat,
-      copy,
-      equals,
-      fill,
-      from,
-      includes,
-      indexOf,
-      lastIndexOf,
-      swap16,
-      swap32,
-      swap64,
-      toBuffer,
-      toString: toString2,
-      write,
-      writeDoubleLE,
-      writeFloatLE,
-      writeUInt32LE,
-      writeInt32LE,
-      readDoubleLE,
-      readFloatLE,
-      readUInt32LE,
-      readInt32LE,
-      writeDoubleBE,
-      writeFloatBE,
-      writeUInt32BE,
-      writeInt32BE,
-      readDoubleBE,
-      readFloatBE,
-      readUInt32BE,
-      readInt32BE
+      kState: /* @__PURE__ */ Symbol("FileReader state"),
+      kResult: /* @__PURE__ */ Symbol("FileReader result"),
+      kError: /* @__PURE__ */ Symbol("FileReader error"),
+      kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"),
+      kEvents: /* @__PURE__ */ Symbol("FileReader events"),
+      kAborted: /* @__PURE__ */ Symbol("FileReader aborted")
     };
   }
 });
 
-// node_modules/text-decoder/lib/pass-through-decoder.js
-var require_pass_through_decoder = __commonJS({
-  "node_modules/text-decoder/lib/pass-through-decoder.js"(exports2, module2) {
-    var b4a = require_b4a();
-    module2.exports = class PassThroughDecoder {
-      constructor(encoding) {
-        this.encoding = encoding;
+// node_modules/undici/lib/fileapi/progressevent.js
+var require_progressevent3 = __commonJS({
+  "node_modules/undici/lib/fileapi/progressevent.js"(exports2, module2) {
+    "use strict";
+    var { webidl } = require_webidl3();
+    var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
+    var ProgressEvent = class _ProgressEvent extends Event {
+      constructor(type2, eventInitDict = {}) {
+        type2 = webidl.converters.DOMString(type2);
+        eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
+        super(type2, eventInitDict);
+        this[kState] = {
+          lengthComputable: eventInitDict.lengthComputable,
+          loaded: eventInitDict.loaded,
+          total: eventInitDict.total
+        };
       }
-      get remaining() {
-        return 0;
+      get lengthComputable() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].lengthComputable;
       }
-      decode(tail) {
-        return b4a.toString(tail, this.encoding);
+      get loaded() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].loaded;
       }
-      flush() {
-        return "";
+      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/text-decoder/lib/utf8-decoder.js
-var require_utf8_decoder = __commonJS({
-  "node_modules/text-decoder/lib/utf8-decoder.js"(exports2, module2) {
-    var b4a = require_b4a();
-    module2.exports = class UTF8Decoder {
-      constructor() {
-        this.codePoint = 0;
-        this.bytesSeen = 0;
-        this.bytesNeeded = 0;
-        this.lowerBoundary = 128;
-        this.upperBoundary = 191;
-      }
-      get remaining() {
-        return this.bytesSeen;
-      }
-      decode(data) {
-        if (this.bytesNeeded === 0) {
-          let isBoundary = true;
-          for (let i = Math.max(0, data.byteLength - 4), n = data.byteLength; i < n && isBoundary; i++) {
-            isBoundary = data[i] <= 127;
-          }
-          if (isBoundary) return b4a.toString(data, "utf8");
-        }
-        let result = "";
-        for (let i = 0, n = data.byteLength; i < n; i++) {
-          const byte = data[i];
-          if (this.bytesNeeded === 0) {
-            if (byte <= 127) {
-              result += String.fromCharCode(byte);
-            } else {
-              this.bytesSeen = 1;
-              if (byte >= 194 && byte <= 223) {
-                this.bytesNeeded = 2;
-                this.codePoint = byte & 31;
-              } else if (byte >= 224 && byte <= 239) {
-                if (byte === 224) this.lowerBoundary = 160;
-                else if (byte === 237) this.upperBoundary = 159;
-                this.bytesNeeded = 3;
-                this.codePoint = byte & 15;
-              } else if (byte >= 240 && byte <= 244) {
-                if (byte === 240) this.lowerBoundary = 144;
-                if (byte === 244) this.upperBoundary = 143;
-                this.bytesNeeded = 4;
-                this.codePoint = byte & 7;
-              } else {
-                result += "\uFFFD";
-              }
-            }
-            continue;
-          }
-          if (byte < this.lowerBoundary || byte > this.upperBoundary) {
-            this.codePoint = 0;
-            this.bytesNeeded = 0;
-            this.bytesSeen = 0;
-            this.lowerBoundary = 128;
-            this.upperBoundary = 191;
-            result += "\uFFFD";
-            continue;
-          }
-          this.lowerBoundary = 128;
-          this.upperBoundary = 191;
-          this.codePoint = this.codePoint << 6 | byte & 63;
-          this.bytesSeen++;
-          if (this.bytesSeen !== this.bytesNeeded) continue;
-          result += String.fromCodePoint(this.codePoint);
-          this.codePoint = 0;
-          this.bytesNeeded = 0;
-          this.bytesSeen = 0;
-        }
-        return result;
+// node_modules/undici/lib/fileapi/encoding.js
+var require_encoding3 = __commonJS({
+  "node_modules/undici/lib/fileapi/encoding.js"(exports2, module2) {
+    "use strict";
+    function getEncoding(label) {
+      if (!label) {
+        return "failure";
       }
-      flush() {
-        const result = this.bytesNeeded > 0 ? "\uFFFD" : "";
-        this.codePoint = 0;
-        this.bytesNeeded = 0;
-        this.bytesSeen = 0;
-        this.lowerBoundary = 128;
-        this.upperBoundary = 191;
-        return result;
+      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/text-decoder/index.js
-var require_text_decoder = __commonJS({
-  "node_modules/text-decoder/index.js"(exports2, module2) {
-    var PassThroughDecoder = require_pass_through_decoder();
-    var UTF8Decoder = require_utf8_decoder();
-    module2.exports = class TextDecoder {
-      constructor(encoding = "utf8") {
-        this.encoding = normalizeEncoding(encoding);
-        switch (this.encoding) {
-          case "utf8":
-            this.decoder = new UTF8Decoder();
+// node_modules/undici/lib/fileapi/util.js
+var require_util27 = __commonJS({
+  "node_modules/undici/lib/fileapi/util.js"(exports2, module2) {
+    "use strict";
+    var {
+      kState,
+      kError,
+      kResult,
+      kAborted,
+      kLastProgressEventFired
+    } = require_symbols13();
+    var { ProgressEvent } = require_progressevent3();
+    var { getEncoding } = require_encoding3();
+    var { DOMException: DOMException2 } = require_constants21();
+    var { serializeAMimeType, parseMIMEType } = require_dataURL();
+    var { types } = require("util");
+    var { StringDecoder } = require("string_decoder");
+    var { btoa: btoa2 } = require("buffer");
+    var staticPropertyDescriptors = {
+      enumerable: true,
+      writable: false,
+      configurable: false
+    };
+    function readOperation(fr, blob, type2, encodingName) {
+      if (fr[kState] === "loading") {
+        throw new DOMException2("Invalid state", "InvalidStateError");
+      }
+      fr[kState] = "loading";
+      fr[kResult] = null;
+      fr[kError] = null;
+      const stream = blob.stream();
+      const reader = stream.getReader();
+      const bytes = [];
+      let chunkPromise = reader.read();
+      let isFirstChunk = true;
+      (async () => {
+        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, type2, blob.type, encodingName);
+                  if (fr[kAborted]) {
+                    return;
+                  }
+                  fr[kResult] = result;
+                  fireAProgressEvent("load", fr);
+                } catch (error3) {
+                  fr[kError] = error3;
+                  fireAProgressEvent("error", fr);
+                }
+                if (fr[kState] !== "loading") {
+                  fireAProgressEvent("loadend", fr);
+                }
+              });
+              break;
+            }
+          } catch (error3) {
+            if (fr[kAborted]) {
+              return;
+            }
+            queueMicrotask(() => {
+              fr[kState] = "done";
+              fr[kError] = error3;
+              fireAProgressEvent("error", fr);
+              if (fr[kState] !== "loading") {
+                fireAProgressEvent("loadend", fr);
+              }
+            });
             break;
-          case "utf16le":
-          case "base64":
-            throw new Error("Unsupported encoding: " + this.encoding);
-          default:
-            this.decoder = new PassThroughDecoder(this.encoding);
+          }
+        }
+      })();
+    }
+    function fireAProgressEvent(e, reader) {
+      const event = new ProgressEvent(e, {
+        bubbles: false,
+        cancelable: false
+      });
+      reader.dispatchEvent(event);
+    }
+    function packageData(bytes, type2, mimeType, encodingName) {
+      switch (type2) {
+        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 += btoa2(decoder.write(chunk));
+          }
+          dataURL += btoa2(decoder.end());
+          return dataURL;
+        }
+        case "Text": {
+          let encoding = "failure";
+          if (encodingName) {
+            encoding = getEncoding(encodingName);
+          }
+          if (encoding === "failure" && mimeType) {
+            const type3 = parseMIMEType(mimeType);
+            if (type3 !== "failure") {
+              encoding = getEncoding(type3.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;
         }
       }
-      get remaining() {
-        return this.decoder.remaining;
-      }
-      push(data) {
-        if (typeof data === "string") return data;
-        return this.decoder.decode(data);
-      }
-      // For Node.js compatibility
-      write(data) {
-        return this.push(data);
-      }
-      end(data) {
-        let result = "";
-        if (data) result = this.push(data);
-        result += this.decoder.flush();
-        return result;
+    }
+    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;
       }
-    };
-    function normalizeEncoding(encoding) {
-      encoding = encoding.toLowerCase();
-      switch (encoding) {
-        case "utf8":
-        case "utf-8":
-          return "utf8";
-        case "ucs2":
-        case "ucs-2":
-        case "utf16le":
-        case "utf-16le":
-          return "utf16le";
-        case "latin1":
-        case "binary":
-          return "latin1";
-        case "base64":
-        case "ascii":
-        case "hex":
-          return encoding;
-        default:
-          throw new Error("Unknown encoding: " + encoding);
+      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/streamx/index.js
-var require_streamx = __commonJS({
-  "node_modules/streamx/index.js"(exports2, module2) {
-    var { EventEmitter } = require("events");
-    var STREAM_DESTROYED = new Error("Stream was destroyed");
-    var PREMATURE_CLOSE = new Error("Premature close");
-    var queueTick = require_process_next_tick();
-    var FIFO = require_fast_fifo();
-    var TextDecoder2 = require_text_decoder();
-    var MAX = (1 << 29) - 1;
-    var OPENING = 1;
-    var PREDESTROYING = 2;
-    var DESTROYING = 4;
-    var DESTROYED = 8;
-    var NOT_OPENING = MAX ^ OPENING;
-    var NOT_PREDESTROYING = MAX ^ PREDESTROYING;
-    var READ_ACTIVE = 1 << 4;
-    var READ_UPDATING = 2 << 4;
-    var READ_PRIMARY = 4 << 4;
-    var READ_QUEUED = 8 << 4;
-    var READ_RESUMED = 16 << 4;
-    var READ_PIPE_DRAINED = 32 << 4;
-    var READ_ENDING = 64 << 4;
-    var READ_EMIT_DATA = 128 << 4;
-    var READ_EMIT_READABLE = 256 << 4;
-    var READ_EMITTED_READABLE = 512 << 4;
-    var READ_DONE = 1024 << 4;
-    var READ_NEXT_TICK = 2048 << 4;
-    var READ_NEEDS_PUSH = 4096 << 4;
-    var READ_READ_AHEAD = 8192 << 4;
-    var READ_FLOWING = READ_RESUMED | READ_PIPE_DRAINED;
-    var READ_ACTIVE_AND_NEEDS_PUSH = READ_ACTIVE | READ_NEEDS_PUSH;
-    var READ_PRIMARY_AND_ACTIVE = READ_PRIMARY | READ_ACTIVE;
-    var READ_EMIT_READABLE_AND_QUEUED = READ_EMIT_READABLE | READ_QUEUED;
-    var READ_RESUMED_READ_AHEAD = READ_RESUMED | READ_READ_AHEAD;
-    var READ_NOT_ACTIVE = MAX ^ READ_ACTIVE;
-    var READ_NON_PRIMARY = MAX ^ READ_PRIMARY;
-    var READ_NON_PRIMARY_AND_PUSHED = MAX ^ (READ_PRIMARY | READ_NEEDS_PUSH);
-    var READ_PUSHED = MAX ^ READ_NEEDS_PUSH;
-    var READ_PAUSED = MAX ^ READ_RESUMED;
-    var READ_NOT_QUEUED = MAX ^ (READ_QUEUED | READ_EMITTED_READABLE);
-    var READ_NOT_ENDING = MAX ^ READ_ENDING;
-    var READ_PIPE_NOT_DRAINED = MAX ^ READ_FLOWING;
-    var READ_NOT_NEXT_TICK = MAX ^ READ_NEXT_TICK;
-    var READ_NOT_UPDATING = MAX ^ READ_UPDATING;
-    var READ_NO_READ_AHEAD = MAX ^ READ_READ_AHEAD;
-    var READ_PAUSED_NO_READ_AHEAD = MAX ^ READ_RESUMED_READ_AHEAD;
-    var WRITE_ACTIVE = 1 << 18;
-    var WRITE_UPDATING = 2 << 18;
-    var WRITE_PRIMARY = 4 << 18;
-    var WRITE_QUEUED = 8 << 18;
-    var WRITE_UNDRAINED = 16 << 18;
-    var WRITE_DONE = 32 << 18;
-    var WRITE_EMIT_DRAIN = 64 << 18;
-    var WRITE_NEXT_TICK = 128 << 18;
-    var WRITE_WRITING = 256 << 18;
-    var WRITE_FINISHING = 512 << 18;
-    var WRITE_CORKED = 1024 << 18;
-    var WRITE_NOT_ACTIVE = MAX ^ (WRITE_ACTIVE | WRITE_WRITING);
-    var WRITE_NON_PRIMARY = MAX ^ WRITE_PRIMARY;
-    var WRITE_NOT_FINISHING = MAX ^ WRITE_FINISHING;
-    var WRITE_DRAINED = MAX ^ WRITE_UNDRAINED;
-    var WRITE_NOT_QUEUED = MAX ^ WRITE_QUEUED;
-    var WRITE_NOT_NEXT_TICK = MAX ^ WRITE_NEXT_TICK;
-    var WRITE_NOT_UPDATING = MAX ^ WRITE_UPDATING;
-    var WRITE_NOT_CORKED = MAX ^ WRITE_CORKED;
-    var ACTIVE = READ_ACTIVE | WRITE_ACTIVE;
-    var NOT_ACTIVE = MAX ^ ACTIVE;
-    var DONE = READ_DONE | WRITE_DONE;
-    var DESTROY_STATUS = DESTROYING | DESTROYED | PREDESTROYING;
-    var OPEN_STATUS = DESTROY_STATUS | OPENING;
-    var AUTO_DESTROY = DESTROY_STATUS | DONE;
-    var NON_PRIMARY = WRITE_NON_PRIMARY & READ_NON_PRIMARY;
-    var ACTIVE_OR_TICKING = WRITE_NEXT_TICK | READ_NEXT_TICK;
-    var TICKING = ACTIVE_OR_TICKING & NOT_ACTIVE;
-    var IS_OPENING = OPEN_STATUS | TICKING;
-    var READ_PRIMARY_STATUS = OPEN_STATUS | READ_ENDING | READ_DONE;
-    var READ_STATUS = OPEN_STATUS | READ_DONE | READ_QUEUED;
-    var READ_ENDING_STATUS = OPEN_STATUS | READ_ENDING | READ_QUEUED;
-    var READ_READABLE_STATUS = OPEN_STATUS | READ_EMIT_READABLE | READ_QUEUED | READ_EMITTED_READABLE;
-    var SHOULD_NOT_READ = OPEN_STATUS | READ_ACTIVE | READ_ENDING | READ_DONE | READ_NEEDS_PUSH | READ_READ_AHEAD;
-    var READ_BACKPRESSURE_STATUS = DESTROY_STATUS | READ_ENDING | READ_DONE;
-    var READ_UPDATE_SYNC_STATUS = READ_UPDATING | OPEN_STATUS | READ_NEXT_TICK | READ_PRIMARY;
-    var WRITE_PRIMARY_STATUS = OPEN_STATUS | WRITE_FINISHING | WRITE_DONE;
-    var WRITE_QUEUED_AND_UNDRAINED = WRITE_QUEUED | WRITE_UNDRAINED;
-    var WRITE_QUEUED_AND_ACTIVE = WRITE_QUEUED | WRITE_ACTIVE;
-    var WRITE_DRAIN_STATUS = WRITE_QUEUED | WRITE_UNDRAINED | OPEN_STATUS | WRITE_ACTIVE;
-    var WRITE_STATUS = OPEN_STATUS | WRITE_ACTIVE | WRITE_QUEUED | WRITE_CORKED;
-    var WRITE_PRIMARY_AND_ACTIVE = WRITE_PRIMARY | WRITE_ACTIVE;
-    var WRITE_ACTIVE_AND_WRITING = WRITE_ACTIVE | WRITE_WRITING;
-    var WRITE_FINISHING_STATUS = OPEN_STATUS | WRITE_FINISHING | WRITE_QUEUED_AND_ACTIVE | WRITE_DONE;
-    var WRITE_BACKPRESSURE_STATUS = WRITE_UNDRAINED | DESTROY_STATUS | WRITE_FINISHING | WRITE_DONE;
-    var WRITE_UPDATE_SYNC_STATUS = WRITE_UPDATING | OPEN_STATUS | WRITE_NEXT_TICK | WRITE_PRIMARY;
-    var asyncIterator = Symbol.asyncIterator || /* @__PURE__ */ Symbol("asyncIterator");
-    var WritableState = class {
-      constructor(stream, { highWaterMark = 16384, map: map2 = null, mapWritable, byteLength, byteLengthWritable } = {}) {
-        this.stream = stream;
-        this.queue = new FIFO();
-        this.highWaterMark = highWaterMark;
-        this.buffered = 0;
-        this.error = null;
-        this.pipeline = null;
-        this.drains = null;
-        this.byteLength = byteLengthWritable || byteLength || defaultByteLength;
-        this.map = mapWritable || map2;
-        this.afterWrite = afterWrite.bind(this);
-        this.afterUpdateNextTick = updateWriteNT.bind(this);
-      }
-      get ended() {
-        return (this.stream._duplexState & WRITE_DONE) !== 0;
-      }
-      push(data) {
-        if (this.map !== null) data = this.map(data);
-        this.buffered += this.byteLength(data);
-        this.queue.push(data);
-        if (this.buffered < this.highWaterMark) {
-          this.stream._duplexState |= WRITE_QUEUED;
-          return true;
-        }
-        this.stream._duplexState |= WRITE_QUEUED_AND_UNDRAINED;
-        return false;
+// node_modules/undici/lib/fileapi/filereader.js
+var require_filereader3 = __commonJS({
+  "node_modules/undici/lib/fileapi/filereader.js"(exports2, module2) {
+    "use strict";
+    var {
+      staticPropertyDescriptors,
+      readOperation,
+      fireAProgressEvent
+    } = require_util27();
+    var {
+      kState,
+      kError,
+      kResult,
+      kEvents,
+      kAborted
+    } = require_symbols13();
+    var { webidl } = require_webidl3();
+    var { kEnumerableProperty } = require_util24();
+    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
+        };
       }
-      shift() {
-        const data = this.queue.shift();
-        this.buffered -= this.byteLength(data);
-        if (this.buffered === 0) this.stream._duplexState &= WRITE_NOT_QUEUED;
-        return data;
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-readAsArrayBuffer
+       * @param {import('buffer').Blob} blob
+       */
+      readAsArrayBuffer(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsArrayBuffer" });
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "ArrayBuffer");
       }
-      end(data) {
-        if (typeof data === "function") this.stream.once("finish", data);
-        else if (data !== void 0 && data !== null) this.push(data);
-        this.stream._duplexState = (this.stream._duplexState | WRITE_FINISHING) & WRITE_NON_PRIMARY;
+      /**
+       * @see https://w3c.github.io/FileAPI/#readAsBinaryString
+       * @param {import('buffer').Blob} blob
+       */
+      readAsBinaryString(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsBinaryString" });
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "BinaryString");
       }
-      autoBatch(data, cb) {
-        const buffer = [];
-        const stream = this.stream;
-        buffer.push(data);
-        while ((stream._duplexState & WRITE_STATUS) === WRITE_QUEUED_AND_ACTIVE) {
-          buffer.push(stream._writableState.shift());
+      /**
+       * @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, { header: "FileReader.readAsText" });
+        blob = webidl.converters.Blob(blob, { strict: false });
+        if (encoding !== void 0) {
+          encoding = webidl.converters.DOMString(encoding);
         }
-        if ((stream._duplexState & OPEN_STATUS) !== 0) return cb(null);
-        stream._writev(buffer, cb);
+        readOperation(this, blob, "Text", encoding);
       }
-      update() {
-        const stream = this.stream;
-        stream._duplexState |= WRITE_UPDATING;
-        do {
-          while ((stream._duplexState & WRITE_STATUS) === WRITE_QUEUED) {
-            const data = this.shift();
-            stream._duplexState |= WRITE_ACTIVE_AND_WRITING;
-            stream._write(data, this.afterWrite);
-          }
-          if ((stream._duplexState & WRITE_PRIMARY_AND_ACTIVE) === 0) this.updateNonPrimary();
-        } while (this.continueUpdate() === true);
-        stream._duplexState &= WRITE_NOT_UPDATING;
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-readAsDataURL
+       * @param {import('buffer').Blob} blob
+       */
+      readAsDataURL(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsDataURL" });
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "DataURL");
       }
-      updateNonPrimary() {
-        const stream = this.stream;
-        if ((stream._duplexState & WRITE_FINISHING_STATUS) === WRITE_FINISHING) {
-          stream._duplexState = (stream._duplexState | WRITE_ACTIVE) & WRITE_NOT_FINISHING;
-          stream._final(afterFinal.bind(this));
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-abort
+       */
+      abort() {
+        if (this[kState] === "empty" || this[kState] === "done") {
+          this[kResult] = null;
           return;
         }
-        if ((stream._duplexState & DESTROY_STATUS) === DESTROYING) {
-          if ((stream._duplexState & ACTIVE_OR_TICKING) === 0) {
-            stream._duplexState |= ACTIVE;
-            stream._destroy(afterDestroy.bind(this));
-          }
-          return;
+        if (this[kState] === "loading") {
+          this[kState] = "done";
+          this[kResult] = null;
         }
-        if ((stream._duplexState & IS_OPENING) === OPENING) {
-          stream._duplexState = (stream._duplexState | ACTIVE) & NOT_OPENING;
-          stream._open(afterOpen.bind(this));
+        this[kAborted] = true;
+        fireAProgressEvent("abort", this);
+        if (this[kState] !== "loading") {
+          fireAProgressEvent("loadend", this);
         }
       }
-      continueUpdate() {
-        if ((this.stream._duplexState & WRITE_NEXT_TICK) === 0) return false;
-        this.stream._duplexState &= WRITE_NOT_NEXT_TICK;
-        return true;
-      }
-      updateCallback() {
-        if ((this.stream._duplexState & WRITE_UPDATE_SYNC_STATUS) === WRITE_PRIMARY) this.update();
-        else this.updateNextTick();
+      /**
+       * @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;
+        }
       }
-      updateNextTick() {
-        if ((this.stream._duplexState & WRITE_NEXT_TICK) !== 0) return;
-        this.stream._duplexState |= WRITE_NEXT_TICK;
-        if ((this.stream._duplexState & WRITE_UPDATING) === 0) queueTick(this.afterUpdateNextTick);
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-result
+       */
+      get result() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kResult];
       }
-    };
-    var ReadableState = class {
-      constructor(stream, { highWaterMark = 16384, map: map2 = null, mapReadable, byteLength, byteLengthReadable } = {}) {
-        this.stream = stream;
-        this.queue = new FIFO();
-        this.highWaterMark = highWaterMark === 0 ? 1 : highWaterMark;
-        this.buffered = 0;
-        this.readAhead = highWaterMark > 0;
-        this.error = null;
-        this.pipeline = null;
-        this.byteLength = byteLengthReadable || byteLength || defaultByteLength;
-        this.map = mapReadable || map2;
-        this.pipeTo = null;
-        this.afterRead = afterRead.bind(this);
-        this.afterUpdateNextTick = updateReadNT.bind(this);
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-error
+       */
+      get error() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kError];
       }
-      get ended() {
-        return (this.stream._duplexState & READ_DONE) !== 0;
+      get onloadend() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].loadend;
       }
-      pipe(pipeTo, cb) {
-        if (this.pipeTo !== null) throw new Error("Can only pipe to one destination");
-        if (typeof cb !== "function") cb = null;
-        this.stream._duplexState |= READ_PIPE_DRAINED;
-        this.pipeTo = pipeTo;
-        this.pipeline = new Pipeline(this.stream, pipeTo, cb);
-        if (cb) this.stream.on("error", noop3);
-        if (isStreamx(pipeTo)) {
-          pipeTo._writableState.pipeline = this.pipeline;
-          if (cb) pipeTo.on("error", noop3);
-          pipeTo.on("finish", this.pipeline.finished.bind(this.pipeline));
+      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 {
-          const onerror = this.pipeline.done.bind(this.pipeline, pipeTo);
-          const onclose = this.pipeline.done.bind(this.pipeline, pipeTo, null);
-          pipeTo.on("error", onerror);
-          pipeTo.on("close", onclose);
-          pipeTo.on("finish", this.pipeline.finished.bind(this.pipeline));
+          this[kEvents].loadend = null;
         }
-        pipeTo.on("drain", afterDrain.bind(this));
-        this.stream.emit("piping", pipeTo);
-        pipeTo.emit("pipe", this.stream);
       }
-      push(data) {
-        const stream = this.stream;
-        if (data === null) {
-          this.highWaterMark = 0;
-          stream._duplexState = (stream._duplexState | READ_ENDING) & READ_NON_PRIMARY_AND_PUSHED;
-          return false;
+      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 (this.map !== null) {
-          data = this.map(data);
-          if (data === null) {
-            stream._duplexState &= READ_PUSHED;
-            return this.buffered < this.highWaterMark;
-          }
+        if (typeof fn === "function") {
+          this[kEvents].error = fn;
+          this.addEventListener("error", fn);
+        } else {
+          this[kEvents].error = null;
         }
-        this.buffered += this.byteLength(data);
-        this.queue.push(data);
-        stream._duplexState = (stream._duplexState | READ_QUEUED) & READ_PUSHED;
-        return this.buffered < this.highWaterMark;
       }
-      shift() {
-        const data = this.queue.shift();
-        this.buffered -= this.byteLength(data);
-        if (this.buffered === 0) this.stream._duplexState &= READ_NOT_QUEUED;
-        return data;
-      }
-      unshift(data) {
-        const pending = [this.map !== null ? this.map(data) : data];
-        while (this.buffered > 0) pending.push(this.shift());
-        for (let i = 0; i < pending.length - 1; i++) {
-          const data2 = pending[i];
-          this.buffered += this.byteLength(data2);
-          this.queue.push(data2);
-        }
-        this.push(pending[pending.length - 1]);
+      get onloadstart() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].loadstart;
       }
-      read() {
-        const stream = this.stream;
-        if ((stream._duplexState & READ_STATUS) === READ_QUEUED) {
-          const data = this.shift();
-          if (this.pipeTo !== null && this.pipeTo.write(data) === false) stream._duplexState &= READ_PIPE_NOT_DRAINED;
-          if ((stream._duplexState & READ_EMIT_DATA) !== 0) stream.emit("data", data);
-          return data;
+      set onloadstart(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].loadstart) {
+          this.removeEventListener("loadstart", this[kEvents].loadstart);
         }
-        if (this.readAhead === false) {
-          stream._duplexState |= READ_READ_AHEAD;
-          this.updateNextTick();
+        if (typeof fn === "function") {
+          this[kEvents].loadstart = fn;
+          this.addEventListener("loadstart", fn);
+        } else {
+          this[kEvents].loadstart = null;
         }
-        return null;
       }
-      drain() {
-        const stream = this.stream;
-        while ((stream._duplexState & READ_STATUS) === READ_QUEUED && (stream._duplexState & READ_FLOWING) !== 0) {
-          const data = this.shift();
-          if (this.pipeTo !== null && this.pipeTo.write(data) === false) stream._duplexState &= READ_PIPE_NOT_DRAINED;
-          if ((stream._duplexState & READ_EMIT_DATA) !== 0) stream.emit("data", data);
+      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;
         }
       }
-      update() {
-        const stream = this.stream;
-        stream._duplexState |= READ_UPDATING;
-        do {
-          this.drain();
-          while (this.buffered < this.highWaterMark && (stream._duplexState & SHOULD_NOT_READ) === READ_READ_AHEAD) {
-            stream._duplexState |= READ_ACTIVE_AND_NEEDS_PUSH;
-            stream._read(this.afterRead);
-            this.drain();
-          }
-          if ((stream._duplexState & READ_READABLE_STATUS) === READ_EMIT_READABLE_AND_QUEUED) {
-            stream._duplexState |= READ_EMITTED_READABLE;
-            stream.emit("readable");
-          }
-          if ((stream._duplexState & READ_PRIMARY_AND_ACTIVE) === 0) this.updateNonPrimary();
-        } while (this.continueUpdate() === true);
-        stream._duplexState &= READ_NOT_UPDATING;
+      get onload() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].load;
       }
-      updateNonPrimary() {
-        const stream = this.stream;
-        if ((stream._duplexState & READ_ENDING_STATUS) === READ_ENDING) {
-          stream._duplexState = (stream._duplexState | READ_DONE) & READ_NOT_ENDING;
-          stream.emit("end");
-          if ((stream._duplexState & AUTO_DESTROY) === DONE) stream._duplexState |= DESTROYING;
-          if (this.pipeTo !== null) this.pipeTo.end();
-        }
-        if ((stream._duplexState & DESTROY_STATUS) === DESTROYING) {
-          if ((stream._duplexState & ACTIVE_OR_TICKING) === 0) {
-            stream._duplexState |= ACTIVE;
-            stream._destroy(afterDestroy.bind(this));
-          }
-          return;
+      set onload(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].load) {
+          this.removeEventListener("load", this[kEvents].load);
         }
-        if ((stream._duplexState & IS_OPENING) === OPENING) {
-          stream._duplexState = (stream._duplexState | ACTIVE) & NOT_OPENING;
-          stream._open(afterOpen.bind(this));
+        if (typeof fn === "function") {
+          this[kEvents].load = fn;
+          this.addEventListener("load", fn);
+        } else {
+          this[kEvents].load = null;
         }
       }
-      continueUpdate() {
-        if ((this.stream._duplexState & READ_NEXT_TICK) === 0) return false;
-        this.stream._duplexState &= READ_NOT_NEXT_TICK;
-        return true;
+      get onabort() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].abort;
       }
-      updateCallback() {
-        if ((this.stream._duplexState & READ_UPDATE_SYNC_STATUS) === READ_PRIMARY) this.update();
-        else this.updateNextTick();
+      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;
+        }
       }
-      updateNextTick() {
-        if ((this.stream._duplexState & READ_NEXT_TICK) !== 0) return;
-        this.stream._duplexState |= READ_NEXT_TICK;
-        if ((this.stream._duplexState & READ_UPDATING) === 0) queueTick(this.afterUpdateNextTick);
+    };
+    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
     };
-    var TransformState = class {
-      constructor(stream) {
-        this.data = null;
-        this.afterTransform = afterTransform.bind(stream);
-        this.afterFinal = null;
+  }
+});
+
+// node_modules/undici/lib/cache/symbols.js
+var require_symbols14 = __commonJS({
+  "node_modules/undici/lib/cache/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kConstruct: require_symbols11().kConstruct
+    };
+  }
+});
+
+// node_modules/undici/lib/cache/util.js
+var require_util28 = __commonJS({
+  "node_modules/undici/lib/cache/util.js"(exports2, module2) {
+    "use strict";
+    var assert = require("assert");
+    var { URLSerializer } = require_dataURL();
+    var { isValidHeaderName } = require_util25();
+    function urlEquals(A, B, excludeFragment = false) {
+      const serializedA = URLSerializer(A, excludeFragment);
+      const serializedB = URLSerializer(B, excludeFragment);
+      return serializedA === serializedB;
+    }
+    function fieldValues(header) {
+      assert(header !== null);
+      const values = [];
+      for (let value of header.split(",")) {
+        value = value.trim();
+        if (!value.length) {
+          continue;
+        } else if (!isValidHeaderName(value)) {
+          continue;
+        }
+        values.push(value);
       }
+      return values;
+    }
+    module2.exports = {
+      urlEquals,
+      fieldValues
     };
-    var Pipeline = class {
-      constructor(src, dst, cb) {
-        this.from = src;
-        this.to = dst;
-        this.afterPipe = cb;
-        this.error = null;
-        this.pipeToFinished = false;
+  }
+});
+
+// node_modules/undici/lib/cache/cache.js
+var require_cache6 = __commonJS({
+  "node_modules/undici/lib/cache/cache.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols14();
+    var { urlEquals, fieldValues: getFieldValues } = require_util28();
+    var { kEnumerableProperty, isDisturbed } = require_util24();
+    var { kHeadersList } = require_symbols11();
+    var { webidl } = require_webidl3();
+    var { Response, cloneResponse } = require_response4();
+    var { Request } = require_request6();
+    var { kState, kHeaders, kGuard, kRealm } = require_symbols12();
+    var { fetching } = require_fetch3();
+    var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util25();
+    var assert = require("assert");
+    var { getGlobalDispatcher } = require_global6();
+    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();
+        }
+        this.#relevantRequestResponseList = arguments[1];
       }
-      finished() {
-        this.pipeToFinished = true;
+      async match(request2, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.match" });
+        request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.CacheQueryOptions(options);
+        const p = await this.matchAll(request2, options);
+        if (p.length === 0) {
+          return;
+        }
+        return p[0];
       }
-      done(stream, err) {
-        if (err) this.error = err;
-        if (stream === this.to) {
-          this.to = null;
-          if (this.from !== null) {
-            if ((this.from._duplexState & READ_DONE) === 0 || !this.pipeToFinished) {
-              this.from.destroy(this.error || new Error("Writable stream closed prematurely"));
+      async matchAll(request2 = void 0, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.CacheQueryOptions(options);
+        let r = null;
+        if (request2 !== void 0) {
+          if (request2 instanceof Request) {
+            r = request2[kState];
+            if (r.method !== "GET" && !options.ignoreMethod) {
+              return [];
             }
-            return;
+          } else if (typeof request2 === "string") {
+            r = new Request(request2)[kState];
           }
         }
-        if (stream === this.from) {
-          this.from = null;
-          if (this.to !== null) {
-            if ((stream._duplexState & READ_DONE) === 0) {
-              this.to.destroy(this.error || new Error("Readable stream closed before ending"));
-            }
-            return;
+        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]);
           }
         }
-        if (this.afterPipe !== null) this.afterPipe(this.error);
-        this.to = this.from = this.afterPipe = null;
-      }
-    };
-    function afterDrain() {
-      this.stream._duplexState |= READ_PIPE_DRAINED;
-      this.updateCallback();
-    }
-    function afterFinal(err) {
-      const stream = this.stream;
-      if (err) stream.destroy(err);
-      if ((stream._duplexState & DESTROY_STATUS) === 0) {
-        stream._duplexState |= WRITE_DONE;
-        stream.emit("finish");
-      }
-      if ((stream._duplexState & AUTO_DESTROY) === DONE) {
-        stream._duplexState |= DESTROYING;
+        const responseList = [];
+        for (const response of responses) {
+          const responseObject = new Response(response.body?.source ?? null);
+          const body = responseObject[kState].body;
+          responseObject[kState] = response;
+          responseObject[kState].body = body;
+          responseObject[kHeaders][kHeadersList] = response.headersList;
+          responseObject[kHeaders][kGuard] = "immutable";
+          responseList.push(responseObject);
+        }
+        return Object.freeze(responseList);
       }
-      stream._duplexState &= WRITE_NOT_ACTIVE;
-      if ((stream._duplexState & WRITE_UPDATING) === 0) this.update();
-      else this.updateNextTick();
-    }
-    function afterDestroy(err) {
-      const stream = this.stream;
-      if (!err && this.error !== STREAM_DESTROYED) err = this.error;
-      if (err) stream.emit("error", err);
-      stream._duplexState |= DESTROYED;
-      stream.emit("close");
-      const rs = stream._readableState;
-      const ws = stream._writableState;
-      if (rs !== null && rs.pipeline !== null) rs.pipeline.done(stream, err);
-      if (ws !== null) {
-        while (ws.drains !== null && ws.drains.length > 0) ws.drains.shift().resolve(false);
-        if (ws.pipeline !== null) ws.pipeline.done(stream, err);
+      async add(request2) {
+        webidl.brandCheck(this, _Cache);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.add" });
+        request2 = webidl.converters.RequestInfo(request2);
+        const requests = [request2];
+        const responseArrayPromise = this.addAll(requests);
+        return await responseArrayPromise;
       }
-    }
-    function afterWrite(err) {
-      const stream = this.stream;
-      if (err) stream.destroy(err);
-      stream._duplexState &= WRITE_NOT_ACTIVE;
-      if (this.drains !== null) tickDrains(this.drains);
-      if ((stream._duplexState & WRITE_DRAIN_STATUS) === WRITE_UNDRAINED) {
-        stream._duplexState &= WRITE_DRAINED;
-        if ((stream._duplexState & WRITE_EMIT_DRAIN) === WRITE_EMIT_DRAIN) {
-          stream.emit("drain");
+      async addAll(requests) {
+        webidl.brandCheck(this, _Cache);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.addAll" });
+        requests = webidl.converters["sequence"](requests);
+        const responsePromises = [];
+        const requestList = [];
+        for (const request2 of requests) {
+          if (typeof request2 === "string") {
+            continue;
+          }
+          const r = request2[kState];
+          if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") {
+            throw webidl.errors.exception({
+              header: "Cache.addAll",
+              message: "Expected http/s scheme when method is not GET."
+            });
+          }
+        }
+        const fetchControllers = [];
+        for (const request2 of requests) {
+          const r = new Request(request2)[kState];
+          if (!urlIsHttpHttpsScheme(r.url)) {
+            throw webidl.errors.exception({
+              header: "Cache.addAll",
+              message: "Expected http/s scheme."
+            });
+          }
+          r.initiator = "fetch";
+          r.destination = "subresource";
+          requestList.push(r);
+          const responsePromise = createDeferredPromise();
+          fetchControllers.push(fetching({
+            request: r,
+            dispatcher: getGlobalDispatcher(),
+            processResponse(response) {
+              if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) {
+                responsePromise.reject(webidl.errors.exception({
+                  header: "Cache.addAll",
+                  message: "Received an invalid status code or the request failed."
+                }));
+              } else if (response.headersList.contains("vary")) {
+                const fieldValues = getFieldValues(response.headersList.get("vary"));
+                for (const fieldValue of fieldValues) {
+                  if (fieldValue === "*") {
+                    responsePromise.reject(webidl.errors.exception({
+                      header: "Cache.addAll",
+                      message: "invalid vary field value"
+                    }));
+                    for (const controller of fetchControllers) {
+                      controller.abort();
+                    }
+                    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++;
         }
-      }
-      this.updateCallback();
-    }
-    function afterRead(err) {
-      if (err) this.stream.destroy(err);
-      this.stream._duplexState &= READ_NOT_ACTIVE;
-      if (this.readAhead === false && (this.stream._duplexState & READ_RESUMED) === 0) this.stream._duplexState &= READ_NO_READ_AHEAD;
-      this.updateCallback();
-    }
-    function updateReadNT() {
-      if ((this.stream._duplexState & READ_UPDATING) === 0) {
-        this.stream._duplexState &= READ_NOT_NEXT_TICK;
-        this.update();
-      }
-    }
-    function updateWriteNT() {
-      if ((this.stream._duplexState & WRITE_UPDATING) === 0) {
-        this.stream._duplexState &= WRITE_NOT_NEXT_TICK;
-        this.update();
-      }
-    }
-    function tickDrains(drains) {
-      for (let i = 0; i < drains.length; i++) {
-        if (--drains[i].writes === 0) {
-          drains.shift().resolve(true);
-          i--;
+        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;
       }
-    }
-    function afterOpen(err) {
-      const stream = this.stream;
-      if (err) stream.destroy(err);
-      if ((stream._duplexState & DESTROYING) === 0) {
-        if ((stream._duplexState & READ_PRIMARY_STATUS) === 0) stream._duplexState |= READ_PRIMARY;
-        if ((stream._duplexState & WRITE_PRIMARY_STATUS) === 0) stream._duplexState |= WRITE_PRIMARY;
-        stream.emit("open");
-      }
-      stream._duplexState &= NOT_ACTIVE;
-      if (stream._writableState !== null) {
-        stream._writableState.updateCallback();
-      }
-      if (stream._readableState !== null) {
-        stream._readableState.updateCallback();
-      }
-    }
-    function afterTransform(err, data) {
-      if (data !== void 0 && data !== null) this.push(data);
-      this._writableState.afterWrite(err);
-    }
-    function newListener(name) {
-      if (this._readableState !== null) {
-        if (name === "data") {
-          this._duplexState |= READ_EMIT_DATA | READ_RESUMED_READ_AHEAD;
-          this._readableState.updateNextTick();
+      async put(request2, response) {
+        webidl.brandCheck(this, _Cache);
+        webidl.argumentLengthCheck(arguments, 2, { header: "Cache.put" });
+        request2 = webidl.converters.RequestInfo(request2);
+        response = webidl.converters.Response(response);
+        let innerRequest = null;
+        if (request2 instanceof Request) {
+          innerRequest = request2[kState];
+        } else {
+          innerRequest = new Request(request2)[kState];
         }
-        if (name === "readable") {
-          this._duplexState |= READ_EMIT_READABLE;
-          this._readableState.updateNextTick();
+        if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") {
+          throw webidl.errors.exception({
+            header: "Cache.put",
+            message: "Expected an http/s scheme when method is not GET"
+          });
         }
-      }
-      if (this._writableState !== null) {
-        if (name === "drain") {
-          this._duplexState |= WRITE_EMIT_DRAIN;
-          this._writableState.updateNextTick();
+        const innerResponse = response[kState];
+        if (innerResponse.status === 206) {
+          throw webidl.errors.exception({
+            header: "Cache.put",
+            message: "Got 206 status"
+          });
         }
-      }
-    }
-    var Stream = class extends EventEmitter {
-      constructor(opts) {
-        super();
-        this._duplexState = 0;
-        this._readableState = null;
-        this._writableState = null;
-        if (opts) {
-          if (opts.open) this._open = opts.open;
-          if (opts.destroy) this._destroy = opts.destroy;
-          if (opts.predestroy) this._predestroy = opts.predestroy;
-          if (opts.signal) {
-            opts.signal.addEventListener("abort", abort.bind(this));
+        if (innerResponse.headersList.contains("vary")) {
+          const fieldValues = getFieldValues(innerResponse.headersList.get("vary"));
+          for (const fieldValue of fieldValues) {
+            if (fieldValue === "*") {
+              throw webidl.errors.exception({
+                header: "Cache.put",
+                message: "Got * vary field value"
+              });
+            }
           }
         }
-        this.on("newListener", newListener);
-      }
-      _open(cb) {
-        cb(null);
-      }
-      _destroy(cb) {
-        cb(null);
-      }
-      _predestroy() {
-      }
-      get readable() {
-        return this._readableState !== null ? true : void 0;
-      }
-      get writable() {
-        return this._writableState !== null ? true : void 0;
-      }
-      get destroyed() {
-        return (this._duplexState & DESTROYED) !== 0;
-      }
-      get destroying() {
-        return (this._duplexState & DESTROY_STATUS) !== 0;
-      }
-      destroy(err) {
-        if ((this._duplexState & DESTROY_STATUS) === 0) {
-          if (!err) err = STREAM_DESTROYED;
-          this._duplexState = (this._duplexState | DESTROYING) & NON_PRIMARY;
-          if (this._readableState !== null) {
-            this._readableState.highWaterMark = 0;
-            this._readableState.error = err;
+        if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {
+          throw webidl.errors.exception({
+            header: "Cache.put",
+            message: "Response body is locked or disturbed"
+          });
+        }
+        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);
           }
-          if (this._writableState !== null) {
-            this._writableState.highWaterMark = 0;
-            this._writableState.error = err;
+        });
+        return cacheJobPromise.promise;
+      }
+      async delete(request2, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.delete" });
+        request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.CacheQueryOptions(options);
+        let r = null;
+        if (request2 instanceof Request) {
+          r = request2[kState];
+          if (r.method !== "GET" && !options.ignoreMethod) {
+            return false;
           }
-          this._duplexState |= PREDESTROYING;
-          this._predestroy();
-          this._duplexState &= NOT_PREDESTROYING;
-          if (this._readableState !== null) this._readableState.updateNextTick();
-          if (this._writableState !== null) this._writableState.updateNextTick();
+        } else {
+          assert(typeof request2 === "string");
+          r = new Request(request2)[kState];
         }
-      }
-    };
-    var Readable = class _Readable extends Stream {
-      constructor(opts) {
-        super(opts);
-        this._duplexState |= OPENING | WRITE_DONE | READ_READ_AHEAD;
-        this._readableState = new ReadableState(this, opts);
-        if (opts) {
-          if (this._readableState.readAhead === false) this._duplexState &= READ_NO_READ_AHEAD;
-          if (opts.read) this._read = opts.read;
-          if (opts.eagerOpen) this._readableState.updateNextTick();
-          if (opts.encoding) this.setEncoding(opts.encoding);
+        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;
       }
-      setEncoding(encoding) {
-        const dec = new TextDecoder2(encoding);
-        const map2 = this._readableState.map || echo;
-        this._readableState.map = mapOrSkip;
-        return this;
-        function mapOrSkip(data) {
-          const next = dec.push(data);
-          return next === "" && (data.byteLength !== 0 || dec.remaining > 0) ? null : map2(next);
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys
+       * @param {any} request
+       * @param {import('../../types/cache').CacheQueryOptions} options
+       * @returns {readonly Request[]}
+       */
+      async keys(request2 = void 0, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.CacheQueryOptions(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];
+          }
         }
-      }
-      _read(cb) {
-        cb(null);
-      }
-      pipe(dest, cb) {
-        this._readableState.updateNextTick();
-        this._readableState.pipe(dest, cb);
-        return dest;
-      }
-      read() {
-        this._readableState.updateNextTick();
-        return this._readableState.read();
-      }
-      push(data) {
-        this._readableState.updateNextTick();
-        return this._readableState.push(data);
-      }
-      unshift(data) {
-        this._readableState.updateNextTick();
-        return this._readableState.unshift(data);
-      }
-      resume() {
-        this._duplexState |= READ_RESUMED_READ_AHEAD;
-        this._readableState.updateNextTick();
-        return this;
-      }
-      pause() {
-        this._duplexState &= this._readableState.readAhead === false ? READ_PAUSED_NO_READ_AHEAD : READ_PAUSED;
-        return this;
-      }
-      static _fromAsyncIterator(ite, opts) {
-        let destroy;
-        const rs = new _Readable({
-          ...opts,
-          read(cb) {
-            ite.next().then(push).then(cb.bind(null, null)).catch(cb);
-          },
-          predestroy() {
-            destroy = ite.return();
-          },
-          destroy(cb) {
-            if (!destroy) return cb(null);
-            destroy.then(cb.bind(null, null)).catch(cb);
+        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]);
           }
-        });
-        return rs;
-        function push(data) {
-          if (data.done) rs.push(null);
-          else rs.push(data.value);
         }
-      }
-      static from(data, opts) {
-        if (isReadStreamx(data)) return data;
-        if (data[asyncIterator]) return this._fromAsyncIterator(data[asyncIterator](), opts);
-        if (!Array.isArray(data)) data = data === void 0 ? [] : [data];
-        let i = 0;
-        return new _Readable({
-          ...opts,
-          read(cb) {
-            this.push(i === data.length ? null : data[i++]);
-            cb(null);
+        queueMicrotask(() => {
+          const requestList = [];
+          for (const request3 of requests) {
+            const requestObject = new Request("https://a");
+            requestObject[kState] = request3;
+            requestObject[kHeaders][kHeadersList] = request3.headersList;
+            requestObject[kHeaders][kGuard] = "immutable";
+            requestObject[kRealm] = request3.client;
+            requestList.push(requestObject);
           }
+          promise.resolve(Object.freeze(requestList));
         });
+        return promise.promise;
       }
-      static isBackpressured(rs) {
-        return (rs._duplexState & READ_BACKPRESSURE_STATUS) !== 0 || rs._readableState.buffered >= rs._readableState.highWaterMark;
-      }
-      static isPaused(rs) {
-        return (rs._duplexState & READ_RESUMED) === 0;
+      /**
+       * @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;
+        }
       }
-      [asyncIterator]() {
-        const stream = this;
-        let error3 = null;
-        let promiseResolve = null;
-        let promiseReject = null;
-        this.on("error", (err) => {
-          error3 = err;
-        });
-        this.on("readable", onreadable);
-        this.on("close", onclose);
-        return {
-          [asyncIterator]() {
-            return this;
-          },
-          next() {
-            return new Promise(function(resolve5, reject) {
-              promiseResolve = resolve5;
-              promiseReject = reject;
-              const data = stream.read();
-              if (data !== null) ondata(data);
-              else if ((stream._duplexState & DESTROYED) !== 0) ondata(null);
-            });
-          },
-          return() {
-            return destroy(null);
-          },
-          throw(err) {
-            return destroy(err);
+      /**
+       * @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);
           }
-        };
-        function onreadable() {
-          if (promiseResolve !== null) ondata(stream.read());
         }
-        function onclose() {
-          if (promiseResolve !== null) ondata(null);
+        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 = "";
         }
-        function ondata(data) {
-          if (promiseReject === null) return;
-          if (error3) promiseReject(error3);
-          else if (data === null && (stream._duplexState & READ_DONE) === 0) promiseReject(STREAM_DESTROYED);
-          else promiseResolve({ value: data, done: data === null });
-          promiseReject = promiseResolve = null;
+        if (!urlEquals(queryURL, cachedURL, true)) {
+          return false;
         }
-        function destroy(err) {
-          stream.destroy(err);
-          return new Promise((resolve5, reject) => {
-            if (stream._duplexState & DESTROYED) return resolve5({ value: void 0, done: true });
-            stream.once("close", function() {
-              if (err) reject(err);
-              else resolve5({ value: void 0, done: true });
-            });
-          });
+        if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) {
+          return true;
         }
-      }
-    };
-    var Writable = class extends Stream {
-      constructor(opts) {
-        super(opts);
-        this._duplexState |= OPENING | READ_DONE;
-        this._writableState = new WritableState(this, opts);
-        if (opts) {
-          if (opts.writev) this._writev = opts.writev;
-          if (opts.write) this._write = opts.write;
-          if (opts.final) this._final = opts.final;
-          if (opts.eagerOpen) this._writableState.updateNextTick();
+        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;
+          }
         }
-      }
-      cork() {
-        this._duplexState |= WRITE_CORKED;
-      }
-      uncork() {
-        this._duplexState &= WRITE_NOT_CORKED;
-        this._writableState.updateNextTick();
-      }
-      _writev(batch, cb) {
-        cb(null);
-      }
-      _write(data, cb) {
-        this._writableState.autoBatch(data, cb);
-      }
-      _final(cb) {
-        cb(null);
-      }
-      static isBackpressured(ws) {
-        return (ws._duplexState & WRITE_BACKPRESSURE_STATUS) !== 0;
-      }
-      static drained(ws) {
-        if (ws.destroyed) return Promise.resolve(false);
-        const state = ws._writableState;
-        const pending = isWritev(ws) ? Math.min(1, state.queue.length) : state.queue.length;
-        const writes = pending + (ws._duplexState & WRITE_WRITING ? 1 : 0);
-        if (writes === 0) return Promise.resolve(true);
-        if (state.drains === null) state.drains = [];
-        return new Promise((resolve5) => {
-          state.drains.push({ writes, resolve: resolve5 });
-        });
-      }
-      write(data) {
-        this._writableState.updateNextTick();
-        return this._writableState.push(data);
-      }
-      end(data) {
-        this._writableState.updateNextTick();
-        this._writableState.end(data);
-        return this;
+        return true;
       }
     };
-    var Duplex = class extends Readable {
-      // and Writable
-      constructor(opts) {
-        super(opts);
-        this._duplexState = OPENING | this._duplexState & READ_READ_AHEAD;
-        this._writableState = new WritableState(this, opts);
-        if (opts) {
-          if (opts.writev) this._writev = opts.writev;
-          if (opts.write) this._write = opts.write;
-          if (opts.final) this._final = opts.final;
-        }
-      }
-      cork() {
-        this._duplexState |= WRITE_CORKED;
-      }
-      uncork() {
-        this._duplexState &= WRITE_NOT_CORKED;
-        this._writableState.updateNextTick();
-      }
-      _writev(batch, cb) {
-        cb(null);
-      }
-      _write(data, cb) {
-        this._writableState.autoBatch(data, cb);
-      }
-      _final(cb) {
-        cb(null);
-      }
-      write(data) {
-        this._writableState.updateNextTick();
-        return this._writableState.push(data);
+    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
       }
-      end(data) {
-        this._writableState.updateNextTick();
-        this._writableState.end(data);
-        return this;
+    ];
+    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
     };
-    var Transform = class extends Duplex {
-      constructor(opts) {
-        super(opts);
-        this._transformState = new TransformState(this);
-        if (opts) {
-          if (opts.transform) this._transform = opts.transform;
-          if (opts.flush) this._flush = opts.flush;
+  }
+});
+
+// node_modules/undici/lib/cache/cachestorage.js
+var require_cachestorage3 = __commonJS({
+  "node_modules/undici/lib/cache/cachestorage.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols14();
+    var { Cache } = require_cache6();
+    var { webidl } = require_webidl3();
+    var { kEnumerableProperty } = require_util24();
+    var CacheStorage = class _CacheStorage {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
+       * @type {Map= this._readableState.highWaterMark) {
-          this._transformState.data = data;
+      async match(request2, options = {}) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.match" });
+        request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.MultiCacheQueryOptions(options);
+        if (options.cacheName != null) {
+          if (this.#caches.has(options.cacheName)) {
+            const cacheList = this.#caches.get(options.cacheName);
+            const cache = new Cache(kConstruct, cacheList);
+            return await cache.match(request2, options);
+          }
         } else {
-          this._transform(data, this._transformState.afterTransform);
+          for (const cacheList of this.#caches.values()) {
+            const cache = new Cache(kConstruct, cacheList);
+            const response = await cache.match(request2, options);
+            if (response !== void 0) {
+              return response;
+            }
+          }
         }
       }
-      _read(cb) {
-        if (this._transformState.data !== null) {
-          const data = this._transformState.data;
-          this._transformState.data = null;
-          cb(null);
-          this._transform(data, this._transformState.afterTransform);
-        } else {
-          cb(null);
-        }
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-has
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async has(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.has" });
+        cacheName = webidl.converters.DOMString(cacheName);
+        return this.#caches.has(cacheName);
       }
-      destroy(err) {
-        super.destroy(err);
-        if (this._transformState.data !== null) {
-          this._transformState.data = null;
-          this._transformState.afterTransform();
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async open(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.open" });
+        cacheName = webidl.converters.DOMString(cacheName);
+        if (this.#caches.has(cacheName)) {
+          const cache2 = this.#caches.get(cacheName);
+          return new Cache(kConstruct, cache2);
         }
+        const cache = [];
+        this.#caches.set(cacheName, cache);
+        return new Cache(kConstruct, cache);
       }
-      _transform(data, cb) {
-        cb(null, data);
-      }
-      _flush(cb) {
-        cb(null);
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-delete
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async delete(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.delete" });
+        cacheName = webidl.converters.DOMString(cacheName);
+        return this.#caches.delete(cacheName);
       }
-      _final(cb) {
-        this._transformState.afterFinal = cb;
-        this._flush(transformAfterFlush.bind(this));
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys
+       * @returns {string[]}
+       */
+      async keys() {
+        webidl.brandCheck(this, _CacheStorage);
+        const keys = this.#caches.keys();
+        return [...keys];
       }
     };
-    var PassThrough = class extends Transform {
+    Object.defineProperties(CacheStorage.prototype, {
+      [Symbol.toStringTag]: {
+        value: "CacheStorage",
+        configurable: true
+      },
+      match: kEnumerableProperty,
+      has: kEnumerableProperty,
+      open: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      keys: kEnumerableProperty
+    });
+    module2.exports = {
+      CacheStorage
     };
-    function transformAfterFlush(err, data) {
-      const cb = this._transformState.afterFinal;
-      if (err) return cb(err);
-      if (data !== null && data !== void 0) this.push(data);
-      this.push(null);
-      cb(null);
-    }
-    function pipelinePromise(...streams) {
-      return new Promise((resolve5, reject) => {
-        return pipeline(...streams, (err) => {
-          if (err) return reject(err);
-          resolve5();
-        });
-      });
-    }
-    function pipeline(stream, ...streams) {
-      const all = Array.isArray(stream) ? [...stream, ...streams] : [stream, ...streams];
-      const done = all.length && typeof all[all.length - 1] === "function" ? all.pop() : null;
-      if (all.length < 2) throw new Error("Pipeline requires at least 2 streams");
-      let src = all[0];
-      let dest = null;
-      let error3 = null;
-      for (let i = 1; i < all.length; i++) {
-        dest = all[i];
-        if (isStreamx(src)) {
-          src.pipe(dest, onerror);
-        } else {
-          errorHandle(src, true, i > 1, onerror);
-          src.pipe(dest);
-        }
-        src = dest;
+  }
+});
+
+// node_modules/undici/lib/cookies/constants.js
+var require_constants23 = __commonJS({
+  "node_modules/undici/lib/cookies/constants.js"(exports2, module2) {
+    "use strict";
+    var maxAttributeValueSize = 1024;
+    var maxNameValuePairSize = 4096;
+    module2.exports = {
+      maxAttributeValueSize,
+      maxNameValuePairSize
+    };
+  }
+});
+
+// node_modules/undici/lib/cookies/util.js
+var require_util29 = __commonJS({
+  "node_modules/undici/lib/cookies/util.js"(exports2, module2) {
+    "use strict";
+    function isCTLExcludingHtab(value) {
+      if (value.length === 0) {
+        return false;
       }
-      if (done) {
-        let fin = false;
-        const autoDestroy = isStreamx(dest) || !!(dest._writableState && dest._writableState.autoDestroy);
-        dest.on("error", (err) => {
-          if (error3 === null) error3 = err;
-        });
-        dest.on("finish", () => {
-          fin = true;
-          if (!autoDestroy) done(error3);
-        });
-        if (autoDestroy) {
-          dest.on("close", () => done(error3 || (fin ? null : PREMATURE_CLOSE)));
+      for (const char of value) {
+        const code = char.charCodeAt(0);
+        if (code >= 0 || code <= 8 || (code >= 10 || code <= 31) || code === 127) {
+          return false;
         }
       }
-      return dest;
-      function errorHandle(s, rd, wr, onerror2) {
-        s.on("error", onerror2);
-        s.on("close", onclose);
-        function onclose() {
-          if (rd && s._readableState && !s._readableState.ended) return onerror2(PREMATURE_CLOSE);
-          if (wr && s._writableState && !s._writableState.ended) return onerror2(PREMATURE_CLOSE);
+    }
+    function validateCookieName(name) {
+      for (const char of name) {
+        const code = char.charCodeAt(0);
+        if (code <= 32 || code > 127 || char === "(" || char === ")" || char === ">" || char === "<" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}") {
+          throw new Error("Invalid cookie name");
         }
       }
-      function onerror(err) {
-        if (!err || error3) return;
-        error3 = err;
-        for (const s of all) {
-          s.destroy(err);
+    }
+    function validateCookieValue(value) {
+      for (const char of value) {
+        const code = char.charCodeAt(0);
+        if (code < 33 || // exclude CTLs (0-31)
+        code === 34 || code === 44 || code === 59 || code === 92 || code > 126) {
+          throw new Error("Invalid header value");
         }
       }
     }
-    function echo(s) {
-      return s;
-    }
-    function isStream(stream) {
-      return !!stream._readableState || !!stream._writableState;
-    }
-    function isStreamx(stream) {
-      return typeof stream._duplexState === "number" && isStream(stream);
-    }
-    function isEnded(stream) {
-      return !!stream._readableState && stream._readableState.ended;
-    }
-    function isFinished(stream) {
-      return !!stream._writableState && stream._writableState.ended;
-    }
-    function getStreamError(stream, opts = {}) {
-      const err = stream._readableState && stream._readableState.error || stream._writableState && stream._writableState.error;
-      return !opts.all && err === STREAM_DESTROYED ? null : err;
-    }
-    function isReadStreamx(stream) {
-      return isStreamx(stream) && stream.readable;
-    }
-    function isTypedArray(data) {
-      return typeof data === "object" && data !== null && typeof data.byteLength === "number";
-    }
-    function defaultByteLength(data) {
-      return isTypedArray(data) ? data.byteLength : 1024;
+    function validateCookiePath(path7) {
+      for (const char of path7) {
+        const code = char.charCodeAt(0);
+        if (code < 33 || char === ";") {
+          throw new Error("Invalid cookie path");
+        }
+      }
     }
-    function noop3() {
+    function validateCookieDomain(domain) {
+      if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
+        throw new Error("Invalid cookie domain");
+      }
     }
-    function abort() {
-      this.destroy(new Error("Stream aborted."));
+    function toIMFDate(date) {
+      if (typeof date === "number") {
+        date = new Date(date);
+      }
+      const days = [
+        "Sun",
+        "Mon",
+        "Tue",
+        "Wed",
+        "Thu",
+        "Fri",
+        "Sat"
+      ];
+      const months = [
+        "Jan",
+        "Feb",
+        "Mar",
+        "Apr",
+        "May",
+        "Jun",
+        "Jul",
+        "Aug",
+        "Sep",
+        "Oct",
+        "Nov",
+        "Dec"
+      ];
+      const dayName = days[date.getUTCDay()];
+      const day = date.getUTCDate().toString().padStart(2, "0");
+      const month = months[date.getUTCMonth()];
+      const year = date.getUTCFullYear();
+      const hour = date.getUTCHours().toString().padStart(2, "0");
+      const minute = date.getUTCMinutes().toString().padStart(2, "0");
+      const second = date.getUTCSeconds().toString().padStart(2, "0");
+      return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`;
     }
-    function isWritev(s) {
-      return s._writev !== Writable.prototype._writev && s._writev !== Duplex.prototype._writev;
+    function validateCookieMaxAge(maxAge) {
+      if (maxAge < 0) {
+        throw new Error("Invalid cookie max-age");
+      }
     }
-    module2.exports = {
-      pipeline,
-      pipelinePromise,
-      isStream,
-      isStreamx,
-      isEnded,
-      isFinished,
-      getStreamError,
-      Stream,
-      Writable,
-      Readable,
-      Duplex,
-      Transform,
-      // Export PassThrough for compatibility with Node.js core's stream module
-      PassThrough
+    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/tar-stream/headers.js
-var require_headers3 = __commonJS({
-  "node_modules/tar-stream/headers.js"(exports2) {
-    var b4a = require_b4a();
-    var ZEROS = "0000000000000000000";
-    var SEVENS = "7777777777777777777";
-    var ZERO_OFFSET = "0".charCodeAt(0);
-    var USTAR_MAGIC = b4a.from([117, 115, 116, 97, 114, 0]);
-    var USTAR_VER = b4a.from([ZERO_OFFSET, ZERO_OFFSET]);
-    var GNU_MAGIC = b4a.from([117, 115, 116, 97, 114, 32]);
-    var GNU_VER = b4a.from([32, 0]);
-    var MASK = 4095;
-    var MAGIC_OFFSET = 257;
-    var VERSION_OFFSET = 263;
-    exports2.decodeLongPath = function decodeLongPath(buf, encoding) {
-      return decodeStr(buf, 0, buf.length, encoding);
-    };
-    exports2.encodePax = function encodePax(opts) {
-      let result = "";
-      if (opts.name) result += addLength(" path=" + opts.name + "\n");
-      if (opts.linkname) result += addLength(" linkpath=" + opts.linkname + "\n");
-      const pax = opts.pax;
-      if (pax) {
-        for (const key in pax) {
-          result += addLength(" " + key + "=" + pax[key] + "\n");
-        }
-      }
-      return b4a.from(result);
-    };
-    exports2.decodePax = function decodePax(buf) {
-      const result = {};
-      while (buf.length) {
-        let i = 0;
-        while (i < buf.length && buf[i] !== 32) i++;
-        const len = parseInt(b4a.toString(buf.subarray(0, i)), 10);
-        if (!len) return result;
-        const b = b4a.toString(buf.subarray(i + 1, len - 1));
-        const keyIndex = b.indexOf("=");
-        if (keyIndex === -1) return result;
-        result[b.slice(0, keyIndex)] = b.slice(keyIndex + 1);
-        buf = buf.subarray(len);
+// node_modules/undici/lib/cookies/parse.js
+var require_parse4 = __commonJS({
+  "node_modules/undici/lib/cookies/parse.js"(exports2, module2) {
+    "use strict";
+    var { maxNameValuePairSize, maxAttributeValueSize } = require_constants23();
+    var { isCTLExcludingHtab } = require_util29();
+    var { collectASequenceOfCodePointsFast } = require_dataURL();
+    var assert = require("assert");
+    function parseSetCookie(header) {
+      if (isCTLExcludingHtab(header)) {
+        return null;
       }
-      return result;
-    };
-    exports2.encode = function encode(opts) {
-      const buf = b4a.alloc(512);
-      let name = opts.name;
-      let prefix = "";
-      if (opts.typeflag === 5 && name[name.length - 1] !== "/") name += "/";
-      if (b4a.byteLength(name) !== name.length) return null;
-      while (b4a.byteLength(name) > 100) {
-        const i = name.indexOf("/");
-        if (i === -1) return null;
-        prefix += prefix ? "/" + name.slice(0, i) : name.slice(0, i);
-        name = name.slice(i + 1);
+      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 (b4a.byteLength(name) > 100 || b4a.byteLength(prefix) > 155) return null;
-      if (opts.linkname && b4a.byteLength(opts.linkname) > 100) return null;
-      b4a.write(buf, name);
-      b4a.write(buf, encodeOct(opts.mode & MASK, 6), 100);
-      b4a.write(buf, encodeOct(opts.uid, 6), 108);
-      b4a.write(buf, encodeOct(opts.gid, 6), 116);
-      encodeSize(opts.size, buf, 124);
-      b4a.write(buf, encodeOct(opts.mtime.getTime() / 1e3 | 0, 11), 136);
-      buf[156] = ZERO_OFFSET + toTypeflag(opts.type);
-      if (opts.linkname) b4a.write(buf, opts.linkname, 157);
-      b4a.copy(USTAR_MAGIC, buf, MAGIC_OFFSET);
-      b4a.copy(USTAR_VER, buf, VERSION_OFFSET);
-      if (opts.uname) b4a.write(buf, opts.uname, 265);
-      if (opts.gname) b4a.write(buf, opts.gname, 297);
-      b4a.write(buf, encodeOct(opts.devmajor || 0, 6), 329);
-      b4a.write(buf, encodeOct(opts.devminor || 0, 6), 337);
-      if (prefix) b4a.write(buf, prefix, 345);
-      b4a.write(buf, encodeOct(cksum(buf), 6), 148);
-      return buf;
-    };
-    exports2.decode = function decode(buf, filenameEncoding, allowUnknownFormat) {
-      let typeflag = buf[156] === 0 ? 0 : buf[156] - ZERO_OFFSET;
-      let name = decodeStr(buf, 0, 100, filenameEncoding);
-      const mode = decodeOct(buf, 100, 8);
-      const uid = decodeOct(buf, 108, 8);
-      const gid = decodeOct(buf, 116, 8);
-      const size = decodeOct(buf, 124, 12);
-      const mtime = decodeOct(buf, 136, 12);
-      const type2 = toType(typeflag);
-      const linkname = buf[157] === 0 ? null : decodeStr(buf, 157, 100, filenameEncoding);
-      const uname = decodeStr(buf, 265, 32);
-      const gname = decodeStr(buf, 297, 32);
-      const devmajor = decodeOct(buf, 329, 8);
-      const devminor = decodeOct(buf, 337, 8);
-      const c = cksum(buf);
-      if (c === 8 * 32) return null;
-      if (c !== decodeOct(buf, 148, 8)) throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");
-      if (isUSTAR(buf)) {
-        if (buf[345]) name = decodeStr(buf, 345, 155, filenameEncoding) + "/" + name;
-      } else if (isGNU(buf)) {
+      if (!nameValuePair.includes("=")) {
+        value = nameValuePair;
       } else {
-        if (!allowUnknownFormat) {
-          throw new Error("Invalid tar header: unknown format.");
-        }
+        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;
       }
-      if (typeflag === 0 && name && name[name.length - 1] === "/") typeflag = 5;
       return {
         name,
-        mode,
-        uid,
-        gid,
-        size,
-        mtime: new Date(1e3 * mtime),
-        type: type2,
-        linkname,
-        uname,
-        gname,
-        devmajor,
-        devminor,
-        pax: null
+        value,
+        ...parseUnparsedAttributes(unparsedAttributes)
       };
-    };
-    function isUSTAR(buf) {
-      return b4a.equals(USTAR_MAGIC, buf.subarray(MAGIC_OFFSET, MAGIC_OFFSET + 6));
-    }
-    function isGNU(buf) {
-      return b4a.equals(GNU_MAGIC, buf.subarray(MAGIC_OFFSET, MAGIC_OFFSET + 6)) && b4a.equals(GNU_VER, buf.subarray(VERSION_OFFSET, VERSION_OFFSET + 2));
     }
-    function clamp(index, len, defaultValue) {
-      if (typeof index !== "number") return defaultValue;
-      index = ~~index;
-      if (index >= len) return len;
-      if (index >= 0) return index;
-      index += len;
-      if (index >= 0) return index;
-      return 0;
-    }
-    function toType(flag) {
-      switch (flag) {
-        case 0:
-          return "file";
-        case 1:
-          return "link";
-        case 2:
-          return "symlink";
-        case 3:
-          return "character-device";
-        case 4:
-          return "block-device";
-        case 5:
-          return "directory";
-        case 6:
-          return "fifo";
-        case 7:
-          return "contiguous-file";
-        case 72:
-          return "pax-header";
-        case 55:
-          return "pax-global-header";
-        case 27:
-          return "gnu-long-link-path";
-        case 28:
-        case 30:
-          return "gnu-long-path";
+    function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) {
+      if (unparsedAttributes.length === 0) {
+        return cookieAttributeList;
       }
-      return null;
-    }
-    function toTypeflag(flag) {
-      switch (flag) {
-        case "file":
-          return 0;
-        case "link":
-          return 1;
-        case "symlink":
-          return 2;
-        case "character-device":
-          return 3;
-        case "block-device":
-          return 4;
-        case "directory":
-          return 5;
-        case "fifo":
-          return 6;
-        case "contiguous-file":
-          return 7;
-        case "pax-header":
-          return 72;
+      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 = "";
       }
-      return 0;
-    }
-    function indexOf(block, num, offset, end) {
-      for (; offset < end; offset++) {
-        if (block[offset] === num) return offset;
+      let attributeName = "";
+      let attributeValue = "";
+      if (cookieAv.includes("=")) {
+        const position = { position: 0 };
+        attributeName = collectASequenceOfCodePointsFast(
+          "=",
+          cookieAv,
+          position
+        );
+        attributeValue = cookieAv.slice(position.position + 1);
+      } else {
+        attributeName = cookieAv;
       }
-      return end;
-    }
-    function cksum(block) {
-      let sum = 8 * 32;
-      for (let i = 0; i < 148; i++) sum += block[i];
-      for (let j = 156; j < 512; j++) sum += block[j];
-      return sum;
-    }
-    function encodeOct(val, n) {
-      val = val.toString(8);
-      if (val.length > n) return SEVENS.slice(0, n) + " ";
-      return ZEROS.slice(0, n - val.length) + val + " ";
-    }
-    function encodeSizeBin(num, buf, off) {
-      buf[off] = 128;
-      for (let i = 11; i > 0; i--) {
-        buf[off + i] = num & 255;
-        num = Math.floor(num / 256);
+      attributeName = attributeName.trim();
+      attributeValue = attributeValue.trim();
+      if (attributeValue.length > maxAttributeValueSize) {
+        return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
       }
-    }
-    function encodeSize(num, buf, off) {
-      if (num.toString(8).length > 11) {
-        encodeSizeBin(num, buf, off);
+      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 {
-        b4a.write(buf, encodeOct(num, 11), off);
+        cookieAttributeList.unparsed ??= [];
+        cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`);
       }
+      return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
     }
-    function parse256(buf) {
-      let positive;
-      if (buf[0] === 128) positive = true;
-      else if (buf[0] === 255) positive = false;
-      else return null;
-      const tuple = [];
-      let i;
-      for (i = buf.length - 1; i > 0; i--) {
-        const byte = buf[i];
-        if (positive) tuple.push(byte);
-        else tuple.push(255 - byte);
+    module2.exports = {
+      parseSetCookie,
+      parseUnparsedAttributes
+    };
+  }
+});
+
+// node_modules/undici/lib/cookies/index.js
+var require_cookies3 = __commonJS({
+  "node_modules/undici/lib/cookies/index.js"(exports2, module2) {
+    "use strict";
+    var { parseSetCookie } = require_parse4();
+    var { stringify } = require_util29();
+    var { webidl } = require_webidl3();
+    var { Headers } = require_headers4();
+    function getCookies(headers) {
+      webidl.argumentLengthCheck(arguments, 1, { header: "getCookies" });
+      webidl.brandCheck(headers, Headers, { strict: false });
+      const cookie = headers.get("cookie");
+      const out = {};
+      if (!cookie) {
+        return out;
       }
-      let sum = 0;
-      const l = tuple.length;
-      for (i = 0; i < l; i++) {
-        sum += tuple[i] * Math.pow(256, i);
+      for (const piece of cookie.split(";")) {
+        const [name, ...value] = piece.split("=");
+        out[name.trim()] = value.join("=");
       }
-      return positive ? sum : -1 * sum;
+      return out;
     }
-    function decodeOct(val, offset, length) {
-      val = val.subarray(offset, offset + length);
-      offset = 0;
-      if (val[offset] & 128) {
-        return parse256(val);
-      } else {
-        while (offset < val.length && val[offset] === 32) offset++;
-        const end = clamp(indexOf(val, 32, offset, val.length), val.length, val.length);
-        while (offset < end && val[offset] === 0) offset++;
-        if (end === offset) return 0;
-        return parseInt(b4a.toString(val.subarray(offset, end)), 8);
-      }
+    function deleteCookie(headers, name, attributes) {
+      webidl.argumentLengthCheck(arguments, 2, { header: "deleteCookie" });
+      webidl.brandCheck(headers, Headers, { strict: false });
+      name = webidl.converters.DOMString(name);
+      attributes = webidl.converters.DeleteCookieAttributes(attributes);
+      setCookie(headers, {
+        name,
+        value: "",
+        expires: /* @__PURE__ */ new Date(0),
+        ...attributes
+      });
     }
-    function decodeStr(val, offset, length, encoding) {
-      return b4a.toString(val.subarray(offset, indexOf(val, 0, offset, offset + length)), encoding);
+    function getSetCookies(headers) {
+      webidl.argumentLengthCheck(arguments, 1, { header: "getSetCookies" });
+      webidl.brandCheck(headers, Headers, { strict: false });
+      const cookies = headers.getSetCookie();
+      if (!cookies) {
+        return [];
+      }
+      return cookies.map((pair) => parseSetCookie(pair));
     }
-    function addLength(str2) {
-      const len = b4a.byteLength(str2);
-      let digits = Math.floor(Math.log(len) / Math.log(10)) + 1;
-      if (len + digits >= Math.pow(10, digits)) digits++;
-      return len + digits + str2;
+    function setCookie(headers, cookie) {
+      webidl.argumentLengthCheck(arguments, 2, { header: "setCookie" });
+      webidl.brandCheck(headers, Headers, { strict: false });
+      cookie = webidl.converters.Cookie(cookie);
+      const str2 = stringify(cookie);
+      if (str2) {
+        headers.append("Set-Cookie", stringify(cookie));
+      }
     }
+    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: []
+      }
+    ]);
+    module2.exports = {
+      getCookies,
+      deleteCookie,
+      getSetCookies,
+      setCookie
+    };
   }
 });
 
-// node_modules/tar-stream/extract.js
-var require_extract = __commonJS({
-  "node_modules/tar-stream/extract.js"(exports2, module2) {
-    var { Writable, Readable, getStreamError } = require_streamx();
-    var FIFO = require_fast_fifo();
-    var b4a = require_b4a();
-    var headers = require_headers3();
-    var EMPTY = b4a.alloc(0);
-    var BufferList = class {
-      constructor() {
-        this.buffered = 0;
-        this.shifted = 0;
-        this.queue = new FIFO();
-        this._offset = 0;
-      }
-      push(buffer) {
-        this.buffered += buffer.byteLength;
-        this.queue.push(buffer);
-      }
-      shiftFirst(size) {
-        return this._buffered === 0 ? null : this._next(size);
-      }
-      shift(size) {
-        if (size > this.buffered) return null;
-        if (size === 0) return EMPTY;
-        let chunk = this._next(size);
-        if (size === chunk.byteLength) return chunk;
-        const chunks = [chunk];
-        while ((size -= chunk.byteLength) > 0) {
-          chunk = this._next(size);
-          chunks.push(chunk);
-        }
-        return b4a.concat(chunks);
+// node_modules/undici/lib/websocket/constants.js
+var require_constants24 = __commonJS({
+  "node_modules/undici/lib/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 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);
+    module2.exports = {
+      uid,
+      staticPropertyDescriptors,
+      states,
+      opcodes,
+      maxUnsigned16Bit,
+      parserStates,
+      emptyBuffer
+    };
+  }
+});
+
+// node_modules/undici/lib/websocket/symbols.js
+var require_symbols15 = __commonJS({
+  "node_modules/undici/lib/websocket/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
+      kReadyState: /* @__PURE__ */ Symbol("ready state"),
+      kController: /* @__PURE__ */ Symbol("controller"),
+      kResponse: /* @__PURE__ */ Symbol("response"),
+      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
+      kSentClose: /* @__PURE__ */ Symbol("sent close"),
+      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
+      kByteParser: /* @__PURE__ */ Symbol("byte parser")
+    };
+  }
+});
+
+// node_modules/undici/lib/websocket/events.js
+var require_events3 = __commonJS({
+  "node_modules/undici/lib/websocket/events.js"(exports2, module2) {
+    "use strict";
+    var { webidl } = require_webidl3();
+    var { kEnumerableProperty } = require_util24();
+    var { MessagePort } = require("worker_threads");
+    var MessageEvent = class _MessageEvent extends Event {
+      #eventInit;
+      constructor(type2, eventInitDict = {}) {
+        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" });
+        type2 = webidl.converters.DOMString(type2);
+        eventInitDict = webidl.converters.MessageEventInit(eventInitDict);
+        super(type2, eventInitDict);
+        this.#eventInit = eventInitDict;
       }
-      _next(size) {
-        const buf = this.queue.peek();
-        const rem = buf.byteLength - this._offset;
-        if (size >= rem) {
-          const sub = this._offset ? buf.subarray(this._offset, buf.byteLength) : buf;
-          this.queue.shift();
-          this._offset = 0;
-          this.buffered -= rem;
-          this.shifted += rem;
-          return sub;
-        }
-        this.buffered -= size;
-        this.shifted += size;
-        return buf.subarray(this._offset, this._offset += size);
+      get data() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.data;
       }
-    };
-    var Source = class extends Readable {
-      constructor(self2, header, offset) {
-        super();
-        this.header = header;
-        this.offset = offset;
-        this._parent = self2;
+      get origin() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.origin;
       }
-      _read(cb) {
-        if (this.header.size === 0) {
-          this.push(null);
-        }
-        if (this._parent._stream === this) {
-          this._parent._update();
-        }
-        cb(null);
+      get lastEventId() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.lastEventId;
       }
-      _predestroy() {
-        this._parent.destroy(getStreamError(this));
+      get source() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.source;
       }
-      _detach() {
-        if (this._parent._stream === this) {
-          this._parent._stream = null;
-          this._parent._missing = overflow(this.header.size);
-          this._parent._update();
+      get ports() {
+        webidl.brandCheck(this, _MessageEvent);
+        if (!Object.isFrozen(this.#eventInit.ports)) {
+          Object.freeze(this.#eventInit.ports);
         }
+        return this.#eventInit.ports;
       }
-      _destroy(cb) {
-        this._detach();
-        cb(null);
+      initMessageEvent(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
+        webidl.brandCheck(this, _MessageEvent);
+        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent.initMessageEvent" });
+        return new _MessageEvent(type2, {
+          bubbles,
+          cancelable,
+          data,
+          origin,
+          lastEventId,
+          source,
+          ports
+        });
       }
     };
-    var Extract = class extends Writable {
-      constructor(opts) {
-        super(opts);
-        if (!opts) opts = {};
-        this._buffer = new BufferList();
-        this._offset = 0;
-        this._header = null;
-        this._stream = null;
-        this._missing = 0;
-        this._longHeader = false;
-        this._callback = noop3;
-        this._locked = false;
-        this._finished = false;
-        this._pax = null;
-        this._paxGlobal = null;
-        this._gnuLongPath = null;
-        this._gnuLongLinkPath = null;
-        this._filenameEncoding = opts.filenameEncoding || "utf-8";
-        this._allowUnknownFormat = !!opts.allowUnknownFormat;
-        this._unlockBound = this._unlock.bind(this);
-      }
-      _unlock(err) {
-        this._locked = false;
-        if (err) {
-          this.destroy(err);
-          this._continueWrite(err);
-          return;
-        }
-        this._update();
+    var CloseEvent = class _CloseEvent extends Event {
+      #eventInit;
+      constructor(type2, eventInitDict = {}) {
+        webidl.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" });
+        type2 = webidl.converters.DOMString(type2);
+        eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
+        super(type2, eventInitDict);
+        this.#eventInit = eventInitDict;
       }
-      _consumeHeader() {
-        if (this._locked) return false;
-        this._offset = this._buffer.shifted;
-        try {
-          this._header = headers.decode(this._buffer.shift(512), this._filenameEncoding, this._allowUnknownFormat);
-        } catch (err) {
-          this._continueWrite(err);
-          return false;
-        }
-        if (!this._header) return true;
-        switch (this._header.type) {
-          case "gnu-long-path":
-          case "gnu-long-link-path":
-          case "pax-global-header":
-          case "pax-header":
-            this._longHeader = true;
-            this._missing = this._header.size;
-            return true;
-        }
-        this._locked = true;
-        this._applyLongHeaders();
-        if (this._header.size === 0 || this._header.type === "directory") {
-          this.emit("entry", this._header, this._createStream(), this._unlockBound);
-          return true;
-        }
-        this._stream = this._createStream();
-        this._missing = this._header.size;
-        this.emit("entry", this._header, this._stream, this._unlockBound);
-        return true;
+      get wasClean() {
+        webidl.brandCheck(this, _CloseEvent);
+        return this.#eventInit.wasClean;
       }
-      _applyLongHeaders() {
-        if (this._gnuLongPath) {
-          this._header.name = this._gnuLongPath;
-          this._gnuLongPath = null;
-        }
-        if (this._gnuLongLinkPath) {
-          this._header.linkname = this._gnuLongLinkPath;
-          this._gnuLongLinkPath = null;
-        }
-        if (this._pax) {
-          if (this._pax.path) this._header.name = this._pax.path;
-          if (this._pax.linkpath) this._header.linkname = this._pax.linkpath;
-          if (this._pax.size) this._header.size = parseInt(this._pax.size, 10);
-          this._header.pax = this._pax;
-          this._pax = null;
-        }
+      get code() {
+        webidl.brandCheck(this, _CloseEvent);
+        return this.#eventInit.code;
       }
-      _decodeLongHeader(buf) {
-        switch (this._header.type) {
-          case "gnu-long-path":
-            this._gnuLongPath = headers.decodeLongPath(buf, this._filenameEncoding);
-            break;
-          case "gnu-long-link-path":
-            this._gnuLongLinkPath = headers.decodeLongPath(buf, this._filenameEncoding);
-            break;
-          case "pax-global-header":
-            this._paxGlobal = headers.decodePax(buf);
-            break;
-          case "pax-header":
-            this._pax = this._paxGlobal === null ? headers.decodePax(buf) : Object.assign({}, this._paxGlobal, headers.decodePax(buf));
-            break;
-        }
+      get reason() {
+        webidl.brandCheck(this, _CloseEvent);
+        return this.#eventInit.reason;
       }
-      _consumeLongHeader() {
-        this._longHeader = false;
-        this._missing = overflow(this._header.size);
-        const buf = this._buffer.shift(this._header.size);
-        try {
-          this._decodeLongHeader(buf);
-        } catch (err) {
-          this._continueWrite(err);
-          return false;
-        }
-        return true;
+    };
+    var ErrorEvent = class _ErrorEvent extends Event {
+      #eventInit;
+      constructor(type2, eventInitDict) {
+        webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" });
+        super(type2, eventInitDict);
+        type2 = webidl.converters.DOMString(type2);
+        eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});
+        this.#eventInit = eventInitDict;
       }
-      _consumeStream() {
-        const buf = this._buffer.shiftFirst(this._missing);
-        if (buf === null) return false;
-        this._missing -= buf.byteLength;
-        const drained = this._stream.push(buf);
-        if (this._missing === 0) {
-          this._stream.push(null);
-          if (drained) this._stream._detach();
-          return drained && this._locked === false;
-        }
-        return drained;
+      get message() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.message;
       }
-      _createStream() {
-        return new Source(this, this._header, this._offset);
+      get filename() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.filename;
       }
-      _update() {
-        while (this._buffer.buffered > 0 && !this.destroying) {
-          if (this._missing > 0) {
-            if (this._stream !== null) {
-              if (this._consumeStream() === false) return;
-              continue;
-            }
-            if (this._longHeader === true) {
-              if (this._missing > this._buffer.buffered) break;
-              if (this._consumeLongHeader() === false) return false;
-              continue;
-            }
-            const ignore = this._buffer.shiftFirst(this._missing);
-            if (ignore !== null) this._missing -= ignore.byteLength;
-            continue;
-          }
-          if (this._buffer.buffered < 512) break;
-          if (this._stream !== null || this._consumeHeader() === false) return;
-        }
-        this._continueWrite(null);
+      get lineno() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.lineno;
       }
-      _continueWrite(err) {
-        const cb = this._callback;
-        this._callback = noop3;
-        cb(err);
+      get colno() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.colno;
       }
-      _write(data, cb) {
-        this._callback = cb;
-        this._buffer.push(data);
-        this._update();
+      get error() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.error;
       }
-      _final(cb) {
-        this._finished = this._missing === 0 && this._buffer.buffered === 0;
-        cb(this._finished ? null : new Error("Unexpected end of data"));
+    };
+    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
       }
-      _predestroy() {
-        this._continueWrite(null);
+    ];
+    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"],
+        get defaultValue() {
+          return [];
+        }
       }
-      _destroy(cb) {
-        if (this._stream) this._stream.destroy(getStreamError(this));
-        cb(null);
+    ]);
+    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: ""
       }
-      [Symbol.asyncIterator]() {
-        let error3 = null;
-        let promiseResolve = null;
-        let promiseReject = null;
-        let entryStream = null;
-        let entryCallback = null;
-        const extract2 = this;
-        this.on("entry", onentry);
-        this.on("error", (err) => {
-          error3 = err;
-        });
-        this.on("close", onclose);
-        return {
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          next() {
-            return new Promise(onnext);
-          },
-          return() {
-            return destroy(null);
-          },
-          throw(err) {
-            return destroy(err);
-          }
-        };
-        function consumeCallback(err) {
-          if (!entryCallback) return;
-          const cb = entryCallback;
-          entryCallback = null;
-          cb(err);
-        }
-        function onnext(resolve5, reject) {
-          if (error3) {
-            return reject(error3);
-          }
-          if (entryStream) {
-            resolve5({ value: entryStream, done: false });
-            entryStream = null;
-            return;
-          }
-          promiseResolve = resolve5;
-          promiseReject = reject;
-          consumeCallback(null);
-          if (extract2._finished && promiseResolve) {
-            promiseResolve({ value: void 0, done: true });
-            promiseResolve = promiseReject = null;
-          }
-        }
-        function onentry(header, stream, callback) {
-          entryCallback = callback;
-          stream.on("error", noop3);
-          if (promiseResolve) {
-            promiseResolve({ value: stream, done: false });
-            promiseResolve = promiseReject = null;
-          } else {
-            entryStream = stream;
-          }
-        }
-        function onclose() {
-          consumeCallback(error3);
-          if (!promiseResolve) return;
-          if (error3) promiseReject(error3);
-          else promiseResolve({ value: void 0, done: true });
-          promiseResolve = promiseReject = null;
-        }
-        function destroy(err) {
-          extract2.destroy(err);
-          consumeCallback(err);
-          return new Promise((resolve5, reject) => {
-            if (extract2.destroyed) return resolve5({ value: void 0, done: true });
-            extract2.once("close", function() {
-              if (err) reject(err);
-              else resolve5({ value: void 0, done: true });
-            });
-          });
-        }
+    ]);
+    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
     };
-    module2.exports = function extract2(opts) {
-      return new Extract(opts);
-    };
-    function noop3() {
-    }
-    function overflow(size) {
-      size &= 511;
-      return size && 512 - size;
-    }
   }
 });
 
-// node_modules/tar-stream/constants.js
-var require_constants19 = __commonJS({
-  "node_modules/tar-stream/constants.js"(exports2, module2) {
-    var constants = {
-      // just for envs without fs
-      S_IFMT: 61440,
-      S_IFDIR: 16384,
-      S_IFCHR: 8192,
-      S_IFBLK: 24576,
-      S_IFIFO: 4096,
-      S_IFLNK: 40960
-    };
-    try {
-      module2.exports = require("fs").constants || constants;
-    } catch {
-      module2.exports = constants;
+// node_modules/undici/lib/websocket/util.js
+var require_util30 = __commonJS({
+  "node_modules/undici/lib/websocket/util.js"(exports2, module2) {
+    "use strict";
+    var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols15();
+    var { states, opcodes } = require_constants24();
+    var { MessageEvent, ErrorEvent } = require_events3();
+    function isEstablished(ws) {
+      return ws[kReadyState] === states.OPEN;
     }
-  }
-});
-
-// node_modules/tar-stream/pack.js
-var require_pack = __commonJS({
-  "node_modules/tar-stream/pack.js"(exports2, module2) {
-    var { Readable, Writable, getStreamError } = require_streamx();
-    var b4a = require_b4a();
-    var constants = require_constants19();
-    var headers = require_headers3();
-    var DMODE = 493;
-    var FMODE = 420;
-    var END_OF_TAR = b4a.alloc(1024);
-    var Sink = class extends Writable {
-      constructor(pack, header, callback) {
-        super({ mapWritable, eagerOpen: true });
-        this.written = 0;
-        this.header = header;
-        this._callback = callback;
-        this._linkname = null;
-        this._isLinkname = header.type === "symlink" && !header.linkname;
-        this._isVoid = header.type !== "file" && header.type !== "contiguous-file";
-        this._finished = false;
-        this._pack = pack;
-        this._openCallback = null;
-        if (this._pack._stream === null) this._pack._stream = this;
-        else this._pack._pending.push(this);
-      }
-      _open(cb) {
-        this._openCallback = cb;
-        if (this._pack._stream === this) this._continueOpen();
-      }
-      _continuePack(err) {
-        if (this._callback === null) return;
-        const callback = this._callback;
-        this._callback = null;
-        callback(err);
-      }
-      _continueOpen() {
-        if (this._pack._stream === null) this._pack._stream = this;
-        const cb = this._openCallback;
-        this._openCallback = null;
-        if (cb === null) return;
-        if (this._pack.destroying) return cb(new Error("pack stream destroyed"));
-        if (this._pack._finalized) return cb(new Error("pack stream is already finalized"));
-        this._pack._stream = this;
-        if (!this._isLinkname) {
-          this._pack._encode(this.header);
-        }
-        if (this._isVoid) {
-          this._finish();
-          this._continuePack(null);
-        }
-        cb(null);
+    function isClosing(ws) {
+      return ws[kReadyState] === states.CLOSING;
+    }
+    function isClosed(ws) {
+      return ws[kReadyState] === states.CLOSED;
+    }
+    function fireEvent(e, target, eventConstructor = Event, eventInitDict) {
+      const event = new eventConstructor(e, eventInitDict);
+      target.dispatchEvent(event);
+    }
+    function websocketMessageReceived(ws, type2, data) {
+      if (ws[kReadyState] !== states.OPEN) {
+        return;
       }
-      _write(data, cb) {
-        if (this._isLinkname) {
-          this._linkname = this._linkname ? b4a.concat([this._linkname, data]) : data;
-          return cb(null);
+      let dataForEvent;
+      if (type2 === opcodes.TEXT) {
+        try {
+          dataForEvent = new TextDecoder("utf-8", { fatal: true }).decode(data);
+        } catch {
+          failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
+          return;
         }
-        if (this._isVoid) {
-          if (data.byteLength > 0) {
-            return cb(new Error("No body allowed for this entry"));
-          }
-          return cb();
+      } else if (type2 === opcodes.BINARY) {
+        if (ws[kBinaryType] === "blob") {
+          dataForEvent = new Blob([data]);
+        } else {
+          dataForEvent = new Uint8Array(data).buffer;
         }
-        this.written += data.byteLength;
-        if (this._pack.push(data)) return cb();
-        this._pack._drain = cb;
       }
-      _finish() {
-        if (this._finished) return;
-        this._finished = true;
-        if (this._isLinkname) {
-          this.header.linkname = this._linkname ? b4a.toString(this._linkname, "utf-8") : "";
-          this._pack._encode(this.header);
-        }
-        overflow(this._pack, this.header.size);
-        this._pack._done(this);
+      fireEvent("message", ws, MessageEvent, {
+        origin: ws[kWebSocketURL].origin,
+        data: dataForEvent
+      });
+    }
+    function isValidSubprotocol(protocol) {
+      if (protocol.length === 0) {
+        return false;
       }
-      _final(cb) {
-        if (this.written !== this.header.size) {
-          return cb(new Error("Size mismatch"));
+      for (const char of protocol) {
+        const code = char.charCodeAt(0);
+        if (code < 33 || code > 126 || char === "(" || char === ")" || char === "<" || char === ">" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}" || code === 32 || // SP
+        code === 9) {
+          return false;
         }
-        this._finish();
-        cb(null);
       }
-      _getError() {
-        return getStreamError(this) || new Error("tar entry destroyed");
+      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;
       }
-      _predestroy() {
-        this._pack.destroy(this._getError());
+      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();
       }
-      _destroy(cb) {
-        this._pack._done(this);
-        this._continuePack(this._finished ? null : this._getError());
-        cb();
+      if (reason) {
+        fireEvent("error", ws, ErrorEvent, {
+          error: new Error(reason)
+        });
       }
+    }
+    module2.exports = {
+      isEstablished,
+      isClosing,
+      isClosed,
+      fireEvent,
+      isValidSubprotocol,
+      isValidStatusCode,
+      failWebsocketConnection,
+      websocketMessageReceived
     };
-    var Pack = class extends Readable {
-      constructor(opts) {
-        super(opts);
-        this._drain = noop3;
-        this._finalized = false;
-        this._finalizing = false;
-        this._pending = [];
-        this._stream = null;
-      }
-      entry(header, buffer, callback) {
-        if (this._finalized || this.destroying) throw new Error("already finalized or destroyed");
-        if (typeof buffer === "function") {
-          callback = buffer;
-          buffer = null;
-        }
-        if (!callback) callback = noop3;
-        if (!header.size || header.type === "symlink") header.size = 0;
-        if (!header.type) header.type = modeToType(header.mode);
-        if (!header.mode) header.mode = header.type === "directory" ? DMODE : FMODE;
-        if (!header.uid) header.uid = 0;
-        if (!header.gid) header.gid = 0;
-        if (!header.mtime) header.mtime = /* @__PURE__ */ new Date();
-        if (typeof buffer === "string") buffer = b4a.from(buffer);
-        const sink = new Sink(this, header, callback);
-        if (b4a.isBuffer(buffer)) {
-          header.size = buffer.byteLength;
-          sink.write(buffer);
-          sink.end();
-          return sink;
-        }
-        if (sink._isVoid) {
-          return sink;
-        }
-        return sink;
-      }
-      finalize() {
-        if (this._stream || this._pending.length > 0) {
-          this._finalizing = true;
-          return;
-        }
-        if (this._finalized) return;
-        this._finalized = true;
-        this.push(END_OF_TAR);
-        this.push(null);
+  }
+});
+
+// node_modules/undici/lib/websocket/connection.js
+var require_connection3 = __commonJS({
+  "node_modules/undici/lib/websocket/connection.js"(exports2, module2) {
+    "use strict";
+    var diagnosticsChannel = require("diagnostics_channel");
+    var { uid, states } = require_constants24();
+    var {
+      kReadyState,
+      kSentClose,
+      kByteParser,
+      kReceivedClose
+    } = require_symbols15();
+    var { fireEvent, failWebsocketConnection } = require_util30();
+    var { CloseEvent } = require_events3();
+    var { makeRequest } = require_request6();
+    var { fetching } = require_fetch3();
+    var { Headers } = require_headers4();
+    var { getGlobalDispatcher } = require_global6();
+    var { kHeadersList } = require_symbols11();
+    var channels = {};
+    channels.open = diagnosticsChannel.channel("undici:websocket:open");
+    channels.close = diagnosticsChannel.channel("undici:websocket:close");
+    channels.socketError = diagnosticsChannel.channel("undici:websocket:socket_error");
+    var crypto2;
+    try {
+      crypto2 = require("crypto");
+    } catch {
+    }
+    function establishWebSocketConnection(url, protocols, ws, onEstablish, options) {
+      const requestURL = url;
+      requestURL.protocol = url.protocol === "ws:" ? "http:" : "https:";
+      const request2 = makeRequest({
+        urlList: [requestURL],
+        serviceWorkers: "none",
+        referrer: "no-referrer",
+        mode: "websocket",
+        credentials: "include",
+        cache: "no-store",
+        redirect: "error"
+      });
+      if (options.headers) {
+        const headersList = new Headers(options.headers)[kHeadersList];
+        request2.headersList = headersList;
       }
-      _done(stream) {
-        if (stream !== this._stream) return;
-        this._stream = null;
-        if (this._finalizing) this.finalize();
-        if (this._pending.length) this._pending.shift()._continueOpen();
+      const keyValue = crypto2.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);
       }
-      _encode(header) {
-        if (!header.pax) {
-          const buf = headers.encode(header);
-          if (buf) {
-            this.push(buf);
+      const permessageDeflate = "";
+      const controller = fetching({
+        request: request2,
+        useParallelQueue: true,
+        dispatcher: options.dispatcher ?? getGlobalDispatcher(),
+        processResponse(response) {
+          if (response.type === "error" || response.status !== 101) {
+            failWebsocketConnection(ws, "Received network error or non-101 status code.");
             return;
           }
+          if (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 = crypto2.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");
+          if (secExtension !== null && secExtension !== permessageDeflate) {
+            failWebsocketConnection(ws, "Received different permessage-deflate than the one set.");
+            return;
+          }
+          const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");
+          if (secProtocol !== null && secProtocol !== request2.headersList.get("Sec-WebSocket-Protocol")) {
+            failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");
+            return;
+          }
+          response.socket.on("data", onSocketData);
+          response.socket.on("close", onSocketClose);
+          response.socket.on("error", onSocketError);
+          if (channels.open.hasSubscribers) {
+            channels.open.publish({
+              address: response.socket.address(),
+              protocol: secProtocol,
+              extensions: secExtension
+            });
+          }
+          onEstablish(response);
         }
-        this._encodePax(header);
-      }
-      _encodePax(header) {
-        const paxHeader = headers.encodePax({
-          name: header.name,
-          linkname: header.linkname,
-          pax: header.pax
-        });
-        const newHeader = {
-          name: "PaxHeader",
-          mode: header.mode,
-          uid: header.uid,
-          gid: header.gid,
-          size: paxHeader.byteLength,
-          mtime: header.mtime,
-          type: "pax-header",
-          linkname: header.linkname && "PaxHeader",
-          uname: header.uname,
-          gname: header.gname,
-          devmajor: header.devmajor,
-          devminor: header.devminor
-        };
-        this.push(headers.encode(newHeader));
-        this.push(paxHeader);
-        overflow(this, paxHeader.byteLength);
-        newHeader.size = header.size;
-        newHeader.type = header.type;
-        this.push(headers.encode(newHeader));
-      }
-      _doDrain() {
-        const drain = this._drain;
-        this._drain = noop3;
-        drain();
-      }
-      _predestroy() {
-        const err = getStreamError(this);
-        if (this._stream) this._stream.destroy(err);
-        while (this._pending.length) {
-          const stream = this._pending.shift();
-          stream.destroy(err);
-          stream._continueOpen();
-        }
-        this._doDrain();
+      });
+      return controller;
+    }
+    function onSocketData(chunk) {
+      if (!this.ws[kByteParser].write(chunk)) {
+        this.pause();
       }
-      _read(cb) {
-        this._doDrain();
-        cb();
+    }
+    function onSocketClose() {
+      const { ws } = this;
+      const wasClean = ws[kSentClose] && ws[kReceivedClose];
+      let code = 1005;
+      let reason = "";
+      const result = ws[kByteParser].closingInfo;
+      if (result) {
+        code = result.code ?? 1005;
+        reason = result.reason;
+      } else if (!ws[kSentClose]) {
+        code = 1006;
       }
-    };
-    module2.exports = function pack(opts) {
-      return new Pack(opts);
-    };
-    function modeToType(mode) {
-      switch (mode & constants.S_IFMT) {
-        case constants.S_IFBLK:
-          return "block-device";
-        case constants.S_IFCHR:
-          return "character-device";
-        case constants.S_IFDIR:
-          return "directory";
-        case constants.S_IFIFO:
-          return "fifo";
-        case constants.S_IFLNK:
-          return "symlink";
+      ws[kReadyState] = states.CLOSED;
+      fireEvent("close", ws, CloseEvent, {
+        wasClean,
+        code,
+        reason
+      });
+      if (channels.close.hasSubscribers) {
+        channels.close.publish({
+          websocket: ws,
+          code,
+          reason
+        });
       }
-      return "file";
     }
-    function noop3() {
-    }
-    function overflow(self2, size) {
-      size &= 511;
-      if (size) self2.push(END_OF_TAR.subarray(0, 512 - size));
-    }
-    function mapWritable(buf) {
-      return b4a.isBuffer(buf) ? buf : b4a.from(buf);
+    function onSocketError(error3) {
+      const { ws } = this;
+      ws[kReadyState] = states.CLOSING;
+      if (channels.socketError.hasSubscribers) {
+        channels.socketError.publish(error3);
+      }
+      this.destroy();
     }
+    module2.exports = {
+      establishWebSocketConnection
+    };
   }
 });
 
-// node_modules/tar-stream/index.js
-var require_tar_stream = __commonJS({
-  "node_modules/tar-stream/index.js"(exports2) {
-    exports2.extract = require_extract();
-    exports2.pack = require_pack();
-  }
-});
-
-// node_modules/archiver/lib/plugins/tar.js
-var require_tar2 = __commonJS({
-  "node_modules/archiver/lib/plugins/tar.js"(exports2, module2) {
-    var zlib = require("zlib");
-    var engine = require_tar_stream();
-    var util = require_archiver_utils();
-    var Tar = function(options) {
-      if (!(this instanceof Tar)) {
-        return new Tar(options);
-      }
-      options = this.options = util.defaults(options, {
-        gzip: false
-      });
-      if (typeof options.gzipOptions !== "object") {
-        options.gzipOptions = {};
-      }
-      this.supports = {
-        directory: true,
-        symlink: true
-      };
-      this.engine = engine.pack(options);
-      this.compressor = false;
-      if (options.gzip) {
-        this.compressor = zlib.createGzip(options.gzipOptions);
-        this.compressor.on("error", this._onCompressorError.bind(this));
+// node_modules/undici/lib/websocket/frame.js
+var require_frame3 = __commonJS({
+  "node_modules/undici/lib/websocket/frame.js"(exports2, module2) {
+    "use strict";
+    var { maxUnsigned16Bit } = require_constants24();
+    var crypto2;
+    try {
+      crypto2 = require("crypto");
+    } catch {
+    }
+    var WebsocketFrameSend = class {
+      /**
+       * @param {Buffer|undefined} data
+       */
+      constructor(data) {
+        this.frameData = data;
+        this.maskKey = crypto2.randomBytes(4);
       }
-    };
-    Tar.prototype._onCompressorError = function(err) {
-      this.engine.emit("error", err);
-    };
-    Tar.prototype.append = function(source, data, callback) {
-      var self2 = this;
-      data.mtime = data.date;
-      function append(err, sourceBuffer) {
-        if (err) {
-          callback(err);
-          return;
+      createFrame(opcode) {
+        const bodyLength = this.frameData?.byteLength ?? 0;
+        let payloadLength = bodyLength;
+        let offset = 6;
+        if (bodyLength > maxUnsigned16Bit) {
+          offset += 8;
+          payloadLength = 127;
+        } else if (bodyLength > 125) {
+          offset += 2;
+          payloadLength = 126;
         }
-        self2.engine.entry(data, sourceBuffer, function(err2) {
-          callback(err2, data);
-        });
-      }
-      if (data.sourceType === "buffer") {
-        append(null, source);
-      } else if (data.sourceType === "stream" && data.stats) {
-        data.size = data.stats.size;
-        var entry = self2.engine.entry(data, function(err) {
-          callback(err, data);
-        });
-        source.pipe(entry);
-      } else if (data.sourceType === "stream") {
-        util.collectStream(source, append);
-      }
-    };
-    Tar.prototype.finalize = function() {
-      this.engine.finalize();
-    };
-    Tar.prototype.on = function() {
-      return this.engine.on.apply(this.engine, arguments);
-    };
-    Tar.prototype.pipe = function(destination, options) {
-      if (this.compressor) {
-        return this.engine.pipe.apply(this.engine, [this.compressor]).pipe(destination, options);
-      } else {
-        return this.engine.pipe.apply(this.engine, arguments);
+        const buffer = Buffer.allocUnsafe(bodyLength + offset);
+        buffer[0] = buffer[1] = 0;
+        buffer[0] |= 128;
+        buffer[0] = (buffer[0] & 240) + opcode;
+        buffer[offset - 4] = this.maskKey[0];
+        buffer[offset - 3] = this.maskKey[1];
+        buffer[offset - 2] = this.maskKey[2];
+        buffer[offset - 1] = this.maskKey[3];
+        buffer[1] = payloadLength;
+        if (payloadLength === 126) {
+          buffer.writeUInt16BE(bodyLength, 2);
+        } else if (payloadLength === 127) {
+          buffer[2] = buffer[3] = 0;
+          buffer.writeUIntBE(bodyLength, 4, 6);
+        }
+        buffer[1] |= 128;
+        for (let i = 0; i < bodyLength; i++) {
+          buffer[offset + i] = this.frameData[i] ^ this.maskKey[i % 4];
+        }
+        return buffer;
       }
     };
-    Tar.prototype.unpipe = function() {
-      if (this.compressor) {
-        return this.compressor.unpipe.apply(this.compressor, arguments);
-      } else {
-        return this.engine.unpipe.apply(this.engine, arguments);
-      }
+    module2.exports = {
+      WebsocketFrameSend
     };
-    module2.exports = Tar;
   }
 });
 
-// node_modules/buffer-crc32/dist/index.cjs
-var require_dist5 = __commonJS({
-  "node_modules/buffer-crc32/dist/index.cjs"(exports2, module2) {
+// node_modules/undici/lib/websocket/receiver.js
+var require_receiver3 = __commonJS({
+  "node_modules/undici/lib/websocket/receiver.js"(exports2, module2) {
     "use strict";
-    function getDefaultExportFromCjs(x) {
-      return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
-    }
-    var CRC_TABLE = new Int32Array([
-      0,
-      1996959894,
-      3993919788,
-      2567524794,
-      124634137,
-      1886057615,
-      3915621685,
-      2657392035,
-      249268274,
-      2044508324,
-      3772115230,
-      2547177864,
-      162941995,
-      2125561021,
-      3887607047,
-      2428444049,
-      498536548,
-      1789927666,
-      4089016648,
-      2227061214,
-      450548861,
-      1843258603,
-      4107580753,
-      2211677639,
-      325883990,
-      1684777152,
-      4251122042,
-      2321926636,
-      335633487,
-      1661365465,
-      4195302755,
-      2366115317,
-      997073096,
-      1281953886,
-      3579855332,
-      2724688242,
-      1006888145,
-      1258607687,
-      3524101629,
-      2768942443,
-      901097722,
-      1119000684,
-      3686517206,
-      2898065728,
-      853044451,
-      1172266101,
-      3705015759,
-      2882616665,
-      651767980,
-      1373503546,
-      3369554304,
-      3218104598,
-      565507253,
-      1454621731,
-      3485111705,
-      3099436303,
-      671266974,
-      1594198024,
-      3322730930,
-      2970347812,
-      795835527,
-      1483230225,
-      3244367275,
-      3060149565,
-      1994146192,
-      31158534,
-      2563907772,
-      4023717930,
-      1907459465,
-      112637215,
-      2680153253,
-      3904427059,
-      2013776290,
-      251722036,
-      2517215374,
-      3775830040,
-      2137656763,
-      141376813,
-      2439277719,
-      3865271297,
-      1802195444,
-      476864866,
-      2238001368,
-      4066508878,
-      1812370925,
-      453092731,
-      2181625025,
-      4111451223,
-      1706088902,
-      314042704,
-      2344532202,
-      4240017532,
-      1658658271,
-      366619977,
-      2362670323,
-      4224994405,
-      1303535960,
-      984961486,
-      2747007092,
-      3569037538,
-      1256170817,
-      1037604311,
-      2765210733,
-      3554079995,
-      1131014506,
-      879679996,
-      2909243462,
-      3663771856,
-      1141124467,
-      855842277,
-      2852801631,
-      3708648649,
-      1342533948,
-      654459306,
-      3188396048,
-      3373015174,
-      1466479909,
-      544179635,
-      3110523913,
-      3462522015,
-      1591671054,
-      702138776,
-      2966460450,
-      3352799412,
-      1504918807,
-      783551873,
-      3082640443,
-      3233442989,
-      3988292384,
-      2596254646,
-      62317068,
-      1957810842,
-      3939845945,
-      2647816111,
-      81470997,
-      1943803523,
-      3814918930,
-      2489596804,
-      225274430,
-      2053790376,
-      3826175755,
-      2466906013,
-      167816743,
-      2097651377,
-      4027552580,
-      2265490386,
-      503444072,
-      1762050814,
-      4150417245,
-      2154129355,
-      426522225,
-      1852507879,
-      4275313526,
-      2312317920,
-      282753626,
-      1742555852,
-      4189708143,
-      2394877945,
-      397917763,
-      1622183637,
-      3604390888,
-      2714866558,
-      953729732,
-      1340076626,
-      3518719985,
-      2797360999,
-      1068828381,
-      1219638859,
-      3624741850,
-      2936675148,
-      906185462,
-      1090812512,
-      3747672003,
-      2825379669,
-      829329135,
-      1181335161,
-      3412177804,
-      3160834842,
-      628085408,
-      1382605366,
-      3423369109,
-      3138078467,
-      570562233,
-      1426400815,
-      3317316542,
-      2998733608,
-      733239954,
-      1555261956,
-      3268935591,
-      3050360625,
-      752459403,
-      1541320221,
-      2607071920,
-      3965973030,
-      1969922972,
-      40735498,
-      2617837225,
-      3943577151,
-      1913087877,
-      83908371,
-      2512341634,
-      3803740692,
-      2075208622,
-      213261112,
-      2463272603,
-      3855990285,
-      2094854071,
-      198958881,
-      2262029012,
-      4057260610,
-      1759359992,
-      534414190,
-      2176718541,
-      4139329115,
-      1873836001,
-      414664567,
-      2282248934,
-      4279200368,
-      1711684554,
-      285281116,
-      2405801727,
-      4167216745,
-      1634467795,
-      376229701,
-      2685067896,
-      3608007406,
-      1308918612,
-      956543938,
-      2808555105,
-      3495958263,
-      1231636301,
-      1047427035,
-      2932959818,
-      3654703836,
-      1088359270,
-      936918e3,
-      2847714899,
-      3736837829,
-      1202900863,
-      817233897,
-      3183342108,
-      3401237130,
-      1404277552,
-      615818150,
-      3134207493,
-      3453421203,
-      1423857449,
-      601450431,
-      3009837614,
-      3294710456,
-      1567103746,
-      711928724,
-      3020668471,
-      3272380065,
-      1510334235,
-      755167117
-    ]);
-    function ensureBuffer(input) {
-      if (Buffer.isBuffer(input)) {
-        return input;
+    var { Writable } = require("stream");
+    var diagnosticsChannel = require("diagnostics_channel");
+    var { parserStates, opcodes, states, emptyBuffer } = require_constants24();
+    var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols15();
+    var { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require_util30();
+    var { WebsocketFrameSend } = require_frame3();
+    var channels = {};
+    channels.ping = diagnosticsChannel.channel("undici:websocket:ping");
+    channels.pong = diagnosticsChannel.channel("undici:websocket:pong");
+    var ByteParser = class extends Writable {
+      #buffers = [];
+      #byteOffset = 0;
+      #state = parserStates.INFO;
+      #info = {};
+      #fragments = [];
+      constructor(ws) {
+        super();
+        this.ws = ws;
       }
-      if (typeof input === "number") {
-        return Buffer.alloc(input);
-      } else if (typeof input === "string") {
-        return Buffer.from(input);
-      } else {
-        throw new Error("input must be buffer, number, or string, received " + typeof input);
+      /**
+       * @param {Buffer} chunk
+       * @param {() => void} callback
+       */
+      _write(chunk, _2, callback) {
+        this.#buffers.push(chunk);
+        this.#byteOffset += chunk.length;
+        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 (true) {
+          if (this.#state === parserStates.INFO) {
+            if (this.#byteOffset < 2) {
+              return callback();
+            }
+            const buffer = this.consume(2);
+            this.#info.fin = (buffer[0] & 128) !== 0;
+            this.#info.opcode = buffer[0] & 15;
+            this.#info.originalOpcode ??= this.#info.opcode;
+            this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION;
+            if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) {
+              failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
+              return;
+            }
+            const payloadLength = buffer[1] & 127;
+            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 (this.#info.fragmented && payloadLength > 125) {
+              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
+              return;
+            } else if ((this.#info.opcode === opcodes.PING || this.#info.opcode === opcodes.PONG || this.#info.opcode === opcodes.CLOSE) && payloadLength > 125) {
+              failWebsocketConnection(this.ws, "Payload length for control frame exceeded 125 bytes.");
+              return;
+            } else if (this.#info.opcode === opcodes.CLOSE) {
+              if (payloadLength === 1) {
+                failWebsocketConnection(this.ws, "Received close frame with a 1-byte body.");
+                return;
+              }
+              const body = this.consume(payloadLength);
+              this.#info.closeInfo = this.parseCloseBody(false, body);
+              if (!this.ws[kSentClose]) {
+                const body2 = Buffer.allocUnsafe(2);
+                body2.writeUInt16BE(this.#info.closeInfo.code, 0);
+                const closeFrame = new WebsocketFrameSend(body2);
+                this.ws[kResponse].socket.write(
+                  closeFrame.createFrame(opcodes.CLOSE),
+                  (err) => {
+                    if (!err) {
+                      this.ws[kSentClose] = true;
+                    }
+                  }
+                );
+              }
+              this.ws[kReadyState] = states.CLOSING;
+              this.ws[kReceivedClose] = true;
+              this.end();
+              return;
+            } else if (this.#info.opcode === opcodes.PING) {
+              const body = this.consume(payloadLength);
+              if (!this.ws[kReceivedClose]) {
+                const frame = new WebsocketFrameSend(body);
+                this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
+                if (channels.ping.hasSubscribers) {
+                  channels.ping.publish({
+                    payload: body
+                  });
+                }
+              }
+              this.#state = parserStates.INFO;
+              if (this.#byteOffset > 0) {
+                continue;
+              } else {
+                callback();
+                return;
+              }
+            } else if (this.#info.opcode === opcodes.PONG) {
+              const body = this.consume(payloadLength);
+              if (channels.pong.hasSubscribers) {
+                channels.pong.publish({
+                  payload: body
+                });
+              }
+              if (this.#byteOffset > 0) {
+                continue;
+              } else {
+                callback();
+                return;
+              }
+            }
+          } 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();
+            } else if (this.#byteOffset >= this.#info.payloadLength) {
+              const body = this.consume(this.#info.payloadLength);
+              this.#fragments.push(body);
+              if (!this.#info.fragmented || this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) {
+                const fullMessage = Buffer.concat(this.#fragments);
+                websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage);
+                this.#info = {};
+                this.#fragments.length = 0;
+              }
+              this.#state = parserStates.INFO;
+            }
+          }
+          if (this.#byteOffset > 0) {
+            continue;
+          } else {
+            callback();
+            break;
+          }
+        }
+      }
+      /**
+       * Take n bytes from the buffered Buffers
+       * @param {number} n
+       * @returns {Buffer|null}
+       */
+      consume(n) {
+        if (n > this.#byteOffset) {
+          return null;
+        } 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;
       }
-    }
-    function bufferizeInt(num) {
-      const tmp = ensureBuffer(4);
-      tmp.writeInt32BE(num, 0);
-      return tmp;
-    }
-    function _crc32(buf, previous) {
-      buf = ensureBuffer(buf);
-      if (Buffer.isBuffer(previous)) {
-        previous = previous.readUInt32BE(0);
+      parseCloseBody(onlyCode, data) {
+        let code;
+        if (data.length >= 2) {
+          code = data.readUInt16BE(0);
+        }
+        if (onlyCode) {
+          if (!isValidStatusCode(code)) {
+            return null;
+          }
+          return { code };
+        }
+        let reason = data.subarray(2);
+        if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
+          reason = reason.subarray(3);
+        }
+        if (code !== void 0 && !isValidStatusCode(code)) {
+          return null;
+        }
+        try {
+          reason = new TextDecoder("utf-8", { fatal: true }).decode(reason);
+        } catch {
+          return null;
+        }
+        return { code, reason };
       }
-      let crc = ~~previous ^ -1;
-      for (var n = 0; n < buf.length; n++) {
-        crc = CRC_TABLE[(crc ^ buf[n]) & 255] ^ crc >>> 8;
+      get closingInfo() {
+        return this.#info.closeInfo;
       }
-      return crc ^ -1;
-    }
-    function crc32() {
-      return bufferizeInt(_crc32.apply(null, arguments));
-    }
-    crc32.signed = function() {
-      return _crc32.apply(null, arguments);
     };
-    crc32.unsigned = function() {
-      return _crc32.apply(null, arguments) >>> 0;
+    module2.exports = {
+      ByteParser
     };
-    var bufferCrc32 = crc32;
-    var index = /* @__PURE__ */ getDefaultExportFromCjs(bufferCrc32);
-    module2.exports = index;
   }
 });
 
-// node_modules/archiver/lib/plugins/json.js
-var require_json = __commonJS({
-  "node_modules/archiver/lib/plugins/json.js"(exports2, module2) {
-    var inherits = require("util").inherits;
-    var Transform = require_ours().Transform;
-    var crc32 = require_dist5();
-    var util = require_archiver_utils();
-    var Json = function(options) {
-      if (!(this instanceof Json)) {
-        return new Json(options);
-      }
-      options = this.options = util.defaults(options, {});
-      Transform.call(this, options);
-      this.supports = {
-        directory: true,
-        symlink: true
+// node_modules/undici/lib/websocket/websocket.js
+var require_websocket3 = __commonJS({
+  "node_modules/undici/lib/websocket/websocket.js"(exports2, module2) {
+    "use strict";
+    var { webidl } = require_webidl3();
+    var { DOMException: DOMException2 } = require_constants21();
+    var { URLSerializer } = require_dataURL();
+    var { getGlobalOrigin } = require_global5();
+    var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require_constants24();
+    var {
+      kWebSocketURL,
+      kReadyState,
+      kController,
+      kBinaryType,
+      kResponse,
+      kSentClose,
+      kByteParser
+    } = require_symbols15();
+    var { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require_util30();
+    var { establishWebSocketConnection } = require_connection3();
+    var { WebsocketFrameSend } = require_frame3();
+    var { ByteParser } = require_receiver3();
+    var { kEnumerableProperty, isBlobLike } = require_util24();
+    var { getGlobalDispatcher } = require_global6();
+    var { types } = require("util");
+    var experimentalWarned = false;
+    var WebSocket = class _WebSocket extends EventTarget {
+      #events = {
+        open: null,
+        error: null,
+        close: null,
+        message: null
       };
-      this.files = [];
-    };
-    inherits(Json, Transform);
-    Json.prototype._transform = function(chunk, encoding, callback) {
-      callback(null, chunk);
-    };
-    Json.prototype._writeStringified = function() {
-      var fileString = JSON.stringify(this.files);
-      this.write(fileString);
-    };
-    Json.prototype.append = function(source, data, callback) {
-      var self2 = this;
-      data.crc32 = 0;
-      function onend(err, sourceBuffer) {
-        if (err) {
-          callback(err);
+      #bufferedAmount = 0;
+      #protocol = "";
+      #extensions = "";
+      /**
+       * @param {string} url
+       * @param {string|string[]} protocols
+       */
+      constructor(url, protocols = []) {
+        super();
+        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket constructor" });
+        if (!experimentalWarned) {
+          experimentalWarned = true;
+          process.emitWarning("WebSockets are experimental, expect them to change at any time.", {
+            code: "UNDICI-WS"
+          });
+        }
+        const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols);
+        url = webidl.converters.USVString(url);
+        protocols = options.protocols;
+        const baseURL = getGlobalOrigin();
+        let urlRecord;
+        try {
+          urlRecord = new URL(url, baseURL);
+        } catch (e) {
+          throw new DOMException2(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 DOMException2(
+            `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
+            "SyntaxError"
+          );
+        }
+        if (urlRecord.hash || urlRecord.href.endsWith("#")) {
+          throw new DOMException2("Got fragment", "SyntaxError");
+        }
+        if (typeof protocols === "string") {
+          protocols = [protocols];
+        }
+        if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
+          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+        }
+        if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
+          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+        }
+        this[kWebSocketURL] = new URL(urlRecord.href);
+        this[kController] = establishWebSocketConnection(
+          urlRecord,
+          protocols,
+          this,
+          (response) => this.#onConnectionEstablished(response),
+          options
+        );
+        this[kReadyState] = _WebSocket.CONNECTING;
+        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);
+        if (code !== void 0) {
+          code = webidl.converters["unsigned short"](code, { clamp: true });
+        }
+        if (reason !== void 0) {
+          reason = webidl.converters.USVString(reason);
+        }
+        if (code !== void 0) {
+          if (code !== 1e3 && (code < 3e3 || code > 4999)) {
+            throw new DOMException2("invalid code", "InvalidAccessError");
+          }
+        }
+        let reasonByteLength = 0;
+        if (reason !== void 0) {
+          reasonByteLength = Buffer.byteLength(reason);
+          if (reasonByteLength > 123) {
+            throw new DOMException2(
+              `Reason must be less than 123 bytes; received ${reasonByteLength}`,
+              "SyntaxError"
+            );
+          }
+        }
+        if (this[kReadyState] === _WebSocket.CLOSING || this[kReadyState] === _WebSocket.CLOSED) {
+        } else if (!isEstablished(this)) {
+          failWebsocketConnection(this, "Connection was closed before it was established.");
+          this[kReadyState] = _WebSocket.CLOSING;
+        } else if (!isClosing(this)) {
+          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 = this[kResponse].socket;
+          socket.write(frame.createFrame(opcodes.CLOSE), (err) => {
+            if (!err) {
+              this[kSentClose] = true;
+            }
+          });
+          this[kReadyState] = states.CLOSING;
+        } else {
+          this[kReadyState] = _WebSocket.CLOSING;
+        }
+      }
+      /**
+       * @see https://websockets.spec.whatwg.org/#dom-websocket-send
+       * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data
+       */
+      send(data) {
+        webidl.brandCheck(this, _WebSocket);
+        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" });
+        data = webidl.converters.WebSocketSendData(data);
+        if (this[kReadyState] === _WebSocket.CONNECTING) {
+          throw new DOMException2("Sent before connected.", "InvalidStateError");
+        }
+        if (!isEstablished(this) || isClosing(this)) {
           return;
         }
-        data.size = sourceBuffer.length || 0;
-        data.crc32 = crc32.unsigned(sourceBuffer);
-        self2.files.push(data);
-        callback(null, data);
+        const socket = this[kResponse].socket;
+        if (typeof data === "string") {
+          const value = Buffer.from(data);
+          const frame = new WebsocketFrameSend(value);
+          const buffer = frame.createFrame(opcodes.TEXT);
+          this.#bufferedAmount += value.byteLength;
+          socket.write(buffer, () => {
+            this.#bufferedAmount -= value.byteLength;
+          });
+        } else if (types.isArrayBuffer(data)) {
+          const value = Buffer.from(data);
+          const frame = new WebsocketFrameSend(value);
+          const buffer = frame.createFrame(opcodes.BINARY);
+          this.#bufferedAmount += value.byteLength;
+          socket.write(buffer, () => {
+            this.#bufferedAmount -= value.byteLength;
+          });
+        } else if (ArrayBuffer.isView(data)) {
+          const ab = Buffer.from(data, data.byteOffset, data.byteLength);
+          const frame = new WebsocketFrameSend(ab);
+          const buffer = frame.createFrame(opcodes.BINARY);
+          this.#bufferedAmount += ab.byteLength;
+          socket.write(buffer, () => {
+            this.#bufferedAmount -= ab.byteLength;
+          });
+        } else if (isBlobLike(data)) {
+          const frame = new WebsocketFrameSend();
+          data.arrayBuffer().then((ab) => {
+            const value = Buffer.from(ab);
+            frame.frameData = value;
+            const buffer = frame.createFrame(opcodes.BINARY);
+            this.#bufferedAmount += value.byteLength;
+            socket.write(buffer, () => {
+              this.#bufferedAmount -= value.byteLength;
+            });
+          });
+        }
       }
-      if (data.sourceType === "buffer") {
-        onend(null, source);
-      } else if (data.sourceType === "stream") {
-        util.collectStream(source, onend);
+      get readyState() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kReadyState];
       }
-    };
-    Json.prototype.finalize = function() {
-      this._writeStringified();
-      this.end();
-    };
-    module2.exports = Json;
-  }
-});
-
-// node_modules/archiver/index.js
-var require_archiver = __commonJS({
-  "node_modules/archiver/index.js"(exports2, module2) {
-    var Archiver = require_core2();
-    var formats = {};
-    var vending = function(format, options) {
-      return vending.create(format, options);
-    };
-    vending.create = function(format, options) {
-      if (formats[format]) {
-        var instance = new Archiver(format, options);
-        instance.setFormat(format);
-        instance.setModule(new formats[format](options));
-        return instance;
-      } else {
-        throw new Error("create(" + format + "): format not registered");
+      get bufferedAmount() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#bufferedAmount;
       }
-    };
-    vending.registerFormat = function(format, module3) {
-      if (formats[format]) {
-        throw new Error("register(" + format + "): format already registered");
+      get url() {
+        webidl.brandCheck(this, _WebSocket);
+        return URLSerializer(this[kWebSocketURL]);
       }
-      if (typeof module3 !== "function") {
-        throw new Error("register(" + format + "): format module invalid");
+      get extensions() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#extensions;
       }
-      if (typeof module3.prototype.append !== "function" || typeof module3.prototype.finalize !== "function") {
-        throw new Error("register(" + format + "): format module missing methods");
+      get protocol() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#protocol;
       }
-      formats[format] = module3;
-    };
-    vending.isRegisteredFormat = function(format) {
-      if (formats[format]) {
-        return true;
+      get onopen() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.open;
       }
-      return false;
-    };
-    vending.registerFormat("zip", require_zip());
-    vending.registerFormat("tar", require_tar2());
-    vending.registerFormat("json", require_json());
-    module2.exports = vending;
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/upload/zip.js
-var require_zip2 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/zip.js"(exports2) {
-    "use strict";
-    var __createBinding2 = 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];
-        } };
+      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;
+        }
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      get onerror() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.error;
       }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve5) {
-          resolve5(value);
-        });
+      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;
+        }
       }
-      return new (P || (P = Promise))(function(resolve5, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
+      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);
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
+        if (typeof fn === "function") {
+          this.#events.close = fn;
+          this.addEventListener("close", fn);
+        } else {
+          this.#events.close = null;
         }
-        function step(result) {
-          result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected);
+      }
+      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;
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createZipUploadStream = exports2.ZipUploadStream = exports2.DEFAULT_COMPRESSION_LEVEL = void 0;
-    var stream = __importStar2(require("stream"));
-    var promises_1 = require("fs/promises");
-    var archiver2 = __importStar2(require_archiver());
-    var core14 = __importStar2(require_core());
-    var config_1 = require_config2();
-    exports2.DEFAULT_COMPRESSION_LEVEL = 6;
-    var ZipUploadStream = class extends stream.Transform {
-      constructor(bufferSize) {
-        super({
-          highWaterMark: bufferSize
-        });
       }
-      // eslint-disable-next-line @typescript-eslint/no-explicit-any
-      _transform(chunk, enc, cb) {
-        cb(null, chunk);
+      get binaryType() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kBinaryType];
       }
-    };
-    exports2.ZipUploadStream = ZipUploadStream;
-    function createZipUploadStream(uploadSpecification_1) {
-      return __awaiter2(this, arguments, void 0, function* (uploadSpecification, compressionLevel = exports2.DEFAULT_COMPRESSION_LEVEL) {
-        core14.debug(`Creating Artifact archive with compressionLevel: ${compressionLevel}`);
-        const zip = archiver2.create("zip", {
-          highWaterMark: (0, config_1.getUploadChunkSize)(),
-          zlib: { level: compressionLevel }
+      set binaryType(type2) {
+        webidl.brandCheck(this, _WebSocket);
+        if (type2 !== "blob" && type2 !== "arraybuffer") {
+          this[kBinaryType] = "blob";
+        } else {
+          this[kBinaryType] = type2;
+        }
+      }
+      /**
+       * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
+       */
+      #onConnectionEstablished(response) {
+        this[kResponse] = response;
+        const parser = new ByteParser(this);
+        parser.on("drain", function onParserDrain() {
+          this.ws[kResponse].socket.resume();
         });
-        zip.on("error", zipErrorCallback);
-        zip.on("warning", zipWarningCallback);
-        zip.on("finish", zipFinishCallback);
-        zip.on("end", zipEndCallback);
-        for (const file of uploadSpecification) {
-          if (file.sourcePath !== null) {
-            let sourcePath = file.sourcePath;
-            if (file.stats.isSymbolicLink()) {
-              sourcePath = yield (0, promises_1.realpath)(file.sourcePath);
-            }
-            zip.file(sourcePath, {
-              name: file.destinationPath
-            });
-          } else {
-            zip.append("", { name: file.destinationPath });
-          }
+        response.socket.ws = this;
+        this[kByteParser] = parser;
+        this[kReadyState] = states.OPEN;
+        const extensions = response.headersList.get("sec-websocket-extensions");
+        if (extensions !== null) {
+          this.#extensions = extensions;
         }
-        const bufferSize = (0, config_1.getUploadChunkSize)();
-        const zipUploadStream = new ZipUploadStream(bufferSize);
-        core14.debug(`Zip write high watermark value ${zipUploadStream.writableHighWaterMark}`);
-        core14.debug(`Zip read high watermark value ${zipUploadStream.readableHighWaterMark}`);
-        zip.pipe(zipUploadStream);
-        zip.finalize();
-        return zipUploadStream;
-      });
-    }
-    exports2.createZipUploadStream = createZipUploadStream;
-    var zipErrorCallback = (error3) => {
-      core14.error("An error has occurred while creating the zip file for upload");
-      core14.info(error3);
-      throw new Error("An error has occurred during zip creation for the artifact");
-    };
-    var zipWarningCallback = (error3) => {
-      if (error3.code === "ENOENT") {
-        core14.warning("ENOENT warning during artifact zip creation. No such file or directory");
-        core14.info(error3);
-      } else {
-        core14.warning(`A non-blocking warning has occurred during artifact zip creation: ${error3.code}`);
-        core14.info(error3);
+        const protocol = response.headersList.get("sec-websocket-protocol");
+        if (protocol !== null) {
+          this.#protocol = protocol;
+        }
+        fireEvent("open", this);
       }
     };
-    var zipFinishCallback = () => {
-      core14.debug("Zip stream for upload has finished.");
-    };
-    var zipEndCallback = () => {
-      core14.debug("Zip stream for upload has ended.");
-    };
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/upload/upload-artifact.js
-var require_upload_artifact = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/upload-artifact.js"(exports2) {
-    "use strict";
-    var __createBinding2 = 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];
-        } };
+    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.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
     });
-    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
-      }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve5) {
-          resolve5(value);
-        });
+    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) {
+      if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
+        return webidl.converters["sequence"](V);
       }
-      return new (P || (P = Promise))(function(resolve5, 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 ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
+      return webidl.converters.DOMString(V);
     };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.uploadArtifact = void 0;
-    var core14 = __importStar2(require_core());
-    var retention_1 = require_retention();
-    var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation();
-    var artifact_twirp_client_1 = require_artifact_twirp_client2();
-    var upload_zip_specification_1 = require_upload_zip_specification();
-    var util_1 = require_util18();
-    var blob_upload_1 = require_blob_upload();
-    var zip_1 = require_zip2();
-    var generated_1 = require_generated();
-    var errors_1 = require_errors4();
-    function uploadArtifact(name, files, rootDirectory, options) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        (0, path_and_artifact_name_validation_1.validateArtifactName)(name);
-        (0, upload_zip_specification_1.validateRootDirectory)(rootDirectory);
-        const zipSpecification = (0, upload_zip_specification_1.getUploadZipSpecification)(files, rootDirectory);
-        if (zipSpecification.length === 0) {
-          throw new errors_1.FilesNotFoundError(zipSpecification.flatMap((s) => s.sourcePath ? [s.sourcePath] : []));
-        }
-        const backendIds = (0, util_1.getBackendIdsFromToken)();
-        const artifactClient = (0, artifact_twirp_client_1.internalArtifactTwirpClient)();
-        const createArtifactReq = {
-          workflowRunBackendId: backendIds.workflowRunBackendId,
-          workflowJobRunBackendId: backendIds.workflowJobRunBackendId,
-          name,
-          version: 4
-        };
-        const expiresAt = (0, retention_1.getExpiration)(options === null || options === void 0 ? void 0 : options.retentionDays);
-        if (expiresAt) {
-          createArtifactReq.expiresAt = expiresAt;
-        }
-        const createArtifactResp = yield artifactClient.CreateArtifact(createArtifactReq);
-        if (!createArtifactResp.ok) {
-          throw new errors_1.InvalidResponseError("CreateArtifact: response from backend was not ok");
-        }
-        const zipUploadStream = yield (0, zip_1.createZipUploadStream)(zipSpecification, options === null || options === void 0 ? void 0 : options.compressionLevel);
-        const uploadResult = yield (0, blob_upload_1.uploadZipToBlobStorage)(createArtifactResp.signedUploadUrl, zipUploadStream);
-        const finalizeArtifactReq = {
-          workflowRunBackendId: backendIds.workflowRunBackendId,
-          workflowJobRunBackendId: backendIds.workflowJobRunBackendId,
-          name,
-          size: uploadResult.uploadSize ? uploadResult.uploadSize.toString() : "0"
-        };
-        if (uploadResult.sha256Hash) {
-          finalizeArtifactReq.hash = generated_1.StringValue.create({
-            value: `sha256:${uploadResult.sha256Hash}`
-          });
-        }
-        core14.info(`Finalizing artifact upload`);
-        const finalizeArtifactResp = yield artifactClient.FinalizeArtifact(finalizeArtifactReq);
-        if (!finalizeArtifactResp.ok) {
-          throw new errors_1.InvalidResponseError("FinalizeArtifact: response from backend was not ok");
+    webidl.converters.WebSocketInit = webidl.dictionaryConverter([
+      {
+        key: "protocols",
+        converter: webidl.converters["DOMString or sequence"],
+        get defaultValue() {
+          return [];
         }
-        const artifactId = BigInt(finalizeArtifactResp.artifactId);
-        core14.info(`Artifact ${name}.zip successfully finalized. Artifact ID ${artifactId}`);
-        return {
-          size: uploadResult.uploadSize,
-          digest: uploadResult.sha256Hash,
-          id: Number(artifactId)
-        };
-      });
-    }
-    exports2.uploadArtifact = uploadArtifact;
-  }
-});
-
-// node_modules/@actions/artifact/node_modules/@actions/github/lib/context.js
-var require_context2 = __commonJS({
-  "node_modules/@actions/artifact/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() {
-        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 {
-            const path7 = process.env.GITHUB_EVENT_PATH;
-            process.stdout.write(`GITHUB_EVENT_PATH ${path7} does not exist${os_1.EOL}`);
-          }
+      },
+      {
+        key: "dispatcher",
+        converter: (V) => V,
+        get defaultValue() {
+          return getGlobalDispatcher();
         }
-        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`;
+      },
+      {
+        key: "headers",
+        converter: webidl.nullableConverter(webidl.converters.HeadersInit)
       }
-      get issue() {
-        const payload = this.payload;
-        return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || payload).number });
+    ]);
+    webidl.converters["DOMString or sequence or WebSocketInit"] = function(V) {
+      if (webidl.util.Type(V) === "Object" && !(Symbol.iterator in V)) {
+        return webidl.converters.WebSocketInit(V);
       }
-      get repo() {
-        if (process.env.GITHUB_REPOSITORY) {
-          const [owner, repo] = process.env.GITHUB_REPOSITORY.split("/");
-          return { owner, repo };
+      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 (this.payload.repository) {
-          return {
-            owner: this.payload.repository.owner.login,
-            repo: this.payload.repository.name
-          };
+        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
+          return webidl.converters.BufferSource(V);
         }
-        throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'");
       }
+      return webidl.converters.USVString(V);
+    };
+    module2.exports = {
+      WebSocket
     };
-    exports2.Context = Context;
   }
 });
 
-// node_modules/@actions/artifact/node_modules/@actions/github/node_modules/@actions/http-client/lib/proxy.js
-var require_proxy2 = __commonJS({
-  "node_modules/@actions/artifact/node_modules/@actions/github/node_modules/@actions/http-client/lib/proxy.js"(exports2) {
+// node_modules/undici/index.js
+var require_undici3 = __commonJS({
+  "node_modules/undici/index.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.checkBypass = exports2.getProxyUrl = void 0;
-    function getProxyUrl(reqUrl) {
-      const usingSsl = reqUrl.protocol === "https:";
-      if (checkBypass(reqUrl)) {
-        return void 0;
-      }
-      const proxyVar = (() => {
-        if (usingSsl) {
-          return process.env["https_proxy"] || process.env["HTTPS_PROXY"];
+    var Client = require_client3();
+    var Dispatcher = require_dispatcher3();
+    var errors = require_errors6();
+    var Pool = require_pool3();
+    var BalancedPool = require_balanced_pool3();
+    var Agent = require_agent3();
+    var util = require_util24();
+    var { InvalidArgumentError } = errors;
+    var api = require_api3();
+    var buildConnector = require_connect3();
+    var MockClient = require_mock_client3();
+    var MockAgent = require_mock_agent3();
+    var MockPool = require_mock_pool3();
+    var mockErrors = require_mock_errors3();
+    var ProxyAgent = require_proxy_agent3();
+    var RetryHandler = require_RetryHandler();
+    var { getGlobalDispatcher, setGlobalDispatcher } = require_global6();
+    var DecoratorHandler = require_DecoratorHandler();
+    var RedirectHandler = require_RedirectHandler();
+    var createRedirectInterceptor = require_redirectInterceptor();
+    var hasCrypto;
+    try {
+      require("crypto");
+      hasCrypto = true;
+    } catch {
+      hasCrypto = false;
+    }
+    Object.assign(Dispatcher.prototype, api);
+    module2.exports.Dispatcher = Dispatcher;
+    module2.exports.Client = Client;
+    module2.exports.Pool = Pool;
+    module2.exports.BalancedPool = BalancedPool;
+    module2.exports.Agent = Agent;
+    module2.exports.ProxyAgent = ProxyAgent;
+    module2.exports.RetryHandler = RetryHandler;
+    module2.exports.DecoratorHandler = DecoratorHandler;
+    module2.exports.RedirectHandler = RedirectHandler;
+    module2.exports.createRedirectInterceptor = createRedirectInterceptor;
+    module2.exports.buildConnector = buildConnector;
+    module2.exports.errors = errors;
+    function makeDispatcher(fn) {
+      return (url, opts, 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 path7 = opts.path;
+          if (!opts.path.startsWith("/")) {
+            path7 = `/${path7}`;
+          }
+          url = new URL(util.parseOrigin(url).origin + path7);
         } else {
-          return process.env["http_proxy"] || process.env["HTTP_PROXY"];
+          if (!opts) {
+            opts = typeof url === "object" ? url : {};
+          }
+          url = util.parseURL(url);
         }
-      })();
-      if (proxyVar) {
-        try {
-          return new DecodedURL(proxyVar);
-        } catch (_a) {
-          if (!proxyVar.startsWith("http://") && !proxyVar.startsWith("https://"))
-            return new DecodedURL(`http://${proxyVar}`);
+        const { agent, dispatcher = getGlobalDispatcher() } = opts;
+        if (agent) {
+          throw new InvalidArgumentError("unsupported opts.agent. Did you mean opts.client?");
         }
-      } else {
-        return void 0;
-      }
+        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);
+      };
     }
-    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;
-      }
-      let reqPort;
-      if (reqUrl.port) {
-        reqPort = Number(reqUrl.port);
-      } else if (reqUrl.protocol === "http:") {
-        reqPort = 80;
-      } else if (reqUrl.protocol === "https:") {
-        reqPort = 443;
-      }
-      const upperReqHosts = [reqUrl.hostname.toUpperCase()];
-      if (typeof reqPort === "number") {
-        upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`);
-      }
-      for (const upperNoProxyItem of noProxy.split(",").map((x) => x.trim().toUpperCase()).filter((x) => x)) {
-        if (upperNoProxyItem === "*" || upperReqHosts.some((x) => x === upperNoProxyItem || x.endsWith(`.${upperNoProxyItem}`) || upperNoProxyItem.startsWith(".") && x.endsWith(`${upperNoProxyItem}`))) {
-          return true;
+    module2.exports.setGlobalDispatcher = setGlobalDispatcher;
+    module2.exports.getGlobalDispatcher = getGlobalDispatcher;
+    if (util.nodeMajor > 16 || util.nodeMajor === 16 && util.nodeMinor >= 8) {
+      let fetchImpl = null;
+      module2.exports.fetch = async function fetch(resource) {
+        if (!fetchImpl) {
+          fetchImpl = require_fetch3().fetch;
         }
-      }
-      return false;
+        try {
+          return await fetchImpl(...arguments);
+        } catch (err) {
+          if (typeof err === "object") {
+            Error.captureStackTrace(err, this);
+          }
+          throw err;
+        }
+      };
+      module2.exports.Headers = require_headers4().Headers;
+      module2.exports.Response = require_response4().Response;
+      module2.exports.Request = require_request6().Request;
+      module2.exports.FormData = require_formdata3().FormData;
+      module2.exports.File = require_file5().File;
+      module2.exports.FileReader = require_filereader3().FileReader;
+      const { setGlobalOrigin, getGlobalOrigin } = require_global5();
+      module2.exports.setGlobalOrigin = setGlobalOrigin;
+      module2.exports.getGlobalOrigin = getGlobalOrigin;
+      const { CacheStorage } = require_cachestorage3();
+      const { kConstruct } = require_symbols14();
+      module2.exports.caches = new CacheStorage(kConstruct);
     }
-    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]");
+    if (util.nodeMajor >= 16) {
+      const { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies3();
+      module2.exports.deleteCookie = deleteCookie;
+      module2.exports.getCookies = getCookies;
+      module2.exports.getSetCookies = getSetCookies;
+      module2.exports.setCookie = setCookie;
+      const { parseMIMEType, serializeAMimeType } = require_dataURL();
+      module2.exports.parseMIMEType = parseMIMEType;
+      module2.exports.serializeAMimeType = serializeAMimeType;
     }
-    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;
-      }
-    };
+    if (util.nodeMajor >= 18 && hasCrypto) {
+      const { WebSocket } = require_websocket3();
+      module2.exports.WebSocket = WebSocket;
+    }
+    module2.exports.request = makeDispatcher(api.request);
+    module2.exports.stream = makeDispatcher(api.stream);
+    module2.exports.pipeline = makeDispatcher(api.pipeline);
+    module2.exports.connect = makeDispatcher(api.connect);
+    module2.exports.upgrade = makeDispatcher(api.upgrade);
+    module2.exports.MockClient = MockClient;
+    module2.exports.MockPool = MockPool;
+    module2.exports.MockAgent = MockAgent;
+    module2.exports.mockErrors = mockErrors;
   }
 });
 
@@ -126991,7 +145241,7 @@ var require_lib4 = __commonJS({
     var https2 = __importStar2(require("https"));
     var pm = __importStar2(require_proxy2());
     var tunnel = __importStar2(require_tunnel2());
-    var undici_1 = require_undici2();
+    var undici_1 = require_undici3();
     var HttpCodes;
     (function(HttpCodes2) {
       HttpCodes2[HttpCodes2["OK"] = 200] = "OK";
@@ -127547,7 +145797,7 @@ var require_lib4 = __commonJS({
 });
 
 // node_modules/@actions/artifact/node_modules/@actions/github/lib/internal/utils.js
-var require_utils9 = __commonJS({
+var require_utils10 = __commonJS({
   "node_modules/@actions/artifact/node_modules/@actions/github/lib/internal/utils.js"(exports2) {
     "use strict";
     var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
@@ -127607,7 +145857,7 @@ var require_utils9 = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.getApiBaseUrl = exports2.getProxyFetch = exports2.getProxyAgentDispatcher = exports2.getProxyAgent = exports2.getAuthString = void 0;
     var httpClient = __importStar2(require_lib4());
-    var undici_1 = require_undici2();
+    var undici_1 = require_undici3();
     function getAuthString(token, options) {
       if (!token && !options.auth) {
         throw new Error("Parameter token or opts.auth is required");
@@ -131453,7 +149703,7 @@ var require_dist_node10 = __commonJS({
 });
 
 // node_modules/@actions/artifact/node_modules/@actions/github/lib/utils.js
-var require_utils10 = __commonJS({
+var require_utils11 = __commonJS({
   "node_modules/@actions/artifact/node_modules/@actions/github/lib/utils.js"(exports2) {
     "use strict";
     var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
@@ -131486,7 +149736,7 @@ var require_utils10 = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.getOctokitOptions = exports2.GitHub = exports2.defaults = exports2.context = void 0;
     var Context = __importStar2(require_context2());
-    var Utils = __importStar2(require_utils9());
+    var Utils = __importStar2(require_utils10());
     var core_1 = require_dist_node8();
     var plugin_rest_endpoint_methods_1 = require_dist_node9();
     var plugin_paginate_rest_1 = require_dist_node10();
@@ -131546,7 +149796,7 @@ var require_github2 = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.getOctokit = exports2.context = void 0;
     var Context = __importStar2(require_context2());
-    var utils_1 = require_utils10();
+    var utils_1 = require_utils11();
     exports2.context = new Context.Context();
     function getOctokit(token, options, ...additionalPlugins) {
       const GitHubWithPlugins = utils_1.GitHub.plugin(...additionalPlugins);
@@ -133505,7 +151755,7 @@ var require_download_artifact = __commonJS({
     var config_1 = require_config2();
     var artifact_twirp_client_1 = require_artifact_twirp_client2();
     var generated_1 = require_generated();
-    var util_1 = require_util18();
+    var util_1 = require_util19();
     var errors_1 = require_errors4();
     var scrubQueryParameters = (url) => {
       const parsed = new URL(url);
@@ -133887,10 +152137,10 @@ var require_get_artifact = __commonJS({
     var github_1 = require_github2();
     var plugin_retry_1 = require_dist_node12();
     var core14 = __importStar2(require_core());
-    var utils_1 = require_utils10();
+    var utils_1 = require_utils11();
     var retry_options_1 = require_retry_options();
     var plugin_request_log_1 = require_dist_node11();
-    var util_1 = require_util18();
+    var util_1 = require_util19();
     var user_agent_1 = require_user_agent2();
     var artifact_twirp_client_1 = require_artifact_twirp_client2();
     var generated_1 = require_generated();
@@ -134011,11 +152261,11 @@ var require_delete_artifact = __commonJS({
     var github_1 = require_github2();
     var user_agent_1 = require_user_agent2();
     var retry_options_1 = require_retry_options();
-    var utils_1 = require_utils10();
+    var utils_1 = require_utils11();
     var plugin_request_log_1 = require_dist_node11();
     var plugin_retry_1 = require_dist_node12();
     var artifact_twirp_client_1 = require_artifact_twirp_client2();
-    var util_1 = require_util18();
+    var util_1 = require_util19();
     var generated_1 = require_generated();
     var get_artifact_1 = require_get_artifact();
     var errors_1 = require_errors4();
@@ -134117,11 +152367,11 @@ var require_list_artifacts = __commonJS({
     var github_1 = require_github2();
     var user_agent_1 = require_user_agent2();
     var retry_options_1 = require_retry_options();
-    var utils_1 = require_utils10();
+    var utils_1 = require_utils11();
     var plugin_request_log_1 = require_dist_node11();
     var plugin_retry_1 = require_dist_node12();
     var artifact_twirp_client_1 = require_artifact_twirp_client2();
-    var util_1 = require_util18();
+    var util_1 = require_util19();
     var config_1 = require_config2();
     var generated_1 = require_generated();
     var maximumArtifactCount = (0, config_1.getMaxArtifactListCount)();
@@ -134238,7 +152488,7 @@ var require_list_artifacts = __commonJS({
 });
 
 // node_modules/@actions/artifact/lib/internal/client.js
-var require_client3 = __commonJS({
+var require_client4 = __commonJS({
   "node_modules/@actions/artifact/lib/internal/client.js"(exports2) {
     "use strict";
     var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
@@ -134425,17 +152675,17 @@ var require_artifact2 = __commonJS({
       for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p);
     };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    var client_1 = require_client3();
+    var client_1 = require_client4();
     __exportStar2(require_interfaces2(), exports2);
     __exportStar2(require_errors4(), exports2);
-    __exportStar2(require_client3(), exports2);
+    __exportStar2(require_client4(), exports2);
     var client = new client_1.DefaultArtifactClient();
     exports2.default = client;
   }
 });
 
 // node_modules/@actions/artifact-legacy/node_modules/@actions/core/lib/utils.js
-var require_utils11 = __commonJS({
+var require_utils12 = __commonJS({
   "node_modules/@actions/artifact-legacy/node_modules/@actions/core/lib/utils.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -134500,7 +152750,7 @@ var require_command2 = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.issue = exports2.issueCommand = void 0;
     var os2 = __importStar2(require("os"));
-    var utils_1 = require_utils11();
+    var utils_1 = require_utils12();
     function issueCommand(command, properties, message) {
       const cmd = new Command(command, properties, message);
       process.stdout.write(cmd.toString() + os2.EOL);
@@ -134588,7 +152838,7 @@ var require_file_command2 = __commonJS({
     var crypto2 = __importStar2(require("crypto"));
     var fs8 = __importStar2(require("fs"));
     var os2 = __importStar2(require("os"));
-    var utils_1 = require_utils11();
+    var utils_1 = require_utils12();
     function issueFileCommand(command, message) {
       const filePath = process.env[`GITHUB_${command}`];
       if (!filePath) {
@@ -134763,7 +153013,7 @@ var require_lib5 = __commonJS({
     var https2 = __importStar2(require("https"));
     var pm = __importStar2(require_proxy3());
     var tunnel = __importStar2(require_tunnel2());
-    var undici_1 = require_undici2();
+    var undici_1 = require_undici3();
     var HttpCodes;
     (function(HttpCodes2) {
       HttpCodes2[HttpCodes2["OK"] = 200] = "OK";
@@ -137056,7 +155306,7 @@ var require_core3 = __commonJS({
     exports2.platform = exports2.toPlatformPath = exports2.toWin32Path = exports2.toPosixPath = exports2.markdownSummary = exports2.summary = exports2.getIDToken = exports2.getState = exports2.saveState = exports2.group = exports2.endGroup = exports2.startGroup = exports2.info = exports2.notice = exports2.warning = exports2.error = exports2.debug = exports2.isDebug = exports2.setFailed = exports2.setCommandEcho = exports2.setOutput = exports2.getBooleanInput = exports2.getMultilineInput = exports2.getInput = exports2.addPath = exports2.setSecret = exports2.exportVariable = exports2.ExitCode = void 0;
     var command_1 = require_command2();
     var file_command_1 = require_file_command2();
-    var utils_1 = require_utils11();
+    var utils_1 = require_utils12();
     var os2 = __importStar2(require("os"));
     var path7 = __importStar2(require("path"));
     var oidc_utils_1 = require_oidc_utils2();
@@ -138129,7 +156379,7 @@ var require_crc64 = __commonJS({
 });
 
 // node_modules/@actions/artifact-legacy/lib/internal/utils.js
-var require_utils12 = __commonJS({
+var require_utils13 = __commonJS({
   "node_modules/@actions/artifact-legacy/lib/internal/utils.js"(exports2) {
     "use strict";
     var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
@@ -138439,7 +156689,7 @@ var require_http_manager = __commonJS({
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.HttpManager = void 0;
-    var utils_1 = require_utils12();
+    var utils_1 = require_utils13();
     var HttpManager = class {
       constructor(clientCount, userAgent2) {
         if (clientCount < 1) {
@@ -138694,7 +156944,7 @@ var require_requestUtils2 = __commonJS({
     };
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.retryHttpClientRequest = exports2.retry = void 0;
-    var utils_1 = require_utils12();
+    var utils_1 = require_utils13();
     var core14 = __importStar2(require_core3());
     var config_variables_1 = require_config_variables();
     function retry2(name, operation, customErrorMessages, maxAttempts) {
@@ -138815,7 +157065,7 @@ var require_upload_http_client = __commonJS({
     var core14 = __importStar2(require_core3());
     var tmp = __importStar2(require_tmp_promise());
     var stream = __importStar2(require("stream"));
-    var utils_1 = require_utils12();
+    var utils_1 = require_utils13();
     var config_variables_1 = require_config_variables();
     var util_1 = require("util");
     var url_1 = require("url");
@@ -139206,7 +157456,7 @@ var require_download_http_client = __commonJS({
     var fs8 = __importStar2(require("fs"));
     var core14 = __importStar2(require_core3());
     var zlib = __importStar2(require("zlib"));
-    var utils_1 = require_utils12();
+    var utils_1 = require_utils13();
     var url_1 = require("url");
     var status_reporter_1 = require_status_reporter();
     var perf_hooks_1 = require("perf_hooks");
@@ -139549,7 +157799,7 @@ var require_artifact_client = __commonJS({
     var core14 = __importStar2(require_core3());
     var upload_specification_1 = require_upload_specification();
     var upload_http_client_1 = require_upload_http_client();
-    var utils_1 = require_utils12();
+    var utils_1 = require_utils13();
     var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation2();
     var download_http_client_1 = require_download_http_client();
     var download_specification_1 = require_download_specification();
@@ -144561,10 +162811,12 @@ async function runWrapper() {
 void runWrapper();
 /*! Bundled license information:
 
+undici/lib/web/fetch/body.js:
 undici/lib/web/fetch/body.js:
 undici/lib/fetch/body.js:
   (*! formdata-polyfill. MIT License. Jimmy Wärting  *)
 
+undici/lib/web/websocket/frame.js:
 undici/lib/web/websocket/frame.js:
 undici/lib/websocket/frame.js:
   (*! ws. MIT License. Einar Otto Stangvik  *)
diff --git a/lib/analyze-action.js b/lib/analyze-action.js
index 10b796278a..b54fa658b1 100644
--- a/lib/analyze-action.js
+++ b/lib/analyze-action.js
@@ -21549,9 +21549,9 @@ var require_context = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/core/symbols.js
 var require_symbols6 = __commonJS({
-  "node_modules/undici/lib/core/symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/symbols.js"(exports2, module2) {
     module2.exports = {
       kClose: /* @__PURE__ */ Symbol("close"),
       kDestroy: /* @__PURE__ */ Symbol("destroy"),
@@ -21562,7 +21562,6 @@ var require_symbols6 = __commonJS({
       kQueue: /* @__PURE__ */ Symbol("queue"),
       kConnect: /* @__PURE__ */ Symbol("connect"),
       kConnecting: /* @__PURE__ */ Symbol("connecting"),
-      kHeadersList: /* @__PURE__ */ Symbol("headers list"),
       kKeepAliveDefaultTimeout: /* @__PURE__ */ Symbol("default keep alive timeout"),
       kKeepAliveMaxTimeout: /* @__PURE__ */ Symbol("max keep alive timeout"),
       kKeepAliveTimeoutThreshold: /* @__PURE__ */ Symbol("keep alive timeout threshold"),
@@ -21575,6 +21574,7 @@ var require_symbols6 = __commonJS({
       kHost: /* @__PURE__ */ Symbol("host"),
       kNoRef: /* @__PURE__ */ Symbol("no ref"),
       kBodyUsed: /* @__PURE__ */ Symbol("used"),
+      kBody: /* @__PURE__ */ Symbol("abstracted request body"),
       kRunning: /* @__PURE__ */ Symbol("running"),
       kBlocking: /* @__PURE__ */ Symbol("blocking"),
       kPending: /* @__PURE__ */ Symbol("pending"),
@@ -21587,6 +21587,8 @@ var require_symbols6 = __commonJS({
       kNeedDrain: /* @__PURE__ */ Symbol("need drain"),
       kReset: /* @__PURE__ */ Symbol("reset"),
       kDestroyed: /* @__PURE__ */ Symbol.for("nodejs.stream.destroyed"),
+      kResume: /* @__PURE__ */ Symbol("resume"),
+      kOnError: /* @__PURE__ */ Symbol("on error"),
       kMaxHeadersSize: /* @__PURE__ */ Symbol("max headers size"),
       kRunningIdx: /* @__PURE__ */ Symbol("running index"),
       kPendingIdx: /* @__PURE__ */ Symbol("pending index"),
@@ -21608,67 +21610,90 @@ var require_symbols6 = __commonJS({
       kMaxResponseSize: /* @__PURE__ */ Symbol("max response size"),
       kHTTP2Session: /* @__PURE__ */ Symbol("http2Session"),
       kHTTP2SessionState: /* @__PURE__ */ Symbol("http2Session state"),
-      kHTTP2BuildRequest: /* @__PURE__ */ Symbol("http2 build request"),
-      kHTTP1BuildRequest: /* @__PURE__ */ Symbol("http1 build request"),
-      kHTTP2CopyHeaders: /* @__PURE__ */ Symbol("http2 copy headers"),
-      kHTTPConnVersion: /* @__PURE__ */ Symbol("http connection version"),
       kRetryHandlerDefaultRetry: /* @__PURE__ */ Symbol("retry agent default retry"),
-      kConstruct: /* @__PURE__ */ Symbol("constructable")
+      kConstruct: /* @__PURE__ */ Symbol("constructable"),
+      kListeners: /* @__PURE__ */ Symbol("listeners"),
+      kHTTPContext: /* @__PURE__ */ Symbol("http context"),
+      kMaxConcurrentStreams: /* @__PURE__ */ Symbol("max concurrent streams"),
+      kNoProxyAgent: /* @__PURE__ */ Symbol("no proxy agent"),
+      kHttpProxyAgent: /* @__PURE__ */ Symbol("http proxy agent"),
+      kHttpsProxyAgent: /* @__PURE__ */ Symbol("https proxy agent")
     };
   }
 });
 
-// node_modules/undici/lib/core/errors.js
+// node_modules/@actions/github/node_modules/undici/lib/core/errors.js
 var require_errors2 = __commonJS({
-  "node_modules/undici/lib/core/errors.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/errors.js"(exports2, module2) {
     "use strict";
+    var kUndiciError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR");
     var UndiciError = class extends Error {
       constructor(message) {
         super(message);
         this.name = "UndiciError";
         this.code = "UND_ERR";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kUndiciError] === true;
+      }
+      [kUndiciError] = true;
     };
-    var ConnectTimeoutError = class _ConnectTimeoutError extends UndiciError {
+    var kConnectTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT");
+    var ConnectTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ConnectTimeoutError);
         this.name = "ConnectTimeoutError";
         this.message = message || "Connect Timeout Error";
         this.code = "UND_ERR_CONNECT_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kConnectTimeoutError] === true;
+      }
+      [kConnectTimeoutError] = true;
     };
-    var HeadersTimeoutError = class _HeadersTimeoutError extends UndiciError {
+    var kHeadersTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT");
+    var HeadersTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersTimeoutError);
         this.name = "HeadersTimeoutError";
         this.message = message || "Headers Timeout Error";
         this.code = "UND_ERR_HEADERS_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersTimeoutError] === true;
+      }
+      [kHeadersTimeoutError] = true;
     };
-    var HeadersOverflowError = class _HeadersOverflowError extends UndiciError {
+    var kHeadersOverflowError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW");
+    var HeadersOverflowError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersOverflowError);
         this.name = "HeadersOverflowError";
         this.message = message || "Headers Overflow Error";
         this.code = "UND_ERR_HEADERS_OVERFLOW";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersOverflowError] === true;
+      }
+      [kHeadersOverflowError] = true;
     };
-    var BodyTimeoutError = class _BodyTimeoutError extends UndiciError {
+    var kBodyTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT");
+    var BodyTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _BodyTimeoutError);
         this.name = "BodyTimeoutError";
         this.message = message || "Body Timeout Error";
         this.code = "UND_ERR_BODY_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBodyTimeoutError] === true;
+      }
+      [kBodyTimeoutError] = true;
     };
-    var ResponseStatusCodeError = class _ResponseStatusCodeError extends UndiciError {
+    var kResponseStatusCodeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RESPONSE_STATUS_CODE");
+    var ResponseStatusCodeError = class extends UndiciError {
       constructor(message, statusCode, headers, body) {
         super(message);
-        Error.captureStackTrace(this, _ResponseStatusCodeError);
         this.name = "ResponseStatusCodeError";
         this.message = message || "Response Status Code Error";
         this.code = "UND_ERR_RESPONSE_STATUS_CODE";
@@ -21677,129 +21702,198 @@ var require_errors2 = __commonJS({
         this.statusCode = statusCode;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseStatusCodeError] === true;
+      }
+      [kResponseStatusCodeError] = true;
     };
-    var InvalidArgumentError = class _InvalidArgumentError extends UndiciError {
+    var kInvalidArgumentError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_ARG");
+    var InvalidArgumentError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidArgumentError);
         this.name = "InvalidArgumentError";
         this.message = message || "Invalid Argument Error";
         this.code = "UND_ERR_INVALID_ARG";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidArgumentError] === true;
+      }
+      [kInvalidArgumentError] = true;
     };
-    var InvalidReturnValueError = class _InvalidReturnValueError extends UndiciError {
+    var kInvalidReturnValueError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE");
+    var InvalidReturnValueError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidReturnValueError);
         this.name = "InvalidReturnValueError";
         this.message = message || "Invalid Return Value Error";
         this.code = "UND_ERR_INVALID_RETURN_VALUE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidReturnValueError] === true;
+      }
+      [kInvalidReturnValueError] = true;
+    };
+    var kAbortError = /* @__PURE__ */ 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";
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kAbortError] === true;
+      }
+      [kAbortError] = true;
     };
-    var RequestAbortedError = class _RequestAbortedError extends UndiciError {
+    var kRequestAbortedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_ABORTED");
+    var RequestAbortedError = class extends AbortError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestAbortedError);
         this.name = "AbortError";
         this.message = message || "Request aborted";
         this.code = "UND_ERR_ABORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestAbortedError] === true;
+      }
+      [kRequestAbortedError] = true;
     };
-    var InformationalError = class _InformationalError extends UndiciError {
+    var kInformationalError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INFO");
+    var InformationalError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InformationalError);
         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 RequestContentLengthMismatchError = class _RequestContentLengthMismatchError extends UndiciError {
+    var kRequestContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH");
+    var RequestContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestContentLengthMismatchError);
         this.name = "RequestContentLengthMismatchError";
         this.message = message || "Request body length does not match content-length header";
         this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestContentLengthMismatchError] === true;
+      }
+      [kRequestContentLengthMismatchError] = true;
     };
-    var ResponseContentLengthMismatchError = class _ResponseContentLengthMismatchError extends UndiciError {
+    var kResponseContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH");
+    var ResponseContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseContentLengthMismatchError);
         this.name = "ResponseContentLengthMismatchError";
         this.message = message || "Response body length does not match content-length header";
         this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseContentLengthMismatchError] === true;
+      }
+      [kResponseContentLengthMismatchError] = true;
     };
-    var ClientDestroyedError = class _ClientDestroyedError extends UndiciError {
+    var kClientDestroyedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_DESTROYED");
+    var ClientDestroyedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientDestroyedError);
         this.name = "ClientDestroyedError";
         this.message = message || "The client is destroyed";
         this.code = "UND_ERR_DESTROYED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientDestroyedError] === true;
+      }
+      [kClientDestroyedError] = true;
     };
-    var ClientClosedError = class _ClientClosedError extends UndiciError {
+    var kClientClosedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CLOSED");
+    var ClientClosedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientClosedError);
         this.name = "ClientClosedError";
         this.message = message || "The client is closed";
         this.code = "UND_ERR_CLOSED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientClosedError] === true;
+      }
+      [kClientClosedError] = true;
     };
-    var SocketError = class _SocketError extends UndiciError {
+    var kSocketError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_SOCKET");
+    var SocketError = class extends UndiciError {
       constructor(message, socket) {
         super(message);
-        Error.captureStackTrace(this, _SocketError);
         this.name = "SocketError";
         this.message = message || "Socket error";
         this.code = "UND_ERR_SOCKET";
         this.socket = socket;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kSocketError] === true;
+      }
+      [kSocketError] = true;
     };
-    var NotSupportedError = class _NotSupportedError extends UndiciError {
+    var kNotSupportedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED");
+    var NotSupportedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _NotSupportedError);
         this.name = "NotSupportedError";
         this.message = message || "Not supported error";
         this.code = "UND_ERR_NOT_SUPPORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kNotSupportedError] === true;
+      }
+      [kNotSupportedError] = true;
     };
+    var kBalancedPoolMissingUpstreamError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM");
     var BalancedPoolMissingUpstreamError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, NotSupportedError);
         this.name = "MissingUpstreamError";
         this.message = message || "No upstream has been added to the BalancedPool";
         this.code = "UND_ERR_BPL_MISSING_UPSTREAM";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBalancedPoolMissingUpstreamError] === true;
+      }
+      [kBalancedPoolMissingUpstreamError] = true;
     };
-    var HTTPParserError = class _HTTPParserError extends Error {
+    var kHTTPParserError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HTTP_PARSER");
+    var HTTPParserError = class extends Error {
       constructor(message, code, data) {
         super(message);
-        Error.captureStackTrace(this, _HTTPParserError);
         this.name = "HTTPParserError";
         this.code = code ? `HPE_${code}` : void 0;
         this.data = data ? data.toString() : void 0;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHTTPParserError] === true;
+      }
+      [kHTTPParserError] = true;
     };
-    var ResponseExceededMaxSizeError = class _ResponseExceededMaxSizeError extends UndiciError {
+    var kResponseExceededMaxSizeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE");
+    var ResponseExceededMaxSizeError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseExceededMaxSizeError);
         this.name = "ResponseExceededMaxSizeError";
         this.message = message || "Response content exceeded max size";
         this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseExceededMaxSizeError] === true;
+      }
+      [kResponseExceededMaxSizeError] = true;
     };
-    var RequestRetryError = class _RequestRetryError extends UndiciError {
+    var kRequestRetryError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_RETRY");
+    var RequestRetryError = class extends UndiciError {
       constructor(message, code, { headers, data }) {
         super(message);
-        Error.captureStackTrace(this, _RequestRetryError);
         this.name = "RequestRetryError";
         this.message = message || "Request retry error";
         this.code = "UND_ERR_REQ_RETRY";
@@ -21807,8 +21901,43 @@ var require_errors2 = __commonJS({
         this.data = data;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestRetryError] === true;
+      }
+      [kRequestRetryError] = true;
+    };
+    var kResponseError = /* @__PURE__ */ 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 = /* @__PURE__ */ 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,
@@ -21828,14 +21957,16 @@ var require_errors2 = __commonJS({
       ResponseContentLengthMismatchError,
       BalancedPoolMissingUpstreamError,
       ResponseExceededMaxSizeError,
-      RequestRetryError
+      RequestRetryError,
+      ResponseError,
+      SecureProxyConnectionError
     };
   }
 });
 
-// node_modules/undici/lib/core/constants.js
+// node_modules/@actions/github/node_modules/undici/lib/core/constants.js
 var require_constants6 = __commonJS({
-  "node_modules/undici/lib/core/constants.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/constants.js"(exports2, module2) {
     "use strict";
     var headerNameLowerCasedRecord = {};
     var wellknownHeaderNames = [
@@ -21948,28 +22079,212 @@ var require_constants6 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/util.js
+// node_modules/@actions/github/node_modules/undici/lib/core/tree.js
+var require_tree2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/tree.js"(exports2, module2) {
+    "use strict";
+    var {
+      wellknownHeaderNames,
+      headerNameLowerCasedRecord
+    } = require_constants6();
+    var TstNode = class _TstNode {
+      /** @type {any} */
+      value = null;
+      /** @type {null | TstNode} */
+      left = null;
+      /** @type {null | TstNode} */
+      middle = null;
+      /** @type {null | TstNode} */
+      right = null;
+      /** @type {number} */
+      code;
+      /**
+       * @param {string} key
+       * @param {any} value
+       * @param {number} index
+       */
+      constructor(key, value, index) {
+        if (index === void 0 || index >= key.length) {
+          throw new TypeError("Unreachable");
+        }
+        const code = this.code = key.charCodeAt(index);
+        if (code > 127) {
+          throw new TypeError("key must be ascii string");
+        }
+        if (key.length !== ++index) {
+          this.middle = new _TstNode(key, value, index);
+        } else {
+          this.value = value;
+        }
+      }
+      /**
+       * @param {string} key
+       * @param {any} value
+       */
+      add(key, value) {
+        const length = key.length;
+        if (length === 0) {
+          throw new TypeError("Unreachable");
+        }
+        let index = 0;
+        let node = this;
+        while (true) {
+          const code = key.charCodeAt(index);
+          if (code > 127) {
+            throw new TypeError("key must be ascii string");
+          }
+          if (node.code === code) {
+            if (length === ++index) {
+              node.value = value;
+              break;
+            } else if (node.middle !== null) {
+              node = node.middle;
+            } else {
+              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;
+          }
+        }
+      }
+      /**
+       * @param {Uint8Array} key
+       * @return {TstNode | null}
+       */
+      search(key) {
+        const keylength = key.length;
+        let index = 0;
+        let node = this;
+        while (node !== null && index < keylength) {
+          let code = key[index];
+          if (code <= 90 && code >= 65) {
+            code |= 32;
+          }
+          while (node !== null) {
+            if (code === node.code) {
+              if (keylength === ++index) {
+                return node;
+              }
+              node = node.middle;
+              break;
+            }
+            node = node.code < code ? node.left : node.right;
+          }
+        }
+        return null;
+      }
+    };
+    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);
+        }
+      }
+      /**
+       * @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/@actions/github/node_modules/undici/lib/core/util.js
 var require_util9 = __commonJS({
-  "node_modules/undici/lib/core/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/util.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { kDestroyed, kBodyUsed } = require_symbols6();
-    var { IncomingMessage } = require("http");
-    var stream2 = require("stream");
-    var net = require("net");
+    var assert = require("node:assert");
+    var { kDestroyed, kBodyUsed, kListeners, kBody } = require_symbols6();
+    var { IncomingMessage } = require("node:http");
+    var stream2 = 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_errors2();
-    var { Blob: Blob2 } = require("buffer");
-    var nodeUtil = require("util");
-    var { stringify } = require("querystring");
     var { headerNameLowerCasedRecord } = require_constants6();
+    var { tree } = require_tree2();
     var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v) => Number(v));
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
+      }
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
+      }
+    };
+    function wrapRequestBody(body) {
+      if (isStream(body)) {
+        if (bodyLength(body) === 0) {
+          body.on("data", function() {
+            assert(false);
+          });
+        }
+        if (typeof body.readableDidRead !== "boolean") {
+          body[kBodyUsed] = false;
+          EE.prototype.on.call(body, "data", function() {
+            this[kBodyUsed] = true;
+          });
+        }
+        return body;
+      } else if (body && typeof body.pipeTo === "function") {
+        return new BodyAsyncIterable(body);
+      } else if (body && typeof body !== "string" && !ArrayBuffer.isView(body) && isIterable(body)) {
+        return new BodyAsyncIterable(body);
+      } else {
+        return body;
+      }
+    }
     function nop() {
     }
     function isStream(obj) {
       return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function";
     }
     function isBlobLike(object) {
-      return Blob2 && object instanceof Blob2 || object && typeof object === "object" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]);
+      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(url2, queryParams) {
       if (url2.includes("?") || url2.includes("#")) {
@@ -21981,10 +22296,17 @@ var require_util9 = __commonJS({
       }
       return url2;
     }
+    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(url2) {
       if (typeof url2 === "string") {
         url2 = new URL(url2);
-        if (!/^https?:/.test(url2.origin || url2.protocol)) {
+        if (!isHttpOrHttpsPrefixed(url2.origin || url2.protocol)) {
           throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
         }
         return url2;
@@ -21992,11 +22314,8 @@ var require_util9 = __commonJS({
       if (!url2 || typeof url2 !== "object") {
         throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object.");
       }
-      if (!/^https?:/.test(url2.origin || url2.protocol)) {
-        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
-      }
       if (!(url2 instanceof URL)) {
-        if (url2.port != null && url2.port !== "" && !Number.isFinite(parseInt(url2.port))) {
+        if (url2.port != null && url2.port !== "" && isValidPort(url2.port) === false) {
           throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer.");
         }
         if (url2.path != null && typeof url2.path !== "string") {
@@ -22011,16 +22330,22 @@ var require_util9 = __commonJS({
         if (url2.origin != null && typeof url2.origin !== "string") {
           throw new InvalidArgumentError("Invalid URL origin: the origin must be a string or null/undefined.");
         }
+        if (!isHttpOrHttpsPrefixed(url2.origin || url2.protocol)) {
+          throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
+        }
         const port = url2.port != null ? url2.port : url2.protocol === "https:" ? 443 : 80;
-        let origin = url2.origin != null ? url2.origin : `${url2.protocol}//${url2.hostname}:${port}`;
+        let origin = url2.origin != null ? url2.origin : `${url2.protocol || ""}//${url2.hostname || ""}:${port}`;
         let path16 = url2.path != null ? url2.path : `${url2.pathname || ""}${url2.search || ""}`;
-        if (origin.endsWith("/")) {
-          origin = origin.substring(0, origin.length - 1);
+        if (origin[origin.length - 1] === "/") {
+          origin = origin.slice(0, origin.length - 1);
         }
-        if (path16 && !path16.startsWith("/")) {
+        if (path16 && path16[0] !== "/") {
           path16 = `/${path16}`;
         }
-        url2 = new URL(origin + path16);
+        return new URL(`${origin}${path16}`);
+      }
+      if (!isHttpOrHttpsPrefixed(url2.origin || url2.protocol)) {
+        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
       }
       return url2;
     }
@@ -22045,7 +22370,7 @@ var require_util9 = __commonJS({
       if (!host) {
         return null;
       }
-      assert.strictEqual(typeof host, "string");
+      assert(typeof host === "string");
       const servername = getHostname(host);
       if (net.isIP(servername)) {
         return "";
@@ -22074,12 +22399,8 @@ var require_util9 = __commonJS({
       }
       return null;
     }
-    function isDestroyed(stream3) {
-      return !stream3 || !!(stream3.destroyed || stream3[kDestroyed]);
-    }
-    function isReadableAborted(stream3) {
-      const state = stream3 && stream3._readableState;
-      return isDestroyed(stream3) && state && !state.endEmitted;
+    function isDestroyed(body) {
+      return body && !!(body.destroyed || body[kDestroyed] || stream2.isDestroyed?.(body));
     }
     function destroy(stream3, err) {
       if (stream3 == null || !isStream(stream3) || isDestroyed(stream3)) {
@@ -22091,9 +22412,9 @@ var require_util9 = __commonJS({
         }
         stream3.destroy(err);
       } else if (err) {
-        process.nextTick((stream4, err2) => {
-          stream4.emit("error", err2);
-        }, stream3, err);
+        queueMicrotask(() => {
+          stream3.emit("error", err);
+        });
       }
       if (stream3.destroyed !== true) {
         stream3[kDestroyed] = true;
@@ -22105,25 +22426,29 @@ var require_util9 = __commonJS({
       return m ? parseInt(m[1], 10) * 1e3 : null;
     }
     function headerNameToString(value) {
-      return headerNameLowerCasedRecord[value] || value.toLowerCase();
+      return typeof value === "string" ? headerNameLowerCasedRecord[value] ?? value.toLowerCase() : tree.lookup(value) ?? value.toString("latin1").toLowerCase();
+    }
+    function bufferToLowerCasedHeaderName(value) {
+      return tree.lookup(value) ?? value.toString("latin1").toLowerCase();
     }
-    function parseHeaders(headers, obj = {}) {
-      if (!Array.isArray(headers)) return headers;
+    function parseHeaders(headers, obj) {
+      if (obj === void 0) obj = {};
       for (let i = 0; i < headers.length; i += 2) {
-        const key = headers[i].toString().toLowerCase();
+        const key = headerNameToString(headers[i]);
         let val = obj[key];
-        if (!val) {
-          if (Array.isArray(headers[i + 1])) {
-            obj[key] = headers[i + 1].map((x) => x.toString("utf8"));
-          } else {
-            obj[key] = headers[i + 1].toString("utf8");
-          }
-        } else {
-          if (!Array.isArray(val)) {
+        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");
+          }
         }
       }
       if ("content-length" in obj && "content-disposition" in obj) {
@@ -22132,20 +22457,26 @@ var require_util9 = __commonJS({
       return obj;
     }
     function parseRawHeaders(headers) {
-      const ret = [];
+      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) {
-        const key = headers[n + 0].toString();
-        const val = headers[n + 1].toString("utf8");
-        if (key.length === 14 && (key === "content-length" || key.toLowerCase() === "content-length")) {
-          ret.push(key, val);
+        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 (key.length === 19 && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
-          contentDispositionIdx = ret.push(key, val) - 1;
-        } else {
-          ret.push(key, val);
+        } else if (kLen === 19 && key[7] === "-" && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
+          contentDispositionIdx = n + 1;
         }
+        ret[n] = key;
+        ret[n + 1] = val;
       }
       if (hasContentLength && contentDispositionIdx !== -1) {
         ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1");
@@ -22185,17 +22516,13 @@ var require_util9 = __commonJS({
       }
     }
     function isDisturbed(body) {
-      return !!(body && (stream2.isDisturbed ? stream2.isDisturbed(body) || body[kBodyUsed] : body[kBodyUsed] || body.readableDidRead || body._readableState && body._readableState.dataEmitted || isReadableAborted(body)));
+      return !!(body && (stream2.isDisturbed(body) || body[kBodyUsed]));
     }
     function isErrored(body) {
-      return !!(body && (stream2.isErrored ? stream2.isErrored(body) : /state: 'errored'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream2.isErrored(body));
     }
     function isReadable(body) {
-      return !!(body && (stream2.isReadable ? stream2.isReadable(body) : /state: 'readable'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream2.isReadable(body));
     }
     function getSocketInfo(socket) {
       return {
@@ -22209,21 +22536,9 @@ var require_util9 = __commonJS({
         bytesRead: socket.bytesRead
       };
     }
-    async function* convertIterableToBuffer(iterable) {
-      for await (const chunk of iterable) {
-        yield Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
-      }
-    }
-    var ReadableStream2;
     function ReadableStreamFrom(iterable) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      if (ReadableStream2.from) {
-        return ReadableStream2.from(convertIterableToBuffer(iterable));
-      }
       let iterator2;
-      return new ReadableStream2(
+      return new ReadableStream(
         {
           async start() {
             iterator2 = iterable[Symbol.asyncIterator]();
@@ -22233,37 +22548,26 @@ var require_util9 = __commonJS({
             if (done) {
               queueMicrotask(() => {
                 controller.close();
+                controller.byobRequest?.respond(0);
               });
             } else {
               const buf = Buffer.isBuffer(value) ? value : Buffer.from(value);
-              controller.enqueue(new Uint8Array(buf));
+              if (buf.byteLength) {
+                controller.enqueue(new Uint8Array(buf));
+              }
             }
             return controller.desiredSize > 0;
           },
           async cancel(reason) {
             await iterator2.return();
-          }
-        },
-        0
+          },
+          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 throwIfAborted(signal) {
-      if (!signal) {
-        return;
-      }
-      if (typeof signal.throwIfAborted === "function") {
-        signal.throwIfAborted();
-      } else {
-        if (signal.aborted) {
-          const err = new Error("The operation was aborted");
-          err.name = "AbortError";
-          throw err;
-        }
-      }
-    }
     function addAbortListener(signal, listener) {
       if ("addEventListener" in signal) {
         signal.addEventListener("abort", listener, { once: true });
@@ -22272,14 +22576,52 @@ var require_util9 = __commonJS({
       signal.addListener("abort", listener);
       return () => signal.removeListener("abort", listener);
     }
-    var hasToWellFormed = !!String.prototype.toWellFormed;
+    var hasToWellFormed = typeof String.prototype.toWellFormed === "function";
+    var hasIsWellFormed = typeof String.prototype.isWellFormed === "function";
     function toUSVString(val) {
-      if (hasToWellFormed) {
-        return `${val}`.toWellFormed();
-      } else if (nodeUtil.toUSVString) {
-        return nodeUtil.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;
+      }
+    }
+    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 `${val}`;
+      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 };
@@ -22290,25 +22632,70 @@ var require_util9 = __commonJS({
         size: m[3] ? parseInt(m[3]) : null
       } : null;
     }
-    var kEnumerableProperty = /* @__PURE__ */ Object.create(null);
-    kEnumerableProperty.enumerable = true;
-    module2.exports = {
-      kEnumerableProperty,
-      nop,
-      isDisturbed,
-      isErrored,
-      isReadable,
-      toUSVString,
-      isReadableAborted,
-      isBlobLike,
-      parseOrigin,
-      parseURL,
-      getServerName,
+    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);
+      }
+      obj[kListeners] = null;
+    }
+    function errorRequest2(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: errorRequest2,
       parseRawHeaders,
       parseHeaders,
       parseKeepAliveTimeout,
@@ -22321,15673 +22708,16863 @@ var require_util9 = __commonJS({
       getSocketInfo,
       isFormDataLike,
       buildURL,
-      throwIfAborted,
       addAbortListener,
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isTokenCharCode,
       parseRangeHeader,
+      normalizedMethodRecordsBase,
+      normalizedMethodRecords,
+      isValidPort,
+      isHttpOrHttpsPrefixed,
       nodeMajor,
       nodeMinor,
-      nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13,
-      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"]
+      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"],
+      wrapRequestBody
     };
   }
 });
 
-// node_modules/undici/lib/timers.js
-var require_timers2 = __commonJS({
-  "node_modules/undici/lib/timers.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js
+var require_diagnostics2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js"(exports2, module2) {
     "use strict";
-    var fastNow = Date.now();
-    var fastNowTimeout;
-    var fastTimers = [];
-    function onTimeout() {
-      fastNow = Date.now();
-      let len = fastTimers.length;
-      let idx = 0;
-      while (idx < len) {
-        const timer = fastTimers[idx];
-        if (timer.state === 0) {
-          timer.state = fastNow + timer.delay;
-        } else if (timer.state > 0 && fastNow >= timer.state) {
-          timer.state = -1;
-          timer.callback(timer.opaque);
-        }
-        if (timer.state === -1) {
-          timer.state = -2;
-          if (idx !== len - 1) {
-            fastTimers[idx] = fastTimers.pop();
-          } else {
-            fastTimers.pop();
-          }
-          len -= 1;
-        } else {
-          idx += 1;
-        }
-      }
-      if (fastTimers.length > 0) {
-        refreshTimeout();
-      }
-    }
-    function refreshTimeout() {
-      if (fastNowTimeout && fastNowTimeout.refresh) {
-        fastNowTimeout.refresh();
-      } else {
-        clearTimeout(fastNowTimeout);
-        fastNowTimeout = setTimeout(onTimeout, 1e3);
-        if (fastNowTimeout.unref) {
-          fastNowTimeout.unref();
-        }
-      }
-    }
-    var Timeout = class {
-      constructor(callback, delay2, opaque) {
-        this.callback = callback;
-        this.delay = delay2;
-        this.opaque = opaque;
-        this.state = -2;
-        this.refresh();
-      }
-      refresh() {
-        if (this.state === -2) {
-          fastTimers.push(this);
-          if (!fastNowTimeout || fastTimers.length === 1) {
-            refreshTimeout();
-          }
-        }
-        this.state = 0;
-      }
-      clear() {
-        this.state = -1;
-      }
-    };
-    module2.exports = {
-      setTimeout(callback, delay2, opaque) {
-        return delay2 < 1e3 ? setTimeout(callback, delay2, opaque) : new Timeout(callback, delay2, opaque);
-      },
-      clearTimeout(timeout) {
-        if (timeout instanceof Timeout) {
-          timeout.clear();
-        } else {
-          clearTimeout(timeout);
-        }
-      }
+    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")
     };
-  }
-});
-
-// node_modules/@fastify/busboy/deps/streamsearch/sbmh.js
-var require_sbmh = __commonJS({
-  "node_modules/@fastify/busboy/deps/streamsearch/sbmh.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    function SBMH(needle) {
-      if (typeof needle === "string") {
-        needle = Buffer.from(needle);
-      }
-      if (!Buffer.isBuffer(needle)) {
-        throw new TypeError("The needle has to be a String or a Buffer.");
-      }
-      const needleLength = needle.length;
-      if (needleLength === 0) {
-        throw new Error("The needle cannot be an empty String/Buffer.");
-      }
-      if (needleLength > 256) {
-        throw new Error("The needle cannot have a length bigger than 256.");
-      }
-      this.maxMatches = Infinity;
-      this.matches = 0;
-      this._occ = new Array(256).fill(needleLength);
-      this._lookbehind_size = 0;
-      this._needle = needle;
-      this._bufpos = 0;
-      this._lookbehind = Buffer.alloc(needleLength);
-      for (var i = 0; i < needleLength - 1; ++i) {
-        this._occ[needle[i]] = needleLength - 1 - i;
-      }
+    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: error3
+        } = evt;
+        debuglog(
+          "connection to %s using %s%s errored - %s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version,
+          error3.message
+        );
+      });
+      diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+        const {
+          request: { method, path: path16, origin }
+        } = evt;
+        debuglog("sending request to %s %s/%s", method, origin, path16);
+      });
+      diagnosticsChannel.channel("undici:request:headers").subscribe((evt) => {
+        const {
+          request: { method, path: path16, origin },
+          response: { statusCode }
+        } = evt;
+        debuglog(
+          "received response to %s %s/%s - HTTP %d",
+          method,
+          origin,
+          path16,
+          statusCode
+        );
+      });
+      diagnosticsChannel.channel("undici:request:trailers").subscribe((evt) => {
+        const {
+          request: { method, path: path16, origin }
+        } = evt;
+        debuglog("trailers received from %s %s/%s", method, origin, path16);
+      });
+      diagnosticsChannel.channel("undici:request:error").subscribe((evt) => {
+        const {
+          request: { method, path: path16, origin },
+          error: error3
+        } = evt;
+        debuglog(
+          "request to %s %s/%s errored - %s",
+          method,
+          origin,
+          path16,
+          error3.message
+        );
+      });
+      isClientSet = true;
     }
-    inherits(SBMH, EventEmitter);
-    SBMH.prototype.reset = function() {
-      this._lookbehind_size = 0;
-      this.matches = 0;
-      this._bufpos = 0;
-    };
-    SBMH.prototype.push = function(chunk, pos) {
-      if (!Buffer.isBuffer(chunk)) {
-        chunk = Buffer.from(chunk, "binary");
-      }
-      const chlen = chunk.length;
-      this._bufpos = pos || 0;
-      let r;
-      while (r !== chlen && this.matches < this.maxMatches) {
-        r = this._sbmh_feed(chunk);
-      }
-      return r;
-    };
-    SBMH.prototype._sbmh_feed = function(data) {
-      const len = data.length;
-      const needle = this._needle;
-      const needleLength = needle.length;
-      const lastNeedleChar = needle[needleLength - 1];
-      let pos = -this._lookbehind_size;
-      let ch;
-      if (pos < 0) {
-        while (pos < 0 && pos <= len - needleLength) {
-          ch = this._sbmh_lookup_char(data, pos + needleLength - 1);
-          if (ch === lastNeedleChar && this._sbmh_memcmp(data, pos, needleLength - 1)) {
-            this._lookbehind_size = 0;
-            ++this.matches;
-            this.emit("info", true);
-            return this._bufpos = pos + needleLength;
-          }
-          pos += this._occ[ch];
-        }
-        if (pos < 0) {
-          while (pos < 0 && !this._sbmh_memcmp(data, pos, len - pos)) {
-            ++pos;
-          }
-        }
-        if (pos >= 0) {
-          this.emit("info", false, this._lookbehind, 0, this._lookbehind_size);
-          this._lookbehind_size = 0;
-        } else {
-          const bytesToCutOff = this._lookbehind_size + pos;
-          if (bytesToCutOff > 0) {
-            this.emit("info", false, this._lookbehind, 0, bytesToCutOff);
-          }
-          this._lookbehind.copy(
-            this._lookbehind,
-            0,
-            bytesToCutOff,
-            this._lookbehind_size - bytesToCutOff
+    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
           );
-          this._lookbehind_size -= bytesToCutOff;
-          data.copy(this._lookbehind, this._lookbehind_size);
-          this._lookbehind_size += len;
-          this._bufpos = len;
-          return len;
-        }
-      }
-      pos += (pos >= 0) * this._bufpos;
-      if (data.indexOf(needle, pos) !== -1) {
-        pos = data.indexOf(needle, pos);
-        ++this.matches;
-        if (pos > 0) {
-          this.emit("info", true, data, this._bufpos, pos);
-        } else {
-          this.emit("info", true);
-        }
-        return this._bufpos = pos + needleLength;
-      } else {
-        pos = len - needleLength;
-      }
-      while (pos < len && (data[pos] !== needle[0] || Buffer.compare(
-        data.subarray(pos, pos + len - pos),
-        needle.subarray(0, len - pos)
-      ) !== 0)) {
-        ++pos;
-      }
-      if (pos < len) {
-        data.copy(this._lookbehind, 0, pos, pos + (len - pos));
-        this._lookbehind_size = len - pos;
-      }
-      if (pos > 0) {
-        this.emit("info", false, data, this._bufpos, pos < len ? pos : len);
-      }
-      this._bufpos = len;
-      return len;
-    };
-    SBMH.prototype._sbmh_lookup_char = function(data, pos) {
-      return pos < 0 ? this._lookbehind[this._lookbehind_size + pos] : data[pos];
-    };
-    SBMH.prototype._sbmh_memcmp = function(data, pos, len) {
-      for (var i = 0; i < len; ++i) {
-        if (this._sbmh_lookup_char(data, pos + i) !== this._needle[i]) {
-          return false;
-        }
+        });
+        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: error3
+          } = evt;
+          debuglog(
+            "connection to %s%s using %s%s errored - %s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version,
+            error3.message
+          );
+        });
+        diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+          const {
+            request: { method, path: path16, origin }
+          } = evt;
+          debuglog("sending request to %s %s/%s", method, origin, path16);
+        });
       }
-      return true;
-    };
-    module2.exports = SBMH;
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js
-var require_PartStream = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js"(exports2, module2) {
-    "use strict";
-    var inherits = require("node:util").inherits;
-    var ReadableStream2 = require("node:stream").Readable;
-    function PartStream(opts) {
-      ReadableStream2.call(this, opts);
+      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");
+      });
     }
-    inherits(PartStream, ReadableStream2);
-    PartStream.prototype._read = function(n) {
-    };
-    module2.exports = PartStream;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/getLimit.js
-var require_getLimit = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/getLimit.js"(exports2, module2) {
-    "use strict";
-    module2.exports = function getLimit(limits, name, defaultLimit) {
-      if (!limits || limits[name] === void 0 || limits[name] === null) {
-        return defaultLimit;
-      }
-      if (typeof limits[name] !== "number" || isNaN(limits[name])) {
-        throw new TypeError("Limit " + name + " is not a valid number");
-      }
-      return limits[name];
+    module2.exports = {
+      channels
     };
   }
 });
 
-// node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js
-var require_HeaderParser = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/request.js
+var require_request3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/request.js"(exports2, module2) {
     "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    var getLimit = require_getLimit();
-    var StreamSearch = require_sbmh();
-    var B_DCRLF = Buffer.from("\r\n\r\n");
-    var RE_CRLF = /\r\n/g;
-    var RE_HDR = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/;
-    function HeaderParser(cfg) {
-      EventEmitter.call(this);
-      cfg = cfg || {};
-      const self2 = this;
-      this.nread = 0;
-      this.maxed = false;
-      this.npairs = 0;
-      this.maxHeaderPairs = getLimit(cfg, "maxHeaderPairs", 2e3);
-      this.maxHeaderSize = getLimit(cfg, "maxHeaderSize", 80 * 1024);
-      this.buffer = "";
-      this.header = {};
-      this.finished = false;
-      this.ss = new StreamSearch(B_DCRLF);
-      this.ss.on("info", function(isMatch, data, start, end) {
-        if (data && !self2.maxed) {
-          if (self2.nread + end - start >= self2.maxHeaderSize) {
-            end = self2.maxHeaderSize - self2.nread + start;
-            self2.nread = self2.maxHeaderSize;
-            self2.maxed = true;
-          } else {
-            self2.nread += end - start;
-          }
-          self2.buffer += data.toString("binary", start, end);
+    var {
+      InvalidArgumentError,
+      NotSupportedError
+    } = require_errors2();
+    var assert = require("node:assert");
+    var {
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isStream,
+      destroy,
+      isBuffer,
+      isFormDataLike,
+      isIterable,
+      isBlobLike,
+      buildURL,
+      validateHandler,
+      getServerName,
+      normalizedMethodRecords
+    } = require_util9();
+    var { channels } = require_diagnostics2();
+    var { headerNameLowerCasedRecord } = require_constants6();
+    var invalidPathRegex = /[^\u0021-\u00ff]/;
+    var kHandler = /* @__PURE__ */ Symbol("handler");
+    var Request = class {
+      constructor(origin, {
+        path: path16,
+        method,
+        body,
+        headers,
+        query,
+        idempotent,
+        blocking,
+        upgrade,
+        headersTimeout,
+        bodyTimeout,
+        reset,
+        throwOnError,
+        expectContinue,
+        servername
+      }, handler2) {
+        if (typeof path16 !== "string") {
+          throw new InvalidArgumentError("path must be a string");
+        } else if (path16[0] !== "/" && !(path16.startsWith("http://") || path16.startsWith("https://")) && method !== "CONNECT") {
+          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
+        } else if (invalidPathRegex.test(path16)) {
+          throw new InvalidArgumentError("invalid request path");
         }
-        if (isMatch) {
-          self2._finish();
+        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");
         }
-      });
-    }
-    inherits(HeaderParser, EventEmitter);
-    HeaderParser.prototype.push = function(data) {
-      const r = this.ss.push(data);
-      if (this.finished) {
-        return r;
-      }
-    };
-    HeaderParser.prototype.reset = function() {
-      this.finished = false;
-      this.buffer = "";
-      this.header = {};
-      this.ss.reset();
-    };
-    HeaderParser.prototype._finish = function() {
-      if (this.buffer) {
-        this._parseHeader();
-      }
-      this.ss.matches = this.ss.maxMatches;
-      const header = this.header;
-      this.header = {};
-      this.buffer = "";
-      this.finished = true;
-      this.nread = this.npairs = 0;
-      this.maxed = false;
-      this.emit("header", header);
-    };
-    HeaderParser.prototype._parseHeader = function() {
-      if (this.npairs === this.maxHeaderPairs) {
-        return;
-      }
-      const lines = this.buffer.split(RE_CRLF);
-      const len = lines.length;
-      let m, h;
-      for (var i = 0; i < len; ++i) {
-        if (lines[i].length === 0) {
-          continue;
+        if (upgrade && typeof upgrade !== "string") {
+          throw new InvalidArgumentError("upgrade must be a string");
         }
-        if (lines[i][0] === "	" || lines[i][0] === " ") {
-          if (h) {
-            this.header[h][this.header[h].length - 1] += lines[i];
-            continue;
-          }
+        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
+          throw new InvalidArgumentError("invalid headersTimeout");
         }
-        const posColon = lines[i].indexOf(":");
-        if (posColon === -1 || posColon === 0) {
-          return;
+        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
+          throw new InvalidArgumentError("invalid bodyTimeout");
         }
-        m = RE_HDR.exec(lines[i]);
-        h = m[1].toLowerCase();
-        this.header[h] = this.header[h] || [];
-        this.header[h].push(m[2] || "");
-        if (++this.npairs === this.maxHeaderPairs) {
-          break;
+        if (reset != null && typeof reset !== "boolean") {
+          throw new InvalidArgumentError("invalid reset");
         }
-      }
-    };
-    module2.exports = HeaderParser;
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js
-var require_Dicer = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js"(exports2, module2) {
-    "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var inherits = require("node:util").inherits;
-    var StreamSearch = require_sbmh();
-    var PartStream = require_PartStream();
-    var HeaderParser = require_HeaderParser();
-    var DASH = 45;
-    var B_ONEDASH = Buffer.from("-");
-    var B_CRLF = Buffer.from("\r\n");
-    var EMPTY_FN = function() {
-    };
-    function Dicer(cfg) {
-      if (!(this instanceof Dicer)) {
-        return new Dicer(cfg);
-      }
-      WritableStream.call(this, cfg);
-      if (!cfg || !cfg.headerFirst && typeof cfg.boundary !== "string") {
-        throw new TypeError("Boundary required");
-      }
-      if (typeof cfg.boundary === "string") {
-        this.setBoundary(cfg.boundary);
-      } else {
-        this._bparser = void 0;
-      }
-      this._headerFirst = cfg.headerFirst;
-      this._dashes = 0;
-      this._parts = 0;
-      this._finished = false;
-      this._realFinish = false;
-      this._isPreamble = true;
-      this._justMatched = false;
-      this._firstWrite = true;
-      this._inHeader = true;
-      this._part = void 0;
-      this._cb = void 0;
-      this._ignoreData = false;
-      this._partOpts = { highWaterMark: cfg.partHwm };
-      this._pause = false;
-      const self2 = this;
-      this._hparser = new HeaderParser(cfg);
-      this._hparser.on("header", function(header) {
-        self2._inHeader = false;
-        self2._part.emit("header", header);
-      });
-    }
-    inherits(Dicer, WritableStream);
-    Dicer.prototype.emit = function(ev) {
-      if (ev === "finish" && !this._realFinish) {
-        if (!this._finished) {
-          const self2 = this;
-          process.nextTick(function() {
-            self2.emit("error", new Error("Unexpected end of multipart data"));
-            if (self2._part && !self2._ignoreData) {
-              const type2 = self2._isPreamble ? "Preamble" : "Part";
-              self2._part.emit("error", new Error(type2 + " terminated early due to unexpected end of multipart data"));
-              self2._part.push(null);
-              process.nextTick(function() {
-                self2._realFinish = true;
-                self2.emit("finish");
-                self2._realFinish = false;
-              });
-              return;
-            }
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
-          });
+        if (expectContinue != null && typeof expectContinue !== "boolean") {
+          throw new InvalidArgumentError("invalid expectContinue");
         }
-      } else {
-        WritableStream.prototype.emit.apply(this, arguments);
-      }
-    };
-    Dicer.prototype._write = function(data, encoding, cb) {
-      if (!this._hparser && !this._bparser) {
-        return cb();
-      }
-      if (this._headerFirst && this._isPreamble) {
-        if (!this._part) {
-          this._part = new PartStream(this._partOpts);
-          if (this.listenerCount("preamble") !== 0) {
-            this.emit("preamble", this._part);
-          } else {
-            this._ignore();
+        this.headersTimeout = headersTimeout;
+        this.bodyTimeout = bodyTimeout;
+        this.throwOnError = throwOnError === true;
+        this.method = method;
+        this.abort = null;
+        if (body == null) {
+          this.body = null;
+        } else if (isStream(body)) {
+          this.body = body;
+          const rState = this.body._readableState;
+          if (!rState || !rState.autoDestroy) {
+            this.endHandler = function autoDestroy() {
+              destroy(this);
+            };
+            this.body.on("end", this.endHandler);
           }
-        }
-        const r = this._hparser.push(data);
-        if (!this._inHeader && r !== void 0 && r < data.length) {
-          data = data.slice(r);
+          this.errorHandler = (err) => {
+            if (this.abort) {
+              this.abort(err);
+            } else {
+              this.error = err;
+            }
+          };
+          this.body.on("error", this.errorHandler);
+        } else if (isBuffer(body)) {
+          this.body = body.byteLength ? body : null;
+        } else if (ArrayBuffer.isView(body)) {
+          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
+        } else if (body instanceof ArrayBuffer) {
+          this.body = body.byteLength ? Buffer.from(body) : null;
+        } else if (typeof body === "string") {
+          this.body = body.length ? Buffer.from(body) : null;
+        } else if (isFormDataLike(body) || isIterable(body) || isBlobLike(body)) {
+          this.body = body;
         } else {
-          return cb();
+          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
         }
-      }
-      if (this._firstWrite) {
-        this._bparser.push(B_CRLF);
-        this._firstWrite = false;
-      }
-      this._bparser.push(data);
-      if (this._pause) {
-        this._cb = cb;
-      } else {
-        cb();
-      }
-    };
-    Dicer.prototype.reset = function() {
-      this._part = void 0;
-      this._bparser = void 0;
-      this._hparser = void 0;
-    };
-    Dicer.prototype.setBoundary = function(boundary) {
-      const self2 = this;
-      this._bparser = new StreamSearch("\r\n--" + boundary);
-      this._bparser.on("info", function(isMatch, data, start, end) {
-        self2._oninfo(isMatch, data, start, end);
-      });
-    };
-    Dicer.prototype._ignore = function() {
-      if (this._part && !this._ignoreData) {
-        this._ignoreData = true;
-        this._part.on("error", EMPTY_FN);
-        this._part.resume();
-      }
-    };
-    Dicer.prototype._oninfo = function(isMatch, data, start, end) {
-      let buf;
-      const self2 = this;
-      let i = 0;
-      let r;
-      let shouldWriteMore = true;
-      if (!this._part && this._justMatched && data) {
-        while (this._dashes < 2 && start + i < end) {
-          if (data[start + i] === DASH) {
-            ++i;
-            ++this._dashes;
-          } else {
-            if (this._dashes) {
-              buf = B_ONEDASH;
-            }
-            this._dashes = 0;
-            break;
+        this.completed = false;
+        this.aborted = false;
+        this.upgrade = upgrade || null;
+        this.path = query ? buildURL(path16, query) : path16;
+        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");
           }
-        }
-        if (this._dashes === 2) {
-          if (start + i < end && this.listenerCount("trailer") !== 0) {
-            this.emit("trailer", data.slice(start + i, end));
+          for (let i = 0; i < headers.length; i += 2) {
+            processHeader(this, headers[i], headers[i + 1]);
           }
-          this.reset();
-          this._finished = true;
-          if (self2._parts === 0) {
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
+        } 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");
         }
-        if (this._dashes) {
-          return;
+        validateHandler(handler2, method, upgrade);
+        this.servername = servername || getServerName(this.host);
+        this[kHandler] = handler2;
+        if (channels.create.hasSubscribers) {
+          channels.create.publish({ request: this });
         }
       }
-      if (this._justMatched) {
-        this._justMatched = false;
+      onBodySent(chunk) {
+        if (this[kHandler].onBodySent) {
+          try {
+            return this[kHandler].onBodySent(chunk);
+          } catch (err) {
+            this.abort(err);
+          }
+        }
       }
-      if (!this._part) {
-        this._part = new PartStream(this._partOpts);
-        this._part._read = function(n) {
-          self2._unpause();
-        };
-        if (this._isPreamble && this.listenerCount("preamble") !== 0) {
-          this.emit("preamble", this._part);
-        } else if (this._isPreamble !== true && this.listenerCount("part") !== 0) {
-          this.emit("part", this._part);
-        } else {
-          this._ignore();
-        }
-        if (!this._isPreamble) {
-          this._inHeader = true;
+      onRequestSent() {
+        if (channels.bodySent.hasSubscribers) {
+          channels.bodySent.publish({ request: this });
         }
-      }
-      if (data && start < end && !this._ignoreData) {
-        if (this._isPreamble || !this._inHeader) {
-          if (buf) {
-            shouldWriteMore = this._part.push(buf);
-          }
-          shouldWriteMore = this._part.push(data.slice(start, end));
-          if (!shouldWriteMore) {
-            this._pause = true;
-          }
-        } else if (!this._isPreamble && this._inHeader) {
-          if (buf) {
-            this._hparser.push(buf);
-          }
-          r = this._hparser.push(data.slice(start, end));
-          if (!this._inHeader && r !== void 0 && r < end) {
-            this._oninfo(false, data, start + r, end);
+        if (this[kHandler].onRequestSent) {
+          try {
+            return this[kHandler].onRequestSent();
+          } catch (err) {
+            this.abort(err);
           }
         }
       }
-      if (isMatch) {
-        this._hparser.reset();
-        if (this._isPreamble) {
-          this._isPreamble = false;
+      onConnect(abort) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (this.error) {
+          abort(this.error);
         } else {
-          if (start !== end) {
-            ++this._parts;
-            this._part.on("end", function() {
-              if (--self2._parts === 0) {
-                if (self2._finished) {
-                  self2._realFinish = true;
-                  self2.emit("finish");
-                  self2._realFinish = false;
-                } else {
-                  self2._unpause();
-                }
-              }
-            });
-          }
+          this.abort = abort;
+          return this[kHandler].onConnect(abort);
         }
-        this._part.push(null);
-        this._part = void 0;
-        this._ignoreData = false;
-        this._justMatched = true;
-        this._dashes = 0;
-      }
-    };
-    Dicer.prototype._unpause = function() {
-      if (!this._pause) {
-        return;
       }
-      this._pause = false;
-      if (this._cb) {
-        const cb = this._cb;
-        this._cb = void 0;
-        cb();
-      }
-    };
-    module2.exports = Dicer;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/decodeText.js
-var require_decodeText = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/decodeText.js"(exports2, module2) {
-    "use strict";
-    var utf8Decoder = new TextDecoder("utf-8");
-    var textDecoders = /* @__PURE__ */ new Map([
-      ["utf-8", utf8Decoder],
-      ["utf8", utf8Decoder]
-    ]);
-    function getDecoder(charset) {
-      let lc;
-      while (true) {
-        switch (charset) {
-          case "utf-8":
-          case "utf8":
-            return decoders.utf8;
-          case "latin1":
-          case "ascii":
-          // TODO: Make these a separate, strict decoder?
-          case "us-ascii":
-          case "iso-8859-1":
-          case "iso8859-1":
-          case "iso88591":
-          case "iso_8859-1":
-          case "windows-1252":
-          case "iso_8859-1:1987":
-          case "cp1252":
-          case "x-cp1252":
-            return decoders.latin1;
-          case "utf16le":
-          case "utf-16le":
-          case "ucs2":
-          case "ucs-2":
-            return decoders.utf16le;
-          case "base64":
-            return decoders.base64;
-          default:
-            if (lc === void 0) {
-              lc = true;
-              charset = charset.toLowerCase();
-              continue;
-            }
-            return decoders.other.bind(charset);
-        }
+      onResponseStarted() {
+        return this[kHandler].onResponseStarted?.();
       }
-    }
-    var decoders = {
-      utf8: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
-        }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
-        }
-        return data.utf8Slice(0, data.length);
-      },
-      latin1: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+      onHeaders(statusCode, headers, resume, statusText) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (channels.headers.hasSubscribers) {
+          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
         }
-        if (typeof data === "string") {
-          return data;
+        try {
+          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
+        } catch (err) {
+          this.abort(err);
         }
-        return data.latin1Slice(0, data.length);
-      },
-      utf16le: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+      }
+      onData(chunk) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        try {
+          return this[kHandler].onData(chunk);
+        } catch (err) {
+          this.abort(err);
+          return false;
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      }
+      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 });
         }
-        return data.ucs2Slice(0, data.length);
-      },
-      base64: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+        try {
+          return this[kHandler].onComplete(trailers);
+        } catch (err) {
+          this.onError(err);
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      }
+      onError(error3) {
+        this.onFinally();
+        if (channels.error.hasSubscribers) {
+          channels.error.publish({ request: this, error: error3 });
         }
-        return data.base64Slice(0, data.length);
-      },
-      other: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+        if (this.aborted) {
+          return;
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+        this.aborted = true;
+        return this[kHandler].onError(error3);
+      }
+      onFinally() {
+        if (this.errorHandler) {
+          this.body.off("error", this.errorHandler);
+          this.errorHandler = null;
         }
-        if (textDecoders.has(exports2.toString())) {
-          try {
-            return textDecoders.get(exports2).decode(data);
-          } catch {
-          }
+        if (this.endHandler) {
+          this.body.off("end", this.endHandler);
+          this.endHandler = null;
         }
-        return typeof data === "string" ? data : data.toString();
+      }
+      addHeader(key, value) {
+        processHeader(this, key, value);
+        return this;
       }
     };
-    function decodeText(text, sourceEncoding, destEncoding) {
-      if (text) {
-        return getDecoder(destEncoding)(text, sourceEncoding);
+    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;
       }
-      return text;
-    }
-    module2.exports = decodeText;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/parseParams.js
-var require_parseParams = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/parseParams.js"(exports2, module2) {
-    "use strict";
-    var decodeText = require_decodeText();
-    var RE_ENCODED = /%[a-fA-F0-9][a-fA-F0-9]/g;
-    var EncodedLookup = {
-      "%00": "\0",
-      "%01": "",
-      "%02": "",
-      "%03": "",
-      "%04": "",
-      "%05": "",
-      "%06": "",
-      "%07": "\x07",
-      "%08": "\b",
-      "%09": "	",
-      "%0a": "\n",
-      "%0A": "\n",
-      "%0b": "\v",
-      "%0B": "\v",
-      "%0c": "\f",
-      "%0C": "\f",
-      "%0d": "\r",
-      "%0D": "\r",
-      "%0e": "",
-      "%0E": "",
-      "%0f": "",
-      "%0F": "",
-      "%10": "",
-      "%11": "",
-      "%12": "",
-      "%13": "",
-      "%14": "",
-      "%15": "",
-      "%16": "",
-      "%17": "",
-      "%18": "",
-      "%19": "",
-      "%1a": "",
-      "%1A": "",
-      "%1b": "\x1B",
-      "%1B": "\x1B",
-      "%1c": "",
-      "%1C": "",
-      "%1d": "",
-      "%1D": "",
-      "%1e": "",
-      "%1E": "",
-      "%1f": "",
-      "%1F": "",
-      "%20": " ",
-      "%21": "!",
-      "%22": '"',
-      "%23": "#",
-      "%24": "$",
-      "%25": "%",
-      "%26": "&",
-      "%27": "'",
-      "%28": "(",
-      "%29": ")",
-      "%2a": "*",
-      "%2A": "*",
-      "%2b": "+",
-      "%2B": "+",
-      "%2c": ",",
-      "%2C": ",",
-      "%2d": "-",
-      "%2D": "-",
-      "%2e": ".",
-      "%2E": ".",
-      "%2f": "/",
-      "%2F": "/",
-      "%30": "0",
-      "%31": "1",
-      "%32": "2",
-      "%33": "3",
-      "%34": "4",
-      "%35": "5",
-      "%36": "6",
-      "%37": "7",
-      "%38": "8",
-      "%39": "9",
-      "%3a": ":",
-      "%3A": ":",
-      "%3b": ";",
-      "%3B": ";",
-      "%3c": "<",
-      "%3C": "<",
-      "%3d": "=",
-      "%3D": "=",
-      "%3e": ">",
-      "%3E": ">",
-      "%3f": "?",
-      "%3F": "?",
-      "%40": "@",
-      "%41": "A",
-      "%42": "B",
-      "%43": "C",
-      "%44": "D",
-      "%45": "E",
-      "%46": "F",
-      "%47": "G",
-      "%48": "H",
-      "%49": "I",
-      "%4a": "J",
-      "%4A": "J",
-      "%4b": "K",
-      "%4B": "K",
-      "%4c": "L",
-      "%4C": "L",
-      "%4d": "M",
-      "%4D": "M",
-      "%4e": "N",
-      "%4E": "N",
-      "%4f": "O",
-      "%4F": "O",
-      "%50": "P",
-      "%51": "Q",
-      "%52": "R",
-      "%53": "S",
-      "%54": "T",
-      "%55": "U",
-      "%56": "V",
-      "%57": "W",
-      "%58": "X",
-      "%59": "Y",
-      "%5a": "Z",
-      "%5A": "Z",
-      "%5b": "[",
-      "%5B": "[",
-      "%5c": "\\",
-      "%5C": "\\",
-      "%5d": "]",
-      "%5D": "]",
-      "%5e": "^",
-      "%5E": "^",
-      "%5f": "_",
-      "%5F": "_",
-      "%60": "`",
-      "%61": "a",
-      "%62": "b",
-      "%63": "c",
-      "%64": "d",
-      "%65": "e",
-      "%66": "f",
-      "%67": "g",
-      "%68": "h",
-      "%69": "i",
-      "%6a": "j",
-      "%6A": "j",
-      "%6b": "k",
-      "%6B": "k",
-      "%6c": "l",
-      "%6C": "l",
-      "%6d": "m",
-      "%6D": "m",
-      "%6e": "n",
-      "%6E": "n",
-      "%6f": "o",
-      "%6F": "o",
-      "%70": "p",
-      "%71": "q",
-      "%72": "r",
-      "%73": "s",
-      "%74": "t",
-      "%75": "u",
-      "%76": "v",
-      "%77": "w",
-      "%78": "x",
-      "%79": "y",
-      "%7a": "z",
-      "%7A": "z",
-      "%7b": "{",
-      "%7B": "{",
-      "%7c": "|",
-      "%7C": "|",
-      "%7d": "}",
-      "%7D": "}",
-      "%7e": "~",
-      "%7E": "~",
-      "%7f": "\x7F",
-      "%7F": "\x7F",
-      "%80": "\x80",
-      "%81": "\x81",
-      "%82": "\x82",
-      "%83": "\x83",
-      "%84": "\x84",
-      "%85": "\x85",
-      "%86": "\x86",
-      "%87": "\x87",
-      "%88": "\x88",
-      "%89": "\x89",
-      "%8a": "\x8A",
-      "%8A": "\x8A",
-      "%8b": "\x8B",
-      "%8B": "\x8B",
-      "%8c": "\x8C",
-      "%8C": "\x8C",
-      "%8d": "\x8D",
-      "%8D": "\x8D",
-      "%8e": "\x8E",
-      "%8E": "\x8E",
-      "%8f": "\x8F",
-      "%8F": "\x8F",
-      "%90": "\x90",
-      "%91": "\x91",
-      "%92": "\x92",
-      "%93": "\x93",
-      "%94": "\x94",
-      "%95": "\x95",
-      "%96": "\x96",
-      "%97": "\x97",
-      "%98": "\x98",
-      "%99": "\x99",
-      "%9a": "\x9A",
-      "%9A": "\x9A",
-      "%9b": "\x9B",
-      "%9B": "\x9B",
-      "%9c": "\x9C",
-      "%9C": "\x9C",
-      "%9d": "\x9D",
-      "%9D": "\x9D",
-      "%9e": "\x9E",
-      "%9E": "\x9E",
-      "%9f": "\x9F",
-      "%9F": "\x9F",
-      "%a0": "\xA0",
-      "%A0": "\xA0",
-      "%a1": "\xA1",
-      "%A1": "\xA1",
-      "%a2": "\xA2",
-      "%A2": "\xA2",
-      "%a3": "\xA3",
-      "%A3": "\xA3",
-      "%a4": "\xA4",
-      "%A4": "\xA4",
-      "%a5": "\xA5",
-      "%A5": "\xA5",
-      "%a6": "\xA6",
-      "%A6": "\xA6",
-      "%a7": "\xA7",
-      "%A7": "\xA7",
-      "%a8": "\xA8",
-      "%A8": "\xA8",
-      "%a9": "\xA9",
-      "%A9": "\xA9",
-      "%aa": "\xAA",
-      "%Aa": "\xAA",
-      "%aA": "\xAA",
-      "%AA": "\xAA",
-      "%ab": "\xAB",
-      "%Ab": "\xAB",
-      "%aB": "\xAB",
-      "%AB": "\xAB",
-      "%ac": "\xAC",
-      "%Ac": "\xAC",
-      "%aC": "\xAC",
-      "%AC": "\xAC",
-      "%ad": "\xAD",
-      "%Ad": "\xAD",
-      "%aD": "\xAD",
-      "%AD": "\xAD",
-      "%ae": "\xAE",
-      "%Ae": "\xAE",
-      "%aE": "\xAE",
-      "%AE": "\xAE",
-      "%af": "\xAF",
-      "%Af": "\xAF",
-      "%aF": "\xAF",
-      "%AF": "\xAF",
-      "%b0": "\xB0",
-      "%B0": "\xB0",
-      "%b1": "\xB1",
-      "%B1": "\xB1",
-      "%b2": "\xB2",
-      "%B2": "\xB2",
-      "%b3": "\xB3",
-      "%B3": "\xB3",
-      "%b4": "\xB4",
-      "%B4": "\xB4",
-      "%b5": "\xB5",
-      "%B5": "\xB5",
-      "%b6": "\xB6",
-      "%B6": "\xB6",
-      "%b7": "\xB7",
-      "%B7": "\xB7",
-      "%b8": "\xB8",
-      "%B8": "\xB8",
-      "%b9": "\xB9",
-      "%B9": "\xB9",
-      "%ba": "\xBA",
-      "%Ba": "\xBA",
-      "%bA": "\xBA",
-      "%BA": "\xBA",
-      "%bb": "\xBB",
-      "%Bb": "\xBB",
-      "%bB": "\xBB",
-      "%BB": "\xBB",
-      "%bc": "\xBC",
-      "%Bc": "\xBC",
-      "%bC": "\xBC",
-      "%BC": "\xBC",
-      "%bd": "\xBD",
-      "%Bd": "\xBD",
-      "%bD": "\xBD",
-      "%BD": "\xBD",
-      "%be": "\xBE",
-      "%Be": "\xBE",
-      "%bE": "\xBE",
-      "%BE": "\xBE",
-      "%bf": "\xBF",
-      "%Bf": "\xBF",
-      "%bF": "\xBF",
-      "%BF": "\xBF",
-      "%c0": "\xC0",
-      "%C0": "\xC0",
-      "%c1": "\xC1",
-      "%C1": "\xC1",
-      "%c2": "\xC2",
-      "%C2": "\xC2",
-      "%c3": "\xC3",
-      "%C3": "\xC3",
-      "%c4": "\xC4",
-      "%C4": "\xC4",
-      "%c5": "\xC5",
-      "%C5": "\xC5",
-      "%c6": "\xC6",
-      "%C6": "\xC6",
-      "%c7": "\xC7",
-      "%C7": "\xC7",
-      "%c8": "\xC8",
-      "%C8": "\xC8",
-      "%c9": "\xC9",
-      "%C9": "\xC9",
-      "%ca": "\xCA",
-      "%Ca": "\xCA",
-      "%cA": "\xCA",
-      "%CA": "\xCA",
-      "%cb": "\xCB",
-      "%Cb": "\xCB",
-      "%cB": "\xCB",
-      "%CB": "\xCB",
-      "%cc": "\xCC",
-      "%Cc": "\xCC",
-      "%cC": "\xCC",
-      "%CC": "\xCC",
-      "%cd": "\xCD",
-      "%Cd": "\xCD",
-      "%cD": "\xCD",
-      "%CD": "\xCD",
-      "%ce": "\xCE",
-      "%Ce": "\xCE",
-      "%cE": "\xCE",
-      "%CE": "\xCE",
-      "%cf": "\xCF",
-      "%Cf": "\xCF",
-      "%cF": "\xCF",
-      "%CF": "\xCF",
-      "%d0": "\xD0",
-      "%D0": "\xD0",
-      "%d1": "\xD1",
-      "%D1": "\xD1",
-      "%d2": "\xD2",
-      "%D2": "\xD2",
-      "%d3": "\xD3",
-      "%D3": "\xD3",
-      "%d4": "\xD4",
-      "%D4": "\xD4",
-      "%d5": "\xD5",
-      "%D5": "\xD5",
-      "%d6": "\xD6",
-      "%D6": "\xD6",
-      "%d7": "\xD7",
-      "%D7": "\xD7",
-      "%d8": "\xD8",
-      "%D8": "\xD8",
-      "%d9": "\xD9",
-      "%D9": "\xD9",
-      "%da": "\xDA",
-      "%Da": "\xDA",
-      "%dA": "\xDA",
-      "%DA": "\xDA",
-      "%db": "\xDB",
-      "%Db": "\xDB",
-      "%dB": "\xDB",
-      "%DB": "\xDB",
-      "%dc": "\xDC",
-      "%Dc": "\xDC",
-      "%dC": "\xDC",
-      "%DC": "\xDC",
-      "%dd": "\xDD",
-      "%Dd": "\xDD",
-      "%dD": "\xDD",
-      "%DD": "\xDD",
-      "%de": "\xDE",
-      "%De": "\xDE",
-      "%dE": "\xDE",
-      "%DE": "\xDE",
-      "%df": "\xDF",
-      "%Df": "\xDF",
-      "%dF": "\xDF",
-      "%DF": "\xDF",
-      "%e0": "\xE0",
-      "%E0": "\xE0",
-      "%e1": "\xE1",
-      "%E1": "\xE1",
-      "%e2": "\xE2",
-      "%E2": "\xE2",
-      "%e3": "\xE3",
-      "%E3": "\xE3",
-      "%e4": "\xE4",
-      "%E4": "\xE4",
-      "%e5": "\xE5",
-      "%E5": "\xE5",
-      "%e6": "\xE6",
-      "%E6": "\xE6",
-      "%e7": "\xE7",
-      "%E7": "\xE7",
-      "%e8": "\xE8",
-      "%E8": "\xE8",
-      "%e9": "\xE9",
-      "%E9": "\xE9",
-      "%ea": "\xEA",
-      "%Ea": "\xEA",
-      "%eA": "\xEA",
-      "%EA": "\xEA",
-      "%eb": "\xEB",
-      "%Eb": "\xEB",
-      "%eB": "\xEB",
-      "%EB": "\xEB",
-      "%ec": "\xEC",
-      "%Ec": "\xEC",
-      "%eC": "\xEC",
-      "%EC": "\xEC",
-      "%ed": "\xED",
-      "%Ed": "\xED",
-      "%eD": "\xED",
-      "%ED": "\xED",
-      "%ee": "\xEE",
-      "%Ee": "\xEE",
-      "%eE": "\xEE",
-      "%EE": "\xEE",
-      "%ef": "\xEF",
-      "%Ef": "\xEF",
-      "%eF": "\xEF",
-      "%EF": "\xEF",
-      "%f0": "\xF0",
-      "%F0": "\xF0",
-      "%f1": "\xF1",
-      "%F1": "\xF1",
-      "%f2": "\xF2",
-      "%F2": "\xF2",
-      "%f3": "\xF3",
-      "%F3": "\xF3",
-      "%f4": "\xF4",
-      "%F4": "\xF4",
-      "%f5": "\xF5",
-      "%F5": "\xF5",
-      "%f6": "\xF6",
-      "%F6": "\xF6",
-      "%f7": "\xF7",
-      "%F7": "\xF7",
-      "%f8": "\xF8",
-      "%F8": "\xF8",
-      "%f9": "\xF9",
-      "%F9": "\xF9",
-      "%fa": "\xFA",
-      "%Fa": "\xFA",
-      "%fA": "\xFA",
-      "%FA": "\xFA",
-      "%fb": "\xFB",
-      "%Fb": "\xFB",
-      "%fB": "\xFB",
-      "%FB": "\xFB",
-      "%fc": "\xFC",
-      "%Fc": "\xFC",
-      "%fC": "\xFC",
-      "%FC": "\xFC",
-      "%fd": "\xFD",
-      "%Fd": "\xFD",
-      "%fD": "\xFD",
-      "%FD": "\xFD",
-      "%fe": "\xFE",
-      "%Fe": "\xFE",
-      "%fE": "\xFE",
-      "%FE": "\xFE",
-      "%ff": "\xFF",
-      "%Ff": "\xFF",
-      "%fF": "\xFF",
-      "%FF": "\xFF"
-    };
-    function encodedReplacer(match) {
-      return EncodedLookup[match];
-    }
-    var STATE_KEY = 0;
-    var STATE_VALUE = 1;
-    var STATE_CHARSET = 2;
-    var STATE_LANG = 3;
-    function parseParams(str2) {
-      const res = [];
-      let state = STATE_KEY;
-      let charset = "";
-      let inquote = false;
-      let escaping = false;
-      let p = 0;
-      let tmp = "";
-      const len = str2.length;
-      for (var i = 0; i < len; ++i) {
-        const char = str2[i];
-        if (char === "\\" && inquote) {
-          if (escaping) {
-            escaping = false;
-          } else {
-            escaping = true;
-            continue;
-          }
-        } else if (char === '"') {
-          if (!escaping) {
-            if (inquote) {
-              inquote = false;
-              state = STATE_KEY;
-            } else {
-              inquote = true;
+      let headerName = headerNameLowerCasedRecord[key];
+      if (headerName === void 0) {
+        headerName = key.toLowerCase();
+        if (headerNameLowerCasedRecord[headerName] === void 0 && !isValidHTTPToken(headerName)) {
+          throw new InvalidArgumentError("invalid header key");
+        }
+      }
+      if (Array.isArray(val)) {
+        const arr = [];
+        for (let i = 0; i < val.length; i++) {
+          if (typeof val[i] === "string") {
+            if (!isValidHeaderValue(val[i])) {
+              throw new InvalidArgumentError(`invalid ${key} header`);
             }
-            continue;
+            arr.push(val[i]);
+          } else if (val[i] === null) {
+            arr.push("");
+          } else if (typeof val[i] === "object") {
+            throw new InvalidArgumentError(`invalid ${key} header`);
           } else {
-            escaping = false;
-          }
-        } else {
-          if (escaping && inquote) {
-            tmp += "\\";
-          }
-          escaping = false;
-          if ((state === STATE_CHARSET || state === STATE_LANG) && char === "'") {
-            if (state === STATE_CHARSET) {
-              state = STATE_LANG;
-              charset = tmp.substring(1);
-            } else {
-              state = STATE_VALUE;
-            }
-            tmp = "";
-            continue;
-          } else if (state === STATE_KEY && (char === "*" || char === "=") && res.length) {
-            state = char === "*" ? STATE_CHARSET : STATE_VALUE;
-            res[p] = [tmp, void 0];
-            tmp = "";
-            continue;
-          } else if (!inquote && char === ";") {
-            state = STATE_KEY;
-            if (charset) {
-              if (tmp.length) {
-                tmp = decodeText(
-                  tmp.replace(RE_ENCODED, encodedReplacer),
-                  "binary",
-                  charset
-                );
-              }
-              charset = "";
-            } else if (tmp.length) {
-              tmp = decodeText(tmp, "binary", "utf8");
-            }
-            if (res[p] === void 0) {
-              res[p] = tmp;
-            } else {
-              res[p][1] = tmp;
-            }
-            tmp = "";
-            ++p;
-            continue;
-          } else if (!inquote && (char === " " || char === "	")) {
-            continue;
+            arr.push(`${val[i]}`);
           }
         }
-        tmp += char;
-      }
-      if (charset && tmp.length) {
-        tmp = decodeText(
-          tmp.replace(RE_ENCODED, encodedReplacer),
-          "binary",
-          charset
-        );
-      } else if (tmp) {
-        tmp = decodeText(tmp, "binary", "utf8");
-      }
-      if (res[p] === void 0) {
-        if (tmp) {
-          res[p] = tmp;
+        val = arr;
+      } else if (typeof val === "string") {
+        if (!isValidHeaderValue(val)) {
+          throw new InvalidArgumentError(`invalid ${key} header`);
         }
+      } else if (val === null) {
+        val = "";
       } else {
-        res[p][1] = tmp;
-      }
-      return res;
-    }
-    module2.exports = parseParams;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/basename.js
-var require_basename = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/basename.js"(exports2, module2) {
-    "use strict";
-    module2.exports = function basename(path16) {
-      if (typeof path16 !== "string") {
-        return "";
+        val = `${val}`;
       }
-      for (var i = path16.length - 1; i >= 0; --i) {
-        switch (path16.charCodeAt(i)) {
-          case 47:
-          // '/'
-          case 92:
-            path16 = path16.slice(i + 1);
-            return path16 === ".." || path16 === "." ? "" : path16;
+      if (request2.host === null && headerName === "host") {
+        if (typeof val !== "string") {
+          throw new InvalidArgumentError("invalid host header");
         }
-      }
-      return path16 === ".." || path16 === "." ? "" : path16;
-    };
-  }
-});
-
-// node_modules/@fastify/busboy/lib/types/multipart.js
-var require_multipart = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/multipart.js"(exports2, module2) {
-    "use strict";
-    var { Readable: Readable2 } = require("node:stream");
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var parseParams = require_parseParams();
-    var decodeText = require_decodeText();
-    var basename = require_basename();
-    var getLimit = require_getLimit();
-    var RE_BOUNDARY = /^boundary$/i;
-    var RE_FIELD = /^form-data$/i;
-    var RE_CHARSET = /^charset$/i;
-    var RE_FILENAME = /^filename$/i;
-    var RE_NAME = /^name$/i;
-    Multipart.detect = /^multipart\/form-data/i;
-    function Multipart(boy, cfg) {
-      let i;
-      let len;
-      const self2 = this;
-      let boundary;
-      const limits = cfg.limits;
-      const isPartAFile = cfg.isPartAFile || ((fieldName, contentType, fileName) => contentType === "application/octet-stream" || fileName !== void 0);
-      const parsedConType = cfg.parsedConType || [];
-      const defCharset = cfg.defCharset || "utf8";
-      const preservePath = cfg.preservePath;
-      const fileOpts = { highWaterMark: cfg.fileHwm };
-      for (i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_BOUNDARY.test(parsedConType[i][0])) {
-          boundary = parsedConType[i][1];
-          break;
+        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");
         }
-      }
-      function checkFinished() {
-        if (nends === 0 && finished && !boy._done) {
-          finished = false;
-          self2.end();
+      } 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 (typeof boundary !== "string") {
-        throw new Error("Multipart: Boundary not found");
-      }
-      const fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      const fileSizeLimit = getLimit(limits, "fileSize", Infinity);
-      const filesLimit = getLimit(limits, "files", Infinity);
-      const fieldsLimit = getLimit(limits, "fields", Infinity);
-      const partsLimit = getLimit(limits, "parts", Infinity);
-      const headerPairsLimit = getLimit(limits, "headerPairs", 2e3);
-      const headerSizeLimit = getLimit(limits, "headerSize", 80 * 1024);
-      let nfiles = 0;
-      let nfields = 0;
-      let nends = 0;
-      let curFile;
-      let curField;
-      let finished = false;
-      this._needDrain = false;
-      this._pause = false;
-      this._cb = void 0;
-      this._nparts = 0;
-      this._boy = boy;
-      const parserCfg = {
-        boundary,
-        maxHeaderPairs: headerPairsLimit,
-        maxHeaderSize: headerSizeLimit,
-        partHwm: fileOpts.highWaterMark,
-        highWaterMark: cfg.highWaterMark
-      };
-      this.parser = new Dicer(parserCfg);
-      this.parser.on("drain", function() {
-        self2._needDrain = false;
-        if (self2._cb && !self2._pause) {
-          const cb = self2._cb;
-          self2._cb = void 0;
-          cb();
+        if (value === "close") {
+          request2.reset = true;
         }
-      }).on("part", function onPart(part) {
-        if (++self2._nparts > partsLimit) {
-          self2.parser.removeListener("part", onPart);
-          self2.parser.on("part", skipPart);
-          boy.hitPartsLimit = true;
-          boy.emit("partsLimit");
-          return skipPart(part);
-        }
-        if (curField) {
-          const field = curField;
-          field.emit("end");
-          field.removeAllListeners("end");
-        }
-        part.on("header", function(header) {
-          let contype;
-          let fieldname;
-          let parsed;
-          let charset;
-          let encoding;
-          let filename;
-          let nsize = 0;
-          if (header["content-type"]) {
-            parsed = parseParams(header["content-type"][0]);
-            if (parsed[0]) {
-              contype = parsed[0].toLowerCase();
-              for (i = 0, len = parsed.length; i < len; ++i) {
-                if (RE_CHARSET.test(parsed[i][0])) {
-                  charset = parsed[i][1].toLowerCase();
-                  break;
-                }
-              }
-            }
-          }
-          if (contype === void 0) {
-            contype = "text/plain";
-          }
-          if (charset === void 0) {
-            charset = defCharset;
-          }
-          if (header["content-disposition"]) {
-            parsed = parseParams(header["content-disposition"][0]);
-            if (!RE_FIELD.test(parsed[0])) {
-              return skipPart(part);
-            }
-            for (i = 0, len = parsed.length; i < len; ++i) {
-              if (RE_NAME.test(parsed[i][0])) {
-                fieldname = parsed[i][1];
-              } else if (RE_FILENAME.test(parsed[i][0])) {
-                filename = parsed[i][1];
-                if (!preservePath) {
-                  filename = basename(filename);
-                }
-              }
-            }
-          } else {
-            return skipPart(part);
-          }
-          if (header["content-transfer-encoding"]) {
-            encoding = header["content-transfer-encoding"][0].toLowerCase();
-          } else {
-            encoding = "7bit";
-          }
-          let onData, onEnd;
-          if (isPartAFile(fieldname, contype, filename)) {
-            if (nfiles === filesLimit) {
-              if (!boy.hitFilesLimit) {
-                boy.hitFilesLimit = true;
-                boy.emit("filesLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfiles;
-            if (boy.listenerCount("file") === 0) {
-              self2.parser._ignore();
-              return;
-            }
-            ++nends;
-            const file = new FileStream(fileOpts);
-            curFile = file;
-            file.on("end", function() {
-              --nends;
-              self2._pause = false;
-              checkFinished();
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            });
-            file._read = function(n) {
-              if (!self2._pause) {
-                return;
-              }
-              self2._pause = false;
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            };
-            boy.emit("file", fieldname, file, filename, encoding, contype);
-            onData = function(data) {
-              if ((nsize += data.length) > fileSizeLimit) {
-                const extralen = fileSizeLimit - nsize + data.length;
-                if (extralen > 0) {
-                  file.push(data.slice(0, extralen));
-                }
-                file.truncated = true;
-                file.bytesRead = fileSizeLimit;
-                part.removeAllListeners("data");
-                file.emit("limit");
-                return;
-              } else if (!file.push(data)) {
-                self2._pause = true;
-              }
-              file.bytesRead = nsize;
-            };
-            onEnd = function() {
-              curFile = void 0;
-              file.push(null);
-            };
-          } else {
-            if (nfields === fieldsLimit) {
-              if (!boy.hitFieldsLimit) {
-                boy.hitFieldsLimit = true;
-                boy.emit("fieldsLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfields;
-            ++nends;
-            let buffer = "";
-            let truncated = false;
-            curField = part;
-            onData = function(data) {
-              if ((nsize += data.length) > fieldSizeLimit) {
-                const extralen = fieldSizeLimit - (nsize - data.length);
-                buffer += data.toString("binary", 0, extralen);
-                truncated = true;
-                part.removeAllListeners("data");
-              } else {
-                buffer += data.toString("binary");
-              }
-            };
-            onEnd = function() {
-              curField = void 0;
-              if (buffer.length) {
-                buffer = decodeText(buffer, "binary", charset);
-              }
-              boy.emit("field", fieldname, buffer, false, truncated, encoding, contype);
-              --nends;
-              checkFinished();
-            };
-          }
-          part._readableState.sync = false;
-          part.on("data", onData);
-          part.on("end", onEnd);
-        }).on("error", function(err) {
-          if (curFile) {
-            curFile.emit("error", err);
-          }
-        });
-      }).on("error", function(err) {
-        boy.emit("error", err);
-      }).on("finish", function() {
-        finished = true;
-        checkFinished();
-      });
-    }
-    Multipart.prototype.write = function(chunk, cb) {
-      const r = this.parser.write(chunk);
-      if (r && !this._pause) {
-        cb();
+      } else if (headerName === "expect") {
+        throw new NotSupportedError("expect header not supported");
       } else {
-        this._needDrain = !r;
-        this._cb = cb;
-      }
-    };
-    Multipart.prototype.end = function() {
-      const self2 = this;
-      if (self2.parser.writable) {
-        self2.parser.end();
-      } else if (!self2._boy._done) {
-        process.nextTick(function() {
-          self2._boy._done = true;
-          self2._boy.emit("finish");
-        });
+        request2.headers.push(key, val);
       }
-    };
-    function skipPart(part) {
-      part.resume();
-    }
-    function FileStream(opts) {
-      Readable2.call(this, opts);
-      this.bytesRead = 0;
-      this.truncated = false;
     }
-    inherits(FileStream, Readable2);
-    FileStream.prototype._read = function(n) {
-    };
-    module2.exports = Multipart;
+    module2.exports = Request;
   }
 });
 
-// node_modules/@fastify/busboy/lib/utils/Decoder.js
-var require_Decoder = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/Decoder.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js
+var require_dispatcher2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js"(exports2, module2) {
     "use strict";
-    var RE_PLUS = /\+/g;
-    var HEX = [
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0
-    ];
-    function Decoder() {
-      this.buffer = void 0;
-    }
-    Decoder.prototype.write = function(str2) {
-      str2 = str2.replace(RE_PLUS, " ");
-      let res = "";
-      let i = 0;
-      let p = 0;
-      const len = str2.length;
-      for (; i < len; ++i) {
-        if (this.buffer !== void 0) {
-          if (!HEX[str2.charCodeAt(i)]) {
-            res += "%" + this.buffer;
-            this.buffer = void 0;
-            --i;
-          } else {
-            this.buffer += str2[i];
-            ++p;
-            if (this.buffer.length === 2) {
-              res += String.fromCharCode(parseInt(this.buffer, 16));
-              this.buffer = void 0;
-            }
-          }
-        } else if (str2[i] === "%") {
-          if (i > p) {
-            res += str2.substring(p, i);
-            p = i;
-          }
-          this.buffer = "";
-          ++p;
-        }
+    var EventEmitter = require("node:events");
+    var Dispatcher = class extends EventEmitter {
+      dispatch() {
+        throw new Error("not implemented");
       }
-      if (p < len && this.buffer === void 0) {
-        res += str2.substring(p);
+      close() {
+        throw new Error("not implemented");
       }
-      return res;
-    };
-    Decoder.prototype.reset = function() {
-      this.buffer = void 0;
-    };
-    module2.exports = Decoder;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/types/urlencoded.js
-var require_urlencoded = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/urlencoded.js"(exports2, module2) {
-    "use strict";
-    var Decoder = require_Decoder();
-    var decodeText = require_decodeText();
-    var getLimit = require_getLimit();
-    var RE_CHARSET = /^charset$/i;
-    UrlEncoded.detect = /^application\/x-www-form-urlencoded/i;
-    function UrlEncoded(boy, cfg) {
-      const limits = cfg.limits;
-      const parsedConType = cfg.parsedConType;
-      this.boy = boy;
-      this.fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      this.fieldNameSizeLimit = getLimit(limits, "fieldNameSize", 100);
-      this.fieldsLimit = getLimit(limits, "fields", Infinity);
-      let charset;
-      for (var i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_CHARSET.test(parsedConType[i][0])) {
-          charset = parsedConType[i][1].toLowerCase();
-          break;
-        }
+      destroy() {
+        throw new Error("not implemented");
       }
-      if (charset === void 0) {
-        charset = cfg.defCharset || "utf8";
-      }
-      this.decoder = new Decoder();
-      this.charset = charset;
-      this._fields = 0;
-      this._state = "key";
-      this._checkingBytes = true;
-      this._bytesKey = 0;
-      this._bytesVal = 0;
-      this._key = "";
-      this._val = "";
-      this._keyTrunc = false;
-      this._valTrunc = false;
-      this._hitLimit = false;
-    }
-    UrlEncoded.prototype.write = function(data, cb) {
-      if (this._fields === this.fieldsLimit) {
-        if (!this.boy.hitFieldsLimit) {
-          this.boy.hitFieldsLimit = true;
-          this.boy.emit("fieldsLimit");
-        }
-        return cb();
-      }
-      let idxeq;
-      let idxamp;
-      let i;
-      let p = 0;
-      const len = data.length;
-      while (p < len) {
-        if (this._state === "key") {
-          idxeq = idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 61) {
-              idxeq = i;
-              break;
-            } else if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesKey === this.fieldNameSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesKey;
-            }
-          }
-          if (idxeq !== void 0) {
-            if (idxeq > p) {
-              this._key += this.decoder.write(data.toString("binary", p, idxeq));
-            }
-            this._state = "val";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._val = "";
-            this._bytesVal = 0;
-            this._valTrunc = false;
-            this.decoder.reset();
-            p = idxeq + 1;
-          } else if (idxamp !== void 0) {
-            ++this._fields;
-            let key;
-            const keyTrunc = this._keyTrunc;
-            if (idxamp > p) {
-              key = this._key += this.decoder.write(data.toString("binary", p, idxamp));
-            } else {
-              key = this._key;
-            }
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            if (key.length) {
-              this.boy.emit(
-                "field",
-                decodeText(key, "binary", this.charset),
-                "",
-                keyTrunc,
-                false
-              );
-            }
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._key += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if ((this._bytesKey = this._key.length) === this.fieldNameSizeLimit) {
-              this._checkingBytes = false;
-              this._keyTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._key += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+      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;
           }
-        } else {
-          idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesVal === this.fieldSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesVal;
-            }
+          if (typeof interceptor !== "function") {
+            throw new TypeError(`invalid interceptor, expected function received ${typeof interceptor}`);
           }
-          if (idxamp !== void 0) {
-            ++this._fields;
-            if (idxamp > p) {
-              this._val += this.decoder.write(data.toString("binary", p, idxamp));
-            }
-            this.boy.emit(
-              "field",
-              decodeText(this._key, "binary", this.charset),
-              decodeText(this._val, "binary", this.charset),
-              this._keyTrunc,
-              this._valTrunc
-            );
-            this._state = "key";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._val += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if (this._val === "" && this.fieldSizeLimit === 0 || (this._bytesVal = this._val.length) === this.fieldSizeLimit) {
-              this._checkingBytes = false;
-              this._valTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._val += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+          dispatch = interceptor(dispatch);
+          if (dispatch == null || typeof dispatch !== "function" || dispatch.length !== 2) {
+            throw new TypeError("invalid interceptor");
           }
         }
+        return new ComposedDispatcher(this, dispatch);
       }
-      cb();
     };
-    UrlEncoded.prototype.end = function() {
-      if (this.boy._done) {
-        return;
+    var ComposedDispatcher = class extends Dispatcher {
+      #dispatcher = null;
+      #dispatch = null;
+      constructor(dispatcher, dispatch) {
+        super();
+        this.#dispatcher = dispatcher;
+        this.#dispatch = dispatch;
       }
-      if (this._state === "key" && this._key.length > 0) {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          "",
-          this._keyTrunc,
-          false
-        );
-      } else if (this._state === "val") {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          decodeText(this._val, "binary", this.charset),
-          this._keyTrunc,
-          this._valTrunc
-        );
+      dispatch(...args) {
+        this.#dispatch(...args);
+      }
+      close(...args) {
+        return this.#dispatcher.close(...args);
+      }
+      destroy(...args) {
+        return this.#dispatcher.destroy(...args);
       }
-      this.boy._done = true;
-      this.boy.emit("finish");
     };
-    module2.exports = UrlEncoded;
+    module2.exports = Dispatcher;
   }
 });
 
-// node_modules/@fastify/busboy/lib/main.js
-var require_main = __commonJS({
-  "node_modules/@fastify/busboy/lib/main.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js
+var require_dispatcher_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js"(exports2, module2) {
     "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var MultipartParser = require_multipart();
-    var UrlencodedParser = require_urlencoded();
-    var parseParams = require_parseParams();
-    function Busboy(opts) {
-      if (!(this instanceof Busboy)) {
-        return new Busboy(opts);
+    var Dispatcher = require_dispatcher2();
+    var {
+      ClientDestroyedError,
+      ClientClosedError,
+      InvalidArgumentError
+    } = require_errors2();
+    var { kDestroy, kClose, kClosed, kDestroyed, kDispatch, kInterceptors } = require_symbols6();
+    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
+    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
+    var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
+    var DispatcherBase = class extends Dispatcher {
+      constructor() {
+        super();
+        this[kDestroyed] = false;
+        this[kOnDestroyed] = null;
+        this[kClosed] = false;
+        this[kOnClosed] = [];
       }
-      if (typeof opts !== "object") {
-        throw new TypeError("Busboy expected an options-Object.");
+      get destroyed() {
+        return this[kDestroyed];
       }
-      if (typeof opts.headers !== "object") {
-        throw new TypeError("Busboy expected an options-Object with headers-attribute.");
+      get closed() {
+        return this[kClosed];
       }
-      if (typeof opts.headers["content-type"] !== "string") {
-        throw new TypeError("Missing Content-Type-header.");
+      get interceptors() {
+        return this[kInterceptors];
       }
-      const {
-        headers,
-        ...streamOptions
-      } = opts;
-      this.opts = {
-        autoDestroy: false,
-        ...streamOptions
-      };
-      WritableStream.call(this, this.opts);
-      this._done = false;
-      this._parser = this.getParserByHeaders(headers);
-      this._finished = false;
-    }
-    inherits(Busboy, WritableStream);
-    Busboy.prototype.emit = function(ev) {
-      if (ev === "finish") {
-        if (!this._done) {
-          this._parser?.end();
+      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");
+            }
+          }
+        }
+        this[kInterceptors] = newInterceptors;
+      }
+      close(callback) {
+        if (callback === void 0) {
+          return new Promise((resolve8, reject) => {
+            this.close((err, data) => {
+              return err ? reject(err) : resolve8(data);
+            });
+          });
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        if (this[kDestroyed]) {
+          queueMicrotask(() => callback(new ClientDestroyedError(), null));
           return;
-        } else if (this._finished) {
+        }
+        if (this[kClosed]) {
+          if (this[kOnClosed]) {
+            this[kOnClosed].push(callback);
+          } else {
+            queueMicrotask(() => callback(null, null));
+          }
           return;
         }
-        this._finished = true;
-      }
-      WritableStream.prototype.emit.apply(this, arguments);
-    };
-    Busboy.prototype.getParserByHeaders = function(headers) {
-      const parsed = parseParams(headers["content-type"]);
-      const cfg = {
-        defCharset: this.opts.defCharset,
-        fileHwm: this.opts.fileHwm,
-        headers,
-        highWaterMark: this.opts.highWaterMark,
-        isPartAFile: this.opts.isPartAFile,
-        limits: this.opts.limits,
-        parsedConType: parsed,
-        preservePath: this.opts.preservePath
-      };
-      if (MultipartParser.detect.test(parsed[0])) {
-        return new MultipartParser(this, cfg);
+        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);
+        });
       }
-      if (UrlencodedParser.detect.test(parsed[0])) {
-        return new UrlencodedParser(this, cfg);
+      destroy(err, callback) {
+        if (typeof err === "function") {
+          callback = err;
+          err = null;
+        }
+        if (callback === void 0) {
+          return new Promise((resolve8, reject) => {
+            this.destroy(err, (err2, data) => {
+              return err2 ? (
+                /* istanbul ignore next: should never error */
+                reject(err2)
+              ) : resolve8(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;
+        }
       }
-      throw new Error("Unsupported Content-Type.");
-    };
-    Busboy.prototype._write = function(chunk, encoding, cb) {
-      this._parser.write(chunk, cb);
     };
-    module2.exports = Busboy;
-    module2.exports.default = Busboy;
-    module2.exports.Busboy = Busboy;
-    module2.exports.Dicer = Dicer;
+    module2.exports = DispatcherBase;
   }
 });
 
-// node_modules/undici/lib/fetch/constants.js
-var require_constants7 = __commonJS({
-  "node_modules/undici/lib/fetch/constants.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/util/timers.js
+var require_timers2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/util/timers.js"(exports2, module2) {
     "use strict";
-    var { MessageChannel, receiveMessageOnPort } = require("worker_threads");
-    var corsSafeListedMethods = ["GET", "HEAD", "POST"];
-    var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
-    var nullBodyStatus = [101, 204, 205, 304];
-    var redirectStatus = [301, 302, 303, 307, 308];
-    var redirectStatusSet = new Set(redirectStatus);
-    var badPorts = [
-      "1",
-      "7",
-      "9",
-      "11",
-      "13",
-      "15",
-      "17",
-      "19",
-      "20",
-      "21",
-      "22",
-      "23",
-      "25",
-      "37",
-      "42",
-      "43",
-      "53",
-      "69",
-      "77",
-      "79",
-      "87",
-      "95",
-      "101",
-      "102",
-      "103",
-      "104",
-      "109",
-      "110",
-      "111",
-      "113",
-      "115",
-      "117",
-      "119",
-      "123",
-      "135",
-      "137",
-      "139",
-      "143",
-      "161",
-      "179",
-      "389",
-      "427",
-      "465",
-      "512",
-      "513",
-      "514",
-      "515",
-      "526",
-      "530",
-      "531",
-      "532",
-      "540",
-      "548",
-      "554",
-      "556",
-      "563",
-      "587",
-      "601",
-      "636",
-      "989",
-      "990",
-      "993",
-      "995",
-      "1719",
-      "1720",
-      "1723",
-      "2049",
-      "3659",
-      "4045",
-      "5060",
-      "5061",
-      "6000",
-      "6566",
-      "6665",
-      "6666",
-      "6667",
-      "6668",
-      "6669",
-      "6697",
-      "10080"
-    ];
-    var badPortsSet = new Set(badPorts);
-    var referrerPolicy = [
-      "",
-      "no-referrer",
-      "no-referrer-when-downgrade",
-      "same-origin",
-      "origin",
-      "strict-origin",
-      "origin-when-cross-origin",
-      "strict-origin-when-cross-origin",
-      "unsafe-url"
-    ];
-    var referrerPolicySet = new Set(referrerPolicy);
-    var requestRedirect = ["follow", "manual", "error"];
-    var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"];
-    var safeMethodsSet = new Set(safeMethods);
-    var requestMode = ["navigate", "same-origin", "no-cors", "cors"];
-    var requestCredentials = ["omit", "same-origin", "include"];
-    var requestCache = [
-      "default",
-      "no-store",
-      "reload",
-      "no-cache",
-      "force-cache",
-      "only-if-cached"
-    ];
-    var requestBodyHeader = [
-      "content-encoding",
-      "content-language",
-      "content-location",
-      "content-type",
-      // See https://github.com/nodejs/undici/issues/2021
-      // 'Content-Length' is a forbidden header name, which is typically
-      // removed in the Headers implementation. However, undici doesn't
-      // filter out headers, so we add it here.
-      "content-length"
-    ];
-    var requestDuplex = [
-      "half"
-    ];
-    var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"];
-    var forbiddenMethodsSet = new Set(forbiddenMethods);
-    var subresource = [
-      "audio",
-      "audioworklet",
-      "font",
-      "image",
-      "manifest",
-      "paintworklet",
-      "script",
-      "style",
-      "track",
-      "video",
-      "xslt",
-      ""
-    ];
-    var subresourceSet = new Set(subresource);
-    var DOMException2 = globalThis.DOMException ?? (() => {
-      try {
-        atob("~");
-      } catch (err) {
-        return Object.getPrototypeOf(err).constructor;
+    var fastNow = 0;
+    var RESOLUTION_MS = 1e3;
+    var TICK_MS = (RESOLUTION_MS >> 1) - 1;
+    var fastNowTimeout;
+    var kFastTimer = /* @__PURE__ */ 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;
+        }
       }
-    })();
-    var channel;
-    var structuredClone = globalThis.structuredClone ?? // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js
-    // structuredClone was added in v17.0.0, but fetch supports v16.8
-    function structuredClone2(value, options = void 0) {
-      if (arguments.length === 0) {
-        throw new TypeError("missing argument");
+      fastTimers.length = len;
+      if (fastTimers.length !== 0) {
+        refreshTimeout();
       }
-      if (!channel) {
-        channel = new MessageChannel();
+    }
+    function refreshTimeout() {
+      if (fastNowTimeout) {
+        fastNowTimeout.refresh();
+      } else {
+        clearTimeout(fastNowTimeout);
+        fastNowTimeout = setTimeout(onTick, TICK_MS);
+        if (fastNowTimeout.unref) {
+          fastNowTimeout.unref();
+        }
       }
-      channel.port1.unref();
-      channel.port2.unref();
-      channel.port1.postMessage(value, options?.transfer);
-      return receiveMessageOnPort(channel.port2).message;
-    };
-    module2.exports = {
-      DOMException: DOMException2,
-      structuredClone,
-      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/fetch/global.js
-var require_global3 = __commonJS({
-  "node_modules/undici/lib/fetch/global.js"(exports2, module2) {
-    "use strict";
-    var globalOrigin = /* @__PURE__ */ 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;
+    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, delay2, arg) {
+        this._onTimeout = callback;
+        this._idleTimeout = delay2;
+        this._timerArg = arg;
+        this.refresh();
       }
-      const parsedURL = new URL(newOrigin);
-      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
-        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
+      /**
+       * 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;
       }
-      Object.defineProperty(globalThis, globalOrigin, {
-        value: parsedURL,
-        writable: true,
-        enumerable: false,
-        configurable: false
-      });
-    }
+      /**
+       * The `clear` method cancels the timer, preventing it from executing.
+       *
+       * @returns {void}
+       * @private
+       */
+      clear() {
+        this._state = TO_BE_CLEARED;
+        this._idleStart = -1;
+      }
+    };
     module2.exports = {
-      getGlobalOrigin,
-      setGlobalOrigin
+      /**
+       * 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, delay2, arg) {
+        return delay2 <= RESOLUTION_MS ? setTimeout(callback, delay2, arg) : new FastTimer(callback, delay2, 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, delay2, arg) {
+        return new FastTimer(callback, delay2, 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(delay2 = 0) {
+        fastNow += delay2 - 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/undici/lib/fetch/util.js
-var require_util10 = __commonJS({
-  "node_modules/undici/lib/fetch/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/connect.js
+var require_connect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/connect.js"(exports2, module2) {
     "use strict";
-    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants7();
-    var { getGlobalOrigin } = require_global3();
-    var { performance: performance5 } = require("perf_hooks");
-    var { isBlobLike, toUSVString, ReadableStreamFrom } = require_util9();
-    var assert = require("assert");
-    var { isUint8Array } = require("util/types");
-    var supportedHashes = [];
-    var crypto3;
-    try {
-      crypto3 = require("crypto");
-      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
-      supportedHashes = crypto3.getHashes().filter((hash2) => possibleRelevantHashes.includes(hash2));
-    } 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");
-      if (location !== null && isValidHeaderValue(location)) {
-        location = new URL(location, responseURL(response));
-      }
-      if (location && !location.hash) {
-        location.hash = requestFragment;
-      }
-      return location;
-    }
-    function requestCurrentURL(request2) {
-      return request2.urlList[request2.urlList.length - 1];
-    }
-    function requestBadPort(request2) {
-      const url2 = requestCurrentURL(request2);
-      if (urlIsHttpHttpsScheme(url2) && badPortsSet.has(url2.port)) {
-        return "blocked";
-      }
-      return "allowed";
-    }
-    function isErrorLike(object) {
-      return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException");
+    var net = require("node:net");
+    var assert = require("node:assert");
+    var util = require_util9();
+    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
+    var timers = require_timers2();
+    function noop3() {
     }
-    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;
+    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);
+            }
+          });
         }
-      }
-      return true;
-    }
-    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;
-      }
-    }
-    function isValidHTTPToken(characters) {
-      if (characters.length === 0) {
-        return false;
-      }
-      for (let i = 0; i < characters.length; ++i) {
-        if (!isTokenCharCode(characters.charCodeAt(i))) {
-          return false;
+        get(sessionKey) {
+          const ref = this._sessionCache.get(sessionKey);
+          return ref ? ref.deref() : null;
         }
-      }
-      return true;
-    }
-    function isValidHeaderName(potentialValue) {
-      return isValidHTTPToken(potentialValue);
-    }
-    function isValidHeaderValue(potentialValue) {
-      if (potentialValue.startsWith("	") || potentialValue.startsWith(" ") || potentialValue.endsWith("	") || potentialValue.endsWith(" ")) {
-        return false;
-      }
-      if (potentialValue.includes("\0") || potentialValue.includes("\r") || potentialValue.includes("\n")) {
-        return false;
-      }
-      return true;
-    }
-    function setRequestReferrerPolicyOnRedirect(request2, actualResponse) {
-      const { headersList } = actualResponse;
-      const policyHeader = (headersList.get("referrer-policy") ?? "").split(",");
-      let policy = "";
-      if (policyHeader.length > 0) {
-        for (let i = policyHeader.length; i !== 0; i--) {
-          const token = policyHeader[i - 1].trim();
-          if (referrerPolicyTokens.has(token)) {
-            policy = token;
-            break;
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
+          this._sessionCache.set(sessionKey, new WeakRef(session));
+          this._sessionRegistry.register(session, sessionKey);
         }
-      }
-      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);
-    }
-    function appendRequestOriginHeader(request2) {
-      let serializedOrigin = request2.origin;
-      if (request2.responseTainting === "cors" || request2.mode === "websocket") {
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
-        }
-      } 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:
-        }
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
-        }
-      }
-    }
-    function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
-      return performance5.now();
-    }
-    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";
+    } else {
+      SessionCache = class SimpleSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
         }
-        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;
+        get(sessionKey) {
+          return this._sessionCache.get(sessionKey);
+        }
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
-          if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {
-            return "no-referrer";
+          if (this._sessionCache.size >= this._maxCachedSessions) {
+            const { value: oldestKey } = this._sessionCache.keys().next();
+            this._sessionCache.delete(oldestKey);
           }
-          return referrerOrigin;
-        }
-        case "strict-origin":
-        // eslint-disable-line
-        /**
-           * 1. If referrerURL is a potentially trustworthy URL and
-           * request’s current URL is not a potentially trustworthy URL,
-           * then return no referrer.
-           * 2. Return referrerOrigin
-          */
-        case "no-referrer-when-downgrade":
-        // eslint-disable-line
-        /**
-         * 1. If referrerURL is a potentially trustworthy URL and
-         * request’s current URL is not a potentially trustworthy URL,
-         * then return no referrer.
-         * 2. Return referrerOrigin
-        */
-        default:
-          return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
-      }
-    }
-    function stripURLForReferrer(url2, originOnly) {
-      assert(url2 instanceof URL);
-      if (url2.protocol === "file:" || url2.protocol === "about:" || url2.protocol === "blank:") {
-        return "no-referrer";
-      }
-      url2.username = "";
-      url2.password = "";
-      url2.hash = "";
-      if (originOnly) {
-        url2.pathname = "";
-        url2.search = "";
-      }
-      return url2;
-    }
-    function isURLPotentiallyTrustworthy(url2) {
-      if (!(url2 instanceof URL)) {
-        return false;
-      }
-      if (url2.href === "about:blank" || url2.href === "about:srcdoc") {
-        return true;
-      }
-      if (url2.protocol === "data:") return true;
-      if (url2.protocol === "file:") return true;
-      return isOriginPotentiallyTrustworthy(url2.origin);
-      function isOriginPotentiallyTrustworthy(origin) {
-        if (origin == null || origin === "null") return false;
-        const originAsURL = new URL(origin);
-        if (originAsURL.protocol === "https:" || originAsURL.protocol === "wss:") {
-          return true;
-        }
-        if (/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(originAsURL.hostname) || (originAsURL.hostname === "localhost" || originAsURL.hostname.includes("localhost.")) || originAsURL.hostname.endsWith(".localhost")) {
-          return true;
+          this._sessionCache.set(sessionKey, session);
         }
-        return false;
-      }
+      };
     }
-    function bytesMatch(bytes, metadataList) {
-      if (crypto3 === void 0) {
-        return true;
-      }
-      const parsedMetadata = parseMetadata(metadataList);
-      if (parsedMetadata === "no metadata") {
-        return true;
-      }
-      if (parsedMetadata.length === 0) {
-        return true;
+    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 strongest = getStrongestMetadata(parsedMetadata);
-      const metadata = filterMetadataListByAlgorithm(parsedMetadata, strongest);
-      for (const item of metadata) {
-        const algorithm = item.algo;
-        const expectedValue = item.hash;
-        let actualValue = crypto3.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);
+      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");
           }
+          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 (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 token of metadata.split(" ")) {
-        empty = false;
-        const parsedToken = parseHashWithOptions.exec(token);
-        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;
+        if (options.keepAlive == null || options.keepAlive) {
+          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
+          socket.setKeepAlive(true, keepAliveInitialDelay);
         }
-      }
-      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((resolve8, reject) => {
-        res = resolve8;
-        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";
-    }
-    var normalizeMethodRecord = {
-      delete: "DELETE",
-      DELETE: "DELETE",
-      get: "GET",
-      GET: "GET",
-      head: "HEAD",
-      HEAD: "HEAD",
-      options: "OPTIONS",
-      OPTIONS: "OPTIONS",
-      post: "POST",
-      POST: "POST",
-      put: "PUT",
-      PUT: "PUT"
-    };
-    Object.setPrototypeOf(normalizeMethodRecord, null);
-    function normalizeMethod(method) {
-      return normalizeMethodRecord[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 makeIterator(iterator2, name, kind) {
-      const object = {
-        index: 0,
-        kind,
-        target: iterator2
-      };
-      const i = {
-        next() {
-          if (Object.getPrototypeOf(this) !== i) {
-            throw new TypeError(
-              `'next' called on an object that does not implement interface ${name} Iterator.`
-            );
+        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);
           }
-          const { index, kind: kind2, target } = object;
-          const values = target();
-          const len = values.length;
-          if (index >= len) {
-            return { value: void 0, done: true };
+        }).on("error", function(err) {
+          queueMicrotask(clearConnectTimeout);
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(err);
           }
-          const pair = values[index];
-          object.index = index + 1;
-          return iteratorResult(pair, kind2);
-        },
-        // The class string of an iterator prototype object for a given interface is the
-        // result of concatenating the identifier of the interface and the string " Iterator".
-        [Symbol.toStringTag]: `${name} Iterator`
+        });
+        return socket;
       };
-      Object.setPrototypeOf(i, esIteratorPrototype);
-      return Object.setPrototypeOf({}, i);
-    }
-    function iteratorResult(pair, kind) {
-      let result;
-      switch (kind) {
-        case "key": {
-          result = pair[0];
-          break;
-        }
-        case "value": {
-          result = pair[1];
-          break;
-        }
-        case "key+value": {
-          result = pair;
-          break;
-        }
-      }
-      return { value: result, done: false };
-    }
-    async function fullyReadBody(body, processBody, processBodyError) {
-      const successSteps = processBody;
-      const errorSteps = processBodyError;
-      let reader;
-      try {
-        reader = body.stream.getReader();
-      } catch (e) {
-        errorSteps(e);
-        return;
-      }
-      try {
-        const result = await readAllBytes(reader);
-        successSteps(result);
-      } catch (e) {
-        errorSteps(e);
-      }
     }
-    var ReadableStream2 = globalThis.ReadableStream;
-    function isReadableStreamLike(stream2) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+    var setupConnectTimeout = process.platform === "win32" ? (socketWeakRef, opts) => {
+      if (!opts.timeout) {
+        return noop3;
       }
-      return stream2 instanceof ReadableStream2 || stream2[Symbol.toStringTag] === "ReadableStream" && typeof stream2.tee === "function";
-    }
-    var MAXIMUM_ARGUMENT_LENGTH = 65535;
-    function isomorphicDecode(input) {
-      if (input.length < MAXIMUM_ARGUMENT_LENGTH) {
-        return String.fromCharCode(...input);
+      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;
       }
-      return input.reduce((previous, current) => previous + String.fromCharCode(current), "");
-    }
-    function readableStreamClose(controller) {
-      try {
-        controller.close();
-      } catch (err) {
-        if (!err.message.includes("Controller is already closed")) {
-          throw err;
-        }
+      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;
       }
-    }
-    function isomorphicEncode(input) {
-      for (let i = 0; i < input.length; i++) {
-        assert(input.charCodeAt(i) <= 255);
+      let message = "Connect Timeout Error";
+      if (Array.isArray(socket.autoSelectFamilyAttemptedAddresses)) {
+        message += ` (attempted addresses: ${socket.autoSelectFamilyAttemptedAddresses.join(", ")},`;
+      } else {
+        message += ` (attempted address: ${opts.hostname}:${opts.port},`;
       }
-      return input;
+      message += ` timeout: ${opts.timeout}ms)`;
+      util.destroy(socket, new ConnectTimeoutError(message));
     }
-    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");
+    module2.exports = buildConnector;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js
+var require_utils3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.enumToMap = void 0;
+    function enumToMap(obj) {
+      const res = {};
+      Object.keys(obj).forEach((key) => {
+        const value = obj[key];
+        if (typeof value === "number") {
+          res[key] = value;
         }
-        bytes.push(chunk);
-        byteLength += chunk.length;
-      }
-    }
-    function urlIsLocal(url2) {
-      assert("protocol" in url2);
-      const protocol = url2.protocol;
-      return protocol === "about:" || protocol === "blob:" || protocol === "data:";
-    }
-    function urlHasHttpsScheme(url2) {
-      if (typeof url2 === "string") {
-        return url2.startsWith("https:");
-      }
-      return url2.protocol === "https:";
-    }
-    function urlIsHttpHttpsScheme(url2) {
-      assert("protocol" in url2);
-      const protocol = url2.protocol;
-      return protocol === "http:" || protocol === "https:";
+      });
+      return res;
     }
-    var hasOwn = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key));
-    module2.exports = {
-      isAborted,
-      isCancelled,
-      createDeferredPromise,
-      ReadableStreamFrom,
-      toUSVString,
-      tryUpgradeRequestToAPotentiallyTrustworthyURL,
-      coarsenedSharedCurrentTime,
-      determineRequestsReferrer,
-      makePolicyContainer,
-      clonePolicyContainer,
-      appendFetchMetadata,
-      appendRequestOriginHeader,
-      TAOCheck,
-      corsCheck,
-      crossOriginResourcePolicyCheck,
-      createOpaqueTimingInfo,
-      setRequestReferrerPolicyOnRedirect,
-      isValidHTTPToken,
-      requestBadPort,
-      requestCurrentURL,
-      responseURL,
-      responseLocationURL,
-      isBlobLike,
-      isURLPotentiallyTrustworthy,
-      isValidReasonPhrase,
-      sameOrigin,
-      normalizeMethod,
-      serializeJavascriptValueToJSONString,
-      makeIterator,
-      isValidHeaderName,
-      isValidHeaderValue,
-      hasOwn,
-      isErrorLike,
-      fullyReadBody,
-      bytesMatch,
-      isReadableStreamLike,
-      readableStreamClose,
-      isomorphicEncode,
-      isomorphicDecode,
-      urlIsLocal,
-      urlHasHttpsScheme,
-      urlIsHttpHttpsScheme,
-      readAllBytes,
-      normalizeMethodRecord,
-      parseMetadata
-    };
+    exports2.enumToMap = enumToMap;
   }
 });
 
-// node_modules/undici/lib/fetch/symbols.js
-var require_symbols7 = __commonJS({
-  "node_modules/undici/lib/fetch/symbols.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js
+var require_constants7 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js"(exports2) {
     "use strict";
-    module2.exports = {
-      kUrl: /* @__PURE__ */ Symbol("url"),
-      kHeaders: /* @__PURE__ */ Symbol("headers"),
-      kSignal: /* @__PURE__ */ Symbol("signal"),
-      kState: /* @__PURE__ */ Symbol("state"),
-      kGuard: /* @__PURE__ */ Symbol("guard"),
-      kRealm: /* @__PURE__ */ Symbol("realm")
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
+    var utils_1 = require_utils3();
+    var ERROR;
+    (function(ERROR2) {
+      ERROR2[ERROR2["OK"] = 0] = "OK";
+      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
+      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
+      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
+      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
+      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
+      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
+      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
+      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
+      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
+      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
+      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
+      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
+      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
+      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
+      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
+      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
+      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
+      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
+      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
+      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
+      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
+      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
+      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
+      ERROR2[ERROR2["USER"] = 24] = "USER";
+    })(ERROR = 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];
+      }
+    });
+    var FINISH;
+    (function(FINISH2) {
+      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
+      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
+      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
+    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
+    exports2.ALPHA = [];
+    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
+      exports2.ALPHA.push(String.fromCharCode(i));
+      exports2.ALPHA.push(String.fromCharCode(i + 32));
+    }
+    exports2.NUM_MAP = {
+      0: 0,
+      1: 1,
+      2: 2,
+      3: 3,
+      4: 4,
+      5: 5,
+      6: 6,
+      7: 7,
+      8: 8,
+      9: 9
+    };
+    exports2.HEX_MAP = {
+      0: 0,
+      1: 1,
+      2: 2,
+      3: 3,
+      4: 4,
+      5: 5,
+      6: 6,
+      7: 7,
+      8: 8,
+      9: 9,
+      A: 10,
+      B: 11,
+      C: 12,
+      D: 13,
+      E: 14,
+      F: 15,
+      a: 10,
+      b: 11,
+      c: 12,
+      d: 13,
+      e: 14,
+      f: 15
+    };
+    exports2.NUM = [
+      "0",
+      "1",
+      "2",
+      "3",
+      "4",
+      "5",
+      "6",
+      "7",
+      "8",
+      "9"
+    ];
+    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
+    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
+    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
+    exports2.STRICT_URL_CHAR = [
+      "!",
+      '"',
+      "$",
+      "%",
+      "&",
+      "'",
+      "(",
+      ")",
+      "*",
+      "+",
+      ",",
+      "-",
+      ".",
+      "/",
+      ":",
+      ";",
+      "<",
+      "=",
+      ">",
+      "@",
+      "[",
+      "\\",
+      "]",
+      "^",
+      "_",
+      "`",
+      "{",
+      "|",
+      "}",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
+    for (let i = 128; i <= 255; i++) {
+      exports2.URL_CHAR.push(i);
+    }
+    exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
+    exports2.STRICT_TOKEN = [
+      "!",
+      "#",
+      "$",
+      "%",
+      "&",
+      "'",
+      "*",
+      "+",
+      "-",
+      ".",
+      "^",
+      "_",
+      "`",
+      "|",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]);
+    exports2.HEADER_CHARS = ["	"];
+    for (let i = 32; i <= 255; i++) {
+      if (i !== 127) {
+        exports2.HEADER_CHARS.push(i);
+      }
+    }
+    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/fetch/webidl.js
-var require_webidl2 = __commonJS({
-  "node_modules/undici/lib/fetch/webidl.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js
+var require_llhttp_wasm2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
     "use strict";
-    var { types } = require("util");
-    var { hasOwn, toUSVString } = require_util10();
-    var webidl = {};
-    webidl.converters = {};
-    webidl.util = {};
-    webidl.errors = {};
-    webidl.errors.exception = function(message) {
-      return new TypeError(`${message.header}: ${message.message}`);
+    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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CABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv", "base64");
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
+var require_llhttp_simd_wasm2 = __commonJS({
+  "node_modules/@actions/github/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/@actions/github/node_modules/undici/lib/web/fetch/constants.js
+var require_constants8 = __commonJS({
+  "node_modules/@actions/github/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/@actions/github/node_modules/undici/lib/web/fetch/global.js
+var require_global3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/global.js"(exports2, module2) {
+    "use strict";
+    var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
+    function getGlobalOrigin() {
+      return globalThis[globalOrigin];
+    }
+    function setGlobalOrigin(newOrigin) {
+      if (newOrigin === void 0) {
+        Object.defineProperty(globalThis, globalOrigin, {
+          value: void 0,
+          writable: true,
+          enumerable: false,
+          configurable: false
+        });
+        return;
+      }
+      const parsedURL = new URL(newOrigin);
+      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
+        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
+      }
+      Object.defineProperty(globalThis, globalOrigin, {
+        value: parsedURL,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
+    }
+    module2.exports = {
+      getGlobalOrigin,
+      setGlobalOrigin
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js
+var require_data_url2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var encoder = new TextEncoder();
+    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+\-.^_|~A-Za-z0-9]+$/;
+    var HTTP_WHITESPACE_REGEX = /[\u000A\u000D\u0009\u0020]/;
+    var ASCII_WHITESPACE_REPLACE_REGEX = /[\u0009\u000A\u000C\u000D\u0020]/g;
+    var HTTP_QUOTED_STRING_TOKENS = /^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;
+    function dataURLProcessor(dataURL) {
+      assert(dataURL.protocol === "data:");
+      let input = URLSerializer(dataURL, true);
+      input = input.slice(5);
+      const position = { position: 0 };
+      let mimeType = collectASequenceOfCodePointsFast(
+        ",",
+        input,
+        position
+      );
+      const mimeTypeLength = mimeType.length;
+      mimeType = removeASCIIWhitespace(mimeType, true, true);
+      if (position.position >= input.length) {
+        return "failure";
+      }
+      position.position++;
+      const encodedBody = input.slice(mimeTypeLength + 1);
+      let body = stringPercentDecode(encodedBody);
+      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
+        const stringBody = isomorphicDecode(body);
+        body = forgivingBase64(stringBody);
+        if (body === "failure") {
+          return "failure";
+        }
+        mimeType = mimeType.slice(0, -6);
+        mimeType = mimeType.replace(/(\u0020)+$/, "");
+        mimeType = mimeType.slice(0, -1);
+      }
+      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 };
+    }
+    function URLSerializer(url2, excludeFragment = false) {
+      if (!excludeFragment) {
+        return url2.href;
+      }
+      const href = url2.href;
+      const hashLength = url2.hash.length;
+      const serialized = hashLength === 0 ? href : href.substring(0, href.length - hashLength);
+      if (!hashLength && href.endsWith("#")) {
+        return serialized.slice(0, -1);
+      }
+      return serialized;
+    }
+    function collectASequenceOfCodePoints(condition, input, position) {
+      let result = "";
+      while (position.position < input.length && condition(input[position.position])) {
+        result += input[position.position];
+        position.position++;
+      }
+      return result;
+    }
+    function collectASequenceOfCodePointsFast(char, input, position) {
+      const idx = input.indexOf(char, position.position);
+      const start = position.position;
+      if (idx === -1) {
+        position.position = input.length;
+        return input.slice(start);
+      }
+      position.position = idx;
+      return input.slice(start, position.position);
+    }
+    function stringPercentDecode(input) {
+      const bytes = encoder.encode(input);
+      return percentDecode(bytes);
+    }
+    function isHexCharByte(byte) {
+      return byte >= 48 && byte <= 57 || byte >= 65 && byte <= 70 || byte >= 97 && byte <= 102;
+    }
+    function hexByteToNumber(byte) {
+      return (
+        // 0-9
+        byte >= 48 && byte <= 57 ? byte - 48 : (byte & 223) - 55
+      );
+    }
+    function 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);
+    }
+    function parseMIMEType(input) {
+      input = removeHTTPWhitespace(input, true, true);
+      const position = { position: 0 };
+      const type2 = collectASequenceOfCodePointsFast(
+        "/",
+        input,
+        position
+      );
+      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
+        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 = type2.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;
+    }
+    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);
+    }
+    function collectAnHTTPQuotedString(input, position, extractValue) {
+      const positionStart = position.position;
+      let value = "";
+      assert(input[position.position] === '"');
+      position.position++;
+      while (true) {
+        value += collectASequenceOfCodePoints(
+          (char) => char !== '"' && char !== "\\",
+          input,
+          position
+        );
+        if (position.position >= input.length) {
+          break;
+        }
+        const quoteOrBackslash = input[position.position];
+        position.position++;
+        if (quoteOrBackslash === "\\") {
+          if (position.position >= input.length) {
+            value += "\\";
+            break;
+          }
+          value += input[position.position];
+          position.position++;
+        } else {
+          assert(quoteOrBackslash === '"');
+          break;
+        }
+      }
+      if (extractValue) {
+        return value;
+      }
+      return input.slice(positionStart, position.position);
+    }
+    function serializeAMimeType(mimeType) {
+      assert(mimeType !== "failure");
+      const { parameters, essence } = mimeType;
+      let serialization = essence;
+      for (let [name, value] of parameters.entries()) {
+        serialization += ";";
+        serialization += name;
+        serialization += "=";
+        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
+          value = value.replace(/(\\|")/g, "\\$1");
+          value = '"' + value;
+          value += '"';
+        }
+        serialization += value;
+      }
+      return serialization;
+    }
+    function isHTTPWhiteSpace(char) {
+      return char === 13 || char === 10 || char === 9 || char === 32;
+    }
+    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isHTTPWhiteSpace);
+    }
+    function isASCIIWhitespace(char) {
+      return char === 13 || char === 10 || char === 9 || char === 12 || char === 32;
+    }
+    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isASCIIWhitespace);
+    }
+    function removeChars(str2, leading, trailing, predicate) {
+      let lead = 0;
+      let trail = str2.length - 1;
+      if (leading) {
+        while (lead < str2.length && predicate(str2.charCodeAt(lead))) lead++;
+      }
+      if (trailing) {
+        while (trail > 0 && predicate(str2.charCodeAt(trail))) trail--;
+      }
+      return lead === 0 && trail === str2.length - 1 ? str2 : str2.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/node_modules/undici/lib/web/fetch/webidl.js
+var require_webidl2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/webidl.js"(exports2, module2) {
+    "use strict";
+    var { types, inspect } = require("node:util");
+    var { markAsUncloneable } = require("node:worker_threads");
+    var { toUSVString } = require_util9();
+    var webidl = {};
+    webidl.converters = {};
+    webidl.util = {};
+    webidl.errors = {};
+    webidl.errors.exception = function(message) {
+      return new TypeError(`${message.header}: ${message.message}`);
+    };
+    webidl.errors.conversionFailed = function(context2) {
+      const plural = context2.types.length === 1 ? "" : " one of";
+      const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`;
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message
+      });
+    };
+    webidl.errors.invalidArgument = function(context2) {
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message: `"${context2.value}" is an invalid ${context2.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";
+        }
+      }
+    };
+    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;
+      }
+      if (!Number.isNaN(x) && opts?.clamp === true) {
+        x = Math.min(Math.max(x, lowerBound), upperBound);
+        if (Math.floor(x) % 2 === 0) {
+          x = Math.floor(x);
+        } else {
+          x = Math.ceil(x);
+        }
+        return x;
+      }
+      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 type2 = webidl.util.Type(V);
+      switch (type2) {
+        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.`
+          });
+        }
+        const method = typeof Iterable === "function" ? Iterable() : V?.[Symbol.iterator]?.();
+        const seq2 = [];
+        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;
+          }
+          seq2.push(converter(value, prefix, `${argument}[${index++}]`));
+        }
+        return seq2;
+      };
+    };
+    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 type2 = webidl.util.Type(dictionary);
+        const dict = {};
+        if (type2 === "Null" || type2 === "Undefined") {
+          return dict;
+        } else if (type2 !== "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);
+    };
+    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/@actions/github/node_modules/undici/lib/web/fetch/util.js
+var require_util10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/util.js"(exports2, module2) {
+    "use strict";
+    var { Transform } = require("node:stream");
+    var zlib2 = require("node:zlib");
+    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants8();
+    var { getGlobalOrigin } = require_global3();
+    var { collectASequenceOfCodePoints, collectAnHTTPQuotedString, removeChars, parseMIMEType } = require_data_url2();
+    var { performance: performance5 } = require("node:perf_hooks");
+    var { isBlobLike, ReadableStreamFrom, isValidHTTPToken, normalizedMethodRecordsBase } = require_util9();
+    var assert = require("node:assert");
+    var { isUint8Array } = require("node:util/types");
+    var { webidl } = require_webidl2();
+    var supportedHashes = [];
+    var crypto3;
+    try {
+      crypto3 = require("node:crypto");
+      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
+      supportedHashes = crypto3.getHashes().filter((hash2) => possibleRelevantHashes.includes(hash2));
+    } 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(url2) {
+      for (let i = 0; i < url2.length; ++i) {
+        const code = url2.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 url2 = requestCurrentURL(request2);
+      if (urlIsHttpHttpsScheme(url2) && badPortsSet.has(url2.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 token = policyHeader[i - 1].trim();
+          if (referrerPolicyTokens.has(token)) {
+            policy = token;
+            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(timestamp2, crossOriginIsolatedCapability) {
+      return timestamp2;
+    }
+    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(performance5.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":
+        // eslint-disable-line
+        /**
+           * 1. If referrerURL is a potentially trustworthy URL and
+           * request’s current URL is not a potentially trustworthy URL,
+           * then return no referrer.
+           * 2. Return referrerOrigin
+          */
+        case "no-referrer-when-downgrade":
+        // eslint-disable-line
+        /**
+         * 1. If referrerURL is a potentially trustworthy URL and
+         * request’s current URL is not a potentially trustworthy URL,
+         * then return no referrer.
+         * 2. Return referrerOrigin
+        */
+        default:
+          return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
+      }
+    }
+    function stripURLForReferrer(url2, originOnly) {
+      assert(url2 instanceof URL);
+      url2 = new URL(url2);
+      if (url2.protocol === "file:" || url2.protocol === "about:" || url2.protocol === "blank:") {
+        return "no-referrer";
+      }
+      url2.username = "";
+      url2.password = "";
+      url2.hash = "";
+      if (originOnly) {
+        url2.pathname = "";
+        url2.search = "";
+      }
+      return url2;
+    }
+    function isURLPotentiallyTrustworthy(url2) {
+      if (!(url2 instanceof URL)) {
+        return false;
+      }
+      if (url2.href === "about:blank" || url2.href === "about:srcdoc") {
+        return true;
+      }
+      if (url2.protocol === "data:") return true;
+      if (url2.protocol === "file:") return true;
+      return isOriginPotentiallyTrustworthy(url2.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 (crypto3 === 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 = crypto3.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 token of metadata.split(" ")) {
+        empty = false;
+        const parsedToken = parseHashWithOptions.exec(token);
+        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((resolve8, reject) => {
+        res = resolve8;
+        rej = reject;
+      });
+      return { promise, resolve: res, reject: rej };
+    }
+    function isAborted(fetchParams) {
+      return fetchParams.controller.state === "aborted";
+    }
+    function isCancelled(fetchParams) {
+      return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";
+    }
+    function normalizeMethod(method) {
+      return normalizedMethodRecordsBase[method.toLowerCase()] ?? method;
+    }
+    function serializeJavascriptValueToJSONString(value) {
+      const result = JSON.stringify(value);
+      if (result === void 0) {
+        throw new TypeError("Value is not JSON serializable");
+      }
+      assert(typeof result === "string");
+      return result;
+    }
+    var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
+    function createIterator(name, kInternalIterator, keyIndex = 0, valueIndex = 1) {
+      class FastIterableIterator {
+        /** @type {any} */
+        #target;
+        /** @type {'key' | 'value' | 'key+value'} */
+        #kind;
+        /** @type {number} */
+        #index;
+        /**
+         * @see https://webidl.spec.whatwg.org/#dfn-default-iterator-object
+         * @param {unknown} target
+         * @param {'key' | 'value' | 'key+value'} kind
+         */
+        constructor(target, kind) {
+          this.#target = target;
+          this.#kind = kind;
+          this.#index = 0;
+        }
+        next() {
+          if (typeof this !== "object" || this === null || !(#target in this)) {
+            throw new TypeError(
+              `'next' called on an object that does not implement interface ${name} Iterator.`
+            );
+          }
+          const index = this.#index;
+          const values = this.#target[kInternalIterator];
+          const len = values.length;
+          if (index >= len) {
+            return {
+              value: void 0,
+              done: true
+            };
+          }
+          const { [keyIndex]: key, [valueIndex]: value } = values[index];
+          this.#index = index + 1;
+          let result;
+          switch (this.#kind) {
+            case "key":
+              result = key;
+              break;
+            case "value":
+              result = value;
+              break;
+            case "key+value":
+              result = [key, value];
+              break;
+          }
+          return {
+            value: result,
+            done: false
+          };
+        }
+      }
+      delete FastIterableIterator.prototype.constructor;
+      Object.setPrototypeOf(FastIterableIterator.prototype, esIteratorPrototype);
+      Object.defineProperties(FastIterableIterator.prototype, {
+        [Symbol.toStringTag]: {
+          writable: false,
+          enumerable: false,
+          configurable: true,
+          value: `${name} Iterator`
+        },
+        next: { writable: true, enumerable: true, configurable: true }
+      });
+      return function(target, kind) {
+        return new FastIterableIterator(target, kind);
+      };
+    }
+    function iteratorMixin(name, object, kInternalIterator, keyIndex = 0, valueIndex = 1) {
+      const makeIterator = createIterator(name, kInternalIterator, keyIndex, valueIndex);
+      const properties = {
+        keys: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function keys() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "key");
+          }
+        },
+        values: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function values() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "value");
+          }
+        },
+        entries: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function entries() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "key+value");
+          }
+        },
+        forEach: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function forEach(callbackfn, thisArg = globalThis) {
+            webidl.brandCheck(this, object);
+            webidl.argumentLengthCheck(arguments, 1, `${name}.forEach`);
+            if (typeof callbackfn !== "function") {
+              throw new TypeError(
+                `Failed to execute 'forEach' on '${name}': parameter 1 is not of type 'Function'.`
+              );
+            }
+            for (const { 0: key, 1: value } of makeIterator(this, "key+value")) {
+              callbackfn.call(thisArg, value, key, this);
+            }
+          }
+        }
+      };
+      return Object.defineProperties(object.prototype, {
+        ...properties,
+        [Symbol.iterator]: {
+          writable: true,
+          enumerable: false,
+          configurable: true,
+          value: properties.entries.value
+        }
+      });
+    }
+    async function fullyReadBody(body, processBody, processBodyError) {
+      const successSteps = processBody;
+      const errorSteps = processBodyError;
+      let reader;
+      try {
+        reader = body.stream.getReader();
+      } catch (e) {
+        errorSteps(e);
+        return;
+      }
+      try {
+        successSteps(await readAllBytes(reader));
+      } catch (e) {
+        errorSteps(e);
+      }
+    }
+    function isReadableStreamLike(stream2) {
+      return stream2 instanceof ReadableStream || stream2[Symbol.toStringTag] === "ReadableStream" && typeof stream2.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(url2) {
+      assert("protocol" in url2);
+      const protocol = url2.protocol;
+      return protocol === "about:" || protocol === "blob:" || protocol === "data:";
+    }
+    function urlHasHttpsScheme(url2) {
+      return typeof url2 === "string" && url2[5] === ":" && url2[0] === "h" && url2[1] === "t" && url2[2] === "t" && url2[3] === "p" && url2[4] === "s" || url2.protocol === "https:";
+    }
+    function urlIsHttpHttpsScheme(url2) {
+      assert("protocol" in url2);
+      const protocol = url2.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 ? zlib2.createInflate(this.#zlibOptions) : zlib2.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/@actions/github/node_modules/undici/lib/web/fetch/symbols.js
+var require_symbols7 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kUrl: /* @__PURE__ */ Symbol("url"),
+      kHeaders: /* @__PURE__ */ Symbol("headers"),
+      kSignal: /* @__PURE__ */ Symbol("signal"),
+      kState: /* @__PURE__ */ Symbol("state"),
+      kDispatcher: /* @__PURE__ */ Symbol("dispatcher")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js
+var require_file2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js"(exports2, module2) {
+    "use strict";
+    var { Blob: Blob2, File: File2 } = require("node:buffer");
+    var { kState } = require_symbols7();
+    var { webidl } = require_webidl2();
+    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 File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
+    }
+    module2.exports = { FileLike, isFileLike };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js
+var require_formdata2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js"(exports2, module2) {
+    "use strict";
+    var { isBlobLike, iteratorMixin } = require_util10();
+    var { kState } = require_symbols7();
+    var { kEnumerableProperty } = require_util9();
+    var { FileLike, isFileLike } = require_file2();
+    var { webidl } = require_webidl2();
+    var { File: NativeFile } = require("node:buffer");
+    var nodeUtil = require("node:util");
+    var File2 = globalThis.File ?? NativeFile;
+    var FormData2 = 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", FormData2, kState, "name", "value");
+    Object.defineProperties(FormData2.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 File2([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 File2([value], filename, options) : new FileLike(value, filename, options);
+        }
+      }
+      return { name, value };
+    }
+    module2.exports = { FormData: FormData2, makeEntry };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js
+var require_formdata_parser2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js"(exports2, module2) {
+    "use strict";
+    var { isUSVString, bufferToLowerCasedHeaderName } = require_util9();
+    var { utf8DecodeBytes } = require_util10();
+    var { HTTP_TOKEN_CODEPOINTS, isomorphicDecode } = require_data_url2();
+    var { isFileLike } = require_file2();
+    var { makeEntry } = require_formdata2();
+    var assert = require("node:assert");
+    var { File: NodeFile } = require("node:buffer");
+    var File2 = globalThis.File ?? NodeFile;
+    var formDataNameBuffer = Buffer.from('form-data; name="');
+    var filenameBuffer = Buffer.from("; filename");
+    var dd = Buffer.from("--");
+    var ddcrlf = Buffer.from("--\r\n");
+    function isAsciiString(chars) {
+      for (let i = 0; i < chars.length; ++i) {
+        if ((chars.charCodeAt(i) & ~127) !== 0) {
+          return false;
+        }
+      }
+      return true;
+    }
+    function validateBoundary(boundary) {
+      const length = boundary.length;
+      if (length < 27 || length > 70) {
+        return false;
+      }
+      for (let i = 0; i < length; ++i) {
+        const cp = boundary.charCodeAt(i);
+        if (!(cp >= 48 && cp <= 57 || cp >= 65 && cp <= 90 || cp >= 97 && cp <= 122 || cp === 39 || cp === 45 || cp === 95)) {
+          return false;
+        }
+      }
+      return true;
+    }
+    function multipartFormDataParser(input, mimeType) {
+      assert(mimeType !== "failure" && mimeType.essence === "multipart/form-data");
+      const boundaryString = mimeType.parameters.get("boundary");
+      if (boundaryString === void 0) {
+        return "failure";
+      }
+      const boundary = Buffer.from(`--${boundaryString}`, "utf8");
+      const entryList = [];
+      const position = { position: 0 };
+      while (input[position.position] === 13 && input[position.position + 1] === 10) {
+        position.position += 2;
+      }
+      let trailing = input.length;
+      while (input[trailing - 1] === 10 && input[trailing - 2] === 13) {
+        trailing -= 2;
+      }
+      if (trailing !== input.length) {
+        input = input.subarray(0, trailing);
+      }
+      while (true) {
+        if (input.subarray(position.position, position.position + boundary.length).equals(boundary)) {
+          position.position += boundary.length;
+        } else {
+          return "failure";
+        }
+        if (position.position === input.length - 2 && bufferStartsWith(input, dd, position) || position.position === input.length - 4 && bufferStartsWith(input, ddcrlf, position)) {
+          return entryList;
+        }
+        if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
+          return "failure";
+        }
+        position.position += 2;
+        const result = parseMultipartFormDataHeaders(input, position);
+        if (result === "failure") {
+          return "failure";
+        }
+        let { name, filename, contentType, encoding } = result;
+        position.position += 2;
+        let body;
+        {
+          const boundaryIndex = input.indexOf(boundary.subarray(2), position.position);
+          if (boundaryIndex === -1) {
+            return "failure";
+          }
+          body = input.subarray(position.position, boundaryIndex - 4);
+          position.position += body.length;
+          if (encoding === "base64") {
+            body = Buffer.from(body.toString(), "base64");
+          }
+        }
+        if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
+          return "failure";
+        } else {
+          position.position += 2;
+        }
+        let value;
+        if (filename !== null) {
+          contentType ??= "text/plain";
+          if (!isAsciiString(contentType)) {
+            contentType = "";
+          }
+          value = new File2([body], filename, { type: contentType });
+        } else {
+          value = utf8DecodeBytes(Buffer.from(body));
+        }
+        assert(isUSVString(name));
+        assert(typeof value === "string" && isUSVString(value) || isFileLike(value));
+        entryList.push(makeEntry(name, value, filename));
+      }
+    }
+    function parseMultipartFormDataHeaders(input, position) {
+      let name = null;
+      let filename = null;
+      let contentType = null;
+      let encoding = null;
+      while (true) {
+        if (input[position.position] === 13 && input[position.position + 1] === 10) {
+          if (name === null) {
+            return "failure";
+          }
+          return { name, filename, contentType, encoding };
+        }
+        let headerName = collectASequenceOfBytes(
+          (char) => char !== 10 && char !== 13 && char !== 58,
+          input,
+          position
+        );
+        headerName = removeChars(headerName, true, true, (char) => char === 9 || char === 32);
+        if (!HTTP_TOKEN_CODEPOINTS.test(headerName.toString())) {
+          return "failure";
+        }
+        if (input[position.position] !== 58) {
+          return "failure";
+        }
+        position.position++;
+        collectASequenceOfBytes(
+          (char) => char === 32 || char === 9,
+          input,
+          position
+        );
+        switch (bufferToLowerCasedHeaderName(headerName)) {
+          case "content-disposition": {
+            name = filename = null;
+            if (!bufferStartsWith(input, formDataNameBuffer, position)) {
+              return "failure";
+            }
+            position.position += 17;
+            name = parseMultipartFormDataName(input, position);
+            if (name === null) {
+              return "failure";
+            }
+            if (bufferStartsWith(input, filenameBuffer, position)) {
+              let check = position.position + filenameBuffer.length;
+              if (input[check] === 42) {
+                position.position += 1;
+                check += 1;
+              }
+              if (input[check] !== 61 || input[check + 1] !== 34) {
+                return "failure";
+              }
+              position.position += 12;
+              filename = parseMultipartFormDataName(input, position);
+              if (filename === null) {
+                return "failure";
+              }
+            }
+            break;
+          }
+          case "content-type": {
+            let headerValue = collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+            headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
+            contentType = isomorphicDecode(headerValue);
+            break;
+          }
+          case "content-transfer-encoding": {
+            let headerValue = collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+            headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
+            encoding = isomorphicDecode(headerValue);
+            break;
+          }
+          default: {
+            collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+          }
+        }
+        if (input[position.position] !== 13 && input[position.position + 1] !== 10) {
+          return "failure";
+        } else {
+          position.position += 2;
+        }
+      }
+    }
+    function parseMultipartFormDataName(input, position) {
+      assert(input[position.position - 1] === 34);
+      let name = collectASequenceOfBytes(
+        (char) => char !== 10 && char !== 13 && char !== 34,
+        input,
+        position
+      );
+      if (input[position.position] !== 34) {
+        return null;
+      } else {
+        position.position++;
+      }
+      name = new TextDecoder().decode(name).replace(/%0A/ig, "\n").replace(/%0D/ig, "\r").replace(/%22/g, '"');
+      return name;
+    }
+    function collectASequenceOfBytes(condition, input, position) {
+      let start = position.position;
+      while (start < input.length && condition(input[start])) {
+        ++start;
+      }
+      return input.subarray(position.position, position.position = start);
+    }
+    function removeChars(buf, leading, trailing, predicate) {
+      let lead = 0;
+      let trail = buf.length - 1;
+      if (leading) {
+        while (lead < buf.length && predicate(buf[lead])) lead++;
+      }
+      if (trailing) {
+        while (trail > 0 && predicate(buf[trail])) trail--;
+      }
+      return lead === 0 && trail === buf.length - 1 ? buf : buf.subarray(lead, trail + 1);
+    }
+    function bufferStartsWith(buffer, start, position) {
+      if (buffer.length < start.length) {
+        return false;
+      }
+      for (let i = 0; i < start.length; i++) {
+        if (start[i] !== buffer[position.position + i]) {
+          return false;
+        }
+      }
+      return true;
+    }
+    module2.exports = {
+      multipartFormDataParser,
+      validateBoundary
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js
+var require_body2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js"(exports2, module2) {
+    "use strict";
+    var util = require_util9();
+    var {
+      ReadableStreamFrom,
+      isBlobLike,
+      isReadableStreamLike,
+      readableStreamClose,
+      createDeferredPromise,
+      fullyReadBody,
+      extractMimeType,
+      utf8DecodeBytes
+    } = require_util10();
+    var { FormData: FormData2 } = require_formdata2();
+    var { kState } = require_symbols7();
+    var { webidl } = require_webidl2();
+    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_url2();
+    var { multipartFormDataParser } = require_formdata_parser2();
+    var random;
+    try {
+      const crypto3 = require("node:crypto");
+      random = (max) => crypto3.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 stream2 = weakRef.deref();
+        if (stream2 && !stream2.locked && !isDisturbed(stream2) && !isErrored(stream2)) {
+          stream2.cancel("Response object has been garbage collected").catch(noop3);
+        }
+      });
+    }
+    function extractBody(object, keepalive = false) {
+      let stream2 = null;
+      if (object instanceof ReadableStream) {
+        stream2 = object;
+      } else if (isBlobLike(object)) {
+        stream2 = object.stream();
+      } else {
+        stream2 = 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(stream2));
+      let action = null;
+      let source = null;
+      let length = null;
+      let type2 = null;
+      if (typeof object === "string") {
+        source = object;
+        type2 = "text/plain;charset=UTF-8";
+      } else if (object instanceof URLSearchParams) {
+        source = object.toString();
+        type2 = "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 = (str2) => str2.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;
+            }
+          }
+        };
+        type2 = `multipart/form-data; boundary=${boundary}`;
+      } else if (isBlobLike(object)) {
+        source = object;
+        length = object.size;
+        if (object.type) {
+          type2 = 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"
+          );
+        }
+        stream2 = object instanceof ReadableStream ? object : ReadableStreamFrom(object);
+      }
+      if (typeof source === "string" || util.isBuffer(source)) {
+        length = Buffer.byteLength(source);
+      }
+      if (action != null) {
+        let iterator2;
+        stream2 = 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(stream2)) {
+                const buffer = new Uint8Array(value);
+                if (buffer.byteLength) {
+                  controller.enqueue(buffer);
+                }
+              }
+            }
+            return controller.desiredSize > 0;
+          },
+          async cancel(reason) {
+            await iterator2.return();
+          },
+          type: "bytes"
+        });
+      }
+      const body = { stream: stream2, source, length };
+      return [body, type2];
+    }
+    function safelyExtractBody(object, keepalive = false) {
+      if (object instanceof ReadableStream) {
+        assert(!util.isDisturbed(object), "The body has already been consumed.");
+        assert(!object.locked, "The stream is locked.");
+      }
+      return extractBody(object, keepalive);
+    }
+    function cloneBody(instance, body) {
+      const [out1, out2] = body.stream.tee();
+      body.stream = out1;
+      return {
+        stream: out2,
+        length: body.length,
+        source: body.source
+      };
+    }
+    function throwIfAborted(state) {
+      if (state.aborted) {
+        throw new DOMException("The operation was aborted.", "AbortError");
+      }
+    }
+    function bodyMixinMethods(instance) {
+      const methods = {
+        blob() {
+          return consumeBody(this, (bytes) => {
+            let mimeType = bodyMimeType(this);
+            if (mimeType === null) {
+              mimeType = "";
+            } else if (mimeType) {
+              mimeType = serializeAMimeType(mimeType);
+            }
+            return new Blob2([bytes], { type: mimeType });
+          }, instance);
+        },
+        arrayBuffer() {
+          return consumeBody(this, (bytes) => {
+            return new Uint8Array(bytes).buffer;
+          }, instance);
+        },
+        text() {
+          return consumeBody(this, utf8DecodeBytes, instance);
+        },
+        json() {
+          return consumeBody(this, parseJSONFromBytes, instance);
+        },
+        formData() {
+          return consumeBody(this, (value) => {
+            const mimeType = bodyMimeType(this);
+            if (mimeType !== null) {
+              switch (mimeType.essence) {
+                case "multipart/form-data": {
+                  const parsed = multipartFormDataParser(value, mimeType);
+                  if (parsed === "failure") {
+                    throw new TypeError("Failed to parse body as FormData.");
+                  }
+                  const fd = new FormData2();
+                  fd[kState] = parsed;
+                  return fd;
+                }
+                case "application/x-www-form-urlencoded": {
+                  const entries = new URLSearchParams(value.toString());
+                  const fd = new FormData2();
+                  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 = (error3) => promise.reject(error3);
+      const successSteps = (data) => {
+        try {
+          promise.resolve(convertBytesToJSValue(data));
+        } catch (e) {
+          errorSteps(e);
+        }
+      };
+      if (object[kState].body == null) {
+        successSteps(Buffer.allocUnsafe(0));
+        return promise.promise;
+      }
+      await fullyReadBody(object[kState].body, successSteps, errorSteps);
+      return promise.promise;
+    }
+    function bodyUnusable(object) {
+      const body = object[kState].body;
+      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
+    }
+    function parseJSONFromBytes(bytes) {
+      return JSON.parse(utf8DecodeBytes(bytes));
+    }
+    function bodyMimeType(requestOrResponse) {
+      const headers = requestOrResponse[kState].headersList;
+      const mimeType = extractMimeType(headers);
+      if (mimeType === "failure") {
+        return null;
+      }
+      return mimeType;
+    }
+    module2.exports = {
+      extractBody,
+      safelyExtractBody,
+      cloneBody,
+      mixinBody,
+      streamRegistry,
+      hasFinalizationRegistry,
+      bodyUnusable
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js
+var require_client_h12 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var util = require_util9();
+    var { channels } = require_diagnostics2();
+    var timers = require_timers2();
+    var {
+      RequestContentLengthMismatchError,
+      ResponseContentLengthMismatchError,
+      RequestAbortedError,
+      HeadersTimeoutError,
+      HeadersOverflowError,
+      SocketError,
+      InformationalError,
+      BodyTimeoutError,
+      HTTPParserError,
+      ResponseExceededMaxSizeError
+    } = require_errors2();
+    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_symbols6();
+    var constants = require_constants7();
+    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_wasm2() : void 0;
+      let mod;
+      try {
+        mod = await WebAssembly.compile(require_llhttp_simd_wasm2());
+      } catch (e) {
+        mod = await WebAssembly.compile(llhttpWasmData || require_llhttp_wasm2());
+      }
+      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(delay2, type2) {
+        if (delay2 !== this.timeoutValue || type2 & USE_FAST_TIMER ^ this.timeoutType & USE_FAST_TIMER) {
+          if (this.timeout) {
+            timers.clearTimeout(this.timeout);
+            this.timeout = null;
+          }
+          if (delay2) {
+            if (type2 & USE_FAST_TIMER) {
+              this.timeout = timers.setFastTimeout(onParserTimeout, delay2, new WeakRef(this));
+            } else {
+              this.timeout = setTimeout(onParserTimeout, delay2, new WeakRef(this));
+              this.timeout.unref();
+            }
+          }
+          this.timeoutValue = delay2;
+        } else if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
+        }
+        this.timeoutType = type2;
+      }
+      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]();
+        }
+      }
     };
-    webidl.errors.conversionFailed = function(context2) {
-      const plural = context2.types.length === 1 ? "" : " one of";
-      const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`;
-      return webidl.errors.exception({
-        header: context2.prefix,
-        message
+    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);
       });
-    };
-    webidl.errors.invalidArgument = function(context2) {
-      return webidl.errors.exception({
-        header: context2.prefix,
-        message: `"${context2.value}" is an invalid ${context2.type}.`
+      addListener(socket, "readable", function() {
+        const parser = this[kParser];
+        if (parser) {
+          parser.readMore();
+        }
       });
-    };
-    webidl.brandCheck = function(V, I, opts = void 0) {
-      if (opts?.strict !== false && !(V instanceof I)) {
-        throw new TypeError("Illegal invocation");
+      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: path16, host, upgrade, blocking, reset } = request2;
+      let { body, headers, contentLength } = request2;
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH" || method === "QUERY" || method === "PROPFIND" || method === "PROPPATCH";
+      if (util.isFormDataLike(body)) {
+        if (!extractBody) {
+          extractBody = require_body2().extractBody;
+        }
+        const [bodyStream, contentType] = extractBody(body);
+        if (request2.contentType == null) {
+          headers.push("content-type", contentType);
+        }
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
+      } else if (util.isBlobLike(body) && request2.contentType == null && body.type) {
+        headers.push("content-type", body.type);
+      }
+      if (body && typeof body.read === "function") {
+        body.read(0);
+      }
+      const bodyLength = util.bodyLength(body);
+      contentLength = bodyLength ?? contentLength;
+      if (contentLength === null) {
+        contentLength = request2.contentLength;
+      }
+      if (contentLength === 0 && !expectsPayload) {
+        contentLength = null;
+      }
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          util.errorRequest(client, request2, new RequestContentLengthMismatchError());
+          return false;
+        }
+        process.emitWarning(new RequestContentLengthMismatchError());
+      }
+      const socket = client[kSocket];
+      const abort = (err) => {
+        if (request2.aborted || request2.completed) {
+          return;
+        }
+        util.errorRequest(client, request2, err || new RequestAbortedError());
+        util.destroy(body);
+        util.destroy(socket, new InformationalError("aborted"));
+      };
+      try {
+        request2.onConnect(abort);
+      } catch (err) {
+        util.errorRequest(client, request2, err);
+      }
+      if (request2.aborted) {
+        return false;
+      }
+      if (method === "HEAD") {
+        socket[kReset] = true;
+      }
+      if (upgrade || method === "CONNECT") {
+        socket[kReset] = true;
+      }
+      if (reset != null) {
+        socket[kReset] = reset;
+      }
+      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
+        socket[kReset] = true;
+      }
+      if (blocking) {
+        socket[kBlocking] = true;
+      }
+      let header = `${method} ${path16} HTTP/1.1\r
+`;
+      if (typeof host === "string") {
+        header += `host: ${host}\r
+`;
       } else {
-        return V?.[Symbol.toStringTag] === I.prototype[Symbol.toStringTag];
+        header += client[kHostHeader];
       }
-    };
-    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.`,
-          ...ctx
-        });
+      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";
       }
-    };
-    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";
+      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
+`;
           }
-          return "Object";
         }
       }
-    };
-    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;
+      if (channels.sendHeaders.hasSubscribers) {
+        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      }
+      if (!body || bodyLength === 0) {
+        writeBuffer(abort, null, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isBuffer(body)) {
+        writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isBlobLike(body)) {
+        if (typeof body.stream === "function") {
+          writeIterable(abort, body.stream(), client, request2, socket, contentLength, header, expectsPayload);
+        } else {
+          writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+        }
+      } else if (util.isStream(body)) {
+        writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isIterable(body)) {
+        writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else {
+        assert(false);
+      }
+      return true;
+    }
+    function writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      let finished = false;
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
+      const onData = function(chunk) {
+        if (finished) {
+          return;
+        }
+        try {
+          if (!writer.write(chunk) && this.pause) {
+            this.pause();
+          }
+        } catch (err) {
+          util.destroy(this, err);
+        }
+      };
+      const onDrain = function() {
+        if (finished) {
+          return;
+        }
+        if (body.resume) {
+          body.resume();
+        }
+      };
+      const onClose = function() {
+        queueMicrotask(() => {
+          body.removeListener("error", onFinished);
+        });
+        if (!finished) {
+          const err = new RequestAbortedError();
+          queueMicrotask(() => onFinished(err));
+        }
+      };
+      const onFinished = function(err) {
+        if (finished) {
+          return;
+        }
+        finished = true;
+        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
+        socket.off("drain", onDrain).off("error", onFinished);
+        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("close", onClose);
+        if (!err) {
+          try {
+            writer.end();
+          } catch (er) {
+            err = er;
+          }
+        }
+        writer.destroy(err);
+        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
+          util.destroy(body, err);
         } else {
-          lowerBound = Math.pow(-2, 53) + 1;
+          util.destroy(body);
         }
-      } 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;
+      };
+      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onClose);
+      if (body.resume) {
+        body.resume();
       }
-      let x = Number(V);
-      if (x === 0) {
-        x = 0;
+      socket.on("drain", onDrain).on("error", onFinished);
+      if (body.errorEmitted ?? body.errored) {
+        setImmediate(() => onFinished(body.errored));
+      } else if (body.endEmitted ?? body.readableEnded) {
+        setImmediate(() => onFinished(null));
       }
-      if (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 ${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}.`
-          });
+      if (body.closeEmitted ?? body.closed) {
+        setImmediate(onClose);
+      }
+    }
+    function writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      try {
+        if (!body) {
+          if (contentLength === 0) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
+          } else {
+            assert(contentLength === null, "no body must not have content length");
+            socket.write(`${header}\r
+`, "latin1");
+          }
+        } else if (util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          socket.cork();
+          socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+          socket.write(body);
+          socket.uncork();
+          request2.onBodySent(body);
+          if (!expectsPayload && request2.reset !== false) {
+            socket[kReset] = true;
+          }
         }
-        return x;
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      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);
+    }
+    async function writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength === body.size, "blob body must have content length");
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
         }
-        return x;
+        const buffer = Buffer.from(await body.arrayBuffer());
+        socket.cork();
+        socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+        socket.write(buffer);
+        socket.uncork();
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload && request2.reset !== false) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
-        return 0;
+    }
+    async function writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
+        }
       }
-      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);
+      const waitForDrain = () => new Promise((resolve8, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve8;
+        }
+      });
+      socket.on("close", onDrain).on("drain", onDrain);
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          if (!writer.write(chunk)) {
+            await waitForDrain();
+          }
+        }
+        writer.end();
+      } catch (err) {
+        writer.destroy(err);
+      } finally {
+        socket.off("close", onDrain).off("drain", onDrain);
       }
-      return x;
-    };
-    webidl.util.IntegerPart = function(n) {
-      const r = Math.floor(Math.abs(n));
-      if (n < 0) {
-        return -1 * r;
+    }
+    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;
       }
-      return r;
-    };
-    webidl.sequenceConverter = function(converter) {
-      return (V) => {
-        if (webidl.util.Type(V) !== "Object") {
-          throw webidl.errors.exception({
-            header: "Sequence",
-            message: `Value of type ${webidl.util.Type(V)} is not an Object.`
-          });
-        }
-        const method = V?.[Symbol.iterator]?.();
-        const seq2 = [];
-        if (method === void 0 || typeof method.next !== "function") {
-          throw webidl.errors.exception({
-            header: "Sequence",
-            message: "Object is not an iterator."
-          });
+      write(chunk) {
+        const { socket, request: request2, contentLength, client, bytesWritten, expectsPayload, header } = this;
+        if (socket[kError]) {
+          throw socket[kError];
         }
-        while (true) {
-          const { done, value } = method.next();
-          if (done) {
-            break;
-          }
-          seq2.push(converter(value));
+        if (socket.destroyed) {
+          return false;
         }
-        return seq2;
-      };
-    };
-    webidl.recordConverter = function(keyConverter, valueConverter) {
-      return (O) => {
-        if (webidl.util.Type(O) !== "Object") {
-          throw webidl.errors.exception({
-            header: "Record",
-            message: `Value of type ${webidl.util.Type(O)} is not an Object.`
-          });
+        const len = Buffer.byteLength(chunk);
+        if (!len) {
+          return true;
         }
-        const result = {};
-        if (!types.isProxy(O)) {
-          const keys2 = Object.keys(O);
-          for (const key of keys2) {
-            const typedKey = keyConverter(key);
-            const typedValue = valueConverter(O[key]);
-            result[typedKey] = typedValue;
+        if (contentLength !== null && bytesWritten + len > contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
           }
-          return result;
+          process.emitWarning(new RequestContentLengthMismatchError());
         }
-        const keys = Reflect.ownKeys(O);
-        for (const key of keys) {
-          const desc = Reflect.getOwnPropertyDescriptor(O, key);
-          if (desc?.enumerable) {
-            const typedKey = keyConverter(key);
-            const typedValue = valueConverter(O[key]);
-            result[typedKey] = typedValue;
+        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");
           }
         }
-        return result;
-      };
-    };
-    webidl.interfaceConverter = function(i) {
-      return (V, opts = {}) => {
-        if (opts.strict !== false && !(V instanceof i)) {
-          throw webidl.errors.exception({
-            header: i.name,
-            message: `Expected ${V} to be an instance of ${i.name}.`
-          });
-        }
-        return V;
-      };
-    };
-    webidl.dictionaryConverter = function(converters) {
-      return (dictionary) => {
-        const type2 = webidl.util.Type(dictionary);
-        const dict = {};
-        if (type2 === "Null" || type2 === "Undefined") {
-          return dict;
-        } else if (type2 !== "Object") {
-          throw webidl.errors.exception({
-            header: "Dictionary",
-            message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`
-          });
+        if (contentLength === null) {
+          socket.write(`\r
+${len.toString(16)}\r
+`, "latin1");
         }
-        for (const options of converters) {
-          const { key, defaultValue, required, converter } = options;
-          if (required === true) {
-            if (!hasOwn(dictionary, key)) {
-              throw webidl.errors.exception({
-                header: "Dictionary",
-                message: `Missing required key "${key}".`
-              });
+        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();
             }
           }
-          let value = dictionary[key];
-          const hasDefault = hasOwn(options, "defaultValue");
-          if (hasDefault && value !== null) {
-            value = value ?? defaultValue;
+        }
+        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");
           }
-          if (required || hasDefault || value !== void 0) {
-            value = converter(value);
-            if (options.allowedValues && !options.allowedValues.includes(value)) {
-              throw webidl.errors.exception({
-                header: "Dictionary",
-                message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
-              });
-            }
-            dict[key] = value;
+        } 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());
           }
         }
-        return dict;
-      };
-    };
-    webidl.nullableConverter = function(converter) {
-      return (V) => {
-        if (V === null) {
-          return V;
+        if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
+          if (socket[kParser].timeout.refresh) {
+            socket[kParser].timeout.refresh();
+          }
         }
-        return converter(V);
-      };
-    };
-    webidl.converters.DOMString = function(V, opts = {}) {
-      if (V === null && opts.legacyNullToEmptyString) {
-        return "";
-      }
-      if (typeof V === "symbol") {
-        throw new TypeError("Could not convert argument of type symbol to string.");
+        client[kResume]();
       }
-      return String(V);
-    };
-    webidl.converters.ByteString = function(V) {
-      const x = webidl.converters.DOMString(V);
-      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.`
-          );
+      destroy(err) {
+        const { socket, client, abort } = this;
+        socket[kWriting] = false;
+        if (err) {
+          assert(client[kRunning] <= 1, "pipeline should only contain this request");
+          abort(err);
         }
       }
-      return x;
-    };
-    webidl.converters.USVString = toUSVString;
-    webidl.converters.boolean = function(V) {
-      const x = Boolean(V);
-      return x;
-    };
-    webidl.converters.any = function(V) {
-      return V;
-    };
-    webidl.converters["long long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 64, "signed");
-      return x;
     };
-    webidl.converters["unsigned long long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 64, "unsigned");
-      return x;
-    };
-    webidl.converters["unsigned long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 32, "unsigned");
-      return x;
-    };
-    webidl.converters["unsigned short"] = function(V, opts) {
-      const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts);
-      return x;
-    };
-    webidl.converters.ArrayBuffer = function(V, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {
-        throw webidl.errors.conversionFailed({
-          prefix: `${V}`,
-          argument: `${V}`,
-          types: ["ArrayBuffer"]
-        });
-      }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
+    module2.exports = connectH1;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h2.js
+var require_client_h22 = __commonJS({
+  "node_modules/@actions/github/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_util9();
+    var {
+      RequestContentLengthMismatchError,
+      RequestAbortedError,
+      SocketError,
+      InformationalError
+    } = require_errors2();
+    var {
+      kUrl,
+      kReset,
+      kClient,
+      kRunning,
+      kPending,
+      kQueue,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kSocket,
+      kStrictContentLength,
+      kOnError,
+      kMaxConcurrentStreams,
+      kHTTP2Session,
+      kResume,
+      kSize,
+      kHTTPContext
+    } = require_symbols6();
+    var kOpenStreams = /* @__PURE__ */ 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
       }
-      return V;
-    };
-    webidl.converters.TypedArray = function(V, T, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {
-        throw webidl.errors.conversionFailed({
-          prefix: `${T.name}`,
-          argument: `${V}`,
-          types: [T.name]
-        });
+    } = 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));
+        }
       }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
+      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"
         });
       }
-      return V;
-    };
-    webidl.converters.DataView = function(V, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {
-        throw webidl.errors.exception({
-          header: "DataView",
-          message: "Object is not a DataView."
-        });
+      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();
+        }
       }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
+    }
+    function onHttp2SessionError(err) {
+      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+      this[kSocket][kError] = err;
+      this[kClient][kOnError](err);
+    }
+    function onHttp2FrameError(type2, code, id) {
+      if (id === 0) {
+        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
+        this[kSocket][kError] = err;
+        this[kClient][kOnError](err);
       }
-      return V;
-    };
-    webidl.converters.BufferSource = function(V, opts = {}) {
-      if (types.isAnyArrayBuffer(V)) {
-        return webidl.converters.ArrayBuffer(V, opts);
+    }
+    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;
       }
-      if (types.isTypedArray(V)) {
-        return webidl.converters.TypedArray(V, V.constructor);
+      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];
       }
-      if (types.isDataView(V)) {
-        return webidl.converters.DataView(V, opts);
+      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: path16, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
+      let { body } = request2;
+      if (upgrade) {
+        util.errorRequest(client, request2, new Error("Upgrade not supported for H2"));
+        return false;
       }
-      throw new TypeError(`Could not convert ${V} to a BufferSource.`);
-    };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.ByteString
-    );
-    webidl.converters["sequence>"] = webidl.sequenceConverter(
-      webidl.converters["sequence"]
-    );
-    webidl.converters["record"] = webidl.recordConverter(
-      webidl.converters.ByteString,
-      webidl.converters.ByteString
-    );
-    module2.exports = {
-      webidl
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/dataURL.js
-var require_dataURL = __commonJS({
-  "node_modules/undici/lib/fetch/dataURL.js"(exports2, module2) {
-    var assert = require("assert");
-    var { atob: atob2 } = require("buffer");
-    var { isomorphicDecode } = require_util10();
-    var encoder = new TextEncoder();
-    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/;
-    var HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/;
-    var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/;
-    function dataURLProcessor(dataURL) {
-      assert(dataURL.protocol === "data:");
-      let input = URLSerializer(dataURL, true);
-      input = input.slice(5);
-      const position = { position: 0 };
-      let mimeType = collectASequenceOfCodePointsFast(
-        ",",
-        input,
-        position
-      );
-      const mimeTypeLength = mimeType.length;
-      mimeType = removeASCIIWhitespace(mimeType, true, true);
-      if (position.position >= input.length) {
-        return "failure";
+      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;
+        }
       }
-      position.position++;
-      const encodedBody = input.slice(mimeTypeLength + 1);
-      let body = stringPercentDecode(encodedBody);
-      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
-        const stringBody = isomorphicDecode(body);
-        body = forgivingBase64(stringBody);
-        if (body === "failure") {
-          return "failure";
+      let stream2;
+      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;
         }
-        mimeType = mimeType.slice(0, -6);
-        mimeType = mimeType.replace(/(\u0020)+$/, "");
-        mimeType = mimeType.slice(0, -1);
+        err = err || new RequestAbortedError();
+        util.errorRequest(client, request2, err);
+        if (stream2 != null) {
+          util.destroy(stream2, err);
+        }
+        util.destroy(body, err);
+        client[kQueue][client[kRunningIdx]++] = null;
+        client[kResume]();
+      };
+      try {
+        request2.onConnect(abort);
+      } catch (err) {
+        util.errorRequest(client, request2, err);
       }
-      if (mimeType.startsWith(";")) {
-        mimeType = "text/plain" + mimeType;
+      if (request2.aborted) {
+        return false;
       }
-      let mimeTypeRecord = parseMIMEType(mimeType);
-      if (mimeTypeRecord === "failure") {
-        mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
+      if (method === "CONNECT") {
+        session.ref();
+        stream2 = session.request(headers, { endStream: false, signal });
+        if (stream2.id && !stream2.pending) {
+          request2.onUpgrade(null, null, stream2);
+          ++session[kOpenStreams];
+          client[kQueue][client[kRunningIdx]++] = null;
+        } else {
+          stream2.once("ready", () => {
+            request2.onUpgrade(null, null, stream2);
+            ++session[kOpenStreams];
+            client[kQueue][client[kRunningIdx]++] = null;
+          });
+        }
+        stream2.once("close", () => {
+          session[kOpenStreams] -= 1;
+          if (session[kOpenStreams] === 0) session.unref();
+        });
+        return true;
       }
-      return { mimeType: mimeTypeRecord, body };
-    }
-    function URLSerializer(url2, excludeFragment = false) {
-      if (!excludeFragment) {
-        return url2.href;
+      headers[HTTP2_HEADER_PATH] = path16;
+      headers[HTTP2_HEADER_SCHEME] = "https";
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
+      if (body && typeof body.read === "function") {
+        body.read(0);
       }
-      const href = url2.href;
-      const hashLength = url2.hash.length;
-      return hashLength === 0 ? href : href.substring(0, href.length - hashLength);
-    }
-    function collectASequenceOfCodePoints(condition, input, position) {
-      let result = "";
-      while (position.position < input.length && condition(input[position.position])) {
-        result += input[position.position];
-        position.position++;
+      let contentLength = util.bodyLength(body);
+      if (util.isFormDataLike(body)) {
+        extractBody ??= require_body2().extractBody;
+        const [bodyStream, contentType] = extractBody(body);
+        headers["content-type"] = contentType;
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
       }
-      return result;
-    }
-    function collectASequenceOfCodePointsFast(char, input, position) {
-      const idx = input.indexOf(char, position.position);
-      const start = position.position;
-      if (idx === -1) {
-        position.position = input.length;
-        return input.slice(start);
+      if (contentLength == null) {
+        contentLength = request2.contentLength;
       }
-      position.position = idx;
-      return input.slice(start, position.position);
-    }
-    function stringPercentDecode(input) {
-      const bytes = encoder.encode(input);
-      return percentDecode(bytes);
-    }
-    function percentDecode(input) {
-      const output = [];
-      for (let i = 0; i < input.length; i++) {
-        const byte = input[i];
-        if (byte !== 37) {
-          output.push(byte);
-        } else if (byte === 37 && !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i + 1], input[i + 2]))) {
-          output.push(37);
-        } else {
-          const nextTwoBytes = String.fromCharCode(input[i + 1], input[i + 2]);
-          const bytePoint = Number.parseInt(nextTwoBytes, 16);
-          output.push(bytePoint);
-          i += 2;
-        }
+      if (contentLength === 0 || !expectsPayload) {
+        contentLength = null;
       }
-      return Uint8Array.from(output);
-    }
-    function parseMIMEType(input) {
-      input = removeHTTPWhitespace(input, true, true);
-      const position = { position: 0 };
-      const type2 = collectASequenceOfCodePointsFast(
-        "/",
-        input,
-        position
-      );
-      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
-        return "failure";
+      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 (position.position > input.length) {
-        return "failure";
+      if (contentLength != null) {
+        assert(body, "no body must not have content length");
+        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
       }
-      position.position++;
-      let subtype = collectASequenceOfCodePointsFast(
-        ";",
-        input,
-        position
-      );
-      subtype = removeHTTPWhitespace(subtype, false, true);
-      if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {
-        return "failure";
+      session.ref();
+      const shouldEndStream = method === "GET" || method === "HEAD" || body === null;
+      if (expectContinue) {
+        headers[HTTP2_HEADER_EXPECT] = "100-continue";
+        stream2 = session.request(headers, { endStream: shouldEndStream, signal });
+        stream2.once("continue", writeBodyH2);
+      } else {
+        stream2 = session.request(headers, {
+          endStream: shouldEndStream,
+          signal
+        });
+        writeBodyH2();
       }
-      const typeLowercase = type2.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;
+      ++session[kOpenStreams];
+      stream2.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(stream2, err);
+          return;
+        }
+        if (request2.onHeaders(Number(statusCode), parseH2Headers(realHeaders), stream2.resume.bind(stream2), "") === false) {
+          stream2.pause();
+        }
+        stream2.on("data", (chunk) => {
+          if (request2.onData(chunk) === false) {
+            stream2.pause();
           }
-          position.position++;
+        });
+      });
+      stream2.once("end", () => {
+        if (stream2.state?.state == null || stream2.state.state < 6) {
+          request2.onComplete([]);
         }
-        if (position.position > input.length) {
-          break;
+        if (session[kOpenStreams] === 0) {
+          session.unref();
         }
-        let parameterValue = null;
-        if (input[position.position] === '"') {
-          parameterValue = collectAnHTTPQuotedString(input, position, true);
-          collectASequenceOfCodePointsFast(
-            ";",
-            input,
-            position
+        abort(new InformationalError("HTTP/2: stream half-closed (remote)"));
+        client[kQueue][client[kRunningIdx]++] = null;
+        client[kPendingIdx] = client[kRunningIdx];
+        client[kResume]();
+      });
+      stream2.once("close", () => {
+        session[kOpenStreams] -= 1;
+        if (session[kOpenStreams] === 0) {
+          session.unref();
+        }
+      });
+      stream2.once("error", function(err) {
+        abort(err);
+      });
+      stream2.once("frameError", (type2, code) => {
+        abort(new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`));
+      });
+      return true;
+      function writeBodyH2() {
+        if (!body || contentLength === 0) {
+          writeBuffer(
+            abort,
+            stream2,
+            null,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
           );
-        } else {
-          parameterValue = collectASequenceOfCodePointsFast(
-            ";",
-            input,
-            position
+        } else if (util.isBuffer(body)) {
+          writeBuffer(
+            abort,
+            stream2,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
           );
-          parameterValue = removeHTTPWhitespace(parameterValue, false, true);
-          if (parameterValue.length === 0) {
-            continue;
+        } else if (util.isBlobLike(body)) {
+          if (typeof body.stream === "function") {
+            writeIterable(
+              abort,
+              stream2,
+              body.stream(),
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
+          } else {
+            writeBlob(
+              abort,
+              stream2,
+              body,
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
           }
+        } else if (util.isStream(body)) {
+          writeStream(
+            abort,
+            client[kSocket],
+            expectsPayload,
+            stream2,
+            body,
+            client,
+            request2,
+            contentLength
+          );
+        } else if (util.isIterable(body)) {
+          writeIterable(
+            abort,
+            stream2,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else {
+          assert(false);
         }
-        if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {
-          mimeType.parameters.set(parameterName, parameterValue);
-        }
-      }
-      return mimeType;
-    }
-    function forgivingBase64(data) {
-      data = data.replace(/[\u0009\u000A\u000C\u000D\u0020]/g, "");
-      if (data.length % 4 === 0) {
-        data = data.replace(/=?=$/, "");
-      }
-      if (data.length % 4 === 1) {
-        return "failure";
-      }
-      if (/[^+/0-9A-Za-z]/.test(data)) {
-        return "failure";
       }
-      const binary2 = atob2(data);
-      const bytes = new Uint8Array(binary2.length);
-      for (let byte = 0; byte < binary2.length; byte++) {
-        bytes[byte] = binary2.charCodeAt(byte);
-      }
-      return bytes;
     }
-    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;
+    function writeBuffer(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      try {
+        if (body != null && util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          h2stream.cork();
+          h2stream.write(body);
+          h2stream.uncork();
+          h2stream.end();
+          request2.onBodySent(body);
         }
-        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 (!expectsPayload) {
+          socket[kReset] = true;
         }
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (error3) {
+        abort(error3);
       }
-      if (extractValue) {
-        return value;
-      }
-      return input.slice(positionStart, position.position);
     }
-    function serializeAMimeType(mimeType) {
-      assert(mimeType !== "failure");
-      const { parameters, essence } = mimeType;
-      let serialization = essence;
-      for (let [name, value] of parameters.entries()) {
-        serialization += ";";
-        serialization += name;
-        serialization += "=";
-        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
-          value = value.replace(/(\\|")/g, "\\$1");
-          value = '"' + value;
-          value += '"';
+    function writeStream(abort, socket, expectsPayload, h2stream, body, client, request2, contentLength) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      const pipe = pipeline(
+        body,
+        h2stream,
+        (err) => {
+          if (err) {
+            util.destroy(pipe, err);
+            abort(err);
+          } else {
+            util.removeAllListeners(pipe);
+            request2.onRequestSent();
+            if (!expectsPayload) {
+              socket[kReset] = true;
+            }
+            client[kResume]();
+          }
         }
-        serialization += value;
+      );
+      util.addListener(pipe, "data", onPipeData);
+      function onPipeData(chunk) {
+        request2.onBodySent(chunk);
       }
-      return serialization;
     }
-    function isHTTPWhiteSpace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === " ";
-    }
-    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
-      let lead = 0;
-      let trail = str2.length - 1;
-      if (leading) {
-        for (; lead < str2.length && isHTTPWhiteSpace(str2[lead]); lead++) ;
-      }
-      if (trailing) {
-        for (; trail > 0 && isHTTPWhiteSpace(str2[trail]); trail--) ;
+    async function writeBlob(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength === body.size, "blob body must have content length");
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
+        }
+        const buffer = Buffer.from(await body.arrayBuffer());
+        h2stream.cork();
+        h2stream.write(buffer);
+        h2stream.uncork();
+        h2stream.end();
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      return str2.slice(lead, trail + 1);
-    }
-    function isASCIIWhitespace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === "\f" || char === " ";
     }
-    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
-      let lead = 0;
-      let trail = str2.length - 1;
-      if (leading) {
-        for (; lead < str2.length && isASCIIWhitespace(str2[lead]); lead++) ;
+    async function writeIterable(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
+        }
       }
-      if (trailing) {
-        for (; trail > 0 && isASCIIWhitespace(str2[trail]); trail--) ;
+      const waitForDrain = () => new Promise((resolve8, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve8;
+        }
+      });
+      h2stream.on("close", onDrain).on("drain", onDrain);
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          const res = h2stream.write(chunk);
+          request2.onBodySent(chunk);
+          if (!res) {
+            await waitForDrain();
+          }
+        }
+        h2stream.end();
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
+      } finally {
+        h2stream.off("close", onDrain).off("drain", onDrain);
       }
-      return str2.slice(lead, trail + 1);
     }
-    module2.exports = {
-      dataURLProcessor,
-      URLSerializer,
-      collectASequenceOfCodePoints,
-      collectASequenceOfCodePointsFast,
-      stringPercentDecode,
-      parseMIMEType,
-      collectAnHTTPQuotedString,
-      serializeAMimeType
-    };
+    module2.exports = connectH2;
   }
 });
 
-// node_modules/undici/lib/fetch/file.js
-var require_file2 = __commonJS({
-  "node_modules/undici/lib/fetch/file.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js
+var require_redirect_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js"(exports2, module2) {
     "use strict";
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { types } = require("util");
-    var { kState } = require_symbols7();
-    var { isBlobLike } = require_util10();
-    var { webidl } = require_webidl2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var { kEnumerableProperty } = require_util9();
-    var encoder = new TextEncoder();
-    var File2 = class _File extends Blob2 {
-      constructor(fileBits, fileName, options = {}) {
-        webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" });
-        fileBits = webidl.converters["sequence"](fileBits);
-        fileName = webidl.converters.USVString(fileName);
-        options = webidl.converters.FilePropertyBag(options);
-        const n = fileName;
-        let t = options.type;
-        let d;
-        substep: {
-          if (t) {
-            t = parseMIMEType(t);
-            if (t === "failure") {
-              t = "";
-              break substep;
-            }
-            t = serializeAMimeType(t).toLowerCase();
-          }
-          d = options.lastModified;
-        }
-        super(processBlobParts(fileBits, options), { type: t });
-        this[kState] = {
-          name: n,
-          lastModified: d,
-          type: t
-        };
+    var util = require_util9();
+    var { kBodyUsed } = require_symbols6();
+    var assert = require("node:assert");
+    var { InvalidArgumentError } = require_errors2();
+    var EE = require("node:events");
+    var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
+    var kBody = /* @__PURE__ */ Symbol("body");
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
       }
-      get name() {
-        webidl.brandCheck(this, _File);
-        return this[kState].name;
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
       }
-      get lastModified() {
-        webidl.brandCheck(this, _File);
-        return this[kState].lastModified;
+    };
+    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);
+        }
       }
-      get type() {
-        webidl.brandCheck(this, _File);
-        return this[kState].type;
+      onConnect(abort) {
+        this.abort = abort;
+        this.handler.onConnect(abort, { history: this.history });
       }
-    };
-    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
-        };
+      onUpgrade(statusCode, headers, socket) {
+        this.handler.onUpgrade(statusCode, headers, socket);
       }
-      stream(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.stream(...args);
+      onError(error3) {
+        this.handler.onError(error3);
       }
-      arrayBuffer(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.arrayBuffer(...args);
+      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 path16 = search ? `${pathname}${search}` : pathname;
+        this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
+        this.opts.path = path16;
+        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;
+        }
       }
-      slice(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.slice(...args);
+      onData(chunk) {
+        if (this.location) {
+        } else {
+          return this.handler.onData(chunk);
+        }
       }
-      text(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.text(...args);
+      onComplete(trailers) {
+        if (this.location) {
+          this.location = null;
+          this.abort = null;
+          this.dispatch(this.opts, this);
+        } else {
+          this.handler.onComplete(trailers);
+        }
       }
-      get size() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.size;
+      onBodySent(chunk) {
+        if (this.handler.onBodySent) {
+          this.handler.onBodySent(chunk);
+        }
       }
-      get type() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.type;
+    };
+    function parseLocation(statusCode, headers) {
+      if (redirectableStatusCodes.indexOf(statusCode) === -1) {
+        return null;
       }
-      get name() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].name;
+      for (let i = 0; i < headers.length; i += 2) {
+        if (headers[i].length === 8 && util.headerNameToString(headers[i]) === "location") {
+          return headers[i + 1];
+        }
       }
-      get lastModified() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].lastModified;
+    }
+    function shouldRemoveHeader(header, removeContent, unknownOrigin) {
+      if (header.length === 4) {
+        return util.headerNameToString(header) === "host";
       }
-      get [Symbol.toStringTag]() {
-        return "File";
+      if (removeContent && util.headerNameToString(header).startsWith("content-")) {
+        return true;
       }
-    };
-    Object.defineProperties(File2.prototype, {
-      [Symbol.toStringTag]: {
-        value: "File",
-        configurable: true
-      },
-      name: kEnumerableProperty,
-      lastModified: kEnumerableProperty
-    });
-    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
-    webidl.converters.BlobPart = function(V, opts) {
-      if (webidl.util.Type(V) === "Object") {
-        if (isBlobLike(V)) {
-          return webidl.converters.Blob(V, { strict: false });
-        }
-        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
-          return webidl.converters.BufferSource(V, opts);
-        }
+      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 webidl.converters.USVString(V, opts);
-    };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.BlobPart
-    );
-    webidl.converters.FilePropertyBag = webidl.dictionaryConverter([
-      {
-        key: "lastModified",
-        converter: webidl.converters["long long"],
-        get defaultValue() {
-          return Date.now();
-        }
-      },
-      {
-        key: "type",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "endings",
-        converter: (value) => {
-          value = webidl.converters.DOMString(value);
-          value = value.toLowerCase();
-          if (value !== "native") {
-            value = "transparent";
+      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]);
           }
-          return value;
-        },
-        defaultValue: "transparent"
-      }
-    ]);
-    function processBlobParts(parts, options) {
-      const bytes = [];
-      for (const element of parts) {
-        if (typeof element === "string") {
-          let s = element;
-          if (options.endings === "native") {
-            s = convertLineEndingsNative(s);
-          }
-          bytes.push(encoder.encode(s));
-        } else if (types.isAnyArrayBuffer(element) || types.isTypedArray(element)) {
-          if (!element.buffer) {
-            bytes.push(new Uint8Array(element));
-          } else {
-            bytes.push(
-              new Uint8Array(element.buffer, element.byteOffset, element.byteLength)
-            );
+        }
+      } else if (headers && typeof headers === "object") {
+        for (const key of Object.keys(headers)) {
+          if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {
+            ret.push(key, headers[key]);
           }
-        } else if (isBlobLike(element)) {
-          bytes.push(element);
         }
+      } else {
+        assert(headers == null, "headers must be an object or an array");
       }
-      return bytes;
-    }
-    function convertLineEndingsNative(s) {
-      let nativeLineEnding = "\n";
-      if (process.platform === "win32") {
-        nativeLineEnding = "\r\n";
-      }
-      return s.replace(/\r?\n/g, nativeLineEnding);
+      return ret;
     }
-    function isFileLike(object) {
-      return NativeFile && object instanceof NativeFile || object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
+    module2.exports = RedirectHandler;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js
+var require_redirect_interceptor2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js"(exports2, module2) {
+    "use strict";
+    var RedirectHandler = require_redirect_handler2();
+    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 = { File: File2, FileLike, isFileLike };
+    module2.exports = createRedirectInterceptor;
   }
 });
 
-// node_modules/undici/lib/fetch/formdata.js
-var require_formdata2 = __commonJS({
-  "node_modules/undici/lib/fetch/formdata.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js
+var require_client2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js"(exports2, module2) {
     "use strict";
-    var { isBlobLike, toUSVString, makeIterator } = require_util10();
-    var { kState } = require_symbols7();
-    var { File: UndiciFile, FileLike, isFileLike } = require_file2();
-    var { webidl } = require_webidl2();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var File2 = NativeFile ?? UndiciFile;
-    var FormData2 = class _FormData {
-      constructor(form) {
-        if (form !== void 0) {
-          throw webidl.errors.conversionFailed({
-            prefix: "FormData constructor",
-            argument: "Argument 1",
-            types: ["undefined"]
-          });
+    var assert = require("node:assert");
+    var net = require("node:net");
+    var http = require("node:http");
+    var util = require_util9();
+    var { channels } = require_diagnostics2();
+    var Request = require_request3();
+    var DispatcherBase = require_dispatcher_base2();
+    var {
+      InvalidArgumentError,
+      InformationalError,
+      ClientDestroyedError
+    } = require_errors2();
+    var buildConnector = require_connect2();
+    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_symbols6();
+    var connectH1 = require_client_h12();
+    var connectH2 = require_client_h22();
+    var deprecatedInterceptorWarned = false;
+    var kClosedResolve = /* @__PURE__ */ 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(url2, {
+        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");
         }
-        this[kState] = [];
-      }
-      append(name, value, filename = void 0) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" });
-        if (arguments.length === 3 && !isBlobLike(value)) {
-          throw new TypeError(
-            "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"
-          );
+        if (socketTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");
         }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0;
-        const entry = makeEntry(name, value, filename);
-        this[kState].push(entry);
-      }
-      delete(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" });
-        name = webidl.converters.USVString(name);
-        this[kState] = this[kState].filter((entry) => entry.name !== name);
-      }
-      get(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" });
-        name = webidl.converters.USVString(name);
-        const idx = this[kState].findIndex((entry) => entry.name === name);
-        if (idx === -1) {
-          return null;
+        if (requestTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");
         }
-        return this[kState][idx].value;
-      }
-      getAll(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" });
-        name = webidl.converters.USVString(name);
-        return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value);
-      }
-      has(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" });
-        name = webidl.converters.USVString(name);
-        return this[kState].findIndex((entry) => entry.name === name) !== -1;
-      }
-      set(name, value, filename = void 0) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" });
-        if (arguments.length === 3 && !isBlobLike(value)) {
-          throw new TypeError(
-            "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"
-          );
+        if (idleTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported idleTimeout, use keepAliveTimeout instead");
         }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? toUSVString(filename) : void 0;
-        const entry = makeEntry(name, value, filename);
-        const idx = this[kState].findIndex((entry2) => entry2.name === name);
-        if (idx !== -1) {
-          this[kState] = [
-            ...this[kState].slice(0, idx),
-            entry,
-            ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name)
-          ];
-        } else {
-          this[kState].push(entry);
+        if (maxKeepAliveTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");
         }
-      }
-      entries() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key+value"
-        );
-      }
-      keys() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key"
-        );
-      }
-      values() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "value"
-        );
-      }
-      /**
-       * @param {(value: string, key: string, self: FormData) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'."
-          );
+        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");
         }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
+        if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) {
+          throw new InvalidArgumentError("maxRequestsPerClient must be a positive number");
         }
-      }
-    };
-    FormData2.prototype[Symbol.iterator] = FormData2.prototype.entries;
-    Object.defineProperties(FormData2.prototype, {
-      [Symbol.toStringTag]: {
-        value: "FormData",
-        configurable: true
-      }
-    });
-    function makeEntry(name, value, filename) {
-      name = Buffer.from(name).toString("utf8");
-      if (typeof value === "string") {
-        value = Buffer.from(value).toString("utf8");
-      } else {
-        if (!isFileLike(value)) {
-          value = value instanceof Blob2 ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
+        if (localAddress != null && (typeof localAddress !== "string" || net.isIP(localAddress) === 0)) {
+          throw new InvalidArgumentError("localAddress must be valid string IP address");
         }
-        if (filename !== void 0) {
-          const options = {
-            type: value.type,
-            lastModified: value.lastModified
-          };
-          value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
+        if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) {
+          throw new InvalidArgumentError("maxResponseSize must be a positive number");
         }
-      }
-      return { name, value };
-    }
-    module2.exports = { FormData: FormData2 };
-  }
-});
-
-// node_modules/undici/lib/fetch/body.js
-var require_body2 = __commonJS({
-  "node_modules/undici/lib/fetch/body.js"(exports2, module2) {
-    "use strict";
-    var Busboy = require_main();
-    var util = require_util9();
-    var {
-      ReadableStreamFrom,
-      isBlobLike,
-      isReadableStreamLike,
-      readableStreamClose,
-      createDeferredPromise,
-      fullyReadBody
-    } = require_util10();
-    var { FormData: FormData2 } = require_formdata2();
-    var { kState } = require_symbols7();
-    var { webidl } = require_webidl2();
-    var { DOMException: DOMException2, structuredClone } = require_constants7();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
-    var { isErrored } = require_util9();
-    var { isUint8Array, isArrayBuffer } = require("util/types");
-    var { File: UndiciFile } = require_file2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var random;
-    try {
-      const crypto3 = require("node:crypto");
-      random = (max) => crypto3.randomInt(0, max);
-    } catch {
-      random = (max) => Math.floor(Math.random(max));
-    }
-    var ReadableStream2 = globalThis.ReadableStream;
-    var File2 = NativeFile ?? UndiciFile;
-    var textEncoder = new TextEncoder();
-    var textDecoder = new TextDecoder();
-    function extractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      let stream2 = null;
-      if (object instanceof ReadableStream2) {
-        stream2 = object;
-      } else if (isBlobLike(object)) {
-        stream2 = object.stream();
-      } else {
-        stream2 = new ReadableStream2({
-          async pull(controller) {
-            controller.enqueue(
-              typeof source === "string" ? textEncoder.encode(source) : source
-            );
-            queueMicrotask(() => readableStreamClose(controller));
-          },
-          start() {
-          },
-          type: void 0
-        });
-      }
-      assert(isReadableStreamLike(stream2));
-      let action = null;
-      let source = null;
-      let length = null;
-      let type2 = null;
-      if (typeof object === "string") {
-        source = object;
-        type2 = "text/plain;charset=UTF-8";
-      } else if (object instanceof URLSearchParams) {
-        source = object.toString();
-        type2 = "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 = (str2) => str2.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;
-            }
-          }
+        if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) {
+          throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number");
         }
-        const chunk = textEncoder.encode(`--${boundary}--`);
-        blobParts.push(chunk);
-        length += chunk.byteLength;
-        if (hasUnknownSizeValue) {
-          length = null;
+        if (allowH2 != null && typeof allowH2 !== "boolean") {
+          throw new InvalidArgumentError("allowH2 must be a valid boolean value");
         }
-        source = object;
-        action = async function* () {
-          for (const part of blobParts) {
-            if (part.stream) {
-              yield* part.stream();
-            } else {
-              yield part;
-            }
-          }
-        };
-        type2 = "multipart/form-data; boundary=" + boundary;
-      } else if (isBlobLike(object)) {
-        source = object;
-        length = object.size;
-        if (object.type) {
-          type2 = object.type;
+        if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) {
+          throw new InvalidArgumentError("maxConcurrentStreams must be a positive integer, greater than 0");
         }
-      } else if (typeof object[Symbol.asyncIterator] === "function") {
-        if (keepalive) {
-          throw new TypeError("keepalive");
+        if (typeof connect2 !== "function") {
+          connect2 = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect2
+          });
         }
-        if (util.isDisturbed(object) || object.locked) {
-          throw new TypeError(
-            "Response body object should not be disturbed or locked"
-          );
+        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 })];
         }
-        stream2 = object instanceof ReadableStream2 ? object : ReadableStreamFrom(object);
+        this[kUrl] = util.parseOrigin(url2);
+        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);
       }
-      if (typeof source === "string" || util.isBuffer(source)) {
-        length = Buffer.byteLength(source);
+      get pipelining() {
+        return this[kPipelining];
       }
-      if (action != null) {
-        let iterator2;
-        stream2 = new ReadableStream2({
-          async start() {
-            iterator2 = action(object)[Symbol.asyncIterator]();
-          },
-          async pull(controller) {
-            const { value, done } = await iterator2.next();
-            if (done) {
-              queueMicrotask(() => {
-                controller.close();
-              });
-            } else {
-              if (!isErrored(stream2)) {
-                controller.enqueue(new Uint8Array(value));
-              }
-            }
-            return controller.desiredSize > 0;
-          },
-          async cancel(reason) {
-            await iterator2.return();
-          },
-          type: void 0
-        });
+      set pipelining(value) {
+        this[kPipelining] = value;
+        this[kResume](true);
       }
-      const body = { stream: stream2, source, length };
-      return [body, type2];
-    }
-    function safelyExtractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+      get [kPending]() {
+        return this[kQueue].length - this[kPendingIdx];
       }
-      if (object instanceof ReadableStream2) {
-        assert(!util.isDisturbed(object), "The body has already been consumed.");
-        assert(!object.locked, "The stream is locked.");
+      get [kRunning]() {
+        return this[kPendingIdx] - this[kRunningIdx];
       }
-      return extractBody(object, keepalive);
-    }
-    function cloneBody(body) {
-      const [out1, out2] = body.stream.tee();
-      const out2Clone = structuredClone(out2, { transfer: [out2] });
-      const [, finalClone] = out2Clone.tee();
-      body.stream = out1;
-      return {
-        stream: finalClone,
-        length: body.length,
-        source: body.source
-      };
-    }
-    async function* consumeBody(body) {
-      if (body) {
-        if (isUint8Array(body)) {
-          yield body;
+      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 {
-          const stream2 = body.stream;
-          if (util.isDisturbed(stream2)) {
-            throw new TypeError("The body has already been consumed.");
-          }
-          if (stream2.locked) {
-            throw new TypeError("The stream is locked.");
-          }
-          stream2[kBodyUsed] = true;
-          yield* stream2;
+          this[kResume](true);
+        }
+        if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
+          this[kNeedDrain] = 2;
         }
+        return this[kNeedDrain] < 2;
       }
-    }
-    function throwIfAborted(state) {
-      if (state.aborted) {
-        throw new DOMException2("The operation was aborted.", "AbortError");
+      async [kClose]() {
+        return new Promise((resolve8) => {
+          if (this[kSize]) {
+            this[kClosedResolve] = resolve8;
+          } else {
+            resolve8(null);
+          }
+        });
       }
-    }
-    function bodyMixinMethods(instance) {
-      const methods = {
-        blob() {
-          return specConsumeBody(this, (bytes) => {
-            let mimeType = bodyMimeType(this);
-            if (mimeType === "failure") {
-              mimeType = "";
-            } else if (mimeType) {
-              mimeType = serializeAMimeType(mimeType);
-            }
-            return new Blob2([bytes], { type: mimeType });
-          }, instance);
-        },
-        arrayBuffer() {
-          return specConsumeBody(this, (bytes) => {
-            return new Uint8Array(bytes).buffer;
-          }, instance);
-        },
-        text() {
-          return specConsumeBody(this, utf8DecodeBytes, instance);
-        },
-        json() {
-          return specConsumeBody(this, parseJSONFromBytes, instance);
-        },
-        async formData() {
-          webidl.brandCheck(this, instance);
-          throwIfAborted(this[kState]);
-          const contentType = this.headers.get("Content-Type");
-          if (/multipart\/form-data/.test(contentType)) {
-            const headers = {};
-            for (const [key, value] of this.headers) headers[key.toLowerCase()] = value;
-            const responseFormData = new FormData2();
-            let busboy;
-            try {
-              busboy = new Busboy({
-                headers,
-                preservePath: true
-              });
-            } catch (err) {
-              throw new DOMException2(`${err}`, "AbortError");
-            }
-            busboy.on("field", (name, value) => {
-              responseFormData.append(name, value);
-            });
-            busboy.on("file", (name, value, filename, encoding, mimeType) => {
-              const chunks = [];
-              if (encoding === "base64" || encoding.toLowerCase() === "base64") {
-                let base64chunk = "";
-                value.on("data", (chunk) => {
-                  base64chunk += chunk.toString().replace(/[\r\n]/gm, "");
-                  const end = base64chunk.length - base64chunk.length % 4;
-                  chunks.push(Buffer.from(base64chunk.slice(0, end), "base64"));
-                  base64chunk = base64chunk.slice(end);
-                });
-                value.on("end", () => {
-                  chunks.push(Buffer.from(base64chunk, "base64"));
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              } else {
-                value.on("data", (chunk) => {
-                  chunks.push(chunk);
-                });
-                value.on("end", () => {
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              }
-            });
-            const busboyResolve = new Promise((resolve8, reject) => {
-              busboy.on("finish", resolve8);
-              busboy.on("error", (err) => reject(new TypeError(err)));
-            });
-            if (this.body !== null) for await (const chunk of consumeBody(this[kState].body)) busboy.write(chunk);
-            busboy.end();
-            await busboyResolve;
-            return responseFormData;
-          } else if (/application\/x-www-form-urlencoded/.test(contentType)) {
-            let entries;
-            try {
-              let text = "";
-              const streamingDecoder = new TextDecoder("utf-8", { ignoreBOM: true });
-              for await (const chunk of consumeBody(this[kState].body)) {
-                if (!isUint8Array(chunk)) {
-                  throw new TypeError("Expected Uint8Array chunk");
-                }
-                text += streamingDecoder.decode(chunk, { stream: true });
-              }
-              text += streamingDecoder.decode();
-              entries = new URLSearchParams(text);
-            } catch (err) {
-              throw Object.assign(new TypeError(), { cause: err });
-            }
-            const formData = new FormData2();
-            for (const [name, value] of entries) {
-              formData.append(name, value);
+      async [kDestroy](err) {
+        return new Promise((resolve8) => {
+          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;
             }
-            return formData;
+            resolve8(null);
+          };
+          if (this[kHTTPContext]) {
+            this[kHTTPContext].destroy(err, callback);
+            this[kHTTPContext] = null;
           } else {
-            await Promise.resolve();
-            throwIfAborted(this[kState]);
-            throw webidl.errors.exception({
-              header: `${instance.name}.formData`,
-              message: "Could not parse content as FormData."
-            });
+            queueMicrotask(callback);
           }
-        }
-      };
-      return methods;
-    }
-    function mixinBody(prototype) {
-      Object.assign(prototype.prototype, bodyMixinMethods(prototype));
-    }
-    async function specConsumeBody(object, convertBytesToJSValue, instance) {
-      webidl.brandCheck(object, instance);
-      throwIfAborted(object[kState]);
-      if (bodyUnusable(object[kState].body)) {
-        throw new TypeError("Body is unusable");
+          this[kResume]();
+        });
       }
-      const promise = createDeferredPromise();
-      const errorSteps = (error3) => promise.reject(error3);
-      const successSteps = (data) => {
-        try {
-          promise.resolve(convertBytesToJSValue(data));
-        } catch (e) {
-          errorSteps(e);
+    };
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    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);
         }
-      };
-      if (object[kState].body == null) {
-        successSteps(new Uint8Array());
-        return promise.promise;
+        assert(client[kSize] === 0);
       }
-      await fullyReadBody(object[kState].body, successSteps, errorSteps);
-      return promise.promise;
-    }
-    function bodyUnusable(body) {
-      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
     }
-    function utf8DecodeBytes(buffer) {
-      if (buffer.length === 0) {
-        return "";
-      }
-      if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
-        buffer = buffer.subarray(3);
+    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;
       }
-      const output = textDecoder.decode(buffer);
-      return output;
-    }
-    function parseJSONFromBytes(bytes) {
-      return JSON.parse(utf8DecodeBytes(bytes));
-    }
-    function bodyMimeType(object) {
-      const { headersList } = object[kState];
-      const contentType = headersList.get("content-type");
-      if (contentType === null) {
-        return "failure";
+      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]
+        });
       }
-      return parseMIMEType(contentType);
-    }
-    module2.exports = {
-      extractBody,
-      safelyExtractBody,
-      cloneBody,
-      mixinBody
-    };
-  }
-});
-
-// node_modules/undici/lib/core/request.js
-var require_request3 = __commonJS({
-  "node_modules/undici/lib/core/request.js"(exports2, module2) {
-    "use strict";
-    var {
-      InvalidArgumentError,
-      NotSupportedError
-    } = require_errors2();
-    var assert = require("assert");
-    var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = require_symbols6();
-    var util = require_util9();
-    var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;
-    var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
-    var invalidPathRegex = /[^\u0021-\u00ff]/;
-    var kHandler = /* @__PURE__ */ Symbol("handler");
-    var channels = {};
-    var extractBody;
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.create = diagnosticsChannel.channel("undici:request:create");
-      channels.bodySent = diagnosticsChannel.channel("undici:request:bodySent");
-      channels.headers = diagnosticsChannel.channel("undici:request:headers");
-      channels.trailers = diagnosticsChannel.channel("undici:request:trailers");
-      channels.error = diagnosticsChannel.channel("undici:request:error");
-    } catch {
-      channels.create = { hasSubscribers: false };
-      channels.bodySent = { hasSubscribers: false };
-      channels.headers = { hasSubscribers: false };
-      channels.trailers = { hasSubscribers: false };
-      channels.error = { hasSubscribers: false };
-    }
-    var Request = class _Request {
-      constructor(origin, {
-        path: path16,
-        method,
-        body,
-        headers,
-        query,
-        idempotent,
-        blocking,
-        upgrade,
-        headersTimeout,
-        bodyTimeout,
-        reset,
-        throwOnError,
-        expectContinue
-      }, handler2) {
-        if (typeof path16 !== "string") {
-          throw new InvalidArgumentError("path must be a string");
-        } else if (path16[0] !== "/" && !(path16.startsWith("http://") || path16.startsWith("https://")) && method !== "CONNECT") {
-          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
-        } else if (invalidPathRegex.exec(path16) !== null) {
-          throw new InvalidArgumentError("invalid request path");
-        }
-        if (typeof method !== "string") {
-          throw new InvalidArgumentError("method must be a string");
-        } else if (tokenRegExp.exec(method) === null) {
-          throw new InvalidArgumentError("invalid request method");
-        }
-        if (upgrade && typeof upgrade !== "string") {
-          throw new InvalidArgumentError("upgrade must be a string");
+      try {
+        const socket = await new Promise((resolve8, reject) => {
+          client[kConnector]({
+            host,
+            hostname,
+            protocol,
+            port,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          }, (err, socket2) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve8(socket2);
+            }
+          });
+        });
+        if (client.destroyed) {
+          util.destroy(socket.on("error", noop3), new ClientDestroyedError());
+          return;
         }
-        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
-          throw new InvalidArgumentError("invalid headersTimeout");
+        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;
         }
-        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
-          throw new InvalidArgumentError("invalid bodyTimeout");
+        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
+          });
         }
-        if (reset != null && typeof reset !== "boolean") {
-          throw new InvalidArgumentError("invalid reset");
+        client.emit("connect", client[kUrl], [client]);
+      } catch (err) {
+        if (client.destroyed) {
+          return;
         }
-        if (expectContinue != null && typeof expectContinue !== "boolean") {
-          throw new InvalidArgumentError("invalid expectContinue");
+        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
+          });
         }
-        this.headersTimeout = headersTimeout;
-        this.bodyTimeout = bodyTimeout;
-        this.throwOnError = throwOnError === true;
-        this.method = method;
-        this.abort = null;
-        if (body == null) {
-          this.body = null;
-        } else if (util.isStream(body)) {
-          this.body = body;
-          const rState = this.body._readableState;
-          if (!rState || !rState.autoDestroy) {
-            this.endHandler = function autoDestroy() {
-              util.destroy(this);
-            };
-            this.body.on("end", this.endHandler);
+        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);
           }
-          this.errorHandler = (err) => {
-            if (this.abort) {
-              this.abort(err);
-            } else {
-              this.error = err;
-            }
-          };
-          this.body.on("error", this.errorHandler);
-        } else if (util.isBuffer(body)) {
-          this.body = body.byteLength ? body : null;
-        } else if (ArrayBuffer.isView(body)) {
-          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
-        } else if (body instanceof ArrayBuffer) {
-          this.body = body.byteLength ? Buffer.from(body) : null;
-        } else if (typeof body === "string") {
-          this.body = body.length ? Buffer.from(body) : null;
-        } else if (util.isFormDataLike(body) || util.isIterable(body) || util.isBlobLike(body)) {
-          this.body = body;
         } else {
-          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
-        }
-        this.completed = false;
-        this.aborted = false;
-        this.upgrade = upgrade || null;
-        this.path = query ? util.buildURL(path16, query) : path16;
-        this.origin = origin;
-        this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
-        this.blocking = blocking == null ? false : blocking;
-        this.reset = reset == null ? null : reset;
-        this.host = null;
-        this.contentLength = null;
-        this.contentType = null;
-        this.headers = "";
-        this.expectContinue = expectContinue != null ? expectContinue : false;
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
-          }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(this, headers[i], headers[i + 1]);
-          }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(this, key, headers[key]);
-          }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
-        }
-        if (util.isFormDataLike(this.body)) {
-          if (util.nodeMajor < 16 || util.nodeMajor === 16 && util.nodeMinor < 8) {
-            throw new InvalidArgumentError("Form-Data bodies are only supported in node v16.8 and newer.");
-          }
-          if (!extractBody) {
-            extractBody = require_body2().extractBody;
-          }
-          const [bodyStream, contentType] = extractBody(body);
-          if (this.contentType == null) {
-            this.contentType = contentType;
-            this.headers += `content-type: ${contentType}\r
-`;
-          }
-          this.body = bodyStream.stream;
-          this.contentLength = bodyStream.length;
-        } else if (util.isBlobLike(body) && this.contentType == null && body.type) {
-          this.contentType = body.type;
-          this.headers += `content-type: ${body.type}\r
-`;
-        }
-        util.validateHandler(handler2, method, upgrade);
-        this.servername = util.getServerName(this.host);
-        this[kHandler] = handler2;
-        if (channels.create.hasSubscribers) {
-          channels.create.publish({ request: this });
+          onError(client, err);
         }
+        client.emit("connectionError", client[kUrl], [client], err);
       }
-      onBodySent(chunk) {
-        if (this[kHandler].onBodySent) {
-          try {
-            return this[kHandler].onBodySent(chunk);
-          } catch (err) {
-            this.abort(err);
-          }
-        }
+      client[kResume]();
+    }
+    function emitDrain(client) {
+      client[kNeedDrain] = 0;
+      client.emit("drain", client[kUrl], [client]);
+    }
+    function resume(client, sync) {
+      if (client[kResuming] === 2) {
+        return;
       }
-      onRequestSent() {
-        if (channels.bodySent.hasSubscribers) {
-          channels.bodySent.publish({ request: this });
+      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 (this[kHandler].onRequestSent) {
-          try {
-            return this[kHandler].onRequestSent();
-          } catch (err) {
-            this.abort(err);
-          }
+        if (client[kClosedResolve] && !client[kSize]) {
+          client[kClosedResolve]();
+          client[kClosedResolve] = null;
+          return;
         }
-      }
-      onConnect(abort) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (this.error) {
-          abort(this.error);
-        } else {
-          this.abort = abort;
-          return this[kHandler].onConnect(abort);
+        if (client[kHTTPContext]) {
+          client[kHTTPContext].resume();
         }
-      }
-      onHeaders(statusCode, headers, resume, statusText) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (channels.headers.hasSubscribers) {
-          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
+        if (client[kBusy]) {
+          client[kNeedDrain] = 2;
+        } else if (client[kNeedDrain] === 2) {
+          if (sync) {
+            client[kNeedDrain] = 1;
+            queueMicrotask(() => emitDrain(client));
+          } else {
+            emitDrain(client);
+          }
+          continue;
         }
-        try {
-          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
-        } catch (err) {
-          this.abort(err);
+        if (client[kPending] === 0) {
+          return;
         }
-      }
-      onData(chunk) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        try {
-          return this[kHandler].onData(chunk);
-        } catch (err) {
-          this.abort(err);
-          return false;
+        if (client[kRunning] >= (getPipelining(client) || 1)) {
+          return;
         }
-      }
-      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 });
+        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);
+          });
         }
-        try {
-          return this[kHandler].onComplete(trailers);
-        } catch (err) {
-          this.onError(err);
+        if (client[kConnecting]) {
+          return;
         }
-      }
-      onError(error3) {
-        this.onFinally();
-        if (channels.error.hasSubscribers) {
-          channels.error.publish({ request: this, error: error3 });
+        if (!client[kHTTPContext]) {
+          connect(client);
+          return;
         }
-        if (this.aborted) {
+        if (client[kHTTPContext].destroyed) {
           return;
         }
-        this.aborted = true;
-        return this[kHandler].onError(error3);
-      }
-      onFinally() {
-        if (this.errorHandler) {
-          this.body.off("error", this.errorHandler);
-          this.errorHandler = null;
+        if (client[kHTTPContext].busy(request2)) {
+          return;
         }
-        if (this.endHandler) {
-          this.body.off("end", this.endHandler);
-          this.endHandler = null;
+        if (!request2.aborted && client[kHTTPContext].write(request2)) {
+          client[kPendingIdx]++;
+        } else {
+          client[kQueue].splice(client[kPendingIdx], 1);
         }
       }
-      // TODO: adjust to support H2
-      addHeader(key, value) {
-        processHeader(this, key, value);
-        return this;
+    }
+    module2.exports = Client;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/fixed-queue.js
+var require_fixed_queue2 = __commonJS({
+  "node_modules/@actions/github/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;
       }
-      static [kHTTP1BuildRequest](origin, opts, handler2) {
-        return new _Request(origin, opts, handler2);
+      isEmpty() {
+        return this.top === this.bottom;
       }
-      static [kHTTP2BuildRequest](origin, opts, handler2) {
-        const headers = opts.headers;
-        opts = { ...opts, headers: null };
-        const request2 = new _Request(origin, opts, handler2);
-        request2.headers = {};
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
-          }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(request2, headers[i], headers[i + 1], true);
-          }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(request2, key, headers[key], true);
-          }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
-        }
-        return request2;
+      isFull() {
+        return (this.top + 1 & kMask) === this.bottom;
       }
-      static [kHTTP2CopyHeaders](raw) {
-        const rawHeaders = raw.split("\r\n");
-        const headers = {};
-        for (const header of rawHeaders) {
-          const [key, value] = header.split(": ");
-          if (value == null || value.length === 0) continue;
-          if (headers[key]) headers[key] += `,${value}`;
-          else headers[key] = value;
-        }
-        return headers;
+      push(data) {
+        this.list[this.top] = data;
+        this.top = this.top + 1 & kMask;
       }
-    };
-    function processHeaderValue(key, val, skipAppend) {
-      if (val && typeof val === "object") {
-        throw new InvalidArgumentError(`invalid ${key} header`);
+      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;
       }
-      val = val != null ? `${val}` : "";
-      if (headerCharRegex.exec(val) !== null) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
+    };
+    module2.exports = class FixedQueue {
+      constructor() {
+        this.head = this.tail = new FixedCircularBuffer();
       }
-      return skipAppend ? val : `${key}: ${val}\r
-`;
-    }
-    function processHeader(request2, key, val, skipAppend = false) {
-      if (val && (typeof val === "object" && !Array.isArray(val))) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      } else if (val === void 0) {
-        return;
+      isEmpty() {
+        return this.head.isEmpty();
       }
-      if (request2.host === null && key.length === 4 && key.toLowerCase() === "host") {
-        if (headerCharRegex.exec(val) !== null) {
-          throw new InvalidArgumentError(`invalid ${key} header`);
-        }
-        request2.host = val;
-      } else if (request2.contentLength === null && key.length === 14 && key.toLowerCase() === "content-length") {
-        request2.contentLength = parseInt(val, 10);
-        if (!Number.isFinite(request2.contentLength)) {
-          throw new InvalidArgumentError("invalid content-length header");
-        }
-      } else if (request2.contentType === null && key.length === 12 && key.toLowerCase() === "content-type") {
-        request2.contentType = val;
-        if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-        else request2.headers += processHeaderValue(key, val);
-      } else if (key.length === 17 && key.toLowerCase() === "transfer-encoding") {
-        throw new InvalidArgumentError("invalid transfer-encoding header");
-      } else if (key.length === 10 && key.toLowerCase() === "connection") {
-        const value = typeof val === "string" ? val.toLowerCase() : null;
-        if (value !== "close" && value !== "keep-alive") {
-          throw new InvalidArgumentError("invalid connection header");
-        } else if (value === "close") {
-          request2.reset = true;
+      push(data) {
+        if (this.head.isFull()) {
+          this.head = this.head.next = new FixedCircularBuffer();
         }
-      } else if (key.length === 10 && key.toLowerCase() === "keep-alive") {
-        throw new InvalidArgumentError("invalid keep-alive header");
-      } else if (key.length === 7 && key.toLowerCase() === "upgrade") {
-        throw new InvalidArgumentError("invalid upgrade header");
-      } else if (key.length === 6 && key.toLowerCase() === "expect") {
-        throw new NotSupportedError("expect header not supported");
-      } else if (tokenRegExp.exec(key) === null) {
-        throw new InvalidArgumentError("invalid header key");
-      } else {
-        if (Array.isArray(val)) {
-          for (let i = 0; i < val.length; i++) {
-            if (skipAppend) {
-              if (request2.headers[key]) request2.headers[key] += `,${processHeaderValue(key, val[i], skipAppend)}`;
-              else request2.headers[key] = processHeaderValue(key, val[i], skipAppend);
-            } else {
-              request2.headers += processHeaderValue(key, val[i]);
-            }
-          }
-        } else {
-          if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-          else request2.headers += processHeaderValue(key, val);
+        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;
       }
-    }
-    module2.exports = Request;
+    };
   }
 });
 
-// node_modules/undici/lib/dispatcher.js
-var require_dispatcher2 = __commonJS({
-  "node_modules/undici/lib/dispatcher.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("events");
-    var Dispatcher = class extends EventEmitter {
-      dispatch() {
-        throw new Error("not implemented");
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js
+var require_pool_stats2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js"(exports2, module2) {
+    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
+    var kPool = /* @__PURE__ */ Symbol("pool");
+    var PoolStats = class {
+      constructor(pool) {
+        this[kPool] = pool;
       }
-      close() {
-        throw new Error("not implemented");
+      get connected() {
+        return this[kPool][kConnected];
       }
-      destroy() {
-        throw new Error("not implemented");
+      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 = Dispatcher;
+    module2.exports = PoolStats;
   }
 });
 
-// node_modules/undici/lib/dispatcher-base.js
-var require_dispatcher_base2 = __commonJS({
-  "node_modules/undici/lib/dispatcher-base.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js
+var require_pool_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js"(exports2, module2) {
     "use strict";
-    var Dispatcher = require_dispatcher2();
-    var {
-      ClientDestroyedError,
-      ClientClosedError,
-      InvalidArgumentError
-    } = require_errors2();
-    var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols6();
-    var kDestroyed = /* @__PURE__ */ Symbol("destroyed");
-    var kClosed = /* @__PURE__ */ Symbol("closed");
-    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
-    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
-    var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
-    var DispatcherBase = class extends Dispatcher {
+    var DispatcherBase = require_dispatcher_base2();
+    var FixedQueue = require_fixed_queue2();
+    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
+    var PoolStats = require_pool_stats2();
+    var kClients = /* @__PURE__ */ Symbol("clients");
+    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
+    var kQueue = /* @__PURE__ */ Symbol("queue");
+    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
+    var kAddClient = /* @__PURE__ */ Symbol("add client");
+    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
+    var kStats = /* @__PURE__ */ Symbol("stats");
+    var PoolBase = class extends DispatcherBase {
       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");
+        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[kInterceptors] = newInterceptors;
-      }
-      close(callback) {
-        if (callback === void 0) {
-          return new Promise((resolve8, reject) => {
-            this.close((err, data) => {
-              return err ? reject(err) : resolve8(data);
-            });
-          });
-        }
-        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));
+          this[kNeedDrain] = needDrain;
+          if (!this[kNeedDrain] && pool[kNeedDrain]) {
+            pool[kNeedDrain] = false;
+            pool.emit("drain", origin, [pool, ...targets]);
           }
-          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);
+          if (pool[kClosedResolve] && queue.isEmpty()) {
+            Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]);
           }
         };
-        this[kClose]().then(() => this.destroy()).then(() => {
-          queueMicrotask(onClosed);
-        });
+        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);
       }
-      destroy(err, callback) {
-        if (typeof err === "function") {
-          callback = err;
-          err = null;
-        }
-        if (callback === void 0) {
-          return new Promise((resolve8, reject) => {
-            this.destroy(err, (err2, data) => {
-              return err2 ? (
-                /* istanbul ignore next: should never error */
-                reject(err2)
-              ) : resolve8(data);
-            });
-          });
+      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;
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        return ret;
+      }
+      get [kRunning]() {
+        let ret = 0;
+        for (const { [kRunning]: running } of this[kClients]) {
+          ret += running;
         }
-        if (this[kDestroyed]) {
-          if (this[kOnDestroyed]) {
-            this[kOnDestroyed].push(callback);
-          } else {
-            queueMicrotask(() => callback(null, null));
-          }
-          return;
+        return ret;
+      }
+      get [kSize]() {
+        let ret = this[kQueued];
+        for (const { [kSize]: size } of this[kClients]) {
+          ret += size;
         }
-        if (!err) {
-          err = new ClientDestroyedError();
+        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((resolve8) => {
+            this[kClosedResolve] = resolve8;
+          });
         }
-        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);
+      async [kDestroy](err) {
+        while (true) {
+          const item = this[kQueue].shift();
+          if (!item) {
+            break;
+          }
+          item.handler.onError(err);
         }
-        let dispatch = this[kDispatch].bind(this);
-        for (let i = this[kInterceptors].length - 1; i >= 0; i--) {
-          dispatch = this[kInterceptors][i](dispatch);
+        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]();
         }
-        this[kInterceptedDispatch] = dispatch;
-        return dispatch(opts, handler2);
+        return !this[kNeedDrain];
       }
-      dispatch(opts, handler2) {
-        if (!handler2 || typeof handler2 !== "object") {
-          throw new InvalidArgumentError("handler must be an object");
+      [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]);
+            }
+          });
         }
-        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");
+        return this;
+      }
+      [kRemoveClient](client) {
+        client.close(() => {
+          const idx = this[kClients].indexOf(client);
+          if (idx !== -1) {
+            this[kClients].splice(idx, 1);
           }
-          handler2.onError(err);
-          return false;
-        }
+        });
+        this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
       }
     };
-    module2.exports = DispatcherBase;
+    module2.exports = {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    };
   }
 });
 
-// node_modules/undici/lib/core/connect.js
-var require_connect2 = __commonJS({
-  "node_modules/undici/lib/core/connect.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js
+var require_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js"(exports2, module2) {
     "use strict";
-    var net = require("net");
-    var assert = require("assert");
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kGetDispatcher
+    } = require_pool_base2();
+    var Client = require_client2();
+    var {
+      InvalidArgumentError
+    } = require_errors2();
     var util = require_util9();
-    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
-    var tls;
-    var SessionCache;
-    if (global.FinalizationRegistry && !process.env.NODE_V8_COVERAGE) {
-      SessionCache = class WeakSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
-          this._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);
-            }
-          });
-        }
-        get(sessionKey) {
-          const ref = this._sessionCache.get(sessionKey);
-          return ref ? ref.deref() : null;
-        }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
-            return;
-          }
-          this._sessionCache.set(sessionKey, new WeakRef(session));
-          this._sessionRegistry.register(session, sessionKey);
-        }
-      };
-    } else {
-      SessionCache = class SimpleSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
+    var { kUrl, kInterceptors } = require_symbols6();
+    var buildConnector = require_connect2();
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kConnections = /* @__PURE__ */ Symbol("connections");
+    var kFactory = /* @__PURE__ */ 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");
         }
-        get(sessionKey) {
-          return this._sessionCache.get(sessionKey);
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
         }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
-            return;
-          }
-          if (this._sessionCache.size >= this._maxCachedSessions) {
-            const { value: oldestKey } = this._sessionCache.keys().next();
-            this._sessionCache.delete(oldestKey);
-          }
-          this._sessionCache.set(sessionKey, session);
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
         }
-      };
-    }
-    function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, ...opts }) {
-      if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
-        throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
-      }
-      const options = { path: socketPath, ...opts };
-      const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
-      timeout = timeout == null ? 1e4 : timeout;
-      allowH2 = allowH2 != null ? allowH2 : false;
-      return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
-        let socket;
-        if (protocol === "https:") {
-          if (!tls) {
-            tls = require("tls");
-          }
-          servername = servername || options.servername || util.getServerName(host) || null;
-          const sessionKey = servername || hostname;
-          const session = sessionCache.get(sessionKey) || null;
-          assert(sessionKey);
-          socket = tls.connect({
-            highWaterMark: 16384,
-            // TLS in node can't have bigger HWM anyway...
-            ...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: port || 443,
-            host: hostname
-          });
-          socket.on("session", function(session2) {
-            sessionCache.set(sessionKey, session2);
-          });
-        } else {
-          assert(!httpSocket, "httpSocket can only be sent on TLS update");
-          socket = net.connect({
-            highWaterMark: 64 * 1024,
-            // Same as nodejs fs streams.
-            ...options,
-            localAddress,
-            port: port || 80,
-            host: hostname
+        if (typeof connect !== "function") {
+          connect = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect
           });
         }
-        if (options.keepAlive == null || options.keepAlive) {
-          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
-          socket.setKeepAlive(true, keepAliveInitialDelay);
-        }
-        const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout);
-        socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(null, this);
-          }
-        }).on("error", function(err) {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(err);
+        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, error3) => {
+          for (const target of targets) {
+            const idx = this[kClients].indexOf(target);
+            if (idx !== -1) {
+              this[kClients].splice(idx, 1);
+            }
           }
         });
-        return socket;
-      };
-    }
-    function setupTimeout(onConnectTimeout2, timeout) {
-      if (!timeout) {
-        return () => {
-        };
       }
-      let s1 = null;
-      let s2 = null;
-      const timeoutId = setTimeout(() => {
-        s1 = setImmediate(() => {
-          if (process.platform === "win32") {
-            s2 = setImmediate(() => onConnectTimeout2());
-          } else {
-            onConnectTimeout2();
+      [kGetDispatcher]() {
+        for (const client of this[kClients]) {
+          if (!client[kNeedDrain]) {
+            return client;
           }
-        });
-      }, timeout);
-      return () => {
-        clearTimeout(timeoutId);
-        clearImmediate(s1);
-        clearImmediate(s2);
-      };
-    }
-    function onConnectTimeout(socket) {
-      util.destroy(socket, new ConnectTimeoutError());
-    }
-    module2.exports = buildConnector;
-  }
-});
-
-// node_modules/undici/lib/llhttp/utils.js
-var require_utils3 = __commonJS({
-  "node_modules/undici/lib/llhttp/utils.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.enumToMap = void 0;
-    function enumToMap(obj) {
-      const res = {};
-      Object.keys(obj).forEach((key) => {
-        const value = obj[key];
-        if (typeof value === "number") {
-          res[key] = value;
         }
-      });
-      return res;
-    }
-    exports2.enumToMap = enumToMap;
+        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/llhttp/constants.js
-var require_constants8 = __commonJS({
-  "node_modules/undici/lib/llhttp/constants.js"(exports2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js
+var require_balanced_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
-    var utils_1 = require_utils3();
-    var ERROR;
-    (function(ERROR2) {
-      ERROR2[ERROR2["OK"] = 0] = "OK";
-      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
-      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
-      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
-      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
-      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
-      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
-      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
-      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
-      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
-      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
-      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
-      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
-      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
-      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
-      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
-      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
-      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
-      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
-      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
-      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
-      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
-      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
-      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
-      ERROR2[ERROR2["USER"] = 24] = "USER";
-    })(ERROR = 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];
+    var {
+      BalancedPoolMissingUpstreamError,
+      InvalidArgumentError
+    } = require_errors2();
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    } = require_pool_base2();
+    var Pool = require_pool2();
+    var { kUrl, kInterceptors } = require_symbols6();
+    var { parseOrigin } = require_util9();
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
+    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
+    var kIndex = /* @__PURE__ */ Symbol("kIndex");
+    var kWeight = /* @__PURE__ */ Symbol("kWeight");
+    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
+    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
+    function getGreatestCommonDivisor(a, b) {
+      if (a === 0) return b;
+      while (b !== 0) {
+        const t = b;
+        b = a % b;
+        a = t;
       }
-    });
-    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));
+      return a;
     }
-    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);
+    function defaultFactory(origin, opts) {
+      return new Pool(origin, opts);
     }
-    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);
+    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];
       }
-    }
-    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
     };
+    module2.exports = BalancedPool;
   }
 });
 
-// node_modules/undici/lib/handler/RedirectHandler.js
-var require_RedirectHandler = __commonJS({
-  "node_modules/undici/lib/handler/RedirectHandler.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js
+var require_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js"(exports2, module2) {
     "use strict";
-    var util = require_util9();
-    var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
     var { InvalidArgumentError } = require_errors2();
-    var EE = require("events");
-    var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
-    var kBody = /* @__PURE__ */ Symbol("body");
-    var BodyAsyncIterable = class {
-      constructor(body) {
-        this[kBody] = body;
-        this[kBodyUsed] = false;
+    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
+    var DispatcherBase = require_dispatcher_base2();
+    var Pool = require_pool2();
+    var Client = require_client2();
+    var util = require_util9();
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ 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);
+        };
       }
-      async *[Symbol.asyncIterator]() {
-        assert(!this[kBodyUsed], "disturbed");
-        this[kBodyUsed] = true;
-        yield* this[kBody];
+      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);
       }
     };
-    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");
+    module2.exports = Agent;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js
+var require_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js"(exports2, module2) {
+    "use strict";
+    var { kProxy, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
+    var { URL: URL2 } = require("node:url");
+    var Agent = require_agent2();
+    var Pool = require_pool2();
+    var DispatcherBase = require_dispatcher_base2();
+    var { InvalidArgumentError, RequestAbortedError, SecureProxyConnectionError } = require_errors2();
+    var buildConnector = require_connect2();
+    var Client = require_client2();
+    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
+    var kClient = /* @__PURE__ */ Symbol("proxy client");
+    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
+    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
+    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
+    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
+    var kTunnelProxy = /* @__PURE__ */ 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");
         }
-        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 = [];
-        if (util.isStream(this.opts.body)) {
-          if (util.bodyLength(this.opts.body) === 0) {
-            this.opts.body.on("data", function() {
-              assert(false);
-            });
+        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 (typeof this.opts.body.readableDidRead !== "boolean") {
-            this.opts.body[kBodyUsed] = false;
-            EE.prototype.on.call(this.opts.body, "data", function() {
-              this[kBodyUsed] = true;
+          if (onHeaders) onHeaders.call(this, statusCode, data, resume);
+        };
+        const {
+          origin,
+          path: path16 = "/",
+          headers = {}
+        } = opts;
+        opts.path = origin + path16;
+        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 url2 = this.#getUrl(opts);
+        const { href, origin, port, protocol, username, password, hostname: proxyHostname } = url2;
+        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
             });
           }
-        } 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(error3) {
-        this.handler.onError(error3);
+          return agentFactory(origin2, options);
+        };
+        this[kClient] = clientFactory(url2, { 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);
+              }
+            }
+          }
+        });
       }
-      onHeaders(statusCode, headers, resume, statusText) {
-        this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers);
-        if (this.opts.origin) {
-          this.history.push(new URL(this.opts.path, this.opts.origin));
-        }
-        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 path16 = search ? `${pathname}${search}` : pathname;
-        this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
-        this.opts.path = path16;
-        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;
+      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
+        );
       }
-      onData(chunk) {
-        if (this.location) {
+      /**
+       * @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 this.handler.onData(chunk);
+          return new URL2(opts.uri);
         }
       }
-      onComplete(trailers) {
-        if (this.location) {
-          this.location = null;
-          this.abort = null;
-          this.dispatch(this.opts, this);
-        } else {
-          this.handler.onComplete(trailers);
-        }
+      async [kClose]() {
+        await this[kAgent].close();
+        await this[kClient].close();
       }
-      onBodySent(chunk) {
-        if (this.handler.onBodySent) {
-          this.handler.onBodySent(chunk);
-        }
+      async [kDestroy]() {
+        await this[kAgent].destroy();
+        await this[kClient].destroy();
       }
     };
-    function parseLocation(statusCode, headers) {
-      if (redirectableStatusCodes.indexOf(statusCode) === -1) {
-        return null;
-      }
-      for (let i = 0; i < headers.length; i += 2) {
-        if (headers[i].toString().toLowerCase() === "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 = [];
+    function buildHeaders(headers) {
       if (Array.isArray(headers)) {
+        const headersPair = {};
         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]);
-          }
+          headersPair[headers[i]] = headers[i + 1];
         }
-      } else {
-        assert(headers == null, "headers must be an object or an array");
+        return headersPair;
       }
-      return ret;
+      return headers;
     }
-    module2.exports = RedirectHandler;
-  }
-});
-
-// node_modules/undici/lib/interceptor/redirectInterceptor.js
-var require_redirectInterceptor = __commonJS({
-  "node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports2, module2) {
-    "use strict";
-    var RedirectHandler = require_RedirectHandler();
-    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);
-        };
-      };
+    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 = createRedirectInterceptor;
-  }
-});
-
-// node_modules/undici/lib/llhttp/llhttp-wasm.js
-var require_llhttp_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkBigGLAYwBjQGOAY8BkAGRAZIBkwGUAZUBlgGXAZgBmQGaAZsBnAGdAZ4BnwGgAaEBogGjAaQBpQGmAacBqAGpAaoBqwGsAa0BrgGvAbABsQGyAbMBtAG1AbYBtwHLAcoBuAHJAbkByAG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAQDcAQtBACEQDMYBC0EOIRAMxQELQQ0hEAzEAQtBDyEQDMMBC0EQIRAMwgELQRMhEAzBAQtBFCEQDMABC0EVIRAMvwELQRYhEAy+AQtBFyEQDL0BC0EYIRAMvAELQRkhEAy7AQtBGiEQDLoBC0EbIRAMuQELQRwhEAy4AQtBCCEQDLcBC0EdIRAMtgELQSAhEAy1AQtBHyEQDLQBC0EHIRAMswELQSEhEAyyAQtBIiEQDLEBC0EeIRAMsAELQSMhEAyvAQtBEiEQDK4BC0ERIRAMrQELQSQhEAysAQtBJSEQDKsBC0EmIRAMqgELQSchEAypAQtBwwEhEAyoAQtBKSEQDKcBC0ErIRAMpgELQSwhEAylAQtBLSEQDKQBC0EuIRAMowELQS8hEAyiAQtBxAEhEAyhAQtBMCEQDKABC0E0IRAMnwELQQwhEAyeAQtBMSEQDJ0BC0EyIRAMnAELQTMhEAybAQtBOSEQDJoBC0E1IRAMmQELQcUBIRAMmAELQQshEAyXAQtBOiEQDJYBC0E2IRAMlQELQQohEAyUAQtBNyEQDJMBC0E4IRAMkgELQTwhEAyRAQtBOyEQDJABC0E9IRAMjwELQQkhEAyOAQtBKCEQDI0BC0E+IRAMjAELQT8hEAyLAQtBwAAhEAyKAQtBwQAhEAyJAQtBwgAhEAyIAQtBwwAhEAyHAQtBxAAhEAyGAQtBxQAhEAyFAQtBxgAhEAyEAQtBKiEQDIMBC0HHACEQDIIBC0HIACEQDIEBC0HJACEQDIABC0HKACEQDH8LQcsAIRAMfgtBzQAhEAx9C0HMACEQDHwLQc4AIRAMewtBzwAhEAx6C0HQACEQDHkLQdEAIRAMeAtB0gAhEAx3C0HTACEQDHYLQdQAIRAMdQtB1gAhEAx0C0HVACEQDHMLQQYhEAxyC0HXACEQDHELQQUhEAxwC0HYACEQDG8LQQQhEAxuC0HZACEQDG0LQdoAIRAMbAtB2wAhEAxrC0HcACEQDGoLQQMhEAxpC0HdACEQDGgLQd4AIRAMZwtB3wAhEAxmC0HhACEQDGULQeAAIRAMZAtB4gAhEAxjC0HjACEQDGILQQIhEAxhC0HkACEQDGALQeUAIRAMXwtB5gAhEAxeC0HnACEQDF0LQegAIRAMXAtB6QAhEAxbC0HqACEQDFoLQesAIRAMWQtB7AAhEAxYC0HtACEQDFcLQe4AIRAMVgtB7wAhEAxVC0HwACEQDFQLQfEAIRAMUwtB8gAhEAxSC0HzACEQDFELQfQAIRAMUAtB9QAhEAxPC0H2ACEQDE4LQfcAIRAMTQtB+AAhEAxMC0H5ACEQDEsLQfoAIRAMSgtB+wAhEAxJC0H8ACEQDEgLQf0AIRAMRwtB/gAhEAxGC0H/ACEQDEULQYABIRAMRAtBgQEhEAxDC0GCASEQDEILQYMBIRAMQQtBhAEhEAxAC0GFASEQDD8LQYYBIRAMPgtBhwEhEAw9C0GIASEQDDwLQYkBIRAMOwtBigEhEAw6C0GLASEQDDkLQYwBIRAMOAtBjQEhEAw3C0GOASEQDDYLQY8BIRAMNQtBkAEhEAw0C0GRASEQDDMLQZIBIRAMMgtBkwEhEAwxC0GUASEQDDALQZUBIRAMLwtBlgEhEAwuC0GXASEQDC0LQZgBIRAMLAtBmQEhEAwrC0GaASEQDCoLQZsBIRAMKQtBnAEhEAwoC0GdASEQDCcLQZ4BIRAMJgtBnwEhEAwlC0GgASEQDCQLQaEBIRAMIwtBogEhEAwiC0GjASEQDCELQaQBIRAMIAtBpQEhEAwfC0GmASEQDB4LQacBIRAMHQtBqAEhEAwcC0GpASEQDBsLQaoBIRAMGgtBqwEhEAwZC0GsASEQDBgLQa0BIRAMFwtBrgEhEAwWC0EBIRAMFQtBrwEhEAwUC0GwASEQDBMLQbEBIRAMEgtBswEhEAwRC0GyASEQDBALQbQBIRAMDwtBtQEhEAwOC0G2ASEQDA0LQbcBIRAMDAtBuAEhEAwLC0G5ASEQDAoLQboBIRAMCQtBuwEhEAwIC0HGASEQDAcLQbwBIRAMBgtBvQEhEAwFC0G+ASEQDAQLQb8BIRAMAwtBwAEhEAwCC0HCASEQDAELQcEBIRALA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8=";
-  }
-});
-
-// node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
-var require_llhttp_simd_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB4fICEjJSg/QEFERUZHSElKS0xNT1BRUlPeA1dZW1xdYGJlZmdoaWprbG1vcHFyc3R1dnd4eXp7fH1+gAGCAYUBhgGHAYkBiwGMAY0BjgGPAZABkQGUAZUBlgGXAZgBmQGaAZsBnAGdAZ4BnwGgAaEBogGjAaQBpQGmAacBqAGpAaoBqwGsAa0BrgGvAbABsQGyAbMBtAG1AbYBtwG4AbkBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUBxgHHAcgByQHKAcsBzAHNAc4BzwHQAdEB0gHTAdQB1QHWAdcB2AHZAdoB2wHcAd0B3gHgAeEB4gHjAeQB5QHmAecB6AHpAeoB6wHsAe0B7gHvAfAB8QHyAfMBmQKkArAC/gL+AgsgASIEIAJHDfMBQd0BIRAM/wMLIAEiECACRw3dAUHDASEQDP4DCyABIgEgAkcNkAFB9wAhEAz9AwsgASIBIAJHDYYBQe8AIRAM/AMLIAEiASACRw1/QeoAIRAM+wMLIAEiASACRw17QegAIRAM+gMLIAEiASACRw14QeYAIRAM+QMLIAEiASACRw0aQRghEAz4AwsgASIBIAJHDRRBEiEQDPcDCyABIgEgAkcNWUHFACEQDPYDCyABIgEgAkcNSkE/IRAM9QMLIAEiASACRw1IQTwhEAz0AwsgASIBIAJHDUFBMSEQDPMDCyAALQAuQQFGDesDDIcCCyAAIAEiASACEMCAgIAAQQFHDeYBIABCADcDIAznAQsgACABIgEgAhC0gICAACIQDecBIAEhAQz1AgsCQCABIgEgAkcNAEEGIRAM8AMLIAAgAUEBaiIBIAIQu4CAgAAiEA3oASABIQEMMQsgAEIANwMgQRIhEAzVAwsgASIQIAJHDStBHSEQDO0DCwJAIAEiASACRg0AIAFBAWohAUEQIRAM1AMLQQchEAzsAwsgAEIAIAApAyAiESACIAEiEGutIhJ9IhMgEyARVhs3AyAgESASViIURQ3lAUEIIRAM6wMLAkAgASIBIAJGDQAgAEGJgICAADYCCCAAIAE2AgQgASEBQRQhEAzSAwtBCSEQDOoDCyABIQEgACkDIFAN5AEgASEBDPICCwJAIAEiASACRw0AQQshEAzpAwsgACABQQFqIgEgAhC2gICAACIQDeUBIAEhAQzyAgsgACABIgEgAhC4gICAACIQDeUBIAEhAQzyAgsgACABIgEgAhC4gICAACIQDeYBIAEhAQwNCyAAIAEiASACELqAgIAAIhAN5wEgASEBDPACCwJAIAEiASACRw0AQQ8hEAzlAwsgAS0AACIQQTtGDQggEEENRw3oASABQQFqIQEM7wILIAAgASIBIAIQuoCAgAAiEA3oASABIQEM8gILA0ACQCABLQAAQfC1gIAAai0AACIQQQFGDQAgEEECRw3rASAAKAIEIRAgAEEANgIEIAAgECABQQFqIgEQuYCAgAAiEA3qASABIQEM9AILIAFBAWoiASACRw0AC0ESIRAM4gMLIAAgASIBIAIQuoCAgAAiEA3pASABIQEMCgsgASIBIAJHDQZBGyEQDOADCwJAIAEiASACRw0AQRYhEAzgAwsgAEGKgICAADYCCCAAIAE2AgQgACABIAIQuICAgAAiEA3qASABIQFBICEQDMYDCwJAIAEiASACRg0AA0ACQCABLQAAQfC3gIAAai0AACIQQQJGDQACQCAQQX9qDgTlAewBAOsB7AELIAFBAWohAUEIIRAMyAMLIAFBAWoiASACRw0AC0EVIRAM3wMLQRUhEAzeAwsDQAJAIAEtAABB8LmAgABqLQAAIhBBAkYNACAQQX9qDgTeAewB4AHrAewBCyABQQFqIgEgAkcNAAtBGCEQDN0DCwJAIAEiASACRg0AIABBi4CAgAA2AgggACABNgIEIAEhAUEHIRAMxAMLQRkhEAzcAwsgAUEBaiEBDAILAkAgASIUIAJHDQBBGiEQDNsDCyAUIQECQCAULQAAQXNqDhTdAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAgDuAgtBACEQIABBADYCHCAAQa+LgIAANgIQIABBAjYCDCAAIBRBAWo2AhQM2gMLAkAgAS0AACIQQTtGDQAgEEENRw3oASABQQFqIQEM5QILIAFBAWohAQtBIiEQDL8DCwJAIAEiECACRw0AQRwhEAzYAwtCACERIBAhASAQLQAAQVBqDjfnAeYBAQIDBAUGBwgAAAAAAAAACQoLDA0OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPEBESExQAC0EeIRAMvQMLQgIhEQzlAQtCAyERDOQBC0IEIREM4wELQgUhEQziAQtCBiERDOEBC0IHIREM4AELQgghEQzfAQtCCSERDN4BC0IKIREM3QELQgshEQzcAQtCDCERDNsBC0INIREM2gELQg4hEQzZAQtCDyERDNgBC0IKIREM1wELQgshEQzWAQtCDCERDNUBC0INIREM1AELQg4hEQzTAQtCDyERDNIBC0IAIRECQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAtAABBUGoON+UB5AEAAQIDBAUGB+YB5gHmAeYB5gHmAeYBCAkKCwwN5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAQ4PEBESE+YBC0ICIREM5AELQgMhEQzjAQtCBCERDOIBC0IFIREM4QELQgYhEQzgAQtCByERDN8BC0IIIREM3gELQgkhEQzdAQtCCiERDNwBC0ILIREM2wELQgwhEQzaAQtCDSERDNkBC0IOIREM2AELQg8hEQzXAQtCCiERDNYBC0ILIREM1QELQgwhEQzUAQtCDSERDNMBC0IOIREM0gELQg8hEQzRAQsgAEIAIAApAyAiESACIAEiEGutIhJ9IhMgEyARVhs3AyAgESASViIURQ3SAUEfIRAMwAMLAkAgASIBIAJGDQAgAEGJgICAADYCCCAAIAE2AgQgASEBQSQhEAynAwtBICEQDL8DCyAAIAEiECACEL6AgIAAQX9qDgW2AQDFAgHRAdIBC0ERIRAMpAMLIABBAToALyAQIQEMuwMLIAEiASACRw3SAUEkIRAMuwMLIAEiDSACRw0eQcYAIRAMugMLIAAgASIBIAIQsoCAgAAiEA3UASABIQEMtQELIAEiECACRw0mQdAAIRAMuAMLAkAgASIBIAJHDQBBKCEQDLgDCyAAQQA2AgQgAEGMgICAADYCCCAAIAEgARCxgICAACIQDdMBIAEhAQzYAQsCQCABIhAgAkcNAEEpIRAMtwMLIBAtAAAiAUEgRg0UIAFBCUcN0wEgEEEBaiEBDBULAkAgASIBIAJGDQAgAUEBaiEBDBcLQSohEAy1AwsCQCABIhAgAkcNAEErIRAMtQMLAkAgEC0AACIBQQlGDQAgAUEgRw3VAQsgAC0ALEEIRg3TASAQIQEMkQMLAkAgASIBIAJHDQBBLCEQDLQDCyABLQAAQQpHDdUBIAFBAWohAQzJAgsgASIOIAJHDdUBQS8hEAyyAwsDQAJAIAEtAAAiEEEgRg0AAkAgEEF2ag4EANwB3AEA2gELIAEhAQzgAQsgAUEBaiIBIAJHDQALQTEhEAyxAwtBMiEQIAEiFCACRg2wAyACIBRrIAAoAgAiAWohFSAUIAFrQQNqIRYCQANAIBQtAAAiF0EgciAXIBdBv39qQf8BcUEaSRtB/wFxIAFB8LuAgABqLQAARw0BAkAgAUEDRw0AQQYhAQyWAwsgAUEBaiEBIBRBAWoiFCACRw0ACyAAIBU2AgAMsQMLIABBADYCACAUIQEM2QELQTMhECABIhQgAkYNrwMgAiAUayAAKAIAIgFqIRUgFCABa0EIaiEWAkADQCAULQAAIhdBIHIgFyAXQb9/akH/AXFBGkkbQf8BcSABQfS7gIAAai0AAEcNAQJAIAFBCEcNAEEFIQEMlQMLIAFBAWohASAUQQFqIhQgAkcNAAsgACAVNgIADLADCyAAQQA2AgAgFCEBDNgBC0E0IRAgASIUIAJGDa4DIAIgFGsgACgCACIBaiEVIBQgAWtBBWohFgJAA0AgFC0AACIXQSByIBcgF0G/f2pB/wFxQRpJG0H/AXEgAUHQwoCAAGotAABHDQECQCABQQVHDQBBByEBDJQDCyABQQFqIQEgFEEBaiIUIAJHDQALIAAgFTYCAAyvAwsgAEEANgIAIBQhAQzXAQsCQCABIgEgAkYNAANAAkAgAS0AAEGAvoCAAGotAAAiEEEBRg0AIBBBAkYNCiABIQEM3QELIAFBAWoiASACRw0AC0EwIRAMrgMLQTAhEAytAwsCQCABIgEgAkYNAANAAkAgAS0AACIQQSBGDQAgEEF2ag4E2QHaAdoB2QHaAQsgAUEBaiIBIAJHDQALQTghEAytAwtBOCEQDKwDCwNAAkAgAS0AACIQQSBGDQAgEEEJRw0DCyABQQFqIgEgAkcNAAtBPCEQDKsDCwNAAkAgAS0AACIQQSBGDQACQAJAIBBBdmoOBNoBAQHaAQALIBBBLEYN2wELIAEhAQwECyABQQFqIgEgAkcNAAtBPyEQDKoDCyABIQEM2wELQcAAIRAgASIUIAJGDagDIAIgFGsgACgCACIBaiEWIBQgAWtBBmohFwJAA0AgFC0AAEEgciABQYDAgIAAai0AAEcNASABQQZGDY4DIAFBAWohASAUQQFqIhQgAkcNAAsgACAWNgIADKkDCyAAQQA2AgAgFCEBC0E2IRAMjgMLAkAgASIPIAJHDQBBwQAhEAynAwsgAEGMgICAADYCCCAAIA82AgQgDyEBIAAtACxBf2oOBM0B1QHXAdkBhwMLIAFBAWohAQzMAQsCQCABIgEgAkYNAANAAkAgAS0AACIQQSByIBAgEEG/f2pB/wFxQRpJG0H/AXEiEEEJRg0AIBBBIEYNAAJAAkACQAJAIBBBnX9qDhMAAwMDAwMDAwEDAwMDAwMDAwMCAwsgAUEBaiEBQTEhEAyRAwsgAUEBaiEBQTIhEAyQAwsgAUEBaiEBQTMhEAyPAwsgASEBDNABCyABQQFqIgEgAkcNAAtBNSEQDKUDC0E1IRAMpAMLAkAgASIBIAJGDQADQAJAIAEtAABBgLyAgABqLQAAQQFGDQAgASEBDNMBCyABQQFqIgEgAkcNAAtBPSEQDKQDC0E9IRAMowMLIAAgASIBIAIQsICAgAAiEA3WASABIQEMAQsgEEEBaiEBC0E8IRAMhwMLAkAgASIBIAJHDQBBwgAhEAygAwsCQANAAkAgAS0AAEF3ag4YAAL+Av4ChAP+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gIA/gILIAFBAWoiASACRw0AC0HCACEQDKADCyABQQFqIQEgAC0ALUEBcUUNvQEgASEBC0EsIRAMhQMLIAEiASACRw3TAUHEACEQDJ0DCwNAAkAgAS0AAEGQwICAAGotAABBAUYNACABIQEMtwILIAFBAWoiASACRw0AC0HFACEQDJwDCyANLQAAIhBBIEYNswEgEEE6Rw2BAyAAKAIEIQEgAEEANgIEIAAgASANEK+AgIAAIgEN0AEgDUEBaiEBDLMCC0HHACEQIAEiDSACRg2aAyACIA1rIAAoAgAiAWohFiANIAFrQQVqIRcDQCANLQAAIhRBIHIgFCAUQb9/akH/AXFBGkkbQf8BcSABQZDCgIAAai0AAEcNgAMgAUEFRg30AiABQQFqIQEgDUEBaiINIAJHDQALIAAgFjYCAAyaAwtByAAhECABIg0gAkYNmQMgAiANayAAKAIAIgFqIRYgDSABa0EJaiEXA0AgDS0AACIUQSByIBQgFEG/f2pB/wFxQRpJG0H/AXEgAUGWwoCAAGotAABHDf8CAkAgAUEJRw0AQQIhAQz1AgsgAUEBaiEBIA1BAWoiDSACRw0ACyAAIBY2AgAMmQMLAkAgASINIAJHDQBByQAhEAyZAwsCQAJAIA0tAAAiAUEgciABIAFBv39qQf8BcUEaSRtB/wFxQZJ/ag4HAIADgAOAA4ADgAMBgAMLIA1BAWohAUE+IRAMgAMLIA1BAWohAUE/IRAM/wILQcoAIRAgASINIAJGDZcDIAIgDWsgACgCACIBaiEWIA0gAWtBAWohFwNAIA0tAAAiFEEgciAUIBRBv39qQf8BcUEaSRtB/wFxIAFBoMKAgABqLQAARw39AiABQQFGDfACIAFBAWohASANQQFqIg0gAkcNAAsgACAWNgIADJcDC0HLACEQIAEiDSACRg2WAyACIA1rIAAoAgAiAWohFiANIAFrQQ5qIRcDQCANLQAAIhRBIHIgFCAUQb9/akH/AXFBGkkbQf8BcSABQaLCgIAAai0AAEcN/AIgAUEORg3wAiABQQFqIQEgDUEBaiINIAJHDQALIAAgFjYCAAyWAwtBzAAhECABIg0gAkYNlQMgAiANayAAKAIAIgFqIRYgDSABa0EPaiEXA0AgDS0AACIUQSByIBQgFEG/f2pB/wFxQRpJG0H/AXEgAUHAwoCAAGotAABHDfsCAkAgAUEPRw0AQQMhAQzxAgsgAUEBaiEBIA1BAWoiDSACRw0ACyAAIBY2AgAMlQMLQc0AIRAgASINIAJGDZQDIAIgDWsgACgCACIBaiEWIA0gAWtBBWohFwNAIA0tAAAiFEEgciAUIBRBv39qQf8BcUEaSRtB/wFxIAFB0MKAgABqLQAARw36AgJAIAFBBUcNAEEEIQEM8AILIAFBAWohASANQQFqIg0gAkcNAAsgACAWNgIADJQDCwJAIAEiDSACRw0AQc4AIRAMlAMLAkACQAJAAkAgDS0AACIBQSByIAEgAUG/f2pB/wFxQRpJG0H/AXFBnX9qDhMA/QL9Av0C/QL9Av0C/QL9Av0C/QL9Av0CAf0C/QL9AgID/QILIA1BAWohAUHBACEQDP0CCyANQQFqIQFBwgAhEAz8AgsgDUEBaiEBQcMAIRAM+wILIA1BAWohAUHEACEQDPoCCwJAIAEiASACRg0AIABBjYCAgAA2AgggACABNgIEIAEhAUHFACEQDPoCC0HPACEQDJIDCyAQIQECQAJAIBAtAABBdmoOBAGoAqgCAKgCCyAQQQFqIQELQSchEAz4AgsCQCABIgEgAkcNAEHRACEQDJEDCwJAIAEtAABBIEYNACABIQEMjQELIAFBAWohASAALQAtQQFxRQ3HASABIQEMjAELIAEiFyACRw3IAUHSACEQDI8DC0HTACEQIAEiFCACRg2OAyACIBRrIAAoAgAiAWohFiAUIAFrQQFqIRcDQCAULQAAIAFB1sKAgABqLQAARw3MASABQQFGDccBIAFBAWohASAUQQFqIhQgAkcNAAsgACAWNgIADI4DCwJAIAEiASACRw0AQdUAIRAMjgMLIAEtAABBCkcNzAEgAUEBaiEBDMcBCwJAIAEiASACRw0AQdYAIRAMjQMLAkACQCABLQAAQXZqDgQAzQHNAQHNAQsgAUEBaiEBDMcBCyABQQFqIQFBygAhEAzzAgsgACABIgEgAhCugICAACIQDcsBIAEhAUHNACEQDPICCyAALQApQSJGDYUDDKYCCwJAIAEiASACRw0AQdsAIRAMigMLQQAhFEEBIRdBASEWQQAhEAJAAkACQAJAAkACQAJAAkACQCABLQAAQVBqDgrUAdMBAAECAwQFBgjVAQtBAiEQDAYLQQMhEAwFC0EEIRAMBAtBBSEQDAMLQQYhEAwCC0EHIRAMAQtBCCEQC0EAIRdBACEWQQAhFAzMAQtBCSEQQQEhFEEAIRdBACEWDMsBCwJAIAEiASACRw0AQd0AIRAMiQMLIAEtAABBLkcNzAEgAUEBaiEBDKYCCyABIgEgAkcNzAFB3wAhEAyHAwsCQCABIgEgAkYNACAAQY6AgIAANgIIIAAgATYCBCABIQFB0AAhEAzuAgtB4AAhEAyGAwtB4QAhECABIgEgAkYNhQMgAiABayAAKAIAIhRqIRYgASAUa0EDaiEXA0AgAS0AACAUQeLCgIAAai0AAEcNzQEgFEEDRg3MASAUQQFqIRQgAUEBaiIBIAJHDQALIAAgFjYCAAyFAwtB4gAhECABIgEgAkYNhAMgAiABayAAKAIAIhRqIRYgASAUa0ECaiEXA0AgAS0AACAUQebCgIAAai0AAEcNzAEgFEECRg3OASAUQQFqIRQgAUEBaiIBIAJHDQALIAAgFjYCAAyEAwtB4wAhECABIgEgAkYNgwMgAiABayAAKAIAIhRqIRYgASAUa0EDaiEXA0AgAS0AACAUQenCgIAAai0AAEcNywEgFEEDRg3OASAUQQFqIRQgAUEBaiIBIAJHDQALIAAgFjYCAAyDAwsCQCABIgEgAkcNAEHlACEQDIMDCyAAIAFBAWoiASACEKiAgIAAIhANzQEgASEBQdYAIRAM6QILAkAgASIBIAJGDQADQAJAIAEtAAAiEEEgRg0AAkACQAJAIBBBuH9qDgsAAc8BzwHPAc8BzwHPAc8BzwECzwELIAFBAWohAUHSACEQDO0CCyABQQFqIQFB0wAhEAzsAgsgAUEBaiEBQdQAIRAM6wILIAFBAWoiASACRw0AC0HkACEQDIIDC0HkACEQDIEDCwNAAkAgAS0AAEHwwoCAAGotAAAiEEEBRg0AIBBBfmoOA88B0AHRAdIBCyABQQFqIgEgAkcNAAtB5gAhEAyAAwsCQCABIgEgAkYNACABQQFqIQEMAwtB5wAhEAz/AgsDQAJAIAEtAABB8MSAgABqLQAAIhBBAUYNAAJAIBBBfmoOBNIB0wHUAQDVAQsgASEBQdcAIRAM5wILIAFBAWoiASACRw0AC0HoACEQDP4CCwJAIAEiASACRw0AQekAIRAM/gILAkAgAS0AACIQQXZqDhq6AdUB1QG8AdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAcoB1QHVAQDTAQsgAUEBaiEBC0EGIRAM4wILA0ACQCABLQAAQfDGgIAAai0AAEEBRg0AIAEhAQyeAgsgAUEBaiIBIAJHDQALQeoAIRAM+wILAkAgASIBIAJGDQAgAUEBaiEBDAMLQesAIRAM+gILAkAgASIBIAJHDQBB7AAhEAz6AgsgAUEBaiEBDAELAkAgASIBIAJHDQBB7QAhEAz5AgsgAUEBaiEBC0EEIRAM3gILAkAgASIUIAJHDQBB7gAhEAz3AgsgFCEBAkACQAJAIBQtAABB8MiAgABqLQAAQX9qDgfUAdUB1gEAnAIBAtcBCyAUQQFqIQEMCgsgFEEBaiEBDM0BC0EAIRAgAEEANgIcIABBm5KAgAA2AhAgAEEHNgIMIAAgFEEBajYCFAz2AgsCQANAAkAgAS0AAEHwyICAAGotAAAiEEEERg0AAkACQCAQQX9qDgfSAdMB1AHZAQAEAdkBCyABIQFB2gAhEAzgAgsgAUEBaiEBQdwAIRAM3wILIAFBAWoiASACRw0AC0HvACEQDPYCCyABQQFqIQEMywELAkAgASIUIAJHDQBB8AAhEAz1AgsgFC0AAEEvRw3UASAUQQFqIQEMBgsCQCABIhQgAkcNAEHxACEQDPQCCwJAIBQtAAAiAUEvRw0AIBRBAWohAUHdACEQDNsCCyABQXZqIgRBFksN0wFBASAEdEGJgIACcUUN0wEMygILAkAgASIBIAJGDQAgAUEBaiEBQd4AIRAM2gILQfIAIRAM8gILAkAgASIUIAJHDQBB9AAhEAzyAgsgFCEBAkAgFC0AAEHwzICAAGotAABBf2oOA8kClAIA1AELQeEAIRAM2AILAkAgASIUIAJGDQADQAJAIBQtAABB8MqAgABqLQAAIgFBA0YNAAJAIAFBf2oOAssCANUBCyAUIQFB3wAhEAzaAgsgFEEBaiIUIAJHDQALQfMAIRAM8QILQfMAIRAM8AILAkAgASIBIAJGDQAgAEGPgICAADYCCCAAIAE2AgQgASEBQeAAIRAM1wILQfUAIRAM7wILAkAgASIBIAJHDQBB9gAhEAzvAgsgAEGPgICAADYCCCAAIAE2AgQgASEBC0EDIRAM1AILA0AgAS0AAEEgRw3DAiABQQFqIgEgAkcNAAtB9wAhEAzsAgsCQCABIgEgAkcNAEH4ACEQDOwCCyABLQAAQSBHDc4BIAFBAWohAQzvAQsgACABIgEgAhCsgICAACIQDc4BIAEhAQyOAgsCQCABIgQgAkcNAEH6ACEQDOoCCyAELQAAQcwARw3RASAEQQFqIQFBEyEQDM8BCwJAIAEiBCACRw0AQfsAIRAM6QILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEANAIAQtAAAgAUHwzoCAAGotAABHDdABIAFBBUYNzgEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBB+wAhEAzoAgsCQCABIgQgAkcNAEH8ACEQDOgCCwJAAkAgBC0AAEG9f2oODADRAdEB0QHRAdEB0QHRAdEB0QHRAQHRAQsgBEEBaiEBQeYAIRAMzwILIARBAWohAUHnACEQDM4CCwJAIAEiBCACRw0AQf0AIRAM5wILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQe3PgIAAai0AAEcNzwEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQf0AIRAM5wILIABBADYCACAQQQFqIQFBECEQDMwBCwJAIAEiBCACRw0AQf4AIRAM5gILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEAJAA0AgBC0AACABQfbOgIAAai0AAEcNzgEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQf4AIRAM5gILIABBADYCACAQQQFqIQFBFiEQDMsBCwJAIAEiBCACRw0AQf8AIRAM5QILIAIgBGsgACgCACIBaiEUIAQgAWtBA2ohEAJAA0AgBC0AACABQfzOgIAAai0AAEcNzQEgAUEDRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQf8AIRAM5QILIABBADYCACAQQQFqIQFBBSEQDMoBCwJAIAEiBCACRw0AQYABIRAM5AILIAQtAABB2QBHDcsBIARBAWohAUEIIRAMyQELAkAgASIEIAJHDQBBgQEhEAzjAgsCQAJAIAQtAABBsn9qDgMAzAEBzAELIARBAWohAUHrACEQDMoCCyAEQQFqIQFB7AAhEAzJAgsCQCABIgQgAkcNAEGCASEQDOICCwJAAkAgBC0AAEG4f2oOCADLAcsBywHLAcsBywEBywELIARBAWohAUHqACEQDMkCCyAEQQFqIQFB7QAhEAzIAgsCQCABIgQgAkcNAEGDASEQDOECCyACIARrIAAoAgAiAWohECAEIAFrQQJqIRQCQANAIAQtAAAgAUGAz4CAAGotAABHDckBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgEDYCAEGDASEQDOECC0EAIRAgAEEANgIAIBRBAWohAQzGAQsCQCABIgQgAkcNAEGEASEQDOACCyACIARrIAAoAgAiAWohFCAEIAFrQQRqIRACQANAIAQtAAAgAUGDz4CAAGotAABHDcgBIAFBBEYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGEASEQDOACCyAAQQA2AgAgEEEBaiEBQSMhEAzFAQsCQCABIgQgAkcNAEGFASEQDN8CCwJAAkAgBC0AAEG0f2oOCADIAcgByAHIAcgByAEByAELIARBAWohAUHvACEQDMYCCyAEQQFqIQFB8AAhEAzFAgsCQCABIgQgAkcNAEGGASEQDN4CCyAELQAAQcUARw3FASAEQQFqIQEMgwILAkAgASIEIAJHDQBBhwEhEAzdAgsgAiAEayAAKAIAIgFqIRQgBCABa0EDaiEQAkADQCAELQAAIAFBiM+AgABqLQAARw3FASABQQNGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBhwEhEAzdAgsgAEEANgIAIBBBAWohAUEtIRAMwgELAkAgASIEIAJHDQBBiAEhEAzcAgsgAiAEayAAKAIAIgFqIRQgBCABa0EIaiEQAkADQCAELQAAIAFB0M+AgABqLQAARw3EASABQQhGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBiAEhEAzcAgsgAEEANgIAIBBBAWohAUEpIRAMwQELAkAgASIBIAJHDQBBiQEhEAzbAgtBASEQIAEtAABB3wBHDcABIAFBAWohAQyBAgsCQCABIgQgAkcNAEGKASEQDNoCCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRADQCAELQAAIAFBjM+AgABqLQAARw3BASABQQFGDa8CIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYoBIRAM2QILAkAgASIEIAJHDQBBiwEhEAzZAgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFBjs+AgABqLQAARw3BASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBiwEhEAzZAgsgAEEANgIAIBBBAWohAUECIRAMvgELAkAgASIEIAJHDQBBjAEhEAzYAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFB8M+AgABqLQAARw3AASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBjAEhEAzYAgsgAEEANgIAIBBBAWohAUEfIRAMvQELAkAgASIEIAJHDQBBjQEhEAzXAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFB8s+AgABqLQAARw2/ASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBjQEhEAzXAgsgAEEANgIAIBBBAWohAUEJIRAMvAELAkAgASIEIAJHDQBBjgEhEAzWAgsCQAJAIAQtAABBt39qDgcAvwG/Ab8BvwG/AQG/AQsgBEEBaiEBQfgAIRAMvQILIARBAWohAUH5ACEQDLwCCwJAIAEiBCACRw0AQY8BIRAM1QILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEAJAA0AgBC0AACABQZHPgIAAai0AAEcNvQEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQY8BIRAM1QILIABBADYCACAQQQFqIQFBGCEQDLoBCwJAIAEiBCACRw0AQZABIRAM1AILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQZfPgIAAai0AAEcNvAEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZABIRAM1AILIABBADYCACAQQQFqIQFBFyEQDLkBCwJAIAEiBCACRw0AQZEBIRAM0wILIAIgBGsgACgCACIBaiEUIAQgAWtBBmohEAJAA0AgBC0AACABQZrPgIAAai0AAEcNuwEgAUEGRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZEBIRAM0wILIABBADYCACAQQQFqIQFBFSEQDLgBCwJAIAEiBCACRw0AQZIBIRAM0gILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEAJAA0AgBC0AACABQaHPgIAAai0AAEcNugEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZIBIRAM0gILIABBADYCACAQQQFqIQFBHiEQDLcBCwJAIAEiBCACRw0AQZMBIRAM0QILIAQtAABBzABHDbgBIARBAWohAUEKIRAMtgELAkAgBCACRw0AQZQBIRAM0AILAkACQCAELQAAQb9/ag4PALkBuQG5AbkBuQG5AbkBuQG5AbkBuQG5AbkBAbkBCyAEQQFqIQFB/gAhEAy3AgsgBEEBaiEBQf8AIRAMtgILAkAgBCACRw0AQZUBIRAMzwILAkACQCAELQAAQb9/ag4DALgBAbgBCyAEQQFqIQFB/QAhEAy2AgsgBEEBaiEEQYABIRAMtQILAkAgBCACRw0AQZYBIRAMzgILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQafPgIAAai0AAEcNtgEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZYBIRAMzgILIABBADYCACAQQQFqIQFBCyEQDLMBCwJAIAQgAkcNAEGXASEQDM0CCwJAAkACQAJAIAQtAABBU2oOIwC4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBAbgBuAG4AbgBuAECuAG4AbgBA7gBCyAEQQFqIQFB+wAhEAy2AgsgBEEBaiEBQfwAIRAMtQILIARBAWohBEGBASEQDLQCCyAEQQFqIQRBggEhEAyzAgsCQCAEIAJHDQBBmAEhEAzMAgsgAiAEayAAKAIAIgFqIRQgBCABa0EEaiEQAkADQCAELQAAIAFBqc+AgABqLQAARw20ASABQQRGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBmAEhEAzMAgsgAEEANgIAIBBBAWohAUEZIRAMsQELAkAgBCACRw0AQZkBIRAMywILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEAJAA0AgBC0AACABQa7PgIAAai0AAEcNswEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZkBIRAMywILIABBADYCACAQQQFqIQFBBiEQDLABCwJAIAQgAkcNAEGaASEQDMoCCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUG0z4CAAGotAABHDbIBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGaASEQDMoCCyAAQQA2AgAgEEEBaiEBQRwhEAyvAQsCQCAEIAJHDQBBmwEhEAzJAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFBts+AgABqLQAARw2xASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBmwEhEAzJAgsgAEEANgIAIBBBAWohAUEnIRAMrgELAkAgBCACRw0AQZwBIRAMyAILAkACQCAELQAAQax/ag4CAAGxAQsgBEEBaiEEQYYBIRAMrwILIARBAWohBEGHASEQDK4CCwJAIAQgAkcNAEGdASEQDMcCCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUG4z4CAAGotAABHDa8BIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGdASEQDMcCCyAAQQA2AgAgEEEBaiEBQSYhEAysAQsCQCAEIAJHDQBBngEhEAzGAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFBus+AgABqLQAARw2uASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBngEhEAzGAgsgAEEANgIAIBBBAWohAUEDIRAMqwELAkAgBCACRw0AQZ8BIRAMxQILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQe3PgIAAai0AAEcNrQEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZ8BIRAMxQILIABBADYCACAQQQFqIQFBDCEQDKoBCwJAIAQgAkcNAEGgASEQDMQCCyACIARrIAAoAgAiAWohFCAEIAFrQQNqIRACQANAIAQtAAAgAUG8z4CAAGotAABHDawBIAFBA0YNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGgASEQDMQCCyAAQQA2AgAgEEEBaiEBQQ0hEAypAQsCQCAEIAJHDQBBoQEhEAzDAgsCQAJAIAQtAABBun9qDgsArAGsAawBrAGsAawBrAGsAawBAawBCyAEQQFqIQRBiwEhEAyqAgsgBEEBaiEEQYwBIRAMqQILAkAgBCACRw0AQaIBIRAMwgILIAQtAABB0ABHDakBIARBAWohBAzpAQsCQCAEIAJHDQBBowEhEAzBAgsCQAJAIAQtAABBt39qDgcBqgGqAaoBqgGqAQCqAQsgBEEBaiEEQY4BIRAMqAILIARBAWohAUEiIRAMpgELAkAgBCACRw0AQaQBIRAMwAILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQcDPgIAAai0AAEcNqAEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQaQBIRAMwAILIABBADYCACAQQQFqIQFBHSEQDKUBCwJAIAQgAkcNAEGlASEQDL8CCwJAAkAgBC0AAEGuf2oOAwCoAQGoAQsgBEEBaiEEQZABIRAMpgILIARBAWohAUEEIRAMpAELAkAgBCACRw0AQaYBIRAMvgILAkACQAJAAkACQCAELQAAQb9/ag4VAKoBqgGqAaoBqgGqAaoBqgGqAaoBAaoBqgECqgGqAQOqAaoBBKoBCyAEQQFqIQRBiAEhEAyoAgsgBEEBaiEEQYkBIRAMpwILIARBAWohBEGKASEQDKYCCyAEQQFqIQRBjwEhEAylAgsgBEEBaiEEQZEBIRAMpAILAkAgBCACRw0AQacBIRAMvQILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQe3PgIAAai0AAEcNpQEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQacBIRAMvQILIABBADYCACAQQQFqIQFBESEQDKIBCwJAIAQgAkcNAEGoASEQDLwCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHCz4CAAGotAABHDaQBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGoASEQDLwCCyAAQQA2AgAgEEEBaiEBQSwhEAyhAQsCQCAEIAJHDQBBqQEhEAy7AgsgAiAEayAAKAIAIgFqIRQgBCABa0EEaiEQAkADQCAELQAAIAFBxc+AgABqLQAARw2jASABQQRGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBqQEhEAy7AgsgAEEANgIAIBBBAWohAUErIRAMoAELAkAgBCACRw0AQaoBIRAMugILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQcrPgIAAai0AAEcNogEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQaoBIRAMugILIABBADYCACAQQQFqIQFBFCEQDJ8BCwJAIAQgAkcNAEGrASEQDLkCCwJAAkACQAJAIAQtAABBvn9qDg8AAQKkAaQBpAGkAaQBpAGkAaQBpAGkAaQBA6QBCyAEQQFqIQRBkwEhEAyiAgsgBEEBaiEEQZQBIRAMoQILIARBAWohBEGVASEQDKACCyAEQQFqIQRBlgEhEAyfAgsCQCAEIAJHDQBBrAEhEAy4AgsgBC0AAEHFAEcNnwEgBEEBaiEEDOABCwJAIAQgAkcNAEGtASEQDLcCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHNz4CAAGotAABHDZ8BIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGtASEQDLcCCyAAQQA2AgAgEEEBaiEBQQ4hEAycAQsCQCAEIAJHDQBBrgEhEAy2AgsgBC0AAEHQAEcNnQEgBEEBaiEBQSUhEAybAQsCQCAEIAJHDQBBrwEhEAy1AgsgAiAEayAAKAIAIgFqIRQgBCABa0EIaiEQAkADQCAELQAAIAFB0M+AgABqLQAARw2dASABQQhGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBrwEhEAy1AgsgAEEANgIAIBBBAWohAUEqIRAMmgELAkAgBCACRw0AQbABIRAMtAILAkACQCAELQAAQat/ag4LAJ0BnQGdAZ0BnQGdAZ0BnQGdAQGdAQsgBEEBaiEEQZoBIRAMmwILIARBAWohBEGbASEQDJoCCwJAIAQgAkcNAEGxASEQDLMCCwJAAkAgBC0AAEG/f2oOFACcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAEBnAELIARBAWohBEGZASEQDJoCCyAEQQFqIQRBnAEhEAyZAgsCQCAEIAJHDQBBsgEhEAyyAgsgAiAEayAAKAIAIgFqIRQgBCABa0EDaiEQAkADQCAELQAAIAFB2c+AgABqLQAARw2aASABQQNGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBsgEhEAyyAgsgAEEANgIAIBBBAWohAUEhIRAMlwELAkAgBCACRw0AQbMBIRAMsQILIAIgBGsgACgCACIBaiEUIAQgAWtBBmohEAJAA0AgBC0AACABQd3PgIAAai0AAEcNmQEgAUEGRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbMBIRAMsQILIABBADYCACAQQQFqIQFBGiEQDJYBCwJAIAQgAkcNAEG0ASEQDLACCwJAAkACQCAELQAAQbt/ag4RAJoBmgGaAZoBmgGaAZoBmgGaAQGaAZoBmgGaAZoBApoBCyAEQQFqIQRBnQEhEAyYAgsgBEEBaiEEQZ4BIRAMlwILIARBAWohBEGfASEQDJYCCwJAIAQgAkcNAEG1ASEQDK8CCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUHkz4CAAGotAABHDZcBIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEG1ASEQDK8CCyAAQQA2AgAgEEEBaiEBQSghEAyUAQsCQCAEIAJHDQBBtgEhEAyuAgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFB6s+AgABqLQAARw2WASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBtgEhEAyuAgsgAEEANgIAIBBBAWohAUEHIRAMkwELAkAgBCACRw0AQbcBIRAMrQILAkACQCAELQAAQbt/ag4OAJYBlgGWAZYBlgGWAZYBlgGWAZYBlgGWAQGWAQsgBEEBaiEEQaEBIRAMlAILIARBAWohBEGiASEQDJMCCwJAIAQgAkcNAEG4ASEQDKwCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDZQBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEG4ASEQDKwCCyAAQQA2AgAgEEEBaiEBQRIhEAyRAQsCQCAEIAJHDQBBuQEhEAyrAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFB8M+AgABqLQAARw2TASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBuQEhEAyrAgsgAEEANgIAIBBBAWohAUEgIRAMkAELAkAgBCACRw0AQboBIRAMqgILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfLPgIAAai0AAEcNkgEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQboBIRAMqgILIABBADYCACAQQQFqIQFBDyEQDI8BCwJAIAQgAkcNAEG7ASEQDKkCCwJAAkAgBC0AAEG3f2oOBwCSAZIBkgGSAZIBAZIBCyAEQQFqIQRBpQEhEAyQAgsgBEEBaiEEQaYBIRAMjwILAkAgBCACRw0AQbwBIRAMqAILIAIgBGsgACgCACIBaiEUIAQgAWtBB2ohEAJAA0AgBC0AACABQfTPgIAAai0AAEcNkAEgAUEHRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbwBIRAMqAILIABBADYCACAQQQFqIQFBGyEQDI0BCwJAIAQgAkcNAEG9ASEQDKcCCwJAAkACQCAELQAAQb5/ag4SAJEBkQGRAZEBkQGRAZEBkQGRAQGRAZEBkQGRAZEBkQECkQELIARBAWohBEGkASEQDI8CCyAEQQFqIQRBpwEhEAyOAgsgBEEBaiEEQagBIRAMjQILAkAgBCACRw0AQb4BIRAMpgILIAQtAABBzgBHDY0BIARBAWohBAzPAQsCQCAEIAJHDQBBvwEhEAylAgsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAELQAAQb9/ag4VAAECA5wBBAUGnAGcAZwBBwgJCgucAQwNDg+cAQsgBEEBaiEBQegAIRAMmgILIARBAWohAUHpACEQDJkCCyAEQQFqIQFB7gAhEAyYAgsgBEEBaiEBQfIAIRAMlwILIARBAWohAUHzACEQDJYCCyAEQQFqIQFB9gAhEAyVAgsgBEEBaiEBQfcAIRAMlAILIARBAWohAUH6ACEQDJMCCyAEQQFqIQRBgwEhEAySAgsgBEEBaiEEQYQBIRAMkQILIARBAWohBEGFASEQDJACCyAEQQFqIQRBkgEhEAyPAgsgBEEBaiEEQZgBIRAMjgILIARBAWohBEGgASEQDI0CCyAEQQFqIQRBowEhEAyMAgsgBEEBaiEEQaoBIRAMiwILAkAgBCACRg0AIABBkICAgAA2AgggACAENgIEQasBIRAMiwILQcABIRAMowILIAAgBSACEKqAgIAAIgENiwEgBSEBDFwLAkAgBiACRg0AIAZBAWohBQyNAQtBwgEhEAyhAgsDQAJAIBAtAABBdmoOBIwBAACPAQALIBBBAWoiECACRw0AC0HDASEQDKACCwJAIAcgAkYNACAAQZGAgIAANgIIIAAgBzYCBCAHIQFBASEQDIcCC0HEASEQDJ8CCwJAIAcgAkcNAEHFASEQDJ8CCwJAAkAgBy0AAEF2ag4EAc4BzgEAzgELIAdBAWohBgyNAQsgB0EBaiEFDIkBCwJAIAcgAkcNAEHGASEQDJ4CCwJAAkAgBy0AAEF2ag4XAY8BjwEBjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BAI8BCyAHQQFqIQcLQbABIRAMhAILAkAgCCACRw0AQcgBIRAMnQILIAgtAABBIEcNjQEgAEEAOwEyIAhBAWohAUGzASEQDIMCCyABIRcCQANAIBciByACRg0BIActAABBUGpB/wFxIhBBCk8NzAECQCAALwEyIhRBmTNLDQAgACAUQQpsIhQ7ATIgEEH//wNzIBRB/v8DcUkNACAHQQFqIRcgACAUIBBqIhA7ATIgEEH//wNxQegHSQ0BCwtBACEQIABBADYCHCAAQcGJgIAANgIQIABBDTYCDCAAIAdBAWo2AhQMnAILQccBIRAMmwILIAAgCCACEK6AgIAAIhBFDcoBIBBBFUcNjAEgAEHIATYCHCAAIAg2AhQgAEHJl4CAADYCECAAQRU2AgxBACEQDJoCCwJAIAkgAkcNAEHMASEQDJoCC0EAIRRBASEXQQEhFkEAIRACQAJAAkACQAJAAkACQAJAAkAgCS0AAEFQag4KlgGVAQABAgMEBQYIlwELQQIhEAwGC0EDIRAMBQtBBCEQDAQLQQUhEAwDC0EGIRAMAgtBByEQDAELQQghEAtBACEXQQAhFkEAIRQMjgELQQkhEEEBIRRBACEXQQAhFgyNAQsCQCAKIAJHDQBBzgEhEAyZAgsgCi0AAEEuRw2OASAKQQFqIQkMygELIAsgAkcNjgFB0AEhEAyXAgsCQCALIAJGDQAgAEGOgICAADYCCCAAIAs2AgRBtwEhEAz+AQtB0QEhEAyWAgsCQCAEIAJHDQBB0gEhEAyWAgsgAiAEayAAKAIAIhBqIRQgBCAQa0EEaiELA0AgBC0AACAQQfzPgIAAai0AAEcNjgEgEEEERg3pASAQQQFqIRAgBEEBaiIEIAJHDQALIAAgFDYCAEHSASEQDJUCCyAAIAwgAhCsgICAACIBDY0BIAwhAQy4AQsCQCAEIAJHDQBB1AEhEAyUAgsgAiAEayAAKAIAIhBqIRQgBCAQa0EBaiEMA0AgBC0AACAQQYHQgIAAai0AAEcNjwEgEEEBRg2OASAQQQFqIRAgBEEBaiIEIAJHDQALIAAgFDYCAEHUASEQDJMCCwJAIAQgAkcNAEHWASEQDJMCCyACIARrIAAoAgAiEGohFCAEIBBrQQJqIQsDQCAELQAAIBBBg9CAgABqLQAARw2OASAQQQJGDZABIBBBAWohECAEQQFqIgQgAkcNAAsgACAUNgIAQdYBIRAMkgILAkAgBCACRw0AQdcBIRAMkgILAkACQCAELQAAQbt/ag4QAI8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwEBjwELIARBAWohBEG7ASEQDPkBCyAEQQFqIQRBvAEhEAz4AQsCQCAEIAJHDQBB2AEhEAyRAgsgBC0AAEHIAEcNjAEgBEEBaiEEDMQBCwJAIAQgAkYNACAAQZCAgIAANgIIIAAgBDYCBEG+ASEQDPcBC0HZASEQDI8CCwJAIAQgAkcNAEHaASEQDI8CCyAELQAAQcgARg3DASAAQQE6ACgMuQELIABBAjoALyAAIAQgAhCmgICAACIQDY0BQcIBIRAM9AELIAAtAChBf2oOArcBuQG4AQsDQAJAIAQtAABBdmoOBACOAY4BAI4BCyAEQQFqIgQgAkcNAAtB3QEhEAyLAgsgAEEAOgAvIAAtAC1BBHFFDYQCCyAAQQA6AC8gAEEBOgA0IAEhAQyMAQsgEEEVRg3aASAAQQA2AhwgACABNgIUIABBp46AgAA2AhAgAEESNgIMQQAhEAyIAgsCQCAAIBAgAhC0gICAACIEDQAgECEBDIECCwJAIARBFUcNACAAQQM2AhwgACAQNgIUIABBsJiAgAA2AhAgAEEVNgIMQQAhEAyIAgsgAEEANgIcIAAgEDYCFCAAQaeOgIAANgIQIABBEjYCDEEAIRAMhwILIBBBFUYN1gEgAEEANgIcIAAgATYCFCAAQdqNgIAANgIQIABBFDYCDEEAIRAMhgILIAAoAgQhFyAAQQA2AgQgECARp2oiFiEBIAAgFyAQIBYgFBsiEBC1gICAACIURQ2NASAAQQc2AhwgACAQNgIUIAAgFDYCDEEAIRAMhQILIAAgAC8BMEGAAXI7ATAgASEBC0EqIRAM6gELIBBBFUYN0QEgAEEANgIcIAAgATYCFCAAQYOMgIAANgIQIABBEzYCDEEAIRAMggILIBBBFUYNzwEgAEEANgIcIAAgATYCFCAAQZqPgIAANgIQIABBIjYCDEEAIRAMgQILIAAoAgQhECAAQQA2AgQCQCAAIBAgARC3gICAACIQDQAgAUEBaiEBDI0BCyAAQQw2AhwgACAQNgIMIAAgAUEBajYCFEEAIRAMgAILIBBBFUYNzAEgAEEANgIcIAAgATYCFCAAQZqPgIAANgIQIABBIjYCDEEAIRAM/wELIAAoAgQhECAAQQA2AgQCQCAAIBAgARC3gICAACIQDQAgAUEBaiEBDIwBCyAAQQ02AhwgACAQNgIMIAAgAUEBajYCFEEAIRAM/gELIBBBFUYNyQEgAEEANgIcIAAgATYCFCAAQcaMgIAANgIQIABBIzYCDEEAIRAM/QELIAAoAgQhECAAQQA2AgQCQCAAIBAgARC5gICAACIQDQAgAUEBaiEBDIsBCyAAQQ42AhwgACAQNgIMIAAgAUEBajYCFEEAIRAM/AELIABBADYCHCAAIAE2AhQgAEHAlYCAADYCECAAQQI2AgxBACEQDPsBCyAQQRVGDcUBIABBADYCHCAAIAE2AhQgAEHGjICAADYCECAAQSM2AgxBACEQDPoBCyAAQRA2AhwgACABNgIUIAAgEDYCDEEAIRAM+QELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARC5gICAACIEDQAgAUEBaiEBDPEBCyAAQRE2AhwgACAENgIMIAAgAUEBajYCFEEAIRAM+AELIBBBFUYNwQEgAEEANgIcIAAgATYCFCAAQcaMgIAANgIQIABBIzYCDEEAIRAM9wELIAAoAgQhECAAQQA2AgQCQCAAIBAgARC5gICAACIQDQAgAUEBaiEBDIgBCyAAQRM2AhwgACAQNgIMIAAgAUEBajYCFEEAIRAM9gELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARC5gICAACIEDQAgAUEBaiEBDO0BCyAAQRQ2AhwgACAENgIMIAAgAUEBajYCFEEAIRAM9QELIBBBFUYNvQEgAEEANgIcIAAgATYCFCAAQZqPgIAANgIQIABBIjYCDEEAIRAM9AELIAAoAgQhECAAQQA2AgQCQCAAIBAgARC3gICAACIQDQAgAUEBaiEBDIYBCyAAQRY2AhwgACAQNgIMIAAgAUEBajYCFEEAIRAM8wELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARC3gICAACIEDQAgAUEBaiEBDOkBCyAAQRc2AhwgACAENgIMIAAgAUEBajYCFEEAIRAM8gELIABBADYCHCAAIAE2AhQgAEHNk4CAADYCECAAQQw2AgxBACEQDPEBC0IBIRELIBBBAWohAQJAIAApAyAiEkL//////////w9WDQAgACASQgSGIBGENwMgIAEhAQyEAQsgAEEANgIcIAAgATYCFCAAQa2JgIAANgIQIABBDDYCDEEAIRAM7wELIABBADYCHCAAIBA2AhQgAEHNk4CAADYCECAAQQw2AgxBACEQDO4BCyAAKAIEIRcgAEEANgIEIBAgEadqIhYhASAAIBcgECAWIBQbIhAQtYCAgAAiFEUNcyAAQQU2AhwgACAQNgIUIAAgFDYCDEEAIRAM7QELIABBADYCHCAAIBA2AhQgAEGqnICAADYCECAAQQ82AgxBACEQDOwBCyAAIBAgAhC0gICAACIBDQEgECEBC0EOIRAM0QELAkAgAUEVRw0AIABBAjYCHCAAIBA2AhQgAEGwmICAADYCECAAQRU2AgxBACEQDOoBCyAAQQA2AhwgACAQNgIUIABBp46AgAA2AhAgAEESNgIMQQAhEAzpAQsgAUEBaiEQAkAgAC8BMCIBQYABcUUNAAJAIAAgECACELuAgIAAIgENACAQIQEMcAsgAUEVRw26ASAAQQU2AhwgACAQNgIUIABB+ZeAgAA2AhAgAEEVNgIMQQAhEAzpAQsCQCABQaAEcUGgBEcNACAALQAtQQJxDQAgAEEANgIcIAAgEDYCFCAAQZaTgIAANgIQIABBBDYCDEEAIRAM6QELIAAgECACEL2AgIAAGiAQIQECQAJAAkACQAJAIAAgECACELOAgIAADhYCAQAEBAQEBAQEBAQEBAQEBAQEBAQDBAsgAEEBOgAuCyAAIAAvATBBwAByOwEwIBAhAQtBJiEQDNEBCyAAQSM2AhwgACAQNgIUIABBpZaAgAA2AhAgAEEVNgIMQQAhEAzpAQsgAEEANgIcIAAgEDYCFCAAQdWLgIAANgIQIABBETYCDEEAIRAM6AELIAAtAC1BAXFFDQFBwwEhEAzOAQsCQCANIAJGDQADQAJAIA0tAABBIEYNACANIQEMxAELIA1BAWoiDSACRw0AC0ElIRAM5wELQSUhEAzmAQsgACgCBCEEIABBADYCBCAAIAQgDRCvgICAACIERQ2tASAAQSY2AhwgACAENgIMIAAgDUEBajYCFEEAIRAM5QELIBBBFUYNqwEgAEEANgIcIAAgATYCFCAAQf2NgIAANgIQIABBHTYCDEEAIRAM5AELIABBJzYCHCAAIAE2AhQgACAQNgIMQQAhEAzjAQsgECEBQQEhFAJAAkACQAJAAkACQAJAIAAtACxBfmoOBwYFBQMBAgAFCyAAIAAvATBBCHI7ATAMAwtBAiEUDAELQQQhFAsgAEEBOgAsIAAgAC8BMCAUcjsBMAsgECEBC0ErIRAMygELIABBADYCHCAAIBA2AhQgAEGrkoCAADYCECAAQQs2AgxBACEQDOIBCyAAQQA2AhwgACABNgIUIABB4Y+AgAA2AhAgAEEKNgIMQQAhEAzhAQsgAEEAOgAsIBAhAQy9AQsgECEBQQEhFAJAAkACQAJAAkAgAC0ALEF7ag4EAwECAAULIAAgAC8BMEEIcjsBMAwDC0ECIRQMAQtBBCEUCyAAQQE6ACwgACAALwEwIBRyOwEwCyAQIQELQSkhEAzFAQsgAEEANgIcIAAgATYCFCAAQfCUgIAANgIQIABBAzYCDEEAIRAM3QELAkAgDi0AAEENRw0AIAAoAgQhASAAQQA2AgQCQCAAIAEgDhCxgICAACIBDQAgDkEBaiEBDHULIABBLDYCHCAAIAE2AgwgACAOQQFqNgIUQQAhEAzdAQsgAC0ALUEBcUUNAUHEASEQDMMBCwJAIA4gAkcNAEEtIRAM3AELAkACQANAAkAgDi0AAEF2ag4EAgAAAwALIA5BAWoiDiACRw0AC0EtIRAM3QELIAAoAgQhASAAQQA2AgQCQCAAIAEgDhCxgICAACIBDQAgDiEBDHQLIABBLDYCHCAAIA42AhQgACABNgIMQQAhEAzcAQsgACgCBCEBIABBADYCBAJAIAAgASAOELGAgIAAIgENACAOQQFqIQEMcwsgAEEsNgIcIAAgATYCDCAAIA5BAWo2AhRBACEQDNsBCyAAKAIEIQQgAEEANgIEIAAgBCAOELGAgIAAIgQNoAEgDiEBDM4BCyAQQSxHDQEgAUEBaiEQQQEhAQJAAkACQAJAAkAgAC0ALEF7ag4EAwECBAALIBAhAQwEC0ECIQEMAQtBBCEBCyAAQQE6ACwgACAALwEwIAFyOwEwIBAhAQwBCyAAIAAvATBBCHI7ATAgECEBC0E5IRAMvwELIABBADoALCABIQELQTQhEAy9AQsgACAALwEwQSByOwEwIAEhAQwCCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQsYCAgAAiBA0AIAEhAQzHAQsgAEE3NgIcIAAgATYCFCAAIAQ2AgxBACEQDNQBCyAAQQg6ACwgASEBC0EwIRAMuQELAkAgAC0AKEEBRg0AIAEhAQwECyAALQAtQQhxRQ2TASABIQEMAwsgAC0AMEEgcQ2UAUHFASEQDLcBCwJAIA8gAkYNAAJAA0ACQCAPLQAAQVBqIgFB/wFxQQpJDQAgDyEBQTUhEAy6AQsgACkDICIRQpmz5syZs+bMGVYNASAAIBFCCn4iETcDICARIAGtQv8BgyISQn+FVg0BIAAgESASfDcDICAPQQFqIg8gAkcNAAtBOSEQDNEBCyAAKAIEIQIgAEEANgIEIAAgAiAPQQFqIgQQsYCAgAAiAg2VASAEIQEMwwELQTkhEAzPAQsCQCAALwEwIgFBCHFFDQAgAC0AKEEBRw0AIAAtAC1BCHFFDZABCyAAIAFB9/sDcUGABHI7ATAgDyEBC0E3IRAMtAELIAAgAC8BMEEQcjsBMAyrAQsgEEEVRg2LASAAQQA2AhwgACABNgIUIABB8I6AgAA2AhAgAEEcNgIMQQAhEAzLAQsgAEHDADYCHCAAIAE2AgwgACANQQFqNgIUQQAhEAzKAQsCQCABLQAAQTpHDQAgACgCBCEQIABBADYCBAJAIAAgECABEK+AgIAAIhANACABQQFqIQEMYwsgAEHDADYCHCAAIBA2AgwgACABQQFqNgIUQQAhEAzKAQsgAEEANgIcIAAgATYCFCAAQbGRgIAANgIQIABBCjYCDEEAIRAMyQELIABBADYCHCAAIAE2AhQgAEGgmYCAADYCECAAQR42AgxBACEQDMgBCyAAQQA2AgALIABBgBI7ASogACAXQQFqIgEgAhCogICAACIQDQEgASEBC0HHACEQDKwBCyAQQRVHDYMBIABB0QA2AhwgACABNgIUIABB45eAgAA2AhAgAEEVNgIMQQAhEAzEAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMXgsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAzDAQsgAEEANgIcIAAgFDYCFCAAQcGogIAANgIQIABBBzYCDCAAQQA2AgBBACEQDMIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxdCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDMEBC0EAIRAgAEEANgIcIAAgATYCFCAAQYCRgIAANgIQIABBCTYCDAzAAQsgEEEVRg19IABBADYCHCAAIAE2AhQgAEGUjYCAADYCECAAQSE2AgxBACEQDL8BC0EBIRZBACEXQQAhFEEBIRALIAAgEDoAKyABQQFqIQECQAJAIAAtAC1BEHENAAJAAkACQCAALQAqDgMBAAIECyAWRQ0DDAILIBQNAQwCCyAXRQ0BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQrYCAgAAiEA0AIAEhAQxcCyAAQdgANgIcIAAgATYCFCAAIBA2AgxBACEQDL4BCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQrYCAgAAiBA0AIAEhAQytAQsgAEHZADYCHCAAIAE2AhQgACAENgIMQQAhEAy9AQsgACgCBCEEIABBADYCBAJAIAAgBCABEK2AgIAAIgQNACABIQEMqwELIABB2gA2AhwgACABNgIUIAAgBDYCDEEAIRAMvAELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCtgICAACIEDQAgASEBDKkBCyAAQdwANgIcIAAgATYCFCAAIAQ2AgxBACEQDLsBCwJAIAEtAABBUGoiEEH/AXFBCk8NACAAIBA6ACogAUEBaiEBQc8AIRAMogELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCtgICAACIEDQAgASEBDKcBCyAAQd4ANgIcIAAgATYCFCAAIAQ2AgxBACEQDLoBCyAAQQA2AgAgF0EBaiEBAkAgAC0AKUEjTw0AIAEhAQxZCyAAQQA2AhwgACABNgIUIABB04mAgAA2AhAgAEEINgIMQQAhEAy5AQsgAEEANgIAC0EAIRAgAEEANgIcIAAgATYCFCAAQZCzgIAANgIQIABBCDYCDAy3AQsgAEEANgIAIBdBAWohAQJAIAAtAClBIUcNACABIQEMVgsgAEEANgIcIAAgATYCFCAAQZuKgIAANgIQIABBCDYCDEEAIRAMtgELIABBADYCACAXQQFqIQECQCAALQApIhBBXWpBC08NACABIQEMVQsCQCAQQQZLDQBBASAQdEHKAHFFDQAgASEBDFULQQAhECAAQQA2AhwgACABNgIUIABB94mAgAA2AhAgAEEINgIMDLUBCyAQQRVGDXEgAEEANgIcIAAgATYCFCAAQbmNgIAANgIQIABBGjYCDEEAIRAMtAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDFQLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMswELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDE0LIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMsgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDE0LIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMsQELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDFELIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMsAELIABBADYCHCAAIAE2AhQgAEHGioCAADYCECAAQQc2AgxBACEQDK8BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxJCyAAQdIANgIcIAAgATYCFCAAIBA2AgxBACEQDK4BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxJCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDK0BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDKwBCyAAQQA2AhwgACABNgIUIABB3IiAgAA2AhAgAEEHNgIMQQAhEAyrAQsgEEE/Rw0BIAFBAWohAQtBBSEQDJABC0EAIRAgAEEANgIcIAAgATYCFCAAQf2SgIAANgIQIABBBzYCDAyoAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMQgsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAynAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMQgsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAymAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMRgsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAylAQsgACgCBCEBIABBADYCBAJAIAAgASAUEKeAgIAAIgENACAUIQEMPwsgAEHSADYCHCAAIBQ2AhQgACABNgIMQQAhEAykAQsgACgCBCEBIABBADYCBAJAIAAgASAUEKeAgIAAIgENACAUIQEMPwsgAEHTADYCHCAAIBQ2AhQgACABNgIMQQAhEAyjAQsgACgCBCEBIABBADYCBAJAIAAgASAUEKeAgIAAIgENACAUIQEMQwsgAEHlADYCHCAAIBQ2AhQgACABNgIMQQAhEAyiAQsgAEEANgIcIAAgFDYCFCAAQcOPgIAANgIQIABBBzYCDEEAIRAMoQELIABBADYCHCAAIAE2AhQgAEHDj4CAADYCECAAQQc2AgxBACEQDKABC0EAIRAgAEEANgIcIAAgFDYCFCAAQYycgIAANgIQIABBBzYCDAyfAQsgAEEANgIcIAAgFDYCFCAAQYycgIAANgIQIABBBzYCDEEAIRAMngELIABBADYCHCAAIBQ2AhQgAEH+kYCAADYCECAAQQc2AgxBACEQDJ0BCyAAQQA2AhwgACABNgIUIABBjpuAgAA2AhAgAEEGNgIMQQAhEAycAQsgEEEVRg1XIABBADYCHCAAIAE2AhQgAEHMjoCAADYCECAAQSA2AgxBACEQDJsBCyAAQQA2AgAgEEEBaiEBQSQhEAsgACAQOgApIAAoAgQhECAAQQA2AgQgACAQIAEQq4CAgAAiEA1UIAEhAQw+CyAAQQA2AgALQQAhECAAQQA2AhwgACAENgIUIABB8ZuAgAA2AhAgAEEGNgIMDJcBCyABQRVGDVAgAEEANgIcIAAgBTYCFCAAQfCMgIAANgIQIABBGzYCDEEAIRAMlgELIAAoAgQhBSAAQQA2AgQgACAFIBAQqYCAgAAiBQ0BIBBBAWohBQtBrQEhEAx7CyAAQcEBNgIcIAAgBTYCDCAAIBBBAWo2AhRBACEQDJMBCyAAKAIEIQYgAEEANgIEIAAgBiAQEKmAgIAAIgYNASAQQQFqIQYLQa4BIRAMeAsgAEHCATYCHCAAIAY2AgwgACAQQQFqNgIUQQAhEAyQAQsgAEEANgIcIAAgBzYCFCAAQZeLgIAANgIQIABBDTYCDEEAIRAMjwELIABBADYCHCAAIAg2AhQgAEHjkICAADYCECAAQQk2AgxBACEQDI4BCyAAQQA2AhwgACAINgIUIABBlI2AgAA2AhAgAEEhNgIMQQAhEAyNAQtBASEWQQAhF0EAIRRBASEQCyAAIBA6ACsgCUEBaiEIAkACQCAALQAtQRBxDQACQAJAAkAgAC0AKg4DAQACBAsgFkUNAwwCCyAUDQEMAgsgF0UNAQsgACgCBCEQIABBADYCBCAAIBAgCBCtgICAACIQRQ09IABByQE2AhwgACAINgIUIAAgEDYCDEEAIRAMjAELIAAoAgQhBCAAQQA2AgQgACAEIAgQrYCAgAAiBEUNdiAAQcoBNgIcIAAgCDYCFCAAIAQ2AgxBACEQDIsBCyAAKAIEIQQgAEEANgIEIAAgBCAJEK2AgIAAIgRFDXQgAEHLATYCHCAAIAk2AhQgACAENgIMQQAhEAyKAQsgACgCBCEEIABBADYCBCAAIAQgChCtgICAACIERQ1yIABBzQE2AhwgACAKNgIUIAAgBDYCDEEAIRAMiQELAkAgCy0AAEFQaiIQQf8BcUEKTw0AIAAgEDoAKiALQQFqIQpBtgEhEAxwCyAAKAIEIQQgAEEANgIEIAAgBCALEK2AgIAAIgRFDXAgAEHPATYCHCAAIAs2AhQgACAENgIMQQAhEAyIAQsgAEEANgIcIAAgBDYCFCAAQZCzgIAANgIQIABBCDYCDCAAQQA2AgBBACEQDIcBCyABQRVGDT8gAEEANgIcIAAgDDYCFCAAQcyOgIAANgIQIABBIDYCDEEAIRAMhgELIABBgQQ7ASggACgCBCEQIABCADcDACAAIBAgDEEBaiIMEKuAgIAAIhBFDTggAEHTATYCHCAAIAw2AhQgACAQNgIMQQAhEAyFAQsgAEEANgIAC0EAIRAgAEEANgIcIAAgBDYCFCAAQdibgIAANgIQIABBCDYCDAyDAQsgACgCBCEQIABCADcDACAAIBAgC0EBaiILEKuAgIAAIhANAUHGASEQDGkLIABBAjoAKAxVCyAAQdUBNgIcIAAgCzYCFCAAIBA2AgxBACEQDIABCyAQQRVGDTcgAEEANgIcIAAgBDYCFCAAQaSMgIAANgIQIABBEDYCDEEAIRAMfwsgAC0ANEEBRw00IAAgBCACELyAgIAAIhBFDTQgEEEVRw01IABB3AE2AhwgACAENgIUIABB1ZaAgAA2AhAgAEEVNgIMQQAhEAx+C0EAIRAgAEEANgIcIABBr4uAgAA2AhAgAEECNgIMIAAgFEEBajYCFAx9C0EAIRAMYwtBAiEQDGILQQ0hEAxhC0EPIRAMYAtBJSEQDF8LQRMhEAxeC0EVIRAMXQtBFiEQDFwLQRchEAxbC0EYIRAMWgtBGSEQDFkLQRohEAxYC0EbIRAMVwtBHCEQDFYLQR0hEAxVC0EfIRAMVAtBISEQDFMLQSMhEAxSC0HGACEQDFELQS4hEAxQC0EvIRAMTwtBOyEQDE4LQT0hEAxNC0HIACEQDEwLQckAIRAMSwtBywAhEAxKC0HMACEQDEkLQc4AIRAMSAtB0QAhEAxHC0HVACEQDEYLQdgAIRAMRQtB2QAhEAxEC0HbACEQDEMLQeQAIRAMQgtB5QAhEAxBC0HxACEQDEALQfQAIRAMPwtBjQEhEAw+C0GXASEQDD0LQakBIRAMPAtBrAEhEAw7C0HAASEQDDoLQbkBIRAMOQtBrwEhEAw4C0GxASEQDDcLQbIBIRAMNgtBtAEhEAw1C0G1ASEQDDQLQboBIRAMMwtBvQEhEAwyC0G/ASEQDDELQcEBIRAMMAsgAEEANgIcIAAgBDYCFCAAQemLgIAANgIQIABBHzYCDEEAIRAMSAsgAEHbATYCHCAAIAQ2AhQgAEH6loCAADYCECAAQRU2AgxBACEQDEcLIABB+AA2AhwgACAMNgIUIABBypiAgAA2AhAgAEEVNgIMQQAhEAxGCyAAQdEANgIcIAAgBTYCFCAAQbCXgIAANgIQIABBFTYCDEEAIRAMRQsgAEH5ADYCHCAAIAE2AhQgACAQNgIMQQAhEAxECyAAQfgANgIcIAAgATYCFCAAQcqYgIAANgIQIABBFTYCDEEAIRAMQwsgAEHkADYCHCAAIAE2AhQgAEHjl4CAADYCECAAQRU2AgxBACEQDEILIABB1wA2AhwgACABNgIUIABByZeAgAA2AhAgAEEVNgIMQQAhEAxBCyAAQQA2AhwgACABNgIUIABBuY2AgAA2AhAgAEEaNgIMQQAhEAxACyAAQcIANgIcIAAgATYCFCAAQeOYgIAANgIQIABBFTYCDEEAIRAMPwsgAEEANgIEIAAgDyAPELGAgIAAIgRFDQEgAEE6NgIcIAAgBDYCDCAAIA9BAWo2AhRBACEQDD4LIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCxgICAACIERQ0AIABBOzYCHCAAIAQ2AgwgACABQQFqNgIUQQAhEAw+CyABQQFqIQEMLQsgD0EBaiEBDC0LIABBADYCHCAAIA82AhQgAEHkkoCAADYCECAAQQQ2AgxBACEQDDsLIABBNjYCHCAAIAQ2AhQgACACNgIMQQAhEAw6CyAAQS42AhwgACAONgIUIAAgBDYCDEEAIRAMOQsgAEHQADYCHCAAIAE2AhQgAEGRmICAADYCECAAQRU2AgxBACEQDDgLIA1BAWohAQwsCyAAQRU2AhwgACABNgIUIABBgpmAgAA2AhAgAEEVNgIMQQAhEAw2CyAAQRs2AhwgACABNgIUIABBkZeAgAA2AhAgAEEVNgIMQQAhEAw1CyAAQQ82AhwgACABNgIUIABBkZeAgAA2AhAgAEEVNgIMQQAhEAw0CyAAQQs2AhwgACABNgIUIABBkZeAgAA2AhAgAEEVNgIMQQAhEAwzCyAAQRo2AhwgACABNgIUIABBgpmAgAA2AhAgAEEVNgIMQQAhEAwyCyAAQQs2AhwgACABNgIUIABBgpmAgAA2AhAgAEEVNgIMQQAhEAwxCyAAQQo2AhwgACABNgIUIABB5JaAgAA2AhAgAEEVNgIMQQAhEAwwCyAAQR42AhwgACABNgIUIABB+ZeAgAA2AhAgAEEVNgIMQQAhEAwvCyAAQQA2AhwgACAQNgIUIABB2o2AgAA2AhAgAEEUNgIMQQAhEAwuCyAAQQQ2AhwgACABNgIUIABBsJiAgAA2AhAgAEEVNgIMQQAhEAwtCyAAQQA2AgAgC0EBaiELC0G4ASEQDBILIABBADYCACAQQQFqIQFB9QAhEAwRCyABIQECQCAALQApQQVHDQBB4wAhEAwRC0HiACEQDBALQQAhECAAQQA2AhwgAEHkkYCAADYCECAAQQc2AgwgACAUQQFqNgIUDCgLIABBADYCACAXQQFqIQFBwAAhEAwOC0EBIQELIAAgAToALCAAQQA2AgAgF0EBaiEBC0EoIRAMCwsgASEBC0E4IRAMCQsCQCABIg8gAkYNAANAAkAgDy0AAEGAvoCAAGotAAAiAUEBRg0AIAFBAkcNAyAPQQFqIQEMBAsgD0EBaiIPIAJHDQALQT4hEAwiC0E+IRAMIQsgAEEAOgAsIA8hAQwBC0ELIRAMBgtBOiEQDAULIAFBAWohAUEtIRAMBAsgACABOgAsIABBADYCACAWQQFqIQFBDCEQDAMLIABBADYCACAXQQFqIQFBCiEQDAILIABBADYCAAsgAEEAOgAsIA0hAUEJIRAMAAsLQQAhECAAQQA2AhwgACALNgIUIABBzZCAgAA2AhAgAEEJNgIMDBcLQQAhECAAQQA2AhwgACAKNgIUIABB6YqAgAA2AhAgAEEJNgIMDBYLQQAhECAAQQA2AhwgACAJNgIUIABBt5CAgAA2AhAgAEEJNgIMDBULQQAhECAAQQA2AhwgACAINgIUIABBnJGAgAA2AhAgAEEJNgIMDBQLQQAhECAAQQA2AhwgACABNgIUIABBzZCAgAA2AhAgAEEJNgIMDBMLQQAhECAAQQA2AhwgACABNgIUIABB6YqAgAA2AhAgAEEJNgIMDBILQQAhECAAQQA2AhwgACABNgIUIABBt5CAgAA2AhAgAEEJNgIMDBELQQAhECAAQQA2AhwgACABNgIUIABBnJGAgAA2AhAgAEEJNgIMDBALQQAhECAAQQA2AhwgACABNgIUIABBl5WAgAA2AhAgAEEPNgIMDA8LQQAhECAAQQA2AhwgACABNgIUIABBl5WAgAA2AhAgAEEPNgIMDA4LQQAhECAAQQA2AhwgACABNgIUIABBwJKAgAA2AhAgAEELNgIMDA0LQQAhECAAQQA2AhwgACABNgIUIABBlYmAgAA2AhAgAEELNgIMDAwLQQAhECAAQQA2AhwgACABNgIUIABB4Y+AgAA2AhAgAEEKNgIMDAsLQQAhECAAQQA2AhwgACABNgIUIABB+4+AgAA2AhAgAEEKNgIMDAoLQQAhECAAQQA2AhwgACABNgIUIABB8ZmAgAA2AhAgAEECNgIMDAkLQQAhECAAQQA2AhwgACABNgIUIABBxJSAgAA2AhAgAEECNgIMDAgLQQAhECAAQQA2AhwgACABNgIUIABB8pWAgAA2AhAgAEECNgIMDAcLIABBAjYCHCAAIAE2AhQgAEGcmoCAADYCECAAQRY2AgxBACEQDAYLQQEhEAwFC0HUACEQIAEiBCACRg0EIANBCGogACAEIAJB2MKAgABBChDFgICAACADKAIMIQQgAygCCA4DAQQCAAsQyoCAgAAACyAAQQA2AhwgAEG1moCAADYCECAAQRc2AgwgACAEQQFqNgIUQQAhEAwCCyAAQQA2AhwgACAENgIUIABBypqAgAA2AhAgAEEJNgIMQQAhEAwBCwJAIAEiBCACRw0AQSIhEAwBCyAAQYmAgIAANgIIIAAgBDYCBEEhIRALIANBEGokgICAgAAgEAuvAQECfyABKAIAIQYCQAJAIAIgA0YNACAEIAZqIQQgBiADaiACayEHIAIgBkF/cyAFaiIGaiEFA0ACQCACLQAAIAQtAABGDQBBAiEEDAMLAkAgBg0AQQAhBCAFIQIMAwsgBkF/aiEGIARBAWohBCACQQFqIgIgA0cNAAsgByEGIAMhAgsgAEEBNgIAIAEgBjYCACAAIAI2AgQPCyABQQA2AgAgACAENgIAIAAgAjYCBAsKACAAEMeAgIAAC/I2AQt/I4CAgIAAQRBrIgEkgICAgAACQEEAKAKg0ICAAA0AQQAQy4CAgABBgNSEgABrIgJB2QBJDQBBACEDAkBBACgC4NOAgAAiBA0AQQBCfzcC7NOAgABBAEKAgISAgIDAADcC5NOAgABBACABQQhqQXBxQdiq1aoFcyIENgLg04CAAEEAQQA2AvTTgIAAQQBBADYCxNOAgAALQQAgAjYCzNOAgABBAEGA1ISAADYCyNOAgABBAEGA1ISAADYCmNCAgABBACAENgKs0ICAAEEAQX82AqjQgIAAA0AgA0HE0ICAAGogA0G40ICAAGoiBDYCACAEIANBsNCAgABqIgU2AgAgA0G80ICAAGogBTYCACADQczQgIAAaiADQcDQgIAAaiIFNgIAIAUgBDYCACADQdTQgIAAaiADQcjQgIAAaiIENgIAIAQgBTYCACADQdDQgIAAaiAENgIAIANBIGoiA0GAAkcNAAtBgNSEgABBeEGA1ISAAGtBD3FBAEGA1ISAAEEIakEPcRsiA2oiBEEEaiACQUhqIgUgA2siA0EBcjYCAEEAQQAoAvDTgIAANgKk0ICAAEEAIAM2ApTQgIAAQQAgBDYCoNCAgABBgNSEgAAgBWpBODYCBAsCQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEHsAUsNAAJAQQAoAojQgIAAIgZBECAAQRNqQXBxIABBC0kbIgJBA3YiBHYiA0EDcUUNAAJAAkAgA0EBcSAEckEBcyIFQQN0IgRBsNCAgABqIgMgBEG40ICAAGooAgAiBCgCCCICRw0AQQAgBkF+IAV3cTYCiNCAgAAMAQsgAyACNgIIIAIgAzYCDAsgBEEIaiEDIAQgBUEDdCIFQQNyNgIEIAQgBWoiBCAEKAIEQQFyNgIEDAwLIAJBACgCkNCAgAAiB00NAQJAIANFDQACQAJAIAMgBHRBAiAEdCIDQQAgA2tycSIDQQAgA2txQX9qIgMgA0EMdkEQcSIDdiIEQQV2QQhxIgUgA3IgBCAFdiIDQQJ2QQRxIgRyIAMgBHYiA0EBdkECcSIEciADIAR2IgNBAXZBAXEiBHIgAyAEdmoiBEEDdCIDQbDQgIAAaiIFIANBuNCAgABqKAIAIgMoAggiAEcNAEEAIAZBfiAEd3EiBjYCiNCAgAAMAQsgBSAANgIIIAAgBTYCDAsgAyACQQNyNgIEIAMgBEEDdCIEaiAEIAJrIgU2AgAgAyACaiIAIAVBAXI2AgQCQCAHRQ0AIAdBeHFBsNCAgABqIQJBACgCnNCAgAAhBAJAAkAgBkEBIAdBA3Z0IghxDQBBACAGIAhyNgKI0ICAACACIQgMAQsgAigCCCEICyAIIAQ2AgwgAiAENgIIIAQgAjYCDCAEIAg2AggLIANBCGohA0EAIAA2ApzQgIAAQQAgBTYCkNCAgAAMDAtBACgCjNCAgAAiCUUNASAJQQAgCWtxQX9qIgMgA0EMdkEQcSIDdiIEQQV2QQhxIgUgA3IgBCAFdiIDQQJ2QQRxIgRyIAMgBHYiA0EBdkECcSIEciADIAR2IgNBAXZBAXEiBHIgAyAEdmpBAnRBuNKAgABqKAIAIgAoAgRBeHEgAmshBCAAIQUCQANAAkAgBSgCECIDDQAgBUEUaigCACIDRQ0CCyADKAIEQXhxIAJrIgUgBCAFIARJIgUbIQQgAyAAIAUbIQAgAyEFDAALCyAAKAIYIQoCQCAAKAIMIgggAEYNACAAKAIIIgNBACgCmNCAgABJGiAIIAM2AgggAyAINgIMDAsLAkAgAEEUaiIFKAIAIgMNACAAKAIQIgNFDQMgAEEQaiEFCwNAIAUhCyADIghBFGoiBSgCACIDDQAgCEEQaiEFIAgoAhAiAw0ACyALQQA2AgAMCgtBfyECIABBv39LDQAgAEETaiIDQXBxIQJBACgCjNCAgAAiB0UNAEEAIQsCQCACQYACSQ0AQR8hCyACQf///wdLDQAgA0EIdiIDIANBgP4/akEQdkEIcSIDdCIEIARBgOAfakEQdkEEcSIEdCIFIAVBgIAPakEQdkECcSIFdEEPdiADIARyIAVyayIDQQF0IAIgA0EVanZBAXFyQRxqIQsLQQAgAmshBAJAAkACQAJAIAtBAnRBuNKAgABqKAIAIgUNAEEAIQNBACEIDAELQQAhAyACQQBBGSALQQF2ayALQR9GG3QhAEEAIQgDQAJAIAUoAgRBeHEgAmsiBiAETw0AIAYhBCAFIQggBg0AQQAhBCAFIQggBSEDDAMLIAMgBUEUaigCACIGIAYgBSAAQR12QQRxakEQaigCACIFRhsgAyAGGyEDIABBAXQhACAFDQALCwJAIAMgCHINAEEAIQhBAiALdCIDQQAgA2tyIAdxIgNFDQMgA0EAIANrcUF/aiIDIANBDHZBEHEiA3YiBUEFdkEIcSIAIANyIAUgAHYiA0ECdkEEcSIFciADIAV2IgNBAXZBAnEiBXIgAyAFdiIDQQF2QQFxIgVyIAMgBXZqQQJ0QbjSgIAAaigCACEDCyADRQ0BCwNAIAMoAgRBeHEgAmsiBiAESSEAAkAgAygCECIFDQAgA0EUaigCACEFCyAGIAQgABshBCADIAggABshCCAFIQMgBQ0ACwsgCEUNACAEQQAoApDQgIAAIAJrTw0AIAgoAhghCwJAIAgoAgwiACAIRg0AIAgoAggiA0EAKAKY0ICAAEkaIAAgAzYCCCADIAA2AgwMCQsCQCAIQRRqIgUoAgAiAw0AIAgoAhAiA0UNAyAIQRBqIQULA0AgBSEGIAMiAEEUaiIFKAIAIgMNACAAQRBqIQUgACgCECIDDQALIAZBADYCAAwICwJAQQAoApDQgIAAIgMgAkkNAEEAKAKc0ICAACEEAkACQCADIAJrIgVBEEkNACAEIAJqIgAgBUEBcjYCBEEAIAU2ApDQgIAAQQAgADYCnNCAgAAgBCADaiAFNgIAIAQgAkEDcjYCBAwBCyAEIANBA3I2AgQgBCADaiIDIAMoAgRBAXI2AgRBAEEANgKc0ICAAEEAQQA2ApDQgIAACyAEQQhqIQMMCgsCQEEAKAKU0ICAACIAIAJNDQBBACgCoNCAgAAiAyACaiIEIAAgAmsiBUEBcjYCBEEAIAU2ApTQgIAAQQAgBDYCoNCAgAAgAyACQQNyNgIEIANBCGohAwwKCwJAAkBBACgC4NOAgABFDQBBACgC6NOAgAAhBAwBC0EAQn83AuzTgIAAQQBCgICEgICAwAA3AuTTgIAAQQAgAUEMakFwcUHYqtWqBXM2AuDTgIAAQQBBADYC9NOAgABBAEEANgLE04CAAEGAgAQhBAtBACEDAkAgBCACQccAaiIHaiIGQQAgBGsiC3EiCCACSw0AQQBBMDYC+NOAgAAMCgsCQEEAKALA04CAACIDRQ0AAkBBACgCuNOAgAAiBCAIaiIFIARNDQAgBSADTQ0BC0EAIQNBAEEwNgL404CAAAwKC0EALQDE04CAAEEEcQ0EAkACQAJAQQAoAqDQgIAAIgRFDQBByNOAgAAhAwNAAkAgAygCACIFIARLDQAgBSADKAIEaiAESw0DCyADKAIIIgMNAAsLQQAQy4CAgAAiAEF/Rg0FIAghBgJAQQAoAuTTgIAAIgNBf2oiBCAAcUUNACAIIABrIAQgAGpBACADa3FqIQYLIAYgAk0NBSAGQf7///8HSw0FAkBBACgCwNOAgAAiA0UNAEEAKAK404CAACIEIAZqIgUgBE0NBiAFIANLDQYLIAYQy4CAgAAiAyAARw0BDAcLIAYgAGsgC3EiBkH+////B0sNBCAGEMuAgIAAIgAgAygCACADKAIEakYNAyAAIQMLAkAgA0F/Rg0AIAJByABqIAZNDQACQCAHIAZrQQAoAujTgIAAIgRqQQAgBGtxIgRB/v///wdNDQAgAyEADAcLAkAgBBDLgICAAEF/Rg0AIAQgBmohBiADIQAMBwtBACAGaxDLgICAABoMBAsgAyEAIANBf0cNBQwDC0EAIQgMBwtBACEADAULIABBf0cNAgtBAEEAKALE04CAAEEEcjYCxNOAgAALIAhB/v///wdLDQEgCBDLgICAACEAQQAQy4CAgAAhAyAAQX9GDQEgA0F/Rg0BIAAgA08NASADIABrIgYgAkE4ak0NAQtBAEEAKAK404CAACAGaiIDNgK404CAAAJAIANBACgCvNOAgABNDQBBACADNgK804CAAAsCQAJAAkACQEEAKAKg0ICAACIERQ0AQcjTgIAAIQMDQCAAIAMoAgAiBSADKAIEIghqRg0CIAMoAggiAw0ADAMLCwJAAkBBACgCmNCAgAAiA0UNACAAIANPDQELQQAgADYCmNCAgAALQQAhA0EAIAY2AszTgIAAQQAgADYCyNOAgABBAEF/NgKo0ICAAEEAQQAoAuDTgIAANgKs0ICAAEEAQQA2AtTTgIAAA0AgA0HE0ICAAGogA0G40ICAAGoiBDYCACAEIANBsNCAgABqIgU2AgAgA0G80ICAAGogBTYCACADQczQgIAAaiADQcDQgIAAaiIFNgIAIAUgBDYCACADQdTQgIAAaiADQcjQgIAAaiIENgIAIAQgBTYCACADQdDQgIAAaiAENgIAIANBIGoiA0GAAkcNAAsgAEF4IABrQQ9xQQAgAEEIakEPcRsiA2oiBCAGQUhqIgUgA2siA0EBcjYCBEEAQQAoAvDTgIAANgKk0ICAAEEAIAM2ApTQgIAAQQAgBDYCoNCAgAAgACAFakE4NgIEDAILIAMtAAxBCHENACAEIAVJDQAgBCAATw0AIARBeCAEa0EPcUEAIARBCGpBD3EbIgVqIgBBACgClNCAgAAgBmoiCyAFayIFQQFyNgIEIAMgCCAGajYCBEEAQQAoAvDTgIAANgKk0ICAAEEAIAU2ApTQgIAAQQAgADYCoNCAgAAgBCALakE4NgIEDAELAkAgAEEAKAKY0ICAACIITw0AQQAgADYCmNCAgAAgACEICyAAIAZqIQVByNOAgAAhAwJAAkACQAJAAkACQAJAA0AgAygCACAFRg0BIAMoAggiAw0ADAILCyADLQAMQQhxRQ0BC0HI04CAACEDA0ACQCADKAIAIgUgBEsNACAFIAMoAgRqIgUgBEsNAwsgAygCCCEDDAALCyADIAA2AgAgAyADKAIEIAZqNgIEIABBeCAAa0EPcUEAIABBCGpBD3EbaiILIAJBA3I2AgQgBUF4IAVrQQ9xQQAgBUEIakEPcRtqIgYgCyACaiICayEDAkAgBiAERw0AQQAgAjYCoNCAgABBAEEAKAKU0ICAACADaiIDNgKU0ICAACACIANBAXI2AgQMAwsCQCAGQQAoApzQgIAARw0AQQAgAjYCnNCAgABBAEEAKAKQ0ICAACADaiIDNgKQ0ICAACACIANBAXI2AgQgAiADaiADNgIADAMLAkAgBigCBCIEQQNxQQFHDQAgBEF4cSEHAkACQCAEQf8BSw0AIAYoAggiBSAEQQN2IghBA3RBsNCAgABqIgBGGgJAIAYoAgwiBCAFRw0AQQBBACgCiNCAgABBfiAId3E2AojQgIAADAILIAQgAEYaIAQgBTYCCCAFIAQ2AgwMAQsgBigCGCEJAkACQCAGKAIMIgAgBkYNACAGKAIIIgQgCEkaIAAgBDYCCCAEIAA2AgwMAQsCQCAGQRRqIgQoAgAiBQ0AIAZBEGoiBCgCACIFDQBBACEADAELA0AgBCEIIAUiAEEUaiIEKAIAIgUNACAAQRBqIQQgACgCECIFDQALIAhBADYCAAsgCUUNAAJAAkAgBiAGKAIcIgVBAnRBuNKAgABqIgQoAgBHDQAgBCAANgIAIAANAUEAQQAoAozQgIAAQX4gBXdxNgKM0ICAAAwCCyAJQRBBFCAJKAIQIAZGG2ogADYCACAARQ0BCyAAIAk2AhgCQCAGKAIQIgRFDQAgACAENgIQIAQgADYCGAsgBigCFCIERQ0AIABBFGogBDYCACAEIAA2AhgLIAcgA2ohAyAGIAdqIgYoAgQhBAsgBiAEQX5xNgIEIAIgA2ogAzYCACACIANBAXI2AgQCQCADQf8BSw0AIANBeHFBsNCAgABqIQQCQAJAQQAoAojQgIAAIgVBASADQQN2dCIDcQ0AQQAgBSADcjYCiNCAgAAgBCEDDAELIAQoAgghAwsgAyACNgIMIAQgAjYCCCACIAQ2AgwgAiADNgIIDAMLQR8hBAJAIANB////B0sNACADQQh2IgQgBEGA/j9qQRB2QQhxIgR0IgUgBUGA4B9qQRB2QQRxIgV0IgAgAEGAgA9qQRB2QQJxIgB0QQ92IAQgBXIgAHJrIgRBAXQgAyAEQRVqdkEBcXJBHGohBAsgAiAENgIcIAJCADcCECAEQQJ0QbjSgIAAaiEFAkBBACgCjNCAgAAiAEEBIAR0IghxDQAgBSACNgIAQQAgACAIcjYCjNCAgAAgAiAFNgIYIAIgAjYCCCACIAI2AgwMAwsgA0EAQRkgBEEBdmsgBEEfRht0IQQgBSgCACEAA0AgACIFKAIEQXhxIANGDQIgBEEddiEAIARBAXQhBCAFIABBBHFqQRBqIggoAgAiAA0ACyAIIAI2AgAgAiAFNgIYIAIgAjYCDCACIAI2AggMAgsgAEF4IABrQQ9xQQAgAEEIakEPcRsiA2oiCyAGQUhqIgggA2siA0EBcjYCBCAAIAhqQTg2AgQgBCAFQTcgBWtBD3FBACAFQUlqQQ9xG2pBQWoiCCAIIARBEGpJGyIIQSM2AgRBAEEAKALw04CAADYCpNCAgABBACADNgKU0ICAAEEAIAs2AqDQgIAAIAhBEGpBACkC0NOAgAA3AgAgCEEAKQLI04CAADcCCEEAIAhBCGo2AtDTgIAAQQAgBjYCzNOAgABBACAANgLI04CAAEEAQQA2AtTTgIAAIAhBJGohAwNAIANBBzYCACADQQRqIgMgBUkNAAsgCCAERg0DIAggCCgCBEF+cTYCBCAIIAggBGsiADYCACAEIABBAXI2AgQCQCAAQf8BSw0AIABBeHFBsNCAgABqIQMCQAJAQQAoAojQgIAAIgVBASAAQQN2dCIAcQ0AQQAgBSAAcjYCiNCAgAAgAyEFDAELIAMoAgghBQsgBSAENgIMIAMgBDYCCCAEIAM2AgwgBCAFNgIIDAQLQR8hAwJAIABB////B0sNACAAQQh2IgMgA0GA/j9qQRB2QQhxIgN0IgUgBUGA4B9qQRB2QQRxIgV0IgggCEGAgA9qQRB2QQJxIgh0QQ92IAMgBXIgCHJrIgNBAXQgACADQRVqdkEBcXJBHGohAwsgBCADNgIcIARCADcCECADQQJ0QbjSgIAAaiEFAkBBACgCjNCAgAAiCEEBIAN0IgZxDQAgBSAENgIAQQAgCCAGcjYCjNCAgAAgBCAFNgIYIAQgBDYCCCAEIAQ2AgwMBAsgAEEAQRkgA0EBdmsgA0EfRht0IQMgBSgCACEIA0AgCCIFKAIEQXhxIABGDQMgA0EddiEIIANBAXQhAyAFIAhBBHFqQRBqIgYoAgAiCA0ACyAGIAQ2AgAgBCAFNgIYIAQgBDYCDCAEIAQ2AggMAwsgBSgCCCIDIAI2AgwgBSACNgIIIAJBADYCGCACIAU2AgwgAiADNgIICyALQQhqIQMMBQsgBSgCCCIDIAQ2AgwgBSAENgIIIARBADYCGCAEIAU2AgwgBCADNgIIC0EAKAKU0ICAACIDIAJNDQBBACgCoNCAgAAiBCACaiIFIAMgAmsiA0EBcjYCBEEAIAM2ApTQgIAAQQAgBTYCoNCAgAAgBCACQQNyNgIEIARBCGohAwwDC0EAIQNBAEEwNgL404CAAAwCCwJAIAtFDQACQAJAIAggCCgCHCIFQQJ0QbjSgIAAaiIDKAIARw0AIAMgADYCACAADQFBACAHQX4gBXdxIgc2AozQgIAADAILIAtBEEEUIAsoAhAgCEYbaiAANgIAIABFDQELIAAgCzYCGAJAIAgoAhAiA0UNACAAIAM2AhAgAyAANgIYCyAIQRRqKAIAIgNFDQAgAEEUaiADNgIAIAMgADYCGAsCQAJAIARBD0sNACAIIAQgAmoiA0EDcjYCBCAIIANqIgMgAygCBEEBcjYCBAwBCyAIIAJqIgAgBEEBcjYCBCAIIAJBA3I2AgQgACAEaiAENgIAAkAgBEH/AUsNACAEQXhxQbDQgIAAaiEDAkACQEEAKAKI0ICAACIFQQEgBEEDdnQiBHENAEEAIAUgBHI2AojQgIAAIAMhBAwBCyADKAIIIQQLIAQgADYCDCADIAA2AgggACADNgIMIAAgBDYCCAwBC0EfIQMCQCAEQf///wdLDQAgBEEIdiIDIANBgP4/akEQdkEIcSIDdCIFIAVBgOAfakEQdkEEcSIFdCICIAJBgIAPakEQdkECcSICdEEPdiADIAVyIAJyayIDQQF0IAQgA0EVanZBAXFyQRxqIQMLIAAgAzYCHCAAQgA3AhAgA0ECdEG40oCAAGohBQJAIAdBASADdCICcQ0AIAUgADYCAEEAIAcgAnI2AozQgIAAIAAgBTYCGCAAIAA2AgggACAANgIMDAELIARBAEEZIANBAXZrIANBH0YbdCEDIAUoAgAhAgJAA0AgAiIFKAIEQXhxIARGDQEgA0EddiECIANBAXQhAyAFIAJBBHFqQRBqIgYoAgAiAg0ACyAGIAA2AgAgACAFNgIYIAAgADYCDCAAIAA2AggMAQsgBSgCCCIDIAA2AgwgBSAANgIIIABBADYCGCAAIAU2AgwgACADNgIICyAIQQhqIQMMAQsCQCAKRQ0AAkACQCAAIAAoAhwiBUECdEG40oCAAGoiAygCAEcNACADIAg2AgAgCA0BQQAgCUF+IAV3cTYCjNCAgAAMAgsgCkEQQRQgCigCECAARhtqIAg2AgAgCEUNAQsgCCAKNgIYAkAgACgCECIDRQ0AIAggAzYCECADIAg2AhgLIABBFGooAgAiA0UNACAIQRRqIAM2AgAgAyAINgIYCwJAAkAgBEEPSw0AIAAgBCACaiIDQQNyNgIEIAAgA2oiAyADKAIEQQFyNgIEDAELIAAgAmoiBSAEQQFyNgIEIAAgAkEDcjYCBCAFIARqIAQ2AgACQCAHRQ0AIAdBeHFBsNCAgABqIQJBACgCnNCAgAAhAwJAAkBBASAHQQN2dCIIIAZxDQBBACAIIAZyNgKI0ICAACACIQgMAQsgAigCCCEICyAIIAM2AgwgAiADNgIIIAMgAjYCDCADIAg2AggLQQAgBTYCnNCAgABBACAENgKQ0ICAAAsgAEEIaiEDCyABQRBqJICAgIAAIAMLCgAgABDJgICAAAviDQEHfwJAIABFDQAgAEF4aiIBIABBfGooAgAiAkF4cSIAaiEDAkAgAkEBcQ0AIAJBA3FFDQEgASABKAIAIgJrIgFBACgCmNCAgAAiBEkNASACIABqIQACQCABQQAoApzQgIAARg0AAkAgAkH/AUsNACABKAIIIgQgAkEDdiIFQQN0QbDQgIAAaiIGRhoCQCABKAIMIgIgBEcNAEEAQQAoAojQgIAAQX4gBXdxNgKI0ICAAAwDCyACIAZGGiACIAQ2AgggBCACNgIMDAILIAEoAhghBwJAAkAgASgCDCIGIAFGDQAgASgCCCICIARJGiAGIAI2AgggAiAGNgIMDAELAkAgAUEUaiICKAIAIgQNACABQRBqIgIoAgAiBA0AQQAhBgwBCwNAIAIhBSAEIgZBFGoiAigCACIEDQAgBkEQaiECIAYoAhAiBA0ACyAFQQA2AgALIAdFDQECQAJAIAEgASgCHCIEQQJ0QbjSgIAAaiICKAIARw0AIAIgBjYCACAGDQFBAEEAKAKM0ICAAEF+IAR3cTYCjNCAgAAMAwsgB0EQQRQgBygCECABRhtqIAY2AgAgBkUNAgsgBiAHNgIYAkAgASgCECICRQ0AIAYgAjYCECACIAY2AhgLIAEoAhQiAkUNASAGQRRqIAI2AgAgAiAGNgIYDAELIAMoAgQiAkEDcUEDRw0AIAMgAkF+cTYCBEEAIAA2ApDQgIAAIAEgAGogADYCACABIABBAXI2AgQPCyABIANPDQAgAygCBCICQQFxRQ0AAkACQCACQQJxDQACQCADQQAoAqDQgIAARw0AQQAgATYCoNCAgABBAEEAKAKU0ICAACAAaiIANgKU0ICAACABIABBAXI2AgQgAUEAKAKc0ICAAEcNA0EAQQA2ApDQgIAAQQBBADYCnNCAgAAPCwJAIANBACgCnNCAgABHDQBBACABNgKc0ICAAEEAQQAoApDQgIAAIABqIgA2ApDQgIAAIAEgAEEBcjYCBCABIABqIAA2AgAPCyACQXhxIABqIQACQAJAIAJB/wFLDQAgAygCCCIEIAJBA3YiBUEDdEGw0ICAAGoiBkYaAkAgAygCDCICIARHDQBBAEEAKAKI0ICAAEF+IAV3cTYCiNCAgAAMAgsgAiAGRhogAiAENgIIIAQgAjYCDAwBCyADKAIYIQcCQAJAIAMoAgwiBiADRg0AIAMoAggiAkEAKAKY0ICAAEkaIAYgAjYCCCACIAY2AgwMAQsCQCADQRRqIgIoAgAiBA0AIANBEGoiAigCACIEDQBBACEGDAELA0AgAiEFIAQiBkEUaiICKAIAIgQNACAGQRBqIQIgBigCECIEDQALIAVBADYCAAsgB0UNAAJAAkAgAyADKAIcIgRBAnRBuNKAgABqIgIoAgBHDQAgAiAGNgIAIAYNAUEAQQAoAozQgIAAQX4gBHdxNgKM0ICAAAwCCyAHQRBBFCAHKAIQIANGG2ogBjYCACAGRQ0BCyAGIAc2AhgCQCADKAIQIgJFDQAgBiACNgIQIAIgBjYCGAsgAygCFCICRQ0AIAZBFGogAjYCACACIAY2AhgLIAEgAGogADYCACABIABBAXI2AgQgAUEAKAKc0ICAAEcNAUEAIAA2ApDQgIAADwsgAyACQX5xNgIEIAEgAGogADYCACABIABBAXI2AgQLAkAgAEH/AUsNACAAQXhxQbDQgIAAaiECAkACQEEAKAKI0ICAACIEQQEgAEEDdnQiAHENAEEAIAQgAHI2AojQgIAAIAIhAAwBCyACKAIIIQALIAAgATYCDCACIAE2AgggASACNgIMIAEgADYCCA8LQR8hAgJAIABB////B0sNACAAQQh2IgIgAkGA/j9qQRB2QQhxIgJ0IgQgBEGA4B9qQRB2QQRxIgR0IgYgBkGAgA9qQRB2QQJxIgZ0QQ92IAIgBHIgBnJrIgJBAXQgACACQRVqdkEBcXJBHGohAgsgASACNgIcIAFCADcCECACQQJ0QbjSgIAAaiEEAkACQEEAKAKM0ICAACIGQQEgAnQiA3ENACAEIAE2AgBBACAGIANyNgKM0ICAACABIAQ2AhggASABNgIIIAEgATYCDAwBCyAAQQBBGSACQQF2ayACQR9GG3QhAiAEKAIAIQYCQANAIAYiBCgCBEF4cSAARg0BIAJBHXYhBiACQQF0IQIgBCAGQQRxakEQaiIDKAIAIgYNAAsgAyABNgIAIAEgBDYCGCABIAE2AgwgASABNgIIDAELIAQoAggiACABNgIMIAQgATYCCCABQQA2AhggASAENgIMIAEgADYCCAtBAEEAKAKo0ICAAEF/aiIBQX8gARs2AqjQgIAACwsEAAAAC04AAkAgAA0APwBBEHQPCwJAIABB//8DcQ0AIABBf0wNAAJAIABBEHZAACIAQX9HDQBBAEEwNgL404CAAEF/DwsgAEEQdA8LEMqAgIAAAAvyAgIDfwF+AkAgAkUNACAAIAE6AAAgAiAAaiIDQX9qIAE6AAAgAkEDSQ0AIAAgAToAAiAAIAE6AAEgA0F9aiABOgAAIANBfmogAToAACACQQdJDQAgACABOgADIANBfGogAToAACACQQlJDQAgAEEAIABrQQNxIgRqIgMgAUH/AXFBgYKECGwiATYCACADIAIgBGtBfHEiBGoiAkF8aiABNgIAIARBCUkNACADIAE2AgggAyABNgIEIAJBeGogATYCACACQXRqIAE2AgAgBEEZSQ0AIAMgATYCGCADIAE2AhQgAyABNgIQIAMgATYCDCACQXBqIAE2AgAgAkFsaiABNgIAIAJBaGogATYCACACQWRqIAE2AgAgBCADQQRxQRhyIgVrIgJBIEkNACABrUKBgICAEH4hBiADIAVqIQEDQCABIAY3AxggASAGNwMQIAEgBjcDCCABIAY3AwAgAUEgaiEBIAJBYGoiAkEfSw0ACwsgAAsLjkgBAEGACAuGSAEAAAACAAAAAwAAAAAAAAAAAAAABAAAAAUAAAAAAAAAAAAAAAYAAAAHAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASW52YWxpZCBjaGFyIGluIHVybCBxdWVyeQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2JvZHkAQ29udGVudC1MZW5ndGggb3ZlcmZsb3cAQ2h1bmsgc2l6ZSBvdmVyZmxvdwBSZXNwb25zZSBvdmVyZmxvdwBJbnZhbGlkIG1ldGhvZCBmb3IgSFRUUC94LnggcmVxdWVzdABJbnZhbGlkIG1ldGhvZCBmb3IgUlRTUC94LnggcmVxdWVzdABFeHBlY3RlZCBTT1VSQ0UgbWV0aG9kIGZvciBJQ0UveC54IHJlcXVlc3QASW52YWxpZCBjaGFyIGluIHVybCBmcmFnbWVudCBzdGFydABFeHBlY3RlZCBkb3QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9zdGF0dXMASW52YWxpZCByZXNwb25zZSBzdGF0dXMASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucwBVc2VyIGNhbGxiYWNrIGVycm9yAGBvbl9yZXNldGAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2hlYWRlcmAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfYmVnaW5gIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==";
+    module2.exports = ProxyAgent;
   }
 });
 
-// node_modules/undici/lib/client.js
-var require_client2 = __commonJS({
-  "node_modules/undici/lib/client.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js
+var require_env_http_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var net = require("net");
-    var http = require("http");
-    var { pipeline } = require("stream");
-    var util = require_util9();
-    var timers = require_timers2();
-    var Request = require_request3();
     var DispatcherBase = require_dispatcher_base2();
-    var {
-      RequestContentLengthMismatchError,
-      ResponseContentLengthMismatchError,
-      InvalidArgumentError,
-      RequestAbortedError,
-      HeadersTimeoutError,
-      HeadersOverflowError,
-      SocketError,
-      InformationalError,
-      BodyTimeoutError,
-      HTTPParserError,
-      ResponseExceededMaxSizeError,
-      ClientDestroyedError
-    } = require_errors2();
-    var buildConnector = require_connect2();
-    var {
-      kUrl,
-      kReset,
-      kServerName,
-      kClient,
-      kBusy,
-      kParser,
-      kConnect,
-      kBlocking,
-      kResuming,
-      kRunning,
-      kPending,
-      kSize,
-      kWriting,
-      kQueue,
-      kConnected,
-      kConnecting,
-      kNeedDrain,
-      kNoRef,
-      kKeepAliveDefaultTimeout,
-      kHostHeader,
-      kPendingIdx,
-      kRunningIdx,
-      kError,
-      kPipelining,
-      kSocket,
-      kKeepAliveTimeoutValue,
-      kMaxHeadersSize,
-      kKeepAliveMaxTimeout,
-      kKeepAliveTimeoutThreshold,
-      kHeadersTimeout,
-      kBodyTimeout,
-      kStrictContentLength,
-      kConnector,
-      kMaxRedirections,
-      kMaxRequests,
-      kCounter,
-      kClose,
-      kDestroy,
-      kDispatch,
-      kInterceptors,
-      kLocalAddress,
-      kMaxResponseSize,
-      kHTTPConnVersion,
-      // HTTP2
-      kHost,
-      kHTTP2Session,
-      kHTTP2SessionState,
-      kHTTP2BuildRequest,
-      kHTTP2CopyHeaders,
-      kHTTP1BuildRequest
-    } = require_symbols6();
-    var http2;
-    try {
-      http2 = require("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;
-    var h2ExperimentalWarned = false;
-    var FastBuffer = Buffer[Symbol.species];
-    var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
-    var channels = {};
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.sendHeaders = diagnosticsChannel.channel("undici:client:sendHeaders");
-      channels.beforeConnect = diagnosticsChannel.channel("undici:client:beforeConnect");
-      channels.connectError = diagnosticsChannel.channel("undici:client:connectError");
-      channels.connected = diagnosticsChannel.channel("undici:client:connected");
-    } catch {
-      channels.sendHeaders = { hasSubscribers: false };
-      channels.beforeConnect = { hasSubscribers: false };
-      channels.connectError = { hasSubscribers: false };
-      channels.connected = { hasSubscribers: false };
-    }
-    var Client = class extends DispatcherBase {
-      /**
-       *
-       * @param {string|URL} url
-       * @param {import('../types/client').Client.Options} options
-       */
-      constructor(url2, {
-        interceptors,
-        maxHeaderSize,
-        headersTimeout,
-        socketTimeout,
-        requestTimeout,
-        connectTimeout,
-        bodyTimeout,
-        idleTimeout,
-        keepAlive,
-        keepAliveTimeout,
-        maxKeepAliveTimeout,
-        keepAliveMaxTimeout,
-        keepAliveTimeoutThreshold,
-        socketPath,
-        pipelining,
-        tls,
-        strictContentLength,
-        maxCachedSessions,
-        maxRedirections,
-        connect: connect2,
-        maxRequestsPerClient,
-        localAddress,
-        maxResponseSize,
-        autoSelectFamily,
-        autoSelectFamilyAttemptTimeout,
-        // h2
-        allowH2,
-        maxConcurrentStreams
-      } = {}) {
+    var { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require_symbols6();
+    var ProxyAgent = require_proxy_agent2();
+    var Agent = require_agent2();
+    var DEFAULT_PORTS = {
+      "http:": 80,
+      "https:": 443
+    };
+    var experimentalWarned = false;
+    var EnvHttpProxyAgent = class extends DispatcherBase {
+      #noProxyValue = null;
+      #noProxyEntries = null;
+      #opts = null;
+      constructor(opts = {}) {
         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");
+        this.#opts = opts;
+        if (!experimentalWarned) {
+          experimentalWarned = true;
+          process.emitWarning("EnvHttpProxyAgent is experimental, expect them to change at any time.", {
+            code: "UNDICI-EHPA"
+          });
         }
-        if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) {
-          throw new InvalidArgumentError("invalid keepAliveMaxTimeout");
+        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];
         }
-        if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) {
-          throw new InvalidArgumentError("invalid keepAliveTimeoutThreshold");
+        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];
         }
-        if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) {
-          throw new InvalidArgumentError("headersTimeout must be a positive integer or zero");
+        this.#parseNoProxy();
+      }
+      [kDispatch](opts, handler2) {
+        const url2 = new URL(opts.origin);
+        const agent = this.#getProxyAgentForUrl(url2);
+        return agent.dispatch(opts, handler2);
+      }
+      async [kClose]() {
+        await this[kNoProxyAgent].close();
+        if (!this[kHttpProxyAgent][kClosed]) {
+          await this[kHttpProxyAgent].close();
         }
-        if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) {
-          throw new InvalidArgumentError("bodyTimeout must be a positive integer or zero");
+        if (!this[kHttpsProxyAgent][kClosed]) {
+          await this[kHttpsProxyAgent].close();
         }
-        if (connect2 != null && typeof connect2 !== "function" && typeof connect2 !== "object") {
-          throw new InvalidArgumentError("connect must be a function or an object");
+      }
+      async [kDestroy](err) {
+        await this[kNoProxyAgent].destroy(err);
+        if (!this[kHttpProxyAgent][kDestroyed]) {
+          await this[kHttpProxyAgent].destroy(err);
         }
-        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
-          throw new InvalidArgumentError("maxRedirections must be a positive number");
+        if (!this[kHttpsProxyAgent][kDestroyed]) {
+          await this[kHttpsProxyAgent].destroy(err);
         }
-        if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) {
-          throw new InvalidArgumentError("maxRequestsPerClient must be a positive number");
+      }
+      #getProxyAgentForUrl(url2) {
+        let { protocol, host: hostname, port } = url2;
+        hostname = hostname.replace(/:\d*$/, "").toLowerCase();
+        port = Number.parseInt(port, 10) || DEFAULT_PORTS[protocol] || 0;
+        if (!this.#shouldProxy(hostname, port)) {
+          return this[kNoProxyAgent];
         }
-        if (localAddress != null && (typeof localAddress !== "string" || net.isIP(localAddress) === 0)) {
-          throw new InvalidArgumentError("localAddress must be valid string IP address");
+        if (protocol === "https:") {
+          return this[kHttpsProxyAgent];
         }
-        if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) {
-          throw new InvalidArgumentError("maxResponseSize must be a positive number");
+        return this[kHttpProxyAgent];
+      }
+      #shouldProxy(hostname, port) {
+        if (this.#noProxyChanged) {
+          this.#parseNoProxy();
         }
-        if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) {
-          throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number");
+        if (this.#noProxyEntries.length === 0) {
+          return true;
         }
-        if (allowH2 != null && typeof allowH2 !== "boolean") {
-          throw new InvalidArgumentError("allowH2 must be a valid boolean value");
+        if (this.#noProxyValue === "*") {
+          return false;
         }
-        if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) {
-          throw new InvalidArgumentError("maxConcurrentStreams must be a possitive integer, greater than 0");
+        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;
+            }
+          }
         }
-        if (typeof connect2 !== "function") {
-          connect2 = buildConnector({
-            ...tls,
-            maxCachedSessions,
-            allowH2,
-            socketPath,
-            timeout: connectTimeout,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
-            ...connect2
+        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[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client) ? interceptors.Client : [createRedirectInterceptor({ maxRedirections })];
-        this[kUrl] = util.parseOrigin(url2);
-        this[kConnector] = connect2;
-        this[kSocket] = null;
-        this[kPipelining] = pipelining != null ? pipelining : 1;
-        this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize;
-        this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;
-        this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;
-        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold;
-        this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
-        this[kServerName] = null;
-        this[kLocalAddress] = localAddress != null ? localAddress : null;
-        this[kResuming] = 0;
-        this[kNeedDrain] = 0;
-        this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r
-`;
-        this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5;
-        this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5;
-        this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength;
-        this[kMaxRedirections] = maxRedirections;
-        this[kMaxRequests] = maxRequestsPerClient;
-        this[kClosedResolve] = null;
-        this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
-        this[kHTTPConnVersion] = "h1";
-        this[kHTTP2Session] = null;
-        this[kHTTP2SessionState] = !allowH2 ? null : {
-          // streams: null, // Fixed queue of streams - For future support of `push`
-          openStreams: 0,
-          // Keep track of them to decide wether or not unref the session
-          maxConcurrentStreams: maxConcurrentStreams != null ? maxConcurrentStreams : 100
-          // Max peerConcurrentStreams for a Node h2 server
+        this.#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/@actions/github/node_modules/undici/lib/handler/retry-handler.js
+var require_retry_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/retry-handler.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { kRetryHandlerDefaultRetry } = require_symbols6();
+    var { RequestRetryError } = require_errors2();
+    var {
+      isDisturbed,
+      parseHeaders,
+      parseRangeHeader,
+      wrapRequestBody
+    } = require_util9();
+    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[kHost] = `${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}`;
-        this[kQueue] = [];
-        this[kRunningIdx] = 0;
-        this[kPendingIdx] = 0;
-      }
-      get pipelining() {
-        return this[kPipelining];
-      }
-      set pipelining(value) {
-        this[kPipelining] = value;
-        resume(this, true);
-      }
-      get [kPending]() {
-        return this[kQueue].length - this[kPendingIdx];
-      }
-      get [kRunning]() {
-        return this[kPendingIdx] - this[kRunningIdx];
+        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;
+          }
+        });
       }
-      get [kSize]() {
-        return this[kQueue].length - this[kRunningIdx];
+      onRequestSent() {
+        if (this.handler.onRequestSent) {
+          this.handler.onRequestSent();
+        }
       }
-      get [kConnected]() {
-        return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed;
+      onUpgrade(statusCode, headers, socket) {
+        if (this.handler.onUpgrade) {
+          this.handler.onUpgrade(statusCode, headers, socket);
+        }
       }
-      get [kBusy]() {
-        const socket = this[kSocket];
-        return socket && (socket[kReset] || socket[kWriting] || socket[kBlocking]) || this[kSize] >= (this[kPipelining] || 1) || this[kPending] > 0;
+      onConnect(abort) {
+        if (this.aborted) {
+          abort(this.reason);
+        } else {
+          this.abort = abort;
+        }
       }
-      /* istanbul ignore: only used for test */
-      [kConnect](cb) {
-        connect(this);
-        this.once("connect", cb);
+      onBodySent(chunk) {
+        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
       }
-      [kDispatch](opts, handler2) {
-        const origin = opts.origin || this[kUrl].origin;
-        const request2 = this[kHTTPConnVersion] === "h2" ? Request[kHTTP2BuildRequest](origin, opts, handler2) : Request[kHTTP1BuildRequest](origin, opts, handler2);
-        this[kQueue].push(request2);
-        if (this[kResuming]) {
-        } else if (util.bodyLength(request2.body) == null && util.isIterable(request2.body)) {
-          this[kResuming] = 1;
-          process.nextTick(resume, this);
-        } else {
-          resume(this, true);
+      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 (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
-          this[kNeedDrain] = 2;
+        if (Array.isArray(methods) && !methods.includes(method)) {
+          cb(err);
+          return;
         }
-        return this[kNeedDrain] < 2;
+        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);
       }
-      async [kClose]() {
-        return new Promise((resolve8) => {
-          if (!this[kSize]) {
-            resolve8(null);
+      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[kClosedResolve] = resolve8;
+            this.abort(
+              new RequestRetryError("Request failed", statusCode, {
+                headers,
+                data: {
+                  count: this.retryCount
+                }
+              })
+            );
+            return false;
           }
-        });
-      }
-      async [kDestroy](err) {
-        return new Promise((resolve8) => {
-          const requests = this[kQueue].splice(this[kPendingIdx]);
-          for (let i = 0; i < requests.length; i++) {
-            const request2 = requests[i];
-            errorRequest2(this, request2, err);
+        }
+        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 callback = () => {
-            if (this[kClosedResolve]) {
-              this[kClosedResolve]();
-              this[kClosedResolve] = null;
+          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
+              );
             }
-            resolve8();
-          };
-          if (this[kHTTP2Session] != null) {
-            util.destroy(this[kHTTP2Session], err);
-            this[kHTTP2Session] = null;
-            this[kHTTP2SessionState] = null;
+            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[kSocket]) {
-            queueMicrotask(callback);
-          } else {
-            util.destroy(this[kSocket].on("close", callback), err);
+          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;
           }
-          resume(this);
+          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;
       }
-    };
-    function onHttp2SessionError(err) {
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      this[kSocket][kError] = err;
-      onError(this[kClient], err);
-    }
-    function onHttp2FrameError(type2, code, id) {
-      const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-      if (id === 0) {
-        this[kSocket][kError] = err;
-        onError(this[kClient], err);
-      }
-    }
-    function onHttp2SessionEnd() {
-      util.destroy(this, new SocketError("other side closed"));
-      util.destroy(this[kSocket], new SocketError("other side closed"));
-    }
-    function onHTTP2GoAway(code) {
-      const client = this[kClient];
-      const err = new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`);
-      client[kSocket] = null;
-      client[kHTTP2Session] = null;
-      if (client.destroyed) {
-        assert(this[kPending] === 0);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(this, request2, err);
-        }
-      } else if (client[kRunning] > 0) {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
+      onData(chunk) {
+        this.start += chunk.length;
+        return this.handler.onData(chunk);
       }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit(
-        "disconnect",
-        client[kUrl],
-        [client],
-        err
-      );
-      resume(client);
-    }
-    var constants = require_constants8();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var EMPTY_BUF = Buffer.alloc(0);
-    async function lazyllhttp() {
-      const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm2() : void 0;
-      let mod;
-      try {
-        mod = await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm2(), "base64"));
-      } catch (e) {
-        mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require_llhttp_wasm2(), "base64"));
+      onComplete(rawTrailers) {
+        this.retryCount = 0;
+        return this.handler.onComplete(rawTrailers);
       }
-      return await WebAssembly.instantiate(mod, {
-        env: {
-          /* eslint-disable camelcase */
-          wasm_on_url: (p, at, len) => {
-            return 0;
-          },
-          wasm_on_status: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_message_begin: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onMessageBegin() || 0;
-          },
-          wasm_on_header_field: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_header_value: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;
-          },
-          wasm_on_body: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+      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 }
           },
-          wasm_on_message_complete: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onMessageComplete() || 0;
+          onRetry.bind(this)
+        );
+        function onRetry(err2) {
+          if (err2 != null || this.aborted || isDisturbed(this.opts.body)) {
+            return this.handler.onError(err2);
           }
-          /* eslint-enable camelcase */
-        }
-      });
-    }
-    var llhttpInstance = null;
-    var llhttpPromise = lazyllhttp();
-    llhttpPromise.catch();
-    var currentParser = null;
-    var currentBufferRef = null;
-    var currentBufferSize = 0;
-    var currentBufferPtr = null;
-    var TIMEOUT_HEADERS = 1;
-    var TIMEOUT_BODY = 2;
-    var TIMEOUT_IDLE = 3;
-    var 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(value, type2) {
-        this.timeoutType = type2;
-        if (value !== this.timeoutValue) {
-          timers.clearTimeout(this.timeout);
-          if (value) {
-            this.timeout = timers.setTimeout(onParserTimeout, value, this);
-            if (this.timeout.unref) {
-              this.timeout.unref();
+          if (this.start !== 0) {
+            const headers = { range: `bytes=${this.start}-${this.end ?? ""}` };
+            if (this.etag != null) {
+              headers["if-match"] = this.etag;
             }
-          } else {
-            this.timeout = null;
+            this.opts = {
+              ...this.opts,
+              headers: {
+                ...this.opts.headers,
+                ...headers
+              }
+            };
           }
-          this.timeoutValue = value;
-        } else if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
+          try {
+            this.retryCountCheckpoint = this.retryCount;
+            this.dispatch(this.opts, this);
+          } catch (err3) {
+            this.handler.onError(err3);
           }
         }
       }
-      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();
+    };
+    module2.exports = RetryHandler;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js
+var require_retry_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js"(exports2, module2) {
+    "use strict";
+    var Dispatcher = require_dispatcher2();
+    var RetryHandler = require_retry_handler2();
+    var RetryAgent = class extends Dispatcher {
+      #agent = null;
+      #options = null;
+      constructor(agent, options = {}) {
+        super(options);
+        this.#agent = agent;
+        this.#options = options;
       }
-      readMore() {
-        while (!this.paused && this.ptr) {
-          const chunk = this.socket.read();
-          if (chunk === null) {
-            break;
-          }
-          this.execute(chunk);
-        }
+      dispatch(opts, handler2) {
+        const retry2 = new RetryHandler({
+          ...opts,
+          retryOptions: this.#options
+        }, {
+          dispatch: this.#agent.dispatch.bind(this.#agent),
+          handler: handler2
+        });
+        return this.#agent.dispatch(opts, retry2);
       }
-      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);
-        }
+      close() {
+        return this.#agent.close();
       }
       destroy() {
-        assert(this.ptr != null);
-        assert(currentParser == null);
-        this.llhttp.llhttp_free(this.ptr);
-        this.ptr = null;
-        timers.clearTimeout(this.timeout);
-        this.timeout = null;
-        this.timeoutValue = null;
-        this.timeoutType = null;
-        this.paused = false;
+        return this.#agent.destroy();
       }
-      onStatus(buf) {
-        this.statusText = buf.toString();
+    };
+    module2.exports = RetryAgent;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/readable.js
+var require_readable2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/readable.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { Readable: Readable2 } = require("node:stream");
+    var { RequestAbortedError, NotSupportedError, InvalidArgumentError, AbortError } = require_errors2();
+    var util = require_util9();
+    var { ReadableStreamFrom } = require_util9();
+    var kConsume = /* @__PURE__ */ Symbol("kConsume");
+    var kReading = /* @__PURE__ */ Symbol("kReading");
+    var kBody = /* @__PURE__ */ Symbol("kBody");
+    var kAbort = /* @__PURE__ */ Symbol("kAbort");
+    var kContentType = /* @__PURE__ */ Symbol("kContentType");
+    var kContentLength = /* @__PURE__ */ Symbol("kContentLength");
+    var noop3 = () => {
+    };
+    var BodyReadable = class extends Readable2 {
+      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;
       }
-      onMessageBegin() {
-        const { socket, client } = this;
-        if (socket.destroyed) {
-          return -1;
+      destroy(err) {
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
         }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        if (!request2) {
-          return -1;
+        if (err) {
+          this[kAbort]();
         }
+        return super.destroy(err);
       }
-      onHeaderField(buf) {
-        const len = this.headers.length;
-        if ((len & 1) === 0) {
-          this.headers.push(buf);
+      _destroy(err, callback) {
+        if (!this[kReading]) {
+          setImmediate(() => {
+            callback(err);
+          });
         } else {
-          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
+          callback(err);
         }
-        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 && key.toString().toLowerCase() === "keep-alive") {
-          this.keepAlive += buf.toString();
-        } else if (key.length === 10 && key.toString().toLowerCase() === "connection") {
-          this.connection += buf.toString();
-        } else if (key.length === 14 && key.toString().toLowerCase() === "content-length") {
-          this.contentLength += buf.toString();
+      on(ev, ...args) {
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = true;
         }
-        this.trackHeader(buf.length);
+        return super.on(ev, ...args);
       }
-      trackHeader(len) {
-        this.headersSize += len;
-        if (this.headersSize >= this.headersMaxSize) {
-          util.destroy(this.socket, new HeadersOverflowError());
-        }
+      addListener(ev, ...args) {
+        return this.on(ev, ...args);
       }
-      onUpgrade(head) {
-        const { upgrade, client, socket, headers, statusCode } = this;
-        assert(upgrade);
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert(!socket.destroyed);
-        assert(socket === client[kSocket]);
-        assert(!this.paused);
-        assert(request2.upgrade || request2.method === "CONNECT");
-        this.statusCode = null;
-        this.statusText = "";
-        this.shouldKeepAlive = null;
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        socket.unshift(head);
-        socket[kParser].destroy();
-        socket[kParser] = null;
-        socket[kClient] = null;
-        socket[kError] = null;
-        socket.removeListener("error", onSocketError).removeListener("readable", onSocketReadable).removeListener("end", onSocketEnd).removeListener("close", onSocketClose);
-        client[kSocket] = null;
-        client[kQueue][client[kRunningIdx]++] = null;
-        client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
-        try {
-          request2.onUpgrade(statusCode, headers, socket);
-        } catch (err) {
-          util.destroy(socket, err);
+      off(ev, ...args) {
+        const ret = super.off(ev, ...args);
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0;
         }
-        resume(client);
+        return ret;
       }
-      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;
+      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;
         }
-        assert.strictEqual(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();
+        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);
           }
         }
-        if (request2.method === "CONNECT") {
-          assert(client[kRunning] === 1);
-          this.upgrade = true;
-          return 2;
+        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");
         }
-        if (upgrade) {
-          assert(client[kRunning] === 1);
-          this.upgrade = true;
-          return 2;
+        signal?.throwIfAborted();
+        if (this._readableState.closeEmitted) {
+          return null;
         }
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        if (this.shouldKeepAlive && client[kPipelining]) {
-          const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null;
-          if (keepAliveTimeout != null) {
-            const timeout = Math.min(
-              keepAliveTimeout - client[kKeepAliveTimeoutThreshold],
-              client[kKeepAliveMaxTimeout]
-            );
-            if (timeout <= 0) {
-              socket[kReset] = true;
+        return await new Promise((resolve8, 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 {
-              client[kKeepAliveTimeoutValue] = timeout;
+              resolve8(null);
+            }
+          }).on("error", noop3).on("data", function(chunk) {
+            limit -= chunk.length;
+            if (limit <= 0) {
+              this.destroy();
             }
+          }).resume();
+        });
+      }
+    };
+    function isLocked(self2) {
+      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
+    }
+    function isUnusable(self2) {
+      return util.isDisturbed(self2) || isLocked(self2);
+    }
+    async function consume(stream2, type2) {
+      assert(!stream2[kConsume]);
+      return new Promise((resolve8, reject) => {
+        if (isUnusable(stream2)) {
+          const rState = stream2._readableState;
+          if (rState.destroyed && rState.closeEmitted === false) {
+            stream2.on("error", (err) => {
+              reject(err);
+            }).on("close", () => {
+              reject(new TypeError("unusable"));
+            });
           } else {
-            client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout];
+            reject(rState.errored ?? new TypeError("unusable"));
           }
         } else {
-          socket[kReset] = true;
+          queueMicrotask(() => {
+            stream2[kConsume] = {
+              type: type2,
+              stream: stream2,
+              resolve: resolve8,
+              reject,
+              length: 0,
+              body: []
+            };
+            stream2.on("error", function(err) {
+              consumeFinish(this[kConsume], err);
+            }).on("close", function() {
+              if (this[kConsume].body !== null) {
+                consumeFinish(this[kConsume], new RequestAbortedError());
+              }
+            });
+            consumeStart(stream2[kConsume]);
+          });
         }
-        const pause = request2.onHeaders(statusCode, headers, this.resume, statusText) === false;
-        if (request2.aborted) {
-          return -1;
+      });
+    }
+    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]);
         }
-        if (request2.method === "HEAD") {
-          return 1;
+      } else {
+        for (const chunk of state.buffer) {
+          consumePush(consume2, chunk);
         }
-        if (statusCode < 200) {
-          return 1;
+      }
+      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: type2, body, resolve: resolve8, stream: stream2, length } = consume2;
+      try {
+        if (type2 === "text") {
+          resolve8(chunksDecode(body, length));
+        } else if (type2 === "json") {
+          resolve8(JSON.parse(chunksDecode(body, length)));
+        } else if (type2 === "arrayBuffer") {
+          resolve8(chunksConcat(body, length).buffer);
+        } else if (type2 === "blob") {
+          resolve8(new Blob(body, { type: stream2[kContentType] }));
+        } else if (type2 === "bytes") {
+          resolve8(chunksConcat(body, length));
         }
-        if (socket[kBlocking]) {
-          socket[kBlocking] = false;
-          resume(client);
+        consumeFinish(consume2);
+      } catch (err) {
+        stream2.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/@actions/github/node_modules/undici/lib/api/util.js
+var require_util11 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/util.js"(exports2, module2) {
+    var assert = require("node:assert");
+    var {
+      ResponseStatusCodeError
+    } = require_errors2();
+    var { chunksDecode } = require_readable2();
+    var CHUNK_LIMIT = 128 * 1024;
+    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
+      assert(body);
+      let chunks = [];
+      let length = 0;
+      try {
+        for await (const chunk of body) {
+          chunks.push(chunk);
+          length += chunk.length;
+          if (length > CHUNK_LIMIT) {
+            chunks = [];
+            length = 0;
+            break;
+          }
         }
-        return pause ? constants.ERROR.PAUSED : 0;
+      } catch {
+        chunks = [];
+        length = 0;
       }
-      onBody(buf) {
-        const { client, socket, statusCode, maxResponseSize } = this;
-        if (socket.destroyed) {
-          return -1;
+      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);
         }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert.strictEqual(this.timeoutType, TIMEOUT_BODY);
-        if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
+      } 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/@actions/github/node_modules/undici/lib/api/api-request.js
+var require_api_request2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-request.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { Readable: Readable2 } = require_readable2();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
+    var util = require_util9();
+    var { getResolveErrorBodyCallback } = require_util11();
+    var { AsyncResource } = require("node:async_hooks");
+    var RequestHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
+        try {
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
+            throw new InvalidArgumentError("invalid highWaterMark");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
           }
+          super("UNDICI_REQUEST");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
         }
-        assert(statusCode >= 200);
-        if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
-          util.destroy(socket, new ResponseExceededMaxSizeError());
-          return -1;
+        this.method = method;
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.body = body;
+        this.trailers = {};
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError;
+        this.highWaterMark = highWaterMark;
+        this.signal = signal;
+        this.reason = null;
+        this.removeAbortListener = null;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
         }
-        this.bytesRead += buf.length;
-        if (request2.onData(buf) === false) {
-          return constants.ERROR.PAUSED;
+        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;
+              }
+            });
+          }
         }
       }
-      onMessageComplete() {
-        const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;
-        if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
-          return -1;
-        }
-        if (upgrade) {
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
           return;
         }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert(statusCode >= 100);
-        this.statusCode = null;
-        this.statusText = "";
-        this.bytesRead = 0;
-        this.contentLength = "";
-        this.keepAlive = "";
-        this.connection = "";
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
+      }
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { callback, opaque, abort, context: context2, responseHeaders, highWaterMark } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
         if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
+          }
           return;
         }
-        if (request2.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) {
-          util.destroy(socket, new ResponseContentLengthMismatchError());
-          return -1;
+        const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
+        const contentType = parsedHeaders["content-type"];
+        const contentLength = parsedHeaders["content-length"];
+        const res = new Readable2({
+          resume,
+          abort,
+          contentType,
+          contentLength: this.method !== "HEAD" && contentLength ? Number(contentLength) : null,
+          highWaterMark
+        });
+        if (this.removeAbortListener) {
+          res.on("close", this.removeAbortListener);
         }
-        request2.onComplete(headers);
-        client[kQueue][client[kRunningIdx]++] = null;
-        if (socket[kWriting]) {
-          assert.strictEqual(client[kRunning], 0);
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (!shouldKeepAlive) {
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (socket[kReset] && client[kRunning] === 0) {
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (client[kPipelining] === 1) {
-          setImmediate(resume, client);
-        } else {
-          resume(client);
+        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: context2
+            });
+          }
         }
       }
-    };
-    function onParserTimeout(parser) {
-      const { socket, timeoutType, client } = parser;
-      if (timeoutType === TIMEOUT_HEADERS) {
-        if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
-          assert(!parser.paused, "cannot be paused while waiting for headers");
-          util.destroy(socket, new HeadersTimeoutError());
+      onData(chunk) {
+        return this.res.push(chunk);
+      }
+      onComplete(trailers) {
+        util.parseHeaders(trailers, this.trailers);
+        this.res.push(null);
+      }
+      onError(err) {
+        const { res, callback, body, opaque } = this;
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-      } else if (timeoutType === TIMEOUT_BODY) {
-        if (!parser.paused) {
-          util.destroy(socket, new BodyTimeoutError());
+        if (res) {
+          this.res = null;
+          queueMicrotask(() => {
+            util.destroy(res, err);
+          });
+        }
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
+        }
+        if (this.removeAbortListener) {
+          res?.off("close", this.removeAbortListener);
+          this.removeAbortListener();
+          this.removeAbortListener = null;
         }
-      } else if (timeoutType === TIMEOUT_IDLE) {
-        assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
-        util.destroy(socket, new InformationalError("socket idle timeout"));
       }
-    }
-    function onSocketReadable() {
-      const { [kParser]: parser } = this;
-      if (parser) {
-        parser.readMore();
+    };
+    function request2(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve8, reject) => {
+          request2.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve8(data);
+          });
+        });
       }
-    }
-    function onSocketError(err) {
-      const { [kClient]: client, [kParser]: parser } = this;
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      if (client[kHTTPConnVersion] !== "h2") {
-        if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-          return;
+      try {
+        this.dispatch(opts, new RequestHandler(opts, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
-      this[kError] = err;
-      onError(this[kClient], err);
     }
-    function onError(client, err) {
-      if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
-        assert(client[kPendingIdx] === client[kRunningIdx]);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
-        }
-        assert(client[kSize] === 0);
+    module2.exports = request2;
+    module2.exports.RequestHandler = RequestHandler;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js
+var require_abort_signal2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
+    var { addAbortListener } = require_util9();
+    var { RequestAbortedError } = require_errors2();
+    var kListener = /* @__PURE__ */ Symbol("kListener");
+    var kSignal = /* @__PURE__ */ Symbol("kSignal");
+    function abort(self2) {
+      if (self2.abort) {
+        self2.abort(self2[kSignal]?.reason);
+      } else {
+        self2.reason = self2[kSignal]?.reason ?? new RequestAbortedError();
       }
+      removeSignal(self2);
     }
-    function onSocketEnd() {
-      const { [kParser]: parser, [kClient]: client } = this;
-      if (client[kHTTPConnVersion] !== "h2") {
-        if (parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-          return;
-        }
+    function addSignal(self2, signal) {
+      self2.reason = null;
+      self2[kSignal] = null;
+      self2[kListener] = null;
+      if (!signal) {
+        return;
+      }
+      if (signal.aborted) {
+        abort(self2);
+        return;
       }
-      util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+      self2[kSignal] = signal;
+      self2[kListener] = () => {
+        abort(self2);
+      };
+      addAbortListener(self2[kSignal], self2[kListener]);
     }
-    function onSocketClose() {
-      const { [kClient]: client, [kParser]: parser } = this;
-      if (client[kHTTPConnVersion] === "h1" && parser) {
-        if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-        }
-        this[kParser].destroy();
-        this[kParser] = null;
+    function removeSignal(self2) {
+      if (!self2[kSignal]) {
+        return;
       }
-      const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
-      client[kSocket] = null;
-      if (client.destroyed) {
-        assert(client[kPending] === 0);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
-        }
-      } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
+      if ("removeEventListener" in self2[kSignal]) {
+        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      } else {
+        self2[kSignal].removeListener("abort", self2[kListener]);
       }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit("disconnect", client[kUrl], [client], err);
-      resume(client);
+      self2[kSignal] = null;
+      self2[kListener] = null;
     }
-    async function connect(client) {
-      assert(!client[kConnecting]);
-      assert(!client[kSocket]);
-      let { host, hostname, protocol, port } = client[kUrl];
-      if (hostname[0] === "[") {
-        const idx = hostname.indexOf("]");
-        assert(idx !== -1);
-        const ip = hostname.substring(1, idx);
-        assert(net.isIP(ip));
-        hostname = ip;
+    module2.exports = {
+      addSignal,
+      removeSignal
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-stream.js
+var require_api_stream2 = __commonJS({
+  "node_modules/@actions/github/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_errors2();
+    var util = require_util9();
+    var { getResolveErrorBodyCallback } = require_util11();
+    var { AsyncResource } = require("node:async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var StreamHandler = class extends AsyncResource {
+      constructor(opts, factory, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
+        try {
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (typeof factory !== "function") {
+            throw new InvalidArgumentError("invalid factory");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
+          }
+          super("UNDICI_STREAM");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
+        }
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.factory = factory;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.context = null;
+        this.trailers = null;
+        this.body = body;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError || false;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
+        }
+        addSignal(this, signal);
       }
-      client[kConnecting] = true;
-      if (channels.beforeConnect.hasSubscribers) {
-        channels.beforeConnect.publish({
-          connectParams: {
-            host,
-            hostname,
-            protocol,
-            port,
-            servername: client[kServerName],
-            localAddress: client[kLocalAddress]
-          },
-          connector: client[kConnector]
-        });
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
+        }
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
       }
-      try {
-        const socket = await new Promise((resolve8, reject) => {
-          client[kConnector]({
-            host,
-            hostname,
-            protocol,
-            port,
-            servername: client[kServerName],
-            localAddress: client[kLocalAddress]
-          }, (err, socket2) => {
-            if (err) {
-              reject(err);
-            } else {
-              resolve8(socket2);
-            }
-          });
-        });
-        if (client.destroyed) {
-          util.destroy(socket.on("error", () => {
-          }), new ClientDestroyedError());
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { factory, opaque, context: context2, callback, responseHeaders } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
+          }
           return;
         }
-        client[kConnecting] = false;
-        assert(socket);
-        const isH2 = socket.alpnProtocol === "h2";
-        if (isH2) {
-          if (!h2ExperimentalWarned) {
-            h2ExperimentalWarned = true;
-            process.emitWarning("H2 support is experimental, expect them to change at any time.", {
-              code: "UNDICI-H2"
-            });
+        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;
           }
-          const session = http2.connect(client[kUrl], {
-            createConnection: () => socket,
-            peerMaxConcurrentStreams: client[kHTTP2SessionState].maxConcurrentStreams
+          res = this.runInAsyncScope(factory, null, {
+            statusCode,
+            headers,
+            opaque,
+            context: context2
           });
-          client[kHTTPConnVersion] = "h2";
-          session[kClient] = client;
-          session[kSocket] = socket;
-          session.on("error", onHttp2SessionError);
-          session.on("frameError", onHttp2FrameError);
-          session.on("end", onHttp2SessionEnd);
-          session.on("goaway", onHTTP2GoAway);
-          session.on("close", onSocketClose);
-          session.unref();
-          client[kHTTP2Session] = session;
-          socket[kHTTP2Session] = session;
-        } else {
-          if (!llhttpInstance) {
-            llhttpInstance = await llhttpPromise;
-            llhttpPromise = null;
+          if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") {
+            throw new InvalidReturnValueError("expected Writable");
           }
-          socket[kNoRef] = false;
-          socket[kWriting] = false;
-          socket[kReset] = false;
-          socket[kBlocking] = false;
-          socket[kParser] = new Parser(client, socket, llhttpInstance);
-        }
-        socket[kCounter] = 0;
-        socket[kMaxRequests] = client[kMaxRequests];
-        socket[kClient] = client;
-        socket[kError] = null;
-        socket.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose);
-        client[kSocket] = socket;
-        if (channels.connected.hasSubscribers) {
-          channels.connected.publish({
-            connectParams: {
-              host,
-              hostname,
-              protocol,
-              port,
-              servername: client[kServerName],
-              localAddress: client[kLocalAddress]
-            },
-            connector: client[kConnector],
-            socket
+          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();
+            }
           });
         }
-        client.emit("connect", client[kUrl], [client]);
-      } catch (err) {
-        if (client.destroyed) {
+        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;
         }
-        client[kConnecting] = false;
-        if (channels.connectError.hasSubscribers) {
-          channels.connectError.publish({
-            connectParams: {
-              host,
-              hostname,
-              protocol,
-              port,
-              servername: client[kServerName],
-              localAddress: client[kLocalAddress]
-            },
-            connector: client[kConnector],
-            error: err
+        this.trailers = util.parseHeaders(trailers);
+        res.end();
+      }
+      onError(err) {
+        const { res, callback, opaque, body } = this;
+        removeSignal(this);
+        this.factory = null;
+        if (res) {
+          this.res = null;
+          util.destroy(res, err);
+        } else if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
           });
         }
-        if (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]++];
-            errorRequest2(client, request2, err);
-          }
-        } else {
-          onError(client, err);
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
         }
-        client.emit("connectionError", client[kUrl], [client], err);
       }
-      resume(client);
-    }
-    function emitDrain(client) {
-      client[kNeedDrain] = 0;
-      client.emit("drain", client[kUrl], [client]);
-    }
-    function resume(client, sync) {
-      if (client[kResuming] === 2) {
-        return;
+    };
+    function stream2(opts, factory, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve8, reject) => {
+          stream2.call(this, opts, factory, (err, data) => {
+            return err ? reject(err) : resolve8(data);
+          });
+        });
       }
-      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;
+      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 }));
       }
     }
-    function _resume(client, sync) {
-      while (true) {
-        if (client.destroyed) {
-          assert(client[kPending] === 0);
-          return;
+    module2.exports = stream2;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js
+var require_api_pipeline2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
+    "use strict";
+    var {
+      Readable: Readable2,
+      Duplex,
+      PassThrough
+    } = require("node:stream");
+    var {
+      InvalidArgumentError,
+      InvalidReturnValueError,
+      RequestAbortedError
+    } = require_errors2();
+    var util = require_util9();
+    var { AsyncResource } = require("node:async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var assert = require("node:assert");
+    var kResume = /* @__PURE__ */ Symbol("resume");
+    var PipelineRequest = class extends Readable2 {
+      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 Readable2 {
+      constructor(resume) {
+        super({ autoDestroy: true });
+        this[kResume] = resume;
+      }
+      _read() {
+        this[kResume]();
+      }
+      _destroy(err, callback) {
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
         }
-        if (client[kClosedResolve] && !client[kSize]) {
-          client[kClosedResolve]();
-          client[kClosedResolve] = null;
-          return;
+        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");
         }
-        const socket = client[kSocket];
-        if (socket && !socket.destroyed && socket.alpnProtocol !== "h2") {
-          if (client[kSize] === 0) {
-            if (!socket[kNoRef] && socket.unref) {
-              socket.unref();
-              socket[kNoRef] = true;
+        super("UNDICI_PIPELINE");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.handler = handler2;
+        this.abort = null;
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.req = new PipelineRequest().on("error", util.nop);
+        this.ret = new Duplex({
+          readableObjectMode: opts.objectMode,
+          autoDestroy: true,
+          read: () => {
+            const { body } = this;
+            if (body?.resume) {
+              body.resume();
             }
-          } else if (socket[kNoRef] && socket.ref) {
-            socket.ref();
-            socket[kNoRef] = false;
-          }
-          if (client[kSize] === 0) {
-            if (socket[kParser].timeoutType !== TIMEOUT_IDLE) {
-              socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE);
+          },
+          write: (chunk, encoding, callback) => {
+            const { req } = this;
+            if (req.push(chunk, encoding) || req._readableState.destroyed) {
+              callback();
+            } else {
+              req[kResume] = callback;
+            }
+          },
+          destroy: (err, callback) => {
+            const { body, req, res, ret, abort } = this;
+            if (!err && !ret._readableState.endEmitted) {
+              err = new RequestAbortedError();
             }
-          } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
-            if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
-              const request3 = client[kQueue][client[kRunningIdx]];
-              const headersTimeout = request3.headersTimeout != null ? request3.headersTimeout : client[kHeadersTimeout];
-              socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
+            if (abort && err) {
+              abort();
             }
+            util.destroy(body, err);
+            util.destroy(req, err);
+            util.destroy(res, err);
+            removeSignal(this);
+            callback(err);
           }
+        }).on("prefinish", () => {
+          const { req } = this;
+          req.push(null);
+        });
+        this.res = null;
+        addSignal(this, signal);
+      }
+      onConnect(abort, context2) {
+        const { ret, res } = this;
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
-        if (client[kBusy]) {
-          client[kNeedDrain] = 2;
-        } else if (client[kNeedDrain] === 2) {
-          if (sync) {
-            client[kNeedDrain] = 1;
-            process.nextTick(emitDrain, client);
-          } else {
-            emitDrain(client);
+        assert(!res, "pipeline cannot be retried");
+        assert(!ret.destroyed);
+        this.abort = abort;
+        this.context = context2;
+      }
+      onHeaders(statusCode, rawHeaders, resume) {
+        const { opaque, handler: handler2, context: context2 } = this;
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+            this.onInfo({ statusCode, headers });
           }
-          continue;
-        }
-        if (client[kPending] === 0) {
           return;
         }
-        if (client[kRunning] >= (client[kPipelining] || 1)) {
-          return;
+        this.res = new PipelineResponse(resume);
+        let body;
+        try {
+          this.handler = null;
+          const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+          body = this.runInAsyncScope(handler2, null, {
+            statusCode,
+            headers,
+            opaque,
+            body: this.res,
+            context: context2
+          });
+        } catch (err) {
+          this.res.on("error", util.nop);
+          throw err;
         }
-        const request2 = client[kQueue][client[kPendingIdx]];
-        if (client[kUrl].protocol === "https:" && client[kServerName] !== request2.servername) {
-          if (client[kRunning] > 0) {
-            return;
+        if (!body || typeof body.on !== "function") {
+          throw new InvalidReturnValueError("expected Readable");
+        }
+        body.on("data", (chunk) => {
+          const { ret, body: body2 } = this;
+          if (!ret.push(chunk) && body2.pause) {
+            body2.pause();
           }
-          client[kServerName] = request2.servername;
-          if (socket && socket.servername !== request2.servername) {
-            util.destroy(socket, new InformationalError("servername changed"));
-            return;
+        }).on("error", (err) => {
+          const { ret } = this;
+          util.destroy(ret, err);
+        }).on("end", () => {
+          const { ret } = this;
+          ret.push(null);
+        }).on("close", () => {
+          const { ret } = this;
+          if (!ret._readableState.ended) {
+            util.destroy(ret, new RequestAbortedError());
           }
+        });
+        this.body = body;
+      }
+      onData(chunk) {
+        const { res } = this;
+        return res.push(chunk);
+      }
+      onComplete(trailers) {
+        const { res } = this;
+        res.push(null);
+      }
+      onError(err) {
+        const { ret } = this;
+        this.handler = null;
+        util.destroy(ret, err);
+      }
+    };
+    function pipeline(opts, handler2) {
+      try {
+        const pipelineHandler = new PipelineHandler(opts, handler2);
+        this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler);
+        return pipelineHandler.ret;
+      } catch (err) {
+        return new PassThrough().destroy(err);
+      }
+    }
+    module2.exports = pipeline;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js
+var require_api_upgrade2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
+    "use strict";
+    var { InvalidArgumentError, SocketError } = require_errors2();
+    var { AsyncResource } = require("node:async_hooks");
+    var util = require_util9();
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var assert = require("node:assert");
+    var UpgradeHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        if (client[kConnecting]) {
-          return;
-        }
-        if (!socket && !client[kHTTP2Session]) {
-          connect(client);
-          return;
-        }
-        if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) {
-          return;
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
         }
-        if (client[kRunning] > 0 && !request2.idempotent) {
-          return;
+        const { signal, opaque, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
         }
-        if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
+        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, context2) {
+        if (this.reason) {
+          abort(this.reason);
           return;
         }
-        if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body))) {
-          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: context2 } = 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: context2
+        });
+      }
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        if (!request2.aborted && write(client, request2)) {
-          client[kPendingIdx]++;
-        } else {
-          client[kQueue].splice(client[kPendingIdx], 1);
+      }
+    };
+    function upgrade(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve8, reject) => {
+          upgrade.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve8(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 }));
       }
     }
-    function shouldSendContentLength(method) {
-      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
-    }
-    function write(client, request2) {
-      if (client[kHTTPConnVersion] === "h2") {
-        writeH2(client, client[kHTTP2Session], request2);
-        return;
-      }
-      const { body, method, path: path16, host, upgrade, headers, blocking, reset } = request2;
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
-      if (body && typeof body.read === "function") {
-        body.read(0);
+    module2.exports = upgrade;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-connect.js
+var require_api_connect2 = __commonJS({
+  "node_modules/@actions/github/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_errors2();
+    var util = require_util9();
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var ConnectHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        const { signal, opaque, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        }
+        super("UNDICI_CONNECT");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.callback = callback;
+        this.abort = null;
+        addSignal(this, signal);
       }
-      const bodyLength = util.bodyLength(body);
-      let contentLength = bodyLength;
-      if (contentLength === null) {
-        contentLength = request2.contentLength;
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
+        }
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
       }
-      if (contentLength === 0 && !expectsPayload) {
-        contentLength = null;
+      onHeaders() {
+        throw new SocketError("bad connect", null);
       }
-      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
-        if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
-          return false;
+      onUpgrade(statusCode, rawHeaders, socket) {
+        const { callback, opaque, context: context2 } = this;
+        removeSignal(this);
+        this.callback = null;
+        let headers = rawHeaders;
+        if (headers != null) {
+          headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
         }
-        process.emitWarning(new RequestContentLengthMismatchError());
-      }
-      const socket = client[kSocket];
-      try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
-            return;
-          }
-          errorRequest2(client, request2, err || new RequestAbortedError());
-          util.destroy(socket, new InformationalError("aborted"));
+        this.runInAsyncScope(callback, null, null, {
+          statusCode,
+          headers,
+          socket,
+          opaque,
+          context: context2
         });
-      } catch (err) {
-        errorRequest2(client, request2, err);
       }
-      if (request2.aborted) {
-        return false;
-      }
-      if (method === "HEAD") {
-        socket[kReset] = true;
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
+        }
       }
-      if (upgrade || method === "CONNECT") {
-        socket[kReset] = true;
+    };
+    function connect(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve8, reject) => {
+          connect.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve8(data);
+          });
+        });
       }
-      if (reset != null) {
-        socket[kReset] = reset;
+      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 }));
       }
-      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
-        socket[kReset] = true;
+    }
+    module2.exports = connect;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/index.js
+var require_api2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/index.js"(exports2, module2) {
+    "use strict";
+    module2.exports.request = require_api_request2();
+    module2.exports.stream = require_api_stream2();
+    module2.exports.pipeline = require_api_pipeline2();
+    module2.exports.upgrade = require_api_upgrade2();
+    module2.exports.connect = require_api_connect2();
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js
+var require_mock_errors2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
+    "use strict";
+    var { UndiciError } = require_errors2();
+    var kMockNotMatchedError = /* @__PURE__ */ 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";
       }
-      if (blocking) {
-        socket[kBlocking] = true;
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kMockNotMatchedError] === true;
       }
-      let header = `${method} ${path16} HTTP/1.1\r
-`;
-      if (typeof host === "string") {
-        header += `host: ${host}\r
-`;
-      } else {
-        header += client[kHostHeader];
+      [kMockNotMatchedError] = true;
+    };
+    module2.exports = {
+      MockNotMatchedError
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js
+var require_mock_symbols2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kAgent: /* @__PURE__ */ Symbol("agent"),
+      kOptions: /* @__PURE__ */ Symbol("options"),
+      kFactory: /* @__PURE__ */ Symbol("factory"),
+      kDispatches: /* @__PURE__ */ Symbol("dispatches"),
+      kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
+      kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
+      kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
+      kContentLength: /* @__PURE__ */ Symbol("content length"),
+      kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
+      kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
+      kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
+      kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
+      kClose: /* @__PURE__ */ Symbol("close"),
+      kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
+      kOrigin: /* @__PURE__ */ Symbol("origin"),
+      kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
+      kNetConnect: /* @__PURE__ */ Symbol("net connect"),
+      kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
+      kConnected: /* @__PURE__ */ Symbol("connected")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js
+var require_mock_utils2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
+    "use strict";
+    var { MockNotMatchedError } = require_mock_errors2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kOriginalDispatch,
+      kOrigin,
+      kGetNetConnect
+    } = require_mock_symbols2();
+    var { buildURL } = require_util9();
+    var { STATUS_CODES } = require("node:http");
+    var {
+      types: {
+        isPromise
       }
-      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";
+    } = require("node:util");
+    function matchValue(match, value) {
+      if (typeof match === "string") {
+        return match === value;
       }
-      if (headers) {
-        header += headers;
+      if (match instanceof RegExp) {
+        return match.test(value);
       }
-      if (channels.sendHeaders.hasSubscribers) {
-        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      if (typeof match === "function") {
+        return match(value) === true;
       }
-      if (!body || bodyLength === 0) {
-        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");
-        }
-        request2.onRequestSent();
-      } else if (util.isBuffer(body)) {
-        assert(contentLength === body.byteLength, "buffer body must have content length");
-        socket.cork();
-        socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-        socket.write(body);
-        socket.uncork();
-        request2.onBodySent(body);
-        request2.onRequestSent();
-        if (!expectsPayload) {
-          socket[kReset] = true;
-        }
-      } else if (util.isBlobLike(body)) {
-        if (typeof body.stream === "function") {
-          writeIterable({ body: body.stream(), client, request: request2, socket, contentLength, header, expectsPayload });
-        } else {
-          writeBlob({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+      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];
+          }
         }
-      } else if (util.isStream(body)) {
-        writeStream({ body, client, request: request2, socket, contentLength, header, expectsPayload });
-      } else if (util.isIterable(body)) {
-        writeIterable({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+        return void 0;
+      } else if (typeof headers.get === "function") {
+        return headers.get(key);
       } else {
-        assert(false);
+        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 true;
+      return Object.fromEntries(entries);
     }
-    function writeH2(client, session, request2) {
-      const { body, method, path: path16, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
-      let headers;
-      if (typeof reqHeaders === "string") headers = Request[kHTTP2CopyHeaders](reqHeaders.trim());
-      else headers = reqHeaders;
-      if (upgrade) {
-        errorRequest2(client, request2, new Error("Upgrade not supported for H2"));
-        return false;
+    function matchHeaders(mockDispatch2, headers) {
+      if (typeof mockDispatch2.headers === "function") {
+        if (Array.isArray(headers)) {
+          headers = buildHeadersFromArray(headers);
+        }
+        return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {});
       }
-      try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
-            return;
-          }
-          errorRequest2(client, request2, err || new RequestAbortedError());
-        });
-      } catch (err) {
-        errorRequest2(client, request2, err);
+      if (typeof mockDispatch2.headers === "undefined") {
+        return true;
       }
-      if (request2.aborted) {
+      if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") {
         return false;
       }
-      let stream2;
-      const h2State = client[kHTTP2SessionState];
-      headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost];
-      headers[HTTP2_HEADER_METHOD] = method;
-      if (method === "CONNECT") {
-        session.ref();
-        stream2 = session.request(headers, { endStream: false, signal });
-        if (stream2.id && !stream2.pending) {
-          request2.onUpgrade(null, null, stream2);
-          ++h2State.openStreams;
-        } else {
-          stream2.once("ready", () => {
-            request2.onUpgrade(null, null, stream2);
-            ++h2State.openStreams;
-          });
+      for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) {
+        const headerValue = getHeaderByName(headers, matchHeaderName);
+        if (!matchValue(matchHeaderValue, headerValue)) {
+          return false;
         }
-        stream2.once("close", () => {
-          h2State.openStreams -= 1;
-          if (h2State.openStreams === 0) session.unref();
-        });
-        return true;
       }
-      headers[HTTP2_HEADER_PATH] = path16;
-      headers[HTTP2_HEADER_SCHEME] = "https";
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
-      if (body && typeof body.read === "function") {
-        body.read(0);
+      return true;
+    }
+    function safeUrl(path16) {
+      if (typeof path16 !== "string") {
+        return path16;
       }
-      let contentLength = util.bodyLength(body);
-      if (contentLength == null) {
-        contentLength = request2.contentLength;
+      const pathSegments = path16.split("?");
+      if (pathSegments.length !== 2) {
+        return path16;
       }
-      if (contentLength === 0 || !expectsPayload) {
-        contentLength = null;
+      const qp = new URLSearchParams(pathSegments.pop());
+      qp.sort();
+      return [...pathSegments, qp.toString()].join("?");
+    }
+    function matchKey(mockDispatch2, { path: path16, method, body, headers }) {
+      const pathMatch = matchValue(mockDispatch2.path, path16);
+      const methodMatch = matchValue(mockDispatch2.method, method);
+      const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
+      const headersMatch = matchHeaders(mockDispatch2, headers);
+      return pathMatch && methodMatch && bodyMatch && headersMatch;
+    }
+    function getResponseData2(data) {
+      if (Buffer.isBuffer(data)) {
+        return data;
+      } else if (data instanceof Uint8Array) {
+        return data;
+      } else if (data instanceof ArrayBuffer) {
+        return data;
+      } else if (typeof data === "object") {
+        return JSON.stringify(data);
+      } else {
+        return data.toString();
       }
-      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
-        if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
-          return false;
-        }
-        process.emitWarning(new RequestContentLengthMismatchError());
+    }
+    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: path16 }) => matchValue(safeUrl(path16), resolvedPath));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
       }
-      if (contentLength != null) {
-        assert(body, "no body must not have content length");
-        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
+      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}'`);
       }
-      session.ref();
-      const shouldEndStream = method === "GET" || method === "HEAD";
-      if (expectContinue) {
-        headers[HTTP2_HEADER_EXPECT] = "100-continue";
-        stream2 = session.request(headers, { endStream: shouldEndStream, signal });
-        stream2.once("continue", writeBodyH2);
-      } else {
-        stream2 = session.request(headers, {
-          endStream: shouldEndStream,
-          signal
-        });
-        writeBodyH2();
+      matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}' on path '${resolvedPath}'`);
       }
-      ++h2State.openStreams;
-      stream2.once("response", (headers2) => {
-        const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
-        if (request2.onHeaders(Number(statusCode), realHeaders, stream2.resume.bind(stream2), "") === false) {
-          stream2.pause();
-        }
-      });
-      stream2.once("end", () => {
-        request2.onComplete([]);
-      });
-      stream2.on("data", (chunk) => {
-        if (request2.onData(chunk) === false) {
-          stream2.pause();
-        }
-      });
-      stream2.once("close", () => {
-        h2State.openStreams -= 1;
-        if (h2State.openStreams === 0) {
-          session.unref();
-        }
-      });
-      stream2.once("error", function(err) {
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream2, err);
-        }
-      });
-      stream2.once("frameError", (type2, code) => {
-        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-        errorRequest2(client, request2, err);
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream2, err);
+      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);
       });
-      return true;
-      function writeBodyH2() {
-        if (!body) {
-          request2.onRequestSent();
-        } else if (util.isBuffer(body)) {
-          assert(contentLength === body.byteLength, "buffer body must have content length");
-          stream2.cork();
-          stream2.write(body);
-          stream2.uncork();
-          stream2.end();
-          request2.onBodySent(body);
-          request2.onRequestSent();
-        } else if (util.isBlobLike(body)) {
-          if (typeof body.stream === "function") {
-            writeIterable({
-              client,
-              request: request2,
-              contentLength,
-              h2stream: stream2,
-              expectsPayload,
-              body: body.stream(),
-              socket: client[kSocket],
-              header: ""
-            });
-          } else {
-            writeBlob({
-              body,
-              client,
-              request: request2,
-              contentLength,
-              expectsPayload,
-              h2stream: stream2,
-              header: "",
-              socket: client[kSocket]
-            });
-          }
-        } else if (util.isStream(body)) {
-          writeStream({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            socket: client[kSocket],
-            h2stream: stream2,
-            header: ""
-          });
-        } else if (util.isIterable(body)) {
-          writeIterable({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            header: "",
-            h2stream: stream2,
-            socket: client[kSocket]
-          });
-        } else {
-          assert(false);
-        }
+      if (index !== -1) {
+        mockDispatches.splice(index, 1);
       }
     }
-    function writeStream({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
-      if (client[kHTTPConnVersion] === "h2") {
-        let onPipeData = function(chunk) {
-          request2.onBodySent(chunk);
-        };
-        const pipe = pipeline(
-          body,
-          h2stream,
-          (err) => {
-            if (err) {
-              util.destroy(body, err);
-              util.destroy(h2stream, err);
-            } else {
-              request2.onRequestSent();
-            }
-          }
-        );
-        pipe.on("data", onPipeData);
-        pipe.once("end", () => {
-          pipe.removeListener("data", onPipeData);
-          util.destroy(pipe);
-        });
-        return;
-      }
-      let finished = false;
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
-      const onData = function(chunk) {
-        if (finished) {
-          return;
-        }
-        try {
-          if (!writer.write(chunk) && this.pause) {
-            this.pause();
-          }
-        } catch (err) {
-          util.destroy(this, err);
-        }
-      };
-      const onDrain = function() {
-        if (finished) {
-          return;
-        }
-        if (body.resume) {
-          body.resume();
-        }
-      };
-      const onAbort = function() {
-        if (finished) {
-          return;
-        }
-        const err = new RequestAbortedError();
-        queueMicrotask(() => onFinished(err));
+    function buildKey(opts) {
+      const { path: path16, method, body, headers, query } = opts;
+      return {
+        path: path16,
+        method,
+        body,
+        headers,
+        query
       };
-      const onFinished = function(err) {
-        if (finished) {
-          return;
-        }
-        finished = true;
-        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
-        socket.off("drain", onDrain).off("error", onFinished);
-        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("error", onFinished).removeListener("close", onAbort);
-        if (!err) {
-          try {
-            writer.end();
-          } catch (er) {
-            err = er;
+    }
+    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]}`));
           }
-        }
-        writer.destroy(err);
-        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
-          util.destroy(body, err);
         } else {
-          util.destroy(body);
+          result.push(name, Buffer.from(`${value}`));
         }
-      };
-      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onAbort);
-      if (body.resume) {
-        body.resume();
       }
-      socket.on("drain", onDrain).on("error", onFinished);
+      return result;
     }
-    async function writeBlob({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength === body.size, "blob body must have content length");
-      const isH2 = client[kHTTPConnVersion] === "h2";
-      try {
-        if (contentLength != null && contentLength !== body.size) {
-          throw new RequestContentLengthMismatchError();
-        }
-        const buffer = Buffer.from(await body.arrayBuffer());
-        if (isH2) {
-          h2stream.cork();
-          h2stream.write(buffer);
-          h2stream.uncork();
-        } else {
-          socket.cork();
-          socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-          socket.write(buffer);
-          socket.uncork();
-        }
-        request2.onBodySent(buffer);
-        request2.onRequestSent();
-        if (!expectsPayload) {
-          socket[kReset] = true;
-        }
-        resume(client);
-      } catch (err) {
-        util.destroy(isH2 ? h2stream : socket, err);
+    function getStatusText(statusCode) {
+      return STATUS_CODES[statusCode] || "unknown";
+    }
+    async function getResponse(body) {
+      const buffers = [];
+      for await (const data of body) {
+        buffers.push(data);
       }
+      return Buffer.concat(buffers).toString("utf8");
     }
-    async function writeIterable({ h2stream, body, client, request: 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();
-        }
+    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 waitForDrain = () => new Promise((resolve8, reject) => {
-        assert(callback === null);
-        if (socket[kError]) {
-          reject(socket[kError]);
-        } else {
-          callback = resolve8;
-        }
-      });
-      if (client[kHTTPConnVersion] === "h2") {
-        h2stream.on("close", onDrain).on("drain", onDrain);
-        try {
-          for await (const chunk of body) {
-            if (socket[kError]) {
-              throw socket[kError];
-            }
-            const res = h2stream.write(chunk);
-            request2.onBodySent(chunk);
-            if (!res) {
-              await waitForDrain();
-            }
-          }
-        } catch (err) {
-          h2stream.destroy(err);
-        } finally {
-          request2.onRequestSent();
-          h2stream.end();
-          h2stream.off("close", onDrain).off("drain", onDrain);
-        }
-        return;
+      const { data: { statusCode, data, headers, trailers, error: error3 }, delay: delay2, persist } = mockDispatch2;
+      const { timesInvoked, times } = mockDispatch2;
+      mockDispatch2.consumed = !persist && timesInvoked >= times;
+      mockDispatch2.pending = timesInvoked < times;
+      if (error3 !== null) {
+        deleteMockDispatch(this[kDispatches], key);
+        handler2.onError(error3);
+        return true;
       }
-      socket.on("close", onDrain).on("drain", onDrain);
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
-      try {
-        for await (const chunk of body) {
-          if (socket[kError]) {
-            throw socket[kError];
-          }
-          if (!writer.write(chunk)) {
-            await waitForDrain();
-          }
+      if (typeof delay2 === "number" && delay2 > 0) {
+        setTimeout(() => {
+          handleReply(this[kDispatches]);
+        }, delay2);
+      } else {
+        handleReply(this[kDispatches]);
+      }
+      function handleReply(mockDispatches, _data = data) {
+        const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
+        const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
+        if (isPromise(body)) {
+          body.then((newData) => handleReply(mockDispatches, newData));
+          return;
         }
-        writer.end();
-      } catch (err) {
-        writer.destroy(err);
-      } finally {
-        socket.off("close", onDrain).off("drain", onDrain);
+        const responseData = getResponseData2(body);
+        const responseHeaders = generateKeyValues(headers);
+        const responseTrailers = generateKeyValues(trailers);
+        handler2.onConnect?.((err) => handler2.onError(err), null);
+        handler2.onHeaders?.(statusCode, responseHeaders, resume, getStatusText(statusCode));
+        handler2.onData?.(Buffer.from(responseData));
+        handler2.onComplete?.(responseTrailers);
+        deleteMockDispatch(mockDispatches, key);
       }
-    }
-    var AsyncWriter = class {
-      constructor({ 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;
-        socket[kWriting] = true;
+      function resume() {
       }
-      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) {
-            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 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 (error3) {
+            if (error3 instanceof MockNotMatchedError) {
+              const netConnect = agent[kGetNetConnect]();
+              if (netConnect === false) {
+                throw new MockNotMatchedError(`${error3.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(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
+              }
+            } else {
+              throw error3;
             }
           }
+        } else {
+          originalDispatch.call(this, opts, handler2);
         }
-        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();
-          }
-        }
-        resume(client);
-      }
-      destroy(err) {
-        const { socket, client } = this;
-        socket[kWriting] = false;
-        if (err) {
-          assert(client[kRunning] <= 1, "pipeline should only contain this request");
-          util.destroy(socket, err);
-        }
+      };
+    }
+    function checkNetConnect(netConnect, origin) {
+      const url2 = new URL(origin);
+      if (netConnect === true) {
+        return true;
+      } else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url2.host))) {
+        return true;
       }
-    };
-    function errorRequest2(client, request2, err) {
-      try {
-        request2.onError(err);
-        assert(request2.aborted);
-      } catch (err2) {
-        client.emit("error", err2);
+      return false;
+    }
+    function buildMockOptions(opts) {
+      if (opts) {
+        const { agent, ...mockOptions } = opts;
+        return mockOptions;
       }
     }
-    module2.exports = Client;
+    module2.exports = {
+      getResponseData: getResponseData2,
+      getMockDispatch,
+      addMockDispatch,
+      deleteMockDispatch,
+      buildKey,
+      generateKeyValues,
+      matchValue,
+      getResponse,
+      getStatusText,
+      mockDispatch,
+      buildMockDispatch,
+      checkNetConnect,
+      buildMockOptions,
+      getHeaderByName,
+      buildHeadersFromArray
+    };
   }
 });
 
-// node_modules/undici/lib/node/fixed-queue.js
-var require_fixed_queue2 = __commonJS({
-  "node_modules/undici/lib/node/fixed-queue.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js
+var require_mock_interceptor2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.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;
+    var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kDispatchKey,
+      kDefaultHeaders,
+      kDefaultTrailers,
+      kContentLength,
+      kMockDispatch
+    } = require_mock_symbols2();
+    var { InvalidArgumentError } = require_errors2();
+    var { buildURL } = require_util9();
+    var MockScope = class {
+      constructor(mockDispatch) {
+        this[kMockDispatch] = mockDispatch;
       }
-      isFull() {
-        return (this.top + 1 & kMask) === this.bottom;
+      /**
+       * 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;
       }
-      push(data) {
-        this.list[this.top] = data;
-        this.top = this.top + 1 & kMask;
+      /**
+       * For a defined reply, never mark as consumed.
+       */
+      persist() {
+        this[kMockDispatch].persist = true;
+        return this;
       }
-      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;
+      /**
+       * 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;
       }
     };
-    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();
+    var MockInterceptor = class {
+      constructor(opts, mockDispatches) {
+        if (typeof opts !== "object") {
+          throw new InvalidArgumentError("opts must be an object");
         }
-        this.head.push(data);
-      }
-      shift() {
-        const tail = this.tail;
-        const next = tail.shift();
-        if (tail.isEmpty() && tail.next !== null) {
-          this.tail = tail.next;
+        if (typeof opts.path === "undefined") {
+          throw new InvalidArgumentError("opts.path must be defined");
         }
-        return next;
+        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;
       }
-    };
-  }
-});
-
-// node_modules/undici/lib/pool-stats.js
-var require_pool_stats2 = __commonJS({
-  "node_modules/undici/lib/pool-stats.js"(exports2, module2) {
-    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
-    var kPool = /* @__PURE__ */ Symbol("pool");
-    var PoolStats = class {
-      constructor(pool) {
-        this[kPool] = pool;
+      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 };
       }
-      get connected() {
-        return this[kPool][kConnected];
+      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");
+        }
       }
-      get free() {
-        return this[kPool][kFree];
+      /**
+       * 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);
       }
-      get pending() {
-        return this[kPool][kPending];
+      /**
+       * Mock an undici request with a defined error.
+       */
+      replyWithError(error3) {
+        if (typeof error3 === "undefined") {
+          throw new InvalidArgumentError("error must be defined");
+        }
+        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error: error3 });
+        return new MockScope(newMockDispatch);
       }
-      get queued() {
-        return this[kPool][kQueued];
+      /**
+       * 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;
       }
-      get running() {
-        return this[kPool][kRunning];
+      /**
+       * 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;
       }
-      get size() {
-        return this[kPool][kSize];
+      /**
+       * Set reply content length header for replies on the interceptor
+       */
+      replyContentLength() {
+        this[kContentLength] = true;
+        return this;
       }
     };
-    module2.exports = PoolStats;
+    module2.exports.MockInterceptor = MockInterceptor;
+    module2.exports.MockScope = MockScope;
   }
 });
 
-// node_modules/undici/lib/pool-base.js
-var require_pool_base2 = __commonJS({
-  "node_modules/undici/lib/pool-base.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js
+var require_mock_client2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
     "use strict";
-    var DispatcherBase = require_dispatcher_base2();
-    var FixedQueue = require_fixed_queue2();
-    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
-    var PoolStats = require_pool_stats2();
-    var kClients = /* @__PURE__ */ Symbol("clients");
-    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
-    var kQueue = /* @__PURE__ */ Symbol("queue");
-    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
-    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
-    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
-    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
-    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
-    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
-    var kAddClient = /* @__PURE__ */ Symbol("add client");
-    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
-    var kStats = /* @__PURE__ */ 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;
+    var { promisify } = require("node:util");
+    var Client = require_client2();
+    var { buildMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols2();
+    var { MockInterceptor } = require_mock_interceptor2();
+    var Symbols = require_symbols6();
+    var { InvalidArgumentError } = require_errors2();
+    var MockClient = class extends Client {
+      constructor(origin, opts) {
+        super(origin, opts);
+        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
         }
-        return ret;
+        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 [kSize]() {
-        let ret = this[kQueued];
-        for (const { [kSize]: size } of this[kClients]) {
-          ret += size;
-        }
-        return ret;
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
-      get stats() {
-        return this[kStats];
+      /**
+       * Sets up the base interceptor for mocking replies from undici.
+       */
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
       }
       async [kClose]() {
-        if (this[kQueue].isEmpty()) {
-          return Promise.all(this[kClients].map((c) => c.close()));
-        } else {
-          return new Promise((resolve8) => {
-            this[kClosedResolve] = resolve8;
-          });
-        }
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
-      async [kDestroy](err) {
-        while (true) {
-          const item = this[kQueue].shift();
-          if (!item) {
-            break;
-          }
-          item.handler.onError(err);
+    };
+    module2.exports = MockClient;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js
+var require_mock_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
+    "use strict";
+    var { promisify } = require("node:util");
+    var Pool = require_pool2();
+    var { buildMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols2();
+    var { MockInterceptor } = require_mock_interceptor2();
+    var Symbols = require_symbols6();
+    var { InvalidArgumentError } = require_errors2();
+    var MockPool = class extends Pool {
+      constructor(origin, opts) {
+        super(origin, opts);
+        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
         }
-        return Promise.all(this[kClients].map((c) => c.destroy(err)));
+        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];
       }
-      [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];
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
-      [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]) {
-          process.nextTick(() => {
-            if (this[kNeedDrain]) {
-              this[kOnDrain](client[kUrl], [this, client]);
-            }
-          });
-        }
-        return this;
+      /**
+       * Sets up the base interceptor for mocking replies from undici.
+       */
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
       }
-      [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);
+      async [kClose]() {
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
     };
-    module2.exports = {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kRemoveClient,
-      kGetDispatcher
-    };
+    module2.exports = MockPool;
   }
 });
 
-// node_modules/undici/lib/pool.js
-var require_pool2 = __commonJS({
-  "node_modules/undici/lib/pool.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/pluralizer.js
+var require_pluralizer2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) {
     "use strict";
-    var {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kGetDispatcher
-    } = require_pool_base2();
-    var Client = require_client2();
-    var {
-      InvalidArgumentError
-    } = require_errors2();
-    var util = require_util9();
-    var { kUrl, kInterceptors } = require_symbols6();
-    var buildConnector = require_connect2();
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    var kConnections = /* @__PURE__ */ Symbol("connections");
-    var kFactory = /* @__PURE__ */ 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,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
-            ...connect
-          });
-        }
-        this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
-        this[kConnections] = connections || null;
-        this[kUrl] = util.parseOrigin(origin);
-        this[kOptions] = { ...util.deepClone(options), connect, allowH2 };
-        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
-        this[kFactory] = factory;
-        this.on("connectionError", (origin2, targets, error3) => {
-          for (const target of targets) {
-            const idx = this[kClients].indexOf(target);
-            if (idx !== -1) {
-              this[kClients].splice(idx, 1);
-            }
+    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/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js
+var require_pending_interceptors_formatter2 = __commonJS({
+  "node_modules/@actions/github/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
           }
         });
       }
-      [kGetDispatcher]() {
-        let dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain]);
-        if (dispatcher) {
-          return dispatcher;
-        }
-        if (!this[kConnections] || this[kClients].length < this[kConnections]) {
-          dispatcher = this[kFactory](this[kUrl], this[kOptions]);
-          this[kAddClient](dispatcher);
-        }
-        return dispatcher;
+      format(pendingInterceptors) {
+        const withPrettyHeaders = pendingInterceptors.map(
+          ({ method, path: path16, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
+            Method: method,
+            Origin: origin,
+            Path: path16,
+            "Status code": statusCode,
+            Persistent: persist ? PERSISTENT : NOT_PERSISTENT,
+            Invocations: timesInvoked,
+            Remaining: persist ? Infinity : times - timesInvoked
+          })
+        );
+        this.logger.table(withPrettyHeaders);
+        return this.transform.read().toString();
       }
     };
-    module2.exports = Pool;
   }
 });
 
-// node_modules/undici/lib/balanced-pool.js
-var require_balanced_pool2 = __commonJS({
-  "node_modules/undici/lib/balanced-pool.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js
+var require_mock_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
     "use strict";
+    var { kClients } = require_symbols6();
+    var Agent = require_agent2();
     var {
-      BalancedPoolMissingUpstreamError,
-      InvalidArgumentError
-    } = require_errors2();
-    var {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kRemoveClient,
-      kGetDispatcher
-    } = require_pool_base2();
-    var Pool = require_pool2();
-    var { kUrl, kInterceptors } = require_symbols6();
-    var { parseOrigin } = require_util9();
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
-    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
-    var kIndex = /* @__PURE__ */ Symbol("kIndex");
-    var kWeight = /* @__PURE__ */ Symbol("kWeight");
-    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
-    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
-    function getGreatestCommonDivisor(a, b) {
-      if (b === 0) return a;
-      return getGreatestCommonDivisor(b, a % b);
-    }
-    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 && opts.interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : [];
-        this[kFactory] = factory;
-        for (const upstream of upstreams) {
-          this.addUpstream(upstream);
+      kAgent,
+      kMockAgentSet,
+      kMockAgentGet,
+      kDispatches,
+      kIsMockActive,
+      kNetConnect,
+      kGetNetConnect,
+      kOptions,
+      kFactory
+    } = require_mock_symbols2();
+    var MockClient = require_mock_client2();
+    var MockPool = require_mock_pool2();
+    var { matchValue, buildMockOptions } = require_mock_utils2();
+    var { InvalidArgumentError, UndiciError } = require_errors2();
+    var Dispatcher = require_dispatcher2();
+    var Pluralizer = require_pluralizer2();
+    var PendingInterceptorsFormatter = require_pending_interceptors_formatter2();
+    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");
         }
-        this._updateBalancedPoolStats();
+        const agent = opts?.agent ? opts.agent : new Agent(opts);
+        this[kAgent] = agent;
+        this[kClients] = agent[kClients];
+        this[kOptions] = buildMockOptions(opts);
       }
-      addUpstream(upstream) {
-        const upstreamOrigin = parseOrigin(upstream).origin;
-        if (this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true)) {
-          return this;
+      get(origin) {
+        let dispatcher = this[kMockAgentGet](origin);
+        if (!dispatcher) {
+          dispatcher = this[kFactory](origin);
+          this[kMockAgentSet](origin, dispatcher);
         }
-        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();
+        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];
           }
-        });
-        for (const client of this[kClients]) {
-          client[kWeight] = this[kMaxWeightPerServer];
+        } else if (typeof matcher === "undefined") {
+          this[kNetConnect] = true;
+        } else {
+          throw new InvalidArgumentError("Unsupported matcher. Must be one of String|Function|RegExp.");
         }
-        this._updateBalancedPoolStats();
-        return this;
       }
-      _updateBalancedPoolStats() {
-        this[kGreatestCommonDivisor] = this[kClients].map((p) => p[kWeight]).reduce(getGreatestCommonDivisor, 0);
+      disableNetConnect() {
+        this[kNetConnect] = false;
       }
-      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;
+      // This is required to bypass issues caused by using global symbols - see:
+      // https://github.com/nodejs/undici/issues/1447
+      get isMockActive() {
+        return this[kIsMockActive];
       }
-      get upstreams() {
-        return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin);
+      [kMockAgentSet](origin, dispatcher) {
+        this[kClients].set(origin, dispatcher);
       }
-      [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;
+      [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;
         }
-        const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b) => a && b, true);
-        if (allClientsBusy) {
-          return;
+        if (typeof origin !== "string") {
+          const dispatcher = this[kFactory]("http://localhost:9999");
+          this[kMockAgentSet](origin, dispatcher);
+          return dispatcher;
         }
-        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;
+        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;
           }
         }
-        this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight];
-        this[kIndex] = maxWeightIndex;
-        return this[kClients][maxWeightIndex];
-      }
-    };
-    module2.exports = BalancedPool;
-  }
-});
-
-// node_modules/undici/lib/compat/dispatcher-weakref.js
-var require_dispatcher_weakref2 = __commonJS({
-  "node_modules/undici/lib/compat/dispatcher-weakref.js"(exports2, module2) {
-    "use strict";
-    var { kConnected, kSize } = require_symbols6();
-    var CompatWeakRef = class {
-      constructor(value) {
-        this.value = value;
       }
-      deref() {
-        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
+      [kGetNetConnect]() {
+        return this[kNetConnect];
       }
-    };
-    var CompatFinalizer = class {
-      constructor(finalizer) {
-        this.finalizer = finalizer;
+      pendingInterceptors() {
+        const mockAgentClients = this[kClients];
+        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
       }
-      register(dispatcher, key) {
-        if (dispatcher.on) {
-          dispatcher.on("disconnect", () => {
-            if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {
-              this.finalizer(key);
-            }
-          });
+      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 = function() {
-      if (process.env.NODE_V8_COVERAGE) {
-        return {
-          WeakRef: CompatWeakRef,
-          FinalizationRegistry: CompatFinalizer
-        };
-      }
-      return {
-        WeakRef: global.WeakRef || CompatWeakRef,
-        FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer
-      };
-    };
+    module2.exports = MockAgent;
   }
 });
 
-// node_modules/undici/lib/agent.js
-var require_agent2 = __commonJS({
-  "node_modules/undici/lib/agent.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/global.js
+var require_global4 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/global.js"(exports2, module2) {
     "use strict";
+    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
     var { InvalidArgumentError } = require_errors2();
-    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
-    var DispatcherBase = require_dispatcher_base2();
-    var Pool = require_pool2();
-    var Client = require_client2();
-    var util = require_util9();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var { WeakRef: WeakRef2, FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
-    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
-    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
-    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
-    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
-    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    var kFinalizer = /* @__PURE__ */ Symbol("finalizer");
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    function defaultFactory(origin, opts) {
-      return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts);
+    var Agent = require_agent2();
+    if (getGlobalDispatcher() === void 0) {
+      setGlobalDispatcher(new Agent());
     }
-    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 && options.interceptors.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
-        this[kOptions] = { ...util.deepClone(options), connect };
-        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
-        this[kMaxRedirections] = maxRedirections;
-        this[kFactory] = factory;
-        this[kClients] = /* @__PURE__ */ new Map();
-        this[kFinalizer] = new FinalizationRegistry2(
-          /* istanbul ignore next: gc is undeterministic */
-          (key) => {
-            const ref = this[kClients].get(key);
-            if (ref !== void 0 && ref.deref() === void 0) {
-              this[kClients].delete(key);
-            }
-          }
-        );
-        const agent = this;
-        this[kOnDrain] = (origin, targets) => {
-          agent.emit("drain", origin, [agent, ...targets]);
-        };
-        this[kOnConnect] = (origin, targets) => {
-          agent.emit("connect", origin, [agent, ...targets]);
-        };
-        this[kOnDisconnect] = (origin, targets, err) => {
-          agent.emit("disconnect", origin, [agent, ...targets], err);
-        };
-        this[kOnConnectionError] = (origin, targets, err) => {
-          agent.emit("connectionError", origin, [agent, ...targets], err);
-        };
+    function setGlobalDispatcher(agent) {
+      if (!agent || typeof agent.dispatch !== "function") {
+        throw new InvalidArgumentError("Argument agent must implement Agent");
       }
-      get [kRunning]() {
-        let ret = 0;
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            ret += client[kRunning];
-          }
+      Object.defineProperty(globalThis, globalDispatcher, {
+        value: agent,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
+    }
+    function getGlobalDispatcher() {
+      return globalThis[globalDispatcher];
+    }
+    module2.exports = {
+      setGlobalDispatcher,
+      getGlobalDispatcher
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/handler/decorator-handler.js
+var require_decorator_handler2 = __commonJS({
+  "node_modules/@actions/github/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");
         }
-        return ret;
+        this.#handler = handler2;
       }
-      [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.");
-        }
-        const ref = this[kClients].get(key);
-        let dispatcher = ref ? ref.deref() : null;
-        if (!dispatcher) {
-          dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
-          this[kClients].set(key, new WeakRef2(dispatcher));
-          this[kFinalizer].register(dispatcher, key);
-        }
-        return dispatcher.dispatch(opts, handler2);
+      onConnect(...args) {
+        return this.#handler.onConnect?.(...args);
       }
-      async [kClose]() {
-        const closePromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            closePromises.push(client.close());
-          }
-        }
-        await Promise.all(closePromises);
+      onError(...args) {
+        return this.#handler.onError?.(...args);
       }
-      async [kDestroy](err) {
-        const destroyPromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            destroyPromises.push(client.destroy(err));
-          }
-        }
-        await Promise.all(destroyPromises);
+      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);
       }
     };
-    module2.exports = Agent;
   }
 });
 
-// node_modules/undici/lib/api/readable.js
-var require_readable2 = __commonJS({
-  "node_modules/undici/lib/api/readable.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js
+var require_redirect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { Readable: Readable2 } = require("stream");
-    var { RequestAbortedError, NotSupportedError, InvalidArgumentError } = require_errors2();
-    var util = require_util9();
-    var { ReadableStreamFrom, toUSVString } = require_util9();
-    var Blob2;
-    var kConsume = /* @__PURE__ */ Symbol("kConsume");
-    var kReading = /* @__PURE__ */ Symbol("kReading");
-    var kBody = /* @__PURE__ */ Symbol("kBody");
-    var kAbort = /* @__PURE__ */ Symbol("abort");
-    var kContentType = /* @__PURE__ */ Symbol("kContentType");
-    var noop3 = () => {
+    var RedirectHandler = require_redirect_handler2();
+    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);
+        };
+      };
     };
-    module2.exports = class BodyReadable extends Readable2 {
-      constructor({
-        resume,
-        abort,
-        contentType = "",
-        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[kReading] = false;
-      }
-      destroy(err) {
-        if (this.destroyed) {
-          return this;
-        }
-        if (!err && !this._readableState.endEmitted) {
-          err = new RequestAbortedError();
-        }
-        if (err) {
-          this[kAbort]();
-        }
-        return super.destroy(err);
-      }
-      emit(ev, ...args) {
-        if (ev === "data") {
-          this._readableState.dataEmitted = true;
-        } else if (ev === "error") {
-          this._readableState.errorEmitted = true;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js
+var require_retry2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js"(exports2, module2) {
+    "use strict";
+    var RetryHandler = require_retry_handler2();
+    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/@actions/github/node_modules/undici/lib/interceptor/dump.js
+var require_dump2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/dump.js"(exports2, module2) {
+    "use strict";
+    var util = require_util9();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
+    var DecoratorHandler = require_decorator_handler2();
+    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");
         }
-        return super.emit(ev, ...args);
+        this.#maxSize = maxSize ?? this.#maxSize;
+        this.#handler = handler2;
       }
-      on(ev, ...args) {
-        if (ev === "data" || ev === "readable") {
-          this[kReading] = true;
-        }
-        return super.on(ev, ...args);
+      onConnect(abort) {
+        this.#abort = abort;
+        this.#handler.onConnect(this.#customAbort.bind(this));
       }
-      addListener(ev, ...args) {
-        return this.on(ev, ...args);
+      #customAbort(reason) {
+        this.#aborted = true;
+        this.#reason = reason;
       }
-      off(ev, ...args) {
-        const ret = super.off(ev, ...args);
-        if (ev === "data" || ev === "readable") {
-          this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0;
+      // 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})`
+          );
         }
-        return ret;
-      }
-      removeListener(ev, ...args) {
-        return this.off(ev, ...args);
-      }
-      push(chunk) {
-        if (this[kConsume] && chunk !== null && this.readableLength === 0) {
-          consumePush(this[kConsume], chunk);
-          return this[kReading] ? super.push(chunk) : true;
+        if (this.#aborted) {
+          return 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-arraybuffer
-      async arrayBuffer() {
-        return consume(this, "arrayBuffer");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-formdata
-      async formData() {
-        throw new NotSupportedError();
+        return this.#handler.onHeaders(
+          statusCode,
+          rawHeaders,
+          resume,
+          statusMessage
+        );
       }
-      // https://fetch.spec.whatwg.org/#dom-body-bodyused
-      get bodyUsed() {
-        return util.isDisturbed(this);
+      onError(err) {
+        if (this.#dumped) {
+          return;
+        }
+        err = this.#reason ?? err;
+        this.#handler.onError(err);
       }
-      // 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);
+      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 this[kBody];
+        return true;
       }
-      dump(opts) {
-        let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144;
-        const signal = opts && opts.signal;
-        if (signal) {
-          try {
-            if (typeof signal !== "object" || !("aborted" in signal)) {
-              throw new InvalidArgumentError("signal must be an AbortSignal");
-            }
-            util.throwIfAborted(signal);
-          } catch (err) {
-            return Promise.reject(err);
-          }
+      onComplete(trailers) {
+        if (this.#dumped) {
+          return;
         }
-        if (this.closed) {
-          return Promise.resolve(null);
+        if (this.#aborted) {
+          this.#handler.onError(this.reason);
+          return;
         }
-        return new Promise((resolve8, reject) => {
-          const signalListenerCleanup = signal ? util.addAbortListener(signal, () => {
-            this.destroy();
-          }) : noop3;
-          this.on("close", function() {
-            signalListenerCleanup();
-            if (signal && signal.aborted) {
-              reject(signal.reason || Object.assign(new Error("The operation was aborted"), { name: "AbortError" }));
-            } else {
-              resolve8(null);
-            }
-          }).on("error", noop3).on("data", function(chunk) {
-            limit -= chunk.length;
-            if (limit <= 0) {
-              this.destroy();
-            }
-          }).resume();
-        });
+        this.#handler.onComplete(trailers);
       }
     };
-    function isLocked(self2) {
-      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
-    }
-    function isUnusable(self2) {
-      return util.isDisturbed(self2) || isLocked(self2);
-    }
-    async function consume(stream2, type2) {
-      if (isUnusable(stream2)) {
-        throw new TypeError("unusable");
-      }
-      assert(!stream2[kConsume]);
-      return new Promise((resolve8, reject) => {
-        stream2[kConsume] = {
-          type: type2,
-          stream: stream2,
-          resolve: resolve8,
-          reject,
-          length: 0,
-          body: []
+    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);
         };
-        stream2.on("error", function(err) {
-          consumeFinish(this[kConsume], err);
-        }).on("close", function() {
-          if (this[kConsume].body !== null) {
-            consumeFinish(this[kConsume], new RequestAbortedError());
-          }
-        });
-        process.nextTick(consumeStart, stream2[kConsume]);
-      });
+      };
     }
-    function consumeStart(consume2) {
-      if (consume2.body === null) {
-        return;
+    module2.exports = createDumpInterceptor;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/dns.js
+var require_dns2 = __commonJS({
+  "node_modules/@actions/github/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_handler2();
+    var { InvalidArgumentError, InformationalError } = require_errors2();
+    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;
       }
-      const { _readableState: state } = consume2.stream;
-      for (const chunk of state.buffer) {
-        consumePush(consume2, chunk);
+      get full() {
+        return this.#records.size === this.#maxItems;
       }
-      if (state.endEmitted) {
-        consumeEnd(this[kConsume]);
-      } else {
-        consume2.stream.on("end", function() {
-          consumeEnd(this[kConsume]);
-        });
+      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}`
+          );
+        }
       }
-      consume2.stream.resume();
-      while (consume2.stream.read() != null) {
+      #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());
+          }
+        );
       }
-    }
-    function consumeEnd(consume2) {
-      const { type: type2, body, resolve: resolve8, stream: stream2, length } = consume2;
-      try {
-        if (type2 === "text") {
-          resolve8(toUSVString(Buffer.concat(body)));
-        } else if (type2 === "json") {
-          resolve8(JSON.parse(Buffer.concat(body)));
-        } else if (type2 === "arrayBuffer") {
-          const dst = new Uint8Array(length);
-          let pos = 0;
-          for (const buf of body) {
-            dst.set(buf, pos);
-            pos += buf.byteLength;
+      #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;
+            }
           }
-          resolve8(dst.buffer);
-        } else if (type2 === "blob") {
-          if (!Blob2) {
-            Blob2 = require("buffer").Blob;
+          if (records[affinity] != null && records[affinity].ips.length > 0) {
+            family = records[affinity];
+          } else {
+            family = records[affinity === 4 ? 6 : 4];
           }
-          resolve8(new Blob2(body, { type: stream2[kContentType] }));
+        } else {
+          family = records[affinity];
         }
-        consumeFinish(consume2);
-      } catch (err) {
-        stream2.destroy(err);
+        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;
       }
-    }
-    function consumePush(consume2, chunk) {
-      consume2.length += chunk.length;
-      consume2.body.push(chunk);
-    }
-    function consumeFinish(consume2, err) {
-      if (consume2.body === null) {
-        return;
+      setRecords(origin, addresses) {
+        const timestamp2 = Date.now();
+        const records = { records: { 4: null, 6: null } };
+        for (const record of addresses) {
+          record.timestamp = timestamp2;
+          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);
       }
-      if (err) {
-        consume2.reject(err);
-      } else {
-        consume2.resolve();
+      getHandler(meta, opts) {
+        return new DNSDispatchHandler(this, meta, opts);
       }
-      consume2.type = null;
-      consume2.stream = null;
-      consume2.resolve = null;
-      consume2.reject = null;
-      consume2.length = 0;
-      consume2.body = null;
-    }
-  }
-});
-
-// node_modules/undici/lib/api/util.js
-var require_util11 = __commonJS({
-  "node_modules/undici/lib/api/util.js"(exports2, module2) {
-    var assert = require("assert");
-    var {
-      ResponseStatusCodeError
-    } = require_errors2();
-    var { toUSVString } = require_util9();
-    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
-      assert(body);
-      let chunks = [];
-      let limit = 0;
-      for await (const chunk of body) {
-        chunks.push(chunk);
-        limit += chunk.length;
-        if (limit > 128 * 1024) {
-          chunks = null;
-          break;
+    };
+    var DNSDispatchHandler = class extends DecoratorHandler {
+      #state = null;
+      #opts = null;
+      #dispatch = null;
+      #handler = null;
+      #origin = null;
+      constructor(state, { origin, handler: handler2, dispatch }, opts) {
+        super(handler2);
+        this.#origin = origin;
+        this.#handler = handler2;
+        this.#opts = { ...opts };
+        this.#state = state;
+        this.#dispatch = dispatch;
+      }
+      onError(err) {
+        switch (err.code) {
+          case "ETIMEDOUT":
+          case "ECONNREFUSED": {
+            if (this.#state.dualStack) {
+              this.#state.runLookup(this.#origin, this.#opts, (err2, newOrigin) => {
+                if (err2) {
+                  return this.#handler.onError(err2);
+                }
+                const dispatchOpts = {
+                  ...this.#opts,
+                  origin: newOrigin
+                };
+                this.#dispatch(dispatchOpts, this);
+              });
+              return;
+            }
+            this.#handler.onError(err);
+            return;
+          }
+          case "ENOTFOUND":
+            this.#state.deleteRecord(this.#origin);
+          // eslint-disable-next-line no-fallthrough
+          default:
+            this.#handler.onError(err);
+            break;
         }
       }
-      if (statusCode === 204 || !contentType || !chunks) {
-        process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
-        return;
+    };
+    module2.exports = (interceptorOpts) => {
+      if (interceptorOpts?.maxTTL != null && (typeof interceptorOpts?.maxTTL !== "number" || interceptorOpts?.maxTTL < 0)) {
+        throw new InvalidArgumentError("Invalid maxTTL. Must be a positive number");
       }
-      try {
-        if (contentType.startsWith("application/json")) {
-          const payload = JSON.parse(toUSVString(Buffer.concat(chunks)));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
-        }
-        if (contentType.startsWith("text/")) {
-          const payload = toUSVString(Buffer.concat(chunks));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
-        }
-      } catch (err) {
+      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"
+        );
       }
-      process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
-    }
-    module2.exports = { getResolveErrorBodyCallback };
-  }
-});
-
-// node_modules/undici/lib/api/abort-signal.js
-var require_abort_signal2 = __commonJS({
-  "node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
-    var { addAbortListener } = require_util9();
-    var { RequestAbortedError } = require_errors2();
-    var kListener = /* @__PURE__ */ Symbol("kListener");
-    var kSignal = /* @__PURE__ */ Symbol("kSignal");
-    function abort(self2) {
-      if (self2.abort) {
-        self2.abort();
-      } else {
-        self2.onError(new RequestAbortedError());
+      if (interceptorOpts?.affinity != null && interceptorOpts?.affinity !== 4 && interceptorOpts?.affinity !== 6) {
+        throw new InvalidArgumentError("Invalid affinity. Must be either 4 or 6");
       }
-    }
-    function addSignal(self2, signal) {
-      self2[kSignal] = null;
-      self2[kListener] = null;
-      if (!signal) {
-        return;
+      if (interceptorOpts?.dualStack != null && typeof interceptorOpts?.dualStack !== "boolean") {
+        throw new InvalidArgumentError("Invalid dualStack. Must be a boolean");
       }
-      if (signal.aborted) {
-        abort(self2);
-        return;
+      if (interceptorOpts?.lookup != null && typeof interceptorOpts?.lookup !== "function") {
+        throw new InvalidArgumentError("Invalid lookup. Must be a function");
       }
-      self2[kSignal] = signal;
-      self2[kListener] = () => {
-        abort(self2);
-      };
-      addAbortListener(self2[kSignal], self2[kListener]);
-    }
-    function removeSignal(self2) {
-      if (!self2[kSignal]) {
-        return;
+      if (interceptorOpts?.pick != null && typeof interceptorOpts?.pick !== "function") {
+        throw new InvalidArgumentError("Invalid pick. Must be a function");
       }
-      if ("removeEventListener" in self2[kSignal]) {
-        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      const dualStack = interceptorOpts?.dualStack ?? true;
+      let affinity;
+      if (dualStack) {
+        affinity = interceptorOpts?.affinity ?? null;
       } else {
-        self2[kSignal].removeListener("abort", self2[kListener]);
+        affinity = interceptorOpts?.affinity ?? 4;
       }
-      self2[kSignal] = null;
-      self2[kListener] = null;
-    }
-    module2.exports = {
-      addSignal,
-      removeSignal
+      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/api/api-request.js
-var require_api_request2 = __commonJS({
-  "node_modules/undici/lib/api/api-request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js
+var require_headers2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js"(exports2, module2) {
     "use strict";
-    var Readable2 = require_readable2();
+    var { kConstruct } = require_symbols6();
+    var { kEnumerableProperty } = require_util9();
     var {
-      InvalidArgumentError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { getResolveErrorBodyCallback } = require_util11();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var RequestHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
-        try {
-          if (typeof callback !== "function") {
-            throw new InvalidArgumentError("invalid callback");
-          }
-          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
-            throw new InvalidArgumentError("invalid highWaterMark");
-          }
-          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-          }
-          if (method === "CONNECT") {
-            throw new InvalidArgumentError("invalid method");
-          }
-          if (onInfo && typeof onInfo !== "function") {
-            throw new InvalidArgumentError("invalid onInfo callback");
-          }
-          super("UNDICI_REQUEST");
-        } catch (err) {
-          if (util.isStream(body)) {
-            util.destroy(body.on("error", util.nop), err);
+      iteratorMixin,
+      isValidHeaderName,
+      isValidHeaderValue
+    } = require_util10();
+    var { webidl } = require_webidl2();
+    var assert = require("node:assert");
+    var util = require("node:util");
+    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
+    var kHeadersSortedMap = /* @__PURE__ */ 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}.`
+            });
           }
-          throw err;
+          appendHeader(headers, header[0], header[1]);
         }
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.callback = callback;
-        this.res = null;
-        this.abort = null;
-        this.body = body;
-        this.trailers = {};
-        this.context = null;
-        this.onInfo = onInfo || null;
-        this.throwOnError = throwOnError;
-        this.highWaterMark = highWaterMark;
-        if (util.isStream(body)) {
-          body.on("error", (err) => {
-            this.onError(err);
-          });
+      } 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]]);
         }
-        addSignal(this, signal);
+      } else {
+        throw webidl.errors.conversionFailed({
+          prefix: "Headers constructor",
+          argument: "Argument 1",
+          types: ["sequence>", "record"]
+        });
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
+    }
+    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"
+        });
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const { callback, opaque, abort, context: context2, 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 body = new Readable2({ resume, abort, contentType, highWaterMark });
-        this.callback = null;
-        this.res = body;
-        if (callback !== null) {
-          if (this.throwOnError && statusCode >= 400) {
-            this.runInAsyncScope(
-              getResolveErrorBodyCallback,
-              null,
-              { callback, body, contentType, statusCode, statusMessage, headers }
-            );
-          } else {
-            this.runInAsyncScope(callback, null, null, {
-              statusCode,
-              headers,
-              trailers: this.trailers,
-              opaque,
-              body,
-              context: context2
-            });
-          }
+      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;
         }
       }
-      onData(chunk) {
-        const { res } = this;
-        return res.push(chunk);
+      /**
+       * @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());
       }
-      onComplete(trailers) {
-        const { res } = this;
-        removeSignal(this);
-        util.parseHeaders(trailers, this.trailers);
-        res.push(null);
+      clear() {
+        this[kHeadersMap].clear();
+        this[kHeadersSortedMap] = null;
+        this.cookies = null;
       }
-      onError(err) {
-        const { res, callback, body, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
-        if (res) {
-          this.res = null;
-          queueMicrotask(() => {
-            util.destroy(res, err);
+      /**
+       * @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 (body) {
-          this.body = null;
-          util.destroy(body, err);
+        if (lowercaseName === "set-cookie") {
+          (this.cookies ??= []).push(value);
         }
       }
-    };
-    function request2(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve8, reject) => {
-          request2.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve8(data);
-          });
-        });
+      /**
+       * @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 });
       }
-      try {
-        this.dispatch(opts, new RequestHandler(opts, callback));
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
+      /**
+       * @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;
         }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        this[kHeadersMap].delete(name);
       }
-    }
-    module2.exports = request2;
-    module2.exports.RequestHandler = RequestHandler;
-  }
-});
-
-// node_modules/undici/lib/api/api-stream.js
-var require_api_stream2 = __commonJS({
-  "node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
-    "use strict";
-    var { finished, PassThrough } = require("stream");
-    var {
-      InvalidArgumentError,
-      InvalidReturnValueError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { getResolveErrorBodyCallback } = require_util11();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var StreamHandler = class extends AsyncResource {
-      constructor(opts, factory, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+      /**
+       * @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];
         }
-        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
-        try {
-          if (typeof callback !== "function") {
-            throw new InvalidArgumentError("invalid callback");
-          }
-          if (typeof factory !== "function") {
-            throw new InvalidArgumentError("invalid factory");
-          }
-          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-          }
-          if (method === "CONNECT") {
-            throw new InvalidArgumentError("invalid method");
-          }
-          if (onInfo && typeof onInfo !== "function") {
-            throw new InvalidArgumentError("invalid onInfo callback");
-          }
-          super("UNDICI_STREAM");
-        } catch (err) {
-          if (util.isStream(body)) {
-            util.destroy(body.on("error", util.nop), err);
+      }
+      get entries() {
+        const headers = {};
+        if (this[kHeadersMap].size !== 0) {
+          for (const { name, value } of this[kHeadersMap].values()) {
+            headers[name] = value;
           }
-          throw err;
-        }
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.factory = factory;
-        this.callback = callback;
-        this.res = null;
-        this.abort = null;
-        this.context = null;
-        this.trailers = null;
-        this.body = body;
-        this.onInfo = onInfo || null;
-        this.throwOnError = throwOnError || false;
-        if (util.isStream(body)) {
-          body.on("error", (err) => {
-            this.onError(err);
-          });
         }
-        addSignal(this, signal);
+        return headers;
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
+      rawValues() {
+        return this[kHeadersMap].values();
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const { factory, opaque, context: context2, callback, responseHeaders } = this;
-        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            this.onInfo({ statusCode, headers });
+      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;
         }
-        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: context2
-          });
-          if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") {
-            throw new InvalidReturnValueError("expected Writable");
+        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;
           }
-          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);
+          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;
+              }
             }
-            this.callback = null;
-            this.runInAsyncScope(callback2, null, err || null, { opaque: opaque2, trailers });
-            if (err) {
-              abort();
+            if (i !== pivot) {
+              j = i;
+              while (j > left) {
+                array[j] = array[--j];
+              }
+              array[left] = x;
             }
-          });
-        }
-        res.on("drain", resume);
-        this.res = res;
-        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState && res._writableState.needDrain;
-        return needDrain !== true;
-      }
-      onData(chunk) {
-        const { res } = this;
-        return res ? res.write(chunk) : true;
-      }
-      onComplete(trailers) {
-        const { res } = this;
-        removeSignal(this);
-        if (!res) {
-          return;
-        }
-        this.trailers = util.parseHeaders(trailers);
-        res.end();
-      }
-      onError(err) {
-        const { res, callback, opaque, body } = this;
-        removeSignal(this);
-        this.factory = null;
-        if (res) {
-          this.res = null;
-          util.destroy(res, err);
-        } else if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
-        if (body) {
-          this.body = null;
-          util.destroy(body, err);
-        }
-      }
-    };
-    function stream2(opts, factory, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve8, reject) => {
-          stream2.call(this, opts, factory, (err, data) => {
-            return err ? reject(err) : resolve8(data);
-          });
-        });
-      }
-      try {
-        this.dispatch(opts, new StreamHandler(opts, factory, callback));
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
-        }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
-      }
-    }
-    module2.exports = stream2;
-  }
-});
-
-// node_modules/undici/lib/api/api-pipeline.js
-var require_api_pipeline2 = __commonJS({
-  "node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
-    "use strict";
-    var {
-      Readable: Readable2,
-      Duplex,
-      PassThrough
-    } = require("stream");
-    var {
-      InvalidArgumentError,
-      InvalidReturnValueError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
-    var kResume = /* @__PURE__ */ Symbol("resume");
-    var PipelineRequest = class extends Readable2 {
-      constructor() {
-        super({ autoDestroy: true });
-        this[kResume] = null;
-      }
-      _read() {
-        const { [kResume]: resume } = this;
-        if (resume) {
-          this[kResume] = null;
-          resume();
+          }
+          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);
         }
       }
-      _destroy(err, callback) {
-        this._read();
-        callback(err);
-      }
     };
-    var PipelineResponse = class extends Readable2 {
-      constructor(resume) {
-        super({ autoDestroy: true });
-        this[kResume] = resume;
-      }
-      _read() {
-        this[kResume]();
-      }
-      _destroy(err, callback) {
-        if (!err && !this._readableState.endEmitted) {
-          err = new RequestAbortedError();
+    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);
         }
-        callback(err);
       }
-    };
-    var PipelineHandler = class extends AsyncResource {
-      constructor(opts, handler2) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+      // 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 (typeof handler2 !== "function") {
-          throw new InvalidArgumentError("invalid handler");
+        if (this.#guard === "immutable") {
+          throw new TypeError("immutable");
         }
-        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 (!this.#headersList.contains(name, false)) {
+          return;
         }
-        if (method === "CONNECT") {
-          throw new InvalidArgumentError("invalid method");
+        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"
+          });
         }
-        if (onInfo && typeof onInfo !== "function") {
-          throw new InvalidArgumentError("invalid onInfo callback");
+        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"
+          });
         }
-        super("UNDICI_PIPELINE");
-        this.opaque = opaque || null;
-        this.responseHeaders = responseHeaders || null;
-        this.handler = handler2;
-        this.abort = null;
-        this.context = null;
-        this.onInfo = onInfo || null;
-        this.req = new PipelineRequest().on("error", util.nop);
-        this.ret = new Duplex({
-          readableObjectMode: opts.objectMode,
-          autoDestroy: true,
-          read: () => {
-            const { body } = this;
-            if (body && body.resume) {
-              body.resume();
-            }
-          },
-          write: (chunk, encoding, callback) => {
-            const { req } = this;
-            if (req.push(chunk, encoding) || req._readableState.destroyed) {
-              callback();
-            } else {
-              req[kResume] = callback;
-            }
-          },
-          destroy: (err, callback) => {
-            const { body, req, res, ret, abort } = this;
-            if (!err && !ret._readableState.endEmitted) {
-              err = new RequestAbortedError();
-            }
-            if (abort && err) {
-              abort();
-            }
-            util.destroy(body, err);
-            util.destroy(req, err);
-            util.destroy(res, err);
-            removeSignal(this);
-            callback(err);
-          }
-        }).on("prefinish", () => {
-          const { req } = this;
-          req.push(null);
-        });
-        this.res = null;
-        addSignal(this, signal);
+        return this.#headersList.contains(name, false);
       }
-      onConnect(abort, context2) {
-        const { ret, res } = this;
-        assert(!res, "pipeline cannot be retried");
-        if (ret.destroyed) {
-          throw new RequestAbortedError();
+      // 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"
+          });
         }
-        this.abort = abort;
-        this.context = context2;
+        if (this.#guard === "immutable") {
+          throw new TypeError("immutable");
+        }
+        this.#headersList.set(name, value, false);
       }
-      onHeaders(statusCode, rawHeaders, resume) {
-        const { opaque, handler: handler2, context: context2 } = this;
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-            this.onInfo({ statusCode, headers });
-          }
-          return;
+      // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
+      getSetCookie() {
+        webidl.brandCheck(this, _Headers);
+        const list = this.#headersList.cookies;
+        if (list) {
+          return [...list];
         }
-        this.res = new PipelineResponse(resume);
-        let body;
-        try {
-          this.handler = null;
-          const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-          body = this.runInAsyncScope(handler2, null, {
-            statusCode,
-            headers,
-            opaque,
-            body: this.res,
-            context: context2
-          });
-        } catch (err) {
-          this.res.on("error", util.nop);
-          throw err;
+        return [];
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
+      get [kHeadersSortedMap]() {
+        if (this.#headersList[kHeadersSortedMap]) {
+          return this.#headersList[kHeadersSortedMap];
         }
-        if (!body || typeof body.on !== "function") {
-          throw new InvalidReturnValueError("expected Readable");
+        const headers = [];
+        const names = this.#headersList.toSortedArray();
+        const cookies = this.#headersList.cookies;
+        if (cookies === null || cookies.length === 1) {
+          return this.#headersList[kHeadersSortedMap] = names;
         }
-        body.on("data", (chunk) => {
-          const { ret, body: body2 } = this;
-          if (!ret.push(chunk) && body2.pause) {
-            body2.pause();
-          }
-        }).on("error", (err) => {
-          const { ret } = this;
-          util.destroy(ret, err);
-        }).on("end", () => {
-          const { ret } = this;
-          ret.push(null);
-        }).on("close", () => {
-          const { ret } = this;
-          if (!ret._readableState.ended) {
-            util.destroy(ret, new RequestAbortedError());
+        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]);
           }
-        });
-        this.body = body;
+        }
+        return this.#headersList[kHeadersSortedMap] = headers;
       }
-      onData(chunk) {
-        const { res } = this;
-        return res.push(chunk);
+      [util.inspect.custom](depth, options) {
+        options.depth ??= depth;
+        return `Headers ${util.formatWithOptions(options, this.#headersList.entries)}`;
       }
-      onComplete(trailers) {
-        const { res } = this;
-        res.push(null);
+      static getHeadersGuard(o) {
+        return o.#guard;
       }
-      onError(err) {
-        const { ret } = this;
-        this.handler = null;
-        util.destroy(ret, err);
+      static setHeadersGuard(o, guard) {
+        o.#guard = guard;
+      }
+      static getHeadersList(o) {
+        return o.#headersList;
+      }
+      static setHeadersList(o, list) {
+        o.#headersList = list;
       }
     };
-    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);
+    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
       }
-    }
-    module2.exports = pipeline;
+    });
+    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/api/api-upgrade.js
-var require_api_upgrade2 = __commonJS({
-  "node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js
+var require_response2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js"(exports2, module2) {
     "use strict";
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
-    var { AsyncResource } = require("async_hooks");
+    var { Headers, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers2();
+    var { extractBody, cloneBody, mixinBody, hasFinalizationRegistry, streamRegistry, bodyUnusable } = require_body2();
     var util = require_util9();
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
-    var UpgradeHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+    var nodeUtil = require("node:util");
+    var { kEnumerableProperty } = util;
+    var {
+      isValidReasonPhrase,
+      isCancelled,
+      isAborted,
+      isBlobLike,
+      serializeJavascriptValueToJSONString,
+      isErrorLike,
+      isomorphicEncode,
+      environmentSettingsObject: relevantRealm
+    } = require_util10();
+    var {
+      redirectStatusSet,
+      nullBodyStatus
+    } = require_constants8();
+    var { kState, kHeaders } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var { FormData: FormData2 } = require_formdata2();
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    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);
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        const bytes = textEncoder.encode(
+          serializeJavascriptValueToJSONString(data)
+        );
+        const body = extractBody(bytes);
+        const responseObject = fromInnerResponse(makeResponse({}), "response");
+        initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
+        return responseObject;
+      }
+      // Creates a redirect Response that redirects to url with status status.
+      static redirect(url2, status = 302) {
+        webidl.argumentLengthCheck(arguments, 1, "Response.redirect");
+        url2 = webidl.converters.USVString(url2);
+        status = webidl.converters["unsigned short"](status);
+        let parsedURL;
+        try {
+          parsedURL = new URL(url2, relevantRealm.settingsObject.baseUrl);
+        } catch (err) {
+          throw new TypeError(`Failed to parse URL from ${url2}`, { cause: err });
         }
-        const { signal, opaque, responseHeaders } = opts;
-        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        if (!redirectStatusSet.has(status)) {
+          throw new RangeError(`Invalid status code ${status}`);
         }
-        super("UNDICI_UPGRADE");
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.callback = callback;
-        this.abort = null;
-        this.context = null;
-        addSignal(this, signal);
+        const responseObject = fromInnerResponse(makeResponse({}), "immutable");
+        responseObject[kState].status = status;
+        const value = isomorphicEncode(URLSerializer(parsedURL));
+        responseObject[kState].headersList.append("location", value, true);
+        return responseObject;
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
+      // https://fetch.spec.whatwg.org/#dom-response
+      constructor(body = null, init = {}) {
+        webidl.util.markAsUncloneable(this);
+        if (body === kConstruct) {
+          return;
         }
-        this.abort = abort;
-        this.context = null;
-      }
-      onHeaders() {
-        throw new SocketError("bad upgrade", null);
-      }
-      onUpgrade(statusCode, rawHeaders, socket) {
-        const { callback, opaque, context: context2 } = this;
-        assert.strictEqual(statusCode, 101);
-        removeSignal(this);
-        this.callback = null;
-        const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        this.runInAsyncScope(callback, null, null, {
-          headers,
-          socket,
-          opaque,
-          context: context2
-        });
-      }
-      onError(err) {
-        const { callback, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
+        if (body !== null) {
+          body = webidl.converters.BodyInit(body);
+        }
+        init = webidl.converters.ResponseInit(init);
+        this[kState] = makeResponse({});
+        this[kHeaders] = new Headers(kConstruct);
+        setHeadersGuard(this[kHeaders], "response");
+        setHeadersList(this[kHeaders], this[kState].headersList);
+        let bodyWithType = null;
+        if (body != null) {
+          const [extractedBody, type2] = extractBody(body);
+          bodyWithType = { body: extractedBody, type: type2 };
         }
+        initializeResponse(this, init, bodyWithType);
       }
-    };
-    function upgrade(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve8, reject) => {
-          upgrade.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve8(data);
-          });
-        });
+      // Returns response’s type, e.g., "cors".
+      get type() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].type;
       }
-      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;
+      // Returns response’s URL, if it has one; otherwise the empty string.
+      get url() {
+        webidl.brandCheck(this, _Response);
+        const urlList = this[kState].urlList;
+        const url2 = urlList[urlList.length - 1] ?? null;
+        if (url2 === null) {
+          return "";
         }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        return URLSerializer(url2, true);
       }
-    }
-    module2.exports = upgrade;
-  }
-});
-
-// node_modules/undici/lib/api/api-connect.js
-var require_api_connect2 = __commonJS({
-  "node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
-    "use strict";
-    var { AsyncResource } = require("async_hooks");
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
-    var util = require_util9();
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var ConnectHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
-        }
-        const { signal, opaque, responseHeaders } = opts;
-        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-        }
-        super("UNDICI_CONNECT");
-        this.opaque = opaque || null;
-        this.responseHeaders = responseHeaders || null;
-        this.callback = callback;
-        this.abort = null;
-        addSignal(this, signal);
+      // Returns whether response was obtained through a redirect.
+      get redirected() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].urlList.length > 1;
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
+      // Returns response’s status.
+      get status() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status;
       }
-      onHeaders() {
-        throw new SocketError("bad connect", null);
+      // Returns whether response’s status is an ok status.
+      get ok() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status >= 200 && this[kState].status <= 299;
       }
-      onUpgrade(statusCode, rawHeaders, socket) {
-        const { callback, opaque, context: context2 } = 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: context2
-        });
+      // Returns response’s status message.
+      get statusText() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].statusText;
       }
-      onError(err) {
-        const { callback, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
+      // Returns response’s headers as Headers.
+      get headers() {
+        webidl.brandCheck(this, _Response);
+        return this[kHeaders];
       }
-    };
-    function connect(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve8, reject) => {
-          connect.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve8(data);
-          });
-        });
+      get body() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      try {
-        const connectHandler = new ConnectHandler(opts, callback);
-        this.dispatch({ ...opts, method: "CONNECT" }, connectHandler);
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
+      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 opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        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]));
       }
-    }
-    module2.exports = connect;
-  }
-});
-
-// node_modules/undici/lib/api/index.js
-var require_api2 = __commonJS({
-  "node_modules/undici/lib/api/index.js"(exports2, module2) {
-    "use strict";
-    module2.exports.request = require_api_request2();
-    module2.exports.stream = require_api_stream2();
-    module2.exports.pipeline = require_api_pipeline2();
-    module2.exports.upgrade = require_api_upgrade2();
-    module2.exports.connect = require_api_connect2();
-  }
-});
-
-// node_modules/undici/lib/mock/mock-errors.js
-var require_mock_errors2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
-    "use strict";
-    var { UndiciError } = require_errors2();
-    var MockNotMatchedError = class _MockNotMatchedError extends UndiciError {
-      constructor(message) {
-        super(message);
-        Error.captureStackTrace(this, _MockNotMatchedError);
-        this.name = "MockNotMatchedError";
-        this.message = message || "The request does not match any registered mock dispatches";
-        this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED";
+      [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)}`;
       }
     };
-    module2.exports = {
-      MockNotMatchedError
-    };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-symbols.js
-var require_mock_symbols2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      kAgent: /* @__PURE__ */ Symbol("agent"),
-      kOptions: /* @__PURE__ */ Symbol("options"),
-      kFactory: /* @__PURE__ */ Symbol("factory"),
-      kDispatches: /* @__PURE__ */ Symbol("dispatches"),
-      kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
-      kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
-      kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
-      kContentLength: /* @__PURE__ */ Symbol("content length"),
-      kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
-      kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
-      kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
-      kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
-      kClose: /* @__PURE__ */ Symbol("close"),
-      kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
-      kOrigin: /* @__PURE__ */ Symbol("origin"),
-      kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
-      kNetConnect: /* @__PURE__ */ Symbol("net connect"),
-      kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
-      kConnected: /* @__PURE__ */ Symbol("connected")
-    };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-utils.js
-var require_mock_utils2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
-    "use strict";
-    var { MockNotMatchedError } = require_mock_errors2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kOriginalDispatch,
-      kOrigin,
-      kGetNetConnect
-    } = require_mock_symbols2();
-    var { buildURL, nop } = require_util9();
-    var { STATUS_CODES } = require("http");
-    var {
-      types: {
-        isPromise
-      }
-    } = require("util");
-    function matchValue(match, value) {
-      if (typeof match === "string") {
-        return match === value;
+    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
       }
-      if (match instanceof RegExp) {
-        return match.test(value);
+    });
+    Object.defineProperties(Response, {
+      json: kEnumerableProperty,
+      redirect: kEnumerableProperty,
+      error: kEnumerableProperty
+    });
+    function cloneResponse(response) {
+      if (response.internalResponse) {
+        return filterResponse(
+          cloneResponse(response.internalResponse),
+          response.type
+        );
       }
-      if (typeof match === "function") {
-        return match(value) === true;
+      const newResponse = makeResponse({ ...response, body: null });
+      if (response.body != null) {
+        newResponse.body = cloneBody(newResponse, response.body);
       }
-      return false;
+      return newResponse;
     }
-    function lowerCaseEntries(headers) {
-      return Object.fromEntries(
-        Object.entries(headers).map(([headerName, headerValue]) => {
-          return [headerName.toLocaleLowerCase(), headerValue];
-        })
+    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 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];
-          }
+    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;
         }
-        return void 0;
-      } else if (typeof headers.get === "function") {
-        return headers.get(key);
+      });
+    }
+    function filterResponse(response, type2) {
+      if (type2 === "basic") {
+        return makeFilteredResponse(response, {
+          type: "basic",
+          headersList: response.headersList
+        });
+      } else if (type2 === "cors") {
+        return makeFilteredResponse(response, {
+          type: "cors",
+          headersList: response.headersList
+        });
+      } else if (type2 === "opaque") {
+        return makeFilteredResponse(response, {
+          type: "opaque",
+          urlList: Object.freeze([]),
+          status: 0,
+          statusText: "",
+          body: null
+        });
+      } else if (type2 === "opaqueredirect") {
+        return makeFilteredResponse(response, {
+          type: "opaqueredirect",
+          status: 0,
+          statusText: "",
+          headersList: [],
+          body: null
+        });
       } else {
-        return lowerCaseEntries(headers)[key.toLocaleLowerCase()];
+        assert(false);
       }
     }
-    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 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 matchHeaders(mockDispatch2, headers) {
-      if (typeof mockDispatch2.headers === "function") {
-        if (Array.isArray(headers)) {
-          headers = buildHeadersFromArray(headers);
-        }
-        return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {});
+    function initializeResponse(response, init, body) {
+      if (init.status !== null && (init.status < 200 || init.status > 599)) {
+        throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
       }
-      if (typeof mockDispatch2.headers === "undefined") {
-        return true;
+      if ("statusText" in init && init.statusText != null) {
+        if (!isValidReasonPhrase(String(init.statusText))) {
+          throw new TypeError("Invalid statusText");
+        }
       }
-      if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") {
-        return false;
+      if ("status" in init && init.status != null) {
+        response[kState].status = init.status;
       }
-      for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) {
-        const headerValue = getHeaderByName(headers, matchHeaderName);
-        if (!matchValue(matchHeaderValue, headerValue)) {
-          return false;
-        }
+      if ("statusText" in init && init.statusText != null) {
+        response[kState].statusText = init.statusText;
       }
-      return true;
-    }
-    function safeUrl(path16) {
-      if (typeof path16 !== "string") {
-        return path16;
+      if ("headers" in init && init.headers != null) {
+        fill(response[kHeaders], init.headers);
       }
-      const pathSegments = path16.split("?");
-      if (pathSegments.length !== 2) {
-        return path16;
+      if (body) {
+        if (nullBodyStatus.includes(response.status)) {
+          throw webidl.errors.exception({
+            header: "Response constructor",
+            message: `Invalid response status code ${response.status}`
+          });
+        }
+        response[kState].body = body.body;
+        if (body.type != null && !response[kState].headersList.contains("content-type", true)) {
+          response[kState].headersList.append("content-type", body.type, true);
+        }
       }
-      const qp = new URLSearchParams(pathSegments.pop());
-      qp.sort();
-      return [...pathSegments, qp.toString()].join("?");
-    }
-    function matchKey(mockDispatch2, { path: path16, method, body, headers }) {
-      const pathMatch = matchValue(mockDispatch2.path, path16);
-      const methodMatch = matchValue(mockDispatch2.method, method);
-      const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
-      const headersMatch = matchHeaders(mockDispatch2, headers);
-      return pathMatch && methodMatch && bodyMatch && headersMatch;
     }
-    function getResponseData2(data) {
-      if (Buffer.isBuffer(data)) {
-        return data;
-      } else if (typeof data === "object") {
-        return JSON.stringify(data);
-      } else {
-        return data.toString();
+    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;
     }
-    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: path16 }) => matchValue(safeUrl(path16), resolvedPath));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
+    webidl.converters.ReadableStream = webidl.interfaceConverter(
+      ReadableStream
+    );
+    webidl.converters.FormData = webidl.interfaceConverter(
+      FormData2
+    );
+    webidl.converters.URLSearchParams = webidl.interfaceConverter(
+      URLSearchParams
+    );
+    webidl.converters.XMLHttpRequestBodyInit = function(V, prefix, name) {
+      if (typeof V === "string") {
+        return webidl.converters.USVString(V, prefix, name);
       }
-      matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`);
+      if (isBlobLike(V)) {
+        return webidl.converters.Blob(V, prefix, name, { strict: false });
       }
-      matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`);
+      if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) {
+        return webidl.converters.BufferSource(V, prefix, name);
       }
-      matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers}'`);
+      if (util.isFormDataLike(V)) {
+        return webidl.converters.FormData(V, prefix, name, { strict: false });
       }
-      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);
+      if (V instanceof URLSearchParams) {
+        return webidl.converters.URLSearchParams(V, prefix, name);
       }
-    }
-    function buildKey(opts) {
-      const { path: path16, method, body, headers, query } = opts;
-      return {
-        path: path16,
-        method,
-        body,
-        headers,
-        query
-      };
-    }
-    function generateKeyValues(data) {
-      return Object.entries(data).reduce((keyValuePairs, [key, value]) => [
-        ...keyValuePairs,
-        Buffer.from(`${key}`),
-        Array.isArray(value) ? value.map((x) => Buffer.from(`${x}`)) : Buffer.from(`${value}`)
-      ], []);
-    }
-    function getStatusText(statusCode) {
-      return STATUS_CODES[statusCode] || "unknown";
-    }
-    async function getResponse(body) {
-      const buffers = [];
-      for await (const data of body) {
-        buffers.push(data);
+      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);
       }
-      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) };
+      if (V?.[Symbol.asyncIterator]) {
+        return V;
       }
-      const { data: { statusCode, data, headers, trailers, error: error3 }, delay: delay2, persist } = mockDispatch2;
-      const { timesInvoked, times } = mockDispatch2;
-      mockDispatch2.consumed = !persist && timesInvoked >= times;
-      mockDispatch2.pending = timesInvoked < times;
-      if (error3 !== null) {
-        deleteMockDispatch(this[kDispatches], key);
-        handler2.onError(error3);
-        return true;
+      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
       }
-      if (typeof delay2 === "number" && delay2 > 0) {
-        setTimeout(() => {
-          handleReply(this[kDispatches]);
-        }, delay2);
-      } else {
-        handleReply(this[kDispatches]);
+    ]);
+    module2.exports = {
+      isNetworkError,
+      makeNetworkError,
+      makeResponse,
+      makeAppropriateNetworkError,
+      filterResponse,
+      Response,
+      cloneResponse,
+      fromInnerResponse
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js
+var require_dispatcher_weakref2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js"(exports2, module2) {
+    "use strict";
+    var { kConnected, kSize } = require_symbols6();
+    var CompatWeakRef = class {
+      constructor(value) {
+        this.value = value;
       }
-      function handleReply(mockDispatches, _data = data) {
-        const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
-        const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
-        if (isPromise(body)) {
-          body.then((newData) => handleReply(mockDispatches, newData));
-          return;
-        }
-        const responseData = getResponseData2(body);
-        const responseHeaders = generateKeyValues(headers);
-        const responseTrailers = generateKeyValues(trailers);
-        handler2.abort = nop;
-        handler2.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode));
-        handler2.onData(Buffer.from(responseData));
-        handler2.onComplete(responseTrailers);
-        deleteMockDispatch(mockDispatches, key);
+      deref() {
+        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
       }
-      function resume() {
+    };
+    var CompatFinalizer = class {
+      constructor(finalizer) {
+        this.finalizer = finalizer;
       }
-      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 (error3) {
-            if (error3 instanceof MockNotMatchedError) {
-              const netConnect = agent[kGetNetConnect]();
-              if (netConnect === false) {
-                throw new MockNotMatchedError(`${error3.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(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
-              }
-            } else {
-              throw error3;
+      register(dispatcher, key) {
+        if (dispatcher.on) {
+          dispatcher.on("disconnect", () => {
+            if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {
+              this.finalizer(key);
             }
-          }
-        } else {
-          originalDispatch.call(this, opts, handler2);
+          });
         }
-      };
-    }
-    function checkNetConnect(netConnect, origin) {
-      const url2 = new URL(origin);
-      if (netConnect === true) {
-        return true;
-      } else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url2.host))) {
-        return true;
       }
-      return false;
-    }
-    function buildMockOptions(opts) {
-      if (opts) {
-        const { agent, ...mockOptions } = opts;
-        return mockOptions;
+      unregister(key) {
       }
-    }
-    module2.exports = {
-      getResponseData: getResponseData2,
-      getMockDispatch,
-      addMockDispatch,
-      deleteMockDispatch,
-      buildKey,
-      generateKeyValues,
-      matchValue,
-      getResponse,
-      getStatusText,
-      mockDispatch,
-      buildMockDispatch,
-      checkNetConnect,
-      buildMockOptions,
-      getHeaderByName
+    };
+    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/mock/mock-interceptor.js
-var require_mock_interceptor2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js
+var require_request4 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js"(exports2, module2) {
     "use strict";
-    var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils2();
+    var { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body2();
+    var { Headers, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers2();
+    var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
+    var util = require_util9();
+    var nodeUtil = require("node:util");
     var {
-      kDispatches,
-      kDispatchKey,
-      kDefaultHeaders,
-      kDefaultTrailers,
-      kContentLength,
-      kMockDispatch
-    } = require_mock_symbols2();
-    var { InvalidArgumentError } = require_errors2();
-    var { buildURL } = require_util9();
-    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");
+      isValidHTTPToken,
+      sameOrigin,
+      environmentSettingsObject
+    } = require_util10();
+    var {
+      forbiddenMethodsSet,
+      corsSafeListedMethodsSet,
+      referrerPolicy,
+      requestRedirect,
+      requestMode,
+      requestCredentials,
+      requestCache,
+      requestDuplex
+    } = require_constants8();
+    var { kEnumerableProperty, normalizedMethodRecordsBase, normalizedMethodRecords } = util;
+    var { kHeaders, kSignal, kState, kDispatcher } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    var assert = require("node:assert");
+    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("node:events");
+    var kAbortController = /* @__PURE__ */ 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);
+          }
         }
-        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");
+    }
+    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;
         }
-        this[kMockDispatch].times = repeatTimes;
-        return this;
-      }
-    };
-    var MockInterceptor = class {
-      constructor(opts, mockDispatches) {
-        if (typeof opts !== "object") {
-          throw new InvalidArgumentError("opts must be an object");
+        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];
         }
-        if (typeof opts.path === "undefined") {
-          throw new InvalidArgumentError("opts.path must be defined");
+        const origin = environmentSettingsObject.settingsObject.origin;
+        let window2 = "client";
+        if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
+          window2 = request2.window;
         }
-        if (typeof opts.method === "undefined") {
-          opts.method = "GET";
+        if (init.window != null) {
+          throw new TypeError(`'window' option '${window2}' must be null`);
         }
-        if (typeof opts.path === "string") {
-          if (opts.query) {
-            opts.path = buildURL(opts.path, opts.query);
+        if ("window" in init) {
+          window2 = "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: window2,
+          // 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 {
-            const parsedURL = new URL(opts.path, "data://");
-            opts.path = parsedURL.pathname + parsedURL.search;
+            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 (typeof opts.method === "string") {
-          opts.method = opts.method.toUpperCase();
+        if (init.referrerPolicy !== void 0) {
+          request2.referrerPolicy = init.referrerPolicy;
         }
-        this[kDispatchKey] = buildKey(opts);
-        this[kDispatches] = mockDispatches;
-        this[kDefaultHeaders] = {};
-        this[kDefaultTrailers] = {};
-        this[kContentLength] = false;
+        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;
       }
-      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 };
+      // Returns request’s HTTP method, which is "GET" by default.
+      get method() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].method;
       }
-      validateReplyParameters(statusCode, data, responseOptions) {
-        if (typeof statusCode === "undefined") {
-          throw new InvalidArgumentError("statusCode must be defined");
-        }
-        if (typeof data === "undefined") {
-          throw new InvalidArgumentError("data must be defined");
+      // 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 (typeof responseOptions !== "object") {
-          throw new InvalidArgumentError("responseOptions must be an object");
+        if (this[kState].referrer === "client") {
+          return "about:client";
         }
+        return this[kState].referrer.toString();
       }
-      /**
-       * Mock an undici request with a defined reply.
-       */
-      reply(replyData) {
-        if (typeof replyData === "function") {
-          const wrappedDefaultsCallback = (opts) => {
-            const resolvedData = replyData(opts);
-            if (typeof resolvedData !== "object") {
-              throw new InvalidArgumentError("reply options callback must return an object");
-            }
-            const { statusCode: statusCode2, data: data2 = "", responseOptions: responseOptions2 = {} } = resolvedData;
-            this.validateReplyParameters(statusCode2, data2, responseOptions2);
-            return {
-              ...this.createMockScopeDispatchData(statusCode2, data2, responseOptions2)
-            };
-          };
-          const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback);
-          return new MockScope(newMockDispatch2);
-        }
-        const [statusCode, data = "", responseOptions = {}] = [...arguments];
-        this.validateReplyParameters(statusCode, data, responseOptions);
-        const dispatchData = this.createMockScopeDispatchData(statusCode, data, responseOptions);
-        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData);
-        return new MockScope(newMockDispatch);
+      // 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;
       }
-      /**
-       * Mock an undici request with a defined error.
-       */
-      replyWithError(error3) {
-        if (typeof error3 === "undefined") {
-          throw new InvalidArgumentError("error must be defined");
-        }
-        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error: error3 });
-        return new MockScope(newMockDispatch);
+      // 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;
       }
-      /**
-       * 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;
+      // 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;
       }
-      /**
-       * 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;
+      // 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;
       }
-      /**
-       * Set reply content length header for replies on the interceptor
-       */
-      replyContentLength() {
-        this[kContentLength] = true;
-        return this;
+      // 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;
       }
-    };
-    module2.exports.MockInterceptor = MockInterceptor;
-    module2.exports.MockScope = MockScope;
-  }
-});
-
-// node_modules/undici/lib/mock/mock-client.js
-var require_mock_client2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
-    "use strict";
-    var { promisify } = require("util");
-    var Client = require_client2();
-    var { buildMockDispatch } = require_mock_utils2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kClose,
-      kOriginalClose,
-      kOrigin,
-      kOriginalDispatch,
-      kConnected
-    } = require_mock_symbols2();
-    var { MockInterceptor } = require_mock_interceptor2();
-    var Symbols = require_symbols6();
-    var { InvalidArgumentError } = require_errors2();
-    var MockClient = class extends Client {
-      constructor(origin, opts) {
-        super(origin, opts);
-        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
-        }
-        this[kMockAgent] = opts.agent;
-        this[kOrigin] = origin;
-        this[kDispatches] = [];
-        this[kConnected] = 1;
-        this[kOriginalDispatch] = this.dispatch;
-        this[kOriginalClose] = this.close.bind(this);
-        this.dispatch = buildMockDispatch.call(this);
-        this.close = this[kClose];
+      // 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;
       }
-      get [Symbols.kConnected]() {
-        return this[kConnected];
+      // 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;
       }
-      /**
-       * Sets up the base interceptor for mocking replies from undici.
-       */
-      intercept(opts) {
-        return new MockInterceptor(opts, this[kDispatches]);
+      // Returns a boolean indicating whether or not request is for a reload
+      // navigation.
+      get isReloadNavigation() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].reloadNavigation;
       }
-      async [kClose]() {
-        await promisify(this[kOriginalClose])();
-        this[kConnected] = 0;
-        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
+      // 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;
       }
-    };
-    module2.exports = MockClient;
-  }
-});
-
-// node_modules/undici/lib/mock/mock-pool.js
-var require_mock_pool2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
-    "use strict";
-    var { promisify } = require("util");
-    var Pool = require_pool2();
-    var { buildMockDispatch } = require_mock_utils2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kClose,
-      kOriginalClose,
-      kOrigin,
-      kOriginalDispatch,
-      kConnected
-    } = require_mock_symbols2();
-    var { MockInterceptor } = require_mock_interceptor2();
-    var Symbols = require_symbols6();
-    var { InvalidArgumentError } = require_errors2();
-    var MockPool = class extends Pool {
-      constructor(origin, opts) {
-        super(origin, opts);
-        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
-        }
-        this[kMockAgent] = opts.agent;
-        this[kOrigin] = origin;
-        this[kDispatches] = [];
-        this[kConnected] = 1;
-        this[kOriginalDispatch] = this.dispatch;
-        this[kOriginalClose] = this.close.bind(this);
-        this.dispatch = buildMockDispatch.call(this);
-        this.close = this[kClose];
+      // 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 [Symbols.kConnected]() {
-        return this[kConnected];
+      get body() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      /**
-       * Sets up the base interceptor for mocking replies from undici.
-       */
-      intercept(opts) {
-        return new MockInterceptor(opts, this[kDispatches]);
+      get bodyUsed() {
+        webidl.brandCheck(this, _Request);
+        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
       }
-      async [kClose]() {
-        await promisify(this[kOriginalClose])();
-        this[kConnected] = 0;
-        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
+      get duplex() {
+        webidl.brandCheck(this, _Request);
+        return "half";
       }
-    };
-    module2.exports = MockPool;
-  }
-});
-
-// node_modules/undici/lib/mock/pluralizer.js
-var require_pluralizer2 = __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;
+      // 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]));
       }
-      pluralize(count) {
-        const one = count === 1;
-        const keys = one ? singulars : plurals;
-        const noun = one ? this.singular : this.plural;
-        return { ...keys, count, noun };
+      [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)}`;
       }
     };
-  }
-});
-
-// node_modules/undici/lib/mock/pending-interceptors-formatter.js
-var require_pending_interceptors_formatter2 = __commonJS({
-  "node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
-    "use strict";
-    var { Transform } = require("stream");
-    var { Console } = require("console");
-    module2.exports = class PendingInterceptorsFormatter {
-      constructor({ disableColors } = {}) {
-        this.transform = new Transform({
-          transform(chunk, _enc, cb) {
-            cb(null, chunk);
-          }
-        });
-        this.logger = new Console({
-          stdout: this.transform,
-          inspectOptions: {
-            colors: !disableColors && !process.env.CI
-          }
-        });
+    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);
       }
-      format(pendingInterceptors) {
-        const withPrettyHeaders = pendingInterceptors.map(
-          ({ method, path: path16, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
-            Method: method,
-            Origin: origin,
-            Path: path16,
-            "Status code": statusCode,
-            Persistent: persist ? "\u2705" : "\u274C",
-            Invocations: timesInvoked,
-            Remaining: persist ? Infinity : times - timesInvoked
-          })
-        );
-        this.logger.table(withPrettyHeaders);
-        return this.transform.read().toString();
+      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);
     };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-agent.js
-var require_mock_agent2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
-    "use strict";
-    var { kClients } = require_symbols6();
-    var Agent = require_agent2();
-    var {
-      kAgent,
-      kMockAgentSet,
-      kMockAgentGet,
-      kDispatches,
-      kIsMockActive,
-      kNetConnect,
-      kGetNetConnect,
-      kOptions,
-      kFactory
-    } = require_mock_symbols2();
-    var MockClient = require_mock_client2();
-    var MockPool = require_mock_pool2();
-    var { matchValue, buildMockOptions } = require_mock_utils2();
-    var { InvalidArgumentError, UndiciError } = require_errors2();
-    var Dispatcher = require_dispatcher2();
-    var Pluralizer = require_pluralizer2();
-    var PendingInterceptorsFormatter = require_pending_interceptors_formatter2();
-    var FakeWeakRef = class {
-      constructor(value) {
-        this.value = value;
+    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
       }
-      deref() {
-        return this.value;
+    ]);
+    module2.exports = { Request, makeRequest, fromInnerRequest, cloneRequest };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js
+var require_fetch2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js"(exports2, module2) {
+    "use strict";
+    var {
+      makeNetworkError,
+      makeAppropriateNetworkError,
+      filterResponse,
+      makeResponse,
+      fromInnerResponse
+    } = require_response2();
+    var { HeadersList } = require_headers2();
+    var { Request, cloneRequest } = require_request4();
+    var zlib2 = 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_util10();
+    var { kState, kDispatcher } = require_symbols7();
+    var assert = require("node:assert");
+    var { safelyExtractBody, extractBody } = require_body2();
+    var {
+      redirectStatusSet,
+      nullBodyStatus,
+      safeMethodsSet,
+      requestBodyHeader,
+      subresourceSet
+    } = require_constants8();
+    var EE = require("node:events");
+    var { Readable: Readable2, pipeline, finished } = require("node:stream");
+    var { addAbortListener, isErrored, isReadable, bufferToLowerCasedHeaderName } = require_util9();
+    var { dataURLProcessor, serializeAMimeType, minimizeSupportedMimeType } = require_data_url2();
+    var { getGlobalDispatcher } = require_global4();
+    var { webidl } = require_webidl2();
+    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";
       }
-    };
-    var MockAgent = class extends Dispatcher {
-      constructor(opts) {
-        super(opts);
-        this[kNetConnect] = true;
-        this[kIsMockActive] = true;
-        if (opts && opts.agent && typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
+      terminate(reason) {
+        if (this.state !== "ongoing") {
+          return;
         }
-        const agent = opts && opts.agent ? opts.agent : new Agent(opts);
-        this[kAgent] = agent;
-        this[kClients] = agent[kClients];
-        this[kOptions] = buildMockOptions(opts);
+        this.state = "terminated";
+        this.connection?.destroy(reason);
+        this.emit("terminated", reason);
       }
-      get(origin) {
-        let dispatcher = this[kMockAgentGet](origin);
-        if (!dispatcher) {
-          dispatcher = this[kFactory](origin);
-          this[kMockAgentSet](origin, dispatcher);
+      // https://fetch.spec.whatwg.org/#fetch-controller-abort
+      abort(error3) {
+        if (this.state !== "ongoing") {
+          return;
         }
-        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.");
+        this.state = "aborted";
+        if (!error3) {
+          error3 = new DOMException("The operation was aborted.", "AbortError");
         }
+        this.serializedAbortReason = error3;
+        this.connection?.destroy(error3);
+        this.emit("terminated", error3);
       }
-      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];
+    };
+    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;
       }
-      [kMockAgentSet](origin, dispatcher) {
-        this[kClients].set(origin, new FakeWeakRef(dispatcher));
+      const request2 = requestObject[kState];
+      if (requestObject.signal.aborted) {
+        abortFetch(p, request2, null, requestObject.signal.reason);
+        return p.promise;
       }
-      [kFactory](origin) {
-        const mockOptions = Object.assign({ agent: this }, this[kOptions]);
-        return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions);
+      const globalObject = request2.client.globalObject;
+      if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") {
+        request2.serviceWorkers = "none";
       }
-      [kMockAgentGet](origin) {
-        const ref = this[kClients].get(origin);
-        if (ref) {
-          return ref.deref();
+      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);
         }
-        if (typeof origin !== "string") {
-          const dispatcher = this[kFactory]("http://localhost:9999");
-          this[kMockAgentSet](origin, dispatcher);
-          return dispatcher;
+      );
+      const processResponse = (response) => {
+        if (locallyAborted) {
+          return;
         }
-        for (const [keyMatcher, nonExplicitRef] of Array.from(this[kClients])) {
-          const nonExplicitDispatcher = nonExplicitRef.deref();
-          if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) {
-            const dispatcher = this[kFactory](origin);
-            this[kMockAgentSet](origin, dispatcher);
-            dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches];
-            return dispatcher;
-          }
+        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;
       }
-      [kGetNetConnect]() {
-        return this[kNetConnect];
+      if (!response.urlList?.length) {
+        return;
       }
-      pendingInterceptors() {
-        const mockAgentClients = this[kClients];
-        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope.deref()[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
+      const originalURL = response.urlList[0];
+      let timingInfo = response.timingInfo;
+      let cacheState = response.cacheState;
+      if (!urlIsHttpHttpsScheme(originalURL)) {
+        return;
       }
-      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());
+      if (timingInfo === null) {
+        return;
       }
-    };
-    module2.exports = MockAgent;
-  }
-});
-
-// node_modules/undici/lib/proxy-agent.js
-var require_proxy_agent2 = __commonJS({
-  "node_modules/undici/lib/proxy-agent.js"(exports2, module2) {
-    "use strict";
-    var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols6();
-    var { URL: URL2 } = require("url");
-    var Agent = require_agent2();
-    var Pool = require_pool2();
-    var DispatcherBase = require_dispatcher_base2();
-    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
-    var buildConnector = require_connect2();
-    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
-    var kClient = /* @__PURE__ */ Symbol("proxy client");
-    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
-    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
-    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
-    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
-    function defaultProtocolPort(protocol) {
-      return protocol === "https:" ? 443 : 80;
+      if (!response.timingAllowPassed) {
+        timingInfo = createOpaqueTimingInfo({
+          startTime: timingInfo.startTime
+        });
+        cacheState = "";
+      }
+      timingInfo.endTime = coarsenedSharedCurrentTime();
+      response.timingInfo = timingInfo;
+      markResourceTiming(
+        timingInfo,
+        originalURL.href,
+        initiatorType,
+        globalThis,
+        cacheState
+      );
     }
-    function buildProxyOptions(opts) {
-      if (typeof opts === "string") {
-        opts = { uri: opts };
+    var markResourceTiming = performance.markResourceTiming;
+    function abortFetch(p, request2, responseObject, error3) {
+      if (p) {
+        p.reject(error3);
       }
-      if (!opts || !opts.uri) {
-        throw new InvalidArgumentError("Proxy opts.uri is mandatory");
+      if (request2.body != null && isReadable(request2.body?.stream)) {
+        request2.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
+          }
+          throw err;
+        });
       }
-      return {
-        uri: opts.uri,
-        protocol: opts.protocol || "https"
-      };
-    }
-    function defaultFactory(origin, opts) {
-      return new Pool(origin, opts);
-    }
-    var ProxyAgent = class extends DispatcherBase {
-      constructor(opts) {
-        super(opts);
-        this[kProxy] = buildProxyOptions(opts);
-        this[kAgent] = new Agent(opts);
-        this[kInterceptors] = opts.interceptors && opts.interceptors.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : [];
-        if (typeof opts === "string") {
-          opts = { uri: opts };
-        }
-        if (!opts || !opts.uri) {
-          throw new InvalidArgumentError("Proxy opts.uri is mandatory");
-        }
-        const { clientFactory = defaultFactory } = opts;
-        if (typeof clientFactory !== "function") {
-          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
-        }
-        this[kRequestTls] = opts.requestTls;
-        this[kProxyTls] = opts.proxyTls;
-        this[kProxyHeaders] = opts.headers || {};
-        const resolvedUrl = new URL2(opts.uri);
-        const { origin, port, host, username, password } = resolvedUrl;
-        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 });
-        this[kClient] = clientFactory(resolvedUrl, { connect });
-        this[kAgent] = new Agent({
-          ...opts,
-          connect: async (opts2, callback) => {
-            let requestedHost = opts2.host;
-            if (!opts2.port) {
-              requestedHost += `:${defaultProtocolPort(opts2.protocol)}`;
-            }
-            try {
-              const { socket, statusCode } = await this[kClient].connect({
-                origin,
-                port,
-                path: requestedHost,
-                signal: opts2.signal,
-                headers: {
-                  ...this[kProxyHeaders],
-                  host
-                }
-              });
-              if (statusCode !== 200) {
-                socket.on("error", () => {
-                }).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) {
-              callback(err);
-            }
+      if (responseObject == null) {
+        return;
+      }
+      const response = responseObject[kState];
+      if (response.body != null && isReadable(response.body?.stream)) {
+        response.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
           }
+          throw err;
         });
       }
-      dispatch(opts, handler2) {
-        const { host } = new URL2(opts.origin);
-        const headers = buildHeaders(opts.headers);
-        throwIfProxyAuthIsSent(headers);
-        return this[kAgent].dispatch(
-          {
-            ...opts,
-            headers: {
-              ...headers,
-              host
-            }
-          },
-          handler2
-        );
+    }
+    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;
       }
-      async [kClose]() {
-        await this[kAgent].close();
-        await this[kClient].close();
+      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";
       }
-      async [kDestroy]() {
-        await this[kAgent].destroy();
-        await this[kClient].destroy();
+      if (request2.origin === "client") {
+        request2.origin = request2.client.origin;
       }
-    };
-    function buildHeaders(headers) {
-      if (Array.isArray(headers)) {
-        const headersPair = {};
-        for (let i = 0; i < headers.length; i += 2) {
-          headersPair[headers[i]] = headers[i + 1];
+      if (request2.policyContainer === "client") {
+        if (request2.client != null) {
+          request2.policyContainer = clonePolicyContainer(
+            request2.client.policyContainer
+          );
+        } else {
+          request2.policyContainer = makePolicyContainer();
         }
-        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");
+      if (!request2.headersList.contains("accept", true)) {
+        const value = "*/*";
+        request2.headersList.append("accept", value, true);
       }
-    }
-    module2.exports = ProxyAgent;
-  }
-});
-
-// node_modules/undici/lib/handler/RetryHandler.js
-var require_RetryHandler = __commonJS({
-  "node_modules/undici/lib/handler/RetryHandler.js"(exports2, module2) {
-    var assert = require("assert");
-    var { kRetryHandlerDefaultRetry } = require_symbols6();
-    var { RequestRetryError } = require_errors2();
-    var { isDisturbed, parseHeaders, parseRangeHeader } = require_util9();
-    function calculateRetryAfterHeader(retryAfter) {
-      const current = Date.now();
-      const diff = new Date(retryAfter).getTime() - current;
-      return diff;
-    }
-    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;
-        this.abort = null;
-        this.aborted = false;
-        this.retryOpts = {
-          retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry],
-          retryAfter: retryAfter ?? true,
-          maxTimeout: maxTimeout ?? 30 * 1e3,
-          // 30s,
-          timeout: 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"
-          ]
-        };
-        this.retryCount = 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;
+      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);
+        })();
       }
-      onRequestSent() {
-        if (this.handler.onRequestSent) {
-          this.handler.onRequestSent();
-        }
+      if (recursive) {
+        return response;
       }
-      onUpgrade(statusCode, headers, socket) {
-        if (this.handler.onUpgrade) {
-          this.handler.onUpgrade(statusCode, headers, socket);
+      if (response.status !== 0 && !response.internalResponse) {
+        if (request2.responseTainting === "cors") {
         }
-      }
-      onConnect(abort) {
-        if (this.aborted) {
-          abort(this.reason);
+        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 {
-          this.abort = abort;
+          assert(false);
         }
       }
-      onBodySent(chunk) {
-        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
+      let internalResponse = response.status === 0 ? response : response.internalResponse;
+      if (internalResponse.urlList.length === 0) {
+        internalResponse.urlList.push(...request2.urlList);
       }
-      static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) {
-        const { statusCode, code, headers } = err;
-        const { method, retryOptions } = opts;
-        const {
-          maxRetries,
-          timeout,
-          maxTimeout,
-          timeoutFactor,
-          statusCodes,
-          errorCodes,
-          methods
-        } = retryOptions;
-        let { counter, currentTimeout } = state;
-        currentTimeout = currentTimeout != null && currentTimeout > 0 ? currentTimeout : timeout;
-        if (code && code !== "UND_ERR_REQ_RETRY" && code !== "UND_ERR_SOCKET" && !errorCodes.includes(code)) {
-          cb(err);
+      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;
         }
-        if (Array.isArray(methods) && !methods.includes(method)) {
-          cb(err);
-          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"));
         }
-        if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) {
-          cb(err);
-          return;
+        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 type2 = 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", type2, 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, type2);
+            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", type2, true);
+            response.headersList.set("content-range", contentRange, true);
+          }
+          return Promise.resolve(response);
         }
-        if (counter > maxRetries) {
-          cb(err);
-          return;
+        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]
+          }));
         }
-        let retryAfterHeader = headers != null && headers["retry-after"];
-        if (retryAfterHeader) {
-          retryAfterHeader = Number(retryAfterHeader);
-          retryAfterHeader = isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3;
+        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"));
         }
-        const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(currentTimeout * timeoutFactor ** counter, maxTimeout);
-        state.currentTimeout = retryTimeout;
-        setTimeout(() => cb(null), retryTimeout);
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const headers = parseHeaders(rawHeaders);
-        this.retryCount += 1;
-        if (statusCode >= 300) {
-          this.abort(
-            new RequestRetryError("Request failed", statusCode, {
-              headers,
-              count: this.retryCount
-            })
-          );
-          return false;
+    }
+    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;
         }
-        if (this.resume != null) {
-          this.resume = null;
-          if (statusCode !== 206) {
-            return true;
-          }
-          const contentRange = parseRangeHeader(headers["content-range"]);
-          if (!contentRange) {
-            this.abort(
-              new RequestRetryError("Content-Range mismatch", statusCode, {
-                headers,
-                count: this.retryCount
-              })
-            );
-            return false;
+        fetchParams.controller.reportTimingSteps = () => {
+          if (fetchParams.request.url.protocol !== "https:") {
+            return;
           }
-          if (this.etag != null && this.etag !== headers.etag) {
-            this.abort(
-              new RequestRetryError("ETag mismatch", statusCode, {
-                headers,
-                count: this.retryCount
-              })
-            );
-            return false;
+          timingInfo.endTime = unsafeEndTime;
+          let cacheState = response.cacheState;
+          const bodyInfo = response.bodyInfo;
+          if (!response.timingAllowPassed) {
+            timingInfo = createOpaqueTimingInfo(timingInfo);
+            cacheState = "";
           }
-          const { start, size, end = size } = 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
-              );
+          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);
             }
-            const { start, size, end = size } = range;
-            assert(
-              start != null && Number.isFinite(start) && this.start !== start,
-              "content-range mismatch"
-            );
-            assert(Number.isFinite(start));
-            assert(
-              end != null && Number.isFinite(end) && this.end !== 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) : null;
+          if (fetchParams.request.initiatorType != null) {
+            markResourceTiming(timingInfo, fetchParams.request.url.href, fetchParams.request.initiatorType, globalThis, cacheState, bodyInfo, responseStatus);
           }
-          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;
-          return this.handler.onHeaders(
-            statusCode,
-            rawHeaders,
-            resume,
-            statusMessage
-          );
-        }
-        const err = new RequestRetryError("Request failed", statusCode, {
-          headers,
-          count: this.retryCount
+        };
+        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;
         });
-        this.abort(err);
-        return false;
       }
-      onData(chunk) {
-        this.start += chunk.length;
-        return this.handler.onData(chunk);
+      const internalResponse = response.type === "error" ? response : response.internalResponse ?? response;
+      if (internalResponse.body == null) {
+        processResponseEndOfBody();
+      } else {
+        finished(internalResponse.body.stream, () => {
+          processResponseEndOfBody();
+        });
       }
-      onComplete(rawTrailers) {
-        this.retryCount = 0;
-        return this.handler.onComplete(rawTrailers);
+    }
+    async function httpFetch(fetchParams) {
+      const request2 = fetchParams.request;
+      let response = null;
+      let actualResponse = null;
+      const timingInfo = fetchParams.timingInfo;
+      if (request2.serviceWorkers === "all") {
       }
-      onError(err) {
-        if (this.aborted || isDisturbed(this.opts.body)) {
-          return this.handler.onError(err);
+      if (response === null) {
+        if (request2.redirect === "follow") {
+          request2.serviceWorkers = "none";
         }
-        this.retryOpts.retry(
-          err,
-          {
-            state: { counter: this.retryCount++, currentTimeout: this.retryAfter },
-            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) {
-            this.opts = {
-              ...this.opts,
-              headers: {
-                ...this.opts.headers,
-                range: `bytes=${this.start}-${this.end ?? ""}`
-              }
-            };
-          }
-          try {
-            this.dispatch(this.opts, this);
-          } catch (err3) {
-            this.handler.onError(err3);
-          }
+        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;
         }
       }
-    };
-    module2.exports = RetryHandler;
-  }
-});
-
-// node_modules/undici/lib/global.js
-var require_global4 = __commonJS({
-  "node_modules/undici/lib/global.js"(exports2, module2) {
-    "use strict";
-    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
-    var { InvalidArgumentError } = require_errors2();
-    var Agent = require_agent2();
-    if (getGlobalDispatcher() === void 0) {
-      setGlobalDispatcher(new Agent());
-    }
-    function setGlobalDispatcher(agent) {
-      if (!agent || typeof agent.dispatch !== "function") {
-        throw new InvalidArgumentError("Argument agent must implement Agent");
+      if ((request2.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
+        request2.origin,
+        request2.client,
+        request2.destination,
+        actualResponse
+      ) === "blocked") {
+        return makeNetworkError("blocked");
       }
-      Object.defineProperty(globalThis, globalDispatcher, {
-        value: agent,
-        writable: true,
-        enumerable: false,
-        configurable: false
-      });
+      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 getGlobalDispatcher() {
-      return globalThis[globalDispatcher];
+    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);
     }
-    module2.exports = {
-      setGlobalDispatcher,
-      getGlobalDispatcher
-    };
-  }
-});
-
-// node_modules/undici/lib/handler/DecoratorHandler.js
-var require_DecoratorHandler = __commonJS({
-  "node_modules/undici/lib/handler/DecoratorHandler.js"(exports2, module2) {
-    "use strict";
-    module2.exports = class DecoratorHandler {
-      constructor(handler2) {
-        this.handler = handler2;
+    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;
       }
-      onConnect(...args) {
-        return this.handler.onConnect(...args);
+      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";
       }
-      onError(...args) {
-        return this.handler.onError(...args);
+      if (contentLength != null) {
+        contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
       }
-      onUpgrade(...args) {
-        return this.handler.onUpgrade(...args);
+      if (contentLengthHeaderValue != null) {
+        httpRequest.headersList.append("content-length", contentLengthHeaderValue, true);
       }
-      onHeaders(...args) {
-        return this.handler.onHeaders(...args);
+      if (contentLength != null && httpRequest.keepalive) {
       }
-      onData(...args) {
-        return this.handler.onData(...args);
+      if (httpRequest.referrer instanceof URL) {
+        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href), true);
       }
-      onComplete(...args) {
-        return this.handler.onComplete(...args);
+      appendRequestOriginHeader(httpRequest);
+      appendFetchMetadata(httpRequest);
+      if (!httpRequest.headersList.contains("user-agent", true)) {
+        httpRequest.headersList.append("user-agent", defaultUserAgent);
       }
-      onBodySent(...args) {
-        return this.handler.onBodySent(...args);
+      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";
       }
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/headers.js
-var require_headers2 = __commonJS({
-  "node_modules/undici/lib/fetch/headers.js"(exports2, module2) {
-    "use strict";
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var { kGuard } = require_symbols7();
-    var { kEnumerableProperty } = require_util9();
-    var {
-      makeIterator,
-      isValidHeaderName,
-      isValidHeaderValue
-    } = require_util10();
-    var util = require("util");
-    var { webidl } = require_webidl2();
-    var assert = require("assert");
-    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
-    var kHeadersSortedMap = /* @__PURE__ */ 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]);
+      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);
         }
-      } 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]]);
+        if (!httpRequest.headersList.contains("cache-control", true)) {
+          httpRequest.headersList.append("cache-control", "no-cache", true);
         }
-      } 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 (headers[kGuard] === "immutable") {
-        throw new TypeError("immutable");
-      } else if (headers[kGuard] === "request-no-cors") {
+      if (httpRequest.headersList.contains("range", true)) {
+        httpRequest.headersList.append("accept-encoding", "identity", true);
       }
-      return headers[kHeadersList].append(name, value);
-    }
-    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];
+      if (!httpRequest.headersList.contains("accept-encoding", true)) {
+        if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
+          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate", true);
         } else {
-          this[kHeadersMap] = new Map(init);
-          this[kHeadersSortedMap] = null;
+          httpRequest.headersList.append("accept-encoding", "gzip, deflate", true);
         }
       }
-      // https://fetch.spec.whatwg.org/#header-list-contains
-      contains(name) {
-        name = name.toLowerCase();
-        return this[kHeadersMap].has(name);
+      httpRequest.headersList.delete("host", true);
+      if (includeCredentials) {
       }
-      clear() {
-        this[kHeadersMap].clear();
-        this[kHeadersSortedMap] = null;
-        this.cookies = null;
+      if (httpCache == null) {
+        httpRequest.cache = "no-store";
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-append
-      append(name, value) {
-        this[kHeadersSortedMap] = null;
-        const lowercaseName = name.toLowerCase();
-        const exists = this[kHeadersMap].get(lowercaseName);
-        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 (httpRequest.cache !== "no-store" && httpRequest.cache !== "reload") {
+      }
+      if (response == null) {
+        if (httpRequest.cache === "only-if-cached") {
+          return makeNetworkError("only if cached");
         }
-        if (lowercaseName === "set-cookie") {
-          this.cookies ??= [];
-          this.cookies.push(value);
+        const forwardResponse = await httpNetworkFetch(
+          httpFetchParams,
+          includeCredentials,
+          isNewConnectionFetch
+        );
+        if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {
         }
-      }
-      // https://fetch.spec.whatwg.org/#concept-header-list-set
-      set(name, value) {
-        this[kHeadersSortedMap] = null;
-        const lowercaseName = name.toLowerCase();
-        if (lowercaseName === "set-cookie") {
-          this.cookies = [value];
+        if (revalidatingFlag && forwardResponse.status === 304) {
         }
-        this[kHeadersMap].set(lowercaseName, { name, value });
-      }
-      // https://fetch.spec.whatwg.org/#concept-header-list-delete
-      delete(name) {
-        this[kHeadersSortedMap] = null;
-        name = name.toLowerCase();
-        if (name === "set-cookie") {
-          this.cookies = null;
+        if (response == null) {
+          response = forwardResponse;
         }
-        this[kHeadersMap].delete(name);
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-get
-      get(name) {
-        const value = this[kHeadersMap].get(name.toLowerCase());
-        return value === void 0 ? null : value.value;
+      response.urlList = [...httpRequest.urlList];
+      if (httpRequest.headersList.contains("range", true)) {
+        response.rangeRequested = true;
       }
-      *[Symbol.iterator]() {
-        for (const [name, { value }] of this[kHeadersMap]) {
-          yield [name, value];
+      response.requestIncludesCredentials = includeCredentials;
+      if (response.status === 407) {
+        if (request2.window === "no-window") {
+          return makeNetworkError();
         }
-      }
-      get entries() {
-        const headers = {};
-        if (this[kHeadersMap].size) {
-          for (const { name, value } of this[kHeadersMap].values()) {
-            headers[name] = value;
-          }
+        if (isCancelled(fetchParams)) {
+          return makeAppropriateNetworkError(fetchParams);
         }
-        return headers;
+        return makeNetworkError("proxy authentication required");
       }
-    };
-    var Headers = class _Headers {
-      constructor(init = void 0) {
-        if (init === kConstruct) {
-          return;
-        }
-        this[kHeadersList] = new HeadersList();
-        this[kGuard] = "none";
-        if (init !== void 0) {
-          init = webidl.converters.HeadersInit(init);
-          fill(this, init);
+      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
+        );
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-append
-      append(name, value) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.append" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
-        return appendHeader(this, name, value);
+      if (isAuthenticationFetch) {
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-delete
-      delete(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.delete" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.delete",
-            value: name,
-            type: "header name"
-          });
-        }
-        if (this[kGuard] === "immutable") {
-          throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
-        }
-        if (!this[kHeadersList].contains(name)) {
-          return;
+      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"));
+            }
+          }
         }
-        this[kHeadersList].delete(name);
+      };
+      const request2 = fetchParams.request;
+      let response = null;
+      const timingInfo = fetchParams.timingInfo;
+      const httpCache = null;
+      if (httpCache == null) {
+        request2.cache = "no-store";
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-get
-      get(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.get" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.get",
-            value: name,
-            type: "header name"
-          });
-        }
-        return this[kHeadersList].get(name);
+      const newConnection = forceNewConnection ? "yes" : "no";
+      if (request2.mode === "websocket") {
+      } else {
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-has
-      has(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.has" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.has",
-            value: name,
-            type: "header name"
-          });
-        }
-        return this[kHeadersList].contains(name);
+      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);
+          }
+        })();
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-set
-      set(name, value) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.set" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
-        value = headerValueNormalize(value);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
-            value: name,
-            type: "header name"
-          });
-        } else if (!isValidHeaderValue(value)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
-            value,
-            type: "header value"
-          });
+      try {
+        const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
+        if (socket) {
+          response = makeResponse({ status, statusText, headersList, socket });
+        } else {
+          const iterator2 = body[Symbol.asyncIterator]();
+          fetchParams.controller.next = () => iterator2.next();
+          response = makeResponse({ status, statusText, headersList });
         }
-        if (this[kGuard] === "immutable") {
-          throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
+      } catch (err) {
+        if (err.name === "AbortError") {
+          fetchParams.controller.connection.destroy();
+          return makeAppropriateNetworkError(fetchParams, err);
         }
-        this[kHeadersList].set(name, value);
+        return makeNetworkError(err);
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
-      getSetCookie() {
-        webidl.brandCheck(this, _Headers);
-        const list = this[kHeadersList].cookies;
-        if (list) {
-          return [...list];
+      const pullAlgorithm = async () => {
+        await fetchParams.controller.resume();
+      };
+      const cancelAlgorithm = (reason) => {
+        if (!isCancelled(fetchParams)) {
+          fetchParams.controller.abort(reason);
         }
-        return [];
-      }
-      // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
-      get [kHeadersSortedMap]() {
-        if (this[kHeadersList][kHeadersSortedMap]) {
-          return this[kHeadersList][kHeadersSortedMap];
+      };
+      const stream2 = new ReadableStream(
+        {
+          async start(controller) {
+            fetchParams.controller.controller = controller;
+          },
+          async pull(controller) {
+            await pullAlgorithm(controller);
+          },
+          async cancel(reason) {
+            await cancelAlgorithm(reason);
+          },
+          type: "bytes"
         }
-        const headers = [];
-        const names = [...this[kHeadersList]].sort((a, b) => a[0] < b[0] ? -1 : 1);
-        const cookies = this[kHeadersList].cookies;
-        for (let i = 0; i < names.length; ++i) {
-          const [name, value] = names[i];
-          if (name === "set-cookie") {
-            for (let j = 0; j < cookies.length; ++j) {
-              headers.push([name, cookies[j]]);
+      );
+      response.body = { stream: stream2, 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(stream2)) {
+            fetchParams.controller.terminate();
+            return;
+          }
+          if (fetchParams.controller.controller.desiredSize <= 0) {
+            return;
+          }
+        }
+      };
+      function onAborted(reason) {
+        if (isAborted(fetchParams)) {
+          response.aborted = true;
+          if (isReadable(stream2)) {
+            fetchParams.controller.controller.error(
+              fetchParams.controller.serializedAbortReason
+            );
+          }
+        } else {
+          if (isReadable(stream2)) {
+            fetchParams.controller.controller.error(new TypeError("terminated", {
+              cause: isErrorLike(reason) ? reason : void 0
+            }));
+          }
+        }
+        fetchParams.controller.connection.destroy();
+      }
+      return response;
+      function dispatch({ body }) {
+        const url2 = requestCurrentURL(request2);
+        const agent = fetchParams.controller.dispatcher;
+        return new Promise((resolve8, reject) => agent.dispatch(
+          {
+            path: url2.pathname + url2.search,
+            origin: url2.origin,
+            method: request2.method,
+            body: agent.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
+            headers: request2.headersList.entries,
+            maxRedirections: 0,
+            upgrade: request2.mode === "websocket" ? "websocket" : void 0
+          },
+          {
+            body: null,
+            abort: null,
+            onConnect(abort) {
+              const { connection } = fetchParams.controller;
+              timingInfo.finalConnectionTimingInfo = clampAndCoarsenConnectionTimingInfo(void 0, timingInfo.postRedirectStartTime, fetchParams.crossOriginIsolatedCapability);
+              if (connection.destroyed) {
+                abort(new DOMException("The operation was aborted.", "AbortError"));
+              } else {
+                fetchParams.controller.on("terminated", abort);
+                this.abort = connection.abort = abort;
+              }
+              timingInfo.finalNetworkRequestStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+            },
+            onResponseStarted() {
+              timingInfo.finalNetworkResponseStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+            },
+            onHeaders(status, rawHeaders, resume, statusText) {
+              if (status < 200) {
+                return;
+              }
+              let location = "";
+              const headersList = new HeadersList();
+              for (let i = 0; i < rawHeaders.length; i += 2) {
+                headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true);
+              }
+              location = headersList.get("location", true);
+              this.body = new Readable2({ 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(zlib2.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: zlib2.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib2.constants.Z_SYNC_FLUSH
+                    }));
+                  } else if (coding === "deflate") {
+                    decoders.push(createInflate({
+                      flush: zlib2.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib2.constants.Z_SYNC_FLUSH
+                    }));
+                  } else if (coding === "br") {
+                    decoders.push(zlib2.createBrotliDecompress({
+                      flush: zlib2.constants.BROTLI_OPERATION_FLUSH,
+                      finishFlush: zlib2.constants.BROTLI_OPERATION_FLUSH
+                    }));
+                  } else {
+                    decoders.length = 0;
+                    break;
+                  }
+                }
+              }
+              const onError = this.onError.bind(this);
+              resolve8({
+                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(error3) {
+              if (this.abort) {
+                fetchParams.controller.off("terminated", this.abort);
+              }
+              this.body?.destroy(error3);
+              fetchParams.controller.terminate(error3);
+              reject(error3);
+            },
+            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);
+              }
+              resolve8({
+                status,
+                statusText: STATUS_CODES[status],
+                headersList,
+                socket
+              });
+              return true;
             }
-          } else {
-            assert(value !== null);
-            headers.push([name, value]);
           }
-        }
-        this[kHeadersList][kHeadersSortedMap] = headers;
-        return headers;
-      }
-      keys() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key"
-        );
-      }
-      values() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "value"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "value"
-        );
-      }
-      entries() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key+value"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key+value"
-        );
-      }
-      /**
-       * @param {(value: string, key: string, self: Headers) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'."
-          );
-        }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
-        }
-      }
-      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")]() {
-        webidl.brandCheck(this, _Headers);
-        return this[kHeadersList];
-      }
-    };
-    Headers.prototype[Symbol.iterator] = Headers.prototype.entries;
-    Object.defineProperties(Headers.prototype, {
-      append: kEnumerableProperty,
-      delete: kEnumerableProperty,
-      get: kEnumerableProperty,
-      has: kEnumerableProperty,
-      set: kEnumerableProperty,
-      getSetCookie: kEnumerableProperty,
-      keys: kEnumerableProperty,
-      values: kEnumerableProperty,
-      entries: kEnumerableProperty,
-      forEach: kEnumerableProperty,
-      [Symbol.iterator]: { enumerable: false },
-      [Symbol.toStringTag]: {
-        value: "Headers",
-        configurable: true
-      },
-      [util.inspect.custom]: {
-        enumerable: false
-      }
-    });
-    webidl.converters.HeadersInit = function(V) {
-      if (webidl.util.Type(V) === "Object") {
-        if (V[Symbol.iterator]) {
-          return webidl.converters["sequence>"](V);
-        }
-        return webidl.converters["record"](V);
+        ));
       }
-      throw webidl.errors.conversionFailed({
-        prefix: "Headers constructor",
-        argument: "Argument 1",
-        types: ["sequence>", "record"]
-      });
+    }
+    module2.exports = {
+      fetch,
+      Fetch,
+      fetching,
+      finalizeAndReportTiming
     };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js
+var require_symbols8 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js"(exports2, module2) {
+    "use strict";
     module2.exports = {
-      fill,
-      Headers,
-      HeadersList
+      kState: /* @__PURE__ */ Symbol("FileReader state"),
+      kResult: /* @__PURE__ */ Symbol("FileReader result"),
+      kError: /* @__PURE__ */ Symbol("FileReader error"),
+      kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"),
+      kEvents: /* @__PURE__ */ Symbol("FileReader events"),
+      kAborted: /* @__PURE__ */ Symbol("FileReader aborted")
     };
   }
 });
 
-// node_modules/undici/lib/fetch/response.js
-var require_response2 = __commonJS({
-  "node_modules/undici/lib/fetch/response.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js
+var require_progressevent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js"(exports2, module2) {
     "use strict";
-    var { Headers, HeadersList, fill } = require_headers2();
-    var { extractBody, cloneBody, mixinBody } = require_body2();
-    var util = require_util9();
-    var { kEnumerableProperty } = util;
-    var {
-      isValidReasonPhrase,
-      isCancelled,
-      isAborted,
-      isBlobLike,
-      serializeJavascriptValueToJSONString,
-      isErrorLike,
-      isomorphicEncode
-    } = require_util10();
-    var {
-      redirectStatusSet,
-      nullBodyStatus,
-      DOMException: DOMException2
-    } = require_constants7();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
     var { webidl } = require_webidl2();
-    var { FormData: FormData2 } = require_formdata2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { types } = require("util");
-    var ReadableStream2 = globalThis.ReadableStream || require("stream/web").ReadableStream;
-    var textEncoder = new TextEncoder("utf-8");
-    var Response = class _Response {
-      // Creates network error Response.
-      static error() {
-        const relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kState] = makeNetworkError();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = responseObject[kState].headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        return responseObject;
-      }
-      // https://fetch.spec.whatwg.org/#dom-response-json
-      static json(data, init = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.json" });
-        if (init !== null) {
-          init = webidl.converters.ResponseInit(init);
-        }
-        const bytes = textEncoder.encode(
-          serializeJavascriptValueToJSONString(data)
-        );
-        const body = extractBody(bytes);
-        const relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "response";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
-        return responseObject;
-      }
-      // Creates a redirect Response that redirects to url with status status.
-      static redirect(url2, status = 302) {
-        const relevantRealm = { settingsObject: {} };
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.redirect" });
-        url2 = webidl.converters.USVString(url2);
-        status = webidl.converters["unsigned short"](status);
-        let parsedURL;
-        try {
-          parsedURL = new URL(url2, getGlobalOrigin());
-        } catch (err) {
-          throw Object.assign(new TypeError("Failed to parse URL from " + url2), {
-            cause: err
-          });
-        }
-        if (!redirectStatusSet.has(status)) {
-          throw new RangeError("Invalid status code " + status);
-        }
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        responseObject[kState].status = status;
-        const value = isomorphicEncode(URLSerializer(parsedURL));
-        responseObject[kState].headersList.append("location", value);
-        return responseObject;
-      }
-      // https://fetch.spec.whatwg.org/#dom-response
-      constructor(body = null, init = {}) {
-        if (body !== null) {
-          body = webidl.converters.BodyInit(body);
-        }
-        init = webidl.converters.ResponseInit(init);
-        this[kRealm] = { settingsObject: {} };
-        this[kState] = makeResponse({});
-        this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kGuard] = "response";
-        this[kHeaders][kHeadersList] = this[kState].headersList;
-        this[kHeaders][kRealm] = this[kRealm];
-        let bodyWithType = null;
-        if (body != null) {
-          const [extractedBody, type2] = extractBody(body);
-          bodyWithType = { body: extractedBody, type: type2 };
-        }
-        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 url2 = urlList[urlList.length - 1] ?? null;
-        if (url2 === null) {
-          return "";
-        }
-        return URLSerializer(url2, 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];
+    var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
+    var ProgressEvent = class _ProgressEvent extends Event {
+      constructor(type2, eventInitDict = {}) {
+        type2 = webidl.converters.DOMString(type2, "ProgressEvent constructor", "type");
+        eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
+        super(type2, eventInitDict);
+        this[kState] = {
+          lengthComputable: eventInitDict.lengthComputable,
+          loaded: eventInitDict.loaded,
+          total: eventInitDict.total
+        };
       }
-      get body() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].body ? this[kState].body.stream : null;
+      get lengthComputable() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].lengthComputable;
       }
-      get bodyUsed() {
-        webidl.brandCheck(this, _Response);
-        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
+      get loaded() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].loaded;
       }
-      // Returns a clone of response.
-      clone() {
-        webidl.brandCheck(this, _Response);
-        if (this.bodyUsed || this.body && this.body.locked) {
-          throw webidl.errors.exception({
-            header: "Response.clone",
-            message: "Body has already been consumed."
-          });
-        }
-        const clonedResponse = cloneResponse(this[kState]);
-        const clonedResponseObject = new _Response();
-        clonedResponseObject[kState] = clonedResponse;
-        clonedResponseObject[kRealm] = this[kRealm];
-        clonedResponseObject[kHeaders][kHeadersList] = clonedResponse.headersList;
-        clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm];
-        return clonedResponseObject;
+      get total() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].total;
       }
     };
-    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(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 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, type2) {
-      if (type2 === "basic") {
-        return makeFilteredResponse(response, {
-          type: "basic",
-          headersList: response.headersList
-        });
-      } else if (type2 === "cors") {
-        return makeFilteredResponse(response, {
-          type: "cors",
-          headersList: response.headersList
-        });
-      } else if (type2 === "opaque") {
-        return makeFilteredResponse(response, {
-          type: "opaque",
-          urlList: Object.freeze([]),
-          status: 0,
-          statusText: "",
-          body: null
-        });
-      } else if (type2 === "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 DOMException2("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException2("Request was cancelled."), { cause: err }));
-    }
-    function initializeResponse(response, init, body) {
-      if (init.status !== null && (init.status < 200 || init.status > 599)) {
-        throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
-      }
-      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;
+    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
       }
-      if ("headers" in init && init.headers != null) {
-        fill(response[kHeaders], init.headers);
+    ]);
+    module2.exports = {
+      ProgressEvent
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js
+var require_encoding2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js"(exports2, module2) {
+    "use strict";
+    function getEncoding(label) {
+      if (!label) {
+        return "failure";
       }
-      if (body) {
-        if (nullBodyStatus.includes(response.status)) {
-          throw webidl.errors.exception({
-            header: "Response constructor",
-            message: "Invalid response status code " + response.status
-          });
-        }
-        response[kState].body = body.body;
-        if (body.type != null && !response[kState].headersList.contains("Content-Type")) {
-          response[kState].headersList.append("content-type", body.type);
-        }
+      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";
       }
     }
-    webidl.converters.ReadableStream = webidl.interfaceConverter(
-      ReadableStream2
-    );
-    webidl.converters.FormData = webidl.interfaceConverter(
-      FormData2
-    );
-    webidl.converters.URLSearchParams = webidl.interfaceConverter(
-      URLSearchParams
-    );
-    webidl.converters.XMLHttpRequestBodyInit = function(V) {
-      if (typeof V === "string") {
-        return webidl.converters.USVString(V);
-      }
-      if (isBlobLike(V)) {
-        return webidl.converters.Blob(V, { strict: false });
-      }
-      if (types.isArrayBuffer(V) || types.isTypedArray(V) || types.isDataView(V)) {
-        return webidl.converters.BufferSource(V);
-      }
-      if (util.isFormDataLike(V)) {
-        return webidl.converters.FormData(V, { strict: false });
-      }
-      if (V instanceof URLSearchParams) {
-        return webidl.converters.URLSearchParams(V);
-      }
-      return webidl.converters.DOMString(V);
-    };
-    webidl.converters.BodyInit = function(V) {
-      if (V instanceof ReadableStream2) {
-        return webidl.converters.ReadableStream(V);
-      }
-      if (V?.[Symbol.asyncIterator]) {
-        return V;
-      }
-      return webidl.converters.XMLHttpRequestBodyInit(V);
-    };
-    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 = {
-      makeNetworkError,
-      makeResponse,
-      makeAppropriateNetworkError,
-      filterResponse,
-      Response,
-      cloneResponse
+      getEncoding
     };
   }
 });
 
-// node_modules/undici/lib/fetch/request.js
-var require_request4 = __commonJS({
-  "node_modules/undici/lib/fetch/request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js
+var require_util12 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js"(exports2, module2) {
     "use strict";
-    var { extractBody, mixinBody, cloneBody } = require_body2();
-    var { Headers, fill: fillHeaders, HeadersList } = require_headers2();
-    var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
-    var util = require_util9();
-    var {
-      isValidHTTPToken,
-      sameOrigin,
-      normalizeMethod,
-      makePolicyContainer,
-      normalizeMethodRecord
-    } = require_util10();
     var {
-      forbiddenMethodsSet,
-      corsSafeListedMethodsSet,
-      referrerPolicy,
-      requestRedirect,
-      requestMode,
-      requestCredentials,
-      requestCache,
-      requestDuplex
-    } = require_constants7();
-    var { kEnumerableProperty } = util;
-    var { kHeaders, kSignal, kState, kGuard, kRealm } = require_symbols7();
-    var { webidl } = require_webidl2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events");
-    var TransformStream2 = globalThis.TransformStream;
-    var kAbortController = /* @__PURE__ */ Symbol("abortController");
-    var requestFinalizer = new FinalizationRegistry2(({ signal, abort }) => {
-      signal.removeEventListener("abort", abort);
-    });
-    var Request = class _Request {
-      // https://fetch.spec.whatwg.org/#dom-request
-      constructor(input, init = {}) {
-        if (input === kConstruct) {
-          return;
-        }
-        webidl.argumentLengthCheck(arguments, 1, { header: "Request constructor" });
-        input = webidl.converters.RequestInfo(input);
-        init = webidl.converters.RequestInit(init);
-        this[kRealm] = {
-          settingsObject: {
-            baseUrl: getGlobalOrigin(),
-            get origin() {
-              return this.baseUrl?.origin;
-            },
-            policyContainer: makePolicyContainer()
-          }
-        };
-        let request2 = null;
-        let fallbackMode = null;
-        const baseUrl = this[kRealm].settingsObject.baseUrl;
-        let signal = null;
-        if (typeof input === "string") {
-          let parsedURL;
+      kState,
+      kError,
+      kResult,
+      kAborted,
+      kLastProgressEventFired
+    } = require_symbols8();
+    var { ProgressEvent } = require_progressevent2();
+    var { getEncoding } = require_encoding2();
+    var { serializeAMimeType, parseMIMEType } = require_data_url2();
+    var { types } = require("node:util");
+    var { StringDecoder } = require("string_decoder");
+    var { btoa: btoa2 } = require("node:buffer");
+    var staticPropertyDescriptors = {
+      enumerable: true,
+      writable: false,
+      configurable: false
+    };
+    function readOperation(fr, blob, type2, encodingName) {
+      if (fr[kState] === "loading") {
+        throw new DOMException("Invalid state", "InvalidStateError");
+      }
+      fr[kState] = "loading";
+      fr[kResult] = null;
+      fr[kError] = null;
+      const stream2 = blob.stream();
+      const reader = stream2.getReader();
+      const bytes = [];
+      let chunkPromise = reader.read();
+      let isFirstChunk = true;
+      (async () => {
+        while (!fr[kAborted]) {
           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 {
-          assert(input instanceof _Request);
-          request2 = input[kState];
-          signal = input[kSignal];
-        }
-        const origin = this[kRealm].settingsObject.origin;
-        let window2 = "client";
-        if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
-          window2 = request2.window;
-        }
-        if (init.window != null) {
-          throw new TypeError(`'window' option '${window2}' must be null`);
-        }
-        if ("window" in init) {
-          window2 = "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: this[kRealm].settingsObject,
-          // window window.
-          window: window2,
-          // 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, this[kRealm].settingsObject.baseUrl)) {
-              request2.referrer = "client";
-            } else {
-              request2.referrer = parsedReferrer;
+            const { done, value } = await chunkPromise;
+            if (isFirstChunk && !fr[kAborted]) {
+              queueMicrotask(() => {
+                fireAProgressEvent("loadstart", fr);
+              });
             }
-          }
-        }
-        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;
-          if (!isValidHTTPToken(method)) {
-            throw new TypeError(`'${method}' is not a valid HTTP method.`);
-          }
-          if (forbiddenMethodsSet.has(method.toUpperCase())) {
-            throw new TypeError(`'${method}' HTTP method is unsupported.`);
-          }
-          method = normalizeMethodRecord[method] ?? normalizeMethod(method);
-          request2.method = method;
-        }
-        if (init.signal !== void 0) {
-          signal = init.signal;
-        }
-        this[kState] = request2;
-        const ac = new AbortController();
-        this[kSignal] = ac.signal;
-        this[kSignal][kRealm] = this[kRealm];
-        if (signal != null) {
-          if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") {
-            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 = function() {
-              const ac2 = acRef.deref();
-              if (ac2 !== void 0) {
-                ac2.abort(this.reason);
+            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);
+                });
               }
-            };
-            try {
-              if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) {
-                setMaxListeners(100, signal);
-              } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) {
-                setMaxListeners(100, signal);
+              chunkPromise = reader.read();
+            } else if (done) {
+              queueMicrotask(() => {
+                fr[kState] = "done";
+                try {
+                  const result = packageData(bytes, type2, blob.type, encodingName);
+                  if (fr[kAborted]) {
+                    return;
+                  }
+                  fr[kResult] = result;
+                  fireAProgressEvent("load", fr);
+                } catch (error3) {
+                  fr[kError] = error3;
+                  fireAProgressEvent("error", fr);
+                }
+                if (fr[kState] !== "loading") {
+                  fireAProgressEvent("loadend", fr);
+                }
+              });
+              break;
+            }
+          } catch (error3) {
+            if (fr[kAborted]) {
+              return;
+            }
+            queueMicrotask(() => {
+              fr[kState] = "done";
+              fr[kError] = error3;
+              fireAProgressEvent("error", fr);
+              if (fr[kState] !== "loading") {
+                fireAProgressEvent("loadend", fr);
               }
-            } catch {
-            }
-            util.addAbortListener(signal, abort);
-            requestFinalizer.register(ac, { signal, abort });
-          }
-        }
-        this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kHeadersList] = request2.headersList;
-        this[kHeaders][kGuard] = "request";
-        this[kHeaders][kRealm] = this[kRealm];
-        if (mode === "no-cors") {
-          if (!corsSafeListedMethodsSet.has(request2.method)) {
-            throw new TypeError(
-              `'${request2.method} is unsupported in no-cors mode.`
-            );
+            });
+            break;
           }
-          this[kHeaders][kGuard] = "request-no-cors";
         }
-        if (initHasKey) {
-          const headersList = this[kHeaders][kHeadersList];
-          const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList);
-          headersList.clear();
-          if (headers instanceof HeadersList) {
-            for (const [key, val] of headers) {
-              headersList.append(key, val);
-            }
-            headersList.cookies = headers.cookies;
-          } else {
-            fillHeaders(this[kHeaders], headers);
+      })();
+    }
+    function fireAProgressEvent(e, reader) {
+      const event = new ProgressEvent(e, {
+        bubbles: false,
+        cancelable: false
+      });
+      reader.dispatchEvent(event);
+    }
+    function packageData(bytes, type2, mimeType, encodingName) {
+      switch (type2) {
+        case "DataURL": {
+          let dataURL = "data:";
+          const parsed = parseMIMEType(mimeType || "application/octet-stream");
+          if (parsed !== "failure") {
+            dataURL += serializeAMimeType(parsed);
           }
-        }
-        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 && !this[kHeaders][kHeadersList].contains("content-type")) {
-            this[kHeaders].append("content-type", contentType);
+          dataURL += ";base64,";
+          const decoder = new StringDecoder("latin1");
+          for (const chunk of bytes) {
+            dataURL += btoa2(decoder.write(chunk));
           }
+          dataURL += btoa2(decoder.end());
+          return dataURL;
         }
-        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"'
-            );
+        case "Text": {
+          let encoding = "failure";
+          if (encodingName) {
+            encoding = getEncoding(encodingName);
           }
-          request2.useCORSPreflightFlag = true;
-        }
-        let finalBody = inputOrInitBody;
-        if (initBody == null && inputBody != null) {
-          if (util.isDisturbed(inputBody.stream) || inputBody.stream.locked) {
-            throw new TypeError(
-              "Cannot construct a Request with a Request object that has already been used."
-            );
+          if (encoding === "failure" && mimeType) {
+            const type3 = parseMIMEType(mimeType);
+            if (type3 !== "failure") {
+              encoding = getEncoding(type3.parameters.get("charset"));
+            }
           }
-          if (!TransformStream2) {
-            TransformStream2 = require("stream/web").TransformStream;
+          if (encoding === "failure") {
+            encoding = "UTF-8";
           }
-          const identityTransform = new TransformStream2();
-          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 decode(bytes, encoding);
         }
-        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-foward 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 (this.bodyUsed || this.body?.locked) {
-          throw new TypeError("unusable");
+        case "ArrayBuffer": {
+          const sequence = combineByteSequences(bytes);
+          return sequence.buffer;
         }
-        const clonedRequest = cloneRequest(this[kState]);
-        const clonedRequestObject = new _Request(kConstruct);
-        clonedRequestObject[kState] = clonedRequest;
-        clonedRequestObject[kRealm] = this[kRealm];
-        clonedRequestObject[kHeaders] = new Headers(kConstruct);
-        clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList;
-        clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm];
-        const ac = new AbortController();
-        if (this.signal.aborted) {
-          ac.abort(this.signal.reason);
-        } else {
-          util.addAbortListener(
-            this.signal,
-            () => {
-              ac.abort(this.signal.reason);
-            }
-          );
+        case "BinaryString": {
+          let binaryString = "";
+          const decoder = new StringDecoder("latin1");
+          for (const chunk of bytes) {
+            binaryString += decoder.write(chunk);
+          }
+          binaryString += decoder.end();
+          return binaryString;
         }
-        clonedRequestObject[kSignal] = ac.signal;
-        return clonedRequestObject;
       }
-    };
-    mixinBody(Request);
-    function makeRequest(init) {
-      const request2 = {
-        method: "GET",
-        localURLsOnly: false,
-        unsafeRequest: false,
-        body: null,
-        client: null,
-        reservedClient: null,
-        replacesClientId: "",
-        window: "client",
-        keepalive: false,
-        serviceWorkers: "all",
-        initiator: "",
-        destination: "",
-        priority: null,
-        origin: "client",
-        policyContainer: "client",
-        referrer: "client",
-        referrerPolicy: "",
-        mode: "no-cors",
-        useCORSPreflightFlag: false,
-        credentials: "same-origin",
-        useCredentials: false,
-        cache: "default",
-        redirect: "follow",
-        integrity: "",
-        cryptoGraphicsNonceMetadata: "",
-        parserMetadata: "",
-        reloadNavigation: false,
-        historyNavigation: false,
-        userActivation: false,
-        taintedOrigin: false,
-        redirectCount: 0,
-        responseTainting: "basic",
-        preventNoCacheCacheControlHeaderModification: false,
-        done: false,
-        timingAllowFailed: false,
-        ...init,
-        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList()
-      };
-      request2.url = request2.urlList[0];
-      return request2;
     }
-    function cloneRequest(request2) {
-      const newRequest = makeRequest({ ...request2, body: null });
-      if (request2.body != null) {
-        newRequest.body = cloneBody(request2.body);
+    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;
       }
-      return newRequest;
+      const sliced = bytes.slice(slice);
+      return new TextDecoder(encoding).decode(sliced);
     }
-    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) {
-      if (typeof V === "string") {
-        return webidl.converters.USVString(V);
-      }
-      if (V instanceof Request) {
-        return webidl.converters.Request(V);
+    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 webidl.converters.USVString(V);
+      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
     };
-    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,
-            { strict: false }
-          )
-        )
-      },
-      {
-        key: "window",
-        converter: webidl.converters.any
-      },
-      {
-        key: "duplex",
-        converter: webidl.converters.DOMString,
-        allowedValues: requestDuplex
-      }
-    ]);
-    module2.exports = { Request, makeRequest };
   }
 });
 
-// node_modules/undici/lib/fetch/index.js
-var require_fetch2 = __commonJS({
-  "node_modules/undici/lib/fetch/index.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js
+var require_filereader2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js"(exports2, module2) {
     "use strict";
     var {
-      Response,
-      makeNetworkError,
-      makeAppropriateNetworkError,
-      filterResponse,
-      makeResponse
-    } = require_response2();
-    var { Headers } = require_headers2();
-    var { Request, makeRequest } = require_request4();
-    var zlib2 = require("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
-    } = require_util10();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
-    var assert = require("assert");
-    var { safelyExtractBody } = require_body2();
+      staticPropertyDescriptors,
+      readOperation,
+      fireAProgressEvent
+    } = require_util12();
     var {
-      redirectStatusSet,
-      nullBodyStatus,
-      safeMethodsSet,
-      requestBodyHeader,
-      subresourceSet,
-      DOMException: DOMException2
-    } = require_constants7();
-    var { kHeadersList } = require_symbols6();
-    var EE = require("events");
-    var { Readable: Readable2, pipeline } = require("stream");
-    var { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require_util9();
-    var { dataURLProcessor, serializeAMimeType } = require_dataURL();
-    var { TransformStream: TransformStream2 } = require("stream/web");
-    var { getGlobalDispatcher } = require_global4();
+      kState,
+      kError,
+      kResult,
+      kEvents,
+      kAborted
+    } = require_symbols8();
     var { webidl } = require_webidl2();
-    var { STATUS_CODES } = require("http");
-    var GET_OR_HEAD = ["GET", "HEAD"];
-    var resolveObjectURL;
-    var ReadableStream2 = globalThis.ReadableStream;
-    var Fetch = class extends EE {
-      constructor(dispatcher) {
+    var { kEnumerableProperty } = require_util9();
+    var FileReader = class _FileReader extends EventTarget {
+      constructor() {
         super();
-        this.dispatcher = dispatcher;
-        this.connection = null;
-        this.dump = false;
-        this.state = "ongoing";
-        this.setMaxListeners(21);
+        this[kState] = "empty";
+        this[kResult] = null;
+        this[kError] = null;
+        this[kEvents] = {
+          loadend: null,
+          error: null,
+          abort: null,
+          load: null,
+          progress: null,
+          loadstart: null
+        };
       }
-      terminate(reason) {
-        if (this.state !== "ongoing") {
+      /**
+       * @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;
         }
-        this.state = "terminated";
-        this.connection?.destroy(reason);
-        this.emit("terminated", reason);
+        if (this[kState] === "loading") {
+          this[kState] = "done";
+          this[kResult] = null;
+        }
+        this[kAborted] = true;
+        fireAProgressEvent("abort", this);
+        if (this[kState] !== "loading") {
+          fireAProgressEvent("loadend", this);
+        }
       }
-      // https://fetch.spec.whatwg.org/#fetch-controller-abort
-      abort(error3) {
-        if (this.state !== "ongoing") {
-          return;
+      /**
+       * @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;
         }
-        this.state = "aborted";
-        if (!error3) {
-          error3 = new DOMException2("The operation was aborted.", "AbortError");
+      }
+      /**
+       * @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;
         }
-        this.serializedAbortReason = error3;
-        this.connection?.destroy(error3);
-        this.emit("terminated", error3);
       }
-    };
-    function fetch(input, init = {}) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "globalThis.fetch" });
-      const p = createDeferredPromise();
-      let requestObject;
-      try {
-        requestObject = new Request(input, init);
-      } catch (e) {
-        p.reject(e);
-        return p.promise;
+      get onerror() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].error;
       }
-      const request2 = requestObject[kState];
-      if (requestObject.signal.aborted) {
-        abortFetch(p, request2, null, requestObject.signal.reason);
-        return p.promise;
+      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;
+        }
       }
-      const globalObject = request2.client.globalObject;
-      if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") {
-        request2.serviceWorkers = "none";
+      get onloadstart() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].loadstart;
       }
-      let responseObject = null;
-      const relevantRealm = null;
-      let locallyAborted = false;
-      let controller = null;
-      addAbortListener(
-        requestObject.signal,
-        () => {
-          locallyAborted = true;
-          assert(controller != null);
-          controller.abort(requestObject.signal.reason);
-          abortFetch(p, request2, responseObject, requestObject.signal.reason);
+      set onloadstart(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].loadstart) {
+          this.removeEventListener("loadstart", this[kEvents].loadstart);
         }
-      );
-      const handleFetchDone = (response) => finalizeAndReportTiming(response, "fetch");
-      const processResponse = (response) => {
-        if (locallyAborted) {
-          return Promise.resolve();
+        if (typeof fn === "function") {
+          this[kEvents].loadstart = fn;
+          this.addEventListener("loadstart", fn);
+        } else {
+          this[kEvents].loadstart = null;
         }
-        if (response.aborted) {
-          abortFetch(p, request2, responseObject, controller.serializedAbortReason);
-          return Promise.resolve();
+      }
+      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 (response.type === "error") {
-          p.reject(
-            Object.assign(new TypeError("fetch failed"), { cause: response.error })
-          );
-          return Promise.resolve();
+        if (typeof fn === "function") {
+          this[kEvents].progress = fn;
+          this.addEventListener("progress", fn);
+        } else {
+          this[kEvents].progress = null;
         }
-        responseObject = new Response();
-        responseObject[kState] = response;
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = response.headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        p.resolve(responseObject);
-      };
-      controller = fetching({
-        request: request2,
-        processResponseEndOfBody: handleFetchDone,
-        processResponse,
-        dispatcher: init.dispatcher ?? getGlobalDispatcher()
-        // undici
-      });
-      return p.promise;
-    }
-    function finalizeAndReportTiming(response, initiatorType = "other") {
-      if (response.type === "error" && response.aborted) {
-        return;
       }
-      if (!response.urlList?.length) {
-        return;
+      get onload() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].load;
       }
-      const originalURL = response.urlList[0];
-      let timingInfo = response.timingInfo;
-      let cacheState = response.cacheState;
-      if (!urlIsHttpHttpsScheme(originalURL)) {
-        return;
+      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;
+        }
       }
-      if (timingInfo === null) {
-        return;
+      get onabort() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].abort;
       }
-      if (!response.timingAllowPassed) {
-        timingInfo = createOpaqueTimingInfo({
-          startTime: timingInfo.startTime
-        });
-        cacheState = "";
+      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;
+        }
       }
-      timingInfo.endTime = coarsenedSharedCurrentTime();
-      response.timingInfo = timingInfo;
-      markResourceTiming(
-        timingInfo,
-        originalURL,
-        initiatorType,
-        globalThis,
-        cacheState
-      );
+    };
+    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/@actions/github/node_modules/undici/lib/web/cache/symbols.js
+var require_symbols9 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kConstruct: require_symbols6().kConstruct
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js
+var require_util13 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { URLSerializer } = require_data_url2();
+    var { isValidHeaderName } = require_util10();
+    function urlEquals(A, B, excludeFragment = false) {
+      const serializedA = URLSerializer(A, excludeFragment);
+      const serializedB = URLSerializer(B, excludeFragment);
+      return serializedA === serializedB;
     }
-    function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) {
-      if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) {
-        performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis2, cacheState);
+    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;
     }
-    function abortFetch(p, request2, responseObject, error3) {
-      if (!error3) {
-        error3 = new DOMException2("The operation was aborted.", "AbortError");
+    module2.exports = {
+      urlEquals,
+      getFieldValues
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js
+var require_cache2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols9();
+    var { urlEquals, getFieldValues } = require_util13();
+    var { kEnumerableProperty, isDisturbed } = require_util9();
+    var { webidl } = require_webidl2();
+    var { Response, cloneResponse, fromInnerResponse } = require_response2();
+    var { Request, fromInnerRequest } = require_request4();
+    var { kState } = require_symbols7();
+    var { fetching } = require_fetch2();
+    var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util10();
+    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];
       }
-      p.reject(error3);
-      if (request2.body != null && isReadable(request2.body?.stream)) {
-        request2.body.stream.cancel(error3).catch((err) => {
-          if (err.code === "ERR_INVALID_STATE") {
-            return;
+      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);
           }
-          throw err;
         });
+        return cacheJobPromise.promise;
       }
-      if (responseObject == null) {
-        return;
-      }
-      const response = responseObject[kState];
-      if (response.body != null && isReadable(response.body?.stream)) {
-        response.body.stream.cancel(error3).catch((err) => {
-          if (err.code === "ERR_INVALID_STATE") {
-            return;
+      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 stream2 = innerResponse.body.stream;
+          const reader = stream2.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);
           }
-          throw err;
         });
+        return cacheJobPromise.promise;
       }
-    }
-    function fetching({
-      request: request2,
-      processRequestBodyChunkLength,
-      processRequestEndOfBody,
-      processResponse,
-      processResponseEndOfBody,
-      processResponseConsumeBody,
-      useParallelQueue = false,
-      dispatcher
-      // undici
-    }) {
-      let taskDestination = null;
-      let crossOriginIsolatedCapability = false;
-      if (request2.client != null) {
-        taskDestination = request2.client.globalObject;
-        crossOriginIsolatedCapability = request2.client.crossOriginIsolatedCapability;
-      }
-      const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
-      const timingInfo = createOpaqueTimingInfo({
-        startTime: currenTime
-      });
-      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
-          );
+      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 {
-          request2.policyContainer = makePolicyContainer();
+          assert(typeof request2 === "string");
+          r = new Request(request2)[kState];
         }
-      }
-      if (!request2.headersList.contains("accept")) {
-        const value = "*/*";
-        request2.headersList.append("accept", value);
-      }
-      if (!request2.headersList.contains("accept-language")) {
-        request2.headersList.append("accept-language", "*");
-      }
-      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"');
+        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);
           }
-          if (request2.mode === "no-cors") {
-            if (request2.redirect !== "follow") {
-              return makeNetworkError(
-                'redirect mode cannot be "follow" for "no-cors" request'
-              );
+        });
+        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 [];
             }
-            request2.responseTainting = "opaque";
-            return await schemeFetch(fetchParams);
-          }
-          if (!urlIsHttpHttpsScheme(requestCurrentURL(request2))) {
-            return makeNetworkError("URL scheme must be a HTTP(S) scheme");
+          } else if (typeof request2 === "string") {
+            r = new Request(request2)[kState];
           }
-          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");
+        const promise = createDeferredPromise();
+        const requests = [];
+        if (request2 === void 0) {
+          for (const requestResponse of this.#relevantRequestResponseList) {
+            requests.push(requestResponse[0]);
+          }
         } else {
-          assert(false);
+          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;
       }
-      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")) {
-        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;
+      /**
+       * @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]);
           }
-          response.body = safelyExtractBody(bytes)[0];
-          fetchFinale(fetchParams, response);
-        };
-        await fullyReadBody(response.body, processBody, processBodyError);
-      } else {
-        fetchFinale(fetchParams, response);
+          return resultList;
+        } catch (e) {
+          this.#relevantRequestResponseList.length = 0;
+          this.#relevantRequestResponseList = backupCache;
+          throw e;
+        }
       }
-    }
-    function schemeFetch(fetchParams) {
-      if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {
-        return Promise.resolve(makeAppropriateNetworkError(fetchParams));
+      /**
+       * @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;
       }
-      const { request: request2 } = fetchParams;
-      const { protocol: scheme } = requestCurrentURL(request2);
-      switch (scheme) {
-        case "about:": {
-          return Promise.resolve(makeNetworkError("about scheme is not supported"));
+      /**
+       * @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 = "";
         }
-        case "blob:": {
-          if (!resolveObjectURL) {
-            resolveObjectURL = require("buffer").resolveObjectURL;
-          }
-          const blobURLEntry = requestCurrentURL(request2);
-          if (blobURLEntry.search.length !== 0) {
-            return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));
+        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 blobURLEntryObject = resolveObjectURL(blobURLEntry.toString());
-          if (request2.method !== "GET" || !isBlobLike(blobURLEntryObject)) {
-            return Promise.resolve(makeNetworkError("invalid method"));
+          const requestValue = request2.headersList.get(fieldValue);
+          const queryValue = requestQuery.headersList.get(fieldValue);
+          if (requestValue !== queryValue) {
+            return false;
           }
-          const bodyWithType = safelyExtractBody(blobURLEntryObject);
-          const body = bodyWithType[0];
-          const length = isomorphicEncode(`${body.length}`);
-          const type2 = bodyWithType[1] ?? "";
-          const response = makeResponse({
-            statusText: "OK",
-            headersList: [
-              ["content-length", { name: "Content-Length", value: length }],
-              ["content-type", { name: "Content-Type", value: type2 }]
-            ]
-          });
-          response.body = body;
-          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"));
+        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 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));
+        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]);
+          }
         }
-        default: {
-          return Promise.resolve(makeNetworkError("unknown scheme"));
+        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);
       }
-    }
-    function finalizeResponse(fetchParams, response) {
-      fetchParams.request.done = true;
-      if (fetchParams.processResponseDone != null) {
-        queueMicrotask(() => fetchParams.processResponseDone(response));
-      }
-    }
-    function fetchFinale(fetchParams, response) {
-      if (response.type === "error") {
-        response.urlList = [fetchParams.request.urlList[0]];
-        response.timingInfo = createOpaqueTimingInfo({
-          startTime: fetchParams.timingInfo.startTime
-        });
+    };
+    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
       }
-      const processResponseEndOfBody = () => {
-        fetchParams.request.done = true;
-        if (fetchParams.processResponseEndOfBody != null) {
-          queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
-        }
-      };
-      if (fetchParams.processResponse != null) {
-        queueMicrotask(() => fetchParams.processResponse(response));
+    ];
+    webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters);
+    webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([
+      ...cacheQueryOptionConverters,
+      {
+        key: "cacheName",
+        converter: webidl.converters.DOMString
       }
-      if (response.body == null) {
-        processResponseEndOfBody();
-      } else {
-        const identityTransformAlgorithm = (chunk, controller) => {
-          controller.enqueue(chunk);
-        };
-        const transformStream = new TransformStream2({
-          start() {
-          },
-          transform: identityTransformAlgorithm,
-          flush: processResponseEndOfBody
-        }, {
-          size() {
-            return 1;
-          }
-        }, {
-          size() {
-            return 1;
-          }
-        });
-        response.body = { stream: response.body.stream.pipeThrough(transformStream) };
+    ]);
+    webidl.converters.Response = webidl.interfaceConverter(Response);
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.RequestInfo
+    );
+    module2.exports = {
+      Cache
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js
+var require_cachestorage2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols9();
+    var { Cache } = require_cache2();
+    var { webidl } = require_webidl2();
+    var { kEnumerableProperty } = require_util9();
+    var CacheStorage = class _CacheStorage {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
+       * @type {Map fetchParams.processResponseConsumeBody(response, nullOrBytes);
-        const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure);
-        if (response.body == null) {
-          queueMicrotask(() => processBody(null));
+      async match(request2, options = {}) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, "CacheStorage.match");
+        request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.MultiCacheQueryOptions(options);
+        if (options.cacheName != null) {
+          if (this.#caches.has(options.cacheName)) {
+            const cacheList = this.#caches.get(options.cacheName);
+            const cache = new Cache(kConstruct, cacheList);
+            return await cache.match(request2, options);
+          }
         } else {
-          return fullyReadBody(response.body, processBody, processBodyError);
+          for (const cacheList of this.#caches.values()) {
+            const cache = new Cache(kConstruct, cacheList);
+            const response = await cache.match(request2, options);
+            if (response !== void 0) {
+              return response;
+            }
+          }
         }
-        return Promise.resolve();
       }
-    }
-    async function httpFetch(fetchParams) {
-      const request2 = fetchParams.request;
-      let response = null;
-      let actualResponse = null;
-      const timingInfo = fetchParams.timingInfo;
-      if (request2.serviceWorkers === "all") {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-has
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      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);
       }
-      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;
+      /**
+       * @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);
       }
-      if ((request2.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
-        request2.origin,
-        request2.client,
-        request2.destination,
-        actualResponse
-      ) === "blocked") {
-        return makeNetworkError("blocked");
+      /**
+       * @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);
       }
-      if (redirectStatusSet.has(actualResponse.status)) {
-        if (request2.redirect !== "manual") {
-          fetchParams.controller.connection.destroy();
-        }
-        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);
+      /**
+       * @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/@actions/github/node_modules/undici/lib/web/cookies/constants.js
+var require_constants9 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/constants.js"(exports2, module2) {
+    "use strict";
+    var maxAttributeValueSize = 1024;
+    var maxNameValuePairSize = 4096;
+    module2.exports = {
+      maxAttributeValueSize,
+      maxNameValuePairSize
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/util.js
+var require_util14 = __commonJS({
+  "node_modules/@actions/github/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;
         }
       }
-      response.timingInfo = timingInfo;
-      return response;
+      return false;
     }
-    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;
+    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");
         }
-      } 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);
+    }
+    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;
       }
-      if (!sameOrigin(requestCurrentURL(request2), locationURL)) {
-        request2.headersList.delete("authorization");
-        request2.headersList.delete("proxy-authorization", true);
-        request2.headersList.delete("cookie");
-        request2.headersList.delete("host");
-      }
-      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;
+      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");
+        }
       }
-      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 = makeRequest(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";
+    function validateCookiePath(path16) {
+      for (let i = 0; i < path16.length; ++i) {
+        const code = path16.charCodeAt(i);
+        if (code < 32 || // exclude CTLs (0-31)
+        code === 127 || // DEL
+        code === 59) {
+          throw new Error("Invalid cookie path");
+        }
       }
-      if (contentLength != null) {
-        contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
+    }
+    function validateCookieDomain(domain) {
+      if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
+        throw new Error("Invalid cookie domain");
       }
-      if (contentLengthHeaderValue != null) {
-        httpRequest.headersList.append("content-length", contentLengthHeaderValue);
+    }
+    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);
       }
-      if (contentLength != null && httpRequest.keepalive) {
+      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");
       }
-      if (httpRequest.referrer instanceof URL) {
-        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href));
+    }
+    function stringify(cookie) {
+      if (cookie.name.length === 0) {
+        return null;
       }
-      appendRequestOriginHeader(httpRequest);
-      appendFetchMetadata(httpRequest);
-      if (!httpRequest.headersList.contains("user-agent")) {
-        httpRequest.headersList.append("user-agent", typeof esbuildDetection === "undefined" ? "undici" : "node");
+      validateCookieName(cookie.name);
+      validateCookieValue(cookie.value);
+      const out = [`${cookie.name}=${cookie.value}`];
+      if (cookie.name.startsWith("__Secure-")) {
+        cookie.secure = true;
       }
-      if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since") || httpRequest.headersList.contains("if-none-match") || httpRequest.headersList.contains("if-unmodified-since") || httpRequest.headersList.contains("if-match") || httpRequest.headersList.contains("if-range"))) {
-        httpRequest.cache = "no-store";
+      if (cookie.name.startsWith("__Host-")) {
+        cookie.secure = true;
+        cookie.domain = null;
+        cookie.path = "/";
       }
-      if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control")) {
-        httpRequest.headersList.append("cache-control", "max-age=0");
+      if (cookie.secure) {
+        out.push("Secure");
       }
-      if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") {
-        if (!httpRequest.headersList.contains("pragma")) {
-          httpRequest.headersList.append("pragma", "no-cache");
-        }
-        if (!httpRequest.headersList.contains("cache-control")) {
-          httpRequest.headersList.append("cache-control", "no-cache");
-        }
+      if (cookie.httpOnly) {
+        out.push("HttpOnly");
       }
-      if (httpRequest.headersList.contains("range")) {
-        httpRequest.headersList.append("accept-encoding", "identity");
+      if (typeof cookie.maxAge === "number") {
+        validateCookieMaxAge(cookie.maxAge);
+        out.push(`Max-Age=${cookie.maxAge}`);
       }
-      if (!httpRequest.headersList.contains("accept-encoding")) {
-        if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
-          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate");
-        } else {
-          httpRequest.headersList.append("accept-encoding", "gzip, deflate");
-        }
+      if (cookie.domain) {
+        validateCookieDomain(cookie.domain);
+        out.push(`Domain=${cookie.domain}`);
       }
-      httpRequest.headersList.delete("host");
-      if (includeCredentials) {
+      if (cookie.path) {
+        validateCookiePath(cookie.path);
+        out.push(`Path=${cookie.path}`);
       }
-      if (httpCache == null) {
-        httpRequest.cache = "no-store";
+      if (cookie.expires && cookie.expires.toString() !== "Invalid Date") {
+        out.push(`Expires=${toIMFDate(cookie.expires)}`);
       }
-      if (httpRequest.mode !== "no-store" && httpRequest.mode !== "reload") {
+      if (cookie.sameSite) {
+        out.push(`SameSite=${cookie.sameSite}`);
       }
-      if (response == null) {
-        if (httpRequest.mode === "only-if-cached") {
-          return makeNetworkError("only if cached");
-        }
-        const forwardResponse = await httpNetworkFetch(
-          httpFetchParams,
-          includeCredentials,
-          isNewConnectionFetch
-        );
-        if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {
-        }
-        if (revalidatingFlag && forwardResponse.status === 304) {
-        }
-        if (response == null) {
-          response = forwardResponse;
+      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("=")}`);
       }
-      response.urlList = [...httpRequest.urlList];
-      if (httpRequest.headersList.contains("range")) {
-        response.rangeRequested = true;
+      return out.join("; ");
+    }
+    module2.exports = {
+      isCTLExcludingHtab,
+      validateCookieName,
+      validateCookiePath,
+      validateCookieValue,
+      toIMFDate,
+      stringify
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js
+var require_parse2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js"(exports2, module2) {
+    "use strict";
+    var { maxNameValuePairSize, maxAttributeValueSize } = require_constants9();
+    var { isCTLExcludingHtab } = require_util14();
+    var { collectASequenceOfCodePointsFast } = require_data_url2();
+    var assert = require("node:assert");
+    function parseSetCookie(header) {
+      if (isCTLExcludingHtab(header)) {
+        return null;
       }
-      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");
+      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 (
-        // 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 (!nameValuePair.includes("=")) {
+        value = nameValuePair;
+      } else {
+        const position = { position: 0 };
+        name = collectASequenceOfCodePointsFast(
+          "=",
+          nameValuePair,
+          position
         );
+        value = nameValuePair.slice(position.position + 1);
       }
-      if (isAuthenticationFetch) {
+      name = name.trim();
+      value = value.trim();
+      if (name.length + value.length > maxNameValuePairSize) {
+        return null;
       }
-      return response;
-    }
-    async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) {
-      assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed);
-      fetchParams.controller.connection = {
-        abort: null,
-        destroyed: false,
-        destroy(err) {
-          if (!this.destroyed) {
-            this.destroyed = true;
-            this.abort?.(err ?? new DOMException2("The operation was aborted.", "AbortError"));
-          }
-        }
+      return {
+        name,
+        value,
+        ...parseUnparsedAttributes(unparsedAttributes)
       };
-      const request2 = fetchParams.request;
-      let response = null;
-      const timingInfo = fetchParams.timingInfo;
-      const httpCache = null;
-      if (httpCache == null) {
-        request2.cache = "no-store";
+    }
+    function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) {
+      if (unparsedAttributes.length === 0) {
+        return cookieAttributeList;
       }
-      const newConnection = forceNewConnection ? "yes" : "no";
-      if (request2.mode === "websocket") {
+      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 requestBody = null;
-      if (request2.body == null && fetchParams.processRequestEndOfBody) {
-        queueMicrotask(() => fetchParams.processRequestEndOfBody());
-      } else if (request2.body != null) {
-        const processBodyChunk = async function* (bytes) {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          yield bytes;
-          fetchParams.processRequestBodyChunkLength?.(bytes.byteLength);
-        };
-        const processEndOfBody = () => {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          if (fetchParams.processRequestEndOfBody) {
-            fetchParams.processRequestEndOfBody();
-          }
-        };
-        const processBodyError = (e) => {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          if (e.name === "AbortError") {
-            fetchParams.controller.abort();
-          } else {
-            fetchParams.controller.terminate(e);
-          }
-        };
-        requestBody = (async function* () {
-          try {
-            for await (const bytes of request2.body.stream) {
-              yield* processBodyChunk(bytes);
-            }
-            processEndOfBody();
-          } catch (err) {
-            processBodyError(err);
-          }
-        })();
-      }
-      try {
-        const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
-        if (socket) {
-          response = makeResponse({ status, statusText, headersList, socket });
-        } else {
-          const iterator2 = body[Symbol.asyncIterator]();
-          fetchParams.controller.next = () => iterator2.next();
-          response = makeResponse({ status, statusText, headersList });
-        }
-      } catch (err) {
-        if (err.name === "AbortError") {
-          fetchParams.controller.connection.destroy();
-          return makeAppropriateNetworkError(fetchParams, err);
-        }
-        return makeNetworkError(err);
+      let attributeName = "";
+      let attributeValue = "";
+      if (cookieAv.includes("=")) {
+        const position = { position: 0 };
+        attributeName = collectASequenceOfCodePointsFast(
+          "=",
+          cookieAv,
+          position
+        );
+        attributeValue = cookieAv.slice(position.position + 1);
+      } else {
+        attributeName = cookieAv;
       }
-      const pullAlgorithm = () => {
-        fetchParams.controller.resume();
-      };
-      const cancelAlgorithm = (reason) => {
-        fetchParams.controller.abort(reason);
-      };
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+      attributeName = attributeName.trim();
+      attributeValue = attributeValue.trim();
+      if (attributeValue.length > maxAttributeValueSize) {
+        return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
       }
-      const stream2 = new ReadableStream2(
-        {
-          async start(controller) {
-            fetchParams.controller.controller = controller;
-          },
-          async pull(controller) {
-            await pullAlgorithm(controller);
-          },
-          async cancel(reason) {
-            await cancelAlgorithm(reason);
-          }
-        },
-        {
-          highWaterMark: 0,
-          size() {
-            return 1;
-          }
+      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);
         }
-      );
-      response.body = { stream: stream2 };
-      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;
-          }
-          fetchParams.controller.controller.enqueue(new Uint8Array(bytes));
-          if (isErrored(stream2)) {
-            fetchParams.controller.terminate();
-            return;
-          }
-          if (!fetchParams.controller.controller.desiredSize) {
-            return;
-          }
+        if (!/^\d+$/.test(attributeValue)) {
+          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
         }
-      };
-      function onAborted(reason) {
-        if (isAborted(fetchParams)) {
-          response.aborted = true;
-          if (isReadable(stream2)) {
-            fetchParams.controller.controller.error(
-              fetchParams.controller.serializedAbortReason
-            );
-          }
+        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 {
-          if (isReadable(stream2)) {
-            fetchParams.controller.controller.error(new TypeError("terminated", {
-              cause: isErrorLike(reason) ? reason : void 0
-            }));
-          }
+          cookiePath = attributeValue;
         }
-        fetchParams.controller.connection.destroy();
-      }
-      return response;
-      async function dispatch({ body }) {
-        const url2 = requestCurrentURL(request2);
-        const agent = fetchParams.controller.dispatcher;
-        return new Promise((resolve8, reject) => agent.dispatch(
-          {
-            path: url2.pathname + url2.search,
-            origin: url2.origin,
-            method: request2.method,
-            body: fetchParams.controller.dispatcher.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
-            headers: request2.headersList.entries,
-            maxRedirections: 0,
-            upgrade: request2.mode === "websocket" ? "websocket" : void 0
-          },
-          {
-            body: null,
-            abort: null,
-            onConnect(abort) {
-              const { connection } = fetchParams.controller;
-              if (connection.destroyed) {
-                abort(new DOMException2("The operation was aborted.", "AbortError"));
-              } else {
-                fetchParams.controller.on("terminated", abort);
-                this.abort = connection.abort = abort;
-              }
-            },
-            onHeaders(status, headersList, resume, statusText) {
-              if (status < 200) {
-                return;
-              }
-              let codings = [];
-              let location = "";
-              const headers = new Headers();
-              if (Array.isArray(headersList)) {
-                for (let n = 0; n < headersList.length; n += 2) {
-                  const key = headersList[n + 0].toString("latin1");
-                  const val = headersList[n + 1].toString("latin1");
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim());
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
-              } else {
-                const keys = Object.keys(headersList);
-                for (const key of keys) {
-                  const val = headersList[key];
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim()).reverse();
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
-              }
-              this.body = new Readable2({ read: resume });
-              const decoders = [];
-              const willFollow = request2.redirect === "follow" && location && redirectStatusSet.has(status);
-              if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
-                for (const coding of codings) {
-                  if (coding === "x-gzip" || coding === "gzip") {
-                    decoders.push(zlib2.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: zlib2.constants.Z_SYNC_FLUSH,
-                      finishFlush: zlib2.constants.Z_SYNC_FLUSH
-                    }));
-                  } else if (coding === "deflate") {
-                    decoders.push(zlib2.createInflate());
-                  } else if (coding === "br") {
-                    decoders.push(zlib2.createBrotliDecompress());
-                  } else {
-                    decoders.length = 0;
-                    break;
-                  }
-                }
-              }
-              resolve8({
-                status,
-                statusText,
-                headersList: headers[kHeadersList],
-                body: decoders.length ? pipeline(this.body, ...decoders, () => {
-                }) : this.body.on("error", () => {
-                })
-              });
-              return true;
-            },
-            onData(chunk) {
-              if (fetchParams.controller.dump) {
-                return;
-              }
-              const bytes = chunk;
-              timingInfo.encodedBodySize += bytes.byteLength;
-              return this.body.push(bytes);
-            },
-            onComplete() {
-              if (this.abort) {
-                fetchParams.controller.off("terminated", this.abort);
-              }
-              fetchParams.controller.ended = true;
-              this.body.push(null);
-            },
-            onError(error3) {
-              if (this.abort) {
-                fetchParams.controller.off("terminated", this.abort);
-              }
-              this.body?.destroy(error3);
-              fetchParams.controller.terminate(error3);
-              reject(error3);
-            },
-            onUpgrade(status, headersList, socket) {
-              if (status !== 101) {
-                return;
-              }
-              const headers = new Headers();
-              for (let n = 0; n < headersList.length; n += 2) {
-                const key = headersList[n + 0].toString("latin1");
-                const val = headersList[n + 1].toString("latin1");
-                headers[kHeadersList].append(key, val);
-              }
-              resolve8({
-                status,
-                statusText: STATUS_CODES[status],
-                headersList: headers[kHeadersList],
-                socket
-              });
-              return true;
-            }
-          }
-        ));
+        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 = {
-      fetch,
-      Fetch,
-      fetching,
-      finalizeAndReportTiming
+      parseSetCookie,
+      parseUnparsedAttributes
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/symbols.js
-var require_symbols8 = __commonJS({
-  "node_modules/undici/lib/fileapi/symbols.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js
+var require_cookies2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js"(exports2, module2) {
     "use strict";
+    var { parseSetCookie } = require_parse2();
+    var { stringify } = require_util14();
+    var { webidl } = require_webidl2();
+    var { Headers } = require_headers2();
+    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 str2 = stringify(cookie);
+      if (str2) {
+        headers.append("Set-Cookie", str2);
+      }
+    }
+    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 = {
-      kState: /* @__PURE__ */ Symbol("FileReader state"),
-      kResult: /* @__PURE__ */ Symbol("FileReader result"),
-      kError: /* @__PURE__ */ Symbol("FileReader error"),
-      kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"),
-      kEvents: /* @__PURE__ */ Symbol("FileReader events"),
-      kAborted: /* @__PURE__ */ Symbol("FileReader aborted")
+      getCookies,
+      deleteCookie,
+      getSetCookies,
+      setCookie
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/progressevent.js
-var require_progressevent2 = __commonJS({
-  "node_modules/undici/lib/fileapi/progressevent.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js
+var require_events2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js"(exports2, module2) {
     "use strict";
     var { webidl } = require_webidl2();
-    var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
-    var ProgressEvent = class _ProgressEvent extends Event {
+    var { kEnumerableProperty } = require_util9();
+    var { kConstruct } = require_symbols6();
+    var { MessagePort } = require("node:worker_threads");
+    var MessageEvent = class _MessageEvent extends Event {
+      #eventInit;
       constructor(type2, eventInitDict = {}) {
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
+        if (type2 === kConstruct) {
+          super(arguments[1], arguments[2]);
+          webidl.util.markAsUncloneable(this);
+          return;
+        }
+        const prefix = "MessageEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.MessageEventInit(eventInitDict, prefix, "eventInitDict");
         super(type2, eventInitDict);
-        this[kState] = {
-          lengthComputable: eventInitDict.lengthComputable,
-          loaded: eventInitDict.loaded,
-          total: eventInitDict.total
-        };
+        this.#eventInit = eventInitDict;
+        webidl.util.markAsUncloneable(this);
       }
-      get lengthComputable() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].lengthComputable;
+      get data() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.data;
       }
-      get loaded() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].loaded;
+      get origin() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.origin;
       }
-      get total() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].total;
+      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(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
+        webidl.brandCheck(this, _MessageEvent);
+        webidl.argumentLengthCheck(arguments, 1, "MessageEvent.initMessageEvent");
+        return new _MessageEvent(type2, {
+          bubbles,
+          cancelable,
+          data,
+          origin,
+          lastEventId,
+          source,
+          ports
+        });
+      }
+      static createFastMessageEvent(type2, init) {
+        const messageEvent = new _MessageEvent(kConstruct, type2, 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(type2, eventInitDict = {}) {
+        const prefix = "CloseEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
+        super(type2, 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(type2, eventInitDict) {
+        const prefix = "ErrorEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        super(type2, eventInitDict);
+        webidl.util.markAsUncloneable(this);
+        type2 = webidl.converters.DOMString(type2, 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;
       }
     };
-    webidl.converters.ProgressEventInit = webidl.dictionaryConverter([
-      {
-        key: "lengthComputable",
-        converter: webidl.converters.boolean,
-        defaultValue: false
+    Object.defineProperties(MessageEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "MessageEvent",
+        configurable: true
       },
-      {
-        key: "loaded",
-        converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
+      data: kEnumerableProperty,
+      origin: kEnumerableProperty,
+      lastEventId: kEnumerableProperty,
+      source: kEnumerableProperty,
+      ports: kEnumerableProperty,
+      initMessageEvent: kEnumerableProperty
+    });
+    Object.defineProperties(CloseEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "CloseEvent",
+        configurable: true
       },
-      {
-        key: "total",
-        converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
+      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
+        defaultValue: () => false
       },
       {
         key: "cancelable",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "composed",
         converter: webidl.converters.boolean,
-        defaultValue: false
-      }
-    ]);
-    module2.exports = {
-      ProgressEvent
-    };
-  }
-});
-
-// node_modules/undici/lib/fileapi/encoding.js
-var require_encoding2 = __commonJS({
-  "node_modules/undici/lib/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/fileapi/util.js
-var require_util12 = __commonJS({
-  "node_modules/undici/lib/fileapi/util.js"(exports2, module2) {
-    "use strict";
-    var {
-      kState,
-      kError,
-      kResult,
-      kAborted,
-      kLastProgressEventFired
-    } = require_symbols8();
-    var { ProgressEvent } = require_progressevent2();
-    var { getEncoding } = require_encoding2();
-    var { DOMException: DOMException2 } = require_constants7();
-    var { serializeAMimeType, parseMIMEType } = require_dataURL();
-    var { types } = require("util");
-    var { StringDecoder } = require("string_decoder");
-    var { btoa: btoa2 } = require("buffer");
-    var staticPropertyDescriptors = {
-      enumerable: true,
-      writable: false,
-      configurable: false
-    };
-    function readOperation(fr, blob, type2, encodingName) {
-      if (fr[kState] === "loading") {
-        throw new DOMException2("Invalid state", "InvalidStateError");
-      }
-      fr[kState] = "loading";
-      fr[kResult] = null;
-      fr[kError] = null;
-      const stream2 = blob.stream();
-      const reader = stream2.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, type2, blob.type, encodingName);
-                  if (fr[kAborted]) {
-                    return;
-                  }
-                  fr[kResult] = result;
-                  fireAProgressEvent("load", fr);
-                } catch (error3) {
-                  fr[kError] = error3;
-                  fireAProgressEvent("error", fr);
-                }
-                if (fr[kState] !== "loading") {
-                  fireAProgressEvent("loadend", fr);
-                }
-              });
-              break;
-            }
-          } catch (error3) {
-            if (fr[kAborted]) {
-              return;
-            }
-            queueMicrotask(() => {
-              fr[kState] = "done";
-              fr[kError] = error3;
-              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, type2, mimeType, encodingName) {
-      switch (type2) {
-        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 += btoa2(decoder.write(chunk));
-          }
-          dataURL += btoa2(decoder.end());
-          return dataURL;
-        }
-        case "Text": {
-          let encoding = "failure";
-          if (encodingName) {
-            encoding = getEncoding(encodingName);
-          }
-          if (encoding === "failure" && mimeType) {
-            const type3 = parseMIMEType(mimeType);
-            if (type3 !== "failure") {
-              encoding = getEncoding(type3.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;
-        }
+        defaultValue: () => false
       }
-    }
-    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;
+    ];
+    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)
       }
-      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";
+    ]);
+    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: () => ""
       }
-      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));
-    }
+    ]);
+    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 = {
-      staticPropertyDescriptors,
-      readOperation,
-      fireAProgressEvent
+      MessageEvent,
+      CloseEvent,
+      ErrorEvent,
+      createFastMessageEvent
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/filereader.js
-var require_filereader2 = __commonJS({
-  "node_modules/undici/lib/fileapi/filereader.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js
+var require_constants10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js"(exports2, module2) {
     "use strict";
-    var {
+    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,
-      readOperation,
-      fireAProgressEvent
-    } = require_util12();
-    var {
-      kState,
-      kError,
-      kResult,
-      kEvents,
-      kAborted
-    } = require_symbols8();
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util9();
-    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, { header: "FileReader.readAsArrayBuffer" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "ArrayBuffer");
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#readAsBinaryString
-       * @param {import('buffer').Blob} blob
-       */
-      readAsBinaryString(blob) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsBinaryString" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "BinaryString");
-      }
-      /**
-       * @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, { header: "FileReader.readAsText" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        if (encoding !== void 0) {
-          encoding = webidl.converters.DOMString(encoding);
-        }
-        readOperation(this, blob, "Text", encoding);
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dfn-readAsDataURL
-       * @param {import('buffer').Blob} blob
-       */
-      readAsDataURL(blob) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsDataURL" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "DataURL");
+      states,
+      opcodes,
+      maxUnsigned16Bit,
+      parserStates,
+      emptyBuffer,
+      sendHints
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js
+var require_symbols10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
+      kReadyState: /* @__PURE__ */ Symbol("ready state"),
+      kController: /* @__PURE__ */ Symbol("controller"),
+      kResponse: /* @__PURE__ */ Symbol("response"),
+      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
+      kSentClose: /* @__PURE__ */ Symbol("sent close"),
+      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
+      kByteParser: /* @__PURE__ */ Symbol("byte parser")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js
+var require_util15 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js"(exports2, module2) {
+    "use strict";
+    var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols10();
+    var { states, opcodes } = require_constants10();
+    var { ErrorEvent, createFastMessageEvent } = require_events2();
+    var { isUtf8 } = require("node:buffer");
+    var { collectASequenceOfCodePointsFast, removeHTTPWhitespace } = require_data_url2();
+    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 = (type2, init) => new Event(type2, init), eventInitDict = {}) {
+      const event = eventFactory(e, eventInitDict);
+      target.dispatchEvent(event);
+    }
+    function websocketMessageReceived(ws, type2, data) {
+      if (ws[kReadyState] !== states.OPEN) {
+        return;
       }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dfn-abort
-       */
-      abort() {
-        if (this[kState] === "empty" || this[kState] === "done") {
-          this[kResult] = null;
+      let dataForEvent;
+      if (type2 === opcodes.TEXT) {
+        try {
+          dataForEvent = utf8Decode(data);
+        } catch {
+          failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
           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 if (type2 === opcodes.BINARY) {
+        if (ws[kBinaryType] === "blob") {
+          dataForEvent = new Blob([data]);
         } else {
-          this[kEvents].loadend = null;
+          dataForEvent = toArrayBuffer(data);
         }
       }
-      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;
-        }
+      fireEvent("message", ws, createFastMessageEvent, {
+        origin: ws[kWebSocketURL].origin,
+        data: dataForEvent
+      });
+    }
+    function toArrayBuffer(buffer) {
+      if (buffer.byteLength === buffer.buffer.byteLength) {
+        return buffer.buffer;
       }
-      get onloadstart() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].loadstart;
+      return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
+    }
+    function isValidSubprotocol(protocol) {
+      if (protocol.length === 0) {
+        return false;
       }
-      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;
+      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;
         }
       }
-      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;
-        }
+      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;
       }
-      get onload() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].load;
+      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();
       }
-      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;
-        }
+      if (reason) {
+        fireEvent("error", ws, (type2, init) => new ErrorEvent(type2, init), {
+          error: new Error(reason),
+          message: reason
+        });
       }
-      get onabort() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].abort;
+    }
+    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++;
       }
-      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;
+      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;
         }
       }
-    };
-    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
+      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");
       }
-    });
-    Object.defineProperties(FileReader, {
-      EMPTY: staticPropertyDescriptors,
-      LOADING: staticPropertyDescriptors,
-      DONE: staticPropertyDescriptors
-    });
-    module2.exports = {
-      FileReader
+      throw new TypeError("Invalid utf-8 received.");
     };
-  }
-});
-
-// node_modules/undici/lib/cache/symbols.js
-var require_symbols9 = __commonJS({
-  "node_modules/undici/lib/cache/symbols.js"(exports2, module2) {
-    "use strict";
     module2.exports = {
-      kConstruct: require_symbols6().kConstruct
+      isConnecting,
+      isEstablished,
+      isClosing,
+      isClosed,
+      fireEvent,
+      isValidSubprotocol,
+      isValidStatusCode,
+      failWebsocketConnection,
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isContinuationFrame,
+      isTextBinaryFrame,
+      isValidOpcode,
+      parseExtensions,
+      isValidClientWindowBits
     };
   }
 });
 
-// node_modules/undici/lib/cache/util.js
-var require_util13 = __commonJS({
-  "node_modules/undici/lib/cache/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js
+var require_frame2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { URLSerializer } = require_dataURL();
-    var { isValidHeaderName } = require_util10();
-    function urlEquals(A, B, excludeFragment = false) {
-      const serializedA = URLSerializer(A, excludeFragment);
-      const serializedB = URLSerializer(B, excludeFragment);
-      return serializedA === serializedB;
-    }
-    function fieldValues(header) {
-      assert(header !== null);
-      const values = [];
-      for (let value of header.split(",")) {
-        value = value.trim();
-        if (!value.length) {
-          continue;
-        } else if (!isValidHeaderName(value)) {
-          continue;
+    var { maxUnsigned16Bit } = require_constants10();
+    var BUFFER_SIZE = 16386;
+    var crypto3;
+    var buffer = null;
+    var bufIdx = BUFFER_SIZE;
+    try {
+      crypto3 = require("node:crypto");
+    } catch {
+      crypto3 = {
+        // not full compatibility, but minimum.
+        randomFillSync: function randomFillSync2(buffer2, _offset, _size) {
+          for (let i = 0; i < buffer2.length; ++i) {
+            buffer2[i] = Math.random() * 255 | 0;
+          }
+          return buffer2;
         }
-        values.push(value);
+      };
+    }
+    function generateMask() {
+      if (bufIdx === BUFFER_SIZE) {
+        bufIdx = 0;
+        crypto3.randomFillSync(buffer ??= Buffer.allocUnsafe(BUFFER_SIZE), 0, BUFFER_SIZE);
       }
-      return values;
+      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 = {
-      urlEquals,
-      fieldValues
+      WebsocketFrameSend
     };
   }
 });
 
-// node_modules/undici/lib/cache/cache.js
-var require_cache2 = __commonJS({
-  "node_modules/undici/lib/cache/cache.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js
+var require_connection2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js"(exports2, module2) {
     "use strict";
-    var { kConstruct } = require_symbols9();
-    var { urlEquals, fieldValues: getFieldValues } = require_util13();
-    var { kEnumerableProperty, isDisturbed } = require_util9();
-    var { kHeadersList } = require_symbols6();
-    var { webidl } = require_webidl2();
-    var { Response, cloneResponse } = require_response2();
-    var { Request } = require_request4();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
+    var { uid, states, sentCloseFrameState, emptyBuffer, opcodes } = require_constants10();
+    var {
+      kReadyState,
+      kSentClose,
+      kByteParser,
+      kReceivedClose,
+      kResponse
+    } = require_symbols10();
+    var { fireEvent, failWebsocketConnection, isClosing, isClosed, isEstablished, parseExtensions } = require_util15();
+    var { channels } = require_diagnostics2();
+    var { CloseEvent } = require_events2();
+    var { makeRequest } = require_request4();
     var { fetching } = require_fetch2();
-    var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util10();
-    var assert = require("assert");
-    var { getGlobalDispatcher } = require_global4();
-    var Cache = class _Cache {
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list
-       * @type {requestResponseList}
-       */
-      #relevantRequestResponseList;
-      constructor() {
-        if (arguments[0] !== kConstruct) {
-          webidl.illegalConstructor();
-        }
-        this.#relevantRequestResponseList = arguments[1];
+    var { Headers, getHeadersList } = require_headers2();
+    var { getDecodeSplit } = require_util10();
+    var { WebsocketFrameSend } = require_frame2();
+    var crypto3;
+    try {
+      crypto3 = require("node:crypto");
+    } catch {
+    }
+    function establishWebSocketConnection(url2, protocols, client, ws, onEstablish, options) {
+      const requestURL = url2;
+      requestURL.protocol = url2.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;
       }
-      async match(request2, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.match" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        const p = await this.matchAll(request2, options);
-        if (p.length === 0) {
-          return;
-        }
-        return p[0];
+      const keyValue = crypto3.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);
       }
-      async matchAll(request2 = void 0, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(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 responses = [];
-        if (request2 === void 0) {
-          for (const requestResponse of this.#relevantRequestResponseList) {
-            responses.push(requestResponse[1]);
+      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;
           }
-        } else {
-          const requestResponses = this.#queryCache(r, options);
-          for (const requestResponse of requestResponses) {
-            responses.push(requestResponse[1]);
+          if (protocols.length !== 0 && !response.headersList.get("Sec-WebSocket-Protocol")) {
+            failWebsocketConnection(ws, "Server did not respond with sent protocols.");
+            return;
           }
-        }
-        const responseList = [];
-        for (const response of responses) {
-          const responseObject = new Response(response.body?.source ?? null);
-          const body = responseObject[kState].body;
-          responseObject[kState] = response;
-          responseObject[kState].body = body;
-          responseObject[kHeaders][kHeadersList] = response.headersList;
-          responseObject[kHeaders][kGuard] = "immutable";
-          responseList.push(responseObject);
-        }
-        return Object.freeze(responseList);
-      }
-      async add(request2) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.add" });
-        request2 = webidl.converters.RequestInfo(request2);
-        const requests = [request2];
-        const responseArrayPromise = this.addAll(requests);
-        return await responseArrayPromise;
-      }
-      async addAll(requests) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.addAll" });
-        requests = webidl.converters["sequence"](requests);
-        const responsePromises = [];
-        const requestList = [];
-        for (const request2 of requests) {
-          if (typeof request2 === "string") {
-            continue;
+          if (response.headersList.get("Upgrade")?.toLowerCase() !== "websocket") {
+            failWebsocketConnection(ws, 'Server did not set Upgrade header to "websocket".');
+            return;
           }
-          const r = request2[kState];
-          if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") {
-            throw webidl.errors.exception({
-              header: "Cache.addAll",
-              message: "Expected http/s scheme when method is not GET."
-            });
+          if (response.headersList.get("Connection")?.toLowerCase() !== "upgrade") {
+            failWebsocketConnection(ws, 'Server did not set Connection header to "upgrade".');
+            return;
           }
-        }
-        const fetchControllers = [];
-        for (const request2 of requests) {
-          const r = new Request(request2)[kState];
-          if (!urlIsHttpHttpsScheme(r.url)) {
-            throw webidl.errors.exception({
-              header: "Cache.addAll",
-              message: "Expected http/s scheme."
-            });
+          const secWSAccept = response.headersList.get("Sec-WebSocket-Accept");
+          const digest = crypto3.createHash("sha1").update(keyValue + uid).digest("base64");
+          if (secWSAccept !== digest) {
+            failWebsocketConnection(ws, "Incorrect hash received in Sec-WebSocket-Accept header.");
+            return;
           }
-          r.initiator = "fetch";
-          r.destination = "subresource";
-          requestList.push(r);
-          const responsePromise = createDeferredPromise();
-          fetchControllers.push(fetching({
-            request: r,
-            dispatcher: getGlobalDispatcher(),
-            processResponse(response) {
-              if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) {
-                responsePromise.reject(webidl.errors.exception({
-                  header: "Cache.addAll",
-                  message: "Received an invalid status code or the request failed."
-                }));
-              } else if (response.headersList.contains("vary")) {
-                const fieldValues = getFieldValues(response.headersList.get("vary"));
-                for (const fieldValue of fieldValues) {
-                  if (fieldValue === "*") {
-                    responsePromise.reject(webidl.errors.exception({
-                      header: "Cache.addAll",
-                      message: "invalid vary field value"
-                    }));
-                    for (const controller of fetchControllers) {
-                      controller.abort();
-                    }
-                    return;
-                  }
-                }
-              }
-            },
-            processResponseEndOfBody(response) {
-              if (response.aborted) {
-                responsePromise.reject(new DOMException("aborted", "AbortError"));
-                return;
-              }
-              responsePromise.resolve(response);
+          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;
             }
-          }));
-          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);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Cache.put" });
-        request2 = webidl.converters.RequestInfo(request2);
-        response = webidl.converters.Response(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: "Cache.put",
-            message: "Expected an http/s scheme when method is not GET"
-          });
-        }
-        const innerResponse = response[kState];
-        if (innerResponse.status === 206) {
-          throw webidl.errors.exception({
-            header: "Cache.put",
-            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: "Cache.put",
-                message: "Got * vary field value"
-              });
+          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);
         }
-        if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {
-          throw webidl.errors.exception({
-            header: "Cache.put",
-            message: "Response body is locked or disturbed"
-          });
-        }
-        const clonedResponse = cloneResponse(innerResponse);
-        const bodyReadPromise = createDeferredPromise();
-        if (innerResponse.body != null) {
-          const stream2 = innerResponse.body.stream;
-          const reader = stream2.getReader();
-          readAllBytes(reader).then(bodyReadPromise.resolve, bodyReadPromise.reject);
+      });
+      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 {
-          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;
+          frame.frameData = emptyBuffer;
         }
-        queueMicrotask(() => {
-          if (errorData === null) {
-            cacheJobPromise.resolve();
-          } else {
-            cacheJobPromise.reject(errorData);
-          }
-        });
-        return cacheJobPromise.promise;
+        const socket = ws[kResponse].socket;
+        socket.write(frame.createFrame(opcodes.CLOSE));
+        ws[kSentClose] = sentCloseFrameState.SENT;
+        ws[kReadyState] = states.CLOSING;
+      } else {
+        ws[kReadyState] = states.CLOSING;
       }
-      async delete(request2, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.delete" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(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);
-          }
+    }
+    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, (type2, init) => new CloseEvent(type2, init), {
+        wasClean,
+        code,
+        reason
+      });
+      if (channels.close.hasSubscribers) {
+        channels.close.publish({
+          websocket: ws,
+          code,
+          reason
         });
-        return cacheJobPromise.promise;
       }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys
-       * @param {any} request
-       * @param {import('../../types/cache').CacheQueryOptions} options
-       * @returns {readonly Request[]}
-       */
-      async keys(request2 = void 0, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        let r = null;
-        if (request2 !== void 0) {
-          if (request2 instanceof Request) {
-            r = request2[kState];
-            if (r.method !== "GET" && !options.ignoreMethod) {
-              return [];
+    }
+    function onSocketError(error3) {
+      const { ws } = this;
+      ws[kReadyState] = states.CLOSING;
+      if (channels.socketError.hasSubscribers) {
+        channels.socketError.publish(error3);
+      }
+      this.destroy();
+    }
+    module2.exports = {
+      establishWebSocketConnection,
+      closeWebSocketConnection
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js
+var require_permessage_deflate2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js"(exports2, module2) {
+    "use strict";
+    var { createInflateRaw, Z_DEFAULT_WINDOWBITS } = require("node:zlib");
+    var { isValidClientWindowBits } = require_util15();
+    var tail = Buffer.from([0, 0, 255, 255]);
+    var kBuffer = /* @__PURE__ */ Symbol("kBuffer");
+    var kLength = /* @__PURE__ */ 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;
             }
-          } else if (typeof request2 === "string") {
-            r = new Request(request2)[kState];
+            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);
+          });
         }
-        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]);
-          }
+        this.#inflate.write(chunk);
+        if (fin) {
+          this.#inflate.write(tail);
         }
-        queueMicrotask(() => {
-          const requestList = [];
-          for (const request3 of requests) {
-            const requestObject = new Request("https://a");
-            requestObject[kState] = request3;
-            requestObject[kHeaders][kHeadersList] = request3.headersList;
-            requestObject[kHeaders][kGuard] = "immutable";
-            requestObject[kRealm] = request3.client;
-            requestList.push(requestObject);
-          }
-          promise.resolve(Object.freeze(requestList));
+        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);
         });
-        return promise.promise;
+      }
+    };
+    module2.exports = { PerMessageDeflate };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/receiver.js
+var require_receiver2 = __commonJS({
+  "node_modules/@actions/github/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_constants10();
+    var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols10();
+    var { channels } = require_diagnostics2();
+    var {
+      isValidStatusCode,
+      isValidOpcode,
+      failWebsocketConnection,
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isTextBinaryFrame,
+      isContinuationFrame
+    } = require_util15();
+    var { WebsocketFrameSend } = require_frame2();
+    var { closeWebSocketConnection } = require_connection2();
+    var { PerMessageDeflate } = require_permessage_deflate2();
+    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));
+        }
       }
       /**
-       * @see https://w3c.github.io/ServiceWorker/#batch-cache-operations-algorithm
-       * @param {CacheBatchOperation[]} operations
-       * @returns {requestResponseList}
+       * @param {Buffer} chunk
+       * @param {() => void} callback
        */
-      #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"'
-              });
+      _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();
             }
-            if (operation.type === "delete" && operation.response != null) {
-              throw webidl.errors.exception({
-                header: "Cache.#batchCacheOperations",
-                message: "delete operation should not have an associated response"
-              });
+            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 (this.#queryCache(operation.request, operation.options, addedItems).length) {
-              throw new DOMException("???", "InvalidStateError");
+            if (masked) {
+              failWebsocketConnection(this.ws, "Frame cannot be masked");
+              return callback();
             }
-            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"
+            if (rsv1 !== 0 && !this.#extensions.has("permessage-deflate")) {
+              failWebsocketConnection(this.ws, "Expected RSV1 to be clear.");
+              return;
+            }
+            if (rsv2 !== 0 || rsv3 !== 0) {
+              failWebsocketConnection(this.ws, "RSV1, RSV2, RSV3 must be clear");
+              return;
+            }
+            if (fragmented && !isTextBinaryFrame(opcode)) {
+              failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
+              return;
+            }
+            if (isTextBinaryFrame(opcode) && this.#fragments.length > 0) {
+              failWebsocketConnection(this.ws, "Expected continuation frame");
+              return;
+            }
+            if (this.#info.fragmented && fragmented) {
+              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
+              return;
+            }
+            if ((payloadLength > 125 || fragmented) && isControlFrame(opcode)) {
+              failWebsocketConnection(this.ws, "Control frame either too large or fragmented");
+              return;
+            }
+            if (isContinuationFrame(opcode) && this.#fragments.length === 0 && !this.#info.compressed) {
+              failWebsocketConnection(this.ws, "Unexpected continuation frame");
+              return;
+            }
+            if (payloadLength <= 125) {
+              this.#info.payloadLength = payloadLength;
+              this.#state = parserStates.READ_DATA;
+            } else if (payloadLength === 126) {
+              this.#state = parserStates.PAYLOADLENGTH_16;
+            } else if (payloadLength === 127) {
+              this.#state = parserStates.PAYLOADLENGTH_64;
+            }
+            if (isTextBinaryFrame(opcode)) {
+              this.#info.binaryType = opcode;
+              this.#info.compressed = rsv1 !== 0;
+            }
+            this.#info.opcode = opcode;
+            this.#info.masked = masked;
+            this.#info.fin = fin;
+            this.#info.fragmented = fragmented;
+          } else if (this.#state === parserStates.PAYLOADLENGTH_16) {
+            if (this.#byteOffset < 2) {
+              return callback();
+            }
+            const buffer = this.consume(2);
+            this.#info.payloadLength = buffer.readUInt16BE(0);
+            this.#state = parserStates.READ_DATA;
+          } else if (this.#state === parserStates.PAYLOADLENGTH_64) {
+            if (this.#byteOffset < 8) {
+              return callback();
+            }
+            const buffer = this.consume(8);
+            const upper = buffer.readUInt32BE(0);
+            if (upper > 2 ** 31 - 1) {
+              failWebsocketConnection(this.ws, "Received payload length > 2^31 bytes.");
+              return;
+            }
+            const lower = buffer.readUInt32BE(4);
+            this.#info.payloadLength = (upper << 8) + lower;
+            this.#state = parserStates.READ_DATA;
+          } else if (this.#state === parserStates.READ_DATA) {
+            if (this.#byteOffset < this.#info.payloadLength) {
+              return callback();
+            }
+            const body = this.consume(this.#info.payloadLength);
+            if (isControlFrame(this.#info.opcode)) {
+              this.#loop = this.parseControlFrame(body);
+              this.#state = parserStates.INFO;
+            } else {
+              if (!this.#info.compressed) {
+                this.#fragments.push(body);
+                if (!this.#info.fragmented && this.#info.fin) {
+                  const fullMessage = Buffer.concat(this.#fragments);
+                  websocketMessageReceived(this.ws, this.#info.binaryType, fullMessage);
+                  this.#fragments.length = 0;
+                }
+                this.#state = parserStates.INFO;
+              } else {
+                this.#extensions.get("permessage-deflate").decompress(body, this.#info.fin, (error3, data) => {
+                  if (error3) {
+                    closeWebSocketConnection(this.ws, 1007, error3.message, error3.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;
               }
-              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}
+       * Take n bytes from the buffered Buffers
+       * @param {number} n
+       * @returns {Buffer}
        */
-      #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);
+      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;
           }
         }
-        return resultList;
+        this.#byteOffset -= n;
+        return buffer;
       }
-      /**
-       * @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 = "";
+      parseCloseBody(data) {
+        assert(data.length !== 1);
+        let code;
+        if (data.length >= 2) {
+          code = data.readUInt16BE(0);
         }
-        if (!urlEquals(queryURL, cachedURL, true)) {
-          return false;
+        if (code !== void 0 && !isValidStatusCode(code)) {
+          return { code: 1002, reason: "Invalid status code", error: true };
         }
-        if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) {
-          return true;
+        let reason = data.subarray(2);
+        if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
+          reason = reason.subarray(3);
         }
-        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;
-          }
+        try {
+          reason = utf8Decode(reason);
+        } catch {
+          return { code: 1007, reason: "Invalid UTF-8", error: true };
         }
-        return true;
-      }
-    };
-    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
+        return { code, reason, error: false };
       }
-    ]);
-    webidl.converters.Response = webidl.interfaceConverter(Response);
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.RequestInfo
-    );
-    module2.exports = {
-      Cache
-    };
-  }
-});
-
-// node_modules/undici/lib/cache/cachestorage.js
-var require_cachestorage2 = __commonJS({
-  "node_modules/undici/lib/cache/cachestorage.js"(exports2, module2) {
-    "use strict";
-    var { kConstruct } = require_symbols9();
-    var { Cache } = require_cache2();
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util9();
-    var CacheStorage = class _CacheStorage {
       /**
-       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
-       * @type {Map {
+                if (!err) {
+                  this.ws[kSentClose] = sentCloseFrameState.SENT;
+                }
+              }
+            );
+          }
+          this.ws[kReadyState] = states.CLOSING;
+          this.ws[kReceivedClose] = true;
+          return false;
+        } else if (opcode === opcodes.PING) {
+          if (!this.ws[kReceivedClose]) {
+            const frame = new WebsocketFrameSend(body);
+            this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
+            if (channels.ping.hasSubscribers) {
+              channels.ping.publish({
+                payload: body
+              });
             }
           }
+        } else if (opcode === opcodes.PONG) {
+          if (channels.pong.hasSubscribers) {
+            channels.pong.publish({
+              payload: body
+            });
+          }
         }
+        return true;
       }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#cache-storage-has
-       * @param {string} cacheName
-       * @returns {Promise}
-       */
-      async has(cacheName) {
-        webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.has" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        return this.#caches.has(cacheName);
-      }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open
-       * @param {string} cacheName
-       * @returns {Promise}
-       */
-      async open(cacheName) {
-        webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.open" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        if (this.#caches.has(cacheName)) {
-          const cache2 = this.#caches.get(cacheName);
-          return new Cache(kConstruct, cache2);
-        }
-        const 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);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.delete" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        return this.#caches.delete(cacheName);
-      }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys
-       * @returns {string[]}
-       */
-      async keys() {
-        webidl.brandCheck(this, _CacheStorage);
-        const keys = this.#caches.keys();
-        return [...keys];
+      get closingInfo() {
+        return this.#info.closeInfo;
       }
     };
-    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/cookies/constants.js
-var require_constants9 = __commonJS({
-  "node_modules/undici/lib/cookies/constants.js"(exports2, module2) {
-    "use strict";
-    var maxAttributeValueSize = 1024;
-    var maxNameValuePairSize = 4096;
     module2.exports = {
-      maxAttributeValueSize,
-      maxNameValuePairSize
+      ByteParser
     };
   }
 });
 
-// node_modules/undici/lib/cookies/util.js
-var require_util14 = __commonJS({
-  "node_modules/undici/lib/cookies/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js
+var require_sender2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js"(exports2, module2) {
     "use strict";
-    function isCTLExcludingHtab(value) {
-      if (value.length === 0) {
-        return false;
-      }
-      for (const char of value) {
-        const code = char.charCodeAt(0);
-        if (code >= 0 || code <= 8 || (code >= 10 || code <= 31) || code === 127) {
-          return false;
-        }
+    var { WebsocketFrameSend } = require_frame2();
+    var { opcodes, sendHints } = require_constants10();
+    var FixedQueue = require_fixed_queue2();
+    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;
       }
-    }
-    function validateCookieName(name) {
-      for (const char of name) {
-        const code = char.charCodeAt(0);
-        if (code <= 32 || code > 127 || char === "(" || char === ")" || char === ">" || char === "<" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}") {
-          throw new Error("Invalid cookie name");
+      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;
         }
-      }
-    }
-    function validateCookieValue(value) {
-      for (const char of value) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || // exclude CTLs (0-31)
-        code === 34 || code === 44 || code === 59 || code === 92 || code > 126) {
-          throw new Error("Invalid header value");
+        const 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();
         }
       }
-    }
-    function validateCookiePath(path16) {
-      for (const char of path16) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || char === ";") {
-          throw new Error("Invalid cookie path");
+      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 validateCookieDomain(domain) {
-      if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
-        throw new Error("Invalid cookie domain");
-      }
-    }
-    function toIMFDate(date) {
-      if (typeof date === "number") {
-        date = new Date(date);
-      }
-      const days = [
-        "Sun",
-        "Mon",
-        "Tue",
-        "Wed",
-        "Thu",
-        "Fri",
-        "Sat"
-      ];
-      const months = [
-        "Jan",
-        "Feb",
-        "Mar",
-        "Apr",
-        "May",
-        "Jun",
-        "Jul",
-        "Aug",
-        "Sep",
-        "Oct",
-        "Nov",
-        "Dec"
-      ];
-      const dayName = days[date.getUTCDay()];
-      const day = date.getUTCDate().toString().padStart(2, "0");
-      const month = months[date.getUTCMonth()];
-      const year = date.getUTCFullYear();
-      const hour = date.getUTCHours().toString().padStart(2, "0");
-      const minute = date.getUTCMinutes().toString().padStart(2, "0");
-      const second = date.getUTCSeconds().toString().padStart(2, "0");
-      return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`;
-    }
-    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("=")}`);
+    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);
       }
-      return out.join("; ");
     }
-    module2.exports = {
-      isCTLExcludingHtab,
-      validateCookieName,
-      validateCookiePath,
-      validateCookieValue,
-      toIMFDate,
-      stringify
-    };
+    module2.exports = { SendQueue };
   }
 });
 
-// node_modules/undici/lib/cookies/parse.js
-var require_parse2 = __commonJS({
-  "node_modules/undici/lib/cookies/parse.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js
+var require_websocket2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js"(exports2, module2) {
     "use strict";
-    var { maxNameValuePairSize, maxAttributeValueSize } = require_constants9();
-    var { isCTLExcludingHtab } = require_util14();
-    var { collectASequenceOfCodePointsFast } = require_dataURL();
-    var assert = require("assert");
-    function parseSetCookie(header) {
-      if (isCTLExcludingHtab(header)) {
-        return null;
-      }
-      let nameValuePair = "";
-      let unparsedAttributes = "";
-      let name = "";
-      let value = "";
-      if (header.includes(";")) {
-        const position = { position: 0 };
-        nameValuePair = collectASequenceOfCodePointsFast(";", header, position);
-        unparsedAttributes = header.slice(position.position);
-      } 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)
+    var { webidl } = require_webidl2();
+    var { URLSerializer } = require_data_url2();
+    var { environmentSettingsObject } = require_util10();
+    var { staticPropertyDescriptors, states, sentCloseFrameState, sendHints } = require_constants10();
+    var {
+      kWebSocketURL,
+      kReadyState,
+      kController,
+      kBinaryType,
+      kResponse,
+      kSentClose,
+      kByteParser
+    } = require_symbols10();
+    var {
+      isConnecting,
+      isEstablished,
+      isClosing,
+      isValidSubprotocol,
+      fireEvent
+    } = require_util15();
+    var { establishWebSocketConnection, closeWebSocketConnection } = require_connection2();
+    var { ByteParser } = require_receiver2();
+    var { kEnumerableProperty, isBlobLike } = require_util9();
+    var { getGlobalDispatcher } = require_global4();
+    var { types } = require("node:util");
+    var { ErrorEvent, CloseEvent } = require_events2();
+    var { SendQueue } = require_sender2();
+    var WebSocket = class _WebSocket extends EventTarget {
+      #events = {
+        open: null,
+        error: null,
+        close: null,
+        message: null
       };
-    }
-    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);
+      #bufferedAmount = 0;
+      #protocol = "";
+      #extensions = "";
+      /** @type {SendQueue} */
+      #sendQueue;
+      /**
+       * @param {string} url
+       * @param {string|string[]} protocols
+       */
+      constructor(url2, 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");
+        url2 = webidl.converters.USVString(url2, prefix, "url");
+        protocols = options.protocols;
+        const baseURL = environmentSettingsObject.settingsObject.baseUrl;
+        let urlRecord;
+        try {
+          urlRecord = new URL(url2, baseURL);
+        } catch (e) {
+          throw new DOMException(e, "SyntaxError");
         }
-        if (!/^\d+$/.test(attributeValue)) {
-          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
+        if (urlRecord.protocol === "http:") {
+          urlRecord.protocol = "ws:";
+        } else if (urlRecord.protocol === "https:") {
+          urlRecord.protocol = "wss:";
         }
-        const deltaSeconds = Number(attributeValue);
-        cookieAttributeList.maxAge = deltaSeconds;
-      } else if (attributeNameLowercase === "domain") {
-        let cookieDomain = attributeValue;
-        if (cookieDomain[0] === ".") {
-          cookieDomain = cookieDomain.slice(1);
+        if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") {
+          throw new DOMException(
+            `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
+            "SyntaxError"
+          );
         }
-        cookieDomain = cookieDomain.toLowerCase();
-        cookieAttributeList.domain = cookieDomain;
-      } else if (attributeNameLowercase === "path") {
-        let cookiePath = "";
-        if (attributeValue.length === 0 || attributeValue[0] !== "/") {
-          cookiePath = "/";
-        } else {
-          cookiePath = attributeValue;
+        if (urlRecord.hash || urlRecord.href.endsWith("#")) {
+          throw new DOMException("Got fragment", "SyntaxError");
         }
-        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 (typeof protocols === "string") {
+          protocols = [protocols];
         }
-        if (attributeValueLowercase.includes("strict")) {
-          enforcement = "Strict";
+        if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
+          throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
         }
-        if (attributeValueLowercase.includes("lax")) {
-          enforcement = "Lax";
+        if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
+          throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
         }
-        cookieAttributeList.sameSite = enforcement;
-      } else {
-        cookieAttributeList.unparsed ??= [];
-        cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`);
-      }
-      return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
-    }
-    module2.exports = {
-      parseSetCookie,
-      parseUnparsedAttributes
-    };
-  }
-});
-
-// node_modules/undici/lib/cookies/index.js
-var require_cookies2 = __commonJS({
-  "node_modules/undici/lib/cookies/index.js"(exports2, module2) {
-    "use strict";
-    var { parseSetCookie } = require_parse2();
-    var { stringify } = require_util14();
-    var { webidl } = require_webidl2();
-    var { Headers } = require_headers2();
-    function getCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "getCookies" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      const cookie = headers.get("cookie");
-      const out = {};
-      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.argumentLengthCheck(arguments, 2, { header: "deleteCookie" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      name = webidl.converters.DOMString(name);
-      attributes = webidl.converters.DeleteCookieAttributes(attributes);
-      setCookie(headers, {
-        name,
-        value: "",
-        expires: /* @__PURE__ */ new Date(0),
-        ...attributes
-      });
-    }
-    function getSetCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "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, { header: "setCookie" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      cookie = webidl.converters.Cookie(cookie);
-      const str2 = stringify(cookie);
-      if (str2) {
-        headers.append("Set-Cookie", stringify(cookie));
-      }
-    }
-    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
+        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";
       }
-    ]);
-    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);
+      /**
+       * @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");
           }
-          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: []
+        }
+        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);
       }
-    ]);
-    module2.exports = {
-      getCookies,
-      deleteCookie,
-      getSetCookies,
-      setCookie
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/constants.js
-var require_constants10 = __commonJS({
-  "node_modules/undici/lib/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 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);
-    module2.exports = {
-      uid,
-      staticPropertyDescriptors,
-      states,
-      opcodes,
-      maxUnsigned16Bit,
-      parserStates,
-      emptyBuffer
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/symbols.js
-var require_symbols10 = __commonJS({
-  "node_modules/undici/lib/websocket/symbols.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
-      kReadyState: /* @__PURE__ */ Symbol("ready state"),
-      kController: /* @__PURE__ */ Symbol("controller"),
-      kResponse: /* @__PURE__ */ Symbol("response"),
-      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
-      kSentClose: /* @__PURE__ */ Symbol("sent close"),
-      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
-      kByteParser: /* @__PURE__ */ Symbol("byte parser")
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/events.js
-var require_events2 = __commonJS({
-  "node_modules/undici/lib/websocket/events.js"(exports2, module2) {
-    "use strict";
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util9();
-    var { MessagePort } = require("worker_threads");
-    var MessageEvent = class _MessageEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.MessageEventInit(eventInitDict);
-        super(type2, eventInitDict);
-        this.#eventInit = eventInitDict;
+      /**
+       * @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 data() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.data;
+      get readyState() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kReadyState];
       }
-      get origin() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.origin;
+      get bufferedAmount() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#bufferedAmount;
       }
-      get lastEventId() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.lastEventId;
+      get url() {
+        webidl.brandCheck(this, _WebSocket);
+        return URLSerializer(this[kWebSocketURL]);
       }
-      get source() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.source;
+      get extensions() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#extensions;
       }
-      get ports() {
-        webidl.brandCheck(this, _MessageEvent);
-        if (!Object.isFrozen(this.#eventInit.ports)) {
-          Object.freeze(this.#eventInit.ports);
-        }
-        return this.#eventInit.ports;
+      get protocol() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#protocol;
       }
-      initMessageEvent(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
-        webidl.brandCheck(this, _MessageEvent);
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent.initMessageEvent" });
-        return new _MessageEvent(type2, {
-          bubbles,
-          cancelable,
-          data,
-          origin,
-          lastEventId,
-          source,
-          ports
-        });
+      get onopen() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.open;
       }
-    };
-    var CloseEvent = class _CloseEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
-        super(type2, eventInitDict);
-        this.#eventInit = eventInitDict;
+      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 wasClean() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.wasClean;
+      get onerror() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.error;
       }
-      get code() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.code;
+      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 reason() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.reason;
+      get onclose() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.close;
       }
-    };
-    var ErrorEvent = class _ErrorEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" });
-        super(type2, eventInitDict);
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});
-        this.#eventInit = eventInitDict;
+      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 message() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.message;
+      get onmessage() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.message;
       }
-      get filename() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.filename;
+      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 lineno() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.lineno;
+      get binaryType() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kBinaryType];
       }
-      get colno() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.colno;
+      set binaryType(type2) {
+        webidl.brandCheck(this, _WebSocket);
+        if (type2 !== "blob" && type2 !== "arraybuffer") {
+          this[kBinaryType] = "blob";
+        } else {
+          this[kBinaryType] = type2;
+        }
       }
-      get error() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.error;
+      /**
+       * @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);
       }
     };
-    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, {
+    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: "CloseEvent",
+        value: "WebSocket",
+        writable: false,
+        enumerable: false,
         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
+    Object.defineProperties(WebSocket, {
+      CONNECTING: staticPropertyDescriptors,
+      OPEN: staticPropertyDescriptors,
+      CLOSING: staticPropertyDescriptors,
+      CLOSED: staticPropertyDescriptors
     });
-    webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort);
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.MessagePort
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.DOMString
     );
-    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"],
-        get defaultValue() {
-          return [];
-        }
-      }
-    ]);
-    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["DOMString or sequence"] = function(V, prefix, argument) {
+      if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
+        return webidl.converters["sequence"](V);
       }
-    ]);
-    webidl.converters.ErrorEventInit = webidl.dictionaryConverter([
-      ...eventInit,
-      {
-        key: "message",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "filename",
-        converter: webidl.converters.USVString,
-        defaultValue: ""
-      },
+      return webidl.converters.DOMString(V, prefix, argument);
+    };
+    webidl.converters.WebSocketInit = webidl.dictionaryConverter([
       {
-        key: "lineno",
-        converter: webidl.converters["unsigned long"],
-        defaultValue: 0
+        key: "protocols",
+        converter: webidl.converters["DOMString or sequence"],
+        defaultValue: () => new Array(0)
       },
       {
-        key: "colno",
-        converter: webidl.converters["unsigned long"],
-        defaultValue: 0
+        key: "dispatcher",
+        converter: webidl.converters.any,
+        defaultValue: () => getGlobalDispatcher()
       },
-      {
-        key: "error",
-        converter: webidl.converters.any
-      }
-    ]);
-    module2.exports = {
-      MessageEvent,
-      CloseEvent,
-      ErrorEvent
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/util.js
-var require_util15 = __commonJS({
-  "node_modules/undici/lib/websocket/util.js"(exports2, module2) {
-    "use strict";
-    var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols10();
-    var { states, opcodes } = require_constants10();
-    var { MessageEvent, ErrorEvent } = require_events2();
-    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, eventConstructor = Event, eventInitDict) {
-      const event = new eventConstructor(e, eventInitDict);
-      target.dispatchEvent(event);
-    }
-    function websocketMessageReceived(ws, type2, data) {
-      if (ws[kReadyState] !== states.OPEN) {
-        return;
-      }
-      let dataForEvent;
-      if (type2 === opcodes.TEXT) {
-        try {
-          dataForEvent = new TextDecoder("utf-8", { fatal: true }).decode(data);
-        } catch {
-          failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
-          return;
-        }
-      } else if (type2 === opcodes.BINARY) {
-        if (ws[kBinaryType] === "blob") {
-          dataForEvent = new Blob([data]);
-        } else {
-          dataForEvent = new Uint8Array(data).buffer;
-        }
+      {
+        key: "headers",
+        converter: webidl.nullableConverter(webidl.converters.HeadersInit)
       }
-      fireEvent("message", ws, MessageEvent, {
-        origin: ws[kWebSocketURL].origin,
-        data: dataForEvent
-      });
-    }
-    function isValidSubprotocol(protocol) {
-      if (protocol.length === 0) {
-        return false;
+    ]);
+    webidl.converters["DOMString or sequence or WebSocketInit"] = function(V) {
+      if (webidl.util.Type(V) === "Object" && !(Symbol.iterator in V)) {
+        return webidl.converters.WebSocketInit(V);
       }
-      for (const char of protocol) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || code > 126 || char === "(" || char === ")" || char === "<" || char === ">" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}" || code === 32 || // SP
-        code === 9) {
-          return false;
+      return { 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 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;
+      return webidl.converters.USVString(V);
+    };
+    function onParserDrain() {
+      this.ws[kResponse].socket.resume();
     }
-    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, ErrorEvent, {
-          error: new Error(reason)
-        });
+    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 = {
-      isEstablished,
-      isClosing,
-      isClosed,
-      fireEvent,
-      isValidSubprotocol,
-      isValidStatusCode,
-      failWebsocketConnection,
-      websocketMessageReceived
+      WebSocket
     };
   }
 });
 
-// node_modules/undici/lib/websocket/connection.js
-var require_connection2 = __commonJS({
-  "node_modules/undici/lib/websocket/connection.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js
+var require_util16 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js"(exports2, module2) {
     "use strict";
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { uid, states } = require_constants10();
-    var {
-      kReadyState,
-      kSentClose,
-      kByteParser,
-      kReceivedClose
-    } = require_symbols10();
-    var { fireEvent, failWebsocketConnection } = require_util15();
-    var { CloseEvent } = require_events2();
-    var { makeRequest } = require_request4();
-    var { fetching } = require_fetch2();
-    var { Headers } = require_headers2();
-    var { getGlobalDispatcher } = require_global4();
-    var { kHeadersList } = require_symbols6();
-    var channels = {};
-    channels.open = diagnosticsChannel.channel("undici:websocket:open");
-    channels.close = diagnosticsChannel.channel("undici:websocket:close");
-    channels.socketError = diagnosticsChannel.channel("undici:websocket:socket_error");
-    var crypto3;
-    try {
-      crypto3 = require("crypto");
-    } catch {
-    }
-    function establishWebSocketConnection(url2, protocols, ws, onEstablish, options) {
-      const requestURL = url2;
-      requestURL.protocol = url2.protocol === "ws:" ? "http:" : "https:";
-      const request2 = makeRequest({
-        urlList: [requestURL],
-        serviceWorkers: "none",
-        referrer: "no-referrer",
-        mode: "websocket",
-        credentials: "include",
-        cache: "no-store",
-        redirect: "error"
-      });
-      if (options.headers) {
-        const headersList = new Headers(options.headers)[kHeadersList];
-        request2.headersList = headersList;
-      }
-      const keyValue = crypto3.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 = "";
-      const controller = fetching({
-        request: request2,
-        useParallelQueue: true,
-        dispatcher: options.dispatcher ?? getGlobalDispatcher(),
-        processResponse(response) {
-          if (response.type === "error" || response.status !== 101) {
-            failWebsocketConnection(ws, "Received network error or non-101 status code.");
-            return;
-          }
-          if (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 = crypto3.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");
-          if (secExtension !== null && secExtension !== permessageDeflate) {
-            failWebsocketConnection(ws, "Received different permessage-deflate than the one set.");
-            return;
-          }
-          const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");
-          if (secProtocol !== null && secProtocol !== request2.headersList.get("Sec-WebSocket-Protocol")) {
-            failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");
-            return;
-          }
-          response.socket.on("data", onSocketData);
-          response.socket.on("close", onSocketClose);
-          response.socket.on("error", onSocketError);
-          if (channels.open.hasSubscribers) {
-            channels.open.publish({
-              address: response.socket.address(),
-              protocol: secProtocol,
-              extensions: secExtension
-            });
-          }
-          onEstablish(response);
-        }
-      });
-      return controller;
+    function isValidLastEventId(value) {
+      return value.indexOf("\0") === -1;
     }
-    function onSocketData(chunk) {
-      if (!this.ws[kByteParser].write(chunk)) {
-        this.pause();
+    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 onSocketClose() {
-      const { ws } = this;
-      const wasClean = ws[kSentClose] && ws[kReceivedClose];
-      let code = 1005;
-      let reason = "";
-      const result = ws[kByteParser].closingInfo;
-      if (result) {
-        code = result.code ?? 1005;
-        reason = result.reason;
-      } else if (!ws[kSentClose]) {
-        code = 1006;
-      }
-      ws[kReadyState] = states.CLOSED;
-      fireEvent("close", ws, CloseEvent, {
-        wasClean,
-        code,
-        reason
+    function delay2(ms) {
+      return new Promise((resolve8) => {
+        setTimeout(resolve8, ms).unref();
       });
-      if (channels.close.hasSubscribers) {
-        channels.close.publish({
-          websocket: ws,
-          code,
-          reason
-        });
-      }
-    }
-    function onSocketError(error3) {
-      const { ws } = this;
-      ws[kReadyState] = states.CLOSING;
-      if (channels.socketError.hasSubscribers) {
-        channels.socketError.publish(error3);
-      }
-      this.destroy();
     }
     module2.exports = {
-      establishWebSocketConnection
+      isValidLastEventId,
+      isASCIINumber,
+      delay: delay2
     };
   }
 });
 
-// node_modules/undici/lib/websocket/frame.js
-var require_frame2 = __commonJS({
-  "node_modules/undici/lib/websocket/frame.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js
+var require_eventsource_stream2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js"(exports2, module2) {
     "use strict";
-    var { maxUnsigned16Bit } = require_constants10();
-    var crypto3;
-    try {
-      crypto3 = require("crypto");
-    } catch {
-    }
-    var WebsocketFrameSend = class {
+    var { Transform } = require("node:stream");
+    var { isASCIINumber, isValidLastEventId } = require_util16();
+    var BOM = [239, 187, 191];
+    var LF = 10;
+    var CR = 13;
+    var COLON = 58;
+    var SPACE = 32;
+    var EventSourceStream = class extends Transform {
       /**
-       * @param {Buffer|undefined} data
+       * @type {eventSourceSettings}
        */
-      constructor(data) {
-        this.frameData = data;
-        this.maskKey = crypto3.randomBytes(4);
-      }
-      createFrame(opcode) {
-        const bodyLength = this.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 buffer = Buffer.allocUnsafe(bodyLength + offset);
-        buffer[0] = buffer[1] = 0;
-        buffer[0] |= 128;
-        buffer[0] = (buffer[0] & 240) + opcode;
-        buffer[offset - 4] = this.maskKey[0];
-        buffer[offset - 3] = this.maskKey[1];
-        buffer[offset - 2] = this.maskKey[2];
-        buffer[offset - 1] = this.maskKey[3];
-        buffer[1] = payloadLength;
-        if (payloadLength === 126) {
-          buffer.writeUInt16BE(bodyLength, 2);
-        } else if (payloadLength === 127) {
-          buffer[2] = buffer[3] = 0;
-          buffer.writeUIntBE(bodyLength, 4, 6);
-        }
-        buffer[1] |= 128;
-        for (let i = 0; i < bodyLength; i++) {
-          buffer[offset + i] = this.frameData[i] ^ this.maskKey[i % 4];
-        }
-        return buffer;
-      }
-    };
-    module2.exports = {
-      WebsocketFrameSend
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/receiver.js
-var require_receiver2 = __commonJS({
-  "node_modules/undici/lib/websocket/receiver.js"(exports2, module2) {
-    "use strict";
-    var { Writable } = require("stream");
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { parserStates, opcodes, states, emptyBuffer } = require_constants10();
-    var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols10();
-    var { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require_util15();
-    var { WebsocketFrameSend } = require_frame2();
-    var channels = {};
-    channels.ping = diagnosticsChannel.channel("undici:websocket:ping");
-    channels.pong = diagnosticsChannel.channel("undici:websocket:pong");
-    var ByteParser = class extends Writable {
-      #buffers = [];
-      #byteOffset = 0;
-      #state = parserStates.INFO;
-      #info = {};
-      #fragments = [];
-      constructor(ws) {
-        super();
-        this.ws = ws;
-      }
+      state = null;
       /**
-       * @param {Buffer} chunk
-       * @param {() => void} callback
+       * Leading byte-order-mark check.
+       * @type {boolean}
        */
-      _write(chunk, _, callback) {
-        this.#buffers.push(chunk);
-        this.#byteOffset += chunk.length;
-        this.run(callback);
+      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;
+        }
       }
       /**
-       * 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.
+       * @param {Buffer} chunk
+       * @param {string} _encoding
+       * @param {Function} callback
+       * @returns {void}
        */
-      run(callback) {
-        while (true) {
-          if (this.#state === parserStates.INFO) {
-            if (this.#byteOffset < 2) {
-              return callback();
-            }
-            const buffer = this.consume(2);
-            this.#info.fin = (buffer[0] & 128) !== 0;
-            this.#info.opcode = buffer[0] & 15;
-            this.#info.originalOpcode ??= this.#info.opcode;
-            this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION;
-            if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) {
-              failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
-              return;
-            }
-            const payloadLength = buffer[1] & 127;
-            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 (this.#info.fragmented && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
-              return;
-            } else if ((this.#info.opcode === opcodes.PING || this.#info.opcode === opcodes.PONG || this.#info.opcode === opcodes.CLOSE) && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Payload length for control frame exceeded 125 bytes.");
-              return;
-            } else if (this.#info.opcode === opcodes.CLOSE) {
-              if (payloadLength === 1) {
-                failWebsocketConnection(this.ws, "Received close frame with a 1-byte body.");
+      _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;
               }
-              const body = this.consume(payloadLength);
-              this.#info.closeInfo = this.parseCloseBody(false, body);
-              if (!this.ws[kSentClose]) {
-                const body2 = Buffer.allocUnsafe(2);
-                body2.writeUInt16BE(this.#info.closeInfo.code, 0);
-                const closeFrame = new WebsocketFrameSend(body2);
-                this.ws[kResponse].socket.write(
-                  closeFrame.createFrame(opcodes.CLOSE),
-                  (err) => {
-                    if (!err) {
-                      this.ws[kSentClose] = true;
-                    }
-                  }
-                );
-              }
-              this.ws[kReadyState] = states.CLOSING;
-              this.ws[kReceivedClose] = true;
-              this.end();
+              this.checkBOM = false;
+              callback();
               return;
-            } else if (this.#info.opcode === opcodes.PING) {
-              const body = this.consume(payloadLength);
-              if (!this.ws[kReceivedClose]) {
-                const frame = new WebsocketFrameSend(body);
-                this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
-                if (channels.ping.hasSubscribers) {
-                  channels.ping.publish({
-                    payload: body
-                  });
-                }
+            case 2:
+              if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1]) {
+                callback();
+                return;
               }
-              this.#state = parserStates.INFO;
-              if (this.#byteOffset > 0) {
-                continue;
-              } else {
+              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;
               }
-            } else if (this.#info.opcode === opcodes.PONG) {
-              const body = this.consume(payloadLength);
-              if (channels.pong.hasSubscribers) {
-                channels.pong.publish({
-                  payload: body
-                });
+              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);
               }
-              if (this.#byteOffset > 0) {
+              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;
-              } else {
-                callback();
-                return;
               }
+              this.crlfCheck = false;
             }
-          } 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();
-            } else if (this.#byteOffset >= this.#info.payloadLength) {
-              const body = this.consume(this.#info.payloadLength);
-              this.#fragments.push(body);
-              if (!this.#info.fragmented || this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) {
-                const fullMessage = Buffer.concat(this.#fragments);
-                websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage);
-                this.#info = {};
-                this.#fragments.length = 0;
+            if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) {
+              if (this.buffer[this.pos] === CR) {
+                this.crlfCheck = true;
               }
-              this.#state = parserStates.INFO;
+              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.#byteOffset > 0) {
+          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;
-          } else {
-            callback();
-            break;
           }
+          this.pos++;
         }
+        callback();
       }
       /**
-       * Take n bytes from the buffered Buffers
-       * @param {number} n
-       * @returns {Buffer|null}
+       * @param {Buffer} line
+       * @param {EventStreamEvent} event
        */
-      consume(n) {
-        if (n > this.#byteOffset) {
-          return null;
-        } else if (n === 0) {
-          return emptyBuffer;
+      parseLine(line, event) {
+        if (line.length === 0) {
+          return;
         }
-        if (this.#buffers[0].length === n) {
-          this.#byteOffset -= this.#buffers[0].length;
-          return this.#buffers.shift();
+        const colonPosition = line.indexOf(COLON);
+        if (colonPosition === 0) {
+          return;
         }
-        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);
+        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;
-          } else if (length + offset > n) {
-            buffer.set(next.subarray(0, n - offset), offset);
-            this.#buffers[0] = next.subarray(n - offset);
+          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;
-          } else {
-            buffer.set(this.#buffers.shift(), offset);
-            offset += next.length;
-          }
         }
-        this.#byteOffset -= n;
-        return buffer;
       }
-      parseCloseBody(onlyCode, data) {
-        let code;
-        if (data.length >= 2) {
-          code = data.readUInt16BE(0);
-        }
-        if (onlyCode) {
-          if (!isValidStatusCode(code)) {
-            return null;
-          }
-          return { code };
-        }
-        let reason = data.subarray(2);
-        if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
-          reason = reason.subarray(3);
+      /**
+       * @param {EventSourceStreamEvent} event
+       */
+      processEvent(event) {
+        if (event.retry && isASCIINumber(event.retry)) {
+          this.state.reconnectionTime = parseInt(event.retry, 10);
         }
-        if (code !== void 0 && !isValidStatusCode(code)) {
-          return null;
+        if (event.id && isValidLastEventId(event.id)) {
+          this.state.lastEventId = event.id;
         }
-        try {
-          reason = new TextDecoder("utf-8", { fatal: true }).decode(reason);
-        } catch {
-          return null;
+        if (event.data !== void 0) {
+          this.push({
+            type: event.event || "message",
+            options: {
+              data: event.data,
+              lastEventId: this.state.lastEventId,
+              origin: this.state.origin
+            }
+          });
         }
-        return { code, reason };
       }
-      get closingInfo() {
-        return this.#info.closeInfo;
+      clearEvent() {
+        this.event = {
+          data: void 0,
+          event: void 0,
+          id: void 0,
+          retry: void 0
+        };
       }
     };
     module2.exports = {
-      ByteParser
+      EventSourceStream
     };
   }
 });
 
-// node_modules/undici/lib/websocket/websocket.js
-var require_websocket2 = __commonJS({
-  "node_modules/undici/lib/websocket/websocket.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js
+var require_eventsource2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js"(exports2, module2) {
     "use strict";
+    var { pipeline } = require("node:stream");
+    var { fetching } = require_fetch2();
+    var { makeRequest } = require_request4();
     var { webidl } = require_webidl2();
-    var { DOMException: DOMException2 } = require_constants7();
-    var { URLSerializer } = require_dataURL();
-    var { getGlobalOrigin } = require_global3();
-    var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require_constants10();
-    var {
-      kWebSocketURL,
-      kReadyState,
-      kController,
-      kBinaryType,
-      kResponse,
-      kSentClose,
-      kByteParser
-    } = require_symbols10();
-    var { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require_util15();
-    var { establishWebSocketConnection } = require_connection2();
-    var { WebsocketFrameSend } = require_frame2();
-    var { ByteParser } = require_receiver2();
-    var { kEnumerableProperty, isBlobLike } = require_util9();
-    var { getGlobalDispatcher } = require_global4();
-    var { types } = require("util");
+    var { EventSourceStream } = require_eventsource_stream2();
+    var { parseMIMEType } = require_data_url2();
+    var { createFastMessageEvent } = require_events2();
+    var { isNetworkError } = require_response2();
+    var { delay: delay2 } = require_util16();
+    var { kEnumerableProperty } = require_util9();
+    var { environmentSettingsObject } = require_util10();
     var experimentalWarned = false;
-    var WebSocket = class _WebSocket extends EventTarget {
+    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,
-        close: null,
         message: null
       };
-      #bufferedAmount = 0;
-      #protocol = "";
-      #extensions = "";
+      #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 {string|string[]} protocols
+       * @param {EventSourceInit} [eventSourceInitDict]
+       * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#the-eventsource-interface
        */
-      constructor(url2, protocols = []) {
+      constructor(url2, eventSourceInitDict = {}) {
         super();
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket constructor" });
+        webidl.util.markAsUncloneable(this);
+        const prefix = "EventSource constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
         if (!experimentalWarned) {
           experimentalWarned = true;
-          process.emitWarning("WebSockets are experimental, expect them to change at any time.", {
-            code: "UNDICI-WS"
+          process.emitWarning("EventSource is experimental, expect them to change at any time.", {
+            code: "UNDICI-ES"
           });
         }
-        const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols);
-        url2 = webidl.converters.USVString(url2);
-        protocols = options.protocols;
-        const baseURL = getGlobalOrigin();
+        url2 = webidl.converters.USVString(url2, 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(url2, baseURL);
+          urlRecord = new URL(url2, settings.settingsObject.baseUrl);
+          this.#state.origin = urlRecord.origin;
         } catch (e) {
-          throw new DOMException2(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 DOMException2(
-            `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
-            "SyntaxError"
-          );
-        }
-        if (urlRecord.hash || urlRecord.href.endsWith("#")) {
-          throw new DOMException2("Got fragment", "SyntaxError");
-        }
-        if (typeof protocols === "string") {
-          protocols = [protocols];
-        }
-        if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
-          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+          throw new DOMException(e, "SyntaxError");
         }
-        if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
-          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+        this.#url = urlRecord.href;
+        let corsAttributeState = ANONYMOUS;
+        if (eventSourceInitDict.withCredentials) {
+          corsAttributeState = USE_CREDENTIALS;
+          this.#withCredentials = true;
         }
-        this[kWebSocketURL] = new URL(urlRecord.href);
-        this[kController] = establishWebSocketConnection(
-          urlRecord,
-          protocols,
-          this,
-          (response) => this.#onConnectionEstablished(response),
-          options
-        );
-        this[kReadyState] = _WebSocket.CONNECTING;
-        this[kBinaryType] = "blob";
+        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();
       }
       /**
-       * @see https://websockets.spec.whatwg.org/#dom-websocket-close
-       * @param {number|undefined} code
-       * @param {string|undefined} reason
+       * Returns the state of this EventSource object's connection. It can have the
+       * values described below.
+       * @returns {0|1|2}
+       * @readonly
        */
-      close(code = void 0, reason = void 0) {
-        webidl.brandCheck(this, _WebSocket);
-        if (code !== void 0) {
-          code = webidl.converters["unsigned short"](code, { clamp: true });
-        }
-        if (reason !== void 0) {
-          reason = webidl.converters.USVString(reason);
-        }
-        if (code !== void 0) {
-          if (code !== 1e3 && (code < 3e3 || code > 4999)) {
-            throw new DOMException2("invalid code", "InvalidAccessError");
+      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();
           }
-        }
-        let reasonByteLength = 0;
-        if (reason !== void 0) {
-          reasonByteLength = Buffer.byteLength(reason);
-          if (reasonByteLength > 123) {
-            throw new DOMException2(
-              `Reason must be less than 123 bytes; received ${reasonByteLength}`,
-              "SyntaxError"
-            );
+          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;
+            }
           }
-        }
-        if (this[kReadyState] === _WebSocket.CLOSING || this[kReadyState] === _WebSocket.CLOSED) {
-        } else if (!isEstablished(this)) {
-          failWebsocketConnection(this, "Connection was closed before it was established.");
-          this[kReadyState] = _WebSocket.CLOSING;
-        } else if (!isClosing(this)) {
-          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 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;
           }
-          const socket = this[kResponse].socket;
-          socket.write(frame.createFrame(opcodes.CLOSE), (err) => {
-            if (!err) {
-              this[kSentClose] = true;
+          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
+              ));
             }
           });
-          this[kReadyState] = states.CLOSING;
-        } else {
-          this[kReadyState] = _WebSocket.CLOSING;
-        }
+          pipeline(
+            response.body.stream,
+            eventSourceStream,
+            (error3) => {
+              if (error3?.aborted === false) {
+                this.close();
+                this.dispatchEvent(new Event("error"));
+              }
+            }
+          );
+        };
+        this.#controller = fetching(fetchParams);
       }
       /**
-       * @see https://websockets.spec.whatwg.org/#dom-websocket-send
-       * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data
+       * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#sse-processing-model
+       * @returns {Promise}
        */
-      send(data) {
-        webidl.brandCheck(this, _WebSocket);
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" });
-        data = webidl.converters.WebSocketSendData(data);
-        if (this[kReadyState] === _WebSocket.CONNECTING) {
-          throw new DOMException2("Sent before connected.", "InvalidStateError");
-        }
-        if (!isEstablished(this) || isClosing(this)) {
-          return;
-        }
-        const socket = this[kResponse].socket;
-        if (typeof data === "string") {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.TEXT);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
-        } else if (types.isArrayBuffer(data)) {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
-        } else if (ArrayBuffer.isView(data)) {
-          const ab = Buffer.from(data, data.byteOffset, data.byteLength);
-          const frame = new WebsocketFrameSend(ab);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += ab.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= ab.byteLength;
-          });
-        } else if (isBlobLike(data)) {
-          const frame = new WebsocketFrameSend();
-          data.arrayBuffer().then((ab) => {
-            const value = Buffer.from(ab);
-            frame.frameData = value;
-            const buffer = frame.createFrame(opcodes.BINARY);
-            this.#bufferedAmount += value.byteLength;
-            socket.write(buffer, () => {
-              this.#bufferedAmount -= value.byteLength;
-            });
-          });
+      async #reconnect() {
+        if (this.#readyState === CLOSED) return;
+        this.#readyState = CONNECTING;
+        this.dispatchEvent(new Event("error"));
+        await delay2(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();
       }
-      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;
+      /**
+       * 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() {
-        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);
         }
@@ -37998,44 +39575,10 @@ var require_websocket2 = __commonJS({
           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);
         }
@@ -38046,137 +39589,87 @@ var require_websocket2 = __commonJS({
           this.#events.message = null;
         }
       }
-      get binaryType() {
-        webidl.brandCheck(this, _WebSocket);
-        return this[kBinaryType];
+      get onerror() {
+        return this.#events.error;
       }
-      set binaryType(type2) {
-        webidl.brandCheck(this, _WebSocket);
-        if (type2 !== "blob" && type2 !== "arraybuffer") {
-          this[kBinaryType] = "blob";
+      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[kBinaryType] = type2;
+          this.#events.error = null;
         }
       }
-      /**
-       * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
-       */
-      #onConnectionEstablished(response) {
-        this[kResponse] = response;
-        const parser = new ByteParser(this);
-        parser.on("drain", function onParserDrain() {
-          this.ws[kResponse].socket.resume();
-        });
-        response.socket.ws = this;
-        this[kByteParser] = parser;
-        this[kReadyState] = states.OPEN;
-        const extensions = response.headersList.get("sec-websocket-extensions");
-        if (extensions !== null) {
-          this.#extensions = extensions;
-        }
-        const protocol = response.headersList.get("sec-websocket-protocol");
-        if (protocol !== null) {
-          this.#protocol = protocol;
-        }
-        fireEvent("open", this);
+    };
+    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
       }
     };
-    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,
+    Object.defineProperties(EventSource, constantsPropertyDescriptors);
+    Object.defineProperties(EventSource.prototype, constantsPropertyDescriptors);
+    Object.defineProperties(EventSource.prototype, {
       close: kEnumerableProperty,
+      onerror: 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
+      onopen: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      url: kEnumerableProperty,
+      withCredentials: kEnumerableProperty
     });
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.DOMString
-    );
-    webidl.converters["DOMString or sequence"] = function(V) {
-      if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
-        return webidl.converters["sequence"](V);
-      }
-      return webidl.converters.DOMString(V);
-    };
-    webidl.converters.WebSocketInit = webidl.dictionaryConverter([
+    webidl.converters.EventSourceInitDict = webidl.dictionaryConverter([
       {
-        key: "protocols",
-        converter: webidl.converters["DOMString or sequence"],
-        get defaultValue() {
-          return [];
-        }
+        key: "withCredentials",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
       },
       {
         key: "dispatcher",
-        converter: (V) => V,
-        get defaultValue() {
-          return getGlobalDispatcher();
-        }
-      },
-      {
-        key: "headers",
-        converter: webidl.nullableConverter(webidl.converters.HeadersInit)
+        // undici only
+        converter: webidl.converters.any
       }
     ]);
-    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.isAnyArrayBuffer(V)) {
-          return webidl.converters.BufferSource(V);
-        }
-      }
-      return webidl.converters.USVString(V);
-    };
     module2.exports = {
-      WebSocket
+      EventSource,
+      defaultReconnectionTime
     };
   }
 });
 
-// node_modules/undici/index.js
+// node_modules/@actions/github/node_modules/undici/index.js
 var require_undici2 = __commonJS({
-  "node_modules/undici/index.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/index.js"(exports2, module2) {
     "use strict";
     var Client = require_client2();
     var Dispatcher = require_dispatcher2();
-    var errors = require_errors2();
     var Pool = require_pool2();
     var BalancedPool = require_balanced_pool2();
     var Agent = require_agent2();
+    var ProxyAgent = require_proxy_agent2();
+    var EnvHttpProxyAgent = require_env_http_proxy_agent2();
+    var RetryAgent = require_retry_agent2();
+    var errors = require_errors2();
     var util = require_util9();
     var { InvalidArgumentError } = errors;
     var api = require_api2();
@@ -38185,19 +39678,11 @@ var require_undici2 = __commonJS({
     var MockAgent = require_mock_agent2();
     var MockPool = require_mock_pool2();
     var mockErrors = require_mock_errors2();
-    var ProxyAgent = require_proxy_agent2();
-    var RetryHandler = require_RetryHandler();
+    var RetryHandler = require_retry_handler2();
     var { getGlobalDispatcher, setGlobalDispatcher } = require_global4();
-    var DecoratorHandler = require_DecoratorHandler();
-    var RedirectHandler = require_RedirectHandler();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var hasCrypto;
-    try {
-      require("crypto");
-      hasCrypto = true;
-    } catch {
-      hasCrypto = false;
-    }
+    var DecoratorHandler = require_decorator_handler2();
+    var RedirectHandler = require_redirect_handler2();
+    var createRedirectInterceptor = require_redirect_interceptor2();
     Object.assign(Dispatcher.prototype, api);
     module2.exports.Dispatcher = Dispatcher;
     module2.exports.Client = Client;
@@ -38205,12 +39690,24 @@ var require_undici2 = __commonJS({
     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_redirect2(),
+      retry: require_retry2(),
+      dump: require_dump2(),
+      dns: require_dns2()
+    };
     module2.exports.buildConnector = buildConnector;
     module2.exports.errors = errors;
+    module2.exports.util = {
+      parseHeaders: util.parseHeaders,
+      headerNameToString: util.headerNameToString
+    };
     function makeDispatcher(fn) {
       return (url2, opts, handler2) => {
         if (typeof opts === "function") {
@@ -38252,48 +39749,42 @@ var require_undici2 = __commonJS({
     }
     module2.exports.setGlobalDispatcher = setGlobalDispatcher;
     module2.exports.getGlobalDispatcher = getGlobalDispatcher;
-    if (util.nodeMajor > 16 || util.nodeMajor === 16 && util.nodeMinor >= 8) {
-      let fetchImpl = null;
-      module2.exports.fetch = async function fetch(resource) {
-        if (!fetchImpl) {
-          fetchImpl = require_fetch2().fetch;
-        }
-        try {
-          return await fetchImpl(...arguments);
-        } catch (err) {
-          if (typeof err === "object") {
-            Error.captureStackTrace(err, this);
-          }
-          throw err;
+    var fetchImpl = require_fetch2().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);
         }
-      };
-      module2.exports.Headers = require_headers2().Headers;
-      module2.exports.Response = require_response2().Response;
-      module2.exports.Request = require_request4().Request;
-      module2.exports.FormData = require_formdata2().FormData;
-      module2.exports.File = require_file2().File;
-      module2.exports.FileReader = require_filereader2().FileReader;
-      const { setGlobalOrigin, getGlobalOrigin } = require_global3();
-      module2.exports.setGlobalOrigin = setGlobalOrigin;
-      module2.exports.getGlobalOrigin = getGlobalOrigin;
-      const { CacheStorage } = require_cachestorage2();
-      const { kConstruct } = require_symbols9();
-      module2.exports.caches = new CacheStorage(kConstruct);
-    }
-    if (util.nodeMajor >= 16) {
-      const { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
-      module2.exports.deleteCookie = deleteCookie;
-      module2.exports.getCookies = getCookies;
-      module2.exports.getSetCookies = getSetCookies;
-      module2.exports.setCookie = setCookie;
-      const { parseMIMEType, serializeAMimeType } = require_dataURL();
-      module2.exports.parseMIMEType = parseMIMEType;
-      module2.exports.serializeAMimeType = serializeAMimeType;
-    }
-    if (util.nodeMajor >= 18 && hasCrypto) {
-      const { WebSocket } = require_websocket2();
-      module2.exports.WebSocket = WebSocket;
-    }
+        throw err;
+      }
+    };
+    module2.exports.Headers = require_headers2().Headers;
+    module2.exports.Response = require_response2().Response;
+    module2.exports.Request = require_request4().Request;
+    module2.exports.FormData = require_formdata2().FormData;
+    module2.exports.File = globalThis.File ?? require("node:buffer").File;
+    module2.exports.FileReader = require_filereader2().FileReader;
+    var { setGlobalOrigin, getGlobalOrigin } = require_global3();
+    module2.exports.setGlobalOrigin = setGlobalOrigin;
+    module2.exports.getGlobalOrigin = getGlobalOrigin;
+    var { CacheStorage } = require_cachestorage2();
+    var { kConstruct } = require_symbols9();
+    module2.exports.caches = new CacheStorage(kConstruct);
+    var { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
+    module2.exports.deleteCookie = deleteCookie;
+    module2.exports.getCookies = getCookies;
+    module2.exports.getSetCookies = getSetCookies;
+    module2.exports.setCookie = setCookie;
+    var { parseMIMEType, serializeAMimeType } = require_data_url2();
+    module2.exports.parseMIMEType = parseMIMEType;
+    module2.exports.serializeAMimeType = serializeAMimeType;
+    var { CloseEvent, ErrorEvent, MessageEvent } = require_events2();
+    module2.exports.WebSocket = require_websocket2().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);
@@ -38303,6 +39794,8 @@ var require_undici2 = __commonJS({
     module2.exports.MockPool = MockPool;
     module2.exports.MockAgent = MockAgent;
     module2.exports.mockErrors = mockErrors;
+    var { EventSource } = require_eventsource2();
+    module2.exports.EventSource = EventSource;
   }
 });
 
@@ -44522,7 +46015,7 @@ var require_package = __commonJS({
         "@actions/cache": "^5.0.5",
         "@actions/core": "^2.0.3",
         "@actions/exec": "^2.0.0",
-        "@actions/github": "^8.0.0",
+        "@actions/github": "^8.0.1",
         "@actions/glob": "^0.5.0",
         "@actions/http-client": "^3.0.0",
         "@actions/io": "^2.0.0",
@@ -44554,7 +46047,7 @@ var require_package = __commonJS({
         "@types/node-forge": "^1.3.14",
         "@types/semver": "^7.7.1",
         "@types/sinon": "^21.0.0",
-        "@typescript-eslint/eslint-plugin": "^8.53.1",
+        "@typescript-eslint/eslint-plugin": "^8.54.0",
         "@typescript-eslint/parser": "^8.48.0",
         ava: "^6.4.1",
         esbuild: "^0.27.2",
@@ -44563,7 +46056,7 @@ var require_package = __commonJS({
         "eslint-plugin-filenames": "^1.3.2",
         "eslint-plugin-github": "^5.1.8",
         "eslint-plugin-import": "2.29.1",
-        "eslint-plugin-jsdoc": "^62.3.0",
+        "eslint-plugin-jsdoc": "^62.4.1",
         "eslint-plugin-no-async-foreach": "^0.1.1",
         glob: "^11.1.0",
         nock: "^14.0.10",
@@ -55054,7 +56547,7 @@ var require_clientHelpers = __commonJS({
 });
 
 // node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js
-var require_multipart2 = __commonJS({
+var require_multipart = __commonJS({
   "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -55177,7 +56670,7 @@ var require_sendRequest = __commonJS({
     var pipelineRequest_js_1 = require_pipelineRequest();
     var clientHelpers_js_1 = require_clientHelpers();
     var typeGuards_js_1 = require_typeGuards();
-    var multipart_js_1 = require_multipart2();
+    var multipart_js_1 = require_multipart();
     async function sendRequest(method, url2, pipeline, options = {}, customHttpClient) {
       const httpClient = customHttpClient ?? (0, clientHelpers_js_1.getCachedDefaultHttpsClient)();
       const request2 = buildPipelineRequest(method, url2, options);
@@ -59875,7 +61368,7 @@ var require_commonjs8 = __commonJS({
 });
 
 // node_modules/@azure/core-http-compat/dist/commonjs/util.js
-var require_util16 = __commonJS({
+var require_util17 = __commonJS({
   "node_modules/@azure/core-http-compat/dist/commonjs/util.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -60130,7 +61623,7 @@ var require_response3 = __commonJS({
     exports2.toCompatResponse = toCompatResponse;
     exports2.toPipelineResponse = toPipelineResponse;
     var core_rest_pipeline_1 = require_commonjs6();
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     var originalResponse = /* @__PURE__ */ Symbol("Original FullOperationResponse");
     function toCompatResponse(response, options) {
       let request2 = (0, util_js_1.toWebResourceLike)(response.request);
@@ -60244,7 +61737,7 @@ var require_requestPolicyFactoryPolicy = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.requestPolicyFactoryPolicyName = exports2.HttpPipelineLogLevel = void 0;
     exports2.createRequestPolicyFactoryPolicy = createRequestPolicyFactoryPolicy;
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     var response_js_1 = require_response3();
     var HttpPipelineLogLevel;
     (function(HttpPipelineLogLevel2) {
@@ -60291,7 +61784,7 @@ var require_httpClientAdapter = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.convertHttpClient = convertHttpClient;
     var response_js_1 = require_response3();
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     function convertHttpClient(requestPolicyClient) {
       return {
         sendRequest: async (request2) => {
@@ -60331,7 +61824,7 @@ var require_commonjs9 = __commonJS({
     Object.defineProperty(exports2, "convertHttpClient", { enumerable: true, get: function() {
       return httpClientAdapter_js_1.convertHttpClient;
     } });
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     Object.defineProperty(exports2, "toHttpHeadersLike", { enumerable: true, get: function() {
       return util_js_1.toHttpHeadersLike;
     } });
@@ -96412,7 +97905,7 @@ var require_cache_twirp_client = __commonJS({
 });
 
 // node_modules/@actions/cache/lib/internal/shared/util.js
-var require_util17 = __commonJS({
+var require_util18 = __commonJS({
   "node_modules/@actions/cache/lib/internal/shared/util.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -96489,7 +97982,7 @@ var require_cacheTwirpClient = __commonJS({
     var auth_1 = require_auth();
     var http_client_1 = require_lib();
     var cache_twirp_client_1 = require_cache_twirp_client();
-    var util_1 = require_util17();
+    var util_1 = require_util18();
     var CacheServiceClient = class {
       constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) {
         this.maxAttempts = 5;
@@ -111620,11 +113113,11 @@ void runWrapper();
 /*! Bundled license information:
 
 undici/lib/web/fetch/body.js:
-undici/lib/fetch/body.js:
+undici/lib/web/fetch/body.js:
   (*! formdata-polyfill. MIT License. Jimmy Wärting  *)
 
 undici/lib/web/websocket/frame.js:
-undici/lib/websocket/frame.js:
+undici/lib/web/websocket/frame.js:
   (*! ws. MIT License. Einar Otto Stangvik  *)
 
 @octokit/request-error/dist-src/index.js:
diff --git a/lib/autobuild-action.js b/lib/autobuild-action.js
index 41707279b7..7efcb5bdcc 100644
--- a/lib/autobuild-action.js
+++ b/lib/autobuild-action.js
@@ -21549,9 +21549,9 @@ var require_context = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/core/symbols.js
 var require_symbols6 = __commonJS({
-  "node_modules/undici/lib/core/symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/symbols.js"(exports2, module2) {
     module2.exports = {
       kClose: /* @__PURE__ */ Symbol("close"),
       kDestroy: /* @__PURE__ */ Symbol("destroy"),
@@ -21562,7 +21562,6 @@ var require_symbols6 = __commonJS({
       kQueue: /* @__PURE__ */ Symbol("queue"),
       kConnect: /* @__PURE__ */ Symbol("connect"),
       kConnecting: /* @__PURE__ */ Symbol("connecting"),
-      kHeadersList: /* @__PURE__ */ Symbol("headers list"),
       kKeepAliveDefaultTimeout: /* @__PURE__ */ Symbol("default keep alive timeout"),
       kKeepAliveMaxTimeout: /* @__PURE__ */ Symbol("max keep alive timeout"),
       kKeepAliveTimeoutThreshold: /* @__PURE__ */ Symbol("keep alive timeout threshold"),
@@ -21575,6 +21574,7 @@ var require_symbols6 = __commonJS({
       kHost: /* @__PURE__ */ Symbol("host"),
       kNoRef: /* @__PURE__ */ Symbol("no ref"),
       kBodyUsed: /* @__PURE__ */ Symbol("used"),
+      kBody: /* @__PURE__ */ Symbol("abstracted request body"),
       kRunning: /* @__PURE__ */ Symbol("running"),
       kBlocking: /* @__PURE__ */ Symbol("blocking"),
       kPending: /* @__PURE__ */ Symbol("pending"),
@@ -21587,6 +21587,8 @@ var require_symbols6 = __commonJS({
       kNeedDrain: /* @__PURE__ */ Symbol("need drain"),
       kReset: /* @__PURE__ */ Symbol("reset"),
       kDestroyed: /* @__PURE__ */ Symbol.for("nodejs.stream.destroyed"),
+      kResume: /* @__PURE__ */ Symbol("resume"),
+      kOnError: /* @__PURE__ */ Symbol("on error"),
       kMaxHeadersSize: /* @__PURE__ */ Symbol("max headers size"),
       kRunningIdx: /* @__PURE__ */ Symbol("running index"),
       kPendingIdx: /* @__PURE__ */ Symbol("pending index"),
@@ -21608,67 +21610,90 @@ var require_symbols6 = __commonJS({
       kMaxResponseSize: /* @__PURE__ */ Symbol("max response size"),
       kHTTP2Session: /* @__PURE__ */ Symbol("http2Session"),
       kHTTP2SessionState: /* @__PURE__ */ Symbol("http2Session state"),
-      kHTTP2BuildRequest: /* @__PURE__ */ Symbol("http2 build request"),
-      kHTTP1BuildRequest: /* @__PURE__ */ Symbol("http1 build request"),
-      kHTTP2CopyHeaders: /* @__PURE__ */ Symbol("http2 copy headers"),
-      kHTTPConnVersion: /* @__PURE__ */ Symbol("http connection version"),
       kRetryHandlerDefaultRetry: /* @__PURE__ */ Symbol("retry agent default retry"),
-      kConstruct: /* @__PURE__ */ Symbol("constructable")
+      kConstruct: /* @__PURE__ */ Symbol("constructable"),
+      kListeners: /* @__PURE__ */ Symbol("listeners"),
+      kHTTPContext: /* @__PURE__ */ Symbol("http context"),
+      kMaxConcurrentStreams: /* @__PURE__ */ Symbol("max concurrent streams"),
+      kNoProxyAgent: /* @__PURE__ */ Symbol("no proxy agent"),
+      kHttpProxyAgent: /* @__PURE__ */ Symbol("http proxy agent"),
+      kHttpsProxyAgent: /* @__PURE__ */ Symbol("https proxy agent")
     };
   }
 });
 
-// node_modules/undici/lib/core/errors.js
+// node_modules/@actions/github/node_modules/undici/lib/core/errors.js
 var require_errors2 = __commonJS({
-  "node_modules/undici/lib/core/errors.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/errors.js"(exports2, module2) {
     "use strict";
+    var kUndiciError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR");
     var UndiciError = class extends Error {
       constructor(message) {
         super(message);
         this.name = "UndiciError";
         this.code = "UND_ERR";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kUndiciError] === true;
+      }
+      [kUndiciError] = true;
     };
-    var ConnectTimeoutError = class _ConnectTimeoutError extends UndiciError {
+    var kConnectTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT");
+    var ConnectTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ConnectTimeoutError);
         this.name = "ConnectTimeoutError";
         this.message = message || "Connect Timeout Error";
         this.code = "UND_ERR_CONNECT_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kConnectTimeoutError] === true;
+      }
+      [kConnectTimeoutError] = true;
     };
-    var HeadersTimeoutError = class _HeadersTimeoutError extends UndiciError {
+    var kHeadersTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT");
+    var HeadersTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersTimeoutError);
         this.name = "HeadersTimeoutError";
         this.message = message || "Headers Timeout Error";
         this.code = "UND_ERR_HEADERS_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersTimeoutError] === true;
+      }
+      [kHeadersTimeoutError] = true;
     };
-    var HeadersOverflowError = class _HeadersOverflowError extends UndiciError {
+    var kHeadersOverflowError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW");
+    var HeadersOverflowError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersOverflowError);
         this.name = "HeadersOverflowError";
         this.message = message || "Headers Overflow Error";
         this.code = "UND_ERR_HEADERS_OVERFLOW";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersOverflowError] === true;
+      }
+      [kHeadersOverflowError] = true;
     };
-    var BodyTimeoutError = class _BodyTimeoutError extends UndiciError {
+    var kBodyTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT");
+    var BodyTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _BodyTimeoutError);
         this.name = "BodyTimeoutError";
         this.message = message || "Body Timeout Error";
         this.code = "UND_ERR_BODY_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBodyTimeoutError] === true;
+      }
+      [kBodyTimeoutError] = true;
     };
-    var ResponseStatusCodeError = class _ResponseStatusCodeError extends UndiciError {
+    var kResponseStatusCodeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RESPONSE_STATUS_CODE");
+    var ResponseStatusCodeError = class extends UndiciError {
       constructor(message, statusCode, headers, body) {
         super(message);
-        Error.captureStackTrace(this, _ResponseStatusCodeError);
         this.name = "ResponseStatusCodeError";
         this.message = message || "Response Status Code Error";
         this.code = "UND_ERR_RESPONSE_STATUS_CODE";
@@ -21677,129 +21702,198 @@ var require_errors2 = __commonJS({
         this.statusCode = statusCode;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseStatusCodeError] === true;
+      }
+      [kResponseStatusCodeError] = true;
     };
-    var InvalidArgumentError = class _InvalidArgumentError extends UndiciError {
+    var kInvalidArgumentError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_ARG");
+    var InvalidArgumentError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidArgumentError);
         this.name = "InvalidArgumentError";
         this.message = message || "Invalid Argument Error";
         this.code = "UND_ERR_INVALID_ARG";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidArgumentError] === true;
+      }
+      [kInvalidArgumentError] = true;
     };
-    var InvalidReturnValueError = class _InvalidReturnValueError extends UndiciError {
+    var kInvalidReturnValueError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE");
+    var InvalidReturnValueError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidReturnValueError);
         this.name = "InvalidReturnValueError";
         this.message = message || "Invalid Return Value Error";
         this.code = "UND_ERR_INVALID_RETURN_VALUE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidReturnValueError] === true;
+      }
+      [kInvalidReturnValueError] = true;
+    };
+    var kAbortError = /* @__PURE__ */ 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";
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kAbortError] === true;
+      }
+      [kAbortError] = true;
     };
-    var RequestAbortedError = class _RequestAbortedError extends UndiciError {
+    var kRequestAbortedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_ABORTED");
+    var RequestAbortedError = class extends AbortError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestAbortedError);
         this.name = "AbortError";
         this.message = message || "Request aborted";
         this.code = "UND_ERR_ABORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestAbortedError] === true;
+      }
+      [kRequestAbortedError] = true;
     };
-    var InformationalError = class _InformationalError extends UndiciError {
+    var kInformationalError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INFO");
+    var InformationalError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InformationalError);
         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 RequestContentLengthMismatchError = class _RequestContentLengthMismatchError extends UndiciError {
+    var kRequestContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH");
+    var RequestContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestContentLengthMismatchError);
         this.name = "RequestContentLengthMismatchError";
         this.message = message || "Request body length does not match content-length header";
         this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestContentLengthMismatchError] === true;
+      }
+      [kRequestContentLengthMismatchError] = true;
     };
-    var ResponseContentLengthMismatchError = class _ResponseContentLengthMismatchError extends UndiciError {
+    var kResponseContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH");
+    var ResponseContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseContentLengthMismatchError);
         this.name = "ResponseContentLengthMismatchError";
         this.message = message || "Response body length does not match content-length header";
         this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseContentLengthMismatchError] === true;
+      }
+      [kResponseContentLengthMismatchError] = true;
     };
-    var ClientDestroyedError = class _ClientDestroyedError extends UndiciError {
+    var kClientDestroyedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_DESTROYED");
+    var ClientDestroyedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientDestroyedError);
         this.name = "ClientDestroyedError";
         this.message = message || "The client is destroyed";
         this.code = "UND_ERR_DESTROYED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientDestroyedError] === true;
+      }
+      [kClientDestroyedError] = true;
     };
-    var ClientClosedError = class _ClientClosedError extends UndiciError {
+    var kClientClosedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CLOSED");
+    var ClientClosedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientClosedError);
         this.name = "ClientClosedError";
         this.message = message || "The client is closed";
         this.code = "UND_ERR_CLOSED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientClosedError] === true;
+      }
+      [kClientClosedError] = true;
     };
-    var SocketError = class _SocketError extends UndiciError {
+    var kSocketError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_SOCKET");
+    var SocketError = class extends UndiciError {
       constructor(message, socket) {
         super(message);
-        Error.captureStackTrace(this, _SocketError);
         this.name = "SocketError";
         this.message = message || "Socket error";
         this.code = "UND_ERR_SOCKET";
         this.socket = socket;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kSocketError] === true;
+      }
+      [kSocketError] = true;
     };
-    var NotSupportedError = class _NotSupportedError extends UndiciError {
+    var kNotSupportedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED");
+    var NotSupportedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _NotSupportedError);
         this.name = "NotSupportedError";
         this.message = message || "Not supported error";
         this.code = "UND_ERR_NOT_SUPPORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kNotSupportedError] === true;
+      }
+      [kNotSupportedError] = true;
     };
+    var kBalancedPoolMissingUpstreamError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM");
     var BalancedPoolMissingUpstreamError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, NotSupportedError);
         this.name = "MissingUpstreamError";
         this.message = message || "No upstream has been added to the BalancedPool";
         this.code = "UND_ERR_BPL_MISSING_UPSTREAM";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBalancedPoolMissingUpstreamError] === true;
+      }
+      [kBalancedPoolMissingUpstreamError] = true;
     };
-    var HTTPParserError = class _HTTPParserError extends Error {
+    var kHTTPParserError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HTTP_PARSER");
+    var HTTPParserError = class extends Error {
       constructor(message, code, data) {
         super(message);
-        Error.captureStackTrace(this, _HTTPParserError);
         this.name = "HTTPParserError";
         this.code = code ? `HPE_${code}` : void 0;
         this.data = data ? data.toString() : void 0;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHTTPParserError] === true;
+      }
+      [kHTTPParserError] = true;
     };
-    var ResponseExceededMaxSizeError = class _ResponseExceededMaxSizeError extends UndiciError {
+    var kResponseExceededMaxSizeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE");
+    var ResponseExceededMaxSizeError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseExceededMaxSizeError);
         this.name = "ResponseExceededMaxSizeError";
         this.message = message || "Response content exceeded max size";
         this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseExceededMaxSizeError] === true;
+      }
+      [kResponseExceededMaxSizeError] = true;
     };
-    var RequestRetryError = class _RequestRetryError extends UndiciError {
+    var kRequestRetryError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_RETRY");
+    var RequestRetryError = class extends UndiciError {
       constructor(message, code, { headers, data }) {
         super(message);
-        Error.captureStackTrace(this, _RequestRetryError);
         this.name = "RequestRetryError";
         this.message = message || "Request retry error";
         this.code = "UND_ERR_REQ_RETRY";
@@ -21807,8 +21901,43 @@ var require_errors2 = __commonJS({
         this.data = data;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestRetryError] === true;
+      }
+      [kRequestRetryError] = true;
+    };
+    var kResponseError = /* @__PURE__ */ 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 = /* @__PURE__ */ 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,
@@ -21828,14 +21957,16 @@ var require_errors2 = __commonJS({
       ResponseContentLengthMismatchError,
       BalancedPoolMissingUpstreamError,
       ResponseExceededMaxSizeError,
-      RequestRetryError
+      RequestRetryError,
+      ResponseError,
+      SecureProxyConnectionError
     };
   }
 });
 
-// node_modules/undici/lib/core/constants.js
+// node_modules/@actions/github/node_modules/undici/lib/core/constants.js
 var require_constants6 = __commonJS({
-  "node_modules/undici/lib/core/constants.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/constants.js"(exports2, module2) {
     "use strict";
     var headerNameLowerCasedRecord = {};
     var wellknownHeaderNames = [
@@ -21948,28 +22079,212 @@ var require_constants6 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/util.js
+// node_modules/@actions/github/node_modules/undici/lib/core/tree.js
+var require_tree2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/tree.js"(exports2, module2) {
+    "use strict";
+    var {
+      wellknownHeaderNames,
+      headerNameLowerCasedRecord
+    } = require_constants6();
+    var TstNode = class _TstNode {
+      /** @type {any} */
+      value = null;
+      /** @type {null | TstNode} */
+      left = null;
+      /** @type {null | TstNode} */
+      middle = null;
+      /** @type {null | TstNode} */
+      right = null;
+      /** @type {number} */
+      code;
+      /**
+       * @param {string} key
+       * @param {any} value
+       * @param {number} index
+       */
+      constructor(key, value, index) {
+        if (index === void 0 || index >= key.length) {
+          throw new TypeError("Unreachable");
+        }
+        const code = this.code = key.charCodeAt(index);
+        if (code > 127) {
+          throw new TypeError("key must be ascii string");
+        }
+        if (key.length !== ++index) {
+          this.middle = new _TstNode(key, value, index);
+        } else {
+          this.value = value;
+        }
+      }
+      /**
+       * @param {string} key
+       * @param {any} value
+       */
+      add(key, value) {
+        const length = key.length;
+        if (length === 0) {
+          throw new TypeError("Unreachable");
+        }
+        let index = 0;
+        let node = this;
+        while (true) {
+          const code = key.charCodeAt(index);
+          if (code > 127) {
+            throw new TypeError("key must be ascii string");
+          }
+          if (node.code === code) {
+            if (length === ++index) {
+              node.value = value;
+              break;
+            } else if (node.middle !== null) {
+              node = node.middle;
+            } else {
+              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;
+          }
+        }
+      }
+      /**
+       * @param {Uint8Array} key
+       * @return {TstNode | null}
+       */
+      search(key) {
+        const keylength = key.length;
+        let index = 0;
+        let node = this;
+        while (node !== null && index < keylength) {
+          let code = key[index];
+          if (code <= 90 && code >= 65) {
+            code |= 32;
+          }
+          while (node !== null) {
+            if (code === node.code) {
+              if (keylength === ++index) {
+                return node;
+              }
+              node = node.middle;
+              break;
+            }
+            node = node.code < code ? node.left : node.right;
+          }
+        }
+        return null;
+      }
+    };
+    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);
+        }
+      }
+      /**
+       * @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/@actions/github/node_modules/undici/lib/core/util.js
 var require_util9 = __commonJS({
-  "node_modules/undici/lib/core/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/util.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { kDestroyed, kBodyUsed } = require_symbols6();
-    var { IncomingMessage } = require("http");
-    var stream = require("stream");
-    var net = require("net");
+    var assert = require("node:assert");
+    var { kDestroyed, kBodyUsed, kListeners, kBody } = require_symbols6();
+    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_errors2();
-    var { Blob: Blob2 } = require("buffer");
-    var nodeUtil = require("util");
-    var { stringify } = require("querystring");
     var { headerNameLowerCasedRecord } = require_constants6();
+    var { tree } = require_tree2();
     var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v) => Number(v));
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
+      }
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
+      }
+    };
+    function wrapRequestBody(body) {
+      if (isStream(body)) {
+        if (bodyLength(body) === 0) {
+          body.on("data", function() {
+            assert(false);
+          });
+        }
+        if (typeof body.readableDidRead !== "boolean") {
+          body[kBodyUsed] = false;
+          EE.prototype.on.call(body, "data", function() {
+            this[kBodyUsed] = true;
+          });
+        }
+        return body;
+      } else if (body && typeof body.pipeTo === "function") {
+        return new BodyAsyncIterable(body);
+      } else if (body && typeof body !== "string" && !ArrayBuffer.isView(body) && isIterable(body)) {
+        return new BodyAsyncIterable(body);
+      } else {
+        return body;
+      }
+    }
     function nop() {
     }
     function isStream(obj) {
       return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function";
     }
     function isBlobLike(object) {
-      return Blob2 && object instanceof Blob2 || object && typeof object === "object" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]);
+      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("#")) {
@@ -21981,10 +22296,17 @@ var require_util9 = __commonJS({
       }
       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 (!/^https?:/.test(url.origin || url.protocol)) {
+        if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {
           throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
         }
         return url;
@@ -21992,11 +22314,8 @@ var require_util9 = __commonJS({
       if (!url || typeof url !== "object") {
         throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object.");
       }
-      if (!/^https?:/.test(url.origin || url.protocol)) {
-        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
-      }
       if (!(url instanceof URL)) {
-        if (url.port != null && url.port !== "" && !Number.isFinite(parseInt(url.port))) {
+        if (url.port != null && url.port !== "" && isValidPort(url.port) === false) {
           throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer.");
         }
         if (url.path != null && typeof url.path !== "string") {
@@ -22011,16 +22330,22 @@ var require_util9 = __commonJS({
         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 origin = url.origin != null ? url.origin : `${url.protocol || ""}//${url.hostname || ""}:${port}`;
         let path7 = url.path != null ? url.path : `${url.pathname || ""}${url.search || ""}`;
-        if (origin.endsWith("/")) {
-          origin = origin.substring(0, origin.length - 1);
+        if (origin[origin.length - 1] === "/") {
+          origin = origin.slice(0, origin.length - 1);
         }
-        if (path7 && !path7.startsWith("/")) {
+        if (path7 && path7[0] !== "/") {
           path7 = `/${path7}`;
         }
-        url = new URL(origin + path7);
+        return new URL(`${origin}${path7}`);
+      }
+      if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {
+        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
       }
       return url;
     }
@@ -22045,7 +22370,7 @@ var require_util9 = __commonJS({
       if (!host) {
         return null;
       }
-      assert.strictEqual(typeof host, "string");
+      assert(typeof host === "string");
       const servername = getHostname(host);
       if (net.isIP(servername)) {
         return "";
@@ -22074,12 +22399,8 @@ var require_util9 = __commonJS({
       }
       return null;
     }
-    function isDestroyed(stream2) {
-      return !stream2 || !!(stream2.destroyed || stream2[kDestroyed]);
-    }
-    function isReadableAborted(stream2) {
-      const state = stream2 && stream2._readableState;
-      return isDestroyed(stream2) && state && !state.endEmitted;
+    function isDestroyed(body) {
+      return body && !!(body.destroyed || body[kDestroyed] || stream.isDestroyed?.(body));
     }
     function destroy(stream2, err) {
       if (stream2 == null || !isStream(stream2) || isDestroyed(stream2)) {
@@ -22091,9 +22412,9 @@ var require_util9 = __commonJS({
         }
         stream2.destroy(err);
       } else if (err) {
-        process.nextTick((stream3, err2) => {
-          stream3.emit("error", err2);
-        }, stream2, err);
+        queueMicrotask(() => {
+          stream2.emit("error", err);
+        });
       }
       if (stream2.destroyed !== true) {
         stream2[kDestroyed] = true;
@@ -22105,25 +22426,29 @@ var require_util9 = __commonJS({
       return m ? parseInt(m[1], 10) * 1e3 : null;
     }
     function headerNameToString(value) {
-      return headerNameLowerCasedRecord[value] || value.toLowerCase();
+      return typeof value === "string" ? headerNameLowerCasedRecord[value] ?? value.toLowerCase() : tree.lookup(value) ?? value.toString("latin1").toLowerCase();
+    }
+    function bufferToLowerCasedHeaderName(value) {
+      return tree.lookup(value) ?? value.toString("latin1").toLowerCase();
     }
-    function parseHeaders(headers, obj = {}) {
-      if (!Array.isArray(headers)) return headers;
+    function parseHeaders(headers, obj) {
+      if (obj === void 0) obj = {};
       for (let i = 0; i < headers.length; i += 2) {
-        const key = headers[i].toString().toLowerCase();
+        const key = headerNameToString(headers[i]);
         let val = obj[key];
-        if (!val) {
-          if (Array.isArray(headers[i + 1])) {
-            obj[key] = headers[i + 1].map((x) => x.toString("utf8"));
-          } else {
-            obj[key] = headers[i + 1].toString("utf8");
-          }
-        } else {
-          if (!Array.isArray(val)) {
+        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");
+          }
         }
       }
       if ("content-length" in obj && "content-disposition" in obj) {
@@ -22132,20 +22457,26 @@ var require_util9 = __commonJS({
       return obj;
     }
     function parseRawHeaders(headers) {
-      const ret = [];
+      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) {
-        const key = headers[n + 0].toString();
-        const val = headers[n + 1].toString("utf8");
-        if (key.length === 14 && (key === "content-length" || key.toLowerCase() === "content-length")) {
-          ret.push(key, val);
+        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 (key.length === 19 && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
-          contentDispositionIdx = ret.push(key, val) - 1;
-        } else {
-          ret.push(key, val);
+        } else if (kLen === 19 && key[7] === "-" && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
+          contentDispositionIdx = n + 1;
         }
+        ret[n] = key;
+        ret[n + 1] = val;
       }
       if (hasContentLength && contentDispositionIdx !== -1) {
         ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1");
@@ -22185,17 +22516,13 @@ var require_util9 = __commonJS({
       }
     }
     function isDisturbed(body) {
-      return !!(body && (stream.isDisturbed ? stream.isDisturbed(body) || body[kBodyUsed] : body[kBodyUsed] || body.readableDidRead || body._readableState && body._readableState.dataEmitted || isReadableAborted(body)));
+      return !!(body && (stream.isDisturbed(body) || body[kBodyUsed]));
     }
     function isErrored(body) {
-      return !!(body && (stream.isErrored ? stream.isErrored(body) : /state: 'errored'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream.isErrored(body));
     }
     function isReadable(body) {
-      return !!(body && (stream.isReadable ? stream.isReadable(body) : /state: 'readable'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream.isReadable(body));
     }
     function getSocketInfo(socket) {
       return {
@@ -22209,21 +22536,9 @@ var require_util9 = __commonJS({
         bytesRead: socket.bytesRead
       };
     }
-    async function* convertIterableToBuffer(iterable) {
-      for await (const chunk of iterable) {
-        yield Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
-      }
-    }
-    var ReadableStream2;
     function ReadableStreamFrom(iterable) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      if (ReadableStream2.from) {
-        return ReadableStream2.from(convertIterableToBuffer(iterable));
-      }
       let iterator2;
-      return new ReadableStream2(
+      return new ReadableStream(
         {
           async start() {
             iterator2 = iterable[Symbol.asyncIterator]();
@@ -22233,37 +22548,26 @@ var require_util9 = __commonJS({
             if (done) {
               queueMicrotask(() => {
                 controller.close();
+                controller.byobRequest?.respond(0);
               });
             } else {
               const buf = Buffer.isBuffer(value) ? value : Buffer.from(value);
-              controller.enqueue(new Uint8Array(buf));
+              if (buf.byteLength) {
+                controller.enqueue(new Uint8Array(buf));
+              }
             }
             return controller.desiredSize > 0;
           },
           async cancel(reason) {
             await iterator2.return();
-          }
-        },
-        0
+          },
+          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 throwIfAborted(signal) {
-      if (!signal) {
-        return;
-      }
-      if (typeof signal.throwIfAborted === "function") {
-        signal.throwIfAborted();
-      } else {
-        if (signal.aborted) {
-          const err = new Error("The operation was aborted");
-          err.name = "AbortError";
-          throw err;
-        }
-      }
-    }
     function addAbortListener(signal, listener) {
       if ("addEventListener" in signal) {
         signal.addEventListener("abort", listener, { once: true });
@@ -22272,14 +22576,52 @@ var require_util9 = __commonJS({
       signal.addListener("abort", listener);
       return () => signal.removeListener("abort", listener);
     }
-    var hasToWellFormed = !!String.prototype.toWellFormed;
+    var hasToWellFormed = typeof String.prototype.toWellFormed === "function";
+    var hasIsWellFormed = typeof String.prototype.isWellFormed === "function";
     function toUSVString(val) {
-      if (hasToWellFormed) {
-        return `${val}`.toWellFormed();
-      } else if (nodeUtil.toUSVString) {
-        return nodeUtil.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;
+      }
+    }
+    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 `${val}`;
+      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 };
@@ -22290,25 +22632,70 @@ var require_util9 = __commonJS({
         size: m[3] ? parseInt(m[3]) : null
       } : null;
     }
-    var kEnumerableProperty = /* @__PURE__ */ Object.create(null);
-    kEnumerableProperty.enumerable = true;
-    module2.exports = {
-      kEnumerableProperty,
-      nop,
-      isDisturbed,
-      isErrored,
-      isReadable,
-      toUSVString,
-      isReadableAborted,
-      isBlobLike,
-      parseOrigin,
-      parseURL,
-      getServerName,
+    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);
+      }
+      obj[kListeners] = null;
+    }
+    function errorRequest2(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: errorRequest2,
       parseRawHeaders,
       parseHeaders,
       parseKeepAliveTimeout,
@@ -22321,15673 +22708,16863 @@ var require_util9 = __commonJS({
       getSocketInfo,
       isFormDataLike,
       buildURL,
-      throwIfAborted,
       addAbortListener,
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isTokenCharCode,
       parseRangeHeader,
+      normalizedMethodRecordsBase,
+      normalizedMethodRecords,
+      isValidPort,
+      isHttpOrHttpsPrefixed,
       nodeMajor,
       nodeMinor,
-      nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13,
-      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"]
+      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"],
+      wrapRequestBody
     };
   }
 });
 
-// node_modules/undici/lib/timers.js
-var require_timers2 = __commonJS({
-  "node_modules/undici/lib/timers.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js
+var require_diagnostics2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js"(exports2, module2) {
     "use strict";
-    var fastNow = Date.now();
-    var fastNowTimeout;
-    var fastTimers = [];
-    function onTimeout() {
-      fastNow = Date.now();
-      let len = fastTimers.length;
-      let idx = 0;
-      while (idx < len) {
-        const timer = fastTimers[idx];
-        if (timer.state === 0) {
-          timer.state = fastNow + timer.delay;
-        } else if (timer.state > 0 && fastNow >= timer.state) {
-          timer.state = -1;
-          timer.callback(timer.opaque);
-        }
-        if (timer.state === -1) {
-          timer.state = -2;
-          if (idx !== len - 1) {
-            fastTimers[idx] = fastTimers.pop();
-          } else {
-            fastTimers.pop();
-          }
-          len -= 1;
-        } else {
-          idx += 1;
-        }
-      }
-      if (fastTimers.length > 0) {
-        refreshTimeout();
-      }
-    }
-    function refreshTimeout() {
-      if (fastNowTimeout && fastNowTimeout.refresh) {
-        fastNowTimeout.refresh();
-      } else {
-        clearTimeout(fastNowTimeout);
-        fastNowTimeout = setTimeout(onTimeout, 1e3);
-        if (fastNowTimeout.unref) {
-          fastNowTimeout.unref();
-        }
-      }
-    }
-    var Timeout = class {
-      constructor(callback, delay, opaque) {
-        this.callback = callback;
-        this.delay = delay;
-        this.opaque = opaque;
-        this.state = -2;
-        this.refresh();
-      }
-      refresh() {
-        if (this.state === -2) {
-          fastTimers.push(this);
-          if (!fastNowTimeout || fastTimers.length === 1) {
-            refreshTimeout();
-          }
-        }
-        this.state = 0;
-      }
-      clear() {
-        this.state = -1;
-      }
-    };
-    module2.exports = {
-      setTimeout(callback, delay, opaque) {
-        return delay < 1e3 ? setTimeout(callback, delay, opaque) : new Timeout(callback, delay, opaque);
-      },
-      clearTimeout(timeout) {
-        if (timeout instanceof Timeout) {
-          timeout.clear();
-        } else {
-          clearTimeout(timeout);
-        }
-      }
+    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")
     };
-  }
-});
-
-// node_modules/@fastify/busboy/deps/streamsearch/sbmh.js
-var require_sbmh = __commonJS({
-  "node_modules/@fastify/busboy/deps/streamsearch/sbmh.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    function SBMH(needle) {
-      if (typeof needle === "string") {
-        needle = Buffer.from(needle);
-      }
-      if (!Buffer.isBuffer(needle)) {
-        throw new TypeError("The needle has to be a String or a Buffer.");
-      }
-      const needleLength = needle.length;
-      if (needleLength === 0) {
-        throw new Error("The needle cannot be an empty String/Buffer.");
-      }
-      if (needleLength > 256) {
-        throw new Error("The needle cannot have a length bigger than 256.");
-      }
-      this.maxMatches = Infinity;
-      this.matches = 0;
-      this._occ = new Array(256).fill(needleLength);
-      this._lookbehind_size = 0;
-      this._needle = needle;
-      this._bufpos = 0;
-      this._lookbehind = Buffer.alloc(needleLength);
-      for (var i = 0; i < needleLength - 1; ++i) {
-        this._occ[needle[i]] = needleLength - 1 - i;
-      }
+    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: error3
+        } = evt;
+        debuglog(
+          "connection to %s using %s%s errored - %s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version,
+          error3.message
+        );
+      });
+      diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+        const {
+          request: { method, path: path7, origin }
+        } = evt;
+        debuglog("sending request to %s %s/%s", method, origin, path7);
+      });
+      diagnosticsChannel.channel("undici:request:headers").subscribe((evt) => {
+        const {
+          request: { method, path: path7, origin },
+          response: { statusCode }
+        } = evt;
+        debuglog(
+          "received response to %s %s/%s - HTTP %d",
+          method,
+          origin,
+          path7,
+          statusCode
+        );
+      });
+      diagnosticsChannel.channel("undici:request:trailers").subscribe((evt) => {
+        const {
+          request: { method, path: path7, origin }
+        } = evt;
+        debuglog("trailers received from %s %s/%s", method, origin, path7);
+      });
+      diagnosticsChannel.channel("undici:request:error").subscribe((evt) => {
+        const {
+          request: { method, path: path7, origin },
+          error: error3
+        } = evt;
+        debuglog(
+          "request to %s %s/%s errored - %s",
+          method,
+          origin,
+          path7,
+          error3.message
+        );
+      });
+      isClientSet = true;
     }
-    inherits(SBMH, EventEmitter);
-    SBMH.prototype.reset = function() {
-      this._lookbehind_size = 0;
-      this.matches = 0;
-      this._bufpos = 0;
-    };
-    SBMH.prototype.push = function(chunk, pos) {
-      if (!Buffer.isBuffer(chunk)) {
-        chunk = Buffer.from(chunk, "binary");
-      }
-      const chlen = chunk.length;
-      this._bufpos = pos || 0;
-      let r;
-      while (r !== chlen && this.matches < this.maxMatches) {
-        r = this._sbmh_feed(chunk);
-      }
-      return r;
-    };
-    SBMH.prototype._sbmh_feed = function(data) {
-      const len = data.length;
-      const needle = this._needle;
-      const needleLength = needle.length;
-      const lastNeedleChar = needle[needleLength - 1];
-      let pos = -this._lookbehind_size;
-      let ch;
-      if (pos < 0) {
-        while (pos < 0 && pos <= len - needleLength) {
-          ch = this._sbmh_lookup_char(data, pos + needleLength - 1);
-          if (ch === lastNeedleChar && this._sbmh_memcmp(data, pos, needleLength - 1)) {
-            this._lookbehind_size = 0;
-            ++this.matches;
-            this.emit("info", true);
-            return this._bufpos = pos + needleLength;
-          }
-          pos += this._occ[ch];
-        }
-        if (pos < 0) {
-          while (pos < 0 && !this._sbmh_memcmp(data, pos, len - pos)) {
-            ++pos;
-          }
-        }
-        if (pos >= 0) {
-          this.emit("info", false, this._lookbehind, 0, this._lookbehind_size);
-          this._lookbehind_size = 0;
-        } else {
-          const bytesToCutOff = this._lookbehind_size + pos;
-          if (bytesToCutOff > 0) {
-            this.emit("info", false, this._lookbehind, 0, bytesToCutOff);
-          }
-          this._lookbehind.copy(
-            this._lookbehind,
-            0,
-            bytesToCutOff,
-            this._lookbehind_size - bytesToCutOff
+    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
           );
-          this._lookbehind_size -= bytesToCutOff;
-          data.copy(this._lookbehind, this._lookbehind_size);
-          this._lookbehind_size += len;
-          this._bufpos = len;
-          return len;
-        }
-      }
-      pos += (pos >= 0) * this._bufpos;
-      if (data.indexOf(needle, pos) !== -1) {
-        pos = data.indexOf(needle, pos);
-        ++this.matches;
-        if (pos > 0) {
-          this.emit("info", true, data, this._bufpos, pos);
-        } else {
-          this.emit("info", true);
-        }
-        return this._bufpos = pos + needleLength;
-      } else {
-        pos = len - needleLength;
-      }
-      while (pos < len && (data[pos] !== needle[0] || Buffer.compare(
-        data.subarray(pos, pos + len - pos),
-        needle.subarray(0, len - pos)
-      ) !== 0)) {
-        ++pos;
-      }
-      if (pos < len) {
-        data.copy(this._lookbehind, 0, pos, pos + (len - pos));
-        this._lookbehind_size = len - pos;
-      }
-      if (pos > 0) {
-        this.emit("info", false, data, this._bufpos, pos < len ? pos : len);
-      }
-      this._bufpos = len;
-      return len;
-    };
-    SBMH.prototype._sbmh_lookup_char = function(data, pos) {
-      return pos < 0 ? this._lookbehind[this._lookbehind_size + pos] : data[pos];
-    };
-    SBMH.prototype._sbmh_memcmp = function(data, pos, len) {
-      for (var i = 0; i < len; ++i) {
-        if (this._sbmh_lookup_char(data, pos + i) !== this._needle[i]) {
-          return false;
-        }
+        });
+        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: error3
+          } = evt;
+          debuglog(
+            "connection to %s%s using %s%s errored - %s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version,
+            error3.message
+          );
+        });
+        diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+          const {
+            request: { method, path: path7, origin }
+          } = evt;
+          debuglog("sending request to %s %s/%s", method, origin, path7);
+        });
       }
-      return true;
-    };
-    module2.exports = SBMH;
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js
-var require_PartStream = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js"(exports2, module2) {
-    "use strict";
-    var inherits = require("node:util").inherits;
-    var ReadableStream2 = require("node:stream").Readable;
-    function PartStream(opts) {
-      ReadableStream2.call(this, opts);
+      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");
+      });
     }
-    inherits(PartStream, ReadableStream2);
-    PartStream.prototype._read = function(n) {
-    };
-    module2.exports = PartStream;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/getLimit.js
-var require_getLimit = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/getLimit.js"(exports2, module2) {
-    "use strict";
-    module2.exports = function getLimit(limits, name, defaultLimit) {
-      if (!limits || limits[name] === void 0 || limits[name] === null) {
-        return defaultLimit;
-      }
-      if (typeof limits[name] !== "number" || isNaN(limits[name])) {
-        throw new TypeError("Limit " + name + " is not a valid number");
-      }
-      return limits[name];
+    module2.exports = {
+      channels
     };
   }
 });
 
-// node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js
-var require_HeaderParser = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/request.js
+var require_request3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/request.js"(exports2, module2) {
     "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    var getLimit = require_getLimit();
-    var StreamSearch = require_sbmh();
-    var B_DCRLF = Buffer.from("\r\n\r\n");
-    var RE_CRLF = /\r\n/g;
-    var RE_HDR = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/;
-    function HeaderParser(cfg) {
-      EventEmitter.call(this);
-      cfg = cfg || {};
-      const self2 = this;
-      this.nread = 0;
-      this.maxed = false;
-      this.npairs = 0;
-      this.maxHeaderPairs = getLimit(cfg, "maxHeaderPairs", 2e3);
-      this.maxHeaderSize = getLimit(cfg, "maxHeaderSize", 80 * 1024);
-      this.buffer = "";
-      this.header = {};
-      this.finished = false;
-      this.ss = new StreamSearch(B_DCRLF);
-      this.ss.on("info", function(isMatch, data, start, end) {
-        if (data && !self2.maxed) {
-          if (self2.nread + end - start >= self2.maxHeaderSize) {
-            end = self2.maxHeaderSize - self2.nread + start;
-            self2.nread = self2.maxHeaderSize;
-            self2.maxed = true;
-          } else {
-            self2.nread += end - start;
-          }
-          self2.buffer += data.toString("binary", start, end);
+    var {
+      InvalidArgumentError,
+      NotSupportedError
+    } = require_errors2();
+    var assert = require("node:assert");
+    var {
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isStream,
+      destroy,
+      isBuffer,
+      isFormDataLike,
+      isIterable,
+      isBlobLike,
+      buildURL,
+      validateHandler,
+      getServerName,
+      normalizedMethodRecords
+    } = require_util9();
+    var { channels } = require_diagnostics2();
+    var { headerNameLowerCasedRecord } = require_constants6();
+    var invalidPathRegex = /[^\u0021-\u00ff]/;
+    var kHandler = /* @__PURE__ */ Symbol("handler");
+    var Request = class {
+      constructor(origin, {
+        path: path7,
+        method,
+        body,
+        headers,
+        query,
+        idempotent,
+        blocking,
+        upgrade,
+        headersTimeout,
+        bodyTimeout,
+        reset,
+        throwOnError,
+        expectContinue,
+        servername
+      }, handler2) {
+        if (typeof path7 !== "string") {
+          throw new InvalidArgumentError("path must be a string");
+        } else if (path7[0] !== "/" && !(path7.startsWith("http://") || path7.startsWith("https://")) && method !== "CONNECT") {
+          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
+        } else if (invalidPathRegex.test(path7)) {
+          throw new InvalidArgumentError("invalid request path");
         }
-        if (isMatch) {
-          self2._finish();
+        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");
         }
-      });
-    }
-    inherits(HeaderParser, EventEmitter);
-    HeaderParser.prototype.push = function(data) {
-      const r = this.ss.push(data);
-      if (this.finished) {
-        return r;
-      }
-    };
-    HeaderParser.prototype.reset = function() {
-      this.finished = false;
-      this.buffer = "";
-      this.header = {};
-      this.ss.reset();
-    };
-    HeaderParser.prototype._finish = function() {
-      if (this.buffer) {
-        this._parseHeader();
-      }
-      this.ss.matches = this.ss.maxMatches;
-      const header = this.header;
-      this.header = {};
-      this.buffer = "";
-      this.finished = true;
-      this.nread = this.npairs = 0;
-      this.maxed = false;
-      this.emit("header", header);
-    };
-    HeaderParser.prototype._parseHeader = function() {
-      if (this.npairs === this.maxHeaderPairs) {
-        return;
-      }
-      const lines = this.buffer.split(RE_CRLF);
-      const len = lines.length;
-      let m, h;
-      for (var i = 0; i < len; ++i) {
-        if (lines[i].length === 0) {
-          continue;
+        if (upgrade && typeof upgrade !== "string") {
+          throw new InvalidArgumentError("upgrade must be a string");
         }
-        if (lines[i][0] === "	" || lines[i][0] === " ") {
-          if (h) {
-            this.header[h][this.header[h].length - 1] += lines[i];
-            continue;
-          }
+        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
+          throw new InvalidArgumentError("invalid headersTimeout");
         }
-        const posColon = lines[i].indexOf(":");
-        if (posColon === -1 || posColon === 0) {
-          return;
+        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
+          throw new InvalidArgumentError("invalid bodyTimeout");
         }
-        m = RE_HDR.exec(lines[i]);
-        h = m[1].toLowerCase();
-        this.header[h] = this.header[h] || [];
-        this.header[h].push(m[2] || "");
-        if (++this.npairs === this.maxHeaderPairs) {
-          break;
+        if (reset != null && typeof reset !== "boolean") {
+          throw new InvalidArgumentError("invalid reset");
         }
-      }
-    };
-    module2.exports = HeaderParser;
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js
-var require_Dicer = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js"(exports2, module2) {
-    "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var inherits = require("node:util").inherits;
-    var StreamSearch = require_sbmh();
-    var PartStream = require_PartStream();
-    var HeaderParser = require_HeaderParser();
-    var DASH = 45;
-    var B_ONEDASH = Buffer.from("-");
-    var B_CRLF = Buffer.from("\r\n");
-    var EMPTY_FN = function() {
-    };
-    function Dicer(cfg) {
-      if (!(this instanceof Dicer)) {
-        return new Dicer(cfg);
-      }
-      WritableStream.call(this, cfg);
-      if (!cfg || !cfg.headerFirst && typeof cfg.boundary !== "string") {
-        throw new TypeError("Boundary required");
-      }
-      if (typeof cfg.boundary === "string") {
-        this.setBoundary(cfg.boundary);
-      } else {
-        this._bparser = void 0;
-      }
-      this._headerFirst = cfg.headerFirst;
-      this._dashes = 0;
-      this._parts = 0;
-      this._finished = false;
-      this._realFinish = false;
-      this._isPreamble = true;
-      this._justMatched = false;
-      this._firstWrite = true;
-      this._inHeader = true;
-      this._part = void 0;
-      this._cb = void 0;
-      this._ignoreData = false;
-      this._partOpts = { highWaterMark: cfg.partHwm };
-      this._pause = false;
-      const self2 = this;
-      this._hparser = new HeaderParser(cfg);
-      this._hparser.on("header", function(header) {
-        self2._inHeader = false;
-        self2._part.emit("header", header);
-      });
-    }
-    inherits(Dicer, WritableStream);
-    Dicer.prototype.emit = function(ev) {
-      if (ev === "finish" && !this._realFinish) {
-        if (!this._finished) {
-          const self2 = this;
-          process.nextTick(function() {
-            self2.emit("error", new Error("Unexpected end of multipart data"));
-            if (self2._part && !self2._ignoreData) {
-              const type2 = self2._isPreamble ? "Preamble" : "Part";
-              self2._part.emit("error", new Error(type2 + " terminated early due to unexpected end of multipart data"));
-              self2._part.push(null);
-              process.nextTick(function() {
-                self2._realFinish = true;
-                self2.emit("finish");
-                self2._realFinish = false;
-              });
-              return;
-            }
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
-          });
+        if (expectContinue != null && typeof expectContinue !== "boolean") {
+          throw new InvalidArgumentError("invalid expectContinue");
         }
-      } else {
-        WritableStream.prototype.emit.apply(this, arguments);
-      }
-    };
-    Dicer.prototype._write = function(data, encoding, cb) {
-      if (!this._hparser && !this._bparser) {
-        return cb();
-      }
-      if (this._headerFirst && this._isPreamble) {
-        if (!this._part) {
-          this._part = new PartStream(this._partOpts);
-          if (this.listenerCount("preamble") !== 0) {
-            this.emit("preamble", this._part);
-          } else {
-            this._ignore();
+        this.headersTimeout = headersTimeout;
+        this.bodyTimeout = bodyTimeout;
+        this.throwOnError = throwOnError === true;
+        this.method = method;
+        this.abort = null;
+        if (body == null) {
+          this.body = null;
+        } else if (isStream(body)) {
+          this.body = body;
+          const rState = this.body._readableState;
+          if (!rState || !rState.autoDestroy) {
+            this.endHandler = function autoDestroy() {
+              destroy(this);
+            };
+            this.body.on("end", this.endHandler);
           }
-        }
-        const r = this._hparser.push(data);
-        if (!this._inHeader && r !== void 0 && r < data.length) {
-          data = data.slice(r);
+          this.errorHandler = (err) => {
+            if (this.abort) {
+              this.abort(err);
+            } else {
+              this.error = err;
+            }
+          };
+          this.body.on("error", this.errorHandler);
+        } else if (isBuffer(body)) {
+          this.body = body.byteLength ? body : null;
+        } else if (ArrayBuffer.isView(body)) {
+          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
+        } else if (body instanceof ArrayBuffer) {
+          this.body = body.byteLength ? Buffer.from(body) : null;
+        } else if (typeof body === "string") {
+          this.body = body.length ? Buffer.from(body) : null;
+        } else if (isFormDataLike(body) || isIterable(body) || isBlobLike(body)) {
+          this.body = body;
         } else {
-          return cb();
+          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
         }
-      }
-      if (this._firstWrite) {
-        this._bparser.push(B_CRLF);
-        this._firstWrite = false;
-      }
-      this._bparser.push(data);
-      if (this._pause) {
-        this._cb = cb;
-      } else {
-        cb();
-      }
-    };
-    Dicer.prototype.reset = function() {
-      this._part = void 0;
-      this._bparser = void 0;
-      this._hparser = void 0;
-    };
-    Dicer.prototype.setBoundary = function(boundary) {
-      const self2 = this;
-      this._bparser = new StreamSearch("\r\n--" + boundary);
-      this._bparser.on("info", function(isMatch, data, start, end) {
-        self2._oninfo(isMatch, data, start, end);
-      });
-    };
-    Dicer.prototype._ignore = function() {
-      if (this._part && !this._ignoreData) {
-        this._ignoreData = true;
-        this._part.on("error", EMPTY_FN);
-        this._part.resume();
-      }
-    };
-    Dicer.prototype._oninfo = function(isMatch, data, start, end) {
-      let buf;
-      const self2 = this;
-      let i = 0;
-      let r;
-      let shouldWriteMore = true;
-      if (!this._part && this._justMatched && data) {
-        while (this._dashes < 2 && start + i < end) {
-          if (data[start + i] === DASH) {
-            ++i;
-            ++this._dashes;
-          } else {
-            if (this._dashes) {
-              buf = B_ONEDASH;
-            }
-            this._dashes = 0;
-            break;
+        this.completed = false;
+        this.aborted = false;
+        this.upgrade = upgrade || null;
+        this.path = query ? buildURL(path7, query) : path7;
+        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");
           }
-        }
-        if (this._dashes === 2) {
-          if (start + i < end && this.listenerCount("trailer") !== 0) {
-            this.emit("trailer", data.slice(start + i, end));
+          for (let i = 0; i < headers.length; i += 2) {
+            processHeader(this, headers[i], headers[i + 1]);
           }
-          this.reset();
-          this._finished = true;
-          if (self2._parts === 0) {
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
+        } 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");
         }
-        if (this._dashes) {
-          return;
+        validateHandler(handler2, method, upgrade);
+        this.servername = servername || getServerName(this.host);
+        this[kHandler] = handler2;
+        if (channels.create.hasSubscribers) {
+          channels.create.publish({ request: this });
         }
       }
-      if (this._justMatched) {
-        this._justMatched = false;
+      onBodySent(chunk) {
+        if (this[kHandler].onBodySent) {
+          try {
+            return this[kHandler].onBodySent(chunk);
+          } catch (err) {
+            this.abort(err);
+          }
+        }
       }
-      if (!this._part) {
-        this._part = new PartStream(this._partOpts);
-        this._part._read = function(n) {
-          self2._unpause();
-        };
-        if (this._isPreamble && this.listenerCount("preamble") !== 0) {
-          this.emit("preamble", this._part);
-        } else if (this._isPreamble !== true && this.listenerCount("part") !== 0) {
-          this.emit("part", this._part);
-        } else {
-          this._ignore();
-        }
-        if (!this._isPreamble) {
-          this._inHeader = true;
+      onRequestSent() {
+        if (channels.bodySent.hasSubscribers) {
+          channels.bodySent.publish({ request: this });
         }
-      }
-      if (data && start < end && !this._ignoreData) {
-        if (this._isPreamble || !this._inHeader) {
-          if (buf) {
-            shouldWriteMore = this._part.push(buf);
-          }
-          shouldWriteMore = this._part.push(data.slice(start, end));
-          if (!shouldWriteMore) {
-            this._pause = true;
-          }
-        } else if (!this._isPreamble && this._inHeader) {
-          if (buf) {
-            this._hparser.push(buf);
-          }
-          r = this._hparser.push(data.slice(start, end));
-          if (!this._inHeader && r !== void 0 && r < end) {
-            this._oninfo(false, data, start + r, end);
+        if (this[kHandler].onRequestSent) {
+          try {
+            return this[kHandler].onRequestSent();
+          } catch (err) {
+            this.abort(err);
           }
         }
       }
-      if (isMatch) {
-        this._hparser.reset();
-        if (this._isPreamble) {
-          this._isPreamble = false;
+      onConnect(abort) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (this.error) {
+          abort(this.error);
         } else {
-          if (start !== end) {
-            ++this._parts;
-            this._part.on("end", function() {
-              if (--self2._parts === 0) {
-                if (self2._finished) {
-                  self2._realFinish = true;
-                  self2.emit("finish");
-                  self2._realFinish = false;
-                } else {
-                  self2._unpause();
-                }
-              }
-            });
-          }
+          this.abort = abort;
+          return this[kHandler].onConnect(abort);
         }
-        this._part.push(null);
-        this._part = void 0;
-        this._ignoreData = false;
-        this._justMatched = true;
-        this._dashes = 0;
-      }
-    };
-    Dicer.prototype._unpause = function() {
-      if (!this._pause) {
-        return;
       }
-      this._pause = false;
-      if (this._cb) {
-        const cb = this._cb;
-        this._cb = void 0;
-        cb();
-      }
-    };
-    module2.exports = Dicer;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/decodeText.js
-var require_decodeText = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/decodeText.js"(exports2, module2) {
-    "use strict";
-    var utf8Decoder = new TextDecoder("utf-8");
-    var textDecoders = /* @__PURE__ */ new Map([
-      ["utf-8", utf8Decoder],
-      ["utf8", utf8Decoder]
-    ]);
-    function getDecoder(charset) {
-      let lc;
-      while (true) {
-        switch (charset) {
-          case "utf-8":
-          case "utf8":
-            return decoders.utf8;
-          case "latin1":
-          case "ascii":
-          // TODO: Make these a separate, strict decoder?
-          case "us-ascii":
-          case "iso-8859-1":
-          case "iso8859-1":
-          case "iso88591":
-          case "iso_8859-1":
-          case "windows-1252":
-          case "iso_8859-1:1987":
-          case "cp1252":
-          case "x-cp1252":
-            return decoders.latin1;
-          case "utf16le":
-          case "utf-16le":
-          case "ucs2":
-          case "ucs-2":
-            return decoders.utf16le;
-          case "base64":
-            return decoders.base64;
-          default:
-            if (lc === void 0) {
-              lc = true;
-              charset = charset.toLowerCase();
-              continue;
-            }
-            return decoders.other.bind(charset);
-        }
+      onResponseStarted() {
+        return this[kHandler].onResponseStarted?.();
       }
-    }
-    var decoders = {
-      utf8: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
-        }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
-        }
-        return data.utf8Slice(0, data.length);
-      },
-      latin1: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+      onHeaders(statusCode, headers, resume, statusText) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (channels.headers.hasSubscribers) {
+          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
         }
-        if (typeof data === "string") {
-          return data;
+        try {
+          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
+        } catch (err) {
+          this.abort(err);
         }
-        return data.latin1Slice(0, data.length);
-      },
-      utf16le: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+      }
+      onData(chunk) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        try {
+          return this[kHandler].onData(chunk);
+        } catch (err) {
+          this.abort(err);
+          return false;
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      }
+      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 });
         }
-        return data.ucs2Slice(0, data.length);
-      },
-      base64: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+        try {
+          return this[kHandler].onComplete(trailers);
+        } catch (err) {
+          this.onError(err);
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      }
+      onError(error3) {
+        this.onFinally();
+        if (channels.error.hasSubscribers) {
+          channels.error.publish({ request: this, error: error3 });
         }
-        return data.base64Slice(0, data.length);
-      },
-      other: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+        if (this.aborted) {
+          return;
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+        this.aborted = true;
+        return this[kHandler].onError(error3);
+      }
+      onFinally() {
+        if (this.errorHandler) {
+          this.body.off("error", this.errorHandler);
+          this.errorHandler = null;
         }
-        if (textDecoders.has(exports2.toString())) {
-          try {
-            return textDecoders.get(exports2).decode(data);
-          } catch {
-          }
+        if (this.endHandler) {
+          this.body.off("end", this.endHandler);
+          this.endHandler = null;
         }
-        return typeof data === "string" ? data : data.toString();
+      }
+      addHeader(key, value) {
+        processHeader(this, key, value);
+        return this;
       }
     };
-    function decodeText(text, sourceEncoding, destEncoding) {
-      if (text) {
-        return getDecoder(destEncoding)(text, sourceEncoding);
+    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;
       }
-      return text;
-    }
-    module2.exports = decodeText;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/parseParams.js
-var require_parseParams = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/parseParams.js"(exports2, module2) {
-    "use strict";
-    var decodeText = require_decodeText();
-    var RE_ENCODED = /%[a-fA-F0-9][a-fA-F0-9]/g;
-    var EncodedLookup = {
-      "%00": "\0",
-      "%01": "",
-      "%02": "",
-      "%03": "",
-      "%04": "",
-      "%05": "",
-      "%06": "",
-      "%07": "\x07",
-      "%08": "\b",
-      "%09": "	",
-      "%0a": "\n",
-      "%0A": "\n",
-      "%0b": "\v",
-      "%0B": "\v",
-      "%0c": "\f",
-      "%0C": "\f",
-      "%0d": "\r",
-      "%0D": "\r",
-      "%0e": "",
-      "%0E": "",
-      "%0f": "",
-      "%0F": "",
-      "%10": "",
-      "%11": "",
-      "%12": "",
-      "%13": "",
-      "%14": "",
-      "%15": "",
-      "%16": "",
-      "%17": "",
-      "%18": "",
-      "%19": "",
-      "%1a": "",
-      "%1A": "",
-      "%1b": "\x1B",
-      "%1B": "\x1B",
-      "%1c": "",
-      "%1C": "",
-      "%1d": "",
-      "%1D": "",
-      "%1e": "",
-      "%1E": "",
-      "%1f": "",
-      "%1F": "",
-      "%20": " ",
-      "%21": "!",
-      "%22": '"',
-      "%23": "#",
-      "%24": "$",
-      "%25": "%",
-      "%26": "&",
-      "%27": "'",
-      "%28": "(",
-      "%29": ")",
-      "%2a": "*",
-      "%2A": "*",
-      "%2b": "+",
-      "%2B": "+",
-      "%2c": ",",
-      "%2C": ",",
-      "%2d": "-",
-      "%2D": "-",
-      "%2e": ".",
-      "%2E": ".",
-      "%2f": "/",
-      "%2F": "/",
-      "%30": "0",
-      "%31": "1",
-      "%32": "2",
-      "%33": "3",
-      "%34": "4",
-      "%35": "5",
-      "%36": "6",
-      "%37": "7",
-      "%38": "8",
-      "%39": "9",
-      "%3a": ":",
-      "%3A": ":",
-      "%3b": ";",
-      "%3B": ";",
-      "%3c": "<",
-      "%3C": "<",
-      "%3d": "=",
-      "%3D": "=",
-      "%3e": ">",
-      "%3E": ">",
-      "%3f": "?",
-      "%3F": "?",
-      "%40": "@",
-      "%41": "A",
-      "%42": "B",
-      "%43": "C",
-      "%44": "D",
-      "%45": "E",
-      "%46": "F",
-      "%47": "G",
-      "%48": "H",
-      "%49": "I",
-      "%4a": "J",
-      "%4A": "J",
-      "%4b": "K",
-      "%4B": "K",
-      "%4c": "L",
-      "%4C": "L",
-      "%4d": "M",
-      "%4D": "M",
-      "%4e": "N",
-      "%4E": "N",
-      "%4f": "O",
-      "%4F": "O",
-      "%50": "P",
-      "%51": "Q",
-      "%52": "R",
-      "%53": "S",
-      "%54": "T",
-      "%55": "U",
-      "%56": "V",
-      "%57": "W",
-      "%58": "X",
-      "%59": "Y",
-      "%5a": "Z",
-      "%5A": "Z",
-      "%5b": "[",
-      "%5B": "[",
-      "%5c": "\\",
-      "%5C": "\\",
-      "%5d": "]",
-      "%5D": "]",
-      "%5e": "^",
-      "%5E": "^",
-      "%5f": "_",
-      "%5F": "_",
-      "%60": "`",
-      "%61": "a",
-      "%62": "b",
-      "%63": "c",
-      "%64": "d",
-      "%65": "e",
-      "%66": "f",
-      "%67": "g",
-      "%68": "h",
-      "%69": "i",
-      "%6a": "j",
-      "%6A": "j",
-      "%6b": "k",
-      "%6B": "k",
-      "%6c": "l",
-      "%6C": "l",
-      "%6d": "m",
-      "%6D": "m",
-      "%6e": "n",
-      "%6E": "n",
-      "%6f": "o",
-      "%6F": "o",
-      "%70": "p",
-      "%71": "q",
-      "%72": "r",
-      "%73": "s",
-      "%74": "t",
-      "%75": "u",
-      "%76": "v",
-      "%77": "w",
-      "%78": "x",
-      "%79": "y",
-      "%7a": "z",
-      "%7A": "z",
-      "%7b": "{",
-      "%7B": "{",
-      "%7c": "|",
-      "%7C": "|",
-      "%7d": "}",
-      "%7D": "}",
-      "%7e": "~",
-      "%7E": "~",
-      "%7f": "\x7F",
-      "%7F": "\x7F",
-      "%80": "\x80",
-      "%81": "\x81",
-      "%82": "\x82",
-      "%83": "\x83",
-      "%84": "\x84",
-      "%85": "\x85",
-      "%86": "\x86",
-      "%87": "\x87",
-      "%88": "\x88",
-      "%89": "\x89",
-      "%8a": "\x8A",
-      "%8A": "\x8A",
-      "%8b": "\x8B",
-      "%8B": "\x8B",
-      "%8c": "\x8C",
-      "%8C": "\x8C",
-      "%8d": "\x8D",
-      "%8D": "\x8D",
-      "%8e": "\x8E",
-      "%8E": "\x8E",
-      "%8f": "\x8F",
-      "%8F": "\x8F",
-      "%90": "\x90",
-      "%91": "\x91",
-      "%92": "\x92",
-      "%93": "\x93",
-      "%94": "\x94",
-      "%95": "\x95",
-      "%96": "\x96",
-      "%97": "\x97",
-      "%98": "\x98",
-      "%99": "\x99",
-      "%9a": "\x9A",
-      "%9A": "\x9A",
-      "%9b": "\x9B",
-      "%9B": "\x9B",
-      "%9c": "\x9C",
-      "%9C": "\x9C",
-      "%9d": "\x9D",
-      "%9D": "\x9D",
-      "%9e": "\x9E",
-      "%9E": "\x9E",
-      "%9f": "\x9F",
-      "%9F": "\x9F",
-      "%a0": "\xA0",
-      "%A0": "\xA0",
-      "%a1": "\xA1",
-      "%A1": "\xA1",
-      "%a2": "\xA2",
-      "%A2": "\xA2",
-      "%a3": "\xA3",
-      "%A3": "\xA3",
-      "%a4": "\xA4",
-      "%A4": "\xA4",
-      "%a5": "\xA5",
-      "%A5": "\xA5",
-      "%a6": "\xA6",
-      "%A6": "\xA6",
-      "%a7": "\xA7",
-      "%A7": "\xA7",
-      "%a8": "\xA8",
-      "%A8": "\xA8",
-      "%a9": "\xA9",
-      "%A9": "\xA9",
-      "%aa": "\xAA",
-      "%Aa": "\xAA",
-      "%aA": "\xAA",
-      "%AA": "\xAA",
-      "%ab": "\xAB",
-      "%Ab": "\xAB",
-      "%aB": "\xAB",
-      "%AB": "\xAB",
-      "%ac": "\xAC",
-      "%Ac": "\xAC",
-      "%aC": "\xAC",
-      "%AC": "\xAC",
-      "%ad": "\xAD",
-      "%Ad": "\xAD",
-      "%aD": "\xAD",
-      "%AD": "\xAD",
-      "%ae": "\xAE",
-      "%Ae": "\xAE",
-      "%aE": "\xAE",
-      "%AE": "\xAE",
-      "%af": "\xAF",
-      "%Af": "\xAF",
-      "%aF": "\xAF",
-      "%AF": "\xAF",
-      "%b0": "\xB0",
-      "%B0": "\xB0",
-      "%b1": "\xB1",
-      "%B1": "\xB1",
-      "%b2": "\xB2",
-      "%B2": "\xB2",
-      "%b3": "\xB3",
-      "%B3": "\xB3",
-      "%b4": "\xB4",
-      "%B4": "\xB4",
-      "%b5": "\xB5",
-      "%B5": "\xB5",
-      "%b6": "\xB6",
-      "%B6": "\xB6",
-      "%b7": "\xB7",
-      "%B7": "\xB7",
-      "%b8": "\xB8",
-      "%B8": "\xB8",
-      "%b9": "\xB9",
-      "%B9": "\xB9",
-      "%ba": "\xBA",
-      "%Ba": "\xBA",
-      "%bA": "\xBA",
-      "%BA": "\xBA",
-      "%bb": "\xBB",
-      "%Bb": "\xBB",
-      "%bB": "\xBB",
-      "%BB": "\xBB",
-      "%bc": "\xBC",
-      "%Bc": "\xBC",
-      "%bC": "\xBC",
-      "%BC": "\xBC",
-      "%bd": "\xBD",
-      "%Bd": "\xBD",
-      "%bD": "\xBD",
-      "%BD": "\xBD",
-      "%be": "\xBE",
-      "%Be": "\xBE",
-      "%bE": "\xBE",
-      "%BE": "\xBE",
-      "%bf": "\xBF",
-      "%Bf": "\xBF",
-      "%bF": "\xBF",
-      "%BF": "\xBF",
-      "%c0": "\xC0",
-      "%C0": "\xC0",
-      "%c1": "\xC1",
-      "%C1": "\xC1",
-      "%c2": "\xC2",
-      "%C2": "\xC2",
-      "%c3": "\xC3",
-      "%C3": "\xC3",
-      "%c4": "\xC4",
-      "%C4": "\xC4",
-      "%c5": "\xC5",
-      "%C5": "\xC5",
-      "%c6": "\xC6",
-      "%C6": "\xC6",
-      "%c7": "\xC7",
-      "%C7": "\xC7",
-      "%c8": "\xC8",
-      "%C8": "\xC8",
-      "%c9": "\xC9",
-      "%C9": "\xC9",
-      "%ca": "\xCA",
-      "%Ca": "\xCA",
-      "%cA": "\xCA",
-      "%CA": "\xCA",
-      "%cb": "\xCB",
-      "%Cb": "\xCB",
-      "%cB": "\xCB",
-      "%CB": "\xCB",
-      "%cc": "\xCC",
-      "%Cc": "\xCC",
-      "%cC": "\xCC",
-      "%CC": "\xCC",
-      "%cd": "\xCD",
-      "%Cd": "\xCD",
-      "%cD": "\xCD",
-      "%CD": "\xCD",
-      "%ce": "\xCE",
-      "%Ce": "\xCE",
-      "%cE": "\xCE",
-      "%CE": "\xCE",
-      "%cf": "\xCF",
-      "%Cf": "\xCF",
-      "%cF": "\xCF",
-      "%CF": "\xCF",
-      "%d0": "\xD0",
-      "%D0": "\xD0",
-      "%d1": "\xD1",
-      "%D1": "\xD1",
-      "%d2": "\xD2",
-      "%D2": "\xD2",
-      "%d3": "\xD3",
-      "%D3": "\xD3",
-      "%d4": "\xD4",
-      "%D4": "\xD4",
-      "%d5": "\xD5",
-      "%D5": "\xD5",
-      "%d6": "\xD6",
-      "%D6": "\xD6",
-      "%d7": "\xD7",
-      "%D7": "\xD7",
-      "%d8": "\xD8",
-      "%D8": "\xD8",
-      "%d9": "\xD9",
-      "%D9": "\xD9",
-      "%da": "\xDA",
-      "%Da": "\xDA",
-      "%dA": "\xDA",
-      "%DA": "\xDA",
-      "%db": "\xDB",
-      "%Db": "\xDB",
-      "%dB": "\xDB",
-      "%DB": "\xDB",
-      "%dc": "\xDC",
-      "%Dc": "\xDC",
-      "%dC": "\xDC",
-      "%DC": "\xDC",
-      "%dd": "\xDD",
-      "%Dd": "\xDD",
-      "%dD": "\xDD",
-      "%DD": "\xDD",
-      "%de": "\xDE",
-      "%De": "\xDE",
-      "%dE": "\xDE",
-      "%DE": "\xDE",
-      "%df": "\xDF",
-      "%Df": "\xDF",
-      "%dF": "\xDF",
-      "%DF": "\xDF",
-      "%e0": "\xE0",
-      "%E0": "\xE0",
-      "%e1": "\xE1",
-      "%E1": "\xE1",
-      "%e2": "\xE2",
-      "%E2": "\xE2",
-      "%e3": "\xE3",
-      "%E3": "\xE3",
-      "%e4": "\xE4",
-      "%E4": "\xE4",
-      "%e5": "\xE5",
-      "%E5": "\xE5",
-      "%e6": "\xE6",
-      "%E6": "\xE6",
-      "%e7": "\xE7",
-      "%E7": "\xE7",
-      "%e8": "\xE8",
-      "%E8": "\xE8",
-      "%e9": "\xE9",
-      "%E9": "\xE9",
-      "%ea": "\xEA",
-      "%Ea": "\xEA",
-      "%eA": "\xEA",
-      "%EA": "\xEA",
-      "%eb": "\xEB",
-      "%Eb": "\xEB",
-      "%eB": "\xEB",
-      "%EB": "\xEB",
-      "%ec": "\xEC",
-      "%Ec": "\xEC",
-      "%eC": "\xEC",
-      "%EC": "\xEC",
-      "%ed": "\xED",
-      "%Ed": "\xED",
-      "%eD": "\xED",
-      "%ED": "\xED",
-      "%ee": "\xEE",
-      "%Ee": "\xEE",
-      "%eE": "\xEE",
-      "%EE": "\xEE",
-      "%ef": "\xEF",
-      "%Ef": "\xEF",
-      "%eF": "\xEF",
-      "%EF": "\xEF",
-      "%f0": "\xF0",
-      "%F0": "\xF0",
-      "%f1": "\xF1",
-      "%F1": "\xF1",
-      "%f2": "\xF2",
-      "%F2": "\xF2",
-      "%f3": "\xF3",
-      "%F3": "\xF3",
-      "%f4": "\xF4",
-      "%F4": "\xF4",
-      "%f5": "\xF5",
-      "%F5": "\xF5",
-      "%f6": "\xF6",
-      "%F6": "\xF6",
-      "%f7": "\xF7",
-      "%F7": "\xF7",
-      "%f8": "\xF8",
-      "%F8": "\xF8",
-      "%f9": "\xF9",
-      "%F9": "\xF9",
-      "%fa": "\xFA",
-      "%Fa": "\xFA",
-      "%fA": "\xFA",
-      "%FA": "\xFA",
-      "%fb": "\xFB",
-      "%Fb": "\xFB",
-      "%fB": "\xFB",
-      "%FB": "\xFB",
-      "%fc": "\xFC",
-      "%Fc": "\xFC",
-      "%fC": "\xFC",
-      "%FC": "\xFC",
-      "%fd": "\xFD",
-      "%Fd": "\xFD",
-      "%fD": "\xFD",
-      "%FD": "\xFD",
-      "%fe": "\xFE",
-      "%Fe": "\xFE",
-      "%fE": "\xFE",
-      "%FE": "\xFE",
-      "%ff": "\xFF",
-      "%Ff": "\xFF",
-      "%fF": "\xFF",
-      "%FF": "\xFF"
-    };
-    function encodedReplacer(match) {
-      return EncodedLookup[match];
-    }
-    var STATE_KEY = 0;
-    var STATE_VALUE = 1;
-    var STATE_CHARSET = 2;
-    var STATE_LANG = 3;
-    function parseParams(str2) {
-      const res = [];
-      let state = STATE_KEY;
-      let charset = "";
-      let inquote = false;
-      let escaping = false;
-      let p = 0;
-      let tmp = "";
-      const len = str2.length;
-      for (var i = 0; i < len; ++i) {
-        const char = str2[i];
-        if (char === "\\" && inquote) {
-          if (escaping) {
-            escaping = false;
-          } else {
-            escaping = true;
-            continue;
-          }
-        } else if (char === '"') {
-          if (!escaping) {
-            if (inquote) {
-              inquote = false;
-              state = STATE_KEY;
-            } else {
-              inquote = true;
+      let headerName = headerNameLowerCasedRecord[key];
+      if (headerName === void 0) {
+        headerName = key.toLowerCase();
+        if (headerNameLowerCasedRecord[headerName] === void 0 && !isValidHTTPToken(headerName)) {
+          throw new InvalidArgumentError("invalid header key");
+        }
+      }
+      if (Array.isArray(val)) {
+        const arr = [];
+        for (let i = 0; i < val.length; i++) {
+          if (typeof val[i] === "string") {
+            if (!isValidHeaderValue(val[i])) {
+              throw new InvalidArgumentError(`invalid ${key} header`);
             }
-            continue;
+            arr.push(val[i]);
+          } else if (val[i] === null) {
+            arr.push("");
+          } else if (typeof val[i] === "object") {
+            throw new InvalidArgumentError(`invalid ${key} header`);
           } else {
-            escaping = false;
-          }
-        } else {
-          if (escaping && inquote) {
-            tmp += "\\";
-          }
-          escaping = false;
-          if ((state === STATE_CHARSET || state === STATE_LANG) && char === "'") {
-            if (state === STATE_CHARSET) {
-              state = STATE_LANG;
-              charset = tmp.substring(1);
-            } else {
-              state = STATE_VALUE;
-            }
-            tmp = "";
-            continue;
-          } else if (state === STATE_KEY && (char === "*" || char === "=") && res.length) {
-            state = char === "*" ? STATE_CHARSET : STATE_VALUE;
-            res[p] = [tmp, void 0];
-            tmp = "";
-            continue;
-          } else if (!inquote && char === ";") {
-            state = STATE_KEY;
-            if (charset) {
-              if (tmp.length) {
-                tmp = decodeText(
-                  tmp.replace(RE_ENCODED, encodedReplacer),
-                  "binary",
-                  charset
-                );
-              }
-              charset = "";
-            } else if (tmp.length) {
-              tmp = decodeText(tmp, "binary", "utf8");
-            }
-            if (res[p] === void 0) {
-              res[p] = tmp;
-            } else {
-              res[p][1] = tmp;
-            }
-            tmp = "";
-            ++p;
-            continue;
-          } else if (!inquote && (char === " " || char === "	")) {
-            continue;
+            arr.push(`${val[i]}`);
           }
         }
-        tmp += char;
-      }
-      if (charset && tmp.length) {
-        tmp = decodeText(
-          tmp.replace(RE_ENCODED, encodedReplacer),
-          "binary",
-          charset
-        );
-      } else if (tmp) {
-        tmp = decodeText(tmp, "binary", "utf8");
-      }
-      if (res[p] === void 0) {
-        if (tmp) {
-          res[p] = tmp;
+        val = arr;
+      } else if (typeof val === "string") {
+        if (!isValidHeaderValue(val)) {
+          throw new InvalidArgumentError(`invalid ${key} header`);
         }
+      } else if (val === null) {
+        val = "";
       } else {
-        res[p][1] = tmp;
-      }
-      return res;
-    }
-    module2.exports = parseParams;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/basename.js
-var require_basename = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/basename.js"(exports2, module2) {
-    "use strict";
-    module2.exports = function basename(path7) {
-      if (typeof path7 !== "string") {
-        return "";
+        val = `${val}`;
       }
-      for (var i = path7.length - 1; i >= 0; --i) {
-        switch (path7.charCodeAt(i)) {
-          case 47:
-          // '/'
-          case 92:
-            path7 = path7.slice(i + 1);
-            return path7 === ".." || path7 === "." ? "" : path7;
+      if (request2.host === null && headerName === "host") {
+        if (typeof val !== "string") {
+          throw new InvalidArgumentError("invalid host header");
         }
-      }
-      return path7 === ".." || path7 === "." ? "" : path7;
-    };
-  }
-});
-
-// node_modules/@fastify/busboy/lib/types/multipart.js
-var require_multipart = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/multipart.js"(exports2, module2) {
-    "use strict";
-    var { Readable } = require("node:stream");
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var parseParams = require_parseParams();
-    var decodeText = require_decodeText();
-    var basename = require_basename();
-    var getLimit = require_getLimit();
-    var RE_BOUNDARY = /^boundary$/i;
-    var RE_FIELD = /^form-data$/i;
-    var RE_CHARSET = /^charset$/i;
-    var RE_FILENAME = /^filename$/i;
-    var RE_NAME = /^name$/i;
-    Multipart.detect = /^multipart\/form-data/i;
-    function Multipart(boy, cfg) {
-      let i;
-      let len;
-      const self2 = this;
-      let boundary;
-      const limits = cfg.limits;
-      const isPartAFile = cfg.isPartAFile || ((fieldName, contentType, fileName) => contentType === "application/octet-stream" || fileName !== void 0);
-      const parsedConType = cfg.parsedConType || [];
-      const defCharset = cfg.defCharset || "utf8";
-      const preservePath = cfg.preservePath;
-      const fileOpts = { highWaterMark: cfg.fileHwm };
-      for (i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_BOUNDARY.test(parsedConType[i][0])) {
-          boundary = parsedConType[i][1];
-          break;
+        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");
         }
-      }
-      function checkFinished() {
-        if (nends === 0 && finished && !boy._done) {
-          finished = false;
-          self2.end();
+      } 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 (typeof boundary !== "string") {
-        throw new Error("Multipart: Boundary not found");
-      }
-      const fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      const fileSizeLimit = getLimit(limits, "fileSize", Infinity);
-      const filesLimit = getLimit(limits, "files", Infinity);
-      const fieldsLimit = getLimit(limits, "fields", Infinity);
-      const partsLimit = getLimit(limits, "parts", Infinity);
-      const headerPairsLimit = getLimit(limits, "headerPairs", 2e3);
-      const headerSizeLimit = getLimit(limits, "headerSize", 80 * 1024);
-      let nfiles = 0;
-      let nfields = 0;
-      let nends = 0;
-      let curFile;
-      let curField;
-      let finished = false;
-      this._needDrain = false;
-      this._pause = false;
-      this._cb = void 0;
-      this._nparts = 0;
-      this._boy = boy;
-      const parserCfg = {
-        boundary,
-        maxHeaderPairs: headerPairsLimit,
-        maxHeaderSize: headerSizeLimit,
-        partHwm: fileOpts.highWaterMark,
-        highWaterMark: cfg.highWaterMark
-      };
-      this.parser = new Dicer(parserCfg);
-      this.parser.on("drain", function() {
-        self2._needDrain = false;
-        if (self2._cb && !self2._pause) {
-          const cb = self2._cb;
-          self2._cb = void 0;
-          cb();
+        if (value === "close") {
+          request2.reset = true;
         }
-      }).on("part", function onPart(part) {
-        if (++self2._nparts > partsLimit) {
-          self2.parser.removeListener("part", onPart);
-          self2.parser.on("part", skipPart);
-          boy.hitPartsLimit = true;
-          boy.emit("partsLimit");
-          return skipPart(part);
-        }
-        if (curField) {
-          const field = curField;
-          field.emit("end");
-          field.removeAllListeners("end");
-        }
-        part.on("header", function(header) {
-          let contype;
-          let fieldname;
-          let parsed;
-          let charset;
-          let encoding;
-          let filename;
-          let nsize = 0;
-          if (header["content-type"]) {
-            parsed = parseParams(header["content-type"][0]);
-            if (parsed[0]) {
-              contype = parsed[0].toLowerCase();
-              for (i = 0, len = parsed.length; i < len; ++i) {
-                if (RE_CHARSET.test(parsed[i][0])) {
-                  charset = parsed[i][1].toLowerCase();
-                  break;
-                }
-              }
-            }
-          }
-          if (contype === void 0) {
-            contype = "text/plain";
-          }
-          if (charset === void 0) {
-            charset = defCharset;
-          }
-          if (header["content-disposition"]) {
-            parsed = parseParams(header["content-disposition"][0]);
-            if (!RE_FIELD.test(parsed[0])) {
-              return skipPart(part);
-            }
-            for (i = 0, len = parsed.length; i < len; ++i) {
-              if (RE_NAME.test(parsed[i][0])) {
-                fieldname = parsed[i][1];
-              } else if (RE_FILENAME.test(parsed[i][0])) {
-                filename = parsed[i][1];
-                if (!preservePath) {
-                  filename = basename(filename);
-                }
-              }
-            }
-          } else {
-            return skipPart(part);
-          }
-          if (header["content-transfer-encoding"]) {
-            encoding = header["content-transfer-encoding"][0].toLowerCase();
-          } else {
-            encoding = "7bit";
-          }
-          let onData, onEnd;
-          if (isPartAFile(fieldname, contype, filename)) {
-            if (nfiles === filesLimit) {
-              if (!boy.hitFilesLimit) {
-                boy.hitFilesLimit = true;
-                boy.emit("filesLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfiles;
-            if (boy.listenerCount("file") === 0) {
-              self2.parser._ignore();
-              return;
-            }
-            ++nends;
-            const file = new FileStream(fileOpts);
-            curFile = file;
-            file.on("end", function() {
-              --nends;
-              self2._pause = false;
-              checkFinished();
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            });
-            file._read = function(n) {
-              if (!self2._pause) {
-                return;
-              }
-              self2._pause = false;
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            };
-            boy.emit("file", fieldname, file, filename, encoding, contype);
-            onData = function(data) {
-              if ((nsize += data.length) > fileSizeLimit) {
-                const extralen = fileSizeLimit - nsize + data.length;
-                if (extralen > 0) {
-                  file.push(data.slice(0, extralen));
-                }
-                file.truncated = true;
-                file.bytesRead = fileSizeLimit;
-                part.removeAllListeners("data");
-                file.emit("limit");
-                return;
-              } else if (!file.push(data)) {
-                self2._pause = true;
-              }
-              file.bytesRead = nsize;
-            };
-            onEnd = function() {
-              curFile = void 0;
-              file.push(null);
-            };
-          } else {
-            if (nfields === fieldsLimit) {
-              if (!boy.hitFieldsLimit) {
-                boy.hitFieldsLimit = true;
-                boy.emit("fieldsLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfields;
-            ++nends;
-            let buffer = "";
-            let truncated = false;
-            curField = part;
-            onData = function(data) {
-              if ((nsize += data.length) > fieldSizeLimit) {
-                const extralen = fieldSizeLimit - (nsize - data.length);
-                buffer += data.toString("binary", 0, extralen);
-                truncated = true;
-                part.removeAllListeners("data");
-              } else {
-                buffer += data.toString("binary");
-              }
-            };
-            onEnd = function() {
-              curField = void 0;
-              if (buffer.length) {
-                buffer = decodeText(buffer, "binary", charset);
-              }
-              boy.emit("field", fieldname, buffer, false, truncated, encoding, contype);
-              --nends;
-              checkFinished();
-            };
-          }
-          part._readableState.sync = false;
-          part.on("data", onData);
-          part.on("end", onEnd);
-        }).on("error", function(err) {
-          if (curFile) {
-            curFile.emit("error", err);
-          }
-        });
-      }).on("error", function(err) {
-        boy.emit("error", err);
-      }).on("finish", function() {
-        finished = true;
-        checkFinished();
-      });
-    }
-    Multipart.prototype.write = function(chunk, cb) {
-      const r = this.parser.write(chunk);
-      if (r && !this._pause) {
-        cb();
+      } else if (headerName === "expect") {
+        throw new NotSupportedError("expect header not supported");
       } else {
-        this._needDrain = !r;
-        this._cb = cb;
-      }
-    };
-    Multipart.prototype.end = function() {
-      const self2 = this;
-      if (self2.parser.writable) {
-        self2.parser.end();
-      } else if (!self2._boy._done) {
-        process.nextTick(function() {
-          self2._boy._done = true;
-          self2._boy.emit("finish");
-        });
+        request2.headers.push(key, val);
       }
-    };
-    function skipPart(part) {
-      part.resume();
-    }
-    function FileStream(opts) {
-      Readable.call(this, opts);
-      this.bytesRead = 0;
-      this.truncated = false;
     }
-    inherits(FileStream, Readable);
-    FileStream.prototype._read = function(n) {
-    };
-    module2.exports = Multipart;
+    module2.exports = Request;
   }
 });
 
-// node_modules/@fastify/busboy/lib/utils/Decoder.js
-var require_Decoder = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/Decoder.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js
+var require_dispatcher2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js"(exports2, module2) {
     "use strict";
-    var RE_PLUS = /\+/g;
-    var HEX = [
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0
-    ];
-    function Decoder() {
-      this.buffer = void 0;
-    }
-    Decoder.prototype.write = function(str2) {
-      str2 = str2.replace(RE_PLUS, " ");
-      let res = "";
-      let i = 0;
-      let p = 0;
-      const len = str2.length;
-      for (; i < len; ++i) {
-        if (this.buffer !== void 0) {
-          if (!HEX[str2.charCodeAt(i)]) {
-            res += "%" + this.buffer;
-            this.buffer = void 0;
-            --i;
-          } else {
-            this.buffer += str2[i];
-            ++p;
-            if (this.buffer.length === 2) {
-              res += String.fromCharCode(parseInt(this.buffer, 16));
-              this.buffer = void 0;
-            }
-          }
-        } else if (str2[i] === "%") {
-          if (i > p) {
-            res += str2.substring(p, i);
-            p = i;
-          }
-          this.buffer = "";
-          ++p;
-        }
+    var EventEmitter = require("node:events");
+    var Dispatcher = class extends EventEmitter {
+      dispatch() {
+        throw new Error("not implemented");
       }
-      if (p < len && this.buffer === void 0) {
-        res += str2.substring(p);
+      close() {
+        throw new Error("not implemented");
       }
-      return res;
-    };
-    Decoder.prototype.reset = function() {
-      this.buffer = void 0;
-    };
-    module2.exports = Decoder;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/types/urlencoded.js
-var require_urlencoded = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/urlencoded.js"(exports2, module2) {
-    "use strict";
-    var Decoder = require_Decoder();
-    var decodeText = require_decodeText();
-    var getLimit = require_getLimit();
-    var RE_CHARSET = /^charset$/i;
-    UrlEncoded.detect = /^application\/x-www-form-urlencoded/i;
-    function UrlEncoded(boy, cfg) {
-      const limits = cfg.limits;
-      const parsedConType = cfg.parsedConType;
-      this.boy = boy;
-      this.fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      this.fieldNameSizeLimit = getLimit(limits, "fieldNameSize", 100);
-      this.fieldsLimit = getLimit(limits, "fields", Infinity);
-      let charset;
-      for (var i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_CHARSET.test(parsedConType[i][0])) {
-          charset = parsedConType[i][1].toLowerCase();
-          break;
-        }
+      destroy() {
+        throw new Error("not implemented");
       }
-      if (charset === void 0) {
-        charset = cfg.defCharset || "utf8";
-      }
-      this.decoder = new Decoder();
-      this.charset = charset;
-      this._fields = 0;
-      this._state = "key";
-      this._checkingBytes = true;
-      this._bytesKey = 0;
-      this._bytesVal = 0;
-      this._key = "";
-      this._val = "";
-      this._keyTrunc = false;
-      this._valTrunc = false;
-      this._hitLimit = false;
-    }
-    UrlEncoded.prototype.write = function(data, cb) {
-      if (this._fields === this.fieldsLimit) {
-        if (!this.boy.hitFieldsLimit) {
-          this.boy.hitFieldsLimit = true;
-          this.boy.emit("fieldsLimit");
-        }
-        return cb();
-      }
-      let idxeq;
-      let idxamp;
-      let i;
-      let p = 0;
-      const len = data.length;
-      while (p < len) {
-        if (this._state === "key") {
-          idxeq = idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 61) {
-              idxeq = i;
-              break;
-            } else if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesKey === this.fieldNameSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesKey;
-            }
-          }
-          if (idxeq !== void 0) {
-            if (idxeq > p) {
-              this._key += this.decoder.write(data.toString("binary", p, idxeq));
-            }
-            this._state = "val";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._val = "";
-            this._bytesVal = 0;
-            this._valTrunc = false;
-            this.decoder.reset();
-            p = idxeq + 1;
-          } else if (idxamp !== void 0) {
-            ++this._fields;
-            let key;
-            const keyTrunc = this._keyTrunc;
-            if (idxamp > p) {
-              key = this._key += this.decoder.write(data.toString("binary", p, idxamp));
-            } else {
-              key = this._key;
-            }
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            if (key.length) {
-              this.boy.emit(
-                "field",
-                decodeText(key, "binary", this.charset),
-                "",
-                keyTrunc,
-                false
-              );
-            }
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._key += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if ((this._bytesKey = this._key.length) === this.fieldNameSizeLimit) {
-              this._checkingBytes = false;
-              this._keyTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._key += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+      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;
           }
-        } else {
-          idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesVal === this.fieldSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesVal;
-            }
+          if (typeof interceptor !== "function") {
+            throw new TypeError(`invalid interceptor, expected function received ${typeof interceptor}`);
           }
-          if (idxamp !== void 0) {
-            ++this._fields;
-            if (idxamp > p) {
-              this._val += this.decoder.write(data.toString("binary", p, idxamp));
-            }
-            this.boy.emit(
-              "field",
-              decodeText(this._key, "binary", this.charset),
-              decodeText(this._val, "binary", this.charset),
-              this._keyTrunc,
-              this._valTrunc
-            );
-            this._state = "key";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._val += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if (this._val === "" && this.fieldSizeLimit === 0 || (this._bytesVal = this._val.length) === this.fieldSizeLimit) {
-              this._checkingBytes = false;
-              this._valTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._val += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+          dispatch = interceptor(dispatch);
+          if (dispatch == null || typeof dispatch !== "function" || dispatch.length !== 2) {
+            throw new TypeError("invalid interceptor");
           }
         }
+        return new ComposedDispatcher(this, dispatch);
       }
-      cb();
     };
-    UrlEncoded.prototype.end = function() {
-      if (this.boy._done) {
-        return;
+    var ComposedDispatcher = class extends Dispatcher {
+      #dispatcher = null;
+      #dispatch = null;
+      constructor(dispatcher, dispatch) {
+        super();
+        this.#dispatcher = dispatcher;
+        this.#dispatch = dispatch;
       }
-      if (this._state === "key" && this._key.length > 0) {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          "",
-          this._keyTrunc,
-          false
-        );
-      } else if (this._state === "val") {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          decodeText(this._val, "binary", this.charset),
-          this._keyTrunc,
-          this._valTrunc
-        );
+      dispatch(...args) {
+        this.#dispatch(...args);
+      }
+      close(...args) {
+        return this.#dispatcher.close(...args);
+      }
+      destroy(...args) {
+        return this.#dispatcher.destroy(...args);
       }
-      this.boy._done = true;
-      this.boy.emit("finish");
     };
-    module2.exports = UrlEncoded;
+    module2.exports = Dispatcher;
   }
 });
 
-// node_modules/@fastify/busboy/lib/main.js
-var require_main = __commonJS({
-  "node_modules/@fastify/busboy/lib/main.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js
+var require_dispatcher_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js"(exports2, module2) {
     "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var MultipartParser = require_multipart();
-    var UrlencodedParser = require_urlencoded();
-    var parseParams = require_parseParams();
-    function Busboy(opts) {
-      if (!(this instanceof Busboy)) {
-        return new Busboy(opts);
+    var Dispatcher = require_dispatcher2();
+    var {
+      ClientDestroyedError,
+      ClientClosedError,
+      InvalidArgumentError
+    } = require_errors2();
+    var { kDestroy, kClose, kClosed, kDestroyed, kDispatch, kInterceptors } = require_symbols6();
+    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
+    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
+    var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
+    var DispatcherBase = class extends Dispatcher {
+      constructor() {
+        super();
+        this[kDestroyed] = false;
+        this[kOnDestroyed] = null;
+        this[kClosed] = false;
+        this[kOnClosed] = [];
       }
-      if (typeof opts !== "object") {
-        throw new TypeError("Busboy expected an options-Object.");
+      get destroyed() {
+        return this[kDestroyed];
       }
-      if (typeof opts.headers !== "object") {
-        throw new TypeError("Busboy expected an options-Object with headers-attribute.");
+      get closed() {
+        return this[kClosed];
       }
-      if (typeof opts.headers["content-type"] !== "string") {
-        throw new TypeError("Missing Content-Type-header.");
+      get interceptors() {
+        return this[kInterceptors];
       }
-      const {
-        headers,
-        ...streamOptions
-      } = opts;
-      this.opts = {
-        autoDestroy: false,
-        ...streamOptions
-      };
-      WritableStream.call(this, this.opts);
-      this._done = false;
-      this._parser = this.getParserByHeaders(headers);
-      this._finished = false;
-    }
-    inherits(Busboy, WritableStream);
-    Busboy.prototype.emit = function(ev) {
-      if (ev === "finish") {
-        if (!this._done) {
-          this._parser?.end();
+      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");
+            }
+          }
+        }
+        this[kInterceptors] = newInterceptors;
+      }
+      close(callback) {
+        if (callback === void 0) {
+          return new Promise((resolve5, reject) => {
+            this.close((err, data) => {
+              return err ? reject(err) : resolve5(data);
+            });
+          });
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        if (this[kDestroyed]) {
+          queueMicrotask(() => callback(new ClientDestroyedError(), null));
           return;
-        } else if (this._finished) {
+        }
+        if (this[kClosed]) {
+          if (this[kOnClosed]) {
+            this[kOnClosed].push(callback);
+          } else {
+            queueMicrotask(() => callback(null, null));
+          }
           return;
         }
-        this._finished = true;
-      }
-      WritableStream.prototype.emit.apply(this, arguments);
-    };
-    Busboy.prototype.getParserByHeaders = function(headers) {
-      const parsed = parseParams(headers["content-type"]);
-      const cfg = {
-        defCharset: this.opts.defCharset,
-        fileHwm: this.opts.fileHwm,
-        headers,
-        highWaterMark: this.opts.highWaterMark,
-        isPartAFile: this.opts.isPartAFile,
-        limits: this.opts.limits,
-        parsedConType: parsed,
-        preservePath: this.opts.preservePath
-      };
-      if (MultipartParser.detect.test(parsed[0])) {
-        return new MultipartParser(this, cfg);
+        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);
+        });
       }
-      if (UrlencodedParser.detect.test(parsed[0])) {
-        return new UrlencodedParser(this, cfg);
+      destroy(err, callback) {
+        if (typeof err === "function") {
+          callback = err;
+          err = null;
+        }
+        if (callback === void 0) {
+          return new Promise((resolve5, reject) => {
+            this.destroy(err, (err2, data) => {
+              return err2 ? (
+                /* istanbul ignore next: should never error */
+                reject(err2)
+              ) : resolve5(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;
+        }
       }
-      throw new Error("Unsupported Content-Type.");
-    };
-    Busboy.prototype._write = function(chunk, encoding, cb) {
-      this._parser.write(chunk, cb);
     };
-    module2.exports = Busboy;
-    module2.exports.default = Busboy;
-    module2.exports.Busboy = Busboy;
-    module2.exports.Dicer = Dicer;
+    module2.exports = DispatcherBase;
   }
 });
 
-// node_modules/undici/lib/fetch/constants.js
-var require_constants7 = __commonJS({
-  "node_modules/undici/lib/fetch/constants.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/util/timers.js
+var require_timers2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/util/timers.js"(exports2, module2) {
     "use strict";
-    var { MessageChannel, receiveMessageOnPort } = require("worker_threads");
-    var corsSafeListedMethods = ["GET", "HEAD", "POST"];
-    var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
-    var nullBodyStatus = [101, 204, 205, 304];
-    var redirectStatus = [301, 302, 303, 307, 308];
-    var redirectStatusSet = new Set(redirectStatus);
-    var badPorts = [
-      "1",
-      "7",
-      "9",
-      "11",
-      "13",
-      "15",
-      "17",
-      "19",
-      "20",
-      "21",
-      "22",
-      "23",
-      "25",
-      "37",
-      "42",
-      "43",
-      "53",
-      "69",
-      "77",
-      "79",
-      "87",
-      "95",
-      "101",
-      "102",
-      "103",
-      "104",
-      "109",
-      "110",
-      "111",
-      "113",
-      "115",
-      "117",
-      "119",
-      "123",
-      "135",
-      "137",
-      "139",
-      "143",
-      "161",
-      "179",
-      "389",
-      "427",
-      "465",
-      "512",
-      "513",
-      "514",
-      "515",
-      "526",
-      "530",
-      "531",
-      "532",
-      "540",
-      "548",
-      "554",
-      "556",
-      "563",
-      "587",
-      "601",
-      "636",
-      "989",
-      "990",
-      "993",
-      "995",
-      "1719",
-      "1720",
-      "1723",
-      "2049",
-      "3659",
-      "4045",
-      "5060",
-      "5061",
-      "6000",
-      "6566",
-      "6665",
-      "6666",
-      "6667",
-      "6668",
-      "6669",
-      "6697",
-      "10080"
-    ];
-    var badPortsSet = new Set(badPorts);
-    var referrerPolicy = [
-      "",
-      "no-referrer",
-      "no-referrer-when-downgrade",
-      "same-origin",
-      "origin",
-      "strict-origin",
-      "origin-when-cross-origin",
-      "strict-origin-when-cross-origin",
-      "unsafe-url"
-    ];
-    var referrerPolicySet = new Set(referrerPolicy);
-    var requestRedirect = ["follow", "manual", "error"];
-    var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"];
-    var safeMethodsSet = new Set(safeMethods);
-    var requestMode = ["navigate", "same-origin", "no-cors", "cors"];
-    var requestCredentials = ["omit", "same-origin", "include"];
-    var requestCache = [
-      "default",
-      "no-store",
-      "reload",
-      "no-cache",
-      "force-cache",
-      "only-if-cached"
-    ];
-    var requestBodyHeader = [
-      "content-encoding",
-      "content-language",
-      "content-location",
-      "content-type",
-      // See https://github.com/nodejs/undici/issues/2021
-      // 'Content-Length' is a forbidden header name, which is typically
-      // removed in the Headers implementation. However, undici doesn't
-      // filter out headers, so we add it here.
-      "content-length"
-    ];
-    var requestDuplex = [
-      "half"
-    ];
-    var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"];
-    var forbiddenMethodsSet = new Set(forbiddenMethods);
-    var subresource = [
-      "audio",
-      "audioworklet",
-      "font",
-      "image",
-      "manifest",
-      "paintworklet",
-      "script",
-      "style",
-      "track",
-      "video",
-      "xslt",
-      ""
-    ];
-    var subresourceSet = new Set(subresource);
-    var DOMException2 = globalThis.DOMException ?? (() => {
-      try {
-        atob("~");
-      } catch (err) {
-        return Object.getPrototypeOf(err).constructor;
+    var fastNow = 0;
+    var RESOLUTION_MS = 1e3;
+    var TICK_MS = (RESOLUTION_MS >> 1) - 1;
+    var fastNowTimeout;
+    var kFastTimer = /* @__PURE__ */ 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;
+        }
       }
-    })();
-    var channel;
-    var structuredClone = globalThis.structuredClone ?? // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js
-    // structuredClone was added in v17.0.0, but fetch supports v16.8
-    function structuredClone2(value, options = void 0) {
-      if (arguments.length === 0) {
-        throw new TypeError("missing argument");
+      fastTimers.length = len;
+      if (fastTimers.length !== 0) {
+        refreshTimeout();
       }
-      if (!channel) {
-        channel = new MessageChannel();
+    }
+    function refreshTimeout() {
+      if (fastNowTimeout) {
+        fastNowTimeout.refresh();
+      } else {
+        clearTimeout(fastNowTimeout);
+        fastNowTimeout = setTimeout(onTick, TICK_MS);
+        if (fastNowTimeout.unref) {
+          fastNowTimeout.unref();
+        }
       }
-      channel.port1.unref();
-      channel.port2.unref();
-      channel.port1.postMessage(value, options?.transfer);
-      return receiveMessageOnPort(channel.port2).message;
-    };
-    module2.exports = {
-      DOMException: DOMException2,
-      structuredClone,
-      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/fetch/global.js
-var require_global3 = __commonJS({
-  "node_modules/undici/lib/fetch/global.js"(exports2, module2) {
-    "use strict";
-    var globalOrigin = /* @__PURE__ */ 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;
+    var FastTimer = class {
+      [kFastTimer] = true;
+      /**
+       * The state of the timer, which can be one of the following:
+       * - NOT_IN_LIST (-2)
+       * - TO_BE_CLEARED (-1)
+       * - PENDING (0)
+       * - ACTIVE (1)
+       *
+       * @type {-2|-1|0|1}
+       * @private
+       */
+      _state = NOT_IN_LIST;
+      /**
+       * The number of milliseconds to wait before calling the callback.
+       *
+       * @type {number}
+       * @private
+       */
+      _idleTimeout = -1;
+      /**
+       * The time in milliseconds when the timer was started. This value is used to
+       * calculate when the timer should expire.
+       *
+       * @type {number}
+       * @default -1
+       * @private
+       */
+      _idleStart = -1;
+      /**
+       * The function to be executed when the timer expires.
+       * @type {Function}
+       * @private
+       */
+      _onTimeout;
+      /**
+       * The argument to be passed to the callback when the timer expires.
+       *
+       * @type {*}
+       * @private
+       */
+      _timerArg;
+      /**
+       * @constructor
+       * @param {Function} callback A function to be executed after the timer
+       * expires.
+       * @param {number} delay The time, in milliseconds that the timer should wait
+       * before the specified function or code is executed.
+       * @param {*} arg
+       */
+      constructor(callback, delay, arg) {
+        this._onTimeout = callback;
+        this._idleTimeout = delay;
+        this._timerArg = arg;
+        this.refresh();
       }
-      const parsedURL = new URL(newOrigin);
-      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
-        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
+      /**
+       * 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;
       }
-      Object.defineProperty(globalThis, globalOrigin, {
-        value: parsedURL,
-        writable: true,
-        enumerable: false,
-        configurable: false
-      });
-    }
+      /**
+       * The `clear` method cancels the timer, preventing it from executing.
+       *
+       * @returns {void}
+       * @private
+       */
+      clear() {
+        this._state = TO_BE_CLEARED;
+        this._idleStart = -1;
+      }
+    };
     module2.exports = {
-      getGlobalOrigin,
-      setGlobalOrigin
+      /**
+       * 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/undici/lib/fetch/util.js
-var require_util10 = __commonJS({
-  "node_modules/undici/lib/fetch/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/connect.js
+var require_connect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/connect.js"(exports2, module2) {
     "use strict";
-    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants7();
-    var { getGlobalOrigin } = require_global3();
-    var { performance: performance2 } = require("perf_hooks");
-    var { isBlobLike, toUSVString, ReadableStreamFrom } = require_util9();
-    var assert = require("assert");
-    var { isUint8Array } = require("util/types");
-    var supportedHashes = [];
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
-      supportedHashes = crypto2.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");
-      if (location !== null && isValidHeaderValue(location)) {
-        location = new URL(location, responseURL(response));
-      }
-      if (location && !location.hash) {
-        location.hash = requestFragment;
-      }
-      return location;
-    }
-    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");
+    var net = require("node:net");
+    var assert = require("node:assert");
+    var util = require_util9();
+    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
+    var timers = require_timers2();
+    function noop3() {
     }
-    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;
+    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);
+            }
+          });
         }
-      }
-      return true;
-    }
-    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;
-      }
-    }
-    function isValidHTTPToken(characters) {
-      if (characters.length === 0) {
-        return false;
-      }
-      for (let i = 0; i < characters.length; ++i) {
-        if (!isTokenCharCode(characters.charCodeAt(i))) {
-          return false;
+        get(sessionKey) {
+          const ref = this._sessionCache.get(sessionKey);
+          return ref ? ref.deref() : null;
         }
-      }
-      return true;
-    }
-    function isValidHeaderName(potentialValue) {
-      return isValidHTTPToken(potentialValue);
-    }
-    function isValidHeaderValue(potentialValue) {
-      if (potentialValue.startsWith("	") || potentialValue.startsWith(" ") || potentialValue.endsWith("	") || potentialValue.endsWith(" ")) {
-        return false;
-      }
-      if (potentialValue.includes("\0") || potentialValue.includes("\r") || potentialValue.includes("\n")) {
-        return false;
-      }
-      return true;
-    }
-    function setRequestReferrerPolicyOnRedirect(request2, actualResponse) {
-      const { headersList } = actualResponse;
-      const policyHeader = (headersList.get("referrer-policy") ?? "").split(",");
-      let policy = "";
-      if (policyHeader.length > 0) {
-        for (let i = policyHeader.length; i !== 0; i--) {
-          const token = policyHeader[i - 1].trim();
-          if (referrerPolicyTokens.has(token)) {
-            policy = token;
-            break;
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
+          this._sessionCache.set(sessionKey, new WeakRef(session));
+          this._sessionRegistry.register(session, sessionKey);
         }
-      }
-      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);
-    }
-    function appendRequestOriginHeader(request2) {
-      let serializedOrigin = request2.origin;
-      if (request2.responseTainting === "cors" || request2.mode === "websocket") {
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
-        }
-      } 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:
-        }
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
-        }
-      }
-    }
-    function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
-      return performance2.now();
-    }
-    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";
+    } else {
+      SessionCache = class SimpleSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
         }
-        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;
+        get(sessionKey) {
+          return this._sessionCache.get(sessionKey);
+        }
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
-          if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {
-            return "no-referrer";
+          if (this._sessionCache.size >= this._maxCachedSessions) {
+            const { value: oldestKey } = this._sessionCache.keys().next();
+            this._sessionCache.delete(oldestKey);
           }
-          return referrerOrigin;
-        }
-        case "strict-origin":
-        // eslint-disable-line
-        /**
-           * 1. If referrerURL is a potentially trustworthy URL and
-           * request’s current URL is not a potentially trustworthy URL,
-           * then return no referrer.
-           * 2. Return referrerOrigin
-          */
-        case "no-referrer-when-downgrade":
-        // eslint-disable-line
-        /**
-         * 1. If referrerURL is a potentially trustworthy URL and
-         * request’s current URL is not a potentially trustworthy URL,
-         * then return no referrer.
-         * 2. Return referrerOrigin
-        */
-        default:
-          return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
-      }
-    }
-    function stripURLForReferrer(url, originOnly) {
-      assert(url instanceof URL);
-      if (url.protocol === "file:" || url.protocol === "about:" || url.protocol === "blank:") {
-        return "no-referrer";
-      }
-      url.username = "";
-      url.password = "";
-      url.hash = "";
-      if (originOnly) {
-        url.pathname = "";
-        url.search = "";
-      }
-      return url;
-    }
-    function isURLPotentiallyTrustworthy(url) {
-      if (!(url instanceof URL)) {
-        return false;
-      }
-      if (url.href === "about:blank" || url.href === "about:srcdoc") {
-        return true;
-      }
-      if (url.protocol === "data:") return true;
-      if (url.protocol === "file:") return true;
-      return isOriginPotentiallyTrustworthy(url.origin);
-      function isOriginPotentiallyTrustworthy(origin) {
-        if (origin == null || origin === "null") return false;
-        const originAsURL = new URL(origin);
-        if (originAsURL.protocol === "https:" || originAsURL.protocol === "wss:") {
-          return true;
-        }
-        if (/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(originAsURL.hostname) || (originAsURL.hostname === "localhost" || originAsURL.hostname.includes("localhost.")) || originAsURL.hostname.endsWith(".localhost")) {
-          return true;
+          this._sessionCache.set(sessionKey, session);
         }
-        return false;
-      }
+      };
     }
-    function bytesMatch(bytes, metadataList) {
-      if (crypto2 === void 0) {
-        return true;
-      }
-      const parsedMetadata = parseMetadata(metadataList);
-      if (parsedMetadata === "no metadata") {
-        return true;
-      }
-      if (parsedMetadata.length === 0) {
-        return true;
+    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 strongest = getStrongestMetadata(parsedMetadata);
-      const metadata = filterMetadataListByAlgorithm(parsedMetadata, strongest);
-      for (const item of metadata) {
-        const algorithm = item.algo;
-        const expectedValue = item.hash;
-        let actualValue = crypto2.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);
+      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");
           }
+          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 (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 token of metadata.split(" ")) {
-        empty = false;
-        const parsedToken = parseHashWithOptions.exec(token);
-        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;
+        if (options.keepAlive == null || options.keepAlive) {
+          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
+          socket.setKeepAlive(true, keepAliveInitialDelay);
         }
-      }
-      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((resolve5, reject) => {
-        res = resolve5;
-        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";
-    }
-    var normalizeMethodRecord = {
-      delete: "DELETE",
-      DELETE: "DELETE",
-      get: "GET",
-      GET: "GET",
-      head: "HEAD",
-      HEAD: "HEAD",
-      options: "OPTIONS",
-      OPTIONS: "OPTIONS",
-      post: "POST",
-      POST: "POST",
-      put: "PUT",
-      PUT: "PUT"
-    };
-    Object.setPrototypeOf(normalizeMethodRecord, null);
-    function normalizeMethod(method) {
-      return normalizeMethodRecord[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 makeIterator(iterator2, name, kind) {
-      const object = {
-        index: 0,
-        kind,
-        target: iterator2
-      };
-      const i = {
-        next() {
-          if (Object.getPrototypeOf(this) !== i) {
-            throw new TypeError(
-              `'next' called on an object that does not implement interface ${name} Iterator.`
-            );
+        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);
           }
-          const { index, kind: kind2, target } = object;
-          const values = target();
-          const len = values.length;
-          if (index >= len) {
-            return { value: void 0, done: true };
+        }).on("error", function(err) {
+          queueMicrotask(clearConnectTimeout);
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(err);
           }
-          const pair = values[index];
-          object.index = index + 1;
-          return iteratorResult(pair, kind2);
-        },
-        // The class string of an iterator prototype object for a given interface is the
-        // result of concatenating the identifier of the interface and the string " Iterator".
-        [Symbol.toStringTag]: `${name} Iterator`
+        });
+        return socket;
       };
-      Object.setPrototypeOf(i, esIteratorPrototype);
-      return Object.setPrototypeOf({}, i);
-    }
-    function iteratorResult(pair, kind) {
-      let result;
-      switch (kind) {
-        case "key": {
-          result = pair[0];
-          break;
-        }
-        case "value": {
-          result = pair[1];
-          break;
-        }
-        case "key+value": {
-          result = pair;
-          break;
-        }
-      }
-      return { value: result, done: false };
-    }
-    async function fullyReadBody(body, processBody, processBodyError) {
-      const successSteps = processBody;
-      const errorSteps = processBodyError;
-      let reader;
-      try {
-        reader = body.stream.getReader();
-      } catch (e) {
-        errorSteps(e);
-        return;
-      }
-      try {
-        const result = await readAllBytes(reader);
-        successSteps(result);
-      } catch (e) {
-        errorSteps(e);
-      }
     }
-    var ReadableStream2 = globalThis.ReadableStream;
-    function isReadableStreamLike(stream) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+    var setupConnectTimeout = process.platform === "win32" ? (socketWeakRef, opts) => {
+      if (!opts.timeout) {
+        return noop3;
       }
-      return stream instanceof ReadableStream2 || stream[Symbol.toStringTag] === "ReadableStream" && typeof stream.tee === "function";
-    }
-    var MAXIMUM_ARGUMENT_LENGTH = 65535;
-    function isomorphicDecode(input) {
-      if (input.length < MAXIMUM_ARGUMENT_LENGTH) {
-        return String.fromCharCode(...input);
+      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;
       }
-      return input.reduce((previous, current) => previous + String.fromCharCode(current), "");
-    }
-    function readableStreamClose(controller) {
-      try {
-        controller.close();
-      } catch (err) {
-        if (!err.message.includes("Controller is already closed")) {
-          throw err;
-        }
+      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;
       }
-    }
-    function isomorphicEncode(input) {
-      for (let i = 0; i < input.length; i++) {
-        assert(input.charCodeAt(i) <= 255);
+      let message = "Connect Timeout Error";
+      if (Array.isArray(socket.autoSelectFamilyAttemptedAddresses)) {
+        message += ` (attempted addresses: ${socket.autoSelectFamilyAttemptedAddresses.join(", ")},`;
+      } else {
+        message += ` (attempted address: ${opts.hostname}:${opts.port},`;
       }
-      return input;
+      message += ` timeout: ${opts.timeout}ms)`;
+      util.destroy(socket, new ConnectTimeoutError(message));
     }
-    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");
+    module2.exports = buildConnector;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js
+var require_utils3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.enumToMap = void 0;
+    function enumToMap(obj) {
+      const res = {};
+      Object.keys(obj).forEach((key) => {
+        const value = obj[key];
+        if (typeof value === "number") {
+          res[key] = value;
         }
-        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) {
-      if (typeof url === "string") {
-        return url.startsWith("https:");
-      }
-      return url.protocol === "https:";
-    }
-    function urlIsHttpHttpsScheme(url) {
-      assert("protocol" in url);
-      const protocol = url.protocol;
-      return protocol === "http:" || protocol === "https:";
+      });
+      return res;
     }
-    var hasOwn = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key));
-    module2.exports = {
-      isAborted,
-      isCancelled,
-      createDeferredPromise,
-      ReadableStreamFrom,
-      toUSVString,
-      tryUpgradeRequestToAPotentiallyTrustworthyURL,
-      coarsenedSharedCurrentTime,
-      determineRequestsReferrer,
-      makePolicyContainer,
-      clonePolicyContainer,
-      appendFetchMetadata,
-      appendRequestOriginHeader,
-      TAOCheck,
-      corsCheck,
-      crossOriginResourcePolicyCheck,
-      createOpaqueTimingInfo,
-      setRequestReferrerPolicyOnRedirect,
-      isValidHTTPToken,
-      requestBadPort,
-      requestCurrentURL,
-      responseURL,
-      responseLocationURL,
-      isBlobLike,
-      isURLPotentiallyTrustworthy,
-      isValidReasonPhrase,
-      sameOrigin,
-      normalizeMethod,
-      serializeJavascriptValueToJSONString,
-      makeIterator,
-      isValidHeaderName,
-      isValidHeaderValue,
-      hasOwn,
-      isErrorLike,
-      fullyReadBody,
-      bytesMatch,
-      isReadableStreamLike,
-      readableStreamClose,
-      isomorphicEncode,
-      isomorphicDecode,
-      urlIsLocal,
-      urlHasHttpsScheme,
-      urlIsHttpHttpsScheme,
-      readAllBytes,
-      normalizeMethodRecord,
-      parseMetadata
-    };
+    exports2.enumToMap = enumToMap;
   }
 });
 
-// node_modules/undici/lib/fetch/symbols.js
-var require_symbols7 = __commonJS({
-  "node_modules/undici/lib/fetch/symbols.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js
+var require_constants7 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js"(exports2) {
     "use strict";
-    module2.exports = {
-      kUrl: /* @__PURE__ */ Symbol("url"),
-      kHeaders: /* @__PURE__ */ Symbol("headers"),
-      kSignal: /* @__PURE__ */ Symbol("signal"),
-      kState: /* @__PURE__ */ Symbol("state"),
-      kGuard: /* @__PURE__ */ Symbol("guard"),
-      kRealm: /* @__PURE__ */ Symbol("realm")
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
+    var utils_1 = require_utils3();
+    var ERROR;
+    (function(ERROR2) {
+      ERROR2[ERROR2["OK"] = 0] = "OK";
+      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
+      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
+      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
+      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
+      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
+      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
+      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
+      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
+      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
+      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
+      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
+      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
+      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
+      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
+      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
+      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
+      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
+      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
+      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
+      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
+      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
+      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
+      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
+      ERROR2[ERROR2["USER"] = 24] = "USER";
+    })(ERROR = 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];
+      }
+    });
+    var FINISH;
+    (function(FINISH2) {
+      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
+      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
+      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
+    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
+    exports2.ALPHA = [];
+    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
+      exports2.ALPHA.push(String.fromCharCode(i));
+      exports2.ALPHA.push(String.fromCharCode(i + 32));
+    }
+    exports2.NUM_MAP = {
+      0: 0,
+      1: 1,
+      2: 2,
+      3: 3,
+      4: 4,
+      5: 5,
+      6: 6,
+      7: 7,
+      8: 8,
+      9: 9
+    };
+    exports2.HEX_MAP = {
+      0: 0,
+      1: 1,
+      2: 2,
+      3: 3,
+      4: 4,
+      5: 5,
+      6: 6,
+      7: 7,
+      8: 8,
+      9: 9,
+      A: 10,
+      B: 11,
+      C: 12,
+      D: 13,
+      E: 14,
+      F: 15,
+      a: 10,
+      b: 11,
+      c: 12,
+      d: 13,
+      e: 14,
+      f: 15
+    };
+    exports2.NUM = [
+      "0",
+      "1",
+      "2",
+      "3",
+      "4",
+      "5",
+      "6",
+      "7",
+      "8",
+      "9"
+    ];
+    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
+    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
+    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
+    exports2.STRICT_URL_CHAR = [
+      "!",
+      '"',
+      "$",
+      "%",
+      "&",
+      "'",
+      "(",
+      ")",
+      "*",
+      "+",
+      ",",
+      "-",
+      ".",
+      "/",
+      ":",
+      ";",
+      "<",
+      "=",
+      ">",
+      "@",
+      "[",
+      "\\",
+      "]",
+      "^",
+      "_",
+      "`",
+      "{",
+      "|",
+      "}",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
+    for (let i = 128; i <= 255; i++) {
+      exports2.URL_CHAR.push(i);
+    }
+    exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
+    exports2.STRICT_TOKEN = [
+      "!",
+      "#",
+      "$",
+      "%",
+      "&",
+      "'",
+      "*",
+      "+",
+      "-",
+      ".",
+      "^",
+      "_",
+      "`",
+      "|",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]);
+    exports2.HEADER_CHARS = ["	"];
+    for (let i = 32; i <= 255; i++) {
+      if (i !== 127) {
+        exports2.HEADER_CHARS.push(i);
+      }
+    }
+    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/fetch/webidl.js
-var require_webidl2 = __commonJS({
-  "node_modules/undici/lib/fetch/webidl.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js
+var require_llhttp_wasm2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
     "use strict";
-    var { types } = require("util");
-    var { hasOwn, toUSVString } = require_util10();
-    var webidl = {};
-    webidl.converters = {};
-    webidl.util = {};
-    webidl.errors = {};
-    webidl.errors.exception = function(message) {
-      return new TypeError(`${message.header}: ${message.message}`);
+    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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CABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv", "base64");
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
+var require_llhttp_simd_wasm2 = __commonJS({
+  "node_modules/@actions/github/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/@actions/github/node_modules/undici/lib/web/fetch/constants.js
+var require_constants8 = __commonJS({
+  "node_modules/@actions/github/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/@actions/github/node_modules/undici/lib/web/fetch/global.js
+var require_global3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/global.js"(exports2, module2) {
+    "use strict";
+    var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
+    function getGlobalOrigin() {
+      return globalThis[globalOrigin];
+    }
+    function setGlobalOrigin(newOrigin) {
+      if (newOrigin === void 0) {
+        Object.defineProperty(globalThis, globalOrigin, {
+          value: void 0,
+          writable: true,
+          enumerable: false,
+          configurable: false
+        });
+        return;
+      }
+      const parsedURL = new URL(newOrigin);
+      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
+        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
+      }
+      Object.defineProperty(globalThis, globalOrigin, {
+        value: parsedURL,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
+    }
+    module2.exports = {
+      getGlobalOrigin,
+      setGlobalOrigin
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js
+var require_data_url2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var encoder = new TextEncoder();
+    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+\-.^_|~A-Za-z0-9]+$/;
+    var HTTP_WHITESPACE_REGEX = /[\u000A\u000D\u0009\u0020]/;
+    var ASCII_WHITESPACE_REPLACE_REGEX = /[\u0009\u000A\u000C\u000D\u0020]/g;
+    var HTTP_QUOTED_STRING_TOKENS = /^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;
+    function dataURLProcessor(dataURL) {
+      assert(dataURL.protocol === "data:");
+      let input = URLSerializer(dataURL, true);
+      input = input.slice(5);
+      const position = { position: 0 };
+      let mimeType = collectASequenceOfCodePointsFast(
+        ",",
+        input,
+        position
+      );
+      const mimeTypeLength = mimeType.length;
+      mimeType = removeASCIIWhitespace(mimeType, true, true);
+      if (position.position >= input.length) {
+        return "failure";
+      }
+      position.position++;
+      const encodedBody = input.slice(mimeTypeLength + 1);
+      let body = stringPercentDecode(encodedBody);
+      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
+        const stringBody = isomorphicDecode(body);
+        body = forgivingBase64(stringBody);
+        if (body === "failure") {
+          return "failure";
+        }
+        mimeType = mimeType.slice(0, -6);
+        mimeType = mimeType.replace(/(\u0020)+$/, "");
+        mimeType = mimeType.slice(0, -1);
+      }
+      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 };
+    }
+    function URLSerializer(url, excludeFragment = false) {
+      if (!excludeFragment) {
+        return url.href;
+      }
+      const href = url.href;
+      const hashLength = url.hash.length;
+      const serialized = hashLength === 0 ? href : href.substring(0, href.length - hashLength);
+      if (!hashLength && href.endsWith("#")) {
+        return serialized.slice(0, -1);
+      }
+      return serialized;
+    }
+    function collectASequenceOfCodePoints(condition, input, position) {
+      let result = "";
+      while (position.position < input.length && condition(input[position.position])) {
+        result += input[position.position];
+        position.position++;
+      }
+      return result;
+    }
+    function collectASequenceOfCodePointsFast(char, input, position) {
+      const idx = input.indexOf(char, position.position);
+      const start = position.position;
+      if (idx === -1) {
+        position.position = input.length;
+        return input.slice(start);
+      }
+      position.position = idx;
+      return input.slice(start, position.position);
+    }
+    function stringPercentDecode(input) {
+      const bytes = encoder.encode(input);
+      return percentDecode(bytes);
+    }
+    function isHexCharByte(byte) {
+      return byte >= 48 && byte <= 57 || byte >= 65 && byte <= 70 || byte >= 97 && byte <= 102;
+    }
+    function hexByteToNumber(byte) {
+      return (
+        // 0-9
+        byte >= 48 && byte <= 57 ? byte - 48 : (byte & 223) - 55
+      );
+    }
+    function 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);
+    }
+    function parseMIMEType(input) {
+      input = removeHTTPWhitespace(input, true, true);
+      const position = { position: 0 };
+      const type2 = collectASequenceOfCodePointsFast(
+        "/",
+        input,
+        position
+      );
+      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
+        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 = type2.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;
+    }
+    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);
+    }
+    function collectAnHTTPQuotedString(input, position, extractValue) {
+      const positionStart = position.position;
+      let value = "";
+      assert(input[position.position] === '"');
+      position.position++;
+      while (true) {
+        value += collectASequenceOfCodePoints(
+          (char) => char !== '"' && char !== "\\",
+          input,
+          position
+        );
+        if (position.position >= input.length) {
+          break;
+        }
+        const quoteOrBackslash = input[position.position];
+        position.position++;
+        if (quoteOrBackslash === "\\") {
+          if (position.position >= input.length) {
+            value += "\\";
+            break;
+          }
+          value += input[position.position];
+          position.position++;
+        } else {
+          assert(quoteOrBackslash === '"');
+          break;
+        }
+      }
+      if (extractValue) {
+        return value;
+      }
+      return input.slice(positionStart, position.position);
+    }
+    function serializeAMimeType(mimeType) {
+      assert(mimeType !== "failure");
+      const { parameters, essence } = mimeType;
+      let serialization = essence;
+      for (let [name, value] of parameters.entries()) {
+        serialization += ";";
+        serialization += name;
+        serialization += "=";
+        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
+          value = value.replace(/(\\|")/g, "\\$1");
+          value = '"' + value;
+          value += '"';
+        }
+        serialization += value;
+      }
+      return serialization;
+    }
+    function isHTTPWhiteSpace(char) {
+      return char === 13 || char === 10 || char === 9 || char === 32;
+    }
+    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isHTTPWhiteSpace);
+    }
+    function isASCIIWhitespace(char) {
+      return char === 13 || char === 10 || char === 9 || char === 12 || char === 32;
+    }
+    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isASCIIWhitespace);
+    }
+    function removeChars(str2, leading, trailing, predicate) {
+      let lead = 0;
+      let trail = str2.length - 1;
+      if (leading) {
+        while (lead < str2.length && predicate(str2.charCodeAt(lead))) lead++;
+      }
+      if (trailing) {
+        while (trail > 0 && predicate(str2.charCodeAt(trail))) trail--;
+      }
+      return lead === 0 && trail === str2.length - 1 ? str2 : str2.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/node_modules/undici/lib/web/fetch/webidl.js
+var require_webidl2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/webidl.js"(exports2, module2) {
+    "use strict";
+    var { types, inspect } = require("node:util");
+    var { markAsUncloneable } = require("node:worker_threads");
+    var { toUSVString } = require_util9();
+    var webidl = {};
+    webidl.converters = {};
+    webidl.util = {};
+    webidl.errors = {};
+    webidl.errors.exception = function(message) {
+      return new TypeError(`${message.header}: ${message.message}`);
+    };
+    webidl.errors.conversionFailed = function(context2) {
+      const plural = context2.types.length === 1 ? "" : " one of";
+      const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`;
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message
+      });
+    };
+    webidl.errors.invalidArgument = function(context2) {
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message: `"${context2.value}" is an invalid ${context2.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";
+        }
+      }
+    };
+    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;
+      }
+      if (!Number.isNaN(x) && opts?.clamp === true) {
+        x = Math.min(Math.max(x, lowerBound), upperBound);
+        if (Math.floor(x) % 2 === 0) {
+          x = Math.floor(x);
+        } else {
+          x = Math.ceil(x);
+        }
+        return x;
+      }
+      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 type2 = webidl.util.Type(V);
+      switch (type2) {
+        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.`
+          });
+        }
+        const method = typeof Iterable === "function" ? Iterable() : V?.[Symbol.iterator]?.();
+        const seq2 = [];
+        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;
+          }
+          seq2.push(converter(value, prefix, `${argument}[${index++}]`));
+        }
+        return seq2;
+      };
+    };
+    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 type2 = webidl.util.Type(dictionary);
+        const dict = {};
+        if (type2 === "Null" || type2 === "Undefined") {
+          return dict;
+        } else if (type2 !== "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);
+    };
+    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/@actions/github/node_modules/undici/lib/web/fetch/util.js
+var require_util10 = __commonJS({
+  "node_modules/@actions/github/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_constants8();
+    var { getGlobalOrigin } = require_global3();
+    var { collectASequenceOfCodePoints, collectAnHTTPQuotedString, removeChars, parseMIMEType } = require_data_url2();
+    var { performance: performance2 } = require("node:perf_hooks");
+    var { isBlobLike, ReadableStreamFrom, isValidHTTPToken, normalizedMethodRecordsBase } = require_util9();
+    var assert = require("node:assert");
+    var { isUint8Array } = require("node:util/types");
+    var { webidl } = require_webidl2();
+    var supportedHashes = [];
+    var crypto2;
+    try {
+      crypto2 = require("node:crypto");
+      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
+      supportedHashes = crypto2.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 token = policyHeader[i - 1].trim();
+          if (referrerPolicyTokens.has(token)) {
+            policy = token;
+            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(timestamp2, crossOriginIsolatedCapability) {
+      return timestamp2;
+    }
+    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":
+        // eslint-disable-line
+        /**
+           * 1. If referrerURL is a potentially trustworthy URL and
+           * request’s current URL is not a potentially trustworthy URL,
+           * then return no referrer.
+           * 2. Return referrerOrigin
+          */
+        case "no-referrer-when-downgrade":
+        // eslint-disable-line
+        /**
+         * 1. If referrerURL is a potentially trustworthy URL and
+         * request’s current URL is not a potentially trustworthy URL,
+         * then return no referrer.
+         * 2. Return referrerOrigin
+        */
+        default:
+          return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
+      }
+    }
+    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 (crypto2 === 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 = crypto2.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 token of metadata.split(" ")) {
+        empty = false;
+        const parsedToken = parseHashWithOptions.exec(token);
+        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((resolve5, reject) => {
+        res = resolve5;
+        rej = reject;
+      });
+      return { promise, resolve: res, reject: rej };
+    }
+    function isAborted(fetchParams) {
+      return fetchParams.controller.state === "aborted";
+    }
+    function isCancelled(fetchParams) {
+      return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";
+    }
+    function normalizeMethod(method) {
+      return normalizedMethodRecordsBase[method.toLowerCase()] ?? method;
+    }
+    function serializeJavascriptValueToJSONString(value) {
+      const result = JSON.stringify(value);
+      if (result === void 0) {
+        throw new TypeError("Value is not JSON serializable");
+      }
+      assert(typeof result === "string");
+      return result;
+    }
+    var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
+    function createIterator(name, kInternalIterator, keyIndex = 0, valueIndex = 1) {
+      class FastIterableIterator {
+        /** @type {any} */
+        #target;
+        /** @type {'key' | 'value' | 'key+value'} */
+        #kind;
+        /** @type {number} */
+        #index;
+        /**
+         * @see https://webidl.spec.whatwg.org/#dfn-default-iterator-object
+         * @param {unknown} target
+         * @param {'key' | 'value' | 'key+value'} kind
+         */
+        constructor(target, kind) {
+          this.#target = target;
+          this.#kind = kind;
+          this.#index = 0;
+        }
+        next() {
+          if (typeof this !== "object" || this === null || !(#target in this)) {
+            throw new TypeError(
+              `'next' called on an object that does not implement interface ${name} Iterator.`
+            );
+          }
+          const index = this.#index;
+          const values = this.#target[kInternalIterator];
+          const len = values.length;
+          if (index >= len) {
+            return {
+              value: void 0,
+              done: true
+            };
+          }
+          const { [keyIndex]: key, [valueIndex]: value } = values[index];
+          this.#index = index + 1;
+          let result;
+          switch (this.#kind) {
+            case "key":
+              result = key;
+              break;
+            case "value":
+              result = value;
+              break;
+            case "key+value":
+              result = [key, value];
+              break;
+          }
+          return {
+            value: result,
+            done: false
+          };
+        }
+      }
+      delete FastIterableIterator.prototype.constructor;
+      Object.setPrototypeOf(FastIterableIterator.prototype, esIteratorPrototype);
+      Object.defineProperties(FastIterableIterator.prototype, {
+        [Symbol.toStringTag]: {
+          writable: false,
+          enumerable: false,
+          configurable: true,
+          value: `${name} Iterator`
+        },
+        next: { writable: true, enumerable: true, configurable: true }
+      });
+      return function(target, kind) {
+        return new FastIterableIterator(target, kind);
+      };
+    }
+    function iteratorMixin(name, object, kInternalIterator, keyIndex = 0, valueIndex = 1) {
+      const makeIterator = createIterator(name, kInternalIterator, keyIndex, valueIndex);
+      const properties = {
+        keys: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function keys() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "key");
+          }
+        },
+        values: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function values() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "value");
+          }
+        },
+        entries: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function entries() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "key+value");
+          }
+        },
+        forEach: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function forEach(callbackfn, thisArg = globalThis) {
+            webidl.brandCheck(this, object);
+            webidl.argumentLengthCheck(arguments, 1, `${name}.forEach`);
+            if (typeof callbackfn !== "function") {
+              throw new TypeError(
+                `Failed to execute 'forEach' on '${name}': parameter 1 is not of type 'Function'.`
+              );
+            }
+            for (const { 0: key, 1: value } of makeIterator(this, "key+value")) {
+              callbackfn.call(thisArg, value, key, this);
+            }
+          }
+        }
+      };
+      return Object.defineProperties(object.prototype, {
+        ...properties,
+        [Symbol.iterator]: {
+          writable: true,
+          enumerable: false,
+          configurable: true,
+          value: properties.entries.value
+        }
+      });
+    }
+    async function fullyReadBody(body, processBody, processBodyError) {
+      const successSteps = processBody;
+      const errorSteps = processBodyError;
+      let reader;
+      try {
+        reader = body.stream.getReader();
+      } catch (e) {
+        errorSteps(e);
+        return;
+      }
+      try {
+        successSteps(await readAllBytes(reader));
+      } catch (e) {
+        errorSteps(e);
+      }
+    }
+    function isReadableStreamLike(stream) {
+      return stream instanceof ReadableStream || stream[Symbol.toStringTag] === "ReadableStream" && typeof stream.tee === "function";
+    }
+    function readableStreamClose(controller) {
+      try {
+        controller.close();
+        controller.byobRequest?.respond(0);
+      } catch (err) {
+        if (!err.message.includes("Controller is already closed") && !err.message.includes("ReadableStream is already closed")) {
+          throw err;
+        }
+      }
+    }
+    var invalidIsomorphicEncodeValueRegex = /[^\x00-\xFF]/;
+    function isomorphicEncode(input) {
+      assert(!invalidIsomorphicEncodeValueRegex.test(input));
+      return input;
+    }
+    async function readAllBytes(reader) {
+      const bytes = [];
+      let byteLength = 0;
+      while (true) {
+        const { done, value: chunk } = await reader.read();
+        if (done) {
+          return Buffer.concat(bytes, byteLength);
+        }
+        if (!isUint8Array(chunk)) {
+          throw new TypeError("Received non-Uint8Array chunk");
+        }
+        bytes.push(chunk);
+        byteLength += chunk.length;
+      }
+    }
+    function urlIsLocal(url) {
+      assert("protocol" in url);
+      const protocol = url.protocol;
+      return protocol === "about:" || protocol === "blob:" || protocol === "data:";
+    }
+    function urlHasHttpsScheme(url) {
+      return typeof url === "string" && url[5] === ":" && url[0] === "h" && url[1] === "t" && url[2] === "t" && url[3] === "p" && url[4] === "s" || url.protocol === "https:";
+    }
+    function urlIsHttpHttpsScheme(url) {
+      assert("protocol" in url);
+      const protocol = url.protocol;
+      return protocol === "http:" || protocol === "https:";
+    }
+    function simpleRangeHeaderValue(value, allowWhitespace) {
+      const data = value;
+      if (!data.startsWith("bytes")) {
+        return "failure";
+      }
+      const position = { position: 5 };
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      if (data.charCodeAt(position.position) !== 61) {
+        return "failure";
+      }
+      position.position++;
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      const rangeStart = collectASequenceOfCodePoints(
+        (char) => {
+          const code = char.charCodeAt(0);
+          return code >= 48 && code <= 57;
+        },
+        data,
+        position
+      );
+      const rangeStartValue = rangeStart.length ? Number(rangeStart) : null;
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      if (data.charCodeAt(position.position) !== 45) {
+        return "failure";
+      }
+      position.position++;
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      const rangeEnd = collectASequenceOfCodePoints(
+        (char) => {
+          const code = char.charCodeAt(0);
+          return code >= 48 && code <= 57;
+        },
+        data,
+        position
+      );
+      const rangeEndValue = rangeEnd.length ? Number(rangeEnd) : null;
+      if (position.position < data.length) {
+        return "failure";
+      }
+      if (rangeEndValue === null && rangeStartValue === null) {
+        return "failure";
+      }
+      if (rangeStartValue > rangeEndValue) {
+        return "failure";
+      }
+      return { rangeStartValue, rangeEndValue };
+    }
+    function buildContentRange(rangeStart, rangeEnd, fullLength) {
+      let contentRange = "bytes ";
+      contentRange += isomorphicEncode(`${rangeStart}`);
+      contentRange += "-";
+      contentRange += isomorphicEncode(`${rangeEnd}`);
+      contentRange += "/";
+      contentRange += isomorphicEncode(`${fullLength}`);
+      return contentRange;
+    }
+    var InflateStream = class extends Transform {
+      #zlibOptions;
+      /** @param {zlib.ZlibOptions} [zlibOptions] */
+      constructor(zlibOptions) {
+        super();
+        this.#zlibOptions = zlibOptions;
+      }
+      _transform(chunk, encoding, callback) {
+        if (!this._inflateStream) {
+          if (chunk.length === 0) {
+            callback();
+            return;
+          }
+          this._inflateStream = (chunk[0] & 15) === 8 ? zlib.createInflate(this.#zlibOptions) : zlib.createInflateRaw(this.#zlibOptions);
+          this._inflateStream.on("data", this.push.bind(this));
+          this._inflateStream.on("end", () => this.push(null));
+          this._inflateStream.on("error", (err) => this.destroy(err));
+        }
+        this._inflateStream.write(chunk, encoding, callback);
+      }
+      _final(callback) {
+        if (this._inflateStream) {
+          this._inflateStream.end();
+          this._inflateStream = null;
+        }
+        callback();
+      }
+    };
+    function createInflate(zlibOptions) {
+      return new InflateStream(zlibOptions);
+    }
+    function extractMimeType(headers) {
+      let charset = null;
+      let essence = null;
+      let mimeType = null;
+      const values = getDecodeSplit("content-type", headers);
+      if (values === null) {
+        return "failure";
+      }
+      for (const value of values) {
+        const temporaryMimeType = parseMIMEType(value);
+        if (temporaryMimeType === "failure" || temporaryMimeType.essence === "*/*") {
+          continue;
+        }
+        mimeType = temporaryMimeType;
+        if (mimeType.essence !== essence) {
+          charset = null;
+          if (mimeType.parameters.has("charset")) {
+            charset = mimeType.parameters.get("charset");
+          }
+          essence = mimeType.essence;
+        } else if (!mimeType.parameters.has("charset") && charset !== null) {
+          mimeType.parameters.set("charset", charset);
+        }
+      }
+      if (mimeType == null) {
+        return "failure";
+      }
+      return mimeType;
+    }
+    function gettingDecodingSplitting(value) {
+      const input = value;
+      const position = { position: 0 };
+      const values = [];
+      let temporaryValue = "";
+      while (position.position < input.length) {
+        temporaryValue += collectASequenceOfCodePoints(
+          (char) => char !== '"' && char !== ",",
+          input,
+          position
+        );
+        if (position.position < input.length) {
+          if (input.charCodeAt(position.position) === 34) {
+            temporaryValue += collectAnHTTPQuotedString(
+              input,
+              position
+            );
+            if (position.position < input.length) {
+              continue;
+            }
+          } else {
+            assert(input.charCodeAt(position.position) === 44);
+            position.position++;
+          }
+        }
+        temporaryValue = removeChars(temporaryValue, true, true, (char) => char === 9 || char === 32);
+        values.push(temporaryValue);
+        temporaryValue = "";
+      }
+      return values;
+    }
+    function getDecodeSplit(name, list) {
+      const value = list.get(name, true);
+      if (value === null) {
+        return null;
+      }
+      return gettingDecodingSplitting(value);
+    }
+    var textDecoder = new TextDecoder();
+    function utf8DecodeBytes(buffer) {
+      if (buffer.length === 0) {
+        return "";
+      }
+      if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
+        buffer = buffer.subarray(3);
+      }
+      const output = textDecoder.decode(buffer);
+      return output;
+    }
+    var EnvironmentSettingsObjectBase = class {
+      get baseUrl() {
+        return getGlobalOrigin();
+      }
+      get origin() {
+        return this.baseUrl?.origin;
+      }
+      policyContainer = makePolicyContainer();
+    };
+    var EnvironmentSettingsObject = class {
+      settingsObject = new EnvironmentSettingsObjectBase();
+    };
+    var environmentSettingsObject = new EnvironmentSettingsObject();
+    module2.exports = {
+      isAborted,
+      isCancelled,
+      isValidEncodedURL,
+      createDeferredPromise,
+      ReadableStreamFrom,
+      tryUpgradeRequestToAPotentiallyTrustworthyURL,
+      clampAndCoarsenConnectionTimingInfo,
+      coarsenedSharedCurrentTime,
+      determineRequestsReferrer,
+      makePolicyContainer,
+      clonePolicyContainer,
+      appendFetchMetadata,
+      appendRequestOriginHeader,
+      TAOCheck,
+      corsCheck,
+      crossOriginResourcePolicyCheck,
+      createOpaqueTimingInfo,
+      setRequestReferrerPolicyOnRedirect,
+      isValidHTTPToken,
+      requestBadPort,
+      requestCurrentURL,
+      responseURL,
+      responseLocationURL,
+      isBlobLike,
+      isURLPotentiallyTrustworthy,
+      isValidReasonPhrase,
+      sameOrigin,
+      normalizeMethod,
+      serializeJavascriptValueToJSONString,
+      iteratorMixin,
+      createIterator,
+      isValidHeaderName,
+      isValidHeaderValue,
+      isErrorLike,
+      fullyReadBody,
+      bytesMatch,
+      isReadableStreamLike,
+      readableStreamClose,
+      isomorphicEncode,
+      urlIsLocal,
+      urlHasHttpsScheme,
+      urlIsHttpHttpsScheme,
+      readAllBytes,
+      simpleRangeHeaderValue,
+      buildContentRange,
+      parseMetadata,
+      createInflate,
+      extractMimeType,
+      getDecodeSplit,
+      utf8DecodeBytes,
+      environmentSettingsObject
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js
+var require_symbols7 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kUrl: /* @__PURE__ */ Symbol("url"),
+      kHeaders: /* @__PURE__ */ Symbol("headers"),
+      kSignal: /* @__PURE__ */ Symbol("signal"),
+      kState: /* @__PURE__ */ Symbol("state"),
+      kDispatcher: /* @__PURE__ */ Symbol("dispatcher")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js
+var require_file2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js"(exports2, module2) {
+    "use strict";
+    var { Blob: Blob2, File: File2 } = require("node:buffer");
+    var { kState } = require_symbols7();
+    var { webidl } = require_webidl2();
+    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 File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
+    }
+    module2.exports = { FileLike, isFileLike };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js
+var require_formdata2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js"(exports2, module2) {
+    "use strict";
+    var { isBlobLike, iteratorMixin } = require_util10();
+    var { kState } = require_symbols7();
+    var { kEnumerableProperty } = require_util9();
+    var { FileLike, isFileLike } = require_file2();
+    var { webidl } = require_webidl2();
+    var { File: NativeFile } = require("node:buffer");
+    var nodeUtil = require("node:util");
+    var File2 = globalThis.File ?? NativeFile;
+    var FormData2 = 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", FormData2, kState, "name", "value");
+    Object.defineProperties(FormData2.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 File2([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 File2([value], filename, options) : new FileLike(value, filename, options);
+        }
+      }
+      return { name, value };
+    }
+    module2.exports = { FormData: FormData2, makeEntry };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js
+var require_formdata_parser2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js"(exports2, module2) {
+    "use strict";
+    var { isUSVString, bufferToLowerCasedHeaderName } = require_util9();
+    var { utf8DecodeBytes } = require_util10();
+    var { HTTP_TOKEN_CODEPOINTS, isomorphicDecode } = require_data_url2();
+    var { isFileLike } = require_file2();
+    var { makeEntry } = require_formdata2();
+    var assert = require("node:assert");
+    var { File: NodeFile } = require("node:buffer");
+    var File2 = globalThis.File ?? NodeFile;
+    var formDataNameBuffer = Buffer.from('form-data; name="');
+    var filenameBuffer = Buffer.from("; filename");
+    var dd = Buffer.from("--");
+    var ddcrlf = Buffer.from("--\r\n");
+    function isAsciiString(chars) {
+      for (let i = 0; i < chars.length; ++i) {
+        if ((chars.charCodeAt(i) & ~127) !== 0) {
+          return false;
+        }
+      }
+      return true;
+    }
+    function validateBoundary(boundary) {
+      const length = boundary.length;
+      if (length < 27 || length > 70) {
+        return false;
+      }
+      for (let i = 0; i < length; ++i) {
+        const cp = boundary.charCodeAt(i);
+        if (!(cp >= 48 && cp <= 57 || cp >= 65 && cp <= 90 || cp >= 97 && cp <= 122 || cp === 39 || cp === 45 || cp === 95)) {
+          return false;
+        }
+      }
+      return true;
+    }
+    function multipartFormDataParser(input, mimeType) {
+      assert(mimeType !== "failure" && mimeType.essence === "multipart/form-data");
+      const boundaryString = mimeType.parameters.get("boundary");
+      if (boundaryString === void 0) {
+        return "failure";
+      }
+      const boundary = Buffer.from(`--${boundaryString}`, "utf8");
+      const entryList = [];
+      const position = { position: 0 };
+      while (input[position.position] === 13 && input[position.position + 1] === 10) {
+        position.position += 2;
+      }
+      let trailing = input.length;
+      while (input[trailing - 1] === 10 && input[trailing - 2] === 13) {
+        trailing -= 2;
+      }
+      if (trailing !== input.length) {
+        input = input.subarray(0, trailing);
+      }
+      while (true) {
+        if (input.subarray(position.position, position.position + boundary.length).equals(boundary)) {
+          position.position += boundary.length;
+        } else {
+          return "failure";
+        }
+        if (position.position === input.length - 2 && bufferStartsWith(input, dd, position) || position.position === input.length - 4 && bufferStartsWith(input, ddcrlf, position)) {
+          return entryList;
+        }
+        if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
+          return "failure";
+        }
+        position.position += 2;
+        const result = parseMultipartFormDataHeaders(input, position);
+        if (result === "failure") {
+          return "failure";
+        }
+        let { name, filename, contentType, encoding } = result;
+        position.position += 2;
+        let body;
+        {
+          const boundaryIndex = input.indexOf(boundary.subarray(2), position.position);
+          if (boundaryIndex === -1) {
+            return "failure";
+          }
+          body = input.subarray(position.position, boundaryIndex - 4);
+          position.position += body.length;
+          if (encoding === "base64") {
+            body = Buffer.from(body.toString(), "base64");
+          }
+        }
+        if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
+          return "failure";
+        } else {
+          position.position += 2;
+        }
+        let value;
+        if (filename !== null) {
+          contentType ??= "text/plain";
+          if (!isAsciiString(contentType)) {
+            contentType = "";
+          }
+          value = new File2([body], filename, { type: contentType });
+        } else {
+          value = utf8DecodeBytes(Buffer.from(body));
+        }
+        assert(isUSVString(name));
+        assert(typeof value === "string" && isUSVString(value) || isFileLike(value));
+        entryList.push(makeEntry(name, value, filename));
+      }
+    }
+    function parseMultipartFormDataHeaders(input, position) {
+      let name = null;
+      let filename = null;
+      let contentType = null;
+      let encoding = null;
+      while (true) {
+        if (input[position.position] === 13 && input[position.position + 1] === 10) {
+          if (name === null) {
+            return "failure";
+          }
+          return { name, filename, contentType, encoding };
+        }
+        let headerName = collectASequenceOfBytes(
+          (char) => char !== 10 && char !== 13 && char !== 58,
+          input,
+          position
+        );
+        headerName = removeChars(headerName, true, true, (char) => char === 9 || char === 32);
+        if (!HTTP_TOKEN_CODEPOINTS.test(headerName.toString())) {
+          return "failure";
+        }
+        if (input[position.position] !== 58) {
+          return "failure";
+        }
+        position.position++;
+        collectASequenceOfBytes(
+          (char) => char === 32 || char === 9,
+          input,
+          position
+        );
+        switch (bufferToLowerCasedHeaderName(headerName)) {
+          case "content-disposition": {
+            name = filename = null;
+            if (!bufferStartsWith(input, formDataNameBuffer, position)) {
+              return "failure";
+            }
+            position.position += 17;
+            name = parseMultipartFormDataName(input, position);
+            if (name === null) {
+              return "failure";
+            }
+            if (bufferStartsWith(input, filenameBuffer, position)) {
+              let check = position.position + filenameBuffer.length;
+              if (input[check] === 42) {
+                position.position += 1;
+                check += 1;
+              }
+              if (input[check] !== 61 || input[check + 1] !== 34) {
+                return "failure";
+              }
+              position.position += 12;
+              filename = parseMultipartFormDataName(input, position);
+              if (filename === null) {
+                return "failure";
+              }
+            }
+            break;
+          }
+          case "content-type": {
+            let headerValue = collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+            headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
+            contentType = isomorphicDecode(headerValue);
+            break;
+          }
+          case "content-transfer-encoding": {
+            let headerValue = collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+            headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
+            encoding = isomorphicDecode(headerValue);
+            break;
+          }
+          default: {
+            collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+          }
+        }
+        if (input[position.position] !== 13 && input[position.position + 1] !== 10) {
+          return "failure";
+        } else {
+          position.position += 2;
+        }
+      }
+    }
+    function parseMultipartFormDataName(input, position) {
+      assert(input[position.position - 1] === 34);
+      let name = collectASequenceOfBytes(
+        (char) => char !== 10 && char !== 13 && char !== 34,
+        input,
+        position
+      );
+      if (input[position.position] !== 34) {
+        return null;
+      } else {
+        position.position++;
+      }
+      name = new TextDecoder().decode(name).replace(/%0A/ig, "\n").replace(/%0D/ig, "\r").replace(/%22/g, '"');
+      return name;
+    }
+    function collectASequenceOfBytes(condition, input, position) {
+      let start = position.position;
+      while (start < input.length && condition(input[start])) {
+        ++start;
+      }
+      return input.subarray(position.position, position.position = start);
+    }
+    function removeChars(buf, leading, trailing, predicate) {
+      let lead = 0;
+      let trail = buf.length - 1;
+      if (leading) {
+        while (lead < buf.length && predicate(buf[lead])) lead++;
+      }
+      if (trailing) {
+        while (trail > 0 && predicate(buf[trail])) trail--;
+      }
+      return lead === 0 && trail === buf.length - 1 ? buf : buf.subarray(lead, trail + 1);
+    }
+    function bufferStartsWith(buffer, start, position) {
+      if (buffer.length < start.length) {
+        return false;
+      }
+      for (let i = 0; i < start.length; i++) {
+        if (start[i] !== buffer[position.position + i]) {
+          return false;
+        }
+      }
+      return true;
+    }
+    module2.exports = {
+      multipartFormDataParser,
+      validateBoundary
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js
+var require_body2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js"(exports2, module2) {
+    "use strict";
+    var util = require_util9();
+    var {
+      ReadableStreamFrom,
+      isBlobLike,
+      isReadableStreamLike,
+      readableStreamClose,
+      createDeferredPromise,
+      fullyReadBody,
+      extractMimeType,
+      utf8DecodeBytes
+    } = require_util10();
+    var { FormData: FormData2 } = require_formdata2();
+    var { kState } = require_symbols7();
+    var { webidl } = require_webidl2();
+    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_url2();
+    var { multipartFormDataParser } = require_formdata_parser2();
+    var random;
+    try {
+      const crypto2 = require("node:crypto");
+      random = (max) => crypto2.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 type2 = null;
+      if (typeof object === "string") {
+        source = object;
+        type2 = "text/plain;charset=UTF-8";
+      } else if (object instanceof URLSearchParams) {
+        source = object.toString();
+        type2 = "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 = (str2) => str2.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;
+            }
+          }
+        };
+        type2 = `multipart/form-data; boundary=${boundary}`;
+      } else if (isBlobLike(object)) {
+        source = object;
+        length = object.size;
+        if (object.type) {
+          type2 = object.type;
+        }
+      } else if (typeof object[Symbol.asyncIterator] === "function") {
+        if (keepalive) {
+          throw new TypeError("keepalive");
+        }
+        if (util.isDisturbed(object) || object.locked) {
+          throw new TypeError(
+            "Response body object should not be disturbed or locked"
+          );
+        }
+        stream = object instanceof ReadableStream ? object : ReadableStreamFrom(object);
+      }
+      if (typeof source === "string" || util.isBuffer(source)) {
+        length = Buffer.byteLength(source);
+      }
+      if (action != null) {
+        let iterator2;
+        stream = new ReadableStream({
+          async start() {
+            iterator2 = action(object)[Symbol.asyncIterator]();
+          },
+          async pull(controller) {
+            const { value, done } = await iterator2.next();
+            if (done) {
+              queueMicrotask(() => {
+                controller.close();
+                controller.byobRequest?.respond(0);
+              });
+            } else {
+              if (!isErrored(stream)) {
+                const buffer = new Uint8Array(value);
+                if (buffer.byteLength) {
+                  controller.enqueue(buffer);
+                }
+              }
+            }
+            return controller.desiredSize > 0;
+          },
+          async cancel(reason) {
+            await iterator2.return();
+          },
+          type: "bytes"
+        });
+      }
+      const body = { stream, source, length };
+      return [body, type2];
+    }
+    function safelyExtractBody(object, keepalive = false) {
+      if (object instanceof ReadableStream) {
+        assert(!util.isDisturbed(object), "The body has already been consumed.");
+        assert(!object.locked, "The stream is locked.");
+      }
+      return extractBody(object, keepalive);
+    }
+    function cloneBody(instance, body) {
+      const [out1, out2] = body.stream.tee();
+      body.stream = out1;
+      return {
+        stream: out2,
+        length: body.length,
+        source: body.source
+      };
+    }
+    function throwIfAborted(state) {
+      if (state.aborted) {
+        throw new DOMException("The operation was aborted.", "AbortError");
+      }
+    }
+    function bodyMixinMethods(instance) {
+      const methods = {
+        blob() {
+          return consumeBody(this, (bytes) => {
+            let mimeType = bodyMimeType(this);
+            if (mimeType === null) {
+              mimeType = "";
+            } else if (mimeType) {
+              mimeType = serializeAMimeType(mimeType);
+            }
+            return new Blob2([bytes], { type: mimeType });
+          }, instance);
+        },
+        arrayBuffer() {
+          return consumeBody(this, (bytes) => {
+            return new Uint8Array(bytes).buffer;
+          }, instance);
+        },
+        text() {
+          return consumeBody(this, utf8DecodeBytes, instance);
+        },
+        json() {
+          return consumeBody(this, parseJSONFromBytes, instance);
+        },
+        formData() {
+          return consumeBody(this, (value) => {
+            const mimeType = bodyMimeType(this);
+            if (mimeType !== null) {
+              switch (mimeType.essence) {
+                case "multipart/form-data": {
+                  const parsed = multipartFormDataParser(value, mimeType);
+                  if (parsed === "failure") {
+                    throw new TypeError("Failed to parse body as FormData.");
+                  }
+                  const fd = new FormData2();
+                  fd[kState] = parsed;
+                  return fd;
+                }
+                case "application/x-www-form-urlencoded": {
+                  const entries = new URLSearchParams(value.toString());
+                  const fd = new FormData2();
+                  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 = (error3) => promise.reject(error3);
+      const successSteps = (data) => {
+        try {
+          promise.resolve(convertBytesToJSValue(data));
+        } catch (e) {
+          errorSteps(e);
+        }
+      };
+      if (object[kState].body == null) {
+        successSteps(Buffer.allocUnsafe(0));
+        return promise.promise;
+      }
+      await fullyReadBody(object[kState].body, successSteps, errorSteps);
+      return promise.promise;
+    }
+    function bodyUnusable(object) {
+      const body = object[kState].body;
+      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
+    }
+    function parseJSONFromBytes(bytes) {
+      return JSON.parse(utf8DecodeBytes(bytes));
+    }
+    function bodyMimeType(requestOrResponse) {
+      const headers = requestOrResponse[kState].headersList;
+      const mimeType = extractMimeType(headers);
+      if (mimeType === "failure") {
+        return null;
+      }
+      return mimeType;
+    }
+    module2.exports = {
+      extractBody,
+      safelyExtractBody,
+      cloneBody,
+      mixinBody,
+      streamRegistry,
+      hasFinalizationRegistry,
+      bodyUnusable
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js
+var require_client_h12 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var util = require_util9();
+    var { channels } = require_diagnostics2();
+    var timers = require_timers2();
+    var {
+      RequestContentLengthMismatchError,
+      ResponseContentLengthMismatchError,
+      RequestAbortedError,
+      HeadersTimeoutError,
+      HeadersOverflowError,
+      SocketError,
+      InformationalError,
+      BodyTimeoutError,
+      HTTPParserError,
+      ResponseExceededMaxSizeError
+    } = require_errors2();
+    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_symbols6();
+    var constants = require_constants7();
+    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_wasm2() : void 0;
+      let mod;
+      try {
+        mod = await WebAssembly.compile(require_llhttp_simd_wasm2());
+      } catch (e) {
+        mod = await WebAssembly.compile(llhttpWasmData || require_llhttp_wasm2());
+      }
+      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, type2) {
+        if (delay !== this.timeoutValue || type2 & USE_FAST_TIMER ^ this.timeoutType & USE_FAST_TIMER) {
+          if (this.timeout) {
+            timers.clearTimeout(this.timeout);
+            this.timeout = null;
+          }
+          if (delay) {
+            if (type2 & 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 = type2;
+      }
+      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]();
+        }
+      }
     };
-    webidl.errors.conversionFailed = function(context2) {
-      const plural = context2.types.length === 1 ? "" : " one of";
-      const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`;
-      return webidl.errors.exception({
-        header: context2.prefix,
-        message
+    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);
       });
-    };
-    webidl.errors.invalidArgument = function(context2) {
-      return webidl.errors.exception({
-        header: context2.prefix,
-        message: `"${context2.value}" is an invalid ${context2.type}.`
+      addListener(socket, "readable", function() {
+        const parser = this[kParser];
+        if (parser) {
+          parser.readMore();
+        }
       });
-    };
-    webidl.brandCheck = function(V, I, opts = void 0) {
-      if (opts?.strict !== false && !(V instanceof I)) {
-        throw new TypeError("Illegal invocation");
+      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: path7, host, upgrade, blocking, reset } = request2;
+      let { body, headers, contentLength } = request2;
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH" || method === "QUERY" || method === "PROPFIND" || method === "PROPPATCH";
+      if (util.isFormDataLike(body)) {
+        if (!extractBody) {
+          extractBody = require_body2().extractBody;
+        }
+        const [bodyStream, contentType] = extractBody(body);
+        if (request2.contentType == null) {
+          headers.push("content-type", contentType);
+        }
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
+      } else if (util.isBlobLike(body) && request2.contentType == null && body.type) {
+        headers.push("content-type", body.type);
+      }
+      if (body && typeof body.read === "function") {
+        body.read(0);
+      }
+      const bodyLength = util.bodyLength(body);
+      contentLength = bodyLength ?? contentLength;
+      if (contentLength === null) {
+        contentLength = request2.contentLength;
+      }
+      if (contentLength === 0 && !expectsPayload) {
+        contentLength = null;
+      }
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          util.errorRequest(client, request2, new RequestContentLengthMismatchError());
+          return false;
+        }
+        process.emitWarning(new RequestContentLengthMismatchError());
+      }
+      const socket = client[kSocket];
+      const abort = (err) => {
+        if (request2.aborted || request2.completed) {
+          return;
+        }
+        util.errorRequest(client, request2, err || new RequestAbortedError());
+        util.destroy(body);
+        util.destroy(socket, new InformationalError("aborted"));
+      };
+      try {
+        request2.onConnect(abort);
+      } catch (err) {
+        util.errorRequest(client, request2, err);
+      }
+      if (request2.aborted) {
+        return false;
+      }
+      if (method === "HEAD") {
+        socket[kReset] = true;
+      }
+      if (upgrade || method === "CONNECT") {
+        socket[kReset] = true;
+      }
+      if (reset != null) {
+        socket[kReset] = reset;
+      }
+      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
+        socket[kReset] = true;
+      }
+      if (blocking) {
+        socket[kBlocking] = true;
+      }
+      let header = `${method} ${path7} HTTP/1.1\r
+`;
+      if (typeof host === "string") {
+        header += `host: ${host}\r
+`;
       } else {
-        return V?.[Symbol.toStringTag] === I.prototype[Symbol.toStringTag];
+        header += client[kHostHeader];
       }
-    };
-    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.`,
-          ...ctx
-        });
+      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";
       }
-    };
-    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";
+      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
+`;
           }
-          return "Object";
         }
       }
-    };
-    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;
+      if (channels.sendHeaders.hasSubscribers) {
+        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      }
+      if (!body || bodyLength === 0) {
+        writeBuffer(abort, null, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isBuffer(body)) {
+        writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isBlobLike(body)) {
+        if (typeof body.stream === "function") {
+          writeIterable(abort, body.stream(), client, request2, socket, contentLength, header, expectsPayload);
+        } else {
+          writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+        }
+      } else if (util.isStream(body)) {
+        writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isIterable(body)) {
+        writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else {
+        assert(false);
+      }
+      return true;
+    }
+    function writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      let finished = false;
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
+      const onData = function(chunk) {
+        if (finished) {
+          return;
+        }
+        try {
+          if (!writer.write(chunk) && this.pause) {
+            this.pause();
+          }
+        } catch (err) {
+          util.destroy(this, err);
+        }
+      };
+      const onDrain = function() {
+        if (finished) {
+          return;
+        }
+        if (body.resume) {
+          body.resume();
+        }
+      };
+      const onClose = function() {
+        queueMicrotask(() => {
+          body.removeListener("error", onFinished);
+        });
+        if (!finished) {
+          const err = new RequestAbortedError();
+          queueMicrotask(() => onFinished(err));
+        }
+      };
+      const onFinished = function(err) {
+        if (finished) {
+          return;
+        }
+        finished = true;
+        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
+        socket.off("drain", onDrain).off("error", onFinished);
+        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("close", onClose);
+        if (!err) {
+          try {
+            writer.end();
+          } catch (er) {
+            err = er;
+          }
+        }
+        writer.destroy(err);
+        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
+          util.destroy(body, err);
         } else {
-          lowerBound = Math.pow(-2, 53) + 1;
+          util.destroy(body);
         }
-      } 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;
+      };
+      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onClose);
+      if (body.resume) {
+        body.resume();
       }
-      let x = Number(V);
-      if (x === 0) {
-        x = 0;
+      socket.on("drain", onDrain).on("error", onFinished);
+      if (body.errorEmitted ?? body.errored) {
+        setImmediate(() => onFinished(body.errored));
+      } else if (body.endEmitted ?? body.readableEnded) {
+        setImmediate(() => onFinished(null));
       }
-      if (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 ${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}.`
-          });
+      if (body.closeEmitted ?? body.closed) {
+        setImmediate(onClose);
+      }
+    }
+    function writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      try {
+        if (!body) {
+          if (contentLength === 0) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
+          } else {
+            assert(contentLength === null, "no body must not have content length");
+            socket.write(`${header}\r
+`, "latin1");
+          }
+        } else if (util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          socket.cork();
+          socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+          socket.write(body);
+          socket.uncork();
+          request2.onBodySent(body);
+          if (!expectsPayload && request2.reset !== false) {
+            socket[kReset] = true;
+          }
         }
-        return x;
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      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);
+    }
+    async function writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength === body.size, "blob body must have content length");
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
         }
-        return x;
+        const buffer = Buffer.from(await body.arrayBuffer());
+        socket.cork();
+        socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+        socket.write(buffer);
+        socket.uncork();
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload && request2.reset !== false) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
-        return 0;
+    }
+    async function writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
+        }
       }
-      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);
+      const waitForDrain = () => new Promise((resolve5, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve5;
+        }
+      });
+      socket.on("close", onDrain).on("drain", onDrain);
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          if (!writer.write(chunk)) {
+            await waitForDrain();
+          }
+        }
+        writer.end();
+      } catch (err) {
+        writer.destroy(err);
+      } finally {
+        socket.off("close", onDrain).off("drain", onDrain);
       }
-      return x;
-    };
-    webidl.util.IntegerPart = function(n) {
-      const r = Math.floor(Math.abs(n));
-      if (n < 0) {
-        return -1 * r;
+    }
+    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;
       }
-      return r;
-    };
-    webidl.sequenceConverter = function(converter) {
-      return (V) => {
-        if (webidl.util.Type(V) !== "Object") {
-          throw webidl.errors.exception({
-            header: "Sequence",
-            message: `Value of type ${webidl.util.Type(V)} is not an Object.`
-          });
+      write(chunk) {
+        const { socket, request: request2, contentLength, client, bytesWritten, expectsPayload, header } = this;
+        if (socket[kError]) {
+          throw socket[kError];
         }
-        const method = V?.[Symbol.iterator]?.();
-        const seq2 = [];
-        if (method === void 0 || typeof method.next !== "function") {
-          throw webidl.errors.exception({
-            header: "Sequence",
-            message: "Object is not an iterator."
-          });
+        if (socket.destroyed) {
+          return false;
         }
-        while (true) {
-          const { done, value } = method.next();
-          if (done) {
-            break;
+        const len = Buffer.byteLength(chunk);
+        if (!len) {
+          return true;
+        }
+        if (contentLength !== null && bytesWritten + len > contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
           }
-          seq2.push(converter(value));
+          process.emitWarning(new RequestContentLengthMismatchError());
         }
-        return seq2;
-      };
-    };
-    webidl.recordConverter = function(keyConverter, valueConverter) {
-      return (O) => {
-        if (webidl.util.Type(O) !== "Object") {
-          throw webidl.errors.exception({
-            header: "Record",
-            message: `Value of type ${webidl.util.Type(O)} is not an Object.`
-          });
+        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");
+          }
         }
-        const result = {};
-        if (!types.isProxy(O)) {
-          const keys2 = Object.keys(O);
-          for (const key of keys2) {
-            const typedKey = keyConverter(key);
-            const typedValue = valueConverter(O[key]);
-            result[typedKey] = typedValue;
+        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 result;
         }
-        const keys = Reflect.ownKeys(O);
-        for (const key of keys) {
-          const desc = Reflect.getOwnPropertyDescriptor(O, key);
-          if (desc?.enumerable) {
-            const typedKey = keyConverter(key);
-            const typedValue = valueConverter(O[key]);
-            result[typedKey] = typedValue;
+        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");
         }
-        return result;
-      };
-    };
-    webidl.interfaceConverter = function(i) {
-      return (V, opts = {}) => {
-        if (opts.strict !== false && !(V instanceof i)) {
-          throw webidl.errors.exception({
-            header: i.name,
-            message: `Expected ${V} to be an instance of ${i.name}.`
-          });
+        if (contentLength !== null && bytesWritten !== contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
+          } else {
+            process.emitWarning(new RequestContentLengthMismatchError());
+          }
         }
-        return V;
-      };
+        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);
+        }
+      }
     };
-    webidl.dictionaryConverter = function(converters) {
-      return (dictionary) => {
-        const type2 = webidl.util.Type(dictionary);
-        const dict = {};
-        if (type2 === "Null" || type2 === "Undefined") {
-          return dict;
-        } else if (type2 !== "Object") {
-          throw webidl.errors.exception({
-            header: "Dictionary",
-            message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`
-          });
+    module2.exports = connectH1;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h2.js
+var require_client_h22 = __commonJS({
+  "node_modules/@actions/github/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_util9();
+    var {
+      RequestContentLengthMismatchError,
+      RequestAbortedError,
+      SocketError,
+      InformationalError
+    } = require_errors2();
+    var {
+      kUrl,
+      kReset,
+      kClient,
+      kRunning,
+      kPending,
+      kQueue,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kSocket,
+      kStrictContentLength,
+      kOnError,
+      kMaxConcurrentStreams,
+      kHTTP2Session,
+      kResume,
+      kSize,
+      kHTTPContext
+    } = require_symbols6();
+    var kOpenStreams = /* @__PURE__ */ 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));
         }
-        for (const options of converters) {
-          const { key, defaultValue, required, converter } = options;
-          if (required === true) {
-            if (!hasOwn(dictionary, key)) {
-              throw webidl.errors.exception({
-                header: "Dictionary",
-                message: `Missing required key "${key}".`
-              });
-            }
+      }
+      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);
           }
-          let value = dictionary[key];
-          const hasDefault = hasOwn(options, "defaultValue");
-          if (hasDefault && value !== null) {
-            value = value ?? defaultValue;
+        }
+      });
+      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);
           }
-          if (required || hasDefault || value !== void 0) {
-            value = converter(value);
-            if (options.allowedValues && !options.allowedValues.includes(value)) {
-              throw webidl.errors.exception({
-                header: "Dictionary",
-                message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
-              });
+        },
+        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(type2, code, id) {
+      if (id === 0) {
+        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, 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: path7, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
+      let { body } = request2;
+      if (upgrade) {
+        util.errorRequest(client, request2, new Error("Upgrade not supported for H2"));
+        return false;
+      }
+      const headers = {};
+      for (let n = 0; n < reqHeaders.length; n += 2) {
+        const key = reqHeaders[n + 0];
+        const val = reqHeaders[n + 1];
+        if (Array.isArray(val)) {
+          for (let i = 0; i < val.length; i++) {
+            if (headers[key]) {
+              headers[key] += `,${val[i]}`;
+            } else {
+              headers[key] = val[i];
             }
-            dict[key] = value;
           }
+        } else {
+          headers[key] = val;
         }
-        return dict;
-      };
-    };
-    webidl.nullableConverter = function(converter) {
-      return (V) => {
-        if (V === null) {
-          return V;
+      }
+      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);
         }
-        return converter(V);
+        util.destroy(body, err);
+        client[kQueue][client[kRunningIdx]++] = null;
+        client[kResume]();
       };
-    };
-    webidl.converters.DOMString = function(V, opts = {}) {
-      if (V === null && opts.legacyNullToEmptyString) {
-        return "";
+      try {
+        request2.onConnect(abort);
+      } catch (err) {
+        util.errorRequest(client, request2, err);
       }
-      if (typeof V === "symbol") {
-        throw new TypeError("Could not convert argument of type symbol to string.");
+      if (request2.aborted) {
+        return false;
       }
-      return String(V);
-    };
-    webidl.converters.ByteString = function(V) {
-      const x = webidl.converters.DOMString(V);
-      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.`
-          );
+      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;
+          });
         }
-      }
-      return x;
-    };
-    webidl.converters.USVString = toUSVString;
-    webidl.converters.boolean = function(V) {
-      const x = Boolean(V);
-      return x;
-    };
-    webidl.converters.any = function(V) {
-      return V;
-    };
-    webidl.converters["long long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 64, "signed");
-      return x;
-    };
-    webidl.converters["unsigned long long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 64, "unsigned");
-      return x;
-    };
-    webidl.converters["unsigned long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 32, "unsigned");
-      return x;
-    };
-    webidl.converters["unsigned short"] = function(V, opts) {
-      const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts);
-      return x;
-    };
-    webidl.converters.ArrayBuffer = function(V, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {
-        throw webidl.errors.conversionFailed({
-          prefix: `${V}`,
-          argument: `${V}`,
-          types: ["ArrayBuffer"]
-        });
-      }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
-      }
-      return V;
-    };
-    webidl.converters.TypedArray = function(V, T, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {
-        throw webidl.errors.conversionFailed({
-          prefix: `${T.name}`,
-          argument: `${V}`,
-          types: [T.name]
-        });
-      }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
-      }
-      return V;
-    };
-    webidl.converters.DataView = function(V, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {
-        throw webidl.errors.exception({
-          header: "DataView",
-          message: "Object is not a DataView."
-        });
-      }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
+        stream.once("close", () => {
+          session[kOpenStreams] -= 1;
+          if (session[kOpenStreams] === 0) session.unref();
         });
+        return true;
       }
-      return V;
-    };
-    webidl.converters.BufferSource = function(V, opts = {}) {
-      if (types.isAnyArrayBuffer(V)) {
-        return webidl.converters.ArrayBuffer(V, opts);
+      headers[HTTP2_HEADER_PATH] = path7;
+      headers[HTTP2_HEADER_SCHEME] = "https";
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
+      if (body && typeof body.read === "function") {
+        body.read(0);
       }
-      if (types.isTypedArray(V)) {
-        return webidl.converters.TypedArray(V, V.constructor);
+      let contentLength = util.bodyLength(body);
+      if (util.isFormDataLike(body)) {
+        extractBody ??= require_body2().extractBody;
+        const [bodyStream, contentType] = extractBody(body);
+        headers["content-type"] = contentType;
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
       }
-      if (types.isDataView(V)) {
-        return webidl.converters.DataView(V, opts);
+      if (contentLength == null) {
+        contentLength = request2.contentLength;
       }
-      throw new TypeError(`Could not convert ${V} to a BufferSource.`);
-    };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.ByteString
-    );
-    webidl.converters["sequence>"] = webidl.sequenceConverter(
-      webidl.converters["sequence"]
-    );
-    webidl.converters["record"] = webidl.recordConverter(
-      webidl.converters.ByteString,
-      webidl.converters.ByteString
-    );
-    module2.exports = {
-      webidl
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/dataURL.js
-var require_dataURL = __commonJS({
-  "node_modules/undici/lib/fetch/dataURL.js"(exports2, module2) {
-    var assert = require("assert");
-    var { atob: atob2 } = require("buffer");
-    var { isomorphicDecode } = require_util10();
-    var encoder = new TextEncoder();
-    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/;
-    var HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/;
-    var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/;
-    function dataURLProcessor(dataURL) {
-      assert(dataURL.protocol === "data:");
-      let input = URLSerializer(dataURL, true);
-      input = input.slice(5);
-      const position = { position: 0 };
-      let mimeType = collectASequenceOfCodePointsFast(
-        ",",
-        input,
-        position
-      );
-      const mimeTypeLength = mimeType.length;
-      mimeType = removeASCIIWhitespace(mimeType, true, true);
-      if (position.position >= input.length) {
-        return "failure";
+      if (contentLength === 0 || !expectsPayload) {
+        contentLength = null;
       }
-      position.position++;
-      const encodedBody = input.slice(mimeTypeLength + 1);
-      let body = stringPercentDecode(encodedBody);
-      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
-        const stringBody = isomorphicDecode(body);
-        body = forgivingBase64(stringBody);
-        if (body === "failure") {
-          return "failure";
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          util.errorRequest(client, request2, new RequestContentLengthMismatchError());
+          return false;
         }
-        mimeType = mimeType.slice(0, -6);
-        mimeType = mimeType.replace(/(\u0020)+$/, "");
-        mimeType = mimeType.slice(0, -1);
+        process.emitWarning(new RequestContentLengthMismatchError());
       }
-      if (mimeType.startsWith(";")) {
-        mimeType = "text/plain" + mimeType;
+      if (contentLength != null) {
+        assert(body, "no body must not have content length");
+        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
       }
-      let mimeTypeRecord = parseMIMEType(mimeType);
-      if (mimeTypeRecord === "failure") {
-        mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
+      session.ref();
+      const shouldEndStream = method === "GET" || method === "HEAD" || body === null;
+      if (expectContinue) {
+        headers[HTTP2_HEADER_EXPECT] = "100-continue";
+        stream = session.request(headers, { endStream: shouldEndStream, signal });
+        stream.once("continue", writeBodyH2);
+      } else {
+        stream = session.request(headers, {
+          endStream: shouldEndStream,
+          signal
+        });
+        writeBodyH2();
       }
-      return { mimeType: mimeTypeRecord, body };
-    }
-    function URLSerializer(url, excludeFragment = false) {
-      if (!excludeFragment) {
-        return url.href;
+      ++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", (type2, code) => {
+        abort(new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`));
+      });
+      return true;
+      function writeBodyH2() {
+        if (!body || contentLength === 0) {
+          writeBuffer(
+            abort,
+            stream,
+            null,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else if (util.isBuffer(body)) {
+          writeBuffer(
+            abort,
+            stream,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else if (util.isBlobLike(body)) {
+          if (typeof body.stream === "function") {
+            writeIterable(
+              abort,
+              stream,
+              body.stream(),
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
+          } else {
+            writeBlob(
+              abort,
+              stream,
+              body,
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
+          }
+        } else if (util.isStream(body)) {
+          writeStream(
+            abort,
+            client[kSocket],
+            expectsPayload,
+            stream,
+            body,
+            client,
+            request2,
+            contentLength
+          );
+        } else if (util.isIterable(body)) {
+          writeIterable(
+            abort,
+            stream,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else {
+          assert(false);
+        }
       }
-      const href = url.href;
-      const hashLength = url.hash.length;
-      return hashLength === 0 ? href : href.substring(0, href.length - hashLength);
     }
-    function collectASequenceOfCodePoints(condition, input, position) {
-      let result = "";
-      while (position.position < input.length && condition(input[position.position])) {
-        result += input[position.position];
-        position.position++;
+    function writeBuffer(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      try {
+        if (body != null && util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          h2stream.cork();
+          h2stream.write(body);
+          h2stream.uncork();
+          h2stream.end();
+          request2.onBodySent(body);
+        }
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (error3) {
+        abort(error3);
       }
-      return result;
     }
-    function collectASequenceOfCodePointsFast(char, input, position) {
-      const idx = input.indexOf(char, position.position);
-      const start = position.position;
-      if (idx === -1) {
-        position.position = input.length;
-        return input.slice(start);
+    function writeStream(abort, socket, expectsPayload, h2stream, body, client, request2, contentLength) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      const pipe = pipeline(
+        body,
+        h2stream,
+        (err) => {
+          if (err) {
+            util.destroy(pipe, err);
+            abort(err);
+          } else {
+            util.removeAllListeners(pipe);
+            request2.onRequestSent();
+            if (!expectsPayload) {
+              socket[kReset] = true;
+            }
+            client[kResume]();
+          }
+        }
+      );
+      util.addListener(pipe, "data", onPipeData);
+      function onPipeData(chunk) {
+        request2.onBodySent(chunk);
       }
-      position.position = idx;
-      return input.slice(start, position.position);
-    }
-    function stringPercentDecode(input) {
-      const bytes = encoder.encode(input);
-      return percentDecode(bytes);
     }
-    function percentDecode(input) {
-      const output = [];
-      for (let i = 0; i < input.length; i++) {
-        const byte = input[i];
-        if (byte !== 37) {
-          output.push(byte);
-        } else if (byte === 37 && !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i + 1], input[i + 2]))) {
-          output.push(37);
-        } else {
-          const nextTwoBytes = String.fromCharCode(input[i + 1], input[i + 2]);
-          const bytePoint = Number.parseInt(nextTwoBytes, 16);
-          output.push(bytePoint);
-          i += 2;
+    async function writeBlob(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength === body.size, "blob body must have content length");
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
+        }
+        const buffer = Buffer.from(await body.arrayBuffer());
+        h2stream.cork();
+        h2stream.write(buffer);
+        h2stream.uncork();
+        h2stream.end();
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
         }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      return Uint8Array.from(output);
     }
-    function parseMIMEType(input) {
-      input = removeHTTPWhitespace(input, true, true);
-      const position = { position: 0 };
-      const type2 = collectASequenceOfCodePointsFast(
-        "/",
-        input,
-        position
-      );
-      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
-        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";
+    async function writeIterable(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
+        }
       }
-      const typeLowercase = type2.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;
+      const waitForDrain = () => new Promise((resolve5, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve5;
+        }
+      });
+      h2stream.on("close", onDrain).on("drain", onDrain);
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          const res = h2stream.write(chunk);
+          request2.onBodySent(chunk);
+          if (!res) {
+            await waitForDrain();
           }
-          position.position++;
         }
-        if (position.position > input.length) {
-          break;
+        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/@actions/github/node_modules/undici/lib/handler/redirect-handler.js
+var require_redirect_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js"(exports2, module2) {
+    "use strict";
+    var util = require_util9();
+    var { kBodyUsed } = require_symbols6();
+    var assert = require("node:assert");
+    var { InvalidArgumentError } = require_errors2();
+    var EE = require("node:events");
+    var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
+    var kBody = /* @__PURE__ */ Symbol("body");
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
+      }
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
+      }
+    };
+    var RedirectHandler = class {
+      constructor(dispatch, maxRedirections, opts, handler2) {
+        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
         }
-        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;
+        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 (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {
-          mimeType.parameters.set(parameterName, parameterValue);
+          if (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);
         }
       }
-      return mimeType;
-    }
-    function forgivingBase64(data) {
-      data = data.replace(/[\u0009\u000A\u000C\u000D\u0020]/g, "");
-      if (data.length % 4 === 0) {
-        data = data.replace(/=?=$/, "");
+      onConnect(abort) {
+        this.abort = abort;
+        this.handler.onConnect(abort, { history: this.history });
       }
-      if (data.length % 4 === 1) {
-        return "failure";
+      onUpgrade(statusCode, headers, socket) {
+        this.handler.onUpgrade(statusCode, headers, socket);
       }
-      if (/[^+/0-9A-Za-z]/.test(data)) {
-        return "failure";
+      onError(error3) {
+        this.handler.onError(error3);
       }
-      const binary2 = atob2(data);
-      const bytes = new Uint8Array(binary2.length);
-      for (let byte = 0; byte < binary2.length; byte++) {
-        bytes[byte] = binary2.charCodeAt(byte);
+      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 path7 = search ? `${pathname}${search}` : pathname;
+        this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
+        this.opts.path = path7;
+        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;
+        }
       }
-      return bytes;
-    }
-    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;
+      onData(chunk) {
+        if (this.location) {
+        } else {
+          return this.handler.onData(chunk);
         }
-        const quoteOrBackslash = input[position.position];
-        position.position++;
-        if (quoteOrBackslash === "\\") {
-          if (position.position >= input.length) {
-            value += "\\";
-            break;
-          }
-          value += input[position.position];
-          position.position++;
+      }
+      onComplete(trailers) {
+        if (this.location) {
+          this.location = null;
+          this.abort = null;
+          this.dispatch(this.opts, this);
         } else {
-          assert(quoteOrBackslash === '"');
-          break;
+          this.handler.onComplete(trailers);
         }
       }
-      if (extractValue) {
-        return value;
+      onBodySent(chunk) {
+        if (this.handler.onBodySent) {
+          this.handler.onBodySent(chunk);
+        }
       }
-      return input.slice(positionStart, position.position);
-    }
-    function serializeAMimeType(mimeType) {
-      assert(mimeType !== "failure");
-      const { parameters, essence } = mimeType;
-      let serialization = essence;
-      for (let [name, value] of parameters.entries()) {
-        serialization += ";";
-        serialization += name;
-        serialization += "=";
-        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
-          value = value.replace(/(\\|")/g, "\\$1");
-          value = '"' + value;
-          value += '"';
+    };
+    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];
         }
-        serialization += value;
       }
-      return serialization;
     }
-    function isHTTPWhiteSpace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === " ";
-    }
-    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
-      let lead = 0;
-      let trail = str2.length - 1;
-      if (leading) {
-        for (; lead < str2.length && isHTTPWhiteSpace(str2[lead]); lead++) ;
+    function shouldRemoveHeader(header, removeContent, unknownOrigin) {
+      if (header.length === 4) {
+        return util.headerNameToString(header) === "host";
       }
-      if (trailing) {
-        for (; trail > 0 && isHTTPWhiteSpace(str2[trail]); trail--) ;
+      if (removeContent && util.headerNameToString(header).startsWith("content-")) {
+        return true;
       }
-      return str2.slice(lead, trail + 1);
-    }
-    function isASCIIWhitespace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === "\f" || char === " ";
-    }
-    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
-      let lead = 0;
-      let trail = str2.length - 1;
-      if (leading) {
-        for (; lead < str2.length && isASCIIWhitespace(str2[lead]); lead++) ;
+      if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) {
+        const name = util.headerNameToString(header);
+        return name === "authorization" || name === "cookie" || name === "proxy-authorization";
       }
-      if (trailing) {
-        for (; trail > 0 && isASCIIWhitespace(str2[trail]); trail--) ;
+      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 str2.slice(lead, trail + 1);
+      return ret;
     }
-    module2.exports = {
-      dataURLProcessor,
-      URLSerializer,
-      collectASequenceOfCodePoints,
-      collectASequenceOfCodePointsFast,
-      stringPercentDecode,
-      parseMIMEType,
-      collectAnHTTPQuotedString,
-      serializeAMimeType
-    };
+    module2.exports = RedirectHandler;
   }
 });
 
-// node_modules/undici/lib/fetch/file.js
-var require_file2 = __commonJS({
-  "node_modules/undici/lib/fetch/file.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js
+var require_redirect_interceptor2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js"(exports2, module2) {
     "use strict";
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { types } = require("util");
-    var { kState } = require_symbols7();
-    var { isBlobLike } = require_util10();
-    var { webidl } = require_webidl2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var { kEnumerableProperty } = require_util9();
-    var encoder = new TextEncoder();
-    var File2 = class _File extends Blob2 {
-      constructor(fileBits, fileName, options = {}) {
-        webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" });
-        fileBits = webidl.converters["sequence"](fileBits);
-        fileName = webidl.converters.USVString(fileName);
-        options = webidl.converters.FilePropertyBag(options);
-        const n = fileName;
-        let t = options.type;
-        let d;
-        substep: {
-          if (t) {
-            t = parseMIMEType(t);
-            if (t === "failure") {
-              t = "";
-              break substep;
-            }
-            t = serializeAMimeType(t).toLowerCase();
+    var RedirectHandler = require_redirect_handler2();
+    function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) {
+      return (dispatch) => {
+        return function Intercept(opts, handler2) {
+          const { maxRedirections = defaultMaxRedirections } = opts;
+          if (!maxRedirections) {
+            return dispatch(opts, handler2);
           }
-          d = options.lastModified;
-        }
-        super(processBlobParts(fileBits, options), { type: t });
-        this[kState] = {
-          name: n,
-          lastModified: d,
-          type: t
+          const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler2);
+          opts = { ...opts, maxRedirections: 0 };
+          return dispatch(opts, redirectHandler);
         };
-      }
-      get name() {
-        webidl.brandCheck(this, _File);
-        return this[kState].name;
-      }
-      get lastModified() {
-        webidl.brandCheck(this, _File);
-        return this[kState].lastModified;
-      }
-      get type() {
-        webidl.brandCheck(this, _File);
-        return this[kState].type;
-      }
+      };
+    }
+    module2.exports = createRedirectInterceptor;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js
+var require_client2 = __commonJS({
+  "node_modules/@actions/github/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_util9();
+    var { channels } = require_diagnostics2();
+    var Request = require_request3();
+    var DispatcherBase = require_dispatcher_base2();
+    var {
+      InvalidArgumentError,
+      InformationalError,
+      ClientDestroyedError
+    } = require_errors2();
+    var buildConnector = require_connect2();
+    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_symbols6();
+    var connectH1 = require_client_h12();
+    var connectH2 = require_client_h22();
+    var deprecatedInterceptorWarned = false;
+    var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
+    var noop3 = () => {
     };
-    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);
+    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);
       }
-      arrayBuffer(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.arrayBuffer(...args);
+      get pipelining() {
+        return this[kPipelining];
       }
-      slice(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.slice(...args);
+      set pipelining(value) {
+        this[kPipelining] = value;
+        this[kResume](true);
       }
-      text(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.text(...args);
+      get [kPending]() {
+        return this[kQueue].length - this[kPendingIdx];
       }
-      get size() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.size;
+      get [kRunning]() {
+        return this[kPendingIdx] - this[kRunningIdx];
       }
-      get type() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.type;
+      get [kSize]() {
+        return this[kQueue].length - this[kRunningIdx];
       }
-      get name() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].name;
+      get [kConnected]() {
+        return !!this[kHTTPContext] && !this[kConnecting] && !this[kHTTPContext].destroyed;
       }
-      get lastModified() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].lastModified;
+      get [kBusy]() {
+        return Boolean(
+          this[kHTTPContext]?.busy(null) || this[kSize] >= (getPipelining(this) || 1) || this[kPending] > 0
+        );
       }
-      get [Symbol.toStringTag]() {
-        return "File";
+      /* istanbul ignore: only used for test */
+      [kConnect](cb) {
+        connect(this);
+        this.once("connect", cb);
       }
-    };
-    Object.defineProperties(File2.prototype, {
-      [Symbol.toStringTag]: {
-        value: "File",
-        configurable: true
-      },
-      name: kEnumerableProperty,
-      lastModified: kEnumerableProperty
-    });
-    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
-    webidl.converters.BlobPart = function(V, opts) {
-      if (webidl.util.Type(V) === "Object") {
-        if (isBlobLike(V)) {
-          return webidl.converters.Blob(V, { strict: false });
+      [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 (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
-          return webidl.converters.BufferSource(V, opts);
+        if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
+          this[kNeedDrain] = 2;
         }
+        return this[kNeedDrain] < 2;
       }
-      return webidl.converters.USVString(V, opts);
-    };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.BlobPart
-    );
-    webidl.converters.FilePropertyBag = webidl.dictionaryConverter([
-      {
-        key: "lastModified",
-        converter: webidl.converters["long long"],
-        get defaultValue() {
-          return Date.now();
-        }
-      },
-      {
-        key: "type",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "endings",
-        converter: (value) => {
-          value = webidl.converters.DOMString(value);
-          value = value.toLowerCase();
-          if (value !== "native") {
-            value = "transparent";
+      async [kClose]() {
+        return new Promise((resolve5) => {
+          if (this[kSize]) {
+            this[kClosedResolve] = resolve5;
+          } else {
+            resolve5(null);
           }
-          return value;
-        },
-        defaultValue: "transparent"
+        });
       }
-    ]);
-    function processBlobParts(parts, options) {
-      const bytes = [];
-      for (const element of parts) {
-        if (typeof element === "string") {
-          let s = element;
-          if (options.endings === "native") {
-            s = convertLineEndingsNative(s);
-          }
-          bytes.push(encoder.encode(s));
-        } else if (types.isAnyArrayBuffer(element) || types.isTypedArray(element)) {
-          if (!element.buffer) {
-            bytes.push(new Uint8Array(element));
+      async [kDestroy](err) {
+        return new Promise((resolve5) => {
+          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;
+            }
+            resolve5(null);
+          };
+          if (this[kHTTPContext]) {
+            this[kHTTPContext].destroy(err, callback);
+            this[kHTTPContext] = null;
           } else {
-            bytes.push(
-              new Uint8Array(element.buffer, element.byteOffset, element.byteLength)
-            );
+            queueMicrotask(callback);
           }
-        } else if (isBlobLike(element)) {
-          bytes.push(element);
+          this[kResume]();
+        });
+      }
+    };
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    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);
       }
-      return bytes;
     }
-    function convertLineEndingsNative(s) {
-      let nativeLineEnding = "\n";
-      if (process.platform === "win32") {
-        nativeLineEnding = "\r\n";
+    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;
       }
-      return s.replace(/\r?\n/g, nativeLineEnding);
-    }
-    function isFileLike(object) {
-      return NativeFile && object instanceof NativeFile || object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
-    }
-    module2.exports = { File: File2, FileLike, isFileLike };
-  }
-});
-
-// node_modules/undici/lib/fetch/formdata.js
-var require_formdata2 = __commonJS({
-  "node_modules/undici/lib/fetch/formdata.js"(exports2, module2) {
-    "use strict";
-    var { isBlobLike, toUSVString, makeIterator } = require_util10();
-    var { kState } = require_symbols7();
-    var { File: UndiciFile, FileLike, isFileLike } = require_file2();
-    var { webidl } = require_webidl2();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var File2 = NativeFile ?? UndiciFile;
-    var FormData2 = class _FormData {
-      constructor(form) {
-        if (form !== void 0) {
-          throw webidl.errors.conversionFailed({
-            prefix: "FormData constructor",
-            argument: "Argument 1",
-            types: ["undefined"]
+      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((resolve5, reject) => {
+          client[kConnector]({
+            host,
+            hostname,
+            protocol,
+            port,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          }, (err, socket2) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve5(socket2);
+            }
           });
+        });
+        if (client.destroyed) {
+          util.destroy(socket.on("error", noop3), new ClientDestroyedError());
+          return;
         }
-        this[kState] = [];
-      }
-      append(name, value, filename = void 0) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" });
-        if (arguments.length === 3 && !isBlobLike(value)) {
-          throw new TypeError(
-            "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"
-          );
+        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;
         }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0;
-        const entry = makeEntry(name, value, filename);
-        this[kState].push(entry);
-      }
-      delete(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" });
-        name = webidl.converters.USVString(name);
-        this[kState] = this[kState].filter((entry) => entry.name !== name);
-      }
-      get(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" });
-        name = webidl.converters.USVString(name);
-        const idx = this[kState].findIndex((entry) => entry.name === name);
-        if (idx === -1) {
-          return null;
+        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
+          });
         }
-        return this[kState][idx].value;
-      }
-      getAll(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" });
-        name = webidl.converters.USVString(name);
-        return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value);
-      }
-      has(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" });
-        name = webidl.converters.USVString(name);
-        return this[kState].findIndex((entry) => entry.name === name) !== -1;
-      }
-      set(name, value, filename = void 0) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" });
-        if (arguments.length === 3 && !isBlobLike(value)) {
-          throw new TypeError(
-            "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"
-          );
+        client.emit("connect", client[kUrl], [client]);
+      } catch (err) {
+        if (client.destroyed) {
+          return;
         }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? toUSVString(filename) : void 0;
-        const entry = makeEntry(name, value, filename);
-        const idx = this[kState].findIndex((entry2) => entry2.name === name);
-        if (idx !== -1) {
-          this[kState] = [
-            ...this[kState].slice(0, idx),
-            entry,
-            ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name)
-          ];
+        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 {
-          this[kState].push(entry);
+          onError(client, err);
         }
+        client.emit("connectionError", client[kUrl], [client], err);
       }
-      entries() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key+value"
-        );
-      }
-      keys() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key"
-        );
+      client[kResume]();
+    }
+    function emitDrain(client) {
+      client[kNeedDrain] = 0;
+      client.emit("drain", client[kUrl], [client]);
+    }
+    function resume(client, sync) {
+      if (client[kResuming] === 2) {
+        return;
       }
-      values() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "value"
-        );
+      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;
       }
-      /**
-       * @param {(value: string, key: string, self: FormData) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'."
-          );
+    }
+    function _resume(client, sync) {
+      while (true) {
+        if (client.destroyed) {
+          assert(client[kPending] === 0);
+          return;
         }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
+        if (client[kClosedResolve] && !client[kSize]) {
+          client[kClosedResolve]();
+          client[kClosedResolve] = null;
+          return;
         }
-      }
-    };
-    FormData2.prototype[Symbol.iterator] = FormData2.prototype.entries;
-    Object.defineProperties(FormData2.prototype, {
-      [Symbol.toStringTag]: {
-        value: "FormData",
-        configurable: true
-      }
-    });
-    function makeEntry(name, value, filename) {
-      name = Buffer.from(name).toString("utf8");
-      if (typeof value === "string") {
-        value = Buffer.from(value).toString("utf8");
-      } else {
-        if (!isFileLike(value)) {
-          value = value instanceof Blob2 ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
+        if (client[kHTTPContext]) {
+          client[kHTTPContext].resume();
         }
-        if (filename !== void 0) {
-          const options = {
-            type: value.type,
-            lastModified: value.lastModified
-          };
-          value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
+        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);
         }
       }
-      return { name, value };
     }
-    module2.exports = { FormData: FormData2 };
+    module2.exports = Client;
   }
 });
 
-// node_modules/undici/lib/fetch/body.js
-var require_body2 = __commonJS({
-  "node_modules/undici/lib/fetch/body.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/fixed-queue.js
+var require_fixed_queue2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/fixed-queue.js"(exports2, module2) {
     "use strict";
-    var Busboy = require_main();
-    var util = require_util9();
-    var {
-      ReadableStreamFrom,
-      isBlobLike,
-      isReadableStreamLike,
-      readableStreamClose,
-      createDeferredPromise,
-      fullyReadBody
-    } = require_util10();
-    var { FormData: FormData2 } = require_formdata2();
-    var { kState } = require_symbols7();
-    var { webidl } = require_webidl2();
-    var { DOMException: DOMException2, structuredClone } = require_constants7();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
-    var { isErrored } = require_util9();
-    var { isUint8Array, isArrayBuffer } = require("util/types");
-    var { File: UndiciFile } = require_file2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var random;
-    try {
-      const crypto2 = require("node:crypto");
-      random = (max) => crypto2.randomInt(0, max);
-    } catch {
-      random = (max) => Math.floor(Math.random(max));
-    }
-    var ReadableStream2 = globalThis.ReadableStream;
-    var File2 = NativeFile ?? UndiciFile;
-    var textEncoder = new TextEncoder();
-    var textDecoder = new TextDecoder();
-    function extractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+    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;
       }
-      let stream = null;
-      if (object instanceof ReadableStream2) {
-        stream = object;
-      } else if (isBlobLike(object)) {
-        stream = object.stream();
-      } else {
-        stream = new ReadableStream2({
-          async pull(controller) {
-            controller.enqueue(
-              typeof source === "string" ? textEncoder.encode(source) : source
-            );
-            queueMicrotask(() => readableStreamClose(controller));
-          },
-          start() {
-          },
-          type: void 0
-        });
+      isEmpty() {
+        return this.top === this.bottom;
       }
-      assert(isReadableStreamLike(stream));
-      let action = null;
-      let source = null;
-      let length = null;
-      let type2 = null;
-      if (typeof object === "string") {
-        source = object;
-        type2 = "text/plain;charset=UTF-8";
-      } else if (object instanceof URLSearchParams) {
-        source = object.toString();
-        type2 = "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 = (str2) => str2.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}--`);
-        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;
-            }
-          }
-        };
-        type2 = "multipart/form-data; boundary=" + boundary;
-      } else if (isBlobLike(object)) {
-        source = object;
-        length = object.size;
-        if (object.type) {
-          type2 = 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 ReadableStream2 ? object : ReadableStreamFrom(object);
+      isFull() {
+        return (this.top + 1 & kMask) === this.bottom;
       }
-      if (typeof source === "string" || util.isBuffer(source)) {
-        length = Buffer.byteLength(source);
+      push(data) {
+        this.list[this.top] = data;
+        this.top = this.top + 1 & kMask;
       }
-      if (action != null) {
-        let iterator2;
-        stream = new ReadableStream2({
-          async start() {
-            iterator2 = action(object)[Symbol.asyncIterator]();
-          },
-          async pull(controller) {
-            const { value, done } = await iterator2.next();
-            if (done) {
-              queueMicrotask(() => {
-                controller.close();
-              });
-            } else {
-              if (!isErrored(stream)) {
-                controller.enqueue(new Uint8Array(value));
-              }
-            }
-            return controller.desiredSize > 0;
-          },
-          async cancel(reason) {
-            await iterator2.return();
-          },
-          type: void 0
-        });
+      shift() {
+        const nextItem = this.list[this.bottom];
+        if (nextItem === void 0)
+          return null;
+        this.list[this.bottom] = void 0;
+        this.bottom = this.bottom + 1 & kMask;
+        return nextItem;
       }
-      const body = { stream, source, length };
-      return [body, type2];
-    }
-    function safelyExtractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+    };
+    module2.exports = class FixedQueue {
+      constructor() {
+        this.head = this.tail = new FixedCircularBuffer();
+      }
+      isEmpty() {
+        return this.head.isEmpty();
       }
-      if (object instanceof ReadableStream2) {
-        assert(!util.isDisturbed(object), "The body has already been consumed.");
-        assert(!object.locked, "The stream is locked.");
+      push(data) {
+        if (this.head.isFull()) {
+          this.head = this.head.next = new FixedCircularBuffer();
+        }
+        this.head.push(data);
       }
-      return extractBody(object, keepalive);
-    }
-    function cloneBody(body) {
-      const [out1, out2] = body.stream.tee();
-      const out2Clone = structuredClone(out2, { transfer: [out2] });
-      const [, finalClone] = out2Clone.tee();
-      body.stream = out1;
-      return {
-        stream: finalClone,
-        length: body.length,
-        source: body.source
-      };
-    }
-    async function* consumeBody(body) {
-      if (body) {
-        if (isUint8Array(body)) {
-          yield body;
-        } else {
-          const stream = body.stream;
-          if (util.isDisturbed(stream)) {
-            throw new TypeError("The body has already been consumed.");
-          }
-          if (stream.locked) {
-            throw new TypeError("The stream is locked.");
-          }
-          stream[kBodyUsed] = true;
-          yield* stream;
+      shift() {
+        const tail = this.tail;
+        const next = tail.shift();
+        if (tail.isEmpty() && tail.next !== null) {
+          this.tail = tail.next;
         }
+        return next;
       }
-    }
-    function throwIfAborted(state) {
-      if (state.aborted) {
-        throw new DOMException2("The operation was aborted.", "AbortError");
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js
+var require_pool_stats2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js"(exports2, module2) {
+    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
+    var kPool = /* @__PURE__ */ Symbol("pool");
+    var PoolStats = class {
+      constructor(pool) {
+        this[kPool] = pool;
       }
-    }
-    function bodyMixinMethods(instance) {
-      const methods = {
-        blob() {
-          return specConsumeBody(this, (bytes) => {
-            let mimeType = bodyMimeType(this);
-            if (mimeType === "failure") {
-              mimeType = "";
-            } else if (mimeType) {
-              mimeType = serializeAMimeType(mimeType);
-            }
-            return new Blob2([bytes], { type: mimeType });
-          }, instance);
-        },
-        arrayBuffer() {
-          return specConsumeBody(this, (bytes) => {
-            return new Uint8Array(bytes).buffer;
-          }, instance);
-        },
-        text() {
-          return specConsumeBody(this, utf8DecodeBytes, instance);
-        },
-        json() {
-          return specConsumeBody(this, parseJSONFromBytes, instance);
-        },
-        async formData() {
-          webidl.brandCheck(this, instance);
-          throwIfAborted(this[kState]);
-          const contentType = this.headers.get("Content-Type");
-          if (/multipart\/form-data/.test(contentType)) {
-            const headers = {};
-            for (const [key, value] of this.headers) headers[key.toLowerCase()] = value;
-            const responseFormData = new FormData2();
-            let busboy;
-            try {
-              busboy = new Busboy({
-                headers,
-                preservePath: true
-              });
-            } catch (err) {
-              throw new DOMException2(`${err}`, "AbortError");
-            }
-            busboy.on("field", (name, value) => {
-              responseFormData.append(name, value);
-            });
-            busboy.on("file", (name, value, filename, encoding, mimeType) => {
-              const chunks = [];
-              if (encoding === "base64" || encoding.toLowerCase() === "base64") {
-                let base64chunk = "";
-                value.on("data", (chunk) => {
-                  base64chunk += chunk.toString().replace(/[\r\n]/gm, "");
-                  const end = base64chunk.length - base64chunk.length % 4;
-                  chunks.push(Buffer.from(base64chunk.slice(0, end), "base64"));
-                  base64chunk = base64chunk.slice(end);
-                });
-                value.on("end", () => {
-                  chunks.push(Buffer.from(base64chunk, "base64"));
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              } else {
-                value.on("data", (chunk) => {
-                  chunks.push(chunk);
-                });
-                value.on("end", () => {
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              }
-            });
-            const busboyResolve = new Promise((resolve5, reject) => {
-              busboy.on("finish", resolve5);
-              busboy.on("error", (err) => reject(new TypeError(err)));
-            });
-            if (this.body !== null) for await (const chunk of consumeBody(this[kState].body)) busboy.write(chunk);
-            busboy.end();
-            await busboyResolve;
-            return responseFormData;
-          } else if (/application\/x-www-form-urlencoded/.test(contentType)) {
-            let entries;
-            try {
-              let text = "";
-              const streamingDecoder = new TextDecoder("utf-8", { ignoreBOM: true });
-              for await (const chunk of consumeBody(this[kState].body)) {
-                if (!isUint8Array(chunk)) {
-                  throw new TypeError("Expected Uint8Array chunk");
-                }
-                text += streamingDecoder.decode(chunk, { stream: true });
-              }
-              text += streamingDecoder.decode();
-              entries = new URLSearchParams(text);
-            } catch (err) {
-              throw Object.assign(new TypeError(), { cause: err });
-            }
-            const formData = new FormData2();
-            for (const [name, value] of entries) {
-              formData.append(name, value);
-            }
-            return formData;
-          } else {
-            await Promise.resolve();
-            throwIfAborted(this[kState]);
-            throw webidl.errors.exception({
-              header: `${instance.name}.formData`,
-              message: "Could not parse content as FormData."
-            });
-          }
-        }
-      };
-      return methods;
-    }
-    function mixinBody(prototype) {
-      Object.assign(prototype.prototype, bodyMixinMethods(prototype));
-    }
-    async function specConsumeBody(object, convertBytesToJSValue, instance) {
-      webidl.brandCheck(object, instance);
-      throwIfAborted(object[kState]);
-      if (bodyUnusable(object[kState].body)) {
-        throw new TypeError("Body is unusable");
+      get connected() {
+        return this[kPool][kConnected];
       }
-      const promise = createDeferredPromise();
-      const errorSteps = (error3) => promise.reject(error3);
-      const successSteps = (data) => {
-        try {
-          promise.resolve(convertBytesToJSValue(data));
-        } catch (e) {
-          errorSteps(e);
-        }
-      };
-      if (object[kState].body == null) {
-        successSteps(new Uint8Array());
-        return promise.promise;
+      get free() {
+        return this[kPool][kFree];
       }
-      await fullyReadBody(object[kState].body, successSteps, errorSteps);
-      return promise.promise;
-    }
-    function bodyUnusable(body) {
-      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
-    }
-    function utf8DecodeBytes(buffer) {
-      if (buffer.length === 0) {
-        return "";
+      get pending() {
+        return this[kPool][kPending];
       }
-      if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
-        buffer = buffer.subarray(3);
+      get queued() {
+        return this[kPool][kQueued];
       }
-      const output = textDecoder.decode(buffer);
-      return output;
-    }
-    function parseJSONFromBytes(bytes) {
-      return JSON.parse(utf8DecodeBytes(bytes));
-    }
-    function bodyMimeType(object) {
-      const { headersList } = object[kState];
-      const contentType = headersList.get("content-type");
-      if (contentType === null) {
-        return "failure";
+      get running() {
+        return this[kPool][kRunning];
+      }
+      get size() {
+        return this[kPool][kSize];
       }
-      return parseMIMEType(contentType);
-    }
-    module2.exports = {
-      extractBody,
-      safelyExtractBody,
-      cloneBody,
-      mixinBody
     };
+    module2.exports = PoolStats;
   }
 });
 
-// node_modules/undici/lib/core/request.js
-var require_request3 = __commonJS({
-  "node_modules/undici/lib/core/request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js
+var require_pool_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js"(exports2, module2) {
     "use strict";
-    var {
-      InvalidArgumentError,
-      NotSupportedError
-    } = require_errors2();
-    var assert = require("assert");
-    var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = require_symbols6();
-    var util = require_util9();
-    var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;
-    var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
-    var invalidPathRegex = /[^\u0021-\u00ff]/;
-    var kHandler = /* @__PURE__ */ Symbol("handler");
-    var channels = {};
-    var extractBody;
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.create = diagnosticsChannel.channel("undici:request:create");
-      channels.bodySent = diagnosticsChannel.channel("undici:request:bodySent");
-      channels.headers = diagnosticsChannel.channel("undici:request:headers");
-      channels.trailers = diagnosticsChannel.channel("undici:request:trailers");
-      channels.error = diagnosticsChannel.channel("undici:request:error");
-    } catch {
-      channels.create = { hasSubscribers: false };
-      channels.bodySent = { hasSubscribers: false };
-      channels.headers = { hasSubscribers: false };
-      channels.trailers = { hasSubscribers: false };
-      channels.error = { hasSubscribers: false };
-    }
-    var Request = class _Request {
-      constructor(origin, {
-        path: path7,
-        method,
-        body,
-        headers,
-        query,
-        idempotent,
-        blocking,
-        upgrade,
-        headersTimeout,
-        bodyTimeout,
-        reset,
-        throwOnError,
-        expectContinue
-      }, handler2) {
-        if (typeof path7 !== "string") {
-          throw new InvalidArgumentError("path must be a string");
-        } else if (path7[0] !== "/" && !(path7.startsWith("http://") || path7.startsWith("https://")) && method !== "CONNECT") {
-          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
-        } else if (invalidPathRegex.exec(path7) !== null) {
-          throw new InvalidArgumentError("invalid request path");
-        }
-        if (typeof method !== "string") {
-          throw new InvalidArgumentError("method must be a string");
-        } else if (tokenRegExp.exec(method) === null) {
-          throw new InvalidArgumentError("invalid request method");
-        }
-        if (upgrade && typeof upgrade !== "string") {
-          throw new InvalidArgumentError("upgrade must be a string");
-        }
-        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
-          throw new InvalidArgumentError("invalid headersTimeout");
-        }
-        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
-          throw new InvalidArgumentError("invalid bodyTimeout");
-        }
-        if (reset != null && typeof reset !== "boolean") {
-          throw new InvalidArgumentError("invalid reset");
-        }
-        if (expectContinue != null && typeof expectContinue !== "boolean") {
-          throw new InvalidArgumentError("invalid expectContinue");
-        }
-        this.headersTimeout = headersTimeout;
-        this.bodyTimeout = bodyTimeout;
-        this.throwOnError = throwOnError === true;
-        this.method = method;
-        this.abort = null;
-        if (body == null) {
-          this.body = null;
-        } else if (util.isStream(body)) {
-          this.body = body;
-          const rState = this.body._readableState;
-          if (!rState || !rState.autoDestroy) {
-            this.endHandler = function autoDestroy() {
-              util.destroy(this);
-            };
-            this.body.on("end", this.endHandler);
-          }
-          this.errorHandler = (err) => {
-            if (this.abort) {
-              this.abort(err);
-            } else {
-              this.error = err;
+    var DispatcherBase = require_dispatcher_base2();
+    var FixedQueue = require_fixed_queue2();
+    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
+    var PoolStats = require_pool_stats2();
+    var kClients = /* @__PURE__ */ Symbol("clients");
+    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
+    var kQueue = /* @__PURE__ */ Symbol("queue");
+    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
+    var kAddClient = /* @__PURE__ */ Symbol("add client");
+    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
+    var kStats = /* @__PURE__ */ 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;
             }
-          };
-          this.body.on("error", this.errorHandler);
-        } else if (util.isBuffer(body)) {
-          this.body = body.byteLength ? body : null;
-        } else if (ArrayBuffer.isView(body)) {
-          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
-        } else if (body instanceof ArrayBuffer) {
-          this.body = body.byteLength ? Buffer.from(body) : null;
-        } else if (typeof body === "string") {
-          this.body = body.length ? Buffer.from(body) : null;
-        } else if (util.isFormDataLike(body) || util.isIterable(body) || util.isBlobLike(body)) {
-          this.body = body;
-        } else {
-          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
-        }
-        this.completed = false;
-        this.aborted = false;
-        this.upgrade = upgrade || null;
-        this.path = query ? util.buildURL(path7, query) : path7;
-        this.origin = origin;
-        this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
-        this.blocking = blocking == null ? false : blocking;
-        this.reset = reset == null ? null : reset;
-        this.host = null;
-        this.contentLength = null;
-        this.contentType = null;
-        this.headers = "";
-        this.expectContinue = expectContinue != null ? expectContinue : false;
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
-          }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(this, headers[i], headers[i + 1]);
-          }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(this, key, headers[key]);
-          }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
-        }
-        if (util.isFormDataLike(this.body)) {
-          if (util.nodeMajor < 16 || util.nodeMajor === 16 && util.nodeMinor < 8) {
-            throw new InvalidArgumentError("Form-Data bodies are only supported in node v16.8 and newer.");
+            pool[kQueued]--;
+            needDrain = !this.dispatch(item.opts, item.handler);
           }
-          if (!extractBody) {
-            extractBody = require_body2().extractBody;
+          this[kNeedDrain] = needDrain;
+          if (!this[kNeedDrain] && pool[kNeedDrain]) {
+            pool[kNeedDrain] = false;
+            pool.emit("drain", origin, [pool, ...targets]);
           }
-          const [bodyStream, contentType] = extractBody(body);
-          if (this.contentType == null) {
-            this.contentType = contentType;
-            this.headers += `content-type: ${contentType}\r
-`;
+          if (pool[kClosedResolve] && queue.isEmpty()) {
+            Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]);
           }
-          this.body = bodyStream.stream;
-          this.contentLength = bodyStream.length;
-        } else if (util.isBlobLike(body) && this.contentType == null && body.type) {
-          this.contentType = body.type;
-          this.headers += `content-type: ${body.type}\r
-`;
-        }
-        util.validateHandler(handler2, method, upgrade);
-        this.servername = util.getServerName(this.host);
-        this[kHandler] = handler2;
-        if (channels.create.hasSubscribers) {
-          channels.create.publish({ request: this });
-        }
+        };
+        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);
       }
-      onBodySent(chunk) {
-        if (this[kHandler].onBodySent) {
-          try {
-            return this[kHandler].onBodySent(chunk);
-          } catch (err) {
-            this.abort(err);
-          }
-        }
+      get [kBusy]() {
+        return this[kNeedDrain];
       }
-      onRequestSent() {
-        if (channels.bodySent.hasSubscribers) {
-          channels.bodySent.publish({ request: this });
-        }
-        if (this[kHandler].onRequestSent) {
-          try {
-            return this[kHandler].onRequestSent();
-          } catch (err) {
-            this.abort(err);
-          }
-        }
+      get [kConnected]() {
+        return this[kClients].filter((client) => client[kConnected]).length;
       }
-      onConnect(abort) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (this.error) {
-          abort(this.error);
-        } else {
-          this.abort = abort;
-          return this[kHandler].onConnect(abort);
-        }
+      get [kFree]() {
+        return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;
       }
-      onHeaders(statusCode, headers, resume, statusText) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (channels.headers.hasSubscribers) {
-          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
+      get [kPending]() {
+        let ret = this[kQueued];
+        for (const { [kPending]: pending } of this[kClients]) {
+          ret += pending;
         }
-        try {
-          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
-        } catch (err) {
-          this.abort(err);
+        return ret;
+      }
+      get [kRunning]() {
+        let ret = 0;
+        for (const { [kRunning]: running } of this[kClients]) {
+          ret += running;
         }
+        return ret;
       }
-      onData(chunk) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        try {
-          return this[kHandler].onData(chunk);
-        } catch (err) {
-          this.abort(err);
-          return false;
+      get [kSize]() {
+        let ret = this[kQueued];
+        for (const { [kSize]: size } of this[kClients]) {
+          ret += size;
         }
+        return ret;
       }
-      onUpgrade(statusCode, headers, socket) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        return this[kHandler].onUpgrade(statusCode, headers, socket);
+      get stats() {
+        return this[kStats];
       }
-      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);
+      async [kClose]() {
+        if (this[kQueue].isEmpty()) {
+          await Promise.all(this[kClients].map((c) => c.close()));
+        } else {
+          await new Promise((resolve5) => {
+            this[kClosedResolve] = resolve5;
+          });
         }
       }
-      onError(error3) {
-        this.onFinally();
-        if (channels.error.hasSubscribers) {
-          channels.error.publish({ request: this, error: error3 });
-        }
-        if (this.aborted) {
-          return;
+      async [kDestroy](err) {
+        while (true) {
+          const item = this[kQueue].shift();
+          if (!item) {
+            break;
+          }
+          item.handler.onError(err);
         }
-        this.aborted = true;
-        return this[kHandler].onError(error3);
+        await Promise.all(this[kClients].map((c) => c.destroy(err)));
       }
-      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;
+      [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];
       }
-      // TODO: adjust to support H2
-      addHeader(key, value) {
-        processHeader(this, key, value);
+      [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;
       }
-      static [kHTTP1BuildRequest](origin, opts, handler2) {
-        return new _Request(origin, opts, handler2);
-      }
-      static [kHTTP2BuildRequest](origin, opts, handler2) {
-        const headers = opts.headers;
-        opts = { ...opts, headers: null };
-        const request2 = new _Request(origin, opts, handler2);
-        request2.headers = {};
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
-          }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(request2, headers[i], headers[i + 1], true);
-          }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(request2, key, headers[key], true);
+      [kRemoveClient](client) {
+        client.close(() => {
+          const idx = this[kClients].indexOf(client);
+          if (idx !== -1) {
+            this[kClients].splice(idx, 1);
           }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
-        }
-        return request2;
+        });
+        this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
       }
-      static [kHTTP2CopyHeaders](raw) {
-        const rawHeaders = raw.split("\r\n");
-        const headers = {};
-        for (const header of rawHeaders) {
-          const [key, value] = header.split(": ");
-          if (value == null || value.length === 0) continue;
-          if (headers[key]) headers[key] += `,${value}`;
-          else headers[key] = value;
+    };
+    module2.exports = {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js
+var require_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js"(exports2, module2) {
+    "use strict";
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kGetDispatcher
+    } = require_pool_base2();
+    var Client = require_client2();
+    var {
+      InvalidArgumentError
+    } = require_errors2();
+    var util = require_util9();
+    var { kUrl, kInterceptors } = require_symbols6();
+    var buildConnector = require_connect2();
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kConnections = /* @__PURE__ */ Symbol("connections");
+    var kFactory = /* @__PURE__ */ 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");
         }
-        return headers;
-      }
-    };
-    function processHeaderValue(key, val, skipAppend) {
-      if (val && typeof val === "object") {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      }
-      val = val != null ? `${val}` : "";
-      if (headerCharRegex.exec(val) !== null) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      }
-      return skipAppend ? val : `${key}: ${val}\r
-`;
-    }
-    function processHeader(request2, key, val, skipAppend = false) {
-      if (val && (typeof val === "object" && !Array.isArray(val))) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      } else if (val === void 0) {
-        return;
-      }
-      if (request2.host === null && key.length === 4 && key.toLowerCase() === "host") {
-        if (headerCharRegex.exec(val) !== null) {
-          throw new InvalidArgumentError(`invalid ${key} header`);
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
         }
-        request2.host = val;
-      } else if (request2.contentLength === null && key.length === 14 && key.toLowerCase() === "content-length") {
-        request2.contentLength = parseInt(val, 10);
-        if (!Number.isFinite(request2.contentLength)) {
-          throw new InvalidArgumentError("invalid content-length header");
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
         }
-      } else if (request2.contentType === null && key.length === 12 && key.toLowerCase() === "content-type") {
-        request2.contentType = val;
-        if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-        else request2.headers += processHeaderValue(key, val);
-      } else if (key.length === 17 && key.toLowerCase() === "transfer-encoding") {
-        throw new InvalidArgumentError("invalid transfer-encoding header");
-      } else if (key.length === 10 && key.toLowerCase() === "connection") {
-        const value = typeof val === "string" ? val.toLowerCase() : null;
-        if (value !== "close" && value !== "keep-alive") {
-          throw new InvalidArgumentError("invalid connection header");
-        } else if (value === "close") {
-          request2.reset = true;
+        if (typeof connect !== "function") {
+          connect = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect
+          });
         }
-      } else if (key.length === 10 && key.toLowerCase() === "keep-alive") {
-        throw new InvalidArgumentError("invalid keep-alive header");
-      } else if (key.length === 7 && key.toLowerCase() === "upgrade") {
-        throw new InvalidArgumentError("invalid upgrade header");
-      } else if (key.length === 6 && key.toLowerCase() === "expect") {
-        throw new NotSupportedError("expect header not supported");
-      } else if (tokenRegExp.exec(key) === null) {
-        throw new InvalidArgumentError("invalid header key");
-      } else {
-        if (Array.isArray(val)) {
-          for (let i = 0; i < val.length; i++) {
-            if (skipAppend) {
-              if (request2.headers[key]) request2.headers[key] += `,${processHeaderValue(key, val[i], skipAppend)}`;
-              else request2.headers[key] = processHeaderValue(key, val[i], skipAppend);
-            } else {
-              request2.headers += processHeaderValue(key, val[i]);
+        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, error3) => {
+          for (const target of targets) {
+            const idx = this[kClients].indexOf(target);
+            if (idx !== -1) {
+              this[kClients].splice(idx, 1);
             }
           }
-        } else {
-          if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-          else request2.headers += processHeaderValue(key, val);
-        }
-      }
-    }
-    module2.exports = Request;
-  }
-});
-
-// node_modules/undici/lib/dispatcher.js
-var require_dispatcher2 = __commonJS({
-  "node_modules/undici/lib/dispatcher.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("events");
-    var Dispatcher = class extends EventEmitter {
-      dispatch() {
-        throw new Error("not implemented");
-      }
-      close() {
-        throw new Error("not implemented");
+        });
       }
-      destroy() {
-        throw new Error("not implemented");
+      [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 = Dispatcher;
+    module2.exports = Pool;
   }
 });
 
-// node_modules/undici/lib/dispatcher-base.js
-var require_dispatcher_base2 = __commonJS({
-  "node_modules/undici/lib/dispatcher-base.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js
+var require_balanced_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js"(exports2, module2) {
     "use strict";
-    var Dispatcher = require_dispatcher2();
     var {
-      ClientDestroyedError,
-      ClientClosedError,
+      BalancedPoolMissingUpstreamError,
       InvalidArgumentError
     } = require_errors2();
-    var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols6();
-    var kDestroyed = /* @__PURE__ */ Symbol("destroyed");
-    var kClosed = /* @__PURE__ */ Symbol("closed");
-    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
-    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
-    var kInterceptedDispatch = /* @__PURE__ */ 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];
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    } = require_pool_base2();
+    var Pool = require_pool2();
+    var { kUrl, kInterceptors } = require_symbols6();
+    var { parseOrigin } = require_util9();
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
+    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
+    var kIndex = /* @__PURE__ */ Symbol("kIndex");
+    var kWeight = /* @__PURE__ */ Symbol("kWeight");
+    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
+    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
+    function getGreatestCommonDivisor(a, b) {
+      if (a === 0) return b;
+      while (b !== 0) {
+        const t = b;
+        b = a % b;
+        a = t;
       }
-      get interceptors() {
-        return this[kInterceptors];
+      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();
       }
-      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");
-            }
+      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[kInterceptors] = newInterceptors;
+        this._updateBalancedPoolStats();
+        return this;
       }
-      close(callback) {
-        if (callback === void 0) {
-          return new Promise((resolve5, reject) => {
-            this.close((err, data) => {
-              return err ? reject(err) : resolve5(data);
-            });
-          });
+      _updateBalancedPoolStats() {
+        let result = 0;
+        for (let i = 0; i < this[kClients].length; i++) {
+          result = getGreatestCommonDivisor(this[kClients][i][kWeight], result);
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        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);
         }
-        if (this[kDestroyed]) {
-          queueMicrotask(() => callback(new ClientDestroyedError(), null));
+        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;
         }
-        if (this[kClosed]) {
-          if (this[kOnClosed]) {
-            this[kOnClosed].push(callback);
-          } else {
-            queueMicrotask(() => callback(null, null));
-          }
+        const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b) => a && b, true);
+        if (allClientsBusy) {
           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);
+        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[kClose]().then(() => this.destroy()).then(() => {
-          queueMicrotask(onClosed);
-        });
-      }
-      destroy(err, callback) {
-        if (typeof err === "function") {
-          callback = err;
-          err = null;
         }
-        if (callback === void 0) {
-          return new Promise((resolve5, reject) => {
-            this.destroy(err, (err2, data) => {
-              return err2 ? (
-                /* istanbul ignore next: should never error */
-                reject(err2)
-              ) : resolve5(data);
-            });
-          });
+        this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight];
+        this[kIndex] = maxWeightIndex;
+        return this[kClients][maxWeightIndex];
+      }
+    };
+    module2.exports = BalancedPool;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js
+var require_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js"(exports2, module2) {
+    "use strict";
+    var { InvalidArgumentError } = require_errors2();
+    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
+    var DispatcherBase = require_dispatcher_base2();
+    var Pool = require_pool2();
+    var Client = require_client2();
+    var util = require_util9();
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    function defaultFactory(origin, opts) {
+      return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts);
+    }
+    var Agent = class extends DispatcherBase {
+      constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) {
+        super();
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
         }
-        if (this[kDestroyed]) {
-          if (this[kOnDestroyed]) {
-            this[kOnDestroyed].push(callback);
-          } else {
-            queueMicrotask(() => callback(null, null));
-          }
-          return;
+        if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
         }
-        if (!err) {
-          err = new ClientDestroyedError();
+        if (connect && typeof connect !== "function") {
+          connect = { ...connect };
         }
-        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[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);
         };
-        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);
+      get [kRunning]() {
+        let ret = 0;
+        for (const client of this[kClients].values()) {
+          ret += client[kRunning];
         }
-        let dispatch = this[kDispatch].bind(this);
-        for (let i = this[kInterceptors].length - 1; i >= 0; i--) {
-          dispatch = this[kInterceptors][i](dispatch);
+        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.");
         }
-        this[kInterceptedDispatch] = dispatch;
-        return dispatch(opts, handler2);
+        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);
       }
-      dispatch(opts, handler2) {
-        if (!handler2 || typeof handler2 !== "object") {
-          throw new InvalidArgumentError("handler must be an object");
+      async [kClose]() {
+        const closePromises = [];
+        for (const client of this[kClients].values()) {
+          closePromises.push(client.close());
         }
-        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;
+        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 = DispatcherBase;
+    module2.exports = Agent;
   }
 });
 
-// node_modules/undici/lib/core/connect.js
-var require_connect2 = __commonJS({
-  "node_modules/undici/lib/core/connect.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js
+var require_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js"(exports2, module2) {
     "use strict";
-    var net = require("net");
-    var assert = require("assert");
-    var util = require_util9();
-    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
-    var tls;
-    var SessionCache;
-    if (global.FinalizationRegistry && !process.env.NODE_V8_COVERAGE) {
-      SessionCache = class WeakSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
-          this._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);
-            }
-          });
-        }
-        get(sessionKey) {
-          const ref = this._sessionCache.get(sessionKey);
-          return ref ? ref.deref() : null;
-        }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
-            return;
-          }
-          this._sessionCache.set(sessionKey, new WeakRef(session));
-          this._sessionRegistry.register(session, sessionKey);
-        }
-      };
-    } else {
-      SessionCache = class SimpleSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
+    var { kProxy, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
+    var { URL: URL2 } = require("node:url");
+    var Agent = require_agent2();
+    var Pool = require_pool2();
+    var DispatcherBase = require_dispatcher_base2();
+    var { InvalidArgumentError, RequestAbortedError, SecureProxyConnectionError } = require_errors2();
+    var buildConnector = require_connect2();
+    var Client = require_client2();
+    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
+    var kClient = /* @__PURE__ */ Symbol("proxy client");
+    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
+    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
+    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
+    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
+    var kTunnelProxy = /* @__PURE__ */ 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");
         }
-        get(sessionKey) {
-          return this._sessionCache.get(sessionKey);
+        this[kProxyHeaders] = headers;
+        if (factory) {
+          this.#client = factory(proxyUrl, { connect });
+        } else {
+          this.#client = new Client(proxyUrl, { connect });
         }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
+      }
+      [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 (this._sessionCache.size >= this._maxCachedSessions) {
-            const { value: oldestKey } = this._sessionCache.keys().next();
-            this._sessionCache.delete(oldestKey);
-          }
-          this._sessionCache.set(sessionKey, session);
+          if (onHeaders) onHeaders.call(this, statusCode, data, resume);
+        };
+        const {
+          origin,
+          path: path7 = "/",
+          headers = {}
+        } = opts;
+        opts.path = origin + path7;
+        if (!("host" in headers) && !("Host" in headers)) {
+          const { host } = new URL2(origin);
+          headers.host = host;
         }
-      };
-    }
-    function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, ...opts }) {
-      if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
-        throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
+        opts.headers = { ...this[kProxyHeaders], ...headers };
+        return this.#client[kDispatch](opts, handler2);
       }
-      const options = { path: socketPath, ...opts };
-      const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
-      timeout = timeout == null ? 1e4 : timeout;
-      allowH2 = allowH2 != null ? allowH2 : false;
-      return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
-        let socket;
-        if (protocol === "https:") {
-          if (!tls) {
-            tls = require("tls");
-          }
-          servername = servername || options.servername || util.getServerName(host) || null;
-          const sessionKey = servername || hostname;
-          const session = sessionCache.get(sessionKey) || null;
-          assert(sessionKey);
-          socket = tls.connect({
-            highWaterMark: 16384,
-            // TLS in node can't have bigger HWM anyway...
-            ...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: port || 443,
-            host: hostname
-          });
-          socket.on("session", function(session2) {
-            sessionCache.set(sessionKey, session2);
-          });
-        } else {
-          assert(!httpSocket, "httpSocket can only be sent on TLS update");
-          socket = net.connect({
-            highWaterMark: 64 * 1024,
-            // Same as nodejs fs streams.
-            ...options,
-            localAddress,
-            port: port || 80,
-            host: hostname
-          });
+      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");
         }
-        if (options.keepAlive == null || options.keepAlive) {
-          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
-          socket.setKeepAlive(true, keepAliveInitialDelay);
+        const { clientFactory = defaultFactory } = opts;
+        if (typeof clientFactory !== "function") {
+          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
         }
-        const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout);
-        socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(null, this);
-          }
-        }).on("error", function(err) {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(err);
+        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 socket;
-      };
-    }
-    function setupTimeout(onConnectTimeout2, timeout) {
-      if (!timeout) {
-        return () => {
+          return agentFactory(origin2, options);
         };
-      }
-      let s1 = null;
-      let s2 = null;
-      const timeoutId = setTimeout(() => {
-        s1 = setImmediate(() => {
-          if (process.platform === "win32") {
-            s2 = setImmediate(() => onConnectTimeout2());
-          } else {
-            onConnectTimeout2();
+        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);
+              }
+            }
           }
         });
-      }, timeout);
-      return () => {
-        clearTimeout(timeoutId);
-        clearImmediate(s1);
-        clearImmediate(s2);
-      };
-    }
-    function onConnectTimeout(socket) {
-      util.destroy(socket, new ConnectTimeoutError());
-    }
-    module2.exports = buildConnector;
-  }
-});
-
-// node_modules/undici/lib/llhttp/utils.js
-var require_utils3 = __commonJS({
-  "node_modules/undici/lib/llhttp/utils.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.enumToMap = void 0;
-    function enumToMap(obj) {
-      const res = {};
-      Object.keys(obj).forEach((key) => {
-        const value = obj[key];
-        if (typeof value === "number") {
-          res[key] = value;
+      }
+      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 res;
-    }
-    exports2.enumToMap = enumToMap;
-  }
-});
-
-// node_modules/undici/lib/llhttp/constants.js
-var require_constants8 = __commonJS({
-  "node_modules/undici/lib/llhttp/constants.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
-    var utils_1 = require_utils3();
-    var ERROR;
-    (function(ERROR2) {
-      ERROR2[ERROR2["OK"] = 0] = "OK";
-      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
-      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
-      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
-      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
-      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
-      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
-      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
-      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
-      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
-      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
-      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
-      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
-      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
-      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
-      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
-      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
-      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
-      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
-      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
-      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
-      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
-      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
-      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
-      ERROR2[ERROR2["USER"] = 24] = "USER";
-    })(ERROR = 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];
+        return this[kAgent].dispatch(
+          {
+            ...opts,
+            headers
+          },
+          handler2
+        );
       }
-    });
-    var FINISH;
-    (function(FINISH2) {
-      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
-      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
-      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
-    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
-    exports2.ALPHA = [];
-    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
-      exports2.ALPHA.push(String.fromCharCode(i));
-      exports2.ALPHA.push(String.fromCharCode(i + 32));
-    }
-    exports2.NUM_MAP = {
-      0: 0,
-      1: 1,
-      2: 2,
-      3: 3,
-      4: 4,
-      5: 5,
-      6: 6,
-      7: 7,
-      8: 8,
-      9: 9
-    };
-    exports2.HEX_MAP = {
-      0: 0,
-      1: 1,
-      2: 2,
-      3: 3,
-      4: 4,
-      5: 5,
-      6: 6,
-      7: 7,
-      8: 8,
-      9: 9,
-      A: 10,
-      B: 11,
-      C: 12,
-      D: 13,
-      E: 14,
-      F: 15,
-      a: 10,
-      b: 11,
-      c: 12,
-      d: 13,
-      e: 14,
-      f: 15
-    };
-    exports2.NUM = [
-      "0",
-      "1",
-      "2",
-      "3",
-      "4",
-      "5",
-      "6",
-      "7",
-      "8",
-      "9"
-    ];
-    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
-    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
-    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
-    exports2.STRICT_URL_CHAR = [
-      "!",
-      '"',
-      "$",
-      "%",
-      "&",
-      "'",
-      "(",
-      ")",
-      "*",
-      "+",
-      ",",
-      "-",
-      ".",
-      "/",
-      ":",
-      ";",
-      "<",
-      "=",
-      ">",
-      "@",
-      "[",
-      "\\",
-      "]",
-      "^",
-      "_",
-      "`",
-      "{",
-      "|",
-      "}",
-      "~"
-    ].concat(exports2.ALPHANUM);
-    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
-    for (let i = 128; i <= 255; i++) {
-      exports2.URL_CHAR.push(i);
-    }
-    exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
-    exports2.STRICT_TOKEN = [
-      "!",
-      "#",
-      "$",
-      "%",
-      "&",
-      "'",
-      "*",
-      "+",
-      "-",
-      ".",
-      "^",
-      "_",
-      "`",
-      "|",
-      "~"
-    ].concat(exports2.ALPHANUM);
-    exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]);
-    exports2.HEADER_CHARS = ["	"];
-    for (let i = 32; i <= 255; i++) {
-      if (i !== 127) {
-        exports2.HEADER_CHARS.push(i);
+      /**
+       * @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();
       }
-    }
-    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
     };
+    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/handler/RedirectHandler.js
-var require_RedirectHandler = __commonJS({
-  "node_modules/undici/lib/handler/RedirectHandler.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js
+var require_env_http_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js"(exports2, module2) {
     "use strict";
-    var util = require_util9();
-    var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
-    var { InvalidArgumentError } = require_errors2();
-    var EE = require("events");
-    var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
-    var kBody = /* @__PURE__ */ Symbol("body");
-    var BodyAsyncIterable = class {
-      constructor(body) {
-        this[kBody] = body;
-        this[kBodyUsed] = false;
+    var DispatcherBase = require_dispatcher_base2();
+    var { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require_symbols6();
+    var ProxyAgent = require_proxy_agent2();
+    var Agent = require_agent2();
+    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();
       }
-      async *[Symbol.asyncIterator]() {
-        assert(!this[kBodyUsed], "disturbed");
-        this[kBodyUsed] = true;
-        yield* this[kBody];
+      [kDispatch](opts, handler2) {
+        const url = new URL(opts.origin);
+        const agent = this.#getProxyAgentForUrl(url);
+        return agent.dispatch(opts, handler2);
       }
-    };
-    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");
+      async [kClose]() {
+        await this[kNoProxyAgent].close();
+        if (!this[kHttpProxyAgent][kClosed]) {
+          await this[kHttpProxyAgent].close();
         }
-        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 = [];
-        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);
+        if (!this[kHttpsProxyAgent][kClosed]) {
+          await this[kHttpsProxyAgent].close();
         }
       }
-      onConnect(abort) {
-        this.abort = abort;
-        this.handler.onConnect(abort, { history: this.history });
+      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);
+        }
       }
-      onUpgrade(statusCode, headers, socket) {
-        this.handler.onUpgrade(statusCode, headers, socket);
+      #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];
       }
-      onError(error3) {
-        this.handler.onError(error3);
+      #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;
       }
-      onHeaders(statusCode, headers, resume, statusText) {
-        this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers);
-        if (this.opts.origin) {
-          this.history.push(new URL(this.opts.path, this.opts.origin));
+      #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
+          });
         }
-        if (!this.location) {
-          return this.handler.onHeaders(statusCode, headers, resume, statusText);
+        this.#noProxyValue = noProxyValue;
+        this.#noProxyEntries = noProxyEntries;
+      }
+      get #noProxyChanged() {
+        if (this.#opts.noProxy !== void 0) {
+          return false;
         }
-        const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)));
-        const path7 = search ? `${pathname}${search}` : pathname;
-        this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
-        this.opts.path = path7;
-        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;
+        return this.#noProxyValue !== this.#noProxyEnv;
+      }
+      get #noProxyEnv() {
+        return process.env.no_proxy ?? process.env.NO_PROXY ?? "";
+      }
+    };
+    module2.exports = EnvHttpProxyAgent;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/handler/retry-handler.js
+var require_retry_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/retry-handler.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { kRetryHandlerDefaultRetry } = require_symbols6();
+    var { RequestRetryError } = require_errors2();
+    var {
+      isDisturbed,
+      parseHeaders,
+      parseRangeHeader,
+      wrapRequestBody
+    } = require_util9();
+    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();
         }
       }
-      onData(chunk) {
-        if (this.location) {
-        } else {
-          return this.handler.onData(chunk);
+      onUpgrade(statusCode, headers, socket) {
+        if (this.handler.onUpgrade) {
+          this.handler.onUpgrade(statusCode, headers, socket);
         }
       }
-      onComplete(trailers) {
-        if (this.location) {
-          this.location = null;
-          this.abort = null;
-          this.dispatch(this.opts, this);
+      onConnect(abort) {
+        if (this.aborted) {
+          abort(this.reason);
         } else {
-          this.handler.onComplete(trailers);
+          this.abort = abort;
         }
       }
       onBodySent(chunk) {
-        if (this.handler.onBodySent) {
-          this.handler.onBodySent(chunk);
-        }
-      }
-    };
-    function parseLocation(statusCode, headers) {
-      if (redirectableStatusCodes.indexOf(statusCode) === -1) {
-        return null;
+        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
       }
-      for (let i = 0; i < headers.length; i += 2) {
-        if (headers[i].toString().toLowerCase() === "location") {
-          return headers[i + 1];
+      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);
       }
-    }
-    function shouldRemoveHeader(header, removeContent, unknownOrigin) {
-      if (header.length === 4) {
-        return util.headerNameToString(header) === "host";
+      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;
       }
-      if (removeContent && util.headerNameToString(header).startsWith("content-")) {
-        return true;
+      onData(chunk) {
+        this.start += chunk.length;
+        return this.handler.onData(chunk);
       }
-      if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) {
-        const name = util.headerNameToString(header);
-        return name === "authorization" || name === "cookie" || name === "proxy-authorization";
+      onComplete(rawTrailers) {
+        this.retryCount = 0;
+        return this.handler.onComplete(rawTrailers);
       }
-      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]);
+      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);
           }
-        }
-      } else if (headers && typeof headers === "object") {
-        for (const key of Object.keys(headers)) {
-          if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {
-            ret.push(key, headers[key]);
+          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);
           }
         }
-      } else {
-        assert(headers == null, "headers must be an object or an array");
       }
-      return ret;
-    }
-    module2.exports = RedirectHandler;
+    };
+    module2.exports = RetryHandler;
   }
 });
 
-// node_modules/undici/lib/interceptor/redirectInterceptor.js
-var require_redirectInterceptor = __commonJS({
-  "node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js
+var require_retry_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js"(exports2, module2) {
     "use strict";
-    var RedirectHandler = require_RedirectHandler();
-    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/llhttp/llhttp-wasm.js
-var require_llhttp_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAQDscBAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxweHyAhIyUoP0BBREVGR0hJSktMTU9QUVJT3gNXWVtcXWBiZWZnaGlqa2xtb3BxcnN0dXZ3eHl6e3x9foABggGFAYYBhwGJAYsBjAGNAY4BjwGQAZEBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBuAG5AboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAc8B0AHRAdIB0wHUAdUB1gHXAdgB2QHaAdsB3AHdAd4B4AHhAeIB4wHkAeUB5gHnAegB6QHqAesB7AHtAe4B7wHwAfEB8gHzAZkCpAKwAv4C/gILIAEiBCACRw3zAUHdASEQDP8DCyABIhAgAkcN3QFBwwEhEAz+AwsgASIBIAJHDZABQfcAIRAM/QMLIAEiASACRw2GAUHvACEQDPwDCyABIgEgAkcNf0HqACEQDPsDCyABIgEgAkcNe0HoACEQDPoDCyABIgEgAkcNeEHmACEQDPkDCyABIgEgAkcNGkEYIRAM+AMLIAEiASACRw0UQRIhEAz3AwsgASIBIAJHDVlBxQAhEAz2AwsgASIBIAJHDUpBPyEQDPUDCyABIgEgAkcNSEE8IRAM9AMLIAEiASACRw1BQTEhEAzzAwsgAC0ALkEBRg3rAwyHAgsgACABIgEgAhDAgICAAEEBRw3mASAAQgA3AyAM5wELIAAgASIBIAIQtICAgAAiEA3nASABIQEM9QILAkAgASIBIAJHDQBBBiEQDPADCyAAIAFBAWoiASACELuAgIAAIhAN6AEgASEBDDELIABCADcDIEESIRAM1QMLIAEiECACRw0rQR0hEAztAwsCQCABIgEgAkYNACABQQFqIQFBECEQDNQDC0EHIRAM7AMLIABCACAAKQMgIhEgAiABIhBrrSISfSITIBMgEVYbNwMgIBEgElYiFEUN5QFBCCEQDOsDCwJAIAEiASACRg0AIABBiYCAgAA2AgggACABNgIEIAEhAUEUIRAM0gMLQQkhEAzqAwsgASEBIAApAyBQDeQBIAEhAQzyAgsCQCABIgEgAkcNAEELIRAM6QMLIAAgAUEBaiIBIAIQtoCAgAAiEA3lASABIQEM8gILIAAgASIBIAIQuICAgAAiEA3lASABIQEM8gILIAAgASIBIAIQuICAgAAiEA3mASABIQEMDQsgACABIgEgAhC6gICAACIQDecBIAEhAQzwAgsCQCABIgEgAkcNAEEPIRAM5QMLIAEtAAAiEEE7Rg0IIBBBDUcN6AEgAUEBaiEBDO8CCyAAIAEiASACELqAgIAAIhAN6AEgASEBDPICCwNAAkAgAS0AAEHwtYCAAGotAAAiEEEBRg0AIBBBAkcN6wEgACgCBCEQIABBADYCBCAAIBAgAUEBaiIBELmAgIAAIhAN6gEgASEBDPQCCyABQQFqIgEgAkcNAAtBEiEQDOIDCyAAIAEiASACELqAgIAAIhAN6QEgASEBDAoLIAEiASACRw0GQRshEAzgAwsCQCABIgEgAkcNAEEWIRAM4AMLIABBioCAgAA2AgggACABNgIEIAAgASACELiAgIAAIhAN6gEgASEBQSAhEAzGAwsCQCABIgEgAkYNAANAAkAgAS0AAEHwt4CAAGotAAAiEEECRg0AAkAgEEF/ag4E5QHsAQDrAewBCyABQQFqIQFBCCEQDMgDCyABQQFqIgEgAkcNAAtBFSEQDN8DC0EVIRAM3gMLA0ACQCABLQAAQfC5gIAAai0AACIQQQJGDQAgEEF/ag4E3gHsAeAB6wHsAQsgAUEBaiIBIAJHDQALQRghEAzdAwsCQCABIgEgAkYNACAAQYuAgIAANgIIIAAgATYCBCABIQFBByEQDMQDC0EZIRAM3AMLIAFBAWohAQwCCwJAIAEiFCACRw0AQRohEAzbAwsgFCEBAkAgFC0AAEFzag4U3QLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gIA7gILQQAhECAAQQA2AhwgAEGvi4CAADYCECAAQQI2AgwgACAUQQFqNgIUDNoDCwJAIAEtAAAiEEE7Rg0AIBBBDUcN6AEgAUEBaiEBDOUCCyABQQFqIQELQSIhEAy/AwsCQCABIhAgAkcNAEEcIRAM2AMLQgAhESAQIQEgEC0AAEFQag435wHmAQECAwQFBgcIAAAAAAAAAAkKCwwNDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADxAREhMUAAtBHiEQDL0DC0ICIREM5QELQgMhEQzkAQtCBCERDOMBC0IFIREM4gELQgYhEQzhAQtCByERDOABC0IIIREM3wELQgkhEQzeAQtCCiERDN0BC0ILIREM3AELQgwhEQzbAQtCDSERDNoBC0IOIREM2QELQg8hEQzYAQtCCiERDNcBC0ILIREM1gELQgwhEQzVAQtCDSERDNQBC0IOIREM0wELQg8hEQzSAQtCACERAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAQLQAAQVBqDjflAeQBAAECAwQFBgfmAeYB5gHmAeYB5gHmAQgJCgsMDeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gEODxAREhPmAQtCAiERDOQBC0IDIREM4wELQgQhEQziAQtCBSERDOEBC0IGIREM4AELQgchEQzfAQtCCCERDN4BC0IJIREM3QELQgohEQzcAQtCCyERDNsBC0IMIREM2gELQg0hEQzZAQtCDiERDNgBC0IPIREM1wELQgohEQzWAQtCCyERDNUBC0IMIREM1AELQg0hEQzTAQtCDiERDNIBC0IPIREM0QELIABCACAAKQMgIhEgAiABIhBrrSISfSITIBMgEVYbNwMgIBEgElYiFEUN0gFBHyEQDMADCwJAIAEiASACRg0AIABBiYCAgAA2AgggACABNgIEIAEhAUEkIRAMpwMLQSAhEAy/AwsgACABIhAgAhC+gICAAEF/ag4FtgEAxQIB0QHSAQtBESEQDKQDCyAAQQE6AC8gECEBDLsDCyABIgEgAkcN0gFBJCEQDLsDCyABIg0gAkcNHkHGACEQDLoDCyAAIAEiASACELKAgIAAIhAN1AEgASEBDLUBCyABIhAgAkcNJkHQACEQDLgDCwJAIAEiASACRw0AQSghEAy4AwsgAEEANgIEIABBjICAgAA2AgggACABIAEQsYCAgAAiEA3TASABIQEM2AELAkAgASIQIAJHDQBBKSEQDLcDCyAQLQAAIgFBIEYNFCABQQlHDdMBIBBBAWohAQwVCwJAIAEiASACRg0AIAFBAWohAQwXC0EqIRAMtQMLAkAgASIQIAJHDQBBKyEQDLUDCwJAIBAtAAAiAUEJRg0AIAFBIEcN1QELIAAtACxBCEYN0wEgECEBDJEDCwJAIAEiASACRw0AQSwhEAy0AwsgAS0AAEEKRw3VASABQQFqIQEMyQILIAEiDiACRw3VAUEvIRAMsgMLA0ACQCABLQAAIhBBIEYNAAJAIBBBdmoOBADcAdwBANoBCyABIQEM4AELIAFBAWoiASACRw0AC0ExIRAMsQMLQTIhECABIhQgAkYNsAMgAiAUayAAKAIAIgFqIRUgFCABa0EDaiEWAkADQCAULQAAIhdBIHIgFyAXQb9/akH/AXFBGkkbQf8BcSABQfC7gIAAai0AAEcNAQJAIAFBA0cNAEEGIQEMlgMLIAFBAWohASAUQQFqIhQgAkcNAAsgACAVNgIADLEDCyAAQQA2AgAgFCEBDNkBC0EzIRAgASIUIAJGDa8DIAIgFGsgACgCACIBaiEVIBQgAWtBCGohFgJAA0AgFC0AACIXQSByIBcgF0G/f2pB/wFxQRpJG0H/AXEgAUH0u4CAAGotAABHDQECQCABQQhHDQBBBSEBDJUDCyABQQFqIQEgFEEBaiIUIAJHDQALIAAgFTYCAAywAwsgAEEANgIAIBQhAQzYAQtBNCEQIAEiFCACRg2uAyACIBRrIAAoAgAiAWohFSAUIAFrQQVqIRYCQANAIBQtAAAiF0EgciAXIBdBv39qQf8BcUEaSRtB/wFxIAFB0MKAgABqLQAARw0BAkAgAUEFRw0AQQchAQyUAwsgAUEBaiEBIBRBAWoiFCACRw0ACyAAIBU2AgAMrwMLIABBADYCACAUIQEM1wELAkAgASIBIAJGDQADQAJAIAEtAABBgL6AgABqLQAAIhBBAUYNACAQQQJGDQogASEBDN0BCyABQQFqIgEgAkcNAAtBMCEQDK4DC0EwIRAMrQMLAkAgASIBIAJGDQADQAJAIAEtAAAiEEEgRg0AIBBBdmoOBNkB2gHaAdkB2gELIAFBAWoiASACRw0AC0E4IRAMrQMLQTghEAysAwsDQAJAIAEtAAAiEEEgRg0AIBBBCUcNAwsgAUEBaiIBIAJHDQALQTwhEAyrAwsDQAJAIAEtAAAiEEEgRg0AAkACQCAQQXZqDgTaAQEB2gEACyAQQSxGDdsBCyABIQEMBAsgAUEBaiIBIAJHDQALQT8hEAyqAwsgASEBDNsBC0HAACEQIAEiFCACRg2oAyACIBRrIAAoAgAiAWohFiAUIAFrQQZqIRcCQANAIBQtAABBIHIgAUGAwICAAGotAABHDQEgAUEGRg2OAyABQQFqIQEgFEEBaiIUIAJHDQALIAAgFjYCAAypAwsgAEEANgIAIBQhAQtBNiEQDI4DCwJAIAEiDyACRw0AQcEAIRAMpwMLIABBjICAgAA2AgggACAPNgIEIA8hASAALQAsQX9qDgTNAdUB1wHZAYcDCyABQQFqIQEMzAELAkAgASIBIAJGDQADQAJAIAEtAAAiEEEgciAQIBBBv39qQf8BcUEaSRtB/wFxIhBBCUYNACAQQSBGDQACQAJAAkACQCAQQZ1/ag4TAAMDAwMDAwMBAwMDAwMDAwMDAgMLIAFBAWohAUExIRAMkQMLIAFBAWohAUEyIRAMkAMLIAFBAWohAUEzIRAMjwMLIAEhAQzQAQsgAUEBaiIBIAJHDQALQTUhEAylAwtBNSEQDKQDCwJAIAEiASACRg0AA0ACQCABLQAAQYC8gIAAai0AAEEBRg0AIAEhAQzTAQsgAUEBaiIBIAJHDQALQT0hEAykAwtBPSEQDKMDCyAAIAEiASACELCAgIAAIhAN1gEgASEBDAELIBBBAWohAQtBPCEQDIcDCwJAIAEiASACRw0AQcIAIRAMoAMLAkADQAJAIAEtAABBd2oOGAAC/gL+AoQD/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4CAP4CCyABQQFqIgEgAkcNAAtBwgAhEAygAwsgAUEBaiEBIAAtAC1BAXFFDb0BIAEhAQtBLCEQDIUDCyABIgEgAkcN0wFBxAAhEAydAwsDQAJAIAEtAABBkMCAgABqLQAAQQFGDQAgASEBDLcCCyABQQFqIgEgAkcNAAtBxQAhEAycAwsgDS0AACIQQSBGDbMBIBBBOkcNgQMgACgCBCEBIABBADYCBCAAIAEgDRCvgICAACIBDdABIA1BAWohAQyzAgtBxwAhECABIg0gAkYNmgMgAiANayAAKAIAIgFqIRYgDSABa0EFaiEXA0AgDS0AACIUQSByIBQgFEG/f2pB/wFxQRpJG0H/AXEgAUGQwoCAAGotAABHDYADIAFBBUYN9AIgAUEBaiEBIA1BAWoiDSACRw0ACyAAIBY2AgAMmgMLQcgAIRAgASINIAJGDZkDIAIgDWsgACgCACIBaiEWIA0gAWtBCWohFwNAIA0tAAAiFEEgciAUIBRBv39qQf8BcUEaSRtB/wFxIAFBlsKAgABqLQAARw3/AgJAIAFBCUcNAEECIQEM9QILIAFBAWohASANQQFqIg0gAkcNAAsgACAWNgIADJkDCwJAIAEiDSACRw0AQckAIRAMmQMLAkACQCANLQAAIgFBIHIgASABQb9/akH/AXFBGkkbQf8BcUGSf2oOBwCAA4ADgAOAA4ADAYADCyANQQFqIQFBPiEQDIADCyANQQFqIQFBPyEQDP8CC0HKACEQIAEiDSACRg2XAyACIA1rIAAoAgAiAWohFiANIAFrQQFqIRcDQCANLQAAIhRBIHIgFCAUQb9/akH/AXFBGkkbQf8BcSABQaDCgIAAai0AAEcN/QIgAUEBRg3wAiABQQFqIQEgDUEBaiINIAJHDQALIAAgFjYCAAyXAwtBywAhECABIg0gAkYNlgMgAiANayAAKAIAIgFqIRYgDSABa0EOaiEXA0AgDS0AACIUQSByIBQgFEG/f2pB/wFxQRpJG0H/AXEgAUGiwoCAAGotAABHDfwCIAFBDkYN8AIgAUEBaiEBIA1BAWoiDSACRw0ACyAAIBY2AgAMlgMLQcwAIRAgASINIAJGDZUDIAIgDWsgACgCACIBaiEWIA0gAWtBD2ohFwNAIA0tAAAiFEEgciAUIBRBv39qQf8BcUEaSRtB/wFxIAFBwMKAgABqLQAARw37AgJAIAFBD0cNAEEDIQEM8QILIAFBAWohASANQQFqIg0gAkcNAAsgACAWNgIADJUDC0HNACEQIAEiDSACRg2UAyACIA1rIAAoAgAiAWohFiANIAFrQQVqIRcDQCANLQAAIhRBIHIgFCAUQb9/akH/AXFBGkkbQf8BcSABQdDCgIAAai0AAEcN+gICQCABQQVHDQBBBCEBDPACCyABQQFqIQEgDUEBaiINIAJHDQALIAAgFjYCAAyUAwsCQCABIg0gAkcNAEHOACEQDJQDCwJAAkACQAJAIA0tAAAiAUEgciABIAFBv39qQf8BcUEaSRtB/wFxQZ1/ag4TAP0C/QL9Av0C/QL9Av0C/QL9Av0C/QL9AgH9Av0C/QICA/0CCyANQQFqIQFBwQAhEAz9AgsgDUEBaiEBQcIAIRAM/AILIA1BAWohAUHDACEQDPsCCyANQQFqIQFBxAAhEAz6AgsCQCABIgEgAkYNACAAQY2AgIAANgIIIAAgATYCBCABIQFBxQAhEAz6AgtBzwAhEAySAwsgECEBAkACQCAQLQAAQXZqDgQBqAKoAgCoAgsgEEEBaiEBC0EnIRAM+AILAkAgASIBIAJHDQBB0QAhEAyRAwsCQCABLQAAQSBGDQAgASEBDI0BCyABQQFqIQEgAC0ALUEBcUUNxwEgASEBDIwBCyABIhcgAkcNyAFB0gAhEAyPAwtB0wAhECABIhQgAkYNjgMgAiAUayAAKAIAIgFqIRYgFCABa0EBaiEXA0AgFC0AACABQdbCgIAAai0AAEcNzAEgAUEBRg3HASABQQFqIQEgFEEBaiIUIAJHDQALIAAgFjYCAAyOAwsCQCABIgEgAkcNAEHVACEQDI4DCyABLQAAQQpHDcwBIAFBAWohAQzHAQsCQCABIgEgAkcNAEHWACEQDI0DCwJAAkAgAS0AAEF2ag4EAM0BzQEBzQELIAFBAWohAQzHAQsgAUEBaiEBQcoAIRAM8wILIAAgASIBIAIQroCAgAAiEA3LASABIQFBzQAhEAzyAgsgAC0AKUEiRg2FAwymAgsCQCABIgEgAkcNAEHbACEQDIoDC0EAIRRBASEXQQEhFkEAIRACQAJAAkACQAJAAkACQAJAAkAgAS0AAEFQag4K1AHTAQABAgMEBQYI1QELQQIhEAwGC0EDIRAMBQtBBCEQDAQLQQUhEAwDC0EGIRAMAgtBByEQDAELQQghEAtBACEXQQAhFkEAIRQMzAELQQkhEEEBIRRBACEXQQAhFgzLAQsCQCABIgEgAkcNAEHdACEQDIkDCyABLQAAQS5HDcwBIAFBAWohAQymAgsgASIBIAJHDcwBQd8AIRAMhwMLAkAgASIBIAJGDQAgAEGOgICAADYCCCAAIAE2AgQgASEBQdAAIRAM7gILQeAAIRAMhgMLQeEAIRAgASIBIAJGDYUDIAIgAWsgACgCACIUaiEWIAEgFGtBA2ohFwNAIAEtAAAgFEHiwoCAAGotAABHDc0BIBRBA0YNzAEgFEEBaiEUIAFBAWoiASACRw0ACyAAIBY2AgAMhQMLQeIAIRAgASIBIAJGDYQDIAIgAWsgACgCACIUaiEWIAEgFGtBAmohFwNAIAEtAAAgFEHmwoCAAGotAABHDcwBIBRBAkYNzgEgFEEBaiEUIAFBAWoiASACRw0ACyAAIBY2AgAMhAMLQeMAIRAgASIBIAJGDYMDIAIgAWsgACgCACIUaiEWIAEgFGtBA2ohFwNAIAEtAAAgFEHpwoCAAGotAABHDcsBIBRBA0YNzgEgFEEBaiEUIAFBAWoiASACRw0ACyAAIBY2AgAMgwMLAkAgASIBIAJHDQBB5QAhEAyDAwsgACABQQFqIgEgAhCogICAACIQDc0BIAEhAUHWACEQDOkCCwJAIAEiASACRg0AA0ACQCABLQAAIhBBIEYNAAJAAkACQCAQQbh/ag4LAAHPAc8BzwHPAc8BzwHPAc8BAs8BCyABQQFqIQFB0gAhEAztAgsgAUEBaiEBQdMAIRAM7AILIAFBAWohAUHUACEQDOsCCyABQQFqIgEgAkcNAAtB5AAhEAyCAwtB5AAhEAyBAwsDQAJAIAEtAABB8MKAgABqLQAAIhBBAUYNACAQQX5qDgPPAdAB0QHSAQsgAUEBaiIBIAJHDQALQeYAIRAMgAMLAkAgASIBIAJGDQAgAUEBaiEBDAMLQecAIRAM/wILA0ACQCABLQAAQfDEgIAAai0AACIQQQFGDQACQCAQQX5qDgTSAdMB1AEA1QELIAEhAUHXACEQDOcCCyABQQFqIgEgAkcNAAtB6AAhEAz+AgsCQCABIgEgAkcNAEHpACEQDP4CCwJAIAEtAAAiEEF2ag4augHVAdUBvAHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHKAdUB1QEA0wELIAFBAWohAQtBBiEQDOMCCwNAAkAgAS0AAEHwxoCAAGotAABBAUYNACABIQEMngILIAFBAWoiASACRw0AC0HqACEQDPsCCwJAIAEiASACRg0AIAFBAWohAQwDC0HrACEQDPoCCwJAIAEiASACRw0AQewAIRAM+gILIAFBAWohAQwBCwJAIAEiASACRw0AQe0AIRAM+QILIAFBAWohAQtBBCEQDN4CCwJAIAEiFCACRw0AQe4AIRAM9wILIBQhAQJAAkACQCAULQAAQfDIgIAAai0AAEF/ag4H1AHVAdYBAJwCAQLXAQsgFEEBaiEBDAoLIBRBAWohAQzNAQtBACEQIABBADYCHCAAQZuSgIAANgIQIABBBzYCDCAAIBRBAWo2AhQM9gILAkADQAJAIAEtAABB8MiAgABqLQAAIhBBBEYNAAJAAkAgEEF/ag4H0gHTAdQB2QEABAHZAQsgASEBQdoAIRAM4AILIAFBAWohAUHcACEQDN8CCyABQQFqIgEgAkcNAAtB7wAhEAz2AgsgAUEBaiEBDMsBCwJAIAEiFCACRw0AQfAAIRAM9QILIBQtAABBL0cN1AEgFEEBaiEBDAYLAkAgASIUIAJHDQBB8QAhEAz0AgsCQCAULQAAIgFBL0cNACAUQQFqIQFB3QAhEAzbAgsgAUF2aiIEQRZLDdMBQQEgBHRBiYCAAnFFDdMBDMoCCwJAIAEiASACRg0AIAFBAWohAUHeACEQDNoCC0HyACEQDPICCwJAIAEiFCACRw0AQfQAIRAM8gILIBQhAQJAIBQtAABB8MyAgABqLQAAQX9qDgPJApQCANQBC0HhACEQDNgCCwJAIAEiFCACRg0AA0ACQCAULQAAQfDKgIAAai0AACIBQQNGDQACQCABQX9qDgLLAgDVAQsgFCEBQd8AIRAM2gILIBRBAWoiFCACRw0AC0HzACEQDPECC0HzACEQDPACCwJAIAEiASACRg0AIABBj4CAgAA2AgggACABNgIEIAEhAUHgACEQDNcCC0H1ACEQDO8CCwJAIAEiASACRw0AQfYAIRAM7wILIABBj4CAgAA2AgggACABNgIEIAEhAQtBAyEQDNQCCwNAIAEtAABBIEcNwwIgAUEBaiIBIAJHDQALQfcAIRAM7AILAkAgASIBIAJHDQBB+AAhEAzsAgsgAS0AAEEgRw3OASABQQFqIQEM7wELIAAgASIBIAIQrICAgAAiEA3OASABIQEMjgILAkAgASIEIAJHDQBB+gAhEAzqAgsgBC0AAEHMAEcN0QEgBEEBaiEBQRMhEAzPAQsCQCABIgQgAkcNAEH7ACEQDOkCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRADQCAELQAAIAFB8M6AgABqLQAARw3QASABQQVGDc4BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQfsAIRAM6AILAkAgASIEIAJHDQBB/AAhEAzoAgsCQAJAIAQtAABBvX9qDgwA0QHRAdEB0QHRAdEB0QHRAdEB0QEB0QELIARBAWohAUHmACEQDM8CCyAEQQFqIQFB5wAhEAzOAgsCQCABIgQgAkcNAEH9ACEQDOcCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDc8BIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEH9ACEQDOcCCyAAQQA2AgAgEEEBaiEBQRAhEAzMAQsCQCABIgQgAkcNAEH+ACEQDOYCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUH2zoCAAGotAABHDc4BIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEH+ACEQDOYCCyAAQQA2AgAgEEEBaiEBQRYhEAzLAQsCQCABIgQgAkcNAEH/ACEQDOUCCyACIARrIAAoAgAiAWohFCAEIAFrQQNqIRACQANAIAQtAAAgAUH8zoCAAGotAABHDc0BIAFBA0YNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEH/ACEQDOUCCyAAQQA2AgAgEEEBaiEBQQUhEAzKAQsCQCABIgQgAkcNAEGAASEQDOQCCyAELQAAQdkARw3LASAEQQFqIQFBCCEQDMkBCwJAIAEiBCACRw0AQYEBIRAM4wILAkACQCAELQAAQbJ/ag4DAMwBAcwBCyAEQQFqIQFB6wAhEAzKAgsgBEEBaiEBQewAIRAMyQILAkAgASIEIAJHDQBBggEhEAziAgsCQAJAIAQtAABBuH9qDggAywHLAcsBywHLAcsBAcsBCyAEQQFqIQFB6gAhEAzJAgsgBEEBaiEBQe0AIRAMyAILAkAgASIEIAJHDQBBgwEhEAzhAgsgAiAEayAAKAIAIgFqIRAgBCABa0ECaiEUAkADQCAELQAAIAFBgM+AgABqLQAARw3JASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBA2AgBBgwEhEAzhAgtBACEQIABBADYCACAUQQFqIQEMxgELAkAgASIEIAJHDQBBhAEhEAzgAgsgAiAEayAAKAIAIgFqIRQgBCABa0EEaiEQAkADQCAELQAAIAFBg8+AgABqLQAARw3IASABQQRGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBhAEhEAzgAgsgAEEANgIAIBBBAWohAUEjIRAMxQELAkAgASIEIAJHDQBBhQEhEAzfAgsCQAJAIAQtAABBtH9qDggAyAHIAcgByAHIAcgBAcgBCyAEQQFqIQFB7wAhEAzGAgsgBEEBaiEBQfAAIRAMxQILAkAgASIEIAJHDQBBhgEhEAzeAgsgBC0AAEHFAEcNxQEgBEEBaiEBDIMCCwJAIAEiBCACRw0AQYcBIRAM3QILIAIgBGsgACgCACIBaiEUIAQgAWtBA2ohEAJAA0AgBC0AACABQYjPgIAAai0AAEcNxQEgAUEDRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYcBIRAM3QILIABBADYCACAQQQFqIQFBLSEQDMIBCwJAIAEiBCACRw0AQYgBIRAM3AILIAIgBGsgACgCACIBaiEUIAQgAWtBCGohEAJAA0AgBC0AACABQdDPgIAAai0AAEcNxAEgAUEIRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYgBIRAM3AILIABBADYCACAQQQFqIQFBKSEQDMEBCwJAIAEiASACRw0AQYkBIRAM2wILQQEhECABLQAAQd8ARw3AASABQQFqIQEMgQILAkAgASIEIAJHDQBBigEhEAzaAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQA0AgBC0AACABQYzPgIAAai0AAEcNwQEgAUEBRg2vAiABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGKASEQDNkCCwJAIAEiBCACRw0AQYsBIRAM2QILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQY7PgIAAai0AAEcNwQEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYsBIRAM2QILIABBADYCACAQQQFqIQFBAiEQDL4BCwJAIAEiBCACRw0AQYwBIRAM2AILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfDPgIAAai0AAEcNwAEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYwBIRAM2AILIABBADYCACAQQQFqIQFBHyEQDL0BCwJAIAEiBCACRw0AQY0BIRAM1wILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfLPgIAAai0AAEcNvwEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQY0BIRAM1wILIABBADYCACAQQQFqIQFBCSEQDLwBCwJAIAEiBCACRw0AQY4BIRAM1gILAkACQCAELQAAQbd/ag4HAL8BvwG/Ab8BvwEBvwELIARBAWohAUH4ACEQDL0CCyAEQQFqIQFB+QAhEAy8AgsCQCABIgQgAkcNAEGPASEQDNUCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUGRz4CAAGotAABHDb0BIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGPASEQDNUCCyAAQQA2AgAgEEEBaiEBQRghEAy6AQsCQCABIgQgAkcNAEGQASEQDNQCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUGXz4CAAGotAABHDbwBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGQASEQDNQCCyAAQQA2AgAgEEEBaiEBQRchEAy5AQsCQCABIgQgAkcNAEGRASEQDNMCCyACIARrIAAoAgAiAWohFCAEIAFrQQZqIRACQANAIAQtAAAgAUGaz4CAAGotAABHDbsBIAFBBkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGRASEQDNMCCyAAQQA2AgAgEEEBaiEBQRUhEAy4AQsCQCABIgQgAkcNAEGSASEQDNICCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUGhz4CAAGotAABHDboBIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGSASEQDNICCyAAQQA2AgAgEEEBaiEBQR4hEAy3AQsCQCABIgQgAkcNAEGTASEQDNECCyAELQAAQcwARw24ASAEQQFqIQFBCiEQDLYBCwJAIAQgAkcNAEGUASEQDNACCwJAAkAgBC0AAEG/f2oODwC5AbkBuQG5AbkBuQG5AbkBuQG5AbkBuQG5AQG5AQsgBEEBaiEBQf4AIRAMtwILIARBAWohAUH/ACEQDLYCCwJAIAQgAkcNAEGVASEQDM8CCwJAAkAgBC0AAEG/f2oOAwC4AQG4AQsgBEEBaiEBQf0AIRAMtgILIARBAWohBEGAASEQDLUCCwJAIAQgAkcNAEGWASEQDM4CCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUGnz4CAAGotAABHDbYBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGWASEQDM4CCyAAQQA2AgAgEEEBaiEBQQshEAyzAQsCQCAEIAJHDQBBlwEhEAzNAgsCQAJAAkACQCAELQAAQVNqDiMAuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AQG4AbgBuAG4AbgBArgBuAG4AQO4AQsgBEEBaiEBQfsAIRAMtgILIARBAWohAUH8ACEQDLUCCyAEQQFqIQRBgQEhEAy0AgsgBEEBaiEEQYIBIRAMswILAkAgBCACRw0AQZgBIRAMzAILIAIgBGsgACgCACIBaiEUIAQgAWtBBGohEAJAA0AgBC0AACABQanPgIAAai0AAEcNtAEgAUEERg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZgBIRAMzAILIABBADYCACAQQQFqIQFBGSEQDLEBCwJAIAQgAkcNAEGZASEQDMsCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUGuz4CAAGotAABHDbMBIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGZASEQDMsCCyAAQQA2AgAgEEEBaiEBQQYhEAywAQsCQCAEIAJHDQBBmgEhEAzKAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFBtM+AgABqLQAARw2yASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBmgEhEAzKAgsgAEEANgIAIBBBAWohAUEcIRAMrwELAkAgBCACRw0AQZsBIRAMyQILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQbbPgIAAai0AAEcNsQEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZsBIRAMyQILIABBADYCACAQQQFqIQFBJyEQDK4BCwJAIAQgAkcNAEGcASEQDMgCCwJAAkAgBC0AAEGsf2oOAgABsQELIARBAWohBEGGASEQDK8CCyAEQQFqIQRBhwEhEAyuAgsCQCAEIAJHDQBBnQEhEAzHAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFBuM+AgABqLQAARw2vASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBnQEhEAzHAgsgAEEANgIAIBBBAWohAUEmIRAMrAELAkAgBCACRw0AQZ4BIRAMxgILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQbrPgIAAai0AAEcNrgEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZ4BIRAMxgILIABBADYCACAQQQFqIQFBAyEQDKsBCwJAIAQgAkcNAEGfASEQDMUCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDa0BIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGfASEQDMUCCyAAQQA2AgAgEEEBaiEBQQwhEAyqAQsCQCAEIAJHDQBBoAEhEAzEAgsgAiAEayAAKAIAIgFqIRQgBCABa0EDaiEQAkADQCAELQAAIAFBvM+AgABqLQAARw2sASABQQNGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBoAEhEAzEAgsgAEEANgIAIBBBAWohAUENIRAMqQELAkAgBCACRw0AQaEBIRAMwwILAkACQCAELQAAQbp/ag4LAKwBrAGsAawBrAGsAawBrAGsAQGsAQsgBEEBaiEEQYsBIRAMqgILIARBAWohBEGMASEQDKkCCwJAIAQgAkcNAEGiASEQDMICCyAELQAAQdAARw2pASAEQQFqIQQM6QELAkAgBCACRw0AQaMBIRAMwQILAkACQCAELQAAQbd/ag4HAaoBqgGqAaoBqgEAqgELIARBAWohBEGOASEQDKgCCyAEQQFqIQFBIiEQDKYBCwJAIAQgAkcNAEGkASEQDMACCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUHAz4CAAGotAABHDagBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGkASEQDMACCyAAQQA2AgAgEEEBaiEBQR0hEAylAQsCQCAEIAJHDQBBpQEhEAy/AgsCQAJAIAQtAABBrn9qDgMAqAEBqAELIARBAWohBEGQASEQDKYCCyAEQQFqIQFBBCEQDKQBCwJAIAQgAkcNAEGmASEQDL4CCwJAAkACQAJAAkAgBC0AAEG/f2oOFQCqAaoBqgGqAaoBqgGqAaoBqgGqAQGqAaoBAqoBqgEDqgGqAQSqAQsgBEEBaiEEQYgBIRAMqAILIARBAWohBEGJASEQDKcCCyAEQQFqIQRBigEhEAymAgsgBEEBaiEEQY8BIRAMpQILIARBAWohBEGRASEQDKQCCwJAIAQgAkcNAEGnASEQDL0CCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDaUBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGnASEQDL0CCyAAQQA2AgAgEEEBaiEBQREhEAyiAQsCQCAEIAJHDQBBqAEhEAy8AgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFBws+AgABqLQAARw2kASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBqAEhEAy8AgsgAEEANgIAIBBBAWohAUEsIRAMoQELAkAgBCACRw0AQakBIRAMuwILIAIgBGsgACgCACIBaiEUIAQgAWtBBGohEAJAA0AgBC0AACABQcXPgIAAai0AAEcNowEgAUEERg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQakBIRAMuwILIABBADYCACAQQQFqIQFBKyEQDKABCwJAIAQgAkcNAEGqASEQDLoCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHKz4CAAGotAABHDaIBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGqASEQDLoCCyAAQQA2AgAgEEEBaiEBQRQhEAyfAQsCQCAEIAJHDQBBqwEhEAy5AgsCQAJAAkACQCAELQAAQb5/ag4PAAECpAGkAaQBpAGkAaQBpAGkAaQBpAGkAQOkAQsgBEEBaiEEQZMBIRAMogILIARBAWohBEGUASEQDKECCyAEQQFqIQRBlQEhEAygAgsgBEEBaiEEQZYBIRAMnwILAkAgBCACRw0AQawBIRAMuAILIAQtAABBxQBHDZ8BIARBAWohBAzgAQsCQCAEIAJHDQBBrQEhEAy3AgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFBzc+AgABqLQAARw2fASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBrQEhEAy3AgsgAEEANgIAIBBBAWohAUEOIRAMnAELAkAgBCACRw0AQa4BIRAMtgILIAQtAABB0ABHDZ0BIARBAWohAUElIRAMmwELAkAgBCACRw0AQa8BIRAMtQILIAIgBGsgACgCACIBaiEUIAQgAWtBCGohEAJAA0AgBC0AACABQdDPgIAAai0AAEcNnQEgAUEIRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQa8BIRAMtQILIABBADYCACAQQQFqIQFBKiEQDJoBCwJAIAQgAkcNAEGwASEQDLQCCwJAAkAgBC0AAEGrf2oOCwCdAZ0BnQGdAZ0BnQGdAZ0BnQEBnQELIARBAWohBEGaASEQDJsCCyAEQQFqIQRBmwEhEAyaAgsCQCAEIAJHDQBBsQEhEAyzAgsCQAJAIAQtAABBv39qDhQAnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBAZwBCyAEQQFqIQRBmQEhEAyaAgsgBEEBaiEEQZwBIRAMmQILAkAgBCACRw0AQbIBIRAMsgILIAIgBGsgACgCACIBaiEUIAQgAWtBA2ohEAJAA0AgBC0AACABQdnPgIAAai0AAEcNmgEgAUEDRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbIBIRAMsgILIABBADYCACAQQQFqIQFBISEQDJcBCwJAIAQgAkcNAEGzASEQDLECCyACIARrIAAoAgAiAWohFCAEIAFrQQZqIRACQANAIAQtAAAgAUHdz4CAAGotAABHDZkBIAFBBkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGzASEQDLECCyAAQQA2AgAgEEEBaiEBQRohEAyWAQsCQCAEIAJHDQBBtAEhEAywAgsCQAJAAkAgBC0AAEG7f2oOEQCaAZoBmgGaAZoBmgGaAZoBmgEBmgGaAZoBmgGaAQKaAQsgBEEBaiEEQZ0BIRAMmAILIARBAWohBEGeASEQDJcCCyAEQQFqIQRBnwEhEAyWAgsCQCAEIAJHDQBBtQEhEAyvAgsgAiAEayAAKAIAIgFqIRQgBCABa0EFaiEQAkADQCAELQAAIAFB5M+AgABqLQAARw2XASABQQVGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBtQEhEAyvAgsgAEEANgIAIBBBAWohAUEoIRAMlAELAkAgBCACRw0AQbYBIRAMrgILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQerPgIAAai0AAEcNlgEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbYBIRAMrgILIABBADYCACAQQQFqIQFBByEQDJMBCwJAIAQgAkcNAEG3ASEQDK0CCwJAAkAgBC0AAEG7f2oODgCWAZYBlgGWAZYBlgGWAZYBlgGWAZYBlgEBlgELIARBAWohBEGhASEQDJQCCyAEQQFqIQRBogEhEAyTAgsCQCAEIAJHDQBBuAEhEAysAgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFB7c+AgABqLQAARw2UASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBuAEhEAysAgsgAEEANgIAIBBBAWohAUESIRAMkQELAkAgBCACRw0AQbkBIRAMqwILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfDPgIAAai0AAEcNkwEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbkBIRAMqwILIABBADYCACAQQQFqIQFBICEQDJABCwJAIAQgAkcNAEG6ASEQDKoCCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUHyz4CAAGotAABHDZIBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEG6ASEQDKoCCyAAQQA2AgAgEEEBaiEBQQ8hEAyPAQsCQCAEIAJHDQBBuwEhEAypAgsCQAJAIAQtAABBt39qDgcAkgGSAZIBkgGSAQGSAQsgBEEBaiEEQaUBIRAMkAILIARBAWohBEGmASEQDI8CCwJAIAQgAkcNAEG8ASEQDKgCCyACIARrIAAoAgAiAWohFCAEIAFrQQdqIRACQANAIAQtAAAgAUH0z4CAAGotAABHDZABIAFBB0YNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEG8ASEQDKgCCyAAQQA2AgAgEEEBaiEBQRshEAyNAQsCQCAEIAJHDQBBvQEhEAynAgsCQAJAAkAgBC0AAEG+f2oOEgCRAZEBkQGRAZEBkQGRAZEBkQEBkQGRAZEBkQGRAZEBApEBCyAEQQFqIQRBpAEhEAyPAgsgBEEBaiEEQacBIRAMjgILIARBAWohBEGoASEQDI0CCwJAIAQgAkcNAEG+ASEQDKYCCyAELQAAQc4ARw2NASAEQQFqIQQMzwELAkAgBCACRw0AQb8BIRAMpQILAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgBC0AAEG/f2oOFQABAgOcAQQFBpwBnAGcAQcICQoLnAEMDQ4PnAELIARBAWohAUHoACEQDJoCCyAEQQFqIQFB6QAhEAyZAgsgBEEBaiEBQe4AIRAMmAILIARBAWohAUHyACEQDJcCCyAEQQFqIQFB8wAhEAyWAgsgBEEBaiEBQfYAIRAMlQILIARBAWohAUH3ACEQDJQCCyAEQQFqIQFB+gAhEAyTAgsgBEEBaiEEQYMBIRAMkgILIARBAWohBEGEASEQDJECCyAEQQFqIQRBhQEhEAyQAgsgBEEBaiEEQZIBIRAMjwILIARBAWohBEGYASEQDI4CCyAEQQFqIQRBoAEhEAyNAgsgBEEBaiEEQaMBIRAMjAILIARBAWohBEGqASEQDIsCCwJAIAQgAkYNACAAQZCAgIAANgIIIAAgBDYCBEGrASEQDIsCC0HAASEQDKMCCyAAIAUgAhCqgICAACIBDYsBIAUhAQxcCwJAIAYgAkYNACAGQQFqIQUMjQELQcIBIRAMoQILA0ACQCAQLQAAQXZqDgSMAQAAjwEACyAQQQFqIhAgAkcNAAtBwwEhEAygAgsCQCAHIAJGDQAgAEGRgICAADYCCCAAIAc2AgQgByEBQQEhEAyHAgtBxAEhEAyfAgsCQCAHIAJHDQBBxQEhEAyfAgsCQAJAIActAABBdmoOBAHOAc4BAM4BCyAHQQFqIQYMjQELIAdBAWohBQyJAQsCQCAHIAJHDQBBxgEhEAyeAgsCQAJAIActAABBdmoOFwGPAY8BAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAQCPAQsgB0EBaiEHC0GwASEQDIQCCwJAIAggAkcNAEHIASEQDJ0CCyAILQAAQSBHDY0BIABBADsBMiAIQQFqIQFBswEhEAyDAgsgASEXAkADQCAXIgcgAkYNASAHLQAAQVBqQf8BcSIQQQpPDcwBAkAgAC8BMiIUQZkzSw0AIAAgFEEKbCIUOwEyIBBB//8DcyAUQf7/A3FJDQAgB0EBaiEXIAAgFCAQaiIQOwEyIBBB//8DcUHoB0kNAQsLQQAhECAAQQA2AhwgAEHBiYCAADYCECAAQQ02AgwgACAHQQFqNgIUDJwCC0HHASEQDJsCCyAAIAggAhCugICAACIQRQ3KASAQQRVHDYwBIABByAE2AhwgACAINgIUIABByZeAgAA2AhAgAEEVNgIMQQAhEAyaAgsCQCAJIAJHDQBBzAEhEAyaAgtBACEUQQEhF0EBIRZBACEQAkACQAJAAkACQAJAAkACQAJAIAktAABBUGoOCpYBlQEAAQIDBAUGCJcBC0ECIRAMBgtBAyEQDAULQQQhEAwEC0EFIRAMAwtBBiEQDAILQQchEAwBC0EIIRALQQAhF0EAIRZBACEUDI4BC0EJIRBBASEUQQAhF0EAIRYMjQELAkAgCiACRw0AQc4BIRAMmQILIAotAABBLkcNjgEgCkEBaiEJDMoBCyALIAJHDY4BQdABIRAMlwILAkAgCyACRg0AIABBjoCAgAA2AgggACALNgIEQbcBIRAM/gELQdEBIRAMlgILAkAgBCACRw0AQdIBIRAMlgILIAIgBGsgACgCACIQaiEUIAQgEGtBBGohCwNAIAQtAAAgEEH8z4CAAGotAABHDY4BIBBBBEYN6QEgEEEBaiEQIARBAWoiBCACRw0ACyAAIBQ2AgBB0gEhEAyVAgsgACAMIAIQrICAgAAiAQ2NASAMIQEMuAELAkAgBCACRw0AQdQBIRAMlAILIAIgBGsgACgCACIQaiEUIAQgEGtBAWohDANAIAQtAAAgEEGB0ICAAGotAABHDY8BIBBBAUYNjgEgEEEBaiEQIARBAWoiBCACRw0ACyAAIBQ2AgBB1AEhEAyTAgsCQCAEIAJHDQBB1gEhEAyTAgsgAiAEayAAKAIAIhBqIRQgBCAQa0ECaiELA0AgBC0AACAQQYPQgIAAai0AAEcNjgEgEEECRg2QASAQQQFqIRAgBEEBaiIEIAJHDQALIAAgFDYCAEHWASEQDJICCwJAIAQgAkcNAEHXASEQDJICCwJAAkAgBC0AAEG7f2oOEACPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BAY8BCyAEQQFqIQRBuwEhEAz5AQsgBEEBaiEEQbwBIRAM+AELAkAgBCACRw0AQdgBIRAMkQILIAQtAABByABHDYwBIARBAWohBAzEAQsCQCAEIAJGDQAgAEGQgICAADYCCCAAIAQ2AgRBvgEhEAz3AQtB2QEhEAyPAgsCQCAEIAJHDQBB2gEhEAyPAgsgBC0AAEHIAEYNwwEgAEEBOgAoDLkBCyAAQQI6AC8gACAEIAIQpoCAgAAiEA2NAUHCASEQDPQBCyAALQAoQX9qDgK3AbkBuAELA0ACQCAELQAAQXZqDgQAjgGOAQCOAQsgBEEBaiIEIAJHDQALQd0BIRAMiwILIABBADoALyAALQAtQQRxRQ2EAgsgAEEAOgAvIABBAToANCABIQEMjAELIBBBFUYN2gEgAEEANgIcIAAgATYCFCAAQaeOgIAANgIQIABBEjYCDEEAIRAMiAILAkAgACAQIAIQtICAgAAiBA0AIBAhAQyBAgsCQCAEQRVHDQAgAEEDNgIcIAAgEDYCFCAAQbCYgIAANgIQIABBFTYCDEEAIRAMiAILIABBADYCHCAAIBA2AhQgAEGnjoCAADYCECAAQRI2AgxBACEQDIcCCyAQQRVGDdYBIABBADYCHCAAIAE2AhQgAEHajYCAADYCECAAQRQ2AgxBACEQDIYCCyAAKAIEIRcgAEEANgIEIBAgEadqIhYhASAAIBcgECAWIBQbIhAQtYCAgAAiFEUNjQEgAEEHNgIcIAAgEDYCFCAAIBQ2AgxBACEQDIUCCyAAIAAvATBBgAFyOwEwIAEhAQtBKiEQDOoBCyAQQRVGDdEBIABBADYCHCAAIAE2AhQgAEGDjICAADYCECAAQRM2AgxBACEQDIICCyAQQRVGDc8BIABBADYCHCAAIAE2AhQgAEGaj4CAADYCECAAQSI2AgxBACEQDIECCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQt4CAgAAiEA0AIAFBAWohAQyNAQsgAEEMNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDIACCyAQQRVGDcwBIABBADYCHCAAIAE2AhQgAEGaj4CAADYCECAAQSI2AgxBACEQDP8BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQt4CAgAAiEA0AIAFBAWohAQyMAQsgAEENNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDP4BCyAQQRVGDckBIABBADYCHCAAIAE2AhQgAEHGjICAADYCECAAQSM2AgxBACEQDP0BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQuYCAgAAiEA0AIAFBAWohAQyLAQsgAEEONgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDPwBCyAAQQA2AhwgACABNgIUIABBwJWAgAA2AhAgAEECNgIMQQAhEAz7AQsgEEEVRg3FASAAQQA2AhwgACABNgIUIABBxoyAgAA2AhAgAEEjNgIMQQAhEAz6AQsgAEEQNgIcIAAgATYCFCAAIBA2AgxBACEQDPkBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQuYCAgAAiBA0AIAFBAWohAQzxAQsgAEERNgIcIAAgBDYCDCAAIAFBAWo2AhRBACEQDPgBCyAQQRVGDcEBIABBADYCHCAAIAE2AhQgAEHGjICAADYCECAAQSM2AgxBACEQDPcBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQuYCAgAAiEA0AIAFBAWohAQyIAQsgAEETNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDPYBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQuYCAgAAiBA0AIAFBAWohAQztAQsgAEEUNgIcIAAgBDYCDCAAIAFBAWo2AhRBACEQDPUBCyAQQRVGDb0BIABBADYCHCAAIAE2AhQgAEGaj4CAADYCECAAQSI2AgxBACEQDPQBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQt4CAgAAiEA0AIAFBAWohAQyGAQsgAEEWNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDPMBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQt4CAgAAiBA0AIAFBAWohAQzpAQsgAEEXNgIcIAAgBDYCDCAAIAFBAWo2AhRBACEQDPIBCyAAQQA2AhwgACABNgIUIABBzZOAgAA2AhAgAEEMNgIMQQAhEAzxAQtCASERCyAQQQFqIQECQCAAKQMgIhJC//////////8PVg0AIAAgEkIEhiARhDcDICABIQEMhAELIABBADYCHCAAIAE2AhQgAEGtiYCAADYCECAAQQw2AgxBACEQDO8BCyAAQQA2AhwgACAQNgIUIABBzZOAgAA2AhAgAEEMNgIMQQAhEAzuAQsgACgCBCEXIABBADYCBCAQIBGnaiIWIQEgACAXIBAgFiAUGyIQELWAgIAAIhRFDXMgAEEFNgIcIAAgEDYCFCAAIBQ2AgxBACEQDO0BCyAAQQA2AhwgACAQNgIUIABBqpyAgAA2AhAgAEEPNgIMQQAhEAzsAQsgACAQIAIQtICAgAAiAQ0BIBAhAQtBDiEQDNEBCwJAIAFBFUcNACAAQQI2AhwgACAQNgIUIABBsJiAgAA2AhAgAEEVNgIMQQAhEAzqAQsgAEEANgIcIAAgEDYCFCAAQaeOgIAANgIQIABBEjYCDEEAIRAM6QELIAFBAWohEAJAIAAvATAiAUGAAXFFDQACQCAAIBAgAhC7gICAACIBDQAgECEBDHALIAFBFUcNugEgAEEFNgIcIAAgEDYCFCAAQfmXgIAANgIQIABBFTYCDEEAIRAM6QELAkAgAUGgBHFBoARHDQAgAC0ALUECcQ0AIABBADYCHCAAIBA2AhQgAEGWk4CAADYCECAAQQQ2AgxBACEQDOkBCyAAIBAgAhC9gICAABogECEBAkACQAJAAkACQCAAIBAgAhCzgICAAA4WAgEABAQEBAQEBAQEBAQEBAQEBAQEAwQLIABBAToALgsgACAALwEwQcAAcjsBMCAQIQELQSYhEAzRAQsgAEEjNgIcIAAgEDYCFCAAQaWWgIAANgIQIABBFTYCDEEAIRAM6QELIABBADYCHCAAIBA2AhQgAEHVi4CAADYCECAAQRE2AgxBACEQDOgBCyAALQAtQQFxRQ0BQcMBIRAMzgELAkAgDSACRg0AA0ACQCANLQAAQSBGDQAgDSEBDMQBCyANQQFqIg0gAkcNAAtBJSEQDOcBC0ElIRAM5gELIAAoAgQhBCAAQQA2AgQgACAEIA0Qr4CAgAAiBEUNrQEgAEEmNgIcIAAgBDYCDCAAIA1BAWo2AhRBACEQDOUBCyAQQRVGDasBIABBADYCHCAAIAE2AhQgAEH9jYCAADYCECAAQR02AgxBACEQDOQBCyAAQSc2AhwgACABNgIUIAAgEDYCDEEAIRAM4wELIBAhAUEBIRQCQAJAAkACQAJAAkACQCAALQAsQX5qDgcGBQUDAQIABQsgACAALwEwQQhyOwEwDAMLQQIhFAwBC0EEIRQLIABBAToALCAAIAAvATAgFHI7ATALIBAhAQtBKyEQDMoBCyAAQQA2AhwgACAQNgIUIABBq5KAgAA2AhAgAEELNgIMQQAhEAziAQsgAEEANgIcIAAgATYCFCAAQeGPgIAANgIQIABBCjYCDEEAIRAM4QELIABBADoALCAQIQEMvQELIBAhAUEBIRQCQAJAAkACQAJAIAAtACxBe2oOBAMBAgAFCyAAIAAvATBBCHI7ATAMAwtBAiEUDAELQQQhFAsgAEEBOgAsIAAgAC8BMCAUcjsBMAsgECEBC0EpIRAMxQELIABBADYCHCAAIAE2AhQgAEHwlICAADYCECAAQQM2AgxBACEQDN0BCwJAIA4tAABBDUcNACAAKAIEIQEgAEEANgIEAkAgACABIA4QsYCAgAAiAQ0AIA5BAWohAQx1CyAAQSw2AhwgACABNgIMIAAgDkEBajYCFEEAIRAM3QELIAAtAC1BAXFFDQFBxAEhEAzDAQsCQCAOIAJHDQBBLSEQDNwBCwJAAkADQAJAIA4tAABBdmoOBAIAAAMACyAOQQFqIg4gAkcNAAtBLSEQDN0BCyAAKAIEIQEgAEEANgIEAkAgACABIA4QsYCAgAAiAQ0AIA4hAQx0CyAAQSw2AhwgACAONgIUIAAgATYCDEEAIRAM3AELIAAoAgQhASAAQQA2AgQCQCAAIAEgDhCxgICAACIBDQAgDkEBaiEBDHMLIABBLDYCHCAAIAE2AgwgACAOQQFqNgIUQQAhEAzbAQsgACgCBCEEIABBADYCBCAAIAQgDhCxgICAACIEDaABIA4hAQzOAQsgEEEsRw0BIAFBAWohEEEBIQECQAJAAkACQAJAIAAtACxBe2oOBAMBAgQACyAQIQEMBAtBAiEBDAELQQQhAQsgAEEBOgAsIAAgAC8BMCABcjsBMCAQIQEMAQsgACAALwEwQQhyOwEwIBAhAQtBOSEQDL8BCyAAQQA6ACwgASEBC0E0IRAMvQELIAAgAC8BMEEgcjsBMCABIQEMAgsgACgCBCEEIABBADYCBAJAIAAgBCABELGAgIAAIgQNACABIQEMxwELIABBNzYCHCAAIAE2AhQgACAENgIMQQAhEAzUAQsgAEEIOgAsIAEhAQtBMCEQDLkBCwJAIAAtAChBAUYNACABIQEMBAsgAC0ALUEIcUUNkwEgASEBDAMLIAAtADBBIHENlAFBxQEhEAy3AQsCQCAPIAJGDQACQANAAkAgDy0AAEFQaiIBQf8BcUEKSQ0AIA8hAUE1IRAMugELIAApAyAiEUKZs+bMmbPmzBlWDQEgACARQgp+IhE3AyAgESABrUL/AYMiEkJ/hVYNASAAIBEgEnw3AyAgD0EBaiIPIAJHDQALQTkhEAzRAQsgACgCBCECIABBADYCBCAAIAIgD0EBaiIEELGAgIAAIgINlQEgBCEBDMMBC0E5IRAMzwELAkAgAC8BMCIBQQhxRQ0AIAAtAChBAUcNACAALQAtQQhxRQ2QAQsgACABQff7A3FBgARyOwEwIA8hAQtBNyEQDLQBCyAAIAAvATBBEHI7ATAMqwELIBBBFUYNiwEgAEEANgIcIAAgATYCFCAAQfCOgIAANgIQIABBHDYCDEEAIRAMywELIABBwwA2AhwgACABNgIMIAAgDUEBajYCFEEAIRAMygELAkAgAS0AAEE6Rw0AIAAoAgQhECAAQQA2AgQCQCAAIBAgARCvgICAACIQDQAgAUEBaiEBDGMLIABBwwA2AhwgACAQNgIMIAAgAUEBajYCFEEAIRAMygELIABBADYCHCAAIAE2AhQgAEGxkYCAADYCECAAQQo2AgxBACEQDMkBCyAAQQA2AhwgACABNgIUIABBoJmAgAA2AhAgAEEeNgIMQQAhEAzIAQsgAEEANgIACyAAQYASOwEqIAAgF0EBaiIBIAIQqICAgAAiEA0BIAEhAQtBxwAhEAysAQsgEEEVRw2DASAAQdEANgIcIAAgATYCFCAAQeOXgIAANgIQIABBFTYCDEEAIRAMxAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDF4LIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMwwELIABBADYCHCAAIBQ2AhQgAEHBqICAADYCECAAQQc2AgwgAEEANgIAQQAhEAzCAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMXQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAzBAQtBACEQIABBADYCHCAAIAE2AhQgAEGAkYCAADYCECAAQQk2AgwMwAELIBBBFUYNfSAAQQA2AhwgACABNgIUIABBlI2AgAA2AhAgAEEhNgIMQQAhEAy/AQtBASEWQQAhF0EAIRRBASEQCyAAIBA6ACsgAUEBaiEBAkACQCAALQAtQRBxDQACQAJAAkAgAC0AKg4DAQACBAsgFkUNAwwCCyAUDQEMAgsgF0UNAQsgACgCBCEQIABBADYCBAJAIAAgECABEK2AgIAAIhANACABIQEMXAsgAEHYADYCHCAAIAE2AhQgACAQNgIMQQAhEAy+AQsgACgCBCEEIABBADYCBAJAIAAgBCABEK2AgIAAIgQNACABIQEMrQELIABB2QA2AhwgACABNgIUIAAgBDYCDEEAIRAMvQELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCtgICAACIEDQAgASEBDKsBCyAAQdoANgIcIAAgATYCFCAAIAQ2AgxBACEQDLwBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQrYCAgAAiBA0AIAEhAQypAQsgAEHcADYCHCAAIAE2AhQgACAENgIMQQAhEAy7AQsCQCABLQAAQVBqIhBB/wFxQQpPDQAgACAQOgAqIAFBAWohAUHPACEQDKIBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQrYCAgAAiBA0AIAEhAQynAQsgAEHeADYCHCAAIAE2AhQgACAENgIMQQAhEAy6AQsgAEEANgIAIBdBAWohAQJAIAAtAClBI08NACABIQEMWQsgAEEANgIcIAAgATYCFCAAQdOJgIAANgIQIABBCDYCDEEAIRAMuQELIABBADYCAAtBACEQIABBADYCHCAAIAE2AhQgAEGQs4CAADYCECAAQQg2AgwMtwELIABBADYCACAXQQFqIQECQCAALQApQSFHDQAgASEBDFYLIABBADYCHCAAIAE2AhQgAEGbioCAADYCECAAQQg2AgxBACEQDLYBCyAAQQA2AgAgF0EBaiEBAkAgAC0AKSIQQV1qQQtPDQAgASEBDFULAkAgEEEGSw0AQQEgEHRBygBxRQ0AIAEhAQxVC0EAIRAgAEEANgIcIAAgATYCFCAAQfeJgIAANgIQIABBCDYCDAy1AQsgEEEVRg1xIABBADYCHCAAIAE2AhQgAEG5jYCAADYCECAAQRo2AgxBACEQDLQBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxUCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLMBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdIANgIcIAAgATYCFCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8=";
-  }
-});
-
-// node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
-var require_llhttp_simd_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==";
+    var Dispatcher = require_dispatcher2();
+    var RetryHandler = require_retry_handler2();
+    var RetryAgent = class extends Dispatcher {
+      #agent = null;
+      #options = null;
+      constructor(agent, options = {}) {
+        super(options);
+        this.#agent = agent;
+        this.#options = options;
+      }
+      dispatch(opts, handler2) {
+        const retry2 = new RetryHandler({
+          ...opts,
+          retryOptions: this.#options
+        }, {
+          dispatch: this.#agent.dispatch.bind(this.#agent),
+          handler: handler2
+        });
+        return this.#agent.dispatch(opts, retry2);
+      }
+      close() {
+        return this.#agent.close();
+      }
+      destroy() {
+        return this.#agent.destroy();
+      }
+    };
+    module2.exports = RetryAgent;
   }
 });
 
-// node_modules/undici/lib/client.js
-var require_client2 = __commonJS({
-  "node_modules/undici/lib/client.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/api/readable.js
+var require_readable2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/readable.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var net = require("net");
-    var http = require("http");
-    var { pipeline } = require("stream");
+    var assert = require("node:assert");
+    var { Readable } = require("node:stream");
+    var { RequestAbortedError, NotSupportedError, InvalidArgumentError, AbortError } = require_errors2();
     var util = require_util9();
-    var timers = require_timers2();
-    var Request = require_request3();
-    var DispatcherBase = require_dispatcher_base2();
-    var {
-      RequestContentLengthMismatchError,
-      ResponseContentLengthMismatchError,
-      InvalidArgumentError,
-      RequestAbortedError,
-      HeadersTimeoutError,
-      HeadersOverflowError,
-      SocketError,
-      InformationalError,
-      BodyTimeoutError,
-      HTTPParserError,
-      ResponseExceededMaxSizeError,
-      ClientDestroyedError
-    } = require_errors2();
-    var buildConnector = require_connect2();
-    var {
-      kUrl,
-      kReset,
-      kServerName,
-      kClient,
-      kBusy,
-      kParser,
-      kConnect,
-      kBlocking,
-      kResuming,
-      kRunning,
-      kPending,
-      kSize,
-      kWriting,
-      kQueue,
-      kConnected,
-      kConnecting,
-      kNeedDrain,
-      kNoRef,
-      kKeepAliveDefaultTimeout,
-      kHostHeader,
-      kPendingIdx,
-      kRunningIdx,
-      kError,
-      kPipelining,
-      kSocket,
-      kKeepAliveTimeoutValue,
-      kMaxHeadersSize,
-      kKeepAliveMaxTimeout,
-      kKeepAliveTimeoutThreshold,
-      kHeadersTimeout,
-      kBodyTimeout,
-      kStrictContentLength,
-      kConnector,
-      kMaxRedirections,
-      kMaxRequests,
-      kCounter,
-      kClose,
-      kDestroy,
-      kDispatch,
-      kInterceptors,
-      kLocalAddress,
-      kMaxResponseSize,
-      kHTTPConnVersion,
-      // HTTP2
-      kHost,
-      kHTTP2Session,
-      kHTTP2SessionState,
-      kHTTP2BuildRequest,
-      kHTTP2CopyHeaders,
-      kHTTP1BuildRequest
-    } = require_symbols6();
-    var http2;
-    try {
-      http2 = require("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
+    var { ReadableStreamFrom } = require_util9();
+    var kConsume = /* @__PURE__ */ Symbol("kConsume");
+    var kReading = /* @__PURE__ */ Symbol("kReading");
+    var kBody = /* @__PURE__ */ Symbol("kBody");
+    var kAbort = /* @__PURE__ */ Symbol("kAbort");
+    var kContentType = /* @__PURE__ */ Symbol("kContentType");
+    var kContentLength = /* @__PURE__ */ 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;
       }
-    } = http2;
-    var h2ExperimentalWarned = false;
-    var FastBuffer = Buffer[Symbol.species];
-    var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
-    var channels = {};
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.sendHeaders = diagnosticsChannel.channel("undici:client:sendHeaders");
-      channels.beforeConnect = diagnosticsChannel.channel("undici:client:beforeConnect");
-      channels.connectError = diagnosticsChannel.channel("undici:client:connectError");
-      channels.connected = diagnosticsChannel.channel("undici:client:connected");
-    } catch {
-      channels.sendHeaders = { hasSubscribers: false };
-      channels.beforeConnect = { hasSubscribers: false };
-      channels.connectError = { hasSubscribers: false };
-      channels.connected = { hasSubscribers: false };
-    }
-    var Client = class extends DispatcherBase {
-      /**
-       *
-       * @param {string|URL} url
-       * @param {import('../types/client').Client.Options} options
-       */
-      constructor(url, {
-        interceptors,
-        maxHeaderSize,
-        headersTimeout,
-        socketTimeout,
-        requestTimeout,
-        connectTimeout,
-        bodyTimeout,
-        idleTimeout,
-        keepAlive,
-        keepAliveTimeout,
-        maxKeepAliveTimeout,
-        keepAliveMaxTimeout,
-        keepAliveTimeoutThreshold,
-        socketPath,
-        pipelining,
-        tls,
-        strictContentLength,
-        maxCachedSessions,
-        maxRedirections,
-        connect: connect2,
-        maxRequestsPerClient,
-        localAddress,
-        maxResponseSize,
-        autoSelectFamily,
-        autoSelectFamilyAttemptTimeout,
-        // h2
-        allowH2,
-        maxConcurrentStreams
-      } = {}) {
-        super();
-        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");
+      destroy(err) {
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
         }
-        if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) {
-          throw new InvalidArgumentError("maxResponseSize must be a positive number");
+        if (err) {
+          this[kAbort]();
         }
-        if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) {
-          throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number");
+        return super.destroy(err);
+      }
+      _destroy(err, callback) {
+        if (!this[kReading]) {
+          setImmediate(() => {
+            callback(err);
+          });
+        } else {
+          callback(err);
         }
-        if (allowH2 != null && typeof allowH2 !== "boolean") {
-          throw new InvalidArgumentError("allowH2 must be a valid boolean value");
+      }
+      on(ev, ...args) {
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = true;
         }
-        if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) {
-          throw new InvalidArgumentError("maxConcurrentStreams must be a possitive integer, greater than 0");
+        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;
         }
-        if (typeof connect2 !== "function") {
-          connect2 = buildConnector({
-            ...tls,
-            maxCachedSessions,
-            allowH2,
-            socketPath,
-            timeout: connectTimeout,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
-            ...connect2
-          });
+        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;
         }
-        this[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client) ? interceptors.Client : [createRedirectInterceptor({ maxRedirections })];
-        this[kUrl] = util.parseOrigin(url);
-        this[kConnector] = connect2;
-        this[kSocket] = null;
-        this[kPipelining] = pipelining != null ? pipelining : 1;
-        this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize;
-        this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;
-        this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;
-        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold;
-        this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
-        this[kServerName] = null;
-        this[kLocalAddress] = localAddress != null ? localAddress : null;
-        this[kResuming] = 0;
-        this[kNeedDrain] = 0;
-        this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r
-`;
-        this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5;
-        this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5;
-        this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength;
-        this[kMaxRedirections] = maxRedirections;
-        this[kMaxRequests] = maxRequestsPerClient;
-        this[kClosedResolve] = null;
-        this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
-        this[kHTTPConnVersion] = "h1";
-        this[kHTTP2Session] = null;
-        this[kHTTP2SessionState] = !allowH2 ? null : {
-          // streams: null, // Fixed queue of streams - For future support of `push`
-          openStreams: 0,
-          // Keep track of them to decide wether or not unref the session
-          maxConcurrentStreams: maxConcurrentStreams != null ? maxConcurrentStreams : 100
-          // Max peerConcurrentStreams for a Node h2 server
-        };
-        this[kHost] = `${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}`;
-        this[kQueue] = [];
-        this[kRunningIdx] = 0;
-        this[kPendingIdx] = 0;
+        return super.push(chunk);
       }
-      get pipelining() {
-        return this[kPipelining];
+      // https://fetch.spec.whatwg.org/#dom-body-text
+      async text() {
+        return consume(this, "text");
       }
-      set pipelining(value) {
-        this[kPipelining] = value;
-        resume(this, true);
+      // https://fetch.spec.whatwg.org/#dom-body-json
+      async json() {
+        return consume(this, "json");
       }
-      get [kPending]() {
-        return this[kQueue].length - this[kPendingIdx];
+      // https://fetch.spec.whatwg.org/#dom-body-blob
+      async blob() {
+        return consume(this, "blob");
       }
-      get [kRunning]() {
-        return this[kPendingIdx] - this[kRunningIdx];
+      // https://fetch.spec.whatwg.org/#dom-body-bytes
+      async bytes() {
+        return consume(this, "bytes");
       }
-      get [kSize]() {
-        return this[kQueue].length - this[kRunningIdx];
+      // https://fetch.spec.whatwg.org/#dom-body-arraybuffer
+      async arrayBuffer() {
+        return consume(this, "arrayBuffer");
       }
-      get [kConnected]() {
-        return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed;
+      // https://fetch.spec.whatwg.org/#dom-body-formdata
+      async formData() {
+        throw new NotSupportedError();
       }
-      get [kBusy]() {
-        const socket = this[kSocket];
-        return socket && (socket[kReset] || socket[kWriting] || socket[kBlocking]) || this[kSize] >= (this[kPipelining] || 1) || this[kPending] > 0;
+      // https://fetch.spec.whatwg.org/#dom-body-bodyused
+      get bodyUsed() {
+        return util.isDisturbed(this);
       }
-      /* istanbul ignore: only used for test */
-      [kConnect](cb) {
-        connect(this);
-        this.once("connect", cb);
+      // 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];
       }
-      [kDispatch](opts, handler2) {
-        const origin = opts.origin || this[kUrl].origin;
-        const request2 = this[kHTTPConnVersion] === "h2" ? Request[kHTTP2BuildRequest](origin, opts, handler2) : Request[kHTTP1BuildRequest](origin, opts, handler2);
-        this[kQueue].push(request2);
-        if (this[kResuming]) {
-        } else if (util.bodyLength(request2.body) == null && util.isIterable(request2.body)) {
-          this[kResuming] = 1;
-          process.nextTick(resume, this);
+      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((resolve5, 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 {
+              resolve5(null);
+            }
+          }).on("error", noop3).on("data", function(chunk) {
+            limit -= chunk.length;
+            if (limit <= 0) {
+              this.destroy();
+            }
+          }).resume();
+        });
+      }
+    };
+    function isLocked(self2) {
+      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
+    }
+    function isUnusable(self2) {
+      return util.isDisturbed(self2) || isLocked(self2);
+    }
+    async function consume(stream, type2) {
+      assert(!stream[kConsume]);
+      return new Promise((resolve5, 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 {
-          resume(this, true);
+          queueMicrotask(() => {
+            stream[kConsume] = {
+              type: type2,
+              stream,
+              resolve: resolve5,
+              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]);
+          });
         }
-        if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
-          this[kNeedDrain] = 2;
+      });
+    }
+    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);
         }
-        return this[kNeedDrain] < 2;
       }
-      async [kClose]() {
-        return new Promise((resolve5) => {
-          if (!this[kSize]) {
-            resolve5(null);
-          } else {
-            this[kClosedResolve] = resolve5;
-          }
+      if (state.endEmitted) {
+        consumeEnd(this[kConsume]);
+      } else {
+        consume2.stream.on("end", function() {
+          consumeEnd(this[kConsume]);
         });
       }
-      async [kDestroy](err) {
-        return new Promise((resolve5) => {
-          const requests = this[kQueue].splice(this[kPendingIdx]);
-          for (let i = 0; i < requests.length; i++) {
-            const request2 = requests[i];
-            errorRequest2(this, request2, err);
-          }
-          const callback = () => {
-            if (this[kClosedResolve]) {
-              this[kClosedResolve]();
-              this[kClosedResolve] = null;
-            }
-            resolve5();
-          };
-          if (this[kHTTP2Session] != null) {
-            util.destroy(this[kHTTP2Session], err);
-            this[kHTTP2Session] = null;
-            this[kHTTP2SessionState] = null;
-          }
-          if (!this[kSocket]) {
-            queueMicrotask(callback);
-          } else {
-            util.destroy(this[kSocket].on("close", callback), err);
-          }
-          resume(this);
-        });
+      consume2.stream.resume();
+      while (consume2.stream.read() != null) {
       }
-    };
-    function onHttp2SessionError(err) {
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      this[kSocket][kError] = err;
-      onError(this[kClient], err);
     }
-    function onHttp2FrameError(type2, code, id) {
-      const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-      if (id === 0) {
-        this[kSocket][kError] = err;
-        onError(this[kClient], err);
+    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 onHttp2SessionEnd() {
-      util.destroy(this, new SocketError("other side closed"));
-      util.destroy(this[kSocket], new SocketError("other side closed"));
-    }
-    function onHTTP2GoAway(code) {
-      const client = this[kClient];
-      const err = new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`);
-      client[kSocket] = null;
-      client[kHTTP2Session] = null;
-      if (client.destroyed) {
-        assert(this[kPending] === 0);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(this, request2, err);
-        }
-      } else if (client[kRunning] > 0) {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
+    function chunksConcat(chunks, length) {
+      if (chunks.length === 0 || length === 0) {
+        return new Uint8Array(0);
       }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit(
-        "disconnect",
-        client[kUrl],
-        [client],
-        err
-      );
-      resume(client);
+      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;
     }
-    var constants = require_constants8();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var EMPTY_BUF = Buffer.alloc(0);
-    async function lazyllhttp() {
-      const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm2() : void 0;
-      let mod;
+    function consumeEnd(consume2) {
+      const { type: type2, body, resolve: resolve5, stream, length } = consume2;
       try {
-        mod = await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm2(), "base64"));
-      } catch (e) {
-        mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require_llhttp_wasm2(), "base64"));
-      }
-      return await WebAssembly.instantiate(mod, {
-        env: {
-          /* eslint-disable camelcase */
-          wasm_on_url: (p, at, len) => {
-            return 0;
-          },
-          wasm_on_status: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_message_begin: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onMessageBegin() || 0;
-          },
-          wasm_on_header_field: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_header_value: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;
-          },
-          wasm_on_body: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_message_complete: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onMessageComplete() || 0;
-          }
-          /* eslint-enable camelcase */
+        if (type2 === "text") {
+          resolve5(chunksDecode(body, length));
+        } else if (type2 === "json") {
+          resolve5(JSON.parse(chunksDecode(body, length)));
+        } else if (type2 === "arrayBuffer") {
+          resolve5(chunksConcat(body, length).buffer);
+        } else if (type2 === "blob") {
+          resolve5(new Blob(body, { type: stream[kContentType] }));
+        } else if (type2 === "bytes") {
+          resolve5(chunksConcat(body, length));
         }
-      });
-    }
-    var llhttpInstance = null;
-    var llhttpPromise = lazyllhttp();
-    llhttpPromise.catch();
-    var currentParser = null;
-    var currentBufferRef = null;
-    var currentBufferSize = 0;
-    var currentBufferPtr = null;
-    var TIMEOUT_HEADERS = 1;
-    var TIMEOUT_BODY = 2;
-    var TIMEOUT_IDLE = 3;
-    var Parser = class {
-      constructor(client, socket, { exports: 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];
+        consumeFinish(consume2);
+      } catch (err) {
+        stream.destroy(err);
       }
-      setTimeout(value, type2) {
-        this.timeoutType = type2;
-        if (value !== this.timeoutValue) {
-          timers.clearTimeout(this.timeout);
-          if (value) {
-            this.timeout = timers.setTimeout(onParserTimeout, value, this);
-            if (this.timeout.unref) {
-              this.timeout.unref();
-            }
-          } else {
-            this.timeout = null;
-          }
-          this.timeoutValue = value;
-        } else if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
-          }
-        }
+    }
+    function consumePush(consume2, chunk) {
+      consume2.length += chunk.length;
+      consume2.body.push(chunk);
+    }
+    function consumeFinish(consume2, err) {
+      if (consume2.body === null) {
+        return;
       }
-      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();
+      if (err) {
+        consume2.reject(err);
+      } else {
+        consume2.resolve();
       }
-      readMore() {
-        while (!this.paused && this.ptr) {
-          const chunk = this.socket.read();
-          if (chunk === null) {
+      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/@actions/github/node_modules/undici/lib/api/util.js
+var require_util11 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/util.js"(exports2, module2) {
+    var assert = require("node:assert");
+    var {
+      ResponseStatusCodeError
+    } = require_errors2();
+    var { chunksDecode } = require_readable2();
+    var CHUNK_LIMIT = 128 * 1024;
+    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
+      assert(body);
+      let chunks = [];
+      let length = 0;
+      try {
+        for await (const chunk of body) {
+          chunks.push(chunk);
+          length += chunk.length;
+          if (length > CHUNK_LIMIT) {
+            chunks = [];
+            length = 0;
             break;
           }
-          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;
-        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;
         }
+      } catch {
+        chunks = [];
+        length = 0;
       }
-      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);
+      const message = `Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`;
+      if (statusCode === 204 || !contentType || !length) {
+        queueMicrotask(() => callback(new ResponseStatusCodeError(message, statusCode, headers)));
+        return;
       }
-      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 && key.toString().toLowerCase() === "keep-alive") {
-          this.keepAlive += buf.toString();
-        } else if (key.length === 10 && key.toString().toLowerCase() === "connection") {
-          this.connection += buf.toString();
-        } else if (key.length === 14 && key.toString().toLowerCase() === "content-length") {
-          this.contentLength += buf.toString();
+      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);
         }
-        this.trackHeader(buf.length);
+      } catch {
+      } finally {
+        Error.stackTraceLimit = stackTraceLimit;
       }
-      trackHeader(len) {
-        this.headersSize += len;
-        if (this.headersSize >= this.headersMaxSize) {
-          util.destroy(this.socket, new HeadersOverflowError());
+      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/@actions/github/node_modules/undici/lib/api/api-request.js
+var require_api_request2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-request.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { Readable } = require_readable2();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
+    var util = require_util9();
+    var { getResolveErrorBodyCallback } = require_util11();
+    var { AsyncResource } = require("node:async_hooks");
+    var RequestHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-      }
-      onUpgrade(head) {
-        const { upgrade, client, socket, headers, statusCode } = this;
-        assert(upgrade);
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert(!socket.destroyed);
-        assert(socket === client[kSocket]);
-        assert(!this.paused);
-        assert(request2.upgrade || request2.method === "CONNECT");
-        this.statusCode = null;
-        this.statusText = "";
-        this.shouldKeepAlive = null;
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        socket.unshift(head);
-        socket[kParser].destroy();
-        socket[kParser] = null;
-        socket[kClient] = null;
-        socket[kError] = null;
-        socket.removeListener("error", onSocketError).removeListener("readable", onSocketReadable).removeListener("end", onSocketEnd).removeListener("close", onSocketClose);
-        client[kSocket] = null;
-        client[kQueue][client[kRunningIdx]++] = null;
-        client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
         try {
-          request2.onUpgrade(statusCode, headers, socket);
+          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) {
-          util.destroy(socket, err);
-        }
-        resume(client);
-      }
-      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.strictEqual(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 (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
           }
+          throw err;
         }
-        if (request2.method === "CONNECT") {
-          assert(client[kRunning] === 1);
-          this.upgrade = true;
-          return 2;
-        }
-        if (upgrade) {
-          assert(client[kRunning] === 1);
-          this.upgrade = true;
-          return 2;
+        this.method = method;
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.body = body;
+        this.trailers = {};
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError;
+        this.highWaterMark = highWaterMark;
+        this.signal = signal;
+        this.reason = null;
+        this.removeAbortListener = null;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
         }
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        if (this.shouldKeepAlive && client[kPipelining]) {
-          const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null;
-          if (keepAliveTimeout != null) {
-            const timeout = Math.min(
-              keepAliveTimeout - client[kKeepAliveTimeoutThreshold],
-              client[kKeepAliveMaxTimeout]
-            );
-            if (timeout <= 0) {
-              socket[kReset] = true;
-            } else {
-              client[kKeepAliveTimeoutValue] = timeout;
-            }
+        if (this.signal) {
+          if (this.signal.aborted) {
+            this.reason = this.signal.reason ?? new RequestAbortedError();
           } 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;
-          resume(client);
+            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;
+              }
+            });
+          }
         }
-        return pause ? constants.ERROR.PAUSED : 0;
       }
-      onBody(buf) {
-        const { client, socket, statusCode, maxResponseSize } = this;
-        if (socket.destroyed) {
-          return -1;
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert.strictEqual(this.timeoutType, TIMEOUT_BODY);
-        if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
+      }
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { callback, opaque, abort, context: context2, responseHeaders, highWaterMark } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
           }
+          return;
         }
-        assert(statusCode >= 200);
-        if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
-          util.destroy(socket, new ResponseExceededMaxSizeError());
-          return -1;
+        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.bytesRead += buf.length;
-        if (request2.onData(buf) === false) {
-          return constants.ERROR.PAUSED;
+        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: context2
+            });
+          }
         }
       }
-      onMessageComplete() {
-        const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;
-        if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
-          return -1;
-        }
-        if (upgrade) {
-          return;
+      onData(chunk) {
+        return this.res.push(chunk);
+      }
+      onComplete(trailers) {
+        util.parseHeaders(trailers, this.trailers);
+        this.res.push(null);
+      }
+      onError(err) {
+        const { res, callback, body, opaque } = this;
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert(statusCode >= 100);
-        this.statusCode = null;
-        this.statusText = "";
-        this.bytesRead = 0;
-        this.contentLength = "";
-        this.keepAlive = "";
-        this.connection = "";
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        if (statusCode < 200) {
-          return;
+        if (res) {
+          this.res = null;
+          queueMicrotask(() => {
+            util.destroy(res, err);
+          });
         }
-        if (request2.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) {
-          util.destroy(socket, new ResponseContentLengthMismatchError());
-          return -1;
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
         }
-        request2.onComplete(headers);
-        client[kQueue][client[kRunningIdx]++] = null;
-        if (socket[kWriting]) {
-          assert.strictEqual(client[kRunning], 0);
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (!shouldKeepAlive) {
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (socket[kReset] && client[kRunning] === 0) {
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (client[kPipelining] === 1) {
-          setImmediate(resume, client);
-        } else {
-          resume(client);
+        if (this.removeAbortListener) {
+          res?.off("close", this.removeAbortListener);
+          this.removeAbortListener();
+          this.removeAbortListener = null;
         }
       }
     };
-    function onParserTimeout(parser) {
-      const { socket, timeoutType, client } = parser;
-      if (timeoutType === TIMEOUT_HEADERS) {
-        if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
-          assert(!parser.paused, "cannot be paused while waiting for headers");
-          util.destroy(socket, new HeadersTimeoutError());
-        }
-      } else if (timeoutType === TIMEOUT_BODY) {
-        if (!parser.paused) {
-          util.destroy(socket, new BodyTimeoutError());
+    function request2(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve5, reject) => {
+          request2.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve5(data);
+          });
+        });
+      }
+      try {
+        this.dispatch(opts, new RequestHandler(opts, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
-      } else if (timeoutType === TIMEOUT_IDLE) {
-        assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
-        util.destroy(socket, new InformationalError("socket idle timeout"));
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
     }
-    function onSocketReadable() {
-      const { [kParser]: parser } = this;
-      if (parser) {
-        parser.readMore();
+    module2.exports = request2;
+    module2.exports.RequestHandler = RequestHandler;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js
+var require_abort_signal2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
+    var { addAbortListener } = require_util9();
+    var { RequestAbortedError } = require_errors2();
+    var kListener = /* @__PURE__ */ Symbol("kListener");
+    var kSignal = /* @__PURE__ */ Symbol("kSignal");
+    function abort(self2) {
+      if (self2.abort) {
+        self2.abort(self2[kSignal]?.reason);
+      } else {
+        self2.reason = self2[kSignal]?.reason ?? new RequestAbortedError();
       }
+      removeSignal(self2);
     }
-    function onSocketError(err) {
-      const { [kClient]: client, [kParser]: parser } = this;
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      if (client[kHTTPConnVersion] !== "h2") {
-        if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-          return;
-        }
+    function addSignal(self2, signal) {
+      self2.reason = null;
+      self2[kSignal] = null;
+      self2[kListener] = null;
+      if (!signal) {
+        return;
       }
-      this[kError] = err;
-      onError(this[kClient], err);
-    }
-    function onError(client, err) {
-      if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
-        assert(client[kPendingIdx] === client[kRunningIdx]);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
-        }
-        assert(client[kSize] === 0);
+      if (signal.aborted) {
+        abort(self2);
+        return;
       }
+      self2[kSignal] = signal;
+      self2[kListener] = () => {
+        abort(self2);
+      };
+      addAbortListener(self2[kSignal], self2[kListener]);
     }
-    function onSocketEnd() {
-      const { [kParser]: parser, [kClient]: client } = this;
-      if (client[kHTTPConnVersion] !== "h2") {
-        if (parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-          return;
-        }
+    function removeSignal(self2) {
+      if (!self2[kSignal]) {
+        return;
+      }
+      if ("removeEventListener" in self2[kSignal]) {
+        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      } else {
+        self2[kSignal].removeListener("abort", self2[kListener]);
       }
-      util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+      self2[kSignal] = null;
+      self2[kListener] = null;
     }
-    function onSocketClose() {
-      const { [kClient]: client, [kParser]: parser } = this;
-      if (client[kHTTPConnVersion] === "h1" && parser) {
-        if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
+    module2.exports = {
+      addSignal,
+      removeSignal
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-stream.js
+var require_api_stream2 = __commonJS({
+  "node_modules/@actions/github/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_errors2();
+    var util = require_util9();
+    var { getResolveErrorBodyCallback } = require_util11();
+    var { AsyncResource } = require("node:async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var StreamHandler = class extends AsyncResource {
+      constructor(opts, factory, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        this[kParser].destroy();
-        this[kParser] = null;
-      }
-      const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
-      client[kSocket] = null;
-      if (client.destroyed) {
-        assert(client[kPending] === 0);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
+        try {
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (typeof factory !== "function") {
+            throw new InvalidArgumentError("invalid factory");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
+          }
+          super("UNDICI_STREAM");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
         }
-      } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
-      }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit("disconnect", client[kUrl], [client], err);
-      resume(client);
-    }
-    async function connect(client) {
-      assert(!client[kConnecting]);
-      assert(!client[kSocket]);
-      let { host, hostname, protocol, port } = client[kUrl];
-      if (hostname[0] === "[") {
-        const idx = hostname.indexOf("]");
-        assert(idx !== -1);
-        const ip = hostname.substring(1, idx);
-        assert(net.isIP(ip));
-        hostname = ip;
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.factory = factory;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.context = null;
+        this.trailers = null;
+        this.body = body;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError || false;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
+        }
+        addSignal(this, signal);
       }
-      client[kConnecting] = true;
-      if (channels.beforeConnect.hasSubscribers) {
-        channels.beforeConnect.publish({
-          connectParams: {
-            host,
-            hostname,
-            protocol,
-            port,
-            servername: client[kServerName],
-            localAddress: client[kLocalAddress]
-          },
-          connector: client[kConnector]
-        });
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
+        }
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
       }
-      try {
-        const socket = await new Promise((resolve5, reject) => {
-          client[kConnector]({
-            host,
-            hostname,
-            protocol,
-            port,
-            servername: client[kServerName],
-            localAddress: client[kLocalAddress]
-          }, (err, socket2) => {
-            if (err) {
-              reject(err);
-            } else {
-              resolve5(socket2);
-            }
-          });
-        });
-        if (client.destroyed) {
-          util.destroy(socket.on("error", () => {
-          }), new ClientDestroyedError());
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { factory, opaque, context: context2, callback, responseHeaders } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
+          }
           return;
         }
-        client[kConnecting] = false;
-        assert(socket);
-        const isH2 = socket.alpnProtocol === "h2";
-        if (isH2) {
-          if (!h2ExperimentalWarned) {
-            h2ExperimentalWarned = true;
-            process.emitWarning("H2 support is experimental, expect them to change at any time.", {
-              code: "UNDICI-H2"
-            });
+        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;
           }
-          const session = http2.connect(client[kUrl], {
-            createConnection: () => socket,
-            peerMaxConcurrentStreams: client[kHTTP2SessionState].maxConcurrentStreams
+          res = this.runInAsyncScope(factory, null, {
+            statusCode,
+            headers,
+            opaque,
+            context: context2
           });
-          client[kHTTPConnVersion] = "h2";
-          session[kClient] = client;
-          session[kSocket] = socket;
-          session.on("error", onHttp2SessionError);
-          session.on("frameError", onHttp2FrameError);
-          session.on("end", onHttp2SessionEnd);
-          session.on("goaway", onHTTP2GoAway);
-          session.on("close", onSocketClose);
-          session.unref();
-          client[kHTTP2Session] = session;
-          socket[kHTTP2Session] = session;
-        } else {
-          if (!llhttpInstance) {
-            llhttpInstance = await llhttpPromise;
-            llhttpPromise = null;
+          if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") {
+            throw new InvalidReturnValueError("expected Writable");
           }
-          socket[kNoRef] = false;
-          socket[kWriting] = false;
-          socket[kReset] = false;
-          socket[kBlocking] = false;
-          socket[kParser] = new Parser(client, socket, llhttpInstance);
-        }
-        socket[kCounter] = 0;
-        socket[kMaxRequests] = client[kMaxRequests];
-        socket[kClient] = client;
-        socket[kError] = null;
-        socket.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose);
-        client[kSocket] = socket;
-        if (channels.connected.hasSubscribers) {
-          channels.connected.publish({
-            connectParams: {
-              host,
-              hostname,
-              protocol,
-              port,
-              servername: client[kServerName],
-              localAddress: client[kLocalAddress]
-            },
-            connector: client[kConnector],
-            socket
+          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();
+            }
           });
         }
-        client.emit("connect", client[kUrl], [client]);
-      } catch (err) {
-        if (client.destroyed) {
+        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;
         }
-        client[kConnecting] = false;
-        if (channels.connectError.hasSubscribers) {
-          channels.connectError.publish({
-            connectParams: {
-              host,
-              hostname,
-              protocol,
-              port,
-              servername: client[kServerName],
-              localAddress: client[kLocalAddress]
-            },
-            connector: client[kConnector],
-            error: err
+        this.trailers = util.parseHeaders(trailers);
+        res.end();
+      }
+      onError(err) {
+        const { res, callback, opaque, body } = this;
+        removeSignal(this);
+        this.factory = null;
+        if (res) {
+          this.res = null;
+          util.destroy(res, err);
+        } else if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
           });
         }
-        if (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]++];
-            errorRequest2(client, request2, err);
-          }
-        } else {
-          onError(client, err);
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
         }
-        client.emit("connectionError", client[kUrl], [client], err);
       }
-      resume(client);
-    }
-    function emitDrain(client) {
-      client[kNeedDrain] = 0;
-      client.emit("drain", client[kUrl], [client]);
-    }
-    function resume(client, sync) {
-      if (client[kResuming] === 2) {
-        return;
+    };
+    function stream(opts, factory, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve5, reject) => {
+          stream.call(this, opts, factory, (err, data) => {
+            return err ? reject(err) : resolve5(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/@actions/github/node_modules/undici/lib/api/api-pipeline.js
+var require_api_pipeline2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
+    "use strict";
+    var {
+      Readable,
+      Duplex,
+      PassThrough
+    } = require("node:stream");
+    var {
+      InvalidArgumentError,
+      InvalidReturnValueError,
+      RequestAbortedError
+    } = require_errors2();
+    var util = require_util9();
+    var { AsyncResource } = require("node:async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var assert = require("node:assert");
+    var kResume = /* @__PURE__ */ 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]();
       }
-      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;
+      _destroy(err, callback) {
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
+        }
+        callback(err);
       }
-    }
-    function _resume(client, sync) {
-      while (true) {
-        if (client.destroyed) {
-          assert(client[kPending] === 0);
-          return;
+    };
+    var PipelineHandler = class extends AsyncResource {
+      constructor(opts, handler2) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        if (client[kClosedResolve] && !client[kSize]) {
-          client[kClosedResolve]();
-          client[kClosedResolve] = null;
-          return;
+        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");
         }
-        const socket = client[kSocket];
-        if (socket && !socket.destroyed && socket.alpnProtocol !== "h2") {
-          if (client[kSize] === 0) {
-            if (!socket[kNoRef] && socket.unref) {
-              socket.unref();
-              socket[kNoRef] = true;
+        if (onInfo && typeof onInfo !== "function") {
+          throw new InvalidArgumentError("invalid onInfo callback");
+        }
+        super("UNDICI_PIPELINE");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.handler = handler2;
+        this.abort = null;
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.req = new PipelineRequest().on("error", util.nop);
+        this.ret = new Duplex({
+          readableObjectMode: opts.objectMode,
+          autoDestroy: true,
+          read: () => {
+            const { body } = this;
+            if (body?.resume) {
+              body.resume();
             }
-          } else if (socket[kNoRef] && socket.ref) {
-            socket.ref();
-            socket[kNoRef] = false;
-          }
-          if (client[kSize] === 0) {
-            if (socket[kParser].timeoutType !== TIMEOUT_IDLE) {
-              socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE);
+          },
+          write: (chunk, encoding, callback) => {
+            const { req } = this;
+            if (req.push(chunk, encoding) || req._readableState.destroyed) {
+              callback();
+            } else {
+              req[kResume] = callback;
+            }
+          },
+          destroy: (err, callback) => {
+            const { body, req, res, ret, abort } = this;
+            if (!err && !ret._readableState.endEmitted) {
+              err = new RequestAbortedError();
             }
-          } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
-            if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
-              const request3 = client[kQueue][client[kRunningIdx]];
-              const headersTimeout = request3.headersTimeout != null ? request3.headersTimeout : client[kHeadersTimeout];
-              socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
+            if (abort && err) {
+              abort();
             }
+            util.destroy(body, err);
+            util.destroy(req, err);
+            util.destroy(res, err);
+            removeSignal(this);
+            callback(err);
           }
+        }).on("prefinish", () => {
+          const { req } = this;
+          req.push(null);
+        });
+        this.res = null;
+        addSignal(this, signal);
+      }
+      onConnect(abort, context2) {
+        const { ret, res } = this;
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
-        if (client[kBusy]) {
-          client[kNeedDrain] = 2;
-        } else if (client[kNeedDrain] === 2) {
-          if (sync) {
-            client[kNeedDrain] = 1;
-            process.nextTick(emitDrain, client);
-          } else {
-            emitDrain(client);
+        assert(!res, "pipeline cannot be retried");
+        assert(!ret.destroyed);
+        this.abort = abort;
+        this.context = context2;
+      }
+      onHeaders(statusCode, rawHeaders, resume) {
+        const { opaque, handler: handler2, context: context2 } = this;
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+            this.onInfo({ statusCode, headers });
           }
-          continue;
-        }
-        if (client[kPending] === 0) {
           return;
         }
-        if (client[kRunning] >= (client[kPipelining] || 1)) {
-          return;
+        this.res = new PipelineResponse(resume);
+        let body;
+        try {
+          this.handler = null;
+          const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+          body = this.runInAsyncScope(handler2, null, {
+            statusCode,
+            headers,
+            opaque,
+            body: this.res,
+            context: context2
+          });
+        } catch (err) {
+          this.res.on("error", util.nop);
+          throw err;
         }
-        const request2 = client[kQueue][client[kPendingIdx]];
-        if (client[kUrl].protocol === "https:" && client[kServerName] !== request2.servername) {
-          if (client[kRunning] > 0) {
-            return;
+        if (!body || typeof body.on !== "function") {
+          throw new InvalidReturnValueError("expected Readable");
+        }
+        body.on("data", (chunk) => {
+          const { ret, body: body2 } = this;
+          if (!ret.push(chunk) && body2.pause) {
+            body2.pause();
           }
-          client[kServerName] = request2.servername;
-          if (socket && socket.servername !== request2.servername) {
-            util.destroy(socket, new InformationalError("servername changed"));
-            return;
+        }).on("error", (err) => {
+          const { ret } = this;
+          util.destroy(ret, err);
+        }).on("end", () => {
+          const { ret } = this;
+          ret.push(null);
+        }).on("close", () => {
+          const { ret } = this;
+          if (!ret._readableState.ended) {
+            util.destroy(ret, new RequestAbortedError());
           }
+        });
+        this.body = body;
+      }
+      onData(chunk) {
+        const { res } = this;
+        return res.push(chunk);
+      }
+      onComplete(trailers) {
+        const { res } = this;
+        res.push(null);
+      }
+      onError(err) {
+        const { ret } = this;
+        this.handler = null;
+        util.destroy(ret, err);
+      }
+    };
+    function pipeline(opts, handler2) {
+      try {
+        const pipelineHandler = new PipelineHandler(opts, handler2);
+        this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler);
+        return pipelineHandler.ret;
+      } catch (err) {
+        return new PassThrough().destroy(err);
+      }
+    }
+    module2.exports = pipeline;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js
+var require_api_upgrade2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
+    "use strict";
+    var { InvalidArgumentError, SocketError } = require_errors2();
+    var { AsyncResource } = require("node:async_hooks");
+    var util = require_util9();
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var assert = require("node:assert");
+    var UpgradeHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        if (client[kConnecting]) {
-          return;
-        }
-        if (!socket && !client[kHTTP2Session]) {
-          connect(client);
-          return;
-        }
-        if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) {
-          return;
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
         }
-        if (client[kRunning] > 0 && !request2.idempotent) {
-          return;
+        const { signal, opaque, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
         }
-        if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
+        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, context2) {
+        if (this.reason) {
+          abort(this.reason);
           return;
         }
-        if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body))) {
-          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: context2 } = 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: context2
+        });
+      }
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        if (!request2.aborted && write(client, request2)) {
-          client[kPendingIdx]++;
-        } else {
-          client[kQueue].splice(client[kPendingIdx], 1);
+      }
+    };
+    function upgrade(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve5, reject) => {
+          upgrade.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve5(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 }));
       }
     }
-    function shouldSendContentLength(method) {
-      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
-    }
-    function write(client, request2) {
-      if (client[kHTTPConnVersion] === "h2") {
-        writeH2(client, client[kHTTP2Session], request2);
-        return;
-      }
-      const { body, method, path: path7, host, upgrade, headers, blocking, reset } = request2;
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
-      if (body && typeof body.read === "function") {
-        body.read(0);
+    module2.exports = upgrade;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-connect.js
+var require_api_connect2 = __commonJS({
+  "node_modules/@actions/github/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_errors2();
+    var util = require_util9();
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var ConnectHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        const { signal, opaque, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        }
+        super("UNDICI_CONNECT");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.callback = callback;
+        this.abort = null;
+        addSignal(this, signal);
       }
-      const bodyLength = util.bodyLength(body);
-      let contentLength = bodyLength;
-      if (contentLength === null) {
-        contentLength = request2.contentLength;
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
+        }
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
       }
-      if (contentLength === 0 && !expectsPayload) {
-        contentLength = null;
+      onHeaders() {
+        throw new SocketError("bad connect", null);
       }
-      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
-        if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
-          return false;
+      onUpgrade(statusCode, rawHeaders, socket) {
+        const { callback, opaque, context: context2 } = this;
+        removeSignal(this);
+        this.callback = null;
+        let headers = rawHeaders;
+        if (headers != null) {
+          headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
         }
-        process.emitWarning(new RequestContentLengthMismatchError());
-      }
-      const socket = client[kSocket];
-      try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
-            return;
-          }
-          errorRequest2(client, request2, err || new RequestAbortedError());
-          util.destroy(socket, new InformationalError("aborted"));
+        this.runInAsyncScope(callback, null, null, {
+          statusCode,
+          headers,
+          socket,
+          opaque,
+          context: context2
         });
-      } catch (err) {
-        errorRequest2(client, request2, err);
-      }
-      if (request2.aborted) {
-        return false;
       }
-      if (method === "HEAD") {
-        socket[kReset] = true;
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
+        }
       }
-      if (upgrade || method === "CONNECT") {
-        socket[kReset] = true;
+    };
+    function connect(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve5, reject) => {
+          connect.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve5(data);
+          });
+        });
       }
-      if (reset != null) {
-        socket[kReset] = reset;
+      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 }));
       }
-      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
-        socket[kReset] = true;
+    }
+    module2.exports = connect;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/index.js
+var require_api2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/index.js"(exports2, module2) {
+    "use strict";
+    module2.exports.request = require_api_request2();
+    module2.exports.stream = require_api_stream2();
+    module2.exports.pipeline = require_api_pipeline2();
+    module2.exports.upgrade = require_api_upgrade2();
+    module2.exports.connect = require_api_connect2();
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js
+var require_mock_errors2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
+    "use strict";
+    var { UndiciError } = require_errors2();
+    var kMockNotMatchedError = /* @__PURE__ */ 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";
       }
-      if (blocking) {
-        socket[kBlocking] = true;
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kMockNotMatchedError] === true;
       }
-      let header = `${method} ${path7} HTTP/1.1\r
-`;
-      if (typeof host === "string") {
-        header += `host: ${host}\r
-`;
-      } else {
-        header += client[kHostHeader];
+      [kMockNotMatchedError] = true;
+    };
+    module2.exports = {
+      MockNotMatchedError
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js
+var require_mock_symbols2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kAgent: /* @__PURE__ */ Symbol("agent"),
+      kOptions: /* @__PURE__ */ Symbol("options"),
+      kFactory: /* @__PURE__ */ Symbol("factory"),
+      kDispatches: /* @__PURE__ */ Symbol("dispatches"),
+      kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
+      kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
+      kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
+      kContentLength: /* @__PURE__ */ Symbol("content length"),
+      kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
+      kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
+      kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
+      kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
+      kClose: /* @__PURE__ */ Symbol("close"),
+      kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
+      kOrigin: /* @__PURE__ */ Symbol("origin"),
+      kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
+      kNetConnect: /* @__PURE__ */ Symbol("net connect"),
+      kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
+      kConnected: /* @__PURE__ */ Symbol("connected")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js
+var require_mock_utils2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
+    "use strict";
+    var { MockNotMatchedError } = require_mock_errors2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kOriginalDispatch,
+      kOrigin,
+      kGetNetConnect
+    } = require_mock_symbols2();
+    var { buildURL } = require_util9();
+    var { STATUS_CODES } = require("node:http");
+    var {
+      types: {
+        isPromise
       }
-      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";
+    } = require("node:util");
+    function matchValue(match, value) {
+      if (typeof match === "string") {
+        return match === value;
       }
-      if (headers) {
-        header += headers;
+      if (match instanceof RegExp) {
+        return match.test(value);
       }
-      if (channels.sendHeaders.hasSubscribers) {
-        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      if (typeof match === "function") {
+        return match(value) === true;
       }
-      if (!body || bodyLength === 0) {
-        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");
-        }
-        request2.onRequestSent();
-      } else if (util.isBuffer(body)) {
-        assert(contentLength === body.byteLength, "buffer body must have content length");
-        socket.cork();
-        socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-        socket.write(body);
-        socket.uncork();
-        request2.onBodySent(body);
-        request2.onRequestSent();
-        if (!expectsPayload) {
-          socket[kReset] = true;
-        }
-      } else if (util.isBlobLike(body)) {
-        if (typeof body.stream === "function") {
-          writeIterable({ body: body.stream(), client, request: request2, socket, contentLength, header, expectsPayload });
-        } else {
-          writeBlob({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+      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];
+          }
         }
-      } else if (util.isStream(body)) {
-        writeStream({ body, client, request: request2, socket, contentLength, header, expectsPayload });
-      } else if (util.isIterable(body)) {
-        writeIterable({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+        return void 0;
+      } else if (typeof headers.get === "function") {
+        return headers.get(key);
       } else {
-        assert(false);
+        return lowerCaseEntries(headers)[key.toLocaleLowerCase()];
       }
-      return true;
     }
-    function writeH2(client, session, request2) {
-      const { body, method, path: path7, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
-      let headers;
-      if (typeof reqHeaders === "string") headers = Request[kHTTP2CopyHeaders](reqHeaders.trim());
-      else headers = reqHeaders;
-      if (upgrade) {
-        errorRequest2(client, request2, new Error("Upgrade not supported for H2"));
-        return false;
+    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]]);
       }
-      try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
-            return;
-          }
-          errorRequest2(client, request2, err || new RequestAbortedError());
-        });
-      } catch (err) {
-        errorRequest2(client, request2, err);
+      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 (request2.aborted) {
+      if (typeof mockDispatch2.headers === "undefined") {
+        return true;
+      }
+      if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") {
         return false;
       }
-      let stream;
-      const h2State = client[kHTTP2SessionState];
-      headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost];
-      headers[HTTP2_HEADER_METHOD] = method;
-      if (method === "CONNECT") {
-        session.ref();
-        stream = session.request(headers, { endStream: false, signal });
-        if (stream.id && !stream.pending) {
-          request2.onUpgrade(null, null, stream);
-          ++h2State.openStreams;
-        } else {
-          stream.once("ready", () => {
-            request2.onUpgrade(null, null, stream);
-            ++h2State.openStreams;
-          });
+      for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) {
+        const headerValue = getHeaderByName(headers, matchHeaderName);
+        if (!matchValue(matchHeaderValue, headerValue)) {
+          return false;
         }
-        stream.once("close", () => {
-          h2State.openStreams -= 1;
-          if (h2State.openStreams === 0) session.unref();
-        });
-        return true;
       }
-      headers[HTTP2_HEADER_PATH] = path7;
-      headers[HTTP2_HEADER_SCHEME] = "https";
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
-      if (body && typeof body.read === "function") {
-        body.read(0);
+      return true;
+    }
+    function safeUrl(path7) {
+      if (typeof path7 !== "string") {
+        return path7;
       }
-      let contentLength = util.bodyLength(body);
-      if (contentLength == null) {
-        contentLength = request2.contentLength;
+      const pathSegments = path7.split("?");
+      if (pathSegments.length !== 2) {
+        return path7;
       }
-      if (contentLength === 0 || !expectsPayload) {
-        contentLength = null;
+      const qp = new URLSearchParams(pathSegments.pop());
+      qp.sort();
+      return [...pathSegments, qp.toString()].join("?");
+    }
+    function matchKey(mockDispatch2, { path: path7, method, body, headers }) {
+      const pathMatch = matchValue(mockDispatch2.path, path7);
+      const methodMatch = matchValue(mockDispatch2.method, method);
+      const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
+      const headersMatch = matchHeaders(mockDispatch2, headers);
+      return pathMatch && methodMatch && bodyMatch && headersMatch;
+    }
+    function getResponseData2(data) {
+      if (Buffer.isBuffer(data)) {
+        return data;
+      } else if (data instanceof Uint8Array) {
+        return data;
+      } else if (data instanceof ArrayBuffer) {
+        return data;
+      } else if (typeof data === "object") {
+        return JSON.stringify(data);
+      } else {
+        return data.toString();
       }
-      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
-        if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
-          return false;
-        }
-        process.emitWarning(new RequestContentLengthMismatchError());
+    }
+    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: path7 }) => matchValue(safeUrl(path7), resolvedPath));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
       }
-      if (contentLength != null) {
-        assert(body, "no body must not have content length");
-        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
+      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}'`);
       }
-      session.ref();
-      const shouldEndStream = method === "GET" || method === "HEAD";
-      if (expectContinue) {
-        headers[HTTP2_HEADER_EXPECT] = "100-continue";
-        stream = session.request(headers, { endStream: shouldEndStream, signal });
-        stream.once("continue", writeBodyH2);
-      } else {
-        stream = session.request(headers, {
-          endStream: shouldEndStream,
-          signal
-        });
-        writeBodyH2();
+      matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}' on path '${resolvedPath}'`);
       }
-      ++h2State.openStreams;
-      stream.once("response", (headers2) => {
-        const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
-        if (request2.onHeaders(Number(statusCode), realHeaders, stream.resume.bind(stream), "") === false) {
-          stream.pause();
-        }
-      });
-      stream.once("end", () => {
-        request2.onComplete([]);
-      });
-      stream.on("data", (chunk) => {
-        if (request2.onData(chunk) === false) {
-          stream.pause();
-        }
-      });
-      stream.once("close", () => {
-        h2State.openStreams -= 1;
-        if (h2State.openStreams === 0) {
-          session.unref();
-        }
-      });
-      stream.once("error", function(err) {
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream, err);
-        }
-      });
-      stream.once("frameError", (type2, code) => {
-        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-        errorRequest2(client, request2, err);
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream, err);
+      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);
       });
-      return true;
-      function writeBodyH2() {
-        if (!body) {
-          request2.onRequestSent();
-        } else if (util.isBuffer(body)) {
-          assert(contentLength === body.byteLength, "buffer body must have content length");
-          stream.cork();
-          stream.write(body);
-          stream.uncork();
-          stream.end();
-          request2.onBodySent(body);
-          request2.onRequestSent();
-        } else if (util.isBlobLike(body)) {
-          if (typeof body.stream === "function") {
-            writeIterable({
-              client,
-              request: request2,
-              contentLength,
-              h2stream: stream,
-              expectsPayload,
-              body: body.stream(),
-              socket: client[kSocket],
-              header: ""
-            });
-          } else {
-            writeBlob({
-              body,
-              client,
-              request: request2,
-              contentLength,
-              expectsPayload,
-              h2stream: stream,
-              header: "",
-              socket: client[kSocket]
-            });
+      if (index !== -1) {
+        mockDispatches.splice(index, 1);
+      }
+    }
+    function buildKey(opts) {
+      const { path: path7, method, body, headers, query } = opts;
+      return {
+        path: path7,
+        method,
+        body,
+        headers,
+        query
+      };
+    }
+    function generateKeyValues(data) {
+      const keys = Object.keys(data);
+      const result = [];
+      for (let i = 0; i < keys.length; ++i) {
+        const key = keys[i];
+        const value = data[key];
+        const name = Buffer.from(`${key}`);
+        if (Array.isArray(value)) {
+          for (let j = 0; j < value.length; ++j) {
+            result.push(name, Buffer.from(`${value[j]}`));
           }
-        } else if (util.isStream(body)) {
-          writeStream({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            socket: client[kSocket],
-            h2stream: stream,
-            header: ""
-          });
-        } else if (util.isIterable(body)) {
-          writeIterable({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            header: "",
-            h2stream: stream,
-            socket: client[kSocket]
-          });
         } else {
-          assert(false);
+          result.push(name, Buffer.from(`${value}`));
         }
       }
+      return result;
     }
-    function writeStream({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
-      if (client[kHTTPConnVersion] === "h2") {
-        let onPipeData = function(chunk) {
-          request2.onBodySent(chunk);
-        };
-        const pipe = pipeline(
-          body,
-          h2stream,
-          (err) => {
-            if (err) {
-              util.destroy(body, err);
-              util.destroy(h2stream, err);
-            } else {
-              request2.onRequestSent();
-            }
-          }
-        );
-        pipe.on("data", onPipeData);
-        pipe.once("end", () => {
-          pipe.removeListener("data", onPipeData);
-          util.destroy(pipe);
-        });
-        return;
+    function getStatusText(statusCode) {
+      return STATUS_CODES[statusCode] || "unknown";
+    }
+    async function getResponse(body) {
+      const buffers = [];
+      for await (const data of body) {
+        buffers.push(data);
       }
-      let finished = false;
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
-      const onData = function(chunk) {
-        if (finished) {
-          return;
-        }
-        try {
-          if (!writer.write(chunk) && this.pause) {
-            this.pause();
-          }
-        } catch (err) {
-          util.destroy(this, err);
-        }
-      };
-      const onDrain = function() {
-        if (finished) {
-          return;
-        }
-        if (body.resume) {
-          body.resume();
-        }
-      };
-      const onAbort = function() {
-        if (finished) {
-          return;
-        }
-        const err = new RequestAbortedError();
-        queueMicrotask(() => onFinished(err));
-      };
-      const onFinished = function(err) {
-        if (finished) {
+      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: error3 }, delay, persist } = mockDispatch2;
+      const { timesInvoked, times } = mockDispatch2;
+      mockDispatch2.consumed = !persist && timesInvoked >= times;
+      mockDispatch2.pending = timesInvoked < times;
+      if (error3 !== null) {
+        deleteMockDispatch(this[kDispatches], key);
+        handler2.onError(error3);
+        return true;
+      }
+      if (typeof delay === "number" && delay > 0) {
+        setTimeout(() => {
+          handleReply(this[kDispatches]);
+        }, delay);
+      } else {
+        handleReply(this[kDispatches]);
+      }
+      function handleReply(mockDispatches, _data = data) {
+        const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
+        const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
+        if (isPromise(body)) {
+          body.then((newData) => handleReply(mockDispatches, newData));
           return;
         }
-        finished = true;
-        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
-        socket.off("drain", onDrain).off("error", onFinished);
-        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("error", onFinished).removeListener("close", onAbort);
-        if (!err) {
+        const responseData = getResponseData2(body);
+        const responseHeaders = generateKeyValues(headers);
+        const responseTrailers = generateKeyValues(trailers);
+        handler2.onConnect?.((err) => handler2.onError(err), null);
+        handler2.onHeaders?.(statusCode, responseHeaders, resume, getStatusText(statusCode));
+        handler2.onData?.(Buffer.from(responseData));
+        handler2.onComplete?.(responseTrailers);
+        deleteMockDispatch(mockDispatches, key);
+      }
+      function resume() {
+      }
+      return true;
+    }
+    function buildMockDispatch() {
+      const agent = this[kMockAgent];
+      const origin = this[kOrigin];
+      const originalDispatch = this[kOriginalDispatch];
+      return function dispatch(opts, handler2) {
+        if (agent.isMockActive) {
           try {
-            writer.end();
-          } catch (er) {
-            err = er;
+            mockDispatch.call(this, opts, handler2);
+          } catch (error3) {
+            if (error3 instanceof MockNotMatchedError) {
+              const netConnect = agent[kGetNetConnect]();
+              if (netConnect === false) {
+                throw new MockNotMatchedError(`${error3.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(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
+              }
+            } else {
+              throw error3;
+            }
           }
-        }
-        writer.destroy(err);
-        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
-          util.destroy(body, err);
         } else {
-          util.destroy(body);
+          originalDispatch.call(this, opts, handler2);
         }
       };
-      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onAbort);
-      if (body.resume) {
-        body.resume();
-      }
-      socket.on("drain", onDrain).on("error", onFinished);
     }
-    async function writeBlob({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength === body.size, "blob body must have content length");
-      const isH2 = client[kHTTPConnVersion] === "h2";
-      try {
-        if (contentLength != null && contentLength !== body.size) {
-          throw new RequestContentLengthMismatchError();
-        }
-        const buffer = Buffer.from(await body.arrayBuffer());
-        if (isH2) {
-          h2stream.cork();
-          h2stream.write(buffer);
-          h2stream.uncork();
-        } else {
-          socket.cork();
-          socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-          socket.write(buffer);
-          socket.uncork();
-        }
-        request2.onBodySent(buffer);
-        request2.onRequestSent();
-        if (!expectsPayload) {
-          socket[kReset] = true;
-        }
-        resume(client);
-      } catch (err) {
-        util.destroy(isH2 ? h2stream : socket, err);
+    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;
     }
-    async function writeIterable({ h2stream, body, client, request: 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();
-        }
+    function buildMockOptions(opts) {
+      if (opts) {
+        const { agent, ...mockOptions } = opts;
+        return mockOptions;
       }
-      const waitForDrain = () => new Promise((resolve5, reject) => {
-        assert(callback === null);
-        if (socket[kError]) {
-          reject(socket[kError]);
-        } else {
-          callback = resolve5;
-        }
-      });
-      if (client[kHTTPConnVersion] === "h2") {
-        h2stream.on("close", onDrain).on("drain", onDrain);
-        try {
-          for await (const chunk of body) {
-            if (socket[kError]) {
-              throw socket[kError];
-            }
-            const res = h2stream.write(chunk);
-            request2.onBodySent(chunk);
-            if (!res) {
-              await waitForDrain();
-            }
-          }
-        } catch (err) {
-          h2stream.destroy(err);
-        } finally {
-          request2.onRequestSent();
-          h2stream.end();
-          h2stream.off("close", onDrain).off("drain", onDrain);
-        }
-        return;
+    }
+    module2.exports = {
+      getResponseData: getResponseData2,
+      getMockDispatch,
+      addMockDispatch,
+      deleteMockDispatch,
+      buildKey,
+      generateKeyValues,
+      matchValue,
+      getResponse,
+      getStatusText,
+      mockDispatch,
+      buildMockDispatch,
+      checkNetConnect,
+      buildMockOptions,
+      getHeaderByName,
+      buildHeadersFromArray
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js
+var require_mock_interceptor2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
+    "use strict";
+    var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kDispatchKey,
+      kDefaultHeaders,
+      kDefaultTrailers,
+      kContentLength,
+      kMockDispatch
+    } = require_mock_symbols2();
+    var { InvalidArgumentError } = require_errors2();
+    var { buildURL } = require_util9();
+    var MockScope = class {
+      constructor(mockDispatch) {
+        this[kMockDispatch] = mockDispatch;
       }
-      socket.on("close", onDrain).on("drain", onDrain);
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
-      try {
-        for await (const chunk of body) {
-          if (socket[kError]) {
-            throw socket[kError];
-          }
-          if (!writer.write(chunk)) {
-            await waitForDrain();
-          }
+      /**
+       * 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");
         }
-        writer.end();
-      } catch (err) {
-        writer.destroy(err);
-      } finally {
-        socket.off("close", onDrain).off("drain", onDrain);
+        this[kMockDispatch].delay = waitInMs;
+        return this;
       }
-    }
-    var AsyncWriter = class {
-      constructor({ 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;
-        socket[kWriting] = true;
+      /**
+       * For a defined reply, never mark as consumed.
+       */
+      persist() {
+        this[kMockDispatch].persist = true;
+        return this;
       }
-      write(chunk) {
-        const { socket, request: request2, contentLength, client, bytesWritten, expectsPayload, header } = this;
-        if (socket[kError]) {
-          throw socket[kError];
+      /**
+       * Allow one to define a reply for a set amount of matching requests.
+       */
+      times(repeatTimes) {
+        if (typeof repeatTimes !== "number" || !Number.isInteger(repeatTimes) || repeatTimes <= 0) {
+          throw new InvalidArgumentError("repeatTimes must be a valid integer > 0");
         }
-        if (socket.destroyed) {
-          return false;
+        this[kMockDispatch].times = repeatTimes;
+        return this;
+      }
+    };
+    var MockInterceptor = class {
+      constructor(opts, mockDispatches) {
+        if (typeof opts !== "object") {
+          throw new InvalidArgumentError("opts must be an object");
         }
-        const len = Buffer.byteLength(chunk);
-        if (!len) {
-          return true;
+        if (typeof opts.path === "undefined") {
+          throw new InvalidArgumentError("opts.path must be defined");
         }
-        if (contentLength !== null && bytesWritten + len > contentLength) {
-          if (client[kStrictContentLength]) {
-            throw new RequestContentLengthMismatchError();
-          }
-          process.emitWarning(new RequestContentLengthMismatchError());
+        if (typeof opts.method === "undefined") {
+          opts.method = "GET";
         }
-        socket.cork();
-        if (bytesWritten === 0) {
-          if (!expectsPayload) {
-            socket[kReset] = true;
-          }
-          if (contentLength === null) {
-            socket.write(`${header}transfer-encoding: chunked\r
-`, "latin1");
+        if (typeof opts.path === "string") {
+          if (opts.query) {
+            opts.path = buildURL(opts.path, opts.query);
           } else {
-            socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
+            const parsedURL = new URL(opts.path, "data://");
+            opts.path = parsedURL.pathname + parsedURL.search;
           }
         }
-        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();
-            }
-          }
+        if (typeof opts.method === "string") {
+          opts.method = opts.method.toUpperCase();
         }
-        return ret;
+        this[kDispatchKey] = buildKey(opts);
+        this[kDispatches] = mockDispatches;
+        this[kDefaultHeaders] = {};
+        this[kDefaultTrailers] = {};
+        this[kContentLength] = false;
       }
-      end() {
-        const { socket, contentLength, client, bytesWritten, expectsPayload, header, request: request2 } = this;
-        request2.onRequestSent();
-        socket[kWriting] = false;
-        if (socket[kError]) {
-          throw socket[kError];
+      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 (socket.destroyed) {
-          return;
+        if (typeof replyParameters.responseOptions !== "object" || replyParameters.responseOptions === null) {
+          throw new InvalidArgumentError("responseOptions must be an object");
         }
-        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");
+      }
+      /**
+       * 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);
         }
-        if (contentLength !== null && bytesWritten !== contentLength) {
-          if (client[kStrictContentLength]) {
-            throw new RequestContentLengthMismatchError();
-          } else {
-            process.emitWarning(new RequestContentLengthMismatchError());
-          }
+        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(error3) {
+        if (typeof error3 === "undefined") {
+          throw new InvalidArgumentError("error must be defined");
         }
-        if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
-          if (socket[kParser].timeout.refresh) {
-            socket[kParser].timeout.refresh();
-          }
+        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error: error3 });
+        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");
         }
-        resume(client);
+        this[kDefaultHeaders] = headers;
+        return this;
       }
-      destroy(err) {
-        const { socket, client } = this;
-        socket[kWriting] = false;
-        if (err) {
-          assert(client[kRunning] <= 1, "pipeline should only contain this request");
-          util.destroy(socket, err);
+      /**
+       * 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;
       }
-    };
-    function errorRequest2(client, request2, err) {
-      try {
-        request2.onError(err);
-        assert(request2.aborted);
-      } catch (err2) {
-        client.emit("error", err2);
+      /**
+       * Set reply content length header for replies on the interceptor
+       */
+      replyContentLength() {
+        this[kContentLength] = true;
+        return this;
       }
-    }
-    module2.exports = Client;
+    };
+    module2.exports.MockInterceptor = MockInterceptor;
+    module2.exports.MockScope = MockScope;
   }
 });
 
-// node_modules/undici/lib/node/fixed-queue.js
-var require_fixed_queue2 = __commonJS({
-  "node_modules/undici/lib/node/fixed-queue.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js
+var require_mock_client2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.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;
+    var { promisify } = require("node:util");
+    var Client = require_client2();
+    var { buildMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols2();
+    var { MockInterceptor } = require_mock_interceptor2();
+    var Symbols = require_symbols6();
+    var { InvalidArgumentError } = require_errors2();
+    var MockClient = class extends Client {
+      constructor(origin, opts) {
+        super(origin, opts);
+        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
+        }
+        this[kMockAgent] = opts.agent;
+        this[kOrigin] = origin;
+        this[kDispatches] = [];
+        this[kConnected] = 1;
+        this[kOriginalDispatch] = this.dispatch;
+        this[kOriginalClose] = this.close.bind(this);
+        this.dispatch = buildMockDispatch.call(this);
+        this.close = this[kClose];
       }
-      isFull() {
-        return (this.top + 1 & kMask) === this.bottom;
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
-      push(data) {
-        this.list[this.top] = data;
-        this.top = this.top + 1 & kMask;
+      /**
+       * Sets up the base interceptor for mocking replies from undici.
+       */
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
       }
-      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;
+      async [kClose]() {
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
     };
-    module2.exports = class FixedQueue {
-      constructor() {
-        this.head = this.tail = new FixedCircularBuffer();
+    module2.exports = MockClient;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js
+var require_mock_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
+    "use strict";
+    var { promisify } = require("node:util");
+    var Pool = require_pool2();
+    var { buildMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols2();
+    var { MockInterceptor } = require_mock_interceptor2();
+    var Symbols = require_symbols6();
+    var { InvalidArgumentError } = require_errors2();
+    var MockPool = class extends Pool {
+      constructor(origin, opts) {
+        super(origin, opts);
+        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
+        }
+        this[kMockAgent] = opts.agent;
+        this[kOrigin] = origin;
+        this[kDispatches] = [];
+        this[kConnected] = 1;
+        this[kOriginalDispatch] = this.dispatch;
+        this[kOriginalClose] = this.close.bind(this);
+        this.dispatch = buildMockDispatch.call(this);
+        this.close = this[kClose];
       }
-      isEmpty() {
-        return this.head.isEmpty();
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
-      push(data) {
-        if (this.head.isFull()) {
-          this.head = this.head.next = new FixedCircularBuffer();
-        }
-        this.head.push(data);
+      /**
+       * Sets up the base interceptor for mocking replies from undici.
+       */
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
       }
-      shift() {
-        const tail = this.tail;
-        const next = tail.shift();
-        if (tail.isEmpty() && tail.next !== null) {
-          this.tail = tail.next;
-        }
-        return next;
+      async [kClose]() {
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
     };
+    module2.exports = MockPool;
   }
 });
 
-// node_modules/undici/lib/pool-stats.js
-var require_pool_stats2 = __commonJS({
-  "node_modules/undici/lib/pool-stats.js"(exports2, module2) {
-    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
-    var kPool = /* @__PURE__ */ 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];
+// node_modules/@actions/github/node_modules/undici/lib/mock/pluralizer.js
+var require_pluralizer2 = __commonJS({
+  "node_modules/@actions/github/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;
       }
-      get size() {
-        return this[kPool][kSize];
+      pluralize(count) {
+        const one = count === 1;
+        const keys = one ? singulars : plurals;
+        const noun = one ? this.singular : this.plural;
+        return { ...keys, count, noun };
       }
     };
-    module2.exports = PoolStats;
   }
 });
 
-// node_modules/undici/lib/pool-base.js
-var require_pool_base2 = __commonJS({
-  "node_modules/undici/lib/pool-base.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js
+var require_pending_interceptors_formatter2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
     "use strict";
-    var DispatcherBase = require_dispatcher_base2();
-    var FixedQueue = require_fixed_queue2();
-    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
-    var PoolStats = require_pool_stats2();
-    var kClients = /* @__PURE__ */ Symbol("clients");
-    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
-    var kQueue = /* @__PURE__ */ Symbol("queue");
-    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
-    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
-    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
-    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
-    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
-    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
-    var kAddClient = /* @__PURE__ */ Symbol("add client");
-    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
-    var kStats = /* @__PURE__ */ 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]);
+    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);
           }
-          if (pool[kClosedResolve] && queue.isEmpty()) {
-            Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]);
+        });
+        this.logger = new Console({
+          stdout: this.transform,
+          inspectOptions: {
+            colors: !disableColors && !process.env.CI
           }
-        };
-        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;
+      format(pendingInterceptors) {
+        const withPrettyHeaders = pendingInterceptors.map(
+          ({ method, path: path7, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
+            Method: method,
+            Origin: origin,
+            Path: path7,
+            "Status code": statusCode,
+            Persistent: persist ? PERSISTENT : NOT_PERSISTENT,
+            Invocations: timesInvoked,
+            Remaining: persist ? Infinity : times - timesInvoked
+          })
+        );
+        this.logger.table(withPrettyHeaders);
+        return this.transform.read().toString();
       }
-      get [kFree]() {
-        return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js
+var require_mock_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
+    "use strict";
+    var { kClients } = require_symbols6();
+    var Agent = require_agent2();
+    var {
+      kAgent,
+      kMockAgentSet,
+      kMockAgentGet,
+      kDispatches,
+      kIsMockActive,
+      kNetConnect,
+      kGetNetConnect,
+      kOptions,
+      kFactory
+    } = require_mock_symbols2();
+    var MockClient = require_mock_client2();
+    var MockPool = require_mock_pool2();
+    var { matchValue, buildMockOptions } = require_mock_utils2();
+    var { InvalidArgumentError, UndiciError } = require_errors2();
+    var Dispatcher = require_dispatcher2();
+    var Pluralizer = require_pluralizer2();
+    var PendingInterceptorsFormatter = require_pending_interceptors_formatter2();
+    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 [kPending]() {
-        let ret = this[kQueued];
-        for (const { [kPending]: pending } of this[kClients]) {
-          ret += pending;
+      get(origin) {
+        let dispatcher = this[kMockAgentGet](origin);
+        if (!dispatcher) {
+          dispatcher = this[kFactory](origin);
+          this[kMockAgentSet](origin, dispatcher);
         }
-        return ret;
+        return dispatcher;
       }
-      get [kRunning]() {
-        let ret = 0;
-        for (const { [kRunning]: running } of this[kClients]) {
-          ret += running;
+      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.");
         }
-        return ret;
       }
-      get [kSize]() {
-        let ret = this[kQueued];
-        for (const { [kSize]: size } of this[kClients]) {
-          ret += size;
-        }
-        return ret;
+      disableNetConnect() {
+        this[kNetConnect] = false;
       }
-      get stats() {
-        return this[kStats];
+      // This is required to bypass issues caused by using global symbols - see:
+      // https://github.com/nodejs/undici/issues/1447
+      get isMockActive() {
+        return this[kIsMockActive];
       }
-      async [kClose]() {
-        if (this[kQueue].isEmpty()) {
-          return Promise.all(this[kClients].map((c) => c.close()));
-        } else {
-          return new Promise((resolve5) => {
-            this[kClosedResolve] = resolve5;
-          });
-        }
+      [kMockAgentSet](origin, dispatcher) {
+        this[kClients].set(origin, dispatcher);
       }
-      async [kDestroy](err) {
-        while (true) {
-          const item = this[kQueue].shift();
-          if (!item) {
-            break;
+      [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;
           }
-          item.handler.onError(err);
         }
-        return 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];
+      [kGetNetConnect]() {
+        return this[kNetConnect];
       }
-      [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]) {
-          process.nextTick(() => {
-            if (this[kNeedDrain]) {
-              this[kOnDrain](client[kUrl], [this, client]);
-            }
-          });
-        }
-        return this;
+      pendingInterceptors() {
+        const mockAgentClients = this[kClients];
+        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
       }
-      [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);
+      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 = {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kRemoveClient,
-      kGetDispatcher
-    };
+    module2.exports = MockAgent;
   }
 });
 
-// node_modules/undici/lib/pool.js
-var require_pool2 = __commonJS({
-  "node_modules/undici/lib/pool.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/global.js
+var require_global4 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/global.js"(exports2, module2) {
     "use strict";
-    var {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kGetDispatcher
-    } = require_pool_base2();
-    var Client = require_client2();
-    var {
-      InvalidArgumentError
-    } = require_errors2();
-    var util = require_util9();
-    var { kUrl, kInterceptors } = require_symbols6();
-    var buildConnector = require_connect2();
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    var kConnections = /* @__PURE__ */ Symbol("connections");
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    function defaultFactory(origin, opts) {
-      return new Client(origin, opts);
+    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
+    var { InvalidArgumentError } = require_errors2();
+    var Agent = require_agent2();
+    if (getGlobalDispatcher() === void 0) {
+      setGlobalDispatcher(new Agent());
     }
-    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,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
-            ...connect
-          });
-        }
-        this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
-        this[kConnections] = connections || null;
-        this[kUrl] = util.parseOrigin(origin);
-        this[kOptions] = { ...util.deepClone(options), connect, allowH2 };
-        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
-        this[kFactory] = factory;
-        this.on("connectionError", (origin2, targets, error3) => {
-          for (const target of targets) {
-            const idx = this[kClients].indexOf(target);
-            if (idx !== -1) {
-              this[kClients].splice(idx, 1);
-            }
-          }
-        });
-      }
-      [kGetDispatcher]() {
-        let dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain]);
-        if (dispatcher) {
-          return dispatcher;
-        }
-        if (!this[kConnections] || this[kClients].length < this[kConnections]) {
-          dispatcher = this[kFactory](this[kUrl], this[kOptions]);
-          this[kAddClient](dispatcher);
-        }
-        return dispatcher;
+    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
     };
-    module2.exports = Pool;
   }
 });
 
-// node_modules/undici/lib/balanced-pool.js
-var require_balanced_pool2 = __commonJS({
-  "node_modules/undici/lib/balanced-pool.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/handler/decorator-handler.js
+var require_decorator_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/decorator-handler.js"(exports2, module2) {
     "use strict";
-    var {
-      BalancedPoolMissingUpstreamError,
-      InvalidArgumentError
-    } = require_errors2();
-    var {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kRemoveClient,
-      kGetDispatcher
-    } = require_pool_base2();
-    var Pool = require_pool2();
-    var { kUrl, kInterceptors } = require_symbols6();
-    var { parseOrigin } = require_util9();
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
-    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
-    var kIndex = /* @__PURE__ */ Symbol("kIndex");
-    var kWeight = /* @__PURE__ */ Symbol("kWeight");
-    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
-    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
-    function getGreatestCommonDivisor(a, b) {
-      if (b === 0) return a;
-      return getGreatestCommonDivisor(b, a % b);
-    }
-    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 && opts.interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : [];
-        this[kFactory] = factory;
-        for (const upstream of upstreams) {
-          this.addUpstream(upstream);
+    module2.exports = class DecoratorHandler {
+      #handler;
+      constructor(handler2) {
+        if (typeof handler2 !== "object" || handler2 === null) {
+          throw new TypeError("handler must be an object");
         }
-        this._updateBalancedPoolStats();
+        this.#handler = handler2;
       }
-      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;
+      onConnect(...args) {
+        return this.#handler.onConnect?.(...args);
       }
-      _updateBalancedPoolStats() {
-        this[kGreatestCommonDivisor] = this[kClients].map((p) => p[kWeight]).reduce(getGreatestCommonDivisor, 0);
+      onError(...args) {
+        return this.#handler.onError?.(...args);
       }
-      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;
+      onUpgrade(...args) {
+        return this.#handler.onUpgrade?.(...args);
       }
-      get upstreams() {
-        return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin);
+      onResponseStarted(...args) {
+        return this.#handler.onResponseStarted?.(...args);
       }
-      [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];
+      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);
       }
     };
-    module2.exports = BalancedPool;
   }
 });
 
-// node_modules/undici/lib/compat/dispatcher-weakref.js
-var require_dispatcher_weakref2 = __commonJS({
-  "node_modules/undici/lib/compat/dispatcher-weakref.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js
+var require_redirect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js"(exports2, module2) {
     "use strict";
-    var { kConnected, kSize } = require_symbols6();
-    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);
-            }
-          });
-        }
-      }
+    var RedirectHandler = require_redirect_handler2();
+    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);
+        };
+      };
     };
-    module2.exports = function() {
-      if (process.env.NODE_V8_COVERAGE) {
-        return {
-          WeakRef: CompatWeakRef,
-          FinalizationRegistry: CompatFinalizer
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js
+var require_retry2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js"(exports2, module2) {
+    "use strict";
+    var RetryHandler = require_retry_handler2();
+    module2.exports = (globalOpts) => {
+      return (dispatch) => {
+        return function retryInterceptor(opts, handler2) {
+          return dispatch(
+            opts,
+            new RetryHandler(
+              { ...opts, retryOptions: { ...globalOpts, ...opts.retryOptions } },
+              {
+                handler: handler2,
+                dispatch
+              }
+            )
+          );
         };
-      }
-      return {
-        WeakRef: global.WeakRef || CompatWeakRef,
-        FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer
       };
     };
   }
 });
 
-// node_modules/undici/lib/agent.js
-var require_agent2 = __commonJS({
-  "node_modules/undici/lib/agent.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/dump.js
+var require_dump2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/dump.js"(exports2, module2) {
     "use strict";
-    var { InvalidArgumentError } = require_errors2();
-    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
-    var DispatcherBase = require_dispatcher_base2();
-    var Pool = require_pool2();
-    var Client = require_client2();
     var util = require_util9();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var { WeakRef: WeakRef2, FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
-    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
-    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
-    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
-    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
-    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    var kFinalizer = /* @__PURE__ */ Symbol("finalizer");
-    var kOptions = /* @__PURE__ */ 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");
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
+    var DecoratorHandler = require_decorator_handler2();
+    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");
         }
-        if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {
-          throw new InvalidArgumentError("maxRedirections must be a positive number");
+        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 (connect && typeof connect !== "function") {
-          connect = { ...connect };
+        if (this.#aborted) {
+          return true;
         }
-        this[kInterceptors] = options.interceptors && options.interceptors.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
-        this[kOptions] = { ...util.deepClone(options), connect };
-        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
-        this[kMaxRedirections] = maxRedirections;
-        this[kFactory] = factory;
-        this[kClients] = /* @__PURE__ */ new Map();
-        this[kFinalizer] = new FinalizationRegistry2(
-          /* istanbul ignore next: gc is undeterministic */
-          (key) => {
-            const ref = this[kClients].get(key);
-            if (ref !== void 0 && ref.deref() === void 0) {
-              this[kClients].delete(key);
-            }
-          }
+        return this.#handler.onHeaders(
+          statusCode,
+          rawHeaders,
+          resume,
+          statusMessage
         );
-        const agent = this;
-        this[kOnDrain] = (origin, targets) => {
-          agent.emit("drain", origin, [agent, ...targets]);
-        };
-        this[kOnConnect] = (origin, targets) => {
-          agent.emit("connect", origin, [agent, ...targets]);
-        };
-        this[kOnDisconnect] = (origin, targets, err) => {
-          agent.emit("disconnect", origin, [agent, ...targets], err);
-        };
-        this[kOnConnectionError] = (origin, targets, err) => {
-          agent.emit("connectionError", origin, [agent, ...targets], err);
-        };
-      }
-      get [kRunning]() {
-        let ret = 0;
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            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.");
-        }
-        const ref = this[kClients].get(key);
-        let dispatcher = ref ? ref.deref() : null;
-        if (!dispatcher) {
-          dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
-          this[kClients].set(key, new WeakRef2(dispatcher));
-          this[kFinalizer].register(dispatcher, key);
+      onError(err) {
+        if (this.#dumped) {
+          return;
         }
-        return dispatcher.dispatch(opts, handler2);
+        err = this.#reason ?? err;
+        this.#handler.onError(err);
       }
-      async [kClose]() {
-        const closePromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            closePromises.push(client.close());
+      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([]);
           }
         }
-        await Promise.all(closePromises);
+        return true;
       }
-      async [kDestroy](err) {
-        const destroyPromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            destroyPromises.push(client.destroy(err));
-          }
+      onComplete(trailers) {
+        if (this.#dumped) {
+          return;
         }
-        await Promise.all(destroyPromises);
+        if (this.#aborted) {
+          this.#handler.onError(this.reason);
+          return;
+        }
+        this.#handler.onComplete(trailers);
       }
     };
-    module2.exports = Agent;
+    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/api/readable.js
-var require_readable2 = __commonJS({
-  "node_modules/undici/lib/api/readable.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/dns.js
+var require_dns2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/dns.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { Readable } = require("stream");
-    var { RequestAbortedError, NotSupportedError, InvalidArgumentError } = require_errors2();
-    var util = require_util9();
-    var { ReadableStreamFrom, toUSVString } = require_util9();
-    var Blob2;
-    var kConsume = /* @__PURE__ */ Symbol("kConsume");
-    var kReading = /* @__PURE__ */ Symbol("kReading");
-    var kBody = /* @__PURE__ */ Symbol("kBody");
-    var kAbort = /* @__PURE__ */ Symbol("abort");
-    var kContentType = /* @__PURE__ */ Symbol("kContentType");
-    var noop3 = () => {
-    };
-    module2.exports = class BodyReadable extends Readable {
-      constructor({
-        resume,
-        abort,
-        contentType = "",
-        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[kReading] = false;
-      }
-      destroy(err) {
-        if (this.destroyed) {
-          return this;
-        }
-        if (!err && !this._readableState.endEmitted) {
-          err = new RequestAbortedError();
-        }
-        if (err) {
-          this[kAbort]();
-        }
-        return super.destroy(err);
-      }
-      emit(ev, ...args) {
-        if (ev === "data") {
-          this._readableState.dataEmitted = true;
-        } else if (ev === "error") {
-          this._readableState.errorEmitted = true;
-        }
-        return super.emit(ev, ...args);
-      }
-      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;
+    var { isIP } = require("node:net");
+    var { lookup } = require("node:dns");
+    var DecoratorHandler = require_decorator_handler2();
+    var { InvalidArgumentError, InformationalError } = require_errors2();
+    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;
       }
-      removeListener(ev, ...args) {
-        return this.off(ev, ...args);
+      get full() {
+        return this.#records.size === this.#maxItems;
       }
-      push(chunk) {
-        if (this[kConsume] && chunk !== null && this.readableLength === 0) {
-          consumePush(this[kConsume], chunk);
-          return this[kReading] ? super.push(chunk) : true;
+      runLookup(origin, opts, cb) {
+        const ips = this.#records.get(origin.hostname);
+        if (ips == null && this.full) {
+          cb(null, origin.origin);
+          return;
         }
-        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-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);
+        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}`
+          );
         }
-        return this[kBody];
       }
-      dump(opts) {
-        let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144;
-        const signal = opts && opts.signal;
-        if (signal) {
-          try {
-            if (typeof signal !== "object" || !("aborted" in signal)) {
-              throw new InvalidArgumentError("signal must be an AbortSignal");
+      #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);
             }
-            util.throwIfAborted(signal);
-          } catch (err) {
-            return Promise.reject(err);
+            const results = /* @__PURE__ */ new Map();
+            for (const addr of addresses) {
+              results.set(`${addr.address}:${addr.family}`, addr);
+            }
+            cb(null, results.values());
           }
-        }
-        if (this.closed) {
-          return Promise.resolve(null);
-        }
-        return new Promise((resolve5, reject) => {
-          const signalListenerCleanup = signal ? util.addAbortListener(signal, () => {
-            this.destroy();
-          }) : noop3;
-          this.on("close", function() {
-            signalListenerCleanup();
-            if (signal && signal.aborted) {
-              reject(signal.reason || Object.assign(new Error("The operation was aborted"), { name: "AbortError" }));
+        );
+      }
+      #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 {
-              resolve5(null);
-            }
-          }).on("error", noop3).on("data", function(chunk) {
-            limit -= chunk.length;
-            if (limit <= 0) {
-              this.destroy();
+              hostnameRecords.offset++;
+              affinity = (hostnameRecords.offset & 1) === 1 ? 6 : 4;
             }
-          }).resume();
-        });
-      }
-    };
-    function isLocked(self2) {
-      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
-    }
-    function isUnusable(self2) {
-      return util.isDisturbed(self2) || isLocked(self2);
-    }
-    async function consume(stream, type2) {
-      if (isUnusable(stream)) {
-        throw new TypeError("unusable");
-      }
-      assert(!stream[kConsume]);
-      return new Promise((resolve5, reject) => {
-        stream[kConsume] = {
-          type: type2,
-          stream,
-          resolve: resolve5,
-          reject,
-          length: 0,
-          body: []
-        };
-        stream.on("error", function(err) {
-          consumeFinish(this[kConsume], err);
-        }).on("close", function() {
-          if (this[kConsume].body !== null) {
-            consumeFinish(this[kConsume], new RequestAbortedError());
           }
-        });
-        process.nextTick(consumeStart, stream[kConsume]);
-      });
-    }
-    function consumeStart(consume2) {
-      if (consume2.body === null) {
-        return;
-      }
-      const { _readableState: state } = consume2.stream;
-      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 consumeEnd(consume2) {
-      const { type: type2, body, resolve: resolve5, stream, length } = consume2;
-      try {
-        if (type2 === "text") {
-          resolve5(toUSVString(Buffer.concat(body)));
-        } else if (type2 === "json") {
-          resolve5(JSON.parse(Buffer.concat(body)));
-        } else if (type2 === "arrayBuffer") {
-          const dst = new Uint8Array(length);
-          let pos = 0;
-          for (const buf of body) {
-            dst.set(buf, pos);
-            pos += buf.byteLength;
+          if (records[affinity] != null && records[affinity].ips.length > 0) {
+            family = records[affinity];
+          } else {
+            family = records[affinity === 4 ? 6 : 4];
           }
-          resolve5(dst.buffer);
-        } else if (type2 === "blob") {
-          if (!Blob2) {
-            Blob2 = require("buffer").Blob;
+        } 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 timestamp2 = Date.now();
+        const records = { records: { 4: null, 6: null } };
+        for (const record of addresses) {
+          record.timestamp = timestamp2;
+          if (typeof record.ttl === "number") {
+            record.ttl = Math.min(record.ttl, this.#maxTTL);
+          } else {
+            record.ttl = this.#maxTTL;
           }
-          resolve5(new Blob2(body, { type: stream[kContentType] }));
+          const familyRecords = records.records[record.family] ?? { ips: [] };
+          familyRecords.ips.push(record);
+          records.records[record.family] = familyRecords;
         }
-        consumeFinish(consume2);
-      } catch (err) {
-        stream.destroy(err);
+        this.#records.set(origin.hostname, records);
       }
-    }
-    function consumePush(consume2, chunk) {
-      consume2.length += chunk.length;
-      consume2.body.push(chunk);
-    }
-    function consumeFinish(consume2, err) {
-      if (consume2.body === null) {
-        return;
+      getHandler(meta, opts) {
+        return new DNSDispatchHandler(this, meta, opts);
       }
-      if (err) {
-        consume2.reject(err);
-      } else {
-        consume2.resolve();
+    };
+    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;
       }
-      consume2.type = null;
-      consume2.stream = null;
-      consume2.resolve = null;
-      consume2.reject = null;
-      consume2.length = 0;
-      consume2.body = null;
-    }
-  }
-});
-
-// node_modules/undici/lib/api/util.js
-var require_util11 = __commonJS({
-  "node_modules/undici/lib/api/util.js"(exports2, module2) {
-    var assert = require("assert");
-    var {
-      ResponseStatusCodeError
-    } = require_errors2();
-    var { toUSVString } = require_util9();
-    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
-      assert(body);
-      let chunks = [];
-      let limit = 0;
-      for await (const chunk of body) {
-        chunks.push(chunk);
-        limit += chunk.length;
-        if (limit > 128 * 1024) {
-          chunks = null;
-          break;
+      onError(err) {
+        switch (err.code) {
+          case "ETIMEDOUT":
+          case "ECONNREFUSED": {
+            if (this.#state.dualStack) {
+              this.#state.runLookup(this.#origin, this.#opts, (err2, newOrigin) => {
+                if (err2) {
+                  return this.#handler.onError(err2);
+                }
+                const dispatchOpts = {
+                  ...this.#opts,
+                  origin: newOrigin
+                };
+                this.#dispatch(dispatchOpts, this);
+              });
+              return;
+            }
+            this.#handler.onError(err);
+            return;
+          }
+          case "ENOTFOUND":
+            this.#state.deleteRecord(this.#origin);
+          // eslint-disable-next-line no-fallthrough
+          default:
+            this.#handler.onError(err);
+            break;
         }
       }
-      if (statusCode === 204 || !contentType || !chunks) {
-        process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
-        return;
+    };
+    module2.exports = (interceptorOpts) => {
+      if (interceptorOpts?.maxTTL != null && (typeof interceptorOpts?.maxTTL !== "number" || interceptorOpts?.maxTTL < 0)) {
+        throw new InvalidArgumentError("Invalid maxTTL. Must be a positive number");
       }
-      try {
-        if (contentType.startsWith("application/json")) {
-          const payload = JSON.parse(toUSVString(Buffer.concat(chunks)));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
-        }
-        if (contentType.startsWith("text/")) {
-          const payload = toUSVString(Buffer.concat(chunks));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
-        }
-      } catch (err) {
+      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"
+        );
       }
-      process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
-    }
-    module2.exports = { getResolveErrorBodyCallback };
-  }
-});
-
-// node_modules/undici/lib/api/abort-signal.js
-var require_abort_signal2 = __commonJS({
-  "node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
-    var { addAbortListener } = require_util9();
-    var { RequestAbortedError } = require_errors2();
-    var kListener = /* @__PURE__ */ Symbol("kListener");
-    var kSignal = /* @__PURE__ */ Symbol("kSignal");
-    function abort(self2) {
-      if (self2.abort) {
-        self2.abort();
-      } else {
-        self2.onError(new RequestAbortedError());
+      if (interceptorOpts?.affinity != null && interceptorOpts?.affinity !== 4 && interceptorOpts?.affinity !== 6) {
+        throw new InvalidArgumentError("Invalid affinity. Must be either 4 or 6");
       }
-    }
-    function addSignal(self2, signal) {
-      self2[kSignal] = null;
-      self2[kListener] = null;
-      if (!signal) {
-        return;
+      if (interceptorOpts?.dualStack != null && typeof interceptorOpts?.dualStack !== "boolean") {
+        throw new InvalidArgumentError("Invalid dualStack. Must be a boolean");
       }
-      if (signal.aborted) {
-        abort(self2);
-        return;
+      if (interceptorOpts?.lookup != null && typeof interceptorOpts?.lookup !== "function") {
+        throw new InvalidArgumentError("Invalid lookup. Must be a function");
       }
-      self2[kSignal] = signal;
-      self2[kListener] = () => {
-        abort(self2);
-      };
-      addAbortListener(self2[kSignal], self2[kListener]);
-    }
-    function removeSignal(self2) {
-      if (!self2[kSignal]) {
-        return;
+      if (interceptorOpts?.pick != null && typeof interceptorOpts?.pick !== "function") {
+        throw new InvalidArgumentError("Invalid pick. Must be a function");
       }
-      if ("removeEventListener" in self2[kSignal]) {
-        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      const dualStack = interceptorOpts?.dualStack ?? true;
+      let affinity;
+      if (dualStack) {
+        affinity = interceptorOpts?.affinity ?? null;
       } else {
-        self2[kSignal].removeListener("abort", self2[kListener]);
+        affinity = interceptorOpts?.affinity ?? 4;
       }
-      self2[kSignal] = null;
-      self2[kListener] = null;
-    }
-    module2.exports = {
-      addSignal,
-      removeSignal
+      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/api/api-request.js
-var require_api_request2 = __commonJS({
-  "node_modules/undici/lib/api/api-request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js
+var require_headers2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js"(exports2, module2) {
     "use strict";
-    var Readable = require_readable2();
+    var { kConstruct } = require_symbols6();
+    var { kEnumerableProperty } = require_util9();
     var {
-      InvalidArgumentError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { getResolveErrorBodyCallback } = require_util11();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var RequestHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
-        try {
-          if (typeof callback !== "function") {
-            throw new InvalidArgumentError("invalid callback");
-          }
-          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
-            throw new InvalidArgumentError("invalid highWaterMark");
-          }
-          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-          }
-          if (method === "CONNECT") {
-            throw new InvalidArgumentError("invalid method");
-          }
-          if (onInfo && typeof onInfo !== "function") {
-            throw new InvalidArgumentError("invalid onInfo callback");
-          }
-          super("UNDICI_REQUEST");
-        } catch (err) {
-          if (util.isStream(body)) {
-            util.destroy(body.on("error", util.nop), err);
+      iteratorMixin,
+      isValidHeaderName,
+      isValidHeaderValue
+    } = require_util10();
+    var { webidl } = require_webidl2();
+    var assert = require("node:assert");
+    var util = require("node:util");
+    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
+    var kHeadersSortedMap = /* @__PURE__ */ 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}.`
+            });
           }
-          throw err;
+          appendHeader(headers, header[0], header[1]);
         }
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.callback = callback;
-        this.res = null;
-        this.abort = null;
-        this.body = body;
-        this.trailers = {};
-        this.context = null;
-        this.onInfo = onInfo || null;
-        this.throwOnError = throwOnError;
-        this.highWaterMark = highWaterMark;
-        if (util.isStream(body)) {
-          body.on("error", (err) => {
-            this.onError(err);
-          });
+      } 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]]);
         }
-        addSignal(this, signal);
+      } else {
+        throw webidl.errors.conversionFailed({
+          prefix: "Headers constructor",
+          argument: "Argument 1",
+          types: ["sequence>", "record"]
+        });
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
+    }
+    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"
+        });
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const { callback, opaque, abort, context: context2, 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 body = new Readable({ resume, abort, contentType, highWaterMark });
-        this.callback = null;
-        this.res = body;
-        if (callback !== null) {
-          if (this.throwOnError && statusCode >= 400) {
-            this.runInAsyncScope(
-              getResolveErrorBodyCallback,
-              null,
-              { callback, body, contentType, statusCode, statusMessage, headers }
-            );
-          } else {
-            this.runInAsyncScope(callback, null, null, {
-              statusCode,
-              headers,
-              trailers: this.trailers,
-              opaque,
-              body,
-              context: context2
-            });
-          }
+      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;
         }
       }
-      onData(chunk) {
-        const { res } = this;
-        return res.push(chunk);
+      /**
+       * @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());
       }
-      onComplete(trailers) {
-        const { res } = this;
-        removeSignal(this);
-        util.parseHeaders(trailers, this.trailers);
-        res.push(null);
+      clear() {
+        this[kHeadersMap].clear();
+        this[kHeadersSortedMap] = null;
+        this.cookies = null;
       }
-      onError(err) {
-        const { res, callback, body, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
-        if (res) {
-          this.res = null;
-          queueMicrotask(() => {
-            util.destroy(res, err);
+      /**
+       * @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 (body) {
-          this.body = null;
-          util.destroy(body, err);
+        if (lowercaseName === "set-cookie") {
+          (this.cookies ??= []).push(value);
         }
       }
-    };
-    function request2(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve5, reject) => {
-          request2.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve5(data);
-          });
-        });
+      /**
+       * @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 });
       }
-      try {
-        this.dispatch(opts, new RequestHandler(opts, callback));
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
+      /**
+       * @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;
         }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        this[kHeadersMap].delete(name);
       }
-    }
-    module2.exports = request2;
-    module2.exports.RequestHandler = RequestHandler;
-  }
-});
-
-// node_modules/undici/lib/api/api-stream.js
-var require_api_stream2 = __commonJS({
-  "node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
-    "use strict";
-    var { finished, PassThrough } = require("stream");
-    var {
-      InvalidArgumentError,
-      InvalidReturnValueError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { getResolveErrorBodyCallback } = require_util11();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var StreamHandler = class extends AsyncResource {
-      constructor(opts, factory, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+      /**
+       * @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];
         }
-        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
-        try {
-          if (typeof callback !== "function") {
-            throw new InvalidArgumentError("invalid callback");
-          }
-          if (typeof factory !== "function") {
-            throw new InvalidArgumentError("invalid factory");
-          }
-          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-          }
-          if (method === "CONNECT") {
-            throw new InvalidArgumentError("invalid method");
-          }
-          if (onInfo && typeof onInfo !== "function") {
-            throw new InvalidArgumentError("invalid onInfo callback");
-          }
-          super("UNDICI_STREAM");
-        } catch (err) {
-          if (util.isStream(body)) {
-            util.destroy(body.on("error", util.nop), err);
+      }
+      get entries() {
+        const headers = {};
+        if (this[kHeadersMap].size !== 0) {
+          for (const { name, value } of this[kHeadersMap].values()) {
+            headers[name] = value;
           }
-          throw err;
         }
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.factory = factory;
-        this.callback = callback;
-        this.res = null;
-        this.abort = null;
-        this.context = null;
-        this.trailers = null;
-        this.body = body;
-        this.onInfo = onInfo || null;
-        this.throwOnError = throwOnError || false;
-        if (util.isStream(body)) {
-          body.on("error", (err) => {
-            this.onError(err);
-          });
-        }
-        addSignal(this, signal);
+        return headers;
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
+      rawValues() {
+        return this[kHeadersMap].values();
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const { factory, opaque, context: context2, callback, responseHeaders } = this;
-        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            this.onInfo({ statusCode, headers });
+      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;
         }
-        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: context2
-          });
-          if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") {
-            throw new InvalidReturnValueError("expected Writable");
+        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;
           }
-          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);
+          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;
+              }
             }
-            this.callback = null;
-            this.runInAsyncScope(callback2, null, err || null, { opaque: opaque2, trailers });
-            if (err) {
-              abort();
+            if (i !== pivot) {
+              j = i;
+              while (j > left) {
+                array[j] = array[--j];
+              }
+              array[left] = x;
             }
-          });
-        }
-        res.on("drain", resume);
-        this.res = res;
-        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState && res._writableState.needDrain;
-        return needDrain !== true;
-      }
-      onData(chunk) {
-        const { res } = this;
-        return res ? res.write(chunk) : true;
-      }
-      onComplete(trailers) {
-        const { res } = this;
-        removeSignal(this);
-        if (!res) {
-          return;
-        }
-        this.trailers = util.parseHeaders(trailers);
-        res.end();
-      }
-      onError(err) {
-        const { res, callback, opaque, body } = this;
-        removeSignal(this);
-        this.factory = null;
-        if (res) {
-          this.res = null;
-          util.destroy(res, err);
-        } else if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
-        if (body) {
-          this.body = null;
-          util.destroy(body, err);
-        }
-      }
-    };
-    function stream(opts, factory, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve5, reject) => {
-          stream.call(this, opts, factory, (err, data) => {
-            return err ? reject(err) : resolve5(data);
-          });
-        });
-      }
-      try {
-        this.dispatch(opts, new StreamHandler(opts, factory, callback));
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
-        }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
-      }
-    }
-    module2.exports = stream;
-  }
-});
-
-// node_modules/undici/lib/api/api-pipeline.js
-var require_api_pipeline2 = __commonJS({
-  "node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
-    "use strict";
-    var {
-      Readable,
-      Duplex,
-      PassThrough
-    } = require("stream");
-    var {
-      InvalidArgumentError,
-      InvalidReturnValueError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
-    var kResume = /* @__PURE__ */ 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();
+          }
+          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);
         }
       }
-      _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();
+    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);
         }
-        callback(err);
       }
-    };
-    var PipelineHandler = class extends AsyncResource {
-      constructor(opts, handler2) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+      // 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 (typeof handler2 !== "function") {
-          throw new InvalidArgumentError("invalid handler");
+        if (this.#guard === "immutable") {
+          throw new TypeError("immutable");
         }
-        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 (!this.#headersList.contains(name, false)) {
+          return;
         }
-        if (method === "CONNECT") {
-          throw new InvalidArgumentError("invalid method");
+        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"
+          });
         }
-        if (onInfo && typeof onInfo !== "function") {
-          throw new InvalidArgumentError("invalid onInfo callback");
+        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"
+          });
         }
-        super("UNDICI_PIPELINE");
-        this.opaque = opaque || null;
-        this.responseHeaders = responseHeaders || null;
-        this.handler = handler2;
-        this.abort = null;
-        this.context = null;
-        this.onInfo = onInfo || null;
-        this.req = new PipelineRequest().on("error", util.nop);
-        this.ret = new Duplex({
-          readableObjectMode: opts.objectMode,
-          autoDestroy: true,
-          read: () => {
-            const { body } = this;
-            if (body && body.resume) {
-              body.resume();
-            }
-          },
-          write: (chunk, encoding, callback) => {
-            const { req } = this;
-            if (req.push(chunk, encoding) || req._readableState.destroyed) {
-              callback();
-            } else {
-              req[kResume] = callback;
-            }
-          },
-          destroy: (err, callback) => {
-            const { body, req, res, ret, abort } = this;
-            if (!err && !ret._readableState.endEmitted) {
-              err = new RequestAbortedError();
-            }
-            if (abort && err) {
-              abort();
-            }
-            util.destroy(body, err);
-            util.destroy(req, err);
-            util.destroy(res, err);
-            removeSignal(this);
-            callback(err);
-          }
-        }).on("prefinish", () => {
-          const { req } = this;
-          req.push(null);
-        });
-        this.res = null;
-        addSignal(this, signal);
+        return this.#headersList.contains(name, false);
       }
-      onConnect(abort, context2) {
-        const { ret, res } = this;
-        assert(!res, "pipeline cannot be retried");
-        if (ret.destroyed) {
-          throw new RequestAbortedError();
+      // 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"
+          });
         }
-        this.abort = abort;
-        this.context = context2;
+        if (this.#guard === "immutable") {
+          throw new TypeError("immutable");
+        }
+        this.#headersList.set(name, value, false);
       }
-      onHeaders(statusCode, rawHeaders, resume) {
-        const { opaque, handler: handler2, context: context2 } = this;
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-            this.onInfo({ statusCode, headers });
-          }
-          return;
+      // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
+      getSetCookie() {
+        webidl.brandCheck(this, _Headers);
+        const list = this.#headersList.cookies;
+        if (list) {
+          return [...list];
         }
-        this.res = new PipelineResponse(resume);
-        let body;
-        try {
-          this.handler = null;
-          const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-          body = this.runInAsyncScope(handler2, null, {
-            statusCode,
-            headers,
-            opaque,
-            body: this.res,
-            context: context2
-          });
-        } catch (err) {
-          this.res.on("error", util.nop);
-          throw err;
+        return [];
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
+      get [kHeadersSortedMap]() {
+        if (this.#headersList[kHeadersSortedMap]) {
+          return this.#headersList[kHeadersSortedMap];
         }
-        if (!body || typeof body.on !== "function") {
-          throw new InvalidReturnValueError("expected Readable");
+        const headers = [];
+        const names = this.#headersList.toSortedArray();
+        const cookies = this.#headersList.cookies;
+        if (cookies === null || cookies.length === 1) {
+          return this.#headersList[kHeadersSortedMap] = names;
         }
-        body.on("data", (chunk) => {
-          const { ret, body: body2 } = this;
-          if (!ret.push(chunk) && body2.pause) {
-            body2.pause();
-          }
-        }).on("error", (err) => {
-          const { ret } = this;
-          util.destroy(ret, err);
-        }).on("end", () => {
-          const { ret } = this;
-          ret.push(null);
-        }).on("close", () => {
-          const { ret } = this;
-          if (!ret._readableState.ended) {
-            util.destroy(ret, new RequestAbortedError());
+        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]);
           }
-        });
-        this.body = body;
+        }
+        return this.#headersList[kHeadersSortedMap] = headers;
       }
-      onData(chunk) {
-        const { res } = this;
-        return res.push(chunk);
+      [util.inspect.custom](depth, options) {
+        options.depth ??= depth;
+        return `Headers ${util.formatWithOptions(options, this.#headersList.entries)}`;
       }
-      onComplete(trailers) {
-        const { res } = this;
-        res.push(null);
+      static getHeadersGuard(o) {
+        return o.#guard;
       }
-      onError(err) {
-        const { ret } = this;
-        this.handler = null;
-        util.destroy(ret, err);
+      static setHeadersGuard(o, guard) {
+        o.#guard = guard;
+      }
+      static getHeadersList(o) {
+        return o.#headersList;
+      }
+      static setHeadersList(o, list) {
+        o.#headersList = list;
       }
     };
-    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);
+    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
       }
-    }
-    module2.exports = pipeline;
+    });
+    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/api/api-upgrade.js
-var require_api_upgrade2 = __commonJS({
-  "node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js
+var require_response2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js"(exports2, module2) {
     "use strict";
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
-    var { AsyncResource } = require("async_hooks");
+    var { Headers, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers2();
+    var { extractBody, cloneBody, mixinBody, hasFinalizationRegistry, streamRegistry, bodyUnusable } = require_body2();
     var util = require_util9();
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
-    var UpgradeHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+    var nodeUtil = require("node:util");
+    var { kEnumerableProperty } = util;
+    var {
+      isValidReasonPhrase,
+      isCancelled,
+      isAborted,
+      isBlobLike,
+      serializeJavascriptValueToJSONString,
+      isErrorLike,
+      isomorphicEncode,
+      environmentSettingsObject: relevantRealm
+    } = require_util10();
+    var {
+      redirectStatusSet,
+      nullBodyStatus
+    } = require_constants8();
+    var { kState, kHeaders } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var { FormData: FormData2 } = require_formdata2();
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    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);
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        const bytes = textEncoder.encode(
+          serializeJavascriptValueToJSONString(data)
+        );
+        const body = extractBody(bytes);
+        const responseObject = fromInnerResponse(makeResponse({}), "response");
+        initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
+        return responseObject;
+      }
+      // Creates a redirect Response that redirects to url with status status.
+      static redirect(url, status = 302) {
+        webidl.argumentLengthCheck(arguments, 1, "Response.redirect");
+        url = webidl.converters.USVString(url);
+        status = webidl.converters["unsigned short"](status);
+        let parsedURL;
+        try {
+          parsedURL = new URL(url, relevantRealm.settingsObject.baseUrl);
+        } catch (err) {
+          throw new TypeError(`Failed to parse URL from ${url}`, { cause: err });
         }
-        const { signal, opaque, responseHeaders } = opts;
-        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        if (!redirectStatusSet.has(status)) {
+          throw new RangeError(`Invalid status code ${status}`);
         }
-        super("UNDICI_UPGRADE");
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.callback = callback;
-        this.abort = null;
-        this.context = null;
-        addSignal(this, signal);
+        const responseObject = fromInnerResponse(makeResponse({}), "immutable");
+        responseObject[kState].status = status;
+        const value = isomorphicEncode(URLSerializer(parsedURL));
+        responseObject[kState].headersList.append("location", value, true);
+        return responseObject;
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
+      // https://fetch.spec.whatwg.org/#dom-response
+      constructor(body = null, init = {}) {
+        webidl.util.markAsUncloneable(this);
+        if (body === kConstruct) {
+          return;
         }
-        this.abort = abort;
-        this.context = null;
-      }
-      onHeaders() {
-        throw new SocketError("bad upgrade", null);
-      }
-      onUpgrade(statusCode, rawHeaders, socket) {
-        const { callback, opaque, context: context2 } = this;
-        assert.strictEqual(statusCode, 101);
-        removeSignal(this);
-        this.callback = null;
-        const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        this.runInAsyncScope(callback, null, null, {
-          headers,
-          socket,
-          opaque,
-          context: context2
-        });
-      }
-      onError(err) {
-        const { callback, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
+        if (body !== null) {
+          body = webidl.converters.BodyInit(body);
+        }
+        init = webidl.converters.ResponseInit(init);
+        this[kState] = makeResponse({});
+        this[kHeaders] = new Headers(kConstruct);
+        setHeadersGuard(this[kHeaders], "response");
+        setHeadersList(this[kHeaders], this[kState].headersList);
+        let bodyWithType = null;
+        if (body != null) {
+          const [extractedBody, type2] = extractBody(body);
+          bodyWithType = { body: extractedBody, type: type2 };
         }
+        initializeResponse(this, init, bodyWithType);
       }
-    };
-    function upgrade(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve5, reject) => {
-          upgrade.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve5(data);
-          });
-        });
+      // Returns response’s type, e.g., "cors".
+      get type() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].type;
       }
-      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;
+      // 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 "";
         }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        return URLSerializer(url, true);
       }
-    }
-    module2.exports = upgrade;
-  }
-});
-
-// node_modules/undici/lib/api/api-connect.js
-var require_api_connect2 = __commonJS({
-  "node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
-    "use strict";
-    var { AsyncResource } = require("async_hooks");
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
-    var util = require_util9();
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var ConnectHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
-        }
-        const { signal, opaque, responseHeaders } = opts;
-        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-        }
-        super("UNDICI_CONNECT");
-        this.opaque = opaque || null;
-        this.responseHeaders = responseHeaders || null;
-        this.callback = callback;
-        this.abort = null;
-        addSignal(this, signal);
+      // Returns whether response was obtained through a redirect.
+      get redirected() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].urlList.length > 1;
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
+      // Returns response’s status.
+      get status() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status;
       }
-      onHeaders() {
-        throw new SocketError("bad connect", null);
+      // Returns whether response’s status is an ok status.
+      get ok() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status >= 200 && this[kState].status <= 299;
       }
-      onUpgrade(statusCode, rawHeaders, socket) {
-        const { callback, opaque, context: context2 } = 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: context2
-        });
+      // Returns response’s status message.
+      get statusText() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].statusText;
       }
-      onError(err) {
-        const { callback, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
+      // Returns response’s headers as Headers.
+      get headers() {
+        webidl.brandCheck(this, _Response);
+        return this[kHeaders];
       }
-    };
-    function connect(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve5, reject) => {
-          connect.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve5(data);
-          });
-        });
+      get body() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      try {
-        const connectHandler = new ConnectHandler(opts, callback);
-        this.dispatch({ ...opts, method: "CONNECT" }, connectHandler);
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
+      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 opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        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]));
       }
-    }
-    module2.exports = connect;
-  }
-});
-
-// node_modules/undici/lib/api/index.js
-var require_api2 = __commonJS({
-  "node_modules/undici/lib/api/index.js"(exports2, module2) {
-    "use strict";
-    module2.exports.request = require_api_request2();
-    module2.exports.stream = require_api_stream2();
-    module2.exports.pipeline = require_api_pipeline2();
-    module2.exports.upgrade = require_api_upgrade2();
-    module2.exports.connect = require_api_connect2();
-  }
-});
-
-// node_modules/undici/lib/mock/mock-errors.js
-var require_mock_errors2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
-    "use strict";
-    var { UndiciError } = require_errors2();
-    var MockNotMatchedError = class _MockNotMatchedError extends UndiciError {
-      constructor(message) {
-        super(message);
-        Error.captureStackTrace(this, _MockNotMatchedError);
-        this.name = "MockNotMatchedError";
-        this.message = message || "The request does not match any registered mock dispatches";
-        this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED";
+      [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)}`;
       }
     };
-    module2.exports = {
-      MockNotMatchedError
-    };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-symbols.js
-var require_mock_symbols2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      kAgent: /* @__PURE__ */ Symbol("agent"),
-      kOptions: /* @__PURE__ */ Symbol("options"),
-      kFactory: /* @__PURE__ */ Symbol("factory"),
-      kDispatches: /* @__PURE__ */ Symbol("dispatches"),
-      kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
-      kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
-      kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
-      kContentLength: /* @__PURE__ */ Symbol("content length"),
-      kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
-      kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
-      kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
-      kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
-      kClose: /* @__PURE__ */ Symbol("close"),
-      kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
-      kOrigin: /* @__PURE__ */ Symbol("origin"),
-      kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
-      kNetConnect: /* @__PURE__ */ Symbol("net connect"),
-      kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
-      kConnected: /* @__PURE__ */ Symbol("connected")
-    };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-utils.js
-var require_mock_utils2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
-    "use strict";
-    var { MockNotMatchedError } = require_mock_errors2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kOriginalDispatch,
-      kOrigin,
-      kGetNetConnect
-    } = require_mock_symbols2();
-    var { buildURL, nop } = require_util9();
-    var { STATUS_CODES } = require("http");
-    var {
-      types: {
-        isPromise
-      }
-    } = require("util");
-    function matchValue(match, value) {
-      if (typeof match === "string") {
-        return match === value;
+    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
       }
-      if (match instanceof RegExp) {
-        return match.test(value);
+    });
+    Object.defineProperties(Response, {
+      json: kEnumerableProperty,
+      redirect: kEnumerableProperty,
+      error: kEnumerableProperty
+    });
+    function cloneResponse(response) {
+      if (response.internalResponse) {
+        return filterResponse(
+          cloneResponse(response.internalResponse),
+          response.type
+        );
       }
-      if (typeof match === "function") {
-        return match(value) === true;
+      const newResponse = makeResponse({ ...response, body: null });
+      if (response.body != null) {
+        newResponse.body = cloneBody(newResponse, response.body);
       }
-      return false;
+      return newResponse;
     }
-    function lowerCaseEntries(headers) {
-      return Object.fromEntries(
-        Object.entries(headers).map(([headerName, headerValue]) => {
-          return [headerName.toLocaleLowerCase(), headerValue];
-        })
+    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 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];
-          }
+    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;
         }
-        return void 0;
-      } else if (typeof headers.get === "function") {
-        return headers.get(key);
+      });
+    }
+    function filterResponse(response, type2) {
+      if (type2 === "basic") {
+        return makeFilteredResponse(response, {
+          type: "basic",
+          headersList: response.headersList
+        });
+      } else if (type2 === "cors") {
+        return makeFilteredResponse(response, {
+          type: "cors",
+          headersList: response.headersList
+        });
+      } else if (type2 === "opaque") {
+        return makeFilteredResponse(response, {
+          type: "opaque",
+          urlList: Object.freeze([]),
+          status: 0,
+          statusText: "",
+          body: null
+        });
+      } else if (type2 === "opaqueredirect") {
+        return makeFilteredResponse(response, {
+          type: "opaqueredirect",
+          status: 0,
+          statusText: "",
+          headersList: [],
+          body: null
+        });
       } else {
-        return lowerCaseEntries(headers)[key.toLocaleLowerCase()];
+        assert(false);
       }
     }
-    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 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 matchHeaders(mockDispatch2, headers) {
-      if (typeof mockDispatch2.headers === "function") {
-        if (Array.isArray(headers)) {
-          headers = buildHeadersFromArray(headers);
-        }
-        return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {});
+    function initializeResponse(response, init, body) {
+      if (init.status !== null && (init.status < 200 || init.status > 599)) {
+        throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
       }
-      if (typeof mockDispatch2.headers === "undefined") {
-        return true;
+      if ("statusText" in init && init.statusText != null) {
+        if (!isValidReasonPhrase(String(init.statusText))) {
+          throw new TypeError("Invalid statusText");
+        }
       }
-      if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") {
-        return false;
+      if ("status" in init && init.status != null) {
+        response[kState].status = init.status;
       }
-      for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) {
-        const headerValue = getHeaderByName(headers, matchHeaderName);
-        if (!matchValue(matchHeaderValue, headerValue)) {
-          return false;
-        }
+      if ("statusText" in init && init.statusText != null) {
+        response[kState].statusText = init.statusText;
       }
-      return true;
-    }
-    function safeUrl(path7) {
-      if (typeof path7 !== "string") {
-        return path7;
+      if ("headers" in init && init.headers != null) {
+        fill(response[kHeaders], init.headers);
       }
-      const pathSegments = path7.split("?");
-      if (pathSegments.length !== 2) {
-        return path7;
+      if (body) {
+        if (nullBodyStatus.includes(response.status)) {
+          throw webidl.errors.exception({
+            header: "Response constructor",
+            message: `Invalid response status code ${response.status}`
+          });
+        }
+        response[kState].body = body.body;
+        if (body.type != null && !response[kState].headersList.contains("content-type", true)) {
+          response[kState].headersList.append("content-type", body.type, true);
+        }
       }
-      const qp = new URLSearchParams(pathSegments.pop());
-      qp.sort();
-      return [...pathSegments, qp.toString()].join("?");
     }
-    function matchKey(mockDispatch2, { path: path7, method, body, headers }) {
-      const pathMatch = matchValue(mockDispatch2.path, path7);
-      const methodMatch = matchValue(mockDispatch2.method, method);
-      const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
-      const headersMatch = matchHeaders(mockDispatch2, headers);
-      return pathMatch && methodMatch && bodyMatch && headersMatch;
-    }
-    function getResponseData2(data) {
-      if (Buffer.isBuffer(data)) {
-        return data;
-      } else if (typeof data === "object") {
-        return JSON.stringify(data);
-      } else {
-        return data.toString();
+    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;
     }
-    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: path7 }) => matchValue(safeUrl(path7), resolvedPath));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
+    webidl.converters.ReadableStream = webidl.interfaceConverter(
+      ReadableStream
+    );
+    webidl.converters.FormData = webidl.interfaceConverter(
+      FormData2
+    );
+    webidl.converters.URLSearchParams = webidl.interfaceConverter(
+      URLSearchParams
+    );
+    webidl.converters.XMLHttpRequestBodyInit = function(V, prefix, name) {
+      if (typeof V === "string") {
+        return webidl.converters.USVString(V, prefix, name);
       }
-      matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`);
+      if (isBlobLike(V)) {
+        return webidl.converters.Blob(V, prefix, name, { strict: false });
       }
-      matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`);
+      if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) {
+        return webidl.converters.BufferSource(V, prefix, name);
       }
-      matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers}'`);
+      if (util.isFormDataLike(V)) {
+        return webidl.converters.FormData(V, prefix, name, { strict: false });
       }
-      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);
+      if (V instanceof URLSearchParams) {
+        return webidl.converters.URLSearchParams(V, prefix, name);
       }
-    }
-    function buildKey(opts) {
-      const { path: path7, method, body, headers, query } = opts;
-      return {
-        path: path7,
-        method,
-        body,
-        headers,
-        query
-      };
-    }
-    function generateKeyValues(data) {
-      return Object.entries(data).reduce((keyValuePairs, [key, value]) => [
-        ...keyValuePairs,
-        Buffer.from(`${key}`),
-        Array.isArray(value) ? value.map((x) => Buffer.from(`${x}`)) : Buffer.from(`${value}`)
-      ], []);
-    }
-    function getStatusText(statusCode) {
-      return STATUS_CODES[statusCode] || "unknown";
-    }
-    async function getResponse(body) {
-      const buffers = [];
-      for await (const data of body) {
-        buffers.push(data);
+      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);
       }
-      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) };
+      if (V?.[Symbol.asyncIterator]) {
+        return V;
       }
-      const { data: { statusCode, data, headers, trailers, error: error3 }, delay, persist } = mockDispatch2;
-      const { timesInvoked, times } = mockDispatch2;
-      mockDispatch2.consumed = !persist && timesInvoked >= times;
-      mockDispatch2.pending = timesInvoked < times;
-      if (error3 !== null) {
-        deleteMockDispatch(this[kDispatches], key);
-        handler2.onError(error3);
-        return true;
+      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
       }
-      if (typeof delay === "number" && delay > 0) {
-        setTimeout(() => {
-          handleReply(this[kDispatches]);
-        }, delay);
-      } else {
-        handleReply(this[kDispatches]);
+    ]);
+    module2.exports = {
+      isNetworkError,
+      makeNetworkError,
+      makeResponse,
+      makeAppropriateNetworkError,
+      filterResponse,
+      Response,
+      cloneResponse,
+      fromInnerResponse
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js
+var require_dispatcher_weakref2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js"(exports2, module2) {
+    "use strict";
+    var { kConnected, kSize } = require_symbols6();
+    var CompatWeakRef = class {
+      constructor(value) {
+        this.value = value;
       }
-      function handleReply(mockDispatches, _data = data) {
-        const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
-        const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
-        if (isPromise(body)) {
-          body.then((newData) => handleReply(mockDispatches, newData));
-          return;
-        }
-        const responseData = getResponseData2(body);
-        const responseHeaders = generateKeyValues(headers);
-        const responseTrailers = generateKeyValues(trailers);
-        handler2.abort = nop;
-        handler2.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode));
-        handler2.onData(Buffer.from(responseData));
-        handler2.onComplete(responseTrailers);
-        deleteMockDispatch(mockDispatches, key);
+      deref() {
+        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
       }
-      function resume() {
+    };
+    var CompatFinalizer = class {
+      constructor(finalizer) {
+        this.finalizer = finalizer;
       }
-      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 (error3) {
-            if (error3 instanceof MockNotMatchedError) {
-              const netConnect = agent[kGetNetConnect]();
-              if (netConnect === false) {
-                throw new MockNotMatchedError(`${error3.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(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
-              }
-            } else {
-              throw error3;
+      register(dispatcher, key) {
+        if (dispatcher.on) {
+          dispatcher.on("disconnect", () => {
+            if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {
+              this.finalizer(key);
             }
-          }
-        } 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;
+      unregister(key) {
       }
-    }
-    module2.exports = {
-      getResponseData: getResponseData2,
-      getMockDispatch,
-      addMockDispatch,
-      deleteMockDispatch,
-      buildKey,
-      generateKeyValues,
-      matchValue,
-      getResponse,
-      getStatusText,
-      mockDispatch,
-      buildMockDispatch,
-      checkNetConnect,
-      buildMockOptions,
-      getHeaderByName
+    };
+    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/mock/mock-interceptor.js
-var require_mock_interceptor2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js
+var require_request4 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js"(exports2, module2) {
     "use strict";
-    var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils2();
+    var { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body2();
+    var { Headers, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers2();
+    var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
+    var util = require_util9();
+    var nodeUtil = require("node:util");
     var {
-      kDispatches,
-      kDispatchKey,
-      kDefaultHeaders,
-      kDefaultTrailers,
-      kContentLength,
-      kMockDispatch
-    } = require_mock_symbols2();
-    var { InvalidArgumentError } = require_errors2();
-    var { buildURL } = require_util9();
-    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");
+      isValidHTTPToken,
+      sameOrigin,
+      environmentSettingsObject
+    } = require_util10();
+    var {
+      forbiddenMethodsSet,
+      corsSafeListedMethodsSet,
+      referrerPolicy,
+      requestRedirect,
+      requestMode,
+      requestCredentials,
+      requestCache,
+      requestDuplex
+    } = require_constants8();
+    var { kEnumerableProperty, normalizedMethodRecordsBase, normalizedMethodRecords } = util;
+    var { kHeaders, kSignal, kState, kDispatcher } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    var assert = require("node:assert");
+    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("node:events");
+    var kAbortController = /* @__PURE__ */ 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);
+          }
         }
-        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");
+    }
+    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;
         }
-        this[kMockDispatch].times = repeatTimes;
-        return this;
-      }
-    };
-    var MockInterceptor = class {
-      constructor(opts, mockDispatches) {
-        if (typeof opts !== "object") {
-          throw new InvalidArgumentError("opts must be an object");
+        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];
         }
-        if (typeof opts.path === "undefined") {
-          throw new InvalidArgumentError("opts.path must be defined");
+        const origin = environmentSettingsObject.settingsObject.origin;
+        let window2 = "client";
+        if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
+          window2 = request2.window;
         }
-        if (typeof opts.method === "undefined") {
-          opts.method = "GET";
+        if (init.window != null) {
+          throw new TypeError(`'window' option '${window2}' must be null`);
         }
-        if (typeof opts.path === "string") {
-          if (opts.query) {
-            opts.path = buildURL(opts.path, opts.query);
+        if ("window" in init) {
+          window2 = "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: window2,
+          // 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 {
-            const parsedURL = new URL(opts.path, "data://");
-            opts.path = parsedURL.pathname + parsedURL.search;
+            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 (typeof opts.method === "string") {
-          opts.method = opts.method.toUpperCase();
+        if (init.referrerPolicy !== void 0) {
+          request2.referrerPolicy = init.referrerPolicy;
         }
-        this[kDispatchKey] = buildKey(opts);
-        this[kDispatches] = mockDispatches;
-        this[kDefaultHeaders] = {};
-        this[kDefaultTrailers] = {};
-        this[kContentLength] = false;
+        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;
       }
-      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 };
+      // Returns request’s HTTP method, which is "GET" by default.
+      get method() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].method;
       }
-      validateReplyParameters(statusCode, data, responseOptions) {
-        if (typeof statusCode === "undefined") {
-          throw new InvalidArgumentError("statusCode must be defined");
-        }
-        if (typeof data === "undefined") {
-          throw new InvalidArgumentError("data must be defined");
+      // 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 (typeof responseOptions !== "object") {
-          throw new InvalidArgumentError("responseOptions must be an object");
+        if (this[kState].referrer === "client") {
+          return "about:client";
         }
+        return this[kState].referrer.toString();
       }
-      /**
-       * Mock an undici request with a defined reply.
-       */
-      reply(replyData) {
-        if (typeof replyData === "function") {
-          const wrappedDefaultsCallback = (opts) => {
-            const resolvedData = replyData(opts);
-            if (typeof resolvedData !== "object") {
-              throw new InvalidArgumentError("reply options callback must return an object");
-            }
-            const { statusCode: statusCode2, data: data2 = "", responseOptions: responseOptions2 = {} } = resolvedData;
-            this.validateReplyParameters(statusCode2, data2, responseOptions2);
-            return {
-              ...this.createMockScopeDispatchData(statusCode2, data2, responseOptions2)
-            };
-          };
-          const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback);
-          return new MockScope(newMockDispatch2);
-        }
-        const [statusCode, data = "", responseOptions = {}] = [...arguments];
-        this.validateReplyParameters(statusCode, data, responseOptions);
-        const dispatchData = this.createMockScopeDispatchData(statusCode, data, responseOptions);
-        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData);
-        return new MockScope(newMockDispatch);
+      // 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;
       }
-      /**
-       * Mock an undici request with a defined error.
-       */
-      replyWithError(error3) {
-        if (typeof error3 === "undefined") {
-          throw new InvalidArgumentError("error must be defined");
-        }
-        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error: error3 });
-        return new MockScope(newMockDispatch);
+      // 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;
       }
-      /**
-       * 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;
+      // 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;
       }
-      /**
-       * 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;
+      // 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;
       }
-      /**
-       * Set reply content length header for replies on the interceptor
-       */
-      replyContentLength() {
-        this[kContentLength] = true;
-        return this;
+      // 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;
       }
-    };
-    module2.exports.MockInterceptor = MockInterceptor;
-    module2.exports.MockScope = MockScope;
-  }
-});
-
-// node_modules/undici/lib/mock/mock-client.js
-var require_mock_client2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
-    "use strict";
-    var { promisify } = require("util");
-    var Client = require_client2();
-    var { buildMockDispatch } = require_mock_utils2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kClose,
-      kOriginalClose,
-      kOrigin,
-      kOriginalDispatch,
-      kConnected
-    } = require_mock_symbols2();
-    var { MockInterceptor } = require_mock_interceptor2();
-    var Symbols = require_symbols6();
-    var { InvalidArgumentError } = require_errors2();
-    var MockClient = class extends Client {
-      constructor(origin, opts) {
-        super(origin, opts);
-        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
-        }
-        this[kMockAgent] = opts.agent;
-        this[kOrigin] = origin;
-        this[kDispatches] = [];
-        this[kConnected] = 1;
-        this[kOriginalDispatch] = this.dispatch;
-        this[kOriginalClose] = this.close.bind(this);
-        this.dispatch = buildMockDispatch.call(this);
-        this.close = this[kClose];
+      // 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;
       }
-      get [Symbols.kConnected]() {
-        return this[kConnected];
+      // 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;
       }
-      /**
-       * Sets up the base interceptor for mocking replies from undici.
-       */
-      intercept(opts) {
-        return new MockInterceptor(opts, this[kDispatches]);
+      // Returns a boolean indicating whether or not request is for a reload
+      // navigation.
+      get isReloadNavigation() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].reloadNavigation;
       }
-      async [kClose]() {
-        await promisify(this[kOriginalClose])();
-        this[kConnected] = 0;
-        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
+      // 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;
       }
-    };
-    module2.exports = MockClient;
-  }
-});
-
-// node_modules/undici/lib/mock/mock-pool.js
-var require_mock_pool2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
-    "use strict";
-    var { promisify } = require("util");
-    var Pool = require_pool2();
-    var { buildMockDispatch } = require_mock_utils2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kClose,
-      kOriginalClose,
-      kOrigin,
-      kOriginalDispatch,
-      kConnected
-    } = require_mock_symbols2();
-    var { MockInterceptor } = require_mock_interceptor2();
-    var Symbols = require_symbols6();
-    var { InvalidArgumentError } = require_errors2();
-    var MockPool = class extends Pool {
-      constructor(origin, opts) {
-        super(origin, opts);
-        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
-        }
-        this[kMockAgent] = opts.agent;
-        this[kOrigin] = origin;
-        this[kDispatches] = [];
-        this[kConnected] = 1;
-        this[kOriginalDispatch] = this.dispatch;
-        this[kOriginalClose] = this.close.bind(this);
-        this.dispatch = buildMockDispatch.call(this);
-        this.close = this[kClose];
+      // 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 [Symbols.kConnected]() {
-        return this[kConnected];
+      get body() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      /**
-       * Sets up the base interceptor for mocking replies from undici.
-       */
-      intercept(opts) {
-        return new MockInterceptor(opts, this[kDispatches]);
+      get bodyUsed() {
+        webidl.brandCheck(this, _Request);
+        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
       }
-      async [kClose]() {
-        await promisify(this[kOriginalClose])();
-        this[kConnected] = 0;
-        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
+      get duplex() {
+        webidl.brandCheck(this, _Request);
+        return "half";
       }
-    };
-    module2.exports = MockPool;
-  }
-});
-
-// node_modules/undici/lib/mock/pluralizer.js
-var require_pluralizer2 = __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;
+      // 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]));
       }
-      pluralize(count) {
-        const one = count === 1;
-        const keys = one ? singulars : plurals;
-        const noun = one ? this.singular : this.plural;
-        return { ...keys, count, noun };
+      [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)}`;
       }
     };
-  }
-});
-
-// node_modules/undici/lib/mock/pending-interceptors-formatter.js
-var require_pending_interceptors_formatter2 = __commonJS({
-  "node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
-    "use strict";
-    var { Transform } = require("stream");
-    var { Console } = require("console");
-    module2.exports = class PendingInterceptorsFormatter {
-      constructor({ disableColors } = {}) {
-        this.transform = new Transform({
-          transform(chunk, _enc, cb) {
-            cb(null, chunk);
-          }
-        });
-        this.logger = new Console({
-          stdout: this.transform,
-          inspectOptions: {
-            colors: !disableColors && !process.env.CI
-          }
-        });
+    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);
       }
-      format(pendingInterceptors) {
-        const withPrettyHeaders = pendingInterceptors.map(
-          ({ method, path: path7, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
-            Method: method,
-            Origin: origin,
-            Path: path7,
-            "Status code": statusCode,
-            Persistent: persist ? "\u2705" : "\u274C",
-            Invocations: timesInvoked,
-            Remaining: persist ? Infinity : times - timesInvoked
-          })
-        );
-        this.logger.table(withPrettyHeaders);
-        return this.transform.read().toString();
+      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);
     };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-agent.js
-var require_mock_agent2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
-    "use strict";
-    var { kClients } = require_symbols6();
-    var Agent = require_agent2();
-    var {
-      kAgent,
-      kMockAgentSet,
-      kMockAgentGet,
-      kDispatches,
-      kIsMockActive,
-      kNetConnect,
-      kGetNetConnect,
-      kOptions,
-      kFactory
-    } = require_mock_symbols2();
-    var MockClient = require_mock_client2();
-    var MockPool = require_mock_pool2();
-    var { matchValue, buildMockOptions } = require_mock_utils2();
-    var { InvalidArgumentError, UndiciError } = require_errors2();
-    var Dispatcher = require_dispatcher2();
-    var Pluralizer = require_pluralizer2();
-    var PendingInterceptorsFormatter = require_pending_interceptors_formatter2();
-    var FakeWeakRef = class {
-      constructor(value) {
-        this.value = value;
+    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
       }
-      deref() {
-        return this.value;
+    ]);
+    module2.exports = { Request, makeRequest, fromInnerRequest, cloneRequest };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js
+var require_fetch2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js"(exports2, module2) {
+    "use strict";
+    var {
+      makeNetworkError,
+      makeAppropriateNetworkError,
+      filterResponse,
+      makeResponse,
+      fromInnerResponse
+    } = require_response2();
+    var { HeadersList } = require_headers2();
+    var { Request, cloneRequest } = require_request4();
+    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_util10();
+    var { kState, kDispatcher } = require_symbols7();
+    var assert = require("node:assert");
+    var { safelyExtractBody, extractBody } = require_body2();
+    var {
+      redirectStatusSet,
+      nullBodyStatus,
+      safeMethodsSet,
+      requestBodyHeader,
+      subresourceSet
+    } = require_constants8();
+    var EE = require("node:events");
+    var { Readable, pipeline, finished } = require("node:stream");
+    var { addAbortListener, isErrored, isReadable, bufferToLowerCasedHeaderName } = require_util9();
+    var { dataURLProcessor, serializeAMimeType, minimizeSupportedMimeType } = require_data_url2();
+    var { getGlobalDispatcher } = require_global4();
+    var { webidl } = require_webidl2();
+    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";
       }
-    };
-    var MockAgent = class extends Dispatcher {
-      constructor(opts) {
-        super(opts);
-        this[kNetConnect] = true;
-        this[kIsMockActive] = true;
-        if (opts && opts.agent && typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
+      terminate(reason) {
+        if (this.state !== "ongoing") {
+          return;
         }
-        const agent = opts && opts.agent ? opts.agent : new Agent(opts);
-        this[kAgent] = agent;
-        this[kClients] = agent[kClients];
-        this[kOptions] = buildMockOptions(opts);
+        this.state = "terminated";
+        this.connection?.destroy(reason);
+        this.emit("terminated", reason);
       }
-      get(origin) {
-        let dispatcher = this[kMockAgentGet](origin);
-        if (!dispatcher) {
-          dispatcher = this[kFactory](origin);
-          this[kMockAgentSet](origin, dispatcher);
+      // https://fetch.spec.whatwg.org/#fetch-controller-abort
+      abort(error3) {
+        if (this.state !== "ongoing") {
+          return;
         }
-        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.");
+        this.state = "aborted";
+        if (!error3) {
+          error3 = new DOMException("The operation was aborted.", "AbortError");
         }
+        this.serializedAbortReason = error3;
+        this.connection?.destroy(error3);
+        this.emit("terminated", error3);
       }
-      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];
+    };
+    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;
       }
-      [kMockAgentSet](origin, dispatcher) {
-        this[kClients].set(origin, new FakeWeakRef(dispatcher));
+      const request2 = requestObject[kState];
+      if (requestObject.signal.aborted) {
+        abortFetch(p, request2, null, requestObject.signal.reason);
+        return p.promise;
       }
-      [kFactory](origin) {
-        const mockOptions = Object.assign({ agent: this }, this[kOptions]);
-        return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions);
+      const globalObject = request2.client.globalObject;
+      if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") {
+        request2.serviceWorkers = "none";
       }
-      [kMockAgentGet](origin) {
-        const ref = this[kClients].get(origin);
-        if (ref) {
-          return ref.deref();
+      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);
         }
-        if (typeof origin !== "string") {
-          const dispatcher = this[kFactory]("http://localhost:9999");
-          this[kMockAgentSet](origin, dispatcher);
-          return dispatcher;
+      );
+      const processResponse = (response) => {
+        if (locallyAborted) {
+          return;
         }
-        for (const [keyMatcher, nonExplicitRef] of Array.from(this[kClients])) {
-          const nonExplicitDispatcher = nonExplicitRef.deref();
-          if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) {
-            const dispatcher = this[kFactory](origin);
-            this[kMockAgentSet](origin, dispatcher);
-            dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches];
-            return dispatcher;
-          }
+        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;
       }
-      [kGetNetConnect]() {
-        return this[kNetConnect];
+      if (!response.urlList?.length) {
+        return;
       }
-      pendingInterceptors() {
-        const mockAgentClients = this[kClients];
-        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope.deref()[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
+      const originalURL = response.urlList[0];
+      let timingInfo = response.timingInfo;
+      let cacheState = response.cacheState;
+      if (!urlIsHttpHttpsScheme(originalURL)) {
+        return;
       }
-      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());
+      if (timingInfo === null) {
+        return;
       }
-    };
-    module2.exports = MockAgent;
-  }
-});
-
-// node_modules/undici/lib/proxy-agent.js
-var require_proxy_agent2 = __commonJS({
-  "node_modules/undici/lib/proxy-agent.js"(exports2, module2) {
-    "use strict";
-    var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols6();
-    var { URL: URL2 } = require("url");
-    var Agent = require_agent2();
-    var Pool = require_pool2();
-    var DispatcherBase = require_dispatcher_base2();
-    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
-    var buildConnector = require_connect2();
-    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
-    var kClient = /* @__PURE__ */ Symbol("proxy client");
-    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
-    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
-    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
-    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
-    function defaultProtocolPort(protocol) {
-      return protocol === "https:" ? 443 : 80;
+      if (!response.timingAllowPassed) {
+        timingInfo = createOpaqueTimingInfo({
+          startTime: timingInfo.startTime
+        });
+        cacheState = "";
+      }
+      timingInfo.endTime = coarsenedSharedCurrentTime();
+      response.timingInfo = timingInfo;
+      markResourceTiming(
+        timingInfo,
+        originalURL.href,
+        initiatorType,
+        globalThis,
+        cacheState
+      );
     }
-    function buildProxyOptions(opts) {
-      if (typeof opts === "string") {
-        opts = { uri: opts };
+    var markResourceTiming = performance.markResourceTiming;
+    function abortFetch(p, request2, responseObject, error3) {
+      if (p) {
+        p.reject(error3);
       }
-      if (!opts || !opts.uri) {
-        throw new InvalidArgumentError("Proxy opts.uri is mandatory");
+      if (request2.body != null && isReadable(request2.body?.stream)) {
+        request2.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
+          }
+          throw err;
+        });
       }
-      return {
-        uri: opts.uri,
-        protocol: opts.protocol || "https"
-      };
-    }
-    function defaultFactory(origin, opts) {
-      return new Pool(origin, opts);
-    }
-    var ProxyAgent = class extends DispatcherBase {
-      constructor(opts) {
-        super(opts);
-        this[kProxy] = buildProxyOptions(opts);
-        this[kAgent] = new Agent(opts);
-        this[kInterceptors] = opts.interceptors && opts.interceptors.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : [];
-        if (typeof opts === "string") {
-          opts = { uri: opts };
-        }
-        if (!opts || !opts.uri) {
-          throw new InvalidArgumentError("Proxy opts.uri is mandatory");
-        }
-        const { clientFactory = defaultFactory } = opts;
-        if (typeof clientFactory !== "function") {
-          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
-        }
-        this[kRequestTls] = opts.requestTls;
-        this[kProxyTls] = opts.proxyTls;
-        this[kProxyHeaders] = opts.headers || {};
-        const resolvedUrl = new URL2(opts.uri);
-        const { origin, port, host, username, password } = resolvedUrl;
-        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 });
-        this[kClient] = clientFactory(resolvedUrl, { connect });
-        this[kAgent] = new Agent({
-          ...opts,
-          connect: async (opts2, callback) => {
-            let requestedHost = opts2.host;
-            if (!opts2.port) {
-              requestedHost += `:${defaultProtocolPort(opts2.protocol)}`;
-            }
-            try {
-              const { socket, statusCode } = await this[kClient].connect({
-                origin,
-                port,
-                path: requestedHost,
-                signal: opts2.signal,
-                headers: {
-                  ...this[kProxyHeaders],
-                  host
-                }
-              });
-              if (statusCode !== 200) {
-                socket.on("error", () => {
-                }).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) {
-              callback(err);
-            }
+      if (responseObject == null) {
+        return;
+      }
+      const response = responseObject[kState];
+      if (response.body != null && isReadable(response.body?.stream)) {
+        response.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
           }
+          throw err;
         });
       }
-      dispatch(opts, handler2) {
-        const { host } = new URL2(opts.origin);
-        const headers = buildHeaders(opts.headers);
-        throwIfProxyAuthIsSent(headers);
-        return this[kAgent].dispatch(
-          {
-            ...opts,
-            headers: {
-              ...headers,
-              host
-            }
-          },
-          handler2
-        );
+    }
+    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;
       }
-      async [kClose]() {
-        await this[kAgent].close();
-        await this[kClient].close();
+      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";
       }
-      async [kDestroy]() {
-        await this[kAgent].destroy();
-        await this[kClient].destroy();
+      if (request2.origin === "client") {
+        request2.origin = request2.client.origin;
       }
-    };
-    function buildHeaders(headers) {
-      if (Array.isArray(headers)) {
-        const headersPair = {};
-        for (let i = 0; i < headers.length; i += 2) {
-          headersPair[headers[i]] = headers[i + 1];
+      if (request2.policyContainer === "client") {
+        if (request2.client != null) {
+          request2.policyContainer = clonePolicyContainer(
+            request2.client.policyContainer
+          );
+        } else {
+          request2.policyContainer = makePolicyContainer();
         }
-        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");
+      if (!request2.headersList.contains("accept", true)) {
+        const value = "*/*";
+        request2.headersList.append("accept", value, true);
       }
-    }
-    module2.exports = ProxyAgent;
-  }
-});
-
-// node_modules/undici/lib/handler/RetryHandler.js
-var require_RetryHandler = __commonJS({
-  "node_modules/undici/lib/handler/RetryHandler.js"(exports2, module2) {
-    var assert = require("assert");
-    var { kRetryHandlerDefaultRetry } = require_symbols6();
-    var { RequestRetryError } = require_errors2();
-    var { isDisturbed, parseHeaders, parseRangeHeader } = require_util9();
-    function calculateRetryAfterHeader(retryAfter) {
-      const current = Date.now();
-      const diff = new Date(retryAfter).getTime() - current;
-      return diff;
-    }
-    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;
-        this.abort = null;
-        this.aborted = false;
-        this.retryOpts = {
-          retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry],
-          retryAfter: retryAfter ?? true,
-          maxTimeout: maxTimeout ?? 30 * 1e3,
-          // 30s,
-          timeout: 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"
-          ]
-        };
-        this.retryCount = 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;
+      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);
+        })();
       }
-      onRequestSent() {
-        if (this.handler.onRequestSent) {
-          this.handler.onRequestSent();
-        }
+      if (recursive) {
+        return response;
       }
-      onUpgrade(statusCode, headers, socket) {
-        if (this.handler.onUpgrade) {
-          this.handler.onUpgrade(statusCode, headers, socket);
+      if (response.status !== 0 && !response.internalResponse) {
+        if (request2.responseTainting === "cors") {
         }
-      }
-      onConnect(abort) {
-        if (this.aborted) {
-          abort(this.reason);
+        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 {
-          this.abort = abort;
+          assert(false);
         }
       }
-      onBodySent(chunk) {
-        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
+      let internalResponse = response.status === 0 ? response : response.internalResponse;
+      if (internalResponse.urlList.length === 0) {
+        internalResponse.urlList.push(...request2.urlList);
       }
-      static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) {
-        const { statusCode, code, headers } = err;
-        const { method, retryOptions } = opts;
-        const {
-          maxRetries,
-          timeout,
-          maxTimeout,
-          timeoutFactor,
-          statusCodes,
-          errorCodes,
-          methods
-        } = retryOptions;
-        let { counter, currentTimeout } = state;
-        currentTimeout = currentTimeout != null && currentTimeout > 0 ? currentTimeout : timeout;
-        if (code && code !== "UND_ERR_REQ_RETRY" && code !== "UND_ERR_SOCKET" && !errorCodes.includes(code)) {
-          cb(err);
+      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;
         }
-        if (Array.isArray(methods) && !methods.includes(method)) {
-          cb(err);
-          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"));
         }
-        if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) {
-          cb(err);
-          return;
+        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 type2 = 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", type2, 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, type2);
+            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", type2, true);
+            response.headersList.set("content-range", contentRange, true);
+          }
+          return Promise.resolve(response);
         }
-        if (counter > maxRetries) {
-          cb(err);
-          return;
+        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]
+          }));
         }
-        let retryAfterHeader = headers != null && headers["retry-after"];
-        if (retryAfterHeader) {
-          retryAfterHeader = Number(retryAfterHeader);
-          retryAfterHeader = isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3;
+        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"));
         }
-        const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(currentTimeout * timeoutFactor ** counter, maxTimeout);
-        state.currentTimeout = retryTimeout;
-        setTimeout(() => cb(null), retryTimeout);
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const headers = parseHeaders(rawHeaders);
-        this.retryCount += 1;
-        if (statusCode >= 300) {
-          this.abort(
-            new RequestRetryError("Request failed", statusCode, {
-              headers,
-              count: this.retryCount
-            })
-          );
-          return false;
+    }
+    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;
         }
-        if (this.resume != null) {
-          this.resume = null;
-          if (statusCode !== 206) {
-            return true;
-          }
-          const contentRange = parseRangeHeader(headers["content-range"]);
-          if (!contentRange) {
-            this.abort(
-              new RequestRetryError("Content-Range mismatch", statusCode, {
-                headers,
-                count: this.retryCount
-              })
-            );
-            return false;
+        fetchParams.controller.reportTimingSteps = () => {
+          if (fetchParams.request.url.protocol !== "https:") {
+            return;
           }
-          if (this.etag != null && this.etag !== headers.etag) {
-            this.abort(
-              new RequestRetryError("ETag mismatch", statusCode, {
-                headers,
-                count: this.retryCount
-              })
-            );
-            return false;
+          timingInfo.endTime = unsafeEndTime;
+          let cacheState = response.cacheState;
+          const bodyInfo = response.bodyInfo;
+          if (!response.timingAllowPassed) {
+            timingInfo = createOpaqueTimingInfo(timingInfo);
+            cacheState = "";
           }
-          const { start, size, end = size } = 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
-              );
+          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);
             }
-            const { start, size, end = size } = range;
-            assert(
-              start != null && Number.isFinite(start) && this.start !== start,
-              "content-range mismatch"
-            );
-            assert(Number.isFinite(start));
-            assert(
-              end != null && Number.isFinite(end) && this.end !== 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) : null;
+          if (fetchParams.request.initiatorType != null) {
+            markResourceTiming(timingInfo, fetchParams.request.url.href, fetchParams.request.initiatorType, globalThis, cacheState, bodyInfo, responseStatus);
           }
-          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;
-          return this.handler.onHeaders(
-            statusCode,
-            rawHeaders,
-            resume,
-            statusMessage
-          );
-        }
-        const err = new RequestRetryError("Request failed", statusCode, {
-          headers,
-          count: this.retryCount
+        };
+        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;
         });
-        this.abort(err);
-        return false;
       }
-      onData(chunk) {
-        this.start += chunk.length;
-        return this.handler.onData(chunk);
+      const internalResponse = response.type === "error" ? response : response.internalResponse ?? response;
+      if (internalResponse.body == null) {
+        processResponseEndOfBody();
+      } else {
+        finished(internalResponse.body.stream, () => {
+          processResponseEndOfBody();
+        });
       }
-      onComplete(rawTrailers) {
-        this.retryCount = 0;
-        return this.handler.onComplete(rawTrailers);
+    }
+    async function httpFetch(fetchParams) {
+      const request2 = fetchParams.request;
+      let response = null;
+      let actualResponse = null;
+      const timingInfo = fetchParams.timingInfo;
+      if (request2.serviceWorkers === "all") {
       }
-      onError(err) {
-        if (this.aborted || isDisturbed(this.opts.body)) {
-          return this.handler.onError(err);
+      if (response === null) {
+        if (request2.redirect === "follow") {
+          request2.serviceWorkers = "none";
         }
-        this.retryOpts.retry(
-          err,
-          {
-            state: { counter: this.retryCount++, currentTimeout: this.retryAfter },
-            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) {
-            this.opts = {
-              ...this.opts,
-              headers: {
-                ...this.opts.headers,
-                range: `bytes=${this.start}-${this.end ?? ""}`
-              }
-            };
-          }
-          try {
-            this.dispatch(this.opts, this);
-          } catch (err3) {
-            this.handler.onError(err3);
-          }
+        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;
         }
       }
-    };
-    module2.exports = RetryHandler;
-  }
-});
-
-// node_modules/undici/lib/global.js
-var require_global4 = __commonJS({
-  "node_modules/undici/lib/global.js"(exports2, module2) {
-    "use strict";
-    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
-    var { InvalidArgumentError } = require_errors2();
-    var Agent = require_agent2();
-    if (getGlobalDispatcher() === void 0) {
-      setGlobalDispatcher(new Agent());
-    }
-    function setGlobalDispatcher(agent) {
-      if (!agent || typeof agent.dispatch !== "function") {
-        throw new InvalidArgumentError("Argument agent must implement Agent");
+      if ((request2.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
+        request2.origin,
+        request2.client,
+        request2.destination,
+        actualResponse
+      ) === "blocked") {
+        return makeNetworkError("blocked");
       }
-      Object.defineProperty(globalThis, globalDispatcher, {
-        value: agent,
-        writable: true,
-        enumerable: false,
-        configurable: false
-      });
+      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 getGlobalDispatcher() {
-      return globalThis[globalDispatcher];
+    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);
     }
-    module2.exports = {
-      setGlobalDispatcher,
-      getGlobalDispatcher
-    };
-  }
-});
-
-// node_modules/undici/lib/handler/DecoratorHandler.js
-var require_DecoratorHandler = __commonJS({
-  "node_modules/undici/lib/handler/DecoratorHandler.js"(exports2, module2) {
-    "use strict";
-    module2.exports = class DecoratorHandler {
-      constructor(handler2) {
-        this.handler = handler2;
+    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;
       }
-      onConnect(...args) {
-        return this.handler.onConnect(...args);
+      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";
       }
-      onError(...args) {
-        return this.handler.onError(...args);
+      if (contentLength != null) {
+        contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
       }
-      onUpgrade(...args) {
-        return this.handler.onUpgrade(...args);
+      if (contentLengthHeaderValue != null) {
+        httpRequest.headersList.append("content-length", contentLengthHeaderValue, true);
       }
-      onHeaders(...args) {
-        return this.handler.onHeaders(...args);
+      if (contentLength != null && httpRequest.keepalive) {
       }
-      onData(...args) {
-        return this.handler.onData(...args);
+      if (httpRequest.referrer instanceof URL) {
+        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href), true);
       }
-      onComplete(...args) {
-        return this.handler.onComplete(...args);
+      appendRequestOriginHeader(httpRequest);
+      appendFetchMetadata(httpRequest);
+      if (!httpRequest.headersList.contains("user-agent", true)) {
+        httpRequest.headersList.append("user-agent", defaultUserAgent);
       }
-      onBodySent(...args) {
-        return this.handler.onBodySent(...args);
+      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";
       }
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/headers.js
-var require_headers2 = __commonJS({
-  "node_modules/undici/lib/fetch/headers.js"(exports2, module2) {
-    "use strict";
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var { kGuard } = require_symbols7();
-    var { kEnumerableProperty } = require_util9();
-    var {
-      makeIterator,
-      isValidHeaderName,
-      isValidHeaderValue
-    } = require_util10();
-    var util = require("util");
-    var { webidl } = require_webidl2();
-    var assert = require("assert");
-    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
-    var kHeadersSortedMap = /* @__PURE__ */ 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]);
+      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);
         }
-      } 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]]);
+        if (!httpRequest.headersList.contains("cache-control", true)) {
+          httpRequest.headersList.append("cache-control", "no-cache", true);
         }
-      } 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 (headers[kGuard] === "immutable") {
-        throw new TypeError("immutable");
-      } else if (headers[kGuard] === "request-no-cors") {
+      if (httpRequest.headersList.contains("range", true)) {
+        httpRequest.headersList.append("accept-encoding", "identity", true);
       }
-      return headers[kHeadersList].append(name, value);
-    }
-    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];
+      if (!httpRequest.headersList.contains("accept-encoding", true)) {
+        if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
+          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate", true);
         } else {
-          this[kHeadersMap] = new Map(init);
-          this[kHeadersSortedMap] = null;
+          httpRequest.headersList.append("accept-encoding", "gzip, deflate", true);
         }
       }
-      // https://fetch.spec.whatwg.org/#header-list-contains
-      contains(name) {
-        name = name.toLowerCase();
-        return this[kHeadersMap].has(name);
+      httpRequest.headersList.delete("host", true);
+      if (includeCredentials) {
       }
-      clear() {
-        this[kHeadersMap].clear();
-        this[kHeadersSortedMap] = null;
-        this.cookies = null;
+      if (httpCache == null) {
+        httpRequest.cache = "no-store";
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-append
-      append(name, value) {
-        this[kHeadersSortedMap] = null;
-        const lowercaseName = name.toLowerCase();
-        const exists = this[kHeadersMap].get(lowercaseName);
-        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 (httpRequest.cache !== "no-store" && httpRequest.cache !== "reload") {
+      }
+      if (response == null) {
+        if (httpRequest.cache === "only-if-cached") {
+          return makeNetworkError("only if cached");
         }
-        if (lowercaseName === "set-cookie") {
-          this.cookies ??= [];
-          this.cookies.push(value);
+        const forwardResponse = await httpNetworkFetch(
+          httpFetchParams,
+          includeCredentials,
+          isNewConnectionFetch
+        );
+        if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {
         }
-      }
-      // https://fetch.spec.whatwg.org/#concept-header-list-set
-      set(name, value) {
-        this[kHeadersSortedMap] = null;
-        const lowercaseName = name.toLowerCase();
-        if (lowercaseName === "set-cookie") {
-          this.cookies = [value];
+        if (revalidatingFlag && forwardResponse.status === 304) {
         }
-        this[kHeadersMap].set(lowercaseName, { name, value });
-      }
-      // https://fetch.spec.whatwg.org/#concept-header-list-delete
-      delete(name) {
-        this[kHeadersSortedMap] = null;
-        name = name.toLowerCase();
-        if (name === "set-cookie") {
-          this.cookies = null;
+        if (response == null) {
+          response = forwardResponse;
         }
-        this[kHeadersMap].delete(name);
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-get
-      get(name) {
-        const value = this[kHeadersMap].get(name.toLowerCase());
-        return value === void 0 ? null : value.value;
+      response.urlList = [...httpRequest.urlList];
+      if (httpRequest.headersList.contains("range", true)) {
+        response.rangeRequested = true;
       }
-      *[Symbol.iterator]() {
-        for (const [name, { value }] of this[kHeadersMap]) {
-          yield [name, value];
+      response.requestIncludesCredentials = includeCredentials;
+      if (response.status === 407) {
+        if (request2.window === "no-window") {
+          return makeNetworkError();
         }
-      }
-      get entries() {
-        const headers = {};
-        if (this[kHeadersMap].size) {
-          for (const { name, value } of this[kHeadersMap].values()) {
-            headers[name] = value;
-          }
+        if (isCancelled(fetchParams)) {
+          return makeAppropriateNetworkError(fetchParams);
         }
-        return headers;
+        return makeNetworkError("proxy authentication required");
       }
-    };
-    var Headers = class _Headers {
-      constructor(init = void 0) {
-        if (init === kConstruct) {
-          return;
-        }
-        this[kHeadersList] = new HeadersList();
-        this[kGuard] = "none";
-        if (init !== void 0) {
-          init = webidl.converters.HeadersInit(init);
-          fill(this, init);
+      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
+        );
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-append
-      append(name, value) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.append" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
-        return appendHeader(this, name, value);
+      if (isAuthenticationFetch) {
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-delete
-      delete(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.delete" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.delete",
-            value: name,
-            type: "header name"
-          });
-        }
-        if (this[kGuard] === "immutable") {
-          throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
-        }
-        if (!this[kHeadersList].contains(name)) {
-          return;
+      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"));
+            }
+          }
         }
-        this[kHeadersList].delete(name);
+      };
+      const request2 = fetchParams.request;
+      let response = null;
+      const timingInfo = fetchParams.timingInfo;
+      const httpCache = null;
+      if (httpCache == null) {
+        request2.cache = "no-store";
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-get
-      get(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.get" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.get",
-            value: name,
-            type: "header name"
-          });
-        }
-        return this[kHeadersList].get(name);
+      const newConnection = forceNewConnection ? "yes" : "no";
+      if (request2.mode === "websocket") {
+      } else {
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-has
-      has(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.has" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.has",
-            value: name,
-            type: "header name"
-          });
-        }
-        return this[kHeadersList].contains(name);
+      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);
+          }
+        })();
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-set
-      set(name, value) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.set" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
-        value = headerValueNormalize(value);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
-            value: name,
-            type: "header name"
-          });
-        } else if (!isValidHeaderValue(value)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
-            value,
-            type: "header value"
-          });
+      try {
+        const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
+        if (socket) {
+          response = makeResponse({ status, statusText, headersList, socket });
+        } else {
+          const iterator2 = body[Symbol.asyncIterator]();
+          fetchParams.controller.next = () => iterator2.next();
+          response = makeResponse({ status, statusText, headersList });
         }
-        if (this[kGuard] === "immutable") {
-          throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
+      } catch (err) {
+        if (err.name === "AbortError") {
+          fetchParams.controller.connection.destroy();
+          return makeAppropriateNetworkError(fetchParams, err);
         }
-        this[kHeadersList].set(name, value);
+        return makeNetworkError(err);
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
-      getSetCookie() {
-        webidl.brandCheck(this, _Headers);
-        const list = this[kHeadersList].cookies;
-        if (list) {
-          return [...list];
+      const pullAlgorithm = async () => {
+        await fetchParams.controller.resume();
+      };
+      const cancelAlgorithm = (reason) => {
+        if (!isCancelled(fetchParams)) {
+          fetchParams.controller.abort(reason);
         }
-        return [];
-      }
-      // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
-      get [kHeadersSortedMap]() {
-        if (this[kHeadersList][kHeadersSortedMap]) {
-          return this[kHeadersList][kHeadersSortedMap];
+      };
+      const stream = new ReadableStream(
+        {
+          async start(controller) {
+            fetchParams.controller.controller = controller;
+          },
+          async pull(controller) {
+            await pullAlgorithm(controller);
+          },
+          async cancel(reason) {
+            await cancelAlgorithm(reason);
+          },
+          type: "bytes"
         }
-        const headers = [];
-        const names = [...this[kHeadersList]].sort((a, b) => a[0] < b[0] ? -1 : 1);
-        const cookies = this[kHeadersList].cookies;
-        for (let i = 0; i < names.length; ++i) {
-          const [name, value] = names[i];
-          if (name === "set-cookie") {
-            for (let j = 0; j < cookies.length; ++j) {
-              headers.push([name, cookies[j]]);
+      );
+      response.body = { stream, source: null, length: null };
+      fetchParams.controller.onAborted = onAborted;
+      fetchParams.controller.on("terminated", onAborted);
+      fetchParams.controller.resume = async () => {
+        while (true) {
+          let bytes;
+          let isFailure;
+          try {
+            const { done, value } = await fetchParams.controller.next();
+            if (isAborted(fetchParams)) {
+              break;
+            }
+            bytes = done ? void 0 : value;
+          } catch (err) {
+            if (fetchParams.controller.ended && !timingInfo.encodedBodySize) {
+              bytes = void 0;
+            } else {
+              bytes = err;
+              isFailure = true;
+            }
+          }
+          if (bytes === void 0) {
+            readableStreamClose(fetchParams.controller.controller);
+            finalizeResponse(fetchParams, response);
+            return;
+          }
+          timingInfo.decodedBodySize += bytes?.byteLength ?? 0;
+          if (isFailure) {
+            fetchParams.controller.terminate(bytes);
+            return;
+          }
+          const buffer = new Uint8Array(bytes);
+          if (buffer.byteLength) {
+            fetchParams.controller.controller.enqueue(buffer);
+          }
+          if (isErrored(stream)) {
+            fetchParams.controller.terminate();
+            return;
+          }
+          if (fetchParams.controller.controller.desiredSize <= 0) {
+            return;
+          }
+        }
+      };
+      function onAborted(reason) {
+        if (isAborted(fetchParams)) {
+          response.aborted = true;
+          if (isReadable(stream)) {
+            fetchParams.controller.controller.error(
+              fetchParams.controller.serializedAbortReason
+            );
+          }
+        } else {
+          if (isReadable(stream)) {
+            fetchParams.controller.controller.error(new TypeError("terminated", {
+              cause: isErrorLike(reason) ? reason : void 0
+            }));
+          }
+        }
+        fetchParams.controller.connection.destroy();
+      }
+      return response;
+      function dispatch({ body }) {
+        const url = requestCurrentURL(request2);
+        const agent = fetchParams.controller.dispatcher;
+        return new Promise((resolve5, reject) => agent.dispatch(
+          {
+            path: url.pathname + url.search,
+            origin: url.origin,
+            method: request2.method,
+            body: agent.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
+            headers: request2.headersList.entries,
+            maxRedirections: 0,
+            upgrade: request2.mode === "websocket" ? "websocket" : void 0
+          },
+          {
+            body: null,
+            abort: null,
+            onConnect(abort) {
+              const { connection } = fetchParams.controller;
+              timingInfo.finalConnectionTimingInfo = clampAndCoarsenConnectionTimingInfo(void 0, timingInfo.postRedirectStartTime, fetchParams.crossOriginIsolatedCapability);
+              if (connection.destroyed) {
+                abort(new DOMException("The operation was aborted.", "AbortError"));
+              } else {
+                fetchParams.controller.on("terminated", abort);
+                this.abort = connection.abort = abort;
+              }
+              timingInfo.finalNetworkRequestStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+            },
+            onResponseStarted() {
+              timingInfo.finalNetworkResponseStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+            },
+            onHeaders(status, rawHeaders, resume, statusText) {
+              if (status < 200) {
+                return;
+              }
+              let location = "";
+              const headersList = new HeadersList();
+              for (let i = 0; i < rawHeaders.length; i += 2) {
+                headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true);
+              }
+              location = headersList.get("location", true);
+              this.body = new Readable({ read: resume });
+              const decoders = [];
+              const willFollow = location && request2.redirect === "follow" && redirectStatusSet.has(status);
+              if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
+                const contentEncoding = headersList.get("content-encoding", true);
+                const codings = contentEncoding ? contentEncoding.toLowerCase().split(",") : [];
+                const maxContentEncodings = 5;
+                if (codings.length > maxContentEncodings) {
+                  reject(new Error(`too many content-encodings in response: ${codings.length}, maximum allowed is ${maxContentEncodings}`));
+                  return true;
+                }
+                for (let i = codings.length - 1; i >= 0; --i) {
+                  const coding = codings[i].trim();
+                  if (coding === "x-gzip" || coding === "gzip") {
+                    decoders.push(zlib.createGunzip({
+                      // Be less strict when decoding compressed responses, since sometimes
+                      // servers send slightly invalid responses that are still accepted
+                      // by common browsers.
+                      // Always using Z_SYNC_FLUSH is what cURL does.
+                      flush: zlib.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib.constants.Z_SYNC_FLUSH
+                    }));
+                  } else if (coding === "deflate") {
+                    decoders.push(createInflate({
+                      flush: zlib.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib.constants.Z_SYNC_FLUSH
+                    }));
+                  } else if (coding === "br") {
+                    decoders.push(zlib.createBrotliDecompress({
+                      flush: zlib.constants.BROTLI_OPERATION_FLUSH,
+                      finishFlush: zlib.constants.BROTLI_OPERATION_FLUSH
+                    }));
+                  } else {
+                    decoders.length = 0;
+                    break;
+                  }
+                }
+              }
+              const onError = this.onError.bind(this);
+              resolve5({
+                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(error3) {
+              if (this.abort) {
+                fetchParams.controller.off("terminated", this.abort);
+              }
+              this.body?.destroy(error3);
+              fetchParams.controller.terminate(error3);
+              reject(error3);
+            },
+            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);
+              }
+              resolve5({
+                status,
+                statusText: STATUS_CODES[status],
+                headersList,
+                socket
+              });
+              return true;
             }
-          } else {
-            assert(value !== null);
-            headers.push([name, value]);
           }
-        }
-        this[kHeadersList][kHeadersSortedMap] = headers;
-        return headers;
-      }
-      keys() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key"
-        );
-      }
-      values() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "value"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "value"
-        );
-      }
-      entries() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key+value"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key+value"
-        );
-      }
-      /**
-       * @param {(value: string, key: string, self: Headers) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'."
-          );
-        }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
-        }
-      }
-      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")]() {
-        webidl.brandCheck(this, _Headers);
-        return this[kHeadersList];
-      }
-    };
-    Headers.prototype[Symbol.iterator] = Headers.prototype.entries;
-    Object.defineProperties(Headers.prototype, {
-      append: kEnumerableProperty,
-      delete: kEnumerableProperty,
-      get: kEnumerableProperty,
-      has: kEnumerableProperty,
-      set: kEnumerableProperty,
-      getSetCookie: kEnumerableProperty,
-      keys: kEnumerableProperty,
-      values: kEnumerableProperty,
-      entries: kEnumerableProperty,
-      forEach: kEnumerableProperty,
-      [Symbol.iterator]: { enumerable: false },
-      [Symbol.toStringTag]: {
-        value: "Headers",
-        configurable: true
-      },
-      [util.inspect.custom]: {
-        enumerable: false
-      }
-    });
-    webidl.converters.HeadersInit = function(V) {
-      if (webidl.util.Type(V) === "Object") {
-        if (V[Symbol.iterator]) {
-          return webidl.converters["sequence>"](V);
-        }
-        return webidl.converters["record"](V);
+        ));
       }
-      throw webidl.errors.conversionFailed({
-        prefix: "Headers constructor",
-        argument: "Argument 1",
-        types: ["sequence>", "record"]
-      });
+    }
+    module2.exports = {
+      fetch,
+      Fetch,
+      fetching,
+      finalizeAndReportTiming
     };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js
+var require_symbols8 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js"(exports2, module2) {
+    "use strict";
     module2.exports = {
-      fill,
-      Headers,
-      HeadersList
+      kState: /* @__PURE__ */ Symbol("FileReader state"),
+      kResult: /* @__PURE__ */ Symbol("FileReader result"),
+      kError: /* @__PURE__ */ Symbol("FileReader error"),
+      kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"),
+      kEvents: /* @__PURE__ */ Symbol("FileReader events"),
+      kAborted: /* @__PURE__ */ Symbol("FileReader aborted")
     };
   }
 });
 
-// node_modules/undici/lib/fetch/response.js
-var require_response2 = __commonJS({
-  "node_modules/undici/lib/fetch/response.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js
+var require_progressevent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js"(exports2, module2) {
     "use strict";
-    var { Headers, HeadersList, fill } = require_headers2();
-    var { extractBody, cloneBody, mixinBody } = require_body2();
-    var util = require_util9();
-    var { kEnumerableProperty } = util;
-    var {
-      isValidReasonPhrase,
-      isCancelled,
-      isAborted,
-      isBlobLike,
-      serializeJavascriptValueToJSONString,
-      isErrorLike,
-      isomorphicEncode
-    } = require_util10();
-    var {
-      redirectStatusSet,
-      nullBodyStatus,
-      DOMException: DOMException2
-    } = require_constants7();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
     var { webidl } = require_webidl2();
-    var { FormData: FormData2 } = require_formdata2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { types } = require("util");
-    var ReadableStream2 = globalThis.ReadableStream || require("stream/web").ReadableStream;
-    var textEncoder = new TextEncoder("utf-8");
-    var Response = class _Response {
-      // Creates network error Response.
-      static error() {
-        const relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kState] = makeNetworkError();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = responseObject[kState].headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        return responseObject;
-      }
-      // https://fetch.spec.whatwg.org/#dom-response-json
-      static json(data, init = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.json" });
-        if (init !== null) {
-          init = webidl.converters.ResponseInit(init);
-        }
-        const bytes = textEncoder.encode(
-          serializeJavascriptValueToJSONString(data)
-        );
-        const body = extractBody(bytes);
-        const relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "response";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
-        return responseObject;
-      }
-      // Creates a redirect Response that redirects to url with status status.
-      static redirect(url, status = 302) {
-        const relevantRealm = { settingsObject: {} };
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.redirect" });
-        url = webidl.converters.USVString(url);
-        status = webidl.converters["unsigned short"](status);
-        let parsedURL;
-        try {
-          parsedURL = new URL(url, getGlobalOrigin());
-        } catch (err) {
-          throw Object.assign(new TypeError("Failed to parse URL from " + url), {
-            cause: err
-          });
-        }
-        if (!redirectStatusSet.has(status)) {
-          throw new RangeError("Invalid status code " + status);
-        }
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        responseObject[kState].status = status;
-        const value = isomorphicEncode(URLSerializer(parsedURL));
-        responseObject[kState].headersList.append("location", value);
-        return responseObject;
-      }
-      // https://fetch.spec.whatwg.org/#dom-response
-      constructor(body = null, init = {}) {
-        if (body !== null) {
-          body = webidl.converters.BodyInit(body);
-        }
-        init = webidl.converters.ResponseInit(init);
-        this[kRealm] = { settingsObject: {} };
-        this[kState] = makeResponse({});
-        this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kGuard] = "response";
-        this[kHeaders][kHeadersList] = this[kState].headersList;
-        this[kHeaders][kRealm] = this[kRealm];
-        let bodyWithType = null;
-        if (body != null) {
-          const [extractedBody, type2] = extractBody(body);
-          bodyWithType = { body: extractedBody, type: type2 };
-        }
-        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];
+    var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
+    var ProgressEvent = class _ProgressEvent extends Event {
+      constructor(type2, eventInitDict = {}) {
+        type2 = webidl.converters.DOMString(type2, "ProgressEvent constructor", "type");
+        eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
+        super(type2, eventInitDict);
+        this[kState] = {
+          lengthComputable: eventInitDict.lengthComputable,
+          loaded: eventInitDict.loaded,
+          total: eventInitDict.total
+        };
       }
-      get body() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].body ? this[kState].body.stream : null;
+      get lengthComputable() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].lengthComputable;
       }
-      get bodyUsed() {
-        webidl.brandCheck(this, _Response);
-        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
+      get loaded() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].loaded;
       }
-      // Returns a clone of response.
-      clone() {
-        webidl.brandCheck(this, _Response);
-        if (this.bodyUsed || this.body && this.body.locked) {
-          throw webidl.errors.exception({
-            header: "Response.clone",
-            message: "Body has already been consumed."
-          });
-        }
-        const clonedResponse = cloneResponse(this[kState]);
-        const clonedResponseObject = new _Response();
-        clonedResponseObject[kState] = clonedResponse;
-        clonedResponseObject[kRealm] = this[kRealm];
-        clonedResponseObject[kHeaders][kHeadersList] = clonedResponse.headersList;
-        clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm];
-        return clonedResponseObject;
+      get total() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].total;
       }
     };
-    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(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 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, type2) {
-      if (type2 === "basic") {
-        return makeFilteredResponse(response, {
-          type: "basic",
-          headersList: response.headersList
-        });
-      } else if (type2 === "cors") {
-        return makeFilteredResponse(response, {
-          type: "cors",
-          headersList: response.headersList
-        });
-      } else if (type2 === "opaque") {
-        return makeFilteredResponse(response, {
-          type: "opaque",
-          urlList: Object.freeze([]),
-          status: 0,
-          statusText: "",
-          body: null
-        });
-      } else if (type2 === "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 DOMException2("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException2("Request was cancelled."), { cause: err }));
-    }
-    function initializeResponse(response, init, body) {
-      if (init.status !== null && (init.status < 200 || init.status > 599)) {
-        throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
-      }
-      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;
+    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
       }
-      if ("headers" in init && init.headers != null) {
-        fill(response[kHeaders], init.headers);
+    ]);
+    module2.exports = {
+      ProgressEvent
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js
+var require_encoding2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js"(exports2, module2) {
+    "use strict";
+    function getEncoding(label) {
+      if (!label) {
+        return "failure";
       }
-      if (body) {
-        if (nullBodyStatus.includes(response.status)) {
-          throw webidl.errors.exception({
-            header: "Response constructor",
-            message: "Invalid response status code " + response.status
-          });
-        }
-        response[kState].body = body.body;
-        if (body.type != null && !response[kState].headersList.contains("Content-Type")) {
-          response[kState].headersList.append("content-type", body.type);
-        }
+      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";
       }
     }
-    webidl.converters.ReadableStream = webidl.interfaceConverter(
-      ReadableStream2
-    );
-    webidl.converters.FormData = webidl.interfaceConverter(
-      FormData2
-    );
-    webidl.converters.URLSearchParams = webidl.interfaceConverter(
-      URLSearchParams
-    );
-    webidl.converters.XMLHttpRequestBodyInit = function(V) {
-      if (typeof V === "string") {
-        return webidl.converters.USVString(V);
-      }
-      if (isBlobLike(V)) {
-        return webidl.converters.Blob(V, { strict: false });
-      }
-      if (types.isArrayBuffer(V) || types.isTypedArray(V) || types.isDataView(V)) {
-        return webidl.converters.BufferSource(V);
-      }
-      if (util.isFormDataLike(V)) {
-        return webidl.converters.FormData(V, { strict: false });
-      }
-      if (V instanceof URLSearchParams) {
-        return webidl.converters.URLSearchParams(V);
-      }
-      return webidl.converters.DOMString(V);
-    };
-    webidl.converters.BodyInit = function(V) {
-      if (V instanceof ReadableStream2) {
-        return webidl.converters.ReadableStream(V);
-      }
-      if (V?.[Symbol.asyncIterator]) {
-        return V;
-      }
-      return webidl.converters.XMLHttpRequestBodyInit(V);
-    };
-    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 = {
-      makeNetworkError,
-      makeResponse,
-      makeAppropriateNetworkError,
-      filterResponse,
-      Response,
-      cloneResponse
+      getEncoding
     };
   }
 });
 
-// node_modules/undici/lib/fetch/request.js
-var require_request4 = __commonJS({
-  "node_modules/undici/lib/fetch/request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js
+var require_util12 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js"(exports2, module2) {
     "use strict";
-    var { extractBody, mixinBody, cloneBody } = require_body2();
-    var { Headers, fill: fillHeaders, HeadersList } = require_headers2();
-    var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
-    var util = require_util9();
-    var {
-      isValidHTTPToken,
-      sameOrigin,
-      normalizeMethod,
-      makePolicyContainer,
-      normalizeMethodRecord
-    } = require_util10();
     var {
-      forbiddenMethodsSet,
-      corsSafeListedMethodsSet,
-      referrerPolicy,
-      requestRedirect,
-      requestMode,
-      requestCredentials,
-      requestCache,
-      requestDuplex
-    } = require_constants7();
-    var { kEnumerableProperty } = util;
-    var { kHeaders, kSignal, kState, kGuard, kRealm } = require_symbols7();
-    var { webidl } = require_webidl2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events");
-    var TransformStream2 = globalThis.TransformStream;
-    var kAbortController = /* @__PURE__ */ Symbol("abortController");
-    var requestFinalizer = new FinalizationRegistry2(({ signal, abort }) => {
-      signal.removeEventListener("abort", abort);
-    });
-    var Request = class _Request {
-      // https://fetch.spec.whatwg.org/#dom-request
-      constructor(input, init = {}) {
-        if (input === kConstruct) {
-          return;
-        }
-        webidl.argumentLengthCheck(arguments, 1, { header: "Request constructor" });
-        input = webidl.converters.RequestInfo(input);
-        init = webidl.converters.RequestInit(init);
-        this[kRealm] = {
-          settingsObject: {
-            baseUrl: getGlobalOrigin(),
-            get origin() {
-              return this.baseUrl?.origin;
-            },
-            policyContainer: makePolicyContainer()
-          }
-        };
-        let request2 = null;
-        let fallbackMode = null;
-        const baseUrl = this[kRealm].settingsObject.baseUrl;
-        let signal = null;
-        if (typeof input === "string") {
-          let parsedURL;
+      kState,
+      kError,
+      kResult,
+      kAborted,
+      kLastProgressEventFired
+    } = require_symbols8();
+    var { ProgressEvent } = require_progressevent2();
+    var { getEncoding } = require_encoding2();
+    var { serializeAMimeType, parseMIMEType } = require_data_url2();
+    var { types } = require("node:util");
+    var { StringDecoder } = require("string_decoder");
+    var { btoa: btoa2 } = require("node:buffer");
+    var staticPropertyDescriptors = {
+      enumerable: true,
+      writable: false,
+      configurable: false
+    };
+    function readOperation(fr, blob, type2, 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 {
-            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 {
-          assert(input instanceof _Request);
-          request2 = input[kState];
-          signal = input[kSignal];
-        }
-        const origin = this[kRealm].settingsObject.origin;
-        let window2 = "client";
-        if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
-          window2 = request2.window;
-        }
-        if (init.window != null) {
-          throw new TypeError(`'window' option '${window2}' must be null`);
-        }
-        if ("window" in init) {
-          window2 = "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: this[kRealm].settingsObject,
-          // window window.
-          window: window2,
-          // 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, this[kRealm].settingsObject.baseUrl)) {
-              request2.referrer = "client";
-            } else {
-              request2.referrer = parsedReferrer;
+            const { done, value } = await chunkPromise;
+            if (isFirstChunk && !fr[kAborted]) {
+              queueMicrotask(() => {
+                fireAProgressEvent("loadstart", fr);
+              });
             }
-          }
-        }
-        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;
-          if (!isValidHTTPToken(method)) {
-            throw new TypeError(`'${method}' is not a valid HTTP method.`);
-          }
-          if (forbiddenMethodsSet.has(method.toUpperCase())) {
-            throw new TypeError(`'${method}' HTTP method is unsupported.`);
-          }
-          method = normalizeMethodRecord[method] ?? normalizeMethod(method);
-          request2.method = method;
-        }
-        if (init.signal !== void 0) {
-          signal = init.signal;
-        }
-        this[kState] = request2;
-        const ac = new AbortController();
-        this[kSignal] = ac.signal;
-        this[kSignal][kRealm] = this[kRealm];
-        if (signal != null) {
-          if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") {
-            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 = function() {
-              const ac2 = acRef.deref();
-              if (ac2 !== void 0) {
-                ac2.abort(this.reason);
+            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);
+                });
               }
-            };
-            try {
-              if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) {
-                setMaxListeners(100, signal);
-              } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) {
-                setMaxListeners(100, signal);
+              chunkPromise = reader.read();
+            } else if (done) {
+              queueMicrotask(() => {
+                fr[kState] = "done";
+                try {
+                  const result = packageData(bytes, type2, blob.type, encodingName);
+                  if (fr[kAborted]) {
+                    return;
+                  }
+                  fr[kResult] = result;
+                  fireAProgressEvent("load", fr);
+                } catch (error3) {
+                  fr[kError] = error3;
+                  fireAProgressEvent("error", fr);
+                }
+                if (fr[kState] !== "loading") {
+                  fireAProgressEvent("loadend", fr);
+                }
+              });
+              break;
+            }
+          } catch (error3) {
+            if (fr[kAborted]) {
+              return;
+            }
+            queueMicrotask(() => {
+              fr[kState] = "done";
+              fr[kError] = error3;
+              fireAProgressEvent("error", fr);
+              if (fr[kState] !== "loading") {
+                fireAProgressEvent("loadend", fr);
               }
-            } catch {
-            }
-            util.addAbortListener(signal, abort);
-            requestFinalizer.register(ac, { signal, abort });
-          }
-        }
-        this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kHeadersList] = request2.headersList;
-        this[kHeaders][kGuard] = "request";
-        this[kHeaders][kRealm] = this[kRealm];
-        if (mode === "no-cors") {
-          if (!corsSafeListedMethodsSet.has(request2.method)) {
-            throw new TypeError(
-              `'${request2.method} is unsupported in no-cors mode.`
-            );
+            });
+            break;
           }
-          this[kHeaders][kGuard] = "request-no-cors";
         }
-        if (initHasKey) {
-          const headersList = this[kHeaders][kHeadersList];
-          const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList);
-          headersList.clear();
-          if (headers instanceof HeadersList) {
-            for (const [key, val] of headers) {
-              headersList.append(key, val);
-            }
-            headersList.cookies = headers.cookies;
-          } else {
-            fillHeaders(this[kHeaders], headers);
+      })();
+    }
+    function fireAProgressEvent(e, reader) {
+      const event = new ProgressEvent(e, {
+        bubbles: false,
+        cancelable: false
+      });
+      reader.dispatchEvent(event);
+    }
+    function packageData(bytes, type2, mimeType, encodingName) {
+      switch (type2) {
+        case "DataURL": {
+          let dataURL = "data:";
+          const parsed = parseMIMEType(mimeType || "application/octet-stream");
+          if (parsed !== "failure") {
+            dataURL += serializeAMimeType(parsed);
           }
-        }
-        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 && !this[kHeaders][kHeadersList].contains("content-type")) {
-            this[kHeaders].append("content-type", contentType);
+          dataURL += ";base64,";
+          const decoder = new StringDecoder("latin1");
+          for (const chunk of bytes) {
+            dataURL += btoa2(decoder.write(chunk));
           }
+          dataURL += btoa2(decoder.end());
+          return dataURL;
         }
-        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"'
-            );
+        case "Text": {
+          let encoding = "failure";
+          if (encodingName) {
+            encoding = getEncoding(encodingName);
           }
-          request2.useCORSPreflightFlag = true;
-        }
-        let finalBody = inputOrInitBody;
-        if (initBody == null && inputBody != null) {
-          if (util.isDisturbed(inputBody.stream) || inputBody.stream.locked) {
-            throw new TypeError(
-              "Cannot construct a Request with a Request object that has already been used."
-            );
+          if (encoding === "failure" && mimeType) {
+            const type3 = parseMIMEType(mimeType);
+            if (type3 !== "failure") {
+              encoding = getEncoding(type3.parameters.get("charset"));
+            }
           }
-          if (!TransformStream2) {
-            TransformStream2 = require("stream/web").TransformStream;
+          if (encoding === "failure") {
+            encoding = "UTF-8";
           }
-          const identityTransform = new TransformStream2();
-          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 decode(bytes, encoding);
         }
-        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-foward 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 (this.bodyUsed || this.body?.locked) {
-          throw new TypeError("unusable");
+        case "ArrayBuffer": {
+          const sequence = combineByteSequences(bytes);
+          return sequence.buffer;
         }
-        const clonedRequest = cloneRequest(this[kState]);
-        const clonedRequestObject = new _Request(kConstruct);
-        clonedRequestObject[kState] = clonedRequest;
-        clonedRequestObject[kRealm] = this[kRealm];
-        clonedRequestObject[kHeaders] = new Headers(kConstruct);
-        clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList;
-        clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm];
-        const ac = new AbortController();
-        if (this.signal.aborted) {
-          ac.abort(this.signal.reason);
-        } else {
-          util.addAbortListener(
-            this.signal,
-            () => {
-              ac.abort(this.signal.reason);
-            }
-          );
+        case "BinaryString": {
+          let binaryString = "";
+          const decoder = new StringDecoder("latin1");
+          for (const chunk of bytes) {
+            binaryString += decoder.write(chunk);
+          }
+          binaryString += decoder.end();
+          return binaryString;
         }
-        clonedRequestObject[kSignal] = ac.signal;
-        return clonedRequestObject;
       }
-    };
-    mixinBody(Request);
-    function makeRequest(init) {
-      const request2 = {
-        method: "GET",
-        localURLsOnly: false,
-        unsafeRequest: false,
-        body: null,
-        client: null,
-        reservedClient: null,
-        replacesClientId: "",
-        window: "client",
-        keepalive: false,
-        serviceWorkers: "all",
-        initiator: "",
-        destination: "",
-        priority: null,
-        origin: "client",
-        policyContainer: "client",
-        referrer: "client",
-        referrerPolicy: "",
-        mode: "no-cors",
-        useCORSPreflightFlag: false,
-        credentials: "same-origin",
-        useCredentials: false,
-        cache: "default",
-        redirect: "follow",
-        integrity: "",
-        cryptoGraphicsNonceMetadata: "",
-        parserMetadata: "",
-        reloadNavigation: false,
-        historyNavigation: false,
-        userActivation: false,
-        taintedOrigin: false,
-        redirectCount: 0,
-        responseTainting: "basic",
-        preventNoCacheCacheControlHeaderModification: false,
-        done: false,
-        timingAllowFailed: false,
-        ...init,
-        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList()
-      };
-      request2.url = request2.urlList[0];
-      return request2;
     }
-    function cloneRequest(request2) {
-      const newRequest = makeRequest({ ...request2, body: null });
-      if (request2.body != null) {
-        newRequest.body = cloneBody(request2.body);
+    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;
       }
-      return newRequest;
+      const sliced = bytes.slice(slice);
+      return new TextDecoder(encoding).decode(sliced);
     }
-    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) {
-      if (typeof V === "string") {
-        return webidl.converters.USVString(V);
-      }
-      if (V instanceof Request) {
-        return webidl.converters.Request(V);
+    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 webidl.converters.USVString(V);
+      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
     };
-    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,
-            { strict: false }
-          )
-        )
-      },
-      {
-        key: "window",
-        converter: webidl.converters.any
-      },
-      {
-        key: "duplex",
-        converter: webidl.converters.DOMString,
-        allowedValues: requestDuplex
-      }
-    ]);
-    module2.exports = { Request, makeRequest };
   }
 });
 
-// node_modules/undici/lib/fetch/index.js
-var require_fetch2 = __commonJS({
-  "node_modules/undici/lib/fetch/index.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js
+var require_filereader2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js"(exports2, module2) {
     "use strict";
     var {
-      Response,
-      makeNetworkError,
-      makeAppropriateNetworkError,
-      filterResponse,
-      makeResponse
-    } = require_response2();
-    var { Headers } = require_headers2();
-    var { Request, makeRequest } = require_request4();
-    var zlib = require("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
-    } = require_util10();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
-    var assert = require("assert");
-    var { safelyExtractBody } = require_body2();
+      staticPropertyDescriptors,
+      readOperation,
+      fireAProgressEvent
+    } = require_util12();
     var {
-      redirectStatusSet,
-      nullBodyStatus,
-      safeMethodsSet,
-      requestBodyHeader,
-      subresourceSet,
-      DOMException: DOMException2
-    } = require_constants7();
-    var { kHeadersList } = require_symbols6();
-    var EE = require("events");
-    var { Readable, pipeline } = require("stream");
-    var { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require_util9();
-    var { dataURLProcessor, serializeAMimeType } = require_dataURL();
-    var { TransformStream: TransformStream2 } = require("stream/web");
-    var { getGlobalDispatcher } = require_global4();
+      kState,
+      kError,
+      kResult,
+      kEvents,
+      kAborted
+    } = require_symbols8();
     var { webidl } = require_webidl2();
-    var { STATUS_CODES } = require("http");
-    var GET_OR_HEAD = ["GET", "HEAD"];
-    var resolveObjectURL;
-    var ReadableStream2 = globalThis.ReadableStream;
-    var Fetch = class extends EE {
-      constructor(dispatcher) {
+    var { kEnumerableProperty } = require_util9();
+    var FileReader = class _FileReader extends EventTarget {
+      constructor() {
         super();
-        this.dispatcher = dispatcher;
-        this.connection = null;
-        this.dump = false;
-        this.state = "ongoing";
-        this.setMaxListeners(21);
+        this[kState] = "empty";
+        this[kResult] = null;
+        this[kError] = null;
+        this[kEvents] = {
+          loadend: null,
+          error: null,
+          abort: null,
+          load: null,
+          progress: null,
+          loadstart: null
+        };
       }
-      terminate(reason) {
-        if (this.state !== "ongoing") {
+      /**
+       * @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;
         }
-        this.state = "terminated";
-        this.connection?.destroy(reason);
-        this.emit("terminated", reason);
+        if (this[kState] === "loading") {
+          this[kState] = "done";
+          this[kResult] = null;
+        }
+        this[kAborted] = true;
+        fireAProgressEvent("abort", this);
+        if (this[kState] !== "loading") {
+          fireAProgressEvent("loadend", this);
+        }
       }
-      // https://fetch.spec.whatwg.org/#fetch-controller-abort
-      abort(error3) {
-        if (this.state !== "ongoing") {
-          return;
+      /**
+       * @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;
         }
-        this.state = "aborted";
-        if (!error3) {
-          error3 = new DOMException2("The operation was aborted.", "AbortError");
+      }
+      /**
+       * @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;
         }
-        this.serializedAbortReason = error3;
-        this.connection?.destroy(error3);
-        this.emit("terminated", error3);
       }
-    };
-    function fetch(input, init = {}) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "globalThis.fetch" });
-      const p = createDeferredPromise();
-      let requestObject;
-      try {
-        requestObject = new Request(input, init);
-      } catch (e) {
-        p.reject(e);
-        return p.promise;
+      get onerror() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].error;
       }
-      const request2 = requestObject[kState];
-      if (requestObject.signal.aborted) {
-        abortFetch(p, request2, null, requestObject.signal.reason);
-        return p.promise;
+      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;
+        }
       }
-      const globalObject = request2.client.globalObject;
-      if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") {
-        request2.serviceWorkers = "none";
+      get onloadstart() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].loadstart;
       }
-      let responseObject = null;
-      const relevantRealm = null;
-      let locallyAborted = false;
-      let controller = null;
-      addAbortListener(
-        requestObject.signal,
-        () => {
-          locallyAborted = true;
-          assert(controller != null);
-          controller.abort(requestObject.signal.reason);
-          abortFetch(p, request2, responseObject, requestObject.signal.reason);
+      set onloadstart(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].loadstart) {
+          this.removeEventListener("loadstart", this[kEvents].loadstart);
         }
-      );
-      const handleFetchDone = (response) => finalizeAndReportTiming(response, "fetch");
-      const processResponse = (response) => {
-        if (locallyAborted) {
-          return Promise.resolve();
+        if (typeof fn === "function") {
+          this[kEvents].loadstart = fn;
+          this.addEventListener("loadstart", fn);
+        } else {
+          this[kEvents].loadstart = null;
         }
-        if (response.aborted) {
-          abortFetch(p, request2, responseObject, controller.serializedAbortReason);
-          return Promise.resolve();
+      }
+      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 (response.type === "error") {
-          p.reject(
-            Object.assign(new TypeError("fetch failed"), { cause: response.error })
-          );
-          return Promise.resolve();
+        if (typeof fn === "function") {
+          this[kEvents].progress = fn;
+          this.addEventListener("progress", fn);
+        } else {
+          this[kEvents].progress = null;
         }
-        responseObject = new Response();
-        responseObject[kState] = response;
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = response.headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        p.resolve(responseObject);
-      };
-      controller = fetching({
-        request: request2,
-        processResponseEndOfBody: handleFetchDone,
-        processResponse,
-        dispatcher: init.dispatcher ?? getGlobalDispatcher()
-        // undici
-      });
-      return p.promise;
-    }
-    function finalizeAndReportTiming(response, initiatorType = "other") {
-      if (response.type === "error" && response.aborted) {
-        return;
       }
-      if (!response.urlList?.length) {
-        return;
+      get onload() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].load;
       }
-      const originalURL = response.urlList[0];
-      let timingInfo = response.timingInfo;
-      let cacheState = response.cacheState;
-      if (!urlIsHttpHttpsScheme(originalURL)) {
-        return;
+      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;
+        }
       }
-      if (timingInfo === null) {
-        return;
+      get onabort() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].abort;
       }
-      if (!response.timingAllowPassed) {
-        timingInfo = createOpaqueTimingInfo({
-          startTime: timingInfo.startTime
-        });
-        cacheState = "";
+      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;
+        }
       }
-      timingInfo.endTime = coarsenedSharedCurrentTime();
-      response.timingInfo = timingInfo;
-      markResourceTiming(
-        timingInfo,
-        originalURL,
-        initiatorType,
-        globalThis,
-        cacheState
-      );
+    };
+    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/@actions/github/node_modules/undici/lib/web/cache/symbols.js
+var require_symbols9 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kConstruct: require_symbols6().kConstruct
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js
+var require_util13 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { URLSerializer } = require_data_url2();
+    var { isValidHeaderName } = require_util10();
+    function urlEquals(A, B, excludeFragment = false) {
+      const serializedA = URLSerializer(A, excludeFragment);
+      const serializedB = URLSerializer(B, excludeFragment);
+      return serializedA === serializedB;
     }
-    function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) {
-      if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) {
-        performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis2, cacheState);
+    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;
     }
-    function abortFetch(p, request2, responseObject, error3) {
-      if (!error3) {
-        error3 = new DOMException2("The operation was aborted.", "AbortError");
+    module2.exports = {
+      urlEquals,
+      getFieldValues
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js
+var require_cache2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols9();
+    var { urlEquals, getFieldValues } = require_util13();
+    var { kEnumerableProperty, isDisturbed } = require_util9();
+    var { webidl } = require_webidl2();
+    var { Response, cloneResponse, fromInnerResponse } = require_response2();
+    var { Request, fromInnerRequest } = require_request4();
+    var { kState } = require_symbols7();
+    var { fetching } = require_fetch2();
+    var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util10();
+    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];
       }
-      p.reject(error3);
-      if (request2.body != null && isReadable(request2.body?.stream)) {
-        request2.body.stream.cancel(error3).catch((err) => {
-          if (err.code === "ERR_INVALID_STATE") {
-            return;
+      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);
           }
-          throw err;
         });
+        return cacheJobPromise.promise;
       }
-      if (responseObject == null) {
-        return;
-      }
-      const response = responseObject[kState];
-      if (response.body != null && isReadable(response.body?.stream)) {
-        response.body.stream.cancel(error3).catch((err) => {
-          if (err.code === "ERR_INVALID_STATE") {
-            return;
+      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);
           }
-          throw err;
         });
+        return cacheJobPromise.promise;
       }
-    }
-    function fetching({
-      request: request2,
-      processRequestBodyChunkLength,
-      processRequestEndOfBody,
-      processResponse,
-      processResponseEndOfBody,
-      processResponseConsumeBody,
-      useParallelQueue = false,
-      dispatcher
-      // undici
-    }) {
-      let taskDestination = null;
-      let crossOriginIsolatedCapability = false;
-      if (request2.client != null) {
-        taskDestination = request2.client.globalObject;
-        crossOriginIsolatedCapability = request2.client.crossOriginIsolatedCapability;
-      }
-      const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
-      const timingInfo = createOpaqueTimingInfo({
-        startTime: currenTime
-      });
-      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
-          );
+      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 {
-          request2.policyContainer = makePolicyContainer();
+          assert(typeof request2 === "string");
+          r = new Request(request2)[kState];
         }
-      }
-      if (!request2.headersList.contains("accept")) {
-        const value = "*/*";
-        request2.headersList.append("accept", value);
-      }
-      if (!request2.headersList.contains("accept-language")) {
-        request2.headersList.append("accept-language", "*");
-      }
-      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"');
+        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);
           }
-          if (request2.mode === "no-cors") {
-            if (request2.redirect !== "follow") {
-              return makeNetworkError(
-                'redirect mode cannot be "follow" for "no-cors" request'
-              );
+        });
+        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 [];
             }
-            request2.responseTainting = "opaque";
-            return await schemeFetch(fetchParams);
-          }
-          if (!urlIsHttpHttpsScheme(requestCurrentURL(request2))) {
-            return makeNetworkError("URL scheme must be a HTTP(S) scheme");
+          } else if (typeof request2 === "string") {
+            r = new Request(request2)[kState];
           }
-          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");
+        const promise = createDeferredPromise();
+        const requests = [];
+        if (request2 === void 0) {
+          for (const requestResponse of this.#relevantRequestResponseList) {
+            requests.push(requestResponse[0]);
+          }
         } else {
-          assert(false);
+          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;
       }
-      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")) {
-        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;
+      /**
+       * @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]);
           }
-          response.body = safelyExtractBody(bytes)[0];
-          fetchFinale(fetchParams, response);
-        };
-        await fullyReadBody(response.body, processBody, processBodyError);
-      } else {
-        fetchFinale(fetchParams, response);
+          return resultList;
+        } catch (e) {
+          this.#relevantRequestResponseList.length = 0;
+          this.#relevantRequestResponseList = backupCache;
+          throw e;
+        }
       }
-    }
-    function schemeFetch(fetchParams) {
-      if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {
-        return Promise.resolve(makeAppropriateNetworkError(fetchParams));
+      /**
+       * @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;
       }
-      const { request: request2 } = fetchParams;
-      const { protocol: scheme } = requestCurrentURL(request2);
-      switch (scheme) {
-        case "about:": {
-          return Promise.resolve(makeNetworkError("about scheme is not supported"));
+      /**
+       * @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 = "";
         }
-        case "blob:": {
-          if (!resolveObjectURL) {
-            resolveObjectURL = require("buffer").resolveObjectURL;
-          }
-          const blobURLEntry = requestCurrentURL(request2);
-          if (blobURLEntry.search.length !== 0) {
-            return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));
+        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 blobURLEntryObject = resolveObjectURL(blobURLEntry.toString());
-          if (request2.method !== "GET" || !isBlobLike(blobURLEntryObject)) {
-            return Promise.resolve(makeNetworkError("invalid method"));
+          const requestValue = request2.headersList.get(fieldValue);
+          const queryValue = requestQuery.headersList.get(fieldValue);
+          if (requestValue !== queryValue) {
+            return false;
           }
-          const bodyWithType = safelyExtractBody(blobURLEntryObject);
-          const body = bodyWithType[0];
-          const length = isomorphicEncode(`${body.length}`);
-          const type2 = bodyWithType[1] ?? "";
-          const response = makeResponse({
-            statusText: "OK",
-            headersList: [
-              ["content-length", { name: "Content-Length", value: length }],
-              ["content-type", { name: "Content-Type", value: type2 }]
-            ]
-          });
-          response.body = body;
-          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"));
+        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 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));
+        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]);
+          }
         }
-        default: {
-          return Promise.resolve(makeNetworkError("unknown scheme"));
+        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);
       }
-    }
-    function finalizeResponse(fetchParams, response) {
-      fetchParams.request.done = true;
-      if (fetchParams.processResponseDone != null) {
-        queueMicrotask(() => fetchParams.processResponseDone(response));
-      }
-    }
-    function fetchFinale(fetchParams, response) {
-      if (response.type === "error") {
-        response.urlList = [fetchParams.request.urlList[0]];
-        response.timingInfo = createOpaqueTimingInfo({
-          startTime: fetchParams.timingInfo.startTime
-        });
+    };
+    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
       }
-      const processResponseEndOfBody = () => {
-        fetchParams.request.done = true;
-        if (fetchParams.processResponseEndOfBody != null) {
-          queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
-        }
-      };
-      if (fetchParams.processResponse != null) {
-        queueMicrotask(() => fetchParams.processResponse(response));
+    ];
+    webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters);
+    webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([
+      ...cacheQueryOptionConverters,
+      {
+        key: "cacheName",
+        converter: webidl.converters.DOMString
       }
-      if (response.body == null) {
-        processResponseEndOfBody();
-      } else {
-        const identityTransformAlgorithm = (chunk, controller) => {
-          controller.enqueue(chunk);
-        };
-        const transformStream = new TransformStream2({
-          start() {
-          },
-          transform: identityTransformAlgorithm,
-          flush: processResponseEndOfBody
-        }, {
-          size() {
-            return 1;
-          }
-        }, {
-          size() {
-            return 1;
-          }
-        });
-        response.body = { stream: response.body.stream.pipeThrough(transformStream) };
+    ]);
+    webidl.converters.Response = webidl.interfaceConverter(Response);
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.RequestInfo
+    );
+    module2.exports = {
+      Cache
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js
+var require_cachestorage2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols9();
+    var { Cache } = require_cache2();
+    var { webidl } = require_webidl2();
+    var { kEnumerableProperty } = require_util9();
+    var CacheStorage = class _CacheStorage {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
+       * @type {Map fetchParams.processResponseConsumeBody(response, nullOrBytes);
-        const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure);
-        if (response.body == null) {
-          queueMicrotask(() => processBody(null));
+      async match(request2, options = {}) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, "CacheStorage.match");
+        request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.MultiCacheQueryOptions(options);
+        if (options.cacheName != null) {
+          if (this.#caches.has(options.cacheName)) {
+            const cacheList = this.#caches.get(options.cacheName);
+            const cache = new Cache(kConstruct, cacheList);
+            return await cache.match(request2, options);
+          }
         } else {
-          return fullyReadBody(response.body, processBody, processBodyError);
+          for (const cacheList of this.#caches.values()) {
+            const cache = new Cache(kConstruct, cacheList);
+            const response = await cache.match(request2, options);
+            if (response !== void 0) {
+              return response;
+            }
+          }
         }
-        return Promise.resolve();
       }
-    }
-    async function httpFetch(fetchParams) {
-      const request2 = fetchParams.request;
-      let response = null;
-      let actualResponse = null;
-      const timingInfo = fetchParams.timingInfo;
-      if (request2.serviceWorkers === "all") {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-has
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      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);
       }
-      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;
+      /**
+       * @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);
       }
-      if ((request2.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
-        request2.origin,
-        request2.client,
-        request2.destination,
-        actualResponse
-      ) === "blocked") {
-        return makeNetworkError("blocked");
+      /**
+       * @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);
       }
-      if (redirectStatusSet.has(actualResponse.status)) {
-        if (request2.redirect !== "manual") {
-          fetchParams.controller.connection.destroy();
-        }
-        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);
+      /**
+       * @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/@actions/github/node_modules/undici/lib/web/cookies/constants.js
+var require_constants9 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/constants.js"(exports2, module2) {
+    "use strict";
+    var maxAttributeValueSize = 1024;
+    var maxNameValuePairSize = 4096;
+    module2.exports = {
+      maxAttributeValueSize,
+      maxNameValuePairSize
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/util.js
+var require_util14 = __commonJS({
+  "node_modules/@actions/github/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;
         }
       }
-      response.timingInfo = timingInfo;
-      return response;
+      return false;
     }
-    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;
+    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");
         }
-      } 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);
+    }
+    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;
       }
-      if (!sameOrigin(requestCurrentURL(request2), locationURL)) {
-        request2.headersList.delete("authorization");
-        request2.headersList.delete("proxy-authorization", true);
-        request2.headersList.delete("cookie");
-        request2.headersList.delete("host");
-      }
-      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;
+      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");
+        }
       }
-      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 = makeRequest(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";
+    function validateCookiePath(path7) {
+      for (let i = 0; i < path7.length; ++i) {
+        const code = path7.charCodeAt(i);
+        if (code < 32 || // exclude CTLs (0-31)
+        code === 127 || // DEL
+        code === 59) {
+          throw new Error("Invalid cookie path");
+        }
       }
-      if (contentLength != null) {
-        contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
+    }
+    function validateCookieDomain(domain) {
+      if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
+        throw new Error("Invalid cookie domain");
       }
-      if (contentLengthHeaderValue != null) {
-        httpRequest.headersList.append("content-length", contentLengthHeaderValue);
+    }
+    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);
       }
-      if (contentLength != null && httpRequest.keepalive) {
+      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");
       }
-      if (httpRequest.referrer instanceof URL) {
-        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href));
+    }
+    function stringify(cookie) {
+      if (cookie.name.length === 0) {
+        return null;
       }
-      appendRequestOriginHeader(httpRequest);
-      appendFetchMetadata(httpRequest);
-      if (!httpRequest.headersList.contains("user-agent")) {
-        httpRequest.headersList.append("user-agent", typeof esbuildDetection === "undefined" ? "undici" : "node");
+      validateCookieName(cookie.name);
+      validateCookieValue(cookie.value);
+      const out = [`${cookie.name}=${cookie.value}`];
+      if (cookie.name.startsWith("__Secure-")) {
+        cookie.secure = true;
       }
-      if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since") || httpRequest.headersList.contains("if-none-match") || httpRequest.headersList.contains("if-unmodified-since") || httpRequest.headersList.contains("if-match") || httpRequest.headersList.contains("if-range"))) {
-        httpRequest.cache = "no-store";
+      if (cookie.name.startsWith("__Host-")) {
+        cookie.secure = true;
+        cookie.domain = null;
+        cookie.path = "/";
       }
-      if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control")) {
-        httpRequest.headersList.append("cache-control", "max-age=0");
+      if (cookie.secure) {
+        out.push("Secure");
       }
-      if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") {
-        if (!httpRequest.headersList.contains("pragma")) {
-          httpRequest.headersList.append("pragma", "no-cache");
-        }
-        if (!httpRequest.headersList.contains("cache-control")) {
-          httpRequest.headersList.append("cache-control", "no-cache");
-        }
+      if (cookie.httpOnly) {
+        out.push("HttpOnly");
       }
-      if (httpRequest.headersList.contains("range")) {
-        httpRequest.headersList.append("accept-encoding", "identity");
+      if (typeof cookie.maxAge === "number") {
+        validateCookieMaxAge(cookie.maxAge);
+        out.push(`Max-Age=${cookie.maxAge}`);
       }
-      if (!httpRequest.headersList.contains("accept-encoding")) {
-        if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
-          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate");
-        } else {
-          httpRequest.headersList.append("accept-encoding", "gzip, deflate");
-        }
+      if (cookie.domain) {
+        validateCookieDomain(cookie.domain);
+        out.push(`Domain=${cookie.domain}`);
       }
-      httpRequest.headersList.delete("host");
-      if (includeCredentials) {
+      if (cookie.path) {
+        validateCookiePath(cookie.path);
+        out.push(`Path=${cookie.path}`);
       }
-      if (httpCache == null) {
-        httpRequest.cache = "no-store";
+      if (cookie.expires && cookie.expires.toString() !== "Invalid Date") {
+        out.push(`Expires=${toIMFDate(cookie.expires)}`);
       }
-      if (httpRequest.mode !== "no-store" && httpRequest.mode !== "reload") {
+      if (cookie.sameSite) {
+        out.push(`SameSite=${cookie.sameSite}`);
       }
-      if (response == null) {
-        if (httpRequest.mode === "only-if-cached") {
-          return makeNetworkError("only if cached");
-        }
-        const forwardResponse = await httpNetworkFetch(
-          httpFetchParams,
-          includeCredentials,
-          isNewConnectionFetch
-        );
-        if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {
-        }
-        if (revalidatingFlag && forwardResponse.status === 304) {
-        }
-        if (response == null) {
-          response = forwardResponse;
+      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("=")}`);
       }
-      response.urlList = [...httpRequest.urlList];
-      if (httpRequest.headersList.contains("range")) {
-        response.rangeRequested = true;
+      return out.join("; ");
+    }
+    module2.exports = {
+      isCTLExcludingHtab,
+      validateCookieName,
+      validateCookiePath,
+      validateCookieValue,
+      toIMFDate,
+      stringify
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js
+var require_parse2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js"(exports2, module2) {
+    "use strict";
+    var { maxNameValuePairSize, maxAttributeValueSize } = require_constants9();
+    var { isCTLExcludingHtab } = require_util14();
+    var { collectASequenceOfCodePointsFast } = require_data_url2();
+    var assert = require("node:assert");
+    function parseSetCookie(header) {
+      if (isCTLExcludingHtab(header)) {
+        return null;
       }
-      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");
+      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 (
-        // 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 (!nameValuePair.includes("=")) {
+        value = nameValuePair;
+      } else {
+        const position = { position: 0 };
+        name = collectASequenceOfCodePointsFast(
+          "=",
+          nameValuePair,
+          position
         );
+        value = nameValuePair.slice(position.position + 1);
       }
-      if (isAuthenticationFetch) {
+      name = name.trim();
+      value = value.trim();
+      if (name.length + value.length > maxNameValuePairSize) {
+        return null;
       }
-      return response;
-    }
-    async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) {
-      assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed);
-      fetchParams.controller.connection = {
-        abort: null,
-        destroyed: false,
-        destroy(err) {
-          if (!this.destroyed) {
-            this.destroyed = true;
-            this.abort?.(err ?? new DOMException2("The operation was aborted.", "AbortError"));
-          }
-        }
+      return {
+        name,
+        value,
+        ...parseUnparsedAttributes(unparsedAttributes)
       };
-      const request2 = fetchParams.request;
-      let response = null;
-      const timingInfo = fetchParams.timingInfo;
-      const httpCache = null;
-      if (httpCache == null) {
-        request2.cache = "no-store";
+    }
+    function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) {
+      if (unparsedAttributes.length === 0) {
+        return cookieAttributeList;
       }
-      const newConnection = forceNewConnection ? "yes" : "no";
-      if (request2.mode === "websocket") {
+      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 requestBody = null;
-      if (request2.body == null && fetchParams.processRequestEndOfBody) {
-        queueMicrotask(() => fetchParams.processRequestEndOfBody());
-      } else if (request2.body != null) {
-        const processBodyChunk = async function* (bytes) {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          yield bytes;
-          fetchParams.processRequestBodyChunkLength?.(bytes.byteLength);
-        };
-        const processEndOfBody = () => {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          if (fetchParams.processRequestEndOfBody) {
-            fetchParams.processRequestEndOfBody();
-          }
-        };
-        const processBodyError = (e) => {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          if (e.name === "AbortError") {
-            fetchParams.controller.abort();
-          } else {
-            fetchParams.controller.terminate(e);
-          }
-        };
-        requestBody = (async function* () {
-          try {
-            for await (const bytes of request2.body.stream) {
-              yield* processBodyChunk(bytes);
-            }
-            processEndOfBody();
-          } catch (err) {
-            processBodyError(err);
-          }
-        })();
-      }
-      try {
-        const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
-        if (socket) {
-          response = makeResponse({ status, statusText, headersList, socket });
-        } else {
-          const iterator2 = body[Symbol.asyncIterator]();
-          fetchParams.controller.next = () => iterator2.next();
-          response = makeResponse({ status, statusText, headersList });
-        }
-      } catch (err) {
-        if (err.name === "AbortError") {
-          fetchParams.controller.connection.destroy();
-          return makeAppropriateNetworkError(fetchParams, err);
-        }
-        return makeNetworkError(err);
+      let attributeName = "";
+      let attributeValue = "";
+      if (cookieAv.includes("=")) {
+        const position = { position: 0 };
+        attributeName = collectASequenceOfCodePointsFast(
+          "=",
+          cookieAv,
+          position
+        );
+        attributeValue = cookieAv.slice(position.position + 1);
+      } else {
+        attributeName = cookieAv;
       }
-      const pullAlgorithm = () => {
-        fetchParams.controller.resume();
-      };
-      const cancelAlgorithm = (reason) => {
-        fetchParams.controller.abort(reason);
-      };
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+      attributeName = attributeName.trim();
+      attributeValue = attributeValue.trim();
+      if (attributeValue.length > maxAttributeValueSize) {
+        return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
       }
-      const stream = new ReadableStream2(
-        {
-          async start(controller) {
-            fetchParams.controller.controller = controller;
-          },
-          async pull(controller) {
-            await pullAlgorithm(controller);
-          },
-          async cancel(reason) {
-            await cancelAlgorithm(reason);
-          }
-        },
-        {
-          highWaterMark: 0,
-          size() {
-            return 1;
-          }
+      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);
         }
-      );
-      response.body = { stream };
-      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;
-          }
-          fetchParams.controller.controller.enqueue(new Uint8Array(bytes));
-          if (isErrored(stream)) {
-            fetchParams.controller.terminate();
-            return;
-          }
-          if (!fetchParams.controller.controller.desiredSize) {
-            return;
-          }
+        if (!/^\d+$/.test(attributeValue)) {
+          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
         }
-      };
-      function onAborted(reason) {
-        if (isAborted(fetchParams)) {
-          response.aborted = true;
-          if (isReadable(stream)) {
-            fetchParams.controller.controller.error(
-              fetchParams.controller.serializedAbortReason
-            );
-          }
+        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 {
-          if (isReadable(stream)) {
-            fetchParams.controller.controller.error(new TypeError("terminated", {
-              cause: isErrorLike(reason) ? reason : void 0
-            }));
-          }
+          cookiePath = attributeValue;
         }
-        fetchParams.controller.connection.destroy();
-      }
-      return response;
-      async function dispatch({ body }) {
-        const url = requestCurrentURL(request2);
-        const agent = fetchParams.controller.dispatcher;
-        return new Promise((resolve5, reject) => agent.dispatch(
-          {
-            path: url.pathname + url.search,
-            origin: url.origin,
-            method: request2.method,
-            body: fetchParams.controller.dispatcher.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
-            headers: request2.headersList.entries,
-            maxRedirections: 0,
-            upgrade: request2.mode === "websocket" ? "websocket" : void 0
-          },
-          {
-            body: null,
-            abort: null,
-            onConnect(abort) {
-              const { connection } = fetchParams.controller;
-              if (connection.destroyed) {
-                abort(new DOMException2("The operation was aborted.", "AbortError"));
-              } else {
-                fetchParams.controller.on("terminated", abort);
-                this.abort = connection.abort = abort;
-              }
-            },
-            onHeaders(status, headersList, resume, statusText) {
-              if (status < 200) {
-                return;
-              }
-              let codings = [];
-              let location = "";
-              const headers = new Headers();
-              if (Array.isArray(headersList)) {
-                for (let n = 0; n < headersList.length; n += 2) {
-                  const key = headersList[n + 0].toString("latin1");
-                  const val = headersList[n + 1].toString("latin1");
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim());
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
-              } else {
-                const keys = Object.keys(headersList);
-                for (const key of keys) {
-                  const val = headersList[key];
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim()).reverse();
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
-              }
-              this.body = new Readable({ read: resume });
-              const decoders = [];
-              const willFollow = request2.redirect === "follow" && location && redirectStatusSet.has(status);
-              if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
-                for (const coding of codings) {
-                  if (coding === "x-gzip" || coding === "gzip") {
-                    decoders.push(zlib.createGunzip({
-                      // Be less strict when decoding compressed responses, since sometimes
-                      // servers send slightly invalid responses that are still accepted
-                      // by common browsers.
-                      // Always using Z_SYNC_FLUSH is what cURL does.
-                      flush: zlib.constants.Z_SYNC_FLUSH,
-                      finishFlush: zlib.constants.Z_SYNC_FLUSH
-                    }));
-                  } else if (coding === "deflate") {
-                    decoders.push(zlib.createInflate());
-                  } else if (coding === "br") {
-                    decoders.push(zlib.createBrotliDecompress());
-                  } else {
-                    decoders.length = 0;
-                    break;
-                  }
-                }
-              }
-              resolve5({
-                status,
-                statusText,
-                headersList: headers[kHeadersList],
-                body: decoders.length ? pipeline(this.body, ...decoders, () => {
-                }) : this.body.on("error", () => {
-                })
-              });
-              return true;
-            },
-            onData(chunk) {
-              if (fetchParams.controller.dump) {
-                return;
-              }
-              const bytes = chunk;
-              timingInfo.encodedBodySize += bytes.byteLength;
-              return this.body.push(bytes);
-            },
-            onComplete() {
-              if (this.abort) {
-                fetchParams.controller.off("terminated", this.abort);
-              }
-              fetchParams.controller.ended = true;
-              this.body.push(null);
-            },
-            onError(error3) {
-              if (this.abort) {
-                fetchParams.controller.off("terminated", this.abort);
-              }
-              this.body?.destroy(error3);
-              fetchParams.controller.terminate(error3);
-              reject(error3);
-            },
-            onUpgrade(status, headersList, socket) {
-              if (status !== 101) {
-                return;
-              }
-              const headers = new Headers();
-              for (let n = 0; n < headersList.length; n += 2) {
-                const key = headersList[n + 0].toString("latin1");
-                const val = headersList[n + 1].toString("latin1");
-                headers[kHeadersList].append(key, val);
-              }
-              resolve5({
-                status,
-                statusText: STATUS_CODES[status],
-                headersList: headers[kHeadersList],
-                socket
-              });
-              return true;
-            }
-          }
-        ));
+        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 = {
-      fetch,
-      Fetch,
-      fetching,
-      finalizeAndReportTiming
+      parseSetCookie,
+      parseUnparsedAttributes
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/symbols.js
-var require_symbols8 = __commonJS({
-  "node_modules/undici/lib/fileapi/symbols.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js
+var require_cookies2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js"(exports2, module2) {
     "use strict";
+    var { parseSetCookie } = require_parse2();
+    var { stringify } = require_util14();
+    var { webidl } = require_webidl2();
+    var { Headers } = require_headers2();
+    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 str2 = stringify(cookie);
+      if (str2) {
+        headers.append("Set-Cookie", str2);
+      }
+    }
+    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 = {
-      kState: /* @__PURE__ */ Symbol("FileReader state"),
-      kResult: /* @__PURE__ */ Symbol("FileReader result"),
-      kError: /* @__PURE__ */ Symbol("FileReader error"),
-      kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"),
-      kEvents: /* @__PURE__ */ Symbol("FileReader events"),
-      kAborted: /* @__PURE__ */ Symbol("FileReader aborted")
+      getCookies,
+      deleteCookie,
+      getSetCookies,
+      setCookie
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/progressevent.js
-var require_progressevent2 = __commonJS({
-  "node_modules/undici/lib/fileapi/progressevent.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js
+var require_events2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js"(exports2, module2) {
     "use strict";
     var { webidl } = require_webidl2();
-    var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
-    var ProgressEvent = class _ProgressEvent extends Event {
+    var { kEnumerableProperty } = require_util9();
+    var { kConstruct } = require_symbols6();
+    var { MessagePort } = require("node:worker_threads");
+    var MessageEvent = class _MessageEvent extends Event {
+      #eventInit;
       constructor(type2, eventInitDict = {}) {
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
+        if (type2 === kConstruct) {
+          super(arguments[1], arguments[2]);
+          webidl.util.markAsUncloneable(this);
+          return;
+        }
+        const prefix = "MessageEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.MessageEventInit(eventInitDict, prefix, "eventInitDict");
         super(type2, eventInitDict);
-        this[kState] = {
-          lengthComputable: eventInitDict.lengthComputable,
-          loaded: eventInitDict.loaded,
-          total: eventInitDict.total
-        };
+        this.#eventInit = eventInitDict;
+        webidl.util.markAsUncloneable(this);
       }
-      get lengthComputable() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].lengthComputable;
+      get data() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.data;
       }
-      get loaded() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].loaded;
+      get origin() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.origin;
       }
-      get total() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].total;
+      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(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
+        webidl.brandCheck(this, _MessageEvent);
+        webidl.argumentLengthCheck(arguments, 1, "MessageEvent.initMessageEvent");
+        return new _MessageEvent(type2, {
+          bubbles,
+          cancelable,
+          data,
+          origin,
+          lastEventId,
+          source,
+          ports
+        });
+      }
+      static createFastMessageEvent(type2, init) {
+        const messageEvent = new _MessageEvent(kConstruct, type2, 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(type2, eventInitDict = {}) {
+        const prefix = "CloseEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
+        super(type2, 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(type2, eventInitDict) {
+        const prefix = "ErrorEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        super(type2, eventInitDict);
+        webidl.util.markAsUncloneable(this);
+        type2 = webidl.converters.DOMString(type2, 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;
       }
     };
-    webidl.converters.ProgressEventInit = webidl.dictionaryConverter([
-      {
-        key: "lengthComputable",
-        converter: webidl.converters.boolean,
-        defaultValue: false
+    Object.defineProperties(MessageEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "MessageEvent",
+        configurable: true
       },
-      {
-        key: "loaded",
-        converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
+      data: kEnumerableProperty,
+      origin: kEnumerableProperty,
+      lastEventId: kEnumerableProperty,
+      source: kEnumerableProperty,
+      ports: kEnumerableProperty,
+      initMessageEvent: kEnumerableProperty
+    });
+    Object.defineProperties(CloseEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "CloseEvent",
+        configurable: true
       },
-      {
-        key: "total",
-        converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
+      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
+        defaultValue: () => false
       },
       {
         key: "cancelable",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "composed",
         converter: webidl.converters.boolean,
-        defaultValue: false
-      }
-    ]);
-    module2.exports = {
-      ProgressEvent
-    };
-  }
-});
-
-// node_modules/undici/lib/fileapi/encoding.js
-var require_encoding2 = __commonJS({
-  "node_modules/undici/lib/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/fileapi/util.js
-var require_util12 = __commonJS({
-  "node_modules/undici/lib/fileapi/util.js"(exports2, module2) {
-    "use strict";
-    var {
-      kState,
-      kError,
-      kResult,
-      kAborted,
-      kLastProgressEventFired
-    } = require_symbols8();
-    var { ProgressEvent } = require_progressevent2();
-    var { getEncoding } = require_encoding2();
-    var { DOMException: DOMException2 } = require_constants7();
-    var { serializeAMimeType, parseMIMEType } = require_dataURL();
-    var { types } = require("util");
-    var { StringDecoder } = require("string_decoder");
-    var { btoa: btoa2 } = require("buffer");
-    var staticPropertyDescriptors = {
-      enumerable: true,
-      writable: false,
-      configurable: false
-    };
-    function readOperation(fr, blob, type2, encodingName) {
-      if (fr[kState] === "loading") {
-        throw new DOMException2("Invalid state", "InvalidStateError");
-      }
-      fr[kState] = "loading";
-      fr[kResult] = null;
-      fr[kError] = null;
-      const stream = blob.stream();
-      const reader = stream.getReader();
-      const bytes = [];
-      let chunkPromise = reader.read();
-      let isFirstChunk = true;
-      (async () => {
-        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, type2, blob.type, encodingName);
-                  if (fr[kAborted]) {
-                    return;
-                  }
-                  fr[kResult] = result;
-                  fireAProgressEvent("load", fr);
-                } catch (error3) {
-                  fr[kError] = error3;
-                  fireAProgressEvent("error", fr);
-                }
-                if (fr[kState] !== "loading") {
-                  fireAProgressEvent("loadend", fr);
-                }
-              });
-              break;
-            }
-          } catch (error3) {
-            if (fr[kAborted]) {
-              return;
-            }
-            queueMicrotask(() => {
-              fr[kState] = "done";
-              fr[kError] = error3;
-              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, type2, mimeType, encodingName) {
-      switch (type2) {
-        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 += btoa2(decoder.write(chunk));
-          }
-          dataURL += btoa2(decoder.end());
-          return dataURL;
-        }
-        case "Text": {
-          let encoding = "failure";
-          if (encodingName) {
-            encoding = getEncoding(encodingName);
-          }
-          if (encoding === "failure" && mimeType) {
-            const type3 = parseMIMEType(mimeType);
-            if (type3 !== "failure") {
-              encoding = getEncoding(type3.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;
-        }
+        defaultValue: () => false
       }
-    }
-    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;
+    ];
+    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)
       }
-      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";
+    ]);
+    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: () => ""
       }
-      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));
-    }
+    ]);
+    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 = {
-      staticPropertyDescriptors,
-      readOperation,
-      fireAProgressEvent
+      MessageEvent,
+      CloseEvent,
+      ErrorEvent,
+      createFastMessageEvent
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/filereader.js
-var require_filereader2 = __commonJS({
-  "node_modules/undici/lib/fileapi/filereader.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js
+var require_constants10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js"(exports2, module2) {
     "use strict";
-    var {
+    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,
-      readOperation,
-      fireAProgressEvent
-    } = require_util12();
-    var {
-      kState,
-      kError,
-      kResult,
-      kEvents,
-      kAborted
-    } = require_symbols8();
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util9();
-    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, { header: "FileReader.readAsArrayBuffer" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "ArrayBuffer");
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#readAsBinaryString
-       * @param {import('buffer').Blob} blob
-       */
-      readAsBinaryString(blob) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsBinaryString" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "BinaryString");
-      }
-      /**
-       * @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, { header: "FileReader.readAsText" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        if (encoding !== void 0) {
-          encoding = webidl.converters.DOMString(encoding);
-        }
-        readOperation(this, blob, "Text", encoding);
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dfn-readAsDataURL
-       * @param {import('buffer').Blob} blob
-       */
-      readAsDataURL(blob) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsDataURL" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "DataURL");
+      states,
+      opcodes,
+      maxUnsigned16Bit,
+      parserStates,
+      emptyBuffer,
+      sendHints
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js
+var require_symbols10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
+      kReadyState: /* @__PURE__ */ Symbol("ready state"),
+      kController: /* @__PURE__ */ Symbol("controller"),
+      kResponse: /* @__PURE__ */ Symbol("response"),
+      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
+      kSentClose: /* @__PURE__ */ Symbol("sent close"),
+      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
+      kByteParser: /* @__PURE__ */ Symbol("byte parser")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js
+var require_util15 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js"(exports2, module2) {
+    "use strict";
+    var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols10();
+    var { states, opcodes } = require_constants10();
+    var { ErrorEvent, createFastMessageEvent } = require_events2();
+    var { isUtf8 } = require("node:buffer");
+    var { collectASequenceOfCodePointsFast, removeHTTPWhitespace } = require_data_url2();
+    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 = (type2, init) => new Event(type2, init), eventInitDict = {}) {
+      const event = eventFactory(e, eventInitDict);
+      target.dispatchEvent(event);
+    }
+    function websocketMessageReceived(ws, type2, data) {
+      if (ws[kReadyState] !== states.OPEN) {
+        return;
       }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dfn-abort
-       */
-      abort() {
-        if (this[kState] === "empty" || this[kState] === "done") {
-          this[kResult] = null;
+      let dataForEvent;
+      if (type2 === opcodes.TEXT) {
+        try {
+          dataForEvent = utf8Decode(data);
+        } catch {
+          failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
           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 if (type2 === opcodes.BINARY) {
+        if (ws[kBinaryType] === "blob") {
+          dataForEvent = new Blob([data]);
         } else {
-          this[kEvents].loadend = null;
+          dataForEvent = toArrayBuffer(data);
         }
       }
-      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;
-        }
+      fireEvent("message", ws, createFastMessageEvent, {
+        origin: ws[kWebSocketURL].origin,
+        data: dataForEvent
+      });
+    }
+    function toArrayBuffer(buffer) {
+      if (buffer.byteLength === buffer.buffer.byteLength) {
+        return buffer.buffer;
       }
-      get onloadstart() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].loadstart;
+      return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
+    }
+    function isValidSubprotocol(protocol) {
+      if (protocol.length === 0) {
+        return false;
       }
-      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;
+      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;
         }
       }
-      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;
-        }
+      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;
       }
-      get onload() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].load;
+      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();
       }
-      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;
-        }
+      if (reason) {
+        fireEvent("error", ws, (type2, init) => new ErrorEvent(type2, init), {
+          error: new Error(reason),
+          message: reason
+        });
       }
-      get onabort() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].abort;
+    }
+    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++;
       }
-      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;
+      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;
         }
       }
-    };
-    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
+      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");
       }
-    });
-    Object.defineProperties(FileReader, {
-      EMPTY: staticPropertyDescriptors,
-      LOADING: staticPropertyDescriptors,
-      DONE: staticPropertyDescriptors
-    });
-    module2.exports = {
-      FileReader
+      throw new TypeError("Invalid utf-8 received.");
     };
-  }
-});
-
-// node_modules/undici/lib/cache/symbols.js
-var require_symbols9 = __commonJS({
-  "node_modules/undici/lib/cache/symbols.js"(exports2, module2) {
-    "use strict";
     module2.exports = {
-      kConstruct: require_symbols6().kConstruct
+      isConnecting,
+      isEstablished,
+      isClosing,
+      isClosed,
+      fireEvent,
+      isValidSubprotocol,
+      isValidStatusCode,
+      failWebsocketConnection,
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isContinuationFrame,
+      isTextBinaryFrame,
+      isValidOpcode,
+      parseExtensions,
+      isValidClientWindowBits
     };
   }
 });
 
-// node_modules/undici/lib/cache/util.js
-var require_util13 = __commonJS({
-  "node_modules/undici/lib/cache/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js
+var require_frame2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { URLSerializer } = require_dataURL();
-    var { isValidHeaderName } = require_util10();
-    function urlEquals(A, B, excludeFragment = false) {
-      const serializedA = URLSerializer(A, excludeFragment);
-      const serializedB = URLSerializer(B, excludeFragment);
-      return serializedA === serializedB;
-    }
-    function fieldValues(header) {
-      assert(header !== null);
-      const values = [];
-      for (let value of header.split(",")) {
-        value = value.trim();
-        if (!value.length) {
-          continue;
-        } else if (!isValidHeaderName(value)) {
-          continue;
+    var { maxUnsigned16Bit } = require_constants10();
+    var BUFFER_SIZE = 16386;
+    var crypto2;
+    var buffer = null;
+    var bufIdx = BUFFER_SIZE;
+    try {
+      crypto2 = require("node:crypto");
+    } catch {
+      crypto2 = {
+        // 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;
         }
-        values.push(value);
+      };
+    }
+    function generateMask() {
+      if (bufIdx === BUFFER_SIZE) {
+        bufIdx = 0;
+        crypto2.randomFillSync(buffer ??= Buffer.allocUnsafe(BUFFER_SIZE), 0, BUFFER_SIZE);
       }
-      return values;
+      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 = {
-      urlEquals,
-      fieldValues
+      WebsocketFrameSend
     };
   }
 });
 
-// node_modules/undici/lib/cache/cache.js
-var require_cache2 = __commonJS({
-  "node_modules/undici/lib/cache/cache.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js
+var require_connection2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js"(exports2, module2) {
     "use strict";
-    var { kConstruct } = require_symbols9();
-    var { urlEquals, fieldValues: getFieldValues } = require_util13();
-    var { kEnumerableProperty, isDisturbed } = require_util9();
-    var { kHeadersList } = require_symbols6();
-    var { webidl } = require_webidl2();
-    var { Response, cloneResponse } = require_response2();
-    var { Request } = require_request4();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
+    var { uid, states, sentCloseFrameState, emptyBuffer, opcodes } = require_constants10();
+    var {
+      kReadyState,
+      kSentClose,
+      kByteParser,
+      kReceivedClose,
+      kResponse
+    } = require_symbols10();
+    var { fireEvent, failWebsocketConnection, isClosing, isClosed, isEstablished, parseExtensions } = require_util15();
+    var { channels } = require_diagnostics2();
+    var { CloseEvent } = require_events2();
+    var { makeRequest } = require_request4();
     var { fetching } = require_fetch2();
-    var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util10();
-    var assert = require("assert");
-    var { getGlobalDispatcher } = require_global4();
-    var Cache = class _Cache {
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list
-       * @type {requestResponseList}
-       */
-      #relevantRequestResponseList;
-      constructor() {
-        if (arguments[0] !== kConstruct) {
-          webidl.illegalConstructor();
-        }
-        this.#relevantRequestResponseList = arguments[1];
+    var { Headers, getHeadersList } = require_headers2();
+    var { getDecodeSplit } = require_util10();
+    var { WebsocketFrameSend } = require_frame2();
+    var crypto2;
+    try {
+      crypto2 = 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;
       }
-      async match(request2, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.match" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        const p = await this.matchAll(request2, options);
-        if (p.length === 0) {
-          return;
-        }
-        return p[0];
+      const keyValue = crypto2.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);
       }
-      async matchAll(request2 = void 0, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(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 responses = [];
-        if (request2 === void 0) {
-          for (const requestResponse of this.#relevantRequestResponseList) {
-            responses.push(requestResponse[1]);
+      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;
           }
-        } else {
-          const requestResponses = this.#queryCache(r, options);
-          for (const requestResponse of requestResponses) {
-            responses.push(requestResponse[1]);
+          if (protocols.length !== 0 && !response.headersList.get("Sec-WebSocket-Protocol")) {
+            failWebsocketConnection(ws, "Server did not respond with sent protocols.");
+            return;
           }
-        }
-        const responseList = [];
-        for (const response of responses) {
-          const responseObject = new Response(response.body?.source ?? null);
-          const body = responseObject[kState].body;
-          responseObject[kState] = response;
-          responseObject[kState].body = body;
-          responseObject[kHeaders][kHeadersList] = response.headersList;
-          responseObject[kHeaders][kGuard] = "immutable";
-          responseList.push(responseObject);
-        }
-        return Object.freeze(responseList);
-      }
-      async add(request2) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.add" });
-        request2 = webidl.converters.RequestInfo(request2);
-        const requests = [request2];
-        const responseArrayPromise = this.addAll(requests);
-        return await responseArrayPromise;
-      }
-      async addAll(requests) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.addAll" });
-        requests = webidl.converters["sequence"](requests);
-        const responsePromises = [];
-        const requestList = [];
-        for (const request2 of requests) {
-          if (typeof request2 === "string") {
-            continue;
+          if (response.headersList.get("Upgrade")?.toLowerCase() !== "websocket") {
+            failWebsocketConnection(ws, 'Server did not set Upgrade header to "websocket".');
+            return;
           }
-          const r = request2[kState];
-          if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") {
-            throw webidl.errors.exception({
-              header: "Cache.addAll",
-              message: "Expected http/s scheme when method is not GET."
-            });
+          if (response.headersList.get("Connection")?.toLowerCase() !== "upgrade") {
+            failWebsocketConnection(ws, 'Server did not set Connection header to "upgrade".');
+            return;
           }
-        }
-        const fetchControllers = [];
-        for (const request2 of requests) {
-          const r = new Request(request2)[kState];
-          if (!urlIsHttpHttpsScheme(r.url)) {
-            throw webidl.errors.exception({
-              header: "Cache.addAll",
-              message: "Expected http/s scheme."
-            });
+          const secWSAccept = response.headersList.get("Sec-WebSocket-Accept");
+          const digest = crypto2.createHash("sha1").update(keyValue + uid).digest("base64");
+          if (secWSAccept !== digest) {
+            failWebsocketConnection(ws, "Incorrect hash received in Sec-WebSocket-Accept header.");
+            return;
           }
-          r.initiator = "fetch";
-          r.destination = "subresource";
-          requestList.push(r);
-          const responsePromise = createDeferredPromise();
-          fetchControllers.push(fetching({
-            request: r,
-            dispatcher: getGlobalDispatcher(),
-            processResponse(response) {
-              if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) {
-                responsePromise.reject(webidl.errors.exception({
-                  header: "Cache.addAll",
-                  message: "Received an invalid status code or the request failed."
-                }));
-              } else if (response.headersList.contains("vary")) {
-                const fieldValues = getFieldValues(response.headersList.get("vary"));
-                for (const fieldValue of fieldValues) {
-                  if (fieldValue === "*") {
-                    responsePromise.reject(webidl.errors.exception({
-                      header: "Cache.addAll",
-                      message: "invalid vary field value"
-                    }));
-                    for (const controller of fetchControllers) {
-                      controller.abort();
-                    }
-                    return;
-                  }
-                }
-              }
-            },
-            processResponseEndOfBody(response) {
-              if (response.aborted) {
-                responsePromise.reject(new DOMException("aborted", "AbortError"));
-                return;
-              }
-              responsePromise.resolve(response);
+          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;
             }
-          }));
-          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);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Cache.put" });
-        request2 = webidl.converters.RequestInfo(request2);
-        response = webidl.converters.Response(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: "Cache.put",
-            message: "Expected an http/s scheme when method is not GET"
-          });
-        }
-        const innerResponse = response[kState];
-        if (innerResponse.status === 206) {
-          throw webidl.errors.exception({
-            header: "Cache.put",
-            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: "Cache.put",
-                message: "Got * vary field value"
-              });
+          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);
         }
-        if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {
-          throw webidl.errors.exception({
-            header: "Cache.put",
-            message: "Response body is locked or disturbed"
-          });
-        }
-        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);
+      });
+      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 {
-          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;
+          frame.frameData = emptyBuffer;
         }
-        queueMicrotask(() => {
-          if (errorData === null) {
-            cacheJobPromise.resolve();
-          } else {
-            cacheJobPromise.reject(errorData);
-          }
-        });
-        return cacheJobPromise.promise;
+        const socket = ws[kResponse].socket;
+        socket.write(frame.createFrame(opcodes.CLOSE));
+        ws[kSentClose] = sentCloseFrameState.SENT;
+        ws[kReadyState] = states.CLOSING;
+      } else {
+        ws[kReadyState] = states.CLOSING;
       }
-      async delete(request2, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.delete" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(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);
-          }
+    }
+    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, (type2, init) => new CloseEvent(type2, init), {
+        wasClean,
+        code,
+        reason
+      });
+      if (channels.close.hasSubscribers) {
+        channels.close.publish({
+          websocket: ws,
+          code,
+          reason
         });
-        return cacheJobPromise.promise;
       }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys
-       * @param {any} request
-       * @param {import('../../types/cache').CacheQueryOptions} options
-       * @returns {readonly Request[]}
-       */
-      async keys(request2 = void 0, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        let r = null;
-        if (request2 !== void 0) {
-          if (request2 instanceof Request) {
-            r = request2[kState];
-            if (r.method !== "GET" && !options.ignoreMethod) {
-              return [];
+    }
+    function onSocketError(error3) {
+      const { ws } = this;
+      ws[kReadyState] = states.CLOSING;
+      if (channels.socketError.hasSubscribers) {
+        channels.socketError.publish(error3);
+      }
+      this.destroy();
+    }
+    module2.exports = {
+      establishWebSocketConnection,
+      closeWebSocketConnection
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js
+var require_permessage_deflate2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js"(exports2, module2) {
+    "use strict";
+    var { createInflateRaw, Z_DEFAULT_WINDOWBITS } = require("node:zlib");
+    var { isValidClientWindowBits } = require_util15();
+    var tail = Buffer.from([0, 0, 255, 255]);
+    var kBuffer = /* @__PURE__ */ Symbol("kBuffer");
+    var kLength = /* @__PURE__ */ 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;
             }
-          } else if (typeof request2 === "string") {
-            r = new Request(request2)[kState];
+            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);
+          });
         }
-        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]);
-          }
+        this.#inflate.write(chunk);
+        if (fin) {
+          this.#inflate.write(tail);
         }
-        queueMicrotask(() => {
-          const requestList = [];
-          for (const request3 of requests) {
-            const requestObject = new Request("https://a");
-            requestObject[kState] = request3;
-            requestObject[kHeaders][kHeadersList] = request3.headersList;
-            requestObject[kHeaders][kGuard] = "immutable";
-            requestObject[kRealm] = request3.client;
-            requestList.push(requestObject);
-          }
-          promise.resolve(Object.freeze(requestList));
+        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);
         });
-        return promise.promise;
+      }
+    };
+    module2.exports = { PerMessageDeflate };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/receiver.js
+var require_receiver2 = __commonJS({
+  "node_modules/@actions/github/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_constants10();
+    var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols10();
+    var { channels } = require_diagnostics2();
+    var {
+      isValidStatusCode,
+      isValidOpcode,
+      failWebsocketConnection,
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isTextBinaryFrame,
+      isContinuationFrame
+    } = require_util15();
+    var { WebsocketFrameSend } = require_frame2();
+    var { closeWebSocketConnection } = require_connection2();
+    var { PerMessageDeflate } = require_permessage_deflate2();
+    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));
+        }
       }
       /**
-       * @see https://w3c.github.io/ServiceWorker/#batch-cache-operations-algorithm
-       * @param {CacheBatchOperation[]} operations
-       * @returns {requestResponseList}
+       * @param {Buffer} chunk
+       * @param {() => void} callback
        */
-      #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"'
-              });
+      _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();
             }
-            if (operation.type === "delete" && operation.response != null) {
-              throw webidl.errors.exception({
-                header: "Cache.#batchCacheOperations",
-                message: "delete operation should not have an associated response"
-              });
+            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 (this.#queryCache(operation.request, operation.options, addedItems).length) {
-              throw new DOMException("???", "InvalidStateError");
+            if (masked) {
+              failWebsocketConnection(this.ws, "Frame cannot be masked");
+              return callback();
             }
-            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"
+            if (rsv1 !== 0 && !this.#extensions.has("permessage-deflate")) {
+              failWebsocketConnection(this.ws, "Expected RSV1 to be clear.");
+              return;
+            }
+            if (rsv2 !== 0 || rsv3 !== 0) {
+              failWebsocketConnection(this.ws, "RSV1, RSV2, RSV3 must be clear");
+              return;
+            }
+            if (fragmented && !isTextBinaryFrame(opcode)) {
+              failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
+              return;
+            }
+            if (isTextBinaryFrame(opcode) && this.#fragments.length > 0) {
+              failWebsocketConnection(this.ws, "Expected continuation frame");
+              return;
+            }
+            if (this.#info.fragmented && fragmented) {
+              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
+              return;
+            }
+            if ((payloadLength > 125 || fragmented) && isControlFrame(opcode)) {
+              failWebsocketConnection(this.ws, "Control frame either too large or fragmented");
+              return;
+            }
+            if (isContinuationFrame(opcode) && this.#fragments.length === 0 && !this.#info.compressed) {
+              failWebsocketConnection(this.ws, "Unexpected continuation frame");
+              return;
+            }
+            if (payloadLength <= 125) {
+              this.#info.payloadLength = payloadLength;
+              this.#state = parserStates.READ_DATA;
+            } else if (payloadLength === 126) {
+              this.#state = parserStates.PAYLOADLENGTH_16;
+            } else if (payloadLength === 127) {
+              this.#state = parserStates.PAYLOADLENGTH_64;
+            }
+            if (isTextBinaryFrame(opcode)) {
+              this.#info.binaryType = opcode;
+              this.#info.compressed = rsv1 !== 0;
+            }
+            this.#info.opcode = opcode;
+            this.#info.masked = masked;
+            this.#info.fin = fin;
+            this.#info.fragmented = fragmented;
+          } else if (this.#state === parserStates.PAYLOADLENGTH_16) {
+            if (this.#byteOffset < 2) {
+              return callback();
+            }
+            const buffer = this.consume(2);
+            this.#info.payloadLength = buffer.readUInt16BE(0);
+            this.#state = parserStates.READ_DATA;
+          } else if (this.#state === parserStates.PAYLOADLENGTH_64) {
+            if (this.#byteOffset < 8) {
+              return callback();
+            }
+            const buffer = this.consume(8);
+            const upper = buffer.readUInt32BE(0);
+            if (upper > 2 ** 31 - 1) {
+              failWebsocketConnection(this.ws, "Received payload length > 2^31 bytes.");
+              return;
+            }
+            const lower = buffer.readUInt32BE(4);
+            this.#info.payloadLength = (upper << 8) + lower;
+            this.#state = parserStates.READ_DATA;
+          } else if (this.#state === parserStates.READ_DATA) {
+            if (this.#byteOffset < this.#info.payloadLength) {
+              return callback();
+            }
+            const body = this.consume(this.#info.payloadLength);
+            if (isControlFrame(this.#info.opcode)) {
+              this.#loop = this.parseControlFrame(body);
+              this.#state = parserStates.INFO;
+            } else {
+              if (!this.#info.compressed) {
+                this.#fragments.push(body);
+                if (!this.#info.fragmented && this.#info.fin) {
+                  const fullMessage = Buffer.concat(this.#fragments);
+                  websocketMessageReceived(this.ws, this.#info.binaryType, fullMessage);
+                  this.#fragments.length = 0;
+                }
+                this.#state = parserStates.INFO;
+              } else {
+                this.#extensions.get("permessage-deflate").decompress(body, this.#info.fin, (error3, data) => {
+                  if (error3) {
+                    closeWebSocketConnection(this.ws, 1007, error3.message, error3.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;
               }
-              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}
+       * Take n bytes from the buffered Buffers
+       * @param {number} n
+       * @returns {Buffer}
        */
-      #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);
+      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;
           }
         }
-        return resultList;
+        this.#byteOffset -= n;
+        return buffer;
       }
-      /**
-       * @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 = "";
+      parseCloseBody(data) {
+        assert(data.length !== 1);
+        let code;
+        if (data.length >= 2) {
+          code = data.readUInt16BE(0);
         }
-        if (!urlEquals(queryURL, cachedURL, true)) {
-          return false;
+        if (code !== void 0 && !isValidStatusCode(code)) {
+          return { code: 1002, reason: "Invalid status code", error: true };
         }
-        if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) {
-          return true;
+        let reason = data.subarray(2);
+        if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
+          reason = reason.subarray(3);
         }
-        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;
-          }
+        try {
+          reason = utf8Decode(reason);
+        } catch {
+          return { code: 1007, reason: "Invalid UTF-8", error: true };
         }
-        return true;
-      }
-    };
-    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
+        return { code, reason, error: false };
       }
-    ]);
-    webidl.converters.Response = webidl.interfaceConverter(Response);
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.RequestInfo
-    );
-    module2.exports = {
-      Cache
-    };
-  }
-});
-
-// node_modules/undici/lib/cache/cachestorage.js
-var require_cachestorage2 = __commonJS({
-  "node_modules/undici/lib/cache/cachestorage.js"(exports2, module2) {
-    "use strict";
-    var { kConstruct } = require_symbols9();
-    var { Cache } = require_cache2();
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util9();
-    var CacheStorage = class _CacheStorage {
       /**
-       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
-       * @type {Map {
+                if (!err) {
+                  this.ws[kSentClose] = sentCloseFrameState.SENT;
+                }
+              }
+            );
+          }
+          this.ws[kReadyState] = states.CLOSING;
+          this.ws[kReceivedClose] = true;
+          return false;
+        } else if (opcode === opcodes.PING) {
+          if (!this.ws[kReceivedClose]) {
+            const frame = new WebsocketFrameSend(body);
+            this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
+            if (channels.ping.hasSubscribers) {
+              channels.ping.publish({
+                payload: body
+              });
             }
           }
+        } else if (opcode === opcodes.PONG) {
+          if (channels.pong.hasSubscribers) {
+            channels.pong.publish({
+              payload: body
+            });
+          }
         }
+        return true;
       }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#cache-storage-has
-       * @param {string} cacheName
-       * @returns {Promise}
-       */
-      async has(cacheName) {
-        webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.has" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        return this.#caches.has(cacheName);
-      }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open
-       * @param {string} cacheName
-       * @returns {Promise}
-       */
-      async open(cacheName) {
-        webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.open" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        if (this.#caches.has(cacheName)) {
-          const cache2 = this.#caches.get(cacheName);
-          return new Cache(kConstruct, cache2);
-        }
-        const 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);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.delete" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        return this.#caches.delete(cacheName);
-      }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys
-       * @returns {string[]}
-       */
-      async keys() {
-        webidl.brandCheck(this, _CacheStorage);
-        const keys = this.#caches.keys();
-        return [...keys];
+      get closingInfo() {
+        return this.#info.closeInfo;
       }
     };
-    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/cookies/constants.js
-var require_constants9 = __commonJS({
-  "node_modules/undici/lib/cookies/constants.js"(exports2, module2) {
-    "use strict";
-    var maxAttributeValueSize = 1024;
-    var maxNameValuePairSize = 4096;
     module2.exports = {
-      maxAttributeValueSize,
-      maxNameValuePairSize
+      ByteParser
     };
   }
 });
 
-// node_modules/undici/lib/cookies/util.js
-var require_util14 = __commonJS({
-  "node_modules/undici/lib/cookies/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js
+var require_sender2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js"(exports2, module2) {
     "use strict";
-    function isCTLExcludingHtab(value) {
-      if (value.length === 0) {
-        return false;
-      }
-      for (const char of value) {
-        const code = char.charCodeAt(0);
-        if (code >= 0 || code <= 8 || (code >= 10 || code <= 31) || code === 127) {
-          return false;
-        }
+    var { WebsocketFrameSend } = require_frame2();
+    var { opcodes, sendHints } = require_constants10();
+    var FixedQueue = require_fixed_queue2();
+    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;
       }
-    }
-    function validateCookieName(name) {
-      for (const char of name) {
-        const code = char.charCodeAt(0);
-        if (code <= 32 || code > 127 || char === "(" || char === ")" || char === ">" || char === "<" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}") {
-          throw new Error("Invalid cookie name");
+      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;
         }
-      }
-    }
-    function validateCookieValue(value) {
-      for (const char of value) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || // exclude CTLs (0-31)
-        code === 34 || code === 44 || code === 59 || code === 92 || code > 126) {
-          throw new Error("Invalid header value");
+        const 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();
         }
       }
-    }
-    function validateCookiePath(path7) {
-      for (const char of path7) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || char === ";") {
-          throw new Error("Invalid cookie path");
+      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 validateCookieDomain(domain) {
-      if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
-        throw new Error("Invalid cookie domain");
-      }
-    }
-    function toIMFDate(date) {
-      if (typeof date === "number") {
-        date = new Date(date);
-      }
-      const days = [
-        "Sun",
-        "Mon",
-        "Tue",
-        "Wed",
-        "Thu",
-        "Fri",
-        "Sat"
-      ];
-      const months = [
-        "Jan",
-        "Feb",
-        "Mar",
-        "Apr",
-        "May",
-        "Jun",
-        "Jul",
-        "Aug",
-        "Sep",
-        "Oct",
-        "Nov",
-        "Dec"
-      ];
-      const dayName = days[date.getUTCDay()];
-      const day = date.getUTCDate().toString().padStart(2, "0");
-      const month = months[date.getUTCMonth()];
-      const year = date.getUTCFullYear();
-      const hour = date.getUTCHours().toString().padStart(2, "0");
-      const minute = date.getUTCMinutes().toString().padStart(2, "0");
-      const second = date.getUTCSeconds().toString().padStart(2, "0");
-      return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`;
-    }
-    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("=")}`);
+    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);
       }
-      return out.join("; ");
     }
-    module2.exports = {
-      isCTLExcludingHtab,
-      validateCookieName,
-      validateCookiePath,
-      validateCookieValue,
-      toIMFDate,
-      stringify
-    };
+    module2.exports = { SendQueue };
   }
 });
 
-// node_modules/undici/lib/cookies/parse.js
-var require_parse2 = __commonJS({
-  "node_modules/undici/lib/cookies/parse.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js
+var require_websocket2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js"(exports2, module2) {
     "use strict";
-    var { maxNameValuePairSize, maxAttributeValueSize } = require_constants9();
-    var { isCTLExcludingHtab } = require_util14();
-    var { collectASequenceOfCodePointsFast } = require_dataURL();
-    var assert = require("assert");
-    function parseSetCookie(header) {
-      if (isCTLExcludingHtab(header)) {
-        return null;
-      }
-      let nameValuePair = "";
-      let unparsedAttributes = "";
-      let name = "";
-      let value = "";
-      if (header.includes(";")) {
-        const position = { position: 0 };
-        nameValuePair = collectASequenceOfCodePointsFast(";", header, position);
-        unparsedAttributes = header.slice(position.position);
-      } 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)
+    var { webidl } = require_webidl2();
+    var { URLSerializer } = require_data_url2();
+    var { environmentSettingsObject } = require_util10();
+    var { staticPropertyDescriptors, states, sentCloseFrameState, sendHints } = require_constants10();
+    var {
+      kWebSocketURL,
+      kReadyState,
+      kController,
+      kBinaryType,
+      kResponse,
+      kSentClose,
+      kByteParser
+    } = require_symbols10();
+    var {
+      isConnecting,
+      isEstablished,
+      isClosing,
+      isValidSubprotocol,
+      fireEvent
+    } = require_util15();
+    var { establishWebSocketConnection, closeWebSocketConnection } = require_connection2();
+    var { ByteParser } = require_receiver2();
+    var { kEnumerableProperty, isBlobLike } = require_util9();
+    var { getGlobalDispatcher } = require_global4();
+    var { types } = require("node:util");
+    var { ErrorEvent, CloseEvent } = require_events2();
+    var { SendQueue } = require_sender2();
+    var WebSocket = class _WebSocket extends EventTarget {
+      #events = {
+        open: null,
+        error: null,
+        close: null,
+        message: null
       };
-    }
-    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);
+      #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 (!/^\d+$/.test(attributeValue)) {
-          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
+        if (urlRecord.protocol === "http:") {
+          urlRecord.protocol = "ws:";
+        } else if (urlRecord.protocol === "https:") {
+          urlRecord.protocol = "wss:";
         }
-        const deltaSeconds = Number(attributeValue);
-        cookieAttributeList.maxAge = deltaSeconds;
-      } else if (attributeNameLowercase === "domain") {
-        let cookieDomain = attributeValue;
-        if (cookieDomain[0] === ".") {
-          cookieDomain = cookieDomain.slice(1);
+        if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") {
+          throw new DOMException(
+            `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
+            "SyntaxError"
+          );
         }
-        cookieDomain = cookieDomain.toLowerCase();
-        cookieAttributeList.domain = cookieDomain;
-      } else if (attributeNameLowercase === "path") {
-        let cookiePath = "";
-        if (attributeValue.length === 0 || attributeValue[0] !== "/") {
-          cookiePath = "/";
-        } else {
-          cookiePath = attributeValue;
+        if (urlRecord.hash || urlRecord.href.endsWith("#")) {
+          throw new DOMException("Got fragment", "SyntaxError");
         }
-        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 (typeof protocols === "string") {
+          protocols = [protocols];
         }
-        if (attributeValueLowercase.includes("strict")) {
-          enforcement = "Strict";
+        if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
+          throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
         }
-        if (attributeValueLowercase.includes("lax")) {
-          enforcement = "Lax";
+        if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
+          throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
         }
-        cookieAttributeList.sameSite = enforcement;
-      } else {
-        cookieAttributeList.unparsed ??= [];
-        cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`);
-      }
-      return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
-    }
-    module2.exports = {
-      parseSetCookie,
-      parseUnparsedAttributes
-    };
-  }
-});
-
-// node_modules/undici/lib/cookies/index.js
-var require_cookies2 = __commonJS({
-  "node_modules/undici/lib/cookies/index.js"(exports2, module2) {
-    "use strict";
-    var { parseSetCookie } = require_parse2();
-    var { stringify } = require_util14();
-    var { webidl } = require_webidl2();
-    var { Headers } = require_headers2();
-    function getCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "getCookies" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      const cookie = headers.get("cookie");
-      const out = {};
-      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.argumentLengthCheck(arguments, 2, { header: "deleteCookie" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      name = webidl.converters.DOMString(name);
-      attributes = webidl.converters.DeleteCookieAttributes(attributes);
-      setCookie(headers, {
-        name,
-        value: "",
-        expires: /* @__PURE__ */ new Date(0),
-        ...attributes
-      });
-    }
-    function getSetCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "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, { header: "setCookie" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      cookie = webidl.converters.Cookie(cookie);
-      const str2 = stringify(cookie);
-      if (str2) {
-        headers.append("Set-Cookie", stringify(cookie));
-      }
-    }
-    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
+        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";
       }
-    ]);
-    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);
+      /**
+       * @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");
           }
-          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: []
+        }
+        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);
       }
-    ]);
-    module2.exports = {
-      getCookies,
-      deleteCookie,
-      getSetCookies,
-      setCookie
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/constants.js
-var require_constants10 = __commonJS({
-  "node_modules/undici/lib/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 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);
-    module2.exports = {
-      uid,
-      staticPropertyDescriptors,
-      states,
-      opcodes,
-      maxUnsigned16Bit,
-      parserStates,
-      emptyBuffer
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/symbols.js
-var require_symbols10 = __commonJS({
-  "node_modules/undici/lib/websocket/symbols.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
-      kReadyState: /* @__PURE__ */ Symbol("ready state"),
-      kController: /* @__PURE__ */ Symbol("controller"),
-      kResponse: /* @__PURE__ */ Symbol("response"),
-      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
-      kSentClose: /* @__PURE__ */ Symbol("sent close"),
-      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
-      kByteParser: /* @__PURE__ */ Symbol("byte parser")
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/events.js
-var require_events2 = __commonJS({
-  "node_modules/undici/lib/websocket/events.js"(exports2, module2) {
-    "use strict";
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util9();
-    var { MessagePort } = require("worker_threads");
-    var MessageEvent = class _MessageEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.MessageEventInit(eventInitDict);
-        super(type2, eventInitDict);
-        this.#eventInit = eventInitDict;
+      /**
+       * @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 data() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.data;
+      get readyState() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kReadyState];
       }
-      get origin() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.origin;
+      get bufferedAmount() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#bufferedAmount;
       }
-      get lastEventId() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.lastEventId;
+      get url() {
+        webidl.brandCheck(this, _WebSocket);
+        return URLSerializer(this[kWebSocketURL]);
       }
-      get source() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.source;
+      get extensions() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#extensions;
       }
-      get ports() {
-        webidl.brandCheck(this, _MessageEvent);
-        if (!Object.isFrozen(this.#eventInit.ports)) {
-          Object.freeze(this.#eventInit.ports);
-        }
-        return this.#eventInit.ports;
+      get protocol() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#protocol;
       }
-      initMessageEvent(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
-        webidl.brandCheck(this, _MessageEvent);
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent.initMessageEvent" });
-        return new _MessageEvent(type2, {
-          bubbles,
-          cancelable,
-          data,
-          origin,
-          lastEventId,
-          source,
-          ports
-        });
+      get onopen() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.open;
       }
-    };
-    var CloseEvent = class _CloseEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
-        super(type2, eventInitDict);
-        this.#eventInit = eventInitDict;
+      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 wasClean() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.wasClean;
+      get onerror() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.error;
       }
-      get code() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.code;
+      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 reason() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.reason;
+      get onclose() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.close;
       }
-    };
-    var ErrorEvent = class _ErrorEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" });
-        super(type2, eventInitDict);
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});
-        this.#eventInit = eventInitDict;
+      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 message() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.message;
+      get onmessage() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.message;
       }
-      get filename() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.filename;
+      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 lineno() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.lineno;
+      get binaryType() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kBinaryType];
       }
-      get colno() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.colno;
+      set binaryType(type2) {
+        webidl.brandCheck(this, _WebSocket);
+        if (type2 !== "blob" && type2 !== "arraybuffer") {
+          this[kBinaryType] = "blob";
+        } else {
+          this[kBinaryType] = type2;
+        }
       }
-      get error() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.error;
+      /**
+       * @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);
       }
     };
-    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, {
+    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: "CloseEvent",
+        value: "WebSocket",
+        writable: false,
+        enumerable: false,
         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
+    Object.defineProperties(WebSocket, {
+      CONNECTING: staticPropertyDescriptors,
+      OPEN: staticPropertyDescriptors,
+      CLOSING: staticPropertyDescriptors,
+      CLOSED: staticPropertyDescriptors
     });
-    webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort);
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.MessagePort
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.DOMString
     );
-    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"],
-        get defaultValue() {
-          return [];
-        }
-      }
-    ]);
-    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["DOMString or sequence"] = function(V, prefix, argument) {
+      if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
+        return webidl.converters["sequence"](V);
       }
-    ]);
-    webidl.converters.ErrorEventInit = webidl.dictionaryConverter([
-      ...eventInit,
-      {
-        key: "message",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "filename",
-        converter: webidl.converters.USVString,
-        defaultValue: ""
-      },
+      return webidl.converters.DOMString(V, prefix, argument);
+    };
+    webidl.converters.WebSocketInit = webidl.dictionaryConverter([
       {
-        key: "lineno",
-        converter: webidl.converters["unsigned long"],
-        defaultValue: 0
+        key: "protocols",
+        converter: webidl.converters["DOMString or sequence"],
+        defaultValue: () => new Array(0)
       },
       {
-        key: "colno",
-        converter: webidl.converters["unsigned long"],
-        defaultValue: 0
+        key: "dispatcher",
+        converter: webidl.converters.any,
+        defaultValue: () => getGlobalDispatcher()
       },
-      {
-        key: "error",
-        converter: webidl.converters.any
-      }
-    ]);
-    module2.exports = {
-      MessageEvent,
-      CloseEvent,
-      ErrorEvent
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/util.js
-var require_util15 = __commonJS({
-  "node_modules/undici/lib/websocket/util.js"(exports2, module2) {
-    "use strict";
-    var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols10();
-    var { states, opcodes } = require_constants10();
-    var { MessageEvent, ErrorEvent } = require_events2();
-    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, eventConstructor = Event, eventInitDict) {
-      const event = new eventConstructor(e, eventInitDict);
-      target.dispatchEvent(event);
-    }
-    function websocketMessageReceived(ws, type2, data) {
-      if (ws[kReadyState] !== states.OPEN) {
-        return;
-      }
-      let dataForEvent;
-      if (type2 === opcodes.TEXT) {
-        try {
-          dataForEvent = new TextDecoder("utf-8", { fatal: true }).decode(data);
-        } catch {
-          failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
-          return;
-        }
-      } else if (type2 === opcodes.BINARY) {
-        if (ws[kBinaryType] === "blob") {
-          dataForEvent = new Blob([data]);
-        } else {
-          dataForEvent = new Uint8Array(data).buffer;
-        }
+      {
+        key: "headers",
+        converter: webidl.nullableConverter(webidl.converters.HeadersInit)
       }
-      fireEvent("message", ws, MessageEvent, {
-        origin: ws[kWebSocketURL].origin,
-        data: dataForEvent
-      });
-    }
-    function isValidSubprotocol(protocol) {
-      if (protocol.length === 0) {
-        return false;
+    ]);
+    webidl.converters["DOMString or sequence or WebSocketInit"] = function(V) {
+      if (webidl.util.Type(V) === "Object" && !(Symbol.iterator in V)) {
+        return webidl.converters.WebSocketInit(V);
       }
-      for (const char of protocol) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || code > 126 || char === "(" || char === ")" || char === "<" || char === ">" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}" || code === 32 || // SP
-        code === 9) {
-          return false;
+      return { 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 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;
+      return webidl.converters.USVString(V);
+    };
+    function onParserDrain() {
+      this.ws[kResponse].socket.resume();
     }
-    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, ErrorEvent, {
-          error: new Error(reason)
-        });
+    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 = {
-      isEstablished,
-      isClosing,
-      isClosed,
-      fireEvent,
-      isValidSubprotocol,
-      isValidStatusCode,
-      failWebsocketConnection,
-      websocketMessageReceived
+      WebSocket
     };
   }
 });
 
-// node_modules/undici/lib/websocket/connection.js
-var require_connection2 = __commonJS({
-  "node_modules/undici/lib/websocket/connection.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js
+var require_util16 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js"(exports2, module2) {
     "use strict";
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { uid, states } = require_constants10();
-    var {
-      kReadyState,
-      kSentClose,
-      kByteParser,
-      kReceivedClose
-    } = require_symbols10();
-    var { fireEvent, failWebsocketConnection } = require_util15();
-    var { CloseEvent } = require_events2();
-    var { makeRequest } = require_request4();
-    var { fetching } = require_fetch2();
-    var { Headers } = require_headers2();
-    var { getGlobalDispatcher } = require_global4();
-    var { kHeadersList } = require_symbols6();
-    var channels = {};
-    channels.open = diagnosticsChannel.channel("undici:websocket:open");
-    channels.close = diagnosticsChannel.channel("undici:websocket:close");
-    channels.socketError = diagnosticsChannel.channel("undici:websocket:socket_error");
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-    } catch {
-    }
-    function establishWebSocketConnection(url, protocols, ws, onEstablish, options) {
-      const requestURL = url;
-      requestURL.protocol = url.protocol === "ws:" ? "http:" : "https:";
-      const request2 = makeRequest({
-        urlList: [requestURL],
-        serviceWorkers: "none",
-        referrer: "no-referrer",
-        mode: "websocket",
-        credentials: "include",
-        cache: "no-store",
-        redirect: "error"
-      });
-      if (options.headers) {
-        const headersList = new Headers(options.headers)[kHeadersList];
-        request2.headersList = headersList;
-      }
-      const keyValue = crypto2.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 = "";
-      const controller = fetching({
-        request: request2,
-        useParallelQueue: true,
-        dispatcher: options.dispatcher ?? getGlobalDispatcher(),
-        processResponse(response) {
-          if (response.type === "error" || response.status !== 101) {
-            failWebsocketConnection(ws, "Received network error or non-101 status code.");
-            return;
-          }
-          if (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 = crypto2.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");
-          if (secExtension !== null && secExtension !== permessageDeflate) {
-            failWebsocketConnection(ws, "Received different permessage-deflate than the one set.");
-            return;
-          }
-          const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");
-          if (secProtocol !== null && secProtocol !== request2.headersList.get("Sec-WebSocket-Protocol")) {
-            failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");
-            return;
-          }
-          response.socket.on("data", onSocketData);
-          response.socket.on("close", onSocketClose);
-          response.socket.on("error", onSocketError);
-          if (channels.open.hasSubscribers) {
-            channels.open.publish({
-              address: response.socket.address(),
-              protocol: secProtocol,
-              extensions: secExtension
-            });
-          }
-          onEstablish(response);
-        }
-      });
-      return controller;
+    function isValidLastEventId(value) {
+      return value.indexOf("\0") === -1;
     }
-    function onSocketData(chunk) {
-      if (!this.ws[kByteParser].write(chunk)) {
-        this.pause();
+    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 onSocketClose() {
-      const { ws } = this;
-      const wasClean = ws[kSentClose] && ws[kReceivedClose];
-      let code = 1005;
-      let reason = "";
-      const result = ws[kByteParser].closingInfo;
-      if (result) {
-        code = result.code ?? 1005;
-        reason = result.reason;
-      } else if (!ws[kSentClose]) {
-        code = 1006;
-      }
-      ws[kReadyState] = states.CLOSED;
-      fireEvent("close", ws, CloseEvent, {
-        wasClean,
-        code,
-        reason
+    function delay(ms) {
+      return new Promise((resolve5) => {
+        setTimeout(resolve5, ms).unref();
       });
-      if (channels.close.hasSubscribers) {
-        channels.close.publish({
-          websocket: ws,
-          code,
-          reason
-        });
-      }
-    }
-    function onSocketError(error3) {
-      const { ws } = this;
-      ws[kReadyState] = states.CLOSING;
-      if (channels.socketError.hasSubscribers) {
-        channels.socketError.publish(error3);
-      }
-      this.destroy();
     }
     module2.exports = {
-      establishWebSocketConnection
+      isValidLastEventId,
+      isASCIINumber,
+      delay
     };
   }
 });
 
-// node_modules/undici/lib/websocket/frame.js
-var require_frame2 = __commonJS({
-  "node_modules/undici/lib/websocket/frame.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js
+var require_eventsource_stream2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js"(exports2, module2) {
     "use strict";
-    var { maxUnsigned16Bit } = require_constants10();
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-    } catch {
-    }
-    var WebsocketFrameSend = class {
+    var { Transform } = require("node:stream");
+    var { isASCIINumber, isValidLastEventId } = require_util16();
+    var BOM = [239, 187, 191];
+    var LF = 10;
+    var CR = 13;
+    var COLON = 58;
+    var SPACE = 32;
+    var EventSourceStream = class extends Transform {
       /**
-       * @param {Buffer|undefined} data
+       * @type {eventSourceSettings}
        */
-      constructor(data) {
-        this.frameData = data;
-        this.maskKey = crypto2.randomBytes(4);
-      }
-      createFrame(opcode) {
-        const bodyLength = this.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 buffer = Buffer.allocUnsafe(bodyLength + offset);
-        buffer[0] = buffer[1] = 0;
-        buffer[0] |= 128;
-        buffer[0] = (buffer[0] & 240) + opcode;
-        buffer[offset - 4] = this.maskKey[0];
-        buffer[offset - 3] = this.maskKey[1];
-        buffer[offset - 2] = this.maskKey[2];
-        buffer[offset - 1] = this.maskKey[3];
-        buffer[1] = payloadLength;
-        if (payloadLength === 126) {
-          buffer.writeUInt16BE(bodyLength, 2);
-        } else if (payloadLength === 127) {
-          buffer[2] = buffer[3] = 0;
-          buffer.writeUIntBE(bodyLength, 4, 6);
-        }
-        buffer[1] |= 128;
-        for (let i = 0; i < bodyLength; i++) {
-          buffer[offset + i] = this.frameData[i] ^ this.maskKey[i % 4];
-        }
-        return buffer;
-      }
-    };
-    module2.exports = {
-      WebsocketFrameSend
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/receiver.js
-var require_receiver2 = __commonJS({
-  "node_modules/undici/lib/websocket/receiver.js"(exports2, module2) {
-    "use strict";
-    var { Writable } = require("stream");
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { parserStates, opcodes, states, emptyBuffer } = require_constants10();
-    var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols10();
-    var { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require_util15();
-    var { WebsocketFrameSend } = require_frame2();
-    var channels = {};
-    channels.ping = diagnosticsChannel.channel("undici:websocket:ping");
-    channels.pong = diagnosticsChannel.channel("undici:websocket:pong");
-    var ByteParser = class extends Writable {
-      #buffers = [];
-      #byteOffset = 0;
-      #state = parserStates.INFO;
-      #info = {};
-      #fragments = [];
-      constructor(ws) {
-        super();
-        this.ws = ws;
-      }
+      state = null;
       /**
-       * @param {Buffer} chunk
-       * @param {() => void} callback
+       * Leading byte-order-mark check.
+       * @type {boolean}
        */
-      _write(chunk, _, callback) {
-        this.#buffers.push(chunk);
-        this.#byteOffset += chunk.length;
-        this.run(callback);
+      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;
+        }
       }
       /**
-       * 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.
+       * @param {Buffer} chunk
+       * @param {string} _encoding
+       * @param {Function} callback
+       * @returns {void}
        */
-      run(callback) {
-        while (true) {
-          if (this.#state === parserStates.INFO) {
-            if (this.#byteOffset < 2) {
-              return callback();
-            }
-            const buffer = this.consume(2);
-            this.#info.fin = (buffer[0] & 128) !== 0;
-            this.#info.opcode = buffer[0] & 15;
-            this.#info.originalOpcode ??= this.#info.opcode;
-            this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION;
-            if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) {
-              failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
-              return;
-            }
-            const payloadLength = buffer[1] & 127;
-            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 (this.#info.fragmented && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
-              return;
-            } else if ((this.#info.opcode === opcodes.PING || this.#info.opcode === opcodes.PONG || this.#info.opcode === opcodes.CLOSE) && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Payload length for control frame exceeded 125 bytes.");
-              return;
-            } else if (this.#info.opcode === opcodes.CLOSE) {
-              if (payloadLength === 1) {
-                failWebsocketConnection(this.ws, "Received close frame with a 1-byte body.");
+      _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;
               }
-              const body = this.consume(payloadLength);
-              this.#info.closeInfo = this.parseCloseBody(false, body);
-              if (!this.ws[kSentClose]) {
-                const body2 = Buffer.allocUnsafe(2);
-                body2.writeUInt16BE(this.#info.closeInfo.code, 0);
-                const closeFrame = new WebsocketFrameSend(body2);
-                this.ws[kResponse].socket.write(
-                  closeFrame.createFrame(opcodes.CLOSE),
-                  (err) => {
-                    if (!err) {
-                      this.ws[kSentClose] = true;
-                    }
-                  }
-                );
-              }
-              this.ws[kReadyState] = states.CLOSING;
-              this.ws[kReceivedClose] = true;
-              this.end();
+              this.checkBOM = false;
+              callback();
               return;
-            } else if (this.#info.opcode === opcodes.PING) {
-              const body = this.consume(payloadLength);
-              if (!this.ws[kReceivedClose]) {
-                const frame = new WebsocketFrameSend(body);
-                this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
-                if (channels.ping.hasSubscribers) {
-                  channels.ping.publish({
-                    payload: body
-                  });
-                }
+            case 2:
+              if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1]) {
+                callback();
+                return;
               }
-              this.#state = parserStates.INFO;
-              if (this.#byteOffset > 0) {
-                continue;
-              } else {
+              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;
               }
-            } else if (this.#info.opcode === opcodes.PONG) {
-              const body = this.consume(payloadLength);
-              if (channels.pong.hasSubscribers) {
-                channels.pong.publish({
-                  payload: body
-                });
+              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);
               }
-              if (this.#byteOffset > 0) {
+              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;
-              } else {
-                callback();
-                return;
               }
+              this.crlfCheck = false;
             }
-          } 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();
-            } else if (this.#byteOffset >= this.#info.payloadLength) {
-              const body = this.consume(this.#info.payloadLength);
-              this.#fragments.push(body);
-              if (!this.#info.fragmented || this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) {
-                const fullMessage = Buffer.concat(this.#fragments);
-                websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage);
-                this.#info = {};
-                this.#fragments.length = 0;
+            if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) {
+              if (this.buffer[this.pos] === CR) {
+                this.crlfCheck = true;
               }
-              this.#state = parserStates.INFO;
+              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.#byteOffset > 0) {
+          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;
-          } else {
-            callback();
-            break;
           }
+          this.pos++;
         }
+        callback();
       }
       /**
-       * Take n bytes from the buffered Buffers
-       * @param {number} n
-       * @returns {Buffer|null}
+       * @param {Buffer} line
+       * @param {EventStreamEvent} event
        */
-      consume(n) {
-        if (n > this.#byteOffset) {
-          return null;
-        } else if (n === 0) {
-          return emptyBuffer;
+      parseLine(line, event) {
+        if (line.length === 0) {
+          return;
         }
-        if (this.#buffers[0].length === n) {
-          this.#byteOffset -= this.#buffers[0].length;
-          return this.#buffers.shift();
+        const colonPosition = line.indexOf(COLON);
+        if (colonPosition === 0) {
+          return;
         }
-        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);
+        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;
-          } else if (length + offset > n) {
-            buffer.set(next.subarray(0, n - offset), offset);
-            this.#buffers[0] = next.subarray(n - offset);
+          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;
-          } else {
-            buffer.set(this.#buffers.shift(), offset);
-            offset += next.length;
-          }
         }
-        this.#byteOffset -= n;
-        return buffer;
       }
-      parseCloseBody(onlyCode, data) {
-        let code;
-        if (data.length >= 2) {
-          code = data.readUInt16BE(0);
-        }
-        if (onlyCode) {
-          if (!isValidStatusCode(code)) {
-            return null;
-          }
-          return { code };
-        }
-        let reason = data.subarray(2);
-        if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
-          reason = reason.subarray(3);
+      /**
+       * @param {EventSourceStreamEvent} event
+       */
+      processEvent(event) {
+        if (event.retry && isASCIINumber(event.retry)) {
+          this.state.reconnectionTime = parseInt(event.retry, 10);
         }
-        if (code !== void 0 && !isValidStatusCode(code)) {
-          return null;
+        if (event.id && isValidLastEventId(event.id)) {
+          this.state.lastEventId = event.id;
         }
-        try {
-          reason = new TextDecoder("utf-8", { fatal: true }).decode(reason);
-        } catch {
-          return null;
+        if (event.data !== void 0) {
+          this.push({
+            type: event.event || "message",
+            options: {
+              data: event.data,
+              lastEventId: this.state.lastEventId,
+              origin: this.state.origin
+            }
+          });
         }
-        return { code, reason };
       }
-      get closingInfo() {
-        return this.#info.closeInfo;
+      clearEvent() {
+        this.event = {
+          data: void 0,
+          event: void 0,
+          id: void 0,
+          retry: void 0
+        };
       }
     };
     module2.exports = {
-      ByteParser
+      EventSourceStream
     };
   }
 });
 
-// node_modules/undici/lib/websocket/websocket.js
-var require_websocket2 = __commonJS({
-  "node_modules/undici/lib/websocket/websocket.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js
+var require_eventsource2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js"(exports2, module2) {
     "use strict";
+    var { pipeline } = require("node:stream");
+    var { fetching } = require_fetch2();
+    var { makeRequest } = require_request4();
     var { webidl } = require_webidl2();
-    var { DOMException: DOMException2 } = require_constants7();
-    var { URLSerializer } = require_dataURL();
-    var { getGlobalOrigin } = require_global3();
-    var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require_constants10();
-    var {
-      kWebSocketURL,
-      kReadyState,
-      kController,
-      kBinaryType,
-      kResponse,
-      kSentClose,
-      kByteParser
-    } = require_symbols10();
-    var { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require_util15();
-    var { establishWebSocketConnection } = require_connection2();
-    var { WebsocketFrameSend } = require_frame2();
-    var { ByteParser } = require_receiver2();
-    var { kEnumerableProperty, isBlobLike } = require_util9();
-    var { getGlobalDispatcher } = require_global4();
-    var { types } = require("util");
+    var { EventSourceStream } = require_eventsource_stream2();
+    var { parseMIMEType } = require_data_url2();
+    var { createFastMessageEvent } = require_events2();
+    var { isNetworkError } = require_response2();
+    var { delay } = require_util16();
+    var { kEnumerableProperty } = require_util9();
+    var { environmentSettingsObject } = require_util10();
     var experimentalWarned = false;
-    var WebSocket = class _WebSocket extends EventTarget {
+    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,
-        close: null,
         message: null
       };
-      #bufferedAmount = 0;
-      #protocol = "";
-      #extensions = "";
+      #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 {string|string[]} protocols
+       * @param {EventSourceInit} [eventSourceInitDict]
+       * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#the-eventsource-interface
        */
-      constructor(url, protocols = []) {
+      constructor(url, eventSourceInitDict = {}) {
         super();
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket constructor" });
+        webidl.util.markAsUncloneable(this);
+        const prefix = "EventSource constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
         if (!experimentalWarned) {
           experimentalWarned = true;
-          process.emitWarning("WebSockets are experimental, expect them to change at any time.", {
-            code: "UNDICI-WS"
+          process.emitWarning("EventSource is experimental, expect them to change at any time.", {
+            code: "UNDICI-ES"
           });
         }
-        const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols);
-        url = webidl.converters.USVString(url);
-        protocols = options.protocols;
-        const baseURL = getGlobalOrigin();
+        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, baseURL);
+          urlRecord = new URL(url, settings.settingsObject.baseUrl);
+          this.#state.origin = urlRecord.origin;
         } catch (e) {
-          throw new DOMException2(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 DOMException2(
-            `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
-            "SyntaxError"
-          );
-        }
-        if (urlRecord.hash || urlRecord.href.endsWith("#")) {
-          throw new DOMException2("Got fragment", "SyntaxError");
-        }
-        if (typeof protocols === "string") {
-          protocols = [protocols];
-        }
-        if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
-          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+          throw new DOMException(e, "SyntaxError");
         }
-        if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
-          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+        this.#url = urlRecord.href;
+        let corsAttributeState = ANONYMOUS;
+        if (eventSourceInitDict.withCredentials) {
+          corsAttributeState = USE_CREDENTIALS;
+          this.#withCredentials = true;
         }
-        this[kWebSocketURL] = new URL(urlRecord.href);
-        this[kController] = establishWebSocketConnection(
-          urlRecord,
-          protocols,
-          this,
-          (response) => this.#onConnectionEstablished(response),
-          options
-        );
-        this[kReadyState] = _WebSocket.CONNECTING;
-        this[kBinaryType] = "blob";
+        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();
       }
       /**
-       * @see https://websockets.spec.whatwg.org/#dom-websocket-close
-       * @param {number|undefined} code
-       * @param {string|undefined} reason
+       * Returns the state of this EventSource object's connection. It can have the
+       * values described below.
+       * @returns {0|1|2}
+       * @readonly
        */
-      close(code = void 0, reason = void 0) {
-        webidl.brandCheck(this, _WebSocket);
-        if (code !== void 0) {
-          code = webidl.converters["unsigned short"](code, { clamp: true });
-        }
-        if (reason !== void 0) {
-          reason = webidl.converters.USVString(reason);
-        }
-        if (code !== void 0) {
-          if (code !== 1e3 && (code < 3e3 || code > 4999)) {
-            throw new DOMException2("invalid code", "InvalidAccessError");
+      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();
           }
-        }
-        let reasonByteLength = 0;
-        if (reason !== void 0) {
-          reasonByteLength = Buffer.byteLength(reason);
-          if (reasonByteLength > 123) {
-            throw new DOMException2(
-              `Reason must be less than 123 bytes; received ${reasonByteLength}`,
-              "SyntaxError"
-            );
+          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;
+            }
           }
-        }
-        if (this[kReadyState] === _WebSocket.CLOSING || this[kReadyState] === _WebSocket.CLOSED) {
-        } else if (!isEstablished(this)) {
-          failWebsocketConnection(this, "Connection was closed before it was established.");
-          this[kReadyState] = _WebSocket.CLOSING;
-        } else if (!isClosing(this)) {
-          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 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;
           }
-          const socket = this[kResponse].socket;
-          socket.write(frame.createFrame(opcodes.CLOSE), (err) => {
-            if (!err) {
-              this[kSentClose] = true;
+          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
+              ));
             }
           });
-          this[kReadyState] = states.CLOSING;
-        } else {
-          this[kReadyState] = _WebSocket.CLOSING;
-        }
+          pipeline(
+            response.body.stream,
+            eventSourceStream,
+            (error3) => {
+              if (error3?.aborted === false) {
+                this.close();
+                this.dispatchEvent(new Event("error"));
+              }
+            }
+          );
+        };
+        this.#controller = fetching(fetchParams);
       }
       /**
-       * @see https://websockets.spec.whatwg.org/#dom-websocket-send
-       * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data
+       * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#sse-processing-model
+       * @returns {Promise}
        */
-      send(data) {
-        webidl.brandCheck(this, _WebSocket);
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" });
-        data = webidl.converters.WebSocketSendData(data);
-        if (this[kReadyState] === _WebSocket.CONNECTING) {
-          throw new DOMException2("Sent before connected.", "InvalidStateError");
-        }
-        if (!isEstablished(this) || isClosing(this)) {
-          return;
-        }
-        const socket = this[kResponse].socket;
-        if (typeof data === "string") {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.TEXT);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
-        } else if (types.isArrayBuffer(data)) {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
-        } else if (ArrayBuffer.isView(data)) {
-          const ab = Buffer.from(data, data.byteOffset, data.byteLength);
-          const frame = new WebsocketFrameSend(ab);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += ab.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= ab.byteLength;
-          });
-        } else if (isBlobLike(data)) {
-          const frame = new WebsocketFrameSend();
-          data.arrayBuffer().then((ab) => {
-            const value = Buffer.from(ab);
-            frame.frameData = value;
-            const buffer = frame.createFrame(opcodes.BINARY);
-            this.#bufferedAmount += value.byteLength;
-            socket.write(buffer, () => {
-              this.#bufferedAmount -= value.byteLength;
-            });
-          });
+      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();
       }
-      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;
+      /**
+       * 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() {
-        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);
         }
@@ -37998,44 +39575,10 @@ var require_websocket2 = __commonJS({
           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);
         }
@@ -38046,137 +39589,87 @@ var require_websocket2 = __commonJS({
           this.#events.message = null;
         }
       }
-      get binaryType() {
-        webidl.brandCheck(this, _WebSocket);
-        return this[kBinaryType];
+      get onerror() {
+        return this.#events.error;
       }
-      set binaryType(type2) {
-        webidl.brandCheck(this, _WebSocket);
-        if (type2 !== "blob" && type2 !== "arraybuffer") {
-          this[kBinaryType] = "blob";
+      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[kBinaryType] = type2;
+          this.#events.error = null;
         }
       }
-      /**
-       * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
-       */
-      #onConnectionEstablished(response) {
-        this[kResponse] = response;
-        const parser = new ByteParser(this);
-        parser.on("drain", function onParserDrain() {
-          this.ws[kResponse].socket.resume();
-        });
-        response.socket.ws = this;
-        this[kByteParser] = parser;
-        this[kReadyState] = states.OPEN;
-        const extensions = response.headersList.get("sec-websocket-extensions");
-        if (extensions !== null) {
-          this.#extensions = extensions;
-        }
-        const protocol = response.headersList.get("sec-websocket-protocol");
-        if (protocol !== null) {
-          this.#protocol = protocol;
-        }
-        fireEvent("open", this);
+    };
+    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
       }
     };
-    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,
+    Object.defineProperties(EventSource, constantsPropertyDescriptors);
+    Object.defineProperties(EventSource.prototype, constantsPropertyDescriptors);
+    Object.defineProperties(EventSource.prototype, {
       close: kEnumerableProperty,
+      onerror: 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
+      onopen: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      url: kEnumerableProperty,
+      withCredentials: kEnumerableProperty
     });
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.DOMString
-    );
-    webidl.converters["DOMString or sequence"] = function(V) {
-      if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
-        return webidl.converters["sequence"](V);
-      }
-      return webidl.converters.DOMString(V);
-    };
-    webidl.converters.WebSocketInit = webidl.dictionaryConverter([
+    webidl.converters.EventSourceInitDict = webidl.dictionaryConverter([
       {
-        key: "protocols",
-        converter: webidl.converters["DOMString or sequence"],
-        get defaultValue() {
-          return [];
-        }
+        key: "withCredentials",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
       },
       {
         key: "dispatcher",
-        converter: (V) => V,
-        get defaultValue() {
-          return getGlobalDispatcher();
-        }
-      },
-      {
-        key: "headers",
-        converter: webidl.nullableConverter(webidl.converters.HeadersInit)
+        // undici only
+        converter: webidl.converters.any
       }
     ]);
-    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.isAnyArrayBuffer(V)) {
-          return webidl.converters.BufferSource(V);
-        }
-      }
-      return webidl.converters.USVString(V);
-    };
     module2.exports = {
-      WebSocket
+      EventSource,
+      defaultReconnectionTime
     };
   }
 });
 
-// node_modules/undici/index.js
+// node_modules/@actions/github/node_modules/undici/index.js
 var require_undici2 = __commonJS({
-  "node_modules/undici/index.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/index.js"(exports2, module2) {
     "use strict";
     var Client = require_client2();
     var Dispatcher = require_dispatcher2();
-    var errors = require_errors2();
     var Pool = require_pool2();
     var BalancedPool = require_balanced_pool2();
     var Agent = require_agent2();
+    var ProxyAgent = require_proxy_agent2();
+    var EnvHttpProxyAgent = require_env_http_proxy_agent2();
+    var RetryAgent = require_retry_agent2();
+    var errors = require_errors2();
     var util = require_util9();
     var { InvalidArgumentError } = errors;
     var api = require_api2();
@@ -38185,19 +39678,11 @@ var require_undici2 = __commonJS({
     var MockAgent = require_mock_agent2();
     var MockPool = require_mock_pool2();
     var mockErrors = require_mock_errors2();
-    var ProxyAgent = require_proxy_agent2();
-    var RetryHandler = require_RetryHandler();
+    var RetryHandler = require_retry_handler2();
     var { getGlobalDispatcher, setGlobalDispatcher } = require_global4();
-    var DecoratorHandler = require_DecoratorHandler();
-    var RedirectHandler = require_RedirectHandler();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var hasCrypto;
-    try {
-      require("crypto");
-      hasCrypto = true;
-    } catch {
-      hasCrypto = false;
-    }
+    var DecoratorHandler = require_decorator_handler2();
+    var RedirectHandler = require_redirect_handler2();
+    var createRedirectInterceptor = require_redirect_interceptor2();
     Object.assign(Dispatcher.prototype, api);
     module2.exports.Dispatcher = Dispatcher;
     module2.exports.Client = Client;
@@ -38205,12 +39690,24 @@ var require_undici2 = __commonJS({
     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_redirect2(),
+      retry: require_retry2(),
+      dump: require_dump2(),
+      dns: require_dns2()
+    };
     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") {
@@ -38252,48 +39749,42 @@ var require_undici2 = __commonJS({
     }
     module2.exports.setGlobalDispatcher = setGlobalDispatcher;
     module2.exports.getGlobalDispatcher = getGlobalDispatcher;
-    if (util.nodeMajor > 16 || util.nodeMajor === 16 && util.nodeMinor >= 8) {
-      let fetchImpl = null;
-      module2.exports.fetch = async function fetch(resource) {
-        if (!fetchImpl) {
-          fetchImpl = require_fetch2().fetch;
-        }
-        try {
-          return await fetchImpl(...arguments);
-        } catch (err) {
-          if (typeof err === "object") {
-            Error.captureStackTrace(err, this);
-          }
-          throw err;
+    var fetchImpl = require_fetch2().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);
         }
-      };
-      module2.exports.Headers = require_headers2().Headers;
-      module2.exports.Response = require_response2().Response;
-      module2.exports.Request = require_request4().Request;
-      module2.exports.FormData = require_formdata2().FormData;
-      module2.exports.File = require_file2().File;
-      module2.exports.FileReader = require_filereader2().FileReader;
-      const { setGlobalOrigin, getGlobalOrigin } = require_global3();
-      module2.exports.setGlobalOrigin = setGlobalOrigin;
-      module2.exports.getGlobalOrigin = getGlobalOrigin;
-      const { CacheStorage } = require_cachestorage2();
-      const { kConstruct } = require_symbols9();
-      module2.exports.caches = new CacheStorage(kConstruct);
-    }
-    if (util.nodeMajor >= 16) {
-      const { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
-      module2.exports.deleteCookie = deleteCookie;
-      module2.exports.getCookies = getCookies;
-      module2.exports.getSetCookies = getSetCookies;
-      module2.exports.setCookie = setCookie;
-      const { parseMIMEType, serializeAMimeType } = require_dataURL();
-      module2.exports.parseMIMEType = parseMIMEType;
-      module2.exports.serializeAMimeType = serializeAMimeType;
-    }
-    if (util.nodeMajor >= 18 && hasCrypto) {
-      const { WebSocket } = require_websocket2();
-      module2.exports.WebSocket = WebSocket;
-    }
+        throw err;
+      }
+    };
+    module2.exports.Headers = require_headers2().Headers;
+    module2.exports.Response = require_response2().Response;
+    module2.exports.Request = require_request4().Request;
+    module2.exports.FormData = require_formdata2().FormData;
+    module2.exports.File = globalThis.File ?? require("node:buffer").File;
+    module2.exports.FileReader = require_filereader2().FileReader;
+    var { setGlobalOrigin, getGlobalOrigin } = require_global3();
+    module2.exports.setGlobalOrigin = setGlobalOrigin;
+    module2.exports.getGlobalOrigin = getGlobalOrigin;
+    var { CacheStorage } = require_cachestorage2();
+    var { kConstruct } = require_symbols9();
+    module2.exports.caches = new CacheStorage(kConstruct);
+    var { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
+    module2.exports.deleteCookie = deleteCookie;
+    module2.exports.getCookies = getCookies;
+    module2.exports.getSetCookies = getSetCookies;
+    module2.exports.setCookie = setCookie;
+    var { parseMIMEType, serializeAMimeType } = require_data_url2();
+    module2.exports.parseMIMEType = parseMIMEType;
+    module2.exports.serializeAMimeType = serializeAMimeType;
+    var { CloseEvent, ErrorEvent, MessageEvent } = require_events2();
+    module2.exports.WebSocket = require_websocket2().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);
@@ -38303,6 +39794,8 @@ var require_undici2 = __commonJS({
     module2.exports.MockPool = MockPool;
     module2.exports.MockAgent = MockAgent;
     module2.exports.mockErrors = mockErrors;
+    var { EventSource } = require_eventsource2();
+    module2.exports.EventSource = EventSource;
   }
 });
 
@@ -44522,7 +46015,7 @@ var require_package = __commonJS({
         "@actions/cache": "^5.0.5",
         "@actions/core": "^2.0.3",
         "@actions/exec": "^2.0.0",
-        "@actions/github": "^8.0.0",
+        "@actions/github": "^8.0.1",
         "@actions/glob": "^0.5.0",
         "@actions/http-client": "^3.0.0",
         "@actions/io": "^2.0.0",
@@ -44554,7 +46047,7 @@ var require_package = __commonJS({
         "@types/node-forge": "^1.3.14",
         "@types/semver": "^7.7.1",
         "@types/sinon": "^21.0.0",
-        "@typescript-eslint/eslint-plugin": "^8.53.1",
+        "@typescript-eslint/eslint-plugin": "^8.54.0",
         "@typescript-eslint/parser": "^8.48.0",
         ava: "^6.4.1",
         esbuild: "^0.27.2",
@@ -44563,7 +46056,7 @@ var require_package = __commonJS({
         "eslint-plugin-filenames": "^1.3.2",
         "eslint-plugin-github": "^5.1.8",
         "eslint-plugin-import": "2.29.1",
-        "eslint-plugin-jsdoc": "^62.3.0",
+        "eslint-plugin-jsdoc": "^62.4.1",
         "eslint-plugin-no-async-foreach": "^0.1.1",
         glob: "^11.1.0",
         nock: "^14.0.10",
@@ -55054,7 +56547,7 @@ var require_clientHelpers = __commonJS({
 });
 
 // node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js
-var require_multipart2 = __commonJS({
+var require_multipart = __commonJS({
   "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -55177,7 +56670,7 @@ var require_sendRequest = __commonJS({
     var pipelineRequest_js_1 = require_pipelineRequest();
     var clientHelpers_js_1 = require_clientHelpers();
     var typeGuards_js_1 = require_typeGuards();
-    var multipart_js_1 = require_multipart2();
+    var multipart_js_1 = require_multipart();
     async function sendRequest(method, url, pipeline, options = {}, customHttpClient) {
       const httpClient = customHttpClient ?? (0, clientHelpers_js_1.getCachedDefaultHttpsClient)();
       const request2 = buildPipelineRequest(method, url, options);
@@ -59875,7 +61368,7 @@ var require_commonjs8 = __commonJS({
 });
 
 // node_modules/@azure/core-http-compat/dist/commonjs/util.js
-var require_util16 = __commonJS({
+var require_util17 = __commonJS({
   "node_modules/@azure/core-http-compat/dist/commonjs/util.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -60130,7 +61623,7 @@ var require_response3 = __commonJS({
     exports2.toCompatResponse = toCompatResponse;
     exports2.toPipelineResponse = toPipelineResponse;
     var core_rest_pipeline_1 = require_commonjs6();
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     var originalResponse = /* @__PURE__ */ Symbol("Original FullOperationResponse");
     function toCompatResponse(response, options) {
       let request2 = (0, util_js_1.toWebResourceLike)(response.request);
@@ -60244,7 +61737,7 @@ var require_requestPolicyFactoryPolicy = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.requestPolicyFactoryPolicyName = exports2.HttpPipelineLogLevel = void 0;
     exports2.createRequestPolicyFactoryPolicy = createRequestPolicyFactoryPolicy;
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     var response_js_1 = require_response3();
     var HttpPipelineLogLevel;
     (function(HttpPipelineLogLevel2) {
@@ -60291,7 +61784,7 @@ var require_httpClientAdapter = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.convertHttpClient = convertHttpClient;
     var response_js_1 = require_response3();
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     function convertHttpClient(requestPolicyClient) {
       return {
         sendRequest: async (request2) => {
@@ -60331,7 +61824,7 @@ var require_commonjs9 = __commonJS({
     Object.defineProperty(exports2, "convertHttpClient", { enumerable: true, get: function() {
       return httpClientAdapter_js_1.convertHttpClient;
     } });
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     Object.defineProperty(exports2, "toHttpHeadersLike", { enumerable: true, get: function() {
       return util_js_1.toHttpHeadersLike;
     } });
@@ -96412,7 +97905,7 @@ var require_cache_twirp_client = __commonJS({
 });
 
 // node_modules/@actions/cache/lib/internal/shared/util.js
-var require_util17 = __commonJS({
+var require_util18 = __commonJS({
   "node_modules/@actions/cache/lib/internal/shared/util.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -96489,7 +97982,7 @@ var require_cacheTwirpClient = __commonJS({
     var auth_1 = require_auth();
     var http_client_1 = require_lib();
     var cache_twirp_client_1 = require_cache_twirp_client();
-    var util_1 = require_util17();
+    var util_1 = require_util18();
     var CacheServiceClient = class {
       constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) {
         this.maxAttempts = 5;
@@ -103996,11 +105489,11 @@ void runWrapper();
 /*! Bundled license information:
 
 undici/lib/web/fetch/body.js:
-undici/lib/fetch/body.js:
+undici/lib/web/fetch/body.js:
   (*! formdata-polyfill. MIT License. Jimmy Wärting  *)
 
 undici/lib/web/websocket/frame.js:
-undici/lib/websocket/frame.js:
+undici/lib/web/websocket/frame.js:
   (*! ws. MIT License. Einar Otto Stangvik  *)
 
 @octokit/request-error/dist-src/index.js:
diff --git a/lib/init-action-post.js b/lib/init-action-post.js
index 9aa6dbf87a..32c9265a87 100644
--- a/lib/init-action-post.js
+++ b/lib/init-action-post.js
@@ -21549,9 +21549,9 @@ var require_context = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/core/symbols.js
 var require_symbols6 = __commonJS({
-  "node_modules/undici/lib/core/symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/symbols.js"(exports2, module2) {
     module2.exports = {
       kClose: /* @__PURE__ */ Symbol("close"),
       kDestroy: /* @__PURE__ */ Symbol("destroy"),
@@ -21562,7 +21562,6 @@ var require_symbols6 = __commonJS({
       kQueue: /* @__PURE__ */ Symbol("queue"),
       kConnect: /* @__PURE__ */ Symbol("connect"),
       kConnecting: /* @__PURE__ */ Symbol("connecting"),
-      kHeadersList: /* @__PURE__ */ Symbol("headers list"),
       kKeepAliveDefaultTimeout: /* @__PURE__ */ Symbol("default keep alive timeout"),
       kKeepAliveMaxTimeout: /* @__PURE__ */ Symbol("max keep alive timeout"),
       kKeepAliveTimeoutThreshold: /* @__PURE__ */ Symbol("keep alive timeout threshold"),
@@ -21575,6 +21574,7 @@ var require_symbols6 = __commonJS({
       kHost: /* @__PURE__ */ Symbol("host"),
       kNoRef: /* @__PURE__ */ Symbol("no ref"),
       kBodyUsed: /* @__PURE__ */ Symbol("used"),
+      kBody: /* @__PURE__ */ Symbol("abstracted request body"),
       kRunning: /* @__PURE__ */ Symbol("running"),
       kBlocking: /* @__PURE__ */ Symbol("blocking"),
       kPending: /* @__PURE__ */ Symbol("pending"),
@@ -21587,6 +21587,8 @@ var require_symbols6 = __commonJS({
       kNeedDrain: /* @__PURE__ */ Symbol("need drain"),
       kReset: /* @__PURE__ */ Symbol("reset"),
       kDestroyed: /* @__PURE__ */ Symbol.for("nodejs.stream.destroyed"),
+      kResume: /* @__PURE__ */ Symbol("resume"),
+      kOnError: /* @__PURE__ */ Symbol("on error"),
       kMaxHeadersSize: /* @__PURE__ */ Symbol("max headers size"),
       kRunningIdx: /* @__PURE__ */ Symbol("running index"),
       kPendingIdx: /* @__PURE__ */ Symbol("pending index"),
@@ -21608,67 +21610,90 @@ var require_symbols6 = __commonJS({
       kMaxResponseSize: /* @__PURE__ */ Symbol("max response size"),
       kHTTP2Session: /* @__PURE__ */ Symbol("http2Session"),
       kHTTP2SessionState: /* @__PURE__ */ Symbol("http2Session state"),
-      kHTTP2BuildRequest: /* @__PURE__ */ Symbol("http2 build request"),
-      kHTTP1BuildRequest: /* @__PURE__ */ Symbol("http1 build request"),
-      kHTTP2CopyHeaders: /* @__PURE__ */ Symbol("http2 copy headers"),
-      kHTTPConnVersion: /* @__PURE__ */ Symbol("http connection version"),
       kRetryHandlerDefaultRetry: /* @__PURE__ */ Symbol("retry agent default retry"),
-      kConstruct: /* @__PURE__ */ Symbol("constructable")
+      kConstruct: /* @__PURE__ */ Symbol("constructable"),
+      kListeners: /* @__PURE__ */ Symbol("listeners"),
+      kHTTPContext: /* @__PURE__ */ Symbol("http context"),
+      kMaxConcurrentStreams: /* @__PURE__ */ Symbol("max concurrent streams"),
+      kNoProxyAgent: /* @__PURE__ */ Symbol("no proxy agent"),
+      kHttpProxyAgent: /* @__PURE__ */ Symbol("http proxy agent"),
+      kHttpsProxyAgent: /* @__PURE__ */ Symbol("https proxy agent")
     };
   }
 });
 
-// node_modules/undici/lib/core/errors.js
+// node_modules/@actions/github/node_modules/undici/lib/core/errors.js
 var require_errors2 = __commonJS({
-  "node_modules/undici/lib/core/errors.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/errors.js"(exports2, module2) {
     "use strict";
+    var kUndiciError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR");
     var UndiciError = class extends Error {
       constructor(message) {
         super(message);
         this.name = "UndiciError";
         this.code = "UND_ERR";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kUndiciError] === true;
+      }
+      [kUndiciError] = true;
     };
-    var ConnectTimeoutError = class _ConnectTimeoutError extends UndiciError {
+    var kConnectTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT");
+    var ConnectTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ConnectTimeoutError);
         this.name = "ConnectTimeoutError";
         this.message = message || "Connect Timeout Error";
         this.code = "UND_ERR_CONNECT_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kConnectTimeoutError] === true;
+      }
+      [kConnectTimeoutError] = true;
     };
-    var HeadersTimeoutError = class _HeadersTimeoutError extends UndiciError {
+    var kHeadersTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT");
+    var HeadersTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersTimeoutError);
         this.name = "HeadersTimeoutError";
         this.message = message || "Headers Timeout Error";
         this.code = "UND_ERR_HEADERS_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersTimeoutError] === true;
+      }
+      [kHeadersTimeoutError] = true;
     };
-    var HeadersOverflowError = class _HeadersOverflowError extends UndiciError {
+    var kHeadersOverflowError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW");
+    var HeadersOverflowError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersOverflowError);
         this.name = "HeadersOverflowError";
         this.message = message || "Headers Overflow Error";
         this.code = "UND_ERR_HEADERS_OVERFLOW";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersOverflowError] === true;
+      }
+      [kHeadersOverflowError] = true;
     };
-    var BodyTimeoutError = class _BodyTimeoutError extends UndiciError {
+    var kBodyTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT");
+    var BodyTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _BodyTimeoutError);
         this.name = "BodyTimeoutError";
         this.message = message || "Body Timeout Error";
         this.code = "UND_ERR_BODY_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBodyTimeoutError] === true;
+      }
+      [kBodyTimeoutError] = true;
     };
-    var ResponseStatusCodeError = class _ResponseStatusCodeError extends UndiciError {
+    var kResponseStatusCodeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RESPONSE_STATUS_CODE");
+    var ResponseStatusCodeError = class extends UndiciError {
       constructor(message, statusCode, headers, body) {
         super(message);
-        Error.captureStackTrace(this, _ResponseStatusCodeError);
         this.name = "ResponseStatusCodeError";
         this.message = message || "Response Status Code Error";
         this.code = "UND_ERR_RESPONSE_STATUS_CODE";
@@ -21677,129 +21702,198 @@ var require_errors2 = __commonJS({
         this.statusCode = statusCode;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseStatusCodeError] === true;
+      }
+      [kResponseStatusCodeError] = true;
     };
-    var InvalidArgumentError = class _InvalidArgumentError extends UndiciError {
+    var kInvalidArgumentError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_ARG");
+    var InvalidArgumentError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidArgumentError);
         this.name = "InvalidArgumentError";
         this.message = message || "Invalid Argument Error";
         this.code = "UND_ERR_INVALID_ARG";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidArgumentError] === true;
+      }
+      [kInvalidArgumentError] = true;
     };
-    var InvalidReturnValueError = class _InvalidReturnValueError extends UndiciError {
+    var kInvalidReturnValueError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE");
+    var InvalidReturnValueError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidReturnValueError);
         this.name = "InvalidReturnValueError";
         this.message = message || "Invalid Return Value Error";
         this.code = "UND_ERR_INVALID_RETURN_VALUE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidReturnValueError] === true;
+      }
+      [kInvalidReturnValueError] = true;
     };
-    var RequestAbortedError = class _RequestAbortedError extends UndiciError {
+    var kAbortError = /* @__PURE__ */ 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";
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kAbortError] === true;
+      }
+      [kAbortError] = true;
+    };
+    var kRequestAbortedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_ABORTED");
+    var RequestAbortedError = class extends AbortError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestAbortedError);
         this.name = "AbortError";
         this.message = message || "Request aborted";
         this.code = "UND_ERR_ABORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestAbortedError] === true;
+      }
+      [kRequestAbortedError] = true;
     };
-    var InformationalError = class _InformationalError extends UndiciError {
+    var kInformationalError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INFO");
+    var InformationalError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InformationalError);
         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 RequestContentLengthMismatchError = class _RequestContentLengthMismatchError extends UndiciError {
+    var kRequestContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH");
+    var RequestContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestContentLengthMismatchError);
         this.name = "RequestContentLengthMismatchError";
         this.message = message || "Request body length does not match content-length header";
         this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestContentLengthMismatchError] === true;
+      }
+      [kRequestContentLengthMismatchError] = true;
     };
-    var ResponseContentLengthMismatchError = class _ResponseContentLengthMismatchError extends UndiciError {
+    var kResponseContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH");
+    var ResponseContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseContentLengthMismatchError);
         this.name = "ResponseContentLengthMismatchError";
         this.message = message || "Response body length does not match content-length header";
         this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseContentLengthMismatchError] === true;
+      }
+      [kResponseContentLengthMismatchError] = true;
     };
-    var ClientDestroyedError = class _ClientDestroyedError extends UndiciError {
+    var kClientDestroyedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_DESTROYED");
+    var ClientDestroyedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientDestroyedError);
         this.name = "ClientDestroyedError";
         this.message = message || "The client is destroyed";
         this.code = "UND_ERR_DESTROYED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientDestroyedError] === true;
+      }
+      [kClientDestroyedError] = true;
     };
-    var ClientClosedError = class _ClientClosedError extends UndiciError {
+    var kClientClosedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CLOSED");
+    var ClientClosedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientClosedError);
         this.name = "ClientClosedError";
         this.message = message || "The client is closed";
         this.code = "UND_ERR_CLOSED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientClosedError] === true;
+      }
+      [kClientClosedError] = true;
     };
-    var SocketError = class _SocketError extends UndiciError {
+    var kSocketError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_SOCKET");
+    var SocketError = class extends UndiciError {
       constructor(message, socket) {
         super(message);
-        Error.captureStackTrace(this, _SocketError);
         this.name = "SocketError";
         this.message = message || "Socket error";
         this.code = "UND_ERR_SOCKET";
         this.socket = socket;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kSocketError] === true;
+      }
+      [kSocketError] = true;
     };
-    var NotSupportedError = class _NotSupportedError extends UndiciError {
+    var kNotSupportedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED");
+    var NotSupportedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _NotSupportedError);
         this.name = "NotSupportedError";
         this.message = message || "Not supported error";
         this.code = "UND_ERR_NOT_SUPPORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kNotSupportedError] === true;
+      }
+      [kNotSupportedError] = true;
     };
+    var kBalancedPoolMissingUpstreamError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM");
     var BalancedPoolMissingUpstreamError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, NotSupportedError);
         this.name = "MissingUpstreamError";
         this.message = message || "No upstream has been added to the BalancedPool";
         this.code = "UND_ERR_BPL_MISSING_UPSTREAM";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBalancedPoolMissingUpstreamError] === true;
+      }
+      [kBalancedPoolMissingUpstreamError] = true;
     };
-    var HTTPParserError = class _HTTPParserError extends Error {
+    var kHTTPParserError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HTTP_PARSER");
+    var HTTPParserError = class extends Error {
       constructor(message, code, data) {
         super(message);
-        Error.captureStackTrace(this, _HTTPParserError);
         this.name = "HTTPParserError";
         this.code = code ? `HPE_${code}` : void 0;
         this.data = data ? data.toString() : void 0;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHTTPParserError] === true;
+      }
+      [kHTTPParserError] = true;
     };
-    var ResponseExceededMaxSizeError = class _ResponseExceededMaxSizeError extends UndiciError {
+    var kResponseExceededMaxSizeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE");
+    var ResponseExceededMaxSizeError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseExceededMaxSizeError);
         this.name = "ResponseExceededMaxSizeError";
         this.message = message || "Response content exceeded max size";
         this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseExceededMaxSizeError] === true;
+      }
+      [kResponseExceededMaxSizeError] = true;
     };
-    var RequestRetryError = class _RequestRetryError extends UndiciError {
+    var kRequestRetryError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_RETRY");
+    var RequestRetryError = class extends UndiciError {
       constructor(message, code, { headers, data }) {
         super(message);
-        Error.captureStackTrace(this, _RequestRetryError);
         this.name = "RequestRetryError";
         this.message = message || "Request retry error";
         this.code = "UND_ERR_REQ_RETRY";
@@ -21807,8 +21901,43 @@ var require_errors2 = __commonJS({
         this.data = data;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestRetryError] === true;
+      }
+      [kRequestRetryError] = true;
+    };
+    var kResponseError = /* @__PURE__ */ 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 = /* @__PURE__ */ 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,
@@ -21828,14 +21957,16 @@ var require_errors2 = __commonJS({
       ResponseContentLengthMismatchError,
       BalancedPoolMissingUpstreamError,
       ResponseExceededMaxSizeError,
-      RequestRetryError
+      RequestRetryError,
+      ResponseError,
+      SecureProxyConnectionError
     };
   }
 });
 
-// node_modules/undici/lib/core/constants.js
+// node_modules/@actions/github/node_modules/undici/lib/core/constants.js
 var require_constants6 = __commonJS({
-  "node_modules/undici/lib/core/constants.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/constants.js"(exports2, module2) {
     "use strict";
     var headerNameLowerCasedRecord = {};
     var wellknownHeaderNames = [
@@ -21948,28 +22079,212 @@ var require_constants6 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/util.js
+// node_modules/@actions/github/node_modules/undici/lib/core/tree.js
+var require_tree2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/tree.js"(exports2, module2) {
+    "use strict";
+    var {
+      wellknownHeaderNames,
+      headerNameLowerCasedRecord
+    } = require_constants6();
+    var TstNode = class _TstNode {
+      /** @type {any} */
+      value = null;
+      /** @type {null | TstNode} */
+      left = null;
+      /** @type {null | TstNode} */
+      middle = null;
+      /** @type {null | TstNode} */
+      right = null;
+      /** @type {number} */
+      code;
+      /**
+       * @param {string} key
+       * @param {any} value
+       * @param {number} index
+       */
+      constructor(key, value, index) {
+        if (index === void 0 || index >= key.length) {
+          throw new TypeError("Unreachable");
+        }
+        const code = this.code = key.charCodeAt(index);
+        if (code > 127) {
+          throw new TypeError("key must be ascii string");
+        }
+        if (key.length !== ++index) {
+          this.middle = new _TstNode(key, value, index);
+        } else {
+          this.value = value;
+        }
+      }
+      /**
+       * @param {string} key
+       * @param {any} value
+       */
+      add(key, value) {
+        const length = key.length;
+        if (length === 0) {
+          throw new TypeError("Unreachable");
+        }
+        let index = 0;
+        let node = this;
+        while (true) {
+          const code = key.charCodeAt(index);
+          if (code > 127) {
+            throw new TypeError("key must be ascii string");
+          }
+          if (node.code === code) {
+            if (length === ++index) {
+              node.value = value;
+              break;
+            } else if (node.middle !== null) {
+              node = node.middle;
+            } else {
+              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;
+          }
+        }
+      }
+      /**
+       * @param {Uint8Array} key
+       * @return {TstNode | null}
+       */
+      search(key) {
+        const keylength = key.length;
+        let index = 0;
+        let node = this;
+        while (node !== null && index < keylength) {
+          let code = key[index];
+          if (code <= 90 && code >= 65) {
+            code |= 32;
+          }
+          while (node !== null) {
+            if (code === node.code) {
+              if (keylength === ++index) {
+                return node;
+              }
+              node = node.middle;
+              break;
+            }
+            node = node.code < code ? node.left : node.right;
+          }
+        }
+        return null;
+      }
+    };
+    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);
+        }
+      }
+      /**
+       * @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/@actions/github/node_modules/undici/lib/core/util.js
 var require_util9 = __commonJS({
-  "node_modules/undici/lib/core/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/util.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { kDestroyed, kBodyUsed } = require_symbols6();
-    var { IncomingMessage } = require("http");
-    var stream2 = require("stream");
-    var net = require("net");
+    var assert = require("node:assert");
+    var { kDestroyed, kBodyUsed, kListeners, kBody } = require_symbols6();
+    var { IncomingMessage } = require("node:http");
+    var stream2 = 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_errors2();
-    var { Blob: Blob2 } = require("buffer");
-    var nodeUtil = require("util");
-    var { stringify } = require("querystring");
     var { headerNameLowerCasedRecord } = require_constants6();
+    var { tree } = require_tree2();
     var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v) => Number(v));
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
+      }
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
+      }
+    };
+    function wrapRequestBody(body) {
+      if (isStream(body)) {
+        if (bodyLength(body) === 0) {
+          body.on("data", function() {
+            assert(false);
+          });
+        }
+        if (typeof body.readableDidRead !== "boolean") {
+          body[kBodyUsed] = false;
+          EE.prototype.on.call(body, "data", function() {
+            this[kBodyUsed] = true;
+          });
+        }
+        return body;
+      } else if (body && typeof body.pipeTo === "function") {
+        return new BodyAsyncIterable(body);
+      } else if (body && typeof body !== "string" && !ArrayBuffer.isView(body) && isIterable(body)) {
+        return new BodyAsyncIterable(body);
+      } else {
+        return body;
+      }
+    }
     function nop() {
     }
     function isStream(obj) {
       return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function";
     }
     function isBlobLike(object) {
-      return Blob2 && object instanceof Blob2 || object && typeof object === "object" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]);
+      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(url2, queryParams) {
       if (url2.includes("?") || url2.includes("#")) {
@@ -21981,10 +22296,17 @@ var require_util9 = __commonJS({
       }
       return url2;
     }
+    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(url2) {
       if (typeof url2 === "string") {
         url2 = new URL(url2);
-        if (!/^https?:/.test(url2.origin || url2.protocol)) {
+        if (!isHttpOrHttpsPrefixed(url2.origin || url2.protocol)) {
           throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
         }
         return url2;
@@ -21992,11 +22314,8 @@ var require_util9 = __commonJS({
       if (!url2 || typeof url2 !== "object") {
         throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object.");
       }
-      if (!/^https?:/.test(url2.origin || url2.protocol)) {
-        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
-      }
       if (!(url2 instanceof URL)) {
-        if (url2.port != null && url2.port !== "" && !Number.isFinite(parseInt(url2.port))) {
+        if (url2.port != null && url2.port !== "" && isValidPort(url2.port) === false) {
           throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer.");
         }
         if (url2.path != null && typeof url2.path !== "string") {
@@ -22011,16 +22330,22 @@ var require_util9 = __commonJS({
         if (url2.origin != null && typeof url2.origin !== "string") {
           throw new InvalidArgumentError("Invalid URL origin: the origin must be a string or null/undefined.");
         }
+        if (!isHttpOrHttpsPrefixed(url2.origin || url2.protocol)) {
+          throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
+        }
         const port = url2.port != null ? url2.port : url2.protocol === "https:" ? 443 : 80;
-        let origin = url2.origin != null ? url2.origin : `${url2.protocol}//${url2.hostname}:${port}`;
+        let origin = url2.origin != null ? url2.origin : `${url2.protocol || ""}//${url2.hostname || ""}:${port}`;
         let path16 = url2.path != null ? url2.path : `${url2.pathname || ""}${url2.search || ""}`;
-        if (origin.endsWith("/")) {
-          origin = origin.substring(0, origin.length - 1);
+        if (origin[origin.length - 1] === "/") {
+          origin = origin.slice(0, origin.length - 1);
         }
-        if (path16 && !path16.startsWith("/")) {
+        if (path16 && path16[0] !== "/") {
           path16 = `/${path16}`;
         }
-        url2 = new URL(origin + path16);
+        return new URL(`${origin}${path16}`);
+      }
+      if (!isHttpOrHttpsPrefixed(url2.origin || url2.protocol)) {
+        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
       }
       return url2;
     }
@@ -22045,7 +22370,7 @@ var require_util9 = __commonJS({
       if (!host) {
         return null;
       }
-      assert.strictEqual(typeof host, "string");
+      assert(typeof host === "string");
       const servername = getHostname(host);
       if (net.isIP(servername)) {
         return "";
@@ -22074,12 +22399,8 @@ var require_util9 = __commonJS({
       }
       return null;
     }
-    function isDestroyed(stream3) {
-      return !stream3 || !!(stream3.destroyed || stream3[kDestroyed]);
-    }
-    function isReadableAborted(stream3) {
-      const state = stream3 && stream3._readableState;
-      return isDestroyed(stream3) && state && !state.endEmitted;
+    function isDestroyed(body) {
+      return body && !!(body.destroyed || body[kDestroyed] || stream2.isDestroyed?.(body));
     }
     function destroy(stream3, err) {
       if (stream3 == null || !isStream(stream3) || isDestroyed(stream3)) {
@@ -22091,9 +22412,9 @@ var require_util9 = __commonJS({
         }
         stream3.destroy(err);
       } else if (err) {
-        process.nextTick((stream4, err2) => {
-          stream4.emit("error", err2);
-        }, stream3, err);
+        queueMicrotask(() => {
+          stream3.emit("error", err);
+        });
       }
       if (stream3.destroyed !== true) {
         stream3[kDestroyed] = true;
@@ -22105,25 +22426,29 @@ var require_util9 = __commonJS({
       return m ? parseInt(m[1], 10) * 1e3 : null;
     }
     function headerNameToString(value) {
-      return headerNameLowerCasedRecord[value] || value.toLowerCase();
+      return typeof value === "string" ? headerNameLowerCasedRecord[value] ?? value.toLowerCase() : tree.lookup(value) ?? value.toString("latin1").toLowerCase();
     }
-    function parseHeaders(headers, obj = {}) {
-      if (!Array.isArray(headers)) return headers;
+    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 = headers[i].toString().toLowerCase();
+        const key = headerNameToString(headers[i]);
         let val = obj[key];
-        if (!val) {
-          if (Array.isArray(headers[i + 1])) {
-            obj[key] = headers[i + 1].map((x) => x.toString("utf8"));
-          } else {
-            obj[key] = headers[i + 1].toString("utf8");
-          }
-        } else {
-          if (!Array.isArray(val)) {
+        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");
+          }
         }
       }
       if ("content-length" in obj && "content-disposition" in obj) {
@@ -22132,20 +22457,26 @@ var require_util9 = __commonJS({
       return obj;
     }
     function parseRawHeaders(headers) {
-      const ret = [];
+      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) {
-        const key = headers[n + 0].toString();
-        const val = headers[n + 1].toString("utf8");
-        if (key.length === 14 && (key === "content-length" || key.toLowerCase() === "content-length")) {
-          ret.push(key, val);
+        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 (key.length === 19 && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
-          contentDispositionIdx = ret.push(key, val) - 1;
-        } else {
-          ret.push(key, val);
+        } else if (kLen === 19 && key[7] === "-" && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
+          contentDispositionIdx = n + 1;
         }
+        ret[n] = key;
+        ret[n + 1] = val;
       }
       if (hasContentLength && contentDispositionIdx !== -1) {
         ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1");
@@ -22185,17 +22516,13 @@ var require_util9 = __commonJS({
       }
     }
     function isDisturbed(body) {
-      return !!(body && (stream2.isDisturbed ? stream2.isDisturbed(body) || body[kBodyUsed] : body[kBodyUsed] || body.readableDidRead || body._readableState && body._readableState.dataEmitted || isReadableAborted(body)));
+      return !!(body && (stream2.isDisturbed(body) || body[kBodyUsed]));
     }
     function isErrored(body) {
-      return !!(body && (stream2.isErrored ? stream2.isErrored(body) : /state: 'errored'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream2.isErrored(body));
     }
     function isReadable(body) {
-      return !!(body && (stream2.isReadable ? stream2.isReadable(body) : /state: 'readable'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream2.isReadable(body));
     }
     function getSocketInfo(socket) {
       return {
@@ -22209,21 +22536,9 @@ var require_util9 = __commonJS({
         bytesRead: socket.bytesRead
       };
     }
-    async function* convertIterableToBuffer(iterable) {
-      for await (const chunk of iterable) {
-        yield Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
-      }
-    }
-    var ReadableStream2;
     function ReadableStreamFrom(iterable) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      if (ReadableStream2.from) {
-        return ReadableStream2.from(convertIterableToBuffer(iterable));
-      }
       let iterator2;
-      return new ReadableStream2(
+      return new ReadableStream(
         {
           async start() {
             iterator2 = iterable[Symbol.asyncIterator]();
@@ -22233,37 +22548,26 @@ var require_util9 = __commonJS({
             if (done) {
               queueMicrotask(() => {
                 controller.close();
+                controller.byobRequest?.respond(0);
               });
             } else {
               const buf = Buffer.isBuffer(value) ? value : Buffer.from(value);
-              controller.enqueue(new Uint8Array(buf));
+              if (buf.byteLength) {
+                controller.enqueue(new Uint8Array(buf));
+              }
             }
             return controller.desiredSize > 0;
           },
           async cancel(reason) {
             await iterator2.return();
-          }
-        },
-        0
+          },
+          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 throwIfAborted(signal) {
-      if (!signal) {
-        return;
-      }
-      if (typeof signal.throwIfAborted === "function") {
-        signal.throwIfAborted();
-      } else {
-        if (signal.aborted) {
-          const err = new Error("The operation was aborted");
-          err.name = "AbortError";
-          throw err;
-        }
-      }
-    }
     function addAbortListener(signal, listener) {
       if ("addEventListener" in signal) {
         signal.addEventListener("abort", listener, { once: true });
@@ -22272,14 +22576,52 @@ var require_util9 = __commonJS({
       signal.addListener("abort", listener);
       return () => signal.removeListener("abort", listener);
     }
-    var hasToWellFormed = !!String.prototype.toWellFormed;
+    var hasToWellFormed = typeof String.prototype.toWellFormed === "function";
+    var hasIsWellFormed = typeof String.prototype.isWellFormed === "function";
     function toUSVString(val) {
-      if (hasToWellFormed) {
-        return `${val}`.toWellFormed();
-      } else if (nodeUtil.toUSVString) {
-        return nodeUtil.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;
       }
-      return `${val}`;
+    }
+    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 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 };
@@ -22290,8 +22632,49 @@ var require_util9 = __commonJS({
         size: m[3] ? parseInt(m[3]) : null
       } : null;
     }
+    function addListener(obj, name, listener) {
+      const listeners = obj[kListeners] ??= [];
+      listeners.push([name, listener]);
+      obj.on(name, listener);
+      return obj;
+    }
+    function removeAllListeners(obj) {
+      for (const [name, listener] of obj[kListeners] ?? []) {
+        obj.removeListener(name, listener);
+      }
+      obj[kListeners] = null;
+    }
+    function errorRequest2(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,
@@ -22299,7 +22682,7 @@ var require_util9 = __commonJS({
       isErrored,
       isReadable,
       toUSVString,
-      isReadableAborted,
+      isUSVString,
       isBlobLike,
       parseOrigin,
       parseURL,
@@ -22309,6 +22692,10 @@ var require_util9 = __commonJS({
       isAsyncIterable,
       isDestroyed,
       headerNameToString,
+      bufferToLowerCasedHeaderName,
+      addListener,
+      removeAllListeners,
+      errorRequest: errorRequest2,
       parseRawHeaders,
       parseHeaders,
       parseKeepAliveTimeout,
@@ -22321,2519 +22708,2736 @@ var require_util9 = __commonJS({
       getSocketInfo,
       isFormDataLike,
       buildURL,
-      throwIfAborted,
       addAbortListener,
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isTokenCharCode,
       parseRangeHeader,
+      normalizedMethodRecordsBase,
+      normalizedMethodRecords,
+      isValidPort,
+      isHttpOrHttpsPrefixed,
       nodeMajor,
       nodeMinor,
-      nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13,
-      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"]
+      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"],
+      wrapRequestBody
     };
   }
 });
 
-// node_modules/undici/lib/timers.js
-var require_timers2 = __commonJS({
-  "node_modules/undici/lib/timers.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js
+var require_diagnostics2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js"(exports2, module2) {
     "use strict";
-    var fastNow = Date.now();
-    var fastNowTimeout;
-    var fastTimers = [];
-    function onTimeout() {
-      fastNow = Date.now();
-      let len = fastTimers.length;
-      let idx = 0;
-      while (idx < len) {
-        const timer = fastTimers[idx];
-        if (timer.state === 0) {
-          timer.state = fastNow + timer.delay;
-        } else if (timer.state > 0 && fastNow >= timer.state) {
-          timer.state = -1;
-          timer.callback(timer.opaque);
-        }
-        if (timer.state === -1) {
-          timer.state = -2;
-          if (idx !== len - 1) {
-            fastTimers[idx] = fastTimers.pop();
-          } else {
-            fastTimers.pop();
-          }
-          len -= 1;
-        } else {
-          idx += 1;
-        }
-      }
-      if (fastTimers.length > 0) {
-        refreshTimeout();
-      }
+    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: error3
+        } = evt;
+        debuglog(
+          "connection to %s using %s%s errored - %s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version,
+          error3.message
+        );
+      });
+      diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+        const {
+          request: { method, path: path16, origin }
+        } = evt;
+        debuglog("sending request to %s %s/%s", method, origin, path16);
+      });
+      diagnosticsChannel.channel("undici:request:headers").subscribe((evt) => {
+        const {
+          request: { method, path: path16, origin },
+          response: { statusCode }
+        } = evt;
+        debuglog(
+          "received response to %s %s/%s - HTTP %d",
+          method,
+          origin,
+          path16,
+          statusCode
+        );
+      });
+      diagnosticsChannel.channel("undici:request:trailers").subscribe((evt) => {
+        const {
+          request: { method, path: path16, origin }
+        } = evt;
+        debuglog("trailers received from %s %s/%s", method, origin, path16);
+      });
+      diagnosticsChannel.channel("undici:request:error").subscribe((evt) => {
+        const {
+          request: { method, path: path16, origin },
+          error: error3
+        } = evt;
+        debuglog(
+          "request to %s %s/%s errored - %s",
+          method,
+          origin,
+          path16,
+          error3.message
+        );
+      });
+      isClientSet = true;
     }
-    function refreshTimeout() {
-      if (fastNowTimeout && fastNowTimeout.refresh) {
-        fastNowTimeout.refresh();
-      } else {
-        clearTimeout(fastNowTimeout);
-        fastNowTimeout = setTimeout(onTimeout, 1e3);
-        if (fastNowTimeout.unref) {
-          fastNowTimeout.unref();
-        }
+    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: error3
+          } = evt;
+          debuglog(
+            "connection to %s%s using %s%s errored - %s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version,
+            error3.message
+          );
+        });
+        diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+          const {
+            request: { method, path: path16, origin }
+          } = evt;
+          debuglog("sending request to %s %s/%s", method, origin, path16);
+        });
       }
+      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");
+      });
     }
-    var Timeout = class {
-      constructor(callback, delay2, opaque) {
-        this.callback = callback;
-        this.delay = delay2;
-        this.opaque = opaque;
-        this.state = -2;
-        this.refresh();
-      }
-      refresh() {
-        if (this.state === -2) {
-          fastTimers.push(this);
-          if (!fastNowTimeout || fastTimers.length === 1) {
-            refreshTimeout();
-          }
-        }
-        this.state = 0;
-      }
-      clear() {
-        this.state = -1;
-      }
-    };
     module2.exports = {
-      setTimeout(callback, delay2, opaque) {
-        return delay2 < 1e3 ? setTimeout(callback, delay2, opaque) : new Timeout(callback, delay2, opaque);
-      },
-      clearTimeout(timeout) {
-        if (timeout instanceof Timeout) {
-          timeout.clear();
-        } else {
-          clearTimeout(timeout);
-        }
-      }
+      channels
     };
   }
 });
 
-// node_modules/@fastify/busboy/deps/streamsearch/sbmh.js
-var require_sbmh = __commonJS({
-  "node_modules/@fastify/busboy/deps/streamsearch/sbmh.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/request.js
+var require_request3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/request.js"(exports2, module2) {
     "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    function SBMH(needle) {
-      if (typeof needle === "string") {
-        needle = Buffer.from(needle);
-      }
-      if (!Buffer.isBuffer(needle)) {
-        throw new TypeError("The needle has to be a String or a Buffer.");
-      }
-      const needleLength = needle.length;
-      if (needleLength === 0) {
-        throw new Error("The needle cannot be an empty String/Buffer.");
-      }
-      if (needleLength > 256) {
-        throw new Error("The needle cannot have a length bigger than 256.");
-      }
-      this.maxMatches = Infinity;
-      this.matches = 0;
-      this._occ = new Array(256).fill(needleLength);
-      this._lookbehind_size = 0;
-      this._needle = needle;
-      this._bufpos = 0;
-      this._lookbehind = Buffer.alloc(needleLength);
-      for (var i = 0; i < needleLength - 1; ++i) {
-        this._occ[needle[i]] = needleLength - 1 - i;
-      }
-    }
-    inherits(SBMH, EventEmitter);
-    SBMH.prototype.reset = function() {
-      this._lookbehind_size = 0;
-      this.matches = 0;
-      this._bufpos = 0;
-    };
-    SBMH.prototype.push = function(chunk, pos) {
-      if (!Buffer.isBuffer(chunk)) {
-        chunk = Buffer.from(chunk, "binary");
-      }
-      const chlen = chunk.length;
-      this._bufpos = pos || 0;
-      let r;
-      while (r !== chlen && this.matches < this.maxMatches) {
-        r = this._sbmh_feed(chunk);
-      }
-      return r;
-    };
-    SBMH.prototype._sbmh_feed = function(data) {
-      const len = data.length;
-      const needle = this._needle;
-      const needleLength = needle.length;
-      const lastNeedleChar = needle[needleLength - 1];
-      let pos = -this._lookbehind_size;
-      let ch;
-      if (pos < 0) {
-        while (pos < 0 && pos <= len - needleLength) {
-          ch = this._sbmh_lookup_char(data, pos + needleLength - 1);
-          if (ch === lastNeedleChar && this._sbmh_memcmp(data, pos, needleLength - 1)) {
-            this._lookbehind_size = 0;
-            ++this.matches;
-            this.emit("info", true);
-            return this._bufpos = pos + needleLength;
-          }
-          pos += this._occ[ch];
-        }
-        if (pos < 0) {
-          while (pos < 0 && !this._sbmh_memcmp(data, pos, len - pos)) {
-            ++pos;
-          }
-        }
-        if (pos >= 0) {
-          this.emit("info", false, this._lookbehind, 0, this._lookbehind_size);
-          this._lookbehind_size = 0;
-        } else {
-          const bytesToCutOff = this._lookbehind_size + pos;
-          if (bytesToCutOff > 0) {
-            this.emit("info", false, this._lookbehind, 0, bytesToCutOff);
-          }
-          this._lookbehind.copy(
-            this._lookbehind,
-            0,
-            bytesToCutOff,
-            this._lookbehind_size - bytesToCutOff
-          );
-          this._lookbehind_size -= bytesToCutOff;
-          data.copy(this._lookbehind, this._lookbehind_size);
-          this._lookbehind_size += len;
-          this._bufpos = len;
-          return len;
-        }
-      }
-      pos += (pos >= 0) * this._bufpos;
-      if (data.indexOf(needle, pos) !== -1) {
-        pos = data.indexOf(needle, pos);
-        ++this.matches;
-        if (pos > 0) {
-          this.emit("info", true, data, this._bufpos, pos);
-        } else {
-          this.emit("info", true);
+    var {
+      InvalidArgumentError,
+      NotSupportedError
+    } = require_errors2();
+    var assert = require("node:assert");
+    var {
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isStream,
+      destroy,
+      isBuffer,
+      isFormDataLike,
+      isIterable,
+      isBlobLike,
+      buildURL,
+      validateHandler,
+      getServerName,
+      normalizedMethodRecords
+    } = require_util9();
+    var { channels } = require_diagnostics2();
+    var { headerNameLowerCasedRecord } = require_constants6();
+    var invalidPathRegex = /[^\u0021-\u00ff]/;
+    var kHandler = /* @__PURE__ */ Symbol("handler");
+    var Request = class {
+      constructor(origin, {
+        path: path16,
+        method,
+        body,
+        headers,
+        query,
+        idempotent,
+        blocking,
+        upgrade,
+        headersTimeout,
+        bodyTimeout,
+        reset,
+        throwOnError,
+        expectContinue,
+        servername
+      }, handler2) {
+        if (typeof path16 !== "string") {
+          throw new InvalidArgumentError("path must be a string");
+        } else if (path16[0] !== "/" && !(path16.startsWith("http://") || path16.startsWith("https://")) && method !== "CONNECT") {
+          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
+        } else if (invalidPathRegex.test(path16)) {
+          throw new InvalidArgumentError("invalid request path");
+        }
+        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 (body == null) {
+          this.body = null;
+        } else if (isStream(body)) {
+          this.body = body;
+          const rState = this.body._readableState;
+          if (!rState || !rState.autoDestroy) {
+            this.endHandler = function autoDestroy() {
+              destroy(this);
+            };
+            this.body.on("end", this.endHandler);
+          }
+          this.errorHandler = (err) => {
+            if (this.abort) {
+              this.abort(err);
+            } else {
+              this.error = err;
+            }
+          };
+          this.body.on("error", this.errorHandler);
+        } else if (isBuffer(body)) {
+          this.body = body.byteLength ? body : null;
+        } else if (ArrayBuffer.isView(body)) {
+          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
+        } else if (body instanceof ArrayBuffer) {
+          this.body = body.byteLength ? Buffer.from(body) : null;
+        } else if (typeof body === "string") {
+          this.body = body.length ? Buffer.from(body) : null;
+        } else if (isFormDataLike(body) || isIterable(body) || isBlobLike(body)) {
+          this.body = body;
+        } else {
+          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
+        }
+        this.completed = false;
+        this.aborted = false;
+        this.upgrade = upgrade || null;
+        this.path = query ? buildURL(path16, query) : path16;
+        this.origin = origin;
+        this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
+        this.blocking = blocking == null ? false : blocking;
+        this.reset = reset == null ? null : reset;
+        this.host = null;
+        this.contentLength = null;
+        this.contentType = null;
+        this.headers = [];
+        this.expectContinue = expectContinue != null ? expectContinue : false;
+        if (Array.isArray(headers)) {
+          if (headers.length % 2 !== 0) {
+            throw new InvalidArgumentError("headers array must be even");
+          }
+          for (let i = 0; i < headers.length; i += 2) {
+            processHeader(this, headers[i], headers[i + 1]);
+          }
+        } else if (headers && typeof headers === "object") {
+          if (headers[Symbol.iterator]) {
+            for (const header of headers) {
+              if (!Array.isArray(header) || header.length !== 2) {
+                throw new InvalidArgumentError("headers must be in key-value pair format");
+              }
+              processHeader(this, header[0], header[1]);
+            }
+          } else {
+            const keys = Object.keys(headers);
+            for (let i = 0; i < keys.length; ++i) {
+              processHeader(this, keys[i], headers[keys[i]]);
+            }
+          }
+        } else if (headers != null) {
+          throw new InvalidArgumentError("headers must be an object or an array");
+        }
+        validateHandler(handler2, method, upgrade);
+        this.servername = servername || getServerName(this.host);
+        this[kHandler] = handler2;
+        if (channels.create.hasSubscribers) {
+          channels.create.publish({ request: this });
         }
-        return this._bufpos = pos + needleLength;
-      } else {
-        pos = len - needleLength;
       }
-      while (pos < len && (data[pos] !== needle[0] || Buffer.compare(
-        data.subarray(pos, pos + len - pos),
-        needle.subarray(0, len - pos)
-      ) !== 0)) {
-        ++pos;
+      onBodySent(chunk) {
+        if (this[kHandler].onBodySent) {
+          try {
+            return this[kHandler].onBodySent(chunk);
+          } catch (err) {
+            this.abort(err);
+          }
+        }
       }
-      if (pos < len) {
-        data.copy(this._lookbehind, 0, pos, pos + (len - pos));
-        this._lookbehind_size = len - pos;
+      onRequestSent() {
+        if (channels.bodySent.hasSubscribers) {
+          channels.bodySent.publish({ request: this });
+        }
+        if (this[kHandler].onRequestSent) {
+          try {
+            return this[kHandler].onRequestSent();
+          } catch (err) {
+            this.abort(err);
+          }
+        }
       }
-      if (pos > 0) {
-        this.emit("info", false, data, this._bufpos, pos < len ? pos : len);
+      onConnect(abort) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (this.error) {
+          abort(this.error);
+        } else {
+          this.abort = abort;
+          return this[kHandler].onConnect(abort);
+        }
       }
-      this._bufpos = len;
-      return len;
-    };
-    SBMH.prototype._sbmh_lookup_char = function(data, pos) {
-      return pos < 0 ? this._lookbehind[this._lookbehind_size + pos] : data[pos];
-    };
-    SBMH.prototype._sbmh_memcmp = function(data, pos, len) {
-      for (var i = 0; i < len; ++i) {
-        if (this._sbmh_lookup_char(data, pos + i) !== this._needle[i]) {
+      onResponseStarted() {
+        return this[kHandler].onResponseStarted?.();
+      }
+      onHeaders(statusCode, headers, resume, statusText) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (channels.headers.hasSubscribers) {
+          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
+        }
+        try {
+          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
+        } catch (err) {
+          this.abort(err);
+        }
+      }
+      onData(chunk) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        try {
+          return this[kHandler].onData(chunk);
+        } catch (err) {
+          this.abort(err);
           return false;
         }
       }
-      return true;
-    };
-    module2.exports = SBMH;
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js
-var require_PartStream = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js"(exports2, module2) {
-    "use strict";
-    var inherits = require("node:util").inherits;
-    var ReadableStream2 = require("node:stream").Readable;
-    function PartStream(opts) {
-      ReadableStream2.call(this, opts);
-    }
-    inherits(PartStream, ReadableStream2);
-    PartStream.prototype._read = function(n) {
-    };
-    module2.exports = PartStream;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/getLimit.js
-var require_getLimit = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/getLimit.js"(exports2, module2) {
-    "use strict";
-    module2.exports = function getLimit(limits, name, defaultLimit) {
-      if (!limits || limits[name] === void 0 || limits[name] === null) {
-        return defaultLimit;
+      onUpgrade(statusCode, headers, socket) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        return this[kHandler].onUpgrade(statusCode, headers, socket);
       }
-      if (typeof limits[name] !== "number" || isNaN(limits[name])) {
-        throw new TypeError("Limit " + name + " is not a valid number");
+      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);
+        }
       }
-      return limits[name];
-    };
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js
-var require_HeaderParser = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    var getLimit = require_getLimit();
-    var StreamSearch = require_sbmh();
-    var B_DCRLF = Buffer.from("\r\n\r\n");
-    var RE_CRLF = /\r\n/g;
-    var RE_HDR = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/;
-    function HeaderParser(cfg) {
-      EventEmitter.call(this);
-      cfg = cfg || {};
-      const self2 = this;
-      this.nread = 0;
-      this.maxed = false;
-      this.npairs = 0;
-      this.maxHeaderPairs = getLimit(cfg, "maxHeaderPairs", 2e3);
-      this.maxHeaderSize = getLimit(cfg, "maxHeaderSize", 80 * 1024);
-      this.buffer = "";
-      this.header = {};
-      this.finished = false;
-      this.ss = new StreamSearch(B_DCRLF);
-      this.ss.on("info", function(isMatch, data, start, end) {
-        if (data && !self2.maxed) {
-          if (self2.nread + end - start >= self2.maxHeaderSize) {
-            end = self2.maxHeaderSize - self2.nread + start;
-            self2.nread = self2.maxHeaderSize;
-            self2.maxed = true;
-          } else {
-            self2.nread += end - start;
-          }
-          self2.buffer += data.toString("binary", start, end);
+      onError(error3) {
+        this.onFinally();
+        if (channels.error.hasSubscribers) {
+          channels.error.publish({ request: this, error: error3 });
         }
-        if (isMatch) {
-          self2._finish();
+        if (this.aborted) {
+          return;
         }
-      });
-    }
-    inherits(HeaderParser, EventEmitter);
-    HeaderParser.prototype.push = function(data) {
-      const r = this.ss.push(data);
-      if (this.finished) {
-        return r;
+        this.aborted = true;
+        return this[kHandler].onError(error3);
       }
-    };
-    HeaderParser.prototype.reset = function() {
-      this.finished = false;
-      this.buffer = "";
-      this.header = {};
-      this.ss.reset();
-    };
-    HeaderParser.prototype._finish = function() {
-      if (this.buffer) {
-        this._parseHeader();
+      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;
+        }
+      }
+      addHeader(key, value) {
+        processHeader(this, key, value);
+        return this;
       }
-      this.ss.matches = this.ss.maxMatches;
-      const header = this.header;
-      this.header = {};
-      this.buffer = "";
-      this.finished = true;
-      this.nread = this.npairs = 0;
-      this.maxed = false;
-      this.emit("header", header);
     };
-    HeaderParser.prototype._parseHeader = function() {
-      if (this.npairs === this.maxHeaderPairs) {
+    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;
       }
-      const lines = this.buffer.split(RE_CRLF);
-      const len = lines.length;
-      let m, h;
-      for (var i = 0; i < len; ++i) {
-        if (lines[i].length === 0) {
-          continue;
+      let headerName = headerNameLowerCasedRecord[key];
+      if (headerName === void 0) {
+        headerName = key.toLowerCase();
+        if (headerNameLowerCasedRecord[headerName] === void 0 && !isValidHTTPToken(headerName)) {
+          throw new InvalidArgumentError("invalid header key");
         }
-        if (lines[i][0] === "	" || lines[i][0] === " ") {
-          if (h) {
-            this.header[h][this.header[h].length - 1] += lines[i];
-            continue;
+      }
+      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]}`);
           }
         }
-        const posColon = lines[i].indexOf(":");
-        if (posColon === -1 || posColon === 0) {
-          return;
+        val = arr;
+      } else if (typeof val === "string") {
+        if (!isValidHeaderValue(val)) {
+          throw new InvalidArgumentError(`invalid ${key} header`);
         }
-        m = RE_HDR.exec(lines[i]);
-        h = m[1].toLowerCase();
-        this.header[h] = this.header[h] || [];
-        this.header[h].push(m[2] || "");
-        if (++this.npairs === this.maxHeaderPairs) {
-          break;
+      } else if (val === null) {
+        val = "";
+      } else {
+        val = `${val}`;
+      }
+      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);
       }
-    };
-    module2.exports = HeaderParser;
+    }
+    module2.exports = Request;
   }
 });
 
-// node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js
-var require_Dicer = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js
+var require_dispatcher2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js"(exports2, module2) {
     "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var inherits = require("node:util").inherits;
-    var StreamSearch = require_sbmh();
-    var PartStream = require_PartStream();
-    var HeaderParser = require_HeaderParser();
-    var DASH = 45;
-    var B_ONEDASH = Buffer.from("-");
-    var B_CRLF = Buffer.from("\r\n");
-    var EMPTY_FN = function() {
-    };
-    function Dicer(cfg) {
-      if (!(this instanceof Dicer)) {
-        return new Dicer(cfg);
+    var EventEmitter = require("node:events");
+    var Dispatcher = class extends EventEmitter {
+      dispatch() {
+        throw new Error("not implemented");
       }
-      WritableStream.call(this, cfg);
-      if (!cfg || !cfg.headerFirst && typeof cfg.boundary !== "string") {
-        throw new TypeError("Boundary required");
+      close() {
+        throw new Error("not implemented");
       }
-      if (typeof cfg.boundary === "string") {
-        this.setBoundary(cfg.boundary);
-      } else {
-        this._bparser = void 0;
+      destroy() {
+        throw new Error("not implemented");
       }
-      this._headerFirst = cfg.headerFirst;
-      this._dashes = 0;
-      this._parts = 0;
-      this._finished = false;
-      this._realFinish = false;
-      this._isPreamble = true;
-      this._justMatched = false;
-      this._firstWrite = true;
-      this._inHeader = true;
-      this._part = void 0;
-      this._cb = void 0;
-      this._ignoreData = false;
-      this._partOpts = { highWaterMark: cfg.partHwm };
-      this._pause = false;
-      const self2 = this;
-      this._hparser = new HeaderParser(cfg);
-      this._hparser.on("header", function(header) {
-        self2._inHeader = false;
-        self2._part.emit("header", header);
-      });
-    }
-    inherits(Dicer, WritableStream);
-    Dicer.prototype.emit = function(ev) {
-      if (ev === "finish" && !this._realFinish) {
-        if (!this._finished) {
-          const self2 = this;
-          process.nextTick(function() {
-            self2.emit("error", new Error("Unexpected end of multipart data"));
-            if (self2._part && !self2._ignoreData) {
-              const type2 = self2._isPreamble ? "Preamble" : "Part";
-              self2._part.emit("error", new Error(type2 + " terminated early due to unexpected end of multipart data"));
-              self2._part.push(null);
-              process.nextTick(function() {
-                self2._realFinish = true;
-                self2.emit("finish");
-                self2._realFinish = false;
-              });
-              return;
-            }
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
-          });
+      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");
+          }
         }
-      } else {
-        WritableStream.prototype.emit.apply(this, arguments);
+        return new ComposedDispatcher(this, dispatch);
       }
     };
-    Dicer.prototype._write = function(data, encoding, cb) {
-      if (!this._hparser && !this._bparser) {
-        return cb();
+    var ComposedDispatcher = class extends Dispatcher {
+      #dispatcher = null;
+      #dispatch = null;
+      constructor(dispatcher, dispatch) {
+        super();
+        this.#dispatcher = dispatcher;
+        this.#dispatch = dispatch;
       }
-      if (this._headerFirst && this._isPreamble) {
-        if (!this._part) {
-          this._part = new PartStream(this._partOpts);
-          if (this.listenerCount("preamble") !== 0) {
-            this.emit("preamble", this._part);
-          } else {
-            this._ignore();
-          }
-        }
-        const r = this._hparser.push(data);
-        if (!this._inHeader && r !== void 0 && r < data.length) {
-          data = data.slice(r);
-        } else {
-          return cb();
-        }
+      dispatch(...args) {
+        this.#dispatch(...args);
       }
-      if (this._firstWrite) {
-        this._bparser.push(B_CRLF);
-        this._firstWrite = false;
+      close(...args) {
+        return this.#dispatcher.close(...args);
       }
-      this._bparser.push(data);
-      if (this._pause) {
-        this._cb = cb;
-      } else {
-        cb();
+      destroy(...args) {
+        return this.#dispatcher.destroy(...args);
       }
     };
-    Dicer.prototype.reset = function() {
-      this._part = void 0;
-      this._bparser = void 0;
-      this._hparser = void 0;
-    };
-    Dicer.prototype.setBoundary = function(boundary) {
-      const self2 = this;
-      this._bparser = new StreamSearch("\r\n--" + boundary);
-      this._bparser.on("info", function(isMatch, data, start, end) {
-        self2._oninfo(isMatch, data, start, end);
-      });
-    };
-    Dicer.prototype._ignore = function() {
-      if (this._part && !this._ignoreData) {
-        this._ignoreData = true;
-        this._part.on("error", EMPTY_FN);
-        this._part.resume();
+    module2.exports = Dispatcher;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js
+var require_dispatcher_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js"(exports2, module2) {
+    "use strict";
+    var Dispatcher = require_dispatcher2();
+    var {
+      ClientDestroyedError,
+      ClientClosedError,
+      InvalidArgumentError
+    } = require_errors2();
+    var { kDestroy, kClose, kClosed, kDestroyed, kDispatch, kInterceptors } = require_symbols6();
+    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
+    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
+    var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
+    var DispatcherBase = class extends Dispatcher {
+      constructor() {
+        super();
+        this[kDestroyed] = false;
+        this[kOnDestroyed] = null;
+        this[kClosed] = false;
+        this[kOnClosed] = [];
       }
-    };
-    Dicer.prototype._oninfo = function(isMatch, data, start, end) {
-      let buf;
-      const self2 = this;
-      let i = 0;
-      let r;
-      let shouldWriteMore = true;
-      if (!this._part && this._justMatched && data) {
-        while (this._dashes < 2 && start + i < end) {
-          if (data[start + i] === DASH) {
-            ++i;
-            ++this._dashes;
-          } else {
-            if (this._dashes) {
-              buf = B_ONEDASH;
+      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");
             }
-            this._dashes = 0;
-            break;
           }
         }
-        if (this._dashes === 2) {
-          if (start + i < end && this.listenerCount("trailer") !== 0) {
-            this.emit("trailer", data.slice(start + i, end));
+        this[kInterceptors] = newInterceptors;
+      }
+      close(callback) {
+        if (callback === void 0) {
+          return new Promise((resolve8, reject) => {
+            this.close((err, data) => {
+              return err ? reject(err) : resolve8(data);
+            });
+          });
+        }
+        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));
           }
-          this.reset();
-          this._finished = true;
-          if (self2._parts === 0) {
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
+          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);
+        });
+      }
+      destroy(err, callback) {
+        if (typeof err === "function") {
+          callback = err;
+          err = null;
         }
-        if (this._dashes) {
+        if (callback === void 0) {
+          return new Promise((resolve8, reject) => {
+            this.destroy(err, (err2, data) => {
+              return err2 ? (
+                /* istanbul ignore next: should never error */
+                reject(err2)
+              ) : resolve8(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 (this._justMatched) {
-        this._justMatched = false;
-      }
-      if (!this._part) {
-        this._part = new PartStream(this._partOpts);
-        this._part._read = function(n) {
-          self2._unpause();
+        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);
+          }
         };
-        if (this._isPreamble && this.listenerCount("preamble") !== 0) {
-          this.emit("preamble", this._part);
-        } else if (this._isPreamble !== true && this.listenerCount("part") !== 0) {
-          this.emit("part", this._part);
-        } else {
-          this._ignore();
+        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);
         }
-        if (!this._isPreamble) {
-          this._inHeader = true;
+        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);
       }
-      if (data && start < end && !this._ignoreData) {
-        if (this._isPreamble || !this._inHeader) {
-          if (buf) {
-            shouldWriteMore = this._part.push(buf);
-          }
-          shouldWriteMore = this._part.push(data.slice(start, end));
-          if (!shouldWriteMore) {
-            this._pause = true;
+      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.");
           }
-        } else if (!this._isPreamble && this._inHeader) {
-          if (buf) {
-            this._hparser.push(buf);
+          if (this[kDestroyed] || this[kOnDestroyed]) {
+            throw new ClientDestroyedError();
           }
-          r = this._hparser.push(data.slice(start, end));
-          if (!this._inHeader && r !== void 0 && r < end) {
-            this._oninfo(false, data, start + r, end);
+          if (this[kClosed]) {
+            throw new ClientClosedError();
           }
-        }
-      }
-      if (isMatch) {
-        this._hparser.reset();
-        if (this._isPreamble) {
-          this._isPreamble = false;
-        } else {
-          if (start !== end) {
-            ++this._parts;
-            this._part.on("end", function() {
-              if (--self2._parts === 0) {
-                if (self2._finished) {
-                  self2._realFinish = true;
-                  self2.emit("finish");
-                  self2._realFinish = false;
-                } else {
-                  self2._unpause();
-                }
-              }
-            });
+          return this[kInterceptedDispatch](opts, handler2);
+        } catch (err) {
+          if (typeof handler2.onError !== "function") {
+            throw new InvalidArgumentError("invalid onError method");
           }
+          handler2.onError(err);
+          return false;
         }
-        this._part.push(null);
-        this._part = void 0;
-        this._ignoreData = false;
-        this._justMatched = true;
-        this._dashes = 0;
-      }
-    };
-    Dicer.prototype._unpause = function() {
-      if (!this._pause) {
-        return;
-      }
-      this._pause = false;
-      if (this._cb) {
-        const cb = this._cb;
-        this._cb = void 0;
-        cb();
       }
     };
-    module2.exports = Dicer;
+    module2.exports = DispatcherBase;
   }
 });
 
-// node_modules/@fastify/busboy/lib/utils/decodeText.js
-var require_decodeText = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/decodeText.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/util/timers.js
+var require_timers2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/util/timers.js"(exports2, module2) {
     "use strict";
-    var utf8Decoder = new TextDecoder("utf-8");
-    var textDecoders = /* @__PURE__ */ new Map([
-      ["utf-8", utf8Decoder],
-      ["utf8", utf8Decoder]
-    ]);
-    function getDecoder(charset) {
-      let lc;
-      while (true) {
-        switch (charset) {
-          case "utf-8":
-          case "utf8":
-            return decoders.utf8;
-          case "latin1":
-          case "ascii":
-          // TODO: Make these a separate, strict decoder?
-          case "us-ascii":
-          case "iso-8859-1":
-          case "iso8859-1":
-          case "iso88591":
-          case "iso_8859-1":
-          case "windows-1252":
-          case "iso_8859-1:1987":
-          case "cp1252":
-          case "x-cp1252":
-            return decoders.latin1;
-          case "utf16le":
-          case "utf-16le":
-          case "ucs2":
-          case "ucs-2":
-            return decoders.utf16le;
-          case "base64":
-            return decoders.base64;
-          default:
-            if (lc === void 0) {
-              lc = true;
-              charset = charset.toLowerCase();
-              continue;
-            }
-            return decoders.other.bind(charset);
+    var fastNow = 0;
+    var RESOLUTION_MS = 1e3;
+    var TICK_MS = (RESOLUTION_MS >> 1) - 1;
+    var fastNowTimeout;
+    var kFastTimer = /* @__PURE__ */ 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();
+      }
     }
-    var decoders = {
-      utf8: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
-        }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
-        }
-        return data.utf8Slice(0, data.length);
-      },
-      latin1: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
-        }
-        if (typeof data === "string") {
-          return data;
-        }
-        return data.latin1Slice(0, data.length);
-      },
-      utf16le: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
-        }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
-        }
-        return data.ucs2Slice(0, data.length);
-      },
-      base64: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
-        }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
-        }
-        return data.base64Slice(0, data.length);
-      },
-      other: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+    function refreshTimeout() {
+      if (fastNowTimeout) {
+        fastNowTimeout.refresh();
+      } else {
+        clearTimeout(fastNowTimeout);
+        fastNowTimeout = setTimeout(onTick, TICK_MS);
+        if (fastNowTimeout.unref) {
+          fastNowTimeout.unref();
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      }
+    }
+    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, delay2, arg) {
+        this._onTimeout = callback;
+        this._idleTimeout = delay2;
+        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 (textDecoders.has(exports2.toString())) {
-          try {
-            return textDecoders.get(exports2).decode(data);
-          } catch {
-          }
+        if (!fastNowTimeout || fastTimers.length === 1) {
+          refreshTimeout();
         }
-        return typeof data === "string" ? data : data.toString();
+        this._state = PENDING;
       }
-    };
-    function decodeText(text, sourceEncoding, destEncoding) {
-      if (text) {
-        return getDecoder(destEncoding)(text, sourceEncoding);
+      /**
+       * The `clear` method cancels the timer, preventing it from executing.
+       *
+       * @returns {void}
+       * @private
+       */
+      clear() {
+        this._state = TO_BE_CLEARED;
+        this._idleStart = -1;
       }
-      return text;
-    }
-    module2.exports = decodeText;
+    };
+    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, delay2, arg) {
+        return delay2 <= RESOLUTION_MS ? setTimeout(callback, delay2, arg) : new FastTimer(callback, delay2, 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, delay2, arg) {
+        return new FastTimer(callback, delay2, 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(delay2 = 0) {
+        fastNow += delay2 - 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/@fastify/busboy/lib/utils/parseParams.js
-var require_parseParams = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/parseParams.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/connect.js
+var require_connect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/connect.js"(exports2, module2) {
     "use strict";
-    var decodeText = require_decodeText();
-    var RE_ENCODED = /%[a-fA-F0-9][a-fA-F0-9]/g;
-    var EncodedLookup = {
-      "%00": "\0",
-      "%01": "",
-      "%02": "",
-      "%03": "",
-      "%04": "",
-      "%05": "",
-      "%06": "",
-      "%07": "\x07",
-      "%08": "\b",
-      "%09": "	",
-      "%0a": "\n",
-      "%0A": "\n",
-      "%0b": "\v",
-      "%0B": "\v",
-      "%0c": "\f",
-      "%0C": "\f",
-      "%0d": "\r",
-      "%0D": "\r",
-      "%0e": "",
-      "%0E": "",
-      "%0f": "",
-      "%0F": "",
-      "%10": "",
-      "%11": "",
-      "%12": "",
-      "%13": "",
-      "%14": "",
-      "%15": "",
-      "%16": "",
-      "%17": "",
-      "%18": "",
-      "%19": "",
-      "%1a": "",
-      "%1A": "",
-      "%1b": "\x1B",
-      "%1B": "\x1B",
-      "%1c": "",
-      "%1C": "",
-      "%1d": "",
-      "%1D": "",
-      "%1e": "",
-      "%1E": "",
-      "%1f": "",
-      "%1F": "",
-      "%20": " ",
-      "%21": "!",
-      "%22": '"',
-      "%23": "#",
-      "%24": "$",
-      "%25": "%",
-      "%26": "&",
-      "%27": "'",
-      "%28": "(",
-      "%29": ")",
-      "%2a": "*",
-      "%2A": "*",
-      "%2b": "+",
-      "%2B": "+",
-      "%2c": ",",
-      "%2C": ",",
-      "%2d": "-",
-      "%2D": "-",
-      "%2e": ".",
-      "%2E": ".",
-      "%2f": "/",
-      "%2F": "/",
-      "%30": "0",
-      "%31": "1",
-      "%32": "2",
-      "%33": "3",
-      "%34": "4",
-      "%35": "5",
-      "%36": "6",
-      "%37": "7",
-      "%38": "8",
-      "%39": "9",
-      "%3a": ":",
-      "%3A": ":",
-      "%3b": ";",
-      "%3B": ";",
-      "%3c": "<",
-      "%3C": "<",
-      "%3d": "=",
-      "%3D": "=",
-      "%3e": ">",
-      "%3E": ">",
-      "%3f": "?",
-      "%3F": "?",
-      "%40": "@",
-      "%41": "A",
-      "%42": "B",
-      "%43": "C",
-      "%44": "D",
-      "%45": "E",
-      "%46": "F",
-      "%47": "G",
-      "%48": "H",
-      "%49": "I",
-      "%4a": "J",
-      "%4A": "J",
-      "%4b": "K",
-      "%4B": "K",
-      "%4c": "L",
-      "%4C": "L",
-      "%4d": "M",
-      "%4D": "M",
-      "%4e": "N",
-      "%4E": "N",
-      "%4f": "O",
-      "%4F": "O",
-      "%50": "P",
-      "%51": "Q",
-      "%52": "R",
-      "%53": "S",
-      "%54": "T",
-      "%55": "U",
-      "%56": "V",
-      "%57": "W",
-      "%58": "X",
-      "%59": "Y",
-      "%5a": "Z",
-      "%5A": "Z",
-      "%5b": "[",
-      "%5B": "[",
-      "%5c": "\\",
-      "%5C": "\\",
-      "%5d": "]",
-      "%5D": "]",
-      "%5e": "^",
-      "%5E": "^",
-      "%5f": "_",
-      "%5F": "_",
-      "%60": "`",
-      "%61": "a",
-      "%62": "b",
-      "%63": "c",
-      "%64": "d",
-      "%65": "e",
-      "%66": "f",
-      "%67": "g",
-      "%68": "h",
-      "%69": "i",
-      "%6a": "j",
-      "%6A": "j",
-      "%6b": "k",
-      "%6B": "k",
-      "%6c": "l",
-      "%6C": "l",
-      "%6d": "m",
-      "%6D": "m",
-      "%6e": "n",
-      "%6E": "n",
-      "%6f": "o",
-      "%6F": "o",
-      "%70": "p",
-      "%71": "q",
-      "%72": "r",
-      "%73": "s",
-      "%74": "t",
-      "%75": "u",
-      "%76": "v",
-      "%77": "w",
-      "%78": "x",
-      "%79": "y",
-      "%7a": "z",
-      "%7A": "z",
-      "%7b": "{",
-      "%7B": "{",
-      "%7c": "|",
-      "%7C": "|",
-      "%7d": "}",
-      "%7D": "}",
-      "%7e": "~",
-      "%7E": "~",
-      "%7f": "\x7F",
-      "%7F": "\x7F",
-      "%80": "\x80",
-      "%81": "\x81",
-      "%82": "\x82",
-      "%83": "\x83",
-      "%84": "\x84",
-      "%85": "\x85",
-      "%86": "\x86",
-      "%87": "\x87",
-      "%88": "\x88",
-      "%89": "\x89",
-      "%8a": "\x8A",
-      "%8A": "\x8A",
-      "%8b": "\x8B",
-      "%8B": "\x8B",
-      "%8c": "\x8C",
-      "%8C": "\x8C",
-      "%8d": "\x8D",
-      "%8D": "\x8D",
-      "%8e": "\x8E",
-      "%8E": "\x8E",
-      "%8f": "\x8F",
-      "%8F": "\x8F",
-      "%90": "\x90",
-      "%91": "\x91",
-      "%92": "\x92",
-      "%93": "\x93",
-      "%94": "\x94",
-      "%95": "\x95",
-      "%96": "\x96",
-      "%97": "\x97",
-      "%98": "\x98",
-      "%99": "\x99",
-      "%9a": "\x9A",
-      "%9A": "\x9A",
-      "%9b": "\x9B",
-      "%9B": "\x9B",
-      "%9c": "\x9C",
-      "%9C": "\x9C",
-      "%9d": "\x9D",
-      "%9D": "\x9D",
-      "%9e": "\x9E",
-      "%9E": "\x9E",
-      "%9f": "\x9F",
-      "%9F": "\x9F",
-      "%a0": "\xA0",
-      "%A0": "\xA0",
-      "%a1": "\xA1",
-      "%A1": "\xA1",
-      "%a2": "\xA2",
-      "%A2": "\xA2",
-      "%a3": "\xA3",
-      "%A3": "\xA3",
-      "%a4": "\xA4",
-      "%A4": "\xA4",
-      "%a5": "\xA5",
-      "%A5": "\xA5",
-      "%a6": "\xA6",
-      "%A6": "\xA6",
-      "%a7": "\xA7",
-      "%A7": "\xA7",
-      "%a8": "\xA8",
-      "%A8": "\xA8",
-      "%a9": "\xA9",
-      "%A9": "\xA9",
-      "%aa": "\xAA",
-      "%Aa": "\xAA",
-      "%aA": "\xAA",
-      "%AA": "\xAA",
-      "%ab": "\xAB",
-      "%Ab": "\xAB",
-      "%aB": "\xAB",
-      "%AB": "\xAB",
-      "%ac": "\xAC",
-      "%Ac": "\xAC",
-      "%aC": "\xAC",
-      "%AC": "\xAC",
-      "%ad": "\xAD",
-      "%Ad": "\xAD",
-      "%aD": "\xAD",
-      "%AD": "\xAD",
-      "%ae": "\xAE",
-      "%Ae": "\xAE",
-      "%aE": "\xAE",
-      "%AE": "\xAE",
-      "%af": "\xAF",
-      "%Af": "\xAF",
-      "%aF": "\xAF",
-      "%AF": "\xAF",
-      "%b0": "\xB0",
-      "%B0": "\xB0",
-      "%b1": "\xB1",
-      "%B1": "\xB1",
-      "%b2": "\xB2",
-      "%B2": "\xB2",
-      "%b3": "\xB3",
-      "%B3": "\xB3",
-      "%b4": "\xB4",
-      "%B4": "\xB4",
-      "%b5": "\xB5",
-      "%B5": "\xB5",
-      "%b6": "\xB6",
-      "%B6": "\xB6",
-      "%b7": "\xB7",
-      "%B7": "\xB7",
-      "%b8": "\xB8",
-      "%B8": "\xB8",
-      "%b9": "\xB9",
-      "%B9": "\xB9",
-      "%ba": "\xBA",
-      "%Ba": "\xBA",
-      "%bA": "\xBA",
-      "%BA": "\xBA",
-      "%bb": "\xBB",
-      "%Bb": "\xBB",
-      "%bB": "\xBB",
-      "%BB": "\xBB",
-      "%bc": "\xBC",
-      "%Bc": "\xBC",
-      "%bC": "\xBC",
-      "%BC": "\xBC",
-      "%bd": "\xBD",
-      "%Bd": "\xBD",
-      "%bD": "\xBD",
-      "%BD": "\xBD",
-      "%be": "\xBE",
-      "%Be": "\xBE",
-      "%bE": "\xBE",
-      "%BE": "\xBE",
-      "%bf": "\xBF",
-      "%Bf": "\xBF",
-      "%bF": "\xBF",
-      "%BF": "\xBF",
-      "%c0": "\xC0",
-      "%C0": "\xC0",
-      "%c1": "\xC1",
-      "%C1": "\xC1",
-      "%c2": "\xC2",
-      "%C2": "\xC2",
-      "%c3": "\xC3",
-      "%C3": "\xC3",
-      "%c4": "\xC4",
-      "%C4": "\xC4",
-      "%c5": "\xC5",
-      "%C5": "\xC5",
-      "%c6": "\xC6",
-      "%C6": "\xC6",
-      "%c7": "\xC7",
-      "%C7": "\xC7",
-      "%c8": "\xC8",
-      "%C8": "\xC8",
-      "%c9": "\xC9",
-      "%C9": "\xC9",
-      "%ca": "\xCA",
-      "%Ca": "\xCA",
-      "%cA": "\xCA",
-      "%CA": "\xCA",
-      "%cb": "\xCB",
-      "%Cb": "\xCB",
-      "%cB": "\xCB",
-      "%CB": "\xCB",
-      "%cc": "\xCC",
-      "%Cc": "\xCC",
-      "%cC": "\xCC",
-      "%CC": "\xCC",
-      "%cd": "\xCD",
-      "%Cd": "\xCD",
-      "%cD": "\xCD",
-      "%CD": "\xCD",
-      "%ce": "\xCE",
-      "%Ce": "\xCE",
-      "%cE": "\xCE",
-      "%CE": "\xCE",
-      "%cf": "\xCF",
-      "%Cf": "\xCF",
-      "%cF": "\xCF",
-      "%CF": "\xCF",
-      "%d0": "\xD0",
-      "%D0": "\xD0",
-      "%d1": "\xD1",
-      "%D1": "\xD1",
-      "%d2": "\xD2",
-      "%D2": "\xD2",
-      "%d3": "\xD3",
-      "%D3": "\xD3",
-      "%d4": "\xD4",
-      "%D4": "\xD4",
-      "%d5": "\xD5",
-      "%D5": "\xD5",
-      "%d6": "\xD6",
-      "%D6": "\xD6",
-      "%d7": "\xD7",
-      "%D7": "\xD7",
-      "%d8": "\xD8",
-      "%D8": "\xD8",
-      "%d9": "\xD9",
-      "%D9": "\xD9",
-      "%da": "\xDA",
-      "%Da": "\xDA",
-      "%dA": "\xDA",
-      "%DA": "\xDA",
-      "%db": "\xDB",
-      "%Db": "\xDB",
-      "%dB": "\xDB",
-      "%DB": "\xDB",
-      "%dc": "\xDC",
-      "%Dc": "\xDC",
-      "%dC": "\xDC",
-      "%DC": "\xDC",
-      "%dd": "\xDD",
-      "%Dd": "\xDD",
-      "%dD": "\xDD",
-      "%DD": "\xDD",
-      "%de": "\xDE",
-      "%De": "\xDE",
-      "%dE": "\xDE",
-      "%DE": "\xDE",
-      "%df": "\xDF",
-      "%Df": "\xDF",
-      "%dF": "\xDF",
-      "%DF": "\xDF",
-      "%e0": "\xE0",
-      "%E0": "\xE0",
-      "%e1": "\xE1",
-      "%E1": "\xE1",
-      "%e2": "\xE2",
-      "%E2": "\xE2",
-      "%e3": "\xE3",
-      "%E3": "\xE3",
-      "%e4": "\xE4",
-      "%E4": "\xE4",
-      "%e5": "\xE5",
-      "%E5": "\xE5",
-      "%e6": "\xE6",
-      "%E6": "\xE6",
-      "%e7": "\xE7",
-      "%E7": "\xE7",
-      "%e8": "\xE8",
-      "%E8": "\xE8",
-      "%e9": "\xE9",
-      "%E9": "\xE9",
-      "%ea": "\xEA",
-      "%Ea": "\xEA",
-      "%eA": "\xEA",
-      "%EA": "\xEA",
-      "%eb": "\xEB",
-      "%Eb": "\xEB",
-      "%eB": "\xEB",
-      "%EB": "\xEB",
-      "%ec": "\xEC",
-      "%Ec": "\xEC",
-      "%eC": "\xEC",
-      "%EC": "\xEC",
-      "%ed": "\xED",
-      "%Ed": "\xED",
-      "%eD": "\xED",
-      "%ED": "\xED",
-      "%ee": "\xEE",
-      "%Ee": "\xEE",
-      "%eE": "\xEE",
-      "%EE": "\xEE",
-      "%ef": "\xEF",
-      "%Ef": "\xEF",
-      "%eF": "\xEF",
-      "%EF": "\xEF",
-      "%f0": "\xF0",
-      "%F0": "\xF0",
-      "%f1": "\xF1",
-      "%F1": "\xF1",
-      "%f2": "\xF2",
-      "%F2": "\xF2",
-      "%f3": "\xF3",
-      "%F3": "\xF3",
-      "%f4": "\xF4",
-      "%F4": "\xF4",
-      "%f5": "\xF5",
-      "%F5": "\xF5",
-      "%f6": "\xF6",
-      "%F6": "\xF6",
-      "%f7": "\xF7",
-      "%F7": "\xF7",
-      "%f8": "\xF8",
-      "%F8": "\xF8",
-      "%f9": "\xF9",
-      "%F9": "\xF9",
-      "%fa": "\xFA",
-      "%Fa": "\xFA",
-      "%fA": "\xFA",
-      "%FA": "\xFA",
-      "%fb": "\xFB",
-      "%Fb": "\xFB",
-      "%fB": "\xFB",
-      "%FB": "\xFB",
-      "%fc": "\xFC",
-      "%Fc": "\xFC",
-      "%fC": "\xFC",
-      "%FC": "\xFC",
-      "%fd": "\xFD",
-      "%Fd": "\xFD",
-      "%fD": "\xFD",
-      "%FD": "\xFD",
-      "%fe": "\xFE",
-      "%Fe": "\xFE",
-      "%fE": "\xFE",
-      "%FE": "\xFE",
-      "%ff": "\xFF",
-      "%Ff": "\xFF",
-      "%fF": "\xFF",
-      "%FF": "\xFF"
-    };
-    function encodedReplacer(match) {
-      return EncodedLookup[match];
+    var net = require("node:net");
+    var assert = require("node:assert");
+    var util = require_util9();
+    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
+    var timers = require_timers2();
+    function noop3() {
     }
-    var STATE_KEY = 0;
-    var STATE_VALUE = 1;
-    var STATE_CHARSET = 2;
-    var STATE_LANG = 3;
-    function parseParams(str2) {
-      const res = [];
-      let state = STATE_KEY;
-      let charset = "";
-      let inquote = false;
-      let escaping = false;
-      let p = 0;
-      let tmp = "";
-      const len = str2.length;
-      for (var i = 0; i < len; ++i) {
-        const char = str2[i];
-        if (char === "\\" && inquote) {
-          if (escaping) {
-            escaping = false;
-          } else {
-            escaping = true;
-            continue;
-          }
-        } else if (char === '"') {
-          if (!escaping) {
-            if (inquote) {
-              inquote = false;
-              state = STATE_KEY;
-            } else {
-              inquote = true;
+    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;
             }
-            continue;
-          } else {
-            escaping = false;
+            const ref = this._sessionCache.get(key);
+            if (ref !== void 0 && ref.deref() === void 0) {
+              this._sessionCache.delete(key);
+            }
+          });
+        }
+        get(sessionKey) {
+          const ref = this._sessionCache.get(sessionKey);
+          return ref ? ref.deref() : null;
+        }
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
-        } else {
-          if (escaping && inquote) {
-            tmp += "\\";
+          this._sessionCache.set(sessionKey, new WeakRef(session));
+          this._sessionRegistry.register(session, sessionKey);
+        }
+      };
+    } else {
+      SessionCache = class SimpleSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
+        }
+        get(sessionKey) {
+          return this._sessionCache.get(sessionKey);
+        }
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
-          escaping = false;
-          if ((state === STATE_CHARSET || state === STATE_LANG) && char === "'") {
-            if (state === STATE_CHARSET) {
-              state = STATE_LANG;
-              charset = tmp.substring(1);
-            } else {
-              state = STATE_VALUE;
-            }
-            tmp = "";
-            continue;
-          } else if (state === STATE_KEY && (char === "*" || char === "=") && res.length) {
-            state = char === "*" ? STATE_CHARSET : STATE_VALUE;
-            res[p] = [tmp, void 0];
-            tmp = "";
-            continue;
-          } else if (!inquote && char === ";") {
-            state = STATE_KEY;
-            if (charset) {
-              if (tmp.length) {
-                tmp = decodeText(
-                  tmp.replace(RE_ENCODED, encodedReplacer),
-                  "binary",
-                  charset
-                );
-              }
-              charset = "";
-            } else if (tmp.length) {
-              tmp = decodeText(tmp, "binary", "utf8");
-            }
-            if (res[p] === void 0) {
-              res[p] = tmp;
-            } else {
-              res[p][1] = tmp;
-            }
-            tmp = "";
-            ++p;
-            continue;
-          } else if (!inquote && (char === " " || char === "	")) {
-            continue;
+          if (this._sessionCache.size >= this._maxCachedSessions) {
+            const { value: oldestKey } = this._sessionCache.keys().next();
+            this._sessionCache.delete(oldestKey);
           }
+          this._sessionCache.set(sessionKey, session);
         }
-        tmp += char;
-      }
-      if (charset && tmp.length) {
-        tmp = decodeText(
-          tmp.replace(RE_ENCODED, encodedReplacer),
-          "binary",
-          charset
-        );
-      } else if (tmp) {
-        tmp = decodeText(tmp, "binary", "utf8");
+      };
+    }
+    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");
       }
-      if (res[p] === void 0) {
-        if (tmp) {
-          res[p] = tmp;
+      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");
+          }
+          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 {
-        res[p][1] = tmp;
+        message += ` (attempted address: ${opts.hostname}:${opts.port},`;
       }
-      return res;
+      message += ` timeout: ${opts.timeout}ms)`;
+      util.destroy(socket, new ConnectTimeoutError(message));
     }
-    module2.exports = parseParams;
+    module2.exports = buildConnector;
   }
 });
 
-// node_modules/@fastify/busboy/lib/utils/basename.js
-var require_basename = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/basename.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js
+var require_utils3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js"(exports2) {
     "use strict";
-    module2.exports = function basename2(path16) {
-      if (typeof path16 !== "string") {
-        return "";
-      }
-      for (var i = path16.length - 1; i >= 0; --i) {
-        switch (path16.charCodeAt(i)) {
-          case 47:
-          // '/'
-          case 92:
-            path16 = path16.slice(i + 1);
-            return path16 === ".." || path16 === "." ? "" : path16;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.enumToMap = void 0;
+    function enumToMap(obj) {
+      const res = {};
+      Object.keys(obj).forEach((key) => {
+        const value = obj[key];
+        if (typeof value === "number") {
+          res[key] = value;
         }
-      }
-      return path16 === ".." || path16 === "." ? "" : path16;
-    };
+      });
+      return res;
+    }
+    exports2.enumToMap = enumToMap;
   }
 });
 
-// node_modules/@fastify/busboy/lib/types/multipart.js
-var require_multipart = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/multipart.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js
+var require_constants7 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js"(exports2) {
     "use strict";
-    var { Readable: Readable2 } = require("node:stream");
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var parseParams = require_parseParams();
-    var decodeText = require_decodeText();
-    var basename2 = require_basename();
-    var getLimit = require_getLimit();
-    var RE_BOUNDARY = /^boundary$/i;
-    var RE_FIELD = /^form-data$/i;
-    var RE_CHARSET = /^charset$/i;
-    var RE_FILENAME = /^filename$/i;
-    var RE_NAME = /^name$/i;
-    Multipart.detect = /^multipart\/form-data/i;
-    function Multipart(boy, cfg) {
-      let i;
-      let len;
-      const self2 = this;
-      let boundary;
-      const limits = cfg.limits;
-      const isPartAFile = cfg.isPartAFile || ((fieldName, contentType, fileName) => contentType === "application/octet-stream" || fileName !== void 0);
-      const parsedConType = cfg.parsedConType || [];
-      const defCharset = cfg.defCharset || "utf8";
-      const preservePath = cfg.preservePath;
-      const fileOpts = { highWaterMark: cfg.fileHwm };
-      for (i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_BOUNDARY.test(parsedConType[i][0])) {
-          boundary = parsedConType[i][1];
-          break;
-        }
-      }
-      function checkFinished() {
-        if (nends === 0 && finished && !boy._done) {
-          finished = false;
-          self2.end();
-        }
-      }
-      if (typeof boundary !== "string") {
-        throw new Error("Multipart: Boundary not found");
-      }
-      const fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      const fileSizeLimit = getLimit(limits, "fileSize", Infinity);
-      const filesLimit = getLimit(limits, "files", Infinity);
-      const fieldsLimit = getLimit(limits, "fields", Infinity);
-      const partsLimit = getLimit(limits, "parts", Infinity);
-      const headerPairsLimit = getLimit(limits, "headerPairs", 2e3);
-      const headerSizeLimit = getLimit(limits, "headerSize", 80 * 1024);
-      let nfiles = 0;
-      let nfields = 0;
-      let nends = 0;
-      let curFile;
-      let curField;
-      let finished = false;
-      this._needDrain = false;
-      this._pause = false;
-      this._cb = void 0;
-      this._nparts = 0;
-      this._boy = boy;
-      const parserCfg = {
-        boundary,
-        maxHeaderPairs: headerPairsLimit,
-        maxHeaderSize: headerSizeLimit,
-        partHwm: fileOpts.highWaterMark,
-        highWaterMark: cfg.highWaterMark
-      };
-      this.parser = new Dicer(parserCfg);
-      this.parser.on("drain", function() {
-        self2._needDrain = false;
-        if (self2._cb && !self2._pause) {
-          const cb = self2._cb;
-          self2._cb = void 0;
-          cb();
-        }
-      }).on("part", function onPart(part) {
-        if (++self2._nparts > partsLimit) {
-          self2.parser.removeListener("part", onPart);
-          self2.parser.on("part", skipPart);
-          boy.hitPartsLimit = true;
-          boy.emit("partsLimit");
-          return skipPart(part);
-        }
-        if (curField) {
-          const field = curField;
-          field.emit("end");
-          field.removeAllListeners("end");
-        }
-        part.on("header", function(header) {
-          let contype;
-          let fieldname;
-          let parsed;
-          let charset;
-          let encoding;
-          let filename;
-          let nsize = 0;
-          if (header["content-type"]) {
-            parsed = parseParams(header["content-type"][0]);
-            if (parsed[0]) {
-              contype = parsed[0].toLowerCase();
-              for (i = 0, len = parsed.length; i < len; ++i) {
-                if (RE_CHARSET.test(parsed[i][0])) {
-                  charset = parsed[i][1].toLowerCase();
-                  break;
-                }
-              }
-            }
-          }
-          if (contype === void 0) {
-            contype = "text/plain";
-          }
-          if (charset === void 0) {
-            charset = defCharset;
-          }
-          if (header["content-disposition"]) {
-            parsed = parseParams(header["content-disposition"][0]);
-            if (!RE_FIELD.test(parsed[0])) {
-              return skipPart(part);
-            }
-            for (i = 0, len = parsed.length; i < len; ++i) {
-              if (RE_NAME.test(parsed[i][0])) {
-                fieldname = parsed[i][1];
-              } else if (RE_FILENAME.test(parsed[i][0])) {
-                filename = parsed[i][1];
-                if (!preservePath) {
-                  filename = basename2(filename);
-                }
-              }
-            }
-          } else {
-            return skipPart(part);
-          }
-          if (header["content-transfer-encoding"]) {
-            encoding = header["content-transfer-encoding"][0].toLowerCase();
-          } else {
-            encoding = "7bit";
-          }
-          let onData, onEnd;
-          if (isPartAFile(fieldname, contype, filename)) {
-            if (nfiles === filesLimit) {
-              if (!boy.hitFilesLimit) {
-                boy.hitFilesLimit = true;
-                boy.emit("filesLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfiles;
-            if (boy.listenerCount("file") === 0) {
-              self2.parser._ignore();
-              return;
-            }
-            ++nends;
-            const file = new FileStream(fileOpts);
-            curFile = file;
-            file.on("end", function() {
-              --nends;
-              self2._pause = false;
-              checkFinished();
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            });
-            file._read = function(n) {
-              if (!self2._pause) {
-                return;
-              }
-              self2._pause = false;
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            };
-            boy.emit("file", fieldname, file, filename, encoding, contype);
-            onData = function(data) {
-              if ((nsize += data.length) > fileSizeLimit) {
-                const extralen = fileSizeLimit - nsize + data.length;
-                if (extralen > 0) {
-                  file.push(data.slice(0, extralen));
-                }
-                file.truncated = true;
-                file.bytesRead = fileSizeLimit;
-                part.removeAllListeners("data");
-                file.emit("limit");
-                return;
-              } else if (!file.push(data)) {
-                self2._pause = true;
-              }
-              file.bytesRead = nsize;
-            };
-            onEnd = function() {
-              curFile = void 0;
-              file.push(null);
-            };
-          } else {
-            if (nfields === fieldsLimit) {
-              if (!boy.hitFieldsLimit) {
-                boy.hitFieldsLimit = true;
-                boy.emit("fieldsLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfields;
-            ++nends;
-            let buffer = "";
-            let truncated = false;
-            curField = part;
-            onData = function(data) {
-              if ((nsize += data.length) > fieldSizeLimit) {
-                const extralen = fieldSizeLimit - (nsize - data.length);
-                buffer += data.toString("binary", 0, extralen);
-                truncated = true;
-                part.removeAllListeners("data");
-              } else {
-                buffer += data.toString("binary");
-              }
-            };
-            onEnd = function() {
-              curField = void 0;
-              if (buffer.length) {
-                buffer = decodeText(buffer, "binary", charset);
-              }
-              boy.emit("field", fieldname, buffer, false, truncated, encoding, contype);
-              --nends;
-              checkFinished();
-            };
-          }
-          part._readableState.sync = false;
-          part.on("data", onData);
-          part.on("end", onEnd);
-        }).on("error", function(err) {
-          if (curFile) {
-            curFile.emit("error", err);
-          }
-        });
-      }).on("error", function(err) {
-        boy.emit("error", err);
-      }).on("finish", function() {
-        finished = true;
-        checkFinished();
-      });
-    }
-    Multipart.prototype.write = function(chunk, cb) {
-      const r = this.parser.write(chunk);
-      if (r && !this._pause) {
-        cb();
-      } else {
-        this._needDrain = !r;
-        this._cb = cb;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
+    var utils_1 = require_utils3();
+    var ERROR;
+    (function(ERROR2) {
+      ERROR2[ERROR2["OK"] = 0] = "OK";
+      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
+      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
+      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
+      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
+      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
+      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
+      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
+      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
+      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
+      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
+      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
+      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
+      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
+      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
+      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
+      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
+      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
+      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
+      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
+      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
+      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
+      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
+      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
+      ERROR2[ERROR2["USER"] = 24] = "USER";
+    })(ERROR = 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];
       }
+    });
+    var FINISH;
+    (function(FINISH2) {
+      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
+      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
+      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
+    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
+    exports2.ALPHA = [];
+    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
+      exports2.ALPHA.push(String.fromCharCode(i));
+      exports2.ALPHA.push(String.fromCharCode(i + 32));
+    }
+    exports2.NUM_MAP = {
+      0: 0,
+      1: 1,
+      2: 2,
+      3: 3,
+      4: 4,
+      5: 5,
+      6: 6,
+      7: 7,
+      8: 8,
+      9: 9
     };
-    Multipart.prototype.end = function() {
-      const self2 = this;
-      if (self2.parser.writable) {
-        self2.parser.end();
-      } else if (!self2._boy._done) {
-        process.nextTick(function() {
-          self2._boy._done = true;
-          self2._boy.emit("finish");
-        });
-      }
+    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
     };
-    function skipPart(part) {
-      part.resume();
+    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);
     }
-    function FileStream(opts) {
-      Readable2.call(this, opts);
-      this.bytesRead = 0;
-      this.truncated = false;
+    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);
+      }
     }
-    inherits(FileStream, Readable2);
-    FileStream.prototype._read = function(n) {
+    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
     };
-    module2.exports = Multipart;
   }
 });
 
-// node_modules/@fastify/busboy/lib/utils/Decoder.js
-var require_Decoder = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/Decoder.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js
+var require_llhttp_wasm2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
     "use strict";
-    var RE_PLUS = /\+/g;
-    var HEX = [
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0
-    ];
-    function Decoder() {
-      this.buffer = void 0;
+    var { Buffer: Buffer2 } = require("node:buffer");
+    module2.exports = Buffer2.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxBACEDDKIBCyACQeQANgIcIAIgATYCFCACQeMXNgIQIAJBFTYCDEEAIQMMoQELIAJBADYCACAGQQFqIQEgAi0AKSIAQSNrQQtJDQQCQCAAQQZLDQBBASAAdEHKAHFFDQAMBQtBACEDIAJBADYCHCACIAE2AhQgAkH3CTYCECACQQg2AgwMoAELIAJBADYCACAGQQFqIQEgAi0AKUEhRg0DIAJBADYCHCACIAE2AhQgAkGbCjYCECACQQg2AgxBACEDDJ8BCyACQQA2AgALQQAhAyACQQA2AhwgAiABNgIUIAJBkDM2AhAgAkEINgIMDJ0BCyACQQA2AgAgBkEBaiEBIAItAClBI0kNACACQQA2AhwgAiABNgIUIAJB0wk2AhAgAkEINgIMQQAhAwycAQtB0QAhAwyCAQsgAS0AAEEwayIAQf8BcUEKSQRAIAIgADoAKiABQQFqIQFBzwAhAwyCAQsgAigCBCEAIAJBADYCBCACIAAgARAoIgBFDYYBIAJB3gA2AhwgAiABNgIUIAIgADYCDEEAIQMMmgELIAIoAgQhACACQQA2AgQgAiAAIAEQKCIARQ2GASACQdwANgIcIAIgATYCFCACIAA2AgxBACEDDJkBCyACKAIEIQAgAkEANgIEIAIgACAFECgiAEUEQCAFIQEMhwELIAJB2gA2AhwgAiAFNgIUIAIgADYCDAyYAQtBACEBQQEhAwsgAiADOgArIAVBAWohAwJAAkACQCACLQAtQRBxDQACQAJAAkAgAi0AKg4DAQACBAsgBkUNAwwCCyAADQEMAgsgAUUNAQsgAigCBCEAIAJBADYCBCACIAAgAxAoIgBFBEAgAyEBDAILIAJB2AA2AhwgAiADNgIUIAIgADYCDEEAIQMMmAELIAIoAgQhACACQQA2AgQgAiAAIAMQKCIARQRAIAMhAQyHAQsgAkHZADYCHCACIAM2AhQgAiAANgIMQQAhAwyXAQtBzAAhAwx9CyAAQRVHBEAgAkEANgIcIAIgATYCFCACQZQNNgIQIAJBITYCDEEAIQMMlgELIAJB1wA2AhwgAiABNgIUIAJByRc2AhAgAkEVNgIMQQAhAwyVAQtBACEDIAJBADYCHCACIAE2AhQgAkGAETYCECACQQk2AgwMlAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0AIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMkwELQckAIQMMeQsgAkEANgIcIAIgATYCFCACQcEoNgIQIAJBBzYCDCACQQA2AgBBACEDDJEBCyACKAIEIQBBACEDIAJBADYCBCACIAAgARAlIgBFDQAgAkHSADYCHCACIAE2AhQgAiAANgIMDJABC0HIACEDDHYLIAJBADYCACAFIQELIAJBgBI7ASogAUEBaiEBQQAhAAJAIAIoAjgiA0UNACADKAIwIgNFDQAgAiADEQAAIQALIAANAQtBxwAhAwxzCyAAQRVGBEAgAkHRADYCHCACIAE2AhQgAkHjFzYCECACQRU2AgxBACEDDIwBC0EAIQMgAkEANgIcIAIgATYCFCACQbkNNgIQIAJBGjYCDAyLAQtBACEDIAJBADYCHCACIAE2AhQgAkGgGTYCECACQR42AgwMigELIAEtAABBOkYEQCACKAIEIQBBACEDIAJBADYCBCACIAAgARApIgBFDQEgAkHDADYCHCACIAA2AgwgAiABQQFqNgIUDIoBC0EAIQMgAkEANgIcIAIgATYCFCACQbERNgIQIAJBCjYCDAyJAQsgAUEBaiEBQTshAwxvCyACQcMANgIcIAIgADYCDCACIAFBAWo2AhQMhwELQQAhAyACQQA2AhwgAiABNgIUIAJB8A42AhAgAkEcNgIMDIYBCyACIAIvATBBEHI7ATAMZgsCQCACLwEwIgBBCHFFDQAgAi0AKEEBRw0AIAItAC1BCHFFDQMLIAIgAEH3+wNxQYAEcjsBMAwECyABIARHBEACQANAIAEtAABBMGsiAEH/AXFBCk8EQEE1IQMMbgsgAikDICIKQpmz5syZs+bMGVYNASACIApCCn4iCjcDICAKIACtQv8BgyILQn+FVg0BIAIgCiALfDcDICAEIAFBAWoiAUcNAAtBOSEDDIUBCyACKAIEIQBBACEDIAJBADYCBCACIAAgAUEBaiIBECoiAA0MDHcLQTkhAwyDAQsgAi0AMEEgcQ0GQcUBIQMMaQtBACEDIAJBADYCBCACIAEgARAqIgBFDQQgAkE6NgIcIAIgADYCDCACIAFBAWo2AhQMgQELIAItAChBAUcNACACLQAtQQhxRQ0BC0E3IQMMZgsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEQKiIABEAgAkE7NgIcIAIgADYCDCACIAFBAWo2AhQMfwsgAUEBaiEBDG4LIAJBCDoALAwECyABQQFqIQEMbQtBACEDIAJBADYCHCACIAE2AhQgAkHkEjYCECACQQQ2AgwMewsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEQKiIARQ1sIAJBNzYCHCACIAE2AhQgAiAANgIMDHoLIAIgAi8BMEEgcjsBMAtBMCEDDF8LIAJBNjYCHCACIAE2AhQgAiAANgIMDHcLIABBLEcNASABQQFqIQBBASEBAkACQAJAAkACQCACLQAsQQVrDgQDAQIEAAsgACEBDAQLQQIhAQwBC0EEIQELIAJBAToALCACIAIvATAgAXI7ATAgACEBDAELIAIgAi8BMEEIcjsBMCAAIQELQTkhAwxcCyACQQA6ACwLQTQhAwxaCyABIARGBEBBLSEDDHMLAkACQANAAkAgAS0AAEEKaw4EAgAAAwALIAQgAUEBaiIBRw0AC0EtIQMMdAsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEQKiIARQ0CIAJBLDYCHCACIAE2AhQgAiAANgIMDHMLIAIoAgQhAEEAIQMgAkEANgIEIAIgACABECoiAEUEQCABQQFqIQEMAgsgAkEsNgIcIAIgADYCDCACIAFBAWo2AhQMcgsgAS0AAEENRgRAIAIoAgQhAEEAIQMgAkEANgIEIAIgACABECoiAEUEQCABQQFqIQEMAgsgAkEsNgIcIAIgADYCDCACIAFBAWo2AhQMcgsgAi0ALUEBcQRAQcQBIQMMWQsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEQKiIADQEMZQtBLyEDDFcLIAJBLjYCHCACIAE2AhQgAiAANgIMDG8LQQAhAyACQQA2AhwgAiABNgIUIAJB8BQ2AhAgAkEDNgIMDG4LQQEhAwJAAkACQAJAIAItACxBBWsOBAMBAgAECyACIAIvATBBCHI7ATAMAwtBAiEDDAELQQQhAwsgAkEBOgAsIAIgAi8BMCADcjsBMAtBKiEDDFMLQQAhAyACQQA2AhwgAiABNgIUIAJB4Q82AhAgAkEKNgIMDGsLQQEhAwJAAkACQAJAAkACQCACLQAsQQJrDgcFBAQDAQIABAsgAiACLwEwQQhyOwEwDAMLQQIhAwwBC0EEIQMLIAJBAToALCACIAIvATAgA3I7ATALQSshAwxSC0EAIQMgAkEANgIcIAIgATYCFCACQasSNgIQIAJBCzYCDAxqC0EAIQMgAkEANgIcIAIgATYCFCACQf0NNgIQIAJBHTYCDAxpCyABIARHBEADQCABLQAAQSBHDUggBCABQQFqIgFHDQALQSUhAwxpC0ElIQMMaAsgAi0ALUEBcQRAQcMBIQMMTwsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEQKSIABEAgAkEmNgIcIAIgADYCDCACIAFBAWo2AhQMaAsgAUEBaiEBDFwLIAFBAWohASACLwEwIgBBgAFxBEBBACEAAkAgAigCOCIDRQ0AIAMoAlQiA0UNACACIAMRAAAhAAsgAEUNBiAAQRVHDR8gAkEFNgIcIAIgATYCFCACQfkXNgIQIAJBFTYCDEEAIQMMZwsCQCAAQaAEcUGgBEcNACACLQAtQQJxDQBBACEDIAJBADYCHCACIAE2AhQgAkGWEzYCECACQQQ2AgwMZwsgAgJ/IAIvATBBFHFBFEYEQEEBIAItAChBAUYNARogAi8BMkHlAEYMAQsgAi0AKUEFRgs6AC5BACEAAkAgAigCOCIDRQ0AIAMoAiQiA0UNACACIAMRAAAhAAsCQAJAAkACQAJAIAAOFgIBAAQEBAQEBAQEBAQEBAQEBAQEBAMECyACQQE6AC4LIAIgAi8BMEHAAHI7ATALQSchAwxPCyACQSM2AhwgAiABNgIUIAJBpRY2AhAgAkEVNgIMQQAhAwxnC0EAIQMgAkEANgIcIAIgATYCFCACQdULNgIQIAJBETYCDAxmC0EAIQACQCACKAI4IgNFDQAgAygCLCIDRQ0AIAIgAxEAACEACyAADQELQQ4hAwxLCyAAQRVGBEAgAkECNgIcIAIgATYCFCACQbAYNgIQIAJBFTYCDEEAIQMMZAtBACEDIAJBADYCHCACIAE2AhQgAkGnDjYCECACQRI2AgwMYwtBACEDIAJBADYCHCACIAE2AhQgAkGqHDYCECACQQ82AgwMYgsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEgCqdqIgEQKyIARQ0AIAJBBTYCHCACIAE2AhQgAiAANgIMDGELQQ8hAwxHC0EAIQMgAkEANgIcIAIgATYCFCACQc0TNgIQIAJBDDYCDAxfC0IBIQoLIAFBAWohAQJAIAIpAyAiC0L//////////w9YBEAgAiALQgSGIAqENwMgDAELQQAhAyACQQA2AhwgAiABNgIUIAJBrQk2AhAgAkEMNgIMDF4LQSQhAwxEC0EAIQMgAkEANgIcIAIgATYCFCACQc0TNgIQIAJBDDYCDAxcCyACKAIEIQBBACEDIAJBADYCBCACIAAgARAsIgBFBEAgAUEBaiEBDFILIAJBFzYCHCACIAA2AgwgAiABQQFqNgIUDFsLIAIoAgQhAEEAIQMgAkEANgIEAkAgAiAAIAEQLCIARQRAIAFBAWohAQwBCyACQRY2AhwgAiAANgIMIAIgAUEBajYCFAxbC0EfIQMMQQtBACEDIAJBADYCHCACIAE2AhQgAkGaDzYCECACQSI2AgwMWQsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEQLSIARQRAIAFBAWohAQxQCyACQRQ2AhwgAiAANgIMIAIgAUEBajYCFAxYCyACKAIEIQBBACEDIAJBADYCBAJAIAIgACABEC0iAEUEQCABQQFqIQEMAQsgAkETNgIcIAIgADYCDCACIAFBAWo2AhQMWAtBHiEDDD4LQQAhAyACQQA2AhwgAiABNgIUIAJBxgw2AhAgAkEjNgIMDFYLIAIoAgQhAEEAIQMgAkEANgIEIAIgACABEC0iAEUEQCABQQFqIQEMTgsgAkERNgIcIAIgADYCDCACIAFBAWo2AhQMVQsgAkEQNgIcIAIgATYCFCACIAA2AgwMVAtBACEDIAJBADYCHCACIAE2AhQgAkHGDDYCECACQSM2AgwMUwtBACEDIAJBADYCHCACIAE2AhQgAkHAFTYCECACQQI2AgwMUgsgAigCBCEAQQAhAyACQQA2AgQCQCACIAAgARAtIgBFBEAgAUEBaiEBDAELIAJBDjYCHCACIAA2AgwgAiABQQFqNgIUDFILQRshAww4C0EAIQMgAkEANgIcIAIgATYCFCACQcYMNgIQIAJBIzYCDAxQCyACKAIEIQBBACEDIAJBADYCBAJAIAIgACABECwiAEUEQCABQQFqIQEMAQsgAkENNgIcIAIgADYCDCACIAFBAWo2AhQMUAtBGiEDDDYLQQAhAyACQQA2AhwgAiABNgIUIAJBmg82AhAgAkEiNgIMDE4LIAIoAgQhAEEAIQMgAkEANgIEAkAgAiAAIAEQLCIARQRAIAFBAWohAQwBCyACQQw2AhwgAiAANgIMIAIgAUEBajYCFAxOC0EZIQMMNAtBACEDIAJBADYCHCACIAE2AhQgAkGaDzYCECACQSI2AgwMTAsgAEEVRwRAQQAhAyACQQA2AhwgAiABNgIUIAJBgww2AhAgAkETNgIMDEwLIAJBCjYCHCACIAE2AhQgAkHkFjYCECACQRU2AgxBACEDDEsLIAIoAgQhAEEAIQMgAkEANgIEIAIgACABIAqnaiIBECsiAARAIAJBBzYCHCACIAE2AhQgAiAANgIMDEsLQRMhAwwxCyAAQRVHBEBBACEDIAJBADYCHCACIAE2AhQgAkHaDTYCECACQRQ2AgwMSgsgAkEeNgIcIAIgATYCFCACQfkXNgIQIAJBFTYCDEEAIQMMSQtBACEAAkAgAigCOCIDRQ0AIAMoAiwiA0UNACACIAMRAAAhAAsgAEUNQSAAQRVGBEAgAkEDNgIcIAIgATYCFCACQbAYNgIQIAJBFTYCDEEAIQMMSQtBACEDIAJBADYCHCACIAE2AhQgAkGnDjYCECACQRI2AgwMSAtBACEDIAJBADYCHCACIAE2AhQgAkHaDTYCECACQRQ2AgwMRwtBACEDIAJBADYCHCACIAE2AhQgAkGnDjYCECACQRI2AgwMRgsgAkEAOgAvIAItAC1BBHFFDT8LIAJBADoALyACQQE6ADRBACEDDCsLQQAhAyACQQA2AhwgAkHkETYCECACQQc2AgwgAiABQQFqNgIUDEMLAkADQAJAIAEtAABBCmsOBAACAgACCyAEIAFBAWoiAUcNAAtB3QEhAwxDCwJAAkAgAi0ANEEBRw0AQQAhAAJAIAIoAjgiA0UNACADKAJYIgNFDQAgAiADEQAAIQALIABFDQAgAEEVRw0BIAJB3AE2AhwgAiABNgIUIAJB1RY2AhAgAkEVNgIMQQAhAwxEC0HBASEDDCoLIAJBADYCHCACIAE2AhQgAkHpCzYCECACQR82AgxBACEDDEILAkACQCACLQAoQQFrDgIEAQALQcABIQMMKQtBuQEhAwwoCyACQQI6AC9BACEAAkAgAigCOCIDRQ0AIAMoAgAiA0UNACACIAMRAAAhAAsgAEUEQEHCASEDDCgLIABBFUcEQCACQQA2AhwgAiABNgIUIAJBpAw2AhAgAkEQNgIMQQAhAwxBCyACQdsBNgIcIAIgATYCFCACQfoWNgIQIAJBFTYCDEEAIQMMQAsgASAERgRAQdoBIQMMQAsgAS0AAEHIAEYNASACQQE6ACgLQawBIQMMJQtBvwEhAwwkCyABIARHBEAgAkEQNgIIIAIgATYCBEG+ASEDDCQLQdkBIQMMPAsgASAERgRAQdgBIQMMPAsgAS0AAEHIAEcNBCABQQFqIQFBvQEhAwwiCyABIARGBEBB1wEhAww7CwJAAkAgAS0AAEHFAGsOEAAFBQUFBQUFBQUFBQUFBQEFCyABQQFqIQFBuwEhAwwiCyABQQFqIQFBvAEhAwwhC0HWASEDIAEgBEYNOSACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGD0ABqLQAARw0DIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAw6CyACKAIEIQAgAkIANwMAIAIgACAGQQFqIgEQJyIARQRAQcYBIQMMIQsgAkHVATYCHCACIAE2AhQgAiAANgIMQQAhAww5C0HUASEDIAEgBEYNOCACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGB0ABqLQAARw0CIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAw5CyACQYEEOwEoIAIoAgQhACACQgA3AwAgAiAAIAZBAWoiARAnIgANAwwCCyACQQA2AgALQQAhAyACQQA2AhwgAiABNgIUIAJB2Bs2AhAgAkEINgIMDDYLQboBIQMMHAsgAkHTATYCHCACIAE2AhQgAiAANgIMQQAhAww0C0EAIQACQCACKAI4IgNFDQAgAygCOCIDRQ0AIAIgAxEAACEACyAARQ0AIABBFUYNASACQQA2AhwgAiABNgIUIAJBzA42AhAgAkEgNgIMQQAhAwwzC0HkACEDDBkLIAJB+AA2AhwgAiABNgIUIAJByhg2AhAgAkEVNgIMQQAhAwwxC0HSASEDIAQgASIARg0wIAQgAWsgAigCACIBaiEFIAAgAWtBBGohBgJAA0AgAC0AACABQfzPAGotAABHDQEgAUEERg0DIAFBAWohASAEIABBAWoiAEcNAAsgAiAFNgIADDELIAJBADYCHCACIAA2AhQgAkGQMzYCECACQQg2AgwgAkEANgIAQQAhAwwwCyABIARHBEAgAkEONgIIIAIgATYCBEG3ASEDDBcLQdEBIQMMLwsgAkEANgIAIAZBAWohAQtBuAEhAwwUCyABIARGBEBB0AEhAwwtCyABLQAAQTBrIgBB/wFxQQpJBEAgAiAAOgAqIAFBAWohAUG2ASEDDBQLIAIoAgQhACACQQA2AgQgAiAAIAEQKCIARQ0UIAJBzwE2AhwgAiABNgIUIAIgADYCDEEAIQMMLAsgASAERgRAQc4BIQMMLAsCQCABLQAAQS5GBEAgAUEBaiEBDAELIAIoAgQhACACQQA2AgQgAiAAIAEQKCIARQ0VIAJBzQE2AhwgAiABNgIUIAIgADYCDEEAIQMMLAtBtQEhAwwSCyAEIAEiBUYEQEHMASEDDCsLQQAhAEEBIQFBASEGQQAhAwJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAUtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyEDQQAhAUEAIQYMAgtBCSEDQQEhAEEAIQFBACEGDAELQQAhAUEBIQMLIAIgAzoAKyAFQQFqIQMCQAJAIAItAC1BEHENAAJAAkACQCACLQAqDgMBAAIECyAGRQ0DDAILIAANAQwCCyABRQ0BCyACKAIEIQAgAkEANgIEIAIgACADECgiAEUEQCADIQEMAwsgAkHJATYCHCACIAM2AhQgAiAANgIMQQAhAwwtCyACKAIEIQAgAkEANgIEIAIgACADECgiAEUEQCADIQEMGAsgAkHKATYCHCACIAM2AhQgAiAANgIMQQAhAwwsCyACKAIEIQAgAkEANgIEIAIgACAFECgiAEUEQCAFIQEMFgsgAkHLATYCHCACIAU2AhQgAiAANgIMDCsLQbQBIQMMEQtBACEAAkAgAigCOCIDRQ0AIAMoAjwiA0UNACACIAMRAAAhAAsCQCAABEAgAEEVRg0BIAJBADYCHCACIAE2AhQgAkGUDTYCECACQSE2AgxBACEDDCsLQbIBIQMMEQsgAkHIATYCHCACIAE2AhQgAkHJFzYCECACQRU2AgxBACEDDCkLIAJBADYCACAGQQFqIQFB9QAhAwwPCyACLQApQQVGBEBB4wAhAwwPC0HiACEDDA4LIAAhASACQQA2AgALIAJBADoALEEJIQMMDAsgAkEANgIAIAdBAWohAUHAACEDDAsLQQELOgAsIAJBADYCACAGQQFqIQELQSkhAwwIC0E4IQMMBwsCQCABIARHBEADQCABLQAAQYA+ai0AACIAQQFHBEAgAEECRw0DIAFBAWohAQwFCyAEIAFBAWoiAUcNAAtBPiEDDCELQT4hAwwgCwsgAkEAOgAsDAELQQshAwwEC0E6IQMMAwsgAUEBaiEBQS0hAwwCCyACIAE6ACwgAkEANgIAIAZBAWohAUEMIQMMAQsgAkEANgIAIAZBAWohAUEKIQMMAAsAC0EAIQMgAkEANgIcIAIgATYCFCACQc0QNgIQIAJBCTYCDAwXC0EAIQMgAkEANgIcIAIgATYCFCACQekKNgIQIAJBCTYCDAwWC0EAIQMgAkEANgIcIAIgATYCFCACQbcQNgIQIAJBCTYCDAwVC0EAIQMgAkEANgIcIAIgATYCFCACQZwRNgIQIAJBCTYCDAwUC0EAIQMgAkEANgIcIAIgATYCFCACQc0QNgIQIAJBCTYCDAwTC0EAIQMgAkEANgIcIAIgATYCFCACQekKNgIQIAJBCTYCDAwSC0EAIQMgAkEANgIcIAIgATYCFCACQbcQNgIQIAJBCTYCDAwRC0EAIQMgAkEANgIcIAIgATYCFCACQZwRNgIQIAJBCTYCDAwQC0EAIQMgAkEANgIcIAIgATYCFCACQZcVNgIQIAJBDzYCDAwPC0EAIQMgAkEANgIcIAIgATYCFCACQZcVNgIQIAJBDzYCDAwOC0EAIQMgAkEANgIcIAIgATYCFCACQcASNgIQIAJBCzYCDAwNC0EAIQMgAkEANgIcIAIgATYCFCACQZUJNgIQIAJBCzYCDAwMC0EAIQMgAkEANgIcIAIgATYCFCACQeEPNgIQIAJBCjYCDAwLC0EAIQMgAkEANgIcIAIgATYCFCACQfsPNgIQIAJBCjYCDAwKC0EAIQMgAkEANgIcIAIgATYCFCACQfEZNgIQIAJBAjYCDAwJC0EAIQMgAkEANgIcIAIgATYCFCACQcQUNgIQIAJBAjYCDAwIC0EAIQMgAkEANgIcIAIgATYCFCACQfIVNgIQIAJBAjYCDAwHCyACQQI2AhwgAiABNgIUIAJBnBo2AhAgAkEWNgIMQQAhAwwGC0EBIQMMBQtB1AAhAyABIARGDQQgCEEIaiEJIAIoAgAhBQJAAkAgASAERwRAIAVB2MIAaiEHIAQgBWogAWshACAFQX9zQQpqIgUgAWohBgNAIAEtAAAgBy0AAEcEQEECIQcMAwsgBUUEQEEAIQcgBiEBDAMLIAVBAWshBSAHQQFqIQcgBCABQQFqIgFHDQALIAAhBSAEIQELIAlBATYCACACIAU2AgAMAQsgAkEANgIAIAkgBzYCAAsgCSABNgIEIAgoAgwhACAIKAIIDgMBBAIACwALIAJBADYCHCACQbUaNgIQIAJBFzYCDCACIABBAWo2AhRBACEDDAILIAJBADYCHCACIAA2AhQgAkHKGjYCECACQQk2AgxBACEDDAELIAEgBEYEQEEiIQMMAQsgAkEJNgIIIAIgATYCBEEhIQMLIAhBEGokACADRQRAIAIoAgwhAAwBCyACIAM2AhxBACEAIAIoAgQiAUUNACACIAEgBCACKAIIEQEAIgFFDQAgAiAENgIUIAIgATYCDCABIQALIAALvgIBAn8gAEEAOgAAIABB3ABqIgFBAWtBADoAACAAQQA6AAIgAEEAOgABIAFBA2tBADoAACABQQJrQQA6AAAgAEEAOgADIAFBBGtBADoAAEEAIABrQQNxIgEgAGoiAEEANgIAQdwAIAFrQXxxIgIgAGoiAUEEa0EANgIAAkAgAkEJSQ0AIABBADYCCCAAQQA2AgQgAUEIa0EANgIAIAFBDGtBADYCACACQRlJDQAgAEEANgIYIABBADYCFCAAQQA2AhAgAEEANgIMIAFBEGtBADYCACABQRRrQQA2AgAgAUEYa0EANgIAIAFBHGtBADYCACACIABBBHFBGHIiAmsiAUEgSQ0AIAAgAmohAANAIABCADcDGCAAQgA3AxAgAEIANwMIIABCADcDACAAQSBqIQAgAUEgayIBQR9LDQALCwtWAQF/AkAgACgCDA0AAkACQAJAAkAgAC0ALw4DAQADAgsgACgCOCIBRQ0AIAEoAiwiAUUNACAAIAERAAAiAQ0DC0EADwsACyAAQcMWNgIQQQ4hAQsgAQsaACAAKAIMRQRAIABB0Rs2AhAgAEEVNgIMCwsUACAAKAIMQRVGBEAgAEEANgIMCwsUACAAKAIMQRZGBEAgAEEANgIMCwsHACAAKAIMCwcAIAAoAhALCQAgACABNgIQCwcAIAAoAhQLFwAgAEEkTwRAAAsgAEECdEGgM2ooAgALFwAgAEEuTwRAAAsgAEECdEGwNGooAgALvwkBAX9B6yghAQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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CABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv", "base64");
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
+var require_llhttp_simd_wasm2 = __commonJS({
+  "node_modules/@actions/github/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/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADDsYBAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHyAhIyUmKCorLC8wMTIzNDU2Nzk6Ozw9lANAQkRFRklLTk9QUVJTVFVWWFpbXF1eX2BhYmNkZWZnaGpsb3Bxc3V2eHl6e3x/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAccByAHJAcsBzAHNAc4BzwGKA4kDiAOHA4QDgwOAA/sC+gL5AvgC9wL0AvMC8gLLAsECsALZAQsgASAERw3wAkHdASEDDLMDCyABIARHDcgBQcMBIQMMsgMLIAEgBEcNe0H3ACEDDLEDCyABIARHDXBB7wAhAwywAwsgASAERw1pQeoAIQMMrwMLIAEgBEcNZUHoACEDDK4DCyABIARHDWJB5gAhAwytAwsgASAERw0aQRghAwysAwsgASAERw0VQRIhAwyrAwsgASAERw1CQcUAIQMMqgMLIAEgBEcNNEE/IQMMqQMLIAEgBEcNMkE8IQMMqAMLIAEgBEcNK0ExIQMMpwMLIAItAC5BAUYNnwMMwQILQQAhAAJAAkACQCACLQAqRQ0AIAItACtFDQAgAi8BMCIDQQJxRQ0BDAILIAIvATAiA0EBcUUNAQtBASEAIAItAChBAUYNACACLwEyIgVB5ABrQeQASQ0AIAVBzAFGDQAgBUGwAkYNACADQcAAcQ0AQQAhACADQYgEcUGABEYNACADQShxQQBHIQALIAJBADsBMCACQQA6AC8gAEUN3wIgAkIANwMgDOACC0EAIQACQCACKAI4IgNFDQAgAygCLCIDRQ0AIAIgAxEAACEACyAARQ3MASAAQRVHDd0CIAJBBDYCHCACIAE2AhQgAkGwGDYCECACQRU2AgxBACEDDKQDCyABIARGBEBBBiEDDKQDCyABQQFqIQFBACEAAkAgAigCOCIDRQ0AIAMoAlQiA0UNACACIAMRAAAhAAsgAA3ZAgwcCyACQgA3AyBBEiEDDIkDCyABIARHDRZBHSEDDKEDCyABIARHBEAgAUEBaiEBQRAhAwyIAwtBByEDDKADCyACIAIpAyAiCiAEIAFrrSILfSIMQgAgCiAMWhs3AyAgCiALWA3UAkEIIQMMnwMLIAEgBEcEQCACQQk2AgggAiABNgIEQRQhAwyGAwtBCSEDDJ4DCyACKQMgQgBSDccBIAIgAi8BMEGAAXI7ATAMQgsgASAERw0/QdAAIQMMnAMLIAEgBEYEQEELIQMMnAMLIAFBAWohAUEAIQACQCACKAI4IgNFDQAgAygCUCIDRQ0AIAIgAxEAACEACyAADc8CDMYBC0EAIQACQCACKAI4IgNFDQAgAygCSCIDRQ0AIAIgAxEAACEACyAARQ3GASAAQRVHDc0CIAJBCzYCHCACIAE2AhQgAkGCGTYCECACQRU2AgxBACEDDJoDC0EAIQACQCACKAI4IgNFDQAgAygCSCIDRQ0AIAIgAxEAACEACyAARQ0MIABBFUcNygIgAkEaNgIcIAIgATYCFCACQYIZNgIQIAJBFTYCDEEAIQMMmQMLQQAhAAJAIAIoAjgiA0UNACADKAJMIgNFDQAgAiADEQAAIQALIABFDcQBIABBFUcNxwIgAkELNgIcIAIgATYCFCACQZEXNgIQIAJBFTYCDEEAIQMMmAMLIAEgBEYEQEEPIQMMmAMLIAEtAAAiAEE7Rg0HIABBDUcNxAIgAUEBaiEBDMMBC0EAIQACQCACKAI4IgNFDQAgAygCTCIDRQ0AIAIgAxEAACEACyAARQ3DASAAQRVHDcICIAJBDzYCHCACIAE2AhQgAkGRFzYCECACQRU2AgxBACEDDJYDCwNAIAEtAABB8DVqLQAAIgBBAUcEQCAAQQJHDcECIAIoAgQhAEEAIQMgAkEANgIEIAIgACABQQFqIgEQLSIADcICDMUBCyAEIAFBAWoiAUcNAAtBEiEDDJUDC0EAIQACQCACKAI4IgNFDQAgAygCTCIDRQ0AIAIgAxEAACEACyAARQ3FASAAQRVHDb0CIAJBGzYCHCACIAE2AhQgAkGRFzYCECACQRU2AgxBACEDDJQDCyABIARGBEBBFiEDDJQDCyACQQo2AgggAiABNgIEQQAhAAJAIAIoAjgiA0UNACADKAJIIgNFDQAgAiADEQAAIQALIABFDcIBIABBFUcNuQIgAkEVNgIcIAIgATYCFCACQYIZNgIQIAJBFTYCDEEAIQMMkwMLIAEgBEcEQANAIAEtAABB8DdqLQAAIgBBAkcEQAJAIABBAWsOBMQCvQIAvgK9AgsgAUEBaiEBQQghAwz8AgsgBCABQQFqIgFHDQALQRUhAwyTAwtBFSEDDJIDCwNAIAEtAABB8DlqLQAAIgBBAkcEQCAAQQFrDgTFArcCwwK4ArcCCyAEIAFBAWoiAUcNAAtBGCEDDJEDCyABIARHBEAgAkELNgIIIAIgATYCBEEHIQMM+AILQRkhAwyQAwsgAUEBaiEBDAILIAEgBEYEQEEaIQMMjwMLAkAgAS0AAEENaw4UtQG/Ab8BvwG/Ab8BvwG/Ab8BvwG/Ab8BvwG/Ab8BvwG/Ab8BvwEAvwELQQAhAyACQQA2AhwgAkGvCzYCECACQQI2AgwgAiABQQFqNgIUDI4DCyABIARGBEBBGyEDDI4DCyABLQAAIgBBO0cEQCAAQQ1HDbECIAFBAWohAQy6AQsgAUEBaiEBC0EiIQMM8wILIAEgBEYEQEEcIQMMjAMLQgAhCgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAS0AAEEwaw43wQLAAgABAgMEBQYH0AHQAdAB0AHQAdAB0AEICQoLDA3QAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdABDg8QERIT0AELQgIhCgzAAgtCAyEKDL8CC0IEIQoMvgILQgUhCgy9AgtCBiEKDLwCC0IHIQoMuwILQgghCgy6AgtCCSEKDLkCC0IKIQoMuAILQgshCgy3AgtCDCEKDLYCC0INIQoMtQILQg4hCgy0AgtCDyEKDLMCC0IKIQoMsgILQgshCgyxAgtCDCEKDLACC0INIQoMrwILQg4hCgyuAgtCDyEKDK0CC0IAIQoCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEtAABBMGsON8ACvwIAAQIDBAUGB74CvgK+Ar4CvgK+Ar4CCAkKCwwNvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ag4PEBESE74CC0ICIQoMvwILQgMhCgy+AgtCBCEKDL0CC0IFIQoMvAILQgYhCgy7AgtCByEKDLoCC0IIIQoMuQILQgkhCgy4AgtCCiEKDLcCC0ILIQoMtgILQgwhCgy1AgtCDSEKDLQCC0IOIQoMswILQg8hCgyyAgtCCiEKDLECC0ILIQoMsAILQgwhCgyvAgtCDSEKDK4CC0IOIQoMrQILQg8hCgysAgsgAiACKQMgIgogBCABa60iC30iDEIAIAogDFobNwMgIAogC1gNpwJBHyEDDIkDCyABIARHBEAgAkEJNgIIIAIgATYCBEElIQMM8AILQSAhAwyIAwtBASEFIAIvATAiA0EIcUUEQCACKQMgQgBSIQULAkAgAi0ALgRAQQEhACACLQApQQVGDQEgA0HAAHFFIAVxRQ0BC0EAIQAgA0HAAHENAEECIQAgA0EIcQ0AIANBgARxBEACQCACLQAoQQFHDQAgAi0ALUEKcQ0AQQUhAAwCC0EEIQAMAQsgA0EgcUUEQAJAIAItAChBAUYNACACLwEyIgBB5ABrQeQASQ0AIABBzAFGDQAgAEGwAkYNAEEEIQAgA0EocUUNAiADQYgEcUGABEYNAgtBACEADAELQQBBAyACKQMgUBshAAsgAEEBaw4FvgIAsAEBpAKhAgtBESEDDO0CCyACQQE6AC8MhAMLIAEgBEcNnQJBJCEDDIQDCyABIARHDRxBxgAhAwyDAwtBACEAAkAgAigCOCIDRQ0AIAMoAkQiA0UNACACIAMRAAAhAAsgAEUNJyAAQRVHDZgCIAJB0AA2AhwgAiABNgIUIAJBkRg2AhAgAkEVNgIMQQAhAwyCAwsgASAERgRAQSghAwyCAwtBACEDIAJBADYCBCACQQw2AgggAiABIAEQKiIARQ2UAiACQSc2AhwgAiABNgIUIAIgADYCDAyBAwsgASAERgRAQSkhAwyBAwsgAS0AACIAQSBGDRMgAEEJRw2VAiABQQFqIQEMFAsgASAERwRAIAFBAWohAQwWC0EqIQMM/wILIAEgBEYEQEErIQMM/wILIAEtAAAiAEEJRyAAQSBHcQ2QAiACLQAsQQhHDd0CIAJBADoALAzdAgsgASAERgRAQSwhAwz+AgsgAS0AAEEKRw2OAiABQQFqIQEMsAELIAEgBEcNigJBLyEDDPwCCwNAIAEtAAAiAEEgRwRAIABBCmsOBIQCiAKIAoQChgILIAQgAUEBaiIBRw0AC0ExIQMM+wILQTIhAyABIARGDfoCIAIoAgAiACAEIAFraiEHIAEgAGtBA2ohBgJAA0AgAEHwO2otAAAgAS0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQEgAEEDRgRAQQYhAQziAgsgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAc2AgAM+wILIAJBADYCAAyGAgtBMyEDIAQgASIARg35AiAEIAFrIAIoAgAiAWohByAAIAFrQQhqIQYCQANAIAFB9DtqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBCEYEQEEFIQEM4QILIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADPoCCyACQQA2AgAgACEBDIUCC0E0IQMgBCABIgBGDfgCIAQgAWsgAigCACIBaiEHIAAgAWtBBWohBgJAA0AgAUHQwgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBBUYEQEEHIQEM4AILIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADPkCCyACQQA2AgAgACEBDIQCCyABIARHBEADQCABLQAAQYA+ai0AACIAQQFHBEAgAEECRg0JDIECCyAEIAFBAWoiAUcNAAtBMCEDDPgCC0EwIQMM9wILIAEgBEcEQANAIAEtAAAiAEEgRwRAIABBCmsOBP8B/gH+Af8B/gELIAQgAUEBaiIBRw0AC0E4IQMM9wILQTghAwz2AgsDQCABLQAAIgBBIEcgAEEJR3EN9gEgBCABQQFqIgFHDQALQTwhAwz1AgsDQCABLQAAIgBBIEcEQAJAIABBCmsOBPkBBAT5AQALIABBLEYN9QEMAwsgBCABQQFqIgFHDQALQT8hAwz0AgtBwAAhAyABIARGDfMCIAIoAgAiACAEIAFraiEFIAEgAGtBBmohBgJAA0AgAEGAQGstAAAgAS0AAEEgckcNASAAQQZGDdsCIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADPQCCyACQQA2AgALQTYhAwzZAgsgASAERgRAQcEAIQMM8gILIAJBDDYCCCACIAE2AgQgAi0ALEEBaw4E+wHuAewB6wHUAgsgAUEBaiEBDPoBCyABIARHBEADQAJAIAEtAAAiAEEgciAAIABBwQBrQf8BcUEaSRtB/wFxIgBBCUYNACAAQSBGDQACQAJAAkACQCAAQeMAaw4TAAMDAwMDAwMBAwMDAwMDAwMDAgMLIAFBAWohAUExIQMM3AILIAFBAWohAUEyIQMM2wILIAFBAWohAUEzIQMM2gILDP4BCyAEIAFBAWoiAUcNAAtBNSEDDPACC0E1IQMM7wILIAEgBEcEQANAIAEtAABBgDxqLQAAQQFHDfcBIAQgAUEBaiIBRw0AC0E9IQMM7wILQT0hAwzuAgtBACEAAkAgAigCOCIDRQ0AIAMoAkAiA0UNACACIAMRAAAhAAsgAEUNASAAQRVHDeYBIAJBwgA2AhwgAiABNgIUIAJB4xg2AhAgAkEVNgIMQQAhAwztAgsgAUEBaiEBC0E8IQMM0gILIAEgBEYEQEHCACEDDOsCCwJAA0ACQCABLQAAQQlrDhgAAswCzALRAswCzALMAswCzALMAswCzALMAswCzALMAswCzALMAswCzALMAgDMAgsgBCABQQFqIgFHDQALQcIAIQMM6wILIAFBAWohASACLQAtQQFxRQ3+AQtBLCEDDNACCyABIARHDd4BQcQAIQMM6AILA0AgAS0AAEGQwABqLQAAQQFHDZwBIAQgAUEBaiIBRw0AC0HFACEDDOcCCyABLQAAIgBBIEYN/gEgAEE6Rw3AAiACKAIEIQBBACEDIAJBADYCBCACIAAgARApIgAN3gEM3QELQccAIQMgBCABIgBGDeUCIAQgAWsgAigCACIBaiEHIAAgAWtBBWohBgNAIAFBkMIAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNvwIgAUEFRg3CAiABQQFqIQEgBCAAQQFqIgBHDQALIAIgBzYCAAzlAgtByAAhAyAEIAEiAEYN5AIgBCABayACKAIAIgFqIQcgACABa0EJaiEGA0AgAUGWwgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw2+AkECIAFBCUYNwgIaIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADOQCCyABIARGBEBByQAhAwzkAgsCQAJAIAEtAAAiAEEgciAAIABBwQBrQf8BcUEaSRtB/wFxQe4Aaw4HAL8CvwK/Ar8CvwIBvwILIAFBAWohAUE+IQMMywILIAFBAWohAUE/IQMMygILQcoAIQMgBCABIgBGDeICIAQgAWsgAigCACIBaiEGIAAgAWtBAWohBwNAIAFBoMIAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNvAIgAUEBRg2+AiABQQFqIQEgBCAAQQFqIgBHDQALIAIgBjYCAAziAgtBywAhAyAEIAEiAEYN4QIgBCABayACKAIAIgFqIQcgACABa0EOaiEGA0AgAUGiwgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw27AiABQQ5GDb4CIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADOECC0HMACEDIAQgASIARg3gAiAEIAFrIAIoAgAiAWohByAAIAFrQQ9qIQYDQCABQcDCAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDboCQQMgAUEPRg2+AhogAUEBaiEBIAQgAEEBaiIARw0ACyACIAc2AgAM4AILQc0AIQMgBCABIgBGDd8CIAQgAWsgAigCACIBaiEHIAAgAWtBBWohBgNAIAFB0MIAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNuQJBBCABQQVGDb0CGiABQQFqIQEgBCAAQQFqIgBHDQALIAIgBzYCAAzfAgsgASAERgRAQc4AIQMM3wILAkACQAJAAkAgAS0AACIAQSByIAAgAEHBAGtB/wFxQRpJG0H/AXFB4wBrDhMAvAK8ArwCvAK8ArwCvAK8ArwCvAK8ArwCAbwCvAK8AgIDvAILIAFBAWohAUHBACEDDMgCCyABQQFqIQFBwgAhAwzHAgsgAUEBaiEBQcMAIQMMxgILIAFBAWohAUHEACEDDMUCCyABIARHBEAgAkENNgIIIAIgATYCBEHFACEDDMUCC0HPACEDDN0CCwJAAkAgAS0AAEEKaw4EAZABkAEAkAELIAFBAWohAQtBKCEDDMMCCyABIARGBEBB0QAhAwzcAgsgAS0AAEEgRw0AIAFBAWohASACLQAtQQFxRQ3QAQtBFyEDDMECCyABIARHDcsBQdIAIQMM2QILQdMAIQMgASAERg3YAiACKAIAIgAgBCABa2ohBiABIABrQQFqIQUDQCABLQAAIABB1sIAai0AAEcNxwEgAEEBRg3KASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBjYCAAzYAgsgASAERgRAQdUAIQMM2AILIAEtAABBCkcNwgEgAUEBaiEBDMoBCyABIARGBEBB1gAhAwzXAgsCQAJAIAEtAABBCmsOBADDAcMBAcMBCyABQQFqIQEMygELIAFBAWohAUHKACEDDL0CC0EAIQACQCACKAI4IgNFDQAgAygCPCIDRQ0AIAIgAxEAACEACyAADb8BQc0AIQMMvAILIAItAClBIkYNzwIMiQELIAQgASIFRgRAQdsAIQMM1AILQQAhAEEBIQFBASEGQQAhAwJAAn8CQAJAAkACQAJAAkACQCAFLQAAQTBrDgrFAcQBAAECAwQFBgjDAQtBAgwGC0EDDAULQQQMBAtBBQwDC0EGDAILQQcMAQtBCAshA0EAIQFBACEGDL0BC0EJIQNBASEAQQAhAUEAIQYMvAELIAEgBEYEQEHdACEDDNMCCyABLQAAQS5HDbgBIAFBAWohAQyIAQsgASAERw22AUHfACEDDNECCyABIARHBEAgAkEONgIIIAIgATYCBEHQACEDDLgCC0HgACEDDNACC0HhACEDIAEgBEYNzwIgAigCACIAIAQgAWtqIQUgASAAa0EDaiEGA0AgAS0AACAAQeLCAGotAABHDbEBIABBA0YNswEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMzwILQeIAIQMgASAERg3OAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYDQCABLQAAIABB5sIAai0AAEcNsAEgAEECRg2vASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAzOAgtB4wAhAyABIARGDc0CIAIoAgAiACAEIAFraiEFIAEgAGtBA2ohBgNAIAEtAAAgAEHpwgBqLQAARw2vASAAQQNGDa0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADM0CCyABIARGBEBB5QAhAwzNAgsgAUEBaiEBQQAhAAJAIAIoAjgiA0UNACADKAIwIgNFDQAgAiADEQAAIQALIAANqgFB1gAhAwyzAgsgASAERwRAA0AgAS0AACIAQSBHBEACQAJAAkAgAEHIAGsOCwABswGzAbMBswGzAbMBswGzAQKzAQsgAUEBaiEBQdIAIQMMtwILIAFBAWohAUHTACEDDLYCCyABQQFqIQFB1AAhAwy1AgsgBCABQQFqIgFHDQALQeQAIQMMzAILQeQAIQMMywILA0AgAS0AAEHwwgBqLQAAIgBBAUcEQCAAQQJrDgOnAaYBpQGkAQsgBCABQQFqIgFHDQALQeYAIQMMygILIAFBAWogASAERw0CGkHnACEDDMkCCwNAIAEtAABB8MQAai0AACIAQQFHBEACQCAAQQJrDgSiAaEBoAEAnwELQdcAIQMMsQILIAQgAUEBaiIBRw0AC0HoACEDDMgCCyABIARGBEBB6QAhAwzIAgsCQCABLQAAIgBBCmsOGrcBmwGbAbQBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBpAGbAZsBAJkBCyABQQFqCyEBQQYhAwytAgsDQCABLQAAQfDGAGotAABBAUcNfSAEIAFBAWoiAUcNAAtB6gAhAwzFAgsgAUEBaiABIARHDQIaQesAIQMMxAILIAEgBEYEQEHsACEDDMQCCyABQQFqDAELIAEgBEYEQEHtACEDDMMCCyABQQFqCyEBQQQhAwyoAgsgASAERgRAQe4AIQMMwQILAkACQAJAIAEtAABB8MgAai0AAEEBaw4HkAGPAY4BAHwBAo0BCyABQQFqIQEMCwsgAUEBagyTAQtBACEDIAJBADYCHCACQZsSNgIQIAJBBzYCDCACIAFBAWo2AhQMwAILAkADQCABLQAAQfDIAGotAAAiAEEERwRAAkACQCAAQQFrDgeUAZMBkgGNAQAEAY0BC0HaACEDDKoCCyABQQFqIQFB3AAhAwypAgsgBCABQQFqIgFHDQALQe8AIQMMwAILIAFBAWoMkQELIAQgASIARgRAQfAAIQMMvwILIAAtAABBL0cNASAAQQFqIQEMBwsgBCABIgBGBEBB8QAhAwy+AgsgAC0AACIBQS9GBEAgAEEBaiEBQd0AIQMMpQILIAFBCmsiA0EWSw0AIAAhAUEBIAN0QYmAgAJxDfkBC0EAIQMgAkEANgIcIAIgADYCFCACQYwcNgIQIAJBBzYCDAy8AgsgASAERwRAIAFBAWohAUHeACEDDKMCC0HyACEDDLsCCyABIARGBEBB9AAhAwy7AgsCQCABLQAAQfDMAGotAABBAWsOA/cBcwCCAQtB4QAhAwyhAgsgASAERwRAA0AgAS0AAEHwygBqLQAAIgBBA0cEQAJAIABBAWsOAvkBAIUBC0HfACEDDKMCCyAEIAFBAWoiAUcNAAtB8wAhAwy6AgtB8wAhAwy5AgsgASAERwRAIAJBDzYCCCACIAE2AgRB4AAhAwygAgtB9QAhAwy4AgsgASAERgRAQfYAIQMMuAILIAJBDzYCCCACIAE2AgQLQQMhAwydAgsDQCABLQAAQSBHDY4CIAQgAUEBaiIBRw0AC0H3ACEDDLUCCyABIARGBEBB+AAhAwy1AgsgAS0AAEEgRw16IAFBAWohAQxbC0EAIQACQCACKAI4IgNFDQAgAygCOCIDRQ0AIAIgAxEAACEACyAADXgMgAILIAEgBEYEQEH6ACEDDLMCCyABLQAAQcwARw10IAFBAWohAUETDHYLQfsAIQMgASAERg2xAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYDQCABLQAAIABB8M4Aai0AAEcNcyAAQQVGDXUgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMsQILIAEgBEYEQEH8ACEDDLECCwJAAkAgAS0AAEHDAGsODAB0dHR0dHR0dHR0AXQLIAFBAWohAUHmACEDDJgCCyABQQFqIQFB5wAhAwyXAgtB/QAhAyABIARGDa8CIAIoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQe3PAGotAABHDXIgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADLACCyACQQA2AgAgBkEBaiEBQRAMcwtB/gAhAyABIARGDa4CIAIoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQfbOAGotAABHDXEgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADK8CCyACQQA2AgAgBkEBaiEBQRYMcgtB/wAhAyABIARGDa0CIAIoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQfzOAGotAABHDXAgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADK4CCyACQQA2AgAgBkEBaiEBQQUMcQsgASAERgRAQYABIQMMrQILIAEtAABB2QBHDW4gAUEBaiEBQQgMcAsgASAERgRAQYEBIQMMrAILAkACQCABLQAAQc4Aaw4DAG8BbwsgAUEBaiEBQesAIQMMkwILIAFBAWohAUHsACEDDJICCyABIARGBEBBggEhAwyrAgsCQAJAIAEtAABByABrDggAbm5ubm5uAW4LIAFBAWohAUHqACEDDJICCyABQQFqIQFB7QAhAwyRAgtBgwEhAyABIARGDakCIAIoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQYDPAGotAABHDWwgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADKoCCyACQQA2AgAgBkEBaiEBQQAMbQtBhAEhAyABIARGDagCIAIoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQYPPAGotAABHDWsgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADKkCCyACQQA2AgAgBkEBaiEBQSMMbAsgASAERgRAQYUBIQMMqAILAkACQCABLQAAQcwAaw4IAGtra2trawFrCyABQQFqIQFB7wAhAwyPAgsgAUEBaiEBQfAAIQMMjgILIAEgBEYEQEGGASEDDKcCCyABLQAAQcUARw1oIAFBAWohAQxgC0GHASEDIAEgBEYNpQIgAigCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBiM8Aai0AAEcNaCAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMpgILIAJBADYCACAGQQFqIQFBLQxpC0GIASEDIAEgBEYNpAIgAigCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABB0M8Aai0AAEcNZyAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMpQILIAJBADYCACAGQQFqIQFBKQxoCyABIARGBEBBiQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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AAADAEGUCAsFBAAAAAUAQaQICwkGAAAABwAAAAgAQdwIC4otSW52YWxpZCBjaGFyIGluIHVybCBxdWVyeQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2JvZHkAQ29udGVudC1MZW5ndGggb3ZlcmZsb3cAQ2h1bmsgc2l6ZSBvdmVyZmxvdwBSZXNwb25zZSBvdmVyZmxvdwBJbnZhbGlkIG1ldGhvZCBmb3IgSFRUUC94LnggcmVxdWVzdABJbnZhbGlkIG1ldGhvZCBmb3IgUlRTUC94LnggcmVxdWVzdABFeHBlY3RlZCBTT1VSQ0UgbWV0aG9kIGZvciBJQ0UveC54IHJlcXVlc3QASW52YWxpZCBjaGFyIGluIHVybCBmcmFnbWVudCBzdGFydABFeHBlY3RlZCBkb3QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9zdGF0dXMASW52YWxpZCByZXNwb25zZSBzdGF0dXMASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucwBVc2VyIGNhbGxiYWNrIGVycm9yAGBvbl9yZXNldGAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2hlYWRlcmAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfYmVnaW5gIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwBB+TULAQEAQZA2C+ABAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQf03CwEBAEGROAteAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgBB/TkLAQEAQZE6C14CAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEHwOwsNbG9zZWVlcC1hbGl2ZQBBiTwLAQEAQaA8C+ABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQYk+CwEBAEGgPgvnAQEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZABBsMAAC18BAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBBkMIACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQcDCAAstcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQoNClNNDQoNClRUUC9DRS9UU1AvAEH5wgALBQECAAEDAEGQwwAL4AEEAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cQACwUBAgABAwBBkMUAC+ABBAEBBQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQfnGAAsEAQAAAQBBkccAC98BAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+sgACwQBAAACAEGQyQALXwMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAEH6ygALBAEAAAEAQZDLAAsBAQBBqssAC0ECAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB+swACwQBAAABAEGQzQALAQEAQZrNAAsGAgAAAAACAEGxzQALOgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQfDOAAuWAU5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==", "base64");
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/constants.js
+var require_constants8 = __commonJS({
+  "node_modules/@actions/github/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/@actions/github/node_modules/undici/lib/web/fetch/global.js
+var require_global3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/global.js"(exports2, module2) {
+    "use strict";
+    var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
+    function getGlobalOrigin() {
+      return globalThis[globalOrigin];
     }
-    Decoder.prototype.write = function(str2) {
-      str2 = str2.replace(RE_PLUS, " ");
-      let res = "";
-      let i = 0;
-      let p = 0;
-      const len = str2.length;
-      for (; i < len; ++i) {
-        if (this.buffer !== void 0) {
-          if (!HEX[str2.charCodeAt(i)]) {
-            res += "%" + this.buffer;
-            this.buffer = void 0;
-            --i;
-          } else {
-            this.buffer += str2[i];
-            ++p;
-            if (this.buffer.length === 2) {
-              res += String.fromCharCode(parseInt(this.buffer, 16));
-              this.buffer = void 0;
-            }
-          }
-        } else if (str2[i] === "%") {
-          if (i > p) {
-            res += str2.substring(p, i);
-            p = i;
-          }
-          this.buffer = "";
-          ++p;
-        }
+    function setGlobalOrigin(newOrigin) {
+      if (newOrigin === void 0) {
+        Object.defineProperty(globalThis, globalOrigin, {
+          value: void 0,
+          writable: true,
+          enumerable: false,
+          configurable: false
+        });
+        return;
       }
-      if (p < len && this.buffer === void 0) {
-        res += str2.substring(p);
+      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 res;
-    };
-    Decoder.prototype.reset = function() {
-      this.buffer = void 0;
+      Object.defineProperty(globalThis, globalOrigin, {
+        value: parsedURL,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
+    }
+    module2.exports = {
+      getGlobalOrigin,
+      setGlobalOrigin
     };
-    module2.exports = Decoder;
   }
 });
 
-// node_modules/@fastify/busboy/lib/types/urlencoded.js
-var require_urlencoded = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/urlencoded.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js
+var require_data_url2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js"(exports2, module2) {
     "use strict";
-    var Decoder = require_Decoder();
-    var decodeText = require_decodeText();
-    var getLimit = require_getLimit();
-    var RE_CHARSET = /^charset$/i;
-    UrlEncoded.detect = /^application\/x-www-form-urlencoded/i;
-    function UrlEncoded(boy, cfg) {
-      const limits = cfg.limits;
-      const parsedConType = cfg.parsedConType;
-      this.boy = boy;
-      this.fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      this.fieldNameSizeLimit = getLimit(limits, "fieldNameSize", 100);
-      this.fieldsLimit = getLimit(limits, "fields", Infinity);
-      let charset;
-      for (var i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_CHARSET.test(parsedConType[i][0])) {
-          charset = parsedConType[i][1].toLowerCase();
-          break;
+    var assert = require("node:assert");
+    var encoder = new TextEncoder();
+    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+\-.^_|~A-Za-z0-9]+$/;
+    var HTTP_WHITESPACE_REGEX = /[\u000A\u000D\u0009\u0020]/;
+    var ASCII_WHITESPACE_REPLACE_REGEX = /[\u0009\u000A\u000C\u000D\u0020]/g;
+    var HTTP_QUOTED_STRING_TOKENS = /^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;
+    function dataURLProcessor(dataURL) {
+      assert(dataURL.protocol === "data:");
+      let input = URLSerializer(dataURL, true);
+      input = input.slice(5);
+      const position = { position: 0 };
+      let mimeType = collectASequenceOfCodePointsFast(
+        ",",
+        input,
+        position
+      );
+      const mimeTypeLength = mimeType.length;
+      mimeType = removeASCIIWhitespace(mimeType, true, true);
+      if (position.position >= input.length) {
+        return "failure";
+      }
+      position.position++;
+      const encodedBody = input.slice(mimeTypeLength + 1);
+      let body = stringPercentDecode(encodedBody);
+      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
+        const stringBody = isomorphicDecode(body);
+        body = forgivingBase64(stringBody);
+        if (body === "failure") {
+          return "failure";
         }
+        mimeType = mimeType.slice(0, -6);
+        mimeType = mimeType.replace(/(\u0020)+$/, "");
+        mimeType = mimeType.slice(0, -1);
       }
-      if (charset === void 0) {
-        charset = cfg.defCharset || "utf8";
+      if (mimeType.startsWith(";")) {
+        mimeType = "text/plain" + mimeType;
       }
-      this.decoder = new Decoder();
-      this.charset = charset;
-      this._fields = 0;
-      this._state = "key";
-      this._checkingBytes = true;
-      this._bytesKey = 0;
-      this._bytesVal = 0;
-      this._key = "";
-      this._val = "";
-      this._keyTrunc = false;
-      this._valTrunc = false;
-      this._hitLimit = false;
+      let mimeTypeRecord = parseMIMEType(mimeType);
+      if (mimeTypeRecord === "failure") {
+        mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
+      }
+      return { mimeType: mimeTypeRecord, body };
     }
-    UrlEncoded.prototype.write = function(data, cb) {
-      if (this._fields === this.fieldsLimit) {
-        if (!this.boy.hitFieldsLimit) {
-          this.boy.hitFieldsLimit = true;
-          this.boy.emit("fieldsLimit");
+    function URLSerializer(url2, excludeFragment = false) {
+      if (!excludeFragment) {
+        return url2.href;
+      }
+      const href = url2.href;
+      const hashLength = url2.hash.length;
+      const serialized = hashLength === 0 ? href : href.substring(0, href.length - hashLength);
+      if (!hashLength && href.endsWith("#")) {
+        return serialized.slice(0, -1);
+      }
+      return serialized;
+    }
+    function collectASequenceOfCodePoints(condition, input, position) {
+      let result = "";
+      while (position.position < input.length && condition(input[position.position])) {
+        result += input[position.position];
+        position.position++;
+      }
+      return result;
+    }
+    function collectASequenceOfCodePointsFast(char, input, position) {
+      const idx = input.indexOf(char, position.position);
+      const start = position.position;
+      if (idx === -1) {
+        position.position = input.length;
+        return input.slice(start);
+      }
+      position.position = idx;
+      return input.slice(start, position.position);
+    }
+    function stringPercentDecode(input) {
+      const bytes = encoder.encode(input);
+      return percentDecode(bytes);
+    }
+    function isHexCharByte(byte) {
+      return byte >= 48 && byte <= 57 || byte >= 65 && byte <= 70 || byte >= 97 && byte <= 102;
+    }
+    function hexByteToNumber(byte) {
+      return (
+        // 0-9
+        byte >= 48 && byte <= 57 ? byte - 48 : (byte & 223) - 55
+      );
+    }
+    function 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 cb();
       }
-      let idxeq;
-      let idxamp;
-      let i;
-      let p = 0;
-      const len = data.length;
-      while (p < len) {
-        if (this._state === "key") {
-          idxeq = idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 61) {
-              idxeq = i;
-              break;
-            } else if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesKey === this.fieldNameSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesKey;
-            }
-          }
-          if (idxeq !== void 0) {
-            if (idxeq > p) {
-              this._key += this.decoder.write(data.toString("binary", p, idxeq));
-            }
-            this._state = "val";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._val = "";
-            this._bytesVal = 0;
-            this._valTrunc = false;
-            this.decoder.reset();
-            p = idxeq + 1;
-          } else if (idxamp !== void 0) {
-            ++this._fields;
-            let key;
-            const keyTrunc = this._keyTrunc;
-            if (idxamp > p) {
-              key = this._key += this.decoder.write(data.toString("binary", p, idxamp));
-            } else {
-              key = this._key;
-            }
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            if (key.length) {
-              this.boy.emit(
-                "field",
-                decodeText(key, "binary", this.charset),
-                "",
-                keyTrunc,
-                false
-              );
-            }
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._key += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if ((this._bytesKey = this._key.length) === this.fieldNameSizeLimit) {
-              this._checkingBytes = false;
-              this._keyTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._key += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+      return length === j ? output : output.subarray(0, j);
+    }
+    function parseMIMEType(input) {
+      input = removeHTTPWhitespace(input, true, true);
+      const position = { position: 0 };
+      const type2 = collectASequenceOfCodePointsFast(
+        "/",
+        input,
+        position
+      );
+      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
+        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 = type2.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 {
-          idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesVal === this.fieldSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesVal;
-            }
+          parameterValue = collectASequenceOfCodePointsFast(
+            ";",
+            input,
+            position
+          );
+          parameterValue = removeHTTPWhitespace(parameterValue, false, true);
+          if (parameterValue.length === 0) {
+            continue;
           }
-          if (idxamp !== void 0) {
-            ++this._fields;
-            if (idxamp > p) {
-              this._val += this.decoder.write(data.toString("binary", p, idxamp));
-            }
-            this.boy.emit(
-              "field",
-              decodeText(this._key, "binary", this.charset),
-              decodeText(this._val, "binary", this.charset),
-              this._keyTrunc,
-              this._valTrunc
-            );
-            this._state = "key";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._val += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if (this._val === "" && this.fieldSizeLimit === 0 || (this._bytesVal = this._val.length) === this.fieldSizeLimit) {
-              this._checkingBytes = false;
-              this._valTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._val += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+        }
+        if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {
+          mimeType.parameters.set(parameterName, parameterValue);
+        }
+      }
+      return mimeType;
+    }
+    function forgivingBase64(data) {
+      data = data.replace(ASCII_WHITESPACE_REPLACE_REGEX, "");
+      let dataLength = data.length;
+      if (dataLength % 4 === 0) {
+        if (data.charCodeAt(dataLength - 1) === 61) {
+          --dataLength;
+          if (data.charCodeAt(dataLength - 1) === 61) {
+            --dataLength;
           }
         }
       }
-      cb();
-    };
-    UrlEncoded.prototype.end = function() {
-      if (this.boy._done) {
-        return;
+      if (dataLength % 4 === 1) {
+        return "failure";
       }
-      if (this._state === "key" && this._key.length > 0) {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          "",
-          this._keyTrunc,
-          false
-        );
-      } else if (this._state === "val") {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          decodeText(this._val, "binary", this.charset),
-          this._keyTrunc,
-          this._valTrunc
+      if (/[^+/0-9A-Za-z]/.test(data.length === dataLength ? data : data.substring(0, dataLength))) {
+        return "failure";
+      }
+      const buffer = Buffer.from(data, "base64");
+      return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);
+    }
+    function collectAnHTTPQuotedString(input, position, extractValue) {
+      const positionStart = position.position;
+      let value = "";
+      assert(input[position.position] === '"');
+      position.position++;
+      while (true) {
+        value += collectASequenceOfCodePoints(
+          (char) => char !== '"' && char !== "\\",
+          input,
+          position
         );
+        if (position.position >= input.length) {
+          break;
+        }
+        const quoteOrBackslash = input[position.position];
+        position.position++;
+        if (quoteOrBackslash === "\\") {
+          if (position.position >= input.length) {
+            value += "\\";
+            break;
+          }
+          value += input[position.position];
+          position.position++;
+        } else {
+          assert(quoteOrBackslash === '"');
+          break;
+        }
       }
-      this.boy._done = true;
-      this.boy.emit("finish");
-    };
-    module2.exports = UrlEncoded;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/main.js
-var require_main = __commonJS({
-  "node_modules/@fastify/busboy/lib/main.js"(exports2, module2) {
-    "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var MultipartParser = require_multipart();
-    var UrlencodedParser = require_urlencoded();
-    var parseParams = require_parseParams();
-    function Busboy(opts) {
-      if (!(this instanceof Busboy)) {
-        return new Busboy(opts);
+      if (extractValue) {
+        return value;
       }
-      if (typeof opts !== "object") {
-        throw new TypeError("Busboy expected an options-Object.");
+      return input.slice(positionStart, position.position);
+    }
+    function serializeAMimeType(mimeType) {
+      assert(mimeType !== "failure");
+      const { parameters, essence } = mimeType;
+      let serialization = essence;
+      for (let [name, value] of parameters.entries()) {
+        serialization += ";";
+        serialization += name;
+        serialization += "=";
+        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
+          value = value.replace(/(\\|")/g, "\\$1");
+          value = '"' + value;
+          value += '"';
+        }
+        serialization += value;
       }
-      if (typeof opts.headers !== "object") {
-        throw new TypeError("Busboy expected an options-Object with headers-attribute.");
+      return serialization;
+    }
+    function isHTTPWhiteSpace(char) {
+      return char === 13 || char === 10 || char === 9 || char === 32;
+    }
+    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isHTTPWhiteSpace);
+    }
+    function isASCIIWhitespace(char) {
+      return char === 13 || char === 10 || char === 9 || char === 12 || char === 32;
+    }
+    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isASCIIWhitespace);
+    }
+    function removeChars(str2, leading, trailing, predicate) {
+      let lead = 0;
+      let trail = str2.length - 1;
+      if (leading) {
+        while (lead < str2.length && predicate(str2.charCodeAt(lead))) lead++;
       }
-      if (typeof opts.headers["content-type"] !== "string") {
-        throw new TypeError("Missing Content-Type-header.");
+      if (trailing) {
+        while (trail > 0 && predicate(str2.charCodeAt(trail))) trail--;
       }
-      const {
-        headers,
-        ...streamOptions
-      } = opts;
-      this.opts = {
-        autoDestroy: false,
-        ...streamOptions
-      };
-      WritableStream.call(this, this.opts);
-      this._done = false;
-      this._parser = this.getParserByHeaders(headers);
-      this._finished = false;
+      return lead === 0 && trail === str2.length - 1 ? str2 : str2.slice(lead, trail + 1);
     }
-    inherits(Busboy, WritableStream);
-    Busboy.prototype.emit = function(ev) {
-      if (ev === "finish") {
-        if (!this._done) {
-          this._parser?.end();
-          return;
-        } else if (this._finished) {
-          return;
-        }
-        this._finished = true;
-      }
-      WritableStream.prototype.emit.apply(this, arguments);
-    };
-    Busboy.prototype.getParserByHeaders = function(headers) {
-      const parsed = parseParams(headers["content-type"]);
-      const cfg = {
-        defCharset: this.opts.defCharset,
-        fileHwm: this.opts.fileHwm,
-        headers,
-        highWaterMark: this.opts.highWaterMark,
-        isPartAFile: this.opts.isPartAFile,
-        limits: this.opts.limits,
-        parsedConType: parsed,
-        preservePath: this.opts.preservePath
-      };
-      if (MultipartParser.detect.test(parsed[0])) {
-        return new MultipartParser(this, cfg);
+    function isomorphicDecode(input) {
+      const length = input.length;
+      if ((2 << 15) - 1 > length) {
+        return String.fromCharCode.apply(null, input);
       }
-      if (UrlencodedParser.detect.test(parsed[0])) {
-        return new UrlencodedParser(this, cfg);
+      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));
       }
-      throw new Error("Unsupported Content-Type.");
-    };
-    Busboy.prototype._write = function(chunk, encoding, cb) {
-      this._parser.write(chunk, cb);
-    };
-    module2.exports = Busboy;
-    module2.exports.default = Busboy;
-    module2.exports.Busboy = Busboy;
-    module2.exports.Dicer = Dicer;
-  }
-});
-
-// node_modules/undici/lib/fetch/constants.js
-var require_constants7 = __commonJS({
-  "node_modules/undici/lib/fetch/constants.js"(exports2, module2) {
-    "use strict";
-    var { MessageChannel, receiveMessageOnPort } = require("worker_threads");
-    var corsSafeListedMethods = ["GET", "HEAD", "POST"];
-    var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
-    var nullBodyStatus = [101, 204, 205, 304];
-    var redirectStatus = [301, 302, 303, 307, 308];
-    var redirectStatusSet = new Set(redirectStatus);
-    var badPorts = [
-      "1",
-      "7",
-      "9",
-      "11",
-      "13",
-      "15",
-      "17",
-      "19",
-      "20",
-      "21",
-      "22",
-      "23",
-      "25",
-      "37",
-      "42",
-      "43",
-      "53",
-      "69",
-      "77",
-      "79",
-      "87",
-      "95",
-      "101",
-      "102",
-      "103",
-      "104",
-      "109",
-      "110",
-      "111",
-      "113",
-      "115",
-      "117",
-      "119",
-      "123",
-      "135",
-      "137",
-      "139",
-      "143",
-      "161",
-      "179",
-      "389",
-      "427",
-      "465",
-      "512",
-      "513",
-      "514",
-      "515",
-      "526",
-      "530",
-      "531",
-      "532",
-      "540",
-      "548",
-      "554",
-      "556",
-      "563",
-      "587",
-      "601",
-      "636",
-      "989",
-      "990",
-      "993",
-      "995",
-      "1719",
-      "1720",
-      "1723",
-      "2049",
-      "3659",
-      "4045",
-      "5060",
-      "5061",
-      "6000",
-      "6566",
-      "6665",
-      "6666",
-      "6667",
-      "6668",
-      "6669",
-      "6697",
-      "10080"
-    ];
-    var badPortsSet = new Set(badPorts);
-    var referrerPolicy = [
-      "",
-      "no-referrer",
-      "no-referrer-when-downgrade",
-      "same-origin",
-      "origin",
-      "strict-origin",
-      "origin-when-cross-origin",
-      "strict-origin-when-cross-origin",
-      "unsafe-url"
-    ];
-    var referrerPolicySet = new Set(referrerPolicy);
-    var requestRedirect = ["follow", "manual", "error"];
-    var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"];
-    var safeMethodsSet = new Set(safeMethods);
-    var requestMode = ["navigate", "same-origin", "no-cors", "cors"];
-    var requestCredentials = ["omit", "same-origin", "include"];
-    var requestCache = [
-      "default",
-      "no-store",
-      "reload",
-      "no-cache",
-      "force-cache",
-      "only-if-cached"
-    ];
-    var requestBodyHeader = [
-      "content-encoding",
-      "content-language",
-      "content-location",
-      "content-type",
-      // See https://github.com/nodejs/undici/issues/2021
-      // 'Content-Length' is a forbidden header name, which is typically
-      // removed in the Headers implementation. However, undici doesn't
-      // filter out headers, so we add it here.
-      "content-length"
-    ];
-    var requestDuplex = [
-      "half"
-    ];
-    var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"];
-    var forbiddenMethodsSet = new Set(forbiddenMethods);
-    var subresource = [
-      "audio",
-      "audioworklet",
-      "font",
-      "image",
-      "manifest",
-      "paintworklet",
-      "script",
-      "style",
-      "track",
-      "video",
-      "xslt",
-      ""
-    ];
-    var subresourceSet = new Set(subresource);
-    var DOMException2 = globalThis.DOMException ?? (() => {
-      try {
-        atob("~");
-      } catch (err) {
-        return Object.getPrototypeOf(err).constructor;
+      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";
       }
-    })();
-    var channel;
-    var structuredClone = globalThis.structuredClone ?? // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js
-    // structuredClone was added in v17.0.0, but fetch supports v16.8
-    function structuredClone2(value, options = void 0) {
-      if (arguments.length === 0) {
-        throw new TypeError("missing argument");
+      if (mimeType.subtype.endsWith("+json")) {
+        return "application/json";
       }
-      if (!channel) {
-        channel = new MessageChannel();
+      if (mimeType.subtype.endsWith("+xml")) {
+        return "application/xml";
       }
-      channel.port1.unref();
-      channel.port2.unref();
-      channel.port1.postMessage(value, options?.transfer);
-      return receiveMessageOnPort(channel.port2).message;
-    };
+      return "";
+    }
     module2.exports = {
-      DOMException: DOMException2,
-      structuredClone,
-      subresource,
-      forbiddenMethods,
-      requestBodyHeader,
-      referrerPolicy,
-      requestRedirect,
-      requestMode,
-      requestCredentials,
-      requestCache,
-      redirectStatus,
-      corsSafeListedMethods,
-      nullBodyStatus,
-      safeMethods,
-      badPorts,
-      requestDuplex,
-      subresourceSet,
-      badPortsSet,
-      redirectStatusSet,
-      corsSafeListedMethodsSet,
-      safeMethodsSet,
-      forbiddenMethodsSet,
-      referrerPolicySet
+      dataURLProcessor,
+      URLSerializer,
+      collectASequenceOfCodePoints,
+      collectASequenceOfCodePointsFast,
+      stringPercentDecode,
+      parseMIMEType,
+      collectAnHTTPQuotedString,
+      serializeAMimeType,
+      removeChars,
+      removeHTTPWhitespace,
+      minimizeSupportedMimeType,
+      HTTP_TOKEN_CODEPOINTS,
+      isomorphicDecode
     };
   }
 });
 
-// node_modules/undici/lib/fetch/global.js
-var require_global3 = __commonJS({
-  "node_modules/undici/lib/fetch/global.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/webidl.js
+var require_webidl2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/webidl.js"(exports2, module2) {
     "use strict";
-    var globalOrigin = /* @__PURE__ */ 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;
+    var { types, inspect } = require("node:util");
+    var { markAsUncloneable } = require("node:worker_threads");
+    var { toUSVString } = require_util9();
+    var webidl = {};
+    webidl.converters = {};
+    webidl.util = {};
+    webidl.errors = {};
+    webidl.errors.exception = function(message) {
+      return new TypeError(`${message.header}: ${message.message}`);
+    };
+    webidl.errors.conversionFailed = function(context3) {
+      const plural = context3.types.length === 1 ? "" : " one of";
+      const message = `${context3.argument} could not be converted to${plural}: ${context3.types.join(", ")}.`;
+      return webidl.errors.exception({
+        header: context3.prefix,
+        message
+      });
+    };
+    webidl.errors.invalidArgument = function(context3) {
+      return webidl.errors.exception({
+        header: context3.prefix,
+        message: `"${context3.value}" is an invalid ${context3.type}.`
+      });
+    };
+    webidl.brandCheck = function(V, I, opts) {
+      if (opts?.strict !== false) {
+        if (!(V instanceof I)) {
+          const err = new TypeError("Illegal invocation");
+          err.code = "ERR_INVALID_THIS";
+          throw err;
+        }
+      } else {
+        if (V?.[Symbol.toStringTag] !== I.prototype[Symbol.toStringTag]) {
+          const err = new TypeError("Illegal invocation");
+          err.code = "ERR_INVALID_THIS";
+          throw err;
+        }
       }
-      const parsedURL = new URL(newOrigin);
-      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
-        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
+    };
+    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
+        });
       }
-      Object.defineProperty(globalThis, globalOrigin, {
-        value: parsedURL,
-        writable: true,
-        enumerable: false,
-        configurable: false
+    };
+    webidl.illegalConstructor = function() {
+      throw webidl.errors.exception({
+        header: "TypeError",
+        message: "Illegal constructor"
       });
-    }
-    module2.exports = {
-      getGlobalOrigin,
-      setGlobalOrigin
     };
-  }
-});
-
-// node_modules/undici/lib/fetch/util.js
-var require_util10 = __commonJS({
-  "node_modules/undici/lib/fetch/util.js"(exports2, module2) {
-    "use strict";
-    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants7();
-    var { getGlobalOrigin } = require_global3();
-    var { performance: performance3 } = require("perf_hooks");
-    var { isBlobLike, toUSVString, ReadableStreamFrom } = require_util9();
-    var assert = require("assert");
-    var { isUint8Array } = require("util/types");
-    var supportedHashes = [];
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
-      supportedHashes = crypto2.getHashes().filter((hash2) => possibleRelevantHashes.includes(hash2));
-    } 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");
-      if (location !== null && isValidHeaderValue(location)) {
-        location = new URL(location, responseURL(response));
+    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";
+        }
       }
-      if (location && !location.hash) {
-        location.hash = requestFragment;
+    };
+    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;
       }
-      return location;
-    }
-    function requestCurrentURL(request2) {
-      return request2.urlList[request2.urlList.length - 1];
-    }
-    function requestBadPort(request2) {
-      const url2 = requestCurrentURL(request2);
-      if (urlIsHttpHttpsScheme(url2) && badPortsSet.has(url2.port)) {
-        return "blocked";
+      let x = Number(V);
+      if (x === 0) {
+        x = 0;
       }
-      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;
+      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;
       }
-      return true;
-    }
-    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;
+      if (!Number.isNaN(x) && opts?.clamp === true) {
+        x = Math.min(Math.max(x, lowerBound), upperBound);
+        if (Math.floor(x) % 2 === 0) {
+          x = Math.floor(x);
+        } else {
+          x = Math.ceil(x);
+        }
+        return x;
       }
-    }
-    function isValidHTTPToken(characters) {
-      if (characters.length === 0) {
-        return false;
+      if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
+        return 0;
       }
-      for (let i = 0; i < characters.length; ++i) {
-        if (!isTokenCharCode(characters.charCodeAt(i))) {
-          return false;
-        }
+      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 true;
-    }
-    function isValidHeaderName(potentialValue) {
-      return isValidHTTPToken(potentialValue);
-    }
-    function isValidHeaderValue(potentialValue) {
-      if (potentialValue.startsWith("	") || potentialValue.startsWith(" ") || potentialValue.endsWith("	") || potentialValue.endsWith(" ")) {
-        return false;
+      return x;
+    };
+    webidl.util.IntegerPart = function(n) {
+      const r = Math.floor(Math.abs(n));
+      if (n < 0) {
+        return -1 * r;
       }
-      if (potentialValue.includes("\0") || potentialValue.includes("\r") || potentialValue.includes("\n")) {
-        return false;
+      return r;
+    };
+    webidl.util.Stringify = function(V) {
+      const type2 = webidl.util.Type(V);
+      switch (type2) {
+        case "Symbol":
+          return `Symbol(${V.description})`;
+        case "Object":
+          return inspect(V);
+        case "String":
+          return `"${V}"`;
+        default:
+          return `${V}`;
       }
-      return true;
-    }
-    function setRequestReferrerPolicyOnRedirect(request2, actualResponse) {
-      const { headersList } = actualResponse;
-      const policyHeader = (headersList.get("referrer-policy") ?? "").split(",");
-      let policy = "";
-      if (policyHeader.length > 0) {
-        for (let i = policyHeader.length; i !== 0; i--) {
-          const token = policyHeader[i - 1].trim();
-          if (referrerPolicyTokens.has(token)) {
-            policy = token;
+    };
+    webidl.sequenceConverter = function(converter) {
+      return (V, prefix, argument, Iterable) => {
+        if (webidl.util.Type(V) !== "Object") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `${argument} (${webidl.util.Stringify(V)}) is not iterable.`
+          });
+        }
+        const method = typeof Iterable === "function" ? Iterable() : V?.[Symbol.iterator]?.();
+        const seq2 = [];
+        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;
           }
+          seq2.push(converter(value, prefix, `${argument}[${index++}]`));
         }
-      }
-      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);
-    }
-    function appendRequestOriginHeader(request2) {
-      let serializedOrigin = request2.origin;
-      if (request2.responseTainting === "cors" || request2.mode === "websocket") {
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
+        return seq2;
+      };
+    };
+    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.`
+          });
         }
-      } else if (request2.method !== "GET" && request2.method !== "HEAD") {
-        switch (request2.referrerPolicy) {
-          case "no-referrer":
-            serializedOrigin = null;
-            break;
-          case "no-referrer-when-downgrade":
-          case "strict-origin":
-          case "strict-origin-when-cross-origin":
-            if (request2.origin && urlHasHttpsScheme(request2.origin) && !urlHasHttpsScheme(requestCurrentURL(request2))) {
-              serializedOrigin = null;
-            }
-            break;
-          case "same-origin":
-            if (!sameOrigin(request2, requestCurrentURL(request2))) {
-              serializedOrigin = null;
-            }
-            break;
-          default:
+        const 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;
         }
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
+        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;
+          }
         }
-      }
-    }
-    function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
-      return performance3.now();
-    }
-    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
+        return result;
       };
-    }
-    function makePolicyContainer() {
-      return {
-        referrerPolicy: "strict-origin-when-cross-origin"
+    };
+    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;
       };
-    }
-    function clonePolicyContainer(policyContainer) {
-      return {
-        referrerPolicy: policyContainer.referrerPolicy
+    };
+    webidl.dictionaryConverter = function(converters) {
+      return (dictionary, prefix, argument) => {
+        const type2 = webidl.util.Type(dictionary);
+        const dict = {};
+        if (type2 === "Null" || type2 === "Undefined") {
+          return dict;
+        } else if (type2 !== "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);
+    };
+    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/@actions/github/node_modules/undici/lib/web/fetch/util.js
+var require_util10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/util.js"(exports2, module2) {
+    "use strict";
+    var { Transform } = require("node:stream");
+    var zlib3 = require("node:zlib");
+    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants8();
+    var { getGlobalOrigin } = require_global3();
+    var { collectASequenceOfCodePoints, collectAnHTTPQuotedString, removeChars, parseMIMEType } = require_data_url2();
+    var { performance: performance3 } = require("node:perf_hooks");
+    var { isBlobLike, ReadableStreamFrom, isValidHTTPToken, normalizedMethodRecordsBase } = require_util9();
+    var assert = require("node:assert");
+    var { isUint8Array } = require("node:util/types");
+    var { webidl } = require_webidl2();
+    var supportedHashes = [];
+    var crypto2;
+    try {
+      crypto2 = require("node:crypto");
+      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
+      supportedHashes = crypto2.getHashes().filter((hash2) => possibleRelevantHashes.includes(hash2));
+    } 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(url2) {
+      for (let i = 0; i < url2.length; ++i) {
+        const code = url2.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 url2 = requestCurrentURL(request2);
+      if (urlIsHttpHttpsScheme(url2) && badPortsSet.has(url2.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 token = policyHeader[i - 1].trim();
+          if (referrerPolicyTokens.has(token)) {
+            policy = token;
+            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(timestamp2, crossOriginIsolatedCapability) {
+      return timestamp2;
+    }
+    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(performance3.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) {
@@ -24897,6 +25501,7 @@ var require_util10 = __commonJS({
     }
     function stripURLForReferrer(url2, originOnly) {
       assert(url2 instanceof URL);
+      url2 = new URL(url2);
       if (url2.protocol === "file:" || url2.protocol === "about:" || url2.protocol === "blank:") {
         return "no-referrer";
       }
@@ -25052,23 +25657,8 @@ var require_util10 = __commonJS({
     function isCancelled(fetchParams) {
       return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";
     }
-    var normalizeMethodRecord = {
-      delete: "DELETE",
-      DELETE: "DELETE",
-      get: "GET",
-      GET: "GET",
-      head: "HEAD",
-      HEAD: "HEAD",
-      options: "OPTIONS",
-      OPTIONS: "OPTIONS",
-      post: "POST",
-      POST: "POST",
-      put: "PUT",
-      PUT: "PUT"
-    };
-    Object.setPrototypeOf(normalizeMethodRecord, null);
     function normalizeMethod(method) {
-      return normalizeMethodRecord[method.toLowerCase()] ?? method;
+      return normalizedMethodRecordsBase[method.toLowerCase()] ?? method;
     }
     function serializeJavascriptValueToJSONString(value) {
       const result = JSON.stringify(value);
@@ -25079,53 +25669,131 @@ var require_util10 = __commonJS({
       return result;
     }
     var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
-    function makeIterator(iterator2, name, kind) {
-      const object = {
-        index: 0,
-        kind,
-        target: iterator2
-      };
-      const i = {
+    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 (Object.getPrototypeOf(this) !== i) {
+          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, kind: kind2, target } = object;
-          const values = target();
+          const index = this.#index;
+          const values = this.#target[kInternalIterator];
           const len = values.length;
           if (index >= len) {
-            return { value: void 0, done: true };
+            return {
+              value: void 0,
+              done: true
+            };
           }
-          const pair = values[index];
-          object.index = index + 1;
-          return iteratorResult(pair, kind2);
+          const { [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`
         },
-        // The class string of an iterator prototype object for a given interface is the
-        // result of concatenating the identifier of the interface and the string " Iterator".
-        [Symbol.toStringTag]: `${name} Iterator`
+        next: { writable: true, enumerable: true, configurable: true }
+      });
+      return function(target, kind) {
+        return new FastIterableIterator(target, kind);
       };
-      Object.setPrototypeOf(i, esIteratorPrototype);
-      return Object.setPrototypeOf({}, i);
     }
-    function iteratorResult(pair, kind) {
-      let result;
-      switch (kind) {
-        case "key": {
-          result = pair[0];
-          break;
-        }
-        case "value": {
-          result = pair[1];
-          break;
+    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);
+            }
+          }
         }
-        case "key+value": {
-          result = pair;
-          break;
+      };
+      return Object.defineProperties(object.prototype, {
+        ...properties,
+        [Symbol.iterator]: {
+          writable: true,
+          enumerable: false,
+          configurable: true,
+          value: properties.entries.value
         }
-      }
-      return { value: result, done: false };
+      });
     }
     async function fullyReadBody(body, processBody, processBodyError) {
       const successSteps = processBody;
@@ -25138,39 +25806,27 @@ var require_util10 = __commonJS({
         return;
       }
       try {
-        const result = await readAllBytes(reader);
-        successSteps(result);
+        successSteps(await readAllBytes(reader));
       } catch (e) {
         errorSteps(e);
       }
     }
-    var ReadableStream2 = globalThis.ReadableStream;
     function isReadableStreamLike(stream2) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      return stream2 instanceof ReadableStream2 || stream2[Symbol.toStringTag] === "ReadableStream" && typeof stream2.tee === "function";
-    }
-    var MAXIMUM_ARGUMENT_LENGTH = 65535;
-    function isomorphicDecode(input) {
-      if (input.length < MAXIMUM_ARGUMENT_LENGTH) {
-        return String.fromCharCode(...input);
-      }
-      return input.reduce((previous, current) => previous + String.fromCharCode(current), "");
+      return stream2 instanceof ReadableStream || stream2[Symbol.toStringTag] === "ReadableStream" && typeof stream2.tee === "function";
     }
     function readableStreamClose(controller) {
       try {
         controller.close();
+        controller.byobRequest?.respond(0);
       } catch (err) {
-        if (!err.message.includes("Controller is already closed")) {
+        if (!err.message.includes("Controller is already closed") && !err.message.includes("ReadableStream is already closed")) {
           throw err;
         }
       }
     }
+    var invalidIsomorphicEncodeValueRegex = /[^\x00-\xFF]/;
     function isomorphicEncode(input) {
-      for (let i = 0; i < input.length; i++) {
-        assert(input.charCodeAt(i) <= 255);
-      }
+      assert(!invalidIsomorphicEncodeValueRegex.test(input));
       return input;
     }
     async function readAllBytes(reader) {
@@ -25194,24 +25850,223 @@ var require_util10 = __commonJS({
       return protocol === "about:" || protocol === "blob:" || protocol === "data:";
     }
     function urlHasHttpsScheme(url2) {
-      if (typeof url2 === "string") {
-        return url2.startsWith("https:");
-      }
-      return url2.protocol === "https:";
+      return typeof url2 === "string" && url2[5] === ":" && url2[0] === "h" && url2[1] === "t" && url2[2] === "t" && url2[3] === "p" && url2[4] === "s" || url2.protocol === "https:";
     }
     function urlIsHttpHttpsScheme(url2) {
       assert("protocol" in url2);
       const protocol = url2.protocol;
       return protocol === "http:" || protocol === "https:";
     }
-    var hasOwn = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key));
+    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 ? zlib3.createInflate(this.#zlibOptions) : zlib3.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,
-      toUSVString,
       tryUpgradeRequestToAPotentiallyTrustworthyURL,
+      clampAndCoarsenConnectionTimingInfo,
       coarsenedSharedCurrentTime,
       determineRequestsReferrer,
       makePolicyContainer,
@@ -25234,927 +26089,160 @@ var require_util10 = __commonJS({
       sameOrigin,
       normalizeMethod,
       serializeJavascriptValueToJSONString,
-      makeIterator,
+      iteratorMixin,
+      createIterator,
       isValidHeaderName,
       isValidHeaderValue,
-      hasOwn,
       isErrorLike,
       fullyReadBody,
       bytesMatch,
       isReadableStreamLike,
       readableStreamClose,
       isomorphicEncode,
-      isomorphicDecode,
       urlIsLocal,
       urlHasHttpsScheme,
       urlIsHttpHttpsScheme,
       readAllBytes,
-      normalizeMethodRecord,
-      parseMetadata
+      simpleRangeHeaderValue,
+      buildContentRange,
+      parseMetadata,
+      createInflate,
+      extractMimeType,
+      getDecodeSplit,
+      utf8DecodeBytes,
+      environmentSettingsObject
     };
   }
 });
 
-// node_modules/undici/lib/fetch/symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js
 var require_symbols7 = __commonJS({
-  "node_modules/undici/lib/fetch/symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js"(exports2, module2) {
     "use strict";
     module2.exports = {
       kUrl: /* @__PURE__ */ Symbol("url"),
       kHeaders: /* @__PURE__ */ Symbol("headers"),
       kSignal: /* @__PURE__ */ Symbol("signal"),
       kState: /* @__PURE__ */ Symbol("state"),
-      kGuard: /* @__PURE__ */ Symbol("guard"),
-      kRealm: /* @__PURE__ */ Symbol("realm")
+      kDispatcher: /* @__PURE__ */ Symbol("dispatcher")
     };
   }
 });
 
-// node_modules/undici/lib/fetch/webidl.js
-var require_webidl2 = __commonJS({
-  "node_modules/undici/lib/fetch/webidl.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js
+var require_file2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js"(exports2, module2) {
     "use strict";
-    var { types } = require("util");
-    var { hasOwn, toUSVString } = require_util10();
-    var webidl = {};
-    webidl.converters = {};
-    webidl.util = {};
-    webidl.errors = {};
-    webidl.errors.exception = function(message) {
-      return new TypeError(`${message.header}: ${message.message}`);
-    };
-    webidl.errors.conversionFailed = function(context3) {
-      const plural = context3.types.length === 1 ? "" : " one of";
-      const message = `${context3.argument} could not be converted to${plural}: ${context3.types.join(", ")}.`;
-      return webidl.errors.exception({
-        header: context3.prefix,
-        message
-      });
-    };
-    webidl.errors.invalidArgument = function(context3) {
-      return webidl.errors.exception({
-        header: context3.prefix,
-        message: `"${context3.value}" is an invalid ${context3.type}.`
-      });
-    };
-    webidl.brandCheck = function(V, I, opts = void 0) {
-      if (opts?.strict !== false && !(V instanceof I)) {
-        throw new TypeError("Illegal invocation");
-      } else {
-        return V?.[Symbol.toStringTag] === I.prototype[Symbol.toStringTag];
+    var { Blob: Blob2, File: File2 } = require("node:buffer");
+    var { kState } = require_symbols7();
+    var { webidl } = require_webidl2();
+    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
+        };
       }
-    };
-    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.`,
-          ...ctx
-        });
+      stream(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.stream(...args);
       }
-    };
-    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";
-        }
+      arrayBuffer(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.arrayBuffer(...args);
       }
-    };
-    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;
+      slice(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.slice(...args);
       }
-      let x = Number(V);
-      if (x === 0) {
-        x = 0;
+      text(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.text(...args);
       }
-      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 ${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 size() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.size;
       }
-      if (!Number.isNaN(x) && opts.clamp === true) {
-        x = Math.min(Math.max(x, lowerBound), upperBound);
-        if (Math.floor(x) % 2 === 0) {
-          x = Math.floor(x);
-        } else {
-          x = Math.ceil(x);
-        }
-        return x;
+      get type() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.type;
       }
-      if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
-        return 0;
+      get name() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].name;
       }
-      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);
+      get lastModified() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].lastModified;
       }
-      return x;
-    };
-    webidl.util.IntegerPart = function(n) {
-      const r = Math.floor(Math.abs(n));
-      if (n < 0) {
-        return -1 * r;
+      get [Symbol.toStringTag]() {
+        return "File";
       }
-      return r;
     };
-    webidl.sequenceConverter = function(converter) {
-      return (V) => {
-        if (webidl.util.Type(V) !== "Object") {
-          throw webidl.errors.exception({
-            header: "Sequence",
-            message: `Value of type ${webidl.util.Type(V)} is not an Object.`
-          });
-        }
-        const method = V?.[Symbol.iterator]?.();
-        const seq2 = [];
-        if (method === void 0 || typeof method.next !== "function") {
-          throw webidl.errors.exception({
-            header: "Sequence",
-            message: "Object is not an iterator."
+    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
+    function isFileLike(object) {
+      return object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
+    }
+    module2.exports = { FileLike, isFileLike };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js
+var require_formdata2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js"(exports2, module2) {
+    "use strict";
+    var { isBlobLike, iteratorMixin } = require_util10();
+    var { kState } = require_symbols7();
+    var { kEnumerableProperty } = require_util9();
+    var { FileLike, isFileLike } = require_file2();
+    var { webidl } = require_webidl2();
+    var { File: NativeFile } = require("node:buffer");
+    var nodeUtil = require("node:util");
+    var File2 = globalThis.File ?? NativeFile;
+    var FormData2 = class _FormData {
+      constructor(form) {
+        webidl.util.markAsUncloneable(this);
+        if (form !== void 0) {
+          throw webidl.errors.conversionFailed({
+            prefix: "FormData constructor",
+            argument: "Argument 1",
+            types: ["undefined"]
           });
         }
-        while (true) {
-          const { done, value } = method.next();
-          if (done) {
-            break;
-          }
-          seq2.push(converter(value));
+        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'"
+          );
         }
-        return seq2;
-      };
-    };
-    webidl.recordConverter = function(keyConverter, valueConverter) {
-      return (O) => {
-        if (webidl.util.Type(O) !== "Object") {
-          throw webidl.errors.exception({
-            header: "Record",
-            message: `Value of type ${webidl.util.Type(O)} is not an Object.`
-          });
-        }
-        const result = {};
-        if (!types.isProxy(O)) {
-          const keys2 = Object.keys(O);
-          for (const key of keys2) {
-            const typedKey = keyConverter(key);
-            const typedValue = valueConverter(O[key]);
-            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);
-            const typedValue = valueConverter(O[key]);
-            result[typedKey] = typedValue;
-          }
-        }
-        return result;
-      };
-    };
-    webidl.interfaceConverter = function(i) {
-      return (V, opts = {}) => {
-        if (opts.strict !== false && !(V instanceof i)) {
-          throw webidl.errors.exception({
-            header: i.name,
-            message: `Expected ${V} to be an instance of ${i.name}.`
-          });
-        }
-        return V;
-      };
-    };
-    webidl.dictionaryConverter = function(converters) {
-      return (dictionary) => {
-        const type2 = webidl.util.Type(dictionary);
-        const dict = {};
-        if (type2 === "Null" || type2 === "Undefined") {
-          return dict;
-        } else if (type2 !== "Object") {
-          throw webidl.errors.exception({
-            header: "Dictionary",
-            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 (!hasOwn(dictionary, key)) {
-              throw webidl.errors.exception({
-                header: "Dictionary",
-                message: `Missing required key "${key}".`
-              });
-            }
-          }
-          let value = dictionary[key];
-          const hasDefault = hasOwn(options, "defaultValue");
-          if (hasDefault && value !== null) {
-            value = value ?? defaultValue;
-          }
-          if (required || hasDefault || value !== void 0) {
-            value = converter(value);
-            if (options.allowedValues && !options.allowedValues.includes(value)) {
-              throw webidl.errors.exception({
-                header: "Dictionary",
-                message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
-              });
-            }
-            dict[key] = value;
-          }
-        }
-        return dict;
-      };
-    };
-    webidl.nullableConverter = function(converter) {
-      return (V) => {
-        if (V === null) {
-          return V;
-        }
-        return converter(V);
-      };
-    };
-    webidl.converters.DOMString = function(V, opts = {}) {
-      if (V === null && opts.legacyNullToEmptyString) {
-        return "";
-      }
-      if (typeof V === "symbol") {
-        throw new TypeError("Could not convert argument of type symbol to string.");
-      }
-      return String(V);
-    };
-    webidl.converters.ByteString = function(V) {
-      const x = webidl.converters.DOMString(V);
-      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) {
-      const x = webidl.util.ConvertToInt(V, 64, "signed");
-      return x;
-    };
-    webidl.converters["unsigned long long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 64, "unsigned");
-      return x;
-    };
-    webidl.converters["unsigned long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 32, "unsigned");
-      return x;
-    };
-    webidl.converters["unsigned short"] = function(V, opts) {
-      const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts);
-      return x;
-    };
-    webidl.converters.ArrayBuffer = function(V, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {
-        throw webidl.errors.conversionFailed({
-          prefix: `${V}`,
-          argument: `${V}`,
-          types: ["ArrayBuffer"]
-        });
-      }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
-      }
-      return V;
-    };
-    webidl.converters.TypedArray = function(V, T, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {
-        throw webidl.errors.conversionFailed({
-          prefix: `${T.name}`,
-          argument: `${V}`,
-          types: [T.name]
-        });
-      }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
-      }
-      return V;
-    };
-    webidl.converters.DataView = function(V, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {
-        throw webidl.errors.exception({
-          header: "DataView",
-          message: "Object is not a DataView."
-        });
-      }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
-      }
-      return V;
-    };
-    webidl.converters.BufferSource = function(V, opts = {}) {
-      if (types.isAnyArrayBuffer(V)) {
-        return webidl.converters.ArrayBuffer(V, opts);
-      }
-      if (types.isTypedArray(V)) {
-        return webidl.converters.TypedArray(V, V.constructor);
-      }
-      if (types.isDataView(V)) {
-        return webidl.converters.DataView(V, opts);
-      }
-      throw new TypeError(`Could not convert ${V} to a BufferSource.`);
-    };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.ByteString
-    );
-    webidl.converters["sequence>"] = webidl.sequenceConverter(
-      webidl.converters["sequence"]
-    );
-    webidl.converters["record"] = webidl.recordConverter(
-      webidl.converters.ByteString,
-      webidl.converters.ByteString
-    );
-    module2.exports = {
-      webidl
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/dataURL.js
-var require_dataURL = __commonJS({
-  "node_modules/undici/lib/fetch/dataURL.js"(exports2, module2) {
-    var assert = require("assert");
-    var { atob: atob2 } = require("buffer");
-    var { isomorphicDecode } = require_util10();
-    var encoder = new TextEncoder();
-    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/;
-    var HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/;
-    var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/;
-    function dataURLProcessor(dataURL) {
-      assert(dataURL.protocol === "data:");
-      let input = URLSerializer(dataURL, true);
-      input = input.slice(5);
-      const position = { position: 0 };
-      let mimeType = collectASequenceOfCodePointsFast(
-        ",",
-        input,
-        position
-      );
-      const mimeTypeLength = mimeType.length;
-      mimeType = removeASCIIWhitespace(mimeType, true, true);
-      if (position.position >= input.length) {
-        return "failure";
-      }
-      position.position++;
-      const encodedBody = input.slice(mimeTypeLength + 1);
-      let body = stringPercentDecode(encodedBody);
-      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
-        const stringBody = isomorphicDecode(body);
-        body = forgivingBase64(stringBody);
-        if (body === "failure") {
-          return "failure";
-        }
-        mimeType = mimeType.slice(0, -6);
-        mimeType = mimeType.replace(/(\u0020)+$/, "");
-        mimeType = mimeType.slice(0, -1);
-      }
-      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 };
-    }
-    function URLSerializer(url2, excludeFragment = false) {
-      if (!excludeFragment) {
-        return url2.href;
-      }
-      const href = url2.href;
-      const hashLength = url2.hash.length;
-      return hashLength === 0 ? href : href.substring(0, href.length - hashLength);
-    }
-    function collectASequenceOfCodePoints(condition, input, position) {
-      let result = "";
-      while (position.position < input.length && condition(input[position.position])) {
-        result += input[position.position];
-        position.position++;
-      }
-      return result;
-    }
-    function collectASequenceOfCodePointsFast(char, input, position) {
-      const idx = input.indexOf(char, position.position);
-      const start = position.position;
-      if (idx === -1) {
-        position.position = input.length;
-        return input.slice(start);
-      }
-      position.position = idx;
-      return input.slice(start, position.position);
-    }
-    function stringPercentDecode(input) {
-      const bytes = encoder.encode(input);
-      return percentDecode(bytes);
-    }
-    function percentDecode(input) {
-      const output = [];
-      for (let i = 0; i < input.length; i++) {
-        const byte = input[i];
-        if (byte !== 37) {
-          output.push(byte);
-        } else if (byte === 37 && !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i + 1], input[i + 2]))) {
-          output.push(37);
-        } else {
-          const nextTwoBytes = String.fromCharCode(input[i + 1], input[i + 2]);
-          const bytePoint = Number.parseInt(nextTwoBytes, 16);
-          output.push(bytePoint);
-          i += 2;
-        }
-      }
-      return Uint8Array.from(output);
-    }
-    function parseMIMEType(input) {
-      input = removeHTTPWhitespace(input, true, true);
-      const position = { position: 0 };
-      const type2 = collectASequenceOfCodePointsFast(
-        "/",
-        input,
-        position
-      );
-      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
-        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 = type2.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;
-    }
-    function forgivingBase64(data) {
-      data = data.replace(/[\u0009\u000A\u000C\u000D\u0020]/g, "");
-      if (data.length % 4 === 0) {
-        data = data.replace(/=?=$/, "");
-      }
-      if (data.length % 4 === 1) {
-        return "failure";
-      }
-      if (/[^+/0-9A-Za-z]/.test(data)) {
-        return "failure";
-      }
-      const binary2 = atob2(data);
-      const bytes = new Uint8Array(binary2.length);
-      for (let byte = 0; byte < binary2.length; byte++) {
-        bytes[byte] = binary2.charCodeAt(byte);
-      }
-      return bytes;
-    }
-    function collectAnHTTPQuotedString(input, position, extractValue) {
-      const positionStart = position.position;
-      let value = "";
-      assert(input[position.position] === '"');
-      position.position++;
-      while (true) {
-        value += collectASequenceOfCodePoints(
-          (char) => char !== '"' && char !== "\\",
-          input,
-          position
-        );
-        if (position.position >= input.length) {
-          break;
-        }
-        const quoteOrBackslash = input[position.position];
-        position.position++;
-        if (quoteOrBackslash === "\\") {
-          if (position.position >= input.length) {
-            value += "\\";
-            break;
-          }
-          value += input[position.position];
-          position.position++;
-        } else {
-          assert(quoteOrBackslash === '"');
-          break;
-        }
-      }
-      if (extractValue) {
-        return value;
-      }
-      return input.slice(positionStart, position.position);
-    }
-    function serializeAMimeType(mimeType) {
-      assert(mimeType !== "failure");
-      const { parameters, essence } = mimeType;
-      let serialization = essence;
-      for (let [name, value] of parameters.entries()) {
-        serialization += ";";
-        serialization += name;
-        serialization += "=";
-        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
-          value = value.replace(/(\\|")/g, "\\$1");
-          value = '"' + value;
-          value += '"';
-        }
-        serialization += value;
-      }
-      return serialization;
-    }
-    function isHTTPWhiteSpace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === " ";
-    }
-    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
-      let lead = 0;
-      let trail = str2.length - 1;
-      if (leading) {
-        for (; lead < str2.length && isHTTPWhiteSpace(str2[lead]); lead++) ;
-      }
-      if (trailing) {
-        for (; trail > 0 && isHTTPWhiteSpace(str2[trail]); trail--) ;
-      }
-      return str2.slice(lead, trail + 1);
-    }
-    function isASCIIWhitespace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === "\f" || char === " ";
-    }
-    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
-      let lead = 0;
-      let trail = str2.length - 1;
-      if (leading) {
-        for (; lead < str2.length && isASCIIWhitespace(str2[lead]); lead++) ;
-      }
-      if (trailing) {
-        for (; trail > 0 && isASCIIWhitespace(str2[trail]); trail--) ;
-      }
-      return str2.slice(lead, trail + 1);
-    }
-    module2.exports = {
-      dataURLProcessor,
-      URLSerializer,
-      collectASequenceOfCodePoints,
-      collectASequenceOfCodePointsFast,
-      stringPercentDecode,
-      parseMIMEType,
-      collectAnHTTPQuotedString,
-      serializeAMimeType
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/file.js
-var require_file2 = __commonJS({
-  "node_modules/undici/lib/fetch/file.js"(exports2, module2) {
-    "use strict";
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { types } = require("util");
-    var { kState } = require_symbols7();
-    var { isBlobLike } = require_util10();
-    var { webidl } = require_webidl2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var { kEnumerableProperty } = require_util9();
-    var encoder = new TextEncoder();
-    var File2 = class _File extends Blob2 {
-      constructor(fileBits, fileName, options = {}) {
-        webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" });
-        fileBits = webidl.converters["sequence"](fileBits);
-        fileName = webidl.converters.USVString(fileName);
-        options = webidl.converters.FilePropertyBag(options);
-        const n = fileName;
-        let t = options.type;
-        let d;
-        substep: {
-          if (t) {
-            t = parseMIMEType(t);
-            if (t === "failure") {
-              t = "";
-              break substep;
-            }
-            t = serializeAMimeType(t).toLowerCase();
-          }
-          d = options.lastModified;
-        }
-        super(processBlobParts(fileBits, options), { type: t });
-        this[kState] = {
-          name: n,
-          lastModified: d,
-          type: t
-        };
-      }
-      get name() {
-        webidl.brandCheck(this, _File);
-        return this[kState].name;
-      }
-      get lastModified() {
-        webidl.brandCheck(this, _File);
-        return this[kState].lastModified;
-      }
-      get type() {
-        webidl.brandCheck(this, _File);
-        return this[kState].type;
-      }
-    };
-    var FileLike = class _FileLike {
-      constructor(blobLike, fileName, options = {}) {
-        const n = fileName;
-        const t = options.type;
-        const d = options.lastModified ?? Date.now();
-        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";
-      }
-    };
-    Object.defineProperties(File2.prototype, {
-      [Symbol.toStringTag]: {
-        value: "File",
-        configurable: true
-      },
-      name: kEnumerableProperty,
-      lastModified: kEnumerableProperty
-    });
-    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
-    webidl.converters.BlobPart = function(V, opts) {
-      if (webidl.util.Type(V) === "Object") {
-        if (isBlobLike(V)) {
-          return webidl.converters.Blob(V, { strict: false });
-        }
-        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
-          return webidl.converters.BufferSource(V, opts);
-        }
-      }
-      return webidl.converters.USVString(V, opts);
-    };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.BlobPart
-    );
-    webidl.converters.FilePropertyBag = webidl.dictionaryConverter([
-      {
-        key: "lastModified",
-        converter: webidl.converters["long long"],
-        get defaultValue() {
-          return Date.now();
-        }
-      },
-      {
-        key: "type",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "endings",
-        converter: (value) => {
-          value = webidl.converters.DOMString(value);
-          value = value.toLowerCase();
-          if (value !== "native") {
-            value = "transparent";
-          }
-          return value;
-        },
-        defaultValue: "transparent"
-      }
-    ]);
-    function processBlobParts(parts, options) {
-      const bytes = [];
-      for (const element of parts) {
-        if (typeof element === "string") {
-          let s = element;
-          if (options.endings === "native") {
-            s = convertLineEndingsNative(s);
-          }
-          bytes.push(encoder.encode(s));
-        } else if (types.isAnyArrayBuffer(element) || types.isTypedArray(element)) {
-          if (!element.buffer) {
-            bytes.push(new Uint8Array(element));
-          } else {
-            bytes.push(
-              new Uint8Array(element.buffer, element.byteOffset, element.byteLength)
-            );
-          }
-        } else if (isBlobLike(element)) {
-          bytes.push(element);
-        }
-      }
-      return bytes;
-    }
-    function convertLineEndingsNative(s) {
-      let nativeLineEnding = "\n";
-      if (process.platform === "win32") {
-        nativeLineEnding = "\r\n";
-      }
-      return s.replace(/\r?\n/g, nativeLineEnding);
-    }
-    function isFileLike(object) {
-      return NativeFile && object instanceof NativeFile || object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
-    }
-    module2.exports = { File: File2, FileLike, isFileLike };
-  }
-});
-
-// node_modules/undici/lib/fetch/formdata.js
-var require_formdata2 = __commonJS({
-  "node_modules/undici/lib/fetch/formdata.js"(exports2, module2) {
-    "use strict";
-    var { isBlobLike, toUSVString, makeIterator } = require_util10();
-    var { kState } = require_symbols7();
-    var { File: UndiciFile, FileLike, isFileLike } = require_file2();
-    var { webidl } = require_webidl2();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var File2 = NativeFile ?? UndiciFile;
-    var FormData2 = class _FormData {
-      constructor(form) {
-        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);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" });
-        if (arguments.length === 3 && !isBlobLike(value)) {
-          throw new TypeError(
-            "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"
-          );
-        }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0;
+        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);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" });
-        name = webidl.converters.USVString(name);
+        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);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" });
-        name = webidl.converters.USVString(name);
+        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;
@@ -26163,27 +26251,30 @@ var require_formdata2 = __commonJS({
       }
       getAll(name) {
         webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" });
-        name = webidl.converters.USVString(name);
+        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);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" });
-        name = webidl.converters.USVString(name);
+        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);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" });
+        const prefix = "FormData.set";
+        webidl.argumentLengthCheck(arguments, 2, prefix);
         if (arguments.length === 3 && !isBlobLike(value)) {
           throw new TypeError(
             "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"
           );
         }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? toUSVString(filename) : void 0;
+        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) {
@@ -26196,220 +26287,460 @@ var require_formdata2 = __commonJS({
           this[kState].push(entry);
         }
       }
-      entries() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key+value"
-        );
-      }
-      keys() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key"
-        );
-      }
-      values() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "value"
-        );
-      }
-      /**
-       * @param {(value: string, key: string, self: FormData) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'."
-          );
-        }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
-        }
+      [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)}`;
       }
     };
-    FormData2.prototype[Symbol.iterator] = FormData2.prototype.entries;
+    iteratorMixin("FormData", FormData2, kState, "name", "value");
     Object.defineProperties(FormData2.prototype, {
+      append: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      get: kEnumerableProperty,
+      getAll: kEnumerableProperty,
+      has: kEnumerableProperty,
+      set: kEnumerableProperty,
       [Symbol.toStringTag]: {
         value: "FormData",
         configurable: true
       }
     });
     function makeEntry(name, value, filename) {
-      name = Buffer.from(name).toString("utf8");
       if (typeof value === "string") {
-        value = Buffer.from(value).toString("utf8");
       } else {
         if (!isFileLike(value)) {
-          value = value instanceof Blob2 ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
+          value = value instanceof Blob ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
         }
         if (filename !== void 0) {
           const options = {
             type: value.type,
             lastModified: value.lastModified
           };
-          value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
+          value = value instanceof NativeFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
         }
       }
       return { name, value };
     }
-    module2.exports = { FormData: FormData2 };
+    module2.exports = { FormData: FormData2, makeEntry };
   }
 });
 
-// node_modules/undici/lib/fetch/body.js
-var require_body2 = __commonJS({
-  "node_modules/undici/lib/fetch/body.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js
+var require_formdata_parser2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js"(exports2, module2) {
     "use strict";
-    var Busboy = require_main();
-    var util = require_util9();
-    var {
-      ReadableStreamFrom,
-      isBlobLike,
-      isReadableStreamLike,
-      readableStreamClose,
-      createDeferredPromise,
-      fullyReadBody
-    } = require_util10();
-    var { FormData: FormData2 } = require_formdata2();
-    var { kState } = require_symbols7();
-    var { webidl } = require_webidl2();
-    var { DOMException: DOMException2, structuredClone } = require_constants7();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
-    var { isErrored } = require_util9();
-    var { isUint8Array, isArrayBuffer } = require("util/types");
-    var { File: UndiciFile } = require_file2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var random;
-    try {
-      const crypto2 = require("node:crypto");
-      random = (max) => crypto2.randomInt(0, max);
-    } catch {
-      random = (max) => Math.floor(Math.random(max));
+    var { isUSVString, bufferToLowerCasedHeaderName } = require_util9();
+    var { utf8DecodeBytes } = require_util10();
+    var { HTTP_TOKEN_CODEPOINTS, isomorphicDecode } = require_data_url2();
+    var { isFileLike } = require_file2();
+    var { makeEntry } = require_formdata2();
+    var assert = require("node:assert");
+    var { File: NodeFile } = require("node:buffer");
+    var File2 = 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;
     }
-    var ReadableStream2 = globalThis.ReadableStream;
-    var File2 = NativeFile ?? UndiciFile;
-    var textEncoder = new TextEncoder();
-    var textDecoder = new TextDecoder();
-    function extractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+    function validateBoundary(boundary) {
+      const length = boundary.length;
+      if (length < 27 || length > 70) {
+        return false;
       }
-      let stream2 = null;
-      if (object instanceof ReadableStream2) {
-        stream2 = object;
-      } else if (isBlobLike(object)) {
-        stream2 = object.stream();
-      } else {
-        stream2 = new ReadableStream2({
-          async pull(controller) {
-            controller.enqueue(
-              typeof source === "string" ? textEncoder.encode(source) : source
-            );
-            queueMicrotask(() => readableStreamClose(controller));
-          },
-          start() {
-          },
-          type: void 0
-        });
+      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;
+        }
       }
-      assert(isReadableStreamLike(stream2));
-      let action = null;
-      let source = null;
-      let length = null;
-      let type2 = null;
-      if (typeof object === "string") {
-        source = object;
-        type2 = "text/plain;charset=UTF-8";
-      } else if (object instanceof URLSearchParams) {
-        source = object.toString();
-        type2 = "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 = (str2) => str2.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;
-            }
-          }
+      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";
         }
-        const chunk = textEncoder.encode(`--${boundary}--`);
-        blobParts.push(chunk);
-        length += chunk.byteLength;
-        if (hasUnknownSizeValue) {
-          length = null;
+        if (position.position === input.length - 2 && bufferStartsWith(input, dd, position) || position.position === input.length - 4 && bufferStartsWith(input, ddcrlf, position)) {
+          return entryList;
         }
-        source = object;
-        action = async function* () {
-          for (const part of blobParts) {
-            if (part.stream) {
-              yield* part.stream();
-            } else {
-              yield part;
-            }
+        if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
+          return "failure";
+        }
+        position.position += 2;
+        const result = parseMultipartFormDataHeaders(input, position);
+        if (result === "failure") {
+          return "failure";
+        }
+        let { name, filename, contentType, encoding } = result;
+        position.position += 2;
+        let body;
+        {
+          const boundaryIndex = input.indexOf(boundary.subarray(2), position.position);
+          if (boundaryIndex === -1) {
+            return "failure";
+          }
+          body = input.subarray(position.position, boundaryIndex - 4);
+          position.position += body.length;
+          if (encoding === "base64") {
+            body = Buffer.from(body.toString(), "base64");
           }
-        };
-        type2 = "multipart/form-data; boundary=" + boundary;
-      } else if (isBlobLike(object)) {
-        source = object;
-        length = object.size;
-        if (object.type) {
-          type2 = object.type;
         }
-      } else if (typeof object[Symbol.asyncIterator] === "function") {
-        if (keepalive) {
-          throw new TypeError("keepalive");
+        if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
+          return "failure";
+        } else {
+          position.position += 2;
         }
-        if (util.isDisturbed(object) || object.locked) {
-          throw new TypeError(
-            "Response body object should not be disturbed or locked"
-          );
+        let value;
+        if (filename !== null) {
+          contentType ??= "text/plain";
+          if (!isAsciiString(contentType)) {
+            contentType = "";
+          }
+          value = new File2([body], filename, { type: contentType });
+        } else {
+          value = utf8DecodeBytes(Buffer.from(body));
         }
-        stream2 = object instanceof ReadableStream2 ? object : ReadableStreamFrom(object);
-      }
-      if (typeof source === "string" || util.isBuffer(source)) {
-        length = Buffer.byteLength(source);
+        assert(isUSVString(name));
+        assert(typeof value === "string" && isUSVString(value) || isFileLike(value));
+        entryList.push(makeEntry(name, value, filename));
       }
-      if (action != null) {
-        let iterator2;
-        stream2 = new ReadableStream2({
+    }
+    function parseMultipartFormDataHeaders(input, position) {
+      let name = null;
+      let filename = null;
+      let contentType = null;
+      let encoding = null;
+      while (true) {
+        if (input[position.position] === 13 && input[position.position + 1] === 10) {
+          if (name === null) {
+            return "failure";
+          }
+          return { name, filename, contentType, encoding };
+        }
+        let headerName = collectASequenceOfBytes(
+          (char) => char !== 10 && char !== 13 && char !== 58,
+          input,
+          position
+        );
+        headerName = removeChars(headerName, true, true, (char) => char === 9 || char === 32);
+        if (!HTTP_TOKEN_CODEPOINTS.test(headerName.toString())) {
+          return "failure";
+        }
+        if (input[position.position] !== 58) {
+          return "failure";
+        }
+        position.position++;
+        collectASequenceOfBytes(
+          (char) => char === 32 || char === 9,
+          input,
+          position
+        );
+        switch (bufferToLowerCasedHeaderName(headerName)) {
+          case "content-disposition": {
+            name = filename = null;
+            if (!bufferStartsWith(input, formDataNameBuffer, position)) {
+              return "failure";
+            }
+            position.position += 17;
+            name = parseMultipartFormDataName(input, position);
+            if (name === null) {
+              return "failure";
+            }
+            if (bufferStartsWith(input, filenameBuffer, position)) {
+              let check = position.position + filenameBuffer.length;
+              if (input[check] === 42) {
+                position.position += 1;
+                check += 1;
+              }
+              if (input[check] !== 61 || input[check + 1] !== 34) {
+                return "failure";
+              }
+              position.position += 12;
+              filename = parseMultipartFormDataName(input, position);
+              if (filename === null) {
+                return "failure";
+              }
+            }
+            break;
+          }
+          case "content-type": {
+            let headerValue = collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+            headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
+            contentType = isomorphicDecode(headerValue);
+            break;
+          }
+          case "content-transfer-encoding": {
+            let headerValue = collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+            headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
+            encoding = isomorphicDecode(headerValue);
+            break;
+          }
+          default: {
+            collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+          }
+        }
+        if (input[position.position] !== 13 && input[position.position + 1] !== 10) {
+          return "failure";
+        } else {
+          position.position += 2;
+        }
+      }
+    }
+    function parseMultipartFormDataName(input, position) {
+      assert(input[position.position - 1] === 34);
+      let name = collectASequenceOfBytes(
+        (char) => char !== 10 && char !== 13 && char !== 34,
+        input,
+        position
+      );
+      if (input[position.position] !== 34) {
+        return null;
+      } else {
+        position.position++;
+      }
+      name = new TextDecoder().decode(name).replace(/%0A/ig, "\n").replace(/%0D/ig, "\r").replace(/%22/g, '"');
+      return name;
+    }
+    function collectASequenceOfBytes(condition, input, position) {
+      let start = position.position;
+      while (start < input.length && condition(input[start])) {
+        ++start;
+      }
+      return input.subarray(position.position, position.position = start);
+    }
+    function removeChars(buf, leading, trailing, predicate) {
+      let lead = 0;
+      let trail = buf.length - 1;
+      if (leading) {
+        while (lead < buf.length && predicate(buf[lead])) lead++;
+      }
+      if (trailing) {
+        while (trail > 0 && predicate(buf[trail])) trail--;
+      }
+      return lead === 0 && trail === buf.length - 1 ? buf : buf.subarray(lead, trail + 1);
+    }
+    function bufferStartsWith(buffer, start, position) {
+      if (buffer.length < start.length) {
+        return false;
+      }
+      for (let i = 0; i < start.length; i++) {
+        if (start[i] !== buffer[position.position + i]) {
+          return false;
+        }
+      }
+      return true;
+    }
+    module2.exports = {
+      multipartFormDataParser,
+      validateBoundary
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js
+var require_body2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js"(exports2, module2) {
+    "use strict";
+    var util = require_util9();
+    var {
+      ReadableStreamFrom,
+      isBlobLike,
+      isReadableStreamLike,
+      readableStreamClose,
+      createDeferredPromise,
+      fullyReadBody,
+      extractMimeType,
+      utf8DecodeBytes
+    } = require_util10();
+    var { FormData: FormData2 } = require_formdata2();
+    var { kState } = require_symbols7();
+    var { webidl } = require_webidl2();
+    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_url2();
+    var { multipartFormDataParser } = require_formdata_parser2();
+    var random;
+    try {
+      const crypto2 = require("node:crypto");
+      random = (max) => crypto2.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 stream2 = weakRef.deref();
+        if (stream2 && !stream2.locked && !isDisturbed(stream2) && !isErrored(stream2)) {
+          stream2.cancel("Response object has been garbage collected").catch(noop3);
+        }
+      });
+    }
+    function extractBody(object, keepalive = false) {
+      let stream2 = null;
+      if (object instanceof ReadableStream) {
+        stream2 = object;
+      } else if (isBlobLike(object)) {
+        stream2 = object.stream();
+      } else {
+        stream2 = 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(stream2));
+      let action = null;
+      let source = null;
+      let length = null;
+      let type2 = null;
+      if (typeof object === "string") {
+        source = object;
+        type2 = "text/plain;charset=UTF-8";
+      } else if (object instanceof URLSearchParams) {
+        source = object.toString();
+        type2 = "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 = (str2) => str2.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;
+            }
+          }
+        };
+        type2 = `multipart/form-data; boundary=${boundary}`;
+      } else if (isBlobLike(object)) {
+        source = object;
+        length = object.size;
+        if (object.type) {
+          type2 = 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"
+          );
+        }
+        stream2 = object instanceof ReadableStream ? object : ReadableStreamFrom(object);
+      }
+      if (typeof source === "string" || util.isBuffer(source)) {
+        length = Buffer.byteLength(source);
+      }
+      if (action != null) {
+        let iterator2;
+        stream2 = new ReadableStream({
           async start() {
             iterator2 = action(object)[Symbol.asyncIterator]();
           },
@@ -26418,10 +26749,14 @@ Content-Type: ${value.type || "application/octet-stream"}\r
             if (done) {
               queueMicrotask(() => {
                 controller.close();
+                controller.byobRequest?.respond(0);
               });
             } else {
               if (!isErrored(stream2)) {
-                controller.enqueue(new Uint8Array(value));
+                const buffer = new Uint8Array(value);
+                if (buffer.byteLength) {
+                  controller.enqueue(buffer);
+                }
               }
             }
             return controller.desiredSize > 0;
@@ -26429,61 +26764,39 @@ Content-Type: ${value.type || "application/octet-stream"}\r
           async cancel(reason) {
             await iterator2.return();
           },
-          type: void 0
+          type: "bytes"
         });
       }
       const body = { stream: stream2, source, length };
       return [body, type2];
     }
     function safelyExtractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      if (object instanceof ReadableStream2) {
+      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(body) {
+    function cloneBody(instance, body) {
       const [out1, out2] = body.stream.tee();
-      const out2Clone = structuredClone(out2, { transfer: [out2] });
-      const [, finalClone] = out2Clone.tee();
       body.stream = out1;
       return {
-        stream: finalClone,
+        stream: out2,
         length: body.length,
         source: body.source
       };
     }
-    async function* consumeBody(body) {
-      if (body) {
-        if (isUint8Array(body)) {
-          yield body;
-        } else {
-          const stream2 = body.stream;
-          if (util.isDisturbed(stream2)) {
-            throw new TypeError("The body has already been consumed.");
-          }
-          if (stream2.locked) {
-            throw new TypeError("The stream is locked.");
-          }
-          stream2[kBodyUsed] = true;
-          yield* stream2;
-        }
-      }
-    }
     function throwIfAborted(state) {
       if (state.aborted) {
-        throw new DOMException2("The operation was aborted.", "AbortError");
+        throw new DOMException("The operation was aborted.", "AbortError");
       }
     }
     function bodyMixinMethods(instance) {
       const methods = {
         blob() {
-          return specConsumeBody(this, (bytes) => {
+          return consumeBody(this, (bytes) => {
             let mimeType = bodyMimeType(this);
-            if (mimeType === "failure") {
+            if (mimeType === null) {
               mimeType = "";
             } else if (mimeType) {
               mimeType = serializeAMimeType(mimeType);
@@ -26492,96 +26805,49 @@ Content-Type: ${value.type || "application/octet-stream"}\r
           }, instance);
         },
         arrayBuffer() {
-          return specConsumeBody(this, (bytes) => {
+          return consumeBody(this, (bytes) => {
             return new Uint8Array(bytes).buffer;
           }, instance);
         },
         text() {
-          return specConsumeBody(this, utf8DecodeBytes, instance);
+          return consumeBody(this, utf8DecodeBytes, instance);
         },
         json() {
-          return specConsumeBody(this, parseJSONFromBytes, instance);
+          return consumeBody(this, parseJSONFromBytes, instance);
         },
-        async formData() {
-          webidl.brandCheck(this, instance);
-          throwIfAborted(this[kState]);
-          const contentType = this.headers.get("Content-Type");
-          if (/multipart\/form-data/.test(contentType)) {
-            const headers = {};
-            for (const [key, value] of this.headers) headers[key.toLowerCase()] = value;
-            const responseFormData = new FormData2();
-            let busboy;
-            try {
-              busboy = new Busboy({
-                headers,
-                preservePath: true
-              });
-            } catch (err) {
-              throw new DOMException2(`${err}`, "AbortError");
-            }
-            busboy.on("field", (name, value) => {
-              responseFormData.append(name, value);
-            });
-            busboy.on("file", (name, value, filename, encoding, mimeType) => {
-              const chunks = [];
-              if (encoding === "base64" || encoding.toLowerCase() === "base64") {
-                let base64chunk = "";
-                value.on("data", (chunk) => {
-                  base64chunk += chunk.toString().replace(/[\r\n]/gm, "");
-                  const end = base64chunk.length - base64chunk.length % 4;
-                  chunks.push(Buffer.from(base64chunk.slice(0, end), "base64"));
-                  base64chunk = base64chunk.slice(end);
-                });
-                value.on("end", () => {
-                  chunks.push(Buffer.from(base64chunk, "base64"));
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              } else {
-                value.on("data", (chunk) => {
-                  chunks.push(chunk);
-                });
-                value.on("end", () => {
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              }
-            });
-            const busboyResolve = new Promise((resolve8, reject) => {
-              busboy.on("finish", resolve8);
-              busboy.on("error", (err) => reject(new TypeError(err)));
-            });
-            if (this.body !== null) for await (const chunk of consumeBody(this[kState].body)) busboy.write(chunk);
-            busboy.end();
-            await busboyResolve;
-            return responseFormData;
-          } else if (/application\/x-www-form-urlencoded/.test(contentType)) {
-            let entries;
-            try {
-              let text = "";
-              const streamingDecoder = new TextDecoder("utf-8", { ignoreBOM: true });
-              for await (const chunk of consumeBody(this[kState].body)) {
-                if (!isUint8Array(chunk)) {
-                  throw new TypeError("Expected Uint8Array chunk");
+        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 FormData2();
+                  fd[kState] = parsed;
+                  return fd;
+                }
+                case "application/x-www-form-urlencoded": {
+                  const entries = new URLSearchParams(value.toString());
+                  const fd = new FormData2();
+                  for (const [name, value2] of entries) {
+                    fd.append(name, value2);
+                  }
+                  return fd;
                 }
-                text += streamingDecoder.decode(chunk, { stream: true });
               }
-              text += streamingDecoder.decode();
-              entries = new URLSearchParams(text);
-            } catch (err) {
-              throw Object.assign(new TypeError(), { cause: err });
-            }
-            const formData = new FormData2();
-            for (const [name, value] of entries) {
-              formData.append(name, value);
             }
-            return formData;
-          } else {
-            await Promise.resolve();
-            throwIfAborted(this[kState]);
-            throw webidl.errors.exception({
-              header: `${instance.name}.formData`,
-              message: "Could not parse content as FormData."
-            });
-          }
+            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;
@@ -26589,12 +26855,12 @@ Content-Type: ${value.type || "application/octet-stream"}\r
     function mixinBody(prototype) {
       Object.assign(prototype.prototype, bodyMixinMethods(prototype));
     }
-    async function specConsumeBody(object, convertBytesToJSValue, instance) {
+    async function consumeBody(object, convertBytesToJSValue, instance) {
       webidl.brandCheck(object, instance);
-      throwIfAborted(object[kState]);
-      if (bodyUnusable(object[kState].body)) {
-        throw new TypeError("Body is unusable");
+      if (bodyUnusable(object)) {
+        throw new TypeError("Body is unusable: Body has already been read");
       }
+      throwIfAborted(object[kState]);
       const promise = createDeferredPromise();
       const errorSteps = (error3) => promise.reject(error3);
       const successSteps = (data) => {
@@ -26605,1104 +26871,1609 @@ Content-Type: ${value.type || "application/octet-stream"}\r
         }
       };
       if (object[kState].body == null) {
-        successSteps(new Uint8Array());
+        successSteps(Buffer.allocUnsafe(0));
         return promise.promise;
       }
       await fullyReadBody(object[kState].body, successSteps, errorSteps);
       return promise.promise;
     }
-    function bodyUnusable(body) {
+    function bodyUnusable(object) {
+      const body = object[kState].body;
       return body != null && (body.stream.locked || util.isDisturbed(body.stream));
     }
-    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;
-    }
     function parseJSONFromBytes(bytes) {
       return JSON.parse(utf8DecodeBytes(bytes));
     }
-    function bodyMimeType(object) {
-      const { headersList } = object[kState];
-      const contentType = headersList.get("content-type");
-      if (contentType === null) {
-        return "failure";
+    function bodyMimeType(requestOrResponse) {
+      const headers = requestOrResponse[kState].headersList;
+      const mimeType = extractMimeType(headers);
+      if (mimeType === "failure") {
+        return null;
       }
-      return parseMIMEType(contentType);
+      return mimeType;
     }
     module2.exports = {
       extractBody,
       safelyExtractBody,
       cloneBody,
-      mixinBody
+      mixinBody,
+      streamRegistry,
+      hasFinalizationRegistry,
+      bodyUnusable
     };
   }
 });
 
-// node_modules/undici/lib/core/request.js
-var require_request3 = __commonJS({
-  "node_modules/undici/lib/core/request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js
+var require_client_h12 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js"(exports2, module2) {
     "use strict";
+    var assert = require("node:assert");
+    var util = require_util9();
+    var { channels } = require_diagnostics2();
+    var timers = require_timers2();
     var {
-      InvalidArgumentError,
-      NotSupportedError
+      RequestContentLengthMismatchError,
+      ResponseContentLengthMismatchError,
+      RequestAbortedError,
+      HeadersTimeoutError,
+      HeadersOverflowError,
+      SocketError,
+      InformationalError,
+      BodyTimeoutError,
+      HTTPParserError,
+      ResponseExceededMaxSizeError
     } = require_errors2();
-    var assert = require("assert");
-    var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = require_symbols6();
-    var util = require_util9();
-    var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;
-    var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
-    var invalidPathRegex = /[^\u0021-\u00ff]/;
-    var kHandler = /* @__PURE__ */ Symbol("handler");
-    var channels = {};
+    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_symbols6();
+    var constants = require_constants7();
+    var EMPTY_BUF = Buffer.alloc(0);
+    var FastBuffer = Buffer[Symbol.species];
+    var addListener = util.addListener;
+    var removeAllListeners = util.removeAllListeners;
     var extractBody;
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.create = diagnosticsChannel.channel("undici:request:create");
-      channels.bodySent = diagnosticsChannel.channel("undici:request:bodySent");
-      channels.headers = diagnosticsChannel.channel("undici:request:headers");
-      channels.trailers = diagnosticsChannel.channel("undici:request:trailers");
-      channels.error = diagnosticsChannel.channel("undici:request:error");
-    } catch {
-      channels.create = { hasSubscribers: false };
-      channels.bodySent = { hasSubscribers: false };
-      channels.headers = { hasSubscribers: false };
-      channels.trailers = { hasSubscribers: false };
-      channels.error = { hasSubscribers: false };
-    }
-    var Request = class _Request {
-      constructor(origin, {
-        path: path16,
-        method,
-        body,
-        headers,
-        query,
-        idempotent,
-        blocking,
-        upgrade,
-        headersTimeout,
-        bodyTimeout,
-        reset,
-        throwOnError,
-        expectContinue
-      }, handler2) {
-        if (typeof path16 !== "string") {
-          throw new InvalidArgumentError("path must be a string");
-        } else if (path16[0] !== "/" && !(path16.startsWith("http://") || path16.startsWith("https://")) && method !== "CONNECT") {
-          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
-        } else if (invalidPathRegex.exec(path16) !== null) {
-          throw new InvalidArgumentError("invalid request path");
-        }
-        if (typeof method !== "string") {
-          throw new InvalidArgumentError("method must be a string");
-        } else if (tokenRegExp.exec(method) === null) {
-          throw new InvalidArgumentError("invalid request method");
-        }
-        if (upgrade && typeof upgrade !== "string") {
-          throw new InvalidArgumentError("upgrade must be a string");
-        }
-        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
-          throw new InvalidArgumentError("invalid headersTimeout");
-        }
-        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
-          throw new InvalidArgumentError("invalid bodyTimeout");
-        }
-        if (reset != null && typeof reset !== "boolean") {
-          throw new InvalidArgumentError("invalid reset");
-        }
-        if (expectContinue != null && typeof expectContinue !== "boolean") {
-          throw new InvalidArgumentError("invalid expectContinue");
+    async function lazyllhttp() {
+      const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm2() : void 0;
+      let mod;
+      try {
+        mod = await WebAssembly.compile(require_llhttp_simd_wasm2());
+      } catch (e) {
+        mod = await WebAssembly.compile(llhttpWasmData || require_llhttp_wasm2());
+      }
+      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 */
         }
-        this.headersTimeout = headersTimeout;
-        this.bodyTimeout = bodyTimeout;
-        this.throwOnError = throwOnError === true;
-        this.method = method;
-        this.abort = null;
-        if (body == null) {
-          this.body = null;
-        } else if (util.isStream(body)) {
-          this.body = body;
-          const rState = this.body._readableState;
-          if (!rState || !rState.autoDestroy) {
-            this.endHandler = function autoDestroy() {
-              util.destroy(this);
-            };
-            this.body.on("end", this.endHandler);
+      });
+    }
+    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(delay2, type2) {
+        if (delay2 !== this.timeoutValue || type2 & USE_FAST_TIMER ^ this.timeoutType & USE_FAST_TIMER) {
+          if (this.timeout) {
+            timers.clearTimeout(this.timeout);
+            this.timeout = null;
           }
-          this.errorHandler = (err) => {
-            if (this.abort) {
-              this.abort(err);
+          if (delay2) {
+            if (type2 & USE_FAST_TIMER) {
+              this.timeout = timers.setFastTimeout(onParserTimeout, delay2, new WeakRef(this));
             } else {
-              this.error = err;
+              this.timeout = setTimeout(onParserTimeout, delay2, new WeakRef(this));
+              this.timeout.unref();
             }
-          };
-          this.body.on("error", this.errorHandler);
-        } else if (util.isBuffer(body)) {
-          this.body = body.byteLength ? body : null;
-        } else if (ArrayBuffer.isView(body)) {
-          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
-        } else if (body instanceof ArrayBuffer) {
-          this.body = body.byteLength ? Buffer.from(body) : null;
-        } else if (typeof body === "string") {
-          this.body = body.length ? Buffer.from(body) : null;
-        } else if (util.isFormDataLike(body) || util.isIterable(body) || util.isBlobLike(body)) {
-          this.body = body;
-        } else {
-          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
-        }
-        this.completed = false;
-        this.aborted = false;
-        this.upgrade = upgrade || null;
-        this.path = query ? util.buildURL(path16, query) : path16;
-        this.origin = origin;
-        this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
-        this.blocking = blocking == null ? false : blocking;
-        this.reset = reset == null ? null : reset;
-        this.host = null;
-        this.contentLength = null;
-        this.contentType = null;
-        this.headers = "";
-        this.expectContinue = expectContinue != null ? expectContinue : false;
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
-          }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(this, headers[i], headers[i + 1]);
           }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(this, key, headers[key]);
+          this.timeoutValue = delay2;
+        } else if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
           }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
         }
-        if (util.isFormDataLike(this.body)) {
-          if (util.nodeMajor < 16 || util.nodeMajor === 16 && util.nodeMinor < 8) {
-            throw new InvalidArgumentError("Form-Data bodies are only supported in node v16.8 and newer.");
-          }
-          if (!extractBody) {
-            extractBody = require_body2().extractBody;
-          }
-          const [bodyStream, contentType] = extractBody(body);
-          if (this.contentType == null) {
-            this.contentType = contentType;
-            this.headers += `content-type: ${contentType}\r
-`;
-          }
-          this.body = bodyStream.stream;
-          this.contentLength = bodyStream.length;
-        } else if (util.isBlobLike(body) && this.contentType == null && body.type) {
-          this.contentType = body.type;
-          this.headers += `content-type: ${body.type}\r
-`;
+        this.timeoutType = type2;
+      }
+      resume() {
+        if (this.socket.destroyed || !this.paused) {
+          return;
         }
-        util.validateHandler(handler2, method, upgrade);
-        this.servername = util.getServerName(this.host);
-        this[kHandler] = handler2;
-        if (channels.create.hasSubscribers) {
-          channels.create.publish({ request: this });
+        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();
       }
-      onBodySent(chunk) {
-        if (this[kHandler].onBodySent) {
-          try {
-            return this[kHandler].onBodySent(chunk);
-          } catch (err) {
-            this.abort(err);
+      readMore() {
+        while (!this.paused && this.ptr) {
+          const chunk = this.socket.read();
+          if (chunk === null) {
+            break;
           }
+          this.execute(chunk);
         }
       }
-      onRequestSent() {
-        if (channels.bodySent.hasSubscribers) {
-          channels.bodySent.publish({ request: this });
+      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);
         }
-        if (this[kHandler].onRequestSent) {
+        new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data);
+        try {
+          let ret;
           try {
-            return this[kHandler].onRequestSent();
+            currentBufferRef = data;
+            currentParser = this;
+            ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length);
           } catch (err) {
-            this.abort(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);
         }
       }
-      onConnect(abort) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (this.error) {
-          abort(this.error);
-        } else {
-          this.abort = abort;
-          return this[kHandler].onConnect(abort);
-        }
+      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;
       }
-      onHeaders(statusCode, headers, resume, statusText) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (channels.headers.hasSubscribers) {
-          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
+      onStatus(buf) {
+        this.statusText = buf.toString();
+      }
+      onMessageBegin() {
+        const { socket, client } = this;
+        if (socket.destroyed) {
+          return -1;
         }
-        try {
-          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
-        } catch (err) {
-          this.abort(err);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        if (!request2) {
+          return -1;
         }
+        request2.onResponseStarted();
       }
-      onData(chunk) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        try {
-          return this[kHandler].onData(chunk);
-        } catch (err) {
-          this.abort(err);
-          return false;
+      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);
       }
-      onUpgrade(statusCode, headers, socket) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        return this[kHandler].onUpgrade(statusCode, headers, socket);
+      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);
       }
-      onComplete(trailers) {
-        this.onFinally();
-        assert(!this.aborted);
-        this.completed = true;
-        if (channels.trailers.hasSubscribers) {
-          channels.trailers.publish({ request: this, trailers });
+      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 {
-          return this[kHandler].onComplete(trailers);
+          request2.onUpgrade(statusCode, headers, socket);
         } catch (err) {
-          this.onError(err);
+          util.destroy(socket, err);
         }
+        client[kResume]();
       }
-      onError(error3) {
-        this.onFinally();
-        if (channels.error.hasSubscribers) {
-          channels.error.publish({ request: this, error: error3 });
+      onHeadersComplete(statusCode, upgrade, shouldKeepAlive) {
+        const { client, socket, headers, statusText } = this;
+        if (socket.destroyed) {
+          return -1;
         }
-        if (this.aborted) {
-          return;
+        const request2 = client[kQueue][client[kRunningIdx]];
+        if (!request2) {
+          return -1;
         }
-        this.aborted = true;
-        return this[kHandler].onError(error3);
-      }
-      onFinally() {
-        if (this.errorHandler) {
-          this.body.off("error", this.errorHandler);
-          this.errorHandler = null;
+        assert(!this.upgrade);
+        assert(this.statusCode < 200);
+        if (statusCode === 100) {
+          util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket)));
+          return -1;
         }
-        if (this.endHandler) {
-          this.body.off("end", this.endHandler);
-          this.endHandler = null;
+        if (upgrade && !request2.upgrade) {
+          util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket)));
+          return -1;
         }
-      }
-      // TODO: adjust to support H2
-      addHeader(key, value) {
-        processHeader(this, key, value);
-        return this;
-      }
-      static [kHTTP1BuildRequest](origin, opts, handler2) {
-        return new _Request(origin, opts, handler2);
-      }
-      static [kHTTP2BuildRequest](origin, opts, handler2) {
-        const headers = opts.headers;
-        opts = { ...opts, headers: null };
-        const request2 = new _Request(origin, opts, handler2);
-        request2.headers = {};
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
+        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();
           }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(request2, headers[i], headers[i + 1], true);
+        }
+        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 if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(request2, key, headers[key], true);
+        } 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();
           }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
         }
-        return request2;
+        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;
+        }
       }
-      static [kHTTP2CopyHeaders](raw) {
-        const rawHeaders = raw.split("\r\n");
-        const headers = {};
-        for (const header of rawHeaders) {
-          const [key, value] = header.split(": ");
-          if (value == null || value.length === 0) continue;
-          if (headers[key]) headers[key] += `,${value}`;
-          else headers[key] = value;
+      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]();
         }
-        return headers;
       }
     };
-    function processHeaderValue(key, val, skipAppend) {
-      if (val && typeof val === "object") {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      }
-      val = val != null ? `${val}` : "";
-      if (headerCharRegex.exec(val) !== null) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
+    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"));
       }
-      return skipAppend ? val : `${key}: ${val}\r
-`;
     }
-    function processHeader(request2, key, val, skipAppend = false) {
-      if (val && (typeof val === "object" && !Array.isArray(val))) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      } else if (val === void 0) {
-        return;
+    async function connectH1(client, socket) {
+      client[kSocket] = socket;
+      if (!llhttpInstance) {
+        llhttpInstance = await llhttpPromise;
+        llhttpPromise = null;
       }
-      if (request2.host === null && key.length === 4 && key.toLowerCase() === "host") {
-        if (headerCharRegex.exec(val) !== null) {
-          throw new InvalidArgumentError(`invalid ${key} header`);
+      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;
         }
-        request2.host = val;
-      } else if (request2.contentLength === null && key.length === 14 && key.toLowerCase() === "content-length") {
-        request2.contentLength = parseInt(val, 10);
-        if (!Number.isFinite(request2.contentLength)) {
-          throw new InvalidArgumentError("invalid content-length header");
+        this[kError] = err;
+        this[kClient][kOnError](err);
+      });
+      addListener(socket, "readable", function() {
+        const parser = this[kParser];
+        if (parser) {
+          parser.readMore();
         }
-      } else if (request2.contentType === null && key.length === 12 && key.toLowerCase() === "content-type") {
-        request2.contentType = val;
-        if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-        else request2.headers += processHeaderValue(key, val);
-      } else if (key.length === 17 && key.toLowerCase() === "transfer-encoding") {
-        throw new InvalidArgumentError("invalid transfer-encoding header");
-      } else if (key.length === 10 && key.toLowerCase() === "connection") {
-        const value = typeof val === "string" ? val.toLowerCase() : null;
-        if (value !== "close" && value !== "keep-alive") {
-          throw new InvalidArgumentError("invalid connection header");
-        } else if (value === "close") {
-          request2.reset = true;
+      });
+      addListener(socket, "end", function() {
+        const parser = this[kParser];
+        if (parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
+          return;
         }
-      } else if (key.length === 10 && key.toLowerCase() === "keep-alive") {
-        throw new InvalidArgumentError("invalid keep-alive header");
-      } else if (key.length === 7 && key.toLowerCase() === "upgrade") {
-        throw new InvalidArgumentError("invalid upgrade header");
-      } else if (key.length === 6 && key.toLowerCase() === "expect") {
-        throw new NotSupportedError("expect header not supported");
-      } else if (tokenRegExp.exec(key) === null) {
-        throw new InvalidArgumentError("invalid header key");
-      } else {
-        if (Array.isArray(val)) {
-          for (let i = 0; i < val.length; i++) {
-            if (skipAppend) {
-              if (request2.headers[key]) request2.headers[key] += `,${processHeaderValue(key, val[i], skipAppend)}`;
-              else request2.headers[key] = processHeaderValue(key, val[i], skipAppend);
-            } else {
-              request2.headers += processHeaderValue(key, val[i]);
+        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;
             }
           }
-        } else {
-          if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-          else request2.headers += processHeaderValue(key, val);
+          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);
+          }
         }
       }
     }
-    module2.exports = Request;
-  }
-});
-
-// node_modules/undici/lib/dispatcher.js
-var require_dispatcher2 = __commonJS({
-  "node_modules/undici/lib/dispatcher.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("events");
-    var Dispatcher = class extends EventEmitter {
-      dispatch() {
-        throw new Error("not implemented");
+    function shouldSendContentLength(method) {
+      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
+    }
+    function writeH1(client, request2) {
+      const { method, path: path16, host, upgrade, blocking, reset } = request2;
+      let { body, headers, contentLength } = request2;
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH" || method === "QUERY" || method === "PROPFIND" || method === "PROPPATCH";
+      if (util.isFormDataLike(body)) {
+        if (!extractBody) {
+          extractBody = require_body2().extractBody;
+        }
+        const [bodyStream, contentType] = extractBody(body);
+        if (request2.contentType == null) {
+          headers.push("content-type", contentType);
+        }
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
+      } else if (util.isBlobLike(body) && request2.contentType == null && body.type) {
+        headers.push("content-type", body.type);
       }
-      close() {
-        throw new Error("not implemented");
+      if (body && typeof body.read === "function") {
+        body.read(0);
       }
-      destroy() {
-        throw new Error("not implemented");
+      const bodyLength = util.bodyLength(body);
+      contentLength = bodyLength ?? contentLength;
+      if (contentLength === null) {
+        contentLength = request2.contentLength;
       }
-    };
-    module2.exports = Dispatcher;
-  }
-});
-
-// node_modules/undici/lib/dispatcher-base.js
-var require_dispatcher_base2 = __commonJS({
-  "node_modules/undici/lib/dispatcher-base.js"(exports2, module2) {
-    "use strict";
-    var Dispatcher = require_dispatcher2();
-    var {
-      ClientDestroyedError,
-      ClientClosedError,
-      InvalidArgumentError
-    } = require_errors2();
-    var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols6();
-    var kDestroyed = /* @__PURE__ */ Symbol("destroyed");
-    var kClosed = /* @__PURE__ */ Symbol("closed");
-    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
-    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
-    var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
-    var DispatcherBase = class extends Dispatcher {
-      constructor() {
-        super();
-        this[kDestroyed] = false;
-        this[kOnDestroyed] = null;
-        this[kClosed] = false;
-        this[kOnClosed] = [];
+      if (contentLength === 0 && !expectsPayload) {
+        contentLength = null;
       }
-      get destroyed() {
-        return this[kDestroyed];
+      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());
       }
-      get closed() {
-        return this[kClosed];
+      const socket = client[kSocket];
+      const abort = (err) => {
+        if (request2.aborted || request2.completed) {
+          return;
+        }
+        util.errorRequest(client, request2, err || new RequestAbortedError());
+        util.destroy(body);
+        util.destroy(socket, new InformationalError("aborted"));
+      };
+      try {
+        request2.onConnect(abort);
+      } catch (err) {
+        util.errorRequest(client, request2, err);
       }
-      get interceptors() {
-        return this[kInterceptors];
+      if (request2.aborted) {
+        return false;
       }
-      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");
+      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} ${path16} 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
+`;
           }
         }
-        this[kInterceptors] = newInterceptors;
       }
-      close(callback) {
-        if (callback === void 0) {
-          return new Promise((resolve8, reject) => {
-            this.close((err, data) => {
-              return err ? reject(err) : resolve8(data);
-            });
-          });
-        }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+      if (channels.sendHeaders.hasSubscribers) {
+        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      }
+      if (!body || bodyLength === 0) {
+        writeBuffer(abort, null, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isBuffer(body)) {
+        writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isBlobLike(body)) {
+        if (typeof body.stream === "function") {
+          writeIterable(abort, body.stream(), client, request2, socket, contentLength, header, expectsPayload);
+        } else {
+          writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload);
         }
-        if (this[kDestroyed]) {
-          queueMicrotask(() => callback(new ClientDestroyedError(), null));
+      } else if (util.isStream(body)) {
+        writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isIterable(body)) {
+        writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else {
+        assert(false);
+      }
+      return true;
+    }
+    function writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      let finished = false;
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
+      const onData = function(chunk) {
+        if (finished) {
           return;
         }
-        if (this[kClosed]) {
-          if (this[kOnClosed]) {
-            this[kOnClosed].push(callback);
-          } else {
-            queueMicrotask(() => callback(null, null));
+        try {
+          if (!writer.write(chunk) && this.pause) {
+            this.pause();
           }
-          return;
+        } catch (err) {
+          util.destroy(this, err);
         }
-        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);
-        });
-      }
-      destroy(err, callback) {
-        if (typeof err === "function") {
-          callback = err;
-          err = null;
+      };
+      const onDrain = function() {
+        if (finished) {
+          return;
         }
-        if (callback === void 0) {
-          return new Promise((resolve8, reject) => {
-            this.destroy(err, (err2, data) => {
-              return err2 ? (
-                /* istanbul ignore next: should never error */
-                reject(err2)
-              ) : resolve8(data);
-            });
-          });
+        if (body.resume) {
+          body.resume();
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+      };
+      const onClose = function() {
+        queueMicrotask(() => {
+          body.removeListener("error", onFinished);
+        });
+        if (!finished) {
+          const err = new RequestAbortedError();
+          queueMicrotask(() => onFinished(err));
         }
-        if (this[kDestroyed]) {
-          if (this[kOnDestroyed]) {
-            this[kOnDestroyed].push(callback);
-          } else {
-            queueMicrotask(() => callback(null, null));
-          }
+      };
+      const onFinished = function(err) {
+        if (finished) {
           return;
         }
+        finished = true;
+        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
+        socket.off("drain", onDrain).off("error", onFinished);
+        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("close", onClose);
         if (!err) {
-          err = new ClientDestroyedError();
+          try {
+            writer.end();
+          } catch (er) {
+            err = er;
+          }
         }
-        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);
+        writer.destroy(err);
+        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
+          util.destroy(body, err);
+        } else {
+          util.destroy(body);
+        }
+      };
+      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onClose);
+      if (body.resume) {
+        body.resume();
+      }
+      socket.on("drain", onDrain).on("error", onFinished);
+      if (body.errorEmitted ?? body.errored) {
+        setImmediate(() => onFinished(body.errored));
+      } else if (body.endEmitted ?? body.readableEnded) {
+        setImmediate(() => onFinished(null));
+      }
+      if (body.closeEmitted ?? body.closed) {
+        setImmediate(onClose);
+      }
+    }
+    function writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      try {
+        if (!body) {
+          if (contentLength === 0) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
+          } else {
+            assert(contentLength === null, "no body must not have content length");
+            socket.write(`${header}\r
+`, "latin1");
           }
-        };
-        this[kDestroy](err).then(() => {
-          queueMicrotask(onDestroyed);
-        });
+        } else if (util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          socket.cork();
+          socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+          socket.write(body);
+          socket.uncork();
+          request2.onBodySent(body);
+          if (!expectsPayload && request2.reset !== false) {
+            socket[kReset] = true;
+          }
+        }
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      [kInterceptedDispatch](opts, handler2) {
-        if (!this[kInterceptors] || this[kInterceptors].length === 0) {
-          this[kInterceptedDispatch] = this[kDispatch];
-          return this[kDispatch](opts, handler2);
+    }
+    async function writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength === body.size, "blob body must have content length");
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
         }
-        let dispatch = this[kDispatch].bind(this);
-        for (let i = this[kInterceptors].length - 1; i >= 0; i--) {
-          dispatch = this[kInterceptors][i](dispatch);
+        const buffer = Buffer.from(await body.arrayBuffer());
+        socket.cork();
+        socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+        socket.write(buffer);
+        socket.uncork();
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload && request2.reset !== false) {
+          socket[kReset] = true;
         }
-        this[kInterceptedDispatch] = dispatch;
-        return dispatch(opts, handler2);
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      dispatch(opts, handler2) {
-        if (!handler2 || typeof handler2 !== "object") {
-          throw new InvalidArgumentError("handler must be an object");
+    }
+    async function writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
         }
-        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();
+      }
+      const waitForDrain = () => new Promise((resolve8, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve8;
+        }
+      });
+      socket.on("close", onDrain).on("drain", onDrain);
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
           }
-          return this[kInterceptedDispatch](opts, handler2);
-        } catch (err) {
-          if (typeof handler2.onError !== "function") {
-            throw new InvalidArgumentError("invalid onError method");
+          if (!writer.write(chunk)) {
+            await waitForDrain();
           }
-          handler2.onError(err);
-          return false;
         }
+        writer.end();
+      } catch (err) {
+        writer.destroy(err);
+      } finally {
+        socket.off("close", onDrain).off("drain", onDrain);
       }
-    };
-    module2.exports = DispatcherBase;
-  }
-});
-
-// node_modules/undici/lib/core/connect.js
-var require_connect2 = __commonJS({
-  "node_modules/undici/lib/core/connect.js"(exports2, module2) {
-    "use strict";
-    var net = require("net");
-    var assert = require("assert");
-    var util = require_util9();
-    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
-    var tls;
-    var SessionCache;
-    if (global.FinalizationRegistry && !process.env.NODE_V8_COVERAGE) {
-      SessionCache = class WeakSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
-          this._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 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];
         }
-        get(sessionKey) {
-          const ref = this._sessionCache.get(sessionKey);
-          return ref ? ref.deref() : null;
+        if (socket.destroyed) {
+          return false;
         }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
-            return;
+        const len = Buffer.byteLength(chunk);
+        if (!len) {
+          return true;
+        }
+        if (contentLength !== null && bytesWritten + len > contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
           }
-          this._sessionCache.set(sessionKey, new WeakRef(session));
-          this._sessionRegistry.register(session, sessionKey);
+          process.emitWarning(new RequestContentLengthMismatchError());
         }
-      };
-    } else {
-      SessionCache = class SimpleSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
+        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");
+          }
         }
-        get(sessionKey) {
-          return this._sessionCache.get(sessionKey);
+        if (contentLength === null) {
+          socket.write(`\r
+${len.toString(16)}\r
+`, "latin1");
         }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
-            return;
-          }
-          if (this._sessionCache.size >= this._maxCachedSessions) {
-            const { value: oldestKey } = this._sessionCache.keys().next();
-            this._sessionCache.delete(oldestKey);
+        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();
+            }
           }
-          this._sessionCache.set(sessionKey, session);
         }
-      };
-    }
-    function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, ...opts }) {
-      if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
-        throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
+        return ret;
       }
-      const options = { path: socketPath, ...opts };
-      const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
-      timeout = timeout == null ? 1e4 : timeout;
-      allowH2 = allowH2 != null ? allowH2 : false;
-      return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
-        let socket;
-        if (protocol === "https:") {
-          if (!tls) {
-            tls = require("tls");
-          }
-          servername = servername || options.servername || util.getServerName(host) || null;
-          const sessionKey = servername || hostname;
-          const session = sessionCache.get(sessionKey) || null;
-          assert(sessionKey);
-          socket = tls.connect({
-            highWaterMark: 16384,
-            // TLS in node can't have bigger HWM anyway...
-            ...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: port || 443,
-            host: hostname
-          });
-          socket.on("session", function(session2) {
-            sessionCache.set(sessionKey, session2);
-          });
-        } else {
-          assert(!httpSocket, "httpSocket can only be sent on TLS update");
-          socket = net.connect({
-            highWaterMark: 64 * 1024,
-            // Same as nodejs fs streams.
-            ...options,
-            localAddress,
-            port: port || 80,
-            host: hostname
-          });
+      end() {
+        const { socket, contentLength, client, bytesWritten, expectsPayload, header, request: request2 } = this;
+        request2.onRequestSent();
+        socket[kWriting] = false;
+        if (socket[kError]) {
+          throw socket[kError];
         }
-        if (options.keepAlive == null || options.keepAlive) {
-          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
-          socket.setKeepAlive(true, keepAliveInitialDelay);
+        if (socket.destroyed) {
+          return;
         }
-        const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout);
-        socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(null, this);
-          }
-        }).on("error", function(err) {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(err);
+        if (bytesWritten === 0) {
+          if (expectsPayload) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
+          } else {
+            socket.write(`${header}\r
+`, "latin1");
           }
-        });
-        return socket;
-      };
-    }
-    function setupTimeout(onConnectTimeout2, timeout) {
-      if (!timeout) {
-        return () => {
-        };
-      }
-      let s1 = null;
-      let s2 = null;
-      const timeoutId = setTimeout(() => {
-        s1 = setImmediate(() => {
-          if (process.platform === "win32") {
-            s2 = setImmediate(() => onConnectTimeout2());
+        } 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 {
-            onConnectTimeout2();
+            process.emitWarning(new RequestContentLengthMismatchError());
           }
-        });
-      }, timeout);
-      return () => {
-        clearTimeout(timeoutId);
-        clearImmediate(s1);
-        clearImmediate(s2);
-      };
-    }
-    function onConnectTimeout(socket) {
-      util.destroy(socket, new ConnectTimeoutError());
-    }
-    module2.exports = buildConnector;
-  }
-});
-
-// node_modules/undici/lib/llhttp/utils.js
-var require_utils3 = __commonJS({
-  "node_modules/undici/lib/llhttp/utils.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.enumToMap = void 0;
-    function enumToMap(obj) {
-      const res = {};
-      Object.keys(obj).forEach((key) => {
-        const value = obj[key];
-        if (typeof value === "number") {
-          res[key] = value;
         }
-      });
-      return res;
-    }
-    exports2.enumToMap = enumToMap;
+        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/llhttp/constants.js
-var require_constants8 = __commonJS({
-  "node_modules/undici/lib/llhttp/constants.js"(exports2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h2.js
+var require_client_h22 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h2.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
-    var utils_1 = require_utils3();
-    var ERROR;
-    (function(ERROR2) {
-      ERROR2[ERROR2["OK"] = 0] = "OK";
-      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
-      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
-      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
-      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
-      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
-      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
-      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
-      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
-      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
-      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
-      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
-      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
-      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
-      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
-      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
-      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
-      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
-      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
-      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
-      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
-      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
-      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
-      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
-      ERROR2[ERROR2["USER"] = 24] = "USER";
-    })(ERROR = 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];
+    var assert = require("node:assert");
+    var { pipeline } = require("node:stream");
+    var util = require_util9();
+    var {
+      RequestContentLengthMismatchError,
+      RequestAbortedError,
+      SocketError,
+      InformationalError
+    } = require_errors2();
+    var {
+      kUrl,
+      kReset,
+      kClient,
+      kRunning,
+      kPending,
+      kQueue,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kSocket,
+      kStrictContentLength,
+      kOnError,
+      kMaxConcurrentStreams,
+      kHTTP2Session,
+      kResume,
+      kSize,
+      kHTTPContext
+    } = require_symbols6();
+    var kOpenStreams = /* @__PURE__ */ 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
       }
-    });
-    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));
+    } = 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;
     }
-    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);
+    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;
+        }
+      };
     }
-    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);
+    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();
+        }
       }
     }
-    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
-    };
+    function onHttp2SessionError(err) {
+      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+      this[kSocket][kError] = err;
+      this[kClient][kOnError](err);
+    }
+    function onHttp2FrameError(type2, code, id) {
+      if (id === 0) {
+        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, 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: path16, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
+      let { body } = request2;
+      if (upgrade) {
+        util.errorRequest(client, request2, new Error("Upgrade not supported for H2"));
+        return false;
+      }
+      const headers = {};
+      for (let n = 0; n < reqHeaders.length; n += 2) {
+        const key = reqHeaders[n + 0];
+        const val = reqHeaders[n + 1];
+        if (Array.isArray(val)) {
+          for (let i = 0; i < val.length; i++) {
+            if (headers[key]) {
+              headers[key] += `,${val[i]}`;
+            } else {
+              headers[key] = val[i];
+            }
+          }
+        } else {
+          headers[key] = val;
+        }
+      }
+      let stream2;
+      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 (stream2 != null) {
+          util.destroy(stream2, err);
+        }
+        util.destroy(body, err);
+        client[kQueue][client[kRunningIdx]++] = null;
+        client[kResume]();
+      };
+      try {
+        request2.onConnect(abort);
+      } catch (err) {
+        util.errorRequest(client, request2, err);
+      }
+      if (request2.aborted) {
+        return false;
+      }
+      if (method === "CONNECT") {
+        session.ref();
+        stream2 = session.request(headers, { endStream: false, signal });
+        if (stream2.id && !stream2.pending) {
+          request2.onUpgrade(null, null, stream2);
+          ++session[kOpenStreams];
+          client[kQueue][client[kRunningIdx]++] = null;
+        } else {
+          stream2.once("ready", () => {
+            request2.onUpgrade(null, null, stream2);
+            ++session[kOpenStreams];
+            client[kQueue][client[kRunningIdx]++] = null;
+          });
+        }
+        stream2.once("close", () => {
+          session[kOpenStreams] -= 1;
+          if (session[kOpenStreams] === 0) session.unref();
+        });
+        return true;
+      }
+      headers[HTTP2_HEADER_PATH] = path16;
+      headers[HTTP2_HEADER_SCHEME] = "https";
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
+      if (body && typeof body.read === "function") {
+        body.read(0);
+      }
+      let contentLength = util.bodyLength(body);
+      if (util.isFormDataLike(body)) {
+        extractBody ??= require_body2().extractBody;
+        const [bodyStream, contentType] = extractBody(body);
+        headers["content-type"] = contentType;
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
+      }
+      if (contentLength == null) {
+        contentLength = request2.contentLength;
+      }
+      if (contentLength === 0 || !expectsPayload) {
+        contentLength = null;
+      }
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          util.errorRequest(client, request2, new RequestContentLengthMismatchError());
+          return false;
+        }
+        process.emitWarning(new RequestContentLengthMismatchError());
+      }
+      if (contentLength != null) {
+        assert(body, "no body must not have content length");
+        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
+      }
+      session.ref();
+      const shouldEndStream = method === "GET" || method === "HEAD" || body === null;
+      if (expectContinue) {
+        headers[HTTP2_HEADER_EXPECT] = "100-continue";
+        stream2 = session.request(headers, { endStream: shouldEndStream, signal });
+        stream2.once("continue", writeBodyH2);
+      } else {
+        stream2 = session.request(headers, {
+          endStream: shouldEndStream,
+          signal
+        });
+        writeBodyH2();
+      }
+      ++session[kOpenStreams];
+      stream2.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(stream2, err);
+          return;
+        }
+        if (request2.onHeaders(Number(statusCode), parseH2Headers(realHeaders), stream2.resume.bind(stream2), "") === false) {
+          stream2.pause();
+        }
+        stream2.on("data", (chunk) => {
+          if (request2.onData(chunk) === false) {
+            stream2.pause();
+          }
+        });
+      });
+      stream2.once("end", () => {
+        if (stream2.state?.state == null || stream2.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]();
+      });
+      stream2.once("close", () => {
+        session[kOpenStreams] -= 1;
+        if (session[kOpenStreams] === 0) {
+          session.unref();
+        }
+      });
+      stream2.once("error", function(err) {
+        abort(err);
+      });
+      stream2.once("frameError", (type2, code) => {
+        abort(new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`));
+      });
+      return true;
+      function writeBodyH2() {
+        if (!body || contentLength === 0) {
+          writeBuffer(
+            abort,
+            stream2,
+            null,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else if (util.isBuffer(body)) {
+          writeBuffer(
+            abort,
+            stream2,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else if (util.isBlobLike(body)) {
+          if (typeof body.stream === "function") {
+            writeIterable(
+              abort,
+              stream2,
+              body.stream(),
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
+          } else {
+            writeBlob(
+              abort,
+              stream2,
+              body,
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
+          }
+        } else if (util.isStream(body)) {
+          writeStream(
+            abort,
+            client[kSocket],
+            expectsPayload,
+            stream2,
+            body,
+            client,
+            request2,
+            contentLength
+          );
+        } else if (util.isIterable(body)) {
+          writeIterable(
+            abort,
+            stream2,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else {
+          assert(false);
+        }
+      }
+    }
+    function writeBuffer(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      try {
+        if (body != null && util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          h2stream.cork();
+          h2stream.write(body);
+          h2stream.uncork();
+          h2stream.end();
+          request2.onBodySent(body);
+        }
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (error3) {
+        abort(error3);
+      }
+    }
+    function writeStream(abort, socket, expectsPayload, h2stream, body, client, request2, contentLength) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      const pipe = pipeline(
+        body,
+        h2stream,
+        (err) => {
+          if (err) {
+            util.destroy(pipe, err);
+            abort(err);
+          } else {
+            util.removeAllListeners(pipe);
+            request2.onRequestSent();
+            if (!expectsPayload) {
+              socket[kReset] = true;
+            }
+            client[kResume]();
+          }
+        }
+      );
+      util.addListener(pipe, "data", onPipeData);
+      function onPipeData(chunk) {
+        request2.onBodySent(chunk);
+      }
+    }
+    async function writeBlob(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength === body.size, "blob body must have content length");
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
+        }
+        const buffer = Buffer.from(await body.arrayBuffer());
+        h2stream.cork();
+        h2stream.write(buffer);
+        h2stream.uncork();
+        h2stream.end();
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
+      }
+    }
+    async function writeIterable(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
+        }
+      }
+      const waitForDrain = () => new Promise((resolve8, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve8;
+        }
+      });
+      h2stream.on("close", onDrain).on("drain", onDrain);
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          const res = h2stream.write(chunk);
+          request2.onBodySent(chunk);
+          if (!res) {
+            await waitForDrain();
+          }
+        }
+        h2stream.end();
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
+      } finally {
+        h2stream.off("close", onDrain).off("drain", onDrain);
+      }
+    }
+    module2.exports = connectH2;
   }
 });
 
-// node_modules/undici/lib/handler/RedirectHandler.js
-var require_RedirectHandler = __commonJS({
-  "node_modules/undici/lib/handler/RedirectHandler.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js
+var require_redirect_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js"(exports2, module2) {
     "use strict";
     var util = require_util9();
     var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
+    var assert = require("node:assert");
     var { InvalidArgumentError } = require_errors2();
-    var EE = require("events");
+    var EE = require("node:events");
     var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
     var kBody = /* @__PURE__ */ Symbol("body");
     var BodyAsyncIterable = class {
@@ -27729,6 +28500,7 @@ var require_RedirectHandler = __commonJS({
         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() {
@@ -27759,6 +28531,14 @@ var require_RedirectHandler = __commonJS({
       }
       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));
         }
@@ -27803,7 +28583,7 @@ var require_RedirectHandler = __commonJS({
         return null;
       }
       for (let i = 0; i < headers.length; i += 2) {
-        if (headers[i].toString().toLowerCase() === "location") {
+        if (headers[i].length === 8 && util.headerNameToString(headers[i]) === "location") {
           return headers[i + 1];
         }
       }
@@ -27844,11 +28624,11 @@ var require_RedirectHandler = __commonJS({
   }
 });
 
-// node_modules/undici/lib/interceptor/redirectInterceptor.js
-var require_redirectInterceptor = __commonJS({
-  "node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js
+var require_redirect_interceptor2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js"(exports2, module2) {
     "use strict";
-    var RedirectHandler = require_RedirectHandler();
+    var RedirectHandler = require_redirect_handler2();
     function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) {
       return (dispatch) => {
         return function Intercept(opts, handler2) {
@@ -27866,73 +28646,43 @@ var require_redirectInterceptor = __commonJS({
   }
 });
 
-// node_modules/undici/lib/llhttp/llhttp-wasm.js
-var require_llhttp_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8=";
-  }
-});
-
-// node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
-var require_llhttp_simd_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AcsBygG4AckBuQHIAboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBANwBC0EAIRAMxgELQQ4hEAzFAQtBDSEQDMQBC0EPIRAMwwELQRAhEAzCAQtBEyEQDMEBC0EUIRAMwAELQRUhEAy/AQtBFiEQDL4BC0EXIRAMvQELQRghEAy8AQtBGSEQDLsBC0EaIRAMugELQRshEAy5AQtBHCEQDLgBC0EIIRAMtwELQR0hEAy2AQtBICEQDLUBC0EfIRAMtAELQQchEAyzAQtBISEQDLIBC0EiIRAMsQELQR4hEAywAQtBIyEQDK8BC0ESIRAMrgELQREhEAytAQtBJCEQDKwBC0ElIRAMqwELQSYhEAyqAQtBJyEQDKkBC0HDASEQDKgBC0EpIRAMpwELQSshEAymAQtBLCEQDKUBC0EtIRAMpAELQS4hEAyjAQtBLyEQDKIBC0HEASEQDKEBC0EwIRAMoAELQTQhEAyfAQtBDCEQDJ4BC0ExIRAMnQELQTIhEAycAQtBMyEQDJsBC0E5IRAMmgELQTUhEAyZAQtBxQEhEAyYAQtBCyEQDJcBC0E6IRAMlgELQTYhEAyVAQtBCiEQDJQBC0E3IRAMkwELQTghEAySAQtBPCEQDJEBC0E7IRAMkAELQT0hEAyPAQtBCSEQDI4BC0EoIRAMjQELQT4hEAyMAQtBPyEQDIsBC0HAACEQDIoBC0HBACEQDIkBC0HCACEQDIgBC0HDACEQDIcBC0HEACEQDIYBC0HFACEQDIUBC0HGACEQDIQBC0EqIRAMgwELQccAIRAMggELQcgAIRAMgQELQckAIRAMgAELQcoAIRAMfwtBywAhEAx+C0HNACEQDH0LQcwAIRAMfAtBzgAhEAx7C0HPACEQDHoLQdAAIRAMeQtB0QAhEAx4C0HSACEQDHcLQdMAIRAMdgtB1AAhEAx1C0HWACEQDHQLQdUAIRAMcwtBBiEQDHILQdcAIRAMcQtBBSEQDHALQdgAIRAMbwtBBCEQDG4LQdkAIRAMbQtB2gAhEAxsC0HbACEQDGsLQdwAIRAMagtBAyEQDGkLQd0AIRAMaAtB3gAhEAxnC0HfACEQDGYLQeEAIRAMZQtB4AAhEAxkC0HiACEQDGMLQeMAIRAMYgtBAiEQDGELQeQAIRAMYAtB5QAhEAxfC0HmACEQDF4LQecAIRAMXQtB6AAhEAxcC0HpACEQDFsLQeoAIRAMWgtB6wAhEAxZC0HsACEQDFgLQe0AIRAMVwtB7gAhEAxWC0HvACEQDFULQfAAIRAMVAtB8QAhEAxTC0HyACEQDFILQfMAIRAMUQtB9AAhEAxQC0H1ACEQDE8LQfYAIRAMTgtB9wAhEAxNC0H4ACEQDEwLQfkAIRAMSwtB+gAhEAxKC0H7ACEQDEkLQfwAIRAMSAtB/QAhEAxHC0H+ACEQDEYLQf8AIRAMRQtBgAEhEAxEC0GBASEQDEMLQYIBIRAMQgtBgwEhEAxBC0GEASEQDEALQYUBIRAMPwtBhgEhEAw+C0GHASEQDD0LQYgBIRAMPAtBiQEhEAw7C0GKASEQDDoLQYsBIRAMOQtBjAEhEAw4C0GNASEQDDcLQY4BIRAMNgtBjwEhEAw1C0GQASEQDDQLQZEBIRAMMwtBkgEhEAwyC0GTASEQDDELQZQBIRAMMAtBlQEhEAwvC0GWASEQDC4LQZcBIRAMLQtBmAEhEAwsC0GZASEQDCsLQZoBIRAMKgtBmwEhEAwpC0GcASEQDCgLQZ0BIRAMJwtBngEhEAwmC0GfASEQDCULQaABIRAMJAtBoQEhEAwjC0GiASEQDCILQaMBIRAMIQtBpAEhEAwgC0GlASEQDB8LQaYBIRAMHgtBpwEhEAwdC0GoASEQDBwLQakBIRAMGwtBqgEhEAwaC0GrASEQDBkLQawBIRAMGAtBrQEhEAwXC0GuASEQDBYLQQEhEAwVC0GvASEQDBQLQbABIRAMEwtBsQEhEAwSC0GzASEQDBELQbIBIRAMEAtBtAEhEAwPC0G1ASEQDA4LQbYBIRAMDQtBtwEhEAwMC0G4ASEQDAsLQbkBIRAMCgtBugEhEAwJC0G7ASEQDAgLQcYBIRAMBwtBvAEhEAwGC0G9ASEQDAULQb4BIRAMBAtBvwEhEAwDC0HAASEQDAILQcIBIRAMAQtBwQEhEAsDQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB4fICEjJSg/QEFERUZHSElKS0xNT1BRUlPeA1dZW1xdYGJlZmdoaWprbG1vcHFyc3R1dnd4eXp7fH1+gAGCAYUBhgGHAYkBiwGMAY0BjgGPAZABkQGUAZUBlgGXAZgBmQGaAZsBnAGdAZ4BnwGgAaEBogGjAaQBpQGmAacBqAGpAaoBqwGsAa0BrgGvAbABsQGyAbMBtAG1AbYBtwG4AbkBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUBxgHHAcgByQHKAcsBzAHNAc4BzwHQAdEB0gHTAdQB1QHWAdcB2AHZAdoB2wHcAd0B3gHgAeEB4gHjAeQB5QHmAecB6AHpAeoB6wHsAe0B7gHvAfAB8QHyAfMBmQKkArAC/gL+AgsgASIEIAJHDfMBQd0BIRAM/wMLIAEiECACRw3dAUHDASEQDP4DCyABIgEgAkcNkAFB9wAhEAz9AwsgASIBIAJHDYYBQe8AIRAM/AMLIAEiASACRw1/QeoAIRAM+wMLIAEiASACRw17QegAIRAM+gMLIAEiASACRw14QeYAIRAM+QMLIAEiASACRw0aQRghEAz4AwsgASIBIAJHDRRBEiEQDPcDCyABIgEgAkcNWUHFACEQDPYDCyABIgEgAkcNSkE/IRAM9QMLIAEiASACRw1IQTwhEAz0AwsgASIBIAJHDUFBMSEQDPMDCyAALQAuQQFGDesDDIcCCyAAIAEiASACEMCAgIAAQQFHDeYBIABCADcDIAznAQsgACABIgEgAhC0gICAACIQDecBIAEhAQz1AgsCQCABIgEgAkcNAEEGIRAM8AMLIAAgAUEBaiIBIAIQu4CAgAAiEA3oASABIQEMMQsgAEIANwMgQRIhEAzVAwsgASIQIAJHDStBHSEQDO0DCwJAIAEiASACRg0AIAFBAWohAUEQIRAM1AMLQQchEAzsAwsgAEIAIAApAyAiESACIAEiEGutIhJ9IhMgEyARVhs3AyAgESASViIURQ3lAUEIIRAM6wMLAkAgASIBIAJGDQAgAEGJgICAADYCCCAAIAE2AgQgASEBQRQhEAzSAwtBCSEQDOoDCyABIQEgACkDIFAN5AEgASEBDPICCwJAIAEiASACRw0AQQshEAzpAwsgACABQQFqIgEgAhC2gICAACIQDeUBIAEhAQzyAgsgACABIgEgAhC4gICAACIQDeUBIAEhAQzyAgsgACABIgEgAhC4gICAACIQDeYBIAEhAQwNCyAAIAEiASACELqAgIAAIhAN5wEgASEBDPACCwJAIAEiASACRw0AQQ8hEAzlAwsgAS0AACIQQTtGDQggEEENRw3oASABQQFqIQEM7wILIAAgASIBIAIQuoCAgAAiEA3oASABIQEM8gILA0ACQCABLQAAQfC1gIAAai0AACIQQQFGDQAgEEECRw3rASAAKAIEIRAgAEEANgIEIAAgECABQQFqIgEQuYCAgAAiEA3qASABIQEM9AILIAFBAWoiASACRw0AC0ESIRAM4gMLIAAgASIBIAIQuoCAgAAiEA3pASABIQEMCgsgASIBIAJHDQZBGyEQDOADCwJAIAEiASACRw0AQRYhEAzgAwsgAEGKgICAADYCCCAAIAE2AgQgACABIAIQuICAgAAiEA3qASABIQFBICEQDMYDCwJAIAEiASACRg0AA0ACQCABLQAAQfC3gIAAai0AACIQQQJGDQACQCAQQX9qDgTlAewBAOsB7AELIAFBAWohAUEIIRAMyAMLIAFBAWoiASACRw0AC0EVIRAM3wMLQRUhEAzeAwsDQAJAIAEtAABB8LmAgABqLQAAIhBBAkYNACAQQX9qDgTeAewB4AHrAewBCyABQQFqIgEgAkcNAAtBGCEQDN0DCwJAIAEiASACRg0AIABBi4CAgAA2AgggACABNgIEIAEhAUEHIRAMxAMLQRkhEAzcAwsgAUEBaiEBDAILAkAgASIUIAJHDQBBGiEQDNsDCyAUIQECQCAULQAAQXNqDhTdAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAgDuAgtBACEQIABBADYCHCAAQa+LgIAANgIQIABBAjYCDCAAIBRBAWo2AhQM2gMLAkAgAS0AACIQQTtGDQAgEEENRw3oASABQQFqIQEM5QILIAFBAWohAQtBIiEQDL8DCwJAIAEiECACRw0AQRwhEAzYAwtCACERIBAhASAQLQAAQVBqDjfnAeYBAQIDBAUGBwgAAAAAAAAACQoLDA0OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPEBESExQAC0EeIRAMvQMLQgIhEQzlAQtCAyERDOQBC0IEIREM4wELQgUhEQziAQtCBiERDOEBC0IHIREM4AELQgghEQzfAQtCCSERDN4BC0IKIREM3QELQgshEQzcAQtCDCERDNsBC0INIREM2gELQg4hEQzZAQtCDyERDNgBC0IKIREM1wELQgshEQzWAQtCDCERDNUBC0INIREM1AELQg4hEQzTAQtCDyERDNIBC0IAIRECQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAtAABBUGoON+UB5AEAAQIDBAUGB+YB5gHmAeYB5gHmAeYBCAkKCwwN5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAQ4PEBESE+YBC0ICIREM5AELQgMhEQzjAQtCBCERDOIBC0IFIREM4QELQgYhEQzgAQtCByERDN8BC0IIIREM3gELQgkhEQzdAQtCCiERDNwBC0ILIREM2wELQgwhEQzaAQtCDSERDNkBC0IOIREM2AELQg8hEQzXAQtCCiERDNYBC0ILIREM1QELQgwhEQzUAQtCDSERDNMBC0IOIREM0gELQg8hEQzRAQsgAEIAIAApAyAiESACIAEiEGutIhJ9IhMgEyARVhs3AyAgESASViIURQ3SAUEfIRAMwAMLAkAgASIBIAJGDQAgAEGJgICAADYCCCAAIAE2AgQgASEBQSQhEAynAwtBICEQDL8DCyAAIAEiECACEL6AgIAAQX9qDgW2AQDFAgHRAdIBC0ERIRAMpAMLIABBAToALyAQIQEMuwMLIAEiASACRw3SAUEkIRAMuwMLIAEiDSACRw0eQcYAIRAMugMLIAAgASIBIAIQsoCAgAAiEA3UASABIQEMtQELIAEiECACRw0mQdAAIRAMuAMLAkAgASIBIAJHDQBBKCEQDLgDCyAAQQA2AgQgAEGMgICAADYCCCAAIAEgARCxgICAACIQDdMBIAEhAQzYAQsCQCABIhAgAkcNAEEpIRAMtwMLIBAtAAAiAUEgRg0UIAFBCUcN0wEgEEEBaiEBDBULAkAgASIBIAJGDQAgAUEBaiEBDBcLQSohEAy1AwsCQCABIhAgAkcNAEErIRAMtQMLAkAgEC0AACIBQQlGDQAgAUEgRw3VAQsgAC0ALEEIRg3TASAQIQEMkQMLAkAgASIBIAJHDQBBLCEQDLQDCyABLQAAQQpHDdUBIAFBAWohAQzJAgsgASIOIAJHDdUBQS8hEAyyAwsDQAJAIAEtAAAiEEEgRg0AAkAgEEF2ag4EANwB3AEA2gELIAEhAQzgAQsgAUEBaiIBIAJHDQALQTEhEAyxAwtBMiEQIAEiFCACRg2wAyACIBRrIAAoAgAiAWohFSAUIAFrQQNqIRYCQANAIBQtAAAiF0EgciAXIBdBv39qQf8BcUEaSRtB/wFxIAFB8LuAgABqLQAARw0BAkAgAUEDRw0AQQYhAQyWAwsgAUEBaiEBIBRBAWoiFCACRw0ACyAAIBU2AgAMsQMLIABBADYCACAUIQEM2QELQTMhECABIhQgAkYNrwMgAiAUayAAKAIAIgFqIRUgFCABa0EIaiEWAkADQCAULQAAIhdBIHIgFyAXQb9/akH/AXFBGkkbQf8BcSABQfS7gIAAai0AAEcNAQJAIAFBCEcNAEEFIQEMlQMLIAFBAWohASAUQQFqIhQgAkcNAAsgACAVNgIADLADCyAAQQA2AgAgFCEBDNgBC0E0IRAgASIUIAJGDa4DIAIgFGsgACgCACIBaiEVIBQgAWtBBWohFgJAA0AgFC0AACIXQSByIBcgF0G/f2pB/wFxQRpJG0H/AXEgAUHQwoCAAGotAABHDQECQCABQQVHDQBBByEBDJQDCyABQQFqIQEgFEEBaiIUIAJHDQALIAAgFTYCAAyvAwsgAEEANgIAIBQhAQzXAQsCQCABIgEgAkYNAANAAkAgAS0AAEGAvoCAAGotAAAiEEEBRg0AIBBBAkYNCiABIQEM3QELIAFBAWoiASACRw0AC0EwIRAMrgMLQTAhEAytAwsCQCABIgEgAkYNAANAAkAgAS0AACIQQSBGDQAgEEF2ag4E2QHaAdoB2QHaAQsgAUEBaiIBIAJHDQALQTghEAytAwtBOCEQDKwDCwNAAkAgAS0AACIQQSBGDQAgEEEJRw0DCyABQQFqIgEgAkcNAAtBPCEQDKsDCwNAAkAgAS0AACIQQSBGDQACQAJAIBBBdmoOBNoBAQHaAQALIBBBLEYN2wELIAEhAQwECyABQQFqIgEgAkcNAAtBPyEQDKoDCyABIQEM2wELQcAAIRAgASIUIAJGDagDIAIgFGsgACgCACIBaiEWIBQgAWtBBmohFwJAA0AgFC0AAEEgciABQYDAgIAAai0AAEcNASABQQZGDY4DIAFBAWohASAUQQFqIhQgAkcNAAsgACAWNgIADKkDCyAAQQA2AgAgFCEBC0E2IRAMjgMLAkAgASIPIAJHDQBBwQAhEAynAwsgAEGMgICAADYCCCAAIA82AgQgDyEBIAAtACxBf2oOBM0B1QHXAdkBhwMLIAFBAWohAQzMAQsCQCABIgEgAkYNAANAAkAgAS0AACIQQSByIBAgEEG/f2pB/wFxQRpJG0H/AXEiEEEJRg0AIBBBIEYNAAJAAkACQAJAIBBBnX9qDhMAAwMDAwMDAwEDAwMDAwMDAwMCAwsgAUEBaiEBQTEhEAyRAwsgAUEBaiEBQTIhEAyQAwsgAUEBaiEBQTMhEAyPAwsgASEBDNABCyABQQFqIgEgAkcNAAtBNSEQDKUDC0E1IRAMpAMLAkAgASIBIAJGDQADQAJAIAEtAABBgLyAgABqLQAAQQFGDQAgASEBDNMBCyABQQFqIgEgAkcNAAtBPSEQDKQDC0E9IRAMowMLIAAgASIBIAIQsICAgAAiEA3WASABIQEMAQsgEEEBaiEBC0E8IRAMhwMLAkAgASIBIAJHDQBBwgAhEAygAwsCQANAAkAgAS0AAEF3ag4YAAL+Av4ChAP+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gIA/gILIAFBAWoiASACRw0AC0HCACEQDKADCyABQQFqIQEgAC0ALUEBcUUNvQEgASEBC0EsIRAMhQMLIAEiASACRw3TAUHEACEQDJ0DCwNAAkAgAS0AAEGQwICAAGotAABBAUYNACABIQEMtwILIAFBAWoiASACRw0AC0HFACEQDJwDCyANLQAAIhBBIEYNswEgEEE6Rw2BAyAAKAIEIQEgAEEANgIEIAAgASANEK+AgIAAIgEN0AEgDUEBaiEBDLMCC0HHACEQIAEiDSACRg2aAyACIA1rIAAoAgAiAWohFiANIAFrQQVqIRcDQCANLQAAIhRBIHIgFCAUQb9/akH/AXFBGkkbQf8BcSABQZDCgIAAai0AAEcNgAMgAUEFRg30AiABQQFqIQEgDUEBaiINIAJHDQALIAAgFjYCAAyaAwtByAAhECABIg0gAkYNmQMgAiANayAAKAIAIgFqIRYgDSABa0EJaiEXA0AgDS0AACIUQSByIBQgFEG/f2pB/wFxQRpJG0H/AXEgAUGWwoCAAGotAABHDf8CAkAgAUEJRw0AQQIhAQz1AgsgAUEBaiEBIA1BAWoiDSACRw0ACyAAIBY2AgAMmQMLAkAgASINIAJHDQBByQAhEAyZAwsCQAJAIA0tAAAiAUEgciABIAFBv39qQf8BcUEaSRtB/wFxQZJ/ag4HAIADgAOAA4ADgAMBgAMLIA1BAWohAUE+IRAMgAMLIA1BAWohAUE/IRAM/wILQcoAIRAgASINIAJGDZcDIAIgDWsgACgCACIBaiEWIA0gAWtBAWohFwNAIA0tAAAiFEEgciAUIBRBv39qQf8BcUEaSRtB/wFxIAFBoMKAgABqLQAARw39AiABQQFGDfACIAFBAWohASANQQFqIg0gAkcNAAsgACAWNgIADJcDC0HLACEQIAEiDSACRg2WAyACIA1rIAAoAgAiAWohFiANIAFrQQ5qIRcDQCANLQAAIhRBIHIgFCAUQb9/akH/AXFBGkkbQf8BcSABQaLCgIAAai0AAEcN/AIgAUEORg3wAiABQQFqIQEgDUEBaiINIAJHDQALIAAgFjYCAAyWAwtBzAAhECABIg0gAkYNlQMgAiANayAAKAIAIgFqIRYgDSABa0EPaiEXA0AgDS0AACIUQSByIBQgFEG/f2pB/wFxQRpJG0H/AXEgAUHAwoCAAGotAABHDfsCAkAgAUEPRw0AQQMhAQzxAgsgAUEBaiEBIA1BAWoiDSACRw0ACyAAIBY2AgAMlQMLQc0AIRAgASINIAJGDZQDIAIgDWsgACgCACIBaiEWIA0gAWtBBWohFwNAIA0tAAAiFEEgciAUIBRBv39qQf8BcUEaSRtB/wFxIAFB0MKAgABqLQAARw36AgJAIAFBBUcNAEEEIQEM8AILIAFBAWohASANQQFqIg0gAkcNAAsgACAWNgIADJQDCwJAIAEiDSACRw0AQc4AIRAMlAMLAkACQAJAAkAgDS0AACIBQSByIAEgAUG/f2pB/wFxQRpJG0H/AXFBnX9qDhMA/QL9Av0C/QL9Av0C/QL9Av0C/QL9Av0CAf0C/QL9AgID/QILIA1BAWohAUHBACEQDP0CCyANQQFqIQFBwgAhEAz8AgsgDUEBaiEBQcMAIRAM+wILIA1BAWohAUHEACEQDPoCCwJAIAEiASACRg0AIABBjYCAgAA2AgggACABNgIEIAEhAUHFACEQDPoCC0HPACEQDJIDCyAQIQECQAJAIBAtAABBdmoOBAGoAqgCAKgCCyAQQQFqIQELQSchEAz4AgsCQCABIgEgAkcNAEHRACEQDJEDCwJAIAEtAABBIEYNACABIQEMjQELIAFBAWohASAALQAtQQFxRQ3HASABIQEMjAELIAEiFyACRw3IAUHSACEQDI8DC0HTACEQIAEiFCACRg2OAyACIBRrIAAoAgAiAWohFiAUIAFrQQFqIRcDQCAULQAAIAFB1sKAgABqLQAARw3MASABQQFGDccBIAFBAWohASAUQQFqIhQgAkcNAAsgACAWNgIADI4DCwJAIAEiASACRw0AQdUAIRAMjgMLIAEtAABBCkcNzAEgAUEBaiEBDMcBCwJAIAEiASACRw0AQdYAIRAMjQMLAkACQCABLQAAQXZqDgQAzQHNAQHNAQsgAUEBaiEBDMcBCyABQQFqIQFBygAhEAzzAgsgACABIgEgAhCugICAACIQDcsBIAEhAUHNACEQDPICCyAALQApQSJGDYUDDKYCCwJAIAEiASACRw0AQdsAIRAMigMLQQAhFEEBIRdBASEWQQAhEAJAAkACQAJAAkACQAJAAkACQCABLQAAQVBqDgrUAdMBAAECAwQFBgjVAQtBAiEQDAYLQQMhEAwFC0EEIRAMBAtBBSEQDAMLQQYhEAwCC0EHIRAMAQtBCCEQC0EAIRdBACEWQQAhFAzMAQtBCSEQQQEhFEEAIRdBACEWDMsBCwJAIAEiASACRw0AQd0AIRAMiQMLIAEtAABBLkcNzAEgAUEBaiEBDKYCCyABIgEgAkcNzAFB3wAhEAyHAwsCQCABIgEgAkYNACAAQY6AgIAANgIIIAAgATYCBCABIQFB0AAhEAzuAgtB4AAhEAyGAwtB4QAhECABIgEgAkYNhQMgAiABayAAKAIAIhRqIRYgASAUa0EDaiEXA0AgAS0AACAUQeLCgIAAai0AAEcNzQEgFEEDRg3MASAUQQFqIRQgAUEBaiIBIAJHDQALIAAgFjYCAAyFAwtB4gAhECABIgEgAkYNhAMgAiABayAAKAIAIhRqIRYgASAUa0ECaiEXA0AgAS0AACAUQebCgIAAai0AAEcNzAEgFEECRg3OASAUQQFqIRQgAUEBaiIBIAJHDQALIAAgFjYCAAyEAwtB4wAhECABIgEgAkYNgwMgAiABayAAKAIAIhRqIRYgASAUa0EDaiEXA0AgAS0AACAUQenCgIAAai0AAEcNywEgFEEDRg3OASAUQQFqIRQgAUEBaiIBIAJHDQALIAAgFjYCAAyDAwsCQCABIgEgAkcNAEHlACEQDIMDCyAAIAFBAWoiASACEKiAgIAAIhANzQEgASEBQdYAIRAM6QILAkAgASIBIAJGDQADQAJAIAEtAAAiEEEgRg0AAkACQAJAIBBBuH9qDgsAAc8BzwHPAc8BzwHPAc8BzwECzwELIAFBAWohAUHSACEQDO0CCyABQQFqIQFB0wAhEAzsAgsgAUEBaiEBQdQAIRAM6wILIAFBAWoiASACRw0AC0HkACEQDIIDC0HkACEQDIEDCwNAAkAgAS0AAEHwwoCAAGotAAAiEEEBRg0AIBBBfmoOA88B0AHRAdIBCyABQQFqIgEgAkcNAAtB5gAhEAyAAwsCQCABIgEgAkYNACABQQFqIQEMAwtB5wAhEAz/AgsDQAJAIAEtAABB8MSAgABqLQAAIhBBAUYNAAJAIBBBfmoOBNIB0wHUAQDVAQsgASEBQdcAIRAM5wILIAFBAWoiASACRw0AC0HoACEQDP4CCwJAIAEiASACRw0AQekAIRAM/gILAkAgAS0AACIQQXZqDhq6AdUB1QG8AdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAcoB1QHVAQDTAQsgAUEBaiEBC0EGIRAM4wILA0ACQCABLQAAQfDGgIAAai0AAEEBRg0AIAEhAQyeAgsgAUEBaiIBIAJHDQALQeoAIRAM+wILAkAgASIBIAJGDQAgAUEBaiEBDAMLQesAIRAM+gILAkAgASIBIAJHDQBB7AAhEAz6AgsgAUEBaiEBDAELAkAgASIBIAJHDQBB7QAhEAz5AgsgAUEBaiEBC0EEIRAM3gILAkAgASIUIAJHDQBB7gAhEAz3AgsgFCEBAkACQAJAIBQtAABB8MiAgABqLQAAQX9qDgfUAdUB1gEAnAIBAtcBCyAUQQFqIQEMCgsgFEEBaiEBDM0BC0EAIRAgAEEANgIcIABBm5KAgAA2AhAgAEEHNgIMIAAgFEEBajYCFAz2AgsCQANAAkAgAS0AAEHwyICAAGotAAAiEEEERg0AAkACQCAQQX9qDgfSAdMB1AHZAQAEAdkBCyABIQFB2gAhEAzgAgsgAUEBaiEBQdwAIRAM3wILIAFBAWoiASACRw0AC0HvACEQDPYCCyABQQFqIQEMywELAkAgASIUIAJHDQBB8AAhEAz1AgsgFC0AAEEvRw3UASAUQQFqIQEMBgsCQCABIhQgAkcNAEHxACEQDPQCCwJAIBQtAAAiAUEvRw0AIBRBAWohAUHdACEQDNsCCyABQXZqIgRBFksN0wFBASAEdEGJgIACcUUN0wEMygILAkAgASIBIAJGDQAgAUEBaiEBQd4AIRAM2gILQfIAIRAM8gILAkAgASIUIAJHDQBB9AAhEAzyAgsgFCEBAkAgFC0AAEHwzICAAGotAABBf2oOA8kClAIA1AELQeEAIRAM2AILAkAgASIUIAJGDQADQAJAIBQtAABB8MqAgABqLQAAIgFBA0YNAAJAIAFBf2oOAssCANUBCyAUIQFB3wAhEAzaAgsgFEEBaiIUIAJHDQALQfMAIRAM8QILQfMAIRAM8AILAkAgASIBIAJGDQAgAEGPgICAADYCCCAAIAE2AgQgASEBQeAAIRAM1wILQfUAIRAM7wILAkAgASIBIAJHDQBB9gAhEAzvAgsgAEGPgICAADYCCCAAIAE2AgQgASEBC0EDIRAM1AILA0AgAS0AAEEgRw3DAiABQQFqIgEgAkcNAAtB9wAhEAzsAgsCQCABIgEgAkcNAEH4ACEQDOwCCyABLQAAQSBHDc4BIAFBAWohAQzvAQsgACABIgEgAhCsgICAACIQDc4BIAEhAQyOAgsCQCABIgQgAkcNAEH6ACEQDOoCCyAELQAAQcwARw3RASAEQQFqIQFBEyEQDM8BCwJAIAEiBCACRw0AQfsAIRAM6QILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEANAIAQtAAAgAUHwzoCAAGotAABHDdABIAFBBUYNzgEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBB+wAhEAzoAgsCQCABIgQgAkcNAEH8ACEQDOgCCwJAAkAgBC0AAEG9f2oODADRAdEB0QHRAdEB0QHRAdEB0QHRAQHRAQsgBEEBaiEBQeYAIRAMzwILIARBAWohAUHnACEQDM4CCwJAIAEiBCACRw0AQf0AIRAM5wILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQe3PgIAAai0AAEcNzwEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQf0AIRAM5wILIABBADYCACAQQQFqIQFBECEQDMwBCwJAIAEiBCACRw0AQf4AIRAM5gILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEAJAA0AgBC0AACABQfbOgIAAai0AAEcNzgEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQf4AIRAM5gILIABBADYCACAQQQFqIQFBFiEQDMsBCwJAIAEiBCACRw0AQf8AIRAM5QILIAIgBGsgACgCACIBaiEUIAQgAWtBA2ohEAJAA0AgBC0AACABQfzOgIAAai0AAEcNzQEgAUEDRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQf8AIRAM5QILIABBADYCACAQQQFqIQFBBSEQDMoBCwJAIAEiBCACRw0AQYABIRAM5AILIAQtAABB2QBHDcsBIARBAWohAUEIIRAMyQELAkAgASIEIAJHDQBBgQEhEAzjAgsCQAJAIAQtAABBsn9qDgMAzAEBzAELIARBAWohAUHrACEQDMoCCyAEQQFqIQFB7AAhEAzJAgsCQCABIgQgAkcNAEGCASEQDOICCwJAAkAgBC0AAEG4f2oOCADLAcsBywHLAcsBywEBywELIARBAWohAUHqACEQDMkCCyAEQQFqIQFB7QAhEAzIAgsCQCABIgQgAkcNAEGDASEQDOECCyACIARrIAAoAgAiAWohECAEIAFrQQJqIRQCQANAIAQtAAAgAUGAz4CAAGotAABHDckBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgEDYCAEGDASEQDOECC0EAIRAgAEEANgIAIBRBAWohAQzGAQsCQCABIgQgAkcNAEGEASEQDOACCyACIARrIAAoAgAiAWohFCAEIAFrQQRqIRACQANAIAQtAAAgAUGDz4CAAGotAABHDcgBIAFBBEYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGEASEQDOACCyAAQQA2AgAgEEEBaiEBQSMhEAzFAQsCQCABIgQgAkcNAEGFASEQDN8CCwJAAkAgBC0AAEG0f2oOCADIAcgByAHIAcgByAEByAELIARBAWohAUHvACEQDMYCCyAEQQFqIQFB8AAhEAzFAgsCQCABIgQgAkcNAEGGASEQDN4CCyAELQAAQcUARw3FASAEQQFqIQEMgwILAkAgASIEIAJHDQBBhwEhEAzdAgsgAiAEayAAKAIAIgFqIRQgBCABa0EDaiEQAkADQCAELQAAIAFBiM+AgABqLQAARw3FASABQQNGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBhwEhEAzdAgsgAEEANgIAIBBBAWohAUEtIRAMwgELAkAgASIEIAJHDQBBiAEhEAzcAgsgAiAEayAAKAIAIgFqIRQgBCABa0EIaiEQAkADQCAELQAAIAFB0M+AgABqLQAARw3EASABQQhGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBiAEhEAzcAgsgAEEANgIAIBBBAWohAUEpIRAMwQELAkAgASIBIAJHDQBBiQEhEAzbAgtBASEQIAEtAABB3wBHDcABIAFBAWohAQyBAgsCQCABIgQgAkcNAEGKASEQDNoCCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRADQCAELQAAIAFBjM+AgABqLQAARw3BASABQQFGDa8CIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYoBIRAM2QILAkAgASIEIAJHDQBBiwEhEAzZAgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFBjs+AgABqLQAARw3BASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBiwEhEAzZAgsgAEEANgIAIBBBAWohAUECIRAMvgELAkAgASIEIAJHDQBBjAEhEAzYAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFB8M+AgABqLQAARw3AASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBjAEhEAzYAgsgAEEANgIAIBBBAWohAUEfIRAMvQELAkAgASIEIAJHDQBBjQEhEAzXAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFB8s+AgABqLQAARw2/ASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBjQEhEAzXAgsgAEEANgIAIBBBAWohAUEJIRAMvAELAkAgASIEIAJHDQBBjgEhEAzWAgsCQAJAIAQtAABBt39qDgcAvwG/Ab8BvwG/AQG/AQsgBEEBaiEBQfgAIRAMvQILIARBAWohAUH5ACEQDLwCCwJAIAEiBCACRw0AQY8BIRAM1QILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEAJAA0AgBC0AACABQZHPgIAAai0AAEcNvQEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQY8BIRAM1QILIABBADYCACAQQQFqIQFBGCEQDLoBCwJAIAEiBCACRw0AQZABIRAM1AILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQZfPgIAAai0AAEcNvAEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZABIRAM1AILIABBADYCACAQQQFqIQFBFyEQDLkBCwJAIAEiBCACRw0AQZEBIRAM0wILIAIgBGsgACgCACIBaiEUIAQgAWtBBmohEAJAA0AgBC0AACABQZrPgIAAai0AAEcNuwEgAUEGRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZEBIRAM0wILIABBADYCACAQQQFqIQFBFSEQDLgBCwJAIAEiBCACRw0AQZIBIRAM0gILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEAJAA0AgBC0AACABQaHPgIAAai0AAEcNugEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZIBIRAM0gILIABBADYCACAQQQFqIQFBHiEQDLcBCwJAIAEiBCACRw0AQZMBIRAM0QILIAQtAABBzABHDbgBIARBAWohAUEKIRAMtgELAkAgBCACRw0AQZQBIRAM0AILAkACQCAELQAAQb9/ag4PALkBuQG5AbkBuQG5AbkBuQG5AbkBuQG5AbkBAbkBCyAEQQFqIQFB/gAhEAy3AgsgBEEBaiEBQf8AIRAMtgILAkAgBCACRw0AQZUBIRAMzwILAkACQCAELQAAQb9/ag4DALgBAbgBCyAEQQFqIQFB/QAhEAy2AgsgBEEBaiEEQYABIRAMtQILAkAgBCACRw0AQZYBIRAMzgILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQafPgIAAai0AAEcNtgEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZYBIRAMzgILIABBADYCACAQQQFqIQFBCyEQDLMBCwJAIAQgAkcNAEGXASEQDM0CCwJAAkACQAJAIAQtAABBU2oOIwC4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBAbgBuAG4AbgBuAECuAG4AbgBA7gBCyAEQQFqIQFB+wAhEAy2AgsgBEEBaiEBQfwAIRAMtQILIARBAWohBEGBASEQDLQCCyAEQQFqIQRBggEhEAyzAgsCQCAEIAJHDQBBmAEhEAzMAgsgAiAEayAAKAIAIgFqIRQgBCABa0EEaiEQAkADQCAELQAAIAFBqc+AgABqLQAARw20ASABQQRGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBmAEhEAzMAgsgAEEANgIAIBBBAWohAUEZIRAMsQELAkAgBCACRw0AQZkBIRAMywILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEAJAA0AgBC0AACABQa7PgIAAai0AAEcNswEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZkBIRAMywILIABBADYCACAQQQFqIQFBBiEQDLABCwJAIAQgAkcNAEGaASEQDMoCCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUG0z4CAAGotAABHDbIBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGaASEQDMoCCyAAQQA2AgAgEEEBaiEBQRwhEAyvAQsCQCAEIAJHDQBBmwEhEAzJAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFBts+AgABqLQAARw2xASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBmwEhEAzJAgsgAEEANgIAIBBBAWohAUEnIRAMrgELAkAgBCACRw0AQZwBIRAMyAILAkACQCAELQAAQax/ag4CAAGxAQsgBEEBaiEEQYYBIRAMrwILIARBAWohBEGHASEQDK4CCwJAIAQgAkcNAEGdASEQDMcCCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUG4z4CAAGotAABHDa8BIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGdASEQDMcCCyAAQQA2AgAgEEEBaiEBQSYhEAysAQsCQCAEIAJHDQBBngEhEAzGAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFBus+AgABqLQAARw2uASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBngEhEAzGAgsgAEEANgIAIBBBAWohAUEDIRAMqwELAkAgBCACRw0AQZ8BIRAMxQILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQe3PgIAAai0AAEcNrQEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZ8BIRAMxQILIABBADYCACAQQQFqIQFBDCEQDKoBCwJAIAQgAkcNAEGgASEQDMQCCyACIARrIAAoAgAiAWohFCAEIAFrQQNqIRACQANAIAQtAAAgAUG8z4CAAGotAABHDawBIAFBA0YNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGgASEQDMQCCyAAQQA2AgAgEEEBaiEBQQ0hEAypAQsCQCAEIAJHDQBBoQEhEAzDAgsCQAJAIAQtAABBun9qDgsArAGsAawBrAGsAawBrAGsAawBAawBCyAEQQFqIQRBiwEhEAyqAgsgBEEBaiEEQYwBIRAMqQILAkAgBCACRw0AQaIBIRAMwgILIAQtAABB0ABHDakBIARBAWohBAzpAQsCQCAEIAJHDQBBowEhEAzBAgsCQAJAIAQtAABBt39qDgcBqgGqAaoBqgGqAQCqAQsgBEEBaiEEQY4BIRAMqAILIARBAWohAUEiIRAMpgELAkAgBCACRw0AQaQBIRAMwAILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQcDPgIAAai0AAEcNqAEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQaQBIRAMwAILIABBADYCACAQQQFqIQFBHSEQDKUBCwJAIAQgAkcNAEGlASEQDL8CCwJAAkAgBC0AAEGuf2oOAwCoAQGoAQsgBEEBaiEEQZABIRAMpgILIARBAWohAUEEIRAMpAELAkAgBCACRw0AQaYBIRAMvgILAkACQAJAAkACQCAELQAAQb9/ag4VAKoBqgGqAaoBqgGqAaoBqgGqAaoBAaoBqgECqgGqAQOqAaoBBKoBCyAEQQFqIQRBiAEhEAyoAgsgBEEBaiEEQYkBIRAMpwILIARBAWohBEGKASEQDKYCCyAEQQFqIQRBjwEhEAylAgsgBEEBaiEEQZEBIRAMpAILAkAgBCACRw0AQacBIRAMvQILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQe3PgIAAai0AAEcNpQEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQacBIRAMvQILIABBADYCACAQQQFqIQFBESEQDKIBCwJAIAQgAkcNAEGoASEQDLwCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHCz4CAAGotAABHDaQBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGoASEQDLwCCyAAQQA2AgAgEEEBaiEBQSwhEAyhAQsCQCAEIAJHDQBBqQEhEAy7AgsgAiAEayAAKAIAIgFqIRQgBCABa0EEaiEQAkADQCAELQAAIAFBxc+AgABqLQAARw2jASABQQRGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBqQEhEAy7AgsgAEEANgIAIBBBAWohAUErIRAMoAELAkAgBCACRw0AQaoBIRAMugILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQcrPgIAAai0AAEcNogEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQaoBIRAMugILIABBADYCACAQQQFqIQFBFCEQDJ8BCwJAIAQgAkcNAEGrASEQDLkCCwJAAkACQAJAIAQtAABBvn9qDg8AAQKkAaQBpAGkAaQBpAGkAaQBpAGkAaQBA6QBCyAEQQFqIQRBkwEhEAyiAgsgBEEBaiEEQZQBIRAMoQILIARBAWohBEGVASEQDKACCyAEQQFqIQRBlgEhEAyfAgsCQCAEIAJHDQBBrAEhEAy4AgsgBC0AAEHFAEcNnwEgBEEBaiEEDOABCwJAIAQgAkcNAEGtASEQDLcCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHNz4CAAGotAABHDZ8BIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGtASEQDLcCCyAAQQA2AgAgEEEBaiEBQQ4hEAycAQsCQCAEIAJHDQBBrgEhEAy2AgsgBC0AAEHQAEcNnQEgBEEBaiEBQSUhEAybAQsCQCAEIAJHDQBBrwEhEAy1AgsgAiAEayAAKAIAIgFqIRQgBCABa0EIaiEQAkADQCAELQAAIAFB0M+AgABqLQAARw2dASABQQhGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBrwEhEAy1AgsgAEEANgIAIBBBAWohAUEqIRAMmgELAkAgBCACRw0AQbABIRAMtAILAkACQCAELQAAQat/ag4LAJ0BnQGdAZ0BnQGdAZ0BnQGdAQGdAQsgBEEBaiEEQZoBIRAMmwILIARBAWohBEGbASEQDJoCCwJAIAQgAkcNAEGxASEQDLMCCwJAAkAgBC0AAEG/f2oOFACcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAEBnAELIARBAWohBEGZASEQDJoCCyAEQQFqIQRBnAEhEAyZAgsCQCAEIAJHDQBBsgEhEAyyAgsgAiAEayAAKAIAIgFqIRQgBCABa0EDaiEQAkADQCAELQAAIAFB2c+AgABqLQAARw2aASABQQNGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBsgEhEAyyAgsgAEEANgIAIBBBAWohAUEhIRAMlwELAkAgBCACRw0AQbMBIRAMsQILIAIgBGsgACgCACIBaiEUIAQgAWtBBmohEAJAA0AgBC0AACABQd3PgIAAai0AAEcNmQEgAUEGRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbMBIRAMsQILIABBADYCACAQQQFqIQFBGiEQDJYBCwJAIAQgAkcNAEG0ASEQDLACCwJAAkACQCAELQAAQbt/ag4RAJoBmgGaAZoBmgGaAZoBmgGaAQGaAZoBmgGaAZoBApoBCyAEQQFqIQRBnQEhEAyYAgsgBEEBaiEEQZ4BIRAMlwILIARBAWohBEGfASEQDJYCCwJAIAQgAkcNAEG1ASEQDK8CCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUHkz4CAAGotAABHDZcBIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEG1ASEQDK8CCyAAQQA2AgAgEEEBaiEBQSghEAyUAQsCQCAEIAJHDQBBtgEhEAyuAgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFB6s+AgABqLQAARw2WASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBtgEhEAyuAgsgAEEANgIAIBBBAWohAUEHIRAMkwELAkAgBCACRw0AQbcBIRAMrQILAkACQCAELQAAQbt/ag4OAJYBlgGWAZYBlgGWAZYBlgGWAZYBlgGWAQGWAQsgBEEBaiEEQaEBIRAMlAILIARBAWohBEGiASEQDJMCCwJAIAQgAkcNAEG4ASEQDKwCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDZQBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEG4ASEQDKwCCyAAQQA2AgAgEEEBaiEBQRIhEAyRAQsCQCAEIAJHDQBBuQEhEAyrAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFB8M+AgABqLQAARw2TASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBuQEhEAyrAgsgAEEANgIAIBBBAWohAUEgIRAMkAELAkAgBCACRw0AQboBIRAMqgILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfLPgIAAai0AAEcNkgEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQboBIRAMqgILIABBADYCACAQQQFqIQFBDyEQDI8BCwJAIAQgAkcNAEG7ASEQDKkCCwJAAkAgBC0AAEG3f2oOBwCSAZIBkgGSAZIBAZIBCyAEQQFqIQRBpQEhEAyQAgsgBEEBaiEEQaYBIRAMjwILAkAgBCACRw0AQbwBIRAMqAILIAIgBGsgACgCACIBaiEUIAQgAWtBB2ohEAJAA0AgBC0AACABQfTPgIAAai0AAEcNkAEgAUEHRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbwBIRAMqAILIABBADYCACAQQQFqIQFBGyEQDI0BCwJAIAQgAkcNAEG9ASEQDKcCCwJAAkACQCAELQAAQb5/ag4SAJEBkQGRAZEBkQGRAZEBkQGRAQGRAZEBkQGRAZEBkQECkQELIARBAWohBEGkASEQDI8CCyAEQQFqIQRBpwEhEAyOAgsgBEEBaiEEQagBIRAMjQILAkAgBCACRw0AQb4BIRAMpgILIAQtAABBzgBHDY0BIARBAWohBAzPAQsCQCAEIAJHDQBBvwEhEAylAgsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAELQAAQb9/ag4VAAECA5wBBAUGnAGcAZwBBwgJCgucAQwNDg+cAQsgBEEBaiEBQegAIRAMmgILIARBAWohAUHpACEQDJkCCyAEQQFqIQFB7gAhEAyYAgsgBEEBaiEBQfIAIRAMlwILIARBAWohAUHzACEQDJYCCyAEQQFqIQFB9gAhEAyVAgsgBEEBaiEBQfcAIRAMlAILIARBAWohAUH6ACEQDJMCCyAEQQFqIQRBgwEhEAySAgsgBEEBaiEEQYQBIRAMkQILIARBAWohBEGFASEQDJACCyAEQQFqIQRBkgEhEAyPAgsgBEEBaiEEQZgBIRAMjgILIARBAWohBEGgASEQDI0CCyAEQQFqIQRBowEhEAyMAgsgBEEBaiEEQaoBIRAMiwILAkAgBCACRg0AIABBkICAgAA2AgggACAENgIEQasBIRAMiwILQcABIRAMowILIAAgBSACEKqAgIAAIgENiwEgBSEBDFwLAkAgBiACRg0AIAZBAWohBQyNAQtBwgEhEAyhAgsDQAJAIBAtAABBdmoOBIwBAACPAQALIBBBAWoiECACRw0AC0HDASEQDKACCwJAIAcgAkYNACAAQZGAgIAANgIIIAAgBzYCBCAHIQFBASEQDIcCC0HEASEQDJ8CCwJAIAcgAkcNAEHFASEQDJ8CCwJAAkAgBy0AAEF2ag4EAc4BzgEAzgELIAdBAWohBgyNAQsgB0EBaiEFDIkBCwJAIAcgAkcNAEHGASEQDJ4CCwJAAkAgBy0AAEF2ag4XAY8BjwEBjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BAI8BCyAHQQFqIQcLQbABIRAMhAILAkAgCCACRw0AQcgBIRAMnQILIAgtAABBIEcNjQEgAEEAOwEyIAhBAWohAUGzASEQDIMCCyABIRcCQANAIBciByACRg0BIActAABBUGpB/wFxIhBBCk8NzAECQCAALwEyIhRBmTNLDQAgACAUQQpsIhQ7ATIgEEH//wNzIBRB/v8DcUkNACAHQQFqIRcgACAUIBBqIhA7ATIgEEH//wNxQegHSQ0BCwtBACEQIABBADYCHCAAQcGJgIAANgIQIABBDTYCDCAAIAdBAWo2AhQMnAILQccBIRAMmwILIAAgCCACEK6AgIAAIhBFDcoBIBBBFUcNjAEgAEHIATYCHCAAIAg2AhQgAEHJl4CAADYCECAAQRU2AgxBACEQDJoCCwJAIAkgAkcNAEHMASEQDJoCC0EAIRRBASEXQQEhFkEAIRACQAJAAkACQAJAAkACQAJAAkAgCS0AAEFQag4KlgGVAQABAgMEBQYIlwELQQIhEAwGC0EDIRAMBQtBBCEQDAQLQQUhEAwDC0EGIRAMAgtBByEQDAELQQghEAtBACEXQQAhFkEAIRQMjgELQQkhEEEBIRRBACEXQQAhFgyNAQsCQCAKIAJHDQBBzgEhEAyZAgsgCi0AAEEuRw2OASAKQQFqIQkMygELIAsgAkcNjgFB0AEhEAyXAgsCQCALIAJGDQAgAEGOgICAADYCCCAAIAs2AgRBtwEhEAz+AQtB0QEhEAyWAgsCQCAEIAJHDQBB0gEhEAyWAgsgAiAEayAAKAIAIhBqIRQgBCAQa0EEaiELA0AgBC0AACAQQfzPgIAAai0AAEcNjgEgEEEERg3pASAQQQFqIRAgBEEBaiIEIAJHDQALIAAgFDYCAEHSASEQDJUCCyAAIAwgAhCsgICAACIBDY0BIAwhAQy4AQsCQCAEIAJHDQBB1AEhEAyUAgsgAiAEayAAKAIAIhBqIRQgBCAQa0EBaiEMA0AgBC0AACAQQYHQgIAAai0AAEcNjwEgEEEBRg2OASAQQQFqIRAgBEEBaiIEIAJHDQALIAAgFDYCAEHUASEQDJMCCwJAIAQgAkcNAEHWASEQDJMCCyACIARrIAAoAgAiEGohFCAEIBBrQQJqIQsDQCAELQAAIBBBg9CAgABqLQAARw2OASAQQQJGDZABIBBBAWohECAEQQFqIgQgAkcNAAsgACAUNgIAQdYBIRAMkgILAkAgBCACRw0AQdcBIRAMkgILAkACQCAELQAAQbt/ag4QAI8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwEBjwELIARBAWohBEG7ASEQDPkBCyAEQQFqIQRBvAEhEAz4AQsCQCAEIAJHDQBB2AEhEAyRAgsgBC0AAEHIAEcNjAEgBEEBaiEEDMQBCwJAIAQgAkYNACAAQZCAgIAANgIIIAAgBDYCBEG+ASEQDPcBC0HZASEQDI8CCwJAIAQgAkcNAEHaASEQDI8CCyAELQAAQcgARg3DASAAQQE6ACgMuQELIABBAjoALyAAIAQgAhCmgICAACIQDY0BQcIBIRAM9AELIAAtAChBf2oOArcBuQG4AQsDQAJAIAQtAABBdmoOBACOAY4BAI4BCyAEQQFqIgQgAkcNAAtB3QEhEAyLAgsgAEEAOgAvIAAtAC1BBHFFDYQCCyAAQQA6AC8gAEEBOgA0IAEhAQyMAQsgEEEVRg3aASAAQQA2AhwgACABNgIUIABBp46AgAA2AhAgAEESNgIMQQAhEAyIAgsCQCAAIBAgAhC0gICAACIEDQAgECEBDIECCwJAIARBFUcNACAAQQM2AhwgACAQNgIUIABBsJiAgAA2AhAgAEEVNgIMQQAhEAyIAgsgAEEANgIcIAAgEDYCFCAAQaeOgIAANgIQIABBEjYCDEEAIRAMhwILIBBBFUYN1gEgAEEANgIcIAAgATYCFCAAQdqNgIAANgIQIABBFDYCDEEAIRAMhgILIAAoAgQhFyAAQQA2AgQgECARp2oiFiEBIAAgFyAQIBYgFBsiEBC1gICAACIURQ2NASAAQQc2AhwgACAQNgIUIAAgFDYCDEEAIRAMhQILIAAgAC8BMEGAAXI7ATAgASEBC0EqIRAM6gELIBBBFUYN0QEgAEEANgIcIAAgATYCFCAAQYOMgIAANgIQIABBEzYCDEEAIRAMggILIBBBFUYNzwEgAEEANgIcIAAgATYCFCAAQZqPgIAANgIQIABBIjYCDEEAIRAMgQILIAAoAgQhECAAQQA2AgQCQCAAIBAgARC3gICAACIQDQAgAUEBaiEBDI0BCyAAQQw2AhwgACAQNgIMIAAgAUEBajYCFEEAIRAMgAILIBBBFUYNzAEgAEEANgIcIAAgATYCFCAAQZqPgIAANgIQIABBIjYCDEEAIRAM/wELIAAoAgQhECAAQQA2AgQCQCAAIBAgARC3gICAACIQDQAgAUEBaiEBDIwBCyAAQQ02AhwgACAQNgIMIAAgAUEBajYCFEEAIRAM/gELIBBBFUYNyQEgAEEANgIcIAAgATYCFCAAQcaMgIAANgIQIABBIzYCDEEAIRAM/QELIAAoAgQhECAAQQA2AgQCQCAAIBAgARC5gICAACIQDQAgAUEBaiEBDIsBCyAAQQ42AhwgACAQNgIMIAAgAUEBajYCFEEAIRAM/AELIABBADYCHCAAIAE2AhQgAEHAlYCAADYCECAAQQI2AgxBACEQDPsBCyAQQRVGDcUBIABBADYCHCAAIAE2AhQgAEHGjICAADYCECAAQSM2AgxBACEQDPoBCyAAQRA2AhwgACABNgIUIAAgEDYCDEEAIRAM+QELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARC5gICAACIEDQAgAUEBaiEBDPEBCyAAQRE2AhwgACAENgIMIAAgAUEBajYCFEEAIRAM+AELIBBBFUYNwQEgAEEANgIcIAAgATYCFCAAQcaMgIAANgIQIABBIzYCDEEAIRAM9wELIAAoAgQhECAAQQA2AgQCQCAAIBAgARC5gICAACIQDQAgAUEBaiEBDIgBCyAAQRM2AhwgACAQNgIMIAAgAUEBajYCFEEAIRAM9gELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARC5gICAACIEDQAgAUEBaiEBDO0BCyAAQRQ2AhwgACAENgIMIAAgAUEBajYCFEEAIRAM9QELIBBBFUYNvQEgAEEANgIcIAAgATYCFCAAQZqPgIAANgIQIABBIjYCDEEAIRAM9AELIAAoAgQhECAAQQA2AgQCQCAAIBAgARC3gICAACIQDQAgAUEBaiEBDIYBCyAAQRY2AhwgACAQNgIMIAAgAUEBajYCFEEAIRAM8wELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARC3gICAACIEDQAgAUEBaiEBDOkBCyAAQRc2AhwgACAENgIMIAAgAUEBajYCFEEAIRAM8gELIABBADYCHCAAIAE2AhQgAEHNk4CAADYCECAAQQw2AgxBACEQDPEBC0IBIRELIBBBAWohAQJAIAApAyAiEkL//////////w9WDQAgACASQgSGIBGENwMgIAEhAQyEAQsgAEEANgIcIAAgATYCFCAAQa2JgIAANgIQIABBDDYCDEEAIRAM7wELIABBADYCHCAAIBA2AhQgAEHNk4CAADYCECAAQQw2AgxBACEQDO4BCyAAKAIEIRcgAEEANgIEIBAgEadqIhYhASAAIBcgECAWIBQbIhAQtYCAgAAiFEUNcyAAQQU2AhwgACAQNgIUIAAgFDYCDEEAIRAM7QELIABBADYCHCAAIBA2AhQgAEGqnICAADYCECAAQQ82AgxBACEQDOwBCyAAIBAgAhC0gICAACIBDQEgECEBC0EOIRAM0QELAkAgAUEVRw0AIABBAjYCHCAAIBA2AhQgAEGwmICAADYCECAAQRU2AgxBACEQDOoBCyAAQQA2AhwgACAQNgIUIABBp46AgAA2AhAgAEESNgIMQQAhEAzpAQsgAUEBaiEQAkAgAC8BMCIBQYABcUUNAAJAIAAgECACELuAgIAAIgENACAQIQEMcAsgAUEVRw26ASAAQQU2AhwgACAQNgIUIABB+ZeAgAA2AhAgAEEVNgIMQQAhEAzpAQsCQCABQaAEcUGgBEcNACAALQAtQQJxDQAgAEEANgIcIAAgEDYCFCAAQZaTgIAANgIQIABBBDYCDEEAIRAM6QELIAAgECACEL2AgIAAGiAQIQECQAJAAkACQAJAIAAgECACELOAgIAADhYCAQAEBAQEBAQEBAQEBAQEBAQEBAQDBAsgAEEBOgAuCyAAIAAvATBBwAByOwEwIBAhAQtBJiEQDNEBCyAAQSM2AhwgACAQNgIUIABBpZaAgAA2AhAgAEEVNgIMQQAhEAzpAQsgAEEANgIcIAAgEDYCFCAAQdWLgIAANgIQIABBETYCDEEAIRAM6AELIAAtAC1BAXFFDQFBwwEhEAzOAQsCQCANIAJGDQADQAJAIA0tAABBIEYNACANIQEMxAELIA1BAWoiDSACRw0AC0ElIRAM5wELQSUhEAzmAQsgACgCBCEEIABBADYCBCAAIAQgDRCvgICAACIERQ2tASAAQSY2AhwgACAENgIMIAAgDUEBajYCFEEAIRAM5QELIBBBFUYNqwEgAEEANgIcIAAgATYCFCAAQf2NgIAANgIQIABBHTYCDEEAIRAM5AELIABBJzYCHCAAIAE2AhQgACAQNgIMQQAhEAzjAQsgECEBQQEhFAJAAkACQAJAAkACQAJAIAAtACxBfmoOBwYFBQMBAgAFCyAAIAAvATBBCHI7ATAMAwtBAiEUDAELQQQhFAsgAEEBOgAsIAAgAC8BMCAUcjsBMAsgECEBC0ErIRAMygELIABBADYCHCAAIBA2AhQgAEGrkoCAADYCECAAQQs2AgxBACEQDOIBCyAAQQA2AhwgACABNgIUIABB4Y+AgAA2AhAgAEEKNgIMQQAhEAzhAQsgAEEAOgAsIBAhAQy9AQsgECEBQQEhFAJAAkACQAJAAkAgAC0ALEF7ag4EAwECAAULIAAgAC8BMEEIcjsBMAwDC0ECIRQMAQtBBCEUCyAAQQE6ACwgACAALwEwIBRyOwEwCyAQIQELQSkhEAzFAQsgAEEANgIcIAAgATYCFCAAQfCUgIAANgIQIABBAzYCDEEAIRAM3QELAkAgDi0AAEENRw0AIAAoAgQhASAAQQA2AgQCQCAAIAEgDhCxgICAACIBDQAgDkEBaiEBDHULIABBLDYCHCAAIAE2AgwgACAOQQFqNgIUQQAhEAzdAQsgAC0ALUEBcUUNAUHEASEQDMMBCwJAIA4gAkcNAEEtIRAM3AELAkACQANAAkAgDi0AAEF2ag4EAgAAAwALIA5BAWoiDiACRw0AC0EtIRAM3QELIAAoAgQhASAAQQA2AgQCQCAAIAEgDhCxgICAACIBDQAgDiEBDHQLIABBLDYCHCAAIA42AhQgACABNgIMQQAhEAzcAQsgACgCBCEBIABBADYCBAJAIAAgASAOELGAgIAAIgENACAOQQFqIQEMcwsgAEEsNgIcIAAgATYCDCAAIA5BAWo2AhRBACEQDNsBCyAAKAIEIQQgAEEANgIEIAAgBCAOELGAgIAAIgQNoAEgDiEBDM4BCyAQQSxHDQEgAUEBaiEQQQEhAQJAAkACQAJAAkAgAC0ALEF7ag4EAwECBAALIBAhAQwEC0ECIQEMAQtBBCEBCyAAQQE6ACwgACAALwEwIAFyOwEwIBAhAQwBCyAAIAAvATBBCHI7ATAgECEBC0E5IRAMvwELIABBADoALCABIQELQTQhEAy9AQsgACAALwEwQSByOwEwIAEhAQwCCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQsYCAgAAiBA0AIAEhAQzHAQsgAEE3NgIcIAAgATYCFCAAIAQ2AgxBACEQDNQBCyAAQQg6ACwgASEBC0EwIRAMuQELAkAgAC0AKEEBRg0AIAEhAQwECyAALQAtQQhxRQ2TASABIQEMAwsgAC0AMEEgcQ2UAUHFASEQDLcBCwJAIA8gAkYNAAJAA0ACQCAPLQAAQVBqIgFB/wFxQQpJDQAgDyEBQTUhEAy6AQsgACkDICIRQpmz5syZs+bMGVYNASAAIBFCCn4iETcDICARIAGtQv8BgyISQn+FVg0BIAAgESASfDcDICAPQQFqIg8gAkcNAAtBOSEQDNEBCyAAKAIEIQIgAEEANgIEIAAgAiAPQQFqIgQQsYCAgAAiAg2VASAEIQEMwwELQTkhEAzPAQsCQCAALwEwIgFBCHFFDQAgAC0AKEEBRw0AIAAtAC1BCHFFDZABCyAAIAFB9/sDcUGABHI7ATAgDyEBC0E3IRAMtAELIAAgAC8BMEEQcjsBMAyrAQsgEEEVRg2LASAAQQA2AhwgACABNgIUIABB8I6AgAA2AhAgAEEcNgIMQQAhEAzLAQsgAEHDADYCHCAAIAE2AgwgACANQQFqNgIUQQAhEAzKAQsCQCABLQAAQTpHDQAgACgCBCEQIABBADYCBAJAIAAgECABEK+AgIAAIhANACABQQFqIQEMYwsgAEHDADYCHCAAIBA2AgwgACABQQFqNgIUQQAhEAzKAQsgAEEANgIcIAAgATYCFCAAQbGRgIAANgIQIABBCjYCDEEAIRAMyQELIABBADYCHCAAIAE2AhQgAEGgmYCAADYCECAAQR42AgxBACEQDMgBCyAAQQA2AgALIABBgBI7ASogACAXQQFqIgEgAhCogICAACIQDQEgASEBC0HHACEQDKwBCyAQQRVHDYMBIABB0QA2AhwgACABNgIUIABB45eAgAA2AhAgAEEVNgIMQQAhEAzEAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMXgsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAzDAQsgAEEANgIcIAAgFDYCFCAAQcGogIAANgIQIABBBzYCDCAAQQA2AgBBACEQDMIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxdCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDMEBC0EAIRAgAEEANgIcIAAgATYCFCAAQYCRgIAANgIQIABBCTYCDAzAAQsgEEEVRg19IABBADYCHCAAIAE2AhQgAEGUjYCAADYCECAAQSE2AgxBACEQDL8BC0EBIRZBACEXQQAhFEEBIRALIAAgEDoAKyABQQFqIQECQAJAIAAtAC1BEHENAAJAAkACQCAALQAqDgMBAAIECyAWRQ0DDAILIBQNAQwCCyAXRQ0BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQrYCAgAAiEA0AIAEhAQxcCyAAQdgANgIcIAAgATYCFCAAIBA2AgxBACEQDL4BCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQrYCAgAAiBA0AIAEhAQytAQsgAEHZADYCHCAAIAE2AhQgACAENgIMQQAhEAy9AQsgACgCBCEEIABBADYCBAJAIAAgBCABEK2AgIAAIgQNACABIQEMqwELIABB2gA2AhwgACABNgIUIAAgBDYCDEEAIRAMvAELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCtgICAACIEDQAgASEBDKkBCyAAQdwANgIcIAAgATYCFCAAIAQ2AgxBACEQDLsBCwJAIAEtAABBUGoiEEH/AXFBCk8NACAAIBA6ACogAUEBaiEBQc8AIRAMogELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCtgICAACIEDQAgASEBDKcBCyAAQd4ANgIcIAAgATYCFCAAIAQ2AgxBACEQDLoBCyAAQQA2AgAgF0EBaiEBAkAgAC0AKUEjTw0AIAEhAQxZCyAAQQA2AhwgACABNgIUIABB04mAgAA2AhAgAEEINgIMQQAhEAy5AQsgAEEANgIAC0EAIRAgAEEANgIcIAAgATYCFCAAQZCzgIAANgIQIABBCDYCDAy3AQsgAEEANgIAIBdBAWohAQJAIAAtAClBIUcNACABIQEMVgsgAEEANgIcIAAgATYCFCAAQZuKgIAANgIQIABBCDYCDEEAIRAMtgELIABBADYCACAXQQFqIQECQCAALQApIhBBXWpBC08NACABIQEMVQsCQCAQQQZLDQBBASAQdEHKAHFFDQAgASEBDFULQQAhECAAQQA2AhwgACABNgIUIABB94mAgAA2AhAgAEEINgIMDLUBCyAQQRVGDXEgAEEANgIcIAAgATYCFCAAQbmNgIAANgIQIABBGjYCDEEAIRAMtAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDFQLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMswELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDE0LIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMsgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDE0LIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMsQELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDFELIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMsAELIABBADYCHCAAIAE2AhQgAEHGioCAADYCECAAQQc2AgxBACEQDK8BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxJCyAAQdIANgIcIAAgATYCFCAAIBA2AgxBACEQDK4BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxJCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDK0BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDKwBCyAAQQA2AhwgACABNgIUIABB3IiAgAA2AhAgAEEHNgIMQQAhEAyrAQsgEEE/Rw0BIAFBAWohAQtBBSEQDJABC0EAIRAgAEEANgIcIAAgATYCFCAAQf2SgIAANgIQIABBBzYCDAyoAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMQgsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAynAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMQgsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAymAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMRgsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAylAQsgACgCBCEBIABBADYCBAJAIAAgASAUEKeAgIAAIgENACAUIQEMPwsgAEHSADYCHCAAIBQ2AhQgACABNgIMQQAhEAykAQsgACgCBCEBIABBADYCBAJAIAAgASAUEKeAgIAAIgENACAUIQEMPwsgAEHTADYCHCAAIBQ2AhQgACABNgIMQQAhEAyjAQsgACgCBCEBIABBADYCBAJAIAAgASAUEKeAgIAAIgENACAUIQEMQwsgAEHlADYCHCAAIBQ2AhQgACABNgIMQQAhEAyiAQsgAEEANgIcIAAgFDYCFCAAQcOPgIAANgIQIABBBzYCDEEAIRAMoQELIABBADYCHCAAIAE2AhQgAEHDj4CAADYCECAAQQc2AgxBACEQDKABC0EAIRAgAEEANgIcIAAgFDYCFCAAQYycgIAANgIQIABBBzYCDAyfAQsgAEEANgIcIAAgFDYCFCAAQYycgIAANgIQIABBBzYCDEEAIRAMngELIABBADYCHCAAIBQ2AhQgAEH+kYCAADYCECAAQQc2AgxBACEQDJ0BCyAAQQA2AhwgACABNgIUIABBjpuAgAA2AhAgAEEGNgIMQQAhEAycAQsgEEEVRg1XIABBADYCHCAAIAE2AhQgAEHMjoCAADYCECAAQSA2AgxBACEQDJsBCyAAQQA2AgAgEEEBaiEBQSQhEAsgACAQOgApIAAoAgQhECAAQQA2AgQgACAQIAEQq4CAgAAiEA1UIAEhAQw+CyAAQQA2AgALQQAhECAAQQA2AhwgACAENgIUIABB8ZuAgAA2AhAgAEEGNgIMDJcBCyABQRVGDVAgAEEANgIcIAAgBTYCFCAAQfCMgIAANgIQIABBGzYCDEEAIRAMlgELIAAoAgQhBSAAQQA2AgQgACAFIBAQqYCAgAAiBQ0BIBBBAWohBQtBrQEhEAx7CyAAQcEBNgIcIAAgBTYCDCAAIBBBAWo2AhRBACEQDJMBCyAAKAIEIQYgAEEANgIEIAAgBiAQEKmAgIAAIgYNASAQQQFqIQYLQa4BIRAMeAsgAEHCATYCHCAAIAY2AgwgACAQQQFqNgIUQQAhEAyQAQsgAEEANgIcIAAgBzYCFCAAQZeLgIAANgIQIABBDTYCDEEAIRAMjwELIABBADYCHCAAIAg2AhQgAEHjkICAADYCECAAQQk2AgxBACEQDI4BCyAAQQA2AhwgACAINgIUIABBlI2AgAA2AhAgAEEhNgIMQQAhEAyNAQtBASEWQQAhF0EAIRRBASEQCyAAIBA6ACsgCUEBaiEIAkACQCAALQAtQRBxDQACQAJAAkAgAC0AKg4DAQACBAsgFkUNAwwCCyAUDQEMAgsgF0UNAQsgACgCBCEQIABBADYCBCAAIBAgCBCtgICAACIQRQ09IABByQE2AhwgACAINgIUIAAgEDYCDEEAIRAMjAELIAAoAgQhBCAAQQA2AgQgACAEIAgQrYCAgAAiBEUNdiAAQcoBNgIcIAAgCDYCFCAAIAQ2AgxBACEQDIsBCyAAKAIEIQQgAEEANgIEIAAgBCAJEK2AgIAAIgRFDXQgAEHLATYCHCAAIAk2AhQgACAENgIMQQAhEAyKAQsgACgCBCEEIABBADYCBCAAIAQgChCtgICAACIERQ1yIABBzQE2AhwgACAKNgIUIAAgBDYCDEEAIRAMiQELAkAgCy0AAEFQaiIQQf8BcUEKTw0AIAAgEDoAKiALQQFqIQpBtgEhEAxwCyAAKAIEIQQgAEEANgIEIAAgBCALEK2AgIAAIgRFDXAgAEHPATYCHCAAIAs2AhQgACAENgIMQQAhEAyIAQsgAEEANgIcIAAgBDYCFCAAQZCzgIAANgIQIABBCDYCDCAAQQA2AgBBACEQDIcBCyABQRVGDT8gAEEANgIcIAAgDDYCFCAAQcyOgIAANgIQIABBIDYCDEEAIRAMhgELIABBgQQ7ASggACgCBCEQIABCADcDACAAIBAgDEEBaiIMEKuAgIAAIhBFDTggAEHTATYCHCAAIAw2AhQgACAQNgIMQQAhEAyFAQsgAEEANgIAC0EAIRAgAEEANgIcIAAgBDYCFCAAQdibgIAANgIQIABBCDYCDAyDAQsgACgCBCEQIABCADcDACAAIBAgC0EBaiILEKuAgIAAIhANAUHGASEQDGkLIABBAjoAKAxVCyAAQdUBNgIcIAAgCzYCFCAAIBA2AgxBACEQDIABCyAQQRVGDTcgAEEANgIcIAAgBDYCFCAAQaSMgIAANgIQIABBEDYCDEEAIRAMfwsgAC0ANEEBRw00IAAgBCACELyAgIAAIhBFDTQgEEEVRw01IABB3AE2AhwgACAENgIUIABB1ZaAgAA2AhAgAEEVNgIMQQAhEAx+C0EAIRAgAEEANgIcIABBr4uAgAA2AhAgAEECNgIMIAAgFEEBajYCFAx9C0EAIRAMYwtBAiEQDGILQQ0hEAxhC0EPIRAMYAtBJSEQDF8LQRMhEAxeC0EVIRAMXQtBFiEQDFwLQRchEAxbC0EYIRAMWgtBGSEQDFkLQRohEAxYC0EbIRAMVwtBHCEQDFYLQR0hEAxVC0EfIRAMVAtBISEQDFMLQSMhEAxSC0HGACEQDFELQS4hEAxQC0EvIRAMTwtBOyEQDE4LQT0hEAxNC0HIACEQDEwLQckAIRAMSwtBywAhEAxKC0HMACEQDEkLQc4AIRAMSAtB0QAhEAxHC0HVACEQDEYLQdgAIRAMRQtB2QAhEAxEC0HbACEQDEMLQeQAIRAMQgtB5QAhEAxBC0HxACEQDEALQfQAIRAMPwtBjQEhEAw+C0GXASEQDD0LQakBIRAMPAtBrAEhEAw7C0HAASEQDDoLQbkBIRAMOQtBrwEhEAw4C0GxASEQDDcLQbIBIRAMNgtBtAEhEAw1C0G1ASEQDDQLQboBIRAMMwtBvQEhEAwyC0G/ASEQDDELQcEBIRAMMAsgAEEANgIcIAAgBDYCFCAAQemLgIAANgIQIABBHzYCDEEAIRAMSAsgAEHbATYCHCAAIAQ2AhQgAEH6loCAADYCECAAQRU2AgxBACEQDEcLIABB+AA2AhwgACAMNgIUIABBypiAgAA2AhAgAEEVNgIMQQAhEAxGCyAAQdEANgIcIAAgBTYCFCAAQbCXgIAANgIQIABBFTYCDEEAIRAMRQsgAEH5ADYCHCAAIAE2AhQgACAQNgIMQQAhEAxECyAAQfgANgIcIAAgATYCFCAAQcqYgIAANgIQIABBFTYCDEEAIRAMQwsgAEHkADYCHCAAIAE2AhQgAEHjl4CAADYCECAAQRU2AgxBACEQDEILIABB1wA2AhwgACABNgIUIABByZeAgAA2AhAgAEEVNgIMQQAhEAxBCyAAQQA2AhwgACABNgIUIABBuY2AgAA2AhAgAEEaNgIMQQAhEAxACyAAQcIANgIcIAAgATYCFCAAQeOYgIAANgIQIABBFTYCDEEAIRAMPwsgAEEANgIEIAAgDyAPELGAgIAAIgRFDQEgAEE6NgIcIAAgBDYCDCAAIA9BAWo2AhRBACEQDD4LIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCxgICAACIERQ0AIABBOzYCHCAAIAQ2AgwgACABQQFqNgIUQQAhEAw+CyABQQFqIQEMLQsgD0EBaiEBDC0LIABBADYCHCAAIA82AhQgAEHkkoCAADYCECAAQQQ2AgxBACEQDDsLIABBNjYCHCAAIAQ2AhQgACACNgIMQQAhEAw6CyAAQS42AhwgACAONgIUIAAgBDYCDEEAIRAMOQsgAEHQADYCHCAAIAE2AhQgAEGRmICAADYCECAAQRU2AgxBACEQDDgLIA1BAWohAQwsCyAAQRU2AhwgACABNgIUIABBgpmAgAA2AhAgAEEVNgIMQQAhEAw2CyAAQRs2AhwgACABNgIUIABBkZeAgAA2AhAgAEEVNgIMQQAhEAw1CyAAQQ82AhwgACABNgIUIABBkZeAgAA2AhAgAEEVNgIMQQAhEAw0CyAAQQs2AhwgACABNgIUIABBkZeAgAA2AhAgAEEVNgIMQQAhEAwzCyAAQRo2AhwgACABNgIUIABBgpmAgAA2AhAgAEEVNgIMQQAhEAwyCyAAQQs2AhwgACABNgIUIABBgpmAgAA2AhAgAEEVNgIMQQAhEAwxCyAAQQo2AhwgACABNgIUIABB5JaAgAA2AhAgAEEVNgIMQQAhEAwwCyAAQR42AhwgACABNgIUIABB+ZeAgAA2AhAgAEEVNgIMQQAhEAwvCyAAQQA2AhwgACAQNgIUIABB2o2AgAA2AhAgAEEUNgIMQQAhEAwuCyAAQQQ2AhwgACABNgIUIABBsJiAgAA2AhAgAEEVNgIMQQAhEAwtCyAAQQA2AgAgC0EBaiELC0G4ASEQDBILIABBADYCACAQQQFqIQFB9QAhEAwRCyABIQECQCAALQApQQVHDQBB4wAhEAwRC0HiACEQDBALQQAhECAAQQA2AhwgAEHkkYCAADYCECAAQQc2AgwgACAUQQFqNgIUDCgLIABBADYCACAXQQFqIQFBwAAhEAwOC0EBIQELIAAgAToALCAAQQA2AgAgF0EBaiEBC0EoIRAMCwsgASEBC0E4IRAMCQsCQCABIg8gAkYNAANAAkAgDy0AAEGAvoCAAGotAAAiAUEBRg0AIAFBAkcNAyAPQQFqIQEMBAsgD0EBaiIPIAJHDQALQT4hEAwiC0E+IRAMIQsgAEEAOgAsIA8hAQwBC0ELIRAMBgtBOiEQDAULIAFBAWohAUEtIRAMBAsgACABOgAsIABBADYCACAWQQFqIQFBDCEQDAMLIABBADYCACAXQQFqIQFBCiEQDAILIABBADYCAAsgAEEAOgAsIA0hAUEJIRAMAAsLQQAhECAAQQA2AhwgACALNgIUIABBzZCAgAA2AhAgAEEJNgIMDBcLQQAhECAAQQA2AhwgACAKNgIUIABB6YqAgAA2AhAgAEEJNgIMDBYLQQAhECAAQQA2AhwgACAJNgIUIABBt5CAgAA2AhAgAEEJNgIMDBULQQAhECAAQQA2AhwgACAINgIUIABBnJGAgAA2AhAgAEEJNgIMDBQLQQAhECAAQQA2AhwgACABNgIUIABBzZCAgAA2AhAgAEEJNgIMDBMLQQAhECAAQQA2AhwgACABNgIUIABB6YqAgAA2AhAgAEEJNgIMDBILQQAhECAAQQA2AhwgACABNgIUIABBt5CAgAA2AhAgAEEJNgIMDBELQQAhECAAQQA2AhwgACABNgIUIABBnJGAgAA2AhAgAEEJNgIMDBALQQAhECAAQQA2AhwgACABNgIUIABBl5WAgAA2AhAgAEEPNgIMDA8LQQAhECAAQQA2AhwgACABNgIUIABBl5WAgAA2AhAgAEEPNgIMDA4LQQAhECAAQQA2AhwgACABNgIUIABBwJKAgAA2AhAgAEELNgIMDA0LQQAhECAAQQA2AhwgACABNgIUIABBlYmAgAA2AhAgAEELNgIMDAwLQQAhECAAQQA2AhwgACABNgIUIABB4Y+AgAA2AhAgAEEKNgIMDAsLQQAhECAAQQA2AhwgACABNgIUIABB+4+AgAA2AhAgAEEKNgIMDAoLQQAhECAAQQA2AhwgACABNgIUIABB8ZmAgAA2AhAgAEECNgIMDAkLQQAhECAAQQA2AhwgACABNgIUIABBxJSAgAA2AhAgAEECNgIMDAgLQQAhECAAQQA2AhwgACABNgIUIABB8pWAgAA2AhAgAEECNgIMDAcLIABBAjYCHCAAIAE2AhQgAEGcmoCAADYCECAAQRY2AgxBACEQDAYLQQEhEAwFC0HUACEQIAEiBCACRg0EIANBCGogACAEIAJB2MKAgABBChDFgICAACADKAIMIQQgAygCCA4DAQQCAAsQyoCAgAAACyAAQQA2AhwgAEG1moCAADYCECAAQRc2AgwgACAEQQFqNgIUQQAhEAwCCyAAQQA2AhwgACAENgIUIABBypqAgAA2AhAgAEEJNgIMQQAhEAwBCwJAIAEiBCACRw0AQSIhEAwBCyAAQYmAgIAANgIIIAAgBDYCBEEhIRALIANBEGokgICAgAAgEAuvAQECfyABKAIAIQYCQAJAIAIgA0YNACAEIAZqIQQgBiADaiACayEHIAIgBkF/cyAFaiIGaiEFA0ACQCACLQAAIAQtAABGDQBBAiEEDAMLAkAgBg0AQQAhBCAFIQIMAwsgBkF/aiEGIARBAWohBCACQQFqIgIgA0cNAAsgByEGIAMhAgsgAEEBNgIAIAEgBjYCACAAIAI2AgQPCyABQQA2AgAgACAENgIAIAAgAjYCBAsKACAAEMeAgIAAC/I2AQt/I4CAgIAAQRBrIgEkgICAgAACQEEAKAKg0ICAAA0AQQAQy4CAgABBgNSEgABrIgJB2QBJDQBBACEDAkBBACgC4NOAgAAiBA0AQQBCfzcC7NOAgABBAEKAgISAgIDAADcC5NOAgABBACABQQhqQXBxQdiq1aoFcyIENgLg04CAAEEAQQA2AvTTgIAAQQBBADYCxNOAgAALQQAgAjYCzNOAgABBAEGA1ISAADYCyNOAgABBAEGA1ISAADYCmNCAgABBACAENgKs0ICAAEEAQX82AqjQgIAAA0AgA0HE0ICAAGogA0G40ICAAGoiBDYCACAEIANBsNCAgABqIgU2AgAgA0G80ICAAGogBTYCACADQczQgIAAaiADQcDQgIAAaiIFNgIAIAUgBDYCACADQdTQgIAAaiADQcjQgIAAaiIENgIAIAQgBTYCACADQdDQgIAAaiAENgIAIANBIGoiA0GAAkcNAAtBgNSEgABBeEGA1ISAAGtBD3FBAEGA1ISAAEEIakEPcRsiA2oiBEEEaiACQUhqIgUgA2siA0EBcjYCAEEAQQAoAvDTgIAANgKk0ICAAEEAIAM2ApTQgIAAQQAgBDYCoNCAgABBgNSEgAAgBWpBODYCBAsCQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEHsAUsNAAJAQQAoAojQgIAAIgZBECAAQRNqQXBxIABBC0kbIgJBA3YiBHYiA0EDcUUNAAJAAkAgA0EBcSAEckEBcyIFQQN0IgRBsNCAgABqIgMgBEG40ICAAGooAgAiBCgCCCICRw0AQQAgBkF+IAV3cTYCiNCAgAAMAQsgAyACNgIIIAIgAzYCDAsgBEEIaiEDIAQgBUEDdCIFQQNyNgIEIAQgBWoiBCAEKAIEQQFyNgIEDAwLIAJBACgCkNCAgAAiB00NAQJAIANFDQACQAJAIAMgBHRBAiAEdCIDQQAgA2tycSIDQQAgA2txQX9qIgMgA0EMdkEQcSIDdiIEQQV2QQhxIgUgA3IgBCAFdiIDQQJ2QQRxIgRyIAMgBHYiA0EBdkECcSIEciADIAR2IgNBAXZBAXEiBHIgAyAEdmoiBEEDdCIDQbDQgIAAaiIFIANBuNCAgABqKAIAIgMoAggiAEcNAEEAIAZBfiAEd3EiBjYCiNCAgAAMAQsgBSAANgIIIAAgBTYCDAsgAyACQQNyNgIEIAMgBEEDdCIEaiAEIAJrIgU2AgAgAyACaiIAIAVBAXI2AgQCQCAHRQ0AIAdBeHFBsNCAgABqIQJBACgCnNCAgAAhBAJAAkAgBkEBIAdBA3Z0IghxDQBBACAGIAhyNgKI0ICAACACIQgMAQsgAigCCCEICyAIIAQ2AgwgAiAENgIIIAQgAjYCDCAEIAg2AggLIANBCGohA0EAIAA2ApzQgIAAQQAgBTYCkNCAgAAMDAtBACgCjNCAgAAiCUUNASAJQQAgCWtxQX9qIgMgA0EMdkEQcSIDdiIEQQV2QQhxIgUgA3IgBCAFdiIDQQJ2QQRxIgRyIAMgBHYiA0EBdkECcSIEciADIAR2IgNBAXZBAXEiBHIgAyAEdmpBAnRBuNKAgABqKAIAIgAoAgRBeHEgAmshBCAAIQUCQANAAkAgBSgCECIDDQAgBUEUaigCACIDRQ0CCyADKAIEQXhxIAJrIgUgBCAFIARJIgUbIQQgAyAAIAUbIQAgAyEFDAALCyAAKAIYIQoCQCAAKAIMIgggAEYNACAAKAIIIgNBACgCmNCAgABJGiAIIAM2AgggAyAINgIMDAsLAkAgAEEUaiIFKAIAIgMNACAAKAIQIgNFDQMgAEEQaiEFCwNAIAUhCyADIghBFGoiBSgCACIDDQAgCEEQaiEFIAgoAhAiAw0ACyALQQA2AgAMCgtBfyECIABBv39LDQAgAEETaiIDQXBxIQJBACgCjNCAgAAiB0UNAEEAIQsCQCACQYACSQ0AQR8hCyACQf///wdLDQAgA0EIdiIDIANBgP4/akEQdkEIcSIDdCIEIARBgOAfakEQdkEEcSIEdCIFIAVBgIAPakEQdkECcSIFdEEPdiADIARyIAVyayIDQQF0IAIgA0EVanZBAXFyQRxqIQsLQQAgAmshBAJAAkACQAJAIAtBAnRBuNKAgABqKAIAIgUNAEEAIQNBACEIDAELQQAhAyACQQBBGSALQQF2ayALQR9GG3QhAEEAIQgDQAJAIAUoAgRBeHEgAmsiBiAETw0AIAYhBCAFIQggBg0AQQAhBCAFIQggBSEDDAMLIAMgBUEUaigCACIGIAYgBSAAQR12QQRxakEQaigCACIFRhsgAyAGGyEDIABBAXQhACAFDQALCwJAIAMgCHINAEEAIQhBAiALdCIDQQAgA2tyIAdxIgNFDQMgA0EAIANrcUF/aiIDIANBDHZBEHEiA3YiBUEFdkEIcSIAIANyIAUgAHYiA0ECdkEEcSIFciADIAV2IgNBAXZBAnEiBXIgAyAFdiIDQQF2QQFxIgVyIAMgBXZqQQJ0QbjSgIAAaigCACEDCyADRQ0BCwNAIAMoAgRBeHEgAmsiBiAESSEAAkAgAygCECIFDQAgA0EUaigCACEFCyAGIAQgABshBCADIAggABshCCAFIQMgBQ0ACwsgCEUNACAEQQAoApDQgIAAIAJrTw0AIAgoAhghCwJAIAgoAgwiACAIRg0AIAgoAggiA0EAKAKY0ICAAEkaIAAgAzYCCCADIAA2AgwMCQsCQCAIQRRqIgUoAgAiAw0AIAgoAhAiA0UNAyAIQRBqIQULA0AgBSEGIAMiAEEUaiIFKAIAIgMNACAAQRBqIQUgACgCECIDDQALIAZBADYCAAwICwJAQQAoApDQgIAAIgMgAkkNAEEAKAKc0ICAACEEAkACQCADIAJrIgVBEEkNACAEIAJqIgAgBUEBcjYCBEEAIAU2ApDQgIAAQQAgADYCnNCAgAAgBCADaiAFNgIAIAQgAkEDcjYCBAwBCyAEIANBA3I2AgQgBCADaiIDIAMoAgRBAXI2AgRBAEEANgKc0ICAAEEAQQA2ApDQgIAACyAEQQhqIQMMCgsCQEEAKAKU0ICAACIAIAJNDQBBACgCoNCAgAAiAyACaiIEIAAgAmsiBUEBcjYCBEEAIAU2ApTQgIAAQQAgBDYCoNCAgAAgAyACQQNyNgIEIANBCGohAwwKCwJAAkBBACgC4NOAgABFDQBBACgC6NOAgAAhBAwBC0EAQn83AuzTgIAAQQBCgICEgICAwAA3AuTTgIAAQQAgAUEMakFwcUHYqtWqBXM2AuDTgIAAQQBBADYC9NOAgABBAEEANgLE04CAAEGAgAQhBAtBACEDAkAgBCACQccAaiIHaiIGQQAgBGsiC3EiCCACSw0AQQBBMDYC+NOAgAAMCgsCQEEAKALA04CAACIDRQ0AAkBBACgCuNOAgAAiBCAIaiIFIARNDQAgBSADTQ0BC0EAIQNBAEEwNgL404CAAAwKC0EALQDE04CAAEEEcQ0EAkACQAJAQQAoAqDQgIAAIgRFDQBByNOAgAAhAwNAAkAgAygCACIFIARLDQAgBSADKAIEaiAESw0DCyADKAIIIgMNAAsLQQAQy4CAgAAiAEF/Rg0FIAghBgJAQQAoAuTTgIAAIgNBf2oiBCAAcUUNACAIIABrIAQgAGpBACADa3FqIQYLIAYgAk0NBSAGQf7///8HSw0FAkBBACgCwNOAgAAiA0UNAEEAKAK404CAACIEIAZqIgUgBE0NBiAFIANLDQYLIAYQy4CAgAAiAyAARw0BDAcLIAYgAGsgC3EiBkH+////B0sNBCAGEMuAgIAAIgAgAygCACADKAIEakYNAyAAIQMLAkAgA0F/Rg0AIAJByABqIAZNDQACQCAHIAZrQQAoAujTgIAAIgRqQQAgBGtxIgRB/v///wdNDQAgAyEADAcLAkAgBBDLgICAAEF/Rg0AIAQgBmohBiADIQAMBwtBACAGaxDLgICAABoMBAsgAyEAIANBf0cNBQwDC0EAIQgMBwtBACEADAULIABBf0cNAgtBAEEAKALE04CAAEEEcjYCxNOAgAALIAhB/v///wdLDQEgCBDLgICAACEAQQAQy4CAgAAhAyAAQX9GDQEgA0F/Rg0BIAAgA08NASADIABrIgYgAkE4ak0NAQtBAEEAKAK404CAACAGaiIDNgK404CAAAJAIANBACgCvNOAgABNDQBBACADNgK804CAAAsCQAJAAkACQEEAKAKg0ICAACIERQ0AQcjTgIAAIQMDQCAAIAMoAgAiBSADKAIEIghqRg0CIAMoAggiAw0ADAMLCwJAAkBBACgCmNCAgAAiA0UNACAAIANPDQELQQAgADYCmNCAgAALQQAhA0EAIAY2AszTgIAAQQAgADYCyNOAgABBAEF/NgKo0ICAAEEAQQAoAuDTgIAANgKs0ICAAEEAQQA2AtTTgIAAA0AgA0HE0ICAAGogA0G40ICAAGoiBDYCACAEIANBsNCAgABqIgU2AgAgA0G80ICAAGogBTYCACADQczQgIAAaiADQcDQgIAAaiIFNgIAIAUgBDYCACADQdTQgIAAaiADQcjQgIAAaiIENgIAIAQgBTYCACADQdDQgIAAaiAENgIAIANBIGoiA0GAAkcNAAsgAEF4IABrQQ9xQQAgAEEIakEPcRsiA2oiBCAGQUhqIgUgA2siA0EBcjYCBEEAQQAoAvDTgIAANgKk0ICAAEEAIAM2ApTQgIAAQQAgBDYCoNCAgAAgACAFakE4NgIEDAILIAMtAAxBCHENACAEIAVJDQAgBCAATw0AIARBeCAEa0EPcUEAIARBCGpBD3EbIgVqIgBBACgClNCAgAAgBmoiCyAFayIFQQFyNgIEIAMgCCAGajYCBEEAQQAoAvDTgIAANgKk0ICAAEEAIAU2ApTQgIAAQQAgADYCoNCAgAAgBCALakE4NgIEDAELAkAgAEEAKAKY0ICAACIITw0AQQAgADYCmNCAgAAgACEICyAAIAZqIQVByNOAgAAhAwJAAkACQAJAAkACQAJAA0AgAygCACAFRg0BIAMoAggiAw0ADAILCyADLQAMQQhxRQ0BC0HI04CAACEDA0ACQCADKAIAIgUgBEsNACAFIAMoAgRqIgUgBEsNAwsgAygCCCEDDAALCyADIAA2AgAgAyADKAIEIAZqNgIEIABBeCAAa0EPcUEAIABBCGpBD3EbaiILIAJBA3I2AgQgBUF4IAVrQQ9xQQAgBUEIakEPcRtqIgYgCyACaiICayEDAkAgBiAERw0AQQAgAjYCoNCAgABBAEEAKAKU0ICAACADaiIDNgKU0ICAACACIANBAXI2AgQMAwsCQCAGQQAoApzQgIAARw0AQQAgAjYCnNCAgABBAEEAKAKQ0ICAACADaiIDNgKQ0ICAACACIANBAXI2AgQgAiADaiADNgIADAMLAkAgBigCBCIEQQNxQQFHDQAgBEF4cSEHAkACQCAEQf8BSw0AIAYoAggiBSAEQQN2IghBA3RBsNCAgABqIgBGGgJAIAYoAgwiBCAFRw0AQQBBACgCiNCAgABBfiAId3E2AojQgIAADAILIAQgAEYaIAQgBTYCCCAFIAQ2AgwMAQsgBigCGCEJAkACQCAGKAIMIgAgBkYNACAGKAIIIgQgCEkaIAAgBDYCCCAEIAA2AgwMAQsCQCAGQRRqIgQoAgAiBQ0AIAZBEGoiBCgCACIFDQBBACEADAELA0AgBCEIIAUiAEEUaiIEKAIAIgUNACAAQRBqIQQgACgCECIFDQALIAhBADYCAAsgCUUNAAJAAkAgBiAGKAIcIgVBAnRBuNKAgABqIgQoAgBHDQAgBCAANgIAIAANAUEAQQAoAozQgIAAQX4gBXdxNgKM0ICAAAwCCyAJQRBBFCAJKAIQIAZGG2ogADYCACAARQ0BCyAAIAk2AhgCQCAGKAIQIgRFDQAgACAENgIQIAQgADYCGAsgBigCFCIERQ0AIABBFGogBDYCACAEIAA2AhgLIAcgA2ohAyAGIAdqIgYoAgQhBAsgBiAEQX5xNgIEIAIgA2ogAzYCACACIANBAXI2AgQCQCADQf8BSw0AIANBeHFBsNCAgABqIQQCQAJAQQAoAojQgIAAIgVBASADQQN2dCIDcQ0AQQAgBSADcjYCiNCAgAAgBCEDDAELIAQoAgghAwsgAyACNgIMIAQgAjYCCCACIAQ2AgwgAiADNgIIDAMLQR8hBAJAIANB////B0sNACADQQh2IgQgBEGA/j9qQRB2QQhxIgR0IgUgBUGA4B9qQRB2QQRxIgV0IgAgAEGAgA9qQRB2QQJxIgB0QQ92IAQgBXIgAHJrIgRBAXQgAyAEQRVqdkEBcXJBHGohBAsgAiAENgIcIAJCADcCECAEQQJ0QbjSgIAAaiEFAkBBACgCjNCAgAAiAEEBIAR0IghxDQAgBSACNgIAQQAgACAIcjYCjNCAgAAgAiAFNgIYIAIgAjYCCCACIAI2AgwMAwsgA0EAQRkgBEEBdmsgBEEfRht0IQQgBSgCACEAA0AgACIFKAIEQXhxIANGDQIgBEEddiEAIARBAXQhBCAFIABBBHFqQRBqIggoAgAiAA0ACyAIIAI2AgAgAiAFNgIYIAIgAjYCDCACIAI2AggMAgsgAEF4IABrQQ9xQQAgAEEIakEPcRsiA2oiCyAGQUhqIgggA2siA0EBcjYCBCAAIAhqQTg2AgQgBCAFQTcgBWtBD3FBACAFQUlqQQ9xG2pBQWoiCCAIIARBEGpJGyIIQSM2AgRBAEEAKALw04CAADYCpNCAgABBACADNgKU0ICAAEEAIAs2AqDQgIAAIAhBEGpBACkC0NOAgAA3AgAgCEEAKQLI04CAADcCCEEAIAhBCGo2AtDTgIAAQQAgBjYCzNOAgABBACAANgLI04CAAEEAQQA2AtTTgIAAIAhBJGohAwNAIANBBzYCACADQQRqIgMgBUkNAAsgCCAERg0DIAggCCgCBEF+cTYCBCAIIAggBGsiADYCACAEIABBAXI2AgQCQCAAQf8BSw0AIABBeHFBsNCAgABqIQMCQAJAQQAoAojQgIAAIgVBASAAQQN2dCIAcQ0AQQAgBSAAcjYCiNCAgAAgAyEFDAELIAMoAgghBQsgBSAENgIMIAMgBDYCCCAEIAM2AgwgBCAFNgIIDAQLQR8hAwJAIABB////B0sNACAAQQh2IgMgA0GA/j9qQRB2QQhxIgN0IgUgBUGA4B9qQRB2QQRxIgV0IgggCEGAgA9qQRB2QQJxIgh0QQ92IAMgBXIgCHJrIgNBAXQgACADQRVqdkEBcXJBHGohAwsgBCADNgIcIARCADcCECADQQJ0QbjSgIAAaiEFAkBBACgCjNCAgAAiCEEBIAN0IgZxDQAgBSAENgIAQQAgCCAGcjYCjNCAgAAgBCAFNgIYIAQgBDYCCCAEIAQ2AgwMBAsgAEEAQRkgA0EBdmsgA0EfRht0IQMgBSgCACEIA0AgCCIFKAIEQXhxIABGDQMgA0EddiEIIANBAXQhAyAFIAhBBHFqQRBqIgYoAgAiCA0ACyAGIAQ2AgAgBCAFNgIYIAQgBDYCDCAEIAQ2AggMAwsgBSgCCCIDIAI2AgwgBSACNgIIIAJBADYCGCACIAU2AgwgAiADNgIICyALQQhqIQMMBQsgBSgCCCIDIAQ2AgwgBSAENgIIIARBADYCGCAEIAU2AgwgBCADNgIIC0EAKAKU0ICAACIDIAJNDQBBACgCoNCAgAAiBCACaiIFIAMgAmsiA0EBcjYCBEEAIAM2ApTQgIAAQQAgBTYCoNCAgAAgBCACQQNyNgIEIARBCGohAwwDC0EAIQNBAEEwNgL404CAAAwCCwJAIAtFDQACQAJAIAggCCgCHCIFQQJ0QbjSgIAAaiIDKAIARw0AIAMgADYCACAADQFBACAHQX4gBXdxIgc2AozQgIAADAILIAtBEEEUIAsoAhAgCEYbaiAANgIAIABFDQELIAAgCzYCGAJAIAgoAhAiA0UNACAAIAM2AhAgAyAANgIYCyAIQRRqKAIAIgNFDQAgAEEUaiADNgIAIAMgADYCGAsCQAJAIARBD0sNACAIIAQgAmoiA0EDcjYCBCAIIANqIgMgAygCBEEBcjYCBAwBCyAIIAJqIgAgBEEBcjYCBCAIIAJBA3I2AgQgACAEaiAENgIAAkAgBEH/AUsNACAEQXhxQbDQgIAAaiEDAkACQEEAKAKI0ICAACIFQQEgBEEDdnQiBHENAEEAIAUgBHI2AojQgIAAIAMhBAwBCyADKAIIIQQLIAQgADYCDCADIAA2AgggACADNgIMIAAgBDYCCAwBC0EfIQMCQCAEQf///wdLDQAgBEEIdiIDIANBgP4/akEQdkEIcSIDdCIFIAVBgOAfakEQdkEEcSIFdCICIAJBgIAPakEQdkECcSICdEEPdiADIAVyIAJyayIDQQF0IAQgA0EVanZBAXFyQRxqIQMLIAAgAzYCHCAAQgA3AhAgA0ECdEG40oCAAGohBQJAIAdBASADdCICcQ0AIAUgADYCAEEAIAcgAnI2AozQgIAAIAAgBTYCGCAAIAA2AgggACAANgIMDAELIARBAEEZIANBAXZrIANBH0YbdCEDIAUoAgAhAgJAA0AgAiIFKAIEQXhxIARGDQEgA0EddiECIANBAXQhAyAFIAJBBHFqQRBqIgYoAgAiAg0ACyAGIAA2AgAgACAFNgIYIAAgADYCDCAAIAA2AggMAQsgBSgCCCIDIAA2AgwgBSAANgIIIABBADYCGCAAIAU2AgwgACADNgIICyAIQQhqIQMMAQsCQCAKRQ0AAkACQCAAIAAoAhwiBUECdEG40oCAAGoiAygCAEcNACADIAg2AgAgCA0BQQAgCUF+IAV3cTYCjNCAgAAMAgsgCkEQQRQgCigCECAARhtqIAg2AgAgCEUNAQsgCCAKNgIYAkAgACgCECIDRQ0AIAggAzYCECADIAg2AhgLIABBFGooAgAiA0UNACAIQRRqIAM2AgAgAyAINgIYCwJAAkAgBEEPSw0AIAAgBCACaiIDQQNyNgIEIAAgA2oiAyADKAIEQQFyNgIEDAELIAAgAmoiBSAEQQFyNgIEIAAgAkEDcjYCBCAFIARqIAQ2AgACQCAHRQ0AIAdBeHFBsNCAgABqIQJBACgCnNCAgAAhAwJAAkBBASAHQQN2dCIIIAZxDQBBACAIIAZyNgKI0ICAACACIQgMAQsgAigCCCEICyAIIAM2AgwgAiADNgIIIAMgAjYCDCADIAg2AggLQQAgBTYCnNCAgABBACAENgKQ0ICAAAsgAEEIaiEDCyABQRBqJICAgIAAIAMLCgAgABDJgICAAAviDQEHfwJAIABFDQAgAEF4aiIBIABBfGooAgAiAkF4cSIAaiEDAkAgAkEBcQ0AIAJBA3FFDQEgASABKAIAIgJrIgFBACgCmNCAgAAiBEkNASACIABqIQACQCABQQAoApzQgIAARg0AAkAgAkH/AUsNACABKAIIIgQgAkEDdiIFQQN0QbDQgIAAaiIGRhoCQCABKAIMIgIgBEcNAEEAQQAoAojQgIAAQX4gBXdxNgKI0ICAAAwDCyACIAZGGiACIAQ2AgggBCACNgIMDAILIAEoAhghBwJAAkAgASgCDCIGIAFGDQAgASgCCCICIARJGiAGIAI2AgggAiAGNgIMDAELAkAgAUEUaiICKAIAIgQNACABQRBqIgIoAgAiBA0AQQAhBgwBCwNAIAIhBSAEIgZBFGoiAigCACIEDQAgBkEQaiECIAYoAhAiBA0ACyAFQQA2AgALIAdFDQECQAJAIAEgASgCHCIEQQJ0QbjSgIAAaiICKAIARw0AIAIgBjYCACAGDQFBAEEAKAKM0ICAAEF+IAR3cTYCjNCAgAAMAwsgB0EQQRQgBygCECABRhtqIAY2AgAgBkUNAgsgBiAHNgIYAkAgASgCECICRQ0AIAYgAjYCECACIAY2AhgLIAEoAhQiAkUNASAGQRRqIAI2AgAgAiAGNgIYDAELIAMoAgQiAkEDcUEDRw0AIAMgAkF+cTYCBEEAIAA2ApDQgIAAIAEgAGogADYCACABIABBAXI2AgQPCyABIANPDQAgAygCBCICQQFxRQ0AAkACQCACQQJxDQACQCADQQAoAqDQgIAARw0AQQAgATYCoNCAgABBAEEAKAKU0ICAACAAaiIANgKU0ICAACABIABBAXI2AgQgAUEAKAKc0ICAAEcNA0EAQQA2ApDQgIAAQQBBADYCnNCAgAAPCwJAIANBACgCnNCAgABHDQBBACABNgKc0ICAAEEAQQAoApDQgIAAIABqIgA2ApDQgIAAIAEgAEEBcjYCBCABIABqIAA2AgAPCyACQXhxIABqIQACQAJAIAJB/wFLDQAgAygCCCIEIAJBA3YiBUEDdEGw0ICAAGoiBkYaAkAgAygCDCICIARHDQBBAEEAKAKI0ICAAEF+IAV3cTYCiNCAgAAMAgsgAiAGRhogAiAENgIIIAQgAjYCDAwBCyADKAIYIQcCQAJAIAMoAgwiBiADRg0AIAMoAggiAkEAKAKY0ICAAEkaIAYgAjYCCCACIAY2AgwMAQsCQCADQRRqIgIoAgAiBA0AIANBEGoiAigCACIEDQBBACEGDAELA0AgAiEFIAQiBkEUaiICKAIAIgQNACAGQRBqIQIgBigCECIEDQALIAVBADYCAAsgB0UNAAJAAkAgAyADKAIcIgRBAnRBuNKAgABqIgIoAgBHDQAgAiAGNgIAIAYNAUEAQQAoAozQgIAAQX4gBHdxNgKM0ICAAAwCCyAHQRBBFCAHKAIQIANGG2ogBjYCACAGRQ0BCyAGIAc2AhgCQCADKAIQIgJFDQAgBiACNgIQIAIgBjYCGAsgAygCFCICRQ0AIAZBFGogAjYCACACIAY2AhgLIAEgAGogADYCACABIABBAXI2AgQgAUEAKAKc0ICAAEcNAUEAIAA2ApDQgIAADwsgAyACQX5xNgIEIAEgAGogADYCACABIABBAXI2AgQLAkAgAEH/AUsNACAAQXhxQbDQgIAAaiECAkACQEEAKAKI0ICAACIEQQEgAEEDdnQiAHENAEEAIAQgAHI2AojQgIAAIAIhAAwBCyACKAIIIQALIAAgATYCDCACIAE2AgggASACNgIMIAEgADYCCA8LQR8hAgJAIABB////B0sNACAAQQh2IgIgAkGA/j9qQRB2QQhxIgJ0IgQgBEGA4B9qQRB2QQRxIgR0IgYgBkGAgA9qQRB2QQJxIgZ0QQ92IAIgBHIgBnJrIgJBAXQgACACQRVqdkEBcXJBHGohAgsgASACNgIcIAFCADcCECACQQJ0QbjSgIAAaiEEAkACQEEAKAKM0ICAACIGQQEgAnQiA3ENACAEIAE2AgBBACAGIANyNgKM0ICAACABIAQ2AhggASABNgIIIAEgATYCDAwBCyAAQQBBGSACQQF2ayACQR9GG3QhAiAEKAIAIQYCQANAIAYiBCgCBEF4cSAARg0BIAJBHXYhBiACQQF0IQIgBCAGQQRxakEQaiIDKAIAIgYNAAsgAyABNgIAIAEgBDYCGCABIAE2AgwgASABNgIIDAELIAQoAggiACABNgIMIAQgATYCCCABQQA2AhggASAENgIMIAEgADYCCAtBAEEAKAKo0ICAAEF/aiIBQX8gARs2AqjQgIAACwsEAAAAC04AAkAgAA0APwBBEHQPCwJAIABB//8DcQ0AIABBf0wNAAJAIABBEHZAACIAQX9HDQBBAEEwNgL404CAAEF/DwsgAEEQdA8LEMqAgIAAAAvyAgIDfwF+AkAgAkUNACAAIAE6AAAgAiAAaiIDQX9qIAE6AAAgAkEDSQ0AIAAgAToAAiAAIAE6AAEgA0F9aiABOgAAIANBfmogAToAACACQQdJDQAgACABOgADIANBfGogAToAACACQQlJDQAgAEEAIABrQQNxIgRqIgMgAUH/AXFBgYKECGwiATYCACADIAIgBGtBfHEiBGoiAkF8aiABNgIAIARBCUkNACADIAE2AgggAyABNgIEIAJBeGogATYCACACQXRqIAE2AgAgBEEZSQ0AIAMgATYCGCADIAE2AhQgAyABNgIQIAMgATYCDCACQXBqIAE2AgAgAkFsaiABNgIAIAJBaGogATYCACACQWRqIAE2AgAgBCADQQRxQRhyIgVrIgJBIEkNACABrUKBgICAEH4hBiADIAVqIQEDQCABIAY3AxggASAGNwMQIAEgBjcDCCABIAY3AwAgAUEgaiEBIAJBYGoiAkEfSw0ACwsgAAsLjkgBAEGACAuGSAEAAAACAAAAAwAAAAAAAAAAAAAABAAAAAUAAAAAAAAAAAAAAAYAAAAHAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASW52YWxpZCBjaGFyIGluIHVybCBxdWVyeQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2JvZHkAQ29udGVudC1MZW5ndGggb3ZlcmZsb3cAQ2h1bmsgc2l6ZSBvdmVyZmxvdwBSZXNwb25zZSBvdmVyZmxvdwBJbnZhbGlkIG1ldGhvZCBmb3IgSFRUUC94LnggcmVxdWVzdABJbnZhbGlkIG1ldGhvZCBmb3IgUlRTUC94LnggcmVxdWVzdABFeHBlY3RlZCBTT1VSQ0UgbWV0aG9kIGZvciBJQ0UveC54IHJlcXVlc3QASW52YWxpZCBjaGFyIGluIHVybCBmcmFnbWVudCBzdGFydABFeHBlY3RlZCBkb3QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9zdGF0dXMASW52YWxpZCByZXNwb25zZSBzdGF0dXMASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucwBVc2VyIGNhbGxiYWNrIGVycm9yAGBvbl9yZXNldGAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2hlYWRlcmAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfYmVnaW5gIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==";
-  }
-});
-
-// node_modules/undici/lib/client.js
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js
 var require_client2 = __commonJS({
-  "node_modules/undici/lib/client.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var net = require("net");
-    var http = require("http");
-    var { pipeline } = require("stream");
+    var assert = require("node:assert");
+    var net = require("node:net");
+    var http = require("node:http");
     var util = require_util9();
-    var timers = require_timers2();
+    var { channels } = require_diagnostics2();
     var Request = require_request3();
     var DispatcherBase = require_dispatcher_base2();
     var {
-      RequestContentLengthMismatchError,
-      ResponseContentLengthMismatchError,
       InvalidArgumentError,
-      RequestAbortedError,
-      HeadersTimeoutError,
-      HeadersOverflowError,
-      SocketError,
       InformationalError,
-      BodyTimeoutError,
-      HTTPParserError,
-      ResponseExceededMaxSizeError,
       ClientDestroyedError
     } = require_errors2();
     var buildConnector = require_connect2();
     var {
       kUrl,
-      kReset,
       kServerName,
       kClient,
       kBusy,
-      kParser,
       kConnect,
-      kBlocking,
       kResuming,
       kRunning,
       kPending,
       kSize,
-      kWriting,
       kQueue,
       kConnected,
       kConnecting,
       kNeedDrain,
-      kNoRef,
       kKeepAliveDefaultTimeout,
       kHostHeader,
       kPendingIdx,
       kRunningIdx,
       kError,
       kPipelining,
-      kSocket,
       kKeepAliveTimeoutValue,
       kMaxHeadersSize,
       kKeepAliveMaxTimeout,
@@ -27950,53 +28700,25 @@ var require_client2 = __commonJS({
       kInterceptors,
       kLocalAddress,
       kMaxResponseSize,
-      kHTTPConnVersion,
-      // HTTP2
-      kHost,
-      kHTTP2Session,
-      kHTTP2SessionState,
-      kHTTP2BuildRequest,
-      kHTTP2CopyHeaders,
-      kHTTP1BuildRequest
+      kOnError,
+      kHTTPContext,
+      kMaxConcurrentStreams,
+      kResume
     } = require_symbols6();
-    var http2;
-    try {
-      http2 = require("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;
-    var h2ExperimentalWarned = false;
-    var FastBuffer = Buffer[Symbol.species];
+    var connectH1 = require_client_h12();
+    var connectH2 = require_client_h22();
+    var deprecatedInterceptorWarned = false;
     var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
-    var channels = {};
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.sendHeaders = diagnosticsChannel.channel("undici:client:sendHeaders");
-      channels.beforeConnect = diagnosticsChannel.channel("undici:client:beforeConnect");
-      channels.connectError = diagnosticsChannel.channel("undici:client:connectError");
-      channels.connected = diagnosticsChannel.channel("undici:client:connected");
-    } catch {
-      channels.sendHeaders = { hasSubscribers: false };
-      channels.beforeConnect = { hasSubscribers: false };
-      channels.connectError = { hasSubscribers: false };
-      channels.connected = { hasSubscribers: false };
+    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').Client.Options} options
+       * @param {import('../../types/client.js').Client.Options} options
        */
       constructor(url2, {
         interceptors,
@@ -28025,8 +28747,8 @@ var require_client2 = __commonJS({
         autoSelectFamily,
         autoSelectFamilyAttemptTimeout,
         // h2
-        allowH2,
-        maxConcurrentStreams
+        maxConcurrentStreams,
+        allowH2
       } = {}) {
         super();
         if (keepAlive !== void 0) {
@@ -28090,7 +28812,7 @@ var require_client2 = __commonJS({
           throw new InvalidArgumentError("allowH2 must be a valid boolean value");
         }
         if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) {
-          throw new InvalidArgumentError("maxConcurrentStreams must be a possitive integer, greater than 0");
+          throw new InvalidArgumentError("maxConcurrentStreams must be a positive integer, greater than 0");
         }
         if (typeof connect2 !== "function") {
           connect2 = buildConnector({
@@ -28099,19 +28821,28 @@ var require_client2 = __commonJS({
             allowH2,
             socketPath,
             timeout: connectTimeout,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
             ...connect2
           });
         }
-        this[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client) ? interceptors.Client : [createRedirectInterceptor({ maxRedirections })];
+        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(url2);
         this[kConnector] = connect2;
-        this[kSocket] = null;
         this[kPipelining] = pipelining != null ? pipelining : 1;
         this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize;
         this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;
         this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;
-        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold;
+        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 2e3 : keepAliveTimeoutThreshold;
         this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
         this[kServerName] = null;
         this[kLocalAddress] = localAddress != null ? localAddress : null;
@@ -28126,26 +28857,20 @@ var require_client2 = __commonJS({
         this[kMaxRequests] = maxRequestsPerClient;
         this[kClosedResolve] = null;
         this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
-        this[kHTTPConnVersion] = "h1";
-        this[kHTTP2Session] = null;
-        this[kHTTP2SessionState] = !allowH2 ? null : {
-          // streams: null, // Fixed queue of streams - For future support of `push`
-          openStreams: 0,
-          // Keep track of them to decide wether or not unref the session
-          maxConcurrentStreams: maxConcurrentStreams != null ? maxConcurrentStreams : 100
-          // Max peerConcurrentStreams for a Node h2 server
-        };
-        this[kHost] = `${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}`;
+        this[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;
-        resume(this, true);
+        this[kResume](true);
       }
       get [kPending]() {
         return this[kQueue].length - this[kPendingIdx];
@@ -28157,11 +28882,12 @@ var require_client2 = __commonJS({
         return this[kQueue].length - this[kRunningIdx];
       }
       get [kConnected]() {
-        return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed;
+        return !!this[kHTTPContext] && !this[kConnecting] && !this[kHTTPContext].destroyed;
       }
       get [kBusy]() {
-        const socket = this[kSocket];
-        return socket && (socket[kReset] || socket[kWriting] || socket[kBlocking]) || this[kSize] >= (this[kPipelining] || 1) || this[kPending] > 0;
+        return Boolean(
+          this[kHTTPContext]?.busy(null) || this[kSize] >= (getPipelining(this) || 1) || this[kPending] > 0
+        );
       }
       /* istanbul ignore: only used for test */
       [kConnect](cb) {
@@ -28170,14 +28896,14 @@ var require_client2 = __commonJS({
       }
       [kDispatch](opts, handler2) {
         const origin = opts.origin || this[kUrl].origin;
-        const request2 = this[kHTTPConnVersion] === "h2" ? Request[kHTTP2BuildRequest](origin, opts, handler2) : Request[kHTTP1BuildRequest](origin, opts, handler2);
+        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;
-          process.nextTick(resume, this);
+          queueMicrotask(() => resume(this));
         } else {
-          resume(this, true);
+          this[kResume](true);
         }
         if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
           this[kNeedDrain] = 2;
@@ -28186,10 +28912,10 @@ var require_client2 = __commonJS({
       }
       async [kClose]() {
         return new Promise((resolve8) => {
-          if (!this[kSize]) {
-            resolve8(null);
-          } else {
+          if (this[kSize]) {
             this[kClosedResolve] = resolve8;
+          } else {
+            resolve8(null);
           }
         });
       }
@@ -28198,570 +28924,40 @@ var require_client2 = __commonJS({
           const requests = this[kQueue].splice(this[kPendingIdx]);
           for (let i = 0; i < requests.length; i++) {
             const request2 = requests[i];
-            errorRequest2(this, request2, err);
+            util.errorRequest(this, request2, err);
           }
           const callback = () => {
             if (this[kClosedResolve]) {
               this[kClosedResolve]();
               this[kClosedResolve] = null;
             }
-            resolve8();
+            resolve8(null);
           };
-          if (this[kHTTP2Session] != null) {
-            util.destroy(this[kHTTP2Session], err);
-            this[kHTTP2Session] = null;
-            this[kHTTP2SessionState] = null;
-          }
-          if (!this[kSocket]) {
-            queueMicrotask(callback);
+          if (this[kHTTPContext]) {
+            this[kHTTPContext].destroy(err, callback);
+            this[kHTTPContext] = null;
           } else {
-            util.destroy(this[kSocket].on("close", callback), err);
+            queueMicrotask(callback);
           }
-          resume(this);
+          this[kResume]();
         });
       }
     };
-    function onHttp2SessionError(err) {
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      this[kSocket][kError] = err;
-      onError(this[kClient], err);
-    }
-    function onHttp2FrameError(type2, code, id) {
-      const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-      if (id === 0) {
-        this[kSocket][kError] = err;
-        onError(this[kClient], err);
-      }
-    }
-    function onHttp2SessionEnd() {
-      util.destroy(this, new SocketError("other side closed"));
-      util.destroy(this[kSocket], new SocketError("other side closed"));
-    }
-    function onHTTP2GoAway(code) {
-      const client = this[kClient];
-      const err = new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`);
-      client[kSocket] = null;
-      client[kHTTP2Session] = null;
-      if (client.destroyed) {
-        assert(this[kPending] === 0);
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    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];
-          errorRequest2(this, request2, err);
+          util.errorRequest(client, request2, err);
         }
-      } else if (client[kRunning] > 0) {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
+        assert(client[kSize] === 0);
       }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit(
-        "disconnect",
-        client[kUrl],
-        [client],
-        err
-      );
-      resume(client);
-    }
-    var constants = require_constants8();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var EMPTY_BUF = Buffer.alloc(0);
-    async function lazyllhttp() {
-      const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm2() : void 0;
-      let mod;
-      try {
-        mod = await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm2(), "base64"));
-      } catch (e) {
-        mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require_llhttp_wasm2(), "base64"));
-      }
-      return await WebAssembly.instantiate(mod, {
-        env: {
-          /* eslint-disable camelcase */
-          wasm_on_url: (p, at, len) => {
-            return 0;
-          },
-          wasm_on_status: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_message_begin: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onMessageBegin() || 0;
-          },
-          wasm_on_header_field: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_header_value: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;
-          },
-          wasm_on_body: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_message_complete: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onMessageComplete() || 0;
-          }
-          /* eslint-enable camelcase */
-        }
-      });
-    }
-    var llhttpInstance = null;
-    var llhttpPromise = lazyllhttp();
-    llhttpPromise.catch();
-    var currentParser = null;
-    var currentBufferRef = null;
-    var currentBufferSize = 0;
-    var currentBufferPtr = null;
-    var TIMEOUT_HEADERS = 1;
-    var TIMEOUT_BODY = 2;
-    var TIMEOUT_IDLE = 3;
-    var 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(value, type2) {
-        this.timeoutType = type2;
-        if (value !== this.timeoutValue) {
-          timers.clearTimeout(this.timeout);
-          if (value) {
-            this.timeout = timers.setTimeout(onParserTimeout, value, this);
-            if (this.timeout.unref) {
-              this.timeout.unref();
-            }
-          } else {
-            this.timeout = null;
-          }
-          this.timeoutValue = value;
-        } else if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
-          }
-        }
-      }
-      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;
-        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;
-        }
-      }
-      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 && key.toString().toLowerCase() === "keep-alive") {
-          this.keepAlive += buf.toString();
-        } else if (key.length === 10 && key.toString().toLowerCase() === "connection") {
-          this.connection += buf.toString();
-        } else if (key.length === 14 && key.toString().toLowerCase() === "content-length") {
-          this.contentLength += buf.toString();
-        }
-        this.trackHeader(buf.length);
-      }
-      trackHeader(len) {
-        this.headersSize += len;
-        if (this.headersSize >= this.headersMaxSize) {
-          util.destroy(this.socket, new HeadersOverflowError());
-        }
-      }
-      onUpgrade(head) {
-        const { upgrade, client, socket, headers, statusCode } = this;
-        assert(upgrade);
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert(!socket.destroyed);
-        assert(socket === client[kSocket]);
-        assert(!this.paused);
-        assert(request2.upgrade || request2.method === "CONNECT");
-        this.statusCode = null;
-        this.statusText = "";
-        this.shouldKeepAlive = null;
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        socket.unshift(head);
-        socket[kParser].destroy();
-        socket[kParser] = null;
-        socket[kClient] = null;
-        socket[kError] = null;
-        socket.removeListener("error", onSocketError).removeListener("readable", onSocketReadable).removeListener("end", onSocketEnd).removeListener("close", onSocketClose);
-        client[kSocket] = null;
-        client[kQueue][client[kRunningIdx]++] = null;
-        client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
-        try {
-          request2.onUpgrade(statusCode, headers, socket);
-        } catch (err) {
-          util.destroy(socket, err);
-        }
-        resume(client);
-      }
-      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.strictEqual(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 % 2 === 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;
-          resume(client);
-        }
-        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.strictEqual(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;
-        }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert(statusCode >= 100);
-        this.statusCode = null;
-        this.statusText = "";
-        this.bytesRead = 0;
-        this.contentLength = "";
-        this.keepAlive = "";
-        this.connection = "";
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        if (statusCode < 200) {
-          return;
-        }
-        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.strictEqual(client[kRunning], 0);
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (!shouldKeepAlive) {
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (socket[kReset] && client[kRunning] === 0) {
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (client[kPipelining] === 1) {
-          setImmediate(resume, client);
-        } else {
-          resume(client);
-        }
-      }
-    };
-    function onParserTimeout(parser) {
-      const { socket, timeoutType, client } = parser;
-      if (timeoutType === TIMEOUT_HEADERS) {
-        if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
-          assert(!parser.paused, "cannot be paused while waiting for headers");
-          util.destroy(socket, new HeadersTimeoutError());
-        }
-      } else if (timeoutType === TIMEOUT_BODY) {
-        if (!parser.paused) {
-          util.destroy(socket, new BodyTimeoutError());
-        }
-      } else if (timeoutType === TIMEOUT_IDLE) {
-        assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
-        util.destroy(socket, new InformationalError("socket idle timeout"));
-      }
-    }
-    function onSocketReadable() {
-      const { [kParser]: parser } = this;
-      if (parser) {
-        parser.readMore();
-      }
-    }
-    function onSocketError(err) {
-      const { [kClient]: client, [kParser]: parser } = this;
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      if (client[kHTTPConnVersion] !== "h2") {
-        if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-          return;
-        }
-      }
-      this[kError] = err;
-      onError(this[kClient], err);
-    }
-    function onError(client, err) {
-      if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
-        assert(client[kPendingIdx] === client[kRunningIdx]);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
-        }
-        assert(client[kSize] === 0);
-      }
-    }
-    function onSocketEnd() {
-      const { [kParser]: parser, [kClient]: client } = this;
-      if (client[kHTTPConnVersion] !== "h2") {
-        if (parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-          return;
-        }
-      }
-      util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
-    }
-    function onSocketClose() {
-      const { [kClient]: client, [kParser]: parser } = this;
-      if (client[kHTTPConnVersion] === "h1" && 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));
-      client[kSocket] = null;
-      if (client.destroyed) {
-        assert(client[kPending] === 0);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
-        }
-      } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
-      }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit("disconnect", client[kUrl], [client], err);
-      resume(client);
     }
     async function connect(client) {
       assert(!client[kConnecting]);
-      assert(!client[kSocket]);
+      assert(!client[kHTTPContext]);
       let { host, hostname, protocol, port } = client[kUrl];
       if (hostname[0] === "[") {
         const idx = hostname.indexOf("]");
@@ -28778,6 +28974,7 @@ var require_client2 = __commonJS({
             hostname,
             protocol,
             port,
+            version: client[kHTTPContext]?.version,
             servername: client[kServerName],
             localAddress: client[kLocalAddress]
           },
@@ -28802,52 +28999,21 @@ var require_client2 = __commonJS({
           });
         });
         if (client.destroyed) {
-          util.destroy(socket.on("error", () => {
-          }), new ClientDestroyedError());
+          util.destroy(socket.on("error", noop3), new ClientDestroyedError());
           return;
         }
-        client[kConnecting] = false;
         assert(socket);
-        const isH2 = socket.alpnProtocol === "h2";
-        if (isH2) {
-          if (!h2ExperimentalWarned) {
-            h2ExperimentalWarned = true;
-            process.emitWarning("H2 support is experimental, expect them to change at any time.", {
-              code: "UNDICI-H2"
-            });
-          }
-          const session = http2.connect(client[kUrl], {
-            createConnection: () => socket,
-            peerMaxConcurrentStreams: client[kHTTP2SessionState].maxConcurrentStreams
-          });
-          client[kHTTPConnVersion] = "h2";
-          session[kClient] = client;
-          session[kSocket] = socket;
-          session.on("error", onHttp2SessionError);
-          session.on("frameError", onHttp2FrameError);
-          session.on("end", onHttp2SessionEnd);
-          session.on("goaway", onHTTP2GoAway);
-          session.on("close", onSocketClose);
-          session.unref();
-          client[kHTTP2Session] = session;
-          socket[kHTTP2Session] = session;
-        } else {
-          if (!llhttpInstance) {
-            llhttpInstance = await llhttpPromise;
-            llhttpPromise = null;
-          }
-          socket[kNoRef] = false;
-          socket[kWriting] = false;
-          socket[kReset] = false;
-          socket[kBlocking] = false;
-          socket[kParser] = new Parser(client, socket, llhttpInstance);
+        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;
-        socket.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose);
-        client[kSocket] = socket;
         if (channels.connected.hasSubscribers) {
           channels.connected.publish({
             connectParams: {
@@ -28855,6 +29021,7 @@ var require_client2 = __commonJS({
               hostname,
               protocol,
               port,
+              version: client[kHTTPContext]?.version,
               servername: client[kServerName],
               localAddress: client[kLocalAddress]
             },
@@ -28875,6 +29042,7 @@ var require_client2 = __commonJS({
               hostname,
               protocol,
               port,
+              version: client[kHTTPContext]?.version,
               servername: client[kServerName],
               localAddress: client[kLocalAddress]
             },
@@ -28886,14 +29054,14 @@ var require_client2 = __commonJS({
           assert(client[kRunning] === 0);
           while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) {
             const request2 = client[kQueue][client[kPendingIdx]++];
-            errorRequest2(client, request2, err);
+            util.errorRequest(client, request2, err);
           }
         } else {
           onError(client, err);
         }
         client.emit("connectionError", client[kUrl], [client], err);
       }
-      resume(client);
+      client[kResume]();
     }
     function emitDrain(client) {
       client[kNeedDrain] = 0;
@@ -28923,35 +29091,15 @@ var require_client2 = __commonJS({
           client[kClosedResolve] = null;
           return;
         }
-        const socket = client[kSocket];
-        if (socket && !socket.destroyed && socket.alpnProtocol !== "h2") {
-          if (client[kSize] === 0) {
-            if (!socket[kNoRef] && socket.unref) {
-              socket.unref();
-              socket[kNoRef] = true;
-            }
-          } else if (socket[kNoRef] && socket.ref) {
-            socket.ref();
-            socket[kNoRef] = false;
-          }
-          if (client[kSize] === 0) {
-            if (socket[kParser].timeoutType !== TIMEOUT_IDLE) {
-              socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE);
-            }
-          } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
-            if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
-              const request3 = client[kQueue][client[kRunningIdx]];
-              const headersTimeout = request3.headersTimeout != null ? request3.headersTimeout : client[kHeadersTimeout];
-              socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
-            }
-          }
+        if (client[kHTTPContext]) {
+          client[kHTTPContext].resume();
         }
         if (client[kBusy]) {
           client[kNeedDrain] = 2;
         } else if (client[kNeedDrain] === 2) {
           if (sync) {
             client[kNeedDrain] = 1;
-            process.nextTick(emitDrain, client);
+            queueMicrotask(() => emitDrain(client));
           } else {
             emitDrain(client);
           }
@@ -28960,7 +29108,7 @@ var require_client2 = __commonJS({
         if (client[kPending] === 0) {
           return;
         }
-        if (client[kRunning] >= (client[kPipelining] || 1)) {
+        if (client[kRunning] >= (getPipelining(client) || 1)) {
           return;
         }
         const request2 = client[kQueue][client[kPendingIdx]];
@@ -28969,909 +29117,320 @@ var require_client2 = __commonJS({
             return;
           }
           client[kServerName] = request2.servername;
-          if (socket && socket.servername !== request2.servername) {
-            util.destroy(socket, new InformationalError("servername changed"));
-            return;
-          }
+          client[kHTTPContext]?.destroy(new InformationalError("servername changed"), () => {
+            client[kHTTPContext] = null;
+            resume(client);
+          });
         }
         if (client[kConnecting]) {
           return;
         }
-        if (!socket && !client[kHTTP2Session]) {
+        if (!client[kHTTPContext]) {
           connect(client);
           return;
         }
-        if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) {
-          return;
-        }
-        if (client[kRunning] > 0 && !request2.idempotent) {
-          return;
-        }
-        if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
+        if (client[kHTTPContext].destroyed) {
           return;
         }
-        if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body))) {
+        if (client[kHTTPContext].busy(request2)) {
           return;
         }
-        if (!request2.aborted && write(client, request2)) {
+        if (!request2.aborted && client[kHTTPContext].write(request2)) {
           client[kPendingIdx]++;
         } else {
           client[kQueue].splice(client[kPendingIdx], 1);
         }
       }
     }
-    function shouldSendContentLength(method) {
-      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
-    }
-    function write(client, request2) {
-      if (client[kHTTPConnVersion] === "h2") {
-        writeH2(client, client[kHTTP2Session], request2);
-        return;
+    module2.exports = Client;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/fixed-queue.js
+var require_fixed_queue2 = __commonJS({
+  "node_modules/@actions/github/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;
       }
-      const { body, method, path: path16, host, upgrade, headers, blocking, reset } = request2;
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
-      if (body && typeof body.read === "function") {
-        body.read(0);
+      isEmpty() {
+        return this.top === this.bottom;
       }
-      const bodyLength = util.bodyLength(body);
-      let contentLength = bodyLength;
-      if (contentLength === null) {
-        contentLength = request2.contentLength;
+      isFull() {
+        return (this.top + 1 & kMask) === this.bottom;
       }
-      if (contentLength === 0 && !expectsPayload) {
-        contentLength = null;
+      push(data) {
+        this.list[this.top] = data;
+        this.top = this.top + 1 & kMask;
       }
-      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
-        if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
-          return false;
+      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();
         }
-        process.emitWarning(new RequestContentLengthMismatchError());
+        this.head.push(data);
       }
-      const socket = client[kSocket];
-      try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
-            return;
-          }
-          errorRequest2(client, request2, err || new RequestAbortedError());
-          util.destroy(socket, new InformationalError("aborted"));
-        });
-      } catch (err) {
-        errorRequest2(client, request2, err);
+      shift() {
+        const tail = this.tail;
+        const next = tail.shift();
+        if (tail.isEmpty() && tail.next !== null) {
+          this.tail = tail.next;
+        }
+        return next;
       }
-      if (request2.aborted) {
-        return false;
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js
+var require_pool_stats2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js"(exports2, module2) {
+    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
+    var kPool = /* @__PURE__ */ Symbol("pool");
+    var PoolStats = class {
+      constructor(pool) {
+        this[kPool] = pool;
       }
-      if (method === "HEAD") {
-        socket[kReset] = true;
+      get connected() {
+        return this[kPool][kConnected];
       }
-      if (upgrade || method === "CONNECT") {
-        socket[kReset] = true;
+      get free() {
+        return this[kPool][kFree];
       }
-      if (reset != null) {
-        socket[kReset] = reset;
+      get pending() {
+        return this[kPool][kPending];
       }
-      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
-        socket[kReset] = true;
+      get queued() {
+        return this[kPool][kQueued];
       }
-      if (blocking) {
-        socket[kBlocking] = true;
+      get running() {
+        return this[kPool][kRunning];
       }
-      let header = `${method} ${path16} HTTP/1.1\r
-`;
-      if (typeof host === "string") {
-        header += `host: ${host}\r
-`;
-      } else {
-        header += client[kHostHeader];
+      get size() {
+        return this[kPool][kSize];
       }
-      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";
+    };
+    module2.exports = PoolStats;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js
+var require_pool_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js"(exports2, module2) {
+    "use strict";
+    var DispatcherBase = require_dispatcher_base2();
+    var FixedQueue = require_fixed_queue2();
+    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
+    var PoolStats = require_pool_stats2();
+    var kClients = /* @__PURE__ */ Symbol("clients");
+    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
+    var kQueue = /* @__PURE__ */ Symbol("queue");
+    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
+    var kAddClient = /* @__PURE__ */ Symbol("add client");
+    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
+    var kStats = /* @__PURE__ */ 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);
       }
-      if (headers) {
-        header += headers;
+      get [kBusy]() {
+        return this[kNeedDrain];
       }
-      if (channels.sendHeaders.hasSubscribers) {
-        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      get [kConnected]() {
+        return this[kClients].filter((client) => client[kConnected]).length;
       }
-      if (!body || bodyLength === 0) {
-        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");
-        }
-        request2.onRequestSent();
-      } else if (util.isBuffer(body)) {
-        assert(contentLength === body.byteLength, "buffer body must have content length");
-        socket.cork();
-        socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-        socket.write(body);
-        socket.uncork();
-        request2.onBodySent(body);
-        request2.onRequestSent();
-        if (!expectsPayload) {
-          socket[kReset] = true;
-        }
-      } else if (util.isBlobLike(body)) {
-        if (typeof body.stream === "function") {
-          writeIterable({ body: body.stream(), client, request: request2, socket, contentLength, header, expectsPayload });
-        } else {
-          writeBlob({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+      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;
         }
-      } else if (util.isStream(body)) {
-        writeStream({ body, client, request: request2, socket, contentLength, header, expectsPayload });
-      } else if (util.isIterable(body)) {
-        writeIterable({ body, client, request: request2, socket, contentLength, header, expectsPayload });
-      } else {
-        assert(false);
+        return ret;
       }
-      return true;
-    }
-    function writeH2(client, session, request2) {
-      const { body, method, path: path16, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
-      let headers;
-      if (typeof reqHeaders === "string") headers = Request[kHTTP2CopyHeaders](reqHeaders.trim());
-      else headers = reqHeaders;
-      if (upgrade) {
-        errorRequest2(client, request2, new Error("Upgrade not supported for H2"));
-        return false;
+      get [kRunning]() {
+        let ret = 0;
+        for (const { [kRunning]: running } of this[kClients]) {
+          ret += running;
+        }
+        return ret;
       }
-      try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
-            return;
-          }
-          errorRequest2(client, request2, err || new RequestAbortedError());
-        });
-      } catch (err) {
-        errorRequest2(client, request2, err);
+      get [kSize]() {
+        let ret = this[kQueued];
+        for (const { [kSize]: size } of this[kClients]) {
+          ret += size;
+        }
+        return ret;
       }
-      if (request2.aborted) {
-        return false;
+      get stats() {
+        return this[kStats];
       }
-      let stream2;
-      const h2State = client[kHTTP2SessionState];
-      headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost];
-      headers[HTTP2_HEADER_METHOD] = method;
-      if (method === "CONNECT") {
-        session.ref();
-        stream2 = session.request(headers, { endStream: false, signal });
-        if (stream2.id && !stream2.pending) {
-          request2.onUpgrade(null, null, stream2);
-          ++h2State.openStreams;
+      async [kClose]() {
+        if (this[kQueue].isEmpty()) {
+          await Promise.all(this[kClients].map((c) => c.close()));
         } else {
-          stream2.once("ready", () => {
-            request2.onUpgrade(null, null, stream2);
-            ++h2State.openStreams;
+          await new Promise((resolve8) => {
+            this[kClosedResolve] = resolve8;
           });
         }
-        stream2.once("close", () => {
-          h2State.openStreams -= 1;
-          if (h2State.openStreams === 0) session.unref();
-        });
-        return true;
-      }
-      headers[HTTP2_HEADER_PATH] = path16;
-      headers[HTTP2_HEADER_SCHEME] = "https";
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
-      if (body && typeof body.read === "function") {
-        body.read(0);
-      }
-      let contentLength = util.bodyLength(body);
-      if (contentLength == null) {
-        contentLength = request2.contentLength;
       }
-      if (contentLength === 0 || !expectsPayload) {
-        contentLength = null;
+      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)));
       }
-      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
-        if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
-          return false;
+      [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]();
         }
-        process.emitWarning(new RequestContentLengthMismatchError());
+        return !this[kNeedDrain];
       }
-      if (contentLength != null) {
-        assert(body, "no body must not have content length");
-        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
+      [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;
       }
-      session.ref();
-      const shouldEndStream = method === "GET" || method === "HEAD";
-      if (expectContinue) {
-        headers[HTTP2_HEADER_EXPECT] = "100-continue";
-        stream2 = session.request(headers, { endStream: shouldEndStream, signal });
-        stream2.once("continue", writeBodyH2);
-      } else {
-        stream2 = session.request(headers, {
-          endStream: shouldEndStream,
-          signal
+      [kRemoveClient](client) {
+        client.close(() => {
+          const idx = this[kClients].indexOf(client);
+          if (idx !== -1) {
+            this[kClients].splice(idx, 1);
+          }
         });
-        writeBodyH2();
+        this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
       }
-      ++h2State.openStreams;
-      stream2.once("response", (headers2) => {
-        const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
-        if (request2.onHeaders(Number(statusCode), realHeaders, stream2.resume.bind(stream2), "") === false) {
-          stream2.pause();
-        }
-      });
-      stream2.once("end", () => {
-        request2.onComplete([]);
-      });
-      stream2.on("data", (chunk) => {
-        if (request2.onData(chunk) === false) {
-          stream2.pause();
-        }
-      });
-      stream2.once("close", () => {
-        h2State.openStreams -= 1;
-        if (h2State.openStreams === 0) {
-          session.unref();
-        }
-      });
-      stream2.once("error", function(err) {
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream2, err);
-        }
-      });
-      stream2.once("frameError", (type2, code) => {
-        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-        errorRequest2(client, request2, err);
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream2, err);
-        }
-      });
-      return true;
-      function writeBodyH2() {
-        if (!body) {
-          request2.onRequestSent();
-        } else if (util.isBuffer(body)) {
-          assert(contentLength === body.byteLength, "buffer body must have content length");
-          stream2.cork();
-          stream2.write(body);
-          stream2.uncork();
-          stream2.end();
-          request2.onBodySent(body);
-          request2.onRequestSent();
-        } else if (util.isBlobLike(body)) {
-          if (typeof body.stream === "function") {
-            writeIterable({
-              client,
-              request: request2,
-              contentLength,
-              h2stream: stream2,
-              expectsPayload,
-              body: body.stream(),
-              socket: client[kSocket],
-              header: ""
-            });
-          } else {
-            writeBlob({
-              body,
-              client,
-              request: request2,
-              contentLength,
-              expectsPayload,
-              h2stream: stream2,
-              header: "",
-              socket: client[kSocket]
-            });
-          }
-        } else if (util.isStream(body)) {
-          writeStream({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            socket: client[kSocket],
-            h2stream: stream2,
-            header: ""
-          });
-        } else if (util.isIterable(body)) {
-          writeIterable({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            header: "",
-            h2stream: stream2,
-            socket: client[kSocket]
-          });
-        } else {
-          assert(false);
-        }
-      }
-    }
-    function writeStream({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
-      if (client[kHTTPConnVersion] === "h2") {
-        let onPipeData = function(chunk) {
-          request2.onBodySent(chunk);
-        };
-        const pipe = pipeline(
-          body,
-          h2stream,
-          (err) => {
-            if (err) {
-              util.destroy(body, err);
-              util.destroy(h2stream, err);
-            } else {
-              request2.onRequestSent();
-            }
-          }
-        );
-        pipe.on("data", onPipeData);
-        pipe.once("end", () => {
-          pipe.removeListener("data", onPipeData);
-          util.destroy(pipe);
-        });
-        return;
-      }
-      let finished = false;
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
-      const onData = function(chunk) {
-        if (finished) {
-          return;
-        }
-        try {
-          if (!writer.write(chunk) && this.pause) {
-            this.pause();
-          }
-        } catch (err) {
-          util.destroy(this, err);
-        }
-      };
-      const onDrain = function() {
-        if (finished) {
-          return;
-        }
-        if (body.resume) {
-          body.resume();
-        }
-      };
-      const onAbort = function() {
-        if (finished) {
-          return;
-        }
-        const err = new RequestAbortedError();
-        queueMicrotask(() => onFinished(err));
-      };
-      const onFinished = function(err) {
-        if (finished) {
-          return;
-        }
-        finished = true;
-        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
-        socket.off("drain", onDrain).off("error", onFinished);
-        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("error", onFinished).removeListener("close", onAbort);
-        if (!err) {
-          try {
-            writer.end();
-          } catch (er) {
-            err = er;
-          }
-        }
-        writer.destroy(err);
-        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
-          util.destroy(body, err);
-        } else {
-          util.destroy(body);
-        }
-      };
-      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onAbort);
-      if (body.resume) {
-        body.resume();
-      }
-      socket.on("drain", onDrain).on("error", onFinished);
-    }
-    async function writeBlob({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength === body.size, "blob body must have content length");
-      const isH2 = client[kHTTPConnVersion] === "h2";
-      try {
-        if (contentLength != null && contentLength !== body.size) {
-          throw new RequestContentLengthMismatchError();
-        }
-        const buffer = Buffer.from(await body.arrayBuffer());
-        if (isH2) {
-          h2stream.cork();
-          h2stream.write(buffer);
-          h2stream.uncork();
-        } else {
-          socket.cork();
-          socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-          socket.write(buffer);
-          socket.uncork();
-        }
-        request2.onBodySent(buffer);
-        request2.onRequestSent();
-        if (!expectsPayload) {
-          socket[kReset] = true;
-        }
-        resume(client);
-      } catch (err) {
-        util.destroy(isH2 ? h2stream : socket, err);
-      }
-    }
-    async function writeIterable({ h2stream, body, client, request: 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((resolve8, reject) => {
-        assert(callback === null);
-        if (socket[kError]) {
-          reject(socket[kError]);
-        } else {
-          callback = resolve8;
-        }
-      });
-      if (client[kHTTPConnVersion] === "h2") {
-        h2stream.on("close", onDrain).on("drain", onDrain);
-        try {
-          for await (const chunk of body) {
-            if (socket[kError]) {
-              throw socket[kError];
-            }
-            const res = h2stream.write(chunk);
-            request2.onBodySent(chunk);
-            if (!res) {
-              await waitForDrain();
-            }
-          }
-        } catch (err) {
-          h2stream.destroy(err);
-        } finally {
-          request2.onRequestSent();
-          h2stream.end();
-          h2stream.off("close", onDrain).off("drain", onDrain);
-        }
-        return;
-      }
-      socket.on("close", onDrain).on("drain", onDrain);
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
-      try {
-        for await (const chunk of body) {
-          if (socket[kError]) {
-            throw socket[kError];
-          }
-          if (!writer.write(chunk)) {
-            await waitForDrain();
-          }
-        }
-        writer.end();
-      } catch (err) {
-        writer.destroy(err);
-      } finally {
-        socket.off("close", onDrain).off("drain", onDrain);
-      }
-    }
-    var AsyncWriter = class {
-      constructor({ 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;
-        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) {
-            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();
-          }
-        }
-        resume(client);
-      }
-      destroy(err) {
-        const { socket, client } = this;
-        socket[kWriting] = false;
-        if (err) {
-          assert(client[kRunning] <= 1, "pipeline should only contain this request");
-          util.destroy(socket, err);
-        }
-      }
-    };
-    function errorRequest2(client, request2, err) {
-      try {
-        request2.onError(err);
-        assert(request2.aborted);
-      } catch (err2) {
-        client.emit("error", err2);
-      }
-    }
-    module2.exports = Client;
-  }
-});
-
-// node_modules/undici/lib/node/fixed-queue.js
-var require_fixed_queue2 = __commonJS({
-  "node_modules/undici/lib/node/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/pool-stats.js
-var require_pool_stats2 = __commonJS({
-  "node_modules/undici/lib/pool-stats.js"(exports2, module2) {
-    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
-    var kPool = /* @__PURE__ */ 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/pool-base.js
-var require_pool_base2 = __commonJS({
-  "node_modules/undici/lib/pool-base.js"(exports2, module2) {
-    "use strict";
-    var DispatcherBase = require_dispatcher_base2();
-    var FixedQueue = require_fixed_queue2();
-    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
-    var PoolStats = require_pool_stats2();
-    var kClients = /* @__PURE__ */ Symbol("clients");
-    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
-    var kQueue = /* @__PURE__ */ Symbol("queue");
-    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
-    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
-    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
-    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
-    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
-    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
-    var kAddClient = /* @__PURE__ */ Symbol("add client");
-    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
-    var kStats = /* @__PURE__ */ 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()) {
-          return Promise.all(this[kClients].map((c) => c.close()));
-        } else {
-          return new Promise((resolve8) => {
-            this[kClosedResolve] = resolve8;
-          });
-        }
-      }
-      async [kDestroy](err) {
-        while (true) {
-          const item = this[kQueue].shift();
-          if (!item) {
-            break;
-          }
-          item.handler.onError(err);
-        }
-        return 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]) {
-          process.nextTick(() => {
-            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/pool.js
-var require_pool2 = __commonJS({
-  "node_modules/undici/lib/pool.js"(exports2, module2) {
-    "use strict";
-    var {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kGetDispatcher
-    } = require_pool_base2();
-    var Client = require_client2();
-    var {
-      InvalidArgumentError
-    } = require_errors2();
-    var util = require_util9();
-    var { kUrl, kInterceptors } = require_symbols6();
-    var buildConnector = require_connect2();
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    var kConnections = /* @__PURE__ */ Symbol("connections");
-    var kFactory = /* @__PURE__ */ 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");
+    };
+    module2.exports = {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js
+var require_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js"(exports2, module2) {
+    "use strict";
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kGetDispatcher
+    } = require_pool_base2();
+    var Client = require_client2();
+    var {
+      InvalidArgumentError
+    } = require_errors2();
+    var util = require_util9();
+    var { kUrl, kInterceptors } = require_symbols6();
+    var buildConnector = require_connect2();
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kConnections = /* @__PURE__ */ Symbol("connections");
+    var kFactory = /* @__PURE__ */ 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.");
@@ -29886,11 +29445,11 @@ var require_pool2 = __commonJS({
             allowH2,
             socketPath,
             timeout: connectTimeout,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
             ...connect
           });
         }
-        this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
+        this[kInterceptors] = options.interceptors?.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
         this[kConnections] = connections || null;
         this[kUrl] = util.parseOrigin(origin);
         this[kOptions] = { ...util.deepClone(options), connect, allowH2 };
@@ -29906,24 +29465,25 @@ var require_pool2 = __commonJS({
         });
       }
       [kGetDispatcher]() {
-        let dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain]);
-        if (dispatcher) {
-          return dispatcher;
+        for (const client of this[kClients]) {
+          if (!client[kNeedDrain]) {
+            return client;
+          }
         }
         if (!this[kConnections] || this[kClients].length < this[kConnections]) {
-          dispatcher = this[kFactory](this[kUrl], this[kOptions]);
+          const dispatcher = this[kFactory](this[kUrl], this[kOptions]);
           this[kAddClient](dispatcher);
+          return dispatcher;
         }
-        return dispatcher;
       }
     };
     module2.exports = Pool;
   }
 });
 
-// node_modules/undici/lib/balanced-pool.js
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js
 var require_balanced_pool2 = __commonJS({
-  "node_modules/undici/lib/balanced-pool.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js"(exports2, module2) {
     "use strict";
     var {
       BalancedPoolMissingUpstreamError,
@@ -29949,8 +29509,13 @@ var require_balanced_pool2 = __commonJS({
     var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
     var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
     function getGreatestCommonDivisor(a, b) {
-      if (b === 0) return a;
-      return getGreatestCommonDivisor(b, 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);
@@ -29969,7 +29534,7 @@ var require_balanced_pool2 = __commonJS({
         if (typeof factory !== "function") {
           throw new InvalidArgumentError("factory must be a function.");
         }
-        this[kInterceptors] = opts.interceptors && opts.interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : [];
+        this[kInterceptors] = opts.interceptors?.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : [];
         this[kFactory] = factory;
         for (const upstream of upstreams) {
           this.addUpstream(upstream);
@@ -30004,7 +29569,11 @@ var require_balanced_pool2 = __commonJS({
         return this;
       }
       _updateBalancedPoolStats() {
-        this[kGreatestCommonDivisor] = this[kClients].map((p) => p[kWeight]).reduce(getGreatestCommonDivisor, 0);
+        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;
@@ -30056,51 +29625,9 @@ var require_balanced_pool2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/compat/dispatcher-weakref.js
-var require_dispatcher_weakref2 = __commonJS({
-  "node_modules/undici/lib/compat/dispatcher-weakref.js"(exports2, module2) {
-    "use strict";
-    var { kConnected, kSize } = require_symbols6();
-    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);
-            }
-          });
-        }
-      }
-    };
-    module2.exports = function() {
-      if (process.env.NODE_V8_COVERAGE) {
-        return {
-          WeakRef: CompatWeakRef,
-          FinalizationRegistry: CompatFinalizer
-        };
-      }
-      return {
-        WeakRef: global.WeakRef || CompatWeakRef,
-        FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer
-      };
-    };
-  }
-});
-
-// node_modules/undici/lib/agent.js
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js
 var require_agent2 = __commonJS({
-  "node_modules/undici/lib/agent.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js"(exports2, module2) {
     "use strict";
     var { InvalidArgumentError } = require_errors2();
     var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
@@ -30108,15 +29635,13 @@ var require_agent2 = __commonJS({
     var Pool = require_pool2();
     var Client = require_client2();
     var util = require_util9();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var { WeakRef: WeakRef2, FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
+    var createRedirectInterceptor = require_redirect_interceptor2();
     var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
     var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
     var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
     var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
     var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
     var kFactory = /* @__PURE__ */ Symbol("factory");
-    var kFinalizer = /* @__PURE__ */ Symbol("finalizer");
     var kOptions = /* @__PURE__ */ Symbol("options");
     function defaultFactory(origin, opts) {
       return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts);
@@ -30136,42 +29661,29 @@ var require_agent2 = __commonJS({
         if (connect && typeof connect !== "function") {
           connect = { ...connect };
         }
-        this[kInterceptors] = options.interceptors && options.interceptors.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
+        this[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[kFinalizer] = new FinalizationRegistry2(
-          /* istanbul ignore next: gc is undeterministic */
-          (key) => {
-            const ref = this[kClients].get(key);
-            if (ref !== void 0 && ref.deref() === void 0) {
-              this[kClients].delete(key);
-            }
-          }
-        );
-        const agent = this;
         this[kOnDrain] = (origin, targets) => {
-          agent.emit("drain", origin, [agent, ...targets]);
+          this.emit("drain", origin, [this, ...targets]);
         };
         this[kOnConnect] = (origin, targets) => {
-          agent.emit("connect", origin, [agent, ...targets]);
+          this.emit("connect", origin, [this, ...targets]);
         };
         this[kOnDisconnect] = (origin, targets, err) => {
-          agent.emit("disconnect", origin, [agent, ...targets], err);
+          this.emit("disconnect", origin, [this, ...targets], err);
         };
         this[kOnConnectionError] = (origin, targets, err) => {
-          agent.emit("connectionError", origin, [agent, ...targets], err);
+          this.emit("connectionError", origin, [this, ...targets], err);
         };
       }
       get [kRunning]() {
         let ret = 0;
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            ret += client[kRunning];
-          }
+        for (const client of this[kClients].values()) {
+          ret += client[kRunning];
         }
         return ret;
       }
@@ -30182,33 +29694,27 @@ var require_agent2 = __commonJS({
         } else {
           throw new InvalidArgumentError("opts.origin must be a non-empty string or URL.");
         }
-        const ref = this[kClients].get(key);
-        let dispatcher = ref ? ref.deref() : null;
+        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, new WeakRef2(dispatcher));
-          this[kFinalizer].register(dispatcher, key);
+          this[kClients].set(key, dispatcher);
         }
         return dispatcher.dispatch(opts, handler2);
       }
       async [kClose]() {
         const closePromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            closePromises.push(client.close());
-          }
+        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 ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            destroyPromises.push(client.destroy(err));
-          }
+        for (const client of this[kClients].values()) {
+          destroyPromises.push(client.destroy(err));
         }
+        this[kClients].clear();
         await Promise.all(destroyPromises);
       }
     };
@@ -30216,153 +29722,847 @@ var require_agent2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/api/readable.js
-var require_readable2 = __commonJS({
-  "node_modules/undici/lib/api/readable.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js
+var require_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { Readable: Readable2 } = require("stream");
-    var { RequestAbortedError, NotSupportedError, InvalidArgumentError } = require_errors2();
-    var util = require_util9();
-    var { ReadableStreamFrom, toUSVString } = require_util9();
-    var Blob2;
-    var kConsume = /* @__PURE__ */ Symbol("kConsume");
-    var kReading = /* @__PURE__ */ Symbol("kReading");
-    var kBody = /* @__PURE__ */ Symbol("kBody");
-    var kAbort = /* @__PURE__ */ Symbol("abort");
-    var kContentType = /* @__PURE__ */ Symbol("kContentType");
+    var { kProxy, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
+    var { URL: URL2 } = require("node:url");
+    var Agent = require_agent2();
+    var Pool = require_pool2();
+    var DispatcherBase = require_dispatcher_base2();
+    var { InvalidArgumentError, RequestAbortedError, SecureProxyConnectionError } = require_errors2();
+    var buildConnector = require_connect2();
+    var Client = require_client2();
+    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
+    var kClient = /* @__PURE__ */ Symbol("proxy client");
+    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
+    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
+    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
+    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
+    var kTunnelProxy = /* @__PURE__ */ Symbol("tunnel proxy");
+    function defaultProtocolPort(protocol) {
+      return protocol === "https:" ? 443 : 80;
+    }
+    function defaultFactory(origin, opts) {
+      return new Pool(origin, opts);
+    }
     var noop3 = () => {
     };
-    module2.exports = class BodyReadable extends Readable2 {
-      constructor({
-        resume,
-        abort,
-        contentType = "",
-        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[kReading] = false;
+    function defaultAgentFactory(origin, opts) {
+      if (opts.connections === 1) {
+        return new Client(origin, opts);
       }
-      destroy(err) {
-        if (this.destroyed) {
-          return this;
-        }
-        if (!err && !this._readableState.endEmitted) {
-          err = new RequestAbortedError();
+      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");
         }
-        if (err) {
-          this[kAbort]();
+        this[kProxyHeaders] = headers;
+        if (factory) {
+          this.#client = factory(proxyUrl, { connect });
+        } else {
+          this.#client = new Client(proxyUrl, { connect });
         }
-        return super.destroy(err);
       }
-      emit(ev, ...args) {
-        if (ev === "data") {
-          this._readableState.dataEmitted = true;
-        } else if (ev === "error") {
-          this._readableState.errorEmitted = true;
+      [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: path16 = "/",
+          headers = {}
+        } = opts;
+        opts.path = origin + path16;
+        if (!("host" in headers) && !("Host" in headers)) {
+          const { host } = new URL2(origin);
+          headers.host = host;
         }
-        return super.emit(ev, ...args);
+        opts.headers = { ...this[kProxyHeaders], ...headers };
+        return this.#client[kDispatch](opts, handler2);
       }
-      on(ev, ...args) {
-        if (ev === "data" || ev === "readable") {
-          this[kReading] = true;
-        }
-        return super.on(ev, ...args);
+      async [kClose]() {
+        return this.#client.close();
       }
-      addListener(ev, ...args) {
-        return this.on(ev, ...args);
+      async [kDestroy](err) {
+        return this.#client.destroy(err);
       }
-      off(ev, ...args) {
-        const ret = super.off(ev, ...args);
-        if (ev === "data" || ev === "readable") {
-          this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0;
+    };
+    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");
         }
-        return ret;
-      }
-      removeListener(ev, ...args) {
-        return this.off(ev, ...args);
-      }
-      push(chunk) {
-        if (this[kConsume] && chunk !== null && this.readableLength === 0) {
-          consumePush(this[kConsume], chunk);
-          return this[kReading] ? super.push(chunk) : true;
+        const { clientFactory = defaultFactory } = opts;
+        if (typeof clientFactory !== "function") {
+          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
         }
-        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-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);
-          }
+        const { proxyTunnel = true } = opts;
+        const url2 = this.#getUrl(opts);
+        const { href, origin, port, protocol, username, password, hostname: proxyHostname } = url2;
+        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")}`;
         }
-        return this[kBody];
-      }
-      dump(opts) {
-        let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144;
-        const signal = opts && opts.signal;
-        if (signal) {
-          try {
-            if (typeof signal !== "object" || !("aborted" in signal)) {
-              throw new InvalidArgumentError("signal must be an AbortSignal");
-            }
-            util.throwIfAborted(signal);
-          } catch (err) {
-            return Promise.reject(err);
+        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
+            });
           }
-        }
-        if (this.closed) {
-          return Promise.resolve(null);
-        }
-        return new Promise((resolve8, reject) => {
-          const signalListenerCleanup = signal ? util.addAbortListener(signal, () => {
-            this.destroy();
-          }) : noop3;
-          this.on("close", function() {
-            signalListenerCleanup();
-            if (signal && signal.aborted) {
-              reject(signal.reason || Object.assign(new Error("The operation was aborted"), { name: "AbortError" }));
-            } else {
-              resolve8(null);
-            }
-          }).on("error", noop3).on("data", function(chunk) {
-            limit -= chunk.length;
+          return agentFactory(origin2, options);
+        };
+        this[kClient] = clientFactory(url2, { 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/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js
+var require_env_http_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js"(exports2, module2) {
+    "use strict";
+    var DispatcherBase = require_dispatcher_base2();
+    var { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require_symbols6();
+    var ProxyAgent = require_proxy_agent2();
+    var Agent = require_agent2();
+    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 url2 = new URL(opts.origin);
+        const agent = this.#getProxyAgentForUrl(url2);
+        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(url2) {
+        let { protocol, host: hostname, port } = url2;
+        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/@actions/github/node_modules/undici/lib/handler/retry-handler.js
+var require_retry_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/retry-handler.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { kRetryHandlerDefaultRetry } = require_symbols6();
+    var { RequestRetryError } = require_errors2();
+    var {
+      isDisturbed,
+      parseHeaders,
+      parseRangeHeader,
+      wrapRequestBody
+    } = require_util9();
+    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/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js
+var require_retry_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js"(exports2, module2) {
+    "use strict";
+    var Dispatcher = require_dispatcher2();
+    var RetryHandler = require_retry_handler2();
+    var RetryAgent = class extends Dispatcher {
+      #agent = null;
+      #options = null;
+      constructor(agent, options = {}) {
+        super(options);
+        this.#agent = agent;
+        this.#options = options;
+      }
+      dispatch(opts, handler2) {
+        const retry2 = new RetryHandler({
+          ...opts,
+          retryOptions: this.#options
+        }, {
+          dispatch: this.#agent.dispatch.bind(this.#agent),
+          handler: handler2
+        });
+        return this.#agent.dispatch(opts, retry2);
+      }
+      close() {
+        return this.#agent.close();
+      }
+      destroy() {
+        return this.#agent.destroy();
+      }
+    };
+    module2.exports = RetryAgent;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/readable.js
+var require_readable2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/readable.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { Readable: Readable2 } = require("node:stream");
+    var { RequestAbortedError, NotSupportedError, InvalidArgumentError, AbortError } = require_errors2();
+    var util = require_util9();
+    var { ReadableStreamFrom } = require_util9();
+    var kConsume = /* @__PURE__ */ Symbol("kConsume");
+    var kReading = /* @__PURE__ */ Symbol("kReading");
+    var kBody = /* @__PURE__ */ Symbol("kBody");
+    var kAbort = /* @__PURE__ */ Symbol("kAbort");
+    var kContentType = /* @__PURE__ */ Symbol("kContentType");
+    var kContentLength = /* @__PURE__ */ Symbol("kContentLength");
+    var noop3 = () => {
+    };
+    var BodyReadable = class extends Readable2 {
+      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((resolve8, 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 {
+              resolve8(null);
+            }
+          }).on("error", noop3).on("data", function(chunk) {
+            limit -= chunk.length;
             if (limit <= 0) {
               this.destroy();
             }
@@ -30377,27 +30577,39 @@ var require_readable2 = __commonJS({
       return util.isDisturbed(self2) || isLocked(self2);
     }
     async function consume(stream2, type2) {
-      if (isUnusable(stream2)) {
-        throw new TypeError("unusable");
-      }
       assert(!stream2[kConsume]);
       return new Promise((resolve8, reject) => {
-        stream2[kConsume] = {
-          type: type2,
-          stream: stream2,
-          resolve: resolve8,
-          reject,
-          length: 0,
-          body: []
-        };
-        stream2.on("error", function(err) {
-          consumeFinish(this[kConsume], err);
-        }).on("close", function() {
-          if (this[kConsume].body !== null) {
-            consumeFinish(this[kConsume], new RequestAbortedError());
+        if (isUnusable(stream2)) {
+          const rState = stream2._readableState;
+          if (rState.destroyed && rState.closeEmitted === false) {
+            stream2.on("error", (err) => {
+              reject(err);
+            }).on("close", () => {
+              reject(new TypeError("unusable"));
+            });
+          } else {
+            reject(rState.errored ?? new TypeError("unusable"));
           }
-        });
-        process.nextTick(consumeStart, stream2[kConsume]);
+        } else {
+          queueMicrotask(() => {
+            stream2[kConsume] = {
+              type: type2,
+              stream: stream2,
+              resolve: resolve8,
+              reject,
+              length: 0,
+              body: []
+            };
+            stream2.on("error", function(err) {
+              consumeFinish(this[kConsume], err);
+            }).on("close", function() {
+              if (this[kConsume].body !== null) {
+                consumeFinish(this[kConsume], new RequestAbortedError());
+              }
+            });
+            consumeStart(stream2[kConsume]);
+          });
+        }
       });
     }
     function consumeStart(consume2) {
@@ -30405,8 +30617,16 @@ var require_readable2 = __commonJS({
         return;
       }
       const { _readableState: state } = consume2.stream;
-      for (const chunk of state.buffer) {
-        consumePush(consume2, chunk);
+      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]);
@@ -30419,26 +30639,44 @@ var require_readable2 = __commonJS({
       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: type2, body, resolve: resolve8, stream: stream2, length } = consume2;
       try {
         if (type2 === "text") {
-          resolve8(toUSVString(Buffer.concat(body)));
+          resolve8(chunksDecode(body, length));
         } else if (type2 === "json") {
-          resolve8(JSON.parse(Buffer.concat(body)));
+          resolve8(JSON.parse(chunksDecode(body, length)));
         } else if (type2 === "arrayBuffer") {
-          const dst = new Uint8Array(length);
-          let pos = 0;
-          for (const buf of body) {
-            dst.set(buf, pos);
-            pos += buf.byteLength;
-          }
-          resolve8(dst.buffer);
+          resolve8(chunksConcat(body, length).buffer);
         } else if (type2 === "blob") {
-          if (!Blob2) {
-            Blob2 = require("buffer").Blob;
-          }
-          resolve8(new Blob2(body, { type: stream2[kContentType] }));
+          resolve8(new Blob(body, { type: stream2[kContentType] }));
+        } else if (type2 === "bytes") {
+          resolve8(chunksConcat(body, length));
         }
         consumeFinish(consume2);
       } catch (err) {
@@ -30465,114 +30703,81 @@ var require_readable2 = __commonJS({
       consume2.length = 0;
       consume2.body = null;
     }
+    module2.exports = { Readable: BodyReadable, chunksDecode };
   }
 });
 
-// node_modules/undici/lib/api/util.js
+// node_modules/@actions/github/node_modules/undici/lib/api/util.js
 var require_util11 = __commonJS({
-  "node_modules/undici/lib/api/util.js"(exports2, module2) {
-    var assert = require("assert");
+  "node_modules/@actions/github/node_modules/undici/lib/api/util.js"(exports2, module2) {
+    var assert = require("node:assert");
     var {
       ResponseStatusCodeError
     } = require_errors2();
-    var { toUSVString } = require_util9();
+    var { chunksDecode } = require_readable2();
+    var CHUNK_LIMIT = 128 * 1024;
     async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
       assert(body);
       let chunks = [];
-      let limit = 0;
-      for await (const chunk of body) {
-        chunks.push(chunk);
-        limit += chunk.length;
-        if (limit > 128 * 1024) {
-          chunks = null;
-          break;
+      let length = 0;
+      try {
+        for await (const chunk of body) {
+          chunks.push(chunk);
+          length += chunk.length;
+          if (length > CHUNK_LIMIT) {
+            chunks = [];
+            length = 0;
+            break;
+          }
         }
+      } catch {
+        chunks = [];
+        length = 0;
       }
-      if (statusCode === 204 || !contentType || !chunks) {
-        process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
+      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 (contentType.startsWith("application/json")) {
-          const payload = JSON.parse(toUSVString(Buffer.concat(chunks)));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
-        }
-        if (contentType.startsWith("text/")) {
-          const payload = toUSVString(Buffer.concat(chunks));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
+        if (isContentTypeApplicationJson(contentType)) {
+          payload = JSON.parse(chunksDecode(chunks, length));
+        } else if (isContentTypeText(contentType)) {
+          payload = chunksDecode(chunks, length);
         }
-      } catch (err) {
-      }
-      process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
-    }
-    module2.exports = { getResolveErrorBodyCallback };
-  }
-});
-
-// node_modules/undici/lib/api/abort-signal.js
-var require_abort_signal2 = __commonJS({
-  "node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
-    var { addAbortListener } = require_util9();
-    var { RequestAbortedError } = require_errors2();
-    var kListener = /* @__PURE__ */ Symbol("kListener");
-    var kSignal = /* @__PURE__ */ Symbol("kSignal");
-    function abort(self2) {
-      if (self2.abort) {
-        self2.abort();
-      } else {
-        self2.onError(new RequestAbortedError());
-      }
-    }
-    function addSignal(self2, signal) {
-      self2[kSignal] = null;
-      self2[kListener] = null;
-      if (!signal) {
-        return;
-      }
-      if (signal.aborted) {
-        abort(self2);
-        return;
-      }
-      self2[kSignal] = signal;
-      self2[kListener] = () => {
-        abort(self2);
-      };
-      addAbortListener(self2[kSignal], self2[kListener]);
-    }
-    function removeSignal(self2) {
-      if (!self2[kSignal]) {
-        return;
-      }
-      if ("removeEventListener" in self2[kSignal]) {
-        self2[kSignal].removeEventListener("abort", self2[kListener]);
-      } else {
-        self2[kSignal].removeListener("abort", self2[kListener]);
+      } catch {
+      } finally {
+        Error.stackTraceLimit = stackTraceLimit;
       }
-      self2[kSignal] = null;
-      self2[kListener] = null;
+      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 = {
-      addSignal,
-      removeSignal
+      getResolveErrorBodyCallback,
+      isContentTypeApplicationJson,
+      isContentTypeText
     };
   }
 });
 
-// node_modules/undici/lib/api/api-request.js
+// node_modules/@actions/github/node_modules/undici/lib/api/api-request.js
 var require_api_request2 = __commonJS({
-  "node_modules/undici/lib/api/api-request.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-request.js"(exports2, module2) {
     "use strict";
-    var Readable2 = require_readable2();
-    var {
-      InvalidArgumentError,
-      RequestAbortedError
-    } = require_errors2();
+    var assert = require("node:assert");
+    var { Readable: Readable2 } = require_readable2();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
     var util = require_util9();
     var { getResolveErrorBodyCallback } = require_util11();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
+    var { AsyncResource } = require("node:async_hooks");
     var RequestHandler = class extends AsyncResource {
       constructor(opts, callback) {
         if (!opts || typeof opts !== "object") {
@@ -30602,6 +30807,7 @@ var require_api_request2 = __commonJS({
           }
           throw err;
         }
+        this.method = method;
         this.responseHeaders = responseHeaders || null;
         this.opaque = opaque || null;
         this.callback = callback;
@@ -30613,17 +30819,40 @@ var require_api_request2 = __commonJS({
         this.onInfo = onInfo || null;
         this.throwOnError = throwOnError;
         this.highWaterMark = highWaterMark;
+        this.signal = signal;
+        this.reason = null;
+        this.removeAbortListener = null;
         if (util.isStream(body)) {
           body.on("error", (err) => {
             this.onError(err);
           });
         }
-        addSignal(this, signal);
+        if (this.signal) {
+          if (this.signal.aborted) {
+            this.reason = this.signal.reason ?? new RequestAbortedError();
+          } else {
+            this.removeAbortListener = util.addAbortListener(this.signal, () => {
+              this.reason = this.signal.reason ?? new RequestAbortedError();
+              if (this.res) {
+                util.destroy(this.res.on("error", util.nop), this.reason);
+              } else if (this.abort) {
+                this.abort(this.reason);
+              }
+              if (this.removeAbortListener) {
+                this.res?.off("close", this.removeAbortListener);
+                this.removeAbortListener();
+                this.removeAbortListener = null;
+              }
+            });
+          }
+        }
       }
       onConnect(abort, context3) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
+        assert(this.callback);
         this.abort = abort;
         this.context = context3;
       }
@@ -30638,15 +30867,25 @@ var require_api_request2 = __commonJS({
         }
         const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
         const contentType = parsedHeaders["content-type"];
-        const body = new Readable2({ resume, abort, contentType, highWaterMark });
+        const contentLength = parsedHeaders["content-length"];
+        const res = new Readable2({
+          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 = body;
+        this.res = res;
         if (callback !== null) {
           if (this.throwOnError && statusCode >= 400) {
             this.runInAsyncScope(
               getResolveErrorBodyCallback,
               null,
-              { callback, body, contentType, statusCode, statusMessage, headers }
+              { callback, body: res, contentType, statusCode, statusMessage, headers }
             );
           } else {
             this.runInAsyncScope(callback, null, null, {
@@ -30654,25 +30893,21 @@ var require_api_request2 = __commonJS({
               headers,
               trailers: this.trailers,
               opaque,
-              body,
+              body: res,
               context: context3
             });
           }
         }
       }
       onData(chunk) {
-        const { res } = this;
-        return res.push(chunk);
+        return this.res.push(chunk);
       }
       onComplete(trailers) {
-        const { res } = this;
-        removeSignal(this);
         util.parseHeaders(trailers, this.trailers);
-        res.push(null);
+        this.res.push(null);
       }
       onError(err) {
         const { res, callback, body, opaque } = this;
-        removeSignal(this);
         if (callback) {
           this.callback = null;
           queueMicrotask(() => {
@@ -30689,6 +30924,11 @@ var require_api_request2 = __commonJS({
           this.body = null;
           util.destroy(body, err);
         }
+        if (this.removeAbortListener) {
+          res?.off("close", this.removeAbortListener);
+          this.removeAbortListener();
+          this.removeAbortListener = null;
+        }
       }
     };
     function request2(opts, callback) {
@@ -30705,7 +30945,7 @@ var require_api_request2 = __commonJS({
         if (typeof callback !== "function") {
           throw err;
         }
-        const opaque = opts && opts.opaque;
+        const opaque = opts?.opaque;
         queueMicrotask(() => callback(err, { opaque }));
       }
     }
@@ -30714,34 +30954,82 @@ var require_api_request2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/api/api-stream.js
-var require_api_stream2 = __commonJS({
-  "node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
-    "use strict";
-    var { finished, PassThrough } = require("stream");
-    var {
-      InvalidArgumentError,
-      InvalidReturnValueError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { getResolveErrorBodyCallback } = require_util11();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var StreamHandler = class extends AsyncResource {
-      constructor(opts, factory, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
-        try {
-          if (typeof callback !== "function") {
-            throw new InvalidArgumentError("invalid callback");
-          }
-          if (typeof factory !== "function") {
-            throw new InvalidArgumentError("invalid factory");
-          }
-          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+// node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js
+var require_abort_signal2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
+    var { addAbortListener } = require_util9();
+    var { RequestAbortedError } = require_errors2();
+    var kListener = /* @__PURE__ */ Symbol("kListener");
+    var kSignal = /* @__PURE__ */ Symbol("kSignal");
+    function abort(self2) {
+      if (self2.abort) {
+        self2.abort(self2[kSignal]?.reason);
+      } else {
+        self2.reason = self2[kSignal]?.reason ?? new RequestAbortedError();
+      }
+      removeSignal(self2);
+    }
+    function addSignal(self2, signal) {
+      self2.reason = null;
+      self2[kSignal] = null;
+      self2[kListener] = null;
+      if (!signal) {
+        return;
+      }
+      if (signal.aborted) {
+        abort(self2);
+        return;
+      }
+      self2[kSignal] = signal;
+      self2[kListener] = () => {
+        abort(self2);
+      };
+      addAbortListener(self2[kSignal], self2[kListener]);
+    }
+    function removeSignal(self2) {
+      if (!self2[kSignal]) {
+        return;
+      }
+      if ("removeEventListener" in self2[kSignal]) {
+        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      } else {
+        self2[kSignal].removeListener("abort", self2[kListener]);
+      }
+      self2[kSignal] = null;
+      self2[kListener] = null;
+    }
+    module2.exports = {
+      addSignal,
+      removeSignal
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-stream.js
+var require_api_stream2 = __commonJS({
+  "node_modules/@actions/github/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_errors2();
+    var util = require_util9();
+    var { getResolveErrorBodyCallback } = require_util11();
+    var { AsyncResource } = require("node:async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var StreamHandler = class extends AsyncResource {
+      constructor(opts, factory, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
+        try {
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (typeof factory !== "function") {
+            throw new InvalidArgumentError("invalid factory");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
             throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
           }
           if (method === "CONNECT") {
@@ -30776,9 +31064,11 @@ var require_api_stream2 = __commonJS({
         addSignal(this, signal);
       }
       onConnect(abort, context3) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
+        assert(this.callback);
         this.abort = abort;
         this.context = context3;
       }
@@ -30831,7 +31121,7 @@ var require_api_stream2 = __commonJS({
         }
         res.on("drain", resume);
         this.res = res;
-        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState && res._writableState.needDrain;
+        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState?.needDrain;
         return needDrain !== true;
       }
       onData(chunk) {
@@ -30880,7 +31170,7 @@ var require_api_stream2 = __commonJS({
         if (typeof callback !== "function") {
           throw err;
         }
-        const opaque = opts && opts.opaque;
+        const opaque = opts?.opaque;
         queueMicrotask(() => callback(err, { opaque }));
       }
     }
@@ -30888,24 +31178,24 @@ var require_api_stream2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/api/api-pipeline.js
+// node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js
 var require_api_pipeline2 = __commonJS({
-  "node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
     "use strict";
     var {
       Readable: Readable2,
       Duplex,
       PassThrough
-    } = require("stream");
+    } = require("node:stream");
     var {
       InvalidArgumentError,
       InvalidReturnValueError,
       RequestAbortedError
     } = require_errors2();
     var util = require_util9();
-    var { AsyncResource } = require("async_hooks");
+    var { AsyncResource } = require("node:async_hooks");
     var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
+    var assert = require("node:assert");
     var kResume = /* @__PURE__ */ Symbol("resume");
     var PipelineRequest = class extends Readable2 {
       constructor() {
@@ -30970,7 +31260,7 @@ var require_api_pipeline2 = __commonJS({
           autoDestroy: true,
           read: () => {
             const { body } = this;
-            if (body && body.resume) {
+            if (body?.resume) {
               body.resume();
             }
           },
@@ -31005,10 +31295,12 @@ var require_api_pipeline2 = __commonJS({
       }
       onConnect(abort, context3) {
         const { ret, res } = this;
-        assert(!res, "pipeline cannot be retried");
-        if (ret.destroyed) {
-          throw new RequestAbortedError();
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
+        assert(!res, "pipeline cannot be retried");
+        assert(!ret.destroyed);
         this.abort = abort;
         this.context = context3;
       }
@@ -31086,15 +31378,15 @@ var require_api_pipeline2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/api/api-upgrade.js
+// node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js
 var require_api_upgrade2 = __commonJS({
-  "node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
     "use strict";
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
-    var { AsyncResource } = require("async_hooks");
+    var { InvalidArgumentError, SocketError } = require_errors2();
+    var { AsyncResource } = require("node:async_hooks");
     var util = require_util9();
     var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
+    var assert = require("node:assert");
     var UpgradeHandler = class extends AsyncResource {
       constructor(opts, callback) {
         if (!opts || typeof opts !== "object") {
@@ -31116,9 +31408,11 @@ var require_api_upgrade2 = __commonJS({
         addSignal(this, signal);
       }
       onConnect(abort, context3) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
+        assert(this.callback);
         this.abort = abort;
         this.context = null;
       }
@@ -31126,8 +31420,8 @@ var require_api_upgrade2 = __commonJS({
         throw new SocketError("bad upgrade", null);
       }
       onUpgrade(statusCode, rawHeaders, socket) {
+        assert(statusCode === 101);
         const { callback, opaque, context: context3 } = this;
-        assert.strictEqual(statusCode, 101);
         removeSignal(this);
         this.callback = null;
         const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
@@ -31168,7 +31462,7 @@ var require_api_upgrade2 = __commonJS({
         if (typeof callback !== "function") {
           throw err;
         }
-        const opaque = opts && opts.opaque;
+        const opaque = opts?.opaque;
         queueMicrotask(() => callback(err, { opaque }));
       }
     }
@@ -31176,12 +31470,13 @@ var require_api_upgrade2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/api/api-connect.js
+// node_modules/@actions/github/node_modules/undici/lib/api/api-connect.js
 var require_api_connect2 = __commonJS({
-  "node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
     "use strict";
-    var { AsyncResource } = require("async_hooks");
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
+    var assert = require("node:assert");
+    var { AsyncResource } = require("node:async_hooks");
+    var { InvalidArgumentError, SocketError } = require_errors2();
     var util = require_util9();
     var { addSignal, removeSignal } = require_abort_signal2();
     var ConnectHandler = class extends AsyncResource {
@@ -31204,9 +31499,11 @@ var require_api_connect2 = __commonJS({
         addSignal(this, signal);
       }
       onConnect(abort, context3) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
+        assert(this.callback);
         this.abort = abort;
         this.context = context3;
       }
@@ -31255,7 +31552,7 @@ var require_api_connect2 = __commonJS({
         if (typeof callback !== "function") {
           throw err;
         }
-        const opaque = opts && opts.opaque;
+        const opaque = opts?.opaque;
         queueMicrotask(() => callback(err, { opaque }));
       }
     }
@@ -31263,9 +31560,9 @@ var require_api_connect2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/api/index.js
+// node_modules/@actions/github/node_modules/undici/lib/api/index.js
 var require_api2 = __commonJS({
-  "node_modules/undici/lib/api/index.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/api/index.js"(exports2, module2) {
     "use strict";
     module2.exports.request = require_api_request2();
     module2.exports.stream = require_api_stream2();
@@ -31275,11 +31572,12 @@ var require_api2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/mock-errors.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js
 var require_mock_errors2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
     "use strict";
     var { UndiciError } = require_errors2();
+    var kMockNotMatchedError = /* @__PURE__ */ Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED");
     var MockNotMatchedError = class _MockNotMatchedError extends UndiciError {
       constructor(message) {
         super(message);
@@ -31288,6 +31586,10 @@ var require_mock_errors2 = __commonJS({
         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
@@ -31295,9 +31597,9 @@ var require_mock_errors2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/mock-symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js
 var require_mock_symbols2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
     "use strict";
     module2.exports = {
       kAgent: /* @__PURE__ */ Symbol("agent"),
@@ -31323,9 +31625,9 @@ var require_mock_symbols2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/mock-utils.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js
 var require_mock_utils2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
     "use strict";
     var { MockNotMatchedError } = require_mock_errors2();
     var {
@@ -31335,13 +31637,13 @@ var require_mock_utils2 = __commonJS({
       kOrigin,
       kGetNetConnect
     } = require_mock_symbols2();
-    var { buildURL, nop } = require_util9();
-    var { STATUS_CODES } = require("http");
+    var { buildURL } = require_util9();
+    var { STATUS_CODES } = require("node:http");
     var {
       types: {
         isPromise
       }
-    } = require("util");
+    } = require("node:util");
     function matchValue(match, value) {
       if (typeof match === "string") {
         return match === value;
@@ -31426,6 +31728,10 @@ var require_mock_utils2 = __commonJS({
     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 {
@@ -31441,15 +31747,16 @@ var require_mock_utils2 = __commonJS({
       }
       matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method));
       if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`);
+        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}' on path '${resolvedPath}'`);
       }
       matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
       if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`);
+        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) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers}'`);
+        const headers = typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers;
+        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${headers}' on path '${resolvedPath}'`);
       }
       return matchedMockDispatches[0];
     }
@@ -31482,11 +31789,21 @@ var require_mock_utils2 = __commonJS({
       };
     }
     function generateKeyValues(data) {
-      return Object.entries(data).reduce((keyValuePairs, [key, value]) => [
-        ...keyValuePairs,
-        Buffer.from(`${key}`),
-        Array.isArray(value) ? value.map((x) => Buffer.from(`${x}`)) : Buffer.from(`${value}`)
-      ], []);
+      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";
@@ -31531,10 +31848,10 @@ var require_mock_utils2 = __commonJS({
         const responseData = getResponseData2(body);
         const responseHeaders = generateKeyValues(headers);
         const responseTrailers = generateKeyValues(trailers);
-        handler2.abort = nop;
-        handler2.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode));
-        handler2.onData(Buffer.from(responseData));
-        handler2.onComplete(responseTrailers);
+        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() {
@@ -31598,14 +31915,15 @@ var require_mock_utils2 = __commonJS({
       buildMockDispatch,
       checkNetConnect,
       buildMockOptions,
-      getHeaderByName
+      getHeaderByName,
+      buildHeadersFromArray
     };
   }
 });
 
-// node_modules/undici/lib/mock/mock-interceptor.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js
 var require_mock_interceptor2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
     "use strict";
     var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils2();
     var {
@@ -31678,46 +31996,47 @@ var require_mock_interceptor2 = __commonJS({
         this[kDefaultTrailers] = {};
         this[kContentLength] = false;
       }
-      createMockScopeDispatchData(statusCode, data, responseOptions = {}) {
+      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(statusCode, data, responseOptions) {
-        if (typeof statusCode === "undefined") {
+      validateReplyParameters(replyParameters) {
+        if (typeof replyParameters.statusCode === "undefined") {
           throw new InvalidArgumentError("statusCode must be defined");
         }
-        if (typeof data === "undefined") {
-          throw new InvalidArgumentError("data must be defined");
-        }
-        if (typeof responseOptions !== "object") {
+        if (typeof replyParameters.responseOptions !== "object" || replyParameters.responseOptions === null) {
           throw new InvalidArgumentError("responseOptions must be an object");
         }
       }
       /**
        * Mock an undici request with a defined reply.
        */
-      reply(replyData) {
-        if (typeof replyData === "function") {
+      reply(replyOptionsCallbackOrStatusCode) {
+        if (typeof replyOptionsCallbackOrStatusCode === "function") {
           const wrappedDefaultsCallback = (opts) => {
-            const resolvedData = replyData(opts);
-            if (typeof resolvedData !== "object") {
+            const resolvedData = replyOptionsCallbackOrStatusCode(opts);
+            if (typeof resolvedData !== "object" || resolvedData === null) {
               throw new InvalidArgumentError("reply options callback must return an object");
             }
-            const { statusCode: statusCode2, data: data2 = "", responseOptions: responseOptions2 = {} } = resolvedData;
-            this.validateReplyParameters(statusCode2, data2, responseOptions2);
+            const replyParameters2 = { data: "", responseOptions: {}, ...resolvedData };
+            this.validateReplyParameters(replyParameters2);
             return {
-              ...this.createMockScopeDispatchData(statusCode2, data2, responseOptions2)
+              ...this.createMockScopeDispatchData(replyParameters2)
             };
           };
           const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback);
           return new MockScope(newMockDispatch2);
         }
-        const [statusCode, data = "", responseOptions = {}] = [...arguments];
-        this.validateReplyParameters(statusCode, data, responseOptions);
-        const dispatchData = this.createMockScopeDispatchData(statusCode, data, responseOptions);
+        const 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);
       }
@@ -31764,11 +32083,11 @@ var require_mock_interceptor2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/mock-client.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js
 var require_mock_client2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
     "use strict";
-    var { promisify } = require("util");
+    var { promisify } = require("node:util");
     var Client = require_client2();
     var { buildMockDispatch } = require_mock_utils2();
     var {
@@ -31817,11 +32136,11 @@ var require_mock_client2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/mock-pool.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js
 var require_mock_pool2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
     "use strict";
-    var { promisify } = require("util");
+    var { promisify } = require("node:util");
     var Pool = require_pool2();
     var { buildMockDispatch } = require_mock_utils2();
     var {
@@ -31870,9 +32189,9 @@ var require_mock_pool2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/pluralizer.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/pluralizer.js
 var require_pluralizer2 = __commonJS({
-  "node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) {
     "use strict";
     var singulars = {
       pronoun: "it",
@@ -31901,12 +32220,14 @@ var require_pluralizer2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/pending-interceptors-formatter.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js
 var require_pending_interceptors_formatter2 = __commonJS({
-  "node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
     "use strict";
-    var { Transform } = require("stream");
-    var { Console } = require("console");
+    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({
@@ -31928,7 +32249,7 @@ var require_pending_interceptors_formatter2 = __commonJS({
             Origin: origin,
             Path: path16,
             "Status code": statusCode,
-            Persistent: persist ? "\u2705" : "\u274C",
+            Persistent: persist ? PERSISTENT : NOT_PERSISTENT,
             Invocations: timesInvoked,
             Remaining: persist ? Infinity : times - timesInvoked
           })
@@ -31940,9 +32261,9 @@ var require_pending_interceptors_formatter2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/mock-agent.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js
 var require_mock_agent2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
     "use strict";
     var { kClients } = require_symbols6();
     var Agent = require_agent2();
@@ -31964,23 +32285,15 @@ var require_mock_agent2 = __commonJS({
     var Dispatcher = require_dispatcher2();
     var Pluralizer = require_pluralizer2();
     var PendingInterceptorsFormatter = require_pending_interceptors_formatter2();
-    var FakeWeakRef = class {
-      constructor(value) {
-        this.value = value;
-      }
-      deref() {
-        return this.value;
-      }
-    };
     var MockAgent = class extends Dispatcher {
       constructor(opts) {
         super(opts);
         this[kNetConnect] = true;
         this[kIsMockActive] = true;
-        if (opts && opts.agent && typeof opts.agent.dispatch !== "function") {
+        if (opts?.agent && typeof opts.agent.dispatch !== "function") {
           throw new InvalidArgumentError("Argument opts.agent must implement Agent");
         }
-        const agent = opts && opts.agent ? opts.agent : new Agent(opts);
+        const agent = opts?.agent ? opts.agent : new Agent(opts);
         this[kAgent] = agent;
         this[kClients] = agent[kClients];
         this[kOptions] = buildMockOptions(opts);
@@ -32029,24 +32342,23 @@ var require_mock_agent2 = __commonJS({
         return this[kIsMockActive];
       }
       [kMockAgentSet](origin, dispatcher) {
-        this[kClients].set(origin, new FakeWeakRef(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 ref = this[kClients].get(origin);
-        if (ref) {
-          return ref.deref();
+        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, nonExplicitRef] of Array.from(this[kClients])) {
-          const nonExplicitDispatcher = nonExplicitRef.deref();
+        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);
@@ -32060,7 +32372,7 @@ var require_mock_agent2 = __commonJS({
       }
       pendingInterceptors() {
         const mockAgentClients = this[kClients];
-        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope.deref()[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
+        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
       }
       assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) {
         const pending = this.pendingInterceptors();
@@ -32079,504 +32391,528 @@ ${pendingInterceptorsFormatter.format(pending)}
   }
 });
 
-// node_modules/undici/lib/proxy-agent.js
-var require_proxy_agent2 = __commonJS({
-  "node_modules/undici/lib/proxy-agent.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/global.js
+var require_global4 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/global.js"(exports2, module2) {
     "use strict";
-    var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols6();
-    var { URL: URL2 } = require("url");
+    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
+    var { InvalidArgumentError } = require_errors2();
     var Agent = require_agent2();
-    var Pool = require_pool2();
-    var DispatcherBase = require_dispatcher_base2();
-    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
-    var buildConnector = require_connect2();
-    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
-    var kClient = /* @__PURE__ */ Symbol("proxy client");
-    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
-    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
-    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
-    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
-    function defaultProtocolPort(protocol) {
-      return protocol === "https:" ? 443 : 80;
+    if (getGlobalDispatcher() === void 0) {
+      setGlobalDispatcher(new Agent());
     }
-    function buildProxyOptions(opts) {
-      if (typeof opts === "string") {
-        opts = { uri: opts };
-      }
-      if (!opts || !opts.uri) {
-        throw new InvalidArgumentError("Proxy opts.uri is mandatory");
+    function setGlobalDispatcher(agent) {
+      if (!agent || typeof agent.dispatch !== "function") {
+        throw new InvalidArgumentError("Argument agent must implement Agent");
       }
-      return {
-        uri: opts.uri,
-        protocol: opts.protocol || "https"
-      };
+      Object.defineProperty(globalThis, globalDispatcher, {
+        value: agent,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
     }
-    function defaultFactory(origin, opts) {
-      return new Pool(origin, opts);
+    function getGlobalDispatcher() {
+      return globalThis[globalDispatcher];
     }
-    var ProxyAgent = class extends DispatcherBase {
-      constructor(opts) {
-        super(opts);
-        this[kProxy] = buildProxyOptions(opts);
-        this[kAgent] = new Agent(opts);
-        this[kInterceptors] = opts.interceptors && opts.interceptors.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : [];
-        if (typeof opts === "string") {
-          opts = { uri: opts };
-        }
-        if (!opts || !opts.uri) {
-          throw new InvalidArgumentError("Proxy opts.uri is mandatory");
-        }
-        const { clientFactory = defaultFactory } = opts;
-        if (typeof clientFactory !== "function") {
-          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
-        }
-        this[kRequestTls] = opts.requestTls;
-        this[kProxyTls] = opts.proxyTls;
-        this[kProxyHeaders] = opts.headers || {};
-        const resolvedUrl = new URL2(opts.uri);
-        const { origin, port, host, username, password } = resolvedUrl;
-        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")}`;
+    module2.exports = {
+      setGlobalDispatcher,
+      getGlobalDispatcher
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/handler/decorator-handler.js
+var require_decorator_handler2 = __commonJS({
+  "node_modules/@actions/github/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");
         }
-        const connect = buildConnector({ ...opts.proxyTls });
-        this[kConnectEndpoint] = buildConnector({ ...opts.requestTls });
-        this[kClient] = clientFactory(resolvedUrl, { connect });
-        this[kAgent] = new Agent({
-          ...opts,
-          connect: async (opts2, callback) => {
-            let requestedHost = opts2.host;
-            if (!opts2.port) {
-              requestedHost += `:${defaultProtocolPort(opts2.protocol)}`;
-            }
-            try {
-              const { socket, statusCode } = await this[kClient].connect({
-                origin,
-                port,
-                path: requestedHost,
-                signal: opts2.signal,
-                headers: {
-                  ...this[kProxyHeaders],
-                  host
-                }
-              });
-              if (statusCode !== 200) {
-                socket.on("error", () => {
-                }).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) {
-              callback(err);
-            }
-          }
-        });
+        this.#handler = handler2;
       }
-      dispatch(opts, handler2) {
-        const { host } = new URL2(opts.origin);
-        const headers = buildHeaders(opts.headers);
-        throwIfProxyAuthIsSent(headers);
-        return this[kAgent].dispatch(
-          {
-            ...opts,
-            headers: {
-              ...headers,
-              host
-            }
-          },
-          handler2
-        );
+      onConnect(...args) {
+        return this.#handler.onConnect?.(...args);
       }
-      async [kClose]() {
-        await this[kAgent].close();
-        await this[kClient].close();
+      onError(...args) {
+        return this.#handler.onError?.(...args);
       }
-      async [kDestroy]() {
-        await this[kAgent].destroy();
-        await this[kClient].destroy();
+      onUpgrade(...args) {
+        return this.#handler.onUpgrade?.(...args);
       }
-    };
-    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;
+      onResponseStarted(...args) {
+        return this.#handler.onResponseStarted?.(...args);
       }
-      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");
+      onHeaders(...args) {
+        return this.#handler.onHeaders?.(...args);
       }
-    }
-    module2.exports = ProxyAgent;
+      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/handler/RetryHandler.js
-var require_RetryHandler = __commonJS({
-  "node_modules/undici/lib/handler/RetryHandler.js"(exports2, module2) {
-    var assert = require("assert");
-    var { kRetryHandlerDefaultRetry } = require_symbols6();
-    var { RequestRetryError } = require_errors2();
-    var { isDisturbed, parseHeaders, parseRangeHeader } = require_util9();
-    function calculateRetryAfterHeader(retryAfter) {
-      const current = Date.now();
-      const diff = new Date(retryAfter).getTime() - current;
-      return diff;
-    }
-    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;
-        this.abort = null;
-        this.aborted = false;
-        this.retryOpts = {
-          retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry],
-          retryAfter: retryAfter ?? true,
-          maxTimeout: maxTimeout ?? 30 * 1e3,
-          // 30s,
-          timeout: 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"
-          ]
-        };
-        this.retryCount = 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;
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js
+var require_redirect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js"(exports2, module2) {
+    "use strict";
+    var RedirectHandler = require_redirect_handler2();
+    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);
           }
-        });
-      }
-      onRequestSent() {
-        if (this.handler.onRequestSent) {
-          this.handler.onRequestSent();
-        }
-      }
-      onUpgrade(statusCode, headers, socket) {
-        if (this.handler.onUpgrade) {
-          this.handler.onUpgrade(statusCode, headers, socket);
+          const redirectHandler = new RedirectHandler(
+            dispatch,
+            maxRedirections,
+            opts2,
+            handler2
+          );
+          return dispatch(baseOpts, redirectHandler);
+        };
+      };
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js
+var require_retry2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js"(exports2, module2) {
+    "use strict";
+    var RetryHandler = require_retry_handler2();
+    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/@actions/github/node_modules/undici/lib/interceptor/dump.js
+var require_dump2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/dump.js"(exports2, module2) {
+    "use strict";
+    var util = require_util9();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
+    var DecoratorHandler = require_decorator_handler2();
+    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) {
-        if (this.aborted) {
-          abort(this.reason);
-        } else {
-          this.abort = abort;
-        }
+        this.#abort = abort;
+        this.#handler.onConnect(this.#customAbort.bind(this));
       }
-      onBodySent(chunk) {
-        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
+      #customAbort(reason) {
+        this.#aborted = true;
+        this.#reason = reason;
       }
-      static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) {
-        const { statusCode, code, headers } = err;
-        const { method, retryOptions } = opts;
-        const {
-          maxRetries,
-          timeout,
-          maxTimeout,
-          timeoutFactor,
-          statusCodes,
-          errorCodes,
-          methods
-        } = retryOptions;
-        let { counter, currentTimeout } = state;
-        currentTimeout = currentTimeout != null && currentTimeout > 0 ? currentTimeout : timeout;
-        if (code && code !== "UND_ERR_REQ_RETRY" && code !== "UND_ERR_SOCKET" && !errorCodes.includes(code)) {
-          cb(err);
-          return;
+      // 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 (Array.isArray(methods) && !methods.includes(method)) {
-          cb(err);
-          return;
+        if (this.#aborted) {
+          return true;
         }
-        if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) {
-          cb(err);
+        return this.#handler.onHeaders(
+          statusCode,
+          rawHeaders,
+          resume,
+          statusMessage
+        );
+      }
+      onError(err) {
+        if (this.#dumped) {
           return;
         }
-        if (counter > maxRetries) {
-          cb(err);
+        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;
         }
-        let retryAfterHeader = headers != null && headers["retry-after"];
-        if (retryAfterHeader) {
-          retryAfterHeader = Number(retryAfterHeader);
-          retryAfterHeader = isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3;
+        if (this.#aborted) {
+          this.#handler.onError(this.reason);
+          return;
         }
-        const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(currentTimeout * timeoutFactor ** counter, maxTimeout);
-        state.currentTimeout = retryTimeout;
-        setTimeout(() => cb(null), retryTimeout);
+        this.#handler.onComplete(trailers);
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const headers = parseHeaders(rawHeaders);
-        this.retryCount += 1;
-        if (statusCode >= 300) {
-          this.abort(
-            new RequestRetryError("Request failed", statusCode, {
-              headers,
-              count: this.retryCount
-            })
+    };
+    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 false;
-        }
-        if (this.resume != null) {
-          this.resume = null;
-          if (statusCode !== 206) {
-            return true;
-          }
-          const contentRange = parseRangeHeader(headers["content-range"]);
-          if (!contentRange) {
-            this.abort(
-              new RequestRetryError("Content-Range mismatch", statusCode, {
-                headers,
-                count: this.retryCount
-              })
-            );
-            return false;
-          }
-          if (this.etag != null && this.etag !== headers.etag) {
-            this.abort(
-              new RequestRetryError("ETag mismatch", statusCode, {
-                headers,
-                count: this.retryCount
-              })
-            );
-            return false;
-          }
-          const { start, size, end = size } = contentRange;
-          assert(this.start === start, "content-range mismatch");
-          assert(this.end == null || this.end === end, "content-range mismatch");
-          this.resume = resume;
-          return true;
+          return dispatch(opts, dumpHandler);
+        };
+      };
+    }
+    module2.exports = createDumpInterceptor;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/dns.js
+var require_dns2 = __commonJS({
+  "node_modules/@actions/github/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_handler2();
+    var { InvalidArgumentError, InformationalError } = require_errors2();
+    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;
         }
-        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 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;
             }
-            const { start, size, end = size } = range;
-            assert(
-              start != null && Number.isFinite(start) && this.start !== start,
-              "content-range mismatch"
+            this.setRecords(origin, addresses);
+            const records = this.#records.get(origin.hostname);
+            const ip = this.pick(
+              origin,
+              records,
+              newOpts.affinity
             );
-            assert(Number.isFinite(start));
-            assert(
-              end != null && Number.isFinite(end) && this.end !== end,
-              "invalid content-length"
+            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}`
             );
-            this.start = start;
-            this.end = end;
+          });
+        } else {
+          const ip = this.pick(
+            origin,
+            ips,
+            newOpts.affinity
+          );
+          if (ip == null) {
+            this.#records.delete(origin.hostname);
+            this.runLookup(origin, opts, cb);
+            return;
           }
-          if (this.end == null) {
-            const contentLength = headers["content-length"];
-            this.end = contentLength != null ? Number(contentLength) : null;
+          let port;
+          if (typeof ip.port === "number") {
+            port = `:${ip.port}`;
+          } else if (origin.port !== "") {
+            port = `:${origin.port}`;
+          } else {
+            port = "";
           }
-          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;
-          return this.handler.onHeaders(
-            statusCode,
-            rawHeaders,
-            resume,
-            statusMessage
+          cb(
+            null,
+            `${origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}`
           );
         }
-        const err = new RequestRetryError("Request failed", statusCode, {
-          headers,
-          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);
-        }
-        this.retryOpts.retry(
-          err,
+      #defaultLookup(origin, opts, cb) {
+        lookup(
+          origin.hostname,
           {
-            state: { counter: this.retryCount++, currentTimeout: this.retryAfter },
-            opts: { retryOptions: this.retryOpts, ...this.opts }
+            all: true,
+            family: this.dualStack === false ? this.affinity : 0,
+            order: "ipv4first"
           },
-          onRetry.bind(this)
+          (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());
+          }
         );
-        function onRetry(err2) {
-          if (err2 != null || this.aborted || isDisturbed(this.opts.body)) {
-            return this.handler.onError(err2);
+      }
+      #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 (this.start !== 0) {
-            this.opts = {
-              ...this.opts,
-              headers: {
-                ...this.opts.headers,
-                range: `bytes=${this.start}-${this.end ?? ""}`
-              }
-            };
+          if (records[affinity] != null && records[affinity].ips.length > 0) {
+            family = records[affinity];
+          } else {
+            family = records[affinity === 4 ? 6 : 4];
           }
-          try {
-            this.dispatch(this.opts, this);
-          } catch (err3) {
-            this.handler.onError(err3);
+        } 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 timestamp2 = Date.now();
+        const records = { records: { 4: null, 6: null } };
+        for (const record of addresses) {
+          record.timestamp = timestamp2;
+          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);
       }
-    };
-    module2.exports = RetryHandler;
-  }
-});
-
-// node_modules/undici/lib/global.js
-var require_global4 = __commonJS({
-  "node_modules/undici/lib/global.js"(exports2, module2) {
-    "use strict";
-    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
-    var { InvalidArgumentError } = require_errors2();
-    var Agent = require_agent2();
-    if (getGlobalDispatcher() === void 0) {
-      setGlobalDispatcher(new Agent());
-    }
-    function setGlobalDispatcher(agent) {
-      if (!agent || typeof agent.dispatch !== "function") {
-        throw new InvalidArgumentError("Argument agent must implement Agent");
+      getHandler(meta, opts) {
+        return new DNSDispatchHandler(this, meta, opts);
       }
-      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/DecoratorHandler.js
-var require_DecoratorHandler = __commonJS({
-  "node_modules/undici/lib/handler/DecoratorHandler.js"(exports2, module2) {
-    "use strict";
-    module2.exports = class DecoratorHandler {
-      constructor(handler2) {
-        this.handler = handler2;
+    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;
       }
-      onConnect(...args) {
-        return this.handler.onConnect(...args);
+      onError(err) {
+        switch (err.code) {
+          case "ETIMEDOUT":
+          case "ECONNREFUSED": {
+            if (this.#state.dualStack) {
+              this.#state.runLookup(this.#origin, this.#opts, (err2, newOrigin) => {
+                if (err2) {
+                  return this.#handler.onError(err2);
+                }
+                const dispatchOpts = {
+                  ...this.#opts,
+                  origin: newOrigin
+                };
+                this.#dispatch(dispatchOpts, this);
+              });
+              return;
+            }
+            this.#handler.onError(err);
+            return;
+          }
+          case "ENOTFOUND":
+            this.#state.deleteRecord(this.#origin);
+          // eslint-disable-next-line no-fallthrough
+          default:
+            this.#handler.onError(err);
+            break;
+        }
       }
-      onError(...args) {
-        return this.handler.onError(...args);
+    };
+    module2.exports = (interceptorOpts) => {
+      if (interceptorOpts?.maxTTL != null && (typeof interceptorOpts?.maxTTL !== "number" || interceptorOpts?.maxTTL < 0)) {
+        throw new InvalidArgumentError("Invalid maxTTL. Must be a positive number");
       }
-      onUpgrade(...args) {
-        return this.handler.onUpgrade(...args);
+      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"
+        );
       }
-      onHeaders(...args) {
-        return this.handler.onHeaders(...args);
+      if (interceptorOpts?.affinity != null && interceptorOpts?.affinity !== 4 && interceptorOpts?.affinity !== 6) {
+        throw new InvalidArgumentError("Invalid affinity. Must be either 4 or 6");
       }
-      onData(...args) {
-        return this.handler.onData(...args);
+      if (interceptorOpts?.dualStack != null && typeof interceptorOpts?.dualStack !== "boolean") {
+        throw new InvalidArgumentError("Invalid dualStack. Must be a boolean");
       }
-      onComplete(...args) {
-        return this.handler.onComplete(...args);
+      if (interceptorOpts?.lookup != null && typeof interceptorOpts?.lookup !== "function") {
+        throw new InvalidArgumentError("Invalid lookup. Must be a function");
       }
-      onBodySent(...args) {
-        return this.handler.onBodySent(...args);
+      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/fetch/headers.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js
 var require_headers2 = __commonJS({
-  "node_modules/undici/lib/fetch/headers.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js"(exports2, module2) {
     "use strict";
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var { kGuard } = require_symbols7();
+    var { kConstruct } = require_symbols6();
     var { kEnumerableProperty } = require_util9();
     var {
-      makeIterator,
+      iteratorMixin,
       isValidHeaderName,
       isValidHeaderValue
     } = require_util10();
-    var util = require("util");
     var { webidl } = require_webidl2();
-    var assert = require("assert");
+    var assert = require("node:assert");
+    var util = require("node:util");
     var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
     var kHeadersSortedMap = /* @__PURE__ */ Symbol("headers map sorted");
     function isHTTPWhiteSpaceCharCode(code) {
@@ -32629,11 +32965,13 @@ var require_headers2 = __commonJS({
           type: "header value"
         });
       }
-      if (headers[kGuard] === "immutable") {
+      if (getHeadersGuard(headers) === "immutable") {
         throw new TypeError("immutable");
-      } else if (headers[kGuard] === "request-no-cors") {
       }
-      return headers[kHeadersList].append(name, value);
+      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} */
@@ -32648,20 +32986,28 @@ var require_headers2 = __commonJS({
           this[kHeadersSortedMap] = null;
         }
       }
-      // https://fetch.spec.whatwg.org/#header-list-contains
-      contains(name) {
-        name = name.toLowerCase();
-        return this[kHeadersMap].has(name);
+      /**
+       * @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;
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-append
-      append(name, value) {
+      /**
+       * @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 = name.toLowerCase();
+        const lowercaseName = isLowerCase ? name : name.toLowerCase();
         const exists = this[kHeadersMap].get(lowercaseName);
         if (exists) {
           const delimiter = lowercaseName === "cookie" ? "; " : ", ";
@@ -32673,73 +33019,155 @@ var require_headers2 = __commonJS({
           this[kHeadersMap].set(lowercaseName, { name, value });
         }
         if (lowercaseName === "set-cookie") {
-          this.cookies ??= [];
-          this.cookies.push(value);
+          (this.cookies ??= []).push(value);
         }
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-set
-      set(name, 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 = name.toLowerCase();
+        const lowercaseName = isLowerCase ? name : name.toLowerCase();
         if (lowercaseName === "set-cookie") {
           this.cookies = [value];
         }
         this[kHeadersMap].set(lowercaseName, { name, value });
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-delete
-      delete(name) {
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-delete
+       * @param {string} name
+       * @param {boolean} isLowerCase
+       */
+      delete(name, isLowerCase) {
         this[kHeadersSortedMap] = null;
-        name = name.toLowerCase();
+        if (!isLowerCase) name = name.toLowerCase();
         if (name === "set-cookie") {
           this.cookies = null;
         }
         this[kHeadersMap].delete(name);
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-get
-      get(name) {
-        const value = this[kHeadersMap].get(name.toLowerCase());
-        return value === void 0 ? null : value.value;
+      /**
+       * @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 [name, { value }] of this[kHeadersMap]) {
+        for (const { 0: name, 1: { value } } of this[kHeadersMap]) {
           yield [name, value];
         }
       }
       get entries() {
         const headers = {};
-        if (this[kHeadersMap].size) {
+        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[kHeadersList] = new HeadersList();
-        this[kGuard] = "none";
+        this.#headersList = new HeadersList();
+        this.#guard = "none";
         if (init !== void 0) {
-          init = webidl.converters.HeadersInit(init);
+          init = webidl.converters.HeadersInit(init, "Headers contructor", "init");
           fill(this, init);
         }
       }
       // https://fetch.spec.whatwg.org/#dom-headers-append
       append(name, value) {
         webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.append" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
+        webidl.argumentLengthCheck(arguments, 2, "Headers.append");
+        const prefix = "Headers.append";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        value = webidl.converters.ByteString(value, prefix, "value");
         return appendHeader(this, name, value);
       }
       // https://fetch.spec.whatwg.org/#dom-headers-delete
       delete(name) {
         webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.delete" });
-        name = webidl.converters.ByteString(name);
+        webidl.argumentLengthCheck(arguments, 1, "Headers.delete");
+        const prefix = "Headers.delete";
+        name = webidl.converters.ByteString(name, prefix, "name");
         if (!isValidHeaderName(name)) {
           throw webidl.errors.invalidArgument({
             prefix: "Headers.delete",
@@ -32747,73 +33175,74 @@ var require_headers2 = __commonJS({
             type: "header name"
           });
         }
-        if (this[kGuard] === "immutable") {
+        if (this.#guard === "immutable") {
           throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
         }
-        if (!this[kHeadersList].contains(name)) {
+        if (!this.#headersList.contains(name, false)) {
           return;
         }
-        this[kHeadersList].delete(name);
+        this.#headersList.delete(name, false);
       }
       // https://fetch.spec.whatwg.org/#dom-headers-get
       get(name) {
         webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.get" });
-        name = webidl.converters.ByteString(name);
+        webidl.argumentLengthCheck(arguments, 1, "Headers.get");
+        const prefix = "Headers.get";
+        name = webidl.converters.ByteString(name, prefix, "name");
         if (!isValidHeaderName(name)) {
           throw webidl.errors.invalidArgument({
-            prefix: "Headers.get",
+            prefix,
             value: name,
             type: "header name"
           });
         }
-        return this[kHeadersList].get(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, { header: "Headers.has" });
-        name = webidl.converters.ByteString(name);
+        webidl.argumentLengthCheck(arguments, 1, "Headers.has");
+        const prefix = "Headers.has";
+        name = webidl.converters.ByteString(name, prefix, "name");
         if (!isValidHeaderName(name)) {
           throw webidl.errors.invalidArgument({
-            prefix: "Headers.has",
+            prefix,
             value: name,
             type: "header name"
           });
         }
-        return this[kHeadersList].contains(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, { header: "Headers.set" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
+        webidl.argumentLengthCheck(arguments, 2, "Headers.set");
+        const prefix = "Headers.set";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        value = webidl.converters.ByteString(value, prefix, "value");
         value = headerValueNormalize(value);
         if (!isValidHeaderName(name)) {
           throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
+            prefix,
             value: name,
             type: "header name"
           });
         } else if (!isValidHeaderValue(value)) {
           throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
+            prefix,
             value,
             type: "header value"
           });
         }
-        if (this[kGuard] === "immutable") {
+        if (this.#guard === "immutable") {
           throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
         }
-        this[kHeadersList].set(name, value);
+        this.#headersList.set(name, value, false);
       }
       // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
       getSetCookie() {
         webidl.brandCheck(this, _Headers);
-        const list = this[kHeadersList].cookies;
+        const list = this.#headersList.cookies;
         if (list) {
           return [...list];
         }
@@ -32821,96 +33250,50 @@ var require_headers2 = __commonJS({
       }
       // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
       get [kHeadersSortedMap]() {
-        if (this[kHeadersList][kHeadersSortedMap]) {
-          return this[kHeadersList][kHeadersSortedMap];
+        if (this.#headersList[kHeadersSortedMap]) {
+          return this.#headersList[kHeadersSortedMap];
         }
         const headers = [];
-        const names = [...this[kHeadersList]].sort((a, b) => a[0] < b[0] ? -1 : 1);
-        const cookies = this[kHeadersList].cookies;
+        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 [name, value] = names[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 {
-            assert(value !== null);
             headers.push([name, value]);
           }
         }
-        this[kHeadersList][kHeadersSortedMap] = headers;
-        return headers;
+        return this.#headersList[kHeadersSortedMap] = headers;
       }
-      keys() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key"
-        );
+      [util.inspect.custom](depth, options) {
+        options.depth ??= depth;
+        return `Headers ${util.formatWithOptions(options, this.#headersList.entries)}`;
       }
-      values() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "value"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "value"
-        );
+      static getHeadersGuard(o) {
+        return o.#guard;
       }
-      entries() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key+value"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key+value"
-        );
+      static setHeadersGuard(o, guard) {
+        o.#guard = guard;
       }
-      /**
-       * @param {(value: string, key: string, self: Headers) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'."
-          );
-        }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
-        }
+      static getHeadersList(o) {
+        return o.#headersList;
       }
-      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")]() {
-        webidl.brandCheck(this, _Headers);
-        return this[kHeadersList];
+      static setHeadersList(o, list) {
+        o.#headersList = list;
       }
     };
-    Headers.prototype[Symbol.iterator] = Headers.prototype.entries;
+    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,
@@ -32918,11 +33301,6 @@ var require_headers2 = __commonJS({
       has: kEnumerableProperty,
       set: kEnumerableProperty,
       getSetCookie: kEnumerableProperty,
-      keys: kEnumerableProperty,
-      values: kEnumerableProperty,
-      entries: kEnumerableProperty,
-      forEach: kEnumerableProperty,
-      [Symbol.iterator]: { enumerable: false },
       [Symbol.toStringTag]: {
         value: "Headers",
         configurable: true
@@ -32931,12 +33309,19 @@ var require_headers2 = __commonJS({
         enumerable: false
       }
     });
-    webidl.converters.HeadersInit = function(V) {
+    webidl.converters.HeadersInit = function(V, prefix, argument) {
       if (webidl.util.Type(V) === "Object") {
-        if (V[Symbol.iterator]) {
-          return webidl.converters["sequence>"](V);
+        const iterator2 = Reflect.get(V, Symbol.iterator);
+        if (!util.types.isProxy(V) && iterator2 === Headers.prototype.entries) {
+          try {
+            return getHeadersList(V).entriesList;
+          } catch {
+          }
         }
-        return webidl.converters["record"](V);
+        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",
@@ -32946,19 +33331,26 @@ var require_headers2 = __commonJS({
     };
     module2.exports = {
       fill,
+      // for test.
+      compareHeaderName,
       Headers,
-      HeadersList
+      HeadersList,
+      getHeadersGuard,
+      setHeadersGuard,
+      setHeadersList,
+      getHeadersList
     };
   }
 });
 
-// node_modules/undici/lib/fetch/response.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js
 var require_response2 = __commonJS({
-  "node_modules/undici/lib/fetch/response.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js"(exports2, module2) {
     "use strict";
-    var { Headers, HeadersList, fill } = require_headers2();
-    var { extractBody, cloneBody, mixinBody } = require_body2();
+    var { Headers, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers2();
+    var { extractBody, cloneBody, mixinBody, hasFinalizationRegistry, streamRegistry, bodyUnusable } = require_body2();
     var util = require_util9();
+    var nodeUtil = require("node:util");
     var { kEnumerableProperty } = util;
     var {
       isValidReasonPhrase,
@@ -32967,38 +33359,30 @@ var require_response2 = __commonJS({
       isBlobLike,
       serializeJavascriptValueToJSONString,
       isErrorLike,
-      isomorphicEncode
+      isomorphicEncode,
+      environmentSettingsObject: relevantRealm
     } = require_util10();
     var {
       redirectStatusSet,
-      nullBodyStatus,
-      DOMException: DOMException2
-    } = require_constants7();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
+      nullBodyStatus
+    } = require_constants8();
+    var { kState, kHeaders } = require_symbols7();
     var { webidl } = require_webidl2();
     var { FormData: FormData2 } = require_formdata2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { types } = require("util");
-    var ReadableStream2 = globalThis.ReadableStream || require("stream/web").ReadableStream;
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    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 relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kState] = makeNetworkError();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = responseObject[kState].headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
+        const responseObject = fromInnerResponse(makeNetworkError(), "immutable");
         return responseObject;
       }
       // https://fetch.spec.whatwg.org/#dom-response-json
       static json(data, init = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.json" });
+        webidl.argumentLengthCheck(arguments, 1, "Response.json");
         if (init !== null) {
           init = webidl.converters.ResponseInit(init);
         }
@@ -33006,52 +33390,44 @@ var require_response2 = __commonJS({
           serializeJavascriptValueToJSONString(data)
         );
         const body = extractBody(bytes);
-        const relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "response";
-        responseObject[kHeaders][kRealm] = relevantRealm;
+        const responseObject = fromInnerResponse(makeResponse({}), "response");
         initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
         return responseObject;
       }
       // Creates a redirect Response that redirects to url with status status.
       static redirect(url2, status = 302) {
-        const relevantRealm = { settingsObject: {} };
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.redirect" });
+        webidl.argumentLengthCheck(arguments, 1, "Response.redirect");
         url2 = webidl.converters.USVString(url2);
         status = webidl.converters["unsigned short"](status);
         let parsedURL;
         try {
-          parsedURL = new URL(url2, getGlobalOrigin());
+          parsedURL = new URL(url2, relevantRealm.settingsObject.baseUrl);
         } catch (err) {
-          throw Object.assign(new TypeError("Failed to parse URL from " + url2), {
-            cause: err
-          });
+          throw new TypeError(`Failed to parse URL from ${url2}`, { cause: err });
         }
         if (!redirectStatusSet.has(status)) {
-          throw new RangeError("Invalid status code " + status);
+          throw new RangeError(`Invalid status code ${status}`);
         }
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
+        const responseObject = fromInnerResponse(makeResponse({}), "immutable");
         responseObject[kState].status = status;
         const value = isomorphicEncode(URLSerializer(parsedURL));
-        responseObject[kState].headersList.append("location", value);
+        responseObject[kState].headersList.append("location", value, true);
         return responseObject;
       }
       // https://fetch.spec.whatwg.org/#dom-response
       constructor(body = null, init = {}) {
+        webidl.util.markAsUncloneable(this);
+        if (body === kConstruct) {
+          return;
+        }
         if (body !== null) {
           body = webidl.converters.BodyInit(body);
         }
         init = webidl.converters.ResponseInit(init);
-        this[kRealm] = { settingsObject: {} };
         this[kState] = makeResponse({});
         this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kGuard] = "response";
-        this[kHeaders][kHeadersList] = this[kState].headersList;
-        this[kHeaders][kRealm] = this[kRealm];
+        setHeadersGuard(this[kHeaders], "response");
+        setHeadersList(this[kHeaders], this[kState].headersList);
         let bodyWithType = null;
         if (body != null) {
           const [extractedBody, type2] = extractBody(body);
@@ -33110,20 +33486,35 @@ var require_response2 = __commonJS({
       // Returns a clone of response.
       clone() {
         webidl.brandCheck(this, _Response);
-        if (this.bodyUsed || this.body && this.body.locked) {
+        if (bodyUnusable(this)) {
           throw webidl.errors.exception({
             header: "Response.clone",
             message: "Body has already been consumed."
           });
         }
         const clonedResponse = cloneResponse(this[kState]);
-        const clonedResponseObject = new _Response();
-        clonedResponseObject[kState] = clonedResponse;
-        clonedResponseObject[kRealm] = this[kRealm];
-        clonedResponseObject[kHeaders][kHeadersList] = clonedResponse.headersList;
-        clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm];
-        return clonedResponseObject;
+        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);
@@ -33157,7 +33548,7 @@ var require_response2 = __commonJS({
       }
       const newResponse = makeResponse({ ...response, body: null });
       if (response.body != null) {
-        newResponse.body = cloneBody(response.body);
+        newResponse.body = cloneBody(newResponse, response.body);
       }
       return newResponse;
     }
@@ -33173,8 +33564,8 @@ var require_response2 = __commonJS({
         cacheState: "",
         statusText: "",
         ...init,
-        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList(),
-        urlList: init.urlList ? [...init.urlList] : []
+        headersList: init?.headersList ? new HeadersList(init?.headersList) : new HeadersList(),
+        urlList: init?.urlList ? [...init.urlList] : []
       };
     }
     function makeNetworkError(reason) {
@@ -33186,6 +33577,13 @@ var require_response2 = __commonJS({
         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,
@@ -33235,7 +33633,7 @@ var require_response2 = __commonJS({
     }
     function makeAppropriateNetworkError(fetchParams, err = null) {
       assert(isCancelled(fetchParams));
-      return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException2("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException2("Request was cancelled."), { cause: err }));
+      return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException("Request was cancelled."), { cause: err }));
     }
     function initializeResponse(response, init, body) {
       if (init.status !== null && (init.status < 200 || init.status > 599)) {
@@ -33259,17 +33657,28 @@ var require_response2 = __commonJS({
         if (nullBodyStatus.includes(response.status)) {
           throw webidl.errors.exception({
             header: "Response constructor",
-            message: "Invalid response status code " + response.status
+            message: `Invalid response status code ${response.status}`
           });
         }
         response[kState].body = body.body;
-        if (body.type != null && !response[kState].headersList.contains("Content-Type")) {
-          response[kState].headersList.append("content-type", body.type);
+        if (body.type != null && !response[kState].headersList.contains("content-type", true)) {
+          response[kState].headersList.append("content-type", body.type, true);
         }
       }
     }
+    function fromInnerResponse(innerResponse, guard) {
+      const response = new Response(kConstruct);
+      response[kState] = innerResponse;
+      response[kHeaders] = new Headers(kConstruct);
+      setHeadersList(response[kHeaders], innerResponse.headersList);
+      setHeadersGuard(response[kHeaders], guard);
+      if (hasFinalizationRegistry && innerResponse.body?.stream) {
+        streamRegistry.register(response, new WeakRef(innerResponse.body.stream));
+      }
+      return response;
+    }
     webidl.converters.ReadableStream = webidl.interfaceConverter(
-      ReadableStream2
+      ReadableStream
     );
     webidl.converters.FormData = webidl.interfaceConverter(
       FormData2
@@ -33277,43 +33686,43 @@ var require_response2 = __commonJS({
     webidl.converters.URLSearchParams = webidl.interfaceConverter(
       URLSearchParams
     );
-    webidl.converters.XMLHttpRequestBodyInit = function(V) {
+    webidl.converters.XMLHttpRequestBodyInit = function(V, prefix, name) {
       if (typeof V === "string") {
-        return webidl.converters.USVString(V);
+        return webidl.converters.USVString(V, prefix, name);
       }
       if (isBlobLike(V)) {
-        return webidl.converters.Blob(V, { strict: false });
+        return webidl.converters.Blob(V, prefix, name, { strict: false });
       }
-      if (types.isArrayBuffer(V) || types.isTypedArray(V) || types.isDataView(V)) {
-        return webidl.converters.BufferSource(V);
+      if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) {
+        return webidl.converters.BufferSource(V, prefix, name);
       }
       if (util.isFormDataLike(V)) {
-        return webidl.converters.FormData(V, { strict: false });
+        return webidl.converters.FormData(V, prefix, name, { strict: false });
       }
       if (V instanceof URLSearchParams) {
-        return webidl.converters.URLSearchParams(V);
+        return webidl.converters.URLSearchParams(V, prefix, name);
       }
-      return webidl.converters.DOMString(V);
+      return webidl.converters.DOMString(V, prefix, name);
     };
-    webidl.converters.BodyInit = function(V) {
-      if (V instanceof ReadableStream2) {
-        return webidl.converters.ReadableStream(V);
+    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);
+      return webidl.converters.XMLHttpRequestBodyInit(V, prefix, argument);
     };
     webidl.converters.ResponseInit = webidl.dictionaryConverter([
       {
         key: "status",
         converter: webidl.converters["unsigned short"],
-        defaultValue: 200
+        defaultValue: () => 200
       },
       {
         key: "statusText",
         converter: webidl.converters.ByteString,
-        defaultValue: ""
+        defaultValue: () => ""
       },
       {
         key: "headers",
@@ -33321,30 +33730,73 @@ var require_response2 = __commonJS({
       }
     ]);
     module2.exports = {
+      isNetworkError,
       makeNetworkError,
       makeResponse,
       makeAppropriateNetworkError,
       filterResponse,
       Response,
-      cloneResponse
+      cloneResponse,
+      fromInnerResponse
     };
   }
 });
 
-// node_modules/undici/lib/fetch/request.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js
+var require_dispatcher_weakref2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js"(exports2, module2) {
+    "use strict";
+    var { kConnected, kSize } = require_symbols6();
+    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/@actions/github/node_modules/undici/lib/web/fetch/request.js
 var require_request4 = __commonJS({
-  "node_modules/undici/lib/fetch/request.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js"(exports2, module2) {
     "use strict";
-    var { extractBody, mixinBody, cloneBody } = require_body2();
-    var { Headers, fill: fillHeaders, HeadersList } = require_headers2();
+    var { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body2();
+    var { Headers, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers2();
     var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
     var util = require_util9();
+    var nodeUtil = require("node:util");
     var {
       isValidHTTPToken,
       sameOrigin,
-      normalizeMethod,
-      makePolicyContainer,
-      normalizeMethodRecord
+      environmentSettingsObject
     } = require_util10();
     var {
       forbiddenMethodsSet,
@@ -33355,43 +33807,61 @@ var require_request4 = __commonJS({
       requestCredentials,
       requestCache,
       requestDuplex
-    } = require_constants7();
-    var { kEnumerableProperty } = util;
-    var { kHeaders, kSignal, kState, kGuard, kRealm } = require_symbols7();
+    } = require_constants8();
+    var { kEnumerableProperty, normalizedMethodRecordsBase, normalizedMethodRecords } = util;
+    var { kHeaders, kSignal, kState, kDispatcher } = require_symbols7();
     var { webidl } = require_webidl2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events");
-    var TransformStream2 = globalThis.TransformStream;
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    var assert = require("node:assert");
+    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("node:events");
     var kAbortController = /* @__PURE__ */ 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;
         }
-        webidl.argumentLengthCheck(arguments, 1, { header: "Request constructor" });
-        input = webidl.converters.RequestInfo(input);
-        init = webidl.converters.RequestInit(init);
-        this[kRealm] = {
-          settingsObject: {
-            baseUrl: getGlobalOrigin(),
-            get origin() {
-              return this.baseUrl?.origin;
-            },
-            policyContainer: makePolicyContainer()
-          }
-        };
+        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 = this[kRealm].settingsObject.baseUrl;
+        const baseUrl = environmentSettingsObject.settingsObject.baseUrl;
         let signal = null;
         if (typeof input === "string") {
+          this[kDispatcher] = init.dispatcher;
           let parsedURL;
           try {
             parsedURL = new URL(input, baseUrl);
@@ -33406,11 +33876,12 @@ var require_request4 = __commonJS({
           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 = this[kRealm].settingsObject.origin;
+        const origin = environmentSettingsObject.settingsObject.origin;
         let window2 = "client";
         if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
           window2 = request2.window;
@@ -33432,7 +33903,7 @@ var require_request4 = __commonJS({
           // unsafe-request flag Set.
           unsafeRequest: request2.unsafeRequest,
           // client This’s relevant settings object.
-          client: this[kRealm].settingsObject,
+          client: environmentSettingsObject.settingsObject,
           // window window.
           window: window2,
           // priority request’s priority.
@@ -33488,7 +33959,7 @@ var require_request4 = __commonJS({
             } catch (err) {
               throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err });
             }
-            if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, this[kRealm].settingsObject.baseUrl)) {
+            if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, environmentSettingsObject.settingsObject.baseUrl)) {
               request2.referrer = "client";
             } else {
               request2.referrer = parsedReferrer;
@@ -33535,14 +34006,26 @@ var require_request4 = __commonJS({
         }
         if (init.method !== void 0) {
           let method = init.method;
-          if (!isValidHTTPToken(method)) {
-            throw new TypeError(`'${method}' is not a valid HTTP 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 (forbiddenMethodsSet.has(method.toUpperCase())) {
-            throw new TypeError(`'${method}' HTTP method is unsupported.`);
+          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;
           }
-          method = normalizeMethodRecord[method] ?? normalizeMethod(method);
-          request2.method = method;
         }
         if (init.signal !== void 0) {
           signal = init.signal;
@@ -33550,7 +34033,6 @@ var require_request4 = __commonJS({
         this[kState] = request2;
         const ac = new AbortController();
         this[kSignal] = ac.signal;
-        this[kSignal][kRealm] = this[kRealm];
         if (signal != null) {
           if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") {
             throw new TypeError(
@@ -33562,43 +34044,37 @@ var require_request4 = __commonJS({
           } else {
             this[kAbortController] = ac;
             const acRef = new WeakRef(ac);
-            const abort = function() {
-              const ac2 = acRef.deref();
-              if (ac2 !== void 0) {
-                ac2.abort(this.reason);
-              }
-            };
+            const abort = buildAbort(acRef);
             try {
               if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) {
-                setMaxListeners(100, signal);
+                setMaxListeners(1500, signal);
               } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) {
-                setMaxListeners(100, signal);
+                setMaxListeners(1500, signal);
               }
             } catch {
             }
             util.addAbortListener(signal, abort);
-            requestFinalizer.register(ac, { signal, abort });
+            requestFinalizer.register(ac, { signal, abort }, abort);
           }
         }
         this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kHeadersList] = request2.headersList;
-        this[kHeaders][kGuard] = "request";
-        this[kHeaders][kRealm] = this[kRealm];
+        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.`
             );
           }
-          this[kHeaders][kGuard] = "request-no-cors";
+          setHeadersGuard(this[kHeaders], "request-no-cors");
         }
         if (initHasKey) {
-          const headersList = this[kHeaders][kHeadersList];
+          const headersList = getHeadersList(this[kHeaders]);
           const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList);
           headersList.clear();
           if (headers instanceof HeadersList) {
-            for (const [key, val] of headers) {
-              headersList.append(key, val);
+            for (const { name, value } of headers.rawValues()) {
+              headersList.append(name, value, false);
             }
             headersList.cookies = headers.cookies;
           } else {
@@ -33616,7 +34092,7 @@ var require_request4 = __commonJS({
             request2.keepalive
           );
           initBody = extractedBody;
-          if (contentType && !this[kHeaders][kHeadersList].contains("content-type")) {
+          if (contentType && !getHeadersList(this[kHeaders]).contains("content-type", true)) {
             this[kHeaders].append("content-type", contentType);
           }
         }
@@ -33634,15 +34110,12 @@ var require_request4 = __commonJS({
         }
         let finalBody = inputOrInitBody;
         if (initBody == null && inputBody != null) {
-          if (util.isDisturbed(inputBody.stream) || inputBody.stream.locked) {
+          if (bodyUnusable(input)) {
             throw new TypeError(
               "Cannot construct a Request with a Request object that has already been used."
             );
           }
-          if (!TransformStream2) {
-            TransformStream2 = require("stream/web").TransformStream;
-          }
-          const identityTransform = new TransformStream2();
+          const identityTransform = new TransformStream();
           inputBody.stream.pipeThrough(identityTransform);
           finalBody = {
             source: inputBody.source,
@@ -33745,7 +34218,7 @@ var require_request4 = __commonJS({
         return this[kState].reloadNavigation;
       }
       // Returns a boolean indicating whether or not request is for a history
-      // navigation (a.k.a. back-foward navigation).
+      // navigation (a.k.a. back-forward navigation).
       get isHistoryNavigation() {
         webidl.brandCheck(this, _Request);
         return this[kState].historyNavigation;
@@ -33772,83 +34245,112 @@ var require_request4 = __commonJS({
       // Returns a clone of request.
       clone() {
         webidl.brandCheck(this, _Request);
-        if (this.bodyUsed || this.body?.locked) {
+        if (bodyUnusable(this)) {
           throw new TypeError("unusable");
         }
         const clonedRequest = cloneRequest(this[kState]);
-        const clonedRequestObject = new _Request(kConstruct);
-        clonedRequestObject[kState] = clonedRequest;
-        clonedRequestObject[kRealm] = this[kRealm];
-        clonedRequestObject[kHeaders] = new Headers(kConstruct);
-        clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList;
-        clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm];
         const ac = new AbortController();
         if (this.signal.aborted) {
           ac.abort(this.signal.reason);
         } 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(
-            this.signal,
-            () => {
-              ac.abort(this.signal.reason);
-            }
+            ac.signal,
+            buildAbort(acRef)
           );
         }
-        clonedRequestObject[kSignal] = ac.signal;
-        return clonedRequestObject;
+        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) {
-      const request2 = {
-        method: "GET",
-        localURLsOnly: false,
-        unsafeRequest: false,
-        body: null,
-        client: null,
-        reservedClient: null,
-        replacesClientId: "",
-        window: "client",
-        keepalive: false,
-        serviceWorkers: "all",
-        initiator: "",
-        destination: "",
-        priority: null,
-        origin: "client",
-        policyContainer: "client",
-        referrer: "client",
-        referrerPolicy: "",
-        mode: "no-cors",
-        useCORSPreflightFlag: false,
-        credentials: "same-origin",
-        useCredentials: false,
-        cache: "default",
-        redirect: "follow",
-        integrity: "",
-        cryptoGraphicsNonceMetadata: "",
-        parserMetadata: "",
-        reloadNavigation: false,
-        historyNavigation: false,
-        userActivation: false,
-        taintedOrigin: false,
-        redirectCount: 0,
-        responseTainting: "basic",
-        preventNoCacheCacheControlHeaderModification: false,
-        done: false,
-        timingAllowFailed: false,
-        ...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()
       };
-      request2.url = request2.urlList[0];
-      return request2;
     }
     function cloneRequest(request2) {
       const newRequest = makeRequest({ ...request2, body: null });
       if (request2.body != null) {
-        newRequest.body = cloneBody(request2.body);
+        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,
@@ -33878,14 +34380,14 @@ var require_request4 = __commonJS({
     webidl.converters.Request = webidl.interfaceConverter(
       Request
     );
-    webidl.converters.RequestInfo = function(V) {
+    webidl.converters.RequestInfo = function(V, prefix, argument) {
       if (typeof V === "string") {
-        return webidl.converters.USVString(V);
+        return webidl.converters.USVString(V, prefix, argument);
       }
       if (V instanceof Request) {
-        return webidl.converters.Request(V);
+        return webidl.converters.Request(V, prefix, argument);
       }
-      return webidl.converters.USVString(V);
+      return webidl.converters.USVString(V, prefix, argument);
     };
     webidl.converters.AbortSignal = webidl.interfaceConverter(
       AbortSignal
@@ -33952,6 +34454,8 @@ var require_request4 = __commonJS({
         converter: webidl.nullableConverter(
           (signal) => webidl.converters.AbortSignal(
             signal,
+            "RequestInit",
+            "signal",
             { strict: false }
           )
         )
@@ -33964,26 +34468,31 @@ var require_request4 = __commonJS({
         key: "duplex",
         converter: webidl.converters.DOMString,
         allowedValues: requestDuplex
+      },
+      {
+        key: "dispatcher",
+        // undici specific option
+        converter: webidl.converters.any
       }
     ]);
-    module2.exports = { Request, makeRequest };
+    module2.exports = { Request, makeRequest, fromInnerRequest, cloneRequest };
   }
 });
 
-// node_modules/undici/lib/fetch/index.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js
 var require_fetch2 = __commonJS({
-  "node_modules/undici/lib/fetch/index.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js"(exports2, module2) {
     "use strict";
     var {
-      Response,
       makeNetworkError,
       makeAppropriateNetworkError,
       filterResponse,
-      makeResponse
+      makeResponse,
+      fromInnerResponse
     } = require_response2();
-    var { Headers } = require_headers2();
-    var { Request, makeRequest } = require_request4();
-    var zlib3 = require("zlib");
+    var { HeadersList } = require_headers2();
+    var { Request, cloneRequest } = require_request4();
+    var zlib3 = require("node:zlib");
     var {
       bytesMatch,
       makePolicyContainer,
@@ -34012,31 +34521,33 @@ var require_fetch2 = __commonJS({
       isomorphicEncode,
       urlIsLocal,
       urlIsHttpHttpsScheme,
-      urlHasHttpsScheme
+      urlHasHttpsScheme,
+      clampAndCoarsenConnectionTimingInfo,
+      simpleRangeHeaderValue,
+      buildContentRange,
+      createInflate,
+      extractMimeType
     } = require_util10();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
-    var assert = require("assert");
-    var { safelyExtractBody } = require_body2();
+    var { kState, kDispatcher } = require_symbols7();
+    var assert = require("node:assert");
+    var { safelyExtractBody, extractBody } = require_body2();
     var {
       redirectStatusSet,
       nullBodyStatus,
       safeMethodsSet,
       requestBodyHeader,
-      subresourceSet,
-      DOMException: DOMException2
-    } = require_constants7();
-    var { kHeadersList } = require_symbols6();
-    var EE = require("events");
-    var { Readable: Readable2, pipeline } = require("stream");
-    var { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require_util9();
-    var { dataURLProcessor, serializeAMimeType } = require_dataURL();
-    var { TransformStream: TransformStream2 } = require("stream/web");
+      subresourceSet
+    } = require_constants8();
+    var EE = require("node:events");
+    var { Readable: Readable2, pipeline, finished } = require("node:stream");
+    var { addAbortListener, isErrored, isReadable, bufferToLowerCasedHeaderName } = require_util9();
+    var { dataURLProcessor, serializeAMimeType, minimizeSupportedMimeType } = require_data_url2();
     var { getGlobalDispatcher } = require_global4();
     var { webidl } = require_webidl2();
-    var { STATUS_CODES } = require("http");
+    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 ReadableStream2 = globalThis.ReadableStream;
     var Fetch = class extends EE {
       constructor(dispatcher) {
         super();
@@ -34044,7 +34555,6 @@ var require_fetch2 = __commonJS({
         this.connection = null;
         this.dump = false;
         this.state = "ongoing";
-        this.setMaxListeners(21);
       }
       terminate(reason) {
         if (this.state !== "ongoing") {
@@ -34061,16 +34571,19 @@ var require_fetch2 = __commonJS({
         }
         this.state = "aborted";
         if (!error3) {
-          error3 = new DOMException2("The operation was aborted.", "AbortError");
+          error3 = new DOMException("The operation was aborted.", "AbortError");
         }
         this.serializedAbortReason = error3;
         this.connection?.destroy(error3);
         this.emit("terminated", error3);
       }
     };
-    function fetch(input, init = {}) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "globalThis.fetch" });
-      const p = createDeferredPromise();
+    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);
@@ -34088,7 +34601,6 @@ var require_fetch2 = __commonJS({
         request2.serviceWorkers = "none";
       }
       let responseObject = null;
-      const relevantRealm = null;
       let locallyAborted = false;
       let controller = null;
       addAbortListener(
@@ -34097,37 +34609,31 @@ var require_fetch2 = __commonJS({
           locallyAborted = true;
           assert(controller != null);
           controller.abort(requestObject.signal.reason);
-          abortFetch(p, request2, responseObject, requestObject.signal.reason);
+          const realResponse = responseObject?.deref();
+          abortFetch(p, request2, realResponse, requestObject.signal.reason);
         }
       );
-      const handleFetchDone = (response) => finalizeAndReportTiming(response, "fetch");
       const processResponse = (response) => {
         if (locallyAborted) {
-          return Promise.resolve();
+          return;
         }
         if (response.aborted) {
           abortFetch(p, request2, responseObject, controller.serializedAbortReason);
-          return Promise.resolve();
+          return;
         }
         if (response.type === "error") {
-          p.reject(
-            Object.assign(new TypeError("fetch failed"), { cause: response.error })
-          );
-          return Promise.resolve();
+          p.reject(new TypeError("fetch failed", { cause: response.error }));
+          return;
         }
-        responseObject = new Response();
-        responseObject[kState] = response;
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = response.headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        p.resolve(responseObject);
+        responseObject = new WeakRef(fromInnerResponse(response, "immutable"));
+        p.resolve(responseObject.deref());
+        p = null;
       };
       controller = fetching({
         request: request2,
         processResponseEndOfBody: handleFetchDone,
         processResponse,
-        dispatcher: init.dispatcher ?? getGlobalDispatcher()
+        dispatcher: requestObject[kDispatcher]
         // undici
       });
       return p.promise;
@@ -34158,22 +34664,17 @@ var require_fetch2 = __commonJS({
       response.timingInfo = timingInfo;
       markResourceTiming(
         timingInfo,
-        originalURL,
+        originalURL.href,
         initiatorType,
         globalThis,
         cacheState
       );
     }
-    function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) {
-      if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) {
-        performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis2, cacheState);
-      }
-    }
+    var markResourceTiming = performance.markResourceTiming;
     function abortFetch(p, request2, responseObject, error3) {
-      if (!error3) {
-        error3 = new DOMException2("The operation was aborted.", "AbortError");
+      if (p) {
+        p.reject(error3);
       }
-      p.reject(error3);
       if (request2.body != null && isReadable(request2.body?.stream)) {
         request2.body.stream.cancel(error3).catch((err) => {
           if (err.code === "ERR_INVALID_STATE") {
@@ -34203,18 +34704,19 @@ var require_fetch2 = __commonJS({
       processResponseEndOfBody,
       processResponseConsumeBody,
       useParallelQueue = false,
-      dispatcher
+      dispatcher = getGlobalDispatcher()
       // undici
     }) {
+      assert(dispatcher);
       let taskDestination = null;
       let crossOriginIsolatedCapability = false;
       if (request2.client != null) {
         taskDestination = request2.client.globalObject;
         crossOriginIsolatedCapability = request2.client.crossOriginIsolatedCapability;
       }
-      const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
+      const currentTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
       const timingInfo = createOpaqueTimingInfo({
-        startTime: currenTime
+        startTime: currentTime
       });
       const fetchParams = {
         controller: new Fetch(dispatcher),
@@ -34233,7 +34735,7 @@ var require_fetch2 = __commonJS({
         request2.window = request2.client?.globalObject?.constructor?.name === "Window" ? request2.client : "no-window";
       }
       if (request2.origin === "client") {
-        request2.origin = request2.client?.origin;
+        request2.origin = request2.client.origin;
       }
       if (request2.policyContainer === "client") {
         if (request2.client != null) {
@@ -34244,12 +34746,12 @@ var require_fetch2 = __commonJS({
           request2.policyContainer = makePolicyContainer();
         }
       }
-      if (!request2.headersList.contains("accept")) {
+      if (!request2.headersList.contains("accept", true)) {
         const value = "*/*";
-        request2.headersList.append("accept", value);
+        request2.headersList.append("accept", value, true);
       }
-      if (!request2.headersList.contains("accept-language")) {
-        request2.headersList.append("accept-language", "*");
+      if (!request2.headersList.contains("accept-language", true)) {
+        request2.headersList.append("accept-language", "*", true);
       }
       if (request2.priority === null) {
       }
@@ -34331,7 +34833,7 @@ var require_fetch2 = __commonJS({
       if (!request2.timingAllowFailed) {
         response.timingAllowPassed = true;
       }
-      if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request2.headers.contains("range")) {
+      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))) {
@@ -34369,28 +34871,56 @@ var require_fetch2 = __commonJS({
         }
         case "blob:": {
           if (!resolveObjectURL) {
-            resolveObjectURL = require("buffer").resolveObjectURL;
+            resolveObjectURL = require("node:buffer").resolveObjectURL;
           }
           const blobURLEntry = requestCurrentURL(request2);
           if (blobURLEntry.search.length !== 0) {
             return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));
           }
-          const blobURLEntryObject = resolveObjectURL(blobURLEntry.toString());
-          if (request2.method !== "GET" || !isBlobLike(blobURLEntryObject)) {
+          const blob = resolveObjectURL(blobURLEntry.toString());
+          if (request2.method !== "GET" || !isBlobLike(blob)) {
             return Promise.resolve(makeNetworkError("invalid method"));
           }
-          const bodyWithType = safelyExtractBody(blobURLEntryObject);
-          const body = bodyWithType[0];
-          const length = isomorphicEncode(`${body.length}`);
-          const type2 = bodyWithType[1] ?? "";
-          const response = makeResponse({
-            statusText: "OK",
-            headersList: [
-              ["content-length", { name: "Content-Length", value: length }],
-              ["content-type", { name: "Content-Type", value: type2 }]
-            ]
-          });
-          response.body = body;
+          const response = makeResponse();
+          const fullLength = blob.size;
+          const serializedFullLength = isomorphicEncode(`${fullLength}`);
+          const type2 = 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", type2, 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, type2);
+            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", type2, true);
+            response.headersList.set("content-range", contentRange, true);
+          }
           return Promise.resolve(response);
         }
         case "data:": {
@@ -34427,52 +34957,59 @@ var require_fetch2 = __commonJS({
       }
     }
     function fetchFinale(fetchParams, response) {
-      if (response.type === "error") {
-        response.urlList = [fetchParams.request.urlList[0]];
-        response.timingInfo = createOpaqueTimingInfo({
-          startTime: fetchParams.timingInfo.startTime
-        });
-      }
+      let timingInfo = fetchParams.timingInfo;
       const processResponseEndOfBody = () => {
-        fetchParams.request.done = true;
-        if (fetchParams.processResponseEndOfBody != null) {
-          queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
+        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));
+        queueMicrotask(() => {
+          fetchParams.processResponse(response);
+          fetchParams.processResponse = null;
+        });
       }
-      if (response.body == null) {
+      const internalResponse = response.type === "error" ? response : response.internalResponse ?? response;
+      if (internalResponse.body == null) {
         processResponseEndOfBody();
       } else {
-        const identityTransformAlgorithm = (chunk, controller) => {
-          controller.enqueue(chunk);
-        };
-        const transformStream = new TransformStream2({
-          start() {
-          },
-          transform: identityTransformAlgorithm,
-          flush: processResponseEndOfBody
-        }, {
-          size() {
-            return 1;
-          }
-        }, {
-          size() {
-            return 1;
-          }
+        finished(internalResponse.body.stream, () => {
+          processResponseEndOfBody();
         });
-        response.body = { stream: response.body.stream.pipeThrough(transformStream) };
-      }
-      if (fetchParams.processResponseConsumeBody != null) {
-        const processBody = (nullOrBytes) => fetchParams.processResponseConsumeBody(response, nullOrBytes);
-        const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure);
-        if (response.body == null) {
-          queueMicrotask(() => processBody(null));
-        } else {
-          return fullyReadBody(response.body, processBody, processBodyError);
-        }
-        return Promise.resolve();
       }
     }
     async function httpFetch(fetchParams) {
@@ -34504,7 +35041,7 @@ var require_fetch2 = __commonJS({
       }
       if (redirectStatusSet.has(actualResponse.status)) {
         if (request2.redirect !== "manual") {
-          fetchParams.controller.connection.destroy();
+          fetchParams.controller.connection.destroy(void 0, false);
         }
         if (request2.redirect === "error") {
           response = makeNetworkError("unexpected redirect");
@@ -34560,10 +35097,10 @@ var require_fetch2 = __commonJS({
         }
       }
       if (!sameOrigin(requestCurrentURL(request2), locationURL)) {
-        request2.headersList.delete("authorization");
+        request2.headersList.delete("authorization", true);
         request2.headersList.delete("proxy-authorization", true);
-        request2.headersList.delete("cookie");
-        request2.headersList.delete("host");
+        request2.headersList.delete("cookie", true);
+        request2.headersList.delete("host", true);
       }
       if (request2.body != null) {
         assert(request2.body.source != null);
@@ -34589,7 +35126,7 @@ var require_fetch2 = __commonJS({
         httpFetchParams = fetchParams;
         httpRequest = request2;
       } else {
-        httpRequest = makeRequest(request2);
+        httpRequest = cloneRequest(request2);
         httpFetchParams = { ...fetchParams };
         httpFetchParams.request = httpRequest;
       }
@@ -34603,52 +35140,52 @@ var require_fetch2 = __commonJS({
         contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
       }
       if (contentLengthHeaderValue != null) {
-        httpRequest.headersList.append("content-length", contentLengthHeaderValue);
+        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));
+        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href), true);
       }
       appendRequestOriginHeader(httpRequest);
       appendFetchMetadata(httpRequest);
-      if (!httpRequest.headersList.contains("user-agent")) {
-        httpRequest.headersList.append("user-agent", typeof esbuildDetection === "undefined" ? "undici" : "node");
+      if (!httpRequest.headersList.contains("user-agent", true)) {
+        httpRequest.headersList.append("user-agent", defaultUserAgent);
       }
-      if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since") || httpRequest.headersList.contains("if-none-match") || httpRequest.headersList.contains("if-unmodified-since") || httpRequest.headersList.contains("if-match") || httpRequest.headersList.contains("if-range"))) {
+      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")) {
-        httpRequest.headersList.append("cache-control", "max-age=0");
+      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")) {
-          httpRequest.headersList.append("pragma", "no-cache");
+        if (!httpRequest.headersList.contains("pragma", true)) {
+          httpRequest.headersList.append("pragma", "no-cache", true);
         }
-        if (!httpRequest.headersList.contains("cache-control")) {
-          httpRequest.headersList.append("cache-control", "no-cache");
+        if (!httpRequest.headersList.contains("cache-control", true)) {
+          httpRequest.headersList.append("cache-control", "no-cache", true);
         }
       }
-      if (httpRequest.headersList.contains("range")) {
-        httpRequest.headersList.append("accept-encoding", "identity");
+      if (httpRequest.headersList.contains("range", true)) {
+        httpRequest.headersList.append("accept-encoding", "identity", true);
       }
-      if (!httpRequest.headersList.contains("accept-encoding")) {
+      if (!httpRequest.headersList.contains("accept-encoding", true)) {
         if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
-          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate");
+          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate", true);
         } else {
-          httpRequest.headersList.append("accept-encoding", "gzip, deflate");
+          httpRequest.headersList.append("accept-encoding", "gzip, deflate", true);
         }
       }
-      httpRequest.headersList.delete("host");
+      httpRequest.headersList.delete("host", true);
       if (includeCredentials) {
       }
       if (httpCache == null) {
         httpRequest.cache = "no-store";
       }
-      if (httpRequest.mode !== "no-store" && httpRequest.mode !== "reload") {
+      if (httpRequest.cache !== "no-store" && httpRequest.cache !== "reload") {
       }
       if (response == null) {
-        if (httpRequest.mode === "only-if-cached") {
+        if (httpRequest.cache === "only-if-cached") {
           return makeNetworkError("only if cached");
         }
         const forwardResponse = await httpNetworkFetch(
@@ -34665,7 +35202,7 @@ var require_fetch2 = __commonJS({
         }
       }
       response.urlList = [...httpRequest.urlList];
-      if (httpRequest.headersList.contains("range")) {
+      if (httpRequest.headersList.contains("range", true)) {
         response.rangeRequested = true;
       }
       response.requestIncludesCredentials = includeCredentials;
@@ -34703,10 +35240,12 @@ var require_fetch2 = __commonJS({
       fetchParams.controller.connection = {
         abort: null,
         destroyed: false,
-        destroy(err) {
+        destroy(err, abort = true) {
           if (!this.destroyed) {
             this.destroyed = true;
-            this.abort?.(err ?? new DOMException2("The operation was aborted.", "AbortError"));
+            if (abort) {
+              this.abort?.(err ?? new DOMException("The operation was aborted.", "AbortError"));
+            }
           }
         }
       };
@@ -34777,16 +35316,15 @@ var require_fetch2 = __commonJS({
         }
         return makeNetworkError(err);
       }
-      const pullAlgorithm = () => {
-        fetchParams.controller.resume();
+      const pullAlgorithm = async () => {
+        await fetchParams.controller.resume();
       };
       const cancelAlgorithm = (reason) => {
-        fetchParams.controller.abort(reason);
+        if (!isCancelled(fetchParams)) {
+          fetchParams.controller.abort(reason);
+        }
       };
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      const stream2 = new ReadableStream2(
+      const stream2 = new ReadableStream(
         {
           async start(controller) {
             fetchParams.controller.controller = controller;
@@ -34796,16 +35334,12 @@ var require_fetch2 = __commonJS({
           },
           async cancel(reason) {
             await cancelAlgorithm(reason);
-          }
-        },
-        {
-          highWaterMark: 0,
-          size() {
-            return 1;
-          }
+          },
+          type: "bytes"
         }
       );
-      response.body = { stream: stream2 };
+      response.body = { stream: stream2, source: null, length: null };
+      fetchParams.controller.onAborted = onAborted;
       fetchParams.controller.on("terminated", onAborted);
       fetchParams.controller.resume = async () => {
         while (true) {
@@ -34835,12 +35369,15 @@ var require_fetch2 = __commonJS({
             fetchParams.controller.terminate(bytes);
             return;
           }
-          fetchParams.controller.controller.enqueue(new Uint8Array(bytes));
+          const buffer = new Uint8Array(bytes);
+          if (buffer.byteLength) {
+            fetchParams.controller.controller.enqueue(buffer);
+          }
           if (isErrored(stream2)) {
             fetchParams.controller.terminate();
             return;
           }
-          if (!fetchParams.controller.controller.desiredSize) {
+          if (fetchParams.controller.controller.desiredSize <= 0) {
             return;
           }
         }
@@ -34863,7 +35400,7 @@ var require_fetch2 = __commonJS({
         fetchParams.controller.connection.destroy();
       }
       return response;
-      async function dispatch({ body }) {
+      function dispatch({ body }) {
         const url2 = requestCurrentURL(request2);
         const agent = fetchParams.controller.dispatcher;
         return new Promise((resolve8, reject) => agent.dispatch(
@@ -34871,7 +35408,7 @@ var require_fetch2 = __commonJS({
             path: url2.pathname + url2.search,
             origin: url2.origin,
             method: request2.method,
-            body: fetchParams.controller.dispatcher.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
+            body: agent.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
             headers: request2.headersList.entries,
             maxRedirections: 0,
             upgrade: request2.mode === "websocket" ? "websocket" : void 0
@@ -34881,48 +35418,41 @@ var require_fetch2 = __commonJS({
             abort: null,
             onConnect(abort) {
               const { connection } = fetchParams.controller;
+              timingInfo.finalConnectionTimingInfo = clampAndCoarsenConnectionTimingInfo(void 0, timingInfo.postRedirectStartTime, fetchParams.crossOriginIsolatedCapability);
               if (connection.destroyed) {
-                abort(new DOMException2("The operation was aborted.", "AbortError"));
+                abort(new DOMException("The operation was aborted.", "AbortError"));
               } else {
                 fetchParams.controller.on("terminated", abort);
                 this.abort = connection.abort = abort;
               }
+              timingInfo.finalNetworkRequestStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
             },
-            onHeaders(status, headersList, resume, statusText) {
+            onResponseStarted() {
+              timingInfo.finalNetworkResponseStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+            },
+            onHeaders(status, rawHeaders, resume, statusText) {
               if (status < 200) {
                 return;
               }
-              let codings = [];
               let location = "";
-              const headers = new Headers();
-              if (Array.isArray(headersList)) {
-                for (let n = 0; n < headersList.length; n += 2) {
-                  const key = headersList[n + 0].toString("latin1");
-                  const val = headersList[n + 1].toString("latin1");
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim());
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
-              } else {
-                const keys = Object.keys(headersList);
-                for (const key of keys) {
-                  const val = headersList[key];
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim()).reverse();
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
+              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 Readable2({ read: resume });
               const decoders = [];
-              const willFollow = request2.redirect === "follow" && location && redirectStatusSet.has(status);
+              const willFollow = location && request2.redirect === "follow" && redirectStatusSet.has(status);
               if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
-                for (const coding of codings) {
+                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(zlib3.createGunzip({
                       // Be less strict when decoding compressed responses, since sometimes
@@ -34933,22 +35463,31 @@ var require_fetch2 = __commonJS({
                       finishFlush: zlib3.constants.Z_SYNC_FLUSH
                     }));
                   } else if (coding === "deflate") {
-                    decoders.push(zlib3.createInflate());
+                    decoders.push(createInflate({
+                      flush: zlib3.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib3.constants.Z_SYNC_FLUSH
+                    }));
                   } else if (coding === "br") {
-                    decoders.push(zlib3.createBrotliDecompress());
+                    decoders.push(zlib3.createBrotliDecompress({
+                      flush: zlib3.constants.BROTLI_OPERATION_FLUSH,
+                      finishFlush: zlib3.constants.BROTLI_OPERATION_FLUSH
+                    }));
                   } else {
                     decoders.length = 0;
                     break;
                   }
                 }
               }
+              const onError = this.onError.bind(this);
               resolve8({
                 status,
                 statusText,
-                headersList: headers[kHeadersList],
-                body: decoders.length ? pipeline(this.body, ...decoders, () => {
-                }) : this.body.on("error", () => {
-                })
+                headersList,
+                body: decoders.length ? pipeline(this.body, ...decoders, (err) => {
+                  if (err) {
+                    this.onError(err);
+                  }
+                }).on("error", onError) : this.body.on("error", onError)
               });
               return true;
             },
@@ -34964,6 +35503,9 @@ var require_fetch2 = __commonJS({
               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);
             },
@@ -34975,20 +35517,18 @@ var require_fetch2 = __commonJS({
               fetchParams.controller.terminate(error3);
               reject(error3);
             },
-            onUpgrade(status, headersList, socket) {
+            onUpgrade(status, rawHeaders, socket) {
               if (status !== 101) {
                 return;
               }
-              const headers = new Headers();
-              for (let n = 0; n < headersList.length; n += 2) {
-                const key = headersList[n + 0].toString("latin1");
-                const val = headersList[n + 1].toString("latin1");
-                headers[kHeadersList].append(key, val);
+              const headersList = new HeadersList();
+              for (let i = 0; i < rawHeaders.length; i += 2) {
+                headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true);
               }
               resolve8({
                 status,
                 statusText: STATUS_CODES[status],
-                headersList: headers[kHeadersList],
+                headersList,
                 socket
               });
               return true;
@@ -35006,9 +35546,9 @@ var require_fetch2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/fileapi/symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js
 var require_symbols8 = __commonJS({
-  "node_modules/undici/lib/fileapi/symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js"(exports2, module2) {
     "use strict";
     module2.exports = {
       kState: /* @__PURE__ */ Symbol("FileReader state"),
@@ -35021,15 +35561,15 @@ var require_symbols8 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/fileapi/progressevent.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js
 var require_progressevent2 = __commonJS({
-  "node_modules/undici/lib/fileapi/progressevent.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js"(exports2, module2) {
     "use strict";
     var { webidl } = require_webidl2();
     var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
     var ProgressEvent = class _ProgressEvent extends Event {
       constructor(type2, eventInitDict = {}) {
-        type2 = webidl.converters.DOMString(type2);
+        type2 = webidl.converters.DOMString(type2, "ProgressEvent constructor", "type");
         eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
         super(type2, eventInitDict);
         this[kState] = {
@@ -35055,32 +35595,32 @@ var require_progressevent2 = __commonJS({
       {
         key: "lengthComputable",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "loaded",
         converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
+        defaultValue: () => 0
       },
       {
         key: "total",
         converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
+        defaultValue: () => 0
       },
       {
         key: "bubbles",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "cancelable",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "composed",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       }
     ]);
     module2.exports = {
@@ -35089,9 +35629,9 @@ var require_progressevent2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/fileapi/encoding.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js
 var require_encoding2 = __commonJS({
-  "node_modules/undici/lib/fileapi/encoding.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js"(exports2, module2) {
     "use strict";
     function getEncoding(label) {
       if (!label) {
@@ -35375,9 +35915,9 @@ var require_encoding2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/fileapi/util.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js
 var require_util12 = __commonJS({
-  "node_modules/undici/lib/fileapi/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js"(exports2, module2) {
     "use strict";
     var {
       kState,
@@ -35388,11 +35928,10 @@ var require_util12 = __commonJS({
     } = require_symbols8();
     var { ProgressEvent } = require_progressevent2();
     var { getEncoding } = require_encoding2();
-    var { DOMException: DOMException2 } = require_constants7();
-    var { serializeAMimeType, parseMIMEType } = require_dataURL();
-    var { types } = require("util");
+    var { serializeAMimeType, parseMIMEType } = require_data_url2();
+    var { types } = require("node:util");
     var { StringDecoder } = require("string_decoder");
-    var { btoa: btoa2 } = require("buffer");
+    var { btoa: btoa2 } = require("node:buffer");
     var staticPropertyDescriptors = {
       enumerable: true,
       writable: false,
@@ -35400,7 +35939,7 @@ var require_util12 = __commonJS({
     };
     function readOperation(fr, blob, type2, encodingName) {
       if (fr[kState] === "loading") {
-        throw new DOMException2("Invalid state", "InvalidStateError");
+        throw new DOMException("Invalid state", "InvalidStateError");
       }
       fr[kState] = "loading";
       fr[kResult] = null;
@@ -35561,9 +36100,9 @@ var require_util12 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/fileapi/filereader.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js
 var require_filereader2 = __commonJS({
-  "node_modules/undici/lib/fileapi/filereader.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js"(exports2, module2) {
     "use strict";
     var {
       staticPropertyDescriptors,
@@ -35600,7 +36139,7 @@ var require_filereader2 = __commonJS({
        */
       readAsArrayBuffer(blob) {
         webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsArrayBuffer" });
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsArrayBuffer");
         blob = webidl.converters.Blob(blob, { strict: false });
         readOperation(this, blob, "ArrayBuffer");
       }
@@ -35610,7 +36149,7 @@ var require_filereader2 = __commonJS({
        */
       readAsBinaryString(blob) {
         webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsBinaryString" });
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsBinaryString");
         blob = webidl.converters.Blob(blob, { strict: false });
         readOperation(this, blob, "BinaryString");
       }
@@ -35621,10 +36160,10 @@ var require_filereader2 = __commonJS({
        */
       readAsText(blob, encoding = void 0) {
         webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsText" });
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsText");
         blob = webidl.converters.Blob(blob, { strict: false });
         if (encoding !== void 0) {
-          encoding = webidl.converters.DOMString(encoding);
+          encoding = webidl.converters.DOMString(encoding, "FileReader.readAsText", "encoding");
         }
         readOperation(this, blob, "Text", encoding);
       }
@@ -35634,7 +36173,7 @@ var require_filereader2 = __commonJS({
        */
       readAsDataURL(blob) {
         webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsDataURL" });
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsDataURL");
         blob = webidl.converters.Blob(blob, { strict: false });
         readOperation(this, blob, "DataURL");
       }
@@ -35820,9 +36359,9 @@ var require_filereader2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/cache/symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/symbols.js
 var require_symbols9 = __commonJS({
-  "node_modules/undici/lib/cache/symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/symbols.js"(exports2, module2) {
     "use strict";
     module2.exports = {
       kConstruct: require_symbols6().kConstruct
@@ -35830,55 +36369,50 @@ var require_symbols9 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/cache/util.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js
 var require_util13 = __commonJS({
-  "node_modules/undici/lib/cache/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { URLSerializer } = require_dataURL();
+    var assert = require("node:assert");
+    var { URLSerializer } = require_data_url2();
     var { isValidHeaderName } = require_util10();
     function urlEquals(A, B, excludeFragment = false) {
       const serializedA = URLSerializer(A, excludeFragment);
       const serializedB = URLSerializer(B, excludeFragment);
       return serializedA === serializedB;
     }
-    function fieldValues(header) {
+    function getFieldValues(header) {
       assert(header !== null);
       const values = [];
       for (let value of header.split(",")) {
         value = value.trim();
-        if (!value.length) {
-          continue;
-        } else if (!isValidHeaderName(value)) {
-          continue;
+        if (isValidHeaderName(value)) {
+          values.push(value);
         }
-        values.push(value);
       }
       return values;
     }
     module2.exports = {
       urlEquals,
-      fieldValues
+      getFieldValues
     };
   }
 });
 
-// node_modules/undici/lib/cache/cache.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js
 var require_cache2 = __commonJS({
-  "node_modules/undici/lib/cache/cache.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js"(exports2, module2) {
     "use strict";
     var { kConstruct } = require_symbols9();
-    var { urlEquals, fieldValues: getFieldValues } = require_util13();
+    var { urlEquals, getFieldValues } = require_util13();
     var { kEnumerableProperty, isDisturbed } = require_util9();
-    var { kHeadersList } = require_symbols6();
     var { webidl } = require_webidl2();
-    var { Response, cloneResponse } = require_response2();
-    var { Request } = require_request4();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
+    var { Response, cloneResponse, fromInnerResponse } = require_response2();
+    var { Request, fromInnerRequest } = require_request4();
+    var { kState } = require_symbols7();
     var { fetching } = require_fetch2();
     var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util10();
-    var assert = require("assert");
-    var { getGlobalDispatcher } = require_global4();
+    var assert = require("node:assert");
     var Cache = class _Cache {
       /**
        * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list
@@ -35889,14 +36423,16 @@ var require_cache2 = __commonJS({
         if (arguments[0] !== kConstruct) {
           webidl.illegalConstructor();
         }
+        webidl.util.markAsUncloneable(this);
         this.#relevantRequestResponseList = arguments[1];
       }
       async match(request2, options = {}) {
         webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.match" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        const p = await this.matchAll(request2, options);
+        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;
         }
@@ -35904,64 +36440,42 @@ var require_cache2 = __commonJS({
       }
       async matchAll(request2 = void 0, options = {}) {
         webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(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 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 = new Response(response.body?.source ?? null);
-          const body = responseObject[kState].body;
-          responseObject[kState] = response;
-          responseObject[kState].body = body;
-          responseObject[kHeaders][kHeadersList] = response.headersList;
-          responseObject[kHeaders][kGuard] = "immutable";
-          responseList.push(responseObject);
-        }
-        return Object.freeze(responseList);
+        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);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.add" });
-        request2 = webidl.converters.RequestInfo(request2);
+        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);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.addAll" });
-        requests = webidl.converters["sequence"](requests);
+        const prefix = "Cache.addAll";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
         const responsePromises = [];
         const requestList = [];
-        for (const request2 of requests) {
+        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: "Cache.addAll",
+              header: prefix,
               message: "Expected http/s scheme when method is not GET."
             });
           }
@@ -35971,7 +36485,7 @@ var require_cache2 = __commonJS({
           const r = new Request(request2)[kState];
           if (!urlIsHttpHttpsScheme(r.url)) {
             throw webidl.errors.exception({
-              header: "Cache.addAll",
+              header: prefix,
               message: "Expected http/s scheme."
             });
           }
@@ -35981,7 +36495,6 @@ var require_cache2 = __commonJS({
           const responsePromise = createDeferredPromise();
           fetchControllers.push(fetching({
             request: r,
-            dispatcher: getGlobalDispatcher(),
             processResponse(response) {
               if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) {
                 responsePromise.reject(webidl.errors.exception({
@@ -36048,9 +36561,10 @@ var require_cache2 = __commonJS({
       }
       async put(request2, response) {
         webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Cache.put" });
-        request2 = webidl.converters.RequestInfo(request2);
-        response = webidl.converters.Response(response);
+        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];
@@ -36059,14 +36573,14 @@ var require_cache2 = __commonJS({
         }
         if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") {
           throw webidl.errors.exception({
-            header: "Cache.put",
+            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: "Cache.put",
+            header: prefix,
             message: "Got 206 status"
           });
         }
@@ -36075,7 +36589,7 @@ var require_cache2 = __commonJS({
           for (const fieldValue of fieldValues) {
             if (fieldValue === "*") {
               throw webidl.errors.exception({
-                header: "Cache.put",
+                header: prefix,
                 message: "Got * vary field value"
               });
             }
@@ -36083,7 +36597,7 @@ var require_cache2 = __commonJS({
         }
         if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {
           throw webidl.errors.exception({
-            header: "Cache.put",
+            header: prefix,
             message: "Response body is locked or disturbed"
           });
         }
@@ -36128,9 +36642,10 @@ var require_cache2 = __commonJS({
       }
       async delete(request2, options = {}) {
         webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.delete" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
+        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];
@@ -36169,12 +36684,13 @@ var require_cache2 = __commonJS({
        * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys
        * @param {any} request
        * @param {import('../../types/cache').CacheQueryOptions} options
-       * @returns {readonly Request[]}
+       * @returns {Promise}
        */
       async keys(request2 = void 0, options = {}) {
         webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
+        const prefix = "Cache.keys";
+        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
         let r = null;
         if (request2 !== void 0) {
           if (request2 instanceof Request) {
@@ -36201,11 +36717,11 @@ var require_cache2 = __commonJS({
         queueMicrotask(() => {
           const requestList = [];
           for (const request3 of requests) {
-            const requestObject = new Request("https://a");
-            requestObject[kState] = request3;
-            requestObject[kHeaders][kHeadersList] = request3.headersList;
-            requestObject[kHeaders][kGuard] = "immutable";
-            requestObject[kRealm] = request3.client;
+            const requestObject = fromInnerRequest(
+              request3,
+              new AbortController().signal,
+              "immutable"
+            );
             requestList.push(requestObject);
           }
           promise.resolve(Object.freeze(requestList));
@@ -36346,6 +36862,39 @@ var require_cache2 = __commonJS({
         }
         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]: {
@@ -36364,17 +36913,17 @@ var require_cache2 = __commonJS({
       {
         key: "ignoreSearch",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "ignoreMethod",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "ignoreVary",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       }
     ];
     webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters);
@@ -36395,9 +36944,9 @@ var require_cache2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/cache/cachestorage.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js
 var require_cachestorage2 = __commonJS({
-  "node_modules/undici/lib/cache/cachestorage.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js"(exports2, module2) {
     "use strict";
     var { kConstruct } = require_symbols9();
     var { Cache } = require_cache2();
@@ -36413,10 +36962,11 @@ var require_cachestorage2 = __commonJS({
         if (arguments[0] !== kConstruct) {
           webidl.illegalConstructor();
         }
+        webidl.util.markAsUncloneable(this);
       }
       async match(request2, options = {}) {
         webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.match" });
+        webidl.argumentLengthCheck(arguments, 1, "CacheStorage.match");
         request2 = webidl.converters.RequestInfo(request2);
         options = webidl.converters.MultiCacheQueryOptions(options);
         if (options.cacheName != null) {
@@ -36442,8 +36992,9 @@ var require_cachestorage2 = __commonJS({
        */
       async has(cacheName) {
         webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.has" });
-        cacheName = webidl.converters.DOMString(cacheName);
+        const prefix = "CacheStorage.has";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
         return this.#caches.has(cacheName);
       }
       /**
@@ -36453,8 +37004,9 @@ var require_cachestorage2 = __commonJS({
        */
       async open(cacheName) {
         webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.open" });
-        cacheName = webidl.converters.DOMString(cacheName);
+        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);
@@ -36470,13 +37022,14 @@ var require_cachestorage2 = __commonJS({
        */
       async delete(cacheName) {
         webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.delete" });
-        cacheName = webidl.converters.DOMString(cacheName);
+        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 {string[]}
+       * @returns {Promise}
        */
       async keys() {
         webidl.brandCheck(this, _CacheStorage);
@@ -36501,9 +37054,9 @@ var require_cachestorage2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/cookies/constants.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/constants.js
 var require_constants9 = __commonJS({
-  "node_modules/undici/lib/cookies/constants.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/constants.js"(exports2, module2) {
     "use strict";
     var maxAttributeValueSize = 1024;
     var maxNameValuePairSize = 4096;
@@ -36514,42 +37067,73 @@ var require_constants9 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/cookies/util.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/util.js
 var require_util14 = __commonJS({
-  "node_modules/undici/lib/cookies/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/util.js"(exports2, module2) {
     "use strict";
     function isCTLExcludingHtab(value) {
-      if (value.length === 0) {
-        return false;
-      }
-      for (const char of value) {
-        const code = char.charCodeAt(0);
-        if (code >= 0 || code <= 8 || (code >= 10 || code <= 31) || code === 127) {
-          return false;
+      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 (const char of name) {
-        const code = char.charCodeAt(0);
-        if (code <= 32 || code > 127 || char === "(" || char === ")" || char === ">" || char === "<" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}") {
+      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) {
-      for (const char of value) {
-        const code = char.charCodeAt(0);
+      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 === 34 || code === 44 || code === 59 || code === 92 || code > 126) {
-          throw new Error("Invalid header value");
+        code > 126 || // non-ascii and DEL (127)
+        code === 34 || // "
+        code === 44 || // ,
+        code === 59 || // ;
+        code === 92) {
+          throw new Error("Invalid cookie value");
         }
       }
     }
     function validateCookiePath(path16) {
-      for (const char of path16) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || char === ";") {
+      for (let i = 0; i < path16.length; ++i) {
+        const code = path16.charCodeAt(i);
+        if (code < 32 || // exclude CTLs (0-31)
+        code === 127 || // DEL
+        code === 59) {
           throw new Error("Invalid cookie path");
         }
       }
@@ -36559,41 +37143,35 @@ var require_util14 = __commonJS({
         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((_2, i) => i.toString().padStart(2, "0"));
     function toIMFDate(date) {
       if (typeof date === "number") {
         date = new Date(date);
       }
-      const days = [
-        "Sun",
-        "Mon",
-        "Tue",
-        "Wed",
-        "Thu",
-        "Fri",
-        "Sat"
-      ];
-      const months = [
-        "Jan",
-        "Feb",
-        "Mar",
-        "Apr",
-        "May",
-        "Jun",
-        "Jul",
-        "Aug",
-        "Sep",
-        "Oct",
-        "Nov",
-        "Dec"
-      ];
-      const dayName = days[date.getUTCDay()];
-      const day = date.getUTCDate().toString().padStart(2, "0");
-      const month = months[date.getUTCMonth()];
-      const year = date.getUTCFullYear();
-      const hour = date.getUTCHours().toString().padStart(2, "0");
-      const minute = date.getUTCMinutes().toString().padStart(2, "0");
-      const second = date.getUTCSeconds().toString().padStart(2, "0");
-      return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`;
+      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) {
@@ -36659,14 +37237,14 @@ var require_util14 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/cookies/parse.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js
 var require_parse2 = __commonJS({
-  "node_modules/undici/lib/cookies/parse.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js"(exports2, module2) {
     "use strict";
     var { maxNameValuePairSize, maxAttributeValueSize } = require_constants9();
     var { isCTLExcludingHtab } = require_util14();
-    var { collectASequenceOfCodePointsFast } = require_dataURL();
-    var assert = require("assert");
+    var { collectASequenceOfCodePointsFast } = require_data_url2();
+    var assert = require("node:assert");
     function parseSetCookie(header) {
       if (isCTLExcludingHtab(header)) {
         return null;
@@ -36799,16 +37377,16 @@ var require_parse2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/cookies/index.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js
 var require_cookies2 = __commonJS({
-  "node_modules/undici/lib/cookies/index.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js"(exports2, module2) {
     "use strict";
     var { parseSetCookie } = require_parse2();
     var { stringify } = require_util14();
     var { webidl } = require_webidl2();
     var { Headers } = require_headers2();
     function getCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "getCookies" });
+      webidl.argumentLengthCheck(arguments, 1, "getCookies");
       webidl.brandCheck(headers, Headers, { strict: false });
       const cookie = headers.get("cookie");
       const out = {};
@@ -36822,9 +37400,10 @@ var require_cookies2 = __commonJS({
       return out;
     }
     function deleteCookie(headers, name, attributes) {
-      webidl.argumentLengthCheck(arguments, 2, { header: "deleteCookie" });
       webidl.brandCheck(headers, Headers, { strict: false });
-      name = webidl.converters.DOMString(name);
+      const prefix = "deleteCookie";
+      webidl.argumentLengthCheck(arguments, 2, prefix);
+      name = webidl.converters.DOMString(name, prefix, "name");
       attributes = webidl.converters.DeleteCookieAttributes(attributes);
       setCookie(headers, {
         name,
@@ -36834,7 +37413,7 @@ var require_cookies2 = __commonJS({
       });
     }
     function getSetCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "getSetCookies" });
+      webidl.argumentLengthCheck(arguments, 1, "getSetCookies");
       webidl.brandCheck(headers, Headers, { strict: false });
       const cookies = headers.getSetCookie();
       if (!cookies) {
@@ -36843,24 +37422,24 @@ var require_cookies2 = __commonJS({
       return cookies.map((pair) => parseSetCookie(pair));
     }
     function setCookie(headers, cookie) {
-      webidl.argumentLengthCheck(arguments, 2, { header: "setCookie" });
+      webidl.argumentLengthCheck(arguments, 2, "setCookie");
       webidl.brandCheck(headers, Headers, { strict: false });
       cookie = webidl.converters.Cookie(cookie);
       const str2 = stringify(cookie);
       if (str2) {
-        headers.append("Set-Cookie", stringify(cookie));
+        headers.append("Set-Cookie", str2);
       }
     }
     webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([
       {
         converter: webidl.nullableConverter(webidl.converters.DOMString),
         key: "path",
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         converter: webidl.nullableConverter(webidl.converters.DOMString),
         key: "domain",
-        defaultValue: null
+        defaultValue: () => null
       }
     ]);
     webidl.converters.Cookie = webidl.dictionaryConverter([
@@ -36880,32 +37459,32 @@ var require_cookies2 = __commonJS({
           return new Date(value);
         }),
         key: "expires",
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         converter: webidl.nullableConverter(webidl.converters["long long"]),
         key: "maxAge",
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         converter: webidl.nullableConverter(webidl.converters.DOMString),
         key: "domain",
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         converter: webidl.nullableConverter(webidl.converters.DOMString),
         key: "path",
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         converter: webidl.nullableConverter(webidl.converters.boolean),
         key: "secure",
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         converter: webidl.nullableConverter(webidl.converters.boolean),
         key: "httpOnly",
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         converter: webidl.converters.USVString,
@@ -36915,7 +37494,7 @@ var require_cookies2 = __commonJS({
       {
         converter: webidl.sequenceConverter(webidl.converters.DOMString),
         key: "unparsed",
-        defaultValue: []
+        defaultValue: () => new Array(0)
       }
     ]);
     module2.exports = {
@@ -36927,82 +37506,29 @@ var require_cookies2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/websocket/constants.js
-var require_constants10 = __commonJS({
-  "node_modules/undici/lib/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 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);
-    module2.exports = {
-      uid,
-      staticPropertyDescriptors,
-      states,
-      opcodes,
-      maxUnsigned16Bit,
-      parserStates,
-      emptyBuffer
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/symbols.js
-var require_symbols10 = __commonJS({
-  "node_modules/undici/lib/websocket/symbols.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
-      kReadyState: /* @__PURE__ */ Symbol("ready state"),
-      kController: /* @__PURE__ */ Symbol("controller"),
-      kResponse: /* @__PURE__ */ Symbol("response"),
-      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
-      kSentClose: /* @__PURE__ */ Symbol("sent close"),
-      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
-      kByteParser: /* @__PURE__ */ Symbol("byte parser")
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/events.js
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js
 var require_events2 = __commonJS({
-  "node_modules/undici/lib/websocket/events.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js"(exports2, module2) {
     "use strict";
     var { webidl } = require_webidl2();
     var { kEnumerableProperty } = require_util9();
-    var { MessagePort } = require("worker_threads");
+    var { kConstruct } = require_symbols6();
+    var { MessagePort } = require("node:worker_threads");
     var MessageEvent = class _MessageEvent extends Event {
       #eventInit;
       constructor(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.MessageEventInit(eventInitDict);
+        if (type2 === kConstruct) {
+          super(arguments[1], arguments[2]);
+          webidl.util.markAsUncloneable(this);
+          return;
+        }
+        const prefix = "MessageEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.MessageEventInit(eventInitDict, prefix, "eventInitDict");
         super(type2, eventInitDict);
         this.#eventInit = eventInitDict;
+        webidl.util.markAsUncloneable(this);
       }
       get data() {
         webidl.brandCheck(this, _MessageEvent);
@@ -37029,7 +37555,7 @@ var require_events2 = __commonJS({
       }
       initMessageEvent(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
         webidl.brandCheck(this, _MessageEvent);
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent.initMessageEvent" });
+        webidl.argumentLengthCheck(arguments, 1, "MessageEvent.initMessageEvent");
         return new _MessageEvent(type2, {
           bubbles,
           cancelable,
@@ -37040,15 +37566,29 @@ var require_events2 = __commonJS({
           ports
         });
       }
+      static createFastMessageEvent(type2, init) {
+        const messageEvent = new _MessageEvent(kConstruct, type2, 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(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
+        const prefix = "CloseEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
         eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
         super(type2, eventInitDict);
         this.#eventInit = eventInitDict;
+        webidl.util.markAsUncloneable(this);
       }
       get wasClean() {
         webidl.brandCheck(this, _CloseEvent);
@@ -37066,9 +37606,11 @@ var require_events2 = __commonJS({
     var ErrorEvent = class _ErrorEvent extends Event {
       #eventInit;
       constructor(type2, eventInitDict) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" });
+        const prefix = "ErrorEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
         super(type2, eventInitDict);
-        type2 = webidl.converters.DOMString(type2);
+        webidl.util.markAsUncloneable(this);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
         eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});
         this.#eventInit = eventInitDict;
       }
@@ -37133,17 +37675,17 @@ var require_events2 = __commonJS({
       {
         key: "bubbles",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "cancelable",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "composed",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       }
     ];
     webidl.converters.MessageEventInit = webidl.dictionaryConverter([
@@ -37151,31 +37693,29 @@ var require_events2 = __commonJS({
       {
         key: "data",
         converter: webidl.converters.any,
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         key: "origin",
         converter: webidl.converters.USVString,
-        defaultValue: ""
+        defaultValue: () => ""
       },
       {
         key: "lastEventId",
         converter: webidl.converters.DOMString,
-        defaultValue: ""
+        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
+        defaultValue: () => null
       },
       {
         key: "ports",
         converter: webidl.converters["sequence"],
-        get defaultValue() {
-          return [];
-        }
+        defaultValue: () => new Array(0)
       }
     ]);
     webidl.converters.CloseEventInit = webidl.dictionaryConverter([
@@ -37183,17 +37723,17 @@ var require_events2 = __commonJS({
       {
         key: "wasClean",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "code",
         converter: webidl.converters["unsigned short"],
-        defaultValue: 0
+        defaultValue: () => 0
       },
       {
         key: "reason",
         converter: webidl.converters.USVString,
-        defaultValue: ""
+        defaultValue: () => ""
       }
     ]);
     webidl.converters.ErrorEventInit = webidl.dictionaryConverter([
@@ -37201,22 +37741,22 @@ var require_events2 = __commonJS({
       {
         key: "message",
         converter: webidl.converters.DOMString,
-        defaultValue: ""
+        defaultValue: () => ""
       },
       {
         key: "filename",
         converter: webidl.converters.USVString,
-        defaultValue: ""
+        defaultValue: () => ""
       },
       {
         key: "lineno",
         converter: webidl.converters["unsigned long"],
-        defaultValue: 0
+        defaultValue: () => 0
       },
       {
         key: "colno",
         converter: webidl.converters["unsigned long"],
-        defaultValue: 0
+        defaultValue: () => 0
       },
       {
         key: "error",
@@ -37226,18 +37766,98 @@ var require_events2 = __commonJS({
     module2.exports = {
       MessageEvent,
       CloseEvent,
-      ErrorEvent
+      ErrorEvent,
+      createFastMessageEvent
     };
   }
 });
 
-// node_modules/undici/lib/websocket/util.js
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js
+var require_constants10 = __commonJS({
+  "node_modules/@actions/github/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/@actions/github/node_modules/undici/lib/web/websocket/symbols.js
+var require_symbols10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
+      kReadyState: /* @__PURE__ */ Symbol("ready state"),
+      kController: /* @__PURE__ */ Symbol("controller"),
+      kResponse: /* @__PURE__ */ Symbol("response"),
+      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
+      kSentClose: /* @__PURE__ */ Symbol("sent close"),
+      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
+      kByteParser: /* @__PURE__ */ Symbol("byte parser")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js
 var require_util15 = __commonJS({
-  "node_modules/undici/lib/websocket/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js"(exports2, module2) {
     "use strict";
     var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols10();
     var { states, opcodes } = require_constants10();
-    var { MessageEvent, ErrorEvent } = require_events2();
+    var { ErrorEvent, createFastMessageEvent } = require_events2();
+    var { isUtf8 } = require("node:buffer");
+    var { collectASequenceOfCodePointsFast, removeHTTPWhitespace } = require_data_url2();
+    function isConnecting(ws) {
+      return ws[kReadyState] === states.CONNECTING;
+    }
     function isEstablished(ws) {
       return ws[kReadyState] === states.OPEN;
     }
@@ -37247,8 +37867,8 @@ var require_util15 = __commonJS({
     function isClosed(ws) {
       return ws[kReadyState] === states.CLOSED;
     }
-    function fireEvent(e, target, eventConstructor = Event, eventInitDict) {
-      const event = new eventConstructor(e, eventInitDict);
+    function fireEvent(e, target, eventFactory = (type2, init) => new Event(type2, init), eventInitDict = {}) {
+      const event = eventFactory(e, eventInitDict);
       target.dispatchEvent(event);
     }
     function websocketMessageReceived(ws, type2, data) {
@@ -37258,7 +37878,7 @@ var require_util15 = __commonJS({
       let dataForEvent;
       if (type2 === opcodes.TEXT) {
         try {
-          dataForEvent = new TextDecoder("utf-8", { fatal: true }).decode(data);
+          dataForEvent = utf8Decode(data);
         } catch {
           failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
           return;
@@ -37267,22 +37887,44 @@ var require_util15 = __commonJS({
         if (ws[kBinaryType] === "blob") {
           dataForEvent = new Blob([data]);
         } else {
-          dataForEvent = new Uint8Array(data).buffer;
+          dataForEvent = toArrayBuffer(data);
         }
       }
-      fireEvent("message", ws, MessageEvent, {
+      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 (const char of protocol) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || code > 126 || char === "(" || char === ")" || char === "<" || char === ">" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}" || code === 32 || // SP
-        code === 9) {
+      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;
         }
       }
@@ -37303,12 +37945,57 @@ var require_util15 = __commonJS({
         response.socket.destroy();
       }
       if (reason) {
-        fireEvent("error", ws, ErrorEvent, {
-          error: new Error(reason)
+        fireEvent("error", ws, (type2, init) => new ErrorEvent(type2, 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,
@@ -37316,44 +38003,126 @@ var require_util15 = __commonJS({
       isValidSubprotocol,
       isValidStatusCode,
       failWebsocketConnection,
-      websocketMessageReceived
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isContinuationFrame,
+      isTextBinaryFrame,
+      isValidOpcode,
+      parseExtensions,
+      isValidClientWindowBits
     };
   }
 });
 
-// node_modules/undici/lib/websocket/connection.js
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js
+var require_frame2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js"(exports2, module2) {
+    "use strict";
+    var { maxUnsigned16Bit } = require_constants10();
+    var BUFFER_SIZE = 16386;
+    var crypto2;
+    var buffer = null;
+    var bufIdx = BUFFER_SIZE;
+    try {
+      crypto2 = require("node:crypto");
+    } catch {
+      crypto2 = {
+        // not full compatibility, but minimum.
+        randomFillSync: function randomFillSync2(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;
+        crypto2.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/@actions/github/node_modules/undici/lib/web/websocket/connection.js
 var require_connection2 = __commonJS({
-  "node_modules/undici/lib/websocket/connection.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js"(exports2, module2) {
     "use strict";
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { uid, states } = require_constants10();
+    var { uid, states, sentCloseFrameState, emptyBuffer, opcodes } = require_constants10();
     var {
       kReadyState,
       kSentClose,
       kByteParser,
-      kReceivedClose
+      kReceivedClose,
+      kResponse
     } = require_symbols10();
-    var { fireEvent, failWebsocketConnection } = require_util15();
+    var { fireEvent, failWebsocketConnection, isClosing, isClosed, isEstablished, parseExtensions } = require_util15();
+    var { channels } = require_diagnostics2();
     var { CloseEvent } = require_events2();
     var { makeRequest } = require_request4();
     var { fetching } = require_fetch2();
-    var { Headers } = require_headers2();
-    var { getGlobalDispatcher } = require_global4();
-    var { kHeadersList } = require_symbols6();
-    var channels = {};
-    channels.open = diagnosticsChannel.channel("undici:websocket:open");
-    channels.close = diagnosticsChannel.channel("undici:websocket:close");
-    channels.socketError = diagnosticsChannel.channel("undici:websocket:socket_error");
+    var { Headers, getHeadersList } = require_headers2();
+    var { getDecodeSplit } = require_util10();
+    var { WebsocketFrameSend } = require_frame2();
     var crypto2;
     try {
-      crypto2 = require("crypto");
+      crypto2 = require("node:crypto");
     } catch {
     }
-    function establishWebSocketConnection(url2, protocols, ws, onEstablish, options) {
+    function establishWebSocketConnection(url2, protocols, client, ws, onEstablish, options) {
       const requestURL = url2;
       requestURL.protocol = url2.protocol === "ws:" ? "http:" : "https:";
       const request2 = makeRequest({
         urlList: [requestURL],
+        client,
         serviceWorkers: "none",
         referrer: "no-referrer",
         mode: "websocket",
@@ -37362,7 +38131,7 @@ var require_connection2 = __commonJS({
         redirect: "error"
       });
       if (options.headers) {
-        const headersList = new Headers(options.headers)[kHeadersList];
+        const headersList = getHeadersList(new Headers(options.headers));
         request2.headersList = headersList;
       }
       const keyValue = crypto2.randomBytes(16).toString("base64");
@@ -37371,11 +38140,12 @@ var require_connection2 = __commonJS({
       for (const protocol of protocols) {
         request2.headersList.append("sec-websocket-protocol", protocol);
       }
-      const permessageDeflate = "";
+      const permessageDeflate = "permessage-deflate; client_max_window_bits";
+      request2.headersList.append("sec-websocket-extensions", permessageDeflate);
       const controller = fetching({
         request: request2,
         useParallelQueue: true,
-        dispatcher: options.dispatcher ?? getGlobalDispatcher(),
+        dispatcher: options.dispatcher,
         processResponse(response) {
           if (response.type === "error" || response.status !== 101) {
             failWebsocketConnection(ws, "Received network error or non-101 status code.");
@@ -37400,14 +38170,21 @@ var require_connection2 = __commonJS({
             return;
           }
           const secExtension = response.headersList.get("Sec-WebSocket-Extensions");
-          if (secExtension !== null && secExtension !== permessageDeflate) {
-            failWebsocketConnection(ws, "Received different permessage-deflate than the one set.");
-            return;
+          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 && secProtocol !== request2.headersList.get("Sec-WebSocket-Protocol")) {
-            failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");
-            return;
+          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);
@@ -37419,11 +38196,37 @@ var require_connection2 = __commonJS({
               extensions: secExtension
             });
           }
-          onEstablish(response);
+          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();
@@ -37431,18 +38234,22 @@ var require_connection2 = __commonJS({
     }
     function onSocketClose() {
       const { ws } = this;
-      const wasClean = ws[kSentClose] && ws[kReceivedClose];
+      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) {
+      if (result && !result.error) {
         code = result.code ?? 1005;
         reason = result.reason;
-      } else if (!ws[kSentClose]) {
+      } else if (!ws[kReceivedClose]) {
         code = 1006;
       }
       ws[kReadyState] = states.CLOSED;
-      fireEvent("close", ws, CloseEvent, {
+      fireEvent("close", ws, (type2, init) => new CloseEvent(type2, init), {
         wasClean,
         code,
         reason
@@ -37464,90 +38271,105 @@ var require_connection2 = __commonJS({
       this.destroy();
     }
     module2.exports = {
-      establishWebSocketConnection
+      establishWebSocketConnection,
+      closeWebSocketConnection
     };
   }
 });
 
-// node_modules/undici/lib/websocket/frame.js
-var require_frame2 = __commonJS({
-  "node_modules/undici/lib/websocket/frame.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js
+var require_permessage_deflate2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js"(exports2, module2) {
     "use strict";
-    var { maxUnsigned16Bit } = require_constants10();
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-    } catch {
-    }
-    var WebsocketFrameSend = class {
-      /**
-       * @param {Buffer|undefined} data
-       */
-      constructor(data) {
-        this.frameData = data;
-        this.maskKey = crypto2.randomBytes(4);
+    var { createInflateRaw, Z_DEFAULT_WINDOWBITS } = require("node:zlib");
+    var { isValidClientWindowBits } = require_util15();
+    var tail = Buffer.from([0, 0, 255, 255]);
+    var kBuffer = /* @__PURE__ */ Symbol("kBuffer");
+    var kLength = /* @__PURE__ */ 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");
       }
-      createFrame(opcode) {
-        const bodyLength = this.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 buffer = Buffer.allocUnsafe(bodyLength + offset);
-        buffer[0] = buffer[1] = 0;
-        buffer[0] |= 128;
-        buffer[0] = (buffer[0] & 240) + opcode;
-        buffer[offset - 4] = this.maskKey[0];
-        buffer[offset - 3] = this.maskKey[1];
-        buffer[offset - 2] = this.maskKey[2];
-        buffer[offset - 1] = this.maskKey[3];
-        buffer[1] = payloadLength;
-        if (payloadLength === 126) {
-          buffer.writeUInt16BE(bodyLength, 2);
-        } else if (payloadLength === 127) {
-          buffer[2] = buffer[3] = 0;
-          buffer.writeUIntBE(bodyLength, 4, 6);
+      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);
+          });
         }
-        buffer[1] |= 128;
-        for (let i = 0; i < bodyLength; i++) {
-          buffer[offset + i] = this.frameData[i] ^ this.maskKey[i % 4];
+        this.#inflate.write(chunk);
+        if (fin) {
+          this.#inflate.write(tail);
         }
-        return buffer;
+        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 = {
-      WebsocketFrameSend
-    };
+    module2.exports = { PerMessageDeflate };
   }
 });
 
-// node_modules/undici/lib/websocket/receiver.js
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/receiver.js
 var require_receiver2 = __commonJS({
-  "node_modules/undici/lib/websocket/receiver.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/receiver.js"(exports2, module2) {
     "use strict";
-    var { Writable } = require("stream");
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { parserStates, opcodes, states, emptyBuffer } = require_constants10();
+    var { Writable } = require("node:stream");
+    var assert = require("node:assert");
+    var { parserStates, opcodes, states, emptyBuffer, sentCloseFrameState } = require_constants10();
     var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols10();
-    var { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require_util15();
+    var { channels } = require_diagnostics2();
+    var {
+      isValidStatusCode,
+      isValidOpcode,
+      failWebsocketConnection,
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isTextBinaryFrame,
+      isContinuationFrame
+    } = require_util15();
     var { WebsocketFrameSend } = require_frame2();
-    var channels = {};
-    channels.ping = diagnosticsChannel.channel("undici:websocket:ping");
-    channels.pong = diagnosticsChannel.channel("undici:websocket:pong");
+    var { closeWebSocketConnection } = require_connection2();
+    var { PerMessageDeflate } = require_permessage_deflate2();
     var ByteParser = class extends Writable {
       #buffers = [];
       #byteOffset = 0;
+      #loop = false;
       #state = parserStates.INFO;
       #info = {};
       #fragments = [];
-      constructor(ws) {
+      /** @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
@@ -37556,6 +38378,7 @@ var require_receiver2 = __commonJS({
       _write(chunk, _2, callback) {
         this.#buffers.push(chunk);
         this.#byteOffset += chunk.length;
+        this.#loop = true;
         this.run(callback);
       }
       /**
@@ -37564,21 +38387,56 @@ var require_receiver2 = __commonJS({
        * or not enough bytes are buffered to parse.
        */
       run(callback) {
-        while (true) {
+        while (this.#loop) {
           if (this.#state === parserStates.INFO) {
             if (this.#byteOffset < 2) {
               return callback();
             }
             const buffer = this.consume(2);
-            this.#info.fin = (buffer[0] & 128) !== 0;
-            this.#info.opcode = buffer[0] & 15;
-            this.#info.originalOpcode ??= this.#info.opcode;
-            this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION;
-            if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) {
+            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;
             }
-            const payloadLength = buffer[1] & 127;
+            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;
@@ -37587,68 +38445,14 @@ var require_receiver2 = __commonJS({
             } else if (payloadLength === 127) {
               this.#state = parserStates.PAYLOADLENGTH_64;
             }
-            if (this.#info.fragmented && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
-              return;
-            } else if ((this.#info.opcode === opcodes.PING || this.#info.opcode === opcodes.PONG || this.#info.opcode === opcodes.CLOSE) && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Payload length for control frame exceeded 125 bytes.");
-              return;
-            } else if (this.#info.opcode === opcodes.CLOSE) {
-              if (payloadLength === 1) {
-                failWebsocketConnection(this.ws, "Received close frame with a 1-byte body.");
-                return;
-              }
-              const body = this.consume(payloadLength);
-              this.#info.closeInfo = this.parseCloseBody(false, body);
-              if (!this.ws[kSentClose]) {
-                const body2 = Buffer.allocUnsafe(2);
-                body2.writeUInt16BE(this.#info.closeInfo.code, 0);
-                const closeFrame = new WebsocketFrameSend(body2);
-                this.ws[kResponse].socket.write(
-                  closeFrame.createFrame(opcodes.CLOSE),
-                  (err) => {
-                    if (!err) {
-                      this.ws[kSentClose] = true;
-                    }
-                  }
-                );
-              }
-              this.ws[kReadyState] = states.CLOSING;
-              this.ws[kReceivedClose] = true;
-              this.end();
-              return;
-            } else if (this.#info.opcode === opcodes.PING) {
-              const body = this.consume(payloadLength);
-              if (!this.ws[kReceivedClose]) {
-                const frame = new WebsocketFrameSend(body);
-                this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
-                if (channels.ping.hasSubscribers) {
-                  channels.ping.publish({
-                    payload: body
-                  });
-                }
-              }
-              this.#state = parserStates.INFO;
-              if (this.#byteOffset > 0) {
-                continue;
-              } else {
-                callback();
-                return;
-              }
-            } else if (this.#info.opcode === opcodes.PONG) {
-              const body = this.consume(payloadLength);
-              if (channels.pong.hasSubscribers) {
-                channels.pong.publish({
-                  payload: body
-                });
-              }
-              if (this.#byteOffset > 0) {
-                continue;
-              } else {
-                callback();
-                return;
-              }
+            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();
@@ -37672,34 +38476,54 @@ var require_receiver2 = __commonJS({
           } else if (this.#state === parserStates.READ_DATA) {
             if (this.#byteOffset < this.#info.payloadLength) {
               return callback();
-            } else if (this.#byteOffset >= this.#info.payloadLength) {
-              const body = this.consume(this.#info.payloadLength);
-              this.#fragments.push(body);
-              if (!this.#info.fragmented || this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) {
-                const fullMessage = Buffer.concat(this.#fragments);
-                websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage);
-                this.#info = {};
-                this.#fragments.length = 0;
-              }
+            }
+            const body = this.consume(this.#info.payloadLength);
+            if (isControlFrame(this.#info.opcode)) {
+              this.#loop = this.parseControlFrame(body);
               this.#state = parserStates.INFO;
+            } else {
+              if (!this.#info.compressed) {
+                this.#fragments.push(body);
+                if (!this.#info.fragmented && this.#info.fin) {
+                  const fullMessage = Buffer.concat(this.#fragments);
+                  websocketMessageReceived(this.ws, this.#info.binaryType, fullMessage);
+                  this.#fragments.length = 0;
+                }
+                this.#state = parserStates.INFO;
+              } else {
+                this.#extensions.get("permessage-deflate").decompress(body, this.#info.fin, (error3, data) => {
+                  if (error3) {
+                    closeWebSocketConnection(this.ws, 1007, error3.message, error3.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;
+              }
             }
           }
-          if (this.#byteOffset > 0) {
-            continue;
-          } else {
-            callback();
-            break;
-          }
         }
       }
       /**
        * Take n bytes from the buffered Buffers
        * @param {number} n
-       * @returns {Buffer|null}
+       * @returns {Buffer}
        */
       consume(n) {
         if (n > this.#byteOffset) {
-          return null;
+          throw new Error("Called consume() before buffers satiated.");
         } else if (n === 0) {
           return emptyBuffer;
         }
@@ -37727,30 +38551,81 @@ var require_receiver2 = __commonJS({
         this.#byteOffset -= n;
         return buffer;
       }
-      parseCloseBody(onlyCode, data) {
+      parseCloseBody(data) {
+        assert(data.length !== 1);
         let code;
         if (data.length >= 2) {
           code = data.readUInt16BE(0);
         }
-        if (onlyCode) {
-          if (!isValidStatusCode(code)) {
-            return null;
-          }
-          return { code };
+        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);
         }
-        if (code !== void 0 && !isValidStatusCode(code)) {
-          return null;
-        }
         try {
-          reason = new TextDecoder("utf-8", { fatal: true }).decode(reason);
+          reason = utf8Decode(reason);
         } catch {
-          return null;
+          return { code: 1007, reason: "Invalid UTF-8", error: true };
         }
-        return { code, reason };
+        return { code, reason, error: false };
+      }
+      /**
+       * Parses control frames.
+       * @param {Buffer} body
+       */
+      parseControlFrame(body) {
+        const { opcode, payloadLength } = this.#info;
+        if (opcode === opcodes.CLOSE) {
+          if (payloadLength === 1) {
+            failWebsocketConnection(this.ws, "Received close frame with a 1-byte body.");
+            return false;
+          }
+          this.#info.closeInfo = this.parseCloseBody(body);
+          if (this.#info.closeInfo.error) {
+            const { code, reason } = this.#info.closeInfo;
+            closeWebSocketConnection(this.ws, code, reason, reason.length);
+            failWebsocketConnection(this.ws, reason);
+            return false;
+          }
+          if (this.ws[kSentClose] !== sentCloseFrameState.SENT) {
+            let body2 = emptyBuffer;
+            if (this.#info.closeInfo.code) {
+              body2 = Buffer.allocUnsafe(2);
+              body2.writeUInt16BE(this.#info.closeInfo.code, 0);
+            }
+            const closeFrame = new WebsocketFrameSend(body2);
+            this.ws[kResponse].socket.write(
+              closeFrame.createFrame(opcodes.CLOSE),
+              (err) => {
+                if (!err) {
+                  this.ws[kSentClose] = sentCloseFrameState.SENT;
+                }
+              }
+            );
+          }
+          this.ws[kReadyState] = states.CLOSING;
+          this.ws[kReceivedClose] = true;
+          return false;
+        } else if (opcode === opcodes.PING) {
+          if (!this.ws[kReceivedClose]) {
+            const frame = new WebsocketFrameSend(body);
+            this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
+            if (channels.ping.hasSubscribers) {
+              channels.ping.publish({
+                payload: body
+              });
+            }
+          }
+        } else if (opcode === opcodes.PONG) {
+          if (channels.pong.hasSubscribers) {
+            channels.pong.publish({
+              payload: body
+            });
+          }
+        }
+        return true;
       }
       get closingInfo() {
         return this.#info.closeInfo;
@@ -37762,15 +38637,96 @@ var require_receiver2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/websocket/websocket.js
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js
+var require_sender2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js"(exports2, module2) {
+    "use strict";
+    var { WebsocketFrameSend } = require_frame2();
+    var { opcodes, sendHints } = require_constants10();
+    var FixedQueue = require_fixed_queue2();
+    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/@actions/github/node_modules/undici/lib/web/websocket/websocket.js
 var require_websocket2 = __commonJS({
-  "node_modules/undici/lib/websocket/websocket.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js"(exports2, module2) {
     "use strict";
     var { webidl } = require_webidl2();
-    var { DOMException: DOMException2 } = require_constants7();
-    var { URLSerializer } = require_dataURL();
-    var { getGlobalOrigin } = require_global3();
-    var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require_constants10();
+    var { URLSerializer } = require_data_url2();
+    var { environmentSettingsObject } = require_util10();
+    var { staticPropertyDescriptors, states, sentCloseFrameState, sendHints } = require_constants10();
     var {
       kWebSocketURL,
       kReadyState,
@@ -37780,14 +38736,20 @@ var require_websocket2 = __commonJS({
       kSentClose,
       kByteParser
     } = require_symbols10();
-    var { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require_util15();
-    var { establishWebSocketConnection } = require_connection2();
-    var { WebsocketFrameSend } = require_frame2();
+    var {
+      isConnecting,
+      isEstablished,
+      isClosing,
+      isValidSubprotocol,
+      fireEvent
+    } = require_util15();
+    var { establishWebSocketConnection, closeWebSocketConnection } = require_connection2();
     var { ByteParser } = require_receiver2();
     var { kEnumerableProperty, isBlobLike } = require_util9();
     var { getGlobalDispatcher } = require_global4();
-    var { types } = require("util");
-    var experimentalWarned = false;
+    var { types } = require("node:util");
+    var { ErrorEvent, CloseEvent } = require_events2();
+    var { SendQueue } = require_sender2();
     var WebSocket = class _WebSocket extends EventTarget {
       #events = {
         open: null,
@@ -37798,28 +38760,26 @@ var require_websocket2 = __commonJS({
       #bufferedAmount = 0;
       #protocol = "";
       #extensions = "";
+      /** @type {SendQueue} */
+      #sendQueue;
       /**
        * @param {string} url
        * @param {string|string[]} protocols
        */
       constructor(url2, protocols = []) {
         super();
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket constructor" });
-        if (!experimentalWarned) {
-          experimentalWarned = true;
-          process.emitWarning("WebSockets are experimental, expect them to change at any time.", {
-            code: "UNDICI-WS"
-          });
-        }
-        const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols);
-        url2 = webidl.converters.USVString(url2);
+        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");
+        url2 = webidl.converters.USVString(url2, prefix, "url");
         protocols = options.protocols;
-        const baseURL = getGlobalOrigin();
+        const baseURL = environmentSettingsObject.settingsObject.baseUrl;
         let urlRecord;
         try {
           urlRecord = new URL(url2, baseURL);
         } catch (e) {
-          throw new DOMException2(e, "SyntaxError");
+          throw new DOMException(e, "SyntaxError");
         }
         if (urlRecord.protocol === "http:") {
           urlRecord.protocol = "ws:";
@@ -37827,32 +38787,35 @@ var require_websocket2 = __commonJS({
           urlRecord.protocol = "wss:";
         }
         if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") {
-          throw new DOMException2(
+          throw new DOMException(
             `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
             "SyntaxError"
           );
         }
         if (urlRecord.hash || urlRecord.href.endsWith("#")) {
-          throw new DOMException2("Got fragment", "SyntaxError");
+          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 DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+          throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
         }
         if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
-          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+          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) => this.#onConnectionEstablished(response),
+          (response, extensions) => this.#onConnectionEstablished(response, extensions),
           options
         );
         this[kReadyState] = _WebSocket.CONNECTING;
+        this[kSentClose] = sentCloseFrameState.NOT_SENT;
         this[kBinaryType] = "blob";
       }
       /**
@@ -37862,53 +38825,29 @@ var require_websocket2 = __commonJS({
        */
       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, { clamp: true });
+          code = webidl.converters["unsigned short"](code, prefix, "code", { clamp: true });
         }
         if (reason !== void 0) {
-          reason = webidl.converters.USVString(reason);
+          reason = webidl.converters.USVString(reason, prefix, "reason");
         }
         if (code !== void 0) {
           if (code !== 1e3 && (code < 3e3 || code > 4999)) {
-            throw new DOMException2("invalid code", "InvalidAccessError");
+            throw new DOMException("invalid code", "InvalidAccessError");
           }
         }
         let reasonByteLength = 0;
         if (reason !== void 0) {
           reasonByteLength = Buffer.byteLength(reason);
           if (reasonByteLength > 123) {
-            throw new DOMException2(
+            throw new DOMException(
               `Reason must be less than 123 bytes; received ${reasonByteLength}`,
               "SyntaxError"
             );
           }
         }
-        if (this[kReadyState] === _WebSocket.CLOSING || this[kReadyState] === _WebSocket.CLOSED) {
-        } else if (!isEstablished(this)) {
-          failWebsocketConnection(this, "Connection was closed before it was established.");
-          this[kReadyState] = _WebSocket.CLOSING;
-        } else if (!isClosing(this)) {
-          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 = this[kResponse].socket;
-          socket.write(frame.createFrame(opcodes.CLOSE), (err) => {
-            if (!err) {
-              this[kSentClose] = true;
-            }
-          });
-          this[kReadyState] = states.CLOSING;
-        } else {
-          this[kReadyState] = _WebSocket.CLOSING;
-        }
+        closeWebSocketConnection(this, code, reason, reasonByteLength);
       }
       /**
        * @see https://websockets.spec.whatwg.org/#dom-websocket-send
@@ -37916,50 +38855,36 @@ var require_websocket2 = __commonJS({
        */
       send(data) {
         webidl.brandCheck(this, _WebSocket);
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" });
-        data = webidl.converters.WebSocketSendData(data);
-        if (this[kReadyState] === _WebSocket.CONNECTING) {
-          throw new DOMException2("Sent before connected.", "InvalidStateError");
+        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;
         }
-        const socket = this[kResponse].socket;
         if (typeof data === "string") {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.TEXT);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
+          const length = Buffer.byteLength(data);
+          this.#bufferedAmount += length;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= length;
+          }, sendHints.string);
         } else if (types.isArrayBuffer(data)) {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
+          this.#bufferedAmount += data.byteLength;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= data.byteLength;
+          }, sendHints.arrayBuffer);
         } else if (ArrayBuffer.isView(data)) {
-          const ab = Buffer.from(data, data.byteOffset, data.byteLength);
-          const frame = new WebsocketFrameSend(ab);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += ab.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= ab.byteLength;
-          });
+          this.#bufferedAmount += data.byteLength;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= data.byteLength;
+          }, sendHints.typedArray);
         } else if (isBlobLike(data)) {
-          const frame = new WebsocketFrameSend();
-          data.arrayBuffer().then((ab) => {
-            const value = Buffer.from(ab);
-            frame.frameData = value;
-            const buffer = frame.createFrame(opcodes.BINARY);
-            this.#bufferedAmount += value.byteLength;
-            socket.write(buffer, () => {
-              this.#bufferedAmount -= value.byteLength;
-            });
-          });
+          this.#bufferedAmount += data.size;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= data.size;
+          }, sendHints.blob);
         }
       }
       get readyState() {
@@ -38061,14 +38986,14 @@ var require_websocket2 = __commonJS({
       /**
        * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
        */
-      #onConnectionEstablished(response) {
+      #onConnectionEstablished(response, parsedExtensions) {
         this[kResponse] = response;
-        const parser = new ByteParser(this);
-        parser.on("drain", function onParserDrain() {
-          this.ws[kResponse].socket.resume();
-        });
+        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) {
@@ -38118,26 +39043,22 @@ var require_websocket2 = __commonJS({
     webidl.converters["sequence"] = webidl.sequenceConverter(
       webidl.converters.DOMString
     );
-    webidl.converters["DOMString or sequence"] = function(V) {
+    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);
+      return webidl.converters.DOMString(V, prefix, argument);
     };
     webidl.converters.WebSocketInit = webidl.dictionaryConverter([
       {
         key: "protocols",
         converter: webidl.converters["DOMString or sequence"],
-        get defaultValue() {
-          return [];
-        }
+        defaultValue: () => new Array(0)
       },
       {
         key: "dispatcher",
-        converter: (V) => V,
-        get defaultValue() {
-          return getGlobalDispatcher();
-        }
+        converter: webidl.converters.any,
+        defaultValue: () => getGlobalDispatcher()
       },
       {
         key: "headers",
@@ -38155,28 +39076,600 @@ var require_websocket2 = __commonJS({
         if (isBlobLike(V)) {
           return webidl.converters.Blob(V, { strict: false });
         }
-        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
+        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/index.js
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js
+var require_util16 = __commonJS({
+  "node_modules/@actions/github/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 delay2(ms) {
+      return new Promise((resolve8) => {
+        setTimeout(resolve8, ms).unref();
+      });
+    }
+    module2.exports = {
+      isValidLastEventId,
+      isASCIINumber,
+      delay: delay2
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js
+var require_eventsource_stream2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js"(exports2, module2) {
+    "use strict";
+    var { Transform } = require("node:stream");
+    var { isASCIINumber, isValidLastEventId } = require_util16();
+    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/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js
+var require_eventsource2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js"(exports2, module2) {
+    "use strict";
+    var { pipeline } = require("node:stream");
+    var { fetching } = require_fetch2();
+    var { makeRequest } = require_request4();
+    var { webidl } = require_webidl2();
+    var { EventSourceStream } = require_eventsource_stream2();
+    var { parseMIMEType } = require_data_url2();
+    var { createFastMessageEvent } = require_events2();
+    var { isNetworkError } = require_response2();
+    var { delay: delay2 } = require_util16();
+    var { kEnumerableProperty } = require_util9();
+    var { environmentSettingsObject } = require_util10();
+    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(url2, 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"
+          });
+        }
+        url2 = webidl.converters.USVString(url2, 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(url2, 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,
+            (error3) => {
+              if (error3?.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 delay2(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/@actions/github/node_modules/undici/index.js
 var require_undici2 = __commonJS({
-  "node_modules/undici/index.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/index.js"(exports2, module2) {
     "use strict";
     var Client = require_client2();
     var Dispatcher = require_dispatcher2();
-    var errors = require_errors2();
     var Pool = require_pool2();
     var BalancedPool = require_balanced_pool2();
     var Agent = require_agent2();
+    var ProxyAgent = require_proxy_agent2();
+    var EnvHttpProxyAgent = require_env_http_proxy_agent2();
+    var RetryAgent = require_retry_agent2();
+    var errors = require_errors2();
     var util = require_util9();
     var { InvalidArgumentError } = errors;
     var api = require_api2();
@@ -38185,19 +39678,11 @@ var require_undici2 = __commonJS({
     var MockAgent = require_mock_agent2();
     var MockPool = require_mock_pool2();
     var mockErrors = require_mock_errors2();
-    var ProxyAgent = require_proxy_agent2();
-    var RetryHandler = require_RetryHandler();
+    var RetryHandler = require_retry_handler2();
     var { getGlobalDispatcher, setGlobalDispatcher } = require_global4();
-    var DecoratorHandler = require_DecoratorHandler();
-    var RedirectHandler = require_RedirectHandler();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var hasCrypto;
-    try {
-      require("crypto");
-      hasCrypto = true;
-    } catch {
-      hasCrypto = false;
-    }
+    var DecoratorHandler = require_decorator_handler2();
+    var RedirectHandler = require_redirect_handler2();
+    var createRedirectInterceptor = require_redirect_interceptor2();
     Object.assign(Dispatcher.prototype, api);
     module2.exports.Dispatcher = Dispatcher;
     module2.exports.Client = Client;
@@ -38205,12 +39690,24 @@ var require_undici2 = __commonJS({
     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_redirect2(),
+      retry: require_retry2(),
+      dump: require_dump2(),
+      dns: require_dns2()
+    };
     module2.exports.buildConnector = buildConnector;
     module2.exports.errors = errors;
+    module2.exports.util = {
+      parseHeaders: util.parseHeaders,
+      headerNameToString: util.headerNameToString
+    };
     function makeDispatcher(fn) {
       return (url2, opts, handler2) => {
         if (typeof opts === "function") {
@@ -38252,48 +39749,42 @@ var require_undici2 = __commonJS({
     }
     module2.exports.setGlobalDispatcher = setGlobalDispatcher;
     module2.exports.getGlobalDispatcher = getGlobalDispatcher;
-    if (util.nodeMajor > 16 || util.nodeMajor === 16 && util.nodeMinor >= 8) {
-      let fetchImpl = null;
-      module2.exports.fetch = async function fetch(resource) {
-        if (!fetchImpl) {
-          fetchImpl = require_fetch2().fetch;
-        }
-        try {
-          return await fetchImpl(...arguments);
-        } catch (err) {
-          if (typeof err === "object") {
-            Error.captureStackTrace(err, this);
-          }
-          throw err;
+    var fetchImpl = require_fetch2().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);
         }
-      };
-      module2.exports.Headers = require_headers2().Headers;
-      module2.exports.Response = require_response2().Response;
-      module2.exports.Request = require_request4().Request;
-      module2.exports.FormData = require_formdata2().FormData;
-      module2.exports.File = require_file2().File;
-      module2.exports.FileReader = require_filereader2().FileReader;
-      const { setGlobalOrigin, getGlobalOrigin } = require_global3();
-      module2.exports.setGlobalOrigin = setGlobalOrigin;
-      module2.exports.getGlobalOrigin = getGlobalOrigin;
-      const { CacheStorage } = require_cachestorage2();
-      const { kConstruct } = require_symbols9();
-      module2.exports.caches = new CacheStorage(kConstruct);
-    }
-    if (util.nodeMajor >= 16) {
-      const { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
-      module2.exports.deleteCookie = deleteCookie;
-      module2.exports.getCookies = getCookies;
-      module2.exports.getSetCookies = getSetCookies;
-      module2.exports.setCookie = setCookie;
-      const { parseMIMEType, serializeAMimeType } = require_dataURL();
-      module2.exports.parseMIMEType = parseMIMEType;
-      module2.exports.serializeAMimeType = serializeAMimeType;
-    }
-    if (util.nodeMajor >= 18 && hasCrypto) {
-      const { WebSocket } = require_websocket2();
-      module2.exports.WebSocket = WebSocket;
-    }
+        throw err;
+      }
+    };
+    module2.exports.Headers = require_headers2().Headers;
+    module2.exports.Response = require_response2().Response;
+    module2.exports.Request = require_request4().Request;
+    module2.exports.FormData = require_formdata2().FormData;
+    module2.exports.File = globalThis.File ?? require("node:buffer").File;
+    module2.exports.FileReader = require_filereader2().FileReader;
+    var { setGlobalOrigin, getGlobalOrigin } = require_global3();
+    module2.exports.setGlobalOrigin = setGlobalOrigin;
+    module2.exports.getGlobalOrigin = getGlobalOrigin;
+    var { CacheStorage } = require_cachestorage2();
+    var { kConstruct } = require_symbols9();
+    module2.exports.caches = new CacheStorage(kConstruct);
+    var { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
+    module2.exports.deleteCookie = deleteCookie;
+    module2.exports.getCookies = getCookies;
+    module2.exports.getSetCookies = getSetCookies;
+    module2.exports.setCookie = setCookie;
+    var { parseMIMEType, serializeAMimeType } = require_data_url2();
+    module2.exports.parseMIMEType = parseMIMEType;
+    module2.exports.serializeAMimeType = serializeAMimeType;
+    var { CloseEvent, ErrorEvent, MessageEvent } = require_events2();
+    module2.exports.WebSocket = require_websocket2().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);
@@ -38303,6 +39794,8 @@ var require_undici2 = __commonJS({
     module2.exports.MockPool = MockPool;
     module2.exports.MockAgent = MockAgent;
     module2.exports.mockErrors = mockErrors;
+    var { EventSource } = require_eventsource2();
+    module2.exports.EventSource = EventSource;
   }
 });
 
@@ -44522,7 +46015,7 @@ var require_package = __commonJS({
         "@actions/cache": "^5.0.5",
         "@actions/core": "^2.0.3",
         "@actions/exec": "^2.0.0",
-        "@actions/github": "^8.0.0",
+        "@actions/github": "^8.0.1",
         "@actions/glob": "^0.5.0",
         "@actions/http-client": "^3.0.0",
         "@actions/io": "^2.0.0",
@@ -44554,7 +46047,7 @@ var require_package = __commonJS({
         "@types/node-forge": "^1.3.14",
         "@types/semver": "^7.7.1",
         "@types/sinon": "^21.0.0",
-        "@typescript-eslint/eslint-plugin": "^8.53.1",
+        "@typescript-eslint/eslint-plugin": "^8.54.0",
         "@typescript-eslint/parser": "^8.48.0",
         ava: "^6.4.1",
         esbuild: "^0.27.2",
@@ -44563,7 +46056,7 @@ var require_package = __commonJS({
         "eslint-plugin-filenames": "^1.3.2",
         "eslint-plugin-github": "^5.1.8",
         "eslint-plugin-import": "2.29.1",
-        "eslint-plugin-jsdoc": "^62.3.0",
+        "eslint-plugin-jsdoc": "^62.4.1",
         "eslint-plugin-no-async-foreach": "^0.1.1",
         glob: "^11.1.0",
         nock: "^14.0.10",
@@ -55054,7 +56547,7 @@ var require_clientHelpers = __commonJS({
 });
 
 // node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js
-var require_multipart2 = __commonJS({
+var require_multipart = __commonJS({
   "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -55177,7 +56670,7 @@ var require_sendRequest = __commonJS({
     var pipelineRequest_js_1 = require_pipelineRequest();
     var clientHelpers_js_1 = require_clientHelpers();
     var typeGuards_js_1 = require_typeGuards();
-    var multipart_js_1 = require_multipart2();
+    var multipart_js_1 = require_multipart();
     async function sendRequest(method, url2, pipeline, options = {}, customHttpClient) {
       const httpClient = customHttpClient ?? (0, clientHelpers_js_1.getCachedDefaultHttpsClient)();
       const request2 = buildPipelineRequest(method, url2, options);
@@ -59875,7 +61368,7 @@ var require_commonjs8 = __commonJS({
 });
 
 // node_modules/@azure/core-http-compat/dist/commonjs/util.js
-var require_util16 = __commonJS({
+var require_util17 = __commonJS({
   "node_modules/@azure/core-http-compat/dist/commonjs/util.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -60130,7 +61623,7 @@ var require_response3 = __commonJS({
     exports2.toCompatResponse = toCompatResponse;
     exports2.toPipelineResponse = toPipelineResponse;
     var core_rest_pipeline_1 = require_commonjs6();
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     var originalResponse = /* @__PURE__ */ Symbol("Original FullOperationResponse");
     function toCompatResponse(response, options) {
       let request2 = (0, util_js_1.toWebResourceLike)(response.request);
@@ -60244,7 +61737,7 @@ var require_requestPolicyFactoryPolicy = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.requestPolicyFactoryPolicyName = exports2.HttpPipelineLogLevel = void 0;
     exports2.createRequestPolicyFactoryPolicy = createRequestPolicyFactoryPolicy;
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     var response_js_1 = require_response3();
     var HttpPipelineLogLevel;
     (function(HttpPipelineLogLevel2) {
@@ -60291,7 +61784,7 @@ var require_httpClientAdapter = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.convertHttpClient = convertHttpClient;
     var response_js_1 = require_response3();
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     function convertHttpClient(requestPolicyClient) {
       return {
         sendRequest: async (request2) => {
@@ -60331,7 +61824,7 @@ var require_commonjs9 = __commonJS({
     Object.defineProperty(exports2, "convertHttpClient", { enumerable: true, get: function() {
       return httpClientAdapter_js_1.convertHttpClient;
     } });
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     Object.defineProperty(exports2, "toHttpHeadersLike", { enumerable: true, get: function() {
       return util_js_1.toHttpHeadersLike;
     } });
@@ -78184,22597 +79677,40655 @@ var require_blob = __commonJS({
       isXML: true,
       serializer: xmlSerializer
     };
-    var setTagsOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        204: {
-          headersMapper: Mappers.BlobSetTagsHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobSetTagsExceptionHeaders
+    var setTagsOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        204: {
+          headersMapper: Mappers.BlobSetTagsHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobSetTagsExceptionHeaders
+        }
+      },
+      requestBody: Parameters.tags,
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.versionId,
+        Parameters.comp18
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.contentType,
+        Parameters.accept,
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.leaseId,
+        Parameters.ifTags,
+        Parameters.transactionalContentMD5,
+        Parameters.transactionalContentCrc64
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "xml",
+      serializer: xmlSerializer
+    };
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/pageBlob.js
+var require_pageBlob = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/pageBlob.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.PageBlobImpl = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var coreClient = tslib_1.__importStar(require_commonjs8());
+    var Mappers = tslib_1.__importStar(require_mappers());
+    var Parameters = tslib_1.__importStar(require_parameters());
+    var PageBlobImpl = class {
+      client;
+      /**
+       * Initialize a new instance of the class PageBlob class.
+       * @param client Reference to the service client
+       */
+      constructor(client) {
+        this.client = client;
+      }
+      /**
+       * The Create operation creates a new page blob.
+       * @param contentLength The length of the request.
+       * @param blobContentLength This header specifies the maximum size for the page blob, up to 1 TB. The
+       *                          page blob size must be aligned to a 512-byte boundary.
+       * @param options The options parameters.
+       */
+      create(contentLength, blobContentLength, options) {
+        return this.client.sendOperationRequest({ contentLength, blobContentLength, options }, createOperationSpec);
+      }
+      /**
+       * The Upload Pages operation writes a range of pages to a page blob
+       * @param contentLength The length of the request.
+       * @param body Initial data
+       * @param options The options parameters.
+       */
+      uploadPages(contentLength, body, options) {
+        return this.client.sendOperationRequest({ contentLength, body, options }, uploadPagesOperationSpec);
+      }
+      /**
+       * The Clear Pages operation clears a set of pages from a page blob
+       * @param contentLength The length of the request.
+       * @param options The options parameters.
+       */
+      clearPages(contentLength, options) {
+        return this.client.sendOperationRequest({ contentLength, options }, clearPagesOperationSpec);
+      }
+      /**
+       * The Upload Pages operation writes a range of pages to a page blob where the contents are read from a
+       * URL
+       * @param sourceUrl Specify a URL to the copy source.
+       * @param sourceRange Bytes of source data in the specified range. The length of this range should
+       *                    match the ContentLength header and x-ms-range/Range destination range header.
+       * @param contentLength The length of the request.
+       * @param range The range of bytes to which the source range would be written. The range should be 512
+       *              aligned and range-end is required.
+       * @param options The options parameters.
+       */
+      uploadPagesFromURL(sourceUrl, sourceRange, contentLength, range, options) {
+        return this.client.sendOperationRequest({ sourceUrl, sourceRange, contentLength, range, options }, uploadPagesFromURLOperationSpec);
+      }
+      /**
+       * The Get Page Ranges operation returns the list of valid page ranges for a page blob or snapshot of a
+       * page blob
+       * @param options The options parameters.
+       */
+      getPageRanges(options) {
+        return this.client.sendOperationRequest({ options }, getPageRangesOperationSpec);
+      }
+      /**
+       * The Get Page Ranges Diff operation returns the list of valid page ranges for a page blob that were
+       * changed between target blob and previous snapshot.
+       * @param options The options parameters.
+       */
+      getPageRangesDiff(options) {
+        return this.client.sendOperationRequest({ options }, getPageRangesDiffOperationSpec);
+      }
+      /**
+       * Resize the Blob
+       * @param blobContentLength This header specifies the maximum size for the page blob, up to 1 TB. The
+       *                          page blob size must be aligned to a 512-byte boundary.
+       * @param options The options parameters.
+       */
+      resize(blobContentLength, options) {
+        return this.client.sendOperationRequest({ blobContentLength, options }, resizeOperationSpec);
+      }
+      /**
+       * Update the sequence number of the blob
+       * @param sequenceNumberAction Required if the x-ms-blob-sequence-number header is set for the request.
+       *                             This property applies to page blobs only. This property indicates how the service should modify the
+       *                             blob's sequence number
+       * @param options The options parameters.
+       */
+      updateSequenceNumber(sequenceNumberAction, options) {
+        return this.client.sendOperationRequest({ sequenceNumberAction, options }, updateSequenceNumberOperationSpec);
+      }
+      /**
+       * The Copy Incremental operation copies a snapshot of the source page blob to a destination page blob.
+       * The snapshot is copied such that only the differential changes between the previously copied
+       * snapshot are transferred to the destination. The copied snapshots are complete copies of the
+       * original snapshot and can be read or copied from as usual. This API is supported since REST version
+       * 2016-05-31.
+       * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to
+       *                   2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would
+       *                   appear in a request URI. The source blob must either be public or must be authenticated via a shared
+       *                   access signature.
+       * @param options The options parameters.
+       */
+      copyIncremental(copySource, options) {
+        return this.client.sendOperationRequest({ copySource, options }, copyIncrementalOperationSpec);
+      }
+    };
+    exports2.PageBlobImpl = PageBlobImpl;
+    var xmlSerializer = coreClient.createSerializer(
+      Mappers,
+      /* isXml */
+      true
+    );
+    var createOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.PageBlobCreateHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobCreateExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.contentLength,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.blobCacheControl,
+        Parameters.blobContentType,
+        Parameters.blobContentMD5,
+        Parameters.blobContentEncoding,
+        Parameters.blobContentLanguage,
+        Parameters.blobContentDisposition,
+        Parameters.immutabilityPolicyExpiry,
+        Parameters.immutabilityPolicyMode,
+        Parameters.encryptionScope,
+        Parameters.tier,
+        Parameters.blobTagsString,
+        Parameters.legalHold1,
+        Parameters.blobType,
+        Parameters.blobContentLength,
+        Parameters.blobSequenceNumber
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var uploadPagesOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.PageBlobUploadPagesHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobUploadPagesExceptionHeaders
+        }
+      },
+      requestBody: Parameters.body1,
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.contentLength,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.range,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope,
+        Parameters.transactionalContentMD5,
+        Parameters.transactionalContentCrc64,
+        Parameters.contentType1,
+        Parameters.accept2,
+        Parameters.pageWrite,
+        Parameters.ifSequenceNumberLessThanOrEqualTo,
+        Parameters.ifSequenceNumberLessThan,
+        Parameters.ifSequenceNumberEqualTo
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "binary",
+      serializer: xmlSerializer
+    };
+    var clearPagesOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.PageBlobClearPagesHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobClearPagesExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.contentLength,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.range,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope,
+        Parameters.ifSequenceNumberLessThanOrEqualTo,
+        Parameters.ifSequenceNumberLessThan,
+        Parameters.ifSequenceNumberEqualTo,
+        Parameters.pageWrite1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var uploadPagesFromURLOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.PageBlobUploadPagesFromURLHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobUploadPagesFromURLExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.contentLength,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope,
+        Parameters.sourceIfModifiedSince,
+        Parameters.sourceIfUnmodifiedSince,
+        Parameters.sourceIfMatch,
+        Parameters.sourceIfNoneMatch,
+        Parameters.sourceContentMD5,
+        Parameters.copySourceAuthorization,
+        Parameters.fileRequestIntent,
+        Parameters.pageWrite,
+        Parameters.ifSequenceNumberLessThanOrEqualTo,
+        Parameters.ifSequenceNumberLessThan,
+        Parameters.ifSequenceNumberEqualTo,
+        Parameters.sourceUrl,
+        Parameters.sourceRange,
+        Parameters.sourceContentCrc64,
+        Parameters.range1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var getPageRangesOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.PageList,
+          headersMapper: Mappers.PageBlobGetPageRangesHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobGetPageRangesExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.marker,
+        Parameters.maxPageSize,
+        Parameters.snapshot,
+        Parameters.comp20
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.range,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var getPageRangesDiffOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.PageList,
+          headersMapper: Mappers.PageBlobGetPageRangesDiffHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobGetPageRangesDiffExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.marker,
+        Parameters.maxPageSize,
+        Parameters.snapshot,
+        Parameters.comp20,
+        Parameters.prevsnapshot
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.range,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.prevSnapshotUrl
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var resizeOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.PageBlobResizeHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobResizeExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.comp, Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope,
+        Parameters.blobContentLength
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var updateSequenceNumberOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.PageBlobUpdateSequenceNumberHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobUpdateSequenceNumberExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.comp, Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.blobSequenceNumber,
+        Parameters.sequenceNumberAction
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var copyIncrementalOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        202: {
+          headersMapper: Mappers.PageBlobCopyIncrementalHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobCopyIncrementalExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp21],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.copySource
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/appendBlob.js
+var require_appendBlob = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/appendBlob.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AppendBlobImpl = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var coreClient = tslib_1.__importStar(require_commonjs8());
+    var Mappers = tslib_1.__importStar(require_mappers());
+    var Parameters = tslib_1.__importStar(require_parameters());
+    var AppendBlobImpl = class {
+      client;
+      /**
+       * Initialize a new instance of the class AppendBlob class.
+       * @param client Reference to the service client
+       */
+      constructor(client) {
+        this.client = client;
+      }
+      /**
+       * The Create Append Blob operation creates a new append blob.
+       * @param contentLength The length of the request.
+       * @param options The options parameters.
+       */
+      create(contentLength, options) {
+        return this.client.sendOperationRequest({ contentLength, options }, createOperationSpec);
+      }
+      /**
+       * The Append Block operation commits a new block of data to the end of an existing append blob. The
+       * Append Block operation is permitted only if the blob was created with x-ms-blob-type set to
+       * AppendBlob. Append Block is supported only on version 2015-02-21 version or later.
+       * @param contentLength The length of the request.
+       * @param body Initial data
+       * @param options The options parameters.
+       */
+      appendBlock(contentLength, body, options) {
+        return this.client.sendOperationRequest({ contentLength, body, options }, appendBlockOperationSpec);
+      }
+      /**
+       * The Append Block operation commits a new block of data to the end of an existing append blob where
+       * the contents are read from a source url. The Append Block operation is permitted only if the blob
+       * was created with x-ms-blob-type set to AppendBlob. Append Block is supported only on version
+       * 2015-02-21 version or later.
+       * @param sourceUrl Specify a URL to the copy source.
+       * @param contentLength The length of the request.
+       * @param options The options parameters.
+       */
+      appendBlockFromUrl(sourceUrl, contentLength, options) {
+        return this.client.sendOperationRequest({ sourceUrl, contentLength, options }, appendBlockFromUrlOperationSpec);
+      }
+      /**
+       * The Seal operation seals the Append Blob to make it read-only. Seal is supported only on version
+       * 2019-12-12 version or later.
+       * @param options The options parameters.
+       */
+      seal(options) {
+        return this.client.sendOperationRequest({ options }, sealOperationSpec);
+      }
+    };
+    exports2.AppendBlobImpl = AppendBlobImpl;
+    var xmlSerializer = coreClient.createSerializer(
+      Mappers,
+      /* isXml */
+      true
+    );
+    var createOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.AppendBlobCreateHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.AppendBlobCreateExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.contentLength,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.blobCacheControl,
+        Parameters.blobContentType,
+        Parameters.blobContentMD5,
+        Parameters.blobContentEncoding,
+        Parameters.blobContentLanguage,
+        Parameters.blobContentDisposition,
+        Parameters.immutabilityPolicyExpiry,
+        Parameters.immutabilityPolicyMode,
+        Parameters.encryptionScope,
+        Parameters.blobTagsString,
+        Parameters.legalHold1,
+        Parameters.blobType1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var appendBlockOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.AppendBlobAppendBlockHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.AppendBlobAppendBlockExceptionHeaders
+        }
+      },
+      requestBody: Parameters.body1,
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp22],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.contentLength,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope,
+        Parameters.transactionalContentMD5,
+        Parameters.transactionalContentCrc64,
+        Parameters.contentType1,
+        Parameters.accept2,
+        Parameters.maxSize,
+        Parameters.appendPosition
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "binary",
+      serializer: xmlSerializer
+    };
+    var appendBlockFromUrlOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.AppendBlobAppendBlockFromUrlHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.AppendBlobAppendBlockFromUrlExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp22],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.contentLength,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope,
+        Parameters.sourceIfModifiedSince,
+        Parameters.sourceIfUnmodifiedSince,
+        Parameters.sourceIfMatch,
+        Parameters.sourceIfNoneMatch,
+        Parameters.sourceContentMD5,
+        Parameters.copySourceAuthorization,
+        Parameters.fileRequestIntent,
+        Parameters.transactionalContentMD5,
+        Parameters.sourceUrl,
+        Parameters.sourceContentCrc64,
+        Parameters.maxSize,
+        Parameters.appendPosition,
+        Parameters.sourceRange1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var sealOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.AppendBlobSealHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.AppendBlobSealExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp23],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.appendPosition
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blockBlob.js
+var require_blockBlob = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blockBlob.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlockBlobImpl = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var coreClient = tslib_1.__importStar(require_commonjs8());
+    var Mappers = tslib_1.__importStar(require_mappers());
+    var Parameters = tslib_1.__importStar(require_parameters());
+    var BlockBlobImpl = class {
+      client;
+      /**
+       * Initialize a new instance of the class BlockBlob class.
+       * @param client Reference to the service client
+       */
+      constructor(client) {
+        this.client = client;
+      }
+      /**
+       * The Upload Block Blob operation updates the content of an existing block blob. Updating an existing
+       * block blob overwrites any existing metadata on the blob. Partial updates are not supported with Put
+       * Blob; the content of the existing blob is overwritten with the content of the new blob. To perform a
+       * partial update of the content of a block blob, use the Put Block List operation.
+       * @param contentLength The length of the request.
+       * @param body Initial data
+       * @param options The options parameters.
+       */
+      upload(contentLength, body, options) {
+        return this.client.sendOperationRequest({ contentLength, body, options }, uploadOperationSpec);
+      }
+      /**
+       * The Put Blob from URL operation creates a new Block Blob where the contents of the blob are read
+       * from a given URL.  This API is supported beginning with the 2020-04-08 version. Partial updates are
+       * not supported with Put Blob from URL; the content of an existing blob is overwritten with the
+       * content of the new blob.  To perform partial updates to a block blob’s contents using a source URL,
+       * use the Put Block from URL API in conjunction with Put Block List.
+       * @param contentLength The length of the request.
+       * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to
+       *                   2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would
+       *                   appear in a request URI. The source blob must either be public or must be authenticated via a shared
+       *                   access signature.
+       * @param options The options parameters.
+       */
+      putBlobFromUrl(contentLength, copySource, options) {
+        return this.client.sendOperationRequest({ contentLength, copySource, options }, putBlobFromUrlOperationSpec);
+      }
+      /**
+       * The Stage Block operation creates a new block to be committed as part of a blob
+       * @param blockId A valid Base64 string value that identifies the block. Prior to encoding, the string
+       *                must be less than or equal to 64 bytes in size. For a given blob, the length of the value specified
+       *                for the blockid parameter must be the same size for each block.
+       * @param contentLength The length of the request.
+       * @param body Initial data
+       * @param options The options parameters.
+       */
+      stageBlock(blockId, contentLength, body, options) {
+        return this.client.sendOperationRequest({ blockId, contentLength, body, options }, stageBlockOperationSpec);
+      }
+      /**
+       * The Stage Block operation creates a new block to be committed as part of a blob where the contents
+       * are read from a URL.
+       * @param blockId A valid Base64 string value that identifies the block. Prior to encoding, the string
+       *                must be less than or equal to 64 bytes in size. For a given blob, the length of the value specified
+       *                for the blockid parameter must be the same size for each block.
+       * @param contentLength The length of the request.
+       * @param sourceUrl Specify a URL to the copy source.
+       * @param options The options parameters.
+       */
+      stageBlockFromURL(blockId, contentLength, sourceUrl, options) {
+        return this.client.sendOperationRequest({ blockId, contentLength, sourceUrl, options }, stageBlockFromURLOperationSpec);
+      }
+      /**
+       * The Commit Block List operation writes a blob by specifying the list of block IDs that make up the
+       * blob. In order to be written as part of a blob, a block must have been successfully written to the
+       * server in a prior Put Block operation. You can call Put Block List to update a blob by uploading
+       * only those blocks that have changed, then committing the new and existing blocks together. You can
+       * do this by specifying whether to commit a block from the committed block list or from the
+       * uncommitted block list, or to commit the most recently uploaded version of the block, whichever list
+       * it may belong to.
+       * @param blocks Blob Blocks.
+       * @param options The options parameters.
+       */
+      commitBlockList(blocks, options) {
+        return this.client.sendOperationRequest({ blocks, options }, commitBlockListOperationSpec);
+      }
+      /**
+       * The Get Block List operation retrieves the list of blocks that have been uploaded as part of a block
+       * blob
+       * @param listType Specifies whether to return the list of committed blocks, the list of uncommitted
+       *                 blocks, or both lists together.
+       * @param options The options parameters.
+       */
+      getBlockList(listType, options) {
+        return this.client.sendOperationRequest({ listType, options }, getBlockListOperationSpec);
+      }
+    };
+    exports2.BlockBlobImpl = BlockBlobImpl;
+    var xmlSerializer = coreClient.createSerializer(
+      Mappers,
+      /* isXml */
+      true
+    );
+    var uploadOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.BlockBlobUploadHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlockBlobUploadExceptionHeaders
+        }
+      },
+      requestBody: Parameters.body1,
+      queryParameters: [Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.contentLength,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.blobCacheControl,
+        Parameters.blobContentType,
+        Parameters.blobContentMD5,
+        Parameters.blobContentEncoding,
+        Parameters.blobContentLanguage,
+        Parameters.blobContentDisposition,
+        Parameters.immutabilityPolicyExpiry,
+        Parameters.immutabilityPolicyMode,
+        Parameters.encryptionScope,
+        Parameters.tier,
+        Parameters.blobTagsString,
+        Parameters.legalHold1,
+        Parameters.transactionalContentMD5,
+        Parameters.transactionalContentCrc64,
+        Parameters.contentType1,
+        Parameters.accept2,
+        Parameters.blobType2
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "binary",
+      serializer: xmlSerializer
+    };
+    var putBlobFromUrlOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.BlockBlobPutBlobFromUrlHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlockBlobPutBlobFromUrlExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.contentLength,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.blobCacheControl,
+        Parameters.blobContentType,
+        Parameters.blobContentMD5,
+        Parameters.blobContentEncoding,
+        Parameters.blobContentLanguage,
+        Parameters.blobContentDisposition,
+        Parameters.encryptionScope,
+        Parameters.tier,
+        Parameters.sourceIfModifiedSince,
+        Parameters.sourceIfUnmodifiedSince,
+        Parameters.sourceIfMatch,
+        Parameters.sourceIfNoneMatch,
+        Parameters.sourceIfTags,
+        Parameters.copySource,
+        Parameters.blobTagsString,
+        Parameters.sourceContentMD5,
+        Parameters.copySourceAuthorization,
+        Parameters.copySourceTags,
+        Parameters.fileRequestIntent,
+        Parameters.transactionalContentMD5,
+        Parameters.blobType2,
+        Parameters.copySourceBlobProperties
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var stageBlockOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.BlockBlobStageBlockHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlockBlobStageBlockExceptionHeaders
+        }
+      },
+      requestBody: Parameters.body1,
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.comp24,
+        Parameters.blockId
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.contentLength,
+        Parameters.leaseId,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.encryptionScope,
+        Parameters.transactionalContentMD5,
+        Parameters.transactionalContentCrc64,
+        Parameters.contentType1,
+        Parameters.accept2
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "binary",
+      serializer: xmlSerializer
+    };
+    var stageBlockFromURLOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.BlockBlobStageBlockFromURLHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlockBlobStageBlockFromURLExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.comp24,
+        Parameters.blockId
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.contentLength,
+        Parameters.leaseId,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.encryptionScope,
+        Parameters.sourceIfModifiedSince,
+        Parameters.sourceIfUnmodifiedSince,
+        Parameters.sourceIfMatch,
+        Parameters.sourceIfNoneMatch,
+        Parameters.sourceContentMD5,
+        Parameters.copySourceAuthorization,
+        Parameters.fileRequestIntent,
+        Parameters.sourceUrl,
+        Parameters.sourceContentCrc64,
+        Parameters.sourceRange1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var commitBlockListOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.BlockBlobCommitBlockListHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlockBlobCommitBlockListExceptionHeaders
+        }
+      },
+      requestBody: Parameters.blocks,
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp25],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.contentType,
+        Parameters.accept,
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.blobCacheControl,
+        Parameters.blobContentType,
+        Parameters.blobContentMD5,
+        Parameters.blobContentEncoding,
+        Parameters.blobContentLanguage,
+        Parameters.blobContentDisposition,
+        Parameters.immutabilityPolicyExpiry,
+        Parameters.immutabilityPolicyMode,
+        Parameters.encryptionScope,
+        Parameters.tier,
+        Parameters.blobTagsString,
+        Parameters.legalHold1,
+        Parameters.transactionalContentMD5,
+        Parameters.transactionalContentCrc64
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "xml",
+      serializer: xmlSerializer
+    };
+    var getBlockListOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.BlockList,
+          headersMapper: Mappers.BlockBlobGetBlockListHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlockBlobGetBlockListExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.comp25,
+        Parameters.listType
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/index.js
+var require_operations = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    tslib_1.__exportStar(require_service(), exports2);
+    tslib_1.__exportStar(require_container(), exports2);
+    tslib_1.__exportStar(require_blob(), exports2);
+    tslib_1.__exportStar(require_pageBlob(), exports2);
+    tslib_1.__exportStar(require_appendBlob(), exports2);
+    tslib_1.__exportStar(require_blockBlob(), exports2);
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/storageClient.js
+var require_storageClient = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/storageClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageClient = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var coreHttpCompat = tslib_1.__importStar(require_commonjs9());
+    var index_js_1 = require_operations();
+    var StorageClient = class extends coreHttpCompat.ExtendedServiceClient {
+      url;
+      version;
+      /**
+       * Initializes a new instance of the StorageClient class.
+       * @param url The URL of the service account, container, or blob that is the target of the desired
+       *            operation.
+       * @param options The parameter options
+       */
+      constructor(url2, options) {
+        if (url2 === void 0) {
+          throw new Error("'url' cannot be null");
+        }
+        if (!options) {
+          options = {};
+        }
+        const defaults = {
+          requestContentType: "application/json; charset=utf-8"
+        };
+        const packageDetails = `azsdk-js-azure-storage-blob/12.29.1`;
+        const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` : `${packageDetails}`;
+        const optionsWithDefaults = {
+          ...defaults,
+          ...options,
+          userAgentOptions: {
+            userAgentPrefix
+          },
+          endpoint: options.endpoint ?? options.baseUri ?? "{url}"
+        };
+        super(optionsWithDefaults);
+        this.url = url2;
+        this.version = options.version || "2025-11-05";
+        this.service = new index_js_1.ServiceImpl(this);
+        this.container = new index_js_1.ContainerImpl(this);
+        this.blob = new index_js_1.BlobImpl(this);
+        this.pageBlob = new index_js_1.PageBlobImpl(this);
+        this.appendBlob = new index_js_1.AppendBlobImpl(this);
+        this.blockBlob = new index_js_1.BlockBlobImpl(this);
+      }
+      service;
+      container;
+      blob;
+      pageBlob;
+      appendBlob;
+      blockBlob;
+    };
+    exports2.StorageClient = StorageClient;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/service.js
+var require_service2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/service.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/container.js
+var require_container2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/container.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blob.js
+var require_blob2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blob.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/pageBlob.js
+var require_pageBlob2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/pageBlob.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/appendBlob.js
+var require_appendBlob2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/appendBlob.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blockBlob.js
+var require_blockBlob2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blockBlob.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/index.js
+var require_operationsInterfaces = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    tslib_1.__exportStar(require_service2(), exports2);
+    tslib_1.__exportStar(require_container2(), exports2);
+    tslib_1.__exportStar(require_blob2(), exports2);
+    tslib_1.__exportStar(require_pageBlob2(), exports2);
+    tslib_1.__exportStar(require_appendBlob2(), exports2);
+    tslib_1.__exportStar(require_blockBlob2(), exports2);
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/index.js
+var require_src2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageClient = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    tslib_1.__exportStar(require_models(), exports2);
+    var storageClient_js_1 = require_storageClient();
+    Object.defineProperty(exports2, "StorageClient", { enumerable: true, get: function() {
+      return storageClient_js_1.StorageClient;
+    } });
+    tslib_1.__exportStar(require_operationsInterfaces(), exports2);
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/StorageContextClient.js
+var require_StorageContextClient = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/StorageContextClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageContextClient = void 0;
+    var index_js_1 = require_src2();
+    var StorageContextClient = class extends index_js_1.StorageClient {
+      async sendOperationRequest(operationArguments, operationSpec) {
+        const operationSpecToSend = { ...operationSpec };
+        if (operationSpecToSend.path === "/{containerName}" || operationSpecToSend.path === "/{containerName}/{blob}") {
+          operationSpecToSend.path = "";
+        }
+        return super.sendOperationRequest(operationArguments, operationSpecToSend);
+      }
+    };
+    exports2.StorageContextClient = StorageContextClient;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/StorageClient.js
+var require_StorageClient = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/StorageClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageClient = void 0;
+    var StorageContextClient_js_1 = require_StorageContextClient();
+    var Pipeline_js_1 = require_Pipeline();
+    var utils_common_js_1 = require_utils_common();
+    var StorageClient = class {
+      /**
+       * Encoded URL string value.
+       */
+      url;
+      accountName;
+      /**
+       * Request policy pipeline.
+       *
+       * @internal
+       */
+      pipeline;
+      /**
+       * Such as AnonymousCredential, StorageSharedKeyCredential or any credential from the `@azure/identity` package to authenticate requests to the service. You can also provide an object that implements the TokenCredential interface. If not specified, AnonymousCredential is used.
+       */
+      credential;
+      /**
+       * StorageClient is a reference to protocol layer operations entry, which is
+       * generated by AutoRest generator.
+       */
+      storageClientContext;
+      /**
+       */
+      isHttps;
+      /**
+       * Creates an instance of StorageClient.
+       * @param url - url to resource
+       * @param pipeline - request policy pipeline.
+       */
+      constructor(url2, pipeline) {
+        this.url = (0, utils_common_js_1.escapeURLPath)(url2);
+        this.accountName = (0, utils_common_js_1.getAccountNameFromUrl)(url2);
+        this.pipeline = pipeline;
+        this.storageClientContext = new StorageContextClient_js_1.StorageContextClient(this.url, (0, Pipeline_js_1.getCoreClientOptions)(pipeline));
+        this.isHttps = (0, utils_common_js_1.iEqual)((0, utils_common_js_1.getURLScheme)(this.url) || "", "https");
+        this.credential = (0, Pipeline_js_1.getCredentialFromPipeline)(pipeline);
+        const storageClientContext = this.storageClientContext;
+        storageClientContext.requestContentType = void 0;
+      }
+    };
+    exports2.StorageClient = StorageClient;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/utils/tracing.js
+var require_tracing = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/tracing.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.tracingClient = void 0;
+    var core_tracing_1 = require_commonjs5();
+    var constants_js_1 = require_constants15();
+    exports2.tracingClient = (0, core_tracing_1.createTracingClient)({
+      packageName: "@azure/storage-blob",
+      packageVersion: constants_js_1.SDK_VERSION,
+      namespace: "Microsoft.Storage"
+    });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASPermissions.js
+var require_BlobSASPermissions = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASPermissions.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobSASPermissions = void 0;
+    var BlobSASPermissions = class _BlobSASPermissions {
+      /**
+       * Creates a {@link BlobSASPermissions} from the specified permissions string. This method will throw an
+       * Error if it encounters a character that does not correspond to a valid permission.
+       *
+       * @param permissions -
+       */
+      static parse(permissions) {
+        const blobSASPermissions = new _BlobSASPermissions();
+        for (const char of permissions) {
+          switch (char) {
+            case "r":
+              blobSASPermissions.read = true;
+              break;
+            case "a":
+              blobSASPermissions.add = true;
+              break;
+            case "c":
+              blobSASPermissions.create = true;
+              break;
+            case "w":
+              blobSASPermissions.write = true;
+              break;
+            case "d":
+              blobSASPermissions.delete = true;
+              break;
+            case "x":
+              blobSASPermissions.deleteVersion = true;
+              break;
+            case "t":
+              blobSASPermissions.tag = true;
+              break;
+            case "m":
+              blobSASPermissions.move = true;
+              break;
+            case "e":
+              blobSASPermissions.execute = true;
+              break;
+            case "i":
+              blobSASPermissions.setImmutabilityPolicy = true;
+              break;
+            case "y":
+              blobSASPermissions.permanentDelete = true;
+              break;
+            default:
+              throw new RangeError(`Invalid permission: ${char}`);
+          }
+        }
+        return blobSASPermissions;
+      }
+      /**
+       * Creates a {@link BlobSASPermissions} from a raw object which contains same keys as it
+       * and boolean values for them.
+       *
+       * @param permissionLike -
+       */
+      static from(permissionLike) {
+        const blobSASPermissions = new _BlobSASPermissions();
+        if (permissionLike.read) {
+          blobSASPermissions.read = true;
+        }
+        if (permissionLike.add) {
+          blobSASPermissions.add = true;
+        }
+        if (permissionLike.create) {
+          blobSASPermissions.create = true;
+        }
+        if (permissionLike.write) {
+          blobSASPermissions.write = true;
+        }
+        if (permissionLike.delete) {
+          blobSASPermissions.delete = true;
+        }
+        if (permissionLike.deleteVersion) {
+          blobSASPermissions.deleteVersion = true;
+        }
+        if (permissionLike.tag) {
+          blobSASPermissions.tag = true;
+        }
+        if (permissionLike.move) {
+          blobSASPermissions.move = true;
+        }
+        if (permissionLike.execute) {
+          blobSASPermissions.execute = true;
+        }
+        if (permissionLike.setImmutabilityPolicy) {
+          blobSASPermissions.setImmutabilityPolicy = true;
+        }
+        if (permissionLike.permanentDelete) {
+          blobSASPermissions.permanentDelete = true;
+        }
+        return blobSASPermissions;
+      }
+      /**
+       * Specifies Read access granted.
+       */
+      read = false;
+      /**
+       * Specifies Add access granted.
+       */
+      add = false;
+      /**
+       * Specifies Create access granted.
+       */
+      create = false;
+      /**
+       * Specifies Write access granted.
+       */
+      write = false;
+      /**
+       * Specifies Delete access granted.
+       */
+      delete = false;
+      /**
+       * Specifies Delete version access granted.
+       */
+      deleteVersion = false;
+      /**
+       * Specfies Tag access granted.
+       */
+      tag = false;
+      /**
+       * Specifies Move access granted.
+       */
+      move = false;
+      /**
+       * Specifies Execute access granted.
+       */
+      execute = false;
+      /**
+       * Specifies SetImmutabilityPolicy access granted.
+       */
+      setImmutabilityPolicy = false;
+      /**
+       * Specifies that Permanent Delete is permitted.
+       */
+      permanentDelete = false;
+      /**
+       * Converts the given permissions to a string. Using this method will guarantee the permissions are in an
+       * order accepted by the service.
+       *
+       * @returns A string which represents the BlobSASPermissions
+       */
+      toString() {
+        const permissions = [];
+        if (this.read) {
+          permissions.push("r");
+        }
+        if (this.add) {
+          permissions.push("a");
+        }
+        if (this.create) {
+          permissions.push("c");
+        }
+        if (this.write) {
+          permissions.push("w");
+        }
+        if (this.delete) {
+          permissions.push("d");
+        }
+        if (this.deleteVersion) {
+          permissions.push("x");
+        }
+        if (this.tag) {
+          permissions.push("t");
+        }
+        if (this.move) {
+          permissions.push("m");
+        }
+        if (this.execute) {
+          permissions.push("e");
+        }
+        if (this.setImmutabilityPolicy) {
+          permissions.push("i");
+        }
+        if (this.permanentDelete) {
+          permissions.push("y");
+        }
+        return permissions.join("");
+      }
+    };
+    exports2.BlobSASPermissions = BlobSASPermissions;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/ContainerSASPermissions.js
+var require_ContainerSASPermissions = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/ContainerSASPermissions.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ContainerSASPermissions = void 0;
+    var ContainerSASPermissions = class _ContainerSASPermissions {
+      /**
+       * Creates an {@link ContainerSASPermissions} from the specified permissions string. This method will throw an
+       * Error if it encounters a character that does not correspond to a valid permission.
+       *
+       * @param permissions -
+       */
+      static parse(permissions) {
+        const containerSASPermissions = new _ContainerSASPermissions();
+        for (const char of permissions) {
+          switch (char) {
+            case "r":
+              containerSASPermissions.read = true;
+              break;
+            case "a":
+              containerSASPermissions.add = true;
+              break;
+            case "c":
+              containerSASPermissions.create = true;
+              break;
+            case "w":
+              containerSASPermissions.write = true;
+              break;
+            case "d":
+              containerSASPermissions.delete = true;
+              break;
+            case "l":
+              containerSASPermissions.list = true;
+              break;
+            case "t":
+              containerSASPermissions.tag = true;
+              break;
+            case "x":
+              containerSASPermissions.deleteVersion = true;
+              break;
+            case "m":
+              containerSASPermissions.move = true;
+              break;
+            case "e":
+              containerSASPermissions.execute = true;
+              break;
+            case "i":
+              containerSASPermissions.setImmutabilityPolicy = true;
+              break;
+            case "y":
+              containerSASPermissions.permanentDelete = true;
+              break;
+            case "f":
+              containerSASPermissions.filterByTags = true;
+              break;
+            default:
+              throw new RangeError(`Invalid permission ${char}`);
+          }
+        }
+        return containerSASPermissions;
+      }
+      /**
+       * Creates a {@link ContainerSASPermissions} from a raw object which contains same keys as it
+       * and boolean values for them.
+       *
+       * @param permissionLike -
+       */
+      static from(permissionLike) {
+        const containerSASPermissions = new _ContainerSASPermissions();
+        if (permissionLike.read) {
+          containerSASPermissions.read = true;
+        }
+        if (permissionLike.add) {
+          containerSASPermissions.add = true;
+        }
+        if (permissionLike.create) {
+          containerSASPermissions.create = true;
+        }
+        if (permissionLike.write) {
+          containerSASPermissions.write = true;
+        }
+        if (permissionLike.delete) {
+          containerSASPermissions.delete = true;
+        }
+        if (permissionLike.list) {
+          containerSASPermissions.list = true;
+        }
+        if (permissionLike.deleteVersion) {
+          containerSASPermissions.deleteVersion = true;
+        }
+        if (permissionLike.tag) {
+          containerSASPermissions.tag = true;
+        }
+        if (permissionLike.move) {
+          containerSASPermissions.move = true;
+        }
+        if (permissionLike.execute) {
+          containerSASPermissions.execute = true;
+        }
+        if (permissionLike.setImmutabilityPolicy) {
+          containerSASPermissions.setImmutabilityPolicy = true;
+        }
+        if (permissionLike.permanentDelete) {
+          containerSASPermissions.permanentDelete = true;
+        }
+        if (permissionLike.filterByTags) {
+          containerSASPermissions.filterByTags = true;
+        }
+        return containerSASPermissions;
+      }
+      /**
+       * Specifies Read access granted.
+       */
+      read = false;
+      /**
+       * Specifies Add access granted.
+       */
+      add = false;
+      /**
+       * Specifies Create access granted.
+       */
+      create = false;
+      /**
+       * Specifies Write access granted.
+       */
+      write = false;
+      /**
+       * Specifies Delete access granted.
+       */
+      delete = false;
+      /**
+       * Specifies Delete version access granted.
+       */
+      deleteVersion = false;
+      /**
+       * Specifies List access granted.
+       */
+      list = false;
+      /**
+       * Specfies Tag access granted.
+       */
+      tag = false;
+      /**
+       * Specifies Move access granted.
+       */
+      move = false;
+      /**
+       * Specifies Execute access granted.
+       */
+      execute = false;
+      /**
+       * Specifies SetImmutabilityPolicy access granted.
+       */
+      setImmutabilityPolicy = false;
+      /**
+       * Specifies that Permanent Delete is permitted.
+       */
+      permanentDelete = false;
+      /**
+       * Specifies that Filter Blobs by Tags is permitted.
+       */
+      filterByTags = false;
+      /**
+       * Converts the given permissions to a string. Using this method will guarantee the permissions are in an
+       * order accepted by the service.
+       *
+       * The order of the characters should be as specified here to ensure correctness.
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       */
+      toString() {
+        const permissions = [];
+        if (this.read) {
+          permissions.push("r");
+        }
+        if (this.add) {
+          permissions.push("a");
+        }
+        if (this.create) {
+          permissions.push("c");
+        }
+        if (this.write) {
+          permissions.push("w");
+        }
+        if (this.delete) {
+          permissions.push("d");
+        }
+        if (this.deleteVersion) {
+          permissions.push("x");
+        }
+        if (this.list) {
+          permissions.push("l");
+        }
+        if (this.tag) {
+          permissions.push("t");
+        }
+        if (this.move) {
+          permissions.push("m");
+        }
+        if (this.execute) {
+          permissions.push("e");
+        }
+        if (this.setImmutabilityPolicy) {
+          permissions.push("i");
+        }
+        if (this.permanentDelete) {
+          permissions.push("y");
+        }
+        if (this.filterByTags) {
+          permissions.push("f");
+        }
+        return permissions.join("");
+      }
+    };
+    exports2.ContainerSASPermissions = ContainerSASPermissions;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/credentials/UserDelegationKeyCredential.js
+var require_UserDelegationKeyCredential = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/credentials/UserDelegationKeyCredential.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.UserDelegationKeyCredential = void 0;
+    var node_crypto_1 = require("node:crypto");
+    var UserDelegationKeyCredential = class {
+      /**
+       * Azure Storage account name; readonly.
+       */
+      accountName;
+      /**
+       * Azure Storage user delegation key; readonly.
+       */
+      userDelegationKey;
+      /**
+       * Key value in Buffer type.
+       */
+      key;
+      /**
+       * Creates an instance of UserDelegationKeyCredential.
+       * @param accountName -
+       * @param userDelegationKey -
+       */
+      constructor(accountName, userDelegationKey) {
+        this.accountName = accountName;
+        this.userDelegationKey = userDelegationKey;
+        this.key = Buffer.from(userDelegationKey.value, "base64");
+      }
+      /**
+       * Generates a hash signature for an HTTP request or for a SAS.
+       *
+       * @param stringToSign -
+       */
+      computeHMACSHA256(stringToSign) {
+        return (0, node_crypto_1.createHmac)("sha256", this.key).update(stringToSign, "utf8").digest("base64");
+      }
+    };
+    exports2.UserDelegationKeyCredential = UserDelegationKeyCredential;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/SasIPRange.js
+var require_SasIPRange = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/SasIPRange.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ipRangeToString = ipRangeToString;
+    function ipRangeToString(ipRange) {
+      return ipRange.end ? `${ipRange.start}-${ipRange.end}` : ipRange.start;
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/SASQueryParameters.js
+var require_SASQueryParameters = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/SASQueryParameters.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.SASQueryParameters = exports2.SASProtocol = void 0;
+    var SasIPRange_js_1 = require_SasIPRange();
+    var utils_common_js_1 = require_utils_common();
+    var SASProtocol;
+    (function(SASProtocol2) {
+      SASProtocol2["Https"] = "https";
+      SASProtocol2["HttpsAndHttp"] = "https,http";
+    })(SASProtocol || (exports2.SASProtocol = SASProtocol = {}));
+    var SASQueryParameters = class {
+      /**
+       * The storage API version.
+       */
+      version;
+      /**
+       * Optional. The allowed HTTP protocol(s).
+       */
+      protocol;
+      /**
+       * Optional. The start time for this SAS token.
+       */
+      startsOn;
+      /**
+       * Optional only when identifier is provided. The expiry time for this SAS token.
+       */
+      expiresOn;
+      /**
+       * Optional only when identifier is provided.
+       * Please refer to {@link AccountSASPermissions}, {@link BlobSASPermissions}, or {@link ContainerSASPermissions} for
+       * more details.
+       */
+      permissions;
+      /**
+       * Optional. The storage services being accessed (only for Account SAS). Please refer to {@link AccountSASServices}
+       * for more details.
+       */
+      services;
+      /**
+       * Optional. The storage resource types being accessed (only for Account SAS). Please refer to
+       * {@link AccountSASResourceTypes} for more details.
+       */
+      resourceTypes;
+      /**
+       * Optional. The signed identifier (only for {@link BlobSASSignatureValues}).
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/establishing-a-stored-access-policy
+       */
+      identifier;
+      /**
+       * Optional. Encryption scope to use when sending requests authorized with this SAS URI.
+       */
+      encryptionScope;
+      /**
+       * Optional. Specifies which resources are accessible via the SAS (only for {@link BlobSASSignatureValues}).
+       * @see https://learn.microsoft.com/rest/api/storageservices/create-service-sas#specifying-the-signed-resource-blob-service-only
+       */
+      resource;
+      /**
+       * The signature for the SAS token.
+       */
+      signature;
+      /**
+       * Value for cache-control header in Blob/File Service SAS.
+       */
+      cacheControl;
+      /**
+       * Value for content-disposition header in Blob/File Service SAS.
+       */
+      contentDisposition;
+      /**
+       * Value for content-encoding header in Blob/File Service SAS.
+       */
+      contentEncoding;
+      /**
+       * Value for content-length header in Blob/File Service SAS.
+       */
+      contentLanguage;
+      /**
+       * Value for content-type header in Blob/File Service SAS.
+       */
+      contentType;
+      /**
+       * Inner value of getter ipRange.
+       */
+      ipRangeInner;
+      /**
+       * The Azure Active Directory object ID in GUID format.
+       * Property of user delegation key.
+       */
+      signedOid;
+      /**
+       * The Azure Active Directory tenant ID in GUID format.
+       * Property of user delegation key.
+       */
+      signedTenantId;
+      /**
+       * The date-time the key is active.
+       * Property of user delegation key.
+       */
+      signedStartsOn;
+      /**
+       * The date-time the key expires.
+       * Property of user delegation key.
+       */
+      signedExpiresOn;
+      /**
+       * Abbreviation of the Azure Storage service that accepts the user delegation key.
+       * Property of user delegation key.
+       */
+      signedService;
+      /**
+       * The service version that created the user delegation key.
+       * Property of user delegation key.
+       */
+      signedVersion;
+      /**
+       * Authorized AAD Object ID in GUID format. The AAD Object ID of a user authorized by the owner of the User Delegation Key
+       * to perform the action granted by the SAS. The Azure Storage service will ensure that the owner of the user delegation key
+       * has the required permissions before granting access but no additional permission check for the user specified in
+       * this value will be performed. This is only used for User Delegation SAS.
+       */
+      preauthorizedAgentObjectId;
+      /**
+       * A GUID value that will be logged in the storage diagnostic logs and can be used to correlate SAS generation with storage resource access.
+       * This is only used for User Delegation SAS.
+       */
+      correlationId;
+      /**
+       * Optional. IP range allowed for this SAS.
+       *
+       * @readonly
+       */
+      get ipRange() {
+        if (this.ipRangeInner) {
+          return {
+            end: this.ipRangeInner.end,
+            start: this.ipRangeInner.start
+          };
+        }
+        return void 0;
+      }
+      constructor(version, signature, permissionsOrOptions, services, resourceTypes, protocol, startsOn, expiresOn, ipRange, identifier, resource, cacheControl, contentDisposition, contentEncoding, contentLanguage, contentType, userDelegationKey, preauthorizedAgentObjectId, correlationId, encryptionScope) {
+        this.version = version;
+        this.signature = signature;
+        if (permissionsOrOptions !== void 0 && typeof permissionsOrOptions !== "string") {
+          this.permissions = permissionsOrOptions.permissions;
+          this.services = permissionsOrOptions.services;
+          this.resourceTypes = permissionsOrOptions.resourceTypes;
+          this.protocol = permissionsOrOptions.protocol;
+          this.startsOn = permissionsOrOptions.startsOn;
+          this.expiresOn = permissionsOrOptions.expiresOn;
+          this.ipRangeInner = permissionsOrOptions.ipRange;
+          this.identifier = permissionsOrOptions.identifier;
+          this.encryptionScope = permissionsOrOptions.encryptionScope;
+          this.resource = permissionsOrOptions.resource;
+          this.cacheControl = permissionsOrOptions.cacheControl;
+          this.contentDisposition = permissionsOrOptions.contentDisposition;
+          this.contentEncoding = permissionsOrOptions.contentEncoding;
+          this.contentLanguage = permissionsOrOptions.contentLanguage;
+          this.contentType = permissionsOrOptions.contentType;
+          if (permissionsOrOptions.userDelegationKey) {
+            this.signedOid = permissionsOrOptions.userDelegationKey.signedObjectId;
+            this.signedTenantId = permissionsOrOptions.userDelegationKey.signedTenantId;
+            this.signedStartsOn = permissionsOrOptions.userDelegationKey.signedStartsOn;
+            this.signedExpiresOn = permissionsOrOptions.userDelegationKey.signedExpiresOn;
+            this.signedService = permissionsOrOptions.userDelegationKey.signedService;
+            this.signedVersion = permissionsOrOptions.userDelegationKey.signedVersion;
+            this.preauthorizedAgentObjectId = permissionsOrOptions.preauthorizedAgentObjectId;
+            this.correlationId = permissionsOrOptions.correlationId;
+          }
+        } else {
+          this.services = services;
+          this.resourceTypes = resourceTypes;
+          this.expiresOn = expiresOn;
+          this.permissions = permissionsOrOptions;
+          this.protocol = protocol;
+          this.startsOn = startsOn;
+          this.ipRangeInner = ipRange;
+          this.encryptionScope = encryptionScope;
+          this.identifier = identifier;
+          this.resource = resource;
+          this.cacheControl = cacheControl;
+          this.contentDisposition = contentDisposition;
+          this.contentEncoding = contentEncoding;
+          this.contentLanguage = contentLanguage;
+          this.contentType = contentType;
+          if (userDelegationKey) {
+            this.signedOid = userDelegationKey.signedObjectId;
+            this.signedTenantId = userDelegationKey.signedTenantId;
+            this.signedStartsOn = userDelegationKey.signedStartsOn;
+            this.signedExpiresOn = userDelegationKey.signedExpiresOn;
+            this.signedService = userDelegationKey.signedService;
+            this.signedVersion = userDelegationKey.signedVersion;
+            this.preauthorizedAgentObjectId = preauthorizedAgentObjectId;
+            this.correlationId = correlationId;
+          }
+        }
+      }
+      /**
+       * Encodes all SAS query parameters into a string that can be appended to a URL.
+       *
+       */
+      toString() {
+        const params = [
+          "sv",
+          "ss",
+          "srt",
+          "spr",
+          "st",
+          "se",
+          "sip",
+          "si",
+          "ses",
+          "skoid",
+          // Signed object ID
+          "sktid",
+          // Signed tenant ID
+          "skt",
+          // Signed key start time
+          "ske",
+          // Signed key expiry time
+          "sks",
+          // Signed key service
+          "skv",
+          // Signed key version
+          "sr",
+          "sp",
+          "sig",
+          "rscc",
+          "rscd",
+          "rsce",
+          "rscl",
+          "rsct",
+          "saoid",
+          "scid"
+        ];
+        const queries = [];
+        for (const param of params) {
+          switch (param) {
+            case "sv":
+              this.tryAppendQueryParameter(queries, param, this.version);
+              break;
+            case "ss":
+              this.tryAppendQueryParameter(queries, param, this.services);
+              break;
+            case "srt":
+              this.tryAppendQueryParameter(queries, param, this.resourceTypes);
+              break;
+            case "spr":
+              this.tryAppendQueryParameter(queries, param, this.protocol);
+              break;
+            case "st":
+              this.tryAppendQueryParameter(queries, param, this.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.startsOn, false) : void 0);
+              break;
+            case "se":
+              this.tryAppendQueryParameter(queries, param, this.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.expiresOn, false) : void 0);
+              break;
+            case "sip":
+              this.tryAppendQueryParameter(queries, param, this.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(this.ipRange) : void 0);
+              break;
+            case "si":
+              this.tryAppendQueryParameter(queries, param, this.identifier);
+              break;
+            case "ses":
+              this.tryAppendQueryParameter(queries, param, this.encryptionScope);
+              break;
+            case "skoid":
+              this.tryAppendQueryParameter(queries, param, this.signedOid);
+              break;
+            case "sktid":
+              this.tryAppendQueryParameter(queries, param, this.signedTenantId);
+              break;
+            case "skt":
+              this.tryAppendQueryParameter(queries, param, this.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.signedStartsOn, false) : void 0);
+              break;
+            case "ske":
+              this.tryAppendQueryParameter(queries, param, this.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.signedExpiresOn, false) : void 0);
+              break;
+            case "sks":
+              this.tryAppendQueryParameter(queries, param, this.signedService);
+              break;
+            case "skv":
+              this.tryAppendQueryParameter(queries, param, this.signedVersion);
+              break;
+            case "sr":
+              this.tryAppendQueryParameter(queries, param, this.resource);
+              break;
+            case "sp":
+              this.tryAppendQueryParameter(queries, param, this.permissions);
+              break;
+            case "sig":
+              this.tryAppendQueryParameter(queries, param, this.signature);
+              break;
+            case "rscc":
+              this.tryAppendQueryParameter(queries, param, this.cacheControl);
+              break;
+            case "rscd":
+              this.tryAppendQueryParameter(queries, param, this.contentDisposition);
+              break;
+            case "rsce":
+              this.tryAppendQueryParameter(queries, param, this.contentEncoding);
+              break;
+            case "rscl":
+              this.tryAppendQueryParameter(queries, param, this.contentLanguage);
+              break;
+            case "rsct":
+              this.tryAppendQueryParameter(queries, param, this.contentType);
+              break;
+            case "saoid":
+              this.tryAppendQueryParameter(queries, param, this.preauthorizedAgentObjectId);
+              break;
+            case "scid":
+              this.tryAppendQueryParameter(queries, param, this.correlationId);
+              break;
+          }
+        }
+        return queries.join("&");
+      }
+      /**
+       * A private helper method used to filter and append query key/value pairs into an array.
+       *
+       * @param queries -
+       * @param key -
+       * @param value -
+       */
+      tryAppendQueryParameter(queries, key, value) {
+        if (!value) {
+          return;
+        }
+        key = encodeURIComponent(key);
+        value = encodeURIComponent(value);
+        if (key.length > 0 && value.length > 0) {
+          queries.push(`${key}=${value}`);
+        }
+      }
+    };
+    exports2.SASQueryParameters = SASQueryParameters;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASSignatureValues.js
+var require_BlobSASSignatureValues = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASSignatureValues.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.generateBlobSASQueryParameters = generateBlobSASQueryParameters;
+    exports2.generateBlobSASQueryParametersInternal = generateBlobSASQueryParametersInternal;
+    var BlobSASPermissions_js_1 = require_BlobSASPermissions();
+    var ContainerSASPermissions_js_1 = require_ContainerSASPermissions();
+    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
+    var UserDelegationKeyCredential_js_1 = require_UserDelegationKeyCredential();
+    var SasIPRange_js_1 = require_SasIPRange();
+    var SASQueryParameters_js_1 = require_SASQueryParameters();
+    var constants_js_1 = require_constants15();
+    var utils_common_js_1 = require_utils_common();
+    function generateBlobSASQueryParameters(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName) {
+      return generateBlobSASQueryParametersInternal(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName).sasQueryParameters;
+    }
+    function generateBlobSASQueryParametersInternal(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName) {
+      const version = blobSASSignatureValues.version ? blobSASSignatureValues.version : constants_js_1.SERVICE_VERSION;
+      const sharedKeyCredential = sharedKeyCredentialOrUserDelegationKey instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential ? sharedKeyCredentialOrUserDelegationKey : void 0;
+      let userDelegationKeyCredential;
+      if (sharedKeyCredential === void 0 && accountName !== void 0) {
+        userDelegationKeyCredential = new UserDelegationKeyCredential_js_1.UserDelegationKeyCredential(accountName, sharedKeyCredentialOrUserDelegationKey);
+      }
+      if (sharedKeyCredential === void 0 && userDelegationKeyCredential === void 0) {
+        throw TypeError("Invalid sharedKeyCredential, userDelegationKey or accountName.");
+      }
+      if (version >= "2020-12-06") {
+        if (sharedKeyCredential !== void 0) {
+          return generateBlobSASQueryParameters20201206(blobSASSignatureValues, sharedKeyCredential);
+        } else {
+          if (version >= "2025-07-05") {
+            return generateBlobSASQueryParametersUDK20250705(blobSASSignatureValues, userDelegationKeyCredential);
+          } else {
+            return generateBlobSASQueryParametersUDK20201206(blobSASSignatureValues, userDelegationKeyCredential);
+          }
+        }
+      }
+      if (version >= "2018-11-09") {
+        if (sharedKeyCredential !== void 0) {
+          return generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKeyCredential);
+        } else {
+          if (version >= "2020-02-10") {
+            return generateBlobSASQueryParametersUDK20200210(blobSASSignatureValues, userDelegationKeyCredential);
+          } else {
+            return generateBlobSASQueryParametersUDK20181109(blobSASSignatureValues, userDelegationKeyCredential);
+          }
+        }
+      }
+      if (version >= "2015-04-05") {
+        if (sharedKeyCredential !== void 0) {
+          return generateBlobSASQueryParameters20150405(blobSASSignatureValues, sharedKeyCredential);
+        } else {
+          throw new RangeError("'version' must be >= '2018-11-09' when generating user delegation SAS using user delegation key.");
+        }
+      }
+      throw new RangeError("'version' must be >= '2015-04-05'.");
+    }
+    function generateBlobSASQueryParameters20150405(blobSASSignatureValues, sharedKeyCredential) {
+      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
+      if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
+        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
+      }
+      let resource = "c";
+      if (blobSASSignatureValues.blobName) {
+        resource = "b";
+      }
+      let verifiedPermissions;
+      if (blobSASSignatureValues.permissions) {
+        if (blobSASSignatureValues.blobName) {
+          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        } else {
+          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        }
+      }
+      const stringToSign = [
+        verifiedPermissions ? verifiedPermissions : "",
+        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
+        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
+        getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
+        blobSASSignatureValues.identifier,
+        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
+        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
+        blobSASSignatureValues.version,
+        blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
+        blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
+        blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
+        blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
+        blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : ""
+      ].join("\n");
+      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType),
+        stringToSign
+      };
+    }
+    function generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKeyCredential) {
+      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
+      if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
+        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
+      }
+      let resource = "c";
+      let timestamp2 = blobSASSignatureValues.snapshotTime;
+      if (blobSASSignatureValues.blobName) {
+        resource = "b";
+        if (blobSASSignatureValues.snapshotTime) {
+          resource = "bs";
+        } else if (blobSASSignatureValues.versionId) {
+          resource = "bv";
+          timestamp2 = blobSASSignatureValues.versionId;
+        }
+      }
+      let verifiedPermissions;
+      if (blobSASSignatureValues.permissions) {
+        if (blobSASSignatureValues.blobName) {
+          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        } else {
+          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        }
+      }
+      const stringToSign = [
+        verifiedPermissions ? verifiedPermissions : "",
+        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
+        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
+        getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
+        blobSASSignatureValues.identifier,
+        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
+        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
+        blobSASSignatureValues.version,
+        resource,
+        timestamp2,
+        blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
+        blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
+        blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
+        blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
+        blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : ""
+      ].join("\n");
+      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType),
+        stringToSign
+      };
+    }
+    function generateBlobSASQueryParameters20201206(blobSASSignatureValues, sharedKeyCredential) {
+      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
+      if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
+        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
+      }
+      let resource = "c";
+      let timestamp2 = blobSASSignatureValues.snapshotTime;
+      if (blobSASSignatureValues.blobName) {
+        resource = "b";
+        if (blobSASSignatureValues.snapshotTime) {
+          resource = "bs";
+        } else if (blobSASSignatureValues.versionId) {
+          resource = "bv";
+          timestamp2 = blobSASSignatureValues.versionId;
+        }
+      }
+      let verifiedPermissions;
+      if (blobSASSignatureValues.permissions) {
+        if (blobSASSignatureValues.blobName) {
+          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        } else {
+          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        }
+      }
+      const stringToSign = [
+        verifiedPermissions ? verifiedPermissions : "",
+        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
+        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
+        getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
+        blobSASSignatureValues.identifier,
+        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
+        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
+        blobSASSignatureValues.version,
+        resource,
+        timestamp2,
+        blobSASSignatureValues.encryptionScope,
+        blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
+        blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
+        blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
+        blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
+        blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : ""
+      ].join("\n");
+      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, void 0, void 0, void 0, blobSASSignatureValues.encryptionScope),
+        stringToSign
+      };
+    }
+    function generateBlobSASQueryParametersUDK20181109(blobSASSignatureValues, userDelegationKeyCredential) {
+      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
+      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
+        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
+      }
+      let resource = "c";
+      let timestamp2 = blobSASSignatureValues.snapshotTime;
+      if (blobSASSignatureValues.blobName) {
+        resource = "b";
+        if (blobSASSignatureValues.snapshotTime) {
+          resource = "bs";
+        } else if (blobSASSignatureValues.versionId) {
+          resource = "bv";
+          timestamp2 = blobSASSignatureValues.versionId;
+        }
+      }
+      let verifiedPermissions;
+      if (blobSASSignatureValues.permissions) {
+        if (blobSASSignatureValues.blobName) {
+          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        } else {
+          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        }
+      }
+      const stringToSign = [
+        verifiedPermissions ? verifiedPermissions : "",
+        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
+        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
+        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
+        userDelegationKeyCredential.userDelegationKey.signedObjectId,
+        userDelegationKeyCredential.userDelegationKey.signedTenantId,
+        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedService,
+        userDelegationKeyCredential.userDelegationKey.signedVersion,
+        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
+        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
+        blobSASSignatureValues.version,
+        resource,
+        timestamp2,
+        blobSASSignatureValues.cacheControl,
+        blobSASSignatureValues.contentDisposition,
+        blobSASSignatureValues.contentEncoding,
+        blobSASSignatureValues.contentLanguage,
+        blobSASSignatureValues.contentType
+      ].join("\n");
+      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey),
+        stringToSign
+      };
+    }
+    function generateBlobSASQueryParametersUDK20200210(blobSASSignatureValues, userDelegationKeyCredential) {
+      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
+      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
+        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
+      }
+      let resource = "c";
+      let timestamp2 = blobSASSignatureValues.snapshotTime;
+      if (blobSASSignatureValues.blobName) {
+        resource = "b";
+        if (blobSASSignatureValues.snapshotTime) {
+          resource = "bs";
+        } else if (blobSASSignatureValues.versionId) {
+          resource = "bv";
+          timestamp2 = blobSASSignatureValues.versionId;
+        }
+      }
+      let verifiedPermissions;
+      if (blobSASSignatureValues.permissions) {
+        if (blobSASSignatureValues.blobName) {
+          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        } else {
+          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        }
+      }
+      const stringToSign = [
+        verifiedPermissions ? verifiedPermissions : "",
+        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
+        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
+        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
+        userDelegationKeyCredential.userDelegationKey.signedObjectId,
+        userDelegationKeyCredential.userDelegationKey.signedTenantId,
+        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedService,
+        userDelegationKeyCredential.userDelegationKey.signedVersion,
+        blobSASSignatureValues.preauthorizedAgentObjectId,
+        void 0,
+        // agentObjectId
+        blobSASSignatureValues.correlationId,
+        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
+        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
+        blobSASSignatureValues.version,
+        resource,
+        timestamp2,
+        blobSASSignatureValues.cacheControl,
+        blobSASSignatureValues.contentDisposition,
+        blobSASSignatureValues.contentEncoding,
+        blobSASSignatureValues.contentLanguage,
+        blobSASSignatureValues.contentType
+      ].join("\n");
+      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId),
+        stringToSign
+      };
+    }
+    function generateBlobSASQueryParametersUDK20201206(blobSASSignatureValues, userDelegationKeyCredential) {
+      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
+      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
+        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
+      }
+      let resource = "c";
+      let timestamp2 = blobSASSignatureValues.snapshotTime;
+      if (blobSASSignatureValues.blobName) {
+        resource = "b";
+        if (blobSASSignatureValues.snapshotTime) {
+          resource = "bs";
+        } else if (blobSASSignatureValues.versionId) {
+          resource = "bv";
+          timestamp2 = blobSASSignatureValues.versionId;
+        }
+      }
+      let verifiedPermissions;
+      if (blobSASSignatureValues.permissions) {
+        if (blobSASSignatureValues.blobName) {
+          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        } else {
+          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        }
+      }
+      const stringToSign = [
+        verifiedPermissions ? verifiedPermissions : "",
+        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
+        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
+        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
+        userDelegationKeyCredential.userDelegationKey.signedObjectId,
+        userDelegationKeyCredential.userDelegationKey.signedTenantId,
+        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedService,
+        userDelegationKeyCredential.userDelegationKey.signedVersion,
+        blobSASSignatureValues.preauthorizedAgentObjectId,
+        void 0,
+        // agentObjectId
+        blobSASSignatureValues.correlationId,
+        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
+        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
+        blobSASSignatureValues.version,
+        resource,
+        timestamp2,
+        blobSASSignatureValues.encryptionScope,
+        blobSASSignatureValues.cacheControl,
+        blobSASSignatureValues.contentDisposition,
+        blobSASSignatureValues.contentEncoding,
+        blobSASSignatureValues.contentLanguage,
+        blobSASSignatureValues.contentType
+      ].join("\n");
+      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId, blobSASSignatureValues.encryptionScope),
+        stringToSign
+      };
+    }
+    function generateBlobSASQueryParametersUDK20250705(blobSASSignatureValues, userDelegationKeyCredential) {
+      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
+      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
+        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
+      }
+      let resource = "c";
+      let timestamp2 = blobSASSignatureValues.snapshotTime;
+      if (blobSASSignatureValues.blobName) {
+        resource = "b";
+        if (blobSASSignatureValues.snapshotTime) {
+          resource = "bs";
+        } else if (blobSASSignatureValues.versionId) {
+          resource = "bv";
+          timestamp2 = blobSASSignatureValues.versionId;
+        }
+      }
+      let verifiedPermissions;
+      if (blobSASSignatureValues.permissions) {
+        if (blobSASSignatureValues.blobName) {
+          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        } else {
+          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        }
+      }
+      const stringToSign = [
+        verifiedPermissions ? verifiedPermissions : "",
+        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
+        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
+        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
+        userDelegationKeyCredential.userDelegationKey.signedObjectId,
+        userDelegationKeyCredential.userDelegationKey.signedTenantId,
+        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedService,
+        userDelegationKeyCredential.userDelegationKey.signedVersion,
+        blobSASSignatureValues.preauthorizedAgentObjectId,
+        void 0,
+        // agentObjectId
+        blobSASSignatureValues.correlationId,
+        void 0,
+        // SignedKeyDelegatedUserTenantId, will be added in a future release.
+        void 0,
+        // SignedDelegatedUserObjectId, will be added in future release.
+        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
+        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
+        blobSASSignatureValues.version,
+        resource,
+        timestamp2,
+        blobSASSignatureValues.encryptionScope,
+        blobSASSignatureValues.cacheControl,
+        blobSASSignatureValues.contentDisposition,
+        blobSASSignatureValues.contentEncoding,
+        blobSASSignatureValues.contentLanguage,
+        blobSASSignatureValues.contentType
+      ].join("\n");
+      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId, blobSASSignatureValues.encryptionScope),
+        stringToSign
+      };
+    }
+    function getCanonicalName(accountName, containerName, blobName) {
+      const elements = [`/blob/${accountName}/${containerName}`];
+      if (blobName) {
+        elements.push(`/${blobName}`);
+      }
+      return elements.join("");
+    }
+    function SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues) {
+      const version = blobSASSignatureValues.version ? blobSASSignatureValues.version : constants_js_1.SERVICE_VERSION;
+      if (blobSASSignatureValues.snapshotTime && version < "2018-11-09") {
+        throw RangeError("'version' must be >= '2018-11-09' when providing 'snapshotTime'.");
+      }
+      if (blobSASSignatureValues.blobName === void 0 && blobSASSignatureValues.snapshotTime) {
+        throw RangeError("Must provide 'blobName' when providing 'snapshotTime'.");
+      }
+      if (blobSASSignatureValues.versionId && version < "2019-10-10") {
+        throw RangeError("'version' must be >= '2019-10-10' when providing 'versionId'.");
+      }
+      if (blobSASSignatureValues.blobName === void 0 && blobSASSignatureValues.versionId) {
+        throw RangeError("Must provide 'blobName' when providing 'versionId'.");
+      }
+      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.setImmutabilityPolicy && version < "2020-08-04") {
+        throw RangeError("'version' must be >= '2020-08-04' when provided 'i' permission.");
+      }
+      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.deleteVersion && version < "2019-10-10") {
+        throw RangeError("'version' must be >= '2019-10-10' when providing 'x' permission.");
+      }
+      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.permanentDelete && version < "2019-10-10") {
+        throw RangeError("'version' must be >= '2019-10-10' when providing 'y' permission.");
+      }
+      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.tag && version < "2019-12-12") {
+        throw RangeError("'version' must be >= '2019-12-12' when providing 't' permission.");
+      }
+      if (version < "2020-02-10" && blobSASSignatureValues.permissions && (blobSASSignatureValues.permissions.move || blobSASSignatureValues.permissions.execute)) {
+        throw RangeError("'version' must be >= '2020-02-10' when providing the 'm' or 'e' permission.");
+      }
+      if (version < "2021-04-10" && blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.filterByTags) {
+        throw RangeError("'version' must be >= '2021-04-10' when providing the 'f' permission.");
+      }
+      if (version < "2020-02-10" && (blobSASSignatureValues.preauthorizedAgentObjectId || blobSASSignatureValues.correlationId)) {
+        throw RangeError("'version' must be >= '2020-02-10' when providing 'preauthorizedAgentObjectId' or 'correlationId'.");
+      }
+      if (blobSASSignatureValues.encryptionScope && version < "2020-12-06") {
+        throw RangeError("'version' must be >= '2020-12-06' when provided 'encryptionScope' in SAS.");
+      }
+      blobSASSignatureValues.version = version;
+      return blobSASSignatureValues;
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BlobLeaseClient.js
+var require_BlobLeaseClient = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BlobLeaseClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobLeaseClient = void 0;
+    var core_util_1 = require_commonjs4();
+    var constants_js_1 = require_constants15();
+    var tracing_js_1 = require_tracing();
+    var utils_common_js_1 = require_utils_common();
+    var BlobLeaseClient = class {
+      _leaseId;
+      _url;
+      _containerOrBlobOperation;
+      _isContainer;
+      /**
+       * Gets the lease Id.
+       *
+       * @readonly
+       */
+      get leaseId() {
+        return this._leaseId;
+      }
+      /**
+       * Gets the url.
+       *
+       * @readonly
+       */
+      get url() {
+        return this._url;
+      }
+      /**
+       * Creates an instance of BlobLeaseClient.
+       * @param client - The client to make the lease operation requests.
+       * @param leaseId - Initial proposed lease id.
+       */
+      constructor(client, leaseId) {
+        const clientContext = client.storageClientContext;
+        this._url = client.url;
+        if (client.name === void 0) {
+          this._isContainer = true;
+          this._containerOrBlobOperation = clientContext.container;
+        } else {
+          this._isContainer = false;
+          this._containerOrBlobOperation = clientContext.blob;
+        }
+        if (!leaseId) {
+          leaseId = (0, core_util_1.randomUUID)();
+        }
+        this._leaseId = leaseId;
+      }
+      /**
+       * Establishes and manages a lock on a container for delete operations, or on a blob
+       * for write and delete operations.
+       * The lock duration can be 15 to 60 seconds, or can be infinite.
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
+       * and
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
+       *
+       * @param duration - Must be between 15 to 60 seconds, or infinite (-1)
+       * @param options - option to configure lease management operations.
+       * @returns Response data for acquire lease operation.
+       */
+      async acquireLease(duration, options = {}) {
+        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
+          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
+        }
+        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-acquireLease", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.acquireLease({
+            abortSignal: options.abortSignal,
+            duration,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            proposedLeaseId: this._leaseId,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * To change the ID of the lease.
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
+       * and
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
+       *
+       * @param proposedLeaseId - the proposed new lease Id.
+       * @param options - option to configure lease management operations.
+       * @returns Response data for change lease operation.
+       */
+      async changeLease(proposedLeaseId, options = {}) {
+        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
+          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
+        }
+        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-changeLease", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.changeLease(this._leaseId, proposedLeaseId, {
+            abortSignal: options.abortSignal,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          this._leaseId = proposedLeaseId;
+          return response;
+        });
+      }
+      /**
+       * To free the lease if it is no longer needed so that another client may
+       * immediately acquire a lease against the container or the blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
+       * and
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
+       *
+       * @param options - option to configure lease management operations.
+       * @returns Response data for release lease operation.
+       */
+      async releaseLease(options = {}) {
+        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
+          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
+        }
+        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-releaseLease", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.releaseLease(this._leaseId, {
+            abortSignal: options.abortSignal,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * To renew the lease.
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
+       * and
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
+       *
+       * @param options - Optional option to configure lease management operations.
+       * @returns Response data for renew lease operation.
+       */
+      async renewLease(options = {}) {
+        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
+          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
+        }
+        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-renewLease", options, async (updatedOptions) => {
+          return this._containerOrBlobOperation.renewLease(this._leaseId, {
+            abortSignal: options.abortSignal,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          });
+        });
+      }
+      /**
+       * To end the lease but ensure that another client cannot acquire a new lease
+       * until the current lease period has expired.
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
+       * and
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
+       *
+       * @param breakPeriod - Break period
+       * @param options - Optional options to configure lease management operations.
+       * @returns Response data for break lease operation.
+       */
+      async breakLease(breakPeriod, options = {}) {
+        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
+          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
+        }
+        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-breakLease", options, async (updatedOptions) => {
+          const operationOptions = {
+            abortSignal: options.abortSignal,
+            breakPeriod,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          };
+          return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.breakLease(operationOptions));
+        });
+      }
+    };
+    exports2.BlobLeaseClient = BlobLeaseClient;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/utils/RetriableReadableStream.js
+var require_RetriableReadableStream = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/RetriableReadableStream.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.RetriableReadableStream = void 0;
+    var abort_controller_1 = require_commonjs11();
+    var node_stream_1 = require("node:stream");
+    var RetriableReadableStream = class extends node_stream_1.Readable {
+      start;
+      offset;
+      end;
+      getter;
+      source;
+      retries = 0;
+      maxRetryRequests;
+      onProgress;
+      options;
+      /**
+       * Creates an instance of RetriableReadableStream.
+       *
+       * @param source - The current ReadableStream returned from getter
+       * @param getter - A method calling downloading request returning
+       *                                      a new ReadableStream from specified offset
+       * @param offset - Offset position in original data source to read
+       * @param count - How much data in original data source to read
+       * @param options -
+       */
+      constructor(source, getter, offset, count, options = {}) {
+        super({ highWaterMark: options.highWaterMark });
+        this.getter = getter;
+        this.source = source;
+        this.start = offset;
+        this.offset = offset;
+        this.end = offset + count - 1;
+        this.maxRetryRequests = options.maxRetryRequests && options.maxRetryRequests >= 0 ? options.maxRetryRequests : 0;
+        this.onProgress = options.onProgress;
+        this.options = options;
+        this.setSourceEventHandlers();
+      }
+      _read() {
+        this.source.resume();
+      }
+      setSourceEventHandlers() {
+        this.source.on("data", this.sourceDataHandler);
+        this.source.on("end", this.sourceErrorOrEndHandler);
+        this.source.on("error", this.sourceErrorOrEndHandler);
+        this.source.on("aborted", this.sourceAbortedHandler);
+      }
+      removeSourceEventHandlers() {
+        this.source.removeListener("data", this.sourceDataHandler);
+        this.source.removeListener("end", this.sourceErrorOrEndHandler);
+        this.source.removeListener("error", this.sourceErrorOrEndHandler);
+        this.source.removeListener("aborted", this.sourceAbortedHandler);
+      }
+      sourceDataHandler = (data) => {
+        if (this.options.doInjectErrorOnce) {
+          this.options.doInjectErrorOnce = void 0;
+          this.source.pause();
+          this.sourceErrorOrEndHandler();
+          this.source.destroy();
+          return;
+        }
+        this.offset += data.length;
+        if (this.onProgress) {
+          this.onProgress({ loadedBytes: this.offset - this.start });
+        }
+        if (!this.push(data)) {
+          this.source.pause();
+        }
+      };
+      sourceAbortedHandler = () => {
+        const abortError = new abort_controller_1.AbortError("The operation was aborted.");
+        this.destroy(abortError);
+      };
+      sourceErrorOrEndHandler = (err) => {
+        if (err && err.name === "AbortError") {
+          this.destroy(err);
+          return;
+        }
+        this.removeSourceEventHandlers();
+        if (this.offset - 1 === this.end) {
+          this.push(null);
+        } else if (this.offset <= this.end) {
+          if (this.retries < this.maxRetryRequests) {
+            this.retries += 1;
+            this.getter(this.offset).then((newSource) => {
+              this.source = newSource;
+              this.setSourceEventHandlers();
+              return;
+            }).catch((error3) => {
+              this.destroy(error3);
+            });
+          } else {
+            this.destroy(new Error(`Data corruption failure: received less data than required and reached maxRetires limitation. Received data offset: ${this.offset - 1}, data needed offset: ${this.end}, retries: ${this.retries}, max retries: ${this.maxRetryRequests}`));
+          }
+        } else {
+          this.destroy(new Error(`Data corruption failure: Received more data than original request, data needed offset is ${this.end}, received offset: ${this.offset - 1}`));
+        }
+      };
+      _destroy(error3, callback) {
+        this.removeSourceEventHandlers();
+        this.source.destroy();
+        callback(error3 === null ? void 0 : error3);
+      }
+    };
+    exports2.RetriableReadableStream = RetriableReadableStream;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BlobDownloadResponse.js
+var require_BlobDownloadResponse = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BlobDownloadResponse.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobDownloadResponse = void 0;
+    var core_util_1 = require_commonjs4();
+    var RetriableReadableStream_js_1 = require_RetriableReadableStream();
+    var BlobDownloadResponse = class {
+      /**
+       * Indicates that the service supports
+       * requests for partial file content.
+       *
+       * @readonly
+       */
+      get acceptRanges() {
+        return this.originalResponse.acceptRanges;
+      }
+      /**
+       * Returns if it was previously specified
+       * for the file.
+       *
+       * @readonly
+       */
+      get cacheControl() {
+        return this.originalResponse.cacheControl;
+      }
+      /**
+       * Returns the value that was specified
+       * for the 'x-ms-content-disposition' header and specifies how to process the
+       * response.
+       *
+       * @readonly
+       */
+      get contentDisposition() {
+        return this.originalResponse.contentDisposition;
+      }
+      /**
+       * Returns the value that was specified
+       * for the Content-Encoding request header.
+       *
+       * @readonly
+       */
+      get contentEncoding() {
+        return this.originalResponse.contentEncoding;
+      }
+      /**
+       * Returns the value that was specified
+       * for the Content-Language request header.
+       *
+       * @readonly
+       */
+      get contentLanguage() {
+        return this.originalResponse.contentLanguage;
+      }
+      /**
+       * The current sequence number for a
+       * page blob. This header is not returned for block blobs or append blobs.
+       *
+       * @readonly
+       */
+      get blobSequenceNumber() {
+        return this.originalResponse.blobSequenceNumber;
+      }
+      /**
+       * The blob's type. Possible values include:
+       * 'BlockBlob', 'PageBlob', 'AppendBlob'.
+       *
+       * @readonly
+       */
+      get blobType() {
+        return this.originalResponse.blobType;
+      }
+      /**
+       * The number of bytes present in the
+       * response body.
+       *
+       * @readonly
+       */
+      get contentLength() {
+        return this.originalResponse.contentLength;
+      }
+      /**
+       * If the file has an MD5 hash and the
+       * request is to read the full file, this response header is returned so that
+       * the client can check for message content integrity. If the request is to
+       * read a specified range and the 'x-ms-range-get-content-md5' is set to
+       * true, then the request returns an MD5 hash for the range, as long as the
+       * range size is less than or equal to 4 MB. If neither of these sets of
+       * conditions is true, then no value is returned for the 'Content-MD5'
+       * header.
+       *
+       * @readonly
+       */
+      get contentMD5() {
+        return this.originalResponse.contentMD5;
+      }
+      /**
+       * Indicates the range of bytes returned if
+       * the client requested a subset of the file by setting the Range request
+       * header.
+       *
+       * @readonly
+       */
+      get contentRange() {
+        return this.originalResponse.contentRange;
+      }
+      /**
+       * The content type specified for the file.
+       * The default content type is 'application/octet-stream'
+       *
+       * @readonly
+       */
+      get contentType() {
+        return this.originalResponse.contentType;
+      }
+      /**
+       * Conclusion time of the last attempted
+       * Copy File operation where this file was the destination file. This value
+       * can specify the time of a completed, aborted, or failed copy attempt.
+       *
+       * @readonly
+       */
+      get copyCompletedOn() {
+        return this.originalResponse.copyCompletedOn;
+      }
+      /**
+       * String identifier for the last attempted Copy
+       * File operation where this file was the destination file.
+       *
+       * @readonly
+       */
+      get copyId() {
+        return this.originalResponse.copyId;
+      }
+      /**
+       * Contains the number of bytes copied and
+       * the total bytes in the source in the last attempted Copy File operation
+       * where this file was the destination file. Can show between 0 and
+       * Content-Length bytes copied.
+       *
+       * @readonly
+       */
+      get copyProgress() {
+        return this.originalResponse.copyProgress;
+      }
+      /**
+       * URL up to 2KB in length that specifies the
+       * source file used in the last attempted Copy File operation where this file
+       * was the destination file.
+       *
+       * @readonly
+       */
+      get copySource() {
+        return this.originalResponse.copySource;
+      }
+      /**
+       * State of the copy operation
+       * identified by 'x-ms-copy-id'. Possible values include: 'pending',
+       * 'success', 'aborted', 'failed'
+       *
+       * @readonly
+       */
+      get copyStatus() {
+        return this.originalResponse.copyStatus;
+      }
+      /**
+       * Only appears when
+       * x-ms-copy-status is failed or pending. Describes cause of fatal or
+       * non-fatal copy operation failure.
+       *
+       * @readonly
+       */
+      get copyStatusDescription() {
+        return this.originalResponse.copyStatusDescription;
+      }
+      /**
+       * When a blob is leased,
+       * specifies whether the lease is of infinite or fixed duration. Possible
+       * values include: 'infinite', 'fixed'.
+       *
+       * @readonly
+       */
+      get leaseDuration() {
+        return this.originalResponse.leaseDuration;
+      }
+      /**
+       * Lease state of the blob. Possible
+       * values include: 'available', 'leased', 'expired', 'breaking', 'broken'.
+       *
+       * @readonly
+       */
+      get leaseState() {
+        return this.originalResponse.leaseState;
+      }
+      /**
+       * The current lease status of the
+       * blob. Possible values include: 'locked', 'unlocked'.
+       *
+       * @readonly
+       */
+      get leaseStatus() {
+        return this.originalResponse.leaseStatus;
+      }
+      /**
+       * A UTC date/time value generated by the service that
+       * indicates the time at which the response was initiated.
+       *
+       * @readonly
+       */
+      get date() {
+        return this.originalResponse.date;
+      }
+      /**
+       * The number of committed blocks
+       * present in the blob. This header is returned only for append blobs.
+       *
+       * @readonly
+       */
+      get blobCommittedBlockCount() {
+        return this.originalResponse.blobCommittedBlockCount;
+      }
+      /**
+       * The ETag contains a value that you can use to
+       * perform operations conditionally, in quotes.
+       *
+       * @readonly
+       */
+      get etag() {
+        return this.originalResponse.etag;
+      }
+      /**
+       * The number of tags associated with the blob
+       *
+       * @readonly
+       */
+      get tagCount() {
+        return this.originalResponse.tagCount;
+      }
+      /**
+       * The error code.
+       *
+       * @readonly
+       */
+      get errorCode() {
+        return this.originalResponse.errorCode;
+      }
+      /**
+       * The value of this header is set to
+       * true if the file data and application metadata are completely encrypted
+       * using the specified algorithm. Otherwise, the value is set to false (when
+       * the file is unencrypted, or if only parts of the file/application metadata
+       * are encrypted).
+       *
+       * @readonly
+       */
+      get isServerEncrypted() {
+        return this.originalResponse.isServerEncrypted;
+      }
+      /**
+       * If the blob has a MD5 hash, and if
+       * request contains range header (Range or x-ms-range), this response header
+       * is returned with the value of the whole blob's MD5 value. This value may
+       * or may not be equal to the value returned in Content-MD5 header, with the
+       * latter calculated from the requested range.
+       *
+       * @readonly
+       */
+      get blobContentMD5() {
+        return this.originalResponse.blobContentMD5;
+      }
+      /**
+       * Returns the date and time the file was last
+       * modified. Any operation that modifies the file or its properties updates
+       * the last modified time.
+       *
+       * @readonly
+       */
+      get lastModified() {
+        return this.originalResponse.lastModified;
+      }
+      /**
+       * Returns the UTC date and time generated by the service that indicates the time at which the blob was
+       * last read or written to.
+       *
+       * @readonly
+       */
+      get lastAccessed() {
+        return this.originalResponse.lastAccessed;
+      }
+      /**
+       * Returns the date and time the blob was created.
+       *
+       * @readonly
+       */
+      get createdOn() {
+        return this.originalResponse.createdOn;
+      }
+      /**
+       * A name-value pair
+       * to associate with a file storage object.
+       *
+       * @readonly
+       */
+      get metadata() {
+        return this.originalResponse.metadata;
+      }
+      /**
+       * This header uniquely identifies the request
+       * that was made and can be used for troubleshooting the request.
+       *
+       * @readonly
+       */
+      get requestId() {
+        return this.originalResponse.requestId;
+      }
+      /**
+       * If a client request id header is sent in the request, this header will be present in the
+       * response with the same value.
+       *
+       * @readonly
+       */
+      get clientRequestId() {
+        return this.originalResponse.clientRequestId;
+      }
+      /**
+       * Indicates the version of the Blob service used
+       * to execute the request.
+       *
+       * @readonly
+       */
+      get version() {
+        return this.originalResponse.version;
+      }
+      /**
+       * Indicates the versionId of the downloaded blob version.
+       *
+       * @readonly
+       */
+      get versionId() {
+        return this.originalResponse.versionId;
+      }
+      /**
+       * Indicates whether version of this blob is a current version.
+       *
+       * @readonly
+       */
+      get isCurrentVersion() {
+        return this.originalResponse.isCurrentVersion;
+      }
+      /**
+       * The SHA-256 hash of the encryption key used to encrypt the blob. This value is only returned
+       * when the blob was encrypted with a customer-provided key.
+       *
+       * @readonly
+       */
+      get encryptionKeySha256() {
+        return this.originalResponse.encryptionKeySha256;
+      }
+      /**
+       * If the request is to read a specified range and the x-ms-range-get-content-crc64 is set to
+       * true, then the request returns a crc64 for the range, as long as the range size is less than
+       * or equal to 4 MB. If both x-ms-range-get-content-crc64 & x-ms-range-get-content-md5 is
+       * specified in the same request, it will fail with 400(Bad Request)
+       */
+      get contentCrc64() {
+        return this.originalResponse.contentCrc64;
+      }
+      /**
+       * Object Replication Policy Id of the destination blob.
+       *
+       * @readonly
+       */
+      get objectReplicationDestinationPolicyId() {
+        return this.originalResponse.objectReplicationDestinationPolicyId;
+      }
+      /**
+       * Parsed Object Replication Policy Id, Rule Id(s) and status of the source blob.
+       *
+       * @readonly
+       */
+      get objectReplicationSourceProperties() {
+        return this.originalResponse.objectReplicationSourceProperties;
+      }
+      /**
+       * If this blob has been sealed.
+       *
+       * @readonly
+       */
+      get isSealed() {
+        return this.originalResponse.isSealed;
+      }
+      /**
+       * UTC date/time value generated by the service that indicates the time at which the blob immutability policy will expire.
+       *
+       * @readonly
+       */
+      get immutabilityPolicyExpiresOn() {
+        return this.originalResponse.immutabilityPolicyExpiresOn;
+      }
+      /**
+       * Indicates immutability policy mode.
+       *
+       * @readonly
+       */
+      get immutabilityPolicyMode() {
+        return this.originalResponse.immutabilityPolicyMode;
+      }
+      /**
+       * Indicates if a legal hold is present on the blob.
+       *
+       * @readonly
+       */
+      get legalHold() {
+        return this.originalResponse.legalHold;
+      }
+      /**
+       * The response body as a browser Blob.
+       * Always undefined in node.js.
+       *
+       * @readonly
+       */
+      get contentAsBlob() {
+        return this.originalResponse.blobBody;
+      }
+      /**
+       * The response body as a node.js Readable stream.
+       * Always undefined in the browser.
+       *
+       * It will automatically retry when internal read stream unexpected ends.
+       *
+       * @readonly
+       */
+      get readableStreamBody() {
+        return core_util_1.isNodeLike ? this.blobDownloadStream : void 0;
+      }
+      /**
+       * The HTTP response.
+       */
+      get _response() {
+        return this.originalResponse._response;
+      }
+      originalResponse;
+      blobDownloadStream;
+      /**
+       * Creates an instance of BlobDownloadResponse.
+       *
+       * @param originalResponse -
+       * @param getter -
+       * @param offset -
+       * @param count -
+       * @param options -
+       */
+      constructor(originalResponse, getter, offset, count, options = {}) {
+        this.originalResponse = originalResponse;
+        this.blobDownloadStream = new RetriableReadableStream_js_1.RetriableReadableStream(this.originalResponse.readableStreamBody, getter, offset, count, options);
+      }
+    };
+    exports2.BlobDownloadResponse = BlobDownloadResponse;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroConstants.js
+var require_AvroConstants = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroConstants.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AVRO_SCHEMA_KEY = exports2.AVRO_CODEC_KEY = exports2.AVRO_INIT_BYTES = exports2.AVRO_SYNC_MARKER_SIZE = void 0;
+    exports2.AVRO_SYNC_MARKER_SIZE = 16;
+    exports2.AVRO_INIT_BYTES = new Uint8Array([79, 98, 106, 1]);
+    exports2.AVRO_CODEC_KEY = "avro.codec";
+    exports2.AVRO_SCHEMA_KEY = "avro.schema";
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroParser.js
+var require_AvroParser = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroParser.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AvroType = exports2.AvroParser = void 0;
+    var AvroParser = class _AvroParser {
+      /**
+       * Reads a fixed number of bytes from the stream.
+       *
+       * @param stream -
+       * @param length -
+       * @param options -
+       */
+      static async readFixedBytes(stream2, length, options = {}) {
+        const bytes = await stream2.read(length, { abortSignal: options.abortSignal });
+        if (bytes.length !== length) {
+          throw new Error("Hit stream end.");
+        }
+        return bytes;
+      }
+      /**
+       * Reads a single byte from the stream.
+       *
+       * @param stream -
+       * @param options -
+       */
+      static async readByte(stream2, options = {}) {
+        const buf = await _AvroParser.readFixedBytes(stream2, 1, options);
+        return buf[0];
+      }
+      // int and long are stored in variable-length zig-zag coding.
+      // variable-length: https://lucene.apache.org/core/3_5_0/fileformats.html#VInt
+      // zig-zag: https://developers.google.com/protocol-buffers/docs/encoding?csw=1#types
+      static async readZigZagLong(stream2, options = {}) {
+        let zigZagEncoded = 0;
+        let significanceInBit = 0;
+        let byte, haveMoreByte, significanceInFloat;
+        do {
+          byte = await _AvroParser.readByte(stream2, options);
+          haveMoreByte = byte & 128;
+          zigZagEncoded |= (byte & 127) << significanceInBit;
+          significanceInBit += 7;
+        } while (haveMoreByte && significanceInBit < 28);
+        if (haveMoreByte) {
+          zigZagEncoded = zigZagEncoded;
+          significanceInFloat = 268435456;
+          do {
+            byte = await _AvroParser.readByte(stream2, options);
+            zigZagEncoded += (byte & 127) * significanceInFloat;
+            significanceInFloat *= 128;
+          } while (byte & 128);
+          const res = (zigZagEncoded % 2 ? -(zigZagEncoded + 1) : zigZagEncoded) / 2;
+          if (res < Number.MIN_SAFE_INTEGER || res > Number.MAX_SAFE_INTEGER) {
+            throw new Error("Integer overflow.");
+          }
+          return res;
+        }
+        return zigZagEncoded >> 1 ^ -(zigZagEncoded & 1);
+      }
+      static async readLong(stream2, options = {}) {
+        return _AvroParser.readZigZagLong(stream2, options);
+      }
+      static async readInt(stream2, options = {}) {
+        return _AvroParser.readZigZagLong(stream2, options);
+      }
+      static async readNull() {
+        return null;
+      }
+      static async readBoolean(stream2, options = {}) {
+        const b = await _AvroParser.readByte(stream2, options);
+        if (b === 1) {
+          return true;
+        } else if (b === 0) {
+          return false;
+        } else {
+          throw new Error("Byte was not a boolean.");
+        }
+      }
+      static async readFloat(stream2, options = {}) {
+        const u8arr = await _AvroParser.readFixedBytes(stream2, 4, options);
+        const view = new DataView(u8arr.buffer, u8arr.byteOffset, u8arr.byteLength);
+        return view.getFloat32(0, true);
+      }
+      static async readDouble(stream2, options = {}) {
+        const u8arr = await _AvroParser.readFixedBytes(stream2, 8, options);
+        const view = new DataView(u8arr.buffer, u8arr.byteOffset, u8arr.byteLength);
+        return view.getFloat64(0, true);
+      }
+      static async readBytes(stream2, options = {}) {
+        const size = await _AvroParser.readLong(stream2, options);
+        if (size < 0) {
+          throw new Error("Bytes size was negative.");
+        }
+        return stream2.read(size, { abortSignal: options.abortSignal });
+      }
+      static async readString(stream2, options = {}) {
+        const u8arr = await _AvroParser.readBytes(stream2, options);
+        const utf8decoder = new TextDecoder();
+        return utf8decoder.decode(u8arr);
+      }
+      static async readMapPair(stream2, readItemMethod, options = {}) {
+        const key = await _AvroParser.readString(stream2, options);
+        const value = await readItemMethod(stream2, options);
+        return { key, value };
+      }
+      static async readMap(stream2, readItemMethod, options = {}) {
+        const readPairMethod = (s, opts = {}) => {
+          return _AvroParser.readMapPair(s, readItemMethod, opts);
+        };
+        const pairs2 = await _AvroParser.readArray(stream2, readPairMethod, options);
+        const dict = {};
+        for (const pair of pairs2) {
+          dict[pair.key] = pair.value;
+        }
+        return dict;
+      }
+      static async readArray(stream2, readItemMethod, options = {}) {
+        const items = [];
+        for (let count = await _AvroParser.readLong(stream2, options); count !== 0; count = await _AvroParser.readLong(stream2, options)) {
+          if (count < 0) {
+            await _AvroParser.readLong(stream2, options);
+            count = -count;
+          }
+          while (count--) {
+            const item = await readItemMethod(stream2, options);
+            items.push(item);
+          }
+        }
+        return items;
+      }
+    };
+    exports2.AvroParser = AvroParser;
+    var AvroComplex;
+    (function(AvroComplex2) {
+      AvroComplex2["RECORD"] = "record";
+      AvroComplex2["ENUM"] = "enum";
+      AvroComplex2["ARRAY"] = "array";
+      AvroComplex2["MAP"] = "map";
+      AvroComplex2["UNION"] = "union";
+      AvroComplex2["FIXED"] = "fixed";
+    })(AvroComplex || (AvroComplex = {}));
+    var AvroPrimitive;
+    (function(AvroPrimitive2) {
+      AvroPrimitive2["NULL"] = "null";
+      AvroPrimitive2["BOOLEAN"] = "boolean";
+      AvroPrimitive2["INT"] = "int";
+      AvroPrimitive2["LONG"] = "long";
+      AvroPrimitive2["FLOAT"] = "float";
+      AvroPrimitive2["DOUBLE"] = "double";
+      AvroPrimitive2["BYTES"] = "bytes";
+      AvroPrimitive2["STRING"] = "string";
+    })(AvroPrimitive || (AvroPrimitive = {}));
+    var AvroType = class _AvroType {
+      /**
+       * Determines the AvroType from the Avro Schema.
+       */
+      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
+      static fromSchema(schema2) {
+        if (typeof schema2 === "string") {
+          return _AvroType.fromStringSchema(schema2);
+        } else if (Array.isArray(schema2)) {
+          return _AvroType.fromArraySchema(schema2);
+        } else {
+          return _AvroType.fromObjectSchema(schema2);
+        }
+      }
+      static fromStringSchema(schema2) {
+        switch (schema2) {
+          case AvroPrimitive.NULL:
+          case AvroPrimitive.BOOLEAN:
+          case AvroPrimitive.INT:
+          case AvroPrimitive.LONG:
+          case AvroPrimitive.FLOAT:
+          case AvroPrimitive.DOUBLE:
+          case AvroPrimitive.BYTES:
+          case AvroPrimitive.STRING:
+            return new AvroPrimitiveType(schema2);
+          default:
+            throw new Error(`Unexpected Avro type ${schema2}`);
+        }
+      }
+      static fromArraySchema(schema2) {
+        return new AvroUnionType(schema2.map(_AvroType.fromSchema));
+      }
+      static fromObjectSchema(schema2) {
+        const type2 = schema2.type;
+        try {
+          return _AvroType.fromStringSchema(type2);
+        } catch {
+        }
+        switch (type2) {
+          case AvroComplex.RECORD:
+            if (schema2.aliases) {
+              throw new Error(`aliases currently is not supported, schema: ${schema2}`);
+            }
+            if (!schema2.name) {
+              throw new Error(`Required attribute 'name' doesn't exist on schema: ${schema2}`);
+            }
+            const fields = {};
+            if (!schema2.fields) {
+              throw new Error(`Required attribute 'fields' doesn't exist on schema: ${schema2}`);
+            }
+            for (const field of schema2.fields) {
+              fields[field.name] = _AvroType.fromSchema(field.type);
+            }
+            return new AvroRecordType(fields, schema2.name);
+          case AvroComplex.ENUM:
+            if (schema2.aliases) {
+              throw new Error(`aliases currently is not supported, schema: ${schema2}`);
+            }
+            if (!schema2.symbols) {
+              throw new Error(`Required attribute 'symbols' doesn't exist on schema: ${schema2}`);
+            }
+            return new AvroEnumType(schema2.symbols);
+          case AvroComplex.MAP:
+            if (!schema2.values) {
+              throw new Error(`Required attribute 'values' doesn't exist on schema: ${schema2}`);
+            }
+            return new AvroMapType(_AvroType.fromSchema(schema2.values));
+          case AvroComplex.ARRAY:
+          // Unused today
+          case AvroComplex.FIXED:
+          // Unused today
+          default:
+            throw new Error(`Unexpected Avro type ${type2} in ${schema2}`);
+        }
+      }
+    };
+    exports2.AvroType = AvroType;
+    var AvroPrimitiveType = class extends AvroType {
+      _primitive;
+      constructor(primitive) {
+        super();
+        this._primitive = primitive;
+      }
+      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
+      read(stream2, options = {}) {
+        switch (this._primitive) {
+          case AvroPrimitive.NULL:
+            return AvroParser.readNull();
+          case AvroPrimitive.BOOLEAN:
+            return AvroParser.readBoolean(stream2, options);
+          case AvroPrimitive.INT:
+            return AvroParser.readInt(stream2, options);
+          case AvroPrimitive.LONG:
+            return AvroParser.readLong(stream2, options);
+          case AvroPrimitive.FLOAT:
+            return AvroParser.readFloat(stream2, options);
+          case AvroPrimitive.DOUBLE:
+            return AvroParser.readDouble(stream2, options);
+          case AvroPrimitive.BYTES:
+            return AvroParser.readBytes(stream2, options);
+          case AvroPrimitive.STRING:
+            return AvroParser.readString(stream2, options);
+          default:
+            throw new Error("Unknown Avro Primitive");
+        }
+      }
+    };
+    var AvroEnumType = class extends AvroType {
+      _symbols;
+      constructor(symbols) {
+        super();
+        this._symbols = symbols;
+      }
+      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
+      async read(stream2, options = {}) {
+        const value = await AvroParser.readInt(stream2, options);
+        return this._symbols[value];
+      }
+    };
+    var AvroUnionType = class extends AvroType {
+      _types;
+      constructor(types) {
+        super();
+        this._types = types;
+      }
+      async read(stream2, options = {}) {
+        const typeIndex = await AvroParser.readInt(stream2, options);
+        return this._types[typeIndex].read(stream2, options);
+      }
+    };
+    var AvroMapType = class extends AvroType {
+      _itemType;
+      constructor(itemType) {
+        super();
+        this._itemType = itemType;
+      }
+      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
+      read(stream2, options = {}) {
+        const readItemMethod = (s, opts) => {
+          return this._itemType.read(s, opts);
+        };
+        return AvroParser.readMap(stream2, readItemMethod, options);
+      }
+    };
+    var AvroRecordType = class extends AvroType {
+      _name;
+      _fields;
+      constructor(fields, name) {
+        super();
+        this._fields = fields;
+        this._name = name;
+      }
+      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
+      async read(stream2, options = {}) {
+        const record = {};
+        record["$schema"] = this._name;
+        for (const key in this._fields) {
+          if (Object.prototype.hasOwnProperty.call(this._fields, key)) {
+            record[key] = await this._fields[key].read(stream2, options);
+          }
+        }
+        return record;
+      }
+    };
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/utils/utils.common.js
+var require_utils_common3 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/utils/utils.common.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.arraysEqual = arraysEqual;
+    function arraysEqual(a, b) {
+      if (a === b)
+        return true;
+      if (a == null || b == null)
+        return false;
+      if (a.length !== b.length)
+        return false;
+      for (let i = 0; i < a.length; ++i) {
+        if (a[i] !== b[i])
+          return false;
+      }
+      return true;
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReader.js
+var require_AvroReader = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReader.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AvroReader = void 0;
+    var AvroConstants_js_1 = require_AvroConstants();
+    var AvroParser_js_1 = require_AvroParser();
+    var utils_common_js_1 = require_utils_common3();
+    var AvroReader = class {
+      _dataStream;
+      _headerStream;
+      _syncMarker;
+      _metadata;
+      _itemType;
+      _itemsRemainingInBlock;
+      // Remembers where we started if partial data stream was provided.
+      _initialBlockOffset;
+      /// The byte offset within the Avro file (both header and data)
+      /// of the start of the current block.
+      _blockOffset;
+      get blockOffset() {
+        return this._blockOffset;
+      }
+      _objectIndex;
+      get objectIndex() {
+        return this._objectIndex;
+      }
+      _initialized;
+      constructor(dataStream, headerStream, currentBlockOffset, indexWithinCurrentBlock) {
+        this._dataStream = dataStream;
+        this._headerStream = headerStream || dataStream;
+        this._initialized = false;
+        this._blockOffset = currentBlockOffset || 0;
+        this._objectIndex = indexWithinCurrentBlock || 0;
+        this._initialBlockOffset = currentBlockOffset || 0;
+      }
+      async initialize(options = {}) {
+        const header = await AvroParser_js_1.AvroParser.readFixedBytes(this._headerStream, AvroConstants_js_1.AVRO_INIT_BYTES.length, {
+          abortSignal: options.abortSignal
+        });
+        if (!(0, utils_common_js_1.arraysEqual)(header, AvroConstants_js_1.AVRO_INIT_BYTES)) {
+          throw new Error("Stream is not an Avro file.");
+        }
+        this._metadata = await AvroParser_js_1.AvroParser.readMap(this._headerStream, AvroParser_js_1.AvroParser.readString, {
+          abortSignal: options.abortSignal
+        });
+        const codec = this._metadata[AvroConstants_js_1.AVRO_CODEC_KEY];
+        if (!(codec === void 0 || codec === null || codec === "null")) {
+          throw new Error("Codecs are not supported");
+        }
+        this._syncMarker = await AvroParser_js_1.AvroParser.readFixedBytes(this._headerStream, AvroConstants_js_1.AVRO_SYNC_MARKER_SIZE, {
+          abortSignal: options.abortSignal
+        });
+        const schema2 = JSON.parse(this._metadata[AvroConstants_js_1.AVRO_SCHEMA_KEY]);
+        this._itemType = AvroParser_js_1.AvroType.fromSchema(schema2);
+        if (this._blockOffset === 0) {
+          this._blockOffset = this._initialBlockOffset + this._dataStream.position;
+        }
+        this._itemsRemainingInBlock = await AvroParser_js_1.AvroParser.readLong(this._dataStream, {
+          abortSignal: options.abortSignal
+        });
+        await AvroParser_js_1.AvroParser.readLong(this._dataStream, { abortSignal: options.abortSignal });
+        this._initialized = true;
+        if (this._objectIndex && this._objectIndex > 0) {
+          for (let i = 0; i < this._objectIndex; i++) {
+            await this._itemType.read(this._dataStream, { abortSignal: options.abortSignal });
+            this._itemsRemainingInBlock--;
+          }
+        }
+      }
+      hasNext() {
+        return !this._initialized || this._itemsRemainingInBlock > 0;
+      }
+      async *parseObjects(options = {}) {
+        if (!this._initialized) {
+          await this.initialize(options);
+        }
+        while (this.hasNext()) {
+          const result = await this._itemType.read(this._dataStream, {
+            abortSignal: options.abortSignal
+          });
+          this._itemsRemainingInBlock--;
+          this._objectIndex++;
+          if (this._itemsRemainingInBlock === 0) {
+            const marker = await AvroParser_js_1.AvroParser.readFixedBytes(this._dataStream, AvroConstants_js_1.AVRO_SYNC_MARKER_SIZE, {
+              abortSignal: options.abortSignal
+            });
+            this._blockOffset = this._initialBlockOffset + this._dataStream.position;
+            this._objectIndex = 0;
+            if (!(0, utils_common_js_1.arraysEqual)(this._syncMarker, marker)) {
+              throw new Error("Stream is not a valid Avro file.");
+            }
+            try {
+              this._itemsRemainingInBlock = await AvroParser_js_1.AvroParser.readLong(this._dataStream, {
+                abortSignal: options.abortSignal
+              });
+            } catch {
+              this._itemsRemainingInBlock = 0;
+            }
+            if (this._itemsRemainingInBlock > 0) {
+              await AvroParser_js_1.AvroParser.readLong(this._dataStream, { abortSignal: options.abortSignal });
+            }
+          }
+          yield result;
+        }
+      }
+    };
+    exports2.AvroReader = AvroReader;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadable.js
+var require_AvroReadable = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadable.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AvroReadable = void 0;
+    var AvroReadable = class {
+    };
+    exports2.AvroReadable = AvroReadable;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadableFromStream.js
+var require_AvroReadableFromStream = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadableFromStream.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AvroReadableFromStream = void 0;
+    var AvroReadable_js_1 = require_AvroReadable();
+    var abort_controller_1 = require_commonjs11();
+    var buffer_1 = require("buffer");
+    var ABORT_ERROR = new abort_controller_1.AbortError("Reading from the avro stream was aborted.");
+    var AvroReadableFromStream = class extends AvroReadable_js_1.AvroReadable {
+      _position;
+      _readable;
+      toUint8Array(data) {
+        if (typeof data === "string") {
+          return buffer_1.Buffer.from(data);
+        }
+        return data;
+      }
+      constructor(readable) {
+        super();
+        this._readable = readable;
+        this._position = 0;
+      }
+      get position() {
+        return this._position;
+      }
+      async read(size, options = {}) {
+        if (options.abortSignal?.aborted) {
+          throw ABORT_ERROR;
+        }
+        if (size < 0) {
+          throw new Error(`size parameter should be positive: ${size}`);
+        }
+        if (size === 0) {
+          return new Uint8Array();
+        }
+        if (!this._readable.readable) {
+          throw new Error("Stream no longer readable.");
+        }
+        const chunk = this._readable.read(size);
+        if (chunk) {
+          this._position += chunk.length;
+          return this.toUint8Array(chunk);
+        } else {
+          return new Promise((resolve8, reject) => {
+            const cleanUp = () => {
+              this._readable.removeListener("readable", readableCallback);
+              this._readable.removeListener("error", rejectCallback);
+              this._readable.removeListener("end", rejectCallback);
+              this._readable.removeListener("close", rejectCallback);
+              if (options.abortSignal) {
+                options.abortSignal.removeEventListener("abort", abortHandler);
+              }
+            };
+            const readableCallback = () => {
+              const callbackChunk = this._readable.read(size);
+              if (callbackChunk) {
+                this._position += callbackChunk.length;
+                cleanUp();
+                resolve8(this.toUint8Array(callbackChunk));
+              }
+            };
+            const rejectCallback = () => {
+              cleanUp();
+              reject();
+            };
+            const abortHandler = () => {
+              cleanUp();
+              reject(ABORT_ERROR);
+            };
+            this._readable.on("readable", readableCallback);
+            this._readable.once("error", rejectCallback);
+            this._readable.once("end", rejectCallback);
+            this._readable.once("close", rejectCallback);
+            if (options.abortSignal) {
+              options.abortSignal.addEventListener("abort", abortHandler);
+            }
+          });
+        }
+      }
+    };
+    exports2.AvroReadableFromStream = AvroReadableFromStream;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/index.js
+var require_internal_avro = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AvroReadableFromStream = exports2.AvroReadable = exports2.AvroReader = void 0;
+    var AvroReader_js_1 = require_AvroReader();
+    Object.defineProperty(exports2, "AvroReader", { enumerable: true, get: function() {
+      return AvroReader_js_1.AvroReader;
+    } });
+    var AvroReadable_js_1 = require_AvroReadable();
+    Object.defineProperty(exports2, "AvroReadable", { enumerable: true, get: function() {
+      return AvroReadable_js_1.AvroReadable;
+    } });
+    var AvroReadableFromStream_js_1 = require_AvroReadableFromStream();
+    Object.defineProperty(exports2, "AvroReadableFromStream", { enumerable: true, get: function() {
+      return AvroReadableFromStream_js_1.AvroReadableFromStream;
+    } });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/utils/BlobQuickQueryStream.js
+var require_BlobQuickQueryStream = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/BlobQuickQueryStream.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobQuickQueryStream = void 0;
+    var node_stream_1 = require("node:stream");
+    var index_js_1 = require_internal_avro();
+    var BlobQuickQueryStream = class extends node_stream_1.Readable {
+      source;
+      avroReader;
+      avroIter;
+      avroPaused = true;
+      onProgress;
+      onError;
+      /**
+       * Creates an instance of BlobQuickQueryStream.
+       *
+       * @param source - The current ReadableStream returned from getter
+       * @param options -
+       */
+      constructor(source, options = {}) {
+        super();
+        this.source = source;
+        this.onProgress = options.onProgress;
+        this.onError = options.onError;
+        this.avroReader = new index_js_1.AvroReader(new index_js_1.AvroReadableFromStream(this.source));
+        this.avroIter = this.avroReader.parseObjects({ abortSignal: options.abortSignal });
+      }
+      _read() {
+        if (this.avroPaused) {
+          this.readInternal().catch((err) => {
+            this.emit("error", err);
+          });
+        }
+      }
+      async readInternal() {
+        this.avroPaused = false;
+        let avroNext;
+        do {
+          avroNext = await this.avroIter.next();
+          if (avroNext.done) {
+            break;
+          }
+          const obj = avroNext.value;
+          const schema2 = obj.$schema;
+          if (typeof schema2 !== "string") {
+            throw Error("Missing schema in avro record.");
+          }
+          switch (schema2) {
+            case "com.microsoft.azure.storage.queryBlobContents.resultData":
+              {
+                const data = obj.data;
+                if (data instanceof Uint8Array === false) {
+                  throw Error("Invalid data in avro result record.");
+                }
+                if (!this.push(Buffer.from(data))) {
+                  this.avroPaused = true;
+                }
+              }
+              break;
+            case "com.microsoft.azure.storage.queryBlobContents.progress":
+              {
+                const bytesScanned = obj.bytesScanned;
+                if (typeof bytesScanned !== "number") {
+                  throw Error("Invalid bytesScanned in avro progress record.");
+                }
+                if (this.onProgress) {
+                  this.onProgress({ loadedBytes: bytesScanned });
+                }
+              }
+              break;
+            case "com.microsoft.azure.storage.queryBlobContents.end":
+              if (this.onProgress) {
+                const totalBytes = obj.totalBytes;
+                if (typeof totalBytes !== "number") {
+                  throw Error("Invalid totalBytes in avro end record.");
+                }
+                this.onProgress({ loadedBytes: totalBytes });
+              }
+              this.push(null);
+              break;
+            case "com.microsoft.azure.storage.queryBlobContents.error":
+              if (this.onError) {
+                const fatal = obj.fatal;
+                if (typeof fatal !== "boolean") {
+                  throw Error("Invalid fatal in avro error record.");
+                }
+                const name = obj.name;
+                if (typeof name !== "string") {
+                  throw Error("Invalid name in avro error record.");
+                }
+                const description = obj.description;
+                if (typeof description !== "string") {
+                  throw Error("Invalid description in avro error record.");
+                }
+                const position = obj.position;
+                if (typeof position !== "number") {
+                  throw Error("Invalid position in avro error record.");
+                }
+                this.onError({
+                  position,
+                  name,
+                  isFatal: fatal,
+                  description
+                });
+              }
+              break;
+            default:
+              throw Error(`Unknown schema ${schema2} in avro progress record.`);
+          }
+        } while (!avroNext.done && !this.avroPaused);
+      }
+    };
+    exports2.BlobQuickQueryStream = BlobQuickQueryStream;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BlobQueryResponse.js
+var require_BlobQueryResponse = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BlobQueryResponse.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobQueryResponse = void 0;
+    var core_util_1 = require_commonjs4();
+    var BlobQuickQueryStream_js_1 = require_BlobQuickQueryStream();
+    var BlobQueryResponse = class {
+      /**
+       * Indicates that the service supports
+       * requests for partial file content.
+       *
+       * @readonly
+       */
+      get acceptRanges() {
+        return this.originalResponse.acceptRanges;
+      }
+      /**
+       * Returns if it was previously specified
+       * for the file.
+       *
+       * @readonly
+       */
+      get cacheControl() {
+        return this.originalResponse.cacheControl;
+      }
+      /**
+       * Returns the value that was specified
+       * for the 'x-ms-content-disposition' header and specifies how to process the
+       * response.
+       *
+       * @readonly
+       */
+      get contentDisposition() {
+        return this.originalResponse.contentDisposition;
+      }
+      /**
+       * Returns the value that was specified
+       * for the Content-Encoding request header.
+       *
+       * @readonly
+       */
+      get contentEncoding() {
+        return this.originalResponse.contentEncoding;
+      }
+      /**
+       * Returns the value that was specified
+       * for the Content-Language request header.
+       *
+       * @readonly
+       */
+      get contentLanguage() {
+        return this.originalResponse.contentLanguage;
+      }
+      /**
+       * The current sequence number for a
+       * page blob. This header is not returned for block blobs or append blobs.
+       *
+       * @readonly
+       */
+      get blobSequenceNumber() {
+        return this.originalResponse.blobSequenceNumber;
+      }
+      /**
+       * The blob's type. Possible values include:
+       * 'BlockBlob', 'PageBlob', 'AppendBlob'.
+       *
+       * @readonly
+       */
+      get blobType() {
+        return this.originalResponse.blobType;
+      }
+      /**
+       * The number of bytes present in the
+       * response body.
+       *
+       * @readonly
+       */
+      get contentLength() {
+        return this.originalResponse.contentLength;
+      }
+      /**
+       * If the file has an MD5 hash and the
+       * request is to read the full file, this response header is returned so that
+       * the client can check for message content integrity. If the request is to
+       * read a specified range and the 'x-ms-range-get-content-md5' is set to
+       * true, then the request returns an MD5 hash for the range, as long as the
+       * range size is less than or equal to 4 MB. If neither of these sets of
+       * conditions is true, then no value is returned for the 'Content-MD5'
+       * header.
+       *
+       * @readonly
+       */
+      get contentMD5() {
+        return this.originalResponse.contentMD5;
+      }
+      /**
+       * Indicates the range of bytes returned if
+       * the client requested a subset of the file by setting the Range request
+       * header.
+       *
+       * @readonly
+       */
+      get contentRange() {
+        return this.originalResponse.contentRange;
+      }
+      /**
+       * The content type specified for the file.
+       * The default content type is 'application/octet-stream'
+       *
+       * @readonly
+       */
+      get contentType() {
+        return this.originalResponse.contentType;
+      }
+      /**
+       * Conclusion time of the last attempted
+       * Copy File operation where this file was the destination file. This value
+       * can specify the time of a completed, aborted, or failed copy attempt.
+       *
+       * @readonly
+       */
+      get copyCompletedOn() {
+        return void 0;
+      }
+      /**
+       * String identifier for the last attempted Copy
+       * File operation where this file was the destination file.
+       *
+       * @readonly
+       */
+      get copyId() {
+        return this.originalResponse.copyId;
+      }
+      /**
+       * Contains the number of bytes copied and
+       * the total bytes in the source in the last attempted Copy File operation
+       * where this file was the destination file. Can show between 0 and
+       * Content-Length bytes copied.
+       *
+       * @readonly
+       */
+      get copyProgress() {
+        return this.originalResponse.copyProgress;
+      }
+      /**
+       * URL up to 2KB in length that specifies the
+       * source file used in the last attempted Copy File operation where this file
+       * was the destination file.
+       *
+       * @readonly
+       */
+      get copySource() {
+        return this.originalResponse.copySource;
+      }
+      /**
+       * State of the copy operation
+       * identified by 'x-ms-copy-id'. Possible values include: 'pending',
+       * 'success', 'aborted', 'failed'
+       *
+       * @readonly
+       */
+      get copyStatus() {
+        return this.originalResponse.copyStatus;
+      }
+      /**
+       * Only appears when
+       * x-ms-copy-status is failed or pending. Describes cause of fatal or
+       * non-fatal copy operation failure.
+       *
+       * @readonly
+       */
+      get copyStatusDescription() {
+        return this.originalResponse.copyStatusDescription;
+      }
+      /**
+       * When a blob is leased,
+       * specifies whether the lease is of infinite or fixed duration. Possible
+       * values include: 'infinite', 'fixed'.
+       *
+       * @readonly
+       */
+      get leaseDuration() {
+        return this.originalResponse.leaseDuration;
+      }
+      /**
+       * Lease state of the blob. Possible
+       * values include: 'available', 'leased', 'expired', 'breaking', 'broken'.
+       *
+       * @readonly
+       */
+      get leaseState() {
+        return this.originalResponse.leaseState;
+      }
+      /**
+       * The current lease status of the
+       * blob. Possible values include: 'locked', 'unlocked'.
+       *
+       * @readonly
+       */
+      get leaseStatus() {
+        return this.originalResponse.leaseStatus;
+      }
+      /**
+       * A UTC date/time value generated by the service that
+       * indicates the time at which the response was initiated.
+       *
+       * @readonly
+       */
+      get date() {
+        return this.originalResponse.date;
+      }
+      /**
+       * The number of committed blocks
+       * present in the blob. This header is returned only for append blobs.
+       *
+       * @readonly
+       */
+      get blobCommittedBlockCount() {
+        return this.originalResponse.blobCommittedBlockCount;
+      }
+      /**
+       * The ETag contains a value that you can use to
+       * perform operations conditionally, in quotes.
+       *
+       * @readonly
+       */
+      get etag() {
+        return this.originalResponse.etag;
+      }
+      /**
+       * The error code.
+       *
+       * @readonly
+       */
+      get errorCode() {
+        return this.originalResponse.errorCode;
+      }
+      /**
+       * The value of this header is set to
+       * true if the file data and application metadata are completely encrypted
+       * using the specified algorithm. Otherwise, the value is set to false (when
+       * the file is unencrypted, or if only parts of the file/application metadata
+       * are encrypted).
+       *
+       * @readonly
+       */
+      get isServerEncrypted() {
+        return this.originalResponse.isServerEncrypted;
+      }
+      /**
+       * If the blob has a MD5 hash, and if
+       * request contains range header (Range or x-ms-range), this response header
+       * is returned with the value of the whole blob's MD5 value. This value may
+       * or may not be equal to the value returned in Content-MD5 header, with the
+       * latter calculated from the requested range.
+       *
+       * @readonly
+       */
+      get blobContentMD5() {
+        return this.originalResponse.blobContentMD5;
+      }
+      /**
+       * Returns the date and time the file was last
+       * modified. Any operation that modifies the file or its properties updates
+       * the last modified time.
+       *
+       * @readonly
+       */
+      get lastModified() {
+        return this.originalResponse.lastModified;
+      }
+      /**
+       * A name-value pair
+       * to associate with a file storage object.
+       *
+       * @readonly
+       */
+      get metadata() {
+        return this.originalResponse.metadata;
+      }
+      /**
+       * This header uniquely identifies the request
+       * that was made and can be used for troubleshooting the request.
+       *
+       * @readonly
+       */
+      get requestId() {
+        return this.originalResponse.requestId;
+      }
+      /**
+       * If a client request id header is sent in the request, this header will be present in the
+       * response with the same value.
+       *
+       * @readonly
+       */
+      get clientRequestId() {
+        return this.originalResponse.clientRequestId;
+      }
+      /**
+       * Indicates the version of the File service used
+       * to execute the request.
+       *
+       * @readonly
+       */
+      get version() {
+        return this.originalResponse.version;
+      }
+      /**
+       * The SHA-256 hash of the encryption key used to encrypt the blob. This value is only returned
+       * when the blob was encrypted with a customer-provided key.
+       *
+       * @readonly
+       */
+      get encryptionKeySha256() {
+        return this.originalResponse.encryptionKeySha256;
+      }
+      /**
+       * If the request is to read a specified range and the x-ms-range-get-content-crc64 is set to
+       * true, then the request returns a crc64 for the range, as long as the range size is less than
+       * or equal to 4 MB. If both x-ms-range-get-content-crc64 & x-ms-range-get-content-md5 is
+       * specified in the same request, it will fail with 400(Bad Request)
+       */
+      get contentCrc64() {
+        return this.originalResponse.contentCrc64;
+      }
+      /**
+       * The response body as a browser Blob.
+       * Always undefined in node.js.
+       *
+       * @readonly
+       */
+      get blobBody() {
+        return void 0;
+      }
+      /**
+       * The response body as a node.js Readable stream.
+       * Always undefined in the browser.
+       *
+       * It will parse avor data returned by blob query.
+       *
+       * @readonly
+       */
+      get readableStreamBody() {
+        return core_util_1.isNodeLike ? this.blobDownloadStream : void 0;
+      }
+      /**
+       * The HTTP response.
+       */
+      get _response() {
+        return this.originalResponse._response;
+      }
+      originalResponse;
+      blobDownloadStream;
+      /**
+       * Creates an instance of BlobQueryResponse.
+       *
+       * @param originalResponse -
+       * @param options -
+       */
+      constructor(originalResponse, options = {}) {
+        this.originalResponse = originalResponse;
+        this.blobDownloadStream = new BlobQuickQueryStream_js_1.BlobQuickQueryStream(this.originalResponse.readableStreamBody, options);
+      }
+    };
+    exports2.BlobQueryResponse = BlobQueryResponse;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/models.js
+var require_models2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/models.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageBlobAudience = exports2.PremiumPageBlobTier = exports2.BlockBlobTier = void 0;
+    exports2.toAccessTier = toAccessTier;
+    exports2.ensureCpkIfSpecified = ensureCpkIfSpecified;
+    exports2.getBlobServiceAccountAudience = getBlobServiceAccountAudience;
+    var constants_js_1 = require_constants15();
+    var BlockBlobTier;
+    (function(BlockBlobTier2) {
+      BlockBlobTier2["Hot"] = "Hot";
+      BlockBlobTier2["Cool"] = "Cool";
+      BlockBlobTier2["Cold"] = "Cold";
+      BlockBlobTier2["Archive"] = "Archive";
+    })(BlockBlobTier || (exports2.BlockBlobTier = BlockBlobTier = {}));
+    var PremiumPageBlobTier;
+    (function(PremiumPageBlobTier2) {
+      PremiumPageBlobTier2["P4"] = "P4";
+      PremiumPageBlobTier2["P6"] = "P6";
+      PremiumPageBlobTier2["P10"] = "P10";
+      PremiumPageBlobTier2["P15"] = "P15";
+      PremiumPageBlobTier2["P20"] = "P20";
+      PremiumPageBlobTier2["P30"] = "P30";
+      PremiumPageBlobTier2["P40"] = "P40";
+      PremiumPageBlobTier2["P50"] = "P50";
+      PremiumPageBlobTier2["P60"] = "P60";
+      PremiumPageBlobTier2["P70"] = "P70";
+      PremiumPageBlobTier2["P80"] = "P80";
+    })(PremiumPageBlobTier || (exports2.PremiumPageBlobTier = PremiumPageBlobTier = {}));
+    function toAccessTier(tier) {
+      if (tier === void 0) {
+        return void 0;
+      }
+      return tier;
+    }
+    function ensureCpkIfSpecified(cpk, isHttps) {
+      if (cpk && !isHttps) {
+        throw new RangeError("Customer-provided encryption key must be used over HTTPS.");
+      }
+      if (cpk && !cpk.encryptionAlgorithm) {
+        cpk.encryptionAlgorithm = constants_js_1.EncryptionAlgorithmAES25;
+      }
+    }
+    var StorageBlobAudience;
+    (function(StorageBlobAudience2) {
+      StorageBlobAudience2["StorageOAuthScopes"] = "https://storage.azure.com/.default";
+      StorageBlobAudience2["DiskComputeOAuthScopes"] = "https://disk.compute.azure.com/.default";
+    })(StorageBlobAudience || (exports2.StorageBlobAudience = StorageBlobAudience = {}));
+    function getBlobServiceAccountAudience(storageAccountName) {
+      return `https://${storageAccountName}.blob.core.windows.net/.default`;
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/PageBlobRangeResponse.js
+var require_PageBlobRangeResponse = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/PageBlobRangeResponse.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.rangeResponseFromModel = rangeResponseFromModel;
+    function rangeResponseFromModel(response) {
+      const pageRange = (response._response.parsedBody.pageRange || []).map((x) => ({
+        offset: x.start,
+        count: x.end - x.start
+      }));
+      const clearRange = (response._response.parsedBody.clearRange || []).map((x) => ({
+        offset: x.start,
+        count: x.end - x.start
+      }));
+      return {
+        ...response,
+        pageRange,
+        clearRange,
+        _response: {
+          ...response._response,
+          parsedBody: {
+            pageRange,
+            clearRange
+          }
+        }
+      };
+    }
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/logger.js
+var require_logger2 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/logger.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.logger = void 0;
+    var logger_1 = require_commonjs2();
+    exports2.logger = (0, logger_1.createClientLogger)("core-lro");
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/poller/constants.js
+var require_constants17 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/poller/constants.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.terminalStates = exports2.POLL_INTERVAL_IN_MS = void 0;
+    exports2.POLL_INTERVAL_IN_MS = 2e3;
+    exports2.terminalStates = ["succeeded", "canceled", "failed"];
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/poller/operation.js
+var require_operation = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/poller/operation.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.pollOperation = exports2.initOperation = exports2.deserializeState = void 0;
+    var logger_js_1 = require_logger2();
+    var constants_js_1 = require_constants17();
+    function deserializeState(serializedState) {
+      try {
+        return JSON.parse(serializedState).state;
+      } catch (e) {
+        throw new Error(`Unable to deserialize input state: ${serializedState}`);
+      }
+    }
+    exports2.deserializeState = deserializeState;
+    function setStateError(inputs) {
+      const { state, stateProxy, isOperationError } = inputs;
+      return (error3) => {
+        if (isOperationError(error3)) {
+          stateProxy.setError(state, error3);
+          stateProxy.setFailed(state);
+        }
+        throw error3;
+      };
+    }
+    function appendReadableErrorMessage(currentMessage, innerMessage) {
+      let message = currentMessage;
+      if (message.slice(-1) !== ".") {
+        message = message + ".";
+      }
+      return message + " " + innerMessage;
+    }
+    function simplifyError(err) {
+      let message = err.message;
+      let code = err.code;
+      let curErr = err;
+      while (curErr.innererror) {
+        curErr = curErr.innererror;
+        code = curErr.code;
+        message = appendReadableErrorMessage(message, curErr.message);
+      }
+      return {
+        code,
+        message
+      };
+    }
+    function processOperationStatus(result) {
+      const { state, stateProxy, status, isDone, processResult, getError, response, setErrorAsResult } = result;
+      switch (status) {
+        case "succeeded": {
+          stateProxy.setSucceeded(state);
+          break;
+        }
+        case "failed": {
+          const err = getError === null || getError === void 0 ? void 0 : getError(response);
+          let postfix = "";
+          if (err) {
+            const { code, message } = simplifyError(err);
+            postfix = `. ${code}. ${message}`;
+          }
+          const errStr = `The long-running operation has failed${postfix}`;
+          stateProxy.setError(state, new Error(errStr));
+          stateProxy.setFailed(state);
+          logger_js_1.logger.warning(errStr);
+          break;
+        }
+        case "canceled": {
+          stateProxy.setCanceled(state);
+          break;
+        }
+      }
+      if ((isDone === null || isDone === void 0 ? void 0 : isDone(response, state)) || isDone === void 0 && ["succeeded", "canceled"].concat(setErrorAsResult ? [] : ["failed"]).includes(status)) {
+        stateProxy.setResult(state, buildResult({
+          response,
+          state,
+          processResult
+        }));
+      }
+    }
+    function buildResult(inputs) {
+      const { processResult, response, state } = inputs;
+      return processResult ? processResult(response, state) : response;
+    }
+    async function initOperation(inputs) {
+      const { init, stateProxy, processResult, getOperationStatus, withOperationLocation, setErrorAsResult } = inputs;
+      const { operationLocation, resourceLocation, metadata, response } = await init();
+      if (operationLocation)
+        withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(operationLocation, false);
+      const config = {
+        metadata,
+        operationLocation,
+        resourceLocation
+      };
+      logger_js_1.logger.verbose(`LRO: Operation description:`, config);
+      const state = stateProxy.initState(config);
+      const status = getOperationStatus({ response, state, operationLocation });
+      processOperationStatus({ state, status, stateProxy, response, setErrorAsResult, processResult });
+      return state;
+    }
+    exports2.initOperation = initOperation;
+    async function pollOperationHelper(inputs) {
+      const { poll, state, stateProxy, operationLocation, getOperationStatus, getResourceLocation, isOperationError, options } = inputs;
+      const response = await poll(operationLocation, options).catch(setStateError({
+        state,
+        stateProxy,
+        isOperationError
+      }));
+      const status = getOperationStatus(response, state);
+      logger_js_1.logger.verbose(`LRO: Status:
+	Polling from: ${state.config.operationLocation}
+	Operation status: ${status}
+	Polling status: ${constants_js_1.terminalStates.includes(status) ? "Stopped" : "Running"}`);
+      if (status === "succeeded") {
+        const resourceLocation = getResourceLocation(response, state);
+        if (resourceLocation !== void 0) {
+          return {
+            response: await poll(resourceLocation).catch(setStateError({ state, stateProxy, isOperationError })),
+            status
+          };
+        }
+      }
+      return { response, status };
+    }
+    async function pollOperation(inputs) {
+      const { poll, state, stateProxy, options, getOperationStatus, getResourceLocation, getOperationLocation, isOperationError, withOperationLocation, getPollingInterval, processResult, getError, updateState, setDelay, isDone, setErrorAsResult } = inputs;
+      const { operationLocation } = state.config;
+      if (operationLocation !== void 0) {
+        const { response, status } = await pollOperationHelper({
+          poll,
+          getOperationStatus,
+          state,
+          stateProxy,
+          operationLocation,
+          getResourceLocation,
+          isOperationError,
+          options
+        });
+        processOperationStatus({
+          status,
+          response,
+          state,
+          stateProxy,
+          isDone,
+          processResult,
+          getError,
+          setErrorAsResult
+        });
+        if (!constants_js_1.terminalStates.includes(status)) {
+          const intervalInMs = getPollingInterval === null || getPollingInterval === void 0 ? void 0 : getPollingInterval(response);
+          if (intervalInMs)
+            setDelay(intervalInMs);
+          const location = getOperationLocation === null || getOperationLocation === void 0 ? void 0 : getOperationLocation(response, state);
+          if (location !== void 0) {
+            const isUpdated = operationLocation !== location;
+            state.config.operationLocation = location;
+            withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(location, isUpdated);
+          } else
+            withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(operationLocation, false);
+        }
+        updateState === null || updateState === void 0 ? void 0 : updateState(state, response);
+      }
+    }
+    exports2.pollOperation = pollOperation;
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/http/operation.js
+var require_operation2 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/http/operation.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.pollHttpOperation = exports2.isOperationError = exports2.getResourceLocation = exports2.getOperationStatus = exports2.getOperationLocation = exports2.initHttpOperation = exports2.getStatusFromInitialResponse = exports2.getErrorFromResponse = exports2.parseRetryAfter = exports2.inferLroMode = void 0;
+    var operation_js_1 = require_operation();
+    var logger_js_1 = require_logger2();
+    function getOperationLocationPollingUrl(inputs) {
+      const { azureAsyncOperation, operationLocation } = inputs;
+      return operationLocation !== null && operationLocation !== void 0 ? operationLocation : azureAsyncOperation;
+    }
+    function getLocationHeader(rawResponse) {
+      return rawResponse.headers["location"];
+    }
+    function getOperationLocationHeader(rawResponse) {
+      return rawResponse.headers["operation-location"];
+    }
+    function getAzureAsyncOperationHeader(rawResponse) {
+      return rawResponse.headers["azure-asyncoperation"];
+    }
+    function findResourceLocation(inputs) {
+      var _a;
+      const { location, requestMethod, requestPath, resourceLocationConfig } = inputs;
+      switch (requestMethod) {
+        case "PUT": {
+          return requestPath;
+        }
+        case "DELETE": {
+          return void 0;
+        }
+        case "PATCH": {
+          return (_a = getDefault()) !== null && _a !== void 0 ? _a : requestPath;
+        }
+        default: {
+          return getDefault();
+        }
+      }
+      function getDefault() {
+        switch (resourceLocationConfig) {
+          case "azure-async-operation": {
+            return void 0;
+          }
+          case "original-uri": {
+            return requestPath;
+          }
+          case "location":
+          default: {
+            return location;
+          }
+        }
+      }
+    }
+    function inferLroMode(inputs) {
+      const { rawResponse, requestMethod, requestPath, resourceLocationConfig } = inputs;
+      const operationLocation = getOperationLocationHeader(rawResponse);
+      const azureAsyncOperation = getAzureAsyncOperationHeader(rawResponse);
+      const pollingUrl = getOperationLocationPollingUrl({ operationLocation, azureAsyncOperation });
+      const location = getLocationHeader(rawResponse);
+      const normalizedRequestMethod = requestMethod === null || requestMethod === void 0 ? void 0 : requestMethod.toLocaleUpperCase();
+      if (pollingUrl !== void 0) {
+        return {
+          mode: "OperationLocation",
+          operationLocation: pollingUrl,
+          resourceLocation: findResourceLocation({
+            requestMethod: normalizedRequestMethod,
+            location,
+            requestPath,
+            resourceLocationConfig
+          })
+        };
+      } else if (location !== void 0) {
+        return {
+          mode: "ResourceLocation",
+          operationLocation: location
+        };
+      } else if (normalizedRequestMethod === "PUT" && requestPath) {
+        return {
+          mode: "Body",
+          operationLocation: requestPath
+        };
+      } else {
+        return void 0;
+      }
+    }
+    exports2.inferLroMode = inferLroMode;
+    function transformStatus(inputs) {
+      const { status, statusCode } = inputs;
+      if (typeof status !== "string" && status !== void 0) {
+        throw new Error(`Polling was unsuccessful. Expected status to have a string value or no value but it has instead: ${status}. This doesn't necessarily indicate the operation has failed. Check your Azure subscription or resource status for more information.`);
+      }
+      switch (status === null || status === void 0 ? void 0 : status.toLocaleLowerCase()) {
+        case void 0:
+          return toOperationStatus(statusCode);
+        case "succeeded":
+          return "succeeded";
+        case "failed":
+          return "failed";
+        case "running":
+        case "accepted":
+        case "started":
+        case "canceling":
+        case "cancelling":
+          return "running";
+        case "canceled":
+        case "cancelled":
+          return "canceled";
+        default: {
+          logger_js_1.logger.verbose(`LRO: unrecognized operation status: ${status}`);
+          return status;
+        }
+      }
+    }
+    function getStatus(rawResponse) {
+      var _a;
+      const { status } = (_a = rawResponse.body) !== null && _a !== void 0 ? _a : {};
+      return transformStatus({ status, statusCode: rawResponse.statusCode });
+    }
+    function getProvisioningState(rawResponse) {
+      var _a, _b;
+      const { properties, provisioningState } = (_a = rawResponse.body) !== null && _a !== void 0 ? _a : {};
+      const status = (_b = properties === null || properties === void 0 ? void 0 : properties.provisioningState) !== null && _b !== void 0 ? _b : provisioningState;
+      return transformStatus({ status, statusCode: rawResponse.statusCode });
+    }
+    function toOperationStatus(statusCode) {
+      if (statusCode === 202) {
+        return "running";
+      } else if (statusCode < 300) {
+        return "succeeded";
+      } else {
+        return "failed";
+      }
+    }
+    function parseRetryAfter({ rawResponse }) {
+      const retryAfter = rawResponse.headers["retry-after"];
+      if (retryAfter !== void 0) {
+        const retryAfterInSeconds = parseInt(retryAfter);
+        return isNaN(retryAfterInSeconds) ? calculatePollingIntervalFromDate(new Date(retryAfter)) : retryAfterInSeconds * 1e3;
+      }
+      return void 0;
+    }
+    exports2.parseRetryAfter = parseRetryAfter;
+    function getErrorFromResponse(response) {
+      const error3 = accessBodyProperty(response, "error");
+      if (!error3) {
+        logger_js_1.logger.warning(`The long-running operation failed but there is no error property in the response's body`);
+        return;
+      }
+      if (!error3.code || !error3.message) {
+        logger_js_1.logger.warning(`The long-running operation failed but the error property in the response's body doesn't contain code or message`);
+        return;
+      }
+      return error3;
+    }
+    exports2.getErrorFromResponse = getErrorFromResponse;
+    function calculatePollingIntervalFromDate(retryAfterDate) {
+      const timeNow = Math.floor((/* @__PURE__ */ new Date()).getTime());
+      const retryAfterTime = retryAfterDate.getTime();
+      if (timeNow < retryAfterTime) {
+        return retryAfterTime - timeNow;
+      }
+      return void 0;
+    }
+    function getStatusFromInitialResponse(inputs) {
+      const { response, state, operationLocation } = inputs;
+      function helper() {
+        var _a;
+        const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"];
+        switch (mode) {
+          case void 0:
+            return toOperationStatus(response.rawResponse.statusCode);
+          case "Body":
+            return getOperationStatus(response, state);
+          default:
+            return "running";
+        }
+      }
+      const status = helper();
+      return status === "running" && operationLocation === void 0 ? "succeeded" : status;
+    }
+    exports2.getStatusFromInitialResponse = getStatusFromInitialResponse;
+    async function initHttpOperation(inputs) {
+      const { stateProxy, resourceLocationConfig, processResult, lro, setErrorAsResult } = inputs;
+      return (0, operation_js_1.initOperation)({
+        init: async () => {
+          const response = await lro.sendInitialRequest();
+          const config = inferLroMode({
+            rawResponse: response.rawResponse,
+            requestPath: lro.requestPath,
+            requestMethod: lro.requestMethod,
+            resourceLocationConfig
+          });
+          return Object.assign({ response, operationLocation: config === null || config === void 0 ? void 0 : config.operationLocation, resourceLocation: config === null || config === void 0 ? void 0 : config.resourceLocation }, (config === null || config === void 0 ? void 0 : config.mode) ? { metadata: { mode: config.mode } } : {});
+        },
+        stateProxy,
+        processResult: processResult ? ({ flatResponse }, state) => processResult(flatResponse, state) : ({ flatResponse }) => flatResponse,
+        getOperationStatus: getStatusFromInitialResponse,
+        setErrorAsResult
+      });
+    }
+    exports2.initHttpOperation = initHttpOperation;
+    function getOperationLocation({ rawResponse }, state) {
+      var _a;
+      const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"];
+      switch (mode) {
+        case "OperationLocation": {
+          return getOperationLocationPollingUrl({
+            operationLocation: getOperationLocationHeader(rawResponse),
+            azureAsyncOperation: getAzureAsyncOperationHeader(rawResponse)
+          });
+        }
+        case "ResourceLocation": {
+          return getLocationHeader(rawResponse);
+        }
+        case "Body":
+        default: {
+          return void 0;
+        }
+      }
+    }
+    exports2.getOperationLocation = getOperationLocation;
+    function getOperationStatus({ rawResponse }, state) {
+      var _a;
+      const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"];
+      switch (mode) {
+        case "OperationLocation": {
+          return getStatus(rawResponse);
+        }
+        case "ResourceLocation": {
+          return toOperationStatus(rawResponse.statusCode);
+        }
+        case "Body": {
+          return getProvisioningState(rawResponse);
+        }
+        default:
+          throw new Error(`Internal error: Unexpected operation mode: ${mode}`);
+      }
+    }
+    exports2.getOperationStatus = getOperationStatus;
+    function accessBodyProperty({ flatResponse, rawResponse }, prop) {
+      var _a, _b;
+      return (_a = flatResponse === null || flatResponse === void 0 ? void 0 : flatResponse[prop]) !== null && _a !== void 0 ? _a : (_b = rawResponse.body) === null || _b === void 0 ? void 0 : _b[prop];
+    }
+    function getResourceLocation(res, state) {
+      const loc = accessBodyProperty(res, "resourceLocation");
+      if (loc && typeof loc === "string") {
+        state.config.resourceLocation = loc;
+      }
+      return state.config.resourceLocation;
+    }
+    exports2.getResourceLocation = getResourceLocation;
+    function isOperationError(e) {
+      return e.name === "RestError";
+    }
+    exports2.isOperationError = isOperationError;
+    async function pollHttpOperation(inputs) {
+      const { lro, stateProxy, options, processResult, updateState, setDelay, state, setErrorAsResult } = inputs;
+      return (0, operation_js_1.pollOperation)({
+        state,
+        stateProxy,
+        setDelay,
+        processResult: processResult ? ({ flatResponse }, inputState) => processResult(flatResponse, inputState) : ({ flatResponse }) => flatResponse,
+        getError: getErrorFromResponse,
+        updateState,
+        getPollingInterval: parseRetryAfter,
+        getOperationLocation,
+        getOperationStatus,
+        isOperationError,
+        getResourceLocation,
+        options,
+        /**
+         * The expansion here is intentional because `lro` could be an object that
+         * references an inner this, so we need to preserve a reference to it.
+         */
+        poll: async (location, inputOptions) => lro.sendPollRequest(location, inputOptions),
+        setErrorAsResult
+      });
+    }
+    exports2.pollHttpOperation = pollHttpOperation;
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/poller/poller.js
+var require_poller = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/poller/poller.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.buildCreatePoller = void 0;
+    var operation_js_1 = require_operation();
+    var constants_js_1 = require_constants17();
+    var core_util_1 = require_commonjs4();
+    var createStateProxy = () => ({
+      /**
+       * The state at this point is created to be of type OperationState.
+       * It will be updated later to be of type TState when the
+       * customer-provided callback, `updateState`, is called during polling.
+       */
+      initState: (config) => ({ status: "running", config }),
+      setCanceled: (state) => state.status = "canceled",
+      setError: (state, error3) => state.error = error3,
+      setResult: (state, result) => state.result = result,
+      setRunning: (state) => state.status = "running",
+      setSucceeded: (state) => state.status = "succeeded",
+      setFailed: (state) => state.status = "failed",
+      getError: (state) => state.error,
+      getResult: (state) => state.result,
+      isCanceled: (state) => state.status === "canceled",
+      isFailed: (state) => state.status === "failed",
+      isRunning: (state) => state.status === "running",
+      isSucceeded: (state) => state.status === "succeeded"
+    });
+    function buildCreatePoller(inputs) {
+      const { getOperationLocation, getStatusFromInitialResponse, getStatusFromPollResponse, isOperationError, getResourceLocation, getPollingInterval, getError, resolveOnUnsuccessful } = inputs;
+      return async ({ init, poll }, options) => {
+        const { processResult, updateState, withOperationLocation: withOperationLocationCallback, intervalInMs = constants_js_1.POLL_INTERVAL_IN_MS, restoreFrom } = options || {};
+        const stateProxy = createStateProxy();
+        const withOperationLocation = withOperationLocationCallback ? /* @__PURE__ */ (() => {
+          let called = false;
+          return (operationLocation, isUpdated) => {
+            if (isUpdated)
+              withOperationLocationCallback(operationLocation);
+            else if (!called)
+              withOperationLocationCallback(operationLocation);
+            called = true;
+          };
+        })() : void 0;
+        const state = restoreFrom ? (0, operation_js_1.deserializeState)(restoreFrom) : await (0, operation_js_1.initOperation)({
+          init,
+          stateProxy,
+          processResult,
+          getOperationStatus: getStatusFromInitialResponse,
+          withOperationLocation,
+          setErrorAsResult: !resolveOnUnsuccessful
+        });
+        let resultPromise;
+        const abortController = new AbortController();
+        const handlers = /* @__PURE__ */ new Map();
+        const handleProgressEvents = async () => handlers.forEach((h) => h(state));
+        const cancelErrMsg = "Operation was canceled";
+        let currentPollIntervalInMs = intervalInMs;
+        const poller = {
+          getOperationState: () => state,
+          getResult: () => state.result,
+          isDone: () => ["succeeded", "failed", "canceled"].includes(state.status),
+          isStopped: () => resultPromise === void 0,
+          stopPolling: () => {
+            abortController.abort();
+          },
+          toString: () => JSON.stringify({
+            state
+          }),
+          onProgress: (callback) => {
+            const s = /* @__PURE__ */ Symbol();
+            handlers.set(s, callback);
+            return () => handlers.delete(s);
+          },
+          pollUntilDone: (pollOptions) => resultPromise !== null && resultPromise !== void 0 ? resultPromise : resultPromise = (async () => {
+            const { abortSignal: inputAbortSignal } = pollOptions || {};
+            function abortListener() {
+              abortController.abort();
+            }
+            const abortSignal = abortController.signal;
+            if (inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.aborted) {
+              abortController.abort();
+            } else if (!abortSignal.aborted) {
+              inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.addEventListener("abort", abortListener, { once: true });
+            }
+            try {
+              if (!poller.isDone()) {
+                await poller.poll({ abortSignal });
+                while (!poller.isDone()) {
+                  await (0, core_util_1.delay)(currentPollIntervalInMs, { abortSignal });
+                  await poller.poll({ abortSignal });
+                }
+              }
+            } finally {
+              inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.removeEventListener("abort", abortListener);
+            }
+            if (resolveOnUnsuccessful) {
+              return poller.getResult();
+            } else {
+              switch (state.status) {
+                case "succeeded":
+                  return poller.getResult();
+                case "canceled":
+                  throw new Error(cancelErrMsg);
+                case "failed":
+                  throw state.error;
+                case "notStarted":
+                case "running":
+                  throw new Error(`Polling completed without succeeding or failing`);
+              }
+            }
+          })().finally(() => {
+            resultPromise = void 0;
+          }),
+          async poll(pollOptions) {
+            if (resolveOnUnsuccessful) {
+              if (poller.isDone())
+                return;
+            } else {
+              switch (state.status) {
+                case "succeeded":
+                  return;
+                case "canceled":
+                  throw new Error(cancelErrMsg);
+                case "failed":
+                  throw state.error;
+              }
+            }
+            await (0, operation_js_1.pollOperation)({
+              poll,
+              state,
+              stateProxy,
+              getOperationLocation,
+              isOperationError,
+              withOperationLocation,
+              getPollingInterval,
+              getOperationStatus: getStatusFromPollResponse,
+              getResourceLocation,
+              processResult,
+              getError,
+              updateState,
+              options: pollOptions,
+              setDelay: (pollIntervalInMs) => {
+                currentPollIntervalInMs = pollIntervalInMs;
+              },
+              setErrorAsResult: !resolveOnUnsuccessful
+            });
+            await handleProgressEvents();
+            if (!resolveOnUnsuccessful) {
+              switch (state.status) {
+                case "canceled":
+                  throw new Error(cancelErrMsg);
+                case "failed":
+                  throw state.error;
+              }
+            }
+          }
+        };
+        return poller;
+      };
+    }
+    exports2.buildCreatePoller = buildCreatePoller;
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/http/poller.js
+var require_poller2 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/http/poller.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createHttpPoller = void 0;
+    var operation_js_1 = require_operation2();
+    var poller_js_1 = require_poller();
+    async function createHttpPoller(lro, options) {
+      const { resourceLocationConfig, intervalInMs, processResult, restoreFrom, updateState, withOperationLocation, resolveOnUnsuccessful = false } = options || {};
+      return (0, poller_js_1.buildCreatePoller)({
+        getStatusFromInitialResponse: operation_js_1.getStatusFromInitialResponse,
+        getStatusFromPollResponse: operation_js_1.getOperationStatus,
+        isOperationError: operation_js_1.isOperationError,
+        getOperationLocation: operation_js_1.getOperationLocation,
+        getResourceLocation: operation_js_1.getResourceLocation,
+        getPollingInterval: operation_js_1.parseRetryAfter,
+        getError: operation_js_1.getErrorFromResponse,
+        resolveOnUnsuccessful
+      })({
+        init: async () => {
+          const response = await lro.sendInitialRequest();
+          const config = (0, operation_js_1.inferLroMode)({
+            rawResponse: response.rawResponse,
+            requestPath: lro.requestPath,
+            requestMethod: lro.requestMethod,
+            resourceLocationConfig
+          });
+          return Object.assign({ response, operationLocation: config === null || config === void 0 ? void 0 : config.operationLocation, resourceLocation: config === null || config === void 0 ? void 0 : config.resourceLocation }, (config === null || config === void 0 ? void 0 : config.mode) ? { metadata: { mode: config.mode } } : {});
+        },
+        poll: lro.sendPollRequest
+      }, {
+        intervalInMs,
+        withOperationLocation,
+        restoreFrom,
+        updateState,
+        processResult: processResult ? ({ flatResponse }, state) => processResult(flatResponse, state) : ({ flatResponse }) => flatResponse
+      });
+    }
+    exports2.createHttpPoller = createHttpPoller;
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/operation.js
+var require_operation3 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/operation.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.GenericPollOperation = void 0;
+    var operation_js_1 = require_operation2();
+    var logger_js_1 = require_logger2();
+    var createStateProxy = () => ({
+      initState: (config) => ({ config, isStarted: true }),
+      setCanceled: (state) => state.isCancelled = true,
+      setError: (state, error3) => state.error = error3,
+      setResult: (state, result) => state.result = result,
+      setRunning: (state) => state.isStarted = true,
+      setSucceeded: (state) => state.isCompleted = true,
+      setFailed: () => {
+      },
+      getError: (state) => state.error,
+      getResult: (state) => state.result,
+      isCanceled: (state) => !!state.isCancelled,
+      isFailed: (state) => !!state.error,
+      isRunning: (state) => !!state.isStarted,
+      isSucceeded: (state) => Boolean(state.isCompleted && !state.isCancelled && !state.error)
+    });
+    var GenericPollOperation = class {
+      constructor(state, lro, setErrorAsResult, lroResourceLocationConfig, processResult, updateState, isDone) {
+        this.state = state;
+        this.lro = lro;
+        this.setErrorAsResult = setErrorAsResult;
+        this.lroResourceLocationConfig = lroResourceLocationConfig;
+        this.processResult = processResult;
+        this.updateState = updateState;
+        this.isDone = isDone;
+      }
+      setPollerConfig(pollerConfig) {
+        this.pollerConfig = pollerConfig;
+      }
+      async update(options) {
+        var _a;
+        const stateProxy = createStateProxy();
+        if (!this.state.isStarted) {
+          this.state = Object.assign(Object.assign({}, this.state), await (0, operation_js_1.initHttpOperation)({
+            lro: this.lro,
+            stateProxy,
+            resourceLocationConfig: this.lroResourceLocationConfig,
+            processResult: this.processResult,
+            setErrorAsResult: this.setErrorAsResult
+          }));
+        }
+        const updateState = this.updateState;
+        const isDone = this.isDone;
+        if (!this.state.isCompleted && this.state.error === void 0) {
+          await (0, operation_js_1.pollHttpOperation)({
+            lro: this.lro,
+            state: this.state,
+            stateProxy,
+            processResult: this.processResult,
+            updateState: updateState ? (state, { rawResponse }) => updateState(state, rawResponse) : void 0,
+            isDone: isDone ? ({ flatResponse }, state) => isDone(flatResponse, state) : void 0,
+            options,
+            setDelay: (intervalInMs) => {
+              this.pollerConfig.intervalInMs = intervalInMs;
+            },
+            setErrorAsResult: this.setErrorAsResult
+          });
+        }
+        (_a = options === null || options === void 0 ? void 0 : options.fireProgress) === null || _a === void 0 ? void 0 : _a.call(options, this.state);
+        return this;
+      }
+      async cancel() {
+        logger_js_1.logger.error("`cancelOperation` is deprecated because it wasn't implemented");
+        return this;
+      }
+      /**
+       * Serializes the Poller operation.
+       */
+      toString() {
+        return JSON.stringify({
+          state: this.state
+        });
+      }
+    };
+    exports2.GenericPollOperation = GenericPollOperation;
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/legacy/poller.js
+var require_poller3 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/legacy/poller.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Poller = exports2.PollerCancelledError = exports2.PollerStoppedError = void 0;
+    var PollerStoppedError = class _PollerStoppedError extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "PollerStoppedError";
+        Object.setPrototypeOf(this, _PollerStoppedError.prototype);
+      }
+    };
+    exports2.PollerStoppedError = PollerStoppedError;
+    var PollerCancelledError = class _PollerCancelledError extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "PollerCancelledError";
+        Object.setPrototypeOf(this, _PollerCancelledError.prototype);
+      }
+    };
+    exports2.PollerCancelledError = PollerCancelledError;
+    var Poller = class {
+      /**
+       * A poller needs to be initialized by passing in at least the basic properties of the `PollOperation`.
+       *
+       * When writing an implementation of a Poller, this implementation needs to deal with the initialization
+       * of any custom state beyond the basic definition of the poller. The basic poller assumes that the poller's
+       * operation has already been defined, at least its basic properties. The code below shows how to approach
+       * the definition of the constructor of a new custom poller.
+       *
+       * ```ts
+       * export class MyPoller extends Poller {
+       *   constructor({
+       *     // Anything you might need outside of the basics
+       *   }) {
+       *     let state: MyOperationState = {
+       *       privateProperty: private,
+       *       publicProperty: public,
+       *     };
+       *
+       *     const operation = {
+       *       state,
+       *       update,
+       *       cancel,
+       *       toString
+       *     }
+       *
+       *     // Sending the operation to the parent's constructor.
+       *     super(operation);
+       *
+       *     // You can assign more local properties here.
+       *   }
+       * }
+       * ```
+       *
+       * Inside of this constructor, a new promise is created. This will be used to
+       * tell the user when the poller finishes (see `pollUntilDone()`). The promise's
+       * resolve and reject methods are also used internally to control when to resolve
+       * or reject anyone waiting for the poller to finish.
+       *
+       * The constructor of a custom implementation of a poller is where any serialized version of
+       * a previous poller's operation should be deserialized into the operation sent to the
+       * base constructor. For example:
+       *
+       * ```ts
+       * export class MyPoller extends Poller {
+       *   constructor(
+       *     baseOperation: string | undefined
+       *   ) {
+       *     let state: MyOperationState = {};
+       *     if (baseOperation) {
+       *       state = {
+       *         ...JSON.parse(baseOperation).state,
+       *         ...state
+       *       };
+       *     }
+       *     const operation = {
+       *       state,
+       *       // ...
+       *     }
+       *     super(operation);
+       *   }
+       * }
+       * ```
+       *
+       * @param operation - Must contain the basic properties of `PollOperation`.
+       */
+      constructor(operation) {
+        this.resolveOnUnsuccessful = false;
+        this.stopped = true;
+        this.pollProgressCallbacks = [];
+        this.operation = operation;
+        this.promise = new Promise((resolve8, reject) => {
+          this.resolve = resolve8;
+          this.reject = reject;
+        });
+        this.promise.catch(() => {
+        });
+      }
+      /**
+       * Starts a loop that will break only if the poller is done
+       * or if the poller is stopped.
+       */
+      async startPolling(pollOptions = {}) {
+        if (this.stopped) {
+          this.stopped = false;
+        }
+        while (!this.isStopped() && !this.isDone()) {
+          await this.poll(pollOptions);
+          await this.delay();
+        }
+      }
+      /**
+       * pollOnce does one polling, by calling to the update method of the underlying
+       * poll operation to make any relevant change effective.
+       *
+       * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike.
+       *
+       * @param options - Optional properties passed to the operation's update method.
+       */
+      async pollOnce(options = {}) {
+        if (!this.isDone()) {
+          this.operation = await this.operation.update({
+            abortSignal: options.abortSignal,
+            fireProgress: this.fireProgress.bind(this)
+          });
+        }
+        this.processUpdatedState();
+      }
+      /**
+       * fireProgress calls the functions passed in via onProgress the method of the poller.
+       *
+       * It loops over all of the callbacks received from onProgress, and executes them, sending them
+       * the current operation state.
+       *
+       * @param state - The current operation state.
+       */
+      fireProgress(state) {
+        for (const callback of this.pollProgressCallbacks) {
+          callback(state);
+        }
+      }
+      /**
+       * Invokes the underlying operation's cancel method.
+       */
+      async cancelOnce(options = {}) {
+        this.operation = await this.operation.cancel(options);
+      }
+      /**
+       * Returns a promise that will resolve once a single polling request finishes.
+       * It does this by calling the update method of the Poller's operation.
+       *
+       * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike.
+       *
+       * @param options - Optional properties passed to the operation's update method.
+       */
+      poll(options = {}) {
+        if (!this.pollOncePromise) {
+          this.pollOncePromise = this.pollOnce(options);
+          const clearPollOncePromise = () => {
+            this.pollOncePromise = void 0;
+          };
+          this.pollOncePromise.then(clearPollOncePromise, clearPollOncePromise).catch(this.reject);
+        }
+        return this.pollOncePromise;
+      }
+      processUpdatedState() {
+        if (this.operation.state.error) {
+          this.stopped = true;
+          if (!this.resolveOnUnsuccessful) {
+            this.reject(this.operation.state.error);
+            throw this.operation.state.error;
+          }
+        }
+        if (this.operation.state.isCancelled) {
+          this.stopped = true;
+          if (!this.resolveOnUnsuccessful) {
+            const error3 = new PollerCancelledError("Operation was canceled");
+            this.reject(error3);
+            throw error3;
+          }
+        }
+        if (this.isDone() && this.resolve) {
+          this.resolve(this.getResult());
+        }
+      }
+      /**
+       * Returns a promise that will resolve once the underlying operation is completed.
+       */
+      async pollUntilDone(pollOptions = {}) {
+        if (this.stopped) {
+          this.startPolling(pollOptions).catch(this.reject);
+        }
+        this.processUpdatedState();
+        return this.promise;
+      }
+      /**
+       * Invokes the provided callback after each polling is completed,
+       * sending the current state of the poller's operation.
+       *
+       * It returns a method that can be used to stop receiving updates on the given callback function.
+       */
+      onProgress(callback) {
+        this.pollProgressCallbacks.push(callback);
+        return () => {
+          this.pollProgressCallbacks = this.pollProgressCallbacks.filter((c) => c !== callback);
+        };
+      }
+      /**
+       * Returns true if the poller has finished polling.
+       */
+      isDone() {
+        const state = this.operation.state;
+        return Boolean(state.isCompleted || state.isCancelled || state.error);
+      }
+      /**
+       * Stops the poller from continuing to poll.
+       */
+      stopPolling() {
+        if (!this.stopped) {
+          this.stopped = true;
+          if (this.reject) {
+            this.reject(new PollerStoppedError("This poller is already stopped"));
+          }
+        }
+      }
+      /**
+       * Returns true if the poller is stopped.
+       */
+      isStopped() {
+        return this.stopped;
+      }
+      /**
+       * Attempts to cancel the underlying operation.
+       *
+       * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike.
+       *
+       * If it's called again before it finishes, it will throw an error.
+       *
+       * @param options - Optional properties passed to the operation's update method.
+       */
+      cancelOperation(options = {}) {
+        if (!this.cancelPromise) {
+          this.cancelPromise = this.cancelOnce(options);
+        } else if (options.abortSignal) {
+          throw new Error("A cancel request is currently pending");
+        }
+        return this.cancelPromise;
+      }
+      /**
+       * Returns the state of the operation.
+       *
+       * Even though TState will be the same type inside any of the methods of any extension of the Poller class,
+       * implementations of the pollers can customize what's shared with the public by writing their own
+       * version of the `getOperationState` method, and by defining two types, one representing the internal state of the poller
+       * and a public type representing a safe to share subset of the properties of the internal state.
+       * Their definition of getOperationState can then return their public type.
+       *
+       * Example:
+       *
+       * ```ts
+       * // Let's say we have our poller's operation state defined as:
+       * interface MyOperationState extends PollOperationState {
+       *   privateProperty?: string;
+       *   publicProperty?: string;
+       * }
+       *
+       * // To allow us to have a true separation of public and private state, we have to define another interface:
+       * interface PublicState extends PollOperationState {
+       *   publicProperty?: string;
+       * }
+       *
+       * // Then, we define our Poller as follows:
+       * export class MyPoller extends Poller {
+       *   // ... More content is needed here ...
+       *
+       *   public getOperationState(): PublicState {
+       *     const state: PublicState = this.operation.state;
+       *     return {
+       *       // Properties from PollOperationState
+       *       isStarted: state.isStarted,
+       *       isCompleted: state.isCompleted,
+       *       isCancelled: state.isCancelled,
+       *       error: state.error,
+       *       result: state.result,
+       *
+       *       // The only other property needed by PublicState.
+       *       publicProperty: state.publicProperty
+       *     }
+       *   }
+       * }
+       * ```
+       *
+       * You can see this in the tests of this repository, go to the file:
+       * `../test/utils/testPoller.ts`
+       * and look for the getOperationState implementation.
+       */
+      getOperationState() {
+        return this.operation.state;
+      }
+      /**
+       * Returns the result value of the operation,
+       * regardless of the state of the poller.
+       * It can return undefined or an incomplete form of the final TResult value
+       * depending on the implementation.
+       */
+      getResult() {
+        const state = this.operation.state;
+        return state.result;
+      }
+      /**
+       * Returns a serialized version of the poller's operation
+       * by invoking the operation's toString method.
+       */
+      toString() {
+        return this.operation.toString();
+      }
+    };
+    exports2.Poller = Poller;
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/lroEngine.js
+var require_lroEngine = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/lroEngine.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.LroEngine = void 0;
+    var operation_js_1 = require_operation3();
+    var constants_js_1 = require_constants17();
+    var poller_js_1 = require_poller3();
+    var operation_js_2 = require_operation();
+    var LroEngine = class extends poller_js_1.Poller {
+      constructor(lro, options) {
+        const { intervalInMs = constants_js_1.POLL_INTERVAL_IN_MS, resumeFrom, resolveOnUnsuccessful = false, isDone, lroResourceLocationConfig, processResult, updateState } = options || {};
+        const state = resumeFrom ? (0, operation_js_2.deserializeState)(resumeFrom) : {};
+        const operation = new operation_js_1.GenericPollOperation(state, lro, !resolveOnUnsuccessful, lroResourceLocationConfig, processResult, updateState, isDone);
+        super(operation);
+        this.resolveOnUnsuccessful = resolveOnUnsuccessful;
+        this.config = { intervalInMs };
+        operation.setPollerConfig(this.config);
+      }
+      /**
+       * The method used by the poller to wait before attempting to update its operation.
+       */
+      delay() {
+        return new Promise((resolve8) => setTimeout(() => resolve8(), this.config.intervalInMs));
+      }
+    };
+    exports2.LroEngine = LroEngine;
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/index.js
+var require_lroEngine2 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.LroEngine = void 0;
+    var lroEngine_js_1 = require_lroEngine();
+    Object.defineProperty(exports2, "LroEngine", { enumerable: true, get: function() {
+      return lroEngine_js_1.LroEngine;
+    } });
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/legacy/pollOperation.js
+var require_pollOperation = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/legacy/pollOperation.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/index.js
+var require_commonjs14 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createHttpPoller = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var poller_js_1 = require_poller2();
+    Object.defineProperty(exports2, "createHttpPoller", { enumerable: true, get: function() {
+      return poller_js_1.createHttpPoller;
+    } });
+    tslib_1.__exportStar(require_lroEngine2(), exports2);
+    tslib_1.__exportStar(require_poller3(), exports2);
+    tslib_1.__exportStar(require_pollOperation(), exports2);
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/pollers/BlobStartCopyFromUrlPoller.js
+var require_BlobStartCopyFromUrlPoller = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/pollers/BlobStartCopyFromUrlPoller.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobBeginCopyFromUrlPoller = void 0;
+    var core_util_1 = require_commonjs4();
+    var core_lro_1 = require_commonjs14();
+    var BlobBeginCopyFromUrlPoller = class extends core_lro_1.Poller {
+      intervalInMs;
+      constructor(options) {
+        const { blobClient, copySource, intervalInMs = 15e3, onProgress, resumeFrom, startCopyFromURLOptions } = options;
+        let state;
+        if (resumeFrom) {
+          state = JSON.parse(resumeFrom).state;
+        }
+        const operation = makeBlobBeginCopyFromURLPollOperation({
+          ...state,
+          blobClient,
+          copySource,
+          startCopyFromURLOptions
+        });
+        super(operation);
+        if (typeof onProgress === "function") {
+          this.onProgress(onProgress);
+        }
+        this.intervalInMs = intervalInMs;
+      }
+      delay() {
+        return (0, core_util_1.delay)(this.intervalInMs);
+      }
+    };
+    exports2.BlobBeginCopyFromUrlPoller = BlobBeginCopyFromUrlPoller;
+    var cancel = async function cancel2(options = {}) {
+      const state = this.state;
+      const { copyId } = state;
+      if (state.isCompleted) {
+        return makeBlobBeginCopyFromURLPollOperation(state);
+      }
+      if (!copyId) {
+        state.isCancelled = true;
+        return makeBlobBeginCopyFromURLPollOperation(state);
+      }
+      await state.blobClient.abortCopyFromURL(copyId, {
+        abortSignal: options.abortSignal
+      });
+      state.isCancelled = true;
+      return makeBlobBeginCopyFromURLPollOperation(state);
+    };
+    var update = async function update2(options = {}) {
+      const state = this.state;
+      const { blobClient, copySource, startCopyFromURLOptions } = state;
+      if (!state.isStarted) {
+        state.isStarted = true;
+        const result = await blobClient.startCopyFromURL(copySource, startCopyFromURLOptions);
+        state.copyId = result.copyId;
+        if (result.copyStatus === "success") {
+          state.result = result;
+          state.isCompleted = true;
+        }
+      } else if (!state.isCompleted) {
+        try {
+          const result = await state.blobClient.getProperties({ abortSignal: options.abortSignal });
+          const { copyStatus, copyProgress } = result;
+          const prevCopyProgress = state.copyProgress;
+          if (copyProgress) {
+            state.copyProgress = copyProgress;
+          }
+          if (copyStatus === "pending" && copyProgress !== prevCopyProgress && typeof options.fireProgress === "function") {
+            options.fireProgress(state);
+          } else if (copyStatus === "success") {
+            state.result = result;
+            state.isCompleted = true;
+          } else if (copyStatus === "failed") {
+            state.error = new Error(`Blob copy failed with reason: "${result.copyStatusDescription || "unknown"}"`);
+            state.isCompleted = true;
+          }
+        } catch (err) {
+          state.error = err;
+          state.isCompleted = true;
+        }
+      }
+      return makeBlobBeginCopyFromURLPollOperation(state);
+    };
+    var toString3 = function toString4() {
+      return JSON.stringify({ state: this.state }, (key, value) => {
+        if (key === "blobClient") {
+          return void 0;
+        }
+        return value;
+      });
+    };
+    function makeBlobBeginCopyFromURLPollOperation(state) {
+      return {
+        state: { ...state },
+        cancel,
+        toString: toString3,
+        update
+      };
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/Range.js
+var require_Range = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/Range.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.rangeToString = rangeToString;
+    function rangeToString(iRange) {
+      if (iRange.offset < 0) {
+        throw new RangeError(`Range.offset cannot be smaller than 0.`);
+      }
+      if (iRange.count && iRange.count <= 0) {
+        throw new RangeError(`Range.count must be larger than 0. Leave it undefined if you want a range from offset to the end.`);
+      }
+      return iRange.count ? `bytes=${iRange.offset}-${iRange.offset + iRange.count - 1}` : `bytes=${iRange.offset}-`;
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/utils/Batch.js
+var require_Batch = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/Batch.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Batch = void 0;
+    var events_1 = require("events");
+    var BatchStates;
+    (function(BatchStates2) {
+      BatchStates2[BatchStates2["Good"] = 0] = "Good";
+      BatchStates2[BatchStates2["Error"] = 1] = "Error";
+    })(BatchStates || (BatchStates = {}));
+    var Batch = class {
+      /**
+       * Concurrency. Must be lager than 0.
+       */
+      concurrency;
+      /**
+       * Number of active operations under execution.
+       */
+      actives = 0;
+      /**
+       * Number of completed operations under execution.
+       */
+      completed = 0;
+      /**
+       * Offset of next operation to be executed.
+       */
+      offset = 0;
+      /**
+       * Operation array to be executed.
+       */
+      operations = [];
+      /**
+       * States of Batch. When an error happens, state will turn into error.
+       * Batch will stop execute left operations.
+       */
+      state = BatchStates.Good;
+      /**
+       * A private emitter used to pass events inside this class.
+       */
+      emitter;
+      /**
+       * Creates an instance of Batch.
+       * @param concurrency -
+       */
+      constructor(concurrency = 5) {
+        if (concurrency < 1) {
+          throw new RangeError("concurrency must be larger than 0");
+        }
+        this.concurrency = concurrency;
+        this.emitter = new events_1.EventEmitter();
+      }
+      /**
+       * Add a operation into queue.
+       *
+       * @param operation -
+       */
+      addOperation(operation) {
+        this.operations.push(async () => {
+          try {
+            this.actives++;
+            await operation();
+            this.actives--;
+            this.completed++;
+            this.parallelExecute();
+          } catch (error3) {
+            this.emitter.emit("error", error3);
+          }
+        });
+      }
+      /**
+       * Start execute operations in the queue.
+       *
+       */
+      async do() {
+        if (this.operations.length === 0) {
+          return Promise.resolve();
+        }
+        this.parallelExecute();
+        return new Promise((resolve8, reject) => {
+          this.emitter.on("finish", resolve8);
+          this.emitter.on("error", (error3) => {
+            this.state = BatchStates.Error;
+            reject(error3);
+          });
+        });
+      }
+      /**
+       * Get next operation to be executed. Return null when reaching ends.
+       *
+       */
+      nextOperation() {
+        if (this.offset < this.operations.length) {
+          return this.operations[this.offset++];
+        }
+        return null;
+      }
+      /**
+       * Start execute operations. One one the most important difference between
+       * this method with do() is that do() wraps as an sync method.
+       *
+       */
+      parallelExecute() {
+        if (this.state === BatchStates.Error) {
+          return;
+        }
+        if (this.completed >= this.operations.length) {
+          this.emitter.emit("finish");
+          return;
+        }
+        while (this.actives < this.concurrency) {
+          const operation = this.nextOperation();
+          if (operation) {
+            operation();
+          } else {
+            return;
+          }
+        }
+      }
+    };
+    exports2.Batch = Batch;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/utils/utils.js
+var require_utils7 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/utils.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.fsCreateReadStream = exports2.fsStat = void 0;
+    exports2.streamToBuffer = streamToBuffer;
+    exports2.streamToBuffer2 = streamToBuffer2;
+    exports2.streamToBuffer3 = streamToBuffer3;
+    exports2.readStreamToLocalFile = readStreamToLocalFile;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var node_fs_1 = tslib_1.__importDefault(require("node:fs"));
+    var node_util_1 = tslib_1.__importDefault(require("node:util"));
+    var constants_js_1 = require_constants15();
+    async function streamToBuffer(stream2, buffer, offset, end, encoding) {
+      let pos = 0;
+      const count = end - offset;
+      return new Promise((resolve8, reject) => {
+        const timeout = setTimeout(() => reject(new Error(`The operation cannot be completed in timeout.`)), constants_js_1.REQUEST_TIMEOUT);
+        stream2.on("readable", () => {
+          if (pos >= count) {
+            clearTimeout(timeout);
+            resolve8();
+            return;
+          }
+          let chunk = stream2.read();
+          if (!chunk) {
+            return;
+          }
+          if (typeof chunk === "string") {
+            chunk = Buffer.from(chunk, encoding);
+          }
+          const chunkLength = pos + chunk.length > count ? count - pos : chunk.length;
+          buffer.fill(chunk.slice(0, chunkLength), offset + pos, offset + pos + chunkLength);
+          pos += chunkLength;
+        });
+        stream2.on("end", () => {
+          clearTimeout(timeout);
+          if (pos < count) {
+            reject(new Error(`Stream drains before getting enough data needed. Data read: ${pos}, data need: ${count}`));
+          }
+          resolve8();
+        });
+        stream2.on("error", (msg) => {
+          clearTimeout(timeout);
+          reject(msg);
+        });
+      });
+    }
+    async function streamToBuffer2(stream2, buffer, encoding) {
+      let pos = 0;
+      const bufferSize = buffer.length;
+      return new Promise((resolve8, reject) => {
+        stream2.on("readable", () => {
+          let chunk = stream2.read();
+          if (!chunk) {
+            return;
+          }
+          if (typeof chunk === "string") {
+            chunk = Buffer.from(chunk, encoding);
+          }
+          if (pos + chunk.length > bufferSize) {
+            reject(new Error(`Stream exceeds buffer size. Buffer size: ${bufferSize}`));
+            return;
+          }
+          buffer.fill(chunk, pos, pos + chunk.length);
+          pos += chunk.length;
+        });
+        stream2.on("end", () => {
+          resolve8(pos);
+        });
+        stream2.on("error", reject);
+      });
+    }
+    async function streamToBuffer3(readableStream, encoding) {
+      return new Promise((resolve8, reject) => {
+        const chunks = [];
+        readableStream.on("data", (data) => {
+          chunks.push(typeof data === "string" ? Buffer.from(data, encoding) : data);
+        });
+        readableStream.on("end", () => {
+          resolve8(Buffer.concat(chunks));
+        });
+        readableStream.on("error", reject);
+      });
+    }
+    async function readStreamToLocalFile(rs, file) {
+      return new Promise((resolve8, reject) => {
+        const ws = node_fs_1.default.createWriteStream(file);
+        rs.on("error", (err) => {
+          reject(err);
+        });
+        ws.on("error", (err) => {
+          reject(err);
+        });
+        ws.on("close", resolve8);
+        rs.pipe(ws);
+      });
+    }
+    exports2.fsStat = node_util_1.default.promisify(node_fs_1.default.stat);
+    exports2.fsCreateReadStream = node_fs_1.default.createReadStream;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/Clients.js
+var require_Clients = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/Clients.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.PageBlobClient = exports2.BlockBlobClient = exports2.AppendBlobClient = exports2.BlobClient = void 0;
+    var core_rest_pipeline_1 = require_commonjs6();
+    var core_auth_1 = require_commonjs7();
+    var core_util_1 = require_commonjs4();
+    var core_util_2 = require_commonjs4();
+    var BlobDownloadResponse_js_1 = require_BlobDownloadResponse();
+    var BlobQueryResponse_js_1 = require_BlobQueryResponse();
+    var AnonymousCredential_js_1 = require_AnonymousCredential();
+    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
+    var models_js_1 = require_models2();
+    var PageBlobRangeResponse_js_1 = require_PageBlobRangeResponse();
+    var Pipeline_js_1 = require_Pipeline();
+    var BlobStartCopyFromUrlPoller_js_1 = require_BlobStartCopyFromUrlPoller();
+    var Range_js_1 = require_Range();
+    var StorageClient_js_1 = require_StorageClient();
+    var Batch_js_1 = require_Batch();
+    var storage_common_1 = require_commonjs13();
+    var constants_js_1 = require_constants15();
+    var tracing_js_1 = require_tracing();
+    var utils_common_js_1 = require_utils_common();
+    var utils_js_1 = require_utils7();
+    var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues();
+    var BlobLeaseClient_js_1 = require_BlobLeaseClient();
+    var BlobClient = class _BlobClient extends StorageClient_js_1.StorageClient {
+      /**
+       * blobContext provided by protocol layer.
+       */
+      blobContext;
+      _name;
+      _containerName;
+      _versionId;
+      _snapshot;
+      /**
+       * The name of the blob.
+       */
+      get name() {
+        return this._name;
+      }
+      /**
+       * The name of the storage container the blob is associated with.
+       */
+      get containerName() {
+        return this._containerName;
+      }
+      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
+        options = options || {};
+        let pipeline;
+        let url2;
+        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
+          url2 = urlOrConnectionString;
+          pipeline = credentialOrPipelineOrContainerName;
+        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
+          url2 = urlOrConnectionString;
+          options = blobNameOrOptions;
+          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
+        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
+          url2 = urlOrConnectionString;
+          if (blobNameOrOptions && typeof blobNameOrOptions !== "string") {
+            options = blobNameOrOptions;
+          }
+          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
+          const containerName = credentialOrPipelineOrContainerName;
+          const blobName = blobNameOrOptions;
+          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
+          if (extractedCreds.kind === "AccountConnString") {
+            if (core_util_1.isNodeLike) {
+              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
+              url2 = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
+              if (!options.proxyOptions) {
+                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+              }
+              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+            } else {
+              throw new Error("Account connection string is only supported in Node.js environment");
+            }
+          } else if (extractedCreds.kind === "SASConnString") {
+            url2 = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
+            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+          } else {
+            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
+          }
+        } else {
+          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
+        }
+        super(url2, pipeline);
+        ({ blobName: this._name, containerName: this._containerName } = this.getBlobAndContainerNamesFromUrl());
+        this.blobContext = this.storageClientContext.blob;
+        this._snapshot = (0, utils_common_js_1.getURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT);
+        this._versionId = (0, utils_common_js_1.getURLParameter)(this.url, constants_js_1.URLConstants.Parameters.VERSIONID);
+      }
+      /**
+       * Creates a new BlobClient object identical to the source but with the specified snapshot timestamp.
+       * Provide "" will remove the snapshot and return a Client to the base blob.
+       *
+       * @param snapshot - The snapshot timestamp.
+       * @returns A new BlobClient object identical to the source but with the specified snapshot timestamp
+       */
+      withSnapshot(snapshot) {
+        return new _BlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
+      }
+      /**
+       * Creates a new BlobClient object pointing to a version of this blob.
+       * Provide "" will remove the versionId and return a Client to the base blob.
+       *
+       * @param versionId - The versionId.
+       * @returns A new BlobClient object pointing to the version of this blob.
+       */
+      withVersion(versionId) {
+        return new _BlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.VERSIONID, versionId.length === 0 ? void 0 : versionId), this.pipeline);
+      }
+      /**
+       * Creates a AppendBlobClient object.
+       *
+       */
+      getAppendBlobClient() {
+        return new AppendBlobClient(this.url, this.pipeline);
+      }
+      /**
+       * Creates a BlockBlobClient object.
+       *
+       */
+      getBlockBlobClient() {
+        return new BlockBlobClient(this.url, this.pipeline);
+      }
+      /**
+       * Creates a PageBlobClient object.
+       *
+       */
+      getPageBlobClient() {
+        return new PageBlobClient(this.url, this.pipeline);
+      }
+      /**
+       * Reads or downloads a blob from the system, including its metadata and properties.
+       * You can also call Get Blob to read a snapshot.
+       *
+       * * In Node.js, data returns in a Readable stream readableStreamBody
+       * * In browsers, data returns in a promise blobBody
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob
+       *
+       * @param offset - From which position of the blob to download, greater than or equal to 0
+       * @param count - How much data to be downloaded, greater than 0. Will download to the end when undefined
+       * @param options - Optional options to Blob Download operation.
+       *
+       *
+       * Example usage (Node.js):
+       *
+       * ```ts snippet:ReadmeSampleDownloadBlob_Node
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blobClient = containerClient.getBlobClient(blobName);
+       *
+       * // Get blob content from position 0 to the end
+       * // In Node.js, get downloaded data by accessing downloadBlockBlobResponse.readableStreamBody
+       * const downloadBlockBlobResponse = await blobClient.download();
+       * if (downloadBlockBlobResponse.readableStreamBody) {
+       *   const downloaded = await streamToString(downloadBlockBlobResponse.readableStreamBody);
+       *   console.log(`Downloaded blob content: ${downloaded}`);
+       * }
+       *
+       * async function streamToString(stream: NodeJS.ReadableStream): Promise {
+       *   const result = await new Promise>((resolve, reject) => {
+       *     const chunks: Buffer[] = [];
+       *     stream.on("data", (data) => {
+       *       chunks.push(Buffer.isBuffer(data) ? data : Buffer.from(data));
+       *     });
+       *     stream.on("end", () => {
+       *       resolve(Buffer.concat(chunks));
+       *     });
+       *     stream.on("error", reject);
+       *   });
+       *   return result.toString();
+       * }
+       * ```
+       *
+       * Example usage (browser):
+       *
+       * ```ts snippet:ReadmeSampleDownloadBlob_Browser
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blobClient = containerClient.getBlobClient(blobName);
+       *
+       * // Get blob content from position 0 to the end
+       * // In browsers, get downloaded data by accessing downloadBlockBlobResponse.blobBody
+       * const downloadBlockBlobResponse = await blobClient.download();
+       * const blobBody = await downloadBlockBlobResponse.blobBody;
+       * if (blobBody) {
+       *   const downloaded = await blobBody.text();
+       *   console.log(`Downloaded blob content: ${downloaded}`);
+       * }
+       * ```
+       */
+      async download(offset = 0, count, options = {}) {
+        options.conditions = options.conditions || {};
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlobClient-download", options, async (updatedOptions) => {
+          const res = (0, utils_common_js_1.assertResponse)(await this.blobContext.download({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            requestOptions: {
+              onDownloadProgress: core_util_1.isNodeLike ? void 0 : options.onProgress
+              // for Node.js, progress is reported by RetriableReadableStream
+            },
+            range: offset === 0 && !count ? void 0 : (0, Range_js_1.rangeToString)({ offset, count }),
+            rangeGetContentMD5: options.rangeGetContentMD5,
+            rangeGetContentCRC64: options.rangeGetContentCrc64,
+            snapshot: options.snapshot,
+            cpkInfo: options.customerProvidedKey,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const wrappedRes = {
+            ...res,
+            _response: res._response,
+            // _response is made non-enumerable
+            objectReplicationDestinationPolicyId: res.objectReplicationPolicyId,
+            objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(res.objectReplicationRules)
+          };
+          if (!core_util_1.isNodeLike) {
+            return wrappedRes;
+          }
+          if (options.maxRetryRequests === void 0 || options.maxRetryRequests < 0) {
+            options.maxRetryRequests = constants_js_1.DEFAULT_MAX_DOWNLOAD_RETRY_REQUESTS;
+          }
+          if (res.contentLength === void 0) {
+            throw new RangeError(`File download response doesn't contain valid content length header`);
+          }
+          if (!res.etag) {
+            throw new RangeError(`File download response doesn't contain valid etag header`);
+          }
+          return new BlobDownloadResponse_js_1.BlobDownloadResponse(wrappedRes, async (start) => {
+            const updatedDownloadOptions = {
+              leaseAccessConditions: options.conditions,
+              modifiedAccessConditions: {
+                ifMatch: options.conditions.ifMatch || res.etag,
+                ifModifiedSince: options.conditions.ifModifiedSince,
+                ifNoneMatch: options.conditions.ifNoneMatch,
+                ifUnmodifiedSince: options.conditions.ifUnmodifiedSince,
+                ifTags: options.conditions?.tagConditions
+              },
+              range: (0, Range_js_1.rangeToString)({
+                count: offset + res.contentLength - start,
+                offset: start
+              }),
+              rangeGetContentMD5: options.rangeGetContentMD5,
+              rangeGetContentCRC64: options.rangeGetContentCrc64,
+              snapshot: options.snapshot,
+              cpkInfo: options.customerProvidedKey
+            };
+            return (await this.blobContext.download({
+              abortSignal: options.abortSignal,
+              ...updatedDownloadOptions
+            })).readableStreamBody;
+          }, offset, res.contentLength, {
+            maxRetryRequests: options.maxRetryRequests,
+            onProgress: options.onProgress
+          });
+        });
+      }
+      /**
+       * Returns true if the Azure blob resource represented by this client exists; false otherwise.
+       *
+       * NOTE: use this function with care since an existing blob might be deleted by other clients or
+       * applications. Vice versa new blobs might be added by other clients or applications after this
+       * function completes.
+       *
+       * @param options - options to Exists operation.
+       */
+      async exists(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-exists", options, async (updatedOptions) => {
+          try {
+            (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+            await this.getProperties({
+              abortSignal: options.abortSignal,
+              customerProvidedKey: options.customerProvidedKey,
+              conditions: options.conditions,
+              tracingOptions: updatedOptions.tracingOptions
+            });
+            return true;
+          } catch (e) {
+            if (e.statusCode === 404) {
+              return false;
+            } else if (e.statusCode === 409 && (e.details.errorCode === constants_js_1.BlobUsesCustomerSpecifiedEncryptionMsg || e.details.errorCode === constants_js_1.BlobDoesNotUseCustomerSpecifiedEncryption)) {
+              return true;
+            }
+            throw e;
+          }
+        });
+      }
+      /**
+       * Returns all user-defined metadata, standard HTTP properties, and system properties
+       * for the blob. It does not return the content of the blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-properties
+       *
+       * WARNING: The `metadata` object returned in the response will have its keys in lowercase, even if
+       * they originally contained uppercase characters. This differs from the metadata keys returned by
+       * the methods of {@link ContainerClient} that list blobs using the `includeMetadata` option, which
+       * will retain their original casing.
+       *
+       * @param options - Optional options to Get Properties operation.
+       */
+      async getProperties(options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlobClient-getProperties", options, async (updatedOptions) => {
+          const res = (0, utils_common_js_1.assertResponse)(await this.blobContext.getProperties({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          return {
+            ...res,
+            _response: res._response,
+            // _response is made non-enumerable
+            objectReplicationDestinationPolicyId: res.objectReplicationPolicyId,
+            objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(res.objectReplicationRules)
+          };
+        });
+      }
+      /**
+       * Marks the specified blob or snapshot for deletion. The blob is later deleted
+       * during garbage collection. Note that in order to delete a blob, you must delete
+       * all of its snapshots. You can delete both at the same time with the Delete
+       * Blob operation.
+       * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob
+       *
+       * @param options - Optional options to Blob Delete operation.
+       */
+      async delete(options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("BlobClient-delete", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.delete({
+            abortSignal: options.abortSignal,
+            deleteSnapshots: options.deleteSnapshots,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Marks the specified blob or snapshot for deletion if it exists. The blob is later deleted
+       * during garbage collection. Note that in order to delete a blob, you must delete
+       * all of its snapshots. You can delete both at the same time with the Delete
+       * Blob operation.
+       * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob
+       *
+       * @param options - Optional options to Blob Delete operation.
+       */
+      async deleteIfExists(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-deleteIfExists", options, async (updatedOptions) => {
+          try {
+            const res = (0, utils_common_js_1.assertResponse)(await this.delete(updatedOptions));
+            return {
+              succeeded: true,
+              ...res,
+              _response: res._response
+              // _response is made non-enumerable
+            };
+          } catch (e) {
+            if (e.details?.errorCode === "BlobNotFound") {
+              return {
+                succeeded: false,
+                ...e.response?.parsedHeaders,
+                _response: e.response
+              };
+            }
+            throw e;
+          }
+        });
+      }
+      /**
+       * Restores the contents and metadata of soft deleted blob and any associated
+       * soft deleted snapshots. Undelete Blob is supported only on version 2017-07-29
+       * or later.
+       * @see https://learn.microsoft.com/rest/api/storageservices/undelete-blob
+       *
+       * @param options - Optional options to Blob Undelete operation.
+       */
+      async undelete(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-undelete", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.undelete({
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Sets system properties on the blob.
+       *
+       * If no value provided, or no value provided for the specified blob HTTP headers,
+       * these blob HTTP headers without a value will be cleared.
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties
+       *
+       * @param blobHTTPHeaders - If no value provided, or no value provided for
+       *                                                   the specified blob HTTP headers, these blob HTTP
+       *                                                   headers without a value will be cleared.
+       *                                                   A common header to set is `blobContentType`
+       *                                                   enabling the browser to provide functionality
+       *                                                   based on file type.
+       * @param options - Optional options to Blob Set HTTP Headers operation.
+       */
+      async setHTTPHeaders(blobHTTPHeaders, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlobClient-setHTTPHeaders", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setHttpHeaders({
+            abortSignal: options.abortSignal,
+            blobHttpHeaders: blobHTTPHeaders,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            // cpkInfo: options.customerProvidedKey, // CPK is not included in Swagger, should change this back when this issue is fixed in Swagger.
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Sets user-defined metadata for the specified blob as one or more name-value pairs.
+       *
+       * If no option provided, or no metadata defined in the parameter, the blob
+       * metadata will be removed.
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-metadata
+       *
+       * @param metadata - Replace existing metadata with this value.
+       *                               If no value provided the existing metadata will be removed.
+       * @param options - Optional options to Set Metadata operation.
+       */
+      async setMetadata(metadata, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlobClient-setMetadata", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setMetadata({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            metadata,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Sets tags on the underlying blob.
+       * A blob can have up to 10 tags. Tag keys must be between 1 and 128 characters.  Tag values must be between 0 and 256 characters.
+       * Valid tag key and value characters include lower and upper case letters, digits (0-9),
+       * space (' '), plus ('+'), minus ('-'), period ('.'), foward slash ('/'), colon (':'), equals ('='), and underscore ('_').
+       *
+       * @param tags -
+       * @param options -
+       */
+      async setTags(tags, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-setTags", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setTags({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions,
+            tags: (0, utils_common_js_1.toBlobTags)(tags)
+          }));
+        });
+      }
+      /**
+       * Gets the tags associated with the underlying blob.
+       *
+       * @param options -
+       */
+      async getTags(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-getTags", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this.blobContext.getTags({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const wrappedResponse = {
+            ...response,
+            _response: response._response,
+            // _response is made non-enumerable
+            tags: (0, utils_common_js_1.toTags)({ blobTagSet: response.blobTagSet }) || {}
+          };
+          return wrappedResponse;
+        });
+      }
+      /**
+       * Get a {@link BlobLeaseClient} that manages leases on the blob.
+       *
+       * @param proposeLeaseId - Initial proposed lease Id.
+       * @returns A new BlobLeaseClient object for managing leases on the blob.
+       */
+      getBlobLeaseClient(proposeLeaseId) {
+        return new BlobLeaseClient_js_1.BlobLeaseClient(this, proposeLeaseId);
+      }
+      /**
+       * Creates a read-only snapshot of a blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/snapshot-blob
+       *
+       * @param options - Optional options to the Blob Create Snapshot operation.
+       */
+      async createSnapshot(options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlobClient-createSnapshot", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.createSnapshot({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            metadata: options.metadata,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Asynchronously copies a blob to a destination within the storage account.
+       * This method returns a long running operation poller that allows you to wait
+       * indefinitely until the copy is completed.
+       * You can also cancel a copy before it is completed by calling `cancelOperation` on the poller.
+       * Note that the onProgress callback will not be invoked if the operation completes in the first
+       * request, and attempting to cancel a completed copy will result in an error being thrown.
+       *
+       * In version 2012-02-12 and later, the source for a Copy Blob operation can be
+       * a committed blob in any Azure storage account.
+       * Beginning with version 2015-02-21, the source for a Copy Blob operation can be
+       * an Azure file in any Azure storage account.
+       * Only storage accounts created on or after June 7th, 2012 allow the Copy Blob
+       * operation to copy from another storage account.
+       * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob
+       *
+       * ```ts snippet:ClientsBeginCopyFromURL
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blobClient = containerClient.getBlobClient(blobName);
+       *
+       * // Example using automatic polling
+       * const automaticCopyPoller = await blobClient.beginCopyFromURL("url");
+       * const automaticResult = await automaticCopyPoller.pollUntilDone();
+       *
+       * // Example using manual polling
+       * const manualCopyPoller = await blobClient.beginCopyFromURL("url");
+       * while (!manualCopyPoller.isDone()) {
+       *   await manualCopyPoller.poll();
+       * }
+       * const manualResult = manualCopyPoller.getResult();
+       *
+       * // Example using progress updates
+       * const progressUpdatesCopyPoller = await blobClient.beginCopyFromURL("url", {
+       *   onProgress(state) {
+       *     console.log(`Progress: ${state.copyProgress}`);
+       *   },
+       * });
+       * const progressUpdatesResult = await progressUpdatesCopyPoller.pollUntilDone();
+       *
+       * // Example using a changing polling interval (default 15 seconds)
+       * const pollingIntervalCopyPoller = await blobClient.beginCopyFromURL("url", {
+       *   intervalInMs: 1000, // poll blob every 1 second for copy progress
+       * });
+       * const pollingIntervalResult = await pollingIntervalCopyPoller.pollUntilDone();
+       *
+       * // Example using copy cancellation:
+       * const cancelCopyPoller = await blobClient.beginCopyFromURL("url");
+       * // cancel operation after starting it.
+       * try {
+       *   await cancelCopyPoller.cancelOperation();
+       *   // calls to get the result now throw PollerCancelledError
+       *   cancelCopyPoller.getResult();
+       * } catch (err: any) {
+       *   if (err.name === "PollerCancelledError") {
+       *     console.log("The copy was cancelled.");
+       *   }
+       * }
+       * ```
+       *
+       * @param copySource - url to the source Azure Blob/File.
+       * @param options - Optional options to the Blob Start Copy From URL operation.
+       */
+      async beginCopyFromURL(copySource, options = {}) {
+        const client = {
+          abortCopyFromURL: (...args) => this.abortCopyFromURL(...args),
+          getProperties: (...args) => this.getProperties(...args),
+          startCopyFromURL: (...args) => this.startCopyFromURL(...args)
+        };
+        const poller = new BlobStartCopyFromUrlPoller_js_1.BlobBeginCopyFromUrlPoller({
+          blobClient: client,
+          copySource,
+          intervalInMs: options.intervalInMs,
+          onProgress: options.onProgress,
+          resumeFrom: options.resumeFrom,
+          startCopyFromURLOptions: options
+        });
+        await poller.poll();
+        return poller;
+      }
+      /**
+       * Aborts a pending asynchronous Copy Blob operation, and leaves a destination blob with zero
+       * length and full metadata. Version 2012-02-12 and newer.
+       * @see https://learn.microsoft.com/rest/api/storageservices/abort-copy-blob
+       *
+       * @param copyId - Id of the Copy From URL operation.
+       * @param options - Optional options to the Blob Abort Copy From URL operation.
+       */
+      async abortCopyFromURL(copyId, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-abortCopyFromURL", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.abortCopyFromURL(copyId, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * The synchronous Copy From URL operation copies a blob or an internet resource to a new blob. It will not
+       * return a response until the copy is complete.
+       * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob-from-url
+       *
+       * @param copySource - The source URL to copy from, Shared Access Signature(SAS) maybe needed for authentication
+       * @param options -
+       */
+      async syncCopyFromURL(copySource, options = {}) {
+        options.conditions = options.conditions || {};
+        options.sourceConditions = options.sourceConditions || {};
+        return tracing_js_1.tracingClient.withSpan("BlobClient-syncCopyFromURL", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.copyFromURL(copySource, {
+            abortSignal: options.abortSignal,
+            metadata: options.metadata,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            sourceModifiedAccessConditions: {
+              sourceIfMatch: options.sourceConditions?.ifMatch,
+              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
+              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
+              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince
+            },
+            sourceContentMD5: options.sourceContentMD5,
+            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
+            tier: (0, models_js_1.toAccessTier)(options.tier),
+            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
+            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
+            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
+            legalHold: options.legalHold,
+            encryptionScope: options.encryptionScope,
+            copySourceTags: options.copySourceTags,
+            fileRequestIntent: options.sourceShareTokenIntent,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Sets the tier on a blob. The operation is allowed on a page blob in a premium
+       * storage account and on a block blob in a blob storage account (locally redundant
+       * storage only). A premium page blob's tier determines the allowed size, IOPS,
+       * and bandwidth of the blob. A block blob's tier determines Hot/Cool/Archive
+       * storage type. This operation does not update the blob's ETag.
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-tier
+       *
+       * @param tier - The tier to be set on the blob. Valid values are Hot, Cool, or Archive.
+       * @param options - Optional options to the Blob Set Tier operation.
+       */
+      async setAccessTier(tier, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-setAccessTier", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setTier((0, models_js_1.toAccessTier)(tier), {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            rehydratePriority: options.rehydratePriority,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      async downloadToBuffer(param1, param2, param3, param4 = {}) {
+        let buffer;
+        let offset = 0;
+        let count = 0;
+        let options = param4;
+        if (param1 instanceof Buffer) {
+          buffer = param1;
+          offset = param2 || 0;
+          count = typeof param3 === "number" ? param3 : 0;
+        } else {
+          offset = typeof param1 === "number" ? param1 : 0;
+          count = typeof param2 === "number" ? param2 : 0;
+          options = param3 || {};
+        }
+        let blockSize = options.blockSize ?? 0;
+        if (blockSize < 0) {
+          throw new RangeError("blockSize option must be >= 0");
+        }
+        if (blockSize === 0) {
+          blockSize = constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES;
+        }
+        if (offset < 0) {
+          throw new RangeError("offset option must be >= 0");
+        }
+        if (count && count <= 0) {
+          throw new RangeError("count option must be greater than 0");
+        }
+        if (!options.conditions) {
+          options.conditions = {};
+        }
+        return tracing_js_1.tracingClient.withSpan("BlobClient-downloadToBuffer", options, async (updatedOptions) => {
+          if (!count) {
+            const response = await this.getProperties({
+              ...options,
+              tracingOptions: updatedOptions.tracingOptions
+            });
+            count = response.contentLength - offset;
+            if (count < 0) {
+              throw new RangeError(`offset ${offset} shouldn't be larger than blob size ${response.contentLength}`);
+            }
+          }
+          if (!buffer) {
+            try {
+              buffer = Buffer.alloc(count);
+            } catch (error3) {
+              throw new Error(`Unable to allocate the buffer of size: ${count}(in bytes). Please try passing your own buffer to the "downloadToBuffer" method or try using other methods like "download" or "downloadToFile".	 ${error3.message}`);
+            }
+          }
+          if (buffer.length < count) {
+            throw new RangeError(`The buffer's size should be equal to or larger than the request count of bytes: ${count}`);
+          }
+          let transferProgress = 0;
+          const batch = new Batch_js_1.Batch(options.concurrency);
+          for (let off = offset; off < offset + count; off = off + blockSize) {
+            batch.addOperation(async () => {
+              let chunkEnd = offset + count;
+              if (off + blockSize < chunkEnd) {
+                chunkEnd = off + blockSize;
+              }
+              const response = await this.download(off, chunkEnd - off, {
+                abortSignal: options.abortSignal,
+                conditions: options.conditions,
+                maxRetryRequests: options.maxRetryRequestsPerBlock,
+                customerProvidedKey: options.customerProvidedKey,
+                tracingOptions: updatedOptions.tracingOptions
+              });
+              const stream2 = response.readableStreamBody;
+              await (0, utils_js_1.streamToBuffer)(stream2, buffer, off - offset, chunkEnd - offset);
+              transferProgress += chunkEnd - off;
+              if (options.onProgress) {
+                options.onProgress({ loadedBytes: transferProgress });
+              }
+            });
+          }
+          await batch.do();
+          return buffer;
+        });
+      }
+      /**
+       * ONLY AVAILABLE IN NODE.JS RUNTIME.
+       *
+       * Downloads an Azure Blob to a local file.
+       * Fails if the the given file path already exits.
+       * Offset and count are optional, pass 0 and undefined respectively to download the entire blob.
+       *
+       * @param filePath -
+       * @param offset - From which position of the block blob to download.
+       * @param count - How much data to be downloaded. Will download to the end when passing undefined.
+       * @param options - Options to Blob download options.
+       * @returns The response data for blob download operation,
+       *                                                 but with readableStreamBody set to undefined since its
+       *                                                 content is already read and written into a local file
+       *                                                 at the specified path.
+       */
+      async downloadToFile(filePath, offset = 0, count, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-downloadToFile", options, async (updatedOptions) => {
+          const response = await this.download(offset, count, {
+            ...options,
+            tracingOptions: updatedOptions.tracingOptions
+          });
+          if (response.readableStreamBody) {
+            await (0, utils_js_1.readStreamToLocalFile)(response.readableStreamBody, filePath);
+          }
+          response.blobDownloadStream = void 0;
+          return response;
+        });
+      }
+      getBlobAndContainerNamesFromUrl() {
+        let containerName;
+        let blobName;
+        try {
+          const parsedUrl = new URL(this.url);
+          if (parsedUrl.host.split(".")[1] === "blob") {
+            const pathComponents = parsedUrl.pathname.match("/([^/]*)(/(.*))?");
+            containerName = pathComponents[1];
+            blobName = pathComponents[3];
+          } else if ((0, utils_common_js_1.isIpEndpointStyle)(parsedUrl)) {
+            const pathComponents = parsedUrl.pathname.match("/([^/]*)/([^/]*)(/(.*))?");
+            containerName = pathComponents[2];
+            blobName = pathComponents[4];
+          } else {
+            const pathComponents = parsedUrl.pathname.match("/([^/]*)(/(.*))?");
+            containerName = pathComponents[1];
+            blobName = pathComponents[3];
+          }
+          containerName = decodeURIComponent(containerName);
+          blobName = decodeURIComponent(blobName);
+          blobName = blobName.replace(/\\/g, "/");
+          if (!containerName) {
+            throw new Error("Provided containerName is invalid.");
+          }
+          return { blobName, containerName };
+        } catch (error3) {
+          throw new Error("Unable to extract blobName and containerName with provided information.");
+        }
+      }
+      /**
+       * Asynchronously copies a blob to a destination within the storage account.
+       * In version 2012-02-12 and later, the source for a Copy Blob operation can be
+       * a committed blob in any Azure storage account.
+       * Beginning with version 2015-02-21, the source for a Copy Blob operation can be
+       * an Azure file in any Azure storage account.
+       * Only storage accounts created on or after June 7th, 2012 allow the Copy Blob
+       * operation to copy from another storage account.
+       * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob
+       *
+       * @param copySource - url to the source Azure Blob/File.
+       * @param options - Optional options to the Blob Start Copy From URL operation.
+       */
+      async startCopyFromURL(copySource, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-startCopyFromURL", options, async (updatedOptions) => {
+          options.conditions = options.conditions || {};
+          options.sourceConditions = options.sourceConditions || {};
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.startCopyFromURL(copySource, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            metadata: options.metadata,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            sourceModifiedAccessConditions: {
+              sourceIfMatch: options.sourceConditions.ifMatch,
+              sourceIfModifiedSince: options.sourceConditions.ifModifiedSince,
+              sourceIfNoneMatch: options.sourceConditions.ifNoneMatch,
+              sourceIfUnmodifiedSince: options.sourceConditions.ifUnmodifiedSince,
+              sourceIfTags: options.sourceConditions.tagConditions
+            },
+            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
+            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
+            legalHold: options.legalHold,
+            rehydratePriority: options.rehydratePriority,
+            tier: (0, models_js_1.toAccessTier)(options.tier),
+            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
+            sealBlob: options.sealBlob,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Only available for BlobClient constructed with a shared key credential.
+       *
+       * Generates a Blob Service Shared Access Signature (SAS) URI based on the client properties
+       * and parameters passed in. The SAS is signed by the shared key credential of the client.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateSasUrl(options) {
+        return new Promise((resolve8) => {
+          if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
+            throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
+          }
+          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
+            containerName: this._containerName,
+            blobName: this._name,
+            snapshotTime: this._snapshot,
+            versionId: this._versionId,
+            ...options
+          }, this.credential).toString();
+          resolve8((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
+        });
+      }
+      /**
+       * Only available for BlobClient constructed with a shared key credential.
+       *
+       * Generates string to sign for a Blob Service Shared Access Signature (SAS) URI based on
+       * the client properties and parameters passed in. The SAS is signed by the shared key credential of the client.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/
+      generateSasStringToSign(options) {
+        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
+          throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
+        }
+        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
+          containerName: this._containerName,
+          blobName: this._name,
+          snapshotTime: this._snapshot,
+          versionId: this._versionId,
+          ...options
+        }, this.credential).stringToSign;
+      }
+      /**
+       *
+       * Generates a Blob Service Shared Access Signature (SAS) URI based on
+       * the client properties and parameters passed in. The SAS is signed by the input user delegation key.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateUserDelegationSasUrl(options, userDelegationKey) {
+        return new Promise((resolve8) => {
+          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
+            containerName: this._containerName,
+            blobName: this._name,
+            snapshotTime: this._snapshot,
+            versionId: this._versionId,
+            ...options
+          }, userDelegationKey, this.accountName).toString();
+          resolve8((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
+        });
+      }
+      /**
+       * Only available for BlobClient constructed with a shared key credential.
+       *
+       * Generates string to sign for a Blob Service Shared Access Signature (SAS) URI based on
+       * the client properties and parameters passed in. The SAS is signed by the input user delegation key.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateUserDelegationSasStringToSign(options, userDelegationKey) {
+        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
+          containerName: this._containerName,
+          blobName: this._name,
+          snapshotTime: this._snapshot,
+          versionId: this._versionId,
+          ...options
+        }, userDelegationKey, this.accountName).stringToSign;
+      }
+      /**
+       * Delete the immutablility policy on the blob.
+       *
+       * @param options - Optional options to delete immutability policy on the blob.
+       */
+      async deleteImmutabilityPolicy(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-deleteImmutabilityPolicy", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.deleteImmutabilityPolicy({
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Set immutability policy on the blob.
+       *
+       * @param options - Optional options to set immutability policy on the blob.
+       */
+      async setImmutabilityPolicy(immutabilityPolicy, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-setImmutabilityPolicy", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setImmutabilityPolicy({
+            immutabilityPolicyExpiry: immutabilityPolicy.expiriesOn,
+            immutabilityPolicyMode: immutabilityPolicy.policyMode,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Set legal hold on the blob.
+       *
+       * @param options - Optional options to set legal hold on the blob.
+       */
+      async setLegalHold(legalHoldEnabled, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-setLegalHold", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setLegalHold(legalHoldEnabled, {
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * The Get Account Information operation returns the sku name and account kind
+       * for the specified account.
+       * The Get Account Information operation is available on service versions beginning
+       * with version 2018-03-28.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information
+       *
+       * @param options - Options to the Service Get Account Info operation.
+       * @returns Response data for the Service Get Account Info operation.
+       */
+      async getAccountInfo(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-getAccountInfo", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.getAccountInfo({
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+    };
+    exports2.BlobClient = BlobClient;
+    var AppendBlobClient = class _AppendBlobClient extends BlobClient {
+      /**
+       * appendBlobsContext provided by protocol layer.
+       */
+      appendBlobContext;
+      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
+        let pipeline;
+        let url2;
+        options = options || {};
+        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
+          url2 = urlOrConnectionString;
+          pipeline = credentialOrPipelineOrContainerName;
+        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
+          url2 = urlOrConnectionString;
+          options = blobNameOrOptions;
+          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
+        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
+          url2 = urlOrConnectionString;
+          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
+          const containerName = credentialOrPipelineOrContainerName;
+          const blobName = blobNameOrOptions;
+          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
+          if (extractedCreds.kind === "AccountConnString") {
+            if (core_util_1.isNodeLike) {
+              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
+              url2 = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
+              if (!options.proxyOptions) {
+                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+              }
+              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+            } else {
+              throw new Error("Account connection string is only supported in Node.js environment");
+            }
+          } else if (extractedCreds.kind === "SASConnString") {
+            url2 = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
+            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+          } else {
+            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
+          }
+        } else {
+          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
+        }
+        super(url2, pipeline);
+        this.appendBlobContext = this.storageClientContext.appendBlob;
+      }
+      /**
+       * Creates a new AppendBlobClient object identical to the source but with the
+       * specified snapshot timestamp.
+       * Provide "" will remove the snapshot and return a Client to the base blob.
+       *
+       * @param snapshot - The snapshot timestamp.
+       * @returns A new AppendBlobClient object identical to the source but with the specified snapshot timestamp.
+       */
+      withSnapshot(snapshot) {
+        return new _AppendBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
+      }
+      /**
+       * Creates a 0-length append blob. Call AppendBlock to append data to an append blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
+       *
+       * @param options - Options to the Append Block Create operation.
+       *
+       *
+       * Example usage:
+       *
+       * ```ts snippet:ClientsCreateAppendBlob
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       *
+       * const appendBlobClient = containerClient.getAppendBlobClient(blobName);
+       * await appendBlobClient.create();
+       * ```
+       */
+      async create(options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-create", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.create(0, {
+            abortSignal: options.abortSignal,
+            blobHttpHeaders: options.blobHTTPHeaders,
+            leaseAccessConditions: options.conditions,
+            metadata: options.metadata,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
+            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
+            legalHold: options.legalHold,
+            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Creates a 0-length append blob. Call AppendBlock to append data to an append blob.
+       * If the blob with the same name already exists, the content of the existing blob will remain unchanged.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
+       *
+       * @param options -
+       */
+      async createIfNotExists(options = {}) {
+        const conditions = { ifNoneMatch: constants_js_1.ETagAny };
+        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-createIfNotExists", options, async (updatedOptions) => {
+          try {
+            const res = (0, utils_common_js_1.assertResponse)(await this.create({
+              ...updatedOptions,
+              conditions
+            }));
+            return {
+              succeeded: true,
+              ...res,
+              _response: res._response
+              // _response is made non-enumerable
+            };
+          } catch (e) {
+            if (e.details?.errorCode === "BlobAlreadyExists") {
+              return {
+                succeeded: false,
+                ...e.response?.parsedHeaders,
+                _response: e.response
+              };
+            }
+            throw e;
+          }
+        });
+      }
+      /**
+       * Seals the append blob, making it read only.
+       *
+       * @param options -
+       */
+      async seal(options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-seal", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.seal({
+            abortSignal: options.abortSignal,
+            appendPositionAccessConditions: options.conditions,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Commits a new block of data to the end of the existing append blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/append-block
+       *
+       * @param body - Data to be appended.
+       * @param contentLength - Length of the body in bytes.
+       * @param options - Options to the Append Block operation.
+       *
+       *
+       * Example usage:
+       *
+       * ```ts snippet:ClientsAppendBlock
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       *
+       * const content = "Hello World!";
+       *
+       * // Create a new append blob and append data to the blob.
+       * const newAppendBlobClient = containerClient.getAppendBlobClient(blobName);
+       * await newAppendBlobClient.create();
+       * await newAppendBlobClient.appendBlock(content, content.length);
+       *
+       * // Append data to an existing append blob.
+       * const existingAppendBlobClient = containerClient.getAppendBlobClient(blobName);
+       * await existingAppendBlobClient.appendBlock(content, content.length);
+       * ```
+       */
+      async appendBlock(body, contentLength, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-appendBlock", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.appendBlock(contentLength, body, {
+            abortSignal: options.abortSignal,
+            appendPositionAccessConditions: options.conditions,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            requestOptions: {
+              onUploadProgress: options.onProgress
+            },
+            transactionalContentMD5: options.transactionalContentMD5,
+            transactionalContentCrc64: options.transactionalContentCrc64,
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * The Append Block operation commits a new block of data to the end of an existing append blob
+       * where the contents are read from a source url.
+       * @see https://learn.microsoft.com/rest/api/storageservices/append-block-from-url
+       *
+       * @param sourceURL -
+       *                 The url to the blob that will be the source of the copy. A source blob in the same storage account can
+       *                 be authenticated via Shared Key. However, if the source is a blob in another account, the source blob
+       *                 must either be public or must be authenticated via a shared access signature. If the source blob is
+       *                 public, no authentication is required to perform the operation.
+       * @param sourceOffset - Offset in source to be appended
+       * @param count - Number of bytes to be appended as a block
+       * @param options -
+       */
+      async appendBlockFromURL(sourceURL, sourceOffset, count, options = {}) {
+        options.conditions = options.conditions || {};
+        options.sourceConditions = options.sourceConditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-appendBlockFromURL", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.appendBlockFromUrl(sourceURL, 0, {
+            abortSignal: options.abortSignal,
+            sourceRange: (0, Range_js_1.rangeToString)({ offset: sourceOffset, count }),
+            sourceContentMD5: options.sourceContentMD5,
+            sourceContentCrc64: options.sourceContentCrc64,
+            leaseAccessConditions: options.conditions,
+            appendPositionAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            sourceModifiedAccessConditions: {
+              sourceIfMatch: options.sourceConditions?.ifMatch,
+              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
+              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
+              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince
+            },
+            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            fileRequestIntent: options.sourceShareTokenIntent,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+    };
+    exports2.AppendBlobClient = AppendBlobClient;
+    var BlockBlobClient = class _BlockBlobClient extends BlobClient {
+      /**
+       * blobContext provided by protocol layer.
+       *
+       * Note. Ideally BlobClient should set BlobClient.blobContext to protected. However, API
+       * extractor has issue blocking that. Here we redecelare _blobContext in BlockBlobClient.
+       */
+      _blobContext;
+      /**
+       * blockBlobContext provided by protocol layer.
+       */
+      blockBlobContext;
+      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
+        let pipeline;
+        let url2;
+        options = options || {};
+        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
+          url2 = urlOrConnectionString;
+          pipeline = credentialOrPipelineOrContainerName;
+        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
+          url2 = urlOrConnectionString;
+          options = blobNameOrOptions;
+          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
+        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
+          url2 = urlOrConnectionString;
+          if (blobNameOrOptions && typeof blobNameOrOptions !== "string") {
+            options = blobNameOrOptions;
+          }
+          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
+          const containerName = credentialOrPipelineOrContainerName;
+          const blobName = blobNameOrOptions;
+          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
+          if (extractedCreds.kind === "AccountConnString") {
+            if (core_util_1.isNodeLike) {
+              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
+              url2 = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
+              if (!options.proxyOptions) {
+                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+              }
+              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+            } else {
+              throw new Error("Account connection string is only supported in Node.js environment");
+            }
+          } else if (extractedCreds.kind === "SASConnString") {
+            url2 = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
+            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+          } else {
+            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
+          }
+        } else {
+          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
+        }
+        super(url2, pipeline);
+        this.blockBlobContext = this.storageClientContext.blockBlob;
+        this._blobContext = this.storageClientContext.blob;
+      }
+      /**
+       * Creates a new BlockBlobClient object identical to the source but with the
+       * specified snapshot timestamp.
+       * Provide "" will remove the snapshot and return a URL to the base blob.
+       *
+       * @param snapshot - The snapshot timestamp.
+       * @returns A new BlockBlobClient object identical to the source but with the specified snapshot timestamp.
+       */
+      withSnapshot(snapshot) {
+        return new _BlockBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
+      }
+      /**
+       * ONLY AVAILABLE IN NODE.JS RUNTIME.
+       *
+       * Quick query for a JSON or CSV formatted blob.
+       *
+       * Example usage (Node.js):
+       *
+       * ```ts snippet:ClientsQuery
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blockBlobClient = containerClient.getBlockBlobClient(blobName);
+       *
+       * // Query and convert a blob to a string
+       * const queryBlockBlobResponse = await blockBlobClient.query("select from BlobStorage");
+       * if (queryBlockBlobResponse.readableStreamBody) {
+       *   const downloadedBuffer = await streamToBuffer(queryBlockBlobResponse.readableStreamBody);
+       *   const downloaded = downloadedBuffer.toString();
+       *   console.log(`Query blob content: ${downloaded}`);
+       * }
+       *
+       * async function streamToBuffer(readableStream: NodeJS.ReadableStream): Promise {
+       *   return new Promise((resolve, reject) => {
+       *     const chunks: Buffer[] = [];
+       *     readableStream.on("data", (data) => {
+       *       chunks.push(data instanceof Buffer ? data : Buffer.from(data));
+       *     });
+       *     readableStream.on("end", () => {
+       *       resolve(Buffer.concat(chunks));
+       *     });
+       *     readableStream.on("error", reject);
+       *   });
+       * }
+       * ```
+       *
+       * @param query -
+       * @param options -
+       */
+      async query(query, options = {}) {
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        if (!core_util_1.isNodeLike) {
+          throw new Error("This operation currently is only supported in Node.js.");
+        }
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-query", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this._blobContext.query({
+            abortSignal: options.abortSignal,
+            queryRequest: {
+              queryType: "SQL",
+              expression: query,
+              inputSerialization: (0, utils_common_js_1.toQuerySerialization)(options.inputTextConfiguration),
+              outputSerialization: (0, utils_common_js_1.toQuerySerialization)(options.outputTextConfiguration)
+            },
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          return new BlobQueryResponse_js_1.BlobQueryResponse(response, {
+            abortSignal: options.abortSignal,
+            onProgress: options.onProgress,
+            onError: options.onError
+          });
+        });
+      }
+      /**
+       * Creates a new block blob, or updates the content of an existing block blob.
+       * Updating an existing block blob overwrites any existing metadata on the blob.
+       * Partial updates are not supported; the content of the existing blob is
+       * overwritten with the new content. To perform a partial update of a block blob's,
+       * use {@link stageBlock} and {@link commitBlockList}.
+       *
+       * This is a non-parallel uploading method, please use {@link uploadFile},
+       * {@link uploadStream} or {@link uploadBrowserData} for better performance
+       * with concurrency uploading.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
+       *
+       * @param body - Blob, string, ArrayBuffer, ArrayBufferView or a function
+       *                               which returns a new Readable stream whose offset is from data source beginning.
+       * @param contentLength - Length of body in bytes. Use Buffer.byteLength() to calculate body length for a
+       *                               string including non non-Base64/Hex-encoded characters.
+       * @param options - Options to the Block Blob Upload operation.
+       * @returns Response data for the Block Blob Upload operation.
+       *
+       * Example usage:
+       *
+       * ```ts snippet:ClientsUpload
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blockBlobClient = containerClient.getBlockBlobClient(blobName);
+       *
+       * const content = "Hello world!";
+       * const uploadBlobResponse = await blockBlobClient.upload(content, content.length);
+       * ```
+       */
+      async upload(body, contentLength, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-upload", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.upload(contentLength, body, {
+            abortSignal: options.abortSignal,
+            blobHttpHeaders: options.blobHTTPHeaders,
+            leaseAccessConditions: options.conditions,
+            metadata: options.metadata,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            requestOptions: {
+              onUploadProgress: options.onProgress
+            },
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
+            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
+            legalHold: options.legalHold,
+            tier: (0, models_js_1.toAccessTier)(options.tier),
+            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Creates a new Block Blob where the contents of the blob are read from a given URL.
+       * This API is supported beginning with the 2020-04-08 version. Partial updates
+       * are not supported with Put Blob from URL; the content of an existing blob is overwritten with
+       * the content of the new blob.  To perform partial updates to a block blob’s contents using a
+       * source URL, use {@link stageBlockFromURL} and {@link commitBlockList}.
+       *
+       * @param sourceURL - Specifies the URL of the blob. The value
+       *                           may be a URL of up to 2 KB in length that specifies a blob.
+       *                           The value should be URL-encoded as it would appear
+       *                           in a request URI. The source blob must either be public
+       *                           or must be authenticated via a shared access signature.
+       *                           If the source blob is public, no authentication is required
+       *                           to perform the operation. Here are some examples of source object URLs:
+       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob
+       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=
+       * @param options - Optional parameters.
+       */
+      async syncUploadFromURL(sourceURL, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-syncUploadFromURL", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.putBlobFromUrl(0, sourceURL, {
+            ...options,
+            blobHttpHeaders: options.blobHTTPHeaders,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            sourceModifiedAccessConditions: {
+              sourceIfMatch: options.sourceConditions?.ifMatch,
+              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
+              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
+              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince,
+              sourceIfTags: options.sourceConditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
+            tier: (0, models_js_1.toAccessTier)(options.tier),
+            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
+            copySourceTags: options.copySourceTags,
+            fileRequestIntent: options.sourceShareTokenIntent,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Uploads the specified block to the block blob's "staging area" to be later
+       * committed by a call to commitBlockList.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-block
+       *
+       * @param blockId - A 64-byte value that is base64-encoded
+       * @param body - Data to upload to the staging area.
+       * @param contentLength - Number of bytes to upload.
+       * @param options - Options to the Block Blob Stage Block operation.
+       * @returns Response data for the Block Blob Stage Block operation.
+       */
+      async stageBlock(blockId, body, contentLength, options = {}) {
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-stageBlock", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.stageBlock(blockId, contentLength, body, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            requestOptions: {
+              onUploadProgress: options.onProgress
+            },
+            transactionalContentMD5: options.transactionalContentMD5,
+            transactionalContentCrc64: options.transactionalContentCrc64,
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * The Stage Block From URL operation creates a new block to be committed as part
+       * of a blob where the contents are read from a URL.
+       * This API is available starting in version 2018-03-28.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-block-from-url
+       *
+       * @param blockId - A 64-byte value that is base64-encoded
+       * @param sourceURL - Specifies the URL of the blob. The value
+       *                           may be a URL of up to 2 KB in length that specifies a blob.
+       *                           The value should be URL-encoded as it would appear
+       *                           in a request URI. The source blob must either be public
+       *                           or must be authenticated via a shared access signature.
+       *                           If the source blob is public, no authentication is required
+       *                           to perform the operation. Here are some examples of source object URLs:
+       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob
+       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=
+       * @param offset - From which position of the blob to download, greater than or equal to 0
+       * @param count - How much data to be downloaded, greater than 0. Will download to the end when undefined
+       * @param options - Options to the Block Blob Stage Block From URL operation.
+       * @returns Response data for the Block Blob Stage Block From URL operation.
+       */
+      async stageBlockFromURL(blockId, sourceURL, offset = 0, count, options = {}) {
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-stageBlockFromURL", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.stageBlockFromURL(blockId, 0, sourceURL, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            sourceContentMD5: options.sourceContentMD5,
+            sourceContentCrc64: options.sourceContentCrc64,
+            sourceRange: offset === 0 && !count ? void 0 : (0, Range_js_1.rangeToString)({ offset, count }),
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
+            fileRequestIntent: options.sourceShareTokenIntent,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Writes a blob by specifying the list of block IDs that make up the blob.
+       * In order to be written as part of a blob, a block must have been successfully written
+       * to the server in a prior {@link stageBlock} operation. You can call {@link commitBlockList} to
+       * update a blob by uploading only those blocks that have changed, then committing the new and existing
+       * blocks together. Any blocks not specified in the block list and permanently deleted.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-block-list
+       *
+       * @param blocks -  Array of 64-byte value that is base64-encoded
+       * @param options - Options to the Block Blob Commit Block List operation.
+       * @returns Response data for the Block Blob Commit Block List operation.
+       */
+      async commitBlockList(blocks, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-commitBlockList", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.commitBlockList({ latest: blocks }, {
+            abortSignal: options.abortSignal,
+            blobHttpHeaders: options.blobHTTPHeaders,
+            leaseAccessConditions: options.conditions,
+            metadata: options.metadata,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
+            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
+            legalHold: options.legalHold,
+            tier: (0, models_js_1.toAccessTier)(options.tier),
+            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Returns the list of blocks that have been uploaded as part of a block blob
+       * using the specified block list filter.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-block-list
+       *
+       * @param listType - Specifies whether to return the list of committed blocks,
+       *                                        the list of uncommitted blocks, or both lists together.
+       * @param options - Options to the Block Blob Get Block List operation.
+       * @returns Response data for the Block Blob Get Block List operation.
+       */
+      async getBlockList(listType, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-getBlockList", options, async (updatedOptions) => {
+          const res = (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.getBlockList(listType, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          if (!res.committedBlocks) {
+            res.committedBlocks = [];
+          }
+          if (!res.uncommittedBlocks) {
+            res.uncommittedBlocks = [];
+          }
+          return res;
+        });
+      }
+      // High level functions
+      /**
+       * Uploads a Buffer(Node.js)/Blob(browsers)/ArrayBuffer/ArrayBufferView object to a BlockBlob.
+       *
+       * When data length is no more than the specifiled {@link BlockBlobParallelUploadOptions.maxSingleShotSize} (default is
+       * {@link BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}), this method will use 1 {@link upload} call to finish the upload.
+       * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call {@link commitBlockList}
+       * to commit the block list.
+       *
+       * A common {@link BlockBlobParallelUploadOptions.blobHTTPHeaders} option to set is
+       * `blobContentType`, enabling the browser to provide
+       * functionality based on file type.
+       *
+       * @param data - Buffer(Node.js), Blob, ArrayBuffer or ArrayBufferView
+       * @param options -
+       */
+      async uploadData(data, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadData", options, async (updatedOptions) => {
+          if (core_util_1.isNodeLike) {
+            let buffer;
+            if (data instanceof Buffer) {
+              buffer = data;
+            } else if (data instanceof ArrayBuffer) {
+              buffer = Buffer.from(data);
+            } else {
+              data = data;
+              buffer = Buffer.from(data.buffer, data.byteOffset, data.byteLength);
+            }
+            return this.uploadSeekableInternal((offset, size) => buffer.slice(offset, offset + size), buffer.byteLength, updatedOptions);
+          } else {
+            const browserBlob = new Blob([data]);
+            return this.uploadSeekableInternal((offset, size) => browserBlob.slice(offset, offset + size), browserBlob.size, updatedOptions);
+          }
+        });
+      }
+      /**
+       * ONLY AVAILABLE IN BROWSERS.
+       *
+       * Uploads a browser Blob/File/ArrayBuffer/ArrayBufferView object to block blob.
+       *
+       * When buffer length lesser than or equal to 256MB, this method will use 1 upload call to finish the upload.
+       * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call
+       * {@link commitBlockList} to commit the block list.
+       *
+       * A common {@link BlockBlobParallelUploadOptions.blobHTTPHeaders} option to set is
+       * `blobContentType`, enabling the browser to provide
+       * functionality based on file type.
+       *
+       * @deprecated Use {@link uploadData} instead.
+       *
+       * @param browserData - Blob, File, ArrayBuffer or ArrayBufferView
+       * @param options - Options to upload browser data.
+       * @returns Response data for the Blob Upload operation.
+       */
+      async uploadBrowserData(browserData, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadBrowserData", options, async (updatedOptions) => {
+          const browserBlob = new Blob([browserData]);
+          return this.uploadSeekableInternal((offset, size) => browserBlob.slice(offset, offset + size), browserBlob.size, updatedOptions);
+        });
+      }
+      /**
+       *
+       * Uploads data to block blob. Requires a bodyFactory as the data source,
+       * which need to return a {@link HttpRequestBody} object with the offset and size provided.
+       *
+       * When data length is no more than the specified {@link BlockBlobParallelUploadOptions.maxSingleShotSize} (default is
+       * {@link BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}), this method will use 1 {@link upload} call to finish the upload.
+       * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call {@link commitBlockList}
+       * to commit the block list.
+       *
+       * @param bodyFactory -
+       * @param size - size of the data to upload.
+       * @param options - Options to Upload to Block Blob operation.
+       * @returns Response data for the Blob Upload operation.
+       */
+      async uploadSeekableInternal(bodyFactory, size, options = {}) {
+        let blockSize = options.blockSize ?? 0;
+        if (blockSize < 0 || blockSize > constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES) {
+          throw new RangeError(`blockSize option must be >= 0 and <= ${constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES}`);
+        }
+        const maxSingleShotSize = options.maxSingleShotSize ?? constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES;
+        if (maxSingleShotSize < 0 || maxSingleShotSize > constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES) {
+          throw new RangeError(`maxSingleShotSize option must be >= 0 and <= ${constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}`);
+        }
+        if (blockSize === 0) {
+          if (size > constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES * constants_js_1.BLOCK_BLOB_MAX_BLOCKS) {
+            throw new RangeError(`${size} is too larger to upload to a block blob.`);
+          }
+          if (size > maxSingleShotSize) {
+            blockSize = Math.ceil(size / constants_js_1.BLOCK_BLOB_MAX_BLOCKS);
+            if (blockSize < constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES) {
+              blockSize = constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES;
+            }
+          }
+        }
+        if (!options.blobHTTPHeaders) {
+          options.blobHTTPHeaders = {};
+        }
+        if (!options.conditions) {
+          options.conditions = {};
+        }
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadSeekableInternal", options, async (updatedOptions) => {
+          if (size <= maxSingleShotSize) {
+            return (0, utils_common_js_1.assertResponse)(await this.upload(bodyFactory(0, size), size, updatedOptions));
+          }
+          const numBlocks = Math.floor((size - 1) / blockSize) + 1;
+          if (numBlocks > constants_js_1.BLOCK_BLOB_MAX_BLOCKS) {
+            throw new RangeError(`The buffer's size is too big or the BlockSize is too small;the number of blocks must be <= ${constants_js_1.BLOCK_BLOB_MAX_BLOCKS}`);
+          }
+          const blockList = [];
+          const blockIDPrefix = (0, core_util_2.randomUUID)();
+          let transferProgress = 0;
+          const batch = new Batch_js_1.Batch(options.concurrency);
+          for (let i = 0; i < numBlocks; i++) {
+            batch.addOperation(async () => {
+              const blockID = (0, utils_common_js_1.generateBlockID)(blockIDPrefix, i);
+              const start = blockSize * i;
+              const end = i === numBlocks - 1 ? size : start + blockSize;
+              const contentLength = end - start;
+              blockList.push(blockID);
+              await this.stageBlock(blockID, bodyFactory(start, contentLength), contentLength, {
+                abortSignal: options.abortSignal,
+                conditions: options.conditions,
+                encryptionScope: options.encryptionScope,
+                tracingOptions: updatedOptions.tracingOptions
+              });
+              transferProgress += contentLength;
+              if (options.onProgress) {
+                options.onProgress({
+                  loadedBytes: transferProgress
+                });
+              }
+            });
+          }
+          await batch.do();
+          return this.commitBlockList(blockList, updatedOptions);
+        });
+      }
+      /**
+       * ONLY AVAILABLE IN NODE.JS RUNTIME.
+       *
+       * Uploads a local file in blocks to a block blob.
+       *
+       * When file size lesser than or equal to 256MB, this method will use 1 upload call to finish the upload.
+       * Otherwise, this method will call stageBlock to upload blocks, and finally call commitBlockList
+       * to commit the block list.
+       *
+       * @param filePath - Full path of local file
+       * @param options - Options to Upload to Block Blob operation.
+       * @returns Response data for the Blob Upload operation.
+       */
+      async uploadFile(filePath, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadFile", options, async (updatedOptions) => {
+          const size = (await (0, utils_js_1.fsStat)(filePath)).size;
+          return this.uploadSeekableInternal((offset, count) => {
+            return () => (0, utils_js_1.fsCreateReadStream)(filePath, {
+              autoClose: true,
+              end: count ? offset + count - 1 : Infinity,
+              start: offset
+            });
+          }, size, {
+            ...options,
+            tracingOptions: updatedOptions.tracingOptions
+          });
+        });
+      }
+      /**
+       * ONLY AVAILABLE IN NODE.JS RUNTIME.
+       *
+       * Uploads a Node.js Readable stream into block blob.
+       *
+       * PERFORMANCE IMPROVEMENT TIPS:
+       * * Input stream highWaterMark is better to set a same value with bufferSize
+       *    parameter, which will avoid Buffer.concat() operations.
+       *
+       * @param stream - Node.js Readable stream
+       * @param bufferSize - Size of every buffer allocated, also the block size in the uploaded block blob. Default value is 8MB
+       * @param maxConcurrency -  Max concurrency indicates the max number of buffers that can be allocated,
+       *                                 positive correlation with max uploading concurrency. Default value is 5
+       * @param options - Options to Upload Stream to Block Blob operation.
+       * @returns Response data for the Blob Upload operation.
+       */
+      async uploadStream(stream2, bufferSize = constants_js_1.DEFAULT_BLOCK_BUFFER_SIZE_BYTES, maxConcurrency = 5, options = {}) {
+        if (!options.blobHTTPHeaders) {
+          options.blobHTTPHeaders = {};
+        }
+        if (!options.conditions) {
+          options.conditions = {};
+        }
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadStream", options, async (updatedOptions) => {
+          let blockNum = 0;
+          const blockIDPrefix = (0, core_util_2.randomUUID)();
+          let transferProgress = 0;
+          const blockList = [];
+          const scheduler = new storage_common_1.BufferScheduler(
+            stream2,
+            bufferSize,
+            maxConcurrency,
+            async (body, length) => {
+              const blockID = (0, utils_common_js_1.generateBlockID)(blockIDPrefix, blockNum);
+              blockList.push(blockID);
+              blockNum++;
+              await this.stageBlock(blockID, body, length, {
+                customerProvidedKey: options.customerProvidedKey,
+                conditions: options.conditions,
+                encryptionScope: options.encryptionScope,
+                tracingOptions: updatedOptions.tracingOptions
+              });
+              transferProgress += length;
+              if (options.onProgress) {
+                options.onProgress({ loadedBytes: transferProgress });
+              }
+            },
+            // concurrency should set a smaller value than maxConcurrency, which is helpful to
+            // reduce the possibility when a outgoing handler waits for stream data, in
+            // this situation, outgoing handlers are blocked.
+            // Outgoing queue shouldn't be empty.
+            Math.ceil(maxConcurrency / 4 * 3)
+          );
+          await scheduler.do();
+          return (0, utils_common_js_1.assertResponse)(await this.commitBlockList(blockList, {
+            ...options,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+    };
+    exports2.BlockBlobClient = BlockBlobClient;
+    var PageBlobClient = class _PageBlobClient extends BlobClient {
+      /**
+       * pageBlobsContext provided by protocol layer.
+       */
+      pageBlobContext;
+      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
+        let pipeline;
+        let url2;
+        options = options || {};
+        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
+          url2 = urlOrConnectionString;
+          pipeline = credentialOrPipelineOrContainerName;
+        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
+          url2 = urlOrConnectionString;
+          options = blobNameOrOptions;
+          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
+        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
+          url2 = urlOrConnectionString;
+          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
+          const containerName = credentialOrPipelineOrContainerName;
+          const blobName = blobNameOrOptions;
+          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
+          if (extractedCreds.kind === "AccountConnString") {
+            if (core_util_1.isNodeLike) {
+              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
+              url2 = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
+              if (!options.proxyOptions) {
+                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+              }
+              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+            } else {
+              throw new Error("Account connection string is only supported in Node.js environment");
+            }
+          } else if (extractedCreds.kind === "SASConnString") {
+            url2 = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
+            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+          } else {
+            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
+          }
+        } else {
+          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
+        }
+        super(url2, pipeline);
+        this.pageBlobContext = this.storageClientContext.pageBlob;
+      }
+      /**
+       * Creates a new PageBlobClient object identical to the source but with the
+       * specified snapshot timestamp.
+       * Provide "" will remove the snapshot and return a Client to the base blob.
+       *
+       * @param snapshot - The snapshot timestamp.
+       * @returns A new PageBlobClient object identical to the source but with the specified snapshot timestamp.
+       */
+      withSnapshot(snapshot) {
+        return new _PageBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
+      }
+      /**
+       * Creates a page blob of the specified length. Call uploadPages to upload data
+       * data to a page blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
+       *
+       * @param size - size of the page blob.
+       * @param options - Options to the Page Blob Create operation.
+       * @returns Response data for the Page Blob Create operation.
+       */
+      async create(size, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-create", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.create(0, size, {
+            abortSignal: options.abortSignal,
+            blobHttpHeaders: options.blobHTTPHeaders,
+            blobSequenceNumber: options.blobSequenceNumber,
+            leaseAccessConditions: options.conditions,
+            metadata: options.metadata,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
+            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
+            legalHold: options.legalHold,
+            tier: (0, models_js_1.toAccessTier)(options.tier),
+            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Creates a page blob of the specified length. Call uploadPages to upload data
+       * data to a page blob. If the blob with the same name already exists, the content
+       * of the existing blob will remain unchanged.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
+       *
+       * @param size - size of the page blob.
+       * @param options -
+       */
+      async createIfNotExists(size, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-createIfNotExists", options, async (updatedOptions) => {
+          try {
+            const conditions = { ifNoneMatch: constants_js_1.ETagAny };
+            const res = (0, utils_common_js_1.assertResponse)(await this.create(size, {
+              ...options,
+              conditions,
+              tracingOptions: updatedOptions.tracingOptions
+            }));
+            return {
+              succeeded: true,
+              ...res,
+              _response: res._response
+              // _response is made non-enumerable
+            };
+          } catch (e) {
+            if (e.details?.errorCode === "BlobAlreadyExists") {
+              return {
+                succeeded: false,
+                ...e.response?.parsedHeaders,
+                _response: e.response
+              };
+            }
+            throw e;
+          }
+        });
+      }
+      /**
+       * Writes 1 or more pages to the page blob. The start and end offsets must be a multiple of 512.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-page
+       *
+       * @param body - Data to upload
+       * @param offset - Offset of destination page blob
+       * @param count - Content length of the body, also number of bytes to be uploaded
+       * @param options - Options to the Page Blob Upload Pages operation.
+       * @returns Response data for the Page Blob Upload Pages operation.
+       */
+      async uploadPages(body, offset, count, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-uploadPages", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.uploadPages(count, body, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            requestOptions: {
+              onUploadProgress: options.onProgress
+            },
+            range: (0, Range_js_1.rangeToString)({ offset, count }),
+            sequenceNumberAccessConditions: options.conditions,
+            transactionalContentMD5: options.transactionalContentMD5,
+            transactionalContentCrc64: options.transactionalContentCrc64,
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * The Upload Pages operation writes a range of pages to a page blob where the
+       * contents are read from a URL.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-page-from-url
+       *
+       * @param sourceURL - Specify a URL to the copy source, Shared Access Signature(SAS) maybe needed for authentication
+       * @param sourceOffset - The source offset to copy from. Pass 0 to copy from the beginning of source page blob
+       * @param destOffset - Offset of destination page blob
+       * @param count - Number of bytes to be uploaded from source page blob
+       * @param options -
+       */
+      async uploadPagesFromURL(sourceURL, sourceOffset, destOffset, count, options = {}) {
+        options.conditions = options.conditions || {};
+        options.sourceConditions = options.sourceConditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-uploadPagesFromURL", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.uploadPagesFromURL(sourceURL, (0, Range_js_1.rangeToString)({ offset: sourceOffset, count }), 0, (0, Range_js_1.rangeToString)({ offset: destOffset, count }), {
+            abortSignal: options.abortSignal,
+            sourceContentMD5: options.sourceContentMD5,
+            sourceContentCrc64: options.sourceContentCrc64,
+            leaseAccessConditions: options.conditions,
+            sequenceNumberAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            sourceModifiedAccessConditions: {
+              sourceIfMatch: options.sourceConditions?.ifMatch,
+              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
+              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
+              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince
+            },
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
+            fileRequestIntent: options.sourceShareTokenIntent,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Frees the specified pages from the page blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-page
+       *
+       * @param offset - Starting byte position of the pages to clear.
+       * @param count - Number of bytes to clear.
+       * @param options - Options to the Page Blob Clear Pages operation.
+       * @returns Response data for the Page Blob Clear Pages operation.
+       */
+      async clearPages(offset = 0, count, options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-clearPages", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.clearPages(0, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            range: (0, Range_js_1.rangeToString)({ offset, count }),
+            sequenceNumberAccessConditions: options.conditions,
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Returns the list of valid page ranges for a page blob or snapshot of a page blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param options - Options to the Page Blob Get Ranges operation.
+       * @returns Response data for the Page Blob Get Ranges operation.
+       */
+      async getPageRanges(offset = 0, count, options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRanges", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRanges({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            range: (0, Range_js_1.rangeToString)({ offset, count }),
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(response);
+        });
+      }
+      /**
+       * getPageRangesSegment returns a single segment of page ranges starting from the
+       * specified Marker. Use an empty Marker to start enumeration from the beginning.
+       * After getting a segment, process it, and then call getPageRangesSegment again
+       * (passing the the previously-returned Marker) to get the next segment.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param marker - A string value that identifies the portion of the list to be returned with the next list operation.
+       * @param options - Options to PageBlob Get Page Ranges Segment operation.
+       */
+      async listPageRangesSegment(offset = 0, count, marker, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesSegment", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRanges({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            range: (0, Range_js_1.rangeToString)({ offset, count }),
+            marker,
+            maxPageSize: options.maxPageSize,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Returns an AsyncIterableIterator for {@link PageBlobGetPageRangesResponseModel}
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param marker - A string value that identifies the portion of
+       *                          the get of page ranges to be returned with the next getting operation. The
+       *                          operation returns the ContinuationToken value within the response body if the
+       *                          getting operation did not return all page ranges remaining within the current page.
+       *                          The ContinuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of get
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to List Page Ranges operation.
+       */
+      async *listPageRangeItemSegments(offset = 0, count, marker, options = {}) {
+        let getPageRangeItemSegmentsResponse;
+        if (!!marker || marker === void 0) {
+          do {
+            getPageRangeItemSegmentsResponse = await this.listPageRangesSegment(offset, count, marker, options);
+            marker = getPageRangeItemSegmentsResponse.continuationToken;
+            yield await getPageRangeItemSegmentsResponse;
+          } while (marker);
+        }
+      }
+      /**
+       * Returns an AsyncIterableIterator of {@link PageRangeInfo} objects
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param options - Options to List Page Ranges operation.
+       */
+      async *listPageRangeItems(offset = 0, count, options = {}) {
+        let marker;
+        for await (const getPageRangesSegment of this.listPageRangeItemSegments(offset, count, marker, options)) {
+          yield* (0, utils_common_js_1.ExtractPageRangeInfoItems)(getPageRangesSegment);
+        }
+      }
+      /**
+       * Returns an async iterable iterator to list of page ranges for a page blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
+       *
+       *  .byPage() returns an async iterable iterator to list of page ranges for a page blob.
+       *
+       * ```ts snippet:ClientsListPageBlobs
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const pageBlobClient = containerClient.getPageBlobClient(blobName);
+       *
+       * // Example using `for await` syntax
+       * let i = 1;
+       * for await (const pageRange of pageBlobClient.listPageRanges()) {
+       *   console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       * }
+       *
+       * // Example using `iter.next()` syntax
+       * i = 1;
+       * const iter = pageBlobClient.listPageRanges();
+       * let { value, done } = await iter.next();
+       * while (!done) {
+       *   console.log(`Page range ${i++}: ${value.start} - ${value.end}`);
+       *   ({ value, done } = await iter.next());
+       * }
+       *
+       * // Example using `byPage()` syntax
+       * i = 1;
+       * for await (const page of pageBlobClient.listPageRanges().byPage({ maxPageSize: 20 })) {
+       *   for (const pageRange of page.pageRange || []) {
+       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       *   }
+       * }
+       *
+       * // Example using paging with a marker
+       * i = 1;
+       * let iterator = pageBlobClient.listPageRanges().byPage({ maxPageSize: 2 });
+       * let response = (await iterator.next()).value;
+       * // Prints 2 page ranges
+       * if (response.pageRange) {
+       *   for (const pageRange of response.pageRange) {
+       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       *   }
+       * }
+       * // Gets next marker
+       * let marker = response.continuationToken;
+       * // Passing next marker as continuationToken
+       * iterator = pageBlobClient.listPageRanges().byPage({ continuationToken: marker, maxPageSize: 10 });
+       * response = (await iterator.next()).value;
+       * // Prints 10 page ranges
+       * if (response.pageRange) {
+       *   for (const pageRange of response.pageRange) {
+       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       *   }
+       * }
+       * ```
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param options - Options to the Page Blob Get Ranges operation.
+       * @returns An asyncIterableIterator that supports paging.
+       */
+      listPageRanges(offset = 0, count, options = {}) {
+        options.conditions = options.conditions || {};
+        const iter = this.listPageRangeItems(offset, count, options);
+        return {
+          /**
+           * The next method, part of the iteration protocol
+           */
+          next() {
+            return iter.next();
+          },
+          /**
+           * The connection to the async iterator, part of the iteration protocol
+           */
+          [Symbol.asyncIterator]() {
+            return this;
+          },
+          /**
+           * Return an AsyncIterableIterator that works a page at a time
+           */
+          byPage: (settings = {}) => {
+            return this.listPageRangeItemSegments(offset, count, settings.continuationToken, {
+              maxPageSize: settings.maxPageSize,
+              ...options
+            });
+          }
+        };
+      }
+      /**
+       * Gets the collection of page ranges that differ between a specified snapshot and this page blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
+       *
+       * @param offset - Starting byte position of the page blob
+       * @param count - Number of bytes to get ranges diff.
+       * @param prevSnapshot - Timestamp of snapshot to retrieve the difference.
+       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
+       * @returns Response data for the Page Blob Get Page Range Diff operation.
+       */
+      async getPageRangesDiff(offset, count, prevSnapshot, options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesDiff", options, async (updatedOptions) => {
+          const result = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            prevsnapshot: prevSnapshot,
+            range: (0, Range_js_1.rangeToString)({ offset, count }),
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(result);
+        });
+      }
+      /**
+       * getPageRangesDiffSegment returns a single segment of page ranges starting from the
+       * specified Marker for difference between previous snapshot and the target page blob.
+       * Use an empty Marker to start enumeration from the beginning.
+       * After getting a segment, process it, and then call getPageRangesDiffSegment again
+       * (passing the the previously-returned Marker) to get the next segment.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference.
+       * @param marker - A string value that identifies the portion of the get to be returned with the next get operation.
+       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
+       */
+      async listPageRangesDiffSegment(offset, count, prevSnapshotOrUrl, marker, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesDiffSegment", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({
+            abortSignal: options?.abortSignal,
+            leaseAccessConditions: options?.conditions,
+            modifiedAccessConditions: {
+              ...options?.conditions,
+              ifTags: options?.conditions?.tagConditions
+            },
+            prevsnapshot: prevSnapshotOrUrl,
+            range: (0, Range_js_1.rangeToString)({
+              offset,
+              count
+            }),
+            marker,
+            maxPageSize: options?.maxPageSize,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Returns an AsyncIterableIterator for {@link PageBlobGetPageRangesDiffResponseModel}
+       *
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference.
+       * @param marker - A string value that identifies the portion of
+       *                          the get of page ranges to be returned with the next getting operation. The
+       *                          operation returns the ContinuationToken value within the response body if the
+       *                          getting operation did not return all page ranges remaining within the current page.
+       *                          The ContinuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of get
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
+       */
+      async *listPageRangeDiffItemSegments(offset, count, prevSnapshotOrUrl, marker, options) {
+        let getPageRangeItemSegmentsResponse;
+        if (!!marker || marker === void 0) {
+          do {
+            getPageRangeItemSegmentsResponse = await this.listPageRangesDiffSegment(offset, count, prevSnapshotOrUrl, marker, options);
+            marker = getPageRangeItemSegmentsResponse.continuationToken;
+            yield await getPageRangeItemSegmentsResponse;
+          } while (marker);
+        }
+      }
+      /**
+       * Returns an AsyncIterableIterator of {@link PageRangeInfo} objects
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference.
+       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
+       */
+      async *listPageRangeDiffItems(offset, count, prevSnapshotOrUrl, options) {
+        let marker;
+        for await (const getPageRangesSegment of this.listPageRangeDiffItemSegments(offset, count, prevSnapshotOrUrl, marker, options)) {
+          yield* (0, utils_common_js_1.ExtractPageRangeInfoItems)(getPageRangesSegment);
+        }
+      }
+      /**
+       * Returns an async iterable iterator to list of page ranges that differ between a specified snapshot and this page blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
+       *
+       *  .byPage() returns an async iterable iterator to list of page ranges that differ between a specified snapshot and this page blob.
+       *
+       * ```ts snippet:ClientsListPageBlobsDiff
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const pageBlobClient = containerClient.getPageBlobClient(blobName);
+       *
+       * const offset = 0;
+       * const count = 1024;
+       * const previousSnapshot = "";
+       * // Example using `for await` syntax
+       * let i = 1;
+       * for await (const pageRange of pageBlobClient.listPageRangesDiff(offset, count, previousSnapshot)) {
+       *   console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       * }
+       *
+       * // Example using `iter.next()` syntax
+       * i = 1;
+       * const iter = pageBlobClient.listPageRangesDiff(offset, count, previousSnapshot);
+       * let { value, done } = await iter.next();
+       * while (!done) {
+       *   console.log(`Page range ${i++}: ${value.start} - ${value.end}`);
+       *   ({ value, done } = await iter.next());
+       * }
+       *
+       * // Example using `byPage()` syntax
+       * i = 1;
+       * for await (const page of pageBlobClient
+       *   .listPageRangesDiff(offset, count, previousSnapshot)
+       *   .byPage({ maxPageSize: 20 })) {
+       *   for (const pageRange of page.pageRange || []) {
+       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       *   }
+       * }
+       *
+       * // Example using paging with a marker
+       * i = 1;
+       * let iterator = pageBlobClient
+       *   .listPageRangesDiff(offset, count, previousSnapshot)
+       *   .byPage({ maxPageSize: 2 });
+       * let response = (await iterator.next()).value;
+       * // Prints 2 page ranges
+       * if (response.pageRange) {
+       *   for (const pageRange of response.pageRange) {
+       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       *   }
+       * }
+       * // Gets next marker
+       * let marker = response.continuationToken;
+       * // Passing next marker as continuationToken
+       * iterator = pageBlobClient
+       *   .listPageRangesDiff(offset, count, previousSnapshot)
+       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
+       * response = (await iterator.next()).value;
+       * // Prints 10 page ranges
+       * if (response.pageRange) {
+       *   for (const pageRange of response.pageRange) {
+       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       *   }
+       * }
+       * ```
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param prevSnapshot - Timestamp of snapshot to retrieve the difference.
+       * @param options - Options to the Page Blob Get Ranges operation.
+       * @returns An asyncIterableIterator that supports paging.
+       */
+      listPageRangesDiff(offset, count, prevSnapshot, options = {}) {
+        options.conditions = options.conditions || {};
+        const iter = this.listPageRangeDiffItems(offset, count, prevSnapshot, {
+          ...options
+        });
+        return {
+          /**
+           * The next method, part of the iteration protocol
+           */
+          next() {
+            return iter.next();
+          },
+          /**
+           * The connection to the async iterator, part of the iteration protocol
+           */
+          [Symbol.asyncIterator]() {
+            return this;
+          },
+          /**
+           * Return an AsyncIterableIterator that works a page at a time
+           */
+          byPage: (settings = {}) => {
+            return this.listPageRangeDiffItemSegments(offset, count, prevSnapshot, settings.continuationToken, {
+              maxPageSize: settings.maxPageSize,
+              ...options
+            });
+          }
+        };
+      }
+      /**
+       * Gets the collection of page ranges that differ between a specified snapshot and this page blob for managed disks.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
+       *
+       * @param offset - Starting byte position of the page blob
+       * @param count - Number of bytes to get ranges diff.
+       * @param prevSnapshotUrl - URL of snapshot to retrieve the difference.
+       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
+       * @returns Response data for the Page Blob Get Page Range Diff operation.
+       */
+      async getPageRangesDiffForManagedDisks(offset, count, prevSnapshotUrl, options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-GetPageRangesDiffForManagedDisks", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            prevSnapshotUrl,
+            range: (0, Range_js_1.rangeToString)({ offset, count }),
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(response);
+        });
+      }
+      /**
+       * Resizes the page blob to the specified size (which must be a multiple of 512).
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties
+       *
+       * @param size - Target size
+       * @param options - Options to the Page Blob Resize operation.
+       * @returns Response data for the Page Blob Resize operation.
+       */
+      async resize(size, options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-resize", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.resize(size, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            encryptionScope: options.encryptionScope,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Sets a page blob's sequence number.
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties
+       *
+       * @param sequenceNumberAction - Indicates how the service should modify the blob's sequence number.
+       * @param sequenceNumber - Required if sequenceNumberAction is max or update
+       * @param options - Options to the Page Blob Update Sequence Number operation.
+       * @returns Response data for the Page Blob Update Sequence Number operation.
+       */
+      async updateSequenceNumber(sequenceNumberAction, sequenceNumber, options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-updateSequenceNumber", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.updateSequenceNumber(sequenceNumberAction, {
+            abortSignal: options.abortSignal,
+            blobSequenceNumber: sequenceNumber,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Begins an operation to start an incremental copy from one page blob's snapshot to this page blob.
+       * The snapshot is copied such that only the differential changes between the previously
+       * copied snapshot are transferred to the destination.
+       * The copied snapshots are complete copies of the original snapshot and can be read or copied from as usual.
+       * @see https://learn.microsoft.com/rest/api/storageservices/incremental-copy-blob
+       * @see https://learn.microsoft.com/azure/virtual-machines/windows/incremental-snapshots
+       *
+       * @param copySource - Specifies the name of the source page blob snapshot. For example,
+       *                            https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=
+       * @param options - Options to the Page Blob Copy Incremental operation.
+       * @returns Response data for the Page Blob Copy Incremental operation.
+       */
+      async startCopyIncremental(copySource, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-startCopyIncremental", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.copyIncremental(copySource, {
+            abortSignal: options.abortSignal,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+    };
+    exports2.PageBlobClient = PageBlobClient;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BatchUtils.js
+var require_BatchUtils = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BatchUtils.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getBodyAsText = getBodyAsText;
+    exports2.utf8ByteLength = utf8ByteLength;
+    var utils_js_1 = require_utils7();
+    var constants_js_1 = require_constants15();
+    async function getBodyAsText(batchResponse) {
+      let buffer = Buffer.alloc(constants_js_1.BATCH_MAX_PAYLOAD_IN_BYTES);
+      const responseLength = await (0, utils_js_1.streamToBuffer2)(batchResponse.readableStreamBody, buffer);
+      buffer = buffer.slice(0, responseLength);
+      return buffer.toString();
+    }
+    function utf8ByteLength(str2) {
+      return Buffer.byteLength(str2);
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BatchResponseParser.js
+var require_BatchResponseParser = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BatchResponseParser.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BatchResponseParser = void 0;
+    var core_rest_pipeline_1 = require_commonjs6();
+    var core_http_compat_1 = require_commonjs9();
+    var constants_js_1 = require_constants15();
+    var BatchUtils_js_1 = require_BatchUtils();
+    var log_js_1 = require_log5();
+    var HTTP_HEADER_DELIMITER = ": ";
+    var SPACE_DELIMITER = " ";
+    var NOT_FOUND = -1;
+    var BatchResponseParser = class {
+      batchResponse;
+      responseBatchBoundary;
+      perResponsePrefix;
+      batchResponseEnding;
+      subRequests;
+      constructor(batchResponse, subRequests) {
+        if (!batchResponse || !batchResponse.contentType) {
+          throw new RangeError("batchResponse is malformed or doesn't contain valid content-type.");
+        }
+        if (!subRequests || subRequests.size === 0) {
+          throw new RangeError("Invalid state: subRequests is not provided or size is 0.");
+        }
+        this.batchResponse = batchResponse;
+        this.subRequests = subRequests;
+        this.responseBatchBoundary = this.batchResponse.contentType.split("=")[1];
+        this.perResponsePrefix = `--${this.responseBatchBoundary}${constants_js_1.HTTP_LINE_ENDING}`;
+        this.batchResponseEnding = `--${this.responseBatchBoundary}--`;
+      }
+      // For example of response, please refer to https://learn.microsoft.com/rest/api/storageservices/blob-batch#response
+      async parseBatchResponse() {
+        if (this.batchResponse._response.status !== constants_js_1.HTTPURLConnection.HTTP_ACCEPTED) {
+          throw new Error(`Invalid state: batch request failed with status: '${this.batchResponse._response.status}'.`);
+        }
+        const responseBodyAsText = await (0, BatchUtils_js_1.getBodyAsText)(this.batchResponse);
+        const subResponses = responseBodyAsText.split(this.batchResponseEnding)[0].split(this.perResponsePrefix).slice(1);
+        const subResponseCount = subResponses.length;
+        if (subResponseCount !== this.subRequests.size && subResponseCount !== 1) {
+          throw new Error("Invalid state: sub responses' count is not equal to sub requests' count.");
+        }
+        const deserializedSubResponses = new Array(subResponseCount);
+        let subResponsesSucceededCount = 0;
+        let subResponsesFailedCount = 0;
+        for (let index = 0; index < subResponseCount; index++) {
+          const subResponse = subResponses[index];
+          const deserializedSubResponse = {};
+          deserializedSubResponse.headers = (0, core_http_compat_1.toHttpHeadersLike)((0, core_rest_pipeline_1.createHttpHeaders)());
+          const responseLines = subResponse.split(`${constants_js_1.HTTP_LINE_ENDING}`);
+          let subRespHeaderStartFound = false;
+          let subRespHeaderEndFound = false;
+          let subRespFailed = false;
+          let contentId = NOT_FOUND;
+          for (const responseLine of responseLines) {
+            if (!subRespHeaderStartFound) {
+              if (responseLine.startsWith(constants_js_1.HeaderConstants.CONTENT_ID)) {
+                contentId = parseInt(responseLine.split(HTTP_HEADER_DELIMITER)[1]);
+              }
+              if (responseLine.startsWith(constants_js_1.HTTP_VERSION_1_1)) {
+                subRespHeaderStartFound = true;
+                const tokens = responseLine.split(SPACE_DELIMITER);
+                deserializedSubResponse.status = parseInt(tokens[1]);
+                deserializedSubResponse.statusMessage = tokens.slice(2).join(SPACE_DELIMITER);
+              }
+              continue;
+            }
+            if (responseLine.trim() === "") {
+              if (!subRespHeaderEndFound) {
+                subRespHeaderEndFound = true;
+              }
+              continue;
+            }
+            if (!subRespHeaderEndFound) {
+              if (responseLine.indexOf(HTTP_HEADER_DELIMITER) === -1) {
+                throw new Error(`Invalid state: find non-empty line '${responseLine}' without HTTP header delimiter '${HTTP_HEADER_DELIMITER}'.`);
+              }
+              const tokens = responseLine.split(HTTP_HEADER_DELIMITER);
+              deserializedSubResponse.headers.set(tokens[0], tokens[1]);
+              if (tokens[0] === constants_js_1.HeaderConstants.X_MS_ERROR_CODE) {
+                deserializedSubResponse.errorCode = tokens[1];
+                subRespFailed = true;
+              }
+            } else {
+              if (!deserializedSubResponse.bodyAsText) {
+                deserializedSubResponse.bodyAsText = "";
+              }
+              deserializedSubResponse.bodyAsText += responseLine;
+            }
+          }
+          if (contentId !== NOT_FOUND && Number.isInteger(contentId) && contentId >= 0 && contentId < this.subRequests.size && deserializedSubResponses[contentId] === void 0) {
+            deserializedSubResponse._request = this.subRequests.get(contentId);
+            deserializedSubResponses[contentId] = deserializedSubResponse;
+          } else {
+            log_js_1.logger.error(`subResponses[${index}] is dropped as the Content-ID is not found or invalid, Content-ID: ${contentId}`);
+          }
+          if (subRespFailed) {
+            subResponsesFailedCount++;
+          } else {
+            subResponsesSucceededCount++;
+          }
+        }
+        return {
+          subResponses: deserializedSubResponses,
+          subResponsesSucceededCount,
+          subResponsesFailedCount
+        };
+      }
+    };
+    exports2.BatchResponseParser = BatchResponseParser;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/utils/Mutex.js
+var require_Mutex = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/Mutex.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Mutex = void 0;
+    var MutexLockStatus;
+    (function(MutexLockStatus2) {
+      MutexLockStatus2[MutexLockStatus2["LOCKED"] = 0] = "LOCKED";
+      MutexLockStatus2[MutexLockStatus2["UNLOCKED"] = 1] = "UNLOCKED";
+    })(MutexLockStatus || (MutexLockStatus = {}));
+    var Mutex = class {
+      /**
+       * Lock for a specific key. If the lock has been acquired by another customer, then
+       * will wait until getting the lock.
+       *
+       * @param key - lock key
+       */
+      static async lock(key) {
+        return new Promise((resolve8) => {
+          if (this.keys[key] === void 0 || this.keys[key] === MutexLockStatus.UNLOCKED) {
+            this.keys[key] = MutexLockStatus.LOCKED;
+            resolve8();
+          } else {
+            this.onUnlockEvent(key, () => {
+              this.keys[key] = MutexLockStatus.LOCKED;
+              resolve8();
+            });
+          }
+        });
+      }
+      /**
+       * Unlock a key.
+       *
+       * @param key -
+       */
+      static async unlock(key) {
+        return new Promise((resolve8) => {
+          if (this.keys[key] === MutexLockStatus.LOCKED) {
+            this.emitUnlockEvent(key);
+          }
+          delete this.keys[key];
+          resolve8();
+        });
+      }
+      static keys = {};
+      static listeners = {};
+      static onUnlockEvent(key, handler2) {
+        if (this.listeners[key] === void 0) {
+          this.listeners[key] = [handler2];
+        } else {
+          this.listeners[key].push(handler2);
+        }
+      }
+      static emitUnlockEvent(key) {
+        if (this.listeners[key] !== void 0 && this.listeners[key].length > 0) {
+          const handler2 = this.listeners[key].shift();
+          setImmediate(() => {
+            handler2.call(this);
+          });
+        }
+      }
+    };
+    exports2.Mutex = Mutex;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BlobBatch.js
+var require_BlobBatch = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BlobBatch.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobBatch = void 0;
+    var core_util_1 = require_commonjs4();
+    var core_auth_1 = require_commonjs7();
+    var core_rest_pipeline_1 = require_commonjs6();
+    var core_util_2 = require_commonjs4();
+    var AnonymousCredential_js_1 = require_AnonymousCredential();
+    var Clients_js_1 = require_Clients();
+    var Mutex_js_1 = require_Mutex();
+    var Pipeline_js_1 = require_Pipeline();
+    var utils_common_js_1 = require_utils_common();
+    var core_xml_1 = require_commonjs10();
+    var constants_js_1 = require_constants15();
+    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
+    var tracing_js_1 = require_tracing();
+    var core_client_1 = require_commonjs8();
+    var StorageSharedKeyCredentialPolicyV2_js_1 = require_StorageSharedKeyCredentialPolicyV22();
+    var BlobBatch = class {
+      batchRequest;
+      batch = "batch";
+      batchType;
+      constructor() {
+        this.batchRequest = new InnerBatchRequest();
+      }
+      /**
+       * Get the value of Content-Type for a batch request.
+       * The value must be multipart/mixed with a batch boundary.
+       * Example: multipart/mixed; boundary=batch_a81786c8-e301-4e42-a729-a32ca24ae252
+       */
+      getMultiPartContentType() {
+        return this.batchRequest.getMultipartContentType();
+      }
+      /**
+       * Get assembled HTTP request body for sub requests.
+       */
+      getHttpRequestBody() {
+        return this.batchRequest.getHttpRequestBody();
+      }
+      /**
+       * Get sub requests that are added into the batch request.
+       */
+      getSubRequests() {
+        return this.batchRequest.getSubRequests();
+      }
+      async addSubRequestInternal(subRequest, assembleSubRequestFunc) {
+        await Mutex_js_1.Mutex.lock(this.batch);
+        try {
+          this.batchRequest.preAddSubRequest(subRequest);
+          await assembleSubRequestFunc();
+          this.batchRequest.postAddSubRequest(subRequest);
+        } finally {
+          await Mutex_js_1.Mutex.unlock(this.batch);
+        }
+      }
+      setBatchType(batchType) {
+        if (!this.batchType) {
+          this.batchType = batchType;
+        }
+        if (this.batchType !== batchType) {
+          throw new RangeError(`BlobBatch only supports one operation type per batch and it already is being used for ${this.batchType} operations.`);
+        }
+      }
+      async deleteBlob(urlOrBlobClient, credentialOrOptions, options) {
+        let url2;
+        let credential;
+        if (typeof urlOrBlobClient === "string" && (core_util_2.isNodeLike && credentialOrOptions instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrOptions instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrOptions))) {
+          url2 = urlOrBlobClient;
+          credential = credentialOrOptions;
+        } else if (urlOrBlobClient instanceof Clients_js_1.BlobClient) {
+          url2 = urlOrBlobClient.url;
+          credential = urlOrBlobClient.credential;
+          options = credentialOrOptions;
+        } else {
+          throw new RangeError("Invalid arguments. Either url and credential, or BlobClient need be provided.");
+        }
+        if (!options) {
+          options = {};
+        }
+        return tracing_js_1.tracingClient.withSpan("BatchDeleteRequest-addSubRequest", options, async (updatedOptions) => {
+          this.setBatchType("delete");
+          await this.addSubRequestInternal({
+            url: url2,
+            credential
+          }, async () => {
+            await new Clients_js_1.BlobClient(url2, this.batchRequest.createPipeline(credential)).delete(updatedOptions);
+          });
+        });
+      }
+      async setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions, options) {
+        let url2;
+        let credential;
+        let tier;
+        if (typeof urlOrBlobClient === "string" && (core_util_2.isNodeLike && credentialOrTier instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrTier instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrTier))) {
+          url2 = urlOrBlobClient;
+          credential = credentialOrTier;
+          tier = tierOrOptions;
+        } else if (urlOrBlobClient instanceof Clients_js_1.BlobClient) {
+          url2 = urlOrBlobClient.url;
+          credential = urlOrBlobClient.credential;
+          tier = credentialOrTier;
+          options = tierOrOptions;
+        } else {
+          throw new RangeError("Invalid arguments. Either url and credential, or BlobClient need be provided.");
+        }
+        if (!options) {
+          options = {};
+        }
+        return tracing_js_1.tracingClient.withSpan("BatchSetTierRequest-addSubRequest", options, async (updatedOptions) => {
+          this.setBatchType("setAccessTier");
+          await this.addSubRequestInternal({
+            url: url2,
+            credential
+          }, async () => {
+            await new Clients_js_1.BlobClient(url2, this.batchRequest.createPipeline(credential)).setAccessTier(tier, updatedOptions);
+          });
+        });
+      }
+    };
+    exports2.BlobBatch = BlobBatch;
+    var InnerBatchRequest = class {
+      operationCount;
+      body;
+      subRequests;
+      boundary;
+      subRequestPrefix;
+      multipartContentType;
+      batchRequestEnding;
+      constructor() {
+        this.operationCount = 0;
+        this.body = "";
+        const tempGuid = (0, core_util_1.randomUUID)();
+        this.boundary = `batch_${tempGuid}`;
+        this.subRequestPrefix = `--${this.boundary}${constants_js_1.HTTP_LINE_ENDING}${constants_js_1.HeaderConstants.CONTENT_TYPE}: application/http${constants_js_1.HTTP_LINE_ENDING}${constants_js_1.HeaderConstants.CONTENT_TRANSFER_ENCODING}: binary`;
+        this.multipartContentType = `multipart/mixed; boundary=${this.boundary}`;
+        this.batchRequestEnding = `--${this.boundary}--`;
+        this.subRequests = /* @__PURE__ */ new Map();
+      }
+      /**
+       * Create pipeline to assemble sub requests. The idea here is to use existing
+       * credential and serialization/deserialization components, with additional policies to
+       * filter unnecessary headers, assemble sub requests into request's body
+       * and intercept request from going to wire.
+       * @param credential -  Such as AnonymousCredential, StorageSharedKeyCredential or any credential from the `@azure/identity` package to authenticate requests to the service. You can also provide an object that implements the TokenCredential interface. If not specified, AnonymousCredential is used.
+       */
+      createPipeline(credential) {
+        const corePipeline = (0, core_rest_pipeline_1.createEmptyPipeline)();
+        corePipeline.addPolicy((0, core_client_1.serializationPolicy)({
+          stringifyXML: core_xml_1.stringifyXML,
+          serializerOptions: {
+            xml: {
+              xmlCharKey: "#"
+            }
+          }
+        }), { phase: "Serialize" });
+        corePipeline.addPolicy(batchHeaderFilterPolicy());
+        corePipeline.addPolicy(batchRequestAssemblePolicy(this), { afterPhase: "Sign" });
+        if ((0, core_auth_1.isTokenCredential)(credential)) {
+          corePipeline.addPolicy((0, core_rest_pipeline_1.bearerTokenAuthenticationPolicy)({
+            credential,
+            scopes: constants_js_1.StorageOAuthScopes,
+            challengeCallbacks: { authorizeRequestOnChallenge: core_client_1.authorizeRequestOnTenantChallenge }
+          }), { phase: "Sign" });
+        } else if (credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential) {
+          corePipeline.addPolicy((0, StorageSharedKeyCredentialPolicyV2_js_1.storageSharedKeyCredentialPolicy)({
+            accountName: credential.accountName,
+            accountKey: credential.accountKey
+          }), { phase: "Sign" });
+        }
+        const pipeline = new Pipeline_js_1.Pipeline([]);
+        pipeline._credential = credential;
+        pipeline._corePipeline = corePipeline;
+        return pipeline;
+      }
+      appendSubRequestToBody(request2) {
+        this.body += [
+          this.subRequestPrefix,
+          // sub request constant prefix
+          `${constants_js_1.HeaderConstants.CONTENT_ID}: ${this.operationCount}`,
+          // sub request's content ID
+          "",
+          // empty line after sub request's content ID
+          `${request2.method.toString()} ${(0, utils_common_js_1.getURLPathAndQuery)(request2.url)} ${constants_js_1.HTTP_VERSION_1_1}${constants_js_1.HTTP_LINE_ENDING}`
+          // sub request start line with method
+        ].join(constants_js_1.HTTP_LINE_ENDING);
+        for (const [name, value] of request2.headers) {
+          this.body += `${name}: ${value}${constants_js_1.HTTP_LINE_ENDING}`;
+        }
+        this.body += constants_js_1.HTTP_LINE_ENDING;
+      }
+      preAddSubRequest(subRequest) {
+        if (this.operationCount >= constants_js_1.BATCH_MAX_REQUEST) {
+          throw new RangeError(`Cannot exceed ${constants_js_1.BATCH_MAX_REQUEST} sub requests in a single batch`);
+        }
+        const path16 = (0, utils_common_js_1.getURLPath)(subRequest.url);
+        if (!path16 || path16 === "") {
+          throw new RangeError(`Invalid url for sub request: '${subRequest.url}'`);
+        }
+      }
+      postAddSubRequest(subRequest) {
+        this.subRequests.set(this.operationCount, subRequest);
+        this.operationCount++;
+      }
+      // Return the http request body with assembling the ending line to the sub request body.
+      getHttpRequestBody() {
+        return `${this.body}${this.batchRequestEnding}${constants_js_1.HTTP_LINE_ENDING}`;
+      }
+      getMultipartContentType() {
+        return this.multipartContentType;
+      }
+      getSubRequests() {
+        return this.subRequests;
+      }
+    };
+    function batchRequestAssemblePolicy(batchRequest) {
+      return {
+        name: "batchRequestAssemblePolicy",
+        async sendRequest(request2) {
+          batchRequest.appendSubRequestToBody(request2);
+          return {
+            request: request2,
+            status: 200,
+            headers: (0, core_rest_pipeline_1.createHttpHeaders)()
+          };
+        }
+      };
+    }
+    function batchHeaderFilterPolicy() {
+      return {
+        name: "batchHeaderFilterPolicy",
+        async sendRequest(request2, next) {
+          let xMsHeaderName = "";
+          for (const [name] of request2.headers) {
+            if ((0, utils_common_js_1.iEqual)(name, constants_js_1.HeaderConstants.X_MS_VERSION)) {
+              xMsHeaderName = name;
+            }
+          }
+          if (xMsHeaderName !== "") {
+            request2.headers.delete(xMsHeaderName);
+          }
+          return next(request2);
+        }
+      };
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BlobBatchClient.js
+var require_BlobBatchClient = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BlobBatchClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobBatchClient = void 0;
+    var BatchResponseParser_js_1 = require_BatchResponseParser();
+    var BatchUtils_js_1 = require_BatchUtils();
+    var BlobBatch_js_1 = require_BlobBatch();
+    var tracing_js_1 = require_tracing();
+    var AnonymousCredential_js_1 = require_AnonymousCredential();
+    var StorageContextClient_js_1 = require_StorageContextClient();
+    var Pipeline_js_1 = require_Pipeline();
+    var utils_common_js_1 = require_utils_common();
+    var BlobBatchClient = class {
+      serviceOrContainerContext;
+      constructor(url2, credentialOrPipeline, options) {
+        let pipeline;
+        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipeline)) {
+          pipeline = credentialOrPipeline;
+        } else if (!credentialOrPipeline) {
+          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+        } else {
+          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipeline, options);
+        }
+        const storageClientContext = new StorageContextClient_js_1.StorageContextClient(url2, (0, Pipeline_js_1.getCoreClientOptions)(pipeline));
+        const path16 = (0, utils_common_js_1.getURLPath)(url2);
+        if (path16 && path16 !== "/") {
+          this.serviceOrContainerContext = storageClientContext.container;
+        } else {
+          this.serviceOrContainerContext = storageClientContext.service;
+        }
+      }
+      /**
+       * Creates a {@link BlobBatch}.
+       * A BlobBatch represents an aggregated set of operations on blobs.
+       */
+      createBatch() {
+        return new BlobBatch_js_1.BlobBatch();
+      }
+      async deleteBlobs(urlsOrBlobClients, credentialOrOptions, options) {
+        const batch = new BlobBatch_js_1.BlobBatch();
+        for (const urlOrBlobClient of urlsOrBlobClients) {
+          if (typeof urlOrBlobClient === "string") {
+            await batch.deleteBlob(urlOrBlobClient, credentialOrOptions, options);
+          } else {
+            await batch.deleteBlob(urlOrBlobClient, credentialOrOptions);
+          }
+        }
+        return this.submitBatch(batch);
+      }
+      async setBlobsAccessTier(urlsOrBlobClients, credentialOrTier, tierOrOptions, options) {
+        const batch = new BlobBatch_js_1.BlobBatch();
+        for (const urlOrBlobClient of urlsOrBlobClients) {
+          if (typeof urlOrBlobClient === "string") {
+            await batch.setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions, options);
+          } else {
+            await batch.setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions);
+          }
+        }
+        return this.submitBatch(batch);
+      }
+      /**
+       * Submit batch request which consists of multiple subrequests.
+       *
+       * Get `blobBatchClient` and other details before running the snippets.
+       * `blobServiceClient.getBlobBatchClient()` gives the `blobBatchClient`
+       *
+       * Example usage:
+       *
+       * ```ts snippet:BlobBatchClientSubmitBatch
+       * import { DefaultAzureCredential } from "@azure/identity";
+       * import { BlobServiceClient, BlobBatch } from "@azure/storage-blob";
+       *
+       * const account = "";
+       * const credential = new DefaultAzureCredential();
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   credential,
+       * );
+       *
+       * const containerName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blobBatchClient = containerClient.getBlobBatchClient();
+       *
+       * const batchRequest = new BlobBatch();
+       * await batchRequest.deleteBlob("", credential);
+       * await batchRequest.deleteBlob("", credential, {
+       *   deleteSnapshots: "include",
+       * });
+       * const batchResp = await blobBatchClient.submitBatch(batchRequest);
+       * console.log(batchResp.subResponsesSucceededCount);
+       * ```
+       *
+       * Example using a lease:
+       *
+       * ```ts snippet:BlobBatchClientSubmitBatchWithLease
+       * import { DefaultAzureCredential } from "@azure/identity";
+       * import { BlobServiceClient, BlobBatch } from "@azure/storage-blob";
+       *
+       * const account = "";
+       * const credential = new DefaultAzureCredential();
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   credential,
+       * );
+       *
+       * const containerName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blobBatchClient = containerClient.getBlobBatchClient();
+       * const blobClient = containerClient.getBlobClient("");
+       *
+       * const batchRequest = new BlobBatch();
+       * await batchRequest.setBlobAccessTier(blobClient, "Cool");
+       * await batchRequest.setBlobAccessTier(blobClient, "Cool", {
+       *   conditions: { leaseId: "" },
+       * });
+       * const batchResp = await blobBatchClient.submitBatch(batchRequest);
+       * console.log(batchResp.subResponsesSucceededCount);
+       * ```
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch
+       *
+       * @param batchRequest - A set of Delete or SetTier operations.
+       * @param options -
+       */
+      async submitBatch(batchRequest, options = {}) {
+        if (!batchRequest || batchRequest.getSubRequests().size === 0) {
+          throw new RangeError("Batch request should contain one or more sub requests.");
+        }
+        return tracing_js_1.tracingClient.withSpan("BlobBatchClient-submitBatch", options, async (updatedOptions) => {
+          const batchRequestBody = batchRequest.getHttpRequestBody();
+          const rawBatchResponse = (0, utils_common_js_1.assertResponse)(await this.serviceOrContainerContext.submitBatch((0, BatchUtils_js_1.utf8ByteLength)(batchRequestBody), batchRequest.getMultiPartContentType(), batchRequestBody, {
+            ...updatedOptions
+          }));
+          const batchResponseParser = new BatchResponseParser_js_1.BatchResponseParser(rawBatchResponse, batchRequest.getSubRequests());
+          const responseSummary = await batchResponseParser.parseBatchResponse();
+          const res = {
+            _response: rawBatchResponse._response,
+            contentType: rawBatchResponse.contentType,
+            errorCode: rawBatchResponse.errorCode,
+            requestId: rawBatchResponse.requestId,
+            clientRequestId: rawBatchResponse.clientRequestId,
+            version: rawBatchResponse.version,
+            subResponses: responseSummary.subResponses,
+            subResponsesSucceededCount: responseSummary.subResponsesSucceededCount,
+            subResponsesFailedCount: responseSummary.subResponsesFailedCount
+          };
+          return res;
+        });
+      }
+    };
+    exports2.BlobBatchClient = BlobBatchClient;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/ContainerClient.js
+var require_ContainerClient = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/ContainerClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ContainerClient = void 0;
+    var core_rest_pipeline_1 = require_commonjs6();
+    var core_util_1 = require_commonjs4();
+    var core_auth_1 = require_commonjs7();
+    var AnonymousCredential_js_1 = require_AnonymousCredential();
+    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
+    var Pipeline_js_1 = require_Pipeline();
+    var StorageClient_js_1 = require_StorageClient();
+    var tracing_js_1 = require_tracing();
+    var utils_common_js_1 = require_utils_common();
+    var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues();
+    var BlobLeaseClient_js_1 = require_BlobLeaseClient();
+    var Clients_js_1 = require_Clients();
+    var BlobBatchClient_js_1 = require_BlobBatchClient();
+    var ContainerClient = class extends StorageClient_js_1.StorageClient {
+      /**
+       * containerContext provided by protocol layer.
+       */
+      containerContext;
+      _containerName;
+      /**
+       * The name of the container.
+       */
+      get containerName() {
+        return this._containerName;
+      }
+      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, options) {
+        let pipeline;
+        let url2;
+        options = options || {};
+        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
+          url2 = urlOrConnectionString;
+          pipeline = credentialOrPipelineOrContainerName;
+        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
+          url2 = urlOrConnectionString;
+          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
+        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
+          url2 = urlOrConnectionString;
+          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string") {
+          const containerName = credentialOrPipelineOrContainerName;
+          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
+          if (extractedCreds.kind === "AccountConnString") {
+            if (core_util_1.isNodeLike) {
+              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
+              url2 = (0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName));
+              if (!options.proxyOptions) {
+                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+              }
+              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+            } else {
+              throw new Error("Account connection string is only supported in Node.js environment");
+            }
+          } else if (extractedCreds.kind === "SASConnString") {
+            url2 = (0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)) + "?" + extractedCreds.accountSas;
+            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+          } else {
+            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
+          }
+        } else {
+          throw new Error("Expecting non-empty strings for containerName parameter");
+        }
+        super(url2, pipeline);
+        this._containerName = this.getContainerNameFromUrl();
+        this.containerContext = this.storageClientContext.container;
+      }
+      /**
+       * Creates a new container under the specified account. If the container with
+       * the same name already exists, the operation fails.
+       * @see https://learn.microsoft.com/rest/api/storageservices/create-container
+       * Naming rules: @see https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata
+       *
+       * @param options - Options to Container Create operation.
+       *
+       *
+       * Example usage:
+       *
+       * ```ts snippet:ContainerClientCreate
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const createContainerResponse = await containerClient.create();
+       * console.log("Container was created successfully", createContainerResponse.requestId);
+       * ```
+       */
+      async create(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-create", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.containerContext.create(updatedOptions));
+        });
+      }
+      /**
+       * Creates a new container under the specified account. If the container with
+       * the same name already exists, it is not changed.
+       * @see https://learn.microsoft.com/rest/api/storageservices/create-container
+       * Naming rules: @see https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata
+       *
+       * @param options -
+       */
+      async createIfNotExists(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-createIfNotExists", options, async (updatedOptions) => {
+          try {
+            const res = await this.create(updatedOptions);
+            return {
+              succeeded: true,
+              ...res,
+              _response: res._response
+              // _response is made non-enumerable
+            };
+          } catch (e) {
+            if (e.details?.errorCode === "ContainerAlreadyExists") {
+              return {
+                succeeded: false,
+                ...e.response?.parsedHeaders,
+                _response: e.response
+              };
+            } else {
+              throw e;
+            }
+          }
+        });
+      }
+      /**
+       * Returns true if the Azure container resource represented by this client exists; false otherwise.
+       *
+       * NOTE: use this function with care since an existing container might be deleted by other clients or
+       * applications. Vice versa new containers with the same name might be added by other clients or
+       * applications after this function completes.
+       *
+       * @param options -
+       */
+      async exists(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-exists", options, async (updatedOptions) => {
+          try {
+            await this.getProperties({
+              abortSignal: options.abortSignal,
+              tracingOptions: updatedOptions.tracingOptions
+            });
+            return true;
+          } catch (e) {
+            if (e.statusCode === 404) {
+              return false;
+            }
+            throw e;
+          }
+        });
+      }
+      /**
+       * Creates a {@link BlobClient}
+       *
+       * @param blobName - A blob name
+       * @returns A new BlobClient object for the given blob name.
+       */
+      getBlobClient(blobName) {
+        return new Clients_js_1.BlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
+      }
+      /**
+       * Creates an {@link AppendBlobClient}
+       *
+       * @param blobName - An append blob name
+       */
+      getAppendBlobClient(blobName) {
+        return new Clients_js_1.AppendBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
+      }
+      /**
+       * Creates a {@link BlockBlobClient}
+       *
+       * @param blobName - A block blob name
+       *
+       *
+       * Example usage:
+       *
+       * ```ts snippet:ClientsUpload
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blockBlobClient = containerClient.getBlockBlobClient(blobName);
+       *
+       * const content = "Hello world!";
+       * const uploadBlobResponse = await blockBlobClient.upload(content, content.length);
+       * ```
+       */
+      getBlockBlobClient(blobName) {
+        return new Clients_js_1.BlockBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
+      }
+      /**
+       * Creates a {@link PageBlobClient}
+       *
+       * @param blobName - A page blob name
+       */
+      getPageBlobClient(blobName) {
+        return new Clients_js_1.PageBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
+      }
+      /**
+       * Returns all user-defined metadata and system properties for the specified
+       * container. The data returned does not include the container's list of blobs.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-container-properties
+       *
+       * WARNING: The `metadata` object returned in the response will have its keys in lowercase, even if
+       * they originally contained uppercase characters. This differs from the metadata keys returned by
+       * the `listContainers` method of {@link BlobServiceClient} using the `includeMetadata` option, which
+       * will retain their original casing.
+       *
+       * @param options - Options to Container Get Properties operation.
+       */
+      async getProperties(options = {}) {
+        if (!options.conditions) {
+          options.conditions = {};
+        }
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-getProperties", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.containerContext.getProperties({
+            abortSignal: options.abortSignal,
+            ...options.conditions,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Marks the specified container for deletion. The container and any blobs
+       * contained within it are later deleted during garbage collection.
+       * @see https://learn.microsoft.com/rest/api/storageservices/delete-container
+       *
+       * @param options - Options to Container Delete operation.
+       */
+      async delete(options = {}) {
+        if (!options.conditions) {
+          options.conditions = {};
+        }
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-delete", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.containerContext.delete({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: options.conditions,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Marks the specified container for deletion if it exists. The container and any blobs
+       * contained within it are later deleted during garbage collection.
+       * @see https://learn.microsoft.com/rest/api/storageservices/delete-container
+       *
+       * @param options - Options to Container Delete operation.
+       */
+      async deleteIfExists(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-deleteIfExists", options, async (updatedOptions) => {
+          try {
+            const res = await this.delete(updatedOptions);
+            return {
+              succeeded: true,
+              ...res,
+              _response: res._response
+            };
+          } catch (e) {
+            if (e.details?.errorCode === "ContainerNotFound") {
+              return {
+                succeeded: false,
+                ...e.response?.parsedHeaders,
+                _response: e.response
+              };
+            }
+            throw e;
+          }
+        });
+      }
+      /**
+       * Sets one or more user-defined name-value pairs for the specified container.
+       *
+       * If no option provided, or no metadata defined in the parameter, the container
+       * metadata will be removed.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-container-metadata
+       *
+       * @param metadata - Replace existing metadata with this value.
+       *                            If no value provided the existing metadata will be removed.
+       * @param options - Options to Container Set Metadata operation.
+       */
+      async setMetadata(metadata, options = {}) {
+        if (!options.conditions) {
+          options.conditions = {};
+        }
+        if (options.conditions.ifUnmodifiedSince) {
+          throw new RangeError("the IfUnmodifiedSince must have their default values because they are ignored by the blob service");
+        }
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-setMetadata", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.containerContext.setMetadata({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            metadata,
+            modifiedAccessConditions: options.conditions,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Gets the permissions for the specified container. The permissions indicate
+       * whether container data may be accessed publicly.
+       *
+       * WARNING: JavaScript Date will potentially lose precision when parsing startsOn and expiresOn strings.
+       * For example, new Date("2018-12-31T03:44:23.8827891Z").toISOString() will get "2018-12-31T03:44:23.882Z".
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-container-acl
+       *
+       * @param options - Options to Container Get Access Policy operation.
+       */
+      async getAccessPolicy(options = {}) {
+        if (!options.conditions) {
+          options.conditions = {};
+        }
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-getAccessPolicy", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.getAccessPolicy({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const res = {
+            _response: response._response,
+            blobPublicAccess: response.blobPublicAccess,
+            date: response.date,
+            etag: response.etag,
+            errorCode: response.errorCode,
+            lastModified: response.lastModified,
+            requestId: response.requestId,
+            clientRequestId: response.clientRequestId,
+            signedIdentifiers: [],
+            version: response.version
+          };
+          for (const identifier of response) {
+            let accessPolicy = void 0;
+            if (identifier.accessPolicy) {
+              accessPolicy = {
+                permissions: identifier.accessPolicy.permissions
+              };
+              if (identifier.accessPolicy.expiresOn) {
+                accessPolicy.expiresOn = new Date(identifier.accessPolicy.expiresOn);
+              }
+              if (identifier.accessPolicy.startsOn) {
+                accessPolicy.startsOn = new Date(identifier.accessPolicy.startsOn);
+              }
+            }
+            res.signedIdentifiers.push({
+              accessPolicy,
+              id: identifier.id
+            });
+          }
+          return res;
+        });
+      }
+      /**
+       * Sets the permissions for the specified container. The permissions indicate
+       * whether blobs in a container may be accessed publicly.
+       *
+       * When you set permissions for a container, the existing permissions are replaced.
+       * If no access or containerAcl provided, the existing container ACL will be
+       * removed.
+       *
+       * When you establish a stored access policy on a container, it may take up to 30 seconds to take effect.
+       * During this interval, a shared access signature that is associated with the stored access policy will
+       * fail with status code 403 (Forbidden), until the access policy becomes active.
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-container-acl
+       *
+       * @param access - The level of public access to data in the container.
+       * @param containerAcl - Array of elements each having a unique Id and details of the access policy.
+       * @param options - Options to Container Set Access Policy operation.
+       */
+      async setAccessPolicy(access, containerAcl, options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-setAccessPolicy", options, async (updatedOptions) => {
+          const acl = [];
+          for (const identifier of containerAcl || []) {
+            acl.push({
+              accessPolicy: {
+                expiresOn: identifier.accessPolicy.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(identifier.accessPolicy.expiresOn) : "",
+                permissions: identifier.accessPolicy.permissions,
+                startsOn: identifier.accessPolicy.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(identifier.accessPolicy.startsOn) : ""
+              },
+              id: identifier.id
+            });
+          }
+          return (0, utils_common_js_1.assertResponse)(await this.containerContext.setAccessPolicy({
+            abortSignal: options.abortSignal,
+            access,
+            containerAcl: acl,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: options.conditions,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Get a {@link BlobLeaseClient} that manages leases on the container.
+       *
+       * @param proposeLeaseId - Initial proposed lease Id.
+       * @returns A new BlobLeaseClient object for managing leases on the container.
+       */
+      getBlobLeaseClient(proposeLeaseId) {
+        return new BlobLeaseClient_js_1.BlobLeaseClient(this, proposeLeaseId);
+      }
+      /**
+       * Creates a new block blob, or updates the content of an existing block blob.
+       *
+       * Updating an existing block blob overwrites any existing metadata on the blob.
+       * Partial updates are not supported; the content of the existing blob is
+       * overwritten with the new content. To perform a partial update of a block blob's,
+       * use {@link BlockBlobClient.stageBlock} and {@link BlockBlobClient.commitBlockList}.
+       *
+       * This is a non-parallel uploading method, please use {@link BlockBlobClient.uploadFile},
+       * {@link BlockBlobClient.uploadStream} or {@link BlockBlobClient.uploadBrowserData} for better
+       * performance with concurrency uploading.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
+       *
+       * @param blobName - Name of the block blob to create or update.
+       * @param body - Blob, string, ArrayBuffer, ArrayBufferView or a function
+       *                               which returns a new Readable stream whose offset is from data source beginning.
+       * @param contentLength - Length of body in bytes. Use Buffer.byteLength() to calculate body length for a
+       *                               string including non non-Base64/Hex-encoded characters.
+       * @param options - Options to configure the Block Blob Upload operation.
+       * @returns Block Blob upload response data and the corresponding BlockBlobClient instance.
+       */
+      async uploadBlockBlob(blobName, body, contentLength, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-uploadBlockBlob", options, async (updatedOptions) => {
+          const blockBlobClient = this.getBlockBlobClient(blobName);
+          const response = await blockBlobClient.upload(body, contentLength, updatedOptions);
+          return {
+            blockBlobClient,
+            response
+          };
+        });
+      }
+      /**
+       * Marks the specified blob or snapshot for deletion. The blob is later deleted
+       * during garbage collection. Note that in order to delete a blob, you must delete
+       * all of its snapshots. You can delete both at the same time with the Delete
+       * Blob operation.
+       * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob
+       *
+       * @param blobName -
+       * @param options - Options to Blob Delete operation.
+       * @returns Block blob deletion response data.
+       */
+      async deleteBlob(blobName, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-deleteBlob", options, async (updatedOptions) => {
+          let blobClient = this.getBlobClient(blobName);
+          if (options.versionId) {
+            blobClient = blobClient.withVersion(options.versionId);
+          }
+          return blobClient.delete(updatedOptions);
+        });
+      }
+      /**
+       * listBlobFlatSegment returns a single segment of blobs starting from the
+       * specified Marker. Use an empty Marker to start enumeration from the beginning.
+       * After getting a segment, process it, and then call listBlobsFlatSegment again
+       * (passing the the previously-returned Marker) to get the next segment.
+       * @see https://learn.microsoft.com/rest/api/storageservices/list-blobs
+       *
+       * @param marker - A string value that identifies the portion of the list to be returned with the next list operation.
+       * @param options - Options to Container List Blob Flat Segment operation.
+       */
+      async listBlobFlatSegment(marker, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-listBlobFlatSegment", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.listBlobFlatSegment({
+            marker,
+            ...options,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const wrappedResponse = {
+            ...response,
+            _response: {
+              ...response._response,
+              parsedBody: (0, utils_common_js_1.ConvertInternalResponseOfListBlobFlat)(response._response.parsedBody)
+            },
+            // _response is made non-enumerable
+            segment: {
+              ...response.segment,
+              blobItems: response.segment.blobItems.map((blobItemInternal) => {
+                const blobItem = {
+                  ...blobItemInternal,
+                  name: (0, utils_common_js_1.BlobNameToString)(blobItemInternal.name),
+                  tags: (0, utils_common_js_1.toTags)(blobItemInternal.blobTags),
+                  objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(blobItemInternal.objectReplicationMetadata)
+                };
+                return blobItem;
+              })
+            }
+          };
+          return wrappedResponse;
+        });
+      }
+      /**
+       * listBlobHierarchySegment returns a single segment of blobs starting from
+       * the specified Marker. Use an empty Marker to start enumeration from the
+       * beginning. After getting a segment, process it, and then call listBlobsHierarchicalSegment
+       * again (passing the the previously-returned Marker) to get the next segment.
+       * @see https://learn.microsoft.com/rest/api/storageservices/list-blobs
+       *
+       * @param delimiter - The character or string used to define the virtual hierarchy
+       * @param marker - A string value that identifies the portion of the list to be returned with the next list operation.
+       * @param options - Options to Container List Blob Hierarchy Segment operation.
+       */
+      async listBlobHierarchySegment(delimiter, marker, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-listBlobHierarchySegment", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.listBlobHierarchySegment(delimiter, {
+            marker,
+            ...options,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const wrappedResponse = {
+            ...response,
+            _response: {
+              ...response._response,
+              parsedBody: (0, utils_common_js_1.ConvertInternalResponseOfListBlobHierarchy)(response._response.parsedBody)
+            },
+            // _response is made non-enumerable
+            segment: {
+              ...response.segment,
+              blobItems: response.segment.blobItems.map((blobItemInternal) => {
+                const blobItem = {
+                  ...blobItemInternal,
+                  name: (0, utils_common_js_1.BlobNameToString)(blobItemInternal.name),
+                  tags: (0, utils_common_js_1.toTags)(blobItemInternal.blobTags),
+                  objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(blobItemInternal.objectReplicationMetadata)
+                };
+                return blobItem;
+              }),
+              blobPrefixes: response.segment.blobPrefixes?.map((blobPrefixInternal) => {
+                const blobPrefix = {
+                  ...blobPrefixInternal,
+                  name: (0, utils_common_js_1.BlobNameToString)(blobPrefixInternal.name)
+                };
+                return blobPrefix;
+              })
+            }
+          };
+          return wrappedResponse;
+        });
+      }
+      /**
+       * Returns an AsyncIterableIterator for ContainerListBlobFlatSegmentResponse
+       *
+       * @param marker - A string value that identifies the portion of
+       *                          the list of blobs to be returned with the next listing operation. The
+       *                          operation returns the ContinuationToken value within the response body if the
+       *                          listing operation did not return all blobs remaining to be listed
+       *                          with the current page. The ContinuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of list
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to list blobs operation.
+       */
+      async *listSegments(marker, options = {}) {
+        let listBlobsFlatSegmentResponse;
+        if (!!marker || marker === void 0) {
+          do {
+            listBlobsFlatSegmentResponse = await this.listBlobFlatSegment(marker, options);
+            marker = listBlobsFlatSegmentResponse.continuationToken;
+            yield await listBlobsFlatSegmentResponse;
+          } while (marker);
+        }
+      }
+      /**
+       * Returns an AsyncIterableIterator of {@link BlobItem} objects
+       *
+       * @param options - Options to list blobs operation.
+       */
+      async *listItems(options = {}) {
+        let marker;
+        for await (const listBlobsFlatSegmentResponse of this.listSegments(marker, options)) {
+          yield* listBlobsFlatSegmentResponse.segment.blobItems;
+        }
+      }
+      /**
+       * Returns an async iterable iterator to list all the blobs
+       * under the specified account.
+       *
+       * .byPage() returns an async iterable iterator to list the blobs in pages.
+       *
+       * ```ts snippet:ReadmeSampleListBlobs_Multiple
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       *
+       * // Example using `for await` syntax
+       * let i = 1;
+       * const blobs = containerClient.listBlobsFlat();
+       * for await (const blob of blobs) {
+       *   console.log(`Blob ${i++}: ${blob.name}`);
+       * }
+       *
+       * // Example using `iter.next()` syntax
+       * i = 1;
+       * const iter = containerClient.listBlobsFlat();
+       * let { value, done } = await iter.next();
+       * while (!done) {
+       *   console.log(`Blob ${i++}: ${value.name}`);
+       *   ({ value, done } = await iter.next());
+       * }
+       *
+       * // Example using `byPage()` syntax
+       * i = 1;
+       * for await (const page of containerClient.listBlobsFlat().byPage({ maxPageSize: 20 })) {
+       *   for (const blob of page.segment.blobItems) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       *
+       * // Example using paging with a marker
+       * i = 1;
+       * let iterator = containerClient.listBlobsFlat().byPage({ maxPageSize: 2 });
+       * let response = (await iterator.next()).value;
+       * // Prints 2 blob names
+       * if (response.segment.blobItems) {
+       *   for (const blob of response.segment.blobItems) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       * // Gets next marker
+       * let marker = response.continuationToken;
+       * // Passing next marker as continuationToken
+       * iterator = containerClient.listBlobsFlat().byPage({ continuationToken: marker, maxPageSize: 10 });
+       * response = (await iterator.next()).value;
+       * // Prints 10 blob names
+       * if (response.segment.blobItems) {
+       *   for (const blob of response.segment.blobItems) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       * ```
+       *
+       * @param options - Options to list blobs.
+       * @returns An asyncIterableIterator that supports paging.
+       */
+      listBlobsFlat(options = {}) {
+        const include = [];
+        if (options.includeCopy) {
+          include.push("copy");
+        }
+        if (options.includeDeleted) {
+          include.push("deleted");
+        }
+        if (options.includeMetadata) {
+          include.push("metadata");
+        }
+        if (options.includeSnapshots) {
+          include.push("snapshots");
+        }
+        if (options.includeVersions) {
+          include.push("versions");
+        }
+        if (options.includeUncommitedBlobs) {
+          include.push("uncommittedblobs");
+        }
+        if (options.includeTags) {
+          include.push("tags");
+        }
+        if (options.includeDeletedWithVersions) {
+          include.push("deletedwithversions");
+        }
+        if (options.includeImmutabilityPolicy) {
+          include.push("immutabilitypolicy");
+        }
+        if (options.includeLegalHold) {
+          include.push("legalhold");
+        }
+        if (options.prefix === "") {
+          options.prefix = void 0;
+        }
+        const updatedOptions = {
+          ...options,
+          ...include.length > 0 ? { include } : {}
+        };
+        const iter = this.listItems(updatedOptions);
+        return {
+          /**
+           * The next method, part of the iteration protocol
+           */
+          next() {
+            return iter.next();
+          },
+          /**
+           * The connection to the async iterator, part of the iteration protocol
+           */
+          [Symbol.asyncIterator]() {
+            return this;
+          },
+          /**
+           * Return an AsyncIterableIterator that works a page at a time
+           */
+          byPage: (settings = {}) => {
+            return this.listSegments(settings.continuationToken, {
+              maxPageSize: settings.maxPageSize,
+              ...updatedOptions
+            });
+          }
+        };
+      }
+      /**
+       * Returns an AsyncIterableIterator for ContainerListBlobHierarchySegmentResponse
+       *
+       * @param delimiter - The character or string used to define the virtual hierarchy
+       * @param marker - A string value that identifies the portion of
+       *                          the list of blobs to be returned with the next listing operation. The
+       *                          operation returns the ContinuationToken value within the response body if the
+       *                          listing operation did not return all blobs remaining to be listed
+       *                          with the current page. The ContinuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of list
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to list blobs operation.
+       */
+      async *listHierarchySegments(delimiter, marker, options = {}) {
+        let listBlobsHierarchySegmentResponse;
+        if (!!marker || marker === void 0) {
+          do {
+            listBlobsHierarchySegmentResponse = await this.listBlobHierarchySegment(delimiter, marker, options);
+            marker = listBlobsHierarchySegmentResponse.continuationToken;
+            yield await listBlobsHierarchySegmentResponse;
+          } while (marker);
+        }
+      }
+      /**
+       * Returns an AsyncIterableIterator for {@link BlobPrefix} and {@link BlobItem} objects.
+       *
+       * @param delimiter - The character or string used to define the virtual hierarchy
+       * @param options - Options to list blobs operation.
+       */
+      async *listItemsByHierarchy(delimiter, options = {}) {
+        let marker;
+        for await (const listBlobsHierarchySegmentResponse of this.listHierarchySegments(delimiter, marker, options)) {
+          const segment = listBlobsHierarchySegmentResponse.segment;
+          if (segment.blobPrefixes) {
+            for (const prefix of segment.blobPrefixes) {
+              yield {
+                kind: "prefix",
+                ...prefix
+              };
+            }
+          }
+          for (const blob of segment.blobItems) {
+            yield { kind: "blob", ...blob };
+          }
+        }
+      }
+      /**
+       * Returns an async iterable iterator to list all the blobs by hierarchy.
+       * under the specified account.
+       *
+       * .byPage() returns an async iterable iterator to list the blobs by hierarchy in pages.
+       *
+       * ```ts snippet:ReadmeSampleListBlobsByHierarchy
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       *
+       * // Example using `for await` syntax
+       * let i = 1;
+       * const blobs = containerClient.listBlobsByHierarchy("/");
+       * for await (const blob of blobs) {
+       *   if (blob.kind === "prefix") {
+       *     console.log(`\tBlobPrefix: ${blob.name}`);
+       *   } else {
+       *     console.log(`\tBlobItem: name - ${blob.name}`);
+       *   }
+       * }
+       *
+       * // Example using `iter.next()` syntax
+       * i = 1;
+       * const iter = containerClient.listBlobsByHierarchy("/");
+       * let { value, done } = await iter.next();
+       * while (!done) {
+       *   if (value.kind === "prefix") {
+       *     console.log(`\tBlobPrefix: ${value.name}`);
+       *   } else {
+       *     console.log(`\tBlobItem: name - ${value.name}`);
+       *   }
+       *   ({ value, done } = await iter.next());
+       * }
+       *
+       * // Example using `byPage()` syntax
+       * i = 1;
+       * for await (const page of containerClient.listBlobsByHierarchy("/").byPage({ maxPageSize: 20 })) {
+       *   const segment = page.segment;
+       *   if (segment.blobPrefixes) {
+       *     for (const prefix of segment.blobPrefixes) {
+       *       console.log(`\tBlobPrefix: ${prefix.name}`);
+       *     }
+       *   }
+       *   for (const blob of page.segment.blobItems) {
+       *     console.log(`\tBlobItem: name - ${blob.name}`);
+       *   }
+       * }
+       *
+       * // Example using paging with a marker
+       * i = 1;
+       * let iterator = containerClient.listBlobsByHierarchy("/").byPage({ maxPageSize: 2 });
+       * let response = (await iterator.next()).value;
+       * // Prints 2 blob names
+       * if (response.blobPrefixes) {
+       *   for (const prefix of response.blobPrefixes) {
+       *     console.log(`\tBlobPrefix: ${prefix.name}`);
+       *   }
+       * }
+       * if (response.segment.blobItems) {
+       *   for (const blob of response.segment.blobItems) {
+       *     console.log(`\tBlobItem: name - ${blob.name}`);
+       *   }
+       * }
+       * // Gets next marker
+       * let marker = response.continuationToken;
+       * // Passing next marker as continuationToken
+       * iterator = containerClient
+       *   .listBlobsByHierarchy("/")
+       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
+       * response = (await iterator.next()).value;
+       * // Prints 10 blob names
+       * if (response.blobPrefixes) {
+       *   for (const prefix of response.blobPrefixes) {
+       *     console.log(`\tBlobPrefix: ${prefix.name}`);
+       *   }
+       * }
+       * if (response.segment.blobItems) {
+       *   for (const blob of response.segment.blobItems) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       * ```
+       *
+       * @param delimiter - The character or string used to define the virtual hierarchy
+       * @param options - Options to list blobs operation.
+       */
+      listBlobsByHierarchy(delimiter, options = {}) {
+        if (delimiter === "") {
+          throw new RangeError("delimiter should contain one or more characters");
+        }
+        const include = [];
+        if (options.includeCopy) {
+          include.push("copy");
+        }
+        if (options.includeDeleted) {
+          include.push("deleted");
+        }
+        if (options.includeMetadata) {
+          include.push("metadata");
+        }
+        if (options.includeSnapshots) {
+          include.push("snapshots");
+        }
+        if (options.includeVersions) {
+          include.push("versions");
+        }
+        if (options.includeUncommitedBlobs) {
+          include.push("uncommittedblobs");
+        }
+        if (options.includeTags) {
+          include.push("tags");
+        }
+        if (options.includeDeletedWithVersions) {
+          include.push("deletedwithversions");
+        }
+        if (options.includeImmutabilityPolicy) {
+          include.push("immutabilitypolicy");
+        }
+        if (options.includeLegalHold) {
+          include.push("legalhold");
+        }
+        if (options.prefix === "") {
+          options.prefix = void 0;
+        }
+        const updatedOptions = {
+          ...options,
+          ...include.length > 0 ? { include } : {}
+        };
+        const iter = this.listItemsByHierarchy(delimiter, updatedOptions);
+        return {
+          /**
+           * The next method, part of the iteration protocol
+           */
+          async next() {
+            return iter.next();
+          },
+          /**
+           * The connection to the async iterator, part of the iteration protocol
+           */
+          [Symbol.asyncIterator]() {
+            return this;
+          },
+          /**
+           * Return an AsyncIterableIterator that works a page at a time
+           */
+          byPage: (settings = {}) => {
+            return this.listHierarchySegments(delimiter, settings.continuationToken, {
+              maxPageSize: settings.maxPageSize,
+              ...updatedOptions
+            });
+          }
+        };
+      }
+      /**
+       * The Filter Blobs operation enables callers to list blobs in the container whose tags
+       * match a given search expression.
+       *
+       * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                        The given expression must evaluate to true for a blob to be returned in the results.
+       *                                        The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                        however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param marker - A string value that identifies the portion of
+       *                          the list of blobs to be returned with the next listing operation. The
+       *                          operation returns the continuationToken value within the response body if the
+       *                          listing operation did not return all blobs remaining to be listed
+       *                          with the current page. The continuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of list
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to find blobs by tags.
+       */
+      async findBlobsByTagsSegment(tagFilterSqlExpression, marker, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-findBlobsByTagsSegment", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.filterBlobs({
+            abortSignal: options.abortSignal,
+            where: tagFilterSqlExpression,
+            marker,
+            maxPageSize: options.maxPageSize,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const wrappedResponse = {
+            ...response,
+            _response: response._response,
+            // _response is made non-enumerable
+            blobs: response.blobs.map((blob) => {
+              let tagValue = "";
+              if (blob.tags?.blobTagSet.length === 1) {
+                tagValue = blob.tags.blobTagSet[0].value;
+              }
+              return { ...blob, tags: (0, utils_common_js_1.toTags)(blob.tags), tagValue };
+            })
+          };
+          return wrappedResponse;
+        });
+      }
+      /**
+       * Returns an AsyncIterableIterator for ContainerFindBlobsByTagsSegmentResponse.
+       *
+       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                         The given expression must evaluate to true for a blob to be returned in the results.
+       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param marker - A string value that identifies the portion of
+       *                          the list of blobs to be returned with the next listing operation. The
+       *                          operation returns the continuationToken value within the response body if the
+       *                          listing operation did not return all blobs remaining to be listed
+       *                          with the current page. The continuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of list
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to find blobs by tags.
+       */
+      async *findBlobsByTagsSegments(tagFilterSqlExpression, marker, options = {}) {
+        let response;
+        if (!!marker || marker === void 0) {
+          do {
+            response = await this.findBlobsByTagsSegment(tagFilterSqlExpression, marker, options);
+            response.blobs = response.blobs || [];
+            marker = response.continuationToken;
+            yield response;
+          } while (marker);
+        }
+      }
+      /**
+       * Returns an AsyncIterableIterator for blobs.
+       *
+       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                         The given expression must evaluate to true for a blob to be returned in the results.
+       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param options - Options to findBlobsByTagsItems.
+       */
+      async *findBlobsByTagsItems(tagFilterSqlExpression, options = {}) {
+        let marker;
+        for await (const segment of this.findBlobsByTagsSegments(tagFilterSqlExpression, marker, options)) {
+          yield* segment.blobs;
+        }
+      }
+      /**
+       * Returns an async iterable iterator to find all blobs with specified tag
+       * under the specified container.
+       *
+       * .byPage() returns an async iterable iterator to list the blobs in pages.
+       *
+       * Example using `for await` syntax:
+       *
+       * ```ts snippet:ReadmeSampleFindBlobsByTags
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       *
+       * // Example using `for await` syntax
+       * let i = 1;
+       * for await (const blob of containerClient.findBlobsByTags("tagkey='tagvalue'")) {
+       *   console.log(`Blob ${i++}: ${blob.name}`);
+       * }
+       *
+       * // Example using `iter.next()` syntax
+       * i = 1;
+       * const iter = containerClient.findBlobsByTags("tagkey='tagvalue'");
+       * let { value, done } = await iter.next();
+       * while (!done) {
+       *   console.log(`Blob ${i++}: ${value.name}`);
+       *   ({ value, done } = await iter.next());
+       * }
+       *
+       * // Example using `byPage()` syntax
+       * i = 1;
+       * for await (const page of containerClient
+       *   .findBlobsByTags("tagkey='tagvalue'")
+       *   .byPage({ maxPageSize: 20 })) {
+       *   for (const blob of page.blobs) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       *
+       * // Example using paging with a marker
+       * i = 1;
+       * let iterator = containerClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 2 });
+       * let response = (await iterator.next()).value;
+       * // Prints 2 blob names
+       * if (response.blobs) {
+       *   for (const blob of response.blobs) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       * // Gets next marker
+       * let marker = response.continuationToken;
+       * // Passing next marker as continuationToken
+       * iterator = containerClient
+       *   .findBlobsByTags("tagkey='tagvalue'")
+       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
+       * response = (await iterator.next()).value;
+       * // Prints 10 blob names
+       * if (response.blobs) {
+       *   for (const blob of response.blobs) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       * ```
+       *
+       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                         The given expression must evaluate to true for a blob to be returned in the results.
+       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param options - Options to find blobs by tags.
+       */
+      findBlobsByTags(tagFilterSqlExpression, options = {}) {
+        const listSegmentOptions = {
+          ...options
+        };
+        const iter = this.findBlobsByTagsItems(tagFilterSqlExpression, listSegmentOptions);
+        return {
+          /**
+           * The next method, part of the iteration protocol
+           */
+          next() {
+            return iter.next();
+          },
+          /**
+           * The connection to the async iterator, part of the iteration protocol
+           */
+          [Symbol.asyncIterator]() {
+            return this;
+          },
+          /**
+           * Return an AsyncIterableIterator that works a page at a time
+           */
+          byPage: (settings = {}) => {
+            return this.findBlobsByTagsSegments(tagFilterSqlExpression, settings.continuationToken, {
+              maxPageSize: settings.maxPageSize,
+              ...listSegmentOptions
+            });
+          }
+        };
+      }
+      /**
+       * The Get Account Information operation returns the sku name and account kind
+       * for the specified account.
+       * The Get Account Information operation is available on service versions beginning
+       * with version 2018-03-28.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information
+       *
+       * @param options - Options to the Service Get Account Info operation.
+       * @returns Response data for the Service Get Account Info operation.
+       */
+      async getAccountInfo(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-getAccountInfo", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.containerContext.getAccountInfo({
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      getContainerNameFromUrl() {
+        let containerName;
+        try {
+          const parsedUrl = new URL(this.url);
+          if (parsedUrl.hostname.split(".")[1] === "blob") {
+            containerName = parsedUrl.pathname.split("/")[1];
+          } else if ((0, utils_common_js_1.isIpEndpointStyle)(parsedUrl)) {
+            containerName = parsedUrl.pathname.split("/")[2];
+          } else {
+            containerName = parsedUrl.pathname.split("/")[1];
+          }
+          containerName = decodeURIComponent(containerName);
+          if (!containerName) {
+            throw new Error("Provided containerName is invalid.");
+          }
+          return containerName;
+        } catch (error3) {
+          throw new Error("Unable to extract containerName with provided information.");
+        }
+      }
+      /**
+       * Only available for ContainerClient constructed with a shared key credential.
+       *
+       * Generates a Blob Container Service Shared Access Signature (SAS) URI based on the client properties
+       * and parameters passed in. The SAS is signed by the shared key credential of the client.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateSasUrl(options) {
+        return new Promise((resolve8) => {
+          if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
+            throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
+          }
+          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
+            containerName: this._containerName,
+            ...options
+          }, this.credential).toString();
+          resolve8((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
+        });
+      }
+      /**
+       * Only available for ContainerClient constructed with a shared key credential.
+       *
+       * Generates string to sign for a Blob Container Service Shared Access Signature (SAS) URI
+       * based on the client properties and parameters passed in. The SAS is signed by the shared key credential of the client.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/
+      generateSasStringToSign(options) {
+        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
+          throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
+        }
+        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
+          containerName: this._containerName,
+          ...options
+        }, this.credential).stringToSign;
+      }
+      /**
+       * Generates a Blob Container Service Shared Access Signature (SAS) URI based on the client properties
+       * and parameters passed in. The SAS is signed by the input user delegation key.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateUserDelegationSasUrl(options, userDelegationKey) {
+        return new Promise((resolve8) => {
+          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
+            containerName: this._containerName,
+            ...options
+          }, userDelegationKey, this.accountName).toString();
+          resolve8((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
+        });
+      }
+      /**
+       * Generates string to sign for a Blob Container Service Shared Access Signature (SAS) URI
+       * based on the client properties and parameters passed in. The SAS is signed by the input user delegation key.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateUserDelegationSasStringToSign(options, userDelegationKey) {
+        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
+          containerName: this._containerName,
+          ...options
+        }, userDelegationKey, this.accountName).stringToSign;
+      }
+      /**
+       * Creates a BlobBatchClient object to conduct batch operations.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch
+       *
+       * @returns A new BlobBatchClient object for this container.
+       */
+      getBlobBatchClient() {
+        return new BlobBatchClient_js_1.BlobBatchClient(this.url, this.pipeline);
+      }
+    };
+    exports2.ContainerClient = ContainerClient;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASPermissions.js
+var require_AccountSASPermissions = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASPermissions.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AccountSASPermissions = void 0;
+    var AccountSASPermissions = class _AccountSASPermissions {
+      /**
+       * Parse initializes the AccountSASPermissions fields from a string.
+       *
+       * @param permissions -
+       */
+      static parse(permissions) {
+        const accountSASPermissions = new _AccountSASPermissions();
+        for (const c of permissions) {
+          switch (c) {
+            case "r":
+              accountSASPermissions.read = true;
+              break;
+            case "w":
+              accountSASPermissions.write = true;
+              break;
+            case "d":
+              accountSASPermissions.delete = true;
+              break;
+            case "x":
+              accountSASPermissions.deleteVersion = true;
+              break;
+            case "l":
+              accountSASPermissions.list = true;
+              break;
+            case "a":
+              accountSASPermissions.add = true;
+              break;
+            case "c":
+              accountSASPermissions.create = true;
+              break;
+            case "u":
+              accountSASPermissions.update = true;
+              break;
+            case "p":
+              accountSASPermissions.process = true;
+              break;
+            case "t":
+              accountSASPermissions.tag = true;
+              break;
+            case "f":
+              accountSASPermissions.filter = true;
+              break;
+            case "i":
+              accountSASPermissions.setImmutabilityPolicy = true;
+              break;
+            case "y":
+              accountSASPermissions.permanentDelete = true;
+              break;
+            default:
+              throw new RangeError(`Invalid permission character: ${c}`);
+          }
+        }
+        return accountSASPermissions;
+      }
+      /**
+       * Creates a {@link AccountSASPermissions} from a raw object which contains same keys as it
+       * and boolean values for them.
+       *
+       * @param permissionLike -
+       */
+      static from(permissionLike) {
+        const accountSASPermissions = new _AccountSASPermissions();
+        if (permissionLike.read) {
+          accountSASPermissions.read = true;
+        }
+        if (permissionLike.write) {
+          accountSASPermissions.write = true;
+        }
+        if (permissionLike.delete) {
+          accountSASPermissions.delete = true;
+        }
+        if (permissionLike.deleteVersion) {
+          accountSASPermissions.deleteVersion = true;
+        }
+        if (permissionLike.filter) {
+          accountSASPermissions.filter = true;
+        }
+        if (permissionLike.tag) {
+          accountSASPermissions.tag = true;
+        }
+        if (permissionLike.list) {
+          accountSASPermissions.list = true;
+        }
+        if (permissionLike.add) {
+          accountSASPermissions.add = true;
+        }
+        if (permissionLike.create) {
+          accountSASPermissions.create = true;
+        }
+        if (permissionLike.update) {
+          accountSASPermissions.update = true;
+        }
+        if (permissionLike.process) {
+          accountSASPermissions.process = true;
+        }
+        if (permissionLike.setImmutabilityPolicy) {
+          accountSASPermissions.setImmutabilityPolicy = true;
+        }
+        if (permissionLike.permanentDelete) {
+          accountSASPermissions.permanentDelete = true;
+        }
+        return accountSASPermissions;
+      }
+      /**
+       * Permission to read resources and list queues and tables granted.
+       */
+      read = false;
+      /**
+       * Permission to write resources granted.
+       */
+      write = false;
+      /**
+       * Permission to delete blobs and files granted.
+       */
+      delete = false;
+      /**
+       * Permission to delete versions granted.
+       */
+      deleteVersion = false;
+      /**
+       * Permission to list blob containers, blobs, shares, directories, and files granted.
+       */
+      list = false;
+      /**
+       * Permission to add messages, table entities, and append to blobs granted.
+       */
+      add = false;
+      /**
+       * Permission to create blobs and files granted.
+       */
+      create = false;
+      /**
+       * Permissions to update messages and table entities granted.
+       */
+      update = false;
+      /**
+       * Permission to get and delete messages granted.
+       */
+      process = false;
+      /**
+       * Specfies Tag access granted.
+       */
+      tag = false;
+      /**
+       * Permission to filter blobs.
+       */
+      filter = false;
+      /**
+       * Permission to set immutability policy.
+       */
+      setImmutabilityPolicy = false;
+      /**
+       * Specifies that Permanent Delete is permitted.
+       */
+      permanentDelete = false;
+      /**
+       * Produces the SAS permissions string for an Azure Storage account.
+       * Call this method to set AccountSASSignatureValues Permissions field.
+       *
+       * Using this method will guarantee the resource types are in
+       * an order accepted by the service.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas
+       *
+       */
+      toString() {
+        const permissions = [];
+        if (this.read) {
+          permissions.push("r");
+        }
+        if (this.write) {
+          permissions.push("w");
+        }
+        if (this.delete) {
+          permissions.push("d");
+        }
+        if (this.deleteVersion) {
+          permissions.push("x");
+        }
+        if (this.filter) {
+          permissions.push("f");
+        }
+        if (this.tag) {
+          permissions.push("t");
+        }
+        if (this.list) {
+          permissions.push("l");
+        }
+        if (this.add) {
+          permissions.push("a");
+        }
+        if (this.create) {
+          permissions.push("c");
+        }
+        if (this.update) {
+          permissions.push("u");
+        }
+        if (this.process) {
+          permissions.push("p");
+        }
+        if (this.setImmutabilityPolicy) {
+          permissions.push("i");
+        }
+        if (this.permanentDelete) {
+          permissions.push("y");
+        }
+        return permissions.join("");
+      }
+    };
+    exports2.AccountSASPermissions = AccountSASPermissions;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASResourceTypes.js
+var require_AccountSASResourceTypes = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASResourceTypes.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AccountSASResourceTypes = void 0;
+    var AccountSASResourceTypes = class _AccountSASResourceTypes {
+      /**
+       * Creates an {@link AccountSASResourceTypes} from the specified resource types string. This method will throw an
+       * Error if it encounters a character that does not correspond to a valid resource type.
+       *
+       * @param resourceTypes -
+       */
+      static parse(resourceTypes) {
+        const accountSASResourceTypes = new _AccountSASResourceTypes();
+        for (const c of resourceTypes) {
+          switch (c) {
+            case "s":
+              accountSASResourceTypes.service = true;
+              break;
+            case "c":
+              accountSASResourceTypes.container = true;
+              break;
+            case "o":
+              accountSASResourceTypes.object = true;
+              break;
+            default:
+              throw new RangeError(`Invalid resource type: ${c}`);
+          }
+        }
+        return accountSASResourceTypes;
+      }
+      /**
+       * Permission to access service level APIs granted.
+       */
+      service = false;
+      /**
+       * Permission to access container level APIs (Blob Containers, Tables, Queues, File Shares) granted.
+       */
+      container = false;
+      /**
+       * Permission to access object level APIs (Blobs, Table Entities, Queue Messages, Files) granted.
+       */
+      object = false;
+      /**
+       * Converts the given resource types to a string.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas
+       *
+       */
+      toString() {
+        const resourceTypes = [];
+        if (this.service) {
+          resourceTypes.push("s");
+        }
+        if (this.container) {
+          resourceTypes.push("c");
+        }
+        if (this.object) {
+          resourceTypes.push("o");
+        }
+        return resourceTypes.join("");
+      }
+    };
+    exports2.AccountSASResourceTypes = AccountSASResourceTypes;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASServices.js
+var require_AccountSASServices = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASServices.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AccountSASServices = void 0;
+    var AccountSASServices = class _AccountSASServices {
+      /**
+       * Creates an {@link AccountSASServices} from the specified services string. This method will throw an
+       * Error if it encounters a character that does not correspond to a valid service.
+       *
+       * @param services -
+       */
+      static parse(services) {
+        const accountSASServices = new _AccountSASServices();
+        for (const c of services) {
+          switch (c) {
+            case "b":
+              accountSASServices.blob = true;
+              break;
+            case "f":
+              accountSASServices.file = true;
+              break;
+            case "q":
+              accountSASServices.queue = true;
+              break;
+            case "t":
+              accountSASServices.table = true;
+              break;
+            default:
+              throw new RangeError(`Invalid service character: ${c}`);
+          }
+        }
+        return accountSASServices;
+      }
+      /**
+       * Permission to access blob resources granted.
+       */
+      blob = false;
+      /**
+       * Permission to access file resources granted.
+       */
+      file = false;
+      /**
+       * Permission to access queue resources granted.
+       */
+      queue = false;
+      /**
+       * Permission to access table resources granted.
+       */
+      table = false;
+      /**
+       * Converts the given services to a string.
+       *
+       */
+      toString() {
+        const services = [];
+        if (this.blob) {
+          services.push("b");
+        }
+        if (this.table) {
+          services.push("t");
+        }
+        if (this.queue) {
+          services.push("q");
+        }
+        if (this.file) {
+          services.push("f");
+        }
+        return services.join("");
+      }
+    };
+    exports2.AccountSASServices = AccountSASServices;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASSignatureValues.js
+var require_AccountSASSignatureValues = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASSignatureValues.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.generateAccountSASQueryParameters = generateAccountSASQueryParameters;
+    exports2.generateAccountSASQueryParametersInternal = generateAccountSASQueryParametersInternal;
+    var AccountSASPermissions_js_1 = require_AccountSASPermissions();
+    var AccountSASResourceTypes_js_1 = require_AccountSASResourceTypes();
+    var AccountSASServices_js_1 = require_AccountSASServices();
+    var SasIPRange_js_1 = require_SasIPRange();
+    var SASQueryParameters_js_1 = require_SASQueryParameters();
+    var constants_js_1 = require_constants15();
+    var utils_common_js_1 = require_utils_common();
+    function generateAccountSASQueryParameters(accountSASSignatureValues, sharedKeyCredential) {
+      return generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential).sasQueryParameters;
+    }
+    function generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential) {
+      const version = accountSASSignatureValues.version ? accountSASSignatureValues.version : constants_js_1.SERVICE_VERSION;
+      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.setImmutabilityPolicy && version < "2020-08-04") {
+        throw RangeError("'version' must be >= '2020-08-04' when provided 'i' permission.");
+      }
+      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.deleteVersion && version < "2019-10-10") {
+        throw RangeError("'version' must be >= '2019-10-10' when provided 'x' permission.");
+      }
+      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.permanentDelete && version < "2019-10-10") {
+        throw RangeError("'version' must be >= '2019-10-10' when provided 'y' permission.");
+      }
+      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.tag && version < "2019-12-12") {
+        throw RangeError("'version' must be >= '2019-12-12' when provided 't' permission.");
+      }
+      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.filter && version < "2019-12-12") {
+        throw RangeError("'version' must be >= '2019-12-12' when provided 'f' permission.");
+      }
+      if (accountSASSignatureValues.encryptionScope && version < "2020-12-06") {
+        throw RangeError("'version' must be >= '2020-12-06' when provided 'encryptionScope' in SAS.");
+      }
+      const parsedPermissions = AccountSASPermissions_js_1.AccountSASPermissions.parse(accountSASSignatureValues.permissions.toString());
+      const parsedServices = AccountSASServices_js_1.AccountSASServices.parse(accountSASSignatureValues.services).toString();
+      const parsedResourceTypes = AccountSASResourceTypes_js_1.AccountSASResourceTypes.parse(accountSASSignatureValues.resourceTypes).toString();
+      let stringToSign;
+      if (version >= "2020-12-06") {
+        stringToSign = [
+          sharedKeyCredential.accountName,
+          parsedPermissions,
+          parsedServices,
+          parsedResourceTypes,
+          accountSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.startsOn, false) : "",
+          (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.expiresOn, false),
+          accountSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(accountSASSignatureValues.ipRange) : "",
+          accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : "",
+          version,
+          accountSASSignatureValues.encryptionScope ? accountSASSignatureValues.encryptionScope : "",
+          ""
+          // Account SAS requires an additional newline character
+        ].join("\n");
+      } else {
+        stringToSign = [
+          sharedKeyCredential.accountName,
+          parsedPermissions,
+          parsedServices,
+          parsedResourceTypes,
+          accountSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.startsOn, false) : "",
+          (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.expiresOn, false),
+          accountSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(accountSASSignatureValues.ipRange) : "",
+          accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : "",
+          version,
+          ""
+          // Account SAS requires an additional newline character
+        ].join("\n");
+      }
+      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(version, signature, parsedPermissions.toString(), parsedServices, parsedResourceTypes, accountSASSignatureValues.protocol, accountSASSignatureValues.startsOn, accountSASSignatureValues.expiresOn, accountSASSignatureValues.ipRange, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, accountSASSignatureValues.encryptionScope),
+        stringToSign
+      };
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BlobServiceClient.js
+var require_BlobServiceClient = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BlobServiceClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobServiceClient = void 0;
+    var core_auth_1 = require_commonjs7();
+    var core_rest_pipeline_1 = require_commonjs6();
+    var core_util_1 = require_commonjs4();
+    var Pipeline_js_1 = require_Pipeline();
+    var ContainerClient_js_1 = require_ContainerClient();
+    var utils_common_js_1 = require_utils_common();
+    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
+    var AnonymousCredential_js_1 = require_AnonymousCredential();
+    var utils_common_js_2 = require_utils_common();
+    var tracing_js_1 = require_tracing();
+    var BlobBatchClient_js_1 = require_BlobBatchClient();
+    var StorageClient_js_1 = require_StorageClient();
+    var AccountSASPermissions_js_1 = require_AccountSASPermissions();
+    var AccountSASSignatureValues_js_1 = require_AccountSASSignatureValues();
+    var AccountSASServices_js_1 = require_AccountSASServices();
+    var BlobServiceClient = class _BlobServiceClient extends StorageClient_js_1.StorageClient {
+      /**
+       * serviceContext provided by protocol layer.
+       */
+      serviceContext;
+      /**
+       *
+       * Creates an instance of BlobServiceClient from connection string.
+       *
+       * @param connectionString - Account connection string or a SAS connection string of an Azure storage account.
+       *                                  [ Note - Account connection string can only be used in NODE.JS runtime. ]
+       *                                  Account connection string example -
+       *                                  `DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=accountKey;EndpointSuffix=core.windows.net`
+       *                                  SAS connection string example -
+       *                                  `BlobEndpoint=https://myaccount.blob.core.windows.net/;QueueEndpoint=https://myaccount.queue.core.windows.net/;FileEndpoint=https://myaccount.file.core.windows.net/;TableEndpoint=https://myaccount.table.core.windows.net/;SharedAccessSignature=sasString`
+       * @param options - Optional. Options to configure the HTTP pipeline.
+       */
+      static fromConnectionString(connectionString, options) {
+        options = options || {};
+        const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(connectionString);
+        if (extractedCreds.kind === "AccountConnString") {
+          if (core_util_1.isNodeLike) {
+            const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
+            if (!options.proxyOptions) {
+              options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+            }
+            const pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+            return new _BlobServiceClient(extractedCreds.url, pipeline);
+          } else {
+            throw new Error("Account connection string is only supported in Node.js environment");
+          }
+        } else if (extractedCreds.kind === "SASConnString") {
+          const pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+          return new _BlobServiceClient(extractedCreds.url + "?" + extractedCreds.accountSas, pipeline);
+        } else {
+          throw new Error("Connection string must be either an Account connection string or a SAS connection string");
+        }
+      }
+      constructor(url2, credentialOrPipeline, options) {
+        let pipeline;
+        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipeline)) {
+          pipeline = credentialOrPipeline;
+        } else if (core_util_1.isNodeLike && credentialOrPipeline instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipeline instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipeline)) {
+          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipeline, options);
+        } else {
+          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+        }
+        super(url2, pipeline);
+        this.serviceContext = this.storageClientContext.service;
+      }
+      /**
+       * Creates a {@link ContainerClient} object
+       *
+       * @param containerName - A container name
+       * @returns A new ContainerClient object for the given container name.
+       *
+       * Example usage:
+       *
+       * ```ts snippet:BlobServiceClientGetContainerClient
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerClient = blobServiceClient.getContainerClient("");
+       * ```
+       */
+      getContainerClient(containerName) {
+        return new ContainerClient_js_1.ContainerClient((0, utils_common_js_1.appendToURLPath)(this.url, encodeURIComponent(containerName)), this.pipeline);
+      }
+      /**
+       * Create a Blob container. @see https://learn.microsoft.com/rest/api/storageservices/create-container
+       *
+       * @param containerName - Name of the container to create.
+       * @param options - Options to configure Container Create operation.
+       * @returns Container creation response and the corresponding container client.
+       */
+      async createContainer(containerName, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-createContainer", options, async (updatedOptions) => {
+          const containerClient = this.getContainerClient(containerName);
+          const containerCreateResponse = await containerClient.create(updatedOptions);
+          return {
+            containerClient,
+            containerCreateResponse
+          };
+        });
+      }
+      /**
+       * Deletes a Blob container.
+       *
+       * @param containerName - Name of the container to delete.
+       * @param options - Options to configure Container Delete operation.
+       * @returns Container deletion response.
+       */
+      async deleteContainer(containerName, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-deleteContainer", options, async (updatedOptions) => {
+          const containerClient = this.getContainerClient(containerName);
+          return containerClient.delete(updatedOptions);
+        });
+      }
+      /**
+       * Restore a previously deleted Blob container.
+       * This API is only functional if Container Soft Delete is enabled for the storage account associated with the container.
+       *
+       * @param deletedContainerName - Name of the previously deleted container.
+       * @param deletedContainerVersion - Version of the previously deleted container, used to uniquely identify the deleted container.
+       * @param options - Options to configure Container Restore operation.
+       * @returns Container deletion response.
+       */
+      async undeleteContainer(deletedContainerName, deletedContainerVersion, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-undeleteContainer", options, async (updatedOptions) => {
+          const containerClient = this.getContainerClient(options.destinationContainerName || deletedContainerName);
+          const containerContext = containerClient["storageClientContext"].container;
+          const containerUndeleteResponse = (0, utils_common_js_2.assertResponse)(await containerContext.restore({
+            deletedContainerName,
+            deletedContainerVersion,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          return { containerClient, containerUndeleteResponse };
+        });
+      }
+      /**
+       * Gets the properties of a storage account’s Blob service, including properties
+       * for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-properties
+       *
+       * @param options - Options to the Service Get Properties operation.
+       * @returns Response data for the Service Get Properties operation.
+       */
+      async getProperties(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getProperties", options, async (updatedOptions) => {
+          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getProperties({
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Sets properties for a storage account’s Blob service endpoint, including properties
+       * for Storage Analytics, CORS (Cross-Origin Resource Sharing) rules and soft delete settings.
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-service-properties
+       *
+       * @param properties -
+       * @param options - Options to the Service Set Properties operation.
+       * @returns Response data for the Service Set Properties operation.
+       */
+      async setProperties(properties, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-setProperties", options, async (updatedOptions) => {
+          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.setProperties(properties, {
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Retrieves statistics related to replication for the Blob service. It is only
+       * available on the secondary location endpoint when read-access geo-redundant
+       * replication is enabled for the storage account.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-stats
+       *
+       * @param options - Options to the Service Get Statistics operation.
+       * @returns Response data for the Service Get Statistics operation.
+       */
+      async getStatistics(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getStatistics", options, async (updatedOptions) => {
+          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getStatistics({
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * The Get Account Information operation returns the sku name and account kind
+       * for the specified account.
+       * The Get Account Information operation is available on service versions beginning
+       * with version 2018-03-28.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information
+       *
+       * @param options - Options to the Service Get Account Info operation.
+       * @returns Response data for the Service Get Account Info operation.
+       */
+      async getAccountInfo(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getAccountInfo", options, async (updatedOptions) => {
+          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getAccountInfo({
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Returns a list of the containers under the specified account.
+       * @see https://learn.microsoft.com/rest/api/storageservices/list-containers2
+       *
+       * @param marker - A string value that identifies the portion of
+       *                        the list of containers to be returned with the next listing operation. The
+       *                        operation returns the continuationToken value within the response body if the
+       *                        listing operation did not return all containers remaining to be listed
+       *                        with the current page. The continuationToken value can be used as the value for
+       *                        the marker parameter in a subsequent call to request the next page of list
+       *                        items. The marker value is opaque to the client.
+       * @param options - Options to the Service List Container Segment operation.
+       * @returns Response data for the Service List Container Segment operation.
+       */
+      async listContainersSegment(marker, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-listContainersSegment", options, async (updatedOptions) => {
+          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.listContainersSegment({
+            abortSignal: options.abortSignal,
+            marker,
+            ...options,
+            include: typeof options.include === "string" ? [options.include] : options.include,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * The Filter Blobs operation enables callers to list blobs across all containers whose tags
+       * match a given search expression. Filter blobs searches across all containers within a
+       * storage account but can be scoped within the expression to a single container.
+       *
+       * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                        The given expression must evaluate to true for a blob to be returned in the results.
+       *                                        The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                        however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param marker - A string value that identifies the portion of
+       *                          the list of blobs to be returned with the next listing operation. The
+       *                          operation returns the continuationToken value within the response body if the
+       *                          listing operation did not return all blobs remaining to be listed
+       *                          with the current page. The continuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of list
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to find blobs by tags.
+       */
+      async findBlobsByTagsSegment(tagFilterSqlExpression, marker, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-findBlobsByTagsSegment", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_2.assertResponse)(await this.serviceContext.filterBlobs({
+            abortSignal: options.abortSignal,
+            where: tagFilterSqlExpression,
+            marker,
+            maxPageSize: options.maxPageSize,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const wrappedResponse = {
+            ...response,
+            _response: response._response,
+            // _response is made non-enumerable
+            blobs: response.blobs.map((blob) => {
+              let tagValue = "";
+              if (blob.tags?.blobTagSet.length === 1) {
+                tagValue = blob.tags.blobTagSet[0].value;
+              }
+              return { ...blob, tags: (0, utils_common_js_1.toTags)(blob.tags), tagValue };
+            })
+          };
+          return wrappedResponse;
+        });
+      }
+      /**
+       * Returns an AsyncIterableIterator for ServiceFindBlobsByTagsSegmentResponse.
+       *
+       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                         The given expression must evaluate to true for a blob to be returned in the results.
+       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param marker - A string value that identifies the portion of
+       *                          the list of blobs to be returned with the next listing operation. The
+       *                          operation returns the continuationToken value within the response body if the
+       *                          listing operation did not return all blobs remaining to be listed
+       *                          with the current page. The continuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of list
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to find blobs by tags.
+       */
+      async *findBlobsByTagsSegments(tagFilterSqlExpression, marker, options = {}) {
+        let response;
+        if (!!marker || marker === void 0) {
+          do {
+            response = await this.findBlobsByTagsSegment(tagFilterSqlExpression, marker, options);
+            response.blobs = response.blobs || [];
+            marker = response.continuationToken;
+            yield response;
+          } while (marker);
+        }
+      }
+      /**
+       * Returns an AsyncIterableIterator for blobs.
+       *
+       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                         The given expression must evaluate to true for a blob to be returned in the results.
+       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param options - Options to findBlobsByTagsItems.
+       */
+      async *findBlobsByTagsItems(tagFilterSqlExpression, options = {}) {
+        let marker;
+        for await (const segment of this.findBlobsByTagsSegments(tagFilterSqlExpression, marker, options)) {
+          yield* segment.blobs;
+        }
+      }
+      /**
+       * Returns an async iterable iterator to find all blobs with specified tag
+       * under the specified account.
+       *
+       * .byPage() returns an async iterable iterator to list the blobs in pages.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-properties
+       *
+       * ```ts snippet:BlobServiceClientFindBlobsByTags
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * // Use for await to iterate the blobs
+       * let i = 1;
+       * for await (const blob of blobServiceClient.findBlobsByTags("tagkey='tagvalue'")) {
+       *   console.log(`Blob ${i++}: ${blob.name}`);
+       * }
+       *
+       * // Use iter.next() to iterate the blobs
+       * i = 1;
+       * const iter = blobServiceClient.findBlobsByTags("tagkey='tagvalue'");
+       * let { value, done } = await iter.next();
+       * while (!done) {
+       *   console.log(`Blob ${i++}: ${value.name}`);
+       *   ({ value, done } = await iter.next());
+       * }
+       *
+       * // Use byPage() to iterate the blobs
+       * i = 1;
+       * for await (const page of blobServiceClient
+       *   .findBlobsByTags("tagkey='tagvalue'")
+       *   .byPage({ maxPageSize: 20 })) {
+       *   for (const blob of page.blobs) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       *
+       * // Use paging with a marker
+       * i = 1;
+       * let iterator = blobServiceClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 2 });
+       * let response = (await iterator.next()).value;
+       * // Prints 2 blob names
+       * if (response.blobs) {
+       *   for (const blob of response.blobs) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       * // Gets next marker
+       * let marker = response.continuationToken;
+       * // Passing next marker as continuationToken
+       * iterator = blobServiceClient
+       *   .findBlobsByTags("tagkey='tagvalue'")
+       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
+       * response = (await iterator.next()).value;
+       *
+       * // Prints blob names
+       * if (response.blobs) {
+       *   for (const blob of response.blobs) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       * ```
+       *
+       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                         The given expression must evaluate to true for a blob to be returned in the results.
+       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param options - Options to find blobs by tags.
+       */
+      findBlobsByTags(tagFilterSqlExpression, options = {}) {
+        const listSegmentOptions = {
+          ...options
+        };
+        const iter = this.findBlobsByTagsItems(tagFilterSqlExpression, listSegmentOptions);
+        return {
+          /**
+           * The next method, part of the iteration protocol
+           */
+          next() {
+            return iter.next();
+          },
+          /**
+           * The connection to the async iterator, part of the iteration protocol
+           */
+          [Symbol.asyncIterator]() {
+            return this;
+          },
+          /**
+           * Return an AsyncIterableIterator that works a page at a time
+           */
+          byPage: (settings = {}) => {
+            return this.findBlobsByTagsSegments(tagFilterSqlExpression, settings.continuationToken, {
+              maxPageSize: settings.maxPageSize,
+              ...listSegmentOptions
+            });
+          }
+        };
+      }
+      /**
+       * Returns an AsyncIterableIterator for ServiceListContainersSegmentResponses
+       *
+       * @param marker - A string value that identifies the portion of
+       *                        the list of containers to be returned with the next listing operation. The
+       *                        operation returns the continuationToken value within the response body if the
+       *                        listing operation did not return all containers remaining to be listed
+       *                        with the current page. The continuationToken value can be used as the value for
+       *                        the marker parameter in a subsequent call to request the next page of list
+       *                        items. The marker value is opaque to the client.
+       * @param options - Options to list containers operation.
+       */
+      async *listSegments(marker, options = {}) {
+        let listContainersSegmentResponse;
+        if (!!marker || marker === void 0) {
+          do {
+            listContainersSegmentResponse = await this.listContainersSegment(marker, options);
+            listContainersSegmentResponse.containerItems = listContainersSegmentResponse.containerItems || [];
+            marker = listContainersSegmentResponse.continuationToken;
+            yield await listContainersSegmentResponse;
+          } while (marker);
+        }
+      }
+      /**
+       * Returns an AsyncIterableIterator for Container Items
+       *
+       * @param options - Options to list containers operation.
+       */
+      async *listItems(options = {}) {
+        let marker;
+        for await (const segment of this.listSegments(marker, options)) {
+          yield* segment.containerItems;
+        }
+      }
+      /**
+       * Returns an async iterable iterator to list all the containers
+       * under the specified account.
+       *
+       * .byPage() returns an async iterable iterator to list the containers in pages.
+       *
+       * ```ts snippet:BlobServiceClientListContainers
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * // Use for await to iterate the containers
+       * let i = 1;
+       * for await (const container of blobServiceClient.listContainers()) {
+       *   console.log(`Container ${i++}: ${container.name}`);
+       * }
+       *
+       * // Use iter.next() to iterate the containers
+       * i = 1;
+       * const iter = blobServiceClient.listContainers();
+       * let { value, done } = await iter.next();
+       * while (!done) {
+       *   console.log(`Container ${i++}: ${value.name}`);
+       *   ({ value, done } = await iter.next());
+       * }
+       *
+       * // Use byPage() to iterate the containers
+       * i = 1;
+       * for await (const page of blobServiceClient.listContainers().byPage({ maxPageSize: 20 })) {
+       *   for (const container of page.containerItems) {
+       *     console.log(`Container ${i++}: ${container.name}`);
+       *   }
+       * }
+       *
+       * // Use paging with a marker
+       * i = 1;
+       * let iterator = blobServiceClient.listContainers().byPage({ maxPageSize: 2 });
+       * let response = (await iterator.next()).value;
+       *
+       * // Prints 2 container names
+       * if (response.containerItems) {
+       *   for (const container of response.containerItems) {
+       *     console.log(`Container ${i++}: ${container.name}`);
+       *   }
+       * }
+       *
+       * // Gets next marker
+       * let marker = response.continuationToken;
+       * // Passing next marker as continuationToken
+       * iterator = blobServiceClient
+       *   .listContainers()
+       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
+       * response = (await iterator.next()).value;
+       *
+       * // Prints 10 container names
+       * if (response.containerItems) {
+       *   for (const container of response.containerItems) {
+       *     console.log(`Container ${i++}: ${container.name}`);
+       *   }
+       * }
+       * ```
+       *
+       * @param options - Options to list containers.
+       * @returns An asyncIterableIterator that supports paging.
+       */
+      listContainers(options = {}) {
+        if (options.prefix === "") {
+          options.prefix = void 0;
+        }
+        const include = [];
+        if (options.includeDeleted) {
+          include.push("deleted");
+        }
+        if (options.includeMetadata) {
+          include.push("metadata");
+        }
+        if (options.includeSystem) {
+          include.push("system");
+        }
+        const listSegmentOptions = {
+          ...options,
+          ...include.length > 0 ? { include } : {}
+        };
+        const iter = this.listItems(listSegmentOptions);
+        return {
+          /**
+           * The next method, part of the iteration protocol
+           */
+          next() {
+            return iter.next();
+          },
+          /**
+           * The connection to the async iterator, part of the iteration protocol
+           */
+          [Symbol.asyncIterator]() {
+            return this;
+          },
+          /**
+           * Return an AsyncIterableIterator that works a page at a time
+           */
+          byPage: (settings = {}) => {
+            return this.listSegments(settings.continuationToken, {
+              maxPageSize: settings.maxPageSize,
+              ...listSegmentOptions
+            });
+          }
+        };
+      }
+      /**
+       * ONLY AVAILABLE WHEN USING BEARER TOKEN AUTHENTICATION (TokenCredential).
+       *
+       * Retrieves a user delegation key for the Blob service. This is only a valid operation when using
+       * bearer token authentication.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-user-delegation-key
+       *
+       * @param startsOn -      The start time for the user delegation SAS. Must be within 7 days of the current time
+       * @param expiresOn -     The end time for the user delegation SAS. Must be within 7 days of the current time
+       */
+      async getUserDelegationKey(startsOn, expiresOn, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getUserDelegationKey", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_2.assertResponse)(await this.serviceContext.getUserDelegationKey({
+            startsOn: (0, utils_common_js_2.truncatedISO8061Date)(startsOn, false),
+            expiresOn: (0, utils_common_js_2.truncatedISO8061Date)(expiresOn, false)
+          }, {
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const userDelegationKey = {
+            signedObjectId: response.signedObjectId,
+            signedTenantId: response.signedTenantId,
+            signedStartsOn: new Date(response.signedStartsOn),
+            signedExpiresOn: new Date(response.signedExpiresOn),
+            signedService: response.signedService,
+            signedVersion: response.signedVersion,
+            value: response.value
+          };
+          const res = {
+            _response: response._response,
+            requestId: response.requestId,
+            clientRequestId: response.clientRequestId,
+            version: response.version,
+            date: response.date,
+            errorCode: response.errorCode,
+            ...userDelegationKey
+          };
+          return res;
+        });
+      }
+      /**
+       * Creates a BlobBatchClient object to conduct batch operations.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch
+       *
+       * @returns A new BlobBatchClient object for this service.
+       */
+      getBlobBatchClient() {
+        return new BlobBatchClient_js_1.BlobBatchClient(this.url, this.pipeline);
+      }
+      /**
+       * Only available for BlobServiceClient constructed with a shared key credential.
+       *
+       * Generates a Blob account Shared Access Signature (SAS) URI based on the client properties
+       * and parameters passed in. The SAS is signed by the shared key credential of the client.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/create-account-sas
+       *
+       * @param expiresOn - Optional. The time at which the shared access signature becomes invalid. Default to an hour later if not provided.
+       * @param permissions - Specifies the list of permissions to be associated with the SAS.
+       * @param resourceTypes - Specifies the resource types associated with the shared access signature.
+       * @param options - Optional parameters.
+       * @returns An account SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateAccountSasUrl(expiresOn, permissions = AccountSASPermissions_js_1.AccountSASPermissions.parse("r"), resourceTypes = "sco", options = {}) {
+        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
+          throw RangeError("Can only generate the account SAS when the client is initialized with a shared key credential");
+        }
+        if (expiresOn === void 0) {
+          const now = /* @__PURE__ */ new Date();
+          expiresOn = new Date(now.getTime() + 3600 * 1e3);
+        }
+        const sas = (0, AccountSASSignatureValues_js_1.generateAccountSASQueryParameters)({
+          permissions,
+          expiresOn,
+          resourceTypes,
+          services: AccountSASServices_js_1.AccountSASServices.parse("b").toString(),
+          ...options
+        }, this.credential).toString();
+        return (0, utils_common_js_1.appendToURLQuery)(this.url, sas);
+      }
+      /**
+       * Only available for BlobServiceClient constructed with a shared key credential.
+       *
+       * Generates string to sign for a Blob account Shared Access Signature (SAS) URI based on
+       * the client properties and parameters passed in. The SAS is signed by the shared key credential of the client.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/create-account-sas
+       *
+       * @param expiresOn - Optional. The time at which the shared access signature becomes invalid. Default to an hour later if not provided.
+       * @param permissions - Specifies the list of permissions to be associated with the SAS.
+       * @param resourceTypes - Specifies the resource types associated with the shared access signature.
+       * @param options - Optional parameters.
+       * @returns An account SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateSasStringToSign(expiresOn, permissions = AccountSASPermissions_js_1.AccountSASPermissions.parse("r"), resourceTypes = "sco", options = {}) {
+        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
+          throw RangeError("Can only generate the account SAS when the client is initialized with a shared key credential");
+        }
+        if (expiresOn === void 0) {
+          const now = /* @__PURE__ */ new Date();
+          expiresOn = new Date(now.getTime() + 3600 * 1e3);
+        }
+        return (0, AccountSASSignatureValues_js_1.generateAccountSASQueryParametersInternal)({
+          permissions,
+          expiresOn,
+          resourceTypes,
+          services: AccountSASServices_js_1.AccountSASServices.parse("b").toString(),
+          ...options
+        }, this.credential).stringToSign;
+      }
+    };
+    exports2.BlobServiceClient = BlobServiceClient;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BatchResponse.js
+var require_BatchResponse = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BatchResponse.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generatedModels.js
+var require_generatedModels = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generatedModels.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.KnownEncryptionAlgorithmType = void 0;
+    var KnownEncryptionAlgorithmType;
+    (function(KnownEncryptionAlgorithmType2) {
+      KnownEncryptionAlgorithmType2["AES256"] = "AES256";
+    })(KnownEncryptionAlgorithmType || (exports2.KnownEncryptionAlgorithmType = KnownEncryptionAlgorithmType = {}));
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/index.js
+var require_commonjs15 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.logger = exports2.RestError = exports2.BaseRequestPolicy = exports2.StorageOAuthScopes = exports2.newPipeline = exports2.isPipelineLike = exports2.Pipeline = exports2.getBlobServiceAccountAudience = exports2.StorageBlobAudience = exports2.PremiumPageBlobTier = exports2.BlockBlobTier = exports2.generateBlobSASQueryParameters = exports2.generateAccountSASQueryParameters = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var core_rest_pipeline_1 = require_commonjs6();
+    Object.defineProperty(exports2, "RestError", { enumerable: true, get: function() {
+      return core_rest_pipeline_1.RestError;
+    } });
+    tslib_1.__exportStar(require_BlobServiceClient(), exports2);
+    tslib_1.__exportStar(require_Clients(), exports2);
+    tslib_1.__exportStar(require_ContainerClient(), exports2);
+    tslib_1.__exportStar(require_BlobLeaseClient(), exports2);
+    tslib_1.__exportStar(require_AccountSASPermissions(), exports2);
+    tslib_1.__exportStar(require_AccountSASResourceTypes(), exports2);
+    tslib_1.__exportStar(require_AccountSASServices(), exports2);
+    var AccountSASSignatureValues_js_1 = require_AccountSASSignatureValues();
+    Object.defineProperty(exports2, "generateAccountSASQueryParameters", { enumerable: true, get: function() {
+      return AccountSASSignatureValues_js_1.generateAccountSASQueryParameters;
+    } });
+    tslib_1.__exportStar(require_BlobBatch(), exports2);
+    tslib_1.__exportStar(require_BlobBatchClient(), exports2);
+    tslib_1.__exportStar(require_BatchResponse(), exports2);
+    tslib_1.__exportStar(require_BlobSASPermissions(), exports2);
+    var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues();
+    Object.defineProperty(exports2, "generateBlobSASQueryParameters", { enumerable: true, get: function() {
+      return BlobSASSignatureValues_js_1.generateBlobSASQueryParameters;
+    } });
+    tslib_1.__exportStar(require_StorageBrowserPolicyFactory2(), exports2);
+    tslib_1.__exportStar(require_ContainerSASPermissions(), exports2);
+    tslib_1.__exportStar(require_AnonymousCredential(), exports2);
+    tslib_1.__exportStar(require_Credential(), exports2);
+    tslib_1.__exportStar(require_StorageSharedKeyCredential(), exports2);
+    var models_js_1 = require_models2();
+    Object.defineProperty(exports2, "BlockBlobTier", { enumerable: true, get: function() {
+      return models_js_1.BlockBlobTier;
+    } });
+    Object.defineProperty(exports2, "PremiumPageBlobTier", { enumerable: true, get: function() {
+      return models_js_1.PremiumPageBlobTier;
+    } });
+    Object.defineProperty(exports2, "StorageBlobAudience", { enumerable: true, get: function() {
+      return models_js_1.StorageBlobAudience;
+    } });
+    Object.defineProperty(exports2, "getBlobServiceAccountAudience", { enumerable: true, get: function() {
+      return models_js_1.getBlobServiceAccountAudience;
+    } });
+    var Pipeline_js_1 = require_Pipeline();
+    Object.defineProperty(exports2, "Pipeline", { enumerable: true, get: function() {
+      return Pipeline_js_1.Pipeline;
+    } });
+    Object.defineProperty(exports2, "isPipelineLike", { enumerable: true, get: function() {
+      return Pipeline_js_1.isPipelineLike;
+    } });
+    Object.defineProperty(exports2, "newPipeline", { enumerable: true, get: function() {
+      return Pipeline_js_1.newPipeline;
+    } });
+    Object.defineProperty(exports2, "StorageOAuthScopes", { enumerable: true, get: function() {
+      return Pipeline_js_1.StorageOAuthScopes;
+    } });
+    tslib_1.__exportStar(require_StorageRetryPolicyFactory(), exports2);
+    var RequestPolicy_js_1 = require_RequestPolicy();
+    Object.defineProperty(exports2, "BaseRequestPolicy", { enumerable: true, get: function() {
+      return RequestPolicy_js_1.BaseRequestPolicy;
+    } });
+    tslib_1.__exportStar(require_AnonymousCredentialPolicy(), exports2);
+    tslib_1.__exportStar(require_CredentialPolicy(), exports2);
+    tslib_1.__exportStar(require_StorageRetryPolicyFactory(), exports2);
+    tslib_1.__exportStar(require_StorageSharedKeyCredentialPolicy(), exports2);
+    tslib_1.__exportStar(require_SASQueryParameters(), exports2);
+    tslib_1.__exportStar(require_generatedModels(), exports2);
+    var log_js_1 = require_log5();
+    Object.defineProperty(exports2, "logger", { enumerable: true, get: function() {
+      return log_js_1.logger;
+    } });
+  }
+});
+
+// node_modules/@actions/cache/lib/internal/shared/errors.js
+var require_errors3 = __commonJS({
+  "node_modules/@actions/cache/lib/internal/shared/errors.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.RateLimitError = exports2.UsageError = exports2.NetworkError = exports2.GHESNotSupportedError = exports2.CacheNotFoundError = exports2.InvalidResponseError = exports2.FilesNotFoundError = void 0;
+    var FilesNotFoundError = class extends Error {
+      constructor(files = []) {
+        let message = "No files were found to upload";
+        if (files.length > 0) {
+          message += `: ${files.join(", ")}`;
+        }
+        super(message);
+        this.files = files;
+        this.name = "FilesNotFoundError";
+      }
+    };
+    exports2.FilesNotFoundError = FilesNotFoundError;
+    var InvalidResponseError = class extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "InvalidResponseError";
+      }
+    };
+    exports2.InvalidResponseError = InvalidResponseError;
+    var CacheNotFoundError = class extends Error {
+      constructor(message = "Cache not found") {
+        super(message);
+        this.name = "CacheNotFoundError";
+      }
+    };
+    exports2.CacheNotFoundError = CacheNotFoundError;
+    var GHESNotSupportedError = class extends Error {
+      constructor(message = "@actions/cache v4.1.4+, actions/cache/save@v4+ and actions/cache/restore@v4+ are not currently supported on GHES.") {
+        super(message);
+        this.name = "GHESNotSupportedError";
+      }
+    };
+    exports2.GHESNotSupportedError = GHESNotSupportedError;
+    var NetworkError = class extends Error {
+      constructor(code) {
+        const message = `Unable to make request: ${code}
+If you are using self-hosted runners, please make sure your runner has access to all GitHub endpoints: https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#communication-between-self-hosted-runners-and-github`;
+        super(message);
+        this.code = code;
+        this.name = "NetworkError";
+      }
+    };
+    exports2.NetworkError = NetworkError;
+    NetworkError.isNetworkErrorCode = (code) => {
+      if (!code)
+        return false;
+      return [
+        "ECONNRESET",
+        "ENOTFOUND",
+        "ETIMEDOUT",
+        "ECONNREFUSED",
+        "EHOSTUNREACH"
+      ].includes(code);
+    };
+    var UsageError = class extends Error {
+      constructor() {
+        const message = `Cache storage quota has been hit. Unable to upload any new cache entries. Usage is recalculated every 6-12 hours.
+More info on storage limits: https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#calculating-minute-and-storage-spending`;
+        super(message);
+        this.name = "UsageError";
+      }
+    };
+    exports2.UsageError = UsageError;
+    UsageError.isUsageErrorMessage = (msg) => {
+      if (!msg)
+        return false;
+      return msg.includes("insufficient usage");
+    };
+    var RateLimitError = class extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "RateLimitError";
+      }
+    };
+    exports2.RateLimitError = RateLimitError;
+  }
+});
+
+// node_modules/@actions/cache/lib/internal/uploadUtils.js
+var require_uploadUtils = __commonJS({
+  "node_modules/@actions/cache/lib/internal/uploadUtils.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = 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 ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve8) {
+          resolve8(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve8, 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 ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.UploadProgress = void 0;
+    exports2.uploadCacheArchiveSDK = uploadCacheArchiveSDK;
+    var core17 = __importStar2(require_core());
+    var storage_blob_1 = require_commonjs15();
+    var errors_1 = require_errors3();
+    var UploadProgress = class {
+      constructor(contentLength) {
+        this.contentLength = contentLength;
+        this.sentBytes = 0;
+        this.displayedComplete = false;
+        this.startTime = Date.now();
+      }
+      /**
+       * Sets the number of bytes sent
+       *
+       * @param sentBytes the number of bytes sent
+       */
+      setSentBytes(sentBytes) {
+        this.sentBytes = sentBytes;
+      }
+      /**
+       * Returns the total number of bytes transferred.
+       */
+      getTransferredBytes() {
+        return this.sentBytes;
+      }
+      /**
+       * Returns true if the upload is complete.
+       */
+      isDone() {
+        return this.getTransferredBytes() === this.contentLength;
+      }
+      /**
+       * Prints the current upload stats. Once the upload completes, this will print one
+       * last line and then stop.
+       */
+      display() {
+        if (this.displayedComplete) {
+          return;
+        }
+        const transferredBytes = this.sentBytes;
+        const percentage = (100 * (transferredBytes / this.contentLength)).toFixed(1);
+        const elapsedTime = Date.now() - this.startTime;
+        const uploadSpeed = (transferredBytes / (1024 * 1024) / (elapsedTime / 1e3)).toFixed(1);
+        core17.info(`Sent ${transferredBytes} of ${this.contentLength} (${percentage}%), ${uploadSpeed} MBs/sec`);
+        if (this.isDone()) {
+          this.displayedComplete = true;
+        }
+      }
+      /**
+       * Returns a function used to handle TransferProgressEvents.
+       */
+      onProgress() {
+        return (progress) => {
+          this.setSentBytes(progress.loadedBytes);
+        };
+      }
+      /**
+       * Starts the timer that displays the stats.
+       *
+       * @param delayInMs the delay between each write
+       */
+      startDisplayTimer(delayInMs = 1e3) {
+        const displayCallback = () => {
+          this.display();
+          if (!this.isDone()) {
+            this.timeoutHandle = setTimeout(displayCallback, delayInMs);
+          }
+        };
+        this.timeoutHandle = setTimeout(displayCallback, delayInMs);
+      }
+      /**
+       * Stops the timer that displays the stats. As this typically indicates the upload
+       * is complete, this will display one last line, unless the last line has already
+       * been written.
+       */
+      stopDisplayTimer() {
+        if (this.timeoutHandle) {
+          clearTimeout(this.timeoutHandle);
+          this.timeoutHandle = void 0;
+        }
+        this.display();
+      }
+    };
+    exports2.UploadProgress = UploadProgress;
+    function uploadCacheArchiveSDK(signedUploadURL, archivePath, options) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        var _a;
+        const blobClient = new storage_blob_1.BlobClient(signedUploadURL);
+        const blockBlobClient = blobClient.getBlockBlobClient();
+        const uploadProgress = new UploadProgress((_a = options === null || options === void 0 ? void 0 : options.archiveSizeBytes) !== null && _a !== void 0 ? _a : 0);
+        const uploadOptions = {
+          blockSize: options === null || options === void 0 ? void 0 : options.uploadChunkSize,
+          concurrency: options === null || options === void 0 ? void 0 : options.uploadConcurrency,
+          // maximum number of parallel transfer workers
+          maxSingleShotSize: 128 * 1024 * 1024,
+          // 128 MiB initial transfer size
+          onProgress: uploadProgress.onProgress()
+        };
+        try {
+          uploadProgress.startDisplayTimer();
+          core17.debug(`BlobClient: ${blobClient.name}:${blobClient.accountName}:${blobClient.containerName}`);
+          const response = yield blockBlobClient.uploadFile(archivePath, uploadOptions);
+          if (response._response.status >= 400) {
+            throw new errors_1.InvalidResponseError(`uploadCacheArchiveSDK: upload failed with status code ${response._response.status}`);
+          }
+          return response;
+        } catch (error3) {
+          core17.warning(`uploadCacheArchiveSDK: internal error uploading cache archive: ${error3.message}`);
+          throw error3;
+        } finally {
+          uploadProgress.stopDisplayTimer();
+        }
+      });
+    }
+  }
+});
+
+// node_modules/@actions/cache/lib/internal/requestUtils.js
+var require_requestUtils = __commonJS({
+  "node_modules/@actions/cache/lib/internal/requestUtils.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = 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 ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve8) {
+          resolve8(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve8, 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 ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isSuccessStatusCode = isSuccessStatusCode;
+    exports2.isServerErrorStatusCode = isServerErrorStatusCode;
+    exports2.isRetryableStatusCode = isRetryableStatusCode;
+    exports2.retry = retry2;
+    exports2.retryTypedResponse = retryTypedResponse;
+    exports2.retryHttpClientResponse = retryHttpClientResponse;
+    var core17 = __importStar2(require_core());
+    var http_client_1 = require_lib();
+    var constants_1 = require_constants12();
+    function isSuccessStatusCode(statusCode) {
+      if (!statusCode) {
+        return false;
+      }
+      return statusCode >= 200 && statusCode < 300;
+    }
+    function isServerErrorStatusCode(statusCode) {
+      if (!statusCode) {
+        return true;
+      }
+      return statusCode >= 500;
+    }
+    function isRetryableStatusCode(statusCode) {
+      if (!statusCode) {
+        return false;
+      }
+      const retryableStatusCodes = [
+        http_client_1.HttpCodes.BadGateway,
+        http_client_1.HttpCodes.ServiceUnavailable,
+        http_client_1.HttpCodes.GatewayTimeout
+      ];
+      return retryableStatusCodes.includes(statusCode);
+    }
+    function sleep(milliseconds) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        return new Promise((resolve8) => setTimeout(resolve8, milliseconds));
+      });
+    }
+    function retry2(name_1, method_1, getStatusCode_1) {
+      return __awaiter2(this, arguments, void 0, function* (name, method, getStatusCode, maxAttempts = constants_1.DefaultRetryAttempts, delay2 = constants_1.DefaultRetryDelay, onError = void 0) {
+        let errorMessage = "";
+        let attempt = 1;
+        while (attempt <= maxAttempts) {
+          let response = void 0;
+          let statusCode = void 0;
+          let isRetryable = false;
+          try {
+            response = yield method();
+          } catch (error3) {
+            if (onError) {
+              response = onError(error3);
+            }
+            isRetryable = true;
+            errorMessage = error3.message;
+          }
+          if (response) {
+            statusCode = getStatusCode(response);
+            if (!isServerErrorStatusCode(statusCode)) {
+              return response;
+            }
+          }
+          if (statusCode) {
+            isRetryable = isRetryableStatusCode(statusCode);
+            errorMessage = `Cache service responded with ${statusCode}`;
+          }
+          core17.debug(`${name} - Attempt ${attempt} of ${maxAttempts} failed with error: ${errorMessage}`);
+          if (!isRetryable) {
+            core17.debug(`${name} - Error is not retryable`);
+            break;
+          }
+          yield sleep(delay2);
+          attempt++;
+        }
+        throw Error(`${name} failed: ${errorMessage}`);
+      });
+    }
+    function retryTypedResponse(name_1, method_1) {
+      return __awaiter2(this, arguments, void 0, function* (name, method, maxAttempts = constants_1.DefaultRetryAttempts, delay2 = constants_1.DefaultRetryDelay) {
+        return yield retry2(
+          name,
+          method,
+          (response) => response.statusCode,
+          maxAttempts,
+          delay2,
+          // If the error object contains the statusCode property, extract it and return
+          // an TypedResponse so it can be processed by the retry logic.
+          (error3) => {
+            if (error3 instanceof http_client_1.HttpClientError) {
+              return {
+                statusCode: error3.statusCode,
+                result: null,
+                headers: {},
+                error: error3
+              };
+            } else {
+              return void 0;
+            }
+          }
+        );
+      });
+    }
+    function retryHttpClientResponse(name_1, method_1) {
+      return __awaiter2(this, arguments, void 0, function* (name, method, maxAttempts = constants_1.DefaultRetryAttempts, delay2 = constants_1.DefaultRetryDelay) {
+        return yield retry2(name, method, (response) => response.message.statusCode, maxAttempts, delay2);
+      });
+    }
+  }
+});
+
+// node_modules/@azure/abort-controller/dist/index.js
+var require_dist4 = __commonJS({
+  "node_modules/@azure/abort-controller/dist/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    var listenersMap = /* @__PURE__ */ new WeakMap();
+    var abortedMap = /* @__PURE__ */ new WeakMap();
+    var AbortSignal2 = class _AbortSignal {
+      constructor() {
+        this.onabort = null;
+        listenersMap.set(this, []);
+        abortedMap.set(this, false);
+      }
+      /**
+       * Status of whether aborted or not.
+       *
+       * @readonly
+       */
+      get aborted() {
+        if (!abortedMap.has(this)) {
+          throw new TypeError("Expected `this` to be an instance of AbortSignal.");
+        }
+        return abortedMap.get(this);
+      }
+      /**
+       * Creates a new AbortSignal instance that will never be aborted.
+       *
+       * @readonly
+       */
+      static get none() {
+        return new _AbortSignal();
+      }
+      /**
+       * Added new "abort" event listener, only support "abort" event.
+       *
+       * @param _type - Only support "abort" event
+       * @param listener - The listener to be added
+       */
+      addEventListener(_type, listener) {
+        if (!listenersMap.has(this)) {
+          throw new TypeError("Expected `this` to be an instance of AbortSignal.");
+        }
+        const listeners = listenersMap.get(this);
+        listeners.push(listener);
+      }
+      /**
+       * Remove "abort" event listener, only support "abort" event.
+       *
+       * @param _type - Only support "abort" event
+       * @param listener - The listener to be removed
+       */
+      removeEventListener(_type, listener) {
+        if (!listenersMap.has(this)) {
+          throw new TypeError("Expected `this` to be an instance of AbortSignal.");
+        }
+        const listeners = listenersMap.get(this);
+        const index = listeners.indexOf(listener);
+        if (index > -1) {
+          listeners.splice(index, 1);
+        }
+      }
+      /**
+       * Dispatches a synthetic event to the AbortSignal.
+       */
+      dispatchEvent(_event) {
+        throw new Error("This is a stub dispatchEvent implementation that should not be used.  It only exists for type-checking purposes.");
+      }
+    };
+    function abortSignal(signal) {
+      if (signal.aborted) {
+        return;
+      }
+      if (signal.onabort) {
+        signal.onabort.call(signal);
+      }
+      const listeners = listenersMap.get(signal);
+      if (listeners) {
+        listeners.slice().forEach((listener) => {
+          listener.call(signal, { type: "abort" });
+        });
+      }
+      abortedMap.set(signal, true);
+    }
+    var AbortError = class extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "AbortError";
+      }
+    };
+    var AbortController2 = class {
+      // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
+      constructor(parentSignals) {
+        this._signal = new AbortSignal2();
+        if (!parentSignals) {
+          return;
+        }
+        if (!Array.isArray(parentSignals)) {
+          parentSignals = arguments;
+        }
+        for (const parentSignal of parentSignals) {
+          if (parentSignal.aborted) {
+            this.abort();
+          } else {
+            parentSignal.addEventListener("abort", () => {
+              this.abort();
+            });
+          }
+        }
+      }
+      /**
+       * The AbortSignal associated with this controller that will signal aborted
+       * when the abort method is called on this controller.
+       *
+       * @readonly
+       */
+      get signal() {
+        return this._signal;
+      }
+      /**
+       * Signal that any operations passed this controller's associated abort signal
+       * to cancel any remaining work and throw an `AbortError`.
+       */
+      abort() {
+        abortSignal(this._signal);
+      }
+      /**
+       * Creates a new AbortSignal instance that will abort after the provided ms.
+       * @param ms - Elapsed time in milliseconds to trigger an abort.
+       */
+      static timeout(ms) {
+        const signal = new AbortSignal2();
+        const timer = setTimeout(abortSignal, ms, signal);
+        if (typeof timer.unref === "function") {
+          timer.unref();
+        }
+        return signal;
+      }
+    };
+    exports2.AbortController = AbortController2;
+    exports2.AbortError = AbortError;
+    exports2.AbortSignal = AbortSignal2;
+  }
+});
+
+// node_modules/@actions/cache/lib/internal/downloadUtils.js
+var require_downloadUtils = __commonJS({
+  "node_modules/@actions/cache/lib/internal/downloadUtils.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = 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 ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve8) {
+          resolve8(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve8, 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 ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.DownloadProgress = void 0;
+    exports2.downloadCacheHttpClient = downloadCacheHttpClient;
+    exports2.downloadCacheHttpClientConcurrent = downloadCacheHttpClientConcurrent;
+    exports2.downloadCacheStorageSDK = downloadCacheStorageSDK;
+    var core17 = __importStar2(require_core());
+    var http_client_1 = require_lib();
+    var storage_blob_1 = require_commonjs15();
+    var buffer = __importStar2(require("buffer"));
+    var fs18 = __importStar2(require("fs"));
+    var stream2 = __importStar2(require("stream"));
+    var util = __importStar2(require("util"));
+    var utils = __importStar2(require_cacheUtils());
+    var constants_1 = require_constants12();
+    var requestUtils_1 = require_requestUtils();
+    var abort_controller_1 = require_dist4();
+    function pipeResponseToStream(response, output) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const pipeline = util.promisify(stream2.pipeline);
+        yield pipeline(response.message, output);
+      });
+    }
+    var DownloadProgress = class {
+      constructor(contentLength) {
+        this.contentLength = contentLength;
+        this.segmentIndex = 0;
+        this.segmentSize = 0;
+        this.segmentOffset = 0;
+        this.receivedBytes = 0;
+        this.displayedComplete = false;
+        this.startTime = Date.now();
+      }
+      /**
+       * Progress to the next segment. Only call this method when the previous segment
+       * is complete.
+       *
+       * @param segmentSize the length of the next segment
+       */
+      nextSegment(segmentSize) {
+        this.segmentOffset = this.segmentOffset + this.segmentSize;
+        this.segmentIndex = this.segmentIndex + 1;
+        this.segmentSize = segmentSize;
+        this.receivedBytes = 0;
+        core17.debug(`Downloading segment at offset ${this.segmentOffset} with length ${this.segmentSize}...`);
+      }
+      /**
+       * Sets the number of bytes received for the current segment.
+       *
+       * @param receivedBytes the number of bytes received
+       */
+      setReceivedBytes(receivedBytes) {
+        this.receivedBytes = receivedBytes;
+      }
+      /**
+       * Returns the total number of bytes transferred.
+       */
+      getTransferredBytes() {
+        return this.segmentOffset + this.receivedBytes;
+      }
+      /**
+       * Returns true if the download is complete.
+       */
+      isDone() {
+        return this.getTransferredBytes() === this.contentLength;
+      }
+      /**
+       * Prints the current download stats. Once the download completes, this will print one
+       * last line and then stop.
+       */
+      display() {
+        if (this.displayedComplete) {
+          return;
+        }
+        const transferredBytes = this.segmentOffset + this.receivedBytes;
+        const percentage = (100 * (transferredBytes / this.contentLength)).toFixed(1);
+        const elapsedTime = Date.now() - this.startTime;
+        const downloadSpeed = (transferredBytes / (1024 * 1024) / (elapsedTime / 1e3)).toFixed(1);
+        core17.info(`Received ${transferredBytes} of ${this.contentLength} (${percentage}%), ${downloadSpeed} MBs/sec`);
+        if (this.isDone()) {
+          this.displayedComplete = true;
+        }
+      }
+      /**
+       * Returns a function used to handle TransferProgressEvents.
+       */
+      onProgress() {
+        return (progress) => {
+          this.setReceivedBytes(progress.loadedBytes);
+        };
+      }
+      /**
+       * Starts the timer that displays the stats.
+       *
+       * @param delayInMs the delay between each write
+       */
+      startDisplayTimer(delayInMs = 1e3) {
+        const displayCallback = () => {
+          this.display();
+          if (!this.isDone()) {
+            this.timeoutHandle = setTimeout(displayCallback, delayInMs);
+          }
+        };
+        this.timeoutHandle = setTimeout(displayCallback, delayInMs);
+      }
+      /**
+       * Stops the timer that displays the stats. As this typically indicates the download
+       * is complete, this will display one last line, unless the last line has already
+       * been written.
+       */
+      stopDisplayTimer() {
+        if (this.timeoutHandle) {
+          clearTimeout(this.timeoutHandle);
+          this.timeoutHandle = void 0;
+        }
+        this.display();
+      }
+    };
+    exports2.DownloadProgress = DownloadProgress;
+    function downloadCacheHttpClient(archiveLocation, archivePath) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const writeStream = fs18.createWriteStream(archivePath);
+        const httpClient = new http_client_1.HttpClient("actions/cache");
+        const downloadResponse = yield (0, requestUtils_1.retryHttpClientResponse)("downloadCache", () => __awaiter2(this, void 0, void 0, function* () {
+          return httpClient.get(archiveLocation);
+        }));
+        downloadResponse.message.socket.setTimeout(constants_1.SocketTimeout, () => {
+          downloadResponse.message.destroy();
+          core17.debug(`Aborting download, socket timed out after ${constants_1.SocketTimeout} ms`);
+        });
+        yield pipeResponseToStream(downloadResponse, writeStream);
+        const contentLengthHeader = downloadResponse.message.headers["content-length"];
+        if (contentLengthHeader) {
+          const expectedLength = parseInt(contentLengthHeader);
+          const actualLength = utils.getArchiveFileSizeInBytes(archivePath);
+          if (actualLength !== expectedLength) {
+            throw new Error(`Incomplete download. Expected file size: ${expectedLength}, actual file size: ${actualLength}`);
+          }
+        } else {
+          core17.debug("Unable to validate download, no Content-Length header");
+        }
+      });
+    }
+    function downloadCacheHttpClientConcurrent(archiveLocation, archivePath, options) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        var _a;
+        const archiveDescriptor = yield fs18.promises.open(archivePath, "w");
+        const httpClient = new http_client_1.HttpClient("actions/cache", void 0, {
+          socketTimeout: options.timeoutInMs,
+          keepAlive: true
+        });
+        try {
+          const res = yield (0, requestUtils_1.retryHttpClientResponse)("downloadCacheMetadata", () => __awaiter2(this, void 0, void 0, function* () {
+            return yield httpClient.request("HEAD", archiveLocation, null, {});
+          }));
+          const lengthHeader = res.message.headers["content-length"];
+          if (lengthHeader === void 0 || lengthHeader === null) {
+            throw new Error("Content-Length not found on blob response");
+          }
+          const length = parseInt(lengthHeader);
+          if (Number.isNaN(length)) {
+            throw new Error(`Could not interpret Content-Length: ${length}`);
+          }
+          const downloads = [];
+          const blockSize = 4 * 1024 * 1024;
+          for (let offset = 0; offset < length; offset += blockSize) {
+            const count = Math.min(blockSize, length - offset);
+            downloads.push({
+              offset,
+              promiseGetter: () => __awaiter2(this, void 0, void 0, function* () {
+                return yield downloadSegmentRetry(httpClient, archiveLocation, offset, count);
+              })
+            });
+          }
+          downloads.reverse();
+          let actives = 0;
+          let bytesDownloaded = 0;
+          const progress = new DownloadProgress(length);
+          progress.startDisplayTimer();
+          const progressFn = progress.onProgress();
+          const activeDownloads = [];
+          let nextDownload;
+          const waitAndWrite = () => __awaiter2(this, void 0, void 0, function* () {
+            const segment = yield Promise.race(Object.values(activeDownloads));
+            yield archiveDescriptor.write(segment.buffer, 0, segment.count, segment.offset);
+            actives--;
+            delete activeDownloads[segment.offset];
+            bytesDownloaded += segment.count;
+            progressFn({ loadedBytes: bytesDownloaded });
+          });
+          while (nextDownload = downloads.pop()) {
+            activeDownloads[nextDownload.offset] = nextDownload.promiseGetter();
+            actives++;
+            if (actives >= ((_a = options.downloadConcurrency) !== null && _a !== void 0 ? _a : 10)) {
+              yield waitAndWrite();
+            }
+          }
+          while (actives > 0) {
+            yield waitAndWrite();
+          }
+        } finally {
+          httpClient.dispose();
+          yield archiveDescriptor.close();
+        }
+      });
+    }
+    function downloadSegmentRetry(httpClient, archiveLocation, offset, count) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const retries = 5;
+        let failures = 0;
+        while (true) {
+          try {
+            const timeout = 3e4;
+            const result = yield promiseWithTimeout(timeout, downloadSegment(httpClient, archiveLocation, offset, count));
+            if (typeof result === "string") {
+              throw new Error("downloadSegmentRetry failed due to timeout");
+            }
+            return result;
+          } catch (err) {
+            if (failures >= retries) {
+              throw err;
+            }
+            failures++;
+          }
+        }
+      });
+    }
+    function downloadSegment(httpClient, archiveLocation, offset, count) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const partRes = yield (0, requestUtils_1.retryHttpClientResponse)("downloadCachePart", () => __awaiter2(this, void 0, void 0, function* () {
+          return yield httpClient.get(archiveLocation, {
+            Range: `bytes=${offset}-${offset + count - 1}`
+          });
+        }));
+        if (!partRes.readBodyBuffer) {
+          throw new Error("Expected HttpClientResponse to implement readBodyBuffer");
+        }
+        return {
+          offset,
+          count,
+          buffer: yield partRes.readBodyBuffer()
+        };
+      });
+    }
+    function downloadCacheStorageSDK(archiveLocation, archivePath, options) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        var _a;
+        const client = new storage_blob_1.BlockBlobClient(archiveLocation, void 0, {
+          retryOptions: {
+            // Override the timeout used when downloading each 4 MB chunk
+            // The default is 2 min / MB, which is way too slow
+            tryTimeoutInMs: options.timeoutInMs
+          }
+        });
+        const properties = yield client.getProperties();
+        const contentLength = (_a = properties.contentLength) !== null && _a !== void 0 ? _a : -1;
+        if (contentLength < 0) {
+          core17.debug("Unable to determine content length, downloading file with http-client...");
+          yield downloadCacheHttpClient(archiveLocation, archivePath);
+        } else {
+          const maxSegmentSize = Math.min(134217728, buffer.constants.MAX_LENGTH);
+          const downloadProgress = new DownloadProgress(contentLength);
+          const fd = fs18.openSync(archivePath, "w");
+          try {
+            downloadProgress.startDisplayTimer();
+            const controller = new abort_controller_1.AbortController();
+            const abortSignal = controller.signal;
+            while (!downloadProgress.isDone()) {
+              const segmentStart = downloadProgress.segmentOffset + downloadProgress.segmentSize;
+              const segmentSize = Math.min(maxSegmentSize, contentLength - segmentStart);
+              downloadProgress.nextSegment(segmentSize);
+              const result = yield promiseWithTimeout(options.segmentTimeoutInMs || 36e5, client.downloadToBuffer(segmentStart, segmentSize, {
+                abortSignal,
+                concurrency: options.downloadConcurrency,
+                onProgress: downloadProgress.onProgress()
+              }));
+              if (result === "timeout") {
+                controller.abort();
+                throw new Error("Aborting cache download as the download time exceeded the timeout.");
+              } else if (Buffer.isBuffer(result)) {
+                fs18.writeFileSync(fd, result);
+              }
+            }
+          } finally {
+            downloadProgress.stopDisplayTimer();
+            fs18.closeSync(fd);
+          }
+        }
+      });
+    }
+    var promiseWithTimeout = (timeoutMs, promise) => __awaiter2(void 0, void 0, void 0, function* () {
+      let timeoutHandle;
+      const timeoutPromise = new Promise((resolve8) => {
+        timeoutHandle = setTimeout(() => resolve8("timeout"), timeoutMs);
+      });
+      return Promise.race([promise, timeoutPromise]).then((result) => {
+        clearTimeout(timeoutHandle);
+        return result;
+      });
+    });
+  }
+});
+
+// node_modules/@actions/cache/lib/options.js
+var require_options = __commonJS({
+  "node_modules/@actions/cache/lib/options.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = 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 ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getUploadOptions = getUploadOptions;
+    exports2.getDownloadOptions = getDownloadOptions;
+    var core17 = __importStar2(require_core());
+    function getUploadOptions(copy) {
+      const result = {
+        useAzureSdk: false,
+        uploadConcurrency: 4,
+        uploadChunkSize: 32 * 1024 * 1024
+      };
+      if (copy) {
+        if (typeof copy.useAzureSdk === "boolean") {
+          result.useAzureSdk = copy.useAzureSdk;
+        }
+        if (typeof copy.uploadConcurrency === "number") {
+          result.uploadConcurrency = copy.uploadConcurrency;
+        }
+        if (typeof copy.uploadChunkSize === "number") {
+          result.uploadChunkSize = copy.uploadChunkSize;
+        }
+      }
+      result.uploadConcurrency = !isNaN(Number(process.env["CACHE_UPLOAD_CONCURRENCY"])) ? Math.min(32, Number(process.env["CACHE_UPLOAD_CONCURRENCY"])) : result.uploadConcurrency;
+      result.uploadChunkSize = !isNaN(Number(process.env["CACHE_UPLOAD_CHUNK_SIZE"])) ? Math.min(128 * 1024 * 1024, Number(process.env["CACHE_UPLOAD_CHUNK_SIZE"]) * 1024 * 1024) : result.uploadChunkSize;
+      core17.debug(`Use Azure SDK: ${result.useAzureSdk}`);
+      core17.debug(`Upload concurrency: ${result.uploadConcurrency}`);
+      core17.debug(`Upload chunk size: ${result.uploadChunkSize}`);
+      return result;
+    }
+    function getDownloadOptions(copy) {
+      const result = {
+        useAzureSdk: false,
+        concurrentBlobDownloads: true,
+        downloadConcurrency: 8,
+        timeoutInMs: 3e4,
+        segmentTimeoutInMs: 6e5,
+        lookupOnly: false
+      };
+      if (copy) {
+        if (typeof copy.useAzureSdk === "boolean") {
+          result.useAzureSdk = copy.useAzureSdk;
+        }
+        if (typeof copy.concurrentBlobDownloads === "boolean") {
+          result.concurrentBlobDownloads = copy.concurrentBlobDownloads;
+        }
+        if (typeof copy.downloadConcurrency === "number") {
+          result.downloadConcurrency = copy.downloadConcurrency;
+        }
+        if (typeof copy.timeoutInMs === "number") {
+          result.timeoutInMs = copy.timeoutInMs;
+        }
+        if (typeof copy.segmentTimeoutInMs === "number") {
+          result.segmentTimeoutInMs = copy.segmentTimeoutInMs;
+        }
+        if (typeof copy.lookupOnly === "boolean") {
+          result.lookupOnly = copy.lookupOnly;
+        }
+      }
+      const segmentDownloadTimeoutMins = process.env["SEGMENT_DOWNLOAD_TIMEOUT_MINS"];
+      if (segmentDownloadTimeoutMins && !isNaN(Number(segmentDownloadTimeoutMins)) && isFinite(Number(segmentDownloadTimeoutMins))) {
+        result.segmentTimeoutInMs = Number(segmentDownloadTimeoutMins) * 60 * 1e3;
+      }
+      core17.debug(`Use Azure SDK: ${result.useAzureSdk}`);
+      core17.debug(`Download concurrency: ${result.downloadConcurrency}`);
+      core17.debug(`Request timeout (ms): ${result.timeoutInMs}`);
+      core17.debug(`Cache segment download timeout mins env var: ${process.env["SEGMENT_DOWNLOAD_TIMEOUT_MINS"]}`);
+      core17.debug(`Segment download timeout (ms): ${result.segmentTimeoutInMs}`);
+      core17.debug(`Lookup only: ${result.lookupOnly}`);
+      return result;
+    }
+  }
+});
+
+// node_modules/@actions/cache/lib/internal/config.js
+var require_config = __commonJS({
+  "node_modules/@actions/cache/lib/internal/config.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isGhes = isGhes;
+    exports2.getCacheServiceVersion = getCacheServiceVersion;
+    exports2.getCacheServiceURL = getCacheServiceURL;
+    function isGhes() {
+      const ghUrl = new URL(process.env["GITHUB_SERVER_URL"] || "https://github.com");
+      const hostname = ghUrl.hostname.trimEnd().toUpperCase();
+      const isGitHubHost = hostname === "GITHUB.COM";
+      const isGheHost = hostname.endsWith(".GHE.COM");
+      const isLocalHost = hostname.endsWith(".LOCALHOST");
+      return !isGitHubHost && !isGheHost && !isLocalHost;
+    }
+    function getCacheServiceVersion() {
+      if (isGhes())
+        return "v1";
+      return process.env["ACTIONS_CACHE_SERVICE_V2"] ? "v2" : "v1";
+    }
+    function getCacheServiceURL() {
+      const version = getCacheServiceVersion();
+      switch (version) {
+        case "v1":
+          return process.env["ACTIONS_CACHE_URL"] || process.env["ACTIONS_RESULTS_URL"] || "";
+        case "v2":
+          return process.env["ACTIONS_RESULTS_URL"] || "";
+        default:
+          throw new Error(`Unsupported cache service version: ${version}`);
+      }
+    }
+  }
+});
+
+// node_modules/@actions/cache/package.json
+var require_package2 = __commonJS({
+  "node_modules/@actions/cache/package.json"(exports2, module2) {
+    module2.exports = {
+      name: "@actions/cache",
+      version: "5.0.5",
+      preview: true,
+      description: "Actions cache lib",
+      keywords: [
+        "github",
+        "actions",
+        "cache"
+      ],
+      homepage: "https://github.com/actions/toolkit/tree/main/packages/cache",
+      license: "MIT",
+      main: "lib/cache.js",
+      types: "lib/cache.d.ts",
+      directories: {
+        lib: "lib",
+        test: "__tests__"
+      },
+      files: [
+        "lib",
+        "!.DS_Store"
+      ],
+      publishConfig: {
+        access: "public"
+      },
+      repository: {
+        type: "git",
+        url: "git+https://github.com/actions/toolkit.git",
+        directory: "packages/cache"
+      },
+      scripts: {
+        "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json",
+        test: 'echo "Error: run tests from root" && exit 1',
+        tsc: "tsc"
+      },
+      bugs: {
+        url: "https://github.com/actions/toolkit/issues"
+      },
+      dependencies: {
+        "@actions/core": "^2.0.0",
+        "@actions/exec": "^2.0.0",
+        "@actions/glob": "^0.5.1",
+        "@protobuf-ts/runtime-rpc": "^2.11.1",
+        "@actions/http-client": "^3.0.2",
+        "@actions/io": "^2.0.0",
+        "@azure/abort-controller": "^1.1.0",
+        "@azure/core-rest-pipeline": "^1.22.0",
+        "@azure/storage-blob": "^12.29.1",
+        semver: "^6.3.1"
+      },
+      devDependencies: {
+        "@types/node": "^24.1.0",
+        "@types/semver": "^6.0.0",
+        "@protobuf-ts/plugin": "^2.9.4",
+        typescript: "^5.2.2"
+      },
+      overrides: {
+        "uri-js": "npm:uri-js-replace@^1.0.1",
+        "node-fetch": "^3.3.2"
+      }
+    };
+  }
+});
+
+// node_modules/@actions/cache/lib/internal/shared/user-agent.js
+var require_user_agent = __commonJS({
+  "node_modules/@actions/cache/lib/internal/shared/user-agent.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getUserAgentString = getUserAgentString;
+    var packageJson = require_package2();
+    function getUserAgentString() {
+      return `@actions/cache-${packageJson.version}`;
+    }
+  }
+});
+
+// node_modules/@actions/cache/lib/internal/cacheHttpClient.js
+var require_cacheHttpClient = __commonJS({
+  "node_modules/@actions/cache/lib/internal/cacheHttpClient.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = 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 ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve8) {
+          resolve8(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve8, 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 ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getCacheEntry = getCacheEntry;
+    exports2.downloadCache = downloadCache;
+    exports2.reserveCache = reserveCache;
+    exports2.saveCache = saveCache4;
+    var core17 = __importStar2(require_core());
+    var http_client_1 = require_lib();
+    var auth_1 = require_auth();
+    var fs18 = __importStar2(require("fs"));
+    var url_1 = require("url");
+    var utils = __importStar2(require_cacheUtils());
+    var uploadUtils_1 = require_uploadUtils();
+    var downloadUtils_1 = require_downloadUtils();
+    var options_1 = require_options();
+    var requestUtils_1 = require_requestUtils();
+    var config_1 = require_config();
+    var user_agent_1 = require_user_agent();
+    function getCacheApiUrl(resource) {
+      const baseUrl = (0, config_1.getCacheServiceURL)();
+      if (!baseUrl) {
+        throw new Error("Cache Service Url not found, unable to restore cache.");
+      }
+      const url2 = `${baseUrl}_apis/artifactcache/${resource}`;
+      core17.debug(`Resource Url: ${url2}`);
+      return url2;
+    }
+    function createAcceptHeader(type2, apiVersion) {
+      return `${type2};api-version=${apiVersion}`;
+    }
+    function getRequestOptions() {
+      const requestOptions = {
+        headers: {
+          Accept: createAcceptHeader("application/json", "6.0-preview.1")
+        }
+      };
+      return requestOptions;
+    }
+    function createHttpClient() {
+      const token = process.env["ACTIONS_RUNTIME_TOKEN"] || "";
+      const bearerCredentialHandler = new auth_1.BearerCredentialHandler(token);
+      return new http_client_1.HttpClient((0, user_agent_1.getUserAgentString)(), [bearerCredentialHandler], getRequestOptions());
+    }
+    function getCacheEntry(keys, paths, options) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const httpClient = createHttpClient();
+        const version = utils.getCacheVersion(paths, options === null || options === void 0 ? void 0 : options.compressionMethod, options === null || options === void 0 ? void 0 : options.enableCrossOsArchive);
+        const resource = `cache?keys=${encodeURIComponent(keys.join(","))}&version=${version}`;
+        const response = yield (0, requestUtils_1.retryTypedResponse)("getCacheEntry", () => __awaiter2(this, void 0, void 0, function* () {
+          return httpClient.getJson(getCacheApiUrl(resource));
+        }));
+        if (response.statusCode === 204) {
+          if (core17.isDebug()) {
+            yield printCachesListForDiagnostics(keys[0], httpClient, version);
+          }
+          return null;
+        }
+        if (!(0, requestUtils_1.isSuccessStatusCode)(response.statusCode)) {
+          throw new Error(`Cache service responded with ${response.statusCode}`);
+        }
+        const cacheResult = response.result;
+        const cacheDownloadUrl = cacheResult === null || cacheResult === void 0 ? void 0 : cacheResult.archiveLocation;
+        if (!cacheDownloadUrl) {
+          throw new Error("Cache not found.");
+        }
+        core17.setSecret(cacheDownloadUrl);
+        core17.debug(`Cache Result:`);
+        core17.debug(JSON.stringify(cacheResult));
+        return cacheResult;
+      });
+    }
+    function printCachesListForDiagnostics(key, httpClient, version) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const resource = `caches?key=${encodeURIComponent(key)}`;
+        const response = yield (0, requestUtils_1.retryTypedResponse)("listCache", () => __awaiter2(this, void 0, void 0, function* () {
+          return httpClient.getJson(getCacheApiUrl(resource));
+        }));
+        if (response.statusCode === 200) {
+          const cacheListResult = response.result;
+          const totalCount = cacheListResult === null || cacheListResult === void 0 ? void 0 : cacheListResult.totalCount;
+          if (totalCount && totalCount > 0) {
+            core17.debug(`No matching cache found for cache key '${key}', version '${version} and scope ${process.env["GITHUB_REF"]}. There exist one or more cache(s) with similar key but they have different version or scope. See more info on cache matching here: https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#matching-a-cache-key 
+Other caches with similar key:`);
+            for (const cacheEntry of (cacheListResult === null || cacheListResult === void 0 ? void 0 : cacheListResult.artifactCaches) || []) {
+              core17.debug(`Cache Key: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.cacheKey}, Cache Version: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.cacheVersion}, Cache Scope: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.scope}, Cache Created: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.creationTime}`);
+            }
+          }
+        }
+      });
+    }
+    function downloadCache(archiveLocation, archivePath, options) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const archiveUrl = new url_1.URL(archiveLocation);
+        const downloadOptions = (0, options_1.getDownloadOptions)(options);
+        if (archiveUrl.hostname.endsWith(".blob.core.windows.net")) {
+          if (downloadOptions.useAzureSdk) {
+            yield (0, downloadUtils_1.downloadCacheStorageSDK)(archiveLocation, archivePath, downloadOptions);
+          } else if (downloadOptions.concurrentBlobDownloads) {
+            yield (0, downloadUtils_1.downloadCacheHttpClientConcurrent)(archiveLocation, archivePath, downloadOptions);
+          } else {
+            yield (0, downloadUtils_1.downloadCacheHttpClient)(archiveLocation, archivePath);
+          }
+        } else {
+          yield (0, downloadUtils_1.downloadCacheHttpClient)(archiveLocation, archivePath);
+        }
+      });
+    }
+    function reserveCache(key, paths, options) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const httpClient = createHttpClient();
+        const version = utils.getCacheVersion(paths, options === null || options === void 0 ? void 0 : options.compressionMethod, options === null || options === void 0 ? void 0 : options.enableCrossOsArchive);
+        const reserveCacheRequest = {
+          key,
+          version,
+          cacheSize: options === null || options === void 0 ? void 0 : options.cacheSize
+        };
+        const response = yield (0, requestUtils_1.retryTypedResponse)("reserveCache", () => __awaiter2(this, void 0, void 0, function* () {
+          return httpClient.postJson(getCacheApiUrl("caches"), reserveCacheRequest);
+        }));
+        return response;
+      });
+    }
+    function getContentRange(start, end) {
+      return `bytes ${start}-${end}/*`;
+    }
+    function uploadChunk(httpClient, resourceUrl, openStream, start, end) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        core17.debug(`Uploading chunk of size ${end - start + 1} bytes at offset ${start} with content range: ${getContentRange(start, end)}`);
+        const additionalHeaders = {
+          "Content-Type": "application/octet-stream",
+          "Content-Range": getContentRange(start, end)
+        };
+        const uploadChunkResponse = yield (0, requestUtils_1.retryHttpClientResponse)(`uploadChunk (start: ${start}, end: ${end})`, () => __awaiter2(this, void 0, void 0, function* () {
+          return httpClient.sendStream("PATCH", resourceUrl, openStream(), additionalHeaders);
+        }));
+        if (!(0, requestUtils_1.isSuccessStatusCode)(uploadChunkResponse.message.statusCode)) {
+          throw new Error(`Cache service responded with ${uploadChunkResponse.message.statusCode} during upload chunk.`);
+        }
+      });
+    }
+    function uploadFile(httpClient, cacheId, archivePath, options) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const fileSize = utils.getArchiveFileSizeInBytes(archivePath);
+        const resourceUrl = getCacheApiUrl(`caches/${cacheId.toString()}`);
+        const fd = fs18.openSync(archivePath, "r");
+        const uploadOptions = (0, options_1.getUploadOptions)(options);
+        const concurrency = utils.assertDefined("uploadConcurrency", uploadOptions.uploadConcurrency);
+        const maxChunkSize = utils.assertDefined("uploadChunkSize", uploadOptions.uploadChunkSize);
+        const parallelUploads = [...new Array(concurrency).keys()];
+        core17.debug("Awaiting all uploads");
+        let offset = 0;
+        try {
+          yield Promise.all(parallelUploads.map(() => __awaiter2(this, void 0, void 0, function* () {
+            while (offset < fileSize) {
+              const chunkSize = Math.min(fileSize - offset, maxChunkSize);
+              const start = offset;
+              const end = offset + chunkSize - 1;
+              offset += maxChunkSize;
+              yield uploadChunk(httpClient, resourceUrl, () => fs18.createReadStream(archivePath, {
+                fd,
+                start,
+                end,
+                autoClose: false
+              }).on("error", (error3) => {
+                throw new Error(`Cache upload failed because file read failed with ${error3.message}`);
+              }), start, end);
+            }
+          })));
+        } finally {
+          fs18.closeSync(fd);
+        }
+        return;
+      });
+    }
+    function commitCache(httpClient, cacheId, filesize) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const commitCacheRequest = { size: filesize };
+        return yield (0, requestUtils_1.retryTypedResponse)("commitCache", () => __awaiter2(this, void 0, void 0, function* () {
+          return httpClient.postJson(getCacheApiUrl(`caches/${cacheId.toString()}`), commitCacheRequest);
+        }));
+      });
+    }
+    function saveCache4(cacheId, archivePath, signedUploadURL, options) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const uploadOptions = (0, options_1.getUploadOptions)(options);
+        if (uploadOptions.useAzureSdk) {
+          if (!signedUploadURL) {
+            throw new Error("Azure Storage SDK can only be used when a signed URL is provided.");
+          }
+          yield (0, uploadUtils_1.uploadCacheArchiveSDK)(signedUploadURL, archivePath, options);
+        } else {
+          const httpClient = createHttpClient();
+          core17.debug("Upload cache");
+          yield uploadFile(httpClient, cacheId, archivePath, options);
+          core17.debug("Commiting cache");
+          const cacheSize = utils.getArchiveFileSizeInBytes(archivePath);
+          core17.info(`Cache Size: ~${Math.round(cacheSize / (1024 * 1024))} MB (${cacheSize} B)`);
+          const commitCacheResponse = yield commitCache(httpClient, cacheId, cacheSize);
+          if (!(0, requestUtils_1.isSuccessStatusCode)(commitCacheResponse.statusCode)) {
+            throw new Error(`Cache service responded with ${commitCacheResponse.statusCode} during commit cache.`);
+          }
+          core17.info("Cache saved successfully");
+        }
+      });
+    }
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/json-typings.js
+var require_json_typings = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/json-typings.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isJsonObject = exports2.typeofJsonValue = void 0;
+    function typeofJsonValue(value) {
+      let t = typeof value;
+      if (t == "object") {
+        if (Array.isArray(value))
+          return "array";
+        if (value === null)
+          return "null";
+      }
+      return t;
+    }
+    exports2.typeofJsonValue = typeofJsonValue;
+    function isJsonObject(value) {
+      return value !== null && typeof value == "object" && !Array.isArray(value);
+    }
+    exports2.isJsonObject = isJsonObject;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/base64.js
+var require_base642 = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/base64.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.base64encode = exports2.base64decode = void 0;
+    var encTable = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");
+    var decTable = [];
+    for (let i = 0; i < encTable.length; i++)
+      decTable[encTable[i].charCodeAt(0)] = i;
+    decTable["-".charCodeAt(0)] = encTable.indexOf("+");
+    decTable["_".charCodeAt(0)] = encTable.indexOf("/");
+    function base64decode(base64Str) {
+      let es = base64Str.length * 3 / 4;
+      if (base64Str[base64Str.length - 2] == "=")
+        es -= 2;
+      else if (base64Str[base64Str.length - 1] == "=")
+        es -= 1;
+      let bytes = new Uint8Array(es), bytePos = 0, groupPos = 0, b, p = 0;
+      for (let i = 0; i < base64Str.length; i++) {
+        b = decTable[base64Str.charCodeAt(i)];
+        if (b === void 0) {
+          switch (base64Str[i]) {
+            case "=":
+              groupPos = 0;
+            // reset state when padding found
+            case "\n":
+            case "\r":
+            case "	":
+            case " ":
+              continue;
+            // skip white-space, and padding
+            default:
+              throw Error(`invalid base64 string.`);
+          }
+        }
+        switch (groupPos) {
+          case 0:
+            p = b;
+            groupPos = 1;
+            break;
+          case 1:
+            bytes[bytePos++] = p << 2 | (b & 48) >> 4;
+            p = b;
+            groupPos = 2;
+            break;
+          case 2:
+            bytes[bytePos++] = (p & 15) << 4 | (b & 60) >> 2;
+            p = b;
+            groupPos = 3;
+            break;
+          case 3:
+            bytes[bytePos++] = (p & 3) << 6 | b;
+            groupPos = 0;
+            break;
+        }
+      }
+      if (groupPos == 1)
+        throw Error(`invalid base64 string.`);
+      return bytes.subarray(0, bytePos);
+    }
+    exports2.base64decode = base64decode;
+    function base64encode(bytes) {
+      let base64 = "", groupPos = 0, b, p = 0;
+      for (let i = 0; i < bytes.length; i++) {
+        b = bytes[i];
+        switch (groupPos) {
+          case 0:
+            base64 += encTable[b >> 2];
+            p = (b & 3) << 4;
+            groupPos = 1;
+            break;
+          case 1:
+            base64 += encTable[p | b >> 4];
+            p = (b & 15) << 2;
+            groupPos = 2;
+            break;
+          case 2:
+            base64 += encTable[p | b >> 6];
+            base64 += encTable[b & 63];
+            groupPos = 0;
+            break;
+        }
+      }
+      if (groupPos) {
+        base64 += encTable[p];
+        base64 += "=";
+        if (groupPos == 1)
+          base64 += "=";
+      }
+      return base64;
+    }
+    exports2.base64encode = base64encode;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/protobufjs-utf8.js
+var require_protobufjs_utf8 = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/protobufjs-utf8.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.utf8read = void 0;
+    var fromCharCodes = (chunk) => String.fromCharCode.apply(String, chunk);
+    function utf8read(bytes) {
+      if (bytes.length < 1)
+        return "";
+      let pos = 0, parts = [], chunk = [], i = 0, t;
+      let len = bytes.length;
+      while (pos < len) {
+        t = bytes[pos++];
+        if (t < 128)
+          chunk[i++] = t;
+        else if (t > 191 && t < 224)
+          chunk[i++] = (t & 31) << 6 | bytes[pos++] & 63;
+        else if (t > 239 && t < 365) {
+          t = ((t & 7) << 18 | (bytes[pos++] & 63) << 12 | (bytes[pos++] & 63) << 6 | bytes[pos++] & 63) - 65536;
+          chunk[i++] = 55296 + (t >> 10);
+          chunk[i++] = 56320 + (t & 1023);
+        } else
+          chunk[i++] = (t & 15) << 12 | (bytes[pos++] & 63) << 6 | bytes[pos++] & 63;
+        if (i > 8191) {
+          parts.push(fromCharCodes(chunk));
+          i = 0;
+        }
+      }
+      if (parts.length) {
+        if (i)
+          parts.push(fromCharCodes(chunk.slice(0, i)));
+        return parts.join("");
+      }
+      return fromCharCodes(chunk.slice(0, i));
+    }
+    exports2.utf8read = utf8read;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/binary-format-contract.js
+var require_binary_format_contract = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/binary-format-contract.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.WireType = exports2.mergeBinaryOptions = exports2.UnknownFieldHandler = void 0;
+    var UnknownFieldHandler;
+    (function(UnknownFieldHandler2) {
+      UnknownFieldHandler2.symbol = /* @__PURE__ */ Symbol.for("protobuf-ts/unknown");
+      UnknownFieldHandler2.onRead = (typeName, message, fieldNo, wireType, data) => {
+        let container = is(message) ? message[UnknownFieldHandler2.symbol] : message[UnknownFieldHandler2.symbol] = [];
+        container.push({ no: fieldNo, wireType, data });
+      };
+      UnknownFieldHandler2.onWrite = (typeName, message, writer) => {
+        for (let { no, wireType, data } of UnknownFieldHandler2.list(message))
+          writer.tag(no, wireType).raw(data);
+      };
+      UnknownFieldHandler2.list = (message, fieldNo) => {
+        if (is(message)) {
+          let all = message[UnknownFieldHandler2.symbol];
+          return fieldNo ? all.filter((uf) => uf.no == fieldNo) : all;
+        }
+        return [];
+      };
+      UnknownFieldHandler2.last = (message, fieldNo) => UnknownFieldHandler2.list(message, fieldNo).slice(-1)[0];
+      const is = (message) => message && Array.isArray(message[UnknownFieldHandler2.symbol]);
+    })(UnknownFieldHandler = exports2.UnknownFieldHandler || (exports2.UnknownFieldHandler = {}));
+    function mergeBinaryOptions(a, b) {
+      return Object.assign(Object.assign({}, a), b);
+    }
+    exports2.mergeBinaryOptions = mergeBinaryOptions;
+    var WireType;
+    (function(WireType2) {
+      WireType2[WireType2["Varint"] = 0] = "Varint";
+      WireType2[WireType2["Bit64"] = 1] = "Bit64";
+      WireType2[WireType2["LengthDelimited"] = 2] = "LengthDelimited";
+      WireType2[WireType2["StartGroup"] = 3] = "StartGroup";
+      WireType2[WireType2["EndGroup"] = 4] = "EndGroup";
+      WireType2[WireType2["Bit32"] = 5] = "Bit32";
+    })(WireType = exports2.WireType || (exports2.WireType = {}));
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/goog-varint.js
+var require_goog_varint = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/goog-varint.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.varint32read = exports2.varint32write = exports2.int64toString = exports2.int64fromString = exports2.varint64write = exports2.varint64read = void 0;
+    function varint64read() {
+      let lowBits = 0;
+      let highBits = 0;
+      for (let shift = 0; shift < 28; shift += 7) {
+        let b = this.buf[this.pos++];
+        lowBits |= (b & 127) << shift;
+        if ((b & 128) == 0) {
+          this.assertBounds();
+          return [lowBits, highBits];
+        }
+      }
+      let middleByte = this.buf[this.pos++];
+      lowBits |= (middleByte & 15) << 28;
+      highBits = (middleByte & 112) >> 4;
+      if ((middleByte & 128) == 0) {
+        this.assertBounds();
+        return [lowBits, highBits];
+      }
+      for (let shift = 3; shift <= 31; shift += 7) {
+        let b = this.buf[this.pos++];
+        highBits |= (b & 127) << shift;
+        if ((b & 128) == 0) {
+          this.assertBounds();
+          return [lowBits, highBits];
+        }
+      }
+      throw new Error("invalid varint");
+    }
+    exports2.varint64read = varint64read;
+    function varint64write(lo, hi, bytes) {
+      for (let i = 0; i < 28; i = i + 7) {
+        const shift = lo >>> i;
+        const hasNext = !(shift >>> 7 == 0 && hi == 0);
+        const byte = (hasNext ? shift | 128 : shift) & 255;
+        bytes.push(byte);
+        if (!hasNext) {
+          return;
+        }
+      }
+      const splitBits = lo >>> 28 & 15 | (hi & 7) << 4;
+      const hasMoreBits = !(hi >> 3 == 0);
+      bytes.push((hasMoreBits ? splitBits | 128 : splitBits) & 255);
+      if (!hasMoreBits) {
+        return;
+      }
+      for (let i = 3; i < 31; i = i + 7) {
+        const shift = hi >>> i;
+        const hasNext = !(shift >>> 7 == 0);
+        const byte = (hasNext ? shift | 128 : shift) & 255;
+        bytes.push(byte);
+        if (!hasNext) {
+          return;
+        }
+      }
+      bytes.push(hi >>> 31 & 1);
+    }
+    exports2.varint64write = varint64write;
+    var TWO_PWR_32_DBL2 = (1 << 16) * (1 << 16);
+    function int64fromString(dec) {
+      let minus = dec[0] == "-";
+      if (minus)
+        dec = dec.slice(1);
+      const base = 1e6;
+      let lowBits = 0;
+      let highBits = 0;
+      function add1e6digit(begin, end) {
+        const digit1e6 = Number(dec.slice(begin, end));
+        highBits *= base;
+        lowBits = lowBits * base + digit1e6;
+        if (lowBits >= TWO_PWR_32_DBL2) {
+          highBits = highBits + (lowBits / TWO_PWR_32_DBL2 | 0);
+          lowBits = lowBits % TWO_PWR_32_DBL2;
+        }
+      }
+      add1e6digit(-24, -18);
+      add1e6digit(-18, -12);
+      add1e6digit(-12, -6);
+      add1e6digit(-6);
+      return [minus, lowBits, highBits];
+    }
+    exports2.int64fromString = int64fromString;
+    function int64toString(bitsLow, bitsHigh) {
+      if (bitsHigh >>> 0 <= 2097151) {
+        return "" + (TWO_PWR_32_DBL2 * bitsHigh + (bitsLow >>> 0));
+      }
+      let low = bitsLow & 16777215;
+      let mid = (bitsLow >>> 24 | bitsHigh << 8) >>> 0 & 16777215;
+      let high = bitsHigh >> 16 & 65535;
+      let digitA = low + mid * 6777216 + high * 6710656;
+      let digitB = mid + high * 8147497;
+      let digitC = high * 2;
+      let base = 1e7;
+      if (digitA >= base) {
+        digitB += Math.floor(digitA / base);
+        digitA %= base;
+      }
+      if (digitB >= base) {
+        digitC += Math.floor(digitB / base);
+        digitB %= base;
+      }
+      function decimalFrom1e7(digit1e7, needLeadingZeros) {
+        let partial = digit1e7 ? String(digit1e7) : "";
+        if (needLeadingZeros) {
+          return "0000000".slice(partial.length) + partial;
+        }
+        return partial;
+      }
+      return decimalFrom1e7(
+        digitC,
+        /*needLeadingZeros=*/
+        0
+      ) + decimalFrom1e7(
+        digitB,
+        /*needLeadingZeros=*/
+        digitC
+      ) + // If the final 1e7 digit didn't need leading zeros, we would have
+      // returned via the trivial code path at the top.
+      decimalFrom1e7(
+        digitA,
+        /*needLeadingZeros=*/
+        1
+      );
+    }
+    exports2.int64toString = int64toString;
+    function varint32write(value, bytes) {
+      if (value >= 0) {
+        while (value > 127) {
+          bytes.push(value & 127 | 128);
+          value = value >>> 7;
+        }
+        bytes.push(value);
+      } else {
+        for (let i = 0; i < 9; i++) {
+          bytes.push(value & 127 | 128);
+          value = value >> 7;
+        }
+        bytes.push(1);
+      }
+    }
+    exports2.varint32write = varint32write;
+    function varint32read() {
+      let b = this.buf[this.pos++];
+      let result = b & 127;
+      if ((b & 128) == 0) {
+        this.assertBounds();
+        return result;
+      }
+      b = this.buf[this.pos++];
+      result |= (b & 127) << 7;
+      if ((b & 128) == 0) {
+        this.assertBounds();
+        return result;
+      }
+      b = this.buf[this.pos++];
+      result |= (b & 127) << 14;
+      if ((b & 128) == 0) {
+        this.assertBounds();
+        return result;
+      }
+      b = this.buf[this.pos++];
+      result |= (b & 127) << 21;
+      if ((b & 128) == 0) {
+        this.assertBounds();
+        return result;
+      }
+      b = this.buf[this.pos++];
+      result |= (b & 15) << 28;
+      for (let readBytes = 5; (b & 128) !== 0 && readBytes < 10; readBytes++)
+        b = this.buf[this.pos++];
+      if ((b & 128) != 0)
+        throw new Error("invalid varint");
+      this.assertBounds();
+      return result >>> 0;
+    }
+    exports2.varint32read = varint32read;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/pb-long.js
+var require_pb_long = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/pb-long.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.PbLong = exports2.PbULong = exports2.detectBi = void 0;
+    var goog_varint_1 = require_goog_varint();
+    var BI;
+    function detectBi() {
+      const dv = new DataView(new ArrayBuffer(8));
+      const ok = globalThis.BigInt !== void 0 && typeof dv.getBigInt64 === "function" && typeof dv.getBigUint64 === "function" && typeof dv.setBigInt64 === "function" && typeof dv.setBigUint64 === "function";
+      BI = ok ? {
+        MIN: BigInt("-9223372036854775808"),
+        MAX: BigInt("9223372036854775807"),
+        UMIN: BigInt("0"),
+        UMAX: BigInt("18446744073709551615"),
+        C: BigInt,
+        V: dv
+      } : void 0;
+    }
+    exports2.detectBi = detectBi;
+    detectBi();
+    function assertBi(bi) {
+      if (!bi)
+        throw new Error("BigInt unavailable, see https://github.com/timostamm/protobuf-ts/blob/v1.0.8/MANUAL.md#bigint-support");
+    }
+    var RE_DECIMAL_STR = /^-?[0-9]+$/;
+    var TWO_PWR_32_DBL2 = 4294967296;
+    var HALF_2_PWR_32 = 2147483648;
+    var SharedPbLong = class {
+      /**
+       * Create a new instance with the given bits.
+       */
+      constructor(lo, hi) {
+        this.lo = lo | 0;
+        this.hi = hi | 0;
+      }
+      /**
+       * Is this instance equal to 0?
+       */
+      isZero() {
+        return this.lo == 0 && this.hi == 0;
+      }
+      /**
+       * Convert to a native number.
+       */
+      toNumber() {
+        let result = this.hi * TWO_PWR_32_DBL2 + (this.lo >>> 0);
+        if (!Number.isSafeInteger(result))
+          throw new Error("cannot convert to safe number");
+        return result;
+      }
+    };
+    var PbULong = class _PbULong extends SharedPbLong {
+      /**
+       * Create instance from a `string`, `number` or `bigint`.
+       */
+      static from(value) {
+        if (BI)
+          switch (typeof value) {
+            case "string":
+              if (value == "0")
+                return this.ZERO;
+              if (value == "")
+                throw new Error("string is no integer");
+              value = BI.C(value);
+            case "number":
+              if (value === 0)
+                return this.ZERO;
+              value = BI.C(value);
+            case "bigint":
+              if (!value)
+                return this.ZERO;
+              if (value < BI.UMIN)
+                throw new Error("signed value for ulong");
+              if (value > BI.UMAX)
+                throw new Error("ulong too large");
+              BI.V.setBigUint64(0, value, true);
+              return new _PbULong(BI.V.getInt32(0, true), BI.V.getInt32(4, true));
+          }
+        else
+          switch (typeof value) {
+            case "string":
+              if (value == "0")
+                return this.ZERO;
+              value = value.trim();
+              if (!RE_DECIMAL_STR.test(value))
+                throw new Error("string is no integer");
+              let [minus, lo, hi] = goog_varint_1.int64fromString(value);
+              if (minus)
+                throw new Error("signed value for ulong");
+              return new _PbULong(lo, hi);
+            case "number":
+              if (value == 0)
+                return this.ZERO;
+              if (!Number.isSafeInteger(value))
+                throw new Error("number is no integer");
+              if (value < 0)
+                throw new Error("signed value for ulong");
+              return new _PbULong(value, value / TWO_PWR_32_DBL2);
+          }
+        throw new Error("unknown value " + typeof value);
+      }
+      /**
+       * Convert to decimal string.
+       */
+      toString() {
+        return BI ? this.toBigInt().toString() : goog_varint_1.int64toString(this.lo, this.hi);
+      }
+      /**
+       * Convert to native bigint.
+       */
+      toBigInt() {
+        assertBi(BI);
+        BI.V.setInt32(0, this.lo, true);
+        BI.V.setInt32(4, this.hi, true);
+        return BI.V.getBigUint64(0, true);
+      }
+    };
+    exports2.PbULong = PbULong;
+    PbULong.ZERO = new PbULong(0, 0);
+    var PbLong = class _PbLong extends SharedPbLong {
+      /**
+       * Create instance from a `string`, `number` or `bigint`.
+       */
+      static from(value) {
+        if (BI)
+          switch (typeof value) {
+            case "string":
+              if (value == "0")
+                return this.ZERO;
+              if (value == "")
+                throw new Error("string is no integer");
+              value = BI.C(value);
+            case "number":
+              if (value === 0)
+                return this.ZERO;
+              value = BI.C(value);
+            case "bigint":
+              if (!value)
+                return this.ZERO;
+              if (value < BI.MIN)
+                throw new Error("signed long too small");
+              if (value > BI.MAX)
+                throw new Error("signed long too large");
+              BI.V.setBigInt64(0, value, true);
+              return new _PbLong(BI.V.getInt32(0, true), BI.V.getInt32(4, true));
+          }
+        else
+          switch (typeof value) {
+            case "string":
+              if (value == "0")
+                return this.ZERO;
+              value = value.trim();
+              if (!RE_DECIMAL_STR.test(value))
+                throw new Error("string is no integer");
+              let [minus, lo, hi] = goog_varint_1.int64fromString(value);
+              if (minus) {
+                if (hi > HALF_2_PWR_32 || hi == HALF_2_PWR_32 && lo != 0)
+                  throw new Error("signed long too small");
+              } else if (hi >= HALF_2_PWR_32)
+                throw new Error("signed long too large");
+              let pbl = new _PbLong(lo, hi);
+              return minus ? pbl.negate() : pbl;
+            case "number":
+              if (value == 0)
+                return this.ZERO;
+              if (!Number.isSafeInteger(value))
+                throw new Error("number is no integer");
+              return value > 0 ? new _PbLong(value, value / TWO_PWR_32_DBL2) : new _PbLong(-value, -value / TWO_PWR_32_DBL2).negate();
+          }
+        throw new Error("unknown value " + typeof value);
+      }
+      /**
+       * Do we have a minus sign?
+       */
+      isNegative() {
+        return (this.hi & HALF_2_PWR_32) !== 0;
+      }
+      /**
+       * Negate two's complement.
+       * Invert all the bits and add one to the result.
+       */
+      negate() {
+        let hi = ~this.hi, lo = this.lo;
+        if (lo)
+          lo = ~lo + 1;
+        else
+          hi += 1;
+        return new _PbLong(lo, hi);
+      }
+      /**
+       * Convert to decimal string.
+       */
+      toString() {
+        if (BI)
+          return this.toBigInt().toString();
+        if (this.isNegative()) {
+          let n = this.negate();
+          return "-" + goog_varint_1.int64toString(n.lo, n.hi);
+        }
+        return goog_varint_1.int64toString(this.lo, this.hi);
+      }
+      /**
+       * Convert to native bigint.
+       */
+      toBigInt() {
+        assertBi(BI);
+        BI.V.setInt32(0, this.lo, true);
+        BI.V.setInt32(4, this.hi, true);
+        return BI.V.getBigInt64(0, true);
+      }
+    };
+    exports2.PbLong = PbLong;
+    PbLong.ZERO = new PbLong(0, 0);
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/binary-reader.js
+var require_binary_reader = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/binary-reader.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BinaryReader = exports2.binaryReadOptions = void 0;
+    var binary_format_contract_1 = require_binary_format_contract();
+    var pb_long_1 = require_pb_long();
+    var goog_varint_1 = require_goog_varint();
+    var defaultsRead = {
+      readUnknownField: true,
+      readerFactory: (bytes) => new BinaryReader(bytes)
+    };
+    function binaryReadOptions(options) {
+      return options ? Object.assign(Object.assign({}, defaultsRead), options) : defaultsRead;
+    }
+    exports2.binaryReadOptions = binaryReadOptions;
+    var BinaryReader = class {
+      constructor(buf, textDecoder) {
+        this.varint64 = goog_varint_1.varint64read;
+        this.uint32 = goog_varint_1.varint32read;
+        this.buf = buf;
+        this.len = buf.length;
+        this.pos = 0;
+        this.view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
+        this.textDecoder = textDecoder !== null && textDecoder !== void 0 ? textDecoder : new TextDecoder("utf-8", {
+          fatal: true,
+          ignoreBOM: true
+        });
+      }
+      /**
+       * Reads a tag - field number and wire type.
+       */
+      tag() {
+        let tag = this.uint32(), fieldNo = tag >>> 3, wireType = tag & 7;
+        if (fieldNo <= 0 || wireType < 0 || wireType > 5)
+          throw new Error("illegal tag: field no " + fieldNo + " wire type " + wireType);
+        return [fieldNo, wireType];
+      }
+      /**
+       * Skip one element on the wire and return the skipped data.
+       * Supports WireType.StartGroup since v2.0.0-alpha.23.
+       */
+      skip(wireType) {
+        let start = this.pos;
+        switch (wireType) {
+          case binary_format_contract_1.WireType.Varint:
+            while (this.buf[this.pos++] & 128) {
+            }
+            break;
+          case binary_format_contract_1.WireType.Bit64:
+            this.pos += 4;
+          case binary_format_contract_1.WireType.Bit32:
+            this.pos += 4;
+            break;
+          case binary_format_contract_1.WireType.LengthDelimited:
+            let len = this.uint32();
+            this.pos += len;
+            break;
+          case binary_format_contract_1.WireType.StartGroup:
+            let t;
+            while ((t = this.tag()[1]) !== binary_format_contract_1.WireType.EndGroup) {
+              this.skip(t);
+            }
+            break;
+          default:
+            throw new Error("cant skip wire type " + wireType);
+        }
+        this.assertBounds();
+        return this.buf.subarray(start, this.pos);
+      }
+      /**
+       * Throws error if position in byte array is out of range.
+       */
+      assertBounds() {
+        if (this.pos > this.len)
+          throw new RangeError("premature EOF");
+      }
+      /**
+       * Read a `int32` field, a signed 32 bit varint.
+       */
+      int32() {
+        return this.uint32() | 0;
+      }
+      /**
+       * Read a `sint32` field, a signed, zigzag-encoded 32-bit varint.
+       */
+      sint32() {
+        let zze = this.uint32();
+        return zze >>> 1 ^ -(zze & 1);
+      }
+      /**
+       * Read a `int64` field, a signed 64-bit varint.
+       */
+      int64() {
+        return new pb_long_1.PbLong(...this.varint64());
+      }
+      /**
+       * Read a `uint64` field, an unsigned 64-bit varint.
+       */
+      uint64() {
+        return new pb_long_1.PbULong(...this.varint64());
+      }
+      /**
+       * Read a `sint64` field, a signed, zig-zag-encoded 64-bit varint.
+       */
+      sint64() {
+        let [lo, hi] = this.varint64();
+        let s = -(lo & 1);
+        lo = (lo >>> 1 | (hi & 1) << 31) ^ s;
+        hi = hi >>> 1 ^ s;
+        return new pb_long_1.PbLong(lo, hi);
+      }
+      /**
+       * Read a `bool` field, a variant.
+       */
+      bool() {
+        let [lo, hi] = this.varint64();
+        return lo !== 0 || hi !== 0;
+      }
+      /**
+       * Read a `fixed32` field, an unsigned, fixed-length 32-bit integer.
+       */
+      fixed32() {
+        return this.view.getUint32((this.pos += 4) - 4, true);
+      }
+      /**
+       * Read a `sfixed32` field, a signed, fixed-length 32-bit integer.
+       */
+      sfixed32() {
+        return this.view.getInt32((this.pos += 4) - 4, true);
+      }
+      /**
+       * Read a `fixed64` field, an unsigned, fixed-length 64 bit integer.
+       */
+      fixed64() {
+        return new pb_long_1.PbULong(this.sfixed32(), this.sfixed32());
+      }
+      /**
+       * Read a `fixed64` field, a signed, fixed-length 64-bit integer.
+       */
+      sfixed64() {
+        return new pb_long_1.PbLong(this.sfixed32(), this.sfixed32());
+      }
+      /**
+       * Read a `float` field, 32-bit floating point number.
+       */
+      float() {
+        return this.view.getFloat32((this.pos += 4) - 4, true);
+      }
+      /**
+       * Read a `double` field, a 64-bit floating point number.
+       */
+      double() {
+        return this.view.getFloat64((this.pos += 8) - 8, true);
+      }
+      /**
+       * Read a `bytes` field, length-delimited arbitrary data.
+       */
+      bytes() {
+        let len = this.uint32();
+        let start = this.pos;
+        this.pos += len;
+        this.assertBounds();
+        return this.buf.subarray(start, start + len);
+      }
+      /**
+       * Read a `string` field, length-delimited data converted to UTF-8 text.
+       */
+      string() {
+        return this.textDecoder.decode(this.bytes());
+      }
+    };
+    exports2.BinaryReader = BinaryReader;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/assert.js
+var require_assert = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/assert.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.assertFloat32 = exports2.assertUInt32 = exports2.assertInt32 = exports2.assertNever = exports2.assert = void 0;
+    function assert(condition, msg) {
+      if (!condition) {
+        throw new Error(msg);
+      }
+    }
+    exports2.assert = assert;
+    function assertNever2(value, msg) {
+      throw new Error(msg !== null && msg !== void 0 ? msg : "Unexpected object: " + value);
+    }
+    exports2.assertNever = assertNever2;
+    var FLOAT32_MAX = 34028234663852886e22;
+    var FLOAT32_MIN = -34028234663852886e22;
+    var UINT32_MAX = 4294967295;
+    var INT32_MAX = 2147483647;
+    var INT32_MIN = -2147483648;
+    function assertInt32(arg) {
+      if (typeof arg !== "number")
+        throw new Error("invalid int 32: " + typeof arg);
+      if (!Number.isInteger(arg) || arg > INT32_MAX || arg < INT32_MIN)
+        throw new Error("invalid int 32: " + arg);
+    }
+    exports2.assertInt32 = assertInt32;
+    function assertUInt32(arg) {
+      if (typeof arg !== "number")
+        throw new Error("invalid uint 32: " + typeof arg);
+      if (!Number.isInteger(arg) || arg > UINT32_MAX || arg < 0)
+        throw new Error("invalid uint 32: " + arg);
+    }
+    exports2.assertUInt32 = assertUInt32;
+    function assertFloat32(arg) {
+      if (typeof arg !== "number")
+        throw new Error("invalid float 32: " + typeof arg);
+      if (!Number.isFinite(arg))
+        return;
+      if (arg > FLOAT32_MAX || arg < FLOAT32_MIN)
+        throw new Error("invalid float 32: " + arg);
+    }
+    exports2.assertFloat32 = assertFloat32;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/binary-writer.js
+var require_binary_writer = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/binary-writer.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BinaryWriter = exports2.binaryWriteOptions = void 0;
+    var pb_long_1 = require_pb_long();
+    var goog_varint_1 = require_goog_varint();
+    var assert_1 = require_assert();
+    var defaultsWrite = {
+      writeUnknownFields: true,
+      writerFactory: () => new BinaryWriter()
+    };
+    function binaryWriteOptions(options) {
+      return options ? Object.assign(Object.assign({}, defaultsWrite), options) : defaultsWrite;
+    }
+    exports2.binaryWriteOptions = binaryWriteOptions;
+    var BinaryWriter = class {
+      constructor(textEncoder) {
+        this.stack = [];
+        this.textEncoder = textEncoder !== null && textEncoder !== void 0 ? textEncoder : new TextEncoder();
+        this.chunks = [];
+        this.buf = [];
+      }
+      /**
+       * Return all bytes written and reset this writer.
+       */
+      finish() {
+        this.chunks.push(new Uint8Array(this.buf));
+        let len = 0;
+        for (let i = 0; i < this.chunks.length; i++)
+          len += this.chunks[i].length;
+        let bytes = new Uint8Array(len);
+        let offset = 0;
+        for (let i = 0; i < this.chunks.length; i++) {
+          bytes.set(this.chunks[i], offset);
+          offset += this.chunks[i].length;
+        }
+        this.chunks = [];
+        return bytes;
+      }
+      /**
+       * Start a new fork for length-delimited data like a message
+       * or a packed repeated field.
+       *
+       * Must be joined later with `join()`.
+       */
+      fork() {
+        this.stack.push({ chunks: this.chunks, buf: this.buf });
+        this.chunks = [];
+        this.buf = [];
+        return this;
+      }
+      /**
+       * Join the last fork. Write its length and bytes, then
+       * return to the previous state.
+       */
+      join() {
+        let chunk = this.finish();
+        let prev = this.stack.pop();
+        if (!prev)
+          throw new Error("invalid state, fork stack empty");
+        this.chunks = prev.chunks;
+        this.buf = prev.buf;
+        this.uint32(chunk.byteLength);
+        return this.raw(chunk);
+      }
+      /**
+       * Writes a tag (field number and wire type).
+       *
+       * Equivalent to `uint32( (fieldNo << 3 | type) >>> 0 )`.
+       *
+       * Generated code should compute the tag ahead of time and call `uint32()`.
+       */
+      tag(fieldNo, type2) {
+        return this.uint32((fieldNo << 3 | type2) >>> 0);
+      }
+      /**
+       * Write a chunk of raw bytes.
+       */
+      raw(chunk) {
+        if (this.buf.length) {
+          this.chunks.push(new Uint8Array(this.buf));
+          this.buf = [];
+        }
+        this.chunks.push(chunk);
+        return this;
+      }
+      /**
+       * Write a `uint32` value, an unsigned 32 bit varint.
+       */
+      uint32(value) {
+        assert_1.assertUInt32(value);
+        while (value > 127) {
+          this.buf.push(value & 127 | 128);
+          value = value >>> 7;
+        }
+        this.buf.push(value);
+        return this;
+      }
+      /**
+       * Write a `int32` value, a signed 32 bit varint.
+       */
+      int32(value) {
+        assert_1.assertInt32(value);
+        goog_varint_1.varint32write(value, this.buf);
+        return this;
+      }
+      /**
+       * Write a `bool` value, a variant.
+       */
+      bool(value) {
+        this.buf.push(value ? 1 : 0);
+        return this;
+      }
+      /**
+       * Write a `bytes` value, length-delimited arbitrary data.
+       */
+      bytes(value) {
+        this.uint32(value.byteLength);
+        return this.raw(value);
+      }
+      /**
+       * Write a `string` value, length-delimited data converted to UTF-8 text.
+       */
+      string(value) {
+        let chunk = this.textEncoder.encode(value);
+        this.uint32(chunk.byteLength);
+        return this.raw(chunk);
+      }
+      /**
+       * Write a `float` value, 32-bit floating point number.
+       */
+      float(value) {
+        assert_1.assertFloat32(value);
+        let chunk = new Uint8Array(4);
+        new DataView(chunk.buffer).setFloat32(0, value, true);
+        return this.raw(chunk);
+      }
+      /**
+       * Write a `double` value, a 64-bit floating point number.
+       */
+      double(value) {
+        let chunk = new Uint8Array(8);
+        new DataView(chunk.buffer).setFloat64(0, value, true);
+        return this.raw(chunk);
+      }
+      /**
+       * Write a `fixed32` value, an unsigned, fixed-length 32-bit integer.
+       */
+      fixed32(value) {
+        assert_1.assertUInt32(value);
+        let chunk = new Uint8Array(4);
+        new DataView(chunk.buffer).setUint32(0, value, true);
+        return this.raw(chunk);
+      }
+      /**
+       * Write a `sfixed32` value, a signed, fixed-length 32-bit integer.
+       */
+      sfixed32(value) {
+        assert_1.assertInt32(value);
+        let chunk = new Uint8Array(4);
+        new DataView(chunk.buffer).setInt32(0, value, true);
+        return this.raw(chunk);
+      }
+      /**
+       * Write a `sint32` value, a signed, zigzag-encoded 32-bit varint.
+       */
+      sint32(value) {
+        assert_1.assertInt32(value);
+        value = (value << 1 ^ value >> 31) >>> 0;
+        goog_varint_1.varint32write(value, this.buf);
+        return this;
+      }
+      /**
+       * Write a `fixed64` value, a signed, fixed-length 64-bit integer.
+       */
+      sfixed64(value) {
+        let chunk = new Uint8Array(8);
+        let view = new DataView(chunk.buffer);
+        let long = pb_long_1.PbLong.from(value);
+        view.setInt32(0, long.lo, true);
+        view.setInt32(4, long.hi, true);
+        return this.raw(chunk);
+      }
+      /**
+       * Write a `fixed64` value, an unsigned, fixed-length 64 bit integer.
+       */
+      fixed64(value) {
+        let chunk = new Uint8Array(8);
+        let view = new DataView(chunk.buffer);
+        let long = pb_long_1.PbULong.from(value);
+        view.setInt32(0, long.lo, true);
+        view.setInt32(4, long.hi, true);
+        return this.raw(chunk);
+      }
+      /**
+       * Write a `int64` value, a signed 64-bit varint.
+       */
+      int64(value) {
+        let long = pb_long_1.PbLong.from(value);
+        goog_varint_1.varint64write(long.lo, long.hi, this.buf);
+        return this;
+      }
+      /**
+       * Write a `sint64` value, a signed, zig-zag-encoded 64-bit varint.
+       */
+      sint64(value) {
+        let long = pb_long_1.PbLong.from(value), sign = long.hi >> 31, lo = long.lo << 1 ^ sign, hi = (long.hi << 1 | long.lo >>> 31) ^ sign;
+        goog_varint_1.varint64write(lo, hi, this.buf);
+        return this;
+      }
+      /**
+       * Write a `uint64` value, an unsigned 64-bit varint.
+       */
+      uint64(value) {
+        let long = pb_long_1.PbULong.from(value);
+        goog_varint_1.varint64write(long.lo, long.hi, this.buf);
+        return this;
+      }
+    };
+    exports2.BinaryWriter = BinaryWriter;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/json-format-contract.js
+var require_json_format_contract = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/json-format-contract.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.mergeJsonOptions = exports2.jsonWriteOptions = exports2.jsonReadOptions = void 0;
+    var defaultsWrite = {
+      emitDefaultValues: false,
+      enumAsInteger: false,
+      useProtoFieldName: false,
+      prettySpaces: 0
+    };
+    var defaultsRead = {
+      ignoreUnknownFields: false
+    };
+    function jsonReadOptions(options) {
+      return options ? Object.assign(Object.assign({}, defaultsRead), options) : defaultsRead;
+    }
+    exports2.jsonReadOptions = jsonReadOptions;
+    function jsonWriteOptions(options) {
+      return options ? Object.assign(Object.assign({}, defaultsWrite), options) : defaultsWrite;
+    }
+    exports2.jsonWriteOptions = jsonWriteOptions;
+    function mergeJsonOptions(a, b) {
+      var _a, _b;
+      let c = Object.assign(Object.assign({}, a), b);
+      c.typeRegistry = [...(_a = a === null || a === void 0 ? void 0 : a.typeRegistry) !== null && _a !== void 0 ? _a : [], ...(_b = b === null || b === void 0 ? void 0 : b.typeRegistry) !== null && _b !== void 0 ? _b : []];
+      return c;
+    }
+    exports2.mergeJsonOptions = mergeJsonOptions;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/message-type-contract.js
+var require_message_type_contract = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/message-type-contract.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.MESSAGE_TYPE = void 0;
+    exports2.MESSAGE_TYPE = /* @__PURE__ */ Symbol.for("protobuf-ts/message-type");
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/lower-camel-case.js
+var require_lower_camel_case = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/lower-camel-case.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.lowerCamelCase = void 0;
+    function lowerCamelCase(snakeCase) {
+      let capNext = false;
+      const sb = [];
+      for (let i = 0; i < snakeCase.length; i++) {
+        let next = snakeCase.charAt(i);
+        if (next == "_") {
+          capNext = true;
+        } else if (/\d/.test(next)) {
+          sb.push(next);
+          capNext = true;
+        } else if (capNext) {
+          sb.push(next.toUpperCase());
+          capNext = false;
+        } else if (i == 0) {
+          sb.push(next.toLowerCase());
+        } else {
+          sb.push(next);
+        }
+      }
+      return sb.join("");
+    }
+    exports2.lowerCamelCase = lowerCamelCase;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-info.js
+var require_reflection_info = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-info.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.readMessageOption = exports2.readFieldOption = exports2.readFieldOptions = exports2.normalizeFieldInfo = exports2.RepeatType = exports2.LongType = exports2.ScalarType = void 0;
+    var lower_camel_case_1 = require_lower_camel_case();
+    var ScalarType;
+    (function(ScalarType2) {
+      ScalarType2[ScalarType2["DOUBLE"] = 1] = "DOUBLE";
+      ScalarType2[ScalarType2["FLOAT"] = 2] = "FLOAT";
+      ScalarType2[ScalarType2["INT64"] = 3] = "INT64";
+      ScalarType2[ScalarType2["UINT64"] = 4] = "UINT64";
+      ScalarType2[ScalarType2["INT32"] = 5] = "INT32";
+      ScalarType2[ScalarType2["FIXED64"] = 6] = "FIXED64";
+      ScalarType2[ScalarType2["FIXED32"] = 7] = "FIXED32";
+      ScalarType2[ScalarType2["BOOL"] = 8] = "BOOL";
+      ScalarType2[ScalarType2["STRING"] = 9] = "STRING";
+      ScalarType2[ScalarType2["BYTES"] = 12] = "BYTES";
+      ScalarType2[ScalarType2["UINT32"] = 13] = "UINT32";
+      ScalarType2[ScalarType2["SFIXED32"] = 15] = "SFIXED32";
+      ScalarType2[ScalarType2["SFIXED64"] = 16] = "SFIXED64";
+      ScalarType2[ScalarType2["SINT32"] = 17] = "SINT32";
+      ScalarType2[ScalarType2["SINT64"] = 18] = "SINT64";
+    })(ScalarType = exports2.ScalarType || (exports2.ScalarType = {}));
+    var LongType;
+    (function(LongType2) {
+      LongType2[LongType2["BIGINT"] = 0] = "BIGINT";
+      LongType2[LongType2["STRING"] = 1] = "STRING";
+      LongType2[LongType2["NUMBER"] = 2] = "NUMBER";
+    })(LongType = exports2.LongType || (exports2.LongType = {}));
+    var RepeatType;
+    (function(RepeatType2) {
+      RepeatType2[RepeatType2["NO"] = 0] = "NO";
+      RepeatType2[RepeatType2["PACKED"] = 1] = "PACKED";
+      RepeatType2[RepeatType2["UNPACKED"] = 2] = "UNPACKED";
+    })(RepeatType = exports2.RepeatType || (exports2.RepeatType = {}));
+    function normalizeFieldInfo(field) {
+      var _a, _b, _c, _d;
+      field.localName = (_a = field.localName) !== null && _a !== void 0 ? _a : lower_camel_case_1.lowerCamelCase(field.name);
+      field.jsonName = (_b = field.jsonName) !== null && _b !== void 0 ? _b : lower_camel_case_1.lowerCamelCase(field.name);
+      field.repeat = (_c = field.repeat) !== null && _c !== void 0 ? _c : RepeatType.NO;
+      field.opt = (_d = field.opt) !== null && _d !== void 0 ? _d : field.repeat ? false : field.oneof ? false : field.kind == "message";
+      return field;
+    }
+    exports2.normalizeFieldInfo = normalizeFieldInfo;
+    function readFieldOptions(messageType, fieldName, extensionName, extensionType) {
+      var _a;
+      const options = (_a = messageType.fields.find((m, i) => m.localName == fieldName || i == fieldName)) === null || _a === void 0 ? void 0 : _a.options;
+      return options && options[extensionName] ? extensionType.fromJson(options[extensionName]) : void 0;
+    }
+    exports2.readFieldOptions = readFieldOptions;
+    function readFieldOption(messageType, fieldName, extensionName, extensionType) {
+      var _a;
+      const options = (_a = messageType.fields.find((m, i) => m.localName == fieldName || i == fieldName)) === null || _a === void 0 ? void 0 : _a.options;
+      if (!options) {
+        return void 0;
+      }
+      const optionVal = options[extensionName];
+      if (optionVal === void 0) {
+        return optionVal;
+      }
+      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
+    }
+    exports2.readFieldOption = readFieldOption;
+    function readMessageOption(messageType, extensionName, extensionType) {
+      const options = messageType.options;
+      const optionVal = options[extensionName];
+      if (optionVal === void 0) {
+        return optionVal;
+      }
+      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
+    }
+    exports2.readMessageOption = readMessageOption;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/oneof.js
+var require_oneof = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/oneof.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getSelectedOneofValue = exports2.clearOneofValue = exports2.setUnknownOneofValue = exports2.setOneofValue = exports2.getOneofValue = exports2.isOneofGroup = void 0;
+    function isOneofGroup(any) {
+      if (typeof any != "object" || any === null || !any.hasOwnProperty("oneofKind")) {
+        return false;
+      }
+      switch (typeof any.oneofKind) {
+        case "string":
+          if (any[any.oneofKind] === void 0)
+            return false;
+          return Object.keys(any).length == 2;
+        case "undefined":
+          return Object.keys(any).length == 1;
+        default:
+          return false;
+      }
+    }
+    exports2.isOneofGroup = isOneofGroup;
+    function getOneofValue(oneof, kind) {
+      return oneof[kind];
+    }
+    exports2.getOneofValue = getOneofValue;
+    function setOneofValue(oneof, kind, value) {
+      if (oneof.oneofKind !== void 0) {
+        delete oneof[oneof.oneofKind];
+      }
+      oneof.oneofKind = kind;
+      if (value !== void 0) {
+        oneof[kind] = value;
+      }
+    }
+    exports2.setOneofValue = setOneofValue;
+    function setUnknownOneofValue(oneof, kind, value) {
+      if (oneof.oneofKind !== void 0) {
+        delete oneof[oneof.oneofKind];
+      }
+      oneof.oneofKind = kind;
+      if (value !== void 0 && kind !== void 0) {
+        oneof[kind] = value;
+      }
+    }
+    exports2.setUnknownOneofValue = setUnknownOneofValue;
+    function clearOneofValue(oneof) {
+      if (oneof.oneofKind !== void 0) {
+        delete oneof[oneof.oneofKind];
+      }
+      oneof.oneofKind = void 0;
+    }
+    exports2.clearOneofValue = clearOneofValue;
+    function getSelectedOneofValue(oneof) {
+      if (oneof.oneofKind === void 0) {
+        return void 0;
+      }
+      return oneof[oneof.oneofKind];
+    }
+    exports2.getSelectedOneofValue = getSelectedOneofValue;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-type-check.js
+var require_reflection_type_check = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-type-check.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ReflectionTypeCheck = void 0;
+    var reflection_info_1 = require_reflection_info();
+    var oneof_1 = require_oneof();
+    var ReflectionTypeCheck = class {
+      constructor(info7) {
+        var _a;
+        this.fields = (_a = info7.fields) !== null && _a !== void 0 ? _a : [];
+      }
+      prepare() {
+        if (this.data)
+          return;
+        const req = [], known = [], oneofs = [];
+        for (let field of this.fields) {
+          if (field.oneof) {
+            if (!oneofs.includes(field.oneof)) {
+              oneofs.push(field.oneof);
+              req.push(field.oneof);
+              known.push(field.oneof);
+            }
+          } else {
+            known.push(field.localName);
+            switch (field.kind) {
+              case "scalar":
+              case "enum":
+                if (!field.opt || field.repeat)
+                  req.push(field.localName);
+                break;
+              case "message":
+                if (field.repeat)
+                  req.push(field.localName);
+                break;
+              case "map":
+                req.push(field.localName);
+                break;
+            }
+          }
+        }
+        this.data = { req, known, oneofs: Object.values(oneofs) };
+      }
+      /**
+       * Is the argument a valid message as specified by the
+       * reflection information?
+       *
+       * Checks all field types recursively. The `depth`
+       * specifies how deep into the structure the check will be.
+       *
+       * With a depth of 0, only the presence of fields
+       * is checked.
+       *
+       * With a depth of 1 or more, the field types are checked.
+       *
+       * With a depth of 2 or more, the members of map, repeated
+       * and message fields are checked.
+       *
+       * Message fields will be checked recursively with depth - 1.
+       *
+       * The number of map entries / repeated values being checked
+       * is < depth.
+       */
+      is(message, depth, allowExcessProperties = false) {
+        if (depth < 0)
+          return true;
+        if (message === null || message === void 0 || typeof message != "object")
+          return false;
+        this.prepare();
+        let keys = Object.keys(message), data = this.data;
+        if (keys.length < data.req.length || data.req.some((n) => !keys.includes(n)))
+          return false;
+        if (!allowExcessProperties) {
+          if (keys.some((k) => !data.known.includes(k)))
+            return false;
+        }
+        if (depth < 1) {
+          return true;
+        }
+        for (const name of data.oneofs) {
+          const group = message[name];
+          if (!oneof_1.isOneofGroup(group))
+            return false;
+          if (group.oneofKind === void 0)
+            continue;
+          const field = this.fields.find((f) => f.localName === group.oneofKind);
+          if (!field)
+            return false;
+          if (!this.field(group[group.oneofKind], field, allowExcessProperties, depth))
+            return false;
+        }
+        for (const field of this.fields) {
+          if (field.oneof !== void 0)
+            continue;
+          if (!this.field(message[field.localName], field, allowExcessProperties, depth))
+            return false;
+        }
+        return true;
+      }
+      field(arg, field, allowExcessProperties, depth) {
+        let repeated = field.repeat;
+        switch (field.kind) {
+          case "scalar":
+            if (arg === void 0)
+              return field.opt;
+            if (repeated)
+              return this.scalars(arg, field.T, depth, field.L);
+            return this.scalar(arg, field.T, field.L);
+          case "enum":
+            if (arg === void 0)
+              return field.opt;
+            if (repeated)
+              return this.scalars(arg, reflection_info_1.ScalarType.INT32, depth);
+            return this.scalar(arg, reflection_info_1.ScalarType.INT32);
+          case "message":
+            if (arg === void 0)
+              return true;
+            if (repeated)
+              return this.messages(arg, field.T(), allowExcessProperties, depth);
+            return this.message(arg, field.T(), allowExcessProperties, depth);
+          case "map":
+            if (typeof arg != "object" || arg === null)
+              return false;
+            if (depth < 2)
+              return true;
+            if (!this.mapKeys(arg, field.K, depth))
+              return false;
+            switch (field.V.kind) {
+              case "scalar":
+                return this.scalars(Object.values(arg), field.V.T, depth, field.V.L);
+              case "enum":
+                return this.scalars(Object.values(arg), reflection_info_1.ScalarType.INT32, depth);
+              case "message":
+                return this.messages(Object.values(arg), field.V.T(), allowExcessProperties, depth);
+            }
+            break;
+        }
+        return true;
+      }
+      message(arg, type2, allowExcessProperties, depth) {
+        if (allowExcessProperties) {
+          return type2.isAssignable(arg, depth);
+        }
+        return type2.is(arg, depth);
+      }
+      messages(arg, type2, allowExcessProperties, depth) {
+        if (!Array.isArray(arg))
+          return false;
+        if (depth < 2)
+          return true;
+        if (allowExcessProperties) {
+          for (let i = 0; i < arg.length && i < depth; i++)
+            if (!type2.isAssignable(arg[i], depth - 1))
+              return false;
+        } else {
+          for (let i = 0; i < arg.length && i < depth; i++)
+            if (!type2.is(arg[i], depth - 1))
+              return false;
+        }
+        return true;
+      }
+      scalar(arg, type2, longType) {
+        let argType = typeof arg;
+        switch (type2) {
+          case reflection_info_1.ScalarType.UINT64:
+          case reflection_info_1.ScalarType.FIXED64:
+          case reflection_info_1.ScalarType.INT64:
+          case reflection_info_1.ScalarType.SFIXED64:
+          case reflection_info_1.ScalarType.SINT64:
+            switch (longType) {
+              case reflection_info_1.LongType.BIGINT:
+                return argType == "bigint";
+              case reflection_info_1.LongType.NUMBER:
+                return argType == "number" && !isNaN(arg);
+              default:
+                return argType == "string";
+            }
+          case reflection_info_1.ScalarType.BOOL:
+            return argType == "boolean";
+          case reflection_info_1.ScalarType.STRING:
+            return argType == "string";
+          case reflection_info_1.ScalarType.BYTES:
+            return arg instanceof Uint8Array;
+          case reflection_info_1.ScalarType.DOUBLE:
+          case reflection_info_1.ScalarType.FLOAT:
+            return argType == "number" && !isNaN(arg);
+          default:
+            return argType == "number" && Number.isInteger(arg);
+        }
+      }
+      scalars(arg, type2, depth, longType) {
+        if (!Array.isArray(arg))
+          return false;
+        if (depth < 2)
+          return true;
+        if (Array.isArray(arg)) {
+          for (let i = 0; i < arg.length && i < depth; i++)
+            if (!this.scalar(arg[i], type2, longType))
+              return false;
+        }
+        return true;
+      }
+      mapKeys(map2, type2, depth) {
+        let keys = Object.keys(map2);
+        switch (type2) {
+          case reflection_info_1.ScalarType.INT32:
+          case reflection_info_1.ScalarType.FIXED32:
+          case reflection_info_1.ScalarType.SFIXED32:
+          case reflection_info_1.ScalarType.SINT32:
+          case reflection_info_1.ScalarType.UINT32:
+            return this.scalars(keys.slice(0, depth).map((k) => parseInt(k)), type2, depth);
+          case reflection_info_1.ScalarType.BOOL:
+            return this.scalars(keys.slice(0, depth).map((k) => k == "true" ? true : k == "false" ? false : k), type2, depth);
+          default:
+            return this.scalars(keys, type2, depth, reflection_info_1.LongType.STRING);
+        }
+      }
+    };
+    exports2.ReflectionTypeCheck = ReflectionTypeCheck;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-long-convert.js
+var require_reflection_long_convert = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-long-convert.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.reflectionLongConvert = void 0;
+    var reflection_info_1 = require_reflection_info();
+    function reflectionLongConvert(long, type2) {
+      switch (type2) {
+        case reflection_info_1.LongType.BIGINT:
+          return long.toBigInt();
+        case reflection_info_1.LongType.NUMBER:
+          return long.toNumber();
+        default:
+          return long.toString();
+      }
+    }
+    exports2.reflectionLongConvert = reflectionLongConvert;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-reader.js
+var require_reflection_json_reader = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-reader.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ReflectionJsonReader = void 0;
+    var json_typings_1 = require_json_typings();
+    var base64_1 = require_base642();
+    var reflection_info_1 = require_reflection_info();
+    var pb_long_1 = require_pb_long();
+    var assert_1 = require_assert();
+    var reflection_long_convert_1 = require_reflection_long_convert();
+    var ReflectionJsonReader = class {
+      constructor(info7) {
+        this.info = info7;
+      }
+      prepare() {
+        var _a;
+        if (this.fMap === void 0) {
+          this.fMap = {};
+          const fieldsInput = (_a = this.info.fields) !== null && _a !== void 0 ? _a : [];
+          for (const field of fieldsInput) {
+            this.fMap[field.name] = field;
+            this.fMap[field.jsonName] = field;
+            this.fMap[field.localName] = field;
+          }
+        }
+      }
+      // Cannot parse JSON  for #.
+      assert(condition, fieldName, jsonValue) {
+        if (!condition) {
+          let what = json_typings_1.typeofJsonValue(jsonValue);
+          if (what == "number" || what == "boolean")
+            what = jsonValue.toString();
+          throw new Error(`Cannot parse JSON ${what} for ${this.info.typeName}#${fieldName}`);
+        }
+      }
+      /**
+       * Reads a message from canonical JSON format into the target message.
+       *
+       * Repeated fields are appended. Map entries are added, overwriting
+       * existing keys.
+       *
+       * If a message field is already present, it will be merged with the
+       * new data.
+       */
+      read(input, message, options) {
+        this.prepare();
+        const oneofsHandled = [];
+        for (const [jsonKey, jsonValue] of Object.entries(input)) {
+          const field = this.fMap[jsonKey];
+          if (!field) {
+            if (!options.ignoreUnknownFields)
+              throw new Error(`Found unknown field while reading ${this.info.typeName} from JSON format. JSON key: ${jsonKey}`);
+            continue;
+          }
+          const localName = field.localName;
+          let target;
+          if (field.oneof) {
+            if (jsonValue === null && (field.kind !== "enum" || field.T()[0] !== "google.protobuf.NullValue")) {
+              continue;
+            }
+            if (oneofsHandled.includes(field.oneof))
+              throw new Error(`Multiple members of the oneof group "${field.oneof}" of ${this.info.typeName} are present in JSON.`);
+            oneofsHandled.push(field.oneof);
+            target = message[field.oneof] = {
+              oneofKind: localName
+            };
+          } else {
+            target = message;
+          }
+          if (field.kind == "map") {
+            if (jsonValue === null) {
+              continue;
+            }
+            this.assert(json_typings_1.isJsonObject(jsonValue), field.name, jsonValue);
+            const fieldObj = target[localName];
+            for (const [jsonObjKey, jsonObjValue] of Object.entries(jsonValue)) {
+              this.assert(jsonObjValue !== null, field.name + " map value", null);
+              let val;
+              switch (field.V.kind) {
+                case "message":
+                  val = field.V.T().internalJsonRead(jsonObjValue, options);
+                  break;
+                case "enum":
+                  val = this.enum(field.V.T(), jsonObjValue, field.name, options.ignoreUnknownFields);
+                  if (val === false)
+                    continue;
+                  break;
+                case "scalar":
+                  val = this.scalar(jsonObjValue, field.V.T, field.V.L, field.name);
+                  break;
+              }
+              this.assert(val !== void 0, field.name + " map value", jsonObjValue);
+              let key = jsonObjKey;
+              if (field.K == reflection_info_1.ScalarType.BOOL)
+                key = key == "true" ? true : key == "false" ? false : key;
+              key = this.scalar(key, field.K, reflection_info_1.LongType.STRING, field.name).toString();
+              fieldObj[key] = val;
+            }
+          } else if (field.repeat) {
+            if (jsonValue === null)
+              continue;
+            this.assert(Array.isArray(jsonValue), field.name, jsonValue);
+            const fieldArr = target[localName];
+            for (const jsonItem of jsonValue) {
+              this.assert(jsonItem !== null, field.name, null);
+              let val;
+              switch (field.kind) {
+                case "message":
+                  val = field.T().internalJsonRead(jsonItem, options);
+                  break;
+                case "enum":
+                  val = this.enum(field.T(), jsonItem, field.name, options.ignoreUnknownFields);
+                  if (val === false)
+                    continue;
+                  break;
+                case "scalar":
+                  val = this.scalar(jsonItem, field.T, field.L, field.name);
+                  break;
+              }
+              this.assert(val !== void 0, field.name, jsonValue);
+              fieldArr.push(val);
+            }
+          } else {
+            switch (field.kind) {
+              case "message":
+                if (jsonValue === null && field.T().typeName != "google.protobuf.Value") {
+                  this.assert(field.oneof === void 0, field.name + " (oneof member)", null);
+                  continue;
+                }
+                target[localName] = field.T().internalJsonRead(jsonValue, options, target[localName]);
+                break;
+              case "enum":
+                if (jsonValue === null)
+                  continue;
+                let val = this.enum(field.T(), jsonValue, field.name, options.ignoreUnknownFields);
+                if (val === false)
+                  continue;
+                target[localName] = val;
+                break;
+              case "scalar":
+                if (jsonValue === null)
+                  continue;
+                target[localName] = this.scalar(jsonValue, field.T, field.L, field.name);
+                break;
+            }
+          }
+        }
+      }
+      /**
+       * Returns `false` for unrecognized string representations.
+       *
+       * google.protobuf.NullValue accepts only JSON `null` (or the old `"NULL_VALUE"`).
+       */
+      enum(type2, json2, fieldName, ignoreUnknownFields) {
+        if (type2[0] == "google.protobuf.NullValue")
+          assert_1.assert(json2 === null || json2 === "NULL_VALUE", `Unable to parse field ${this.info.typeName}#${fieldName}, enum ${type2[0]} only accepts null.`);
+        if (json2 === null)
+          return 0;
+        switch (typeof json2) {
+          case "number":
+            assert_1.assert(Number.isInteger(json2), `Unable to parse field ${this.info.typeName}#${fieldName}, enum can only be integral number, got ${json2}.`);
+            return json2;
+          case "string":
+            let localEnumName = json2;
+            if (type2[2] && json2.substring(0, type2[2].length) === type2[2])
+              localEnumName = json2.substring(type2[2].length);
+            let enumNumber = type2[1][localEnumName];
+            if (typeof enumNumber === "undefined" && ignoreUnknownFields) {
+              return false;
+            }
+            assert_1.assert(typeof enumNumber == "number", `Unable to parse field ${this.info.typeName}#${fieldName}, enum ${type2[0]} has no value for "${json2}".`);
+            return enumNumber;
+        }
+        assert_1.assert(false, `Unable to parse field ${this.info.typeName}#${fieldName}, cannot parse enum value from ${typeof json2}".`);
+      }
+      scalar(json2, type2, longType, fieldName) {
+        let e;
+        try {
+          switch (type2) {
+            // float, double: JSON value will be a number or one of the special string values "NaN", "Infinity", and "-Infinity".
+            // Either numbers or strings are accepted. Exponent notation is also accepted.
+            case reflection_info_1.ScalarType.DOUBLE:
+            case reflection_info_1.ScalarType.FLOAT:
+              if (json2 === null)
+                return 0;
+              if (json2 === "NaN")
+                return Number.NaN;
+              if (json2 === "Infinity")
+                return Number.POSITIVE_INFINITY;
+              if (json2 === "-Infinity")
+                return Number.NEGATIVE_INFINITY;
+              if (json2 === "") {
+                e = "empty string";
+                break;
+              }
+              if (typeof json2 == "string" && json2.trim().length !== json2.length) {
+                e = "extra whitespace";
+                break;
+              }
+              if (typeof json2 != "string" && typeof json2 != "number") {
+                break;
+              }
+              let float2 = Number(json2);
+              if (Number.isNaN(float2)) {
+                e = "not a number";
+                break;
+              }
+              if (!Number.isFinite(float2)) {
+                e = "too large or small";
+                break;
+              }
+              if (type2 == reflection_info_1.ScalarType.FLOAT)
+                assert_1.assertFloat32(float2);
+              return float2;
+            // int32, fixed32, uint32: JSON value will be a decimal number. Either numbers or strings are accepted.
+            case reflection_info_1.ScalarType.INT32:
+            case reflection_info_1.ScalarType.FIXED32:
+            case reflection_info_1.ScalarType.SFIXED32:
+            case reflection_info_1.ScalarType.SINT32:
+            case reflection_info_1.ScalarType.UINT32:
+              if (json2 === null)
+                return 0;
+              let int32;
+              if (typeof json2 == "number")
+                int32 = json2;
+              else if (json2 === "")
+                e = "empty string";
+              else if (typeof json2 == "string") {
+                if (json2.trim().length !== json2.length)
+                  e = "extra whitespace";
+                else
+                  int32 = Number(json2);
+              }
+              if (int32 === void 0)
+                break;
+              if (type2 == reflection_info_1.ScalarType.UINT32)
+                assert_1.assertUInt32(int32);
+              else
+                assert_1.assertInt32(int32);
+              return int32;
+            // int64, fixed64, uint64: JSON value will be a decimal string. Either numbers or strings are accepted.
+            case reflection_info_1.ScalarType.INT64:
+            case reflection_info_1.ScalarType.SFIXED64:
+            case reflection_info_1.ScalarType.SINT64:
+              if (json2 === null)
+                return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.ZERO, longType);
+              if (typeof json2 != "number" && typeof json2 != "string")
+                break;
+              return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.from(json2), longType);
+            case reflection_info_1.ScalarType.FIXED64:
+            case reflection_info_1.ScalarType.UINT64:
+              if (json2 === null)
+                return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.ZERO, longType);
+              if (typeof json2 != "number" && typeof json2 != "string")
+                break;
+              return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.from(json2), longType);
+            // bool:
+            case reflection_info_1.ScalarType.BOOL:
+              if (json2 === null)
+                return false;
+              if (typeof json2 !== "boolean")
+                break;
+              return json2;
+            // string:
+            case reflection_info_1.ScalarType.STRING:
+              if (json2 === null)
+                return "";
+              if (typeof json2 !== "string") {
+                e = "extra whitespace";
+                break;
+              }
+              try {
+                encodeURIComponent(json2);
+              } catch (e2) {
+                e2 = "invalid UTF8";
+                break;
+              }
+              return json2;
+            // bytes: JSON value will be the data encoded as a string using standard base64 encoding with paddings.
+            // Either standard or URL-safe base64 encoding with/without paddings are accepted.
+            case reflection_info_1.ScalarType.BYTES:
+              if (json2 === null || json2 === "")
+                return new Uint8Array(0);
+              if (typeof json2 !== "string")
+                break;
+              return base64_1.base64decode(json2);
+          }
+        } catch (error3) {
+          e = error3.message;
+        }
+        this.assert(false, fieldName + (e ? " - " + e : ""), json2);
+      }
+    };
+    exports2.ReflectionJsonReader = ReflectionJsonReader;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-writer.js
+var require_reflection_json_writer = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-writer.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ReflectionJsonWriter = void 0;
+    var base64_1 = require_base642();
+    var pb_long_1 = require_pb_long();
+    var reflection_info_1 = require_reflection_info();
+    var assert_1 = require_assert();
+    var ReflectionJsonWriter = class {
+      constructor(info7) {
+        var _a;
+        this.fields = (_a = info7.fields) !== null && _a !== void 0 ? _a : [];
+      }
+      /**
+       * Converts the message to a JSON object, based on the field descriptors.
+       */
+      write(message, options) {
+        const json2 = {}, source = message;
+        for (const field of this.fields) {
+          if (!field.oneof) {
+            let jsonValue2 = this.field(field, source[field.localName], options);
+            if (jsonValue2 !== void 0)
+              json2[options.useProtoFieldName ? field.name : field.jsonName] = jsonValue2;
+            continue;
+          }
+          const group = source[field.oneof];
+          if (group.oneofKind !== field.localName)
+            continue;
+          const opt = field.kind == "scalar" || field.kind == "enum" ? Object.assign(Object.assign({}, options), { emitDefaultValues: true }) : options;
+          let jsonValue = this.field(field, group[field.localName], opt);
+          assert_1.assert(jsonValue !== void 0);
+          json2[options.useProtoFieldName ? field.name : field.jsonName] = jsonValue;
+        }
+        return json2;
+      }
+      field(field, value, options) {
+        let jsonValue = void 0;
+        if (field.kind == "map") {
+          assert_1.assert(typeof value == "object" && value !== null);
+          const jsonObj = {};
+          switch (field.V.kind) {
+            case "scalar":
+              for (const [entryKey, entryValue] of Object.entries(value)) {
+                const val = this.scalar(field.V.T, entryValue, field.name, false, true);
+                assert_1.assert(val !== void 0);
+                jsonObj[entryKey.toString()] = val;
+              }
+              break;
+            case "message":
+              const messageType = field.V.T();
+              for (const [entryKey, entryValue] of Object.entries(value)) {
+                const val = this.message(messageType, entryValue, field.name, options);
+                assert_1.assert(val !== void 0);
+                jsonObj[entryKey.toString()] = val;
+              }
+              break;
+            case "enum":
+              const enumInfo = field.V.T();
+              for (const [entryKey, entryValue] of Object.entries(value)) {
+                assert_1.assert(entryValue === void 0 || typeof entryValue == "number");
+                const val = this.enum(enumInfo, entryValue, field.name, false, true, options.enumAsInteger);
+                assert_1.assert(val !== void 0);
+                jsonObj[entryKey.toString()] = val;
+              }
+              break;
+          }
+          if (options.emitDefaultValues || Object.keys(jsonObj).length > 0)
+            jsonValue = jsonObj;
+        } else if (field.repeat) {
+          assert_1.assert(Array.isArray(value));
+          const jsonArr = [];
+          switch (field.kind) {
+            case "scalar":
+              for (let i = 0; i < value.length; i++) {
+                const val = this.scalar(field.T, value[i], field.name, field.opt, true);
+                assert_1.assert(val !== void 0);
+                jsonArr.push(val);
+              }
+              break;
+            case "enum":
+              const enumInfo = field.T();
+              for (let i = 0; i < value.length; i++) {
+                assert_1.assert(value[i] === void 0 || typeof value[i] == "number");
+                const val = this.enum(enumInfo, value[i], field.name, field.opt, true, options.enumAsInteger);
+                assert_1.assert(val !== void 0);
+                jsonArr.push(val);
+              }
+              break;
+            case "message":
+              const messageType = field.T();
+              for (let i = 0; i < value.length; i++) {
+                const val = this.message(messageType, value[i], field.name, options);
+                assert_1.assert(val !== void 0);
+                jsonArr.push(val);
+              }
+              break;
+          }
+          if (options.emitDefaultValues || jsonArr.length > 0 || options.emitDefaultValues)
+            jsonValue = jsonArr;
+        } else {
+          switch (field.kind) {
+            case "scalar":
+              jsonValue = this.scalar(field.T, value, field.name, field.opt, options.emitDefaultValues);
+              break;
+            case "enum":
+              jsonValue = this.enum(field.T(), value, field.name, field.opt, options.emitDefaultValues, options.enumAsInteger);
+              break;
+            case "message":
+              jsonValue = this.message(field.T(), value, field.name, options);
+              break;
+          }
+        }
+        return jsonValue;
+      }
+      /**
+       * Returns `null` as the default for google.protobuf.NullValue.
+       */
+      enum(type2, value, fieldName, optional, emitDefaultValues, enumAsInteger) {
+        if (type2[0] == "google.protobuf.NullValue")
+          return !emitDefaultValues && !optional ? void 0 : null;
+        if (value === void 0) {
+          assert_1.assert(optional);
+          return void 0;
+        }
+        if (value === 0 && !emitDefaultValues && !optional)
+          return void 0;
+        assert_1.assert(typeof value == "number");
+        assert_1.assert(Number.isInteger(value));
+        if (enumAsInteger || !type2[1].hasOwnProperty(value))
+          return value;
+        if (type2[2])
+          return type2[2] + type2[1][value];
+        return type2[1][value];
+      }
+      message(type2, value, fieldName, options) {
+        if (value === void 0)
+          return options.emitDefaultValues ? null : void 0;
+        return type2.internalJsonWrite(value, options);
+      }
+      scalar(type2, value, fieldName, optional, emitDefaultValues) {
+        if (value === void 0) {
+          assert_1.assert(optional);
+          return void 0;
+        }
+        const ed = emitDefaultValues || optional;
+        switch (type2) {
+          // int32, fixed32, uint32: JSON value will be a decimal number. Either numbers or strings are accepted.
+          case reflection_info_1.ScalarType.INT32:
+          case reflection_info_1.ScalarType.SFIXED32:
+          case reflection_info_1.ScalarType.SINT32:
+            if (value === 0)
+              return ed ? 0 : void 0;
+            assert_1.assertInt32(value);
+            return value;
+          case reflection_info_1.ScalarType.FIXED32:
+          case reflection_info_1.ScalarType.UINT32:
+            if (value === 0)
+              return ed ? 0 : void 0;
+            assert_1.assertUInt32(value);
+            return value;
+          // float, double: JSON value will be a number or one of the special string values "NaN", "Infinity", and "-Infinity".
+          // Either numbers or strings are accepted. Exponent notation is also accepted.
+          case reflection_info_1.ScalarType.FLOAT:
+            assert_1.assertFloat32(value);
+          case reflection_info_1.ScalarType.DOUBLE:
+            if (value === 0)
+              return ed ? 0 : void 0;
+            assert_1.assert(typeof value == "number");
+            if (Number.isNaN(value))
+              return "NaN";
+            if (value === Number.POSITIVE_INFINITY)
+              return "Infinity";
+            if (value === Number.NEGATIVE_INFINITY)
+              return "-Infinity";
+            return value;
+          // string:
+          case reflection_info_1.ScalarType.STRING:
+            if (value === "")
+              return ed ? "" : void 0;
+            assert_1.assert(typeof value == "string");
+            return value;
+          // bool:
+          case reflection_info_1.ScalarType.BOOL:
+            if (value === false)
+              return ed ? false : void 0;
+            assert_1.assert(typeof value == "boolean");
+            return value;
+          // JSON value will be a decimal string. Either numbers or strings are accepted.
+          case reflection_info_1.ScalarType.UINT64:
+          case reflection_info_1.ScalarType.FIXED64:
+            assert_1.assert(typeof value == "number" || typeof value == "string" || typeof value == "bigint");
+            let ulong = pb_long_1.PbULong.from(value);
+            if (ulong.isZero() && !ed)
+              return void 0;
+            return ulong.toString();
+          // JSON value will be a decimal string. Either numbers or strings are accepted.
+          case reflection_info_1.ScalarType.INT64:
+          case reflection_info_1.ScalarType.SFIXED64:
+          case reflection_info_1.ScalarType.SINT64:
+            assert_1.assert(typeof value == "number" || typeof value == "string" || typeof value == "bigint");
+            let long = pb_long_1.PbLong.from(value);
+            if (long.isZero() && !ed)
+              return void 0;
+            return long.toString();
+          // bytes: JSON value will be the data encoded as a string using standard base64 encoding with paddings.
+          // Either standard or URL-safe base64 encoding with/without paddings are accepted.
+          case reflection_info_1.ScalarType.BYTES:
+            assert_1.assert(value instanceof Uint8Array);
+            if (!value.byteLength)
+              return ed ? "" : void 0;
+            return base64_1.base64encode(value);
+        }
+      }
+    };
+    exports2.ReflectionJsonWriter = ReflectionJsonWriter;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-scalar-default.js
+var require_reflection_scalar_default = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-scalar-default.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.reflectionScalarDefault = void 0;
+    var reflection_info_1 = require_reflection_info();
+    var reflection_long_convert_1 = require_reflection_long_convert();
+    var pb_long_1 = require_pb_long();
+    function reflectionScalarDefault(type2, longType = reflection_info_1.LongType.STRING) {
+      switch (type2) {
+        case reflection_info_1.ScalarType.BOOL:
+          return false;
+        case reflection_info_1.ScalarType.UINT64:
+        case reflection_info_1.ScalarType.FIXED64:
+          return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.ZERO, longType);
+        case reflection_info_1.ScalarType.INT64:
+        case reflection_info_1.ScalarType.SFIXED64:
+        case reflection_info_1.ScalarType.SINT64:
+          return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.ZERO, longType);
+        case reflection_info_1.ScalarType.DOUBLE:
+        case reflection_info_1.ScalarType.FLOAT:
+          return 0;
+        case reflection_info_1.ScalarType.BYTES:
+          return new Uint8Array(0);
+        case reflection_info_1.ScalarType.STRING:
+          return "";
+        default:
+          return 0;
+      }
+    }
+    exports2.reflectionScalarDefault = reflectionScalarDefault;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-reader.js
+var require_reflection_binary_reader = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-reader.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ReflectionBinaryReader = void 0;
+    var binary_format_contract_1 = require_binary_format_contract();
+    var reflection_info_1 = require_reflection_info();
+    var reflection_long_convert_1 = require_reflection_long_convert();
+    var reflection_scalar_default_1 = require_reflection_scalar_default();
+    var ReflectionBinaryReader = class {
+      constructor(info7) {
+        this.info = info7;
+      }
+      prepare() {
+        var _a;
+        if (!this.fieldNoToField) {
+          const fieldsInput = (_a = this.info.fields) !== null && _a !== void 0 ? _a : [];
+          this.fieldNoToField = new Map(fieldsInput.map((field) => [field.no, field]));
+        }
+      }
+      /**
+       * Reads a message from binary format into the target message.
+       *
+       * Repeated fields are appended. Map entries are added, overwriting
+       * existing keys.
+       *
+       * If a message field is already present, it will be merged with the
+       * new data.
+       */
+      read(reader, message, options, length) {
+        this.prepare();
+        const end = length === void 0 ? reader.len : reader.pos + length;
+        while (reader.pos < end) {
+          const [fieldNo, wireType] = reader.tag(), field = this.fieldNoToField.get(fieldNo);
+          if (!field) {
+            let u = options.readUnknownField;
+            if (u == "throw")
+              throw new Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.info.typeName}`);
+            let d = reader.skip(wireType);
+            if (u !== false)
+              (u === true ? binary_format_contract_1.UnknownFieldHandler.onRead : u)(this.info.typeName, message, fieldNo, wireType, d);
+            continue;
+          }
+          let target = message, repeated = field.repeat, localName = field.localName;
+          if (field.oneof) {
+            target = target[field.oneof];
+            if (target.oneofKind !== localName)
+              target = message[field.oneof] = {
+                oneofKind: localName
+              };
+          }
+          switch (field.kind) {
+            case "scalar":
+            case "enum":
+              let T = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T;
+              let L = field.kind == "scalar" ? field.L : void 0;
+              if (repeated) {
+                let arr = target[localName];
+                if (wireType == binary_format_contract_1.WireType.LengthDelimited && T != reflection_info_1.ScalarType.STRING && T != reflection_info_1.ScalarType.BYTES) {
+                  let e = reader.uint32() + reader.pos;
+                  while (reader.pos < e)
+                    arr.push(this.scalar(reader, T, L));
+                } else
+                  arr.push(this.scalar(reader, T, L));
+              } else
+                target[localName] = this.scalar(reader, T, L);
+              break;
+            case "message":
+              if (repeated) {
+                let arr = target[localName];
+                let msg = field.T().internalBinaryRead(reader, reader.uint32(), options);
+                arr.push(msg);
+              } else
+                target[localName] = field.T().internalBinaryRead(reader, reader.uint32(), options, target[localName]);
+              break;
+            case "map":
+              let [mapKey, mapVal] = this.mapEntry(field, reader, options);
+              target[localName][mapKey] = mapVal;
+              break;
+          }
+        }
+      }
+      /**
+       * Read a map field, expecting key field = 1, value field = 2
+       */
+      mapEntry(field, reader, options) {
+        let length = reader.uint32();
+        let end = reader.pos + length;
+        let key = void 0;
+        let val = void 0;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case 1:
+              if (field.K == reflection_info_1.ScalarType.BOOL)
+                key = reader.bool().toString();
+              else
+                key = this.scalar(reader, field.K, reflection_info_1.LongType.STRING);
+              break;
+            case 2:
+              switch (field.V.kind) {
+                case "scalar":
+                  val = this.scalar(reader, field.V.T, field.V.L);
+                  break;
+                case "enum":
+                  val = reader.int32();
+                  break;
+                case "message":
+                  val = field.V.T().internalBinaryRead(reader, reader.uint32(), options);
+                  break;
+              }
+              break;
+            default:
+              throw new Error(`Unknown field ${fieldNo} (wire type ${wireType}) in map entry for ${this.info.typeName}#${field.name}`);
+          }
+        }
+        if (key === void 0) {
+          let keyRaw = reflection_scalar_default_1.reflectionScalarDefault(field.K);
+          key = field.K == reflection_info_1.ScalarType.BOOL ? keyRaw.toString() : keyRaw;
+        }
+        if (val === void 0)
+          switch (field.V.kind) {
+            case "scalar":
+              val = reflection_scalar_default_1.reflectionScalarDefault(field.V.T, field.V.L);
+              break;
+            case "enum":
+              val = 0;
+              break;
+            case "message":
+              val = field.V.T().create();
+              break;
+          }
+        return [key, val];
+      }
+      scalar(reader, type2, longType) {
+        switch (type2) {
+          case reflection_info_1.ScalarType.INT32:
+            return reader.int32();
+          case reflection_info_1.ScalarType.STRING:
+            return reader.string();
+          case reflection_info_1.ScalarType.BOOL:
+            return reader.bool();
+          case reflection_info_1.ScalarType.DOUBLE:
+            return reader.double();
+          case reflection_info_1.ScalarType.FLOAT:
+            return reader.float();
+          case reflection_info_1.ScalarType.INT64:
+            return reflection_long_convert_1.reflectionLongConvert(reader.int64(), longType);
+          case reflection_info_1.ScalarType.UINT64:
+            return reflection_long_convert_1.reflectionLongConvert(reader.uint64(), longType);
+          case reflection_info_1.ScalarType.FIXED64:
+            return reflection_long_convert_1.reflectionLongConvert(reader.fixed64(), longType);
+          case reflection_info_1.ScalarType.FIXED32:
+            return reader.fixed32();
+          case reflection_info_1.ScalarType.BYTES:
+            return reader.bytes();
+          case reflection_info_1.ScalarType.UINT32:
+            return reader.uint32();
+          case reflection_info_1.ScalarType.SFIXED32:
+            return reader.sfixed32();
+          case reflection_info_1.ScalarType.SFIXED64:
+            return reflection_long_convert_1.reflectionLongConvert(reader.sfixed64(), longType);
+          case reflection_info_1.ScalarType.SINT32:
+            return reader.sint32();
+          case reflection_info_1.ScalarType.SINT64:
+            return reflection_long_convert_1.reflectionLongConvert(reader.sint64(), longType);
+        }
+      }
+    };
+    exports2.ReflectionBinaryReader = ReflectionBinaryReader;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-writer.js
+var require_reflection_binary_writer = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-writer.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ReflectionBinaryWriter = void 0;
+    var binary_format_contract_1 = require_binary_format_contract();
+    var reflection_info_1 = require_reflection_info();
+    var assert_1 = require_assert();
+    var pb_long_1 = require_pb_long();
+    var ReflectionBinaryWriter = class {
+      constructor(info7) {
+        this.info = info7;
+      }
+      prepare() {
+        if (!this.fields) {
+          const fieldsInput = this.info.fields ? this.info.fields.concat() : [];
+          this.fields = fieldsInput.sort((a, b) => a.no - b.no);
+        }
+      }
+      /**
+       * Writes the message to binary format.
+       */
+      write(message, writer, options) {
+        this.prepare();
+        for (const field of this.fields) {
+          let value, emitDefault, repeated = field.repeat, localName = field.localName;
+          if (field.oneof) {
+            const group = message[field.oneof];
+            if (group.oneofKind !== localName)
+              continue;
+            value = group[localName];
+            emitDefault = true;
+          } else {
+            value = message[localName];
+            emitDefault = false;
+          }
+          switch (field.kind) {
+            case "scalar":
+            case "enum":
+              let T = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T;
+              if (repeated) {
+                assert_1.assert(Array.isArray(value));
+                if (repeated == reflection_info_1.RepeatType.PACKED)
+                  this.packed(writer, T, field.no, value);
+                else
+                  for (const item of value)
+                    this.scalar(writer, T, field.no, item, true);
+              } else if (value === void 0)
+                assert_1.assert(field.opt);
+              else
+                this.scalar(writer, T, field.no, value, emitDefault || field.opt);
+              break;
+            case "message":
+              if (repeated) {
+                assert_1.assert(Array.isArray(value));
+                for (const item of value)
+                  this.message(writer, options, field.T(), field.no, item);
+              } else {
+                this.message(writer, options, field.T(), field.no, value);
+              }
+              break;
+            case "map":
+              assert_1.assert(typeof value == "object" && value !== null);
+              for (const [key, val] of Object.entries(value))
+                this.mapEntry(writer, options, field, key, val);
+              break;
+          }
+        }
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u === true ? binary_format_contract_1.UnknownFieldHandler.onWrite : u)(this.info.typeName, message, writer);
+      }
+      mapEntry(writer, options, field, key, value) {
+        writer.tag(field.no, binary_format_contract_1.WireType.LengthDelimited);
+        writer.fork();
+        let keyValue = key;
+        switch (field.K) {
+          case reflection_info_1.ScalarType.INT32:
+          case reflection_info_1.ScalarType.FIXED32:
+          case reflection_info_1.ScalarType.UINT32:
+          case reflection_info_1.ScalarType.SFIXED32:
+          case reflection_info_1.ScalarType.SINT32:
+            keyValue = Number.parseInt(key);
+            break;
+          case reflection_info_1.ScalarType.BOOL:
+            assert_1.assert(key == "true" || key == "false");
+            keyValue = key == "true";
+            break;
+        }
+        this.scalar(writer, field.K, 1, keyValue, true);
+        switch (field.V.kind) {
+          case "scalar":
+            this.scalar(writer, field.V.T, 2, value, true);
+            break;
+          case "enum":
+            this.scalar(writer, reflection_info_1.ScalarType.INT32, 2, value, true);
+            break;
+          case "message":
+            this.message(writer, options, field.V.T(), 2, value);
+            break;
+        }
+        writer.join();
+      }
+      message(writer, options, handler2, fieldNo, value) {
+        if (value === void 0)
+          return;
+        handler2.internalBinaryWrite(value, writer.tag(fieldNo, binary_format_contract_1.WireType.LengthDelimited).fork(), options);
+        writer.join();
+      }
+      /**
+       * Write a single scalar value.
+       */
+      scalar(writer, type2, fieldNo, value, emitDefault) {
+        let [wireType, method, isDefault] = this.scalarInfo(type2, value);
+        if (!isDefault || emitDefault) {
+          writer.tag(fieldNo, wireType);
+          writer[method](value);
+        }
+      }
+      /**
+       * Write an array of scalar values in packed format.
+       */
+      packed(writer, type2, fieldNo, value) {
+        if (!value.length)
+          return;
+        assert_1.assert(type2 !== reflection_info_1.ScalarType.BYTES && type2 !== reflection_info_1.ScalarType.STRING);
+        writer.tag(fieldNo, binary_format_contract_1.WireType.LengthDelimited);
+        writer.fork();
+        let [, method] = this.scalarInfo(type2);
+        for (let i = 0; i < value.length; i++)
+          writer[method](value[i]);
+        writer.join();
+      }
+      /**
+       * Get information for writing a scalar value.
+       *
+       * Returns tuple:
+       * [0]: appropriate WireType
+       * [1]: name of the appropriate method of IBinaryWriter
+       * [2]: whether the given value is a default value
+       *
+       * If argument `value` is omitted, [2] is always false.
+       */
+      scalarInfo(type2, value) {
+        let t = binary_format_contract_1.WireType.Varint;
+        let m;
+        let i = value === void 0;
+        let d = value === 0;
+        switch (type2) {
+          case reflection_info_1.ScalarType.INT32:
+            m = "int32";
+            break;
+          case reflection_info_1.ScalarType.STRING:
+            d = i || !value.length;
+            t = binary_format_contract_1.WireType.LengthDelimited;
+            m = "string";
+            break;
+          case reflection_info_1.ScalarType.BOOL:
+            d = value === false;
+            m = "bool";
+            break;
+          case reflection_info_1.ScalarType.UINT32:
+            m = "uint32";
+            break;
+          case reflection_info_1.ScalarType.DOUBLE:
+            t = binary_format_contract_1.WireType.Bit64;
+            m = "double";
+            break;
+          case reflection_info_1.ScalarType.FLOAT:
+            t = binary_format_contract_1.WireType.Bit32;
+            m = "float";
+            break;
+          case reflection_info_1.ScalarType.INT64:
+            d = i || pb_long_1.PbLong.from(value).isZero();
+            m = "int64";
+            break;
+          case reflection_info_1.ScalarType.UINT64:
+            d = i || pb_long_1.PbULong.from(value).isZero();
+            m = "uint64";
+            break;
+          case reflection_info_1.ScalarType.FIXED64:
+            d = i || pb_long_1.PbULong.from(value).isZero();
+            t = binary_format_contract_1.WireType.Bit64;
+            m = "fixed64";
+            break;
+          case reflection_info_1.ScalarType.BYTES:
+            d = i || !value.byteLength;
+            t = binary_format_contract_1.WireType.LengthDelimited;
+            m = "bytes";
+            break;
+          case reflection_info_1.ScalarType.FIXED32:
+            t = binary_format_contract_1.WireType.Bit32;
+            m = "fixed32";
+            break;
+          case reflection_info_1.ScalarType.SFIXED32:
+            t = binary_format_contract_1.WireType.Bit32;
+            m = "sfixed32";
+            break;
+          case reflection_info_1.ScalarType.SFIXED64:
+            d = i || pb_long_1.PbLong.from(value).isZero();
+            t = binary_format_contract_1.WireType.Bit64;
+            m = "sfixed64";
+            break;
+          case reflection_info_1.ScalarType.SINT32:
+            m = "sint32";
+            break;
+          case reflection_info_1.ScalarType.SINT64:
+            d = i || pb_long_1.PbLong.from(value).isZero();
+            m = "sint64";
+            break;
+        }
+        return [t, m, i || d];
+      }
+    };
+    exports2.ReflectionBinaryWriter = ReflectionBinaryWriter;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-create.js
+var require_reflection_create = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-create.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.reflectionCreate = void 0;
+    var reflection_scalar_default_1 = require_reflection_scalar_default();
+    var message_type_contract_1 = require_message_type_contract();
+    function reflectionCreate(type2) {
+      const msg = type2.messagePrototype ? Object.create(type2.messagePrototype) : Object.defineProperty({}, message_type_contract_1.MESSAGE_TYPE, { value: type2 });
+      for (let field of type2.fields) {
+        let name = field.localName;
+        if (field.opt)
+          continue;
+        if (field.oneof)
+          msg[field.oneof] = { oneofKind: void 0 };
+        else if (field.repeat)
+          msg[name] = [];
+        else
+          switch (field.kind) {
+            case "scalar":
+              msg[name] = reflection_scalar_default_1.reflectionScalarDefault(field.T, field.L);
+              break;
+            case "enum":
+              msg[name] = 0;
+              break;
+            case "map":
+              msg[name] = {};
+              break;
+          }
+      }
+      return msg;
+    }
+    exports2.reflectionCreate = reflectionCreate;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-merge-partial.js
+var require_reflection_merge_partial = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-merge-partial.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.reflectionMergePartial = void 0;
+    function reflectionMergePartial(info7, target, source) {
+      let fieldValue, input = source, output;
+      for (let field of info7.fields) {
+        let name = field.localName;
+        if (field.oneof) {
+          const group = input[field.oneof];
+          if ((group === null || group === void 0 ? void 0 : group.oneofKind) == void 0) {
+            continue;
+          }
+          fieldValue = group[name];
+          output = target[field.oneof];
+          output.oneofKind = group.oneofKind;
+          if (fieldValue == void 0) {
+            delete output[name];
+            continue;
+          }
+        } else {
+          fieldValue = input[name];
+          output = target;
+          if (fieldValue == void 0) {
+            continue;
+          }
+        }
+        if (field.repeat)
+          output[name].length = fieldValue.length;
+        switch (field.kind) {
+          case "scalar":
+          case "enum":
+            if (field.repeat)
+              for (let i = 0; i < fieldValue.length; i++)
+                output[name][i] = fieldValue[i];
+            else
+              output[name] = fieldValue;
+            break;
+          case "message":
+            let T = field.T();
+            if (field.repeat)
+              for (let i = 0; i < fieldValue.length; i++)
+                output[name][i] = T.create(fieldValue[i]);
+            else if (output[name] === void 0)
+              output[name] = T.create(fieldValue);
+            else
+              T.mergePartial(output[name], fieldValue);
+            break;
+          case "map":
+            switch (field.V.kind) {
+              case "scalar":
+              case "enum":
+                Object.assign(output[name], fieldValue);
+                break;
+              case "message":
+                let T2 = field.V.T();
+                for (let k of Object.keys(fieldValue))
+                  output[name][k] = T2.create(fieldValue[k]);
+                break;
+            }
+            break;
+        }
+      }
+    }
+    exports2.reflectionMergePartial = reflectionMergePartial;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-equals.js
+var require_reflection_equals = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-equals.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.reflectionEquals = void 0;
+    var reflection_info_1 = require_reflection_info();
+    function reflectionEquals(info7, a, b) {
+      if (a === b)
+        return true;
+      if (!a || !b)
+        return false;
+      for (let field of info7.fields) {
+        let localName = field.localName;
+        let val_a = field.oneof ? a[field.oneof][localName] : a[localName];
+        let val_b = field.oneof ? b[field.oneof][localName] : b[localName];
+        switch (field.kind) {
+          case "enum":
+          case "scalar":
+            let t = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T;
+            if (!(field.repeat ? repeatedPrimitiveEq(t, val_a, val_b) : primitiveEq(t, val_a, val_b)))
+              return false;
+            break;
+          case "map":
+            if (!(field.V.kind == "message" ? repeatedMsgEq(field.V.T(), objectValues(val_a), objectValues(val_b)) : repeatedPrimitiveEq(field.V.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.V.T, objectValues(val_a), objectValues(val_b))))
+              return false;
+            break;
+          case "message":
+            let T = field.T();
+            if (!(field.repeat ? repeatedMsgEq(T, val_a, val_b) : T.equals(val_a, val_b)))
+              return false;
+            break;
+        }
+      }
+      return true;
+    }
+    exports2.reflectionEquals = reflectionEquals;
+    var objectValues = Object.values;
+    function primitiveEq(type2, a, b) {
+      if (a === b)
+        return true;
+      if (type2 !== reflection_info_1.ScalarType.BYTES)
+        return false;
+      let ba = a;
+      let bb = b;
+      if (ba.length !== bb.length)
+        return false;
+      for (let i = 0; i < ba.length; i++)
+        if (ba[i] != bb[i])
+          return false;
+      return true;
+    }
+    function repeatedPrimitiveEq(type2, a, b) {
+      if (a.length !== b.length)
+        return false;
+      for (let i = 0; i < a.length; i++)
+        if (!primitiveEq(type2, a[i], b[i]))
+          return false;
+      return true;
+    }
+    function repeatedMsgEq(type2, a, b) {
+      if (a.length !== b.length)
+        return false;
+      for (let i = 0; i < a.length; i++)
+        if (!type2.equals(a[i], b[i]))
+          return false;
+      return true;
+    }
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/message-type.js
+var require_message_type = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/message-type.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.MessageType = void 0;
+    var message_type_contract_1 = require_message_type_contract();
+    var reflection_info_1 = require_reflection_info();
+    var reflection_type_check_1 = require_reflection_type_check();
+    var reflection_json_reader_1 = require_reflection_json_reader();
+    var reflection_json_writer_1 = require_reflection_json_writer();
+    var reflection_binary_reader_1 = require_reflection_binary_reader();
+    var reflection_binary_writer_1 = require_reflection_binary_writer();
+    var reflection_create_1 = require_reflection_create();
+    var reflection_merge_partial_1 = require_reflection_merge_partial();
+    var json_typings_1 = require_json_typings();
+    var json_format_contract_1 = require_json_format_contract();
+    var reflection_equals_1 = require_reflection_equals();
+    var binary_writer_1 = require_binary_writer();
+    var binary_reader_1 = require_binary_reader();
+    var baseDescriptors = Object.getOwnPropertyDescriptors(Object.getPrototypeOf({}));
+    var messageTypeDescriptor = baseDescriptors[message_type_contract_1.MESSAGE_TYPE] = {};
+    var MessageType = class {
+      constructor(name, fields, options) {
+        this.defaultCheckDepth = 16;
+        this.typeName = name;
+        this.fields = fields.map(reflection_info_1.normalizeFieldInfo);
+        this.options = options !== null && options !== void 0 ? options : {};
+        messageTypeDescriptor.value = this;
+        this.messagePrototype = Object.create(null, baseDescriptors);
+        this.refTypeCheck = new reflection_type_check_1.ReflectionTypeCheck(this);
+        this.refJsonReader = new reflection_json_reader_1.ReflectionJsonReader(this);
+        this.refJsonWriter = new reflection_json_writer_1.ReflectionJsonWriter(this);
+        this.refBinReader = new reflection_binary_reader_1.ReflectionBinaryReader(this);
+        this.refBinWriter = new reflection_binary_writer_1.ReflectionBinaryWriter(this);
+      }
+      create(value) {
+        let message = reflection_create_1.reflectionCreate(this);
+        if (value !== void 0) {
+          reflection_merge_partial_1.reflectionMergePartial(this, message, value);
+        }
+        return message;
+      }
+      /**
+       * Clone the message.
+       *
+       * Unknown fields are discarded.
+       */
+      clone(message) {
+        let copy = this.create();
+        reflection_merge_partial_1.reflectionMergePartial(this, copy, message);
+        return copy;
+      }
+      /**
+       * Determines whether two message of the same type have the same field values.
+       * Checks for deep equality, traversing repeated fields, oneof groups, maps
+       * and messages recursively.
+       * Will also return true if both messages are `undefined`.
+       */
+      equals(a, b) {
+        return reflection_equals_1.reflectionEquals(this, a, b);
+      }
+      /**
+       * Is the given value assignable to our message type
+       * and contains no [excess properties](https://www.typescriptlang.org/docs/handbook/interfaces.html#excess-property-checks)?
+       */
+      is(arg, depth = this.defaultCheckDepth) {
+        return this.refTypeCheck.is(arg, depth, false);
+      }
+      /**
+       * Is the given value assignable to our message type,
+       * regardless of [excess properties](https://www.typescriptlang.org/docs/handbook/interfaces.html#excess-property-checks)?
+       */
+      isAssignable(arg, depth = this.defaultCheckDepth) {
+        return this.refTypeCheck.is(arg, depth, true);
+      }
+      /**
+       * Copy partial data into the target message.
+       */
+      mergePartial(target, source) {
+        reflection_merge_partial_1.reflectionMergePartial(this, target, source);
+      }
+      /**
+       * Create a new message from binary format.
+       */
+      fromBinary(data, options) {
+        let opt = binary_reader_1.binaryReadOptions(options);
+        return this.internalBinaryRead(opt.readerFactory(data), data.byteLength, opt);
+      }
+      /**
+       * Read a new message from a JSON value.
+       */
+      fromJson(json2, options) {
+        return this.internalJsonRead(json2, json_format_contract_1.jsonReadOptions(options));
+      }
+      /**
+       * Read a new message from a JSON string.
+       * This is equivalent to `T.fromJson(JSON.parse(json))`.
+       */
+      fromJsonString(json2, options) {
+        let value = JSON.parse(json2);
+        return this.fromJson(value, options);
+      }
+      /**
+       * Write the message to canonical JSON value.
+       */
+      toJson(message, options) {
+        return this.internalJsonWrite(message, json_format_contract_1.jsonWriteOptions(options));
+      }
+      /**
+       * Convert the message to canonical JSON string.
+       * This is equivalent to `JSON.stringify(T.toJson(t))`
+       */
+      toJsonString(message, options) {
+        var _a;
+        let value = this.toJson(message, options);
+        return JSON.stringify(value, null, (_a = options === null || options === void 0 ? void 0 : options.prettySpaces) !== null && _a !== void 0 ? _a : 0);
+      }
+      /**
+       * Write the message to binary format.
+       */
+      toBinary(message, options) {
+        let opt = binary_writer_1.binaryWriteOptions(options);
+        return this.internalBinaryWrite(message, opt.writerFactory(), opt).finish();
+      }
+      /**
+       * This is an internal method. If you just want to read a message from
+       * JSON, use `fromJson()` or `fromJsonString()`.
+       *
+       * Reads JSON value and merges the fields into the target
+       * according to protobuf rules. If the target is omitted,
+       * a new instance is created first.
+       */
+      internalJsonRead(json2, options, target) {
+        if (json2 !== null && typeof json2 == "object" && !Array.isArray(json2)) {
+          let message = target !== null && target !== void 0 ? target : this.create();
+          this.refJsonReader.read(json2, message, options);
+          return message;
+        }
+        throw new Error(`Unable to parse message ${this.typeName} from JSON ${json_typings_1.typeofJsonValue(json2)}.`);
+      }
+      /**
+       * This is an internal method. If you just want to write a message
+       * to JSON, use `toJson()` or `toJsonString().
+       *
+       * Writes JSON value and returns it.
+       */
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.write(message, options);
+      }
+      /**
+       * This is an internal method. If you just want to write a message
+       * in binary format, use `toBinary()`.
+       *
+       * Serializes the message in binary format and appends it to the given
+       * writer. Returns passed writer.
+       */
+      internalBinaryWrite(message, writer, options) {
+        this.refBinWriter.write(message, writer, options);
+        return writer;
+      }
+      /**
+       * This is an internal method. If you just want to read a message from
+       * binary data, use `fromBinary()`.
+       *
+       * Reads data from binary format and merges the fields into
+       * the target according to protobuf rules. If the target is
+       * omitted, a new instance is created first.
+       */
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create();
+        this.refBinReader.read(reader, message, options, length);
+        return message;
+      }
+    };
+    exports2.MessageType = MessageType;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-contains-message-type.js
+var require_reflection_contains_message_type = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-contains-message-type.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.containsMessageType = void 0;
+    var message_type_contract_1 = require_message_type_contract();
+    function containsMessageType(msg) {
+      return msg[message_type_contract_1.MESSAGE_TYPE] != null;
+    }
+    exports2.containsMessageType = containsMessageType;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/enum-object.js
+var require_enum_object = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/enum-object.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.listEnumNumbers = exports2.listEnumNames = exports2.listEnumValues = exports2.isEnumObject = void 0;
+    function isEnumObject(arg) {
+      if (typeof arg != "object" || arg === null) {
+        return false;
+      }
+      if (!arg.hasOwnProperty(0)) {
+        return false;
+      }
+      for (let k of Object.keys(arg)) {
+        let num = parseInt(k);
+        if (!Number.isNaN(num)) {
+          let nam = arg[num];
+          if (nam === void 0)
+            return false;
+          if (arg[nam] !== num)
+            return false;
+        } else {
+          let num2 = arg[k];
+          if (num2 === void 0)
+            return false;
+          if (typeof num2 !== "number")
+            return false;
+          if (arg[num2] === void 0)
+            return false;
+        }
+      }
+      return true;
+    }
+    exports2.isEnumObject = isEnumObject;
+    function listEnumValues(enumObject) {
+      if (!isEnumObject(enumObject))
+        throw new Error("not a typescript enum object");
+      let values = [];
+      for (let [name, number] of Object.entries(enumObject))
+        if (typeof number == "number")
+          values.push({ name, number });
+      return values;
+    }
+    exports2.listEnumValues = listEnumValues;
+    function listEnumNames(enumObject) {
+      return listEnumValues(enumObject).map((val) => val.name);
+    }
+    exports2.listEnumNames = listEnumNames;
+    function listEnumNumbers(enumObject) {
+      return listEnumValues(enumObject).map((val) => val.number).filter((num, index, arr) => arr.indexOf(num) == index);
+    }
+    exports2.listEnumNumbers = listEnumNumbers;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/index.js
+var require_commonjs16 = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    var json_typings_1 = require_json_typings();
+    Object.defineProperty(exports2, "typeofJsonValue", { enumerable: true, get: function() {
+      return json_typings_1.typeofJsonValue;
+    } });
+    Object.defineProperty(exports2, "isJsonObject", { enumerable: true, get: function() {
+      return json_typings_1.isJsonObject;
+    } });
+    var base64_1 = require_base642();
+    Object.defineProperty(exports2, "base64decode", { enumerable: true, get: function() {
+      return base64_1.base64decode;
+    } });
+    Object.defineProperty(exports2, "base64encode", { enumerable: true, get: function() {
+      return base64_1.base64encode;
+    } });
+    var protobufjs_utf8_1 = require_protobufjs_utf8();
+    Object.defineProperty(exports2, "utf8read", { enumerable: true, get: function() {
+      return protobufjs_utf8_1.utf8read;
+    } });
+    var binary_format_contract_1 = require_binary_format_contract();
+    Object.defineProperty(exports2, "WireType", { enumerable: true, get: function() {
+      return binary_format_contract_1.WireType;
+    } });
+    Object.defineProperty(exports2, "mergeBinaryOptions", { enumerable: true, get: function() {
+      return binary_format_contract_1.mergeBinaryOptions;
+    } });
+    Object.defineProperty(exports2, "UnknownFieldHandler", { enumerable: true, get: function() {
+      return binary_format_contract_1.UnknownFieldHandler;
+    } });
+    var binary_reader_1 = require_binary_reader();
+    Object.defineProperty(exports2, "BinaryReader", { enumerable: true, get: function() {
+      return binary_reader_1.BinaryReader;
+    } });
+    Object.defineProperty(exports2, "binaryReadOptions", { enumerable: true, get: function() {
+      return binary_reader_1.binaryReadOptions;
+    } });
+    var binary_writer_1 = require_binary_writer();
+    Object.defineProperty(exports2, "BinaryWriter", { enumerable: true, get: function() {
+      return binary_writer_1.BinaryWriter;
+    } });
+    Object.defineProperty(exports2, "binaryWriteOptions", { enumerable: true, get: function() {
+      return binary_writer_1.binaryWriteOptions;
+    } });
+    var pb_long_1 = require_pb_long();
+    Object.defineProperty(exports2, "PbLong", { enumerable: true, get: function() {
+      return pb_long_1.PbLong;
+    } });
+    Object.defineProperty(exports2, "PbULong", { enumerable: true, get: function() {
+      return pb_long_1.PbULong;
+    } });
+    var json_format_contract_1 = require_json_format_contract();
+    Object.defineProperty(exports2, "jsonReadOptions", { enumerable: true, get: function() {
+      return json_format_contract_1.jsonReadOptions;
+    } });
+    Object.defineProperty(exports2, "jsonWriteOptions", { enumerable: true, get: function() {
+      return json_format_contract_1.jsonWriteOptions;
+    } });
+    Object.defineProperty(exports2, "mergeJsonOptions", { enumerable: true, get: function() {
+      return json_format_contract_1.mergeJsonOptions;
+    } });
+    var message_type_contract_1 = require_message_type_contract();
+    Object.defineProperty(exports2, "MESSAGE_TYPE", { enumerable: true, get: function() {
+      return message_type_contract_1.MESSAGE_TYPE;
+    } });
+    var message_type_1 = require_message_type();
+    Object.defineProperty(exports2, "MessageType", { enumerable: true, get: function() {
+      return message_type_1.MessageType;
+    } });
+    var reflection_info_1 = require_reflection_info();
+    Object.defineProperty(exports2, "ScalarType", { enumerable: true, get: function() {
+      return reflection_info_1.ScalarType;
+    } });
+    Object.defineProperty(exports2, "LongType", { enumerable: true, get: function() {
+      return reflection_info_1.LongType;
+    } });
+    Object.defineProperty(exports2, "RepeatType", { enumerable: true, get: function() {
+      return reflection_info_1.RepeatType;
+    } });
+    Object.defineProperty(exports2, "normalizeFieldInfo", { enumerable: true, get: function() {
+      return reflection_info_1.normalizeFieldInfo;
+    } });
+    Object.defineProperty(exports2, "readFieldOptions", { enumerable: true, get: function() {
+      return reflection_info_1.readFieldOptions;
+    } });
+    Object.defineProperty(exports2, "readFieldOption", { enumerable: true, get: function() {
+      return reflection_info_1.readFieldOption;
+    } });
+    Object.defineProperty(exports2, "readMessageOption", { enumerable: true, get: function() {
+      return reflection_info_1.readMessageOption;
+    } });
+    var reflection_type_check_1 = require_reflection_type_check();
+    Object.defineProperty(exports2, "ReflectionTypeCheck", { enumerable: true, get: function() {
+      return reflection_type_check_1.ReflectionTypeCheck;
+    } });
+    var reflection_create_1 = require_reflection_create();
+    Object.defineProperty(exports2, "reflectionCreate", { enumerable: true, get: function() {
+      return reflection_create_1.reflectionCreate;
+    } });
+    var reflection_scalar_default_1 = require_reflection_scalar_default();
+    Object.defineProperty(exports2, "reflectionScalarDefault", { enumerable: true, get: function() {
+      return reflection_scalar_default_1.reflectionScalarDefault;
+    } });
+    var reflection_merge_partial_1 = require_reflection_merge_partial();
+    Object.defineProperty(exports2, "reflectionMergePartial", { enumerable: true, get: function() {
+      return reflection_merge_partial_1.reflectionMergePartial;
+    } });
+    var reflection_equals_1 = require_reflection_equals();
+    Object.defineProperty(exports2, "reflectionEquals", { enumerable: true, get: function() {
+      return reflection_equals_1.reflectionEquals;
+    } });
+    var reflection_binary_reader_1 = require_reflection_binary_reader();
+    Object.defineProperty(exports2, "ReflectionBinaryReader", { enumerable: true, get: function() {
+      return reflection_binary_reader_1.ReflectionBinaryReader;
+    } });
+    var reflection_binary_writer_1 = require_reflection_binary_writer();
+    Object.defineProperty(exports2, "ReflectionBinaryWriter", { enumerable: true, get: function() {
+      return reflection_binary_writer_1.ReflectionBinaryWriter;
+    } });
+    var reflection_json_reader_1 = require_reflection_json_reader();
+    Object.defineProperty(exports2, "ReflectionJsonReader", { enumerable: true, get: function() {
+      return reflection_json_reader_1.ReflectionJsonReader;
+    } });
+    var reflection_json_writer_1 = require_reflection_json_writer();
+    Object.defineProperty(exports2, "ReflectionJsonWriter", { enumerable: true, get: function() {
+      return reflection_json_writer_1.ReflectionJsonWriter;
+    } });
+    var reflection_contains_message_type_1 = require_reflection_contains_message_type();
+    Object.defineProperty(exports2, "containsMessageType", { enumerable: true, get: function() {
+      return reflection_contains_message_type_1.containsMessageType;
+    } });
+    var oneof_1 = require_oneof();
+    Object.defineProperty(exports2, "isOneofGroup", { enumerable: true, get: function() {
+      return oneof_1.isOneofGroup;
+    } });
+    Object.defineProperty(exports2, "setOneofValue", { enumerable: true, get: function() {
+      return oneof_1.setOneofValue;
+    } });
+    Object.defineProperty(exports2, "getOneofValue", { enumerable: true, get: function() {
+      return oneof_1.getOneofValue;
+    } });
+    Object.defineProperty(exports2, "clearOneofValue", { enumerable: true, get: function() {
+      return oneof_1.clearOneofValue;
+    } });
+    Object.defineProperty(exports2, "getSelectedOneofValue", { enumerable: true, get: function() {
+      return oneof_1.getSelectedOneofValue;
+    } });
+    var enum_object_1 = require_enum_object();
+    Object.defineProperty(exports2, "listEnumValues", { enumerable: true, get: function() {
+      return enum_object_1.listEnumValues;
+    } });
+    Object.defineProperty(exports2, "listEnumNames", { enumerable: true, get: function() {
+      return enum_object_1.listEnumNames;
+    } });
+    Object.defineProperty(exports2, "listEnumNumbers", { enumerable: true, get: function() {
+      return enum_object_1.listEnumNumbers;
+    } });
+    Object.defineProperty(exports2, "isEnumObject", { enumerable: true, get: function() {
+      return enum_object_1.isEnumObject;
+    } });
+    var lower_camel_case_1 = require_lower_camel_case();
+    Object.defineProperty(exports2, "lowerCamelCase", { enumerable: true, get: function() {
+      return lower_camel_case_1.lowerCamelCase;
+    } });
+    var assert_1 = require_assert();
+    Object.defineProperty(exports2, "assert", { enumerable: true, get: function() {
+      return assert_1.assert;
+    } });
+    Object.defineProperty(exports2, "assertNever", { enumerable: true, get: function() {
+      return assert_1.assertNever;
+    } });
+    Object.defineProperty(exports2, "assertInt32", { enumerable: true, get: function() {
+      return assert_1.assertInt32;
+    } });
+    Object.defineProperty(exports2, "assertUInt32", { enumerable: true, get: function() {
+      return assert_1.assertUInt32;
+    } });
+    Object.defineProperty(exports2, "assertFloat32", { enumerable: true, get: function() {
+      return assert_1.assertFloat32;
+    } });
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/reflection-info.js
+var require_reflection_info2 = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/reflection-info.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.readServiceOption = exports2.readMethodOption = exports2.readMethodOptions = exports2.normalizeMethodInfo = void 0;
+    var runtime_1 = require_commonjs16();
+    function normalizeMethodInfo(method, service) {
+      var _a, _b, _c;
+      let m = method;
+      m.service = service;
+      m.localName = (_a = m.localName) !== null && _a !== void 0 ? _a : runtime_1.lowerCamelCase(m.name);
+      m.serverStreaming = !!m.serverStreaming;
+      m.clientStreaming = !!m.clientStreaming;
+      m.options = (_b = m.options) !== null && _b !== void 0 ? _b : {};
+      m.idempotency = (_c = m.idempotency) !== null && _c !== void 0 ? _c : void 0;
+      return m;
+    }
+    exports2.normalizeMethodInfo = normalizeMethodInfo;
+    function readMethodOptions(service, methodName, extensionName, extensionType) {
+      var _a;
+      const options = (_a = service.methods.find((m, i) => m.localName === methodName || i === methodName)) === null || _a === void 0 ? void 0 : _a.options;
+      return options && options[extensionName] ? extensionType.fromJson(options[extensionName]) : void 0;
+    }
+    exports2.readMethodOptions = readMethodOptions;
+    function readMethodOption(service, methodName, extensionName, extensionType) {
+      var _a;
+      const options = (_a = service.methods.find((m, i) => m.localName === methodName || i === methodName)) === null || _a === void 0 ? void 0 : _a.options;
+      if (!options) {
+        return void 0;
+      }
+      const optionVal = options[extensionName];
+      if (optionVal === void 0) {
+        return optionVal;
+      }
+      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
+    }
+    exports2.readMethodOption = readMethodOption;
+    function readServiceOption(service, extensionName, extensionType) {
+      const options = service.options;
+      if (!options) {
+        return void 0;
+      }
+      const optionVal = options[extensionName];
+      if (optionVal === void 0) {
+        return optionVal;
+      }
+      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
+    }
+    exports2.readServiceOption = readServiceOption;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/service-type.js
+var require_service_type = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/service-type.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ServiceType = void 0;
+    var reflection_info_1 = require_reflection_info2();
+    var ServiceType = class {
+      constructor(typeName, methods, options) {
+        this.typeName = typeName;
+        this.methods = methods.map((i) => reflection_info_1.normalizeMethodInfo(i, this));
+        this.options = options !== null && options !== void 0 ? options : {};
+      }
+    };
+    exports2.ServiceType = ServiceType;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-error.js
+var require_rpc_error = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-error.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.RpcError = void 0;
+    var RpcError = class extends Error {
+      constructor(message, code = "UNKNOWN", meta) {
+        super(message);
+        this.name = "RpcError";
+        Object.setPrototypeOf(this, new.target.prototype);
+        this.code = code;
+        this.meta = meta !== null && meta !== void 0 ? meta : {};
+      }
+      toString() {
+        const l = [this.name + ": " + this.message];
+        if (this.code) {
+          l.push("");
+          l.push("Code: " + this.code);
         }
-      },
-      requestBody: Parameters.tags,
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.versionId,
-        Parameters.comp18
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.contentType,
-        Parameters.accept,
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.leaseId,
-        Parameters.ifTags,
-        Parameters.transactionalContentMD5,
-        Parameters.transactionalContentCrc64
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "xml",
-      serializer: xmlSerializer
+        if (this.serviceName && this.methodName) {
+          l.push("Method: " + this.serviceName + "/" + this.methodName);
+        }
+        let m = Object.entries(this.meta);
+        if (m.length) {
+          l.push("");
+          l.push("Meta:");
+          for (let [k, v] of m) {
+            l.push(`  ${k}: ${v}`);
+          }
+        }
+        return l.join("\n");
+      }
     };
+    exports2.RpcError = RpcError;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/pageBlob.js
-var require_pageBlob = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/pageBlob.js"(exports2) {
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-options.js
+var require_rpc_options = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-options.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.PageBlobImpl = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var coreClient = tslib_1.__importStar(require_commonjs8());
-    var Mappers = tslib_1.__importStar(require_mappers());
-    var Parameters = tslib_1.__importStar(require_parameters());
-    var PageBlobImpl = class {
-      client;
+    exports2.mergeRpcOptions = void 0;
+    var runtime_1 = require_commonjs16();
+    function mergeRpcOptions(defaults, options) {
+      if (!options)
+        return defaults;
+      let o = {};
+      copy(defaults, o);
+      copy(options, o);
+      for (let key of Object.keys(options)) {
+        let val = options[key];
+        switch (key) {
+          case "jsonOptions":
+            o.jsonOptions = runtime_1.mergeJsonOptions(defaults.jsonOptions, o.jsonOptions);
+            break;
+          case "binaryOptions":
+            o.binaryOptions = runtime_1.mergeBinaryOptions(defaults.binaryOptions, o.binaryOptions);
+            break;
+          case "meta":
+            o.meta = {};
+            copy(defaults.meta, o.meta);
+            copy(options.meta, o.meta);
+            break;
+          case "interceptors":
+            o.interceptors = defaults.interceptors ? defaults.interceptors.concat(val) : val.concat();
+            break;
+        }
+      }
+      return o;
+    }
+    exports2.mergeRpcOptions = mergeRpcOptions;
+    function copy(a, into) {
+      if (!a)
+        return;
+      let c = into;
+      for (let [k, v] of Object.entries(a)) {
+        if (v instanceof Date)
+          c[k] = new Date(v.getTime());
+        else if (Array.isArray(v))
+          c[k] = v.concat();
+        else
+          c[k] = v;
+      }
+    }
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/deferred.js
+var require_deferred = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/deferred.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Deferred = exports2.DeferredState = void 0;
+    var DeferredState;
+    (function(DeferredState2) {
+      DeferredState2[DeferredState2["PENDING"] = 0] = "PENDING";
+      DeferredState2[DeferredState2["REJECTED"] = 1] = "REJECTED";
+      DeferredState2[DeferredState2["RESOLVED"] = 2] = "RESOLVED";
+    })(DeferredState = exports2.DeferredState || (exports2.DeferredState = {}));
+    var Deferred = class {
       /**
-       * Initialize a new instance of the class PageBlob class.
-       * @param client Reference to the service client
+       * @param preventUnhandledRejectionWarning - prevents the warning
+       * "Unhandled Promise rejection" by adding a noop rejection handler.
+       * Working with calls returned from the runtime-rpc package in an
+       * async function usually means awaiting one call property after
+       * the other. This means that the "status" is not being awaited when
+       * an earlier await for the "headers" is rejected. This causes the
+       * "unhandled promise reject" warning. A more correct behaviour for
+       * calls might be to become aware whether at least one of the
+       * promises is handled and swallow the rejection warning for the
+       * others.
        */
-      constructor(client) {
-        this.client = client;
+      constructor(preventUnhandledRejectionWarning = true) {
+        this._state = DeferredState.PENDING;
+        this._promise = new Promise((resolve8, reject) => {
+          this._resolve = resolve8;
+          this._reject = reject;
+        });
+        if (preventUnhandledRejectionWarning) {
+          this._promise.catch((_2) => {
+          });
+        }
       }
       /**
-       * The Create operation creates a new page blob.
-       * @param contentLength The length of the request.
-       * @param blobContentLength This header specifies the maximum size for the page blob, up to 1 TB. The
-       *                          page blob size must be aligned to a 512-byte boundary.
-       * @param options The options parameters.
+       * Get the current state of the promise.
        */
-      create(contentLength, blobContentLength, options) {
-        return this.client.sendOperationRequest({ contentLength, blobContentLength, options }, createOperationSpec);
+      get state() {
+        return this._state;
       }
       /**
-       * The Upload Pages operation writes a range of pages to a page blob
-       * @param contentLength The length of the request.
-       * @param body Initial data
-       * @param options The options parameters.
+       * Get the deferred promise.
        */
-      uploadPages(contentLength, body, options) {
-        return this.client.sendOperationRequest({ contentLength, body, options }, uploadPagesOperationSpec);
+      get promise() {
+        return this._promise;
       }
       /**
-       * The Clear Pages operation clears a set of pages from a page blob
-       * @param contentLength The length of the request.
-       * @param options The options parameters.
+       * Resolve the promise. Throws if the promise is already resolved or rejected.
        */
-      clearPages(contentLength, options) {
-        return this.client.sendOperationRequest({ contentLength, options }, clearPagesOperationSpec);
+      resolve(value) {
+        if (this.state !== DeferredState.PENDING)
+          throw new Error(`cannot resolve ${DeferredState[this.state].toLowerCase()}`);
+        this._resolve(value);
+        this._state = DeferredState.RESOLVED;
       }
       /**
-       * The Upload Pages operation writes a range of pages to a page blob where the contents are read from a
-       * URL
-       * @param sourceUrl Specify a URL to the copy source.
-       * @param sourceRange Bytes of source data in the specified range. The length of this range should
-       *                    match the ContentLength header and x-ms-range/Range destination range header.
-       * @param contentLength The length of the request.
-       * @param range The range of bytes to which the source range would be written. The range should be 512
-       *              aligned and range-end is required.
-       * @param options The options parameters.
+       * Reject the promise. Throws if the promise is already resolved or rejected.
        */
-      uploadPagesFromURL(sourceUrl, sourceRange, contentLength, range, options) {
-        return this.client.sendOperationRequest({ sourceUrl, sourceRange, contentLength, range, options }, uploadPagesFromURLOperationSpec);
+      reject(reason) {
+        if (this.state !== DeferredState.PENDING)
+          throw new Error(`cannot reject ${DeferredState[this.state].toLowerCase()}`);
+        this._reject(reason);
+        this._state = DeferredState.REJECTED;
       }
       /**
-       * The Get Page Ranges operation returns the list of valid page ranges for a page blob or snapshot of a
-       * page blob
-       * @param options The options parameters.
+       * Resolve the promise. Ignore if not pending.
        */
-      getPageRanges(options) {
-        return this.client.sendOperationRequest({ options }, getPageRangesOperationSpec);
+      resolvePending(val) {
+        if (this._state === DeferredState.PENDING)
+          this.resolve(val);
       }
       /**
-       * The Get Page Ranges Diff operation returns the list of valid page ranges for a page blob that were
-       * changed between target blob and previous snapshot.
-       * @param options The options parameters.
+       * Reject the promise. Ignore if not pending.
        */
-      getPageRangesDiff(options) {
-        return this.client.sendOperationRequest({ options }, getPageRangesDiffOperationSpec);
+      rejectPending(reason) {
+        if (this._state === DeferredState.PENDING)
+          this.reject(reason);
+      }
+    };
+    exports2.Deferred = Deferred;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-output-stream.js
+var require_rpc_output_stream = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-output-stream.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.RpcOutputStreamController = void 0;
+    var deferred_1 = require_deferred();
+    var runtime_1 = require_commonjs16();
+    var RpcOutputStreamController = class {
+      constructor() {
+        this._lis = {
+          nxt: [],
+          msg: [],
+          err: [],
+          cmp: []
+        };
+        this._closed = false;
+        this._itState = { q: [] };
+      }
+      // --- RpcOutputStream callback API
+      onNext(callback) {
+        return this.addLis(callback, this._lis.nxt);
+      }
+      onMessage(callback) {
+        return this.addLis(callback, this._lis.msg);
       }
+      onError(callback) {
+        return this.addLis(callback, this._lis.err);
+      }
+      onComplete(callback) {
+        return this.addLis(callback, this._lis.cmp);
+      }
+      addLis(callback, list) {
+        list.push(callback);
+        return () => {
+          let i = list.indexOf(callback);
+          if (i >= 0)
+            list.splice(i, 1);
+        };
+      }
+      // remove all listeners
+      clearLis() {
+        for (let l of Object.values(this._lis))
+          l.splice(0, l.length);
+      }
+      // --- Controller API
       /**
-       * Resize the Blob
-       * @param blobContentLength This header specifies the maximum size for the page blob, up to 1 TB. The
-       *                          page blob size must be aligned to a 512-byte boundary.
-       * @param options The options parameters.
+       * Is this stream already closed by a completion or error?
        */
-      resize(blobContentLength, options) {
-        return this.client.sendOperationRequest({ blobContentLength, options }, resizeOperationSpec);
+      get closed() {
+        return this._closed !== false;
       }
       /**
-       * Update the sequence number of the blob
-       * @param sequenceNumberAction Required if the x-ms-blob-sequence-number header is set for the request.
-       *                             This property applies to page blobs only. This property indicates how the service should modify the
-       *                             blob's sequence number
-       * @param options The options parameters.
+       * Emit message, close with error, or close successfully, but only one
+       * at a time.
+       * Can be used to wrap a stream by using the other stream's `onNext`.
        */
-      updateSequenceNumber(sequenceNumberAction, options) {
-        return this.client.sendOperationRequest({ sequenceNumberAction, options }, updateSequenceNumberOperationSpec);
+      notifyNext(message, error3, complete) {
+        runtime_1.assert((message ? 1 : 0) + (error3 ? 1 : 0) + (complete ? 1 : 0) <= 1, "only one emission at a time");
+        if (message)
+          this.notifyMessage(message);
+        if (error3)
+          this.notifyError(error3);
+        if (complete)
+          this.notifyComplete();
       }
       /**
-       * The Copy Incremental operation copies a snapshot of the source page blob to a destination page blob.
-       * The snapshot is copied such that only the differential changes between the previously copied
-       * snapshot are transferred to the destination. The copied snapshots are complete copies of the
-       * original snapshot and can be read or copied from as usual. This API is supported since REST version
-       * 2016-05-31.
-       * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to
-       *                   2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would
-       *                   appear in a request URI. The source blob must either be public or must be authenticated via a shared
-       *                   access signature.
-       * @param options The options parameters.
+       * Emits a new message. Throws if stream is closed.
+       *
+       * Triggers onNext and onMessage callbacks.
        */
-      copyIncremental(copySource, options) {
-        return this.client.sendOperationRequest({ copySource, options }, copyIncrementalOperationSpec);
+      notifyMessage(message) {
+        runtime_1.assert(!this.closed, "stream is closed");
+        this.pushIt({ value: message, done: false });
+        this._lis.msg.forEach((l) => l(message));
+        this._lis.nxt.forEach((l) => l(message, void 0, false));
       }
-    };
-    exports2.PageBlobImpl = PageBlobImpl;
-    var xmlSerializer = coreClient.createSerializer(
-      Mappers,
-      /* isXml */
-      true
-    );
-    var createOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.PageBlobCreateHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobCreateExceptionHeaders
+      /**
+       * Closes the stream with an error. Throws if stream is closed.
+       *
+       * Triggers onNext and onError callbacks.
+       */
+      notifyError(error3) {
+        runtime_1.assert(!this.closed, "stream is closed");
+        this._closed = error3;
+        this.pushIt(error3);
+        this._lis.err.forEach((l) => l(error3));
+        this._lis.nxt.forEach((l) => l(void 0, error3, false));
+        this.clearLis();
+      }
+      /**
+       * Closes the stream successfully. Throws if stream is closed.
+       *
+       * Triggers onNext and onComplete callbacks.
+       */
+      notifyComplete() {
+        runtime_1.assert(!this.closed, "stream is closed");
+        this._closed = true;
+        this.pushIt({ value: null, done: true });
+        this._lis.cmp.forEach((l) => l());
+        this._lis.nxt.forEach((l) => l(void 0, void 0, true));
+        this.clearLis();
+      }
+      /**
+       * Creates an async iterator (that can be used with `for await {...}`)
+       * to consume the stream.
+       *
+       * Some things to note:
+       * - If an error occurs, the `for await` will throw it.
+       * - If an error occurred before the `for await` was started, `for await`
+       *   will re-throw it.
+       * - If the stream is already complete, the `for await` will be empty.
+       * - If your `for await` consumes slower than the stream produces,
+       *   for example because you are relaying messages in a slow operation,
+       *   messages are queued.
+       */
+      [Symbol.asyncIterator]() {
+        if (this._closed === true)
+          this.pushIt({ value: null, done: true });
+        else if (this._closed !== false)
+          this.pushIt(this._closed);
+        return {
+          next: () => {
+            let state = this._itState;
+            runtime_1.assert(state, "bad state");
+            runtime_1.assert(!state.p, "iterator contract broken");
+            let first = state.q.shift();
+            if (first)
+              return "value" in first ? Promise.resolve(first) : Promise.reject(first);
+            state.p = new deferred_1.Deferred();
+            return state.p.promise;
+          }
+        };
+      }
+      // "push" a new iterator result.
+      // this either resolves a pending promise, or enqueues the result.
+      pushIt(result) {
+        let state = this._itState;
+        if (state.p) {
+          const p = state.p;
+          runtime_1.assert(p.state == deferred_1.DeferredState.PENDING, "iterator contract broken");
+          "value" in result ? p.resolve(result) : p.reject(result);
+          delete state.p;
+        } else {
+          state.q.push(result);
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.contentLength,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.blobCacheControl,
-        Parameters.blobContentType,
-        Parameters.blobContentMD5,
-        Parameters.blobContentEncoding,
-        Parameters.blobContentLanguage,
-        Parameters.blobContentDisposition,
-        Parameters.immutabilityPolicyExpiry,
-        Parameters.immutabilityPolicyMode,
-        Parameters.encryptionScope,
-        Parameters.tier,
-        Parameters.blobTagsString,
-        Parameters.legalHold1,
-        Parameters.blobType,
-        Parameters.blobContentLength,
-        Parameters.blobSequenceNumber
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+      }
     };
-    var uploadPagesOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.PageBlobUploadPagesHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobUploadPagesExceptionHeaders
+    exports2.RpcOutputStreamController = RpcOutputStreamController;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/unary-call.js
+var require_unary_call = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/unary-call.js"(exports2) {
+    "use strict";
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve8) {
+          resolve8(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve8, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
         }
-      },
-      requestBody: Parameters.body1,
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.contentLength,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.range,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope,
-        Parameters.transactionalContentMD5,
-        Parameters.transactionalContentCrc64,
-        Parameters.contentType1,
-        Parameters.accept2,
-        Parameters.pageWrite,
-        Parameters.ifSequenceNumberLessThanOrEqualTo,
-        Parameters.ifSequenceNumberLessThan,
-        Parameters.ifSequenceNumberEqualTo
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "binary",
-      serializer: xmlSerializer
-    };
-    var clearPagesOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.PageBlobClearPagesHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobClearPagesExceptionHeaders
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.contentLength,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.range,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope,
-        Parameters.ifSequenceNumberLessThanOrEqualTo,
-        Parameters.ifSequenceNumberLessThan,
-        Parameters.ifSequenceNumberEqualTo,
-        Parameters.pageWrite1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var uploadPagesFromURLOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.PageBlobUploadPagesFromURLHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobUploadPagesFromURLExceptionHeaders
+        function step(result) {
+          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.contentLength,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope,
-        Parameters.sourceIfModifiedSince,
-        Parameters.sourceIfUnmodifiedSince,
-        Parameters.sourceIfMatch,
-        Parameters.sourceIfNoneMatch,
-        Parameters.sourceContentMD5,
-        Parameters.copySourceAuthorization,
-        Parameters.fileRequestIntent,
-        Parameters.pageWrite,
-        Parameters.ifSequenceNumberLessThanOrEqualTo,
-        Parameters.ifSequenceNumberLessThan,
-        Parameters.ifSequenceNumberEqualTo,
-        Parameters.sourceUrl,
-        Parameters.sourceRange,
-        Parameters.sourceContentCrc64,
-        Parameters.range1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
     };
-    var getPageRangesOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.PageList,
-          headersMapper: Mappers.PageBlobGetPageRangesHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobGetPageRangesExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.marker,
-        Parameters.maxPageSize,
-        Parameters.snapshot,
-        Parameters.comp20
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.range,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.UnaryCall = void 0;
+    var UnaryCall = class {
+      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
+        this.method = method;
+        this.requestHeaders = requestHeaders;
+        this.request = request2;
+        this.headers = headers;
+        this.response = response;
+        this.status = status;
+        this.trailers = trailers;
+      }
+      /**
+       * If you are only interested in the final outcome of this call,
+       * you can await it to receive a `FinishedUnaryCall`.
+       */
+      then(onfulfilled, onrejected) {
+        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
+      }
+      promiseFinished() {
+        return __awaiter2(this, void 0, void 0, function* () {
+          let [headers, response, status, trailers] = yield Promise.all([this.headers, this.response, this.status, this.trailers]);
+          return {
+            method: this.method,
+            requestHeaders: this.requestHeaders,
+            request: this.request,
+            headers,
+            response,
+            status,
+            trailers
+          };
+        });
+      }
     };
-    var getPageRangesDiffOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.PageList,
-          headersMapper: Mappers.PageBlobGetPageRangesDiffHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobGetPageRangesDiffExceptionHeaders
+    exports2.UnaryCall = UnaryCall;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-streaming-call.js
+var require_server_streaming_call = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-streaming-call.js"(exports2) {
+    "use strict";
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve8) {
+          resolve8(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve8, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.marker,
-        Parameters.maxPageSize,
-        Parameters.snapshot,
-        Parameters.comp20,
-        Parameters.prevsnapshot
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.range,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.prevSnapshotUrl
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var resizeOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.PageBlobResizeHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobResizeExceptionHeaders
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
         }
-      },
-      queryParameters: [Parameters.comp, Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope,
-        Parameters.blobContentLength
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+        function step(result) {
+          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
     };
-    var updateSequenceNumberOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.PageBlobUpdateSequenceNumberHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobUpdateSequenceNumberExceptionHeaders
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ServerStreamingCall = void 0;
+    var ServerStreamingCall = class {
+      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
+        this.method = method;
+        this.requestHeaders = requestHeaders;
+        this.request = request2;
+        this.headers = headers;
+        this.responses = response;
+        this.status = status;
+        this.trailers = trailers;
+      }
+      /**
+       * Instead of awaiting the response status and trailers, you can
+       * just as well await this call itself to receive the server outcome.
+       * You should first setup some listeners to the `request` to
+       * see the actual messages the server replied with.
+       */
+      then(onfulfilled, onrejected) {
+        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
+      }
+      promiseFinished() {
+        return __awaiter2(this, void 0, void 0, function* () {
+          let [headers, status, trailers] = yield Promise.all([this.headers, this.status, this.trailers]);
+          return {
+            method: this.method,
+            requestHeaders: this.requestHeaders,
+            request: this.request,
+            headers,
+            status,
+            trailers
+          };
+        });
+      }
+    };
+    exports2.ServerStreamingCall = ServerStreamingCall;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/client-streaming-call.js
+var require_client_streaming_call = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/client-streaming-call.js"(exports2) {
+    "use strict";
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve8) {
+          resolve8(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve8, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
         }
-      },
-      queryParameters: [Parameters.comp, Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.blobSequenceNumber,
-        Parameters.sequenceNumberAction
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function step(result) {
+          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
     };
-    var copyIncrementalOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        202: {
-          headersMapper: Mappers.PageBlobCopyIncrementalHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobCopyIncrementalExceptionHeaders
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ClientStreamingCall = void 0;
+    var ClientStreamingCall = class {
+      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
+        this.method = method;
+        this.requestHeaders = requestHeaders;
+        this.requests = request2;
+        this.headers = headers;
+        this.response = response;
+        this.status = status;
+        this.trailers = trailers;
+      }
+      /**
+       * Instead of awaiting the response status and trailers, you can
+       * just as well await this call itself to receive the server outcome.
+       * Note that it may still be valid to send more request messages.
+       */
+      then(onfulfilled, onrejected) {
+        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
+      }
+      promiseFinished() {
+        return __awaiter2(this, void 0, void 0, function* () {
+          let [headers, response, status, trailers] = yield Promise.all([this.headers, this.response, this.status, this.trailers]);
+          return {
+            method: this.method,
+            requestHeaders: this.requestHeaders,
+            headers,
+            response,
+            status,
+            trailers
+          };
+        });
+      }
+    };
+    exports2.ClientStreamingCall = ClientStreamingCall;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/duplex-streaming-call.js
+var require_duplex_streaming_call = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/duplex-streaming-call.js"(exports2) {
+    "use strict";
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve8) {
+          resolve8(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve8, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp21],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.copySource
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function step(result) {
+          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.DuplexStreamingCall = void 0;
+    var DuplexStreamingCall = class {
+      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
+        this.method = method;
+        this.requestHeaders = requestHeaders;
+        this.requests = request2;
+        this.headers = headers;
+        this.responses = response;
+        this.status = status;
+        this.trailers = trailers;
+      }
+      /**
+       * Instead of awaiting the response status and trailers, you can
+       * just as well await this call itself to receive the server outcome.
+       * Note that it may still be valid to send more request messages.
+       */
+      then(onfulfilled, onrejected) {
+        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
+      }
+      promiseFinished() {
+        return __awaiter2(this, void 0, void 0, function* () {
+          let [headers, status, trailers] = yield Promise.all([this.headers, this.status, this.trailers]);
+          return {
+            method: this.method,
+            requestHeaders: this.requestHeaders,
+            headers,
+            status,
+            trailers
+          };
+        });
+      }
     };
+    exports2.DuplexStreamingCall = DuplexStreamingCall;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/appendBlob.js
-var require_appendBlob = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/appendBlob.js"(exports2) {
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/test-transport.js
+var require_test_transport = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/test-transport.js"(exports2) {
     "use strict";
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve8) {
+          resolve8(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve8, 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 ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AppendBlobImpl = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var coreClient = tslib_1.__importStar(require_commonjs8());
-    var Mappers = tslib_1.__importStar(require_mappers());
-    var Parameters = tslib_1.__importStar(require_parameters());
-    var AppendBlobImpl = class {
-      client;
+    exports2.TestTransport = void 0;
+    var rpc_error_1 = require_rpc_error();
+    var runtime_1 = require_commonjs16();
+    var rpc_output_stream_1 = require_rpc_output_stream();
+    var rpc_options_1 = require_rpc_options();
+    var unary_call_1 = require_unary_call();
+    var server_streaming_call_1 = require_server_streaming_call();
+    var client_streaming_call_1 = require_client_streaming_call();
+    var duplex_streaming_call_1 = require_duplex_streaming_call();
+    var TestTransport = class _TestTransport {
       /**
-       * Initialize a new instance of the class AppendBlob class.
-       * @param client Reference to the service client
+       * Initialize with mock data. Omitted fields have default value.
        */
-      constructor(client) {
-        this.client = client;
+      constructor(data) {
+        this.suppressUncaughtRejections = true;
+        this.headerDelay = 10;
+        this.responseDelay = 50;
+        this.betweenResponseDelay = 10;
+        this.afterResponseDelay = 10;
+        this.data = data !== null && data !== void 0 ? data : {};
       }
       /**
-       * The Create Append Blob operation creates a new append blob.
-       * @param contentLength The length of the request.
-       * @param options The options parameters.
+       * Sent message(s) during the last operation.
        */
-      create(contentLength, options) {
-        return this.client.sendOperationRequest({ contentLength, options }, createOperationSpec);
+      get sentMessages() {
+        if (this.lastInput instanceof TestInputStream) {
+          return this.lastInput.sent;
+        } else if (typeof this.lastInput == "object") {
+          return [this.lastInput.single];
+        }
+        return [];
       }
       /**
-       * The Append Block operation commits a new block of data to the end of an existing append blob. The
-       * Append Block operation is permitted only if the blob was created with x-ms-blob-type set to
-       * AppendBlob. Append Block is supported only on version 2015-02-21 version or later.
-       * @param contentLength The length of the request.
-       * @param body Initial data
-       * @param options The options parameters.
+       * Sending message(s) completed?
        */
-      appendBlock(contentLength, body, options) {
-        return this.client.sendOperationRequest({ contentLength, body, options }, appendBlockOperationSpec);
+      get sendComplete() {
+        if (this.lastInput instanceof TestInputStream) {
+          return this.lastInput.completed;
+        } else if (typeof this.lastInput == "object") {
+          return true;
+        }
+        return false;
       }
-      /**
-       * The Append Block operation commits a new block of data to the end of an existing append blob where
-       * the contents are read from a source url. The Append Block operation is permitted only if the blob
-       * was created with x-ms-blob-type set to AppendBlob. Append Block is supported only on version
-       * 2015-02-21 version or later.
-       * @param sourceUrl Specify a URL to the copy source.
-       * @param contentLength The length of the request.
-       * @param options The options parameters.
-       */
-      appendBlockFromUrl(sourceUrl, contentLength, options) {
-        return this.client.sendOperationRequest({ sourceUrl, contentLength, options }, appendBlockFromUrlOperationSpec);
+      // Creates a promise for response headers from the mock data.
+      promiseHeaders() {
+        var _a;
+        const headers = (_a = this.data.headers) !== null && _a !== void 0 ? _a : _TestTransport.defaultHeaders;
+        return headers instanceof rpc_error_1.RpcError ? Promise.reject(headers) : Promise.resolve(headers);
+      }
+      // Creates a promise for a single, valid, message from the mock data.
+      promiseSingleResponse(method) {
+        if (this.data.response instanceof rpc_error_1.RpcError) {
+          return Promise.reject(this.data.response);
+        }
+        let r;
+        if (Array.isArray(this.data.response)) {
+          runtime_1.assert(this.data.response.length > 0);
+          r = this.data.response[0];
+        } else if (this.data.response !== void 0) {
+          r = this.data.response;
+        } else {
+          r = method.O.create();
+        }
+        runtime_1.assert(method.O.is(r));
+        return Promise.resolve(r);
       }
       /**
-       * The Seal operation seals the Append Blob to make it read-only. Seal is supported only on version
-       * 2019-12-12 version or later.
-       * @param options The options parameters.
+       * Pushes response messages from the mock data to the output stream.
+       * If an error response, status or trailers are mocked, the stream is
+       * closed with the respective error.
+       * Otherwise, stream is completed successfully.
+       *
+       * The returned promise resolves when the stream is closed. It should
+       * not reject. If it does, code is broken.
        */
-      seal(options) {
-        return this.client.sendOperationRequest({ options }, sealOperationSpec);
+      streamResponses(method, stream2, abort) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          const messages = [];
+          if (this.data.response === void 0) {
+            messages.push(method.O.create());
+          } else if (Array.isArray(this.data.response)) {
+            for (let msg of this.data.response) {
+              runtime_1.assert(method.O.is(msg));
+              messages.push(msg);
+            }
+          } else if (!(this.data.response instanceof rpc_error_1.RpcError)) {
+            runtime_1.assert(method.O.is(this.data.response));
+            messages.push(this.data.response);
+          }
+          try {
+            yield delay2(this.responseDelay, abort)(void 0);
+          } catch (error3) {
+            stream2.notifyError(error3);
+            return;
+          }
+          if (this.data.response instanceof rpc_error_1.RpcError) {
+            stream2.notifyError(this.data.response);
+            return;
+          }
+          for (let msg of messages) {
+            stream2.notifyMessage(msg);
+            try {
+              yield delay2(this.betweenResponseDelay, abort)(void 0);
+            } catch (error3) {
+              stream2.notifyError(error3);
+              return;
+            }
+          }
+          if (this.data.status instanceof rpc_error_1.RpcError) {
+            stream2.notifyError(this.data.status);
+            return;
+          }
+          if (this.data.trailers instanceof rpc_error_1.RpcError) {
+            stream2.notifyError(this.data.trailers);
+            return;
+          }
+          stream2.notifyComplete();
+        });
       }
-    };
-    exports2.AppendBlobImpl = AppendBlobImpl;
-    var xmlSerializer = coreClient.createSerializer(
-      Mappers,
-      /* isXml */
-      true
-    );
-    var createOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.AppendBlobCreateHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.AppendBlobCreateExceptionHeaders
+      // Creates a promise for response status from the mock data.
+      promiseStatus() {
+        var _a;
+        const status = (_a = this.data.status) !== null && _a !== void 0 ? _a : _TestTransport.defaultStatus;
+        return status instanceof rpc_error_1.RpcError ? Promise.reject(status) : Promise.resolve(status);
+      }
+      // Creates a promise for response trailers from the mock data.
+      promiseTrailers() {
+        var _a;
+        const trailers = (_a = this.data.trailers) !== null && _a !== void 0 ? _a : _TestTransport.defaultTrailers;
+        return trailers instanceof rpc_error_1.RpcError ? Promise.reject(trailers) : Promise.resolve(trailers);
+      }
+      maybeSuppressUncaught(...promise) {
+        if (this.suppressUncaughtRejections) {
+          for (let p of promise) {
+            p.catch(() => {
+            });
+          }
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.contentLength,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.blobCacheControl,
-        Parameters.blobContentType,
-        Parameters.blobContentMD5,
-        Parameters.blobContentEncoding,
-        Parameters.blobContentLanguage,
-        Parameters.blobContentDisposition,
-        Parameters.immutabilityPolicyExpiry,
-        Parameters.immutabilityPolicyMode,
-        Parameters.encryptionScope,
-        Parameters.blobTagsString,
-        Parameters.legalHold1,
-        Parameters.blobType1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+      }
+      mergeOptions(options) {
+        return rpc_options_1.mergeRpcOptions({}, options);
+      }
+      unary(method, input, options) {
+        var _a;
+        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay2(this.headerDelay, options.abort)), responsePromise = headersPromise.catch((_2) => {
+        }).then(delay2(this.responseDelay, options.abort)).then((_2) => this.promiseSingleResponse(method)), statusPromise = responsePromise.catch((_2) => {
+        }).then(delay2(this.afterResponseDelay, options.abort)).then((_2) => this.promiseStatus()), trailersPromise = responsePromise.catch((_2) => {
+        }).then(delay2(this.afterResponseDelay, options.abort)).then((_2) => this.promiseTrailers());
+        this.maybeSuppressUncaught(statusPromise, trailersPromise);
+        this.lastInput = { single: input };
+        return new unary_call_1.UnaryCall(method, requestHeaders, input, headersPromise, responsePromise, statusPromise, trailersPromise);
+      }
+      serverStreaming(method, input, options) {
+        var _a;
+        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay2(this.headerDelay, options.abort)), outputStream = new rpc_output_stream_1.RpcOutputStreamController(), responseStreamClosedPromise = headersPromise.then(delay2(this.responseDelay, options.abort)).catch(() => {
+        }).then(() => this.streamResponses(method, outputStream, options.abort)).then(delay2(this.afterResponseDelay, options.abort)), statusPromise = responseStreamClosedPromise.then(() => this.promiseStatus()), trailersPromise = responseStreamClosedPromise.then(() => this.promiseTrailers());
+        this.maybeSuppressUncaught(statusPromise, trailersPromise);
+        this.lastInput = { single: input };
+        return new server_streaming_call_1.ServerStreamingCall(method, requestHeaders, input, headersPromise, outputStream, statusPromise, trailersPromise);
+      }
+      clientStreaming(method, options) {
+        var _a;
+        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay2(this.headerDelay, options.abort)), responsePromise = headersPromise.catch((_2) => {
+        }).then(delay2(this.responseDelay, options.abort)).then((_2) => this.promiseSingleResponse(method)), statusPromise = responsePromise.catch((_2) => {
+        }).then(delay2(this.afterResponseDelay, options.abort)).then((_2) => this.promiseStatus()), trailersPromise = responsePromise.catch((_2) => {
+        }).then(delay2(this.afterResponseDelay, options.abort)).then((_2) => this.promiseTrailers());
+        this.maybeSuppressUncaught(statusPromise, trailersPromise);
+        this.lastInput = new TestInputStream(this.data, options.abort);
+        return new client_streaming_call_1.ClientStreamingCall(method, requestHeaders, this.lastInput, headersPromise, responsePromise, statusPromise, trailersPromise);
+      }
+      duplex(method, options) {
+        var _a;
+        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay2(this.headerDelay, options.abort)), outputStream = new rpc_output_stream_1.RpcOutputStreamController(), responseStreamClosedPromise = headersPromise.then(delay2(this.responseDelay, options.abort)).catch(() => {
+        }).then(() => this.streamResponses(method, outputStream, options.abort)).then(delay2(this.afterResponseDelay, options.abort)), statusPromise = responseStreamClosedPromise.then(() => this.promiseStatus()), trailersPromise = responseStreamClosedPromise.then(() => this.promiseTrailers());
+        this.maybeSuppressUncaught(statusPromise, trailersPromise);
+        this.lastInput = new TestInputStream(this.data, options.abort);
+        return new duplex_streaming_call_1.DuplexStreamingCall(method, requestHeaders, this.lastInput, headersPromise, outputStream, statusPromise, trailersPromise);
+      }
     };
-    var appendBlockOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.AppendBlobAppendBlockHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.AppendBlobAppendBlockExceptionHeaders
-        }
-      },
-      requestBody: Parameters.body1,
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp22],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.contentLength,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope,
-        Parameters.transactionalContentMD5,
-        Parameters.transactionalContentCrc64,
-        Parameters.contentType1,
-        Parameters.accept2,
-        Parameters.maxSize,
-        Parameters.appendPosition
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "binary",
-      serializer: xmlSerializer
+    exports2.TestTransport = TestTransport;
+    TestTransport.defaultHeaders = {
+      responseHeader: "test"
     };
-    var appendBlockFromUrlOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.AppendBlobAppendBlockFromUrlHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.AppendBlobAppendBlockFromUrlExceptionHeaders
-        }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp22],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.contentLength,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope,
-        Parameters.sourceIfModifiedSince,
-        Parameters.sourceIfUnmodifiedSince,
-        Parameters.sourceIfMatch,
-        Parameters.sourceIfNoneMatch,
-        Parameters.sourceContentMD5,
-        Parameters.copySourceAuthorization,
-        Parameters.fileRequestIntent,
-        Parameters.transactionalContentMD5,
-        Parameters.sourceUrl,
-        Parameters.sourceContentCrc64,
-        Parameters.maxSize,
-        Parameters.appendPosition,
-        Parameters.sourceRange1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+    TestTransport.defaultStatus = {
+      code: "OK",
+      detail: "all good"
     };
-    var sealOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.AppendBlobSealHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.AppendBlobSealExceptionHeaders
+    TestTransport.defaultTrailers = {
+      responseTrailer: "test"
+    };
+    function delay2(ms, abort) {
+      return (v) => new Promise((resolve8, reject) => {
+        if (abort === null || abort === void 0 ? void 0 : abort.aborted) {
+          reject(new rpc_error_1.RpcError("user cancel", "CANCELLED"));
+        } else {
+          const id = setTimeout(() => resolve8(v), ms);
+          if (abort) {
+            abort.addEventListener("abort", (ev) => {
+              clearTimeout(id);
+              reject(new rpc_error_1.RpcError("user cancel", "CANCELLED"));
+            });
+          }
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp23],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.appendPosition
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+      });
+    }
+    var TestInputStream = class {
+      constructor(data, abort) {
+        this._completed = false;
+        this._sent = [];
+        this.data = data;
+        this.abort = abort;
+      }
+      get sent() {
+        return this._sent;
+      }
+      get completed() {
+        return this._completed;
+      }
+      send(message) {
+        if (this.data.inputMessage instanceof rpc_error_1.RpcError) {
+          return Promise.reject(this.data.inputMessage);
+        }
+        const delayMs = this.data.inputMessage === void 0 ? 10 : this.data.inputMessage;
+        return Promise.resolve(void 0).then(() => {
+          this._sent.push(message);
+        }).then(delay2(delayMs, this.abort));
+      }
+      complete() {
+        if (this.data.inputComplete instanceof rpc_error_1.RpcError) {
+          return Promise.reject(this.data.inputComplete);
+        }
+        const delayMs = this.data.inputComplete === void 0 ? 10 : this.data.inputComplete;
+        return Promise.resolve(void 0).then(() => {
+          this._completed = true;
+        }).then(delay2(delayMs, this.abort));
+      }
     };
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blockBlob.js
-var require_blockBlob = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blockBlob.js"(exports2) {
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-interceptor.js
+var require_rpc_interceptor = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-interceptor.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlockBlobImpl = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var coreClient = tslib_1.__importStar(require_commonjs8());
-    var Mappers = tslib_1.__importStar(require_mappers());
-    var Parameters = tslib_1.__importStar(require_parameters());
-    var BlockBlobImpl = class {
-      client;
-      /**
-       * Initialize a new instance of the class BlockBlob class.
-       * @param client Reference to the service client
-       */
-      constructor(client) {
-        this.client = client;
+    exports2.stackDuplexStreamingInterceptors = exports2.stackClientStreamingInterceptors = exports2.stackServerStreamingInterceptors = exports2.stackUnaryInterceptors = exports2.stackIntercept = void 0;
+    var runtime_1 = require_commonjs16();
+    function stackIntercept(kind, transport, method, options, input) {
+      var _a, _b, _c, _d;
+      if (kind == "unary") {
+        let tail = (mtd, inp, opt) => transport.unary(mtd, inp, opt);
+        for (const curr of ((_a = options.interceptors) !== null && _a !== void 0 ? _a : []).filter((i) => i.interceptUnary).reverse()) {
+          const next = tail;
+          tail = (mtd, inp, opt) => curr.interceptUnary(next, mtd, inp, opt);
+        }
+        return tail(method, input, options);
       }
-      /**
-       * The Upload Block Blob operation updates the content of an existing block blob. Updating an existing
-       * block blob overwrites any existing metadata on the blob. Partial updates are not supported with Put
-       * Blob; the content of the existing blob is overwritten with the content of the new blob. To perform a
-       * partial update of the content of a block blob, use the Put Block List operation.
-       * @param contentLength The length of the request.
-       * @param body Initial data
-       * @param options The options parameters.
-       */
-      upload(contentLength, body, options) {
-        return this.client.sendOperationRequest({ contentLength, body, options }, uploadOperationSpec);
+      if (kind == "serverStreaming") {
+        let tail = (mtd, inp, opt) => transport.serverStreaming(mtd, inp, opt);
+        for (const curr of ((_b = options.interceptors) !== null && _b !== void 0 ? _b : []).filter((i) => i.interceptServerStreaming).reverse()) {
+          const next = tail;
+          tail = (mtd, inp, opt) => curr.interceptServerStreaming(next, mtd, inp, opt);
+        }
+        return tail(method, input, options);
       }
-      /**
-       * The Put Blob from URL operation creates a new Block Blob where the contents of the blob are read
-       * from a given URL.  This API is supported beginning with the 2020-04-08 version. Partial updates are
-       * not supported with Put Blob from URL; the content of an existing blob is overwritten with the
-       * content of the new blob.  To perform partial updates to a block blob’s contents using a source URL,
-       * use the Put Block from URL API in conjunction with Put Block List.
-       * @param contentLength The length of the request.
-       * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to
-       *                   2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would
-       *                   appear in a request URI. The source blob must either be public or must be authenticated via a shared
-       *                   access signature.
-       * @param options The options parameters.
-       */
-      putBlobFromUrl(contentLength, copySource, options) {
-        return this.client.sendOperationRequest({ contentLength, copySource, options }, putBlobFromUrlOperationSpec);
+      if (kind == "clientStreaming") {
+        let tail = (mtd, opt) => transport.clientStreaming(mtd, opt);
+        for (const curr of ((_c = options.interceptors) !== null && _c !== void 0 ? _c : []).filter((i) => i.interceptClientStreaming).reverse()) {
+          const next = tail;
+          tail = (mtd, opt) => curr.interceptClientStreaming(next, mtd, opt);
+        }
+        return tail(method, options);
+      }
+      if (kind == "duplex") {
+        let tail = (mtd, opt) => transport.duplex(mtd, opt);
+        for (const curr of ((_d = options.interceptors) !== null && _d !== void 0 ? _d : []).filter((i) => i.interceptDuplex).reverse()) {
+          const next = tail;
+          tail = (mtd, opt) => curr.interceptDuplex(next, mtd, opt);
+        }
+        return tail(method, options);
+      }
+      runtime_1.assertNever(kind);
+    }
+    exports2.stackIntercept = stackIntercept;
+    function stackUnaryInterceptors(transport, method, input, options) {
+      return stackIntercept("unary", transport, method, options, input);
+    }
+    exports2.stackUnaryInterceptors = stackUnaryInterceptors;
+    function stackServerStreamingInterceptors(transport, method, input, options) {
+      return stackIntercept("serverStreaming", transport, method, options, input);
+    }
+    exports2.stackServerStreamingInterceptors = stackServerStreamingInterceptors;
+    function stackClientStreamingInterceptors(transport, method, options) {
+      return stackIntercept("clientStreaming", transport, method, options);
+    }
+    exports2.stackClientStreamingInterceptors = stackClientStreamingInterceptors;
+    function stackDuplexStreamingInterceptors(transport, method, options) {
+      return stackIntercept("duplex", transport, method, options);
+    }
+    exports2.stackDuplexStreamingInterceptors = stackDuplexStreamingInterceptors;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-call-context.js
+var require_server_call_context = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-call-context.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ServerCallContextController = void 0;
+    var ServerCallContextController = class {
+      constructor(method, headers, deadline, sendResponseHeadersFn, defaultStatus = { code: "OK", detail: "" }) {
+        this._cancelled = false;
+        this._listeners = [];
+        this.method = method;
+        this.headers = headers;
+        this.deadline = deadline;
+        this.trailers = {};
+        this._sendRH = sendResponseHeadersFn;
+        this.status = defaultStatus;
       }
       /**
-       * The Stage Block operation creates a new block to be committed as part of a blob
-       * @param blockId A valid Base64 string value that identifies the block. Prior to encoding, the string
-       *                must be less than or equal to 64 bytes in size. For a given blob, the length of the value specified
-       *                for the blockid parameter must be the same size for each block.
-       * @param contentLength The length of the request.
-       * @param body Initial data
-       * @param options The options parameters.
+       * Set the call cancelled.
+       *
+       * Invokes all callbacks registered with onCancel() and
+       * sets `cancelled = true`.
        */
-      stageBlock(blockId, contentLength, body, options) {
-        return this.client.sendOperationRequest({ blockId, contentLength, body, options }, stageBlockOperationSpec);
+      notifyCancelled() {
+        if (!this._cancelled) {
+          this._cancelled = true;
+          for (let l of this._listeners) {
+            l();
+          }
+        }
       }
       /**
-       * The Stage Block operation creates a new block to be committed as part of a blob where the contents
-       * are read from a URL.
-       * @param blockId A valid Base64 string value that identifies the block. Prior to encoding, the string
-       *                must be less than or equal to 64 bytes in size. For a given blob, the length of the value specified
-       *                for the blockid parameter must be the same size for each block.
-       * @param contentLength The length of the request.
-       * @param sourceUrl Specify a URL to the copy source.
-       * @param options The options parameters.
+       * Send response headers.
        */
-      stageBlockFromURL(blockId, contentLength, sourceUrl, options) {
-        return this.client.sendOperationRequest({ blockId, contentLength, sourceUrl, options }, stageBlockFromURLOperationSpec);
+      sendResponseHeaders(data) {
+        this._sendRH(data);
       }
       /**
-       * The Commit Block List operation writes a blob by specifying the list of block IDs that make up the
-       * blob. In order to be written as part of a blob, a block must have been successfully written to the
-       * server in a prior Put Block operation. You can call Put Block List to update a blob by uploading
-       * only those blocks that have changed, then committing the new and existing blocks together. You can
-       * do this by specifying whether to commit a block from the committed block list or from the
-       * uncommitted block list, or to commit the most recently uploaded version of the block, whichever list
-       * it may belong to.
-       * @param blocks Blob Blocks.
-       * @param options The options parameters.
+       * Is the call cancelled?
+       *
+       * When the client closes the connection before the server
+       * is done, the call is cancelled.
+       *
+       * If you want to cancel a request on the server, throw a
+       * RpcError with the CANCELLED status code.
        */
-      commitBlockList(blocks, options) {
-        return this.client.sendOperationRequest({ blocks, options }, commitBlockListOperationSpec);
+      get cancelled() {
+        return this._cancelled;
       }
       /**
-       * The Get Block List operation retrieves the list of blocks that have been uploaded as part of a block
-       * blob
-       * @param listType Specifies whether to return the list of committed blocks, the list of uncommitted
-       *                 blocks, or both lists together.
-       * @param options The options parameters.
+       * Add a callback for cancellation.
        */
-      getBlockList(listType, options) {
-        return this.client.sendOperationRequest({ listType, options }, getBlockListOperationSpec);
+      onCancel(callback) {
+        const l = this._listeners;
+        l.push(callback);
+        return () => {
+          let i = l.indexOf(callback);
+          if (i >= 0)
+            l.splice(i, 1);
+        };
       }
     };
-    exports2.BlockBlobImpl = BlockBlobImpl;
-    var xmlSerializer = coreClient.createSerializer(
-      Mappers,
-      /* isXml */
-      true
-    );
-    var uploadOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.BlockBlobUploadHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlockBlobUploadExceptionHeaders
-        }
-      },
-      requestBody: Parameters.body1,
-      queryParameters: [Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.contentLength,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.blobCacheControl,
-        Parameters.blobContentType,
-        Parameters.blobContentMD5,
-        Parameters.blobContentEncoding,
-        Parameters.blobContentLanguage,
-        Parameters.blobContentDisposition,
-        Parameters.immutabilityPolicyExpiry,
-        Parameters.immutabilityPolicyMode,
-        Parameters.encryptionScope,
-        Parameters.tier,
-        Parameters.blobTagsString,
-        Parameters.legalHold1,
-        Parameters.transactionalContentMD5,
-        Parameters.transactionalContentCrc64,
-        Parameters.contentType1,
-        Parameters.accept2,
-        Parameters.blobType2
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "binary",
-      serializer: xmlSerializer
-    };
-    var putBlobFromUrlOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.BlockBlobPutBlobFromUrlHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlockBlobPutBlobFromUrlExceptionHeaders
-        }
-      },
-      queryParameters: [Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.contentLength,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.blobCacheControl,
-        Parameters.blobContentType,
-        Parameters.blobContentMD5,
-        Parameters.blobContentEncoding,
-        Parameters.blobContentLanguage,
-        Parameters.blobContentDisposition,
-        Parameters.encryptionScope,
-        Parameters.tier,
-        Parameters.sourceIfModifiedSince,
-        Parameters.sourceIfUnmodifiedSince,
-        Parameters.sourceIfMatch,
-        Parameters.sourceIfNoneMatch,
-        Parameters.sourceIfTags,
-        Parameters.copySource,
-        Parameters.blobTagsString,
-        Parameters.sourceContentMD5,
-        Parameters.copySourceAuthorization,
-        Parameters.copySourceTags,
-        Parameters.fileRequestIntent,
-        Parameters.transactionalContentMD5,
-        Parameters.blobType2,
-        Parameters.copySourceBlobProperties
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var stageBlockOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.BlockBlobStageBlockHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlockBlobStageBlockExceptionHeaders
-        }
-      },
-      requestBody: Parameters.body1,
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.comp24,
-        Parameters.blockId
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.contentLength,
-        Parameters.leaseId,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.encryptionScope,
-        Parameters.transactionalContentMD5,
-        Parameters.transactionalContentCrc64,
-        Parameters.contentType1,
-        Parameters.accept2
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "binary",
-      serializer: xmlSerializer
-    };
-    var stageBlockFromURLOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.BlockBlobStageBlockFromURLHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlockBlobStageBlockFromURLExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.comp24,
-        Parameters.blockId
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.contentLength,
-        Parameters.leaseId,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.encryptionScope,
-        Parameters.sourceIfModifiedSince,
-        Parameters.sourceIfUnmodifiedSince,
-        Parameters.sourceIfMatch,
-        Parameters.sourceIfNoneMatch,
-        Parameters.sourceContentMD5,
-        Parameters.copySourceAuthorization,
-        Parameters.fileRequestIntent,
-        Parameters.sourceUrl,
-        Parameters.sourceContentCrc64,
-        Parameters.sourceRange1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var commitBlockListOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.BlockBlobCommitBlockListHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlockBlobCommitBlockListExceptionHeaders
-        }
-      },
-      requestBody: Parameters.blocks,
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp25],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.contentType,
-        Parameters.accept,
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.blobCacheControl,
-        Parameters.blobContentType,
-        Parameters.blobContentMD5,
-        Parameters.blobContentEncoding,
-        Parameters.blobContentLanguage,
-        Parameters.blobContentDisposition,
-        Parameters.immutabilityPolicyExpiry,
-        Parameters.immutabilityPolicyMode,
-        Parameters.encryptionScope,
-        Parameters.tier,
-        Parameters.blobTagsString,
-        Parameters.legalHold1,
-        Parameters.transactionalContentMD5,
-        Parameters.transactionalContentCrc64
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "xml",
-      serializer: xmlSerializer
-    };
-    var getBlockListOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.BlockList,
-          headersMapper: Mappers.BlockBlobGetBlockListHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlockBlobGetBlockListExceptionHeaders
+    exports2.ServerCallContextController = ServerCallContextController;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/index.js
+var require_commonjs17 = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    var service_type_1 = require_service_type();
+    Object.defineProperty(exports2, "ServiceType", { enumerable: true, get: function() {
+      return service_type_1.ServiceType;
+    } });
+    var reflection_info_1 = require_reflection_info2();
+    Object.defineProperty(exports2, "readMethodOptions", { enumerable: true, get: function() {
+      return reflection_info_1.readMethodOptions;
+    } });
+    Object.defineProperty(exports2, "readMethodOption", { enumerable: true, get: function() {
+      return reflection_info_1.readMethodOption;
+    } });
+    Object.defineProperty(exports2, "readServiceOption", { enumerable: true, get: function() {
+      return reflection_info_1.readServiceOption;
+    } });
+    var rpc_error_1 = require_rpc_error();
+    Object.defineProperty(exports2, "RpcError", { enumerable: true, get: function() {
+      return rpc_error_1.RpcError;
+    } });
+    var rpc_options_1 = require_rpc_options();
+    Object.defineProperty(exports2, "mergeRpcOptions", { enumerable: true, get: function() {
+      return rpc_options_1.mergeRpcOptions;
+    } });
+    var rpc_output_stream_1 = require_rpc_output_stream();
+    Object.defineProperty(exports2, "RpcOutputStreamController", { enumerable: true, get: function() {
+      return rpc_output_stream_1.RpcOutputStreamController;
+    } });
+    var test_transport_1 = require_test_transport();
+    Object.defineProperty(exports2, "TestTransport", { enumerable: true, get: function() {
+      return test_transport_1.TestTransport;
+    } });
+    var deferred_1 = require_deferred();
+    Object.defineProperty(exports2, "Deferred", { enumerable: true, get: function() {
+      return deferred_1.Deferred;
+    } });
+    Object.defineProperty(exports2, "DeferredState", { enumerable: true, get: function() {
+      return deferred_1.DeferredState;
+    } });
+    var duplex_streaming_call_1 = require_duplex_streaming_call();
+    Object.defineProperty(exports2, "DuplexStreamingCall", { enumerable: true, get: function() {
+      return duplex_streaming_call_1.DuplexStreamingCall;
+    } });
+    var client_streaming_call_1 = require_client_streaming_call();
+    Object.defineProperty(exports2, "ClientStreamingCall", { enumerable: true, get: function() {
+      return client_streaming_call_1.ClientStreamingCall;
+    } });
+    var server_streaming_call_1 = require_server_streaming_call();
+    Object.defineProperty(exports2, "ServerStreamingCall", { enumerable: true, get: function() {
+      return server_streaming_call_1.ServerStreamingCall;
+    } });
+    var unary_call_1 = require_unary_call();
+    Object.defineProperty(exports2, "UnaryCall", { enumerable: true, get: function() {
+      return unary_call_1.UnaryCall;
+    } });
+    var rpc_interceptor_1 = require_rpc_interceptor();
+    Object.defineProperty(exports2, "stackIntercept", { enumerable: true, get: function() {
+      return rpc_interceptor_1.stackIntercept;
+    } });
+    Object.defineProperty(exports2, "stackDuplexStreamingInterceptors", { enumerable: true, get: function() {
+      return rpc_interceptor_1.stackDuplexStreamingInterceptors;
+    } });
+    Object.defineProperty(exports2, "stackClientStreamingInterceptors", { enumerable: true, get: function() {
+      return rpc_interceptor_1.stackClientStreamingInterceptors;
+    } });
+    Object.defineProperty(exports2, "stackServerStreamingInterceptors", { enumerable: true, get: function() {
+      return rpc_interceptor_1.stackServerStreamingInterceptors;
+    } });
+    Object.defineProperty(exports2, "stackUnaryInterceptors", { enumerable: true, get: function() {
+      return rpc_interceptor_1.stackUnaryInterceptors;
+    } });
+    var server_call_context_1 = require_server_call_context();
+    Object.defineProperty(exports2, "ServerCallContextController", { enumerable: true, get: function() {
+      return server_call_context_1.ServerCallContextController;
+    } });
+  }
+});
+
+// node_modules/@actions/cache/lib/generated/results/entities/v1/cachescope.js
+var require_cachescope = __commonJS({
+  "node_modules/@actions/cache/lib/generated/results/entities/v1/cachescope.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.CacheScope = void 0;
+    var runtime_1 = require_commonjs16();
+    var runtime_2 = require_commonjs16();
+    var runtime_3 = require_commonjs16();
+    var runtime_4 = require_commonjs16();
+    var runtime_5 = require_commonjs16();
+    var CacheScope$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.entities.v1.CacheScope", [
+          {
+            no: 1,
+            name: "scope",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "permission",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { scope: "", permission: "0" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string scope */
+            1:
+              message.scope = reader.string();
+              break;
+            case /* int64 permission */
+            2:
+              message.permission = reader.int64().toString();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.comp25,
-        Parameters.listType
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.scope !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.scope);
+        if (message.permission !== "0")
+          writer.tag(2, runtime_1.WireType.Varint).int64(message.permission);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
     };
+    exports2.CacheScope = new CacheScope$Type();
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/index.js
-var require_operations = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/index.js"(exports2) {
+// node_modules/@actions/cache/lib/generated/results/entities/v1/cachemetadata.js
+var require_cachemetadata = __commonJS({
+  "node_modules/@actions/cache/lib/generated/results/entities/v1/cachemetadata.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    tslib_1.__exportStar(require_service(), exports2);
-    tslib_1.__exportStar(require_container(), exports2);
-    tslib_1.__exportStar(require_blob(), exports2);
-    tslib_1.__exportStar(require_pageBlob(), exports2);
-    tslib_1.__exportStar(require_appendBlob(), exports2);
-    tslib_1.__exportStar(require_blockBlob(), exports2);
+    exports2.CacheMetadata = void 0;
+    var runtime_1 = require_commonjs16();
+    var runtime_2 = require_commonjs16();
+    var runtime_3 = require_commonjs16();
+    var runtime_4 = require_commonjs16();
+    var runtime_5 = require_commonjs16();
+    var cachescope_1 = require_cachescope();
+    var CacheMetadata$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.entities.v1.CacheMetadata", [
+          {
+            no: 1,
+            name: "repository_id",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          },
+          { no: 2, name: "scope", kind: "message", repeat: 1, T: () => cachescope_1.CacheScope }
+        ]);
+      }
+      create(value) {
+        const message = { repositoryId: "0", scope: [] };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* int64 repository_id */
+            1:
+              message.repositoryId = reader.int64().toString();
+              break;
+            case /* repeated github.actions.results.entities.v1.CacheScope scope */
+            2:
+              message.scope.push(cachescope_1.CacheScope.internalBinaryRead(reader, reader.uint32(), options));
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.repositoryId !== "0")
+          writer.tag(1, runtime_1.WireType.Varint).int64(message.repositoryId);
+        for (let i = 0; i < message.scope.length; i++)
+          cachescope_1.CacheScope.internalBinaryWrite(message.scope[i], writer.tag(2, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.CacheMetadata = new CacheMetadata$Type();
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/storageClient.js
-var require_storageClient = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/storageClient.js"(exports2) {
+// node_modules/@actions/cache/lib/generated/results/api/v1/cache.js
+var require_cache4 = __commonJS({
+  "node_modules/@actions/cache/lib/generated/results/api/v1/cache.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageClient = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var coreHttpCompat = tslib_1.__importStar(require_commonjs9());
-    var index_js_1 = require_operations();
-    var StorageClient = class extends coreHttpCompat.ExtendedServiceClient {
-      url;
-      version;
-      /**
-       * Initializes a new instance of the StorageClient class.
-       * @param url The URL of the service account, container, or blob that is the target of the desired
-       *            operation.
-       * @param options The parameter options
-       */
-      constructor(url2, options) {
-        if (url2 === void 0) {
-          throw new Error("'url' cannot be null");
+    exports2.CacheService = exports2.GetCacheEntryDownloadURLResponse = exports2.GetCacheEntryDownloadURLRequest = exports2.FinalizeCacheEntryUploadResponse = exports2.FinalizeCacheEntryUploadRequest = exports2.CreateCacheEntryResponse = exports2.CreateCacheEntryRequest = void 0;
+    var runtime_rpc_1 = require_commonjs17();
+    var runtime_1 = require_commonjs16();
+    var runtime_2 = require_commonjs16();
+    var runtime_3 = require_commonjs16();
+    var runtime_4 = require_commonjs16();
+    var runtime_5 = require_commonjs16();
+    var cachemetadata_1 = require_cachemetadata();
+    var CreateCacheEntryRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.CreateCacheEntryRequest", [
+          { no: 1, name: "metadata", kind: "message", T: () => cachemetadata_1.CacheMetadata },
+          {
+            no: 2,
+            name: "key",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "version",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { key: "", version: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* github.actions.results.entities.v1.CacheMetadata metadata */
+            1:
+              message.metadata = cachemetadata_1.CacheMetadata.internalBinaryRead(reader, reader.uint32(), options, message.metadata);
+              break;
+            case /* string key */
+            2:
+              message.key = reader.string();
+              break;
+            case /* string version */
+            3:
+              message.version = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
         }
-        if (!options) {
-          options = {};
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.metadata)
+          cachemetadata_1.CacheMetadata.internalBinaryWrite(message.metadata, writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        if (message.key !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.key);
+        if (message.version !== "")
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.version);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.CreateCacheEntryRequest = new CreateCacheEntryRequest$Type();
+    var CreateCacheEntryResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.CreateCacheEntryResponse", [
+          {
+            no: 1,
+            name: "ok",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          },
+          {
+            no: 2,
+            name: "signed_upload_url",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "message",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { ok: false, signedUploadUrl: "", message: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool ok */
+            1:
+              message.ok = reader.bool();
+              break;
+            case /* string signed_upload_url */
+            2:
+              message.signedUploadUrl = reader.string();
+              break;
+            case /* string message */
+            3:
+              message.message = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
         }
-        const defaults = {
-          requestContentType: "application/json; charset=utf-8"
-        };
-        const packageDetails = `azsdk-js-azure-storage-blob/12.29.1`;
-        const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` : `${packageDetails}`;
-        const optionsWithDefaults = {
-          ...defaults,
-          ...options,
-          userAgentOptions: {
-            userAgentPrefix
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.ok !== false)
+          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
+        if (message.signedUploadUrl !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl);
+        if (message.message !== "")
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.message);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.CreateCacheEntryResponse = new CreateCacheEntryResponse$Type();
+    var FinalizeCacheEntryUploadRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.FinalizeCacheEntryUploadRequest", [
+          { no: 1, name: "metadata", kind: "message", T: () => cachemetadata_1.CacheMetadata },
+          {
+            no: 2,
+            name: "key",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
           },
-          endpoint: options.endpoint ?? options.baseUri ?? "{url}"
-        };
-        super(optionsWithDefaults);
-        this.url = url2;
-        this.version = options.version || "2025-11-05";
-        this.service = new index_js_1.ServiceImpl(this);
-        this.container = new index_js_1.ContainerImpl(this);
-        this.blob = new index_js_1.BlobImpl(this);
-        this.pageBlob = new index_js_1.PageBlobImpl(this);
-        this.appendBlob = new index_js_1.AppendBlobImpl(this);
-        this.blockBlob = new index_js_1.BlockBlobImpl(this);
+          {
+            no: 3,
+            name: "size_bytes",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          },
+          {
+            no: 4,
+            name: "version",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { key: "", sizeBytes: "0", version: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* github.actions.results.entities.v1.CacheMetadata metadata */
+            1:
+              message.metadata = cachemetadata_1.CacheMetadata.internalBinaryRead(reader, reader.uint32(), options, message.metadata);
+              break;
+            case /* string key */
+            2:
+              message.key = reader.string();
+              break;
+            case /* int64 size_bytes */
+            3:
+              message.sizeBytes = reader.int64().toString();
+              break;
+            case /* string version */
+            4:
+              message.version = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.metadata)
+          cachemetadata_1.CacheMetadata.internalBinaryWrite(message.metadata, writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        if (message.key !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.key);
+        if (message.sizeBytes !== "0")
+          writer.tag(3, runtime_1.WireType.Varint).int64(message.sizeBytes);
+        if (message.version !== "")
+          writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.version);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      service;
-      container;
-      blob;
-      pageBlob;
-      appendBlob;
-      blockBlob;
     };
-    exports2.StorageClient = StorageClient;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/service.js
-var require_service2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/service.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/container.js
-var require_container2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/container.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blob.js
-var require_blob2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blob.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/pageBlob.js
-var require_pageBlob2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/pageBlob.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/appendBlob.js
-var require_appendBlob2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/appendBlob.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blockBlob.js
-var require_blockBlob2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blockBlob.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/index.js
-var require_operationsInterfaces = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    tslib_1.__exportStar(require_service2(), exports2);
-    tslib_1.__exportStar(require_container2(), exports2);
-    tslib_1.__exportStar(require_blob2(), exports2);
-    tslib_1.__exportStar(require_pageBlob2(), exports2);
-    tslib_1.__exportStar(require_appendBlob2(), exports2);
-    tslib_1.__exportStar(require_blockBlob2(), exports2);
+    exports2.FinalizeCacheEntryUploadRequest = new FinalizeCacheEntryUploadRequest$Type();
+    var FinalizeCacheEntryUploadResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.FinalizeCacheEntryUploadResponse", [
+          {
+            no: 1,
+            name: "ok",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          },
+          {
+            no: 2,
+            name: "entry_id",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          },
+          {
+            no: 3,
+            name: "message",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { ok: false, entryId: "0", message: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool ok */
+            1:
+              message.ok = reader.bool();
+              break;
+            case /* int64 entry_id */
+            2:
+              message.entryId = reader.int64().toString();
+              break;
+            case /* string message */
+            3:
+              message.message = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.ok !== false)
+          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
+        if (message.entryId !== "0")
+          writer.tag(2, runtime_1.WireType.Varint).int64(message.entryId);
+        if (message.message !== "")
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.message);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.FinalizeCacheEntryUploadResponse = new FinalizeCacheEntryUploadResponse$Type();
+    var GetCacheEntryDownloadURLRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.GetCacheEntryDownloadURLRequest", [
+          { no: 1, name: "metadata", kind: "message", T: () => cachemetadata_1.CacheMetadata },
+          {
+            no: 2,
+            name: "key",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "restore_keys",
+            kind: "scalar",
+            repeat: 2,
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 4,
+            name: "version",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { key: "", restoreKeys: [], version: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* github.actions.results.entities.v1.CacheMetadata metadata */
+            1:
+              message.metadata = cachemetadata_1.CacheMetadata.internalBinaryRead(reader, reader.uint32(), options, message.metadata);
+              break;
+            case /* string key */
+            2:
+              message.key = reader.string();
+              break;
+            case /* repeated string restore_keys */
+            3:
+              message.restoreKeys.push(reader.string());
+              break;
+            case /* string version */
+            4:
+              message.version = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.metadata)
+          cachemetadata_1.CacheMetadata.internalBinaryWrite(message.metadata, writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        if (message.key !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.key);
+        for (let i = 0; i < message.restoreKeys.length; i++)
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.restoreKeys[i]);
+        if (message.version !== "")
+          writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.version);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.GetCacheEntryDownloadURLRequest = new GetCacheEntryDownloadURLRequest$Type();
+    var GetCacheEntryDownloadURLResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.GetCacheEntryDownloadURLResponse", [
+          {
+            no: 1,
+            name: "ok",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          },
+          {
+            no: 2,
+            name: "signed_download_url",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "matched_key",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { ok: false, signedDownloadUrl: "", matchedKey: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool ok */
+            1:
+              message.ok = reader.bool();
+              break;
+            case /* string signed_download_url */
+            2:
+              message.signedDownloadUrl = reader.string();
+              break;
+            case /* string matched_key */
+            3:
+              message.matchedKey = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.ok !== false)
+          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
+        if (message.signedDownloadUrl !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedDownloadUrl);
+        if (message.matchedKey !== "")
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.matchedKey);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.GetCacheEntryDownloadURLResponse = new GetCacheEntryDownloadURLResponse$Type();
+    exports2.CacheService = new runtime_rpc_1.ServiceType("github.actions.results.api.v1.CacheService", [
+      { name: "CreateCacheEntry", options: {}, I: exports2.CreateCacheEntryRequest, O: exports2.CreateCacheEntryResponse },
+      { name: "FinalizeCacheEntryUpload", options: {}, I: exports2.FinalizeCacheEntryUploadRequest, O: exports2.FinalizeCacheEntryUploadResponse },
+      { name: "GetCacheEntryDownloadURL", options: {}, I: exports2.GetCacheEntryDownloadURLRequest, O: exports2.GetCacheEntryDownloadURLResponse }
+    ]);
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/index.js
-var require_src2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/index.js"(exports2) {
+// node_modules/@actions/cache/lib/generated/results/api/v1/cache.twirp-client.js
+var require_cache_twirp_client = __commonJS({
+  "node_modules/@actions/cache/lib/generated/results/api/v1/cache.twirp-client.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageClient = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    tslib_1.__exportStar(require_models(), exports2);
-    var storageClient_js_1 = require_storageClient();
-    Object.defineProperty(exports2, "StorageClient", { enumerable: true, get: function() {
-      return storageClient_js_1.StorageClient;
-    } });
-    tslib_1.__exportStar(require_operationsInterfaces(), exports2);
+    exports2.CacheServiceClientProtobuf = exports2.CacheServiceClientJSON = void 0;
+    var cache_1 = require_cache4();
+    var CacheServiceClientJSON = class {
+      constructor(rpc) {
+        this.rpc = rpc;
+        this.CreateCacheEntry.bind(this);
+        this.FinalizeCacheEntryUpload.bind(this);
+        this.GetCacheEntryDownloadURL.bind(this);
+      }
+      CreateCacheEntry(request2) {
+        const data = cache_1.CreateCacheEntryRequest.toJson(request2, {
+          useProtoFieldName: true,
+          emitDefaultValues: false
+        });
+        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "CreateCacheEntry", "application/json", data);
+        return promise.then((data2) => cache_1.CreateCacheEntryResponse.fromJson(data2, {
+          ignoreUnknownFields: true
+        }));
+      }
+      FinalizeCacheEntryUpload(request2) {
+        const data = cache_1.FinalizeCacheEntryUploadRequest.toJson(request2, {
+          useProtoFieldName: true,
+          emitDefaultValues: false
+        });
+        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "FinalizeCacheEntryUpload", "application/json", data);
+        return promise.then((data2) => cache_1.FinalizeCacheEntryUploadResponse.fromJson(data2, {
+          ignoreUnknownFields: true
+        }));
+      }
+      GetCacheEntryDownloadURL(request2) {
+        const data = cache_1.GetCacheEntryDownloadURLRequest.toJson(request2, {
+          useProtoFieldName: true,
+          emitDefaultValues: false
+        });
+        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "GetCacheEntryDownloadURL", "application/json", data);
+        return promise.then((data2) => cache_1.GetCacheEntryDownloadURLResponse.fromJson(data2, {
+          ignoreUnknownFields: true
+        }));
+      }
+    };
+    exports2.CacheServiceClientJSON = CacheServiceClientJSON;
+    var CacheServiceClientProtobuf = class {
+      constructor(rpc) {
+        this.rpc = rpc;
+        this.CreateCacheEntry.bind(this);
+        this.FinalizeCacheEntryUpload.bind(this);
+        this.GetCacheEntryDownloadURL.bind(this);
+      }
+      CreateCacheEntry(request2) {
+        const data = cache_1.CreateCacheEntryRequest.toBinary(request2);
+        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "CreateCacheEntry", "application/protobuf", data);
+        return promise.then((data2) => cache_1.CreateCacheEntryResponse.fromBinary(data2));
+      }
+      FinalizeCacheEntryUpload(request2) {
+        const data = cache_1.FinalizeCacheEntryUploadRequest.toBinary(request2);
+        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "FinalizeCacheEntryUpload", "application/protobuf", data);
+        return promise.then((data2) => cache_1.FinalizeCacheEntryUploadResponse.fromBinary(data2));
+      }
+      GetCacheEntryDownloadURL(request2) {
+        const data = cache_1.GetCacheEntryDownloadURLRequest.toBinary(request2);
+        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "GetCacheEntryDownloadURL", "application/protobuf", data);
+        return promise.then((data2) => cache_1.GetCacheEntryDownloadURLResponse.fromBinary(data2));
+      }
+    };
+    exports2.CacheServiceClientProtobuf = CacheServiceClientProtobuf;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/StorageContextClient.js
-var require_StorageContextClient = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/StorageContextClient.js"(exports2) {
+// node_modules/@actions/cache/lib/internal/shared/util.js
+var require_util18 = __commonJS({
+  "node_modules/@actions/cache/lib/internal/shared/util.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageContextClient = void 0;
-    var index_js_1 = require_src2();
-    var StorageContextClient = class extends index_js_1.StorageClient {
-      async sendOperationRequest(operationArguments, operationSpec) {
-        const operationSpecToSend = { ...operationSpec };
-        if (operationSpecToSend.path === "/{containerName}" || operationSpecToSend.path === "/{containerName}/{blob}") {
-          operationSpecToSend.path = "";
+    exports2.maskSigUrl = maskSigUrl;
+    exports2.maskSecretUrls = maskSecretUrls;
+    var core_1 = require_core();
+    function maskSigUrl(url2) {
+      if (!url2)
+        return;
+      try {
+        const parsedUrl = new URL(url2);
+        const signature = parsedUrl.searchParams.get("sig");
+        if (signature) {
+          (0, core_1.setSecret)(signature);
+          (0, core_1.setSecret)(encodeURIComponent(signature));
         }
-        return super.sendOperationRequest(operationArguments, operationSpecToSend);
+      } catch (error3) {
+        (0, core_1.debug)(`Failed to parse URL: ${url2} ${error3 instanceof Error ? error3.message : String(error3)}`);
       }
-    };
-    exports2.StorageContextClient = StorageContextClient;
+    }
+    function maskSecretUrls(body) {
+      if (typeof body !== "object" || body === null) {
+        (0, core_1.debug)("body is not an object or is null");
+        return;
+      }
+      if ("signed_upload_url" in body && typeof body.signed_upload_url === "string") {
+        maskSigUrl(body.signed_upload_url);
+      }
+      if ("signed_download_url" in body && typeof body.signed_download_url === "string") {
+        maskSigUrl(body.signed_download_url);
+      }
+    }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/StorageClient.js
-var require_StorageClient = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/StorageClient.js"(exports2) {
+// node_modules/@actions/cache/lib/internal/shared/cacheTwirpClient.js
+var require_cacheTwirpClient = __commonJS({
+  "node_modules/@actions/cache/lib/internal/shared/cacheTwirpClient.js"(exports2) {
     "use strict";
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve8) {
+          resolve8(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve8, 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 ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageClient = void 0;
-    var StorageContextClient_js_1 = require_StorageContextClient();
-    var Pipeline_js_1 = require_Pipeline();
-    var utils_common_js_1 = require_utils_common();
-    var StorageClient = class {
-      /**
-       * Encoded URL string value.
-       */
-      url;
-      accountName;
-      /**
-       * Request policy pipeline.
-       *
-       * @internal
-       */
-      pipeline;
-      /**
-       * Such as AnonymousCredential, StorageSharedKeyCredential or any credential from the `@azure/identity` package to authenticate requests to the service. You can also provide an object that implements the TokenCredential interface. If not specified, AnonymousCredential is used.
-       */
-      credential;
-      /**
-       * StorageClient is a reference to protocol layer operations entry, which is
-       * generated by AutoRest generator.
-       */
-      storageClientContext;
-      /**
-       */
-      isHttps;
-      /**
-       * Creates an instance of StorageClient.
-       * @param url - url to resource
-       * @param pipeline - request policy pipeline.
-       */
-      constructor(url2, pipeline) {
-        this.url = (0, utils_common_js_1.escapeURLPath)(url2);
-        this.accountName = (0, utils_common_js_1.getAccountNameFromUrl)(url2);
-        this.pipeline = pipeline;
-        this.storageClientContext = new StorageContextClient_js_1.StorageContextClient(this.url, (0, Pipeline_js_1.getCoreClientOptions)(pipeline));
-        this.isHttps = (0, utils_common_js_1.iEqual)((0, utils_common_js_1.getURLScheme)(this.url) || "", "https");
-        this.credential = (0, Pipeline_js_1.getCredentialFromPipeline)(pipeline);
-        const storageClientContext = this.storageClientContext;
-        storageClientContext.requestContentType = void 0;
+    exports2.internalCacheTwirpClient = internalCacheTwirpClient;
+    var core_1 = require_core();
+    var user_agent_1 = require_user_agent();
+    var errors_1 = require_errors3();
+    var config_1 = require_config();
+    var cacheUtils_1 = require_cacheUtils();
+    var auth_1 = require_auth();
+    var http_client_1 = require_lib();
+    var cache_twirp_client_1 = require_cache_twirp_client();
+    var util_1 = require_util18();
+    var CacheServiceClient = class {
+      constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) {
+        this.maxAttempts = 5;
+        this.baseRetryIntervalMilliseconds = 3e3;
+        this.retryMultiplier = 1.5;
+        const token = (0, cacheUtils_1.getRuntimeToken)();
+        this.baseUrl = (0, config_1.getCacheServiceURL)();
+        if (maxAttempts) {
+          this.maxAttempts = maxAttempts;
+        }
+        if (baseRetryIntervalMilliseconds) {
+          this.baseRetryIntervalMilliseconds = baseRetryIntervalMilliseconds;
+        }
+        if (retryMultiplier) {
+          this.retryMultiplier = retryMultiplier;
+        }
+        this.httpClient = new http_client_1.HttpClient(userAgent2, [
+          new auth_1.BearerCredentialHandler(token)
+        ]);
+      }
+      // This function satisfies the Rpc interface. It is compatible with the JSON
+      // JSON generated client.
+      request(service, method, contentType, data) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          const url2 = new URL(`/twirp/${service}/${method}`, this.baseUrl).href;
+          (0, core_1.debug)(`[Request] ${method} ${url2}`);
+          const headers = {
+            "Content-Type": contentType
+          };
+          try {
+            const { body } = yield this.retryableRequest(() => __awaiter2(this, void 0, void 0, function* () {
+              return this.httpClient.post(url2, JSON.stringify(data), headers);
+            }));
+            return body;
+          } catch (error3) {
+            throw new Error(`Failed to ${method}: ${error3.message}`);
+          }
+        });
+      }
+      retryableRequest(operation) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          let attempt = 0;
+          let errorMessage = "";
+          let rawBody = "";
+          while (attempt < this.maxAttempts) {
+            let isRetryable = false;
+            try {
+              const response = yield operation();
+              const statusCode = response.message.statusCode;
+              rawBody = yield response.readBody();
+              (0, core_1.debug)(`[Response] - ${response.message.statusCode}`);
+              (0, core_1.debug)(`Headers: ${JSON.stringify(response.message.headers, null, 2)}`);
+              const body = JSON.parse(rawBody);
+              (0, util_1.maskSecretUrls)(body);
+              (0, core_1.debug)(`Body: ${JSON.stringify(body, null, 2)}`);
+              if (this.isSuccessStatusCode(statusCode)) {
+                return { response, body };
+              }
+              isRetryable = this.isRetryableHttpStatusCode(statusCode);
+              errorMessage = `Failed request: (${statusCode}) ${response.message.statusMessage}`;
+              if (body.msg) {
+                if (errors_1.UsageError.isUsageErrorMessage(body.msg)) {
+                  throw new errors_1.UsageError();
+                }
+                errorMessage = `${errorMessage}: ${body.msg}`;
+              }
+              if (statusCode === http_client_1.HttpCodes.TooManyRequests) {
+                const retryAfterHeader = response.message.headers["retry-after"];
+                if (retryAfterHeader) {
+                  const parsedSeconds = parseInt(retryAfterHeader, 10);
+                  if (!isNaN(parsedSeconds) && parsedSeconds > 0) {
+                    (0, core_1.warning)(`You've hit a rate limit, your rate limit will reset in ${parsedSeconds} seconds`);
+                  }
+                }
+                throw new errors_1.RateLimitError(`Rate limited: ${errorMessage}`);
+              }
+            } catch (error3) {
+              if (error3 instanceof SyntaxError) {
+                (0, core_1.debug)(`Raw Body: ${rawBody}`);
+              }
+              if (error3 instanceof errors_1.UsageError) {
+                throw error3;
+              }
+              if (error3 instanceof errors_1.RateLimitError) {
+                throw error3;
+              }
+              if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) {
+                throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code);
+              }
+              isRetryable = true;
+              errorMessage = error3.message;
+            }
+            if (!isRetryable) {
+              throw new Error(`Received non-retryable error: ${errorMessage}`);
+            }
+            if (attempt + 1 === this.maxAttempts) {
+              throw new Error(`Failed to make request after ${this.maxAttempts} attempts: ${errorMessage}`);
+            }
+            const retryTimeMilliseconds = this.getExponentialRetryTimeMilliseconds(attempt);
+            (0, core_1.info)(`Attempt ${attempt + 1} of ${this.maxAttempts} failed with error: ${errorMessage}. Retrying request in ${retryTimeMilliseconds} ms...`);
+            yield this.sleep(retryTimeMilliseconds);
+            attempt++;
+          }
+          throw new Error(`Request failed`);
+        });
+      }
+      isSuccessStatusCode(statusCode) {
+        if (!statusCode)
+          return false;
+        return statusCode >= 200 && statusCode < 300;
+      }
+      isRetryableHttpStatusCode(statusCode) {
+        if (!statusCode)
+          return false;
+        const retryableStatusCodes = [
+          http_client_1.HttpCodes.BadGateway,
+          http_client_1.HttpCodes.GatewayTimeout,
+          http_client_1.HttpCodes.InternalServerError,
+          http_client_1.HttpCodes.ServiceUnavailable
+        ];
+        return retryableStatusCodes.includes(statusCode);
+      }
+      sleep(milliseconds) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          return new Promise((resolve8) => setTimeout(resolve8, milliseconds));
+        });
+      }
+      getExponentialRetryTimeMilliseconds(attempt) {
+        if (attempt < 0) {
+          throw new Error("attempt should be a positive integer");
+        }
+        if (attempt === 0) {
+          return this.baseRetryIntervalMilliseconds;
+        }
+        const minTime = this.baseRetryIntervalMilliseconds * Math.pow(this.retryMultiplier, attempt);
+        const maxTime = minTime * this.retryMultiplier;
+        return Math.trunc(Math.random() * (maxTime - minTime) + minTime);
       }
     };
-    exports2.StorageClient = StorageClient;
+    function internalCacheTwirpClient(options) {
+      const client = new CacheServiceClient((0, user_agent_1.getUserAgentString)(), options === null || options === void 0 ? void 0 : options.maxAttempts, options === null || options === void 0 ? void 0 : options.retryIntervalMs, options === null || options === void 0 ? void 0 : options.retryMultiplier);
+      return new cache_twirp_client_1.CacheServiceClientJSON(client);
+    }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/utils/tracing.js
-var require_tracing = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/tracing.js"(exports2) {
+// node_modules/@actions/cache/lib/internal/tar.js
+var require_tar = __commonJS({
+  "node_modules/@actions/cache/lib/internal/tar.js"(exports2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.tracingClient = void 0;
-    var core_tracing_1 = require_commonjs5();
-    var constants_js_1 = require_constants15();
-    exports2.tracingClient = (0, core_tracing_1.createTracingClient)({
-      packageName: "@azure/storage-blob",
-      packageVersion: constants_js_1.SDK_VERSION,
-      namespace: "Microsoft.Storage"
+    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
     });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = 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 ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve8) {
+          resolve8(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve8, 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 ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.listTar = listTar;
+    exports2.extractTar = extractTar2;
+    exports2.createTar = createTar;
+    var exec_1 = require_exec();
+    var io7 = __importStar2(require_io());
+    var fs_1 = require("fs");
+    var path16 = __importStar2(require("path"));
+    var utils = __importStar2(require_cacheUtils());
+    var constants_1 = require_constants12();
+    var IS_WINDOWS = process.platform === "win32";
+    function getTarPath() {
+      return __awaiter2(this, void 0, void 0, function* () {
+        switch (process.platform) {
+          case "win32": {
+            const gnuTar = yield utils.getGnuTarPathOnWindows();
+            const systemTar = constants_1.SystemTarPathOnWindows;
+            if (gnuTar) {
+              return { path: gnuTar, type: constants_1.ArchiveToolType.GNU };
+            } else if ((0, fs_1.existsSync)(systemTar)) {
+              return { path: systemTar, type: constants_1.ArchiveToolType.BSD };
+            }
+            break;
+          }
+          case "darwin": {
+            const gnuTar = yield io7.which("gtar", false);
+            if (gnuTar) {
+              return { path: gnuTar, type: constants_1.ArchiveToolType.GNU };
+            } else {
+              return {
+                path: yield io7.which("tar", true),
+                type: constants_1.ArchiveToolType.BSD
+              };
+            }
+          }
+          default:
+            break;
+        }
+        return {
+          path: yield io7.which("tar", true),
+          type: constants_1.ArchiveToolType.GNU
+        };
+      });
+    }
+    function getTarArgs(tarPath_1, compressionMethod_1, type_1) {
+      return __awaiter2(this, arguments, void 0, function* (tarPath, compressionMethod, type2, archivePath = "") {
+        const args = [`"${tarPath.path}"`];
+        const cacheFileName = utils.getCacheFileName(compressionMethod);
+        const tarFile = "cache.tar";
+        const workingDirectory = getWorkingDirectory();
+        const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS;
+        switch (type2) {
+          case "create":
+            args.push("--posix", "-cf", BSD_TAR_ZSTD ? tarFile : cacheFileName.replace(new RegExp(`\\${path16.sep}`, "g"), "/"), "--exclude", BSD_TAR_ZSTD ? tarFile : cacheFileName.replace(new RegExp(`\\${path16.sep}`, "g"), "/"), "-P", "-C", workingDirectory.replace(new RegExp(`\\${path16.sep}`, "g"), "/"), "--files-from", constants_1.ManifestFilename);
+            break;
+          case "extract":
+            args.push("-xf", BSD_TAR_ZSTD ? tarFile : archivePath.replace(new RegExp(`\\${path16.sep}`, "g"), "/"), "-P", "-C", workingDirectory.replace(new RegExp(`\\${path16.sep}`, "g"), "/"));
+            break;
+          case "list":
+            args.push("-tf", BSD_TAR_ZSTD ? tarFile : archivePath.replace(new RegExp(`\\${path16.sep}`, "g"), "/"), "-P");
+            break;
+        }
+        if (tarPath.type === constants_1.ArchiveToolType.GNU) {
+          switch (process.platform) {
+            case "win32":
+              args.push("--force-local");
+              break;
+            case "darwin":
+              args.push("--delay-directory-restore");
+              break;
+          }
+        }
+        return args;
+      });
+    }
+    function getCommands(compressionMethod_1, type_1) {
+      return __awaiter2(this, arguments, void 0, function* (compressionMethod, type2, archivePath = "") {
+        let args;
+        const tarPath = yield getTarPath();
+        const tarArgs = yield getTarArgs(tarPath, compressionMethod, type2, archivePath);
+        const compressionArgs = type2 !== "create" ? yield getDecompressionProgram(tarPath, compressionMethod, archivePath) : yield getCompressionProgram(tarPath, compressionMethod);
+        const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS;
+        if (BSD_TAR_ZSTD && type2 !== "create") {
+          args = [[...compressionArgs].join(" "), [...tarArgs].join(" ")];
+        } else {
+          args = [[...tarArgs].join(" "), [...compressionArgs].join(" ")];
+        }
+        if (BSD_TAR_ZSTD) {
+          return args;
+        }
+        return [args.join(" ")];
+      });
+    }
+    function getWorkingDirectory() {
+      var _a;
+      return (_a = process.env["GITHUB_WORKSPACE"]) !== null && _a !== void 0 ? _a : process.cwd();
+    }
+    function getDecompressionProgram(tarPath, compressionMethod, archivePath) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS;
+        switch (compressionMethod) {
+          case constants_1.CompressionMethod.Zstd:
+            return BSD_TAR_ZSTD ? [
+              "zstd -d --long=30 --force -o",
+              constants_1.TarFilename,
+              archivePath.replace(new RegExp(`\\${path16.sep}`, "g"), "/")
+            ] : [
+              "--use-compress-program",
+              IS_WINDOWS ? '"zstd -d --long=30"' : "unzstd --long=30"
+            ];
+          case constants_1.CompressionMethod.ZstdWithoutLong:
+            return BSD_TAR_ZSTD ? [
+              "zstd -d --force -o",
+              constants_1.TarFilename,
+              archivePath.replace(new RegExp(`\\${path16.sep}`, "g"), "/")
+            ] : ["--use-compress-program", IS_WINDOWS ? '"zstd -d"' : "unzstd"];
+          default:
+            return ["-z"];
+        }
+      });
+    }
+    function getCompressionProgram(tarPath, compressionMethod) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const cacheFileName = utils.getCacheFileName(compressionMethod);
+        const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS;
+        switch (compressionMethod) {
+          case constants_1.CompressionMethod.Zstd:
+            return BSD_TAR_ZSTD ? [
+              "zstd -T0 --long=30 --force -o",
+              cacheFileName.replace(new RegExp(`\\${path16.sep}`, "g"), "/"),
+              constants_1.TarFilename
+            ] : [
+              "--use-compress-program",
+              IS_WINDOWS ? '"zstd -T0 --long=30"' : "zstdmt --long=30"
+            ];
+          case constants_1.CompressionMethod.ZstdWithoutLong:
+            return BSD_TAR_ZSTD ? [
+              "zstd -T0 --force -o",
+              cacheFileName.replace(new RegExp(`\\${path16.sep}`, "g"), "/"),
+              constants_1.TarFilename
+            ] : ["--use-compress-program", IS_WINDOWS ? '"zstd -T0"' : "zstdmt"];
+          default:
+            return ["-z"];
+        }
+      });
+    }
+    function execCommands(commands, cwd) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        for (const command of commands) {
+          try {
+            yield (0, exec_1.exec)(command, void 0, {
+              cwd,
+              env: Object.assign(Object.assign({}, process.env), { MSYS: "winsymlinks:nativestrict" })
+            });
+          } catch (error3) {
+            throw new Error(`${command.split(" ")[0]} failed with error: ${error3 === null || error3 === void 0 ? void 0 : error3.message}`);
+          }
+        }
+      });
+    }
+    function listTar(archivePath, compressionMethod) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const commands = yield getCommands(compressionMethod, "list", archivePath);
+        yield execCommands(commands);
+      });
+    }
+    function extractTar2(archivePath, compressionMethod) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const workingDirectory = getWorkingDirectory();
+        yield io7.mkdirP(workingDirectory);
+        const commands = yield getCommands(compressionMethod, "extract", archivePath);
+        yield execCommands(commands);
+      });
+    }
+    function createTar(archiveFolder, sourceDirectories, compressionMethod) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        (0, fs_1.writeFileSync)(path16.join(archiveFolder, constants_1.ManifestFilename), sourceDirectories.join("\n"));
+        const commands = yield getCommands(compressionMethod, "create");
+        yield execCommands(commands, archiveFolder);
+      });
+    }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASPermissions.js
-var require_BlobSASPermissions = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASPermissions.js"(exports2) {
+// node_modules/@actions/cache/lib/cache.js
+var require_cache5 = __commonJS({
+  "node_modules/@actions/cache/lib/cache.js"(exports2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobSASPermissions = void 0;
-    var BlobSASPermissions = class _BlobSASPermissions {
-      /**
-       * Creates a {@link BlobSASPermissions} from the specified permissions string. This method will throw an
-       * Error if it encounters a character that does not correspond to a valid permission.
-       *
-       * @param permissions -
-       */
-      static parse(permissions) {
-        const blobSASPermissions = new _BlobSASPermissions();
-        for (const char of permissions) {
-          switch (char) {
-            case "r":
-              blobSASPermissions.read = true;
-              break;
-            case "a":
-              blobSASPermissions.add = true;
-              break;
-            case "c":
-              blobSASPermissions.create = true;
-              break;
-            case "w":
-              blobSASPermissions.write = true;
-              break;
-            case "d":
-              blobSASPermissions.delete = true;
-              break;
-            case "x":
-              blobSASPermissions.deleteVersion = true;
-              break;
-            case "t":
-              blobSASPermissions.tag = true;
-              break;
-            case "m":
-              blobSASPermissions.move = true;
-              break;
-            case "e":
-              blobSASPermissions.execute = true;
-              break;
-            case "i":
-              blobSASPermissions.setImmutabilityPolicy = true;
-              break;
-            case "y":
-              blobSASPermissions.permanentDelete = true;
-              break;
-            default:
-              throw new RangeError(`Invalid permission: ${char}`);
+    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = 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 ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve8) {
+          resolve8(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve8, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
           }
         }
-        return blobSASPermissions;
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function step(result) {
+          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.FinalizeCacheError = exports2.ReserveCacheError = exports2.ValidationError = void 0;
+    exports2.isFeatureAvailable = isFeatureAvailable;
+    exports2.restoreCache = restoreCache4;
+    exports2.saveCache = saveCache4;
+    var core17 = __importStar2(require_core());
+    var path16 = __importStar2(require("path"));
+    var utils = __importStar2(require_cacheUtils());
+    var cacheHttpClient = __importStar2(require_cacheHttpClient());
+    var cacheTwirpClient = __importStar2(require_cacheTwirpClient());
+    var config_1 = require_config();
+    var tar_1 = require_tar();
+    var http_client_1 = require_lib();
+    var ValidationError = class _ValidationError extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "ValidationError";
+        Object.setPrototypeOf(this, _ValidationError.prototype);
       }
-      /**
-       * Creates a {@link BlobSASPermissions} from a raw object which contains same keys as it
-       * and boolean values for them.
-       *
-       * @param permissionLike -
-       */
-      static from(permissionLike) {
-        const blobSASPermissions = new _BlobSASPermissions();
-        if (permissionLike.read) {
-          blobSASPermissions.read = true;
+    };
+    exports2.ValidationError = ValidationError;
+    var ReserveCacheError2 = class _ReserveCacheError extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "ReserveCacheError";
+        Object.setPrototypeOf(this, _ReserveCacheError.prototype);
+      }
+    };
+    exports2.ReserveCacheError = ReserveCacheError2;
+    var FinalizeCacheError = class _FinalizeCacheError extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "FinalizeCacheError";
+        Object.setPrototypeOf(this, _FinalizeCacheError.prototype);
+      }
+    };
+    exports2.FinalizeCacheError = FinalizeCacheError;
+    function checkPaths(paths) {
+      if (!paths || paths.length === 0) {
+        throw new ValidationError(`Path Validation Error: At least one directory or file path is required`);
+      }
+    }
+    function checkKey(key) {
+      if (key.length > 512) {
+        throw new ValidationError(`Key Validation Error: ${key} cannot be larger than 512 characters.`);
+      }
+      const regex = /^[^,]*$/;
+      if (!regex.test(key)) {
+        throw new ValidationError(`Key Validation Error: ${key} cannot contain commas.`);
+      }
+    }
+    function isFeatureAvailable() {
+      const cacheServiceVersion = (0, config_1.getCacheServiceVersion)();
+      switch (cacheServiceVersion) {
+        case "v2":
+          return !!process.env["ACTIONS_RESULTS_URL"];
+        case "v1":
+        default:
+          return !!process.env["ACTIONS_CACHE_URL"];
+      }
+    }
+    function restoreCache4(paths_1, primaryKey_1, restoreKeys_1, options_1) {
+      return __awaiter2(this, arguments, void 0, function* (paths, primaryKey, restoreKeys, options, enableCrossOsArchive = false) {
+        const cacheServiceVersion = (0, config_1.getCacheServiceVersion)();
+        core17.debug(`Cache service version: ${cacheServiceVersion}`);
+        checkPaths(paths);
+        switch (cacheServiceVersion) {
+          case "v2":
+            return yield restoreCacheV2(paths, primaryKey, restoreKeys, options, enableCrossOsArchive);
+          case "v1":
+          default:
+            return yield restoreCacheV1(paths, primaryKey, restoreKeys, options, enableCrossOsArchive);
         }
-        if (permissionLike.add) {
-          blobSASPermissions.add = true;
+      });
+    }
+    function restoreCacheV1(paths_1, primaryKey_1, restoreKeys_1, options_1) {
+      return __awaiter2(this, arguments, void 0, function* (paths, primaryKey, restoreKeys, options, enableCrossOsArchive = false) {
+        restoreKeys = restoreKeys || [];
+        const keys = [primaryKey, ...restoreKeys];
+        core17.debug("Resolved Keys:");
+        core17.debug(JSON.stringify(keys));
+        if (keys.length > 10) {
+          throw new ValidationError(`Key Validation Error: Keys are limited to a maximum of 10.`);
         }
-        if (permissionLike.create) {
-          blobSASPermissions.create = true;
+        for (const key of keys) {
+          checkKey(key);
         }
-        if (permissionLike.write) {
-          blobSASPermissions.write = true;
+        const compressionMethod = yield utils.getCompressionMethod();
+        let archivePath = "";
+        try {
+          const cacheEntry = yield cacheHttpClient.getCacheEntry(keys, paths, {
+            compressionMethod,
+            enableCrossOsArchive
+          });
+          if (!(cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.archiveLocation)) {
+            return void 0;
+          }
+          if (options === null || options === void 0 ? void 0 : options.lookupOnly) {
+            core17.info("Lookup only - skipping download");
+            return cacheEntry.cacheKey;
+          }
+          archivePath = path16.join(yield utils.createTempDirectory(), utils.getCacheFileName(compressionMethod));
+          core17.debug(`Archive Path: ${archivePath}`);
+          yield cacheHttpClient.downloadCache(cacheEntry.archiveLocation, archivePath, options);
+          if (core17.isDebug()) {
+            yield (0, tar_1.listTar)(archivePath, compressionMethod);
+          }
+          const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
+          core17.info(`Cache Size: ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B)`);
+          yield (0, tar_1.extractTar)(archivePath, compressionMethod);
+          core17.info("Cache restored successfully");
+          return cacheEntry.cacheKey;
+        } catch (error3) {
+          const typedError = error3;
+          if (typedError.name === ValidationError.name) {
+            throw error3;
+          } else {
+            if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) {
+              core17.error(`Failed to restore: ${error3.message}`);
+            } else {
+              core17.warning(`Failed to restore: ${error3.message}`);
+            }
+          }
+        } finally {
+          try {
+            yield utils.unlinkFile(archivePath);
+          } catch (error3) {
+            core17.debug(`Failed to delete archive: ${error3}`);
+          }
         }
-        if (permissionLike.delete) {
-          blobSASPermissions.delete = true;
+        return void 0;
+      });
+    }
+    function restoreCacheV2(paths_1, primaryKey_1, restoreKeys_1, options_1) {
+      return __awaiter2(this, arguments, void 0, function* (paths, primaryKey, restoreKeys, options, enableCrossOsArchive = false) {
+        options = Object.assign(Object.assign({}, options), { useAzureSdk: true });
+        restoreKeys = restoreKeys || [];
+        const keys = [primaryKey, ...restoreKeys];
+        core17.debug("Resolved Keys:");
+        core17.debug(JSON.stringify(keys));
+        if (keys.length > 10) {
+          throw new ValidationError(`Key Validation Error: Keys are limited to a maximum of 10.`);
         }
-        if (permissionLike.deleteVersion) {
-          blobSASPermissions.deleteVersion = true;
+        for (const key of keys) {
+          checkKey(key);
         }
-        if (permissionLike.tag) {
-          blobSASPermissions.tag = true;
+        let archivePath = "";
+        try {
+          const twirpClient = cacheTwirpClient.internalCacheTwirpClient();
+          const compressionMethod = yield utils.getCompressionMethod();
+          const request2 = {
+            key: primaryKey,
+            restoreKeys,
+            version: utils.getCacheVersion(paths, compressionMethod, enableCrossOsArchive)
+          };
+          const response = yield twirpClient.GetCacheEntryDownloadURL(request2);
+          if (!response.ok) {
+            core17.debug(`Cache not found for version ${request2.version} of keys: ${keys.join(", ")}`);
+            return void 0;
+          }
+          const isRestoreKeyMatch = request2.key !== response.matchedKey;
+          if (isRestoreKeyMatch) {
+            core17.info(`Cache hit for restore-key: ${response.matchedKey}`);
+          } else {
+            core17.info(`Cache hit for: ${response.matchedKey}`);
+          }
+          if (options === null || options === void 0 ? void 0 : options.lookupOnly) {
+            core17.info("Lookup only - skipping download");
+            return response.matchedKey;
+          }
+          archivePath = path16.join(yield utils.createTempDirectory(), utils.getCacheFileName(compressionMethod));
+          core17.debug(`Archive path: ${archivePath}`);
+          core17.debug(`Starting download of archive to: ${archivePath}`);
+          yield cacheHttpClient.downloadCache(response.signedDownloadUrl, archivePath, options);
+          const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
+          core17.info(`Cache Size: ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B)`);
+          if (core17.isDebug()) {
+            yield (0, tar_1.listTar)(archivePath, compressionMethod);
+          }
+          yield (0, tar_1.extractTar)(archivePath, compressionMethod);
+          core17.info("Cache restored successfully");
+          return response.matchedKey;
+        } catch (error3) {
+          const typedError = error3;
+          if (typedError.name === ValidationError.name) {
+            throw error3;
+          } else {
+            if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) {
+              core17.error(`Failed to restore: ${error3.message}`);
+            } else {
+              core17.warning(`Failed to restore: ${error3.message}`);
+            }
+          }
+        } finally {
+          try {
+            if (archivePath) {
+              yield utils.unlinkFile(archivePath);
+            }
+          } catch (error3) {
+            core17.debug(`Failed to delete archive: ${error3}`);
+          }
         }
-        if (permissionLike.move) {
-          blobSASPermissions.move = true;
+        return void 0;
+      });
+    }
+    function saveCache4(paths_1, key_1, options_1) {
+      return __awaiter2(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) {
+        const cacheServiceVersion = (0, config_1.getCacheServiceVersion)();
+        core17.debug(`Cache service version: ${cacheServiceVersion}`);
+        checkPaths(paths);
+        checkKey(key);
+        switch (cacheServiceVersion) {
+          case "v2":
+            return yield saveCacheV2(paths, key, options, enableCrossOsArchive);
+          case "v1":
+          default:
+            return yield saveCacheV1(paths, key, options, enableCrossOsArchive);
         }
-        if (permissionLike.execute) {
-          blobSASPermissions.execute = true;
+      });
+    }
+    function saveCacheV1(paths_1, key_1, options_1) {
+      return __awaiter2(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) {
+        var _a, _b, _c, _d, _e;
+        const compressionMethod = yield utils.getCompressionMethod();
+        let cacheId = -1;
+        const cachePaths = yield utils.resolvePaths(paths);
+        core17.debug("Cache Paths:");
+        core17.debug(`${JSON.stringify(cachePaths)}`);
+        if (cachePaths.length === 0) {
+          throw new Error(`Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved.`);
         }
-        if (permissionLike.setImmutabilityPolicy) {
-          blobSASPermissions.setImmutabilityPolicy = true;
+        const archiveFolder = yield utils.createTempDirectory();
+        const archivePath = path16.join(archiveFolder, utils.getCacheFileName(compressionMethod));
+        core17.debug(`Archive Path: ${archivePath}`);
+        try {
+          yield (0, tar_1.createTar)(archiveFolder, cachePaths, compressionMethod);
+          if (core17.isDebug()) {
+            yield (0, tar_1.listTar)(archivePath, compressionMethod);
+          }
+          const fileSizeLimit = 10 * 1024 * 1024 * 1024;
+          const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
+          core17.debug(`File Size: ${archiveFileSize}`);
+          if (archiveFileSize > fileSizeLimit && !(0, config_1.isGhes)()) {
+            throw new Error(`Cache size of ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B) is over the 10GB limit, not saving cache.`);
+          }
+          core17.debug("Reserving Cache");
+          const reserveCacheResponse = yield cacheHttpClient.reserveCache(key, paths, {
+            compressionMethod,
+            enableCrossOsArchive,
+            cacheSize: archiveFileSize
+          });
+          if ((_a = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.result) === null || _a === void 0 ? void 0 : _a.cacheId) {
+            cacheId = (_b = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.result) === null || _b === void 0 ? void 0 : _b.cacheId;
+          } else if ((reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.statusCode) === 400) {
+            throw new Error((_d = (_c = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.error) === null || _c === void 0 ? void 0 : _c.message) !== null && _d !== void 0 ? _d : `Cache size of ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B) is over the data cap limit, not saving cache.`);
+          } else {
+            throw new ReserveCacheError2(`Unable to reserve cache with key ${key}, another job may be creating this cache. More details: ${(_e = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.error) === null || _e === void 0 ? void 0 : _e.message}`);
+          }
+          core17.debug(`Saving Cache (ID: ${cacheId})`);
+          yield cacheHttpClient.saveCache(cacheId, archivePath, "", options);
+        } catch (error3) {
+          const typedError = error3;
+          if (typedError.name === ValidationError.name) {
+            throw error3;
+          } else if (typedError.name === ReserveCacheError2.name) {
+            core17.info(`Failed to save: ${typedError.message}`);
+          } else {
+            if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) {
+              core17.error(`Failed to save: ${typedError.message}`);
+            } else {
+              core17.warning(`Failed to save: ${typedError.message}`);
+            }
+          }
+        } finally {
+          try {
+            yield utils.unlinkFile(archivePath);
+          } catch (error3) {
+            core17.debug(`Failed to delete archive: ${error3}`);
+          }
         }
-        if (permissionLike.permanentDelete) {
-          blobSASPermissions.permanentDelete = true;
+        return cacheId;
+      });
+    }
+    function saveCacheV2(paths_1, key_1, options_1) {
+      return __awaiter2(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) {
+        options = Object.assign(Object.assign({}, options), { uploadChunkSize: 64 * 1024 * 1024, uploadConcurrency: 8, useAzureSdk: true });
+        const compressionMethod = yield utils.getCompressionMethod();
+        const twirpClient = cacheTwirpClient.internalCacheTwirpClient();
+        let cacheId = -1;
+        const cachePaths = yield utils.resolvePaths(paths);
+        core17.debug("Cache Paths:");
+        core17.debug(`${JSON.stringify(cachePaths)}`);
+        if (cachePaths.length === 0) {
+          throw new Error(`Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved.`);
         }
-        return blobSASPermissions;
+        const archiveFolder = yield utils.createTempDirectory();
+        const archivePath = path16.join(archiveFolder, utils.getCacheFileName(compressionMethod));
+        core17.debug(`Archive Path: ${archivePath}`);
+        try {
+          yield (0, tar_1.createTar)(archiveFolder, cachePaths, compressionMethod);
+          if (core17.isDebug()) {
+            yield (0, tar_1.listTar)(archivePath, compressionMethod);
+          }
+          const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
+          core17.debug(`File Size: ${archiveFileSize}`);
+          options.archiveSizeBytes = archiveFileSize;
+          core17.debug("Reserving Cache");
+          const version = utils.getCacheVersion(paths, compressionMethod, enableCrossOsArchive);
+          const request2 = {
+            key,
+            version
+          };
+          let signedUploadUrl;
+          try {
+            const response = yield twirpClient.CreateCacheEntry(request2);
+            if (!response.ok) {
+              if (response.message) {
+                core17.warning(`Cache reservation failed: ${response.message}`);
+              }
+              throw new Error(response.message || "Response was not ok");
+            }
+            signedUploadUrl = response.signedUploadUrl;
+          } catch (error3) {
+            core17.debug(`Failed to reserve cache: ${error3}`);
+            throw new ReserveCacheError2(`Unable to reserve cache with key ${key}, another job may be creating this cache.`);
+          }
+          core17.debug(`Attempting to upload cache located at: ${archivePath}`);
+          yield cacheHttpClient.saveCache(cacheId, archivePath, signedUploadUrl, options);
+          const finalizeRequest = {
+            key,
+            version,
+            sizeBytes: `${archiveFileSize}`
+          };
+          const finalizeResponse = yield twirpClient.FinalizeCacheEntryUpload(finalizeRequest);
+          core17.debug(`FinalizeCacheEntryUploadResponse: ${finalizeResponse.ok}`);
+          if (!finalizeResponse.ok) {
+            if (finalizeResponse.message) {
+              throw new FinalizeCacheError(finalizeResponse.message);
+            }
+            throw new Error(`Unable to finalize cache with key ${key}, another job may be finalizing this cache.`);
+          }
+          cacheId = parseInt(finalizeResponse.entryId);
+        } catch (error3) {
+          const typedError = error3;
+          if (typedError.name === ValidationError.name) {
+            throw error3;
+          } else if (typedError.name === ReserveCacheError2.name) {
+            core17.info(`Failed to save: ${typedError.message}`);
+          } else if (typedError.name === FinalizeCacheError.name) {
+            core17.warning(typedError.message);
+          } else {
+            if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) {
+              core17.error(`Failed to save: ${typedError.message}`);
+            } else {
+              core17.warning(`Failed to save: ${typedError.message}`);
+            }
+          }
+        } finally {
+          try {
+            yield utils.unlinkFile(archivePath);
+          } catch (error3) {
+            core17.debug(`Failed to delete archive: ${error3}`);
+          }
+        }
+        return cacheId;
+      });
+    }
+  }
+});
+
+// node_modules/@actions/tool-cache/lib/manifest.js
+var require_manifest = __commonJS({
+  "node_modules/@actions/tool-cache/lib/manifest.js"(exports2, module2) {
+    "use strict";
+    var __createBinding2 = 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];
+        } };
       }
-      /**
-       * Specifies Read access granted.
-       */
-      read = false;
-      /**
-       * Specifies Add access granted.
-       */
-      add = false;
-      /**
-       * Specifies Create access granted.
-       */
-      create = false;
-      /**
-       * Specifies Write access granted.
-       */
-      write = false;
-      /**
-       * Specifies Delete access granted.
-       */
-      delete = false;
-      /**
-       * Specifies Delete version access granted.
-       */
-      deleteVersion = false;
-      /**
-       * Specfies Tag access granted.
-       */
-      tag = false;
-      /**
-       * Specifies Move access granted.
-       */
-      move = false;
-      /**
-       * Specifies Execute access granted.
-       */
-      execute = false;
-      /**
-       * Specifies SetImmutabilityPolicy access granted.
-       */
-      setImmutabilityPolicy = false;
-      /**
-       * Specifies that Permanent Delete is permitted.
-       */
-      permanentDelete = false;
-      /**
-       * Converts the given permissions to a string. Using this method will guarantee the permissions are in an
-       * order accepted by the service.
-       *
-       * @returns A string which represents the BlobSASPermissions
-       */
-      toString() {
-        const permissions = [];
-        if (this.read) {
-          permissions.push("r");
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = 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 ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
         }
-        if (this.add) {
-          permissions.push("a");
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve8) {
+          resolve8(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve8, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        if (this.create) {
-          permissions.push("c");
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        if (this.write) {
-          permissions.push("w");
+        function step(result) {
+          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
-        if (this.delete) {
-          permissions.push("d");
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2._findMatch = _findMatch;
+    exports2._getOsVersion = _getOsVersion;
+    exports2._readLinuxVersionFile = _readLinuxVersionFile;
+    var semver9 = __importStar2(require_semver2());
+    var core_1 = require_core();
+    var os4 = require("os");
+    var cp = require("child_process");
+    var fs18 = require("fs");
+    function _findMatch(versionSpec, stable, candidates, archFilter) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const platFilter = os4.platform();
+        let result;
+        let match;
+        let file;
+        for (const candidate of candidates) {
+          const version = candidate.version;
+          (0, core_1.debug)(`check ${version} satisfies ${versionSpec}`);
+          if (semver9.satisfies(version, versionSpec) && (!stable || candidate.stable === stable)) {
+            file = candidate.files.find((item) => {
+              (0, core_1.debug)(`${item.arch}===${archFilter} && ${item.platform}===${platFilter}`);
+              let chk = item.arch === archFilter && item.platform === platFilter;
+              if (chk && item.platform_version) {
+                const osVersion = module2.exports._getOsVersion();
+                if (osVersion === item.platform_version) {
+                  chk = true;
+                } else {
+                  chk = semver9.satisfies(osVersion, item.platform_version);
+                }
+              }
+              return chk;
+            });
+            if (file) {
+              (0, core_1.debug)(`matched ${candidate.version}`);
+              match = candidate;
+              break;
+            }
+          }
         }
-        if (this.deleteVersion) {
-          permissions.push("x");
+        if (match && file) {
+          result = Object.assign({}, match);
+          result.files = [file];
+        }
+        return result;
+      });
+    }
+    function _getOsVersion() {
+      const plat = os4.platform();
+      let version = "";
+      if (plat === "darwin") {
+        version = cp.execSync("sw_vers -productVersion").toString();
+      } else if (plat === "linux") {
+        const lsbContents = module2.exports._readLinuxVersionFile();
+        if (lsbContents) {
+          const lines = lsbContents.split("\n");
+          for (const line of lines) {
+            const parts = line.split("=");
+            if (parts.length === 2 && (parts[0].trim() === "VERSION_ID" || parts[0].trim() === "DISTRIB_RELEASE")) {
+              version = parts[1].trim().replace(/^"/, "").replace(/"$/, "");
+              break;
+            }
+          }
+        }
+      }
+      return version;
+    }
+    function _readLinuxVersionFile() {
+      const lsbReleaseFile = "/etc/lsb-release";
+      const osReleaseFile = "/etc/os-release";
+      let contents = "";
+      if (fs18.existsSync(lsbReleaseFile)) {
+        contents = fs18.readFileSync(lsbReleaseFile).toString();
+      } else if (fs18.existsSync(osReleaseFile)) {
+        contents = fs18.readFileSync(osReleaseFile).toString();
+      }
+      return contents;
+    }
+  }
+});
+
+// node_modules/@actions/tool-cache/lib/retry-helper.js
+var require_retry_helper = __commonJS({
+  "node_modules/@actions/tool-cache/lib/retry-helper.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = 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 ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
         }
-        if (this.tag) {
-          permissions.push("t");
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve8) {
+          resolve8(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve8, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        if (this.move) {
-          permissions.push("m");
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        if (this.execute) {
-          permissions.push("e");
+        function step(result) {
+          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
-        if (this.setImmutabilityPolicy) {
-          permissions.push("i");
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.RetryHelper = void 0;
+    var core17 = __importStar2(require_core());
+    var RetryHelper = class {
+      constructor(maxAttempts, minSeconds, maxSeconds) {
+        if (maxAttempts < 1) {
+          throw new Error("max attempts should be greater than or equal to 1");
         }
-        if (this.permanentDelete) {
-          permissions.push("y");
+        this.maxAttempts = maxAttempts;
+        this.minSeconds = Math.floor(minSeconds);
+        this.maxSeconds = Math.floor(maxSeconds);
+        if (this.minSeconds > this.maxSeconds) {
+          throw new Error("min seconds should be less than or equal to max seconds");
         }
-        return permissions.join("");
+      }
+      execute(action, isRetryable) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          let attempt = 1;
+          while (attempt < this.maxAttempts) {
+            try {
+              return yield action();
+            } catch (err) {
+              if (isRetryable && !isRetryable(err)) {
+                throw err;
+              }
+              core17.info(err.message);
+            }
+            const seconds = this.getSleepAmount();
+            core17.info(`Waiting ${seconds} seconds before trying again`);
+            yield this.sleep(seconds);
+            attempt++;
+          }
+          return yield action();
+        });
+      }
+      getSleepAmount() {
+        return Math.floor(Math.random() * (this.maxSeconds - this.minSeconds + 1)) + this.minSeconds;
+      }
+      sleep(seconds) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          return new Promise((resolve8) => setTimeout(resolve8, seconds * 1e3));
+        });
       }
     };
-    exports2.BlobSASPermissions = BlobSASPermissions;
+    exports2.RetryHelper = RetryHelper;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/sas/ContainerSASPermissions.js
-var require_ContainerSASPermissions = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/ContainerSASPermissions.js"(exports2) {
+// node_modules/@actions/tool-cache/lib/tool-cache.js
+var require_tool_cache = __commonJS({
+  "node_modules/@actions/tool-cache/lib/tool-cache.js"(exports2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ContainerSASPermissions = void 0;
-    var ContainerSASPermissions = class _ContainerSASPermissions {
-      /**
-       * Creates an {@link ContainerSASPermissions} from the specified permissions string. This method will throw an
-       * Error if it encounters a character that does not correspond to a valid permission.
-       *
-       * @param permissions -
-       */
-      static parse(permissions) {
-        const containerSASPermissions = new _ContainerSASPermissions();
-        for (const char of permissions) {
-          switch (char) {
-            case "r":
-              containerSASPermissions.read = true;
-              break;
-            case "a":
-              containerSASPermissions.add = true;
-              break;
-            case "c":
-              containerSASPermissions.create = true;
-              break;
-            case "w":
-              containerSASPermissions.write = true;
-              break;
-            case "d":
-              containerSASPermissions.delete = true;
-              break;
-            case "l":
-              containerSASPermissions.list = true;
-              break;
-            case "t":
-              containerSASPermissions.tag = true;
-              break;
-            case "x":
-              containerSASPermissions.deleteVersion = true;
-              break;
-            case "m":
-              containerSASPermissions.move = true;
-              break;
-            case "e":
-              containerSASPermissions.execute = true;
-              break;
-            case "i":
-              containerSASPermissions.setImmutabilityPolicy = true;
-              break;
-            case "y":
-              containerSASPermissions.permanentDelete = true;
-              break;
-            case "f":
-              containerSASPermissions.filterByTags = true;
-              break;
-            default:
-              throw new RangeError(`Invalid permission ${char}`);
-          }
-        }
-        return containerSASPermissions;
+    var __createBinding2 = 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];
+        } };
       }
-      /**
-       * Creates a {@link ContainerSASPermissions} from a raw object which contains same keys as it
-       * and boolean values for them.
-       *
-       * @param permissionLike -
-       */
-      static from(permissionLike) {
-        const containerSASPermissions = new _ContainerSASPermissions();
-        if (permissionLike.read) {
-          containerSASPermissions.read = true;
-        }
-        if (permissionLike.add) {
-          containerSASPermissions.add = true;
-        }
-        if (permissionLike.create) {
-          containerSASPermissions.create = true;
-        }
-        if (permissionLike.write) {
-          containerSASPermissions.write = true;
-        }
-        if (permissionLike.delete) {
-          containerSASPermissions.delete = true;
-        }
-        if (permissionLike.list) {
-          containerSASPermissions.list = true;
-        }
-        if (permissionLike.deleteVersion) {
-          containerSASPermissions.deleteVersion = true;
-        }
-        if (permissionLike.tag) {
-          containerSASPermissions.tag = true;
-        }
-        if (permissionLike.move) {
-          containerSASPermissions.move = true;
-        }
-        if (permissionLike.execute) {
-          containerSASPermissions.execute = true;
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = 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 ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
         }
-        if (permissionLike.setImmutabilityPolicy) {
-          containerSASPermissions.setImmutabilityPolicy = true;
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve8) {
+          resolve8(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve8, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        if (permissionLike.permanentDelete) {
-          containerSASPermissions.permanentDelete = true;
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        if (permissionLike.filterByTags) {
-          containerSASPermissions.filterByTags = true;
+        function step(result) {
+          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
-        return containerSASPermissions;
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.HTTPError = void 0;
+    exports2.downloadTool = downloadTool2;
+    exports2.extract7z = extract7z;
+    exports2.extractTar = extractTar2;
+    exports2.extractXar = extractXar;
+    exports2.extractZip = extractZip;
+    exports2.cacheDir = cacheDir;
+    exports2.cacheFile = cacheFile;
+    exports2.find = find2;
+    exports2.findAllVersions = findAllVersions2;
+    exports2.getManifestFromRepo = getManifestFromRepo;
+    exports2.findFromManifest = findFromManifest;
+    exports2.isExplicitVersion = isExplicitVersion;
+    exports2.evaluateVersions = evaluateVersions;
+    var core17 = __importStar2(require_core());
+    var io7 = __importStar2(require_io());
+    var crypto2 = __importStar2(require("crypto"));
+    var fs18 = __importStar2(require("fs"));
+    var mm = __importStar2(require_manifest());
+    var os4 = __importStar2(require("os"));
+    var path16 = __importStar2(require("path"));
+    var httpm = __importStar2(require_lib());
+    var semver9 = __importStar2(require_semver2());
+    var stream2 = __importStar2(require("stream"));
+    var util = __importStar2(require("util"));
+    var assert_1 = require("assert");
+    var exec_1 = require_exec();
+    var retry_helper_1 = require_retry_helper();
+    var HTTPError2 = class extends Error {
+      constructor(httpStatusCode) {
+        super(`Unexpected HTTP response: ${httpStatusCode}`);
+        this.httpStatusCode = httpStatusCode;
+        Object.setPrototypeOf(this, new.target.prototype);
       }
-      /**
-       * Specifies Read access granted.
-       */
-      read = false;
-      /**
-       * Specifies Add access granted.
-       */
-      add = false;
-      /**
-       * Specifies Create access granted.
-       */
-      create = false;
-      /**
-       * Specifies Write access granted.
-       */
-      write = false;
-      /**
-       * Specifies Delete access granted.
-       */
-      delete = false;
-      /**
-       * Specifies Delete version access granted.
-       */
-      deleteVersion = false;
-      /**
-       * Specifies List access granted.
-       */
-      list = false;
-      /**
-       * Specfies Tag access granted.
-       */
-      tag = false;
-      /**
-       * Specifies Move access granted.
-       */
-      move = false;
-      /**
-       * Specifies Execute access granted.
-       */
-      execute = false;
-      /**
-       * Specifies SetImmutabilityPolicy access granted.
-       */
-      setImmutabilityPolicy = false;
-      /**
-       * Specifies that Permanent Delete is permitted.
-       */
-      permanentDelete = false;
-      /**
-       * Specifies that Filter Blobs by Tags is permitted.
-       */
-      filterByTags = false;
-      /**
-       * Converts the given permissions to a string. Using this method will guarantee the permissions are in an
-       * order accepted by the service.
-       *
-       * The order of the characters should be as specified here to ensure correctness.
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       */
-      toString() {
-        const permissions = [];
-        if (this.read) {
-          permissions.push("r");
-        }
-        if (this.add) {
-          permissions.push("a");
+    };
+    exports2.HTTPError = HTTPError2;
+    var IS_WINDOWS = process.platform === "win32";
+    var IS_MAC = process.platform === "darwin";
+    var userAgent2 = "actions/tool-cache";
+    function downloadTool2(url2, dest, auth2, headers) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        dest = dest || path16.join(_getTempDirectory(), crypto2.randomUUID());
+        yield io7.mkdirP(path16.dirname(dest));
+        core17.debug(`Downloading ${url2}`);
+        core17.debug(`Destination ${dest}`);
+        const maxAttempts = 3;
+        const minSeconds = _getGlobal("TEST_DOWNLOAD_TOOL_RETRY_MIN_SECONDS", 10);
+        const maxSeconds = _getGlobal("TEST_DOWNLOAD_TOOL_RETRY_MAX_SECONDS", 20);
+        const retryHelper = new retry_helper_1.RetryHelper(maxAttempts, minSeconds, maxSeconds);
+        return yield retryHelper.execute(() => __awaiter2(this, void 0, void 0, function* () {
+          return yield downloadToolAttempt(url2, dest || "", auth2, headers);
+        }), (err) => {
+          if (err instanceof HTTPError2 && err.httpStatusCode) {
+            if (err.httpStatusCode < 500 && err.httpStatusCode !== 408 && err.httpStatusCode !== 429) {
+              return false;
+            }
+          }
+          return true;
+        });
+      });
+    }
+    function downloadToolAttempt(url2, dest, auth2, headers) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        if (fs18.existsSync(dest)) {
+          throw new Error(`Destination file path ${dest} already exists`);
         }
-        if (this.create) {
-          permissions.push("c");
+        const http = new httpm.HttpClient(userAgent2, [], {
+          allowRetries: false
+        });
+        if (auth2) {
+          core17.debug("set auth");
+          if (headers === void 0) {
+            headers = {};
+          }
+          headers.authorization = auth2;
         }
-        if (this.write) {
-          permissions.push("w");
+        const response = yield http.get(url2, headers);
+        if (response.message.statusCode !== 200) {
+          const err = new HTTPError2(response.message.statusCode);
+          core17.debug(`Failed to download from "${url2}". Code(${response.message.statusCode}) Message(${response.message.statusMessage})`);
+          throw err;
         }
-        if (this.delete) {
-          permissions.push("d");
+        const pipeline = util.promisify(stream2.pipeline);
+        const responseMessageFactory = _getGlobal("TEST_DOWNLOAD_TOOL_RESPONSE_MESSAGE_FACTORY", () => response.message);
+        const readStream = responseMessageFactory();
+        let succeeded = false;
+        try {
+          yield pipeline(readStream, fs18.createWriteStream(dest));
+          core17.debug("download complete");
+          succeeded = true;
+          return dest;
+        } finally {
+          if (!succeeded) {
+            core17.debug("download failed");
+            try {
+              yield io7.rmRF(dest);
+            } catch (err) {
+              core17.debug(`Failed to delete '${dest}'. ${err.message}`);
+            }
+          }
         }
-        if (this.deleteVersion) {
-          permissions.push("x");
+      });
+    }
+    function extract7z(file, dest, _7zPath) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        (0, assert_1.ok)(IS_WINDOWS, "extract7z() not supported on current OS");
+        (0, assert_1.ok)(file, 'parameter "file" is required');
+        dest = yield _createExtractFolder(dest);
+        const originalCwd = process.cwd();
+        process.chdir(dest);
+        if (_7zPath) {
+          try {
+            const logLevel = core17.isDebug() ? "-bb1" : "-bb0";
+            const args = [
+              "x",
+              // eXtract files with full paths
+              logLevel,
+              // -bb[0-3] : set output log level
+              "-bd",
+              // disable progress indicator
+              "-sccUTF-8",
+              // set charset for for console input/output
+              file
+            ];
+            const options = {
+              silent: true
+            };
+            yield (0, exec_1.exec)(`"${_7zPath}"`, args, options);
+          } finally {
+            process.chdir(originalCwd);
+          }
+        } else {
+          const escapedScript = path16.join(__dirname, "..", "scripts", "Invoke-7zdec.ps1").replace(/'/g, "''").replace(/"|\n|\r/g, "");
+          const escapedFile = file.replace(/'/g, "''").replace(/"|\n|\r/g, "");
+          const escapedTarget = dest.replace(/'/g, "''").replace(/"|\n|\r/g, "");
+          const command = `& '${escapedScript}' -Source '${escapedFile}' -Target '${escapedTarget}'`;
+          const args = [
+            "-NoLogo",
+            "-Sta",
+            "-NoProfile",
+            "-NonInteractive",
+            "-ExecutionPolicy",
+            "Unrestricted",
+            "-Command",
+            command
+          ];
+          const options = {
+            silent: true
+          };
+          try {
+            const powershellPath = yield io7.which("powershell", true);
+            yield (0, exec_1.exec)(`"${powershellPath}"`, args, options);
+          } finally {
+            process.chdir(originalCwd);
+          }
         }
-        if (this.list) {
-          permissions.push("l");
+        return dest;
+      });
+    }
+    function extractTar2(file_1, dest_1) {
+      return __awaiter2(this, arguments, void 0, function* (file, dest, flags = "xz") {
+        if (!file) {
+          throw new Error("parameter 'file' is required");
         }
-        if (this.tag) {
-          permissions.push("t");
+        dest = yield _createExtractFolder(dest);
+        core17.debug("Checking tar --version");
+        let versionOutput = "";
+        yield (0, exec_1.exec)("tar --version", [], {
+          ignoreReturnCode: true,
+          silent: true,
+          listeners: {
+            stdout: (data) => versionOutput += data.toString(),
+            stderr: (data) => versionOutput += data.toString()
+          }
+        });
+        core17.debug(versionOutput.trim());
+        const isGnuTar = versionOutput.toUpperCase().includes("GNU TAR");
+        let args;
+        if (flags instanceof Array) {
+          args = flags;
+        } else {
+          args = [flags];
         }
-        if (this.move) {
-          permissions.push("m");
+        if (core17.isDebug() && !flags.includes("v")) {
+          args.push("-v");
         }
-        if (this.execute) {
-          permissions.push("e");
+        let destArg = dest;
+        let fileArg = file;
+        if (IS_WINDOWS && isGnuTar) {
+          args.push("--force-local");
+          destArg = dest.replace(/\\/g, "/");
+          fileArg = file.replace(/\\/g, "/");
         }
-        if (this.setImmutabilityPolicy) {
-          permissions.push("i");
+        if (isGnuTar) {
+          args.push("--warning=no-unknown-keyword");
+          args.push("--overwrite");
         }
-        if (this.permanentDelete) {
-          permissions.push("y");
+        args.push("-C", destArg, "-f", fileArg);
+        yield (0, exec_1.exec)(`tar`, args);
+        return dest;
+      });
+    }
+    function extractXar(file_1, dest_1) {
+      return __awaiter2(this, arguments, void 0, function* (file, dest, flags = []) {
+        (0, assert_1.ok)(IS_MAC, "extractXar() not supported on current OS");
+        (0, assert_1.ok)(file, 'parameter "file" is required');
+        dest = yield _createExtractFolder(dest);
+        let args;
+        if (flags instanceof Array) {
+          args = flags;
+        } else {
+          args = [flags];
         }
-        if (this.filterByTags) {
-          permissions.push("f");
+        args.push("-x", "-C", dest, "-f", file);
+        if (core17.isDebug()) {
+          args.push("-v");
         }
-        return permissions.join("");
-      }
-    };
-    exports2.ContainerSASPermissions = ContainerSASPermissions;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/credentials/UserDelegationKeyCredential.js
-var require_UserDelegationKeyCredential = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/credentials/UserDelegationKeyCredential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.UserDelegationKeyCredential = void 0;
-    var node_crypto_1 = require("node:crypto");
-    var UserDelegationKeyCredential = class {
-      /**
-       * Azure Storage account name; readonly.
-       */
-      accountName;
-      /**
-       * Azure Storage user delegation key; readonly.
-       */
-      userDelegationKey;
-      /**
-       * Key value in Buffer type.
-       */
-      key;
-      /**
-       * Creates an instance of UserDelegationKeyCredential.
-       * @param accountName -
-       * @param userDelegationKey -
-       */
-      constructor(accountName, userDelegationKey) {
-        this.accountName = accountName;
-        this.userDelegationKey = userDelegationKey;
-        this.key = Buffer.from(userDelegationKey.value, "base64");
-      }
-      /**
-       * Generates a hash signature for an HTTP request or for a SAS.
-       *
-       * @param stringToSign -
-       */
-      computeHMACSHA256(stringToSign) {
-        return (0, node_crypto_1.createHmac)("sha256", this.key).update(stringToSign, "utf8").digest("base64");
-      }
-    };
-    exports2.UserDelegationKeyCredential = UserDelegationKeyCredential;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/sas/SasIPRange.js
-var require_SasIPRange = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/SasIPRange.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ipRangeToString = ipRangeToString;
-    function ipRangeToString(ipRange) {
-      return ipRange.end ? `${ipRange.start}-${ipRange.end}` : ipRange.start;
+        const xarPath = yield io7.which("xar", true);
+        yield (0, exec_1.exec)(`"${xarPath}"`, _unique(args));
+        return dest;
+      });
     }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/sas/SASQueryParameters.js
-var require_SASQueryParameters = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/SASQueryParameters.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.SASQueryParameters = exports2.SASProtocol = void 0;
-    var SasIPRange_js_1 = require_SasIPRange();
-    var utils_common_js_1 = require_utils_common();
-    var SASProtocol;
-    (function(SASProtocol2) {
-      SASProtocol2["Https"] = "https";
-      SASProtocol2["HttpsAndHttp"] = "https,http";
-    })(SASProtocol || (exports2.SASProtocol = SASProtocol = {}));
-    var SASQueryParameters = class {
-      /**
-       * The storage API version.
-       */
-      version;
-      /**
-       * Optional. The allowed HTTP protocol(s).
-       */
-      protocol;
-      /**
-       * Optional. The start time for this SAS token.
-       */
-      startsOn;
-      /**
-       * Optional only when identifier is provided. The expiry time for this SAS token.
-       */
-      expiresOn;
-      /**
-       * Optional only when identifier is provided.
-       * Please refer to {@link AccountSASPermissions}, {@link BlobSASPermissions}, or {@link ContainerSASPermissions} for
-       * more details.
-       */
-      permissions;
-      /**
-       * Optional. The storage services being accessed (only for Account SAS). Please refer to {@link AccountSASServices}
-       * for more details.
-       */
-      services;
-      /**
-       * Optional. The storage resource types being accessed (only for Account SAS). Please refer to
-       * {@link AccountSASResourceTypes} for more details.
-       */
-      resourceTypes;
-      /**
-       * Optional. The signed identifier (only for {@link BlobSASSignatureValues}).
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/establishing-a-stored-access-policy
-       */
-      identifier;
-      /**
-       * Optional. Encryption scope to use when sending requests authorized with this SAS URI.
-       */
-      encryptionScope;
-      /**
-       * Optional. Specifies which resources are accessible via the SAS (only for {@link BlobSASSignatureValues}).
-       * @see https://learn.microsoft.com/rest/api/storageservices/create-service-sas#specifying-the-signed-resource-blob-service-only
-       */
-      resource;
-      /**
-       * The signature for the SAS token.
-       */
-      signature;
-      /**
-       * Value for cache-control header in Blob/File Service SAS.
-       */
-      cacheControl;
-      /**
-       * Value for content-disposition header in Blob/File Service SAS.
-       */
-      contentDisposition;
-      /**
-       * Value for content-encoding header in Blob/File Service SAS.
-       */
-      contentEncoding;
-      /**
-       * Value for content-length header in Blob/File Service SAS.
-       */
-      contentLanguage;
-      /**
-       * Value for content-type header in Blob/File Service SAS.
-       */
-      contentType;
-      /**
-       * Inner value of getter ipRange.
-       */
-      ipRangeInner;
-      /**
-       * The Azure Active Directory object ID in GUID format.
-       * Property of user delegation key.
-       */
-      signedOid;
-      /**
-       * The Azure Active Directory tenant ID in GUID format.
-       * Property of user delegation key.
-       */
-      signedTenantId;
-      /**
-       * The date-time the key is active.
-       * Property of user delegation key.
-       */
-      signedStartsOn;
-      /**
-       * The date-time the key expires.
-       * Property of user delegation key.
-       */
-      signedExpiresOn;
-      /**
-       * Abbreviation of the Azure Storage service that accepts the user delegation key.
-       * Property of user delegation key.
-       */
-      signedService;
-      /**
-       * The service version that created the user delegation key.
-       * Property of user delegation key.
-       */
-      signedVersion;
-      /**
-       * Authorized AAD Object ID in GUID format. The AAD Object ID of a user authorized by the owner of the User Delegation Key
-       * to perform the action granted by the SAS. The Azure Storage service will ensure that the owner of the user delegation key
-       * has the required permissions before granting access but no additional permission check for the user specified in
-       * this value will be performed. This is only used for User Delegation SAS.
-       */
-      preauthorizedAgentObjectId;
-      /**
-       * A GUID value that will be logged in the storage diagnostic logs and can be used to correlate SAS generation with storage resource access.
-       * This is only used for User Delegation SAS.
-       */
-      correlationId;
-      /**
-       * Optional. IP range allowed for this SAS.
-       *
-       * @readonly
-       */
-      get ipRange() {
-        if (this.ipRangeInner) {
-          return {
-            end: this.ipRangeInner.end,
-            start: this.ipRangeInner.start
-          };
+    function extractZip(file, dest) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        if (!file) {
+          throw new Error("parameter 'file' is required");
         }
-        return void 0;
-      }
-      constructor(version, signature, permissionsOrOptions, services, resourceTypes, protocol, startsOn, expiresOn, ipRange, identifier, resource, cacheControl, contentDisposition, contentEncoding, contentLanguage, contentType, userDelegationKey, preauthorizedAgentObjectId, correlationId, encryptionScope) {
-        this.version = version;
-        this.signature = signature;
-        if (permissionsOrOptions !== void 0 && typeof permissionsOrOptions !== "string") {
-          this.permissions = permissionsOrOptions.permissions;
-          this.services = permissionsOrOptions.services;
-          this.resourceTypes = permissionsOrOptions.resourceTypes;
-          this.protocol = permissionsOrOptions.protocol;
-          this.startsOn = permissionsOrOptions.startsOn;
-          this.expiresOn = permissionsOrOptions.expiresOn;
-          this.ipRangeInner = permissionsOrOptions.ipRange;
-          this.identifier = permissionsOrOptions.identifier;
-          this.encryptionScope = permissionsOrOptions.encryptionScope;
-          this.resource = permissionsOrOptions.resource;
-          this.cacheControl = permissionsOrOptions.cacheControl;
-          this.contentDisposition = permissionsOrOptions.contentDisposition;
-          this.contentEncoding = permissionsOrOptions.contentEncoding;
-          this.contentLanguage = permissionsOrOptions.contentLanguage;
-          this.contentType = permissionsOrOptions.contentType;
-          if (permissionsOrOptions.userDelegationKey) {
-            this.signedOid = permissionsOrOptions.userDelegationKey.signedObjectId;
-            this.signedTenantId = permissionsOrOptions.userDelegationKey.signedTenantId;
-            this.signedStartsOn = permissionsOrOptions.userDelegationKey.signedStartsOn;
-            this.signedExpiresOn = permissionsOrOptions.userDelegationKey.signedExpiresOn;
-            this.signedService = permissionsOrOptions.userDelegationKey.signedService;
-            this.signedVersion = permissionsOrOptions.userDelegationKey.signedVersion;
-            this.preauthorizedAgentObjectId = permissionsOrOptions.preauthorizedAgentObjectId;
-            this.correlationId = permissionsOrOptions.correlationId;
-          }
+        dest = yield _createExtractFolder(dest);
+        if (IS_WINDOWS) {
+          yield extractZipWin(file, dest);
         } else {
-          this.services = services;
-          this.resourceTypes = resourceTypes;
-          this.expiresOn = expiresOn;
-          this.permissions = permissionsOrOptions;
-          this.protocol = protocol;
-          this.startsOn = startsOn;
-          this.ipRangeInner = ipRange;
-          this.encryptionScope = encryptionScope;
-          this.identifier = identifier;
-          this.resource = resource;
-          this.cacheControl = cacheControl;
-          this.contentDisposition = contentDisposition;
-          this.contentEncoding = contentEncoding;
-          this.contentLanguage = contentLanguage;
-          this.contentType = contentType;
-          if (userDelegationKey) {
-            this.signedOid = userDelegationKey.signedObjectId;
-            this.signedTenantId = userDelegationKey.signedTenantId;
-            this.signedStartsOn = userDelegationKey.signedStartsOn;
-            this.signedExpiresOn = userDelegationKey.signedExpiresOn;
-            this.signedService = userDelegationKey.signedService;
-            this.signedVersion = userDelegationKey.signedVersion;
-            this.preauthorizedAgentObjectId = preauthorizedAgentObjectId;
-            this.correlationId = correlationId;
-          }
+          yield extractZipNix(file, dest);
         }
-      }
-      /**
-       * Encodes all SAS query parameters into a string that can be appended to a URL.
-       *
-       */
-      toString() {
-        const params = [
-          "sv",
-          "ss",
-          "srt",
-          "spr",
-          "st",
-          "se",
-          "sip",
-          "si",
-          "ses",
-          "skoid",
-          // Signed object ID
-          "sktid",
-          // Signed tenant ID
-          "skt",
-          // Signed key start time
-          "ske",
-          // Signed key expiry time
-          "sks",
-          // Signed key service
-          "skv",
-          // Signed key version
-          "sr",
-          "sp",
-          "sig",
-          "rscc",
-          "rscd",
-          "rsce",
-          "rscl",
-          "rsct",
-          "saoid",
-          "scid"
-        ];
-        const queries = [];
-        for (const param of params) {
-          switch (param) {
-            case "sv":
-              this.tryAppendQueryParameter(queries, param, this.version);
-              break;
-            case "ss":
-              this.tryAppendQueryParameter(queries, param, this.services);
-              break;
-            case "srt":
-              this.tryAppendQueryParameter(queries, param, this.resourceTypes);
-              break;
-            case "spr":
-              this.tryAppendQueryParameter(queries, param, this.protocol);
-              break;
-            case "st":
-              this.tryAppendQueryParameter(queries, param, this.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.startsOn, false) : void 0);
-              break;
-            case "se":
-              this.tryAppendQueryParameter(queries, param, this.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.expiresOn, false) : void 0);
-              break;
-            case "sip":
-              this.tryAppendQueryParameter(queries, param, this.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(this.ipRange) : void 0);
-              break;
-            case "si":
-              this.tryAppendQueryParameter(queries, param, this.identifier);
-              break;
-            case "ses":
-              this.tryAppendQueryParameter(queries, param, this.encryptionScope);
-              break;
-            case "skoid":
-              this.tryAppendQueryParameter(queries, param, this.signedOid);
-              break;
-            case "sktid":
-              this.tryAppendQueryParameter(queries, param, this.signedTenantId);
-              break;
-            case "skt":
-              this.tryAppendQueryParameter(queries, param, this.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.signedStartsOn, false) : void 0);
-              break;
-            case "ske":
-              this.tryAppendQueryParameter(queries, param, this.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.signedExpiresOn, false) : void 0);
-              break;
-            case "sks":
-              this.tryAppendQueryParameter(queries, param, this.signedService);
-              break;
-            case "skv":
-              this.tryAppendQueryParameter(queries, param, this.signedVersion);
-              break;
-            case "sr":
-              this.tryAppendQueryParameter(queries, param, this.resource);
-              break;
-            case "sp":
-              this.tryAppendQueryParameter(queries, param, this.permissions);
-              break;
-            case "sig":
-              this.tryAppendQueryParameter(queries, param, this.signature);
-              break;
-            case "rscc":
-              this.tryAppendQueryParameter(queries, param, this.cacheControl);
-              break;
-            case "rscd":
-              this.tryAppendQueryParameter(queries, param, this.contentDisposition);
-              break;
-            case "rsce":
-              this.tryAppendQueryParameter(queries, param, this.contentEncoding);
-              break;
-            case "rscl":
-              this.tryAppendQueryParameter(queries, param, this.contentLanguage);
-              break;
-            case "rsct":
-              this.tryAppendQueryParameter(queries, param, this.contentType);
-              break;
-            case "saoid":
-              this.tryAppendQueryParameter(queries, param, this.preauthorizedAgentObjectId);
-              break;
-            case "scid":
-              this.tryAppendQueryParameter(queries, param, this.correlationId);
-              break;
-          }
+        return dest;
+      });
+    }
+    function extractZipWin(file, dest) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const escapedFile = file.replace(/'/g, "''").replace(/"|\n|\r/g, "");
+        const escapedDest = dest.replace(/'/g, "''").replace(/"|\n|\r/g, "");
+        const pwshPath = yield io7.which("pwsh", false);
+        if (pwshPath) {
+          const pwshCommand = [
+            `$ErrorActionPreference = 'Stop' ;`,
+            `try { Add-Type -AssemblyName System.IO.Compression.ZipFile } catch { } ;`,
+            `try { [System.IO.Compression.ZipFile]::ExtractToDirectory('${escapedFile}', '${escapedDest}', $true) }`,
+            `catch { if (($_.Exception.GetType().FullName -eq 'System.Management.Automation.MethodException') -or ($_.Exception.GetType().FullName -eq 'System.Management.Automation.RuntimeException') ){ Expand-Archive -LiteralPath '${escapedFile}' -DestinationPath '${escapedDest}' -Force } else { throw $_ } } ;`
+          ].join(" ");
+          const args = [
+            "-NoLogo",
+            "-NoProfile",
+            "-NonInteractive",
+            "-ExecutionPolicy",
+            "Unrestricted",
+            "-Command",
+            pwshCommand
+          ];
+          core17.debug(`Using pwsh at path: ${pwshPath}`);
+          yield (0, exec_1.exec)(`"${pwshPath}"`, args);
+        } else {
+          const powershellCommand = [
+            `$ErrorActionPreference = 'Stop' ;`,
+            `try { Add-Type -AssemblyName System.IO.Compression.FileSystem } catch { } ;`,
+            `if ((Get-Command -Name Expand-Archive -Module Microsoft.PowerShell.Archive -ErrorAction Ignore)) { Expand-Archive -LiteralPath '${escapedFile}' -DestinationPath '${escapedDest}' -Force }`,
+            `else {[System.IO.Compression.ZipFile]::ExtractToDirectory('${escapedFile}', '${escapedDest}', $true) }`
+          ].join(" ");
+          const args = [
+            "-NoLogo",
+            "-Sta",
+            "-NoProfile",
+            "-NonInteractive",
+            "-ExecutionPolicy",
+            "Unrestricted",
+            "-Command",
+            powershellCommand
+          ];
+          const powershellPath = yield io7.which("powershell", true);
+          core17.debug(`Using powershell at path: ${powershellPath}`);
+          yield (0, exec_1.exec)(`"${powershellPath}"`, args);
         }
-        return queries.join("&");
-      }
-      /**
-       * A private helper method used to filter and append query key/value pairs into an array.
-       *
-       * @param queries -
-       * @param key -
-       * @param value -
-       */
-      tryAppendQueryParameter(queries, key, value) {
-        if (!value) {
-          return;
+      });
+    }
+    function extractZipNix(file, dest) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const unzipPath = yield io7.which("unzip", true);
+        const args = [file];
+        if (!core17.isDebug()) {
+          args.unshift("-q");
         }
-        key = encodeURIComponent(key);
-        value = encodeURIComponent(value);
-        if (key.length > 0 && value.length > 0) {
-          queries.push(`${key}=${value}`);
+        args.unshift("-o");
+        yield (0, exec_1.exec)(`"${unzipPath}"`, args, { cwd: dest });
+      });
+    }
+    function cacheDir(sourceDir, tool, version, arch2) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        version = semver9.clean(version) || version;
+        arch2 = arch2 || os4.arch();
+        core17.debug(`Caching tool ${tool} ${version} ${arch2}`);
+        core17.debug(`source dir: ${sourceDir}`);
+        if (!fs18.statSync(sourceDir).isDirectory()) {
+          throw new Error("sourceDir is not a directory");
+        }
+        const destPath = yield _createToolPath(tool, version, arch2);
+        for (const itemName of fs18.readdirSync(sourceDir)) {
+          const s = path16.join(sourceDir, itemName);
+          yield io7.cp(s, destPath, { recursive: true });
         }
-      }
-    };
-    exports2.SASQueryParameters = SASQueryParameters;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASSignatureValues.js
-var require_BlobSASSignatureValues = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASSignatureValues.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.generateBlobSASQueryParameters = generateBlobSASQueryParameters;
-    exports2.generateBlobSASQueryParametersInternal = generateBlobSASQueryParametersInternal;
-    var BlobSASPermissions_js_1 = require_BlobSASPermissions();
-    var ContainerSASPermissions_js_1 = require_ContainerSASPermissions();
-    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
-    var UserDelegationKeyCredential_js_1 = require_UserDelegationKeyCredential();
-    var SasIPRange_js_1 = require_SasIPRange();
-    var SASQueryParameters_js_1 = require_SASQueryParameters();
-    var constants_js_1 = require_constants15();
-    var utils_common_js_1 = require_utils_common();
-    function generateBlobSASQueryParameters(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName) {
-      return generateBlobSASQueryParametersInternal(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName).sasQueryParameters;
+        _completeToolPath(tool, version, arch2);
+        return destPath;
+      });
     }
-    function generateBlobSASQueryParametersInternal(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName) {
-      const version = blobSASSignatureValues.version ? blobSASSignatureValues.version : constants_js_1.SERVICE_VERSION;
-      const sharedKeyCredential = sharedKeyCredentialOrUserDelegationKey instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential ? sharedKeyCredentialOrUserDelegationKey : void 0;
-      let userDelegationKeyCredential;
-      if (sharedKeyCredential === void 0 && accountName !== void 0) {
-        userDelegationKeyCredential = new UserDelegationKeyCredential_js_1.UserDelegationKeyCredential(accountName, sharedKeyCredentialOrUserDelegationKey);
+    function cacheFile(sourceFile, targetFile, tool, version, arch2) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        version = semver9.clean(version) || version;
+        arch2 = arch2 || os4.arch();
+        core17.debug(`Caching tool ${tool} ${version} ${arch2}`);
+        core17.debug(`source file: ${sourceFile}`);
+        if (!fs18.statSync(sourceFile).isFile()) {
+          throw new Error("sourceFile is not a file");
+        }
+        const destFolder = yield _createToolPath(tool, version, arch2);
+        const destPath = path16.join(destFolder, targetFile);
+        core17.debug(`destination file ${destPath}`);
+        yield io7.cp(sourceFile, destPath);
+        _completeToolPath(tool, version, arch2);
+        return destFolder;
+      });
+    }
+    function find2(toolName, versionSpec, arch2) {
+      if (!toolName) {
+        throw new Error("toolName parameter is required");
       }
-      if (sharedKeyCredential === void 0 && userDelegationKeyCredential === void 0) {
-        throw TypeError("Invalid sharedKeyCredential, userDelegationKey or accountName.");
+      if (!versionSpec) {
+        throw new Error("versionSpec parameter is required");
       }
-      if (version >= "2020-12-06") {
-        if (sharedKeyCredential !== void 0) {
-          return generateBlobSASQueryParameters20201206(blobSASSignatureValues, sharedKeyCredential);
+      arch2 = arch2 || os4.arch();
+      if (!isExplicitVersion(versionSpec)) {
+        const localVersions = findAllVersions2(toolName, arch2);
+        const match = evaluateVersions(localVersions, versionSpec);
+        versionSpec = match;
+      }
+      let toolPath = "";
+      if (versionSpec) {
+        versionSpec = semver9.clean(versionSpec) || "";
+        const cachePath = path16.join(_getCacheDirectory(), toolName, versionSpec, arch2);
+        core17.debug(`checking cache: ${cachePath}`);
+        if (fs18.existsSync(cachePath) && fs18.existsSync(`${cachePath}.complete`)) {
+          core17.debug(`Found tool in cache ${toolName} ${versionSpec} ${arch2}`);
+          toolPath = cachePath;
         } else {
-          if (version >= "2025-07-05") {
-            return generateBlobSASQueryParametersUDK20250705(blobSASSignatureValues, userDelegationKeyCredential);
-          } else {
-            return generateBlobSASQueryParametersUDK20201206(blobSASSignatureValues, userDelegationKeyCredential);
-          }
+          core17.debug("not found");
         }
       }
-      if (version >= "2018-11-09") {
-        if (sharedKeyCredential !== void 0) {
-          return generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKeyCredential);
-        } else {
-          if (version >= "2020-02-10") {
-            return generateBlobSASQueryParametersUDK20200210(blobSASSignatureValues, userDelegationKeyCredential);
-          } else {
-            return generateBlobSASQueryParametersUDK20181109(blobSASSignatureValues, userDelegationKeyCredential);
+      return toolPath;
+    }
+    function findAllVersions2(toolName, arch2) {
+      const versions = [];
+      arch2 = arch2 || os4.arch();
+      const toolPath = path16.join(_getCacheDirectory(), toolName);
+      if (fs18.existsSync(toolPath)) {
+        const children = fs18.readdirSync(toolPath);
+        for (const child of children) {
+          if (isExplicitVersion(child)) {
+            const fullPath = path16.join(toolPath, child, arch2 || "");
+            if (fs18.existsSync(fullPath) && fs18.existsSync(`${fullPath}.complete`)) {
+              versions.push(child);
+            }
           }
         }
       }
-      if (version >= "2015-04-05") {
-        if (sharedKeyCredential !== void 0) {
-          return generateBlobSASQueryParameters20150405(blobSASSignatureValues, sharedKeyCredential);
-        } else {
-          throw new RangeError("'version' must be >= '2018-11-09' when generating user delegation SAS using user delegation key.");
+      return versions;
+    }
+    function getManifestFromRepo(owner_1, repo_1, auth_1) {
+      return __awaiter2(this, arguments, void 0, function* (owner, repo, auth2, branch = "master") {
+        let releases = [];
+        const treeUrl = `https://api.github.com/repos/${owner}/${repo}/git/trees/${branch}`;
+        const http = new httpm.HttpClient("tool-cache");
+        const headers = {};
+        if (auth2) {
+          core17.debug("set auth");
+          headers.authorization = auth2;
         }
-      }
-      throw new RangeError("'version' must be >= '2015-04-05'.");
+        const response = yield http.getJson(treeUrl, headers);
+        if (!response.result) {
+          return releases;
+        }
+        let manifestUrl = "";
+        for (const item of response.result.tree) {
+          if (item.path === "versions-manifest.json") {
+            manifestUrl = item.url;
+            break;
+          }
+        }
+        headers["accept"] = "application/vnd.github.VERSION.raw";
+        let versionsRaw = yield (yield http.get(manifestUrl, headers)).readBody();
+        if (versionsRaw) {
+          versionsRaw = versionsRaw.replace(/^\uFEFF/, "");
+          try {
+            releases = JSON.parse(versionsRaw);
+          } catch (_a) {
+            core17.debug("Invalid json");
+          }
+        }
+        return releases;
+      });
     }
-    function generateBlobSASQueryParameters20150405(blobSASSignatureValues, sharedKeyCredential) {
-      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
-      if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
-        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
-      }
-      let resource = "c";
-      if (blobSASSignatureValues.blobName) {
-        resource = "b";
-      }
-      let verifiedPermissions;
-      if (blobSASSignatureValues.permissions) {
-        if (blobSASSignatureValues.blobName) {
-          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        } else {
-          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+    function findFromManifest(versionSpec_1, stable_1, manifest_1) {
+      return __awaiter2(this, arguments, void 0, function* (versionSpec, stable, manifest, archFilter = os4.arch()) {
+        const match = yield mm._findMatch(versionSpec, stable, manifest, archFilter);
+        return match;
+      });
+    }
+    function _createExtractFolder(dest) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        if (!dest) {
+          dest = path16.join(_getTempDirectory(), crypto2.randomUUID());
         }
-      }
-      const stringToSign = [
-        verifiedPermissions ? verifiedPermissions : "",
-        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
-        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
-        getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
-        blobSASSignatureValues.identifier,
-        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
-        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
-        blobSASSignatureValues.version,
-        blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
-        blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
-        blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
-        blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
-        blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : ""
-      ].join("\n");
-      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType),
-        stringToSign
-      };
+        yield io7.mkdirP(dest);
+        return dest;
+      });
     }
-    function generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKeyCredential) {
-      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
-      if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
-        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
-      }
-      let resource = "c";
-      let timestamp2 = blobSASSignatureValues.snapshotTime;
-      if (blobSASSignatureValues.blobName) {
-        resource = "b";
-        if (blobSASSignatureValues.snapshotTime) {
-          resource = "bs";
-        } else if (blobSASSignatureValues.versionId) {
-          resource = "bv";
-          timestamp2 = blobSASSignatureValues.versionId;
+    function _createToolPath(tool, version, arch2) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const folderPath = path16.join(_getCacheDirectory(), tool, semver9.clean(version) || version, arch2 || "");
+        core17.debug(`destination ${folderPath}`);
+        const markerPath = `${folderPath}.complete`;
+        yield io7.rmRF(folderPath);
+        yield io7.rmRF(markerPath);
+        yield io7.mkdirP(folderPath);
+        return folderPath;
+      });
+    }
+    function _completeToolPath(tool, version, arch2) {
+      const folderPath = path16.join(_getCacheDirectory(), tool, semver9.clean(version) || version, arch2 || "");
+      const markerPath = `${folderPath}.complete`;
+      fs18.writeFileSync(markerPath, "");
+      core17.debug("finished caching tool");
+    }
+    function isExplicitVersion(versionSpec) {
+      const c = semver9.clean(versionSpec) || "";
+      core17.debug(`isExplicit: ${c}`);
+      const valid3 = semver9.valid(c) != null;
+      core17.debug(`explicit? ${valid3}`);
+      return valid3;
+    }
+    function evaluateVersions(versions, versionSpec) {
+      let version = "";
+      core17.debug(`evaluating ${versions.length} versions`);
+      versions = versions.sort((a, b) => {
+        if (semver9.gt(a, b)) {
+          return 1;
         }
-      }
-      let verifiedPermissions;
-      if (blobSASSignatureValues.permissions) {
-        if (blobSASSignatureValues.blobName) {
-          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        } else {
-          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        return -1;
+      });
+      for (let i = versions.length - 1; i >= 0; i--) {
+        const potential = versions[i];
+        const satisfied = semver9.satisfies(potential, versionSpec);
+        if (satisfied) {
+          version = potential;
+          break;
         }
       }
-      const stringToSign = [
-        verifiedPermissions ? verifiedPermissions : "",
-        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
-        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
-        getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
-        blobSASSignatureValues.identifier,
-        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
-        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
-        blobSASSignatureValues.version,
-        resource,
-        timestamp2,
-        blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
-        blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
-        blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
-        blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
-        blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : ""
-      ].join("\n");
-      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType),
-        stringToSign
-      };
-    }
-    function generateBlobSASQueryParameters20201206(blobSASSignatureValues, sharedKeyCredential) {
-      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
-      if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
-        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
+      if (version) {
+        core17.debug(`matched: ${version}`);
+      } else {
+        core17.debug("match not found");
       }
-      let resource = "c";
-      let timestamp2 = blobSASSignatureValues.snapshotTime;
-      if (blobSASSignatureValues.blobName) {
-        resource = "b";
-        if (blobSASSignatureValues.snapshotTime) {
-          resource = "bs";
-        } else if (blobSASSignatureValues.versionId) {
-          resource = "bv";
-          timestamp2 = blobSASSignatureValues.versionId;
+      return version;
+    }
+    function _getCacheDirectory() {
+      const cacheDirectory = process.env["RUNNER_TOOL_CACHE"] || "";
+      (0, assert_1.ok)(cacheDirectory, "Expected RUNNER_TOOL_CACHE to be defined");
+      return cacheDirectory;
+    }
+    function _getTempDirectory() {
+      const tempDirectory = process.env["RUNNER_TEMP"] || "";
+      (0, assert_1.ok)(tempDirectory, "Expected RUNNER_TEMP to be defined");
+      return tempDirectory;
+    }
+    function _getGlobal(key, defaultValue) {
+      const value = global[key];
+      return value !== void 0 ? value : defaultValue;
+    }
+    function _unique(values) {
+      return Array.from(new Set(values));
+    }
+  }
+});
+
+// node_modules/fast-deep-equal/index.js
+var require_fast_deep_equal = __commonJS({
+  "node_modules/fast-deep-equal/index.js"(exports2, module2) {
+    "use strict";
+    module2.exports = function equal(a, b) {
+      if (a === b) return true;
+      if (a && b && typeof a == "object" && typeof b == "object") {
+        if (a.constructor !== b.constructor) return false;
+        var length, i, keys;
+        if (Array.isArray(a)) {
+          length = a.length;
+          if (length != b.length) return false;
+          for (i = length; i-- !== 0; )
+            if (!equal(a[i], b[i])) return false;
+          return true;
+        }
+        if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;
+        if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();
+        if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();
+        keys = Object.keys(a);
+        length = keys.length;
+        if (length !== Object.keys(b).length) return false;
+        for (i = length; i-- !== 0; )
+          if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;
+        for (i = length; i-- !== 0; ) {
+          var key = keys[i];
+          if (!equal(a[key], b[key])) return false;
         }
+        return true;
       }
-      let verifiedPermissions;
-      if (blobSASSignatureValues.permissions) {
-        if (blobSASSignatureValues.blobName) {
-          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        } else {
-          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+      return a !== a && b !== b;
+    };
+  }
+});
+
+// node_modules/follow-redirects/debug.js
+var require_debug3 = __commonJS({
+  "node_modules/follow-redirects/debug.js"(exports2, module2) {
+    var debug5;
+    module2.exports = function() {
+      if (!debug5) {
+        try {
+          debug5 = require_src()("follow-redirects");
+        } catch (error3) {
+        }
+        if (typeof debug5 !== "function") {
+          debug5 = function() {
+          };
         }
       }
-      const stringToSign = [
-        verifiedPermissions ? verifiedPermissions : "",
-        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
-        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
-        getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
-        blobSASSignatureValues.identifier,
-        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
-        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
-        blobSASSignatureValues.version,
-        resource,
-        timestamp2,
-        blobSASSignatureValues.encryptionScope,
-        blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
-        blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
-        blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
-        blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
-        blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : ""
-      ].join("\n");
-      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, void 0, void 0, void 0, blobSASSignatureValues.encryptionScope),
-        stringToSign
-      };
-    }
-    function generateBlobSASQueryParametersUDK20181109(blobSASSignatureValues, userDelegationKeyCredential) {
-      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
-      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
-        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
+      debug5.apply(null, arguments);
+    };
+  }
+});
+
+// node_modules/follow-redirects/index.js
+var require_follow_redirects = __commonJS({
+  "node_modules/follow-redirects/index.js"(exports2, module2) {
+    var url2 = require("url");
+    var URL2 = url2.URL;
+    var http = require("http");
+    var https2 = require("https");
+    var Writable = require("stream").Writable;
+    var assert = require("assert");
+    var debug5 = require_debug3();
+    (function detectUnsupportedEnvironment() {
+      var looksLikeNode = typeof process !== "undefined";
+      var looksLikeBrowser = typeof window !== "undefined" && typeof document !== "undefined";
+      var looksLikeV8 = isFunction(Error.captureStackTrace);
+      if (!looksLikeNode && (looksLikeBrowser || !looksLikeV8)) {
+        console.warn("The follow-redirects package should be excluded from browser builds.");
       }
-      let resource = "c";
-      let timestamp2 = blobSASSignatureValues.snapshotTime;
-      if (blobSASSignatureValues.blobName) {
-        resource = "b";
-        if (blobSASSignatureValues.snapshotTime) {
-          resource = "bs";
-        } else if (blobSASSignatureValues.versionId) {
-          resource = "bv";
-          timestamp2 = blobSASSignatureValues.versionId;
-        }
+    })();
+    var useNativeURL = false;
+    try {
+      assert(new URL2(""));
+    } catch (error3) {
+      useNativeURL = error3.code === "ERR_INVALID_URL";
+    }
+    var preservedUrlFields = [
+      "auth",
+      "host",
+      "hostname",
+      "href",
+      "path",
+      "pathname",
+      "port",
+      "protocol",
+      "query",
+      "search",
+      "hash"
+    ];
+    var events = ["abort", "aborted", "connect", "error", "socket", "timeout"];
+    var eventHandlers = /* @__PURE__ */ Object.create(null);
+    events.forEach(function(event) {
+      eventHandlers[event] = function(arg1, arg2, arg3) {
+        this._redirectable.emit(event, arg1, arg2, arg3);
+      };
+    });
+    var InvalidUrlError = createErrorType(
+      "ERR_INVALID_URL",
+      "Invalid URL",
+      TypeError
+    );
+    var RedirectionError = createErrorType(
+      "ERR_FR_REDIRECTION_FAILURE",
+      "Redirected request failed"
+    );
+    var TooManyRedirectsError = createErrorType(
+      "ERR_FR_TOO_MANY_REDIRECTS",
+      "Maximum number of redirects exceeded",
+      RedirectionError
+    );
+    var MaxBodyLengthExceededError = createErrorType(
+      "ERR_FR_MAX_BODY_LENGTH_EXCEEDED",
+      "Request body larger than maxBodyLength limit"
+    );
+    var WriteAfterEndError = createErrorType(
+      "ERR_STREAM_WRITE_AFTER_END",
+      "write after end"
+    );
+    var destroy = Writable.prototype.destroy || noop3;
+    function RedirectableRequest(options, responseCallback) {
+      Writable.call(this);
+      this._sanitizeOptions(options);
+      this._options = options;
+      this._ended = false;
+      this._ending = false;
+      this._redirectCount = 0;
+      this._redirects = [];
+      this._requestBodyLength = 0;
+      this._requestBodyBuffers = [];
+      if (responseCallback) {
+        this.on("response", responseCallback);
       }
-      let verifiedPermissions;
-      if (blobSASSignatureValues.permissions) {
-        if (blobSASSignatureValues.blobName) {
-          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        } else {
-          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+      var self2 = this;
+      this._onNativeResponse = function(response) {
+        try {
+          self2._processResponse(response);
+        } catch (cause) {
+          self2.emit("error", cause instanceof RedirectionError ? cause : new RedirectionError({ cause }));
         }
-      }
-      const stringToSign = [
-        verifiedPermissions ? verifiedPermissions : "",
-        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
-        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
-        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
-        userDelegationKeyCredential.userDelegationKey.signedObjectId,
-        userDelegationKeyCredential.userDelegationKey.signedTenantId,
-        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedService,
-        userDelegationKeyCredential.userDelegationKey.signedVersion,
-        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
-        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
-        blobSASSignatureValues.version,
-        resource,
-        timestamp2,
-        blobSASSignatureValues.cacheControl,
-        blobSASSignatureValues.contentDisposition,
-        blobSASSignatureValues.contentEncoding,
-        blobSASSignatureValues.contentLanguage,
-        blobSASSignatureValues.contentType
-      ].join("\n");
-      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey),
-        stringToSign
       };
+      this._performRequest();
     }
-    function generateBlobSASQueryParametersUDK20200210(blobSASSignatureValues, userDelegationKeyCredential) {
-      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
-      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
-        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
+    RedirectableRequest.prototype = Object.create(Writable.prototype);
+    RedirectableRequest.prototype.abort = function() {
+      destroyRequest(this._currentRequest);
+      this._currentRequest.abort();
+      this.emit("abort");
+    };
+    RedirectableRequest.prototype.destroy = function(error3) {
+      destroyRequest(this._currentRequest, error3);
+      destroy.call(this, error3);
+      return this;
+    };
+    RedirectableRequest.prototype.write = function(data, encoding, callback) {
+      if (this._ending) {
+        throw new WriteAfterEndError();
       }
-      let resource = "c";
-      let timestamp2 = blobSASSignatureValues.snapshotTime;
-      if (blobSASSignatureValues.blobName) {
-        resource = "b";
-        if (blobSASSignatureValues.snapshotTime) {
-          resource = "bs";
-        } else if (blobSASSignatureValues.versionId) {
-          resource = "bv";
-          timestamp2 = blobSASSignatureValues.versionId;
-        }
+      if (!isString(data) && !isBuffer(data)) {
+        throw new TypeError("data should be a string, Buffer or Uint8Array");
       }
-      let verifiedPermissions;
-      if (blobSASSignatureValues.permissions) {
-        if (blobSASSignatureValues.blobName) {
-          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        } else {
-          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+      if (isFunction(encoding)) {
+        callback = encoding;
+        encoding = null;
+      }
+      if (data.length === 0) {
+        if (callback) {
+          callback();
         }
+        return;
       }
-      const stringToSign = [
-        verifiedPermissions ? verifiedPermissions : "",
-        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
-        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
-        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
-        userDelegationKeyCredential.userDelegationKey.signedObjectId,
-        userDelegationKeyCredential.userDelegationKey.signedTenantId,
-        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedService,
-        userDelegationKeyCredential.userDelegationKey.signedVersion,
-        blobSASSignatureValues.preauthorizedAgentObjectId,
-        void 0,
-        // agentObjectId
-        blobSASSignatureValues.correlationId,
-        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
-        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
-        blobSASSignatureValues.version,
-        resource,
-        timestamp2,
-        blobSASSignatureValues.cacheControl,
-        blobSASSignatureValues.contentDisposition,
-        blobSASSignatureValues.contentEncoding,
-        blobSASSignatureValues.contentLanguage,
-        blobSASSignatureValues.contentType
-      ].join("\n");
-      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId),
-        stringToSign
-      };
-    }
-    function generateBlobSASQueryParametersUDK20201206(blobSASSignatureValues, userDelegationKeyCredential) {
-      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
-      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
-        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
+      if (this._requestBodyLength + data.length <= this._options.maxBodyLength) {
+        this._requestBodyLength += data.length;
+        this._requestBodyBuffers.push({ data, encoding });
+        this._currentRequest.write(data, encoding, callback);
+      } else {
+        this.emit("error", new MaxBodyLengthExceededError());
+        this.abort();
       }
-      let resource = "c";
-      let timestamp2 = blobSASSignatureValues.snapshotTime;
-      if (blobSASSignatureValues.blobName) {
-        resource = "b";
-        if (blobSASSignatureValues.snapshotTime) {
-          resource = "bs";
-        } else if (blobSASSignatureValues.versionId) {
-          resource = "bv";
-          timestamp2 = blobSASSignatureValues.versionId;
-        }
+    };
+    RedirectableRequest.prototype.end = function(data, encoding, callback) {
+      if (isFunction(data)) {
+        callback = data;
+        data = encoding = null;
+      } else if (isFunction(encoding)) {
+        callback = encoding;
+        encoding = null;
       }
-      let verifiedPermissions;
-      if (blobSASSignatureValues.permissions) {
-        if (blobSASSignatureValues.blobName) {
-          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        } else {
-          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        }
+      if (!data) {
+        this._ended = this._ending = true;
+        this._currentRequest.end(null, null, callback);
+      } else {
+        var self2 = this;
+        var currentRequest = this._currentRequest;
+        this.write(data, encoding, function() {
+          self2._ended = true;
+          currentRequest.end(null, null, callback);
+        });
+        this._ending = true;
       }
-      const stringToSign = [
-        verifiedPermissions ? verifiedPermissions : "",
-        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
-        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
-        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
-        userDelegationKeyCredential.userDelegationKey.signedObjectId,
-        userDelegationKeyCredential.userDelegationKey.signedTenantId,
-        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedService,
-        userDelegationKeyCredential.userDelegationKey.signedVersion,
-        blobSASSignatureValues.preauthorizedAgentObjectId,
-        void 0,
-        // agentObjectId
-        blobSASSignatureValues.correlationId,
-        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
-        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
-        blobSASSignatureValues.version,
-        resource,
-        timestamp2,
-        blobSASSignatureValues.encryptionScope,
-        blobSASSignatureValues.cacheControl,
-        blobSASSignatureValues.contentDisposition,
-        blobSASSignatureValues.contentEncoding,
-        blobSASSignatureValues.contentLanguage,
-        blobSASSignatureValues.contentType
-      ].join("\n");
-      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId, blobSASSignatureValues.encryptionScope),
-        stringToSign
-      };
-    }
-    function generateBlobSASQueryParametersUDK20250705(blobSASSignatureValues, userDelegationKeyCredential) {
-      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
-      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
-        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
+    };
+    RedirectableRequest.prototype.setHeader = function(name, value) {
+      this._options.headers[name] = value;
+      this._currentRequest.setHeader(name, value);
+    };
+    RedirectableRequest.prototype.removeHeader = function(name) {
+      delete this._options.headers[name];
+      this._currentRequest.removeHeader(name);
+    };
+    RedirectableRequest.prototype.setTimeout = function(msecs, callback) {
+      var self2 = this;
+      function destroyOnTimeout(socket) {
+        socket.setTimeout(msecs);
+        socket.removeListener("timeout", socket.destroy);
+        socket.addListener("timeout", socket.destroy);
       }
-      let resource = "c";
-      let timestamp2 = blobSASSignatureValues.snapshotTime;
-      if (blobSASSignatureValues.blobName) {
-        resource = "b";
-        if (blobSASSignatureValues.snapshotTime) {
-          resource = "bs";
-        } else if (blobSASSignatureValues.versionId) {
-          resource = "bv";
-          timestamp2 = blobSASSignatureValues.versionId;
+      function startTimer(socket) {
+        if (self2._timeout) {
+          clearTimeout(self2._timeout);
         }
+        self2._timeout = setTimeout(function() {
+          self2.emit("timeout");
+          clearTimer();
+        }, msecs);
+        destroyOnTimeout(socket);
       }
-      let verifiedPermissions;
-      if (blobSASSignatureValues.permissions) {
-        if (blobSASSignatureValues.blobName) {
-          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        } else {
-          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+      function clearTimer() {
+        if (self2._timeout) {
+          clearTimeout(self2._timeout);
+          self2._timeout = null;
+        }
+        self2.removeListener("abort", clearTimer);
+        self2.removeListener("error", clearTimer);
+        self2.removeListener("response", clearTimer);
+        self2.removeListener("close", clearTimer);
+        if (callback) {
+          self2.removeListener("timeout", callback);
+        }
+        if (!self2.socket) {
+          self2._currentRequest.removeListener("socket", startTimer);
         }
       }
-      const stringToSign = [
-        verifiedPermissions ? verifiedPermissions : "",
-        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
-        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
-        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
-        userDelegationKeyCredential.userDelegationKey.signedObjectId,
-        userDelegationKeyCredential.userDelegationKey.signedTenantId,
-        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedService,
-        userDelegationKeyCredential.userDelegationKey.signedVersion,
-        blobSASSignatureValues.preauthorizedAgentObjectId,
-        void 0,
-        // agentObjectId
-        blobSASSignatureValues.correlationId,
-        void 0,
-        // SignedKeyDelegatedUserTenantId, will be added in a future release.
-        void 0,
-        // SignedDelegatedUserObjectId, will be added in future release.
-        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
-        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
-        blobSASSignatureValues.version,
-        resource,
-        timestamp2,
-        blobSASSignatureValues.encryptionScope,
-        blobSASSignatureValues.cacheControl,
-        blobSASSignatureValues.contentDisposition,
-        blobSASSignatureValues.contentEncoding,
-        blobSASSignatureValues.contentLanguage,
-        blobSASSignatureValues.contentType
-      ].join("\n");
-      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId, blobSASSignatureValues.encryptionScope),
-        stringToSign
-      };
-    }
-    function getCanonicalName(accountName, containerName, blobName) {
-      const elements = [`/blob/${accountName}/${containerName}`];
-      if (blobName) {
-        elements.push(`/${blobName}`);
+      if (callback) {
+        this.on("timeout", callback);
       }
-      return elements.join("");
-    }
-    function SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues) {
-      const version = blobSASSignatureValues.version ? blobSASSignatureValues.version : constants_js_1.SERVICE_VERSION;
-      if (blobSASSignatureValues.snapshotTime && version < "2018-11-09") {
-        throw RangeError("'version' must be >= '2018-11-09' when providing 'snapshotTime'.");
+      if (this.socket) {
+        startTimer(this.socket);
+      } else {
+        this._currentRequest.once("socket", startTimer);
       }
-      if (blobSASSignatureValues.blobName === void 0 && blobSASSignatureValues.snapshotTime) {
-        throw RangeError("Must provide 'blobName' when providing 'snapshotTime'.");
+      this.on("socket", destroyOnTimeout);
+      this.on("abort", clearTimer);
+      this.on("error", clearTimer);
+      this.on("response", clearTimer);
+      this.on("close", clearTimer);
+      return this;
+    };
+    [
+      "flushHeaders",
+      "getHeader",
+      "setNoDelay",
+      "setSocketKeepAlive"
+    ].forEach(function(method) {
+      RedirectableRequest.prototype[method] = function(a, b) {
+        return this._currentRequest[method](a, b);
+      };
+    });
+    ["aborted", "connection", "socket"].forEach(function(property) {
+      Object.defineProperty(RedirectableRequest.prototype, property, {
+        get: function() {
+          return this._currentRequest[property];
+        }
+      });
+    });
+    RedirectableRequest.prototype._sanitizeOptions = function(options) {
+      if (!options.headers) {
+        options.headers = {};
       }
-      if (blobSASSignatureValues.versionId && version < "2019-10-10") {
-        throw RangeError("'version' must be >= '2019-10-10' when providing 'versionId'.");
+      if (options.host) {
+        if (!options.hostname) {
+          options.hostname = options.host;
+        }
+        delete options.host;
       }
-      if (blobSASSignatureValues.blobName === void 0 && blobSASSignatureValues.versionId) {
-        throw RangeError("Must provide 'blobName' when providing 'versionId'.");
+      if (!options.pathname && options.path) {
+        var searchPos = options.path.indexOf("?");
+        if (searchPos < 0) {
+          options.pathname = options.path;
+        } else {
+          options.pathname = options.path.substring(0, searchPos);
+          options.search = options.path.substring(searchPos);
+        }
       }
-      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.setImmutabilityPolicy && version < "2020-08-04") {
-        throw RangeError("'version' must be >= '2020-08-04' when provided 'i' permission.");
+    };
+    RedirectableRequest.prototype._performRequest = function() {
+      var protocol = this._options.protocol;
+      var nativeProtocol = this._options.nativeProtocols[protocol];
+      if (!nativeProtocol) {
+        throw new TypeError("Unsupported protocol " + protocol);
       }
-      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.deleteVersion && version < "2019-10-10") {
-        throw RangeError("'version' must be >= '2019-10-10' when providing 'x' permission.");
+      if (this._options.agents) {
+        var scheme = protocol.slice(0, -1);
+        this._options.agent = this._options.agents[scheme];
       }
-      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.permanentDelete && version < "2019-10-10") {
-        throw RangeError("'version' must be >= '2019-10-10' when providing 'y' permission.");
+      var request2 = this._currentRequest = nativeProtocol.request(this._options, this._onNativeResponse);
+      request2._redirectable = this;
+      for (var event of events) {
+        request2.on(event, eventHandlers[event]);
       }
-      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.tag && version < "2019-12-12") {
-        throw RangeError("'version' must be >= '2019-12-12' when providing 't' permission.");
+      this._currentUrl = /^\//.test(this._options.path) ? url2.format(this._options) : (
+        // When making a request to a proxy, […]
+        // a client MUST send the target URI in absolute-form […].
+        this._options.path
+      );
+      if (this._isRedirect) {
+        var i = 0;
+        var self2 = this;
+        var buffers = this._requestBodyBuffers;
+        (function writeNext(error3) {
+          if (request2 === self2._currentRequest) {
+            if (error3) {
+              self2.emit("error", error3);
+            } else if (i < buffers.length) {
+              var buffer = buffers[i++];
+              if (!request2.finished) {
+                request2.write(buffer.data, buffer.encoding, writeNext);
+              }
+            } else if (self2._ended) {
+              request2.end();
+            }
+          }
+        })();
       }
-      if (version < "2020-02-10" && blobSASSignatureValues.permissions && (blobSASSignatureValues.permissions.move || blobSASSignatureValues.permissions.execute)) {
-        throw RangeError("'version' must be >= '2020-02-10' when providing the 'm' or 'e' permission.");
+    };
+    RedirectableRequest.prototype._processResponse = function(response) {
+      var statusCode = response.statusCode;
+      if (this._options.trackRedirects) {
+        this._redirects.push({
+          url: this._currentUrl,
+          headers: response.headers,
+          statusCode
+        });
       }
-      if (version < "2021-04-10" && blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.filterByTags) {
-        throw RangeError("'version' must be >= '2021-04-10' when providing the 'f' permission.");
+      var location = response.headers.location;
+      if (!location || this._options.followRedirects === false || statusCode < 300 || statusCode >= 400) {
+        response.responseUrl = this._currentUrl;
+        response.redirects = this._redirects;
+        this.emit("response", response);
+        this._requestBodyBuffers = [];
+        return;
       }
-      if (version < "2020-02-10" && (blobSASSignatureValues.preauthorizedAgentObjectId || blobSASSignatureValues.correlationId)) {
-        throw RangeError("'version' must be >= '2020-02-10' when providing 'preauthorizedAgentObjectId' or 'correlationId'.");
+      destroyRequest(this._currentRequest);
+      response.destroy();
+      if (++this._redirectCount > this._options.maxRedirects) {
+        throw new TooManyRedirectsError();
       }
-      if (blobSASSignatureValues.encryptionScope && version < "2020-12-06") {
-        throw RangeError("'version' must be >= '2020-12-06' when provided 'encryptionScope' in SAS.");
+      var requestHeaders;
+      var beforeRedirect = this._options.beforeRedirect;
+      if (beforeRedirect) {
+        requestHeaders = Object.assign({
+          // The Host header was set by nativeProtocol.request
+          Host: response.req.getHeader("host")
+        }, this._options.headers);
       }
-      blobSASSignatureValues.version = version;
-      return blobSASSignatureValues;
-    }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/BlobLeaseClient.js
-var require_BlobLeaseClient = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BlobLeaseClient.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobLeaseClient = void 0;
-    var core_util_1 = require_commonjs4();
-    var constants_js_1 = require_constants15();
-    var tracing_js_1 = require_tracing();
-    var utils_common_js_1 = require_utils_common();
-    var BlobLeaseClient = class {
-      _leaseId;
-      _url;
-      _containerOrBlobOperation;
-      _isContainer;
-      /**
-       * Gets the lease Id.
-       *
-       * @readonly
-       */
-      get leaseId() {
-        return this._leaseId;
+      var method = this._options.method;
+      if ((statusCode === 301 || statusCode === 302) && this._options.method === "POST" || // RFC7231§6.4.4: The 303 (See Other) status code indicates that
+      // the server is redirecting the user agent to a different resource […]
+      // A user agent can perform a retrieval request targeting that URI
+      // (a GET or HEAD request if using HTTP) […]
+      statusCode === 303 && !/^(?:GET|HEAD)$/.test(this._options.method)) {
+        this._options.method = "GET";
+        this._requestBodyBuffers = [];
+        removeMatchingHeaders(/^content-/i, this._options.headers);
       }
-      /**
-       * Gets the url.
-       *
-       * @readonly
-       */
-      get url() {
-        return this._url;
+      var currentHostHeader = removeMatchingHeaders(/^host$/i, this._options.headers);
+      var currentUrlParts = parseUrl2(this._currentUrl);
+      var currentHost = currentHostHeader || currentUrlParts.host;
+      var currentUrl = /^\w+:/.test(location) ? this._currentUrl : url2.format(Object.assign(currentUrlParts, { host: currentHost }));
+      var redirectUrl = resolveUrl(location, currentUrl);
+      debug5("redirecting to", redirectUrl.href);
+      this._isRedirect = true;
+      spreadUrlObject(redirectUrl, this._options);
+      if (redirectUrl.protocol !== currentUrlParts.protocol && redirectUrl.protocol !== "https:" || redirectUrl.host !== currentHost && !isSubdomain(redirectUrl.host, currentHost)) {
+        removeMatchingHeaders(/^(?:(?:proxy-)?authorization|cookie)$/i, this._options.headers);
       }
-      /**
-       * Creates an instance of BlobLeaseClient.
-       * @param client - The client to make the lease operation requests.
-       * @param leaseId - Initial proposed lease id.
-       */
-      constructor(client, leaseId) {
-        const clientContext = client.storageClientContext;
-        this._url = client.url;
-        if (client.name === void 0) {
-          this._isContainer = true;
-          this._containerOrBlobOperation = clientContext.container;
-        } else {
-          this._isContainer = false;
-          this._containerOrBlobOperation = clientContext.blob;
-        }
-        if (!leaseId) {
-          leaseId = (0, core_util_1.randomUUID)();
+      if (isFunction(beforeRedirect)) {
+        var responseDetails = {
+          headers: response.headers,
+          statusCode
+        };
+        var requestDetails = {
+          url: currentUrl,
+          method,
+          headers: requestHeaders
+        };
+        beforeRedirect(this._options, responseDetails, requestDetails);
+        this._sanitizeOptions(this._options);
+      }
+      this._performRequest();
+    };
+    function wrap(protocols) {
+      var exports3 = {
+        maxRedirects: 21,
+        maxBodyLength: 10 * 1024 * 1024
+      };
+      var nativeProtocols = {};
+      Object.keys(protocols).forEach(function(scheme) {
+        var protocol = scheme + ":";
+        var nativeProtocol = nativeProtocols[protocol] = protocols[scheme];
+        var wrappedProtocol = exports3[scheme] = Object.create(nativeProtocol);
+        function request2(input, options, callback) {
+          if (isURL(input)) {
+            input = spreadUrlObject(input);
+          } else if (isString(input)) {
+            input = spreadUrlObject(parseUrl2(input));
+          } else {
+            callback = options;
+            options = validateUrl(input);
+            input = { protocol };
+          }
+          if (isFunction(options)) {
+            callback = options;
+            options = null;
+          }
+          options = Object.assign({
+            maxRedirects: exports3.maxRedirects,
+            maxBodyLength: exports3.maxBodyLength
+          }, input, options);
+          options.nativeProtocols = nativeProtocols;
+          if (!isString(options.host) && !isString(options.hostname)) {
+            options.hostname = "::1";
+          }
+          assert.equal(options.protocol, protocol, "protocol mismatch");
+          debug5("options", options);
+          return new RedirectableRequest(options, callback);
         }
-        this._leaseId = leaseId;
-      }
-      /**
-       * Establishes and manages a lock on a container for delete operations, or on a blob
-       * for write and delete operations.
-       * The lock duration can be 15 to 60 seconds, or can be infinite.
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
-       * and
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
-       *
-       * @param duration - Must be between 15 to 60 seconds, or infinite (-1)
-       * @param options - option to configure lease management operations.
-       * @returns Response data for acquire lease operation.
-       */
-      async acquireLease(duration, options = {}) {
-        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
-          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
+        function get(input, options, callback) {
+          var wrappedRequest = wrappedProtocol.request(input, options, callback);
+          wrappedRequest.end();
+          return wrappedRequest;
         }
-        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-acquireLease", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.acquireLease({
-            abortSignal: options.abortSignal,
-            duration,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            proposedLeaseId: this._leaseId,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
+        Object.defineProperties(wrappedProtocol, {
+          request: { value: request2, configurable: true, enumerable: true, writable: true },
+          get: { value: get, configurable: true, enumerable: true, writable: true }
         });
-      }
-      /**
-       * To change the ID of the lease.
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
-       * and
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
-       *
-       * @param proposedLeaseId - the proposed new lease Id.
-       * @param options - option to configure lease management operations.
-       * @returns Response data for change lease operation.
-       */
-      async changeLease(proposedLeaseId, options = {}) {
-        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
-          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
+      });
+      return exports3;
+    }
+    function noop3() {
+    }
+    function parseUrl2(input) {
+      var parsed;
+      if (useNativeURL) {
+        parsed = new URL2(input);
+      } else {
+        parsed = validateUrl(url2.parse(input));
+        if (!isString(parsed.protocol)) {
+          throw new InvalidUrlError({ input });
         }
-        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-changeLease", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.changeLease(this._leaseId, proposedLeaseId, {
-            abortSignal: options.abortSignal,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          this._leaseId = proposedLeaseId;
-          return response;
-        });
       }
-      /**
-       * To free the lease if it is no longer needed so that another client may
-       * immediately acquire a lease against the container or the blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
-       * and
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
-       *
-       * @param options - option to configure lease management operations.
-       * @returns Response data for release lease operation.
-       */
-      async releaseLease(options = {}) {
-        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
-          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
+      return parsed;
+    }
+    function resolveUrl(relative2, base) {
+      return useNativeURL ? new URL2(relative2, base) : parseUrl2(url2.resolve(base, relative2));
+    }
+    function validateUrl(input) {
+      if (/^\[/.test(input.hostname) && !/^\[[:0-9a-f]+\]$/i.test(input.hostname)) {
+        throw new InvalidUrlError({ input: input.href || input });
+      }
+      if (/^\[/.test(input.host) && !/^\[[:0-9a-f]+\](:\d+)?$/i.test(input.host)) {
+        throw new InvalidUrlError({ input: input.href || input });
+      }
+      return input;
+    }
+    function spreadUrlObject(urlObject, target) {
+      var spread = target || {};
+      for (var key of preservedUrlFields) {
+        spread[key] = urlObject[key];
+      }
+      if (spread.hostname.startsWith("[")) {
+        spread.hostname = spread.hostname.slice(1, -1);
+      }
+      if (spread.port !== "") {
+        spread.port = Number(spread.port);
+      }
+      spread.path = spread.search ? spread.pathname + spread.search : spread.pathname;
+      return spread;
+    }
+    function removeMatchingHeaders(regex, headers) {
+      var lastValue;
+      for (var header in headers) {
+        if (regex.test(header)) {
+          lastValue = headers[header];
+          delete headers[header];
         }
-        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-releaseLease", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.releaseLease(this._leaseId, {
-            abortSignal: options.abortSignal,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
       }
-      /**
-       * To renew the lease.
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
-       * and
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
-       *
-       * @param options - Optional option to configure lease management operations.
-       * @returns Response data for renew lease operation.
-       */
-      async renewLease(options = {}) {
-        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
-          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
+      return lastValue === null || typeof lastValue === "undefined" ? void 0 : String(lastValue).trim();
+    }
+    function createErrorType(code, message, baseClass) {
+      function CustomError(properties) {
+        if (isFunction(Error.captureStackTrace)) {
+          Error.captureStackTrace(this, this.constructor);
         }
-        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-renewLease", options, async (updatedOptions) => {
-          return this._containerOrBlobOperation.renewLease(this._leaseId, {
-            abortSignal: options.abortSignal,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          });
-        });
+        Object.assign(this, properties || {});
+        this.code = code;
+        this.message = this.cause ? message + ": " + this.cause.message : message;
       }
-      /**
-       * To end the lease but ensure that another client cannot acquire a new lease
-       * until the current lease period has expired.
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
-       * and
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
-       *
-       * @param breakPeriod - Break period
-       * @param options - Optional options to configure lease management operations.
-       * @returns Response data for break lease operation.
-       */
-      async breakLease(breakPeriod, options = {}) {
-        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
-          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
+      CustomError.prototype = new (baseClass || Error)();
+      Object.defineProperties(CustomError.prototype, {
+        constructor: {
+          value: CustomError,
+          enumerable: false
+        },
+        name: {
+          value: "Error [" + code + "]",
+          enumerable: false
         }
-        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-breakLease", options, async (updatedOptions) => {
-          const operationOptions = {
-            abortSignal: options.abortSignal,
-            breakPeriod,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          };
-          return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.breakLease(operationOptions));
-        });
+      });
+      return CustomError;
+    }
+    function destroyRequest(request2, error3) {
+      for (var event of events) {
+        request2.removeListener(event, eventHandlers[event]);
       }
-    };
-    exports2.BlobLeaseClient = BlobLeaseClient;
+      request2.on("error", noop3);
+      request2.destroy(error3);
+    }
+    function isSubdomain(subdomain, domain) {
+      assert(isString(subdomain) && isString(domain));
+      var dot = subdomain.length - domain.length - 1;
+      return dot > 0 && subdomain[dot] === "." && subdomain.endsWith(domain);
+    }
+    function isString(value) {
+      return typeof value === "string" || value instanceof String;
+    }
+    function isFunction(value) {
+      return typeof value === "function";
+    }
+    function isBuffer(value) {
+      return typeof value === "object" && "length" in value;
+    }
+    function isURL(value) {
+      return URL2 && value instanceof URL2;
+    }
+    module2.exports = wrap({ http, https: https2 });
+    module2.exports.wrap = wrap;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/utils/RetriableReadableStream.js
-var require_RetriableReadableStream = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/RetriableReadableStream.js"(exports2) {
+// node_modules/@actions/artifact/lib/internal/shared/config.js
+var require_config2 = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/shared/config.js"(exports2) {
     "use strict";
+    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
+      return mod && mod.__esModule ? mod : { "default": mod };
+    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.RetriableReadableStream = void 0;
-    var abort_controller_1 = require_commonjs11();
-    var node_stream_1 = require("node:stream");
-    var RetriableReadableStream = class extends node_stream_1.Readable {
-      start;
-      offset;
-      end;
-      getter;
-      source;
-      retries = 0;
-      maxRetryRequests;
-      onProgress;
-      options;
-      /**
-       * Creates an instance of RetriableReadableStream.
-       *
-       * @param source - The current ReadableStream returned from getter
-       * @param getter - A method calling downloading request returning
-       *                                      a new ReadableStream from specified offset
-       * @param offset - Offset position in original data source to read
-       * @param count - How much data in original data source to read
-       * @param options -
-       */
-      constructor(source, getter, offset, count, options = {}) {
-        super({ highWaterMark: options.highWaterMark });
-        this.getter = getter;
-        this.source = source;
-        this.start = offset;
-        this.offset = offset;
-        this.end = offset + count - 1;
-        this.maxRetryRequests = options.maxRetryRequests && options.maxRetryRequests >= 0 ? options.maxRetryRequests : 0;
-        this.onProgress = options.onProgress;
-        this.options = options;
-        this.setSourceEventHandlers();
+    exports2.getMaxArtifactListCount = exports2.getUploadChunkTimeout = exports2.getConcurrency = exports2.getGitHubWorkspaceDir = exports2.isGhes = exports2.getResultsServiceUrl = exports2.getRuntimeToken = exports2.getUploadChunkSize = void 0;
+    var os_1 = __importDefault2(require("os"));
+    var core_1 = require_core();
+    function getUploadChunkSize() {
+      return 8 * 1024 * 1024;
+    }
+    exports2.getUploadChunkSize = getUploadChunkSize;
+    function getRuntimeToken() {
+      const token = process.env["ACTIONS_RUNTIME_TOKEN"];
+      if (!token) {
+        throw new Error("Unable to get the ACTIONS_RUNTIME_TOKEN env variable");
       }
-      _read() {
-        this.source.resume();
+      return token;
+    }
+    exports2.getRuntimeToken = getRuntimeToken;
+    function getResultsServiceUrl() {
+      const resultsUrl = process.env["ACTIONS_RESULTS_URL"];
+      if (!resultsUrl) {
+        throw new Error("Unable to get the ACTIONS_RESULTS_URL env variable");
       }
-      setSourceEventHandlers() {
-        this.source.on("data", this.sourceDataHandler);
-        this.source.on("end", this.sourceErrorOrEndHandler);
-        this.source.on("error", this.sourceErrorOrEndHandler);
-        this.source.on("aborted", this.sourceAbortedHandler);
+      return new URL(resultsUrl).origin;
+    }
+    exports2.getResultsServiceUrl = getResultsServiceUrl;
+    function isGhes() {
+      const ghUrl = new URL(process.env["GITHUB_SERVER_URL"] || "https://github.com");
+      const hostname = ghUrl.hostname.trimEnd().toUpperCase();
+      const isGitHubHost = hostname === "GITHUB.COM";
+      const isGheHost = hostname.endsWith(".GHE.COM");
+      const isLocalHost = hostname.endsWith(".LOCALHOST");
+      return !isGitHubHost && !isGheHost && !isLocalHost;
+    }
+    exports2.isGhes = isGhes;
+    function getGitHubWorkspaceDir() {
+      const ghWorkspaceDir = process.env["GITHUB_WORKSPACE"];
+      if (!ghWorkspaceDir) {
+        throw new Error("Unable to get the GITHUB_WORKSPACE env variable");
       }
-      removeSourceEventHandlers() {
-        this.source.removeListener("data", this.sourceDataHandler);
-        this.source.removeListener("end", this.sourceErrorOrEndHandler);
-        this.source.removeListener("error", this.sourceErrorOrEndHandler);
-        this.source.removeListener("aborted", this.sourceAbortedHandler);
+      return ghWorkspaceDir;
+    }
+    exports2.getGitHubWorkspaceDir = getGitHubWorkspaceDir;
+    function getConcurrency() {
+      const numCPUs = os_1.default.cpus().length;
+      let concurrencyCap = 32;
+      if (numCPUs > 4) {
+        const concurrency = 16 * numCPUs;
+        concurrencyCap = concurrency > 300 ? 300 : concurrency;
       }
-      sourceDataHandler = (data) => {
-        if (this.options.doInjectErrorOnce) {
-          this.options.doInjectErrorOnce = void 0;
-          this.source.pause();
-          this.sourceErrorOrEndHandler();
-          this.source.destroy();
-          return;
-        }
-        this.offset += data.length;
-        if (this.onProgress) {
-          this.onProgress({ loadedBytes: this.offset - this.start });
-        }
-        if (!this.push(data)) {
-          this.source.pause();
-        }
-      };
-      sourceAbortedHandler = () => {
-        const abortError = new abort_controller_1.AbortError("The operation was aborted.");
-        this.destroy(abortError);
-      };
-      sourceErrorOrEndHandler = (err) => {
-        if (err && err.name === "AbortError") {
-          this.destroy(err);
-          return;
+      const concurrencyOverride = process.env["ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY"];
+      if (concurrencyOverride) {
+        const concurrency = parseInt(concurrencyOverride);
+        if (isNaN(concurrency) || concurrency < 1) {
+          throw new Error("Invalid value set for ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY env variable");
         }
-        this.removeSourceEventHandlers();
-        if (this.offset - 1 === this.end) {
-          this.push(null);
-        } else if (this.offset <= this.end) {
-          if (this.retries < this.maxRetryRequests) {
-            this.retries += 1;
-            this.getter(this.offset).then((newSource) => {
-              this.source = newSource;
-              this.setSourceEventHandlers();
-              return;
-            }).catch((error3) => {
-              this.destroy(error3);
-            });
-          } else {
-            this.destroy(new Error(`Data corruption failure: received less data than required and reached maxRetires limitation. Received data offset: ${this.offset - 1}, data needed offset: ${this.end}, retries: ${this.retries}, max retries: ${this.maxRetryRequests}`));
-          }
-        } else {
-          this.destroy(new Error(`Data corruption failure: Received more data than original request, data needed offset is ${this.end}, received offset: ${this.offset - 1}`));
+        if (concurrency < concurrencyCap) {
+          (0, core_1.info)(`Set concurrency based on the value set in ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY.`);
+          return concurrency;
         }
-      };
-      _destroy(error3, callback) {
-        this.removeSourceEventHandlers();
-        this.source.destroy();
-        callback(error3 === null ? void 0 : error3);
+        (0, core_1.info)(`ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY is higher than the cap of ${concurrencyCap} based on the number of cpus. Set it to the maximum value allowed.`);
+        return concurrencyCap;
       }
-    };
-    exports2.RetriableReadableStream = RetriableReadableStream;
+      return 5;
+    }
+    exports2.getConcurrency = getConcurrency;
+    function getUploadChunkTimeout() {
+      const timeoutVar = process.env["ACTIONS_ARTIFACT_UPLOAD_TIMEOUT_MS"];
+      if (!timeoutVar) {
+        return 3e5;
+      }
+      const timeout = parseInt(timeoutVar);
+      if (isNaN(timeout)) {
+        throw new Error("Invalid value set for ACTIONS_ARTIFACT_UPLOAD_TIMEOUT_MS env variable");
+      }
+      return timeout;
+    }
+    exports2.getUploadChunkTimeout = getUploadChunkTimeout;
+    function getMaxArtifactListCount() {
+      const maxCountVar = process.env["ACTIONS_ARTIFACT_MAX_ARTIFACT_COUNT"] || "1000";
+      const maxCount = parseInt(maxCountVar);
+      if (isNaN(maxCount) || maxCount < 1) {
+        throw new Error("Invalid value set for ACTIONS_ARTIFACT_MAX_ARTIFACT_COUNT env variable");
+      }
+      return maxCount;
+    }
+    exports2.getMaxArtifactListCount = getMaxArtifactListCount;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/BlobDownloadResponse.js
-var require_BlobDownloadResponse = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BlobDownloadResponse.js"(exports2) {
+// node_modules/@actions/artifact/lib/generated/google/protobuf/timestamp.js
+var require_timestamp = __commonJS({
+  "node_modules/@actions/artifact/lib/generated/google/protobuf/timestamp.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobDownloadResponse = void 0;
-    var core_util_1 = require_commonjs4();
-    var RetriableReadableStream_js_1 = require_RetriableReadableStream();
-    var BlobDownloadResponse = class {
-      /**
-       * Indicates that the service supports
-       * requests for partial file content.
-       *
-       * @readonly
-       */
-      get acceptRanges() {
-        return this.originalResponse.acceptRanges;
-      }
-      /**
-       * Returns if it was previously specified
-       * for the file.
-       *
-       * @readonly
-       */
-      get cacheControl() {
-        return this.originalResponse.cacheControl;
-      }
-      /**
-       * Returns the value that was specified
-       * for the 'x-ms-content-disposition' header and specifies how to process the
-       * response.
-       *
-       * @readonly
-       */
-      get contentDisposition() {
-        return this.originalResponse.contentDisposition;
-      }
-      /**
-       * Returns the value that was specified
-       * for the Content-Encoding request header.
-       *
-       * @readonly
-       */
-      get contentEncoding() {
-        return this.originalResponse.contentEncoding;
-      }
-      /**
-       * Returns the value that was specified
-       * for the Content-Language request header.
-       *
-       * @readonly
-       */
-      get contentLanguage() {
-        return this.originalResponse.contentLanguage;
-      }
-      /**
-       * The current sequence number for a
-       * page blob. This header is not returned for block blobs or append blobs.
-       *
-       * @readonly
-       */
-      get blobSequenceNumber() {
-        return this.originalResponse.blobSequenceNumber;
-      }
-      /**
-       * The blob's type. Possible values include:
-       * 'BlockBlob', 'PageBlob', 'AppendBlob'.
-       *
-       * @readonly
-       */
-      get blobType() {
-        return this.originalResponse.blobType;
-      }
-      /**
-       * The number of bytes present in the
-       * response body.
-       *
-       * @readonly
-       */
-      get contentLength() {
-        return this.originalResponse.contentLength;
+    exports2.Timestamp = void 0;
+    var runtime_1 = require_commonjs16();
+    var runtime_2 = require_commonjs16();
+    var runtime_3 = require_commonjs16();
+    var runtime_4 = require_commonjs16();
+    var runtime_5 = require_commonjs16();
+    var runtime_6 = require_commonjs16();
+    var runtime_7 = require_commonjs16();
+    var Timestamp$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.Timestamp", [
+          {
+            no: 1,
+            name: "seconds",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          },
+          {
+            no: 2,
+            name: "nanos",
+            kind: "scalar",
+            T: 5
+            /*ScalarType.INT32*/
+          }
+        ]);
       }
       /**
-       * If the file has an MD5 hash and the
-       * request is to read the full file, this response header is returned so that
-       * the client can check for message content integrity. If the request is to
-       * read a specified range and the 'x-ms-range-get-content-md5' is set to
-       * true, then the request returns an MD5 hash for the range, as long as the
-       * range size is less than or equal to 4 MB. If neither of these sets of
-       * conditions is true, then no value is returned for the 'Content-MD5'
-       * header.
-       *
-       * @readonly
+       * Creates a new `Timestamp` for the current time.
        */
-      get contentMD5() {
-        return this.originalResponse.contentMD5;
+      now() {
+        const msg = this.create();
+        const ms = Date.now();
+        msg.seconds = runtime_6.PbLong.from(Math.floor(ms / 1e3)).toString();
+        msg.nanos = ms % 1e3 * 1e6;
+        return msg;
       }
       /**
-       * Indicates the range of bytes returned if
-       * the client requested a subset of the file by setting the Range request
-       * header.
-       *
-       * @readonly
+       * Converts a `Timestamp` to a JavaScript Date.
        */
-      get contentRange() {
-        return this.originalResponse.contentRange;
+      toDate(message) {
+        return new Date(runtime_6.PbLong.from(message.seconds).toNumber() * 1e3 + Math.ceil(message.nanos / 1e6));
       }
       /**
-       * The content type specified for the file.
-       * The default content type is 'application/octet-stream'
-       *
-       * @readonly
+       * Converts a JavaScript Date to a `Timestamp`.
        */
-      get contentType() {
-        return this.originalResponse.contentType;
+      fromDate(date) {
+        const msg = this.create();
+        const ms = date.getTime();
+        msg.seconds = runtime_6.PbLong.from(Math.floor(ms / 1e3)).toString();
+        msg.nanos = ms % 1e3 * 1e6;
+        return msg;
       }
       /**
-       * Conclusion time of the last attempted
-       * Copy File operation where this file was the destination file. This value
-       * can specify the time of a completed, aborted, or failed copy attempt.
-       *
-       * @readonly
+       * In JSON format, the `Timestamp` type is encoded as a string
+       * in the RFC 3339 format.
        */
-      get copyCompletedOn() {
-        return this.originalResponse.copyCompletedOn;
+      internalJsonWrite(message, options) {
+        let ms = runtime_6.PbLong.from(message.seconds).toNumber() * 1e3;
+        if (ms < Date.parse("0001-01-01T00:00:00Z") || ms > Date.parse("9999-12-31T23:59:59Z"))
+          throw new Error("Unable to encode Timestamp to JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.");
+        if (message.nanos < 0)
+          throw new Error("Unable to encode invalid Timestamp to JSON. Nanos must not be negative.");
+        let z = "Z";
+        if (message.nanos > 0) {
+          let nanosStr = (message.nanos + 1e9).toString().substring(1);
+          if (nanosStr.substring(3) === "000000")
+            z = "." + nanosStr.substring(0, 3) + "Z";
+          else if (nanosStr.substring(6) === "000")
+            z = "." + nanosStr.substring(0, 6) + "Z";
+          else
+            z = "." + nanosStr + "Z";
+        }
+        return new Date(ms).toISOString().replace(".000Z", z);
       }
       /**
-       * String identifier for the last attempted Copy
-       * File operation where this file was the destination file.
-       *
-       * @readonly
+       * In JSON format, the `Timestamp` type is encoded as a string
+       * in the RFC 3339 format.
        */
-      get copyId() {
-        return this.originalResponse.copyId;
+      internalJsonRead(json2, options, target) {
+        if (typeof json2 !== "string")
+          throw new Error("Unable to parse Timestamp from JSON " + (0, runtime_5.typeofJsonValue)(json2) + ".");
+        let matches = json2.match(/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(?:Z|\.([0-9]{3,9})Z|([+-][0-9][0-9]:[0-9][0-9]))$/);
+        if (!matches)
+          throw new Error("Unable to parse Timestamp from JSON. Invalid format.");
+        let ms = Date.parse(matches[1] + "-" + matches[2] + "-" + matches[3] + "T" + matches[4] + ":" + matches[5] + ":" + matches[6] + (matches[8] ? matches[8] : "Z"));
+        if (Number.isNaN(ms))
+          throw new Error("Unable to parse Timestamp from JSON. Invalid value.");
+        if (ms < Date.parse("0001-01-01T00:00:00Z") || ms > Date.parse("9999-12-31T23:59:59Z"))
+          throw new globalThis.Error("Unable to parse Timestamp from JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.");
+        if (!target)
+          target = this.create();
+        target.seconds = runtime_6.PbLong.from(ms / 1e3).toString();
+        target.nanos = 0;
+        if (matches[7])
+          target.nanos = parseInt("1" + matches[7] + "0".repeat(9 - matches[7].length)) - 1e9;
+        return target;
       }
-      /**
-       * Contains the number of bytes copied and
-       * the total bytes in the source in the last attempted Copy File operation
-       * where this file was the destination file. Can show between 0 and
-       * Content-Length bytes copied.
-       *
-       * @readonly
-       */
-      get copyProgress() {
-        return this.originalResponse.copyProgress;
+      create(value) {
+        const message = { seconds: "0", nanos: 0 };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * URL up to 2KB in length that specifies the
-       * source file used in the last attempted Copy File operation where this file
-       * was the destination file.
-       *
-       * @readonly
-       */
-      get copySource() {
-        return this.originalResponse.copySource;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* int64 seconds */
+            1:
+              message.seconds = reader.int64().toString();
+              break;
+            case /* int32 nanos */
+            2:
+              message.nanos = reader.int32();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * State of the copy operation
-       * identified by 'x-ms-copy-id'. Possible values include: 'pending',
-       * 'success', 'aborted', 'failed'
-       *
-       * @readonly
-       */
-      get copyStatus() {
-        return this.originalResponse.copyStatus;
+      internalBinaryWrite(message, writer, options) {
+        if (message.seconds !== "0")
+          writer.tag(1, runtime_1.WireType.Varint).int64(message.seconds);
+        if (message.nanos !== 0)
+          writer.tag(2, runtime_1.WireType.Varint).int32(message.nanos);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * Only appears when
-       * x-ms-copy-status is failed or pending. Describes cause of fatal or
-       * non-fatal copy operation failure.
-       *
-       * @readonly
-       */
-      get copyStatusDescription() {
-        return this.originalResponse.copyStatusDescription;
+    };
+    exports2.Timestamp = new Timestamp$Type();
+  }
+});
+
+// node_modules/@actions/artifact/lib/generated/google/protobuf/wrappers.js
+var require_wrappers = __commonJS({
+  "node_modules/@actions/artifact/lib/generated/google/protobuf/wrappers.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BytesValue = exports2.StringValue = exports2.BoolValue = exports2.UInt32Value = exports2.Int32Value = exports2.UInt64Value = exports2.Int64Value = exports2.FloatValue = exports2.DoubleValue = void 0;
+    var runtime_1 = require_commonjs16();
+    var runtime_2 = require_commonjs16();
+    var runtime_3 = require_commonjs16();
+    var runtime_4 = require_commonjs16();
+    var runtime_5 = require_commonjs16();
+    var runtime_6 = require_commonjs16();
+    var runtime_7 = require_commonjs16();
+    var DoubleValue$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.DoubleValue", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 1
+            /*ScalarType.DOUBLE*/
+          }
+        ]);
       }
       /**
-       * When a blob is leased,
-       * specifies whether the lease is of infinite or fixed duration. Possible
-       * values include: 'infinite', 'fixed'.
-       *
-       * @readonly
+       * Encode `DoubleValue` to JSON number.
        */
-      get leaseDuration() {
-        return this.originalResponse.leaseDuration;
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.scalar(2, message.value, "value", false, true);
       }
       /**
-       * Lease state of the blob. Possible
-       * values include: 'available', 'leased', 'expired', 'breaking', 'broken'.
-       *
-       * @readonly
+       * Decode `DoubleValue` from JSON number.
        */
-      get leaseState() {
-        return this.originalResponse.leaseState;
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, 1, void 0, "value");
+        return target;
       }
-      /**
-       * The current lease status of the
-       * blob. Possible values include: 'locked', 'unlocked'.
-       *
-       * @readonly
-       */
-      get leaseStatus() {
-        return this.originalResponse.leaseStatus;
+      create(value) {
+        const message = { value: 0 };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * A UTC date/time value generated by the service that
-       * indicates the time at which the response was initiated.
-       *
-       * @readonly
-       */
-      get date() {
-        return this.originalResponse.date;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* double value */
+            1:
+              message.value = reader.double();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * The number of committed blocks
-       * present in the blob. This header is returned only for append blobs.
-       *
-       * @readonly
-       */
-      get blobCommittedBlockCount() {
-        return this.originalResponse.blobCommittedBlockCount;
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== 0)
+          writer.tag(1, runtime_3.WireType.Bit64).double(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * The ETag contains a value that you can use to
-       * perform operations conditionally, in quotes.
-       *
-       * @readonly
-       */
-      get etag() {
-        return this.originalResponse.etag;
+    };
+    exports2.DoubleValue = new DoubleValue$Type();
+    var FloatValue$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.FloatValue", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 2
+            /*ScalarType.FLOAT*/
+          }
+        ]);
       }
       /**
-       * The number of tags associated with the blob
-       *
-       * @readonly
+       * Encode `FloatValue` to JSON number.
        */
-      get tagCount() {
-        return this.originalResponse.tagCount;
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.scalar(1, message.value, "value", false, true);
       }
       /**
-       * The error code.
-       *
-       * @readonly
+       * Decode `FloatValue` from JSON number.
        */
-      get errorCode() {
-        return this.originalResponse.errorCode;
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, 1, void 0, "value");
+        return target;
       }
-      /**
-       * The value of this header is set to
-       * true if the file data and application metadata are completely encrypted
-       * using the specified algorithm. Otherwise, the value is set to false (when
-       * the file is unencrypted, or if only parts of the file/application metadata
-       * are encrypted).
-       *
-       * @readonly
-       */
-      get isServerEncrypted() {
-        return this.originalResponse.isServerEncrypted;
+      create(value) {
+        const message = { value: 0 };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * If the blob has a MD5 hash, and if
-       * request contains range header (Range or x-ms-range), this response header
-       * is returned with the value of the whole blob's MD5 value. This value may
-       * or may not be equal to the value returned in Content-MD5 header, with the
-       * latter calculated from the requested range.
-       *
-       * @readonly
-       */
-      get blobContentMD5() {
-        return this.originalResponse.blobContentMD5;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* float value */
+            1:
+              message.value = reader.float();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * Returns the date and time the file was last
-       * modified. Any operation that modifies the file or its properties updates
-       * the last modified time.
-       *
-       * @readonly
-       */
-      get lastModified() {
-        return this.originalResponse.lastModified;
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== 0)
+          writer.tag(1, runtime_3.WireType.Bit32).float(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * Returns the UTC date and time generated by the service that indicates the time at which the blob was
-       * last read or written to.
-       *
-       * @readonly
-       */
-      get lastAccessed() {
-        return this.originalResponse.lastAccessed;
+    };
+    exports2.FloatValue = new FloatValue$Type();
+    var Int64Value$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.Int64Value", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          }
+        ]);
       }
       /**
-       * Returns the date and time the blob was created.
-       *
-       * @readonly
+       * Encode `Int64Value` to JSON string.
        */
-      get createdOn() {
-        return this.originalResponse.createdOn;
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.scalar(runtime_1.ScalarType.INT64, message.value, "value", false, true);
       }
       /**
-       * A name-value pair
-       * to associate with a file storage object.
-       *
-       * @readonly
+       * Decode `Int64Value` from JSON string.
        */
-      get metadata() {
-        return this.originalResponse.metadata;
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, runtime_1.ScalarType.INT64, runtime_2.LongType.STRING, "value");
+        return target;
       }
-      /**
-       * This header uniquely identifies the request
-       * that was made and can be used for troubleshooting the request.
-       *
-       * @readonly
-       */
-      get requestId() {
-        return this.originalResponse.requestId;
+      create(value) {
+        const message = { value: "0" };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * If a client request id header is sent in the request, this header will be present in the
-       * response with the same value.
-       *
-       * @readonly
-       */
-      get clientRequestId() {
-        return this.originalResponse.clientRequestId;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* int64 value */
+            1:
+              message.value = reader.int64().toString();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * Indicates the version of the Blob service used
-       * to execute the request.
-       *
-       * @readonly
-       */
-      get version() {
-        return this.originalResponse.version;
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== "0")
+          writer.tag(1, runtime_3.WireType.Varint).int64(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * Indicates the versionId of the downloaded blob version.
-       *
-       * @readonly
-       */
-      get versionId() {
-        return this.originalResponse.versionId;
+    };
+    exports2.Int64Value = new Int64Value$Type();
+    var UInt64Value$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.UInt64Value", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 4
+            /*ScalarType.UINT64*/
+          }
+        ]);
       }
       /**
-       * Indicates whether version of this blob is a current version.
-       *
-       * @readonly
+       * Encode `UInt64Value` to JSON string.
        */
-      get isCurrentVersion() {
-        return this.originalResponse.isCurrentVersion;
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.scalar(runtime_1.ScalarType.UINT64, message.value, "value", false, true);
       }
       /**
-       * The SHA-256 hash of the encryption key used to encrypt the blob. This value is only returned
-       * when the blob was encrypted with a customer-provided key.
-       *
-       * @readonly
+       * Decode `UInt64Value` from JSON string.
        */
-      get encryptionKeySha256() {
-        return this.originalResponse.encryptionKeySha256;
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, runtime_1.ScalarType.UINT64, runtime_2.LongType.STRING, "value");
+        return target;
       }
-      /**
-       * If the request is to read a specified range and the x-ms-range-get-content-crc64 is set to
-       * true, then the request returns a crc64 for the range, as long as the range size is less than
-       * or equal to 4 MB. If both x-ms-range-get-content-crc64 & x-ms-range-get-content-md5 is
-       * specified in the same request, it will fail with 400(Bad Request)
-       */
-      get contentCrc64() {
-        return this.originalResponse.contentCrc64;
+      create(value) {
+        const message = { value: "0" };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * Object Replication Policy Id of the destination blob.
-       *
-       * @readonly
-       */
-      get objectReplicationDestinationPolicyId() {
-        return this.originalResponse.objectReplicationDestinationPolicyId;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* uint64 value */
+            1:
+              message.value = reader.uint64().toString();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * Parsed Object Replication Policy Id, Rule Id(s) and status of the source blob.
-       *
-       * @readonly
-       */
-      get objectReplicationSourceProperties() {
-        return this.originalResponse.objectReplicationSourceProperties;
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== "0")
+          writer.tag(1, runtime_3.WireType.Varint).uint64(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * If this blob has been sealed.
-       *
-       * @readonly
-       */
-      get isSealed() {
-        return this.originalResponse.isSealed;
+    };
+    exports2.UInt64Value = new UInt64Value$Type();
+    var Int32Value$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.Int32Value", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 5
+            /*ScalarType.INT32*/
+          }
+        ]);
       }
       /**
-       * UTC date/time value generated by the service that indicates the time at which the blob immutability policy will expire.
-       *
-       * @readonly
+       * Encode `Int32Value` to JSON string.
        */
-      get immutabilityPolicyExpiresOn() {
-        return this.originalResponse.immutabilityPolicyExpiresOn;
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.scalar(5, message.value, "value", false, true);
       }
       /**
-       * Indicates immutability policy mode.
-       *
-       * @readonly
+       * Decode `Int32Value` from JSON string.
        */
-      get immutabilityPolicyMode() {
-        return this.originalResponse.immutabilityPolicyMode;
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, 5, void 0, "value");
+        return target;
       }
-      /**
-       * Indicates if a legal hold is present on the blob.
-       *
-       * @readonly
-       */
-      get legalHold() {
-        return this.originalResponse.legalHold;
+      create(value) {
+        const message = { value: 0 };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * The response body as a browser Blob.
-       * Always undefined in node.js.
-       *
-       * @readonly
-       */
-      get contentAsBlob() {
-        return this.originalResponse.blobBody;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* int32 value */
+            1:
+              message.value = reader.int32();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * The response body as a node.js Readable stream.
-       * Always undefined in the browser.
-       *
-       * It will automatically retry when internal read stream unexpected ends.
-       *
-       * @readonly
-       */
-      get readableStreamBody() {
-        return core_util_1.isNodeLike ? this.blobDownloadStream : void 0;
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== 0)
+          writer.tag(1, runtime_3.WireType.Varint).int32(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.Int32Value = new Int32Value$Type();
+    var UInt32Value$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.UInt32Value", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 13
+            /*ScalarType.UINT32*/
+          }
+        ]);
       }
       /**
-       * The HTTP response.
+       * Encode `UInt32Value` to JSON string.
        */
-      get _response() {
-        return this.originalResponse._response;
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.scalar(13, message.value, "value", false, true);
       }
-      originalResponse;
-      blobDownloadStream;
       /**
-       * Creates an instance of BlobDownloadResponse.
-       *
-       * @param originalResponse -
-       * @param getter -
-       * @param offset -
-       * @param count -
-       * @param options -
+       * Decode `UInt32Value` from JSON string.
        */
-      constructor(originalResponse, getter, offset, count, options = {}) {
-        this.originalResponse = originalResponse;
-        this.blobDownloadStream = new RetriableReadableStream_js_1.RetriableReadableStream(this.originalResponse.readableStreamBody, getter, offset, count, options);
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, 13, void 0, "value");
+        return target;
+      }
+      create(value) {
+        const message = { value: 0 };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* uint32 value */
+            1:
+              message.value = reader.uint32();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== 0)
+          writer.tag(1, runtime_3.WireType.Varint).uint32(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
     };
-    exports2.BlobDownloadResponse = BlobDownloadResponse;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroConstants.js
-var require_AvroConstants = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroConstants.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AVRO_SCHEMA_KEY = exports2.AVRO_CODEC_KEY = exports2.AVRO_INIT_BYTES = exports2.AVRO_SYNC_MARKER_SIZE = void 0;
-    exports2.AVRO_SYNC_MARKER_SIZE = 16;
-    exports2.AVRO_INIT_BYTES = new Uint8Array([79, 98, 106, 1]);
-    exports2.AVRO_CODEC_KEY = "avro.codec";
-    exports2.AVRO_SCHEMA_KEY = "avro.schema";
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroParser.js
-var require_AvroParser = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroParser.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AvroType = exports2.AvroParser = void 0;
-    var AvroParser = class _AvroParser {
+    exports2.UInt32Value = new UInt32Value$Type();
+    var BoolValue$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.BoolValue", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          }
+        ]);
+      }
       /**
-       * Reads a fixed number of bytes from the stream.
-       *
-       * @param stream -
-       * @param length -
-       * @param options -
+       * Encode `BoolValue` to JSON bool.
        */
-      static async readFixedBytes(stream2, length, options = {}) {
-        const bytes = await stream2.read(length, { abortSignal: options.abortSignal });
-        if (bytes.length !== length) {
-          throw new Error("Hit stream end.");
-        }
-        return bytes;
+      internalJsonWrite(message, options) {
+        return message.value;
       }
       /**
-       * Reads a single byte from the stream.
-       *
-       * @param stream -
-       * @param options -
+       * Decode `BoolValue` from JSON bool.
        */
-      static async readByte(stream2, options = {}) {
-        const buf = await _AvroParser.readFixedBytes(stream2, 1, options);
-        return buf[0];
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, 8, void 0, "value");
+        return target;
       }
-      // int and long are stored in variable-length zig-zag coding.
-      // variable-length: https://lucene.apache.org/core/3_5_0/fileformats.html#VInt
-      // zig-zag: https://developers.google.com/protocol-buffers/docs/encoding?csw=1#types
-      static async readZigZagLong(stream2, options = {}) {
-        let zigZagEncoded = 0;
-        let significanceInBit = 0;
-        let byte, haveMoreByte, significanceInFloat;
-        do {
-          byte = await _AvroParser.readByte(stream2, options);
-          haveMoreByte = byte & 128;
-          zigZagEncoded |= (byte & 127) << significanceInBit;
-          significanceInBit += 7;
-        } while (haveMoreByte && significanceInBit < 28);
-        if (haveMoreByte) {
-          zigZagEncoded = zigZagEncoded;
-          significanceInFloat = 268435456;
-          do {
-            byte = await _AvroParser.readByte(stream2, options);
-            zigZagEncoded += (byte & 127) * significanceInFloat;
-            significanceInFloat *= 128;
-          } while (byte & 128);
-          const res = (zigZagEncoded % 2 ? -(zigZagEncoded + 1) : zigZagEncoded) / 2;
-          if (res < Number.MIN_SAFE_INTEGER || res > Number.MAX_SAFE_INTEGER) {
-            throw new Error("Integer overflow.");
+      create(value) {
+        const message = { value: false };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool value */
+            1:
+              message.value = reader.bool();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
           }
-          return res;
         }
-        return zigZagEncoded >> 1 ^ -(zigZagEncoded & 1);
-      }
-      static async readLong(stream2, options = {}) {
-        return _AvroParser.readZigZagLong(stream2, options);
+        return message;
       }
-      static async readInt(stream2, options = {}) {
-        return _AvroParser.readZigZagLong(stream2, options);
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== false)
+          writer.tag(1, runtime_3.WireType.Varint).bool(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      static async readNull() {
-        return null;
+    };
+    exports2.BoolValue = new BoolValue$Type();
+    var StringValue$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.StringValue", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
       }
-      static async readBoolean(stream2, options = {}) {
-        const b = await _AvroParser.readByte(stream2, options);
-        if (b === 1) {
-          return true;
-        } else if (b === 0) {
-          return false;
-        } else {
-          throw new Error("Byte was not a boolean.");
-        }
+      /**
+       * Encode `StringValue` to JSON string.
+       */
+      internalJsonWrite(message, options) {
+        return message.value;
       }
-      static async readFloat(stream2, options = {}) {
-        const u8arr = await _AvroParser.readFixedBytes(stream2, 4, options);
-        const view = new DataView(u8arr.buffer, u8arr.byteOffset, u8arr.byteLength);
-        return view.getFloat32(0, true);
+      /**
+       * Decode `StringValue` from JSON string.
+       */
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, 9, void 0, "value");
+        return target;
       }
-      static async readDouble(stream2, options = {}) {
-        const u8arr = await _AvroParser.readFixedBytes(stream2, 8, options);
-        const view = new DataView(u8arr.buffer, u8arr.byteOffset, u8arr.byteLength);
-        return view.getFloat64(0, true);
+      create(value) {
+        const message = { value: "" };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      static async readBytes(stream2, options = {}) {
-        const size = await _AvroParser.readLong(stream2, options);
-        if (size < 0) {
-          throw new Error("Bytes size was negative.");
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string value */
+            1:
+              message.value = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
         }
-        return stream2.read(size, { abortSignal: options.abortSignal });
-      }
-      static async readString(stream2, options = {}) {
-        const u8arr = await _AvroParser.readBytes(stream2, options);
-        const utf8decoder = new TextDecoder();
-        return utf8decoder.decode(u8arr);
-      }
-      static async readMapPair(stream2, readItemMethod, options = {}) {
-        const key = await _AvroParser.readString(stream2, options);
-        const value = await readItemMethod(stream2, options);
-        return { key, value };
+        return message;
       }
-      static async readMap(stream2, readItemMethod, options = {}) {
-        const readPairMethod = (s, opts = {}) => {
-          return _AvroParser.readMapPair(s, readItemMethod, opts);
-        };
-        const pairs2 = await _AvroParser.readArray(stream2, readPairMethod, options);
-        const dict = {};
-        for (const pair of pairs2) {
-          dict[pair.key] = pair.value;
-        }
-        return dict;
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== "")
+          writer.tag(1, runtime_3.WireType.LengthDelimited).string(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      static async readArray(stream2, readItemMethod, options = {}) {
-        const items = [];
-        for (let count = await _AvroParser.readLong(stream2, options); count !== 0; count = await _AvroParser.readLong(stream2, options)) {
-          if (count < 0) {
-            await _AvroParser.readLong(stream2, options);
-            count = -count;
-          }
-          while (count--) {
-            const item = await readItemMethod(stream2, options);
-            items.push(item);
+    };
+    exports2.StringValue = new StringValue$Type();
+    var BytesValue$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.BytesValue", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 12
+            /*ScalarType.BYTES*/
           }
-        }
-        return items;
+        ]);
       }
-    };
-    exports2.AvroParser = AvroParser;
-    var AvroComplex;
-    (function(AvroComplex2) {
-      AvroComplex2["RECORD"] = "record";
-      AvroComplex2["ENUM"] = "enum";
-      AvroComplex2["ARRAY"] = "array";
-      AvroComplex2["MAP"] = "map";
-      AvroComplex2["UNION"] = "union";
-      AvroComplex2["FIXED"] = "fixed";
-    })(AvroComplex || (AvroComplex = {}));
-    var AvroPrimitive;
-    (function(AvroPrimitive2) {
-      AvroPrimitive2["NULL"] = "null";
-      AvroPrimitive2["BOOLEAN"] = "boolean";
-      AvroPrimitive2["INT"] = "int";
-      AvroPrimitive2["LONG"] = "long";
-      AvroPrimitive2["FLOAT"] = "float";
-      AvroPrimitive2["DOUBLE"] = "double";
-      AvroPrimitive2["BYTES"] = "bytes";
-      AvroPrimitive2["STRING"] = "string";
-    })(AvroPrimitive || (AvroPrimitive = {}));
-    var AvroType = class _AvroType {
       /**
-       * Determines the AvroType from the Avro Schema.
+       * Encode `BytesValue` to JSON string.
        */
-      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
-      static fromSchema(schema2) {
-        if (typeof schema2 === "string") {
-          return _AvroType.fromStringSchema(schema2);
-        } else if (Array.isArray(schema2)) {
-          return _AvroType.fromArraySchema(schema2);
-        } else {
-          return _AvroType.fromObjectSchema(schema2);
-        }
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.scalar(12, message.value, "value", false, true);
       }
-      static fromStringSchema(schema2) {
-        switch (schema2) {
-          case AvroPrimitive.NULL:
-          case AvroPrimitive.BOOLEAN:
-          case AvroPrimitive.INT:
-          case AvroPrimitive.LONG:
-          case AvroPrimitive.FLOAT:
-          case AvroPrimitive.DOUBLE:
-          case AvroPrimitive.BYTES:
-          case AvroPrimitive.STRING:
-            return new AvroPrimitiveType(schema2);
-          default:
-            throw new Error(`Unexpected Avro type ${schema2}`);
-        }
+      /**
+       * Decode `BytesValue` from JSON string.
+       */
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, 12, void 0, "value");
+        return target;
       }
-      static fromArraySchema(schema2) {
-        return new AvroUnionType(schema2.map(_AvroType.fromSchema));
+      create(value) {
+        const message = { value: new Uint8Array(0) };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      static fromObjectSchema(schema2) {
-        const type2 = schema2.type;
-        try {
-          return _AvroType.fromStringSchema(type2);
-        } catch {
-        }
-        switch (type2) {
-          case AvroComplex.RECORD:
-            if (schema2.aliases) {
-              throw new Error(`aliases currently is not supported, schema: ${schema2}`);
-            }
-            if (!schema2.name) {
-              throw new Error(`Required attribute 'name' doesn't exist on schema: ${schema2}`);
-            }
-            const fields = {};
-            if (!schema2.fields) {
-              throw new Error(`Required attribute 'fields' doesn't exist on schema: ${schema2}`);
-            }
-            for (const field of schema2.fields) {
-              fields[field.name] = _AvroType.fromSchema(field.type);
-            }
-            return new AvroRecordType(fields, schema2.name);
-          case AvroComplex.ENUM:
-            if (schema2.aliases) {
-              throw new Error(`aliases currently is not supported, schema: ${schema2}`);
-            }
-            if (!schema2.symbols) {
-              throw new Error(`Required attribute 'symbols' doesn't exist on schema: ${schema2}`);
-            }
-            return new AvroEnumType(schema2.symbols);
-          case AvroComplex.MAP:
-            if (!schema2.values) {
-              throw new Error(`Required attribute 'values' doesn't exist on schema: ${schema2}`);
-            }
-            return new AvroMapType(_AvroType.fromSchema(schema2.values));
-          case AvroComplex.ARRAY:
-          // Unused today
-          case AvroComplex.FIXED:
-          // Unused today
-          default:
-            throw new Error(`Unexpected Avro type ${type2} in ${schema2}`);
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bytes value */
+            1:
+              message.value = reader.bytes();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
         }
+        return message;
       }
-    };
-    exports2.AvroType = AvroType;
-    var AvroPrimitiveType = class extends AvroType {
-      _primitive;
-      constructor(primitive) {
-        super();
-        this._primitive = primitive;
-      }
-      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
-      read(stream2, options = {}) {
-        switch (this._primitive) {
-          case AvroPrimitive.NULL:
-            return AvroParser.readNull();
-          case AvroPrimitive.BOOLEAN:
-            return AvroParser.readBoolean(stream2, options);
-          case AvroPrimitive.INT:
-            return AvroParser.readInt(stream2, options);
-          case AvroPrimitive.LONG:
-            return AvroParser.readLong(stream2, options);
-          case AvroPrimitive.FLOAT:
-            return AvroParser.readFloat(stream2, options);
-          case AvroPrimitive.DOUBLE:
-            return AvroParser.readDouble(stream2, options);
-          case AvroPrimitive.BYTES:
-            return AvroParser.readBytes(stream2, options);
-          case AvroPrimitive.STRING:
-            return AvroParser.readString(stream2, options);
-          default:
-            throw new Error("Unknown Avro Primitive");
-        }
+      internalBinaryWrite(message, writer, options) {
+        if (message.value.length)
+          writer.tag(1, runtime_3.WireType.LengthDelimited).bytes(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
     };
-    var AvroEnumType = class extends AvroType {
-      _symbols;
-      constructor(symbols) {
-        super();
-        this._symbols = symbols;
+    exports2.BytesValue = new BytesValue$Type();
+  }
+});
+
+// node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.js
+var require_artifact = __commonJS({
+  "node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ArtifactService = exports2.DeleteArtifactResponse = exports2.DeleteArtifactRequest = exports2.GetSignedArtifactURLResponse = exports2.GetSignedArtifactURLRequest = exports2.ListArtifactsResponse_MonolithArtifact = exports2.ListArtifactsResponse = exports2.ListArtifactsRequest = exports2.FinalizeArtifactResponse = exports2.FinalizeArtifactRequest = exports2.CreateArtifactResponse = exports2.CreateArtifactRequest = exports2.FinalizeMigratedArtifactResponse = exports2.FinalizeMigratedArtifactRequest = exports2.MigrateArtifactResponse = exports2.MigrateArtifactRequest = void 0;
+    var runtime_rpc_1 = require_commonjs17();
+    var runtime_1 = require_commonjs16();
+    var runtime_2 = require_commonjs16();
+    var runtime_3 = require_commonjs16();
+    var runtime_4 = require_commonjs16();
+    var runtime_5 = require_commonjs16();
+    var wrappers_1 = require_wrappers();
+    var wrappers_2 = require_wrappers();
+    var timestamp_1 = require_timestamp();
+    var MigrateArtifactRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.MigrateArtifactRequest", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "name",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          { no: 3, name: "expires_at", kind: "message", T: () => timestamp_1.Timestamp }
+        ]);
       }
-      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
-      async read(stream2, options = {}) {
-        const value = await AvroParser.readInt(stream2, options);
-        return this._symbols[value];
+      create(value) {
+        const message = { workflowRunBackendId: "", name: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-    };
-    var AvroUnionType = class extends AvroType {
-      _types;
-      constructor(types) {
-        super();
-        this._types = types;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string name */
+            2:
+              message.name = reader.string();
+              break;
+            case /* google.protobuf.Timestamp expires_at */
+            3:
+              message.expiresAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expiresAt);
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      async read(stream2, options = {}) {
-        const typeIndex = await AvroParser.readInt(stream2, options);
-        return this._types[typeIndex].read(stream2, options);
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.name !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.name);
+        if (message.expiresAt)
+          timestamp_1.Timestamp.internalBinaryWrite(message.expiresAt, writer.tag(3, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
     };
-    var AvroMapType = class extends AvroType {
-      _itemType;
-      constructor(itemType) {
-        super();
-        this._itemType = itemType;
-      }
-      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
-      read(stream2, options = {}) {
-        const readItemMethod = (s, opts) => {
-          return this._itemType.read(s, opts);
-        };
-        return AvroParser.readMap(stream2, readItemMethod, options);
+    exports2.MigrateArtifactRequest = new MigrateArtifactRequest$Type();
+    var MigrateArtifactResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.MigrateArtifactResponse", [
+          {
+            no: 1,
+            name: "ok",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          },
+          {
+            no: 2,
+            name: "signed_upload_url",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
       }
-    };
-    var AvroRecordType = class extends AvroType {
-      _name;
-      _fields;
-      constructor(fields, name) {
-        super();
-        this._fields = fields;
-        this._name = name;
+      create(value) {
+        const message = { ok: false, signedUploadUrl: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
-      async read(stream2, options = {}) {
-        const record = {};
-        record["$schema"] = this._name;
-        for (const key in this._fields) {
-          if (Object.prototype.hasOwnProperty.call(this._fields, key)) {
-            record[key] = await this._fields[key].read(stream2, options);
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool ok */
+            1:
+              message.ok = reader.bool();
+              break;
+            case /* string signed_upload_url */
+            2:
+              message.signedUploadUrl = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
           }
         }
-        return record;
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.ok !== false)
+          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
+        if (message.signedUploadUrl !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
     };
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/utils/utils.common.js
-var require_utils_common3 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/utils/utils.common.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.arraysEqual = arraysEqual;
-    function arraysEqual(a, b) {
-      if (a === b)
-        return true;
-      if (a == null || b == null)
-        return false;
-      if (a.length !== b.length)
-        return false;
-      for (let i = 0; i < a.length; ++i) {
-        if (a[i] !== b[i])
-          return false;
+    exports2.MigrateArtifactResponse = new MigrateArtifactResponse$Type();
+    var FinalizeMigratedArtifactRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.FinalizeMigratedArtifactRequest", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "name",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "size",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          }
+        ]);
       }
-      return true;
-    }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReader.js
-var require_AvroReader = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReader.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AvroReader = void 0;
-    var AvroConstants_js_1 = require_AvroConstants();
-    var AvroParser_js_1 = require_AvroParser();
-    var utils_common_js_1 = require_utils_common3();
-    var AvroReader = class {
-      _dataStream;
-      _headerStream;
-      _syncMarker;
-      _metadata;
-      _itemType;
-      _itemsRemainingInBlock;
-      // Remembers where we started if partial data stream was provided.
-      _initialBlockOffset;
-      /// The byte offset within the Avro file (both header and data)
-      /// of the start of the current block.
-      _blockOffset;
-      get blockOffset() {
-        return this._blockOffset;
+      create(value) {
+        const message = { workflowRunBackendId: "", name: "", size: "0" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      _objectIndex;
-      get objectIndex() {
-        return this._objectIndex;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string name */
+            2:
+              message.name = reader.string();
+              break;
+            case /* int64 size */
+            3:
+              message.size = reader.int64().toString();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      _initialized;
-      constructor(dataStream, headerStream, currentBlockOffset, indexWithinCurrentBlock) {
-        this._dataStream = dataStream;
-        this._headerStream = headerStream || dataStream;
-        this._initialized = false;
-        this._blockOffset = currentBlockOffset || 0;
-        this._objectIndex = indexWithinCurrentBlock || 0;
-        this._initialBlockOffset = currentBlockOffset || 0;
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.name !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.name);
+        if (message.size !== "0")
+          writer.tag(3, runtime_1.WireType.Varint).int64(message.size);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      async initialize(options = {}) {
-        const header = await AvroParser_js_1.AvroParser.readFixedBytes(this._headerStream, AvroConstants_js_1.AVRO_INIT_BYTES.length, {
-          abortSignal: options.abortSignal
-        });
-        if (!(0, utils_common_js_1.arraysEqual)(header, AvroConstants_js_1.AVRO_INIT_BYTES)) {
-          throw new Error("Stream is not an Avro file.");
-        }
-        this._metadata = await AvroParser_js_1.AvroParser.readMap(this._headerStream, AvroParser_js_1.AvroParser.readString, {
-          abortSignal: options.abortSignal
-        });
-        const codec = this._metadata[AvroConstants_js_1.AVRO_CODEC_KEY];
-        if (!(codec === void 0 || codec === null || codec === "null")) {
-          throw new Error("Codecs are not supported");
-        }
-        this._syncMarker = await AvroParser_js_1.AvroParser.readFixedBytes(this._headerStream, AvroConstants_js_1.AVRO_SYNC_MARKER_SIZE, {
-          abortSignal: options.abortSignal
-        });
-        const schema2 = JSON.parse(this._metadata[AvroConstants_js_1.AVRO_SCHEMA_KEY]);
-        this._itemType = AvroParser_js_1.AvroType.fromSchema(schema2);
-        if (this._blockOffset === 0) {
-          this._blockOffset = this._initialBlockOffset + this._dataStream.position;
-        }
-        this._itemsRemainingInBlock = await AvroParser_js_1.AvroParser.readLong(this._dataStream, {
-          abortSignal: options.abortSignal
-        });
-        await AvroParser_js_1.AvroParser.readLong(this._dataStream, { abortSignal: options.abortSignal });
-        this._initialized = true;
-        if (this._objectIndex && this._objectIndex > 0) {
-          for (let i = 0; i < this._objectIndex; i++) {
-            await this._itemType.read(this._dataStream, { abortSignal: options.abortSignal });
-            this._itemsRemainingInBlock--;
+    };
+    exports2.FinalizeMigratedArtifactRequest = new FinalizeMigratedArtifactRequest$Type();
+    var FinalizeMigratedArtifactResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.FinalizeMigratedArtifactResponse", [
+          {
+            no: 1,
+            name: "ok",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          },
+          {
+            no: 2,
+            name: "artifact_id",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { ok: false, artifactId: "0" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool ok */
+            1:
+              message.ok = reader.bool();
+              break;
+            case /* int64 artifact_id */
+            2:
+              message.artifactId = reader.int64().toString();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
           }
         }
+        return message;
       }
-      hasNext() {
-        return !this._initialized || this._itemsRemainingInBlock > 0;
+      internalBinaryWrite(message, writer, options) {
+        if (message.ok !== false)
+          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
+        if (message.artifactId !== "0")
+          writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      async *parseObjects(options = {}) {
-        if (!this._initialized) {
-          await this.initialize(options);
-        }
-        while (this.hasNext()) {
-          const result = await this._itemType.read(this._dataStream, {
-            abortSignal: options.abortSignal
-          });
-          this._itemsRemainingInBlock--;
-          this._objectIndex++;
-          if (this._itemsRemainingInBlock === 0) {
-            const marker = await AvroParser_js_1.AvroParser.readFixedBytes(this._dataStream, AvroConstants_js_1.AVRO_SYNC_MARKER_SIZE, {
-              abortSignal: options.abortSignal
-            });
-            this._blockOffset = this._initialBlockOffset + this._dataStream.position;
-            this._objectIndex = 0;
-            if (!(0, utils_common_js_1.arraysEqual)(this._syncMarker, marker)) {
-              throw new Error("Stream is not a valid Avro file.");
-            }
-            try {
-              this._itemsRemainingInBlock = await AvroParser_js_1.AvroParser.readLong(this._dataStream, {
-                abortSignal: options.abortSignal
-              });
-            } catch {
-              this._itemsRemainingInBlock = 0;
-            }
-            if (this._itemsRemainingInBlock > 0) {
-              await AvroParser_js_1.AvroParser.readLong(this._dataStream, { abortSignal: options.abortSignal });
-            }
+    };
+    exports2.FinalizeMigratedArtifactResponse = new FinalizeMigratedArtifactResponse$Type();
+    var CreateArtifactRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.CreateArtifactRequest", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "workflow_job_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "name",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          { no: 4, name: "expires_at", kind: "message", T: () => timestamp_1.Timestamp },
+          {
+            no: 5,
+            name: "version",
+            kind: "scalar",
+            T: 5
+            /*ScalarType.INT32*/
           }
-          yield result;
-        }
+        ]);
       }
-    };
-    exports2.AvroReader = AvroReader;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadable.js
-var require_AvroReadable = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadable.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AvroReadable = void 0;
-    var AvroReadable = class {
-    };
-    exports2.AvroReadable = AvroReadable;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadableFromStream.js
-var require_AvroReadableFromStream = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadableFromStream.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AvroReadableFromStream = void 0;
-    var AvroReadable_js_1 = require_AvroReadable();
-    var abort_controller_1 = require_commonjs11();
-    var buffer_1 = require("buffer");
-    var ABORT_ERROR = new abort_controller_1.AbortError("Reading from the avro stream was aborted.");
-    var AvroReadableFromStream = class extends AvroReadable_js_1.AvroReadable {
-      _position;
-      _readable;
-      toUint8Array(data) {
-        if (typeof data === "string") {
-          return buffer_1.Buffer.from(data);
+      create(value) {
+        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "", version: 0 };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string workflow_job_run_backend_id */
+            2:
+              message.workflowJobRunBackendId = reader.string();
+              break;
+            case /* string name */
+            3:
+              message.name = reader.string();
+              break;
+            case /* google.protobuf.Timestamp expires_at */
+            4:
+              message.expiresAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expiresAt);
+              break;
+            case /* int32 version */
+            5:
+              message.version = reader.int32();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
         }
-        return data;
+        return message;
       }
-      constructor(readable) {
-        super();
-        this._readable = readable;
-        this._position = 0;
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.workflowJobRunBackendId !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
+        if (message.name !== "")
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
+        if (message.expiresAt)
+          timestamp_1.Timestamp.internalBinaryWrite(message.expiresAt, writer.tag(4, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        if (message.version !== 0)
+          writer.tag(5, runtime_1.WireType.Varint).int32(message.version);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      get position() {
-        return this._position;
+    };
+    exports2.CreateArtifactRequest = new CreateArtifactRequest$Type();
+    var CreateArtifactResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.CreateArtifactResponse", [
+          {
+            no: 1,
+            name: "ok",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          },
+          {
+            no: 2,
+            name: "signed_upload_url",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
       }
-      async read(size, options = {}) {
-        if (options.abortSignal?.aborted) {
-          throw ABORT_ERROR;
-        }
-        if (size < 0) {
-          throw new Error(`size parameter should be positive: ${size}`);
-        }
-        if (size === 0) {
-          return new Uint8Array();
-        }
-        if (!this._readable.readable) {
-          throw new Error("Stream no longer readable.");
-        }
-        const chunk = this._readable.read(size);
-        if (chunk) {
-          this._position += chunk.length;
-          return this.toUint8Array(chunk);
-        } else {
-          return new Promise((resolve8, reject) => {
-            const cleanUp = () => {
-              this._readable.removeListener("readable", readableCallback);
-              this._readable.removeListener("error", rejectCallback);
-              this._readable.removeListener("end", rejectCallback);
-              this._readable.removeListener("close", rejectCallback);
-              if (options.abortSignal) {
-                options.abortSignal.removeEventListener("abort", abortHandler);
-              }
-            };
-            const readableCallback = () => {
-              const callbackChunk = this._readable.read(size);
-              if (callbackChunk) {
-                this._position += callbackChunk.length;
-                cleanUp();
-                resolve8(this.toUint8Array(callbackChunk));
-              }
-            };
-            const rejectCallback = () => {
-              cleanUp();
-              reject();
-            };
-            const abortHandler = () => {
-              cleanUp();
-              reject(ABORT_ERROR);
-            };
-            this._readable.on("readable", readableCallback);
-            this._readable.once("error", rejectCallback);
-            this._readable.once("end", rejectCallback);
-            this._readable.once("close", rejectCallback);
-            if (options.abortSignal) {
-              options.abortSignal.addEventListener("abort", abortHandler);
-            }
-          });
+      create(value) {
+        const message = { ok: false, signedUploadUrl: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool ok */
+            1:
+              message.ok = reader.bool();
+              break;
+            case /* string signed_upload_url */
+            2:
+              message.signedUploadUrl = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
         }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.ok !== false)
+          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
+        if (message.signedUploadUrl !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
     };
-    exports2.AvroReadableFromStream = AvroReadableFromStream;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/index.js
-var require_internal_avro = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AvroReadableFromStream = exports2.AvroReadable = exports2.AvroReader = void 0;
-    var AvroReader_js_1 = require_AvroReader();
-    Object.defineProperty(exports2, "AvroReader", { enumerable: true, get: function() {
-      return AvroReader_js_1.AvroReader;
-    } });
-    var AvroReadable_js_1 = require_AvroReadable();
-    Object.defineProperty(exports2, "AvroReadable", { enumerable: true, get: function() {
-      return AvroReadable_js_1.AvroReadable;
-    } });
-    var AvroReadableFromStream_js_1 = require_AvroReadableFromStream();
-    Object.defineProperty(exports2, "AvroReadableFromStream", { enumerable: true, get: function() {
-      return AvroReadableFromStream_js_1.AvroReadableFromStream;
-    } });
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/utils/BlobQuickQueryStream.js
-var require_BlobQuickQueryStream = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/BlobQuickQueryStream.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobQuickQueryStream = void 0;
-    var node_stream_1 = require("node:stream");
-    var index_js_1 = require_internal_avro();
-    var BlobQuickQueryStream = class extends node_stream_1.Readable {
-      source;
-      avroReader;
-      avroIter;
-      avroPaused = true;
-      onProgress;
-      onError;
-      /**
-       * Creates an instance of BlobQuickQueryStream.
-       *
-       * @param source - The current ReadableStream returned from getter
-       * @param options -
-       */
-      constructor(source, options = {}) {
-        super();
-        this.source = source;
-        this.onProgress = options.onProgress;
-        this.onError = options.onError;
-        this.avroReader = new index_js_1.AvroReader(new index_js_1.AvroReadableFromStream(this.source));
-        this.avroIter = this.avroReader.parseObjects({ abortSignal: options.abortSignal });
+    exports2.CreateArtifactResponse = new CreateArtifactResponse$Type();
+    var FinalizeArtifactRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.FinalizeArtifactRequest", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "workflow_job_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "name",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 4,
+            name: "size",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          },
+          { no: 5, name: "hash", kind: "message", T: () => wrappers_2.StringValue }
+        ]);
       }
-      _read() {
-        if (this.avroPaused) {
-          this.readInternal().catch((err) => {
-            this.emit("error", err);
-          });
-        }
+      create(value) {
+        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "", size: "0" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      async readInternal() {
-        this.avroPaused = false;
-        let avroNext;
-        do {
-          avroNext = await this.avroIter.next();
-          if (avroNext.done) {
-            break;
-          }
-          const obj = avroNext.value;
-          const schema2 = obj.$schema;
-          if (typeof schema2 !== "string") {
-            throw Error("Missing schema in avro record.");
-          }
-          switch (schema2) {
-            case "com.microsoft.azure.storage.queryBlobContents.resultData":
-              {
-                const data = obj.data;
-                if (data instanceof Uint8Array === false) {
-                  throw Error("Invalid data in avro result record.");
-                }
-                if (!this.push(Buffer.from(data))) {
-                  this.avroPaused = true;
-                }
-              }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
               break;
-            case "com.microsoft.azure.storage.queryBlobContents.progress":
-              {
-                const bytesScanned = obj.bytesScanned;
-                if (typeof bytesScanned !== "number") {
-                  throw Error("Invalid bytesScanned in avro progress record.");
-                }
-                if (this.onProgress) {
-                  this.onProgress({ loadedBytes: bytesScanned });
-                }
-              }
+            case /* string workflow_job_run_backend_id */
+            2:
+              message.workflowJobRunBackendId = reader.string();
               break;
-            case "com.microsoft.azure.storage.queryBlobContents.end":
-              if (this.onProgress) {
-                const totalBytes = obj.totalBytes;
-                if (typeof totalBytes !== "number") {
-                  throw Error("Invalid totalBytes in avro end record.");
-                }
-                this.onProgress({ loadedBytes: totalBytes });
-              }
-              this.push(null);
+            case /* string name */
+            3:
+              message.name = reader.string();
               break;
-            case "com.microsoft.azure.storage.queryBlobContents.error":
-              if (this.onError) {
-                const fatal = obj.fatal;
-                if (typeof fatal !== "boolean") {
-                  throw Error("Invalid fatal in avro error record.");
-                }
-                const name = obj.name;
-                if (typeof name !== "string") {
-                  throw Error("Invalid name in avro error record.");
-                }
-                const description = obj.description;
-                if (typeof description !== "string") {
-                  throw Error("Invalid description in avro error record.");
-                }
-                const position = obj.position;
-                if (typeof position !== "number") {
-                  throw Error("Invalid position in avro error record.");
-                }
-                this.onError({
-                  position,
-                  name,
-                  isFatal: fatal,
-                  description
-                });
-              }
+            case /* int64 size */
+            4:
+              message.size = reader.int64().toString();
+              break;
+            case /* google.protobuf.StringValue hash */
+            5:
+              message.hash = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.hash);
               break;
             default:
-              throw Error(`Unknown schema ${schema2} in avro progress record.`);
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
           }
-        } while (!avroNext.done && !this.avroPaused);
-      }
-    };
-    exports2.BlobQuickQueryStream = BlobQuickQueryStream;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/BlobQueryResponse.js
-var require_BlobQueryResponse = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BlobQueryResponse.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobQueryResponse = void 0;
-    var core_util_1 = require_commonjs4();
-    var BlobQuickQueryStream_js_1 = require_BlobQuickQueryStream();
-    var BlobQueryResponse = class {
-      /**
-       * Indicates that the service supports
-       * requests for partial file content.
-       *
-       * @readonly
-       */
-      get acceptRanges() {
-        return this.originalResponse.acceptRanges;
-      }
-      /**
-       * Returns if it was previously specified
-       * for the file.
-       *
-       * @readonly
-       */
-      get cacheControl() {
-        return this.originalResponse.cacheControl;
-      }
-      /**
-       * Returns the value that was specified
-       * for the 'x-ms-content-disposition' header and specifies how to process the
-       * response.
-       *
-       * @readonly
-       */
-      get contentDisposition() {
-        return this.originalResponse.contentDisposition;
-      }
-      /**
-       * Returns the value that was specified
-       * for the Content-Encoding request header.
-       *
-       * @readonly
-       */
-      get contentEncoding() {
-        return this.originalResponse.contentEncoding;
+        }
+        return message;
       }
-      /**
-       * Returns the value that was specified
-       * for the Content-Language request header.
-       *
-       * @readonly
-       */
-      get contentLanguage() {
-        return this.originalResponse.contentLanguage;
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.workflowJobRunBackendId !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
+        if (message.name !== "")
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
+        if (message.size !== "0")
+          writer.tag(4, runtime_1.WireType.Varint).int64(message.size);
+        if (message.hash)
+          wrappers_2.StringValue.internalBinaryWrite(message.hash, writer.tag(5, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * The current sequence number for a
-       * page blob. This header is not returned for block blobs or append blobs.
-       *
-       * @readonly
-       */
-      get blobSequenceNumber() {
-        return this.originalResponse.blobSequenceNumber;
+    };
+    exports2.FinalizeArtifactRequest = new FinalizeArtifactRequest$Type();
+    var FinalizeArtifactResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.FinalizeArtifactResponse", [
+          {
+            no: 1,
+            name: "ok",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          },
+          {
+            no: 2,
+            name: "artifact_id",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          }
+        ]);
       }
-      /**
-       * The blob's type. Possible values include:
-       * 'BlockBlob', 'PageBlob', 'AppendBlob'.
-       *
-       * @readonly
-       */
-      get blobType() {
-        return this.originalResponse.blobType;
+      create(value) {
+        const message = { ok: false, artifactId: "0" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * The number of bytes present in the
-       * response body.
-       *
-       * @readonly
-       */
-      get contentLength() {
-        return this.originalResponse.contentLength;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool ok */
+            1:
+              message.ok = reader.bool();
+              break;
+            case /* int64 artifact_id */
+            2:
+              message.artifactId = reader.int64().toString();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * If the file has an MD5 hash and the
-       * request is to read the full file, this response header is returned so that
-       * the client can check for message content integrity. If the request is to
-       * read a specified range and the 'x-ms-range-get-content-md5' is set to
-       * true, then the request returns an MD5 hash for the range, as long as the
-       * range size is less than or equal to 4 MB. If neither of these sets of
-       * conditions is true, then no value is returned for the 'Content-MD5'
-       * header.
-       *
-       * @readonly
-       */
-      get contentMD5() {
-        return this.originalResponse.contentMD5;
+      internalBinaryWrite(message, writer, options) {
+        if (message.ok !== false)
+          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
+        if (message.artifactId !== "0")
+          writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * Indicates the range of bytes returned if
-       * the client requested a subset of the file by setting the Range request
-       * header.
-       *
-       * @readonly
-       */
-      get contentRange() {
-        return this.originalResponse.contentRange;
+    };
+    exports2.FinalizeArtifactResponse = new FinalizeArtifactResponse$Type();
+    var ListArtifactsRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.ListArtifactsRequest", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "workflow_job_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          { no: 3, name: "name_filter", kind: "message", T: () => wrappers_2.StringValue },
+          { no: 4, name: "id_filter", kind: "message", T: () => wrappers_1.Int64Value }
+        ]);
       }
-      /**
-       * The content type specified for the file.
-       * The default content type is 'application/octet-stream'
-       *
-       * @readonly
-       */
-      get contentType() {
-        return this.originalResponse.contentType;
+      create(value) {
+        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * Conclusion time of the last attempted
-       * Copy File operation where this file was the destination file. This value
-       * can specify the time of a completed, aborted, or failed copy attempt.
-       *
-       * @readonly
-       */
-      get copyCompletedOn() {
-        return void 0;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string workflow_job_run_backend_id */
+            2:
+              message.workflowJobRunBackendId = reader.string();
+              break;
+            case /* google.protobuf.StringValue name_filter */
+            3:
+              message.nameFilter = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.nameFilter);
+              break;
+            case /* google.protobuf.Int64Value id_filter */
+            4:
+              message.idFilter = wrappers_1.Int64Value.internalBinaryRead(reader, reader.uint32(), options, message.idFilter);
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * String identifier for the last attempted Copy
-       * File operation where this file was the destination file.
-       *
-       * @readonly
-       */
-      get copyId() {
-        return this.originalResponse.copyId;
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.workflowJobRunBackendId !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
+        if (message.nameFilter)
+          wrappers_2.StringValue.internalBinaryWrite(message.nameFilter, writer.tag(3, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        if (message.idFilter)
+          wrappers_1.Int64Value.internalBinaryWrite(message.idFilter, writer.tag(4, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * Contains the number of bytes copied and
-       * the total bytes in the source in the last attempted Copy File operation
-       * where this file was the destination file. Can show between 0 and
-       * Content-Length bytes copied.
-       *
-       * @readonly
-       */
-      get copyProgress() {
-        return this.originalResponse.copyProgress;
+    };
+    exports2.ListArtifactsRequest = new ListArtifactsRequest$Type();
+    var ListArtifactsResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.ListArtifactsResponse", [
+          { no: 1, name: "artifacts", kind: "message", repeat: 1, T: () => exports2.ListArtifactsResponse_MonolithArtifact }
+        ]);
       }
-      /**
-       * URL up to 2KB in length that specifies the
-       * source file used in the last attempted Copy File operation where this file
-       * was the destination file.
-       *
-       * @readonly
-       */
-      get copySource() {
-        return this.originalResponse.copySource;
+      create(value) {
+        const message = { artifacts: [] };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * State of the copy operation
-       * identified by 'x-ms-copy-id'. Possible values include: 'pending',
-       * 'success', 'aborted', 'failed'
-       *
-       * @readonly
-       */
-      get copyStatus() {
-        return this.originalResponse.copyStatus;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* repeated github.actions.results.api.v1.ListArtifactsResponse.MonolithArtifact artifacts */
+            1:
+              message.artifacts.push(exports2.ListArtifactsResponse_MonolithArtifact.internalBinaryRead(reader, reader.uint32(), options));
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * Only appears when
-       * x-ms-copy-status is failed or pending. Describes cause of fatal or
-       * non-fatal copy operation failure.
-       *
-       * @readonly
-       */
-      get copyStatusDescription() {
-        return this.originalResponse.copyStatusDescription;
+      internalBinaryWrite(message, writer, options) {
+        for (let i = 0; i < message.artifacts.length; i++)
+          exports2.ListArtifactsResponse_MonolithArtifact.internalBinaryWrite(message.artifacts[i], writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * When a blob is leased,
-       * specifies whether the lease is of infinite or fixed duration. Possible
-       * values include: 'infinite', 'fixed'.
-       *
-       * @readonly
-       */
-      get leaseDuration() {
-        return this.originalResponse.leaseDuration;
+    };
+    exports2.ListArtifactsResponse = new ListArtifactsResponse$Type();
+    var ListArtifactsResponse_MonolithArtifact$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.ListArtifactsResponse.MonolithArtifact", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "workflow_job_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "database_id",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          },
+          {
+            no: 4,
+            name: "name",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 5,
+            name: "size",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          },
+          { no: 6, name: "created_at", kind: "message", T: () => timestamp_1.Timestamp },
+          { no: 7, name: "digest", kind: "message", T: () => wrappers_2.StringValue }
+        ]);
       }
-      /**
-       * Lease state of the blob. Possible
-       * values include: 'available', 'leased', 'expired', 'breaking', 'broken'.
-       *
-       * @readonly
-       */
-      get leaseState() {
-        return this.originalResponse.leaseState;
+      create(value) {
+        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", databaseId: "0", name: "", size: "0" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * The current lease status of the
-       * blob. Possible values include: 'locked', 'unlocked'.
-       *
-       * @readonly
-       */
-      get leaseStatus() {
-        return this.originalResponse.leaseStatus;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string workflow_job_run_backend_id */
+            2:
+              message.workflowJobRunBackendId = reader.string();
+              break;
+            case /* int64 database_id */
+            3:
+              message.databaseId = reader.int64().toString();
+              break;
+            case /* string name */
+            4:
+              message.name = reader.string();
+              break;
+            case /* int64 size */
+            5:
+              message.size = reader.int64().toString();
+              break;
+            case /* google.protobuf.Timestamp created_at */
+            6:
+              message.createdAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.createdAt);
+              break;
+            case /* google.protobuf.StringValue digest */
+            7:
+              message.digest = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.digest);
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * A UTC date/time value generated by the service that
-       * indicates the time at which the response was initiated.
-       *
-       * @readonly
-       */
-      get date() {
-        return this.originalResponse.date;
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.workflowJobRunBackendId !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
+        if (message.databaseId !== "0")
+          writer.tag(3, runtime_1.WireType.Varint).int64(message.databaseId);
+        if (message.name !== "")
+          writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.name);
+        if (message.size !== "0")
+          writer.tag(5, runtime_1.WireType.Varint).int64(message.size);
+        if (message.createdAt)
+          timestamp_1.Timestamp.internalBinaryWrite(message.createdAt, writer.tag(6, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        if (message.digest)
+          wrappers_2.StringValue.internalBinaryWrite(message.digest, writer.tag(7, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * The number of committed blocks
-       * present in the blob. This header is returned only for append blobs.
-       *
-       * @readonly
-       */
-      get blobCommittedBlockCount() {
-        return this.originalResponse.blobCommittedBlockCount;
+    };
+    exports2.ListArtifactsResponse_MonolithArtifact = new ListArtifactsResponse_MonolithArtifact$Type();
+    var GetSignedArtifactURLRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.GetSignedArtifactURLRequest", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "workflow_job_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "name",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
       }
-      /**
-       * The ETag contains a value that you can use to
-       * perform operations conditionally, in quotes.
-       *
-       * @readonly
-       */
-      get etag() {
-        return this.originalResponse.etag;
+      create(value) {
+        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * The error code.
-       *
-       * @readonly
-       */
-      get errorCode() {
-        return this.originalResponse.errorCode;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string workflow_job_run_backend_id */
+            2:
+              message.workflowJobRunBackendId = reader.string();
+              break;
+            case /* string name */
+            3:
+              message.name = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * The value of this header is set to
-       * true if the file data and application metadata are completely encrypted
-       * using the specified algorithm. Otherwise, the value is set to false (when
-       * the file is unencrypted, or if only parts of the file/application metadata
-       * are encrypted).
-       *
-       * @readonly
-       */
-      get isServerEncrypted() {
-        return this.originalResponse.isServerEncrypted;
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.workflowJobRunBackendId !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
+        if (message.name !== "")
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * If the blob has a MD5 hash, and if
-       * request contains range header (Range or x-ms-range), this response header
-       * is returned with the value of the whole blob's MD5 value. This value may
-       * or may not be equal to the value returned in Content-MD5 header, with the
-       * latter calculated from the requested range.
-       *
-       * @readonly
-       */
-      get blobContentMD5() {
-        return this.originalResponse.blobContentMD5;
+    };
+    exports2.GetSignedArtifactURLRequest = new GetSignedArtifactURLRequest$Type();
+    var GetSignedArtifactURLResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.GetSignedArtifactURLResponse", [
+          {
+            no: 1,
+            name: "signed_url",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
       }
-      /**
-       * Returns the date and time the file was last
-       * modified. Any operation that modifies the file or its properties updates
-       * the last modified time.
-       *
-       * @readonly
-       */
-      get lastModified() {
-        return this.originalResponse.lastModified;
+      create(value) {
+        const message = { signedUrl: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * A name-value pair
-       * to associate with a file storage object.
-       *
-       * @readonly
-       */
-      get metadata() {
-        return this.originalResponse.metadata;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string signed_url */
+            1:
+              message.signedUrl = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * This header uniquely identifies the request
-       * that was made and can be used for troubleshooting the request.
-       *
-       * @readonly
-       */
-      get requestId() {
-        return this.originalResponse.requestId;
+      internalBinaryWrite(message, writer, options) {
+        if (message.signedUrl !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.signedUrl);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * If a client request id header is sent in the request, this header will be present in the
-       * response with the same value.
-       *
-       * @readonly
-       */
-      get clientRequestId() {
-        return this.originalResponse.clientRequestId;
+    };
+    exports2.GetSignedArtifactURLResponse = new GetSignedArtifactURLResponse$Type();
+    var DeleteArtifactRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.DeleteArtifactRequest", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "workflow_job_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "name",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
       }
-      /**
-       * Indicates the version of the File service used
-       * to execute the request.
-       *
-       * @readonly
-       */
-      get version() {
-        return this.originalResponse.version;
+      create(value) {
+        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * The SHA-256 hash of the encryption key used to encrypt the blob. This value is only returned
-       * when the blob was encrypted with a customer-provided key.
-       *
-       * @readonly
-       */
-      get encryptionKeySha256() {
-        return this.originalResponse.encryptionKeySha256;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string workflow_job_run_backend_id */
+            2:
+              message.workflowJobRunBackendId = reader.string();
+              break;
+            case /* string name */
+            3:
+              message.name = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * If the request is to read a specified range and the x-ms-range-get-content-crc64 is set to
-       * true, then the request returns a crc64 for the range, as long as the range size is less than
-       * or equal to 4 MB. If both x-ms-range-get-content-crc64 & x-ms-range-get-content-md5 is
-       * specified in the same request, it will fail with 400(Bad Request)
-       */
-      get contentCrc64() {
-        return this.originalResponse.contentCrc64;
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.workflowJobRunBackendId !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
+        if (message.name !== "")
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * The response body as a browser Blob.
-       * Always undefined in node.js.
-       *
-       * @readonly
-       */
-      get blobBody() {
-        return void 0;
+    };
+    exports2.DeleteArtifactRequest = new DeleteArtifactRequest$Type();
+    var DeleteArtifactResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.DeleteArtifactResponse", [
+          {
+            no: 1,
+            name: "ok",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          },
+          {
+            no: 2,
+            name: "artifact_id",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          }
+        ]);
       }
-      /**
-       * The response body as a node.js Readable stream.
-       * Always undefined in the browser.
-       *
-       * It will parse avor data returned by blob query.
-       *
-       * @readonly
-       */
-      get readableStreamBody() {
-        return core_util_1.isNodeLike ? this.blobDownloadStream : void 0;
+      create(value) {
+        const message = { ok: false, artifactId: "0" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * The HTTP response.
-       */
-      get _response() {
-        return this.originalResponse._response;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool ok */
+            1:
+              message.ok = reader.bool();
+              break;
+            case /* int64 artifact_id */
+            2:
+              message.artifactId = reader.int64().toString();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      originalResponse;
-      blobDownloadStream;
-      /**
-       * Creates an instance of BlobQueryResponse.
-       *
-       * @param originalResponse -
-       * @param options -
-       */
-      constructor(originalResponse, options = {}) {
-        this.originalResponse = originalResponse;
-        this.blobDownloadStream = new BlobQuickQueryStream_js_1.BlobQuickQueryStream(this.originalResponse.readableStreamBody, options);
+      internalBinaryWrite(message, writer, options) {
+        if (message.ok !== false)
+          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
+        if (message.artifactId !== "0")
+          writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
     };
-    exports2.BlobQueryResponse = BlobQueryResponse;
+    exports2.DeleteArtifactResponse = new DeleteArtifactResponse$Type();
+    exports2.ArtifactService = new runtime_rpc_1.ServiceType("github.actions.results.api.v1.ArtifactService", [
+      { name: "CreateArtifact", options: {}, I: exports2.CreateArtifactRequest, O: exports2.CreateArtifactResponse },
+      { name: "FinalizeArtifact", options: {}, I: exports2.FinalizeArtifactRequest, O: exports2.FinalizeArtifactResponse },
+      { name: "ListArtifacts", options: {}, I: exports2.ListArtifactsRequest, O: exports2.ListArtifactsResponse },
+      { name: "GetSignedArtifactURL", options: {}, I: exports2.GetSignedArtifactURLRequest, O: exports2.GetSignedArtifactURLResponse },
+      { name: "DeleteArtifact", options: {}, I: exports2.DeleteArtifactRequest, O: exports2.DeleteArtifactResponse },
+      { name: "MigrateArtifact", options: {}, I: exports2.MigrateArtifactRequest, O: exports2.MigrateArtifactResponse },
+      { name: "FinalizeMigratedArtifact", options: {}, I: exports2.FinalizeMigratedArtifactRequest, O: exports2.FinalizeMigratedArtifactResponse }
+    ]);
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/models.js
-var require_models2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/models.js"(exports2) {
+// node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.js
+var require_artifact_twirp_client = __commonJS({
+  "node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageBlobAudience = exports2.PremiumPageBlobTier = exports2.BlockBlobTier = void 0;
-    exports2.toAccessTier = toAccessTier;
-    exports2.ensureCpkIfSpecified = ensureCpkIfSpecified;
-    exports2.getBlobServiceAccountAudience = getBlobServiceAccountAudience;
-    var constants_js_1 = require_constants15();
-    var BlockBlobTier;
-    (function(BlockBlobTier2) {
-      BlockBlobTier2["Hot"] = "Hot";
-      BlockBlobTier2["Cool"] = "Cool";
-      BlockBlobTier2["Cold"] = "Cold";
-      BlockBlobTier2["Archive"] = "Archive";
-    })(BlockBlobTier || (exports2.BlockBlobTier = BlockBlobTier = {}));
-    var PremiumPageBlobTier;
-    (function(PremiumPageBlobTier2) {
-      PremiumPageBlobTier2["P4"] = "P4";
-      PremiumPageBlobTier2["P6"] = "P6";
-      PremiumPageBlobTier2["P10"] = "P10";
-      PremiumPageBlobTier2["P15"] = "P15";
-      PremiumPageBlobTier2["P20"] = "P20";
-      PremiumPageBlobTier2["P30"] = "P30";
-      PremiumPageBlobTier2["P40"] = "P40";
-      PremiumPageBlobTier2["P50"] = "P50";
-      PremiumPageBlobTier2["P60"] = "P60";
-      PremiumPageBlobTier2["P70"] = "P70";
-      PremiumPageBlobTier2["P80"] = "P80";
-    })(PremiumPageBlobTier || (exports2.PremiumPageBlobTier = PremiumPageBlobTier = {}));
-    function toAccessTier(tier) {
-      if (tier === void 0) {
-        return void 0;
+    exports2.ArtifactServiceClientProtobuf = exports2.ArtifactServiceClientJSON = void 0;
+    var artifact_1 = require_artifact();
+    var ArtifactServiceClientJSON = class {
+      constructor(rpc) {
+        this.rpc = rpc;
+        this.CreateArtifact.bind(this);
+        this.FinalizeArtifact.bind(this);
+        this.ListArtifacts.bind(this);
+        this.GetSignedArtifactURL.bind(this);
+        this.DeleteArtifact.bind(this);
       }
-      return tier;
-    }
-    function ensureCpkIfSpecified(cpk, isHttps) {
-      if (cpk && !isHttps) {
-        throw new RangeError("Customer-provided encryption key must be used over HTTPS.");
+      CreateArtifact(request2) {
+        const data = artifact_1.CreateArtifactRequest.toJson(request2, {
+          useProtoFieldName: true,
+          emitDefaultValues: false
+        });
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "CreateArtifact", "application/json", data);
+        return promise.then((data2) => artifact_1.CreateArtifactResponse.fromJson(data2, {
+          ignoreUnknownFields: true
+        }));
       }
-      if (cpk && !cpk.encryptionAlgorithm) {
-        cpk.encryptionAlgorithm = constants_js_1.EncryptionAlgorithmAES25;
+      FinalizeArtifact(request2) {
+        const data = artifact_1.FinalizeArtifactRequest.toJson(request2, {
+          useProtoFieldName: true,
+          emitDefaultValues: false
+        });
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "FinalizeArtifact", "application/json", data);
+        return promise.then((data2) => artifact_1.FinalizeArtifactResponse.fromJson(data2, {
+          ignoreUnknownFields: true
+        }));
       }
-    }
-    var StorageBlobAudience;
-    (function(StorageBlobAudience2) {
-      StorageBlobAudience2["StorageOAuthScopes"] = "https://storage.azure.com/.default";
-      StorageBlobAudience2["DiskComputeOAuthScopes"] = "https://disk.compute.azure.com/.default";
-    })(StorageBlobAudience || (exports2.StorageBlobAudience = StorageBlobAudience = {}));
-    function getBlobServiceAccountAudience(storageAccountName) {
-      return `https://${storageAccountName}.blob.core.windows.net/.default`;
-    }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/PageBlobRangeResponse.js
-var require_PageBlobRangeResponse = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/PageBlobRangeResponse.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.rangeResponseFromModel = rangeResponseFromModel;
-    function rangeResponseFromModel(response) {
-      const pageRange = (response._response.parsedBody.pageRange || []).map((x) => ({
-        offset: x.start,
-        count: x.end - x.start
-      }));
-      const clearRange = (response._response.parsedBody.clearRange || []).map((x) => ({
-        offset: x.start,
-        count: x.end - x.start
-      }));
-      return {
-        ...response,
-        pageRange,
-        clearRange,
-        _response: {
-          ...response._response,
-          parsedBody: {
-            pageRange,
-            clearRange
-          }
-        }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-lro/dist/commonjs/logger.js
-var require_logger2 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/logger.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.logger = void 0;
-    var logger_1 = require_commonjs2();
-    exports2.logger = (0, logger_1.createClientLogger)("core-lro");
+      ListArtifacts(request2) {
+        const data = artifact_1.ListArtifactsRequest.toJson(request2, {
+          useProtoFieldName: true,
+          emitDefaultValues: false
+        });
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "ListArtifacts", "application/json", data);
+        return promise.then((data2) => artifact_1.ListArtifactsResponse.fromJson(data2, { ignoreUnknownFields: true }));
+      }
+      GetSignedArtifactURL(request2) {
+        const data = artifact_1.GetSignedArtifactURLRequest.toJson(request2, {
+          useProtoFieldName: true,
+          emitDefaultValues: false
+        });
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "GetSignedArtifactURL", "application/json", data);
+        return promise.then((data2) => artifact_1.GetSignedArtifactURLResponse.fromJson(data2, {
+          ignoreUnknownFields: true
+        }));
+      }
+      DeleteArtifact(request2) {
+        const data = artifact_1.DeleteArtifactRequest.toJson(request2, {
+          useProtoFieldName: true,
+          emitDefaultValues: false
+        });
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "DeleteArtifact", "application/json", data);
+        return promise.then((data2) => artifact_1.DeleteArtifactResponse.fromJson(data2, {
+          ignoreUnknownFields: true
+        }));
+      }
+    };
+    exports2.ArtifactServiceClientJSON = ArtifactServiceClientJSON;
+    var ArtifactServiceClientProtobuf = class {
+      constructor(rpc) {
+        this.rpc = rpc;
+        this.CreateArtifact.bind(this);
+        this.FinalizeArtifact.bind(this);
+        this.ListArtifacts.bind(this);
+        this.GetSignedArtifactURL.bind(this);
+        this.DeleteArtifact.bind(this);
+      }
+      CreateArtifact(request2) {
+        const data = artifact_1.CreateArtifactRequest.toBinary(request2);
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "CreateArtifact", "application/protobuf", data);
+        return promise.then((data2) => artifact_1.CreateArtifactResponse.fromBinary(data2));
+      }
+      FinalizeArtifact(request2) {
+        const data = artifact_1.FinalizeArtifactRequest.toBinary(request2);
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "FinalizeArtifact", "application/protobuf", data);
+        return promise.then((data2) => artifact_1.FinalizeArtifactResponse.fromBinary(data2));
+      }
+      ListArtifacts(request2) {
+        const data = artifact_1.ListArtifactsRequest.toBinary(request2);
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "ListArtifacts", "application/protobuf", data);
+        return promise.then((data2) => artifact_1.ListArtifactsResponse.fromBinary(data2));
+      }
+      GetSignedArtifactURL(request2) {
+        const data = artifact_1.GetSignedArtifactURLRequest.toBinary(request2);
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "GetSignedArtifactURL", "application/protobuf", data);
+        return promise.then((data2) => artifact_1.GetSignedArtifactURLResponse.fromBinary(data2));
+      }
+      DeleteArtifact(request2) {
+        const data = artifact_1.DeleteArtifactRequest.toBinary(request2);
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "DeleteArtifact", "application/protobuf", data);
+        return promise.then((data2) => artifact_1.DeleteArtifactResponse.fromBinary(data2));
+      }
+    };
+    exports2.ArtifactServiceClientProtobuf = ArtifactServiceClientProtobuf;
   }
 });
 
-// node_modules/@azure/core-lro/dist/commonjs/poller/constants.js
-var require_constants17 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/poller/constants.js"(exports2) {
+// node_modules/@actions/artifact/lib/generated/index.js
+var require_generated = __commonJS({
+  "node_modules/@actions/artifact/lib/generated/index.js"(exports2) {
     "use strict";
+    var __createBinding2 = 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 __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
+      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p);
+    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.terminalStates = exports2.POLL_INTERVAL_IN_MS = void 0;
-    exports2.POLL_INTERVAL_IN_MS = 2e3;
-    exports2.terminalStates = ["succeeded", "canceled", "failed"];
+    __exportStar2(require_timestamp(), exports2);
+    __exportStar2(require_wrappers(), exports2);
+    __exportStar2(require_artifact(), exports2);
+    __exportStar2(require_artifact_twirp_client(), exports2);
   }
 });
 
-// node_modules/@azure/core-lro/dist/commonjs/poller/operation.js
-var require_operation = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/poller/operation.js"(exports2) {
+// node_modules/@actions/artifact/lib/internal/upload/retention.js
+var require_retention = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/upload/retention.js"(exports2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.pollOperation = exports2.initOperation = exports2.deserializeState = void 0;
-    var logger_js_1 = require_logger2();
-    var constants_js_1 = require_constants17();
-    function deserializeState(serializedState) {
-      try {
-        return JSON.parse(serializedState).state;
-      } catch (e) {
-        throw new Error(`Unable to deserialize input state: ${serializedState}`);
-      }
-    }
-    exports2.deserializeState = deserializeState;
-    function setStateError(inputs) {
-      const { state, stateProxy, isOperationError } = inputs;
-      return (error3) => {
-        if (isOperationError(error3)) {
-          stateProxy.setError(state, error3);
-          stateProxy.setFailed(state);
-        }
-        throw error3;
-      };
-    }
-    function appendReadableErrorMessage(currentMessage, innerMessage) {
-      let message = currentMessage;
-      if (message.slice(-1) !== ".") {
-        message = message + ".";
+    var __createBinding2 = 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];
+        } };
       }
-      return message + " " + innerMessage;
-    }
-    function simplifyError(err) {
-      let message = err.message;
-      let code = err.code;
-      let curErr = err;
-      while (curErr.innererror) {
-        curErr = curErr.innererror;
-        code = curErr.code;
-        message = appendReadableErrorMessage(message, curErr.message);
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
       }
-      return {
-        code,
-        message
-      };
-    }
-    function processOperationStatus(result) {
-      const { state, stateProxy, status, isDone, processResult, getError, response, setErrorAsResult } = result;
-      switch (status) {
-        case "succeeded": {
-          stateProxy.setSucceeded(state);
-          break;
-        }
-        case "failed": {
-          const err = getError === null || getError === void 0 ? void 0 : getError(response);
-          let postfix = "";
-          if (err) {
-            const { code, message } = simplifyError(err);
-            postfix = `. ${code}. ${message}`;
-          }
-          const errStr = `The long-running operation has failed${postfix}`;
-          stateProxy.setError(state, new Error(errStr));
-          stateProxy.setFailed(state);
-          logger_js_1.logger.warning(errStr);
-          break;
-        }
-        case "canceled": {
-          stateProxy.setCanceled(state);
-          break;
-        }
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getExpiration = void 0;
+    var generated_1 = require_generated();
+    var core17 = __importStar2(require_core());
+    function getExpiration(retentionDays) {
+      if (!retentionDays) {
+        return void 0;
       }
-      if ((isDone === null || isDone === void 0 ? void 0 : isDone(response, state)) || isDone === void 0 && ["succeeded", "canceled"].concat(setErrorAsResult ? [] : ["failed"]).includes(status)) {
-        stateProxy.setResult(state, buildResult({
-          response,
-          state,
-          processResult
-        }));
+      const maxRetentionDays = getRetentionDays();
+      if (maxRetentionDays && maxRetentionDays < retentionDays) {
+        core17.warning(`Retention days cannot be greater than the maximum allowed retention set within the repository. Using ${maxRetentionDays} instead.`);
+        retentionDays = maxRetentionDays;
       }
+      const expirationDate = /* @__PURE__ */ new Date();
+      expirationDate.setDate(expirationDate.getDate() + retentionDays);
+      return generated_1.Timestamp.fromDate(expirationDate);
     }
-    function buildResult(inputs) {
-      const { processResult, response, state } = inputs;
-      return processResult ? processResult(response, state) : response;
-    }
-    async function initOperation(inputs) {
-      const { init, stateProxy, processResult, getOperationStatus, withOperationLocation, setErrorAsResult } = inputs;
-      const { operationLocation, resourceLocation, metadata, response } = await init();
-      if (operationLocation)
-        withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(operationLocation, false);
-      const config = {
-        metadata,
-        operationLocation,
-        resourceLocation
-      };
-      logger_js_1.logger.verbose(`LRO: Operation description:`, config);
-      const state = stateProxy.initState(config);
-      const status = getOperationStatus({ response, state, operationLocation });
-      processOperationStatus({ state, status, stateProxy, response, setErrorAsResult, processResult });
-      return state;
-    }
-    exports2.initOperation = initOperation;
-    async function pollOperationHelper(inputs) {
-      const { poll, state, stateProxy, operationLocation, getOperationStatus, getResourceLocation, isOperationError, options } = inputs;
-      const response = await poll(operationLocation, options).catch(setStateError({
-        state,
-        stateProxy,
-        isOperationError
-      }));
-      const status = getOperationStatus(response, state);
-      logger_js_1.logger.verbose(`LRO: Status:
-	Polling from: ${state.config.operationLocation}
-	Operation status: ${status}
-	Polling status: ${constants_js_1.terminalStates.includes(status) ? "Stopped" : "Running"}`);
-      if (status === "succeeded") {
-        const resourceLocation = getResourceLocation(response, state);
-        if (resourceLocation !== void 0) {
-          return {
-            response: await poll(resourceLocation).catch(setStateError({ state, stateProxy, isOperationError })),
-            status
-          };
-        }
+    exports2.getExpiration = getExpiration;
+    function getRetentionDays() {
+      const retentionDays = process.env["GITHUB_RETENTION_DAYS"];
+      if (!retentionDays) {
+        return void 0;
       }
-      return { response, status };
-    }
-    async function pollOperation(inputs) {
-      const { poll, state, stateProxy, options, getOperationStatus, getResourceLocation, getOperationLocation, isOperationError, withOperationLocation, getPollingInterval, processResult, getError, updateState, setDelay, isDone, setErrorAsResult } = inputs;
-      const { operationLocation } = state.config;
-      if (operationLocation !== void 0) {
-        const { response, status } = await pollOperationHelper({
-          poll,
-          getOperationStatus,
-          state,
-          stateProxy,
-          operationLocation,
-          getResourceLocation,
-          isOperationError,
-          options
-        });
-        processOperationStatus({
-          status,
-          response,
-          state,
-          stateProxy,
-          isDone,
-          processResult,
-          getError,
-          setErrorAsResult
-        });
-        if (!constants_js_1.terminalStates.includes(status)) {
-          const intervalInMs = getPollingInterval === null || getPollingInterval === void 0 ? void 0 : getPollingInterval(response);
-          if (intervalInMs)
-            setDelay(intervalInMs);
-          const location = getOperationLocation === null || getOperationLocation === void 0 ? void 0 : getOperationLocation(response, state);
-          if (location !== void 0) {
-            const isUpdated = operationLocation !== location;
-            state.config.operationLocation = location;
-            withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(location, isUpdated);
-          } else
-            withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(operationLocation, false);
-        }
-        updateState === null || updateState === void 0 ? void 0 : updateState(state, response);
+      const days = parseInt(retentionDays);
+      if (isNaN(days)) {
+        return void 0;
       }
+      return days;
     }
-    exports2.pollOperation = pollOperation;
   }
 });
 
-// node_modules/@azure/core-lro/dist/commonjs/http/operation.js
-var require_operation2 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/http/operation.js"(exports2) {
+// node_modules/@actions/artifact/lib/internal/upload/path-and-artifact-name-validation.js
+var require_path_and_artifact_name_validation = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/upload/path-and-artifact-name-validation.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.pollHttpOperation = exports2.isOperationError = exports2.getResourceLocation = exports2.getOperationStatus = exports2.getOperationLocation = exports2.initHttpOperation = exports2.getStatusFromInitialResponse = exports2.getErrorFromResponse = exports2.parseRetryAfter = exports2.inferLroMode = void 0;
-    var operation_js_1 = require_operation();
-    var logger_js_1 = require_logger2();
-    function getOperationLocationPollingUrl(inputs) {
-      const { azureAsyncOperation, operationLocation } = inputs;
-      return operationLocation !== null && operationLocation !== void 0 ? operationLocation : azureAsyncOperation;
-    }
-    function getLocationHeader(rawResponse) {
-      return rawResponse.headers["location"];
-    }
-    function getOperationLocationHeader(rawResponse) {
-      return rawResponse.headers["operation-location"];
-    }
-    function getAzureAsyncOperationHeader(rawResponse) {
-      return rawResponse.headers["azure-asyncoperation"];
-    }
-    function findResourceLocation(inputs) {
-      var _a;
-      const { location, requestMethod, requestPath, resourceLocationConfig } = inputs;
-      switch (requestMethod) {
-        case "PUT": {
-          return requestPath;
-        }
-        case "DELETE": {
-          return void 0;
-        }
-        case "PATCH": {
-          return (_a = getDefault()) !== null && _a !== void 0 ? _a : requestPath;
-        }
-        default: {
-          return getDefault();
-        }
-      }
-      function getDefault() {
-        switch (resourceLocationConfig) {
-          case "azure-async-operation": {
-            return void 0;
-          }
-          case "original-uri": {
-            return requestPath;
-          }
-          case "location":
-          default: {
-            return location;
-          }
-        }
-      }
-    }
-    function inferLroMode(inputs) {
-      const { rawResponse, requestMethod, requestPath, resourceLocationConfig } = inputs;
-      const operationLocation = getOperationLocationHeader(rawResponse);
-      const azureAsyncOperation = getAzureAsyncOperationHeader(rawResponse);
-      const pollingUrl = getOperationLocationPollingUrl({ operationLocation, azureAsyncOperation });
-      const location = getLocationHeader(rawResponse);
-      const normalizedRequestMethod = requestMethod === null || requestMethod === void 0 ? void 0 : requestMethod.toLocaleUpperCase();
-      if (pollingUrl !== void 0) {
-        return {
-          mode: "OperationLocation",
-          operationLocation: pollingUrl,
-          resourceLocation: findResourceLocation({
-            requestMethod: normalizedRequestMethod,
-            location,
-            requestPath,
-            resourceLocationConfig
-          })
-        };
-      } else if (location !== void 0) {
-        return {
-          mode: "ResourceLocation",
-          operationLocation: location
-        };
-      } else if (normalizedRequestMethod === "PUT" && requestPath) {
-        return {
-          mode: "Body",
-          operationLocation: requestPath
-        };
-      } else {
-        return void 0;
-      }
-    }
-    exports2.inferLroMode = inferLroMode;
-    function transformStatus(inputs) {
-      const { status, statusCode } = inputs;
-      if (typeof status !== "string" && status !== void 0) {
-        throw new Error(`Polling was unsuccessful. Expected status to have a string value or no value but it has instead: ${status}. This doesn't necessarily indicate the operation has failed. Check your Azure subscription or resource status for more information.`);
-      }
-      switch (status === null || status === void 0 ? void 0 : status.toLocaleLowerCase()) {
-        case void 0:
-          return toOperationStatus(statusCode);
-        case "succeeded":
-          return "succeeded";
-        case "failed":
-          return "failed";
-        case "running":
-        case "accepted":
-        case "started":
-        case "canceling":
-        case "cancelling":
-          return "running";
-        case "canceled":
-        case "cancelled":
-          return "canceled";
-        default: {
-          logger_js_1.logger.verbose(`LRO: unrecognized operation status: ${status}`);
-          return status;
-        }
-      }
-    }
-    function getStatus(rawResponse) {
-      var _a;
-      const { status } = (_a = rawResponse.body) !== null && _a !== void 0 ? _a : {};
-      return transformStatus({ status, statusCode: rawResponse.statusCode });
-    }
-    function getProvisioningState(rawResponse) {
-      var _a, _b;
-      const { properties, provisioningState } = (_a = rawResponse.body) !== null && _a !== void 0 ? _a : {};
-      const status = (_b = properties === null || properties === void 0 ? void 0 : properties.provisioningState) !== null && _b !== void 0 ? _b : provisioningState;
-      return transformStatus({ status, statusCode: rawResponse.statusCode });
-    }
-    function toOperationStatus(statusCode) {
-      if (statusCode === 202) {
-        return "running";
-      } else if (statusCode < 300) {
-        return "succeeded";
-      } else {
-        return "failed";
-      }
-    }
-    function parseRetryAfter({ rawResponse }) {
-      const retryAfter = rawResponse.headers["retry-after"];
-      if (retryAfter !== void 0) {
-        const retryAfterInSeconds = parseInt(retryAfter);
-        return isNaN(retryAfterInSeconds) ? calculatePollingIntervalFromDate(new Date(retryAfter)) : retryAfterInSeconds * 1e3;
-      }
-      return void 0;
-    }
-    exports2.parseRetryAfter = parseRetryAfter;
-    function getErrorFromResponse(response) {
-      const error3 = accessBodyProperty(response, "error");
-      if (!error3) {
-        logger_js_1.logger.warning(`The long-running operation failed but there is no error property in the response's body`);
-        return;
-      }
-      if (!error3.code || !error3.message) {
-        logger_js_1.logger.warning(`The long-running operation failed but the error property in the response's body doesn't contain code or message`);
-        return;
-      }
-      return error3;
-    }
-    exports2.getErrorFromResponse = getErrorFromResponse;
-    function calculatePollingIntervalFromDate(retryAfterDate) {
-      const timeNow = Math.floor((/* @__PURE__ */ new Date()).getTime());
-      const retryAfterTime = retryAfterDate.getTime();
-      if (timeNow < retryAfterTime) {
-        return retryAfterTime - timeNow;
-      }
-      return void 0;
-    }
-    function getStatusFromInitialResponse(inputs) {
-      const { response, state, operationLocation } = inputs;
-      function helper() {
-        var _a;
-        const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"];
-        switch (mode) {
-          case void 0:
-            return toOperationStatus(response.rawResponse.statusCode);
-          case "Body":
-            return getOperationStatus(response, state);
-          default:
-            return "running";
-        }
-      }
-      const status = helper();
-      return status === "running" && operationLocation === void 0 ? "succeeded" : status;
-    }
-    exports2.getStatusFromInitialResponse = getStatusFromInitialResponse;
-    async function initHttpOperation(inputs) {
-      const { stateProxy, resourceLocationConfig, processResult, lro, setErrorAsResult } = inputs;
-      return (0, operation_js_1.initOperation)({
-        init: async () => {
-          const response = await lro.sendInitialRequest();
-          const config = inferLroMode({
-            rawResponse: response.rawResponse,
-            requestPath: lro.requestPath,
-            requestMethod: lro.requestMethod,
-            resourceLocationConfig
-          });
-          return Object.assign({ response, operationLocation: config === null || config === void 0 ? void 0 : config.operationLocation, resourceLocation: config === null || config === void 0 ? void 0 : config.resourceLocation }, (config === null || config === void 0 ? void 0 : config.mode) ? { metadata: { mode: config.mode } } : {});
-        },
-        stateProxy,
-        processResult: processResult ? ({ flatResponse }, state) => processResult(flatResponse, state) : ({ flatResponse }) => flatResponse,
-        getOperationStatus: getStatusFromInitialResponse,
-        setErrorAsResult
-      });
-    }
-    exports2.initHttpOperation = initHttpOperation;
-    function getOperationLocation({ rawResponse }, state) {
-      var _a;
-      const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"];
-      switch (mode) {
-        case "OperationLocation": {
-          return getOperationLocationPollingUrl({
-            operationLocation: getOperationLocationHeader(rawResponse),
-            azureAsyncOperation: getAzureAsyncOperationHeader(rawResponse)
-          });
-        }
-        case "ResourceLocation": {
-          return getLocationHeader(rawResponse);
-        }
-        case "Body":
-        default: {
-          return void 0;
-        }
+    exports2.validateFilePath = exports2.validateArtifactName = void 0;
+    var core_1 = require_core();
+    var invalidArtifactFilePathCharacters = /* @__PURE__ */ new Map([
+      ['"', ' Double quote "'],
+      [":", " Colon :"],
+      ["<", " Less than <"],
+      [">", " Greater than >"],
+      ["|", " Vertical bar |"],
+      ["*", " Asterisk *"],
+      ["?", " Question mark ?"],
+      ["\r", " Carriage return \\r"],
+      ["\n", " Line feed \\n"]
+    ]);
+    var invalidArtifactNameCharacters = new Map([
+      ...invalidArtifactFilePathCharacters,
+      ["\\", " Backslash \\"],
+      ["/", " Forward slash /"]
+    ]);
+    function validateArtifactName(name) {
+      if (!name) {
+        throw new Error(`Provided artifact name input during validation is empty`);
       }
-    }
-    exports2.getOperationLocation = getOperationLocation;
-    function getOperationStatus({ rawResponse }, state) {
-      var _a;
-      const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"];
-      switch (mode) {
-        case "OperationLocation": {
-          return getStatus(rawResponse);
-        }
-        case "ResourceLocation": {
-          return toOperationStatus(rawResponse.statusCode);
-        }
-        case "Body": {
-          return getProvisioningState(rawResponse);
+      for (const [invalidCharacterKey, errorMessageForCharacter] of invalidArtifactNameCharacters) {
+        if (name.includes(invalidCharacterKey)) {
+          throw new Error(`The artifact name is not valid: ${name}. Contains the following character: ${errorMessageForCharacter}
+          
+Invalid characters include: ${Array.from(invalidArtifactNameCharacters.values()).toString()}
+          
+These characters are not allowed in the artifact name due to limitations with certain file systems such as NTFS. To maintain file system agnostic behavior, these characters are intentionally not allowed to prevent potential problems with downloads on different file systems.`);
         }
-        default:
-          throw new Error(`Internal error: Unexpected operation mode: ${mode}`);
       }
+      (0, core_1.info)(`Artifact name is valid!`);
     }
-    exports2.getOperationStatus = getOperationStatus;
-    function accessBodyProperty({ flatResponse, rawResponse }, prop) {
-      var _a, _b;
-      return (_a = flatResponse === null || flatResponse === void 0 ? void 0 : flatResponse[prop]) !== null && _a !== void 0 ? _a : (_b = rawResponse.body) === null || _b === void 0 ? void 0 : _b[prop];
-    }
-    function getResourceLocation(res, state) {
-      const loc = accessBodyProperty(res, "resourceLocation");
-      if (loc && typeof loc === "string") {
-        state.config.resourceLocation = loc;
+    exports2.validateArtifactName = validateArtifactName;
+    function validateFilePath(path16) {
+      if (!path16) {
+        throw new Error(`Provided file path input during validation is empty`);
+      }
+      for (const [invalidCharacterKey, errorMessageForCharacter] of invalidArtifactFilePathCharacters) {
+        if (path16.includes(invalidCharacterKey)) {
+          throw new Error(`The path for one of the files in artifact is not valid: ${path16}. Contains the following character: ${errorMessageForCharacter}
+          
+Invalid characters include: ${Array.from(invalidArtifactFilePathCharacters.values()).toString()}
+          
+The following characters are not allowed in files that are uploaded due to limitations with certain file systems such as NTFS. To maintain file system agnostic behavior, these characters are intentionally not allowed to prevent potential problems with downloads on different file systems.
+          `);
+        }
       }
-      return state.config.resourceLocation;
-    }
-    exports2.getResourceLocation = getResourceLocation;
-    function isOperationError(e) {
-      return e.name === "RestError";
-    }
-    exports2.isOperationError = isOperationError;
-    async function pollHttpOperation(inputs) {
-      const { lro, stateProxy, options, processResult, updateState, setDelay, state, setErrorAsResult } = inputs;
-      return (0, operation_js_1.pollOperation)({
-        state,
-        stateProxy,
-        setDelay,
-        processResult: processResult ? ({ flatResponse }, inputState) => processResult(flatResponse, inputState) : ({ flatResponse }) => flatResponse,
-        getError: getErrorFromResponse,
-        updateState,
-        getPollingInterval: parseRetryAfter,
-        getOperationLocation,
-        getOperationStatus,
-        isOperationError,
-        getResourceLocation,
-        options,
-        /**
-         * The expansion here is intentional because `lro` could be an object that
-         * references an inner this, so we need to preserve a reference to it.
-         */
-        poll: async (location, inputOptions) => lro.sendPollRequest(location, inputOptions),
-        setErrorAsResult
-      });
     }
-    exports2.pollHttpOperation = pollHttpOperation;
+    exports2.validateFilePath = validateFilePath;
   }
 });
 
-// node_modules/@azure/core-lro/dist/commonjs/poller/poller.js
-var require_poller = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/poller/poller.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.buildCreatePoller = void 0;
-    var operation_js_1 = require_operation();
-    var constants_js_1 = require_constants17();
-    var core_util_1 = require_commonjs4();
-    var createStateProxy = () => ({
-      /**
-       * The state at this point is created to be of type OperationState.
-       * It will be updated later to be of type TState when the
-       * customer-provided callback, `updateState`, is called during polling.
-       */
-      initState: (config) => ({ status: "running", config }),
-      setCanceled: (state) => state.status = "canceled",
-      setError: (state, error3) => state.error = error3,
-      setResult: (state, result) => state.result = result,
-      setRunning: (state) => state.status = "running",
-      setSucceeded: (state) => state.status = "succeeded",
-      setFailed: (state) => state.status = "failed",
-      getError: (state) => state.error,
-      getResult: (state) => state.result,
-      isCanceled: (state) => state.status === "canceled",
-      isFailed: (state) => state.status === "failed",
-      isRunning: (state) => state.status === "running",
-      isSucceeded: (state) => state.status === "succeeded"
-    });
-    function buildCreatePoller(inputs) {
-      const { getOperationLocation, getStatusFromInitialResponse, getStatusFromPollResponse, isOperationError, getResourceLocation, getPollingInterval, getError, resolveOnUnsuccessful } = inputs;
-      return async ({ init, poll }, options) => {
-        const { processResult, updateState, withOperationLocation: withOperationLocationCallback, intervalInMs = constants_js_1.POLL_INTERVAL_IN_MS, restoreFrom } = options || {};
-        const stateProxy = createStateProxy();
-        const withOperationLocation = withOperationLocationCallback ? /* @__PURE__ */ (() => {
-          let called = false;
-          return (operationLocation, isUpdated) => {
-            if (isUpdated)
-              withOperationLocationCallback(operationLocation);
-            else if (!called)
-              withOperationLocationCallback(operationLocation);
-            called = true;
-          };
-        })() : void 0;
-        const state = restoreFrom ? (0, operation_js_1.deserializeState)(restoreFrom) : await (0, operation_js_1.initOperation)({
-          init,
-          stateProxy,
-          processResult,
-          getOperationStatus: getStatusFromInitialResponse,
-          withOperationLocation,
-          setErrorAsResult: !resolveOnUnsuccessful
-        });
-        let resultPromise;
-        const abortController = new AbortController();
-        const handlers = /* @__PURE__ */ new Map();
-        const handleProgressEvents = async () => handlers.forEach((h) => h(state));
-        const cancelErrMsg = "Operation was canceled";
-        let currentPollIntervalInMs = intervalInMs;
-        const poller = {
-          getOperationState: () => state,
-          getResult: () => state.result,
-          isDone: () => ["succeeded", "failed", "canceled"].includes(state.status),
-          isStopped: () => resultPromise === void 0,
-          stopPolling: () => {
-            abortController.abort();
-          },
-          toString: () => JSON.stringify({
-            state
-          }),
-          onProgress: (callback) => {
-            const s = /* @__PURE__ */ Symbol();
-            handlers.set(s, callback);
-            return () => handlers.delete(s);
-          },
-          pollUntilDone: (pollOptions) => resultPromise !== null && resultPromise !== void 0 ? resultPromise : resultPromise = (async () => {
-            const { abortSignal: inputAbortSignal } = pollOptions || {};
-            function abortListener() {
-              abortController.abort();
-            }
-            const abortSignal = abortController.signal;
-            if (inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.aborted) {
-              abortController.abort();
-            } else if (!abortSignal.aborted) {
-              inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.addEventListener("abort", abortListener, { once: true });
-            }
-            try {
-              if (!poller.isDone()) {
-                await poller.poll({ abortSignal });
-                while (!poller.isDone()) {
-                  await (0, core_util_1.delay)(currentPollIntervalInMs, { abortSignal });
-                  await poller.poll({ abortSignal });
-                }
-              }
-            } finally {
-              inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.removeEventListener("abort", abortListener);
-            }
-            if (resolveOnUnsuccessful) {
-              return poller.getResult();
-            } else {
-              switch (state.status) {
-                case "succeeded":
-                  return poller.getResult();
-                case "canceled":
-                  throw new Error(cancelErrMsg);
-                case "failed":
-                  throw state.error;
-                case "notStarted":
-                case "running":
-                  throw new Error(`Polling completed without succeeding or failing`);
-              }
-            }
-          })().finally(() => {
-            resultPromise = void 0;
-          }),
-          async poll(pollOptions) {
-            if (resolveOnUnsuccessful) {
-              if (poller.isDone())
-                return;
-            } else {
-              switch (state.status) {
-                case "succeeded":
-                  return;
-                case "canceled":
-                  throw new Error(cancelErrMsg);
-                case "failed":
-                  throw state.error;
-              }
-            }
-            await (0, operation_js_1.pollOperation)({
-              poll,
-              state,
-              stateProxy,
-              getOperationLocation,
-              isOperationError,
-              withOperationLocation,
-              getPollingInterval,
-              getOperationStatus: getStatusFromPollResponse,
-              getResourceLocation,
-              processResult,
-              getError,
-              updateState,
-              options: pollOptions,
-              setDelay: (pollIntervalInMs) => {
-                currentPollIntervalInMs = pollIntervalInMs;
-              },
-              setErrorAsResult: !resolveOnUnsuccessful
-            });
-            await handleProgressEvents();
-            if (!resolveOnUnsuccessful) {
-              switch (state.status) {
-                case "canceled":
-                  throw new Error(cancelErrMsg);
-                case "failed":
-                  throw state.error;
-              }
-            }
-          }
-        };
-        return poller;
-      };
-    }
-    exports2.buildCreatePoller = buildCreatePoller;
+// node_modules/@actions/artifact/package.json
+var require_package3 = __commonJS({
+  "node_modules/@actions/artifact/package.json"(exports2, module2) {
+    module2.exports = {
+      name: "@actions/artifact",
+      version: "5.0.3",
+      preview: true,
+      description: "Actions artifact lib",
+      keywords: [
+        "github",
+        "actions",
+        "artifact"
+      ],
+      homepage: "https://github.com/actions/toolkit/tree/main/packages/artifact",
+      license: "MIT",
+      main: "lib/artifact.js",
+      types: "lib/artifact.d.ts",
+      directories: {
+        lib: "lib",
+        test: "__tests__"
+      },
+      files: [
+        "lib",
+        "!.DS_Store"
+      ],
+      publishConfig: {
+        access: "public"
+      },
+      repository: {
+        type: "git",
+        url: "git+https://github.com/actions/toolkit.git",
+        directory: "packages/artifact"
+      },
+      scripts: {
+        "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json",
+        test: "cd ../../ && npm run test ./packages/artifact",
+        bootstrap: "cd ../../ && npm run bootstrap",
+        "tsc-run": "tsc",
+        tsc: "npm run bootstrap && npm run tsc-run",
+        "gen:docs": "typedoc --plugin typedoc-plugin-markdown --out docs/generated src/artifact.ts --githubPages false --readme none"
+      },
+      bugs: {
+        url: "https://github.com/actions/toolkit/issues"
+      },
+      dependencies: {
+        "@actions/core": "^2.0.0",
+        "@actions/github": "^6.0.1",
+        "@actions/http-client": "^3.0.2",
+        "@azure/storage-blob": "^12.29.1",
+        "@octokit/core": "^5.2.1",
+        "@octokit/plugin-request-log": "^1.0.4",
+        "@octokit/plugin-retry": "^3.0.9",
+        "@octokit/request": "^8.4.1",
+        "@octokit/request-error": "^5.1.1",
+        "@protobuf-ts/plugin": "^2.2.3-alpha.1",
+        archiver: "^7.0.1",
+        "jwt-decode": "^3.1.2",
+        "unzip-stream": "^0.3.1"
+      },
+      devDependencies: {
+        "@types/archiver": "^5.3.2",
+        "@types/unzip-stream": "^0.3.4",
+        typedoc: "^0.28.13",
+        "typedoc-plugin-markdown": "^3.17.1",
+        typescript: "^5.2.2"
+      },
+      overrides: {
+        "uri-js": "npm:uri-js-replace@^1.0.1",
+        "node-fetch": "^3.3.2"
+      }
+    };
   }
 });
 
-// node_modules/@azure/core-lro/dist/commonjs/http/poller.js
-var require_poller2 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/http/poller.js"(exports2) {
+// node_modules/@actions/artifact/lib/internal/shared/user-agent.js
+var require_user_agent2 = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/shared/user-agent.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createHttpPoller = void 0;
-    var operation_js_1 = require_operation2();
-    var poller_js_1 = require_poller();
-    async function createHttpPoller(lro, options) {
-      const { resourceLocationConfig, intervalInMs, processResult, restoreFrom, updateState, withOperationLocation, resolveOnUnsuccessful = false } = options || {};
-      return (0, poller_js_1.buildCreatePoller)({
-        getStatusFromInitialResponse: operation_js_1.getStatusFromInitialResponse,
-        getStatusFromPollResponse: operation_js_1.getOperationStatus,
-        isOperationError: operation_js_1.isOperationError,
-        getOperationLocation: operation_js_1.getOperationLocation,
-        getResourceLocation: operation_js_1.getResourceLocation,
-        getPollingInterval: operation_js_1.parseRetryAfter,
-        getError: operation_js_1.getErrorFromResponse,
-        resolveOnUnsuccessful
-      })({
-        init: async () => {
-          const response = await lro.sendInitialRequest();
-          const config = (0, operation_js_1.inferLroMode)({
-            rawResponse: response.rawResponse,
-            requestPath: lro.requestPath,
-            requestMethod: lro.requestMethod,
-            resourceLocationConfig
-          });
-          return Object.assign({ response, operationLocation: config === null || config === void 0 ? void 0 : config.operationLocation, resourceLocation: config === null || config === void 0 ? void 0 : config.resourceLocation }, (config === null || config === void 0 ? void 0 : config.mode) ? { metadata: { mode: config.mode } } : {});
-        },
-        poll: lro.sendPollRequest
-      }, {
-        intervalInMs,
-        withOperationLocation,
-        restoreFrom,
-        updateState,
-        processResult: processResult ? ({ flatResponse }, state) => processResult(flatResponse, state) : ({ flatResponse }) => flatResponse
-      });
+    exports2.getUserAgentString = void 0;
+    var packageJson = require_package3();
+    function getUserAgentString() {
+      return `@actions/artifact-${packageJson.version}`;
     }
-    exports2.createHttpPoller = createHttpPoller;
+    exports2.getUserAgentString = getUserAgentString;
   }
 });
 
-// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/operation.js
-var require_operation3 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/operation.js"(exports2) {
+// node_modules/@actions/artifact/lib/internal/shared/errors.js
+var require_errors4 = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/shared/errors.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.GenericPollOperation = void 0;
-    var operation_js_1 = require_operation2();
-    var logger_js_1 = require_logger2();
-    var createStateProxy = () => ({
-      initState: (config) => ({ config, isStarted: true }),
-      setCanceled: (state) => state.isCancelled = true,
-      setError: (state, error3) => state.error = error3,
-      setResult: (state, result) => state.result = result,
-      setRunning: (state) => state.isStarted = true,
-      setSucceeded: (state) => state.isCompleted = true,
-      setFailed: () => {
-      },
-      getError: (state) => state.error,
-      getResult: (state) => state.result,
-      isCanceled: (state) => !!state.isCancelled,
-      isFailed: (state) => !!state.error,
-      isRunning: (state) => !!state.isStarted,
-      isSucceeded: (state) => Boolean(state.isCompleted && !state.isCancelled && !state.error)
-    });
-    var GenericPollOperation = class {
-      constructor(state, lro, setErrorAsResult, lroResourceLocationConfig, processResult, updateState, isDone) {
-        this.state = state;
-        this.lro = lro;
-        this.setErrorAsResult = setErrorAsResult;
-        this.lroResourceLocationConfig = lroResourceLocationConfig;
-        this.processResult = processResult;
-        this.updateState = updateState;
-        this.isDone = isDone;
+    exports2.UsageError = exports2.NetworkError = exports2.GHESNotSupportedError = exports2.ArtifactNotFoundError = exports2.InvalidResponseError = exports2.FilesNotFoundError = void 0;
+    var FilesNotFoundError = class extends Error {
+      constructor(files = []) {
+        let message = "No files were found to upload";
+        if (files.length > 0) {
+          message += `: ${files.join(", ")}`;
+        }
+        super(message);
+        this.files = files;
+        this.name = "FilesNotFoundError";
       }
-      setPollerConfig(pollerConfig) {
-        this.pollerConfig = pollerConfig;
+    };
+    exports2.FilesNotFoundError = FilesNotFoundError;
+    var InvalidResponseError = class extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "InvalidResponseError";
       }
-      async update(options) {
-        var _a;
-        const stateProxy = createStateProxy();
-        if (!this.state.isStarted) {
-          this.state = Object.assign(Object.assign({}, this.state), await (0, operation_js_1.initHttpOperation)({
-            lro: this.lro,
-            stateProxy,
-            resourceLocationConfig: this.lroResourceLocationConfig,
-            processResult: this.processResult,
-            setErrorAsResult: this.setErrorAsResult
-          }));
-        }
-        const updateState = this.updateState;
-        const isDone = this.isDone;
-        if (!this.state.isCompleted && this.state.error === void 0) {
-          await (0, operation_js_1.pollHttpOperation)({
-            lro: this.lro,
-            state: this.state,
-            stateProxy,
-            processResult: this.processResult,
-            updateState: updateState ? (state, { rawResponse }) => updateState(state, rawResponse) : void 0,
-            isDone: isDone ? ({ flatResponse }, state) => isDone(flatResponse, state) : void 0,
-            options,
-            setDelay: (intervalInMs) => {
-              this.pollerConfig.intervalInMs = intervalInMs;
-            },
-            setErrorAsResult: this.setErrorAsResult
-          });
-        }
-        (_a = options === null || options === void 0 ? void 0 : options.fireProgress) === null || _a === void 0 ? void 0 : _a.call(options, this.state);
-        return this;
+    };
+    exports2.InvalidResponseError = InvalidResponseError;
+    var ArtifactNotFoundError = class extends Error {
+      constructor(message = "Artifact not found") {
+        super(message);
+        this.name = "ArtifactNotFoundError";
       }
-      async cancel() {
-        logger_js_1.logger.error("`cancelOperation` is deprecated because it wasn't implemented");
-        return this;
+    };
+    exports2.ArtifactNotFoundError = ArtifactNotFoundError;
+    var GHESNotSupportedError = class extends Error {
+      constructor(message = "@actions/artifact v2.0.0+, upload-artifact@v4+ and download-artifact@v4+ are not currently supported on GHES.") {
+        super(message);
+        this.name = "GHESNotSupportedError";
       }
-      /**
-       * Serializes the Poller operation.
-       */
-      toString() {
-        return JSON.stringify({
-          state: this.state
-        });
+    };
+    exports2.GHESNotSupportedError = GHESNotSupportedError;
+    var NetworkError = class extends Error {
+      constructor(code) {
+        const message = `Unable to make request: ${code}
+If you are using self-hosted runners, please make sure your runner has access to all GitHub endpoints: https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#communication-between-self-hosted-runners-and-github`;
+        super(message);
+        this.code = code;
+        this.name = "NetworkError";
       }
     };
-    exports2.GenericPollOperation = GenericPollOperation;
+    exports2.NetworkError = NetworkError;
+    NetworkError.isNetworkErrorCode = (code) => {
+      if (!code)
+        return false;
+      return [
+        "ECONNRESET",
+        "ENOTFOUND",
+        "ETIMEDOUT",
+        "ECONNREFUSED",
+        "EHOSTUNREACH"
+      ].includes(code);
+    };
+    var UsageError = class extends Error {
+      constructor() {
+        const message = `Artifact storage quota has been hit. Unable to upload any new artifacts. Usage is recalculated every 6-12 hours.
+More info on storage limits: https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#calculating-minute-and-storage-spending`;
+        super(message);
+        this.name = "UsageError";
+      }
+    };
+    exports2.UsageError = UsageError;
+    UsageError.isUsageErrorMessage = (msg) => {
+      if (!msg)
+        return false;
+      return msg.includes("insufficient usage");
+    };
   }
 });
 
-// node_modules/@azure/core-lro/dist/commonjs/legacy/poller.js
-var require_poller3 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/legacy/poller.js"(exports2) {
+// node_modules/jwt-decode/build/jwt-decode.cjs.js
+var require_jwt_decode_cjs = __commonJS({
+  "node_modules/jwt-decode/build/jwt-decode.cjs.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Poller = exports2.PollerCancelledError = exports2.PollerStoppedError = void 0;
-    var PollerStoppedError = class _PollerStoppedError extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "PollerStoppedError";
-        Object.setPrototypeOf(this, _PollerStoppedError.prototype);
-      }
+    function e(e2) {
+      this.message = e2;
+    }
+    e.prototype = new Error(), e.prototype.name = "InvalidCharacterError";
+    var r = "undefined" != typeof window && window.atob && window.atob.bind(window) || function(r2) {
+      var t2 = String(r2).replace(/=+$/, "");
+      if (t2.length % 4 == 1) throw new e("'atob' failed: The string to be decoded is not correctly encoded.");
+      for (var n2, o2, a2 = 0, i = 0, c = ""; o2 = t2.charAt(i++); ~o2 && (n2 = a2 % 4 ? 64 * n2 + o2 : o2, a2++ % 4) ? c += String.fromCharCode(255 & n2 >> (-2 * a2 & 6)) : 0) o2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(o2);
+      return c;
     };
-    exports2.PollerStoppedError = PollerStoppedError;
-    var PollerCancelledError = class _PollerCancelledError extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "PollerCancelledError";
-        Object.setPrototypeOf(this, _PollerCancelledError.prototype);
+    function t(e2) {
+      var t2 = e2.replace(/-/g, "+").replace(/_/g, "/");
+      switch (t2.length % 4) {
+        case 0:
+          break;
+        case 2:
+          t2 += "==";
+          break;
+        case 3:
+          t2 += "=";
+          break;
+        default:
+          throw "Illegal base64url string!";
+      }
+      try {
+        return (function(e3) {
+          return decodeURIComponent(r(e3).replace(/(.)/g, (function(e4, r2) {
+            var t3 = r2.charCodeAt(0).toString(16).toUpperCase();
+            return t3.length < 2 && (t3 = "0" + t3), "%" + t3;
+          })));
+        })(t2);
+      } catch (e3) {
+        return r(t2);
+      }
+    }
+    function n(e2) {
+      this.message = e2;
+    }
+    function o(e2, r2) {
+      if ("string" != typeof e2) throw new n("Invalid token specified");
+      var o2 = true === (r2 = r2 || {}).header ? 0 : 1;
+      try {
+        return JSON.parse(t(e2.split(".")[o2]));
+      } catch (e3) {
+        throw new n("Invalid token specified: " + e3.message);
+      }
+    }
+    n.prototype = new Error(), n.prototype.name = "InvalidTokenError";
+    var a = o;
+    a.default = o, a.InvalidTokenError = n, module2.exports = a;
+  }
+});
+
+// node_modules/@actions/artifact/lib/internal/shared/util.js
+var require_util19 = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/shared/util.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
       }
+      __setModuleDefault2(result, mod);
+      return result;
     };
-    exports2.PollerCancelledError = PollerCancelledError;
-    var Poller = class {
-      /**
-       * A poller needs to be initialized by passing in at least the basic properties of the `PollOperation`.
-       *
-       * When writing an implementation of a Poller, this implementation needs to deal with the initialization
-       * of any custom state beyond the basic definition of the poller. The basic poller assumes that the poller's
-       * operation has already been defined, at least its basic properties. The code below shows how to approach
-       * the definition of the constructor of a new custom poller.
-       *
-       * ```ts
-       * export class MyPoller extends Poller {
-       *   constructor({
-       *     // Anything you might need outside of the basics
-       *   }) {
-       *     let state: MyOperationState = {
-       *       privateProperty: private,
-       *       publicProperty: public,
-       *     };
-       *
-       *     const operation = {
-       *       state,
-       *       update,
-       *       cancel,
-       *       toString
-       *     }
-       *
-       *     // Sending the operation to the parent's constructor.
-       *     super(operation);
-       *
-       *     // You can assign more local properties here.
-       *   }
-       * }
-       * ```
-       *
-       * Inside of this constructor, a new promise is created. This will be used to
-       * tell the user when the poller finishes (see `pollUntilDone()`). The promise's
-       * resolve and reject methods are also used internally to control when to resolve
-       * or reject anyone waiting for the poller to finish.
-       *
-       * The constructor of a custom implementation of a poller is where any serialized version of
-       * a previous poller's operation should be deserialized into the operation sent to the
-       * base constructor. For example:
-       *
-       * ```ts
-       * export class MyPoller extends Poller {
-       *   constructor(
-       *     baseOperation: string | undefined
-       *   ) {
-       *     let state: MyOperationState = {};
-       *     if (baseOperation) {
-       *       state = {
-       *         ...JSON.parse(baseOperation).state,
-       *         ...state
-       *       };
-       *     }
-       *     const operation = {
-       *       state,
-       *       // ...
-       *     }
-       *     super(operation);
-       *   }
-       * }
-       * ```
-       *
-       * @param operation - Must contain the basic properties of `PollOperation`.
-       */
-      constructor(operation) {
-        this.resolveOnUnsuccessful = false;
-        this.stopped = true;
-        this.pollProgressCallbacks = [];
-        this.operation = operation;
-        this.promise = new Promise((resolve8, reject) => {
-          this.resolve = resolve8;
-          this.reject = reject;
-        });
-        this.promise.catch(() => {
-        });
+    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
+      return mod && mod.__esModule ? mod : { "default": mod };
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.maskSecretUrls = exports2.maskSigUrl = exports2.getBackendIdsFromToken = void 0;
+    var core17 = __importStar2(require_core());
+    var config_1 = require_config2();
+    var jwt_decode_1 = __importDefault2(require_jwt_decode_cjs());
+    var core_1 = require_core();
+    var InvalidJwtError = new Error("Failed to get backend IDs: The provided JWT token is invalid and/or missing claims");
+    function getBackendIdsFromToken() {
+      const token = (0, config_1.getRuntimeToken)();
+      const decoded = (0, jwt_decode_1.default)(token);
+      if (!decoded.scp) {
+        throw InvalidJwtError;
       }
-      /**
-       * Starts a loop that will break only if the poller is done
-       * or if the poller is stopped.
-       */
-      async startPolling(pollOptions = {}) {
-        if (this.stopped) {
-          this.stopped = false;
+      const scpParts = decoded.scp.split(" ");
+      if (scpParts.length === 0) {
+        throw InvalidJwtError;
+      }
+      for (const scopes of scpParts) {
+        const scopeParts = scopes.split(":");
+        if ((scopeParts === null || scopeParts === void 0 ? void 0 : scopeParts[0]) !== "Actions.Results") {
+          continue;
         }
-        while (!this.isStopped() && !this.isDone()) {
-          await this.poll(pollOptions);
-          await this.delay();
+        if (scopeParts.length !== 3) {
+          throw InvalidJwtError;
         }
+        const ids = {
+          workflowRunBackendId: scopeParts[1],
+          workflowJobRunBackendId: scopeParts[2]
+        };
+        core17.debug(`Workflow Run Backend ID: ${ids.workflowRunBackendId}`);
+        core17.debug(`Workflow Job Run Backend ID: ${ids.workflowJobRunBackendId}`);
+        return ids;
       }
-      /**
-       * pollOnce does one polling, by calling to the update method of the underlying
-       * poll operation to make any relevant change effective.
-       *
-       * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike.
-       *
-       * @param options - Optional properties passed to the operation's update method.
-       */
-      async pollOnce(options = {}) {
-        if (!this.isDone()) {
-          this.operation = await this.operation.update({
-            abortSignal: options.abortSignal,
-            fireProgress: this.fireProgress.bind(this)
-          });
+      throw InvalidJwtError;
+    }
+    exports2.getBackendIdsFromToken = getBackendIdsFromToken;
+    function maskSigUrl(url2) {
+      if (!url2)
+        return;
+      try {
+        const parsedUrl = new URL(url2);
+        const signature = parsedUrl.searchParams.get("sig");
+        if (signature) {
+          (0, core_1.setSecret)(signature);
+          (0, core_1.setSecret)(encodeURIComponent(signature));
         }
-        this.processUpdatedState();
+      } catch (error3) {
+        (0, core_1.debug)(`Failed to parse URL: ${url2} ${error3 instanceof Error ? error3.message : String(error3)}`);
       }
-      /**
-       * fireProgress calls the functions passed in via onProgress the method of the poller.
-       *
-       * It loops over all of the callbacks received from onProgress, and executes them, sending them
-       * the current operation state.
-       *
-       * @param state - The current operation state.
-       */
-      fireProgress(state) {
-        for (const callback of this.pollProgressCallbacks) {
-          callback(state);
-        }
+    }
+    exports2.maskSigUrl = maskSigUrl;
+    function maskSecretUrls(body) {
+      if (typeof body !== "object" || body === null) {
+        (0, core_1.debug)("body is not an object or is null");
+        return;
       }
-      /**
-       * Invokes the underlying operation's cancel method.
-       */
-      async cancelOnce(options = {}) {
-        this.operation = await this.operation.cancel(options);
+      if ("signed_upload_url" in body && typeof body.signed_upload_url === "string") {
+        maskSigUrl(body.signed_upload_url);
       }
-      /**
-       * Returns a promise that will resolve once a single polling request finishes.
-       * It does this by calling the update method of the Poller's operation.
-       *
-       * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike.
-       *
-       * @param options - Optional properties passed to the operation's update method.
-       */
-      poll(options = {}) {
-        if (!this.pollOncePromise) {
-          this.pollOncePromise = this.pollOnce(options);
-          const clearPollOncePromise = () => {
-            this.pollOncePromise = void 0;
-          };
-          this.pollOncePromise.then(clearPollOncePromise, clearPollOncePromise).catch(this.reject);
-        }
-        return this.pollOncePromise;
+      if ("signed_url" in body && typeof body.signed_url === "string") {
+        maskSigUrl(body.signed_url);
       }
-      processUpdatedState() {
-        if (this.operation.state.error) {
-          this.stopped = true;
-          if (!this.resolveOnUnsuccessful) {
-            this.reject(this.operation.state.error);
-            throw this.operation.state.error;
+    }
+    exports2.maskSecretUrls = maskSecretUrls;
+  }
+});
+
+// node_modules/@actions/artifact/lib/internal/shared/artifact-twirp-client.js
+var require_artifact_twirp_client2 = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/shared/artifact-twirp-client.js"(exports2) {
+    "use strict";
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve8) {
+          resolve8(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve8, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
           }
         }
-        if (this.operation.state.isCancelled) {
-          this.stopped = true;
-          if (!this.resolveOnUnsuccessful) {
-            const error3 = new PollerCancelledError("Operation was canceled");
-            this.reject(error3);
-            throw error3;
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
           }
         }
-        if (this.isDone() && this.resolve) {
-          this.resolve(this.getResult());
+        function step(result) {
+          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
-      }
-      /**
-       * Returns a promise that will resolve once the underlying operation is completed.
-       */
-      async pollUntilDone(pollOptions = {}) {
-        if (this.stopped) {
-          this.startPolling(pollOptions).catch(this.reject);
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.internalArtifactTwirpClient = void 0;
+    var http_client_1 = require_lib();
+    var auth_1 = require_auth();
+    var core_1 = require_core();
+    var generated_1 = require_generated();
+    var config_1 = require_config2();
+    var user_agent_1 = require_user_agent2();
+    var errors_1 = require_errors4();
+    var util_1 = require_util19();
+    var ArtifactHttpClient = class {
+      constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) {
+        this.maxAttempts = 5;
+        this.baseRetryIntervalMilliseconds = 3e3;
+        this.retryMultiplier = 1.5;
+        const token = (0, config_1.getRuntimeToken)();
+        this.baseUrl = (0, config_1.getResultsServiceUrl)();
+        if (maxAttempts) {
+          this.maxAttempts = maxAttempts;
         }
-        this.processUpdatedState();
-        return this.promise;
-      }
-      /**
-       * Invokes the provided callback after each polling is completed,
-       * sending the current state of the poller's operation.
-       *
-       * It returns a method that can be used to stop receiving updates on the given callback function.
-       */
-      onProgress(callback) {
-        this.pollProgressCallbacks.push(callback);
-        return () => {
-          this.pollProgressCallbacks = this.pollProgressCallbacks.filter((c) => c !== callback);
-        };
-      }
-      /**
-       * Returns true if the poller has finished polling.
-       */
-      isDone() {
-        const state = this.operation.state;
-        return Boolean(state.isCompleted || state.isCancelled || state.error);
-      }
-      /**
-       * Stops the poller from continuing to poll.
-       */
-      stopPolling() {
-        if (!this.stopped) {
-          this.stopped = true;
-          if (this.reject) {
-            this.reject(new PollerStoppedError("This poller is already stopped"));
-          }
+        if (baseRetryIntervalMilliseconds) {
+          this.baseRetryIntervalMilliseconds = baseRetryIntervalMilliseconds;
         }
-      }
-      /**
-       * Returns true if the poller is stopped.
-       */
-      isStopped() {
-        return this.stopped;
-      }
-      /**
-       * Attempts to cancel the underlying operation.
-       *
-       * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike.
-       *
-       * If it's called again before it finishes, it will throw an error.
-       *
-       * @param options - Optional properties passed to the operation's update method.
-       */
-      cancelOperation(options = {}) {
-        if (!this.cancelPromise) {
-          this.cancelPromise = this.cancelOnce(options);
-        } else if (options.abortSignal) {
-          throw new Error("A cancel request is currently pending");
+        if (retryMultiplier) {
+          this.retryMultiplier = retryMultiplier;
         }
-        return this.cancelPromise;
+        this.httpClient = new http_client_1.HttpClient(userAgent2, [
+          new auth_1.BearerCredentialHandler(token)
+        ]);
       }
-      /**
-       * Returns the state of the operation.
-       *
-       * Even though TState will be the same type inside any of the methods of any extension of the Poller class,
-       * implementations of the pollers can customize what's shared with the public by writing their own
-       * version of the `getOperationState` method, and by defining two types, one representing the internal state of the poller
-       * and a public type representing a safe to share subset of the properties of the internal state.
-       * Their definition of getOperationState can then return their public type.
-       *
-       * Example:
-       *
-       * ```ts
-       * // Let's say we have our poller's operation state defined as:
-       * interface MyOperationState extends PollOperationState {
-       *   privateProperty?: string;
-       *   publicProperty?: string;
-       * }
-       *
-       * // To allow us to have a true separation of public and private state, we have to define another interface:
-       * interface PublicState extends PollOperationState {
-       *   publicProperty?: string;
-       * }
-       *
-       * // Then, we define our Poller as follows:
-       * export class MyPoller extends Poller {
-       *   // ... More content is needed here ...
-       *
-       *   public getOperationState(): PublicState {
-       *     const state: PublicState = this.operation.state;
-       *     return {
-       *       // Properties from PollOperationState
-       *       isStarted: state.isStarted,
-       *       isCompleted: state.isCompleted,
-       *       isCancelled: state.isCancelled,
-       *       error: state.error,
-       *       result: state.result,
-       *
-       *       // The only other property needed by PublicState.
-       *       publicProperty: state.publicProperty
-       *     }
-       *   }
-       * }
-       * ```
-       *
-       * You can see this in the tests of this repository, go to the file:
-       * `../test/utils/testPoller.ts`
-       * and look for the getOperationState implementation.
-       */
-      getOperationState() {
-        return this.operation.state;
+      // This function satisfies the Rpc interface. It is compatible with the JSON
+      // JSON generated client.
+      request(service, method, contentType, data) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          const url2 = new URL(`/twirp/${service}/${method}`, this.baseUrl).href;
+          (0, core_1.debug)(`[Request] ${method} ${url2}`);
+          const headers = {
+            "Content-Type": contentType
+          };
+          try {
+            const { body } = yield this.retryableRequest(() => __awaiter2(this, void 0, void 0, function* () {
+              return this.httpClient.post(url2, JSON.stringify(data), headers);
+            }));
+            return body;
+          } catch (error3) {
+            throw new Error(`Failed to ${method}: ${error3.message}`);
+          }
+        });
+      }
+      retryableRequest(operation) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          let attempt = 0;
+          let errorMessage = "";
+          let rawBody = "";
+          while (attempt < this.maxAttempts) {
+            let isRetryable = false;
+            try {
+              const response = yield operation();
+              const statusCode = response.message.statusCode;
+              rawBody = yield response.readBody();
+              (0, core_1.debug)(`[Response] - ${response.message.statusCode}`);
+              (0, core_1.debug)(`Headers: ${JSON.stringify(response.message.headers, null, 2)}`);
+              const body = JSON.parse(rawBody);
+              (0, util_1.maskSecretUrls)(body);
+              (0, core_1.debug)(`Body: ${JSON.stringify(body, null, 2)}`);
+              if (this.isSuccessStatusCode(statusCode)) {
+                return { response, body };
+              }
+              isRetryable = this.isRetryableHttpStatusCode(statusCode);
+              errorMessage = `Failed request: (${statusCode}) ${response.message.statusMessage}`;
+              if (body.msg) {
+                if (errors_1.UsageError.isUsageErrorMessage(body.msg)) {
+                  throw new errors_1.UsageError();
+                }
+                errorMessage = `${errorMessage}: ${body.msg}`;
+              }
+            } catch (error3) {
+              if (error3 instanceof SyntaxError) {
+                (0, core_1.debug)(`Raw Body: ${rawBody}`);
+              }
+              if (error3 instanceof errors_1.UsageError) {
+                throw error3;
+              }
+              if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) {
+                throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code);
+              }
+              isRetryable = true;
+              errorMessage = error3.message;
+            }
+            if (!isRetryable) {
+              throw new Error(`Received non-retryable error: ${errorMessage}`);
+            }
+            if (attempt + 1 === this.maxAttempts) {
+              throw new Error(`Failed to make request after ${this.maxAttempts} attempts: ${errorMessage}`);
+            }
+            const retryTimeMilliseconds = this.getExponentialRetryTimeMilliseconds(attempt);
+            (0, core_1.info)(`Attempt ${attempt + 1} of ${this.maxAttempts} failed with error: ${errorMessage}. Retrying request in ${retryTimeMilliseconds} ms...`);
+            yield this.sleep(retryTimeMilliseconds);
+            attempt++;
+          }
+          throw new Error(`Request failed`);
+        });
       }
-      /**
-       * Returns the result value of the operation,
-       * regardless of the state of the poller.
-       * It can return undefined or an incomplete form of the final TResult value
-       * depending on the implementation.
-       */
-      getResult() {
-        const state = this.operation.state;
-        return state.result;
+      isSuccessStatusCode(statusCode) {
+        if (!statusCode)
+          return false;
+        return statusCode >= 200 && statusCode < 300;
       }
-      /**
-       * Returns a serialized version of the poller's operation
-       * by invoking the operation's toString method.
-       */
-      toString() {
-        return this.operation.toString();
+      isRetryableHttpStatusCode(statusCode) {
+        if (!statusCode)
+          return false;
+        const retryableStatusCodes = [
+          http_client_1.HttpCodes.BadGateway,
+          http_client_1.HttpCodes.GatewayTimeout,
+          http_client_1.HttpCodes.InternalServerError,
+          http_client_1.HttpCodes.ServiceUnavailable,
+          http_client_1.HttpCodes.TooManyRequests
+        ];
+        return retryableStatusCodes.includes(statusCode);
+      }
+      sleep(milliseconds) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          return new Promise((resolve8) => setTimeout(resolve8, milliseconds));
+        });
+      }
+      getExponentialRetryTimeMilliseconds(attempt) {
+        if (attempt < 0) {
+          throw new Error("attempt should be a positive integer");
+        }
+        if (attempt === 0) {
+          return this.baseRetryIntervalMilliseconds;
+        }
+        const minTime = this.baseRetryIntervalMilliseconds * Math.pow(this.retryMultiplier, attempt);
+        const maxTime = minTime * this.retryMultiplier;
+        return Math.trunc(Math.random() * (maxTime - minTime) + minTime);
       }
     };
-    exports2.Poller = Poller;
+    function internalArtifactTwirpClient(options) {
+      const client = new ArtifactHttpClient((0, user_agent_1.getUserAgentString)(), options === null || options === void 0 ? void 0 : options.maxAttempts, options === null || options === void 0 ? void 0 : options.retryIntervalMs, options === null || options === void 0 ? void 0 : options.retryMultiplier);
+      return new generated_1.ArtifactServiceClientJSON(client);
+    }
+    exports2.internalArtifactTwirpClient = internalArtifactTwirpClient;
   }
 });
 
-// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/lroEngine.js
-var require_lroEngine = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/lroEngine.js"(exports2) {
+// node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.js
+var require_upload_zip_specification = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.js"(exports2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.LroEngine = void 0;
-    var operation_js_1 = require_operation3();
-    var constants_js_1 = require_constants17();
-    var poller_js_1 = require_poller3();
-    var operation_js_2 = require_operation();
-    var LroEngine = class extends poller_js_1.Poller {
-      constructor(lro, options) {
-        const { intervalInMs = constants_js_1.POLL_INTERVAL_IN_MS, resumeFrom, resolveOnUnsuccessful = false, isDone, lroResourceLocationConfig, processResult, updateState } = options || {};
-        const state = resumeFrom ? (0, operation_js_2.deserializeState)(resumeFrom) : {};
-        const operation = new operation_js_1.GenericPollOperation(state, lro, !resolveOnUnsuccessful, lroResourceLocationConfig, processResult, updateState, isDone);
-        super(operation);
-        this.resolveOnUnsuccessful = resolveOnUnsuccessful;
-        this.config = { intervalInMs };
-        operation.setPollerConfig(this.config);
+    var __createBinding2 = 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];
+        } };
       }
-      /**
-       * The method used by the poller to wait before attempting to update its operation.
-       */
-      delay() {
-        return new Promise((resolve8) => setTimeout(() => resolve8(), this.config.intervalInMs));
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
       }
+      __setModuleDefault2(result, mod);
+      return result;
     };
-    exports2.LroEngine = LroEngine;
-  }
-});
-
-// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/index.js
-var require_lroEngine2 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/index.js"(exports2) {
-    "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.LroEngine = void 0;
-    var lroEngine_js_1 = require_lroEngine();
-    Object.defineProperty(exports2, "LroEngine", { enumerable: true, get: function() {
-      return lroEngine_js_1.LroEngine;
-    } });
+    exports2.getUploadZipSpecification = exports2.validateRootDirectory = void 0;
+    var fs18 = __importStar2(require("fs"));
+    var core_1 = require_core();
+    var path_1 = require("path");
+    var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation();
+    function validateRootDirectory(rootDirectory) {
+      if (!fs18.existsSync(rootDirectory)) {
+        throw new Error(`The provided rootDirectory ${rootDirectory} does not exist`);
+      }
+      if (!fs18.statSync(rootDirectory).isDirectory()) {
+        throw new Error(`The provided rootDirectory ${rootDirectory} is not a valid directory`);
+      }
+      (0, core_1.info)(`Root directory input is valid!`);
+    }
+    exports2.validateRootDirectory = validateRootDirectory;
+    function getUploadZipSpecification(filesToZip, rootDirectory) {
+      const specification = [];
+      rootDirectory = (0, path_1.normalize)(rootDirectory);
+      rootDirectory = (0, path_1.resolve)(rootDirectory);
+      for (let file of filesToZip) {
+        const stats = fs18.lstatSync(file, { throwIfNoEntry: false });
+        if (!stats) {
+          throw new Error(`File ${file} does not exist`);
+        }
+        if (!stats.isDirectory()) {
+          file = (0, path_1.normalize)(file);
+          file = (0, path_1.resolve)(file);
+          if (!file.startsWith(rootDirectory)) {
+            throw new Error(`The rootDirectory: ${rootDirectory} is not a parent directory of the file: ${file}`);
+          }
+          const uploadPath = file.replace(rootDirectory, "");
+          (0, path_and_artifact_name_validation_1.validateFilePath)(uploadPath);
+          specification.push({
+            sourcePath: file,
+            destinationPath: uploadPath,
+            stats
+          });
+        } else {
+          const directoryPath = file.replace(rootDirectory, "");
+          (0, path_and_artifact_name_validation_1.validateFilePath)(directoryPath);
+          specification.push({
+            sourcePath: null,
+            destinationPath: directoryPath,
+            stats
+          });
+        }
+      }
+      return specification;
+    }
+    exports2.getUploadZipSpecification = getUploadZipSpecification;
   }
 });
 
-// node_modules/@azure/core-lro/dist/commonjs/legacy/pollOperation.js
-var require_pollOperation = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/legacy/pollOperation.js"(exports2) {
+// node_modules/@actions/artifact/lib/internal/upload/blob-upload.js
+var require_blob_upload = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/upload/blob-upload.js"(exports2) {
     "use strict";
+    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      }
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve8) {
+          resolve8(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve8, 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 ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
     Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.uploadZipToBlobStorage = void 0;
+    var storage_blob_1 = require_commonjs15();
+    var config_1 = require_config2();
+    var core17 = __importStar2(require_core());
+    var crypto2 = __importStar2(require("crypto"));
+    var stream2 = __importStar2(require("stream"));
+    var errors_1 = require_errors4();
+    function uploadZipToBlobStorage(authenticatedUploadURL, zipUploadStream) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        let uploadByteCount = 0;
+        let lastProgressTime = Date.now();
+        const abortController = new AbortController();
+        const chunkTimer = (interval) => __awaiter2(this, void 0, void 0, function* () {
+          return new Promise((resolve8, reject) => {
+            const timer = setInterval(() => {
+              if (Date.now() - lastProgressTime > interval) {
+                reject(new Error("Upload progress stalled."));
+              }
+            }, interval);
+            abortController.signal.addEventListener("abort", () => {
+              clearInterval(timer);
+              resolve8();
+            });
+          });
+        });
+        const maxConcurrency = (0, config_1.getConcurrency)();
+        const bufferSize = (0, config_1.getUploadChunkSize)();
+        const blobClient = new storage_blob_1.BlobClient(authenticatedUploadURL);
+        const blockBlobClient = blobClient.getBlockBlobClient();
+        core17.debug(`Uploading artifact zip to blob storage with maxConcurrency: ${maxConcurrency}, bufferSize: ${bufferSize}`);
+        const uploadCallback = (progress) => {
+          core17.info(`Uploaded bytes ${progress.loadedBytes}`);
+          uploadByteCount = progress.loadedBytes;
+          lastProgressTime = Date.now();
+        };
+        const options = {
+          blobHTTPHeaders: { blobContentType: "zip" },
+          onProgress: uploadCallback,
+          abortSignal: abortController.signal
+        };
+        let sha256Hash = void 0;
+        const uploadStream = new stream2.PassThrough();
+        const hashStream = crypto2.createHash("sha256");
+        zipUploadStream.pipe(uploadStream);
+        zipUploadStream.pipe(hashStream).setEncoding("hex");
+        core17.info("Beginning upload of artifact content to blob storage");
+        try {
+          yield Promise.race([
+            blockBlobClient.uploadStream(uploadStream, bufferSize, maxConcurrency, options),
+            chunkTimer((0, config_1.getUploadChunkTimeout)())
+          ]);
+        } catch (error3) {
+          if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) {
+            throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code);
+          }
+          throw error3;
+        } finally {
+          abortController.abort();
+        }
+        core17.info("Finished uploading artifact content to blob storage!");
+        hashStream.end();
+        sha256Hash = hashStream.read();
+        core17.info(`SHA256 digest of uploaded artifact zip is ${sha256Hash}`);
+        if (uploadByteCount === 0) {
+          core17.warning(`No data was uploaded to blob storage. Reported upload byte count is 0.`);
+        }
+        return {
+          uploadSize: uploadByteCount,
+          sha256Hash
+        };
+      });
+    }
+    exports2.uploadZipToBlobStorage = uploadZipToBlobStorage;
   }
 });
 
-// node_modules/@azure/core-lro/dist/commonjs/index.js
-var require_commonjs14 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createHttpPoller = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var poller_js_1 = require_poller2();
-    Object.defineProperty(exports2, "createHttpPoller", { enumerable: true, get: function() {
-      return poller_js_1.createHttpPoller;
-    } });
-    tslib_1.__exportStar(require_lroEngine2(), exports2);
-    tslib_1.__exportStar(require_poller3(), exports2);
-    tslib_1.__exportStar(require_pollOperation(), exports2);
+// node_modules/readdir-glob/node_modules/minimatch/lib/path.js
+var require_path = __commonJS({
+  "node_modules/readdir-glob/node_modules/minimatch/lib/path.js"(exports2, module2) {
+    var isWindows = typeof process === "object" && process && process.platform === "win32";
+    module2.exports = isWindows ? { sep: "\\" } : { sep: "/" };
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/pollers/BlobStartCopyFromUrlPoller.js
-var require_BlobStartCopyFromUrlPoller = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/pollers/BlobStartCopyFromUrlPoller.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobBeginCopyFromUrlPoller = void 0;
-    var core_util_1 = require_commonjs4();
-    var core_lro_1 = require_commonjs14();
-    var BlobBeginCopyFromUrlPoller = class extends core_lro_1.Poller {
-      intervalInMs;
-      constructor(options) {
-        const { blobClient, copySource, intervalInMs = 15e3, onProgress, resumeFrom, startCopyFromURLOptions } = options;
-        let state;
-        if (resumeFrom) {
-          state = JSON.parse(resumeFrom).state;
+// node_modules/readdir-glob/node_modules/brace-expansion/index.js
+var require_brace_expansion2 = __commonJS({
+  "node_modules/readdir-glob/node_modules/brace-expansion/index.js"(exports2, module2) {
+    var balanced = require_balanced_match();
+    module2.exports = expandTop;
+    var escSlash = "\0SLASH" + Math.random() + "\0";
+    var escOpen = "\0OPEN" + Math.random() + "\0";
+    var escClose = "\0CLOSE" + Math.random() + "\0";
+    var escComma = "\0COMMA" + Math.random() + "\0";
+    var escPeriod = "\0PERIOD" + Math.random() + "\0";
+    function numeric(str2) {
+      return parseInt(str2, 10) == str2 ? parseInt(str2, 10) : str2.charCodeAt(0);
+    }
+    function escapeBraces(str2) {
+      return str2.split("\\\\").join(escSlash).split("\\{").join(escOpen).split("\\}").join(escClose).split("\\,").join(escComma).split("\\.").join(escPeriod);
+    }
+    function unescapeBraces(str2) {
+      return str2.split(escSlash).join("\\").split(escOpen).join("{").split(escClose).join("}").split(escComma).join(",").split(escPeriod).join(".");
+    }
+    function parseCommaParts(str2) {
+      if (!str2)
+        return [""];
+      var parts = [];
+      var m = balanced("{", "}", str2);
+      if (!m)
+        return str2.split(",");
+      var pre = m.pre;
+      var body = m.body;
+      var post = m.post;
+      var p = pre.split(",");
+      p[p.length - 1] += "{" + body + "}";
+      var postParts = parseCommaParts(post);
+      if (post.length) {
+        p[p.length - 1] += postParts.shift();
+        p.push.apply(p, postParts);
+      }
+      parts.push.apply(parts, p);
+      return parts;
+    }
+    function expandTop(str2) {
+      if (!str2)
+        return [];
+      if (str2.substr(0, 2) === "{}") {
+        str2 = "\\{\\}" + str2.substr(2);
+      }
+      return expand2(escapeBraces(str2), true).map(unescapeBraces);
+    }
+    function embrace(str2) {
+      return "{" + str2 + "}";
+    }
+    function isPadded(el) {
+      return /^-?0\d/.test(el);
+    }
+    function lte(i, y) {
+      return i <= y;
+    }
+    function gte6(i, y) {
+      return i >= y;
+    }
+    function expand2(str2, isTop) {
+      var expansions = [];
+      var m = balanced("{", "}", str2);
+      if (!m) return [str2];
+      var pre = m.pre;
+      var post = m.post.length ? expand2(m.post, false) : [""];
+      if (/\$$/.test(m.pre)) {
+        for (var k = 0; k < post.length; k++) {
+          var expansion = pre + "{" + m.body + "}" + post[k];
+          expansions.push(expansion);
         }
-        const operation = makeBlobBeginCopyFromURLPollOperation({
-          ...state,
-          blobClient,
-          copySource,
-          startCopyFromURLOptions
-        });
-        super(operation);
-        if (typeof onProgress === "function") {
-          this.onProgress(onProgress);
+      } else {
+        var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
+        var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
+        var isSequence = isNumericSequence || isAlphaSequence;
+        var isOptions = m.body.indexOf(",") >= 0;
+        if (!isSequence && !isOptions) {
+          if (m.post.match(/,(?!,).*\}/)) {
+            str2 = m.pre + "{" + m.body + escClose + m.post;
+            return expand2(str2);
+          }
+          return [str2];
+        }
+        var n;
+        if (isSequence) {
+          n = m.body.split(/\.\./);
+        } else {
+          n = parseCommaParts(m.body);
+          if (n.length === 1) {
+            n = expand2(n[0], false).map(embrace);
+            if (n.length === 1) {
+              return post.map(function(p) {
+                return m.pre + n[0] + p;
+              });
+            }
+          }
+        }
+        var N;
+        if (isSequence) {
+          var x = numeric(n[0]);
+          var y = numeric(n[1]);
+          var width = Math.max(n[0].length, n[1].length);
+          var incr = n.length == 3 ? Math.abs(numeric(n[2])) : 1;
+          var test = lte;
+          var reverse = y < x;
+          if (reverse) {
+            incr *= -1;
+            test = gte6;
+          }
+          var pad = n.some(isPadded);
+          N = [];
+          for (var i = x; test(i, y); i += incr) {
+            var c;
+            if (isAlphaSequence) {
+              c = String.fromCharCode(i);
+              if (c === "\\")
+                c = "";
+            } else {
+              c = String(i);
+              if (pad) {
+                var need = width - c.length;
+                if (need > 0) {
+                  var z = new Array(need + 1).join("0");
+                  if (i < 0)
+                    c = "-" + z + c.slice(1);
+                  else
+                    c = z + c;
+                }
+              }
+            }
+            N.push(c);
+          }
+        } else {
+          N = [];
+          for (var j = 0; j < n.length; j++) {
+            N.push.apply(N, expand2(n[j], false));
+          }
+        }
+        for (var j = 0; j < N.length; j++) {
+          for (var k = 0; k < post.length; k++) {
+            var expansion = pre + N[j] + post[k];
+            if (!isTop || isSequence || expansion)
+              expansions.push(expansion);
+          }
         }
-        this.intervalInMs = intervalInMs;
       }
-      delay() {
-        return (0, core_util_1.delay)(this.intervalInMs);
+      return expansions;
+    }
+  }
+});
+
+// node_modules/readdir-glob/node_modules/minimatch/minimatch.js
+var require_minimatch2 = __commonJS({
+  "node_modules/readdir-glob/node_modules/minimatch/minimatch.js"(exports2, module2) {
+    var minimatch = module2.exports = (p, pattern, options = {}) => {
+      assertValidPattern(pattern);
+      if (!options.nocomment && pattern.charAt(0) === "#") {
+        return false;
       }
+      return new Minimatch(pattern, options).match(p);
     };
-    exports2.BlobBeginCopyFromUrlPoller = BlobBeginCopyFromUrlPoller;
-    var cancel = async function cancel2(options = {}) {
-      const state = this.state;
-      const { copyId } = state;
-      if (state.isCompleted) {
-        return makeBlobBeginCopyFromURLPollOperation(state);
+    module2.exports = minimatch;
+    var path16 = require_path();
+    minimatch.sep = path16.sep;
+    var GLOBSTAR = /* @__PURE__ */ Symbol("globstar **");
+    minimatch.GLOBSTAR = GLOBSTAR;
+    var expand2 = require_brace_expansion2();
+    var plTypes = {
+      "!": { open: "(?:(?!(?:", close: "))[^/]*?)" },
+      "?": { open: "(?:", close: ")?" },
+      "+": { open: "(?:", close: ")+" },
+      "*": { open: "(?:", close: ")*" },
+      "@": { open: "(?:", close: ")" }
+    };
+    var qmark = "[^/]";
+    var star = qmark + "*?";
+    var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
+    var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
+    var charSet = (s) => s.split("").reduce((set2, c) => {
+      set2[c] = true;
+      return set2;
+    }, {});
+    var reSpecials = charSet("().*{}+?[]^$\\!");
+    var addPatternStartSet = charSet("[.(");
+    var slashSplit = /\/+/;
+    minimatch.filter = (pattern, options = {}) => (p, i, list) => minimatch(p, pattern, options);
+    var ext = (a, b = {}) => {
+      const t = {};
+      Object.keys(a).forEach((k) => t[k] = a[k]);
+      Object.keys(b).forEach((k) => t[k] = b[k]);
+      return t;
+    };
+    minimatch.defaults = (def) => {
+      if (!def || typeof def !== "object" || !Object.keys(def).length) {
+        return minimatch;
       }
-      if (!copyId) {
-        state.isCancelled = true;
-        return makeBlobBeginCopyFromURLPollOperation(state);
+      const orig = minimatch;
+      const m = (p, pattern, options) => orig(p, pattern, ext(def, options));
+      m.Minimatch = class Minimatch extends orig.Minimatch {
+        constructor(pattern, options) {
+          super(pattern, ext(def, options));
+        }
+      };
+      m.Minimatch.defaults = (options) => orig.defaults(ext(def, options)).Minimatch;
+      m.filter = (pattern, options) => orig.filter(pattern, ext(def, options));
+      m.defaults = (options) => orig.defaults(ext(def, options));
+      m.makeRe = (pattern, options) => orig.makeRe(pattern, ext(def, options));
+      m.braceExpand = (pattern, options) => orig.braceExpand(pattern, ext(def, options));
+      m.match = (list, pattern, options) => orig.match(list, pattern, ext(def, options));
+      return m;
+    };
+    minimatch.braceExpand = (pattern, options) => braceExpand(pattern, options);
+    var braceExpand = (pattern, options = {}) => {
+      assertValidPattern(pattern);
+      if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
+        return [pattern];
       }
-      await state.blobClient.abortCopyFromURL(copyId, {
-        abortSignal: options.abortSignal
-      });
-      state.isCancelled = true;
-      return makeBlobBeginCopyFromURLPollOperation(state);
+      return expand2(pattern);
     };
-    var update = async function update2(options = {}) {
-      const state = this.state;
-      const { blobClient, copySource, startCopyFromURLOptions } = state;
-      if (!state.isStarted) {
-        state.isStarted = true;
-        const result = await blobClient.startCopyFromURL(copySource, startCopyFromURLOptions);
-        state.copyId = result.copyId;
-        if (result.copyStatus === "success") {
-          state.result = result;
-          state.isCompleted = true;
+    var MAX_PATTERN_LENGTH = 1024 * 64;
+    var assertValidPattern = (pattern) => {
+      if (typeof pattern !== "string") {
+        throw new TypeError("invalid pattern");
+      }
+      if (pattern.length > MAX_PATTERN_LENGTH) {
+        throw new TypeError("pattern is too long");
+      }
+    };
+    var SUBPARSE = /* @__PURE__ */ Symbol("subparse");
+    minimatch.makeRe = (pattern, options) => new Minimatch(pattern, options || {}).makeRe();
+    minimatch.match = (list, pattern, options = {}) => {
+      const mm = new Minimatch(pattern, options);
+      list = list.filter((f) => mm.match(f));
+      if (mm.options.nonull && !list.length) {
+        list.push(pattern);
+      }
+      return list;
+    };
+    var globUnescape = (s) => s.replace(/\\(.)/g, "$1");
+    var charUnescape = (s) => s.replace(/\\([^-\]])/g, "$1");
+    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
+    var braExpEscape = (s) => s.replace(/[[\]\\]/g, "\\$&");
+    var Minimatch = class {
+      constructor(pattern, options) {
+        assertValidPattern(pattern);
+        if (!options) options = {};
+        this.options = options;
+        this.set = [];
+        this.pattern = pattern;
+        this.windowsPathsNoEscape = !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;
+        if (this.windowsPathsNoEscape) {
+          this.pattern = this.pattern.replace(/\\/g, "/");
         }
-      } else if (!state.isCompleted) {
-        try {
-          const result = await state.blobClient.getProperties({ abortSignal: options.abortSignal });
-          const { copyStatus, copyProgress } = result;
-          const prevCopyProgress = state.copyProgress;
-          if (copyProgress) {
-            state.copyProgress = copyProgress;
+        this.regexp = null;
+        this.negate = false;
+        this.comment = false;
+        this.empty = false;
+        this.partial = !!options.partial;
+        this.make();
+      }
+      debug() {
+      }
+      make() {
+        const pattern = this.pattern;
+        const options = this.options;
+        if (!options.nocomment && pattern.charAt(0) === "#") {
+          this.comment = true;
+          return;
+        }
+        if (!pattern) {
+          this.empty = true;
+          return;
+        }
+        this.parseNegate();
+        let set2 = this.globSet = this.braceExpand();
+        if (options.debug) this.debug = (...args) => console.error(...args);
+        this.debug(this.pattern, set2);
+        set2 = this.globParts = set2.map((s) => s.split(slashSplit));
+        this.debug(this.pattern, set2);
+        set2 = set2.map((s, si, set3) => s.map(this.parse, this));
+        this.debug(this.pattern, set2);
+        set2 = set2.filter((s) => s.indexOf(false) === -1);
+        this.debug(this.pattern, set2);
+        this.set = set2;
+      }
+      parseNegate() {
+        if (this.options.nonegate) return;
+        const pattern = this.pattern;
+        let negate2 = false;
+        let negateOffset = 0;
+        for (let i = 0; i < pattern.length && pattern.charAt(i) === "!"; i++) {
+          negate2 = !negate2;
+          negateOffset++;
+        }
+        if (negateOffset) this.pattern = pattern.slice(negateOffset);
+        this.negate = negate2;
+      }
+      // set partial to true to test if, for example,
+      // "/a/b" matches the start of "/*/b/*/d"
+      // Partial means, if you run out of file before you run
+      // out of pattern, then that's fine, as long as all
+      // the parts match.
+      matchOne(file, pattern, partial) {
+        var options = this.options;
+        this.debug(
+          "matchOne",
+          { "this": this, file, pattern }
+        );
+        this.debug("matchOne", file.length, pattern.length);
+        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
+          this.debug("matchOne loop");
+          var p = pattern[pi];
+          var f = file[fi];
+          this.debug(pattern, p, f);
+          if (p === false) return false;
+          if (p === GLOBSTAR) {
+            this.debug("GLOBSTAR", [pattern, p, f]);
+            var fr = fi;
+            var pr = pi + 1;
+            if (pr === pl) {
+              this.debug("** at the end");
+              for (; fi < fl; fi++) {
+                if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".") return false;
+              }
+              return true;
+            }
+            while (fr < fl) {
+              var swallowee = file[fr];
+              this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
+              if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
+                this.debug("globstar found match!", fr, fl, swallowee);
+                return true;
+              } else {
+                if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
+                  this.debug("dot detected!", file, fr, pattern, pr);
+                  break;
+                }
+                this.debug("globstar swallow a segment, and continue");
+                fr++;
+              }
+            }
+            if (partial) {
+              this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
+              if (fr === fl) return true;
+            }
+            return false;
           }
-          if (copyStatus === "pending" && copyProgress !== prevCopyProgress && typeof options.fireProgress === "function") {
-            options.fireProgress(state);
-          } else if (copyStatus === "success") {
-            state.result = result;
-            state.isCompleted = true;
-          } else if (copyStatus === "failed") {
-            state.error = new Error(`Blob copy failed with reason: "${result.copyStatusDescription || "unknown"}"`);
-            state.isCompleted = true;
+          var hit;
+          if (typeof p === "string") {
+            hit = f === p;
+            this.debug("string match", p, f, hit);
+          } else {
+            hit = f.match(p);
+            this.debug("pattern match", p, f, hit);
           }
-        } catch (err) {
-          state.error = err;
-          state.isCompleted = true;
+          if (!hit) return false;
         }
-      }
-      return makeBlobBeginCopyFromURLPollOperation(state);
-    };
-    var toString3 = function toString4() {
-      return JSON.stringify({ state: this.state }, (key, value) => {
-        if (key === "blobClient") {
-          return void 0;
+        if (fi === fl && pi === pl) {
+          return true;
+        } else if (fi === fl) {
+          return partial;
+        } else if (pi === pl) {
+          return fi === fl - 1 && file[fi] === "";
         }
-        return value;
-      });
-    };
-    function makeBlobBeginCopyFromURLPollOperation(state) {
-      return {
-        state: { ...state },
-        cancel,
-        toString: toString3,
-        update
-      };
-    }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/Range.js
-var require_Range = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/Range.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.rangeToString = rangeToString;
-    function rangeToString(iRange) {
-      if (iRange.offset < 0) {
-        throw new RangeError(`Range.offset cannot be smaller than 0.`);
+        throw new Error("wtf?");
       }
-      if (iRange.count && iRange.count <= 0) {
-        throw new RangeError(`Range.count must be larger than 0. Leave it undefined if you want a range from offset to the end.`);
+      braceExpand() {
+        return braceExpand(this.pattern, this.options);
       }
-      return iRange.count ? `bytes=${iRange.offset}-${iRange.offset + iRange.count - 1}` : `bytes=${iRange.offset}-`;
-    }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/utils/Batch.js
-var require_Batch = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/Batch.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Batch = void 0;
-    var events_1 = require("events");
-    var BatchStates;
-    (function(BatchStates2) {
-      BatchStates2[BatchStates2["Good"] = 0] = "Good";
-      BatchStates2[BatchStates2["Error"] = 1] = "Error";
-    })(BatchStates || (BatchStates = {}));
-    var Batch = class {
-      /**
-       * Concurrency. Must be lager than 0.
-       */
-      concurrency;
-      /**
-       * Number of active operations under execution.
-       */
-      actives = 0;
-      /**
-       * Number of completed operations under execution.
-       */
-      completed = 0;
-      /**
-       * Offset of next operation to be executed.
-       */
-      offset = 0;
-      /**
-       * Operation array to be executed.
-       */
-      operations = [];
-      /**
-       * States of Batch. When an error happens, state will turn into error.
-       * Batch will stop execute left operations.
-       */
-      state = BatchStates.Good;
-      /**
-       * A private emitter used to pass events inside this class.
-       */
-      emitter;
-      /**
-       * Creates an instance of Batch.
-       * @param concurrency -
-       */
-      constructor(concurrency = 5) {
-        if (concurrency < 1) {
-          throw new RangeError("concurrency must be larger than 0");
+      parse(pattern, isSub) {
+        assertValidPattern(pattern);
+        const options = this.options;
+        if (pattern === "**") {
+          if (!options.noglobstar)
+            return GLOBSTAR;
+          else
+            pattern = "*";
+        }
+        if (pattern === "") return "";
+        let re = "";
+        let hasMagic = false;
+        let escaping = false;
+        const patternListStack = [];
+        const negativeLists = [];
+        let stateChar;
+        let inClass = false;
+        let reClassStart = -1;
+        let classStart = -1;
+        let cs;
+        let pl;
+        let sp;
+        let dotTravAllowed = pattern.charAt(0) === ".";
+        let dotFileAllowed = options.dot || dotTravAllowed;
+        const patternStart = () => dotTravAllowed ? "" : dotFileAllowed ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)";
+        const subPatternStart = (p) => p.charAt(0) === "." ? "" : options.dot ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)";
+        const clearStateChar = () => {
+          if (stateChar) {
+            switch (stateChar) {
+              case "*":
+                re += star;
+                hasMagic = true;
+                break;
+              case "?":
+                re += qmark;
+                hasMagic = true;
+                break;
+              default:
+                re += "\\" + stateChar;
+                break;
+            }
+            this.debug("clearStateChar %j %j", stateChar, re);
+            stateChar = false;
+          }
+        };
+        for (let i = 0, c; i < pattern.length && (c = pattern.charAt(i)); i++) {
+          this.debug("%s	%s %s %j", pattern, i, re, c);
+          if (escaping) {
+            if (c === "/") {
+              return false;
+            }
+            if (reSpecials[c]) {
+              re += "\\";
+            }
+            re += c;
+            escaping = false;
+            continue;
+          }
+          switch (c) {
+            /* istanbul ignore next */
+            case "/": {
+              return false;
+            }
+            case "\\":
+              if (inClass && pattern.charAt(i + 1) === "-") {
+                re += c;
+                continue;
+              }
+              clearStateChar();
+              escaping = true;
+              continue;
+            // the various stateChar values
+            // for the "extglob" stuff.
+            case "?":
+            case "*":
+            case "+":
+            case "@":
+            case "!":
+              this.debug("%s	%s %s %j <-- stateChar", pattern, i, re, c);
+              if (inClass) {
+                this.debug("  in class");
+                if (c === "!" && i === classStart + 1) c = "^";
+                re += c;
+                continue;
+              }
+              this.debug("call clearStateChar %j", stateChar);
+              clearStateChar();
+              stateChar = c;
+              if (options.noext) clearStateChar();
+              continue;
+            case "(": {
+              if (inClass) {
+                re += "(";
+                continue;
+              }
+              if (!stateChar) {
+                re += "\\(";
+                continue;
+              }
+              const plEntry = {
+                type: stateChar,
+                start: i - 1,
+                reStart: re.length,
+                open: plTypes[stateChar].open,
+                close: plTypes[stateChar].close
+              };
+              this.debug(this.pattern, "	", plEntry);
+              patternListStack.push(plEntry);
+              re += plEntry.open;
+              if (plEntry.start === 0 && plEntry.type !== "!") {
+                dotTravAllowed = true;
+                re += subPatternStart(pattern.slice(i + 1));
+              }
+              this.debug("plType %j %j", stateChar, re);
+              stateChar = false;
+              continue;
+            }
+            case ")": {
+              const plEntry = patternListStack[patternListStack.length - 1];
+              if (inClass || !plEntry) {
+                re += "\\)";
+                continue;
+              }
+              patternListStack.pop();
+              clearStateChar();
+              hasMagic = true;
+              pl = plEntry;
+              re += pl.close;
+              if (pl.type === "!") {
+                negativeLists.push(Object.assign(pl, { reEnd: re.length }));
+              }
+              continue;
+            }
+            case "|": {
+              const plEntry = patternListStack[patternListStack.length - 1];
+              if (inClass || !plEntry) {
+                re += "\\|";
+                continue;
+              }
+              clearStateChar();
+              re += "|";
+              if (plEntry.start === 0 && plEntry.type !== "!") {
+                dotTravAllowed = true;
+                re += subPatternStart(pattern.slice(i + 1));
+              }
+              continue;
+            }
+            // these are mostly the same in regexp and glob
+            case "[":
+              clearStateChar();
+              if (inClass) {
+                re += "\\" + c;
+                continue;
+              }
+              inClass = true;
+              classStart = i;
+              reClassStart = re.length;
+              re += c;
+              continue;
+            case "]":
+              if (i === classStart + 1 || !inClass) {
+                re += "\\" + c;
+                continue;
+              }
+              cs = pattern.substring(classStart + 1, i);
+              try {
+                RegExp("[" + braExpEscape(charUnescape(cs)) + "]");
+                re += c;
+              } catch (er) {
+                re = re.substring(0, reClassStart) + "(?:$.)";
+              }
+              hasMagic = true;
+              inClass = false;
+              continue;
+            default:
+              clearStateChar();
+              if (reSpecials[c] && !(c === "^" && inClass)) {
+                re += "\\";
+              }
+              re += c;
+              break;
+          }
         }
-        this.concurrency = concurrency;
-        this.emitter = new events_1.EventEmitter();
-      }
-      /**
-       * Add a operation into queue.
-       *
-       * @param operation -
-       */
-      addOperation(operation) {
-        this.operations.push(async () => {
-          try {
-            this.actives++;
-            await operation();
-            this.actives--;
-            this.completed++;
-            this.parallelExecute();
-          } catch (error3) {
-            this.emitter.emit("error", error3);
+        if (inClass) {
+          cs = pattern.slice(classStart + 1);
+          sp = this.parse(cs, SUBPARSE);
+          re = re.substring(0, reClassStart) + "\\[" + sp[0];
+          hasMagic = hasMagic || sp[1];
+        }
+        for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {
+          let tail;
+          tail = re.slice(pl.reStart + pl.open.length);
+          this.debug("setting tail", re, pl);
+          tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, (_2, $1, $2) => {
+            if (!$2) {
+              $2 = "\\";
+            }
+            return $1 + $1 + $2 + "|";
+          });
+          this.debug("tail=%j\n   %s", tail, tail, pl, re);
+          const t = pl.type === "*" ? star : pl.type === "?" ? qmark : "\\" + pl.type;
+          hasMagic = true;
+          re = re.slice(0, pl.reStart) + t + "\\(" + tail;
+        }
+        clearStateChar();
+        if (escaping) {
+          re += "\\\\";
+        }
+        const addPatternStart = addPatternStartSet[re.charAt(0)];
+        for (let n = negativeLists.length - 1; n > -1; n--) {
+          const nl = negativeLists[n];
+          const nlBefore = re.slice(0, nl.reStart);
+          const nlFirst = re.slice(nl.reStart, nl.reEnd - 8);
+          let nlAfter = re.slice(nl.reEnd);
+          const nlLast = re.slice(nl.reEnd - 8, nl.reEnd) + nlAfter;
+          const closeParensBefore = nlBefore.split(")").length;
+          const openParensBefore = nlBefore.split("(").length - closeParensBefore;
+          let cleanAfter = nlAfter;
+          for (let i = 0; i < openParensBefore; i++) {
+            cleanAfter = cleanAfter.replace(/\)[+*?]?/, "");
           }
-        });
-      }
-      /**
-       * Start execute operations in the queue.
-       *
-       */
-      async do() {
-        if (this.operations.length === 0) {
-          return Promise.resolve();
+          nlAfter = cleanAfter;
+          const dollar = nlAfter === "" && isSub !== SUBPARSE ? "(?:$|\\/)" : "";
+          re = nlBefore + nlFirst + nlAfter + dollar + nlLast;
         }
-        this.parallelExecute();
-        return new Promise((resolve8, reject) => {
-          this.emitter.on("finish", resolve8);
-          this.emitter.on("error", (error3) => {
-            this.state = BatchStates.Error;
-            reject(error3);
+        if (re !== "" && hasMagic) {
+          re = "(?=.)" + re;
+        }
+        if (addPatternStart) {
+          re = patternStart() + re;
+        }
+        if (isSub === SUBPARSE) {
+          return [re, hasMagic];
+        }
+        if (options.nocase && !hasMagic) {
+          hasMagic = pattern.toUpperCase() !== pattern.toLowerCase();
+        }
+        if (!hasMagic) {
+          return globUnescape(pattern);
+        }
+        const flags = options.nocase ? "i" : "";
+        try {
+          return Object.assign(new RegExp("^" + re + "$", flags), {
+            _glob: pattern,
+            _src: re
           });
-        });
+        } catch (er) {
+          return new RegExp("$.");
+        }
       }
-      /**
-       * Get next operation to be executed. Return null when reaching ends.
-       *
-       */
-      nextOperation() {
-        if (this.offset < this.operations.length) {
-          return this.operations[this.offset++];
+      makeRe() {
+        if (this.regexp || this.regexp === false) return this.regexp;
+        const set2 = this.set;
+        if (!set2.length) {
+          this.regexp = false;
+          return this.regexp;
         }
-        return null;
+        const options = this.options;
+        const twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
+        const flags = options.nocase ? "i" : "";
+        let re = set2.map((pattern) => {
+          pattern = pattern.map(
+            (p) => typeof p === "string" ? regExpEscape(p) : p === GLOBSTAR ? GLOBSTAR : p._src
+          ).reduce((set3, p) => {
+            if (!(set3[set3.length - 1] === GLOBSTAR && p === GLOBSTAR)) {
+              set3.push(p);
+            }
+            return set3;
+          }, []);
+          pattern.forEach((p, i) => {
+            if (p !== GLOBSTAR || pattern[i - 1] === GLOBSTAR) {
+              return;
+            }
+            if (i === 0) {
+              if (pattern.length > 1) {
+                pattern[i + 1] = "(?:\\/|" + twoStar + "\\/)?" + pattern[i + 1];
+              } else {
+                pattern[i] = twoStar;
+              }
+            } else if (i === pattern.length - 1) {
+              pattern[i - 1] += "(?:\\/|" + twoStar + ")?";
+            } else {
+              pattern[i - 1] += "(?:\\/|\\/" + twoStar + "\\/)" + pattern[i + 1];
+              pattern[i + 1] = GLOBSTAR;
+            }
+          });
+          return pattern.filter((p) => p !== GLOBSTAR).join("/");
+        }).join("|");
+        re = "^(?:" + re + ")$";
+        if (this.negate) re = "^(?!" + re + ").*$";
+        try {
+          this.regexp = new RegExp(re, flags);
+        } catch (ex) {
+          this.regexp = false;
+        }
+        return this.regexp;
       }
-      /**
-       * Start execute operations. One one the most important difference between
-       * this method with do() is that do() wraps as an sync method.
-       *
-       */
-      parallelExecute() {
-        if (this.state === BatchStates.Error) {
-          return;
+      match(f, partial = this.partial) {
+        this.debug("match", f, this.pattern);
+        if (this.comment) return false;
+        if (this.empty) return f === "";
+        if (f === "/" && partial) return true;
+        const options = this.options;
+        if (path16.sep !== "/") {
+          f = f.split(path16.sep).join("/");
         }
-        if (this.completed >= this.operations.length) {
-          this.emitter.emit("finish");
-          return;
+        f = f.split(slashSplit);
+        this.debug(this.pattern, "split", f);
+        const set2 = this.set;
+        this.debug(this.pattern, "set", set2);
+        let filename;
+        for (let i = f.length - 1; i >= 0; i--) {
+          filename = f[i];
+          if (filename) break;
         }
-        while (this.actives < this.concurrency) {
-          const operation = this.nextOperation();
-          if (operation) {
-            operation();
-          } else {
-            return;
+        for (let i = 0; i < set2.length; i++) {
+          const pattern = set2[i];
+          let file = f;
+          if (options.matchBase && pattern.length === 1) {
+            file = [filename];
+          }
+          const hit = this.matchOne(file, pattern, partial);
+          if (hit) {
+            if (options.flipNegate) return true;
+            return !this.negate;
           }
         }
+        if (options.flipNegate) return false;
+        return this.negate;
+      }
+      static defaults(def) {
+        return minimatch.defaults(def).Minimatch;
       }
     };
-    exports2.Batch = Batch;
+    minimatch.Minimatch = Minimatch;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/utils/utils.js
-var require_utils7 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/utils.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.fsCreateReadStream = exports2.fsStat = void 0;
-    exports2.streamToBuffer = streamToBuffer;
-    exports2.streamToBuffer2 = streamToBuffer2;
-    exports2.streamToBuffer3 = streamToBuffer3;
-    exports2.readStreamToLocalFile = readStreamToLocalFile;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var node_fs_1 = tslib_1.__importDefault(require("node:fs"));
-    var node_util_1 = tslib_1.__importDefault(require("node:util"));
-    var constants_js_1 = require_constants15();
-    async function streamToBuffer(stream2, buffer, offset, end, encoding) {
-      let pos = 0;
-      const count = end - offset;
-      return new Promise((resolve8, reject) => {
-        const timeout = setTimeout(() => reject(new Error(`The operation cannot be completed in timeout.`)), constants_js_1.REQUEST_TIMEOUT);
-        stream2.on("readable", () => {
-          if (pos >= count) {
-            clearTimeout(timeout);
-            resolve8();
-            return;
-          }
-          let chunk = stream2.read();
-          if (!chunk) {
-            return;
-          }
-          if (typeof chunk === "string") {
-            chunk = Buffer.from(chunk, encoding);
-          }
-          const chunkLength = pos + chunk.length > count ? count - pos : chunk.length;
-          buffer.fill(chunk.slice(0, chunkLength), offset + pos, offset + pos + chunkLength);
-          pos += chunkLength;
-        });
-        stream2.on("end", () => {
-          clearTimeout(timeout);
-          if (pos < count) {
-            reject(new Error(`Stream drains before getting enough data needed. Data read: ${pos}, data need: ${count}`));
+// node_modules/readdir-glob/index.js
+var require_readdir_glob = __commonJS({
+  "node_modules/readdir-glob/index.js"(exports2, module2) {
+    module2.exports = readdirGlob;
+    var fs18 = require("fs");
+    var { EventEmitter } = require("events");
+    var { Minimatch } = require_minimatch2();
+    var { resolve: resolve8 } = require("path");
+    function readdir(dir, strict) {
+      return new Promise((resolve9, reject) => {
+        fs18.readdir(dir, { withFileTypes: true }, (err, files) => {
+          if (err) {
+            switch (err.code) {
+              case "ENOTDIR":
+                if (strict) {
+                  reject(err);
+                } else {
+                  resolve9([]);
+                }
+                break;
+              case "ENOTSUP":
+              // Operation not supported
+              case "ENOENT":
+              // No such file or directory
+              case "ENAMETOOLONG":
+              // Filename too long
+              case "UNKNOWN":
+                resolve9([]);
+                break;
+              case "ELOOP":
+              // Too many levels of symbolic links
+              default:
+                reject(err);
+                break;
+            }
+          } else {
+            resolve9(files);
           }
-          resolve8();
-        });
-        stream2.on("error", (msg) => {
-          clearTimeout(timeout);
-          reject(msg);
         });
       });
     }
-    async function streamToBuffer2(stream2, buffer, encoding) {
-      let pos = 0;
-      const bufferSize = buffer.length;
-      return new Promise((resolve8, reject) => {
-        stream2.on("readable", () => {
-          let chunk = stream2.read();
-          if (!chunk) {
-            return;
-          }
-          if (typeof chunk === "string") {
-            chunk = Buffer.from(chunk, encoding);
-          }
-          if (pos + chunk.length > bufferSize) {
-            reject(new Error(`Stream exceeds buffer size. Buffer size: ${bufferSize}`));
-            return;
+    function stat(file, followSymlinks) {
+      return new Promise((resolve9, reject) => {
+        const statFunc = followSymlinks ? fs18.stat : fs18.lstat;
+        statFunc(file, (err, stats) => {
+          if (err) {
+            switch (err.code) {
+              case "ENOENT":
+                if (followSymlinks) {
+                  resolve9(stat(file, false));
+                } else {
+                  resolve9(null);
+                }
+                break;
+              default:
+                resolve9(null);
+                break;
+            }
+          } else {
+            resolve9(stats);
           }
-          buffer.fill(chunk, pos, pos + chunk.length);
-          pos += chunk.length;
-        });
-        stream2.on("end", () => {
-          resolve8(pos);
         });
-        stream2.on("error", reject);
       });
     }
-    async function streamToBuffer3(readableStream, encoding) {
-      return new Promise((resolve8, reject) => {
-        const chunks = [];
-        readableStream.on("data", (data) => {
-          chunks.push(typeof data === "string" ? Buffer.from(data, encoding) : data);
-        });
-        readableStream.on("end", () => {
-          resolve8(Buffer.concat(chunks));
-        });
-        readableStream.on("error", reject);
-      });
+    async function* exploreWalkAsync(dir, path16, followSymlinks, useStat, shouldSkip, strict) {
+      let files = await readdir(path16 + dir, strict);
+      for (const file of files) {
+        let name = file.name;
+        if (name === void 0) {
+          name = file;
+          useStat = true;
+        }
+        const filename = dir + "/" + name;
+        const relative2 = filename.slice(1);
+        const absolute = path16 + "/" + relative2;
+        let stats = null;
+        if (useStat || followSymlinks) {
+          stats = await stat(absolute, followSymlinks);
+        }
+        if (!stats && file.name !== void 0) {
+          stats = file;
+        }
+        if (stats === null) {
+          stats = { isDirectory: () => false };
+        }
+        if (stats.isDirectory()) {
+          if (!shouldSkip(relative2)) {
+            yield { relative: relative2, absolute, stats };
+            yield* exploreWalkAsync(filename, path16, followSymlinks, useStat, shouldSkip, false);
+          }
+        } else {
+          yield { relative: relative2, absolute, stats };
+        }
+      }
     }
-    async function readStreamToLocalFile(rs, file) {
-      return new Promise((resolve8, reject) => {
-        const ws = node_fs_1.default.createWriteStream(file);
-        rs.on("error", (err) => {
-          reject(err);
-        });
-        ws.on("error", (err) => {
-          reject(err);
-        });
-        ws.on("close", resolve8);
-        rs.pipe(ws);
-      });
+    async function* explore(path16, followSymlinks, useStat, shouldSkip) {
+      yield* exploreWalkAsync("", path16, followSymlinks, useStat, shouldSkip, true);
     }
-    exports2.fsStat = node_util_1.default.promisify(node_fs_1.default.stat);
-    exports2.fsCreateReadStream = node_fs_1.default.createReadStream;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/Clients.js
-var require_Clients = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/Clients.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.PageBlobClient = exports2.BlockBlobClient = exports2.AppendBlobClient = exports2.BlobClient = void 0;
-    var core_rest_pipeline_1 = require_commonjs6();
-    var core_auth_1 = require_commonjs7();
-    var core_util_1 = require_commonjs4();
-    var core_util_2 = require_commonjs4();
-    var BlobDownloadResponse_js_1 = require_BlobDownloadResponse();
-    var BlobQueryResponse_js_1 = require_BlobQueryResponse();
-    var AnonymousCredential_js_1 = require_AnonymousCredential();
-    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
-    var models_js_1 = require_models2();
-    var PageBlobRangeResponse_js_1 = require_PageBlobRangeResponse();
-    var Pipeline_js_1 = require_Pipeline();
-    var BlobStartCopyFromUrlPoller_js_1 = require_BlobStartCopyFromUrlPoller();
-    var Range_js_1 = require_Range();
-    var StorageClient_js_1 = require_StorageClient();
-    var Batch_js_1 = require_Batch();
-    var storage_common_1 = require_commonjs13();
-    var constants_js_1 = require_constants15();
-    var tracing_js_1 = require_tracing();
-    var utils_common_js_1 = require_utils_common();
-    var utils_js_1 = require_utils7();
-    var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues();
-    var BlobLeaseClient_js_1 = require_BlobLeaseClient();
-    var BlobClient = class _BlobClient extends StorageClient_js_1.StorageClient {
-      /**
-       * blobContext provided by protocol layer.
-       */
-      blobContext;
-      _name;
-      _containerName;
-      _versionId;
-      _snapshot;
-      /**
-       * The name of the blob.
-       */
-      get name() {
-        return this._name;
+    function readOptions(options) {
+      return {
+        pattern: options.pattern,
+        dot: !!options.dot,
+        noglobstar: !!options.noglobstar,
+        matchBase: !!options.matchBase,
+        nocase: !!options.nocase,
+        ignore: options.ignore,
+        skip: options.skip,
+        follow: !!options.follow,
+        stat: !!options.stat,
+        nodir: !!options.nodir,
+        mark: !!options.mark,
+        silent: !!options.silent,
+        absolute: !!options.absolute
+      };
+    }
+    var ReaddirGlob = class extends EventEmitter {
+      constructor(cwd, options, cb) {
+        super();
+        if (typeof options === "function") {
+          cb = options;
+          options = null;
+        }
+        this.options = readOptions(options || {});
+        this.matchers = [];
+        if (this.options.pattern) {
+          const matchers = Array.isArray(this.options.pattern) ? this.options.pattern : [this.options.pattern];
+          this.matchers = matchers.map(
+            (m) => new Minimatch(m, {
+              dot: this.options.dot,
+              noglobstar: this.options.noglobstar,
+              matchBase: this.options.matchBase,
+              nocase: this.options.nocase
+            })
+          );
+        }
+        this.ignoreMatchers = [];
+        if (this.options.ignore) {
+          const ignorePatterns = Array.isArray(this.options.ignore) ? this.options.ignore : [this.options.ignore];
+          this.ignoreMatchers = ignorePatterns.map(
+            (ignore) => new Minimatch(ignore, { dot: true })
+          );
+        }
+        this.skipMatchers = [];
+        if (this.options.skip) {
+          const skipPatterns = Array.isArray(this.options.skip) ? this.options.skip : [this.options.skip];
+          this.skipMatchers = skipPatterns.map(
+            (skip) => new Minimatch(skip, { dot: true })
+          );
+        }
+        this.iterator = explore(resolve8(cwd || "."), this.options.follow, this.options.stat, this._shouldSkipDirectory.bind(this));
+        this.paused = false;
+        this.inactive = false;
+        this.aborted = false;
+        if (cb) {
+          this._matches = [];
+          this.on("match", (match) => this._matches.push(this.options.absolute ? match.absolute : match.relative));
+          this.on("error", (err) => cb(err));
+          this.on("end", () => cb(null, this._matches));
+        }
+        setTimeout(() => this._next(), 0);
       }
-      /**
-       * The name of the storage container the blob is associated with.
-       */
-      get containerName() {
-        return this._containerName;
+      _shouldSkipDirectory(relative2) {
+        return this.skipMatchers.some((m) => m.match(relative2));
       }
-      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
-        options = options || {};
-        let pipeline;
-        let url2;
-        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
-          url2 = urlOrConnectionString;
-          pipeline = credentialOrPipelineOrContainerName;
-        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
-          url2 = urlOrConnectionString;
-          options = blobNameOrOptions;
-          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
-        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
-          url2 = urlOrConnectionString;
-          if (blobNameOrOptions && typeof blobNameOrOptions !== "string") {
-            options = blobNameOrOptions;
-          }
-          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
-          const containerName = credentialOrPipelineOrContainerName;
-          const blobName = blobNameOrOptions;
-          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
-          if (extractedCreds.kind === "AccountConnString") {
-            if (core_util_1.isNodeLike) {
-              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
-              url2 = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
-              if (!options.proxyOptions) {
-                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+      _fileMatches(relative2, isDirectory) {
+        const file = relative2 + (isDirectory ? "/" : "");
+        return (this.matchers.length === 0 || this.matchers.some((m) => m.match(file))) && !this.ignoreMatchers.some((m) => m.match(file)) && (!this.options.nodir || !isDirectory);
+      }
+      _next() {
+        if (!this.paused && !this.aborted) {
+          this.iterator.next().then((obj) => {
+            if (!obj.done) {
+              const isDirectory = obj.value.stats.isDirectory();
+              if (this._fileMatches(obj.value.relative, isDirectory)) {
+                let relative2 = obj.value.relative;
+                let absolute = obj.value.absolute;
+                if (this.options.mark && isDirectory) {
+                  relative2 += "/";
+                  absolute += "/";
+                }
+                if (this.options.stat) {
+                  this.emit("match", { relative: relative2, absolute, stat: obj.value.stats });
+                } else {
+                  this.emit("match", { relative: relative2, absolute });
+                }
               }
-              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+              this._next(this.iterator);
             } else {
-              throw new Error("Account connection string is only supported in Node.js environment");
+              this.emit("end");
             }
-          } else if (extractedCreds.kind === "SASConnString") {
-            url2 = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
-            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-          } else {
-            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
-          }
+          }).catch((err) => {
+            this.abort();
+            this.emit("error", err);
+            if (!err.code && !this.options.silent) {
+              console.error(err);
+            }
+          });
         } else {
-          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
+          this.inactive = true;
         }
-        super(url2, pipeline);
-        ({ blobName: this._name, containerName: this._containerName } = this.getBlobAndContainerNamesFromUrl());
-        this.blobContext = this.storageClientContext.blob;
-        this._snapshot = (0, utils_common_js_1.getURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT);
-        this._versionId = (0, utils_common_js_1.getURLParameter)(this.url, constants_js_1.URLConstants.Parameters.VERSIONID);
       }
-      /**
-       * Creates a new BlobClient object identical to the source but with the specified snapshot timestamp.
-       * Provide "" will remove the snapshot and return a Client to the base blob.
-       *
-       * @param snapshot - The snapshot timestamp.
-       * @returns A new BlobClient object identical to the source but with the specified snapshot timestamp
-       */
-      withSnapshot(snapshot) {
-        return new _BlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
+      abort() {
+        this.aborted = true;
       }
-      /**
-       * Creates a new BlobClient object pointing to a version of this blob.
-       * Provide "" will remove the versionId and return a Client to the base blob.
-       *
-       * @param versionId - The versionId.
-       * @returns A new BlobClient object pointing to the version of this blob.
-       */
-      withVersion(versionId) {
-        return new _BlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.VERSIONID, versionId.length === 0 ? void 0 : versionId), this.pipeline);
+      pause() {
+        this.paused = true;
       }
-      /**
-       * Creates a AppendBlobClient object.
-       *
-       */
-      getAppendBlobClient() {
-        return new AppendBlobClient(this.url, this.pipeline);
+      resume() {
+        this.paused = false;
+        if (this.inactive) {
+          this.inactive = false;
+          this._next();
+        }
       }
-      /**
-       * Creates a BlockBlobClient object.
-       *
-       */
-      getBlockBlobClient() {
-        return new BlockBlobClient(this.url, this.pipeline);
+    };
+    function readdirGlob(pattern, options, cb) {
+      return new ReaddirGlob(pattern, options, cb);
+    }
+    readdirGlob.ReaddirGlob = ReaddirGlob;
+  }
+});
+
+// node_modules/async/dist/async.js
+var require_async = __commonJS({
+  "node_modules/async/dist/async.js"(exports2, module2) {
+    (function(global2, factory) {
+      typeof exports2 === "object" && typeof module2 !== "undefined" ? factory(exports2) : typeof define === "function" && define.amd ? define(["exports"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory(global2.async = {}));
+    })(exports2, (function(exports3) {
+      "use strict";
+      function apply(fn, ...args) {
+        return (...callArgs) => fn(...args, ...callArgs);
       }
-      /**
-       * Creates a PageBlobClient object.
-       *
-       */
-      getPageBlobClient() {
-        return new PageBlobClient(this.url, this.pipeline);
+      function initialParams(fn) {
+        return function(...args) {
+          var callback = args.pop();
+          return fn.call(this, args, callback);
+        };
       }
-      /**
-       * Reads or downloads a blob from the system, including its metadata and properties.
-       * You can also call Get Blob to read a snapshot.
-       *
-       * * In Node.js, data returns in a Readable stream readableStreamBody
-       * * In browsers, data returns in a promise blobBody
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob
-       *
-       * @param offset - From which position of the blob to download, greater than or equal to 0
-       * @param count - How much data to be downloaded, greater than 0. Will download to the end when undefined
-       * @param options - Optional options to Blob Download operation.
-       *
-       *
-       * Example usage (Node.js):
-       *
-       * ```ts snippet:ReadmeSampleDownloadBlob_Node
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blobClient = containerClient.getBlobClient(blobName);
-       *
-       * // Get blob content from position 0 to the end
-       * // In Node.js, get downloaded data by accessing downloadBlockBlobResponse.readableStreamBody
-       * const downloadBlockBlobResponse = await blobClient.download();
-       * if (downloadBlockBlobResponse.readableStreamBody) {
-       *   const downloaded = await streamToString(downloadBlockBlobResponse.readableStreamBody);
-       *   console.log(`Downloaded blob content: ${downloaded}`);
-       * }
-       *
-       * async function streamToString(stream: NodeJS.ReadableStream): Promise {
-       *   const result = await new Promise>((resolve, reject) => {
-       *     const chunks: Buffer[] = [];
-       *     stream.on("data", (data) => {
-       *       chunks.push(Buffer.isBuffer(data) ? data : Buffer.from(data));
-       *     });
-       *     stream.on("end", () => {
-       *       resolve(Buffer.concat(chunks));
-       *     });
-       *     stream.on("error", reject);
-       *   });
-       *   return result.toString();
-       * }
-       * ```
-       *
-       * Example usage (browser):
-       *
-       * ```ts snippet:ReadmeSampleDownloadBlob_Browser
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blobClient = containerClient.getBlobClient(blobName);
-       *
-       * // Get blob content from position 0 to the end
-       * // In browsers, get downloaded data by accessing downloadBlockBlobResponse.blobBody
-       * const downloadBlockBlobResponse = await blobClient.download();
-       * const blobBody = await downloadBlockBlobResponse.blobBody;
-       * if (blobBody) {
-       *   const downloaded = await blobBody.text();
-       *   console.log(`Downloaded blob content: ${downloaded}`);
-       * }
-       * ```
-       */
-      async download(offset = 0, count, options = {}) {
-        options.conditions = options.conditions || {};
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlobClient-download", options, async (updatedOptions) => {
-          const res = (0, utils_common_js_1.assertResponse)(await this.blobContext.download({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            requestOptions: {
-              onDownloadProgress: core_util_1.isNodeLike ? void 0 : options.onProgress
-              // for Node.js, progress is reported by RetriableReadableStream
-            },
-            range: offset === 0 && !count ? void 0 : (0, Range_js_1.rangeToString)({ offset, count }),
-            rangeGetContentMD5: options.rangeGetContentMD5,
-            rangeGetContentCRC64: options.rangeGetContentCrc64,
-            snapshot: options.snapshot,
-            cpkInfo: options.customerProvidedKey,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const wrappedRes = {
-            ...res,
-            _response: res._response,
-            // _response is made non-enumerable
-            objectReplicationDestinationPolicyId: res.objectReplicationPolicyId,
-            objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(res.objectReplicationRules)
+      var hasQueueMicrotask = typeof queueMicrotask === "function" && queueMicrotask;
+      var hasSetImmediate = typeof setImmediate === "function" && setImmediate;
+      var hasNextTick = typeof process === "object" && typeof process.nextTick === "function";
+      function fallback(fn) {
+        setTimeout(fn, 0);
+      }
+      function wrap(defer) {
+        return (fn, ...args) => defer(() => fn(...args));
+      }
+      var _defer$1;
+      if (hasQueueMicrotask) {
+        _defer$1 = queueMicrotask;
+      } else if (hasSetImmediate) {
+        _defer$1 = setImmediate;
+      } else if (hasNextTick) {
+        _defer$1 = process.nextTick;
+      } else {
+        _defer$1 = fallback;
+      }
+      var setImmediate$1 = wrap(_defer$1);
+      function asyncify(func) {
+        if (isAsync(func)) {
+          return function(...args) {
+            const callback = args.pop();
+            const promise = func.apply(this, args);
+            return handlePromise(promise, callback);
           };
-          if (!core_util_1.isNodeLike) {
-            return wrappedRes;
-          }
-          if (options.maxRetryRequests === void 0 || options.maxRetryRequests < 0) {
-            options.maxRetryRequests = constants_js_1.DEFAULT_MAX_DOWNLOAD_RETRY_REQUESTS;
+        }
+        return initialParams(function(args, callback) {
+          var result;
+          try {
+            result = func.apply(this, args);
+          } catch (e) {
+            return callback(e);
           }
-          if (res.contentLength === void 0) {
-            throw new RangeError(`File download response doesn't contain valid content length header`);
+          if (result && typeof result.then === "function") {
+            return handlePromise(result, callback);
+          } else {
+            callback(null, result);
           }
-          if (!res.etag) {
-            throw new RangeError(`File download response doesn't contain valid etag header`);
+        });
+      }
+      function handlePromise(promise, callback) {
+        return promise.then((value) => {
+          invokeCallback(callback, null, value);
+        }, (err) => {
+          invokeCallback(callback, err && (err instanceof Error || err.message) ? err : new Error(err));
+        });
+      }
+      function invokeCallback(callback, error3, value) {
+        try {
+          callback(error3, value);
+        } catch (err) {
+          setImmediate$1((e) => {
+            throw e;
+          }, err);
+        }
+      }
+      function isAsync(fn) {
+        return fn[Symbol.toStringTag] === "AsyncFunction";
+      }
+      function isAsyncGenerator(fn) {
+        return fn[Symbol.toStringTag] === "AsyncGenerator";
+      }
+      function isAsyncIterable(obj) {
+        return typeof obj[Symbol.asyncIterator] === "function";
+      }
+      function wrapAsync(asyncFn) {
+        if (typeof asyncFn !== "function") throw new Error("expected a function");
+        return isAsync(asyncFn) ? asyncify(asyncFn) : asyncFn;
+      }
+      function awaitify(asyncFn, arity) {
+        if (!arity) arity = asyncFn.length;
+        if (!arity) throw new Error("arity is undefined");
+        function awaitable(...args) {
+          if (typeof args[arity - 1] === "function") {
+            return asyncFn.apply(this, args);
           }
-          return new BlobDownloadResponse_js_1.BlobDownloadResponse(wrappedRes, async (start) => {
-            const updatedDownloadOptions = {
-              leaseAccessConditions: options.conditions,
-              modifiedAccessConditions: {
-                ifMatch: options.conditions.ifMatch || res.etag,
-                ifModifiedSince: options.conditions.ifModifiedSince,
-                ifNoneMatch: options.conditions.ifNoneMatch,
-                ifUnmodifiedSince: options.conditions.ifUnmodifiedSince,
-                ifTags: options.conditions?.tagConditions
-              },
-              range: (0, Range_js_1.rangeToString)({
-                count: offset + res.contentLength - start,
-                offset: start
-              }),
-              rangeGetContentMD5: options.rangeGetContentMD5,
-              rangeGetContentCRC64: options.rangeGetContentCrc64,
-              snapshot: options.snapshot,
-              cpkInfo: options.customerProvidedKey
+          return new Promise((resolve8, reject2) => {
+            args[arity - 1] = (err, ...cbArgs) => {
+              if (err) return reject2(err);
+              resolve8(cbArgs.length > 1 ? cbArgs : cbArgs[0]);
             };
-            return (await this.blobContext.download({
-              abortSignal: options.abortSignal,
-              ...updatedDownloadOptions
-            })).readableStreamBody;
-          }, offset, res.contentLength, {
-            maxRetryRequests: options.maxRetryRequests,
-            onProgress: options.onProgress
+            asyncFn.apply(this, args);
+          });
+        }
+        return awaitable;
+      }
+      function applyEach$1(eachfn) {
+        return function applyEach2(fns, ...callArgs) {
+          const go = awaitify(function(callback) {
+            var that = this;
+            return eachfn(fns, (fn, cb) => {
+              wrapAsync(fn).apply(that, callArgs.concat(cb));
+            }, callback);
+          });
+          return go;
+        };
+      }
+      function _asyncMap(eachfn, arr, iteratee, callback) {
+        arr = arr || [];
+        var results = [];
+        var counter = 0;
+        var _iteratee = wrapAsync(iteratee);
+        return eachfn(arr, (value, _2, iterCb) => {
+          var index2 = counter++;
+          _iteratee(value, (err, v) => {
+            results[index2] = v;
+            iterCb(err);
           });
+        }, (err) => {
+          callback(err, results);
         });
       }
-      /**
-       * Returns true if the Azure blob resource represented by this client exists; false otherwise.
-       *
-       * NOTE: use this function with care since an existing blob might be deleted by other clients or
-       * applications. Vice versa new blobs might be added by other clients or applications after this
-       * function completes.
-       *
-       * @param options - options to Exists operation.
-       */
-      async exists(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-exists", options, async (updatedOptions) => {
-          try {
-            (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-            await this.getProperties({
-              abortSignal: options.abortSignal,
-              customerProvidedKey: options.customerProvidedKey,
-              conditions: options.conditions,
-              tracingOptions: updatedOptions.tracingOptions
-            });
-            return true;
-          } catch (e) {
-            if (e.statusCode === 404) {
-              return false;
-            } else if (e.statusCode === 409 && (e.details.errorCode === constants_js_1.BlobUsesCustomerSpecifiedEncryptionMsg || e.details.errorCode === constants_js_1.BlobDoesNotUseCustomerSpecifiedEncryption)) {
-              return true;
+      function isArrayLike(value) {
+        return value && typeof value.length === "number" && value.length >= 0 && value.length % 1 === 0;
+      }
+      const breakLoop = {};
+      function once(fn) {
+        function wrapper(...args) {
+          if (fn === null) return;
+          var callFn = fn;
+          fn = null;
+          callFn.apply(this, args);
+        }
+        Object.assign(wrapper, fn);
+        return wrapper;
+      }
+      function getIterator(coll) {
+        return coll[Symbol.iterator] && coll[Symbol.iterator]();
+      }
+      function createArrayIterator(coll) {
+        var i = -1;
+        var len = coll.length;
+        return function next() {
+          return ++i < len ? { value: coll[i], key: i } : null;
+        };
+      }
+      function createES2015Iterator(iterator2) {
+        var i = -1;
+        return function next() {
+          var item = iterator2.next();
+          if (item.done)
+            return null;
+          i++;
+          return { value: item.value, key: i };
+        };
+      }
+      function createObjectIterator(obj) {
+        var okeys = obj ? Object.keys(obj) : [];
+        var i = -1;
+        var len = okeys.length;
+        return function next() {
+          var key = okeys[++i];
+          if (key === "__proto__") {
+            return next();
+          }
+          return i < len ? { value: obj[key], key } : null;
+        };
+      }
+      function createIterator(coll) {
+        if (isArrayLike(coll)) {
+          return createArrayIterator(coll);
+        }
+        var iterator2 = getIterator(coll);
+        return iterator2 ? createES2015Iterator(iterator2) : createObjectIterator(coll);
+      }
+      function onlyOnce(fn) {
+        return function(...args) {
+          if (fn === null) throw new Error("Callback was already called.");
+          var callFn = fn;
+          fn = null;
+          callFn.apply(this, args);
+        };
+      }
+      function asyncEachOfLimit(generator, limit, iteratee, callback) {
+        let done = false;
+        let canceled = false;
+        let awaiting = false;
+        let running = 0;
+        let idx = 0;
+        function replenish() {
+          if (running >= limit || awaiting || done) return;
+          awaiting = true;
+          generator.next().then(({ value, done: iterDone }) => {
+            if (canceled || done) return;
+            awaiting = false;
+            if (iterDone) {
+              done = true;
+              if (running <= 0) {
+                callback(null);
+              }
+              return;
+            }
+            running++;
+            iteratee(value, idx, iterateeCallback);
+            idx++;
+            replenish();
+          }).catch(handleError);
+        }
+        function iterateeCallback(err, result) {
+          running -= 1;
+          if (canceled) return;
+          if (err) return handleError(err);
+          if (err === false) {
+            done = true;
+            canceled = true;
+            return;
+          }
+          if (result === breakLoop || done && running <= 0) {
+            done = true;
+            return callback(null);
+          }
+          replenish();
+        }
+        function handleError(err) {
+          if (canceled) return;
+          awaiting = false;
+          done = true;
+          callback(err);
+        }
+        replenish();
+      }
+      var eachOfLimit$2 = (limit) => {
+        return (obj, iteratee, callback) => {
+          callback = once(callback);
+          if (limit <= 0) {
+            throw new RangeError("concurrency limit cannot be less than 1");
+          }
+          if (!obj) {
+            return callback(null);
+          }
+          if (isAsyncGenerator(obj)) {
+            return asyncEachOfLimit(obj, limit, iteratee, callback);
+          }
+          if (isAsyncIterable(obj)) {
+            return asyncEachOfLimit(obj[Symbol.asyncIterator](), limit, iteratee, callback);
+          }
+          var nextElem = createIterator(obj);
+          var done = false;
+          var canceled = false;
+          var running = 0;
+          var looping = false;
+          function iterateeCallback(err, value) {
+            if (canceled) return;
+            running -= 1;
+            if (err) {
+              done = true;
+              callback(err);
+            } else if (err === false) {
+              done = true;
+              canceled = true;
+            } else if (value === breakLoop || done && running <= 0) {
+              done = true;
+              return callback(null);
+            } else if (!looping) {
+              replenish();
             }
-            throw e;
           }
-        });
-      }
-      /**
-       * Returns all user-defined metadata, standard HTTP properties, and system properties
-       * for the blob. It does not return the content of the blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-properties
-       *
-       * WARNING: The `metadata` object returned in the response will have its keys in lowercase, even if
-       * they originally contained uppercase characters. This differs from the metadata keys returned by
-       * the methods of {@link ContainerClient} that list blobs using the `includeMetadata` option, which
-       * will retain their original casing.
-       *
-       * @param options - Optional options to Get Properties operation.
-       */
-      async getProperties(options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlobClient-getProperties", options, async (updatedOptions) => {
-          const res = (0, utils_common_js_1.assertResponse)(await this.blobContext.getProperties({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          return {
-            ...res,
-            _response: res._response,
-            // _response is made non-enumerable
-            objectReplicationDestinationPolicyId: res.objectReplicationPolicyId,
-            objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(res.objectReplicationRules)
-          };
-        });
-      }
-      /**
-       * Marks the specified blob or snapshot for deletion. The blob is later deleted
-       * during garbage collection. Note that in order to delete a blob, you must delete
-       * all of its snapshots. You can delete both at the same time with the Delete
-       * Blob operation.
-       * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob
-       *
-       * @param options - Optional options to Blob Delete operation.
-       */
-      async delete(options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("BlobClient-delete", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.delete({
-            abortSignal: options.abortSignal,
-            deleteSnapshots: options.deleteSnapshots,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
-      }
-      /**
-       * Marks the specified blob or snapshot for deletion if it exists. The blob is later deleted
-       * during garbage collection. Note that in order to delete a blob, you must delete
-       * all of its snapshots. You can delete both at the same time with the Delete
-       * Blob operation.
-       * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob
-       *
-       * @param options - Optional options to Blob Delete operation.
-       */
-      async deleteIfExists(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-deleteIfExists", options, async (updatedOptions) => {
-          try {
-            const res = (0, utils_common_js_1.assertResponse)(await this.delete(updatedOptions));
-            return {
-              succeeded: true,
-              ...res,
-              _response: res._response
-              // _response is made non-enumerable
-            };
-          } catch (e) {
-            if (e.details?.errorCode === "BlobNotFound") {
-              return {
-                succeeded: false,
-                ...e.response?.parsedHeaders,
-                _response: e.response
-              };
+          function replenish() {
+            looping = true;
+            while (running < limit && !done) {
+              var elem = nextElem();
+              if (elem === null) {
+                done = true;
+                if (running <= 0) {
+                  callback(null);
+                }
+                return;
+              }
+              running += 1;
+              iteratee(elem.value, elem.key, onlyOnce(iterateeCallback));
             }
-            throw e;
+            looping = false;
           }
-        });
+          replenish();
+        };
+      };
+      function eachOfLimit(coll, limit, iteratee, callback) {
+        return eachOfLimit$2(limit)(coll, wrapAsync(iteratee), callback);
       }
-      /**
-       * Restores the contents and metadata of soft deleted blob and any associated
-       * soft deleted snapshots. Undelete Blob is supported only on version 2017-07-29
-       * or later.
-       * @see https://learn.microsoft.com/rest/api/storageservices/undelete-blob
-       *
-       * @param options - Optional options to Blob Undelete operation.
-       */
-      async undelete(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-undelete", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.undelete({
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      var eachOfLimit$1 = awaitify(eachOfLimit, 4);
+      function eachOfArrayLike(coll, iteratee, callback) {
+        callback = once(callback);
+        var index2 = 0, completed = 0, { length } = coll, canceled = false;
+        if (length === 0) {
+          callback(null);
+        }
+        function iteratorCallback(err, value) {
+          if (err === false) {
+            canceled = true;
+          }
+          if (canceled === true) return;
+          if (err) {
+            callback(err);
+          } else if (++completed === length || value === breakLoop) {
+            callback(null);
+          }
+        }
+        for (; index2 < length; index2++) {
+          iteratee(coll[index2], index2, onlyOnce(iteratorCallback));
+        }
       }
-      /**
-       * Sets system properties on the blob.
-       *
-       * If no value provided, or no value provided for the specified blob HTTP headers,
-       * these blob HTTP headers without a value will be cleared.
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties
-       *
-       * @param blobHTTPHeaders - If no value provided, or no value provided for
-       *                                                   the specified blob HTTP headers, these blob HTTP
-       *                                                   headers without a value will be cleared.
-       *                                                   A common header to set is `blobContentType`
-       *                                                   enabling the browser to provide functionality
-       *                                                   based on file type.
-       * @param options - Optional options to Blob Set HTTP Headers operation.
-       */
-      async setHTTPHeaders(blobHTTPHeaders, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlobClient-setHTTPHeaders", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setHttpHeaders({
-            abortSignal: options.abortSignal,
-            blobHttpHeaders: blobHTTPHeaders,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            // cpkInfo: options.customerProvidedKey, // CPK is not included in Swagger, should change this back when this issue is fixed in Swagger.
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function eachOfGeneric(coll, iteratee, callback) {
+        return eachOfLimit$1(coll, Infinity, iteratee, callback);
       }
-      /**
-       * Sets user-defined metadata for the specified blob as one or more name-value pairs.
-       *
-       * If no option provided, or no metadata defined in the parameter, the blob
-       * metadata will be removed.
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-metadata
-       *
-       * @param metadata - Replace existing metadata with this value.
-       *                               If no value provided the existing metadata will be removed.
-       * @param options - Optional options to Set Metadata operation.
-       */
-      async setMetadata(metadata, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlobClient-setMetadata", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setMetadata({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            metadata,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function eachOf(coll, iteratee, callback) {
+        var eachOfImplementation = isArrayLike(coll) ? eachOfArrayLike : eachOfGeneric;
+        return eachOfImplementation(coll, wrapAsync(iteratee), callback);
       }
-      /**
-       * Sets tags on the underlying blob.
-       * A blob can have up to 10 tags. Tag keys must be between 1 and 128 characters.  Tag values must be between 0 and 256 characters.
-       * Valid tag key and value characters include lower and upper case letters, digits (0-9),
-       * space (' '), plus ('+'), minus ('-'), period ('.'), foward slash ('/'), colon (':'), equals ('='), and underscore ('_').
-       *
-       * @param tags -
-       * @param options -
-       */
-      async setTags(tags, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-setTags", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setTags({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions,
-            tags: (0, utils_common_js_1.toBlobTags)(tags)
-          }));
-        });
+      var eachOf$1 = awaitify(eachOf, 3);
+      function map2(coll, iteratee, callback) {
+        return _asyncMap(eachOf$1, coll, iteratee, callback);
       }
-      /**
-       * Gets the tags associated with the underlying blob.
-       *
-       * @param options -
-       */
-      async getTags(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-getTags", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this.blobContext.getTags({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const wrappedResponse = {
-            ...response,
-            _response: response._response,
-            // _response is made non-enumerable
-            tags: (0, utils_common_js_1.toTags)({ blobTagSet: response.blobTagSet }) || {}
-          };
-          return wrappedResponse;
-        });
+      var map$1 = awaitify(map2, 3);
+      var applyEach = applyEach$1(map$1);
+      function eachOfSeries(coll, iteratee, callback) {
+        return eachOfLimit$1(coll, 1, iteratee, callback);
       }
-      /**
-       * Get a {@link BlobLeaseClient} that manages leases on the blob.
-       *
-       * @param proposeLeaseId - Initial proposed lease Id.
-       * @returns A new BlobLeaseClient object for managing leases on the blob.
-       */
-      getBlobLeaseClient(proposeLeaseId) {
-        return new BlobLeaseClient_js_1.BlobLeaseClient(this, proposeLeaseId);
+      var eachOfSeries$1 = awaitify(eachOfSeries, 3);
+      function mapSeries(coll, iteratee, callback) {
+        return _asyncMap(eachOfSeries$1, coll, iteratee, callback);
       }
-      /**
-       * Creates a read-only snapshot of a blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/snapshot-blob
-       *
-       * @param options - Optional options to the Blob Create Snapshot operation.
-       */
-      async createSnapshot(options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlobClient-createSnapshot", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.createSnapshot({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            metadata: options.metadata,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
+      var mapSeries$1 = awaitify(mapSeries, 3);
+      var applyEachSeries = applyEach$1(mapSeries$1);
+      const PROMISE_SYMBOL = /* @__PURE__ */ Symbol("promiseCallback");
+      function promiseCallback() {
+        let resolve8, reject2;
+        function callback(err, ...args) {
+          if (err) return reject2(err);
+          resolve8(args.length > 1 ? args : args[0]);
+        }
+        callback[PROMISE_SYMBOL] = new Promise((res, rej) => {
+          resolve8 = res, reject2 = rej;
         });
+        return callback;
       }
-      /**
-       * Asynchronously copies a blob to a destination within the storage account.
-       * This method returns a long running operation poller that allows you to wait
-       * indefinitely until the copy is completed.
-       * You can also cancel a copy before it is completed by calling `cancelOperation` on the poller.
-       * Note that the onProgress callback will not be invoked if the operation completes in the first
-       * request, and attempting to cancel a completed copy will result in an error being thrown.
-       *
-       * In version 2012-02-12 and later, the source for a Copy Blob operation can be
-       * a committed blob in any Azure storage account.
-       * Beginning with version 2015-02-21, the source for a Copy Blob operation can be
-       * an Azure file in any Azure storage account.
-       * Only storage accounts created on or after June 7th, 2012 allow the Copy Blob
-       * operation to copy from another storage account.
-       * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob
-       *
-       * ```ts snippet:ClientsBeginCopyFromURL
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blobClient = containerClient.getBlobClient(blobName);
-       *
-       * // Example using automatic polling
-       * const automaticCopyPoller = await blobClient.beginCopyFromURL("url");
-       * const automaticResult = await automaticCopyPoller.pollUntilDone();
-       *
-       * // Example using manual polling
-       * const manualCopyPoller = await blobClient.beginCopyFromURL("url");
-       * while (!manualCopyPoller.isDone()) {
-       *   await manualCopyPoller.poll();
-       * }
-       * const manualResult = manualCopyPoller.getResult();
-       *
-       * // Example using progress updates
-       * const progressUpdatesCopyPoller = await blobClient.beginCopyFromURL("url", {
-       *   onProgress(state) {
-       *     console.log(`Progress: ${state.copyProgress}`);
-       *   },
-       * });
-       * const progressUpdatesResult = await progressUpdatesCopyPoller.pollUntilDone();
-       *
-       * // Example using a changing polling interval (default 15 seconds)
-       * const pollingIntervalCopyPoller = await blobClient.beginCopyFromURL("url", {
-       *   intervalInMs: 1000, // poll blob every 1 second for copy progress
-       * });
-       * const pollingIntervalResult = await pollingIntervalCopyPoller.pollUntilDone();
-       *
-       * // Example using copy cancellation:
-       * const cancelCopyPoller = await blobClient.beginCopyFromURL("url");
-       * // cancel operation after starting it.
-       * try {
-       *   await cancelCopyPoller.cancelOperation();
-       *   // calls to get the result now throw PollerCancelledError
-       *   cancelCopyPoller.getResult();
-       * } catch (err: any) {
-       *   if (err.name === "PollerCancelledError") {
-       *     console.log("The copy was cancelled.");
-       *   }
-       * }
-       * ```
-       *
-       * @param copySource - url to the source Azure Blob/File.
-       * @param options - Optional options to the Blob Start Copy From URL operation.
-       */
-      async beginCopyFromURL(copySource, options = {}) {
-        const client = {
-          abortCopyFromURL: (...args) => this.abortCopyFromURL(...args),
-          getProperties: (...args) => this.getProperties(...args),
-          startCopyFromURL: (...args) => this.startCopyFromURL(...args)
-        };
-        const poller = new BlobStartCopyFromUrlPoller_js_1.BlobBeginCopyFromUrlPoller({
-          blobClient: client,
-          copySource,
-          intervalInMs: options.intervalInMs,
-          onProgress: options.onProgress,
-          resumeFrom: options.resumeFrom,
-          startCopyFromURLOptions: options
+      function auto(tasks, concurrency, callback) {
+        if (typeof concurrency !== "number") {
+          callback = concurrency;
+          concurrency = null;
+        }
+        callback = once(callback || promiseCallback());
+        var numTasks = Object.keys(tasks).length;
+        if (!numTasks) {
+          return callback(null);
+        }
+        if (!concurrency) {
+          concurrency = numTasks;
+        }
+        var results = {};
+        var runningTasks = 0;
+        var canceled = false;
+        var hasError = false;
+        var listeners = /* @__PURE__ */ Object.create(null);
+        var readyTasks = [];
+        var readyToCheck = [];
+        var uncheckedDependencies = {};
+        Object.keys(tasks).forEach((key) => {
+          var task = tasks[key];
+          if (!Array.isArray(task)) {
+            enqueueTask(key, [task]);
+            readyToCheck.push(key);
+            return;
+          }
+          var dependencies = task.slice(0, task.length - 1);
+          var remainingDependencies = dependencies.length;
+          if (remainingDependencies === 0) {
+            enqueueTask(key, task);
+            readyToCheck.push(key);
+            return;
+          }
+          uncheckedDependencies[key] = remainingDependencies;
+          dependencies.forEach((dependencyName) => {
+            if (!tasks[dependencyName]) {
+              throw new Error("async.auto task `" + key + "` has a non-existent dependency `" + dependencyName + "` in " + dependencies.join(", "));
+            }
+            addListener(dependencyName, () => {
+              remainingDependencies--;
+              if (remainingDependencies === 0) {
+                enqueueTask(key, task);
+              }
+            });
+          });
         });
-        await poller.poll();
-        return poller;
+        checkForDeadlocks();
+        processQueue();
+        function enqueueTask(key, task) {
+          readyTasks.push(() => runTask(key, task));
+        }
+        function processQueue() {
+          if (canceled) return;
+          if (readyTasks.length === 0 && runningTasks === 0) {
+            return callback(null, results);
+          }
+          while (readyTasks.length && runningTasks < concurrency) {
+            var run3 = readyTasks.shift();
+            run3();
+          }
+        }
+        function addListener(taskName, fn) {
+          var taskListeners = listeners[taskName];
+          if (!taskListeners) {
+            taskListeners = listeners[taskName] = [];
+          }
+          taskListeners.push(fn);
+        }
+        function taskComplete(taskName) {
+          var taskListeners = listeners[taskName] || [];
+          taskListeners.forEach((fn) => fn());
+          processQueue();
+        }
+        function runTask(key, task) {
+          if (hasError) return;
+          var taskCallback = onlyOnce((err, ...result) => {
+            runningTasks--;
+            if (err === false) {
+              canceled = true;
+              return;
+            }
+            if (result.length < 2) {
+              [result] = result;
+            }
+            if (err) {
+              var safeResults = {};
+              Object.keys(results).forEach((rkey) => {
+                safeResults[rkey] = results[rkey];
+              });
+              safeResults[key] = result;
+              hasError = true;
+              listeners = /* @__PURE__ */ Object.create(null);
+              if (canceled) return;
+              callback(err, safeResults);
+            } else {
+              results[key] = result;
+              taskComplete(key);
+            }
+          });
+          runningTasks++;
+          var taskFn = wrapAsync(task[task.length - 1]);
+          if (task.length > 1) {
+            taskFn(results, taskCallback);
+          } else {
+            taskFn(taskCallback);
+          }
+        }
+        function checkForDeadlocks() {
+          var currentTask;
+          var counter = 0;
+          while (readyToCheck.length) {
+            currentTask = readyToCheck.pop();
+            counter++;
+            getDependents(currentTask).forEach((dependent) => {
+              if (--uncheckedDependencies[dependent] === 0) {
+                readyToCheck.push(dependent);
+              }
+            });
+          }
+          if (counter !== numTasks) {
+            throw new Error(
+              "async.auto cannot execute tasks due to a recursive dependency"
+            );
+          }
+        }
+        function getDependents(taskName) {
+          var result = [];
+          Object.keys(tasks).forEach((key) => {
+            const task = tasks[key];
+            if (Array.isArray(task) && task.indexOf(taskName) >= 0) {
+              result.push(key);
+            }
+          });
+          return result;
+        }
+        return callback[PROMISE_SYMBOL];
       }
-      /**
-       * Aborts a pending asynchronous Copy Blob operation, and leaves a destination blob with zero
-       * length and full metadata. Version 2012-02-12 and newer.
-       * @see https://learn.microsoft.com/rest/api/storageservices/abort-copy-blob
-       *
-       * @param copyId - Id of the Copy From URL operation.
-       * @param options - Optional options to the Blob Abort Copy From URL operation.
-       */
-      async abortCopyFromURL(copyId, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-abortCopyFromURL", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.abortCopyFromURL(copyId, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      var FN_ARGS = /^(?:async\s)?(?:function)?\s*(?:\w+\s*)?\(([^)]+)\)(?:\s*{)/;
+      var ARROW_FN_ARGS = /^(?:async\s)?\s*(?:\(\s*)?((?:[^)=\s]\s*)*)(?:\)\s*)?=>/;
+      var FN_ARG_SPLIT = /,/;
+      var FN_ARG = /(=.+)?(\s*)$/;
+      function stripComments(string) {
+        let stripped = "";
+        let index2 = 0;
+        let endBlockComment = string.indexOf("*/");
+        while (index2 < string.length) {
+          if (string[index2] === "/" && string[index2 + 1] === "/") {
+            let endIndex = string.indexOf("\n", index2);
+            index2 = endIndex === -1 ? string.length : endIndex;
+          } else if (endBlockComment !== -1 && string[index2] === "/" && string[index2 + 1] === "*") {
+            let endIndex = string.indexOf("*/", index2);
+            if (endIndex !== -1) {
+              index2 = endIndex + 2;
+              endBlockComment = string.indexOf("*/", index2);
+            } else {
+              stripped += string[index2];
+              index2++;
+            }
+          } else {
+            stripped += string[index2];
+            index2++;
+          }
+        }
+        return stripped;
       }
-      /**
-       * The synchronous Copy From URL operation copies a blob or an internet resource to a new blob. It will not
-       * return a response until the copy is complete.
-       * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob-from-url
-       *
-       * @param copySource - The source URL to copy from, Shared Access Signature(SAS) maybe needed for authentication
-       * @param options -
-       */
-      async syncCopyFromURL(copySource, options = {}) {
-        options.conditions = options.conditions || {};
-        options.sourceConditions = options.sourceConditions || {};
-        return tracing_js_1.tracingClient.withSpan("BlobClient-syncCopyFromURL", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.copyFromURL(copySource, {
-            abortSignal: options.abortSignal,
-            metadata: options.metadata,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            sourceModifiedAccessConditions: {
-              sourceIfMatch: options.sourceConditions?.ifMatch,
-              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
-              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
-              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince
-            },
-            sourceContentMD5: options.sourceContentMD5,
-            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
-            tier: (0, models_js_1.toAccessTier)(options.tier),
-            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
-            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
-            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
-            legalHold: options.legalHold,
-            encryptionScope: options.encryptionScope,
-            copySourceTags: options.copySourceTags,
-            fileRequestIntent: options.sourceShareTokenIntent,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function parseParams(func) {
+        const src = stripComments(func.toString());
+        let match = src.match(FN_ARGS);
+        if (!match) {
+          match = src.match(ARROW_FN_ARGS);
+        }
+        if (!match) throw new Error("could not parse args in autoInject\nSource:\n" + src);
+        let [, args] = match;
+        return args.replace(/\s/g, "").split(FN_ARG_SPLIT).map((arg) => arg.replace(FN_ARG, "").trim());
       }
-      /**
-       * Sets the tier on a blob. The operation is allowed on a page blob in a premium
-       * storage account and on a block blob in a blob storage account (locally redundant
-       * storage only). A premium page blob's tier determines the allowed size, IOPS,
-       * and bandwidth of the blob. A block blob's tier determines Hot/Cool/Archive
-       * storage type. This operation does not update the blob's ETag.
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-tier
-       *
-       * @param tier - The tier to be set on the blob. Valid values are Hot, Cool, or Archive.
-       * @param options - Optional options to the Blob Set Tier operation.
-       */
-      async setAccessTier(tier, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-setAccessTier", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setTier((0, models_js_1.toAccessTier)(tier), {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            rehydratePriority: options.rehydratePriority,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
+      function autoInject(tasks, callback) {
+        var newTasks = {};
+        Object.keys(tasks).forEach((key) => {
+          var taskFn = tasks[key];
+          var params;
+          var fnIsAsync = isAsync(taskFn);
+          var hasNoDeps = !fnIsAsync && taskFn.length === 1 || fnIsAsync && taskFn.length === 0;
+          if (Array.isArray(taskFn)) {
+            params = [...taskFn];
+            taskFn = params.pop();
+            newTasks[key] = params.concat(params.length > 0 ? newTask : taskFn);
+          } else if (hasNoDeps) {
+            newTasks[key] = taskFn;
+          } else {
+            params = parseParams(taskFn);
+            if (taskFn.length === 0 && !fnIsAsync && params.length === 0) {
+              throw new Error("autoInject task functions require explicit parameters.");
+            }
+            if (!fnIsAsync) params.pop();
+            newTasks[key] = params.concat(newTask);
+          }
+          function newTask(results, taskCb) {
+            var newArgs = params.map((name) => results[name]);
+            newArgs.push(taskCb);
+            wrapAsync(taskFn)(...newArgs);
+          }
         });
+        return auto(newTasks, callback);
       }
-      async downloadToBuffer(param1, param2, param3, param4 = {}) {
-        let buffer;
-        let offset = 0;
-        let count = 0;
-        let options = param4;
-        if (param1 instanceof Buffer) {
-          buffer = param1;
-          offset = param2 || 0;
-          count = typeof param3 === "number" ? param3 : 0;
-        } else {
-          offset = typeof param1 === "number" ? param1 : 0;
-          count = typeof param2 === "number" ? param2 : 0;
-          options = param3 || {};
+      class DLL {
+        constructor() {
+          this.head = this.tail = null;
+          this.length = 0;
         }
-        let blockSize = options.blockSize ?? 0;
-        if (blockSize < 0) {
-          throw new RangeError("blockSize option must be >= 0");
+        removeLink(node) {
+          if (node.prev) node.prev.next = node.next;
+          else this.head = node.next;
+          if (node.next) node.next.prev = node.prev;
+          else this.tail = node.prev;
+          node.prev = node.next = null;
+          this.length -= 1;
+          return node;
         }
-        if (blockSize === 0) {
-          blockSize = constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES;
+        empty() {
+          while (this.head) this.shift();
+          return this;
         }
-        if (offset < 0) {
-          throw new RangeError("offset option must be >= 0");
+        insertAfter(node, newNode) {
+          newNode.prev = node;
+          newNode.next = node.next;
+          if (node.next) node.next.prev = newNode;
+          else this.tail = newNode;
+          node.next = newNode;
+          this.length += 1;
         }
-        if (count && count <= 0) {
-          throw new RangeError("count option must be greater than 0");
+        insertBefore(node, newNode) {
+          newNode.prev = node.prev;
+          newNode.next = node;
+          if (node.prev) node.prev.next = newNode;
+          else this.head = newNode;
+          node.prev = newNode;
+          this.length += 1;
         }
-        if (!options.conditions) {
-          options.conditions = {};
+        unshift(node) {
+          if (this.head) this.insertBefore(this.head, node);
+          else setInitial(this, node);
         }
-        return tracing_js_1.tracingClient.withSpan("BlobClient-downloadToBuffer", options, async (updatedOptions) => {
-          if (!count) {
-            const response = await this.getProperties({
-              ...options,
-              tracingOptions: updatedOptions.tracingOptions
-            });
-            count = response.contentLength - offset;
-            if (count < 0) {
-              throw new RangeError(`offset ${offset} shouldn't be larger than blob size ${response.contentLength}`);
+        push(node) {
+          if (this.tail) this.insertAfter(this.tail, node);
+          else setInitial(this, node);
+        }
+        shift() {
+          return this.head && this.removeLink(this.head);
+        }
+        pop() {
+          return this.tail && this.removeLink(this.tail);
+        }
+        toArray() {
+          return [...this];
+        }
+        *[Symbol.iterator]() {
+          var cur = this.head;
+          while (cur) {
+            yield cur.data;
+            cur = cur.next;
+          }
+        }
+        remove(testFn) {
+          var curr = this.head;
+          while (curr) {
+            var { next } = curr;
+            if (testFn(curr)) {
+              this.removeLink(curr);
             }
+            curr = next;
           }
-          if (!buffer) {
-            try {
-              buffer = Buffer.alloc(count);
-            } catch (error3) {
-              throw new Error(`Unable to allocate the buffer of size: ${count}(in bytes). Please try passing your own buffer to the "downloadToBuffer" method or try using other methods like "download" or "downloadToFile".	 ${error3.message}`);
+          return this;
+        }
+      }
+      function setInitial(dll, node) {
+        dll.length = 1;
+        dll.head = dll.tail = node;
+      }
+      function queue$1(worker, concurrency, payload) {
+        if (concurrency == null) {
+          concurrency = 1;
+        } else if (concurrency === 0) {
+          throw new RangeError("Concurrency must not be zero");
+        }
+        var _worker = wrapAsync(worker);
+        var numRunning = 0;
+        var workersList = [];
+        const events = {
+          error: [],
+          drain: [],
+          saturated: [],
+          unsaturated: [],
+          empty: []
+        };
+        function on(event, handler2) {
+          events[event].push(handler2);
+        }
+        function once2(event, handler2) {
+          const handleAndRemove = (...args) => {
+            off(event, handleAndRemove);
+            handler2(...args);
+          };
+          events[event].push(handleAndRemove);
+        }
+        function off(event, handler2) {
+          if (!event) return Object.keys(events).forEach((ev) => events[ev] = []);
+          if (!handler2) return events[event] = [];
+          events[event] = events[event].filter((ev) => ev !== handler2);
+        }
+        function trigger(event, ...args) {
+          events[event].forEach((handler2) => handler2(...args));
+        }
+        var processingScheduled = false;
+        function _insert(data, insertAtFront, rejectOnError, callback) {
+          if (callback != null && typeof callback !== "function") {
+            throw new Error("task callback must be a function");
+          }
+          q.started = true;
+          var res, rej;
+          function promiseCallback2(err, ...args) {
+            if (err) return rejectOnError ? rej(err) : res();
+            if (args.length <= 1) return res(args[0]);
+            res(args);
+          }
+          var item = q._createTaskItem(
+            data,
+            rejectOnError ? promiseCallback2 : callback || promiseCallback2
+          );
+          if (insertAtFront) {
+            q._tasks.unshift(item);
+          } else {
+            q._tasks.push(item);
+          }
+          if (!processingScheduled) {
+            processingScheduled = true;
+            setImmediate$1(() => {
+              processingScheduled = false;
+              q.process();
+            });
+          }
+          if (rejectOnError || !callback) {
+            return new Promise((resolve8, reject2) => {
+              res = resolve8;
+              rej = reject2;
+            });
+          }
+        }
+        function _createCB(tasks) {
+          return function(err, ...args) {
+            numRunning -= 1;
+            for (var i = 0, l = tasks.length; i < l; i++) {
+              var task = tasks[i];
+              var index2 = workersList.indexOf(task);
+              if (index2 === 0) {
+                workersList.shift();
+              } else if (index2 > 0) {
+                workersList.splice(index2, 1);
+              }
+              task.callback(err, ...args);
+              if (err != null) {
+                trigger("error", err, task.data);
+              }
+            }
+            if (numRunning <= q.concurrency - q.buffer) {
+              trigger("unsaturated");
             }
+            if (q.idle()) {
+              trigger("drain");
+            }
+            q.process();
+          };
+        }
+        function _maybeDrain(data) {
+          if (data.length === 0 && q.idle()) {
+            setImmediate$1(() => trigger("drain"));
+            return true;
           }
-          if (buffer.length < count) {
-            throw new RangeError(`The buffer's size should be equal to or larger than the request count of bytes: ${count}`);
+          return false;
+        }
+        const eventMethod = (name) => (handler2) => {
+          if (!handler2) {
+            return new Promise((resolve8, reject2) => {
+              once2(name, (err, data) => {
+                if (err) return reject2(err);
+                resolve8(data);
+              });
+            });
+          }
+          off(name);
+          on(name, handler2);
+        };
+        var isProcessing = false;
+        var q = {
+          _tasks: new DLL(),
+          _createTaskItem(data, callback) {
+            return {
+              data,
+              callback
+            };
+          },
+          *[Symbol.iterator]() {
+            yield* q._tasks[Symbol.iterator]();
+          },
+          concurrency,
+          payload,
+          buffer: concurrency / 4,
+          started: false,
+          paused: false,
+          push(data, callback) {
+            if (Array.isArray(data)) {
+              if (_maybeDrain(data)) return;
+              return data.map((datum) => _insert(datum, false, false, callback));
+            }
+            return _insert(data, false, false, callback);
+          },
+          pushAsync(data, callback) {
+            if (Array.isArray(data)) {
+              if (_maybeDrain(data)) return;
+              return data.map((datum) => _insert(datum, false, true, callback));
+            }
+            return _insert(data, false, true, callback);
+          },
+          kill() {
+            off();
+            q._tasks.empty();
+          },
+          unshift(data, callback) {
+            if (Array.isArray(data)) {
+              if (_maybeDrain(data)) return;
+              return data.map((datum) => _insert(datum, true, false, callback));
+            }
+            return _insert(data, true, false, callback);
+          },
+          unshiftAsync(data, callback) {
+            if (Array.isArray(data)) {
+              if (_maybeDrain(data)) return;
+              return data.map((datum) => _insert(datum, true, true, callback));
+            }
+            return _insert(data, true, true, callback);
+          },
+          remove(testFn) {
+            q._tasks.remove(testFn);
+          },
+          process() {
+            if (isProcessing) {
+              return;
+            }
+            isProcessing = true;
+            while (!q.paused && numRunning < q.concurrency && q._tasks.length) {
+              var tasks = [], data = [];
+              var l = q._tasks.length;
+              if (q.payload) l = Math.min(l, q.payload);
+              for (var i = 0; i < l; i++) {
+                var node = q._tasks.shift();
+                tasks.push(node);
+                workersList.push(node);
+                data.push(node.data);
+              }
+              numRunning += 1;
+              if (q._tasks.length === 0) {
+                trigger("empty");
+              }
+              if (numRunning === q.concurrency) {
+                trigger("saturated");
+              }
+              var cb = onlyOnce(_createCB(tasks));
+              _worker(data, cb);
+            }
+            isProcessing = false;
+          },
+          length() {
+            return q._tasks.length;
+          },
+          running() {
+            return numRunning;
+          },
+          workersList() {
+            return workersList;
+          },
+          idle() {
+            return q._tasks.length + numRunning === 0;
+          },
+          pause() {
+            q.paused = true;
+          },
+          resume() {
+            if (q.paused === false) {
+              return;
+            }
+            q.paused = false;
+            setImmediate$1(q.process);
           }
-          let transferProgress = 0;
-          const batch = new Batch_js_1.Batch(options.concurrency);
-          for (let off = offset; off < offset + count; off = off + blockSize) {
-            batch.addOperation(async () => {
-              let chunkEnd = offset + count;
-              if (off + blockSize < chunkEnd) {
-                chunkEnd = off + blockSize;
-              }
-              const response = await this.download(off, chunkEnd - off, {
-                abortSignal: options.abortSignal,
-                conditions: options.conditions,
-                maxRetryRequests: options.maxRetryRequestsPerBlock,
-                customerProvidedKey: options.customerProvidedKey,
-                tracingOptions: updatedOptions.tracingOptions
-              });
-              const stream2 = response.readableStreamBody;
-              await (0, utils_js_1.streamToBuffer)(stream2, buffer, off - offset, chunkEnd - offset);
-              transferProgress += chunkEnd - off;
-              if (options.onProgress) {
-                options.onProgress({ loadedBytes: transferProgress });
-              }
-            });
+        };
+        Object.defineProperties(q, {
+          saturated: {
+            writable: false,
+            value: eventMethod("saturated")
+          },
+          unsaturated: {
+            writable: false,
+            value: eventMethod("unsaturated")
+          },
+          empty: {
+            writable: false,
+            value: eventMethod("empty")
+          },
+          drain: {
+            writable: false,
+            value: eventMethod("drain")
+          },
+          error: {
+            writable: false,
+            value: eventMethod("error")
           }
-          await batch.do();
-          return buffer;
         });
+        return q;
       }
-      /**
-       * ONLY AVAILABLE IN NODE.JS RUNTIME.
-       *
-       * Downloads an Azure Blob to a local file.
-       * Fails if the the given file path already exits.
-       * Offset and count are optional, pass 0 and undefined respectively to download the entire blob.
-       *
-       * @param filePath -
-       * @param offset - From which position of the block blob to download.
-       * @param count - How much data to be downloaded. Will download to the end when passing undefined.
-       * @param options - Options to Blob download options.
-       * @returns The response data for blob download operation,
-       *                                                 but with readableStreamBody set to undefined since its
-       *                                                 content is already read and written into a local file
-       *                                                 at the specified path.
-       */
-      async downloadToFile(filePath, offset = 0, count, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-downloadToFile", options, async (updatedOptions) => {
-          const response = await this.download(offset, count, {
-            ...options,
-            tracingOptions: updatedOptions.tracingOptions
+      function cargo$1(worker, payload) {
+        return queue$1(worker, 1, payload);
+      }
+      function cargo(worker, concurrency, payload) {
+        return queue$1(worker, concurrency, payload);
+      }
+      function reduce(coll, memo, iteratee, callback) {
+        callback = once(callback);
+        var _iteratee = wrapAsync(iteratee);
+        return eachOfSeries$1(coll, (x, i, iterCb) => {
+          _iteratee(memo, x, (err, v) => {
+            memo = v;
+            iterCb(err);
           });
-          if (response.readableStreamBody) {
-            await (0, utils_js_1.readStreamToLocalFile)(response.readableStreamBody, filePath);
-          }
-          response.blobDownloadStream = void 0;
-          return response;
-        });
+        }, (err) => callback(err, memo));
       }
-      getBlobAndContainerNamesFromUrl() {
-        let containerName;
-        let blobName;
-        try {
-          const parsedUrl = new URL(this.url);
-          if (parsedUrl.host.split(".")[1] === "blob") {
-            const pathComponents = parsedUrl.pathname.match("/([^/]*)(/(.*))?");
-            containerName = pathComponents[1];
-            blobName = pathComponents[3];
-          } else if ((0, utils_common_js_1.isIpEndpointStyle)(parsedUrl)) {
-            const pathComponents = parsedUrl.pathname.match("/([^/]*)/([^/]*)(/(.*))?");
-            containerName = pathComponents[2];
-            blobName = pathComponents[4];
+      var reduce$1 = awaitify(reduce, 4);
+      function seq2(...functions) {
+        var _functions = functions.map(wrapAsync);
+        return function(...args) {
+          var that = this;
+          var cb = args[args.length - 1];
+          if (typeof cb == "function") {
+            args.pop();
           } else {
-            const pathComponents = parsedUrl.pathname.match("/([^/]*)(/(.*))?");
-            containerName = pathComponents[1];
-            blobName = pathComponents[3];
-          }
-          containerName = decodeURIComponent(containerName);
-          blobName = decodeURIComponent(blobName);
-          blobName = blobName.replace(/\\/g, "/");
-          if (!containerName) {
-            throw new Error("Provided containerName is invalid.");
+            cb = promiseCallback();
           }
-          return { blobName, containerName };
-        } catch (error3) {
-          throw new Error("Unable to extract blobName and containerName with provided information.");
-        }
-      }
-      /**
-       * Asynchronously copies a blob to a destination within the storage account.
-       * In version 2012-02-12 and later, the source for a Copy Blob operation can be
-       * a committed blob in any Azure storage account.
-       * Beginning with version 2015-02-21, the source for a Copy Blob operation can be
-       * an Azure file in any Azure storage account.
-       * Only storage accounts created on or after June 7th, 2012 allow the Copy Blob
-       * operation to copy from another storage account.
-       * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob
-       *
-       * @param copySource - url to the source Azure Blob/File.
-       * @param options - Optional options to the Blob Start Copy From URL operation.
-       */
-      async startCopyFromURL(copySource, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-startCopyFromURL", options, async (updatedOptions) => {
-          options.conditions = options.conditions || {};
-          options.sourceConditions = options.sourceConditions || {};
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.startCopyFromURL(copySource, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            metadata: options.metadata,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            sourceModifiedAccessConditions: {
-              sourceIfMatch: options.sourceConditions.ifMatch,
-              sourceIfModifiedSince: options.sourceConditions.ifModifiedSince,
-              sourceIfNoneMatch: options.sourceConditions.ifNoneMatch,
-              sourceIfUnmodifiedSince: options.sourceConditions.ifUnmodifiedSince,
-              sourceIfTags: options.sourceConditions.tagConditions
+          reduce$1(
+            _functions,
+            args,
+            (newargs, fn, iterCb) => {
+              fn.apply(that, newargs.concat((err, ...nextargs) => {
+                iterCb(err, nextargs);
+              }));
             },
-            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
-            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
-            legalHold: options.legalHold,
-            rehydratePriority: options.rehydratePriority,
-            tier: (0, models_js_1.toAccessTier)(options.tier),
-            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
-            sealBlob: options.sealBlob,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+            (err, results) => cb(err, ...results)
+          );
+          return cb[PROMISE_SYMBOL];
+        };
       }
-      /**
-       * Only available for BlobClient constructed with a shared key credential.
-       *
-       * Generates a Blob Service Shared Access Signature (SAS) URI based on the client properties
-       * and parameters passed in. The SAS is signed by the shared key credential of the client.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateSasUrl(options) {
-        return new Promise((resolve8) => {
-          if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
-            throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
+      function compose(...args) {
+        return seq2(...args.reverse());
+      }
+      function mapLimit(coll, limit, iteratee, callback) {
+        return _asyncMap(eachOfLimit$2(limit), coll, iteratee, callback);
+      }
+      var mapLimit$1 = awaitify(mapLimit, 4);
+      function concatLimit(coll, limit, iteratee, callback) {
+        var _iteratee = wrapAsync(iteratee);
+        return mapLimit$1(coll, limit, (val, iterCb) => {
+          _iteratee(val, (err, ...args) => {
+            if (err) return iterCb(err);
+            return iterCb(err, args);
+          });
+        }, (err, mapResults) => {
+          var result = [];
+          for (var i = 0; i < mapResults.length; i++) {
+            if (mapResults[i]) {
+              result = result.concat(...mapResults[i]);
+            }
           }
-          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
-            containerName: this._containerName,
-            blobName: this._name,
-            snapshotTime: this._snapshot,
-            versionId: this._versionId,
-            ...options
-          }, this.credential).toString();
-          resolve8((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
+          return callback(err, result);
         });
       }
-      /**
-       * Only available for BlobClient constructed with a shared key credential.
-       *
-       * Generates string to sign for a Blob Service Shared Access Signature (SAS) URI based on
-       * the client properties and parameters passed in. The SAS is signed by the shared key credential of the client.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/
-      generateSasStringToSign(options) {
-        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
-          throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
-        }
-        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
-          containerName: this._containerName,
-          blobName: this._name,
-          snapshotTime: this._snapshot,
-          versionId: this._versionId,
-          ...options
-        }, this.credential).stringToSign;
+      var concatLimit$1 = awaitify(concatLimit, 4);
+      function concat(coll, iteratee, callback) {
+        return concatLimit$1(coll, Infinity, iteratee, callback);
       }
-      /**
-       *
-       * Generates a Blob Service Shared Access Signature (SAS) URI based on
-       * the client properties and parameters passed in. The SAS is signed by the input user delegation key.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateUserDelegationSasUrl(options, userDelegationKey) {
-        return new Promise((resolve8) => {
-          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
-            containerName: this._containerName,
-            blobName: this._name,
-            snapshotTime: this._snapshot,
-            versionId: this._versionId,
-            ...options
-          }, userDelegationKey, this.accountName).toString();
-          resolve8((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
-        });
+      var concat$1 = awaitify(concat, 3);
+      function concatSeries(coll, iteratee, callback) {
+        return concatLimit$1(coll, 1, iteratee, callback);
       }
-      /**
-       * Only available for BlobClient constructed with a shared key credential.
-       *
-       * Generates string to sign for a Blob Service Shared Access Signature (SAS) URI based on
-       * the client properties and parameters passed in. The SAS is signed by the input user delegation key.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateUserDelegationSasStringToSign(options, userDelegationKey) {
-        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
-          containerName: this._containerName,
-          blobName: this._name,
-          snapshotTime: this._snapshot,
-          versionId: this._versionId,
-          ...options
-        }, userDelegationKey, this.accountName).stringToSign;
+      var concatSeries$1 = awaitify(concatSeries, 3);
+      function constant$1(...args) {
+        return function(...ignoredArgs) {
+          var callback = ignoredArgs.pop();
+          return callback(null, ...args);
+        };
       }
-      /**
-       * Delete the immutablility policy on the blob.
-       *
-       * @param options - Optional options to delete immutability policy on the blob.
-       */
-      async deleteImmutabilityPolicy(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-deleteImmutabilityPolicy", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.deleteImmutabilityPolicy({
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function _createTester(check, getResult) {
+        return (eachfn, arr, _iteratee, cb) => {
+          var testPassed = false;
+          var testResult;
+          const iteratee = wrapAsync(_iteratee);
+          eachfn(arr, (value, _2, callback) => {
+            iteratee(value, (err, result) => {
+              if (err || err === false) return callback(err);
+              if (check(result) && !testResult) {
+                testPassed = true;
+                testResult = getResult(true, value);
+                return callback(null, breakLoop);
+              }
+              callback();
+            });
+          }, (err) => {
+            if (err) return cb(err);
+            cb(null, testPassed ? testResult : getResult(false));
+          });
+        };
       }
-      /**
-       * Set immutability policy on the blob.
-       *
-       * @param options - Optional options to set immutability policy on the blob.
-       */
-      async setImmutabilityPolicy(immutabilityPolicy, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-setImmutabilityPolicy", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setImmutabilityPolicy({
-            immutabilityPolicyExpiry: immutabilityPolicy.expiriesOn,
-            immutabilityPolicyMode: immutabilityPolicy.policyMode,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function detect(coll, iteratee, callback) {
+        return _createTester((bool2) => bool2, (res, item) => item)(eachOf$1, coll, iteratee, callback);
       }
-      /**
-       * Set legal hold on the blob.
-       *
-       * @param options - Optional options to set legal hold on the blob.
-       */
-      async setLegalHold(legalHoldEnabled, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-setLegalHold", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setLegalHold(legalHoldEnabled, {
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      var detect$1 = awaitify(detect, 3);
+      function detectLimit(coll, limit, iteratee, callback) {
+        return _createTester((bool2) => bool2, (res, item) => item)(eachOfLimit$2(limit), coll, iteratee, callback);
       }
-      /**
-       * The Get Account Information operation returns the sku name and account kind
-       * for the specified account.
-       * The Get Account Information operation is available on service versions beginning
-       * with version 2018-03-28.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information
-       *
-       * @param options - Options to the Service Get Account Info operation.
-       * @returns Response data for the Service Get Account Info operation.
-       */
-      async getAccountInfo(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-getAccountInfo", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.getAccountInfo({
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      var detectLimit$1 = awaitify(detectLimit, 4);
+      function detectSeries(coll, iteratee, callback) {
+        return _createTester((bool2) => bool2, (res, item) => item)(eachOfLimit$2(1), coll, iteratee, callback);
       }
-    };
-    exports2.BlobClient = BlobClient;
-    var AppendBlobClient = class _AppendBlobClient extends BlobClient {
-      /**
-       * appendBlobsContext provided by protocol layer.
-       */
-      appendBlobContext;
-      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
-        let pipeline;
-        let url2;
-        options = options || {};
-        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
-          url2 = urlOrConnectionString;
-          pipeline = credentialOrPipelineOrContainerName;
-        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
-          url2 = urlOrConnectionString;
-          options = blobNameOrOptions;
-          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
-        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
-          url2 = urlOrConnectionString;
-          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
-          const containerName = credentialOrPipelineOrContainerName;
-          const blobName = blobNameOrOptions;
-          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
-          if (extractedCreds.kind === "AccountConnString") {
-            if (core_util_1.isNodeLike) {
-              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
-              url2 = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
-              if (!options.proxyOptions) {
-                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+      var detectSeries$1 = awaitify(detectSeries, 3);
+      function consoleFunc(name) {
+        return (fn, ...args) => wrapAsync(fn)(...args, (err, ...resultArgs) => {
+          if (typeof console === "object") {
+            if (err) {
+              if (console.error) {
+                console.error(err);
               }
-              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
-            } else {
-              throw new Error("Account connection string is only supported in Node.js environment");
+            } else if (console[name]) {
+              resultArgs.forEach((x) => console[name](x));
             }
-          } else if (extractedCreds.kind === "SASConnString") {
-            url2 = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
-            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-          } else {
-            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
           }
-        } else {
-          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
+        });
+      }
+      var dir = consoleFunc("dir");
+      function doWhilst(iteratee, test, callback) {
+        callback = onlyOnce(callback);
+        var _fn = wrapAsync(iteratee);
+        var _test = wrapAsync(test);
+        var results;
+        function next(err, ...args) {
+          if (err) return callback(err);
+          if (err === false) return;
+          results = args;
+          _test(...args, check);
         }
-        super(url2, pipeline);
-        this.appendBlobContext = this.storageClientContext.appendBlob;
+        function check(err, truth) {
+          if (err) return callback(err);
+          if (err === false) return;
+          if (!truth) return callback(null, ...results);
+          _fn(next);
+        }
+        return check(null, true);
       }
-      /**
-       * Creates a new AppendBlobClient object identical to the source but with the
-       * specified snapshot timestamp.
-       * Provide "" will remove the snapshot and return a Client to the base blob.
-       *
-       * @param snapshot - The snapshot timestamp.
-       * @returns A new AppendBlobClient object identical to the source but with the specified snapshot timestamp.
-       */
-      withSnapshot(snapshot) {
-        return new _AppendBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
+      var doWhilst$1 = awaitify(doWhilst, 3);
+      function doUntil(iteratee, test, callback) {
+        const _test = wrapAsync(test);
+        return doWhilst$1(iteratee, (...args) => {
+          const cb = args.pop();
+          _test(...args, (err, truth) => cb(err, !truth));
+        }, callback);
       }
-      /**
-       * Creates a 0-length append blob. Call AppendBlock to append data to an append blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
-       *
-       * @param options - Options to the Append Block Create operation.
-       *
-       *
-       * Example usage:
-       *
-       * ```ts snippet:ClientsCreateAppendBlob
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       *
-       * const appendBlobClient = containerClient.getAppendBlobClient(blobName);
-       * await appendBlobClient.create();
-       * ```
-       */
-      async create(options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-create", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.create(0, {
-            abortSignal: options.abortSignal,
-            blobHttpHeaders: options.blobHTTPHeaders,
-            leaseAccessConditions: options.conditions,
-            metadata: options.metadata,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
-            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
-            legalHold: options.legalHold,
-            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function _withoutIndex(iteratee) {
+        return (value, index2, callback) => iteratee(value, callback);
       }
-      /**
-       * Creates a 0-length append blob. Call AppendBlock to append data to an append blob.
-       * If the blob with the same name already exists, the content of the existing blob will remain unchanged.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
-       *
-       * @param options -
-       */
-      async createIfNotExists(options = {}) {
-        const conditions = { ifNoneMatch: constants_js_1.ETagAny };
-        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-createIfNotExists", options, async (updatedOptions) => {
-          try {
-            const res = (0, utils_common_js_1.assertResponse)(await this.create({
-              ...updatedOptions,
-              conditions
-            }));
-            return {
-              succeeded: true,
-              ...res,
-              _response: res._response
-              // _response is made non-enumerable
-            };
-          } catch (e) {
-            if (e.details?.errorCode === "BlobAlreadyExists") {
-              return {
-                succeeded: false,
-                ...e.response?.parsedHeaders,
-                _response: e.response
-              };
+      function eachLimit$2(coll, iteratee, callback) {
+        return eachOf$1(coll, _withoutIndex(wrapAsync(iteratee)), callback);
+      }
+      var each = awaitify(eachLimit$2, 3);
+      function eachLimit(coll, limit, iteratee, callback) {
+        return eachOfLimit$2(limit)(coll, _withoutIndex(wrapAsync(iteratee)), callback);
+      }
+      var eachLimit$1 = awaitify(eachLimit, 4);
+      function eachSeries(coll, iteratee, callback) {
+        return eachLimit$1(coll, 1, iteratee, callback);
+      }
+      var eachSeries$1 = awaitify(eachSeries, 3);
+      function ensureAsync(fn) {
+        if (isAsync(fn)) return fn;
+        return function(...args) {
+          var callback = args.pop();
+          var sync = true;
+          args.push((...innerArgs) => {
+            if (sync) {
+              setImmediate$1(() => callback(...innerArgs));
+            } else {
+              callback(...innerArgs);
             }
-            throw e;
+          });
+          fn.apply(this, args);
+          sync = false;
+        };
+      }
+      function every(coll, iteratee, callback) {
+        return _createTester((bool2) => !bool2, (res) => !res)(eachOf$1, coll, iteratee, callback);
+      }
+      var every$1 = awaitify(every, 3);
+      function everyLimit(coll, limit, iteratee, callback) {
+        return _createTester((bool2) => !bool2, (res) => !res)(eachOfLimit$2(limit), coll, iteratee, callback);
+      }
+      var everyLimit$1 = awaitify(everyLimit, 4);
+      function everySeries(coll, iteratee, callback) {
+        return _createTester((bool2) => !bool2, (res) => !res)(eachOfSeries$1, coll, iteratee, callback);
+      }
+      var everySeries$1 = awaitify(everySeries, 3);
+      function filterArray(eachfn, arr, iteratee, callback) {
+        var truthValues = new Array(arr.length);
+        eachfn(arr, (x, index2, iterCb) => {
+          iteratee(x, (err, v) => {
+            truthValues[index2] = !!v;
+            iterCb(err);
+          });
+        }, (err) => {
+          if (err) return callback(err);
+          var results = [];
+          for (var i = 0; i < arr.length; i++) {
+            if (truthValues[i]) results.push(arr[i]);
           }
+          callback(null, results);
         });
       }
-      /**
-       * Seals the append blob, making it read only.
-       *
-       * @param options -
-       */
-      async seal(options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-seal", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.seal({
-            abortSignal: options.abortSignal,
-            appendPositionAccessConditions: options.conditions,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
+      function filterGeneric(eachfn, coll, iteratee, callback) {
+        var results = [];
+        eachfn(coll, (x, index2, iterCb) => {
+          iteratee(x, (err, v) => {
+            if (err) return iterCb(err);
+            if (v) {
+              results.push({ index: index2, value: x });
+            }
+            iterCb(err);
+          });
+        }, (err) => {
+          if (err) return callback(err);
+          callback(null, results.sort((a, b) => a.index - b.index).map((v) => v.value));
         });
       }
-      /**
-       * Commits a new block of data to the end of the existing append blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/append-block
-       *
-       * @param body - Data to be appended.
-       * @param contentLength - Length of the body in bytes.
-       * @param options - Options to the Append Block operation.
-       *
-       *
-       * Example usage:
-       *
-       * ```ts snippet:ClientsAppendBlock
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       *
-       * const content = "Hello World!";
-       *
-       * // Create a new append blob and append data to the blob.
-       * const newAppendBlobClient = containerClient.getAppendBlobClient(blobName);
-       * await newAppendBlobClient.create();
-       * await newAppendBlobClient.appendBlock(content, content.length);
-       *
-       * // Append data to an existing append blob.
-       * const existingAppendBlobClient = containerClient.getAppendBlobClient(blobName);
-       * await existingAppendBlobClient.appendBlock(content, content.length);
-       * ```
-       */
-      async appendBlock(body, contentLength, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-appendBlock", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.appendBlock(contentLength, body, {
-            abortSignal: options.abortSignal,
-            appendPositionAccessConditions: options.conditions,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            requestOptions: {
-              onUploadProgress: options.onProgress
-            },
-            transactionalContentMD5: options.transactionalContentMD5,
-            transactionalContentCrc64: options.transactionalContentCrc64,
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
+      function _filter(eachfn, coll, iteratee, callback) {
+        var filter2 = isArrayLike(coll) ? filterArray : filterGeneric;
+        return filter2(eachfn, coll, wrapAsync(iteratee), callback);
+      }
+      function filter(coll, iteratee, callback) {
+        return _filter(eachOf$1, coll, iteratee, callback);
+      }
+      var filter$1 = awaitify(filter, 3);
+      function filterLimit(coll, limit, iteratee, callback) {
+        return _filter(eachOfLimit$2(limit), coll, iteratee, callback);
+      }
+      var filterLimit$1 = awaitify(filterLimit, 4);
+      function filterSeries(coll, iteratee, callback) {
+        return _filter(eachOfSeries$1, coll, iteratee, callback);
+      }
+      var filterSeries$1 = awaitify(filterSeries, 3);
+      function forever(fn, errback) {
+        var done = onlyOnce(errback);
+        var task = wrapAsync(ensureAsync(fn));
+        function next(err) {
+          if (err) return done(err);
+          if (err === false) return;
+          task(next);
+        }
+        return next();
+      }
+      var forever$1 = awaitify(forever, 2);
+      function groupByLimit(coll, limit, iteratee, callback) {
+        var _iteratee = wrapAsync(iteratee);
+        return mapLimit$1(coll, limit, (val, iterCb) => {
+          _iteratee(val, (err, key) => {
+            if (err) return iterCb(err);
+            return iterCb(err, { key, val });
+          });
+        }, (err, mapResults) => {
+          var result = {};
+          var { hasOwnProperty } = Object.prototype;
+          for (var i = 0; i < mapResults.length; i++) {
+            if (mapResults[i]) {
+              var { key } = mapResults[i];
+              var { val } = mapResults[i];
+              if (hasOwnProperty.call(result, key)) {
+                result[key].push(val);
+              } else {
+                result[key] = [val];
+              }
+            }
+          }
+          return callback(err, result);
         });
       }
-      /**
-       * The Append Block operation commits a new block of data to the end of an existing append blob
-       * where the contents are read from a source url.
-       * @see https://learn.microsoft.com/rest/api/storageservices/append-block-from-url
-       *
-       * @param sourceURL -
-       *                 The url to the blob that will be the source of the copy. A source blob in the same storage account can
-       *                 be authenticated via Shared Key. However, if the source is a blob in another account, the source blob
-       *                 must either be public or must be authenticated via a shared access signature. If the source blob is
-       *                 public, no authentication is required to perform the operation.
-       * @param sourceOffset - Offset in source to be appended
-       * @param count - Number of bytes to be appended as a block
-       * @param options -
-       */
-      async appendBlockFromURL(sourceURL, sourceOffset, count, options = {}) {
-        options.conditions = options.conditions || {};
-        options.sourceConditions = options.sourceConditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-appendBlockFromURL", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.appendBlockFromUrl(sourceURL, 0, {
-            abortSignal: options.abortSignal,
-            sourceRange: (0, Range_js_1.rangeToString)({ offset: sourceOffset, count }),
-            sourceContentMD5: options.sourceContentMD5,
-            sourceContentCrc64: options.sourceContentCrc64,
-            leaseAccessConditions: options.conditions,
-            appendPositionAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            sourceModifiedAccessConditions: {
-              sourceIfMatch: options.sourceConditions?.ifMatch,
-              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
-              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
-              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince
-            },
-            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            fileRequestIntent: options.sourceShareTokenIntent,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
+      var groupByLimit$1 = awaitify(groupByLimit, 4);
+      function groupBy(coll, iteratee, callback) {
+        return groupByLimit$1(coll, Infinity, iteratee, callback);
+      }
+      function groupBySeries(coll, iteratee, callback) {
+        return groupByLimit$1(coll, 1, iteratee, callback);
+      }
+      var log = consoleFunc("log");
+      function mapValuesLimit(obj, limit, iteratee, callback) {
+        callback = once(callback);
+        var newObj = {};
+        var _iteratee = wrapAsync(iteratee);
+        return eachOfLimit$2(limit)(obj, (val, key, next) => {
+          _iteratee(val, key, (err, result) => {
+            if (err) return next(err);
+            newObj[key] = result;
+            next(err);
+          });
+        }, (err) => callback(err, newObj));
+      }
+      var mapValuesLimit$1 = awaitify(mapValuesLimit, 4);
+      function mapValues(obj, iteratee, callback) {
+        return mapValuesLimit$1(obj, Infinity, iteratee, callback);
+      }
+      function mapValuesSeries(obj, iteratee, callback) {
+        return mapValuesLimit$1(obj, 1, iteratee, callback);
+      }
+      function memoize(fn, hasher = (v) => v) {
+        var memo = /* @__PURE__ */ Object.create(null);
+        var queues = /* @__PURE__ */ Object.create(null);
+        var _fn = wrapAsync(fn);
+        var memoized = initialParams((args, callback) => {
+          var key = hasher(...args);
+          if (key in memo) {
+            setImmediate$1(() => callback(null, ...memo[key]));
+          } else if (key in queues) {
+            queues[key].push(callback);
+          } else {
+            queues[key] = [callback];
+            _fn(...args, (err, ...resultArgs) => {
+              if (!err) {
+                memo[key] = resultArgs;
+              }
+              var q = queues[key];
+              delete queues[key];
+              for (var i = 0, l = q.length; i < l; i++) {
+                q[i](err, ...resultArgs);
+              }
+            });
+          }
         });
+        memoized.memo = memo;
+        memoized.unmemoized = fn;
+        return memoized;
       }
-    };
-    exports2.AppendBlobClient = AppendBlobClient;
-    var BlockBlobClient = class _BlockBlobClient extends BlobClient {
-      /**
-       * blobContext provided by protocol layer.
-       *
-       * Note. Ideally BlobClient should set BlobClient.blobContext to protected. However, API
-       * extractor has issue blocking that. Here we redecelare _blobContext in BlockBlobClient.
-       */
-      _blobContext;
-      /**
-       * blockBlobContext provided by protocol layer.
-       */
-      blockBlobContext;
-      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
-        let pipeline;
-        let url2;
-        options = options || {};
-        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
-          url2 = urlOrConnectionString;
-          pipeline = credentialOrPipelineOrContainerName;
-        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
-          url2 = urlOrConnectionString;
-          options = blobNameOrOptions;
-          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
-        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
-          url2 = urlOrConnectionString;
-          if (blobNameOrOptions && typeof blobNameOrOptions !== "string") {
-            options = blobNameOrOptions;
+      var _defer;
+      if (hasNextTick) {
+        _defer = process.nextTick;
+      } else if (hasSetImmediate) {
+        _defer = setImmediate;
+      } else {
+        _defer = fallback;
+      }
+      var nextTick = wrap(_defer);
+      var _parallel = awaitify((eachfn, tasks, callback) => {
+        var results = isArrayLike(tasks) ? [] : {};
+        eachfn(tasks, (task, key, taskCb) => {
+          wrapAsync(task)((err, ...result) => {
+            if (result.length < 2) {
+              [result] = result;
+            }
+            results[key] = result;
+            taskCb(err);
+          });
+        }, (err) => callback(err, results));
+      }, 3);
+      function parallel(tasks, callback) {
+        return _parallel(eachOf$1, tasks, callback);
+      }
+      function parallelLimit(tasks, limit, callback) {
+        return _parallel(eachOfLimit$2(limit), tasks, callback);
+      }
+      function queue(worker, concurrency) {
+        var _worker = wrapAsync(worker);
+        return queue$1((items, cb) => {
+          _worker(items[0], cb);
+        }, concurrency, 1);
+      }
+      class Heap {
+        constructor() {
+          this.heap = [];
+          this.pushCount = Number.MIN_SAFE_INTEGER;
+        }
+        get length() {
+          return this.heap.length;
+        }
+        empty() {
+          this.heap = [];
+          return this;
+        }
+        percUp(index2) {
+          let p;
+          while (index2 > 0 && smaller(this.heap[index2], this.heap[p = parent(index2)])) {
+            let t = this.heap[index2];
+            this.heap[index2] = this.heap[p];
+            this.heap[p] = t;
+            index2 = p;
           }
-          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
-          const containerName = credentialOrPipelineOrContainerName;
-          const blobName = blobNameOrOptions;
-          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
-          if (extractedCreds.kind === "AccountConnString") {
-            if (core_util_1.isNodeLike) {
-              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
-              url2 = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
-              if (!options.proxyOptions) {
-                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+        }
+        percDown(index2) {
+          let l;
+          while ((l = leftChi(index2)) < this.heap.length) {
+            if (l + 1 < this.heap.length && smaller(this.heap[l + 1], this.heap[l])) {
+              l = l + 1;
+            }
+            if (smaller(this.heap[index2], this.heap[l])) {
+              break;
+            }
+            let t = this.heap[index2];
+            this.heap[index2] = this.heap[l];
+            this.heap[l] = t;
+            index2 = l;
+          }
+        }
+        push(node) {
+          node.pushCount = ++this.pushCount;
+          this.heap.push(node);
+          this.percUp(this.heap.length - 1);
+        }
+        unshift(node) {
+          return this.heap.push(node);
+        }
+        shift() {
+          let [top] = this.heap;
+          this.heap[0] = this.heap[this.heap.length - 1];
+          this.heap.pop();
+          this.percDown(0);
+          return top;
+        }
+        toArray() {
+          return [...this];
+        }
+        *[Symbol.iterator]() {
+          for (let i = 0; i < this.heap.length; i++) {
+            yield this.heap[i].data;
+          }
+        }
+        remove(testFn) {
+          let j = 0;
+          for (let i = 0; i < this.heap.length; i++) {
+            if (!testFn(this.heap[i])) {
+              this.heap[j] = this.heap[i];
+              j++;
+            }
+          }
+          this.heap.splice(j);
+          for (let i = parent(this.heap.length - 1); i >= 0; i--) {
+            this.percDown(i);
+          }
+          return this;
+        }
+      }
+      function leftChi(i) {
+        return (i << 1) + 1;
+      }
+      function parent(i) {
+        return (i + 1 >> 1) - 1;
+      }
+      function smaller(x, y) {
+        if (x.priority !== y.priority) {
+          return x.priority < y.priority;
+        } else {
+          return x.pushCount < y.pushCount;
+        }
+      }
+      function priorityQueue(worker, concurrency) {
+        var q = queue(worker, concurrency);
+        var {
+          push,
+          pushAsync
+        } = q;
+        q._tasks = new Heap();
+        q._createTaskItem = ({ data, priority }, callback) => {
+          return {
+            data,
+            priority,
+            callback
+          };
+        };
+        function createDataItems(tasks, priority) {
+          if (!Array.isArray(tasks)) {
+            return { data: tasks, priority };
+          }
+          return tasks.map((data) => {
+            return { data, priority };
+          });
+        }
+        q.push = function(data, priority = 0, callback) {
+          return push(createDataItems(data, priority), callback);
+        };
+        q.pushAsync = function(data, priority = 0, callback) {
+          return pushAsync(createDataItems(data, priority), callback);
+        };
+        delete q.unshift;
+        delete q.unshiftAsync;
+        return q;
+      }
+      function race(tasks, callback) {
+        callback = once(callback);
+        if (!Array.isArray(tasks)) return callback(new TypeError("First argument to race must be an array of functions"));
+        if (!tasks.length) return callback();
+        for (var i = 0, l = tasks.length; i < l; i++) {
+          wrapAsync(tasks[i])(callback);
+        }
+      }
+      var race$1 = awaitify(race, 2);
+      function reduceRight(array, memo, iteratee, callback) {
+        var reversed = [...array].reverse();
+        return reduce$1(reversed, memo, iteratee, callback);
+      }
+      function reflect(fn) {
+        var _fn = wrapAsync(fn);
+        return initialParams(function reflectOn(args, reflectCallback) {
+          args.push((error3, ...cbArgs) => {
+            let retVal = {};
+            if (error3) {
+              retVal.error = error3;
+            }
+            if (cbArgs.length > 0) {
+              var value = cbArgs;
+              if (cbArgs.length <= 1) {
+                [value] = cbArgs;
               }
-              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
-            } else {
-              throw new Error("Account connection string is only supported in Node.js environment");
+              retVal.value = value;
             }
-          } else if (extractedCreds.kind === "SASConnString") {
-            url2 = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
-            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-          } else {
-            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
-          }
+            reflectCallback(null, retVal);
+          });
+          return _fn.apply(this, args);
+        });
+      }
+      function reflectAll(tasks) {
+        var results;
+        if (Array.isArray(tasks)) {
+          results = tasks.map(reflect);
         } else {
-          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
+          results = {};
+          Object.keys(tasks).forEach((key) => {
+            results[key] = reflect.call(this, tasks[key]);
+          });
         }
-        super(url2, pipeline);
-        this.blockBlobContext = this.storageClientContext.blockBlob;
-        this._blobContext = this.storageClientContext.blob;
+        return results;
       }
-      /**
-       * Creates a new BlockBlobClient object identical to the source but with the
-       * specified snapshot timestamp.
-       * Provide "" will remove the snapshot and return a URL to the base blob.
-       *
-       * @param snapshot - The snapshot timestamp.
-       * @returns A new BlockBlobClient object identical to the source but with the specified snapshot timestamp.
-       */
-      withSnapshot(snapshot) {
-        return new _BlockBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
+      function reject$2(eachfn, arr, _iteratee, callback) {
+        const iteratee = wrapAsync(_iteratee);
+        return _filter(eachfn, arr, (value, cb) => {
+          iteratee(value, (err, v) => {
+            cb(err, !v);
+          });
+        }, callback);
       }
-      /**
-       * ONLY AVAILABLE IN NODE.JS RUNTIME.
-       *
-       * Quick query for a JSON or CSV formatted blob.
-       *
-       * Example usage (Node.js):
-       *
-       * ```ts snippet:ClientsQuery
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blockBlobClient = containerClient.getBlockBlobClient(blobName);
-       *
-       * // Query and convert a blob to a string
-       * const queryBlockBlobResponse = await blockBlobClient.query("select from BlobStorage");
-       * if (queryBlockBlobResponse.readableStreamBody) {
-       *   const downloadedBuffer = await streamToBuffer(queryBlockBlobResponse.readableStreamBody);
-       *   const downloaded = downloadedBuffer.toString();
-       *   console.log(`Query blob content: ${downloaded}`);
-       * }
-       *
-       * async function streamToBuffer(readableStream: NodeJS.ReadableStream): Promise {
-       *   return new Promise((resolve, reject) => {
-       *     const chunks: Buffer[] = [];
-       *     readableStream.on("data", (data) => {
-       *       chunks.push(data instanceof Buffer ? data : Buffer.from(data));
-       *     });
-       *     readableStream.on("end", () => {
-       *       resolve(Buffer.concat(chunks));
-       *     });
-       *     readableStream.on("error", reject);
-       *   });
-       * }
-       * ```
-       *
-       * @param query -
-       * @param options -
-       */
-      async query(query, options = {}) {
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        if (!core_util_1.isNodeLike) {
-          throw new Error("This operation currently is only supported in Node.js.");
+      function reject(coll, iteratee, callback) {
+        return reject$2(eachOf$1, coll, iteratee, callback);
+      }
+      var reject$1 = awaitify(reject, 3);
+      function rejectLimit(coll, limit, iteratee, callback) {
+        return reject$2(eachOfLimit$2(limit), coll, iteratee, callback);
+      }
+      var rejectLimit$1 = awaitify(rejectLimit, 4);
+      function rejectSeries(coll, iteratee, callback) {
+        return reject$2(eachOfSeries$1, coll, iteratee, callback);
+      }
+      var rejectSeries$1 = awaitify(rejectSeries, 3);
+      function constant(value) {
+        return function() {
+          return value;
+        };
+      }
+      const DEFAULT_TIMES = 5;
+      const DEFAULT_INTERVAL = 0;
+      function retry2(opts, task, callback) {
+        var options = {
+          times: DEFAULT_TIMES,
+          intervalFunc: constant(DEFAULT_INTERVAL)
+        };
+        if (arguments.length < 3 && typeof opts === "function") {
+          callback = task || promiseCallback();
+          task = opts;
+        } else {
+          parseTimes(options, opts);
+          callback = callback || promiseCallback();
         }
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-query", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this._blobContext.query({
-            abortSignal: options.abortSignal,
-            queryRequest: {
-              queryType: "SQL",
-              expression: query,
-              inputSerialization: (0, utils_common_js_1.toQuerySerialization)(options.inputTextConfiguration),
-              outputSerialization: (0, utils_common_js_1.toQuerySerialization)(options.outputTextConfiguration)
-            },
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          return new BlobQueryResponse_js_1.BlobQueryResponse(response, {
-            abortSignal: options.abortSignal,
-            onProgress: options.onProgress,
-            onError: options.onError
+        if (typeof task !== "function") {
+          throw new Error("Invalid arguments for async.retry");
+        }
+        var _task = wrapAsync(task);
+        var attempt = 1;
+        function retryAttempt() {
+          _task((err, ...args) => {
+            if (err === false) return;
+            if (err && attempt++ < options.times && (typeof options.errorFilter != "function" || options.errorFilter(err))) {
+              setTimeout(retryAttempt, options.intervalFunc(attempt - 1));
+            } else {
+              callback(err, ...args);
+            }
           });
-        });
+        }
+        retryAttempt();
+        return callback[PROMISE_SYMBOL];
       }
-      /**
-       * Creates a new block blob, or updates the content of an existing block blob.
-       * Updating an existing block blob overwrites any existing metadata on the blob.
-       * Partial updates are not supported; the content of the existing blob is
-       * overwritten with the new content. To perform a partial update of a block blob's,
-       * use {@link stageBlock} and {@link commitBlockList}.
-       *
-       * This is a non-parallel uploading method, please use {@link uploadFile},
-       * {@link uploadStream} or {@link uploadBrowserData} for better performance
-       * with concurrency uploading.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
-       *
-       * @param body - Blob, string, ArrayBuffer, ArrayBufferView or a function
-       *                               which returns a new Readable stream whose offset is from data source beginning.
-       * @param contentLength - Length of body in bytes. Use Buffer.byteLength() to calculate body length for a
-       *                               string including non non-Base64/Hex-encoded characters.
-       * @param options - Options to the Block Blob Upload operation.
-       * @returns Response data for the Block Blob Upload operation.
-       *
-       * Example usage:
-       *
-       * ```ts snippet:ClientsUpload
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blockBlobClient = containerClient.getBlockBlobClient(blobName);
-       *
-       * const content = "Hello world!";
-       * const uploadBlobResponse = await blockBlobClient.upload(content, content.length);
-       * ```
-       */
-      async upload(body, contentLength, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-upload", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.upload(contentLength, body, {
-            abortSignal: options.abortSignal,
-            blobHttpHeaders: options.blobHTTPHeaders,
-            leaseAccessConditions: options.conditions,
-            metadata: options.metadata,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            requestOptions: {
-              onUploadProgress: options.onProgress
-            },
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
-            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
-            legalHold: options.legalHold,
-            tier: (0, models_js_1.toAccessTier)(options.tier),
-            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function parseTimes(acc, t) {
+        if (typeof t === "object") {
+          acc.times = +t.times || DEFAULT_TIMES;
+          acc.intervalFunc = typeof t.interval === "function" ? t.interval : constant(+t.interval || DEFAULT_INTERVAL);
+          acc.errorFilter = t.errorFilter;
+        } else if (typeof t === "number" || typeof t === "string") {
+          acc.times = +t || DEFAULT_TIMES;
+        } else {
+          throw new Error("Invalid arguments for async.retry");
+        }
       }
-      /**
-       * Creates a new Block Blob where the contents of the blob are read from a given URL.
-       * This API is supported beginning with the 2020-04-08 version. Partial updates
-       * are not supported with Put Blob from URL; the content of an existing blob is overwritten with
-       * the content of the new blob.  To perform partial updates to a block blob’s contents using a
-       * source URL, use {@link stageBlockFromURL} and {@link commitBlockList}.
-       *
-       * @param sourceURL - Specifies the URL of the blob. The value
-       *                           may be a URL of up to 2 KB in length that specifies a blob.
-       *                           The value should be URL-encoded as it would appear
-       *                           in a request URI. The source blob must either be public
-       *                           or must be authenticated via a shared access signature.
-       *                           If the source blob is public, no authentication is required
-       *                           to perform the operation. Here are some examples of source object URLs:
-       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob
-       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=
-       * @param options - Optional parameters.
-       */
-      async syncUploadFromURL(sourceURL, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-syncUploadFromURL", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.putBlobFromUrl(0, sourceURL, {
-            ...options,
-            blobHttpHeaders: options.blobHTTPHeaders,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            sourceModifiedAccessConditions: {
-              sourceIfMatch: options.sourceConditions?.ifMatch,
-              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
-              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
-              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince,
-              sourceIfTags: options.sourceConditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
-            tier: (0, models_js_1.toAccessTier)(options.tier),
-            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
-            copySourceTags: options.copySourceTags,
-            fileRequestIntent: options.sourceShareTokenIntent,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
+      function retryable(opts, task) {
+        if (!task) {
+          task = opts;
+          opts = null;
+        }
+        let arity = opts && opts.arity || task.length;
+        if (isAsync(task)) {
+          arity += 1;
+        }
+        var _task = wrapAsync(task);
+        return initialParams((args, callback) => {
+          if (args.length < arity - 1 || callback == null) {
+            args.push(callback);
+            callback = promiseCallback();
+          }
+          function taskFn(cb) {
+            _task(...args, cb);
+          }
+          if (opts) retry2(opts, taskFn, callback);
+          else retry2(taskFn, callback);
+          return callback[PROMISE_SYMBOL];
         });
       }
-      /**
-       * Uploads the specified block to the block blob's "staging area" to be later
-       * committed by a call to commitBlockList.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-block
-       *
-       * @param blockId - A 64-byte value that is base64-encoded
-       * @param body - Data to upload to the staging area.
-       * @param contentLength - Number of bytes to upload.
-       * @param options - Options to the Block Blob Stage Block operation.
-       * @returns Response data for the Block Blob Stage Block operation.
-       */
-      async stageBlock(blockId, body, contentLength, options = {}) {
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-stageBlock", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.stageBlock(blockId, contentLength, body, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            requestOptions: {
-              onUploadProgress: options.onProgress
-            },
-            transactionalContentMD5: options.transactionalContentMD5,
-            transactionalContentCrc64: options.transactionalContentCrc64,
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function series(tasks, callback) {
+        return _parallel(eachOfSeries$1, tasks, callback);
       }
-      /**
-       * The Stage Block From URL operation creates a new block to be committed as part
-       * of a blob where the contents are read from a URL.
-       * This API is available starting in version 2018-03-28.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-block-from-url
-       *
-       * @param blockId - A 64-byte value that is base64-encoded
-       * @param sourceURL - Specifies the URL of the blob. The value
-       *                           may be a URL of up to 2 KB in length that specifies a blob.
-       *                           The value should be URL-encoded as it would appear
-       *                           in a request URI. The source blob must either be public
-       *                           or must be authenticated via a shared access signature.
-       *                           If the source blob is public, no authentication is required
-       *                           to perform the operation. Here are some examples of source object URLs:
-       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob
-       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=
-       * @param offset - From which position of the blob to download, greater than or equal to 0
-       * @param count - How much data to be downloaded, greater than 0. Will download to the end when undefined
-       * @param options - Options to the Block Blob Stage Block From URL operation.
-       * @returns Response data for the Block Blob Stage Block From URL operation.
-       */
-      async stageBlockFromURL(blockId, sourceURL, offset = 0, count, options = {}) {
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-stageBlockFromURL", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.stageBlockFromURL(blockId, 0, sourceURL, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            sourceContentMD5: options.sourceContentMD5,
-            sourceContentCrc64: options.sourceContentCrc64,
-            sourceRange: offset === 0 && !count ? void 0 : (0, Range_js_1.rangeToString)({ offset, count }),
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
-            fileRequestIntent: options.sourceShareTokenIntent,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function some(coll, iteratee, callback) {
+        return _createTester(Boolean, (res) => res)(eachOf$1, coll, iteratee, callback);
       }
-      /**
-       * Writes a blob by specifying the list of block IDs that make up the blob.
-       * In order to be written as part of a blob, a block must have been successfully written
-       * to the server in a prior {@link stageBlock} operation. You can call {@link commitBlockList} to
-       * update a blob by uploading only those blocks that have changed, then committing the new and existing
-       * blocks together. Any blocks not specified in the block list and permanently deleted.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-block-list
-       *
-       * @param blocks -  Array of 64-byte value that is base64-encoded
-       * @param options - Options to the Block Blob Commit Block List operation.
-       * @returns Response data for the Block Blob Commit Block List operation.
-       */
-      async commitBlockList(blocks, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-commitBlockList", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.commitBlockList({ latest: blocks }, {
-            abortSignal: options.abortSignal,
-            blobHttpHeaders: options.blobHTTPHeaders,
-            leaseAccessConditions: options.conditions,
-            metadata: options.metadata,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
-            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
-            legalHold: options.legalHold,
-            tier: (0, models_js_1.toAccessTier)(options.tier),
-            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      var some$1 = awaitify(some, 3);
+      function someLimit(coll, limit, iteratee, callback) {
+        return _createTester(Boolean, (res) => res)(eachOfLimit$2(limit), coll, iteratee, callback);
       }
-      /**
-       * Returns the list of blocks that have been uploaded as part of a block blob
-       * using the specified block list filter.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-block-list
-       *
-       * @param listType - Specifies whether to return the list of committed blocks,
-       *                                        the list of uncommitted blocks, or both lists together.
-       * @param options - Options to the Block Blob Get Block List operation.
-       * @returns Response data for the Block Blob Get Block List operation.
-       */
-      async getBlockList(listType, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-getBlockList", options, async (updatedOptions) => {
-          const res = (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.getBlockList(listType, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          if (!res.committedBlocks) {
-            res.committedBlocks = [];
-          }
-          if (!res.uncommittedBlocks) {
-            res.uncommittedBlocks = [];
-          }
-          return res;
+      var someLimit$1 = awaitify(someLimit, 4);
+      function someSeries(coll, iteratee, callback) {
+        return _createTester(Boolean, (res) => res)(eachOfSeries$1, coll, iteratee, callback);
+      }
+      var someSeries$1 = awaitify(someSeries, 3);
+      function sortBy(coll, iteratee, callback) {
+        var _iteratee = wrapAsync(iteratee);
+        return map$1(coll, (x, iterCb) => {
+          _iteratee(x, (err, criteria) => {
+            if (err) return iterCb(err);
+            iterCb(err, { value: x, criteria });
+          });
+        }, (err, results) => {
+          if (err) return callback(err);
+          callback(null, results.sort(comparator).map((v) => v.value));
         });
+        function comparator(left, right) {
+          var a = left.criteria, b = right.criteria;
+          return a < b ? -1 : a > b ? 1 : 0;
+        }
       }
-      // High level functions
-      /**
-       * Uploads a Buffer(Node.js)/Blob(browsers)/ArrayBuffer/ArrayBufferView object to a BlockBlob.
-       *
-       * When data length is no more than the specifiled {@link BlockBlobParallelUploadOptions.maxSingleShotSize} (default is
-       * {@link BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}), this method will use 1 {@link upload} call to finish the upload.
-       * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call {@link commitBlockList}
-       * to commit the block list.
-       *
-       * A common {@link BlockBlobParallelUploadOptions.blobHTTPHeaders} option to set is
-       * `blobContentType`, enabling the browser to provide
-       * functionality based on file type.
-       *
-       * @param data - Buffer(Node.js), Blob, ArrayBuffer or ArrayBufferView
-       * @param options -
-       */
-      async uploadData(data, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadData", options, async (updatedOptions) => {
-          if (core_util_1.isNodeLike) {
-            let buffer;
-            if (data instanceof Buffer) {
-              buffer = data;
-            } else if (data instanceof ArrayBuffer) {
-              buffer = Buffer.from(data);
-            } else {
-              data = data;
-              buffer = Buffer.from(data.buffer, data.byteOffset, data.byteLength);
+      var sortBy$1 = awaitify(sortBy, 3);
+      function timeout(asyncFn, milliseconds, info7) {
+        var fn = wrapAsync(asyncFn);
+        return initialParams((args, callback) => {
+          var timedOut = false;
+          var timer;
+          function timeoutCallback() {
+            var name = asyncFn.name || "anonymous";
+            var error3 = new Error('Callback function "' + name + '" timed out.');
+            error3.code = "ETIMEDOUT";
+            if (info7) {
+              error3.info = info7;
             }
-            return this.uploadSeekableInternal((offset, size) => buffer.slice(offset, offset + size), buffer.byteLength, updatedOptions);
-          } else {
-            const browserBlob = new Blob([data]);
-            return this.uploadSeekableInternal((offset, size) => browserBlob.slice(offset, offset + size), browserBlob.size, updatedOptions);
+            timedOut = true;
+            callback(error3);
           }
+          args.push((...cbArgs) => {
+            if (!timedOut) {
+              callback(...cbArgs);
+              clearTimeout(timer);
+            }
+          });
+          timer = setTimeout(timeoutCallback, milliseconds);
+          fn(...args);
         });
       }
-      /**
-       * ONLY AVAILABLE IN BROWSERS.
-       *
-       * Uploads a browser Blob/File/ArrayBuffer/ArrayBufferView object to block blob.
-       *
-       * When buffer length lesser than or equal to 256MB, this method will use 1 upload call to finish the upload.
-       * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call
-       * {@link commitBlockList} to commit the block list.
-       *
-       * A common {@link BlockBlobParallelUploadOptions.blobHTTPHeaders} option to set is
-       * `blobContentType`, enabling the browser to provide
-       * functionality based on file type.
-       *
-       * @deprecated Use {@link uploadData} instead.
-       *
-       * @param browserData - Blob, File, ArrayBuffer or ArrayBufferView
-       * @param options - Options to upload browser data.
-       * @returns Response data for the Blob Upload operation.
-       */
-      async uploadBrowserData(browserData, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadBrowserData", options, async (updatedOptions) => {
-          const browserBlob = new Blob([browserData]);
-          return this.uploadSeekableInternal((offset, size) => browserBlob.slice(offset, offset + size), browserBlob.size, updatedOptions);
-        });
-      }
-      /**
-       *
-       * Uploads data to block blob. Requires a bodyFactory as the data source,
-       * which need to return a {@link HttpRequestBody} object with the offset and size provided.
-       *
-       * When data length is no more than the specified {@link BlockBlobParallelUploadOptions.maxSingleShotSize} (default is
-       * {@link BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}), this method will use 1 {@link upload} call to finish the upload.
-       * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call {@link commitBlockList}
-       * to commit the block list.
-       *
-       * @param bodyFactory -
-       * @param size - size of the data to upload.
-       * @param options - Options to Upload to Block Blob operation.
-       * @returns Response data for the Blob Upload operation.
-       */
-      async uploadSeekableInternal(bodyFactory, size, options = {}) {
-        let blockSize = options.blockSize ?? 0;
-        if (blockSize < 0 || blockSize > constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES) {
-          throw new RangeError(`blockSize option must be >= 0 and <= ${constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES}`);
+      function range(size) {
+        var result = Array(size);
+        while (size--) {
+          result[size] = size;
         }
-        const maxSingleShotSize = options.maxSingleShotSize ?? constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES;
-        if (maxSingleShotSize < 0 || maxSingleShotSize > constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES) {
-          throw new RangeError(`maxSingleShotSize option must be >= 0 and <= ${constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}`);
+        return result;
+      }
+      function timesLimit(count, limit, iteratee, callback) {
+        var _iteratee = wrapAsync(iteratee);
+        return mapLimit$1(range(count), limit, _iteratee, callback);
+      }
+      function times(n, iteratee, callback) {
+        return timesLimit(n, Infinity, iteratee, callback);
+      }
+      function timesSeries(n, iteratee, callback) {
+        return timesLimit(n, 1, iteratee, callback);
+      }
+      function transform(coll, accumulator, iteratee, callback) {
+        if (arguments.length <= 3 && typeof accumulator === "function") {
+          callback = iteratee;
+          iteratee = accumulator;
+          accumulator = Array.isArray(coll) ? [] : {};
         }
-        if (blockSize === 0) {
-          if (size > constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES * constants_js_1.BLOCK_BLOB_MAX_BLOCKS) {
-            throw new RangeError(`${size} is too larger to upload to a block blob.`);
-          }
-          if (size > maxSingleShotSize) {
-            blockSize = Math.ceil(size / constants_js_1.BLOCK_BLOB_MAX_BLOCKS);
-            if (blockSize < constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES) {
-              blockSize = constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES;
+        callback = once(callback || promiseCallback());
+        var _iteratee = wrapAsync(iteratee);
+        eachOf$1(coll, (v, k, cb) => {
+          _iteratee(accumulator, v, k, cb);
+        }, (err) => callback(err, accumulator));
+        return callback[PROMISE_SYMBOL];
+      }
+      function tryEach(tasks, callback) {
+        var error3 = null;
+        var result;
+        return eachSeries$1(tasks, (task, taskCb) => {
+          wrapAsync(task)((err, ...args) => {
+            if (err === false) return taskCb(err);
+            if (args.length < 2) {
+              [result] = args;
+            } else {
+              result = args;
             }
-          }
+            error3 = err;
+            taskCb(err ? null : {});
+          });
+        }, () => callback(error3, result));
+      }
+      var tryEach$1 = awaitify(tryEach);
+      function unmemoize(fn) {
+        return (...args) => {
+          return (fn.unmemoized || fn)(...args);
+        };
+      }
+      function whilst(test, iteratee, callback) {
+        callback = onlyOnce(callback);
+        var _fn = wrapAsync(iteratee);
+        var _test = wrapAsync(test);
+        var results = [];
+        function next(err, ...rest) {
+          if (err) return callback(err);
+          results = rest;
+          if (err === false) return;
+          _test(check);
         }
-        if (!options.blobHTTPHeaders) {
-          options.blobHTTPHeaders = {};
+        function check(err, truth) {
+          if (err) return callback(err);
+          if (err === false) return;
+          if (!truth) return callback(null, ...results);
+          _fn(next);
         }
-        if (!options.conditions) {
-          options.conditions = {};
+        return _test(check);
+      }
+      var whilst$1 = awaitify(whilst, 3);
+      function until(test, iteratee, callback) {
+        const _test = wrapAsync(test);
+        return whilst$1((cb) => _test((err, truth) => cb(err, !truth)), iteratee, callback);
+      }
+      function waterfall(tasks, callback) {
+        callback = once(callback);
+        if (!Array.isArray(tasks)) return callback(new Error("First argument to waterfall must be an array of functions"));
+        if (!tasks.length) return callback();
+        var taskIndex = 0;
+        function nextTask(args) {
+          var task = wrapAsync(tasks[taskIndex++]);
+          task(...args, onlyOnce(next));
         }
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadSeekableInternal", options, async (updatedOptions) => {
-          if (size <= maxSingleShotSize) {
-            return (0, utils_common_js_1.assertResponse)(await this.upload(bodyFactory(0, size), size, updatedOptions));
-          }
-          const numBlocks = Math.floor((size - 1) / blockSize) + 1;
-          if (numBlocks > constants_js_1.BLOCK_BLOB_MAX_BLOCKS) {
-            throw new RangeError(`The buffer's size is too big or the BlockSize is too small;the number of blocks must be <= ${constants_js_1.BLOCK_BLOB_MAX_BLOCKS}`);
-          }
-          const blockList = [];
-          const blockIDPrefix = (0, core_util_2.randomUUID)();
-          let transferProgress = 0;
-          const batch = new Batch_js_1.Batch(options.concurrency);
-          for (let i = 0; i < numBlocks; i++) {
-            batch.addOperation(async () => {
-              const blockID = (0, utils_common_js_1.generateBlockID)(blockIDPrefix, i);
-              const start = blockSize * i;
-              const end = i === numBlocks - 1 ? size : start + blockSize;
-              const contentLength = end - start;
-              blockList.push(blockID);
-              await this.stageBlock(blockID, bodyFactory(start, contentLength), contentLength, {
-                abortSignal: options.abortSignal,
-                conditions: options.conditions,
-                encryptionScope: options.encryptionScope,
-                tracingOptions: updatedOptions.tracingOptions
-              });
-              transferProgress += contentLength;
-              if (options.onProgress) {
-                options.onProgress({
-                  loadedBytes: transferProgress
-                });
-              }
-            });
+        function next(err, ...args) {
+          if (err === false) return;
+          if (err || taskIndex === tasks.length) {
+            return callback(err, ...args);
           }
-          await batch.do();
-          return this.commitBlockList(blockList, updatedOptions);
-        });
+          nextTask(args);
+        }
+        nextTask([]);
       }
-      /**
-       * ONLY AVAILABLE IN NODE.JS RUNTIME.
-       *
-       * Uploads a local file in blocks to a block blob.
-       *
-       * When file size lesser than or equal to 256MB, this method will use 1 upload call to finish the upload.
-       * Otherwise, this method will call stageBlock to upload blocks, and finally call commitBlockList
-       * to commit the block list.
-       *
-       * @param filePath - Full path of local file
-       * @param options - Options to Upload to Block Blob operation.
-       * @returns Response data for the Blob Upload operation.
-       */
-      async uploadFile(filePath, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadFile", options, async (updatedOptions) => {
-          const size = (await (0, utils_js_1.fsStat)(filePath)).size;
-          return this.uploadSeekableInternal((offset, count) => {
-            return () => (0, utils_js_1.fsCreateReadStream)(filePath, {
-              autoClose: true,
-              end: count ? offset + count - 1 : Infinity,
-              start: offset
+      var waterfall$1 = awaitify(waterfall);
+      var index = {
+        apply,
+        applyEach,
+        applyEachSeries,
+        asyncify,
+        auto,
+        autoInject,
+        cargo: cargo$1,
+        cargoQueue: cargo,
+        compose,
+        concat: concat$1,
+        concatLimit: concatLimit$1,
+        concatSeries: concatSeries$1,
+        constant: constant$1,
+        detect: detect$1,
+        detectLimit: detectLimit$1,
+        detectSeries: detectSeries$1,
+        dir,
+        doUntil,
+        doWhilst: doWhilst$1,
+        each,
+        eachLimit: eachLimit$1,
+        eachOf: eachOf$1,
+        eachOfLimit: eachOfLimit$1,
+        eachOfSeries: eachOfSeries$1,
+        eachSeries: eachSeries$1,
+        ensureAsync,
+        every: every$1,
+        everyLimit: everyLimit$1,
+        everySeries: everySeries$1,
+        filter: filter$1,
+        filterLimit: filterLimit$1,
+        filterSeries: filterSeries$1,
+        forever: forever$1,
+        groupBy,
+        groupByLimit: groupByLimit$1,
+        groupBySeries,
+        log,
+        map: map$1,
+        mapLimit: mapLimit$1,
+        mapSeries: mapSeries$1,
+        mapValues,
+        mapValuesLimit: mapValuesLimit$1,
+        mapValuesSeries,
+        memoize,
+        nextTick,
+        parallel,
+        parallelLimit,
+        priorityQueue,
+        queue,
+        race: race$1,
+        reduce: reduce$1,
+        reduceRight,
+        reflect,
+        reflectAll,
+        reject: reject$1,
+        rejectLimit: rejectLimit$1,
+        rejectSeries: rejectSeries$1,
+        retry: retry2,
+        retryable,
+        seq: seq2,
+        series,
+        setImmediate: setImmediate$1,
+        some: some$1,
+        someLimit: someLimit$1,
+        someSeries: someSeries$1,
+        sortBy: sortBy$1,
+        timeout,
+        times,
+        timesLimit,
+        timesSeries,
+        transform,
+        tryEach: tryEach$1,
+        unmemoize,
+        until,
+        waterfall: waterfall$1,
+        whilst: whilst$1,
+        // aliases
+        all: every$1,
+        allLimit: everyLimit$1,
+        allSeries: everySeries$1,
+        any: some$1,
+        anyLimit: someLimit$1,
+        anySeries: someSeries$1,
+        find: detect$1,
+        findLimit: detectLimit$1,
+        findSeries: detectSeries$1,
+        flatMap: concat$1,
+        flatMapLimit: concatLimit$1,
+        flatMapSeries: concatSeries$1,
+        forEach: each,
+        forEachSeries: eachSeries$1,
+        forEachLimit: eachLimit$1,
+        forEachOf: eachOf$1,
+        forEachOfSeries: eachOfSeries$1,
+        forEachOfLimit: eachOfLimit$1,
+        inject: reduce$1,
+        foldl: reduce$1,
+        foldr: reduceRight,
+        select: filter$1,
+        selectLimit: filterLimit$1,
+        selectSeries: filterSeries$1,
+        wrapSync: asyncify,
+        during: whilst$1,
+        doDuring: doWhilst$1
+      };
+      exports3.all = every$1;
+      exports3.allLimit = everyLimit$1;
+      exports3.allSeries = everySeries$1;
+      exports3.any = some$1;
+      exports3.anyLimit = someLimit$1;
+      exports3.anySeries = someSeries$1;
+      exports3.apply = apply;
+      exports3.applyEach = applyEach;
+      exports3.applyEachSeries = applyEachSeries;
+      exports3.asyncify = asyncify;
+      exports3.auto = auto;
+      exports3.autoInject = autoInject;
+      exports3.cargo = cargo$1;
+      exports3.cargoQueue = cargo;
+      exports3.compose = compose;
+      exports3.concat = concat$1;
+      exports3.concatLimit = concatLimit$1;
+      exports3.concatSeries = concatSeries$1;
+      exports3.constant = constant$1;
+      exports3.default = index;
+      exports3.detect = detect$1;
+      exports3.detectLimit = detectLimit$1;
+      exports3.detectSeries = detectSeries$1;
+      exports3.dir = dir;
+      exports3.doDuring = doWhilst$1;
+      exports3.doUntil = doUntil;
+      exports3.doWhilst = doWhilst$1;
+      exports3.during = whilst$1;
+      exports3.each = each;
+      exports3.eachLimit = eachLimit$1;
+      exports3.eachOf = eachOf$1;
+      exports3.eachOfLimit = eachOfLimit$1;
+      exports3.eachOfSeries = eachOfSeries$1;
+      exports3.eachSeries = eachSeries$1;
+      exports3.ensureAsync = ensureAsync;
+      exports3.every = every$1;
+      exports3.everyLimit = everyLimit$1;
+      exports3.everySeries = everySeries$1;
+      exports3.filter = filter$1;
+      exports3.filterLimit = filterLimit$1;
+      exports3.filterSeries = filterSeries$1;
+      exports3.find = detect$1;
+      exports3.findLimit = detectLimit$1;
+      exports3.findSeries = detectSeries$1;
+      exports3.flatMap = concat$1;
+      exports3.flatMapLimit = concatLimit$1;
+      exports3.flatMapSeries = concatSeries$1;
+      exports3.foldl = reduce$1;
+      exports3.foldr = reduceRight;
+      exports3.forEach = each;
+      exports3.forEachLimit = eachLimit$1;
+      exports3.forEachOf = eachOf$1;
+      exports3.forEachOfLimit = eachOfLimit$1;
+      exports3.forEachOfSeries = eachOfSeries$1;
+      exports3.forEachSeries = eachSeries$1;
+      exports3.forever = forever$1;
+      exports3.groupBy = groupBy;
+      exports3.groupByLimit = groupByLimit$1;
+      exports3.groupBySeries = groupBySeries;
+      exports3.inject = reduce$1;
+      exports3.log = log;
+      exports3.map = map$1;
+      exports3.mapLimit = mapLimit$1;
+      exports3.mapSeries = mapSeries$1;
+      exports3.mapValues = mapValues;
+      exports3.mapValuesLimit = mapValuesLimit$1;
+      exports3.mapValuesSeries = mapValuesSeries;
+      exports3.memoize = memoize;
+      exports3.nextTick = nextTick;
+      exports3.parallel = parallel;
+      exports3.parallelLimit = parallelLimit;
+      exports3.priorityQueue = priorityQueue;
+      exports3.queue = queue;
+      exports3.race = race$1;
+      exports3.reduce = reduce$1;
+      exports3.reduceRight = reduceRight;
+      exports3.reflect = reflect;
+      exports3.reflectAll = reflectAll;
+      exports3.reject = reject$1;
+      exports3.rejectLimit = rejectLimit$1;
+      exports3.rejectSeries = rejectSeries$1;
+      exports3.retry = retry2;
+      exports3.retryable = retryable;
+      exports3.select = filter$1;
+      exports3.selectLimit = filterLimit$1;
+      exports3.selectSeries = filterSeries$1;
+      exports3.seq = seq2;
+      exports3.series = series;
+      exports3.setImmediate = setImmediate$1;
+      exports3.some = some$1;
+      exports3.someLimit = someLimit$1;
+      exports3.someSeries = someSeries$1;
+      exports3.sortBy = sortBy$1;
+      exports3.timeout = timeout;
+      exports3.times = times;
+      exports3.timesLimit = timesLimit;
+      exports3.timesSeries = timesSeries;
+      exports3.transform = transform;
+      exports3.tryEach = tryEach$1;
+      exports3.unmemoize = unmemoize;
+      exports3.until = until;
+      exports3.waterfall = waterfall$1;
+      exports3.whilst = whilst$1;
+      exports3.wrapSync = asyncify;
+      Object.defineProperty(exports3, "__esModule", { value: true });
+    }));
+  }
+});
+
+// node_modules/graceful-fs/polyfills.js
+var require_polyfills = __commonJS({
+  "node_modules/graceful-fs/polyfills.js"(exports2, module2) {
+    var constants = require("constants");
+    var origCwd = process.cwd;
+    var cwd = null;
+    var platform = process.env.GRACEFUL_FS_PLATFORM || process.platform;
+    process.cwd = function() {
+      if (!cwd)
+        cwd = origCwd.call(process);
+      return cwd;
+    };
+    try {
+      process.cwd();
+    } catch (er) {
+    }
+    if (typeof process.chdir === "function") {
+      chdir = process.chdir;
+      process.chdir = function(d) {
+        cwd = null;
+        chdir.call(process, d);
+      };
+      if (Object.setPrototypeOf) Object.setPrototypeOf(process.chdir, chdir);
+    }
+    var chdir;
+    module2.exports = patch;
+    function patch(fs18) {
+      if (constants.hasOwnProperty("O_SYMLINK") && process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) {
+        patchLchmod(fs18);
+      }
+      if (!fs18.lutimes) {
+        patchLutimes(fs18);
+      }
+      fs18.chown = chownFix(fs18.chown);
+      fs18.fchown = chownFix(fs18.fchown);
+      fs18.lchown = chownFix(fs18.lchown);
+      fs18.chmod = chmodFix(fs18.chmod);
+      fs18.fchmod = chmodFix(fs18.fchmod);
+      fs18.lchmod = chmodFix(fs18.lchmod);
+      fs18.chownSync = chownFixSync(fs18.chownSync);
+      fs18.fchownSync = chownFixSync(fs18.fchownSync);
+      fs18.lchownSync = chownFixSync(fs18.lchownSync);
+      fs18.chmodSync = chmodFixSync(fs18.chmodSync);
+      fs18.fchmodSync = chmodFixSync(fs18.fchmodSync);
+      fs18.lchmodSync = chmodFixSync(fs18.lchmodSync);
+      fs18.stat = statFix(fs18.stat);
+      fs18.fstat = statFix(fs18.fstat);
+      fs18.lstat = statFix(fs18.lstat);
+      fs18.statSync = statFixSync(fs18.statSync);
+      fs18.fstatSync = statFixSync(fs18.fstatSync);
+      fs18.lstatSync = statFixSync(fs18.lstatSync);
+      if (fs18.chmod && !fs18.lchmod) {
+        fs18.lchmod = function(path16, mode, cb) {
+          if (cb) process.nextTick(cb);
+        };
+        fs18.lchmodSync = function() {
+        };
+      }
+      if (fs18.chown && !fs18.lchown) {
+        fs18.lchown = function(path16, uid, gid, cb) {
+          if (cb) process.nextTick(cb);
+        };
+        fs18.lchownSync = function() {
+        };
+      }
+      if (platform === "win32") {
+        fs18.rename = typeof fs18.rename !== "function" ? fs18.rename : (function(fs$rename) {
+          function rename(from, to, cb) {
+            var start = Date.now();
+            var backoff = 0;
+            fs$rename(from, to, function CB(er) {
+              if (er && (er.code === "EACCES" || er.code === "EPERM") && Date.now() - start < 6e4) {
+                setTimeout(function() {
+                  fs18.stat(to, function(stater, st) {
+                    if (stater && stater.code === "ENOENT")
+                      fs$rename(from, to, CB);
+                    else
+                      cb(er);
+                  });
+                }, backoff);
+                if (backoff < 100)
+                  backoff += 10;
+                return;
+              }
+              if (cb) cb(er);
             });
-          }, size, {
-            ...options,
-            tracingOptions: updatedOptions.tracingOptions
-          });
-        });
+          }
+          if (Object.setPrototypeOf) Object.setPrototypeOf(rename, fs$rename);
+          return rename;
+        })(fs18.rename);
       }
-      /**
-       * ONLY AVAILABLE IN NODE.JS RUNTIME.
-       *
-       * Uploads a Node.js Readable stream into block blob.
-       *
-       * PERFORMANCE IMPROVEMENT TIPS:
-       * * Input stream highWaterMark is better to set a same value with bufferSize
-       *    parameter, which will avoid Buffer.concat() operations.
-       *
-       * @param stream - Node.js Readable stream
-       * @param bufferSize - Size of every buffer allocated, also the block size in the uploaded block blob. Default value is 8MB
-       * @param maxConcurrency -  Max concurrency indicates the max number of buffers that can be allocated,
-       *                                 positive correlation with max uploading concurrency. Default value is 5
-       * @param options - Options to Upload Stream to Block Blob operation.
-       * @returns Response data for the Blob Upload operation.
-       */
-      async uploadStream(stream2, bufferSize = constants_js_1.DEFAULT_BLOCK_BUFFER_SIZE_BYTES, maxConcurrency = 5, options = {}) {
-        if (!options.blobHTTPHeaders) {
-          options.blobHTTPHeaders = {};
-        }
-        if (!options.conditions) {
-          options.conditions = {};
+      fs18.read = typeof fs18.read !== "function" ? fs18.read : (function(fs$read) {
+        function read(fd, buffer, offset, length, position, callback_) {
+          var callback;
+          if (callback_ && typeof callback_ === "function") {
+            var eagCounter = 0;
+            callback = function(er, _2, __) {
+              if (er && er.code === "EAGAIN" && eagCounter < 10) {
+                eagCounter++;
+                return fs$read.call(fs18, fd, buffer, offset, length, position, callback);
+              }
+              callback_.apply(this, arguments);
+            };
+          }
+          return fs$read.call(fs18, fd, buffer, offset, length, position, callback);
         }
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadStream", options, async (updatedOptions) => {
-          let blockNum = 0;
-          const blockIDPrefix = (0, core_util_2.randomUUID)();
-          let transferProgress = 0;
-          const blockList = [];
-          const scheduler = new storage_common_1.BufferScheduler(
-            stream2,
-            bufferSize,
-            maxConcurrency,
-            async (body, length) => {
-              const blockID = (0, utils_common_js_1.generateBlockID)(blockIDPrefix, blockNum);
-              blockList.push(blockID);
-              blockNum++;
-              await this.stageBlock(blockID, body, length, {
-                customerProvidedKey: options.customerProvidedKey,
-                conditions: options.conditions,
-                encryptionScope: options.encryptionScope,
-                tracingOptions: updatedOptions.tracingOptions
-              });
-              transferProgress += length;
-              if (options.onProgress) {
-                options.onProgress({ loadedBytes: transferProgress });
+        if (Object.setPrototypeOf) Object.setPrototypeOf(read, fs$read);
+        return read;
+      })(fs18.read);
+      fs18.readSync = typeof fs18.readSync !== "function" ? fs18.readSync : /* @__PURE__ */ (function(fs$readSync) {
+        return function(fd, buffer, offset, length, position) {
+          var eagCounter = 0;
+          while (true) {
+            try {
+              return fs$readSync.call(fs18, fd, buffer, offset, length, position);
+            } catch (er) {
+              if (er.code === "EAGAIN" && eagCounter < 10) {
+                eagCounter++;
+                continue;
               }
-            },
-            // concurrency should set a smaller value than maxConcurrency, which is helpful to
-            // reduce the possibility when a outgoing handler waits for stream data, in
-            // this situation, outgoing handlers are blocked.
-            // Outgoing queue shouldn't be empty.
-            Math.ceil(maxConcurrency / 4 * 3)
+              throw er;
+            }
+          }
+        };
+      })(fs18.readSync);
+      function patchLchmod(fs19) {
+        fs19.lchmod = function(path16, mode, callback) {
+          fs19.open(
+            path16,
+            constants.O_WRONLY | constants.O_SYMLINK,
+            mode,
+            function(err, fd) {
+              if (err) {
+                if (callback) callback(err);
+                return;
+              }
+              fs19.fchmod(fd, mode, function(err2) {
+                fs19.close(fd, function(err22) {
+                  if (callback) callback(err2 || err22);
+                });
+              });
+            }
           );
-          await scheduler.do();
-          return (0, utils_common_js_1.assertResponse)(await this.commitBlockList(blockList, {
-            ...options,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
-      }
-    };
-    exports2.BlockBlobClient = BlockBlobClient;
-    var PageBlobClient = class _PageBlobClient extends BlobClient {
-      /**
-       * pageBlobsContext provided by protocol layer.
-       */
-      pageBlobContext;
-      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
-        let pipeline;
-        let url2;
-        options = options || {};
-        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
-          url2 = urlOrConnectionString;
-          pipeline = credentialOrPipelineOrContainerName;
-        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
-          url2 = urlOrConnectionString;
-          options = blobNameOrOptions;
-          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
-        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
-          url2 = urlOrConnectionString;
-          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
-          const containerName = credentialOrPipelineOrContainerName;
-          const blobName = blobNameOrOptions;
-          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
-          if (extractedCreds.kind === "AccountConnString") {
-            if (core_util_1.isNodeLike) {
-              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
-              url2 = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
-              if (!options.proxyOptions) {
-                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+        };
+        fs19.lchmodSync = function(path16, mode) {
+          var fd = fs19.openSync(path16, constants.O_WRONLY | constants.O_SYMLINK, mode);
+          var threw = true;
+          var ret;
+          try {
+            ret = fs19.fchmodSync(fd, mode);
+            threw = false;
+          } finally {
+            if (threw) {
+              try {
+                fs19.closeSync(fd);
+              } catch (er) {
               }
-              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
             } else {
-              throw new Error("Account connection string is only supported in Node.js environment");
+              fs19.closeSync(fd);
             }
-          } else if (extractedCreds.kind === "SASConnString") {
-            url2 = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
-            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-          } else {
-            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
           }
-        } else {
-          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
-        }
-        super(url2, pipeline);
-        this.pageBlobContext = this.storageClientContext.pageBlob;
+          return ret;
+        };
       }
-      /**
-       * Creates a new PageBlobClient object identical to the source but with the
-       * specified snapshot timestamp.
-       * Provide "" will remove the snapshot and return a Client to the base blob.
-       *
-       * @param snapshot - The snapshot timestamp.
-       * @returns A new PageBlobClient object identical to the source but with the specified snapshot timestamp.
-       */
-      withSnapshot(snapshot) {
-        return new _PageBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
+      function patchLutimes(fs19) {
+        if (constants.hasOwnProperty("O_SYMLINK") && fs19.futimes) {
+          fs19.lutimes = function(path16, at, mt, cb) {
+            fs19.open(path16, constants.O_SYMLINK, function(er, fd) {
+              if (er) {
+                if (cb) cb(er);
+                return;
+              }
+              fs19.futimes(fd, at, mt, function(er2) {
+                fs19.close(fd, function(er22) {
+                  if (cb) cb(er2 || er22);
+                });
+              });
+            });
+          };
+          fs19.lutimesSync = function(path16, at, mt) {
+            var fd = fs19.openSync(path16, constants.O_SYMLINK);
+            var ret;
+            var threw = true;
+            try {
+              ret = fs19.futimesSync(fd, at, mt);
+              threw = false;
+            } finally {
+              if (threw) {
+                try {
+                  fs19.closeSync(fd);
+                } catch (er) {
+                }
+              } else {
+                fs19.closeSync(fd);
+              }
+            }
+            return ret;
+          };
+        } else if (fs19.futimes) {
+          fs19.lutimes = function(_a, _b, _c, cb) {
+            if (cb) process.nextTick(cb);
+          };
+          fs19.lutimesSync = function() {
+          };
+        }
       }
-      /**
-       * Creates a page blob of the specified length. Call uploadPages to upload data
-       * data to a page blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
-       *
-       * @param size - size of the page blob.
-       * @param options - Options to the Page Blob Create operation.
-       * @returns Response data for the Page Blob Create operation.
-       */
-      async create(size, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-create", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.create(0, size, {
-            abortSignal: options.abortSignal,
-            blobHttpHeaders: options.blobHTTPHeaders,
-            blobSequenceNumber: options.blobSequenceNumber,
-            leaseAccessConditions: options.conditions,
-            metadata: options.metadata,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
-            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
-            legalHold: options.legalHold,
-            tier: (0, models_js_1.toAccessTier)(options.tier),
-            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function chmodFix(orig) {
+        if (!orig) return orig;
+        return function(target, mode, cb) {
+          return orig.call(fs18, target, mode, function(er) {
+            if (chownErOk(er)) er = null;
+            if (cb) cb.apply(this, arguments);
+          });
+        };
       }
-      /**
-       * Creates a page blob of the specified length. Call uploadPages to upload data
-       * data to a page blob. If the blob with the same name already exists, the content
-       * of the existing blob will remain unchanged.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
-       *
-       * @param size - size of the page blob.
-       * @param options -
-       */
-      async createIfNotExists(size, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-createIfNotExists", options, async (updatedOptions) => {
+      function chmodFixSync(orig) {
+        if (!orig) return orig;
+        return function(target, mode) {
           try {
-            const conditions = { ifNoneMatch: constants_js_1.ETagAny };
-            const res = (0, utils_common_js_1.assertResponse)(await this.create(size, {
-              ...options,
-              conditions,
-              tracingOptions: updatedOptions.tracingOptions
-            }));
-            return {
-              succeeded: true,
-              ...res,
-              _response: res._response
-              // _response is made non-enumerable
-            };
-          } catch (e) {
-            if (e.details?.errorCode === "BlobAlreadyExists") {
-              return {
-                succeeded: false,
-                ...e.response?.parsedHeaders,
-                _response: e.response
-              };
-            }
-            throw e;
+            return orig.call(fs18, target, mode);
+          } catch (er) {
+            if (!chownErOk(er)) throw er;
           }
-        });
-      }
-      /**
-       * Writes 1 or more pages to the page blob. The start and end offsets must be a multiple of 512.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-page
-       *
-       * @param body - Data to upload
-       * @param offset - Offset of destination page blob
-       * @param count - Content length of the body, also number of bytes to be uploaded
-       * @param options - Options to the Page Blob Upload Pages operation.
-       * @returns Response data for the Page Blob Upload Pages operation.
-       */
-      async uploadPages(body, offset, count, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-uploadPages", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.uploadPages(count, body, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            requestOptions: {
-              onUploadProgress: options.onProgress
-            },
-            range: (0, Range_js_1.rangeToString)({ offset, count }),
-            sequenceNumberAccessConditions: options.conditions,
-            transactionalContentMD5: options.transactionalContentMD5,
-            transactionalContentCrc64: options.transactionalContentCrc64,
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+        };
       }
-      /**
-       * The Upload Pages operation writes a range of pages to a page blob where the
-       * contents are read from a URL.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-page-from-url
-       *
-       * @param sourceURL - Specify a URL to the copy source, Shared Access Signature(SAS) maybe needed for authentication
-       * @param sourceOffset - The source offset to copy from. Pass 0 to copy from the beginning of source page blob
-       * @param destOffset - Offset of destination page blob
-       * @param count - Number of bytes to be uploaded from source page blob
-       * @param options -
-       */
-      async uploadPagesFromURL(sourceURL, sourceOffset, destOffset, count, options = {}) {
-        options.conditions = options.conditions || {};
-        options.sourceConditions = options.sourceConditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-uploadPagesFromURL", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.uploadPagesFromURL(sourceURL, (0, Range_js_1.rangeToString)({ offset: sourceOffset, count }), 0, (0, Range_js_1.rangeToString)({ offset: destOffset, count }), {
-            abortSignal: options.abortSignal,
-            sourceContentMD5: options.sourceContentMD5,
-            sourceContentCrc64: options.sourceContentCrc64,
-            leaseAccessConditions: options.conditions,
-            sequenceNumberAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            sourceModifiedAccessConditions: {
-              sourceIfMatch: options.sourceConditions?.ifMatch,
-              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
-              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
-              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince
-            },
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
-            fileRequestIntent: options.sourceShareTokenIntent,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function chownFix(orig) {
+        if (!orig) return orig;
+        return function(target, uid, gid, cb) {
+          return orig.call(fs18, target, uid, gid, function(er) {
+            if (chownErOk(er)) er = null;
+            if (cb) cb.apply(this, arguments);
+          });
+        };
       }
-      /**
-       * Frees the specified pages from the page blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-page
-       *
-       * @param offset - Starting byte position of the pages to clear.
-       * @param count - Number of bytes to clear.
-       * @param options - Options to the Page Blob Clear Pages operation.
-       * @returns Response data for the Page Blob Clear Pages operation.
-       */
-      async clearPages(offset = 0, count, options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-clearPages", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.clearPages(0, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            range: (0, Range_js_1.rangeToString)({ offset, count }),
-            sequenceNumberAccessConditions: options.conditions,
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function chownFixSync(orig) {
+        if (!orig) return orig;
+        return function(target, uid, gid) {
+          try {
+            return orig.call(fs18, target, uid, gid);
+          } catch (er) {
+            if (!chownErOk(er)) throw er;
+          }
+        };
       }
-      /**
-       * Returns the list of valid page ranges for a page blob or snapshot of a page blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param options - Options to the Page Blob Get Ranges operation.
-       * @returns Response data for the Page Blob Get Ranges operation.
-       */
-      async getPageRanges(offset = 0, count, options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRanges", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRanges({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            range: (0, Range_js_1.rangeToString)({ offset, count }),
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(response);
-        });
+      function statFix(orig) {
+        if (!orig) return orig;
+        return function(target, options, cb) {
+          if (typeof options === "function") {
+            cb = options;
+            options = null;
+          }
+          function callback(er, stats) {
+            if (stats) {
+              if (stats.uid < 0) stats.uid += 4294967296;
+              if (stats.gid < 0) stats.gid += 4294967296;
+            }
+            if (cb) cb.apply(this, arguments);
+          }
+          return options ? orig.call(fs18, target, options, callback) : orig.call(fs18, target, callback);
+        };
       }
-      /**
-       * getPageRangesSegment returns a single segment of page ranges starting from the
-       * specified Marker. Use an empty Marker to start enumeration from the beginning.
-       * After getting a segment, process it, and then call getPageRangesSegment again
-       * (passing the the previously-returned Marker) to get the next segment.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param marker - A string value that identifies the portion of the list to be returned with the next list operation.
-       * @param options - Options to PageBlob Get Page Ranges Segment operation.
-       */
-      async listPageRangesSegment(offset = 0, count, marker, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesSegment", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRanges({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            range: (0, Range_js_1.rangeToString)({ offset, count }),
-            marker,
-            maxPageSize: options.maxPageSize,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function statFixSync(orig) {
+        if (!orig) return orig;
+        return function(target, options) {
+          var stats = options ? orig.call(fs18, target, options) : orig.call(fs18, target);
+          if (stats) {
+            if (stats.uid < 0) stats.uid += 4294967296;
+            if (stats.gid < 0) stats.gid += 4294967296;
+          }
+          return stats;
+        };
       }
-      /**
-       * Returns an AsyncIterableIterator for {@link PageBlobGetPageRangesResponseModel}
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param marker - A string value that identifies the portion of
-       *                          the get of page ranges to be returned with the next getting operation. The
-       *                          operation returns the ContinuationToken value within the response body if the
-       *                          getting operation did not return all page ranges remaining within the current page.
-       *                          The ContinuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of get
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to List Page Ranges operation.
-       */
-      async *listPageRangeItemSegments(offset = 0, count, marker, options = {}) {
-        let getPageRangeItemSegmentsResponse;
-        if (!!marker || marker === void 0) {
-          do {
-            getPageRangeItemSegmentsResponse = await this.listPageRangesSegment(offset, count, marker, options);
-            marker = getPageRangeItemSegmentsResponse.continuationToken;
-            yield await getPageRangeItemSegmentsResponse;
-          } while (marker);
+      function chownErOk(er) {
+        if (!er)
+          return true;
+        if (er.code === "ENOSYS")
+          return true;
+        var nonroot = !process.getuid || process.getuid() !== 0;
+        if (nonroot) {
+          if (er.code === "EINVAL" || er.code === "EPERM")
+            return true;
         }
+        return false;
       }
-      /**
-       * Returns an AsyncIterableIterator of {@link PageRangeInfo} objects
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param options - Options to List Page Ranges operation.
-       */
-      async *listPageRangeItems(offset = 0, count, options = {}) {
-        let marker;
-        for await (const getPageRangesSegment of this.listPageRangeItemSegments(offset, count, marker, options)) {
-          yield* (0, utils_common_js_1.ExtractPageRangeInfoItems)(getPageRangesSegment);
+    }
+  }
+});
+
+// node_modules/graceful-fs/legacy-streams.js
+var require_legacy_streams = __commonJS({
+  "node_modules/graceful-fs/legacy-streams.js"(exports2, module2) {
+    var Stream = require("stream").Stream;
+    module2.exports = legacy;
+    function legacy(fs18) {
+      return {
+        ReadStream,
+        WriteStream
+      };
+      function ReadStream(path16, options) {
+        if (!(this instanceof ReadStream)) return new ReadStream(path16, options);
+        Stream.call(this);
+        var self2 = this;
+        this.path = path16;
+        this.fd = null;
+        this.readable = true;
+        this.paused = false;
+        this.flags = "r";
+        this.mode = 438;
+        this.bufferSize = 64 * 1024;
+        options = options || {};
+        var keys = Object.keys(options);
+        for (var index = 0, length = keys.length; index < length; index++) {
+          var key = keys[index];
+          this[key] = options[key];
         }
-      }
-      /**
-       * Returns an async iterable iterator to list of page ranges for a page blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
-       *
-       *  .byPage() returns an async iterable iterator to list of page ranges for a page blob.
-       *
-       * ```ts snippet:ClientsListPageBlobs
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const pageBlobClient = containerClient.getPageBlobClient(blobName);
-       *
-       * // Example using `for await` syntax
-       * let i = 1;
-       * for await (const pageRange of pageBlobClient.listPageRanges()) {
-       *   console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       * }
-       *
-       * // Example using `iter.next()` syntax
-       * i = 1;
-       * const iter = pageBlobClient.listPageRanges();
-       * let { value, done } = await iter.next();
-       * while (!done) {
-       *   console.log(`Page range ${i++}: ${value.start} - ${value.end}`);
-       *   ({ value, done } = await iter.next());
-       * }
-       *
-       * // Example using `byPage()` syntax
-       * i = 1;
-       * for await (const page of pageBlobClient.listPageRanges().byPage({ maxPageSize: 20 })) {
-       *   for (const pageRange of page.pageRange || []) {
-       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       *   }
-       * }
-       *
-       * // Example using paging with a marker
-       * i = 1;
-       * let iterator = pageBlobClient.listPageRanges().byPage({ maxPageSize: 2 });
-       * let response = (await iterator.next()).value;
-       * // Prints 2 page ranges
-       * if (response.pageRange) {
-       *   for (const pageRange of response.pageRange) {
-       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       *   }
-       * }
-       * // Gets next marker
-       * let marker = response.continuationToken;
-       * // Passing next marker as continuationToken
-       * iterator = pageBlobClient.listPageRanges().byPage({ continuationToken: marker, maxPageSize: 10 });
-       * response = (await iterator.next()).value;
-       * // Prints 10 page ranges
-       * if (response.pageRange) {
-       *   for (const pageRange of response.pageRange) {
-       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       *   }
-       * }
-       * ```
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param options - Options to the Page Blob Get Ranges operation.
-       * @returns An asyncIterableIterator that supports paging.
-       */
-      listPageRanges(offset = 0, count, options = {}) {
-        options.conditions = options.conditions || {};
-        const iter = this.listPageRangeItems(offset, count, options);
-        return {
-          /**
-           * The next method, part of the iteration protocol
-           */
-          next() {
-            return iter.next();
-          },
-          /**
-           * The connection to the async iterator, part of the iteration protocol
-           */
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          /**
-           * Return an AsyncIterableIterator that works a page at a time
-           */
-          byPage: (settings = {}) => {
-            return this.listPageRangeItemSegments(offset, count, settings.continuationToken, {
-              maxPageSize: settings.maxPageSize,
-              ...options
-            });
+        if (this.encoding) this.setEncoding(this.encoding);
+        if (this.start !== void 0) {
+          if ("number" !== typeof this.start) {
+            throw TypeError("start must be a Number");
           }
-        };
-      }
-      /**
-       * Gets the collection of page ranges that differ between a specified snapshot and this page blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
-       *
-       * @param offset - Starting byte position of the page blob
-       * @param count - Number of bytes to get ranges diff.
-       * @param prevSnapshot - Timestamp of snapshot to retrieve the difference.
-       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
-       * @returns Response data for the Page Blob Get Page Range Diff operation.
-       */
-      async getPageRangesDiff(offset, count, prevSnapshot, options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesDiff", options, async (updatedOptions) => {
-          const result = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            prevsnapshot: prevSnapshot,
-            range: (0, Range_js_1.rangeToString)({ offset, count }),
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(result);
-        });
-      }
-      /**
-       * getPageRangesDiffSegment returns a single segment of page ranges starting from the
-       * specified Marker for difference between previous snapshot and the target page blob.
-       * Use an empty Marker to start enumeration from the beginning.
-       * After getting a segment, process it, and then call getPageRangesDiffSegment again
-       * (passing the the previously-returned Marker) to get the next segment.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference.
-       * @param marker - A string value that identifies the portion of the get to be returned with the next get operation.
-       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
-       */
-      async listPageRangesDiffSegment(offset, count, prevSnapshotOrUrl, marker, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesDiffSegment", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({
-            abortSignal: options?.abortSignal,
-            leaseAccessConditions: options?.conditions,
-            modifiedAccessConditions: {
-              ...options?.conditions,
-              ifTags: options?.conditions?.tagConditions
-            },
-            prevsnapshot: prevSnapshotOrUrl,
-            range: (0, Range_js_1.rangeToString)({
-              offset,
-              count
-            }),
-            marker,
-            maxPageSize: options?.maxPageSize,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
-      }
-      /**
-       * Returns an AsyncIterableIterator for {@link PageBlobGetPageRangesDiffResponseModel}
-       *
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference.
-       * @param marker - A string value that identifies the portion of
-       *                          the get of page ranges to be returned with the next getting operation. The
-       *                          operation returns the ContinuationToken value within the response body if the
-       *                          getting operation did not return all page ranges remaining within the current page.
-       *                          The ContinuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of get
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
-       */
-      async *listPageRangeDiffItemSegments(offset, count, prevSnapshotOrUrl, marker, options) {
-        let getPageRangeItemSegmentsResponse;
-        if (!!marker || marker === void 0) {
-          do {
-            getPageRangeItemSegmentsResponse = await this.listPageRangesDiffSegment(offset, count, prevSnapshotOrUrl, marker, options);
-            marker = getPageRangeItemSegmentsResponse.continuationToken;
-            yield await getPageRangeItemSegmentsResponse;
-          } while (marker);
+          if (this.end === void 0) {
+            this.end = Infinity;
+          } else if ("number" !== typeof this.end) {
+            throw TypeError("end must be a Number");
+          }
+          if (this.start > this.end) {
+            throw new Error("start must be <= end");
+          }
+          this.pos = this.start;
         }
-      }
-      /**
-       * Returns an AsyncIterableIterator of {@link PageRangeInfo} objects
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference.
-       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
-       */
-      async *listPageRangeDiffItems(offset, count, prevSnapshotOrUrl, options) {
-        let marker;
-        for await (const getPageRangesSegment of this.listPageRangeDiffItemSegments(offset, count, prevSnapshotOrUrl, marker, options)) {
-          yield* (0, utils_common_js_1.ExtractPageRangeInfoItems)(getPageRangesSegment);
+        if (this.fd !== null) {
+          process.nextTick(function() {
+            self2._read();
+          });
+          return;
         }
-      }
-      /**
-       * Returns an async iterable iterator to list of page ranges that differ between a specified snapshot and this page blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
-       *
-       *  .byPage() returns an async iterable iterator to list of page ranges that differ between a specified snapshot and this page blob.
-       *
-       * ```ts snippet:ClientsListPageBlobsDiff
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const pageBlobClient = containerClient.getPageBlobClient(blobName);
-       *
-       * const offset = 0;
-       * const count = 1024;
-       * const previousSnapshot = "";
-       * // Example using `for await` syntax
-       * let i = 1;
-       * for await (const pageRange of pageBlobClient.listPageRangesDiff(offset, count, previousSnapshot)) {
-       *   console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       * }
-       *
-       * // Example using `iter.next()` syntax
-       * i = 1;
-       * const iter = pageBlobClient.listPageRangesDiff(offset, count, previousSnapshot);
-       * let { value, done } = await iter.next();
-       * while (!done) {
-       *   console.log(`Page range ${i++}: ${value.start} - ${value.end}`);
-       *   ({ value, done } = await iter.next());
-       * }
-       *
-       * // Example using `byPage()` syntax
-       * i = 1;
-       * for await (const page of pageBlobClient
-       *   .listPageRangesDiff(offset, count, previousSnapshot)
-       *   .byPage({ maxPageSize: 20 })) {
-       *   for (const pageRange of page.pageRange || []) {
-       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       *   }
-       * }
-       *
-       * // Example using paging with a marker
-       * i = 1;
-       * let iterator = pageBlobClient
-       *   .listPageRangesDiff(offset, count, previousSnapshot)
-       *   .byPage({ maxPageSize: 2 });
-       * let response = (await iterator.next()).value;
-       * // Prints 2 page ranges
-       * if (response.pageRange) {
-       *   for (const pageRange of response.pageRange) {
-       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       *   }
-       * }
-       * // Gets next marker
-       * let marker = response.continuationToken;
-       * // Passing next marker as continuationToken
-       * iterator = pageBlobClient
-       *   .listPageRangesDiff(offset, count, previousSnapshot)
-       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
-       * response = (await iterator.next()).value;
-       * // Prints 10 page ranges
-       * if (response.pageRange) {
-       *   for (const pageRange of response.pageRange) {
-       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       *   }
-       * }
-       * ```
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param prevSnapshot - Timestamp of snapshot to retrieve the difference.
-       * @param options - Options to the Page Blob Get Ranges operation.
-       * @returns An asyncIterableIterator that supports paging.
-       */
-      listPageRangesDiff(offset, count, prevSnapshot, options = {}) {
-        options.conditions = options.conditions || {};
-        const iter = this.listPageRangeDiffItems(offset, count, prevSnapshot, {
-          ...options
-        });
-        return {
-          /**
-           * The next method, part of the iteration protocol
-           */
-          next() {
-            return iter.next();
-          },
-          /**
-           * The connection to the async iterator, part of the iteration protocol
-           */
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          /**
-           * Return an AsyncIterableIterator that works a page at a time
-           */
-          byPage: (settings = {}) => {
-            return this.listPageRangeDiffItemSegments(offset, count, prevSnapshot, settings.continuationToken, {
-              maxPageSize: settings.maxPageSize,
-              ...options
-            });
+        fs18.open(this.path, this.flags, this.mode, function(err, fd) {
+          if (err) {
+            self2.emit("error", err);
+            self2.readable = false;
+            return;
           }
-        };
-      }
-      /**
-       * Gets the collection of page ranges that differ between a specified snapshot and this page blob for managed disks.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
-       *
-       * @param offset - Starting byte position of the page blob
-       * @param count - Number of bytes to get ranges diff.
-       * @param prevSnapshotUrl - URL of snapshot to retrieve the difference.
-       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
-       * @returns Response data for the Page Blob Get Page Range Diff operation.
-       */
-      async getPageRangesDiffForManagedDisks(offset, count, prevSnapshotUrl, options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-GetPageRangesDiffForManagedDisks", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            prevSnapshotUrl,
-            range: (0, Range_js_1.rangeToString)({ offset, count }),
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(response);
-        });
-      }
-      /**
-       * Resizes the page blob to the specified size (which must be a multiple of 512).
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties
-       *
-       * @param size - Target size
-       * @param options - Options to the Page Blob Resize operation.
-       * @returns Response data for the Page Blob Resize operation.
-       */
-      async resize(size, options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-resize", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.resize(size, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            encryptionScope: options.encryptionScope,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
-      }
-      /**
-       * Sets a page blob's sequence number.
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties
-       *
-       * @param sequenceNumberAction - Indicates how the service should modify the blob's sequence number.
-       * @param sequenceNumber - Required if sequenceNumberAction is max or update
-       * @param options - Options to the Page Blob Update Sequence Number operation.
-       * @returns Response data for the Page Blob Update Sequence Number operation.
-       */
-      async updateSequenceNumber(sequenceNumberAction, sequenceNumber, options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-updateSequenceNumber", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.updateSequenceNumber(sequenceNumberAction, {
-            abortSignal: options.abortSignal,
-            blobSequenceNumber: sequenceNumber,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
+          self2.fd = fd;
+          self2.emit("open", fd);
+          self2._read();
         });
       }
-      /**
-       * Begins an operation to start an incremental copy from one page blob's snapshot to this page blob.
-       * The snapshot is copied such that only the differential changes between the previously
-       * copied snapshot are transferred to the destination.
-       * The copied snapshots are complete copies of the original snapshot and can be read or copied from as usual.
-       * @see https://learn.microsoft.com/rest/api/storageservices/incremental-copy-blob
-       * @see https://learn.microsoft.com/azure/virtual-machines/windows/incremental-snapshots
-       *
-       * @param copySource - Specifies the name of the source page blob snapshot. For example,
-       *                            https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=
-       * @param options - Options to the Page Blob Copy Incremental operation.
-       * @returns Response data for the Page Blob Copy Incremental operation.
-       */
-      async startCopyIncremental(copySource, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-startCopyIncremental", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.copyIncremental(copySource, {
-            abortSignal: options.abortSignal,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function WriteStream(path16, options) {
+        if (!(this instanceof WriteStream)) return new WriteStream(path16, options);
+        Stream.call(this);
+        this.path = path16;
+        this.fd = null;
+        this.writable = true;
+        this.flags = "w";
+        this.encoding = "binary";
+        this.mode = 438;
+        this.bytesWritten = 0;
+        options = options || {};
+        var keys = Object.keys(options);
+        for (var index = 0, length = keys.length; index < length; index++) {
+          var key = keys[index];
+          this[key] = options[key];
+        }
+        if (this.start !== void 0) {
+          if ("number" !== typeof this.start) {
+            throw TypeError("start must be a Number");
+          }
+          if (this.start < 0) {
+            throw new Error("start must be >= zero");
+          }
+          this.pos = this.start;
+        }
+        this.busy = false;
+        this._queue = [];
+        if (this.fd === null) {
+          this._open = fs18.open;
+          this._queue.push([this._open, this.path, this.flags, this.mode, void 0]);
+          this.flush();
+        }
       }
-    };
-    exports2.PageBlobClient = PageBlobClient;
+    }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/BatchUtils.js
-var require_BatchUtils = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BatchUtils.js"(exports2) {
+// node_modules/graceful-fs/clone.js
+var require_clone = __commonJS({
+  "node_modules/graceful-fs/clone.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getBodyAsText = getBodyAsText;
-    exports2.utf8ByteLength = utf8ByteLength;
-    var utils_js_1 = require_utils7();
-    var constants_js_1 = require_constants15();
-    async function getBodyAsText(batchResponse) {
-      let buffer = Buffer.alloc(constants_js_1.BATCH_MAX_PAYLOAD_IN_BYTES);
-      const responseLength = await (0, utils_js_1.streamToBuffer2)(batchResponse.readableStreamBody, buffer);
-      buffer = buffer.slice(0, responseLength);
-      return buffer.toString();
-    }
-    function utf8ByteLength(str2) {
-      return Buffer.byteLength(str2);
+    module2.exports = clone;
+    var getPrototypeOf = Object.getPrototypeOf || function(obj) {
+      return obj.__proto__;
+    };
+    function clone(obj) {
+      if (obj === null || typeof obj !== "object")
+        return obj;
+      if (obj instanceof Object)
+        var copy = { __proto__: getPrototypeOf(obj) };
+      else
+        var copy = /* @__PURE__ */ Object.create(null);
+      Object.getOwnPropertyNames(obj).forEach(function(key) {
+        Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key));
+      });
+      return copy;
     }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/BatchResponseParser.js
-var require_BatchResponseParser = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BatchResponseParser.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BatchResponseParser = void 0;
-    var core_rest_pipeline_1 = require_commonjs6();
-    var core_http_compat_1 = require_commonjs9();
-    var constants_js_1 = require_constants15();
-    var BatchUtils_js_1 = require_BatchUtils();
-    var log_js_1 = require_log5();
-    var HTTP_HEADER_DELIMITER = ": ";
-    var SPACE_DELIMITER = " ";
-    var NOT_FOUND = -1;
-    var BatchResponseParser = class {
-      batchResponse;
-      responseBatchBoundary;
-      perResponsePrefix;
-      batchResponseEnding;
-      subRequests;
-      constructor(batchResponse, subRequests) {
-        if (!batchResponse || !batchResponse.contentType) {
-          throw new RangeError("batchResponse is malformed or doesn't contain valid content-type.");
+// node_modules/graceful-fs/graceful-fs.js
+var require_graceful_fs = __commonJS({
+  "node_modules/graceful-fs/graceful-fs.js"(exports2, module2) {
+    var fs18 = require("fs");
+    var polyfills = require_polyfills();
+    var legacy = require_legacy_streams();
+    var clone = require_clone();
+    var util = require("util");
+    var gracefulQueue;
+    var previousSymbol;
+    if (typeof Symbol === "function" && typeof Symbol.for === "function") {
+      gracefulQueue = /* @__PURE__ */ Symbol.for("graceful-fs.queue");
+      previousSymbol = /* @__PURE__ */ Symbol.for("graceful-fs.previous");
+    } else {
+      gracefulQueue = "___graceful-fs.queue";
+      previousSymbol = "___graceful-fs.previous";
+    }
+    function noop3() {
+    }
+    function publishQueue(context3, queue2) {
+      Object.defineProperty(context3, gracefulQueue, {
+        get: function() {
+          return queue2;
         }
-        if (!subRequests || subRequests.size === 0) {
-          throw new RangeError("Invalid state: subRequests is not provided or size is 0.");
+      });
+    }
+    var debug5 = noop3;
+    if (util.debuglog)
+      debug5 = util.debuglog("gfs4");
+    else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || ""))
+      debug5 = function() {
+        var m = util.format.apply(util, arguments);
+        m = "GFS4: " + m.split(/\n/).join("\nGFS4: ");
+        console.error(m);
+      };
+    if (!fs18[gracefulQueue]) {
+      queue = global[gracefulQueue] || [];
+      publishQueue(fs18, queue);
+      fs18.close = (function(fs$close) {
+        function close(fd, cb) {
+          return fs$close.call(fs18, fd, function(err) {
+            if (!err) {
+              resetQueue();
+            }
+            if (typeof cb === "function")
+              cb.apply(this, arguments);
+          });
         }
-        this.batchResponse = batchResponse;
-        this.subRequests = subRequests;
-        this.responseBatchBoundary = this.batchResponse.contentType.split("=")[1];
-        this.perResponsePrefix = `--${this.responseBatchBoundary}${constants_js_1.HTTP_LINE_ENDING}`;
-        this.batchResponseEnding = `--${this.responseBatchBoundary}--`;
-      }
-      // For example of response, please refer to https://learn.microsoft.com/rest/api/storageservices/blob-batch#response
-      async parseBatchResponse() {
-        if (this.batchResponse._response.status !== constants_js_1.HTTPURLConnection.HTTP_ACCEPTED) {
-          throw new Error(`Invalid state: batch request failed with status: '${this.batchResponse._response.status}'.`);
+        Object.defineProperty(close, previousSymbol, {
+          value: fs$close
+        });
+        return close;
+      })(fs18.close);
+      fs18.closeSync = (function(fs$closeSync) {
+        function closeSync(fd) {
+          fs$closeSync.apply(fs18, arguments);
+          resetQueue();
         }
-        const responseBodyAsText = await (0, BatchUtils_js_1.getBodyAsText)(this.batchResponse);
-        const subResponses = responseBodyAsText.split(this.batchResponseEnding)[0].split(this.perResponsePrefix).slice(1);
-        const subResponseCount = subResponses.length;
-        if (subResponseCount !== this.subRequests.size && subResponseCount !== 1) {
-          throw new Error("Invalid state: sub responses' count is not equal to sub requests' count.");
+        Object.defineProperty(closeSync, previousSymbol, {
+          value: fs$closeSync
+        });
+        return closeSync;
+      })(fs18.closeSync);
+      if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || "")) {
+        process.on("exit", function() {
+          debug5(fs18[gracefulQueue]);
+          require("assert").equal(fs18[gracefulQueue].length, 0);
+        });
+      }
+    }
+    var queue;
+    if (!global[gracefulQueue]) {
+      publishQueue(global, fs18[gracefulQueue]);
+    }
+    module2.exports = patch(clone(fs18));
+    if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs18.__patched) {
+      module2.exports = patch(fs18);
+      fs18.__patched = true;
+    }
+    function patch(fs19) {
+      polyfills(fs19);
+      fs19.gracefulify = patch;
+      fs19.createReadStream = createReadStream2;
+      fs19.createWriteStream = createWriteStream3;
+      var fs$readFile = fs19.readFile;
+      fs19.readFile = readFile;
+      function readFile(path16, options, cb) {
+        if (typeof options === "function")
+          cb = options, options = null;
+        return go$readFile(path16, options, cb);
+        function go$readFile(path17, options2, cb2, startTime) {
+          return fs$readFile(path17, options2, function(err) {
+            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
+              enqueue([go$readFile, [path17, options2, cb2], err, startTime || Date.now(), Date.now()]);
+            else {
+              if (typeof cb2 === "function")
+                cb2.apply(this, arguments);
+            }
+          });
         }
-        const deserializedSubResponses = new Array(subResponseCount);
-        let subResponsesSucceededCount = 0;
-        let subResponsesFailedCount = 0;
-        for (let index = 0; index < subResponseCount; index++) {
-          const subResponse = subResponses[index];
-          const deserializedSubResponse = {};
-          deserializedSubResponse.headers = (0, core_http_compat_1.toHttpHeadersLike)((0, core_rest_pipeline_1.createHttpHeaders)());
-          const responseLines = subResponse.split(`${constants_js_1.HTTP_LINE_ENDING}`);
-          let subRespHeaderStartFound = false;
-          let subRespHeaderEndFound = false;
-          let subRespFailed = false;
-          let contentId = NOT_FOUND;
-          for (const responseLine of responseLines) {
-            if (!subRespHeaderStartFound) {
-              if (responseLine.startsWith(constants_js_1.HeaderConstants.CONTENT_ID)) {
-                contentId = parseInt(responseLine.split(HTTP_HEADER_DELIMITER)[1]);
-              }
-              if (responseLine.startsWith(constants_js_1.HTTP_VERSION_1_1)) {
-                subRespHeaderStartFound = true;
-                const tokens = responseLine.split(SPACE_DELIMITER);
-                deserializedSubResponse.status = parseInt(tokens[1]);
-                deserializedSubResponse.statusMessage = tokens.slice(2).join(SPACE_DELIMITER);
-              }
-              continue;
+      }
+      var fs$writeFile = fs19.writeFile;
+      fs19.writeFile = writeFile;
+      function writeFile(path16, data, options, cb) {
+        if (typeof options === "function")
+          cb = options, options = null;
+        return go$writeFile(path16, data, options, cb);
+        function go$writeFile(path17, data2, options2, cb2, startTime) {
+          return fs$writeFile(path17, data2, options2, function(err) {
+            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
+              enqueue([go$writeFile, [path17, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
+            else {
+              if (typeof cb2 === "function")
+                cb2.apply(this, arguments);
             }
-            if (responseLine.trim() === "") {
-              if (!subRespHeaderEndFound) {
-                subRespHeaderEndFound = true;
-              }
-              continue;
+          });
+        }
+      }
+      var fs$appendFile = fs19.appendFile;
+      if (fs$appendFile)
+        fs19.appendFile = appendFile;
+      function appendFile(path16, data, options, cb) {
+        if (typeof options === "function")
+          cb = options, options = null;
+        return go$appendFile(path16, data, options, cb);
+        function go$appendFile(path17, data2, options2, cb2, startTime) {
+          return fs$appendFile(path17, data2, options2, function(err) {
+            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
+              enqueue([go$appendFile, [path17, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
+            else {
+              if (typeof cb2 === "function")
+                cb2.apply(this, arguments);
             }
-            if (!subRespHeaderEndFound) {
-              if (responseLine.indexOf(HTTP_HEADER_DELIMITER) === -1) {
-                throw new Error(`Invalid state: find non-empty line '${responseLine}' without HTTP header delimiter '${HTTP_HEADER_DELIMITER}'.`);
-              }
-              const tokens = responseLine.split(HTTP_HEADER_DELIMITER);
-              deserializedSubResponse.headers.set(tokens[0], tokens[1]);
-              if (tokens[0] === constants_js_1.HeaderConstants.X_MS_ERROR_CODE) {
-                deserializedSubResponse.errorCode = tokens[1];
-                subRespFailed = true;
-              }
-            } else {
-              if (!deserializedSubResponse.bodyAsText) {
-                deserializedSubResponse.bodyAsText = "";
-              }
-              deserializedSubResponse.bodyAsText += responseLine;
+          });
+        }
+      }
+      var fs$copyFile = fs19.copyFile;
+      if (fs$copyFile)
+        fs19.copyFile = copyFile2;
+      function copyFile2(src, dest, flags, cb) {
+        if (typeof flags === "function") {
+          cb = flags;
+          flags = 0;
+        }
+        return go$copyFile(src, dest, flags, cb);
+        function go$copyFile(src2, dest2, flags2, cb2, startTime) {
+          return fs$copyFile(src2, dest2, flags2, function(err) {
+            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
+              enqueue([go$copyFile, [src2, dest2, flags2, cb2], err, startTime || Date.now(), Date.now()]);
+            else {
+              if (typeof cb2 === "function")
+                cb2.apply(this, arguments);
             }
-          }
-          if (contentId !== NOT_FOUND && Number.isInteger(contentId) && contentId >= 0 && contentId < this.subRequests.size && deserializedSubResponses[contentId] === void 0) {
-            deserializedSubResponse._request = this.subRequests.get(contentId);
-            deserializedSubResponses[contentId] = deserializedSubResponse;
-          } else {
-            log_js_1.logger.error(`subResponses[${index}] is dropped as the Content-ID is not found or invalid, Content-ID: ${contentId}`);
-          }
-          if (subRespFailed) {
-            subResponsesFailedCount++;
-          } else {
-            subResponsesSucceededCount++;
-          }
+          });
         }
-        return {
-          subResponses: deserializedSubResponses,
-          subResponsesSucceededCount,
-          subResponsesFailedCount
+      }
+      var fs$readdir = fs19.readdir;
+      fs19.readdir = readdir;
+      var noReaddirOptionVersions = /^v[0-5]\./;
+      function readdir(path16, options, cb) {
+        if (typeof options === "function")
+          cb = options, options = null;
+        var go$readdir = noReaddirOptionVersions.test(process.version) ? function go$readdir2(path17, options2, cb2, startTime) {
+          return fs$readdir(path17, fs$readdirCallback(
+            path17,
+            options2,
+            cb2,
+            startTime
+          ));
+        } : function go$readdir2(path17, options2, cb2, startTime) {
+          return fs$readdir(path17, options2, fs$readdirCallback(
+            path17,
+            options2,
+            cb2,
+            startTime
+          ));
         };
+        return go$readdir(path16, options, cb);
+        function fs$readdirCallback(path17, options2, cb2, startTime) {
+          return function(err, files) {
+            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
+              enqueue([
+                go$readdir,
+                [path17, options2, cb2],
+                err,
+                startTime || Date.now(),
+                Date.now()
+              ]);
+            else {
+              if (files && files.sort)
+                files.sort();
+              if (typeof cb2 === "function")
+                cb2.call(this, err, files);
+            }
+          };
+        }
       }
-    };
-    exports2.BatchResponseParser = BatchResponseParser;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/utils/Mutex.js
-var require_Mutex = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/Mutex.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Mutex = void 0;
-    var MutexLockStatus;
-    (function(MutexLockStatus2) {
-      MutexLockStatus2[MutexLockStatus2["LOCKED"] = 0] = "LOCKED";
-      MutexLockStatus2[MutexLockStatus2["UNLOCKED"] = 1] = "UNLOCKED";
-    })(MutexLockStatus || (MutexLockStatus = {}));
-    var Mutex = class {
-      /**
-       * Lock for a specific key. If the lock has been acquired by another customer, then
-       * will wait until getting the lock.
-       *
-       * @param key - lock key
-       */
-      static async lock(key) {
-        return new Promise((resolve8) => {
-          if (this.keys[key] === void 0 || this.keys[key] === MutexLockStatus.UNLOCKED) {
-            this.keys[key] = MutexLockStatus.LOCKED;
-            resolve8();
+      if (process.version.substr(0, 4) === "v0.8") {
+        var legStreams = legacy(fs19);
+        ReadStream = legStreams.ReadStream;
+        WriteStream = legStreams.WriteStream;
+      }
+      var fs$ReadStream = fs19.ReadStream;
+      if (fs$ReadStream) {
+        ReadStream.prototype = Object.create(fs$ReadStream.prototype);
+        ReadStream.prototype.open = ReadStream$open;
+      }
+      var fs$WriteStream = fs19.WriteStream;
+      if (fs$WriteStream) {
+        WriteStream.prototype = Object.create(fs$WriteStream.prototype);
+        WriteStream.prototype.open = WriteStream$open;
+      }
+      Object.defineProperty(fs19, "ReadStream", {
+        get: function() {
+          return ReadStream;
+        },
+        set: function(val) {
+          ReadStream = val;
+        },
+        enumerable: true,
+        configurable: true
+      });
+      Object.defineProperty(fs19, "WriteStream", {
+        get: function() {
+          return WriteStream;
+        },
+        set: function(val) {
+          WriteStream = val;
+        },
+        enumerable: true,
+        configurable: true
+      });
+      var FileReadStream = ReadStream;
+      Object.defineProperty(fs19, "FileReadStream", {
+        get: function() {
+          return FileReadStream;
+        },
+        set: function(val) {
+          FileReadStream = val;
+        },
+        enumerable: true,
+        configurable: true
+      });
+      var FileWriteStream = WriteStream;
+      Object.defineProperty(fs19, "FileWriteStream", {
+        get: function() {
+          return FileWriteStream;
+        },
+        set: function(val) {
+          FileWriteStream = val;
+        },
+        enumerable: true,
+        configurable: true
+      });
+      function ReadStream(path16, options) {
+        if (this instanceof ReadStream)
+          return fs$ReadStream.apply(this, arguments), this;
+        else
+          return ReadStream.apply(Object.create(ReadStream.prototype), arguments);
+      }
+      function ReadStream$open() {
+        var that = this;
+        open(that.path, that.flags, that.mode, function(err, fd) {
+          if (err) {
+            if (that.autoClose)
+              that.destroy();
+            that.emit("error", err);
           } else {
-            this.onUnlockEvent(key, () => {
-              this.keys[key] = MutexLockStatus.LOCKED;
-              resolve8();
-            });
+            that.fd = fd;
+            that.emit("open", fd);
+            that.read();
           }
         });
       }
-      /**
-       * Unlock a key.
-       *
-       * @param key -
-       */
-      static async unlock(key) {
-        return new Promise((resolve8) => {
-          if (this.keys[key] === MutexLockStatus.LOCKED) {
-            this.emitUnlockEvent(key);
+      function WriteStream(path16, options) {
+        if (this instanceof WriteStream)
+          return fs$WriteStream.apply(this, arguments), this;
+        else
+          return WriteStream.apply(Object.create(WriteStream.prototype), arguments);
+      }
+      function WriteStream$open() {
+        var that = this;
+        open(that.path, that.flags, that.mode, function(err, fd) {
+          if (err) {
+            that.destroy();
+            that.emit("error", err);
+          } else {
+            that.fd = fd;
+            that.emit("open", fd);
           }
-          delete this.keys[key];
-          resolve8();
         });
       }
-      static keys = {};
-      static listeners = {};
-      static onUnlockEvent(key, handler2) {
-        if (this.listeners[key] === void 0) {
-          this.listeners[key] = [handler2];
-        } else {
-          this.listeners[key].push(handler2);
-        }
+      function createReadStream2(path16, options) {
+        return new fs19.ReadStream(path16, options);
       }
-      static emitUnlockEvent(key) {
-        if (this.listeners[key] !== void 0 && this.listeners[key].length > 0) {
-          const handler2 = this.listeners[key].shift();
-          setImmediate(() => {
-            handler2.call(this);
+      function createWriteStream3(path16, options) {
+        return new fs19.WriteStream(path16, options);
+      }
+      var fs$open = fs19.open;
+      fs19.open = open;
+      function open(path16, flags, mode, cb) {
+        if (typeof mode === "function")
+          cb = mode, mode = null;
+        return go$open(path16, flags, mode, cb);
+        function go$open(path17, flags2, mode2, cb2, startTime) {
+          return fs$open(path17, flags2, mode2, function(err, fd) {
+            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
+              enqueue([go$open, [path17, flags2, mode2, cb2], err, startTime || Date.now(), Date.now()]);
+            else {
+              if (typeof cb2 === "function")
+                cb2.apply(this, arguments);
+            }
           });
         }
       }
-    };
-    exports2.Mutex = Mutex;
+      return fs19;
+    }
+    function enqueue(elem) {
+      debug5("ENQUEUE", elem[0].name, elem[1]);
+      fs18[gracefulQueue].push(elem);
+      retry2();
+    }
+    var retryTimer;
+    function resetQueue() {
+      var now = Date.now();
+      for (var i = 0; i < fs18[gracefulQueue].length; ++i) {
+        if (fs18[gracefulQueue][i].length > 2) {
+          fs18[gracefulQueue][i][3] = now;
+          fs18[gracefulQueue][i][4] = now;
+        }
+      }
+      retry2();
+    }
+    function retry2() {
+      clearTimeout(retryTimer);
+      retryTimer = void 0;
+      if (fs18[gracefulQueue].length === 0)
+        return;
+      var elem = fs18[gracefulQueue].shift();
+      var fn = elem[0];
+      var args = elem[1];
+      var err = elem[2];
+      var startTime = elem[3];
+      var lastTime = elem[4];
+      if (startTime === void 0) {
+        debug5("RETRY", fn.name, args);
+        fn.apply(null, args);
+      } else if (Date.now() - startTime >= 6e4) {
+        debug5("TIMEOUT", fn.name, args);
+        var cb = args.pop();
+        if (typeof cb === "function")
+          cb.call(null, err);
+      } else {
+        var sinceAttempt = Date.now() - lastTime;
+        var sinceStart = Math.max(lastTime - startTime, 1);
+        var desiredDelay = Math.min(sinceStart * 1.2, 100);
+        if (sinceAttempt >= desiredDelay) {
+          debug5("RETRY", fn.name, args);
+          fn.apply(null, args.concat([startTime]));
+        } else {
+          fs18[gracefulQueue].push(elem);
+        }
+      }
+      if (retryTimer === void 0) {
+        retryTimer = setTimeout(retry2, 0);
+      }
+    }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/BlobBatch.js
-var require_BlobBatch = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BlobBatch.js"(exports2) {
+// node_modules/archiver-utils/node_modules/is-stream/index.js
+var require_is_stream = __commonJS({
+  "node_modules/archiver-utils/node_modules/is-stream/index.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobBatch = void 0;
-    var core_util_1 = require_commonjs4();
-    var core_auth_1 = require_commonjs7();
-    var core_rest_pipeline_1 = require_commonjs6();
-    var core_util_2 = require_commonjs4();
-    var AnonymousCredential_js_1 = require_AnonymousCredential();
-    var Clients_js_1 = require_Clients();
-    var Mutex_js_1 = require_Mutex();
-    var Pipeline_js_1 = require_Pipeline();
-    var utils_common_js_1 = require_utils_common();
-    var core_xml_1 = require_commonjs10();
-    var constants_js_1 = require_constants15();
-    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
-    var tracing_js_1 = require_tracing();
-    var core_client_1 = require_commonjs8();
-    var StorageSharedKeyCredentialPolicyV2_js_1 = require_StorageSharedKeyCredentialPolicyV22();
-    var BlobBatch = class {
-      batchRequest;
-      batch = "batch";
-      batchType;
-      constructor() {
-        this.batchRequest = new InnerBatchRequest();
-      }
-      /**
-       * Get the value of Content-Type for a batch request.
-       * The value must be multipart/mixed with a batch boundary.
-       * Example: multipart/mixed; boundary=batch_a81786c8-e301-4e42-a729-a32ca24ae252
-       */
-      getMultiPartContentType() {
-        return this.batchRequest.getMultipartContentType();
-      }
-      /**
-       * Get assembled HTTP request body for sub requests.
-       */
-      getHttpRequestBody() {
-        return this.batchRequest.getHttpRequestBody();
-      }
-      /**
-       * Get sub requests that are added into the batch request.
-       */
-      getSubRequests() {
-        return this.batchRequest.getSubRequests();
-      }
-      async addSubRequestInternal(subRequest, assembleSubRequestFunc) {
-        await Mutex_js_1.Mutex.lock(this.batch);
-        try {
-          this.batchRequest.preAddSubRequest(subRequest);
-          await assembleSubRequestFunc();
-          this.batchRequest.postAddSubRequest(subRequest);
-        } finally {
-          await Mutex_js_1.Mutex.unlock(this.batch);
-        }
-      }
-      setBatchType(batchType) {
-        if (!this.batchType) {
-          this.batchType = batchType;
-        }
-        if (this.batchType !== batchType) {
-          throw new RangeError(`BlobBatch only supports one operation type per batch and it already is being used for ${this.batchType} operations.`);
-        }
+    var isStream = (stream2) => stream2 !== null && typeof stream2 === "object" && typeof stream2.pipe === "function";
+    isStream.writable = (stream2) => isStream(stream2) && stream2.writable !== false && typeof stream2._write === "function" && typeof stream2._writableState === "object";
+    isStream.readable = (stream2) => isStream(stream2) && stream2.readable !== false && typeof stream2._read === "function" && typeof stream2._readableState === "object";
+    isStream.duplex = (stream2) => isStream.writable(stream2) && isStream.readable(stream2);
+    isStream.transform = (stream2) => isStream.duplex(stream2) && typeof stream2._transform === "function";
+    module2.exports = isStream;
+  }
+});
+
+// node_modules/process-nextick-args/index.js
+var require_process_nextick_args = __commonJS({
+  "node_modules/process-nextick-args/index.js"(exports2, module2) {
+    "use strict";
+    if (typeof process === "undefined" || !process.version || process.version.indexOf("v0.") === 0 || process.version.indexOf("v1.") === 0 && process.version.indexOf("v1.8.") !== 0) {
+      module2.exports = { nextTick };
+    } else {
+      module2.exports = process;
+    }
+    function nextTick(fn, arg1, arg2, arg3) {
+      if (typeof fn !== "function") {
+        throw new TypeError('"callback" argument must be a function');
       }
-      async deleteBlob(urlOrBlobClient, credentialOrOptions, options) {
-        let url2;
-        let credential;
-        if (typeof urlOrBlobClient === "string" && (core_util_2.isNodeLike && credentialOrOptions instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrOptions instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrOptions))) {
-          url2 = urlOrBlobClient;
-          credential = credentialOrOptions;
-        } else if (urlOrBlobClient instanceof Clients_js_1.BlobClient) {
-          url2 = urlOrBlobClient.url;
-          credential = urlOrBlobClient.credential;
-          options = credentialOrOptions;
-        } else {
-          throw new RangeError("Invalid arguments. Either url and credential, or BlobClient need be provided.");
-        }
-        if (!options) {
-          options = {};
-        }
-        return tracing_js_1.tracingClient.withSpan("BatchDeleteRequest-addSubRequest", options, async (updatedOptions) => {
-          this.setBatchType("delete");
-          await this.addSubRequestInternal({
-            url: url2,
-            credential
-          }, async () => {
-            await new Clients_js_1.BlobClient(url2, this.batchRequest.createPipeline(credential)).delete(updatedOptions);
+      var len = arguments.length;
+      var args, i;
+      switch (len) {
+        case 0:
+        case 1:
+          return process.nextTick(fn);
+        case 2:
+          return process.nextTick(function afterTickOne() {
+            fn.call(null, arg1);
           });
-        });
-      }
-      async setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions, options) {
-        let url2;
-        let credential;
-        let tier;
-        if (typeof urlOrBlobClient === "string" && (core_util_2.isNodeLike && credentialOrTier instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrTier instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrTier))) {
-          url2 = urlOrBlobClient;
-          credential = credentialOrTier;
-          tier = tierOrOptions;
-        } else if (urlOrBlobClient instanceof Clients_js_1.BlobClient) {
-          url2 = urlOrBlobClient.url;
-          credential = urlOrBlobClient.credential;
-          tier = credentialOrTier;
-          options = tierOrOptions;
-        } else {
-          throw new RangeError("Invalid arguments. Either url and credential, or BlobClient need be provided.");
-        }
-        if (!options) {
-          options = {};
-        }
-        return tracing_js_1.tracingClient.withSpan("BatchSetTierRequest-addSubRequest", options, async (updatedOptions) => {
-          this.setBatchType("setAccessTier");
-          await this.addSubRequestInternal({
-            url: url2,
-            credential
-          }, async () => {
-            await new Clients_js_1.BlobClient(url2, this.batchRequest.createPipeline(credential)).setAccessTier(tier, updatedOptions);
+        case 3:
+          return process.nextTick(function afterTickTwo() {
+            fn.call(null, arg1, arg2);
+          });
+        case 4:
+          return process.nextTick(function afterTickThree() {
+            fn.call(null, arg1, arg2, arg3);
+          });
+        default:
+          args = new Array(len - 1);
+          i = 0;
+          while (i < args.length) {
+            args[i++] = arguments[i];
+          }
+          return process.nextTick(function afterTick() {
+            fn.apply(null, args);
           });
-        });
       }
+    }
+  }
+});
+
+// node_modules/lazystream/node_modules/isarray/index.js
+var require_isarray = __commonJS({
+  "node_modules/lazystream/node_modules/isarray/index.js"(exports2, module2) {
+    var toString3 = {}.toString;
+    module2.exports = Array.isArray || function(arr) {
+      return toString3.call(arr) == "[object Array]";
     };
-    exports2.BlobBatch = BlobBatch;
-    var InnerBatchRequest = class {
-      operationCount;
-      body;
-      subRequests;
-      boundary;
-      subRequestPrefix;
-      multipartContentType;
-      batchRequestEnding;
-      constructor() {
-        this.operationCount = 0;
-        this.body = "";
-        const tempGuid = (0, core_util_1.randomUUID)();
-        this.boundary = `batch_${tempGuid}`;
-        this.subRequestPrefix = `--${this.boundary}${constants_js_1.HTTP_LINE_ENDING}${constants_js_1.HeaderConstants.CONTENT_TYPE}: application/http${constants_js_1.HTTP_LINE_ENDING}${constants_js_1.HeaderConstants.CONTENT_TRANSFER_ENCODING}: binary`;
-        this.multipartContentType = `multipart/mixed; boundary=${this.boundary}`;
-        this.batchRequestEnding = `--${this.boundary}--`;
-        this.subRequests = /* @__PURE__ */ new Map();
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/stream.js
+var require_stream = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/stream.js"(exports2, module2) {
+    module2.exports = require("stream");
+  }
+});
+
+// node_modules/lazystream/node_modules/safe-buffer/index.js
+var require_safe_buffer = __commonJS({
+  "node_modules/lazystream/node_modules/safe-buffer/index.js"(exports2, module2) {
+    var buffer = require("buffer");
+    var Buffer2 = buffer.Buffer;
+    function copyProps(src, dst) {
+      for (var key in src) {
+        dst[key] = src[key];
       }
-      /**
-       * Create pipeline to assemble sub requests. The idea here is to use existing
-       * credential and serialization/deserialization components, with additional policies to
-       * filter unnecessary headers, assemble sub requests into request's body
-       * and intercept request from going to wire.
-       * @param credential -  Such as AnonymousCredential, StorageSharedKeyCredential or any credential from the `@azure/identity` package to authenticate requests to the service. You can also provide an object that implements the TokenCredential interface. If not specified, AnonymousCredential is used.
-       */
-      createPipeline(credential) {
-        const corePipeline = (0, core_rest_pipeline_1.createEmptyPipeline)();
-        corePipeline.addPolicy((0, core_client_1.serializationPolicy)({
-          stringifyXML: core_xml_1.stringifyXML,
-          serializerOptions: {
-            xml: {
-              xmlCharKey: "#"
-            }
-          }
-        }), { phase: "Serialize" });
-        corePipeline.addPolicy(batchHeaderFilterPolicy());
-        corePipeline.addPolicy(batchRequestAssemblePolicy(this), { afterPhase: "Sign" });
-        if ((0, core_auth_1.isTokenCredential)(credential)) {
-          corePipeline.addPolicy((0, core_rest_pipeline_1.bearerTokenAuthenticationPolicy)({
-            credential,
-            scopes: constants_js_1.StorageOAuthScopes,
-            challengeCallbacks: { authorizeRequestOnChallenge: core_client_1.authorizeRequestOnTenantChallenge }
-          }), { phase: "Sign" });
-        } else if (credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential) {
-          corePipeline.addPolicy((0, StorageSharedKeyCredentialPolicyV2_js_1.storageSharedKeyCredentialPolicy)({
-            accountName: credential.accountName,
-            accountKey: credential.accountKey
-          }), { phase: "Sign" });
-        }
-        const pipeline = new Pipeline_js_1.Pipeline([]);
-        pipeline._credential = credential;
-        pipeline._corePipeline = corePipeline;
-        return pipeline;
+    }
+    if (Buffer2.from && Buffer2.alloc && Buffer2.allocUnsafe && Buffer2.allocUnsafeSlow) {
+      module2.exports = buffer;
+    } else {
+      copyProps(buffer, exports2);
+      exports2.Buffer = SafeBuffer;
+    }
+    function SafeBuffer(arg, encodingOrOffset, length) {
+      return Buffer2(arg, encodingOrOffset, length);
+    }
+    copyProps(Buffer2, SafeBuffer);
+    SafeBuffer.from = function(arg, encodingOrOffset, length) {
+      if (typeof arg === "number") {
+        throw new TypeError("Argument must not be a number");
       }
-      appendSubRequestToBody(request2) {
-        this.body += [
-          this.subRequestPrefix,
-          // sub request constant prefix
-          `${constants_js_1.HeaderConstants.CONTENT_ID}: ${this.operationCount}`,
-          // sub request's content ID
-          "",
-          // empty line after sub request's content ID
-          `${request2.method.toString()} ${(0, utils_common_js_1.getURLPathAndQuery)(request2.url)} ${constants_js_1.HTTP_VERSION_1_1}${constants_js_1.HTTP_LINE_ENDING}`
-          // sub request start line with method
-        ].join(constants_js_1.HTTP_LINE_ENDING);
-        for (const [name, value] of request2.headers) {
-          this.body += `${name}: ${value}${constants_js_1.HTTP_LINE_ENDING}`;
-        }
-        this.body += constants_js_1.HTTP_LINE_ENDING;
+      return Buffer2(arg, encodingOrOffset, length);
+    };
+    SafeBuffer.alloc = function(size, fill, encoding) {
+      if (typeof size !== "number") {
+        throw new TypeError("Argument must be a number");
       }
-      preAddSubRequest(subRequest) {
-        if (this.operationCount >= constants_js_1.BATCH_MAX_REQUEST) {
-          throw new RangeError(`Cannot exceed ${constants_js_1.BATCH_MAX_REQUEST} sub requests in a single batch`);
-        }
-        const path16 = (0, utils_common_js_1.getURLPath)(subRequest.url);
-        if (!path16 || path16 === "") {
-          throw new RangeError(`Invalid url for sub request: '${subRequest.url}'`);
+      var buf = Buffer2(size);
+      if (fill !== void 0) {
+        if (typeof encoding === "string") {
+          buf.fill(fill, encoding);
+        } else {
+          buf.fill(fill);
         }
+      } else {
+        buf.fill(0);
       }
-      postAddSubRequest(subRequest) {
-        this.subRequests.set(this.operationCount, subRequest);
-        this.operationCount++;
+      return buf;
+    };
+    SafeBuffer.allocUnsafe = function(size) {
+      if (typeof size !== "number") {
+        throw new TypeError("Argument must be a number");
       }
-      // Return the http request body with assembling the ending line to the sub request body.
-      getHttpRequestBody() {
-        return `${this.body}${this.batchRequestEnding}${constants_js_1.HTTP_LINE_ENDING}`;
+      return Buffer2(size);
+    };
+    SafeBuffer.allocUnsafeSlow = function(size) {
+      if (typeof size !== "number") {
+        throw new TypeError("Argument must be a number");
       }
-      getMultipartContentType() {
-        return this.multipartContentType;
+      return buffer.SlowBuffer(size);
+    };
+  }
+});
+
+// node_modules/core-util-is/lib/util.js
+var require_util20 = __commonJS({
+  "node_modules/core-util-is/lib/util.js"(exports2) {
+    function isArray(arg) {
+      if (Array.isArray) {
+        return Array.isArray(arg);
       }
-      getSubRequests() {
-        return this.subRequests;
+      return objectToString(arg) === "[object Array]";
+    }
+    exports2.isArray = isArray;
+    function isBoolean2(arg) {
+      return typeof arg === "boolean";
+    }
+    exports2.isBoolean = isBoolean2;
+    function isNull2(arg) {
+      return arg === null;
+    }
+    exports2.isNull = isNull2;
+    function isNullOrUndefined(arg) {
+      return arg == null;
+    }
+    exports2.isNullOrUndefined = isNullOrUndefined;
+    function isNumber(arg) {
+      return typeof arg === "number";
+    }
+    exports2.isNumber = isNumber;
+    function isString(arg) {
+      return typeof arg === "string";
+    }
+    exports2.isString = isString;
+    function isSymbol(arg) {
+      return typeof arg === "symbol";
+    }
+    exports2.isSymbol = isSymbol;
+    function isUndefined(arg) {
+      return arg === void 0;
+    }
+    exports2.isUndefined = isUndefined;
+    function isRegExp(re) {
+      return objectToString(re) === "[object RegExp]";
+    }
+    exports2.isRegExp = isRegExp;
+    function isObject2(arg) {
+      return typeof arg === "object" && arg !== null;
+    }
+    exports2.isObject = isObject2;
+    function isDate(d) {
+      return objectToString(d) === "[object Date]";
+    }
+    exports2.isDate = isDate;
+    function isError(e) {
+      return objectToString(e) === "[object Error]" || e instanceof Error;
+    }
+    exports2.isError = isError;
+    function isFunction(arg) {
+      return typeof arg === "function";
+    }
+    exports2.isFunction = isFunction;
+    function isPrimitive(arg) {
+      return arg === null || typeof arg === "boolean" || typeof arg === "number" || typeof arg === "string" || typeof arg === "symbol" || // ES6 symbol
+      typeof arg === "undefined";
+    }
+    exports2.isPrimitive = isPrimitive;
+    exports2.isBuffer = require("buffer").Buffer.isBuffer;
+    function objectToString(o) {
+      return Object.prototype.toString.call(o);
+    }
+  }
+});
+
+// node_modules/inherits/inherits_browser.js
+var require_inherits_browser = __commonJS({
+  "node_modules/inherits/inherits_browser.js"(exports2, module2) {
+    if (typeof Object.create === "function") {
+      module2.exports = function inherits(ctor, superCtor) {
+        ctor.super_ = superCtor;
+        ctor.prototype = Object.create(superCtor.prototype, {
+          constructor: {
+            value: ctor,
+            enumerable: false,
+            writable: true,
+            configurable: true
+          }
+        });
+      };
+    } else {
+      module2.exports = function inherits(ctor, superCtor) {
+        ctor.super_ = superCtor;
+        var TempCtor = function() {
+        };
+        TempCtor.prototype = superCtor.prototype;
+        ctor.prototype = new TempCtor();
+        ctor.prototype.constructor = ctor;
+      };
+    }
+  }
+});
+
+// node_modules/inherits/inherits.js
+var require_inherits = __commonJS({
+  "node_modules/inherits/inherits.js"(exports2, module2) {
+    try {
+      util = require("util");
+      if (typeof util.inherits !== "function") throw "";
+      module2.exports = util.inherits;
+    } catch (e) {
+      module2.exports = require_inherits_browser();
+    }
+    var util;
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/BufferList.js
+var require_BufferList = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/BufferList.js"(exports2, module2) {
+    "use strict";
+    function _classCallCheck(instance, Constructor) {
+      if (!(instance instanceof Constructor)) {
+        throw new TypeError("Cannot call a class as a function");
       }
-    };
-    function batchRequestAssemblePolicy(batchRequest) {
-      return {
-        name: "batchRequestAssemblePolicy",
-        async sendRequest(request2) {
-          batchRequest.appendSubRequestToBody(request2);
-          return {
-            request: request2,
-            status: 200,
-            headers: (0, core_rest_pipeline_1.createHttpHeaders)()
-          };
+    }
+    var Buffer2 = require_safe_buffer().Buffer;
+    var util = require("util");
+    function copyBuffer(src, target, offset) {
+      src.copy(target, offset);
+    }
+    module2.exports = (function() {
+      function BufferList() {
+        _classCallCheck(this, BufferList);
+        this.head = null;
+        this.tail = null;
+        this.length = 0;
+      }
+      BufferList.prototype.push = function push(v) {
+        var entry = { data: v, next: null };
+        if (this.length > 0) this.tail.next = entry;
+        else this.head = entry;
+        this.tail = entry;
+        ++this.length;
+      };
+      BufferList.prototype.unshift = function unshift(v) {
+        var entry = { data: v, next: this.head };
+        if (this.length === 0) this.tail = entry;
+        this.head = entry;
+        ++this.length;
+      };
+      BufferList.prototype.shift = function shift() {
+        if (this.length === 0) return;
+        var ret = this.head.data;
+        if (this.length === 1) this.head = this.tail = null;
+        else this.head = this.head.next;
+        --this.length;
+        return ret;
+      };
+      BufferList.prototype.clear = function clear() {
+        this.head = this.tail = null;
+        this.length = 0;
+      };
+      BufferList.prototype.join = function join15(s) {
+        if (this.length === 0) return "";
+        var p = this.head;
+        var ret = "" + p.data;
+        while (p = p.next) {
+          ret += s + p.data;
         }
+        return ret;
       };
-    }
-    function batchHeaderFilterPolicy() {
-      return {
-        name: "batchHeaderFilterPolicy",
-        async sendRequest(request2, next) {
-          let xMsHeaderName = "";
-          for (const [name] of request2.headers) {
-            if ((0, utils_common_js_1.iEqual)(name, constants_js_1.HeaderConstants.X_MS_VERSION)) {
-              xMsHeaderName = name;
-            }
-          }
-          if (xMsHeaderName !== "") {
-            request2.headers.delete(xMsHeaderName);
-          }
-          return next(request2);
+      BufferList.prototype.concat = function concat(n) {
+        if (this.length === 0) return Buffer2.alloc(0);
+        var ret = Buffer2.allocUnsafe(n >>> 0);
+        var p = this.head;
+        var i = 0;
+        while (p) {
+          copyBuffer(p.data, ret, i);
+          i += p.data.length;
+          p = p.next;
         }
+        return ret;
+      };
+      return BufferList;
+    })();
+    if (util && util.inspect && util.inspect.custom) {
+      module2.exports.prototype[util.inspect.custom] = function() {
+        var obj = util.inspect({ length: this.length });
+        return this.constructor.name + " " + obj;
       };
     }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/BlobBatchClient.js
-var require_BlobBatchClient = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BlobBatchClient.js"(exports2) {
+// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/destroy.js
+var require_destroy = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/destroy.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobBatchClient = void 0;
-    var BatchResponseParser_js_1 = require_BatchResponseParser();
-    var BatchUtils_js_1 = require_BatchUtils();
-    var BlobBatch_js_1 = require_BlobBatch();
-    var tracing_js_1 = require_tracing();
-    var AnonymousCredential_js_1 = require_AnonymousCredential();
-    var StorageContextClient_js_1 = require_StorageContextClient();
-    var Pipeline_js_1 = require_Pipeline();
-    var utils_common_js_1 = require_utils_common();
-    var BlobBatchClient = class {
-      serviceOrContainerContext;
-      constructor(url2, credentialOrPipeline, options) {
-        let pipeline;
-        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipeline)) {
-          pipeline = credentialOrPipeline;
-        } else if (!credentialOrPipeline) {
-          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-        } else {
-          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipeline, options);
-        }
-        const storageClientContext = new StorageContextClient_js_1.StorageContextClient(url2, (0, Pipeline_js_1.getCoreClientOptions)(pipeline));
-        const path16 = (0, utils_common_js_1.getURLPath)(url2);
-        if (path16 && path16 !== "/") {
-          this.serviceOrContainerContext = storageClientContext.container;
-        } else {
-          this.serviceOrContainerContext = storageClientContext.service;
+    var pna = require_process_nextick_args();
+    function destroy(err, cb) {
+      var _this = this;
+      var readableDestroyed = this._readableState && this._readableState.destroyed;
+      var writableDestroyed = this._writableState && this._writableState.destroyed;
+      if (readableDestroyed || writableDestroyed) {
+        if (cb) {
+          cb(err);
+        } else if (err) {
+          if (!this._writableState) {
+            pna.nextTick(emitErrorNT, this, err);
+          } else if (!this._writableState.errorEmitted) {
+            this._writableState.errorEmitted = true;
+            pna.nextTick(emitErrorNT, this, err);
+          }
         }
+        return this;
       }
-      /**
-       * Creates a {@link BlobBatch}.
-       * A BlobBatch represents an aggregated set of operations on blobs.
-       */
-      createBatch() {
-        return new BlobBatch_js_1.BlobBatch();
+      if (this._readableState) {
+        this._readableState.destroyed = true;
       }
-      async deleteBlobs(urlsOrBlobClients, credentialOrOptions, options) {
-        const batch = new BlobBatch_js_1.BlobBatch();
-        for (const urlOrBlobClient of urlsOrBlobClients) {
-          if (typeof urlOrBlobClient === "string") {
-            await batch.deleteBlob(urlOrBlobClient, credentialOrOptions, options);
-          } else {
-            await batch.deleteBlob(urlOrBlobClient, credentialOrOptions);
-          }
-        }
-        return this.submitBatch(batch);
+      if (this._writableState) {
+        this._writableState.destroyed = true;
       }
-      async setBlobsAccessTier(urlsOrBlobClients, credentialOrTier, tierOrOptions, options) {
-        const batch = new BlobBatch_js_1.BlobBatch();
-        for (const urlOrBlobClient of urlsOrBlobClients) {
-          if (typeof urlOrBlobClient === "string") {
-            await batch.setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions, options);
-          } else {
-            await batch.setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions);
+      this._destroy(err || null, function(err2) {
+        if (!cb && err2) {
+          if (!_this._writableState) {
+            pna.nextTick(emitErrorNT, _this, err2);
+          } else if (!_this._writableState.errorEmitted) {
+            _this._writableState.errorEmitted = true;
+            pna.nextTick(emitErrorNT, _this, err2);
           }
+        } else if (cb) {
+          cb(err2);
         }
-        return this.submitBatch(batch);
+      });
+      return this;
+    }
+    function undestroy() {
+      if (this._readableState) {
+        this._readableState.destroyed = false;
+        this._readableState.reading = false;
+        this._readableState.ended = false;
+        this._readableState.endEmitted = false;
       }
-      /**
-       * Submit batch request which consists of multiple subrequests.
-       *
-       * Get `blobBatchClient` and other details before running the snippets.
-       * `blobServiceClient.getBlobBatchClient()` gives the `blobBatchClient`
-       *
-       * Example usage:
-       *
-       * ```ts snippet:BlobBatchClientSubmitBatch
-       * import { DefaultAzureCredential } from "@azure/identity";
-       * import { BlobServiceClient, BlobBatch } from "@azure/storage-blob";
-       *
-       * const account = "";
-       * const credential = new DefaultAzureCredential();
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   credential,
-       * );
-       *
-       * const containerName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blobBatchClient = containerClient.getBlobBatchClient();
-       *
-       * const batchRequest = new BlobBatch();
-       * await batchRequest.deleteBlob("", credential);
-       * await batchRequest.deleteBlob("", credential, {
-       *   deleteSnapshots: "include",
-       * });
-       * const batchResp = await blobBatchClient.submitBatch(batchRequest);
-       * console.log(batchResp.subResponsesSucceededCount);
-       * ```
-       *
-       * Example using a lease:
-       *
-       * ```ts snippet:BlobBatchClientSubmitBatchWithLease
-       * import { DefaultAzureCredential } from "@azure/identity";
-       * import { BlobServiceClient, BlobBatch } from "@azure/storage-blob";
-       *
-       * const account = "";
-       * const credential = new DefaultAzureCredential();
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   credential,
-       * );
-       *
-       * const containerName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blobBatchClient = containerClient.getBlobBatchClient();
-       * const blobClient = containerClient.getBlobClient("");
-       *
-       * const batchRequest = new BlobBatch();
-       * await batchRequest.setBlobAccessTier(blobClient, "Cool");
-       * await batchRequest.setBlobAccessTier(blobClient, "Cool", {
-       *   conditions: { leaseId: "" },
-       * });
-       * const batchResp = await blobBatchClient.submitBatch(batchRequest);
-       * console.log(batchResp.subResponsesSucceededCount);
-       * ```
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch
-       *
-       * @param batchRequest - A set of Delete or SetTier operations.
-       * @param options -
-       */
-      async submitBatch(batchRequest, options = {}) {
-        if (!batchRequest || batchRequest.getSubRequests().size === 0) {
-          throw new RangeError("Batch request should contain one or more sub requests.");
-        }
-        return tracing_js_1.tracingClient.withSpan("BlobBatchClient-submitBatch", options, async (updatedOptions) => {
-          const batchRequestBody = batchRequest.getHttpRequestBody();
-          const rawBatchResponse = (0, utils_common_js_1.assertResponse)(await this.serviceOrContainerContext.submitBatch((0, BatchUtils_js_1.utf8ByteLength)(batchRequestBody), batchRequest.getMultiPartContentType(), batchRequestBody, {
-            ...updatedOptions
-          }));
-          const batchResponseParser = new BatchResponseParser_js_1.BatchResponseParser(rawBatchResponse, batchRequest.getSubRequests());
-          const responseSummary = await batchResponseParser.parseBatchResponse();
-          const res = {
-            _response: rawBatchResponse._response,
-            contentType: rawBatchResponse.contentType,
-            errorCode: rawBatchResponse.errorCode,
-            requestId: rawBatchResponse.requestId,
-            clientRequestId: rawBatchResponse.clientRequestId,
-            version: rawBatchResponse.version,
-            subResponses: responseSummary.subResponses,
-            subResponsesSucceededCount: responseSummary.subResponsesSucceededCount,
-            subResponsesFailedCount: responseSummary.subResponsesFailedCount
-          };
-          return res;
-        });
+      if (this._writableState) {
+        this._writableState.destroyed = false;
+        this._writableState.ended = false;
+        this._writableState.ending = false;
+        this._writableState.finalCalled = false;
+        this._writableState.prefinished = false;
+        this._writableState.finished = false;
+        this._writableState.errorEmitted = false;
       }
+    }
+    function emitErrorNT(self2, err) {
+      self2.emit("error", err);
+    }
+    module2.exports = {
+      destroy,
+      undestroy
     };
-    exports2.BlobBatchClient = BlobBatchClient;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/ContainerClient.js
-var require_ContainerClient = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/ContainerClient.js"(exports2) {
+// node_modules/util-deprecate/node.js
+var require_node2 = __commonJS({
+  "node_modules/util-deprecate/node.js"(exports2, module2) {
+    module2.exports = require("util").deprecate;
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/lib/_stream_writable.js
+var require_stream_writable = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_writable.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ContainerClient = void 0;
-    var core_rest_pipeline_1 = require_commonjs6();
-    var core_util_1 = require_commonjs4();
-    var core_auth_1 = require_commonjs7();
-    var AnonymousCredential_js_1 = require_AnonymousCredential();
-    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
-    var Pipeline_js_1 = require_Pipeline();
-    var StorageClient_js_1 = require_StorageClient();
-    var tracing_js_1 = require_tracing();
-    var utils_common_js_1 = require_utils_common();
-    var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues();
-    var BlobLeaseClient_js_1 = require_BlobLeaseClient();
-    var Clients_js_1 = require_Clients();
-    var BlobBatchClient_js_1 = require_BlobBatchClient();
-    var ContainerClient = class extends StorageClient_js_1.StorageClient {
-      /**
-       * containerContext provided by protocol layer.
-       */
-      containerContext;
-      _containerName;
-      /**
-       * The name of the container.
-       */
-      get containerName() {
-        return this._containerName;
-      }
-      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, options) {
-        let pipeline;
-        let url2;
-        options = options || {};
-        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
-          url2 = urlOrConnectionString;
-          pipeline = credentialOrPipelineOrContainerName;
-        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
-          url2 = urlOrConnectionString;
-          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
-        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
-          url2 = urlOrConnectionString;
-          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string") {
-          const containerName = credentialOrPipelineOrContainerName;
-          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
-          if (extractedCreds.kind === "AccountConnString") {
-            if (core_util_1.isNodeLike) {
-              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
-              url2 = (0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName));
-              if (!options.proxyOptions) {
-                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
-              }
-              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
-            } else {
-              throw new Error("Account connection string is only supported in Node.js environment");
-            }
-          } else if (extractedCreds.kind === "SASConnString") {
-            url2 = (0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)) + "?" + extractedCreds.accountSas;
-            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-          } else {
-            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
-          }
-        } else {
-          throw new Error("Expecting non-empty strings for containerName parameter");
-        }
-        super(url2, pipeline);
-        this._containerName = this.getContainerNameFromUrl();
-        this.containerContext = this.storageClientContext.container;
-      }
-      /**
-       * Creates a new container under the specified account. If the container with
-       * the same name already exists, the operation fails.
-       * @see https://learn.microsoft.com/rest/api/storageservices/create-container
-       * Naming rules: @see https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata
-       *
-       * @param options - Options to Container Create operation.
-       *
-       *
-       * Example usage:
-       *
-       * ```ts snippet:ContainerClientCreate
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const createContainerResponse = await containerClient.create();
-       * console.log("Container was created successfully", createContainerResponse.requestId);
-       * ```
-       */
-      async create(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-create", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.containerContext.create(updatedOptions));
-        });
-      }
-      /**
-       * Creates a new container under the specified account. If the container with
-       * the same name already exists, it is not changed.
-       * @see https://learn.microsoft.com/rest/api/storageservices/create-container
-       * Naming rules: @see https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata
-       *
-       * @param options -
-       */
-      async createIfNotExists(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-createIfNotExists", options, async (updatedOptions) => {
-          try {
-            const res = await this.create(updatedOptions);
-            return {
-              succeeded: true,
-              ...res,
-              _response: res._response
-              // _response is made non-enumerable
-            };
-          } catch (e) {
-            if (e.details?.errorCode === "ContainerAlreadyExists") {
-              return {
-                succeeded: false,
-                ...e.response?.parsedHeaders,
-                _response: e.response
-              };
-            } else {
-              throw e;
-            }
-          }
-        });
-      }
-      /**
-       * Returns true if the Azure container resource represented by this client exists; false otherwise.
-       *
-       * NOTE: use this function with care since an existing container might be deleted by other clients or
-       * applications. Vice versa new containers with the same name might be added by other clients or
-       * applications after this function completes.
-       *
-       * @param options -
-       */
-      async exists(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-exists", options, async (updatedOptions) => {
-          try {
-            await this.getProperties({
-              abortSignal: options.abortSignal,
-              tracingOptions: updatedOptions.tracingOptions
-            });
-            return true;
-          } catch (e) {
-            if (e.statusCode === 404) {
-              return false;
-            }
-            throw e;
-          }
-        });
-      }
-      /**
-       * Creates a {@link BlobClient}
-       *
-       * @param blobName - A blob name
-       * @returns A new BlobClient object for the given blob name.
-       */
-      getBlobClient(blobName) {
-        return new Clients_js_1.BlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
-      }
-      /**
-       * Creates an {@link AppendBlobClient}
-       *
-       * @param blobName - An append blob name
-       */
-      getAppendBlobClient(blobName) {
-        return new Clients_js_1.AppendBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
-      }
-      /**
-       * Creates a {@link BlockBlobClient}
-       *
-       * @param blobName - A block blob name
-       *
-       *
-       * Example usage:
-       *
-       * ```ts snippet:ClientsUpload
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blockBlobClient = containerClient.getBlockBlobClient(blobName);
-       *
-       * const content = "Hello world!";
-       * const uploadBlobResponse = await blockBlobClient.upload(content, content.length);
-       * ```
-       */
-      getBlockBlobClient(blobName) {
-        return new Clients_js_1.BlockBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
-      }
-      /**
-       * Creates a {@link PageBlobClient}
-       *
-       * @param blobName - A page blob name
-       */
-      getPageBlobClient(blobName) {
-        return new Clients_js_1.PageBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
+    var pna = require_process_nextick_args();
+    module2.exports = Writable;
+    function CorkedRequest(state) {
+      var _this = this;
+      this.next = null;
+      this.entry = null;
+      this.finish = function() {
+        onCorkedFinish(_this, state);
+      };
+    }
+    var asyncWrite = !process.browser && ["v0.10", "v0.9."].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick;
+    var Duplex;
+    Writable.WritableState = WritableState;
+    var util = Object.create(require_util20());
+    util.inherits = require_inherits();
+    var internalUtil = {
+      deprecate: require_node2()
+    };
+    var Stream = require_stream();
+    var Buffer2 = require_safe_buffer().Buffer;
+    var OurUint8Array = (typeof global !== "undefined" ? global : typeof window !== "undefined" ? window : typeof self !== "undefined" ? self : {}).Uint8Array || function() {
+    };
+    function _uint8ArrayToBuffer(chunk) {
+      return Buffer2.from(chunk);
+    }
+    function _isUint8Array(obj) {
+      return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array;
+    }
+    var destroyImpl = require_destroy();
+    util.inherits(Writable, Stream);
+    function nop() {
+    }
+    function WritableState(options, stream2) {
+      Duplex = Duplex || require_stream_duplex();
+      options = options || {};
+      var isDuplex = stream2 instanceof Duplex;
+      this.objectMode = !!options.objectMode;
+      if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;
+      var hwm = options.highWaterMark;
+      var writableHwm = options.writableHighWaterMark;
+      var defaultHwm = this.objectMode ? 16 : 16 * 1024;
+      if (hwm || hwm === 0) this.highWaterMark = hwm;
+      else if (isDuplex && (writableHwm || writableHwm === 0)) this.highWaterMark = writableHwm;
+      else this.highWaterMark = defaultHwm;
+      this.highWaterMark = Math.floor(this.highWaterMark);
+      this.finalCalled = false;
+      this.needDrain = false;
+      this.ending = false;
+      this.ended = false;
+      this.finished = false;
+      this.destroyed = false;
+      var noDecode = options.decodeStrings === false;
+      this.decodeStrings = !noDecode;
+      this.defaultEncoding = options.defaultEncoding || "utf8";
+      this.length = 0;
+      this.writing = false;
+      this.corked = 0;
+      this.sync = true;
+      this.bufferProcessing = false;
+      this.onwrite = function(er) {
+        onwrite(stream2, er);
+      };
+      this.writecb = null;
+      this.writelen = 0;
+      this.bufferedRequest = null;
+      this.lastBufferedRequest = null;
+      this.pendingcb = 0;
+      this.prefinished = false;
+      this.errorEmitted = false;
+      this.bufferedRequestCount = 0;
+      this.corkedRequestsFree = new CorkedRequest(this);
+    }
+    WritableState.prototype.getBuffer = function getBuffer() {
+      var current = this.bufferedRequest;
+      var out = [];
+      while (current) {
+        out.push(current);
+        current = current.next;
       }
-      /**
-       * Returns all user-defined metadata and system properties for the specified
-       * container. The data returned does not include the container's list of blobs.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-container-properties
-       *
-       * WARNING: The `metadata` object returned in the response will have its keys in lowercase, even if
-       * they originally contained uppercase characters. This differs from the metadata keys returned by
-       * the `listContainers` method of {@link BlobServiceClient} using the `includeMetadata` option, which
-       * will retain their original casing.
-       *
-       * @param options - Options to Container Get Properties operation.
-       */
-      async getProperties(options = {}) {
-        if (!options.conditions) {
-          options.conditions = {};
-        }
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-getProperties", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.containerContext.getProperties({
-            abortSignal: options.abortSignal,
-            ...options.conditions,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
+      return out;
+    };
+    (function() {
+      try {
+        Object.defineProperty(WritableState.prototype, "buffer", {
+          get: internalUtil.deprecate(function() {
+            return this.getBuffer();
+          }, "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.", "DEP0003")
         });
+      } catch (_2) {
       }
-      /**
-       * Marks the specified container for deletion. The container and any blobs
-       * contained within it are later deleted during garbage collection.
-       * @see https://learn.microsoft.com/rest/api/storageservices/delete-container
-       *
-       * @param options - Options to Container Delete operation.
-       */
-      async delete(options = {}) {
-        if (!options.conditions) {
-          options.conditions = {};
+    })();
+    var realHasInstance;
+    if (typeof Symbol === "function" && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === "function") {
+      realHasInstance = Function.prototype[Symbol.hasInstance];
+      Object.defineProperty(Writable, Symbol.hasInstance, {
+        value: function(object) {
+          if (realHasInstance.call(this, object)) return true;
+          if (this !== Writable) return false;
+          return object && object._writableState instanceof WritableState;
         }
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-delete", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.containerContext.delete({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: options.conditions,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      });
+    } else {
+      realHasInstance = function(object) {
+        return object instanceof this;
+      };
+    }
+    function Writable(options) {
+      Duplex = Duplex || require_stream_duplex();
+      if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) {
+        return new Writable(options);
       }
-      /**
-       * Marks the specified container for deletion if it exists. The container and any blobs
-       * contained within it are later deleted during garbage collection.
-       * @see https://learn.microsoft.com/rest/api/storageservices/delete-container
-       *
-       * @param options - Options to Container Delete operation.
-       */
-      async deleteIfExists(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-deleteIfExists", options, async (updatedOptions) => {
-          try {
-            const res = await this.delete(updatedOptions);
-            return {
-              succeeded: true,
-              ...res,
-              _response: res._response
-            };
-          } catch (e) {
-            if (e.details?.errorCode === "ContainerNotFound") {
-              return {
-                succeeded: false,
-                ...e.response?.parsedHeaders,
-                _response: e.response
-              };
-            }
-            throw e;
-          }
-        });
+      this._writableState = new WritableState(options, this);
+      this.writable = true;
+      if (options) {
+        if (typeof options.write === "function") this._write = options.write;
+        if (typeof options.writev === "function") this._writev = options.writev;
+        if (typeof options.destroy === "function") this._destroy = options.destroy;
+        if (typeof options.final === "function") this._final = options.final;
       }
-      /**
-       * Sets one or more user-defined name-value pairs for the specified container.
-       *
-       * If no option provided, or no metadata defined in the parameter, the container
-       * metadata will be removed.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-container-metadata
-       *
-       * @param metadata - Replace existing metadata with this value.
-       *                            If no value provided the existing metadata will be removed.
-       * @param options - Options to Container Set Metadata operation.
-       */
-      async setMetadata(metadata, options = {}) {
-        if (!options.conditions) {
-          options.conditions = {};
-        }
-        if (options.conditions.ifUnmodifiedSince) {
-          throw new RangeError("the IfUnmodifiedSince must have their default values because they are ignored by the blob service");
-        }
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-setMetadata", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.containerContext.setMetadata({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            metadata,
-            modifiedAccessConditions: options.conditions,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      Stream.call(this);
+    }
+    Writable.prototype.pipe = function() {
+      this.emit("error", new Error("Cannot pipe, not readable"));
+    };
+    function writeAfterEnd(stream2, cb) {
+      var er = new Error("write after end");
+      stream2.emit("error", er);
+      pna.nextTick(cb, er);
+    }
+    function validChunk(stream2, state, chunk, cb) {
+      var valid3 = true;
+      var er = false;
+      if (chunk === null) {
+        er = new TypeError("May not write null values to stream");
+      } else if (typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) {
+        er = new TypeError("Invalid non-string/buffer chunk");
       }
-      /**
-       * Gets the permissions for the specified container. The permissions indicate
-       * whether container data may be accessed publicly.
-       *
-       * WARNING: JavaScript Date will potentially lose precision when parsing startsOn and expiresOn strings.
-       * For example, new Date("2018-12-31T03:44:23.8827891Z").toISOString() will get "2018-12-31T03:44:23.882Z".
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-container-acl
-       *
-       * @param options - Options to Container Get Access Policy operation.
-       */
-      async getAccessPolicy(options = {}) {
-        if (!options.conditions) {
-          options.conditions = {};
-        }
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-getAccessPolicy", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.getAccessPolicy({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const res = {
-            _response: response._response,
-            blobPublicAccess: response.blobPublicAccess,
-            date: response.date,
-            etag: response.etag,
-            errorCode: response.errorCode,
-            lastModified: response.lastModified,
-            requestId: response.requestId,
-            clientRequestId: response.clientRequestId,
-            signedIdentifiers: [],
-            version: response.version
-          };
-          for (const identifier of response) {
-            let accessPolicy = void 0;
-            if (identifier.accessPolicy) {
-              accessPolicy = {
-                permissions: identifier.accessPolicy.permissions
-              };
-              if (identifier.accessPolicy.expiresOn) {
-                accessPolicy.expiresOn = new Date(identifier.accessPolicy.expiresOn);
-              }
-              if (identifier.accessPolicy.startsOn) {
-                accessPolicy.startsOn = new Date(identifier.accessPolicy.startsOn);
-              }
-            }
-            res.signedIdentifiers.push({
-              accessPolicy,
-              id: identifier.id
-            });
-          }
-          return res;
-        });
+      if (er) {
+        stream2.emit("error", er);
+        pna.nextTick(cb, er);
+        valid3 = false;
       }
-      /**
-       * Sets the permissions for the specified container. The permissions indicate
-       * whether blobs in a container may be accessed publicly.
-       *
-       * When you set permissions for a container, the existing permissions are replaced.
-       * If no access or containerAcl provided, the existing container ACL will be
-       * removed.
-       *
-       * When you establish a stored access policy on a container, it may take up to 30 seconds to take effect.
-       * During this interval, a shared access signature that is associated with the stored access policy will
-       * fail with status code 403 (Forbidden), until the access policy becomes active.
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-container-acl
-       *
-       * @param access - The level of public access to data in the container.
-       * @param containerAcl - Array of elements each having a unique Id and details of the access policy.
-       * @param options - Options to Container Set Access Policy operation.
-       */
-      async setAccessPolicy(access, containerAcl, options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-setAccessPolicy", options, async (updatedOptions) => {
-          const acl = [];
-          for (const identifier of containerAcl || []) {
-            acl.push({
-              accessPolicy: {
-                expiresOn: identifier.accessPolicy.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(identifier.accessPolicy.expiresOn) : "",
-                permissions: identifier.accessPolicy.permissions,
-                startsOn: identifier.accessPolicy.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(identifier.accessPolicy.startsOn) : ""
-              },
-              id: identifier.id
-            });
-          }
-          return (0, utils_common_js_1.assertResponse)(await this.containerContext.setAccessPolicy({
-            abortSignal: options.abortSignal,
-            access,
-            containerAcl: acl,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: options.conditions,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      return valid3;
+    }
+    Writable.prototype.write = function(chunk, encoding, cb) {
+      var state = this._writableState;
+      var ret = false;
+      var isBuf = !state.objectMode && _isUint8Array(chunk);
+      if (isBuf && !Buffer2.isBuffer(chunk)) {
+        chunk = _uint8ArrayToBuffer(chunk);
       }
-      /**
-       * Get a {@link BlobLeaseClient} that manages leases on the container.
-       *
-       * @param proposeLeaseId - Initial proposed lease Id.
-       * @returns A new BlobLeaseClient object for managing leases on the container.
-       */
-      getBlobLeaseClient(proposeLeaseId) {
-        return new BlobLeaseClient_js_1.BlobLeaseClient(this, proposeLeaseId);
+      if (typeof encoding === "function") {
+        cb = encoding;
+        encoding = null;
       }
-      /**
-       * Creates a new block blob, or updates the content of an existing block blob.
-       *
-       * Updating an existing block blob overwrites any existing metadata on the blob.
-       * Partial updates are not supported; the content of the existing blob is
-       * overwritten with the new content. To perform a partial update of a block blob's,
-       * use {@link BlockBlobClient.stageBlock} and {@link BlockBlobClient.commitBlockList}.
-       *
-       * This is a non-parallel uploading method, please use {@link BlockBlobClient.uploadFile},
-       * {@link BlockBlobClient.uploadStream} or {@link BlockBlobClient.uploadBrowserData} for better
-       * performance with concurrency uploading.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
-       *
-       * @param blobName - Name of the block blob to create or update.
-       * @param body - Blob, string, ArrayBuffer, ArrayBufferView or a function
-       *                               which returns a new Readable stream whose offset is from data source beginning.
-       * @param contentLength - Length of body in bytes. Use Buffer.byteLength() to calculate body length for a
-       *                               string including non non-Base64/Hex-encoded characters.
-       * @param options - Options to configure the Block Blob Upload operation.
-       * @returns Block Blob upload response data and the corresponding BlockBlobClient instance.
-       */
-      async uploadBlockBlob(blobName, body, contentLength, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-uploadBlockBlob", options, async (updatedOptions) => {
-          const blockBlobClient = this.getBlockBlobClient(blobName);
-          const response = await blockBlobClient.upload(body, contentLength, updatedOptions);
-          return {
-            blockBlobClient,
-            response
-          };
-        });
+      if (isBuf) encoding = "buffer";
+      else if (!encoding) encoding = state.defaultEncoding;
+      if (typeof cb !== "function") cb = nop;
+      if (state.ended) writeAfterEnd(this, cb);
+      else if (isBuf || validChunk(this, state, chunk, cb)) {
+        state.pendingcb++;
+        ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);
       }
-      /**
-       * Marks the specified blob or snapshot for deletion. The blob is later deleted
-       * during garbage collection. Note that in order to delete a blob, you must delete
-       * all of its snapshots. You can delete both at the same time with the Delete
-       * Blob operation.
-       * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob
-       *
-       * @param blobName -
-       * @param options - Options to Blob Delete operation.
-       * @returns Block blob deletion response data.
-       */
-      async deleteBlob(blobName, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-deleteBlob", options, async (updatedOptions) => {
-          let blobClient = this.getBlobClient(blobName);
-          if (options.versionId) {
-            blobClient = blobClient.withVersion(options.versionId);
-          }
-          return blobClient.delete(updatedOptions);
-        });
+      return ret;
+    };
+    Writable.prototype.cork = function() {
+      var state = this._writableState;
+      state.corked++;
+    };
+    Writable.prototype.uncork = function() {
+      var state = this._writableState;
+      if (state.corked) {
+        state.corked--;
+        if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);
       }
-      /**
-       * listBlobFlatSegment returns a single segment of blobs starting from the
-       * specified Marker. Use an empty Marker to start enumeration from the beginning.
-       * After getting a segment, process it, and then call listBlobsFlatSegment again
-       * (passing the the previously-returned Marker) to get the next segment.
-       * @see https://learn.microsoft.com/rest/api/storageservices/list-blobs
-       *
-       * @param marker - A string value that identifies the portion of the list to be returned with the next list operation.
-       * @param options - Options to Container List Blob Flat Segment operation.
-       */
-      async listBlobFlatSegment(marker, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-listBlobFlatSegment", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.listBlobFlatSegment({
-            marker,
-            ...options,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const wrappedResponse = {
-            ...response,
-            _response: {
-              ...response._response,
-              parsedBody: (0, utils_common_js_1.ConvertInternalResponseOfListBlobFlat)(response._response.parsedBody)
-            },
-            // _response is made non-enumerable
-            segment: {
-              ...response.segment,
-              blobItems: response.segment.blobItems.map((blobItemInternal) => {
-                const blobItem = {
-                  ...blobItemInternal,
-                  name: (0, utils_common_js_1.BlobNameToString)(blobItemInternal.name),
-                  tags: (0, utils_common_js_1.toTags)(blobItemInternal.blobTags),
-                  objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(blobItemInternal.objectReplicationMetadata)
-                };
-                return blobItem;
-              })
-            }
-          };
-          return wrappedResponse;
-        });
+    };
+    Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {
+      if (typeof encoding === "string") encoding = encoding.toLowerCase();
+      if (!(["hex", "utf8", "utf-8", "ascii", "binary", "base64", "ucs2", "ucs-2", "utf16le", "utf-16le", "raw"].indexOf((encoding + "").toLowerCase()) > -1)) throw new TypeError("Unknown encoding: " + encoding);
+      this._writableState.defaultEncoding = encoding;
+      return this;
+    };
+    function decodeChunk(state, chunk, encoding) {
+      if (!state.objectMode && state.decodeStrings !== false && typeof chunk === "string") {
+        chunk = Buffer2.from(chunk, encoding);
       }
-      /**
-       * listBlobHierarchySegment returns a single segment of blobs starting from
-       * the specified Marker. Use an empty Marker to start enumeration from the
-       * beginning. After getting a segment, process it, and then call listBlobsHierarchicalSegment
-       * again (passing the the previously-returned Marker) to get the next segment.
-       * @see https://learn.microsoft.com/rest/api/storageservices/list-blobs
-       *
-       * @param delimiter - The character or string used to define the virtual hierarchy
-       * @param marker - A string value that identifies the portion of the list to be returned with the next list operation.
-       * @param options - Options to Container List Blob Hierarchy Segment operation.
-       */
-      async listBlobHierarchySegment(delimiter, marker, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-listBlobHierarchySegment", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.listBlobHierarchySegment(delimiter, {
-            marker,
-            ...options,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const wrappedResponse = {
-            ...response,
-            _response: {
-              ...response._response,
-              parsedBody: (0, utils_common_js_1.ConvertInternalResponseOfListBlobHierarchy)(response._response.parsedBody)
-            },
-            // _response is made non-enumerable
-            segment: {
-              ...response.segment,
-              blobItems: response.segment.blobItems.map((blobItemInternal) => {
-                const blobItem = {
-                  ...blobItemInternal,
-                  name: (0, utils_common_js_1.BlobNameToString)(blobItemInternal.name),
-                  tags: (0, utils_common_js_1.toTags)(blobItemInternal.blobTags),
-                  objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(blobItemInternal.objectReplicationMetadata)
-                };
-                return blobItem;
-              }),
-              blobPrefixes: response.segment.blobPrefixes?.map((blobPrefixInternal) => {
-                const blobPrefix = {
-                  ...blobPrefixInternal,
-                  name: (0, utils_common_js_1.BlobNameToString)(blobPrefixInternal.name)
-                };
-                return blobPrefix;
-              })
-            }
-          };
-          return wrappedResponse;
-        });
+      return chunk;
+    }
+    Object.defineProperty(Writable.prototype, "writableHighWaterMark", {
+      // making it explicit this property is not enumerable
+      // because otherwise some prototype manipulation in
+      // userland will fail
+      enumerable: false,
+      get: function() {
+        return this._writableState.highWaterMark;
       }
-      /**
-       * Returns an AsyncIterableIterator for ContainerListBlobFlatSegmentResponse
-       *
-       * @param marker - A string value that identifies the portion of
-       *                          the list of blobs to be returned with the next listing operation. The
-       *                          operation returns the ContinuationToken value within the response body if the
-       *                          listing operation did not return all blobs remaining to be listed
-       *                          with the current page. The ContinuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of list
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to list blobs operation.
-       */
-      async *listSegments(marker, options = {}) {
-        let listBlobsFlatSegmentResponse;
-        if (!!marker || marker === void 0) {
-          do {
-            listBlobsFlatSegmentResponse = await this.listBlobFlatSegment(marker, options);
-            marker = listBlobsFlatSegmentResponse.continuationToken;
-            yield await listBlobsFlatSegmentResponse;
-          } while (marker);
+    });
+    function writeOrBuffer(stream2, state, isBuf, chunk, encoding, cb) {
+      if (!isBuf) {
+        var newChunk = decodeChunk(state, chunk, encoding);
+        if (chunk !== newChunk) {
+          isBuf = true;
+          encoding = "buffer";
+          chunk = newChunk;
         }
       }
-      /**
-       * Returns an AsyncIterableIterator of {@link BlobItem} objects
-       *
-       * @param options - Options to list blobs operation.
-       */
-      async *listItems(options = {}) {
-        let marker;
-        for await (const listBlobsFlatSegmentResponse of this.listSegments(marker, options)) {
-          yield* listBlobsFlatSegmentResponse.segment.blobItems;
+      var len = state.objectMode ? 1 : chunk.length;
+      state.length += len;
+      var ret = state.length < state.highWaterMark;
+      if (!ret) state.needDrain = true;
+      if (state.writing || state.corked) {
+        var last = state.lastBufferedRequest;
+        state.lastBufferedRequest = {
+          chunk,
+          encoding,
+          isBuf,
+          callback: cb,
+          next: null
+        };
+        if (last) {
+          last.next = state.lastBufferedRequest;
+        } else {
+          state.bufferedRequest = state.lastBufferedRequest;
         }
+        state.bufferedRequestCount += 1;
+      } else {
+        doWrite(stream2, state, false, len, chunk, encoding, cb);
       }
-      /**
-       * Returns an async iterable iterator to list all the blobs
-       * under the specified account.
-       *
-       * .byPage() returns an async iterable iterator to list the blobs in pages.
-       *
-       * ```ts snippet:ReadmeSampleListBlobs_Multiple
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       *
-       * // Example using `for await` syntax
-       * let i = 1;
-       * const blobs = containerClient.listBlobsFlat();
-       * for await (const blob of blobs) {
-       *   console.log(`Blob ${i++}: ${blob.name}`);
-       * }
-       *
-       * // Example using `iter.next()` syntax
-       * i = 1;
-       * const iter = containerClient.listBlobsFlat();
-       * let { value, done } = await iter.next();
-       * while (!done) {
-       *   console.log(`Blob ${i++}: ${value.name}`);
-       *   ({ value, done } = await iter.next());
-       * }
-       *
-       * // Example using `byPage()` syntax
-       * i = 1;
-       * for await (const page of containerClient.listBlobsFlat().byPage({ maxPageSize: 20 })) {
-       *   for (const blob of page.segment.blobItems) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       *
-       * // Example using paging with a marker
-       * i = 1;
-       * let iterator = containerClient.listBlobsFlat().byPage({ maxPageSize: 2 });
-       * let response = (await iterator.next()).value;
-       * // Prints 2 blob names
-       * if (response.segment.blobItems) {
-       *   for (const blob of response.segment.blobItems) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       * // Gets next marker
-       * let marker = response.continuationToken;
-       * // Passing next marker as continuationToken
-       * iterator = containerClient.listBlobsFlat().byPage({ continuationToken: marker, maxPageSize: 10 });
-       * response = (await iterator.next()).value;
-       * // Prints 10 blob names
-       * if (response.segment.blobItems) {
-       *   for (const blob of response.segment.blobItems) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       * ```
-       *
-       * @param options - Options to list blobs.
-       * @returns An asyncIterableIterator that supports paging.
-       */
-      listBlobsFlat(options = {}) {
-        const include = [];
-        if (options.includeCopy) {
-          include.push("copy");
-        }
-        if (options.includeDeleted) {
-          include.push("deleted");
-        }
-        if (options.includeMetadata) {
-          include.push("metadata");
-        }
-        if (options.includeSnapshots) {
-          include.push("snapshots");
-        }
-        if (options.includeVersions) {
-          include.push("versions");
-        }
-        if (options.includeUncommitedBlobs) {
-          include.push("uncommittedblobs");
-        }
-        if (options.includeTags) {
-          include.push("tags");
-        }
-        if (options.includeDeletedWithVersions) {
-          include.push("deletedwithversions");
+      return ret;
+    }
+    function doWrite(stream2, state, writev, len, chunk, encoding, cb) {
+      state.writelen = len;
+      state.writecb = cb;
+      state.writing = true;
+      state.sync = true;
+      if (writev) stream2._writev(chunk, state.onwrite);
+      else stream2._write(chunk, encoding, state.onwrite);
+      state.sync = false;
+    }
+    function onwriteError(stream2, state, sync, er, cb) {
+      --state.pendingcb;
+      if (sync) {
+        pna.nextTick(cb, er);
+        pna.nextTick(finishMaybe, stream2, state);
+        stream2._writableState.errorEmitted = true;
+        stream2.emit("error", er);
+      } else {
+        cb(er);
+        stream2._writableState.errorEmitted = true;
+        stream2.emit("error", er);
+        finishMaybe(stream2, state);
+      }
+    }
+    function onwriteStateUpdate(state) {
+      state.writing = false;
+      state.writecb = null;
+      state.length -= state.writelen;
+      state.writelen = 0;
+    }
+    function onwrite(stream2, er) {
+      var state = stream2._writableState;
+      var sync = state.sync;
+      var cb = state.writecb;
+      onwriteStateUpdate(state);
+      if (er) onwriteError(stream2, state, sync, er, cb);
+      else {
+        var finished = needFinish(state);
+        if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {
+          clearBuffer(stream2, state);
         }
-        if (options.includeImmutabilityPolicy) {
-          include.push("immutabilitypolicy");
+        if (sync) {
+          asyncWrite(afterWrite, stream2, state, finished, cb);
+        } else {
+          afterWrite(stream2, state, finished, cb);
         }
-        if (options.includeLegalHold) {
-          include.push("legalhold");
+      }
+    }
+    function afterWrite(stream2, state, finished, cb) {
+      if (!finished) onwriteDrain(stream2, state);
+      state.pendingcb--;
+      cb();
+      finishMaybe(stream2, state);
+    }
+    function onwriteDrain(stream2, state) {
+      if (state.length === 0 && state.needDrain) {
+        state.needDrain = false;
+        stream2.emit("drain");
+      }
+    }
+    function clearBuffer(stream2, state) {
+      state.bufferProcessing = true;
+      var entry = state.bufferedRequest;
+      if (stream2._writev && entry && entry.next) {
+        var l = state.bufferedRequestCount;
+        var buffer = new Array(l);
+        var holder = state.corkedRequestsFree;
+        holder.entry = entry;
+        var count = 0;
+        var allBuffers = true;
+        while (entry) {
+          buffer[count] = entry;
+          if (!entry.isBuf) allBuffers = false;
+          entry = entry.next;
+          count += 1;
         }
-        if (options.prefix === "") {
-          options.prefix = void 0;
+        buffer.allBuffers = allBuffers;
+        doWrite(stream2, state, true, state.length, buffer, "", holder.finish);
+        state.pendingcb++;
+        state.lastBufferedRequest = null;
+        if (holder.next) {
+          state.corkedRequestsFree = holder.next;
+          holder.next = null;
+        } else {
+          state.corkedRequestsFree = new CorkedRequest(state);
         }
-        const updatedOptions = {
-          ...options,
-          ...include.length > 0 ? { include } : {}
-        };
-        const iter = this.listItems(updatedOptions);
-        return {
-          /**
-           * The next method, part of the iteration protocol
-           */
-          next() {
-            return iter.next();
-          },
-          /**
-           * The connection to the async iterator, part of the iteration protocol
-           */
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          /**
-           * Return an AsyncIterableIterator that works a page at a time
-           */
-          byPage: (settings = {}) => {
-            return this.listSegments(settings.continuationToken, {
-              maxPageSize: settings.maxPageSize,
-              ...updatedOptions
-            });
+        state.bufferedRequestCount = 0;
+      } else {
+        while (entry) {
+          var chunk = entry.chunk;
+          var encoding = entry.encoding;
+          var cb = entry.callback;
+          var len = state.objectMode ? 1 : chunk.length;
+          doWrite(stream2, state, false, len, chunk, encoding, cb);
+          entry = entry.next;
+          state.bufferedRequestCount--;
+          if (state.writing) {
+            break;
           }
-        };
-      }
-      /**
-       * Returns an AsyncIterableIterator for ContainerListBlobHierarchySegmentResponse
-       *
-       * @param delimiter - The character or string used to define the virtual hierarchy
-       * @param marker - A string value that identifies the portion of
-       *                          the list of blobs to be returned with the next listing operation. The
-       *                          operation returns the ContinuationToken value within the response body if the
-       *                          listing operation did not return all blobs remaining to be listed
-       *                          with the current page. The ContinuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of list
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to list blobs operation.
-       */
-      async *listHierarchySegments(delimiter, marker, options = {}) {
-        let listBlobsHierarchySegmentResponse;
-        if (!!marker || marker === void 0) {
-          do {
-            listBlobsHierarchySegmentResponse = await this.listBlobHierarchySegment(delimiter, marker, options);
-            marker = listBlobsHierarchySegmentResponse.continuationToken;
-            yield await listBlobsHierarchySegmentResponse;
-          } while (marker);
         }
+        if (entry === null) state.lastBufferedRequest = null;
       }
-      /**
-       * Returns an AsyncIterableIterator for {@link BlobPrefix} and {@link BlobItem} objects.
-       *
-       * @param delimiter - The character or string used to define the virtual hierarchy
-       * @param options - Options to list blobs operation.
-       */
-      async *listItemsByHierarchy(delimiter, options = {}) {
-        let marker;
-        for await (const listBlobsHierarchySegmentResponse of this.listHierarchySegments(delimiter, marker, options)) {
-          const segment = listBlobsHierarchySegmentResponse.segment;
-          if (segment.blobPrefixes) {
-            for (const prefix of segment.blobPrefixes) {
-              yield {
-                kind: "prefix",
-                ...prefix
-              };
-            }
-          }
-          for (const blob of segment.blobItems) {
-            yield { kind: "blob", ...blob };
-          }
-        }
+      state.bufferedRequest = entry;
+      state.bufferProcessing = false;
+    }
+    Writable.prototype._write = function(chunk, encoding, cb) {
+      cb(new Error("_write() is not implemented"));
+    };
+    Writable.prototype._writev = null;
+    Writable.prototype.end = function(chunk, encoding, cb) {
+      var state = this._writableState;
+      if (typeof chunk === "function") {
+        cb = chunk;
+        chunk = null;
+        encoding = null;
+      } else if (typeof encoding === "function") {
+        cb = encoding;
+        encoding = null;
       }
-      /**
-       * Returns an async iterable iterator to list all the blobs by hierarchy.
-       * under the specified account.
-       *
-       * .byPage() returns an async iterable iterator to list the blobs by hierarchy in pages.
-       *
-       * ```ts snippet:ReadmeSampleListBlobsByHierarchy
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       *
-       * // Example using `for await` syntax
-       * let i = 1;
-       * const blobs = containerClient.listBlobsByHierarchy("/");
-       * for await (const blob of blobs) {
-       *   if (blob.kind === "prefix") {
-       *     console.log(`\tBlobPrefix: ${blob.name}`);
-       *   } else {
-       *     console.log(`\tBlobItem: name - ${blob.name}`);
-       *   }
-       * }
-       *
-       * // Example using `iter.next()` syntax
-       * i = 1;
-       * const iter = containerClient.listBlobsByHierarchy("/");
-       * let { value, done } = await iter.next();
-       * while (!done) {
-       *   if (value.kind === "prefix") {
-       *     console.log(`\tBlobPrefix: ${value.name}`);
-       *   } else {
-       *     console.log(`\tBlobItem: name - ${value.name}`);
-       *   }
-       *   ({ value, done } = await iter.next());
-       * }
-       *
-       * // Example using `byPage()` syntax
-       * i = 1;
-       * for await (const page of containerClient.listBlobsByHierarchy("/").byPage({ maxPageSize: 20 })) {
-       *   const segment = page.segment;
-       *   if (segment.blobPrefixes) {
-       *     for (const prefix of segment.blobPrefixes) {
-       *       console.log(`\tBlobPrefix: ${prefix.name}`);
-       *     }
-       *   }
-       *   for (const blob of page.segment.blobItems) {
-       *     console.log(`\tBlobItem: name - ${blob.name}`);
-       *   }
-       * }
-       *
-       * // Example using paging with a marker
-       * i = 1;
-       * let iterator = containerClient.listBlobsByHierarchy("/").byPage({ maxPageSize: 2 });
-       * let response = (await iterator.next()).value;
-       * // Prints 2 blob names
-       * if (response.blobPrefixes) {
-       *   for (const prefix of response.blobPrefixes) {
-       *     console.log(`\tBlobPrefix: ${prefix.name}`);
-       *   }
-       * }
-       * if (response.segment.blobItems) {
-       *   for (const blob of response.segment.blobItems) {
-       *     console.log(`\tBlobItem: name - ${blob.name}`);
-       *   }
-       * }
-       * // Gets next marker
-       * let marker = response.continuationToken;
-       * // Passing next marker as continuationToken
-       * iterator = containerClient
-       *   .listBlobsByHierarchy("/")
-       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
-       * response = (await iterator.next()).value;
-       * // Prints 10 blob names
-       * if (response.blobPrefixes) {
-       *   for (const prefix of response.blobPrefixes) {
-       *     console.log(`\tBlobPrefix: ${prefix.name}`);
-       *   }
-       * }
-       * if (response.segment.blobItems) {
-       *   for (const blob of response.segment.blobItems) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       * ```
-       *
-       * @param delimiter - The character or string used to define the virtual hierarchy
-       * @param options - Options to list blobs operation.
-       */
-      listBlobsByHierarchy(delimiter, options = {}) {
-        if (delimiter === "") {
-          throw new RangeError("delimiter should contain one or more characters");
-        }
-        const include = [];
-        if (options.includeCopy) {
-          include.push("copy");
-        }
-        if (options.includeDeleted) {
-          include.push("deleted");
+      if (chunk !== null && chunk !== void 0) this.write(chunk, encoding);
+      if (state.corked) {
+        state.corked = 1;
+        this.uncork();
+      }
+      if (!state.ending) endWritable(this, state, cb);
+    };
+    function needFinish(state) {
+      return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;
+    }
+    function callFinal(stream2, state) {
+      stream2._final(function(err) {
+        state.pendingcb--;
+        if (err) {
+          stream2.emit("error", err);
         }
-        if (options.includeMetadata) {
-          include.push("metadata");
+        state.prefinished = true;
+        stream2.emit("prefinish");
+        finishMaybe(stream2, state);
+      });
+    }
+    function prefinish(stream2, state) {
+      if (!state.prefinished && !state.finalCalled) {
+        if (typeof stream2._final === "function") {
+          state.pendingcb++;
+          state.finalCalled = true;
+          pna.nextTick(callFinal, stream2, state);
+        } else {
+          state.prefinished = true;
+          stream2.emit("prefinish");
         }
-        if (options.includeSnapshots) {
-          include.push("snapshots");
+      }
+    }
+    function finishMaybe(stream2, state) {
+      var need = needFinish(state);
+      if (need) {
+        prefinish(stream2, state);
+        if (state.pendingcb === 0) {
+          state.finished = true;
+          stream2.emit("finish");
         }
-        if (options.includeVersions) {
-          include.push("versions");
+      }
+      return need;
+    }
+    function endWritable(stream2, state, cb) {
+      state.ending = true;
+      finishMaybe(stream2, state);
+      if (cb) {
+        if (state.finished) pna.nextTick(cb);
+        else stream2.once("finish", cb);
+      }
+      state.ended = true;
+      stream2.writable = false;
+    }
+    function onCorkedFinish(corkReq, state, err) {
+      var entry = corkReq.entry;
+      corkReq.entry = null;
+      while (entry) {
+        var cb = entry.callback;
+        state.pendingcb--;
+        cb(err);
+        entry = entry.next;
+      }
+      state.corkedRequestsFree.next = corkReq;
+    }
+    Object.defineProperty(Writable.prototype, "destroyed", {
+      get: function() {
+        if (this._writableState === void 0) {
+          return false;
         }
-        if (options.includeUncommitedBlobs) {
-          include.push("uncommittedblobs");
+        return this._writableState.destroyed;
+      },
+      set: function(value) {
+        if (!this._writableState) {
+          return;
         }
-        if (options.includeTags) {
-          include.push("tags");
+        this._writableState.destroyed = value;
+      }
+    });
+    Writable.prototype.destroy = destroyImpl.destroy;
+    Writable.prototype._undestroy = destroyImpl.undestroy;
+    Writable.prototype._destroy = function(err, cb) {
+      this.end();
+      cb(err);
+    };
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/lib/_stream_duplex.js
+var require_stream_duplex = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_duplex.js"(exports2, module2) {
+    "use strict";
+    var pna = require_process_nextick_args();
+    var objectKeys = Object.keys || function(obj) {
+      var keys2 = [];
+      for (var key in obj) {
+        keys2.push(key);
+      }
+      return keys2;
+    };
+    module2.exports = Duplex;
+    var util = Object.create(require_util20());
+    util.inherits = require_inherits();
+    var Readable2 = require_stream_readable();
+    var Writable = require_stream_writable();
+    util.inherits(Duplex, Readable2);
+    {
+      keys = objectKeys(Writable.prototype);
+      for (v = 0; v < keys.length; v++) {
+        method = keys[v];
+        if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];
+      }
+    }
+    var keys;
+    var method;
+    var v;
+    function Duplex(options) {
+      if (!(this instanceof Duplex)) return new Duplex(options);
+      Readable2.call(this, options);
+      Writable.call(this, options);
+      if (options && options.readable === false) this.readable = false;
+      if (options && options.writable === false) this.writable = false;
+      this.allowHalfOpen = true;
+      if (options && options.allowHalfOpen === false) this.allowHalfOpen = false;
+      this.once("end", onend);
+    }
+    Object.defineProperty(Duplex.prototype, "writableHighWaterMark", {
+      // making it explicit this property is not enumerable
+      // because otherwise some prototype manipulation in
+      // userland will fail
+      enumerable: false,
+      get: function() {
+        return this._writableState.highWaterMark;
+      }
+    });
+    function onend() {
+      if (this.allowHalfOpen || this._writableState.ended) return;
+      pna.nextTick(onEndNT, this);
+    }
+    function onEndNT(self2) {
+      self2.end();
+    }
+    Object.defineProperty(Duplex.prototype, "destroyed", {
+      get: function() {
+        if (this._readableState === void 0 || this._writableState === void 0) {
+          return false;
         }
-        if (options.includeDeletedWithVersions) {
-          include.push("deletedwithversions");
+        return this._readableState.destroyed && this._writableState.destroyed;
+      },
+      set: function(value) {
+        if (this._readableState === void 0 || this._writableState === void 0) {
+          return;
         }
-        if (options.includeImmutabilityPolicy) {
-          include.push("immutabilitypolicy");
+        this._readableState.destroyed = value;
+        this._writableState.destroyed = value;
+      }
+    });
+    Duplex.prototype._destroy = function(err, cb) {
+      this.push(null);
+      this.end();
+      pna.nextTick(cb, err);
+    };
+  }
+});
+
+// node_modules/lazystream/node_modules/string_decoder/lib/string_decoder.js
+var require_string_decoder = __commonJS({
+  "node_modules/lazystream/node_modules/string_decoder/lib/string_decoder.js"(exports2) {
+    "use strict";
+    var Buffer2 = require_safe_buffer().Buffer;
+    var isEncoding = Buffer2.isEncoding || function(encoding) {
+      encoding = "" + encoding;
+      switch (encoding && encoding.toLowerCase()) {
+        case "hex":
+        case "utf8":
+        case "utf-8":
+        case "ascii":
+        case "binary":
+        case "base64":
+        case "ucs2":
+        case "ucs-2":
+        case "utf16le":
+        case "utf-16le":
+        case "raw":
+          return true;
+        default:
+          return false;
+      }
+    };
+    function _normalizeEncoding(enc) {
+      if (!enc) return "utf8";
+      var retried;
+      while (true) {
+        switch (enc) {
+          case "utf8":
+          case "utf-8":
+            return "utf8";
+          case "ucs2":
+          case "ucs-2":
+          case "utf16le":
+          case "utf-16le":
+            return "utf16le";
+          case "latin1":
+          case "binary":
+            return "latin1";
+          case "base64":
+          case "ascii":
+          case "hex":
+            return enc;
+          default:
+            if (retried) return;
+            enc = ("" + enc).toLowerCase();
+            retried = true;
         }
-        if (options.includeLegalHold) {
-          include.push("legalhold");
+      }
+    }
+    function normalizeEncoding(enc) {
+      var nenc = _normalizeEncoding(enc);
+      if (typeof nenc !== "string" && (Buffer2.isEncoding === isEncoding || !isEncoding(enc))) throw new Error("Unknown encoding: " + enc);
+      return nenc || enc;
+    }
+    exports2.StringDecoder = StringDecoder;
+    function StringDecoder(encoding) {
+      this.encoding = normalizeEncoding(encoding);
+      var nb;
+      switch (this.encoding) {
+        case "utf16le":
+          this.text = utf16Text;
+          this.end = utf16End;
+          nb = 4;
+          break;
+        case "utf8":
+          this.fillLast = utf8FillLast;
+          nb = 4;
+          break;
+        case "base64":
+          this.text = base64Text;
+          this.end = base64End;
+          nb = 3;
+          break;
+        default:
+          this.write = simpleWrite;
+          this.end = simpleEnd;
+          return;
+      }
+      this.lastNeed = 0;
+      this.lastTotal = 0;
+      this.lastChar = Buffer2.allocUnsafe(nb);
+    }
+    StringDecoder.prototype.write = function(buf) {
+      if (buf.length === 0) return "";
+      var r;
+      var i;
+      if (this.lastNeed) {
+        r = this.fillLast(buf);
+        if (r === void 0) return "";
+        i = this.lastNeed;
+        this.lastNeed = 0;
+      } else {
+        i = 0;
+      }
+      if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);
+      return r || "";
+    };
+    StringDecoder.prototype.end = utf8End;
+    StringDecoder.prototype.text = utf8Text;
+    StringDecoder.prototype.fillLast = function(buf) {
+      if (this.lastNeed <= buf.length) {
+        buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);
+        return this.lastChar.toString(this.encoding, 0, this.lastTotal);
+      }
+      buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);
+      this.lastNeed -= buf.length;
+    };
+    function utf8CheckByte(byte) {
+      if (byte <= 127) return 0;
+      else if (byte >> 5 === 6) return 2;
+      else if (byte >> 4 === 14) return 3;
+      else if (byte >> 3 === 30) return 4;
+      return byte >> 6 === 2 ? -1 : -2;
+    }
+    function utf8CheckIncomplete(self2, buf, i) {
+      var j = buf.length - 1;
+      if (j < i) return 0;
+      var nb = utf8CheckByte(buf[j]);
+      if (nb >= 0) {
+        if (nb > 0) self2.lastNeed = nb - 1;
+        return nb;
+      }
+      if (--j < i || nb === -2) return 0;
+      nb = utf8CheckByte(buf[j]);
+      if (nb >= 0) {
+        if (nb > 0) self2.lastNeed = nb - 2;
+        return nb;
+      }
+      if (--j < i || nb === -2) return 0;
+      nb = utf8CheckByte(buf[j]);
+      if (nb >= 0) {
+        if (nb > 0) {
+          if (nb === 2) nb = 0;
+          else self2.lastNeed = nb - 3;
         }
-        if (options.prefix === "") {
-          options.prefix = void 0;
+        return nb;
+      }
+      return 0;
+    }
+    function utf8CheckExtraBytes(self2, buf, p) {
+      if ((buf[0] & 192) !== 128) {
+        self2.lastNeed = 0;
+        return "\uFFFD";
+      }
+      if (self2.lastNeed > 1 && buf.length > 1) {
+        if ((buf[1] & 192) !== 128) {
+          self2.lastNeed = 1;
+          return "\uFFFD";
         }
-        const updatedOptions = {
-          ...options,
-          ...include.length > 0 ? { include } : {}
-        };
-        const iter = this.listItemsByHierarchy(delimiter, updatedOptions);
-        return {
-          /**
-           * The next method, part of the iteration protocol
-           */
-          async next() {
-            return iter.next();
-          },
-          /**
-           * The connection to the async iterator, part of the iteration protocol
-           */
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          /**
-           * Return an AsyncIterableIterator that works a page at a time
-           */
-          byPage: (settings = {}) => {
-            return this.listHierarchySegments(delimiter, settings.continuationToken, {
-              maxPageSize: settings.maxPageSize,
-              ...updatedOptions
-            });
+        if (self2.lastNeed > 2 && buf.length > 2) {
+          if ((buf[2] & 192) !== 128) {
+            self2.lastNeed = 2;
+            return "\uFFFD";
           }
-        };
+        }
       }
-      /**
-       * The Filter Blobs operation enables callers to list blobs in the container whose tags
-       * match a given search expression.
-       *
-       * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                        The given expression must evaluate to true for a blob to be returned in the results.
-       *                                        The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                        however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param marker - A string value that identifies the portion of
-       *                          the list of blobs to be returned with the next listing operation. The
-       *                          operation returns the continuationToken value within the response body if the
-       *                          listing operation did not return all blobs remaining to be listed
-       *                          with the current page. The continuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of list
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to find blobs by tags.
-       */
-      async findBlobsByTagsSegment(tagFilterSqlExpression, marker, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-findBlobsByTagsSegment", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.filterBlobs({
-            abortSignal: options.abortSignal,
-            where: tagFilterSqlExpression,
-            marker,
-            maxPageSize: options.maxPageSize,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const wrappedResponse = {
-            ...response,
-            _response: response._response,
-            // _response is made non-enumerable
-            blobs: response.blobs.map((blob) => {
-              let tagValue = "";
-              if (blob.tags?.blobTagSet.length === 1) {
-                tagValue = blob.tags.blobTagSet[0].value;
-              }
-              return { ...blob, tags: (0, utils_common_js_1.toTags)(blob.tags), tagValue };
-            })
-          };
-          return wrappedResponse;
-        });
+    }
+    function utf8FillLast(buf) {
+      var p = this.lastTotal - this.lastNeed;
+      var r = utf8CheckExtraBytes(this, buf, p);
+      if (r !== void 0) return r;
+      if (this.lastNeed <= buf.length) {
+        buf.copy(this.lastChar, p, 0, this.lastNeed);
+        return this.lastChar.toString(this.encoding, 0, this.lastTotal);
       }
-      /**
-       * Returns an AsyncIterableIterator for ContainerFindBlobsByTagsSegmentResponse.
-       *
-       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                         The given expression must evaluate to true for a blob to be returned in the results.
-       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param marker - A string value that identifies the portion of
-       *                          the list of blobs to be returned with the next listing operation. The
-       *                          operation returns the continuationToken value within the response body if the
-       *                          listing operation did not return all blobs remaining to be listed
-       *                          with the current page. The continuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of list
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to find blobs by tags.
-       */
-      async *findBlobsByTagsSegments(tagFilterSqlExpression, marker, options = {}) {
-        let response;
-        if (!!marker || marker === void 0) {
-          do {
-            response = await this.findBlobsByTagsSegment(tagFilterSqlExpression, marker, options);
-            response.blobs = response.blobs || [];
-            marker = response.continuationToken;
-            yield response;
-          } while (marker);
+      buf.copy(this.lastChar, p, 0, buf.length);
+      this.lastNeed -= buf.length;
+    }
+    function utf8Text(buf, i) {
+      var total = utf8CheckIncomplete(this, buf, i);
+      if (!this.lastNeed) return buf.toString("utf8", i);
+      this.lastTotal = total;
+      var end = buf.length - (total - this.lastNeed);
+      buf.copy(this.lastChar, 0, end);
+      return buf.toString("utf8", i, end);
+    }
+    function utf8End(buf) {
+      var r = buf && buf.length ? this.write(buf) : "";
+      if (this.lastNeed) return r + "\uFFFD";
+      return r;
+    }
+    function utf16Text(buf, i) {
+      if ((buf.length - i) % 2 === 0) {
+        var r = buf.toString("utf16le", i);
+        if (r) {
+          var c = r.charCodeAt(r.length - 1);
+          if (c >= 55296 && c <= 56319) {
+            this.lastNeed = 2;
+            this.lastTotal = 4;
+            this.lastChar[0] = buf[buf.length - 2];
+            this.lastChar[1] = buf[buf.length - 1];
+            return r.slice(0, -1);
+          }
         }
+        return r;
       }
-      /**
-       * Returns an AsyncIterableIterator for blobs.
-       *
-       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                         The given expression must evaluate to true for a blob to be returned in the results.
-       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param options - Options to findBlobsByTagsItems.
-       */
-      async *findBlobsByTagsItems(tagFilterSqlExpression, options = {}) {
-        let marker;
-        for await (const segment of this.findBlobsByTagsSegments(tagFilterSqlExpression, marker, options)) {
-          yield* segment.blobs;
+      this.lastNeed = 1;
+      this.lastTotal = 2;
+      this.lastChar[0] = buf[buf.length - 1];
+      return buf.toString("utf16le", i, buf.length - 1);
+    }
+    function utf16End(buf) {
+      var r = buf && buf.length ? this.write(buf) : "";
+      if (this.lastNeed) {
+        var end = this.lastTotal - this.lastNeed;
+        return r + this.lastChar.toString("utf16le", 0, end);
+      }
+      return r;
+    }
+    function base64Text(buf, i) {
+      var n = (buf.length - i) % 3;
+      if (n === 0) return buf.toString("base64", i);
+      this.lastNeed = 3 - n;
+      this.lastTotal = 3;
+      if (n === 1) {
+        this.lastChar[0] = buf[buf.length - 1];
+      } else {
+        this.lastChar[0] = buf[buf.length - 2];
+        this.lastChar[1] = buf[buf.length - 1];
+      }
+      return buf.toString("base64", i, buf.length - n);
+    }
+    function base64End(buf) {
+      var r = buf && buf.length ? this.write(buf) : "";
+      if (this.lastNeed) return r + this.lastChar.toString("base64", 0, 3 - this.lastNeed);
+      return r;
+    }
+    function simpleWrite(buf) {
+      return buf.toString(this.encoding);
+    }
+    function simpleEnd(buf) {
+      return buf && buf.length ? this.write(buf) : "";
+    }
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/lib/_stream_readable.js
+var require_stream_readable = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_readable.js"(exports2, module2) {
+    "use strict";
+    var pna = require_process_nextick_args();
+    module2.exports = Readable2;
+    var isArray = require_isarray();
+    var Duplex;
+    Readable2.ReadableState = ReadableState;
+    var EE = require("events").EventEmitter;
+    var EElistenerCount = function(emitter, type2) {
+      return emitter.listeners(type2).length;
+    };
+    var Stream = require_stream();
+    var Buffer2 = require_safe_buffer().Buffer;
+    var OurUint8Array = (typeof global !== "undefined" ? global : typeof window !== "undefined" ? window : typeof self !== "undefined" ? self : {}).Uint8Array || function() {
+    };
+    function _uint8ArrayToBuffer(chunk) {
+      return Buffer2.from(chunk);
+    }
+    function _isUint8Array(obj) {
+      return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array;
+    }
+    var util = Object.create(require_util20());
+    util.inherits = require_inherits();
+    var debugUtil = require("util");
+    var debug5 = void 0;
+    if (debugUtil && debugUtil.debuglog) {
+      debug5 = debugUtil.debuglog("stream");
+    } else {
+      debug5 = function() {
+      };
+    }
+    var BufferList = require_BufferList();
+    var destroyImpl = require_destroy();
+    var StringDecoder;
+    util.inherits(Readable2, Stream);
+    var kProxyEvents = ["error", "close", "destroy", "pause", "resume"];
+    function prependListener(emitter, event, fn) {
+      if (typeof emitter.prependListener === "function") return emitter.prependListener(event, fn);
+      if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);
+      else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);
+      else emitter._events[event] = [fn, emitter._events[event]];
+    }
+    function ReadableState(options, stream2) {
+      Duplex = Duplex || require_stream_duplex();
+      options = options || {};
+      var isDuplex = stream2 instanceof Duplex;
+      this.objectMode = !!options.objectMode;
+      if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;
+      var hwm = options.highWaterMark;
+      var readableHwm = options.readableHighWaterMark;
+      var defaultHwm = this.objectMode ? 16 : 16 * 1024;
+      if (hwm || hwm === 0) this.highWaterMark = hwm;
+      else if (isDuplex && (readableHwm || readableHwm === 0)) this.highWaterMark = readableHwm;
+      else this.highWaterMark = defaultHwm;
+      this.highWaterMark = Math.floor(this.highWaterMark);
+      this.buffer = new BufferList();
+      this.length = 0;
+      this.pipes = null;
+      this.pipesCount = 0;
+      this.flowing = null;
+      this.ended = false;
+      this.endEmitted = false;
+      this.reading = false;
+      this.sync = true;
+      this.needReadable = false;
+      this.emittedReadable = false;
+      this.readableListening = false;
+      this.resumeScheduled = false;
+      this.destroyed = false;
+      this.defaultEncoding = options.defaultEncoding || "utf8";
+      this.awaitDrain = 0;
+      this.readingMore = false;
+      this.decoder = null;
+      this.encoding = null;
+      if (options.encoding) {
+        if (!StringDecoder) StringDecoder = require_string_decoder().StringDecoder;
+        this.decoder = new StringDecoder(options.encoding);
+        this.encoding = options.encoding;
+      }
+    }
+    function Readable2(options) {
+      Duplex = Duplex || require_stream_duplex();
+      if (!(this instanceof Readable2)) return new Readable2(options);
+      this._readableState = new ReadableState(options, this);
+      this.readable = true;
+      if (options) {
+        if (typeof options.read === "function") this._read = options.read;
+        if (typeof options.destroy === "function") this._destroy = options.destroy;
+      }
+      Stream.call(this);
+    }
+    Object.defineProperty(Readable2.prototype, "destroyed", {
+      get: function() {
+        if (this._readableState === void 0) {
+          return false;
+        }
+        return this._readableState.destroyed;
+      },
+      set: function(value) {
+        if (!this._readableState) {
+          return;
         }
+        this._readableState.destroyed = value;
       }
-      /**
-       * Returns an async iterable iterator to find all blobs with specified tag
-       * under the specified container.
-       *
-       * .byPage() returns an async iterable iterator to list the blobs in pages.
-       *
-       * Example using `for await` syntax:
-       *
-       * ```ts snippet:ReadmeSampleFindBlobsByTags
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       *
-       * // Example using `for await` syntax
-       * let i = 1;
-       * for await (const blob of containerClient.findBlobsByTags("tagkey='tagvalue'")) {
-       *   console.log(`Blob ${i++}: ${blob.name}`);
-       * }
-       *
-       * // Example using `iter.next()` syntax
-       * i = 1;
-       * const iter = containerClient.findBlobsByTags("tagkey='tagvalue'");
-       * let { value, done } = await iter.next();
-       * while (!done) {
-       *   console.log(`Blob ${i++}: ${value.name}`);
-       *   ({ value, done } = await iter.next());
-       * }
-       *
-       * // Example using `byPage()` syntax
-       * i = 1;
-       * for await (const page of containerClient
-       *   .findBlobsByTags("tagkey='tagvalue'")
-       *   .byPage({ maxPageSize: 20 })) {
-       *   for (const blob of page.blobs) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       *
-       * // Example using paging with a marker
-       * i = 1;
-       * let iterator = containerClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 2 });
-       * let response = (await iterator.next()).value;
-       * // Prints 2 blob names
-       * if (response.blobs) {
-       *   for (const blob of response.blobs) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       * // Gets next marker
-       * let marker = response.continuationToken;
-       * // Passing next marker as continuationToken
-       * iterator = containerClient
-       *   .findBlobsByTags("tagkey='tagvalue'")
-       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
-       * response = (await iterator.next()).value;
-       * // Prints 10 blob names
-       * if (response.blobs) {
-       *   for (const blob of response.blobs) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       * ```
-       *
-       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                         The given expression must evaluate to true for a blob to be returned in the results.
-       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param options - Options to find blobs by tags.
-       */
-      findBlobsByTags(tagFilterSqlExpression, options = {}) {
-        const listSegmentOptions = {
-          ...options
-        };
-        const iter = this.findBlobsByTagsItems(tagFilterSqlExpression, listSegmentOptions);
-        return {
-          /**
-           * The next method, part of the iteration protocol
-           */
-          next() {
-            return iter.next();
-          },
-          /**
-           * The connection to the async iterator, part of the iteration protocol
-           */
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          /**
-           * Return an AsyncIterableIterator that works a page at a time
-           */
-          byPage: (settings = {}) => {
-            return this.findBlobsByTagsSegments(tagFilterSqlExpression, settings.continuationToken, {
-              maxPageSize: settings.maxPageSize,
-              ...listSegmentOptions
-            });
+    });
+    Readable2.prototype.destroy = destroyImpl.destroy;
+    Readable2.prototype._undestroy = destroyImpl.undestroy;
+    Readable2.prototype._destroy = function(err, cb) {
+      this.push(null);
+      cb(err);
+    };
+    Readable2.prototype.push = function(chunk, encoding) {
+      var state = this._readableState;
+      var skipChunkCheck;
+      if (!state.objectMode) {
+        if (typeof chunk === "string") {
+          encoding = encoding || state.defaultEncoding;
+          if (encoding !== state.encoding) {
+            chunk = Buffer2.from(chunk, encoding);
+            encoding = "";
           }
-        };
-      }
-      /**
-       * The Get Account Information operation returns the sku name and account kind
-       * for the specified account.
-       * The Get Account Information operation is available on service versions beginning
-       * with version 2018-03-28.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information
-       *
-       * @param options - Options to the Service Get Account Info operation.
-       * @returns Response data for the Service Get Account Info operation.
-       */
-      async getAccountInfo(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-getAccountInfo", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.containerContext.getAccountInfo({
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+          skipChunkCheck = true;
+        }
+      } else {
+        skipChunkCheck = true;
       }
-      getContainerNameFromUrl() {
-        let containerName;
-        try {
-          const parsedUrl = new URL(this.url);
-          if (parsedUrl.hostname.split(".")[1] === "blob") {
-            containerName = parsedUrl.pathname.split("/")[1];
-          } else if ((0, utils_common_js_1.isIpEndpointStyle)(parsedUrl)) {
-            containerName = parsedUrl.pathname.split("/")[2];
-          } else {
-            containerName = parsedUrl.pathname.split("/")[1];
+      return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);
+    };
+    Readable2.prototype.unshift = function(chunk) {
+      return readableAddChunk(this, chunk, null, true, false);
+    };
+    function readableAddChunk(stream2, chunk, encoding, addToFront, skipChunkCheck) {
+      var state = stream2._readableState;
+      if (chunk === null) {
+        state.reading = false;
+        onEofChunk(stream2, state);
+      } else {
+        var er;
+        if (!skipChunkCheck) er = chunkInvalid(state, chunk);
+        if (er) {
+          stream2.emit("error", er);
+        } else if (state.objectMode || chunk && chunk.length > 0) {
+          if (typeof chunk !== "string" && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer2.prototype) {
+            chunk = _uint8ArrayToBuffer(chunk);
           }
-          containerName = decodeURIComponent(containerName);
-          if (!containerName) {
-            throw new Error("Provided containerName is invalid.");
+          if (addToFront) {
+            if (state.endEmitted) stream2.emit("error", new Error("stream.unshift() after end event"));
+            else addChunk(stream2, state, chunk, true);
+          } else if (state.ended) {
+            stream2.emit("error", new Error("stream.push() after EOF"));
+          } else {
+            state.reading = false;
+            if (state.decoder && !encoding) {
+              chunk = state.decoder.write(chunk);
+              if (state.objectMode || chunk.length !== 0) addChunk(stream2, state, chunk, false);
+              else maybeReadMore(stream2, state);
+            } else {
+              addChunk(stream2, state, chunk, false);
+            }
           }
-          return containerName;
-        } catch (error3) {
-          throw new Error("Unable to extract containerName with provided information.");
+        } else if (!addToFront) {
+          state.reading = false;
         }
       }
-      /**
-       * Only available for ContainerClient constructed with a shared key credential.
-       *
-       * Generates a Blob Container Service Shared Access Signature (SAS) URI based on the client properties
-       * and parameters passed in. The SAS is signed by the shared key credential of the client.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateSasUrl(options) {
-        return new Promise((resolve8) => {
-          if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
-            throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
-          }
-          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
-            containerName: this._containerName,
-            ...options
-          }, this.credential).toString();
-          resolve8((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
-        });
+      return needMoreData(state);
+    }
+    function addChunk(stream2, state, chunk, addToFront) {
+      if (state.flowing && state.length === 0 && !state.sync) {
+        stream2.emit("data", chunk);
+        stream2.read(0);
+      } else {
+        state.length += state.objectMode ? 1 : chunk.length;
+        if (addToFront) state.buffer.unshift(chunk);
+        else state.buffer.push(chunk);
+        if (state.needReadable) emitReadable(stream2);
       }
-      /**
-       * Only available for ContainerClient constructed with a shared key credential.
-       *
-       * Generates string to sign for a Blob Container Service Shared Access Signature (SAS) URI
-       * based on the client properties and parameters passed in. The SAS is signed by the shared key credential of the client.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/
-      generateSasStringToSign(options) {
-        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
-          throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
-        }
-        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
-          containerName: this._containerName,
-          ...options
-        }, this.credential).stringToSign;
+      maybeReadMore(stream2, state);
+    }
+    function chunkInvalid(state, chunk) {
+      var er;
+      if (!_isUint8Array(chunk) && typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) {
+        er = new TypeError("Invalid non-string/buffer chunk");
       }
-      /**
-       * Generates a Blob Container Service Shared Access Signature (SAS) URI based on the client properties
-       * and parameters passed in. The SAS is signed by the input user delegation key.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateUserDelegationSasUrl(options, userDelegationKey) {
-        return new Promise((resolve8) => {
-          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
-            containerName: this._containerName,
-            ...options
-          }, userDelegationKey, this.accountName).toString();
-          resolve8((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
-        });
+      return er;
+    }
+    function needMoreData(state) {
+      return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0);
+    }
+    Readable2.prototype.isPaused = function() {
+      return this._readableState.flowing === false;
+    };
+    Readable2.prototype.setEncoding = function(enc) {
+      if (!StringDecoder) StringDecoder = require_string_decoder().StringDecoder;
+      this._readableState.decoder = new StringDecoder(enc);
+      this._readableState.encoding = enc;
+      return this;
+    };
+    var MAX_HWM = 8388608;
+    function computeNewHighWaterMark(n) {
+      if (n >= MAX_HWM) {
+        n = MAX_HWM;
+      } else {
+        n--;
+        n |= n >>> 1;
+        n |= n >>> 2;
+        n |= n >>> 4;
+        n |= n >>> 8;
+        n |= n >>> 16;
+        n++;
       }
-      /**
-       * Generates string to sign for a Blob Container Service Shared Access Signature (SAS) URI
-       * based on the client properties and parameters passed in. The SAS is signed by the input user delegation key.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateUserDelegationSasStringToSign(options, userDelegationKey) {
-        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
-          containerName: this._containerName,
-          ...options
-        }, userDelegationKey, this.accountName).stringToSign;
+      return n;
+    }
+    function howMuchToRead(n, state) {
+      if (n <= 0 || state.length === 0 && state.ended) return 0;
+      if (state.objectMode) return 1;
+      if (n !== n) {
+        if (state.flowing && state.length) return state.buffer.head.data.length;
+        else return state.length;
       }
-      /**
-       * Creates a BlobBatchClient object to conduct batch operations.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch
-       *
-       * @returns A new BlobBatchClient object for this container.
-       */
-      getBlobBatchClient() {
-        return new BlobBatchClient_js_1.BlobBatchClient(this.url, this.pipeline);
+      if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);
+      if (n <= state.length) return n;
+      if (!state.ended) {
+        state.needReadable = true;
+        return 0;
+      }
+      return state.length;
+    }
+    Readable2.prototype.read = function(n) {
+      debug5("read", n);
+      n = parseInt(n, 10);
+      var state = this._readableState;
+      var nOrig = n;
+      if (n !== 0) state.emittedReadable = false;
+      if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) {
+        debug5("read: emitReadable", state.length, state.ended);
+        if (state.length === 0 && state.ended) endReadable(this);
+        else emitReadable(this);
+        return null;
+      }
+      n = howMuchToRead(n, state);
+      if (n === 0 && state.ended) {
+        if (state.length === 0) endReadable(this);
+        return null;
+      }
+      var doRead = state.needReadable;
+      debug5("need readable", doRead);
+      if (state.length === 0 || state.length - n < state.highWaterMark) {
+        doRead = true;
+        debug5("length less than watermark", doRead);
+      }
+      if (state.ended || state.reading) {
+        doRead = false;
+        debug5("reading or ended", doRead);
+      } else if (doRead) {
+        debug5("do read");
+        state.reading = true;
+        state.sync = true;
+        if (state.length === 0) state.needReadable = true;
+        this._read(state.highWaterMark);
+        state.sync = false;
+        if (!state.reading) n = howMuchToRead(nOrig, state);
+      }
+      var ret;
+      if (n > 0) ret = fromList(n, state);
+      else ret = null;
+      if (ret === null) {
+        state.needReadable = true;
+        n = 0;
+      } else {
+        state.length -= n;
+      }
+      if (state.length === 0) {
+        if (!state.ended) state.needReadable = true;
+        if (nOrig !== n && state.ended) endReadable(this);
       }
+      if (ret !== null) this.emit("data", ret);
+      return ret;
     };
-    exports2.ContainerClient = ContainerClient;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASPermissions.js
-var require_AccountSASPermissions = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASPermissions.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AccountSASPermissions = void 0;
-    var AccountSASPermissions = class _AccountSASPermissions {
-      /**
-       * Parse initializes the AccountSASPermissions fields from a string.
-       *
-       * @param permissions -
-       */
-      static parse(permissions) {
-        const accountSASPermissions = new _AccountSASPermissions();
-        for (const c of permissions) {
-          switch (c) {
-            case "r":
-              accountSASPermissions.read = true;
-              break;
-            case "w":
-              accountSASPermissions.write = true;
-              break;
-            case "d":
-              accountSASPermissions.delete = true;
-              break;
-            case "x":
-              accountSASPermissions.deleteVersion = true;
-              break;
-            case "l":
-              accountSASPermissions.list = true;
-              break;
-            case "a":
-              accountSASPermissions.add = true;
-              break;
-            case "c":
-              accountSASPermissions.create = true;
-              break;
-            case "u":
-              accountSASPermissions.update = true;
-              break;
-            case "p":
-              accountSASPermissions.process = true;
-              break;
-            case "t":
-              accountSASPermissions.tag = true;
-              break;
-            case "f":
-              accountSASPermissions.filter = true;
-              break;
-            case "i":
-              accountSASPermissions.setImmutabilityPolicy = true;
-              break;
-            case "y":
-              accountSASPermissions.permanentDelete = true;
-              break;
-            default:
-              throw new RangeError(`Invalid permission character: ${c}`);
-          }
+    function onEofChunk(stream2, state) {
+      if (state.ended) return;
+      if (state.decoder) {
+        var chunk = state.decoder.end();
+        if (chunk && chunk.length) {
+          state.buffer.push(chunk);
+          state.length += state.objectMode ? 1 : chunk.length;
         }
-        return accountSASPermissions;
       }
-      /**
-       * Creates a {@link AccountSASPermissions} from a raw object which contains same keys as it
-       * and boolean values for them.
-       *
-       * @param permissionLike -
-       */
-      static from(permissionLike) {
-        const accountSASPermissions = new _AccountSASPermissions();
-        if (permissionLike.read) {
-          accountSASPermissions.read = true;
-        }
-        if (permissionLike.write) {
-          accountSASPermissions.write = true;
-        }
-        if (permissionLike.delete) {
-          accountSASPermissions.delete = true;
-        }
-        if (permissionLike.deleteVersion) {
-          accountSASPermissions.deleteVersion = true;
-        }
-        if (permissionLike.filter) {
-          accountSASPermissions.filter = true;
-        }
-        if (permissionLike.tag) {
-          accountSASPermissions.tag = true;
-        }
-        if (permissionLike.list) {
-          accountSASPermissions.list = true;
-        }
-        if (permissionLike.add) {
-          accountSASPermissions.add = true;
-        }
-        if (permissionLike.create) {
-          accountSASPermissions.create = true;
-        }
-        if (permissionLike.update) {
-          accountSASPermissions.update = true;
-        }
-        if (permissionLike.process) {
-          accountSASPermissions.process = true;
-        }
-        if (permissionLike.setImmutabilityPolicy) {
-          accountSASPermissions.setImmutabilityPolicy = true;
-        }
-        if (permissionLike.permanentDelete) {
-          accountSASPermissions.permanentDelete = true;
-        }
-        return accountSASPermissions;
+      state.ended = true;
+      emitReadable(stream2);
+    }
+    function emitReadable(stream2) {
+      var state = stream2._readableState;
+      state.needReadable = false;
+      if (!state.emittedReadable) {
+        debug5("emitReadable", state.flowing);
+        state.emittedReadable = true;
+        if (state.sync) pna.nextTick(emitReadable_, stream2);
+        else emitReadable_(stream2);
       }
-      /**
-       * Permission to read resources and list queues and tables granted.
-       */
-      read = false;
-      /**
-       * Permission to write resources granted.
-       */
-      write = false;
-      /**
-       * Permission to delete blobs and files granted.
-       */
-      delete = false;
-      /**
-       * Permission to delete versions granted.
-       */
-      deleteVersion = false;
-      /**
-       * Permission to list blob containers, blobs, shares, directories, and files granted.
-       */
-      list = false;
-      /**
-       * Permission to add messages, table entities, and append to blobs granted.
-       */
-      add = false;
-      /**
-       * Permission to create blobs and files granted.
-       */
-      create = false;
-      /**
-       * Permissions to update messages and table entities granted.
-       */
-      update = false;
-      /**
-       * Permission to get and delete messages granted.
-       */
-      process = false;
-      /**
-       * Specfies Tag access granted.
-       */
-      tag = false;
-      /**
-       * Permission to filter blobs.
-       */
-      filter = false;
-      /**
-       * Permission to set immutability policy.
-       */
-      setImmutabilityPolicy = false;
-      /**
-       * Specifies that Permanent Delete is permitted.
-       */
-      permanentDelete = false;
-      /**
-       * Produces the SAS permissions string for an Azure Storage account.
-       * Call this method to set AccountSASSignatureValues Permissions field.
-       *
-       * Using this method will guarantee the resource types are in
-       * an order accepted by the service.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas
-       *
-       */
-      toString() {
-        const permissions = [];
-        if (this.read) {
-          permissions.push("r");
-        }
-        if (this.write) {
-          permissions.push("w");
-        }
-        if (this.delete) {
-          permissions.push("d");
-        }
-        if (this.deleteVersion) {
-          permissions.push("x");
-        }
-        if (this.filter) {
-          permissions.push("f");
-        }
-        if (this.tag) {
-          permissions.push("t");
-        }
-        if (this.list) {
-          permissions.push("l");
-        }
-        if (this.add) {
-          permissions.push("a");
-        }
-        if (this.create) {
-          permissions.push("c");
-        }
-        if (this.update) {
-          permissions.push("u");
-        }
-        if (this.process) {
-          permissions.push("p");
-        }
-        if (this.setImmutabilityPolicy) {
-          permissions.push("i");
-        }
-        if (this.permanentDelete) {
-          permissions.push("y");
-        }
-        return permissions.join("");
+    }
+    function emitReadable_(stream2) {
+      debug5("emit readable");
+      stream2.emit("readable");
+      flow(stream2);
+    }
+    function maybeReadMore(stream2, state) {
+      if (!state.readingMore) {
+        state.readingMore = true;
+        pna.nextTick(maybeReadMore_, stream2, state);
       }
+    }
+    function maybeReadMore_(stream2, state) {
+      var len = state.length;
+      while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) {
+        debug5("maybeReadMore read 0");
+        stream2.read(0);
+        if (len === state.length)
+          break;
+        else len = state.length;
+      }
+      state.readingMore = false;
+    }
+    Readable2.prototype._read = function(n) {
+      this.emit("error", new Error("_read() is not implemented"));
     };
-    exports2.AccountSASPermissions = AccountSASPermissions;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASResourceTypes.js
-var require_AccountSASResourceTypes = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASResourceTypes.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AccountSASResourceTypes = void 0;
-    var AccountSASResourceTypes = class _AccountSASResourceTypes {
-      /**
-       * Creates an {@link AccountSASResourceTypes} from the specified resource types string. This method will throw an
-       * Error if it encounters a character that does not correspond to a valid resource type.
-       *
-       * @param resourceTypes -
-       */
-      static parse(resourceTypes) {
-        const accountSASResourceTypes = new _AccountSASResourceTypes();
-        for (const c of resourceTypes) {
-          switch (c) {
-            case "s":
-              accountSASResourceTypes.service = true;
-              break;
-            case "c":
-              accountSASResourceTypes.container = true;
-              break;
-            case "o":
-              accountSASResourceTypes.object = true;
-              break;
-            default:
-              throw new RangeError(`Invalid resource type: ${c}`);
+    Readable2.prototype.pipe = function(dest, pipeOpts) {
+      var src = this;
+      var state = this._readableState;
+      switch (state.pipesCount) {
+        case 0:
+          state.pipes = dest;
+          break;
+        case 1:
+          state.pipes = [state.pipes, dest];
+          break;
+        default:
+          state.pipes.push(dest);
+          break;
+      }
+      state.pipesCount += 1;
+      debug5("pipe count=%d opts=%j", state.pipesCount, pipeOpts);
+      var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;
+      var endFn = doEnd ? onend : unpipe;
+      if (state.endEmitted) pna.nextTick(endFn);
+      else src.once("end", endFn);
+      dest.on("unpipe", onunpipe);
+      function onunpipe(readable, unpipeInfo) {
+        debug5("onunpipe");
+        if (readable === src) {
+          if (unpipeInfo && unpipeInfo.hasUnpiped === false) {
+            unpipeInfo.hasUnpiped = true;
+            cleanup();
           }
         }
-        return accountSASResourceTypes;
       }
-      /**
-       * Permission to access service level APIs granted.
-       */
-      service = false;
-      /**
-       * Permission to access container level APIs (Blob Containers, Tables, Queues, File Shares) granted.
-       */
-      container = false;
-      /**
-       * Permission to access object level APIs (Blobs, Table Entities, Queue Messages, Files) granted.
-       */
-      object = false;
-      /**
-       * Converts the given resource types to a string.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas
-       *
-       */
-      toString() {
-        const resourceTypes = [];
-        if (this.service) {
-          resourceTypes.push("s");
+      function onend() {
+        debug5("onend");
+        dest.end();
+      }
+      var ondrain = pipeOnDrain(src);
+      dest.on("drain", ondrain);
+      var cleanedUp = false;
+      function cleanup() {
+        debug5("cleanup");
+        dest.removeListener("close", onclose);
+        dest.removeListener("finish", onfinish);
+        dest.removeListener("drain", ondrain);
+        dest.removeListener("error", onerror);
+        dest.removeListener("unpipe", onunpipe);
+        src.removeListener("end", onend);
+        src.removeListener("end", unpipe);
+        src.removeListener("data", ondata);
+        cleanedUp = true;
+        if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();
+      }
+      var increasedAwaitDrain = false;
+      src.on("data", ondata);
+      function ondata(chunk) {
+        debug5("ondata");
+        increasedAwaitDrain = false;
+        var ret = dest.write(chunk);
+        if (false === ret && !increasedAwaitDrain) {
+          if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {
+            debug5("false write response, pause", state.awaitDrain);
+            state.awaitDrain++;
+            increasedAwaitDrain = true;
+          }
+          src.pause();
         }
-        if (this.container) {
-          resourceTypes.push("c");
+      }
+      function onerror(er) {
+        debug5("onerror", er);
+        unpipe();
+        dest.removeListener("error", onerror);
+        if (EElistenerCount(dest, "error") === 0) dest.emit("error", er);
+      }
+      prependListener(dest, "error", onerror);
+      function onclose() {
+        dest.removeListener("finish", onfinish);
+        unpipe();
+      }
+      dest.once("close", onclose);
+      function onfinish() {
+        debug5("onfinish");
+        dest.removeListener("close", onclose);
+        unpipe();
+      }
+      dest.once("finish", onfinish);
+      function unpipe() {
+        debug5("unpipe");
+        src.unpipe(dest);
+      }
+      dest.emit("pipe", src);
+      if (!state.flowing) {
+        debug5("pipe resume");
+        src.resume();
+      }
+      return dest;
+    };
+    function pipeOnDrain(src) {
+      return function() {
+        var state = src._readableState;
+        debug5("pipeOnDrain", state.awaitDrain);
+        if (state.awaitDrain) state.awaitDrain--;
+        if (state.awaitDrain === 0 && EElistenerCount(src, "data")) {
+          state.flowing = true;
+          flow(src);
         }
-        if (this.object) {
-          resourceTypes.push("o");
+      };
+    }
+    Readable2.prototype.unpipe = function(dest) {
+      var state = this._readableState;
+      var unpipeInfo = { hasUnpiped: false };
+      if (state.pipesCount === 0) return this;
+      if (state.pipesCount === 1) {
+        if (dest && dest !== state.pipes) return this;
+        if (!dest) dest = state.pipes;
+        state.pipes = null;
+        state.pipesCount = 0;
+        state.flowing = false;
+        if (dest) dest.emit("unpipe", this, unpipeInfo);
+        return this;
+      }
+      if (!dest) {
+        var dests = state.pipes;
+        var len = state.pipesCount;
+        state.pipes = null;
+        state.pipesCount = 0;
+        state.flowing = false;
+        for (var i = 0; i < len; i++) {
+          dests[i].emit("unpipe", this, { hasUnpiped: false });
         }
-        return resourceTypes.join("");
+        return this;
       }
+      var index = indexOf(state.pipes, dest);
+      if (index === -1) return this;
+      state.pipes.splice(index, 1);
+      state.pipesCount -= 1;
+      if (state.pipesCount === 1) state.pipes = state.pipes[0];
+      dest.emit("unpipe", this, unpipeInfo);
+      return this;
     };
-    exports2.AccountSASResourceTypes = AccountSASResourceTypes;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASServices.js
-var require_AccountSASServices = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASServices.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AccountSASServices = void 0;
-    var AccountSASServices = class _AccountSASServices {
-      /**
-       * Creates an {@link AccountSASServices} from the specified services string. This method will throw an
-       * Error if it encounters a character that does not correspond to a valid service.
-       *
-       * @param services -
-       */
-      static parse(services) {
-        const accountSASServices = new _AccountSASServices();
-        for (const c of services) {
-          switch (c) {
-            case "b":
-              accountSASServices.blob = true;
-              break;
-            case "f":
-              accountSASServices.file = true;
-              break;
-            case "q":
-              accountSASServices.queue = true;
-              break;
-            case "t":
-              accountSASServices.table = true;
-              break;
-            default:
-              throw new RangeError(`Invalid service character: ${c}`);
+    Readable2.prototype.on = function(ev, fn) {
+      var res = Stream.prototype.on.call(this, ev, fn);
+      if (ev === "data") {
+        if (this._readableState.flowing !== false) this.resume();
+      } else if (ev === "readable") {
+        var state = this._readableState;
+        if (!state.endEmitted && !state.readableListening) {
+          state.readableListening = state.needReadable = true;
+          state.emittedReadable = false;
+          if (!state.reading) {
+            pna.nextTick(nReadingNextTick, this);
+          } else if (state.length) {
+            emitReadable(this);
           }
         }
-        return accountSASServices;
       }
-      /**
-       * Permission to access blob resources granted.
-       */
-      blob = false;
-      /**
-       * Permission to access file resources granted.
-       */
-      file = false;
-      /**
-       * Permission to access queue resources granted.
-       */
-      queue = false;
-      /**
-       * Permission to access table resources granted.
-       */
-      table = false;
-      /**
-       * Converts the given services to a string.
-       *
-       */
-      toString() {
-        const services = [];
-        if (this.blob) {
-          services.push("b");
-        }
-        if (this.table) {
-          services.push("t");
-        }
-        if (this.queue) {
-          services.push("q");
-        }
-        if (this.file) {
-          services.push("f");
-        }
-        return services.join("");
+      return res;
+    };
+    Readable2.prototype.addListener = Readable2.prototype.on;
+    function nReadingNextTick(self2) {
+      debug5("readable nexttick read 0");
+      self2.read(0);
+    }
+    Readable2.prototype.resume = function() {
+      var state = this._readableState;
+      if (!state.flowing) {
+        debug5("resume");
+        state.flowing = true;
+        resume(this, state);
       }
+      return this;
     };
-    exports2.AccountSASServices = AccountSASServices;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASSignatureValues.js
-var require_AccountSASSignatureValues = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASSignatureValues.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.generateAccountSASQueryParameters = generateAccountSASQueryParameters;
-    exports2.generateAccountSASQueryParametersInternal = generateAccountSASQueryParametersInternal;
-    var AccountSASPermissions_js_1 = require_AccountSASPermissions();
-    var AccountSASResourceTypes_js_1 = require_AccountSASResourceTypes();
-    var AccountSASServices_js_1 = require_AccountSASServices();
-    var SasIPRange_js_1 = require_SasIPRange();
-    var SASQueryParameters_js_1 = require_SASQueryParameters();
-    var constants_js_1 = require_constants15();
-    var utils_common_js_1 = require_utils_common();
-    function generateAccountSASQueryParameters(accountSASSignatureValues, sharedKeyCredential) {
-      return generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential).sasQueryParameters;
+    function resume(stream2, state) {
+      if (!state.resumeScheduled) {
+        state.resumeScheduled = true;
+        pna.nextTick(resume_, stream2, state);
+      }
     }
-    function generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential) {
-      const version = accountSASSignatureValues.version ? accountSASSignatureValues.version : constants_js_1.SERVICE_VERSION;
-      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.setImmutabilityPolicy && version < "2020-08-04") {
-        throw RangeError("'version' must be >= '2020-08-04' when provided 'i' permission.");
+    function resume_(stream2, state) {
+      if (!state.reading) {
+        debug5("resume read 0");
+        stream2.read(0);
       }
-      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.deleteVersion && version < "2019-10-10") {
-        throw RangeError("'version' must be >= '2019-10-10' when provided 'x' permission.");
+      state.resumeScheduled = false;
+      state.awaitDrain = 0;
+      stream2.emit("resume");
+      flow(stream2);
+      if (state.flowing && !state.reading) stream2.read(0);
+    }
+    Readable2.prototype.pause = function() {
+      debug5("call pause flowing=%j", this._readableState.flowing);
+      if (false !== this._readableState.flowing) {
+        debug5("pause");
+        this._readableState.flowing = false;
+        this.emit("pause");
       }
-      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.permanentDelete && version < "2019-10-10") {
-        throw RangeError("'version' must be >= '2019-10-10' when provided 'y' permission.");
+      return this;
+    };
+    function flow(stream2) {
+      var state = stream2._readableState;
+      debug5("flow", state.flowing);
+      while (state.flowing && stream2.read() !== null) {
+      }
+    }
+    Readable2.prototype.wrap = function(stream2) {
+      var _this = this;
+      var state = this._readableState;
+      var paused = false;
+      stream2.on("end", function() {
+        debug5("wrapped end");
+        if (state.decoder && !state.ended) {
+          var chunk = state.decoder.end();
+          if (chunk && chunk.length) _this.push(chunk);
+        }
+        _this.push(null);
+      });
+      stream2.on("data", function(chunk) {
+        debug5("wrapped data");
+        if (state.decoder) chunk = state.decoder.write(chunk);
+        if (state.objectMode && (chunk === null || chunk === void 0)) return;
+        else if (!state.objectMode && (!chunk || !chunk.length)) return;
+        var ret = _this.push(chunk);
+        if (!ret) {
+          paused = true;
+          stream2.pause();
+        }
+      });
+      for (var i in stream2) {
+        if (this[i] === void 0 && typeof stream2[i] === "function") {
+          this[i] = /* @__PURE__ */ (function(method) {
+            return function() {
+              return stream2[method].apply(stream2, arguments);
+            };
+          })(i);
+        }
       }
-      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.tag && version < "2019-12-12") {
-        throw RangeError("'version' must be >= '2019-12-12' when provided 't' permission.");
+      for (var n = 0; n < kProxyEvents.length; n++) {
+        stream2.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));
       }
-      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.filter && version < "2019-12-12") {
-        throw RangeError("'version' must be >= '2019-12-12' when provided 'f' permission.");
+      this._read = function(n2) {
+        debug5("wrapped _read", n2);
+        if (paused) {
+          paused = false;
+          stream2.resume();
+        }
+      };
+      return this;
+    };
+    Object.defineProperty(Readable2.prototype, "readableHighWaterMark", {
+      // making it explicit this property is not enumerable
+      // because otherwise some prototype manipulation in
+      // userland will fail
+      enumerable: false,
+      get: function() {
+        return this._readableState.highWaterMark;
       }
-      if (accountSASSignatureValues.encryptionScope && version < "2020-12-06") {
-        throw RangeError("'version' must be >= '2020-12-06' when provided 'encryptionScope' in SAS.");
+    });
+    Readable2._fromList = fromList;
+    function fromList(n, state) {
+      if (state.length === 0) return null;
+      var ret;
+      if (state.objectMode) ret = state.buffer.shift();
+      else if (!n || n >= state.length) {
+        if (state.decoder) ret = state.buffer.join("");
+        else if (state.buffer.length === 1) ret = state.buffer.head.data;
+        else ret = state.buffer.concat(state.length);
+        state.buffer.clear();
+      } else {
+        ret = fromListPartial(n, state.buffer, state.decoder);
       }
-      const parsedPermissions = AccountSASPermissions_js_1.AccountSASPermissions.parse(accountSASSignatureValues.permissions.toString());
-      const parsedServices = AccountSASServices_js_1.AccountSASServices.parse(accountSASSignatureValues.services).toString();
-      const parsedResourceTypes = AccountSASResourceTypes_js_1.AccountSASResourceTypes.parse(accountSASSignatureValues.resourceTypes).toString();
-      let stringToSign;
-      if (version >= "2020-12-06") {
-        stringToSign = [
-          sharedKeyCredential.accountName,
-          parsedPermissions,
-          parsedServices,
-          parsedResourceTypes,
-          accountSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.startsOn, false) : "",
-          (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.expiresOn, false),
-          accountSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(accountSASSignatureValues.ipRange) : "",
-          accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : "",
-          version,
-          accountSASSignatureValues.encryptionScope ? accountSASSignatureValues.encryptionScope : "",
-          ""
-          // Account SAS requires an additional newline character
-        ].join("\n");
+      return ret;
+    }
+    function fromListPartial(n, list, hasStrings) {
+      var ret;
+      if (n < list.head.data.length) {
+        ret = list.head.data.slice(0, n);
+        list.head.data = list.head.data.slice(n);
+      } else if (n === list.head.data.length) {
+        ret = list.shift();
       } else {
-        stringToSign = [
-          sharedKeyCredential.accountName,
-          parsedPermissions,
-          parsedServices,
-          parsedResourceTypes,
-          accountSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.startsOn, false) : "",
-          (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.expiresOn, false),
-          accountSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(accountSASSignatureValues.ipRange) : "",
-          accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : "",
-          version,
-          ""
-          // Account SAS requires an additional newline character
-        ].join("\n");
+        ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list);
       }
-      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(version, signature, parsedPermissions.toString(), parsedServices, parsedResourceTypes, accountSASSignatureValues.protocol, accountSASSignatureValues.startsOn, accountSASSignatureValues.expiresOn, accountSASSignatureValues.ipRange, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, accountSASSignatureValues.encryptionScope),
-        stringToSign
-      };
+      return ret;
     }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/BlobServiceClient.js
-var require_BlobServiceClient = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BlobServiceClient.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobServiceClient = void 0;
-    var core_auth_1 = require_commonjs7();
-    var core_rest_pipeline_1 = require_commonjs6();
-    var core_util_1 = require_commonjs4();
-    var Pipeline_js_1 = require_Pipeline();
-    var ContainerClient_js_1 = require_ContainerClient();
-    var utils_common_js_1 = require_utils_common();
-    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
-    var AnonymousCredential_js_1 = require_AnonymousCredential();
-    var utils_common_js_2 = require_utils_common();
-    var tracing_js_1 = require_tracing();
-    var BlobBatchClient_js_1 = require_BlobBatchClient();
-    var StorageClient_js_1 = require_StorageClient();
-    var AccountSASPermissions_js_1 = require_AccountSASPermissions();
-    var AccountSASSignatureValues_js_1 = require_AccountSASSignatureValues();
-    var AccountSASServices_js_1 = require_AccountSASServices();
-    var BlobServiceClient = class _BlobServiceClient extends StorageClient_js_1.StorageClient {
-      /**
-       * serviceContext provided by protocol layer.
-       */
-      serviceContext;
-      /**
-       *
-       * Creates an instance of BlobServiceClient from connection string.
-       *
-       * @param connectionString - Account connection string or a SAS connection string of an Azure storage account.
-       *                                  [ Note - Account connection string can only be used in NODE.JS runtime. ]
-       *                                  Account connection string example -
-       *                                  `DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=accountKey;EndpointSuffix=core.windows.net`
-       *                                  SAS connection string example -
-       *                                  `BlobEndpoint=https://myaccount.blob.core.windows.net/;QueueEndpoint=https://myaccount.queue.core.windows.net/;FileEndpoint=https://myaccount.file.core.windows.net/;TableEndpoint=https://myaccount.table.core.windows.net/;SharedAccessSignature=sasString`
-       * @param options - Optional. Options to configure the HTTP pipeline.
-       */
-      static fromConnectionString(connectionString, options) {
-        options = options || {};
-        const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(connectionString);
-        if (extractedCreds.kind === "AccountConnString") {
-          if (core_util_1.isNodeLike) {
-            const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
-            if (!options.proxyOptions) {
-              options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
-            }
-            const pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
-            return new _BlobServiceClient(extractedCreds.url, pipeline);
+    function copyFromBufferString(n, list) {
+      var p = list.head;
+      var c = 1;
+      var ret = p.data;
+      n -= ret.length;
+      while (p = p.next) {
+        var str2 = p.data;
+        var nb = n > str2.length ? str2.length : n;
+        if (nb === str2.length) ret += str2;
+        else ret += str2.slice(0, n);
+        n -= nb;
+        if (n === 0) {
+          if (nb === str2.length) {
+            ++c;
+            if (p.next) list.head = p.next;
+            else list.head = list.tail = null;
           } else {
-            throw new Error("Account connection string is only supported in Node.js environment");
+            list.head = p;
+            p.data = str2.slice(nb);
           }
-        } else if (extractedCreds.kind === "SASConnString") {
-          const pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-          return new _BlobServiceClient(extractedCreds.url + "?" + extractedCreds.accountSas, pipeline);
-        } else {
-          throw new Error("Connection string must be either an Account connection string or a SAS connection string");
+          break;
         }
+        ++c;
       }
-      constructor(url2, credentialOrPipeline, options) {
-        let pipeline;
-        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipeline)) {
-          pipeline = credentialOrPipeline;
-        } else if (core_util_1.isNodeLike && credentialOrPipeline instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipeline instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipeline)) {
-          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipeline, options);
-        } else {
-          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+      list.length -= c;
+      return ret;
+    }
+    function copyFromBuffer(n, list) {
+      var ret = Buffer2.allocUnsafe(n);
+      var p = list.head;
+      var c = 1;
+      p.data.copy(ret);
+      n -= p.data.length;
+      while (p = p.next) {
+        var buf = p.data;
+        var nb = n > buf.length ? buf.length : n;
+        buf.copy(ret, ret.length - n, 0, nb);
+        n -= nb;
+        if (n === 0) {
+          if (nb === buf.length) {
+            ++c;
+            if (p.next) list.head = p.next;
+            else list.head = list.tail = null;
+          } else {
+            list.head = p;
+            p.data = buf.slice(nb);
+          }
+          break;
         }
-        super(url2, pipeline);
-        this.serviceContext = this.storageClientContext.service;
-      }
-      /**
-       * Creates a {@link ContainerClient} object
-       *
-       * @param containerName - A container name
-       * @returns A new ContainerClient object for the given container name.
-       *
-       * Example usage:
-       *
-       * ```ts snippet:BlobServiceClientGetContainerClient
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerClient = blobServiceClient.getContainerClient("");
-       * ```
-       */
-      getContainerClient(containerName) {
-        return new ContainerClient_js_1.ContainerClient((0, utils_common_js_1.appendToURLPath)(this.url, encodeURIComponent(containerName)), this.pipeline);
+        ++c;
       }
-      /**
-       * Create a Blob container. @see https://learn.microsoft.com/rest/api/storageservices/create-container
-       *
-       * @param containerName - Name of the container to create.
-       * @param options - Options to configure Container Create operation.
-       * @returns Container creation response and the corresponding container client.
-       */
-      async createContainer(containerName, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-createContainer", options, async (updatedOptions) => {
-          const containerClient = this.getContainerClient(containerName);
-          const containerCreateResponse = await containerClient.create(updatedOptions);
-          return {
-            containerClient,
-            containerCreateResponse
-          };
-        });
+      list.length -= c;
+      return ret;
+    }
+    function endReadable(stream2) {
+      var state = stream2._readableState;
+      if (state.length > 0) throw new Error('"endReadable()" called on non-empty stream');
+      if (!state.endEmitted) {
+        state.ended = true;
+        pna.nextTick(endReadableNT, state, stream2);
       }
-      /**
-       * Deletes a Blob container.
-       *
-       * @param containerName - Name of the container to delete.
-       * @param options - Options to configure Container Delete operation.
-       * @returns Container deletion response.
-       */
-      async deleteContainer(containerName, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-deleteContainer", options, async (updatedOptions) => {
-          const containerClient = this.getContainerClient(containerName);
-          return containerClient.delete(updatedOptions);
-        });
+    }
+    function endReadableNT(state, stream2) {
+      if (!state.endEmitted && state.length === 0) {
+        state.endEmitted = true;
+        stream2.readable = false;
+        stream2.emit("end");
       }
-      /**
-       * Restore a previously deleted Blob container.
-       * This API is only functional if Container Soft Delete is enabled for the storage account associated with the container.
-       *
-       * @param deletedContainerName - Name of the previously deleted container.
-       * @param deletedContainerVersion - Version of the previously deleted container, used to uniquely identify the deleted container.
-       * @param options - Options to configure Container Restore operation.
-       * @returns Container deletion response.
-       */
-      async undeleteContainer(deletedContainerName, deletedContainerVersion, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-undeleteContainer", options, async (updatedOptions) => {
-          const containerClient = this.getContainerClient(options.destinationContainerName || deletedContainerName);
-          const containerContext = containerClient["storageClientContext"].container;
-          const containerUndeleteResponse = (0, utils_common_js_2.assertResponse)(await containerContext.restore({
-            deletedContainerName,
-            deletedContainerVersion,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          return { containerClient, containerUndeleteResponse };
-        });
+    }
+    function indexOf(xs, x) {
+      for (var i = 0, l = xs.length; i < l; i++) {
+        if (xs[i] === x) return i;
       }
-      /**
-       * Gets the properties of a storage account’s Blob service, including properties
-       * for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-properties
-       *
-       * @param options - Options to the Service Get Properties operation.
-       * @returns Response data for the Service Get Properties operation.
-       */
-      async getProperties(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getProperties", options, async (updatedOptions) => {
-          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getProperties({
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      return -1;
+    }
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/lib/_stream_transform.js
+var require_stream_transform = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_transform.js"(exports2, module2) {
+    "use strict";
+    module2.exports = Transform;
+    var Duplex = require_stream_duplex();
+    var util = Object.create(require_util20());
+    util.inherits = require_inherits();
+    util.inherits(Transform, Duplex);
+    function afterTransform(er, data) {
+      var ts = this._transformState;
+      ts.transforming = false;
+      var cb = ts.writecb;
+      if (!cb) {
+        return this.emit("error", new Error("write callback called multiple times"));
       }
-      /**
-       * Sets properties for a storage account’s Blob service endpoint, including properties
-       * for Storage Analytics, CORS (Cross-Origin Resource Sharing) rules and soft delete settings.
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-service-properties
-       *
-       * @param properties -
-       * @param options - Options to the Service Set Properties operation.
-       * @returns Response data for the Service Set Properties operation.
-       */
-      async setProperties(properties, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-setProperties", options, async (updatedOptions) => {
-          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.setProperties(properties, {
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      ts.writechunk = null;
+      ts.writecb = null;
+      if (data != null)
+        this.push(data);
+      cb(er);
+      var rs = this._readableState;
+      rs.reading = false;
+      if (rs.needReadable || rs.length < rs.highWaterMark) {
+        this._read(rs.highWaterMark);
       }
-      /**
-       * Retrieves statistics related to replication for the Blob service. It is only
-       * available on the secondary location endpoint when read-access geo-redundant
-       * replication is enabled for the storage account.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-stats
-       *
-       * @param options - Options to the Service Get Statistics operation.
-       * @returns Response data for the Service Get Statistics operation.
-       */
-      async getStatistics(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getStatistics", options, async (updatedOptions) => {
-          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getStatistics({
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+    }
+    function Transform(options) {
+      if (!(this instanceof Transform)) return new Transform(options);
+      Duplex.call(this, options);
+      this._transformState = {
+        afterTransform: afterTransform.bind(this),
+        needTransform: false,
+        transforming: false,
+        writecb: null,
+        writechunk: null,
+        writeencoding: null
+      };
+      this._readableState.needReadable = true;
+      this._readableState.sync = false;
+      if (options) {
+        if (typeof options.transform === "function") this._transform = options.transform;
+        if (typeof options.flush === "function") this._flush = options.flush;
       }
-      /**
-       * The Get Account Information operation returns the sku name and account kind
-       * for the specified account.
-       * The Get Account Information operation is available on service versions beginning
-       * with version 2018-03-28.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information
-       *
-       * @param options - Options to the Service Get Account Info operation.
-       * @returns Response data for the Service Get Account Info operation.
-       */
-      async getAccountInfo(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getAccountInfo", options, async (updatedOptions) => {
-          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getAccountInfo({
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
+      this.on("prefinish", prefinish);
+    }
+    function prefinish() {
+      var _this = this;
+      if (typeof this._flush === "function") {
+        this._flush(function(er, data) {
+          done(_this, er, data);
         });
+      } else {
+        done(this, null, null);
       }
-      /**
-       * Returns a list of the containers under the specified account.
-       * @see https://learn.microsoft.com/rest/api/storageservices/list-containers2
-       *
-       * @param marker - A string value that identifies the portion of
-       *                        the list of containers to be returned with the next listing operation. The
-       *                        operation returns the continuationToken value within the response body if the
-       *                        listing operation did not return all containers remaining to be listed
-       *                        with the current page. The continuationToken value can be used as the value for
-       *                        the marker parameter in a subsequent call to request the next page of list
-       *                        items. The marker value is opaque to the client.
-       * @param options - Options to the Service List Container Segment operation.
-       * @returns Response data for the Service List Container Segment operation.
-       */
-      async listContainersSegment(marker, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-listContainersSegment", options, async (updatedOptions) => {
-          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.listContainersSegment({
-            abortSignal: options.abortSignal,
-            marker,
-            ...options,
-            include: typeof options.include === "string" ? [options.include] : options.include,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+    }
+    Transform.prototype.push = function(chunk, encoding) {
+      this._transformState.needTransform = false;
+      return Duplex.prototype.push.call(this, chunk, encoding);
+    };
+    Transform.prototype._transform = function(chunk, encoding, cb) {
+      throw new Error("_transform() is not implemented");
+    };
+    Transform.prototype._write = function(chunk, encoding, cb) {
+      var ts = this._transformState;
+      ts.writecb = cb;
+      ts.writechunk = chunk;
+      ts.writeencoding = encoding;
+      if (!ts.transforming) {
+        var rs = this._readableState;
+        if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);
       }
-      /**
-       * The Filter Blobs operation enables callers to list blobs across all containers whose tags
-       * match a given search expression. Filter blobs searches across all containers within a
-       * storage account but can be scoped within the expression to a single container.
-       *
-       * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                        The given expression must evaluate to true for a blob to be returned in the results.
-       *                                        The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                        however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param marker - A string value that identifies the portion of
-       *                          the list of blobs to be returned with the next listing operation. The
-       *                          operation returns the continuationToken value within the response body if the
-       *                          listing operation did not return all blobs remaining to be listed
-       *                          with the current page. The continuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of list
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to find blobs by tags.
-       */
-      async findBlobsByTagsSegment(tagFilterSqlExpression, marker, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-findBlobsByTagsSegment", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_2.assertResponse)(await this.serviceContext.filterBlobs({
-            abortSignal: options.abortSignal,
-            where: tagFilterSqlExpression,
-            marker,
-            maxPageSize: options.maxPageSize,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const wrappedResponse = {
-            ...response,
-            _response: response._response,
-            // _response is made non-enumerable
-            blobs: response.blobs.map((blob) => {
-              let tagValue = "";
-              if (blob.tags?.blobTagSet.length === 1) {
-                tagValue = blob.tags.blobTagSet[0].value;
-              }
-              return { ...blob, tags: (0, utils_common_js_1.toTags)(blob.tags), tagValue };
-            })
-          };
-          return wrappedResponse;
-        });
+    };
+    Transform.prototype._read = function(n) {
+      var ts = this._transformState;
+      if (ts.writechunk !== null && ts.writecb && !ts.transforming) {
+        ts.transforming = true;
+        this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);
+      } else {
+        ts.needTransform = true;
       }
-      /**
-       * Returns an AsyncIterableIterator for ServiceFindBlobsByTagsSegmentResponse.
-       *
-       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                         The given expression must evaluate to true for a blob to be returned in the results.
-       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param marker - A string value that identifies the portion of
-       *                          the list of blobs to be returned with the next listing operation. The
-       *                          operation returns the continuationToken value within the response body if the
-       *                          listing operation did not return all blobs remaining to be listed
-       *                          with the current page. The continuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of list
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to find blobs by tags.
-       */
-      async *findBlobsByTagsSegments(tagFilterSqlExpression, marker, options = {}) {
-        let response;
-        if (!!marker || marker === void 0) {
-          do {
-            response = await this.findBlobsByTagsSegment(tagFilterSqlExpression, marker, options);
-            response.blobs = response.blobs || [];
-            marker = response.continuationToken;
-            yield response;
-          } while (marker);
-        }
+    };
+    Transform.prototype._destroy = function(err, cb) {
+      var _this2 = this;
+      Duplex.prototype._destroy.call(this, err, function(err2) {
+        cb(err2);
+        _this2.emit("close");
+      });
+    };
+    function done(stream2, er, data) {
+      if (er) return stream2.emit("error", er);
+      if (data != null)
+        stream2.push(data);
+      if (stream2._writableState.length) throw new Error("Calling transform done when ws.length != 0");
+      if (stream2._transformState.transforming) throw new Error("Calling transform done when still transforming");
+      return stream2.push(null);
+    }
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/lib/_stream_passthrough.js
+var require_stream_passthrough = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_passthrough.js"(exports2, module2) {
+    "use strict";
+    module2.exports = PassThrough;
+    var Transform = require_stream_transform();
+    var util = Object.create(require_util20());
+    util.inherits = require_inherits();
+    util.inherits(PassThrough, Transform);
+    function PassThrough(options) {
+      if (!(this instanceof PassThrough)) return new PassThrough(options);
+      Transform.call(this, options);
+    }
+    PassThrough.prototype._transform = function(chunk, encoding, cb) {
+      cb(null, chunk);
+    };
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/readable.js
+var require_readable3 = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/readable.js"(exports2, module2) {
+    var Stream = require("stream");
+    if (process.env.READABLE_STREAM === "disable" && Stream) {
+      module2.exports = Stream;
+      exports2 = module2.exports = Stream.Readable;
+      exports2.Readable = Stream.Readable;
+      exports2.Writable = Stream.Writable;
+      exports2.Duplex = Stream.Duplex;
+      exports2.Transform = Stream.Transform;
+      exports2.PassThrough = Stream.PassThrough;
+      exports2.Stream = Stream;
+    } else {
+      exports2 = module2.exports = require_stream_readable();
+      exports2.Stream = Stream || exports2;
+      exports2.Readable = exports2;
+      exports2.Writable = require_stream_writable();
+      exports2.Duplex = require_stream_duplex();
+      exports2.Transform = require_stream_transform();
+      exports2.PassThrough = require_stream_passthrough();
+    }
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/passthrough.js
+var require_passthrough = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/passthrough.js"(exports2, module2) {
+    module2.exports = require_readable3().PassThrough;
+  }
+});
+
+// node_modules/lazystream/lib/lazystream.js
+var require_lazystream = __commonJS({
+  "node_modules/lazystream/lib/lazystream.js"(exports2, module2) {
+    var util = require("util");
+    var PassThrough = require_passthrough();
+    module2.exports = {
+      Readable: Readable2,
+      Writable
+    };
+    util.inherits(Readable2, PassThrough);
+    util.inherits(Writable, PassThrough);
+    function beforeFirstCall(instance, method, callback) {
+      instance[method] = function() {
+        delete instance[method];
+        callback.apply(this, arguments);
+        return this[method].apply(this, arguments);
+      };
+    }
+    function Readable2(fn, options) {
+      if (!(this instanceof Readable2))
+        return new Readable2(fn, options);
+      PassThrough.call(this, options);
+      beforeFirstCall(this, "_read", function() {
+        var source = fn.call(this, options);
+        var emit = this.emit.bind(this, "error");
+        source.on("error", emit);
+        source.pipe(this);
+      });
+      this.emit("readable");
+    }
+    function Writable(fn, options) {
+      if (!(this instanceof Writable))
+        return new Writable(fn, options);
+      PassThrough.call(this, options);
+      beforeFirstCall(this, "_write", function() {
+        var destination = fn.call(this, options);
+        var emit = this.emit.bind(this, "error");
+        destination.on("error", emit);
+        this.pipe(destination);
+      });
+      this.emit("writable");
+    }
+  }
+});
+
+// node_modules/normalize-path/index.js
+var require_normalize_path = __commonJS({
+  "node_modules/normalize-path/index.js"(exports2, module2) {
+    module2.exports = function(path16, stripTrailing) {
+      if (typeof path16 !== "string") {
+        throw new TypeError("expected path to be a string");
       }
-      /**
-       * Returns an AsyncIterableIterator for blobs.
-       *
-       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                         The given expression must evaluate to true for a blob to be returned in the results.
-       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param options - Options to findBlobsByTagsItems.
-       */
-      async *findBlobsByTagsItems(tagFilterSqlExpression, options = {}) {
-        let marker;
-        for await (const segment of this.findBlobsByTagsSegments(tagFilterSqlExpression, marker, options)) {
-          yield* segment.blobs;
+      if (path16 === "\\" || path16 === "/") return "/";
+      var len = path16.length;
+      if (len <= 1) return path16;
+      var prefix = "";
+      if (len > 4 && path16[3] === "\\") {
+        var ch = path16[2];
+        if ((ch === "?" || ch === ".") && path16.slice(0, 2) === "\\\\") {
+          path16 = path16.slice(2);
+          prefix = "//";
         }
       }
-      /**
-       * Returns an async iterable iterator to find all blobs with specified tag
-       * under the specified account.
-       *
-       * .byPage() returns an async iterable iterator to list the blobs in pages.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-properties
-       *
-       * ```ts snippet:BlobServiceClientFindBlobsByTags
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * // Use for await to iterate the blobs
-       * let i = 1;
-       * for await (const blob of blobServiceClient.findBlobsByTags("tagkey='tagvalue'")) {
-       *   console.log(`Blob ${i++}: ${blob.name}`);
-       * }
-       *
-       * // Use iter.next() to iterate the blobs
-       * i = 1;
-       * const iter = blobServiceClient.findBlobsByTags("tagkey='tagvalue'");
-       * let { value, done } = await iter.next();
-       * while (!done) {
-       *   console.log(`Blob ${i++}: ${value.name}`);
-       *   ({ value, done } = await iter.next());
-       * }
-       *
-       * // Use byPage() to iterate the blobs
-       * i = 1;
-       * for await (const page of blobServiceClient
-       *   .findBlobsByTags("tagkey='tagvalue'")
-       *   .byPage({ maxPageSize: 20 })) {
-       *   for (const blob of page.blobs) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       *
-       * // Use paging with a marker
-       * i = 1;
-       * let iterator = blobServiceClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 2 });
-       * let response = (await iterator.next()).value;
-       * // Prints 2 blob names
-       * if (response.blobs) {
-       *   for (const blob of response.blobs) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       * // Gets next marker
-       * let marker = response.continuationToken;
-       * // Passing next marker as continuationToken
-       * iterator = blobServiceClient
-       *   .findBlobsByTags("tagkey='tagvalue'")
-       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
-       * response = (await iterator.next()).value;
-       *
-       * // Prints blob names
-       * if (response.blobs) {
-       *   for (const blob of response.blobs) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       * ```
-       *
-       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                         The given expression must evaluate to true for a blob to be returned in the results.
-       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param options - Options to find blobs by tags.
-       */
-      findBlobsByTags(tagFilterSqlExpression, options = {}) {
-        const listSegmentOptions = {
-          ...options
-        };
-        const iter = this.findBlobsByTagsItems(tagFilterSqlExpression, listSegmentOptions);
-        return {
-          /**
-           * The next method, part of the iteration protocol
-           */
-          next() {
-            return iter.next();
-          },
-          /**
-           * The connection to the async iterator, part of the iteration protocol
-           */
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          /**
-           * Return an AsyncIterableIterator that works a page at a time
-           */
-          byPage: (settings = {}) => {
-            return this.findBlobsByTagsSegments(tagFilterSqlExpression, settings.continuationToken, {
-              maxPageSize: settings.maxPageSize,
-              ...listSegmentOptions
-            });
-          }
-        };
-      }
-      /**
-       * Returns an AsyncIterableIterator for ServiceListContainersSegmentResponses
-       *
-       * @param marker - A string value that identifies the portion of
-       *                        the list of containers to be returned with the next listing operation. The
-       *                        operation returns the continuationToken value within the response body if the
-       *                        listing operation did not return all containers remaining to be listed
-       *                        with the current page. The continuationToken value can be used as the value for
-       *                        the marker parameter in a subsequent call to request the next page of list
-       *                        items. The marker value is opaque to the client.
-       * @param options - Options to list containers operation.
-       */
-      async *listSegments(marker, options = {}) {
-        let listContainersSegmentResponse;
-        if (!!marker || marker === void 0) {
-          do {
-            listContainersSegmentResponse = await this.listContainersSegment(marker, options);
-            listContainersSegmentResponse.containerItems = listContainersSegmentResponse.containerItems || [];
-            marker = listContainersSegmentResponse.continuationToken;
-            yield await listContainersSegmentResponse;
-          } while (marker);
-        }
+      var segs = path16.split(/[/\\]+/);
+      if (stripTrailing !== false && segs[segs.length - 1] === "") {
+        segs.pop();
       }
-      /**
-       * Returns an AsyncIterableIterator for Container Items
-       *
-       * @param options - Options to list containers operation.
-       */
-      async *listItems(options = {}) {
-        let marker;
-        for await (const segment of this.listSegments(marker, options)) {
-          yield* segment.containerItems;
-        }
+      return prefix + segs.join("/");
+    };
+  }
+});
+
+// node_modules/lodash/identity.js
+var require_identity = __commonJS({
+  "node_modules/lodash/identity.js"(exports2, module2) {
+    function identity(value) {
+      return value;
+    }
+    module2.exports = identity;
+  }
+});
+
+// node_modules/lodash/_apply.js
+var require_apply = __commonJS({
+  "node_modules/lodash/_apply.js"(exports2, module2) {
+    function apply(func, thisArg, args) {
+      switch (args.length) {
+        case 0:
+          return func.call(thisArg);
+        case 1:
+          return func.call(thisArg, args[0]);
+        case 2:
+          return func.call(thisArg, args[0], args[1]);
+        case 3:
+          return func.call(thisArg, args[0], args[1], args[2]);
       }
-      /**
-       * Returns an async iterable iterator to list all the containers
-       * under the specified account.
-       *
-       * .byPage() returns an async iterable iterator to list the containers in pages.
-       *
-       * ```ts snippet:BlobServiceClientListContainers
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * // Use for await to iterate the containers
-       * let i = 1;
-       * for await (const container of blobServiceClient.listContainers()) {
-       *   console.log(`Container ${i++}: ${container.name}`);
-       * }
-       *
-       * // Use iter.next() to iterate the containers
-       * i = 1;
-       * const iter = blobServiceClient.listContainers();
-       * let { value, done } = await iter.next();
-       * while (!done) {
-       *   console.log(`Container ${i++}: ${value.name}`);
-       *   ({ value, done } = await iter.next());
-       * }
-       *
-       * // Use byPage() to iterate the containers
-       * i = 1;
-       * for await (const page of blobServiceClient.listContainers().byPage({ maxPageSize: 20 })) {
-       *   for (const container of page.containerItems) {
-       *     console.log(`Container ${i++}: ${container.name}`);
-       *   }
-       * }
-       *
-       * // Use paging with a marker
-       * i = 1;
-       * let iterator = blobServiceClient.listContainers().byPage({ maxPageSize: 2 });
-       * let response = (await iterator.next()).value;
-       *
-       * // Prints 2 container names
-       * if (response.containerItems) {
-       *   for (const container of response.containerItems) {
-       *     console.log(`Container ${i++}: ${container.name}`);
-       *   }
-       * }
-       *
-       * // Gets next marker
-       * let marker = response.continuationToken;
-       * // Passing next marker as continuationToken
-       * iterator = blobServiceClient
-       *   .listContainers()
-       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
-       * response = (await iterator.next()).value;
-       *
-       * // Prints 10 container names
-       * if (response.containerItems) {
-       *   for (const container of response.containerItems) {
-       *     console.log(`Container ${i++}: ${container.name}`);
-       *   }
-       * }
-       * ```
-       *
-       * @param options - Options to list containers.
-       * @returns An asyncIterableIterator that supports paging.
-       */
-      listContainers(options = {}) {
-        if (options.prefix === "") {
-          options.prefix = void 0;
-        }
-        const include = [];
-        if (options.includeDeleted) {
-          include.push("deleted");
-        }
-        if (options.includeMetadata) {
-          include.push("metadata");
+      return func.apply(thisArg, args);
+    }
+    module2.exports = apply;
+  }
+});
+
+// node_modules/lodash/_overRest.js
+var require_overRest = __commonJS({
+  "node_modules/lodash/_overRest.js"(exports2, module2) {
+    var apply = require_apply();
+    var nativeMax = Math.max;
+    function overRest(func, start, transform) {
+      start = nativeMax(start === void 0 ? func.length - 1 : start, 0);
+      return function() {
+        var args = arguments, index = -1, length = nativeMax(args.length - start, 0), array = Array(length);
+        while (++index < length) {
+          array[index] = args[start + index];
         }
-        if (options.includeSystem) {
-          include.push("system");
+        index = -1;
+        var otherArgs = Array(start + 1);
+        while (++index < start) {
+          otherArgs[index] = args[index];
         }
-        const listSegmentOptions = {
-          ...options,
-          ...include.length > 0 ? { include } : {}
-        };
-        const iter = this.listItems(listSegmentOptions);
-        return {
-          /**
-           * The next method, part of the iteration protocol
-           */
-          next() {
-            return iter.next();
-          },
-          /**
-           * The connection to the async iterator, part of the iteration protocol
-           */
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          /**
-           * Return an AsyncIterableIterator that works a page at a time
-           */
-          byPage: (settings = {}) => {
-            return this.listSegments(settings.continuationToken, {
-              maxPageSize: settings.maxPageSize,
-              ...listSegmentOptions
-            });
-          }
-        };
+        otherArgs[start] = transform(array);
+        return apply(func, this, otherArgs);
+      };
+    }
+    module2.exports = overRest;
+  }
+});
+
+// node_modules/lodash/constant.js
+var require_constant = __commonJS({
+  "node_modules/lodash/constant.js"(exports2, module2) {
+    function constant(value) {
+      return function() {
+        return value;
+      };
+    }
+    module2.exports = constant;
+  }
+});
+
+// node_modules/lodash/_freeGlobal.js
+var require_freeGlobal = __commonJS({
+  "node_modules/lodash/_freeGlobal.js"(exports2, module2) {
+    var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
+    module2.exports = freeGlobal;
+  }
+});
+
+// node_modules/lodash/_root.js
+var require_root = __commonJS({
+  "node_modules/lodash/_root.js"(exports2, module2) {
+    var freeGlobal = require_freeGlobal();
+    var freeSelf = typeof self == "object" && self && self.Object === Object && self;
+    var root = freeGlobal || freeSelf || Function("return this")();
+    module2.exports = root;
+  }
+});
+
+// node_modules/lodash/_Symbol.js
+var require_Symbol = __commonJS({
+  "node_modules/lodash/_Symbol.js"(exports2, module2) {
+    var root = require_root();
+    var Symbol2 = root.Symbol;
+    module2.exports = Symbol2;
+  }
+});
+
+// node_modules/lodash/_getRawTag.js
+var require_getRawTag = __commonJS({
+  "node_modules/lodash/_getRawTag.js"(exports2, module2) {
+    var Symbol2 = require_Symbol();
+    var objectProto = Object.prototype;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    var nativeObjectToString = objectProto.toString;
+    var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0;
+    function getRawTag(value) {
+      var isOwn = hasOwnProperty.call(value, symToStringTag), tag = value[symToStringTag];
+      try {
+        value[symToStringTag] = void 0;
+        var unmasked = true;
+      } catch (e) {
       }
-      /**
-       * ONLY AVAILABLE WHEN USING BEARER TOKEN AUTHENTICATION (TokenCredential).
-       *
-       * Retrieves a user delegation key for the Blob service. This is only a valid operation when using
-       * bearer token authentication.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-user-delegation-key
-       *
-       * @param startsOn -      The start time for the user delegation SAS. Must be within 7 days of the current time
-       * @param expiresOn -     The end time for the user delegation SAS. Must be within 7 days of the current time
-       */
-      async getUserDelegationKey(startsOn, expiresOn, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getUserDelegationKey", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_2.assertResponse)(await this.serviceContext.getUserDelegationKey({
-            startsOn: (0, utils_common_js_2.truncatedISO8061Date)(startsOn, false),
-            expiresOn: (0, utils_common_js_2.truncatedISO8061Date)(expiresOn, false)
-          }, {
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const userDelegationKey = {
-            signedObjectId: response.signedObjectId,
-            signedTenantId: response.signedTenantId,
-            signedStartsOn: new Date(response.signedStartsOn),
-            signedExpiresOn: new Date(response.signedExpiresOn),
-            signedService: response.signedService,
-            signedVersion: response.signedVersion,
-            value: response.value
-          };
-          const res = {
-            _response: response._response,
-            requestId: response.requestId,
-            clientRequestId: response.clientRequestId,
-            version: response.version,
-            date: response.date,
-            errorCode: response.errorCode,
-            ...userDelegationKey
-          };
-          return res;
-        });
+      var result = nativeObjectToString.call(value);
+      if (unmasked) {
+        if (isOwn) {
+          value[symToStringTag] = tag;
+        } else {
+          delete value[symToStringTag];
+        }
       }
-      /**
-       * Creates a BlobBatchClient object to conduct batch operations.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch
-       *
-       * @returns A new BlobBatchClient object for this service.
-       */
-      getBlobBatchClient() {
-        return new BlobBatchClient_js_1.BlobBatchClient(this.url, this.pipeline);
+      return result;
+    }
+    module2.exports = getRawTag;
+  }
+});
+
+// node_modules/lodash/_objectToString.js
+var require_objectToString = __commonJS({
+  "node_modules/lodash/_objectToString.js"(exports2, module2) {
+    var objectProto = Object.prototype;
+    var nativeObjectToString = objectProto.toString;
+    function objectToString(value) {
+      return nativeObjectToString.call(value);
+    }
+    module2.exports = objectToString;
+  }
+});
+
+// node_modules/lodash/_baseGetTag.js
+var require_baseGetTag = __commonJS({
+  "node_modules/lodash/_baseGetTag.js"(exports2, module2) {
+    var Symbol2 = require_Symbol();
+    var getRawTag = require_getRawTag();
+    var objectToString = require_objectToString();
+    var nullTag = "[object Null]";
+    var undefinedTag = "[object Undefined]";
+    var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0;
+    function baseGetTag(value) {
+      if (value == null) {
+        return value === void 0 ? undefinedTag : nullTag;
       }
-      /**
-       * Only available for BlobServiceClient constructed with a shared key credential.
-       *
-       * Generates a Blob account Shared Access Signature (SAS) URI based on the client properties
-       * and parameters passed in. The SAS is signed by the shared key credential of the client.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/create-account-sas
-       *
-       * @param expiresOn - Optional. The time at which the shared access signature becomes invalid. Default to an hour later if not provided.
-       * @param permissions - Specifies the list of permissions to be associated with the SAS.
-       * @param resourceTypes - Specifies the resource types associated with the shared access signature.
-       * @param options - Optional parameters.
-       * @returns An account SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateAccountSasUrl(expiresOn, permissions = AccountSASPermissions_js_1.AccountSASPermissions.parse("r"), resourceTypes = "sco", options = {}) {
-        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
-          throw RangeError("Can only generate the account SAS when the client is initialized with a shared key credential");
+      return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);
+    }
+    module2.exports = baseGetTag;
+  }
+});
+
+// node_modules/lodash/isObject.js
+var require_isObject = __commonJS({
+  "node_modules/lodash/isObject.js"(exports2, module2) {
+    function isObject2(value) {
+      var type2 = typeof value;
+      return value != null && (type2 == "object" || type2 == "function");
+    }
+    module2.exports = isObject2;
+  }
+});
+
+// node_modules/lodash/isFunction.js
+var require_isFunction = __commonJS({
+  "node_modules/lodash/isFunction.js"(exports2, module2) {
+    var baseGetTag = require_baseGetTag();
+    var isObject2 = require_isObject();
+    var asyncTag = "[object AsyncFunction]";
+    var funcTag = "[object Function]";
+    var genTag = "[object GeneratorFunction]";
+    var proxyTag = "[object Proxy]";
+    function isFunction(value) {
+      if (!isObject2(value)) {
+        return false;
+      }
+      var tag = baseGetTag(value);
+      return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
+    }
+    module2.exports = isFunction;
+  }
+});
+
+// node_modules/lodash/_coreJsData.js
+var require_coreJsData = __commonJS({
+  "node_modules/lodash/_coreJsData.js"(exports2, module2) {
+    var root = require_root();
+    var coreJsData = root["__core-js_shared__"];
+    module2.exports = coreJsData;
+  }
+});
+
+// node_modules/lodash/_isMasked.js
+var require_isMasked = __commonJS({
+  "node_modules/lodash/_isMasked.js"(exports2, module2) {
+    var coreJsData = require_coreJsData();
+    var maskSrcKey = (function() {
+      var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || "");
+      return uid ? "Symbol(src)_1." + uid : "";
+    })();
+    function isMasked(func) {
+      return !!maskSrcKey && maskSrcKey in func;
+    }
+    module2.exports = isMasked;
+  }
+});
+
+// node_modules/lodash/_toSource.js
+var require_toSource = __commonJS({
+  "node_modules/lodash/_toSource.js"(exports2, module2) {
+    var funcProto = Function.prototype;
+    var funcToString = funcProto.toString;
+    function toSource(func) {
+      if (func != null) {
+        try {
+          return funcToString.call(func);
+        } catch (e) {
         }
-        if (expiresOn === void 0) {
-          const now = /* @__PURE__ */ new Date();
-          expiresOn = new Date(now.getTime() + 3600 * 1e3);
+        try {
+          return func + "";
+        } catch (e) {
         }
-        const sas = (0, AccountSASSignatureValues_js_1.generateAccountSASQueryParameters)({
-          permissions,
-          expiresOn,
-          resourceTypes,
-          services: AccountSASServices_js_1.AccountSASServices.parse("b").toString(),
-          ...options
-        }, this.credential).toString();
-        return (0, utils_common_js_1.appendToURLQuery)(this.url, sas);
       }
-      /**
-       * Only available for BlobServiceClient constructed with a shared key credential.
-       *
-       * Generates string to sign for a Blob account Shared Access Signature (SAS) URI based on
-       * the client properties and parameters passed in. The SAS is signed by the shared key credential of the client.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/create-account-sas
-       *
-       * @param expiresOn - Optional. The time at which the shared access signature becomes invalid. Default to an hour later if not provided.
-       * @param permissions - Specifies the list of permissions to be associated with the SAS.
-       * @param resourceTypes - Specifies the resource types associated with the shared access signature.
-       * @param options - Optional parameters.
-       * @returns An account SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateSasStringToSign(expiresOn, permissions = AccountSASPermissions_js_1.AccountSASPermissions.parse("r"), resourceTypes = "sco", options = {}) {
-        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
-          throw RangeError("Can only generate the account SAS when the client is initialized with a shared key credential");
-        }
-        if (expiresOn === void 0) {
-          const now = /* @__PURE__ */ new Date();
-          expiresOn = new Date(now.getTime() + 3600 * 1e3);
+      return "";
+    }
+    module2.exports = toSource;
+  }
+});
+
+// node_modules/lodash/_baseIsNative.js
+var require_baseIsNative = __commonJS({
+  "node_modules/lodash/_baseIsNative.js"(exports2, module2) {
+    var isFunction = require_isFunction();
+    var isMasked = require_isMasked();
+    var isObject2 = require_isObject();
+    var toSource = require_toSource();
+    var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
+    var reIsHostCtor = /^\[object .+?Constructor\]$/;
+    var funcProto = Function.prototype;
+    var objectProto = Object.prototype;
+    var funcToString = funcProto.toString;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    var reIsNative = RegExp(
+      "^" + funcToString.call(hasOwnProperty).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
+    );
+    function baseIsNative(value) {
+      if (!isObject2(value) || isMasked(value)) {
+        return false;
+      }
+      var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
+      return pattern.test(toSource(value));
+    }
+    module2.exports = baseIsNative;
+  }
+});
+
+// node_modules/lodash/_getValue.js
+var require_getValue = __commonJS({
+  "node_modules/lodash/_getValue.js"(exports2, module2) {
+    function getValue(object, key) {
+      return object == null ? void 0 : object[key];
+    }
+    module2.exports = getValue;
+  }
+});
+
+// node_modules/lodash/_getNative.js
+var require_getNative = __commonJS({
+  "node_modules/lodash/_getNative.js"(exports2, module2) {
+    var baseIsNative = require_baseIsNative();
+    var getValue = require_getValue();
+    function getNative(object, key) {
+      var value = getValue(object, key);
+      return baseIsNative(value) ? value : void 0;
+    }
+    module2.exports = getNative;
+  }
+});
+
+// node_modules/lodash/_defineProperty.js
+var require_defineProperty = __commonJS({
+  "node_modules/lodash/_defineProperty.js"(exports2, module2) {
+    var getNative = require_getNative();
+    var defineProperty = (function() {
+      try {
+        var func = getNative(Object, "defineProperty");
+        func({}, "", {});
+        return func;
+      } catch (e) {
+      }
+    })();
+    module2.exports = defineProperty;
+  }
+});
+
+// node_modules/lodash/_baseSetToString.js
+var require_baseSetToString = __commonJS({
+  "node_modules/lodash/_baseSetToString.js"(exports2, module2) {
+    var constant = require_constant();
+    var defineProperty = require_defineProperty();
+    var identity = require_identity();
+    var baseSetToString = !defineProperty ? identity : function(func, string) {
+      return defineProperty(func, "toString", {
+        "configurable": true,
+        "enumerable": false,
+        "value": constant(string),
+        "writable": true
+      });
+    };
+    module2.exports = baseSetToString;
+  }
+});
+
+// node_modules/lodash/_shortOut.js
+var require_shortOut = __commonJS({
+  "node_modules/lodash/_shortOut.js"(exports2, module2) {
+    var HOT_COUNT = 800;
+    var HOT_SPAN = 16;
+    var nativeNow = Date.now;
+    function shortOut(func) {
+      var count = 0, lastCalled = 0;
+      return function() {
+        var stamp = nativeNow(), remaining = HOT_SPAN - (stamp - lastCalled);
+        lastCalled = stamp;
+        if (remaining > 0) {
+          if (++count >= HOT_COUNT) {
+            return arguments[0];
+          }
+        } else {
+          count = 0;
         }
-        return (0, AccountSASSignatureValues_js_1.generateAccountSASQueryParametersInternal)({
-          permissions,
-          expiresOn,
-          resourceTypes,
-          services: AccountSASServices_js_1.AccountSASServices.parse("b").toString(),
-          ...options
-        }, this.credential).stringToSign;
+        return func.apply(void 0, arguments);
+      };
+    }
+    module2.exports = shortOut;
+  }
+});
+
+// node_modules/lodash/_setToString.js
+var require_setToString = __commonJS({
+  "node_modules/lodash/_setToString.js"(exports2, module2) {
+    var baseSetToString = require_baseSetToString();
+    var shortOut = require_shortOut();
+    var setToString = shortOut(baseSetToString);
+    module2.exports = setToString;
+  }
+});
+
+// node_modules/lodash/_baseRest.js
+var require_baseRest = __commonJS({
+  "node_modules/lodash/_baseRest.js"(exports2, module2) {
+    var identity = require_identity();
+    var overRest = require_overRest();
+    var setToString = require_setToString();
+    function baseRest(func, start) {
+      return setToString(overRest(func, start, identity), func + "");
+    }
+    module2.exports = baseRest;
+  }
+});
+
+// node_modules/lodash/eq.js
+var require_eq2 = __commonJS({
+  "node_modules/lodash/eq.js"(exports2, module2) {
+    function eq(value, other) {
+      return value === other || value !== value && other !== other;
+    }
+    module2.exports = eq;
+  }
+});
+
+// node_modules/lodash/isLength.js
+var require_isLength = __commonJS({
+  "node_modules/lodash/isLength.js"(exports2, module2) {
+    var MAX_SAFE_INTEGER = 9007199254740991;
+    function isLength(value) {
+      return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
+    }
+    module2.exports = isLength;
+  }
+});
+
+// node_modules/lodash/isArrayLike.js
+var require_isArrayLike = __commonJS({
+  "node_modules/lodash/isArrayLike.js"(exports2, module2) {
+    var isFunction = require_isFunction();
+    var isLength = require_isLength();
+    function isArrayLike(value) {
+      return value != null && isLength(value.length) && !isFunction(value);
+    }
+    module2.exports = isArrayLike;
+  }
+});
+
+// node_modules/lodash/_isIndex.js
+var require_isIndex = __commonJS({
+  "node_modules/lodash/_isIndex.js"(exports2, module2) {
+    var MAX_SAFE_INTEGER = 9007199254740991;
+    var reIsUint = /^(?:0|[1-9]\d*)$/;
+    function isIndex(value, length) {
+      var type2 = typeof value;
+      length = length == null ? MAX_SAFE_INTEGER : length;
+      return !!length && (type2 == "number" || type2 != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length);
+    }
+    module2.exports = isIndex;
+  }
+});
+
+// node_modules/lodash/_isIterateeCall.js
+var require_isIterateeCall = __commonJS({
+  "node_modules/lodash/_isIterateeCall.js"(exports2, module2) {
+    var eq = require_eq2();
+    var isArrayLike = require_isArrayLike();
+    var isIndex = require_isIndex();
+    var isObject2 = require_isObject();
+    function isIterateeCall(value, index, object) {
+      if (!isObject2(object)) {
+        return false;
+      }
+      var type2 = typeof index;
+      if (type2 == "number" ? isArrayLike(object) && isIndex(index, object.length) : type2 == "string" && index in object) {
+        return eq(object[index], value);
+      }
+      return false;
+    }
+    module2.exports = isIterateeCall;
+  }
+});
+
+// node_modules/lodash/_baseTimes.js
+var require_baseTimes = __commonJS({
+  "node_modules/lodash/_baseTimes.js"(exports2, module2) {
+    function baseTimes(n, iteratee) {
+      var index = -1, result = Array(n);
+      while (++index < n) {
+        result[index] = iteratee(index);
       }
+      return result;
+    }
+    module2.exports = baseTimes;
+  }
+});
+
+// node_modules/lodash/isObjectLike.js
+var require_isObjectLike = __commonJS({
+  "node_modules/lodash/isObjectLike.js"(exports2, module2) {
+    function isObjectLike(value) {
+      return value != null && typeof value == "object";
+    }
+    module2.exports = isObjectLike;
+  }
+});
+
+// node_modules/lodash/_baseIsArguments.js
+var require_baseIsArguments = __commonJS({
+  "node_modules/lodash/_baseIsArguments.js"(exports2, module2) {
+    var baseGetTag = require_baseGetTag();
+    var isObjectLike = require_isObjectLike();
+    var argsTag = "[object Arguments]";
+    function baseIsArguments(value) {
+      return isObjectLike(value) && baseGetTag(value) == argsTag;
+    }
+    module2.exports = baseIsArguments;
+  }
+});
+
+// node_modules/lodash/isArguments.js
+var require_isArguments = __commonJS({
+  "node_modules/lodash/isArguments.js"(exports2, module2) {
+    var baseIsArguments = require_baseIsArguments();
+    var isObjectLike = require_isObjectLike();
+    var objectProto = Object.prototype;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    var propertyIsEnumerable = objectProto.propertyIsEnumerable;
+    var isArguments = baseIsArguments(/* @__PURE__ */ (function() {
+      return arguments;
+    })()) ? baseIsArguments : function(value) {
+      return isObjectLike(value) && hasOwnProperty.call(value, "callee") && !propertyIsEnumerable.call(value, "callee");
     };
-    exports2.BlobServiceClient = BlobServiceClient;
+    module2.exports = isArguments;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/BatchResponse.js
-var require_BatchResponse = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BatchResponse.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
+// node_modules/lodash/isArray.js
+var require_isArray = __commonJS({
+  "node_modules/lodash/isArray.js"(exports2, module2) {
+    var isArray = Array.isArray;
+    module2.exports = isArray;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generatedModels.js
-var require_generatedModels = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generatedModels.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.KnownEncryptionAlgorithmType = void 0;
-    var KnownEncryptionAlgorithmType;
-    (function(KnownEncryptionAlgorithmType2) {
-      KnownEncryptionAlgorithmType2["AES256"] = "AES256";
-    })(KnownEncryptionAlgorithmType || (exports2.KnownEncryptionAlgorithmType = KnownEncryptionAlgorithmType = {}));
+// node_modules/lodash/stubFalse.js
+var require_stubFalse = __commonJS({
+  "node_modules/lodash/stubFalse.js"(exports2, module2) {
+    function stubFalse() {
+      return false;
+    }
+    module2.exports = stubFalse;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/index.js
-var require_commonjs15 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.logger = exports2.RestError = exports2.BaseRequestPolicy = exports2.StorageOAuthScopes = exports2.newPipeline = exports2.isPipelineLike = exports2.Pipeline = exports2.getBlobServiceAccountAudience = exports2.StorageBlobAudience = exports2.PremiumPageBlobTier = exports2.BlockBlobTier = exports2.generateBlobSASQueryParameters = exports2.generateAccountSASQueryParameters = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var core_rest_pipeline_1 = require_commonjs6();
-    Object.defineProperty(exports2, "RestError", { enumerable: true, get: function() {
-      return core_rest_pipeline_1.RestError;
-    } });
-    tslib_1.__exportStar(require_BlobServiceClient(), exports2);
-    tslib_1.__exportStar(require_Clients(), exports2);
-    tslib_1.__exportStar(require_ContainerClient(), exports2);
-    tslib_1.__exportStar(require_BlobLeaseClient(), exports2);
-    tslib_1.__exportStar(require_AccountSASPermissions(), exports2);
-    tslib_1.__exportStar(require_AccountSASResourceTypes(), exports2);
-    tslib_1.__exportStar(require_AccountSASServices(), exports2);
-    var AccountSASSignatureValues_js_1 = require_AccountSASSignatureValues();
-    Object.defineProperty(exports2, "generateAccountSASQueryParameters", { enumerable: true, get: function() {
-      return AccountSASSignatureValues_js_1.generateAccountSASQueryParameters;
-    } });
-    tslib_1.__exportStar(require_BlobBatch(), exports2);
-    tslib_1.__exportStar(require_BlobBatchClient(), exports2);
-    tslib_1.__exportStar(require_BatchResponse(), exports2);
-    tslib_1.__exportStar(require_BlobSASPermissions(), exports2);
-    var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues();
-    Object.defineProperty(exports2, "generateBlobSASQueryParameters", { enumerable: true, get: function() {
-      return BlobSASSignatureValues_js_1.generateBlobSASQueryParameters;
-    } });
-    tslib_1.__exportStar(require_StorageBrowserPolicyFactory2(), exports2);
-    tslib_1.__exportStar(require_ContainerSASPermissions(), exports2);
-    tslib_1.__exportStar(require_AnonymousCredential(), exports2);
-    tslib_1.__exportStar(require_Credential(), exports2);
-    tslib_1.__exportStar(require_StorageSharedKeyCredential(), exports2);
-    var models_js_1 = require_models2();
-    Object.defineProperty(exports2, "BlockBlobTier", { enumerable: true, get: function() {
-      return models_js_1.BlockBlobTier;
-    } });
-    Object.defineProperty(exports2, "PremiumPageBlobTier", { enumerable: true, get: function() {
-      return models_js_1.PremiumPageBlobTier;
-    } });
-    Object.defineProperty(exports2, "StorageBlobAudience", { enumerable: true, get: function() {
-      return models_js_1.StorageBlobAudience;
-    } });
-    Object.defineProperty(exports2, "getBlobServiceAccountAudience", { enumerable: true, get: function() {
-      return models_js_1.getBlobServiceAccountAudience;
-    } });
-    var Pipeline_js_1 = require_Pipeline();
-    Object.defineProperty(exports2, "Pipeline", { enumerable: true, get: function() {
-      return Pipeline_js_1.Pipeline;
-    } });
-    Object.defineProperty(exports2, "isPipelineLike", { enumerable: true, get: function() {
-      return Pipeline_js_1.isPipelineLike;
-    } });
-    Object.defineProperty(exports2, "newPipeline", { enumerable: true, get: function() {
-      return Pipeline_js_1.newPipeline;
-    } });
-    Object.defineProperty(exports2, "StorageOAuthScopes", { enumerable: true, get: function() {
-      return Pipeline_js_1.StorageOAuthScopes;
-    } });
-    tslib_1.__exportStar(require_StorageRetryPolicyFactory(), exports2);
-    var RequestPolicy_js_1 = require_RequestPolicy();
-    Object.defineProperty(exports2, "BaseRequestPolicy", { enumerable: true, get: function() {
-      return RequestPolicy_js_1.BaseRequestPolicy;
-    } });
-    tslib_1.__exportStar(require_AnonymousCredentialPolicy(), exports2);
-    tslib_1.__exportStar(require_CredentialPolicy(), exports2);
-    tslib_1.__exportStar(require_StorageRetryPolicyFactory(), exports2);
-    tslib_1.__exportStar(require_StorageSharedKeyCredentialPolicy(), exports2);
-    tslib_1.__exportStar(require_SASQueryParameters(), exports2);
-    tslib_1.__exportStar(require_generatedModels(), exports2);
-    var log_js_1 = require_log5();
-    Object.defineProperty(exports2, "logger", { enumerable: true, get: function() {
-      return log_js_1.logger;
-    } });
+// node_modules/lodash/isBuffer.js
+var require_isBuffer = __commonJS({
+  "node_modules/lodash/isBuffer.js"(exports2, module2) {
+    var root = require_root();
+    var stubFalse = require_stubFalse();
+    var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2;
+    var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2;
+    var moduleExports = freeModule && freeModule.exports === freeExports;
+    var Buffer2 = moduleExports ? root.Buffer : void 0;
+    var nativeIsBuffer = Buffer2 ? Buffer2.isBuffer : void 0;
+    var isBuffer = nativeIsBuffer || stubFalse;
+    module2.exports = isBuffer;
   }
 });
 
-// node_modules/@actions/cache/lib/internal/shared/errors.js
-var require_errors3 = __commonJS({
-  "node_modules/@actions/cache/lib/internal/shared/errors.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.RateLimitError = exports2.UsageError = exports2.NetworkError = exports2.GHESNotSupportedError = exports2.CacheNotFoundError = exports2.InvalidResponseError = exports2.FilesNotFoundError = void 0;
-    var FilesNotFoundError = class extends Error {
-      constructor(files = []) {
-        let message = "No files were found to upload";
-        if (files.length > 0) {
-          message += `: ${files.join(", ")}`;
+// node_modules/lodash/_baseIsTypedArray.js
+var require_baseIsTypedArray = __commonJS({
+  "node_modules/lodash/_baseIsTypedArray.js"(exports2, module2) {
+    var baseGetTag = require_baseGetTag();
+    var isLength = require_isLength();
+    var isObjectLike = require_isObjectLike();
+    var argsTag = "[object Arguments]";
+    var arrayTag = "[object Array]";
+    var boolTag = "[object Boolean]";
+    var dateTag = "[object Date]";
+    var errorTag = "[object Error]";
+    var funcTag = "[object Function]";
+    var mapTag = "[object Map]";
+    var numberTag = "[object Number]";
+    var objectTag = "[object Object]";
+    var regexpTag = "[object RegExp]";
+    var setTag = "[object Set]";
+    var stringTag = "[object String]";
+    var weakMapTag = "[object WeakMap]";
+    var arrayBufferTag = "[object ArrayBuffer]";
+    var dataViewTag = "[object DataView]";
+    var float32Tag = "[object Float32Array]";
+    var float64Tag = "[object Float64Array]";
+    var int8Tag = "[object Int8Array]";
+    var int16Tag = "[object Int16Array]";
+    var int32Tag = "[object Int32Array]";
+    var uint8Tag = "[object Uint8Array]";
+    var uint8ClampedTag = "[object Uint8ClampedArray]";
+    var uint16Tag = "[object Uint16Array]";
+    var uint32Tag = "[object Uint32Array]";
+    var typedArrayTags = {};
+    typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;
+    typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;
+    function baseIsTypedArray(value) {
+      return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)];
+    }
+    module2.exports = baseIsTypedArray;
+  }
+});
+
+// node_modules/lodash/_baseUnary.js
+var require_baseUnary = __commonJS({
+  "node_modules/lodash/_baseUnary.js"(exports2, module2) {
+    function baseUnary(func) {
+      return function(value) {
+        return func(value);
+      };
+    }
+    module2.exports = baseUnary;
+  }
+});
+
+// node_modules/lodash/_nodeUtil.js
+var require_nodeUtil = __commonJS({
+  "node_modules/lodash/_nodeUtil.js"(exports2, module2) {
+    var freeGlobal = require_freeGlobal();
+    var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2;
+    var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2;
+    var moduleExports = freeModule && freeModule.exports === freeExports;
+    var freeProcess = moduleExports && freeGlobal.process;
+    var nodeUtil = (function() {
+      try {
+        var types = freeModule && freeModule.require && freeModule.require("util").types;
+        if (types) {
+          return types;
         }
-        super(message);
-        this.files = files;
-        this.name = "FilesNotFoundError";
+        return freeProcess && freeProcess.binding && freeProcess.binding("util");
+      } catch (e) {
       }
-    };
-    exports2.FilesNotFoundError = FilesNotFoundError;
-    var InvalidResponseError = class extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "InvalidResponseError";
+    })();
+    module2.exports = nodeUtil;
+  }
+});
+
+// node_modules/lodash/isTypedArray.js
+var require_isTypedArray = __commonJS({
+  "node_modules/lodash/isTypedArray.js"(exports2, module2) {
+    var baseIsTypedArray = require_baseIsTypedArray();
+    var baseUnary = require_baseUnary();
+    var nodeUtil = require_nodeUtil();
+    var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
+    var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
+    module2.exports = isTypedArray;
+  }
+});
+
+// node_modules/lodash/_arrayLikeKeys.js
+var require_arrayLikeKeys = __commonJS({
+  "node_modules/lodash/_arrayLikeKeys.js"(exports2, module2) {
+    var baseTimes = require_baseTimes();
+    var isArguments = require_isArguments();
+    var isArray = require_isArray();
+    var isBuffer = require_isBuffer();
+    var isIndex = require_isIndex();
+    var isTypedArray = require_isTypedArray();
+    var objectProto = Object.prototype;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    function arrayLikeKeys(value, inherited) {
+      var isArr = isArray(value), isArg = !isArr && isArguments(value), isBuff = !isArr && !isArg && isBuffer(value), isType = !isArr && !isArg && !isBuff && isTypedArray(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length = result.length;
+      for (var key in value) {
+        if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && // Safari 9 has enumerable `arguments.length` in strict mode.
+        (key == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
+        isBuff && (key == "offset" || key == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
+        isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || // Skip index properties.
+        isIndex(key, length)))) {
+          result.push(key);
+        }
       }
-    };
-    exports2.InvalidResponseError = InvalidResponseError;
-    var CacheNotFoundError = class extends Error {
-      constructor(message = "Cache not found") {
-        super(message);
-        this.name = "CacheNotFoundError";
+      return result;
+    }
+    module2.exports = arrayLikeKeys;
+  }
+});
+
+// node_modules/lodash/_isPrototype.js
+var require_isPrototype = __commonJS({
+  "node_modules/lodash/_isPrototype.js"(exports2, module2) {
+    var objectProto = Object.prototype;
+    function isPrototype(value) {
+      var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto;
+      return value === proto;
+    }
+    module2.exports = isPrototype;
+  }
+});
+
+// node_modules/lodash/_nativeKeysIn.js
+var require_nativeKeysIn = __commonJS({
+  "node_modules/lodash/_nativeKeysIn.js"(exports2, module2) {
+    function nativeKeysIn(object) {
+      var result = [];
+      if (object != null) {
+        for (var key in Object(object)) {
+          result.push(key);
+        }
       }
-    };
-    exports2.CacheNotFoundError = CacheNotFoundError;
-    var GHESNotSupportedError = class extends Error {
-      constructor(message = "@actions/cache v4.1.4+, actions/cache/save@v4+ and actions/cache/restore@v4+ are not currently supported on GHES.") {
-        super(message);
-        this.name = "GHESNotSupportedError";
+      return result;
+    }
+    module2.exports = nativeKeysIn;
+  }
+});
+
+// node_modules/lodash/_baseKeysIn.js
+var require_baseKeysIn = __commonJS({
+  "node_modules/lodash/_baseKeysIn.js"(exports2, module2) {
+    var isObject2 = require_isObject();
+    var isPrototype = require_isPrototype();
+    var nativeKeysIn = require_nativeKeysIn();
+    var objectProto = Object.prototype;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    function baseKeysIn(object) {
+      if (!isObject2(object)) {
+        return nativeKeysIn(object);
       }
-    };
-    exports2.GHESNotSupportedError = GHESNotSupportedError;
-    var NetworkError = class extends Error {
-      constructor(code) {
-        const message = `Unable to make request: ${code}
-If you are using self-hosted runners, please make sure your runner has access to all GitHub endpoints: https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#communication-between-self-hosted-runners-and-github`;
-        super(message);
-        this.code = code;
-        this.name = "NetworkError";
+      var isProto = isPrototype(object), result = [];
+      for (var key in object) {
+        if (!(key == "constructor" && (isProto || !hasOwnProperty.call(object, key)))) {
+          result.push(key);
+        }
       }
-    };
-    exports2.NetworkError = NetworkError;
-    NetworkError.isNetworkErrorCode = (code) => {
-      if (!code)
-        return false;
-      return [
-        "ECONNRESET",
-        "ENOTFOUND",
-        "ETIMEDOUT",
-        "ECONNREFUSED",
-        "EHOSTUNREACH"
-      ].includes(code);
-    };
-    var UsageError = class extends Error {
-      constructor() {
-        const message = `Cache storage quota has been hit. Unable to upload any new cache entries. Usage is recalculated every 6-12 hours.
-More info on storage limits: https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#calculating-minute-and-storage-spending`;
-        super(message);
-        this.name = "UsageError";
+      return result;
+    }
+    module2.exports = baseKeysIn;
+  }
+});
+
+// node_modules/lodash/keysIn.js
+var require_keysIn = __commonJS({
+  "node_modules/lodash/keysIn.js"(exports2, module2) {
+    var arrayLikeKeys = require_arrayLikeKeys();
+    var baseKeysIn = require_baseKeysIn();
+    var isArrayLike = require_isArrayLike();
+    function keysIn(object) {
+      return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);
+    }
+    module2.exports = keysIn;
+  }
+});
+
+// node_modules/lodash/defaults.js
+var require_defaults = __commonJS({
+  "node_modules/lodash/defaults.js"(exports2, module2) {
+    var baseRest = require_baseRest();
+    var eq = require_eq2();
+    var isIterateeCall = require_isIterateeCall();
+    var keysIn = require_keysIn();
+    var objectProto = Object.prototype;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    var defaults = baseRest(function(object, sources) {
+      object = Object(object);
+      var index = -1;
+      var length = sources.length;
+      var guard = length > 2 ? sources[2] : void 0;
+      if (guard && isIterateeCall(sources[0], sources[1], guard)) {
+        length = 1;
       }
-    };
-    exports2.UsageError = UsageError;
-    UsageError.isUsageErrorMessage = (msg) => {
-      if (!msg)
-        return false;
-      return msg.includes("insufficient usage");
-    };
-    var RateLimitError = class extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "RateLimitError";
+      while (++index < length) {
+        var source = sources[index];
+        var props = keysIn(source);
+        var propsIndex = -1;
+        var propsLength = props.length;
+        while (++propsIndex < propsLength) {
+          var key = props[propsIndex];
+          var value = object[key];
+          if (value === void 0 || eq(value, objectProto[key]) && !hasOwnProperty.call(object, key)) {
+            object[key] = source[key];
+          }
+        }
       }
+      return object;
+    });
+    module2.exports = defaults;
+  }
+});
+
+// node_modules/readable-stream/lib/ours/primordials.js
+var require_primordials = __commonJS({
+  "node_modules/readable-stream/lib/ours/primordials.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      ArrayIsArray(self2) {
+        return Array.isArray(self2);
+      },
+      ArrayPrototypeIncludes(self2, el) {
+        return self2.includes(el);
+      },
+      ArrayPrototypeIndexOf(self2, el) {
+        return self2.indexOf(el);
+      },
+      ArrayPrototypeJoin(self2, sep5) {
+        return self2.join(sep5);
+      },
+      ArrayPrototypeMap(self2, fn) {
+        return self2.map(fn);
+      },
+      ArrayPrototypePop(self2, el) {
+        return self2.pop(el);
+      },
+      ArrayPrototypePush(self2, el) {
+        return self2.push(el);
+      },
+      ArrayPrototypeSlice(self2, start, end) {
+        return self2.slice(start, end);
+      },
+      Error,
+      FunctionPrototypeCall(fn, thisArgs, ...args) {
+        return fn.call(thisArgs, ...args);
+      },
+      FunctionPrototypeSymbolHasInstance(self2, instance) {
+        return Function.prototype[Symbol.hasInstance].call(self2, instance);
+      },
+      MathFloor: Math.floor,
+      Number,
+      NumberIsInteger: Number.isInteger,
+      NumberIsNaN: Number.isNaN,
+      NumberMAX_SAFE_INTEGER: Number.MAX_SAFE_INTEGER,
+      NumberMIN_SAFE_INTEGER: Number.MIN_SAFE_INTEGER,
+      NumberParseInt: Number.parseInt,
+      ObjectDefineProperties(self2, props) {
+        return Object.defineProperties(self2, props);
+      },
+      ObjectDefineProperty(self2, name, prop) {
+        return Object.defineProperty(self2, name, prop);
+      },
+      ObjectGetOwnPropertyDescriptor(self2, name) {
+        return Object.getOwnPropertyDescriptor(self2, name);
+      },
+      ObjectKeys(obj) {
+        return Object.keys(obj);
+      },
+      ObjectSetPrototypeOf(target, proto) {
+        return Object.setPrototypeOf(target, proto);
+      },
+      Promise,
+      PromisePrototypeCatch(self2, fn) {
+        return self2.catch(fn);
+      },
+      PromisePrototypeThen(self2, thenFn, catchFn) {
+        return self2.then(thenFn, catchFn);
+      },
+      PromiseReject(err) {
+        return Promise.reject(err);
+      },
+      PromiseResolve(val) {
+        return Promise.resolve(val);
+      },
+      ReflectApply: Reflect.apply,
+      RegExpPrototypeTest(self2, value) {
+        return self2.test(value);
+      },
+      SafeSet: Set,
+      String,
+      StringPrototypeSlice(self2, start, end) {
+        return self2.slice(start, end);
+      },
+      StringPrototypeToLowerCase(self2) {
+        return self2.toLowerCase();
+      },
+      StringPrototypeToUpperCase(self2) {
+        return self2.toUpperCase();
+      },
+      StringPrototypeTrim(self2) {
+        return self2.trim();
+      },
+      Symbol,
+      SymbolFor: Symbol.for,
+      SymbolAsyncIterator: Symbol.asyncIterator,
+      SymbolHasInstance: Symbol.hasInstance,
+      SymbolIterator: Symbol.iterator,
+      SymbolDispose: Symbol.dispose || /* @__PURE__ */ Symbol("Symbol.dispose"),
+      SymbolAsyncDispose: Symbol.asyncDispose || /* @__PURE__ */ Symbol("Symbol.asyncDispose"),
+      TypedArrayPrototypeSet(self2, buf, len) {
+        return self2.set(buf, len);
+      },
+      Boolean,
+      Uint8Array
     };
-    exports2.RateLimitError = RateLimitError;
   }
 });
 
-// node_modules/@actions/cache/lib/internal/uploadUtils.js
-var require_uploadUtils = __commonJS({
-  "node_modules/@actions/cache/lib/internal/uploadUtils.js"(exports2) {
+// node_modules/event-target-shim/dist/event-target-shim.js
+var require_event_target_shim = __commonJS({
+  "node_modules/event-target-shim/dist/event-target-shim.js"(exports2, module2) {
     "use strict";
-    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = 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 ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    var privateData = /* @__PURE__ */ new WeakMap();
+    var wrappers = /* @__PURE__ */ new WeakMap();
+    function pd(event) {
+      const retv = privateData.get(event);
+      console.assert(
+        retv != null,
+        "'this' is expected an Event object, but got",
+        event
+      );
+      return retv;
+    }
+    function setCancelFlag(data) {
+      if (data.passiveListener != null) {
+        if (typeof console !== "undefined" && typeof console.error === "function") {
+          console.error(
+            "Unable to preventDefault inside passive event listener invocation.",
+            data.passiveListener
+          );
         }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve8) {
-          resolve8(value);
-        });
+        return;
       }
-      return new (P || (P = Promise))(function(resolve8, 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 ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      if (!data.event.cancelable) {
+        return;
+      }
+      data.canceled = true;
+      if (typeof data.event.preventDefault === "function") {
+        data.event.preventDefault();
+      }
+    }
+    function Event2(eventTarget, event) {
+      privateData.set(this, {
+        eventTarget,
+        event,
+        eventPhase: 2,
+        currentTarget: eventTarget,
+        canceled: false,
+        stopped: false,
+        immediateStopped: false,
+        passiveListener: null,
+        timeStamp: event.timeStamp || Date.now()
       });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.UploadProgress = void 0;
-    exports2.uploadCacheArchiveSDK = uploadCacheArchiveSDK;
-    var core17 = __importStar2(require_core());
-    var storage_blob_1 = require_commonjs15();
-    var errors_1 = require_errors3();
-    var UploadProgress = class {
-      constructor(contentLength) {
-        this.contentLength = contentLength;
-        this.sentBytes = 0;
-        this.displayedComplete = false;
-        this.startTime = Date.now();
+      Object.defineProperty(this, "isTrusted", { value: false, enumerable: true });
+      const keys = Object.keys(event);
+      for (let i = 0; i < keys.length; ++i) {
+        const key = keys[i];
+        if (!(key in this)) {
+          Object.defineProperty(this, key, defineRedirectDescriptor(key));
+        }
       }
+    }
+    Event2.prototype = {
       /**
-       * Sets the number of bytes sent
-       *
-       * @param sentBytes the number of bytes sent
+       * The type of this event.
+       * @type {string}
        */
-      setSentBytes(sentBytes) {
-        this.sentBytes = sentBytes;
-      }
+      get type() {
+        return pd(this).event.type;
+      },
       /**
-       * Returns the total number of bytes transferred.
+       * The target of this event.
+       * @type {EventTarget}
        */
-      getTransferredBytes() {
-        return this.sentBytes;
-      }
+      get target() {
+        return pd(this).eventTarget;
+      },
       /**
-       * Returns true if the upload is complete.
+       * The target of this event.
+       * @type {EventTarget}
        */
-      isDone() {
-        return this.getTransferredBytes() === this.contentLength;
-      }
+      get currentTarget() {
+        return pd(this).currentTarget;
+      },
       /**
-       * Prints the current upload stats. Once the upload completes, this will print one
-       * last line and then stop.
+       * @returns {EventTarget[]} The composed path of this event.
        */
-      display() {
-        if (this.displayedComplete) {
-          return;
+      composedPath() {
+        const currentTarget = pd(this).currentTarget;
+        if (currentTarget == null) {
+          return [];
         }
-        const transferredBytes = this.sentBytes;
-        const percentage = (100 * (transferredBytes / this.contentLength)).toFixed(1);
-        const elapsedTime = Date.now() - this.startTime;
-        const uploadSpeed = (transferredBytes / (1024 * 1024) / (elapsedTime / 1e3)).toFixed(1);
-        core17.info(`Sent ${transferredBytes} of ${this.contentLength} (${percentage}%), ${uploadSpeed} MBs/sec`);
-        if (this.isDone()) {
-          this.displayedComplete = true;
+        return [currentTarget];
+      },
+      /**
+       * Constant of NONE.
+       * @type {number}
+       */
+      get NONE() {
+        return 0;
+      },
+      /**
+       * Constant of CAPTURING_PHASE.
+       * @type {number}
+       */
+      get CAPTURING_PHASE() {
+        return 1;
+      },
+      /**
+       * Constant of AT_TARGET.
+       * @type {number}
+       */
+      get AT_TARGET() {
+        return 2;
+      },
+      /**
+       * Constant of BUBBLING_PHASE.
+       * @type {number}
+       */
+      get BUBBLING_PHASE() {
+        return 3;
+      },
+      /**
+       * The target of this event.
+       * @type {number}
+       */
+      get eventPhase() {
+        return pd(this).eventPhase;
+      },
+      /**
+       * Stop event bubbling.
+       * @returns {void}
+       */
+      stopPropagation() {
+        const data = pd(this);
+        data.stopped = true;
+        if (typeof data.event.stopPropagation === "function") {
+          data.event.stopPropagation();
         }
-      }
+      },
       /**
-       * Returns a function used to handle TransferProgressEvents.
+       * Stop event bubbling.
+       * @returns {void}
        */
-      onProgress() {
-        return (progress) => {
-          this.setSentBytes(progress.loadedBytes);
-        };
-      }
+      stopImmediatePropagation() {
+        const data = pd(this);
+        data.stopped = true;
+        data.immediateStopped = true;
+        if (typeof data.event.stopImmediatePropagation === "function") {
+          data.event.stopImmediatePropagation();
+        }
+      },
       /**
-       * Starts the timer that displays the stats.
-       *
-       * @param delayInMs the delay between each write
+       * The flag to be bubbling.
+       * @type {boolean}
        */
-      startDisplayTimer(delayInMs = 1e3) {
-        const displayCallback = () => {
-          this.display();
-          if (!this.isDone()) {
-            this.timeoutHandle = setTimeout(displayCallback, delayInMs);
-          }
-        };
-        this.timeoutHandle = setTimeout(displayCallback, delayInMs);
-      }
+      get bubbles() {
+        return Boolean(pd(this).event.bubbles);
+      },
       /**
-       * Stops the timer that displays the stats. As this typically indicates the upload
-       * is complete, this will display one last line, unless the last line has already
-       * been written.
+       * The flag to be cancelable.
+       * @type {boolean}
        */
-      stopDisplayTimer() {
-        if (this.timeoutHandle) {
-          clearTimeout(this.timeoutHandle);
-          this.timeoutHandle = void 0;
+      get cancelable() {
+        return Boolean(pd(this).event.cancelable);
+      },
+      /**
+       * Cancel this event.
+       * @returns {void}
+       */
+      preventDefault() {
+        setCancelFlag(pd(this));
+      },
+      /**
+       * The flag to indicate cancellation state.
+       * @type {boolean}
+       */
+      get defaultPrevented() {
+        return pd(this).canceled;
+      },
+      /**
+       * The flag to be composed.
+       * @type {boolean}
+       */
+      get composed() {
+        return Boolean(pd(this).event.composed);
+      },
+      /**
+       * The unix time of this event.
+       * @type {number}
+       */
+      get timeStamp() {
+        return pd(this).timeStamp;
+      },
+      /**
+       * The target of this event.
+       * @type {EventTarget}
+       * @deprecated
+       */
+      get srcElement() {
+        return pd(this).eventTarget;
+      },
+      /**
+       * The flag to stop event bubbling.
+       * @type {boolean}
+       * @deprecated
+       */
+      get cancelBubble() {
+        return pd(this).stopped;
+      },
+      set cancelBubble(value) {
+        if (!value) {
+          return;
         }
-        this.display();
-      }
-    };
-    exports2.UploadProgress = UploadProgress;
-    function uploadCacheArchiveSDK(signedUploadURL, archivePath, options) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        var _a;
-        const blobClient = new storage_blob_1.BlobClient(signedUploadURL);
-        const blockBlobClient = blobClient.getBlockBlobClient();
-        const uploadProgress = new UploadProgress((_a = options === null || options === void 0 ? void 0 : options.archiveSizeBytes) !== null && _a !== void 0 ? _a : 0);
-        const uploadOptions = {
-          blockSize: options === null || options === void 0 ? void 0 : options.uploadChunkSize,
-          concurrency: options === null || options === void 0 ? void 0 : options.uploadConcurrency,
-          // maximum number of parallel transfer workers
-          maxSingleShotSize: 128 * 1024 * 1024,
-          // 128 MiB initial transfer size
-          onProgress: uploadProgress.onProgress()
-        };
-        try {
-          uploadProgress.startDisplayTimer();
-          core17.debug(`BlobClient: ${blobClient.name}:${blobClient.accountName}:${blobClient.containerName}`);
-          const response = yield blockBlobClient.uploadFile(archivePath, uploadOptions);
-          if (response._response.status >= 400) {
-            throw new errors_1.InvalidResponseError(`uploadCacheArchiveSDK: upload failed with status code ${response._response.status}`);
-          }
-          return response;
-        } catch (error3) {
-          core17.warning(`uploadCacheArchiveSDK: internal error uploading cache archive: ${error3.message}`);
-          throw error3;
-        } finally {
-          uploadProgress.stopDisplayTimer();
+        const data = pd(this);
+        data.stopped = true;
+        if (typeof data.event.cancelBubble === "boolean") {
+          data.event.cancelBubble = true;
         }
-      });
-    }
-  }
-});
-
-// node_modules/@actions/cache/lib/internal/requestUtils.js
-var require_requestUtils = __commonJS({
-  "node_modules/@actions/cache/lib/internal/requestUtils.js"(exports2) {
-    "use strict";
-    var __createBinding2 = 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];
-        } };
+      },
+      /**
+       * The flag to indicate cancellation state.
+       * @type {boolean}
+       * @deprecated
+       */
+      get returnValue() {
+        return !pd(this).canceled;
+      },
+      set returnValue(value) {
+        if (!value) {
+          setCancelFlag(pd(this));
+        }
+      },
+      /**
+       * Initialize this event object. But do nothing under event dispatching.
+       * @param {string} type The event type.
+       * @param {boolean} [bubbles=false] The flag to be possible to bubble up.
+       * @param {boolean} [cancelable=false] The flag to be possible to cancel.
+       * @deprecated
+       */
+      initEvent() {
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
+    };
+    Object.defineProperty(Event2.prototype, "constructor", {
+      value: Event2,
+      configurable: true,
+      writable: true
     });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = 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 ownKeys2(o);
+    if (typeof window !== "undefined" && typeof window.Event !== "undefined") {
+      Object.setPrototypeOf(Event2.prototype, window.Event.prototype);
+      wrappers.set(window.Event.prototype, Event2);
+    }
+    function defineRedirectDescriptor(key) {
+      return {
+        get() {
+          return pd(this).event[key];
+        },
+        set(value) {
+          pd(this).event[key] = value;
+        },
+        configurable: true,
+        enumerable: true
       };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
-        }
-        __setModuleDefault2(result, mod);
-        return result;
+    }
+    function defineCallDescriptor(key) {
+      return {
+        value() {
+          const event = pd(this).event;
+          return event[key].apply(event, arguments);
+        },
+        configurable: true,
+        enumerable: true
       };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve8) {
-          resolve8(value);
-        });
+    }
+    function defineWrapper(BaseEvent, proto) {
+      const keys = Object.keys(proto);
+      if (keys.length === 0) {
+        return BaseEvent;
       }
-      return new (P || (P = Promise))(function(resolve8, 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 ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      function CustomEvent(eventTarget, event) {
+        BaseEvent.call(this, eventTarget, event);
+      }
+      CustomEvent.prototype = Object.create(BaseEvent.prototype, {
+        constructor: { value: CustomEvent, configurable: true, writable: true }
       });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isSuccessStatusCode = isSuccessStatusCode;
-    exports2.isServerErrorStatusCode = isServerErrorStatusCode;
-    exports2.isRetryableStatusCode = isRetryableStatusCode;
-    exports2.retry = retry2;
-    exports2.retryTypedResponse = retryTypedResponse;
-    exports2.retryHttpClientResponse = retryHttpClientResponse;
-    var core17 = __importStar2(require_core());
-    var http_client_1 = require_lib();
-    var constants_1 = require_constants12();
-    function isSuccessStatusCode(statusCode) {
-      if (!statusCode) {
-        return false;
+      for (let i = 0; i < keys.length; ++i) {
+        const key = keys[i];
+        if (!(key in BaseEvent.prototype)) {
+          const descriptor = Object.getOwnPropertyDescriptor(proto, key);
+          const isFunc = typeof descriptor.value === "function";
+          Object.defineProperty(
+            CustomEvent.prototype,
+            key,
+            isFunc ? defineCallDescriptor(key) : defineRedirectDescriptor(key)
+          );
+        }
       }
-      return statusCode >= 200 && statusCode < 300;
+      return CustomEvent;
     }
-    function isServerErrorStatusCode(statusCode) {
-      if (!statusCode) {
-        return true;
+    function getWrapper(proto) {
+      if (proto == null || proto === Object.prototype) {
+        return Event2;
       }
-      return statusCode >= 500;
-    }
-    function isRetryableStatusCode(statusCode) {
-      if (!statusCode) {
-        return false;
+      let wrapper = wrappers.get(proto);
+      if (wrapper == null) {
+        wrapper = defineWrapper(getWrapper(Object.getPrototypeOf(proto)), proto);
+        wrappers.set(proto, wrapper);
       }
-      const retryableStatusCodes = [
-        http_client_1.HttpCodes.BadGateway,
-        http_client_1.HttpCodes.ServiceUnavailable,
-        http_client_1.HttpCodes.GatewayTimeout
-      ];
-      return retryableStatusCodes.includes(statusCode);
+      return wrapper;
     }
-    function sleep(milliseconds) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        return new Promise((resolve8) => setTimeout(resolve8, milliseconds));
-      });
+    function wrapEvent(eventTarget, event) {
+      const Wrapper = getWrapper(Object.getPrototypeOf(event));
+      return new Wrapper(eventTarget, event);
     }
-    function retry2(name_1, method_1, getStatusCode_1) {
-      return __awaiter2(this, arguments, void 0, function* (name, method, getStatusCode, maxAttempts = constants_1.DefaultRetryAttempts, delay2 = constants_1.DefaultRetryDelay, onError = void 0) {
-        let errorMessage = "";
-        let attempt = 1;
-        while (attempt <= maxAttempts) {
-          let response = void 0;
-          let statusCode = void 0;
-          let isRetryable = false;
-          try {
-            response = yield method();
-          } catch (error3) {
-            if (onError) {
-              response = onError(error3);
+    function isStopped(event) {
+      return pd(event).immediateStopped;
+    }
+    function setEventPhase(event, eventPhase) {
+      pd(event).eventPhase = eventPhase;
+    }
+    function setCurrentTarget(event, currentTarget) {
+      pd(event).currentTarget = currentTarget;
+    }
+    function setPassiveListener(event, passiveListener) {
+      pd(event).passiveListener = passiveListener;
+    }
+    var listenersMap = /* @__PURE__ */ new WeakMap();
+    var CAPTURE = 1;
+    var BUBBLE = 2;
+    var ATTRIBUTE = 3;
+    function isObject2(x) {
+      return x !== null && typeof x === "object";
+    }
+    function getListeners(eventTarget) {
+      const listeners = listenersMap.get(eventTarget);
+      if (listeners == null) {
+        throw new TypeError(
+          "'this' is expected an EventTarget object, but got another value."
+        );
+      }
+      return listeners;
+    }
+    function defineEventAttributeDescriptor(eventName) {
+      return {
+        get() {
+          const listeners = getListeners(this);
+          let node = listeners.get(eventName);
+          while (node != null) {
+            if (node.listenerType === ATTRIBUTE) {
+              return node.listener;
             }
-            isRetryable = true;
-            errorMessage = error3.message;
+            node = node.next;
           }
-          if (response) {
-            statusCode = getStatusCode(response);
-            if (!isServerErrorStatusCode(statusCode)) {
-              return response;
-            }
+          return null;
+        },
+        set(listener) {
+          if (typeof listener !== "function" && !isObject2(listener)) {
+            listener = null;
           }
-          if (statusCode) {
-            isRetryable = isRetryableStatusCode(statusCode);
-            errorMessage = `Cache service responded with ${statusCode}`;
+          const listeners = getListeners(this);
+          let prev = null;
+          let node = listeners.get(eventName);
+          while (node != null) {
+            if (node.listenerType === ATTRIBUTE) {
+              if (prev !== null) {
+                prev.next = node.next;
+              } else if (node.next !== null) {
+                listeners.set(eventName, node.next);
+              } else {
+                listeners.delete(eventName);
+              }
+            } else {
+              prev = node;
+            }
+            node = node.next;
           }
-          core17.debug(`${name} - Attempt ${attempt} of ${maxAttempts} failed with error: ${errorMessage}`);
-          if (!isRetryable) {
-            core17.debug(`${name} - Error is not retryable`);
-            break;
+          if (listener !== null) {
+            const newNode = {
+              listener,
+              listenerType: ATTRIBUTE,
+              passive: false,
+              once: false,
+              next: null
+            };
+            if (prev === null) {
+              listeners.set(eventName, newNode);
+            } else {
+              prev.next = newNode;
+            }
           }
-          yield sleep(delay2);
-          attempt++;
+        },
+        configurable: true,
+        enumerable: true
+      };
+    }
+    function defineEventAttribute(eventTargetPrototype, eventName) {
+      Object.defineProperty(
+        eventTargetPrototype,
+        `on${eventName}`,
+        defineEventAttributeDescriptor(eventName)
+      );
+    }
+    function defineCustomEventTarget(eventNames) {
+      function CustomEventTarget() {
+        EventTarget2.call(this);
+      }
+      CustomEventTarget.prototype = Object.create(EventTarget2.prototype, {
+        constructor: {
+          value: CustomEventTarget,
+          configurable: true,
+          writable: true
         }
-        throw Error(`${name} failed: ${errorMessage}`);
       });
+      for (let i = 0; i < eventNames.length; ++i) {
+        defineEventAttribute(CustomEventTarget.prototype, eventNames[i]);
+      }
+      return CustomEventTarget;
     }
-    function retryTypedResponse(name_1, method_1) {
-      return __awaiter2(this, arguments, void 0, function* (name, method, maxAttempts = constants_1.DefaultRetryAttempts, delay2 = constants_1.DefaultRetryDelay) {
-        return yield retry2(
-          name,
-          method,
-          (response) => response.statusCode,
-          maxAttempts,
-          delay2,
-          // If the error object contains the statusCode property, extract it and return
-          // an TypedResponse so it can be processed by the retry logic.
-          (error3) => {
-            if (error3 instanceof http_client_1.HttpClientError) {
-              return {
-                statusCode: error3.statusCode,
-                result: null,
-                headers: {},
-                error: error3
-              };
+    function EventTarget2() {
+      if (this instanceof EventTarget2) {
+        listenersMap.set(this, /* @__PURE__ */ new Map());
+        return;
+      }
+      if (arguments.length === 1 && Array.isArray(arguments[0])) {
+        return defineCustomEventTarget(arguments[0]);
+      }
+      if (arguments.length > 0) {
+        const types = new Array(arguments.length);
+        for (let i = 0; i < arguments.length; ++i) {
+          types[i] = arguments[i];
+        }
+        return defineCustomEventTarget(types);
+      }
+      throw new TypeError("Cannot call a class as a function");
+    }
+    EventTarget2.prototype = {
+      /**
+       * Add a given listener to this event target.
+       * @param {string} eventName The event name to add.
+       * @param {Function} listener The listener to add.
+       * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener.
+       * @returns {void}
+       */
+      addEventListener(eventName, listener, options) {
+        if (listener == null) {
+          return;
+        }
+        if (typeof listener !== "function" && !isObject2(listener)) {
+          throw new TypeError("'listener' should be a function or an object.");
+        }
+        const listeners = getListeners(this);
+        const optionsIsObj = isObject2(options);
+        const capture = optionsIsObj ? Boolean(options.capture) : Boolean(options);
+        const listenerType = capture ? CAPTURE : BUBBLE;
+        const newNode = {
+          listener,
+          listenerType,
+          passive: optionsIsObj && Boolean(options.passive),
+          once: optionsIsObj && Boolean(options.once),
+          next: null
+        };
+        let node = listeners.get(eventName);
+        if (node === void 0) {
+          listeners.set(eventName, newNode);
+          return;
+        }
+        let prev = null;
+        while (node != null) {
+          if (node.listener === listener && node.listenerType === listenerType) {
+            return;
+          }
+          prev = node;
+          node = node.next;
+        }
+        prev.next = newNode;
+      },
+      /**
+       * Remove a given listener from this event target.
+       * @param {string} eventName The event name to remove.
+       * @param {Function} listener The listener to remove.
+       * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener.
+       * @returns {void}
+       */
+      removeEventListener(eventName, listener, options) {
+        if (listener == null) {
+          return;
+        }
+        const listeners = getListeners(this);
+        const capture = isObject2(options) ? Boolean(options.capture) : Boolean(options);
+        const listenerType = capture ? CAPTURE : BUBBLE;
+        let prev = null;
+        let node = listeners.get(eventName);
+        while (node != null) {
+          if (node.listener === listener && node.listenerType === listenerType) {
+            if (prev !== null) {
+              prev.next = node.next;
+            } else if (node.next !== null) {
+              listeners.set(eventName, node.next);
             } else {
-              return void 0;
+              listeners.delete(eventName);
             }
+            return;
           }
-        );
-      });
-    }
-    function retryHttpClientResponse(name_1, method_1) {
-      return __awaiter2(this, arguments, void 0, function* (name, method, maxAttempts = constants_1.DefaultRetryAttempts, delay2 = constants_1.DefaultRetryDelay) {
-        return yield retry2(name, method, (response) => response.message.statusCode, maxAttempts, delay2);
-      });
+          prev = node;
+          node = node.next;
+        }
+      },
+      /**
+       * Dispatch a given event.
+       * @param {Event|{type:string}} event The event to dispatch.
+       * @returns {boolean} `false` if canceled.
+       */
+      dispatchEvent(event) {
+        if (event == null || typeof event.type !== "string") {
+          throw new TypeError('"event.type" should be a string.');
+        }
+        const listeners = getListeners(this);
+        const eventName = event.type;
+        let node = listeners.get(eventName);
+        if (node == null) {
+          return true;
+        }
+        const wrappedEvent = wrapEvent(this, event);
+        let prev = null;
+        while (node != null) {
+          if (node.once) {
+            if (prev !== null) {
+              prev.next = node.next;
+            } else if (node.next !== null) {
+              listeners.set(eventName, node.next);
+            } else {
+              listeners.delete(eventName);
+            }
+          } else {
+            prev = node;
+          }
+          setPassiveListener(
+            wrappedEvent,
+            node.passive ? node.listener : null
+          );
+          if (typeof node.listener === "function") {
+            try {
+              node.listener.call(this, wrappedEvent);
+            } catch (err) {
+              if (typeof console !== "undefined" && typeof console.error === "function") {
+                console.error(err);
+              }
+            }
+          } else if (node.listenerType !== ATTRIBUTE && typeof node.listener.handleEvent === "function") {
+            node.listener.handleEvent(wrappedEvent);
+          }
+          if (isStopped(wrappedEvent)) {
+            break;
+          }
+          node = node.next;
+        }
+        setPassiveListener(wrappedEvent, null);
+        setEventPhase(wrappedEvent, 0);
+        setCurrentTarget(wrappedEvent, null);
+        return !wrappedEvent.defaultPrevented;
+      }
+    };
+    Object.defineProperty(EventTarget2.prototype, "constructor", {
+      value: EventTarget2,
+      configurable: true,
+      writable: true
+    });
+    if (typeof window !== "undefined" && typeof window.EventTarget !== "undefined") {
+      Object.setPrototypeOf(EventTarget2.prototype, window.EventTarget.prototype);
     }
+    exports2.defineEventAttribute = defineEventAttribute;
+    exports2.EventTarget = EventTarget2;
+    exports2.default = EventTarget2;
+    module2.exports = EventTarget2;
+    module2.exports.EventTarget = module2.exports["default"] = EventTarget2;
+    module2.exports.defineEventAttribute = defineEventAttribute;
   }
 });
 
-// node_modules/@azure/abort-controller/dist/index.js
-var require_dist4 = __commonJS({
-  "node_modules/@azure/abort-controller/dist/index.js"(exports2) {
+// node_modules/abort-controller/dist/abort-controller.js
+var require_abort_controller = __commonJS({
+  "node_modules/abort-controller/dist/abort-controller.js"(exports2, module2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    var listenersMap = /* @__PURE__ */ new WeakMap();
-    var abortedMap = /* @__PURE__ */ new WeakMap();
-    var AbortSignal2 = class _AbortSignal {
+    var eventTargetShim = require_event_target_shim();
+    var AbortSignal2 = class extends eventTargetShim.EventTarget {
+      /**
+       * AbortSignal cannot be constructed directly.
+       */
       constructor() {
-        this.onabort = null;
-        listenersMap.set(this, []);
-        abortedMap.set(this, false);
+        super();
+        throw new TypeError("AbortSignal cannot be constructed directly");
       }
       /**
-       * Status of whether aborted or not.
-       *
-       * @readonly
+       * Returns `true` if this `AbortSignal`'s `AbortController` has signaled to abort, and `false` otherwise.
        */
       get aborted() {
-        if (!abortedMap.has(this)) {
-          throw new TypeError("Expected `this` to be an instance of AbortSignal.");
+        const aborted = abortedFlags.get(this);
+        if (typeof aborted !== "boolean") {
+          throw new TypeError(`Expected 'this' to be an 'AbortSignal' object, but got ${this === null ? "null" : typeof this}`);
         }
-        return abortedMap.get(this);
+        return aborted;
       }
-      /**
-       * Creates a new AbortSignal instance that will never be aborted.
-       *
-       * @readonly
-       */
-      static get none() {
-        return new _AbortSignal();
+    };
+    eventTargetShim.defineEventAttribute(AbortSignal2.prototype, "abort");
+    function createAbortSignal() {
+      const signal = Object.create(AbortSignal2.prototype);
+      eventTargetShim.EventTarget.call(signal);
+      abortedFlags.set(signal, false);
+      return signal;
+    }
+    function abortSignal(signal) {
+      if (abortedFlags.get(signal) !== false) {
+        return;
       }
+      abortedFlags.set(signal, true);
+      signal.dispatchEvent({ type: "abort" });
+    }
+    var abortedFlags = /* @__PURE__ */ new WeakMap();
+    Object.defineProperties(AbortSignal2.prototype, {
+      aborted: { enumerable: true }
+    });
+    if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") {
+      Object.defineProperty(AbortSignal2.prototype, Symbol.toStringTag, {
+        configurable: true,
+        value: "AbortSignal"
+      });
+    }
+    var AbortController2 = class {
       /**
-       * Added new "abort" event listener, only support "abort" event.
-       *
-       * @param _type - Only support "abort" event
-       * @param listener - The listener to be added
+       * Initialize this controller.
        */
-      addEventListener(_type, listener) {
-        if (!listenersMap.has(this)) {
-          throw new TypeError("Expected `this` to be an instance of AbortSignal.");
-        }
-        const listeners = listenersMap.get(this);
-        listeners.push(listener);
+      constructor() {
+        signals.set(this, createAbortSignal());
       }
       /**
-       * Remove "abort" event listener, only support "abort" event.
-       *
-       * @param _type - Only support "abort" event
-       * @param listener - The listener to be removed
+       * Returns the `AbortSignal` object associated with this object.
        */
-      removeEventListener(_type, listener) {
-        if (!listenersMap.has(this)) {
-          throw new TypeError("Expected `this` to be an instance of AbortSignal.");
-        }
-        const listeners = listenersMap.get(this);
-        const index = listeners.indexOf(listener);
-        if (index > -1) {
-          listeners.splice(index, 1);
-        }
+      get signal() {
+        return getSignal(this);
       }
       /**
-       * Dispatches a synthetic event to the AbortSignal.
+       * Abort and signal to any observers that the associated activity is to be aborted.
        */
-      dispatchEvent(_event) {
-        throw new Error("This is a stub dispatchEvent implementation that should not be used.  It only exists for type-checking purposes.");
+      abort() {
+        abortSignal(getSignal(this));
       }
     };
-    function abortSignal(signal) {
-      if (signal.aborted) {
-        return;
-      }
-      if (signal.onabort) {
-        signal.onabort.call(signal);
-      }
-      const listeners = listenersMap.get(signal);
-      if (listeners) {
-        listeners.slice().forEach((listener) => {
-          listener.call(signal, { type: "abort" });
-        });
+    var signals = /* @__PURE__ */ new WeakMap();
+    function getSignal(controller) {
+      const signal = signals.get(controller);
+      if (signal == null) {
+        throw new TypeError(`Expected 'this' to be an 'AbortController' object, but got ${controller === null ? "null" : typeof controller}`);
       }
-      abortedMap.set(signal, true);
+      return signal;
     }
-    var AbortError = class extends Error {
-      constructor(message) {
+    Object.defineProperties(AbortController2.prototype, {
+      signal: { enumerable: true },
+      abort: { enumerable: true }
+    });
+    if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") {
+      Object.defineProperty(AbortController2.prototype, Symbol.toStringTag, {
+        configurable: true,
+        value: "AbortController"
+      });
+    }
+    exports2.AbortController = AbortController2;
+    exports2.AbortSignal = AbortSignal2;
+    exports2.default = AbortController2;
+    module2.exports = AbortController2;
+    module2.exports.AbortController = module2.exports["default"] = AbortController2;
+    module2.exports.AbortSignal = AbortSignal2;
+  }
+});
+
+// node_modules/readable-stream/lib/ours/util.js
+var require_util21 = __commonJS({
+  "node_modules/readable-stream/lib/ours/util.js"(exports2, module2) {
+    "use strict";
+    var bufferModule = require("buffer");
+    var { kResistStopPropagation, SymbolDispose } = require_primordials();
+    var AbortSignal2 = globalThis.AbortSignal || require_abort_controller().AbortSignal;
+    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
+    var AsyncFunction = Object.getPrototypeOf(async function() {
+    }).constructor;
+    var Blob2 = globalThis.Blob || bufferModule.Blob;
+    var isBlob = typeof Blob2 !== "undefined" ? function isBlob2(b) {
+      return b instanceof Blob2;
+    } : function isBlob2(b) {
+      return false;
+    };
+    var validateAbortSignal = (signal, name) => {
+      if (signal !== void 0 && (signal === null || typeof signal !== "object" || !("aborted" in signal))) {
+        throw new ERR_INVALID_ARG_TYPE(name, "AbortSignal", signal);
+      }
+    };
+    var validateFunction = (value, name) => {
+      if (typeof value !== "function") throw new ERR_INVALID_ARG_TYPE(name, "Function", value);
+    };
+    var AggregateError = class extends Error {
+      constructor(errors) {
+        if (!Array.isArray(errors)) {
+          throw new TypeError(`Expected input to be an Array, got ${typeof errors}`);
+        }
+        let message = "";
+        for (let i = 0; i < errors.length; i++) {
+          message += `    ${errors[i].stack}
+`;
+        }
         super(message);
-        this.name = "AbortError";
+        this.name = "AggregateError";
+        this.errors = errors;
       }
     };
-    var AbortController2 = class {
-      // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
-      constructor(parentSignals) {
-        this._signal = new AbortSignal2();
-        if (!parentSignals) {
-          return;
+    module2.exports = {
+      AggregateError,
+      kEmptyObject: Object.freeze({}),
+      once(callback) {
+        let called = false;
+        return function(...args) {
+          if (called) {
+            return;
+          }
+          called = true;
+          callback.apply(this, args);
+        };
+      },
+      createDeferredPromise: function() {
+        let resolve8;
+        let reject;
+        const promise = new Promise((res, rej) => {
+          resolve8 = res;
+          reject = rej;
+        });
+        return {
+          promise,
+          resolve: resolve8,
+          reject
+        };
+      },
+      promisify(fn) {
+        return new Promise((resolve8, reject) => {
+          fn((err, ...args) => {
+            if (err) {
+              return reject(err);
+            }
+            return resolve8(...args);
+          });
+        });
+      },
+      debuglog() {
+        return function() {
+        };
+      },
+      format(format, ...args) {
+        return format.replace(/%([sdifj])/g, function(...[_unused, type2]) {
+          const replacement = args.shift();
+          if (type2 === "f") {
+            return replacement.toFixed(6);
+          } else if (type2 === "j") {
+            return JSON.stringify(replacement);
+          } else if (type2 === "s" && typeof replacement === "object") {
+            const ctor = replacement.constructor !== Object ? replacement.constructor.name : "";
+            return `${ctor} {}`.trim();
+          } else {
+            return replacement.toString();
+          }
+        });
+      },
+      inspect(value) {
+        switch (typeof value) {
+          case "string":
+            if (value.includes("'")) {
+              if (!value.includes('"')) {
+                return `"${value}"`;
+              } else if (!value.includes("`") && !value.includes("${")) {
+                return `\`${value}\``;
+              }
+            }
+            return `'${value}'`;
+          case "number":
+            if (isNaN(value)) {
+              return "NaN";
+            } else if (Object.is(value, -0)) {
+              return String(value);
+            }
+            return value;
+          case "bigint":
+            return `${String(value)}n`;
+          case "boolean":
+          case "undefined":
+            return String(value);
+          case "object":
+            return "{}";
         }
-        if (!Array.isArray(parentSignals)) {
-          parentSignals = arguments;
+      },
+      types: {
+        isAsyncFunction(fn) {
+          return fn instanceof AsyncFunction;
+        },
+        isArrayBufferView(arr) {
+          return ArrayBuffer.isView(arr);
         }
-        for (const parentSignal of parentSignals) {
-          if (parentSignal.aborted) {
-            this.abort();
-          } else {
-            parentSignal.addEventListener("abort", () => {
-              this.abort();
-            });
-          }
+      },
+      isBlob,
+      deprecate(fn, message) {
+        return fn;
+      },
+      addAbortListener: require("events").addAbortListener || function addAbortListener(signal, listener) {
+        if (signal === void 0) {
+          throw new ERR_INVALID_ARG_TYPE("signal", "AbortSignal", signal);
         }
-      }
-      /**
-       * The AbortSignal associated with this controller that will signal aborted
-       * when the abort method is called on this controller.
-       *
-       * @readonly
-       */
-      get signal() {
-        return this._signal;
-      }
-      /**
-       * Signal that any operations passed this controller's associated abort signal
-       * to cancel any remaining work and throw an `AbortError`.
-       */
-      abort() {
-        abortSignal(this._signal);
-      }
-      /**
-       * Creates a new AbortSignal instance that will abort after the provided ms.
-       * @param ms - Elapsed time in milliseconds to trigger an abort.
-       */
-      static timeout(ms) {
-        const signal = new AbortSignal2();
-        const timer = setTimeout(abortSignal, ms, signal);
-        if (typeof timer.unref === "function") {
-          timer.unref();
+        validateAbortSignal(signal, "signal");
+        validateFunction(listener, "listener");
+        let removeEventListener;
+        if (signal.aborted) {
+          queueMicrotask(() => listener());
+        } else {
+          signal.addEventListener("abort", listener, {
+            __proto__: null,
+            once: true,
+            [kResistStopPropagation]: true
+          });
+          removeEventListener = () => {
+            signal.removeEventListener("abort", listener);
+          };
         }
-        return signal;
+        return {
+          __proto__: null,
+          [SymbolDispose]() {
+            var _removeEventListener;
+            (_removeEventListener = removeEventListener) === null || _removeEventListener === void 0 ? void 0 : _removeEventListener();
+          }
+        };
+      },
+      AbortSignalAny: AbortSignal2.any || function AbortSignalAny(signals) {
+        if (signals.length === 1) {
+          return signals[0];
+        }
+        const ac = new AbortController2();
+        const abort = () => ac.abort();
+        signals.forEach((signal) => {
+          validateAbortSignal(signal, "signals");
+          signal.addEventListener("abort", abort, {
+            once: true
+          });
+        });
+        ac.signal.addEventListener(
+          "abort",
+          () => {
+            signals.forEach((signal) => signal.removeEventListener("abort", abort));
+          },
+          {
+            once: true
+          }
+        );
+        return ac.signal;
       }
     };
-    exports2.AbortController = AbortController2;
-    exports2.AbortError = AbortError;
-    exports2.AbortSignal = AbortSignal2;
+    module2.exports.promisify.custom = /* @__PURE__ */ Symbol.for("nodejs.util.promisify.custom");
   }
 });
 
-// node_modules/@actions/cache/lib/internal/downloadUtils.js
-var require_downloadUtils = __commonJS({
-  "node_modules/@actions/cache/lib/internal/downloadUtils.js"(exports2) {
+// node_modules/readable-stream/lib/ours/errors.js
+var require_errors5 = __commonJS({
+  "node_modules/readable-stream/lib/ours/errors.js"(exports2, module2) {
     "use strict";
-    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = 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 ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
-        }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve8) {
-          resolve8(value);
-        });
+    var { format, inspect, AggregateError: CustomAggregateError } = require_util21();
+    var AggregateError = globalThis.AggregateError || CustomAggregateError;
+    var kIsNodeError = /* @__PURE__ */ Symbol("kIsNodeError");
+    var kTypes = [
+      "string",
+      "function",
+      "number",
+      "object",
+      // Accept 'Function' and 'Object' as alternative to the lower cased version.
+      "Function",
+      "Object",
+      "boolean",
+      "bigint",
+      "symbol"
+    ];
+    var classRegExp = /^([A-Z][a-z0-9]*)+$/;
+    var nodeInternalPrefix = "__node_internal_";
+    var codes = {};
+    function assert(value, message) {
+      if (!value) {
+        throw new codes.ERR_INTERNAL_ASSERTION(message);
       }
-      return new (P || (P = Promise))(function(resolve8, 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 ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.DownloadProgress = void 0;
-    exports2.downloadCacheHttpClient = downloadCacheHttpClient;
-    exports2.downloadCacheHttpClientConcurrent = downloadCacheHttpClientConcurrent;
-    exports2.downloadCacheStorageSDK = downloadCacheStorageSDK;
-    var core17 = __importStar2(require_core());
-    var http_client_1 = require_lib();
-    var storage_blob_1 = require_commonjs15();
-    var buffer = __importStar2(require("buffer"));
-    var fs18 = __importStar2(require("fs"));
-    var stream2 = __importStar2(require("stream"));
-    var util = __importStar2(require("util"));
-    var utils = __importStar2(require_cacheUtils());
-    var constants_1 = require_constants12();
-    var requestUtils_1 = require_requestUtils();
-    var abort_controller_1 = require_dist4();
-    function pipeResponseToStream(response, output) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const pipeline = util.promisify(stream2.pipeline);
-        yield pipeline(response.message, output);
-      });
     }
-    var DownloadProgress = class {
-      constructor(contentLength) {
-        this.contentLength = contentLength;
-        this.segmentIndex = 0;
-        this.segmentSize = 0;
-        this.segmentOffset = 0;
-        this.receivedBytes = 0;
-        this.displayedComplete = false;
-        this.startTime = Date.now();
-      }
-      /**
-       * Progress to the next segment. Only call this method when the previous segment
-       * is complete.
-       *
-       * @param segmentSize the length of the next segment
-       */
-      nextSegment(segmentSize) {
-        this.segmentOffset = this.segmentOffset + this.segmentSize;
-        this.segmentIndex = this.segmentIndex + 1;
-        this.segmentSize = segmentSize;
-        this.receivedBytes = 0;
-        core17.debug(`Downloading segment at offset ${this.segmentOffset} with length ${this.segmentSize}...`);
+    function addNumericalSeparator(val) {
+      let res = "";
+      let i = val.length;
+      const start = val[0] === "-" ? 1 : 0;
+      for (; i >= start + 4; i -= 3) {
+        res = `_${val.slice(i - 3, i)}${res}`;
       }
-      /**
-       * Sets the number of bytes received for the current segment.
-       *
-       * @param receivedBytes the number of bytes received
-       */
-      setReceivedBytes(receivedBytes) {
-        this.receivedBytes = receivedBytes;
+      return `${val.slice(0, i)}${res}`;
+    }
+    function getMessage(key, msg, args) {
+      if (typeof msg === "function") {
+        assert(
+          msg.length <= args.length,
+          // Default options do not count.
+          `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${msg.length}).`
+        );
+        return msg(...args);
       }
-      /**
-       * Returns the total number of bytes transferred.
-       */
-      getTransferredBytes() {
-        return this.segmentOffset + this.receivedBytes;
+      const expectedLength = (msg.match(/%[dfijoOs]/g) || []).length;
+      assert(
+        expectedLength === args.length,
+        `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${expectedLength}).`
+      );
+      if (args.length === 0) {
+        return msg;
       }
-      /**
-       * Returns true if the download is complete.
-       */
-      isDone() {
-        return this.getTransferredBytes() === this.contentLength;
+      return format(msg, ...args);
+    }
+    function E(code, message, Base) {
+      if (!Base) {
+        Base = Error;
       }
-      /**
-       * Prints the current download stats. Once the download completes, this will print one
-       * last line and then stop.
-       */
-      display() {
-        if (this.displayedComplete) {
-          return;
+      class NodeError extends Base {
+        constructor(...args) {
+          super(getMessage(code, message, args));
         }
-        const transferredBytes = this.segmentOffset + this.receivedBytes;
-        const percentage = (100 * (transferredBytes / this.contentLength)).toFixed(1);
-        const elapsedTime = Date.now() - this.startTime;
-        const downloadSpeed = (transferredBytes / (1024 * 1024) / (elapsedTime / 1e3)).toFixed(1);
-        core17.info(`Received ${transferredBytes} of ${this.contentLength} (${percentage}%), ${downloadSpeed} MBs/sec`);
-        if (this.isDone()) {
-          this.displayedComplete = true;
+        toString() {
+          return `${this.name} [${code}]: ${this.message}`;
         }
       }
-      /**
-       * Returns a function used to handle TransferProgressEvents.
-       */
-      onProgress() {
-        return (progress) => {
-          this.setReceivedBytes(progress.loadedBytes);
-        };
-      }
-      /**
-       * Starts the timer that displays the stats.
-       *
-       * @param delayInMs the delay between each write
-       */
-      startDisplayTimer(delayInMs = 1e3) {
-        const displayCallback = () => {
-          this.display();
-          if (!this.isDone()) {
-            this.timeoutHandle = setTimeout(displayCallback, delayInMs);
-          }
-        };
-        this.timeoutHandle = setTimeout(displayCallback, delayInMs);
+      Object.defineProperties(NodeError.prototype, {
+        name: {
+          value: Base.name,
+          writable: true,
+          enumerable: false,
+          configurable: true
+        },
+        toString: {
+          value() {
+            return `${this.name} [${code}]: ${this.message}`;
+          },
+          writable: true,
+          enumerable: false,
+          configurable: true
+        }
+      });
+      NodeError.prototype.code = code;
+      NodeError.prototype[kIsNodeError] = true;
+      codes[code] = NodeError;
+    }
+    function hideStackFrames(fn) {
+      const hidden = nodeInternalPrefix + fn.name;
+      Object.defineProperty(fn, "name", {
+        value: hidden
+      });
+      return fn;
+    }
+    function aggregateTwoErrors(innerError, outerError) {
+      if (innerError && outerError && innerError !== outerError) {
+        if (Array.isArray(outerError.errors)) {
+          outerError.errors.push(innerError);
+          return outerError;
+        }
+        const err = new AggregateError([outerError, innerError], outerError.message);
+        err.code = outerError.code;
+        return err;
       }
-      /**
-       * Stops the timer that displays the stats. As this typically indicates the download
-       * is complete, this will display one last line, unless the last line has already
-       * been written.
-       */
-      stopDisplayTimer() {
-        if (this.timeoutHandle) {
-          clearTimeout(this.timeoutHandle);
-          this.timeoutHandle = void 0;
+      return innerError || outerError;
+    }
+    var AbortError = class extends Error {
+      constructor(message = "The operation was aborted", options = void 0) {
+        if (options !== void 0 && typeof options !== "object") {
+          throw new codes.ERR_INVALID_ARG_TYPE("options", "Object", options);
         }
-        this.display();
+        super(message, options);
+        this.code = "ABORT_ERR";
+        this.name = "AbortError";
       }
     };
-    exports2.DownloadProgress = DownloadProgress;
-    function downloadCacheHttpClient(archiveLocation, archivePath) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const writeStream = fs18.createWriteStream(archivePath);
-        const httpClient = new http_client_1.HttpClient("actions/cache");
-        const downloadResponse = yield (0, requestUtils_1.retryHttpClientResponse)("downloadCache", () => __awaiter2(this, void 0, void 0, function* () {
-          return httpClient.get(archiveLocation);
-        }));
-        downloadResponse.message.socket.setTimeout(constants_1.SocketTimeout, () => {
-          downloadResponse.message.destroy();
-          core17.debug(`Aborting download, socket timed out after ${constants_1.SocketTimeout} ms`);
-        });
-        yield pipeResponseToStream(downloadResponse, writeStream);
-        const contentLengthHeader = downloadResponse.message.headers["content-length"];
-        if (contentLengthHeader) {
-          const expectedLength = parseInt(contentLengthHeader);
-          const actualLength = utils.getArchiveFileSizeInBytes(archivePath);
-          if (actualLength !== expectedLength) {
-            throw new Error(`Incomplete download. Expected file size: ${expectedLength}, actual file size: ${actualLength}`);
-          }
+    E("ERR_ASSERTION", "%s", Error);
+    E(
+      "ERR_INVALID_ARG_TYPE",
+      (name, expected, actual) => {
+        assert(typeof name === "string", "'name' must be a string");
+        if (!Array.isArray(expected)) {
+          expected = [expected];
+        }
+        let msg = "The ";
+        if (name.endsWith(" argument")) {
+          msg += `${name} `;
         } else {
-          core17.debug("Unable to validate download, no Content-Length header");
+          msg += `"${name}" ${name.includes(".") ? "property" : "argument"} `;
         }
-      });
-    }
-    function downloadCacheHttpClientConcurrent(archiveLocation, archivePath, options) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        var _a;
-        const archiveDescriptor = yield fs18.promises.open(archivePath, "w");
-        const httpClient = new http_client_1.HttpClient("actions/cache", void 0, {
-          socketTimeout: options.timeoutInMs,
-          keepAlive: true
-        });
-        try {
-          const res = yield (0, requestUtils_1.retryHttpClientResponse)("downloadCacheMetadata", () => __awaiter2(this, void 0, void 0, function* () {
-            return yield httpClient.request("HEAD", archiveLocation, null, {});
-          }));
-          const lengthHeader = res.message.headers["content-length"];
-          if (lengthHeader === void 0 || lengthHeader === null) {
-            throw new Error("Content-Length not found on blob response");
-          }
-          const length = parseInt(lengthHeader);
-          if (Number.isNaN(length)) {
-            throw new Error(`Could not interpret Content-Length: ${length}`);
+        msg += "must be ";
+        const types = [];
+        const instances = [];
+        const other = [];
+        for (const value of expected) {
+          assert(typeof value === "string", "All expected entries have to be of type string");
+          if (kTypes.includes(value)) {
+            types.push(value.toLowerCase());
+          } else if (classRegExp.test(value)) {
+            instances.push(value);
+          } else {
+            assert(value !== "object", 'The value "object" should be written as "Object"');
+            other.push(value);
           }
-          const downloads = [];
-          const blockSize = 4 * 1024 * 1024;
-          for (let offset = 0; offset < length; offset += blockSize) {
-            const count = Math.min(blockSize, length - offset);
-            downloads.push({
-              offset,
-              promiseGetter: () => __awaiter2(this, void 0, void 0, function* () {
-                return yield downloadSegmentRetry(httpClient, archiveLocation, offset, count);
-              })
-            });
+        }
+        if (instances.length > 0) {
+          const pos = types.indexOf("object");
+          if (pos !== -1) {
+            types.splice(types, pos, 1);
+            instances.push("Object");
           }
-          downloads.reverse();
-          let actives = 0;
-          let bytesDownloaded = 0;
-          const progress = new DownloadProgress(length);
-          progress.startDisplayTimer();
-          const progressFn = progress.onProgress();
-          const activeDownloads = [];
-          let nextDownload;
-          const waitAndWrite = () => __awaiter2(this, void 0, void 0, function* () {
-            const segment = yield Promise.race(Object.values(activeDownloads));
-            yield archiveDescriptor.write(segment.buffer, 0, segment.count, segment.offset);
-            actives--;
-            delete activeDownloads[segment.offset];
-            bytesDownloaded += segment.count;
-            progressFn({ loadedBytes: bytesDownloaded });
-          });
-          while (nextDownload = downloads.pop()) {
-            activeDownloads[nextDownload.offset] = nextDownload.promiseGetter();
-            actives++;
-            if (actives >= ((_a = options.downloadConcurrency) !== null && _a !== void 0 ? _a : 10)) {
-              yield waitAndWrite();
+        }
+        if (types.length > 0) {
+          switch (types.length) {
+            case 1:
+              msg += `of type ${types[0]}`;
+              break;
+            case 2:
+              msg += `one of type ${types[0]} or ${types[1]}`;
+              break;
+            default: {
+              const last = types.pop();
+              msg += `one of type ${types.join(", ")}, or ${last}`;
             }
           }
-          while (actives > 0) {
-            yield waitAndWrite();
+          if (instances.length > 0 || other.length > 0) {
+            msg += " or ";
           }
-        } finally {
-          httpClient.dispose();
-          yield archiveDescriptor.close();
         }
-      });
-    }
-    function downloadSegmentRetry(httpClient, archiveLocation, offset, count) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const retries = 5;
-        let failures = 0;
-        while (true) {
-          try {
-            const timeout = 3e4;
-            const result = yield promiseWithTimeout(timeout, downloadSegment(httpClient, archiveLocation, offset, count));
-            if (typeof result === "string") {
-              throw new Error("downloadSegmentRetry failed due to timeout");
-            }
-            return result;
-          } catch (err) {
-            if (failures >= retries) {
-              throw err;
+        if (instances.length > 0) {
+          switch (instances.length) {
+            case 1:
+              msg += `an instance of ${instances[0]}`;
+              break;
+            case 2:
+              msg += `an instance of ${instances[0]} or ${instances[1]}`;
+              break;
+            default: {
+              const last = instances.pop();
+              msg += `an instance of ${instances.join(", ")}, or ${last}`;
             }
-            failures++;
+          }
+          if (other.length > 0) {
+            msg += " or ";
           }
         }
-      });
-    }
-    function downloadSegment(httpClient, archiveLocation, offset, count) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const partRes = yield (0, requestUtils_1.retryHttpClientResponse)("downloadCachePart", () => __awaiter2(this, void 0, void 0, function* () {
-          return yield httpClient.get(archiveLocation, {
-            Range: `bytes=${offset}-${offset + count - 1}`
-          });
-        }));
-        if (!partRes.readBodyBuffer) {
-          throw new Error("Expected HttpClientResponse to implement readBodyBuffer");
+        switch (other.length) {
+          case 0:
+            break;
+          case 1:
+            if (other[0].toLowerCase() !== other[0]) {
+              msg += "an ";
+            }
+            msg += `${other[0]}`;
+            break;
+          case 2:
+            msg += `one of ${other[0]} or ${other[1]}`;
+            break;
+          default: {
+            const last = other.pop();
+            msg += `one of ${other.join(", ")}, or ${last}`;
+          }
         }
-        return {
-          offset,
-          count,
-          buffer: yield partRes.readBodyBuffer()
-        };
-      });
-    }
-    function downloadCacheStorageSDK(archiveLocation, archivePath, options) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        var _a;
-        const client = new storage_blob_1.BlockBlobClient(archiveLocation, void 0, {
-          retryOptions: {
-            // Override the timeout used when downloading each 4 MB chunk
-            // The default is 2 min / MB, which is way too slow
-            tryTimeoutInMs: options.timeoutInMs
+        if (actual == null) {
+          msg += `. Received ${actual}`;
+        } else if (typeof actual === "function" && actual.name) {
+          msg += `. Received function ${actual.name}`;
+        } else if (typeof actual === "object") {
+          var _actual$constructor;
+          if ((_actual$constructor = actual.constructor) !== null && _actual$constructor !== void 0 && _actual$constructor.name) {
+            msg += `. Received an instance of ${actual.constructor.name}`;
+          } else {
+            const inspected = inspect(actual, {
+              depth: -1
+            });
+            msg += `. Received ${inspected}`;
           }
-        });
-        const properties = yield client.getProperties();
-        const contentLength = (_a = properties.contentLength) !== null && _a !== void 0 ? _a : -1;
-        if (contentLength < 0) {
-          core17.debug("Unable to determine content length, downloading file with http-client...");
-          yield downloadCacheHttpClient(archiveLocation, archivePath);
         } else {
-          const maxSegmentSize = Math.min(134217728, buffer.constants.MAX_LENGTH);
-          const downloadProgress = new DownloadProgress(contentLength);
-          const fd = fs18.openSync(archivePath, "w");
-          try {
-            downloadProgress.startDisplayTimer();
-            const controller = new abort_controller_1.AbortController();
-            const abortSignal = controller.signal;
-            while (!downloadProgress.isDone()) {
-              const segmentStart = downloadProgress.segmentOffset + downloadProgress.segmentSize;
-              const segmentSize = Math.min(maxSegmentSize, contentLength - segmentStart);
-              downloadProgress.nextSegment(segmentSize);
-              const result = yield promiseWithTimeout(options.segmentTimeoutInMs || 36e5, client.downloadToBuffer(segmentStart, segmentSize, {
-                abortSignal,
-                concurrency: options.downloadConcurrency,
-                onProgress: downloadProgress.onProgress()
-              }));
-              if (result === "timeout") {
-                controller.abort();
-                throw new Error("Aborting cache download as the download time exceeded the timeout.");
-              } else if (Buffer.isBuffer(result)) {
-                fs18.writeFileSync(fd, result);
-              }
+          let inspected = inspect(actual, {
+            colors: false
+          });
+          if (inspected.length > 25) {
+            inspected = `${inspected.slice(0, 25)}...`;
+          }
+          msg += `. Received type ${typeof actual} (${inspected})`;
+        }
+        return msg;
+      },
+      TypeError
+    );
+    E(
+      "ERR_INVALID_ARG_VALUE",
+      (name, value, reason = "is invalid") => {
+        let inspected = inspect(value);
+        if (inspected.length > 128) {
+          inspected = inspected.slice(0, 128) + "...";
+        }
+        const type2 = name.includes(".") ? "property" : "argument";
+        return `The ${type2} '${name}' ${reason}. Received ${inspected}`;
+      },
+      TypeError
+    );
+    E(
+      "ERR_INVALID_RETURN_VALUE",
+      (input, name, value) => {
+        var _value$constructor;
+        const type2 = value !== null && value !== void 0 && (_value$constructor = value.constructor) !== null && _value$constructor !== void 0 && _value$constructor.name ? `instance of ${value.constructor.name}` : `type ${typeof value}`;
+        return `Expected ${input} to be returned from the "${name}" function but got ${type2}.`;
+      },
+      TypeError
+    );
+    E(
+      "ERR_MISSING_ARGS",
+      (...args) => {
+        assert(args.length > 0, "At least one arg needs to be specified");
+        let msg;
+        const len = args.length;
+        args = (Array.isArray(args) ? args : [args]).map((a) => `"${a}"`).join(" or ");
+        switch (len) {
+          case 1:
+            msg += `The ${args[0]} argument`;
+            break;
+          case 2:
+            msg += `The ${args[0]} and ${args[1]} arguments`;
+            break;
+          default:
+            {
+              const last = args.pop();
+              msg += `The ${args.join(", ")}, and ${last} arguments`;
             }
-          } finally {
-            downloadProgress.stopDisplayTimer();
-            fs18.closeSync(fd);
+            break;
+        }
+        return `${msg} must be specified`;
+      },
+      TypeError
+    );
+    E(
+      "ERR_OUT_OF_RANGE",
+      (str2, range, input) => {
+        assert(range, 'Missing "range" argument');
+        let received;
+        if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {
+          received = addNumericalSeparator(String(input));
+        } else if (typeof input === "bigint") {
+          received = String(input);
+          if (input > 2n ** 32n || input < -(2n ** 32n)) {
+            received = addNumericalSeparator(received);
           }
+          received += "n";
+        } else {
+          received = inspect(input);
         }
-      });
-    }
-    var promiseWithTimeout = (timeoutMs, promise) => __awaiter2(void 0, void 0, void 0, function* () {
-      let timeoutHandle;
-      const timeoutPromise = new Promise((resolve8) => {
-        timeoutHandle = setTimeout(() => resolve8("timeout"), timeoutMs);
-      });
-      return Promise.race([promise, timeoutPromise]).then((result) => {
-        clearTimeout(timeoutHandle);
-        return result;
-      });
-    });
+        return `The value of "${str2}" is out of range. It must be ${range}. Received ${received}`;
+      },
+      RangeError
+    );
+    E("ERR_MULTIPLE_CALLBACK", "Callback called multiple times", Error);
+    E("ERR_METHOD_NOT_IMPLEMENTED", "The %s method is not implemented", Error);
+    E("ERR_STREAM_ALREADY_FINISHED", "Cannot call %s after a stream was finished", Error);
+    E("ERR_STREAM_CANNOT_PIPE", "Cannot pipe, not readable", Error);
+    E("ERR_STREAM_DESTROYED", "Cannot call %s after a stream was destroyed", Error);
+    E("ERR_STREAM_NULL_VALUES", "May not write null values to stream", TypeError);
+    E("ERR_STREAM_PREMATURE_CLOSE", "Premature close", Error);
+    E("ERR_STREAM_PUSH_AFTER_EOF", "stream.push() after EOF", Error);
+    E("ERR_STREAM_UNSHIFT_AFTER_END_EVENT", "stream.unshift() after end event", Error);
+    E("ERR_STREAM_WRITE_AFTER_END", "write after end", Error);
+    E("ERR_UNKNOWN_ENCODING", "Unknown encoding: %s", TypeError);
+    module2.exports = {
+      AbortError,
+      aggregateTwoErrors: hideStackFrames(aggregateTwoErrors),
+      hideStackFrames,
+      codes
+    };
   }
 });
 
-// node_modules/@actions/cache/lib/options.js
-var require_options = __commonJS({
-  "node_modules/@actions/cache/lib/options.js"(exports2) {
+// node_modules/readable-stream/lib/internal/validators.js
+var require_validators = __commonJS({
+  "node_modules/readable-stream/lib/internal/validators.js"(exports2, module2) {
     "use strict";
-    var __createBinding2 = 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 {
+      ArrayIsArray,
+      ArrayPrototypeIncludes,
+      ArrayPrototypeJoin,
+      ArrayPrototypeMap,
+      NumberIsInteger,
+      NumberIsNaN,
+      NumberMAX_SAFE_INTEGER,
+      NumberMIN_SAFE_INTEGER,
+      NumberParseInt,
+      ObjectPrototypeHasOwnProperty,
+      RegExpPrototypeExec,
+      String: String2,
+      StringPrototypeToUpperCase,
+      StringPrototypeTrim
+    } = require_primordials();
+    var {
+      hideStackFrames,
+      codes: { ERR_SOCKET_BAD_PORT, ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_ARG_VALUE, ERR_OUT_OF_RANGE, ERR_UNKNOWN_SIGNAL }
+    } = require_errors5();
+    var { normalizeEncoding } = require_util21();
+    var { isAsyncFunction, isArrayBufferView } = require_util21().types;
+    var signals = {};
+    function isInt32(value) {
+      return value === (value | 0);
+    }
+    function isUint32(value) {
+      return value === value >>> 0;
+    }
+    var octalReg = /^[0-7]+$/;
+    var modeDesc = "must be a 32-bit unsigned integer or an octal string";
+    function parseFileMode(value, name, def) {
+      if (typeof value === "undefined") {
+        value = def;
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = 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 ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
-        }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getUploadOptions = getUploadOptions;
-    exports2.getDownloadOptions = getDownloadOptions;
-    var core17 = __importStar2(require_core());
-    function getUploadOptions(copy) {
-      const result = {
-        useAzureSdk: false,
-        uploadConcurrency: 4,
-        uploadChunkSize: 32 * 1024 * 1024
-      };
-      if (copy) {
-        if (typeof copy.useAzureSdk === "boolean") {
-          result.useAzureSdk = copy.useAzureSdk;
-        }
-        if (typeof copy.uploadConcurrency === "number") {
-          result.uploadConcurrency = copy.uploadConcurrency;
-        }
-        if (typeof copy.uploadChunkSize === "number") {
-          result.uploadChunkSize = copy.uploadChunkSize;
+      if (typeof value === "string") {
+        if (RegExpPrototypeExec(octalReg, value) === null) {
+          throw new ERR_INVALID_ARG_VALUE(name, value, modeDesc);
         }
+        value = NumberParseInt(value, 8);
       }
-      result.uploadConcurrency = !isNaN(Number(process.env["CACHE_UPLOAD_CONCURRENCY"])) ? Math.min(32, Number(process.env["CACHE_UPLOAD_CONCURRENCY"])) : result.uploadConcurrency;
-      result.uploadChunkSize = !isNaN(Number(process.env["CACHE_UPLOAD_CHUNK_SIZE"])) ? Math.min(128 * 1024 * 1024, Number(process.env["CACHE_UPLOAD_CHUNK_SIZE"]) * 1024 * 1024) : result.uploadChunkSize;
-      core17.debug(`Use Azure SDK: ${result.useAzureSdk}`);
-      core17.debug(`Upload concurrency: ${result.uploadConcurrency}`);
-      core17.debug(`Upload chunk size: ${result.uploadChunkSize}`);
-      return result;
+      validateUint32(value, name);
+      return value;
     }
-    function getDownloadOptions(copy) {
-      const result = {
-        useAzureSdk: false,
-        concurrentBlobDownloads: true,
-        downloadConcurrency: 8,
-        timeoutInMs: 3e4,
-        segmentTimeoutInMs: 6e5,
-        lookupOnly: false
-      };
-      if (copy) {
-        if (typeof copy.useAzureSdk === "boolean") {
-          result.useAzureSdk = copy.useAzureSdk;
-        }
-        if (typeof copy.concurrentBlobDownloads === "boolean") {
-          result.concurrentBlobDownloads = copy.concurrentBlobDownloads;
-        }
-        if (typeof copy.downloadConcurrency === "number") {
-          result.downloadConcurrency = copy.downloadConcurrency;
-        }
-        if (typeof copy.timeoutInMs === "number") {
-          result.timeoutInMs = copy.timeoutInMs;
-        }
-        if (typeof copy.segmentTimeoutInMs === "number") {
-          result.segmentTimeoutInMs = copy.segmentTimeoutInMs;
+    var validateInteger = hideStackFrames((value, name, min = NumberMIN_SAFE_INTEGER, max = NumberMAX_SAFE_INTEGER) => {
+      if (typeof value !== "number") throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
+      if (!NumberIsInteger(value)) throw new ERR_OUT_OF_RANGE(name, "an integer", value);
+      if (value < min || value > max) throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
+    });
+    var validateInt32 = hideStackFrames((value, name, min = -2147483648, max = 2147483647) => {
+      if (typeof value !== "number") {
+        throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
+      }
+      if (!NumberIsInteger(value)) {
+        throw new ERR_OUT_OF_RANGE(name, "an integer", value);
+      }
+      if (value < min || value > max) {
+        throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
+      }
+    });
+    var validateUint32 = hideStackFrames((value, name, positive = false) => {
+      if (typeof value !== "number") {
+        throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
+      }
+      if (!NumberIsInteger(value)) {
+        throw new ERR_OUT_OF_RANGE(name, "an integer", value);
+      }
+      const min = positive ? 1 : 0;
+      const max = 4294967295;
+      if (value < min || value > max) {
+        throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
+      }
+    });
+    function validateString(value, name) {
+      if (typeof value !== "string") throw new ERR_INVALID_ARG_TYPE2(name, "string", value);
+    }
+    function validateNumber(value, name, min = void 0, max) {
+      if (typeof value !== "number") throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
+      if (min != null && value < min || max != null && value > max || (min != null || max != null) && NumberIsNaN(value)) {
+        throw new ERR_OUT_OF_RANGE(
+          name,
+          `${min != null ? `>= ${min}` : ""}${min != null && max != null ? " && " : ""}${max != null ? `<= ${max}` : ""}`,
+          value
+        );
+      }
+    }
+    var validateOneOf = hideStackFrames((value, name, oneOf) => {
+      if (!ArrayPrototypeIncludes(oneOf, value)) {
+        const allowed = ArrayPrototypeJoin(
+          ArrayPrototypeMap(oneOf, (v) => typeof v === "string" ? `'${v}'` : String2(v)),
+          ", "
+        );
+        const reason = "must be one of: " + allowed;
+        throw new ERR_INVALID_ARG_VALUE(name, value, reason);
+      }
+    });
+    function validateBoolean(value, name) {
+      if (typeof value !== "boolean") throw new ERR_INVALID_ARG_TYPE2(name, "boolean", value);
+    }
+    function getOwnPropertyValueOrDefault(options, key, defaultValue) {
+      return options == null || !ObjectPrototypeHasOwnProperty(options, key) ? defaultValue : options[key];
+    }
+    var validateObject = hideStackFrames((value, name, options = null) => {
+      const allowArray = getOwnPropertyValueOrDefault(options, "allowArray", false);
+      const allowFunction = getOwnPropertyValueOrDefault(options, "allowFunction", false);
+      const nullable = getOwnPropertyValueOrDefault(options, "nullable", false);
+      if (!nullable && value === null || !allowArray && ArrayIsArray(value) || typeof value !== "object" && (!allowFunction || typeof value !== "function")) {
+        throw new ERR_INVALID_ARG_TYPE2(name, "Object", value);
+      }
+    });
+    var validateDictionary = hideStackFrames((value, name) => {
+      if (value != null && typeof value !== "object" && typeof value !== "function") {
+        throw new ERR_INVALID_ARG_TYPE2(name, "a dictionary", value);
+      }
+    });
+    var validateArray = hideStackFrames((value, name, minLength = 0) => {
+      if (!ArrayIsArray(value)) {
+        throw new ERR_INVALID_ARG_TYPE2(name, "Array", value);
+      }
+      if (value.length < minLength) {
+        const reason = `must be longer than ${minLength}`;
+        throw new ERR_INVALID_ARG_VALUE(name, value, reason);
+      }
+    });
+    function validateStringArray(value, name) {
+      validateArray(value, name);
+      for (let i = 0; i < value.length; i++) {
+        validateString(value[i], `${name}[${i}]`);
+      }
+    }
+    function validateBooleanArray(value, name) {
+      validateArray(value, name);
+      for (let i = 0; i < value.length; i++) {
+        validateBoolean(value[i], `${name}[${i}]`);
+      }
+    }
+    function validateAbortSignalArray(value, name) {
+      validateArray(value, name);
+      for (let i = 0; i < value.length; i++) {
+        const signal = value[i];
+        const indexedName = `${name}[${i}]`;
+        if (signal == null) {
+          throw new ERR_INVALID_ARG_TYPE2(indexedName, "AbortSignal", signal);
         }
-        if (typeof copy.lookupOnly === "boolean") {
-          result.lookupOnly = copy.lookupOnly;
+        validateAbortSignal(signal, indexedName);
+      }
+    }
+    function validateSignalName(signal, name = "signal") {
+      validateString(signal, name);
+      if (signals[signal] === void 0) {
+        if (signals[StringPrototypeToUpperCase(signal)] !== void 0) {
+          throw new ERR_UNKNOWN_SIGNAL(signal + " (signals must use all capital letters)");
         }
+        throw new ERR_UNKNOWN_SIGNAL(signal);
       }
-      const segmentDownloadTimeoutMins = process.env["SEGMENT_DOWNLOAD_TIMEOUT_MINS"];
-      if (segmentDownloadTimeoutMins && !isNaN(Number(segmentDownloadTimeoutMins)) && isFinite(Number(segmentDownloadTimeoutMins))) {
-        result.segmentTimeoutInMs = Number(segmentDownloadTimeoutMins) * 60 * 1e3;
+    }
+    var validateBuffer = hideStackFrames((buffer, name = "buffer") => {
+      if (!isArrayBufferView(buffer)) {
+        throw new ERR_INVALID_ARG_TYPE2(name, ["Buffer", "TypedArray", "DataView"], buffer);
+      }
+    });
+    function validateEncoding(data, encoding) {
+      const normalizedEncoding = normalizeEncoding(encoding);
+      const length = data.length;
+      if (normalizedEncoding === "hex" && length % 2 !== 0) {
+        throw new ERR_INVALID_ARG_VALUE("encoding", encoding, `is invalid for data of length ${length}`);
       }
-      core17.debug(`Use Azure SDK: ${result.useAzureSdk}`);
-      core17.debug(`Download concurrency: ${result.downloadConcurrency}`);
-      core17.debug(`Request timeout (ms): ${result.timeoutInMs}`);
-      core17.debug(`Cache segment download timeout mins env var: ${process.env["SEGMENT_DOWNLOAD_TIMEOUT_MINS"]}`);
-      core17.debug(`Segment download timeout (ms): ${result.segmentTimeoutInMs}`);
-      core17.debug(`Lookup only: ${result.lookupOnly}`);
-      return result;
     }
-  }
-});
-
-// node_modules/@actions/cache/lib/internal/config.js
-var require_config = __commonJS({
-  "node_modules/@actions/cache/lib/internal/config.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isGhes = isGhes;
-    exports2.getCacheServiceVersion = getCacheServiceVersion;
-    exports2.getCacheServiceURL = getCacheServiceURL;
-    function isGhes() {
-      const ghUrl = new URL(process.env["GITHUB_SERVER_URL"] || "https://github.com");
-      const hostname = ghUrl.hostname.trimEnd().toUpperCase();
-      const isGitHubHost = hostname === "GITHUB.COM";
-      const isGheHost = hostname.endsWith(".GHE.COM");
-      const isLocalHost = hostname.endsWith(".LOCALHOST");
-      return !isGitHubHost && !isGheHost && !isLocalHost;
+    function validatePort(port, name = "Port", allowZero = true) {
+      if (typeof port !== "number" && typeof port !== "string" || typeof port === "string" && StringPrototypeTrim(port).length === 0 || +port !== +port >>> 0 || port > 65535 || port === 0 && !allowZero) {
+        throw new ERR_SOCKET_BAD_PORT(name, port, allowZero);
+      }
+      return port | 0;
+    }
+    var validateAbortSignal = hideStackFrames((signal, name) => {
+      if (signal !== void 0 && (signal === null || typeof signal !== "object" || !("aborted" in signal))) {
+        throw new ERR_INVALID_ARG_TYPE2(name, "AbortSignal", signal);
+      }
+    });
+    var validateFunction = hideStackFrames((value, name) => {
+      if (typeof value !== "function") throw new ERR_INVALID_ARG_TYPE2(name, "Function", value);
+    });
+    var validatePlainFunction = hideStackFrames((value, name) => {
+      if (typeof value !== "function" || isAsyncFunction(value)) throw new ERR_INVALID_ARG_TYPE2(name, "Function", value);
+    });
+    var validateUndefined = hideStackFrames((value, name) => {
+      if (value !== void 0) throw new ERR_INVALID_ARG_TYPE2(name, "undefined", value);
+    });
+    function validateUnion(value, name, union) {
+      if (!ArrayPrototypeIncludes(union, value)) {
+        throw new ERR_INVALID_ARG_TYPE2(name, `('${ArrayPrototypeJoin(union, "|")}')`, value);
+      }
     }
-    function getCacheServiceVersion() {
-      if (isGhes())
-        return "v1";
-      return process.env["ACTIONS_CACHE_SERVICE_V2"] ? "v2" : "v1";
+    var linkValueRegExp = /^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/;
+    function validateLinkHeaderFormat(value, name) {
+      if (typeof value === "undefined" || !RegExpPrototypeExec(linkValueRegExp, value)) {
+        throw new ERR_INVALID_ARG_VALUE(
+          name,
+          value,
+          'must be an array or string of format "; rel=preload; as=style"'
+        );
+      }
     }
-    function getCacheServiceURL() {
-      const version = getCacheServiceVersion();
-      switch (version) {
-        case "v1":
-          return process.env["ACTIONS_CACHE_URL"] || process.env["ACTIONS_RESULTS_URL"] || "";
-        case "v2":
-          return process.env["ACTIONS_RESULTS_URL"] || "";
-        default:
-          throw new Error(`Unsupported cache service version: ${version}`);
+    function validateLinkHeaderValue(hints) {
+      if (typeof hints === "string") {
+        validateLinkHeaderFormat(hints, "hints");
+        return hints;
+      } else if (ArrayIsArray(hints)) {
+        const hintsLength = hints.length;
+        let result = "";
+        if (hintsLength === 0) {
+          return result;
+        }
+        for (let i = 0; i < hintsLength; i++) {
+          const link = hints[i];
+          validateLinkHeaderFormat(link, "hints");
+          result += link;
+          if (i !== hintsLength - 1) {
+            result += ", ";
+          }
+        }
+        return result;
       }
+      throw new ERR_INVALID_ARG_VALUE(
+        "hints",
+        hints,
+        'must be an array or string of format "; rel=preload; as=style"'
+      );
     }
-  }
-});
-
-// node_modules/@actions/cache/package.json
-var require_package2 = __commonJS({
-  "node_modules/@actions/cache/package.json"(exports2, module2) {
     module2.exports = {
-      name: "@actions/cache",
-      version: "5.0.5",
-      preview: true,
-      description: "Actions cache lib",
-      keywords: [
-        "github",
-        "actions",
-        "cache"
-      ],
-      homepage: "https://github.com/actions/toolkit/tree/main/packages/cache",
-      license: "MIT",
-      main: "lib/cache.js",
-      types: "lib/cache.d.ts",
-      directories: {
-        lib: "lib",
-        test: "__tests__"
-      },
-      files: [
-        "lib",
-        "!.DS_Store"
-      ],
-      publishConfig: {
-        access: "public"
-      },
-      repository: {
-        type: "git",
-        url: "git+https://github.com/actions/toolkit.git",
-        directory: "packages/cache"
-      },
-      scripts: {
-        "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json",
-        test: 'echo "Error: run tests from root" && exit 1',
-        tsc: "tsc"
-      },
-      bugs: {
-        url: "https://github.com/actions/toolkit/issues"
-      },
-      dependencies: {
-        "@actions/core": "^2.0.0",
-        "@actions/exec": "^2.0.0",
-        "@actions/glob": "^0.5.1",
-        "@protobuf-ts/runtime-rpc": "^2.11.1",
-        "@actions/http-client": "^3.0.2",
-        "@actions/io": "^2.0.0",
-        "@azure/abort-controller": "^1.1.0",
-        "@azure/core-rest-pipeline": "^1.22.0",
-        "@azure/storage-blob": "^12.29.1",
-        semver: "^6.3.1"
-      },
-      devDependencies: {
-        "@types/node": "^24.1.0",
-        "@types/semver": "^6.0.0",
-        "@protobuf-ts/plugin": "^2.9.4",
-        typescript: "^5.2.2"
-      },
-      overrides: {
-        "uri-js": "npm:uri-js-replace@^1.0.1",
-        "node-fetch": "^3.3.2"
-      }
+      isInt32,
+      isUint32,
+      parseFileMode,
+      validateArray,
+      validateStringArray,
+      validateBooleanArray,
+      validateAbortSignalArray,
+      validateBoolean,
+      validateBuffer,
+      validateDictionary,
+      validateEncoding,
+      validateFunction,
+      validateInt32,
+      validateInteger,
+      validateNumber,
+      validateObject,
+      validateOneOf,
+      validatePlainFunction,
+      validatePort,
+      validateSignalName,
+      validateString,
+      validateUint32,
+      validateUndefined,
+      validateUnion,
+      validateAbortSignal,
+      validateLinkHeaderValue
     };
   }
 });
 
-// node_modules/@actions/cache/lib/internal/shared/user-agent.js
-var require_user_agent = __commonJS({
-  "node_modules/@actions/cache/lib/internal/shared/user-agent.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getUserAgentString = getUserAgentString;
-    var packageJson = require_package2();
-    function getUserAgentString() {
-      return `@actions/cache-${packageJson.version}`;
-    }
+// node_modules/process/index.js
+var require_process = __commonJS({
+  "node_modules/process/index.js"(exports2, module2) {
+    module2.exports = global.process;
   }
 });
 
-// node_modules/@actions/cache/lib/internal/cacheHttpClient.js
-var require_cacheHttpClient = __commonJS({
-  "node_modules/@actions/cache/lib/internal/cacheHttpClient.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/utils.js
+var require_utils8 = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/utils.js"(exports2, module2) {
     "use strict";
-    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = 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 ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
-        }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve8) {
-          resolve8(value);
-        });
-      }
-      return new (P || (P = Promise))(function(resolve8, 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 ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getCacheEntry = getCacheEntry;
-    exports2.downloadCache = downloadCache;
-    exports2.reserveCache = reserveCache;
-    exports2.saveCache = saveCache4;
-    var core17 = __importStar2(require_core());
-    var http_client_1 = require_lib();
-    var auth_1 = require_auth();
-    var fs18 = __importStar2(require("fs"));
-    var url_1 = require("url");
-    var utils = __importStar2(require_cacheUtils());
-    var uploadUtils_1 = require_uploadUtils();
-    var downloadUtils_1 = require_downloadUtils();
-    var options_1 = require_options();
-    var requestUtils_1 = require_requestUtils();
-    var config_1 = require_config();
-    var user_agent_1 = require_user_agent();
-    function getCacheApiUrl(resource) {
-      const baseUrl = (0, config_1.getCacheServiceURL)();
-      if (!baseUrl) {
-        throw new Error("Cache Service Url not found, unable to restore cache.");
-      }
-      const url2 = `${baseUrl}_apis/artifactcache/${resource}`;
-      core17.debug(`Resource Url: ${url2}`);
-      return url2;
+    var { SymbolAsyncIterator, SymbolIterator, SymbolFor } = require_primordials();
+    var kIsDestroyed = SymbolFor("nodejs.stream.destroyed");
+    var kIsErrored = SymbolFor("nodejs.stream.errored");
+    var kIsReadable = SymbolFor("nodejs.stream.readable");
+    var kIsWritable = SymbolFor("nodejs.stream.writable");
+    var kIsDisturbed = SymbolFor("nodejs.stream.disturbed");
+    var kIsClosedPromise = SymbolFor("nodejs.webstream.isClosedPromise");
+    var kControllerErrorFunction = SymbolFor("nodejs.webstream.controllerErrorFunction");
+    function isReadableNodeStream(obj, strict = false) {
+      var _obj$_readableState;
+      return !!(obj && typeof obj.pipe === "function" && typeof obj.on === "function" && (!strict || typeof obj.pause === "function" && typeof obj.resume === "function") && (!obj._writableState || ((_obj$_readableState = obj._readableState) === null || _obj$_readableState === void 0 ? void 0 : _obj$_readableState.readable) !== false) && // Duplex
+      (!obj._writableState || obj._readableState));
     }
-    function createAcceptHeader(type2, apiVersion) {
-      return `${type2};api-version=${apiVersion}`;
+    function isWritableNodeStream(obj) {
+      var _obj$_writableState;
+      return !!(obj && typeof obj.write === "function" && typeof obj.on === "function" && (!obj._readableState || ((_obj$_writableState = obj._writableState) === null || _obj$_writableState === void 0 ? void 0 : _obj$_writableState.writable) !== false));
     }
-    function getRequestOptions() {
-      const requestOptions = {
-        headers: {
-          Accept: createAcceptHeader("application/json", "6.0-preview.1")
-        }
-      };
-      return requestOptions;
+    function isDuplexNodeStream(obj) {
+      return !!(obj && typeof obj.pipe === "function" && obj._readableState && typeof obj.on === "function" && typeof obj.write === "function");
     }
-    function createHttpClient() {
-      const token = process.env["ACTIONS_RUNTIME_TOKEN"] || "";
-      const bearerCredentialHandler = new auth_1.BearerCredentialHandler(token);
-      return new http_client_1.HttpClient((0, user_agent_1.getUserAgentString)(), [bearerCredentialHandler], getRequestOptions());
+    function isNodeStream(obj) {
+      return obj && (obj._readableState || obj._writableState || typeof obj.write === "function" && typeof obj.on === "function" || typeof obj.pipe === "function" && typeof obj.on === "function");
     }
-    function getCacheEntry(keys, paths, options) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const httpClient = createHttpClient();
-        const version = utils.getCacheVersion(paths, options === null || options === void 0 ? void 0 : options.compressionMethod, options === null || options === void 0 ? void 0 : options.enableCrossOsArchive);
-        const resource = `cache?keys=${encodeURIComponent(keys.join(","))}&version=${version}`;
-        const response = yield (0, requestUtils_1.retryTypedResponse)("getCacheEntry", () => __awaiter2(this, void 0, void 0, function* () {
-          return httpClient.getJson(getCacheApiUrl(resource));
-        }));
-        if (response.statusCode === 204) {
-          if (core17.isDebug()) {
-            yield printCachesListForDiagnostics(keys[0], httpClient, version);
-          }
-          return null;
-        }
-        if (!(0, requestUtils_1.isSuccessStatusCode)(response.statusCode)) {
-          throw new Error(`Cache service responded with ${response.statusCode}`);
-        }
-        const cacheResult = response.result;
-        const cacheDownloadUrl = cacheResult === null || cacheResult === void 0 ? void 0 : cacheResult.archiveLocation;
-        if (!cacheDownloadUrl) {
-          throw new Error("Cache not found.");
-        }
-        core17.setSecret(cacheDownloadUrl);
-        core17.debug(`Cache Result:`);
-        core17.debug(JSON.stringify(cacheResult));
-        return cacheResult;
-      });
+    function isReadableStream(obj) {
+      return !!(obj && !isNodeStream(obj) && typeof obj.pipeThrough === "function" && typeof obj.getReader === "function" && typeof obj.cancel === "function");
     }
-    function printCachesListForDiagnostics(key, httpClient, version) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const resource = `caches?key=${encodeURIComponent(key)}`;
-        const response = yield (0, requestUtils_1.retryTypedResponse)("listCache", () => __awaiter2(this, void 0, void 0, function* () {
-          return httpClient.getJson(getCacheApiUrl(resource));
-        }));
-        if (response.statusCode === 200) {
-          const cacheListResult = response.result;
-          const totalCount = cacheListResult === null || cacheListResult === void 0 ? void 0 : cacheListResult.totalCount;
-          if (totalCount && totalCount > 0) {
-            core17.debug(`No matching cache found for cache key '${key}', version '${version} and scope ${process.env["GITHUB_REF"]}. There exist one or more cache(s) with similar key but they have different version or scope. See more info on cache matching here: https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#matching-a-cache-key 
-Other caches with similar key:`);
-            for (const cacheEntry of (cacheListResult === null || cacheListResult === void 0 ? void 0 : cacheListResult.artifactCaches) || []) {
-              core17.debug(`Cache Key: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.cacheKey}, Cache Version: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.cacheVersion}, Cache Scope: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.scope}, Cache Created: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.creationTime}`);
-            }
-          }
-        }
-      });
+    function isWritableStream(obj) {
+      return !!(obj && !isNodeStream(obj) && typeof obj.getWriter === "function" && typeof obj.abort === "function");
     }
-    function downloadCache(archiveLocation, archivePath, options) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const archiveUrl = new url_1.URL(archiveLocation);
-        const downloadOptions = (0, options_1.getDownloadOptions)(options);
-        if (archiveUrl.hostname.endsWith(".blob.core.windows.net")) {
-          if (downloadOptions.useAzureSdk) {
-            yield (0, downloadUtils_1.downloadCacheStorageSDK)(archiveLocation, archivePath, downloadOptions);
-          } else if (downloadOptions.concurrentBlobDownloads) {
-            yield (0, downloadUtils_1.downloadCacheHttpClientConcurrent)(archiveLocation, archivePath, downloadOptions);
-          } else {
-            yield (0, downloadUtils_1.downloadCacheHttpClient)(archiveLocation, archivePath);
-          }
-        } else {
-          yield (0, downloadUtils_1.downloadCacheHttpClient)(archiveLocation, archivePath);
-        }
-      });
+    function isTransformStream(obj) {
+      return !!(obj && !isNodeStream(obj) && typeof obj.readable === "object" && typeof obj.writable === "object");
     }
-    function reserveCache(key, paths, options) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const httpClient = createHttpClient();
-        const version = utils.getCacheVersion(paths, options === null || options === void 0 ? void 0 : options.compressionMethod, options === null || options === void 0 ? void 0 : options.enableCrossOsArchive);
-        const reserveCacheRequest = {
-          key,
-          version,
-          cacheSize: options === null || options === void 0 ? void 0 : options.cacheSize
-        };
-        const response = yield (0, requestUtils_1.retryTypedResponse)("reserveCache", () => __awaiter2(this, void 0, void 0, function* () {
-          return httpClient.postJson(getCacheApiUrl("caches"), reserveCacheRequest);
-        }));
-        return response;
-      });
+    function isWebStream(obj) {
+      return isReadableStream(obj) || isWritableStream(obj) || isTransformStream(obj);
     }
-    function getContentRange(start, end) {
-      return `bytes ${start}-${end}/*`;
+    function isIterable(obj, isAsync) {
+      if (obj == null) return false;
+      if (isAsync === true) return typeof obj[SymbolAsyncIterator] === "function";
+      if (isAsync === false) return typeof obj[SymbolIterator] === "function";
+      return typeof obj[SymbolAsyncIterator] === "function" || typeof obj[SymbolIterator] === "function";
     }
-    function uploadChunk(httpClient, resourceUrl, openStream, start, end) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        core17.debug(`Uploading chunk of size ${end - start + 1} bytes at offset ${start} with content range: ${getContentRange(start, end)}`);
-        const additionalHeaders = {
-          "Content-Type": "application/octet-stream",
-          "Content-Range": getContentRange(start, end)
-        };
-        const uploadChunkResponse = yield (0, requestUtils_1.retryHttpClientResponse)(`uploadChunk (start: ${start}, end: ${end})`, () => __awaiter2(this, void 0, void 0, function* () {
-          return httpClient.sendStream("PATCH", resourceUrl, openStream(), additionalHeaders);
-        }));
-        if (!(0, requestUtils_1.isSuccessStatusCode)(uploadChunkResponse.message.statusCode)) {
-          throw new Error(`Cache service responded with ${uploadChunkResponse.message.statusCode} during upload chunk.`);
-        }
-      });
+    function isDestroyed(stream2) {
+      if (!isNodeStream(stream2)) return null;
+      const wState = stream2._writableState;
+      const rState = stream2._readableState;
+      const state = wState || rState;
+      return !!(stream2.destroyed || stream2[kIsDestroyed] || state !== null && state !== void 0 && state.destroyed);
     }
-    function uploadFile(httpClient, cacheId, archivePath, options) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const fileSize = utils.getArchiveFileSizeInBytes(archivePath);
-        const resourceUrl = getCacheApiUrl(`caches/${cacheId.toString()}`);
-        const fd = fs18.openSync(archivePath, "r");
-        const uploadOptions = (0, options_1.getUploadOptions)(options);
-        const concurrency = utils.assertDefined("uploadConcurrency", uploadOptions.uploadConcurrency);
-        const maxChunkSize = utils.assertDefined("uploadChunkSize", uploadOptions.uploadChunkSize);
-        const parallelUploads = [...new Array(concurrency).keys()];
-        core17.debug("Awaiting all uploads");
-        let offset = 0;
-        try {
-          yield Promise.all(parallelUploads.map(() => __awaiter2(this, void 0, void 0, function* () {
-            while (offset < fileSize) {
-              const chunkSize = Math.min(fileSize - offset, maxChunkSize);
-              const start = offset;
-              const end = offset + chunkSize - 1;
-              offset += maxChunkSize;
-              yield uploadChunk(httpClient, resourceUrl, () => fs18.createReadStream(archivePath, {
-                fd,
-                start,
-                end,
-                autoClose: false
-              }).on("error", (error3) => {
-                throw new Error(`Cache upload failed because file read failed with ${error3.message}`);
-              }), start, end);
-            }
-          })));
-        } finally {
-          fs18.closeSync(fd);
-        }
-        return;
-      });
+    function isWritableEnded(stream2) {
+      if (!isWritableNodeStream(stream2)) return null;
+      if (stream2.writableEnded === true) return true;
+      const wState = stream2._writableState;
+      if (wState !== null && wState !== void 0 && wState.errored) return false;
+      if (typeof (wState === null || wState === void 0 ? void 0 : wState.ended) !== "boolean") return null;
+      return wState.ended;
     }
-    function commitCache(httpClient, cacheId, filesize) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const commitCacheRequest = { size: filesize };
-        return yield (0, requestUtils_1.retryTypedResponse)("commitCache", () => __awaiter2(this, void 0, void 0, function* () {
-          return httpClient.postJson(getCacheApiUrl(`caches/${cacheId.toString()}`), commitCacheRequest);
-        }));
-      });
+    function isWritableFinished(stream2, strict) {
+      if (!isWritableNodeStream(stream2)) return null;
+      if (stream2.writableFinished === true) return true;
+      const wState = stream2._writableState;
+      if (wState !== null && wState !== void 0 && wState.errored) return false;
+      if (typeof (wState === null || wState === void 0 ? void 0 : wState.finished) !== "boolean") return null;
+      return !!(wState.finished || strict === false && wState.ended === true && wState.length === 0);
     }
-    function saveCache4(cacheId, archivePath, signedUploadURL, options) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const uploadOptions = (0, options_1.getUploadOptions)(options);
-        if (uploadOptions.useAzureSdk) {
-          if (!signedUploadURL) {
-            throw new Error("Azure Storage SDK can only be used when a signed URL is provided.");
-          }
-          yield (0, uploadUtils_1.uploadCacheArchiveSDK)(signedUploadURL, archivePath, options);
-        } else {
-          const httpClient = createHttpClient();
-          core17.debug("Upload cache");
-          yield uploadFile(httpClient, cacheId, archivePath, options);
-          core17.debug("Commiting cache");
-          const cacheSize = utils.getArchiveFileSizeInBytes(archivePath);
-          core17.info(`Cache Size: ~${Math.round(cacheSize / (1024 * 1024))} MB (${cacheSize} B)`);
-          const commitCacheResponse = yield commitCache(httpClient, cacheId, cacheSize);
-          if (!(0, requestUtils_1.isSuccessStatusCode)(commitCacheResponse.statusCode)) {
-            throw new Error(`Cache service responded with ${commitCacheResponse.statusCode} during commit cache.`);
-          }
-          core17.info("Cache saved successfully");
-        }
-      });
+    function isReadableEnded(stream2) {
+      if (!isReadableNodeStream(stream2)) return null;
+      if (stream2.readableEnded === true) return true;
+      const rState = stream2._readableState;
+      if (!rState || rState.errored) return false;
+      if (typeof (rState === null || rState === void 0 ? void 0 : rState.ended) !== "boolean") return null;
+      return rState.ended;
     }
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/json-typings.js
-var require_json_typings = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/json-typings.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isJsonObject = exports2.typeofJsonValue = void 0;
-    function typeofJsonValue(value) {
-      let t = typeof value;
-      if (t == "object") {
-        if (Array.isArray(value))
-          return "array";
-        if (value === null)
-          return "null";
-      }
-      return t;
+    function isReadableFinished(stream2, strict) {
+      if (!isReadableNodeStream(stream2)) return null;
+      const rState = stream2._readableState;
+      if (rState !== null && rState !== void 0 && rState.errored) return false;
+      if (typeof (rState === null || rState === void 0 ? void 0 : rState.endEmitted) !== "boolean") return null;
+      return !!(rState.endEmitted || strict === false && rState.ended === true && rState.length === 0);
     }
-    exports2.typeofJsonValue = typeofJsonValue;
-    function isJsonObject(value) {
-      return value !== null && typeof value == "object" && !Array.isArray(value);
+    function isReadable(stream2) {
+      if (stream2 && stream2[kIsReadable] != null) return stream2[kIsReadable];
+      if (typeof (stream2 === null || stream2 === void 0 ? void 0 : stream2.readable) !== "boolean") return null;
+      if (isDestroyed(stream2)) return false;
+      return isReadableNodeStream(stream2) && stream2.readable && !isReadableFinished(stream2);
     }
-    exports2.isJsonObject = isJsonObject;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/base64.js
-var require_base642 = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/base64.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.base64encode = exports2.base64decode = void 0;
-    var encTable = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");
-    var decTable = [];
-    for (let i = 0; i < encTable.length; i++)
-      decTable[encTable[i].charCodeAt(0)] = i;
-    decTable["-".charCodeAt(0)] = encTable.indexOf("+");
-    decTable["_".charCodeAt(0)] = encTable.indexOf("/");
-    function base64decode(base64Str) {
-      let es = base64Str.length * 3 / 4;
-      if (base64Str[base64Str.length - 2] == "=")
-        es -= 2;
-      else if (base64Str[base64Str.length - 1] == "=")
-        es -= 1;
-      let bytes = new Uint8Array(es), bytePos = 0, groupPos = 0, b, p = 0;
-      for (let i = 0; i < base64Str.length; i++) {
-        b = decTable[base64Str.charCodeAt(i)];
-        if (b === void 0) {
-          switch (base64Str[i]) {
-            case "=":
-              groupPos = 0;
-            // reset state when padding found
-            case "\n":
-            case "\r":
-            case "	":
-            case " ":
-              continue;
-            // skip white-space, and padding
-            default:
-              throw Error(`invalid base64 string.`);
-          }
-        }
-        switch (groupPos) {
-          case 0:
-            p = b;
-            groupPos = 1;
-            break;
-          case 1:
-            bytes[bytePos++] = p << 2 | (b & 48) >> 4;
-            p = b;
-            groupPos = 2;
-            break;
-          case 2:
-            bytes[bytePos++] = (p & 15) << 4 | (b & 60) >> 2;
-            p = b;
-            groupPos = 3;
-            break;
-          case 3:
-            bytes[bytePos++] = (p & 3) << 6 | b;
-            groupPos = 0;
-            break;
-        }
+    function isWritable(stream2) {
+      if (stream2 && stream2[kIsWritable] != null) return stream2[kIsWritable];
+      if (typeof (stream2 === null || stream2 === void 0 ? void 0 : stream2.writable) !== "boolean") return null;
+      if (isDestroyed(stream2)) return false;
+      return isWritableNodeStream(stream2) && stream2.writable && !isWritableEnded(stream2);
+    }
+    function isFinished(stream2, opts) {
+      if (!isNodeStream(stream2)) {
+        return null;
       }
-      if (groupPos == 1)
-        throw Error(`invalid base64 string.`);
-      return bytes.subarray(0, bytePos);
+      if (isDestroyed(stream2)) {
+        return true;
+      }
+      if ((opts === null || opts === void 0 ? void 0 : opts.readable) !== false && isReadable(stream2)) {
+        return false;
+      }
+      if ((opts === null || opts === void 0 ? void 0 : opts.writable) !== false && isWritable(stream2)) {
+        return false;
+      }
+      return true;
     }
-    exports2.base64decode = base64decode;
-    function base64encode(bytes) {
-      let base64 = "", groupPos = 0, b, p = 0;
-      for (let i = 0; i < bytes.length; i++) {
-        b = bytes[i];
-        switch (groupPos) {
-          case 0:
-            base64 += encTable[b >> 2];
-            p = (b & 3) << 4;
-            groupPos = 1;
-            break;
-          case 1:
-            base64 += encTable[p | b >> 4];
-            p = (b & 15) << 2;
-            groupPos = 2;
-            break;
-          case 2:
-            base64 += encTable[p | b >> 6];
-            base64 += encTable[b & 63];
-            groupPos = 0;
-            break;
-        }
+    function isWritableErrored(stream2) {
+      var _stream$_writableStat, _stream$_writableStat2;
+      if (!isNodeStream(stream2)) {
+        return null;
       }
-      if (groupPos) {
-        base64 += encTable[p];
-        base64 += "=";
-        if (groupPos == 1)
-          base64 += "=";
+      if (stream2.writableErrored) {
+        return stream2.writableErrored;
       }
-      return base64;
+      return (_stream$_writableStat = (_stream$_writableStat2 = stream2._writableState) === null || _stream$_writableStat2 === void 0 ? void 0 : _stream$_writableStat2.errored) !== null && _stream$_writableStat !== void 0 ? _stream$_writableStat : null;
     }
-    exports2.base64encode = base64encode;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/protobufjs-utf8.js
-var require_protobufjs_utf8 = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/protobufjs-utf8.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.utf8read = void 0;
-    var fromCharCodes = (chunk) => String.fromCharCode.apply(String, chunk);
-    function utf8read(bytes) {
-      if (bytes.length < 1)
-        return "";
-      let pos = 0, parts = [], chunk = [], i = 0, t;
-      let len = bytes.length;
-      while (pos < len) {
-        t = bytes[pos++];
-        if (t < 128)
-          chunk[i++] = t;
-        else if (t > 191 && t < 224)
-          chunk[i++] = (t & 31) << 6 | bytes[pos++] & 63;
-        else if (t > 239 && t < 365) {
-          t = ((t & 7) << 18 | (bytes[pos++] & 63) << 12 | (bytes[pos++] & 63) << 6 | bytes[pos++] & 63) - 65536;
-          chunk[i++] = 55296 + (t >> 10);
-          chunk[i++] = 56320 + (t & 1023);
-        } else
-          chunk[i++] = (t & 15) << 12 | (bytes[pos++] & 63) << 6 | bytes[pos++] & 63;
-        if (i > 8191) {
-          parts.push(fromCharCodes(chunk));
-          i = 0;
-        }
+    function isReadableErrored(stream2) {
+      var _stream$_readableStat, _stream$_readableStat2;
+      if (!isNodeStream(stream2)) {
+        return null;
       }
-      if (parts.length) {
-        if (i)
-          parts.push(fromCharCodes(chunk.slice(0, i)));
-        return parts.join("");
+      if (stream2.readableErrored) {
+        return stream2.readableErrored;
       }
-      return fromCharCodes(chunk.slice(0, i));
+      return (_stream$_readableStat = (_stream$_readableStat2 = stream2._readableState) === null || _stream$_readableStat2 === void 0 ? void 0 : _stream$_readableStat2.errored) !== null && _stream$_readableStat !== void 0 ? _stream$_readableStat : null;
     }
-    exports2.utf8read = utf8read;
+    function isClosed(stream2) {
+      if (!isNodeStream(stream2)) {
+        return null;
+      }
+      if (typeof stream2.closed === "boolean") {
+        return stream2.closed;
+      }
+      const wState = stream2._writableState;
+      const rState = stream2._readableState;
+      if (typeof (wState === null || wState === void 0 ? void 0 : wState.closed) === "boolean" || typeof (rState === null || rState === void 0 ? void 0 : rState.closed) === "boolean") {
+        return (wState === null || wState === void 0 ? void 0 : wState.closed) || (rState === null || rState === void 0 ? void 0 : rState.closed);
+      }
+      if (typeof stream2._closed === "boolean" && isOutgoingMessage(stream2)) {
+        return stream2._closed;
+      }
+      return null;
+    }
+    function isOutgoingMessage(stream2) {
+      return typeof stream2._closed === "boolean" && typeof stream2._defaultKeepAlive === "boolean" && typeof stream2._removedConnection === "boolean" && typeof stream2._removedContLen === "boolean";
+    }
+    function isServerResponse(stream2) {
+      return typeof stream2._sent100 === "boolean" && isOutgoingMessage(stream2);
+    }
+    function isServerRequest(stream2) {
+      var _stream$req;
+      return typeof stream2._consuming === "boolean" && typeof stream2._dumped === "boolean" && ((_stream$req = stream2.req) === null || _stream$req === void 0 ? void 0 : _stream$req.upgradeOrConnect) === void 0;
+    }
+    function willEmitClose(stream2) {
+      if (!isNodeStream(stream2)) return null;
+      const wState = stream2._writableState;
+      const rState = stream2._readableState;
+      const state = wState || rState;
+      return !state && isServerResponse(stream2) || !!(state && state.autoDestroy && state.emitClose && state.closed === false);
+    }
+    function isDisturbed(stream2) {
+      var _stream$kIsDisturbed;
+      return !!(stream2 && ((_stream$kIsDisturbed = stream2[kIsDisturbed]) !== null && _stream$kIsDisturbed !== void 0 ? _stream$kIsDisturbed : stream2.readableDidRead || stream2.readableAborted));
+    }
+    function isErrored(stream2) {
+      var _ref, _ref2, _ref3, _ref4, _ref5, _stream$kIsErrored, _stream$_readableStat3, _stream$_writableStat3, _stream$_readableStat4, _stream$_writableStat4;
+      return !!(stream2 && ((_ref = (_ref2 = (_ref3 = (_ref4 = (_ref5 = (_stream$kIsErrored = stream2[kIsErrored]) !== null && _stream$kIsErrored !== void 0 ? _stream$kIsErrored : stream2.readableErrored) !== null && _ref5 !== void 0 ? _ref5 : stream2.writableErrored) !== null && _ref4 !== void 0 ? _ref4 : (_stream$_readableStat3 = stream2._readableState) === null || _stream$_readableStat3 === void 0 ? void 0 : _stream$_readableStat3.errorEmitted) !== null && _ref3 !== void 0 ? _ref3 : (_stream$_writableStat3 = stream2._writableState) === null || _stream$_writableStat3 === void 0 ? void 0 : _stream$_writableStat3.errorEmitted) !== null && _ref2 !== void 0 ? _ref2 : (_stream$_readableStat4 = stream2._readableState) === null || _stream$_readableStat4 === void 0 ? void 0 : _stream$_readableStat4.errored) !== null && _ref !== void 0 ? _ref : (_stream$_writableStat4 = stream2._writableState) === null || _stream$_writableStat4 === void 0 ? void 0 : _stream$_writableStat4.errored));
+    }
+    module2.exports = {
+      isDestroyed,
+      kIsDestroyed,
+      isDisturbed,
+      kIsDisturbed,
+      isErrored,
+      kIsErrored,
+      isReadable,
+      kIsReadable,
+      kIsClosedPromise,
+      kControllerErrorFunction,
+      kIsWritable,
+      isClosed,
+      isDuplexNodeStream,
+      isFinished,
+      isIterable,
+      isReadableNodeStream,
+      isReadableStream,
+      isReadableEnded,
+      isReadableFinished,
+      isReadableErrored,
+      isNodeStream,
+      isWebStream,
+      isWritable,
+      isWritableNodeStream,
+      isWritableStream,
+      isWritableEnded,
+      isWritableFinished,
+      isWritableErrored,
+      isServerRequest,
+      isServerResponse,
+      willEmitClose,
+      isTransformStream
+    };
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/binary-format-contract.js
-var require_binary_format_contract = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/binary-format-contract.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.WireType = exports2.mergeBinaryOptions = exports2.UnknownFieldHandler = void 0;
-    var UnknownFieldHandler;
-    (function(UnknownFieldHandler2) {
-      UnknownFieldHandler2.symbol = /* @__PURE__ */ Symbol.for("protobuf-ts/unknown");
-      UnknownFieldHandler2.onRead = (typeName, message, fieldNo, wireType, data) => {
-        let container = is(message) ? message[UnknownFieldHandler2.symbol] : message[UnknownFieldHandler2.symbol] = [];
-        container.push({ no: fieldNo, wireType, data });
+// node_modules/readable-stream/lib/internal/streams/end-of-stream.js
+var require_end_of_stream = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/end-of-stream.js"(exports2, module2) {
+    var process2 = require_process();
+    var { AbortError, codes } = require_errors5();
+    var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_PREMATURE_CLOSE } = codes;
+    var { kEmptyObject, once } = require_util21();
+    var { validateAbortSignal, validateFunction, validateObject, validateBoolean } = require_validators();
+    var { Promise: Promise2, PromisePrototypeThen, SymbolDispose } = require_primordials();
+    var {
+      isClosed,
+      isReadable,
+      isReadableNodeStream,
+      isReadableStream,
+      isReadableFinished,
+      isReadableErrored,
+      isWritable,
+      isWritableNodeStream,
+      isWritableStream,
+      isWritableFinished,
+      isWritableErrored,
+      isNodeStream,
+      willEmitClose: _willEmitClose,
+      kIsClosedPromise
+    } = require_utils8();
+    var addAbortListener;
+    function isRequest(stream2) {
+      return stream2.setHeader && typeof stream2.abort === "function";
+    }
+    var nop = () => {
+    };
+    function eos(stream2, options, callback) {
+      var _options$readable, _options$writable;
+      if (arguments.length === 2) {
+        callback = options;
+        options = kEmptyObject;
+      } else if (options == null) {
+        options = kEmptyObject;
+      } else {
+        validateObject(options, "options");
+      }
+      validateFunction(callback, "callback");
+      validateAbortSignal(options.signal, "options.signal");
+      callback = once(callback);
+      if (isReadableStream(stream2) || isWritableStream(stream2)) {
+        return eosWeb(stream2, options, callback);
+      }
+      if (!isNodeStream(stream2)) {
+        throw new ERR_INVALID_ARG_TYPE2("stream", ["ReadableStream", "WritableStream", "Stream"], stream2);
+      }
+      const readable = (_options$readable = options.readable) !== null && _options$readable !== void 0 ? _options$readable : isReadableNodeStream(stream2);
+      const writable = (_options$writable = options.writable) !== null && _options$writable !== void 0 ? _options$writable : isWritableNodeStream(stream2);
+      const wState = stream2._writableState;
+      const rState = stream2._readableState;
+      const onlegacyfinish = () => {
+        if (!stream2.writable) {
+          onfinish();
+        }
       };
-      UnknownFieldHandler2.onWrite = (typeName, message, writer) => {
-        for (let { no, wireType, data } of UnknownFieldHandler2.list(message))
-          writer.tag(no, wireType).raw(data);
+      let willEmitClose = _willEmitClose(stream2) && isReadableNodeStream(stream2) === readable && isWritableNodeStream(stream2) === writable;
+      let writableFinished = isWritableFinished(stream2, false);
+      const onfinish = () => {
+        writableFinished = true;
+        if (stream2.destroyed) {
+          willEmitClose = false;
+        }
+        if (willEmitClose && (!stream2.readable || readable)) {
+          return;
+        }
+        if (!readable || readableFinished) {
+          callback.call(stream2);
+        }
       };
-      UnknownFieldHandler2.list = (message, fieldNo) => {
-        if (is(message)) {
-          let all = message[UnknownFieldHandler2.symbol];
-          return fieldNo ? all.filter((uf) => uf.no == fieldNo) : all;
+      let readableFinished = isReadableFinished(stream2, false);
+      const onend = () => {
+        readableFinished = true;
+        if (stream2.destroyed) {
+          willEmitClose = false;
+        }
+        if (willEmitClose && (!stream2.writable || writable)) {
+          return;
+        }
+        if (!writable || writableFinished) {
+          callback.call(stream2);
         }
-        return [];
       };
-      UnknownFieldHandler2.last = (message, fieldNo) => UnknownFieldHandler2.list(message, fieldNo).slice(-1)[0];
-      const is = (message) => message && Array.isArray(message[UnknownFieldHandler2.symbol]);
-    })(UnknownFieldHandler = exports2.UnknownFieldHandler || (exports2.UnknownFieldHandler = {}));
-    function mergeBinaryOptions(a, b) {
-      return Object.assign(Object.assign({}, a), b);
+      const onerror = (err) => {
+        callback.call(stream2, err);
+      };
+      let closed = isClosed(stream2);
+      const onclose = () => {
+        closed = true;
+        const errored = isWritableErrored(stream2) || isReadableErrored(stream2);
+        if (errored && typeof errored !== "boolean") {
+          return callback.call(stream2, errored);
+        }
+        if (readable && !readableFinished && isReadableNodeStream(stream2, true)) {
+          if (!isReadableFinished(stream2, false)) return callback.call(stream2, new ERR_STREAM_PREMATURE_CLOSE());
+        }
+        if (writable && !writableFinished) {
+          if (!isWritableFinished(stream2, false)) return callback.call(stream2, new ERR_STREAM_PREMATURE_CLOSE());
+        }
+        callback.call(stream2);
+      };
+      const onclosed = () => {
+        closed = true;
+        const errored = isWritableErrored(stream2) || isReadableErrored(stream2);
+        if (errored && typeof errored !== "boolean") {
+          return callback.call(stream2, errored);
+        }
+        callback.call(stream2);
+      };
+      const onrequest = () => {
+        stream2.req.on("finish", onfinish);
+      };
+      if (isRequest(stream2)) {
+        stream2.on("complete", onfinish);
+        if (!willEmitClose) {
+          stream2.on("abort", onclose);
+        }
+        if (stream2.req) {
+          onrequest();
+        } else {
+          stream2.on("request", onrequest);
+        }
+      } else if (writable && !wState) {
+        stream2.on("end", onlegacyfinish);
+        stream2.on("close", onlegacyfinish);
+      }
+      if (!willEmitClose && typeof stream2.aborted === "boolean") {
+        stream2.on("aborted", onclose);
+      }
+      stream2.on("end", onend);
+      stream2.on("finish", onfinish);
+      if (options.error !== false) {
+        stream2.on("error", onerror);
+      }
+      stream2.on("close", onclose);
+      if (closed) {
+        process2.nextTick(onclose);
+      } else if (wState !== null && wState !== void 0 && wState.errorEmitted || rState !== null && rState !== void 0 && rState.errorEmitted) {
+        if (!willEmitClose) {
+          process2.nextTick(onclosed);
+        }
+      } else if (!readable && (!willEmitClose || isReadable(stream2)) && (writableFinished || isWritable(stream2) === false)) {
+        process2.nextTick(onclosed);
+      } else if (!writable && (!willEmitClose || isWritable(stream2)) && (readableFinished || isReadable(stream2) === false)) {
+        process2.nextTick(onclosed);
+      } else if (rState && stream2.req && stream2.aborted) {
+        process2.nextTick(onclosed);
+      }
+      const cleanup = () => {
+        callback = nop;
+        stream2.removeListener("aborted", onclose);
+        stream2.removeListener("complete", onfinish);
+        stream2.removeListener("abort", onclose);
+        stream2.removeListener("request", onrequest);
+        if (stream2.req) stream2.req.removeListener("finish", onfinish);
+        stream2.removeListener("end", onlegacyfinish);
+        stream2.removeListener("close", onlegacyfinish);
+        stream2.removeListener("finish", onfinish);
+        stream2.removeListener("end", onend);
+        stream2.removeListener("error", onerror);
+        stream2.removeListener("close", onclose);
+      };
+      if (options.signal && !closed) {
+        const abort = () => {
+          const endCallback = callback;
+          cleanup();
+          endCallback.call(
+            stream2,
+            new AbortError(void 0, {
+              cause: options.signal.reason
+            })
+          );
+        };
+        if (options.signal.aborted) {
+          process2.nextTick(abort);
+        } else {
+          addAbortListener = addAbortListener || require_util21().addAbortListener;
+          const disposable = addAbortListener(options.signal, abort);
+          const originalCallback = callback;
+          callback = once((...args) => {
+            disposable[SymbolDispose]();
+            originalCallback.apply(stream2, args);
+          });
+        }
+      }
+      return cleanup;
     }
-    exports2.mergeBinaryOptions = mergeBinaryOptions;
-    var WireType;
-    (function(WireType2) {
-      WireType2[WireType2["Varint"] = 0] = "Varint";
-      WireType2[WireType2["Bit64"] = 1] = "Bit64";
-      WireType2[WireType2["LengthDelimited"] = 2] = "LengthDelimited";
-      WireType2[WireType2["StartGroup"] = 3] = "StartGroup";
-      WireType2[WireType2["EndGroup"] = 4] = "EndGroup";
-      WireType2[WireType2["Bit32"] = 5] = "Bit32";
-    })(WireType = exports2.WireType || (exports2.WireType = {}));
+    function eosWeb(stream2, options, callback) {
+      let isAborted = false;
+      let abort = nop;
+      if (options.signal) {
+        abort = () => {
+          isAborted = true;
+          callback.call(
+            stream2,
+            new AbortError(void 0, {
+              cause: options.signal.reason
+            })
+          );
+        };
+        if (options.signal.aborted) {
+          process2.nextTick(abort);
+        } else {
+          addAbortListener = addAbortListener || require_util21().addAbortListener;
+          const disposable = addAbortListener(options.signal, abort);
+          const originalCallback = callback;
+          callback = once((...args) => {
+            disposable[SymbolDispose]();
+            originalCallback.apply(stream2, args);
+          });
+        }
+      }
+      const resolverFn = (...args) => {
+        if (!isAborted) {
+          process2.nextTick(() => callback.apply(stream2, args));
+        }
+      };
+      PromisePrototypeThen(stream2[kIsClosedPromise].promise, resolverFn, resolverFn);
+      return nop;
+    }
+    function finished(stream2, opts) {
+      var _opts;
+      let autoCleanup = false;
+      if (opts === null) {
+        opts = kEmptyObject;
+      }
+      if ((_opts = opts) !== null && _opts !== void 0 && _opts.cleanup) {
+        validateBoolean(opts.cleanup, "cleanup");
+        autoCleanup = opts.cleanup;
+      }
+      return new Promise2((resolve8, reject) => {
+        const cleanup = eos(stream2, opts, (err) => {
+          if (autoCleanup) {
+            cleanup();
+          }
+          if (err) {
+            reject(err);
+          } else {
+            resolve8();
+          }
+        });
+      });
+    }
+    module2.exports = eos;
+    module2.exports.finished = finished;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/goog-varint.js
-var require_goog_varint = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/goog-varint.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/destroy.js
+var require_destroy2 = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/destroy.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.varint32read = exports2.varint32write = exports2.int64toString = exports2.int64fromString = exports2.varint64write = exports2.varint64read = void 0;
-    function varint64read() {
-      let lowBits = 0;
-      let highBits = 0;
-      for (let shift = 0; shift < 28; shift += 7) {
-        let b = this.buf[this.pos++];
-        lowBits |= (b & 127) << shift;
-        if ((b & 128) == 0) {
-          this.assertBounds();
-          return [lowBits, highBits];
+    var process2 = require_process();
+    var {
+      aggregateTwoErrors,
+      codes: { ERR_MULTIPLE_CALLBACK },
+      AbortError
+    } = require_errors5();
+    var { Symbol: Symbol2 } = require_primordials();
+    var { kIsDestroyed, isDestroyed, isFinished, isServerRequest } = require_utils8();
+    var kDestroy = Symbol2("kDestroy");
+    var kConstruct = Symbol2("kConstruct");
+    function checkError(err, w, r) {
+      if (err) {
+        err.stack;
+        if (w && !w.errored) {
+          w.errored = err;
         }
-      }
-      let middleByte = this.buf[this.pos++];
-      lowBits |= (middleByte & 15) << 28;
-      highBits = (middleByte & 112) >> 4;
-      if ((middleByte & 128) == 0) {
-        this.assertBounds();
-        return [lowBits, highBits];
-      }
-      for (let shift = 3; shift <= 31; shift += 7) {
-        let b = this.buf[this.pos++];
-        highBits |= (b & 127) << shift;
-        if ((b & 128) == 0) {
-          this.assertBounds();
-          return [lowBits, highBits];
+        if (r && !r.errored) {
+          r.errored = err;
         }
       }
-      throw new Error("invalid varint");
     }
-    exports2.varint64read = varint64read;
-    function varint64write(lo, hi, bytes) {
-      for (let i = 0; i < 28; i = i + 7) {
-        const shift = lo >>> i;
-        const hasNext = !(shift >>> 7 == 0 && hi == 0);
-        const byte = (hasNext ? shift | 128 : shift) & 255;
-        bytes.push(byte);
-        if (!hasNext) {
-          return;
+    function destroy(err, cb) {
+      const r = this._readableState;
+      const w = this._writableState;
+      const s = w || r;
+      if (w !== null && w !== void 0 && w.destroyed || r !== null && r !== void 0 && r.destroyed) {
+        if (typeof cb === "function") {
+          cb();
         }
+        return this;
       }
-      const splitBits = lo >>> 28 & 15 | (hi & 7) << 4;
-      const hasMoreBits = !(hi >> 3 == 0);
-      bytes.push((hasMoreBits ? splitBits | 128 : splitBits) & 255);
-      if (!hasMoreBits) {
-        return;
+      checkError(err, w, r);
+      if (w) {
+        w.destroyed = true;
       }
-      for (let i = 3; i < 31; i = i + 7) {
-        const shift = hi >>> i;
-        const hasNext = !(shift >>> 7 == 0);
-        const byte = (hasNext ? shift | 128 : shift) & 255;
-        bytes.push(byte);
-        if (!hasNext) {
-          return;
-        }
+      if (r) {
+        r.destroyed = true;
       }
-      bytes.push(hi >>> 31 & 1);
+      if (!s.constructed) {
+        this.once(kDestroy, function(er) {
+          _destroy(this, aggregateTwoErrors(er, err), cb);
+        });
+      } else {
+        _destroy(this, err, cb);
+      }
+      return this;
     }
-    exports2.varint64write = varint64write;
-    var TWO_PWR_32_DBL2 = (1 << 16) * (1 << 16);
-    function int64fromString(dec) {
-      let minus = dec[0] == "-";
-      if (minus)
-        dec = dec.slice(1);
-      const base = 1e6;
-      let lowBits = 0;
-      let highBits = 0;
-      function add1e6digit(begin, end) {
-        const digit1e6 = Number(dec.slice(begin, end));
-        highBits *= base;
-        lowBits = lowBits * base + digit1e6;
-        if (lowBits >= TWO_PWR_32_DBL2) {
-          highBits = highBits + (lowBits / TWO_PWR_32_DBL2 | 0);
-          lowBits = lowBits % TWO_PWR_32_DBL2;
+    function _destroy(self2, err, cb) {
+      let called = false;
+      function onDestroy(err2) {
+        if (called) {
+          return;
+        }
+        called = true;
+        const r = self2._readableState;
+        const w = self2._writableState;
+        checkError(err2, w, r);
+        if (w) {
+          w.closed = true;
+        }
+        if (r) {
+          r.closed = true;
+        }
+        if (typeof cb === "function") {
+          cb(err2);
+        }
+        if (err2) {
+          process2.nextTick(emitErrorCloseNT, self2, err2);
+        } else {
+          process2.nextTick(emitCloseNT, self2);
         }
       }
-      add1e6digit(-24, -18);
-      add1e6digit(-18, -12);
-      add1e6digit(-12, -6);
-      add1e6digit(-6);
-      return [minus, lowBits, highBits];
-    }
-    exports2.int64fromString = int64fromString;
-    function int64toString(bitsLow, bitsHigh) {
-      if (bitsHigh >>> 0 <= 2097151) {
-        return "" + (TWO_PWR_32_DBL2 * bitsHigh + (bitsLow >>> 0));
+      try {
+        self2._destroy(err || null, onDestroy);
+      } catch (err2) {
+        onDestroy(err2);
       }
-      let low = bitsLow & 16777215;
-      let mid = (bitsLow >>> 24 | bitsHigh << 8) >>> 0 & 16777215;
-      let high = bitsHigh >> 16 & 65535;
-      let digitA = low + mid * 6777216 + high * 6710656;
-      let digitB = mid + high * 8147497;
-      let digitC = high * 2;
-      let base = 1e7;
-      if (digitA >= base) {
-        digitB += Math.floor(digitA / base);
-        digitA %= base;
+    }
+    function emitErrorCloseNT(self2, err) {
+      emitErrorNT(self2, err);
+      emitCloseNT(self2);
+    }
+    function emitCloseNT(self2) {
+      const r = self2._readableState;
+      const w = self2._writableState;
+      if (w) {
+        w.closeEmitted = true;
       }
-      if (digitB >= base) {
-        digitC += Math.floor(digitB / base);
-        digitB %= base;
+      if (r) {
+        r.closeEmitted = true;
       }
-      function decimalFrom1e7(digit1e7, needLeadingZeros) {
-        let partial = digit1e7 ? String(digit1e7) : "";
-        if (needLeadingZeros) {
-          return "0000000".slice(partial.length) + partial;
-        }
-        return partial;
+      if (w !== null && w !== void 0 && w.emitClose || r !== null && r !== void 0 && r.emitClose) {
+        self2.emit("close");
       }
-      return decimalFrom1e7(
-        digitC,
-        /*needLeadingZeros=*/
-        0
-      ) + decimalFrom1e7(
-        digitB,
-        /*needLeadingZeros=*/
-        digitC
-      ) + // If the final 1e7 digit didn't need leading zeros, we would have
-      // returned via the trivial code path at the top.
-      decimalFrom1e7(
-        digitA,
-        /*needLeadingZeros=*/
-        1
-      );
     }
-    exports2.int64toString = int64toString;
-    function varint32write(value, bytes) {
-      if (value >= 0) {
-        while (value > 127) {
-          bytes.push(value & 127 | 128);
-          value = value >>> 7;
-        }
-        bytes.push(value);
-      } else {
-        for (let i = 0; i < 9; i++) {
-          bytes.push(value & 127 | 128);
-          value = value >> 7;
-        }
-        bytes.push(1);
+    function emitErrorNT(self2, err) {
+      const r = self2._readableState;
+      const w = self2._writableState;
+      if (w !== null && w !== void 0 && w.errorEmitted || r !== null && r !== void 0 && r.errorEmitted) {
+        return;
       }
-    }
-    exports2.varint32write = varint32write;
-    function varint32read() {
-      let b = this.buf[this.pos++];
-      let result = b & 127;
-      if ((b & 128) == 0) {
-        this.assertBounds();
-        return result;
+      if (w) {
+        w.errorEmitted = true;
       }
-      b = this.buf[this.pos++];
-      result |= (b & 127) << 7;
-      if ((b & 128) == 0) {
-        this.assertBounds();
-        return result;
+      if (r) {
+        r.errorEmitted = true;
       }
-      b = this.buf[this.pos++];
-      result |= (b & 127) << 14;
-      if ((b & 128) == 0) {
-        this.assertBounds();
-        return result;
+      self2.emit("error", err);
+    }
+    function undestroy() {
+      const r = this._readableState;
+      const w = this._writableState;
+      if (r) {
+        r.constructed = true;
+        r.closed = false;
+        r.closeEmitted = false;
+        r.destroyed = false;
+        r.errored = null;
+        r.errorEmitted = false;
+        r.reading = false;
+        r.ended = r.readable === false;
+        r.endEmitted = r.readable === false;
       }
-      b = this.buf[this.pos++];
-      result |= (b & 127) << 21;
-      if ((b & 128) == 0) {
-        this.assertBounds();
-        return result;
+      if (w) {
+        w.constructed = true;
+        w.destroyed = false;
+        w.closed = false;
+        w.closeEmitted = false;
+        w.errored = null;
+        w.errorEmitted = false;
+        w.finalCalled = false;
+        w.prefinished = false;
+        w.ended = w.writable === false;
+        w.ending = w.writable === false;
+        w.finished = w.writable === false;
       }
-      b = this.buf[this.pos++];
-      result |= (b & 15) << 28;
-      for (let readBytes = 5; (b & 128) !== 0 && readBytes < 10; readBytes++)
-        b = this.buf[this.pos++];
-      if ((b & 128) != 0)
-        throw new Error("invalid varint");
-      this.assertBounds();
-      return result >>> 0;
-    }
-    exports2.varint32read = varint32read;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/pb-long.js
-var require_pb_long = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/pb-long.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.PbLong = exports2.PbULong = exports2.detectBi = void 0;
-    var goog_varint_1 = require_goog_varint();
-    var BI;
-    function detectBi() {
-      const dv = new DataView(new ArrayBuffer(8));
-      const ok = globalThis.BigInt !== void 0 && typeof dv.getBigInt64 === "function" && typeof dv.getBigUint64 === "function" && typeof dv.setBigInt64 === "function" && typeof dv.setBigUint64 === "function";
-      BI = ok ? {
-        MIN: BigInt("-9223372036854775808"),
-        MAX: BigInt("9223372036854775807"),
-        UMIN: BigInt("0"),
-        UMAX: BigInt("18446744073709551615"),
-        C: BigInt,
-        V: dv
-      } : void 0;
-    }
-    exports2.detectBi = detectBi;
-    detectBi();
-    function assertBi(bi) {
-      if (!bi)
-        throw new Error("BigInt unavailable, see https://github.com/timostamm/protobuf-ts/blob/v1.0.8/MANUAL.md#bigint-support");
     }
-    var RE_DECIMAL_STR = /^-?[0-9]+$/;
-    var TWO_PWR_32_DBL2 = 4294967296;
-    var HALF_2_PWR_32 = 2147483648;
-    var SharedPbLong = class {
-      /**
-       * Create a new instance with the given bits.
-       */
-      constructor(lo, hi) {
-        this.lo = lo | 0;
-        this.hi = hi | 0;
+    function errorOrDestroy(stream2, err, sync) {
+      const r = stream2._readableState;
+      const w = stream2._writableState;
+      if (w !== null && w !== void 0 && w.destroyed || r !== null && r !== void 0 && r.destroyed) {
+        return this;
       }
-      /**
-       * Is this instance equal to 0?
-       */
-      isZero() {
-        return this.lo == 0 && this.hi == 0;
+      if (r !== null && r !== void 0 && r.autoDestroy || w !== null && w !== void 0 && w.autoDestroy)
+        stream2.destroy(err);
+      else if (err) {
+        err.stack;
+        if (w && !w.errored) {
+          w.errored = err;
+        }
+        if (r && !r.errored) {
+          r.errored = err;
+        }
+        if (sync) {
+          process2.nextTick(emitErrorNT, stream2, err);
+        } else {
+          emitErrorNT(stream2, err);
+        }
       }
-      /**
-       * Convert to a native number.
-       */
-      toNumber() {
-        let result = this.hi * TWO_PWR_32_DBL2 + (this.lo >>> 0);
-        if (!Number.isSafeInteger(result))
-          throw new Error("cannot convert to safe number");
-        return result;
+    }
+    function construct(stream2, cb) {
+      if (typeof stream2._construct !== "function") {
+        return;
       }
-    };
-    var PbULong = class _PbULong extends SharedPbLong {
-      /**
-       * Create instance from a `string`, `number` or `bigint`.
-       */
-      static from(value) {
-        if (BI)
-          switch (typeof value) {
-            case "string":
-              if (value == "0")
-                return this.ZERO;
-              if (value == "")
-                throw new Error("string is no integer");
-              value = BI.C(value);
-            case "number":
-              if (value === 0)
-                return this.ZERO;
-              value = BI.C(value);
-            case "bigint":
-              if (!value)
-                return this.ZERO;
-              if (value < BI.UMIN)
-                throw new Error("signed value for ulong");
-              if (value > BI.UMAX)
-                throw new Error("ulong too large");
-              BI.V.setBigUint64(0, value, true);
-              return new _PbULong(BI.V.getInt32(0, true), BI.V.getInt32(4, true));
-          }
-        else
-          switch (typeof value) {
-            case "string":
-              if (value == "0")
-                return this.ZERO;
-              value = value.trim();
-              if (!RE_DECIMAL_STR.test(value))
-                throw new Error("string is no integer");
-              let [minus, lo, hi] = goog_varint_1.int64fromString(value);
-              if (minus)
-                throw new Error("signed value for ulong");
-              return new _PbULong(lo, hi);
-            case "number":
-              if (value == 0)
-                return this.ZERO;
-              if (!Number.isSafeInteger(value))
-                throw new Error("number is no integer");
-              if (value < 0)
-                throw new Error("signed value for ulong");
-              return new _PbULong(value, value / TWO_PWR_32_DBL2);
-          }
-        throw new Error("unknown value " + typeof value);
+      const r = stream2._readableState;
+      const w = stream2._writableState;
+      if (r) {
+        r.constructed = false;
       }
-      /**
-       * Convert to decimal string.
-       */
-      toString() {
-        return BI ? this.toBigInt().toString() : goog_varint_1.int64toString(this.lo, this.hi);
+      if (w) {
+        w.constructed = false;
       }
-      /**
-       * Convert to native bigint.
-       */
-      toBigInt() {
-        assertBi(BI);
-        BI.V.setInt32(0, this.lo, true);
-        BI.V.setInt32(4, this.hi, true);
-        return BI.V.getBigUint64(0, true);
+      stream2.once(kConstruct, cb);
+      if (stream2.listenerCount(kConstruct) > 1) {
+        return;
       }
-    };
-    exports2.PbULong = PbULong;
-    PbULong.ZERO = new PbULong(0, 0);
-    var PbLong = class _PbLong extends SharedPbLong {
-      /**
-       * Create instance from a `string`, `number` or `bigint`.
-       */
-      static from(value) {
-        if (BI)
-          switch (typeof value) {
-            case "string":
-              if (value == "0")
-                return this.ZERO;
-              if (value == "")
-                throw new Error("string is no integer");
-              value = BI.C(value);
-            case "number":
-              if (value === 0)
-                return this.ZERO;
-              value = BI.C(value);
-            case "bigint":
-              if (!value)
-                return this.ZERO;
-              if (value < BI.MIN)
-                throw new Error("signed long too small");
-              if (value > BI.MAX)
-                throw new Error("signed long too large");
-              BI.V.setBigInt64(0, value, true);
-              return new _PbLong(BI.V.getInt32(0, true), BI.V.getInt32(4, true));
-          }
-        else
-          switch (typeof value) {
-            case "string":
-              if (value == "0")
-                return this.ZERO;
-              value = value.trim();
-              if (!RE_DECIMAL_STR.test(value))
-                throw new Error("string is no integer");
-              let [minus, lo, hi] = goog_varint_1.int64fromString(value);
-              if (minus) {
-                if (hi > HALF_2_PWR_32 || hi == HALF_2_PWR_32 && lo != 0)
-                  throw new Error("signed long too small");
-              } else if (hi >= HALF_2_PWR_32)
-                throw new Error("signed long too large");
-              let pbl = new _PbLong(lo, hi);
-              return minus ? pbl.negate() : pbl;
-            case "number":
-              if (value == 0)
-                return this.ZERO;
-              if (!Number.isSafeInteger(value))
-                throw new Error("number is no integer");
-              return value > 0 ? new _PbLong(value, value / TWO_PWR_32_DBL2) : new _PbLong(-value, -value / TWO_PWR_32_DBL2).negate();
-          }
-        throw new Error("unknown value " + typeof value);
+      process2.nextTick(constructNT, stream2);
+    }
+    function constructNT(stream2) {
+      let called = false;
+      function onConstruct(err) {
+        if (called) {
+          errorOrDestroy(stream2, err !== null && err !== void 0 ? err : new ERR_MULTIPLE_CALLBACK());
+          return;
+        }
+        called = true;
+        const r = stream2._readableState;
+        const w = stream2._writableState;
+        const s = w || r;
+        if (r) {
+          r.constructed = true;
+        }
+        if (w) {
+          w.constructed = true;
+        }
+        if (s.destroyed) {
+          stream2.emit(kDestroy, err);
+        } else if (err) {
+          errorOrDestroy(stream2, err, true);
+        } else {
+          process2.nextTick(emitConstructNT, stream2);
+        }
       }
-      /**
-       * Do we have a minus sign?
-       */
-      isNegative() {
-        return (this.hi & HALF_2_PWR_32) !== 0;
+      try {
+        stream2._construct((err) => {
+          process2.nextTick(onConstruct, err);
+        });
+      } catch (err) {
+        process2.nextTick(onConstruct, err);
       }
-      /**
-       * Negate two's complement.
-       * Invert all the bits and add one to the result.
-       */
-      negate() {
-        let hi = ~this.hi, lo = this.lo;
-        if (lo)
-          lo = ~lo + 1;
-        else
-          hi += 1;
-        return new _PbLong(lo, hi);
+    }
+    function emitConstructNT(stream2) {
+      stream2.emit(kConstruct);
+    }
+    function isRequest(stream2) {
+      return (stream2 === null || stream2 === void 0 ? void 0 : stream2.setHeader) && typeof stream2.abort === "function";
+    }
+    function emitCloseLegacy(stream2) {
+      stream2.emit("close");
+    }
+    function emitErrorCloseLegacy(stream2, err) {
+      stream2.emit("error", err);
+      process2.nextTick(emitCloseLegacy, stream2);
+    }
+    function destroyer(stream2, err) {
+      if (!stream2 || isDestroyed(stream2)) {
+        return;
       }
-      /**
-       * Convert to decimal string.
-       */
-      toString() {
-        if (BI)
-          return this.toBigInt().toString();
-        if (this.isNegative()) {
-          let n = this.negate();
-          return "-" + goog_varint_1.int64toString(n.lo, n.hi);
-        }
-        return goog_varint_1.int64toString(this.lo, this.hi);
+      if (!err && !isFinished(stream2)) {
+        err = new AbortError();
       }
-      /**
-       * Convert to native bigint.
-       */
-      toBigInt() {
-        assertBi(BI);
-        BI.V.setInt32(0, this.lo, true);
-        BI.V.setInt32(4, this.hi, true);
-        return BI.V.getBigInt64(0, true);
+      if (isServerRequest(stream2)) {
+        stream2.socket = null;
+        stream2.destroy(err);
+      } else if (isRequest(stream2)) {
+        stream2.abort();
+      } else if (isRequest(stream2.req)) {
+        stream2.req.abort();
+      } else if (typeof stream2.destroy === "function") {
+        stream2.destroy(err);
+      } else if (typeof stream2.close === "function") {
+        stream2.close();
+      } else if (err) {
+        process2.nextTick(emitErrorCloseLegacy, stream2, err);
+      } else {
+        process2.nextTick(emitCloseLegacy, stream2);
+      }
+      if (!stream2.destroyed) {
+        stream2[kIsDestroyed] = true;
       }
+    }
+    module2.exports = {
+      construct,
+      destroyer,
+      destroy,
+      undestroy,
+      errorOrDestroy
     };
-    exports2.PbLong = PbLong;
-    PbLong.ZERO = new PbLong(0, 0);
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/binary-reader.js
-var require_binary_reader = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/binary-reader.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/legacy.js
+var require_legacy = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/legacy.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BinaryReader = exports2.binaryReadOptions = void 0;
-    var binary_format_contract_1 = require_binary_format_contract();
-    var pb_long_1 = require_pb_long();
-    var goog_varint_1 = require_goog_varint();
-    var defaultsRead = {
-      readUnknownField: true,
-      readerFactory: (bytes) => new BinaryReader(bytes)
-    };
-    function binaryReadOptions(options) {
-      return options ? Object.assign(Object.assign({}, defaultsRead), options) : defaultsRead;
+    var { ArrayIsArray, ObjectSetPrototypeOf } = require_primordials();
+    var { EventEmitter: EE } = require("events");
+    function Stream(opts) {
+      EE.call(this, opts);
     }
-    exports2.binaryReadOptions = binaryReadOptions;
-    var BinaryReader = class {
-      constructor(buf, textDecoder) {
-        this.varint64 = goog_varint_1.varint64read;
-        this.uint32 = goog_varint_1.varint32read;
-        this.buf = buf;
-        this.len = buf.length;
-        this.pos = 0;
-        this.view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
-        this.textDecoder = textDecoder !== null && textDecoder !== void 0 ? textDecoder : new TextDecoder("utf-8", {
-          fatal: true,
-          ignoreBOM: true
-        });
-      }
-      /**
-       * Reads a tag - field number and wire type.
-       */
-      tag() {
-        let tag = this.uint32(), fieldNo = tag >>> 3, wireType = tag & 7;
-        if (fieldNo <= 0 || wireType < 0 || wireType > 5)
-          throw new Error("illegal tag: field no " + fieldNo + " wire type " + wireType);
-        return [fieldNo, wireType];
-      }
-      /**
-       * Skip one element on the wire and return the skipped data.
-       * Supports WireType.StartGroup since v2.0.0-alpha.23.
-       */
-      skip(wireType) {
-        let start = this.pos;
-        switch (wireType) {
-          case binary_format_contract_1.WireType.Varint:
-            while (this.buf[this.pos++] & 128) {
-            }
-            break;
-          case binary_format_contract_1.WireType.Bit64:
-            this.pos += 4;
-          case binary_format_contract_1.WireType.Bit32:
-            this.pos += 4;
-            break;
-          case binary_format_contract_1.WireType.LengthDelimited:
-            let len = this.uint32();
-            this.pos += len;
-            break;
-          case binary_format_contract_1.WireType.StartGroup:
-            let t;
-            while ((t = this.tag()[1]) !== binary_format_contract_1.WireType.EndGroup) {
-              this.skip(t);
-            }
-            break;
-          default:
-            throw new Error("cant skip wire type " + wireType);
+    ObjectSetPrototypeOf(Stream.prototype, EE.prototype);
+    ObjectSetPrototypeOf(Stream, EE);
+    Stream.prototype.pipe = function(dest, options) {
+      const source = this;
+      function ondata(chunk) {
+        if (dest.writable && dest.write(chunk) === false && source.pause) {
+          source.pause();
         }
-        this.assertBounds();
-        return this.buf.subarray(start, this.pos);
-      }
-      /**
-       * Throws error if position in byte array is out of range.
-       */
-      assertBounds() {
-        if (this.pos > this.len)
-          throw new RangeError("premature EOF");
-      }
-      /**
-       * Read a `int32` field, a signed 32 bit varint.
-       */
-      int32() {
-        return this.uint32() | 0;
-      }
-      /**
-       * Read a `sint32` field, a signed, zigzag-encoded 32-bit varint.
-       */
-      sint32() {
-        let zze = this.uint32();
-        return zze >>> 1 ^ -(zze & 1);
-      }
-      /**
-       * Read a `int64` field, a signed 64-bit varint.
-       */
-      int64() {
-        return new pb_long_1.PbLong(...this.varint64());
-      }
-      /**
-       * Read a `uint64` field, an unsigned 64-bit varint.
-       */
-      uint64() {
-        return new pb_long_1.PbULong(...this.varint64());
-      }
-      /**
-       * Read a `sint64` field, a signed, zig-zag-encoded 64-bit varint.
-       */
-      sint64() {
-        let [lo, hi] = this.varint64();
-        let s = -(lo & 1);
-        lo = (lo >>> 1 | (hi & 1) << 31) ^ s;
-        hi = hi >>> 1 ^ s;
-        return new pb_long_1.PbLong(lo, hi);
-      }
-      /**
-       * Read a `bool` field, a variant.
-       */
-      bool() {
-        let [lo, hi] = this.varint64();
-        return lo !== 0 || hi !== 0;
-      }
-      /**
-       * Read a `fixed32` field, an unsigned, fixed-length 32-bit integer.
-       */
-      fixed32() {
-        return this.view.getUint32((this.pos += 4) - 4, true);
-      }
-      /**
-       * Read a `sfixed32` field, a signed, fixed-length 32-bit integer.
-       */
-      sfixed32() {
-        return this.view.getInt32((this.pos += 4) - 4, true);
       }
-      /**
-       * Read a `fixed64` field, an unsigned, fixed-length 64 bit integer.
-       */
-      fixed64() {
-        return new pb_long_1.PbULong(this.sfixed32(), this.sfixed32());
+      source.on("data", ondata);
+      function ondrain() {
+        if (source.readable && source.resume) {
+          source.resume();
+        }
       }
-      /**
-       * Read a `fixed64` field, a signed, fixed-length 64-bit integer.
-       */
-      sfixed64() {
-        return new pb_long_1.PbLong(this.sfixed32(), this.sfixed32());
+      dest.on("drain", ondrain);
+      if (!dest._isStdio && (!options || options.end !== false)) {
+        source.on("end", onend);
+        source.on("close", onclose);
       }
-      /**
-       * Read a `float` field, 32-bit floating point number.
-       */
-      float() {
-        return this.view.getFloat32((this.pos += 4) - 4, true);
+      let didOnEnd = false;
+      function onend() {
+        if (didOnEnd) return;
+        didOnEnd = true;
+        dest.end();
       }
-      /**
-       * Read a `double` field, a 64-bit floating point number.
-       */
-      double() {
-        return this.view.getFloat64((this.pos += 8) - 8, true);
+      function onclose() {
+        if (didOnEnd) return;
+        didOnEnd = true;
+        if (typeof dest.destroy === "function") dest.destroy();
       }
-      /**
-       * Read a `bytes` field, length-delimited arbitrary data.
-       */
-      bytes() {
-        let len = this.uint32();
-        let start = this.pos;
-        this.pos += len;
-        this.assertBounds();
-        return this.buf.subarray(start, start + len);
+      function onerror(er) {
+        cleanup();
+        if (EE.listenerCount(this, "error") === 0) {
+          this.emit("error", er);
+        }
       }
-      /**
-       * Read a `string` field, length-delimited data converted to UTF-8 text.
-       */
-      string() {
-        return this.textDecoder.decode(this.bytes());
+      prependListener(source, "error", onerror);
+      prependListener(dest, "error", onerror);
+      function cleanup() {
+        source.removeListener("data", ondata);
+        dest.removeListener("drain", ondrain);
+        source.removeListener("end", onend);
+        source.removeListener("close", onclose);
+        source.removeListener("error", onerror);
+        dest.removeListener("error", onerror);
+        source.removeListener("end", cleanup);
+        source.removeListener("close", cleanup);
+        dest.removeListener("close", cleanup);
       }
+      source.on("end", cleanup);
+      source.on("close", cleanup);
+      dest.on("close", cleanup);
+      dest.emit("pipe", source);
+      return dest;
     };
-    exports2.BinaryReader = BinaryReader;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/assert.js
-var require_assert = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/assert.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.assertFloat32 = exports2.assertUInt32 = exports2.assertInt32 = exports2.assertNever = exports2.assert = void 0;
-    function assert(condition, msg) {
-      if (!condition) {
-        throw new Error(msg);
-      }
-    }
-    exports2.assert = assert;
-    function assertNever2(value, msg) {
-      throw new Error(msg !== null && msg !== void 0 ? msg : "Unexpected object: " + value);
-    }
-    exports2.assertNever = assertNever2;
-    var FLOAT32_MAX = 34028234663852886e22;
-    var FLOAT32_MIN = -34028234663852886e22;
-    var UINT32_MAX = 4294967295;
-    var INT32_MAX = 2147483647;
-    var INT32_MIN = -2147483648;
-    function assertInt32(arg) {
-      if (typeof arg !== "number")
-        throw new Error("invalid int 32: " + typeof arg);
-      if (!Number.isInteger(arg) || arg > INT32_MAX || arg < INT32_MIN)
-        throw new Error("invalid int 32: " + arg);
-    }
-    exports2.assertInt32 = assertInt32;
-    function assertUInt32(arg) {
-      if (typeof arg !== "number")
-        throw new Error("invalid uint 32: " + typeof arg);
-      if (!Number.isInteger(arg) || arg > UINT32_MAX || arg < 0)
-        throw new Error("invalid uint 32: " + arg);
-    }
-    exports2.assertUInt32 = assertUInt32;
-    function assertFloat32(arg) {
-      if (typeof arg !== "number")
-        throw new Error("invalid float 32: " + typeof arg);
-      if (!Number.isFinite(arg))
-        return;
-      if (arg > FLOAT32_MAX || arg < FLOAT32_MIN)
-        throw new Error("invalid float 32: " + arg);
+    function prependListener(emitter, event, fn) {
+      if (typeof emitter.prependListener === "function") return emitter.prependListener(event, fn);
+      if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);
+      else if (ArrayIsArray(emitter._events[event])) emitter._events[event].unshift(fn);
+      else emitter._events[event] = [fn, emitter._events[event]];
     }
-    exports2.assertFloat32 = assertFloat32;
+    module2.exports = {
+      Stream,
+      prependListener
+    };
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/binary-writer.js
-var require_binary_writer = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/binary-writer.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/add-abort-signal.js
+var require_add_abort_signal = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/add-abort-signal.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BinaryWriter = exports2.binaryWriteOptions = void 0;
-    var pb_long_1 = require_pb_long();
-    var goog_varint_1 = require_goog_varint();
-    var assert_1 = require_assert();
-    var defaultsWrite = {
-      writeUnknownFields: true,
-      writerFactory: () => new BinaryWriter()
-    };
-    function binaryWriteOptions(options) {
-      return options ? Object.assign(Object.assign({}, defaultsWrite), options) : defaultsWrite;
-    }
-    exports2.binaryWriteOptions = binaryWriteOptions;
-    var BinaryWriter = class {
-      constructor(textEncoder) {
-        this.stack = [];
-        this.textEncoder = textEncoder !== null && textEncoder !== void 0 ? textEncoder : new TextEncoder();
-        this.chunks = [];
-        this.buf = [];
-      }
-      /**
-       * Return all bytes written and reset this writer.
-       */
-      finish() {
-        this.chunks.push(new Uint8Array(this.buf));
-        let len = 0;
-        for (let i = 0; i < this.chunks.length; i++)
-          len += this.chunks[i].length;
-        let bytes = new Uint8Array(len);
-        let offset = 0;
-        for (let i = 0; i < this.chunks.length; i++) {
-          bytes.set(this.chunks[i], offset);
-          offset += this.chunks[i].length;
-        }
-        this.chunks = [];
-        return bytes;
-      }
-      /**
-       * Start a new fork for length-delimited data like a message
-       * or a packed repeated field.
-       *
-       * Must be joined later with `join()`.
-       */
-      fork() {
-        this.stack.push({ chunks: this.chunks, buf: this.buf });
-        this.chunks = [];
-        this.buf = [];
-        return this;
-      }
-      /**
-       * Join the last fork. Write its length and bytes, then
-       * return to the previous state.
-       */
-      join() {
-        let chunk = this.finish();
-        let prev = this.stack.pop();
-        if (!prev)
-          throw new Error("invalid state, fork stack empty");
-        this.chunks = prev.chunks;
-        this.buf = prev.buf;
-        this.uint32(chunk.byteLength);
-        return this.raw(chunk);
-      }
-      /**
-       * Writes a tag (field number and wire type).
-       *
-       * Equivalent to `uint32( (fieldNo << 3 | type) >>> 0 )`.
-       *
-       * Generated code should compute the tag ahead of time and call `uint32()`.
-       */
-      tag(fieldNo, type2) {
-        return this.uint32((fieldNo << 3 | type2) >>> 0);
+    var { SymbolDispose } = require_primordials();
+    var { AbortError, codes } = require_errors5();
+    var { isNodeStream, isWebStream, kControllerErrorFunction } = require_utils8();
+    var eos = require_end_of_stream();
+    var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2 } = codes;
+    var addAbortListener;
+    var validateAbortSignal = (signal, name) => {
+      if (typeof signal !== "object" || !("aborted" in signal)) {
+        throw new ERR_INVALID_ARG_TYPE2(name, "AbortSignal", signal);
       }
-      /**
-       * Write a chunk of raw bytes.
-       */
-      raw(chunk) {
-        if (this.buf.length) {
-          this.chunks.push(new Uint8Array(this.buf));
-          this.buf = [];
-        }
-        this.chunks.push(chunk);
-        return this;
+    };
+    module2.exports.addAbortSignal = function addAbortSignal(signal, stream2) {
+      validateAbortSignal(signal, "signal");
+      if (!isNodeStream(stream2) && !isWebStream(stream2)) {
+        throw new ERR_INVALID_ARG_TYPE2("stream", ["ReadableStream", "WritableStream", "Stream"], stream2);
       }
-      /**
-       * Write a `uint32` value, an unsigned 32 bit varint.
-       */
-      uint32(value) {
-        assert_1.assertUInt32(value);
-        while (value > 127) {
-          this.buf.push(value & 127 | 128);
-          value = value >>> 7;
-        }
-        this.buf.push(value);
-        return this;
+      return module2.exports.addAbortSignalNoValidate(signal, stream2);
+    };
+    module2.exports.addAbortSignalNoValidate = function(signal, stream2) {
+      if (typeof signal !== "object" || !("aborted" in signal)) {
+        return stream2;
       }
-      /**
-       * Write a `int32` value, a signed 32 bit varint.
-       */
-      int32(value) {
-        assert_1.assertInt32(value);
-        goog_varint_1.varint32write(value, this.buf);
-        return this;
+      const onAbort = isNodeStream(stream2) ? () => {
+        stream2.destroy(
+          new AbortError(void 0, {
+            cause: signal.reason
+          })
+        );
+      } : () => {
+        stream2[kControllerErrorFunction](
+          new AbortError(void 0, {
+            cause: signal.reason
+          })
+        );
+      };
+      if (signal.aborted) {
+        onAbort();
+      } else {
+        addAbortListener = addAbortListener || require_util21().addAbortListener;
+        const disposable = addAbortListener(signal, onAbort);
+        eos(stream2, disposable[SymbolDispose]);
       }
-      /**
-       * Write a `bool` value, a variant.
-       */
-      bool(value) {
-        this.buf.push(value ? 1 : 0);
-        return this;
+      return stream2;
+    };
+  }
+});
+
+// node_modules/readable-stream/lib/internal/streams/buffer_list.js
+var require_buffer_list = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/buffer_list.js"(exports2, module2) {
+    "use strict";
+    var { StringPrototypeSlice, SymbolIterator, TypedArrayPrototypeSet, Uint8Array: Uint8Array2 } = require_primordials();
+    var { Buffer: Buffer2 } = require("buffer");
+    var { inspect } = require_util21();
+    module2.exports = class BufferList {
+      constructor() {
+        this.head = null;
+        this.tail = null;
+        this.length = 0;
       }
-      /**
-       * Write a `bytes` value, length-delimited arbitrary data.
-       */
-      bytes(value) {
-        this.uint32(value.byteLength);
-        return this.raw(value);
+      push(v) {
+        const entry = {
+          data: v,
+          next: null
+        };
+        if (this.length > 0) this.tail.next = entry;
+        else this.head = entry;
+        this.tail = entry;
+        ++this.length;
       }
-      /**
-       * Write a `string` value, length-delimited data converted to UTF-8 text.
-       */
-      string(value) {
-        let chunk = this.textEncoder.encode(value);
-        this.uint32(chunk.byteLength);
-        return this.raw(chunk);
+      unshift(v) {
+        const entry = {
+          data: v,
+          next: this.head
+        };
+        if (this.length === 0) this.tail = entry;
+        this.head = entry;
+        ++this.length;
       }
-      /**
-       * Write a `float` value, 32-bit floating point number.
-       */
-      float(value) {
-        assert_1.assertFloat32(value);
-        let chunk = new Uint8Array(4);
-        new DataView(chunk.buffer).setFloat32(0, value, true);
-        return this.raw(chunk);
+      shift() {
+        if (this.length === 0) return;
+        const ret = this.head.data;
+        if (this.length === 1) this.head = this.tail = null;
+        else this.head = this.head.next;
+        --this.length;
+        return ret;
       }
-      /**
-       * Write a `double` value, a 64-bit floating point number.
-       */
-      double(value) {
-        let chunk = new Uint8Array(8);
-        new DataView(chunk.buffer).setFloat64(0, value, true);
-        return this.raw(chunk);
+      clear() {
+        this.head = this.tail = null;
+        this.length = 0;
       }
-      /**
-       * Write a `fixed32` value, an unsigned, fixed-length 32-bit integer.
-       */
-      fixed32(value) {
-        assert_1.assertUInt32(value);
-        let chunk = new Uint8Array(4);
-        new DataView(chunk.buffer).setUint32(0, value, true);
-        return this.raw(chunk);
+      join(s) {
+        if (this.length === 0) return "";
+        let p = this.head;
+        let ret = "" + p.data;
+        while ((p = p.next) !== null) ret += s + p.data;
+        return ret;
       }
-      /**
-       * Write a `sfixed32` value, a signed, fixed-length 32-bit integer.
-       */
-      sfixed32(value) {
-        assert_1.assertInt32(value);
-        let chunk = new Uint8Array(4);
-        new DataView(chunk.buffer).setInt32(0, value, true);
-        return this.raw(chunk);
+      concat(n) {
+        if (this.length === 0) return Buffer2.alloc(0);
+        const ret = Buffer2.allocUnsafe(n >>> 0);
+        let p = this.head;
+        let i = 0;
+        while (p) {
+          TypedArrayPrototypeSet(ret, p.data, i);
+          i += p.data.length;
+          p = p.next;
+        }
+        return ret;
       }
-      /**
-       * Write a `sint32` value, a signed, zigzag-encoded 32-bit varint.
-       */
-      sint32(value) {
-        assert_1.assertInt32(value);
-        value = (value << 1 ^ value >> 31) >>> 0;
-        goog_varint_1.varint32write(value, this.buf);
-        return this;
+      // Consumes a specified amount of bytes or characters from the buffered data.
+      consume(n, hasStrings) {
+        const data = this.head.data;
+        if (n < data.length) {
+          const slice = data.slice(0, n);
+          this.head.data = data.slice(n);
+          return slice;
+        }
+        if (n === data.length) {
+          return this.shift();
+        }
+        return hasStrings ? this._getString(n) : this._getBuffer(n);
       }
-      /**
-       * Write a `fixed64` value, a signed, fixed-length 64-bit integer.
-       */
-      sfixed64(value) {
-        let chunk = new Uint8Array(8);
-        let view = new DataView(chunk.buffer);
-        let long = pb_long_1.PbLong.from(value);
-        view.setInt32(0, long.lo, true);
-        view.setInt32(4, long.hi, true);
-        return this.raw(chunk);
+      first() {
+        return this.head.data;
       }
-      /**
-       * Write a `fixed64` value, an unsigned, fixed-length 64 bit integer.
-       */
-      fixed64(value) {
-        let chunk = new Uint8Array(8);
-        let view = new DataView(chunk.buffer);
-        let long = pb_long_1.PbULong.from(value);
-        view.setInt32(0, long.lo, true);
-        view.setInt32(4, long.hi, true);
-        return this.raw(chunk);
+      *[SymbolIterator]() {
+        for (let p = this.head; p; p = p.next) {
+          yield p.data;
+        }
       }
-      /**
-       * Write a `int64` value, a signed 64-bit varint.
-       */
-      int64(value) {
-        let long = pb_long_1.PbLong.from(value);
-        goog_varint_1.varint64write(long.lo, long.hi, this.buf);
-        return this;
+      // Consumes a specified amount of characters from the buffered data.
+      _getString(n) {
+        let ret = "";
+        let p = this.head;
+        let c = 0;
+        do {
+          const str2 = p.data;
+          if (n > str2.length) {
+            ret += str2;
+            n -= str2.length;
+          } else {
+            if (n === str2.length) {
+              ret += str2;
+              ++c;
+              if (p.next) this.head = p.next;
+              else this.head = this.tail = null;
+            } else {
+              ret += StringPrototypeSlice(str2, 0, n);
+              this.head = p;
+              p.data = StringPrototypeSlice(str2, n);
+            }
+            break;
+          }
+          ++c;
+        } while ((p = p.next) !== null);
+        this.length -= c;
+        return ret;
       }
-      /**
-       * Write a `sint64` value, a signed, zig-zag-encoded 64-bit varint.
-       */
-      sint64(value) {
-        let long = pb_long_1.PbLong.from(value), sign = long.hi >> 31, lo = long.lo << 1 ^ sign, hi = (long.hi << 1 | long.lo >>> 31) ^ sign;
-        goog_varint_1.varint64write(lo, hi, this.buf);
-        return this;
+      // Consumes a specified amount of bytes from the buffered data.
+      _getBuffer(n) {
+        const ret = Buffer2.allocUnsafe(n);
+        const retLen = n;
+        let p = this.head;
+        let c = 0;
+        do {
+          const buf = p.data;
+          if (n > buf.length) {
+            TypedArrayPrototypeSet(ret, buf, retLen - n);
+            n -= buf.length;
+          } else {
+            if (n === buf.length) {
+              TypedArrayPrototypeSet(ret, buf, retLen - n);
+              ++c;
+              if (p.next) this.head = p.next;
+              else this.head = this.tail = null;
+            } else {
+              TypedArrayPrototypeSet(ret, new Uint8Array2(buf.buffer, buf.byteOffset, n), retLen - n);
+              this.head = p;
+              p.data = buf.slice(n);
+            }
+            break;
+          }
+          ++c;
+        } while ((p = p.next) !== null);
+        this.length -= c;
+        return ret;
       }
-      /**
-       * Write a `uint64` value, an unsigned 64-bit varint.
-       */
-      uint64(value) {
-        let long = pb_long_1.PbULong.from(value);
-        goog_varint_1.varint64write(long.lo, long.hi, this.buf);
-        return this;
+      // Make sure the linked list only shows the minimal necessary information.
+      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")](_2, options) {
+        return inspect(this, {
+          ...options,
+          // Only inspect one level.
+          depth: 0,
+          // It should not recurse.
+          customInspect: false
+        });
       }
     };
-    exports2.BinaryWriter = BinaryWriter;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/json-format-contract.js
-var require_json_format_contract = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/json-format-contract.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/state.js
+var require_state3 = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/state.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.mergeJsonOptions = exports2.jsonWriteOptions = exports2.jsonReadOptions = void 0;
-    var defaultsWrite = {
-      emitDefaultValues: false,
-      enumAsInteger: false,
-      useProtoFieldName: false,
-      prettySpaces: 0
-    };
-    var defaultsRead = {
-      ignoreUnknownFields: false
-    };
-    function jsonReadOptions(options) {
-      return options ? Object.assign(Object.assign({}, defaultsRead), options) : defaultsRead;
+    var { MathFloor, NumberIsInteger } = require_primordials();
+    var { validateInteger } = require_validators();
+    var { ERR_INVALID_ARG_VALUE } = require_errors5().codes;
+    var defaultHighWaterMarkBytes = 16 * 1024;
+    var defaultHighWaterMarkObjectMode = 16;
+    function highWaterMarkFrom(options, isDuplex, duplexKey) {
+      return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;
     }
-    exports2.jsonReadOptions = jsonReadOptions;
-    function jsonWriteOptions(options) {
-      return options ? Object.assign(Object.assign({}, defaultsWrite), options) : defaultsWrite;
+    function getDefaultHighWaterMark(objectMode) {
+      return objectMode ? defaultHighWaterMarkObjectMode : defaultHighWaterMarkBytes;
     }
-    exports2.jsonWriteOptions = jsonWriteOptions;
-    function mergeJsonOptions(a, b) {
-      var _a, _b;
-      let c = Object.assign(Object.assign({}, a), b);
-      c.typeRegistry = [...(_a = a === null || a === void 0 ? void 0 : a.typeRegistry) !== null && _a !== void 0 ? _a : [], ...(_b = b === null || b === void 0 ? void 0 : b.typeRegistry) !== null && _b !== void 0 ? _b : []];
-      return c;
+    function setDefaultHighWaterMark(objectMode, value) {
+      validateInteger(value, "value", 0);
+      if (objectMode) {
+        defaultHighWaterMarkObjectMode = value;
+      } else {
+        defaultHighWaterMarkBytes = value;
+      }
     }
-    exports2.mergeJsonOptions = mergeJsonOptions;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/message-type-contract.js
-var require_message_type_contract = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/message-type-contract.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.MESSAGE_TYPE = void 0;
-    exports2.MESSAGE_TYPE = /* @__PURE__ */ Symbol.for("protobuf-ts/message-type");
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/lower-camel-case.js
-var require_lower_camel_case = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/lower-camel-case.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.lowerCamelCase = void 0;
-    function lowerCamelCase(snakeCase) {
-      let capNext = false;
-      const sb = [];
-      for (let i = 0; i < snakeCase.length; i++) {
-        let next = snakeCase.charAt(i);
-        if (next == "_") {
-          capNext = true;
-        } else if (/\d/.test(next)) {
-          sb.push(next);
-          capNext = true;
-        } else if (capNext) {
-          sb.push(next.toUpperCase());
-          capNext = false;
-        } else if (i == 0) {
-          sb.push(next.toLowerCase());
-        } else {
-          sb.push(next);
+    function getHighWaterMark(state, options, duplexKey, isDuplex) {
+      const hwm = highWaterMarkFrom(options, isDuplex, duplexKey);
+      if (hwm != null) {
+        if (!NumberIsInteger(hwm) || hwm < 0) {
+          const name = isDuplex ? `options.${duplexKey}` : "options.highWaterMark";
+          throw new ERR_INVALID_ARG_VALUE(name, hwm);
         }
+        return MathFloor(hwm);
       }
-      return sb.join("");
+      return getDefaultHighWaterMark(state.objectMode);
     }
-    exports2.lowerCamelCase = lowerCamelCase;
+    module2.exports = {
+      getHighWaterMark,
+      getDefaultHighWaterMark,
+      setDefaultHighWaterMark
+    };
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-info.js
-var require_reflection_info = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-info.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/from.js
+var require_from = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/from.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.readMessageOption = exports2.readFieldOption = exports2.readFieldOptions = exports2.normalizeFieldInfo = exports2.RepeatType = exports2.LongType = exports2.ScalarType = void 0;
-    var lower_camel_case_1 = require_lower_camel_case();
-    var ScalarType;
-    (function(ScalarType2) {
-      ScalarType2[ScalarType2["DOUBLE"] = 1] = "DOUBLE";
-      ScalarType2[ScalarType2["FLOAT"] = 2] = "FLOAT";
-      ScalarType2[ScalarType2["INT64"] = 3] = "INT64";
-      ScalarType2[ScalarType2["UINT64"] = 4] = "UINT64";
-      ScalarType2[ScalarType2["INT32"] = 5] = "INT32";
-      ScalarType2[ScalarType2["FIXED64"] = 6] = "FIXED64";
-      ScalarType2[ScalarType2["FIXED32"] = 7] = "FIXED32";
-      ScalarType2[ScalarType2["BOOL"] = 8] = "BOOL";
-      ScalarType2[ScalarType2["STRING"] = 9] = "STRING";
-      ScalarType2[ScalarType2["BYTES"] = 12] = "BYTES";
-      ScalarType2[ScalarType2["UINT32"] = 13] = "UINT32";
-      ScalarType2[ScalarType2["SFIXED32"] = 15] = "SFIXED32";
-      ScalarType2[ScalarType2["SFIXED64"] = 16] = "SFIXED64";
-      ScalarType2[ScalarType2["SINT32"] = 17] = "SINT32";
-      ScalarType2[ScalarType2["SINT64"] = 18] = "SINT64";
-    })(ScalarType = exports2.ScalarType || (exports2.ScalarType = {}));
-    var LongType;
-    (function(LongType2) {
-      LongType2[LongType2["BIGINT"] = 0] = "BIGINT";
-      LongType2[LongType2["STRING"] = 1] = "STRING";
-      LongType2[LongType2["NUMBER"] = 2] = "NUMBER";
-    })(LongType = exports2.LongType || (exports2.LongType = {}));
-    var RepeatType;
-    (function(RepeatType2) {
-      RepeatType2[RepeatType2["NO"] = 0] = "NO";
-      RepeatType2[RepeatType2["PACKED"] = 1] = "PACKED";
-      RepeatType2[RepeatType2["UNPACKED"] = 2] = "UNPACKED";
-    })(RepeatType = exports2.RepeatType || (exports2.RepeatType = {}));
-    function normalizeFieldInfo(field) {
-      var _a, _b, _c, _d;
-      field.localName = (_a = field.localName) !== null && _a !== void 0 ? _a : lower_camel_case_1.lowerCamelCase(field.name);
-      field.jsonName = (_b = field.jsonName) !== null && _b !== void 0 ? _b : lower_camel_case_1.lowerCamelCase(field.name);
-      field.repeat = (_c = field.repeat) !== null && _c !== void 0 ? _c : RepeatType.NO;
-      field.opt = (_d = field.opt) !== null && _d !== void 0 ? _d : field.repeat ? false : field.oneof ? false : field.kind == "message";
-      return field;
-    }
-    exports2.normalizeFieldInfo = normalizeFieldInfo;
-    function readFieldOptions(messageType, fieldName, extensionName, extensionType) {
-      var _a;
-      const options = (_a = messageType.fields.find((m, i) => m.localName == fieldName || i == fieldName)) === null || _a === void 0 ? void 0 : _a.options;
-      return options && options[extensionName] ? extensionType.fromJson(options[extensionName]) : void 0;
-    }
-    exports2.readFieldOptions = readFieldOptions;
-    function readFieldOption(messageType, fieldName, extensionName, extensionType) {
-      var _a;
-      const options = (_a = messageType.fields.find((m, i) => m.localName == fieldName || i == fieldName)) === null || _a === void 0 ? void 0 : _a.options;
-      if (!options) {
-        return void 0;
+    var process2 = require_process();
+    var { PromisePrototypeThen, SymbolAsyncIterator, SymbolIterator } = require_primordials();
+    var { Buffer: Buffer2 } = require("buffer");
+    var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_NULL_VALUES } = require_errors5().codes;
+    function from(Readable2, iterable, opts) {
+      let iterator2;
+      if (typeof iterable === "string" || iterable instanceof Buffer2) {
+        return new Readable2({
+          objectMode: true,
+          ...opts,
+          read() {
+            this.push(iterable);
+            this.push(null);
+          }
+        });
       }
-      const optionVal = options[extensionName];
-      if (optionVal === void 0) {
-        return optionVal;
+      let isAsync;
+      if (iterable && iterable[SymbolAsyncIterator]) {
+        isAsync = true;
+        iterator2 = iterable[SymbolAsyncIterator]();
+      } else if (iterable && iterable[SymbolIterator]) {
+        isAsync = false;
+        iterator2 = iterable[SymbolIterator]();
+      } else {
+        throw new ERR_INVALID_ARG_TYPE2("iterable", ["Iterable"], iterable);
       }
-      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
-    }
-    exports2.readFieldOption = readFieldOption;
-    function readMessageOption(messageType, extensionName, extensionType) {
-      const options = messageType.options;
-      const optionVal = options[extensionName];
-      if (optionVal === void 0) {
-        return optionVal;
+      const readable = new Readable2({
+        objectMode: true,
+        highWaterMark: 1,
+        // TODO(ronag): What options should be allowed?
+        ...opts
+      });
+      let reading = false;
+      readable._read = function() {
+        if (!reading) {
+          reading = true;
+          next();
+        }
+      };
+      readable._destroy = function(error3, cb) {
+        PromisePrototypeThen(
+          close(error3),
+          () => process2.nextTick(cb, error3),
+          // nextTick is here in case cb throws
+          (e) => process2.nextTick(cb, e || error3)
+        );
+      };
+      async function close(error3) {
+        const hadError = error3 !== void 0 && error3 !== null;
+        const hasThrow = typeof iterator2.throw === "function";
+        if (hadError && hasThrow) {
+          const { value, done } = await iterator2.throw(error3);
+          await value;
+          if (done) {
+            return;
+          }
+        }
+        if (typeof iterator2.return === "function") {
+          const { value } = await iterator2.return();
+          await value;
+        }
       }
-      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
+      async function next() {
+        for (; ; ) {
+          try {
+            const { value, done } = isAsync ? await iterator2.next() : iterator2.next();
+            if (done) {
+              readable.push(null);
+            } else {
+              const res = value && typeof value.then === "function" ? await value : value;
+              if (res === null) {
+                reading = false;
+                throw new ERR_STREAM_NULL_VALUES();
+              } else if (readable.push(res)) {
+                continue;
+              } else {
+                reading = false;
+              }
+            }
+          } catch (err) {
+            readable.destroy(err);
+          }
+          break;
+        }
+      }
+      return readable;
     }
-    exports2.readMessageOption = readMessageOption;
+    module2.exports = from;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/oneof.js
-var require_oneof = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/oneof.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getSelectedOneofValue = exports2.clearOneofValue = exports2.setUnknownOneofValue = exports2.setOneofValue = exports2.getOneofValue = exports2.isOneofGroup = void 0;
-    function isOneofGroup(any) {
-      if (typeof any != "object" || any === null || !any.hasOwnProperty("oneofKind")) {
-        return false;
-      }
-      switch (typeof any.oneofKind) {
-        case "string":
-          if (any[any.oneofKind] === void 0)
-            return false;
-          return Object.keys(any).length == 2;
-        case "undefined":
-          return Object.keys(any).length == 1;
-        default:
-          return false;
-      }
-    }
-    exports2.isOneofGroup = isOneofGroup;
-    function getOneofValue(oneof, kind) {
-      return oneof[kind];
-    }
-    exports2.getOneofValue = getOneofValue;
-    function setOneofValue(oneof, kind, value) {
-      if (oneof.oneofKind !== void 0) {
-        delete oneof[oneof.oneofKind];
-      }
-      oneof.oneofKind = kind;
-      if (value !== void 0) {
-        oneof[kind] = value;
-      }
-    }
-    exports2.setOneofValue = setOneofValue;
-    function setUnknownOneofValue(oneof, kind, value) {
-      if (oneof.oneofKind !== void 0) {
-        delete oneof[oneof.oneofKind];
-      }
-      oneof.oneofKind = kind;
-      if (value !== void 0 && kind !== void 0) {
-        oneof[kind] = value;
-      }
+// node_modules/readable-stream/lib/internal/streams/readable.js
+var require_readable4 = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/readable.js"(exports2, module2) {
+    var process2 = require_process();
+    var {
+      ArrayPrototypeIndexOf,
+      NumberIsInteger,
+      NumberIsNaN,
+      NumberParseInt,
+      ObjectDefineProperties,
+      ObjectKeys,
+      ObjectSetPrototypeOf,
+      Promise: Promise2,
+      SafeSet,
+      SymbolAsyncDispose,
+      SymbolAsyncIterator,
+      Symbol: Symbol2
+    } = require_primordials();
+    module2.exports = Readable2;
+    Readable2.ReadableState = ReadableState;
+    var { EventEmitter: EE } = require("events");
+    var { Stream, prependListener } = require_legacy();
+    var { Buffer: Buffer2 } = require("buffer");
+    var { addAbortSignal } = require_add_abort_signal();
+    var eos = require_end_of_stream();
+    var debug5 = require_util21().debuglog("stream", (fn) => {
+      debug5 = fn;
+    });
+    var BufferList = require_buffer_list();
+    var destroyImpl = require_destroy2();
+    var { getHighWaterMark, getDefaultHighWaterMark } = require_state3();
+    var {
+      aggregateTwoErrors,
+      codes: {
+        ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,
+        ERR_METHOD_NOT_IMPLEMENTED,
+        ERR_OUT_OF_RANGE,
+        ERR_STREAM_PUSH_AFTER_EOF,
+        ERR_STREAM_UNSHIFT_AFTER_END_EVENT
+      },
+      AbortError
+    } = require_errors5();
+    var { validateObject } = require_validators();
+    var kPaused = Symbol2("kPaused");
+    var { StringDecoder } = require("string_decoder");
+    var from = require_from();
+    ObjectSetPrototypeOf(Readable2.prototype, Stream.prototype);
+    ObjectSetPrototypeOf(Readable2, Stream);
+    var nop = () => {
+    };
+    var { errorOrDestroy } = destroyImpl;
+    var kObjectMode = 1 << 0;
+    var kEnded = 1 << 1;
+    var kEndEmitted = 1 << 2;
+    var kReading = 1 << 3;
+    var kConstructed = 1 << 4;
+    var kSync = 1 << 5;
+    var kNeedReadable = 1 << 6;
+    var kEmittedReadable = 1 << 7;
+    var kReadableListening = 1 << 8;
+    var kResumeScheduled = 1 << 9;
+    var kErrorEmitted = 1 << 10;
+    var kEmitClose = 1 << 11;
+    var kAutoDestroy = 1 << 12;
+    var kDestroyed = 1 << 13;
+    var kClosed = 1 << 14;
+    var kCloseEmitted = 1 << 15;
+    var kMultiAwaitDrain = 1 << 16;
+    var kReadingMore = 1 << 17;
+    var kDataEmitted = 1 << 18;
+    function makeBitMapDescriptor(bit) {
+      return {
+        enumerable: false,
+        get() {
+          return (this.state & bit) !== 0;
+        },
+        set(value) {
+          if (value) this.state |= bit;
+          else this.state &= ~bit;
+        }
+      };
     }
-    exports2.setUnknownOneofValue = setUnknownOneofValue;
-    function clearOneofValue(oneof) {
-      if (oneof.oneofKind !== void 0) {
-        delete oneof[oneof.oneofKind];
+    ObjectDefineProperties(ReadableState.prototype, {
+      objectMode: makeBitMapDescriptor(kObjectMode),
+      ended: makeBitMapDescriptor(kEnded),
+      endEmitted: makeBitMapDescriptor(kEndEmitted),
+      reading: makeBitMapDescriptor(kReading),
+      // Stream is still being constructed and cannot be
+      // destroyed until construction finished or failed.
+      // Async construction is opt in, therefore we start as
+      // constructed.
+      constructed: makeBitMapDescriptor(kConstructed),
+      // A flag to be able to tell if the event 'readable'/'data' is emitted
+      // immediately, or on a later tick.  We set this to true at first, because
+      // any actions that shouldn't happen until "later" should generally also
+      // not happen before the first read call.
+      sync: makeBitMapDescriptor(kSync),
+      // Whenever we return null, then we set a flag to say
+      // that we're awaiting a 'readable' event emission.
+      needReadable: makeBitMapDescriptor(kNeedReadable),
+      emittedReadable: makeBitMapDescriptor(kEmittedReadable),
+      readableListening: makeBitMapDescriptor(kReadableListening),
+      resumeScheduled: makeBitMapDescriptor(kResumeScheduled),
+      // True if the error was already emitted and should not be thrown again.
+      errorEmitted: makeBitMapDescriptor(kErrorEmitted),
+      emitClose: makeBitMapDescriptor(kEmitClose),
+      autoDestroy: makeBitMapDescriptor(kAutoDestroy),
+      // Has it been destroyed.
+      destroyed: makeBitMapDescriptor(kDestroyed),
+      // Indicates whether the stream has finished destroying.
+      closed: makeBitMapDescriptor(kClosed),
+      // True if close has been emitted or would have been emitted
+      // depending on emitClose.
+      closeEmitted: makeBitMapDescriptor(kCloseEmitted),
+      multiAwaitDrain: makeBitMapDescriptor(kMultiAwaitDrain),
+      // If true, a maybeReadMore has been scheduled.
+      readingMore: makeBitMapDescriptor(kReadingMore),
+      dataEmitted: makeBitMapDescriptor(kDataEmitted)
+    });
+    function ReadableState(options, stream2, isDuplex) {
+      if (typeof isDuplex !== "boolean") isDuplex = stream2 instanceof require_duplex();
+      this.state = kEmitClose | kAutoDestroy | kConstructed | kSync;
+      if (options && options.objectMode) this.state |= kObjectMode;
+      if (isDuplex && options && options.readableObjectMode) this.state |= kObjectMode;
+      this.highWaterMark = options ? getHighWaterMark(this, options, "readableHighWaterMark", isDuplex) : getDefaultHighWaterMark(false);
+      this.buffer = new BufferList();
+      this.length = 0;
+      this.pipes = [];
+      this.flowing = null;
+      this[kPaused] = null;
+      if (options && options.emitClose === false) this.state &= ~kEmitClose;
+      if (options && options.autoDestroy === false) this.state &= ~kAutoDestroy;
+      this.errored = null;
+      this.defaultEncoding = options && options.defaultEncoding || "utf8";
+      this.awaitDrainWriters = null;
+      this.decoder = null;
+      this.encoding = null;
+      if (options && options.encoding) {
+        this.decoder = new StringDecoder(options.encoding);
+        this.encoding = options.encoding;
       }
-      oneof.oneofKind = void 0;
     }
-    exports2.clearOneofValue = clearOneofValue;
-    function getSelectedOneofValue(oneof) {
-      if (oneof.oneofKind === void 0) {
-        return void 0;
+    function Readable2(options) {
+      if (!(this instanceof Readable2)) return new Readable2(options);
+      const isDuplex = this instanceof require_duplex();
+      this._readableState = new ReadableState(options, this, isDuplex);
+      if (options) {
+        if (typeof options.read === "function") this._read = options.read;
+        if (typeof options.destroy === "function") this._destroy = options.destroy;
+        if (typeof options.construct === "function") this._construct = options.construct;
+        if (options.signal && !isDuplex) addAbortSignal(options.signal, this);
       }
-      return oneof[oneof.oneofKind];
+      Stream.call(this, options);
+      destroyImpl.construct(this, () => {
+        if (this._readableState.needReadable) {
+          maybeReadMore(this, this._readableState);
+        }
+      });
     }
-    exports2.getSelectedOneofValue = getSelectedOneofValue;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-type-check.js
-var require_reflection_type_check = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-type-check.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ReflectionTypeCheck = void 0;
-    var reflection_info_1 = require_reflection_info();
-    var oneof_1 = require_oneof();
-    var ReflectionTypeCheck = class {
-      constructor(info7) {
-        var _a;
-        this.fields = (_a = info7.fields) !== null && _a !== void 0 ? _a : [];
+    Readable2.prototype.destroy = destroyImpl.destroy;
+    Readable2.prototype._undestroy = destroyImpl.undestroy;
+    Readable2.prototype._destroy = function(err, cb) {
+      cb(err);
+    };
+    Readable2.prototype[EE.captureRejectionSymbol] = function(err) {
+      this.destroy(err);
+    };
+    Readable2.prototype[SymbolAsyncDispose] = function() {
+      let error3;
+      if (!this.destroyed) {
+        error3 = this.readableEnded ? null : new AbortError();
+        this.destroy(error3);
       }
-      prepare() {
-        if (this.data)
-          return;
-        const req = [], known = [], oneofs = [];
-        for (let field of this.fields) {
-          if (field.oneof) {
-            if (!oneofs.includes(field.oneof)) {
-              oneofs.push(field.oneof);
-              req.push(field.oneof);
-              known.push(field.oneof);
-            }
-          } else {
-            known.push(field.localName);
-            switch (field.kind) {
-              case "scalar":
-              case "enum":
-                if (!field.opt || field.repeat)
-                  req.push(field.localName);
-                break;
-              case "message":
-                if (field.repeat)
-                  req.push(field.localName);
-                break;
-              case "map":
-                req.push(field.localName);
-                break;
+      return new Promise2((resolve8, reject) => eos(this, (err) => err && err !== error3 ? reject(err) : resolve8(null)));
+    };
+    Readable2.prototype.push = function(chunk, encoding) {
+      return readableAddChunk(this, chunk, encoding, false);
+    };
+    Readable2.prototype.unshift = function(chunk, encoding) {
+      return readableAddChunk(this, chunk, encoding, true);
+    };
+    function readableAddChunk(stream2, chunk, encoding, addToFront) {
+      debug5("readableAddChunk", chunk);
+      const state = stream2._readableState;
+      let err;
+      if ((state.state & kObjectMode) === 0) {
+        if (typeof chunk === "string") {
+          encoding = encoding || state.defaultEncoding;
+          if (state.encoding !== encoding) {
+            if (addToFront && state.encoding) {
+              chunk = Buffer2.from(chunk, encoding).toString(state.encoding);
+            } else {
+              chunk = Buffer2.from(chunk, encoding);
+              encoding = "";
             }
           }
+        } else if (chunk instanceof Buffer2) {
+          encoding = "";
+        } else if (Stream._isUint8Array(chunk)) {
+          chunk = Stream._uint8ArrayToBuffer(chunk);
+          encoding = "";
+        } else if (chunk != null) {
+          err = new ERR_INVALID_ARG_TYPE2("chunk", ["string", "Buffer", "Uint8Array"], chunk);
         }
-        this.data = { req, known, oneofs: Object.values(oneofs) };
       }
-      /**
-       * Is the argument a valid message as specified by the
-       * reflection information?
-       *
-       * Checks all field types recursively. The `depth`
-       * specifies how deep into the structure the check will be.
-       *
-       * With a depth of 0, only the presence of fields
-       * is checked.
-       *
-       * With a depth of 1 or more, the field types are checked.
-       *
-       * With a depth of 2 or more, the members of map, repeated
-       * and message fields are checked.
-       *
-       * Message fields will be checked recursively with depth - 1.
-       *
-       * The number of map entries / repeated values being checked
-       * is < depth.
-       */
-      is(message, depth, allowExcessProperties = false) {
-        if (depth < 0)
-          return true;
-        if (message === null || message === void 0 || typeof message != "object")
-          return false;
-        this.prepare();
-        let keys = Object.keys(message), data = this.data;
-        if (keys.length < data.req.length || data.req.some((n) => !keys.includes(n)))
+      if (err) {
+        errorOrDestroy(stream2, err);
+      } else if (chunk === null) {
+        state.state &= ~kReading;
+        onEofChunk(stream2, state);
+      } else if ((state.state & kObjectMode) !== 0 || chunk && chunk.length > 0) {
+        if (addToFront) {
+          if ((state.state & kEndEmitted) !== 0) errorOrDestroy(stream2, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());
+          else if (state.destroyed || state.errored) return false;
+          else addChunk(stream2, state, chunk, true);
+        } else if (state.ended) {
+          errorOrDestroy(stream2, new ERR_STREAM_PUSH_AFTER_EOF());
+        } else if (state.destroyed || state.errored) {
           return false;
-        if (!allowExcessProperties) {
-          if (keys.some((k) => !data.known.includes(k)))
-            return false;
-        }
-        if (depth < 1) {
-          return true;
-        }
-        for (const name of data.oneofs) {
-          const group = message[name];
-          if (!oneof_1.isOneofGroup(group))
-            return false;
-          if (group.oneofKind === void 0)
-            continue;
-          const field = this.fields.find((f) => f.localName === group.oneofKind);
-          if (!field)
-            return false;
-          if (!this.field(group[group.oneofKind], field, allowExcessProperties, depth))
-            return false;
-        }
-        for (const field of this.fields) {
-          if (field.oneof !== void 0)
-            continue;
-          if (!this.field(message[field.localName], field, allowExcessProperties, depth))
-            return false;
+        } else {
+          state.state &= ~kReading;
+          if (state.decoder && !encoding) {
+            chunk = state.decoder.write(chunk);
+            if (state.objectMode || chunk.length !== 0) addChunk(stream2, state, chunk, false);
+            else maybeReadMore(stream2, state);
+          } else {
+            addChunk(stream2, state, chunk, false);
+          }
         }
-        return true;
+      } else if (!addToFront) {
+        state.state &= ~kReading;
+        maybeReadMore(stream2, state);
       }
-      field(arg, field, allowExcessProperties, depth) {
-        let repeated = field.repeat;
-        switch (field.kind) {
-          case "scalar":
-            if (arg === void 0)
-              return field.opt;
-            if (repeated)
-              return this.scalars(arg, field.T, depth, field.L);
-            return this.scalar(arg, field.T, field.L);
-          case "enum":
-            if (arg === void 0)
-              return field.opt;
-            if (repeated)
-              return this.scalars(arg, reflection_info_1.ScalarType.INT32, depth);
-            return this.scalar(arg, reflection_info_1.ScalarType.INT32);
-          case "message":
-            if (arg === void 0)
-              return true;
-            if (repeated)
-              return this.messages(arg, field.T(), allowExcessProperties, depth);
-            return this.message(arg, field.T(), allowExcessProperties, depth);
-          case "map":
-            if (typeof arg != "object" || arg === null)
-              return false;
-            if (depth < 2)
-              return true;
-            if (!this.mapKeys(arg, field.K, depth))
-              return false;
-            switch (field.V.kind) {
-              case "scalar":
-                return this.scalars(Object.values(arg), field.V.T, depth, field.V.L);
-              case "enum":
-                return this.scalars(Object.values(arg), reflection_info_1.ScalarType.INT32, depth);
-              case "message":
-                return this.messages(Object.values(arg), field.V.T(), allowExcessProperties, depth);
-            }
-            break;
+      return !state.ended && (state.length < state.highWaterMark || state.length === 0);
+    }
+    function addChunk(stream2, state, chunk, addToFront) {
+      if (state.flowing && state.length === 0 && !state.sync && stream2.listenerCount("data") > 0) {
+        if ((state.state & kMultiAwaitDrain) !== 0) {
+          state.awaitDrainWriters.clear();
+        } else {
+          state.awaitDrainWriters = null;
         }
-        return true;
+        state.dataEmitted = true;
+        stream2.emit("data", chunk);
+      } else {
+        state.length += state.objectMode ? 1 : chunk.length;
+        if (addToFront) state.buffer.unshift(chunk);
+        else state.buffer.push(chunk);
+        if ((state.state & kNeedReadable) !== 0) emitReadable(stream2);
       }
-      message(arg, type2, allowExcessProperties, depth) {
-        if (allowExcessProperties) {
-          return type2.isAssignable(arg, depth);
-        }
-        return type2.is(arg, depth);
+      maybeReadMore(stream2, state);
+    }
+    Readable2.prototype.isPaused = function() {
+      const state = this._readableState;
+      return state[kPaused] === true || state.flowing === false;
+    };
+    Readable2.prototype.setEncoding = function(enc) {
+      const decoder = new StringDecoder(enc);
+      this._readableState.decoder = decoder;
+      this._readableState.encoding = this._readableState.decoder.encoding;
+      const buffer = this._readableState.buffer;
+      let content = "";
+      for (const data of buffer) {
+        content += decoder.write(data);
       }
-      messages(arg, type2, allowExcessProperties, depth) {
-        if (!Array.isArray(arg))
-          return false;
-        if (depth < 2)
-          return true;
-        if (allowExcessProperties) {
-          for (let i = 0; i < arg.length && i < depth; i++)
-            if (!type2.isAssignable(arg[i], depth - 1))
-              return false;
-        } else {
-          for (let i = 0; i < arg.length && i < depth; i++)
-            if (!type2.is(arg[i], depth - 1))
-              return false;
-        }
-        return true;
+      buffer.clear();
+      if (content !== "") buffer.push(content);
+      this._readableState.length = content.length;
+      return this;
+    };
+    var MAX_HWM = 1073741824;
+    function computeNewHighWaterMark(n) {
+      if (n > MAX_HWM) {
+        throw new ERR_OUT_OF_RANGE("size", "<= 1GiB", n);
+      } else {
+        n--;
+        n |= n >>> 1;
+        n |= n >>> 2;
+        n |= n >>> 4;
+        n |= n >>> 8;
+        n |= n >>> 16;
+        n++;
       }
-      scalar(arg, type2, longType) {
-        let argType = typeof arg;
-        switch (type2) {
-          case reflection_info_1.ScalarType.UINT64:
-          case reflection_info_1.ScalarType.FIXED64:
-          case reflection_info_1.ScalarType.INT64:
-          case reflection_info_1.ScalarType.SFIXED64:
-          case reflection_info_1.ScalarType.SINT64:
-            switch (longType) {
-              case reflection_info_1.LongType.BIGINT:
-                return argType == "bigint";
-              case reflection_info_1.LongType.NUMBER:
-                return argType == "number" && !isNaN(arg);
-              default:
-                return argType == "string";
-            }
-          case reflection_info_1.ScalarType.BOOL:
-            return argType == "boolean";
-          case reflection_info_1.ScalarType.STRING:
-            return argType == "string";
-          case reflection_info_1.ScalarType.BYTES:
-            return arg instanceof Uint8Array;
-          case reflection_info_1.ScalarType.DOUBLE:
-          case reflection_info_1.ScalarType.FLOAT:
-            return argType == "number" && !isNaN(arg);
-          default:
-            return argType == "number" && Number.isInteger(arg);
+      return n;
+    }
+    function howMuchToRead(n, state) {
+      if (n <= 0 || state.length === 0 && state.ended) return 0;
+      if ((state.state & kObjectMode) !== 0) return 1;
+      if (NumberIsNaN(n)) {
+        if (state.flowing && state.length) return state.buffer.first().length;
+        return state.length;
+      }
+      if (n <= state.length) return n;
+      return state.ended ? state.length : 0;
+    }
+    Readable2.prototype.read = function(n) {
+      debug5("read", n);
+      if (n === void 0) {
+        n = NaN;
+      } else if (!NumberIsInteger(n)) {
+        n = NumberParseInt(n, 10);
+      }
+      const state = this._readableState;
+      const nOrig = n;
+      if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);
+      if (n !== 0) state.state &= ~kEmittedReadable;
+      if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {
+        debug5("read: emitReadable", state.length, state.ended);
+        if (state.length === 0 && state.ended) endReadable(this);
+        else emitReadable(this);
+        return null;
+      }
+      n = howMuchToRead(n, state);
+      if (n === 0 && state.ended) {
+        if (state.length === 0) endReadable(this);
+        return null;
+      }
+      let doRead = (state.state & kNeedReadable) !== 0;
+      debug5("need readable", doRead);
+      if (state.length === 0 || state.length - n < state.highWaterMark) {
+        doRead = true;
+        debug5("length less than watermark", doRead);
+      }
+      if (state.ended || state.reading || state.destroyed || state.errored || !state.constructed) {
+        doRead = false;
+        debug5("reading, ended or constructing", doRead);
+      } else if (doRead) {
+        debug5("do read");
+        state.state |= kReading | kSync;
+        if (state.length === 0) state.state |= kNeedReadable;
+        try {
+          this._read(state.highWaterMark);
+        } catch (err) {
+          errorOrDestroy(this, err);
         }
+        state.state &= ~kSync;
+        if (!state.reading) n = howMuchToRead(nOrig, state);
       }
-      scalars(arg, type2, depth, longType) {
-        if (!Array.isArray(arg))
-          return false;
-        if (depth < 2)
-          return true;
-        if (Array.isArray(arg)) {
-          for (let i = 0; i < arg.length && i < depth; i++)
-            if (!this.scalar(arg[i], type2, longType))
-              return false;
+      let ret;
+      if (n > 0) ret = fromList(n, state);
+      else ret = null;
+      if (ret === null) {
+        state.needReadable = state.length <= state.highWaterMark;
+        n = 0;
+      } else {
+        state.length -= n;
+        if (state.multiAwaitDrain) {
+          state.awaitDrainWriters.clear();
+        } else {
+          state.awaitDrainWriters = null;
         }
-        return true;
       }
-      mapKeys(map2, type2, depth) {
-        let keys = Object.keys(map2);
-        switch (type2) {
-          case reflection_info_1.ScalarType.INT32:
-          case reflection_info_1.ScalarType.FIXED32:
-          case reflection_info_1.ScalarType.SFIXED32:
-          case reflection_info_1.ScalarType.SINT32:
-          case reflection_info_1.ScalarType.UINT32:
-            return this.scalars(keys.slice(0, depth).map((k) => parseInt(k)), type2, depth);
-          case reflection_info_1.ScalarType.BOOL:
-            return this.scalars(keys.slice(0, depth).map((k) => k == "true" ? true : k == "false" ? false : k), type2, depth);
-          default:
-            return this.scalars(keys, type2, depth, reflection_info_1.LongType.STRING);
-        }
+      if (state.length === 0) {
+        if (!state.ended) state.needReadable = true;
+        if (nOrig !== n && state.ended) endReadable(this);
       }
+      if (ret !== null && !state.errorEmitted && !state.closeEmitted) {
+        state.dataEmitted = true;
+        this.emit("data", ret);
+      }
+      return ret;
     };
-    exports2.ReflectionTypeCheck = ReflectionTypeCheck;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-long-convert.js
-var require_reflection_long_convert = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-long-convert.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.reflectionLongConvert = void 0;
-    var reflection_info_1 = require_reflection_info();
-    function reflectionLongConvert(long, type2) {
-      switch (type2) {
-        case reflection_info_1.LongType.BIGINT:
-          return long.toBigInt();
-        case reflection_info_1.LongType.NUMBER:
-          return long.toNumber();
-        default:
-          return long.toString();
+    function onEofChunk(stream2, state) {
+      debug5("onEofChunk");
+      if (state.ended) return;
+      if (state.decoder) {
+        const chunk = state.decoder.end();
+        if (chunk && chunk.length) {
+          state.buffer.push(chunk);
+          state.length += state.objectMode ? 1 : chunk.length;
+        }
+      }
+      state.ended = true;
+      if (state.sync) {
+        emitReadable(stream2);
+      } else {
+        state.needReadable = false;
+        state.emittedReadable = true;
+        emitReadable_(stream2);
       }
     }
-    exports2.reflectionLongConvert = reflectionLongConvert;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-reader.js
-var require_reflection_json_reader = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-reader.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ReflectionJsonReader = void 0;
-    var json_typings_1 = require_json_typings();
-    var base64_1 = require_base642();
-    var reflection_info_1 = require_reflection_info();
-    var pb_long_1 = require_pb_long();
-    var assert_1 = require_assert();
-    var reflection_long_convert_1 = require_reflection_long_convert();
-    var ReflectionJsonReader = class {
-      constructor(info7) {
-        this.info = info7;
+    function emitReadable(stream2) {
+      const state = stream2._readableState;
+      debug5("emitReadable", state.needReadable, state.emittedReadable);
+      state.needReadable = false;
+      if (!state.emittedReadable) {
+        debug5("emitReadable", state.flowing);
+        state.emittedReadable = true;
+        process2.nextTick(emitReadable_, stream2);
       }
-      prepare() {
-        var _a;
-        if (this.fMap === void 0) {
-          this.fMap = {};
-          const fieldsInput = (_a = this.info.fields) !== null && _a !== void 0 ? _a : [];
-          for (const field of fieldsInput) {
-            this.fMap[field.name] = field;
-            this.fMap[field.jsonName] = field;
-            this.fMap[field.localName] = field;
+    }
+    function emitReadable_(stream2) {
+      const state = stream2._readableState;
+      debug5("emitReadable_", state.destroyed, state.length, state.ended);
+      if (!state.destroyed && !state.errored && (state.length || state.ended)) {
+        stream2.emit("readable");
+        state.emittedReadable = false;
+      }
+      state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;
+      flow(stream2);
+    }
+    function maybeReadMore(stream2, state) {
+      if (!state.readingMore && state.constructed) {
+        state.readingMore = true;
+        process2.nextTick(maybeReadMore_, stream2, state);
+      }
+    }
+    function maybeReadMore_(stream2, state) {
+      while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {
+        const len = state.length;
+        debug5("maybeReadMore read 0");
+        stream2.read(0);
+        if (len === state.length)
+          break;
+      }
+      state.readingMore = false;
+    }
+    Readable2.prototype._read = function(n) {
+      throw new ERR_METHOD_NOT_IMPLEMENTED("_read()");
+    };
+    Readable2.prototype.pipe = function(dest, pipeOpts) {
+      const src = this;
+      const state = this._readableState;
+      if (state.pipes.length === 1) {
+        if (!state.multiAwaitDrain) {
+          state.multiAwaitDrain = true;
+          state.awaitDrainWriters = new SafeSet(state.awaitDrainWriters ? [state.awaitDrainWriters] : []);
+        }
+      }
+      state.pipes.push(dest);
+      debug5("pipe count=%d opts=%j", state.pipes.length, pipeOpts);
+      const doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process2.stdout && dest !== process2.stderr;
+      const endFn = doEnd ? onend : unpipe;
+      if (state.endEmitted) process2.nextTick(endFn);
+      else src.once("end", endFn);
+      dest.on("unpipe", onunpipe);
+      function onunpipe(readable, unpipeInfo) {
+        debug5("onunpipe");
+        if (readable === src) {
+          if (unpipeInfo && unpipeInfo.hasUnpiped === false) {
+            unpipeInfo.hasUnpiped = true;
+            cleanup();
           }
         }
       }
-      // Cannot parse JSON  for #.
-      assert(condition, fieldName, jsonValue) {
-        if (!condition) {
-          let what = json_typings_1.typeofJsonValue(jsonValue);
-          if (what == "number" || what == "boolean")
-            what = jsonValue.toString();
-          throw new Error(`Cannot parse JSON ${what} for ${this.info.typeName}#${fieldName}`);
+      function onend() {
+        debug5("onend");
+        dest.end();
+      }
+      let ondrain;
+      let cleanedUp = false;
+      function cleanup() {
+        debug5("cleanup");
+        dest.removeListener("close", onclose);
+        dest.removeListener("finish", onfinish);
+        if (ondrain) {
+          dest.removeListener("drain", ondrain);
         }
+        dest.removeListener("error", onerror);
+        dest.removeListener("unpipe", onunpipe);
+        src.removeListener("end", onend);
+        src.removeListener("end", unpipe);
+        src.removeListener("data", ondata);
+        cleanedUp = true;
+        if (ondrain && state.awaitDrainWriters && (!dest._writableState || dest._writableState.needDrain)) ondrain();
       }
-      /**
-       * Reads a message from canonical JSON format into the target message.
-       *
-       * Repeated fields are appended. Map entries are added, overwriting
-       * existing keys.
-       *
-       * If a message field is already present, it will be merged with the
-       * new data.
-       */
-      read(input, message, options) {
-        this.prepare();
-        const oneofsHandled = [];
-        for (const [jsonKey, jsonValue] of Object.entries(input)) {
-          const field = this.fMap[jsonKey];
-          if (!field) {
-            if (!options.ignoreUnknownFields)
-              throw new Error(`Found unknown field while reading ${this.info.typeName} from JSON format. JSON key: ${jsonKey}`);
-            continue;
-          }
-          const localName = field.localName;
-          let target;
-          if (field.oneof) {
-            if (jsonValue === null && (field.kind !== "enum" || field.T()[0] !== "google.protobuf.NullValue")) {
-              continue;
-            }
-            if (oneofsHandled.includes(field.oneof))
-              throw new Error(`Multiple members of the oneof group "${field.oneof}" of ${this.info.typeName} are present in JSON.`);
-            oneofsHandled.push(field.oneof);
-            target = message[field.oneof] = {
-              oneofKind: localName
-            };
-          } else {
-            target = message;
-          }
-          if (field.kind == "map") {
-            if (jsonValue === null) {
-              continue;
-            }
-            this.assert(json_typings_1.isJsonObject(jsonValue), field.name, jsonValue);
-            const fieldObj = target[localName];
-            for (const [jsonObjKey, jsonObjValue] of Object.entries(jsonValue)) {
-              this.assert(jsonObjValue !== null, field.name + " map value", null);
-              let val;
-              switch (field.V.kind) {
-                case "message":
-                  val = field.V.T().internalJsonRead(jsonObjValue, options);
-                  break;
-                case "enum":
-                  val = this.enum(field.V.T(), jsonObjValue, field.name, options.ignoreUnknownFields);
-                  if (val === false)
-                    continue;
-                  break;
-                case "scalar":
-                  val = this.scalar(jsonObjValue, field.V.T, field.V.L, field.name);
-                  break;
-              }
-              this.assert(val !== void 0, field.name + " map value", jsonObjValue);
-              let key = jsonObjKey;
-              if (field.K == reflection_info_1.ScalarType.BOOL)
-                key = key == "true" ? true : key == "false" ? false : key;
-              key = this.scalar(key, field.K, reflection_info_1.LongType.STRING, field.name).toString();
-              fieldObj[key] = val;
-            }
-          } else if (field.repeat) {
-            if (jsonValue === null)
-              continue;
-            this.assert(Array.isArray(jsonValue), field.name, jsonValue);
-            const fieldArr = target[localName];
-            for (const jsonItem of jsonValue) {
-              this.assert(jsonItem !== null, field.name, null);
-              let val;
-              switch (field.kind) {
-                case "message":
-                  val = field.T().internalJsonRead(jsonItem, options);
-                  break;
-                case "enum":
-                  val = this.enum(field.T(), jsonItem, field.name, options.ignoreUnknownFields);
-                  if (val === false)
-                    continue;
-                  break;
-                case "scalar":
-                  val = this.scalar(jsonItem, field.T, field.L, field.name);
-                  break;
-              }
-              this.assert(val !== void 0, field.name, jsonValue);
-              fieldArr.push(val);
-            }
-          } else {
-            switch (field.kind) {
-              case "message":
-                if (jsonValue === null && field.T().typeName != "google.protobuf.Value") {
-                  this.assert(field.oneof === void 0, field.name + " (oneof member)", null);
-                  continue;
-                }
-                target[localName] = field.T().internalJsonRead(jsonValue, options, target[localName]);
-                break;
-              case "enum":
-                if (jsonValue === null)
-                  continue;
-                let val = this.enum(field.T(), jsonValue, field.name, options.ignoreUnknownFields);
-                if (val === false)
-                  continue;
-                target[localName] = val;
-                break;
-              case "scalar":
-                if (jsonValue === null)
-                  continue;
-                target[localName] = this.scalar(jsonValue, field.T, field.L, field.name);
-                break;
-            }
+      function pause() {
+        if (!cleanedUp) {
+          if (state.pipes.length === 1 && state.pipes[0] === dest) {
+            debug5("false write response, pause", 0);
+            state.awaitDrainWriters = dest;
+            state.multiAwaitDrain = false;
+          } else if (state.pipes.length > 1 && state.pipes.includes(dest)) {
+            debug5("false write response, pause", state.awaitDrainWriters.size);
+            state.awaitDrainWriters.add(dest);
           }
+          src.pause();
+        }
+        if (!ondrain) {
+          ondrain = pipeOnDrain(src, dest);
+          dest.on("drain", ondrain);
         }
       }
-      /**
-       * Returns `false` for unrecognized string representations.
-       *
-       * google.protobuf.NullValue accepts only JSON `null` (or the old `"NULL_VALUE"`).
-       */
-      enum(type2, json2, fieldName, ignoreUnknownFields) {
-        if (type2[0] == "google.protobuf.NullValue")
-          assert_1.assert(json2 === null || json2 === "NULL_VALUE", `Unable to parse field ${this.info.typeName}#${fieldName}, enum ${type2[0]} only accepts null.`);
-        if (json2 === null)
-          return 0;
-        switch (typeof json2) {
-          case "number":
-            assert_1.assert(Number.isInteger(json2), `Unable to parse field ${this.info.typeName}#${fieldName}, enum can only be integral number, got ${json2}.`);
-            return json2;
-          case "string":
-            let localEnumName = json2;
-            if (type2[2] && json2.substring(0, type2[2].length) === type2[2])
-              localEnumName = json2.substring(type2[2].length);
-            let enumNumber = type2[1][localEnumName];
-            if (typeof enumNumber === "undefined" && ignoreUnknownFields) {
-              return false;
-            }
-            assert_1.assert(typeof enumNumber == "number", `Unable to parse field ${this.info.typeName}#${fieldName}, enum ${type2[0]} has no value for "${json2}".`);
-            return enumNumber;
+      src.on("data", ondata);
+      function ondata(chunk) {
+        debug5("ondata");
+        const ret = dest.write(chunk);
+        debug5("dest.write", ret);
+        if (ret === false) {
+          pause();
         }
-        assert_1.assert(false, `Unable to parse field ${this.info.typeName}#${fieldName}, cannot parse enum value from ${typeof json2}".`);
       }
-      scalar(json2, type2, longType, fieldName) {
-        let e;
-        try {
-          switch (type2) {
-            // float, double: JSON value will be a number or one of the special string values "NaN", "Infinity", and "-Infinity".
-            // Either numbers or strings are accepted. Exponent notation is also accepted.
-            case reflection_info_1.ScalarType.DOUBLE:
-            case reflection_info_1.ScalarType.FLOAT:
-              if (json2 === null)
-                return 0;
-              if (json2 === "NaN")
-                return Number.NaN;
-              if (json2 === "Infinity")
-                return Number.POSITIVE_INFINITY;
-              if (json2 === "-Infinity")
-                return Number.NEGATIVE_INFINITY;
-              if (json2 === "") {
-                e = "empty string";
-                break;
-              }
-              if (typeof json2 == "string" && json2.trim().length !== json2.length) {
-                e = "extra whitespace";
-                break;
-              }
-              if (typeof json2 != "string" && typeof json2 != "number") {
-                break;
-              }
-              let float2 = Number(json2);
-              if (Number.isNaN(float2)) {
-                e = "not a number";
-                break;
-              }
-              if (!Number.isFinite(float2)) {
-                e = "too large or small";
-                break;
-              }
-              if (type2 == reflection_info_1.ScalarType.FLOAT)
-                assert_1.assertFloat32(float2);
-              return float2;
-            // int32, fixed32, uint32: JSON value will be a decimal number. Either numbers or strings are accepted.
-            case reflection_info_1.ScalarType.INT32:
-            case reflection_info_1.ScalarType.FIXED32:
-            case reflection_info_1.ScalarType.SFIXED32:
-            case reflection_info_1.ScalarType.SINT32:
-            case reflection_info_1.ScalarType.UINT32:
-              if (json2 === null)
-                return 0;
-              let int32;
-              if (typeof json2 == "number")
-                int32 = json2;
-              else if (json2 === "")
-                e = "empty string";
-              else if (typeof json2 == "string") {
-                if (json2.trim().length !== json2.length)
-                  e = "extra whitespace";
-                else
-                  int32 = Number(json2);
-              }
-              if (int32 === void 0)
-                break;
-              if (type2 == reflection_info_1.ScalarType.UINT32)
-                assert_1.assertUInt32(int32);
-              else
-                assert_1.assertInt32(int32);
-              return int32;
-            // int64, fixed64, uint64: JSON value will be a decimal string. Either numbers or strings are accepted.
-            case reflection_info_1.ScalarType.INT64:
-            case reflection_info_1.ScalarType.SFIXED64:
-            case reflection_info_1.ScalarType.SINT64:
-              if (json2 === null)
-                return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.ZERO, longType);
-              if (typeof json2 != "number" && typeof json2 != "string")
-                break;
-              return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.from(json2), longType);
-            case reflection_info_1.ScalarType.FIXED64:
-            case reflection_info_1.ScalarType.UINT64:
-              if (json2 === null)
-                return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.ZERO, longType);
-              if (typeof json2 != "number" && typeof json2 != "string")
-                break;
-              return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.from(json2), longType);
-            // bool:
-            case reflection_info_1.ScalarType.BOOL:
-              if (json2 === null)
-                return false;
-              if (typeof json2 !== "boolean")
-                break;
-              return json2;
-            // string:
-            case reflection_info_1.ScalarType.STRING:
-              if (json2 === null)
-                return "";
-              if (typeof json2 !== "string") {
-                e = "extra whitespace";
-                break;
-              }
-              try {
-                encodeURIComponent(json2);
-              } catch (e2) {
-                e2 = "invalid UTF8";
-                break;
-              }
-              return json2;
-            // bytes: JSON value will be the data encoded as a string using standard base64 encoding with paddings.
-            // Either standard or URL-safe base64 encoding with/without paddings are accepted.
-            case reflection_info_1.ScalarType.BYTES:
-              if (json2 === null || json2 === "")
-                return new Uint8Array(0);
-              if (typeof json2 !== "string")
-                break;
-              return base64_1.base64decode(json2);
+      function onerror(er) {
+        debug5("onerror", er);
+        unpipe();
+        dest.removeListener("error", onerror);
+        if (dest.listenerCount("error") === 0) {
+          const s = dest._writableState || dest._readableState;
+          if (s && !s.errorEmitted) {
+            errorOrDestroy(dest, er);
+          } else {
+            dest.emit("error", er);
           }
-        } catch (error3) {
-          e = error3.message;
         }
-        this.assert(false, fieldName + (e ? " - " + e : ""), json2);
       }
-    };
-    exports2.ReflectionJsonReader = ReflectionJsonReader;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-writer.js
-var require_reflection_json_writer = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-writer.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ReflectionJsonWriter = void 0;
-    var base64_1 = require_base642();
-    var pb_long_1 = require_pb_long();
-    var reflection_info_1 = require_reflection_info();
-    var assert_1 = require_assert();
-    var ReflectionJsonWriter = class {
-      constructor(info7) {
-        var _a;
-        this.fields = (_a = info7.fields) !== null && _a !== void 0 ? _a : [];
+      prependListener(dest, "error", onerror);
+      function onclose() {
+        dest.removeListener("finish", onfinish);
+        unpipe();
       }
-      /**
-       * Converts the message to a JSON object, based on the field descriptors.
-       */
-      write(message, options) {
-        const json2 = {}, source = message;
-        for (const field of this.fields) {
-          if (!field.oneof) {
-            let jsonValue2 = this.field(field, source[field.localName], options);
-            if (jsonValue2 !== void 0)
-              json2[options.useProtoFieldName ? field.name : field.jsonName] = jsonValue2;
-            continue;
-          }
-          const group = source[field.oneof];
-          if (group.oneofKind !== field.localName)
-            continue;
-          const opt = field.kind == "scalar" || field.kind == "enum" ? Object.assign(Object.assign({}, options), { emitDefaultValues: true }) : options;
-          let jsonValue = this.field(field, group[field.localName], opt);
-          assert_1.assert(jsonValue !== void 0);
-          json2[options.useProtoFieldName ? field.name : field.jsonName] = jsonValue;
+      dest.once("close", onclose);
+      function onfinish() {
+        debug5("onfinish");
+        dest.removeListener("close", onclose);
+        unpipe();
+      }
+      dest.once("finish", onfinish);
+      function unpipe() {
+        debug5("unpipe");
+        src.unpipe(dest);
+      }
+      dest.emit("pipe", src);
+      if (dest.writableNeedDrain === true) {
+        pause();
+      } else if (!state.flowing) {
+        debug5("pipe resume");
+        src.resume();
+      }
+      return dest;
+    };
+    function pipeOnDrain(src, dest) {
+      return function pipeOnDrainFunctionResult() {
+        const state = src._readableState;
+        if (state.awaitDrainWriters === dest) {
+          debug5("pipeOnDrain", 1);
+          state.awaitDrainWriters = null;
+        } else if (state.multiAwaitDrain) {
+          debug5("pipeOnDrain", state.awaitDrainWriters.size);
+          state.awaitDrainWriters.delete(dest);
         }
-        return json2;
+        if ((!state.awaitDrainWriters || state.awaitDrainWriters.size === 0) && src.listenerCount("data")) {
+          src.resume();
+        }
+      };
+    }
+    Readable2.prototype.unpipe = function(dest) {
+      const state = this._readableState;
+      const unpipeInfo = {
+        hasUnpiped: false
+      };
+      if (state.pipes.length === 0) return this;
+      if (!dest) {
+        const dests = state.pipes;
+        state.pipes = [];
+        this.pause();
+        for (let i = 0; i < dests.length; i++)
+          dests[i].emit("unpipe", this, {
+            hasUnpiped: false
+          });
+        return this;
       }
-      field(field, value, options) {
-        let jsonValue = void 0;
-        if (field.kind == "map") {
-          assert_1.assert(typeof value == "object" && value !== null);
-          const jsonObj = {};
-          switch (field.V.kind) {
-            case "scalar":
-              for (const [entryKey, entryValue] of Object.entries(value)) {
-                const val = this.scalar(field.V.T, entryValue, field.name, false, true);
-                assert_1.assert(val !== void 0);
-                jsonObj[entryKey.toString()] = val;
-              }
-              break;
-            case "message":
-              const messageType = field.V.T();
-              for (const [entryKey, entryValue] of Object.entries(value)) {
-                const val = this.message(messageType, entryValue, field.name, options);
-                assert_1.assert(val !== void 0);
-                jsonObj[entryKey.toString()] = val;
-              }
-              break;
-            case "enum":
-              const enumInfo = field.V.T();
-              for (const [entryKey, entryValue] of Object.entries(value)) {
-                assert_1.assert(entryValue === void 0 || typeof entryValue == "number");
-                const val = this.enum(enumInfo, entryValue, field.name, false, true, options.enumAsInteger);
-                assert_1.assert(val !== void 0);
-                jsonObj[entryKey.toString()] = val;
-              }
-              break;
-          }
-          if (options.emitDefaultValues || Object.keys(jsonObj).length > 0)
-            jsonValue = jsonObj;
-        } else if (field.repeat) {
-          assert_1.assert(Array.isArray(value));
-          const jsonArr = [];
-          switch (field.kind) {
-            case "scalar":
-              for (let i = 0; i < value.length; i++) {
-                const val = this.scalar(field.T, value[i], field.name, field.opt, true);
-                assert_1.assert(val !== void 0);
-                jsonArr.push(val);
-              }
-              break;
-            case "enum":
-              const enumInfo = field.T();
-              for (let i = 0; i < value.length; i++) {
-                assert_1.assert(value[i] === void 0 || typeof value[i] == "number");
-                const val = this.enum(enumInfo, value[i], field.name, field.opt, true, options.enumAsInteger);
-                assert_1.assert(val !== void 0);
-                jsonArr.push(val);
-              }
-              break;
-            case "message":
-              const messageType = field.T();
-              for (let i = 0; i < value.length; i++) {
-                const val = this.message(messageType, value[i], field.name, options);
-                assert_1.assert(val !== void 0);
-                jsonArr.push(val);
-              }
-              break;
-          }
-          if (options.emitDefaultValues || jsonArr.length > 0 || options.emitDefaultValues)
-            jsonValue = jsonArr;
-        } else {
-          switch (field.kind) {
-            case "scalar":
-              jsonValue = this.scalar(field.T, value, field.name, field.opt, options.emitDefaultValues);
-              break;
-            case "enum":
-              jsonValue = this.enum(field.T(), value, field.name, field.opt, options.emitDefaultValues, options.enumAsInteger);
-              break;
-            case "message":
-              jsonValue = this.message(field.T(), value, field.name, options);
-              break;
+      const index = ArrayPrototypeIndexOf(state.pipes, dest);
+      if (index === -1) return this;
+      state.pipes.splice(index, 1);
+      if (state.pipes.length === 0) this.pause();
+      dest.emit("unpipe", this, unpipeInfo);
+      return this;
+    };
+    Readable2.prototype.on = function(ev, fn) {
+      const res = Stream.prototype.on.call(this, ev, fn);
+      const state = this._readableState;
+      if (ev === "data") {
+        state.readableListening = this.listenerCount("readable") > 0;
+        if (state.flowing !== false) this.resume();
+      } else if (ev === "readable") {
+        if (!state.endEmitted && !state.readableListening) {
+          state.readableListening = state.needReadable = true;
+          state.flowing = false;
+          state.emittedReadable = false;
+          debug5("on readable", state.length, state.reading);
+          if (state.length) {
+            emitReadable(this);
+          } else if (!state.reading) {
+            process2.nextTick(nReadingNextTick, this);
           }
         }
-        return jsonValue;
       }
-      /**
-       * Returns `null` as the default for google.protobuf.NullValue.
-       */
-      enum(type2, value, fieldName, optional, emitDefaultValues, enumAsInteger) {
-        if (type2[0] == "google.protobuf.NullValue")
-          return !emitDefaultValues && !optional ? void 0 : null;
-        if (value === void 0) {
-          assert_1.assert(optional);
-          return void 0;
-        }
-        if (value === 0 && !emitDefaultValues && !optional)
-          return void 0;
-        assert_1.assert(typeof value == "number");
-        assert_1.assert(Number.isInteger(value));
-        if (enumAsInteger || !type2[1].hasOwnProperty(value))
-          return value;
-        if (type2[2])
-          return type2[2] + type2[1][value];
-        return type2[1][value];
+      return res;
+    };
+    Readable2.prototype.addListener = Readable2.prototype.on;
+    Readable2.prototype.removeListener = function(ev, fn) {
+      const res = Stream.prototype.removeListener.call(this, ev, fn);
+      if (ev === "readable") {
+        process2.nextTick(updateReadableListening, this);
       }
-      message(type2, value, fieldName, options) {
-        if (value === void 0)
-          return options.emitDefaultValues ? null : void 0;
-        return type2.internalJsonWrite(value, options);
+      return res;
+    };
+    Readable2.prototype.off = Readable2.prototype.removeListener;
+    Readable2.prototype.removeAllListeners = function(ev) {
+      const res = Stream.prototype.removeAllListeners.apply(this, arguments);
+      if (ev === "readable" || ev === void 0) {
+        process2.nextTick(updateReadableListening, this);
       }
-      scalar(type2, value, fieldName, optional, emitDefaultValues) {
-        if (value === void 0) {
-          assert_1.assert(optional);
-          return void 0;
+      return res;
+    };
+    function updateReadableListening(self2) {
+      const state = self2._readableState;
+      state.readableListening = self2.listenerCount("readable") > 0;
+      if (state.resumeScheduled && state[kPaused] === false) {
+        state.flowing = true;
+      } else if (self2.listenerCount("data") > 0) {
+        self2.resume();
+      } else if (!state.readableListening) {
+        state.flowing = null;
+      }
+    }
+    function nReadingNextTick(self2) {
+      debug5("readable nexttick read 0");
+      self2.read(0);
+    }
+    Readable2.prototype.resume = function() {
+      const state = this._readableState;
+      if (!state.flowing) {
+        debug5("resume");
+        state.flowing = !state.readableListening;
+        resume(this, state);
+      }
+      state[kPaused] = false;
+      return this;
+    };
+    function resume(stream2, state) {
+      if (!state.resumeScheduled) {
+        state.resumeScheduled = true;
+        process2.nextTick(resume_, stream2, state);
+      }
+    }
+    function resume_(stream2, state) {
+      debug5("resume", state.reading);
+      if (!state.reading) {
+        stream2.read(0);
+      }
+      state.resumeScheduled = false;
+      stream2.emit("resume");
+      flow(stream2);
+      if (state.flowing && !state.reading) stream2.read(0);
+    }
+    Readable2.prototype.pause = function() {
+      debug5("call pause flowing=%j", this._readableState.flowing);
+      if (this._readableState.flowing !== false) {
+        debug5("pause");
+        this._readableState.flowing = false;
+        this.emit("pause");
+      }
+      this._readableState[kPaused] = true;
+      return this;
+    };
+    function flow(stream2) {
+      const state = stream2._readableState;
+      debug5("flow", state.flowing);
+      while (state.flowing && stream2.read() !== null) ;
+    }
+    Readable2.prototype.wrap = function(stream2) {
+      let paused = false;
+      stream2.on("data", (chunk) => {
+        if (!this.push(chunk) && stream2.pause) {
+          paused = true;
+          stream2.pause();
         }
-        const ed = emitDefaultValues || optional;
-        switch (type2) {
-          // int32, fixed32, uint32: JSON value will be a decimal number. Either numbers or strings are accepted.
-          case reflection_info_1.ScalarType.INT32:
-          case reflection_info_1.ScalarType.SFIXED32:
-          case reflection_info_1.ScalarType.SINT32:
-            if (value === 0)
-              return ed ? 0 : void 0;
-            assert_1.assertInt32(value);
-            return value;
-          case reflection_info_1.ScalarType.FIXED32:
-          case reflection_info_1.ScalarType.UINT32:
-            if (value === 0)
-              return ed ? 0 : void 0;
-            assert_1.assertUInt32(value);
-            return value;
-          // float, double: JSON value will be a number or one of the special string values "NaN", "Infinity", and "-Infinity".
-          // Either numbers or strings are accepted. Exponent notation is also accepted.
-          case reflection_info_1.ScalarType.FLOAT:
-            assert_1.assertFloat32(value);
-          case reflection_info_1.ScalarType.DOUBLE:
-            if (value === 0)
-              return ed ? 0 : void 0;
-            assert_1.assert(typeof value == "number");
-            if (Number.isNaN(value))
-              return "NaN";
-            if (value === Number.POSITIVE_INFINITY)
-              return "Infinity";
-            if (value === Number.NEGATIVE_INFINITY)
-              return "-Infinity";
-            return value;
-          // string:
-          case reflection_info_1.ScalarType.STRING:
-            if (value === "")
-              return ed ? "" : void 0;
-            assert_1.assert(typeof value == "string");
-            return value;
-          // bool:
-          case reflection_info_1.ScalarType.BOOL:
-            if (value === false)
-              return ed ? false : void 0;
-            assert_1.assert(typeof value == "boolean");
-            return value;
-          // JSON value will be a decimal string. Either numbers or strings are accepted.
-          case reflection_info_1.ScalarType.UINT64:
-          case reflection_info_1.ScalarType.FIXED64:
-            assert_1.assert(typeof value == "number" || typeof value == "string" || typeof value == "bigint");
-            let ulong = pb_long_1.PbULong.from(value);
-            if (ulong.isZero() && !ed)
-              return void 0;
-            return ulong.toString();
-          // JSON value will be a decimal string. Either numbers or strings are accepted.
-          case reflection_info_1.ScalarType.INT64:
-          case reflection_info_1.ScalarType.SFIXED64:
-          case reflection_info_1.ScalarType.SINT64:
-            assert_1.assert(typeof value == "number" || typeof value == "string" || typeof value == "bigint");
-            let long = pb_long_1.PbLong.from(value);
-            if (long.isZero() && !ed)
-              return void 0;
-            return long.toString();
-          // bytes: JSON value will be the data encoded as a string using standard base64 encoding with paddings.
-          // Either standard or URL-safe base64 encoding with/without paddings are accepted.
-          case reflection_info_1.ScalarType.BYTES:
-            assert_1.assert(value instanceof Uint8Array);
-            if (!value.byteLength)
-              return ed ? "" : void 0;
-            return base64_1.base64encode(value);
+      });
+      stream2.on("end", () => {
+        this.push(null);
+      });
+      stream2.on("error", (err) => {
+        errorOrDestroy(this, err);
+      });
+      stream2.on("close", () => {
+        this.destroy();
+      });
+      stream2.on("destroy", () => {
+        this.destroy();
+      });
+      this._read = () => {
+        if (paused && stream2.resume) {
+          paused = false;
+          stream2.resume();
+        }
+      };
+      const streamKeys = ObjectKeys(stream2);
+      for (let j = 1; j < streamKeys.length; j++) {
+        const i = streamKeys[j];
+        if (this[i] === void 0 && typeof stream2[i] === "function") {
+          this[i] = stream2[i].bind(stream2);
         }
       }
+      return this;
     };
-    exports2.ReflectionJsonWriter = ReflectionJsonWriter;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-scalar-default.js
-var require_reflection_scalar_default = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-scalar-default.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.reflectionScalarDefault = void 0;
-    var reflection_info_1 = require_reflection_info();
-    var reflection_long_convert_1 = require_reflection_long_convert();
-    var pb_long_1 = require_pb_long();
-    function reflectionScalarDefault(type2, longType = reflection_info_1.LongType.STRING) {
-      switch (type2) {
-        case reflection_info_1.ScalarType.BOOL:
-          return false;
-        case reflection_info_1.ScalarType.UINT64:
-        case reflection_info_1.ScalarType.FIXED64:
-          return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.ZERO, longType);
-        case reflection_info_1.ScalarType.INT64:
-        case reflection_info_1.ScalarType.SFIXED64:
-        case reflection_info_1.ScalarType.SINT64:
-          return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.ZERO, longType);
-        case reflection_info_1.ScalarType.DOUBLE:
-        case reflection_info_1.ScalarType.FLOAT:
-          return 0;
-        case reflection_info_1.ScalarType.BYTES:
-          return new Uint8Array(0);
-        case reflection_info_1.ScalarType.STRING:
-          return "";
-        default:
-          return 0;
+    Readable2.prototype[SymbolAsyncIterator] = function() {
+      return streamToAsyncIterator(this);
+    };
+    Readable2.prototype.iterator = function(options) {
+      if (options !== void 0) {
+        validateObject(options, "options");
       }
-    }
-    exports2.reflectionScalarDefault = reflectionScalarDefault;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-reader.js
-var require_reflection_binary_reader = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-reader.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ReflectionBinaryReader = void 0;
-    var binary_format_contract_1 = require_binary_format_contract();
-    var reflection_info_1 = require_reflection_info();
-    var reflection_long_convert_1 = require_reflection_long_convert();
-    var reflection_scalar_default_1 = require_reflection_scalar_default();
-    var ReflectionBinaryReader = class {
-      constructor(info7) {
-        this.info = info7;
+      return streamToAsyncIterator(this, options);
+    };
+    function streamToAsyncIterator(stream2, options) {
+      if (typeof stream2.read !== "function") {
+        stream2 = Readable2.wrap(stream2, {
+          objectMode: true
+        });
       }
-      prepare() {
-        var _a;
-        if (!this.fieldNoToField) {
-          const fieldsInput = (_a = this.info.fields) !== null && _a !== void 0 ? _a : [];
-          this.fieldNoToField = new Map(fieldsInput.map((field) => [field.no, field]));
+      const iter = createAsyncIterator(stream2, options);
+      iter.stream = stream2;
+      return iter;
+    }
+    async function* createAsyncIterator(stream2, options) {
+      let callback = nop;
+      function next(resolve8) {
+        if (this === stream2) {
+          callback();
+          callback = nop;
+        } else {
+          callback = resolve8;
         }
       }
-      /**
-       * Reads a message from binary format into the target message.
-       *
-       * Repeated fields are appended. Map entries are added, overwriting
-       * existing keys.
-       *
-       * If a message field is already present, it will be merged with the
-       * new data.
-       */
-      read(reader, message, options, length) {
-        this.prepare();
-        const end = length === void 0 ? reader.len : reader.pos + length;
-        while (reader.pos < end) {
-          const [fieldNo, wireType] = reader.tag(), field = this.fieldNoToField.get(fieldNo);
-          if (!field) {
-            let u = options.readUnknownField;
-            if (u == "throw")
-              throw new Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.info.typeName}`);
-            let d = reader.skip(wireType);
-            if (u !== false)
-              (u === true ? binary_format_contract_1.UnknownFieldHandler.onRead : u)(this.info.typeName, message, fieldNo, wireType, d);
-            continue;
-          }
-          let target = message, repeated = field.repeat, localName = field.localName;
-          if (field.oneof) {
-            target = target[field.oneof];
-            if (target.oneofKind !== localName)
-              target = message[field.oneof] = {
-                oneofKind: localName
-              };
-          }
-          switch (field.kind) {
-            case "scalar":
-            case "enum":
-              let T = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T;
-              let L = field.kind == "scalar" ? field.L : void 0;
-              if (repeated) {
-                let arr = target[localName];
-                if (wireType == binary_format_contract_1.WireType.LengthDelimited && T != reflection_info_1.ScalarType.STRING && T != reflection_info_1.ScalarType.BYTES) {
-                  let e = reader.uint32() + reader.pos;
-                  while (reader.pos < e)
-                    arr.push(this.scalar(reader, T, L));
-                } else
-                  arr.push(this.scalar(reader, T, L));
-              } else
-                target[localName] = this.scalar(reader, T, L);
-              break;
-            case "message":
-              if (repeated) {
-                let arr = target[localName];
-                let msg = field.T().internalBinaryRead(reader, reader.uint32(), options);
-                arr.push(msg);
-              } else
-                target[localName] = field.T().internalBinaryRead(reader, reader.uint32(), options, target[localName]);
-              break;
-            case "map":
-              let [mapKey, mapVal] = this.mapEntry(field, reader, options);
-              target[localName][mapKey] = mapVal;
-              break;
+      stream2.on("readable", next);
+      let error3;
+      const cleanup = eos(
+        stream2,
+        {
+          writable: false
+        },
+        (err) => {
+          error3 = err ? aggregateTwoErrors(error3, err) : null;
+          callback();
+          callback = nop;
+        }
+      );
+      try {
+        while (true) {
+          const chunk = stream2.destroyed ? null : stream2.read();
+          if (chunk !== null) {
+            yield chunk;
+          } else if (error3) {
+            throw error3;
+          } else if (error3 === null) {
+            return;
+          } else {
+            await new Promise2(next);
           }
         }
+      } catch (err) {
+        error3 = aggregateTwoErrors(error3, err);
+        throw error3;
+      } finally {
+        if ((error3 || (options === null || options === void 0 ? void 0 : options.destroyOnReturn) !== false) && (error3 === void 0 || stream2._readableState.autoDestroy)) {
+          destroyImpl.destroyer(stream2, null);
+        } else {
+          stream2.off("readable", next);
+          cleanup();
+        }
       }
-      /**
-       * Read a map field, expecting key field = 1, value field = 2
-       */
-      mapEntry(field, reader, options) {
-        let length = reader.uint32();
-        let end = reader.pos + length;
-        let key = void 0;
-        let val = void 0;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case 1:
-              if (field.K == reflection_info_1.ScalarType.BOOL)
-                key = reader.bool().toString();
-              else
-                key = this.scalar(reader, field.K, reflection_info_1.LongType.STRING);
-              break;
-            case 2:
-              switch (field.V.kind) {
-                case "scalar":
-                  val = this.scalar(reader, field.V.T, field.V.L);
-                  break;
-                case "enum":
-                  val = reader.int32();
-                  break;
-                case "message":
-                  val = field.V.T().internalBinaryRead(reader, reader.uint32(), options);
-                  break;
-              }
-              break;
-            default:
-              throw new Error(`Unknown field ${fieldNo} (wire type ${wireType}) in map entry for ${this.info.typeName}#${field.name}`);
+    }
+    ObjectDefineProperties(Readable2.prototype, {
+      readable: {
+        __proto__: null,
+        get() {
+          const r = this._readableState;
+          return !!r && r.readable !== false && !r.destroyed && !r.errorEmitted && !r.endEmitted;
+        },
+        set(val) {
+          if (this._readableState) {
+            this._readableState.readable = !!val;
           }
         }
-        if (key === void 0) {
-          let keyRaw = reflection_scalar_default_1.reflectionScalarDefault(field.K);
-          key = field.K == reflection_info_1.ScalarType.BOOL ? keyRaw.toString() : keyRaw;
+      },
+      readableDidRead: {
+        __proto__: null,
+        enumerable: false,
+        get: function() {
+          return this._readableState.dataEmitted;
         }
-        if (val === void 0)
-          switch (field.V.kind) {
-            case "scalar":
-              val = reflection_scalar_default_1.reflectionScalarDefault(field.V.T, field.V.L);
-              break;
-            case "enum":
-              val = 0;
-              break;
-            case "message":
-              val = field.V.T().create();
-              break;
-          }
-        return [key, val];
-      }
-      scalar(reader, type2, longType) {
-        switch (type2) {
-          case reflection_info_1.ScalarType.INT32:
-            return reader.int32();
-          case reflection_info_1.ScalarType.STRING:
-            return reader.string();
-          case reflection_info_1.ScalarType.BOOL:
-            return reader.bool();
-          case reflection_info_1.ScalarType.DOUBLE:
-            return reader.double();
-          case reflection_info_1.ScalarType.FLOAT:
-            return reader.float();
-          case reflection_info_1.ScalarType.INT64:
-            return reflection_long_convert_1.reflectionLongConvert(reader.int64(), longType);
-          case reflection_info_1.ScalarType.UINT64:
-            return reflection_long_convert_1.reflectionLongConvert(reader.uint64(), longType);
-          case reflection_info_1.ScalarType.FIXED64:
-            return reflection_long_convert_1.reflectionLongConvert(reader.fixed64(), longType);
-          case reflection_info_1.ScalarType.FIXED32:
-            return reader.fixed32();
-          case reflection_info_1.ScalarType.BYTES:
-            return reader.bytes();
-          case reflection_info_1.ScalarType.UINT32:
-            return reader.uint32();
-          case reflection_info_1.ScalarType.SFIXED32:
-            return reader.sfixed32();
-          case reflection_info_1.ScalarType.SFIXED64:
-            return reflection_long_convert_1.reflectionLongConvert(reader.sfixed64(), longType);
-          case reflection_info_1.ScalarType.SINT32:
-            return reader.sint32();
-          case reflection_info_1.ScalarType.SINT64:
-            return reflection_long_convert_1.reflectionLongConvert(reader.sint64(), longType);
+      },
+      readableAborted: {
+        __proto__: null,
+        enumerable: false,
+        get: function() {
+          return !!(this._readableState.readable !== false && (this._readableState.destroyed || this._readableState.errored) && !this._readableState.endEmitted);
         }
-      }
-    };
-    exports2.ReflectionBinaryReader = ReflectionBinaryReader;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-writer.js
-var require_reflection_binary_writer = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-writer.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ReflectionBinaryWriter = void 0;
-    var binary_format_contract_1 = require_binary_format_contract();
-    var reflection_info_1 = require_reflection_info();
-    var assert_1 = require_assert();
-    var pb_long_1 = require_pb_long();
-    var ReflectionBinaryWriter = class {
-      constructor(info7) {
-        this.info = info7;
-      }
-      prepare() {
-        if (!this.fields) {
-          const fieldsInput = this.info.fields ? this.info.fields.concat() : [];
-          this.fields = fieldsInput.sort((a, b) => a.no - b.no);
+      },
+      readableHighWaterMark: {
+        __proto__: null,
+        enumerable: false,
+        get: function() {
+          return this._readableState.highWaterMark;
         }
-      }
-      /**
-       * Writes the message to binary format.
-       */
-      write(message, writer, options) {
-        this.prepare();
-        for (const field of this.fields) {
-          let value, emitDefault, repeated = field.repeat, localName = field.localName;
-          if (field.oneof) {
-            const group = message[field.oneof];
-            if (group.oneofKind !== localName)
-              continue;
-            value = group[localName];
-            emitDefault = true;
-          } else {
-            value = message[localName];
-            emitDefault = false;
+      },
+      readableBuffer: {
+        __proto__: null,
+        enumerable: false,
+        get: function() {
+          return this._readableState && this._readableState.buffer;
+        }
+      },
+      readableFlowing: {
+        __proto__: null,
+        enumerable: false,
+        get: function() {
+          return this._readableState.flowing;
+        },
+        set: function(state) {
+          if (this._readableState) {
+            this._readableState.flowing = state;
           }
-          switch (field.kind) {
-            case "scalar":
-            case "enum":
-              let T = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T;
-              if (repeated) {
-                assert_1.assert(Array.isArray(value));
-                if (repeated == reflection_info_1.RepeatType.PACKED)
-                  this.packed(writer, T, field.no, value);
-                else
-                  for (const item of value)
-                    this.scalar(writer, T, field.no, item, true);
-              } else if (value === void 0)
-                assert_1.assert(field.opt);
-              else
-                this.scalar(writer, T, field.no, value, emitDefault || field.opt);
-              break;
-            case "message":
-              if (repeated) {
-                assert_1.assert(Array.isArray(value));
-                for (const item of value)
-                  this.message(writer, options, field.T(), field.no, item);
-              } else {
-                this.message(writer, options, field.T(), field.no, value);
-              }
-              break;
-            case "map":
-              assert_1.assert(typeof value == "object" && value !== null);
-              for (const [key, val] of Object.entries(value))
-                this.mapEntry(writer, options, field, key, val);
-              break;
+        }
+      },
+      readableLength: {
+        __proto__: null,
+        enumerable: false,
+        get() {
+          return this._readableState.length;
+        }
+      },
+      readableObjectMode: {
+        __proto__: null,
+        enumerable: false,
+        get() {
+          return this._readableState ? this._readableState.objectMode : false;
+        }
+      },
+      readableEncoding: {
+        __proto__: null,
+        enumerable: false,
+        get() {
+          return this._readableState ? this._readableState.encoding : null;
+        }
+      },
+      errored: {
+        __proto__: null,
+        enumerable: false,
+        get() {
+          return this._readableState ? this._readableState.errored : null;
+        }
+      },
+      closed: {
+        __proto__: null,
+        get() {
+          return this._readableState ? this._readableState.closed : false;
+        }
+      },
+      destroyed: {
+        __proto__: null,
+        enumerable: false,
+        get() {
+          return this._readableState ? this._readableState.destroyed : false;
+        },
+        set(value) {
+          if (!this._readableState) {
+            return;
           }
+          this._readableState.destroyed = value;
+        }
+      },
+      readableEnded: {
+        __proto__: null,
+        enumerable: false,
+        get() {
+          return this._readableState ? this._readableState.endEmitted : false;
         }
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u === true ? binary_format_contract_1.UnknownFieldHandler.onWrite : u)(this.info.typeName, message, writer);
       }
-      mapEntry(writer, options, field, key, value) {
-        writer.tag(field.no, binary_format_contract_1.WireType.LengthDelimited);
-        writer.fork();
-        let keyValue = key;
-        switch (field.K) {
-          case reflection_info_1.ScalarType.INT32:
-          case reflection_info_1.ScalarType.FIXED32:
-          case reflection_info_1.ScalarType.UINT32:
-          case reflection_info_1.ScalarType.SFIXED32:
-          case reflection_info_1.ScalarType.SINT32:
-            keyValue = Number.parseInt(key);
-            break;
-          case reflection_info_1.ScalarType.BOOL:
-            assert_1.assert(key == "true" || key == "false");
-            keyValue = key == "true";
-            break;
+    });
+    ObjectDefineProperties(ReadableState.prototype, {
+      // Legacy getter for `pipesCount`.
+      pipesCount: {
+        __proto__: null,
+        get() {
+          return this.pipes.length;
         }
-        this.scalar(writer, field.K, 1, keyValue, true);
-        switch (field.V.kind) {
-          case "scalar":
-            this.scalar(writer, field.V.T, 2, value, true);
-            break;
-          case "enum":
-            this.scalar(writer, reflection_info_1.ScalarType.INT32, 2, value, true);
-            break;
-          case "message":
-            this.message(writer, options, field.V.T(), 2, value);
-            break;
+      },
+      // Legacy property for `paused`.
+      paused: {
+        __proto__: null,
+        get() {
+          return this[kPaused] !== false;
+        },
+        set(value) {
+          this[kPaused] = !!value;
         }
-        writer.join();
       }
-      message(writer, options, handler2, fieldNo, value) {
-        if (value === void 0)
-          return;
-        handler2.internalBinaryWrite(value, writer.tag(fieldNo, binary_format_contract_1.WireType.LengthDelimited).fork(), options);
-        writer.join();
+    });
+    Readable2._fromList = fromList;
+    function fromList(n, state) {
+      if (state.length === 0) return null;
+      let ret;
+      if (state.objectMode) ret = state.buffer.shift();
+      else if (!n || n >= state.length) {
+        if (state.decoder) ret = state.buffer.join("");
+        else if (state.buffer.length === 1) ret = state.buffer.first();
+        else ret = state.buffer.concat(state.length);
+        state.buffer.clear();
+      } else {
+        ret = state.buffer.consume(n, state.decoder);
       }
-      /**
-       * Write a single scalar value.
-       */
-      scalar(writer, type2, fieldNo, value, emitDefault) {
-        let [wireType, method, isDefault] = this.scalarInfo(type2, value);
-        if (!isDefault || emitDefault) {
-          writer.tag(fieldNo, wireType);
-          writer[method](value);
+      return ret;
+    }
+    function endReadable(stream2) {
+      const state = stream2._readableState;
+      debug5("endReadable", state.endEmitted);
+      if (!state.endEmitted) {
+        state.ended = true;
+        process2.nextTick(endReadableNT, state, stream2);
+      }
+    }
+    function endReadableNT(state, stream2) {
+      debug5("endReadableNT", state.endEmitted, state.length);
+      if (!state.errored && !state.closeEmitted && !state.endEmitted && state.length === 0) {
+        state.endEmitted = true;
+        stream2.emit("end");
+        if (stream2.writable && stream2.allowHalfOpen === false) {
+          process2.nextTick(endWritableNT, stream2);
+        } else if (state.autoDestroy) {
+          const wState = stream2._writableState;
+          const autoDestroy = !wState || wState.autoDestroy && // We don't expect the writable to ever 'finish'
+          // if writable is explicitly set to false.
+          (wState.finished || wState.writable === false);
+          if (autoDestroy) {
+            stream2.destroy();
+          }
         }
       }
-      /**
-       * Write an array of scalar values in packed format.
-       */
-      packed(writer, type2, fieldNo, value) {
-        if (!value.length)
-          return;
-        assert_1.assert(type2 !== reflection_info_1.ScalarType.BYTES && type2 !== reflection_info_1.ScalarType.STRING);
-        writer.tag(fieldNo, binary_format_contract_1.WireType.LengthDelimited);
-        writer.fork();
-        let [, method] = this.scalarInfo(type2);
-        for (let i = 0; i < value.length; i++)
-          writer[method](value[i]);
-        writer.join();
+    }
+    function endWritableNT(stream2) {
+      const writable = stream2.writable && !stream2.writableEnded && !stream2.destroyed;
+      if (writable) {
+        stream2.end();
       }
-      /**
-       * Get information for writing a scalar value.
-       *
-       * Returns tuple:
-       * [0]: appropriate WireType
-       * [1]: name of the appropriate method of IBinaryWriter
-       * [2]: whether the given value is a default value
-       *
-       * If argument `value` is omitted, [2] is always false.
-       */
-      scalarInfo(type2, value) {
-        let t = binary_format_contract_1.WireType.Varint;
-        let m;
-        let i = value === void 0;
-        let d = value === 0;
-        switch (type2) {
-          case reflection_info_1.ScalarType.INT32:
-            m = "int32";
-            break;
-          case reflection_info_1.ScalarType.STRING:
-            d = i || !value.length;
-            t = binary_format_contract_1.WireType.LengthDelimited;
-            m = "string";
-            break;
-          case reflection_info_1.ScalarType.BOOL:
-            d = value === false;
-            m = "bool";
-            break;
-          case reflection_info_1.ScalarType.UINT32:
-            m = "uint32";
-            break;
-          case reflection_info_1.ScalarType.DOUBLE:
-            t = binary_format_contract_1.WireType.Bit64;
-            m = "double";
-            break;
-          case reflection_info_1.ScalarType.FLOAT:
-            t = binary_format_contract_1.WireType.Bit32;
-            m = "float";
-            break;
-          case reflection_info_1.ScalarType.INT64:
-            d = i || pb_long_1.PbLong.from(value).isZero();
-            m = "int64";
-            break;
-          case reflection_info_1.ScalarType.UINT64:
-            d = i || pb_long_1.PbULong.from(value).isZero();
-            m = "uint64";
-            break;
-          case reflection_info_1.ScalarType.FIXED64:
-            d = i || pb_long_1.PbULong.from(value).isZero();
-            t = binary_format_contract_1.WireType.Bit64;
-            m = "fixed64";
-            break;
-          case reflection_info_1.ScalarType.BYTES:
-            d = i || !value.byteLength;
-            t = binary_format_contract_1.WireType.LengthDelimited;
-            m = "bytes";
-            break;
-          case reflection_info_1.ScalarType.FIXED32:
-            t = binary_format_contract_1.WireType.Bit32;
-            m = "fixed32";
-            break;
-          case reflection_info_1.ScalarType.SFIXED32:
-            t = binary_format_contract_1.WireType.Bit32;
-            m = "sfixed32";
-            break;
-          case reflection_info_1.ScalarType.SFIXED64:
-            d = i || pb_long_1.PbLong.from(value).isZero();
-            t = binary_format_contract_1.WireType.Bit64;
-            m = "sfixed64";
-            break;
-          case reflection_info_1.ScalarType.SINT32:
-            m = "sint32";
-            break;
-          case reflection_info_1.ScalarType.SINT64:
-            d = i || pb_long_1.PbLong.from(value).isZero();
-            m = "sint64";
-            break;
+    }
+    Readable2.from = function(iterable, opts) {
+      return from(Readable2, iterable, opts);
+    };
+    var webStreamsAdapters;
+    function lazyWebStreams() {
+      if (webStreamsAdapters === void 0) webStreamsAdapters = {};
+      return webStreamsAdapters;
+    }
+    Readable2.fromWeb = function(readableStream, options) {
+      return lazyWebStreams().newStreamReadableFromReadableStream(readableStream, options);
+    };
+    Readable2.toWeb = function(streamReadable, options) {
+      return lazyWebStreams().newReadableStreamFromStreamReadable(streamReadable, options);
+    };
+    Readable2.wrap = function(src, options) {
+      var _ref, _src$readableObjectMo;
+      return new Readable2({
+        objectMode: (_ref = (_src$readableObjectMo = src.readableObjectMode) !== null && _src$readableObjectMo !== void 0 ? _src$readableObjectMo : src.objectMode) !== null && _ref !== void 0 ? _ref : true,
+        ...options,
+        destroy(err, callback) {
+          destroyImpl.destroyer(src, err);
+          callback(err);
         }
-        return [t, m, i || d];
-      }
+      }).wrap(src);
     };
-    exports2.ReflectionBinaryWriter = ReflectionBinaryWriter;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-create.js
-var require_reflection_create = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-create.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.reflectionCreate = void 0;
-    var reflection_scalar_default_1 = require_reflection_scalar_default();
-    var message_type_contract_1 = require_message_type_contract();
-    function reflectionCreate(type2) {
-      const msg = type2.messagePrototype ? Object.create(type2.messagePrototype) : Object.defineProperty({}, message_type_contract_1.MESSAGE_TYPE, { value: type2 });
-      for (let field of type2.fields) {
-        let name = field.localName;
-        if (field.opt)
-          continue;
-        if (field.oneof)
-          msg[field.oneof] = { oneofKind: void 0 };
-        else if (field.repeat)
-          msg[name] = [];
-        else
-          switch (field.kind) {
-            case "scalar":
-              msg[name] = reflection_scalar_default_1.reflectionScalarDefault(field.T, field.L);
-              break;
-            case "enum":
-              msg[name] = 0;
-              break;
-            case "map":
-              msg[name] = {};
-              break;
-          }
+// node_modules/readable-stream/lib/internal/streams/writable.js
+var require_writable = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/writable.js"(exports2, module2) {
+    var process2 = require_process();
+    var {
+      ArrayPrototypeSlice,
+      Error: Error2,
+      FunctionPrototypeSymbolHasInstance,
+      ObjectDefineProperty,
+      ObjectDefineProperties,
+      ObjectSetPrototypeOf,
+      StringPrototypeToLowerCase,
+      Symbol: Symbol2,
+      SymbolHasInstance
+    } = require_primordials();
+    module2.exports = Writable;
+    Writable.WritableState = WritableState;
+    var { EventEmitter: EE } = require("events");
+    var Stream = require_legacy().Stream;
+    var { Buffer: Buffer2 } = require("buffer");
+    var destroyImpl = require_destroy2();
+    var { addAbortSignal } = require_add_abort_signal();
+    var { getHighWaterMark, getDefaultHighWaterMark } = require_state3();
+    var {
+      ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,
+      ERR_METHOD_NOT_IMPLEMENTED,
+      ERR_MULTIPLE_CALLBACK,
+      ERR_STREAM_CANNOT_PIPE,
+      ERR_STREAM_DESTROYED,
+      ERR_STREAM_ALREADY_FINISHED,
+      ERR_STREAM_NULL_VALUES,
+      ERR_STREAM_WRITE_AFTER_END,
+      ERR_UNKNOWN_ENCODING
+    } = require_errors5().codes;
+    var { errorOrDestroy } = destroyImpl;
+    ObjectSetPrototypeOf(Writable.prototype, Stream.prototype);
+    ObjectSetPrototypeOf(Writable, Stream);
+    function nop() {
+    }
+    var kOnFinished = Symbol2("kOnFinished");
+    function WritableState(options, stream2, isDuplex) {
+      if (typeof isDuplex !== "boolean") isDuplex = stream2 instanceof require_duplex();
+      this.objectMode = !!(options && options.objectMode);
+      if (isDuplex) this.objectMode = this.objectMode || !!(options && options.writableObjectMode);
+      this.highWaterMark = options ? getHighWaterMark(this, options, "writableHighWaterMark", isDuplex) : getDefaultHighWaterMark(false);
+      this.finalCalled = false;
+      this.needDrain = false;
+      this.ending = false;
+      this.ended = false;
+      this.finished = false;
+      this.destroyed = false;
+      const noDecode = !!(options && options.decodeStrings === false);
+      this.decodeStrings = !noDecode;
+      this.defaultEncoding = options && options.defaultEncoding || "utf8";
+      this.length = 0;
+      this.writing = false;
+      this.corked = 0;
+      this.sync = true;
+      this.bufferProcessing = false;
+      this.onwrite = onwrite.bind(void 0, stream2);
+      this.writecb = null;
+      this.writelen = 0;
+      this.afterWriteTickInfo = null;
+      resetBuffer(this);
+      this.pendingcb = 0;
+      this.constructed = true;
+      this.prefinished = false;
+      this.errorEmitted = false;
+      this.emitClose = !options || options.emitClose !== false;
+      this.autoDestroy = !options || options.autoDestroy !== false;
+      this.errored = null;
+      this.closed = false;
+      this.closeEmitted = false;
+      this[kOnFinished] = [];
+    }
+    function resetBuffer(state) {
+      state.buffered = [];
+      state.bufferedIndex = 0;
+      state.allBuffers = true;
+      state.allNoop = true;
+    }
+    WritableState.prototype.getBuffer = function getBuffer() {
+      return ArrayPrototypeSlice(this.buffered, this.bufferedIndex);
+    };
+    ObjectDefineProperty(WritableState.prototype, "bufferedRequestCount", {
+      __proto__: null,
+      get() {
+        return this.buffered.length - this.bufferedIndex;
       }
-      return msg;
+    });
+    function Writable(options) {
+      const isDuplex = this instanceof require_duplex();
+      if (!isDuplex && !FunctionPrototypeSymbolHasInstance(Writable, this)) return new Writable(options);
+      this._writableState = new WritableState(options, this, isDuplex);
+      if (options) {
+        if (typeof options.write === "function") this._write = options.write;
+        if (typeof options.writev === "function") this._writev = options.writev;
+        if (typeof options.destroy === "function") this._destroy = options.destroy;
+        if (typeof options.final === "function") this._final = options.final;
+        if (typeof options.construct === "function") this._construct = options.construct;
+        if (options.signal) addAbortSignal(options.signal, this);
+      }
+      Stream.call(this, options);
+      destroyImpl.construct(this, () => {
+        const state = this._writableState;
+        if (!state.writing) {
+          clearBuffer(this, state);
+        }
+        finishMaybe(this, state);
+      });
     }
-    exports2.reflectionCreate = reflectionCreate;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-merge-partial.js
-var require_reflection_merge_partial = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-merge-partial.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.reflectionMergePartial = void 0;
-    function reflectionMergePartial(info7, target, source) {
-      let fieldValue, input = source, output;
-      for (let field of info7.fields) {
-        let name = field.localName;
-        if (field.oneof) {
-          const group = input[field.oneof];
-          if ((group === null || group === void 0 ? void 0 : group.oneofKind) == void 0) {
-            continue;
-          }
-          fieldValue = group[name];
-          output = target[field.oneof];
-          output.oneofKind = group.oneofKind;
-          if (fieldValue == void 0) {
-            delete output[name];
-            continue;
+    ObjectDefineProperty(Writable, SymbolHasInstance, {
+      __proto__: null,
+      value: function(object) {
+        if (FunctionPrototypeSymbolHasInstance(this, object)) return true;
+        if (this !== Writable) return false;
+        return object && object._writableState instanceof WritableState;
+      }
+    });
+    Writable.prototype.pipe = function() {
+      errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());
+    };
+    function _write(stream2, chunk, encoding, cb) {
+      const state = stream2._writableState;
+      if (typeof encoding === "function") {
+        cb = encoding;
+        encoding = state.defaultEncoding;
+      } else {
+        if (!encoding) encoding = state.defaultEncoding;
+        else if (encoding !== "buffer" && !Buffer2.isEncoding(encoding)) throw new ERR_UNKNOWN_ENCODING(encoding);
+        if (typeof cb !== "function") cb = nop;
+      }
+      if (chunk === null) {
+        throw new ERR_STREAM_NULL_VALUES();
+      } else if (!state.objectMode) {
+        if (typeof chunk === "string") {
+          if (state.decodeStrings !== false) {
+            chunk = Buffer2.from(chunk, encoding);
+            encoding = "buffer";
           }
+        } else if (chunk instanceof Buffer2) {
+          encoding = "buffer";
+        } else if (Stream._isUint8Array(chunk)) {
+          chunk = Stream._uint8ArrayToBuffer(chunk);
+          encoding = "buffer";
         } else {
-          fieldValue = input[name];
-          output = target;
-          if (fieldValue == void 0) {
-            continue;
-          }
-        }
-        if (field.repeat)
-          output[name].length = fieldValue.length;
-        switch (field.kind) {
-          case "scalar":
-          case "enum":
-            if (field.repeat)
-              for (let i = 0; i < fieldValue.length; i++)
-                output[name][i] = fieldValue[i];
-            else
-              output[name] = fieldValue;
-            break;
-          case "message":
-            let T = field.T();
-            if (field.repeat)
-              for (let i = 0; i < fieldValue.length; i++)
-                output[name][i] = T.create(fieldValue[i]);
-            else if (output[name] === void 0)
-              output[name] = T.create(fieldValue);
-            else
-              T.mergePartial(output[name], fieldValue);
-            break;
-          case "map":
-            switch (field.V.kind) {
-              case "scalar":
-              case "enum":
-                Object.assign(output[name], fieldValue);
-                break;
-              case "message":
-                let T2 = field.V.T();
-                for (let k of Object.keys(fieldValue))
-                  output[name][k] = T2.create(fieldValue[k]);
-                break;
-            }
-            break;
+          throw new ERR_INVALID_ARG_TYPE2("chunk", ["string", "Buffer", "Uint8Array"], chunk);
         }
       }
+      let err;
+      if (state.ending) {
+        err = new ERR_STREAM_WRITE_AFTER_END();
+      } else if (state.destroyed) {
+        err = new ERR_STREAM_DESTROYED("write");
+      }
+      if (err) {
+        process2.nextTick(cb, err);
+        errorOrDestroy(stream2, err, true);
+        return err;
+      }
+      state.pendingcb++;
+      return writeOrBuffer(stream2, state, chunk, encoding, cb);
     }
-    exports2.reflectionMergePartial = reflectionMergePartial;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-equals.js
-var require_reflection_equals = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-equals.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.reflectionEquals = void 0;
-    var reflection_info_1 = require_reflection_info();
-    function reflectionEquals(info7, a, b) {
-      if (a === b)
-        return true;
-      if (!a || !b)
-        return false;
-      for (let field of info7.fields) {
-        let localName = field.localName;
-        let val_a = field.oneof ? a[field.oneof][localName] : a[localName];
-        let val_b = field.oneof ? b[field.oneof][localName] : b[localName];
-        switch (field.kind) {
-          case "enum":
-          case "scalar":
-            let t = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T;
-            if (!(field.repeat ? repeatedPrimitiveEq(t, val_a, val_b) : primitiveEq(t, val_a, val_b)))
-              return false;
-            break;
-          case "map":
-            if (!(field.V.kind == "message" ? repeatedMsgEq(field.V.T(), objectValues(val_a), objectValues(val_b)) : repeatedPrimitiveEq(field.V.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.V.T, objectValues(val_a), objectValues(val_b))))
-              return false;
-            break;
-          case "message":
-            let T = field.T();
-            if (!(field.repeat ? repeatedMsgEq(T, val_a, val_b) : T.equals(val_a, val_b)))
-              return false;
-            break;
+    Writable.prototype.write = function(chunk, encoding, cb) {
+      return _write(this, chunk, encoding, cb) === true;
+    };
+    Writable.prototype.cork = function() {
+      this._writableState.corked++;
+    };
+    Writable.prototype.uncork = function() {
+      const state = this._writableState;
+      if (state.corked) {
+        state.corked--;
+        if (!state.writing) clearBuffer(this, state);
+      }
+    };
+    Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {
+      if (typeof encoding === "string") encoding = StringPrototypeToLowerCase(encoding);
+      if (!Buffer2.isEncoding(encoding)) throw new ERR_UNKNOWN_ENCODING(encoding);
+      this._writableState.defaultEncoding = encoding;
+      return this;
+    };
+    function writeOrBuffer(stream2, state, chunk, encoding, callback) {
+      const len = state.objectMode ? 1 : chunk.length;
+      state.length += len;
+      const ret = state.length < state.highWaterMark;
+      if (!ret) state.needDrain = true;
+      if (state.writing || state.corked || state.errored || !state.constructed) {
+        state.buffered.push({
+          chunk,
+          encoding,
+          callback
+        });
+        if (state.allBuffers && encoding !== "buffer") {
+          state.allBuffers = false;
         }
+        if (state.allNoop && callback !== nop) {
+          state.allNoop = false;
+        }
+      } else {
+        state.writelen = len;
+        state.writecb = callback;
+        state.writing = true;
+        state.sync = true;
+        stream2._write(chunk, encoding, state.onwrite);
+        state.sync = false;
       }
-      return true;
-    }
-    exports2.reflectionEquals = reflectionEquals;
-    var objectValues = Object.values;
-    function primitiveEq(type2, a, b) {
-      if (a === b)
-        return true;
-      if (type2 !== reflection_info_1.ScalarType.BYTES)
-        return false;
-      let ba = a;
-      let bb = b;
-      if (ba.length !== bb.length)
-        return false;
-      for (let i = 0; i < ba.length; i++)
-        if (ba[i] != bb[i])
-          return false;
-      return true;
+      return ret && !state.errored && !state.destroyed;
     }
-    function repeatedPrimitiveEq(type2, a, b) {
-      if (a.length !== b.length)
-        return false;
-      for (let i = 0; i < a.length; i++)
-        if (!primitiveEq(type2, a[i], b[i]))
-          return false;
-      return true;
+    function doWrite(stream2, state, writev, len, chunk, encoding, cb) {
+      state.writelen = len;
+      state.writecb = cb;
+      state.writing = true;
+      state.sync = true;
+      if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED("write"));
+      else if (writev) stream2._writev(chunk, state.onwrite);
+      else stream2._write(chunk, encoding, state.onwrite);
+      state.sync = false;
     }
-    function repeatedMsgEq(type2, a, b) {
-      if (a.length !== b.length)
-        return false;
-      for (let i = 0; i < a.length; i++)
-        if (!type2.equals(a[i], b[i]))
-          return false;
-      return true;
+    function onwriteError(stream2, state, er, cb) {
+      --state.pendingcb;
+      cb(er);
+      errorBuffer(state);
+      errorOrDestroy(stream2, er);
     }
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/message-type.js
-var require_message_type = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/message-type.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.MessageType = void 0;
-    var message_type_contract_1 = require_message_type_contract();
-    var reflection_info_1 = require_reflection_info();
-    var reflection_type_check_1 = require_reflection_type_check();
-    var reflection_json_reader_1 = require_reflection_json_reader();
-    var reflection_json_writer_1 = require_reflection_json_writer();
-    var reflection_binary_reader_1 = require_reflection_binary_reader();
-    var reflection_binary_writer_1 = require_reflection_binary_writer();
-    var reflection_create_1 = require_reflection_create();
-    var reflection_merge_partial_1 = require_reflection_merge_partial();
-    var json_typings_1 = require_json_typings();
-    var json_format_contract_1 = require_json_format_contract();
-    var reflection_equals_1 = require_reflection_equals();
-    var binary_writer_1 = require_binary_writer();
-    var binary_reader_1 = require_binary_reader();
-    var baseDescriptors = Object.getOwnPropertyDescriptors(Object.getPrototypeOf({}));
-    var messageTypeDescriptor = baseDescriptors[message_type_contract_1.MESSAGE_TYPE] = {};
-    var MessageType = class {
-      constructor(name, fields, options) {
-        this.defaultCheckDepth = 16;
-        this.typeName = name;
-        this.fields = fields.map(reflection_info_1.normalizeFieldInfo);
-        this.options = options !== null && options !== void 0 ? options : {};
-        messageTypeDescriptor.value = this;
-        this.messagePrototype = Object.create(null, baseDescriptors);
-        this.refTypeCheck = new reflection_type_check_1.ReflectionTypeCheck(this);
-        this.refJsonReader = new reflection_json_reader_1.ReflectionJsonReader(this);
-        this.refJsonWriter = new reflection_json_writer_1.ReflectionJsonWriter(this);
-        this.refBinReader = new reflection_binary_reader_1.ReflectionBinaryReader(this);
-        this.refBinWriter = new reflection_binary_writer_1.ReflectionBinaryWriter(this);
+    function onwrite(stream2, er) {
+      const state = stream2._writableState;
+      const sync = state.sync;
+      const cb = state.writecb;
+      if (typeof cb !== "function") {
+        errorOrDestroy(stream2, new ERR_MULTIPLE_CALLBACK());
+        return;
       }
-      create(value) {
-        let message = reflection_create_1.reflectionCreate(this);
-        if (value !== void 0) {
-          reflection_merge_partial_1.reflectionMergePartial(this, message, value);
+      state.writing = false;
+      state.writecb = null;
+      state.length -= state.writelen;
+      state.writelen = 0;
+      if (er) {
+        er.stack;
+        if (!state.errored) {
+          state.errored = er;
+        }
+        if (stream2._readableState && !stream2._readableState.errored) {
+          stream2._readableState.errored = er;
+        }
+        if (sync) {
+          process2.nextTick(onwriteError, stream2, state, er, cb);
+        } else {
+          onwriteError(stream2, state, er, cb);
+        }
+      } else {
+        if (state.buffered.length > state.bufferedIndex) {
+          clearBuffer(stream2, state);
+        }
+        if (sync) {
+          if (state.afterWriteTickInfo !== null && state.afterWriteTickInfo.cb === cb) {
+            state.afterWriteTickInfo.count++;
+          } else {
+            state.afterWriteTickInfo = {
+              count: 1,
+              cb,
+              stream: stream2,
+              state
+            };
+            process2.nextTick(afterWriteTick, state.afterWriteTickInfo);
+          }
+        } else {
+          afterWrite(stream2, state, 1, cb);
         }
-        return message;
       }
-      /**
-       * Clone the message.
-       *
-       * Unknown fields are discarded.
-       */
-      clone(message) {
-        let copy = this.create();
-        reflection_merge_partial_1.reflectionMergePartial(this, copy, message);
-        return copy;
+    }
+    function afterWriteTick({ stream: stream2, state, count, cb }) {
+      state.afterWriteTickInfo = null;
+      return afterWrite(stream2, state, count, cb);
+    }
+    function afterWrite(stream2, state, count, cb) {
+      const needDrain = !state.ending && !stream2.destroyed && state.length === 0 && state.needDrain;
+      if (needDrain) {
+        state.needDrain = false;
+        stream2.emit("drain");
       }
-      /**
-       * Determines whether two message of the same type have the same field values.
-       * Checks for deep equality, traversing repeated fields, oneof groups, maps
-       * and messages recursively.
-       * Will also return true if both messages are `undefined`.
-       */
-      equals(a, b) {
-        return reflection_equals_1.reflectionEquals(this, a, b);
+      while (count-- > 0) {
+        state.pendingcb--;
+        cb();
       }
-      /**
-       * Is the given value assignable to our message type
-       * and contains no [excess properties](https://www.typescriptlang.org/docs/handbook/interfaces.html#excess-property-checks)?
-       */
-      is(arg, depth = this.defaultCheckDepth) {
-        return this.refTypeCheck.is(arg, depth, false);
+      if (state.destroyed) {
+        errorBuffer(state);
       }
-      /**
-       * Is the given value assignable to our message type,
-       * regardless of [excess properties](https://www.typescriptlang.org/docs/handbook/interfaces.html#excess-property-checks)?
-       */
-      isAssignable(arg, depth = this.defaultCheckDepth) {
-        return this.refTypeCheck.is(arg, depth, true);
+      finishMaybe(stream2, state);
+    }
+    function errorBuffer(state) {
+      if (state.writing) {
+        return;
       }
-      /**
-       * Copy partial data into the target message.
-       */
-      mergePartial(target, source) {
-        reflection_merge_partial_1.reflectionMergePartial(this, target, source);
+      for (let n = state.bufferedIndex; n < state.buffered.length; ++n) {
+        var _state$errored;
+        const { chunk, callback } = state.buffered[n];
+        const len = state.objectMode ? 1 : chunk.length;
+        state.length -= len;
+        callback(
+          (_state$errored = state.errored) !== null && _state$errored !== void 0 ? _state$errored : new ERR_STREAM_DESTROYED("write")
+        );
       }
-      /**
-       * Create a new message from binary format.
-       */
-      fromBinary(data, options) {
-        let opt = binary_reader_1.binaryReadOptions(options);
-        return this.internalBinaryRead(opt.readerFactory(data), data.byteLength, opt);
+      const onfinishCallbacks = state[kOnFinished].splice(0);
+      for (let i = 0; i < onfinishCallbacks.length; i++) {
+        var _state$errored2;
+        onfinishCallbacks[i](
+          (_state$errored2 = state.errored) !== null && _state$errored2 !== void 0 ? _state$errored2 : new ERR_STREAM_DESTROYED("end")
+        );
       }
-      /**
-       * Read a new message from a JSON value.
-       */
-      fromJson(json2, options) {
-        return this.internalJsonRead(json2, json_format_contract_1.jsonReadOptions(options));
+      resetBuffer(state);
+    }
+    function clearBuffer(stream2, state) {
+      if (state.corked || state.bufferProcessing || state.destroyed || !state.constructed) {
+        return;
       }
-      /**
-       * Read a new message from a JSON string.
-       * This is equivalent to `T.fromJson(JSON.parse(json))`.
-       */
-      fromJsonString(json2, options) {
-        let value = JSON.parse(json2);
-        return this.fromJson(value, options);
+      const { buffered, bufferedIndex, objectMode } = state;
+      const bufferedLength = buffered.length - bufferedIndex;
+      if (!bufferedLength) {
+        return;
       }
-      /**
-       * Write the message to canonical JSON value.
-       */
-      toJson(message, options) {
-        return this.internalJsonWrite(message, json_format_contract_1.jsonWriteOptions(options));
+      let i = bufferedIndex;
+      state.bufferProcessing = true;
+      if (bufferedLength > 1 && stream2._writev) {
+        state.pendingcb -= bufferedLength - 1;
+        const callback = state.allNoop ? nop : (err) => {
+          for (let n = i; n < buffered.length; ++n) {
+            buffered[n].callback(err);
+          }
+        };
+        const chunks = state.allNoop && i === 0 ? buffered : ArrayPrototypeSlice(buffered, i);
+        chunks.allBuffers = state.allBuffers;
+        doWrite(stream2, state, true, state.length, chunks, "", callback);
+        resetBuffer(state);
+      } else {
+        do {
+          const { chunk, encoding, callback } = buffered[i];
+          buffered[i++] = null;
+          const len = objectMode ? 1 : chunk.length;
+          doWrite(stream2, state, false, len, chunk, encoding, callback);
+        } while (i < buffered.length && !state.writing);
+        if (i === buffered.length) {
+          resetBuffer(state);
+        } else if (i > 256) {
+          buffered.splice(0, i);
+          state.bufferedIndex = 0;
+        } else {
+          state.bufferedIndex = i;
+        }
       }
-      /**
-       * Convert the message to canonical JSON string.
-       * This is equivalent to `JSON.stringify(T.toJson(t))`
-       */
-      toJsonString(message, options) {
-        var _a;
-        let value = this.toJson(message, options);
-        return JSON.stringify(value, null, (_a = options === null || options === void 0 ? void 0 : options.prettySpaces) !== null && _a !== void 0 ? _a : 0);
+      state.bufferProcessing = false;
+    }
+    Writable.prototype._write = function(chunk, encoding, cb) {
+      if (this._writev) {
+        this._writev(
+          [
+            {
+              chunk,
+              encoding
+            }
+          ],
+          cb
+        );
+      } else {
+        throw new ERR_METHOD_NOT_IMPLEMENTED("_write()");
       }
-      /**
-       * Write the message to binary format.
-       */
-      toBinary(message, options) {
-        let opt = binary_writer_1.binaryWriteOptions(options);
-        return this.internalBinaryWrite(message, opt.writerFactory(), opt).finish();
+    };
+    Writable.prototype._writev = null;
+    Writable.prototype.end = function(chunk, encoding, cb) {
+      const state = this._writableState;
+      if (typeof chunk === "function") {
+        cb = chunk;
+        chunk = null;
+        encoding = null;
+      } else if (typeof encoding === "function") {
+        cb = encoding;
+        encoding = null;
       }
-      /**
-       * This is an internal method. If you just want to read a message from
-       * JSON, use `fromJson()` or `fromJsonString()`.
-       *
-       * Reads JSON value and merges the fields into the target
-       * according to protobuf rules. If the target is omitted,
-       * a new instance is created first.
-       */
-      internalJsonRead(json2, options, target) {
-        if (json2 !== null && typeof json2 == "object" && !Array.isArray(json2)) {
-          let message = target !== null && target !== void 0 ? target : this.create();
-          this.refJsonReader.read(json2, message, options);
-          return message;
+      let err;
+      if (chunk !== null && chunk !== void 0) {
+        const ret = _write(this, chunk, encoding);
+        if (ret instanceof Error2) {
+          err = ret;
         }
-        throw new Error(`Unable to parse message ${this.typeName} from JSON ${json_typings_1.typeofJsonValue(json2)}.`);
       }
-      /**
-       * This is an internal method. If you just want to write a message
-       * to JSON, use `toJson()` or `toJsonString().
-       *
-       * Writes JSON value and returns it.
-       */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.write(message, options);
+      if (state.corked) {
+        state.corked = 1;
+        this.uncork();
       }
-      /**
-       * This is an internal method. If you just want to write a message
-       * in binary format, use `toBinary()`.
-       *
-       * Serializes the message in binary format and appends it to the given
-       * writer. Returns passed writer.
-       */
-      internalBinaryWrite(message, writer, options) {
-        this.refBinWriter.write(message, writer, options);
-        return writer;
+      if (err) {
+      } else if (!state.errored && !state.ending) {
+        state.ending = true;
+        finishMaybe(this, state, true);
+        state.ended = true;
+      } else if (state.finished) {
+        err = new ERR_STREAM_ALREADY_FINISHED("end");
+      } else if (state.destroyed) {
+        err = new ERR_STREAM_DESTROYED("end");
       }
-      /**
-       * This is an internal method. If you just want to read a message from
-       * binary data, use `fromBinary()`.
-       *
-       * Reads data from binary format and merges the fields into
-       * the target according to protobuf rules. If the target is
-       * omitted, a new instance is created first.
-       */
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create();
-        this.refBinReader.read(reader, message, options, length);
-        return message;
+      if (typeof cb === "function") {
+        if (err || state.finished) {
+          process2.nextTick(cb, err);
+        } else {
+          state[kOnFinished].push(cb);
+        }
       }
+      return this;
     };
-    exports2.MessageType = MessageType;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-contains-message-type.js
-var require_reflection_contains_message_type = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-contains-message-type.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.containsMessageType = void 0;
-    var message_type_contract_1 = require_message_type_contract();
-    function containsMessageType(msg) {
-      return msg[message_type_contract_1.MESSAGE_TYPE] != null;
+    function needFinish(state) {
+      return state.ending && !state.destroyed && state.constructed && state.length === 0 && !state.errored && state.buffered.length === 0 && !state.finished && !state.writing && !state.errorEmitted && !state.closeEmitted;
     }
-    exports2.containsMessageType = containsMessageType;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/enum-object.js
-var require_enum_object = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/enum-object.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.listEnumNumbers = exports2.listEnumNames = exports2.listEnumValues = exports2.isEnumObject = void 0;
-    function isEnumObject(arg) {
-      if (typeof arg != "object" || arg === null) {
-        return false;
+    function callFinal(stream2, state) {
+      let called = false;
+      function onFinish(err) {
+        if (called) {
+          errorOrDestroy(stream2, err !== null && err !== void 0 ? err : ERR_MULTIPLE_CALLBACK());
+          return;
+        }
+        called = true;
+        state.pendingcb--;
+        if (err) {
+          const onfinishCallbacks = state[kOnFinished].splice(0);
+          for (let i = 0; i < onfinishCallbacks.length; i++) {
+            onfinishCallbacks[i](err);
+          }
+          errorOrDestroy(stream2, err, state.sync);
+        } else if (needFinish(state)) {
+          state.prefinished = true;
+          stream2.emit("prefinish");
+          state.pendingcb++;
+          process2.nextTick(finish, stream2, state);
+        }
       }
-      if (!arg.hasOwnProperty(0)) {
-        return false;
+      state.sync = true;
+      state.pendingcb++;
+      try {
+        stream2._final(onFinish);
+      } catch (err) {
+        onFinish(err);
       }
-      for (let k of Object.keys(arg)) {
-        let num = parseInt(k);
-        if (!Number.isNaN(num)) {
-          let nam = arg[num];
-          if (nam === void 0)
-            return false;
-          if (arg[nam] !== num)
-            return false;
+      state.sync = false;
+    }
+    function prefinish(stream2, state) {
+      if (!state.prefinished && !state.finalCalled) {
+        if (typeof stream2._final === "function" && !state.destroyed) {
+          state.finalCalled = true;
+          callFinal(stream2, state);
         } else {
-          let num2 = arg[k];
-          if (num2 === void 0)
-            return false;
-          if (typeof num2 !== "number")
-            return false;
-          if (arg[num2] === void 0)
-            return false;
+          state.prefinished = true;
+          stream2.emit("prefinish");
         }
       }
-      return true;
-    }
-    exports2.isEnumObject = isEnumObject;
-    function listEnumValues(enumObject) {
-      if (!isEnumObject(enumObject))
-        throw new Error("not a typescript enum object");
-      let values = [];
-      for (let [name, number] of Object.entries(enumObject))
-        if (typeof number == "number")
-          values.push({ name, number });
-      return values;
-    }
-    exports2.listEnumValues = listEnumValues;
-    function listEnumNames(enumObject) {
-      return listEnumValues(enumObject).map((val) => val.name);
-    }
-    exports2.listEnumNames = listEnumNames;
-    function listEnumNumbers(enumObject) {
-      return listEnumValues(enumObject).map((val) => val.number).filter((num, index, arr) => arr.indexOf(num) == index);
-    }
-    exports2.listEnumNumbers = listEnumNumbers;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/index.js
-var require_commonjs16 = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    var json_typings_1 = require_json_typings();
-    Object.defineProperty(exports2, "typeofJsonValue", { enumerable: true, get: function() {
-      return json_typings_1.typeofJsonValue;
-    } });
-    Object.defineProperty(exports2, "isJsonObject", { enumerable: true, get: function() {
-      return json_typings_1.isJsonObject;
-    } });
-    var base64_1 = require_base642();
-    Object.defineProperty(exports2, "base64decode", { enumerable: true, get: function() {
-      return base64_1.base64decode;
-    } });
-    Object.defineProperty(exports2, "base64encode", { enumerable: true, get: function() {
-      return base64_1.base64encode;
-    } });
-    var protobufjs_utf8_1 = require_protobufjs_utf8();
-    Object.defineProperty(exports2, "utf8read", { enumerable: true, get: function() {
-      return protobufjs_utf8_1.utf8read;
-    } });
-    var binary_format_contract_1 = require_binary_format_contract();
-    Object.defineProperty(exports2, "WireType", { enumerable: true, get: function() {
-      return binary_format_contract_1.WireType;
-    } });
-    Object.defineProperty(exports2, "mergeBinaryOptions", { enumerable: true, get: function() {
-      return binary_format_contract_1.mergeBinaryOptions;
-    } });
-    Object.defineProperty(exports2, "UnknownFieldHandler", { enumerable: true, get: function() {
-      return binary_format_contract_1.UnknownFieldHandler;
-    } });
-    var binary_reader_1 = require_binary_reader();
-    Object.defineProperty(exports2, "BinaryReader", { enumerable: true, get: function() {
-      return binary_reader_1.BinaryReader;
-    } });
-    Object.defineProperty(exports2, "binaryReadOptions", { enumerable: true, get: function() {
-      return binary_reader_1.binaryReadOptions;
-    } });
-    var binary_writer_1 = require_binary_writer();
-    Object.defineProperty(exports2, "BinaryWriter", { enumerable: true, get: function() {
-      return binary_writer_1.BinaryWriter;
-    } });
-    Object.defineProperty(exports2, "binaryWriteOptions", { enumerable: true, get: function() {
-      return binary_writer_1.binaryWriteOptions;
-    } });
-    var pb_long_1 = require_pb_long();
-    Object.defineProperty(exports2, "PbLong", { enumerable: true, get: function() {
-      return pb_long_1.PbLong;
-    } });
-    Object.defineProperty(exports2, "PbULong", { enumerable: true, get: function() {
-      return pb_long_1.PbULong;
-    } });
-    var json_format_contract_1 = require_json_format_contract();
-    Object.defineProperty(exports2, "jsonReadOptions", { enumerable: true, get: function() {
-      return json_format_contract_1.jsonReadOptions;
-    } });
-    Object.defineProperty(exports2, "jsonWriteOptions", { enumerable: true, get: function() {
-      return json_format_contract_1.jsonWriteOptions;
-    } });
-    Object.defineProperty(exports2, "mergeJsonOptions", { enumerable: true, get: function() {
-      return json_format_contract_1.mergeJsonOptions;
-    } });
-    var message_type_contract_1 = require_message_type_contract();
-    Object.defineProperty(exports2, "MESSAGE_TYPE", { enumerable: true, get: function() {
-      return message_type_contract_1.MESSAGE_TYPE;
-    } });
-    var message_type_1 = require_message_type();
-    Object.defineProperty(exports2, "MessageType", { enumerable: true, get: function() {
-      return message_type_1.MessageType;
-    } });
-    var reflection_info_1 = require_reflection_info();
-    Object.defineProperty(exports2, "ScalarType", { enumerable: true, get: function() {
-      return reflection_info_1.ScalarType;
-    } });
-    Object.defineProperty(exports2, "LongType", { enumerable: true, get: function() {
-      return reflection_info_1.LongType;
-    } });
-    Object.defineProperty(exports2, "RepeatType", { enumerable: true, get: function() {
-      return reflection_info_1.RepeatType;
-    } });
-    Object.defineProperty(exports2, "normalizeFieldInfo", { enumerable: true, get: function() {
-      return reflection_info_1.normalizeFieldInfo;
-    } });
-    Object.defineProperty(exports2, "readFieldOptions", { enumerable: true, get: function() {
-      return reflection_info_1.readFieldOptions;
-    } });
-    Object.defineProperty(exports2, "readFieldOption", { enumerable: true, get: function() {
-      return reflection_info_1.readFieldOption;
-    } });
-    Object.defineProperty(exports2, "readMessageOption", { enumerable: true, get: function() {
-      return reflection_info_1.readMessageOption;
-    } });
-    var reflection_type_check_1 = require_reflection_type_check();
-    Object.defineProperty(exports2, "ReflectionTypeCheck", { enumerable: true, get: function() {
-      return reflection_type_check_1.ReflectionTypeCheck;
-    } });
-    var reflection_create_1 = require_reflection_create();
-    Object.defineProperty(exports2, "reflectionCreate", { enumerable: true, get: function() {
-      return reflection_create_1.reflectionCreate;
-    } });
-    var reflection_scalar_default_1 = require_reflection_scalar_default();
-    Object.defineProperty(exports2, "reflectionScalarDefault", { enumerable: true, get: function() {
-      return reflection_scalar_default_1.reflectionScalarDefault;
-    } });
-    var reflection_merge_partial_1 = require_reflection_merge_partial();
-    Object.defineProperty(exports2, "reflectionMergePartial", { enumerable: true, get: function() {
-      return reflection_merge_partial_1.reflectionMergePartial;
-    } });
-    var reflection_equals_1 = require_reflection_equals();
-    Object.defineProperty(exports2, "reflectionEquals", { enumerable: true, get: function() {
-      return reflection_equals_1.reflectionEquals;
-    } });
-    var reflection_binary_reader_1 = require_reflection_binary_reader();
-    Object.defineProperty(exports2, "ReflectionBinaryReader", { enumerable: true, get: function() {
-      return reflection_binary_reader_1.ReflectionBinaryReader;
-    } });
-    var reflection_binary_writer_1 = require_reflection_binary_writer();
-    Object.defineProperty(exports2, "ReflectionBinaryWriter", { enumerable: true, get: function() {
-      return reflection_binary_writer_1.ReflectionBinaryWriter;
-    } });
-    var reflection_json_reader_1 = require_reflection_json_reader();
-    Object.defineProperty(exports2, "ReflectionJsonReader", { enumerable: true, get: function() {
-      return reflection_json_reader_1.ReflectionJsonReader;
-    } });
-    var reflection_json_writer_1 = require_reflection_json_writer();
-    Object.defineProperty(exports2, "ReflectionJsonWriter", { enumerable: true, get: function() {
-      return reflection_json_writer_1.ReflectionJsonWriter;
-    } });
-    var reflection_contains_message_type_1 = require_reflection_contains_message_type();
-    Object.defineProperty(exports2, "containsMessageType", { enumerable: true, get: function() {
-      return reflection_contains_message_type_1.containsMessageType;
-    } });
-    var oneof_1 = require_oneof();
-    Object.defineProperty(exports2, "isOneofGroup", { enumerable: true, get: function() {
-      return oneof_1.isOneofGroup;
-    } });
-    Object.defineProperty(exports2, "setOneofValue", { enumerable: true, get: function() {
-      return oneof_1.setOneofValue;
-    } });
-    Object.defineProperty(exports2, "getOneofValue", { enumerable: true, get: function() {
-      return oneof_1.getOneofValue;
-    } });
-    Object.defineProperty(exports2, "clearOneofValue", { enumerable: true, get: function() {
-      return oneof_1.clearOneofValue;
-    } });
-    Object.defineProperty(exports2, "getSelectedOneofValue", { enumerable: true, get: function() {
-      return oneof_1.getSelectedOneofValue;
-    } });
-    var enum_object_1 = require_enum_object();
-    Object.defineProperty(exports2, "listEnumValues", { enumerable: true, get: function() {
-      return enum_object_1.listEnumValues;
-    } });
-    Object.defineProperty(exports2, "listEnumNames", { enumerable: true, get: function() {
-      return enum_object_1.listEnumNames;
-    } });
-    Object.defineProperty(exports2, "listEnumNumbers", { enumerable: true, get: function() {
-      return enum_object_1.listEnumNumbers;
-    } });
-    Object.defineProperty(exports2, "isEnumObject", { enumerable: true, get: function() {
-      return enum_object_1.isEnumObject;
-    } });
-    var lower_camel_case_1 = require_lower_camel_case();
-    Object.defineProperty(exports2, "lowerCamelCase", { enumerable: true, get: function() {
-      return lower_camel_case_1.lowerCamelCase;
-    } });
-    var assert_1 = require_assert();
-    Object.defineProperty(exports2, "assert", { enumerable: true, get: function() {
-      return assert_1.assert;
-    } });
-    Object.defineProperty(exports2, "assertNever", { enumerable: true, get: function() {
-      return assert_1.assertNever;
-    } });
-    Object.defineProperty(exports2, "assertInt32", { enumerable: true, get: function() {
-      return assert_1.assertInt32;
-    } });
-    Object.defineProperty(exports2, "assertUInt32", { enumerable: true, get: function() {
-      return assert_1.assertUInt32;
-    } });
-    Object.defineProperty(exports2, "assertFloat32", { enumerable: true, get: function() {
-      return assert_1.assertFloat32;
-    } });
-  }
-});
-
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/reflection-info.js
-var require_reflection_info2 = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/reflection-info.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.readServiceOption = exports2.readMethodOption = exports2.readMethodOptions = exports2.normalizeMethodInfo = void 0;
-    var runtime_1 = require_commonjs16();
-    function normalizeMethodInfo(method, service) {
-      var _a, _b, _c;
-      let m = method;
-      m.service = service;
-      m.localName = (_a = m.localName) !== null && _a !== void 0 ? _a : runtime_1.lowerCamelCase(m.name);
-      m.serverStreaming = !!m.serverStreaming;
-      m.clientStreaming = !!m.clientStreaming;
-      m.options = (_b = m.options) !== null && _b !== void 0 ? _b : {};
-      m.idempotency = (_c = m.idempotency) !== null && _c !== void 0 ? _c : void 0;
-      return m;
     }
-    exports2.normalizeMethodInfo = normalizeMethodInfo;
-    function readMethodOptions(service, methodName, extensionName, extensionType) {
-      var _a;
-      const options = (_a = service.methods.find((m, i) => m.localName === methodName || i === methodName)) === null || _a === void 0 ? void 0 : _a.options;
-      return options && options[extensionName] ? extensionType.fromJson(options[extensionName]) : void 0;
+    function finishMaybe(stream2, state, sync) {
+      if (needFinish(state)) {
+        prefinish(stream2, state);
+        if (state.pendingcb === 0) {
+          if (sync) {
+            state.pendingcb++;
+            process2.nextTick(
+              (stream3, state2) => {
+                if (needFinish(state2)) {
+                  finish(stream3, state2);
+                } else {
+                  state2.pendingcb--;
+                }
+              },
+              stream2,
+              state
+            );
+          } else if (needFinish(state)) {
+            state.pendingcb++;
+            finish(stream2, state);
+          }
+        }
+      }
     }
-    exports2.readMethodOptions = readMethodOptions;
-    function readMethodOption(service, methodName, extensionName, extensionType) {
-      var _a;
-      const options = (_a = service.methods.find((m, i) => m.localName === methodName || i === methodName)) === null || _a === void 0 ? void 0 : _a.options;
-      if (!options) {
-        return void 0;
+    function finish(stream2, state) {
+      state.pendingcb--;
+      state.finished = true;
+      const onfinishCallbacks = state[kOnFinished].splice(0);
+      for (let i = 0; i < onfinishCallbacks.length; i++) {
+        onfinishCallbacks[i]();
       }
-      const optionVal = options[extensionName];
-      if (optionVal === void 0) {
-        return optionVal;
+      stream2.emit("finish");
+      if (state.autoDestroy) {
+        const rState = stream2._readableState;
+        const autoDestroy = !rState || rState.autoDestroy && // We don't expect the readable to ever 'end'
+        // if readable is explicitly set to false.
+        (rState.endEmitted || rState.readable === false);
+        if (autoDestroy) {
+          stream2.destroy();
+        }
       }
-      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
     }
-    exports2.readMethodOption = readMethodOption;
-    function readServiceOption(service, extensionName, extensionType) {
-      const options = service.options;
-      if (!options) {
-        return void 0;
+    ObjectDefineProperties(Writable.prototype, {
+      closed: {
+        __proto__: null,
+        get() {
+          return this._writableState ? this._writableState.closed : false;
+        }
+      },
+      destroyed: {
+        __proto__: null,
+        get() {
+          return this._writableState ? this._writableState.destroyed : false;
+        },
+        set(value) {
+          if (this._writableState) {
+            this._writableState.destroyed = value;
+          }
+        }
+      },
+      writable: {
+        __proto__: null,
+        get() {
+          const w = this._writableState;
+          return !!w && w.writable !== false && !w.destroyed && !w.errored && !w.ending && !w.ended;
+        },
+        set(val) {
+          if (this._writableState) {
+            this._writableState.writable = !!val;
+          }
+        }
+      },
+      writableFinished: {
+        __proto__: null,
+        get() {
+          return this._writableState ? this._writableState.finished : false;
+        }
+      },
+      writableObjectMode: {
+        __proto__: null,
+        get() {
+          return this._writableState ? this._writableState.objectMode : false;
+        }
+      },
+      writableBuffer: {
+        __proto__: null,
+        get() {
+          return this._writableState && this._writableState.getBuffer();
+        }
+      },
+      writableEnded: {
+        __proto__: null,
+        get() {
+          return this._writableState ? this._writableState.ending : false;
+        }
+      },
+      writableNeedDrain: {
+        __proto__: null,
+        get() {
+          const wState = this._writableState;
+          if (!wState) return false;
+          return !wState.destroyed && !wState.ending && wState.needDrain;
+        }
+      },
+      writableHighWaterMark: {
+        __proto__: null,
+        get() {
+          return this._writableState && this._writableState.highWaterMark;
+        }
+      },
+      writableCorked: {
+        __proto__: null,
+        get() {
+          return this._writableState ? this._writableState.corked : 0;
+        }
+      },
+      writableLength: {
+        __proto__: null,
+        get() {
+          return this._writableState && this._writableState.length;
+        }
+      },
+      errored: {
+        __proto__: null,
+        enumerable: false,
+        get() {
+          return this._writableState ? this._writableState.errored : null;
+        }
+      },
+      writableAborted: {
+        __proto__: null,
+        enumerable: false,
+        get: function() {
+          return !!(this._writableState.writable !== false && (this._writableState.destroyed || this._writableState.errored) && !this._writableState.finished);
+        }
       }
-      const optionVal = options[extensionName];
-      if (optionVal === void 0) {
-        return optionVal;
+    });
+    var destroy = destroyImpl.destroy;
+    Writable.prototype.destroy = function(err, cb) {
+      const state = this._writableState;
+      if (!state.destroyed && (state.bufferedIndex < state.buffered.length || state[kOnFinished].length)) {
+        process2.nextTick(errorBuffer, state);
       }
-      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
+      destroy.call(this, err, cb);
+      return this;
+    };
+    Writable.prototype._undestroy = destroyImpl.undestroy;
+    Writable.prototype._destroy = function(err, cb) {
+      cb(err);
+    };
+    Writable.prototype[EE.captureRejectionSymbol] = function(err) {
+      this.destroy(err);
+    };
+    var webStreamsAdapters;
+    function lazyWebStreams() {
+      if (webStreamsAdapters === void 0) webStreamsAdapters = {};
+      return webStreamsAdapters;
     }
-    exports2.readServiceOption = readServiceOption;
+    Writable.fromWeb = function(writableStream, options) {
+      return lazyWebStreams().newStreamWritableFromWritableStream(writableStream, options);
+    };
+    Writable.toWeb = function(streamWritable) {
+      return lazyWebStreams().newWritableStreamFromStreamWritable(streamWritable);
+    };
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/service-type.js
-var require_service_type = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/service-type.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ServiceType = void 0;
-    var reflection_info_1 = require_reflection_info2();
-    var ServiceType = class {
-      constructor(typeName, methods, options) {
-        this.typeName = typeName;
-        this.methods = methods.map((i) => reflection_info_1.normalizeMethodInfo(i, this));
-        this.options = options !== null && options !== void 0 ? options : {};
+// node_modules/readable-stream/lib/internal/streams/duplexify.js
+var require_duplexify = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/duplexify.js"(exports2, module2) {
+    var process2 = require_process();
+    var bufferModule = require("buffer");
+    var {
+      isReadable,
+      isWritable,
+      isIterable,
+      isNodeStream,
+      isReadableNodeStream,
+      isWritableNodeStream,
+      isDuplexNodeStream,
+      isReadableStream,
+      isWritableStream
+    } = require_utils8();
+    var eos = require_end_of_stream();
+    var {
+      AbortError,
+      codes: { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_RETURN_VALUE }
+    } = require_errors5();
+    var { destroyer } = require_destroy2();
+    var Duplex = require_duplex();
+    var Readable2 = require_readable4();
+    var Writable = require_writable();
+    var { createDeferredPromise } = require_util21();
+    var from = require_from();
+    var Blob2 = globalThis.Blob || bufferModule.Blob;
+    var isBlob = typeof Blob2 !== "undefined" ? function isBlob2(b) {
+      return b instanceof Blob2;
+    } : function isBlob2(b) {
+      return false;
+    };
+    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
+    var { FunctionPrototypeCall } = require_primordials();
+    var Duplexify = class extends Duplex {
+      constructor(options) {
+        super(options);
+        if ((options === null || options === void 0 ? void 0 : options.readable) === false) {
+          this._readableState.readable = false;
+          this._readableState.ended = true;
+          this._readableState.endEmitted = true;
+        }
+        if ((options === null || options === void 0 ? void 0 : options.writable) === false) {
+          this._writableState.writable = false;
+          this._writableState.ending = true;
+          this._writableState.ended = true;
+          this._writableState.finished = true;
+        }
       }
     };
-    exports2.ServiceType = ServiceType;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-error.js
-var require_rpc_error = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-error.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.RpcError = void 0;
-    var RpcError = class extends Error {
-      constructor(message, code = "UNKNOWN", meta) {
-        super(message);
-        this.name = "RpcError";
-        Object.setPrototypeOf(this, new.target.prototype);
-        this.code = code;
-        this.meta = meta !== null && meta !== void 0 ? meta : {};
+    module2.exports = function duplexify(body, name) {
+      if (isDuplexNodeStream(body)) {
+        return body;
       }
-      toString() {
-        const l = [this.name + ": " + this.message];
-        if (this.code) {
-          l.push("");
-          l.push("Code: " + this.code);
+      if (isReadableNodeStream(body)) {
+        return _duplexify({
+          readable: body
+        });
+      }
+      if (isWritableNodeStream(body)) {
+        return _duplexify({
+          writable: body
+        });
+      }
+      if (isNodeStream(body)) {
+        return _duplexify({
+          writable: false,
+          readable: false
+        });
+      }
+      if (isReadableStream(body)) {
+        return _duplexify({
+          readable: Readable2.fromWeb(body)
+        });
+      }
+      if (isWritableStream(body)) {
+        return _duplexify({
+          writable: Writable.fromWeb(body)
+        });
+      }
+      if (typeof body === "function") {
+        const { value, write, final, destroy } = fromAsyncGen(body);
+        if (isIterable(value)) {
+          return from(Duplexify, value, {
+            // TODO (ronag): highWaterMark?
+            objectMode: true,
+            write,
+            final,
+            destroy
+          });
         }
-        if (this.serviceName && this.methodName) {
-          l.push("Method: " + this.serviceName + "/" + this.methodName);
+        const then2 = value === null || value === void 0 ? void 0 : value.then;
+        if (typeof then2 === "function") {
+          let d;
+          const promise = FunctionPrototypeCall(
+            then2,
+            value,
+            (val) => {
+              if (val != null) {
+                throw new ERR_INVALID_RETURN_VALUE("nully", "body", val);
+              }
+            },
+            (err) => {
+              destroyer(d, err);
+            }
+          );
+          return d = new Duplexify({
+            // TODO (ronag): highWaterMark?
+            objectMode: true,
+            readable: false,
+            write,
+            final(cb) {
+              final(async () => {
+                try {
+                  await promise;
+                  process2.nextTick(cb, null);
+                } catch (err) {
+                  process2.nextTick(cb, err);
+                }
+              });
+            },
+            destroy
+          });
         }
-        let m = Object.entries(this.meta);
-        if (m.length) {
-          l.push("");
-          l.push("Meta:");
-          for (let [k, v] of m) {
-            l.push(`  ${k}: ${v}`);
+        throw new ERR_INVALID_RETURN_VALUE("Iterable, AsyncIterable or AsyncFunction", name, value);
+      }
+      if (isBlob(body)) {
+        return duplexify(body.arrayBuffer());
+      }
+      if (isIterable(body)) {
+        return from(Duplexify, body, {
+          // TODO (ronag): highWaterMark?
+          objectMode: true,
+          writable: false
+        });
+      }
+      if (isReadableStream(body === null || body === void 0 ? void 0 : body.readable) && isWritableStream(body === null || body === void 0 ? void 0 : body.writable)) {
+        return Duplexify.fromWeb(body);
+      }
+      if (typeof (body === null || body === void 0 ? void 0 : body.writable) === "object" || typeof (body === null || body === void 0 ? void 0 : body.readable) === "object") {
+        const readable = body !== null && body !== void 0 && body.readable ? isReadableNodeStream(body === null || body === void 0 ? void 0 : body.readable) ? body === null || body === void 0 ? void 0 : body.readable : duplexify(body.readable) : void 0;
+        const writable = body !== null && body !== void 0 && body.writable ? isWritableNodeStream(body === null || body === void 0 ? void 0 : body.writable) ? body === null || body === void 0 ? void 0 : body.writable : duplexify(body.writable) : void 0;
+        return _duplexify({
+          readable,
+          writable
+        });
+      }
+      const then = body === null || body === void 0 ? void 0 : body.then;
+      if (typeof then === "function") {
+        let d;
+        FunctionPrototypeCall(
+          then,
+          body,
+          (val) => {
+            if (val != null) {
+              d.push(val);
+            }
+            d.push(null);
+          },
+          (err) => {
+            destroyer(d, err);
+          }
+        );
+        return d = new Duplexify({
+          objectMode: true,
+          writable: false,
+          read() {
+          }
+        });
+      }
+      throw new ERR_INVALID_ARG_TYPE2(
+        name,
+        [
+          "Blob",
+          "ReadableStream",
+          "WritableStream",
+          "Stream",
+          "Iterable",
+          "AsyncIterable",
+          "Function",
+          "{ readable, writable } pair",
+          "Promise"
+        ],
+        body
+      );
+    };
+    function fromAsyncGen(fn) {
+      let { promise, resolve: resolve8 } = createDeferredPromise();
+      const ac = new AbortController2();
+      const signal = ac.signal;
+      const value = fn(
+        (async function* () {
+          while (true) {
+            const _promise = promise;
+            promise = null;
+            const { chunk, done, cb } = await _promise;
+            process2.nextTick(cb);
+            if (done) return;
+            if (signal.aborted)
+              throw new AbortError(void 0, {
+                cause: signal.reason
+              });
+            ({ promise, resolve: resolve8 } = createDeferredPromise());
+            yield chunk;
           }
+        })(),
+        {
+          signal
+        }
+      );
+      return {
+        value,
+        write(chunk, encoding, cb) {
+          const _resolve = resolve8;
+          resolve8 = null;
+          _resolve({
+            chunk,
+            done: false,
+            cb
+          });
+        },
+        final(cb) {
+          const _resolve = resolve8;
+          resolve8 = null;
+          _resolve({
+            done: true,
+            cb
+          });
+        },
+        destroy(err, cb) {
+          ac.abort();
+          cb(err);
+        }
+      };
+    }
+    function _duplexify(pair) {
+      const r = pair.readable && typeof pair.readable.read !== "function" ? Readable2.wrap(pair.readable) : pair.readable;
+      const w = pair.writable;
+      let readable = !!isReadable(r);
+      let writable = !!isWritable(w);
+      let ondrain;
+      let onfinish;
+      let onreadable;
+      let onclose;
+      let d;
+      function onfinished(err) {
+        const cb = onclose;
+        onclose = null;
+        if (cb) {
+          cb(err);
+        } else if (err) {
+          d.destroy(err);
+        }
+      }
+      d = new Duplexify({
+        // TODO (ronag): highWaterMark?
+        readableObjectMode: !!(r !== null && r !== void 0 && r.readableObjectMode),
+        writableObjectMode: !!(w !== null && w !== void 0 && w.writableObjectMode),
+        readable,
+        writable
+      });
+      if (writable) {
+        eos(w, (err) => {
+          writable = false;
+          if (err) {
+            destroyer(r, err);
+          }
+          onfinished(err);
+        });
+        d._write = function(chunk, encoding, callback) {
+          if (w.write(chunk, encoding)) {
+            callback();
+          } else {
+            ondrain = callback;
+          }
+        };
+        d._final = function(callback) {
+          w.end();
+          onfinish = callback;
+        };
+        w.on("drain", function() {
+          if (ondrain) {
+            const cb = ondrain;
+            ondrain = null;
+            cb();
+          }
+        });
+        w.on("finish", function() {
+          if (onfinish) {
+            const cb = onfinish;
+            onfinish = null;
+            cb();
+          }
+        });
+      }
+      if (readable) {
+        eos(r, (err) => {
+          readable = false;
+          if (err) {
+            destroyer(r, err);
+          }
+          onfinished(err);
+        });
+        r.on("readable", function() {
+          if (onreadable) {
+            const cb = onreadable;
+            onreadable = null;
+            cb();
+          }
+        });
+        r.on("end", function() {
+          d.push(null);
+        });
+        d._read = function() {
+          while (true) {
+            const buf = r.read();
+            if (buf === null) {
+              onreadable = d._read;
+              return;
+            }
+            if (!d.push(buf)) {
+              return;
+            }
+          }
+        };
+      }
+      d._destroy = function(err, callback) {
+        if (!err && onclose !== null) {
+          err = new AbortError();
+        }
+        onreadable = null;
+        ondrain = null;
+        onfinish = null;
+        if (onclose === null) {
+          callback(err);
+        } else {
+          onclose = callback;
+          destroyer(w, err);
+          destroyer(r, err);
         }
-        return l.join("\n");
-      }
-    };
-    exports2.RpcError = RpcError;
+      };
+      return d;
+    }
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-options.js
-var require_rpc_options = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-options.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/duplex.js
+var require_duplex = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/duplex.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.mergeRpcOptions = void 0;
-    var runtime_1 = require_commonjs16();
-    function mergeRpcOptions(defaults, options) {
-      if (!options)
-        return defaults;
-      let o = {};
-      copy(defaults, o);
-      copy(options, o);
-      for (let key of Object.keys(options)) {
-        let val = options[key];
-        switch (key) {
-          case "jsonOptions":
-            o.jsonOptions = runtime_1.mergeJsonOptions(defaults.jsonOptions, o.jsonOptions);
-            break;
-          case "binaryOptions":
-            o.binaryOptions = runtime_1.mergeBinaryOptions(defaults.binaryOptions, o.binaryOptions);
-            break;
-          case "meta":
-            o.meta = {};
-            copy(defaults.meta, o.meta);
-            copy(options.meta, o.meta);
-            break;
-          case "interceptors":
-            o.interceptors = defaults.interceptors ? defaults.interceptors.concat(val) : val.concat();
-            break;
-        }
+    var {
+      ObjectDefineProperties,
+      ObjectGetOwnPropertyDescriptor,
+      ObjectKeys,
+      ObjectSetPrototypeOf
+    } = require_primordials();
+    module2.exports = Duplex;
+    var Readable2 = require_readable4();
+    var Writable = require_writable();
+    ObjectSetPrototypeOf(Duplex.prototype, Readable2.prototype);
+    ObjectSetPrototypeOf(Duplex, Readable2);
+    {
+      const keys = ObjectKeys(Writable.prototype);
+      for (let i = 0; i < keys.length; i++) {
+        const method = keys[i];
+        if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];
       }
-      return o;
     }
-    exports2.mergeRpcOptions = mergeRpcOptions;
-    function copy(a, into) {
-      if (!a)
-        return;
-      let c = into;
-      for (let [k, v] of Object.entries(a)) {
-        if (v instanceof Date)
-          c[k] = new Date(v.getTime());
-        else if (Array.isArray(v))
-          c[k] = v.concat();
-        else
-          c[k] = v;
+    function Duplex(options) {
+      if (!(this instanceof Duplex)) return new Duplex(options);
+      Readable2.call(this, options);
+      Writable.call(this, options);
+      if (options) {
+        this.allowHalfOpen = options.allowHalfOpen !== false;
+        if (options.readable === false) {
+          this._readableState.readable = false;
+          this._readableState.ended = true;
+          this._readableState.endEmitted = true;
+        }
+        if (options.writable === false) {
+          this._writableState.writable = false;
+          this._writableState.ending = true;
+          this._writableState.ended = true;
+          this._writableState.finished = true;
+        }
+      } else {
+        this.allowHalfOpen = true;
       }
     }
-  }
-});
-
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/deferred.js
-var require_deferred = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/deferred.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Deferred = exports2.DeferredState = void 0;
-    var DeferredState;
-    (function(DeferredState2) {
-      DeferredState2[DeferredState2["PENDING"] = 0] = "PENDING";
-      DeferredState2[DeferredState2["REJECTED"] = 1] = "REJECTED";
-      DeferredState2[DeferredState2["RESOLVED"] = 2] = "RESOLVED";
-    })(DeferredState = exports2.DeferredState || (exports2.DeferredState = {}));
-    var Deferred = class {
-      /**
-       * @param preventUnhandledRejectionWarning - prevents the warning
-       * "Unhandled Promise rejection" by adding a noop rejection handler.
-       * Working with calls returned from the runtime-rpc package in an
-       * async function usually means awaiting one call property after
-       * the other. This means that the "status" is not being awaited when
-       * an earlier await for the "headers" is rejected. This causes the
-       * "unhandled promise reject" warning. A more correct behaviour for
-       * calls might be to become aware whether at least one of the
-       * promises is handled and swallow the rejection warning for the
-       * others.
-       */
-      constructor(preventUnhandledRejectionWarning = true) {
-        this._state = DeferredState.PENDING;
-        this._promise = new Promise((resolve8, reject) => {
-          this._resolve = resolve8;
-          this._reject = reject;
-        });
-        if (preventUnhandledRejectionWarning) {
-          this._promise.catch((_2) => {
-          });
+    ObjectDefineProperties(Duplex.prototype, {
+      writable: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writable")
+      },
+      writableHighWaterMark: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableHighWaterMark")
+      },
+      writableObjectMode: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableObjectMode")
+      },
+      writableBuffer: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableBuffer")
+      },
+      writableLength: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableLength")
+      },
+      writableFinished: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableFinished")
+      },
+      writableCorked: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableCorked")
+      },
+      writableEnded: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableEnded")
+      },
+      writableNeedDrain: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableNeedDrain")
+      },
+      destroyed: {
+        __proto__: null,
+        get() {
+          if (this._readableState === void 0 || this._writableState === void 0) {
+            return false;
+          }
+          return this._readableState.destroyed && this._writableState.destroyed;
+        },
+        set(value) {
+          if (this._readableState && this._writableState) {
+            this._readableState.destroyed = value;
+            this._writableState.destroyed = value;
+          }
         }
       }
-      /**
-       * Get the current state of the promise.
-       */
-      get state() {
-        return this._state;
-      }
-      /**
-       * Get the deferred promise.
-       */
-      get promise() {
-        return this._promise;
-      }
-      /**
-       * Resolve the promise. Throws if the promise is already resolved or rejected.
-       */
-      resolve(value) {
-        if (this.state !== DeferredState.PENDING)
-          throw new Error(`cannot resolve ${DeferredState[this.state].toLowerCase()}`);
-        this._resolve(value);
-        this._state = DeferredState.RESOLVED;
-      }
-      /**
-       * Reject the promise. Throws if the promise is already resolved or rejected.
-       */
-      reject(reason) {
-        if (this.state !== DeferredState.PENDING)
-          throw new Error(`cannot reject ${DeferredState[this.state].toLowerCase()}`);
-        this._reject(reason);
-        this._state = DeferredState.REJECTED;
-      }
-      /**
-       * Resolve the promise. Ignore if not pending.
-       */
-      resolvePending(val) {
-        if (this._state === DeferredState.PENDING)
-          this.resolve(val);
-      }
-      /**
-       * Reject the promise. Ignore if not pending.
-       */
-      rejectPending(reason) {
-        if (this._state === DeferredState.PENDING)
-          this.reject(reason);
+    });
+    var webStreamsAdapters;
+    function lazyWebStreams() {
+      if (webStreamsAdapters === void 0) webStreamsAdapters = {};
+      return webStreamsAdapters;
+    }
+    Duplex.fromWeb = function(pair, options) {
+      return lazyWebStreams().newStreamDuplexFromReadableWritablePair(pair, options);
+    };
+    Duplex.toWeb = function(duplex) {
+      return lazyWebStreams().newReadableWritablePairFromDuplex(duplex);
+    };
+    var duplexify;
+    Duplex.from = function(body) {
+      if (!duplexify) {
+        duplexify = require_duplexify();
       }
+      return duplexify(body, "body");
     };
-    exports2.Deferred = Deferred;
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-output-stream.js
-var require_rpc_output_stream = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-output-stream.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/transform.js
+var require_transform = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/transform.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.RpcOutputStreamController = void 0;
-    var deferred_1 = require_deferred();
-    var runtime_1 = require_commonjs16();
-    var RpcOutputStreamController = class {
-      constructor() {
-        this._lis = {
-          nxt: [],
-          msg: [],
-          err: [],
-          cmp: []
-        };
-        this._closed = false;
-        this._itState = { q: [] };
-      }
-      // --- RpcOutputStream callback API
-      onNext(callback) {
-        return this.addLis(callback, this._lis.nxt);
-      }
-      onMessage(callback) {
-        return this.addLis(callback, this._lis.msg);
-      }
-      onError(callback) {
-        return this.addLis(callback, this._lis.err);
-      }
-      onComplete(callback) {
-        return this.addLis(callback, this._lis.cmp);
-      }
-      addLis(callback, list) {
-        list.push(callback);
-        return () => {
-          let i = list.indexOf(callback);
-          if (i >= 0)
-            list.splice(i, 1);
+    var { ObjectSetPrototypeOf, Symbol: Symbol2 } = require_primordials();
+    module2.exports = Transform;
+    var { ERR_METHOD_NOT_IMPLEMENTED } = require_errors5().codes;
+    var Duplex = require_duplex();
+    var { getHighWaterMark } = require_state3();
+    ObjectSetPrototypeOf(Transform.prototype, Duplex.prototype);
+    ObjectSetPrototypeOf(Transform, Duplex);
+    var kCallback = Symbol2("kCallback");
+    function Transform(options) {
+      if (!(this instanceof Transform)) return new Transform(options);
+      const readableHighWaterMark = options ? getHighWaterMark(this, options, "readableHighWaterMark", true) : null;
+      if (readableHighWaterMark === 0) {
+        options = {
+          ...options,
+          highWaterMark: null,
+          readableHighWaterMark,
+          // TODO (ronag): 0 is not optimal since we have
+          // a "bug" where we check needDrain before calling _write and not after.
+          // Refs: https://github.com/nodejs/node/pull/32887
+          // Refs: https://github.com/nodejs/node/pull/35941
+          writableHighWaterMark: options.writableHighWaterMark || 0
         };
       }
-      // remove all listeners
-      clearLis() {
-        for (let l of Object.values(this._lis))
-          l.splice(0, l.length);
-      }
-      // --- Controller API
-      /**
-       * Is this stream already closed by a completion or error?
-       */
-      get closed() {
-        return this._closed !== false;
-      }
-      /**
-       * Emit message, close with error, or close successfully, but only one
-       * at a time.
-       * Can be used to wrap a stream by using the other stream's `onNext`.
-       */
-      notifyNext(message, error3, complete) {
-        runtime_1.assert((message ? 1 : 0) + (error3 ? 1 : 0) + (complete ? 1 : 0) <= 1, "only one emission at a time");
-        if (message)
-          this.notifyMessage(message);
-        if (error3)
-          this.notifyError(error3);
-        if (complete)
-          this.notifyComplete();
-      }
-      /**
-       * Emits a new message. Throws if stream is closed.
-       *
-       * Triggers onNext and onMessage callbacks.
-       */
-      notifyMessage(message) {
-        runtime_1.assert(!this.closed, "stream is closed");
-        this.pushIt({ value: message, done: false });
-        this._lis.msg.forEach((l) => l(message));
-        this._lis.nxt.forEach((l) => l(message, void 0, false));
-      }
-      /**
-       * Closes the stream with an error. Throws if stream is closed.
-       *
-       * Triggers onNext and onError callbacks.
-       */
-      notifyError(error3) {
-        runtime_1.assert(!this.closed, "stream is closed");
-        this._closed = error3;
-        this.pushIt(error3);
-        this._lis.err.forEach((l) => l(error3));
-        this._lis.nxt.forEach((l) => l(void 0, error3, false));
-        this.clearLis();
-      }
-      /**
-       * Closes the stream successfully. Throws if stream is closed.
-       *
-       * Triggers onNext and onComplete callbacks.
-       */
-      notifyComplete() {
-        runtime_1.assert(!this.closed, "stream is closed");
-        this._closed = true;
-        this.pushIt({ value: null, done: true });
-        this._lis.cmp.forEach((l) => l());
-        this._lis.nxt.forEach((l) => l(void 0, void 0, true));
-        this.clearLis();
+      Duplex.call(this, options);
+      this._readableState.sync = false;
+      this[kCallback] = null;
+      if (options) {
+        if (typeof options.transform === "function") this._transform = options.transform;
+        if (typeof options.flush === "function") this._flush = options.flush;
       }
-      /**
-       * Creates an async iterator (that can be used with `for await {...}`)
-       * to consume the stream.
-       *
-       * Some things to note:
-       * - If an error occurs, the `for await` will throw it.
-       * - If an error occurred before the `for await` was started, `for await`
-       *   will re-throw it.
-       * - If the stream is already complete, the `for await` will be empty.
-       * - If your `for await` consumes slower than the stream produces,
-       *   for example because you are relaying messages in a slow operation,
-       *   messages are queued.
-       */
-      [Symbol.asyncIterator]() {
-        if (this._closed === true)
-          this.pushIt({ value: null, done: true });
-        else if (this._closed !== false)
-          this.pushIt(this._closed);
-        return {
-          next: () => {
-            let state = this._itState;
-            runtime_1.assert(state, "bad state");
-            runtime_1.assert(!state.p, "iterator contract broken");
-            let first = state.q.shift();
-            if (first)
-              return "value" in first ? Promise.resolve(first) : Promise.reject(first);
-            state.p = new deferred_1.Deferred();
-            return state.p.promise;
+      this.on("prefinish", prefinish);
+    }
+    function final(cb) {
+      if (typeof this._flush === "function" && !this.destroyed) {
+        this._flush((er, data) => {
+          if (er) {
+            if (cb) {
+              cb(er);
+            } else {
+              this.destroy(er);
+            }
+            return;
           }
-        };
-      }
-      // "push" a new iterator result.
-      // this either resolves a pending promise, or enqueues the result.
-      pushIt(result) {
-        let state = this._itState;
-        if (state.p) {
-          const p = state.p;
-          runtime_1.assert(p.state == deferred_1.DeferredState.PENDING, "iterator contract broken");
-          "value" in result ? p.resolve(result) : p.reject(result);
-          delete state.p;
-        } else {
-          state.q.push(result);
+          if (data != null) {
+            this.push(data);
+          }
+          this.push(null);
+          if (cb) {
+            cb();
+          }
+        });
+      } else {
+        this.push(null);
+        if (cb) {
+          cb();
         }
       }
-    };
-    exports2.RpcOutputStreamController = RpcOutputStreamController;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/unary-call.js
-var require_unary_call = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/unary-call.js"(exports2) {
-    "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve8) {
-          resolve8(value);
-        });
+    }
+    function prefinish() {
+      if (this._final !== final) {
+        final.call(this);
       }
-      return new (P || (P = Promise))(function(resolve8, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
+    }
+    Transform.prototype._final = final;
+    Transform.prototype._transform = function(chunk, encoding, callback) {
+      throw new ERR_METHOD_NOT_IMPLEMENTED("_transform()");
+    };
+    Transform.prototype._write = function(chunk, encoding, callback) {
+      const rState = this._readableState;
+      const wState = this._writableState;
+      const length = rState.length;
+      this._transform(chunk, encoding, (err, val) => {
+        if (err) {
+          callback(err);
+          return;
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
+        if (val != null) {
+          this.push(val);
         }
-        function step(result) {
-          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+        if (wState.ended || // Backwards compat.
+        length === rState.length || // Backwards compat.
+        rState.length < rState.highWaterMark) {
+          callback();
+        } else {
+          this[kCallback] = callback;
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
       });
     };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.UnaryCall = void 0;
-    var UnaryCall = class {
-      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
-        this.method = method;
-        this.requestHeaders = requestHeaders;
-        this.request = request2;
-        this.headers = headers;
-        this.response = response;
-        this.status = status;
-        this.trailers = trailers;
-      }
-      /**
-       * If you are only interested in the final outcome of this call,
-       * you can await it to receive a `FinishedUnaryCall`.
-       */
-      then(onfulfilled, onrejected) {
-        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
-      }
-      promiseFinished() {
-        return __awaiter2(this, void 0, void 0, function* () {
-          let [headers, response, status, trailers] = yield Promise.all([this.headers, this.response, this.status, this.trailers]);
-          return {
-            method: this.method,
-            requestHeaders: this.requestHeaders,
-            request: this.request,
-            headers,
-            response,
-            status,
-            trailers
-          };
-        });
+    Transform.prototype._read = function() {
+      if (this[kCallback]) {
+        const callback = this[kCallback];
+        this[kCallback] = null;
+        callback();
       }
     };
-    exports2.UnaryCall = UnaryCall;
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-streaming-call.js
-var require_server_streaming_call = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-streaming-call.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/passthrough.js
+var require_passthrough2 = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/passthrough.js"(exports2, module2) {
     "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve8) {
-          resolve8(value);
-        });
+    var { ObjectSetPrototypeOf } = require_primordials();
+    module2.exports = PassThrough;
+    var Transform = require_transform();
+    ObjectSetPrototypeOf(PassThrough.prototype, Transform.prototype);
+    ObjectSetPrototypeOf(PassThrough, Transform);
+    function PassThrough(options) {
+      if (!(this instanceof PassThrough)) return new PassThrough(options);
+      Transform.call(this, options);
+    }
+    PassThrough.prototype._transform = function(chunk, encoding, cb) {
+      cb(null, chunk);
+    };
+  }
+});
+
+// node_modules/readable-stream/lib/internal/streams/pipeline.js
+var require_pipeline4 = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/pipeline.js"(exports2, module2) {
+    var process2 = require_process();
+    var { ArrayIsArray, Promise: Promise2, SymbolAsyncIterator, SymbolDispose } = require_primordials();
+    var eos = require_end_of_stream();
+    var { once } = require_util21();
+    var destroyImpl = require_destroy2();
+    var Duplex = require_duplex();
+    var {
+      aggregateTwoErrors,
+      codes: {
+        ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,
+        ERR_INVALID_RETURN_VALUE,
+        ERR_MISSING_ARGS,
+        ERR_STREAM_DESTROYED,
+        ERR_STREAM_PREMATURE_CLOSE
+      },
+      AbortError
+    } = require_errors5();
+    var { validateFunction, validateAbortSignal } = require_validators();
+    var {
+      isIterable,
+      isReadable,
+      isReadableNodeStream,
+      isNodeStream,
+      isTransformStream,
+      isWebStream,
+      isReadableStream,
+      isReadableFinished
+    } = require_utils8();
+    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
+    var PassThrough;
+    var Readable2;
+    var addAbortListener;
+    function destroyer(stream2, reading, writing) {
+      let finished = false;
+      stream2.on("close", () => {
+        finished = true;
+      });
+      const cleanup = eos(
+        stream2,
+        {
+          readable: reading,
+          writable: writing
+        },
+        (err) => {
+          finished = !err;
+        }
+      );
+      return {
+        destroy: (err) => {
+          if (finished) return;
+          finished = true;
+          destroyImpl.destroyer(stream2, err || new ERR_STREAM_DESTROYED("pipe"));
+        },
+        cleanup
+      };
+    }
+    function popCallback(streams) {
+      validateFunction(streams[streams.length - 1], "streams[stream.length - 1]");
+      return streams.pop();
+    }
+    function makeAsyncIterable(val) {
+      if (isIterable(val)) {
+        return val;
+      } else if (isReadableNodeStream(val)) {
+        return fromReadable(val);
       }
-      return new (P || (P = Promise))(function(resolve8, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
+      throw new ERR_INVALID_ARG_TYPE2("val", ["Readable", "Iterable", "AsyncIterable"], val);
+    }
+    async function* fromReadable(val) {
+      if (!Readable2) {
+        Readable2 = require_readable4();
+      }
+      yield* Readable2.prototype[SymbolAsyncIterator].call(val);
+    }
+    async function pumpToNode(iterable, writable, finish, { end }) {
+      let error3;
+      let onresolve = null;
+      const resume = (err) => {
+        if (err) {
+          error3 = err;
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
+        if (onresolve) {
+          const callback = onresolve;
+          onresolve = null;
+          callback();
         }
-        function step(result) {
-          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+      };
+      const wait = () => new Promise2((resolve8, reject) => {
+        if (error3) {
+          reject(error3);
+        } else {
+          onresolve = () => {
+            if (error3) {
+              reject(error3);
+            } else {
+              resolve8();
+            }
+          };
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
       });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ServerStreamingCall = void 0;
-    var ServerStreamingCall = class {
-      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
-        this.method = method;
-        this.requestHeaders = requestHeaders;
-        this.request = request2;
-        this.headers = headers;
-        this.responses = response;
-        this.status = status;
-        this.trailers = trailers;
-      }
-      /**
-       * Instead of awaiting the response status and trailers, you can
-       * just as well await this call itself to receive the server outcome.
-       * You should first setup some listeners to the `request` to
-       * see the actual messages the server replied with.
-       */
-      then(onfulfilled, onrejected) {
-        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
-      }
-      promiseFinished() {
-        return __awaiter2(this, void 0, void 0, function* () {
-          let [headers, status, trailers] = yield Promise.all([this.headers, this.status, this.trailers]);
-          return {
-            method: this.method,
-            requestHeaders: this.requestHeaders,
-            request: this.request,
-            headers,
-            status,
-            trailers
-          };
-        });
+      writable.on("drain", resume);
+      const cleanup = eos(
+        writable,
+        {
+          readable: false
+        },
+        resume
+      );
+      try {
+        if (writable.writableNeedDrain) {
+          await wait();
+        }
+        for await (const chunk of iterable) {
+          if (!writable.write(chunk)) {
+            await wait();
+          }
+        }
+        if (end) {
+          writable.end();
+          await wait();
+        }
+        finish();
+      } catch (err) {
+        finish(error3 !== err ? aggregateTwoErrors(error3, err) : err);
+      } finally {
+        cleanup();
+        writable.off("drain", resume);
       }
-    };
-    exports2.ServerStreamingCall = ServerStreamingCall;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/client-streaming-call.js
-var require_client_streaming_call = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/client-streaming-call.js"(exports2) {
-    "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve8) {
-          resolve8(value);
-        });
+    }
+    async function pumpToWeb(readable, writable, finish, { end }) {
+      if (isTransformStream(writable)) {
+        writable = writable.writable;
       }
-      return new (P || (P = Promise))(function(resolve8, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
+      const writer = writable.getWriter();
+      try {
+        for await (const chunk of readable) {
+          await writer.ready;
+          writer.write(chunk).catch(() => {
+          });
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
+        await writer.ready;
+        if (end) {
+          await writer.close();
         }
-        function step(result) {
-          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+        finish();
+      } catch (err) {
+        try {
+          await writer.abort(err);
+          finish(err);
+        } catch (err2) {
+          finish(err2);
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ClientStreamingCall = void 0;
-    var ClientStreamingCall = class {
-      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
-        this.method = method;
-        this.requestHeaders = requestHeaders;
-        this.requests = request2;
-        this.headers = headers;
-        this.response = response;
-        this.status = status;
-        this.trailers = trailers;
       }
-      /**
-       * Instead of awaiting the response status and trailers, you can
-       * just as well await this call itself to receive the server outcome.
-       * Note that it may still be valid to send more request messages.
-       */
-      then(onfulfilled, onrejected) {
-        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
+    }
+    function pipeline(...streams) {
+      return pipelineImpl(streams, once(popCallback(streams)));
+    }
+    function pipelineImpl(streams, callback, opts) {
+      if (streams.length === 1 && ArrayIsArray(streams[0])) {
+        streams = streams[0];
       }
-      promiseFinished() {
-        return __awaiter2(this, void 0, void 0, function* () {
-          let [headers, response, status, trailers] = yield Promise.all([this.headers, this.response, this.status, this.trailers]);
-          return {
-            method: this.method,
-            requestHeaders: this.requestHeaders,
-            headers,
-            response,
-            status,
-            trailers
-          };
-        });
+      if (streams.length < 2) {
+        throw new ERR_MISSING_ARGS("streams");
       }
-    };
-    exports2.ClientStreamingCall = ClientStreamingCall;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/duplex-streaming-call.js
-var require_duplex_streaming_call = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/duplex-streaming-call.js"(exports2) {
-    "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve8) {
-          resolve8(value);
-        });
+      const ac = new AbortController2();
+      const signal = ac.signal;
+      const outerSignal = opts === null || opts === void 0 ? void 0 : opts.signal;
+      const lastStreamCleanup = [];
+      validateAbortSignal(outerSignal, "options.signal");
+      function abort() {
+        finishImpl(new AbortError());
       }
-      return new (P || (P = Promise))(function(resolve8, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
+      addAbortListener = addAbortListener || require_util21().addAbortListener;
+      let disposable;
+      if (outerSignal) {
+        disposable = addAbortListener(outerSignal, abort);
+      }
+      let error3;
+      let value;
+      const destroys = [];
+      let finishCount = 0;
+      function finish(err) {
+        finishImpl(err, --finishCount === 0);
+      }
+      function finishImpl(err, final) {
+        var _disposable;
+        if (err && (!error3 || error3.code === "ERR_STREAM_PREMATURE_CLOSE")) {
+          error3 = err;
+        }
+        if (!error3 && !final) {
+          return;
+        }
+        while (destroys.length) {
+          destroys.shift()(error3);
+        }
+        ;
+        (_disposable = disposable) === null || _disposable === void 0 ? void 0 : _disposable[SymbolDispose]();
+        ac.abort();
+        if (final) {
+          if (!error3) {
+            lastStreamCleanup.forEach((fn) => fn());
           }
+          process2.nextTick(callback, error3, value);
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
+      }
+      let ret;
+      for (let i = 0; i < streams.length; i++) {
+        const stream2 = streams[i];
+        const reading = i < streams.length - 1;
+        const writing = i > 0;
+        const end = reading || (opts === null || opts === void 0 ? void 0 : opts.end) !== false;
+        const isLastStream = i === streams.length - 1;
+        if (isNodeStream(stream2)) {
+          let onError2 = function(err) {
+            if (err && err.name !== "AbortError" && err.code !== "ERR_STREAM_PREMATURE_CLOSE") {
+              finish(err);
+            }
+          };
+          var onError = onError2;
+          if (end) {
+            const { destroy, cleanup } = destroyer(stream2, reading, writing);
+            destroys.push(destroy);
+            if (isReadable(stream2) && isLastStream) {
+              lastStreamCleanup.push(cleanup);
+            }
+          }
+          stream2.on("error", onError2);
+          if (isReadable(stream2) && isLastStream) {
+            lastStreamCleanup.push(() => {
+              stream2.removeListener("error", onError2);
+            });
+          }
+        }
+        if (i === 0) {
+          if (typeof stream2 === "function") {
+            ret = stream2({
+              signal
+            });
+            if (!isIterable(ret)) {
+              throw new ERR_INVALID_RETURN_VALUE("Iterable, AsyncIterable or Stream", "source", ret);
+            }
+          } else if (isIterable(stream2) || isReadableNodeStream(stream2) || isTransformStream(stream2)) {
+            ret = stream2;
+          } else {
+            ret = Duplex.from(stream2);
+          }
+        } else if (typeof stream2 === "function") {
+          if (isTransformStream(ret)) {
+            var _ret;
+            ret = makeAsyncIterable((_ret = ret) === null || _ret === void 0 ? void 0 : _ret.readable);
+          } else {
+            ret = makeAsyncIterable(ret);
+          }
+          ret = stream2(ret, {
+            signal
+          });
+          if (reading) {
+            if (!isIterable(ret, true)) {
+              throw new ERR_INVALID_RETURN_VALUE("AsyncIterable", `transform[${i - 1}]`, ret);
+            }
+          } else {
+            var _ret2;
+            if (!PassThrough) {
+              PassThrough = require_passthrough2();
+            }
+            const pt = new PassThrough({
+              objectMode: true
+            });
+            const then = (_ret2 = ret) === null || _ret2 === void 0 ? void 0 : _ret2.then;
+            if (typeof then === "function") {
+              finishCount++;
+              then.call(
+                ret,
+                (val) => {
+                  value = val;
+                  if (val != null) {
+                    pt.write(val);
+                  }
+                  if (end) {
+                    pt.end();
+                  }
+                  process2.nextTick(finish);
+                },
+                (err) => {
+                  pt.destroy(err);
+                  process2.nextTick(finish, err);
+                }
+              );
+            } else if (isIterable(ret, true)) {
+              finishCount++;
+              pumpToNode(ret, pt, finish, {
+                end
+              });
+            } else if (isReadableStream(ret) || isTransformStream(ret)) {
+              const toRead = ret.readable || ret;
+              finishCount++;
+              pumpToNode(toRead, pt, finish, {
+                end
+              });
+            } else {
+              throw new ERR_INVALID_RETURN_VALUE("AsyncIterable or Promise", "destination", ret);
+            }
+            ret = pt;
+            const { destroy, cleanup } = destroyer(ret, false, true);
+            destroys.push(destroy);
+            if (isLastStream) {
+              lastStreamCleanup.push(cleanup);
+            }
+          }
+        } else if (isNodeStream(stream2)) {
+          if (isReadableNodeStream(ret)) {
+            finishCount += 2;
+            const cleanup = pipe(ret, stream2, finish, {
+              end
+            });
+            if (isReadable(stream2) && isLastStream) {
+              lastStreamCleanup.push(cleanup);
+            }
+          } else if (isTransformStream(ret) || isReadableStream(ret)) {
+            const toRead = ret.readable || ret;
+            finishCount++;
+            pumpToNode(toRead, stream2, finish, {
+              end
+            });
+          } else if (isIterable(ret)) {
+            finishCount++;
+            pumpToNode(ret, stream2, finish, {
+              end
+            });
+          } else {
+            throw new ERR_INVALID_ARG_TYPE2(
+              "val",
+              ["Readable", "Iterable", "AsyncIterable", "ReadableStream", "TransformStream"],
+              ret
+            );
+          }
+          ret = stream2;
+        } else if (isWebStream(stream2)) {
+          if (isReadableNodeStream(ret)) {
+            finishCount++;
+            pumpToWeb(makeAsyncIterable(ret), stream2, finish, {
+              end
+            });
+          } else if (isReadableStream(ret) || isIterable(ret)) {
+            finishCount++;
+            pumpToWeb(ret, stream2, finish, {
+              end
+            });
+          } else if (isTransformStream(ret)) {
+            finishCount++;
+            pumpToWeb(ret.readable, stream2, finish, {
+              end
+            });
+          } else {
+            throw new ERR_INVALID_ARG_TYPE2(
+              "val",
+              ["Readable", "Iterable", "AsyncIterable", "ReadableStream", "TransformStream"],
+              ret
+            );
           }
+          ret = stream2;
+        } else {
+          ret = Duplex.from(stream2);
         }
-        function step(result) {
-          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.DuplexStreamingCall = void 0;
-    var DuplexStreamingCall = class {
-      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
-        this.method = method;
-        this.requestHeaders = requestHeaders;
-        this.requests = request2;
-        this.headers = headers;
-        this.responses = response;
-        this.status = status;
-        this.trailers = trailers;
       }
-      /**
-       * Instead of awaiting the response status and trailers, you can
-       * just as well await this call itself to receive the server outcome.
-       * Note that it may still be valid to send more request messages.
-       */
-      then(onfulfilled, onrejected) {
-        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
+      if (signal !== null && signal !== void 0 && signal.aborted || outerSignal !== null && outerSignal !== void 0 && outerSignal.aborted) {
+        process2.nextTick(abort);
       }
-      promiseFinished() {
-        return __awaiter2(this, void 0, void 0, function* () {
-          let [headers, status, trailers] = yield Promise.all([this.headers, this.status, this.trailers]);
-          return {
-            method: this.method,
-            requestHeaders: this.requestHeaders,
-            headers,
-            status,
-            trailers
-          };
-        });
+      return ret;
+    }
+    function pipe(src, dst, finish, { end }) {
+      let ended = false;
+      dst.on("close", () => {
+        if (!ended) {
+          finish(new ERR_STREAM_PREMATURE_CLOSE());
+        }
+      });
+      src.pipe(dst, {
+        end: false
+      });
+      if (end) {
+        let endFn2 = function() {
+          ended = true;
+          dst.end();
+        };
+        var endFn = endFn2;
+        if (isReadableFinished(src)) {
+          process2.nextTick(endFn2);
+        } else {
+          src.once("end", endFn2);
+        }
+      } else {
+        finish();
       }
+      eos(
+        src,
+        {
+          readable: true,
+          writable: false
+        },
+        (err) => {
+          const rState = src._readableState;
+          if (err && err.code === "ERR_STREAM_PREMATURE_CLOSE" && rState && rState.ended && !rState.errored && !rState.errorEmitted) {
+            src.once("end", finish).once("error", finish);
+          } else {
+            finish(err);
+          }
+        }
+      );
+      return eos(
+        dst,
+        {
+          readable: false,
+          writable: true
+        },
+        finish
+      );
+    }
+    module2.exports = {
+      pipelineImpl,
+      pipeline
     };
-    exports2.DuplexStreamingCall = DuplexStreamingCall;
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/test-transport.js
-var require_test_transport = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/test-transport.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/compose.js
+var require_compose = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/compose.js"(exports2, module2) {
     "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve8) {
-          resolve8(value);
-        });
-      }
-      return new (P || (P = Promise))(function(resolve8, 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 ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.TestTransport = void 0;
-    var rpc_error_1 = require_rpc_error();
-    var runtime_1 = require_commonjs16();
-    var rpc_output_stream_1 = require_rpc_output_stream();
-    var rpc_options_1 = require_rpc_options();
-    var unary_call_1 = require_unary_call();
-    var server_streaming_call_1 = require_server_streaming_call();
-    var client_streaming_call_1 = require_client_streaming_call();
-    var duplex_streaming_call_1 = require_duplex_streaming_call();
-    var TestTransport = class _TestTransport {
-      /**
-       * Initialize with mock data. Omitted fields have default value.
-       */
-      constructor(data) {
-        this.suppressUncaughtRejections = true;
-        this.headerDelay = 10;
-        this.responseDelay = 50;
-        this.betweenResponseDelay = 10;
-        this.afterResponseDelay = 10;
-        this.data = data !== null && data !== void 0 ? data : {};
+    var { pipeline } = require_pipeline4();
+    var Duplex = require_duplex();
+    var { destroyer } = require_destroy2();
+    var {
+      isNodeStream,
+      isReadable,
+      isWritable,
+      isWebStream,
+      isTransformStream,
+      isWritableStream,
+      isReadableStream
+    } = require_utils8();
+    var {
+      AbortError,
+      codes: { ERR_INVALID_ARG_VALUE, ERR_MISSING_ARGS }
+    } = require_errors5();
+    var eos = require_end_of_stream();
+    module2.exports = function compose(...streams) {
+      if (streams.length === 0) {
+        throw new ERR_MISSING_ARGS("streams");
       }
-      /**
-       * Sent message(s) during the last operation.
-       */
-      get sentMessages() {
-        if (this.lastInput instanceof TestInputStream) {
-          return this.lastInput.sent;
-        } else if (typeof this.lastInput == "object") {
-          return [this.lastInput.single];
-        }
-        return [];
+      if (streams.length === 1) {
+        return Duplex.from(streams[0]);
       }
-      /**
-       * Sending message(s) completed?
-       */
-      get sendComplete() {
-        if (this.lastInput instanceof TestInputStream) {
-          return this.lastInput.completed;
-        } else if (typeof this.lastInput == "object") {
-          return true;
-        }
-        return false;
+      const orgStreams = [...streams];
+      if (typeof streams[0] === "function") {
+        streams[0] = Duplex.from(streams[0]);
       }
-      // Creates a promise for response headers from the mock data.
-      promiseHeaders() {
-        var _a;
-        const headers = (_a = this.data.headers) !== null && _a !== void 0 ? _a : _TestTransport.defaultHeaders;
-        return headers instanceof rpc_error_1.RpcError ? Promise.reject(headers) : Promise.resolve(headers);
+      if (typeof streams[streams.length - 1] === "function") {
+        const idx = streams.length - 1;
+        streams[idx] = Duplex.from(streams[idx]);
       }
-      // Creates a promise for a single, valid, message from the mock data.
-      promiseSingleResponse(method) {
-        if (this.data.response instanceof rpc_error_1.RpcError) {
-          return Promise.reject(this.data.response);
+      for (let n = 0; n < streams.length; ++n) {
+        if (!isNodeStream(streams[n]) && !isWebStream(streams[n])) {
+          continue;
         }
-        let r;
-        if (Array.isArray(this.data.response)) {
-          runtime_1.assert(this.data.response.length > 0);
-          r = this.data.response[0];
-        } else if (this.data.response !== void 0) {
-          r = this.data.response;
-        } else {
-          r = method.O.create();
+        if (n < streams.length - 1 && !(isReadable(streams[n]) || isReadableStream(streams[n]) || isTransformStream(streams[n]))) {
+          throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`, orgStreams[n], "must be readable");
+        }
+        if (n > 0 && !(isWritable(streams[n]) || isWritableStream(streams[n]) || isTransformStream(streams[n]))) {
+          throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`, orgStreams[n], "must be writable");
         }
-        runtime_1.assert(method.O.is(r));
-        return Promise.resolve(r);
       }
-      /**
-       * Pushes response messages from the mock data to the output stream.
-       * If an error response, status or trailers are mocked, the stream is
-       * closed with the respective error.
-       * Otherwise, stream is completed successfully.
-       *
-       * The returned promise resolves when the stream is closed. It should
-       * not reject. If it does, code is broken.
-       */
-      streamResponses(method, stream2, abort) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          const messages = [];
-          if (this.data.response === void 0) {
-            messages.push(method.O.create());
-          } else if (Array.isArray(this.data.response)) {
-            for (let msg of this.data.response) {
-              runtime_1.assert(method.O.is(msg));
-              messages.push(msg);
+      let ondrain;
+      let onfinish;
+      let onreadable;
+      let onclose;
+      let d;
+      function onfinished(err) {
+        const cb = onclose;
+        onclose = null;
+        if (cb) {
+          cb(err);
+        } else if (err) {
+          d.destroy(err);
+        } else if (!readable && !writable) {
+          d.destroy();
+        }
+      }
+      const head = streams[0];
+      const tail = pipeline(streams, onfinished);
+      const writable = !!(isWritable(head) || isWritableStream(head) || isTransformStream(head));
+      const readable = !!(isReadable(tail) || isReadableStream(tail) || isTransformStream(tail));
+      d = new Duplex({
+        // TODO (ronag): highWaterMark?
+        writableObjectMode: !!(head !== null && head !== void 0 && head.writableObjectMode),
+        readableObjectMode: !!(tail !== null && tail !== void 0 && tail.readableObjectMode),
+        writable,
+        readable
+      });
+      if (writable) {
+        if (isNodeStream(head)) {
+          d._write = function(chunk, encoding, callback) {
+            if (head.write(chunk, encoding)) {
+              callback();
+            } else {
+              ondrain = callback;
             }
-          } else if (!(this.data.response instanceof rpc_error_1.RpcError)) {
-            runtime_1.assert(method.O.is(this.data.response));
-            messages.push(this.data.response);
-          }
-          try {
-            yield delay2(this.responseDelay, abort)(void 0);
-          } catch (error3) {
-            stream2.notifyError(error3);
-            return;
-          }
-          if (this.data.response instanceof rpc_error_1.RpcError) {
-            stream2.notifyError(this.data.response);
-            return;
-          }
-          for (let msg of messages) {
-            stream2.notifyMessage(msg);
+          };
+          d._final = function(callback) {
+            head.end();
+            onfinish = callback;
+          };
+          head.on("drain", function() {
+            if (ondrain) {
+              const cb = ondrain;
+              ondrain = null;
+              cb();
+            }
+          });
+        } else if (isWebStream(head)) {
+          const writable2 = isTransformStream(head) ? head.writable : head;
+          const writer = writable2.getWriter();
+          d._write = async function(chunk, encoding, callback) {
             try {
-              yield delay2(this.betweenResponseDelay, abort)(void 0);
-            } catch (error3) {
-              stream2.notifyError(error3);
-              return;
+              await writer.ready;
+              writer.write(chunk).catch(() => {
+              });
+              callback();
+            } catch (err) {
+              callback(err);
             }
+          };
+          d._final = async function(callback) {
+            try {
+              await writer.ready;
+              writer.close().catch(() => {
+              });
+              onfinish = callback;
+            } catch (err) {
+              callback(err);
+            }
+          };
+        }
+        const toRead = isTransformStream(tail) ? tail.readable : tail;
+        eos(toRead, () => {
+          if (onfinish) {
+            const cb = onfinish;
+            onfinish = null;
+            cb();
           }
-          if (this.data.status instanceof rpc_error_1.RpcError) {
-            stream2.notifyError(this.data.status);
-            return;
-          }
-          if (this.data.trailers instanceof rpc_error_1.RpcError) {
-            stream2.notifyError(this.data.trailers);
-            return;
-          }
-          stream2.notifyComplete();
         });
       }
-      // Creates a promise for response status from the mock data.
-      promiseStatus() {
-        var _a;
-        const status = (_a = this.data.status) !== null && _a !== void 0 ? _a : _TestTransport.defaultStatus;
-        return status instanceof rpc_error_1.RpcError ? Promise.reject(status) : Promise.resolve(status);
-      }
-      // Creates a promise for response trailers from the mock data.
-      promiseTrailers() {
-        var _a;
-        const trailers = (_a = this.data.trailers) !== null && _a !== void 0 ? _a : _TestTransport.defaultTrailers;
-        return trailers instanceof rpc_error_1.RpcError ? Promise.reject(trailers) : Promise.resolve(trailers);
-      }
-      maybeSuppressUncaught(...promise) {
-        if (this.suppressUncaughtRejections) {
-          for (let p of promise) {
-            p.catch(() => {
-            });
-          }
+      if (readable) {
+        if (isNodeStream(tail)) {
+          tail.on("readable", function() {
+            if (onreadable) {
+              const cb = onreadable;
+              onreadable = null;
+              cb();
+            }
+          });
+          tail.on("end", function() {
+            d.push(null);
+          });
+          d._read = function() {
+            while (true) {
+              const buf = tail.read();
+              if (buf === null) {
+                onreadable = d._read;
+                return;
+              }
+              if (!d.push(buf)) {
+                return;
+              }
+            }
+          };
+        } else if (isWebStream(tail)) {
+          const readable2 = isTransformStream(tail) ? tail.readable : tail;
+          const reader = readable2.getReader();
+          d._read = async function() {
+            while (true) {
+              try {
+                const { value, done } = await reader.read();
+                if (!d.push(value)) {
+                  return;
+                }
+                if (done) {
+                  d.push(null);
+                  return;
+                }
+              } catch {
+                return;
+              }
+            }
+          };
         }
       }
-      mergeOptions(options) {
-        return rpc_options_1.mergeRpcOptions({}, options);
-      }
-      unary(method, input, options) {
-        var _a;
-        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay2(this.headerDelay, options.abort)), responsePromise = headersPromise.catch((_2) => {
-        }).then(delay2(this.responseDelay, options.abort)).then((_2) => this.promiseSingleResponse(method)), statusPromise = responsePromise.catch((_2) => {
-        }).then(delay2(this.afterResponseDelay, options.abort)).then((_2) => this.promiseStatus()), trailersPromise = responsePromise.catch((_2) => {
-        }).then(delay2(this.afterResponseDelay, options.abort)).then((_2) => this.promiseTrailers());
-        this.maybeSuppressUncaught(statusPromise, trailersPromise);
-        this.lastInput = { single: input };
-        return new unary_call_1.UnaryCall(method, requestHeaders, input, headersPromise, responsePromise, statusPromise, trailersPromise);
-      }
-      serverStreaming(method, input, options) {
-        var _a;
-        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay2(this.headerDelay, options.abort)), outputStream = new rpc_output_stream_1.RpcOutputStreamController(), responseStreamClosedPromise = headersPromise.then(delay2(this.responseDelay, options.abort)).catch(() => {
-        }).then(() => this.streamResponses(method, outputStream, options.abort)).then(delay2(this.afterResponseDelay, options.abort)), statusPromise = responseStreamClosedPromise.then(() => this.promiseStatus()), trailersPromise = responseStreamClosedPromise.then(() => this.promiseTrailers());
-        this.maybeSuppressUncaught(statusPromise, trailersPromise);
-        this.lastInput = { single: input };
-        return new server_streaming_call_1.ServerStreamingCall(method, requestHeaders, input, headersPromise, outputStream, statusPromise, trailersPromise);
-      }
-      clientStreaming(method, options) {
-        var _a;
-        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay2(this.headerDelay, options.abort)), responsePromise = headersPromise.catch((_2) => {
-        }).then(delay2(this.responseDelay, options.abort)).then((_2) => this.promiseSingleResponse(method)), statusPromise = responsePromise.catch((_2) => {
-        }).then(delay2(this.afterResponseDelay, options.abort)).then((_2) => this.promiseStatus()), trailersPromise = responsePromise.catch((_2) => {
-        }).then(delay2(this.afterResponseDelay, options.abort)).then((_2) => this.promiseTrailers());
-        this.maybeSuppressUncaught(statusPromise, trailersPromise);
-        this.lastInput = new TestInputStream(this.data, options.abort);
-        return new client_streaming_call_1.ClientStreamingCall(method, requestHeaders, this.lastInput, headersPromise, responsePromise, statusPromise, trailersPromise);
-      }
-      duplex(method, options) {
-        var _a;
-        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay2(this.headerDelay, options.abort)), outputStream = new rpc_output_stream_1.RpcOutputStreamController(), responseStreamClosedPromise = headersPromise.then(delay2(this.responseDelay, options.abort)).catch(() => {
-        }).then(() => this.streamResponses(method, outputStream, options.abort)).then(delay2(this.afterResponseDelay, options.abort)), statusPromise = responseStreamClosedPromise.then(() => this.promiseStatus()), trailersPromise = responseStreamClosedPromise.then(() => this.promiseTrailers());
-        this.maybeSuppressUncaught(statusPromise, trailersPromise);
-        this.lastInput = new TestInputStream(this.data, options.abort);
-        return new duplex_streaming_call_1.DuplexStreamingCall(method, requestHeaders, this.lastInput, headersPromise, outputStream, statusPromise, trailersPromise);
-      }
-    };
-    exports2.TestTransport = TestTransport;
-    TestTransport.defaultHeaders = {
-      responseHeader: "test"
-    };
-    TestTransport.defaultStatus = {
-      code: "OK",
-      detail: "all good"
-    };
-    TestTransport.defaultTrailers = {
-      responseTrailer: "test"
-    };
-    function delay2(ms, abort) {
-      return (v) => new Promise((resolve8, reject) => {
-        if (abort === null || abort === void 0 ? void 0 : abort.aborted) {
-          reject(new rpc_error_1.RpcError("user cancel", "CANCELLED"));
+      d._destroy = function(err, callback) {
+        if (!err && onclose !== null) {
+          err = new AbortError();
+        }
+        onreadable = null;
+        ondrain = null;
+        onfinish = null;
+        if (onclose === null) {
+          callback(err);
         } else {
-          const id = setTimeout(() => resolve8(v), ms);
-          if (abort) {
-            abort.addEventListener("abort", (ev) => {
-              clearTimeout(id);
-              reject(new rpc_error_1.RpcError("user cancel", "CANCELLED"));
-            });
+          onclose = callback;
+          if (isNodeStream(tail)) {
+            destroyer(tail, err);
           }
         }
-      });
-    }
-    var TestInputStream = class {
-      constructor(data, abort) {
-        this._completed = false;
-        this._sent = [];
-        this.data = data;
-        this.abort = abort;
-      }
-      get sent() {
-        return this._sent;
-      }
-      get completed() {
-        return this._completed;
-      }
-      send(message) {
-        if (this.data.inputMessage instanceof rpc_error_1.RpcError) {
-          return Promise.reject(this.data.inputMessage);
-        }
-        const delayMs = this.data.inputMessage === void 0 ? 10 : this.data.inputMessage;
-        return Promise.resolve(void 0).then(() => {
-          this._sent.push(message);
-        }).then(delay2(delayMs, this.abort));
-      }
-      complete() {
-        if (this.data.inputComplete instanceof rpc_error_1.RpcError) {
-          return Promise.reject(this.data.inputComplete);
-        }
-        const delayMs = this.data.inputComplete === void 0 ? 10 : this.data.inputComplete;
-        return Promise.resolve(void 0).then(() => {
-          this._completed = true;
-        }).then(delay2(delayMs, this.abort));
-      }
+      };
+      return d;
     };
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-interceptor.js
-var require_rpc_interceptor = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-interceptor.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/operators.js
+var require_operators = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/operators.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.stackDuplexStreamingInterceptors = exports2.stackClientStreamingInterceptors = exports2.stackServerStreamingInterceptors = exports2.stackUnaryInterceptors = exports2.stackIntercept = void 0;
-    var runtime_1 = require_commonjs16();
-    function stackIntercept(kind, transport, method, options, input) {
-      var _a, _b, _c, _d;
-      if (kind == "unary") {
-        let tail = (mtd, inp, opt) => transport.unary(mtd, inp, opt);
-        for (const curr of ((_a = options.interceptors) !== null && _a !== void 0 ? _a : []).filter((i) => i.interceptUnary).reverse()) {
-          const next = tail;
-          tail = (mtd, inp, opt) => curr.interceptUnary(next, mtd, inp, opt);
-        }
-        return tail(method, input, options);
+    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
+    var {
+      codes: { ERR_INVALID_ARG_VALUE, ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_MISSING_ARGS, ERR_OUT_OF_RANGE },
+      AbortError
+    } = require_errors5();
+    var { validateAbortSignal, validateInteger, validateObject } = require_validators();
+    var kWeakHandler = require_primordials().Symbol("kWeak");
+    var kResistStopPropagation = require_primordials().Symbol("kResistStopPropagation");
+    var { finished } = require_end_of_stream();
+    var staticCompose = require_compose();
+    var { addAbortSignalNoValidate } = require_add_abort_signal();
+    var { isWritable, isNodeStream } = require_utils8();
+    var { deprecate } = require_util21();
+    var {
+      ArrayPrototypePush,
+      Boolean: Boolean2,
+      MathFloor,
+      Number: Number2,
+      NumberIsNaN,
+      Promise: Promise2,
+      PromiseReject,
+      PromiseResolve,
+      PromisePrototypeThen,
+      Symbol: Symbol2
+    } = require_primordials();
+    var kEmpty = Symbol2("kEmpty");
+    var kEof = Symbol2("kEof");
+    function compose(stream2, options) {
+      if (options != null) {
+        validateObject(options, "options");
       }
-      if (kind == "serverStreaming") {
-        let tail = (mtd, inp, opt) => transport.serverStreaming(mtd, inp, opt);
-        for (const curr of ((_b = options.interceptors) !== null && _b !== void 0 ? _b : []).filter((i) => i.interceptServerStreaming).reverse()) {
-          const next = tail;
-          tail = (mtd, inp, opt) => curr.interceptServerStreaming(next, mtd, inp, opt);
-        }
-        return tail(method, input, options);
+      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
+        validateAbortSignal(options.signal, "options.signal");
       }
-      if (kind == "clientStreaming") {
-        let tail = (mtd, opt) => transport.clientStreaming(mtd, opt);
-        for (const curr of ((_c = options.interceptors) !== null && _c !== void 0 ? _c : []).filter((i) => i.interceptClientStreaming).reverse()) {
-          const next = tail;
-          tail = (mtd, opt) => curr.interceptClientStreaming(next, mtd, opt);
-        }
-        return tail(method, options);
+      if (isNodeStream(stream2) && !isWritable(stream2)) {
+        throw new ERR_INVALID_ARG_VALUE("stream", stream2, "must be writable");
       }
-      if (kind == "duplex") {
-        let tail = (mtd, opt) => transport.duplex(mtd, opt);
-        for (const curr of ((_d = options.interceptors) !== null && _d !== void 0 ? _d : []).filter((i) => i.interceptDuplex).reverse()) {
-          const next = tail;
-          tail = (mtd, opt) => curr.interceptDuplex(next, mtd, opt);
-        }
-        return tail(method, options);
+      const composedStream = staticCompose(this, stream2);
+      if (options !== null && options !== void 0 && options.signal) {
+        addAbortSignalNoValidate(options.signal, composedStream);
       }
-      runtime_1.assertNever(kind);
-    }
-    exports2.stackIntercept = stackIntercept;
-    function stackUnaryInterceptors(transport, method, input, options) {
-      return stackIntercept("unary", transport, method, options, input);
-    }
-    exports2.stackUnaryInterceptors = stackUnaryInterceptors;
-    function stackServerStreamingInterceptors(transport, method, input, options) {
-      return stackIntercept("serverStreaming", transport, method, options, input);
-    }
-    exports2.stackServerStreamingInterceptors = stackServerStreamingInterceptors;
-    function stackClientStreamingInterceptors(transport, method, options) {
-      return stackIntercept("clientStreaming", transport, method, options);
-    }
-    exports2.stackClientStreamingInterceptors = stackClientStreamingInterceptors;
-    function stackDuplexStreamingInterceptors(transport, method, options) {
-      return stackIntercept("duplex", transport, method, options);
+      return composedStream;
     }
-    exports2.stackDuplexStreamingInterceptors = stackDuplexStreamingInterceptors;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-call-context.js
-var require_server_call_context = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-call-context.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ServerCallContextController = void 0;
-    var ServerCallContextController = class {
-      constructor(method, headers, deadline, sendResponseHeadersFn, defaultStatus = { code: "OK", detail: "" }) {
-        this._cancelled = false;
-        this._listeners = [];
-        this.method = method;
-        this.headers = headers;
-        this.deadline = deadline;
-        this.trailers = {};
-        this._sendRH = sendResponseHeadersFn;
-        this.status = defaultStatus;
-      }
-      /**
-       * Set the call cancelled.
-       *
-       * Invokes all callbacks registered with onCancel() and
-       * sets `cancelled = true`.
-       */
-      notifyCancelled() {
-        if (!this._cancelled) {
-          this._cancelled = true;
-          for (let l of this._listeners) {
-            l();
-          }
-        }
-      }
-      /**
-       * Send response headers.
-       */
-      sendResponseHeaders(data) {
-        this._sendRH(data);
+    function map2(fn, options) {
+      if (typeof fn !== "function") {
+        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
       }
-      /**
-       * Is the call cancelled?
-       *
-       * When the client closes the connection before the server
-       * is done, the call is cancelled.
-       *
-       * If you want to cancel a request on the server, throw a
-       * RpcError with the CANCELLED status code.
-       */
-      get cancelled() {
-        return this._cancelled;
+      if (options != null) {
+        validateObject(options, "options");
       }
-      /**
-       * Add a callback for cancellation.
-       */
-      onCancel(callback) {
-        const l = this._listeners;
-        l.push(callback);
-        return () => {
-          let i = l.indexOf(callback);
-          if (i >= 0)
-            l.splice(i, 1);
-        };
+      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
+        validateAbortSignal(options.signal, "options.signal");
       }
-    };
-    exports2.ServerCallContextController = ServerCallContextController;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/index.js
-var require_commonjs17 = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    var service_type_1 = require_service_type();
-    Object.defineProperty(exports2, "ServiceType", { enumerable: true, get: function() {
-      return service_type_1.ServiceType;
-    } });
-    var reflection_info_1 = require_reflection_info2();
-    Object.defineProperty(exports2, "readMethodOptions", { enumerable: true, get: function() {
-      return reflection_info_1.readMethodOptions;
-    } });
-    Object.defineProperty(exports2, "readMethodOption", { enumerable: true, get: function() {
-      return reflection_info_1.readMethodOption;
-    } });
-    Object.defineProperty(exports2, "readServiceOption", { enumerable: true, get: function() {
-      return reflection_info_1.readServiceOption;
-    } });
-    var rpc_error_1 = require_rpc_error();
-    Object.defineProperty(exports2, "RpcError", { enumerable: true, get: function() {
-      return rpc_error_1.RpcError;
-    } });
-    var rpc_options_1 = require_rpc_options();
-    Object.defineProperty(exports2, "mergeRpcOptions", { enumerable: true, get: function() {
-      return rpc_options_1.mergeRpcOptions;
-    } });
-    var rpc_output_stream_1 = require_rpc_output_stream();
-    Object.defineProperty(exports2, "RpcOutputStreamController", { enumerable: true, get: function() {
-      return rpc_output_stream_1.RpcOutputStreamController;
-    } });
-    var test_transport_1 = require_test_transport();
-    Object.defineProperty(exports2, "TestTransport", { enumerable: true, get: function() {
-      return test_transport_1.TestTransport;
-    } });
-    var deferred_1 = require_deferred();
-    Object.defineProperty(exports2, "Deferred", { enumerable: true, get: function() {
-      return deferred_1.Deferred;
-    } });
-    Object.defineProperty(exports2, "DeferredState", { enumerable: true, get: function() {
-      return deferred_1.DeferredState;
-    } });
-    var duplex_streaming_call_1 = require_duplex_streaming_call();
-    Object.defineProperty(exports2, "DuplexStreamingCall", { enumerable: true, get: function() {
-      return duplex_streaming_call_1.DuplexStreamingCall;
-    } });
-    var client_streaming_call_1 = require_client_streaming_call();
-    Object.defineProperty(exports2, "ClientStreamingCall", { enumerable: true, get: function() {
-      return client_streaming_call_1.ClientStreamingCall;
-    } });
-    var server_streaming_call_1 = require_server_streaming_call();
-    Object.defineProperty(exports2, "ServerStreamingCall", { enumerable: true, get: function() {
-      return server_streaming_call_1.ServerStreamingCall;
-    } });
-    var unary_call_1 = require_unary_call();
-    Object.defineProperty(exports2, "UnaryCall", { enumerable: true, get: function() {
-      return unary_call_1.UnaryCall;
-    } });
-    var rpc_interceptor_1 = require_rpc_interceptor();
-    Object.defineProperty(exports2, "stackIntercept", { enumerable: true, get: function() {
-      return rpc_interceptor_1.stackIntercept;
-    } });
-    Object.defineProperty(exports2, "stackDuplexStreamingInterceptors", { enumerable: true, get: function() {
-      return rpc_interceptor_1.stackDuplexStreamingInterceptors;
-    } });
-    Object.defineProperty(exports2, "stackClientStreamingInterceptors", { enumerable: true, get: function() {
-      return rpc_interceptor_1.stackClientStreamingInterceptors;
-    } });
-    Object.defineProperty(exports2, "stackServerStreamingInterceptors", { enumerable: true, get: function() {
-      return rpc_interceptor_1.stackServerStreamingInterceptors;
-    } });
-    Object.defineProperty(exports2, "stackUnaryInterceptors", { enumerable: true, get: function() {
-      return rpc_interceptor_1.stackUnaryInterceptors;
-    } });
-    var server_call_context_1 = require_server_call_context();
-    Object.defineProperty(exports2, "ServerCallContextController", { enumerable: true, get: function() {
-      return server_call_context_1.ServerCallContextController;
-    } });
-  }
-});
-
-// node_modules/@actions/cache/lib/generated/results/entities/v1/cachescope.js
-var require_cachescope = __commonJS({
-  "node_modules/@actions/cache/lib/generated/results/entities/v1/cachescope.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.CacheScope = void 0;
-    var runtime_1 = require_commonjs16();
-    var runtime_2 = require_commonjs16();
-    var runtime_3 = require_commonjs16();
-    var runtime_4 = require_commonjs16();
-    var runtime_5 = require_commonjs16();
-    var CacheScope$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.entities.v1.CacheScope", [
-          {
-            no: 1,
-            name: "scope",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "permission",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          }
-        ]);
+      let concurrency = 1;
+      if ((options === null || options === void 0 ? void 0 : options.concurrency) != null) {
+        concurrency = MathFloor(options.concurrency);
       }
-      create(value) {
-        const message = { scope: "", permission: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      let highWaterMark = concurrency - 1;
+      if ((options === null || options === void 0 ? void 0 : options.highWaterMark) != null) {
+        highWaterMark = MathFloor(options.highWaterMark);
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string scope */
-            1:
-              message.scope = reader.string();
-              break;
-            case /* int64 permission */
-            2:
-              message.permission = reader.int64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      validateInteger(concurrency, "options.concurrency", 1);
+      validateInteger(highWaterMark, "options.highWaterMark", 0);
+      highWaterMark += concurrency;
+      return async function* map3() {
+        const signal = require_util21().AbortSignalAny(
+          [options === null || options === void 0 ? void 0 : options.signal].filter(Boolean2)
+        );
+        const stream2 = this;
+        const queue = [];
+        const signalOpt = {
+          signal
+        };
+        let next;
+        let resume;
+        let done = false;
+        let cnt = 0;
+        function onCatch() {
+          done = true;
+          afterItemProcessed();
+        }
+        function afterItemProcessed() {
+          cnt -= 1;
+          maybeResume();
+        }
+        function maybeResume() {
+          if (resume && !done && cnt < concurrency && queue.length < highWaterMark) {
+            resume();
+            resume = null;
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.scope !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.scope);
-        if (message.permission !== "0")
-          writer.tag(2, runtime_1.WireType.Varint).int64(message.permission);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.CacheScope = new CacheScope$Type();
-  }
-});
-
-// node_modules/@actions/cache/lib/generated/results/entities/v1/cachemetadata.js
-var require_cachemetadata = __commonJS({
-  "node_modules/@actions/cache/lib/generated/results/entities/v1/cachemetadata.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.CacheMetadata = void 0;
-    var runtime_1 = require_commonjs16();
-    var runtime_2 = require_commonjs16();
-    var runtime_3 = require_commonjs16();
-    var runtime_4 = require_commonjs16();
-    var runtime_5 = require_commonjs16();
-    var cachescope_1 = require_cachescope();
-    var CacheMetadata$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.entities.v1.CacheMetadata", [
-          {
-            no: 1,
-            name: "repository_id",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          },
-          { no: 2, name: "scope", kind: "message", repeat: 1, T: () => cachescope_1.CacheScope }
-        ]);
-      }
-      create(value) {
-        const message = { repositoryId: "0", scope: [] };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* int64 repository_id */
-            1:
-              message.repositoryId = reader.int64().toString();
-              break;
-            case /* repeated github.actions.results.entities.v1.CacheScope scope */
-            2:
-              message.scope.push(cachescope_1.CacheScope.internalBinaryRead(reader, reader.uint32(), options));
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+        async function pump() {
+          try {
+            for await (let val of stream2) {
+              if (done) {
+                return;
+              }
+              if (signal.aborted) {
+                throw new AbortError();
+              }
+              try {
+                val = fn(val, signalOpt);
+                if (val === kEmpty) {
+                  continue;
+                }
+                val = PromiseResolve(val);
+              } catch (err) {
+                val = PromiseReject(err);
+              }
+              cnt += 1;
+              PromisePrototypeThen(val, afterItemProcessed, onCatch);
+              queue.push(val);
+              if (next) {
+                next();
+                next = null;
+              }
+              if (!done && (queue.length >= highWaterMark || cnt >= concurrency)) {
+                await new Promise2((resolve8) => {
+                  resume = resolve8;
+                });
+              }
+            }
+            queue.push(kEof);
+          } catch (err) {
+            const val = PromiseReject(err);
+            PromisePrototypeThen(val, afterItemProcessed, onCatch);
+            queue.push(val);
+          } finally {
+            done = true;
+            if (next) {
+              next();
+              next = null;
+            }
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.repositoryId !== "0")
-          writer.tag(1, runtime_1.WireType.Varint).int64(message.repositoryId);
-        for (let i = 0; i < message.scope.length; i++)
-          cachescope_1.CacheScope.internalBinaryWrite(message.scope[i], writer.tag(2, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.CacheMetadata = new CacheMetadata$Type();
-  }
-});
-
-// node_modules/@actions/cache/lib/generated/results/api/v1/cache.js
-var require_cache4 = __commonJS({
-  "node_modules/@actions/cache/lib/generated/results/api/v1/cache.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.CacheService = exports2.GetCacheEntryDownloadURLResponse = exports2.GetCacheEntryDownloadURLRequest = exports2.FinalizeCacheEntryUploadResponse = exports2.FinalizeCacheEntryUploadRequest = exports2.CreateCacheEntryResponse = exports2.CreateCacheEntryRequest = void 0;
-    var runtime_rpc_1 = require_commonjs17();
-    var runtime_1 = require_commonjs16();
-    var runtime_2 = require_commonjs16();
-    var runtime_3 = require_commonjs16();
-    var runtime_4 = require_commonjs16();
-    var runtime_5 = require_commonjs16();
-    var cachemetadata_1 = require_cachemetadata();
-    var CreateCacheEntryRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.CreateCacheEntryRequest", [
-          { no: 1, name: "metadata", kind: "message", T: () => cachemetadata_1.CacheMetadata },
-          {
-            no: 2,
-            name: "key",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "version",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
+        pump();
+        try {
+          while (true) {
+            while (queue.length > 0) {
+              const val = await queue[0];
+              if (val === kEof) {
+                return;
+              }
+              if (signal.aborted) {
+                throw new AbortError();
+              }
+              if (val !== kEmpty) {
+                yield val;
+              }
+              queue.shift();
+              maybeResume();
+            }
+            await new Promise2((resolve8) => {
+              next = resolve8;
+            });
           }
-        ]);
+        } finally {
+          done = true;
+          if (resume) {
+            resume();
+            resume = null;
+          }
+        }
+      }.call(this);
+    }
+    function asIndexedPairs(options = void 0) {
+      if (options != null) {
+        validateObject(options, "options");
       }
-      create(value) {
-        const message = { key: "", version: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
+        validateAbortSignal(options.signal, "options.signal");
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* github.actions.results.entities.v1.CacheMetadata metadata */
-            1:
-              message.metadata = cachemetadata_1.CacheMetadata.internalBinaryRead(reader, reader.uint32(), options, message.metadata);
-              break;
-            case /* string key */
-            2:
-              message.key = reader.string();
-              break;
-            case /* string version */
-            3:
-              message.version = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      return async function* asIndexedPairs2() {
+        let index = 0;
+        for await (const val of this) {
+          var _options$signal;
+          if (options !== null && options !== void 0 && (_options$signal = options.signal) !== null && _options$signal !== void 0 && _options$signal.aborted) {
+            throw new AbortError({
+              cause: options.signal.reason
+            });
           }
+          yield [index++, val];
         }
-        return message;
+      }.call(this);
+    }
+    async function some(fn, options = void 0) {
+      for await (const unused of filter.call(this, fn, options)) {
+        return true;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.metadata)
-          cachemetadata_1.CacheMetadata.internalBinaryWrite(message.metadata, writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        if (message.key !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.key);
-        if (message.version !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.version);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      return false;
+    }
+    async function every(fn, options = void 0) {
+      if (typeof fn !== "function") {
+        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
       }
-    };
-    exports2.CreateCacheEntryRequest = new CreateCacheEntryRequest$Type();
-    var CreateCacheEntryResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.CreateCacheEntryResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "signed_upload_url",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "message",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
+      return !await some.call(
+        this,
+        async (...args) => {
+          return !await fn(...args);
+        },
+        options
+      );
+    }
+    async function find2(fn, options) {
+      for await (const result of filter.call(this, fn, options)) {
+        return result;
       }
-      create(value) {
-        const message = { ok: false, signedUploadUrl: "", message: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      return void 0;
+    }
+    async function forEach(fn, options) {
+      if (typeof fn !== "function") {
+        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* string signed_upload_url */
-            2:
-              message.signedUploadUrl = reader.string();
-              break;
-            case /* string message */
-            3:
-              message.message = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
+      async function forEachFn(value, options2) {
+        await fn(value, options2);
+        return kEmpty;
+      }
+      for await (const unused of map2.call(this, forEachFn, options)) ;
+    }
+    function filter(fn, options) {
+      if (typeof fn !== "function") {
+        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
+      }
+      async function filterFn(value, options2) {
+        if (await fn(value, options2)) {
+          return value;
         }
-        return message;
+        return kEmpty;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.signedUploadUrl !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl);
-        if (message.message !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.message);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      return map2.call(this, filterFn, options);
+    }
+    var ReduceAwareErrMissingArgs = class extends ERR_MISSING_ARGS {
+      constructor() {
+        super("reduce");
+        this.message = "Reduce of an empty stream requires an initial value";
       }
     };
-    exports2.CreateCacheEntryResponse = new CreateCacheEntryResponse$Type();
-    var FinalizeCacheEntryUploadRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.FinalizeCacheEntryUploadRequest", [
-          { no: 1, name: "metadata", kind: "message", T: () => cachemetadata_1.CacheMetadata },
-          {
-            no: 2,
-            name: "key",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "size_bytes",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          },
-          {
-            no: 4,
-            name: "version",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
+    async function reduce(reducer, initialValue, options) {
+      var _options$signal2;
+      if (typeof reducer !== "function") {
+        throw new ERR_INVALID_ARG_TYPE2("reducer", ["Function", "AsyncFunction"], reducer);
       }
-      create(value) {
-        const message = { key: "", sizeBytes: "0", version: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      if (options != null) {
+        validateObject(options, "options");
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* github.actions.results.entities.v1.CacheMetadata metadata */
-            1:
-              message.metadata = cachemetadata_1.CacheMetadata.internalBinaryRead(reader, reader.uint32(), options, message.metadata);
-              break;
-            case /* string key */
-            2:
-              message.key = reader.string();
-              break;
-            case /* int64 size_bytes */
-            3:
-              message.sizeBytes = reader.int64().toString();
-              break;
-            case /* string version */
-            4:
-              message.version = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
+        validateAbortSignal(options.signal, "options.signal");
+      }
+      let hasInitialValue = arguments.length > 1;
+      if (options !== null && options !== void 0 && (_options$signal2 = options.signal) !== null && _options$signal2 !== void 0 && _options$signal2.aborted) {
+        const err = new AbortError(void 0, {
+          cause: options.signal.reason
+        });
+        this.once("error", () => {
+        });
+        await finished(this.destroy(err));
+        throw err;
+      }
+      const ac = new AbortController2();
+      const signal = ac.signal;
+      if (options !== null && options !== void 0 && options.signal) {
+        const opts = {
+          once: true,
+          [kWeakHandler]: this,
+          [kResistStopPropagation]: true
+        };
+        options.signal.addEventListener("abort", () => ac.abort(), opts);
+      }
+      let gotAnyItemFromStream = false;
+      try {
+        for await (const value of this) {
+          var _options$signal3;
+          gotAnyItemFromStream = true;
+          if (options !== null && options !== void 0 && (_options$signal3 = options.signal) !== null && _options$signal3 !== void 0 && _options$signal3.aborted) {
+            throw new AbortError();
+          }
+          if (!hasInitialValue) {
+            initialValue = value;
+            hasInitialValue = true;
+          } else {
+            initialValue = await reducer(initialValue, value, {
+              signal
+            });
           }
         }
-        return message;
+        if (!gotAnyItemFromStream && !hasInitialValue) {
+          throw new ReduceAwareErrMissingArgs();
+        }
+      } finally {
+        ac.abort();
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.metadata)
-          cachemetadata_1.CacheMetadata.internalBinaryWrite(message.metadata, writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        if (message.key !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.key);
-        if (message.sizeBytes !== "0")
-          writer.tag(3, runtime_1.WireType.Varint).int64(message.sizeBytes);
-        if (message.version !== "")
-          writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.version);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      return initialValue;
+    }
+    async function toArray2(options) {
+      if (options != null) {
+        validateObject(options, "options");
       }
-    };
-    exports2.FinalizeCacheEntryUploadRequest = new FinalizeCacheEntryUploadRequest$Type();
-    var FinalizeCacheEntryUploadResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.FinalizeCacheEntryUploadResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "entry_id",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          },
-          {
-            no: 3,
-            name: "message",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
+      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
+        validateAbortSignal(options.signal, "options.signal");
       }
-      create(value) {
-        const message = { ok: false, entryId: "0", message: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      const result = [];
+      for await (const val of this) {
+        var _options$signal4;
+        if (options !== null && options !== void 0 && (_options$signal4 = options.signal) !== null && _options$signal4 !== void 0 && _options$signal4.aborted) {
+          throw new AbortError(void 0, {
+            cause: options.signal.reason
+          });
+        }
+        ArrayPrototypePush(result, val);
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* int64 entry_id */
-            2:
-              message.entryId = reader.int64().toString();
-              break;
-            case /* string message */
-            3:
-              message.message = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
+      return result;
+    }
+    function flatMap(fn, options) {
+      const values = map2.call(this, fn, options);
+      return async function* flatMap2() {
+        for await (const val of values) {
+          yield* val;
         }
-        return message;
+      }.call(this);
+    }
+    function toIntegerOrInfinity(number) {
+      number = Number2(number);
+      if (NumberIsNaN(number)) {
+        return 0;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.entryId !== "0")
-          writer.tag(2, runtime_1.WireType.Varint).int64(message.entryId);
-        if (message.message !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.message);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      if (number < 0) {
+        throw new ERR_OUT_OF_RANGE("number", ">= 0", number);
       }
-    };
-    exports2.FinalizeCacheEntryUploadResponse = new FinalizeCacheEntryUploadResponse$Type();
-    var GetCacheEntryDownloadURLRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.GetCacheEntryDownloadURLRequest", [
-          { no: 1, name: "metadata", kind: "message", T: () => cachemetadata_1.CacheMetadata },
-          {
-            no: 2,
-            name: "key",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "restore_keys",
-            kind: "scalar",
-            repeat: 2,
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 4,
-            name: "version",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
+      return number;
+    }
+    function drop(number, options = void 0) {
+      if (options != null) {
+        validateObject(options, "options");
       }
-      create(value) {
-        const message = { key: "", restoreKeys: [], version: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
+        validateAbortSignal(options.signal, "options.signal");
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* github.actions.results.entities.v1.CacheMetadata metadata */
-            1:
-              message.metadata = cachemetadata_1.CacheMetadata.internalBinaryRead(reader, reader.uint32(), options, message.metadata);
-              break;
-            case /* string key */
-            2:
-              message.key = reader.string();
-              break;
-            case /* repeated string restore_keys */
-            3:
-              message.restoreKeys.push(reader.string());
-              break;
-            case /* string version */
-            4:
-              message.version = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      number = toIntegerOrInfinity(number);
+      return async function* drop2() {
+        var _options$signal5;
+        if (options !== null && options !== void 0 && (_options$signal5 = options.signal) !== null && _options$signal5 !== void 0 && _options$signal5.aborted) {
+          throw new AbortError();
+        }
+        for await (const val of this) {
+          var _options$signal6;
+          if (options !== null && options !== void 0 && (_options$signal6 = options.signal) !== null && _options$signal6 !== void 0 && _options$signal6.aborted) {
+            throw new AbortError();
+          }
+          if (number-- <= 0) {
+            yield val;
           }
         }
-        return message;
+      }.call(this);
+    }
+    function take(number, options = void 0) {
+      if (options != null) {
+        validateObject(options, "options");
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.metadata)
-          cachemetadata_1.CacheMetadata.internalBinaryWrite(message.metadata, writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        if (message.key !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.key);
-        for (let i = 0; i < message.restoreKeys.length; i++)
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.restoreKeys[i]);
-        if (message.version !== "")
-          writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.version);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
+        validateAbortSignal(options.signal, "options.signal");
       }
+      number = toIntegerOrInfinity(number);
+      return async function* take2() {
+        var _options$signal7;
+        if (options !== null && options !== void 0 && (_options$signal7 = options.signal) !== null && _options$signal7 !== void 0 && _options$signal7.aborted) {
+          throw new AbortError();
+        }
+        for await (const val of this) {
+          var _options$signal8;
+          if (options !== null && options !== void 0 && (_options$signal8 = options.signal) !== null && _options$signal8 !== void 0 && _options$signal8.aborted) {
+            throw new AbortError();
+          }
+          if (number-- > 0) {
+            yield val;
+          }
+          if (number <= 0) {
+            return;
+          }
+        }
+      }.call(this);
+    }
+    module2.exports.streamReturningOperators = {
+      asIndexedPairs: deprecate(asIndexedPairs, "readable.asIndexedPairs will be removed in a future version."),
+      drop,
+      filter,
+      flatMap,
+      map: map2,
+      take,
+      compose
     };
-    exports2.GetCacheEntryDownloadURLRequest = new GetCacheEntryDownloadURLRequest$Type();
-    var GetCacheEntryDownloadURLResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.GetCacheEntryDownloadURLResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "signed_download_url",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
+    module2.exports.promiseReturningOperators = {
+      every,
+      forEach,
+      reduce,
+      toArray: toArray2,
+      some,
+      find: find2
+    };
+  }
+});
+
+// node_modules/readable-stream/lib/stream/promises.js
+var require_promises = __commonJS({
+  "node_modules/readable-stream/lib/stream/promises.js"(exports2, module2) {
+    "use strict";
+    var { ArrayPrototypePop, Promise: Promise2 } = require_primordials();
+    var { isIterable, isNodeStream, isWebStream } = require_utils8();
+    var { pipelineImpl: pl } = require_pipeline4();
+    var { finished } = require_end_of_stream();
+    require_stream2();
+    function pipeline(...streams) {
+      return new Promise2((resolve8, reject) => {
+        let signal;
+        let end;
+        const lastArg = streams[streams.length - 1];
+        if (lastArg && typeof lastArg === "object" && !isNodeStream(lastArg) && !isIterable(lastArg) && !isWebStream(lastArg)) {
+          const options = ArrayPrototypePop(streams);
+          signal = options.signal;
+          end = options.end;
+        }
+        pl(
+          streams,
+          (err, value) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve8(value);
+            }
           },
           {
-            no: 3,
-            name: "matched_key",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
+            signal,
+            end
           }
-        ]);
+        );
+      });
+    }
+    module2.exports = {
+      finished,
+      pipeline
+    };
+  }
+});
+
+// node_modules/readable-stream/lib/stream.js
+var require_stream2 = __commonJS({
+  "node_modules/readable-stream/lib/stream.js"(exports2, module2) {
+    var { Buffer: Buffer2 } = require("buffer");
+    var { ObjectDefineProperty, ObjectKeys, ReflectApply } = require_primordials();
+    var {
+      promisify: { custom: customPromisify }
+    } = require_util21();
+    var { streamReturningOperators, promiseReturningOperators } = require_operators();
+    var {
+      codes: { ERR_ILLEGAL_CONSTRUCTOR }
+    } = require_errors5();
+    var compose = require_compose();
+    var { setDefaultHighWaterMark, getDefaultHighWaterMark } = require_state3();
+    var { pipeline } = require_pipeline4();
+    var { destroyer } = require_destroy2();
+    var eos = require_end_of_stream();
+    var promises5 = require_promises();
+    var utils = require_utils8();
+    var Stream = module2.exports = require_legacy().Stream;
+    Stream.isDestroyed = utils.isDestroyed;
+    Stream.isDisturbed = utils.isDisturbed;
+    Stream.isErrored = utils.isErrored;
+    Stream.isReadable = utils.isReadable;
+    Stream.isWritable = utils.isWritable;
+    Stream.Readable = require_readable4();
+    for (const key of ObjectKeys(streamReturningOperators)) {
+      let fn2 = function(...args) {
+        if (new.target) {
+          throw ERR_ILLEGAL_CONSTRUCTOR();
+        }
+        return Stream.Readable.from(ReflectApply(op, this, args));
+      };
+      fn = fn2;
+      const op = streamReturningOperators[key];
+      ObjectDefineProperty(fn2, "name", {
+        __proto__: null,
+        value: op.name
+      });
+      ObjectDefineProperty(fn2, "length", {
+        __proto__: null,
+        value: op.length
+      });
+      ObjectDefineProperty(Stream.Readable.prototype, key, {
+        __proto__: null,
+        value: fn2,
+        enumerable: false,
+        configurable: true,
+        writable: true
+      });
+    }
+    var fn;
+    for (const key of ObjectKeys(promiseReturningOperators)) {
+      let fn2 = function(...args) {
+        if (new.target) {
+          throw ERR_ILLEGAL_CONSTRUCTOR();
+        }
+        return ReflectApply(op, this, args);
+      };
+      fn = fn2;
+      const op = promiseReturningOperators[key];
+      ObjectDefineProperty(fn2, "name", {
+        __proto__: null,
+        value: op.name
+      });
+      ObjectDefineProperty(fn2, "length", {
+        __proto__: null,
+        value: op.length
+      });
+      ObjectDefineProperty(Stream.Readable.prototype, key, {
+        __proto__: null,
+        value: fn2,
+        enumerable: false,
+        configurable: true,
+        writable: true
+      });
+    }
+    var fn;
+    Stream.Writable = require_writable();
+    Stream.Duplex = require_duplex();
+    Stream.Transform = require_transform();
+    Stream.PassThrough = require_passthrough2();
+    Stream.pipeline = pipeline;
+    var { addAbortSignal } = require_add_abort_signal();
+    Stream.addAbortSignal = addAbortSignal;
+    Stream.finished = eos;
+    Stream.destroy = destroyer;
+    Stream.compose = compose;
+    Stream.setDefaultHighWaterMark = setDefaultHighWaterMark;
+    Stream.getDefaultHighWaterMark = getDefaultHighWaterMark;
+    ObjectDefineProperty(Stream, "promises", {
+      __proto__: null,
+      configurable: true,
+      enumerable: true,
+      get() {
+        return promises5;
       }
-      create(value) {
-        const message = { ok: false, signedDownloadUrl: "", matchedKey: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+    });
+    ObjectDefineProperty(pipeline, customPromisify, {
+      __proto__: null,
+      enumerable: true,
+      get() {
+        return promises5.pipeline;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* string signed_download_url */
-            2:
-              message.signedDownloadUrl = reader.string();
-              break;
-            case /* string matched_key */
-            3:
-              message.matchedKey = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+    });
+    ObjectDefineProperty(eos, customPromisify, {
+      __proto__: null,
+      enumerable: true,
+      get() {
+        return promises5.finished;
+      }
+    });
+    Stream.Stream = Stream;
+    Stream._isUint8Array = function isUint8Array(value) {
+      return value instanceof Uint8Array;
+    };
+    Stream._uint8ArrayToBuffer = function _uint8ArrayToBuffer(chunk) {
+      return Buffer2.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
+    };
+  }
+});
+
+// node_modules/readable-stream/lib/ours/index.js
+var require_ours = __commonJS({
+  "node_modules/readable-stream/lib/ours/index.js"(exports2, module2) {
+    "use strict";
+    var Stream = require("stream");
+    if (Stream && process.env.READABLE_STREAM === "disable") {
+      const promises5 = Stream.promises;
+      module2.exports._uint8ArrayToBuffer = Stream._uint8ArrayToBuffer;
+      module2.exports._isUint8Array = Stream._isUint8Array;
+      module2.exports.isDisturbed = Stream.isDisturbed;
+      module2.exports.isErrored = Stream.isErrored;
+      module2.exports.isReadable = Stream.isReadable;
+      module2.exports.Readable = Stream.Readable;
+      module2.exports.Writable = Stream.Writable;
+      module2.exports.Duplex = Stream.Duplex;
+      module2.exports.Transform = Stream.Transform;
+      module2.exports.PassThrough = Stream.PassThrough;
+      module2.exports.addAbortSignal = Stream.addAbortSignal;
+      module2.exports.finished = Stream.finished;
+      module2.exports.destroy = Stream.destroy;
+      module2.exports.pipeline = Stream.pipeline;
+      module2.exports.compose = Stream.compose;
+      Object.defineProperty(Stream, "promises", {
+        configurable: true,
+        enumerable: true,
+        get() {
+          return promises5;
+        }
+      });
+      module2.exports.Stream = Stream.Stream;
+    } else {
+      const CustomStream = require_stream2();
+      const promises5 = require_promises();
+      const originalDestroy = CustomStream.Readable.destroy;
+      module2.exports = CustomStream.Readable;
+      module2.exports._uint8ArrayToBuffer = CustomStream._uint8ArrayToBuffer;
+      module2.exports._isUint8Array = CustomStream._isUint8Array;
+      module2.exports.isDisturbed = CustomStream.isDisturbed;
+      module2.exports.isErrored = CustomStream.isErrored;
+      module2.exports.isReadable = CustomStream.isReadable;
+      module2.exports.Readable = CustomStream.Readable;
+      module2.exports.Writable = CustomStream.Writable;
+      module2.exports.Duplex = CustomStream.Duplex;
+      module2.exports.Transform = CustomStream.Transform;
+      module2.exports.PassThrough = CustomStream.PassThrough;
+      module2.exports.addAbortSignal = CustomStream.addAbortSignal;
+      module2.exports.finished = CustomStream.finished;
+      module2.exports.destroy = CustomStream.destroy;
+      module2.exports.destroy = originalDestroy;
+      module2.exports.pipeline = CustomStream.pipeline;
+      module2.exports.compose = CustomStream.compose;
+      Object.defineProperty(CustomStream, "promises", {
+        configurable: true,
+        enumerable: true,
+        get() {
+          return promises5;
+        }
+      });
+      module2.exports.Stream = CustomStream.Stream;
+    }
+    module2.exports.default = module2.exports;
+  }
+});
+
+// node_modules/lodash/_arrayPush.js
+var require_arrayPush = __commonJS({
+  "node_modules/lodash/_arrayPush.js"(exports2, module2) {
+    function arrayPush(array, values) {
+      var index = -1, length = values.length, offset = array.length;
+      while (++index < length) {
+        array[offset + index] = values[index];
+      }
+      return array;
+    }
+    module2.exports = arrayPush;
+  }
+});
+
+// node_modules/lodash/_isFlattenable.js
+var require_isFlattenable = __commonJS({
+  "node_modules/lodash/_isFlattenable.js"(exports2, module2) {
+    var Symbol2 = require_Symbol();
+    var isArguments = require_isArguments();
+    var isArray = require_isArray();
+    var spreadableSymbol = Symbol2 ? Symbol2.isConcatSpreadable : void 0;
+    function isFlattenable(value) {
+      return isArray(value) || isArguments(value) || !!(spreadableSymbol && value && value[spreadableSymbol]);
+    }
+    module2.exports = isFlattenable;
+  }
+});
+
+// node_modules/lodash/_baseFlatten.js
+var require_baseFlatten = __commonJS({
+  "node_modules/lodash/_baseFlatten.js"(exports2, module2) {
+    var arrayPush = require_arrayPush();
+    var isFlattenable = require_isFlattenable();
+    function baseFlatten(array, depth, predicate, isStrict, result) {
+      var index = -1, length = array.length;
+      predicate || (predicate = isFlattenable);
+      result || (result = []);
+      while (++index < length) {
+        var value = array[index];
+        if (depth > 0 && predicate(value)) {
+          if (depth > 1) {
+            baseFlatten(value, depth - 1, predicate, isStrict, result);
+          } else {
+            arrayPush(result, value);
           }
+        } else if (!isStrict) {
+          result[result.length] = value;
+        }
+      }
+      return result;
+    }
+    module2.exports = baseFlatten;
+  }
+});
+
+// node_modules/lodash/flatten.js
+var require_flatten = __commonJS({
+  "node_modules/lodash/flatten.js"(exports2, module2) {
+    var baseFlatten = require_baseFlatten();
+    function flatten(array) {
+      var length = array == null ? 0 : array.length;
+      return length ? baseFlatten(array, 1) : [];
+    }
+    module2.exports = flatten;
+  }
+});
+
+// node_modules/lodash/_nativeCreate.js
+var require_nativeCreate = __commonJS({
+  "node_modules/lodash/_nativeCreate.js"(exports2, module2) {
+    var getNative = require_getNative();
+    var nativeCreate = getNative(Object, "create");
+    module2.exports = nativeCreate;
+  }
+});
+
+// node_modules/lodash/_hashClear.js
+var require_hashClear = __commonJS({
+  "node_modules/lodash/_hashClear.js"(exports2, module2) {
+    var nativeCreate = require_nativeCreate();
+    function hashClear() {
+      this.__data__ = nativeCreate ? nativeCreate(null) : {};
+      this.size = 0;
+    }
+    module2.exports = hashClear;
+  }
+});
+
+// node_modules/lodash/_hashDelete.js
+var require_hashDelete = __commonJS({
+  "node_modules/lodash/_hashDelete.js"(exports2, module2) {
+    function hashDelete(key) {
+      var result = this.has(key) && delete this.__data__[key];
+      this.size -= result ? 1 : 0;
+      return result;
+    }
+    module2.exports = hashDelete;
+  }
+});
+
+// node_modules/lodash/_hashGet.js
+var require_hashGet = __commonJS({
+  "node_modules/lodash/_hashGet.js"(exports2, module2) {
+    var nativeCreate = require_nativeCreate();
+    var HASH_UNDEFINED = "__lodash_hash_undefined__";
+    var objectProto = Object.prototype;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    function hashGet(key) {
+      var data = this.__data__;
+      if (nativeCreate) {
+        var result = data[key];
+        return result === HASH_UNDEFINED ? void 0 : result;
+      }
+      return hasOwnProperty.call(data, key) ? data[key] : void 0;
+    }
+    module2.exports = hashGet;
+  }
+});
+
+// node_modules/lodash/_hashHas.js
+var require_hashHas = __commonJS({
+  "node_modules/lodash/_hashHas.js"(exports2, module2) {
+    var nativeCreate = require_nativeCreate();
+    var objectProto = Object.prototype;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    function hashHas(key) {
+      var data = this.__data__;
+      return nativeCreate ? data[key] !== void 0 : hasOwnProperty.call(data, key);
+    }
+    module2.exports = hashHas;
+  }
+});
+
+// node_modules/lodash/_hashSet.js
+var require_hashSet = __commonJS({
+  "node_modules/lodash/_hashSet.js"(exports2, module2) {
+    var nativeCreate = require_nativeCreate();
+    var HASH_UNDEFINED = "__lodash_hash_undefined__";
+    function hashSet(key, value) {
+      var data = this.__data__;
+      this.size += this.has(key) ? 0 : 1;
+      data[key] = nativeCreate && value === void 0 ? HASH_UNDEFINED : value;
+      return this;
+    }
+    module2.exports = hashSet;
+  }
+});
+
+// node_modules/lodash/_Hash.js
+var require_Hash = __commonJS({
+  "node_modules/lodash/_Hash.js"(exports2, module2) {
+    var hashClear = require_hashClear();
+    var hashDelete = require_hashDelete();
+    var hashGet = require_hashGet();
+    var hashHas = require_hashHas();
+    var hashSet = require_hashSet();
+    function Hash(entries) {
+      var index = -1, length = entries == null ? 0 : entries.length;
+      this.clear();
+      while (++index < length) {
+        var entry = entries[index];
+        this.set(entry[0], entry[1]);
+      }
+    }
+    Hash.prototype.clear = hashClear;
+    Hash.prototype["delete"] = hashDelete;
+    Hash.prototype.get = hashGet;
+    Hash.prototype.has = hashHas;
+    Hash.prototype.set = hashSet;
+    module2.exports = Hash;
+  }
+});
+
+// node_modules/lodash/_listCacheClear.js
+var require_listCacheClear = __commonJS({
+  "node_modules/lodash/_listCacheClear.js"(exports2, module2) {
+    function listCacheClear() {
+      this.__data__ = [];
+      this.size = 0;
+    }
+    module2.exports = listCacheClear;
+  }
+});
+
+// node_modules/lodash/_assocIndexOf.js
+var require_assocIndexOf = __commonJS({
+  "node_modules/lodash/_assocIndexOf.js"(exports2, module2) {
+    var eq = require_eq2();
+    function assocIndexOf(array, key) {
+      var length = array.length;
+      while (length--) {
+        if (eq(array[length][0], key)) {
+          return length;
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.signedDownloadUrl !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedDownloadUrl);
-        if (message.matchedKey !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.matchedKey);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
       }
-    };
-    exports2.GetCacheEntryDownloadURLResponse = new GetCacheEntryDownloadURLResponse$Type();
-    exports2.CacheService = new runtime_rpc_1.ServiceType("github.actions.results.api.v1.CacheService", [
-      { name: "CreateCacheEntry", options: {}, I: exports2.CreateCacheEntryRequest, O: exports2.CreateCacheEntryResponse },
-      { name: "FinalizeCacheEntryUpload", options: {}, I: exports2.FinalizeCacheEntryUploadRequest, O: exports2.FinalizeCacheEntryUploadResponse },
-      { name: "GetCacheEntryDownloadURL", options: {}, I: exports2.GetCacheEntryDownloadURLRequest, O: exports2.GetCacheEntryDownloadURLResponse }
-    ]);
+      return -1;
+    }
+    module2.exports = assocIndexOf;
   }
 });
 
-// node_modules/@actions/cache/lib/generated/results/api/v1/cache.twirp-client.js
-var require_cache_twirp_client = __commonJS({
-  "node_modules/@actions/cache/lib/generated/results/api/v1/cache.twirp-client.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.CacheServiceClientProtobuf = exports2.CacheServiceClientJSON = void 0;
-    var cache_1 = require_cache4();
-    var CacheServiceClientJSON = class {
-      constructor(rpc) {
-        this.rpc = rpc;
-        this.CreateCacheEntry.bind(this);
-        this.FinalizeCacheEntryUpload.bind(this);
-        this.GetCacheEntryDownloadURL.bind(this);
-      }
-      CreateCacheEntry(request2) {
-        const data = cache_1.CreateCacheEntryRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
-        });
-        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "CreateCacheEntry", "application/json", data);
-        return promise.then((data2) => cache_1.CreateCacheEntryResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
-      }
-      FinalizeCacheEntryUpload(request2) {
-        const data = cache_1.FinalizeCacheEntryUploadRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
-        });
-        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "FinalizeCacheEntryUpload", "application/json", data);
-        return promise.then((data2) => cache_1.FinalizeCacheEntryUploadResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
+// node_modules/lodash/_listCacheDelete.js
+var require_listCacheDelete = __commonJS({
+  "node_modules/lodash/_listCacheDelete.js"(exports2, module2) {
+    var assocIndexOf = require_assocIndexOf();
+    var arrayProto = Array.prototype;
+    var splice = arrayProto.splice;
+    function listCacheDelete(key) {
+      var data = this.__data__, index = assocIndexOf(data, key);
+      if (index < 0) {
+        return false;
       }
-      GetCacheEntryDownloadURL(request2) {
-        const data = cache_1.GetCacheEntryDownloadURLRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
-        });
-        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "GetCacheEntryDownloadURL", "application/json", data);
-        return promise.then((data2) => cache_1.GetCacheEntryDownloadURLResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
+      var lastIndex = data.length - 1;
+      if (index == lastIndex) {
+        data.pop();
+      } else {
+        splice.call(data, index, 1);
       }
-    };
-    exports2.CacheServiceClientJSON = CacheServiceClientJSON;
-    var CacheServiceClientProtobuf = class {
-      constructor(rpc) {
-        this.rpc = rpc;
-        this.CreateCacheEntry.bind(this);
-        this.FinalizeCacheEntryUpload.bind(this);
-        this.GetCacheEntryDownloadURL.bind(this);
+      --this.size;
+      return true;
+    }
+    module2.exports = listCacheDelete;
+  }
+});
+
+// node_modules/lodash/_listCacheGet.js
+var require_listCacheGet = __commonJS({
+  "node_modules/lodash/_listCacheGet.js"(exports2, module2) {
+    var assocIndexOf = require_assocIndexOf();
+    function listCacheGet(key) {
+      var data = this.__data__, index = assocIndexOf(data, key);
+      return index < 0 ? void 0 : data[index][1];
+    }
+    module2.exports = listCacheGet;
+  }
+});
+
+// node_modules/lodash/_listCacheHas.js
+var require_listCacheHas = __commonJS({
+  "node_modules/lodash/_listCacheHas.js"(exports2, module2) {
+    var assocIndexOf = require_assocIndexOf();
+    function listCacheHas(key) {
+      return assocIndexOf(this.__data__, key) > -1;
+    }
+    module2.exports = listCacheHas;
+  }
+});
+
+// node_modules/lodash/_listCacheSet.js
+var require_listCacheSet = __commonJS({
+  "node_modules/lodash/_listCacheSet.js"(exports2, module2) {
+    var assocIndexOf = require_assocIndexOf();
+    function listCacheSet(key, value) {
+      var data = this.__data__, index = assocIndexOf(data, key);
+      if (index < 0) {
+        ++this.size;
+        data.push([key, value]);
+      } else {
+        data[index][1] = value;
       }
-      CreateCacheEntry(request2) {
-        const data = cache_1.CreateCacheEntryRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "CreateCacheEntry", "application/protobuf", data);
-        return promise.then((data2) => cache_1.CreateCacheEntryResponse.fromBinary(data2));
+      return this;
+    }
+    module2.exports = listCacheSet;
+  }
+});
+
+// node_modules/lodash/_ListCache.js
+var require_ListCache = __commonJS({
+  "node_modules/lodash/_ListCache.js"(exports2, module2) {
+    var listCacheClear = require_listCacheClear();
+    var listCacheDelete = require_listCacheDelete();
+    var listCacheGet = require_listCacheGet();
+    var listCacheHas = require_listCacheHas();
+    var listCacheSet = require_listCacheSet();
+    function ListCache(entries) {
+      var index = -1, length = entries == null ? 0 : entries.length;
+      this.clear();
+      while (++index < length) {
+        var entry = entries[index];
+        this.set(entry[0], entry[1]);
       }
-      FinalizeCacheEntryUpload(request2) {
-        const data = cache_1.FinalizeCacheEntryUploadRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "FinalizeCacheEntryUpload", "application/protobuf", data);
-        return promise.then((data2) => cache_1.FinalizeCacheEntryUploadResponse.fromBinary(data2));
+    }
+    ListCache.prototype.clear = listCacheClear;
+    ListCache.prototype["delete"] = listCacheDelete;
+    ListCache.prototype.get = listCacheGet;
+    ListCache.prototype.has = listCacheHas;
+    ListCache.prototype.set = listCacheSet;
+    module2.exports = ListCache;
+  }
+});
+
+// node_modules/lodash/_Map.js
+var require_Map = __commonJS({
+  "node_modules/lodash/_Map.js"(exports2, module2) {
+    var getNative = require_getNative();
+    var root = require_root();
+    var Map2 = getNative(root, "Map");
+    module2.exports = Map2;
+  }
+});
+
+// node_modules/lodash/_mapCacheClear.js
+var require_mapCacheClear = __commonJS({
+  "node_modules/lodash/_mapCacheClear.js"(exports2, module2) {
+    var Hash = require_Hash();
+    var ListCache = require_ListCache();
+    var Map2 = require_Map();
+    function mapCacheClear() {
+      this.size = 0;
+      this.__data__ = {
+        "hash": new Hash(),
+        "map": new (Map2 || ListCache)(),
+        "string": new Hash()
+      };
+    }
+    module2.exports = mapCacheClear;
+  }
+});
+
+// node_modules/lodash/_isKeyable.js
+var require_isKeyable = __commonJS({
+  "node_modules/lodash/_isKeyable.js"(exports2, module2) {
+    function isKeyable(value) {
+      var type2 = typeof value;
+      return type2 == "string" || type2 == "number" || type2 == "symbol" || type2 == "boolean" ? value !== "__proto__" : value === null;
+    }
+    module2.exports = isKeyable;
+  }
+});
+
+// node_modules/lodash/_getMapData.js
+var require_getMapData = __commonJS({
+  "node_modules/lodash/_getMapData.js"(exports2, module2) {
+    var isKeyable = require_isKeyable();
+    function getMapData(map2, key) {
+      var data = map2.__data__;
+      return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map;
+    }
+    module2.exports = getMapData;
+  }
+});
+
+// node_modules/lodash/_mapCacheDelete.js
+var require_mapCacheDelete = __commonJS({
+  "node_modules/lodash/_mapCacheDelete.js"(exports2, module2) {
+    var getMapData = require_getMapData();
+    function mapCacheDelete(key) {
+      var result = getMapData(this, key)["delete"](key);
+      this.size -= result ? 1 : 0;
+      return result;
+    }
+    module2.exports = mapCacheDelete;
+  }
+});
+
+// node_modules/lodash/_mapCacheGet.js
+var require_mapCacheGet = __commonJS({
+  "node_modules/lodash/_mapCacheGet.js"(exports2, module2) {
+    var getMapData = require_getMapData();
+    function mapCacheGet(key) {
+      return getMapData(this, key).get(key);
+    }
+    module2.exports = mapCacheGet;
+  }
+});
+
+// node_modules/lodash/_mapCacheHas.js
+var require_mapCacheHas = __commonJS({
+  "node_modules/lodash/_mapCacheHas.js"(exports2, module2) {
+    var getMapData = require_getMapData();
+    function mapCacheHas(key) {
+      return getMapData(this, key).has(key);
+    }
+    module2.exports = mapCacheHas;
+  }
+});
+
+// node_modules/lodash/_mapCacheSet.js
+var require_mapCacheSet = __commonJS({
+  "node_modules/lodash/_mapCacheSet.js"(exports2, module2) {
+    var getMapData = require_getMapData();
+    function mapCacheSet(key, value) {
+      var data = getMapData(this, key), size = data.size;
+      data.set(key, value);
+      this.size += data.size == size ? 0 : 1;
+      return this;
+    }
+    module2.exports = mapCacheSet;
+  }
+});
+
+// node_modules/lodash/_MapCache.js
+var require_MapCache = __commonJS({
+  "node_modules/lodash/_MapCache.js"(exports2, module2) {
+    var mapCacheClear = require_mapCacheClear();
+    var mapCacheDelete = require_mapCacheDelete();
+    var mapCacheGet = require_mapCacheGet();
+    var mapCacheHas = require_mapCacheHas();
+    var mapCacheSet = require_mapCacheSet();
+    function MapCache(entries) {
+      var index = -1, length = entries == null ? 0 : entries.length;
+      this.clear();
+      while (++index < length) {
+        var entry = entries[index];
+        this.set(entry[0], entry[1]);
       }
-      GetCacheEntryDownloadURL(request2) {
-        const data = cache_1.GetCacheEntryDownloadURLRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "GetCacheEntryDownloadURL", "application/protobuf", data);
-        return promise.then((data2) => cache_1.GetCacheEntryDownloadURLResponse.fromBinary(data2));
+    }
+    MapCache.prototype.clear = mapCacheClear;
+    MapCache.prototype["delete"] = mapCacheDelete;
+    MapCache.prototype.get = mapCacheGet;
+    MapCache.prototype.has = mapCacheHas;
+    MapCache.prototype.set = mapCacheSet;
+    module2.exports = MapCache;
+  }
+});
+
+// node_modules/lodash/_setCacheAdd.js
+var require_setCacheAdd = __commonJS({
+  "node_modules/lodash/_setCacheAdd.js"(exports2, module2) {
+    var HASH_UNDEFINED = "__lodash_hash_undefined__";
+    function setCacheAdd(value) {
+      this.__data__.set(value, HASH_UNDEFINED);
+      return this;
+    }
+    module2.exports = setCacheAdd;
+  }
+});
+
+// node_modules/lodash/_setCacheHas.js
+var require_setCacheHas = __commonJS({
+  "node_modules/lodash/_setCacheHas.js"(exports2, module2) {
+    function setCacheHas(value) {
+      return this.__data__.has(value);
+    }
+    module2.exports = setCacheHas;
+  }
+});
+
+// node_modules/lodash/_SetCache.js
+var require_SetCache = __commonJS({
+  "node_modules/lodash/_SetCache.js"(exports2, module2) {
+    var MapCache = require_MapCache();
+    var setCacheAdd = require_setCacheAdd();
+    var setCacheHas = require_setCacheHas();
+    function SetCache(values) {
+      var index = -1, length = values == null ? 0 : values.length;
+      this.__data__ = new MapCache();
+      while (++index < length) {
+        this.add(values[index]);
       }
-    };
-    exports2.CacheServiceClientProtobuf = CacheServiceClientProtobuf;
+    }
+    SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
+    SetCache.prototype.has = setCacheHas;
+    module2.exports = SetCache;
   }
 });
 
-// node_modules/@actions/cache/lib/internal/shared/util.js
-var require_util17 = __commonJS({
-  "node_modules/@actions/cache/lib/internal/shared/util.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.maskSigUrl = maskSigUrl;
-    exports2.maskSecretUrls = maskSecretUrls;
-    var core_1 = require_core();
-    function maskSigUrl(url2) {
-      if (!url2)
-        return;
-      try {
-        const parsedUrl = new URL(url2);
-        const signature = parsedUrl.searchParams.get("sig");
-        if (signature) {
-          (0, core_1.setSecret)(signature);
-          (0, core_1.setSecret)(encodeURIComponent(signature));
+// node_modules/lodash/_baseFindIndex.js
+var require_baseFindIndex = __commonJS({
+  "node_modules/lodash/_baseFindIndex.js"(exports2, module2) {
+    function baseFindIndex(array, predicate, fromIndex, fromRight) {
+      var length = array.length, index = fromIndex + (fromRight ? 1 : -1);
+      while (fromRight ? index-- : ++index < length) {
+        if (predicate(array[index], index, array)) {
+          return index;
         }
-      } catch (error3) {
-        (0, core_1.debug)(`Failed to parse URL: ${url2} ${error3 instanceof Error ? error3.message : String(error3)}`);
       }
+      return -1;
     }
-    function maskSecretUrls(body) {
-      if (typeof body !== "object" || body === null) {
-        (0, core_1.debug)("body is not an object or is null");
-        return;
-      }
-      if ("signed_upload_url" in body && typeof body.signed_upload_url === "string") {
-        maskSigUrl(body.signed_upload_url);
-      }
-      if ("signed_download_url" in body && typeof body.signed_download_url === "string") {
-        maskSigUrl(body.signed_download_url);
-      }
+    module2.exports = baseFindIndex;
+  }
+});
+
+// node_modules/lodash/_baseIsNaN.js
+var require_baseIsNaN = __commonJS({
+  "node_modules/lodash/_baseIsNaN.js"(exports2, module2) {
+    function baseIsNaN(value) {
+      return value !== value;
     }
+    module2.exports = baseIsNaN;
   }
 });
 
-// node_modules/@actions/cache/lib/internal/shared/cacheTwirpClient.js
-var require_cacheTwirpClient = __commonJS({
-  "node_modules/@actions/cache/lib/internal/shared/cacheTwirpClient.js"(exports2) {
-    "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve8) {
-          resolve8(value);
-        });
-      }
-      return new (P || (P = Promise))(function(resolve8, 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 ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.internalCacheTwirpClient = internalCacheTwirpClient;
-    var core_1 = require_core();
-    var user_agent_1 = require_user_agent();
-    var errors_1 = require_errors3();
-    var config_1 = require_config();
-    var cacheUtils_1 = require_cacheUtils();
-    var auth_1 = require_auth();
-    var http_client_1 = require_lib();
-    var cache_twirp_client_1 = require_cache_twirp_client();
-    var util_1 = require_util17();
-    var CacheServiceClient = class {
-      constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) {
-        this.maxAttempts = 5;
-        this.baseRetryIntervalMilliseconds = 3e3;
-        this.retryMultiplier = 1.5;
-        const token = (0, cacheUtils_1.getRuntimeToken)();
-        this.baseUrl = (0, config_1.getCacheServiceURL)();
-        if (maxAttempts) {
-          this.maxAttempts = maxAttempts;
-        }
-        if (baseRetryIntervalMilliseconds) {
-          this.baseRetryIntervalMilliseconds = baseRetryIntervalMilliseconds;
-        }
-        if (retryMultiplier) {
-          this.retryMultiplier = retryMultiplier;
+// node_modules/lodash/_strictIndexOf.js
+var require_strictIndexOf = __commonJS({
+  "node_modules/lodash/_strictIndexOf.js"(exports2, module2) {
+    function strictIndexOf(array, value, fromIndex) {
+      var index = fromIndex - 1, length = array.length;
+      while (++index < length) {
+        if (array[index] === value) {
+          return index;
         }
-        this.httpClient = new http_client_1.HttpClient(userAgent2, [
-          new auth_1.BearerCredentialHandler(token)
-        ]);
-      }
-      // This function satisfies the Rpc interface. It is compatible with the JSON
-      // JSON generated client.
-      request(service, method, contentType, data) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          const url2 = new URL(`/twirp/${service}/${method}`, this.baseUrl).href;
-          (0, core_1.debug)(`[Request] ${method} ${url2}`);
-          const headers = {
-            "Content-Type": contentType
-          };
-          try {
-            const { body } = yield this.retryableRequest(() => __awaiter2(this, void 0, void 0, function* () {
-              return this.httpClient.post(url2, JSON.stringify(data), headers);
-            }));
-            return body;
-          } catch (error3) {
-            throw new Error(`Failed to ${method}: ${error3.message}`);
-          }
-        });
-      }
-      retryableRequest(operation) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          let attempt = 0;
-          let errorMessage = "";
-          let rawBody = "";
-          while (attempt < this.maxAttempts) {
-            let isRetryable = false;
-            try {
-              const response = yield operation();
-              const statusCode = response.message.statusCode;
-              rawBody = yield response.readBody();
-              (0, core_1.debug)(`[Response] - ${response.message.statusCode}`);
-              (0, core_1.debug)(`Headers: ${JSON.stringify(response.message.headers, null, 2)}`);
-              const body = JSON.parse(rawBody);
-              (0, util_1.maskSecretUrls)(body);
-              (0, core_1.debug)(`Body: ${JSON.stringify(body, null, 2)}`);
-              if (this.isSuccessStatusCode(statusCode)) {
-                return { response, body };
-              }
-              isRetryable = this.isRetryableHttpStatusCode(statusCode);
-              errorMessage = `Failed request: (${statusCode}) ${response.message.statusMessage}`;
-              if (body.msg) {
-                if (errors_1.UsageError.isUsageErrorMessage(body.msg)) {
-                  throw new errors_1.UsageError();
-                }
-                errorMessage = `${errorMessage}: ${body.msg}`;
-              }
-              if (statusCode === http_client_1.HttpCodes.TooManyRequests) {
-                const retryAfterHeader = response.message.headers["retry-after"];
-                if (retryAfterHeader) {
-                  const parsedSeconds = parseInt(retryAfterHeader, 10);
-                  if (!isNaN(parsedSeconds) && parsedSeconds > 0) {
-                    (0, core_1.warning)(`You've hit a rate limit, your rate limit will reset in ${parsedSeconds} seconds`);
-                  }
-                }
-                throw new errors_1.RateLimitError(`Rate limited: ${errorMessage}`);
-              }
-            } catch (error3) {
-              if (error3 instanceof SyntaxError) {
-                (0, core_1.debug)(`Raw Body: ${rawBody}`);
-              }
-              if (error3 instanceof errors_1.UsageError) {
-                throw error3;
-              }
-              if (error3 instanceof errors_1.RateLimitError) {
-                throw error3;
-              }
-              if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) {
-                throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code);
-              }
-              isRetryable = true;
-              errorMessage = error3.message;
-            }
-            if (!isRetryable) {
-              throw new Error(`Received non-retryable error: ${errorMessage}`);
-            }
-            if (attempt + 1 === this.maxAttempts) {
-              throw new Error(`Failed to make request after ${this.maxAttempts} attempts: ${errorMessage}`);
-            }
-            const retryTimeMilliseconds = this.getExponentialRetryTimeMilliseconds(attempt);
-            (0, core_1.info)(`Attempt ${attempt + 1} of ${this.maxAttempts} failed with error: ${errorMessage}. Retrying request in ${retryTimeMilliseconds} ms...`);
-            yield this.sleep(retryTimeMilliseconds);
-            attempt++;
-          }
-          throw new Error(`Request failed`);
-        });
-      }
-      isSuccessStatusCode(statusCode) {
-        if (!statusCode)
-          return false;
-        return statusCode >= 200 && statusCode < 300;
-      }
-      isRetryableHttpStatusCode(statusCode) {
-        if (!statusCode)
-          return false;
-        const retryableStatusCodes = [
-          http_client_1.HttpCodes.BadGateway,
-          http_client_1.HttpCodes.GatewayTimeout,
-          http_client_1.HttpCodes.InternalServerError,
-          http_client_1.HttpCodes.ServiceUnavailable
-        ];
-        return retryableStatusCodes.includes(statusCode);
-      }
-      sleep(milliseconds) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          return new Promise((resolve8) => setTimeout(resolve8, milliseconds));
-        });
       }
-      getExponentialRetryTimeMilliseconds(attempt) {
-        if (attempt < 0) {
-          throw new Error("attempt should be a positive integer");
-        }
-        if (attempt === 0) {
-          return this.baseRetryIntervalMilliseconds;
+      return -1;
+    }
+    module2.exports = strictIndexOf;
+  }
+});
+
+// node_modules/lodash/_baseIndexOf.js
+var require_baseIndexOf = __commonJS({
+  "node_modules/lodash/_baseIndexOf.js"(exports2, module2) {
+    var baseFindIndex = require_baseFindIndex();
+    var baseIsNaN = require_baseIsNaN();
+    var strictIndexOf = require_strictIndexOf();
+    function baseIndexOf(array, value, fromIndex) {
+      return value === value ? strictIndexOf(array, value, fromIndex) : baseFindIndex(array, baseIsNaN, fromIndex);
+    }
+    module2.exports = baseIndexOf;
+  }
+});
+
+// node_modules/lodash/_arrayIncludes.js
+var require_arrayIncludes = __commonJS({
+  "node_modules/lodash/_arrayIncludes.js"(exports2, module2) {
+    var baseIndexOf = require_baseIndexOf();
+    function arrayIncludes(array, value) {
+      var length = array == null ? 0 : array.length;
+      return !!length && baseIndexOf(array, value, 0) > -1;
+    }
+    module2.exports = arrayIncludes;
+  }
+});
+
+// node_modules/lodash/_arrayIncludesWith.js
+var require_arrayIncludesWith = __commonJS({
+  "node_modules/lodash/_arrayIncludesWith.js"(exports2, module2) {
+    function arrayIncludesWith(array, value, comparator) {
+      var index = -1, length = array == null ? 0 : array.length;
+      while (++index < length) {
+        if (comparator(value, array[index])) {
+          return true;
         }
-        const minTime = this.baseRetryIntervalMilliseconds * Math.pow(this.retryMultiplier, attempt);
-        const maxTime = minTime * this.retryMultiplier;
-        return Math.trunc(Math.random() * (maxTime - minTime) + minTime);
       }
-    };
-    function internalCacheTwirpClient(options) {
-      const client = new CacheServiceClient((0, user_agent_1.getUserAgentString)(), options === null || options === void 0 ? void 0 : options.maxAttempts, options === null || options === void 0 ? void 0 : options.retryIntervalMs, options === null || options === void 0 ? void 0 : options.retryMultiplier);
-      return new cache_twirp_client_1.CacheServiceClientJSON(client);
+      return false;
     }
+    module2.exports = arrayIncludesWith;
   }
 });
 
-// node_modules/@actions/cache/lib/internal/tar.js
-var require_tar = __commonJS({
-  "node_modules/@actions/cache/lib/internal/tar.js"(exports2) {
-    "use strict";
-    var __createBinding2 = 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];
-        } };
+// node_modules/lodash/_arrayMap.js
+var require_arrayMap = __commonJS({
+  "node_modules/lodash/_arrayMap.js"(exports2, module2) {
+    function arrayMap(array, iteratee) {
+      var index = -1, length = array == null ? 0 : array.length, result = Array(length);
+      while (++index < length) {
+        result[index] = iteratee(array[index], index, array);
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = 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 ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
-        }
-        __setModuleDefault2(result, mod);
+      return result;
+    }
+    module2.exports = arrayMap;
+  }
+});
+
+// node_modules/lodash/_cacheHas.js
+var require_cacheHas = __commonJS({
+  "node_modules/lodash/_cacheHas.js"(exports2, module2) {
+    function cacheHas(cache, key) {
+      return cache.has(key);
+    }
+    module2.exports = cacheHas;
+  }
+});
+
+// node_modules/lodash/_baseDifference.js
+var require_baseDifference = __commonJS({
+  "node_modules/lodash/_baseDifference.js"(exports2, module2) {
+    var SetCache = require_SetCache();
+    var arrayIncludes = require_arrayIncludes();
+    var arrayIncludesWith = require_arrayIncludesWith();
+    var arrayMap = require_arrayMap();
+    var baseUnary = require_baseUnary();
+    var cacheHas = require_cacheHas();
+    var LARGE_ARRAY_SIZE = 200;
+    function baseDifference(array, values, iteratee, comparator) {
+      var index = -1, includes = arrayIncludes, isCommon = true, length = array.length, result = [], valuesLength = values.length;
+      if (!length) {
         return result;
-      };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve8) {
-          resolve8(value);
-        });
       }
-      return new (P || (P = Promise))(function(resolve8, 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 ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.listTar = listTar;
-    exports2.extractTar = extractTar2;
-    exports2.createTar = createTar;
-    var exec_1 = require_exec();
-    var io7 = __importStar2(require_io());
-    var fs_1 = require("fs");
-    var path16 = __importStar2(require("path"));
-    var utils = __importStar2(require_cacheUtils());
-    var constants_1 = require_constants12();
-    var IS_WINDOWS = process.platform === "win32";
-    function getTarPath() {
-      return __awaiter2(this, void 0, void 0, function* () {
-        switch (process.platform) {
-          case "win32": {
-            const gnuTar = yield utils.getGnuTarPathOnWindows();
-            const systemTar = constants_1.SystemTarPathOnWindows;
-            if (gnuTar) {
-              return { path: gnuTar, type: constants_1.ArchiveToolType.GNU };
-            } else if ((0, fs_1.existsSync)(systemTar)) {
-              return { path: systemTar, type: constants_1.ArchiveToolType.BSD };
-            }
-            break;
-          }
-          case "darwin": {
-            const gnuTar = yield io7.which("gtar", false);
-            if (gnuTar) {
-              return { path: gnuTar, type: constants_1.ArchiveToolType.GNU };
-            } else {
-              return {
-                path: yield io7.which("tar", true),
-                type: constants_1.ArchiveToolType.BSD
-              };
+      if (iteratee) {
+        values = arrayMap(values, baseUnary(iteratee));
+      }
+      if (comparator) {
+        includes = arrayIncludesWith;
+        isCommon = false;
+      } else if (values.length >= LARGE_ARRAY_SIZE) {
+        includes = cacheHas;
+        isCommon = false;
+        values = new SetCache(values);
+      }
+      outer:
+        while (++index < length) {
+          var value = array[index], computed = iteratee == null ? value : iteratee(value);
+          value = comparator || value !== 0 ? value : 0;
+          if (isCommon && computed === computed) {
+            var valuesIndex = valuesLength;
+            while (valuesIndex--) {
+              if (values[valuesIndex] === computed) {
+                continue outer;
+              }
             }
+            result.push(value);
+          } else if (!includes(values, computed, comparator)) {
+            result.push(value);
           }
-          default:
-            break;
-        }
-        return {
-          path: yield io7.which("tar", true),
-          type: constants_1.ArchiveToolType.GNU
-        };
-      });
-    }
-    function getTarArgs(tarPath_1, compressionMethod_1, type_1) {
-      return __awaiter2(this, arguments, void 0, function* (tarPath, compressionMethod, type2, archivePath = "") {
-        const args = [`"${tarPath.path}"`];
-        const cacheFileName = utils.getCacheFileName(compressionMethod);
-        const tarFile = "cache.tar";
-        const workingDirectory = getWorkingDirectory();
-        const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS;
-        switch (type2) {
-          case "create":
-            args.push("--posix", "-cf", BSD_TAR_ZSTD ? tarFile : cacheFileName.replace(new RegExp(`\\${path16.sep}`, "g"), "/"), "--exclude", BSD_TAR_ZSTD ? tarFile : cacheFileName.replace(new RegExp(`\\${path16.sep}`, "g"), "/"), "-P", "-C", workingDirectory.replace(new RegExp(`\\${path16.sep}`, "g"), "/"), "--files-from", constants_1.ManifestFilename);
-            break;
-          case "extract":
-            args.push("-xf", BSD_TAR_ZSTD ? tarFile : archivePath.replace(new RegExp(`\\${path16.sep}`, "g"), "/"), "-P", "-C", workingDirectory.replace(new RegExp(`\\${path16.sep}`, "g"), "/"));
-            break;
-          case "list":
-            args.push("-tf", BSD_TAR_ZSTD ? tarFile : archivePath.replace(new RegExp(`\\${path16.sep}`, "g"), "/"), "-P");
-            break;
-        }
-        if (tarPath.type === constants_1.ArchiveToolType.GNU) {
-          switch (process.platform) {
-            case "win32":
-              args.push("--force-local");
-              break;
-            case "darwin":
-              args.push("--delay-directory-restore");
-              break;
-          }
-        }
-        return args;
-      });
-    }
-    function getCommands(compressionMethod_1, type_1) {
-      return __awaiter2(this, arguments, void 0, function* (compressionMethod, type2, archivePath = "") {
-        let args;
-        const tarPath = yield getTarPath();
-        const tarArgs = yield getTarArgs(tarPath, compressionMethod, type2, archivePath);
-        const compressionArgs = type2 !== "create" ? yield getDecompressionProgram(tarPath, compressionMethod, archivePath) : yield getCompressionProgram(tarPath, compressionMethod);
-        const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS;
-        if (BSD_TAR_ZSTD && type2 !== "create") {
-          args = [[...compressionArgs].join(" "), [...tarArgs].join(" ")];
-        } else {
-          args = [[...tarArgs].join(" "), [...compressionArgs].join(" ")];
-        }
-        if (BSD_TAR_ZSTD) {
-          return args;
         }
-        return [args.join(" ")];
-      });
+      return result;
     }
-    function getWorkingDirectory() {
-      var _a;
-      return (_a = process.env["GITHUB_WORKSPACE"]) !== null && _a !== void 0 ? _a : process.cwd();
+    module2.exports = baseDifference;
+  }
+});
+
+// node_modules/lodash/isArrayLikeObject.js
+var require_isArrayLikeObject = __commonJS({
+  "node_modules/lodash/isArrayLikeObject.js"(exports2, module2) {
+    var isArrayLike = require_isArrayLike();
+    var isObjectLike = require_isObjectLike();
+    function isArrayLikeObject(value) {
+      return isObjectLike(value) && isArrayLike(value);
     }
-    function getDecompressionProgram(tarPath, compressionMethod, archivePath) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS;
-        switch (compressionMethod) {
-          case constants_1.CompressionMethod.Zstd:
-            return BSD_TAR_ZSTD ? [
-              "zstd -d --long=30 --force -o",
-              constants_1.TarFilename,
-              archivePath.replace(new RegExp(`\\${path16.sep}`, "g"), "/")
-            ] : [
-              "--use-compress-program",
-              IS_WINDOWS ? '"zstd -d --long=30"' : "unzstd --long=30"
-            ];
-          case constants_1.CompressionMethod.ZstdWithoutLong:
-            return BSD_TAR_ZSTD ? [
-              "zstd -d --force -o",
-              constants_1.TarFilename,
-              archivePath.replace(new RegExp(`\\${path16.sep}`, "g"), "/")
-            ] : ["--use-compress-program", IS_WINDOWS ? '"zstd -d"' : "unzstd"];
-          default:
-            return ["-z"];
-        }
-      });
+    module2.exports = isArrayLikeObject;
+  }
+});
+
+// node_modules/lodash/difference.js
+var require_difference = __commonJS({
+  "node_modules/lodash/difference.js"(exports2, module2) {
+    var baseDifference = require_baseDifference();
+    var baseFlatten = require_baseFlatten();
+    var baseRest = require_baseRest();
+    var isArrayLikeObject = require_isArrayLikeObject();
+    var difference = baseRest(function(array, values) {
+      return isArrayLikeObject(array) ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true)) : [];
+    });
+    module2.exports = difference;
+  }
+});
+
+// node_modules/lodash/_Set.js
+var require_Set = __commonJS({
+  "node_modules/lodash/_Set.js"(exports2, module2) {
+    var getNative = require_getNative();
+    var root = require_root();
+    var Set2 = getNative(root, "Set");
+    module2.exports = Set2;
+  }
+});
+
+// node_modules/lodash/noop.js
+var require_noop = __commonJS({
+  "node_modules/lodash/noop.js"(exports2, module2) {
+    function noop3() {
     }
-    function getCompressionProgram(tarPath, compressionMethod) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const cacheFileName = utils.getCacheFileName(compressionMethod);
-        const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS;
-        switch (compressionMethod) {
-          case constants_1.CompressionMethod.Zstd:
-            return BSD_TAR_ZSTD ? [
-              "zstd -T0 --long=30 --force -o",
-              cacheFileName.replace(new RegExp(`\\${path16.sep}`, "g"), "/"),
-              constants_1.TarFilename
-            ] : [
-              "--use-compress-program",
-              IS_WINDOWS ? '"zstd -T0 --long=30"' : "zstdmt --long=30"
-            ];
-          case constants_1.CompressionMethod.ZstdWithoutLong:
-            return BSD_TAR_ZSTD ? [
-              "zstd -T0 --force -o",
-              cacheFileName.replace(new RegExp(`\\${path16.sep}`, "g"), "/"),
-              constants_1.TarFilename
-            ] : ["--use-compress-program", IS_WINDOWS ? '"zstd -T0"' : "zstdmt"];
-          default:
-            return ["-z"];
-        }
+    module2.exports = noop3;
+  }
+});
+
+// node_modules/lodash/_setToArray.js
+var require_setToArray = __commonJS({
+  "node_modules/lodash/_setToArray.js"(exports2, module2) {
+    function setToArray(set2) {
+      var index = -1, result = Array(set2.size);
+      set2.forEach(function(value) {
+        result[++index] = value;
       });
+      return result;
     }
-    function execCommands(commands, cwd) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        for (const command of commands) {
-          try {
-            yield (0, exec_1.exec)(command, void 0, {
-              cwd,
-              env: Object.assign(Object.assign({}, process.env), { MSYS: "winsymlinks:nativestrict" })
-            });
-          } catch (error3) {
-            throw new Error(`${command.split(" ")[0]} failed with error: ${error3 === null || error3 === void 0 ? void 0 : error3.message}`);
-          }
+    module2.exports = setToArray;
+  }
+});
+
+// node_modules/lodash/_createSet.js
+var require_createSet = __commonJS({
+  "node_modules/lodash/_createSet.js"(exports2, module2) {
+    var Set2 = require_Set();
+    var noop3 = require_noop();
+    var setToArray = require_setToArray();
+    var INFINITY = 1 / 0;
+    var createSet = !(Set2 && 1 / setToArray(new Set2([, -0]))[1] == INFINITY) ? noop3 : function(values) {
+      return new Set2(values);
+    };
+    module2.exports = createSet;
+  }
+});
+
+// node_modules/lodash/_baseUniq.js
+var require_baseUniq = __commonJS({
+  "node_modules/lodash/_baseUniq.js"(exports2, module2) {
+    var SetCache = require_SetCache();
+    var arrayIncludes = require_arrayIncludes();
+    var arrayIncludesWith = require_arrayIncludesWith();
+    var cacheHas = require_cacheHas();
+    var createSet = require_createSet();
+    var setToArray = require_setToArray();
+    var LARGE_ARRAY_SIZE = 200;
+    function baseUniq(array, iteratee, comparator) {
+      var index = -1, includes = arrayIncludes, length = array.length, isCommon = true, result = [], seen = result;
+      if (comparator) {
+        isCommon = false;
+        includes = arrayIncludesWith;
+      } else if (length >= LARGE_ARRAY_SIZE) {
+        var set2 = iteratee ? null : createSet(array);
+        if (set2) {
+          return setToArray(set2);
         }
-      });
-    }
-    function listTar(archivePath, compressionMethod) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const commands = yield getCommands(compressionMethod, "list", archivePath);
-        yield execCommands(commands);
-      });
-    }
-    function extractTar2(archivePath, compressionMethod) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const workingDirectory = getWorkingDirectory();
-        yield io7.mkdirP(workingDirectory);
-        const commands = yield getCommands(compressionMethod, "extract", archivePath);
-        yield execCommands(commands);
-      });
-    }
-    function createTar(archiveFolder, sourceDirectories, compressionMethod) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        (0, fs_1.writeFileSync)(path16.join(archiveFolder, constants_1.ManifestFilename), sourceDirectories.join("\n"));
-        const commands = yield getCommands(compressionMethod, "create");
-        yield execCommands(commands, archiveFolder);
-      });
+        isCommon = false;
+        includes = cacheHas;
+        seen = new SetCache();
+      } else {
+        seen = iteratee ? [] : result;
+      }
+      outer:
+        while (++index < length) {
+          var value = array[index], computed = iteratee ? iteratee(value) : value;
+          value = comparator || value !== 0 ? value : 0;
+          if (isCommon && computed === computed) {
+            var seenIndex = seen.length;
+            while (seenIndex--) {
+              if (seen[seenIndex] === computed) {
+                continue outer;
+              }
+            }
+            if (iteratee) {
+              seen.push(computed);
+            }
+            result.push(value);
+          } else if (!includes(seen, computed, comparator)) {
+            if (seen !== result) {
+              seen.push(computed);
+            }
+            result.push(value);
+          }
+        }
+      return result;
     }
+    module2.exports = baseUniq;
   }
 });
 
-// node_modules/@actions/cache/lib/cache.js
-var require_cache5 = __commonJS({
-  "node_modules/@actions/cache/lib/cache.js"(exports2) {
-    "use strict";
-    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
+// node_modules/lodash/union.js
+var require_union = __commonJS({
+  "node_modules/lodash/union.js"(exports2, module2) {
+    var baseFlatten = require_baseFlatten();
+    var baseRest = require_baseRest();
+    var baseUniq = require_baseUniq();
+    var isArrayLikeObject = require_isArrayLikeObject();
+    var union = baseRest(function(arrays) {
+      return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));
     });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = 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 ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
-        }
-        __setModuleDefault2(result, mod);
-        return result;
+    module2.exports = union;
+  }
+});
+
+// node_modules/lodash/_overArg.js
+var require_overArg = __commonJS({
+  "node_modules/lodash/_overArg.js"(exports2, module2) {
+    function overArg(func, transform) {
+      return function(arg) {
+        return func(transform(arg));
       };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve8) {
-          resolve8(value);
-        });
+    }
+    module2.exports = overArg;
+  }
+});
+
+// node_modules/lodash/_getPrototype.js
+var require_getPrototype = __commonJS({
+  "node_modules/lodash/_getPrototype.js"(exports2, module2) {
+    var overArg = require_overArg();
+    var getPrototype = overArg(Object.getPrototypeOf, Object);
+    module2.exports = getPrototype;
+  }
+});
+
+// node_modules/lodash/isPlainObject.js
+var require_isPlainObject = __commonJS({
+  "node_modules/lodash/isPlainObject.js"(exports2, module2) {
+    var baseGetTag = require_baseGetTag();
+    var getPrototype = require_getPrototype();
+    var isObjectLike = require_isObjectLike();
+    var objectTag = "[object Object]";
+    var funcProto = Function.prototype;
+    var objectProto = Object.prototype;
+    var funcToString = funcProto.toString;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    var objectCtorString = funcToString.call(Object);
+    function isPlainObject3(value) {
+      if (!isObjectLike(value) || baseGetTag(value) != objectTag) {
+        return false;
       }
-      return new (P || (P = Promise))(function(resolve8, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
+      var proto = getPrototype(value);
+      if (proto === null) {
+        return true;
+      }
+      var Ctor = hasOwnProperty.call(proto, "constructor") && proto.constructor;
+      return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString;
+    }
+    module2.exports = isPlainObject3;
+  }
+});
+
+// node_modules/@isaacs/balanced-match/dist/commonjs/index.js
+var require_commonjs18 = __commonJS({
+  "node_modules/@isaacs/balanced-match/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.range = exports2.balanced = void 0;
+    var balanced = (a, b, str2) => {
+      const ma = a instanceof RegExp ? maybeMatch(a, str2) : a;
+      const mb = b instanceof RegExp ? maybeMatch(b, str2) : b;
+      const r = ma !== null && mb != null && (0, exports2.range)(ma, mb, str2);
+      return r && {
+        start: r[0],
+        end: r[1],
+        pre: str2.slice(0, r[0]),
+        body: str2.slice(r[0] + ma.length, r[1]),
+        post: str2.slice(r[1] + mb.length)
+      };
+    };
+    exports2.balanced = balanced;
+    var maybeMatch = (reg, str2) => {
+      const m = str2.match(reg);
+      return m ? m[0] : null;
+    };
+    var range = (a, b, str2) => {
+      let begs, beg, left, right = void 0, result;
+      let ai = str2.indexOf(a);
+      let bi = str2.indexOf(b, ai + 1);
+      let i = ai;
+      if (ai >= 0 && bi > 0) {
+        if (a === b) {
+          return [ai, bi];
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
+        begs = [];
+        left = str2.length;
+        while (i >= 0 && !result) {
+          if (i === ai) {
+            begs.push(i);
+            ai = str2.indexOf(a, i + 1);
+          } else if (begs.length === 1) {
+            const r = begs.pop();
+            if (r !== void 0)
+              result = [r, bi];
+          } else {
+            beg = begs.pop();
+            if (beg !== void 0 && beg < left) {
+              left = beg;
+              right = bi;
+            }
+            bi = str2.indexOf(b, i + 1);
           }
+          i = ai < bi && ai >= 0 ? ai : bi;
         }
-        function step(result) {
-          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+        if (begs.length && right !== void 0) {
+          result = [left, right];
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.FinalizeCacheError = exports2.ReserveCacheError = exports2.ValidationError = void 0;
-    exports2.isFeatureAvailable = isFeatureAvailable;
-    exports2.restoreCache = restoreCache4;
-    exports2.saveCache = saveCache4;
-    var core17 = __importStar2(require_core());
-    var path16 = __importStar2(require("path"));
-    var utils = __importStar2(require_cacheUtils());
-    var cacheHttpClient = __importStar2(require_cacheHttpClient());
-    var cacheTwirpClient = __importStar2(require_cacheTwirpClient());
-    var config_1 = require_config();
-    var tar_1 = require_tar();
-    var http_client_1 = require_lib();
-    var ValidationError = class _ValidationError extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "ValidationError";
-        Object.setPrototypeOf(this, _ValidationError.prototype);
       }
+      return result;
     };
-    exports2.ValidationError = ValidationError;
-    var ReserveCacheError2 = class _ReserveCacheError extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "ReserveCacheError";
-        Object.setPrototypeOf(this, _ReserveCacheError.prototype);
+    exports2.range = range;
+  }
+});
+
+// node_modules/@isaacs/brace-expansion/dist/commonjs/index.js
+var require_commonjs19 = __commonJS({
+  "node_modules/@isaacs/brace-expansion/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.EXPANSION_MAX = void 0;
+    exports2.expand = expand2;
+    var balanced_match_1 = require_commonjs18();
+    var escSlash = "\0SLASH" + Math.random() + "\0";
+    var escOpen = "\0OPEN" + Math.random() + "\0";
+    var escClose = "\0CLOSE" + Math.random() + "\0";
+    var escComma = "\0COMMA" + Math.random() + "\0";
+    var escPeriod = "\0PERIOD" + Math.random() + "\0";
+    var escSlashPattern = new RegExp(escSlash, "g");
+    var escOpenPattern = new RegExp(escOpen, "g");
+    var escClosePattern = new RegExp(escClose, "g");
+    var escCommaPattern = new RegExp(escComma, "g");
+    var escPeriodPattern = new RegExp(escPeriod, "g");
+    var slashPattern = /\\\\/g;
+    var openPattern = /\\{/g;
+    var closePattern = /\\}/g;
+    var commaPattern = /\\,/g;
+    var periodPattern = /\\./g;
+    exports2.EXPANSION_MAX = 1e5;
+    function numeric(str2) {
+      return !isNaN(str2) ? parseInt(str2, 10) : str2.charCodeAt(0);
+    }
+    function escapeBraces(str2) {
+      return str2.replace(slashPattern, escSlash).replace(openPattern, escOpen).replace(closePattern, escClose).replace(commaPattern, escComma).replace(periodPattern, escPeriod);
+    }
+    function unescapeBraces(str2) {
+      return str2.replace(escSlashPattern, "\\").replace(escOpenPattern, "{").replace(escClosePattern, "}").replace(escCommaPattern, ",").replace(escPeriodPattern, ".");
+    }
+    function parseCommaParts(str2) {
+      if (!str2) {
+        return [""];
       }
-    };
-    exports2.ReserveCacheError = ReserveCacheError2;
-    var FinalizeCacheError = class _FinalizeCacheError extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "FinalizeCacheError";
-        Object.setPrototypeOf(this, _FinalizeCacheError.prototype);
+      const parts = [];
+      const m = (0, balanced_match_1.balanced)("{", "}", str2);
+      if (!m) {
+        return str2.split(",");
       }
-    };
-    exports2.FinalizeCacheError = FinalizeCacheError;
-    function checkPaths(paths) {
-      if (!paths || paths.length === 0) {
-        throw new ValidationError(`Path Validation Error: At least one directory or file path is required`);
+      const { pre, body, post } = m;
+      const p = pre.split(",");
+      p[p.length - 1] += "{" + body + "}";
+      const postParts = parseCommaParts(post);
+      if (post.length) {
+        ;
+        p[p.length - 1] += postParts.shift();
+        p.push.apply(p, postParts);
       }
+      parts.push.apply(parts, p);
+      return parts;
     }
-    function checkKey(key) {
-      if (key.length > 512) {
-        throw new ValidationError(`Key Validation Error: ${key} cannot be larger than 512 characters.`);
-      }
-      const regex = /^[^,]*$/;
-      if (!regex.test(key)) {
-        throw new ValidationError(`Key Validation Error: ${key} cannot contain commas.`);
+    function expand2(str2, options = {}) {
+      if (!str2) {
+        return [];
       }
-    }
-    function isFeatureAvailable() {
-      const cacheServiceVersion = (0, config_1.getCacheServiceVersion)();
-      switch (cacheServiceVersion) {
-        case "v2":
-          return !!process.env["ACTIONS_RESULTS_URL"];
-        case "v1":
-        default:
-          return !!process.env["ACTIONS_CACHE_URL"];
+      const { max = exports2.EXPANSION_MAX } = options;
+      if (str2.slice(0, 2) === "{}") {
+        str2 = "\\{\\}" + str2.slice(2);
       }
+      return expand_(escapeBraces(str2), max, true).map(unescapeBraces);
     }
-    function restoreCache4(paths_1, primaryKey_1, restoreKeys_1, options_1) {
-      return __awaiter2(this, arguments, void 0, function* (paths, primaryKey, restoreKeys, options, enableCrossOsArchive = false) {
-        const cacheServiceVersion = (0, config_1.getCacheServiceVersion)();
-        core17.debug(`Cache service version: ${cacheServiceVersion}`);
-        checkPaths(paths);
-        switch (cacheServiceVersion) {
-          case "v2":
-            return yield restoreCacheV2(paths, primaryKey, restoreKeys, options, enableCrossOsArchive);
-          case "v1":
-          default:
-            return yield restoreCacheV1(paths, primaryKey, restoreKeys, options, enableCrossOsArchive);
-        }
-      });
+    function embrace(str2) {
+      return "{" + str2 + "}";
     }
-    function restoreCacheV1(paths_1, primaryKey_1, restoreKeys_1, options_1) {
-      return __awaiter2(this, arguments, void 0, function* (paths, primaryKey, restoreKeys, options, enableCrossOsArchive = false) {
-        restoreKeys = restoreKeys || [];
-        const keys = [primaryKey, ...restoreKeys];
-        core17.debug("Resolved Keys:");
-        core17.debug(JSON.stringify(keys));
-        if (keys.length > 10) {
-          throw new ValidationError(`Key Validation Error: Keys are limited to a maximum of 10.`);
-        }
-        for (const key of keys) {
-          checkKey(key);
-        }
-        const compressionMethod = yield utils.getCompressionMethod();
-        let archivePath = "";
-        try {
-          const cacheEntry = yield cacheHttpClient.getCacheEntry(keys, paths, {
-            compressionMethod,
-            enableCrossOsArchive
-          });
-          if (!(cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.archiveLocation)) {
-            return void 0;
-          }
-          if (options === null || options === void 0 ? void 0 : options.lookupOnly) {
-            core17.info("Lookup only - skipping download");
-            return cacheEntry.cacheKey;
-          }
-          archivePath = path16.join(yield utils.createTempDirectory(), utils.getCacheFileName(compressionMethod));
-          core17.debug(`Archive Path: ${archivePath}`);
-          yield cacheHttpClient.downloadCache(cacheEntry.archiveLocation, archivePath, options);
-          if (core17.isDebug()) {
-            yield (0, tar_1.listTar)(archivePath, compressionMethod);
-          }
-          const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
-          core17.info(`Cache Size: ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B)`);
-          yield (0, tar_1.extractTar)(archivePath, compressionMethod);
-          core17.info("Cache restored successfully");
-          return cacheEntry.cacheKey;
-        } catch (error3) {
-          const typedError = error3;
-          if (typedError.name === ValidationError.name) {
-            throw error3;
-          } else {
-            if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) {
-              core17.error(`Failed to restore: ${error3.message}`);
-            } else {
-              core17.warning(`Failed to restore: ${error3.message}`);
-            }
-          }
-        } finally {
-          try {
-            yield utils.unlinkFile(archivePath);
-          } catch (error3) {
-            core17.debug(`Failed to delete archive: ${error3}`);
-          }
-        }
-        return void 0;
-      });
+    function isPadded(el) {
+      return /^-?0\d/.test(el);
     }
-    function restoreCacheV2(paths_1, primaryKey_1, restoreKeys_1, options_1) {
-      return __awaiter2(this, arguments, void 0, function* (paths, primaryKey, restoreKeys, options, enableCrossOsArchive = false) {
-        options = Object.assign(Object.assign({}, options), { useAzureSdk: true });
-        restoreKeys = restoreKeys || [];
-        const keys = [primaryKey, ...restoreKeys];
-        core17.debug("Resolved Keys:");
-        core17.debug(JSON.stringify(keys));
-        if (keys.length > 10) {
-          throw new ValidationError(`Key Validation Error: Keys are limited to a maximum of 10.`);
-        }
-        for (const key of keys) {
-          checkKey(key);
-        }
-        let archivePath = "";
-        try {
-          const twirpClient = cacheTwirpClient.internalCacheTwirpClient();
-          const compressionMethod = yield utils.getCompressionMethod();
-          const request2 = {
-            key: primaryKey,
-            restoreKeys,
-            version: utils.getCacheVersion(paths, compressionMethod, enableCrossOsArchive)
-          };
-          const response = yield twirpClient.GetCacheEntryDownloadURL(request2);
-          if (!response.ok) {
-            core17.debug(`Cache not found for version ${request2.version} of keys: ${keys.join(", ")}`);
-            return void 0;
-          }
-          const isRestoreKeyMatch = request2.key !== response.matchedKey;
-          if (isRestoreKeyMatch) {
-            core17.info(`Cache hit for restore-key: ${response.matchedKey}`);
-          } else {
-            core17.info(`Cache hit for: ${response.matchedKey}`);
-          }
-          if (options === null || options === void 0 ? void 0 : options.lookupOnly) {
-            core17.info("Lookup only - skipping download");
-            return response.matchedKey;
-          }
-          archivePath = path16.join(yield utils.createTempDirectory(), utils.getCacheFileName(compressionMethod));
-          core17.debug(`Archive path: ${archivePath}`);
-          core17.debug(`Starting download of archive to: ${archivePath}`);
-          yield cacheHttpClient.downloadCache(response.signedDownloadUrl, archivePath, options);
-          const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
-          core17.info(`Cache Size: ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B)`);
-          if (core17.isDebug()) {
-            yield (0, tar_1.listTar)(archivePath, compressionMethod);
-          }
-          yield (0, tar_1.extractTar)(archivePath, compressionMethod);
-          core17.info("Cache restored successfully");
-          return response.matchedKey;
-        } catch (error3) {
-          const typedError = error3;
-          if (typedError.name === ValidationError.name) {
-            throw error3;
-          } else {
-            if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) {
-              core17.error(`Failed to restore: ${error3.message}`);
-            } else {
-              core17.warning(`Failed to restore: ${error3.message}`);
-            }
-          }
-        } finally {
-          try {
-            if (archivePath) {
-              yield utils.unlinkFile(archivePath);
-            }
-          } catch (error3) {
-            core17.debug(`Failed to delete archive: ${error3}`);
-          }
-        }
-        return void 0;
-      });
+    function lte(i, y) {
+      return i <= y;
     }
-    function saveCache4(paths_1, key_1, options_1) {
-      return __awaiter2(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) {
-        const cacheServiceVersion = (0, config_1.getCacheServiceVersion)();
-        core17.debug(`Cache service version: ${cacheServiceVersion}`);
-        checkPaths(paths);
-        checkKey(key);
-        switch (cacheServiceVersion) {
-          case "v2":
-            return yield saveCacheV2(paths, key, options, enableCrossOsArchive);
-          case "v1":
-          default:
-            return yield saveCacheV1(paths, key, options, enableCrossOsArchive);
-        }
-      });
+    function gte6(i, y) {
+      return i >= y;
     }
-    function saveCacheV1(paths_1, key_1, options_1) {
-      return __awaiter2(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) {
-        var _a, _b, _c, _d, _e;
-        const compressionMethod = yield utils.getCompressionMethod();
-        let cacheId = -1;
-        const cachePaths = yield utils.resolvePaths(paths);
-        core17.debug("Cache Paths:");
-        core17.debug(`${JSON.stringify(cachePaths)}`);
-        if (cachePaths.length === 0) {
-          throw new Error(`Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved.`);
+    function expand_(str2, max, isTop) {
+      const expansions = [];
+      const m = (0, balanced_match_1.balanced)("{", "}", str2);
+      if (!m)
+        return [str2];
+      const pre = m.pre;
+      const post = m.post.length ? expand_(m.post, max, false) : [""];
+      if (/\$$/.test(m.pre)) {
+        for (let k = 0; k < post.length && k < max; k++) {
+          const expansion = pre + "{" + m.body + "}" + post[k];
+          expansions.push(expansion);
         }
-        const archiveFolder = yield utils.createTempDirectory();
-        const archivePath = path16.join(archiveFolder, utils.getCacheFileName(compressionMethod));
-        core17.debug(`Archive Path: ${archivePath}`);
-        try {
-          yield (0, tar_1.createTar)(archiveFolder, cachePaths, compressionMethod);
-          if (core17.isDebug()) {
-            yield (0, tar_1.listTar)(archivePath, compressionMethod);
-          }
-          const fileSizeLimit = 10 * 1024 * 1024 * 1024;
-          const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
-          core17.debug(`File Size: ${archiveFileSize}`);
-          if (archiveFileSize > fileSizeLimit && !(0, config_1.isGhes)()) {
-            throw new Error(`Cache size of ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B) is over the 10GB limit, not saving cache.`);
-          }
-          core17.debug("Reserving Cache");
-          const reserveCacheResponse = yield cacheHttpClient.reserveCache(key, paths, {
-            compressionMethod,
-            enableCrossOsArchive,
-            cacheSize: archiveFileSize
-          });
-          if ((_a = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.result) === null || _a === void 0 ? void 0 : _a.cacheId) {
-            cacheId = (_b = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.result) === null || _b === void 0 ? void 0 : _b.cacheId;
-          } else if ((reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.statusCode) === 400) {
-            throw new Error((_d = (_c = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.error) === null || _c === void 0 ? void 0 : _c.message) !== null && _d !== void 0 ? _d : `Cache size of ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B) is over the data cap limit, not saving cache.`);
-          } else {
-            throw new ReserveCacheError2(`Unable to reserve cache with key ${key}, another job may be creating this cache. More details: ${(_e = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.error) === null || _e === void 0 ? void 0 : _e.message}`);
+      } else {
+        const isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
+        const isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
+        const isSequence = isNumericSequence || isAlphaSequence;
+        const isOptions = m.body.indexOf(",") >= 0;
+        if (!isSequence && !isOptions) {
+          if (m.post.match(/,(?!,).*\}/)) {
+            str2 = m.pre + "{" + m.body + escClose + m.post;
+            return expand_(str2, max, true);
           }
-          core17.debug(`Saving Cache (ID: ${cacheId})`);
-          yield cacheHttpClient.saveCache(cacheId, archivePath, "", options);
-        } catch (error3) {
-          const typedError = error3;
-          if (typedError.name === ValidationError.name) {
-            throw error3;
-          } else if (typedError.name === ReserveCacheError2.name) {
-            core17.info(`Failed to save: ${typedError.message}`);
-          } else {
-            if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) {
-              core17.error(`Failed to save: ${typedError.message}`);
-            } else {
-              core17.warning(`Failed to save: ${typedError.message}`);
+          return [str2];
+        }
+        let n;
+        if (isSequence) {
+          n = m.body.split(/\.\./);
+        } else {
+          n = parseCommaParts(m.body);
+          if (n.length === 1 && n[0] !== void 0) {
+            n = expand_(n[0], max, false).map(embrace);
+            if (n.length === 1) {
+              return post.map((p) => m.pre + n[0] + p);
             }
           }
-        } finally {
-          try {
-            yield utils.unlinkFile(archivePath);
-          } catch (error3) {
-            core17.debug(`Failed to delete archive: ${error3}`);
-          }
-        }
-        return cacheId;
-      });
-    }
-    function saveCacheV2(paths_1, key_1, options_1) {
-      return __awaiter2(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) {
-        options = Object.assign(Object.assign({}, options), { uploadChunkSize: 64 * 1024 * 1024, uploadConcurrency: 8, useAzureSdk: true });
-        const compressionMethod = yield utils.getCompressionMethod();
-        const twirpClient = cacheTwirpClient.internalCacheTwirpClient();
-        let cacheId = -1;
-        const cachePaths = yield utils.resolvePaths(paths);
-        core17.debug("Cache Paths:");
-        core17.debug(`${JSON.stringify(cachePaths)}`);
-        if (cachePaths.length === 0) {
-          throw new Error(`Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved.`);
         }
-        const archiveFolder = yield utils.createTempDirectory();
-        const archivePath = path16.join(archiveFolder, utils.getCacheFileName(compressionMethod));
-        core17.debug(`Archive Path: ${archivePath}`);
-        try {
-          yield (0, tar_1.createTar)(archiveFolder, cachePaths, compressionMethod);
-          if (core17.isDebug()) {
-            yield (0, tar_1.listTar)(archivePath, compressionMethod);
+        let N;
+        if (isSequence && n[0] !== void 0 && n[1] !== void 0) {
+          const x = numeric(n[0]);
+          const y = numeric(n[1]);
+          const width = Math.max(n[0].length, n[1].length);
+          let incr = n.length === 3 && n[2] !== void 0 ? Math.abs(numeric(n[2])) : 1;
+          let test = lte;
+          const reverse = y < x;
+          if (reverse) {
+            incr *= -1;
+            test = gte6;
           }
-          const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
-          core17.debug(`File Size: ${archiveFileSize}`);
-          options.archiveSizeBytes = archiveFileSize;
-          core17.debug("Reserving Cache");
-          const version = utils.getCacheVersion(paths, compressionMethod, enableCrossOsArchive);
-          const request2 = {
-            key,
-            version
-          };
-          let signedUploadUrl;
-          try {
-            const response = yield twirpClient.CreateCacheEntry(request2);
-            if (!response.ok) {
-              if (response.message) {
-                core17.warning(`Cache reservation failed: ${response.message}`);
+          const pad = n.some(isPadded);
+          N = [];
+          for (let i = x; test(i, y); i += incr) {
+            let c;
+            if (isAlphaSequence) {
+              c = String.fromCharCode(i);
+              if (c === "\\") {
+                c = "";
+              }
+            } else {
+              c = String(i);
+              if (pad) {
+                const need = width - c.length;
+                if (need > 0) {
+                  const z = new Array(need + 1).join("0");
+                  if (i < 0) {
+                    c = "-" + z + c.slice(1);
+                  } else {
+                    c = z + c;
+                  }
+                }
               }
-              throw new Error(response.message || "Response was not ok");
             }
-            signedUploadUrl = response.signedUploadUrl;
-          } catch (error3) {
-            core17.debug(`Failed to reserve cache: ${error3}`);
-            throw new ReserveCacheError2(`Unable to reserve cache with key ${key}, another job may be creating this cache.`);
+            N.push(c);
           }
-          core17.debug(`Attempting to upload cache located at: ${archivePath}`);
-          yield cacheHttpClient.saveCache(cacheId, archivePath, signedUploadUrl, options);
-          const finalizeRequest = {
-            key,
-            version,
-            sizeBytes: `${archiveFileSize}`
-          };
-          const finalizeResponse = yield twirpClient.FinalizeCacheEntryUpload(finalizeRequest);
-          core17.debug(`FinalizeCacheEntryUploadResponse: ${finalizeResponse.ok}`);
-          if (!finalizeResponse.ok) {
-            if (finalizeResponse.message) {
-              throw new FinalizeCacheError(finalizeResponse.message);
-            }
-            throw new Error(`Unable to finalize cache with key ${key}, another job may be finalizing this cache.`);
+        } else {
+          N = [];
+          for (let j = 0; j < n.length; j++) {
+            N.push.apply(N, expand_(n[j], max, false));
           }
-          cacheId = parseInt(finalizeResponse.entryId);
-        } catch (error3) {
-          const typedError = error3;
-          if (typedError.name === ValidationError.name) {
-            throw error3;
-          } else if (typedError.name === ReserveCacheError2.name) {
-            core17.info(`Failed to save: ${typedError.message}`);
-          } else if (typedError.name === FinalizeCacheError.name) {
-            core17.warning(typedError.message);
-          } else {
-            if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) {
-              core17.error(`Failed to save: ${typedError.message}`);
-            } else {
-              core17.warning(`Failed to save: ${typedError.message}`);
+        }
+        for (let j = 0; j < N.length; j++) {
+          for (let k = 0; k < post.length && expansions.length < max; k++) {
+            const expansion = pre + N[j] + post[k];
+            if (!isTop || isSequence || expansion) {
+              expansions.push(expansion);
             }
           }
-        } finally {
-          try {
-            yield utils.unlinkFile(archivePath);
-          } catch (error3) {
-            core17.debug(`Failed to delete archive: ${error3}`);
-          }
         }
-        return cacheId;
-      });
+      }
+      return expansions;
     }
   }
 });
 
-// node_modules/@actions/tool-cache/lib/manifest.js
-var require_manifest = __commonJS({
-  "node_modules/@actions/tool-cache/lib/manifest.js"(exports2, module2) {
+// node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js
+var require_assert_valid_pattern = __commonJS({
+  "node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js"(exports2) {
     "use strict";
-    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = 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 ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
-        }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve8) {
-          resolve8(value);
-        });
-      }
-      return new (P || (P = Promise))(function(resolve8, 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 ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2._findMatch = _findMatch;
-    exports2._getOsVersion = _getOsVersion;
-    exports2._readLinuxVersionFile = _readLinuxVersionFile;
-    var semver9 = __importStar2(require_semver2());
-    var core_1 = require_core();
-    var os4 = require("os");
-    var cp = require("child_process");
-    var fs18 = require("fs");
-    function _findMatch(versionSpec, stable, candidates, archFilter) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const platFilter = os4.platform();
-        let result;
-        let match;
-        let file;
-        for (const candidate of candidates) {
-          const version = candidate.version;
-          (0, core_1.debug)(`check ${version} satisfies ${versionSpec}`);
-          if (semver9.satisfies(version, versionSpec) && (!stable || candidate.stable === stable)) {
-            file = candidate.files.find((item) => {
-              (0, core_1.debug)(`${item.arch}===${archFilter} && ${item.platform}===${platFilter}`);
-              let chk = item.arch === archFilter && item.platform === platFilter;
-              if (chk && item.platform_version) {
-                const osVersion = module2.exports._getOsVersion();
-                if (osVersion === item.platform_version) {
-                  chk = true;
-                } else {
-                  chk = semver9.satisfies(osVersion, item.platform_version);
-                }
-              }
-              return chk;
-            });
-            if (file) {
-              (0, core_1.debug)(`matched ${candidate.version}`);
-              match = candidate;
-              break;
-            }
-          }
-        }
-        if (match && file) {
-          result = Object.assign({}, match);
-          result.files = [file];
-        }
-        return result;
-      });
-    }
-    function _getOsVersion() {
-      const plat = os4.platform();
-      let version = "";
-      if (plat === "darwin") {
-        version = cp.execSync("sw_vers -productVersion").toString();
-      } else if (plat === "linux") {
-        const lsbContents = module2.exports._readLinuxVersionFile();
-        if (lsbContents) {
-          const lines = lsbContents.split("\n");
-          for (const line of lines) {
-            const parts = line.split("=");
-            if (parts.length === 2 && (parts[0].trim() === "VERSION_ID" || parts[0].trim() === "DISTRIB_RELEASE")) {
-              version = parts[1].trim().replace(/^"/, "").replace(/"$/, "");
-              break;
-            }
-          }
-        }
+    exports2.assertValidPattern = void 0;
+    var MAX_PATTERN_LENGTH = 1024 * 64;
+    var assertValidPattern = (pattern) => {
+      if (typeof pattern !== "string") {
+        throw new TypeError("invalid pattern");
       }
-      return version;
-    }
-    function _readLinuxVersionFile() {
-      const lsbReleaseFile = "/etc/lsb-release";
-      const osReleaseFile = "/etc/os-release";
-      let contents = "";
-      if (fs18.existsSync(lsbReleaseFile)) {
-        contents = fs18.readFileSync(lsbReleaseFile).toString();
-      } else if (fs18.existsSync(osReleaseFile)) {
-        contents = fs18.readFileSync(osReleaseFile).toString();
+      if (pattern.length > MAX_PATTERN_LENGTH) {
+        throw new TypeError("pattern is too long");
       }
-      return contents;
-    }
+    };
+    exports2.assertValidPattern = assertValidPattern;
   }
 });
 
-// node_modules/@actions/tool-cache/lib/retry-helper.js
-var require_retry_helper = __commonJS({
-  "node_modules/@actions/tool-cache/lib/retry-helper.js"(exports2) {
+// node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js
+var require_brace_expressions = __commonJS({
+  "node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js"(exports2) {
     "use strict";
-    var __createBinding2 = 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(exports2, "__esModule", { value: true });
+    exports2.parseClass = void 0;
+    var posixClasses = {
+      "[:alnum:]": ["\\p{L}\\p{Nl}\\p{Nd}", true],
+      "[:alpha:]": ["\\p{L}\\p{Nl}", true],
+      "[:ascii:]": ["\\x00-\\x7f", false],
+      "[:blank:]": ["\\p{Zs}\\t", true],
+      "[:cntrl:]": ["\\p{Cc}", true],
+      "[:digit:]": ["\\p{Nd}", true],
+      "[:graph:]": ["\\p{Z}\\p{C}", true, true],
+      "[:lower:]": ["\\p{Ll}", true],
+      "[:print:]": ["\\p{C}", true],
+      "[:punct:]": ["\\p{P}", true],
+      "[:space:]": ["\\p{Z}\\t\\r\\n\\v\\f", true],
+      "[:upper:]": ["\\p{Lu}", true],
+      "[:word:]": ["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}", true],
+      "[:xdigit:]": ["A-Fa-f0-9", false]
+    };
+    var braceEscape = (s) => s.replace(/[[\]\\-]/g, "\\$&");
+    var regexpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
+    var rangesToString = (ranges) => ranges.join("");
+    var parseClass = (glob2, position) => {
+      const pos = position;
+      if (glob2.charAt(pos) !== "[") {
+        throw new Error("not in a brace expression");
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = 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 ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+      const ranges = [];
+      const negs = [];
+      let i = pos + 1;
+      let sawStart = false;
+      let uflag = false;
+      let escaping = false;
+      let negate2 = false;
+      let endPos = pos;
+      let rangeStart = "";
+      WHILE: while (i < glob2.length) {
+        const c = glob2.charAt(i);
+        if ((c === "!" || c === "^") && i === pos + 1) {
+          negate2 = true;
+          i++;
+          continue;
         }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve8) {
-          resolve8(value);
-        });
-      }
-      return new (P || (P = Promise))(function(resolve8, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
+        if (c === "]" && sawStart && !escaping) {
+          endPos = i + 1;
+          break;
+        }
+        sawStart = true;
+        if (c === "\\") {
+          if (!escaping) {
+            escaping = true;
+            i++;
+            continue;
           }
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
+        if (c === "[" && !escaping) {
+          for (const [cls, [unip, u, neg]] of Object.entries(posixClasses)) {
+            if (glob2.startsWith(cls, i)) {
+              if (rangeStart) {
+                return ["$.", false, glob2.length - pos, true];
+              }
+              i += cls.length;
+              if (neg)
+                negs.push(unip);
+              else
+                ranges.push(unip);
+              uflag = uflag || u;
+              continue WHILE;
+            }
           }
         }
-        function step(result) {
-          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+        escaping = false;
+        if (rangeStart) {
+          if (c > rangeStart) {
+            ranges.push(braceEscape(rangeStart) + "-" + braceEscape(c));
+          } else if (c === rangeStart) {
+            ranges.push(braceEscape(c));
+          }
+          rangeStart = "";
+          i++;
+          continue;
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.RetryHelper = void 0;
-    var core17 = __importStar2(require_core());
-    var RetryHelper = class {
-      constructor(maxAttempts, minSeconds, maxSeconds) {
-        if (maxAttempts < 1) {
-          throw new Error("max attempts should be greater than or equal to 1");
+        if (glob2.startsWith("-]", i + 1)) {
+          ranges.push(braceEscape(c + "-"));
+          i += 2;
+          continue;
         }
-        this.maxAttempts = maxAttempts;
-        this.minSeconds = Math.floor(minSeconds);
-        this.maxSeconds = Math.floor(maxSeconds);
-        if (this.minSeconds > this.maxSeconds) {
-          throw new Error("min seconds should be less than or equal to max seconds");
+        if (glob2.startsWith("-", i + 1)) {
+          rangeStart = c;
+          i += 2;
+          continue;
         }
+        ranges.push(braceEscape(c));
+        i++;
       }
-      execute(action, isRetryable) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          let attempt = 1;
-          while (attempt < this.maxAttempts) {
-            try {
-              return yield action();
-            } catch (err) {
-              if (isRetryable && !isRetryable(err)) {
-                throw err;
-              }
-              core17.info(err.message);
-            }
-            const seconds = this.getSleepAmount();
-            core17.info(`Waiting ${seconds} seconds before trying again`);
-            yield this.sleep(seconds);
-            attempt++;
-          }
-          return yield action();
-        });
+      if (endPos < i) {
+        return ["", false, 0, false];
       }
-      getSleepAmount() {
-        return Math.floor(Math.random() * (this.maxSeconds - this.minSeconds + 1)) + this.minSeconds;
+      if (!ranges.length && !negs.length) {
+        return ["$.", false, glob2.length - pos, true];
       }
-      sleep(seconds) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          return new Promise((resolve8) => setTimeout(resolve8, seconds * 1e3));
-        });
+      if (negs.length === 0 && ranges.length === 1 && /^\\?.$/.test(ranges[0]) && !negate2) {
+        const r = ranges[0].length === 2 ? ranges[0].slice(-1) : ranges[0];
+        return [regexpEscape(r), false, endPos - pos, false];
+      }
+      const sranges = "[" + (negate2 ? "^" : "") + rangesToString(ranges) + "]";
+      const snegs = "[" + (negate2 ? "" : "^") + rangesToString(negs) + "]";
+      const comb = ranges.length && negs.length ? "(" + sranges + "|" + snegs + ")" : ranges.length ? sranges : snegs;
+      return [comb, uflag, endPos - pos, true];
+    };
+    exports2.parseClass = parseClass;
+  }
+});
+
+// node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js
+var require_unescape = __commonJS({
+  "node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.unescape = void 0;
+    var unescape = (s, { windowsPathsNoEscape = false, magicalBraces = true } = {}) => {
+      if (magicalBraces) {
+        return windowsPathsNoEscape ? s.replace(/\[([^\/\\])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^\/\\])\]/g, "$1$2").replace(/\\([^\/])/g, "$1");
       }
+      return windowsPathsNoEscape ? s.replace(/\[([^\/\\{}])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^\/\\{}])\]/g, "$1$2").replace(/\\([^\/{}])/g, "$1");
     };
-    exports2.RetryHelper = RetryHelper;
+    exports2.unescape = unescape;
   }
 });
 
-// node_modules/@actions/tool-cache/lib/tool-cache.js
-var require_tool_cache = __commonJS({
-  "node_modules/@actions/tool-cache/lib/tool-cache.js"(exports2) {
+// node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js
+var require_ast = __commonJS({
+  "node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js"(exports2) {
     "use strict";
-    var __createBinding2 = 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(exports2, "__esModule", { value: true });
+    exports2.AST = void 0;
+    var brace_expressions_js_1 = require_brace_expressions();
+    var unescape_js_1 = require_unescape();
+    var types = /* @__PURE__ */ new Set(["!", "?", "+", "*", "@"]);
+    var isExtglobType = (c) => types.has(c);
+    var startNoTraversal = "(?!(?:^|/)\\.\\.?(?:$|/))";
+    var startNoDot = "(?!\\.)";
+    var addPatternStart = /* @__PURE__ */ new Set(["[", "."]);
+    var justDots = /* @__PURE__ */ new Set(["..", "."]);
+    var reSpecials = new Set("().*{}+?[]^$\\!");
+    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
+    var qmark = "[^/]";
+    var star = qmark + "*?";
+    var starNoEmpty = qmark + "+?";
+    var AST = class _AST {
+      type;
+      #root;
+      #hasMagic;
+      #uflag = false;
+      #parts = [];
+      #parent;
+      #parentIndex;
+      #negs;
+      #filledNegs = false;
+      #options;
+      #toString;
+      // set to true if it's an extglob with no children
+      // (which really means one child of '')
+      #emptyExt = false;
+      constructor(type2, parent, options = {}) {
+        this.type = type2;
+        if (type2)
+          this.#hasMagic = true;
+        this.#parent = parent;
+        this.#root = this.#parent ? this.#parent.#root : this;
+        this.#options = this.#root === this ? options : this.#root.#options;
+        this.#negs = this.#root === this ? [] : this.#root.#negs;
+        if (type2 === "!" && !this.#root.#filledNegs)
+          this.#negs.push(this);
+        this.#parentIndex = this.#parent ? this.#parent.#parts.length : 0;
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = 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 ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+      get hasMagic() {
+        if (this.#hasMagic !== void 0)
+          return this.#hasMagic;
+        for (const p of this.#parts) {
+          if (typeof p === "string")
+            continue;
+          if (p.type || p.hasMagic)
+            return this.#hasMagic = true;
         }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve8) {
-          resolve8(value);
-        });
+        return this.#hasMagic;
       }
-      return new (P || (P = Promise))(function(resolve8, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
+      // reconstructs the pattern
+      toString() {
+        if (this.#toString !== void 0)
+          return this.#toString;
+        if (!this.type) {
+          return this.#toString = this.#parts.map((p) => String(p)).join("");
+        } else {
+          return this.#toString = this.type + "(" + this.#parts.map((p) => String(p)).join("|") + ")";
+        }
+      }
+      #fillNegs() {
+        if (this !== this.#root)
+          throw new Error("should only call on root");
+        if (this.#filledNegs)
+          return this;
+        this.toString();
+        this.#filledNegs = true;
+        let n;
+        while (n = this.#negs.pop()) {
+          if (n.type !== "!")
+            continue;
+          let p = n;
+          let pp = p.#parent;
+          while (pp) {
+            for (let i = p.#parentIndex + 1; !pp.type && i < pp.#parts.length; i++) {
+              for (const part of n.#parts) {
+                if (typeof part === "string") {
+                  throw new Error("string part in extglob AST??");
+                }
+                part.copyIn(pp.#parts[i]);
+              }
+            }
+            p = pp;
+            pp = p.#parent;
           }
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
+        return this;
+      }
+      push(...parts) {
+        for (const p of parts) {
+          if (p === "")
+            continue;
+          if (typeof p !== "string" && !(p instanceof _AST && p.#parent === this)) {
+            throw new Error("invalid part: " + p);
           }
+          this.#parts.push(p);
         }
-        function step(result) {
-          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+      }
+      toJSON() {
+        const ret = this.type === null ? this.#parts.slice().map((p) => typeof p === "string" ? p : p.toJSON()) : [this.type, ...this.#parts.map((p) => p.toJSON())];
+        if (this.isStart() && !this.type)
+          ret.unshift([]);
+        if (this.isEnd() && (this === this.#root || this.#root.#filledNegs && this.#parent?.type === "!")) {
+          ret.push({});
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.HTTPError = void 0;
-    exports2.downloadTool = downloadTool2;
-    exports2.extract7z = extract7z;
-    exports2.extractTar = extractTar2;
-    exports2.extractXar = extractXar;
-    exports2.extractZip = extractZip;
-    exports2.cacheDir = cacheDir;
-    exports2.cacheFile = cacheFile;
-    exports2.find = find2;
-    exports2.findAllVersions = findAllVersions2;
-    exports2.getManifestFromRepo = getManifestFromRepo;
-    exports2.findFromManifest = findFromManifest;
-    exports2.isExplicitVersion = isExplicitVersion;
-    exports2.evaluateVersions = evaluateVersions;
-    var core17 = __importStar2(require_core());
-    var io7 = __importStar2(require_io());
-    var crypto2 = __importStar2(require("crypto"));
-    var fs18 = __importStar2(require("fs"));
-    var mm = __importStar2(require_manifest());
-    var os4 = __importStar2(require("os"));
-    var path16 = __importStar2(require("path"));
-    var httpm = __importStar2(require_lib());
-    var semver9 = __importStar2(require_semver2());
-    var stream2 = __importStar2(require("stream"));
-    var util = __importStar2(require("util"));
-    var assert_1 = require("assert");
-    var exec_1 = require_exec();
-    var retry_helper_1 = require_retry_helper();
-    var HTTPError2 = class extends Error {
-      constructor(httpStatusCode) {
-        super(`Unexpected HTTP response: ${httpStatusCode}`);
-        this.httpStatusCode = httpStatusCode;
-        Object.setPrototypeOf(this, new.target.prototype);
+        return ret;
       }
-    };
-    exports2.HTTPError = HTTPError2;
-    var IS_WINDOWS = process.platform === "win32";
-    var IS_MAC = process.platform === "darwin";
-    var userAgent2 = "actions/tool-cache";
-    function downloadTool2(url2, dest, auth2, headers) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        dest = dest || path16.join(_getTempDirectory(), crypto2.randomUUID());
-        yield io7.mkdirP(path16.dirname(dest));
-        core17.debug(`Downloading ${url2}`);
-        core17.debug(`Destination ${dest}`);
-        const maxAttempts = 3;
-        const minSeconds = _getGlobal("TEST_DOWNLOAD_TOOL_RETRY_MIN_SECONDS", 10);
-        const maxSeconds = _getGlobal("TEST_DOWNLOAD_TOOL_RETRY_MAX_SECONDS", 20);
-        const retryHelper = new retry_helper_1.RetryHelper(maxAttempts, minSeconds, maxSeconds);
-        return yield retryHelper.execute(() => __awaiter2(this, void 0, void 0, function* () {
-          return yield downloadToolAttempt(url2, dest || "", auth2, headers);
-        }), (err) => {
-          if (err instanceof HTTPError2 && err.httpStatusCode) {
-            if (err.httpStatusCode < 500 && err.httpStatusCode !== 408 && err.httpStatusCode !== 429) {
-              return false;
-            }
-          }
+      isStart() {
+        if (this.#root === this)
           return true;
-        });
-      });
-    }
-    function downloadToolAttempt(url2, dest, auth2, headers) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        if (fs18.existsSync(dest)) {
-          throw new Error(`Destination file path ${dest} already exists`);
-        }
-        const http = new httpm.HttpClient(userAgent2, [], {
-          allowRetries: false
-        });
-        if (auth2) {
-          core17.debug("set auth");
-          if (headers === void 0) {
-            headers = {};
+        if (!this.#parent?.isStart())
+          return false;
+        if (this.#parentIndex === 0)
+          return true;
+        const p = this.#parent;
+        for (let i = 0; i < this.#parentIndex; i++) {
+          const pp = p.#parts[i];
+          if (!(pp instanceof _AST && pp.type === "!")) {
+            return false;
           }
-          headers.authorization = auth2;
         }
-        const response = yield http.get(url2, headers);
-        if (response.message.statusCode !== 200) {
-          const err = new HTTPError2(response.message.statusCode);
-          core17.debug(`Failed to download from "${url2}". Code(${response.message.statusCode}) Message(${response.message.statusMessage})`);
-          throw err;
+        return true;
+      }
+      isEnd() {
+        if (this.#root === this)
+          return true;
+        if (this.#parent?.type === "!")
+          return true;
+        if (!this.#parent?.isEnd())
+          return false;
+        if (!this.type)
+          return this.#parent?.isEnd();
+        const pl = this.#parent ? this.#parent.#parts.length : 0;
+        return this.#parentIndex === pl - 1;
+      }
+      copyIn(part) {
+        if (typeof part === "string")
+          this.push(part);
+        else
+          this.push(part.clone(this));
+      }
+      clone(parent) {
+        const c = new _AST(this.type, parent);
+        for (const p of this.#parts) {
+          c.copyIn(p);
         }
-        const pipeline = util.promisify(stream2.pipeline);
-        const responseMessageFactory = _getGlobal("TEST_DOWNLOAD_TOOL_RESPONSE_MESSAGE_FACTORY", () => response.message);
-        const readStream = responseMessageFactory();
-        let succeeded = false;
-        try {
-          yield pipeline(readStream, fs18.createWriteStream(dest));
-          core17.debug("download complete");
-          succeeded = true;
-          return dest;
-        } finally {
-          if (!succeeded) {
-            core17.debug("download failed");
-            try {
-              yield io7.rmRF(dest);
-            } catch (err) {
-              core17.debug(`Failed to delete '${dest}'. ${err.message}`);
+        return c;
+      }
+      static #parseAST(str2, ast, pos, opt) {
+        let escaping = false;
+        let inBrace = false;
+        let braceStart = -1;
+        let braceNeg = false;
+        if (ast.type === null) {
+          let i2 = pos;
+          let acc2 = "";
+          while (i2 < str2.length) {
+            const c = str2.charAt(i2++);
+            if (escaping || c === "\\") {
+              escaping = !escaping;
+              acc2 += c;
+              continue;
             }
+            if (inBrace) {
+              if (i2 === braceStart + 1) {
+                if (c === "^" || c === "!") {
+                  braceNeg = true;
+                }
+              } else if (c === "]" && !(i2 === braceStart + 2 && braceNeg)) {
+                inBrace = false;
+              }
+              acc2 += c;
+              continue;
+            } else if (c === "[") {
+              inBrace = true;
+              braceStart = i2;
+              braceNeg = false;
+              acc2 += c;
+              continue;
+            }
+            if (!opt.noext && isExtglobType(c) && str2.charAt(i2) === "(") {
+              ast.push(acc2);
+              acc2 = "";
+              const ext = new _AST(c, ast);
+              i2 = _AST.#parseAST(str2, ext, i2, opt);
+              ast.push(ext);
+              continue;
+            }
+            acc2 += c;
           }
+          ast.push(acc2);
+          return i2;
         }
-      });
-    }
-    function extract7z(file, dest, _7zPath) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        (0, assert_1.ok)(IS_WINDOWS, "extract7z() not supported on current OS");
-        (0, assert_1.ok)(file, 'parameter "file" is required');
-        dest = yield _createExtractFolder(dest);
-        const originalCwd = process.cwd();
-        process.chdir(dest);
-        if (_7zPath) {
-          try {
-            const logLevel = core17.isDebug() ? "-bb1" : "-bb0";
-            const args = [
-              "x",
-              // eXtract files with full paths
-              logLevel,
-              // -bb[0-3] : set output log level
-              "-bd",
-              // disable progress indicator
-              "-sccUTF-8",
-              // set charset for for console input/output
-              file
-            ];
-            const options = {
-              silent: true
-            };
-            yield (0, exec_1.exec)(`"${_7zPath}"`, args, options);
-          } finally {
-            process.chdir(originalCwd);
+        let i = pos + 1;
+        let part = new _AST(null, ast);
+        const parts = [];
+        let acc = "";
+        while (i < str2.length) {
+          const c = str2.charAt(i++);
+          if (escaping || c === "\\") {
+            escaping = !escaping;
+            acc += c;
+            continue;
           }
-        } else {
-          const escapedScript = path16.join(__dirname, "..", "scripts", "Invoke-7zdec.ps1").replace(/'/g, "''").replace(/"|\n|\r/g, "");
-          const escapedFile = file.replace(/'/g, "''").replace(/"|\n|\r/g, "");
-          const escapedTarget = dest.replace(/'/g, "''").replace(/"|\n|\r/g, "");
-          const command = `& '${escapedScript}' -Source '${escapedFile}' -Target '${escapedTarget}'`;
-          const args = [
-            "-NoLogo",
-            "-Sta",
-            "-NoProfile",
-            "-NonInteractive",
-            "-ExecutionPolicy",
-            "Unrestricted",
-            "-Command",
-            command
-          ];
-          const options = {
-            silent: true
-          };
-          try {
-            const powershellPath = yield io7.which("powershell", true);
-            yield (0, exec_1.exec)(`"${powershellPath}"`, args, options);
-          } finally {
-            process.chdir(originalCwd);
+          if (inBrace) {
+            if (i === braceStart + 1) {
+              if (c === "^" || c === "!") {
+                braceNeg = true;
+              }
+            } else if (c === "]" && !(i === braceStart + 2 && braceNeg)) {
+              inBrace = false;
+            }
+            acc += c;
+            continue;
+          } else if (c === "[") {
+            inBrace = true;
+            braceStart = i;
+            braceNeg = false;
+            acc += c;
+            continue;
           }
-        }
-        return dest;
-      });
-    }
-    function extractTar2(file_1, dest_1) {
-      return __awaiter2(this, arguments, void 0, function* (file, dest, flags = "xz") {
-        if (!file) {
-          throw new Error("parameter 'file' is required");
-        }
-        dest = yield _createExtractFolder(dest);
-        core17.debug("Checking tar --version");
-        let versionOutput = "";
-        yield (0, exec_1.exec)("tar --version", [], {
-          ignoreReturnCode: true,
-          silent: true,
-          listeners: {
-            stdout: (data) => versionOutput += data.toString(),
-            stderr: (data) => versionOutput += data.toString()
+          if (isExtglobType(c) && str2.charAt(i) === "(") {
+            part.push(acc);
+            acc = "";
+            const ext = new _AST(c, part);
+            part.push(ext);
+            i = _AST.#parseAST(str2, ext, i, opt);
+            continue;
           }
-        });
-        core17.debug(versionOutput.trim());
-        const isGnuTar = versionOutput.toUpperCase().includes("GNU TAR");
-        let args;
-        if (flags instanceof Array) {
-          args = flags;
-        } else {
-          args = [flags];
-        }
-        if (core17.isDebug() && !flags.includes("v")) {
-          args.push("-v");
-        }
-        let destArg = dest;
-        let fileArg = file;
-        if (IS_WINDOWS && isGnuTar) {
-          args.push("--force-local");
-          destArg = dest.replace(/\\/g, "/");
-          fileArg = file.replace(/\\/g, "/");
-        }
-        if (isGnuTar) {
-          args.push("--warning=no-unknown-keyword");
-          args.push("--overwrite");
-        }
-        args.push("-C", destArg, "-f", fileArg);
-        yield (0, exec_1.exec)(`tar`, args);
-        return dest;
-      });
-    }
-    function extractXar(file_1, dest_1) {
-      return __awaiter2(this, arguments, void 0, function* (file, dest, flags = []) {
-        (0, assert_1.ok)(IS_MAC, "extractXar() not supported on current OS");
-        (0, assert_1.ok)(file, 'parameter "file" is required');
-        dest = yield _createExtractFolder(dest);
-        let args;
-        if (flags instanceof Array) {
-          args = flags;
-        } else {
-          args = [flags];
-        }
-        args.push("-x", "-C", dest, "-f", file);
-        if (core17.isDebug()) {
-          args.push("-v");
-        }
-        const xarPath = yield io7.which("xar", true);
-        yield (0, exec_1.exec)(`"${xarPath}"`, _unique(args));
-        return dest;
-      });
-    }
-    function extractZip(file, dest) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        if (!file) {
-          throw new Error("parameter 'file' is required");
-        }
-        dest = yield _createExtractFolder(dest);
-        if (IS_WINDOWS) {
-          yield extractZipWin(file, dest);
-        } else {
-          yield extractZipNix(file, dest);
-        }
-        return dest;
-      });
-    }
-    function extractZipWin(file, dest) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const escapedFile = file.replace(/'/g, "''").replace(/"|\n|\r/g, "");
-        const escapedDest = dest.replace(/'/g, "''").replace(/"|\n|\r/g, "");
-        const pwshPath = yield io7.which("pwsh", false);
-        if (pwshPath) {
-          const pwshCommand = [
-            `$ErrorActionPreference = 'Stop' ;`,
-            `try { Add-Type -AssemblyName System.IO.Compression.ZipFile } catch { } ;`,
-            `try { [System.IO.Compression.ZipFile]::ExtractToDirectory('${escapedFile}', '${escapedDest}', $true) }`,
-            `catch { if (($_.Exception.GetType().FullName -eq 'System.Management.Automation.MethodException') -or ($_.Exception.GetType().FullName -eq 'System.Management.Automation.RuntimeException') ){ Expand-Archive -LiteralPath '${escapedFile}' -DestinationPath '${escapedDest}' -Force } else { throw $_ } } ;`
-          ].join(" ");
-          const args = [
-            "-NoLogo",
-            "-NoProfile",
-            "-NonInteractive",
-            "-ExecutionPolicy",
-            "Unrestricted",
-            "-Command",
-            pwshCommand
-          ];
-          core17.debug(`Using pwsh at path: ${pwshPath}`);
-          yield (0, exec_1.exec)(`"${pwshPath}"`, args);
-        } else {
-          const powershellCommand = [
-            `$ErrorActionPreference = 'Stop' ;`,
-            `try { Add-Type -AssemblyName System.IO.Compression.FileSystem } catch { } ;`,
-            `if ((Get-Command -Name Expand-Archive -Module Microsoft.PowerShell.Archive -ErrorAction Ignore)) { Expand-Archive -LiteralPath '${escapedFile}' -DestinationPath '${escapedDest}' -Force }`,
-            `else {[System.IO.Compression.ZipFile]::ExtractToDirectory('${escapedFile}', '${escapedDest}', $true) }`
-          ].join(" ");
-          const args = [
-            "-NoLogo",
-            "-Sta",
-            "-NoProfile",
-            "-NonInteractive",
-            "-ExecutionPolicy",
-            "Unrestricted",
-            "-Command",
-            powershellCommand
-          ];
-          const powershellPath = yield io7.which("powershell", true);
-          core17.debug(`Using powershell at path: ${powershellPath}`);
-          yield (0, exec_1.exec)(`"${powershellPath}"`, args);
-        }
-      });
-    }
-    function extractZipNix(file, dest) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const unzipPath = yield io7.which("unzip", true);
-        const args = [file];
-        if (!core17.isDebug()) {
-          args.unshift("-q");
-        }
-        args.unshift("-o");
-        yield (0, exec_1.exec)(`"${unzipPath}"`, args, { cwd: dest });
-      });
-    }
-    function cacheDir(sourceDir, tool, version, arch2) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        version = semver9.clean(version) || version;
-        arch2 = arch2 || os4.arch();
-        core17.debug(`Caching tool ${tool} ${version} ${arch2}`);
-        core17.debug(`source dir: ${sourceDir}`);
-        if (!fs18.statSync(sourceDir).isDirectory()) {
-          throw new Error("sourceDir is not a directory");
-        }
-        const destPath = yield _createToolPath(tool, version, arch2);
-        for (const itemName of fs18.readdirSync(sourceDir)) {
-          const s = path16.join(sourceDir, itemName);
-          yield io7.cp(s, destPath, { recursive: true });
-        }
-        _completeToolPath(tool, version, arch2);
-        return destPath;
-      });
-    }
-    function cacheFile(sourceFile, targetFile, tool, version, arch2) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        version = semver9.clean(version) || version;
-        arch2 = arch2 || os4.arch();
-        core17.debug(`Caching tool ${tool} ${version} ${arch2}`);
-        core17.debug(`source file: ${sourceFile}`);
-        if (!fs18.statSync(sourceFile).isFile()) {
-          throw new Error("sourceFile is not a file");
+          if (c === "|") {
+            part.push(acc);
+            acc = "";
+            parts.push(part);
+            part = new _AST(null, ast);
+            continue;
+          }
+          if (c === ")") {
+            if (acc === "" && ast.#parts.length === 0) {
+              ast.#emptyExt = true;
+            }
+            part.push(acc);
+            acc = "";
+            ast.push(...parts, part);
+            return i;
+          }
+          acc += c;
         }
-        const destFolder = yield _createToolPath(tool, version, arch2);
-        const destPath = path16.join(destFolder, targetFile);
-        core17.debug(`destination file ${destPath}`);
-        yield io7.cp(sourceFile, destPath);
-        _completeToolPath(tool, version, arch2);
-        return destFolder;
-      });
-    }
-    function find2(toolName, versionSpec, arch2) {
-      if (!toolName) {
-        throw new Error("toolName parameter is required");
-      }
-      if (!versionSpec) {
-        throw new Error("versionSpec parameter is required");
+        ast.type = null;
+        ast.#hasMagic = void 0;
+        ast.#parts = [str2.substring(pos - 1)];
+        return i;
       }
-      arch2 = arch2 || os4.arch();
-      if (!isExplicitVersion(versionSpec)) {
-        const localVersions = findAllVersions2(toolName, arch2);
-        const match = evaluateVersions(localVersions, versionSpec);
-        versionSpec = match;
+      static fromGlob(pattern, options = {}) {
+        const ast = new _AST(null, void 0, options);
+        _AST.#parseAST(pattern, ast, 0, options);
+        return ast;
       }
-      let toolPath = "";
-      if (versionSpec) {
-        versionSpec = semver9.clean(versionSpec) || "";
-        const cachePath = path16.join(_getCacheDirectory(), toolName, versionSpec, arch2);
-        core17.debug(`checking cache: ${cachePath}`);
-        if (fs18.existsSync(cachePath) && fs18.existsSync(`${cachePath}.complete`)) {
-          core17.debug(`Found tool in cache ${toolName} ${versionSpec} ${arch2}`);
-          toolPath = cachePath;
-        } else {
-          core17.debug("not found");
+      // returns the regular expression if there's magic, or the unescaped
+      // string if not.
+      toMMPattern() {
+        if (this !== this.#root)
+          return this.#root.toMMPattern();
+        const glob2 = this.toString();
+        const [re, body, hasMagic, uflag] = this.toRegExpSource();
+        const anyMagic = hasMagic || this.#hasMagic || this.#options.nocase && !this.#options.nocaseMagicOnly && glob2.toUpperCase() !== glob2.toLowerCase();
+        if (!anyMagic) {
+          return body;
         }
+        const flags = (this.#options.nocase ? "i" : "") + (uflag ? "u" : "");
+        return Object.assign(new RegExp(`^${re}$`, flags), {
+          _src: re,
+          _glob: glob2
+        });
       }
-      return toolPath;
-    }
-    function findAllVersions2(toolName, arch2) {
-      const versions = [];
-      arch2 = arch2 || os4.arch();
-      const toolPath = path16.join(_getCacheDirectory(), toolName);
-      if (fs18.existsSync(toolPath)) {
-        const children = fs18.readdirSync(toolPath);
-        for (const child of children) {
-          if (isExplicitVersion(child)) {
-            const fullPath = path16.join(toolPath, child, arch2 || "");
-            if (fs18.existsSync(fullPath) && fs18.existsSync(`${fullPath}.complete`)) {
-              versions.push(child);
+      get options() {
+        return this.#options;
+      }
+      // returns the string match, the regexp source, whether there's magic
+      // in the regexp (so a regular expression is required) and whether or
+      // not the uflag is needed for the regular expression (for posix classes)
+      // TODO: instead of injecting the start/end at this point, just return
+      // the BODY of the regexp, along with the start/end portions suitable
+      // for binding the start/end in either a joined full-path makeRe context
+      // (where we bind to (^|/), or a standalone matchPart context (where
+      // we bind to ^, and not /).  Otherwise slashes get duped!
+      //
+      // In part-matching mode, the start is:
+      // - if not isStart: nothing
+      // - if traversal possible, but not allowed: ^(?!\.\.?$)
+      // - if dots allowed or not possible: ^
+      // - if dots possible and not allowed: ^(?!\.)
+      // end is:
+      // - if not isEnd(): nothing
+      // - else: $
+      //
+      // In full-path matching mode, we put the slash at the START of the
+      // pattern, so start is:
+      // - if first pattern: same as part-matching mode
+      // - if not isStart(): nothing
+      // - if traversal possible, but not allowed: /(?!\.\.?(?:$|/))
+      // - if dots allowed or not possible: /
+      // - if dots possible and not allowed: /(?!\.)
+      // end is:
+      // - if last pattern, same as part-matching mode
+      // - else nothing
+      //
+      // Always put the (?:$|/) on negated tails, though, because that has to be
+      // there to bind the end of the negated pattern portion, and it's easier to
+      // just stick it in now rather than try to inject it later in the middle of
+      // the pattern.
+      //
+      // We can just always return the same end, and leave it up to the caller
+      // to know whether it's going to be used joined or in parts.
+      // And, if the start is adjusted slightly, can do the same there:
+      // - if not isStart: nothing
+      // - if traversal possible, but not allowed: (?:/|^)(?!\.\.?$)
+      // - if dots allowed or not possible: (?:/|^)
+      // - if dots possible and not allowed: (?:/|^)(?!\.)
+      //
+      // But it's better to have a simpler binding without a conditional, for
+      // performance, so probably better to return both start options.
+      //
+      // Then the caller just ignores the end if it's not the first pattern,
+      // and the start always gets applied.
+      //
+      // But that's always going to be $ if it's the ending pattern, or nothing,
+      // so the caller can just attach $ at the end of the pattern when building.
+      //
+      // So the todo is:
+      // - better detect what kind of start is needed
+      // - return both flavors of starting pattern
+      // - attach $ at the end of the pattern when creating the actual RegExp
+      //
+      // Ah, but wait, no, that all only applies to the root when the first pattern
+      // is not an extglob. If the first pattern IS an extglob, then we need all
+      // that dot prevention biz to live in the extglob portions, because eg
+      // +(*|.x*) can match .xy but not .yx.
+      //
+      // So, return the two flavors if it's #root and the first child is not an
+      // AST, otherwise leave it to the child AST to handle it, and there,
+      // use the (?:^|/) style of start binding.
+      //
+      // Even simplified further:
+      // - Since the start for a join is eg /(?!\.) and the start for a part
+      // is ^(?!\.), we can just prepend (?!\.) to the pattern (either root
+      // or start or whatever) and prepend ^ or / at the Regexp construction.
+      toRegExpSource(allowDot) {
+        const dot = allowDot ?? !!this.#options.dot;
+        if (this.#root === this)
+          this.#fillNegs();
+        if (!this.type) {
+          const noEmpty = this.isStart() && this.isEnd() && !this.#parts.some((s) => typeof s !== "string");
+          const src = this.#parts.map((p) => {
+            const [re, _2, hasMagic, uflag] = typeof p === "string" ? _AST.#parseGlob(p, this.#hasMagic, noEmpty) : p.toRegExpSource(allowDot);
+            this.#hasMagic = this.#hasMagic || hasMagic;
+            this.#uflag = this.#uflag || uflag;
+            return re;
+          }).join("");
+          let start2 = "";
+          if (this.isStart()) {
+            if (typeof this.#parts[0] === "string") {
+              const dotTravAllowed = this.#parts.length === 1 && justDots.has(this.#parts[0]);
+              if (!dotTravAllowed) {
+                const aps = addPatternStart;
+                const needNoTrav = (
+                  // dots are allowed, and the pattern starts with [ or .
+                  dot && aps.has(src.charAt(0)) || // the pattern starts with \., and then [ or .
+                  src.startsWith("\\.") && aps.has(src.charAt(2)) || // the pattern starts with \.\., and then [ or .
+                  src.startsWith("\\.\\.") && aps.has(src.charAt(4))
+                );
+                const needNoDot = !dot && !allowDot && aps.has(src.charAt(0));
+                start2 = needNoTrav ? startNoTraversal : needNoDot ? startNoDot : "";
+              }
             }
           }
-        }
-      }
-      return versions;
-    }
-    function getManifestFromRepo(owner_1, repo_1, auth_1) {
-      return __awaiter2(this, arguments, void 0, function* (owner, repo, auth2, branch = "master") {
-        let releases = [];
-        const treeUrl = `https://api.github.com/repos/${owner}/${repo}/git/trees/${branch}`;
-        const http = new httpm.HttpClient("tool-cache");
-        const headers = {};
-        if (auth2) {
-          core17.debug("set auth");
-          headers.authorization = auth2;
-        }
-        const response = yield http.getJson(treeUrl, headers);
-        if (!response.result) {
-          return releases;
-        }
-        let manifestUrl = "";
-        for (const item of response.result.tree) {
-          if (item.path === "versions-manifest.json") {
-            manifestUrl = item.url;
-            break;
+          let end = "";
+          if (this.isEnd() && this.#root.#filledNegs && this.#parent?.type === "!") {
+            end = "(?:$|\\/)";
           }
+          const final2 = start2 + src + end;
+          return [
+            final2,
+            (0, unescape_js_1.unescape)(src),
+            this.#hasMagic = !!this.#hasMagic,
+            this.#uflag
+          ];
         }
-        headers["accept"] = "application/vnd.github.VERSION.raw";
-        let versionsRaw = yield (yield http.get(manifestUrl, headers)).readBody();
-        if (versionsRaw) {
-          versionsRaw = versionsRaw.replace(/^\uFEFF/, "");
-          try {
-            releases = JSON.parse(versionsRaw);
-          } catch (_a) {
-            core17.debug("Invalid json");
-          }
+        const repeated = this.type === "*" || this.type === "+";
+        const start = this.type === "!" ? "(?:(?!(?:" : "(?:";
+        let body = this.#partsToRegExp(dot);
+        if (this.isStart() && this.isEnd() && !body && this.type !== "!") {
+          const s = this.toString();
+          this.#parts = [s];
+          this.type = null;
+          this.#hasMagic = void 0;
+          return [s, (0, unescape_js_1.unescape)(this.toString()), false, false];
         }
-        return releases;
-      });
-    }
-    function findFromManifest(versionSpec_1, stable_1, manifest_1) {
-      return __awaiter2(this, arguments, void 0, function* (versionSpec, stable, manifest, archFilter = os4.arch()) {
-        const match = yield mm._findMatch(versionSpec, stable, manifest, archFilter);
-        return match;
-      });
-    }
-    function _createExtractFolder(dest) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        if (!dest) {
-          dest = path16.join(_getTempDirectory(), crypto2.randomUUID());
+        let bodyDotAllowed = !repeated || allowDot || dot || !startNoDot ? "" : this.#partsToRegExp(true);
+        if (bodyDotAllowed === body) {
+          bodyDotAllowed = "";
         }
-        yield io7.mkdirP(dest);
-        return dest;
-      });
-    }
-    function _createToolPath(tool, version, arch2) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const folderPath = path16.join(_getCacheDirectory(), tool, semver9.clean(version) || version, arch2 || "");
-        core17.debug(`destination ${folderPath}`);
-        const markerPath = `${folderPath}.complete`;
-        yield io7.rmRF(folderPath);
-        yield io7.rmRF(markerPath);
-        yield io7.mkdirP(folderPath);
-        return folderPath;
-      });
-    }
-    function _completeToolPath(tool, version, arch2) {
-      const folderPath = path16.join(_getCacheDirectory(), tool, semver9.clean(version) || version, arch2 || "");
-      const markerPath = `${folderPath}.complete`;
-      fs18.writeFileSync(markerPath, "");
-      core17.debug("finished caching tool");
-    }
-    function isExplicitVersion(versionSpec) {
-      const c = semver9.clean(versionSpec) || "";
-      core17.debug(`isExplicit: ${c}`);
-      const valid3 = semver9.valid(c) != null;
-      core17.debug(`explicit? ${valid3}`);
-      return valid3;
-    }
-    function evaluateVersions(versions, versionSpec) {
-      let version = "";
-      core17.debug(`evaluating ${versions.length} versions`);
-      versions = versions.sort((a, b) => {
-        if (semver9.gt(a, b)) {
-          return 1;
+        if (bodyDotAllowed) {
+          body = `(?:${body})(?:${bodyDotAllowed})*?`;
         }
-        return -1;
-      });
-      for (let i = versions.length - 1; i >= 0; i--) {
-        const potential = versions[i];
-        const satisfied = semver9.satisfies(potential, versionSpec);
-        if (satisfied) {
-          version = potential;
-          break;
+        let final = "";
+        if (this.type === "!" && this.#emptyExt) {
+          final = (this.isStart() && !dot ? startNoDot : "") + starNoEmpty;
+        } else {
+          const close = this.type === "!" ? (
+            // !() must match something,but !(x) can match ''
+            "))" + (this.isStart() && !dot && !allowDot ? startNoDot : "") + star + ")"
+          ) : this.type === "@" ? ")" : this.type === "?" ? ")?" : this.type === "+" && bodyDotAllowed ? ")" : this.type === "*" && bodyDotAllowed ? `)?` : `)${this.type}`;
+          final = start + body + close;
         }
+        return [
+          final,
+          (0, unescape_js_1.unescape)(body),
+          this.#hasMagic = !!this.#hasMagic,
+          this.#uflag
+        ];
       }
-      if (version) {
-        core17.debug(`matched: ${version}`);
-      } else {
-        core17.debug("match not found");
+      #partsToRegExp(dot) {
+        return this.#parts.map((p) => {
+          if (typeof p === "string") {
+            throw new Error("string type in extglob ast??");
+          }
+          const [re, _2, _hasMagic, uflag] = p.toRegExpSource(dot);
+          this.#uflag = this.#uflag || uflag;
+          return re;
+        }).filter((p) => !(this.isStart() && this.isEnd()) || !!p).join("|");
       }
-      return version;
-    }
-    function _getCacheDirectory() {
-      const cacheDirectory = process.env["RUNNER_TOOL_CACHE"] || "";
-      (0, assert_1.ok)(cacheDirectory, "Expected RUNNER_TOOL_CACHE to be defined");
-      return cacheDirectory;
-    }
-    function _getTempDirectory() {
-      const tempDirectory = process.env["RUNNER_TEMP"] || "";
-      (0, assert_1.ok)(tempDirectory, "Expected RUNNER_TEMP to be defined");
-      return tempDirectory;
-    }
-    function _getGlobal(key, defaultValue) {
-      const value = global[key];
-      return value !== void 0 ? value : defaultValue;
-    }
-    function _unique(values) {
-      return Array.from(new Set(values));
-    }
-  }
-});
-
-// node_modules/fast-deep-equal/index.js
-var require_fast_deep_equal = __commonJS({
-  "node_modules/fast-deep-equal/index.js"(exports2, module2) {
-    "use strict";
-    module2.exports = function equal(a, b) {
-      if (a === b) return true;
-      if (a && b && typeof a == "object" && typeof b == "object") {
-        if (a.constructor !== b.constructor) return false;
-        var length, i, keys;
-        if (Array.isArray(a)) {
-          length = a.length;
-          if (length != b.length) return false;
-          for (i = length; i-- !== 0; )
-            if (!equal(a[i], b[i])) return false;
-          return true;
-        }
-        if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;
-        if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();
-        if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();
-        keys = Object.keys(a);
-        length = keys.length;
-        if (length !== Object.keys(b).length) return false;
-        for (i = length; i-- !== 0; )
-          if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;
-        for (i = length; i-- !== 0; ) {
-          var key = keys[i];
-          if (!equal(a[key], b[key])) return false;
+      static #parseGlob(glob2, hasMagic, noEmpty = false) {
+        let escaping = false;
+        let re = "";
+        let uflag = false;
+        for (let i = 0; i < glob2.length; i++) {
+          const c = glob2.charAt(i);
+          if (escaping) {
+            escaping = false;
+            re += (reSpecials.has(c) ? "\\" : "") + c;
+            continue;
+          }
+          if (c === "\\") {
+            if (i === glob2.length - 1) {
+              re += "\\\\";
+            } else {
+              escaping = true;
+            }
+            continue;
+          }
+          if (c === "[") {
+            const [src, needUflag, consumed, magic] = (0, brace_expressions_js_1.parseClass)(glob2, i);
+            if (consumed) {
+              re += src;
+              uflag = uflag || needUflag;
+              i += consumed - 1;
+              hasMagic = hasMagic || magic;
+              continue;
+            }
+          }
+          if (c === "*") {
+            re += noEmpty && glob2 === "*" ? starNoEmpty : star;
+            hasMagic = true;
+            continue;
+          }
+          if (c === "?") {
+            re += qmark;
+            hasMagic = true;
+            continue;
+          }
+          re += regExpEscape(c);
         }
-        return true;
+        return [re, (0, unescape_js_1.unescape)(glob2), !!hasMagic, uflag];
       }
-      return a !== a && b !== b;
     };
+    exports2.AST = AST;
   }
 });
-
-// node_modules/follow-redirects/debug.js
-var require_debug3 = __commonJS({
-  "node_modules/follow-redirects/debug.js"(exports2, module2) {
-    var debug5;
-    module2.exports = function() {
-      if (!debug5) {
-        try {
-          debug5 = require_src()("follow-redirects");
-        } catch (error3) {
-        }
-        if (typeof debug5 !== "function") {
-          debug5 = function() {
-          };
-        }
+
+// node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js
+var require_escape = __commonJS({
+  "node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.escape = void 0;
+    var escape = (s, { windowsPathsNoEscape = false, magicalBraces = false } = {}) => {
+      if (magicalBraces) {
+        return windowsPathsNoEscape ? s.replace(/[?*()[\]{}]/g, "[$&]") : s.replace(/[?*()[\]\\{}]/g, "\\$&");
       }
-      debug5.apply(null, arguments);
+      return windowsPathsNoEscape ? s.replace(/[?*()[\]]/g, "[$&]") : s.replace(/[?*()[\]\\]/g, "\\$&");
     };
+    exports2.escape = escape;
   }
 });
 
-// node_modules/follow-redirects/index.js
-var require_follow_redirects = __commonJS({
-  "node_modules/follow-redirects/index.js"(exports2, module2) {
-    var url2 = require("url");
-    var URL2 = url2.URL;
-    var http = require("http");
-    var https2 = require("https");
-    var Writable = require("stream").Writable;
-    var assert = require("assert");
-    var debug5 = require_debug3();
-    (function detectUnsupportedEnvironment() {
-      var looksLikeNode = typeof process !== "undefined";
-      var looksLikeBrowser = typeof window !== "undefined" && typeof document !== "undefined";
-      var looksLikeV8 = isFunction(Error.captureStackTrace);
-      if (!looksLikeNode && (looksLikeBrowser || !looksLikeV8)) {
-        console.warn("The follow-redirects package should be excluded from browser builds.");
-      }
-    })();
-    var useNativeURL = false;
-    try {
-      assert(new URL2(""));
-    } catch (error3) {
-      useNativeURL = error3.code === "ERR_INVALID_URL";
-    }
-    var preservedUrlFields = [
-      "auth",
-      "host",
-      "hostname",
-      "href",
-      "path",
-      "pathname",
-      "port",
-      "protocol",
-      "query",
-      "search",
-      "hash"
-    ];
-    var events = ["abort", "aborted", "connect", "error", "socket", "timeout"];
-    var eventHandlers = /* @__PURE__ */ Object.create(null);
-    events.forEach(function(event) {
-      eventHandlers[event] = function(arg1, arg2, arg3) {
-        this._redirectable.emit(event, arg1, arg2, arg3);
-      };
-    });
-    var InvalidUrlError = createErrorType(
-      "ERR_INVALID_URL",
-      "Invalid URL",
-      TypeError
-    );
-    var RedirectionError = createErrorType(
-      "ERR_FR_REDIRECTION_FAILURE",
-      "Redirected request failed"
-    );
-    var TooManyRedirectsError = createErrorType(
-      "ERR_FR_TOO_MANY_REDIRECTS",
-      "Maximum number of redirects exceeded",
-      RedirectionError
-    );
-    var MaxBodyLengthExceededError = createErrorType(
-      "ERR_FR_MAX_BODY_LENGTH_EXCEEDED",
-      "Request body larger than maxBodyLength limit"
-    );
-    var WriteAfterEndError = createErrorType(
-      "ERR_STREAM_WRITE_AFTER_END",
-      "write after end"
-    );
-    var destroy = Writable.prototype.destroy || noop3;
-    function RedirectableRequest(options, responseCallback) {
-      Writable.call(this);
-      this._sanitizeOptions(options);
-      this._options = options;
-      this._ended = false;
-      this._ending = false;
-      this._redirectCount = 0;
-      this._redirects = [];
-      this._requestBodyLength = 0;
-      this._requestBodyBuffers = [];
-      if (responseCallback) {
-        this.on("response", responseCallback);
+// node_modules/glob/node_modules/minimatch/dist/commonjs/index.js
+var require_commonjs20 = __commonJS({
+  "node_modules/glob/node_modules/minimatch/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.unescape = exports2.escape = exports2.AST = exports2.Minimatch = exports2.match = exports2.makeRe = exports2.braceExpand = exports2.defaults = exports2.filter = exports2.GLOBSTAR = exports2.sep = exports2.minimatch = void 0;
+    var brace_expansion_1 = require_commonjs19();
+    var assert_valid_pattern_js_1 = require_assert_valid_pattern();
+    var ast_js_1 = require_ast();
+    var escape_js_1 = require_escape();
+    var unescape_js_1 = require_unescape();
+    var minimatch = (p, pattern, options = {}) => {
+      (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
+      if (!options.nocomment && pattern.charAt(0) === "#") {
+        return false;
       }
-      var self2 = this;
-      this._onNativeResponse = function(response) {
-        try {
-          self2._processResponse(response);
-        } catch (cause) {
-          self2.emit("error", cause instanceof RedirectionError ? cause : new RedirectionError({ cause }));
-        }
-      };
-      this._performRequest();
-    }
-    RedirectableRequest.prototype = Object.create(Writable.prototype);
-    RedirectableRequest.prototype.abort = function() {
-      destroyRequest(this._currentRequest);
-      this._currentRequest.abort();
-      this.emit("abort");
+      return new Minimatch(pattern, options).match(p);
     };
-    RedirectableRequest.prototype.destroy = function(error3) {
-      destroyRequest(this._currentRequest, error3);
-      destroy.call(this, error3);
-      return this;
+    exports2.minimatch = minimatch;
+    var starDotExtRE = /^\*+([^+@!?\*\[\(]*)$/;
+    var starDotExtTest = (ext2) => (f) => !f.startsWith(".") && f.endsWith(ext2);
+    var starDotExtTestDot = (ext2) => (f) => f.endsWith(ext2);
+    var starDotExtTestNocase = (ext2) => {
+      ext2 = ext2.toLowerCase();
+      return (f) => !f.startsWith(".") && f.toLowerCase().endsWith(ext2);
     };
-    RedirectableRequest.prototype.write = function(data, encoding, callback) {
-      if (this._ending) {
-        throw new WriteAfterEndError();
-      }
-      if (!isString(data) && !isBuffer(data)) {
-        throw new TypeError("data should be a string, Buffer or Uint8Array");
-      }
-      if (isFunction(encoding)) {
-        callback = encoding;
-        encoding = null;
-      }
-      if (data.length === 0) {
-        if (callback) {
-          callback();
-        }
-        return;
-      }
-      if (this._requestBodyLength + data.length <= this._options.maxBodyLength) {
-        this._requestBodyLength += data.length;
-        this._requestBodyBuffers.push({ data, encoding });
-        this._currentRequest.write(data, encoding, callback);
-      } else {
-        this.emit("error", new MaxBodyLengthExceededError());
-        this.abort();
-      }
+    var starDotExtTestNocaseDot = (ext2) => {
+      ext2 = ext2.toLowerCase();
+      return (f) => f.toLowerCase().endsWith(ext2);
     };
-    RedirectableRequest.prototype.end = function(data, encoding, callback) {
-      if (isFunction(data)) {
-        callback = data;
-        data = encoding = null;
-      } else if (isFunction(encoding)) {
-        callback = encoding;
-        encoding = null;
-      }
-      if (!data) {
-        this._ended = this._ending = true;
-        this._currentRequest.end(null, null, callback);
-      } else {
-        var self2 = this;
-        var currentRequest = this._currentRequest;
-        this.write(data, encoding, function() {
-          self2._ended = true;
-          currentRequest.end(null, null, callback);
-        });
-        this._ending = true;
-      }
+    var starDotStarRE = /^\*+\.\*+$/;
+    var starDotStarTest = (f) => !f.startsWith(".") && f.includes(".");
+    var starDotStarTestDot = (f) => f !== "." && f !== ".." && f.includes(".");
+    var dotStarRE = /^\.\*+$/;
+    var dotStarTest = (f) => f !== "." && f !== ".." && f.startsWith(".");
+    var starRE = /^\*+$/;
+    var starTest = (f) => f.length !== 0 && !f.startsWith(".");
+    var starTestDot = (f) => f.length !== 0 && f !== "." && f !== "..";
+    var qmarksRE = /^\?+([^+@!?\*\[\(]*)?$/;
+    var qmarksTestNocase = ([$0, ext2 = ""]) => {
+      const noext = qmarksTestNoExt([$0]);
+      if (!ext2)
+        return noext;
+      ext2 = ext2.toLowerCase();
+      return (f) => noext(f) && f.toLowerCase().endsWith(ext2);
     };
-    RedirectableRequest.prototype.setHeader = function(name, value) {
-      this._options.headers[name] = value;
-      this._currentRequest.setHeader(name, value);
+    var qmarksTestNocaseDot = ([$0, ext2 = ""]) => {
+      const noext = qmarksTestNoExtDot([$0]);
+      if (!ext2)
+        return noext;
+      ext2 = ext2.toLowerCase();
+      return (f) => noext(f) && f.toLowerCase().endsWith(ext2);
     };
-    RedirectableRequest.prototype.removeHeader = function(name) {
-      delete this._options.headers[name];
-      this._currentRequest.removeHeader(name);
+    var qmarksTestDot = ([$0, ext2 = ""]) => {
+      const noext = qmarksTestNoExtDot([$0]);
+      return !ext2 ? noext : (f) => noext(f) && f.endsWith(ext2);
     };
-    RedirectableRequest.prototype.setTimeout = function(msecs, callback) {
-      var self2 = this;
-      function destroyOnTimeout(socket) {
-        socket.setTimeout(msecs);
-        socket.removeListener("timeout", socket.destroy);
-        socket.addListener("timeout", socket.destroy);
-      }
-      function startTimer(socket) {
-        if (self2._timeout) {
-          clearTimeout(self2._timeout);
-        }
-        self2._timeout = setTimeout(function() {
-          self2.emit("timeout");
-          clearTimer();
-        }, msecs);
-        destroyOnTimeout(socket);
-      }
-      function clearTimer() {
-        if (self2._timeout) {
-          clearTimeout(self2._timeout);
-          self2._timeout = null;
-        }
-        self2.removeListener("abort", clearTimer);
-        self2.removeListener("error", clearTimer);
-        self2.removeListener("response", clearTimer);
-        self2.removeListener("close", clearTimer);
-        if (callback) {
-          self2.removeListener("timeout", callback);
-        }
-        if (!self2.socket) {
-          self2._currentRequest.removeListener("socket", startTimer);
-        }
+    var qmarksTest = ([$0, ext2 = ""]) => {
+      const noext = qmarksTestNoExt([$0]);
+      return !ext2 ? noext : (f) => noext(f) && f.endsWith(ext2);
+    };
+    var qmarksTestNoExt = ([$0]) => {
+      const len = $0.length;
+      return (f) => f.length === len && !f.startsWith(".");
+    };
+    var qmarksTestNoExtDot = ([$0]) => {
+      const len = $0.length;
+      return (f) => f.length === len && f !== "." && f !== "..";
+    };
+    var defaultPlatform = typeof process === "object" && process ? typeof process.env === "object" && process.env && process.env.__MINIMATCH_TESTING_PLATFORM__ || process.platform : "posix";
+    var path16 = {
+      win32: { sep: "\\" },
+      posix: { sep: "/" }
+    };
+    exports2.sep = defaultPlatform === "win32" ? path16.win32.sep : path16.posix.sep;
+    exports2.minimatch.sep = exports2.sep;
+    exports2.GLOBSTAR = /* @__PURE__ */ Symbol("globstar **");
+    exports2.minimatch.GLOBSTAR = exports2.GLOBSTAR;
+    var qmark = "[^/]";
+    var star = qmark + "*?";
+    var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
+    var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
+    var filter = (pattern, options = {}) => (p) => (0, exports2.minimatch)(p, pattern, options);
+    exports2.filter = filter;
+    exports2.minimatch.filter = exports2.filter;
+    var ext = (a, b = {}) => Object.assign({}, a, b);
+    var defaults = (def) => {
+      if (!def || typeof def !== "object" || !Object.keys(def).length) {
+        return exports2.minimatch;
       }
-      if (callback) {
-        this.on("timeout", callback);
+      const orig = exports2.minimatch;
+      const m = (p, pattern, options = {}) => orig(p, pattern, ext(def, options));
+      return Object.assign(m, {
+        Minimatch: class Minimatch extends orig.Minimatch {
+          constructor(pattern, options = {}) {
+            super(pattern, ext(def, options));
+          }
+          static defaults(options) {
+            return orig.defaults(ext(def, options)).Minimatch;
+          }
+        },
+        AST: class AST extends orig.AST {
+          /* c8 ignore start */
+          constructor(type2, parent, options = {}) {
+            super(type2, parent, ext(def, options));
+          }
+          /* c8 ignore stop */
+          static fromGlob(pattern, options = {}) {
+            return orig.AST.fromGlob(pattern, ext(def, options));
+          }
+        },
+        unescape: (s, options = {}) => orig.unescape(s, ext(def, options)),
+        escape: (s, options = {}) => orig.escape(s, ext(def, options)),
+        filter: (pattern, options = {}) => orig.filter(pattern, ext(def, options)),
+        defaults: (options) => orig.defaults(ext(def, options)),
+        makeRe: (pattern, options = {}) => orig.makeRe(pattern, ext(def, options)),
+        braceExpand: (pattern, options = {}) => orig.braceExpand(pattern, ext(def, options)),
+        match: (list, pattern, options = {}) => orig.match(list, pattern, ext(def, options)),
+        sep: orig.sep,
+        GLOBSTAR: exports2.GLOBSTAR
+      });
+    };
+    exports2.defaults = defaults;
+    exports2.minimatch.defaults = exports2.defaults;
+    var braceExpand = (pattern, options = {}) => {
+      (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
+      if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
+        return [pattern];
       }
-      if (this.socket) {
-        startTimer(this.socket);
-      } else {
-        this._currentRequest.once("socket", startTimer);
+      return (0, brace_expansion_1.expand)(pattern);
+    };
+    exports2.braceExpand = braceExpand;
+    exports2.minimatch.braceExpand = exports2.braceExpand;
+    var makeRe = (pattern, options = {}) => new Minimatch(pattern, options).makeRe();
+    exports2.makeRe = makeRe;
+    exports2.minimatch.makeRe = exports2.makeRe;
+    var match = (list, pattern, options = {}) => {
+      const mm = new Minimatch(pattern, options);
+      list = list.filter((f) => mm.match(f));
+      if (mm.options.nonull && !list.length) {
+        list.push(pattern);
       }
-      this.on("socket", destroyOnTimeout);
-      this.on("abort", clearTimer);
-      this.on("error", clearTimer);
-      this.on("response", clearTimer);
-      this.on("close", clearTimer);
-      return this;
+      return list;
     };
-    [
-      "flushHeaders",
-      "getHeader",
-      "setNoDelay",
-      "setSocketKeepAlive"
-    ].forEach(function(method) {
-      RedirectableRequest.prototype[method] = function(a, b) {
-        return this._currentRequest[method](a, b);
-      };
-    });
-    ["aborted", "connection", "socket"].forEach(function(property) {
-      Object.defineProperty(RedirectableRequest.prototype, property, {
-        get: function() {
-          return this._currentRequest[property];
+    exports2.match = match;
+    exports2.minimatch.match = exports2.match;
+    var globMagic = /[?*]|[+@!]\(.*?\)|\[|\]/;
+    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
+    var Minimatch = class {
+      options;
+      set;
+      pattern;
+      windowsPathsNoEscape;
+      nonegate;
+      negate;
+      comment;
+      empty;
+      preserveMultipleSlashes;
+      partial;
+      globSet;
+      globParts;
+      nocase;
+      isWindows;
+      platform;
+      windowsNoMagicRoot;
+      regexp;
+      constructor(pattern, options = {}) {
+        (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
+        options = options || {};
+        this.options = options;
+        this.pattern = pattern;
+        this.platform = options.platform || defaultPlatform;
+        this.isWindows = this.platform === "win32";
+        this.windowsPathsNoEscape = !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;
+        if (this.windowsPathsNoEscape) {
+          this.pattern = this.pattern.replace(/\\/g, "/");
         }
-      });
-    });
-    RedirectableRequest.prototype._sanitizeOptions = function(options) {
-      if (!options.headers) {
-        options.headers = {};
+        this.preserveMultipleSlashes = !!options.preserveMultipleSlashes;
+        this.regexp = null;
+        this.negate = false;
+        this.nonegate = !!options.nonegate;
+        this.comment = false;
+        this.empty = false;
+        this.partial = !!options.partial;
+        this.nocase = !!this.options.nocase;
+        this.windowsNoMagicRoot = options.windowsNoMagicRoot !== void 0 ? options.windowsNoMagicRoot : !!(this.isWindows && this.nocase);
+        this.globSet = [];
+        this.globParts = [];
+        this.set = [];
+        this.make();
       }
-      if (options.host) {
-        if (!options.hostname) {
-          options.hostname = options.host;
+      hasMagic() {
+        if (this.options.magicalBraces && this.set.length > 1) {
+          return true;
         }
-        delete options.host;
-      }
-      if (!options.pathname && options.path) {
-        var searchPos = options.path.indexOf("?");
-        if (searchPos < 0) {
-          options.pathname = options.path;
-        } else {
-          options.pathname = options.path.substring(0, searchPos);
-          options.search = options.path.substring(searchPos);
+        for (const pattern of this.set) {
+          for (const part of pattern) {
+            if (typeof part !== "string")
+              return true;
+          }
         }
+        return false;
       }
-    };
-    RedirectableRequest.prototype._performRequest = function() {
-      var protocol = this._options.protocol;
-      var nativeProtocol = this._options.nativeProtocols[protocol];
-      if (!nativeProtocol) {
-        throw new TypeError("Unsupported protocol " + protocol);
-      }
-      if (this._options.agents) {
-        var scheme = protocol.slice(0, -1);
-        this._options.agent = this._options.agents[scheme];
+      debug(..._2) {
       }
-      var request2 = this._currentRequest = nativeProtocol.request(this._options, this._onNativeResponse);
-      request2._redirectable = this;
-      for (var event of events) {
-        request2.on(event, eventHandlers[event]);
+      make() {
+        const pattern = this.pattern;
+        const options = this.options;
+        if (!options.nocomment && pattern.charAt(0) === "#") {
+          this.comment = true;
+          return;
+        }
+        if (!pattern) {
+          this.empty = true;
+          return;
+        }
+        this.parseNegate();
+        this.globSet = [...new Set(this.braceExpand())];
+        if (options.debug) {
+          this.debug = (...args) => console.error(...args);
+        }
+        this.debug(this.pattern, this.globSet);
+        const rawGlobParts = this.globSet.map((s) => this.slashSplit(s));
+        this.globParts = this.preprocess(rawGlobParts);
+        this.debug(this.pattern, this.globParts);
+        let set2 = this.globParts.map((s, _2, __) => {
+          if (this.isWindows && this.windowsNoMagicRoot) {
+            const isUNC = s[0] === "" && s[1] === "" && (s[2] === "?" || !globMagic.test(s[2])) && !globMagic.test(s[3]);
+            const isDrive = /^[a-z]:/i.test(s[0]);
+            if (isUNC) {
+              return [...s.slice(0, 4), ...s.slice(4).map((ss) => this.parse(ss))];
+            } else if (isDrive) {
+              return [s[0], ...s.slice(1).map((ss) => this.parse(ss))];
+            }
+          }
+          return s.map((ss) => this.parse(ss));
+        });
+        this.debug(this.pattern, set2);
+        this.set = set2.filter((s) => s.indexOf(false) === -1);
+        if (this.isWindows) {
+          for (let i = 0; i < this.set.length; i++) {
+            const p = this.set[i];
+            if (p[0] === "" && p[1] === "" && this.globParts[i][2] === "?" && typeof p[3] === "string" && /^[a-z]:$/i.test(p[3])) {
+              p[2] = "?";
+            }
+          }
+        }
+        this.debug(this.pattern, this.set);
       }
-      this._currentUrl = /^\//.test(this._options.path) ? url2.format(this._options) : (
-        // When making a request to a proxy, […]
-        // a client MUST send the target URI in absolute-form […].
-        this._options.path
-      );
-      if (this._isRedirect) {
-        var i = 0;
-        var self2 = this;
-        var buffers = this._requestBodyBuffers;
-        (function writeNext(error3) {
-          if (request2 === self2._currentRequest) {
-            if (error3) {
-              self2.emit("error", error3);
-            } else if (i < buffers.length) {
-              var buffer = buffers[i++];
-              if (!request2.finished) {
-                request2.write(buffer.data, buffer.encoding, writeNext);
+      // various transforms to equivalent pattern sets that are
+      // faster to process in a filesystem walk.  The goal is to
+      // eliminate what we can, and push all ** patterns as far
+      // to the right as possible, even if it increases the number
+      // of patterns that we have to process.
+      preprocess(globParts) {
+        if (this.options.noglobstar) {
+          for (let i = 0; i < globParts.length; i++) {
+            for (let j = 0; j < globParts[i].length; j++) {
+              if (globParts[i][j] === "**") {
+                globParts[i][j] = "*";
               }
-            } else if (self2._ended) {
-              request2.end();
             }
           }
-        })();
+        }
+        const { optimizationLevel = 1 } = this.options;
+        if (optimizationLevel >= 2) {
+          globParts = this.firstPhasePreProcess(globParts);
+          globParts = this.secondPhasePreProcess(globParts);
+        } else if (optimizationLevel >= 1) {
+          globParts = this.levelOneOptimize(globParts);
+        } else {
+          globParts = this.adjascentGlobstarOptimize(globParts);
+        }
+        return globParts;
       }
-    };
-    RedirectableRequest.prototype._processResponse = function(response) {
-      var statusCode = response.statusCode;
-      if (this._options.trackRedirects) {
-        this._redirects.push({
-          url: this._currentUrl,
-          headers: response.headers,
-          statusCode
+      // just get rid of adjascent ** portions
+      adjascentGlobstarOptimize(globParts) {
+        return globParts.map((parts) => {
+          let gs = -1;
+          while (-1 !== (gs = parts.indexOf("**", gs + 1))) {
+            let i = gs;
+            while (parts[i + 1] === "**") {
+              i++;
+            }
+            if (i !== gs) {
+              parts.splice(gs, i - gs);
+            }
+          }
+          return parts;
         });
       }
-      var location = response.headers.location;
-      if (!location || this._options.followRedirects === false || statusCode < 300 || statusCode >= 400) {
-        response.responseUrl = this._currentUrl;
-        response.redirects = this._redirects;
-        this.emit("response", response);
-        this._requestBodyBuffers = [];
-        return;
+      // get rid of adjascent ** and resolve .. portions
+      levelOneOptimize(globParts) {
+        return globParts.map((parts) => {
+          parts = parts.reduce((set2, part) => {
+            const prev = set2[set2.length - 1];
+            if (part === "**" && prev === "**") {
+              return set2;
+            }
+            if (part === "..") {
+              if (prev && prev !== ".." && prev !== "." && prev !== "**") {
+                set2.pop();
+                return set2;
+              }
+            }
+            set2.push(part);
+            return set2;
+          }, []);
+          return parts.length === 0 ? [""] : parts;
+        });
       }
-      destroyRequest(this._currentRequest);
-      response.destroy();
-      if (++this._redirectCount > this._options.maxRedirects) {
-        throw new TooManyRedirectsError();
+      levelTwoFileOptimize(parts) {
+        if (!Array.isArray(parts)) {
+          parts = this.slashSplit(parts);
+        }
+        let didSomething = false;
+        do {
+          didSomething = false;
+          if (!this.preserveMultipleSlashes) {
+            for (let i = 1; i < parts.length - 1; i++) {
+              const p = parts[i];
+              if (i === 1 && p === "" && parts[0] === "")
+                continue;
+              if (p === "." || p === "") {
+                didSomething = true;
+                parts.splice(i, 1);
+                i--;
+              }
+            }
+            if (parts[0] === "." && parts.length === 2 && (parts[1] === "." || parts[1] === "")) {
+              didSomething = true;
+              parts.pop();
+            }
+          }
+          let dd = 0;
+          while (-1 !== (dd = parts.indexOf("..", dd + 1))) {
+            const p = parts[dd - 1];
+            if (p && p !== "." && p !== ".." && p !== "**") {
+              didSomething = true;
+              parts.splice(dd - 1, 2);
+              dd -= 2;
+            }
+          }
+        } while (didSomething);
+        return parts.length === 0 ? [""] : parts;
       }
-      var requestHeaders;
-      var beforeRedirect = this._options.beforeRedirect;
-      if (beforeRedirect) {
-        requestHeaders = Object.assign({
-          // The Host header was set by nativeProtocol.request
-          Host: response.req.getHeader("host")
-        }, this._options.headers);
+      // First phase: single-pattern processing
+      // 
 is 1 or more portions
+      //  is 1 or more portions
+      // 

is any portion other than ., .., '', or ** + // is . or '' + // + // **/.. is *brutal* for filesystem walking performance, because + // it effectively resets the recursive walk each time it occurs, + // and ** cannot be reduced out by a .. pattern part like a regexp + // or most strings (other than .., ., and '') can be. + // + //

/**/../

/

/ -> {

/../

/

/,

/**/

/

/} + //

// -> 
/
+      // 
/

/../ ->

/
+      // **/**/ -> **/
+      //
+      // **/*/ -> */**/ <== not valid because ** doesn't follow
+      // this WOULD be allowed if ** did follow symlinks, or * didn't
+      firstPhasePreProcess(globParts) {
+        let didSomething = false;
+        do {
+          didSomething = false;
+          for (let parts of globParts) {
+            let gs = -1;
+            while (-1 !== (gs = parts.indexOf("**", gs + 1))) {
+              let gss = gs;
+              while (parts[gss + 1] === "**") {
+                gss++;
+              }
+              if (gss > gs) {
+                parts.splice(gs + 1, gss - gs);
+              }
+              let next = parts[gs + 1];
+              const p = parts[gs + 2];
+              const p2 = parts[gs + 3];
+              if (next !== "..")
+                continue;
+              if (!p || p === "." || p === ".." || !p2 || p2 === "." || p2 === "..") {
+                continue;
+              }
+              didSomething = true;
+              parts.splice(gs, 1);
+              const other = parts.slice(0);
+              other[gs] = "**";
+              globParts.push(other);
+              gs--;
+            }
+            if (!this.preserveMultipleSlashes) {
+              for (let i = 1; i < parts.length - 1; i++) {
+                const p = parts[i];
+                if (i === 1 && p === "" && parts[0] === "")
+                  continue;
+                if (p === "." || p === "") {
+                  didSomething = true;
+                  parts.splice(i, 1);
+                  i--;
+                }
+              }
+              if (parts[0] === "." && parts.length === 2 && (parts[1] === "." || parts[1] === "")) {
+                didSomething = true;
+                parts.pop();
+              }
+            }
+            let dd = 0;
+            while (-1 !== (dd = parts.indexOf("..", dd + 1))) {
+              const p = parts[dd - 1];
+              if (p && p !== "." && p !== ".." && p !== "**") {
+                didSomething = true;
+                const needDot = dd === 1 && parts[dd + 1] === "**";
+                const splin = needDot ? ["."] : [];
+                parts.splice(dd - 1, 2, ...splin);
+                if (parts.length === 0)
+                  parts.push("");
+                dd -= 2;
+              }
+            }
+          }
+        } while (didSomething);
+        return globParts;
       }
-      var method = this._options.method;
-      if ((statusCode === 301 || statusCode === 302) && this._options.method === "POST" || // RFC7231§6.4.4: The 303 (See Other) status code indicates that
-      // the server is redirecting the user agent to a different resource […]
-      // A user agent can perform a retrieval request targeting that URI
-      // (a GET or HEAD request if using HTTP) […]
-      statusCode === 303 && !/^(?:GET|HEAD)$/.test(this._options.method)) {
-        this._options.method = "GET";
-        this._requestBodyBuffers = [];
-        removeMatchingHeaders(/^content-/i, this._options.headers);
+      // second phase: multi-pattern dedupes
+      // {
/*/,
/

/} ->

/*/
+      // {
/,
/} -> 
/
+      // {
/**/,
/} -> 
/**/
+      //
+      // {
/**/,
/**/

/} ->

/**/
+      // ^-- not valid because ** doens't follow symlinks
+      secondPhasePreProcess(globParts) {
+        for (let i = 0; i < globParts.length - 1; i++) {
+          for (let j = i + 1; j < globParts.length; j++) {
+            const matched = this.partsMatch(globParts[i], globParts[j], !this.preserveMultipleSlashes);
+            if (matched) {
+              globParts[i] = [];
+              globParts[j] = matched;
+              break;
+            }
+          }
+        }
+        return globParts.filter((gs) => gs.length);
       }
-      var currentHostHeader = removeMatchingHeaders(/^host$/i, this._options.headers);
-      var currentUrlParts = parseUrl2(this._currentUrl);
-      var currentHost = currentHostHeader || currentUrlParts.host;
-      var currentUrl = /^\w+:/.test(location) ? this._currentUrl : url2.format(Object.assign(currentUrlParts, { host: currentHost }));
-      var redirectUrl = resolveUrl(location, currentUrl);
-      debug5("redirecting to", redirectUrl.href);
-      this._isRedirect = true;
-      spreadUrlObject(redirectUrl, this._options);
-      if (redirectUrl.protocol !== currentUrlParts.protocol && redirectUrl.protocol !== "https:" || redirectUrl.host !== currentHost && !isSubdomain(redirectUrl.host, currentHost)) {
-        removeMatchingHeaders(/^(?:(?:proxy-)?authorization|cookie)$/i, this._options.headers);
+      partsMatch(a, b, emptyGSMatch = false) {
+        let ai = 0;
+        let bi = 0;
+        let result = [];
+        let which7 = "";
+        while (ai < a.length && bi < b.length) {
+          if (a[ai] === b[bi]) {
+            result.push(which7 === "b" ? b[bi] : a[ai]);
+            ai++;
+            bi++;
+          } else if (emptyGSMatch && a[ai] === "**" && b[bi] === a[ai + 1]) {
+            result.push(a[ai]);
+            ai++;
+          } else if (emptyGSMatch && b[bi] === "**" && a[ai] === b[bi + 1]) {
+            result.push(b[bi]);
+            bi++;
+          } else if (a[ai] === "*" && b[bi] && (this.options.dot || !b[bi].startsWith(".")) && b[bi] !== "**") {
+            if (which7 === "b")
+              return false;
+            which7 = "a";
+            result.push(a[ai]);
+            ai++;
+            bi++;
+          } else if (b[bi] === "*" && a[ai] && (this.options.dot || !a[ai].startsWith(".")) && a[ai] !== "**") {
+            if (which7 === "a")
+              return false;
+            which7 = "b";
+            result.push(b[bi]);
+            ai++;
+            bi++;
+          } else {
+            return false;
+          }
+        }
+        return a.length === b.length && result;
       }
-      if (isFunction(beforeRedirect)) {
-        var responseDetails = {
-          headers: response.headers,
-          statusCode
-        };
-        var requestDetails = {
-          url: currentUrl,
-          method,
-          headers: requestHeaders
-        };
-        beforeRedirect(this._options, responseDetails, requestDetails);
-        this._sanitizeOptions(this._options);
+      parseNegate() {
+        if (this.nonegate)
+          return;
+        const pattern = this.pattern;
+        let negate2 = false;
+        let negateOffset = 0;
+        for (let i = 0; i < pattern.length && pattern.charAt(i) === "!"; i++) {
+          negate2 = !negate2;
+          negateOffset++;
+        }
+        if (negateOffset)
+          this.pattern = pattern.slice(negateOffset);
+        this.negate = negate2;
       }
-      this._performRequest();
-    };
-    function wrap(protocols) {
-      var exports3 = {
-        maxRedirects: 21,
-        maxBodyLength: 10 * 1024 * 1024
-      };
-      var nativeProtocols = {};
-      Object.keys(protocols).forEach(function(scheme) {
-        var protocol = scheme + ":";
-        var nativeProtocol = nativeProtocols[protocol] = protocols[scheme];
-        var wrappedProtocol = exports3[scheme] = Object.create(nativeProtocol);
-        function request2(input, options, callback) {
-          if (isURL(input)) {
-            input = spreadUrlObject(input);
-          } else if (isString(input)) {
-            input = spreadUrlObject(parseUrl2(input));
-          } else {
-            callback = options;
-            options = validateUrl(input);
-            input = { protocol };
+      // set partial to true to test if, for example,
+      // "/a/b" matches the start of "/*/b/*/d"
+      // Partial means, if you run out of file before you run
+      // out of pattern, then that's fine, as long as all
+      // the parts match.
+      matchOne(file, pattern, partial = false) {
+        const options = this.options;
+        if (this.isWindows) {
+          const fileDrive = typeof file[0] === "string" && /^[a-z]:$/i.test(file[0]);
+          const fileUNC = !fileDrive && file[0] === "" && file[1] === "" && file[2] === "?" && /^[a-z]:$/i.test(file[3]);
+          const patternDrive = typeof pattern[0] === "string" && /^[a-z]:$/i.test(pattern[0]);
+          const patternUNC = !patternDrive && pattern[0] === "" && pattern[1] === "" && pattern[2] === "?" && typeof pattern[3] === "string" && /^[a-z]:$/i.test(pattern[3]);
+          const fdi = fileUNC ? 3 : fileDrive ? 0 : void 0;
+          const pdi = patternUNC ? 3 : patternDrive ? 0 : void 0;
+          if (typeof fdi === "number" && typeof pdi === "number") {
+            const [fd, pd] = [file[fdi], pattern[pdi]];
+            if (fd.toLowerCase() === pd.toLowerCase()) {
+              pattern[pdi] = fd;
+              if (pdi > fdi) {
+                pattern = pattern.slice(pdi);
+              } else if (fdi > pdi) {
+                file = file.slice(fdi);
+              }
+            }
           }
-          if (isFunction(options)) {
-            callback = options;
-            options = null;
+        }
+        const { optimizationLevel = 1 } = this.options;
+        if (optimizationLevel >= 2) {
+          file = this.levelTwoFileOptimize(file);
+        }
+        this.debug("matchOne", this, { file, pattern });
+        this.debug("matchOne", file.length, pattern.length);
+        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
+          this.debug("matchOne loop");
+          var p = pattern[pi];
+          var f = file[fi];
+          this.debug(pattern, p, f);
+          if (p === false) {
+            return false;
           }
-          options = Object.assign({
-            maxRedirects: exports3.maxRedirects,
-            maxBodyLength: exports3.maxBodyLength
-          }, input, options);
-          options.nativeProtocols = nativeProtocols;
-          if (!isString(options.host) && !isString(options.hostname)) {
-            options.hostname = "::1";
+          if (p === exports2.GLOBSTAR) {
+            this.debug("GLOBSTAR", [pattern, p, f]);
+            var fr = fi;
+            var pr = pi + 1;
+            if (pr === pl) {
+              this.debug("** at the end");
+              for (; fi < fl; fi++) {
+                if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".")
+                  return false;
+              }
+              return true;
+            }
+            while (fr < fl) {
+              var swallowee = file[fr];
+              this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
+              if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
+                this.debug("globstar found match!", fr, fl, swallowee);
+                return true;
+              } else {
+                if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
+                  this.debug("dot detected!", file, fr, pattern, pr);
+                  break;
+                }
+                this.debug("globstar swallow a segment, and continue");
+                fr++;
+              }
+            }
+            if (partial) {
+              this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
+              if (fr === fl) {
+                return true;
+              }
+            }
+            return false;
           }
-          assert.equal(options.protocol, protocol, "protocol mismatch");
-          debug5("options", options);
-          return new RedirectableRequest(options, callback);
+          let hit;
+          if (typeof p === "string") {
+            hit = f === p;
+            this.debug("string match", p, f, hit);
+          } else {
+            hit = p.test(f);
+            this.debug("pattern match", p, f, hit);
+          }
+          if (!hit)
+            return false;
         }
-        function get(input, options, callback) {
-          var wrappedRequest = wrappedProtocol.request(input, options, callback);
-          wrappedRequest.end();
-          return wrappedRequest;
+        if (fi === fl && pi === pl) {
+          return true;
+        } else if (fi === fl) {
+          return partial;
+        } else if (pi === pl) {
+          return fi === fl - 1 && file[fi] === "";
+        } else {
+          throw new Error("wtf?");
         }
-        Object.defineProperties(wrappedProtocol, {
-          request: { value: request2, configurable: true, enumerable: true, writable: true },
-          get: { value: get, configurable: true, enumerable: true, writable: true }
-        });
-      });
-      return exports3;
-    }
-    function noop3() {
-    }
-    function parseUrl2(input) {
-      var parsed;
-      if (useNativeURL) {
-        parsed = new URL2(input);
-      } else {
-        parsed = validateUrl(url2.parse(input));
-        if (!isString(parsed.protocol)) {
-          throw new InvalidUrlError({ input });
+      }
+      braceExpand() {
+        return (0, exports2.braceExpand)(this.pattern, this.options);
+      }
+      parse(pattern) {
+        (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
+        const options = this.options;
+        if (pattern === "**")
+          return exports2.GLOBSTAR;
+        if (pattern === "")
+          return "";
+        let m;
+        let fastTest = null;
+        if (m = pattern.match(starRE)) {
+          fastTest = options.dot ? starTestDot : starTest;
+        } else if (m = pattern.match(starDotExtRE)) {
+          fastTest = (options.nocase ? options.dot ? starDotExtTestNocaseDot : starDotExtTestNocase : options.dot ? starDotExtTestDot : starDotExtTest)(m[1]);
+        } else if (m = pattern.match(qmarksRE)) {
+          fastTest = (options.nocase ? options.dot ? qmarksTestNocaseDot : qmarksTestNocase : options.dot ? qmarksTestDot : qmarksTest)(m);
+        } else if (m = pattern.match(starDotStarRE)) {
+          fastTest = options.dot ? starDotStarTestDot : starDotStarTest;
+        } else if (m = pattern.match(dotStarRE)) {
+          fastTest = dotStarTest;
+        }
+        const re = ast_js_1.AST.fromGlob(pattern, this.options).toMMPattern();
+        if (fastTest && typeof re === "object") {
+          Reflect.defineProperty(re, "test", { value: fastTest });
+        }
+        return re;
+      }
+      makeRe() {
+        if (this.regexp || this.regexp === false)
+          return this.regexp;
+        const set2 = this.set;
+        if (!set2.length) {
+          this.regexp = false;
+          return this.regexp;
+        }
+        const options = this.options;
+        const twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
+        const flags = new Set(options.nocase ? ["i"] : []);
+        let re = set2.map((pattern) => {
+          const pp = pattern.map((p) => {
+            if (p instanceof RegExp) {
+              for (const f of p.flags.split(""))
+                flags.add(f);
+            }
+            return typeof p === "string" ? regExpEscape(p) : p === exports2.GLOBSTAR ? exports2.GLOBSTAR : p._src;
+          });
+          pp.forEach((p, i) => {
+            const next = pp[i + 1];
+            const prev = pp[i - 1];
+            if (p !== exports2.GLOBSTAR || prev === exports2.GLOBSTAR) {
+              return;
+            }
+            if (prev === void 0) {
+              if (next !== void 0 && next !== exports2.GLOBSTAR) {
+                pp[i + 1] = "(?:\\/|" + twoStar + "\\/)?" + next;
+              } else {
+                pp[i] = twoStar;
+              }
+            } else if (next === void 0) {
+              pp[i - 1] = prev + "(?:\\/|\\/" + twoStar + ")?";
+            } else if (next !== exports2.GLOBSTAR) {
+              pp[i - 1] = prev + "(?:\\/|\\/" + twoStar + "\\/)" + next;
+              pp[i + 1] = exports2.GLOBSTAR;
+            }
+          });
+          const filtered = pp.filter((p) => p !== exports2.GLOBSTAR);
+          if (this.partial && filtered.length >= 1) {
+            const prefixes = [];
+            for (let i = 1; i <= filtered.length; i++) {
+              prefixes.push(filtered.slice(0, i).join("/"));
+            }
+            return "(?:" + prefixes.join("|") + ")";
+          }
+          return filtered.join("/");
+        }).join("|");
+        const [open, close] = set2.length > 1 ? ["(?:", ")"] : ["", ""];
+        re = "^" + open + re + close + "$";
+        if (this.partial) {
+          re = "^(?:\\/|" + open + re.slice(1, -1) + close + ")$";
+        }
+        if (this.negate)
+          re = "^(?!" + re + ").+$";
+        try {
+          this.regexp = new RegExp(re, [...flags].join(""));
+        } catch (ex) {
+          this.regexp = false;
         }
+        return this.regexp;
       }
-      return parsed;
-    }
-    function resolveUrl(relative2, base) {
-      return useNativeURL ? new URL2(relative2, base) : parseUrl2(url2.resolve(base, relative2));
-    }
-    function validateUrl(input) {
-      if (/^\[/.test(input.hostname) && !/^\[[:0-9a-f]+\]$/i.test(input.hostname)) {
-        throw new InvalidUrlError({ input: input.href || input });
-      }
-      if (/^\[/.test(input.host) && !/^\[[:0-9a-f]+\](:\d+)?$/i.test(input.host)) {
-        throw new InvalidUrlError({ input: input.href || input });
-      }
-      return input;
-    }
-    function spreadUrlObject(urlObject, target) {
-      var spread = target || {};
-      for (var key of preservedUrlFields) {
-        spread[key] = urlObject[key];
-      }
-      if (spread.hostname.startsWith("[")) {
-        spread.hostname = spread.hostname.slice(1, -1);
-      }
-      if (spread.port !== "") {
-        spread.port = Number(spread.port);
-      }
-      spread.path = spread.search ? spread.pathname + spread.search : spread.pathname;
-      return spread;
-    }
-    function removeMatchingHeaders(regex, headers) {
-      var lastValue;
-      for (var header in headers) {
-        if (regex.test(header)) {
-          lastValue = headers[header];
-          delete headers[header];
+      slashSplit(p) {
+        if (this.preserveMultipleSlashes) {
+          return p.split("/");
+        } else if (this.isWindows && /^\/\/[^\/]+/.test(p)) {
+          return ["", ...p.split(/\/+/)];
+        } else {
+          return p.split(/\/+/);
         }
       }
-      return lastValue === null || typeof lastValue === "undefined" ? void 0 : String(lastValue).trim();
-    }
-    function createErrorType(code, message, baseClass) {
-      function CustomError(properties) {
-        if (isFunction(Error.captureStackTrace)) {
-          Error.captureStackTrace(this, this.constructor);
+      match(f, partial = this.partial) {
+        this.debug("match", f, this.pattern);
+        if (this.comment) {
+          return false;
         }
-        Object.assign(this, properties || {});
-        this.code = code;
-        this.message = this.cause ? message + ": " + this.cause.message : message;
-      }
-      CustomError.prototype = new (baseClass || Error)();
-      Object.defineProperties(CustomError.prototype, {
-        constructor: {
-          value: CustomError,
-          enumerable: false
-        },
-        name: {
-          value: "Error [" + code + "]",
-          enumerable: false
+        if (this.empty) {
+          return f === "";
         }
-      });
-      return CustomError;
-    }
-    function destroyRequest(request2, error3) {
-      for (var event of events) {
-        request2.removeListener(event, eventHandlers[event]);
+        if (f === "/" && partial) {
+          return true;
+        }
+        const options = this.options;
+        if (this.isWindows) {
+          f = f.split("\\").join("/");
+        }
+        const ff = this.slashSplit(f);
+        this.debug(this.pattern, "split", ff);
+        const set2 = this.set;
+        this.debug(this.pattern, "set", set2);
+        let filename = ff[ff.length - 1];
+        if (!filename) {
+          for (let i = ff.length - 2; !filename && i >= 0; i--) {
+            filename = ff[i];
+          }
+        }
+        for (let i = 0; i < set2.length; i++) {
+          const pattern = set2[i];
+          let file = ff;
+          if (options.matchBase && pattern.length === 1) {
+            file = [filename];
+          }
+          const hit = this.matchOne(file, pattern, partial);
+          if (hit) {
+            if (options.flipNegate) {
+              return true;
+            }
+            return !this.negate;
+          }
+        }
+        if (options.flipNegate) {
+          return false;
+        }
+        return this.negate;
       }
-      request2.on("error", noop3);
-      request2.destroy(error3);
-    }
-    function isSubdomain(subdomain, domain) {
-      assert(isString(subdomain) && isString(domain));
-      var dot = subdomain.length - domain.length - 1;
-      return dot > 0 && subdomain[dot] === "." && subdomain.endsWith(domain);
-    }
-    function isString(value) {
-      return typeof value === "string" || value instanceof String;
-    }
-    function isFunction(value) {
-      return typeof value === "function";
-    }
-    function isBuffer(value) {
-      return typeof value === "object" && "length" in value;
-    }
-    function isURL(value) {
-      return URL2 && value instanceof URL2;
-    }
-    module2.exports = wrap({ http, https: https2 });
-    module2.exports.wrap = wrap;
+      static defaults(def) {
+        return exports2.minimatch.defaults(def).Minimatch;
+      }
+    };
+    exports2.Minimatch = Minimatch;
+    var ast_js_2 = require_ast();
+    Object.defineProperty(exports2, "AST", { enumerable: true, get: function() {
+      return ast_js_2.AST;
+    } });
+    var escape_js_2 = require_escape();
+    Object.defineProperty(exports2, "escape", { enumerable: true, get: function() {
+      return escape_js_2.escape;
+    } });
+    var unescape_js_2 = require_unescape();
+    Object.defineProperty(exports2, "unescape", { enumerable: true, get: function() {
+      return unescape_js_2.unescape;
+    } });
+    exports2.minimatch.AST = ast_js_1.AST;
+    exports2.minimatch.Minimatch = Minimatch;
+    exports2.minimatch.escape = escape_js_1.escape;
+    exports2.minimatch.unescape = unescape_js_1.unescape;
   }
 });
 
-// node_modules/@actions/artifact/lib/internal/shared/config.js
-var require_config2 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/shared/config.js"(exports2) {
+// node_modules/lru-cache/dist/commonjs/index.js
+var require_commonjs21 = __commonJS({
+  "node_modules/lru-cache/dist/commonjs/index.js"(exports2) {
     "use strict";
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
-    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getMaxArtifactListCount = exports2.getUploadChunkTimeout = exports2.getConcurrency = exports2.getGitHubWorkspaceDir = exports2.isGhes = exports2.getResultsServiceUrl = exports2.getRuntimeToken = exports2.getUploadChunkSize = void 0;
-    var os_1 = __importDefault2(require("os"));
-    var core_1 = require_core();
-    function getUploadChunkSize() {
-      return 8 * 1024 * 1024;
-    }
-    exports2.getUploadChunkSize = getUploadChunkSize;
-    function getRuntimeToken() {
-      const token = process.env["ACTIONS_RUNTIME_TOKEN"];
-      if (!token) {
-        throw new Error("Unable to get the ACTIONS_RUNTIME_TOKEN env variable");
-      }
-      return token;
-    }
-    exports2.getRuntimeToken = getRuntimeToken;
-    function getResultsServiceUrl() {
-      const resultsUrl = process.env["ACTIONS_RESULTS_URL"];
-      if (!resultsUrl) {
-        throw new Error("Unable to get the ACTIONS_RESULTS_URL env variable");
-      }
-      return new URL(resultsUrl).origin;
-    }
-    exports2.getResultsServiceUrl = getResultsServiceUrl;
-    function isGhes() {
-      const ghUrl = new URL(process.env["GITHUB_SERVER_URL"] || "https://github.com");
-      const hostname = ghUrl.hostname.trimEnd().toUpperCase();
-      const isGitHubHost = hostname === "GITHUB.COM";
-      const isGheHost = hostname.endsWith(".GHE.COM");
-      const isLocalHost = hostname.endsWith(".LOCALHOST");
-      return !isGitHubHost && !isGheHost && !isLocalHost;
-    }
-    exports2.isGhes = isGhes;
-    function getGitHubWorkspaceDir() {
-      const ghWorkspaceDir = process.env["GITHUB_WORKSPACE"];
-      if (!ghWorkspaceDir) {
-        throw new Error("Unable to get the GITHUB_WORKSPACE env variable");
-      }
-      return ghWorkspaceDir;
-    }
-    exports2.getGitHubWorkspaceDir = getGitHubWorkspaceDir;
-    function getConcurrency() {
-      const numCPUs = os_1.default.cpus().length;
-      let concurrencyCap = 32;
-      if (numCPUs > 4) {
-        const concurrency = 16 * numCPUs;
-        concurrencyCap = concurrency > 300 ? 300 : concurrency;
-      }
-      const concurrencyOverride = process.env["ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY"];
-      if (concurrencyOverride) {
-        const concurrency = parseInt(concurrencyOverride);
-        if (isNaN(concurrency) || concurrency < 1) {
-          throw new Error("Invalid value set for ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY env variable");
+    exports2.LRUCache = void 0;
+    var perf = typeof performance === "object" && performance && typeof performance.now === "function" ? performance : Date;
+    var warned = /* @__PURE__ */ new Set();
+    var PROCESS = typeof process === "object" && !!process ? process : {};
+    var emitWarning = (msg, type2, code, fn) => {
+      typeof PROCESS.emitWarning === "function" ? PROCESS.emitWarning(msg, type2, code, fn) : console.error(`[${code}] ${type2}: ${msg}`);
+    };
+    var AC = globalThis.AbortController;
+    var AS = globalThis.AbortSignal;
+    if (typeof AC === "undefined") {
+      AS = class AbortSignal {
+        onabort;
+        _onabort = [];
+        reason;
+        aborted = false;
+        addEventListener(_2, fn) {
+          this._onabort.push(fn);
         }
-        if (concurrency < concurrencyCap) {
-          (0, core_1.info)(`Set concurrency based on the value set in ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY.`);
-          return concurrency;
+      };
+      AC = class AbortController {
+        constructor() {
+          warnACPolyfill();
         }
-        (0, core_1.info)(`ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY is higher than the cap of ${concurrencyCap} based on the number of cpus. Set it to the maximum value allowed.`);
-        return concurrencyCap;
-      }
-      return 5;
+        signal = new AS();
+        abort(reason) {
+          if (this.signal.aborted)
+            return;
+          this.signal.reason = reason;
+          this.signal.aborted = true;
+          for (const fn of this.signal._onabort) {
+            fn(reason);
+          }
+          this.signal.onabort?.(reason);
+        }
+      };
+      let printACPolyfillWarning = PROCESS.env?.LRU_CACHE_IGNORE_AC_WARNING !== "1";
+      const warnACPolyfill = () => {
+        if (!printACPolyfillWarning)
+          return;
+        printACPolyfillWarning = false;
+        emitWarning("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.", "NO_ABORT_CONTROLLER", "ENOTSUP", warnACPolyfill);
+      };
     }
-    exports2.getConcurrency = getConcurrency;
-    function getUploadChunkTimeout() {
-      const timeoutVar = process.env["ACTIONS_ARTIFACT_UPLOAD_TIMEOUT_MS"];
-      if (!timeoutVar) {
-        return 3e5;
+    var shouldWarn = (code) => !warned.has(code);
+    var isPosInt = (n) => n && n === Math.floor(n) && n > 0 && isFinite(n);
+    var getUintArray = (max) => !isPosInt(max) ? null : max <= Math.pow(2, 8) ? Uint8Array : max <= Math.pow(2, 16) ? Uint16Array : max <= Math.pow(2, 32) ? Uint32Array : max <= Number.MAX_SAFE_INTEGER ? ZeroArray : null;
+    var ZeroArray = class extends Array {
+      constructor(size) {
+        super(size);
+        this.fill(0);
       }
-      const timeout = parseInt(timeoutVar);
-      if (isNaN(timeout)) {
-        throw new Error("Invalid value set for ACTIONS_ARTIFACT_UPLOAD_TIMEOUT_MS env variable");
+    };
+    var Stack = class _Stack {
+      heap;
+      length;
+      // private constructor
+      static #constructing = false;
+      static create(max) {
+        const HeapCls = getUintArray(max);
+        if (!HeapCls)
+          return [];
+        _Stack.#constructing = true;
+        const s = new _Stack(max, HeapCls);
+        _Stack.#constructing = false;
+        return s;
       }
-      return timeout;
-    }
-    exports2.getUploadChunkTimeout = getUploadChunkTimeout;
-    function getMaxArtifactListCount() {
-      const maxCountVar = process.env["ACTIONS_ARTIFACT_MAX_ARTIFACT_COUNT"] || "1000";
-      const maxCount = parseInt(maxCountVar);
-      if (isNaN(maxCount) || maxCount < 1) {
-        throw new Error("Invalid value set for ACTIONS_ARTIFACT_MAX_ARTIFACT_COUNT env variable");
+      constructor(max, HeapCls) {
+        if (!_Stack.#constructing) {
+          throw new TypeError("instantiate Stack using Stack.create(n)");
+        }
+        this.heap = new HeapCls(max);
+        this.length = 0;
       }
-      return maxCount;
-    }
-    exports2.getMaxArtifactListCount = getMaxArtifactListCount;
-  }
-});
-
-// node_modules/@actions/artifact/lib/generated/google/protobuf/timestamp.js
-var require_timestamp = __commonJS({
-  "node_modules/@actions/artifact/lib/generated/google/protobuf/timestamp.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Timestamp = void 0;
-    var runtime_1 = require_commonjs16();
-    var runtime_2 = require_commonjs16();
-    var runtime_3 = require_commonjs16();
-    var runtime_4 = require_commonjs16();
-    var runtime_5 = require_commonjs16();
-    var runtime_6 = require_commonjs16();
-    var runtime_7 = require_commonjs16();
-    var Timestamp$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.Timestamp", [
-          {
-            no: 1,
-            name: "seconds",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          },
-          {
-            no: 2,
-            name: "nanos",
-            kind: "scalar",
-            T: 5
-            /*ScalarType.INT32*/
-          }
-        ]);
+      push(n) {
+        this.heap[this.length++] = n;
+      }
+      pop() {
+        return this.heap[--this.length];
       }
+    };
+    var LRUCache = class _LRUCache {
+      // options that cannot be changed without disaster
+      #max;
+      #maxSize;
+      #dispose;
+      #onInsert;
+      #disposeAfter;
+      #fetchMethod;
+      #memoMethod;
       /**
-       * Creates a new `Timestamp` for the current time.
+       * {@link LRUCache.OptionsBase.ttl}
        */
-      now() {
-        const msg = this.create();
-        const ms = Date.now();
-        msg.seconds = runtime_6.PbLong.from(Math.floor(ms / 1e3)).toString();
-        msg.nanos = ms % 1e3 * 1e6;
-        return msg;
-      }
+      ttl;
       /**
-       * Converts a `Timestamp` to a JavaScript Date.
+       * {@link LRUCache.OptionsBase.ttlResolution}
        */
-      toDate(message) {
-        return new Date(runtime_6.PbLong.from(message.seconds).toNumber() * 1e3 + Math.ceil(message.nanos / 1e6));
-      }
+      ttlResolution;
       /**
-       * Converts a JavaScript Date to a `Timestamp`.
+       * {@link LRUCache.OptionsBase.ttlAutopurge}
        */
-      fromDate(date) {
-        const msg = this.create();
-        const ms = date.getTime();
-        msg.seconds = runtime_6.PbLong.from(Math.floor(ms / 1e3)).toString();
-        msg.nanos = ms % 1e3 * 1e6;
-        return msg;
-      }
+      ttlAutopurge;
       /**
-       * In JSON format, the `Timestamp` type is encoded as a string
-       * in the RFC 3339 format.
+       * {@link LRUCache.OptionsBase.updateAgeOnGet}
        */
-      internalJsonWrite(message, options) {
-        let ms = runtime_6.PbLong.from(message.seconds).toNumber() * 1e3;
-        if (ms < Date.parse("0001-01-01T00:00:00Z") || ms > Date.parse("9999-12-31T23:59:59Z"))
-          throw new Error("Unable to encode Timestamp to JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.");
-        if (message.nanos < 0)
-          throw new Error("Unable to encode invalid Timestamp to JSON. Nanos must not be negative.");
-        let z = "Z";
-        if (message.nanos > 0) {
-          let nanosStr = (message.nanos + 1e9).toString().substring(1);
-          if (nanosStr.substring(3) === "000000")
-            z = "." + nanosStr.substring(0, 3) + "Z";
-          else if (nanosStr.substring(6) === "000")
-            z = "." + nanosStr.substring(0, 6) + "Z";
-          else
-            z = "." + nanosStr + "Z";
-        }
-        return new Date(ms).toISOString().replace(".000Z", z);
-      }
+      updateAgeOnGet;
       /**
-       * In JSON format, the `Timestamp` type is encoded as a string
-       * in the RFC 3339 format.
+       * {@link LRUCache.OptionsBase.updateAgeOnHas}
        */
-      internalJsonRead(json2, options, target) {
-        if (typeof json2 !== "string")
-          throw new Error("Unable to parse Timestamp from JSON " + (0, runtime_5.typeofJsonValue)(json2) + ".");
-        let matches = json2.match(/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(?:Z|\.([0-9]{3,9})Z|([+-][0-9][0-9]:[0-9][0-9]))$/);
-        if (!matches)
-          throw new Error("Unable to parse Timestamp from JSON. Invalid format.");
-        let ms = Date.parse(matches[1] + "-" + matches[2] + "-" + matches[3] + "T" + matches[4] + ":" + matches[5] + ":" + matches[6] + (matches[8] ? matches[8] : "Z"));
-        if (Number.isNaN(ms))
-          throw new Error("Unable to parse Timestamp from JSON. Invalid value.");
-        if (ms < Date.parse("0001-01-01T00:00:00Z") || ms > Date.parse("9999-12-31T23:59:59Z"))
-          throw new globalThis.Error("Unable to parse Timestamp from JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.");
-        if (!target)
-          target = this.create();
-        target.seconds = runtime_6.PbLong.from(ms / 1e3).toString();
-        target.nanos = 0;
-        if (matches[7])
-          target.nanos = parseInt("1" + matches[7] + "0".repeat(9 - matches[7].length)) - 1e9;
-        return target;
-      }
-      create(value) {
-        const message = { seconds: "0", nanos: 0 };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* int64 seconds */
-            1:
-              message.seconds = reader.int64().toString();
-              break;
-            case /* int32 nanos */
-            2:
-              message.nanos = reader.int32();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.seconds !== "0")
-          writer.tag(1, runtime_1.WireType.Varint).int64(message.seconds);
-        if (message.nanos !== 0)
-          writer.tag(2, runtime_1.WireType.Varint).int32(message.nanos);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.Timestamp = new Timestamp$Type();
-  }
-});
-
-// node_modules/@actions/artifact/lib/generated/google/protobuf/wrappers.js
-var require_wrappers = __commonJS({
-  "node_modules/@actions/artifact/lib/generated/google/protobuf/wrappers.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BytesValue = exports2.StringValue = exports2.BoolValue = exports2.UInt32Value = exports2.Int32Value = exports2.UInt64Value = exports2.Int64Value = exports2.FloatValue = exports2.DoubleValue = void 0;
-    var runtime_1 = require_commonjs16();
-    var runtime_2 = require_commonjs16();
-    var runtime_3 = require_commonjs16();
-    var runtime_4 = require_commonjs16();
-    var runtime_5 = require_commonjs16();
-    var runtime_6 = require_commonjs16();
-    var runtime_7 = require_commonjs16();
-    var DoubleValue$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.DoubleValue", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 1
-            /*ScalarType.DOUBLE*/
-          }
-        ]);
+      updateAgeOnHas;
+      /**
+       * {@link LRUCache.OptionsBase.allowStale}
+       */
+      allowStale;
+      /**
+       * {@link LRUCache.OptionsBase.noDisposeOnSet}
+       */
+      noDisposeOnSet;
+      /**
+       * {@link LRUCache.OptionsBase.noUpdateTTL}
+       */
+      noUpdateTTL;
+      /**
+       * {@link LRUCache.OptionsBase.maxEntrySize}
+       */
+      maxEntrySize;
+      /**
+       * {@link LRUCache.OptionsBase.sizeCalculation}
+       */
+      sizeCalculation;
+      /**
+       * {@link LRUCache.OptionsBase.noDeleteOnFetchRejection}
+       */
+      noDeleteOnFetchRejection;
+      /**
+       * {@link LRUCache.OptionsBase.noDeleteOnStaleGet}
+       */
+      noDeleteOnStaleGet;
+      /**
+       * {@link LRUCache.OptionsBase.allowStaleOnFetchAbort}
+       */
+      allowStaleOnFetchAbort;
+      /**
+       * {@link LRUCache.OptionsBase.allowStaleOnFetchRejection}
+       */
+      allowStaleOnFetchRejection;
+      /**
+       * {@link LRUCache.OptionsBase.ignoreFetchAbort}
+       */
+      ignoreFetchAbort;
+      // computed properties
+      #size;
+      #calculatedSize;
+      #keyMap;
+      #keyList;
+      #valList;
+      #next;
+      #prev;
+      #head;
+      #tail;
+      #free;
+      #disposed;
+      #sizes;
+      #starts;
+      #ttls;
+      #hasDispose;
+      #hasFetchMethod;
+      #hasDisposeAfter;
+      #hasOnInsert;
+      /**
+       * Do not call this method unless you need to inspect the
+       * inner workings of the cache.  If anything returned by this
+       * object is modified in any way, strange breakage may occur.
+       *
+       * These fields are private for a reason!
+       *
+       * @internal
+       */
+      static unsafeExposeInternals(c) {
+        return {
+          // properties
+          starts: c.#starts,
+          ttls: c.#ttls,
+          sizes: c.#sizes,
+          keyMap: c.#keyMap,
+          keyList: c.#keyList,
+          valList: c.#valList,
+          next: c.#next,
+          prev: c.#prev,
+          get head() {
+            return c.#head;
+          },
+          get tail() {
+            return c.#tail;
+          },
+          free: c.#free,
+          // methods
+          isBackgroundFetch: (p) => c.#isBackgroundFetch(p),
+          backgroundFetch: (k, index, options, context3) => c.#backgroundFetch(k, index, options, context3),
+          moveToTail: (index) => c.#moveToTail(index),
+          indexes: (options) => c.#indexes(options),
+          rindexes: (options) => c.#rindexes(options),
+          isStale: (index) => c.#isStale(index)
+        };
       }
+      // Protected read-only members
       /**
-       * Encode `DoubleValue` to JSON number.
+       * {@link LRUCache.OptionsBase.max} (read-only)
        */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(2, message.value, "value", false, true);
+      get max() {
+        return this.#max;
       }
       /**
-       * Decode `DoubleValue` from JSON number.
+       * {@link LRUCache.OptionsBase.maxSize} (read-only)
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 1, void 0, "value");
-        return target;
+      get maxSize() {
+        return this.#maxSize;
       }
-      create(value) {
-        const message = { value: 0 };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
+      /**
+       * The total computed size of items in the cache (read-only)
+       */
+      get calculatedSize() {
+        return this.#calculatedSize;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* double value */
-            1:
-              message.value = reader.double();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
+      /**
+       * The number of items stored in the cache (read-only)
+       */
+      get size() {
+        return this.#size;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== 0)
-          writer.tag(1, runtime_3.WireType.Bit64).double(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      /**
+       * {@link LRUCache.OptionsBase.fetchMethod} (read-only)
+       */
+      get fetchMethod() {
+        return this.#fetchMethod;
       }
-    };
-    exports2.DoubleValue = new DoubleValue$Type();
-    var FloatValue$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.FloatValue", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 2
-            /*ScalarType.FLOAT*/
-          }
-        ]);
+      get memoMethod() {
+        return this.#memoMethod;
       }
       /**
-       * Encode `FloatValue` to JSON number.
+       * {@link LRUCache.OptionsBase.dispose} (read-only)
        */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(1, message.value, "value", false, true);
+      get dispose() {
+        return this.#dispose;
       }
       /**
-       * Decode `FloatValue` from JSON number.
+       * {@link LRUCache.OptionsBase.onInsert} (read-only)
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 1, void 0, "value");
-        return target;
+      get onInsert() {
+        return this.#onInsert;
       }
-      create(value) {
-        const message = { value: 0 };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
+      /**
+       * {@link LRUCache.OptionsBase.disposeAfter} (read-only)
+       */
+      get disposeAfter() {
+        return this.#disposeAfter;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* float value */
-            1:
-              message.value = reader.float();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      constructor(options) {
+        const { max = 0, ttl, ttlResolution = 1, ttlAutopurge, updateAgeOnGet, updateAgeOnHas, allowStale, dispose, onInsert, disposeAfter, noDisposeOnSet, noUpdateTTL, maxSize = 0, maxEntrySize = 0, sizeCalculation, fetchMethod, memoMethod, noDeleteOnFetchRejection, noDeleteOnStaleGet, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort } = options;
+        if (max !== 0 && !isPosInt(max)) {
+          throw new TypeError("max option must be a nonnegative integer");
+        }
+        const UintArray = max ? getUintArray(max) : Array;
+        if (!UintArray) {
+          throw new Error("invalid max value: " + max);
+        }
+        this.#max = max;
+        this.#maxSize = maxSize;
+        this.maxEntrySize = maxEntrySize || this.#maxSize;
+        this.sizeCalculation = sizeCalculation;
+        if (this.sizeCalculation) {
+          if (!this.#maxSize && !this.maxEntrySize) {
+            throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");
+          }
+          if (typeof this.sizeCalculation !== "function") {
+            throw new TypeError("sizeCalculation set to non-function");
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== 0)
-          writer.tag(1, runtime_3.WireType.Bit32).float(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.FloatValue = new FloatValue$Type();
-    var Int64Value$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.Int64Value", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
+        if (memoMethod !== void 0 && typeof memoMethod !== "function") {
+          throw new TypeError("memoMethod must be a function if defined");
+        }
+        this.#memoMethod = memoMethod;
+        if (fetchMethod !== void 0 && typeof fetchMethod !== "function") {
+          throw new TypeError("fetchMethod must be a function if specified");
+        }
+        this.#fetchMethod = fetchMethod;
+        this.#hasFetchMethod = !!fetchMethod;
+        this.#keyMap = /* @__PURE__ */ new Map();
+        this.#keyList = new Array(max).fill(void 0);
+        this.#valList = new Array(max).fill(void 0);
+        this.#next = new UintArray(max);
+        this.#prev = new UintArray(max);
+        this.#head = 0;
+        this.#tail = 0;
+        this.#free = Stack.create(max);
+        this.#size = 0;
+        this.#calculatedSize = 0;
+        if (typeof dispose === "function") {
+          this.#dispose = dispose;
+        }
+        if (typeof onInsert === "function") {
+          this.#onInsert = onInsert;
+        }
+        if (typeof disposeAfter === "function") {
+          this.#disposeAfter = disposeAfter;
+          this.#disposed = [];
+        } else {
+          this.#disposeAfter = void 0;
+          this.#disposed = void 0;
+        }
+        this.#hasDispose = !!this.#dispose;
+        this.#hasOnInsert = !!this.#onInsert;
+        this.#hasDisposeAfter = !!this.#disposeAfter;
+        this.noDisposeOnSet = !!noDisposeOnSet;
+        this.noUpdateTTL = !!noUpdateTTL;
+        this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection;
+        this.allowStaleOnFetchRejection = !!allowStaleOnFetchRejection;
+        this.allowStaleOnFetchAbort = !!allowStaleOnFetchAbort;
+        this.ignoreFetchAbort = !!ignoreFetchAbort;
+        if (this.maxEntrySize !== 0) {
+          if (this.#maxSize !== 0) {
+            if (!isPosInt(this.#maxSize)) {
+              throw new TypeError("maxSize must be a positive integer if specified");
+            }
           }
-        ]);
+          if (!isPosInt(this.maxEntrySize)) {
+            throw new TypeError("maxEntrySize must be a positive integer if specified");
+          }
+          this.#initializeSizeTracking();
+        }
+        this.allowStale = !!allowStale;
+        this.noDeleteOnStaleGet = !!noDeleteOnStaleGet;
+        this.updateAgeOnGet = !!updateAgeOnGet;
+        this.updateAgeOnHas = !!updateAgeOnHas;
+        this.ttlResolution = isPosInt(ttlResolution) || ttlResolution === 0 ? ttlResolution : 1;
+        this.ttlAutopurge = !!ttlAutopurge;
+        this.ttl = ttl || 0;
+        if (this.ttl) {
+          if (!isPosInt(this.ttl)) {
+            throw new TypeError("ttl must be a positive integer if specified");
+          }
+          this.#initializeTTLTracking();
+        }
+        if (this.#max === 0 && this.ttl === 0 && this.#maxSize === 0) {
+          throw new TypeError("At least one of max, maxSize, or ttl is required");
+        }
+        if (!this.ttlAutopurge && !this.#max && !this.#maxSize) {
+          const code = "LRU_CACHE_UNBOUNDED";
+          if (shouldWarn(code)) {
+            warned.add(code);
+            const msg = "TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.";
+            emitWarning(msg, "UnboundedCacheWarning", code, _LRUCache);
+          }
+        }
       }
       /**
-       * Encode `Int64Value` to JSON string.
+       * Return the number of ms left in the item's TTL. If item is not in cache,
+       * returns `0`. Returns `Infinity` if item is in cache without a defined TTL.
        */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(runtime_1.ScalarType.INT64, message.value, "value", false, true);
+      getRemainingTTL(key) {
+        return this.#keyMap.has(key) ? Infinity : 0;
       }
-      /**
-       * Decode `Int64Value` from JSON string.
-       */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, runtime_1.ScalarType.INT64, runtime_2.LongType.STRING, "value");
-        return target;
+      #initializeTTLTracking() {
+        const ttls = new ZeroArray(this.#max);
+        const starts = new ZeroArray(this.#max);
+        this.#ttls = ttls;
+        this.#starts = starts;
+        this.#setItemTTL = (index, ttl, start = perf.now()) => {
+          starts[index] = ttl !== 0 ? start : 0;
+          ttls[index] = ttl;
+          if (ttl !== 0 && this.ttlAutopurge) {
+            const t = setTimeout(() => {
+              if (this.#isStale(index)) {
+                this.#delete(this.#keyList[index], "expire");
+              }
+            }, ttl + 1);
+            if (t.unref) {
+              t.unref();
+            }
+          }
+        };
+        this.#updateItemAge = (index) => {
+          starts[index] = ttls[index] !== 0 ? perf.now() : 0;
+        };
+        this.#statusTTL = (status, index) => {
+          if (ttls[index]) {
+            const ttl = ttls[index];
+            const start = starts[index];
+            if (!ttl || !start)
+              return;
+            status.ttl = ttl;
+            status.start = start;
+            status.now = cachedNow || getNow();
+            const age = status.now - start;
+            status.remainingTTL = ttl - age;
+          }
+        };
+        let cachedNow = 0;
+        const getNow = () => {
+          const n = perf.now();
+          if (this.ttlResolution > 0) {
+            cachedNow = n;
+            const t = setTimeout(() => cachedNow = 0, this.ttlResolution);
+            if (t.unref) {
+              t.unref();
+            }
+          }
+          return n;
+        };
+        this.getRemainingTTL = (key) => {
+          const index = this.#keyMap.get(key);
+          if (index === void 0) {
+            return 0;
+          }
+          const ttl = ttls[index];
+          const start = starts[index];
+          if (!ttl || !start) {
+            return Infinity;
+          }
+          const age = (cachedNow || getNow()) - start;
+          return ttl - age;
+        };
+        this.#isStale = (index) => {
+          const s = starts[index];
+          const t = ttls[index];
+          return !!t && !!s && (cachedNow || getNow()) - s > t;
+        };
       }
-      create(value) {
-        const message = { value: "0" };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
+      // conditionally set private methods related to TTL
+      #updateItemAge = () => {
+      };
+      #statusTTL = () => {
+      };
+      #setItemTTL = () => {
+      };
+      /* c8 ignore stop */
+      #isStale = () => false;
+      #initializeSizeTracking() {
+        const sizes = new ZeroArray(this.#max);
+        this.#calculatedSize = 0;
+        this.#sizes = sizes;
+        this.#removeItemSize = (index) => {
+          this.#calculatedSize -= sizes[index];
+          sizes[index] = 0;
+        };
+        this.#requireSize = (k, v, size, sizeCalculation) => {
+          if (this.#isBackgroundFetch(v)) {
+            return 0;
+          }
+          if (!isPosInt(size)) {
+            if (sizeCalculation) {
+              if (typeof sizeCalculation !== "function") {
+                throw new TypeError("sizeCalculation must be a function");
+              }
+              size = sizeCalculation(v, k);
+              if (!isPosInt(size)) {
+                throw new TypeError("sizeCalculation return invalid (expect positive integer)");
+              }
+            } else {
+              throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");
+            }
+          }
+          return size;
+        };
+        this.#addItemSize = (index, size, status) => {
+          sizes[index] = size;
+          if (this.#maxSize) {
+            const maxSize = this.#maxSize - sizes[index];
+            while (this.#calculatedSize > maxSize) {
+              this.#evict(true);
+            }
+          }
+          this.#calculatedSize += sizes[index];
+          if (status) {
+            status.entrySize = size;
+            status.totalCalculatedSize = this.#calculatedSize;
+          }
+        };
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* int64 value */
-            1:
-              message.value = reader.int64().toString();
+      #removeItemSize = (_i) => {
+      };
+      #addItemSize = (_i, _s, _st) => {
+      };
+      #requireSize = (_k, _v, size, sizeCalculation) => {
+        if (size || sizeCalculation) {
+          throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");
+        }
+        return 0;
+      };
+      *#indexes({ allowStale = this.allowStale } = {}) {
+        if (this.#size) {
+          for (let i = this.#tail; true; ) {
+            if (!this.#isValidIndex(i)) {
               break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+            }
+            if (allowStale || !this.#isStale(i)) {
+              yield i;
+            }
+            if (i === this.#head) {
+              break;
+            } else {
+              i = this.#prev[i];
+            }
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== "0")
-          writer.tag(1, runtime_3.WireType.Varint).int64(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
       }
-    };
-    exports2.Int64Value = new Int64Value$Type();
-    var UInt64Value$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.UInt64Value", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 4
-            /*ScalarType.UINT64*/
+      *#rindexes({ allowStale = this.allowStale } = {}) {
+        if (this.#size) {
+          for (let i = this.#head; true; ) {
+            if (!this.#isValidIndex(i)) {
+              break;
+            }
+            if (allowStale || !this.#isStale(i)) {
+              yield i;
+            }
+            if (i === this.#tail) {
+              break;
+            } else {
+              i = this.#next[i];
+            }
           }
-        ]);
+        }
+      }
+      #isValidIndex(index) {
+        return index !== void 0 && this.#keyMap.get(this.#keyList[index]) === index;
       }
       /**
-       * Encode `UInt64Value` to JSON string.
+       * Return a generator yielding `[key, value]` pairs,
+       * in order from most recently used to least recently used.
        */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(runtime_1.ScalarType.UINT64, message.value, "value", false, true);
+      *entries() {
+        for (const i of this.#indexes()) {
+          if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield [this.#keyList[i], this.#valList[i]];
+          }
+        }
       }
       /**
-       * Decode `UInt64Value` from JSON string.
+       * Inverse order version of {@link LRUCache.entries}
+       *
+       * Return a generator yielding `[key, value]` pairs,
+       * in order from least recently used to most recently used.
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, runtime_1.ScalarType.UINT64, runtime_2.LongType.STRING, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: "0" };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* uint64 value */
-            1:
-              message.value = reader.uint64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      *rentries() {
+        for (const i of this.#rindexes()) {
+          if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield [this.#keyList[i], this.#valList[i]];
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== "0")
-          writer.tag(1, runtime_3.WireType.Varint).uint64(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
       }
-    };
-    exports2.UInt64Value = new UInt64Value$Type();
-    var Int32Value$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.Int32Value", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 5
-            /*ScalarType.INT32*/
+      /**
+       * Return a generator yielding the keys in the cache,
+       * in order from most recently used to least recently used.
+       */
+      *keys() {
+        for (const i of this.#indexes()) {
+          const k = this.#keyList[i];
+          if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield k;
           }
-        ]);
+        }
       }
       /**
-       * Encode `Int32Value` to JSON string.
+       * Inverse order version of {@link LRUCache.keys}
+       *
+       * Return a generator yielding the keys in the cache,
+       * in order from least recently used to most recently used.
        */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(5, message.value, "value", false, true);
+      *rkeys() {
+        for (const i of this.#rindexes()) {
+          const k = this.#keyList[i];
+          if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield k;
+          }
+        }
       }
       /**
-       * Decode `Int32Value` from JSON string.
+       * Return a generator yielding the values in the cache,
+       * in order from most recently used to least recently used.
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 5, void 0, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: 0 };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* int32 value */
-            1:
-              message.value = reader.int32();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      *values() {
+        for (const i of this.#indexes()) {
+          const v = this.#valList[i];
+          if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield this.#valList[i];
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== 0)
-          writer.tag(1, runtime_3.WireType.Varint).int32(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
       }
-    };
-    exports2.Int32Value = new Int32Value$Type();
-    var UInt32Value$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.UInt32Value", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 13
-            /*ScalarType.UINT32*/
+      /**
+       * Inverse order version of {@link LRUCache.values}
+       *
+       * Return a generator yielding the values in the cache,
+       * in order from least recently used to most recently used.
+       */
+      *rvalues() {
+        for (const i of this.#rindexes()) {
+          const v = this.#valList[i];
+          if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield this.#valList[i];
           }
-        ]);
+        }
       }
       /**
-       * Encode `UInt32Value` to JSON string.
+       * Iterating over the cache itself yields the same results as
+       * {@link LRUCache.entries}
        */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(13, message.value, "value", false, true);
+      [Symbol.iterator]() {
+        return this.entries();
       }
       /**
-       * Decode `UInt32Value` from JSON string.
+       * A String value that is used in the creation of the default string
+       * description of an object. Called by the built-in method
+       * `Object.prototype.toString`.
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 13, void 0, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: 0 };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* uint32 value */
-            1:
-              message.value = reader.uint32();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      [Symbol.toStringTag] = "LRUCache";
+      /**
+       * Find a value for which the supplied fn method returns a truthy value,
+       * similar to `Array.find()`. fn is called as `fn(value, key, cache)`.
+       */
+      find(fn, getOptions = {}) {
+        for (const i of this.#indexes()) {
+          const v = this.#valList[i];
+          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+          if (value === void 0)
+            continue;
+          if (fn(value, this.#keyList[i], this)) {
+            return this.get(this.#keyList[i], getOptions);
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== 0)
-          writer.tag(1, runtime_3.WireType.Varint).uint32(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.UInt32Value = new UInt32Value$Type();
-    var BoolValue$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.BoolValue", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          }
-        ]);
       }
       /**
-       * Encode `BoolValue` to JSON bool.
+       * Call the supplied function on each item in the cache, in order from most
+       * recently used to least recently used.
+       *
+       * `fn` is called as `fn(value, key, cache)`.
+       *
+       * If `thisp` is provided, function will be called in the `this`-context of
+       * the provided object, or the cache if no `thisp` object is provided.
+       *
+       * Does not update age or recenty of use, or iterate over stale values.
        */
-      internalJsonWrite(message, options) {
-        return message.value;
+      forEach(fn, thisp = this) {
+        for (const i of this.#indexes()) {
+          const v = this.#valList[i];
+          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+          if (value === void 0)
+            continue;
+          fn.call(thisp, value, this.#keyList[i], this);
+        }
       }
       /**
-       * Decode `BoolValue` from JSON bool.
+       * The same as {@link LRUCache.forEach} but items are iterated over in
+       * reverse order.  (ie, less recently used items are iterated over first.)
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 8, void 0, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: false };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
+      rforEach(fn, thisp = this) {
+        for (const i of this.#rindexes()) {
+          const v = this.#valList[i];
+          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+          if (value === void 0)
+            continue;
+          fn.call(thisp, value, this.#keyList[i], this);
+        }
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool value */
-            1:
-              message.value = reader.bool();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      /**
+       * Delete any stale entries. Returns true if anything was removed,
+       * false otherwise.
+       */
+      purgeStale() {
+        let deleted = false;
+        for (const i of this.#rindexes({ allowStale: true })) {
+          if (this.#isStale(i)) {
+            this.#delete(this.#keyList[i], "expire");
+            deleted = true;
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== false)
-          writer.tag(1, runtime_3.WireType.Varint).bool(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+        return deleted;
       }
-    };
-    exports2.BoolValue = new BoolValue$Type();
-    var StringValue$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.StringValue", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
+      /**
+       * Get the extended info about a given entry, to get its value, size, and
+       * TTL info simultaneously. Returns `undefined` if the key is not present.
+       *
+       * Unlike {@link LRUCache#dump}, which is designed to be portable and survive
+       * serialization, the `start` value is always the current timestamp, and the
+       * `ttl` is a calculated remaining time to live (negative if expired).
+       *
+       * Always returns stale values, if their info is found in the cache, so be
+       * sure to check for expirations (ie, a negative {@link LRUCache.Entry#ttl})
+       * if relevant.
+       */
+      info(key) {
+        const i = this.#keyMap.get(key);
+        if (i === void 0)
+          return void 0;
+        const v = this.#valList[i];
+        const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+        if (value === void 0)
+          return void 0;
+        const entry = { value };
+        if (this.#ttls && this.#starts) {
+          const ttl = this.#ttls[i];
+          const start = this.#starts[i];
+          if (ttl && start) {
+            const remain = ttl - (perf.now() - start);
+            entry.ttl = remain;
+            entry.start = Date.now();
           }
-        ]);
+        }
+        if (this.#sizes) {
+          entry.size = this.#sizes[i];
+        }
+        return entry;
       }
       /**
-       * Encode `StringValue` to JSON string.
+       * Return an array of [key, {@link LRUCache.Entry}] tuples which can be
+       * passed to {@link LRUCache#load}.
+       *
+       * The `start` fields are calculated relative to a portable `Date.now()`
+       * timestamp, even if `performance.now()` is available.
+       *
+       * Stale entries are always included in the `dump`, even if
+       * {@link LRUCache.OptionsBase.allowStale} is false.
+       *
+       * Note: this returns an actual array, not a generator, so it can be more
+       * easily passed around.
        */
-      internalJsonWrite(message, options) {
-        return message.value;
+      dump() {
+        const arr = [];
+        for (const i of this.#indexes({ allowStale: true })) {
+          const key = this.#keyList[i];
+          const v = this.#valList[i];
+          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+          if (value === void 0 || key === void 0)
+            continue;
+          const entry = { value };
+          if (this.#ttls && this.#starts) {
+            entry.ttl = this.#ttls[i];
+            const age = perf.now() - this.#starts[i];
+            entry.start = Math.floor(Date.now() - age);
+          }
+          if (this.#sizes) {
+            entry.size = this.#sizes[i];
+          }
+          arr.unshift([key, entry]);
+        }
+        return arr;
       }
       /**
-       * Decode `StringValue` from JSON string.
+       * Reset the cache and load in the items in entries in the order listed.
+       *
+       * The shape of the resulting cache may be different if the same options are
+       * not used in both caches.
+       *
+       * The `start` fields are assumed to be calculated relative to a portable
+       * `Date.now()` timestamp, even if `performance.now()` is available.
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 9, void 0, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: "" };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
+      load(arr) {
+        this.clear();
+        for (const [key, entry] of arr) {
+          if (entry.start) {
+            const age = Date.now() - entry.start;
+            entry.start = perf.now() - age;
+          }
+          this.set(key, entry.value, entry);
+        }
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string value */
-            1:
-              message.value = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      /**
+       * Add a value to the cache.
+       *
+       * Note: if `undefined` is specified as a value, this is an alias for
+       * {@link LRUCache#delete}
+       *
+       * Fields on the {@link LRUCache.SetOptions} options param will override
+       * their corresponding values in the constructor options for the scope
+       * of this single `set()` operation.
+       *
+       * If `start` is provided, then that will set the effective start
+       * time for the TTL calculation. Note that this must be a previous
+       * value of `performance.now()` if supported, or a previous value of
+       * `Date.now()` if not.
+       *
+       * Options object may also include `size`, which will prevent
+       * calling the `sizeCalculation` function and just use the specified
+       * number if it is a positive integer, and `noDisposeOnSet` which
+       * will prevent calling a `dispose` function in the case of
+       * overwrites.
+       *
+       * If the `size` (or return value of `sizeCalculation`) for a given
+       * entry is greater than `maxEntrySize`, then the item will not be
+       * added to the cache.
+       *
+       * Will update the recency of the entry.
+       *
+       * If the value is `undefined`, then this is an alias for
+       * `cache.delete(key)`. `undefined` is never stored in the cache.
+       */
+      set(k, v, setOptions = {}) {
+        if (v === void 0) {
+          this.delete(k);
+          return this;
+        }
+        const { ttl = this.ttl, start, noDisposeOnSet = this.noDisposeOnSet, sizeCalculation = this.sizeCalculation, status } = setOptions;
+        let { noUpdateTTL = this.noUpdateTTL } = setOptions;
+        const size = this.#requireSize(k, v, setOptions.size || 0, sizeCalculation);
+        if (this.maxEntrySize && size > this.maxEntrySize) {
+          if (status) {
+            status.set = "miss";
+            status.maxEntrySizeExceeded = true;
           }
+          this.#delete(k, "set");
+          return this;
         }
-        return message;
+        let index = this.#size === 0 ? void 0 : this.#keyMap.get(k);
+        if (index === void 0) {
+          index = this.#size === 0 ? this.#tail : this.#free.length !== 0 ? this.#free.pop() : this.#size === this.#max ? this.#evict(false) : this.#size;
+          this.#keyList[index] = k;
+          this.#valList[index] = v;
+          this.#keyMap.set(k, index);
+          this.#next[this.#tail] = index;
+          this.#prev[index] = this.#tail;
+          this.#tail = index;
+          this.#size++;
+          this.#addItemSize(index, size, status);
+          if (status)
+            status.set = "add";
+          noUpdateTTL = false;
+          if (this.#hasOnInsert) {
+            this.#onInsert?.(v, k, "add");
+          }
+        } else {
+          this.#moveToTail(index);
+          const oldVal = this.#valList[index];
+          if (v !== oldVal) {
+            if (this.#hasFetchMethod && this.#isBackgroundFetch(oldVal)) {
+              oldVal.__abortController.abort(new Error("replaced"));
+              const { __staleWhileFetching: s } = oldVal;
+              if (s !== void 0 && !noDisposeOnSet) {
+                if (this.#hasDispose) {
+                  this.#dispose?.(s, k, "set");
+                }
+                if (this.#hasDisposeAfter) {
+                  this.#disposed?.push([s, k, "set"]);
+                }
+              }
+            } else if (!noDisposeOnSet) {
+              if (this.#hasDispose) {
+                this.#dispose?.(oldVal, k, "set");
+              }
+              if (this.#hasDisposeAfter) {
+                this.#disposed?.push([oldVal, k, "set"]);
+              }
+            }
+            this.#removeItemSize(index);
+            this.#addItemSize(index, size, status);
+            this.#valList[index] = v;
+            if (status) {
+              status.set = "replace";
+              const oldValue = oldVal && this.#isBackgroundFetch(oldVal) ? oldVal.__staleWhileFetching : oldVal;
+              if (oldValue !== void 0)
+                status.oldValue = oldValue;
+            }
+          } else if (status) {
+            status.set = "update";
+          }
+          if (this.#hasOnInsert) {
+            this.onInsert?.(v, k, v === oldVal ? "update" : "replace");
+          }
+        }
+        if (ttl !== 0 && !this.#ttls) {
+          this.#initializeTTLTracking();
+        }
+        if (this.#ttls) {
+          if (!noUpdateTTL) {
+            this.#setItemTTL(index, ttl, start);
+          }
+          if (status)
+            this.#statusTTL(status, index);
+        }
+        if (!noDisposeOnSet && this.#hasDisposeAfter && this.#disposed) {
+          const dt = this.#disposed;
+          let task;
+          while (task = dt?.shift()) {
+            this.#disposeAfter?.(...task);
+          }
+        }
+        return this;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== "")
-          writer.tag(1, runtime_3.WireType.LengthDelimited).string(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      /**
+       * Evict the least recently used item, returning its value or
+       * `undefined` if cache is empty.
+       */
+      pop() {
+        try {
+          while (this.#size) {
+            const val = this.#valList[this.#head];
+            this.#evict(true);
+            if (this.#isBackgroundFetch(val)) {
+              if (val.__staleWhileFetching) {
+                return val.__staleWhileFetching;
+              }
+            } else if (val !== void 0) {
+              return val;
+            }
+          }
+        } finally {
+          if (this.#hasDisposeAfter && this.#disposed) {
+            const dt = this.#disposed;
+            let task;
+            while (task = dt?.shift()) {
+              this.#disposeAfter?.(...task);
+            }
+          }
+        }
       }
-    };
-    exports2.StringValue = new StringValue$Type();
-    var BytesValue$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.BytesValue", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 12
-            /*ScalarType.BYTES*/
+      #evict(free) {
+        const head = this.#head;
+        const k = this.#keyList[head];
+        const v = this.#valList[head];
+        if (this.#hasFetchMethod && this.#isBackgroundFetch(v)) {
+          v.__abortController.abort(new Error("evicted"));
+        } else if (this.#hasDispose || this.#hasDisposeAfter) {
+          if (this.#hasDispose) {
+            this.#dispose?.(v, k, "evict");
           }
-        ]);
+          if (this.#hasDisposeAfter) {
+            this.#disposed?.push([v, k, "evict"]);
+          }
+        }
+        this.#removeItemSize(head);
+        if (free) {
+          this.#keyList[head] = void 0;
+          this.#valList[head] = void 0;
+          this.#free.push(head);
+        }
+        if (this.#size === 1) {
+          this.#head = this.#tail = 0;
+          this.#free.length = 0;
+        } else {
+          this.#head = this.#next[head];
+        }
+        this.#keyMap.delete(k);
+        this.#size--;
+        return head;
       }
       /**
-       * Encode `BytesValue` to JSON string.
+       * Check if a key is in the cache, without updating the recency of use.
+       * Will return false if the item is stale, even though it is technically
+       * in the cache.
+       *
+       * Check if a key is in the cache, without updating the recency of
+       * use. Age is updated if {@link LRUCache.OptionsBase.updateAgeOnHas} is set
+       * to `true` in either the options or the constructor.
+       *
+       * Will return `false` if the item is stale, even though it is technically in
+       * the cache. The difference can be determined (if it matters) by using a
+       * `status` argument, and inspecting the `has` field.
+       *
+       * Will not update item age unless
+       * {@link LRUCache.OptionsBase.updateAgeOnHas} is set.
        */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(12, message.value, "value", false, true);
+      has(k, hasOptions = {}) {
+        const { updateAgeOnHas = this.updateAgeOnHas, status } = hasOptions;
+        const index = this.#keyMap.get(k);
+        if (index !== void 0) {
+          const v = this.#valList[index];
+          if (this.#isBackgroundFetch(v) && v.__staleWhileFetching === void 0) {
+            return false;
+          }
+          if (!this.#isStale(index)) {
+            if (updateAgeOnHas) {
+              this.#updateItemAge(index);
+            }
+            if (status) {
+              status.has = "hit";
+              this.#statusTTL(status, index);
+            }
+            return true;
+          } else if (status) {
+            status.has = "stale";
+            this.#statusTTL(status, index);
+          }
+        } else if (status) {
+          status.has = "miss";
+        }
+        return false;
       }
       /**
-       * Decode `BytesValue` from JSON string.
+       * Like {@link LRUCache#get} but doesn't update recency or delete stale
+       * items.
+       *
+       * Returns `undefined` if the item is stale, unless
+       * {@link LRUCache.OptionsBase.allowStale} is set.
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 12, void 0, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: new Uint8Array(0) };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
+      peek(k, peekOptions = {}) {
+        const { allowStale = this.allowStale } = peekOptions;
+        const index = this.#keyMap.get(k);
+        if (index === void 0 || !allowStale && this.#isStale(index)) {
+          return;
+        }
+        const v = this.#valList[index];
+        return this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bytes value */
-            1:
-              message.value = reader.bytes();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      #backgroundFetch(k, index, options, context3) {
+        const v = index === void 0 ? void 0 : this.#valList[index];
+        if (this.#isBackgroundFetch(v)) {
+          return v;
+        }
+        const ac = new AC();
+        const { signal } = options;
+        signal?.addEventListener("abort", () => ac.abort(signal.reason), {
+          signal: ac.signal
+        });
+        const fetchOpts = {
+          signal: ac.signal,
+          options,
+          context: context3
+        };
+        const cb = (v2, updateCache = false) => {
+          const { aborted } = ac.signal;
+          const ignoreAbort = options.ignoreFetchAbort && v2 !== void 0;
+          if (options.status) {
+            if (aborted && !updateCache) {
+              options.status.fetchAborted = true;
+              options.status.fetchError = ac.signal.reason;
+              if (ignoreAbort)
+                options.status.fetchAbortIgnored = true;
+            } else {
+              options.status.fetchResolved = true;
+            }
+          }
+          if (aborted && !ignoreAbort && !updateCache) {
+            return fetchFail(ac.signal.reason);
+          }
+          const bf2 = p;
+          if (this.#valList[index] === p) {
+            if (v2 === void 0) {
+              if (bf2.__staleWhileFetching) {
+                this.#valList[index] = bf2.__staleWhileFetching;
+              } else {
+                this.#delete(k, "fetch");
+              }
+            } else {
+              if (options.status)
+                options.status.fetchUpdated = true;
+              this.set(k, v2, fetchOpts.options);
+            }
+          }
+          return v2;
+        };
+        const eb = (er) => {
+          if (options.status) {
+            options.status.fetchRejected = true;
+            options.status.fetchError = er;
+          }
+          return fetchFail(er);
+        };
+        const fetchFail = (er) => {
+          const { aborted } = ac.signal;
+          const allowStaleAborted = aborted && options.allowStaleOnFetchAbort;
+          const allowStale = allowStaleAborted || options.allowStaleOnFetchRejection;
+          const noDelete = allowStale || options.noDeleteOnFetchRejection;
+          const bf2 = p;
+          if (this.#valList[index] === p) {
+            const del = !noDelete || bf2.__staleWhileFetching === void 0;
+            if (del) {
+              this.#delete(k, "fetch");
+            } else if (!allowStaleAborted) {
+              this.#valList[index] = bf2.__staleWhileFetching;
+            }
+          }
+          if (allowStale) {
+            if (options.status && bf2.__staleWhileFetching !== void 0) {
+              options.status.returnedStale = true;
+            }
+            return bf2.__staleWhileFetching;
+          } else if (bf2.__returned === bf2) {
+            throw er;
+          }
+        };
+        const pcall = (res, rej) => {
+          const fmp = this.#fetchMethod?.(k, v, fetchOpts);
+          if (fmp && fmp instanceof Promise) {
+            fmp.then((v2) => res(v2 === void 0 ? void 0 : v2), rej);
           }
+          ac.signal.addEventListener("abort", () => {
+            if (!options.ignoreFetchAbort || options.allowStaleOnFetchAbort) {
+              res(void 0);
+              if (options.allowStaleOnFetchAbort) {
+                res = (v2) => cb(v2, true);
+              }
+            }
+          });
+        };
+        if (options.status)
+          options.status.fetchDispatched = true;
+        const p = new Promise(pcall).then(cb, eb);
+        const bf = Object.assign(p, {
+          __abortController: ac,
+          __staleWhileFetching: v,
+          __returned: void 0
+        });
+        if (index === void 0) {
+          this.set(k, bf, { ...fetchOpts.options, status: void 0 });
+          index = this.#keyMap.get(k);
+        } else {
+          this.#valList[index] = bf;
         }
-        return message;
+        return bf;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value.length)
-          writer.tag(1, runtime_3.WireType.LengthDelimited).bytes(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      #isBackgroundFetch(p) {
+        if (!this.#hasFetchMethod)
+          return false;
+        const b = p;
+        return !!b && b instanceof Promise && b.hasOwnProperty("__staleWhileFetching") && b.__abortController instanceof AC;
       }
-    };
-    exports2.BytesValue = new BytesValue$Type();
-  }
-});
-
-// node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.js
-var require_artifact = __commonJS({
-  "node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ArtifactService = exports2.DeleteArtifactResponse = exports2.DeleteArtifactRequest = exports2.GetSignedArtifactURLResponse = exports2.GetSignedArtifactURLRequest = exports2.ListArtifactsResponse_MonolithArtifact = exports2.ListArtifactsResponse = exports2.ListArtifactsRequest = exports2.FinalizeArtifactResponse = exports2.FinalizeArtifactRequest = exports2.CreateArtifactResponse = exports2.CreateArtifactRequest = exports2.FinalizeMigratedArtifactResponse = exports2.FinalizeMigratedArtifactRequest = exports2.MigrateArtifactResponse = exports2.MigrateArtifactRequest = void 0;
-    var runtime_rpc_1 = require_commonjs17();
-    var runtime_1 = require_commonjs16();
-    var runtime_2 = require_commonjs16();
-    var runtime_3 = require_commonjs16();
-    var runtime_4 = require_commonjs16();
-    var runtime_5 = require_commonjs16();
-    var wrappers_1 = require_wrappers();
-    var wrappers_2 = require_wrappers();
-    var timestamp_1 = require_timestamp();
-    var MigrateArtifactRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.MigrateArtifactRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          { no: 3, name: "expires_at", kind: "message", T: () => timestamp_1.Timestamp }
-        ]);
+      async fetch(k, fetchOptions = {}) {
+        const {
+          // get options
+          allowStale = this.allowStale,
+          updateAgeOnGet = this.updateAgeOnGet,
+          noDeleteOnStaleGet = this.noDeleteOnStaleGet,
+          // set options
+          ttl = this.ttl,
+          noDisposeOnSet = this.noDisposeOnSet,
+          size = 0,
+          sizeCalculation = this.sizeCalculation,
+          noUpdateTTL = this.noUpdateTTL,
+          // fetch exclusive options
+          noDeleteOnFetchRejection = this.noDeleteOnFetchRejection,
+          allowStaleOnFetchRejection = this.allowStaleOnFetchRejection,
+          ignoreFetchAbort = this.ignoreFetchAbort,
+          allowStaleOnFetchAbort = this.allowStaleOnFetchAbort,
+          context: context3,
+          forceRefresh = false,
+          status,
+          signal
+        } = fetchOptions;
+        if (!this.#hasFetchMethod) {
+          if (status)
+            status.fetch = "get";
+          return this.get(k, {
+            allowStale,
+            updateAgeOnGet,
+            noDeleteOnStaleGet,
+            status
+          });
+        }
+        const options = {
+          allowStale,
+          updateAgeOnGet,
+          noDeleteOnStaleGet,
+          ttl,
+          noDisposeOnSet,
+          size,
+          sizeCalculation,
+          noUpdateTTL,
+          noDeleteOnFetchRejection,
+          allowStaleOnFetchRejection,
+          allowStaleOnFetchAbort,
+          ignoreFetchAbort,
+          status,
+          signal
+        };
+        let index = this.#keyMap.get(k);
+        if (index === void 0) {
+          if (status)
+            status.fetch = "miss";
+          const p = this.#backgroundFetch(k, index, options, context3);
+          return p.__returned = p;
+        } else {
+          const v = this.#valList[index];
+          if (this.#isBackgroundFetch(v)) {
+            const stale = allowStale && v.__staleWhileFetching !== void 0;
+            if (status) {
+              status.fetch = "inflight";
+              if (stale)
+                status.returnedStale = true;
+            }
+            return stale ? v.__staleWhileFetching : v.__returned = v;
+          }
+          const isStale = this.#isStale(index);
+          if (!forceRefresh && !isStale) {
+            if (status)
+              status.fetch = "hit";
+            this.#moveToTail(index);
+            if (updateAgeOnGet) {
+              this.#updateItemAge(index);
+            }
+            if (status)
+              this.#statusTTL(status, index);
+            return v;
+          }
+          const p = this.#backgroundFetch(k, index, options, context3);
+          const hasStale = p.__staleWhileFetching !== void 0;
+          const staleVal = hasStale && allowStale;
+          if (status) {
+            status.fetch = isStale ? "stale" : "refresh";
+            if (staleVal && isStale)
+              status.returnedStale = true;
+          }
+          return staleVal ? p.__staleWhileFetching : p.__returned = p;
+        }
       }
-      create(value) {
-        const message = { workflowRunBackendId: "", name: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      async forceFetch(k, fetchOptions = {}) {
+        const v = await this.fetch(k, fetchOptions);
+        if (v === void 0)
+          throw new Error("fetch() returned undefined");
+        return v;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string name */
-            2:
-              message.name = reader.string();
-              break;
-            case /* google.protobuf.Timestamp expires_at */
-            3:
-              message.expiresAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expiresAt);
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      memo(k, memoOptions = {}) {
+        const memoMethod = this.#memoMethod;
+        if (!memoMethod) {
+          throw new Error("no memoMethod provided to constructor");
+        }
+        const { context: context3, forceRefresh, ...options } = memoOptions;
+        const v = this.get(k, options);
+        if (!forceRefresh && v !== void 0)
+          return v;
+        const vv = memoMethod(k, v, {
+          options,
+          context: context3
+        });
+        this.set(k, vv, options);
+        return vv;
+      }
+      /**
+       * Return a value from the cache. Will update the recency of the cache
+       * entry found.
+       *
+       * If the key is not found, get() will return `undefined`.
+       */
+      get(k, getOptions = {}) {
+        const { allowStale = this.allowStale, updateAgeOnGet = this.updateAgeOnGet, noDeleteOnStaleGet = this.noDeleteOnStaleGet, status } = getOptions;
+        const index = this.#keyMap.get(k);
+        if (index !== void 0) {
+          const value = this.#valList[index];
+          const fetching = this.#isBackgroundFetch(value);
+          if (status)
+            this.#statusTTL(status, index);
+          if (this.#isStale(index)) {
+            if (status)
+              status.get = "stale";
+            if (!fetching) {
+              if (!noDeleteOnStaleGet) {
+                this.#delete(k, "expire");
+              }
+              if (status && allowStale)
+                status.returnedStale = true;
+              return allowStale ? value : void 0;
+            } else {
+              if (status && allowStale && value.__staleWhileFetching !== void 0) {
+                status.returnedStale = true;
+              }
+              return allowStale ? value.__staleWhileFetching : void 0;
+            }
+          } else {
+            if (status)
+              status.get = "hit";
+            if (fetching) {
+              return value.__staleWhileFetching;
+            }
+            this.#moveToTail(index);
+            if (updateAgeOnGet) {
+              this.#updateItemAge(index);
+            }
+            return value;
           }
+        } else if (status) {
+          status.get = "miss";
         }
-        return message;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.name !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.name);
-        if (message.expiresAt)
-          timestamp_1.Timestamp.internalBinaryWrite(message.expiresAt, writer.tag(3, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      #connect(p, n) {
+        this.#prev[n] = p;
+        this.#next[p] = n;
       }
-    };
-    exports2.MigrateArtifactRequest = new MigrateArtifactRequest$Type();
-    var MigrateArtifactResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.MigrateArtifactResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "signed_upload_url",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
+      #moveToTail(index) {
+        if (index !== this.#tail) {
+          if (index === this.#head) {
+            this.#head = this.#next[index];
+          } else {
+            this.#connect(this.#prev[index], this.#next[index]);
           }
-        ]);
+          this.#connect(this.#tail, index);
+          this.#tail = index;
+        }
       }
-      create(value) {
-        const message = { ok: false, signedUploadUrl: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      /**
+       * Deletes a key out of the cache.
+       *
+       * Returns true if the key was deleted, false otherwise.
+       */
+      delete(k) {
+        return this.#delete(k, "delete");
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* string signed_upload_url */
-            2:
-              message.signedUploadUrl = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      #delete(k, reason) {
+        let deleted = false;
+        if (this.#size !== 0) {
+          const index = this.#keyMap.get(k);
+          if (index !== void 0) {
+            deleted = true;
+            if (this.#size === 1) {
+              this.#clear(reason);
+            } else {
+              this.#removeItemSize(index);
+              const v = this.#valList[index];
+              if (this.#isBackgroundFetch(v)) {
+                v.__abortController.abort(new Error("deleted"));
+              } else if (this.#hasDispose || this.#hasDisposeAfter) {
+                if (this.#hasDispose) {
+                  this.#dispose?.(v, k, reason);
+                }
+                if (this.#hasDisposeAfter) {
+                  this.#disposed?.push([v, k, reason]);
+                }
+              }
+              this.#keyMap.delete(k);
+              this.#keyList[index] = void 0;
+              this.#valList[index] = void 0;
+              if (index === this.#tail) {
+                this.#tail = this.#prev[index];
+              } else if (index === this.#head) {
+                this.#head = this.#next[index];
+              } else {
+                const pi = this.#prev[index];
+                this.#next[pi] = this.#next[index];
+                const ni = this.#next[index];
+                this.#prev[ni] = this.#prev[index];
+              }
+              this.#size--;
+              this.#free.push(index);
+            }
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.signedUploadUrl !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.MigrateArtifactResponse = new MigrateArtifactResponse$Type();
-    var FinalizeMigratedArtifactRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.FinalizeMigratedArtifactRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "size",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
+        if (this.#hasDisposeAfter && this.#disposed?.length) {
+          const dt = this.#disposed;
+          let task;
+          while (task = dt?.shift()) {
+            this.#disposeAfter?.(...task);
           }
-        ]);
+        }
+        return deleted;
       }
-      create(value) {
-        const message = { workflowRunBackendId: "", name: "", size: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      /**
+       * Clear the cache entirely, throwing away all values.
+       */
+      clear() {
+        return this.#clear("delete");
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string name */
-            2:
-              message.name = reader.string();
-              break;
-            case /* int64 size */
-            3:
-              message.size = reader.int64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      #clear(reason) {
+        for (const index of this.#rindexes({ allowStale: true })) {
+          const v = this.#valList[index];
+          if (this.#isBackgroundFetch(v)) {
+            v.__abortController.abort(new Error("deleted"));
+          } else {
+            const k = this.#keyList[index];
+            if (this.#hasDispose) {
+              this.#dispose?.(v, k, reason);
+            }
+            if (this.#hasDisposeAfter) {
+              this.#disposed?.push([v, k, reason]);
+            }
+          }
+        }
+        this.#keyMap.clear();
+        this.#valList.fill(void 0);
+        this.#keyList.fill(void 0);
+        if (this.#ttls && this.#starts) {
+          this.#ttls.fill(0);
+          this.#starts.fill(0);
+        }
+        if (this.#sizes) {
+          this.#sizes.fill(0);
+        }
+        this.#head = 0;
+        this.#tail = 0;
+        this.#free.length = 0;
+        this.#calculatedSize = 0;
+        this.#size = 0;
+        if (this.#hasDisposeAfter && this.#disposed) {
+          const dt = this.#disposed;
+          let task;
+          while (task = dt?.shift()) {
+            this.#disposeAfter?.(...task);
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.name !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.name);
-        if (message.size !== "0")
-          writer.tag(3, runtime_1.WireType.Varint).int64(message.size);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
       }
     };
-    exports2.FinalizeMigratedArtifactRequest = new FinalizeMigratedArtifactRequest$Type();
-    var FinalizeMigratedArtifactResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.FinalizeMigratedArtifactResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "artifact_id",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          }
-        ]);
+    exports2.LRUCache = LRUCache;
+  }
+});
+
+// node_modules/minipass/dist/commonjs/index.js
+var require_commonjs22 = __commonJS({
+  "node_modules/minipass/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
+      return mod && mod.__esModule ? mod : { "default": mod };
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Minipass = exports2.isWritable = exports2.isReadable = exports2.isStream = void 0;
+    var proc = typeof process === "object" && process ? process : {
+      stdout: null,
+      stderr: null
+    };
+    var node_events_1 = require("node:events");
+    var node_stream_1 = __importDefault2(require("node:stream"));
+    var node_string_decoder_1 = require("node:string_decoder");
+    var isStream = (s) => !!s && typeof s === "object" && (s instanceof Minipass || s instanceof node_stream_1.default || (0, exports2.isReadable)(s) || (0, exports2.isWritable)(s));
+    exports2.isStream = isStream;
+    var isReadable = (s) => !!s && typeof s === "object" && s instanceof node_events_1.EventEmitter && typeof s.pipe === "function" && // node core Writable streams have a pipe() method, but it throws
+    s.pipe !== node_stream_1.default.Writable.prototype.pipe;
+    exports2.isReadable = isReadable;
+    var isWritable = (s) => !!s && typeof s === "object" && s instanceof node_events_1.EventEmitter && typeof s.write === "function" && typeof s.end === "function";
+    exports2.isWritable = isWritable;
+    var EOF2 = /* @__PURE__ */ Symbol("EOF");
+    var MAYBE_EMIT_END = /* @__PURE__ */ Symbol("maybeEmitEnd");
+    var EMITTED_END = /* @__PURE__ */ Symbol("emittedEnd");
+    var EMITTING_END = /* @__PURE__ */ Symbol("emittingEnd");
+    var EMITTED_ERROR = /* @__PURE__ */ Symbol("emittedError");
+    var CLOSED = /* @__PURE__ */ Symbol("closed");
+    var READ = /* @__PURE__ */ Symbol("read");
+    var FLUSH = /* @__PURE__ */ Symbol("flush");
+    var FLUSHCHUNK = /* @__PURE__ */ Symbol("flushChunk");
+    var ENCODING = /* @__PURE__ */ Symbol("encoding");
+    var DECODER = /* @__PURE__ */ Symbol("decoder");
+    var FLOWING = /* @__PURE__ */ Symbol("flowing");
+    var PAUSED = /* @__PURE__ */ Symbol("paused");
+    var RESUME = /* @__PURE__ */ Symbol("resume");
+    var BUFFER = /* @__PURE__ */ Symbol("buffer");
+    var PIPES = /* @__PURE__ */ Symbol("pipes");
+    var BUFFERLENGTH = /* @__PURE__ */ Symbol("bufferLength");
+    var BUFFERPUSH = /* @__PURE__ */ Symbol("bufferPush");
+    var BUFFERSHIFT = /* @__PURE__ */ Symbol("bufferShift");
+    var OBJECTMODE = /* @__PURE__ */ Symbol("objectMode");
+    var DESTROYED = /* @__PURE__ */ Symbol("destroyed");
+    var ERROR = /* @__PURE__ */ Symbol("error");
+    var EMITDATA = /* @__PURE__ */ Symbol("emitData");
+    var EMITEND = /* @__PURE__ */ Symbol("emitEnd");
+    var EMITEND2 = /* @__PURE__ */ Symbol("emitEnd2");
+    var ASYNC = /* @__PURE__ */ Symbol("async");
+    var ABORT = /* @__PURE__ */ Symbol("abort");
+    var ABORTED = /* @__PURE__ */ Symbol("aborted");
+    var SIGNAL = /* @__PURE__ */ Symbol("signal");
+    var DATALISTENERS = /* @__PURE__ */ Symbol("dataListeners");
+    var DISCARDED = /* @__PURE__ */ Symbol("discarded");
+    var defer = (fn) => Promise.resolve().then(fn);
+    var nodefer = (fn) => fn();
+    var isEndish = (ev) => ev === "end" || ev === "finish" || ev === "prefinish";
+    var isArrayBufferLike = (b) => b instanceof ArrayBuffer || !!b && typeof b === "object" && b.constructor && b.constructor.name === "ArrayBuffer" && b.byteLength >= 0;
+    var isArrayBufferView = (b) => !Buffer.isBuffer(b) && ArrayBuffer.isView(b);
+    var Pipe = class {
+      src;
+      dest;
+      opts;
+      ondrain;
+      constructor(src, dest, opts) {
+        this.src = src;
+        this.dest = dest;
+        this.opts = opts;
+        this.ondrain = () => src[RESUME]();
+        this.dest.on("drain", this.ondrain);
       }
-      create(value) {
-        const message = { ok: false, artifactId: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      unpipe() {
+        this.dest.removeListener("drain", this.ondrain);
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* int64 artifact_id */
-            2:
-              message.artifactId = reader.int64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
+      // only here for the prototype
+      /* c8 ignore start */
+      proxyErrors(_er) {
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.artifactId !== "0")
-          writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      /* c8 ignore stop */
+      end() {
+        this.unpipe();
+        if (this.opts.end)
+          this.dest.end();
       }
     };
-    exports2.FinalizeMigratedArtifactResponse = new FinalizeMigratedArtifactResponse$Type();
-    var CreateArtifactRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.CreateArtifactRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          { no: 4, name: "expires_at", kind: "message", T: () => timestamp_1.Timestamp },
-          {
-            no: 5,
-            name: "version",
-            kind: "scalar",
-            T: 5
-            /*ScalarType.INT32*/
-          }
-        ]);
+    var PipeProxyErrors = class extends Pipe {
+      unpipe() {
+        this.src.removeListener("error", this.proxyErrors);
+        super.unpipe();
       }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "", version: 0 };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      constructor(src, dest, opts) {
+        super(src, dest, opts);
+        this.proxyErrors = (er) => dest.emit("error", er);
+        src.on("error", this.proxyErrors);
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* string name */
-            3:
-              message.name = reader.string();
-              break;
-            case /* google.protobuf.Timestamp expires_at */
-            4:
-              message.expiresAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expiresAt);
-              break;
-            case /* int32 version */
-            5:
-              message.version = reader.int32();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+    };
+    var isObjectModeOptions = (o) => !!o.objectMode;
+    var isEncodingOptions = (o) => !o.objectMode && !!o.encoding && o.encoding !== "buffer";
+    var Minipass = class extends node_events_1.EventEmitter {
+      [FLOWING] = false;
+      [PAUSED] = false;
+      [PIPES] = [];
+      [BUFFER] = [];
+      [OBJECTMODE];
+      [ENCODING];
+      [ASYNC];
+      [DECODER];
+      [EOF2] = false;
+      [EMITTED_END] = false;
+      [EMITTING_END] = false;
+      [CLOSED] = false;
+      [EMITTED_ERROR] = null;
+      [BUFFERLENGTH] = 0;
+      [DESTROYED] = false;
+      [SIGNAL];
+      [ABORTED] = false;
+      [DATALISTENERS] = 0;
+      [DISCARDED] = false;
+      /**
+       * true if the stream can be written
+       */
+      writable = true;
+      /**
+       * true if the stream can be read
+       */
+      readable = true;
+      /**
+       * If `RType` is Buffer, then options do not need to be provided.
+       * Otherwise, an options object must be provided to specify either
+       * {@link Minipass.SharedOptions.objectMode} or
+       * {@link Minipass.SharedOptions.encoding}, as appropriate.
+       */
+      constructor(...args) {
+        const options = args[0] || {};
+        super();
+        if (options.objectMode && typeof options.encoding === "string") {
+          throw new TypeError("Encoding and objectMode may not be used together");
+        }
+        if (isObjectModeOptions(options)) {
+          this[OBJECTMODE] = true;
+          this[ENCODING] = null;
+        } else if (isEncodingOptions(options)) {
+          this[ENCODING] = options.encoding;
+          this[OBJECTMODE] = false;
+        } else {
+          this[OBJECTMODE] = false;
+          this[ENCODING] = null;
+        }
+        this[ASYNC] = !!options.async;
+        this[DECODER] = this[ENCODING] ? new node_string_decoder_1.StringDecoder(this[ENCODING]) : null;
+        if (options && options.debugExposeBuffer === true) {
+          Object.defineProperty(this, "buffer", { get: () => this[BUFFER] });
+        }
+        if (options && options.debugExposePipes === true) {
+          Object.defineProperty(this, "pipes", { get: () => this[PIPES] });
+        }
+        const { signal } = options;
+        if (signal) {
+          this[SIGNAL] = signal;
+          if (signal.aborted) {
+            this[ABORT]();
+          } else {
+            signal.addEventListener("abort", () => this[ABORT]());
           }
         }
-        return message;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.name !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
-        if (message.expiresAt)
-          timestamp_1.Timestamp.internalBinaryWrite(message.expiresAt, writer.tag(4, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        if (message.version !== 0)
-          writer.tag(5, runtime_1.WireType.Varint).int32(message.version);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      /**
+       * The amount of data stored in the buffer waiting to be read.
+       *
+       * For Buffer strings, this will be the total byte length.
+       * For string encoding streams, this will be the string character length,
+       * according to JavaScript's `string.length` logic.
+       * For objectMode streams, this is a count of the items waiting to be
+       * emitted.
+       */
+      get bufferLength() {
+        return this[BUFFERLENGTH];
       }
-    };
-    exports2.CreateArtifactRequest = new CreateArtifactRequest$Type();
-    var CreateArtifactResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.CreateArtifactResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "signed_upload_url",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
+      /**
+       * The `BufferEncoding` currently in use, or `null`
+       */
+      get encoding() {
+        return this[ENCODING];
       }
-      create(value) {
-        const message = { ok: false, signedUploadUrl: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      /**
+       * @deprecated - This is a read only property
+       */
+      set encoding(_enc) {
+        throw new Error("Encoding must be set at instantiation time");
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* string signed_upload_url */
-            2:
-              message.signedUploadUrl = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
+      /**
+       * @deprecated - Encoding may only be set at instantiation time
+       */
+      setEncoding(_enc) {
+        throw new Error("Encoding must be set at instantiation time");
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.signedUploadUrl !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      /**
+       * True if this is an objectMode stream
+       */
+      get objectMode() {
+        return this[OBJECTMODE];
       }
-    };
-    exports2.CreateArtifactResponse = new CreateArtifactResponse$Type();
-    var FinalizeArtifactRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.FinalizeArtifactRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 4,
-            name: "size",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          },
-          { no: 5, name: "hash", kind: "message", T: () => wrappers_2.StringValue }
-        ]);
+      /**
+       * @deprecated - This is a read-only property
+       */
+      set objectMode(_om) {
+        throw new Error("objectMode must be set at instantiation time");
       }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "", size: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      /**
+       * true if this is an async stream
+       */
+      get ["async"]() {
+        return this[ASYNC];
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* string name */
-            3:
-              message.name = reader.string();
-              break;
-            case /* int64 size */
-            4:
-              message.size = reader.int64().toString();
-              break;
-            case /* google.protobuf.StringValue hash */
-            5:
-              message.hash = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.hash);
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
+      /**
+       * Set to true to make this stream async.
+       *
+       * Once set, it cannot be unset, as this would potentially cause incorrect
+       * behavior.  Ie, a sync stream can be made async, but an async stream
+       * cannot be safely made sync.
+       */
+      set ["async"](a) {
+        this[ASYNC] = this[ASYNC] || !!a;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.name !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
-        if (message.size !== "0")
-          writer.tag(4, runtime_1.WireType.Varint).int64(message.size);
-        if (message.hash)
-          wrappers_2.StringValue.internalBinaryWrite(message.hash, writer.tag(5, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      // drop everything and get out of the flow completely
+      [ABORT]() {
+        this[ABORTED] = true;
+        this.emit("abort", this[SIGNAL]?.reason);
+        this.destroy(this[SIGNAL]?.reason);
       }
-    };
-    exports2.FinalizeArtifactRequest = new FinalizeArtifactRequest$Type();
-    var FinalizeArtifactResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.FinalizeArtifactResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "artifact_id",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          }
-        ]);
+      /**
+       * True if the stream has been aborted.
+       */
+      get aborted() {
+        return this[ABORTED];
       }
-      create(value) {
-        const message = { ok: false, artifactId: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      /**
+       * No-op setter. Stream aborted status is set via the AbortSignal provided
+       * in the constructor options.
+       */
+      set aborted(_2) {
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* int64 artifact_id */
-            2:
-              message.artifactId = reader.int64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      write(chunk, encoding, cb) {
+        if (this[ABORTED])
+          return false;
+        if (this[EOF2])
+          throw new Error("write after end");
+        if (this[DESTROYED]) {
+          this.emit("error", Object.assign(new Error("Cannot call write after a stream was destroyed"), { code: "ERR_STREAM_DESTROYED" }));
+          return true;
+        }
+        if (typeof encoding === "function") {
+          cb = encoding;
+          encoding = "utf8";
+        }
+        if (!encoding)
+          encoding = "utf8";
+        const fn = this[ASYNC] ? defer : nodefer;
+        if (!this[OBJECTMODE] && !Buffer.isBuffer(chunk)) {
+          if (isArrayBufferView(chunk)) {
+            chunk = Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
+          } else if (isArrayBufferLike(chunk)) {
+            chunk = Buffer.from(chunk);
+          } else if (typeof chunk !== "string") {
+            throw new Error("Non-contiguous data written to non-objectMode stream");
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.artifactId !== "0")
-          writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.FinalizeArtifactResponse = new FinalizeArtifactResponse$Type();
-    var ListArtifactsRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.ListArtifactsRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          { no: 3, name: "name_filter", kind: "message", T: () => wrappers_2.StringValue },
-          { no: 4, name: "id_filter", kind: "message", T: () => wrappers_1.Int64Value }
-        ]);
+        if (this[OBJECTMODE]) {
+          if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
+            this[FLUSH](true);
+          if (this[FLOWING])
+            this.emit("data", chunk);
+          else
+            this[BUFFERPUSH](chunk);
+          if (this[BUFFERLENGTH] !== 0)
+            this.emit("readable");
+          if (cb)
+            fn(cb);
+          return this[FLOWING];
+        }
+        if (!chunk.length) {
+          if (this[BUFFERLENGTH] !== 0)
+            this.emit("readable");
+          if (cb)
+            fn(cb);
+          return this[FLOWING];
+        }
+        if (typeof chunk === "string" && // unless it is a string already ready for us to use
+        !(encoding === this[ENCODING] && !this[DECODER]?.lastNeed)) {
+          chunk = Buffer.from(chunk, encoding);
+        }
+        if (Buffer.isBuffer(chunk) && this[ENCODING]) {
+          chunk = this[DECODER].write(chunk);
+        }
+        if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
+          this[FLUSH](true);
+        if (this[FLOWING])
+          this.emit("data", chunk);
+        else
+          this[BUFFERPUSH](chunk);
+        if (this[BUFFERLENGTH] !== 0)
+          this.emit("readable");
+        if (cb)
+          fn(cb);
+        return this[FLOWING];
       }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      /**
+       * Low-level explicit read method.
+       *
+       * In objectMode, the argument is ignored, and one item is returned if
+       * available.
+       *
+       * `n` is the number of bytes (or in the case of encoding streams,
+       * characters) to consume. If `n` is not provided, then the entire buffer
+       * is returned, or `null` is returned if no data is available.
+       *
+       * If `n` is greater that the amount of data in the internal buffer,
+       * then `null` is returned.
+       */
+      read(n) {
+        if (this[DESTROYED])
+          return null;
+        this[DISCARDED] = false;
+        if (this[BUFFERLENGTH] === 0 || n === 0 || n && n > this[BUFFERLENGTH]) {
+          this[MAYBE_EMIT_END]();
+          return null;
+        }
+        if (this[OBJECTMODE])
+          n = null;
+        if (this[BUFFER].length > 1 && !this[OBJECTMODE]) {
+          this[BUFFER] = [
+            this[ENCODING] ? this[BUFFER].join("") : Buffer.concat(this[BUFFER], this[BUFFERLENGTH])
+          ];
+        }
+        const ret = this[READ](n || null, this[BUFFER][0]);
+        this[MAYBE_EMIT_END]();
+        return ret;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* google.protobuf.StringValue name_filter */
-            3:
-              message.nameFilter = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.nameFilter);
-              break;
-            case /* google.protobuf.Int64Value id_filter */
-            4:
-              message.idFilter = wrappers_1.Int64Value.internalBinaryRead(reader, reader.uint32(), options, message.idFilter);
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      [READ](n, chunk) {
+        if (this[OBJECTMODE])
+          this[BUFFERSHIFT]();
+        else {
+          const c = chunk;
+          if (n === c.length || n === null)
+            this[BUFFERSHIFT]();
+          else if (typeof c === "string") {
+            this[BUFFER][0] = c.slice(n);
+            chunk = c.slice(0, n);
+            this[BUFFERLENGTH] -= n;
+          } else {
+            this[BUFFER][0] = c.subarray(n);
+            chunk = c.subarray(0, n);
+            this[BUFFERLENGTH] -= n;
           }
         }
-        return message;
+        this.emit("data", chunk);
+        if (!this[BUFFER].length && !this[EOF2])
+          this.emit("drain");
+        return chunk;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.nameFilter)
-          wrappers_2.StringValue.internalBinaryWrite(message.nameFilter, writer.tag(3, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        if (message.idFilter)
-          wrappers_1.Int64Value.internalBinaryWrite(message.idFilter, writer.tag(4, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      end(chunk, encoding, cb) {
+        if (typeof chunk === "function") {
+          cb = chunk;
+          chunk = void 0;
+        }
+        if (typeof encoding === "function") {
+          cb = encoding;
+          encoding = "utf8";
+        }
+        if (chunk !== void 0)
+          this.write(chunk, encoding);
+        if (cb)
+          this.once("end", cb);
+        this[EOF2] = true;
+        this.writable = false;
+        if (this[FLOWING] || !this[PAUSED])
+          this[MAYBE_EMIT_END]();
+        return this;
       }
-    };
-    exports2.ListArtifactsRequest = new ListArtifactsRequest$Type();
-    var ListArtifactsResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.ListArtifactsResponse", [
-          { no: 1, name: "artifacts", kind: "message", repeat: 1, T: () => exports2.ListArtifactsResponse_MonolithArtifact }
-        ]);
+      // don't let the internal resume be overwritten
+      [RESUME]() {
+        if (this[DESTROYED])
+          return;
+        if (!this[DATALISTENERS] && !this[PIPES].length) {
+          this[DISCARDED] = true;
+        }
+        this[PAUSED] = false;
+        this[FLOWING] = true;
+        this.emit("resume");
+        if (this[BUFFER].length)
+          this[FLUSH]();
+        else if (this[EOF2])
+          this[MAYBE_EMIT_END]();
+        else
+          this.emit("drain");
       }
-      create(value) {
-        const message = { artifacts: [] };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      /**
+       * Resume the stream if it is currently in a paused state
+       *
+       * If called when there are no pipe destinations or `data` event listeners,
+       * this will place the stream in a "discarded" state, where all data will
+       * be thrown away. The discarded state is removed if a pipe destination or
+       * data handler is added, if pause() is called, or if any synchronous or
+       * asynchronous iteration is started.
+       */
+      resume() {
+        return this[RESUME]();
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* repeated github.actions.results.api.v1.ListArtifactsResponse.MonolithArtifact artifacts */
-            1:
-              message.artifacts.push(exports2.ListArtifactsResponse_MonolithArtifact.internalBinaryRead(reader, reader.uint32(), options));
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
+      /**
+       * Pause the stream
+       */
+      pause() {
+        this[FLOWING] = false;
+        this[PAUSED] = true;
+        this[DISCARDED] = false;
       }
-      internalBinaryWrite(message, writer, options) {
-        for (let i = 0; i < message.artifacts.length; i++)
-          exports2.ListArtifactsResponse_MonolithArtifact.internalBinaryWrite(message.artifacts[i], writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      /**
+       * true if the stream has been forcibly destroyed
+       */
+      get destroyed() {
+        return this[DESTROYED];
       }
-    };
-    exports2.ListArtifactsResponse = new ListArtifactsResponse$Type();
-    var ListArtifactsResponse_MonolithArtifact$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.ListArtifactsResponse.MonolithArtifact", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "database_id",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          },
-          {
-            no: 4,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 5,
-            name: "size",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          },
-          { no: 6, name: "created_at", kind: "message", T: () => timestamp_1.Timestamp },
-          { no: 7, name: "digest", kind: "message", T: () => wrappers_2.StringValue }
-        ]);
+      /**
+       * true if the stream is currently in a flowing state, meaning that
+       * any writes will be immediately emitted.
+       */
+      get flowing() {
+        return this[FLOWING];
       }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", databaseId: "0", name: "", size: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      /**
+       * true if the stream is currently in a paused state
+       */
+      get paused() {
+        return this[PAUSED];
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* int64 database_id */
-            3:
-              message.databaseId = reader.int64().toString();
-              break;
-            case /* string name */
-            4:
-              message.name = reader.string();
-              break;
-            case /* int64 size */
-            5:
-              message.size = reader.int64().toString();
-              break;
-            case /* google.protobuf.Timestamp created_at */
-            6:
-              message.createdAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.createdAt);
-              break;
-            case /* google.protobuf.StringValue digest */
-            7:
-              message.digest = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.digest);
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
+      [BUFFERPUSH](chunk) {
+        if (this[OBJECTMODE])
+          this[BUFFERLENGTH] += 1;
+        else
+          this[BUFFERLENGTH] += chunk.length;
+        this[BUFFER].push(chunk);
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.databaseId !== "0")
-          writer.tag(3, runtime_1.WireType.Varint).int64(message.databaseId);
-        if (message.name !== "")
-          writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.name);
-        if (message.size !== "0")
-          writer.tag(5, runtime_1.WireType.Varint).int64(message.size);
-        if (message.createdAt)
-          timestamp_1.Timestamp.internalBinaryWrite(message.createdAt, writer.tag(6, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        if (message.digest)
-          wrappers_2.StringValue.internalBinaryWrite(message.digest, writer.tag(7, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      [BUFFERSHIFT]() {
+        if (this[OBJECTMODE])
+          this[BUFFERLENGTH] -= 1;
+        else
+          this[BUFFERLENGTH] -= this[BUFFER][0].length;
+        return this[BUFFER].shift();
       }
-    };
-    exports2.ListArtifactsResponse_MonolithArtifact = new ListArtifactsResponse_MonolithArtifact$Type();
-    var GetSignedArtifactURLRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.GetSignedArtifactURLRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
+      [FLUSH](noDrain = false) {
+        do {
+        } while (this[FLUSHCHUNK](this[BUFFERSHIFT]()) && this[BUFFER].length);
+        if (!noDrain && !this[BUFFER].length && !this[EOF2])
+          this.emit("drain");
       }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      [FLUSHCHUNK](chunk) {
+        this.emit("data", chunk);
+        return this[FLOWING];
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* string name */
-            3:
-              message.name = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
+      /**
+       * Pipe all data emitted by this stream into the destination provided.
+       *
+       * Triggers the flow of data.
+       */
+      pipe(dest, opts) {
+        if (this[DESTROYED])
+          return dest;
+        this[DISCARDED] = false;
+        const ended = this[EMITTED_END];
+        opts = opts || {};
+        if (dest === proc.stdout || dest === proc.stderr)
+          opts.end = false;
+        else
+          opts.end = opts.end !== false;
+        opts.proxyErrors = !!opts.proxyErrors;
+        if (ended) {
+          if (opts.end)
+            dest.end();
+        } else {
+          this[PIPES].push(!opts.proxyErrors ? new Pipe(this, dest, opts) : new PipeProxyErrors(this, dest, opts));
+          if (this[ASYNC])
+            defer(() => this[RESUME]());
+          else
+            this[RESUME]();
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.name !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+        return dest;
       }
-    };
-    exports2.GetSignedArtifactURLRequest = new GetSignedArtifactURLRequest$Type();
-    var GetSignedArtifactURLResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.GetSignedArtifactURLResponse", [
-          {
-            no: 1,
-            name: "signed_url",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
+      /**
+       * Fully unhook a piped destination stream.
+       *
+       * If the destination stream was the only consumer of this stream (ie,
+       * there are no other piped destinations or `'data'` event listeners)
+       * then the flow of data will stop until there is another consumer or
+       * {@link Minipass#resume} is explicitly called.
+       */
+      unpipe(dest) {
+        const p = this[PIPES].find((p2) => p2.dest === dest);
+        if (p) {
+          if (this[PIPES].length === 1) {
+            if (this[FLOWING] && this[DATALISTENERS] === 0) {
+              this[FLOWING] = false;
+            }
+            this[PIPES] = [];
+          } else
+            this[PIPES].splice(this[PIPES].indexOf(p), 1);
+          p.unpipe();
+        }
       }
-      create(value) {
-        const message = { signedUrl: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      /**
+       * Alias for {@link Minipass#on}
+       */
+      addListener(ev, handler2) {
+        return this.on(ev, handler2);
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string signed_url */
-            1:
-              message.signedUrl = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      /**
+       * Mostly identical to `EventEmitter.on`, with the following
+       * behavior differences to prevent data loss and unnecessary hangs:
+       *
+       * - Adding a 'data' event handler will trigger the flow of data
+       *
+       * - Adding a 'readable' event handler when there is data waiting to be read
+       *   will cause 'readable' to be emitted immediately.
+       *
+       * - Adding an 'endish' event handler ('end', 'finish', etc.) which has
+       *   already passed will cause the event to be emitted immediately and all
+       *   handlers removed.
+       *
+       * - Adding an 'error' event handler after an error has been emitted will
+       *   cause the event to be re-emitted immediately with the error previously
+       *   raised.
+       */
+      on(ev, handler2) {
+        const ret = super.on(ev, handler2);
+        if (ev === "data") {
+          this[DISCARDED] = false;
+          this[DATALISTENERS]++;
+          if (!this[PIPES].length && !this[FLOWING]) {
+            this[RESUME]();
           }
+        } else if (ev === "readable" && this[BUFFERLENGTH] !== 0) {
+          super.emit("readable");
+        } else if (isEndish(ev) && this[EMITTED_END]) {
+          super.emit(ev);
+          this.removeAllListeners(ev);
+        } else if (ev === "error" && this[EMITTED_ERROR]) {
+          const h = handler2;
+          if (this[ASYNC])
+            defer(() => h.call(this, this[EMITTED_ERROR]));
+          else
+            h.call(this, this[EMITTED_ERROR]);
         }
-        return message;
+        return ret;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.signedUrl !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.signedUrl);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      /**
+       * Alias for {@link Minipass#off}
+       */
+      removeListener(ev, handler2) {
+        return this.off(ev, handler2);
       }
-    };
-    exports2.GetSignedArtifactURLResponse = new GetSignedArtifactURLResponse$Type();
-    var DeleteArtifactRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.DeleteArtifactRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
+      /**
+       * Mostly identical to `EventEmitter.off`
+       *
+       * If a 'data' event handler is removed, and it was the last consumer
+       * (ie, there are no pipe destinations or other 'data' event listeners),
+       * then the flow of data will stop until there is another consumer or
+       * {@link Minipass#resume} is explicitly called.
+       */
+      off(ev, handler2) {
+        const ret = super.off(ev, handler2);
+        if (ev === "data") {
+          this[DATALISTENERS] = this.listeners("data").length;
+          if (this[DATALISTENERS] === 0 && !this[DISCARDED] && !this[PIPES].length) {
+            this[FLOWING] = false;
           }
-        ]);
-      }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+        }
+        return ret;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* string name */
-            3:
-              message.name = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      /**
+       * Mostly identical to `EventEmitter.removeAllListeners`
+       *
+       * If all 'data' event handlers are removed, and they were the last consumer
+       * (ie, there are no pipe destinations), then the flow of data will stop
+       * until there is another consumer or {@link Minipass#resume} is explicitly
+       * called.
+       */
+      removeAllListeners(ev) {
+        const ret = super.removeAllListeners(ev);
+        if (ev === "data" || ev === void 0) {
+          this[DATALISTENERS] = 0;
+          if (!this[DISCARDED] && !this[PIPES].length) {
+            this[FLOWING] = false;
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.name !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+        return ret;
       }
-    };
-    exports2.DeleteArtifactRequest = new DeleteArtifactRequest$Type();
-    var DeleteArtifactResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.DeleteArtifactResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "artifact_id",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          }
-        ]);
+      /**
+       * true if the 'end' event has been emitted
+       */
+      get emittedEnd() {
+        return this[EMITTED_END];
       }
-      create(value) {
-        const message = { ok: false, artifactId: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      [MAYBE_EMIT_END]() {
+        if (!this[EMITTING_END] && !this[EMITTED_END] && !this[DESTROYED] && this[BUFFER].length === 0 && this[EOF2]) {
+          this[EMITTING_END] = true;
+          this.emit("end");
+          this.emit("prefinish");
+          this.emit("finish");
+          if (this[CLOSED])
+            this.emit("close");
+          this[EMITTING_END] = false;
+        }
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* int64 artifact_id */
-            2:
-              message.artifactId = reader.int64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
+      /**
+       * Mostly identical to `EventEmitter.emit`, with the following
+       * behavior differences to prevent data loss and unnecessary hangs:
+       *
+       * If the stream has been destroyed, and the event is something other
+       * than 'close' or 'error', then `false` is returned and no handlers
+       * are called.
+       *
+       * If the event is 'end', and has already been emitted, then the event
+       * is ignored. If the stream is in a paused or non-flowing state, then
+       * the event will be deferred until data flow resumes. If the stream is
+       * async, then handlers will be called on the next tick rather than
+       * immediately.
+       *
+       * If the event is 'close', and 'end' has not yet been emitted, then
+       * the event will be deferred until after 'end' is emitted.
+       *
+       * If the event is 'error', and an AbortSignal was provided for the stream,
+       * and there are no listeners, then the event is ignored, matching the
+       * behavior of node core streams in the presense of an AbortSignal.
+       *
+       * If the event is 'finish' or 'prefinish', then all listeners will be
+       * removed after emitting the event, to prevent double-firing.
+       */
+      emit(ev, ...args) {
+        const data = args[0];
+        if (ev !== "error" && ev !== "close" && ev !== DESTROYED && this[DESTROYED]) {
+          return false;
+        } else if (ev === "data") {
+          return !this[OBJECTMODE] && !data ? false : this[ASYNC] ? (defer(() => this[EMITDATA](data)), true) : this[EMITDATA](data);
+        } else if (ev === "end") {
+          return this[EMITEND]();
+        } else if (ev === "close") {
+          this[CLOSED] = true;
+          if (!this[EMITTED_END] && !this[DESTROYED])
+            return false;
+          const ret2 = super.emit("close");
+          this.removeAllListeners("close");
+          return ret2;
+        } else if (ev === "error") {
+          this[EMITTED_ERROR] = data;
+          super.emit(ERROR, data);
+          const ret2 = !this[SIGNAL] || this.listeners("error").length ? super.emit("error", data) : false;
+          this[MAYBE_EMIT_END]();
+          return ret2;
+        } else if (ev === "resume") {
+          const ret2 = super.emit("resume");
+          this[MAYBE_EMIT_END]();
+          return ret2;
+        } else if (ev === "finish" || ev === "prefinish") {
+          const ret2 = super.emit(ev);
+          this.removeAllListeners(ev);
+          return ret2;
         }
-        return message;
+        const ret = super.emit(ev, ...args);
+        this[MAYBE_EMIT_END]();
+        return ret;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.artifactId !== "0")
-          writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      [EMITDATA](data) {
+        for (const p of this[PIPES]) {
+          if (p.dest.write(data) === false)
+            this.pause();
+        }
+        const ret = this[DISCARDED] ? false : super.emit("data", data);
+        this[MAYBE_EMIT_END]();
+        return ret;
       }
-    };
-    exports2.DeleteArtifactResponse = new DeleteArtifactResponse$Type();
-    exports2.ArtifactService = new runtime_rpc_1.ServiceType("github.actions.results.api.v1.ArtifactService", [
-      { name: "CreateArtifact", options: {}, I: exports2.CreateArtifactRequest, O: exports2.CreateArtifactResponse },
-      { name: "FinalizeArtifact", options: {}, I: exports2.FinalizeArtifactRequest, O: exports2.FinalizeArtifactResponse },
-      { name: "ListArtifacts", options: {}, I: exports2.ListArtifactsRequest, O: exports2.ListArtifactsResponse },
-      { name: "GetSignedArtifactURL", options: {}, I: exports2.GetSignedArtifactURLRequest, O: exports2.GetSignedArtifactURLResponse },
-      { name: "DeleteArtifact", options: {}, I: exports2.DeleteArtifactRequest, O: exports2.DeleteArtifactResponse },
-      { name: "MigrateArtifact", options: {}, I: exports2.MigrateArtifactRequest, O: exports2.MigrateArtifactResponse },
-      { name: "FinalizeMigratedArtifact", options: {}, I: exports2.FinalizeMigratedArtifactRequest, O: exports2.FinalizeMigratedArtifactResponse }
-    ]);
-  }
-});
-
-// node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.js
-var require_artifact_twirp_client = __commonJS({
-  "node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ArtifactServiceClientProtobuf = exports2.ArtifactServiceClientJSON = void 0;
-    var artifact_1 = require_artifact();
-    var ArtifactServiceClientJSON = class {
-      constructor(rpc) {
-        this.rpc = rpc;
-        this.CreateArtifact.bind(this);
-        this.FinalizeArtifact.bind(this);
-        this.ListArtifacts.bind(this);
-        this.GetSignedArtifactURL.bind(this);
-        this.DeleteArtifact.bind(this);
+      [EMITEND]() {
+        if (this[EMITTED_END])
+          return false;
+        this[EMITTED_END] = true;
+        this.readable = false;
+        return this[ASYNC] ? (defer(() => this[EMITEND2]()), true) : this[EMITEND2]();
       }
-      CreateArtifact(request2) {
-        const data = artifact_1.CreateArtifactRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
-        });
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "CreateArtifact", "application/json", data);
-        return promise.then((data2) => artifact_1.CreateArtifactResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
+      [EMITEND2]() {
+        if (this[DECODER]) {
+          const data = this[DECODER].end();
+          if (data) {
+            for (const p of this[PIPES]) {
+              p.dest.write(data);
+            }
+            if (!this[DISCARDED])
+              super.emit("data", data);
+          }
+        }
+        for (const p of this[PIPES]) {
+          p.end();
+        }
+        const ret = super.emit("end");
+        this.removeAllListeners("end");
+        return ret;
       }
-      FinalizeArtifact(request2) {
-        const data = artifact_1.FinalizeArtifactRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
+      /**
+       * Return a Promise that resolves to an array of all emitted data once
+       * the stream ends.
+       */
+      async collect() {
+        const buf = Object.assign([], {
+          dataLength: 0
         });
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "FinalizeArtifact", "application/json", data);
-        return promise.then((data2) => artifact_1.FinalizeArtifactResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
-      }
-      ListArtifacts(request2) {
-        const data = artifact_1.ListArtifactsRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
+        if (!this[OBJECTMODE])
+          buf.dataLength = 0;
+        const p = this.promise();
+        this.on("data", (c) => {
+          buf.push(c);
+          if (!this[OBJECTMODE])
+            buf.dataLength += c.length;
         });
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "ListArtifacts", "application/json", data);
-        return promise.then((data2) => artifact_1.ListArtifactsResponse.fromJson(data2, { ignoreUnknownFields: true }));
+        await p;
+        return buf;
       }
-      GetSignedArtifactURL(request2) {
-        const data = artifact_1.GetSignedArtifactURLRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
-        });
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "GetSignedArtifactURL", "application/json", data);
-        return promise.then((data2) => artifact_1.GetSignedArtifactURLResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
+      /**
+       * Return a Promise that resolves to the concatenation of all emitted data
+       * once the stream ends.
+       *
+       * Not allowed on objectMode streams.
+       */
+      async concat() {
+        if (this[OBJECTMODE]) {
+          throw new Error("cannot concat in objectMode");
+        }
+        const buf = await this.collect();
+        return this[ENCODING] ? buf.join("") : Buffer.concat(buf, buf.dataLength);
       }
-      DeleteArtifact(request2) {
-        const data = artifact_1.DeleteArtifactRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
+      /**
+       * Return a void Promise that resolves once the stream ends.
+       */
+      async promise() {
+        return new Promise((resolve8, reject) => {
+          this.on(DESTROYED, () => reject(new Error("stream destroyed")));
+          this.on("error", (er) => reject(er));
+          this.on("end", () => resolve8());
         });
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "DeleteArtifact", "application/json", data);
-        return promise.then((data2) => artifact_1.DeleteArtifactResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
-      }
-    };
-    exports2.ArtifactServiceClientJSON = ArtifactServiceClientJSON;
-    var ArtifactServiceClientProtobuf = class {
-      constructor(rpc) {
-        this.rpc = rpc;
-        this.CreateArtifact.bind(this);
-        this.FinalizeArtifact.bind(this);
-        this.ListArtifacts.bind(this);
-        this.GetSignedArtifactURL.bind(this);
-        this.DeleteArtifact.bind(this);
-      }
-      CreateArtifact(request2) {
-        const data = artifact_1.CreateArtifactRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "CreateArtifact", "application/protobuf", data);
-        return promise.then((data2) => artifact_1.CreateArtifactResponse.fromBinary(data2));
-      }
-      FinalizeArtifact(request2) {
-        const data = artifact_1.FinalizeArtifactRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "FinalizeArtifact", "application/protobuf", data);
-        return promise.then((data2) => artifact_1.FinalizeArtifactResponse.fromBinary(data2));
       }
-      ListArtifacts(request2) {
-        const data = artifact_1.ListArtifactsRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "ListArtifacts", "application/protobuf", data);
-        return promise.then((data2) => artifact_1.ListArtifactsResponse.fromBinary(data2));
-      }
-      GetSignedArtifactURL(request2) {
-        const data = artifact_1.GetSignedArtifactURLRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "GetSignedArtifactURL", "application/protobuf", data);
-        return promise.then((data2) => artifact_1.GetSignedArtifactURLResponse.fromBinary(data2));
+      /**
+       * Asynchronous `for await of` iteration.
+       *
+       * This will continue emitting all chunks until the stream terminates.
+       */
+      [Symbol.asyncIterator]() {
+        this[DISCARDED] = false;
+        let stopped = false;
+        const stop = async () => {
+          this.pause();
+          stopped = true;
+          return { value: void 0, done: true };
+        };
+        const next = () => {
+          if (stopped)
+            return stop();
+          const res = this.read();
+          if (res !== null)
+            return Promise.resolve({ done: false, value: res });
+          if (this[EOF2])
+            return stop();
+          let resolve8;
+          let reject;
+          const onerr = (er) => {
+            this.off("data", ondata);
+            this.off("end", onend);
+            this.off(DESTROYED, ondestroy);
+            stop();
+            reject(er);
+          };
+          const ondata = (value) => {
+            this.off("error", onerr);
+            this.off("end", onend);
+            this.off(DESTROYED, ondestroy);
+            this.pause();
+            resolve8({ value, done: !!this[EOF2] });
+          };
+          const onend = () => {
+            this.off("error", onerr);
+            this.off("data", ondata);
+            this.off(DESTROYED, ondestroy);
+            stop();
+            resolve8({ done: true, value: void 0 });
+          };
+          const ondestroy = () => onerr(new Error("stream destroyed"));
+          return new Promise((res2, rej) => {
+            reject = rej;
+            resolve8 = res2;
+            this.once(DESTROYED, ondestroy);
+            this.once("error", onerr);
+            this.once("end", onend);
+            this.once("data", ondata);
+          });
+        };
+        return {
+          next,
+          throw: stop,
+          return: stop,
+          [Symbol.asyncIterator]() {
+            return this;
+          }
+        };
       }
-      DeleteArtifact(request2) {
-        const data = artifact_1.DeleteArtifactRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "DeleteArtifact", "application/protobuf", data);
-        return promise.then((data2) => artifact_1.DeleteArtifactResponse.fromBinary(data2));
+      /**
+       * Synchronous `for of` iteration.
+       *
+       * The iteration will terminate when the internal buffer runs out, even
+       * if the stream has not yet terminated.
+       */
+      [Symbol.iterator]() {
+        this[DISCARDED] = false;
+        let stopped = false;
+        const stop = () => {
+          this.pause();
+          this.off(ERROR, stop);
+          this.off(DESTROYED, stop);
+          this.off("end", stop);
+          stopped = true;
+          return { done: true, value: void 0 };
+        };
+        const next = () => {
+          if (stopped)
+            return stop();
+          const value = this.read();
+          return value === null ? stop() : { done: false, value };
+        };
+        this.once("end", stop);
+        this.once(ERROR, stop);
+        this.once(DESTROYED, stop);
+        return {
+          next,
+          throw: stop,
+          return: stop,
+          [Symbol.iterator]() {
+            return this;
+          }
+        };
       }
-    };
-    exports2.ArtifactServiceClientProtobuf = ArtifactServiceClientProtobuf;
-  }
-});
-
-// node_modules/@actions/artifact/lib/generated/index.js
-var require_generated = __commonJS({
-  "node_modules/@actions/artifact/lib/generated/index.js"(exports2) {
-    "use strict";
-    var __createBinding2 = 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];
-        } };
+      /**
+       * Destroy a stream, preventing it from being used for any further purpose.
+       *
+       * If the stream has a `close()` method, then it will be called on
+       * destruction.
+       *
+       * After destruction, any attempt to write data, read data, or emit most
+       * events will be ignored.
+       *
+       * If an error argument is provided, then it will be emitted in an
+       * 'error' event.
+       */
+      destroy(er) {
+        if (this[DESTROYED]) {
+          if (er)
+            this.emit("error", er);
+          else
+            this.emit(DESTROYED);
+          return this;
+        }
+        this[DESTROYED] = true;
+        this[DISCARDED] = true;
+        this[BUFFER].length = 0;
+        this[BUFFERLENGTH] = 0;
+        const wc = this;
+        if (typeof wc.close === "function" && !this[CLOSED])
+          wc.close();
+        if (er)
+          this.emit("error", er);
+        else
+          this.emit(DESTROYED);
+        return this;
+      }
+      /**
+       * Alias for {@link isStream}
+       *
+       * Former export location, maintained for backwards compatibility.
+       *
+       * @deprecated
+       */
+      static get isStream() {
+        return exports2.isStream;
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
-      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p);
     };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    __exportStar2(require_timestamp(), exports2);
-    __exportStar2(require_wrappers(), exports2);
-    __exportStar2(require_artifact(), exports2);
-    __exportStar2(require_artifact_twirp_client(), exports2);
+    exports2.Minipass = Minipass;
   }
 });
 
-// node_modules/@actions/artifact/lib/internal/upload/retention.js
-var require_retention = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/retention.js"(exports2) {
+// node_modules/path-scurry/dist/commonjs/index.js
+var require_commonjs23 = __commonJS({
+  "node_modules/path-scurry/dist/commonjs/index.js"(exports2) {
     "use strict";
     var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
       if (k2 === void 0) k2 = k;
@@ -100804,26126 +120355,24825 @@ var require_retention = __commonJS({
       return result;
     };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getExpiration = void 0;
-    var generated_1 = require_generated();
-    var core17 = __importStar2(require_core());
-    function getExpiration(retentionDays) {
-      if (!retentionDays) {
-        return void 0;
+    exports2.PathScurry = exports2.Path = exports2.PathScurryDarwin = exports2.PathScurryPosix = exports2.PathScurryWin32 = exports2.PathScurryBase = exports2.PathPosix = exports2.PathWin32 = exports2.PathBase = exports2.ChildrenCache = exports2.ResolveCache = void 0;
+    var lru_cache_1 = require_commonjs21();
+    var node_path_1 = require("node:path");
+    var node_url_1 = require("node:url");
+    var fs_1 = require("fs");
+    var actualFS = __importStar2(require("node:fs"));
+    var realpathSync = fs_1.realpathSync.native;
+    var promises_1 = require("node:fs/promises");
+    var minipass_1 = require_commonjs22();
+    var defaultFS = {
+      lstatSync: fs_1.lstatSync,
+      readdir: fs_1.readdir,
+      readdirSync: fs_1.readdirSync,
+      readlinkSync: fs_1.readlinkSync,
+      realpathSync,
+      promises: {
+        lstat: promises_1.lstat,
+        readdir: promises_1.readdir,
+        readlink: promises_1.readlink,
+        realpath: promises_1.realpath
       }
-      const maxRetentionDays = getRetentionDays();
-      if (maxRetentionDays && maxRetentionDays < retentionDays) {
-        core17.warning(`Retention days cannot be greater than the maximum allowed retention set within the repository. Using ${maxRetentionDays} instead.`);
-        retentionDays = maxRetentionDays;
+    };
+    var fsFromOption = (fsOption) => !fsOption || fsOption === defaultFS || fsOption === actualFS ? defaultFS : {
+      ...defaultFS,
+      ...fsOption,
+      promises: {
+        ...defaultFS.promises,
+        ...fsOption.promises || {}
       }
-      const expirationDate = /* @__PURE__ */ new Date();
-      expirationDate.setDate(expirationDate.getDate() + retentionDays);
-      return generated_1.Timestamp.fromDate(expirationDate);
-    }
-    exports2.getExpiration = getExpiration;
-    function getRetentionDays() {
-      const retentionDays = process.env["GITHUB_RETENTION_DAYS"];
-      if (!retentionDays) {
-        return void 0;
+    };
+    var uncDriveRegexp = /^\\\\\?\\([a-z]:)\\?$/i;
+    var uncToDrive = (rootPath) => rootPath.replace(/\//g, "\\").replace(uncDriveRegexp, "$1\\");
+    var eitherSep = /[\\\/]/;
+    var UNKNOWN = 0;
+    var IFIFO = 1;
+    var IFCHR = 2;
+    var IFDIR = 4;
+    var IFBLK = 6;
+    var IFREG = 8;
+    var IFLNK = 10;
+    var IFSOCK = 12;
+    var IFMT = 15;
+    var IFMT_UNKNOWN = ~IFMT;
+    var READDIR_CALLED = 16;
+    var LSTAT_CALLED = 32;
+    var ENOTDIR = 64;
+    var ENOENT = 128;
+    var ENOREADLINK = 256;
+    var ENOREALPATH = 512;
+    var ENOCHILD = ENOTDIR | ENOENT | ENOREALPATH;
+    var TYPEMASK = 1023;
+    var entToType = (s) => s.isFile() ? IFREG : s.isDirectory() ? IFDIR : s.isSymbolicLink() ? IFLNK : s.isCharacterDevice() ? IFCHR : s.isBlockDevice() ? IFBLK : s.isSocket() ? IFSOCK : s.isFIFO() ? IFIFO : UNKNOWN;
+    var normalizeCache = /* @__PURE__ */ new Map();
+    var normalize2 = (s) => {
+      const c = normalizeCache.get(s);
+      if (c)
+        return c;
+      const n = s.normalize("NFKD");
+      normalizeCache.set(s, n);
+      return n;
+    };
+    var normalizeNocaseCache = /* @__PURE__ */ new Map();
+    var normalizeNocase = (s) => {
+      const c = normalizeNocaseCache.get(s);
+      if (c)
+        return c;
+      const n = normalize2(s.toLowerCase());
+      normalizeNocaseCache.set(s, n);
+      return n;
+    };
+    var ResolveCache = class extends lru_cache_1.LRUCache {
+      constructor() {
+        super({ max: 256 });
       }
-      const days = parseInt(retentionDays);
-      if (isNaN(days)) {
-        return void 0;
+    };
+    exports2.ResolveCache = ResolveCache;
+    var ChildrenCache = class extends lru_cache_1.LRUCache {
+      constructor(maxSize = 16 * 1024) {
+        super({
+          maxSize,
+          // parent + children
+          sizeCalculation: (a) => a.length + 1
+        });
       }
-      return days;
-    }
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/upload/path-and-artifact-name-validation.js
-var require_path_and_artifact_name_validation = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/path-and-artifact-name-validation.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.validateFilePath = exports2.validateArtifactName = void 0;
-    var core_1 = require_core();
-    var invalidArtifactFilePathCharacters = /* @__PURE__ */ new Map([
-      ['"', ' Double quote "'],
-      [":", " Colon :"],
-      ["<", " Less than <"],
-      [">", " Greater than >"],
-      ["|", " Vertical bar |"],
-      ["*", " Asterisk *"],
-      ["?", " Question mark ?"],
-      ["\r", " Carriage return \\r"],
-      ["\n", " Line feed \\n"]
-    ]);
-    var invalidArtifactNameCharacters = new Map([
-      ...invalidArtifactFilePathCharacters,
-      ["\\", " Backslash \\"],
-      ["/", " Forward slash /"]
-    ]);
-    function validateArtifactName(name) {
-      if (!name) {
-        throw new Error(`Provided artifact name input during validation is empty`);
+    };
+    exports2.ChildrenCache = ChildrenCache;
+    var setAsCwd = /* @__PURE__ */ Symbol("PathScurry setAsCwd");
+    var PathBase = class {
+      /**
+       * the basename of this path
+       *
+       * **Important**: *always* test the path name against any test string
+       * usingthe {@link isNamed} method, and not by directly comparing this
+       * string. Otherwise, unicode path strings that the system sees as identical
+       * will not be properly treated as the same path, leading to incorrect
+       * behavior and possible security issues.
+       */
+      name;
+      /**
+       * the Path entry corresponding to the path root.
+       *
+       * @internal
+       */
+      root;
+      /**
+       * All roots found within the current PathScurry family
+       *
+       * @internal
+       */
+      roots;
+      /**
+       * a reference to the parent path, or undefined in the case of root entries
+       *
+       * @internal
+       */
+      parent;
+      /**
+       * boolean indicating whether paths are compared case-insensitively
+       * @internal
+       */
+      nocase;
+      /**
+       * boolean indicating that this path is the current working directory
+       * of the PathScurry collection that contains it.
+       */
+      isCWD = false;
+      // potential default fs override
+      #fs;
+      // Stats fields
+      #dev;
+      get dev() {
+        return this.#dev;
       }
-      for (const [invalidCharacterKey, errorMessageForCharacter] of invalidArtifactNameCharacters) {
-        if (name.includes(invalidCharacterKey)) {
-          throw new Error(`The artifact name is not valid: ${name}. Contains the following character: ${errorMessageForCharacter}
-          
-Invalid characters include: ${Array.from(invalidArtifactNameCharacters.values()).toString()}
-          
-These characters are not allowed in the artifact name due to limitations with certain file systems such as NTFS. To maintain file system agnostic behavior, these characters are intentionally not allowed to prevent potential problems with downloads on different file systems.`);
+      #mode;
+      get mode() {
+        return this.#mode;
+      }
+      #nlink;
+      get nlink() {
+        return this.#nlink;
+      }
+      #uid;
+      get uid() {
+        return this.#uid;
+      }
+      #gid;
+      get gid() {
+        return this.#gid;
+      }
+      #rdev;
+      get rdev() {
+        return this.#rdev;
+      }
+      #blksize;
+      get blksize() {
+        return this.#blksize;
+      }
+      #ino;
+      get ino() {
+        return this.#ino;
+      }
+      #size;
+      get size() {
+        return this.#size;
+      }
+      #blocks;
+      get blocks() {
+        return this.#blocks;
+      }
+      #atimeMs;
+      get atimeMs() {
+        return this.#atimeMs;
+      }
+      #mtimeMs;
+      get mtimeMs() {
+        return this.#mtimeMs;
+      }
+      #ctimeMs;
+      get ctimeMs() {
+        return this.#ctimeMs;
+      }
+      #birthtimeMs;
+      get birthtimeMs() {
+        return this.#birthtimeMs;
+      }
+      #atime;
+      get atime() {
+        return this.#atime;
+      }
+      #mtime;
+      get mtime() {
+        return this.#mtime;
+      }
+      #ctime;
+      get ctime() {
+        return this.#ctime;
+      }
+      #birthtime;
+      get birthtime() {
+        return this.#birthtime;
+      }
+      #matchName;
+      #depth;
+      #fullpath;
+      #fullpathPosix;
+      #relative;
+      #relativePosix;
+      #type;
+      #children;
+      #linkTarget;
+      #realpath;
+      /**
+       * This property is for compatibility with the Dirent class as of
+       * Node v20, where Dirent['parentPath'] refers to the path of the
+       * directory that was passed to readdir. For root entries, it's the path
+       * to the entry itself.
+       */
+      get parentPath() {
+        return (this.parent || this).fullpath();
+      }
+      /**
+       * Deprecated alias for Dirent['parentPath'] Somewhat counterintuitively,
+       * this property refers to the *parent* path, not the path object itself.
+       *
+       * @deprecated
+       */
+      get path() {
+        return this.parentPath;
+      }
+      /**
+       * Do not create new Path objects directly.  They should always be accessed
+       * via the PathScurry class or other methods on the Path class.
+       *
+       * @internal
+       */
+      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
+        this.name = name;
+        this.#matchName = nocase ? normalizeNocase(name) : normalize2(name);
+        this.#type = type2 & TYPEMASK;
+        this.nocase = nocase;
+        this.roots = roots;
+        this.root = root || this;
+        this.#children = children;
+        this.#fullpath = opts.fullpath;
+        this.#relative = opts.relative;
+        this.#relativePosix = opts.relativePosix;
+        this.parent = opts.parent;
+        if (this.parent) {
+          this.#fs = this.parent.#fs;
+        } else {
+          this.#fs = fsFromOption(opts.fs);
         }
       }
-      (0, core_1.info)(`Artifact name is valid!`);
-    }
-    exports2.validateArtifactName = validateArtifactName;
-    function validateFilePath(path16) {
-      if (!path16) {
-        throw new Error(`Provided file path input during validation is empty`);
+      /**
+       * Returns the depth of the Path object from its root.
+       *
+       * For example, a path at `/foo/bar` would have a depth of 2.
+       */
+      depth() {
+        if (this.#depth !== void 0)
+          return this.#depth;
+        if (!this.parent)
+          return this.#depth = 0;
+        return this.#depth = this.parent.depth() + 1;
       }
-      for (const [invalidCharacterKey, errorMessageForCharacter] of invalidArtifactFilePathCharacters) {
-        if (path16.includes(invalidCharacterKey)) {
-          throw new Error(`The path for one of the files in artifact is not valid: ${path16}. Contains the following character: ${errorMessageForCharacter}
-          
-Invalid characters include: ${Array.from(invalidArtifactFilePathCharacters.values()).toString()}
-          
-The following characters are not allowed in files that are uploaded due to limitations with certain file systems such as NTFS. To maintain file system agnostic behavior, these characters are intentionally not allowed to prevent potential problems with downloads on different file systems.
-          `);
+      /**
+       * @internal
+       */
+      childrenCache() {
+        return this.#children;
+      }
+      /**
+       * Get the Path object referenced by the string path, resolved from this Path
+       */
+      resolve(path16) {
+        if (!path16) {
+          return this;
         }
+        const rootPath = this.getRootString(path16);
+        const dir = path16.substring(rootPath.length);
+        const dirParts = dir.split(this.splitSep);
+        const result = rootPath ? this.getRoot(rootPath).#resolveParts(dirParts) : this.#resolveParts(dirParts);
+        return result;
       }
-    }
-    exports2.validateFilePath = validateFilePath;
-  }
-});
-
-// node_modules/@actions/artifact/package.json
-var require_package3 = __commonJS({
-  "node_modules/@actions/artifact/package.json"(exports2, module2) {
-    module2.exports = {
-      name: "@actions/artifact",
-      version: "5.0.3",
-      preview: true,
-      description: "Actions artifact lib",
-      keywords: [
-        "github",
-        "actions",
-        "artifact"
-      ],
-      homepage: "https://github.com/actions/toolkit/tree/main/packages/artifact",
-      license: "MIT",
-      main: "lib/artifact.js",
-      types: "lib/artifact.d.ts",
-      directories: {
-        lib: "lib",
-        test: "__tests__"
-      },
-      files: [
-        "lib",
-        "!.DS_Store"
-      ],
-      publishConfig: {
-        access: "public"
-      },
-      repository: {
-        type: "git",
-        url: "git+https://github.com/actions/toolkit.git",
-        directory: "packages/artifact"
-      },
-      scripts: {
-        "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json",
-        test: "cd ../../ && npm run test ./packages/artifact",
-        bootstrap: "cd ../../ && npm run bootstrap",
-        "tsc-run": "tsc",
-        tsc: "npm run bootstrap && npm run tsc-run",
-        "gen:docs": "typedoc --plugin typedoc-plugin-markdown --out docs/generated src/artifact.ts --githubPages false --readme none"
-      },
-      bugs: {
-        url: "https://github.com/actions/toolkit/issues"
-      },
-      dependencies: {
-        "@actions/core": "^2.0.0",
-        "@actions/github": "^6.0.1",
-        "@actions/http-client": "^3.0.2",
-        "@azure/storage-blob": "^12.29.1",
-        "@octokit/core": "^5.2.1",
-        "@octokit/plugin-request-log": "^1.0.4",
-        "@octokit/plugin-retry": "^3.0.9",
-        "@octokit/request": "^8.4.1",
-        "@octokit/request-error": "^5.1.1",
-        "@protobuf-ts/plugin": "^2.2.3-alpha.1",
-        archiver: "^7.0.1",
-        "jwt-decode": "^3.1.2",
-        "unzip-stream": "^0.3.1"
-      },
-      devDependencies: {
-        "@types/archiver": "^5.3.2",
-        "@types/unzip-stream": "^0.3.4",
-        typedoc: "^0.28.13",
-        "typedoc-plugin-markdown": "^3.17.1",
-        typescript: "^5.2.2"
-      },
-      overrides: {
-        "uri-js": "npm:uri-js-replace@^1.0.1",
-        "node-fetch": "^3.3.2"
+      #resolveParts(dirParts) {
+        let p = this;
+        for (const part of dirParts) {
+          p = p.child(part);
+        }
+        return p;
       }
-    };
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/shared/user-agent.js
-var require_user_agent2 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/shared/user-agent.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getUserAgentString = void 0;
-    var packageJson = require_package3();
-    function getUserAgentString() {
-      return `@actions/artifact-${packageJson.version}`;
-    }
-    exports2.getUserAgentString = getUserAgentString;
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/shared/errors.js
-var require_errors4 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/shared/errors.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.UsageError = exports2.NetworkError = exports2.GHESNotSupportedError = exports2.ArtifactNotFoundError = exports2.InvalidResponseError = exports2.FilesNotFoundError = void 0;
-    var FilesNotFoundError = class extends Error {
-      constructor(files = []) {
-        let message = "No files were found to upload";
-        if (files.length > 0) {
-          message += `: ${files.join(", ")}`;
+      /**
+       * Returns the cached children Path objects, if still available.  If they
+       * have fallen out of the cache, then returns an empty array, and resets the
+       * READDIR_CALLED bit, so that future calls to readdir() will require an fs
+       * lookup.
+       *
+       * @internal
+       */
+      children() {
+        const cached = this.#children.get(this);
+        if (cached) {
+          return cached;
         }
-        super(message);
-        this.files = files;
-        this.name = "FilesNotFoundError";
+        const children = Object.assign([], { provisional: 0 });
+        this.#children.set(this, children);
+        this.#type &= ~READDIR_CALLED;
+        return children;
       }
-    };
-    exports2.FilesNotFoundError = FilesNotFoundError;
-    var InvalidResponseError = class extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "InvalidResponseError";
+      /**
+       * Resolves a path portion and returns or creates the child Path.
+       *
+       * Returns `this` if pathPart is `''` or `'.'`, or `parent` if pathPart is
+       * `'..'`.
+       *
+       * This should not be called directly.  If `pathPart` contains any path
+       * separators, it will lead to unsafe undefined behavior.
+       *
+       * Use `Path.resolve()` instead.
+       *
+       * @internal
+       */
+      child(pathPart, opts) {
+        if (pathPart === "" || pathPart === ".") {
+          return this;
+        }
+        if (pathPart === "..") {
+          return this.parent || this;
+        }
+        const children = this.children();
+        const name = this.nocase ? normalizeNocase(pathPart) : normalize2(pathPart);
+        for (const p of children) {
+          if (p.#matchName === name) {
+            return p;
+          }
+        }
+        const s = this.parent ? this.sep : "";
+        const fullpath = this.#fullpath ? this.#fullpath + s + pathPart : void 0;
+        const pchild = this.newChild(pathPart, UNKNOWN, {
+          ...opts,
+          parent: this,
+          fullpath
+        });
+        if (!this.canReaddir()) {
+          pchild.#type |= ENOENT;
+        }
+        children.push(pchild);
+        return pchild;
       }
-    };
-    exports2.InvalidResponseError = InvalidResponseError;
-    var ArtifactNotFoundError = class extends Error {
-      constructor(message = "Artifact not found") {
-        super(message);
-        this.name = "ArtifactNotFoundError";
+      /**
+       * The relative path from the cwd. If it does not share an ancestor with
+       * the cwd, then this ends up being equivalent to the fullpath()
+       */
+      relative() {
+        if (this.isCWD)
+          return "";
+        if (this.#relative !== void 0) {
+          return this.#relative;
+        }
+        const name = this.name;
+        const p = this.parent;
+        if (!p) {
+          return this.#relative = this.name;
+        }
+        const pv = p.relative();
+        return pv + (!pv || !p.parent ? "" : this.sep) + name;
       }
-    };
-    exports2.ArtifactNotFoundError = ArtifactNotFoundError;
-    var GHESNotSupportedError = class extends Error {
-      constructor(message = "@actions/artifact v2.0.0+, upload-artifact@v4+ and download-artifact@v4+ are not currently supported on GHES.") {
-        super(message);
-        this.name = "GHESNotSupportedError";
+      /**
+       * The relative path from the cwd, using / as the path separator.
+       * If it does not share an ancestor with
+       * the cwd, then this ends up being equivalent to the fullpathPosix()
+       * On posix systems, this is identical to relative().
+       */
+      relativePosix() {
+        if (this.sep === "/")
+          return this.relative();
+        if (this.isCWD)
+          return "";
+        if (this.#relativePosix !== void 0)
+          return this.#relativePosix;
+        const name = this.name;
+        const p = this.parent;
+        if (!p) {
+          return this.#relativePosix = this.fullpathPosix();
+        }
+        const pv = p.relativePosix();
+        return pv + (!pv || !p.parent ? "" : "/") + name;
       }
-    };
-    exports2.GHESNotSupportedError = GHESNotSupportedError;
-    var NetworkError = class extends Error {
-      constructor(code) {
-        const message = `Unable to make request: ${code}
-If you are using self-hosted runners, please make sure your runner has access to all GitHub endpoints: https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#communication-between-self-hosted-runners-and-github`;
-        super(message);
-        this.code = code;
-        this.name = "NetworkError";
+      /**
+       * The fully resolved path string for this Path entry
+       */
+      fullpath() {
+        if (this.#fullpath !== void 0) {
+          return this.#fullpath;
+        }
+        const name = this.name;
+        const p = this.parent;
+        if (!p) {
+          return this.#fullpath = this.name;
+        }
+        const pv = p.fullpath();
+        const fp = pv + (!p.parent ? "" : this.sep) + name;
+        return this.#fullpath = fp;
       }
-    };
-    exports2.NetworkError = NetworkError;
-    NetworkError.isNetworkErrorCode = (code) => {
-      if (!code)
-        return false;
-      return [
-        "ECONNRESET",
-        "ENOTFOUND",
-        "ETIMEDOUT",
-        "ECONNREFUSED",
-        "EHOSTUNREACH"
-      ].includes(code);
-    };
-    var UsageError = class extends Error {
-      constructor() {
-        const message = `Artifact storage quota has been hit. Unable to upload any new artifacts. Usage is recalculated every 6-12 hours.
-More info on storage limits: https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#calculating-minute-and-storage-spending`;
-        super(message);
-        this.name = "UsageError";
+      /**
+       * On platforms other than windows, this is identical to fullpath.
+       *
+       * On windows, this is overridden to return the forward-slash form of the
+       * full UNC path.
+       */
+      fullpathPosix() {
+        if (this.#fullpathPosix !== void 0)
+          return this.#fullpathPosix;
+        if (this.sep === "/")
+          return this.#fullpathPosix = this.fullpath();
+        if (!this.parent) {
+          const p2 = this.fullpath().replace(/\\/g, "/");
+          if (/^[a-z]:\//i.test(p2)) {
+            return this.#fullpathPosix = `//?/${p2}`;
+          } else {
+            return this.#fullpathPosix = p2;
+          }
+        }
+        const p = this.parent;
+        const pfpp = p.fullpathPosix();
+        const fpp = pfpp + (!pfpp || !p.parent ? "" : "/") + this.name;
+        return this.#fullpathPosix = fpp;
       }
-    };
-    exports2.UsageError = UsageError;
-    UsageError.isUsageErrorMessage = (msg) => {
-      if (!msg)
-        return false;
-      return msg.includes("insufficient usage");
-    };
-  }
-});
-
-// node_modules/jwt-decode/build/jwt-decode.cjs.js
-var require_jwt_decode_cjs = __commonJS({
-  "node_modules/jwt-decode/build/jwt-decode.cjs.js"(exports2, module2) {
-    "use strict";
-    function e(e2) {
-      this.message = e2;
-    }
-    e.prototype = new Error(), e.prototype.name = "InvalidCharacterError";
-    var r = "undefined" != typeof window && window.atob && window.atob.bind(window) || function(r2) {
-      var t2 = String(r2).replace(/=+$/, "");
-      if (t2.length % 4 == 1) throw new e("'atob' failed: The string to be decoded is not correctly encoded.");
-      for (var n2, o2, a2 = 0, i = 0, c = ""; o2 = t2.charAt(i++); ~o2 && (n2 = a2 % 4 ? 64 * n2 + o2 : o2, a2++ % 4) ? c += String.fromCharCode(255 & n2 >> (-2 * a2 & 6)) : 0) o2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(o2);
-      return c;
-    };
-    function t(e2) {
-      var t2 = e2.replace(/-/g, "+").replace(/_/g, "/");
-      switch (t2.length % 4) {
-        case 0:
-          break;
-        case 2:
-          t2 += "==";
-          break;
-        case 3:
-          t2 += "=";
-          break;
-        default:
-          throw "Illegal base64url string!";
+      /**
+       * Is the Path of an unknown type?
+       *
+       * Note that we might know *something* about it if there has been a previous
+       * filesystem operation, for example that it does not exist, or is not a
+       * link, or whether it has child entries.
+       */
+      isUnknown() {
+        return (this.#type & IFMT) === UNKNOWN;
       }
-      try {
-        return (function(e3) {
-          return decodeURIComponent(r(e3).replace(/(.)/g, (function(e4, r2) {
-            var t3 = r2.charCodeAt(0).toString(16).toUpperCase();
-            return t3.length < 2 && (t3 = "0" + t3), "%" + t3;
-          })));
-        })(t2);
-      } catch (e3) {
-        return r(t2);
+      isType(type2) {
+        return this[`is${type2}`]();
       }
-    }
-    function n(e2) {
-      this.message = e2;
-    }
-    function o(e2, r2) {
-      if ("string" != typeof e2) throw new n("Invalid token specified");
-      var o2 = true === (r2 = r2 || {}).header ? 0 : 1;
-      try {
-        return JSON.parse(t(e2.split(".")[o2]));
-      } catch (e3) {
-        throw new n("Invalid token specified: " + e3.message);
+      getType() {
+        return this.isUnknown() ? "Unknown" : this.isDirectory() ? "Directory" : this.isFile() ? "File" : this.isSymbolicLink() ? "SymbolicLink" : this.isFIFO() ? "FIFO" : this.isCharacterDevice() ? "CharacterDevice" : this.isBlockDevice() ? "BlockDevice" : (
+          /* c8 ignore start */
+          this.isSocket() ? "Socket" : "Unknown"
+        );
       }
-    }
-    n.prototype = new Error(), n.prototype.name = "InvalidTokenError";
-    var a = o;
-    a.default = o, a.InvalidTokenError = n, module2.exports = a;
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/shared/util.js
-var require_util18 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/shared/util.js"(exports2) {
-    "use strict";
-    var __createBinding2 = 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];
-        } };
+      /**
+       * Is the Path a regular file?
+       */
+      isFile() {
+        return (this.#type & IFMT) === IFREG;
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      /**
+       * Is the Path a directory?
+       */
+      isDirectory() {
+        return (this.#type & IFMT) === IFDIR;
       }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.maskSecretUrls = exports2.maskSigUrl = exports2.getBackendIdsFromToken = void 0;
-    var core17 = __importStar2(require_core());
-    var config_1 = require_config2();
-    var jwt_decode_1 = __importDefault2(require_jwt_decode_cjs());
-    var core_1 = require_core();
-    var InvalidJwtError = new Error("Failed to get backend IDs: The provided JWT token is invalid and/or missing claims");
-    function getBackendIdsFromToken() {
-      const token = (0, config_1.getRuntimeToken)();
-      const decoded = (0, jwt_decode_1.default)(token);
-      if (!decoded.scp) {
-        throw InvalidJwtError;
+      /**
+       * Is the path a character device?
+       */
+      isCharacterDevice() {
+        return (this.#type & IFMT) === IFCHR;
       }
-      const scpParts = decoded.scp.split(" ");
-      if (scpParts.length === 0) {
-        throw InvalidJwtError;
+      /**
+       * Is the path a block device?
+       */
+      isBlockDevice() {
+        return (this.#type & IFMT) === IFBLK;
       }
-      for (const scopes of scpParts) {
-        const scopeParts = scopes.split(":");
-        if ((scopeParts === null || scopeParts === void 0 ? void 0 : scopeParts[0]) !== "Actions.Results") {
-          continue;
+      /**
+       * Is the path a FIFO pipe?
+       */
+      isFIFO() {
+        return (this.#type & IFMT) === IFIFO;
+      }
+      /**
+       * Is the path a socket?
+       */
+      isSocket() {
+        return (this.#type & IFMT) === IFSOCK;
+      }
+      /**
+       * Is the path a symbolic link?
+       */
+      isSymbolicLink() {
+        return (this.#type & IFLNK) === IFLNK;
+      }
+      /**
+       * Return the entry if it has been subject of a successful lstat, or
+       * undefined otherwise.
+       *
+       * Does not read the filesystem, so an undefined result *could* simply
+       * mean that we haven't called lstat on it.
+       */
+      lstatCached() {
+        return this.#type & LSTAT_CALLED ? this : void 0;
+      }
+      /**
+       * Return the cached link target if the entry has been the subject of a
+       * successful readlink, or undefined otherwise.
+       *
+       * Does not read the filesystem, so an undefined result *could* just mean we
+       * don't have any cached data. Only use it if you are very sure that a
+       * readlink() has been called at some point.
+       */
+      readlinkCached() {
+        return this.#linkTarget;
+      }
+      /**
+       * Returns the cached realpath target if the entry has been the subject
+       * of a successful realpath, or undefined otherwise.
+       *
+       * Does not read the filesystem, so an undefined result *could* just mean we
+       * don't have any cached data. Only use it if you are very sure that a
+       * realpath() has been called at some point.
+       */
+      realpathCached() {
+        return this.#realpath;
+      }
+      /**
+       * Returns the cached child Path entries array if the entry has been the
+       * subject of a successful readdir(), or [] otherwise.
+       *
+       * Does not read the filesystem, so an empty array *could* just mean we
+       * don't have any cached data. Only use it if you are very sure that a
+       * readdir() has been called recently enough to still be valid.
+       */
+      readdirCached() {
+        const children = this.children();
+        return children.slice(0, children.provisional);
+      }
+      /**
+       * Return true if it's worth trying to readlink.  Ie, we don't (yet) have
+       * any indication that readlink will definitely fail.
+       *
+       * Returns false if the path is known to not be a symlink, if a previous
+       * readlink failed, or if the entry does not exist.
+       */
+      canReadlink() {
+        if (this.#linkTarget)
+          return true;
+        if (!this.parent)
+          return false;
+        const ifmt = this.#type & IFMT;
+        return !(ifmt !== UNKNOWN && ifmt !== IFLNK || this.#type & ENOREADLINK || this.#type & ENOENT);
+      }
+      /**
+       * Return true if readdir has previously been successfully called on this
+       * path, indicating that cachedReaddir() is likely valid.
+       */
+      calledReaddir() {
+        return !!(this.#type & READDIR_CALLED);
+      }
+      /**
+       * Returns true if the path is known to not exist. That is, a previous lstat
+       * or readdir failed to verify its existence when that would have been
+       * expected, or a parent entry was marked either enoent or enotdir.
+       */
+      isENOENT() {
+        return !!(this.#type & ENOENT);
+      }
+      /**
+       * Return true if the path is a match for the given path name.  This handles
+       * case sensitivity and unicode normalization.
+       *
+       * Note: even on case-sensitive systems, it is **not** safe to test the
+       * equality of the `.name` property to determine whether a given pathname
+       * matches, due to unicode normalization mismatches.
+       *
+       * Always use this method instead of testing the `path.name` property
+       * directly.
+       */
+      isNamed(n) {
+        return !this.nocase ? this.#matchName === normalize2(n) : this.#matchName === normalizeNocase(n);
+      }
+      /**
+       * Return the Path object corresponding to the target of a symbolic link.
+       *
+       * If the Path is not a symbolic link, or if the readlink call fails for any
+       * reason, `undefined` is returned.
+       *
+       * Result is cached, and thus may be outdated if the filesystem is mutated.
+       */
+      async readlink() {
+        const target = this.#linkTarget;
+        if (target) {
+          return target;
         }
-        if (scopeParts.length !== 3) {
-          throw InvalidJwtError;
+        if (!this.canReadlink()) {
+          return void 0;
+        }
+        if (!this.parent) {
+          return void 0;
+        }
+        try {
+          const read = await this.#fs.promises.readlink(this.fullpath());
+          const linkTarget = (await this.parent.realpath())?.resolve(read);
+          if (linkTarget) {
+            return this.#linkTarget = linkTarget;
+          }
+        } catch (er) {
+          this.#readlinkFail(er.code);
+          return void 0;
+        }
+      }
+      /**
+       * Synchronous {@link PathBase.readlink}
+       */
+      readlinkSync() {
+        const target = this.#linkTarget;
+        if (target) {
+          return target;
+        }
+        if (!this.canReadlink()) {
+          return void 0;
+        }
+        if (!this.parent) {
+          return void 0;
+        }
+        try {
+          const read = this.#fs.readlinkSync(this.fullpath());
+          const linkTarget = this.parent.realpathSync()?.resolve(read);
+          if (linkTarget) {
+            return this.#linkTarget = linkTarget;
+          }
+        } catch (er) {
+          this.#readlinkFail(er.code);
+          return void 0;
+        }
+      }
+      #readdirSuccess(children) {
+        this.#type |= READDIR_CALLED;
+        for (let p = children.provisional; p < children.length; p++) {
+          const c = children[p];
+          if (c)
+            c.#markENOENT();
+        }
+      }
+      #markENOENT() {
+        if (this.#type & ENOENT)
+          return;
+        this.#type = (this.#type | ENOENT) & IFMT_UNKNOWN;
+        this.#markChildrenENOENT();
+      }
+      #markChildrenENOENT() {
+        const children = this.children();
+        children.provisional = 0;
+        for (const p of children) {
+          p.#markENOENT();
+        }
+      }
+      #markENOREALPATH() {
+        this.#type |= ENOREALPATH;
+        this.#markENOTDIR();
+      }
+      // save the information when we know the entry is not a dir
+      #markENOTDIR() {
+        if (this.#type & ENOTDIR)
+          return;
+        let t = this.#type;
+        if ((t & IFMT) === IFDIR)
+          t &= IFMT_UNKNOWN;
+        this.#type = t | ENOTDIR;
+        this.#markChildrenENOENT();
+      }
+      #readdirFail(code = "") {
+        if (code === "ENOTDIR" || code === "EPERM") {
+          this.#markENOTDIR();
+        } else if (code === "ENOENT") {
+          this.#markENOENT();
+        } else {
+          this.children().provisional = 0;
+        }
+      }
+      #lstatFail(code = "") {
+        if (code === "ENOTDIR") {
+          const p = this.parent;
+          p.#markENOTDIR();
+        } else if (code === "ENOENT") {
+          this.#markENOENT();
         }
-        const ids = {
-          workflowRunBackendId: scopeParts[1],
-          workflowJobRunBackendId: scopeParts[2]
-        };
-        core17.debug(`Workflow Run Backend ID: ${ids.workflowRunBackendId}`);
-        core17.debug(`Workflow Job Run Backend ID: ${ids.workflowJobRunBackendId}`);
-        return ids;
       }
-      throw InvalidJwtError;
-    }
-    exports2.getBackendIdsFromToken = getBackendIdsFromToken;
-    function maskSigUrl(url2) {
-      if (!url2)
-        return;
-      try {
-        const parsedUrl = new URL(url2);
-        const signature = parsedUrl.searchParams.get("sig");
-        if (signature) {
-          (0, core_1.setSecret)(signature);
-          (0, core_1.setSecret)(encodeURIComponent(signature));
+      #readlinkFail(code = "") {
+        let ter = this.#type;
+        ter |= ENOREADLINK;
+        if (code === "ENOENT")
+          ter |= ENOENT;
+        if (code === "EINVAL" || code === "UNKNOWN") {
+          ter &= IFMT_UNKNOWN;
+        }
+        this.#type = ter;
+        if (code === "ENOTDIR" && this.parent) {
+          this.parent.#markENOTDIR();
         }
-      } catch (error3) {
-        (0, core_1.debug)(`Failed to parse URL: ${url2} ${error3 instanceof Error ? error3.message : String(error3)}`);
       }
-    }
-    exports2.maskSigUrl = maskSigUrl;
-    function maskSecretUrls(body) {
-      if (typeof body !== "object" || body === null) {
-        (0, core_1.debug)("body is not an object or is null");
-        return;
+      #readdirAddChild(e, c) {
+        return this.#readdirMaybePromoteChild(e, c) || this.#readdirAddNewChild(e, c);
       }
-      if ("signed_upload_url" in body && typeof body.signed_upload_url === "string") {
-        maskSigUrl(body.signed_upload_url);
+      #readdirAddNewChild(e, c) {
+        const type2 = entToType(e);
+        const child = this.newChild(e.name, type2, { parent: this });
+        const ifmt = child.#type & IFMT;
+        if (ifmt !== IFDIR && ifmt !== IFLNK && ifmt !== UNKNOWN) {
+          child.#type |= ENOTDIR;
+        }
+        c.unshift(child);
+        c.provisional++;
+        return child;
       }
-      if ("signed_url" in body && typeof body.signed_url === "string") {
-        maskSigUrl(body.signed_url);
+      #readdirMaybePromoteChild(e, c) {
+        for (let p = c.provisional; p < c.length; p++) {
+          const pchild = c[p];
+          const name = this.nocase ? normalizeNocase(e.name) : normalize2(e.name);
+          if (name !== pchild.#matchName) {
+            continue;
+          }
+          return this.#readdirPromoteChild(e, pchild, p, c);
+        }
       }
-    }
-    exports2.maskSecretUrls = maskSecretUrls;
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/shared/artifact-twirp-client.js
-var require_artifact_twirp_client2 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/shared/artifact-twirp-client.js"(exports2) {
-    "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve8) {
-          resolve8(value);
-        });
+      #readdirPromoteChild(e, p, index, c) {
+        const v = p.name;
+        p.#type = p.#type & IFMT_UNKNOWN | entToType(e);
+        if (v !== e.name)
+          p.name = e.name;
+        if (index !== c.provisional) {
+          if (index === c.length - 1)
+            c.pop();
+          else
+            c.splice(index, 1);
+          c.unshift(p);
+        }
+        c.provisional++;
+        return p;
       }
-      return new (P || (P = Promise))(function(resolve8, reject) {
-        function fulfilled(value) {
+      /**
+       * Call lstat() on this Path, and update all known information that can be
+       * determined.
+       *
+       * Note that unlike `fs.lstat()`, the returned value does not contain some
+       * information, such as `mode`, `dev`, `nlink`, and `ino`.  If that
+       * information is required, you will need to call `fs.lstat` yourself.
+       *
+       * If the Path refers to a nonexistent file, or if the lstat call fails for
+       * any reason, `undefined` is returned.  Otherwise the updated Path object is
+       * returned.
+       *
+       * Results are cached, and thus may be out of date if the filesystem is
+       * mutated.
+       */
+      async lstat() {
+        if ((this.#type & ENOENT) === 0) {
           try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
+            this.#applyStat(await this.#fs.promises.lstat(this.fullpath()));
+            return this;
+          } catch (er) {
+            this.#lstatFail(er.code);
           }
         }
-        function rejected(value) {
+      }
+      /**
+       * synchronous {@link PathBase.lstat}
+       */
+      lstatSync() {
+        if ((this.#type & ENOENT) === 0) {
           try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
+            this.#applyStat(this.#fs.lstatSync(this.fullpath()));
+            return this;
+          } catch (er) {
+            this.#lstatFail(er.code);
           }
         }
-        function step(result) {
-          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+      }
+      #applyStat(st) {
+        const { atime, atimeMs, birthtime, birthtimeMs, blksize, blocks, ctime, ctimeMs, dev, gid, ino, mode, mtime, mtimeMs, nlink, rdev, size, uid } = st;
+        this.#atime = atime;
+        this.#atimeMs = atimeMs;
+        this.#birthtime = birthtime;
+        this.#birthtimeMs = birthtimeMs;
+        this.#blksize = blksize;
+        this.#blocks = blocks;
+        this.#ctime = ctime;
+        this.#ctimeMs = ctimeMs;
+        this.#dev = dev;
+        this.#gid = gid;
+        this.#ino = ino;
+        this.#mode = mode;
+        this.#mtime = mtime;
+        this.#mtimeMs = mtimeMs;
+        this.#nlink = nlink;
+        this.#rdev = rdev;
+        this.#size = size;
+        this.#uid = uid;
+        const ifmt = entToType(st);
+        this.#type = this.#type & IFMT_UNKNOWN | ifmt | LSTAT_CALLED;
+        if (ifmt !== UNKNOWN && ifmt !== IFDIR && ifmt !== IFLNK) {
+          this.#type |= ENOTDIR;
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.internalArtifactTwirpClient = void 0;
-    var http_client_1 = require_lib();
-    var auth_1 = require_auth();
-    var core_1 = require_core();
-    var generated_1 = require_generated();
-    var config_1 = require_config2();
-    var user_agent_1 = require_user_agent2();
-    var errors_1 = require_errors4();
-    var util_1 = require_util18();
-    var ArtifactHttpClient = class {
-      constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) {
-        this.maxAttempts = 5;
-        this.baseRetryIntervalMilliseconds = 3e3;
-        this.retryMultiplier = 1.5;
-        const token = (0, config_1.getRuntimeToken)();
-        this.baseUrl = (0, config_1.getResultsServiceUrl)();
-        if (maxAttempts) {
-          this.maxAttempts = maxAttempts;
+      }
+      #onReaddirCB = [];
+      #readdirCBInFlight = false;
+      #callOnReaddirCB(children) {
+        this.#readdirCBInFlight = false;
+        const cbs = this.#onReaddirCB.slice();
+        this.#onReaddirCB.length = 0;
+        cbs.forEach((cb) => cb(null, children));
+      }
+      /**
+       * Standard node-style callback interface to get list of directory entries.
+       *
+       * If the Path cannot or does not contain any children, then an empty array
+       * is returned.
+       *
+       * Results are cached, and thus may be out of date if the filesystem is
+       * mutated.
+       *
+       * @param cb The callback called with (er, entries).  Note that the `er`
+       * param is somewhat extraneous, as all readdir() errors are handled and
+       * simply result in an empty set of entries being returned.
+       * @param allowZalgo Boolean indicating that immediately known results should
+       * *not* be deferred with `queueMicrotask`. Defaults to `false`. Release
+       * zalgo at your peril, the dark pony lord is devious and unforgiving.
+       */
+      readdirCB(cb, allowZalgo = false) {
+        if (!this.canReaddir()) {
+          if (allowZalgo)
+            cb(null, []);
+          else
+            queueMicrotask(() => cb(null, []));
+          return;
         }
-        if (baseRetryIntervalMilliseconds) {
-          this.baseRetryIntervalMilliseconds = baseRetryIntervalMilliseconds;
+        const children = this.children();
+        if (this.calledReaddir()) {
+          const c = children.slice(0, children.provisional);
+          if (allowZalgo)
+            cb(null, c);
+          else
+            queueMicrotask(() => cb(null, c));
+          return;
         }
-        if (retryMultiplier) {
-          this.retryMultiplier = retryMultiplier;
+        this.#onReaddirCB.push(cb);
+        if (this.#readdirCBInFlight) {
+          return;
         }
-        this.httpClient = new http_client_1.HttpClient(userAgent2, [
-          new auth_1.BearerCredentialHandler(token)
-        ]);
+        this.#readdirCBInFlight = true;
+        const fullpath = this.fullpath();
+        this.#fs.readdir(fullpath, { withFileTypes: true }, (er, entries) => {
+          if (er) {
+            this.#readdirFail(er.code);
+            children.provisional = 0;
+          } else {
+            for (const e of entries) {
+              this.#readdirAddChild(e, children);
+            }
+            this.#readdirSuccess(children);
+          }
+          this.#callOnReaddirCB(children.slice(0, children.provisional));
+          return;
+        });
       }
-      // This function satisfies the Rpc interface. It is compatible with the JSON
-      // JSON generated client.
-      request(service, method, contentType, data) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          const url2 = new URL(`/twirp/${service}/${method}`, this.baseUrl).href;
-          (0, core_1.debug)(`[Request] ${method} ${url2}`);
-          const headers = {
-            "Content-Type": contentType
+      #asyncReaddirInFlight;
+      /**
+       * Return an array of known child entries.
+       *
+       * If the Path cannot or does not contain any children, then an empty array
+       * is returned.
+       *
+       * Results are cached, and thus may be out of date if the filesystem is
+       * mutated.
+       */
+      async readdir() {
+        if (!this.canReaddir()) {
+          return [];
+        }
+        const children = this.children();
+        if (this.calledReaddir()) {
+          return children.slice(0, children.provisional);
+        }
+        const fullpath = this.fullpath();
+        if (this.#asyncReaddirInFlight) {
+          await this.#asyncReaddirInFlight;
+        } else {
+          let resolve8 = () => {
           };
+          this.#asyncReaddirInFlight = new Promise((res) => resolve8 = res);
           try {
-            const { body } = yield this.retryableRequest(() => __awaiter2(this, void 0, void 0, function* () {
-              return this.httpClient.post(url2, JSON.stringify(data), headers);
-            }));
-            return body;
-          } catch (error3) {
-            throw new Error(`Failed to ${method}: ${error3.message}`);
+            for (const e of await this.#fs.promises.readdir(fullpath, {
+              withFileTypes: true
+            })) {
+              this.#readdirAddChild(e, children);
+            }
+            this.#readdirSuccess(children);
+          } catch (er) {
+            this.#readdirFail(er.code);
+            children.provisional = 0;
           }
-        });
+          this.#asyncReaddirInFlight = void 0;
+          resolve8();
+        }
+        return children.slice(0, children.provisional);
       }
-      retryableRequest(operation) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          let attempt = 0;
-          let errorMessage = "";
-          let rawBody = "";
-          while (attempt < this.maxAttempts) {
-            let isRetryable = false;
-            try {
-              const response = yield operation();
-              const statusCode = response.message.statusCode;
-              rawBody = yield response.readBody();
-              (0, core_1.debug)(`[Response] - ${response.message.statusCode}`);
-              (0, core_1.debug)(`Headers: ${JSON.stringify(response.message.headers, null, 2)}`);
-              const body = JSON.parse(rawBody);
-              (0, util_1.maskSecretUrls)(body);
-              (0, core_1.debug)(`Body: ${JSON.stringify(body, null, 2)}`);
-              if (this.isSuccessStatusCode(statusCode)) {
-                return { response, body };
-              }
-              isRetryable = this.isRetryableHttpStatusCode(statusCode);
-              errorMessage = `Failed request: (${statusCode}) ${response.message.statusMessage}`;
-              if (body.msg) {
-                if (errors_1.UsageError.isUsageErrorMessage(body.msg)) {
-                  throw new errors_1.UsageError();
-                }
-                errorMessage = `${errorMessage}: ${body.msg}`;
-              }
-            } catch (error3) {
-              if (error3 instanceof SyntaxError) {
-                (0, core_1.debug)(`Raw Body: ${rawBody}`);
-              }
-              if (error3 instanceof errors_1.UsageError) {
-                throw error3;
-              }
-              if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) {
-                throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code);
-              }
-              isRetryable = true;
-              errorMessage = error3.message;
-            }
-            if (!isRetryable) {
-              throw new Error(`Received non-retryable error: ${errorMessage}`);
-            }
-            if (attempt + 1 === this.maxAttempts) {
-              throw new Error(`Failed to make request after ${this.maxAttempts} attempts: ${errorMessage}`);
-            }
-            const retryTimeMilliseconds = this.getExponentialRetryTimeMilliseconds(attempt);
-            (0, core_1.info)(`Attempt ${attempt + 1} of ${this.maxAttempts} failed with error: ${errorMessage}. Retrying request in ${retryTimeMilliseconds} ms...`);
-            yield this.sleep(retryTimeMilliseconds);
-            attempt++;
+      /**
+       * synchronous {@link PathBase.readdir}
+       */
+      readdirSync() {
+        if (!this.canReaddir()) {
+          return [];
+        }
+        const children = this.children();
+        if (this.calledReaddir()) {
+          return children.slice(0, children.provisional);
+        }
+        const fullpath = this.fullpath();
+        try {
+          for (const e of this.#fs.readdirSync(fullpath, {
+            withFileTypes: true
+          })) {
+            this.#readdirAddChild(e, children);
           }
-          throw new Error(`Request failed`);
-        });
+          this.#readdirSuccess(children);
+        } catch (er) {
+          this.#readdirFail(er.code);
+          children.provisional = 0;
+        }
+        return children.slice(0, children.provisional);
       }
-      isSuccessStatusCode(statusCode) {
-        if (!statusCode)
+      canReaddir() {
+        if (this.#type & ENOCHILD)
           return false;
-        return statusCode >= 200 && statusCode < 300;
-      }
-      isRetryableHttpStatusCode(statusCode) {
-        if (!statusCode)
+        const ifmt = IFMT & this.#type;
+        if (!(ifmt === UNKNOWN || ifmt === IFDIR || ifmt === IFLNK)) {
           return false;
-        const retryableStatusCodes = [
-          http_client_1.HttpCodes.BadGateway,
-          http_client_1.HttpCodes.GatewayTimeout,
-          http_client_1.HttpCodes.InternalServerError,
-          http_client_1.HttpCodes.ServiceUnavailable,
-          http_client_1.HttpCodes.TooManyRequests
-        ];
-        return retryableStatusCodes.includes(statusCode);
+        }
+        return true;
       }
-      sleep(milliseconds) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          return new Promise((resolve8) => setTimeout(resolve8, milliseconds));
-        });
+      shouldWalk(dirs, walkFilter) {
+        return (this.#type & IFDIR) === IFDIR && !(this.#type & ENOCHILD) && !dirs.has(this) && (!walkFilter || walkFilter(this));
       }
-      getExponentialRetryTimeMilliseconds(attempt) {
-        if (attempt < 0) {
-          throw new Error("attempt should be a positive integer");
-        }
-        if (attempt === 0) {
-          return this.baseRetryIntervalMilliseconds;
+      /**
+       * Return the Path object corresponding to path as resolved
+       * by realpath(3).
+       *
+       * If the realpath call fails for any reason, `undefined` is returned.
+       *
+       * Result is cached, and thus may be outdated if the filesystem is mutated.
+       * On success, returns a Path object.
+       */
+      async realpath() {
+        if (this.#realpath)
+          return this.#realpath;
+        if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type)
+          return void 0;
+        try {
+          const rp = await this.#fs.promises.realpath(this.fullpath());
+          return this.#realpath = this.resolve(rp);
+        } catch (_2) {
+          this.#markENOREALPATH();
         }
-        const minTime = this.baseRetryIntervalMilliseconds * Math.pow(this.retryMultiplier, attempt);
-        const maxTime = minTime * this.retryMultiplier;
-        return Math.trunc(Math.random() * (maxTime - minTime) + minTime);
       }
-    };
-    function internalArtifactTwirpClient(options) {
-      const client = new ArtifactHttpClient((0, user_agent_1.getUserAgentString)(), options === null || options === void 0 ? void 0 : options.maxAttempts, options === null || options === void 0 ? void 0 : options.retryIntervalMs, options === null || options === void 0 ? void 0 : options.retryMultiplier);
-      return new generated_1.ArtifactServiceClientJSON(client);
-    }
-    exports2.internalArtifactTwirpClient = internalArtifactTwirpClient;
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.js
-var require_upload_zip_specification = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.js"(exports2) {
-    "use strict";
-    var __createBinding2 = 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];
-        } };
+      /**
+       * Synchronous {@link realpath}
+       */
+      realpathSync() {
+        if (this.#realpath)
+          return this.#realpath;
+        if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type)
+          return void 0;
+        try {
+          const rp = this.#fs.realpathSync(this.fullpath());
+          return this.#realpath = this.resolve(rp);
+        } catch (_2) {
+          this.#markENOREALPATH();
+        }
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      /**
+       * Internal method to mark this Path object as the scurry cwd,
+       * called by {@link PathScurry#chdir}
+       *
+       * @internal
+       */
+      [setAsCwd](oldCwd) {
+        if (oldCwd === this)
+          return;
+        oldCwd.isCWD = false;
+        this.isCWD = true;
+        const changed = /* @__PURE__ */ new Set([]);
+        let rp = [];
+        let p = this;
+        while (p && p.parent) {
+          changed.add(p);
+          p.#relative = rp.join(this.sep);
+          p.#relativePosix = rp.join("/");
+          p = p.parent;
+          rp.push("..");
+        }
+        p = oldCwd;
+        while (p && p.parent && !changed.has(p)) {
+          p.#relative = void 0;
+          p.#relativePosix = void 0;
+          p = p.parent;
+        }
       }
-      __setModuleDefault2(result, mod);
-      return result;
     };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getUploadZipSpecification = exports2.validateRootDirectory = void 0;
-    var fs18 = __importStar2(require("fs"));
-    var core_1 = require_core();
-    var path_1 = require("path");
-    var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation();
-    function validateRootDirectory(rootDirectory) {
-      if (!fs18.existsSync(rootDirectory)) {
-        throw new Error(`The provided rootDirectory ${rootDirectory} does not exist`);
+    exports2.PathBase = PathBase;
+    var PathWin32 = class _PathWin32 extends PathBase {
+      /**
+       * Separator for generating path strings.
+       */
+      sep = "\\";
+      /**
+       * Separator for parsing path strings.
+       */
+      splitSep = eitherSep;
+      /**
+       * Do not create new Path objects directly.  They should always be accessed
+       * via the PathScurry class or other methods on the Path class.
+       *
+       * @internal
+       */
+      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
+        super(name, type2, root, roots, nocase, children, opts);
       }
-      if (!fs18.statSync(rootDirectory).isDirectory()) {
-        throw new Error(`The provided rootDirectory ${rootDirectory} is not a valid directory`);
+      /**
+       * @internal
+       */
+      newChild(name, type2 = UNKNOWN, opts = {}) {
+        return new _PathWin32(name, type2, this.root, this.roots, this.nocase, this.childrenCache(), opts);
       }
-      (0, core_1.info)(`Root directory input is valid!`);
-    }
-    exports2.validateRootDirectory = validateRootDirectory;
-    function getUploadZipSpecification(filesToZip, rootDirectory) {
-      const specification = [];
-      rootDirectory = (0, path_1.normalize)(rootDirectory);
-      rootDirectory = (0, path_1.resolve)(rootDirectory);
-      for (let file of filesToZip) {
-        const stats = fs18.lstatSync(file, { throwIfNoEntry: false });
-        if (!stats) {
-          throw new Error(`File ${file} does not exist`);
+      /**
+       * @internal
+       */
+      getRootString(path16) {
+        return node_path_1.win32.parse(path16).root;
+      }
+      /**
+       * @internal
+       */
+      getRoot(rootPath) {
+        rootPath = uncToDrive(rootPath.toUpperCase());
+        if (rootPath === this.root.name) {
+          return this.root;
         }
-        if (!stats.isDirectory()) {
-          file = (0, path_1.normalize)(file);
-          file = (0, path_1.resolve)(file);
-          if (!file.startsWith(rootDirectory)) {
-            throw new Error(`The rootDirectory: ${rootDirectory} is not a parent directory of the file: ${file}`);
+        for (const [compare3, root] of Object.entries(this.roots)) {
+          if (this.sameRoot(rootPath, compare3)) {
+            return this.roots[rootPath] = root;
           }
-          const uploadPath = file.replace(rootDirectory, "");
-          (0, path_and_artifact_name_validation_1.validateFilePath)(uploadPath);
-          specification.push({
-            sourcePath: file,
-            destinationPath: uploadPath,
-            stats
-          });
-        } else {
-          const directoryPath = file.replace(rootDirectory, "");
-          (0, path_and_artifact_name_validation_1.validateFilePath)(directoryPath);
-          specification.push({
-            sourcePath: null,
-            destinationPath: directoryPath,
-            stats
-          });
         }
+        return this.roots[rootPath] = new PathScurryWin32(rootPath, this).root;
       }
-      return specification;
-    }
-    exports2.getUploadZipSpecification = getUploadZipSpecification;
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/upload/blob-upload.js
-var require_blob_upload = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/blob-upload.js"(exports2) {
-    "use strict";
-    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      /**
+       * @internal
+       */
+      sameRoot(rootPath, compare3 = this.root.name) {
+        rootPath = rootPath.toUpperCase().replace(/\//g, "\\").replace(uncDriveRegexp, "$1\\");
+        return rootPath === compare3;
       }
-      __setModuleDefault2(result, mod);
-      return result;
     };
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve8) {
-          resolve8(value);
-        });
+    exports2.PathWin32 = PathWin32;
+    var PathPosix = class _PathPosix extends PathBase {
+      /**
+       * separator for parsing path strings
+       */
+      splitSep = "/";
+      /**
+       * separator for generating path strings
+       */
+      sep = "/";
+      /**
+       * Do not create new Path objects directly.  They should always be accessed
+       * via the PathScurry class or other methods on the Path class.
+       *
+       * @internal
+       */
+      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
+        super(name, type2, root, roots, nocase, children, opts);
       }
-      return new (P || (P = Promise))(function(resolve8, 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 ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.uploadZipToBlobStorage = void 0;
-    var storage_blob_1 = require_commonjs15();
-    var config_1 = require_config2();
-    var core17 = __importStar2(require_core());
-    var crypto2 = __importStar2(require("crypto"));
-    var stream2 = __importStar2(require("stream"));
-    var errors_1 = require_errors4();
-    function uploadZipToBlobStorage(authenticatedUploadURL, zipUploadStream) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        let uploadByteCount = 0;
-        let lastProgressTime = Date.now();
-        const abortController = new AbortController();
-        const chunkTimer = (interval) => __awaiter2(this, void 0, void 0, function* () {
-          return new Promise((resolve8, reject) => {
-            const timer = setInterval(() => {
-              if (Date.now() - lastProgressTime > interval) {
-                reject(new Error("Upload progress stalled."));
-              }
-            }, interval);
-            abortController.signal.addEventListener("abort", () => {
-              clearInterval(timer);
-              resolve8();
-            });
-          });
-        });
-        const maxConcurrency = (0, config_1.getConcurrency)();
-        const bufferSize = (0, config_1.getUploadChunkSize)();
-        const blobClient = new storage_blob_1.BlobClient(authenticatedUploadURL);
-        const blockBlobClient = blobClient.getBlockBlobClient();
-        core17.debug(`Uploading artifact zip to blob storage with maxConcurrency: ${maxConcurrency}, bufferSize: ${bufferSize}`);
-        const uploadCallback = (progress) => {
-          core17.info(`Uploaded bytes ${progress.loadedBytes}`);
-          uploadByteCount = progress.loadedBytes;
-          lastProgressTime = Date.now();
-        };
-        const options = {
-          blobHTTPHeaders: { blobContentType: "zip" },
-          onProgress: uploadCallback,
-          abortSignal: abortController.signal
-        };
-        let sha256Hash = void 0;
-        const uploadStream = new stream2.PassThrough();
-        const hashStream = crypto2.createHash("sha256");
-        zipUploadStream.pipe(uploadStream);
-        zipUploadStream.pipe(hashStream).setEncoding("hex");
-        core17.info("Beginning upload of artifact content to blob storage");
-        try {
-          yield Promise.race([
-            blockBlobClient.uploadStream(uploadStream, bufferSize, maxConcurrency, options),
-            chunkTimer((0, config_1.getUploadChunkTimeout)())
-          ]);
-        } catch (error3) {
-          if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) {
-            throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code);
-          }
-          throw error3;
-        } finally {
-          abortController.abort();
-        }
-        core17.info("Finished uploading artifact content to blob storage!");
-        hashStream.end();
-        sha256Hash = hashStream.read();
-        core17.info(`SHA256 digest of uploaded artifact zip is ${sha256Hash}`);
-        if (uploadByteCount === 0) {
-          core17.warning(`No data was uploaded to blob storage. Reported upload byte count is 0.`);
-        }
-        return {
-          uploadSize: uploadByteCount,
-          sha256Hash
-        };
-      });
-    }
-    exports2.uploadZipToBlobStorage = uploadZipToBlobStorage;
-  }
-});
-
-// node_modules/readdir-glob/node_modules/minimatch/lib/path.js
-var require_path = __commonJS({
-  "node_modules/readdir-glob/node_modules/minimatch/lib/path.js"(exports2, module2) {
-    var isWindows = typeof process === "object" && process && process.platform === "win32";
-    module2.exports = isWindows ? { sep: "\\" } : { sep: "/" };
-  }
-});
-
-// node_modules/readdir-glob/node_modules/brace-expansion/index.js
-var require_brace_expansion2 = __commonJS({
-  "node_modules/readdir-glob/node_modules/brace-expansion/index.js"(exports2, module2) {
-    var balanced = require_balanced_match();
-    module2.exports = expandTop;
-    var escSlash = "\0SLASH" + Math.random() + "\0";
-    var escOpen = "\0OPEN" + Math.random() + "\0";
-    var escClose = "\0CLOSE" + Math.random() + "\0";
-    var escComma = "\0COMMA" + Math.random() + "\0";
-    var escPeriod = "\0PERIOD" + Math.random() + "\0";
-    function numeric(str2) {
-      return parseInt(str2, 10) == str2 ? parseInt(str2, 10) : str2.charCodeAt(0);
-    }
-    function escapeBraces(str2) {
-      return str2.split("\\\\").join(escSlash).split("\\{").join(escOpen).split("\\}").join(escClose).split("\\,").join(escComma).split("\\.").join(escPeriod);
-    }
-    function unescapeBraces(str2) {
-      return str2.split(escSlash).join("\\").split(escOpen).join("{").split(escClose).join("}").split(escComma).join(",").split(escPeriod).join(".");
-    }
-    function parseCommaParts(str2) {
-      if (!str2)
-        return [""];
-      var parts = [];
-      var m = balanced("{", "}", str2);
-      if (!m)
-        return str2.split(",");
-      var pre = m.pre;
-      var body = m.body;
-      var post = m.post;
-      var p = pre.split(",");
-      p[p.length - 1] += "{" + body + "}";
-      var postParts = parseCommaParts(post);
-      if (post.length) {
-        p[p.length - 1] += postParts.shift();
-        p.push.apply(p, postParts);
+      /**
+       * @internal
+       */
+      getRootString(path16) {
+        return path16.startsWith("/") ? "/" : "";
       }
-      parts.push.apply(parts, p);
-      return parts;
-    }
-    function expandTop(str2) {
-      if (!str2)
-        return [];
-      if (str2.substr(0, 2) === "{}") {
-        str2 = "\\{\\}" + str2.substr(2);
+      /**
+       * @internal
+       */
+      getRoot(_rootPath) {
+        return this.root;
       }
-      return expand2(escapeBraces(str2), true).map(unescapeBraces);
-    }
-    function embrace(str2) {
-      return "{" + str2 + "}";
-    }
-    function isPadded(el) {
-      return /^-?0\d/.test(el);
-    }
-    function lte(i, y) {
-      return i <= y;
-    }
-    function gte6(i, y) {
-      return i >= y;
-    }
-    function expand2(str2, isTop) {
-      var expansions = [];
-      var m = balanced("{", "}", str2);
-      if (!m) return [str2];
-      var pre = m.pre;
-      var post = m.post.length ? expand2(m.post, false) : [""];
-      if (/\$$/.test(m.pre)) {
-        for (var k = 0; k < post.length; k++) {
-          var expansion = pre + "{" + m.body + "}" + post[k];
-          expansions.push(expansion);
-        }
-      } else {
-        var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
-        var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
-        var isSequence = isNumericSequence || isAlphaSequence;
-        var isOptions = m.body.indexOf(",") >= 0;
-        if (!isSequence && !isOptions) {
-          if (m.post.match(/,(?!,).*\}/)) {
-            str2 = m.pre + "{" + m.body + escClose + m.post;
-            return expand2(str2);
-          }
-          return [str2];
-        }
-        var n;
-        if (isSequence) {
-          n = m.body.split(/\.\./);
-        } else {
-          n = parseCommaParts(m.body);
-          if (n.length === 1) {
-            n = expand2(n[0], false).map(embrace);
-            if (n.length === 1) {
-              return post.map(function(p) {
-                return m.pre + n[0] + p;
-              });
-            }
-          }
+      /**
+       * @internal
+       */
+      newChild(name, type2 = UNKNOWN, opts = {}) {
+        return new _PathPosix(name, type2, this.root, this.roots, this.nocase, this.childrenCache(), opts);
+      }
+    };
+    exports2.PathPosix = PathPosix;
+    var PathScurryBase = class {
+      /**
+       * The root Path entry for the current working directory of this Scurry
+       */
+      root;
+      /**
+       * The string path for the root of this Scurry's current working directory
+       */
+      rootPath;
+      /**
+       * A collection of all roots encountered, referenced by rootPath
+       */
+      roots;
+      /**
+       * The Path entry corresponding to this PathScurry's current working directory.
+       */
+      cwd;
+      #resolveCache;
+      #resolvePosixCache;
+      #children;
+      /**
+       * Perform path comparisons case-insensitively.
+       *
+       * Defaults true on Darwin and Windows systems, false elsewhere.
+       */
+      nocase;
+      #fs;
+      /**
+       * This class should not be instantiated directly.
+       *
+       * Use PathScurryWin32, PathScurryDarwin, PathScurryPosix, or PathScurry
+       *
+       * @internal
+       */
+      constructor(cwd = process.cwd(), pathImpl, sep5, { nocase, childrenCacheSize = 16 * 1024, fs: fs18 = defaultFS } = {}) {
+        this.#fs = fsFromOption(fs18);
+        if (cwd instanceof URL || cwd.startsWith("file://")) {
+          cwd = (0, node_url_1.fileURLToPath)(cwd);
         }
-        var N;
-        if (isSequence) {
-          var x = numeric(n[0]);
-          var y = numeric(n[1]);
-          var width = Math.max(n[0].length, n[1].length);
-          var incr = n.length == 3 ? Math.abs(numeric(n[2])) : 1;
-          var test = lte;
-          var reverse = y < x;
-          if (reverse) {
-            incr *= -1;
-            test = gte6;
-          }
-          var pad = n.some(isPadded);
-          N = [];
-          for (var i = x; test(i, y); i += incr) {
-            var c;
-            if (isAlphaSequence) {
-              c = String.fromCharCode(i);
-              if (c === "\\")
-                c = "";
-            } else {
-              c = String(i);
-              if (pad) {
-                var need = width - c.length;
-                if (need > 0) {
-                  var z = new Array(need + 1).join("0");
-                  if (i < 0)
-                    c = "-" + z + c.slice(1);
-                  else
-                    c = z + c;
-                }
-              }
-            }
-            N.push(c);
-          }
-        } else {
-          N = [];
-          for (var j = 0; j < n.length; j++) {
-            N.push.apply(N, expand2(n[j], false));
-          }
+        const cwdPath = pathImpl.resolve(cwd);
+        this.roots = /* @__PURE__ */ Object.create(null);
+        this.rootPath = this.parseRootPath(cwdPath);
+        this.#resolveCache = new ResolveCache();
+        this.#resolvePosixCache = new ResolveCache();
+        this.#children = new ChildrenCache(childrenCacheSize);
+        const split = cwdPath.substring(this.rootPath.length).split(sep5);
+        if (split.length === 1 && !split[0]) {
+          split.pop();
         }
-        for (var j = 0; j < N.length; j++) {
-          for (var k = 0; k < post.length; k++) {
-            var expansion = pre + N[j] + post[k];
-            if (!isTop || isSequence || expansion)
-              expansions.push(expansion);
-          }
+        if (nocase === void 0) {
+          throw new TypeError("must provide nocase setting to PathScurryBase ctor");
         }
-      }
-      return expansions;
-    }
-  }
-});
-
-// node_modules/readdir-glob/node_modules/minimatch/minimatch.js
-var require_minimatch2 = __commonJS({
-  "node_modules/readdir-glob/node_modules/minimatch/minimatch.js"(exports2, module2) {
-    var minimatch = module2.exports = (p, pattern, options = {}) => {
-      assertValidPattern(pattern);
-      if (!options.nocomment && pattern.charAt(0) === "#") {
-        return false;
-      }
-      return new Minimatch(pattern, options).match(p);
-    };
-    module2.exports = minimatch;
-    var path16 = require_path();
-    minimatch.sep = path16.sep;
-    var GLOBSTAR = /* @__PURE__ */ Symbol("globstar **");
-    minimatch.GLOBSTAR = GLOBSTAR;
-    var expand2 = require_brace_expansion2();
-    var plTypes = {
-      "!": { open: "(?:(?!(?:", close: "))[^/]*?)" },
-      "?": { open: "(?:", close: ")?" },
-      "+": { open: "(?:", close: ")+" },
-      "*": { open: "(?:", close: ")*" },
-      "@": { open: "(?:", close: ")" }
-    };
-    var qmark = "[^/]";
-    var star = qmark + "*?";
-    var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
-    var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
-    var charSet = (s) => s.split("").reduce((set2, c) => {
-      set2[c] = true;
-      return set2;
-    }, {});
-    var reSpecials = charSet("().*{}+?[]^$\\!");
-    var addPatternStartSet = charSet("[.(");
-    var slashSplit = /\/+/;
-    minimatch.filter = (pattern, options = {}) => (p, i, list) => minimatch(p, pattern, options);
-    var ext = (a, b = {}) => {
-      const t = {};
-      Object.keys(a).forEach((k) => t[k] = a[k]);
-      Object.keys(b).forEach((k) => t[k] = b[k]);
-      return t;
-    };
-    minimatch.defaults = (def) => {
-      if (!def || typeof def !== "object" || !Object.keys(def).length) {
-        return minimatch;
-      }
-      const orig = minimatch;
-      const m = (p, pattern, options) => orig(p, pattern, ext(def, options));
-      m.Minimatch = class Minimatch extends orig.Minimatch {
-        constructor(pattern, options) {
-          super(pattern, ext(def, options));
+        this.nocase = nocase;
+        this.root = this.newRoot(this.#fs);
+        this.roots[this.rootPath] = this.root;
+        let prev = this.root;
+        let len = split.length - 1;
+        const joinSep = pathImpl.sep;
+        let abs = this.rootPath;
+        let sawFirst = false;
+        for (const part of split) {
+          const l = len--;
+          prev = prev.child(part, {
+            relative: new Array(l).fill("..").join(joinSep),
+            relativePosix: new Array(l).fill("..").join("/"),
+            fullpath: abs += (sawFirst ? "" : joinSep) + part
+          });
+          sawFirst = true;
         }
-      };
-      m.Minimatch.defaults = (options) => orig.defaults(ext(def, options)).Minimatch;
-      m.filter = (pattern, options) => orig.filter(pattern, ext(def, options));
-      m.defaults = (options) => orig.defaults(ext(def, options));
-      m.makeRe = (pattern, options) => orig.makeRe(pattern, ext(def, options));
-      m.braceExpand = (pattern, options) => orig.braceExpand(pattern, ext(def, options));
-      m.match = (list, pattern, options) => orig.match(list, pattern, ext(def, options));
-      return m;
-    };
-    minimatch.braceExpand = (pattern, options) => braceExpand(pattern, options);
-    var braceExpand = (pattern, options = {}) => {
-      assertValidPattern(pattern);
-      if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
-        return [pattern];
-      }
-      return expand2(pattern);
-    };
-    var MAX_PATTERN_LENGTH = 1024 * 64;
-    var assertValidPattern = (pattern) => {
-      if (typeof pattern !== "string") {
-        throw new TypeError("invalid pattern");
-      }
-      if (pattern.length > MAX_PATTERN_LENGTH) {
-        throw new TypeError("pattern is too long");
-      }
-    };
-    var SUBPARSE = /* @__PURE__ */ Symbol("subparse");
-    minimatch.makeRe = (pattern, options) => new Minimatch(pattern, options || {}).makeRe();
-    minimatch.match = (list, pattern, options = {}) => {
-      const mm = new Minimatch(pattern, options);
-      list = list.filter((f) => mm.match(f));
-      if (mm.options.nonull && !list.length) {
-        list.push(pattern);
+        this.cwd = prev;
       }
-      return list;
-    };
-    var globUnescape = (s) => s.replace(/\\(.)/g, "$1");
-    var charUnescape = (s) => s.replace(/\\([^-\]])/g, "$1");
-    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
-    var braExpEscape = (s) => s.replace(/[[\]\\]/g, "\\$&");
-    var Minimatch = class {
-      constructor(pattern, options) {
-        assertValidPattern(pattern);
-        if (!options) options = {};
-        this.options = options;
-        this.set = [];
-        this.pattern = pattern;
-        this.windowsPathsNoEscape = !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;
-        if (this.windowsPathsNoEscape) {
-          this.pattern = this.pattern.replace(/\\/g, "/");
+      /**
+       * Get the depth of a provided path, string, or the cwd
+       */
+      depth(path16 = this.cwd) {
+        if (typeof path16 === "string") {
+          path16 = this.cwd.resolve(path16);
         }
-        this.regexp = null;
-        this.negate = false;
-        this.comment = false;
-        this.empty = false;
-        this.partial = !!options.partial;
-        this.make();
+        return path16.depth();
       }
-      debug() {
+      /**
+       * Return the cache of child entries.  Exposed so subclasses can create
+       * child Path objects in a platform-specific way.
+       *
+       * @internal
+       */
+      childrenCache() {
+        return this.#children;
       }
-      make() {
-        const pattern = this.pattern;
-        const options = this.options;
-        if (!options.nocomment && pattern.charAt(0) === "#") {
-          this.comment = true;
-          return;
-        }
-        if (!pattern) {
-          this.empty = true;
-          return;
+      /**
+       * Resolve one or more path strings to a resolved string
+       *
+       * Same interface as require('path').resolve.
+       *
+       * Much faster than path.resolve() when called multiple times for the same
+       * path, because the resolved Path objects are cached.  Much slower
+       * otherwise.
+       */
+      resolve(...paths) {
+        let r = "";
+        for (let i = paths.length - 1; i >= 0; i--) {
+          const p = paths[i];
+          if (!p || p === ".")
+            continue;
+          r = r ? `${p}/${r}` : p;
+          if (this.isAbsolute(p)) {
+            break;
+          }
         }
-        this.parseNegate();
-        let set2 = this.globSet = this.braceExpand();
-        if (options.debug) this.debug = (...args) => console.error(...args);
-        this.debug(this.pattern, set2);
-        set2 = this.globParts = set2.map((s) => s.split(slashSplit));
-        this.debug(this.pattern, set2);
-        set2 = set2.map((s, si, set3) => s.map(this.parse, this));
-        this.debug(this.pattern, set2);
-        set2 = set2.filter((s) => s.indexOf(false) === -1);
-        this.debug(this.pattern, set2);
-        this.set = set2;
-      }
-      parseNegate() {
-        if (this.options.nonegate) return;
-        const pattern = this.pattern;
-        let negate2 = false;
-        let negateOffset = 0;
-        for (let i = 0; i < pattern.length && pattern.charAt(i) === "!"; i++) {
-          negate2 = !negate2;
-          negateOffset++;
+        const cached = this.#resolveCache.get(r);
+        if (cached !== void 0) {
+          return cached;
         }
-        if (negateOffset) this.pattern = pattern.slice(negateOffset);
-        this.negate = negate2;
+        const result = this.cwd.resolve(r).fullpath();
+        this.#resolveCache.set(r, result);
+        return result;
       }
-      // set partial to true to test if, for example,
-      // "/a/b" matches the start of "/*/b/*/d"
-      // Partial means, if you run out of file before you run
-      // out of pattern, then that's fine, as long as all
-      // the parts match.
-      matchOne(file, pattern, partial) {
-        var options = this.options;
-        this.debug(
-          "matchOne",
-          { "this": this, file, pattern }
-        );
-        this.debug("matchOne", file.length, pattern.length);
-        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
-          this.debug("matchOne loop");
-          var p = pattern[pi];
-          var f = file[fi];
-          this.debug(pattern, p, f);
-          if (p === false) return false;
-          if (p === GLOBSTAR) {
-            this.debug("GLOBSTAR", [pattern, p, f]);
-            var fr = fi;
-            var pr = pi + 1;
-            if (pr === pl) {
-              this.debug("** at the end");
-              for (; fi < fl; fi++) {
-                if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".") return false;
-              }
-              return true;
-            }
-            while (fr < fl) {
-              var swallowee = file[fr];
-              this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
-              if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
-                this.debug("globstar found match!", fr, fl, swallowee);
-                return true;
-              } else {
-                if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
-                  this.debug("dot detected!", file, fr, pattern, pr);
-                  break;
-                }
-                this.debug("globstar swallow a segment, and continue");
-                fr++;
-              }
-            }
-            if (partial) {
-              this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
-              if (fr === fl) return true;
-            }
-            return false;
-          }
-          var hit;
-          if (typeof p === "string") {
-            hit = f === p;
-            this.debug("string match", p, f, hit);
-          } else {
-            hit = f.match(p);
-            this.debug("pattern match", p, f, hit);
+      /**
+       * Resolve one or more path strings to a resolved string, returning
+       * the posix path.  Identical to .resolve() on posix systems, but on
+       * windows will return a forward-slash separated UNC path.
+       *
+       * Same interface as require('path').resolve.
+       *
+       * Much faster than path.resolve() when called multiple times for the same
+       * path, because the resolved Path objects are cached.  Much slower
+       * otherwise.
+       */
+      resolvePosix(...paths) {
+        let r = "";
+        for (let i = paths.length - 1; i >= 0; i--) {
+          const p = paths[i];
+          if (!p || p === ".")
+            continue;
+          r = r ? `${p}/${r}` : p;
+          if (this.isAbsolute(p)) {
+            break;
           }
-          if (!hit) return false;
         }
-        if (fi === fl && pi === pl) {
-          return true;
-        } else if (fi === fl) {
-          return partial;
-        } else if (pi === pl) {
-          return fi === fl - 1 && file[fi] === "";
+        const cached = this.#resolvePosixCache.get(r);
+        if (cached !== void 0) {
+          return cached;
         }
-        throw new Error("wtf?");
+        const result = this.cwd.resolve(r).fullpathPosix();
+        this.#resolvePosixCache.set(r, result);
+        return result;
       }
-      braceExpand() {
-        return braceExpand(this.pattern, this.options);
+      /**
+       * find the relative path from the cwd to the supplied path string or entry
+       */
+      relative(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        }
+        return entry.relative();
       }
-      parse(pattern, isSub) {
-        assertValidPattern(pattern);
-        const options = this.options;
-        if (pattern === "**") {
-          if (!options.noglobstar)
-            return GLOBSTAR;
-          else
-            pattern = "*";
+      /**
+       * find the relative path from the cwd to the supplied path string or
+       * entry, using / as the path delimiter, even on Windows.
+       */
+      relativePosix(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
         }
-        if (pattern === "") return "";
-        let re = "";
-        let hasMagic = false;
-        let escaping = false;
-        const patternListStack = [];
-        const negativeLists = [];
-        let stateChar;
-        let inClass = false;
-        let reClassStart = -1;
-        let classStart = -1;
-        let cs;
-        let pl;
-        let sp;
-        let dotTravAllowed = pattern.charAt(0) === ".";
-        let dotFileAllowed = options.dot || dotTravAllowed;
-        const patternStart = () => dotTravAllowed ? "" : dotFileAllowed ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)";
-        const subPatternStart = (p) => p.charAt(0) === "." ? "" : options.dot ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)";
-        const clearStateChar = () => {
-          if (stateChar) {
-            switch (stateChar) {
-              case "*":
-                re += star;
-                hasMagic = true;
-                break;
-              case "?":
-                re += qmark;
-                hasMagic = true;
-                break;
-              default:
-                re += "\\" + stateChar;
-                break;
-            }
-            this.debug("clearStateChar %j %j", stateChar, re);
-            stateChar = false;
-          }
-        };
-        for (let i = 0, c; i < pattern.length && (c = pattern.charAt(i)); i++) {
-          this.debug("%s	%s %s %j", pattern, i, re, c);
-          if (escaping) {
-            if (c === "/") {
-              return false;
-            }
-            if (reSpecials[c]) {
-              re += "\\";
-            }
-            re += c;
-            escaping = false;
-            continue;
-          }
-          switch (c) {
-            /* istanbul ignore next */
-            case "/": {
-              return false;
-            }
-            case "\\":
-              if (inClass && pattern.charAt(i + 1) === "-") {
-                re += c;
-                continue;
-              }
-              clearStateChar();
-              escaping = true;
-              continue;
-            // the various stateChar values
-            // for the "extglob" stuff.
-            case "?":
-            case "*":
-            case "+":
-            case "@":
-            case "!":
-              this.debug("%s	%s %s %j <-- stateChar", pattern, i, re, c);
-              if (inClass) {
-                this.debug("  in class");
-                if (c === "!" && i === classStart + 1) c = "^";
-                re += c;
-                continue;
-              }
-              this.debug("call clearStateChar %j", stateChar);
-              clearStateChar();
-              stateChar = c;
-              if (options.noext) clearStateChar();
-              continue;
-            case "(": {
-              if (inClass) {
-                re += "(";
-                continue;
-              }
-              if (!stateChar) {
-                re += "\\(";
-                continue;
-              }
-              const plEntry = {
-                type: stateChar,
-                start: i - 1,
-                reStart: re.length,
-                open: plTypes[stateChar].open,
-                close: plTypes[stateChar].close
-              };
-              this.debug(this.pattern, "	", plEntry);
-              patternListStack.push(plEntry);
-              re += plEntry.open;
-              if (plEntry.start === 0 && plEntry.type !== "!") {
-                dotTravAllowed = true;
-                re += subPatternStart(pattern.slice(i + 1));
-              }
-              this.debug("plType %j %j", stateChar, re);
-              stateChar = false;
-              continue;
-            }
-            case ")": {
-              const plEntry = patternListStack[patternListStack.length - 1];
-              if (inClass || !plEntry) {
-                re += "\\)";
-                continue;
-              }
-              patternListStack.pop();
-              clearStateChar();
-              hasMagic = true;
-              pl = plEntry;
-              re += pl.close;
-              if (pl.type === "!") {
-                negativeLists.push(Object.assign(pl, { reEnd: re.length }));
-              }
-              continue;
-            }
-            case "|": {
-              const plEntry = patternListStack[patternListStack.length - 1];
-              if (inClass || !plEntry) {
-                re += "\\|";
-                continue;
-              }
-              clearStateChar();
-              re += "|";
-              if (plEntry.start === 0 && plEntry.type !== "!") {
-                dotTravAllowed = true;
-                re += subPatternStart(pattern.slice(i + 1));
-              }
-              continue;
-            }
-            // these are mostly the same in regexp and glob
-            case "[":
-              clearStateChar();
-              if (inClass) {
-                re += "\\" + c;
-                continue;
-              }
-              inClass = true;
-              classStart = i;
-              reClassStart = re.length;
-              re += c;
-              continue;
-            case "]":
-              if (i === classStart + 1 || !inClass) {
-                re += "\\" + c;
-                continue;
-              }
-              cs = pattern.substring(classStart + 1, i);
-              try {
-                RegExp("[" + braExpEscape(charUnescape(cs)) + "]");
-                re += c;
-              } catch (er) {
-                re = re.substring(0, reClassStart) + "(?:$.)";
-              }
-              hasMagic = true;
-              inClass = false;
-              continue;
-            default:
-              clearStateChar();
-              if (reSpecials[c] && !(c === "^" && inClass)) {
-                re += "\\";
-              }
-              re += c;
-              break;
-          }
+        return entry.relativePosix();
+      }
+      /**
+       * Return the basename for the provided string or Path object
+       */
+      basename(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
         }
-        if (inClass) {
-          cs = pattern.slice(classStart + 1);
-          sp = this.parse(cs, SUBPARSE);
-          re = re.substring(0, reClassStart) + "\\[" + sp[0];
-          hasMagic = hasMagic || sp[1];
+        return entry.name;
+      }
+      /**
+       * Return the dirname for the provided string or Path object
+       */
+      dirname(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
         }
-        for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {
-          let tail;
-          tail = re.slice(pl.reStart + pl.open.length);
-          this.debug("setting tail", re, pl);
-          tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, (_2, $1, $2) => {
-            if (!$2) {
-              $2 = "\\";
-            }
-            return $1 + $1 + $2 + "|";
-          });
-          this.debug("tail=%j\n   %s", tail, tail, pl, re);
-          const t = pl.type === "*" ? star : pl.type === "?" ? qmark : "\\" + pl.type;
-          hasMagic = true;
-          re = re.slice(0, pl.reStart) + t + "\\(" + tail;
+        return (entry.parent || entry).fullpath();
+      }
+      async readdir(entry = this.cwd, opts = {
+        withFileTypes: true
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
         }
-        clearStateChar();
-        if (escaping) {
-          re += "\\\\";
+        const { withFileTypes } = opts;
+        if (!entry.canReaddir()) {
+          return [];
+        } else {
+          const p = await entry.readdir();
+          return withFileTypes ? p : p.map((e) => e.name);
         }
-        const addPatternStart = addPatternStartSet[re.charAt(0)];
-        for (let n = negativeLists.length - 1; n > -1; n--) {
-          const nl = negativeLists[n];
-          const nlBefore = re.slice(0, nl.reStart);
-          const nlFirst = re.slice(nl.reStart, nl.reEnd - 8);
-          let nlAfter = re.slice(nl.reEnd);
-          const nlLast = re.slice(nl.reEnd - 8, nl.reEnd) + nlAfter;
-          const closeParensBefore = nlBefore.split(")").length;
-          const openParensBefore = nlBefore.split("(").length - closeParensBefore;
-          let cleanAfter = nlAfter;
-          for (let i = 0; i < openParensBefore; i++) {
-            cleanAfter = cleanAfter.replace(/\)[+*?]?/, "");
-          }
-          nlAfter = cleanAfter;
-          const dollar = nlAfter === "" && isSub !== SUBPARSE ? "(?:$|\\/)" : "";
-          re = nlBefore + nlFirst + nlAfter + dollar + nlLast;
+      }
+      readdirSync(entry = this.cwd, opts = {
+        withFileTypes: true
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
         }
-        if (re !== "" && hasMagic) {
-          re = "(?=.)" + re;
+        const { withFileTypes = true } = opts;
+        if (!entry.canReaddir()) {
+          return [];
+        } else if (withFileTypes) {
+          return entry.readdirSync();
+        } else {
+          return entry.readdirSync().map((e) => e.name);
         }
-        if (addPatternStart) {
-          re = patternStart() + re;
+      }
+      /**
+       * Call lstat() on the string or Path object, and update all known
+       * information that can be determined.
+       *
+       * Note that unlike `fs.lstat()`, the returned value does not contain some
+       * information, such as `mode`, `dev`, `nlink`, and `ino`.  If that
+       * information is required, you will need to call `fs.lstat` yourself.
+       *
+       * If the Path refers to a nonexistent file, or if the lstat call fails for
+       * any reason, `undefined` is returned.  Otherwise the updated Path object is
+       * returned.
+       *
+       * Results are cached, and thus may be out of date if the filesystem is
+       * mutated.
+       */
+      async lstat(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
         }
-        if (isSub === SUBPARSE) {
-          return [re, hasMagic];
+        return entry.lstat();
+      }
+      /**
+       * synchronous {@link PathScurryBase.lstat}
+       */
+      lstatSync(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
         }
-        if (options.nocase && !hasMagic) {
-          hasMagic = pattern.toUpperCase() !== pattern.toLowerCase();
+        return entry.lstatSync();
+      }
+      async readlink(entry = this.cwd, { withFileTypes } = {
+        withFileTypes: false
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          withFileTypes = entry.withFileTypes;
+          entry = this.cwd;
         }
-        if (!hasMagic) {
-          return globUnescape(pattern);
+        const e = await entry.readlink();
+        return withFileTypes ? e : e?.fullpath();
+      }
+      readlinkSync(entry = this.cwd, { withFileTypes } = {
+        withFileTypes: false
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          withFileTypes = entry.withFileTypes;
+          entry = this.cwd;
         }
-        const flags = options.nocase ? "i" : "";
-        try {
-          return Object.assign(new RegExp("^" + re + "$", flags), {
-            _glob: pattern,
-            _src: re
-          });
-        } catch (er) {
-          return new RegExp("$.");
+        const e = entry.readlinkSync();
+        return withFileTypes ? e : e?.fullpath();
+      }
+      async realpath(entry = this.cwd, { withFileTypes } = {
+        withFileTypes: false
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          withFileTypes = entry.withFileTypes;
+          entry = this.cwd;
         }
+        const e = await entry.realpath();
+        return withFileTypes ? e : e?.fullpath();
       }
-      makeRe() {
-        if (this.regexp || this.regexp === false) return this.regexp;
-        const set2 = this.set;
-        if (!set2.length) {
-          this.regexp = false;
-          return this.regexp;
+      realpathSync(entry = this.cwd, { withFileTypes } = {
+        withFileTypes: false
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          withFileTypes = entry.withFileTypes;
+          entry = this.cwd;
         }
-        const options = this.options;
-        const twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
-        const flags = options.nocase ? "i" : "";
-        let re = set2.map((pattern) => {
-          pattern = pattern.map(
-            (p) => typeof p === "string" ? regExpEscape(p) : p === GLOBSTAR ? GLOBSTAR : p._src
-          ).reduce((set3, p) => {
-            if (!(set3[set3.length - 1] === GLOBSTAR && p === GLOBSTAR)) {
-              set3.push(p);
-            }
-            return set3;
-          }, []);
-          pattern.forEach((p, i) => {
-            if (p !== GLOBSTAR || pattern[i - 1] === GLOBSTAR) {
-              return;
+        const e = entry.realpathSync();
+        return withFileTypes ? e : e?.fullpath();
+      }
+      async walk(entry = this.cwd, opts = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
+        }
+        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
+        const results = [];
+        if (!filter || filter(entry)) {
+          results.push(withFileTypes ? entry : entry.fullpath());
+        }
+        const dirs = /* @__PURE__ */ new Set();
+        const walk = (dir, cb) => {
+          dirs.add(dir);
+          dir.readdirCB((er, entries) => {
+            if (er) {
+              return cb(er);
             }
-            if (i === 0) {
-              if (pattern.length > 1) {
-                pattern[i + 1] = "(?:\\/|" + twoStar + "\\/)?" + pattern[i + 1];
+            let len = entries.length;
+            if (!len)
+              return cb();
+            const next = () => {
+              if (--len === 0) {
+                cb();
+              }
+            };
+            for (const e of entries) {
+              if (!filter || filter(e)) {
+                results.push(withFileTypes ? e : e.fullpath());
+              }
+              if (follow && e.isSymbolicLink()) {
+                e.realpath().then((r) => r?.isUnknown() ? r.lstat() : r).then((r) => r?.shouldWalk(dirs, walkFilter) ? walk(r, next) : next());
               } else {
-                pattern[i] = twoStar;
+                if (e.shouldWalk(dirs, walkFilter)) {
+                  walk(e, next);
+                } else {
+                  next();
+                }
               }
-            } else if (i === pattern.length - 1) {
-              pattern[i - 1] += "(?:\\/|" + twoStar + ")?";
-            } else {
-              pattern[i - 1] += "(?:\\/|\\/" + twoStar + "\\/)" + pattern[i + 1];
-              pattern[i + 1] = GLOBSTAR;
             }
+          }, true);
+        };
+        const start = entry;
+        return new Promise((res, rej) => {
+          walk(start, (er) => {
+            if (er)
+              return rej(er);
+            res(results);
           });
-          return pattern.filter((p) => p !== GLOBSTAR).join("/");
-        }).join("|");
-        re = "^(?:" + re + ")$";
-        if (this.negate) re = "^(?!" + re + ").*$";
-        try {
-          this.regexp = new RegExp(re, flags);
-        } catch (ex) {
-          this.regexp = false;
-        }
-        return this.regexp;
+        });
       }
-      match(f, partial = this.partial) {
-        this.debug("match", f, this.pattern);
-        if (this.comment) return false;
-        if (this.empty) return f === "";
-        if (f === "/" && partial) return true;
-        const options = this.options;
-        if (path16.sep !== "/") {
-          f = f.split(path16.sep).join("/");
-        }
-        f = f.split(slashSplit);
-        this.debug(this.pattern, "split", f);
-        const set2 = this.set;
-        this.debug(this.pattern, "set", set2);
-        let filename;
-        for (let i = f.length - 1; i >= 0; i--) {
-          filename = f[i];
-          if (filename) break;
+      walkSync(entry = this.cwd, opts = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
         }
-        for (let i = 0; i < set2.length; i++) {
-          const pattern = set2[i];
-          let file = f;
-          if (options.matchBase && pattern.length === 1) {
-            file = [filename];
-          }
-          const hit = this.matchOne(file, pattern, partial);
-          if (hit) {
-            if (options.flipNegate) return true;
-            return !this.negate;
-          }
+        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
+        const results = [];
+        if (!filter || filter(entry)) {
+          results.push(withFileTypes ? entry : entry.fullpath());
         }
-        if (options.flipNegate) return false;
-        return this.negate;
-      }
-      static defaults(def) {
-        return minimatch.defaults(def).Minimatch;
-      }
-    };
-    minimatch.Minimatch = Minimatch;
-  }
-});
-
-// node_modules/readdir-glob/index.js
-var require_readdir_glob = __commonJS({
-  "node_modules/readdir-glob/index.js"(exports2, module2) {
-    module2.exports = readdirGlob;
-    var fs18 = require("fs");
-    var { EventEmitter } = require("events");
-    var { Minimatch } = require_minimatch2();
-    var { resolve: resolve8 } = require("path");
-    function readdir(dir, strict) {
-      return new Promise((resolve9, reject) => {
-        fs18.readdir(dir, { withFileTypes: true }, (err, files) => {
-          if (err) {
-            switch (err.code) {
-              case "ENOTDIR":
-                if (strict) {
-                  reject(err);
-                } else {
-                  resolve9([]);
-                }
-                break;
-              case "ENOTSUP":
-              // Operation not supported
-              case "ENOENT":
-              // No such file or directory
-              case "ENAMETOOLONG":
-              // Filename too long
-              case "UNKNOWN":
-                resolve9([]);
-                break;
-              case "ELOOP":
-              // Too many levels of symbolic links
-              default:
-                reject(err);
-                break;
+        const dirs = /* @__PURE__ */ new Set([entry]);
+        for (const dir of dirs) {
+          const entries = dir.readdirSync();
+          for (const e of entries) {
+            if (!filter || filter(e)) {
+              results.push(withFileTypes ? e : e.fullpath());
             }
-          } else {
-            resolve9(files);
-          }
-        });
-      });
-    }
-    function stat(file, followSymlinks) {
-      return new Promise((resolve9, reject) => {
-        const statFunc = followSymlinks ? fs18.stat : fs18.lstat;
-        statFunc(file, (err, stats) => {
-          if (err) {
-            switch (err.code) {
-              case "ENOENT":
-                if (followSymlinks) {
-                  resolve9(stat(file, false));
-                } else {
-                  resolve9(null);
-                }
-                break;
-              default:
-                resolve9(null);
-                break;
+            let r = e;
+            if (e.isSymbolicLink()) {
+              if (!(follow && (r = e.realpathSync())))
+                continue;
+              if (r.isUnknown())
+                r.lstatSync();
+            }
+            if (r.shouldWalk(dirs, walkFilter)) {
+              dirs.add(r);
             }
-          } else {
-            resolve9(stats);
           }
-        });
-      });
-    }
-    async function* exploreWalkAsync(dir, path16, followSymlinks, useStat, shouldSkip, strict) {
-      let files = await readdir(path16 + dir, strict);
-      for (const file of files) {
-        let name = file.name;
-        if (name === void 0) {
-          name = file;
-          useStat = true;
         }
-        const filename = dir + "/" + name;
-        const relative2 = filename.slice(1);
-        const absolute = path16 + "/" + relative2;
-        let stats = null;
-        if (useStat || followSymlinks) {
-          stats = await stat(absolute, followSymlinks);
+        return results;
+      }
+      /**
+       * Support for `for await`
+       *
+       * Alias for {@link PathScurryBase.iterate}
+       *
+       * Note: As of Node 19, this is very slow, compared to other methods of
+       * walking.  Consider using {@link PathScurryBase.stream} if memory overhead
+       * and backpressure are concerns, or {@link PathScurryBase.walk} if not.
+       */
+      [Symbol.asyncIterator]() {
+        return this.iterate();
+      }
+      iterate(entry = this.cwd, options = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          options = entry;
+          entry = this.cwd;
         }
-        if (!stats && file.name !== void 0) {
-          stats = file;
+        return this.stream(entry, options)[Symbol.asyncIterator]();
+      }
+      /**
+       * Iterating over a PathScurry performs a synchronous walk.
+       *
+       * Alias for {@link PathScurryBase.iterateSync}
+       */
+      [Symbol.iterator]() {
+        return this.iterateSync();
+      }
+      *iterateSync(entry = this.cwd, opts = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
         }
-        if (stats === null) {
-          stats = { isDirectory: () => false };
+        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
+        if (!filter || filter(entry)) {
+          yield withFileTypes ? entry : entry.fullpath();
         }
-        if (stats.isDirectory()) {
-          if (!shouldSkip(relative2)) {
-            yield { relative: relative2, absolute, stats };
-            yield* exploreWalkAsync(filename, path16, followSymlinks, useStat, shouldSkip, false);
+        const dirs = /* @__PURE__ */ new Set([entry]);
+        for (const dir of dirs) {
+          const entries = dir.readdirSync();
+          for (const e of entries) {
+            if (!filter || filter(e)) {
+              yield withFileTypes ? e : e.fullpath();
+            }
+            let r = e;
+            if (e.isSymbolicLink()) {
+              if (!(follow && (r = e.realpathSync())))
+                continue;
+              if (r.isUnknown())
+                r.lstatSync();
+            }
+            if (r.shouldWalk(dirs, walkFilter)) {
+              dirs.add(r);
+            }
           }
-        } else {
-          yield { relative: relative2, absolute, stats };
         }
       }
-    }
-    async function* explore(path16, followSymlinks, useStat, shouldSkip) {
-      yield* exploreWalkAsync("", path16, followSymlinks, useStat, shouldSkip, true);
-    }
-    function readOptions(options) {
-      return {
-        pattern: options.pattern,
-        dot: !!options.dot,
-        noglobstar: !!options.noglobstar,
-        matchBase: !!options.matchBase,
-        nocase: !!options.nocase,
-        ignore: options.ignore,
-        skip: options.skip,
-        follow: !!options.follow,
-        stat: !!options.stat,
-        nodir: !!options.nodir,
-        mark: !!options.mark,
-        silent: !!options.silent,
-        absolute: !!options.absolute
-      };
-    }
-    var ReaddirGlob = class extends EventEmitter {
-      constructor(cwd, options, cb) {
-        super();
-        if (typeof options === "function") {
-          cb = options;
-          options = null;
-        }
-        this.options = readOptions(options || {});
-        this.matchers = [];
-        if (this.options.pattern) {
-          const matchers = Array.isArray(this.options.pattern) ? this.options.pattern : [this.options.pattern];
-          this.matchers = matchers.map(
-            (m) => new Minimatch(m, {
-              dot: this.options.dot,
-              noglobstar: this.options.noglobstar,
-              matchBase: this.options.matchBase,
-              nocase: this.options.nocase
-            })
-          );
+      stream(entry = this.cwd, opts = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
         }
-        this.ignoreMatchers = [];
-        if (this.options.ignore) {
-          const ignorePatterns = Array.isArray(this.options.ignore) ? this.options.ignore : [this.options.ignore];
-          this.ignoreMatchers = ignorePatterns.map(
-            (ignore) => new Minimatch(ignore, { dot: true })
-          );
+        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
+        const results = new minipass_1.Minipass({ objectMode: true });
+        if (!filter || filter(entry)) {
+          results.write(withFileTypes ? entry : entry.fullpath());
         }
-        this.skipMatchers = [];
-        if (this.options.skip) {
-          const skipPatterns = Array.isArray(this.options.skip) ? this.options.skip : [this.options.skip];
-          this.skipMatchers = skipPatterns.map(
-            (skip) => new Minimatch(skip, { dot: true })
-          );
+        const dirs = /* @__PURE__ */ new Set();
+        const queue = [entry];
+        let processing = 0;
+        const process2 = () => {
+          let paused = false;
+          while (!paused) {
+            const dir = queue.shift();
+            if (!dir) {
+              if (processing === 0)
+                results.end();
+              return;
+            }
+            processing++;
+            dirs.add(dir);
+            const onReaddir = (er, entries, didRealpaths = false) => {
+              if (er)
+                return results.emit("error", er);
+              if (follow && !didRealpaths) {
+                const promises5 = [];
+                for (const e of entries) {
+                  if (e.isSymbolicLink()) {
+                    promises5.push(e.realpath().then((r) => r?.isUnknown() ? r.lstat() : r));
+                  }
+                }
+                if (promises5.length) {
+                  Promise.all(promises5).then(() => onReaddir(null, entries, true));
+                  return;
+                }
+              }
+              for (const e of entries) {
+                if (e && (!filter || filter(e))) {
+                  if (!results.write(withFileTypes ? e : e.fullpath())) {
+                    paused = true;
+                  }
+                }
+              }
+              processing--;
+              for (const e of entries) {
+                const r = e.realpathCached() || e;
+                if (r.shouldWalk(dirs, walkFilter)) {
+                  queue.push(r);
+                }
+              }
+              if (paused && !results.flowing) {
+                results.once("drain", process2);
+              } else if (!sync) {
+                process2();
+              }
+            };
+            let sync = true;
+            dir.readdirCB(onReaddir, true);
+            sync = false;
+          }
+        };
+        process2();
+        return results;
+      }
+      streamSync(entry = this.cwd, opts = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
         }
-        this.iterator = explore(resolve8(cwd || "."), this.options.follow, this.options.stat, this._shouldSkipDirectory.bind(this));
-        this.paused = false;
-        this.inactive = false;
-        this.aborted = false;
-        if (cb) {
-          this._matches = [];
-          this.on("match", (match) => this._matches.push(this.options.absolute ? match.absolute : match.relative));
-          this.on("error", (err) => cb(err));
-          this.on("end", () => cb(null, this._matches));
+        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
+        const results = new minipass_1.Minipass({ objectMode: true });
+        const dirs = /* @__PURE__ */ new Set();
+        if (!filter || filter(entry)) {
+          results.write(withFileTypes ? entry : entry.fullpath());
         }
-        setTimeout(() => this._next(), 0);
-      }
-      _shouldSkipDirectory(relative2) {
-        return this.skipMatchers.some((m) => m.match(relative2));
-      }
-      _fileMatches(relative2, isDirectory) {
-        const file = relative2 + (isDirectory ? "/" : "");
-        return (this.matchers.length === 0 || this.matchers.some((m) => m.match(file))) && !this.ignoreMatchers.some((m) => m.match(file)) && (!this.options.nodir || !isDirectory);
-      }
-      _next() {
-        if (!this.paused && !this.aborted) {
-          this.iterator.next().then((obj) => {
-            if (!obj.done) {
-              const isDirectory = obj.value.stats.isDirectory();
-              if (this._fileMatches(obj.value.relative, isDirectory)) {
-                let relative2 = obj.value.relative;
-                let absolute = obj.value.absolute;
-                if (this.options.mark && isDirectory) {
-                  relative2 += "/";
-                  absolute += "/";
-                }
-                if (this.options.stat) {
-                  this.emit("match", { relative: relative2, absolute, stat: obj.value.stats });
-                } else {
-                  this.emit("match", { relative: relative2, absolute });
+        const queue = [entry];
+        let processing = 0;
+        const process2 = () => {
+          let paused = false;
+          while (!paused) {
+            const dir = queue.shift();
+            if (!dir) {
+              if (processing === 0)
+                results.end();
+              return;
+            }
+            processing++;
+            dirs.add(dir);
+            const entries = dir.readdirSync();
+            for (const e of entries) {
+              if (!filter || filter(e)) {
+                if (!results.write(withFileTypes ? e : e.fullpath())) {
+                  paused = true;
                 }
               }
-              this._next(this.iterator);
-            } else {
-              this.emit("end");
             }
-          }).catch((err) => {
-            this.abort();
-            this.emit("error", err);
-            if (!err.code && !this.options.silent) {
-              console.error(err);
+            processing--;
+            for (const e of entries) {
+              let r = e;
+              if (e.isSymbolicLink()) {
+                if (!(follow && (r = e.realpathSync())))
+                  continue;
+                if (r.isUnknown())
+                  r.lstatSync();
+              }
+              if (r.shouldWalk(dirs, walkFilter)) {
+                queue.push(r);
+              }
             }
-          });
-        } else {
-          this.inactive = true;
+          }
+          if (paused && !results.flowing)
+            results.once("drain", process2);
+        };
+        process2();
+        return results;
+      }
+      chdir(path16 = this.cwd) {
+        const oldCwd = this.cwd;
+        this.cwd = typeof path16 === "string" ? this.cwd.resolve(path16) : path16;
+        this.cwd[setAsCwd](oldCwd);
+      }
+    };
+    exports2.PathScurryBase = PathScurryBase;
+    var PathScurryWin32 = class extends PathScurryBase {
+      /**
+       * separator for generating path strings
+       */
+      sep = "\\";
+      constructor(cwd = process.cwd(), opts = {}) {
+        const { nocase = true } = opts;
+        super(cwd, node_path_1.win32, "\\", { ...opts, nocase });
+        this.nocase = nocase;
+        for (let p = this.cwd; p; p = p.parent) {
+          p.nocase = this.nocase;
         }
       }
-      abort() {
-        this.aborted = true;
+      /**
+       * @internal
+       */
+      parseRootPath(dir) {
+        return node_path_1.win32.parse(dir).root.toUpperCase();
       }
-      pause() {
-        this.paused = true;
+      /**
+       * @internal
+       */
+      newRoot(fs18) {
+        return new PathWin32(this.rootPath, IFDIR, void 0, this.roots, this.nocase, this.childrenCache(), { fs: fs18 });
       }
-      resume() {
-        this.paused = false;
-        if (this.inactive) {
-          this.inactive = false;
-          this._next();
-        }
+      /**
+       * Return true if the provided path string is an absolute path
+       */
+      isAbsolute(p) {
+        return p.startsWith("/") || p.startsWith("\\") || /^[a-z]:(\/|\\)/i.test(p);
       }
     };
-    function readdirGlob(pattern, options, cb) {
-      return new ReaddirGlob(pattern, options, cb);
-    }
-    readdirGlob.ReaddirGlob = ReaddirGlob;
-  }
-});
-
-// node_modules/async/dist/async.js
-var require_async = __commonJS({
-  "node_modules/async/dist/async.js"(exports2, module2) {
-    (function(global2, factory) {
-      typeof exports2 === "object" && typeof module2 !== "undefined" ? factory(exports2) : typeof define === "function" && define.amd ? define(["exports"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory(global2.async = {}));
-    })(exports2, (function(exports3) {
-      "use strict";
-      function apply(fn, ...args) {
-        return (...callArgs) => fn(...args, ...callArgs);
+    exports2.PathScurryWin32 = PathScurryWin32;
+    var PathScurryPosix = class extends PathScurryBase {
+      /**
+       * separator for generating path strings
+       */
+      sep = "/";
+      constructor(cwd = process.cwd(), opts = {}) {
+        const { nocase = false } = opts;
+        super(cwd, node_path_1.posix, "/", { ...opts, nocase });
+        this.nocase = nocase;
       }
-      function initialParams(fn) {
-        return function(...args) {
-          var callback = args.pop();
-          return fn.call(this, args, callback);
-        };
+      /**
+       * @internal
+       */
+      parseRootPath(_dir) {
+        return "/";
       }
-      var hasQueueMicrotask = typeof queueMicrotask === "function" && queueMicrotask;
-      var hasSetImmediate = typeof setImmediate === "function" && setImmediate;
-      var hasNextTick = typeof process === "object" && typeof process.nextTick === "function";
-      function fallback(fn) {
-        setTimeout(fn, 0);
+      /**
+       * @internal
+       */
+      newRoot(fs18) {
+        return new PathPosix(this.rootPath, IFDIR, void 0, this.roots, this.nocase, this.childrenCache(), { fs: fs18 });
       }
-      function wrap(defer) {
-        return (fn, ...args) => defer(() => fn(...args));
+      /**
+       * Return true if the provided path string is an absolute path
+       */
+      isAbsolute(p) {
+        return p.startsWith("/");
       }
-      var _defer$1;
-      if (hasQueueMicrotask) {
-        _defer$1 = queueMicrotask;
-      } else if (hasSetImmediate) {
-        _defer$1 = setImmediate;
-      } else if (hasNextTick) {
-        _defer$1 = process.nextTick;
-      } else {
-        _defer$1 = fallback;
+    };
+    exports2.PathScurryPosix = PathScurryPosix;
+    var PathScurryDarwin = class extends PathScurryPosix {
+      constructor(cwd = process.cwd(), opts = {}) {
+        const { nocase = true } = opts;
+        super(cwd, { ...opts, nocase });
       }
-      var setImmediate$1 = wrap(_defer$1);
-      function asyncify(func) {
-        if (isAsync(func)) {
-          return function(...args) {
-            const callback = args.pop();
-            const promise = func.apply(this, args);
-            return handlePromise(promise, callback);
-          };
+    };
+    exports2.PathScurryDarwin = PathScurryDarwin;
+    exports2.Path = process.platform === "win32" ? PathWin32 : PathPosix;
+    exports2.PathScurry = process.platform === "win32" ? PathScurryWin32 : process.platform === "darwin" ? PathScurryDarwin : PathScurryPosix;
+  }
+});
+
+// node_modules/glob/dist/commonjs/pattern.js
+var require_pattern = __commonJS({
+  "node_modules/glob/dist/commonjs/pattern.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Pattern = void 0;
+    var minimatch_1 = require_commonjs20();
+    var isPatternList = (pl) => pl.length >= 1;
+    var isGlobList = (gl) => gl.length >= 1;
+    var Pattern = class _Pattern {
+      #patternList;
+      #globList;
+      #index;
+      length;
+      #platform;
+      #rest;
+      #globString;
+      #isDrive;
+      #isUNC;
+      #isAbsolute;
+      #followGlobstar = true;
+      constructor(patternList, globList, index, platform) {
+        if (!isPatternList(patternList)) {
+          throw new TypeError("empty pattern list");
         }
-        return initialParams(function(args, callback) {
-          var result;
-          try {
-            result = func.apply(this, args);
-          } catch (e) {
-            return callback(e);
-          }
-          if (result && typeof result.then === "function") {
-            return handlePromise(result, callback);
-          } else {
-            callback(null, result);
+        if (!isGlobList(globList)) {
+          throw new TypeError("empty glob list");
+        }
+        if (globList.length !== patternList.length) {
+          throw new TypeError("mismatched pattern list and glob list lengths");
+        }
+        this.length = patternList.length;
+        if (index < 0 || index >= this.length) {
+          throw new TypeError("index out of range");
+        }
+        this.#patternList = patternList;
+        this.#globList = globList;
+        this.#index = index;
+        this.#platform = platform;
+        if (this.#index === 0) {
+          if (this.isUNC()) {
+            const [p0, p1, p2, p3, ...prest] = this.#patternList;
+            const [g0, g1, g2, g3, ...grest] = this.#globList;
+            if (prest[0] === "") {
+              prest.shift();
+              grest.shift();
+            }
+            const p = [p0, p1, p2, p3, ""].join("/");
+            const g = [g0, g1, g2, g3, ""].join("/");
+            this.#patternList = [p, ...prest];
+            this.#globList = [g, ...grest];
+            this.length = this.#patternList.length;
+          } else if (this.isDrive() || this.isAbsolute()) {
+            const [p1, ...prest] = this.#patternList;
+            const [g1, ...grest] = this.#globList;
+            if (prest[0] === "") {
+              prest.shift();
+              grest.shift();
+            }
+            const p = p1 + "/";
+            const g = g1 + "/";
+            this.#patternList = [p, ...prest];
+            this.#globList = [g, ...grest];
+            this.length = this.#patternList.length;
           }
-        });
+        }
       }
-      function handlePromise(promise, callback) {
-        return promise.then((value) => {
-          invokeCallback(callback, null, value);
-        }, (err) => {
-          invokeCallback(callback, err && (err instanceof Error || err.message) ? err : new Error(err));
-        });
+      /**
+       * The first entry in the parsed list of patterns
+       */
+      pattern() {
+        return this.#patternList[this.#index];
       }
-      function invokeCallback(callback, error3, value) {
-        try {
-          callback(error3, value);
-        } catch (err) {
-          setImmediate$1((e) => {
-            throw e;
-          }, err);
-        }
+      /**
+       * true of if pattern() returns a string
+       */
+      isString() {
+        return typeof this.#patternList[this.#index] === "string";
       }
-      function isAsync(fn) {
-        return fn[Symbol.toStringTag] === "AsyncFunction";
+      /**
+       * true of if pattern() returns GLOBSTAR
+       */
+      isGlobstar() {
+        return this.#patternList[this.#index] === minimatch_1.GLOBSTAR;
       }
-      function isAsyncGenerator(fn) {
-        return fn[Symbol.toStringTag] === "AsyncGenerator";
+      /**
+       * true if pattern() returns a regexp
+       */
+      isRegExp() {
+        return this.#patternList[this.#index] instanceof RegExp;
       }
-      function isAsyncIterable(obj) {
-        return typeof obj[Symbol.asyncIterator] === "function";
+      /**
+       * The /-joined set of glob parts that make up this pattern
+       */
+      globString() {
+        return this.#globString = this.#globString || (this.#index === 0 ? this.isAbsolute() ? this.#globList[0] + this.#globList.slice(1).join("/") : this.#globList.join("/") : this.#globList.slice(this.#index).join("/"));
       }
-      function wrapAsync(asyncFn) {
-        if (typeof asyncFn !== "function") throw new Error("expected a function");
-        return isAsync(asyncFn) ? asyncify(asyncFn) : asyncFn;
+      /**
+       * true if there are more pattern parts after this one
+       */
+      hasMore() {
+        return this.length > this.#index + 1;
       }
-      function awaitify(asyncFn, arity) {
-        if (!arity) arity = asyncFn.length;
-        if (!arity) throw new Error("arity is undefined");
-        function awaitable(...args) {
-          if (typeof args[arity - 1] === "function") {
-            return asyncFn.apply(this, args);
-          }
-          return new Promise((resolve8, reject2) => {
-            args[arity - 1] = (err, ...cbArgs) => {
-              if (err) return reject2(err);
-              resolve8(cbArgs.length > 1 ? cbArgs : cbArgs[0]);
-            };
-            asyncFn.apply(this, args);
-          });
-        }
-        return awaitable;
+      /**
+       * The rest of the pattern after this part, or null if this is the end
+       */
+      rest() {
+        if (this.#rest !== void 0)
+          return this.#rest;
+        if (!this.hasMore())
+          return this.#rest = null;
+        this.#rest = new _Pattern(this.#patternList, this.#globList, this.#index + 1, this.#platform);
+        this.#rest.#isAbsolute = this.#isAbsolute;
+        this.#rest.#isUNC = this.#isUNC;
+        this.#rest.#isDrive = this.#isDrive;
+        return this.#rest;
       }
-      function applyEach$1(eachfn) {
-        return function applyEach2(fns, ...callArgs) {
-          const go = awaitify(function(callback) {
-            var that = this;
-            return eachfn(fns, (fn, cb) => {
-              wrapAsync(fn).apply(that, callArgs.concat(cb));
-            }, callback);
-          });
-          return go;
-        };
+      /**
+       * true if the pattern represents a //unc/path/ on windows
+       */
+      isUNC() {
+        const pl = this.#patternList;
+        return this.#isUNC !== void 0 ? this.#isUNC : this.#isUNC = this.#platform === "win32" && this.#index === 0 && pl[0] === "" && pl[1] === "" && typeof pl[2] === "string" && !!pl[2] && typeof pl[3] === "string" && !!pl[3];
       }
-      function _asyncMap(eachfn, arr, iteratee, callback) {
-        arr = arr || [];
-        var results = [];
-        var counter = 0;
-        var _iteratee = wrapAsync(iteratee);
-        return eachfn(arr, (value, _2, iterCb) => {
-          var index2 = counter++;
-          _iteratee(value, (err, v) => {
-            results[index2] = v;
-            iterCb(err);
-          });
-        }, (err) => {
-          callback(err, results);
-        });
+      // pattern like C:/...
+      // split = ['C:', ...]
+      // XXX: would be nice to handle patterns like `c:*` to test the cwd
+      // in c: for *, but I don't know of a way to even figure out what that
+      // cwd is without actually chdir'ing into it?
+      /**
+       * True if the pattern starts with a drive letter on Windows
+       */
+      isDrive() {
+        const pl = this.#patternList;
+        return this.#isDrive !== void 0 ? this.#isDrive : this.#isDrive = this.#platform === "win32" && this.#index === 0 && this.length > 1 && typeof pl[0] === "string" && /^[a-z]:$/i.test(pl[0]);
       }
-      function isArrayLike(value) {
-        return value && typeof value.length === "number" && value.length >= 0 && value.length % 1 === 0;
+      // pattern = '/' or '/...' or '/x/...'
+      // split = ['', ''] or ['', ...] or ['', 'x', ...]
+      // Drive and UNC both considered absolute on windows
+      /**
+       * True if the pattern is rooted on an absolute path
+       */
+      isAbsolute() {
+        const pl = this.#patternList;
+        return this.#isAbsolute !== void 0 ? this.#isAbsolute : this.#isAbsolute = pl[0] === "" && pl.length > 1 || this.isDrive() || this.isUNC();
       }
-      const breakLoop = {};
-      function once(fn) {
-        function wrapper(...args) {
-          if (fn === null) return;
-          var callFn = fn;
-          fn = null;
-          callFn.apply(this, args);
-        }
-        Object.assign(wrapper, fn);
-        return wrapper;
+      /**
+       * consume the root of the pattern, and return it
+       */
+      root() {
+        const p = this.#patternList[0];
+        return typeof p === "string" && this.isAbsolute() && this.#index === 0 ? p : "";
       }
-      function getIterator(coll) {
-        return coll[Symbol.iterator] && coll[Symbol.iterator]();
+      /**
+       * Check to see if the current globstar pattern is allowed to follow
+       * a symbolic link.
+       */
+      checkFollowGlobstar() {
+        return !(this.#index === 0 || !this.isGlobstar() || !this.#followGlobstar);
       }
-      function createArrayIterator(coll) {
-        var i = -1;
-        var len = coll.length;
-        return function next() {
-          return ++i < len ? { value: coll[i], key: i } : null;
-        };
+      /**
+       * Mark that the current globstar pattern is following a symbolic link
+       */
+      markFollowGlobstar() {
+        if (this.#index === 0 || !this.isGlobstar() || !this.#followGlobstar)
+          return false;
+        this.#followGlobstar = false;
+        return true;
       }
-      function createES2015Iterator(iterator2) {
-        var i = -1;
-        return function next() {
-          var item = iterator2.next();
-          if (item.done)
-            return null;
-          i++;
-          return { value: item.value, key: i };
+    };
+    exports2.Pattern = Pattern;
+  }
+});
+
+// node_modules/glob/dist/commonjs/ignore.js
+var require_ignore = __commonJS({
+  "node_modules/glob/dist/commonjs/ignore.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Ignore = void 0;
+    var minimatch_1 = require_commonjs20();
+    var pattern_js_1 = require_pattern();
+    var defaultPlatform = typeof process === "object" && process && typeof process.platform === "string" ? process.platform : "linux";
+    var Ignore = class {
+      relative;
+      relativeChildren;
+      absolute;
+      absoluteChildren;
+      platform;
+      mmopts;
+      constructor(ignored, { nobrace, nocase, noext, noglobstar, platform = defaultPlatform }) {
+        this.relative = [];
+        this.absolute = [];
+        this.relativeChildren = [];
+        this.absoluteChildren = [];
+        this.platform = platform;
+        this.mmopts = {
+          dot: true,
+          nobrace,
+          nocase,
+          noext,
+          noglobstar,
+          optimizationLevel: 2,
+          platform,
+          nocomment: true,
+          nonegate: true
         };
+        for (const ign of ignored)
+          this.add(ign);
       }
-      function createObjectIterator(obj) {
-        var okeys = obj ? Object.keys(obj) : [];
-        var i = -1;
-        var len = okeys.length;
-        return function next() {
-          var key = okeys[++i];
-          if (key === "__proto__") {
-            return next();
+      add(ign) {
+        const mm = new minimatch_1.Minimatch(ign, this.mmopts);
+        for (let i = 0; i < mm.set.length; i++) {
+          const parsed = mm.set[i];
+          const globParts = mm.globParts[i];
+          if (!parsed || !globParts) {
+            throw new Error("invalid pattern object");
           }
-          return i < len ? { value: obj[key], key } : null;
-        };
+          while (parsed[0] === "." && globParts[0] === ".") {
+            parsed.shift();
+            globParts.shift();
+          }
+          const p = new pattern_js_1.Pattern(parsed, globParts, 0, this.platform);
+          const m = new minimatch_1.Minimatch(p.globString(), this.mmopts);
+          const children = globParts[globParts.length - 1] === "**";
+          const absolute = p.isAbsolute();
+          if (absolute)
+            this.absolute.push(m);
+          else
+            this.relative.push(m);
+          if (children) {
+            if (absolute)
+              this.absoluteChildren.push(m);
+            else
+              this.relativeChildren.push(m);
+          }
+        }
       }
-      function createIterator(coll) {
-        if (isArrayLike(coll)) {
-          return createArrayIterator(coll);
+      ignored(p) {
+        const fullpath = p.fullpath();
+        const fullpaths = `${fullpath}/`;
+        const relative2 = p.relative() || ".";
+        const relatives = `${relative2}/`;
+        for (const m of this.relative) {
+          if (m.match(relative2) || m.match(relatives))
+            return true;
         }
-        var iterator2 = getIterator(coll);
-        return iterator2 ? createES2015Iterator(iterator2) : createObjectIterator(coll);
+        for (const m of this.absolute) {
+          if (m.match(fullpath) || m.match(fullpaths))
+            return true;
+        }
+        return false;
       }
-      function onlyOnce(fn) {
-        return function(...args) {
-          if (fn === null) throw new Error("Callback was already called.");
-          var callFn = fn;
-          fn = null;
-          callFn.apply(this, args);
-        };
+      childrenIgnored(p) {
+        const fullpath = p.fullpath() + "/";
+        const relative2 = (p.relative() || ".") + "/";
+        for (const m of this.relativeChildren) {
+          if (m.match(relative2))
+            return true;
+        }
+        for (const m of this.absoluteChildren) {
+          if (m.match(fullpath))
+            return true;
+        }
+        return false;
       }
-      function asyncEachOfLimit(generator, limit, iteratee, callback) {
-        let done = false;
-        let canceled = false;
-        let awaiting = false;
-        let running = 0;
-        let idx = 0;
-        function replenish() {
-          if (running >= limit || awaiting || done) return;
-          awaiting = true;
-          generator.next().then(({ value, done: iterDone }) => {
-            if (canceled || done) return;
-            awaiting = false;
-            if (iterDone) {
-              done = true;
-              if (running <= 0) {
-                callback(null);
-              }
-              return;
-            }
-            running++;
-            iteratee(value, idx, iterateeCallback);
-            idx++;
-            replenish();
-          }).catch(handleError);
+    };
+    exports2.Ignore = Ignore;
+  }
+});
+
+// node_modules/glob/dist/commonjs/processor.js
+var require_processor = __commonJS({
+  "node_modules/glob/dist/commonjs/processor.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Processor = exports2.SubWalks = exports2.MatchRecord = exports2.HasWalkedCache = void 0;
+    var minimatch_1 = require_commonjs20();
+    var HasWalkedCache = class _HasWalkedCache {
+      store;
+      constructor(store = /* @__PURE__ */ new Map()) {
+        this.store = store;
+      }
+      copy() {
+        return new _HasWalkedCache(new Map(this.store));
+      }
+      hasWalked(target, pattern) {
+        return this.store.get(target.fullpath())?.has(pattern.globString());
+      }
+      storeWalked(target, pattern) {
+        const fullpath = target.fullpath();
+        const cached = this.store.get(fullpath);
+        if (cached)
+          cached.add(pattern.globString());
+        else
+          this.store.set(fullpath, /* @__PURE__ */ new Set([pattern.globString()]));
+      }
+    };
+    exports2.HasWalkedCache = HasWalkedCache;
+    var MatchRecord = class {
+      store = /* @__PURE__ */ new Map();
+      add(target, absolute, ifDir) {
+        const n = (absolute ? 2 : 0) | (ifDir ? 1 : 0);
+        const current = this.store.get(target);
+        this.store.set(target, current === void 0 ? n : n & current);
+      }
+      // match, absolute, ifdir
+      entries() {
+        return [...this.store.entries()].map(([path16, n]) => [
+          path16,
+          !!(n & 2),
+          !!(n & 1)
+        ]);
+      }
+    };
+    exports2.MatchRecord = MatchRecord;
+    var SubWalks = class {
+      store = /* @__PURE__ */ new Map();
+      add(target, pattern) {
+        if (!target.canReaddir()) {
+          return;
         }
-        function iterateeCallback(err, result) {
-          running -= 1;
-          if (canceled) return;
-          if (err) return handleError(err);
-          if (err === false) {
-            done = true;
-            canceled = true;
-            return;
-          }
-          if (result === breakLoop || done && running <= 0) {
-            done = true;
-            return callback(null);
+        const subs = this.store.get(target);
+        if (subs) {
+          if (!subs.find((p) => p.globString() === pattern.globString())) {
+            subs.push(pattern);
           }
-          replenish();
-        }
-        function handleError(err) {
-          if (canceled) return;
-          awaiting = false;
-          done = true;
-          callback(err);
+        } else
+          this.store.set(target, [pattern]);
+      }
+      get(target) {
+        const subs = this.store.get(target);
+        if (!subs) {
+          throw new Error("attempting to walk unknown path");
         }
-        replenish();
+        return subs;
       }
-      var eachOfLimit$2 = (limit) => {
-        return (obj, iteratee, callback) => {
-          callback = once(callback);
-          if (limit <= 0) {
-            throw new RangeError("concurrency limit cannot be less than 1");
-          }
-          if (!obj) {
-            return callback(null);
+      entries() {
+        return this.keys().map((k) => [k, this.store.get(k)]);
+      }
+      keys() {
+        return [...this.store.keys()].filter((t) => t.canReaddir());
+      }
+    };
+    exports2.SubWalks = SubWalks;
+    var Processor = class _Processor {
+      hasWalkedCache;
+      matches = new MatchRecord();
+      subwalks = new SubWalks();
+      patterns;
+      follow;
+      dot;
+      opts;
+      constructor(opts, hasWalkedCache) {
+        this.opts = opts;
+        this.follow = !!opts.follow;
+        this.dot = !!opts.dot;
+        this.hasWalkedCache = hasWalkedCache ? hasWalkedCache.copy() : new HasWalkedCache();
+      }
+      processPatterns(target, patterns) {
+        this.patterns = patterns;
+        const processingSet = patterns.map((p) => [target, p]);
+        for (let [t, pattern] of processingSet) {
+          this.hasWalkedCache.storeWalked(t, pattern);
+          const root = pattern.root();
+          const absolute = pattern.isAbsolute() && this.opts.absolute !== false;
+          if (root) {
+            t = t.resolve(root === "/" && this.opts.root !== void 0 ? this.opts.root : root);
+            const rest2 = pattern.rest();
+            if (!rest2) {
+              this.matches.add(t, true, false);
+              continue;
+            } else {
+              pattern = rest2;
+            }
           }
-          if (isAsyncGenerator(obj)) {
-            return asyncEachOfLimit(obj, limit, iteratee, callback);
+          if (t.isENOENT())
+            continue;
+          let p;
+          let rest;
+          let changed = false;
+          while (typeof (p = pattern.pattern()) === "string" && (rest = pattern.rest())) {
+            const c = t.resolve(p);
+            t = c;
+            pattern = rest;
+            changed = true;
           }
-          if (isAsyncIterable(obj)) {
-            return asyncEachOfLimit(obj[Symbol.asyncIterator](), limit, iteratee, callback);
+          p = pattern.pattern();
+          rest = pattern.rest();
+          if (changed) {
+            if (this.hasWalkedCache.hasWalked(t, pattern))
+              continue;
+            this.hasWalkedCache.storeWalked(t, pattern);
           }
-          var nextElem = createIterator(obj);
-          var done = false;
-          var canceled = false;
-          var running = 0;
-          var looping = false;
-          function iterateeCallback(err, value) {
-            if (canceled) return;
-            running -= 1;
-            if (err) {
-              done = true;
-              callback(err);
-            } else if (err === false) {
-              done = true;
-              canceled = true;
-            } else if (value === breakLoop || done && running <= 0) {
-              done = true;
-              return callback(null);
-            } else if (!looping) {
-              replenish();
+          if (typeof p === "string") {
+            const ifDir = p === ".." || p === "" || p === ".";
+            this.matches.add(t.resolve(p), absolute, ifDir);
+            continue;
+          } else if (p === minimatch_1.GLOBSTAR) {
+            if (!t.isSymbolicLink() || this.follow || pattern.checkFollowGlobstar()) {
+              this.subwalks.add(t, pattern);
             }
-          }
-          function replenish() {
-            looping = true;
-            while (running < limit && !done) {
-              var elem = nextElem();
-              if (elem === null) {
-                done = true;
-                if (running <= 0) {
-                  callback(null);
+            const rp = rest?.pattern();
+            const rrest = rest?.rest();
+            if (!rest || (rp === "" || rp === ".") && !rrest) {
+              this.matches.add(t, absolute, rp === "" || rp === ".");
+            } else {
+              if (rp === "..") {
+                const tp = t.parent || t;
+                if (!rrest)
+                  this.matches.add(tp, absolute, true);
+                else if (!this.hasWalkedCache.hasWalked(tp, rrest)) {
+                  this.subwalks.add(tp, rrest);
                 }
-                return;
               }
-              running += 1;
-              iteratee(elem.value, elem.key, onlyOnce(iterateeCallback));
             }
-            looping = false;
+          } else if (p instanceof RegExp) {
+            this.subwalks.add(t, pattern);
           }
-          replenish();
-        };
-      };
-      function eachOfLimit(coll, limit, iteratee, callback) {
-        return eachOfLimit$2(limit)(coll, wrapAsync(iteratee), callback);
+        }
+        return this;
       }
-      var eachOfLimit$1 = awaitify(eachOfLimit, 4);
-      function eachOfArrayLike(coll, iteratee, callback) {
-        callback = once(callback);
-        var index2 = 0, completed = 0, { length } = coll, canceled = false;
-        if (length === 0) {
-          callback(null);
+      subwalkTargets() {
+        return this.subwalks.keys();
+      }
+      child() {
+        return new _Processor(this.opts, this.hasWalkedCache);
+      }
+      // return a new Processor containing the subwalks for each
+      // child entry, and a set of matches, and
+      // a hasWalkedCache that's a copy of this one
+      // then we're going to call
+      filterEntries(parent, entries) {
+        const patterns = this.subwalks.get(parent);
+        const results = this.child();
+        for (const e of entries) {
+          for (const pattern of patterns) {
+            const absolute = pattern.isAbsolute();
+            const p = pattern.pattern();
+            const rest = pattern.rest();
+            if (p === minimatch_1.GLOBSTAR) {
+              results.testGlobstar(e, pattern, rest, absolute);
+            } else if (p instanceof RegExp) {
+              results.testRegExp(e, p, rest, absolute);
+            } else {
+              results.testString(e, p, rest, absolute);
+            }
+          }
         }
-        function iteratorCallback(err, value) {
-          if (err === false) {
-            canceled = true;
+        return results;
+      }
+      testGlobstar(e, pattern, rest, absolute) {
+        if (this.dot || !e.name.startsWith(".")) {
+          if (!pattern.hasMore()) {
+            this.matches.add(e, absolute, false);
           }
-          if (canceled === true) return;
-          if (err) {
-            callback(err);
-          } else if (++completed === length || value === breakLoop) {
-            callback(null);
+          if (e.canReaddir()) {
+            if (this.follow || !e.isSymbolicLink()) {
+              this.subwalks.add(e, pattern);
+            } else if (e.isSymbolicLink()) {
+              if (rest && pattern.checkFollowGlobstar()) {
+                this.subwalks.add(e, rest);
+              } else if (pattern.markFollowGlobstar()) {
+                this.subwalks.add(e, pattern);
+              }
+            }
           }
         }
-        for (; index2 < length; index2++) {
-          iteratee(coll[index2], index2, onlyOnce(iteratorCallback));
+        if (rest) {
+          const rp = rest.pattern();
+          if (typeof rp === "string" && // dots and empty were handled already
+          rp !== ".." && rp !== "" && rp !== ".") {
+            this.testString(e, rp, rest.rest(), absolute);
+          } else if (rp === "..") {
+            const ep = e.parent || e;
+            this.subwalks.add(ep, rest);
+          } else if (rp instanceof RegExp) {
+            this.testRegExp(e, rp, rest.rest(), absolute);
+          }
         }
       }
-      function eachOfGeneric(coll, iteratee, callback) {
-        return eachOfLimit$1(coll, Infinity, iteratee, callback);
-      }
-      function eachOf(coll, iteratee, callback) {
-        var eachOfImplementation = isArrayLike(coll) ? eachOfArrayLike : eachOfGeneric;
-        return eachOfImplementation(coll, wrapAsync(iteratee), callback);
-      }
-      var eachOf$1 = awaitify(eachOf, 3);
-      function map2(coll, iteratee, callback) {
-        return _asyncMap(eachOf$1, coll, iteratee, callback);
-      }
-      var map$1 = awaitify(map2, 3);
-      var applyEach = applyEach$1(map$1);
-      function eachOfSeries(coll, iteratee, callback) {
-        return eachOfLimit$1(coll, 1, iteratee, callback);
-      }
-      var eachOfSeries$1 = awaitify(eachOfSeries, 3);
-      function mapSeries(coll, iteratee, callback) {
-        return _asyncMap(eachOfSeries$1, coll, iteratee, callback);
-      }
-      var mapSeries$1 = awaitify(mapSeries, 3);
-      var applyEachSeries = applyEach$1(mapSeries$1);
-      const PROMISE_SYMBOL = /* @__PURE__ */ Symbol("promiseCallback");
-      function promiseCallback() {
-        let resolve8, reject2;
-        function callback(err, ...args) {
-          if (err) return reject2(err);
-          resolve8(args.length > 1 ? args : args[0]);
+      testRegExp(e, p, rest, absolute) {
+        if (!p.test(e.name))
+          return;
+        if (!rest) {
+          this.matches.add(e, absolute, false);
+        } else {
+          this.subwalks.add(e, rest);
         }
-        callback[PROMISE_SYMBOL] = new Promise((res, rej) => {
-          resolve8 = res, reject2 = rej;
-        });
-        return callback;
       }
-      function auto(tasks, concurrency, callback) {
-        if (typeof concurrency !== "number") {
-          callback = concurrency;
-          concurrency = null;
-        }
-        callback = once(callback || promiseCallback());
-        var numTasks = Object.keys(tasks).length;
-        if (!numTasks) {
-          return callback(null);
-        }
-        if (!concurrency) {
-          concurrency = numTasks;
+      testString(e, p, rest, absolute) {
+        if (!e.isNamed(p))
+          return;
+        if (!rest) {
+          this.matches.add(e, absolute, false);
+        } else {
+          this.subwalks.add(e, rest);
         }
-        var results = {};
-        var runningTasks = 0;
-        var canceled = false;
-        var hasError = false;
-        var listeners = /* @__PURE__ */ Object.create(null);
-        var readyTasks = [];
-        var readyToCheck = [];
-        var uncheckedDependencies = {};
-        Object.keys(tasks).forEach((key) => {
-          var task = tasks[key];
-          if (!Array.isArray(task)) {
-            enqueueTask(key, [task]);
-            readyToCheck.push(key);
-            return;
-          }
-          var dependencies = task.slice(0, task.length - 1);
-          var remainingDependencies = dependencies.length;
-          if (remainingDependencies === 0) {
-            enqueueTask(key, task);
-            readyToCheck.push(key);
-            return;
+      }
+    };
+    exports2.Processor = Processor;
+  }
+});
+
+// node_modules/glob/dist/commonjs/walker.js
+var require_walker = __commonJS({
+  "node_modules/glob/dist/commonjs/walker.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.GlobStream = exports2.GlobWalker = exports2.GlobUtil = void 0;
+    var minipass_1 = require_commonjs22();
+    var ignore_js_1 = require_ignore();
+    var processor_js_1 = require_processor();
+    var makeIgnore = (ignore, opts) => typeof ignore === "string" ? new ignore_js_1.Ignore([ignore], opts) : Array.isArray(ignore) ? new ignore_js_1.Ignore(ignore, opts) : ignore;
+    var GlobUtil = class {
+      path;
+      patterns;
+      opts;
+      seen = /* @__PURE__ */ new Set();
+      paused = false;
+      aborted = false;
+      #onResume = [];
+      #ignore;
+      #sep;
+      signal;
+      maxDepth;
+      includeChildMatches;
+      constructor(patterns, path16, opts) {
+        this.patterns = patterns;
+        this.path = path16;
+        this.opts = opts;
+        this.#sep = !opts.posix && opts.platform === "win32" ? "\\" : "/";
+        this.includeChildMatches = opts.includeChildMatches !== false;
+        if (opts.ignore || !this.includeChildMatches) {
+          this.#ignore = makeIgnore(opts.ignore ?? [], opts);
+          if (!this.includeChildMatches && typeof this.#ignore.add !== "function") {
+            const m = "cannot ignore child matches, ignore lacks add() method.";
+            throw new Error(m);
           }
-          uncheckedDependencies[key] = remainingDependencies;
-          dependencies.forEach((dependencyName) => {
-            if (!tasks[dependencyName]) {
-              throw new Error("async.auto task `" + key + "` has a non-existent dependency `" + dependencyName + "` in " + dependencies.join(", "));
-            }
-            addListener(dependencyName, () => {
-              remainingDependencies--;
-              if (remainingDependencies === 0) {
-                enqueueTask(key, task);
-              }
-            });
-          });
-        });
-        checkForDeadlocks();
-        processQueue();
-        function enqueueTask(key, task) {
-          readyTasks.push(() => runTask(key, task));
         }
-        function processQueue() {
-          if (canceled) return;
-          if (readyTasks.length === 0 && runningTasks === 0) {
-            return callback(null, results);
-          }
-          while (readyTasks.length && runningTasks < concurrency) {
-            var run3 = readyTasks.shift();
-            run3();
-          }
+        this.maxDepth = opts.maxDepth || Infinity;
+        if (opts.signal) {
+          this.signal = opts.signal;
+          this.signal.addEventListener("abort", () => {
+            this.#onResume.length = 0;
+          });
         }
-        function addListener(taskName, fn) {
-          var taskListeners = listeners[taskName];
-          if (!taskListeners) {
-            taskListeners = listeners[taskName] = [];
-          }
-          taskListeners.push(fn);
+      }
+      #ignored(path16) {
+        return this.seen.has(path16) || !!this.#ignore?.ignored?.(path16);
+      }
+      #childrenIgnored(path16) {
+        return !!this.#ignore?.childrenIgnored?.(path16);
+      }
+      // backpressure mechanism
+      pause() {
+        this.paused = true;
+      }
+      resume() {
+        if (this.signal?.aborted)
+          return;
+        this.paused = false;
+        let fn = void 0;
+        while (!this.paused && (fn = this.#onResume.shift())) {
+          fn();
         }
-        function taskComplete(taskName) {
-          var taskListeners = listeners[taskName] || [];
-          taskListeners.forEach((fn) => fn());
-          processQueue();
+      }
+      onResume(fn) {
+        if (this.signal?.aborted)
+          return;
+        if (!this.paused) {
+          fn();
+        } else {
+          this.#onResume.push(fn);
         }
-        function runTask(key, task) {
-          if (hasError) return;
-          var taskCallback = onlyOnce((err, ...result) => {
-            runningTasks--;
-            if (err === false) {
-              canceled = true;
-              return;
-            }
-            if (result.length < 2) {
-              [result] = result;
-            }
-            if (err) {
-              var safeResults = {};
-              Object.keys(results).forEach((rkey) => {
-                safeResults[rkey] = results[rkey];
-              });
-              safeResults[key] = result;
-              hasError = true;
-              listeners = /* @__PURE__ */ Object.create(null);
-              if (canceled) return;
-              callback(err, safeResults);
-            } else {
-              results[key] = result;
-              taskComplete(key);
-            }
-          });
-          runningTasks++;
-          var taskFn = wrapAsync(task[task.length - 1]);
-          if (task.length > 1) {
-            taskFn(results, taskCallback);
-          } else {
-            taskFn(taskCallback);
-          }
+      }
+      // do the requisite realpath/stat checking, and return the path
+      // to add or undefined to filter it out.
+      async matchCheck(e, ifDir) {
+        if (ifDir && this.opts.nodir)
+          return void 0;
+        let rpc;
+        if (this.opts.realpath) {
+          rpc = e.realpathCached() || await e.realpath();
+          if (!rpc)
+            return void 0;
+          e = rpc;
         }
-        function checkForDeadlocks() {
-          var currentTask;
-          var counter = 0;
-          while (readyToCheck.length) {
-            currentTask = readyToCheck.pop();
-            counter++;
-            getDependents(currentTask).forEach((dependent) => {
-              if (--uncheckedDependencies[dependent] === 0) {
-                readyToCheck.push(dependent);
-              }
-            });
-          }
-          if (counter !== numTasks) {
-            throw new Error(
-              "async.auto cannot execute tasks due to a recursive dependency"
-            );
+        const needStat = e.isUnknown() || this.opts.stat;
+        const s = needStat ? await e.lstat() : e;
+        if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) {
+          const target = await s.realpath();
+          if (target && (target.isUnknown() || this.opts.stat)) {
+            await target.lstat();
           }
         }
-        function getDependents(taskName) {
-          var result = [];
-          Object.keys(tasks).forEach((key) => {
-            const task = tasks[key];
-            if (Array.isArray(task) && task.indexOf(taskName) >= 0) {
-              result.push(key);
-            }
-          });
-          return result;
-        }
-        return callback[PROMISE_SYMBOL];
+        return this.matchCheckTest(s, ifDir);
       }
-      var FN_ARGS = /^(?:async\s)?(?:function)?\s*(?:\w+\s*)?\(([^)]+)\)(?:\s*{)/;
-      var ARROW_FN_ARGS = /^(?:async\s)?\s*(?:\(\s*)?((?:[^)=\s]\s*)*)(?:\)\s*)?=>/;
-      var FN_ARG_SPLIT = /,/;
-      var FN_ARG = /(=.+)?(\s*)$/;
-      function stripComments(string) {
-        let stripped = "";
-        let index2 = 0;
-        let endBlockComment = string.indexOf("*/");
-        while (index2 < string.length) {
-          if (string[index2] === "/" && string[index2 + 1] === "/") {
-            let endIndex = string.indexOf("\n", index2);
-            index2 = endIndex === -1 ? string.length : endIndex;
-          } else if (endBlockComment !== -1 && string[index2] === "/" && string[index2 + 1] === "*") {
-            let endIndex = string.indexOf("*/", index2);
-            if (endIndex !== -1) {
-              index2 = endIndex + 2;
-              endBlockComment = string.indexOf("*/", index2);
-            } else {
-              stripped += string[index2];
-              index2++;
-            }
-          } else {
-            stripped += string[index2];
-            index2++;
+      matchCheckTest(e, ifDir) {
+        return e && (this.maxDepth === Infinity || e.depth() <= this.maxDepth) && (!ifDir || e.canReaddir()) && (!this.opts.nodir || !e.isDirectory()) && (!this.opts.nodir || !this.opts.follow || !e.isSymbolicLink() || !e.realpathCached()?.isDirectory()) && !this.#ignored(e) ? e : void 0;
+      }
+      matchCheckSync(e, ifDir) {
+        if (ifDir && this.opts.nodir)
+          return void 0;
+        let rpc;
+        if (this.opts.realpath) {
+          rpc = e.realpathCached() || e.realpathSync();
+          if (!rpc)
+            return void 0;
+          e = rpc;
+        }
+        const needStat = e.isUnknown() || this.opts.stat;
+        const s = needStat ? e.lstatSync() : e;
+        if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) {
+          const target = s.realpathSync();
+          if (target && (target?.isUnknown() || this.opts.stat)) {
+            target.lstatSync();
           }
         }
-        return stripped;
+        return this.matchCheckTest(s, ifDir);
       }
-      function parseParams(func) {
-        const src = stripComments(func.toString());
-        let match = src.match(FN_ARGS);
-        if (!match) {
-          match = src.match(ARROW_FN_ARGS);
+      matchFinish(e, absolute) {
+        if (this.#ignored(e))
+          return;
+        if (!this.includeChildMatches && this.#ignore?.add) {
+          const ign = `${e.relativePosix()}/**`;
+          this.#ignore.add(ign);
+        }
+        const abs = this.opts.absolute === void 0 ? absolute : this.opts.absolute;
+        this.seen.add(e);
+        const mark = this.opts.mark && e.isDirectory() ? this.#sep : "";
+        if (this.opts.withFileTypes) {
+          this.matchEmit(e);
+        } else if (abs) {
+          const abs2 = this.opts.posix ? e.fullpathPosix() : e.fullpath();
+          this.matchEmit(abs2 + mark);
+        } else {
+          const rel = this.opts.posix ? e.relativePosix() : e.relative();
+          const pre = this.opts.dotRelative && !rel.startsWith(".." + this.#sep) ? "." + this.#sep : "";
+          this.matchEmit(!rel ? "." + mark : pre + rel + mark);
         }
-        if (!match) throw new Error("could not parse args in autoInject\nSource:\n" + src);
-        let [, args] = match;
-        return args.replace(/\s/g, "").split(FN_ARG_SPLIT).map((arg) => arg.replace(FN_ARG, "").trim());
       }
-      function autoInject(tasks, callback) {
-        var newTasks = {};
-        Object.keys(tasks).forEach((key) => {
-          var taskFn = tasks[key];
-          var params;
-          var fnIsAsync = isAsync(taskFn);
-          var hasNoDeps = !fnIsAsync && taskFn.length === 1 || fnIsAsync && taskFn.length === 0;
-          if (Array.isArray(taskFn)) {
-            params = [...taskFn];
-            taskFn = params.pop();
-            newTasks[key] = params.concat(params.length > 0 ? newTask : taskFn);
-          } else if (hasNoDeps) {
-            newTasks[key] = taskFn;
-          } else {
-            params = parseParams(taskFn);
-            if (taskFn.length === 0 && !fnIsAsync && params.length === 0) {
-              throw new Error("autoInject task functions require explicit parameters.");
-            }
-            if (!fnIsAsync) params.pop();
-            newTasks[key] = params.concat(newTask);
-          }
-          function newTask(results, taskCb) {
-            var newArgs = params.map((name) => results[name]);
-            newArgs.push(taskCb);
-            wrapAsync(taskFn)(...newArgs);
-          }
-        });
-        return auto(newTasks, callback);
+      async match(e, absolute, ifDir) {
+        const p = await this.matchCheck(e, ifDir);
+        if (p)
+          this.matchFinish(p, absolute);
       }
-      class DLL {
-        constructor() {
-          this.head = this.tail = null;
-          this.length = 0;
+      matchSync(e, absolute, ifDir) {
+        const p = this.matchCheckSync(e, ifDir);
+        if (p)
+          this.matchFinish(p, absolute);
+      }
+      walkCB(target, patterns, cb) {
+        if (this.signal?.aborted)
+          cb();
+        this.walkCB2(target, patterns, new processor_js_1.Processor(this.opts), cb);
+      }
+      walkCB2(target, patterns, processor, cb) {
+        if (this.#childrenIgnored(target))
+          return cb();
+        if (this.signal?.aborted)
+          cb();
+        if (this.paused) {
+          this.onResume(() => this.walkCB2(target, patterns, processor, cb));
+          return;
         }
-        removeLink(node) {
-          if (node.prev) node.prev.next = node.next;
-          else this.head = node.next;
-          if (node.next) node.next.prev = node.prev;
-          else this.tail = node.prev;
-          node.prev = node.next = null;
-          this.length -= 1;
-          return node;
+        processor.processPatterns(target, patterns);
+        let tasks = 1;
+        const next = () => {
+          if (--tasks === 0)
+            cb();
+        };
+        for (const [m, absolute, ifDir] of processor.matches.entries()) {
+          if (this.#ignored(m))
+            continue;
+          tasks++;
+          this.match(m, absolute, ifDir).then(() => next());
         }
-        empty() {
-          while (this.head) this.shift();
-          return this;
+        for (const t of processor.subwalkTargets()) {
+          if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {
+            continue;
+          }
+          tasks++;
+          const childrenCached = t.readdirCached();
+          if (t.calledReaddir())
+            this.walkCB3(t, childrenCached, processor, next);
+          else {
+            t.readdirCB((_2, entries) => this.walkCB3(t, entries, processor, next), true);
+          }
         }
-        insertAfter(node, newNode) {
-          newNode.prev = node;
-          newNode.next = node.next;
-          if (node.next) node.next.prev = newNode;
-          else this.tail = newNode;
-          node.next = newNode;
-          this.length += 1;
+        next();
+      }
+      walkCB3(target, entries, processor, cb) {
+        processor = processor.filterEntries(target, entries);
+        let tasks = 1;
+        const next = () => {
+          if (--tasks === 0)
+            cb();
+        };
+        for (const [m, absolute, ifDir] of processor.matches.entries()) {
+          if (this.#ignored(m))
+            continue;
+          tasks++;
+          this.match(m, absolute, ifDir).then(() => next());
         }
-        insertBefore(node, newNode) {
-          newNode.prev = node.prev;
-          newNode.next = node;
-          if (node.prev) node.prev.next = newNode;
-          else this.head = newNode;
-          node.prev = newNode;
-          this.length += 1;
+        for (const [target2, patterns] of processor.subwalks.entries()) {
+          tasks++;
+          this.walkCB2(target2, patterns, processor.child(), next);
         }
-        unshift(node) {
-          if (this.head) this.insertBefore(this.head, node);
-          else setInitial(this, node);
+        next();
+      }
+      walkCBSync(target, patterns, cb) {
+        if (this.signal?.aborted)
+          cb();
+        this.walkCB2Sync(target, patterns, new processor_js_1.Processor(this.opts), cb);
+      }
+      walkCB2Sync(target, patterns, processor, cb) {
+        if (this.#childrenIgnored(target))
+          return cb();
+        if (this.signal?.aborted)
+          cb();
+        if (this.paused) {
+          this.onResume(() => this.walkCB2Sync(target, patterns, processor, cb));
+          return;
         }
-        push(node) {
-          if (this.tail) this.insertAfter(this.tail, node);
-          else setInitial(this, node);
+        processor.processPatterns(target, patterns);
+        let tasks = 1;
+        const next = () => {
+          if (--tasks === 0)
+            cb();
+        };
+        for (const [m, absolute, ifDir] of processor.matches.entries()) {
+          if (this.#ignored(m))
+            continue;
+          this.matchSync(m, absolute, ifDir);
         }
-        shift() {
-          return this.head && this.removeLink(this.head);
+        for (const t of processor.subwalkTargets()) {
+          if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {
+            continue;
+          }
+          tasks++;
+          const children = t.readdirSync();
+          this.walkCB3Sync(t, children, processor, next);
         }
-        pop() {
-          return this.tail && this.removeLink(this.tail);
+        next();
+      }
+      walkCB3Sync(target, entries, processor, cb) {
+        processor = processor.filterEntries(target, entries);
+        let tasks = 1;
+        const next = () => {
+          if (--tasks === 0)
+            cb();
+        };
+        for (const [m, absolute, ifDir] of processor.matches.entries()) {
+          if (this.#ignored(m))
+            continue;
+          this.matchSync(m, absolute, ifDir);
         }
-        toArray() {
-          return [...this];
+        for (const [target2, patterns] of processor.subwalks.entries()) {
+          tasks++;
+          this.walkCB2Sync(target2, patterns, processor.child(), next);
         }
-        *[Symbol.iterator]() {
-          var cur = this.head;
-          while (cur) {
-            yield cur.data;
-            cur = cur.next;
-          }
+        next();
+      }
+    };
+    exports2.GlobUtil = GlobUtil;
+    var GlobWalker = class extends GlobUtil {
+      matches = /* @__PURE__ */ new Set();
+      constructor(patterns, path16, opts) {
+        super(patterns, path16, opts);
+      }
+      matchEmit(e) {
+        this.matches.add(e);
+      }
+      async walk() {
+        if (this.signal?.aborted)
+          throw this.signal.reason;
+        if (this.path.isUnknown()) {
+          await this.path.lstat();
         }
-        remove(testFn) {
-          var curr = this.head;
-          while (curr) {
-            var { next } = curr;
-            if (testFn(curr)) {
-              this.removeLink(curr);
+        await new Promise((res, rej) => {
+          this.walkCB(this.path, this.patterns, () => {
+            if (this.signal?.aborted) {
+              rej(this.signal.reason);
+            } else {
+              res(this.matches);
             }
-            curr = next;
-          }
-          return this;
+          });
+        });
+        return this.matches;
+      }
+      walkSync() {
+        if (this.signal?.aborted)
+          throw this.signal.reason;
+        if (this.path.isUnknown()) {
+          this.path.lstatSync();
         }
+        this.walkCBSync(this.path, this.patterns, () => {
+          if (this.signal?.aborted)
+            throw this.signal.reason;
+        });
+        return this.matches;
       }
-      function setInitial(dll, node) {
-        dll.length = 1;
-        dll.head = dll.tail = node;
+    };
+    exports2.GlobWalker = GlobWalker;
+    var GlobStream = class extends GlobUtil {
+      results;
+      constructor(patterns, path16, opts) {
+        super(patterns, path16, opts);
+        this.results = new minipass_1.Minipass({
+          signal: this.signal,
+          objectMode: true
+        });
+        this.results.on("drain", () => this.resume());
+        this.results.on("resume", () => this.resume());
       }
-      function queue$1(worker, concurrency, payload) {
-        if (concurrency == null) {
-          concurrency = 1;
-        } else if (concurrency === 0) {
-          throw new RangeError("Concurrency must not be zero");
-        }
-        var _worker = wrapAsync(worker);
-        var numRunning = 0;
-        var workersList = [];
-        const events = {
-          error: [],
-          drain: [],
-          saturated: [],
-          unsaturated: [],
-          empty: []
-        };
-        function on(event, handler2) {
-          events[event].push(handler2);
+      matchEmit(e) {
+        this.results.write(e);
+        if (!this.results.flowing)
+          this.pause();
+      }
+      stream() {
+        const target = this.path;
+        if (target.isUnknown()) {
+          target.lstat().then(() => {
+            this.walkCB(target, this.patterns, () => this.results.end());
+          });
+        } else {
+          this.walkCB(target, this.patterns, () => this.results.end());
         }
-        function once2(event, handler2) {
-          const handleAndRemove = (...args) => {
-            off(event, handleAndRemove);
-            handler2(...args);
-          };
-          events[event].push(handleAndRemove);
+        return this.results;
+      }
+      streamSync() {
+        if (this.path.isUnknown()) {
+          this.path.lstatSync();
         }
-        function off(event, handler2) {
-          if (!event) return Object.keys(events).forEach((ev) => events[ev] = []);
-          if (!handler2) return events[event] = [];
-          events[event] = events[event].filter((ev) => ev !== handler2);
+        this.walkCBSync(this.path, this.patterns, () => this.results.end());
+        return this.results;
+      }
+    };
+    exports2.GlobStream = GlobStream;
+  }
+});
+
+// node_modules/glob/dist/commonjs/glob.js
+var require_glob2 = __commonJS({
+  "node_modules/glob/dist/commonjs/glob.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Glob = void 0;
+    var minimatch_1 = require_commonjs20();
+    var node_url_1 = require("node:url");
+    var path_scurry_1 = require_commonjs23();
+    var pattern_js_1 = require_pattern();
+    var walker_js_1 = require_walker();
+    var defaultPlatform = typeof process === "object" && process && typeof process.platform === "string" ? process.platform : "linux";
+    var Glob = class {
+      absolute;
+      cwd;
+      root;
+      dot;
+      dotRelative;
+      follow;
+      ignore;
+      magicalBraces;
+      mark;
+      matchBase;
+      maxDepth;
+      nobrace;
+      nocase;
+      nodir;
+      noext;
+      noglobstar;
+      pattern;
+      platform;
+      realpath;
+      scurry;
+      stat;
+      signal;
+      windowsPathsNoEscape;
+      withFileTypes;
+      includeChildMatches;
+      /**
+       * The options provided to the constructor.
+       */
+      opts;
+      /**
+       * An array of parsed immutable {@link Pattern} objects.
+       */
+      patterns;
+      /**
+       * All options are stored as properties on the `Glob` object.
+       *
+       * See {@link GlobOptions} for full options descriptions.
+       *
+       * Note that a previous `Glob` object can be passed as the
+       * `GlobOptions` to another `Glob` instantiation to re-use settings
+       * and caches with a new pattern.
+       *
+       * Traversal functions can be called multiple times to run the walk
+       * again.
+       */
+      constructor(pattern, opts) {
+        if (!opts)
+          throw new TypeError("glob options required");
+        this.withFileTypes = !!opts.withFileTypes;
+        this.signal = opts.signal;
+        this.follow = !!opts.follow;
+        this.dot = !!opts.dot;
+        this.dotRelative = !!opts.dotRelative;
+        this.nodir = !!opts.nodir;
+        this.mark = !!opts.mark;
+        if (!opts.cwd) {
+          this.cwd = "";
+        } else if (opts.cwd instanceof URL || opts.cwd.startsWith("file://")) {
+          opts.cwd = (0, node_url_1.fileURLToPath)(opts.cwd);
         }
-        function trigger(event, ...args) {
-          events[event].forEach((handler2) => handler2(...args));
+        this.cwd = opts.cwd || "";
+        this.root = opts.root;
+        this.magicalBraces = !!opts.magicalBraces;
+        this.nobrace = !!opts.nobrace;
+        this.noext = !!opts.noext;
+        this.realpath = !!opts.realpath;
+        this.absolute = opts.absolute;
+        this.includeChildMatches = opts.includeChildMatches !== false;
+        this.noglobstar = !!opts.noglobstar;
+        this.matchBase = !!opts.matchBase;
+        this.maxDepth = typeof opts.maxDepth === "number" ? opts.maxDepth : Infinity;
+        this.stat = !!opts.stat;
+        this.ignore = opts.ignore;
+        if (this.withFileTypes && this.absolute !== void 0) {
+          throw new Error("cannot set absolute and withFileTypes:true");
         }
-        var processingScheduled = false;
-        function _insert(data, insertAtFront, rejectOnError, callback) {
-          if (callback != null && typeof callback !== "function") {
-            throw new Error("task callback must be a function");
-          }
-          q.started = true;
-          var res, rej;
-          function promiseCallback2(err, ...args) {
-            if (err) return rejectOnError ? rej(err) : res();
-            if (args.length <= 1) return res(args[0]);
-            res(args);
-          }
-          var item = q._createTaskItem(
-            data,
-            rejectOnError ? promiseCallback2 : callback || promiseCallback2
-          );
-          if (insertAtFront) {
-            q._tasks.unshift(item);
-          } else {
-            q._tasks.push(item);
-          }
-          if (!processingScheduled) {
-            processingScheduled = true;
-            setImmediate$1(() => {
-              processingScheduled = false;
-              q.process();
-            });
-          }
-          if (rejectOnError || !callback) {
-            return new Promise((resolve8, reject2) => {
-              res = resolve8;
-              rej = reject2;
-            });
-          }
+        if (typeof pattern === "string") {
+          pattern = [pattern];
         }
-        function _createCB(tasks) {
-          return function(err, ...args) {
-            numRunning -= 1;
-            for (var i = 0, l = tasks.length; i < l; i++) {
-              var task = tasks[i];
-              var index2 = workersList.indexOf(task);
-              if (index2 === 0) {
-                workersList.shift();
-              } else if (index2 > 0) {
-                workersList.splice(index2, 1);
-              }
-              task.callback(err, ...args);
-              if (err != null) {
-                trigger("error", err, task.data);
-              }
-            }
-            if (numRunning <= q.concurrency - q.buffer) {
-              trigger("unsaturated");
-            }
-            if (q.idle()) {
-              trigger("drain");
-            }
-            q.process();
-          };
+        this.windowsPathsNoEscape = !!opts.windowsPathsNoEscape || opts.allowWindowsEscape === false;
+        if (this.windowsPathsNoEscape) {
+          pattern = pattern.map((p) => p.replace(/\\/g, "/"));
         }
-        function _maybeDrain(data) {
-          if (data.length === 0 && q.idle()) {
-            setImmediate$1(() => trigger("drain"));
-            return true;
+        if (this.matchBase) {
+          if (opts.noglobstar) {
+            throw new TypeError("base matching requires globstar");
           }
-          return false;
+          pattern = pattern.map((p) => p.includes("/") ? p : `./**/${p}`);
         }
-        const eventMethod = (name) => (handler2) => {
-          if (!handler2) {
-            return new Promise((resolve8, reject2) => {
-              once2(name, (err, data) => {
-                if (err) return reject2(err);
-                resolve8(data);
-              });
-            });
-          }
-          off(name);
-          on(name, handler2);
-        };
-        var isProcessing = false;
-        var q = {
-          _tasks: new DLL(),
-          _createTaskItem(data, callback) {
-            return {
-              data,
-              callback
-            };
-          },
-          *[Symbol.iterator]() {
-            yield* q._tasks[Symbol.iterator]();
-          },
-          concurrency,
-          payload,
-          buffer: concurrency / 4,
-          started: false,
-          paused: false,
-          push(data, callback) {
-            if (Array.isArray(data)) {
-              if (_maybeDrain(data)) return;
-              return data.map((datum) => _insert(datum, false, false, callback));
-            }
-            return _insert(data, false, false, callback);
-          },
-          pushAsync(data, callback) {
-            if (Array.isArray(data)) {
-              if (_maybeDrain(data)) return;
-              return data.map((datum) => _insert(datum, false, true, callback));
-            }
-            return _insert(data, false, true, callback);
-          },
-          kill() {
-            off();
-            q._tasks.empty();
-          },
-          unshift(data, callback) {
-            if (Array.isArray(data)) {
-              if (_maybeDrain(data)) return;
-              return data.map((datum) => _insert(datum, true, false, callback));
-            }
-            return _insert(data, true, false, callback);
-          },
-          unshiftAsync(data, callback) {
-            if (Array.isArray(data)) {
-              if (_maybeDrain(data)) return;
-              return data.map((datum) => _insert(datum, true, true, callback));
-            }
-            return _insert(data, true, true, callback);
-          },
-          remove(testFn) {
-            q._tasks.remove(testFn);
-          },
-          process() {
-            if (isProcessing) {
-              return;
-            }
-            isProcessing = true;
-            while (!q.paused && numRunning < q.concurrency && q._tasks.length) {
-              var tasks = [], data = [];
-              var l = q._tasks.length;
-              if (q.payload) l = Math.min(l, q.payload);
-              for (var i = 0; i < l; i++) {
-                var node = q._tasks.shift();
-                tasks.push(node);
-                workersList.push(node);
-                data.push(node.data);
-              }
-              numRunning += 1;
-              if (q._tasks.length === 0) {
-                trigger("empty");
-              }
-              if (numRunning === q.concurrency) {
-                trigger("saturated");
-              }
-              var cb = onlyOnce(_createCB(tasks));
-              _worker(data, cb);
-            }
-            isProcessing = false;
-          },
-          length() {
-            return q._tasks.length;
-          },
-          running() {
-            return numRunning;
-          },
-          workersList() {
-            return workersList;
-          },
-          idle() {
-            return q._tasks.length + numRunning === 0;
-          },
-          pause() {
-            q.paused = true;
-          },
-          resume() {
-            if (q.paused === false) {
-              return;
-            }
-            q.paused = false;
-            setImmediate$1(q.process);
+        this.pattern = pattern;
+        this.platform = opts.platform || defaultPlatform;
+        this.opts = { ...opts, platform: this.platform };
+        if (opts.scurry) {
+          this.scurry = opts.scurry;
+          if (opts.nocase !== void 0 && opts.nocase !== opts.scurry.nocase) {
+            throw new Error("nocase option contradicts provided scurry option");
           }
+        } else {
+          const Scurry = opts.platform === "win32" ? path_scurry_1.PathScurryWin32 : opts.platform === "darwin" ? path_scurry_1.PathScurryDarwin : opts.platform ? path_scurry_1.PathScurryPosix : path_scurry_1.PathScurry;
+          this.scurry = new Scurry(this.cwd, {
+            nocase: opts.nocase,
+            fs: opts.fs
+          });
+        }
+        this.nocase = this.scurry.nocase;
+        const nocaseMagicOnly = this.platform === "darwin" || this.platform === "win32";
+        const mmo = {
+          // default nocase based on platform
+          ...opts,
+          dot: this.dot,
+          matchBase: this.matchBase,
+          nobrace: this.nobrace,
+          nocase: this.nocase,
+          nocaseMagicOnly,
+          nocomment: true,
+          noext: this.noext,
+          nonegate: true,
+          optimizationLevel: 2,
+          platform: this.platform,
+          windowsPathsNoEscape: this.windowsPathsNoEscape,
+          debug: !!this.opts.debug
         };
-        Object.defineProperties(q, {
-          saturated: {
-            writable: false,
-            value: eventMethod("saturated")
-          },
-          unsaturated: {
-            writable: false,
-            value: eventMethod("unsaturated")
-          },
-          empty: {
-            writable: false,
-            value: eventMethod("empty")
-          },
-          drain: {
-            writable: false,
-            value: eventMethod("drain")
-          },
-          error: {
-            writable: false,
-            value: eventMethod("error")
-          }
+        const mms = this.pattern.map((p) => new minimatch_1.Minimatch(p, mmo));
+        const [matchSet, globParts] = mms.reduce((set2, m) => {
+          set2[0].push(...m.set);
+          set2[1].push(...m.globParts);
+          return set2;
+        }, [[], []]);
+        this.patterns = matchSet.map((set2, i) => {
+          const g = globParts[i];
+          if (!g)
+            throw new Error("invalid pattern object");
+          return new pattern_js_1.Pattern(set2, g, 0, this.platform);
         });
-        return q;
       }
-      function cargo$1(worker, payload) {
-        return queue$1(worker, 1, payload);
+      async walk() {
+        return [
+          ...await new walker_js_1.GlobWalker(this.patterns, this.scurry.cwd, {
+            ...this.opts,
+            maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
+            platform: this.platform,
+            nocase: this.nocase,
+            includeChildMatches: this.includeChildMatches
+          }).walk()
+        ];
       }
-      function cargo(worker, concurrency, payload) {
-        return queue$1(worker, concurrency, payload);
+      walkSync() {
+        return [
+          ...new walker_js_1.GlobWalker(this.patterns, this.scurry.cwd, {
+            ...this.opts,
+            maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
+            platform: this.platform,
+            nocase: this.nocase,
+            includeChildMatches: this.includeChildMatches
+          }).walkSync()
+        ];
       }
-      function reduce(coll, memo, iteratee, callback) {
-        callback = once(callback);
-        var _iteratee = wrapAsync(iteratee);
-        return eachOfSeries$1(coll, (x, i, iterCb) => {
-          _iteratee(memo, x, (err, v) => {
-            memo = v;
-            iterCb(err);
-          });
-        }, (err) => callback(err, memo));
+      stream() {
+        return new walker_js_1.GlobStream(this.patterns, this.scurry.cwd, {
+          ...this.opts,
+          maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
+          platform: this.platform,
+          nocase: this.nocase,
+          includeChildMatches: this.includeChildMatches
+        }).stream();
       }
-      var reduce$1 = awaitify(reduce, 4);
-      function seq2(...functions) {
-        var _functions = functions.map(wrapAsync);
-        return function(...args) {
-          var that = this;
-          var cb = args[args.length - 1];
-          if (typeof cb == "function") {
-            args.pop();
-          } else {
-            cb = promiseCallback();
-          }
-          reduce$1(
-            _functions,
-            args,
-            (newargs, fn, iterCb) => {
-              fn.apply(that, newargs.concat((err, ...nextargs) => {
-                iterCb(err, nextargs);
-              }));
-            },
-            (err, results) => cb(err, ...results)
-          );
-          return cb[PROMISE_SYMBOL];
-        };
+      streamSync() {
+        return new walker_js_1.GlobStream(this.patterns, this.scurry.cwd, {
+          ...this.opts,
+          maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
+          platform: this.platform,
+          nocase: this.nocase,
+          includeChildMatches: this.includeChildMatches
+        }).streamSync();
       }
-      function compose(...args) {
-        return seq2(...args.reverse());
+      /**
+       * Default sync iteration function. Returns a Generator that
+       * iterates over the results.
+       */
+      iterateSync() {
+        return this.streamSync()[Symbol.iterator]();
       }
-      function mapLimit(coll, limit, iteratee, callback) {
-        return _asyncMap(eachOfLimit$2(limit), coll, iteratee, callback);
+      [Symbol.iterator]() {
+        return this.iterateSync();
+      }
+      /**
+       * Default async iteration function. Returns an AsyncGenerator that
+       * iterates over the results.
+       */
+      iterate() {
+        return this.stream()[Symbol.asyncIterator]();
+      }
+      [Symbol.asyncIterator]() {
+        return this.iterate();
+      }
+    };
+    exports2.Glob = Glob;
+  }
+});
+
+// node_modules/glob/dist/commonjs/has-magic.js
+var require_has_magic = __commonJS({
+  "node_modules/glob/dist/commonjs/has-magic.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.hasMagic = void 0;
+    var minimatch_1 = require_commonjs20();
+    var hasMagic = (pattern, options = {}) => {
+      if (!Array.isArray(pattern)) {
+        pattern = [pattern];
+      }
+      for (const p of pattern) {
+        if (new minimatch_1.Minimatch(p, options).hasMagic())
+          return true;
+      }
+      return false;
+    };
+    exports2.hasMagic = hasMagic;
+  }
+});
+
+// node_modules/glob/dist/commonjs/index.js
+var require_commonjs24 = __commonJS({
+  "node_modules/glob/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.glob = exports2.sync = exports2.iterate = exports2.iterateSync = exports2.stream = exports2.streamSync = exports2.Ignore = exports2.hasMagic = exports2.Glob = exports2.unescape = exports2.escape = void 0;
+    exports2.globStreamSync = globStreamSync;
+    exports2.globStream = globStream;
+    exports2.globSync = globSync;
+    exports2.globIterateSync = globIterateSync;
+    exports2.globIterate = globIterate;
+    var minimatch_1 = require_commonjs20();
+    var glob_js_1 = require_glob2();
+    var has_magic_js_1 = require_has_magic();
+    var minimatch_2 = require_commonjs20();
+    Object.defineProperty(exports2, "escape", { enumerable: true, get: function() {
+      return minimatch_2.escape;
+    } });
+    Object.defineProperty(exports2, "unescape", { enumerable: true, get: function() {
+      return minimatch_2.unescape;
+    } });
+    var glob_js_2 = require_glob2();
+    Object.defineProperty(exports2, "Glob", { enumerable: true, get: function() {
+      return glob_js_2.Glob;
+    } });
+    var has_magic_js_2 = require_has_magic();
+    Object.defineProperty(exports2, "hasMagic", { enumerable: true, get: function() {
+      return has_magic_js_2.hasMagic;
+    } });
+    var ignore_js_1 = require_ignore();
+    Object.defineProperty(exports2, "Ignore", { enumerable: true, get: function() {
+      return ignore_js_1.Ignore;
+    } });
+    function globStreamSync(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).streamSync();
+    }
+    function globStream(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).stream();
+    }
+    function globSync(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).walkSync();
+    }
+    async function glob_(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).walk();
+    }
+    function globIterateSync(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).iterateSync();
+    }
+    function globIterate(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).iterate();
+    }
+    exports2.streamSync = globStreamSync;
+    exports2.stream = Object.assign(globStream, { sync: globStreamSync });
+    exports2.iterateSync = globIterateSync;
+    exports2.iterate = Object.assign(globIterate, {
+      sync: globIterateSync
+    });
+    exports2.sync = Object.assign(globSync, {
+      stream: globStreamSync,
+      iterate: globIterateSync
+    });
+    exports2.glob = Object.assign(glob_, {
+      glob: glob_,
+      globSync,
+      sync: exports2.sync,
+      globStream,
+      stream: exports2.stream,
+      globStreamSync,
+      streamSync: exports2.streamSync,
+      globIterate,
+      iterate: exports2.iterate,
+      globIterateSync,
+      iterateSync: exports2.iterateSync,
+      Glob: glob_js_1.Glob,
+      hasMagic: has_magic_js_1.hasMagic,
+      escape: minimatch_1.escape,
+      unescape: minimatch_1.unescape
+    });
+    exports2.glob.glob = exports2.glob;
+  }
+});
+
+// node_modules/archiver-utils/file.js
+var require_file4 = __commonJS({
+  "node_modules/archiver-utils/file.js"(exports2, module2) {
+    var fs18 = require_graceful_fs();
+    var path16 = require("path");
+    var flatten = require_flatten();
+    var difference = require_difference();
+    var union = require_union();
+    var isPlainObject3 = require_isPlainObject();
+    var glob2 = require_commonjs24();
+    var file = module2.exports = {};
+    var pathSeparatorRe = /[\/\\]/g;
+    var processPatterns = function(patterns, fn) {
+      var result = [];
+      flatten(patterns).forEach(function(pattern) {
+        var exclusion = pattern.indexOf("!") === 0;
+        if (exclusion) {
+          pattern = pattern.slice(1);
+        }
+        var matches = fn(pattern);
+        if (exclusion) {
+          result = difference(result, matches);
+        } else {
+          result = union(result, matches);
+        }
+      });
+      return result;
+    };
+    file.exists = function() {
+      var filepath = path16.join.apply(path16, arguments);
+      return fs18.existsSync(filepath);
+    };
+    file.expand = function(...args) {
+      var options = isPlainObject3(args[0]) ? args.shift() : {};
+      var patterns = Array.isArray(args[0]) ? args[0] : args;
+      if (patterns.length === 0) {
+        return [];
       }
-      var mapLimit$1 = awaitify(mapLimit, 4);
-      function concatLimit(coll, limit, iteratee, callback) {
-        var _iteratee = wrapAsync(iteratee);
-        return mapLimit$1(coll, limit, (val, iterCb) => {
-          _iteratee(val, (err, ...args) => {
-            if (err) return iterCb(err);
-            return iterCb(err, args);
-          });
-        }, (err, mapResults) => {
-          var result = [];
-          for (var i = 0; i < mapResults.length; i++) {
-            if (mapResults[i]) {
-              result = result.concat(...mapResults[i]);
+      var matches = processPatterns(patterns, function(pattern) {
+        return glob2.sync(pattern, options);
+      });
+      if (options.filter) {
+        matches = matches.filter(function(filepath) {
+          filepath = path16.join(options.cwd || "", filepath);
+          try {
+            if (typeof options.filter === "function") {
+              return options.filter(filepath);
+            } else {
+              return fs18.statSync(filepath)[options.filter]();
             }
+          } catch (e) {
+            return false;
           }
-          return callback(err, result);
         });
       }
-      var concatLimit$1 = awaitify(concatLimit, 4);
-      function concat(coll, iteratee, callback) {
-        return concatLimit$1(coll, Infinity, iteratee, callback);
-      }
-      var concat$1 = awaitify(concat, 3);
-      function concatSeries(coll, iteratee, callback) {
-        return concatLimit$1(coll, 1, iteratee, callback);
-      }
-      var concatSeries$1 = awaitify(concatSeries, 3);
-      function constant$1(...args) {
-        return function(...ignoredArgs) {
-          var callback = ignoredArgs.pop();
-          return callback(null, ...args);
-        };
+      return matches;
+    };
+    file.expandMapping = function(patterns, destBase, options) {
+      options = Object.assign({
+        rename: function(destBase2, destPath) {
+          return path16.join(destBase2 || "", destPath);
+        }
+      }, options);
+      var files = [];
+      var fileByDest = {};
+      file.expand(options, patterns).forEach(function(src) {
+        var destPath = src;
+        if (options.flatten) {
+          destPath = path16.basename(destPath);
+        }
+        if (options.ext) {
+          destPath = destPath.replace(/(\.[^\/]*)?$/, options.ext);
+        }
+        var dest = options.rename(destBase, destPath, options);
+        if (options.cwd) {
+          src = path16.join(options.cwd, src);
+        }
+        dest = dest.replace(pathSeparatorRe, "/");
+        src = src.replace(pathSeparatorRe, "/");
+        if (fileByDest[dest]) {
+          fileByDest[dest].src.push(src);
+        } else {
+          files.push({
+            src: [src],
+            dest
+          });
+          fileByDest[dest] = files[files.length - 1];
+        }
+      });
+      return files;
+    };
+    file.normalizeFilesArray = function(data) {
+      var files = [];
+      data.forEach(function(obj) {
+        var prop;
+        if ("src" in obj || "dest" in obj) {
+          files.push(obj);
+        }
+      });
+      if (files.length === 0) {
+        return [];
       }
-      function _createTester(check, getResult) {
-        return (eachfn, arr, _iteratee, cb) => {
-          var testPassed = false;
-          var testResult;
-          const iteratee = wrapAsync(_iteratee);
-          eachfn(arr, (value, _2, callback) => {
-            iteratee(value, (err, result) => {
-              if (err || err === false) return callback(err);
-              if (check(result) && !testResult) {
-                testPassed = true;
-                testResult = getResult(true, value);
-                return callback(null, breakLoop);
-              }
-              callback();
+      files = _(files).chain().forEach(function(obj) {
+        if (!("src" in obj) || !obj.src) {
+          return;
+        }
+        if (Array.isArray(obj.src)) {
+          obj.src = flatten(obj.src);
+        } else {
+          obj.src = [obj.src];
+        }
+      }).map(function(obj) {
+        var expandOptions = Object.assign({}, obj);
+        delete expandOptions.src;
+        delete expandOptions.dest;
+        if (obj.expand) {
+          return file.expandMapping(obj.src, obj.dest, expandOptions).map(function(mapObj) {
+            var result2 = Object.assign({}, obj);
+            result2.orig = Object.assign({}, obj);
+            result2.src = mapObj.src;
+            result2.dest = mapObj.dest;
+            ["expand", "cwd", "flatten", "rename", "ext"].forEach(function(prop) {
+              delete result2[prop];
             });
-          }, (err) => {
-            if (err) return cb(err);
-            cb(null, testPassed ? testResult : getResult(false));
+            return result2;
           });
-        };
-      }
-      function detect(coll, iteratee, callback) {
-        return _createTester((bool2) => bool2, (res, item) => item)(eachOf$1, coll, iteratee, callback);
-      }
-      var detect$1 = awaitify(detect, 3);
-      function detectLimit(coll, limit, iteratee, callback) {
-        return _createTester((bool2) => bool2, (res, item) => item)(eachOfLimit$2(limit), coll, iteratee, callback);
-      }
-      var detectLimit$1 = awaitify(detectLimit, 4);
-      function detectSeries(coll, iteratee, callback) {
-        return _createTester((bool2) => bool2, (res, item) => item)(eachOfLimit$2(1), coll, iteratee, callback);
-      }
-      var detectSeries$1 = awaitify(detectSeries, 3);
-      function consoleFunc(name) {
-        return (fn, ...args) => wrapAsync(fn)(...args, (err, ...resultArgs) => {
-          if (typeof console === "object") {
-            if (err) {
-              if (console.error) {
-                console.error(err);
+        }
+        var result = Object.assign({}, obj);
+        result.orig = Object.assign({}, obj);
+        if ("src" in result) {
+          Object.defineProperty(result, "src", {
+            enumerable: true,
+            get: function fn() {
+              var src;
+              if (!("result" in fn)) {
+                src = obj.src;
+                src = Array.isArray(src) ? flatten(src) : [src];
+                fn.result = file.expand(expandOptions, src);
               }
-            } else if (console[name]) {
-              resultArgs.forEach((x) => console[name](x));
+              return fn.result;
             }
-          }
-        });
-      }
-      var dir = consoleFunc("dir");
-      function doWhilst(iteratee, test, callback) {
-        callback = onlyOnce(callback);
-        var _fn = wrapAsync(iteratee);
-        var _test = wrapAsync(test);
-        var results;
-        function next(err, ...args) {
-          if (err) return callback(err);
-          if (err === false) return;
-          results = args;
-          _test(...args, check);
+          });
         }
-        function check(err, truth) {
-          if (err) return callback(err);
-          if (err === false) return;
-          if (!truth) return callback(null, ...results);
-          _fn(next);
+        if ("dest" in result) {
+          result.dest = obj.dest;
         }
-        return check(null, true);
-      }
-      var doWhilst$1 = awaitify(doWhilst, 3);
-      function doUntil(iteratee, test, callback) {
-        const _test = wrapAsync(test);
-        return doWhilst$1(iteratee, (...args) => {
-          const cb = args.pop();
-          _test(...args, (err, truth) => cb(err, !truth));
-        }, callback);
-      }
-      function _withoutIndex(iteratee) {
-        return (value, index2, callback) => iteratee(value, callback);
-      }
-      function eachLimit$2(coll, iteratee, callback) {
-        return eachOf$1(coll, _withoutIndex(wrapAsync(iteratee)), callback);
+        return result;
+      }).flatten().value();
+      return files;
+    };
+  }
+});
+
+// node_modules/archiver-utils/index.js
+var require_archiver_utils = __commonJS({
+  "node_modules/archiver-utils/index.js"(exports2, module2) {
+    var fs18 = require_graceful_fs();
+    var path16 = require("path");
+    var isStream = require_is_stream();
+    var lazystream = require_lazystream();
+    var normalizePath = require_normalize_path();
+    var defaults = require_defaults();
+    var Stream = require("stream").Stream;
+    var PassThrough = require_ours().PassThrough;
+    var utils = module2.exports = {};
+    utils.file = require_file4();
+    utils.collectStream = function(source, callback) {
+      var collection = [];
+      var size = 0;
+      source.on("error", callback);
+      source.on("data", function(chunk) {
+        collection.push(chunk);
+        size += chunk.length;
+      });
+      source.on("end", function() {
+        var buf = Buffer.alloc(size);
+        var offset = 0;
+        collection.forEach(function(data) {
+          data.copy(buf, offset);
+          offset += data.length;
+        });
+        callback(null, buf);
+      });
+    };
+    utils.dateify = function(dateish) {
+      dateish = dateish || /* @__PURE__ */ new Date();
+      if (dateish instanceof Date) {
+        dateish = dateish;
+      } else if (typeof dateish === "string") {
+        dateish = new Date(dateish);
+      } else {
+        dateish = /* @__PURE__ */ new Date();
       }
-      var each = awaitify(eachLimit$2, 3);
-      function eachLimit(coll, limit, iteratee, callback) {
-        return eachOfLimit$2(limit)(coll, _withoutIndex(wrapAsync(iteratee)), callback);
+      return dateish;
+    };
+    utils.defaults = function(object, source, guard) {
+      var args = arguments;
+      args[0] = args[0] || {};
+      return defaults(...args);
+    };
+    utils.isStream = function(source) {
+      return isStream(source);
+    };
+    utils.lazyReadStream = function(filepath) {
+      return new lazystream.Readable(function() {
+        return fs18.createReadStream(filepath);
+      });
+    };
+    utils.normalizeInputSource = function(source) {
+      if (source === null) {
+        return Buffer.alloc(0);
+      } else if (typeof source === "string") {
+        return Buffer.from(source);
+      } else if (utils.isStream(source)) {
+        return source.pipe(new PassThrough());
       }
-      var eachLimit$1 = awaitify(eachLimit, 4);
-      function eachSeries(coll, iteratee, callback) {
-        return eachLimit$1(coll, 1, iteratee, callback);
+      return source;
+    };
+    utils.sanitizePath = function(filepath) {
+      return normalizePath(filepath, false).replace(/^\w+:/, "").replace(/^(\.\.\/|\/)+/, "");
+    };
+    utils.trailingSlashIt = function(str2) {
+      return str2.slice(-1) !== "/" ? str2 + "/" : str2;
+    };
+    utils.unixifyPath = function(filepath) {
+      return normalizePath(filepath, false).replace(/^\w+:/, "");
+    };
+    utils.walkdir = function(dirpath, base, callback) {
+      var results = [];
+      if (typeof base === "function") {
+        callback = base;
+        base = dirpath;
       }
-      var eachSeries$1 = awaitify(eachSeries, 3);
-      function ensureAsync(fn) {
-        if (isAsync(fn)) return fn;
-        return function(...args) {
-          var callback = args.pop();
-          var sync = true;
-          args.push((...innerArgs) => {
-            if (sync) {
-              setImmediate$1(() => callback(...innerArgs));
+      fs18.readdir(dirpath, function(err, list) {
+        var i = 0;
+        var file;
+        var filepath;
+        if (err) {
+          return callback(err);
+        }
+        (function next() {
+          file = list[i++];
+          if (!file) {
+            return callback(null, results);
+          }
+          filepath = path16.join(dirpath, file);
+          fs18.stat(filepath, function(err2, stats) {
+            results.push({
+              path: filepath,
+              relative: path16.relative(base, filepath).replace(/\\/g, "/"),
+              stats
+            });
+            if (stats && stats.isDirectory()) {
+              utils.walkdir(filepath, base, function(err3, res) {
+                if (err3) {
+                  return callback(err3);
+                }
+                res.forEach(function(dirEntry) {
+                  results.push(dirEntry);
+                });
+                next();
+              });
             } else {
-              callback(...innerArgs);
+              next();
             }
           });
-          fn.apply(this, args);
-          sync = false;
-        };
+        })();
+      });
+    };
+  }
+});
+
+// node_modules/archiver/lib/error.js
+var require_error3 = __commonJS({
+  "node_modules/archiver/lib/error.js"(exports2, module2) {
+    var util = require("util");
+    var ERROR_CODES = {
+      "ABORTED": "archive was aborted",
+      "DIRECTORYDIRPATHREQUIRED": "diretory dirpath argument must be a non-empty string value",
+      "DIRECTORYFUNCTIONINVALIDDATA": "invalid data returned by directory custom data function",
+      "ENTRYNAMEREQUIRED": "entry name must be a non-empty string value",
+      "FILEFILEPATHREQUIRED": "file filepath argument must be a non-empty string value",
+      "FINALIZING": "archive already finalizing",
+      "QUEUECLOSED": "queue closed",
+      "NOENDMETHOD": "no suitable finalize/end method defined by module",
+      "DIRECTORYNOTSUPPORTED": "support for directory entries not defined by module",
+      "FORMATSET": "archive format already set",
+      "INPUTSTEAMBUFFERREQUIRED": "input source must be valid Stream or Buffer instance",
+      "MODULESET": "module already set",
+      "SYMLINKNOTSUPPORTED": "support for symlink entries not defined by module",
+      "SYMLINKFILEPATHREQUIRED": "symlink filepath argument must be a non-empty string value",
+      "SYMLINKTARGETREQUIRED": "symlink target argument must be a non-empty string value",
+      "ENTRYNOTSUPPORTED": "entry not supported"
+    };
+    function ArchiverError(code, data) {
+      Error.captureStackTrace(this, this.constructor);
+      this.message = ERROR_CODES[code] || code;
+      this.code = code;
+      this.data = data;
+    }
+    util.inherits(ArchiverError, Error);
+    exports2 = module2.exports = ArchiverError;
+  }
+});
+
+// node_modules/archiver/lib/core.js
+var require_core2 = __commonJS({
+  "node_modules/archiver/lib/core.js"(exports2, module2) {
+    var fs18 = require("fs");
+    var glob2 = require_readdir_glob();
+    var async = require_async();
+    var path16 = require("path");
+    var util = require_archiver_utils();
+    var inherits = require("util").inherits;
+    var ArchiverError = require_error3();
+    var Transform = require_ours().Transform;
+    var win32 = process.platform === "win32";
+    var Archiver = function(format, options) {
+      if (!(this instanceof Archiver)) {
+        return new Archiver(format, options);
       }
-      function every(coll, iteratee, callback) {
-        return _createTester((bool2) => !bool2, (res) => !res)(eachOf$1, coll, iteratee, callback);
+      if (typeof format !== "string") {
+        options = format;
+        format = "zip";
       }
-      var every$1 = awaitify(every, 3);
-      function everyLimit(coll, limit, iteratee, callback) {
-        return _createTester((bool2) => !bool2, (res) => !res)(eachOfLimit$2(limit), coll, iteratee, callback);
+      options = this.options = util.defaults(options, {
+        highWaterMark: 1024 * 1024,
+        statConcurrency: 4
+      });
+      Transform.call(this, options);
+      this._format = false;
+      this._module = false;
+      this._pending = 0;
+      this._pointer = 0;
+      this._entriesCount = 0;
+      this._entriesProcessedCount = 0;
+      this._fsEntriesTotalBytes = 0;
+      this._fsEntriesProcessedBytes = 0;
+      this._queue = async.queue(this._onQueueTask.bind(this), 1);
+      this._queue.drain(this._onQueueDrain.bind(this));
+      this._statQueue = async.queue(this._onStatQueueTask.bind(this), options.statConcurrency);
+      this._statQueue.drain(this._onQueueDrain.bind(this));
+      this._state = {
+        aborted: false,
+        finalize: false,
+        finalizing: false,
+        finalized: false,
+        modulePiped: false
+      };
+      this._streams = [];
+    };
+    inherits(Archiver, Transform);
+    Archiver.prototype._abort = function() {
+      this._state.aborted = true;
+      this._queue.kill();
+      this._statQueue.kill();
+      if (this._queue.idle()) {
+        this._shutdown();
       }
-      var everyLimit$1 = awaitify(everyLimit, 4);
-      function everySeries(coll, iteratee, callback) {
-        return _createTester((bool2) => !bool2, (res) => !res)(eachOfSeries$1, coll, iteratee, callback);
+    };
+    Archiver.prototype._append = function(filepath, data) {
+      data = data || {};
+      var task = {
+        source: null,
+        filepath
+      };
+      if (!data.name) {
+        data.name = filepath;
       }
-      var everySeries$1 = awaitify(everySeries, 3);
-      function filterArray(eachfn, arr, iteratee, callback) {
-        var truthValues = new Array(arr.length);
-        eachfn(arr, (x, index2, iterCb) => {
-          iteratee(x, (err, v) => {
-            truthValues[index2] = !!v;
-            iterCb(err);
-          });
-        }, (err) => {
-          if (err) return callback(err);
-          var results = [];
-          for (var i = 0; i < arr.length; i++) {
-            if (truthValues[i]) results.push(arr[i]);
+      data.sourcePath = filepath;
+      task.data = data;
+      this._entriesCount++;
+      if (data.stats && data.stats instanceof fs18.Stats) {
+        task = this._updateQueueTaskWithStats(task, data.stats);
+        if (task) {
+          if (data.stats.size) {
+            this._fsEntriesTotalBytes += data.stats.size;
           }
-          callback(null, results);
-        });
-      }
-      function filterGeneric(eachfn, coll, iteratee, callback) {
-        var results = [];
-        eachfn(coll, (x, index2, iterCb) => {
-          iteratee(x, (err, v) => {
-            if (err) return iterCb(err);
-            if (v) {
-              results.push({ index: index2, value: x });
-            }
-            iterCb(err);
-          });
-        }, (err) => {
-          if (err) return callback(err);
-          callback(null, results.sort((a, b) => a.index - b.index).map((v) => v.value));
-        });
-      }
-      function _filter(eachfn, coll, iteratee, callback) {
-        var filter2 = isArrayLike(coll) ? filterArray : filterGeneric;
-        return filter2(eachfn, coll, wrapAsync(iteratee), callback);
-      }
-      function filter(coll, iteratee, callback) {
-        return _filter(eachOf$1, coll, iteratee, callback);
-      }
-      var filter$1 = awaitify(filter, 3);
-      function filterLimit(coll, limit, iteratee, callback) {
-        return _filter(eachOfLimit$2(limit), coll, iteratee, callback);
-      }
-      var filterLimit$1 = awaitify(filterLimit, 4);
-      function filterSeries(coll, iteratee, callback) {
-        return _filter(eachOfSeries$1, coll, iteratee, callback);
-      }
-      var filterSeries$1 = awaitify(filterSeries, 3);
-      function forever(fn, errback) {
-        var done = onlyOnce(errback);
-        var task = wrapAsync(ensureAsync(fn));
-        function next(err) {
-          if (err) return done(err);
-          if (err === false) return;
-          task(next);
+          this._queue.push(task);
         }
-        return next();
-      }
-      var forever$1 = awaitify(forever, 2);
-      function groupByLimit(coll, limit, iteratee, callback) {
-        var _iteratee = wrapAsync(iteratee);
-        return mapLimit$1(coll, limit, (val, iterCb) => {
-          _iteratee(val, (err, key) => {
-            if (err) return iterCb(err);
-            return iterCb(err, { key, val });
-          });
-        }, (err, mapResults) => {
-          var result = {};
-          var { hasOwnProperty } = Object.prototype;
-          for (var i = 0; i < mapResults.length; i++) {
-            if (mapResults[i]) {
-              var { key } = mapResults[i];
-              var { val } = mapResults[i];
-              if (hasOwnProperty.call(result, key)) {
-                result[key].push(val);
-              } else {
-                result[key] = [val];
-              }
-            }
-          }
-          return callback(err, result);
-        });
-      }
-      var groupByLimit$1 = awaitify(groupByLimit, 4);
-      function groupBy(coll, iteratee, callback) {
-        return groupByLimit$1(coll, Infinity, iteratee, callback);
+      } else {
+        this._statQueue.push(task);
       }
-      function groupBySeries(coll, iteratee, callback) {
-        return groupByLimit$1(coll, 1, iteratee, callback);
+    };
+    Archiver.prototype._finalize = function() {
+      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+        return;
       }
-      var log = consoleFunc("log");
-      function mapValuesLimit(obj, limit, iteratee, callback) {
-        callback = once(callback);
-        var newObj = {};
-        var _iteratee = wrapAsync(iteratee);
-        return eachOfLimit$2(limit)(obj, (val, key, next) => {
-          _iteratee(val, key, (err, result) => {
-            if (err) return next(err);
-            newObj[key] = result;
-            next(err);
-          });
-        }, (err) => callback(err, newObj));
+      this._state.finalizing = true;
+      this._moduleFinalize();
+      this._state.finalizing = false;
+      this._state.finalized = true;
+    };
+    Archiver.prototype._maybeFinalize = function() {
+      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+        return false;
       }
-      var mapValuesLimit$1 = awaitify(mapValuesLimit, 4);
-      function mapValues(obj, iteratee, callback) {
-        return mapValuesLimit$1(obj, Infinity, iteratee, callback);
+      if (this._state.finalize && this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
+        this._finalize();
+        return true;
       }
-      function mapValuesSeries(obj, iteratee, callback) {
-        return mapValuesLimit$1(obj, 1, iteratee, callback);
+      return false;
+    };
+    Archiver.prototype._moduleAppend = function(source, data, callback) {
+      if (this._state.aborted) {
+        callback();
+        return;
       }
-      function memoize(fn, hasher = (v) => v) {
-        var memo = /* @__PURE__ */ Object.create(null);
-        var queues = /* @__PURE__ */ Object.create(null);
-        var _fn = wrapAsync(fn);
-        var memoized = initialParams((args, callback) => {
-          var key = hasher(...args);
-          if (key in memo) {
-            setImmediate$1(() => callback(null, ...memo[key]));
-          } else if (key in queues) {
-            queues[key].push(callback);
-          } else {
-            queues[key] = [callback];
-            _fn(...args, (err, ...resultArgs) => {
-              if (!err) {
-                memo[key] = resultArgs;
-              }
-              var q = queues[key];
-              delete queues[key];
-              for (var i = 0, l = q.length; i < l; i++) {
-                q[i](err, ...resultArgs);
-              }
-            });
+      this._module.append(source, data, function(err) {
+        this._task = null;
+        if (this._state.aborted) {
+          this._shutdown();
+          return;
+        }
+        if (err) {
+          this.emit("error", err);
+          setImmediate(callback);
+          return;
+        }
+        this.emit("entry", data);
+        this._entriesProcessedCount++;
+        if (data.stats && data.stats.size) {
+          this._fsEntriesProcessedBytes += data.stats.size;
+        }
+        this.emit("progress", {
+          entries: {
+            total: this._entriesCount,
+            processed: this._entriesProcessedCount
+          },
+          fs: {
+            totalBytes: this._fsEntriesTotalBytes,
+            processedBytes: this._fsEntriesProcessedBytes
           }
         });
-        memoized.memo = memo;
-        memoized.unmemoized = fn;
-        return memoized;
-      }
-      var _defer;
-      if (hasNextTick) {
-        _defer = process.nextTick;
-      } else if (hasSetImmediate) {
-        _defer = setImmediate;
+        setImmediate(callback);
+      }.bind(this));
+    };
+    Archiver.prototype._moduleFinalize = function() {
+      if (typeof this._module.finalize === "function") {
+        this._module.finalize();
+      } else if (typeof this._module.end === "function") {
+        this._module.end();
       } else {
-        _defer = fallback;
-      }
-      var nextTick = wrap(_defer);
-      var _parallel = awaitify((eachfn, tasks, callback) => {
-        var results = isArrayLike(tasks) ? [] : {};
-        eachfn(tasks, (task, key, taskCb) => {
-          wrapAsync(task)((err, ...result) => {
-            if (result.length < 2) {
-              [result] = result;
-            }
-            results[key] = result;
-            taskCb(err);
-          });
-        }, (err) => callback(err, results));
-      }, 3);
-      function parallel(tasks, callback) {
-        return _parallel(eachOf$1, tasks, callback);
+        this.emit("error", new ArchiverError("NOENDMETHOD"));
       }
-      function parallelLimit(tasks, limit, callback) {
-        return _parallel(eachOfLimit$2(limit), tasks, callback);
+    };
+    Archiver.prototype._modulePipe = function() {
+      this._module.on("error", this._onModuleError.bind(this));
+      this._module.pipe(this);
+      this._state.modulePiped = true;
+    };
+    Archiver.prototype._moduleSupports = function(key) {
+      if (!this._module.supports || !this._module.supports[key]) {
+        return false;
       }
-      function queue(worker, concurrency) {
-        var _worker = wrapAsync(worker);
-        return queue$1((items, cb) => {
-          _worker(items[0], cb);
-        }, concurrency, 1);
+      return this._module.supports[key];
+    };
+    Archiver.prototype._moduleUnpipe = function() {
+      this._module.unpipe(this);
+      this._state.modulePiped = false;
+    };
+    Archiver.prototype._normalizeEntryData = function(data, stats) {
+      data = util.defaults(data, {
+        type: "file",
+        name: null,
+        date: null,
+        mode: null,
+        prefix: null,
+        sourcePath: null,
+        stats: false
+      });
+      if (stats && data.stats === false) {
+        data.stats = stats;
       }
-      class Heap {
-        constructor() {
-          this.heap = [];
-          this.pushCount = Number.MIN_SAFE_INTEGER;
-        }
-        get length() {
-          return this.heap.length;
-        }
-        empty() {
-          this.heap = [];
-          return this;
+      var isDir = data.type === "directory";
+      if (data.name) {
+        if (typeof data.prefix === "string" && "" !== data.prefix) {
+          data.name = data.prefix + "/" + data.name;
+          data.prefix = null;
         }
-        percUp(index2) {
-          let p;
-          while (index2 > 0 && smaller(this.heap[index2], this.heap[p = parent(index2)])) {
-            let t = this.heap[index2];
-            this.heap[index2] = this.heap[p];
-            this.heap[p] = t;
-            index2 = p;
-          }
+        data.name = util.sanitizePath(data.name);
+        if (data.type !== "symlink" && data.name.slice(-1) === "/") {
+          isDir = true;
+          data.type = "directory";
+        } else if (isDir) {
+          data.name += "/";
         }
-        percDown(index2) {
-          let l;
-          while ((l = leftChi(index2)) < this.heap.length) {
-            if (l + 1 < this.heap.length && smaller(this.heap[l + 1], this.heap[l])) {
-              l = l + 1;
-            }
-            if (smaller(this.heap[index2], this.heap[l])) {
-              break;
-            }
-            let t = this.heap[index2];
-            this.heap[index2] = this.heap[l];
-            this.heap[l] = t;
-            index2 = l;
-          }
+      }
+      if (typeof data.mode === "number") {
+        if (win32) {
+          data.mode &= 511;
+        } else {
+          data.mode &= 4095;
         }
-        push(node) {
-          node.pushCount = ++this.pushCount;
-          this.heap.push(node);
-          this.percUp(this.heap.length - 1);
+      } else if (data.stats && data.mode === null) {
+        if (win32) {
+          data.mode = data.stats.mode & 511;
+        } else {
+          data.mode = data.stats.mode & 4095;
         }
-        unshift(node) {
-          return this.heap.push(node);
+        if (win32 && isDir) {
+          data.mode = 493;
         }
-        shift() {
-          let [top] = this.heap;
-          this.heap[0] = this.heap[this.heap.length - 1];
-          this.heap.pop();
-          this.percDown(0);
-          return top;
+      } else if (data.mode === null) {
+        data.mode = isDir ? 493 : 420;
+      }
+      if (data.stats && data.date === null) {
+        data.date = data.stats.mtime;
+      } else {
+        data.date = util.dateify(data.date);
+      }
+      return data;
+    };
+    Archiver.prototype._onModuleError = function(err) {
+      this.emit("error", err);
+    };
+    Archiver.prototype._onQueueDrain = function() {
+      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+        return;
+      }
+      if (this._state.finalize && this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
+        this._finalize();
+      }
+    };
+    Archiver.prototype._onQueueTask = function(task, callback) {
+      var fullCallback = () => {
+        if (task.data.callback) {
+          task.data.callback();
         }
-        toArray() {
-          return [...this];
+        callback();
+      };
+      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+        fullCallback();
+        return;
+      }
+      this._task = task;
+      this._moduleAppend(task.source, task.data, fullCallback);
+    };
+    Archiver.prototype._onStatQueueTask = function(task, callback) {
+      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+        callback();
+        return;
+      }
+      fs18.lstat(task.filepath, function(err, stats) {
+        if (this._state.aborted) {
+          setImmediate(callback);
+          return;
         }
-        *[Symbol.iterator]() {
-          for (let i = 0; i < this.heap.length; i++) {
-            yield this.heap[i].data;
-          }
+        if (err) {
+          this._entriesCount--;
+          this.emit("warning", err);
+          setImmediate(callback);
+          return;
         }
-        remove(testFn) {
-          let j = 0;
-          for (let i = 0; i < this.heap.length; i++) {
-            if (!testFn(this.heap[i])) {
-              this.heap[j] = this.heap[i];
-              j++;
-            }
-          }
-          this.heap.splice(j);
-          for (let i = parent(this.heap.length - 1); i >= 0; i--) {
-            this.percDown(i);
+        task = this._updateQueueTaskWithStats(task, stats);
+        if (task) {
+          if (stats.size) {
+            this._fsEntriesTotalBytes += stats.size;
           }
-          return this;
+          this._queue.push(task);
         }
+        setImmediate(callback);
+      }.bind(this));
+    };
+    Archiver.prototype._shutdown = function() {
+      this._moduleUnpipe();
+      this.end();
+    };
+    Archiver.prototype._transform = function(chunk, encoding, callback) {
+      if (chunk) {
+        this._pointer += chunk.length;
       }
-      function leftChi(i) {
-        return (i << 1) + 1;
-      }
-      function parent(i) {
-        return (i + 1 >> 1) - 1;
-      }
-      function smaller(x, y) {
-        if (x.priority !== y.priority) {
-          return x.priority < y.priority;
+      callback(null, chunk);
+    };
+    Archiver.prototype._updateQueueTaskWithStats = function(task, stats) {
+      if (stats.isFile()) {
+        task.data.type = "file";
+        task.data.sourceType = "stream";
+        task.source = util.lazyReadStream(task.filepath);
+      } else if (stats.isDirectory() && this._moduleSupports("directory")) {
+        task.data.name = util.trailingSlashIt(task.data.name);
+        task.data.type = "directory";
+        task.data.sourcePath = util.trailingSlashIt(task.filepath);
+        task.data.sourceType = "buffer";
+        task.source = Buffer.concat([]);
+      } else if (stats.isSymbolicLink() && this._moduleSupports("symlink")) {
+        var linkPath = fs18.readlinkSync(task.filepath);
+        var dirName = path16.dirname(task.filepath);
+        task.data.type = "symlink";
+        task.data.linkname = path16.relative(dirName, path16.resolve(dirName, linkPath));
+        task.data.sourceType = "buffer";
+        task.source = Buffer.concat([]);
+      } else {
+        if (stats.isDirectory()) {
+          this.emit("warning", new ArchiverError("DIRECTORYNOTSUPPORTED", task.data));
+        } else if (stats.isSymbolicLink()) {
+          this.emit("warning", new ArchiverError("SYMLINKNOTSUPPORTED", task.data));
         } else {
-          return x.pushCount < y.pushCount;
+          this.emit("warning", new ArchiverError("ENTRYNOTSUPPORTED", task.data));
         }
+        return null;
       }
-      function priorityQueue(worker, concurrency) {
-        var q = queue(worker, concurrency);
-        var {
-          push,
-          pushAsync
-        } = q;
-        q._tasks = new Heap();
-        q._createTaskItem = ({ data, priority }, callback) => {
-          return {
-            data,
-            priority,
-            callback
-          };
-        };
-        function createDataItems(tasks, priority) {
-          if (!Array.isArray(tasks)) {
-            return { data: tasks, priority };
-          }
-          return tasks.map((data) => {
-            return { data, priority };
-          });
-        }
-        q.push = function(data, priority = 0, callback) {
-          return push(createDataItems(data, priority), callback);
-        };
-        q.pushAsync = function(data, priority = 0, callback) {
-          return pushAsync(createDataItems(data, priority), callback);
-        };
-        delete q.unshift;
-        delete q.unshiftAsync;
-        return q;
+      task.data = this._normalizeEntryData(task.data, stats);
+      return task;
+    };
+    Archiver.prototype.abort = function() {
+      if (this._state.aborted || this._state.finalized) {
+        return this;
       }
-      function race(tasks, callback) {
-        callback = once(callback);
-        if (!Array.isArray(tasks)) return callback(new TypeError("First argument to race must be an array of functions"));
-        if (!tasks.length) return callback();
-        for (var i = 0, l = tasks.length; i < l; i++) {
-          wrapAsync(tasks[i])(callback);
-        }
+      this._abort();
+      return this;
+    };
+    Archiver.prototype.append = function(source, data) {
+      if (this._state.finalize || this._state.aborted) {
+        this.emit("error", new ArchiverError("QUEUECLOSED"));
+        return this;
       }
-      var race$1 = awaitify(race, 2);
-      function reduceRight(array, memo, iteratee, callback) {
-        var reversed = [...array].reverse();
-        return reduce$1(reversed, memo, iteratee, callback);
+      data = this._normalizeEntryData(data);
+      if (typeof data.name !== "string" || data.name.length === 0) {
+        this.emit("error", new ArchiverError("ENTRYNAMEREQUIRED"));
+        return this;
       }
-      function reflect(fn) {
-        var _fn = wrapAsync(fn);
-        return initialParams(function reflectOn(args, reflectCallback) {
-          args.push((error3, ...cbArgs) => {
-            let retVal = {};
-            if (error3) {
-              retVal.error = error3;
-            }
-            if (cbArgs.length > 0) {
-              var value = cbArgs;
-              if (cbArgs.length <= 1) {
-                [value] = cbArgs;
-              }
-              retVal.value = value;
-            }
-            reflectCallback(null, retVal);
-          });
-          return _fn.apply(this, args);
-        });
+      if (data.type === "directory" && !this._moduleSupports("directory")) {
+        this.emit("error", new ArchiverError("DIRECTORYNOTSUPPORTED", { name: data.name }));
+        return this;
       }
-      function reflectAll(tasks) {
-        var results;
-        if (Array.isArray(tasks)) {
-          results = tasks.map(reflect);
-        } else {
-          results = {};
-          Object.keys(tasks).forEach((key) => {
-            results[key] = reflect.call(this, tasks[key]);
-          });
-        }
-        return results;
+      source = util.normalizeInputSource(source);
+      if (Buffer.isBuffer(source)) {
+        data.sourceType = "buffer";
+      } else if (util.isStream(source)) {
+        data.sourceType = "stream";
+      } else {
+        this.emit("error", new ArchiverError("INPUTSTEAMBUFFERREQUIRED", { name: data.name }));
+        return this;
+      }
+      this._entriesCount++;
+      this._queue.push({
+        data,
+        source
+      });
+      return this;
+    };
+    Archiver.prototype.directory = function(dirpath, destpath, data) {
+      if (this._state.finalize || this._state.aborted) {
+        this.emit("error", new ArchiverError("QUEUECLOSED"));
+        return this;
       }
-      function reject$2(eachfn, arr, _iteratee, callback) {
-        const iteratee = wrapAsync(_iteratee);
-        return _filter(eachfn, arr, (value, cb) => {
-          iteratee(value, (err, v) => {
-            cb(err, !v);
-          });
-        }, callback);
+      if (typeof dirpath !== "string" || dirpath.length === 0) {
+        this.emit("error", new ArchiverError("DIRECTORYDIRPATHREQUIRED"));
+        return this;
       }
-      function reject(coll, iteratee, callback) {
-        return reject$2(eachOf$1, coll, iteratee, callback);
+      this._pending++;
+      if (destpath === false) {
+        destpath = "";
+      } else if (typeof destpath !== "string") {
+        destpath = dirpath;
       }
-      var reject$1 = awaitify(reject, 3);
-      function rejectLimit(coll, limit, iteratee, callback) {
-        return reject$2(eachOfLimit$2(limit), coll, iteratee, callback);
+      var dataFunction = false;
+      if (typeof data === "function") {
+        dataFunction = data;
+        data = {};
+      } else if (typeof data !== "object") {
+        data = {};
       }
-      var rejectLimit$1 = awaitify(rejectLimit, 4);
-      function rejectSeries(coll, iteratee, callback) {
-        return reject$2(eachOfSeries$1, coll, iteratee, callback);
+      var globOptions = {
+        stat: true,
+        dot: true
+      };
+      function onGlobEnd() {
+        this._pending--;
+        this._maybeFinalize();
       }
-      var rejectSeries$1 = awaitify(rejectSeries, 3);
-      function constant(value) {
-        return function() {
-          return value;
-        };
+      function onGlobError(err) {
+        this.emit("error", err);
       }
-      const DEFAULT_TIMES = 5;
-      const DEFAULT_INTERVAL = 0;
-      function retry2(opts, task, callback) {
-        var options = {
-          times: DEFAULT_TIMES,
-          intervalFunc: constant(DEFAULT_INTERVAL)
-        };
-        if (arguments.length < 3 && typeof opts === "function") {
-          callback = task || promiseCallback();
-          task = opts;
-        } else {
-          parseTimes(options, opts);
-          callback = callback || promiseCallback();
-        }
-        if (typeof task !== "function") {
-          throw new Error("Invalid arguments for async.retry");
-        }
-        var _task = wrapAsync(task);
-        var attempt = 1;
-        function retryAttempt() {
-          _task((err, ...args) => {
-            if (err === false) return;
-            if (err && attempt++ < options.times && (typeof options.errorFilter != "function" || options.errorFilter(err))) {
-              setTimeout(retryAttempt, options.intervalFunc(attempt - 1));
-            } else {
-              callback(err, ...args);
+      function onGlobMatch(match) {
+        globber.pause();
+        var ignoreMatch = false;
+        var entryData = Object.assign({}, data);
+        entryData.name = match.relative;
+        entryData.prefix = destpath;
+        entryData.stats = match.stat;
+        entryData.callback = globber.resume.bind(globber);
+        try {
+          if (dataFunction) {
+            entryData = dataFunction(entryData);
+            if (entryData === false) {
+              ignoreMatch = true;
+            } else if (typeof entryData !== "object") {
+              throw new ArchiverError("DIRECTORYFUNCTIONINVALIDDATA", { dirpath });
             }
-          });
-        }
-        retryAttempt();
-        return callback[PROMISE_SYMBOL];
-      }
-      function parseTimes(acc, t) {
-        if (typeof t === "object") {
-          acc.times = +t.times || DEFAULT_TIMES;
-          acc.intervalFunc = typeof t.interval === "function" ? t.interval : constant(+t.interval || DEFAULT_INTERVAL);
-          acc.errorFilter = t.errorFilter;
-        } else if (typeof t === "number" || typeof t === "string") {
-          acc.times = +t || DEFAULT_TIMES;
-        } else {
-          throw new Error("Invalid arguments for async.retry");
-        }
-      }
-      function retryable(opts, task) {
-        if (!task) {
-          task = opts;
-          opts = null;
+          }
+        } catch (e) {
+          this.emit("error", e);
+          return;
         }
-        let arity = opts && opts.arity || task.length;
-        if (isAsync(task)) {
-          arity += 1;
+        if (ignoreMatch) {
+          globber.resume();
+          return;
         }
-        var _task = wrapAsync(task);
-        return initialParams((args, callback) => {
-          if (args.length < arity - 1 || callback == null) {
-            args.push(callback);
-            callback = promiseCallback();
-          }
-          function taskFn(cb) {
-            _task(...args, cb);
-          }
-          if (opts) retry2(opts, taskFn, callback);
-          else retry2(taskFn, callback);
-          return callback[PROMISE_SYMBOL];
-        });
+        this._append(match.absolute, entryData);
       }
-      function series(tasks, callback) {
-        return _parallel(eachOfSeries$1, tasks, callback);
+      var globber = glob2(dirpath, globOptions);
+      globber.on("error", onGlobError.bind(this));
+      globber.on("match", onGlobMatch.bind(this));
+      globber.on("end", onGlobEnd.bind(this));
+      return this;
+    };
+    Archiver.prototype.file = function(filepath, data) {
+      if (this._state.finalize || this._state.aborted) {
+        this.emit("error", new ArchiverError("QUEUECLOSED"));
+        return this;
       }
-      function some(coll, iteratee, callback) {
-        return _createTester(Boolean, (res) => res)(eachOf$1, coll, iteratee, callback);
+      if (typeof filepath !== "string" || filepath.length === 0) {
+        this.emit("error", new ArchiverError("FILEFILEPATHREQUIRED"));
+        return this;
       }
-      var some$1 = awaitify(some, 3);
-      function someLimit(coll, limit, iteratee, callback) {
-        return _createTester(Boolean, (res) => res)(eachOfLimit$2(limit), coll, iteratee, callback);
+      this._append(filepath, data);
+      return this;
+    };
+    Archiver.prototype.glob = function(pattern, options, data) {
+      this._pending++;
+      options = util.defaults(options, {
+        stat: true,
+        pattern
+      });
+      function onGlobEnd() {
+        this._pending--;
+        this._maybeFinalize();
       }
-      var someLimit$1 = awaitify(someLimit, 4);
-      function someSeries(coll, iteratee, callback) {
-        return _createTester(Boolean, (res) => res)(eachOfSeries$1, coll, iteratee, callback);
+      function onGlobError(err) {
+        this.emit("error", err);
       }
-      var someSeries$1 = awaitify(someSeries, 3);
-      function sortBy(coll, iteratee, callback) {
-        var _iteratee = wrapAsync(iteratee);
-        return map$1(coll, (x, iterCb) => {
-          _iteratee(x, (err, criteria) => {
-            if (err) return iterCb(err);
-            iterCb(err, { value: x, criteria });
-          });
-        }, (err, results) => {
-          if (err) return callback(err);
-          callback(null, results.sort(comparator).map((v) => v.value));
-        });
-        function comparator(left, right) {
-          var a = left.criteria, b = right.criteria;
-          return a < b ? -1 : a > b ? 1 : 0;
-        }
+      function onGlobMatch(match) {
+        globber.pause();
+        var entryData = Object.assign({}, data);
+        entryData.callback = globber.resume.bind(globber);
+        entryData.stats = match.stat;
+        entryData.name = match.relative;
+        this._append(match.absolute, entryData);
       }
-      var sortBy$1 = awaitify(sortBy, 3);
-      function timeout(asyncFn, milliseconds, info7) {
-        var fn = wrapAsync(asyncFn);
-        return initialParams((args, callback) => {
-          var timedOut = false;
-          var timer;
-          function timeoutCallback() {
-            var name = asyncFn.name || "anonymous";
-            var error3 = new Error('Callback function "' + name + '" timed out.');
-            error3.code = "ETIMEDOUT";
-            if (info7) {
-              error3.info = info7;
-            }
-            timedOut = true;
-            callback(error3);
-          }
-          args.push((...cbArgs) => {
-            if (!timedOut) {
-              callback(...cbArgs);
-              clearTimeout(timer);
-            }
-          });
-          timer = setTimeout(timeoutCallback, milliseconds);
-          fn(...args);
-        });
+      var globber = glob2(options.cwd || ".", options);
+      globber.on("error", onGlobError.bind(this));
+      globber.on("match", onGlobMatch.bind(this));
+      globber.on("end", onGlobEnd.bind(this));
+      return this;
+    };
+    Archiver.prototype.finalize = function() {
+      if (this._state.aborted) {
+        var abortedError = new ArchiverError("ABORTED");
+        this.emit("error", abortedError);
+        return Promise.reject(abortedError);
       }
-      function range(size) {
-        var result = Array(size);
-        while (size--) {
-          result[size] = size;
-        }
-        return result;
+      if (this._state.finalize) {
+        var finalizingError = new ArchiverError("FINALIZING");
+        this.emit("error", finalizingError);
+        return Promise.reject(finalizingError);
       }
-      function timesLimit(count, limit, iteratee, callback) {
-        var _iteratee = wrapAsync(iteratee);
-        return mapLimit$1(range(count), limit, _iteratee, callback);
+      this._state.finalize = true;
+      if (this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
+        this._finalize();
       }
-      function times(n, iteratee, callback) {
-        return timesLimit(n, Infinity, iteratee, callback);
+      var self2 = this;
+      return new Promise(function(resolve8, reject) {
+        var errored;
+        self2._module.on("end", function() {
+          if (!errored) {
+            resolve8();
+          }
+        });
+        self2._module.on("error", function(err) {
+          errored = true;
+          reject(err);
+        });
+      });
+    };
+    Archiver.prototype.setFormat = function(format) {
+      if (this._format) {
+        this.emit("error", new ArchiverError("FORMATSET"));
+        return this;
       }
-      function timesSeries(n, iteratee, callback) {
-        return timesLimit(n, 1, iteratee, callback);
+      this._format = format;
+      return this;
+    };
+    Archiver.prototype.setModule = function(module3) {
+      if (this._state.aborted) {
+        this.emit("error", new ArchiverError("ABORTED"));
+        return this;
       }
-      function transform(coll, accumulator, iteratee, callback) {
-        if (arguments.length <= 3 && typeof accumulator === "function") {
-          callback = iteratee;
-          iteratee = accumulator;
-          accumulator = Array.isArray(coll) ? [] : {};
-        }
-        callback = once(callback || promiseCallback());
-        var _iteratee = wrapAsync(iteratee);
-        eachOf$1(coll, (v, k, cb) => {
-          _iteratee(accumulator, v, k, cb);
-        }, (err) => callback(err, accumulator));
-        return callback[PROMISE_SYMBOL];
+      if (this._state.module) {
+        this.emit("error", new ArchiverError("MODULESET"));
+        return this;
       }
-      function tryEach(tasks, callback) {
-        var error3 = null;
-        var result;
-        return eachSeries$1(tasks, (task, taskCb) => {
-          wrapAsync(task)((err, ...args) => {
-            if (err === false) return taskCb(err);
-            if (args.length < 2) {
-              [result] = args;
-            } else {
-              result = args;
-            }
-            error3 = err;
-            taskCb(err ? null : {});
-          });
-        }, () => callback(error3, result));
+      this._module = module3;
+      this._modulePipe();
+      return this;
+    };
+    Archiver.prototype.symlink = function(filepath, target, mode) {
+      if (this._state.finalize || this._state.aborted) {
+        this.emit("error", new ArchiverError("QUEUECLOSED"));
+        return this;
       }
-      var tryEach$1 = awaitify(tryEach);
-      function unmemoize(fn) {
-        return (...args) => {
-          return (fn.unmemoized || fn)(...args);
-        };
+      if (typeof filepath !== "string" || filepath.length === 0) {
+        this.emit("error", new ArchiverError("SYMLINKFILEPATHREQUIRED"));
+        return this;
       }
-      function whilst(test, iteratee, callback) {
-        callback = onlyOnce(callback);
-        var _fn = wrapAsync(iteratee);
-        var _test = wrapAsync(test);
-        var results = [];
-        function next(err, ...rest) {
-          if (err) return callback(err);
-          results = rest;
-          if (err === false) return;
-          _test(check);
-        }
-        function check(err, truth) {
-          if (err) return callback(err);
-          if (err === false) return;
-          if (!truth) return callback(null, ...results);
-          _fn(next);
-        }
-        return _test(check);
+      if (typeof target !== "string" || target.length === 0) {
+        this.emit("error", new ArchiverError("SYMLINKTARGETREQUIRED", { filepath }));
+        return this;
       }
-      var whilst$1 = awaitify(whilst, 3);
-      function until(test, iteratee, callback) {
-        const _test = wrapAsync(test);
-        return whilst$1((cb) => _test((err, truth) => cb(err, !truth)), iteratee, callback);
+      if (!this._moduleSupports("symlink")) {
+        this.emit("error", new ArchiverError("SYMLINKNOTSUPPORTED", { filepath }));
+        return this;
       }
-      function waterfall(tasks, callback) {
-        callback = once(callback);
-        if (!Array.isArray(tasks)) return callback(new Error("First argument to waterfall must be an array of functions"));
-        if (!tasks.length) return callback();
-        var taskIndex = 0;
-        function nextTask(args) {
-          var task = wrapAsync(tasks[taskIndex++]);
-          task(...args, onlyOnce(next));
-        }
-        function next(err, ...args) {
-          if (err === false) return;
-          if (err || taskIndex === tasks.length) {
-            return callback(err, ...args);
-          }
-          nextTask(args);
-        }
-        nextTask([]);
+      var data = {};
+      data.type = "symlink";
+      data.name = filepath.replace(/\\/g, "/");
+      data.linkname = target.replace(/\\/g, "/");
+      data.sourceType = "buffer";
+      if (typeof mode === "number") {
+        data.mode = mode;
       }
-      var waterfall$1 = awaitify(waterfall);
-      var index = {
-        apply,
-        applyEach,
-        applyEachSeries,
-        asyncify,
-        auto,
-        autoInject,
-        cargo: cargo$1,
-        cargoQueue: cargo,
-        compose,
-        concat: concat$1,
-        concatLimit: concatLimit$1,
-        concatSeries: concatSeries$1,
-        constant: constant$1,
-        detect: detect$1,
-        detectLimit: detectLimit$1,
-        detectSeries: detectSeries$1,
-        dir,
-        doUntil,
-        doWhilst: doWhilst$1,
-        each,
-        eachLimit: eachLimit$1,
-        eachOf: eachOf$1,
-        eachOfLimit: eachOfLimit$1,
-        eachOfSeries: eachOfSeries$1,
-        eachSeries: eachSeries$1,
-        ensureAsync,
-        every: every$1,
-        everyLimit: everyLimit$1,
-        everySeries: everySeries$1,
-        filter: filter$1,
-        filterLimit: filterLimit$1,
-        filterSeries: filterSeries$1,
-        forever: forever$1,
-        groupBy,
-        groupByLimit: groupByLimit$1,
-        groupBySeries,
-        log,
-        map: map$1,
-        mapLimit: mapLimit$1,
-        mapSeries: mapSeries$1,
-        mapValues,
-        mapValuesLimit: mapValuesLimit$1,
-        mapValuesSeries,
-        memoize,
-        nextTick,
-        parallel,
-        parallelLimit,
-        priorityQueue,
-        queue,
-        race: race$1,
-        reduce: reduce$1,
-        reduceRight,
-        reflect,
-        reflectAll,
-        reject: reject$1,
-        rejectLimit: rejectLimit$1,
-        rejectSeries: rejectSeries$1,
-        retry: retry2,
-        retryable,
-        seq: seq2,
-        series,
-        setImmediate: setImmediate$1,
-        some: some$1,
-        someLimit: someLimit$1,
-        someSeries: someSeries$1,
-        sortBy: sortBy$1,
-        timeout,
-        times,
-        timesLimit,
-        timesSeries,
-        transform,
-        tryEach: tryEach$1,
-        unmemoize,
-        until,
-        waterfall: waterfall$1,
-        whilst: whilst$1,
-        // aliases
-        all: every$1,
-        allLimit: everyLimit$1,
-        allSeries: everySeries$1,
-        any: some$1,
-        anyLimit: someLimit$1,
-        anySeries: someSeries$1,
-        find: detect$1,
-        findLimit: detectLimit$1,
-        findSeries: detectSeries$1,
-        flatMap: concat$1,
-        flatMapLimit: concatLimit$1,
-        flatMapSeries: concatSeries$1,
-        forEach: each,
-        forEachSeries: eachSeries$1,
-        forEachLimit: eachLimit$1,
-        forEachOf: eachOf$1,
-        forEachOfSeries: eachOfSeries$1,
-        forEachOfLimit: eachOfLimit$1,
-        inject: reduce$1,
-        foldl: reduce$1,
-        foldr: reduceRight,
-        select: filter$1,
-        selectLimit: filterLimit$1,
-        selectSeries: filterSeries$1,
-        wrapSync: asyncify,
-        during: whilst$1,
-        doDuring: doWhilst$1
-      };
-      exports3.all = every$1;
-      exports3.allLimit = everyLimit$1;
-      exports3.allSeries = everySeries$1;
-      exports3.any = some$1;
-      exports3.anyLimit = someLimit$1;
-      exports3.anySeries = someSeries$1;
-      exports3.apply = apply;
-      exports3.applyEach = applyEach;
-      exports3.applyEachSeries = applyEachSeries;
-      exports3.asyncify = asyncify;
-      exports3.auto = auto;
-      exports3.autoInject = autoInject;
-      exports3.cargo = cargo$1;
-      exports3.cargoQueue = cargo;
-      exports3.compose = compose;
-      exports3.concat = concat$1;
-      exports3.concatLimit = concatLimit$1;
-      exports3.concatSeries = concatSeries$1;
-      exports3.constant = constant$1;
-      exports3.default = index;
-      exports3.detect = detect$1;
-      exports3.detectLimit = detectLimit$1;
-      exports3.detectSeries = detectSeries$1;
-      exports3.dir = dir;
-      exports3.doDuring = doWhilst$1;
-      exports3.doUntil = doUntil;
-      exports3.doWhilst = doWhilst$1;
-      exports3.during = whilst$1;
-      exports3.each = each;
-      exports3.eachLimit = eachLimit$1;
-      exports3.eachOf = eachOf$1;
-      exports3.eachOfLimit = eachOfLimit$1;
-      exports3.eachOfSeries = eachOfSeries$1;
-      exports3.eachSeries = eachSeries$1;
-      exports3.ensureAsync = ensureAsync;
-      exports3.every = every$1;
-      exports3.everyLimit = everyLimit$1;
-      exports3.everySeries = everySeries$1;
-      exports3.filter = filter$1;
-      exports3.filterLimit = filterLimit$1;
-      exports3.filterSeries = filterSeries$1;
-      exports3.find = detect$1;
-      exports3.findLimit = detectLimit$1;
-      exports3.findSeries = detectSeries$1;
-      exports3.flatMap = concat$1;
-      exports3.flatMapLimit = concatLimit$1;
-      exports3.flatMapSeries = concatSeries$1;
-      exports3.foldl = reduce$1;
-      exports3.foldr = reduceRight;
-      exports3.forEach = each;
-      exports3.forEachLimit = eachLimit$1;
-      exports3.forEachOf = eachOf$1;
-      exports3.forEachOfLimit = eachOfLimit$1;
-      exports3.forEachOfSeries = eachOfSeries$1;
-      exports3.forEachSeries = eachSeries$1;
-      exports3.forever = forever$1;
-      exports3.groupBy = groupBy;
-      exports3.groupByLimit = groupByLimit$1;
-      exports3.groupBySeries = groupBySeries;
-      exports3.inject = reduce$1;
-      exports3.log = log;
-      exports3.map = map$1;
-      exports3.mapLimit = mapLimit$1;
-      exports3.mapSeries = mapSeries$1;
-      exports3.mapValues = mapValues;
-      exports3.mapValuesLimit = mapValuesLimit$1;
-      exports3.mapValuesSeries = mapValuesSeries;
-      exports3.memoize = memoize;
-      exports3.nextTick = nextTick;
-      exports3.parallel = parallel;
-      exports3.parallelLimit = parallelLimit;
-      exports3.priorityQueue = priorityQueue;
-      exports3.queue = queue;
-      exports3.race = race$1;
-      exports3.reduce = reduce$1;
-      exports3.reduceRight = reduceRight;
-      exports3.reflect = reflect;
-      exports3.reflectAll = reflectAll;
-      exports3.reject = reject$1;
-      exports3.rejectLimit = rejectLimit$1;
-      exports3.rejectSeries = rejectSeries$1;
-      exports3.retry = retry2;
-      exports3.retryable = retryable;
-      exports3.select = filter$1;
-      exports3.selectLimit = filterLimit$1;
-      exports3.selectSeries = filterSeries$1;
-      exports3.seq = seq2;
-      exports3.series = series;
-      exports3.setImmediate = setImmediate$1;
-      exports3.some = some$1;
-      exports3.someLimit = someLimit$1;
-      exports3.someSeries = someSeries$1;
-      exports3.sortBy = sortBy$1;
-      exports3.timeout = timeout;
-      exports3.times = times;
-      exports3.timesLimit = timesLimit;
-      exports3.timesSeries = timesSeries;
-      exports3.transform = transform;
-      exports3.tryEach = tryEach$1;
-      exports3.unmemoize = unmemoize;
-      exports3.until = until;
-      exports3.waterfall = waterfall$1;
-      exports3.whilst = whilst$1;
-      exports3.wrapSync = asyncify;
-      Object.defineProperty(exports3, "__esModule", { value: true });
-    }));
+      this._entriesCount++;
+      this._queue.push({
+        data,
+        source: Buffer.concat([])
+      });
+      return this;
+    };
+    Archiver.prototype.pointer = function() {
+      return this._pointer;
+    };
+    Archiver.prototype.use = function(plugin) {
+      this._streams.push(plugin);
+      return this;
+    };
+    module2.exports = Archiver;
   }
 });
 
-// node_modules/graceful-fs/polyfills.js
-var require_polyfills = __commonJS({
-  "node_modules/graceful-fs/polyfills.js"(exports2, module2) {
-    var constants = require("constants");
-    var origCwd = process.cwd;
-    var cwd = null;
-    var platform = process.env.GRACEFUL_FS_PLATFORM || process.platform;
-    process.cwd = function() {
-      if (!cwd)
-        cwd = origCwd.call(process);
-      return cwd;
+// node_modules/compress-commons/lib/archivers/archive-entry.js
+var require_archive_entry = __commonJS({
+  "node_modules/compress-commons/lib/archivers/archive-entry.js"(exports2, module2) {
+    var ArchiveEntry = module2.exports = function() {
     };
-    try {
-      process.cwd();
-    } catch (er) {
-    }
-    if (typeof process.chdir === "function") {
-      chdir = process.chdir;
-      process.chdir = function(d) {
-        cwd = null;
-        chdir.call(process, d);
-      };
-      if (Object.setPrototypeOf) Object.setPrototypeOf(process.chdir, chdir);
-    }
-    var chdir;
-    module2.exports = patch;
-    function patch(fs18) {
-      if (constants.hasOwnProperty("O_SYMLINK") && process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) {
-        patchLchmod(fs18);
-      }
-      if (!fs18.lutimes) {
-        patchLutimes(fs18);
-      }
-      fs18.chown = chownFix(fs18.chown);
-      fs18.fchown = chownFix(fs18.fchown);
-      fs18.lchown = chownFix(fs18.lchown);
-      fs18.chmod = chmodFix(fs18.chmod);
-      fs18.fchmod = chmodFix(fs18.fchmod);
-      fs18.lchmod = chmodFix(fs18.lchmod);
-      fs18.chownSync = chownFixSync(fs18.chownSync);
-      fs18.fchownSync = chownFixSync(fs18.fchownSync);
-      fs18.lchownSync = chownFixSync(fs18.lchownSync);
-      fs18.chmodSync = chmodFixSync(fs18.chmodSync);
-      fs18.fchmodSync = chmodFixSync(fs18.fchmodSync);
-      fs18.lchmodSync = chmodFixSync(fs18.lchmodSync);
-      fs18.stat = statFix(fs18.stat);
-      fs18.fstat = statFix(fs18.fstat);
-      fs18.lstat = statFix(fs18.lstat);
-      fs18.statSync = statFixSync(fs18.statSync);
-      fs18.fstatSync = statFixSync(fs18.fstatSync);
-      fs18.lstatSync = statFixSync(fs18.lstatSync);
-      if (fs18.chmod && !fs18.lchmod) {
-        fs18.lchmod = function(path16, mode, cb) {
-          if (cb) process.nextTick(cb);
-        };
-        fs18.lchmodSync = function() {
-        };
-      }
-      if (fs18.chown && !fs18.lchown) {
-        fs18.lchown = function(path16, uid, gid, cb) {
-          if (cb) process.nextTick(cb);
-        };
-        fs18.lchownSync = function() {
-        };
+    ArchiveEntry.prototype.getName = function() {
+    };
+    ArchiveEntry.prototype.getSize = function() {
+    };
+    ArchiveEntry.prototype.getLastModifiedDate = function() {
+    };
+    ArchiveEntry.prototype.isDirectory = function() {
+    };
+  }
+});
+
+// node_modules/compress-commons/lib/archivers/zip/util.js
+var require_util22 = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/util.js"(exports2, module2) {
+    var util = module2.exports = {};
+    util.dateToDos = function(d, forceLocalTime) {
+      forceLocalTime = forceLocalTime || false;
+      var year = forceLocalTime ? d.getFullYear() : d.getUTCFullYear();
+      if (year < 1980) {
+        return 2162688;
+      } else if (year >= 2044) {
+        return 2141175677;
       }
-      if (platform === "win32") {
-        fs18.rename = typeof fs18.rename !== "function" ? fs18.rename : (function(fs$rename) {
-          function rename(from, to, cb) {
-            var start = Date.now();
-            var backoff = 0;
-            fs$rename(from, to, function CB(er) {
-              if (er && (er.code === "EACCES" || er.code === "EPERM") && Date.now() - start < 6e4) {
-                setTimeout(function() {
-                  fs18.stat(to, function(stater, st) {
-                    if (stater && stater.code === "ENOENT")
-                      fs$rename(from, to, CB);
-                    else
-                      cb(er);
-                  });
-                }, backoff);
-                if (backoff < 100)
-                  backoff += 10;
-                return;
-              }
-              if (cb) cb(er);
-            });
-          }
-          if (Object.setPrototypeOf) Object.setPrototypeOf(rename, fs$rename);
-          return rename;
-        })(fs18.rename);
+      var val = {
+        year,
+        month: forceLocalTime ? d.getMonth() : d.getUTCMonth(),
+        date: forceLocalTime ? d.getDate() : d.getUTCDate(),
+        hours: forceLocalTime ? d.getHours() : d.getUTCHours(),
+        minutes: forceLocalTime ? d.getMinutes() : d.getUTCMinutes(),
+        seconds: forceLocalTime ? d.getSeconds() : d.getUTCSeconds()
+      };
+      return val.year - 1980 << 25 | val.month + 1 << 21 | val.date << 16 | val.hours << 11 | val.minutes << 5 | val.seconds / 2;
+    };
+    util.dosToDate = function(dos) {
+      return new Date((dos >> 25 & 127) + 1980, (dos >> 21 & 15) - 1, dos >> 16 & 31, dos >> 11 & 31, dos >> 5 & 63, (dos & 31) << 1);
+    };
+    util.fromDosTime = function(buf) {
+      return util.dosToDate(buf.readUInt32LE(0));
+    };
+    util.getEightBytes = function(v) {
+      var buf = Buffer.alloc(8);
+      buf.writeUInt32LE(v % 4294967296, 0);
+      buf.writeUInt32LE(v / 4294967296 | 0, 4);
+      return buf;
+    };
+    util.getShortBytes = function(v) {
+      var buf = Buffer.alloc(2);
+      buf.writeUInt16LE((v & 65535) >>> 0, 0);
+      return buf;
+    };
+    util.getShortBytesValue = function(buf, offset) {
+      return buf.readUInt16LE(offset);
+    };
+    util.getLongBytes = function(v) {
+      var buf = Buffer.alloc(4);
+      buf.writeUInt32LE((v & 4294967295) >>> 0, 0);
+      return buf;
+    };
+    util.getLongBytesValue = function(buf, offset) {
+      return buf.readUInt32LE(offset);
+    };
+    util.toDosTime = function(d) {
+      return util.getLongBytes(util.dateToDos(d));
+    };
+  }
+});
+
+// node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js
+var require_general_purpose_bit = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js"(exports2, module2) {
+    var zipUtil = require_util22();
+    var DATA_DESCRIPTOR_FLAG = 1 << 3;
+    var ENCRYPTION_FLAG = 1 << 0;
+    var NUMBER_OF_SHANNON_FANO_TREES_FLAG = 1 << 2;
+    var SLIDING_DICTIONARY_SIZE_FLAG = 1 << 1;
+    var STRONG_ENCRYPTION_FLAG = 1 << 6;
+    var UFT8_NAMES_FLAG = 1 << 11;
+    var GeneralPurposeBit = module2.exports = function() {
+      if (!(this instanceof GeneralPurposeBit)) {
+        return new GeneralPurposeBit();
       }
-      fs18.read = typeof fs18.read !== "function" ? fs18.read : (function(fs$read) {
-        function read(fd, buffer, offset, length, position, callback_) {
-          var callback;
-          if (callback_ && typeof callback_ === "function") {
-            var eagCounter = 0;
-            callback = function(er, _2, __) {
-              if (er && er.code === "EAGAIN" && eagCounter < 10) {
-                eagCounter++;
-                return fs$read.call(fs18, fd, buffer, offset, length, position, callback);
-              }
-              callback_.apply(this, arguments);
-            };
-          }
-          return fs$read.call(fs18, fd, buffer, offset, length, position, callback);
-        }
-        if (Object.setPrototypeOf) Object.setPrototypeOf(read, fs$read);
-        return read;
-      })(fs18.read);
-      fs18.readSync = typeof fs18.readSync !== "function" ? fs18.readSync : /* @__PURE__ */ (function(fs$readSync) {
-        return function(fd, buffer, offset, length, position) {
-          var eagCounter = 0;
-          while (true) {
-            try {
-              return fs$readSync.call(fs18, fd, buffer, offset, length, position);
-            } catch (er) {
-              if (er.code === "EAGAIN" && eagCounter < 10) {
-                eagCounter++;
-                continue;
-              }
-              throw er;
-            }
-          }
-        };
-      })(fs18.readSync);
-      function patchLchmod(fs19) {
-        fs19.lchmod = function(path16, mode, callback) {
-          fs19.open(
-            path16,
-            constants.O_WRONLY | constants.O_SYMLINK,
-            mode,
-            function(err, fd) {
-              if (err) {
-                if (callback) callback(err);
-                return;
-              }
-              fs19.fchmod(fd, mode, function(err2) {
-                fs19.close(fd, function(err22) {
-                  if (callback) callback(err2 || err22);
-                });
-              });
-            }
-          );
-        };
-        fs19.lchmodSync = function(path16, mode) {
-          var fd = fs19.openSync(path16, constants.O_WRONLY | constants.O_SYMLINK, mode);
-          var threw = true;
-          var ret;
-          try {
-            ret = fs19.fchmodSync(fd, mode);
-            threw = false;
-          } finally {
-            if (threw) {
-              try {
-                fs19.closeSync(fd);
-              } catch (er) {
-              }
-            } else {
-              fs19.closeSync(fd);
-            }
-          }
-          return ret;
-        };
+      this.descriptor = false;
+      this.encryption = false;
+      this.utf8 = false;
+      this.numberOfShannonFanoTrees = 0;
+      this.strongEncryption = false;
+      this.slidingDictionarySize = 0;
+      return this;
+    };
+    GeneralPurposeBit.prototype.encode = function() {
+      return zipUtil.getShortBytes(
+        (this.descriptor ? DATA_DESCRIPTOR_FLAG : 0) | (this.utf8 ? UFT8_NAMES_FLAG : 0) | (this.encryption ? ENCRYPTION_FLAG : 0) | (this.strongEncryption ? STRONG_ENCRYPTION_FLAG : 0)
+      );
+    };
+    GeneralPurposeBit.prototype.parse = function(buf, offset) {
+      var flag = zipUtil.getShortBytesValue(buf, offset);
+      var gbp = new GeneralPurposeBit();
+      gbp.useDataDescriptor((flag & DATA_DESCRIPTOR_FLAG) !== 0);
+      gbp.useUTF8ForNames((flag & UFT8_NAMES_FLAG) !== 0);
+      gbp.useStrongEncryption((flag & STRONG_ENCRYPTION_FLAG) !== 0);
+      gbp.useEncryption((flag & ENCRYPTION_FLAG) !== 0);
+      gbp.setSlidingDictionarySize((flag & SLIDING_DICTIONARY_SIZE_FLAG) !== 0 ? 8192 : 4096);
+      gbp.setNumberOfShannonFanoTrees((flag & NUMBER_OF_SHANNON_FANO_TREES_FLAG) !== 0 ? 3 : 2);
+      return gbp;
+    };
+    GeneralPurposeBit.prototype.setNumberOfShannonFanoTrees = function(n) {
+      this.numberOfShannonFanoTrees = n;
+    };
+    GeneralPurposeBit.prototype.getNumberOfShannonFanoTrees = function() {
+      return this.numberOfShannonFanoTrees;
+    };
+    GeneralPurposeBit.prototype.setSlidingDictionarySize = function(n) {
+      this.slidingDictionarySize = n;
+    };
+    GeneralPurposeBit.prototype.getSlidingDictionarySize = function() {
+      return this.slidingDictionarySize;
+    };
+    GeneralPurposeBit.prototype.useDataDescriptor = function(b) {
+      this.descriptor = b;
+    };
+    GeneralPurposeBit.prototype.usesDataDescriptor = function() {
+      return this.descriptor;
+    };
+    GeneralPurposeBit.prototype.useEncryption = function(b) {
+      this.encryption = b;
+    };
+    GeneralPurposeBit.prototype.usesEncryption = function() {
+      return this.encryption;
+    };
+    GeneralPurposeBit.prototype.useStrongEncryption = function(b) {
+      this.strongEncryption = b;
+    };
+    GeneralPurposeBit.prototype.usesStrongEncryption = function() {
+      return this.strongEncryption;
+    };
+    GeneralPurposeBit.prototype.useUTF8ForNames = function(b) {
+      this.utf8 = b;
+    };
+    GeneralPurposeBit.prototype.usesUTF8ForNames = function() {
+      return this.utf8;
+    };
+  }
+});
+
+// node_modules/compress-commons/lib/archivers/zip/unix-stat.js
+var require_unix_stat = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/unix-stat.js"(exports2, module2) {
+    module2.exports = {
+      /**
+       * Bits used for permissions (and sticky bit)
+       */
+      PERM_MASK: 4095,
+      // 07777
+      /**
+       * Bits used to indicate the filesystem object type.
+       */
+      FILE_TYPE_FLAG: 61440,
+      // 0170000
+      /**
+       * Indicates symbolic links.
+       */
+      LINK_FLAG: 40960,
+      // 0120000
+      /**
+       * Indicates plain files.
+       */
+      FILE_FLAG: 32768,
+      // 0100000
+      /**
+       * Indicates directories.
+       */
+      DIR_FLAG: 16384,
+      // 040000
+      // ----------------------------------------------------------
+      // somewhat arbitrary choices that are quite common for shared
+      // installations
+      // -----------------------------------------------------------
+      /**
+       * Default permissions for symbolic links.
+       */
+      DEFAULT_LINK_PERM: 511,
+      // 0777
+      /**
+       * Default permissions for directories.
+       */
+      DEFAULT_DIR_PERM: 493,
+      // 0755
+      /**
+       * Default permissions for plain files.
+       */
+      DEFAULT_FILE_PERM: 420
+      // 0644
+    };
+  }
+});
+
+// node_modules/compress-commons/lib/archivers/zip/constants.js
+var require_constants18 = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/constants.js"(exports2, module2) {
+    module2.exports = {
+      WORD: 4,
+      DWORD: 8,
+      EMPTY: Buffer.alloc(0),
+      SHORT: 2,
+      SHORT_MASK: 65535,
+      SHORT_SHIFT: 16,
+      SHORT_ZERO: Buffer.from(Array(2)),
+      LONG: 4,
+      LONG_ZERO: Buffer.from(Array(4)),
+      MIN_VERSION_INITIAL: 10,
+      MIN_VERSION_DATA_DESCRIPTOR: 20,
+      MIN_VERSION_ZIP64: 45,
+      VERSION_MADEBY: 45,
+      METHOD_STORED: 0,
+      METHOD_DEFLATED: 8,
+      PLATFORM_UNIX: 3,
+      PLATFORM_FAT: 0,
+      SIG_LFH: 67324752,
+      SIG_DD: 134695760,
+      SIG_CFH: 33639248,
+      SIG_EOCD: 101010256,
+      SIG_ZIP64_EOCD: 101075792,
+      SIG_ZIP64_EOCD_LOC: 117853008,
+      ZIP64_MAGIC_SHORT: 65535,
+      ZIP64_MAGIC: 4294967295,
+      ZIP64_EXTRA_ID: 1,
+      ZLIB_NO_COMPRESSION: 0,
+      ZLIB_BEST_SPEED: 1,
+      ZLIB_BEST_COMPRESSION: 9,
+      ZLIB_DEFAULT_COMPRESSION: -1,
+      MODE_MASK: 4095,
+      DEFAULT_FILE_MODE: 33188,
+      // 010644 = -rw-r--r-- = S_IFREG | S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
+      DEFAULT_DIR_MODE: 16877,
+      // 040755 = drwxr-xr-x = S_IFDIR | S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH
+      EXT_FILE_ATTR_DIR: 1106051088,
+      // 010173200020 = drwxr-xr-x = (((S_IFDIR | 0755) << 16) | S_DOS_D)
+      EXT_FILE_ATTR_FILE: 2175008800,
+      // 020151000040 = -rw-r--r-- = (((S_IFREG | 0644) << 16) | S_DOS_A) >>> 0
+      // Unix file types
+      S_IFMT: 61440,
+      // 0170000 type of file mask
+      S_IFIFO: 4096,
+      // 010000 named pipe (fifo)
+      S_IFCHR: 8192,
+      // 020000 character special
+      S_IFDIR: 16384,
+      // 040000 directory
+      S_IFBLK: 24576,
+      // 060000 block special
+      S_IFREG: 32768,
+      // 0100000 regular
+      S_IFLNK: 40960,
+      // 0120000 symbolic link
+      S_IFSOCK: 49152,
+      // 0140000 socket
+      // DOS file type flags
+      S_DOS_A: 32,
+      // 040 Archive
+      S_DOS_D: 16,
+      // 020 Directory
+      S_DOS_V: 8,
+      // 010 Volume
+      S_DOS_S: 4,
+      // 04 System
+      S_DOS_H: 2,
+      // 02 Hidden
+      S_DOS_R: 1
+      // 01 Read Only
+    };
+  }
+});
+
+// node_modules/compress-commons/lib/archivers/zip/zip-archive-entry.js
+var require_zip_archive_entry = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/zip-archive-entry.js"(exports2, module2) {
+    var inherits = require("util").inherits;
+    var normalizePath = require_normalize_path();
+    var ArchiveEntry = require_archive_entry();
+    var GeneralPurposeBit = require_general_purpose_bit();
+    var UnixStat = require_unix_stat();
+    var constants = require_constants18();
+    var zipUtil = require_util22();
+    var ZipArchiveEntry = module2.exports = function(name) {
+      if (!(this instanceof ZipArchiveEntry)) {
+        return new ZipArchiveEntry(name);
       }
-      function patchLutimes(fs19) {
-        if (constants.hasOwnProperty("O_SYMLINK") && fs19.futimes) {
-          fs19.lutimes = function(path16, at, mt, cb) {
-            fs19.open(path16, constants.O_SYMLINK, function(er, fd) {
-              if (er) {
-                if (cb) cb(er);
-                return;
-              }
-              fs19.futimes(fd, at, mt, function(er2) {
-                fs19.close(fd, function(er22) {
-                  if (cb) cb(er2 || er22);
-                });
-              });
-            });
-          };
-          fs19.lutimesSync = function(path16, at, mt) {
-            var fd = fs19.openSync(path16, constants.O_SYMLINK);
-            var ret;
-            var threw = true;
-            try {
-              ret = fs19.futimesSync(fd, at, mt);
-              threw = false;
-            } finally {
-              if (threw) {
-                try {
-                  fs19.closeSync(fd);
-                } catch (er) {
-                }
-              } else {
-                fs19.closeSync(fd);
-              }
-            }
-            return ret;
-          };
-        } else if (fs19.futimes) {
-          fs19.lutimes = function(_a, _b, _c, cb) {
-            if (cb) process.nextTick(cb);
-          };
-          fs19.lutimesSync = function() {
-          };
-        }
+      ArchiveEntry.call(this);
+      this.platform = constants.PLATFORM_FAT;
+      this.method = -1;
+      this.name = null;
+      this.size = 0;
+      this.csize = 0;
+      this.gpb = new GeneralPurposeBit();
+      this.crc = 0;
+      this.time = -1;
+      this.minver = constants.MIN_VERSION_INITIAL;
+      this.mode = -1;
+      this.extra = null;
+      this.exattr = 0;
+      this.inattr = 0;
+      this.comment = null;
+      if (name) {
+        this.setName(name);
       }
-      function chmodFix(orig) {
-        if (!orig) return orig;
-        return function(target, mode, cb) {
-          return orig.call(fs18, target, mode, function(er) {
-            if (chownErOk(er)) er = null;
-            if (cb) cb.apply(this, arguments);
-          });
-        };
+    };
+    inherits(ZipArchiveEntry, ArchiveEntry);
+    ZipArchiveEntry.prototype.getCentralDirectoryExtra = function() {
+      return this.getExtra();
+    };
+    ZipArchiveEntry.prototype.getComment = function() {
+      return this.comment !== null ? this.comment : "";
+    };
+    ZipArchiveEntry.prototype.getCompressedSize = function() {
+      return this.csize;
+    };
+    ZipArchiveEntry.prototype.getCrc = function() {
+      return this.crc;
+    };
+    ZipArchiveEntry.prototype.getExternalAttributes = function() {
+      return this.exattr;
+    };
+    ZipArchiveEntry.prototype.getExtra = function() {
+      return this.extra !== null ? this.extra : constants.EMPTY;
+    };
+    ZipArchiveEntry.prototype.getGeneralPurposeBit = function() {
+      return this.gpb;
+    };
+    ZipArchiveEntry.prototype.getInternalAttributes = function() {
+      return this.inattr;
+    };
+    ZipArchiveEntry.prototype.getLastModifiedDate = function() {
+      return this.getTime();
+    };
+    ZipArchiveEntry.prototype.getLocalFileDataExtra = function() {
+      return this.getExtra();
+    };
+    ZipArchiveEntry.prototype.getMethod = function() {
+      return this.method;
+    };
+    ZipArchiveEntry.prototype.getName = function() {
+      return this.name;
+    };
+    ZipArchiveEntry.prototype.getPlatform = function() {
+      return this.platform;
+    };
+    ZipArchiveEntry.prototype.getSize = function() {
+      return this.size;
+    };
+    ZipArchiveEntry.prototype.getTime = function() {
+      return this.time !== -1 ? zipUtil.dosToDate(this.time) : -1;
+    };
+    ZipArchiveEntry.prototype.getTimeDos = function() {
+      return this.time !== -1 ? this.time : 0;
+    };
+    ZipArchiveEntry.prototype.getUnixMode = function() {
+      return this.platform !== constants.PLATFORM_UNIX ? 0 : this.getExternalAttributes() >> constants.SHORT_SHIFT & constants.SHORT_MASK;
+    };
+    ZipArchiveEntry.prototype.getVersionNeededToExtract = function() {
+      return this.minver;
+    };
+    ZipArchiveEntry.prototype.setComment = function(comment) {
+      if (Buffer.byteLength(comment) !== comment.length) {
+        this.getGeneralPurposeBit().useUTF8ForNames(true);
       }
-      function chmodFixSync(orig) {
-        if (!orig) return orig;
-        return function(target, mode) {
-          try {
-            return orig.call(fs18, target, mode);
-          } catch (er) {
-            if (!chownErOk(er)) throw er;
-          }
-        };
+      this.comment = comment;
+    };
+    ZipArchiveEntry.prototype.setCompressedSize = function(size) {
+      if (size < 0) {
+        throw new Error("invalid entry compressed size");
       }
-      function chownFix(orig) {
-        if (!orig) return orig;
-        return function(target, uid, gid, cb) {
-          return orig.call(fs18, target, uid, gid, function(er) {
-            if (chownErOk(er)) er = null;
-            if (cb) cb.apply(this, arguments);
-          });
-        };
+      this.csize = size;
+    };
+    ZipArchiveEntry.prototype.setCrc = function(crc) {
+      if (crc < 0) {
+        throw new Error("invalid entry crc32");
       }
-      function chownFixSync(orig) {
-        if (!orig) return orig;
-        return function(target, uid, gid) {
-          try {
-            return orig.call(fs18, target, uid, gid);
-          } catch (er) {
-            if (!chownErOk(er)) throw er;
-          }
-        };
+      this.crc = crc;
+    };
+    ZipArchiveEntry.prototype.setExternalAttributes = function(attr) {
+      this.exattr = attr >>> 0;
+    };
+    ZipArchiveEntry.prototype.setExtra = function(extra) {
+      this.extra = extra;
+    };
+    ZipArchiveEntry.prototype.setGeneralPurposeBit = function(gpb) {
+      if (!(gpb instanceof GeneralPurposeBit)) {
+        throw new Error("invalid entry GeneralPurposeBit");
       }
-      function statFix(orig) {
-        if (!orig) return orig;
-        return function(target, options, cb) {
-          if (typeof options === "function") {
-            cb = options;
-            options = null;
-          }
-          function callback(er, stats) {
-            if (stats) {
-              if (stats.uid < 0) stats.uid += 4294967296;
-              if (stats.gid < 0) stats.gid += 4294967296;
-            }
-            if (cb) cb.apply(this, arguments);
-          }
-          return options ? orig.call(fs18, target, options, callback) : orig.call(fs18, target, callback);
-        };
+      this.gpb = gpb;
+    };
+    ZipArchiveEntry.prototype.setInternalAttributes = function(attr) {
+      this.inattr = attr;
+    };
+    ZipArchiveEntry.prototype.setMethod = function(method) {
+      if (method < 0) {
+        throw new Error("invalid entry compression method");
       }
-      function statFixSync(orig) {
-        if (!orig) return orig;
-        return function(target, options) {
-          var stats = options ? orig.call(fs18, target, options) : orig.call(fs18, target);
-          if (stats) {
-            if (stats.uid < 0) stats.uid += 4294967296;
-            if (stats.gid < 0) stats.gid += 4294967296;
-          }
-          return stats;
-        };
+      this.method = method;
+    };
+    ZipArchiveEntry.prototype.setName = function(name, prependSlash = false) {
+      name = normalizePath(name, false).replace(/^\w+:/, "").replace(/^(\.\.\/|\/)+/, "");
+      if (prependSlash) {
+        name = `/${name}`;
       }
-      function chownErOk(er) {
-        if (!er)
-          return true;
-        if (er.code === "ENOSYS")
-          return true;
-        var nonroot = !process.getuid || process.getuid() !== 0;
-        if (nonroot) {
-          if (er.code === "EINVAL" || er.code === "EPERM")
-            return true;
-        }
-        return false;
+      if (Buffer.byteLength(name) !== name.length) {
+        this.getGeneralPurposeBit().useUTF8ForNames(true);
       }
-    }
-  }
-});
-
-// node_modules/graceful-fs/legacy-streams.js
-var require_legacy_streams = __commonJS({
-  "node_modules/graceful-fs/legacy-streams.js"(exports2, module2) {
-    var Stream = require("stream").Stream;
-    module2.exports = legacy;
-    function legacy(fs18) {
-      return {
-        ReadStream,
-        WriteStream
-      };
-      function ReadStream(path16, options) {
-        if (!(this instanceof ReadStream)) return new ReadStream(path16, options);
-        Stream.call(this);
-        var self2 = this;
-        this.path = path16;
-        this.fd = null;
-        this.readable = true;
-        this.paused = false;
-        this.flags = "r";
-        this.mode = 438;
-        this.bufferSize = 64 * 1024;
-        options = options || {};
-        var keys = Object.keys(options);
-        for (var index = 0, length = keys.length; index < length; index++) {
-          var key = keys[index];
-          this[key] = options[key];
-        }
-        if (this.encoding) this.setEncoding(this.encoding);
-        if (this.start !== void 0) {
-          if ("number" !== typeof this.start) {
-            throw TypeError("start must be a Number");
-          }
-          if (this.end === void 0) {
-            this.end = Infinity;
-          } else if ("number" !== typeof this.end) {
-            throw TypeError("end must be a Number");
-          }
-          if (this.start > this.end) {
-            throw new Error("start must be <= end");
-          }
-          this.pos = this.start;
-        }
-        if (this.fd !== null) {
-          process.nextTick(function() {
-            self2._read();
-          });
-          return;
-        }
-        fs18.open(this.path, this.flags, this.mode, function(err, fd) {
-          if (err) {
-            self2.emit("error", err);
-            self2.readable = false;
-            return;
-          }
-          self2.fd = fd;
-          self2.emit("open", fd);
-          self2._read();
-        });
+      this.name = name;
+    };
+    ZipArchiveEntry.prototype.setPlatform = function(platform) {
+      this.platform = platform;
+    };
+    ZipArchiveEntry.prototype.setSize = function(size) {
+      if (size < 0) {
+        throw new Error("invalid entry size");
       }
-      function WriteStream(path16, options) {
-        if (!(this instanceof WriteStream)) return new WriteStream(path16, options);
-        Stream.call(this);
-        this.path = path16;
-        this.fd = null;
-        this.writable = true;
-        this.flags = "w";
-        this.encoding = "binary";
-        this.mode = 438;
-        this.bytesWritten = 0;
-        options = options || {};
-        var keys = Object.keys(options);
-        for (var index = 0, length = keys.length; index < length; index++) {
-          var key = keys[index];
-          this[key] = options[key];
-        }
-        if (this.start !== void 0) {
-          if ("number" !== typeof this.start) {
-            throw TypeError("start must be a Number");
-          }
-          if (this.start < 0) {
-            throw new Error("start must be >= zero");
-          }
-          this.pos = this.start;
-        }
-        this.busy = false;
-        this._queue = [];
-        if (this.fd === null) {
-          this._open = fs18.open;
-          this._queue.push([this._open, this.path, this.flags, this.mode, void 0]);
-          this.flush();
-        }
+      this.size = size;
+    };
+    ZipArchiveEntry.prototype.setTime = function(time, forceLocalTime) {
+      if (!(time instanceof Date)) {
+        throw new Error("invalid entry time");
       }
-    }
+      this.time = zipUtil.dateToDos(time, forceLocalTime);
+    };
+    ZipArchiveEntry.prototype.setUnixMode = function(mode) {
+      mode |= this.isDirectory() ? constants.S_IFDIR : constants.S_IFREG;
+      var extattr = 0;
+      extattr |= mode << constants.SHORT_SHIFT | (this.isDirectory() ? constants.S_DOS_D : constants.S_DOS_A);
+      this.setExternalAttributes(extattr);
+      this.mode = mode & constants.MODE_MASK;
+      this.platform = constants.PLATFORM_UNIX;
+    };
+    ZipArchiveEntry.prototype.setVersionNeededToExtract = function(minver) {
+      this.minver = minver;
+    };
+    ZipArchiveEntry.prototype.isDirectory = function() {
+      return this.getName().slice(-1) === "/";
+    };
+    ZipArchiveEntry.prototype.isUnixSymlink = function() {
+      return (this.getUnixMode() & UnixStat.FILE_TYPE_FLAG) === UnixStat.LINK_FLAG;
+    };
+    ZipArchiveEntry.prototype.isZip64 = function() {
+      return this.csize > constants.ZIP64_MAGIC || this.size > constants.ZIP64_MAGIC;
+    };
   }
 });
 
-// node_modules/graceful-fs/clone.js
-var require_clone = __commonJS({
-  "node_modules/graceful-fs/clone.js"(exports2, module2) {
+// node_modules/compress-commons/node_modules/is-stream/index.js
+var require_is_stream2 = __commonJS({
+  "node_modules/compress-commons/node_modules/is-stream/index.js"(exports2, module2) {
     "use strict";
-    module2.exports = clone;
-    var getPrototypeOf = Object.getPrototypeOf || function(obj) {
-      return obj.__proto__;
+    var isStream = (stream2) => stream2 !== null && typeof stream2 === "object" && typeof stream2.pipe === "function";
+    isStream.writable = (stream2) => isStream(stream2) && stream2.writable !== false && typeof stream2._write === "function" && typeof stream2._writableState === "object";
+    isStream.readable = (stream2) => isStream(stream2) && stream2.readable !== false && typeof stream2._read === "function" && typeof stream2._readableState === "object";
+    isStream.duplex = (stream2) => isStream.writable(stream2) && isStream.readable(stream2);
+    isStream.transform = (stream2) => isStream.duplex(stream2) && typeof stream2._transform === "function";
+    module2.exports = isStream;
+  }
+});
+
+// node_modules/compress-commons/lib/util/index.js
+var require_util23 = __commonJS({
+  "node_modules/compress-commons/lib/util/index.js"(exports2, module2) {
+    var Stream = require("stream").Stream;
+    var PassThrough = require_ours().PassThrough;
+    var isStream = require_is_stream2();
+    var util = module2.exports = {};
+    util.normalizeInputSource = function(source) {
+      if (source === null) {
+        return Buffer.alloc(0);
+      } else if (typeof source === "string") {
+        return Buffer.from(source);
+      } else if (isStream(source) && !source._readableState) {
+        var normalized = new PassThrough();
+        source.pipe(normalized);
+        return normalized;
+      }
+      return source;
     };
-    function clone(obj) {
-      if (obj === null || typeof obj !== "object")
-        return obj;
-      if (obj instanceof Object)
-        var copy = { __proto__: getPrototypeOf(obj) };
-      else
-        var copy = /* @__PURE__ */ Object.create(null);
-      Object.getOwnPropertyNames(obj).forEach(function(key) {
-        Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key));
-      });
-      return copy;
-    }
   }
 });
 
-// node_modules/graceful-fs/graceful-fs.js
-var require_graceful_fs = __commonJS({
-  "node_modules/graceful-fs/graceful-fs.js"(exports2, module2) {
-    var fs18 = require("fs");
-    var polyfills = require_polyfills();
-    var legacy = require_legacy_streams();
-    var clone = require_clone();
-    var util = require("util");
-    var gracefulQueue;
-    var previousSymbol;
-    if (typeof Symbol === "function" && typeof Symbol.for === "function") {
-      gracefulQueue = /* @__PURE__ */ Symbol.for("graceful-fs.queue");
-      previousSymbol = /* @__PURE__ */ Symbol.for("graceful-fs.previous");
-    } else {
-      gracefulQueue = "___graceful-fs.queue";
-      previousSymbol = "___graceful-fs.previous";
-    }
-    function noop3() {
-    }
-    function publishQueue(context3, queue2) {
-      Object.defineProperty(context3, gracefulQueue, {
-        get: function() {
-          return queue2;
-        }
-      });
-    }
-    var debug5 = noop3;
-    if (util.debuglog)
-      debug5 = util.debuglog("gfs4");
-    else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || ""))
-      debug5 = function() {
-        var m = util.format.apply(util, arguments);
-        m = "GFS4: " + m.split(/\n/).join("\nGFS4: ");
-        console.error(m);
+// node_modules/compress-commons/lib/archivers/archive-output-stream.js
+var require_archive_output_stream = __commonJS({
+  "node_modules/compress-commons/lib/archivers/archive-output-stream.js"(exports2, module2) {
+    var inherits = require("util").inherits;
+    var isStream = require_is_stream2();
+    var Transform = require_ours().Transform;
+    var ArchiveEntry = require_archive_entry();
+    var util = require_util23();
+    var ArchiveOutputStream = module2.exports = function(options) {
+      if (!(this instanceof ArchiveOutputStream)) {
+        return new ArchiveOutputStream(options);
+      }
+      Transform.call(this, options);
+      this.offset = 0;
+      this._archive = {
+        finish: false,
+        finished: false,
+        processing: false
       };
-    if (!fs18[gracefulQueue]) {
-      queue = global[gracefulQueue] || [];
-      publishQueue(fs18, queue);
-      fs18.close = (function(fs$close) {
-        function close(fd, cb) {
-          return fs$close.call(fs18, fd, function(err) {
-            if (!err) {
-              resetQueue();
-            }
-            if (typeof cb === "function")
-              cb.apply(this, arguments);
-          });
-        }
-        Object.defineProperty(close, previousSymbol, {
-          value: fs$close
-        });
-        return close;
-      })(fs18.close);
-      fs18.closeSync = (function(fs$closeSync) {
-        function closeSync(fd) {
-          fs$closeSync.apply(fs18, arguments);
-          resetQueue();
-        }
-        Object.defineProperty(closeSync, previousSymbol, {
-          value: fs$closeSync
-        });
-        return closeSync;
-      })(fs18.closeSync);
-      if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || "")) {
-        process.on("exit", function() {
-          debug5(fs18[gracefulQueue]);
-          require("assert").equal(fs18[gracefulQueue].length, 0);
-        });
+    };
+    inherits(ArchiveOutputStream, Transform);
+    ArchiveOutputStream.prototype._appendBuffer = function(zae, source, callback) {
+    };
+    ArchiveOutputStream.prototype._appendStream = function(zae, source, callback) {
+    };
+    ArchiveOutputStream.prototype._emitErrorCallback = function(err) {
+      if (err) {
+        this.emit("error", err);
       }
-    }
-    var queue;
-    if (!global[gracefulQueue]) {
-      publishQueue(global, fs18[gracefulQueue]);
-    }
-    module2.exports = patch(clone(fs18));
-    if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs18.__patched) {
-      module2.exports = patch(fs18);
-      fs18.__patched = true;
-    }
-    function patch(fs19) {
-      polyfills(fs19);
-      fs19.gracefulify = patch;
-      fs19.createReadStream = createReadStream2;
-      fs19.createWriteStream = createWriteStream3;
-      var fs$readFile = fs19.readFile;
-      fs19.readFile = readFile;
-      function readFile(path16, options, cb) {
-        if (typeof options === "function")
-          cb = options, options = null;
-        return go$readFile(path16, options, cb);
-        function go$readFile(path17, options2, cb2, startTime) {
-          return fs$readFile(path17, options2, function(err) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([go$readFile, [path17, options2, cb2], err, startTime || Date.now(), Date.now()]);
-            else {
-              if (typeof cb2 === "function")
-                cb2.apply(this, arguments);
-            }
-          });
-        }
+    };
+    ArchiveOutputStream.prototype._finish = function(ae) {
+    };
+    ArchiveOutputStream.prototype._normalizeEntry = function(ae) {
+    };
+    ArchiveOutputStream.prototype._transform = function(chunk, encoding, callback) {
+      callback(null, chunk);
+    };
+    ArchiveOutputStream.prototype.entry = function(ae, source, callback) {
+      source = source || null;
+      if (typeof callback !== "function") {
+        callback = this._emitErrorCallback.bind(this);
       }
-      var fs$writeFile = fs19.writeFile;
-      fs19.writeFile = writeFile;
-      function writeFile(path16, data, options, cb) {
-        if (typeof options === "function")
-          cb = options, options = null;
-        return go$writeFile(path16, data, options, cb);
-        function go$writeFile(path17, data2, options2, cb2, startTime) {
-          return fs$writeFile(path17, data2, options2, function(err) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([go$writeFile, [path17, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
-            else {
-              if (typeof cb2 === "function")
-                cb2.apply(this, arguments);
-            }
-          });
-        }
+      if (!(ae instanceof ArchiveEntry)) {
+        callback(new Error("not a valid instance of ArchiveEntry"));
+        return;
       }
-      var fs$appendFile = fs19.appendFile;
-      if (fs$appendFile)
-        fs19.appendFile = appendFile;
-      function appendFile(path16, data, options, cb) {
-        if (typeof options === "function")
-          cb = options, options = null;
-        return go$appendFile(path16, data, options, cb);
-        function go$appendFile(path17, data2, options2, cb2, startTime) {
-          return fs$appendFile(path17, data2, options2, function(err) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([go$appendFile, [path17, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
-            else {
-              if (typeof cb2 === "function")
-                cb2.apply(this, arguments);
-            }
-          });
-        }
+      if (this._archive.finish || this._archive.finished) {
+        callback(new Error("unacceptable entry after finish"));
+        return;
       }
-      var fs$copyFile = fs19.copyFile;
-      if (fs$copyFile)
-        fs19.copyFile = copyFile2;
-      function copyFile2(src, dest, flags, cb) {
-        if (typeof flags === "function") {
-          cb = flags;
-          flags = 0;
-        }
-        return go$copyFile(src, dest, flags, cb);
-        function go$copyFile(src2, dest2, flags2, cb2, startTime) {
-          return fs$copyFile(src2, dest2, flags2, function(err) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([go$copyFile, [src2, dest2, flags2, cb2], err, startTime || Date.now(), Date.now()]);
-            else {
-              if (typeof cb2 === "function")
-                cb2.apply(this, arguments);
-            }
-          });
-        }
+      if (this._archive.processing) {
+        callback(new Error("already processing an entry"));
+        return;
       }
-      var fs$readdir = fs19.readdir;
-      fs19.readdir = readdir;
-      var noReaddirOptionVersions = /^v[0-5]\./;
-      function readdir(path16, options, cb) {
-        if (typeof options === "function")
-          cb = options, options = null;
-        var go$readdir = noReaddirOptionVersions.test(process.version) ? function go$readdir2(path17, options2, cb2, startTime) {
-          return fs$readdir(path17, fs$readdirCallback(
-            path17,
-            options2,
-            cb2,
-            startTime
-          ));
-        } : function go$readdir2(path17, options2, cb2, startTime) {
-          return fs$readdir(path17, options2, fs$readdirCallback(
-            path17,
-            options2,
-            cb2,
-            startTime
-          ));
-        };
-        return go$readdir(path16, options, cb);
-        function fs$readdirCallback(path17, options2, cb2, startTime) {
-          return function(err, files) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([
-                go$readdir,
-                [path17, options2, cb2],
-                err,
-                startTime || Date.now(),
-                Date.now()
-              ]);
-            else {
-              if (files && files.sort)
-                files.sort();
-              if (typeof cb2 === "function")
-                cb2.call(this, err, files);
-            }
-          };
-        }
+      this._archive.processing = true;
+      this._normalizeEntry(ae);
+      this._entry = ae;
+      source = util.normalizeInputSource(source);
+      if (Buffer.isBuffer(source)) {
+        this._appendBuffer(ae, source, callback);
+      } else if (isStream(source)) {
+        this._appendStream(ae, source, callback);
+      } else {
+        this._archive.processing = false;
+        callback(new Error("input source must be valid Stream or Buffer instance"));
+        return;
       }
-      if (process.version.substr(0, 4) === "v0.8") {
-        var legStreams = legacy(fs19);
-        ReadStream = legStreams.ReadStream;
-        WriteStream = legStreams.WriteStream;
+      return this;
+    };
+    ArchiveOutputStream.prototype.finish = function() {
+      if (this._archive.processing) {
+        this._archive.finish = true;
+        return;
       }
-      var fs$ReadStream = fs19.ReadStream;
-      if (fs$ReadStream) {
-        ReadStream.prototype = Object.create(fs$ReadStream.prototype);
-        ReadStream.prototype.open = ReadStream$open;
+      this._finish();
+    };
+    ArchiveOutputStream.prototype.getBytesWritten = function() {
+      return this.offset;
+    };
+    ArchiveOutputStream.prototype.write = function(chunk, cb) {
+      if (chunk) {
+        this.offset += chunk.length;
       }
-      var fs$WriteStream = fs19.WriteStream;
-      if (fs$WriteStream) {
-        WriteStream.prototype = Object.create(fs$WriteStream.prototype);
-        WriteStream.prototype.open = WriteStream$open;
+      return Transform.prototype.write.call(this, chunk, cb);
+    };
+  }
+});
+
+// node_modules/crc-32/crc32.js
+var require_crc32 = __commonJS({
+  "node_modules/crc-32/crc32.js"(exports2) {
+    var CRC32;
+    (function(factory) {
+      if (typeof DO_NOT_EXPORT_CRC === "undefined") {
+        if ("object" === typeof exports2) {
+          factory(exports2);
+        } else if ("function" === typeof define && define.amd) {
+          define(function() {
+            var module3 = {};
+            factory(module3);
+            return module3;
+          });
+        } else {
+          factory(CRC32 = {});
+        }
+      } else {
+        factory(CRC32 = {});
       }
-      Object.defineProperty(fs19, "ReadStream", {
-        get: function() {
-          return ReadStream;
-        },
-        set: function(val) {
-          ReadStream = val;
-        },
-        enumerable: true,
-        configurable: true
-      });
-      Object.defineProperty(fs19, "WriteStream", {
-        get: function() {
-          return WriteStream;
-        },
-        set: function(val) {
-          WriteStream = val;
-        },
-        enumerable: true,
-        configurable: true
-      });
-      var FileReadStream = ReadStream;
-      Object.defineProperty(fs19, "FileReadStream", {
-        get: function() {
-          return FileReadStream;
-        },
-        set: function(val) {
-          FileReadStream = val;
-        },
-        enumerable: true,
-        configurable: true
-      });
-      var FileWriteStream = WriteStream;
-      Object.defineProperty(fs19, "FileWriteStream", {
-        get: function() {
-          return FileWriteStream;
-        },
-        set: function(val) {
-          FileWriteStream = val;
-        },
-        enumerable: true,
-        configurable: true
-      });
-      function ReadStream(path16, options) {
-        if (this instanceof ReadStream)
-          return fs$ReadStream.apply(this, arguments), this;
-        else
-          return ReadStream.apply(Object.create(ReadStream.prototype), arguments);
+    })(function(CRC322) {
+      CRC322.version = "1.2.2";
+      function signed_crc_table() {
+        var c = 0, table = new Array(256);
+        for (var n = 0; n != 256; ++n) {
+          c = n;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          table[n] = c;
+        }
+        return typeof Int32Array !== "undefined" ? new Int32Array(table) : table;
       }
-      function ReadStream$open() {
-        var that = this;
-        open(that.path, that.flags, that.mode, function(err, fd) {
-          if (err) {
-            if (that.autoClose)
-              that.destroy();
-            that.emit("error", err);
-          } else {
-            that.fd = fd;
-            that.emit("open", fd);
-            that.read();
-          }
-        });
+      var T0 = signed_crc_table();
+      function slice_by_16_tables(T) {
+        var c = 0, v = 0, n = 0, table = typeof Int32Array !== "undefined" ? new Int32Array(4096) : new Array(4096);
+        for (n = 0; n != 256; ++n) table[n] = T[n];
+        for (n = 0; n != 256; ++n) {
+          v = T[n];
+          for (c = 256 + n; c < 4096; c += 256) v = table[c] = v >>> 8 ^ T[v & 255];
+        }
+        var out = [];
+        for (n = 1; n != 16; ++n) out[n - 1] = typeof Int32Array !== "undefined" ? table.subarray(n * 256, n * 256 + 256) : table.slice(n * 256, n * 256 + 256);
+        return out;
       }
-      function WriteStream(path16, options) {
-        if (this instanceof WriteStream)
-          return fs$WriteStream.apply(this, arguments), this;
-        else
-          return WriteStream.apply(Object.create(WriteStream.prototype), arguments);
+      var TT = slice_by_16_tables(T0);
+      var T1 = TT[0], T2 = TT[1], T3 = TT[2], T4 = TT[3], T5 = TT[4];
+      var T6 = TT[5], T7 = TT[6], T8 = TT[7], T9 = TT[8], Ta = TT[9];
+      var Tb = TT[10], Tc = TT[11], Td = TT[12], Te = TT[13], Tf = TT[14];
+      function crc32_bstr(bstr, seed) {
+        var C = seed ^ -1;
+        for (var i = 0, L = bstr.length; i < L; ) C = C >>> 8 ^ T0[(C ^ bstr.charCodeAt(i++)) & 255];
+        return ~C;
       }
-      function WriteStream$open() {
-        var that = this;
-        open(that.path, that.flags, that.mode, function(err, fd) {
-          if (err) {
-            that.destroy();
-            that.emit("error", err);
+      function crc32_buf(B, seed) {
+        var C = seed ^ -1, L = B.length - 15, i = 0;
+        for (; i < L; ) C = Tf[B[i++] ^ C & 255] ^ Te[B[i++] ^ C >> 8 & 255] ^ Td[B[i++] ^ C >> 16 & 255] ^ Tc[B[i++] ^ C >>> 24] ^ Tb[B[i++]] ^ Ta[B[i++]] ^ T9[B[i++]] ^ T8[B[i++]] ^ T7[B[i++]] ^ T6[B[i++]] ^ T5[B[i++]] ^ T4[B[i++]] ^ T3[B[i++]] ^ T2[B[i++]] ^ T1[B[i++]] ^ T0[B[i++]];
+        L += 15;
+        while (i < L) C = C >>> 8 ^ T0[(C ^ B[i++]) & 255];
+        return ~C;
+      }
+      function crc32_str(str2, seed) {
+        var C = seed ^ -1;
+        for (var i = 0, L = str2.length, c = 0, d = 0; i < L; ) {
+          c = str2.charCodeAt(i++);
+          if (c < 128) {
+            C = C >>> 8 ^ T0[(C ^ c) & 255];
+          } else if (c < 2048) {
+            C = C >>> 8 ^ T0[(C ^ (192 | c >> 6 & 31)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | c & 63)) & 255];
+          } else if (c >= 55296 && c < 57344) {
+            c = (c & 1023) + 64;
+            d = str2.charCodeAt(i++) & 1023;
+            C = C >>> 8 ^ T0[(C ^ (240 | c >> 8 & 7)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | c >> 2 & 63)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | d >> 6 & 15 | (c & 3) << 4)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | d & 63)) & 255];
           } else {
-            that.fd = fd;
-            that.emit("open", fd);
+            C = C >>> 8 ^ T0[(C ^ (224 | c >> 12 & 15)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | c >> 6 & 63)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | c & 63)) & 255];
           }
-        });
-      }
-      function createReadStream2(path16, options) {
-        return new fs19.ReadStream(path16, options);
+        }
+        return ~C;
       }
-      function createWriteStream3(path16, options) {
-        return new fs19.WriteStream(path16, options);
+      CRC322.table = T0;
+      CRC322.bstr = crc32_bstr;
+      CRC322.buf = crc32_buf;
+      CRC322.str = crc32_str;
+    });
+  }
+});
+
+// node_modules/crc32-stream/lib/crc32-stream.js
+var require_crc32_stream = __commonJS({
+  "node_modules/crc32-stream/lib/crc32-stream.js"(exports2, module2) {
+    "use strict";
+    var { Transform } = require_ours();
+    var crc32 = require_crc32();
+    var CRC32Stream = class extends Transform {
+      constructor(options) {
+        super(options);
+        this.checksum = Buffer.allocUnsafe(4);
+        this.checksum.writeInt32BE(0, 0);
+        this.rawSize = 0;
       }
-      var fs$open = fs19.open;
-      fs19.open = open;
-      function open(path16, flags, mode, cb) {
-        if (typeof mode === "function")
-          cb = mode, mode = null;
-        return go$open(path16, flags, mode, cb);
-        function go$open(path17, flags2, mode2, cb2, startTime) {
-          return fs$open(path17, flags2, mode2, function(err, fd) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([go$open, [path17, flags2, mode2, cb2], err, startTime || Date.now(), Date.now()]);
-            else {
-              if (typeof cb2 === "function")
-                cb2.apply(this, arguments);
-            }
-          });
+      _transform(chunk, encoding, callback) {
+        if (chunk) {
+          this.checksum = crc32.buf(chunk, this.checksum) >>> 0;
+          this.rawSize += chunk.length;
         }
+        callback(null, chunk);
       }
-      return fs19;
-    }
-    function enqueue(elem) {
-      debug5("ENQUEUE", elem[0].name, elem[1]);
-      fs18[gracefulQueue].push(elem);
-      retry2();
-    }
-    var retryTimer;
-    function resetQueue() {
-      var now = Date.now();
-      for (var i = 0; i < fs18[gracefulQueue].length; ++i) {
-        if (fs18[gracefulQueue][i].length > 2) {
-          fs18[gracefulQueue][i][3] = now;
-          fs18[gracefulQueue][i][4] = now;
-        }
+      digest(encoding) {
+        const checksum = Buffer.allocUnsafe(4);
+        checksum.writeUInt32BE(this.checksum >>> 0, 0);
+        return encoding ? checksum.toString(encoding) : checksum;
       }
-      retry2();
-    }
-    function retry2() {
-      clearTimeout(retryTimer);
-      retryTimer = void 0;
-      if (fs18[gracefulQueue].length === 0)
-        return;
-      var elem = fs18[gracefulQueue].shift();
-      var fn = elem[0];
-      var args = elem[1];
-      var err = elem[2];
-      var startTime = elem[3];
-      var lastTime = elem[4];
-      if (startTime === void 0) {
-        debug5("RETRY", fn.name, args);
-        fn.apply(null, args);
-      } else if (Date.now() - startTime >= 6e4) {
-        debug5("TIMEOUT", fn.name, args);
-        var cb = args.pop();
-        if (typeof cb === "function")
-          cb.call(null, err);
-      } else {
-        var sinceAttempt = Date.now() - lastTime;
-        var sinceStart = Math.max(lastTime - startTime, 1);
-        var desiredDelay = Math.min(sinceStart * 1.2, 100);
-        if (sinceAttempt >= desiredDelay) {
-          debug5("RETRY", fn.name, args);
-          fn.apply(null, args.concat([startTime]));
-        } else {
-          fs18[gracefulQueue].push(elem);
-        }
+      hex() {
+        return this.digest("hex").toUpperCase();
       }
-      if (retryTimer === void 0) {
-        retryTimer = setTimeout(retry2, 0);
+      size() {
+        return this.rawSize;
       }
-    }
-  }
-});
-
-// node_modules/archiver-utils/node_modules/is-stream/index.js
-var require_is_stream = __commonJS({
-  "node_modules/archiver-utils/node_modules/is-stream/index.js"(exports2, module2) {
-    "use strict";
-    var isStream = (stream2) => stream2 !== null && typeof stream2 === "object" && typeof stream2.pipe === "function";
-    isStream.writable = (stream2) => isStream(stream2) && stream2.writable !== false && typeof stream2._write === "function" && typeof stream2._writableState === "object";
-    isStream.readable = (stream2) => isStream(stream2) && stream2.readable !== false && typeof stream2._read === "function" && typeof stream2._readableState === "object";
-    isStream.duplex = (stream2) => isStream.writable(stream2) && isStream.readable(stream2);
-    isStream.transform = (stream2) => isStream.duplex(stream2) && typeof stream2._transform === "function";
-    module2.exports = isStream;
+    };
+    module2.exports = CRC32Stream;
   }
 });
 
-// node_modules/process-nextick-args/index.js
-var require_process_nextick_args = __commonJS({
-  "node_modules/process-nextick-args/index.js"(exports2, module2) {
+// node_modules/crc32-stream/lib/deflate-crc32-stream.js
+var require_deflate_crc32_stream = __commonJS({
+  "node_modules/crc32-stream/lib/deflate-crc32-stream.js"(exports2, module2) {
     "use strict";
-    if (typeof process === "undefined" || !process.version || process.version.indexOf("v0.") === 0 || process.version.indexOf("v1.") === 0 && process.version.indexOf("v1.8.") !== 0) {
-      module2.exports = { nextTick };
-    } else {
-      module2.exports = process;
-    }
-    function nextTick(fn, arg1, arg2, arg3) {
-      if (typeof fn !== "function") {
-        throw new TypeError('"callback" argument must be a function');
-      }
-      var len = arguments.length;
-      var args, i;
-      switch (len) {
-        case 0:
-        case 1:
-          return process.nextTick(fn);
-        case 2:
-          return process.nextTick(function afterTickOne() {
-            fn.call(null, arg1);
-          });
-        case 3:
-          return process.nextTick(function afterTickTwo() {
-            fn.call(null, arg1, arg2);
-          });
-        case 4:
-          return process.nextTick(function afterTickThree() {
-            fn.call(null, arg1, arg2, arg3);
-          });
-        default:
-          args = new Array(len - 1);
-          i = 0;
-          while (i < args.length) {
-            args[i++] = arguments[i];
-          }
-          return process.nextTick(function afterTick() {
-            fn.apply(null, args);
-          });
+    var { DeflateRaw } = require("zlib");
+    var crc32 = require_crc32();
+    var DeflateCRC32Stream = class extends DeflateRaw {
+      constructor(options) {
+        super(options);
+        this.checksum = Buffer.allocUnsafe(4);
+        this.checksum.writeInt32BE(0, 0);
+        this.rawSize = 0;
+        this.compressedSize = 0;
+      }
+      push(chunk, encoding) {
+        if (chunk) {
+          this.compressedSize += chunk.length;
+        }
+        return super.push(chunk, encoding);
+      }
+      _transform(chunk, encoding, callback) {
+        if (chunk) {
+          this.checksum = crc32.buf(chunk, this.checksum) >>> 0;
+          this.rawSize += chunk.length;
+        }
+        super._transform(chunk, encoding, callback);
+      }
+      digest(encoding) {
+        const checksum = Buffer.allocUnsafe(4);
+        checksum.writeUInt32BE(this.checksum >>> 0, 0);
+        return encoding ? checksum.toString(encoding) : checksum;
+      }
+      hex() {
+        return this.digest("hex").toUpperCase();
+      }
+      size(compressed = false) {
+        if (compressed) {
+          return this.compressedSize;
+        } else {
+          return this.rawSize;
+        }
       }
-    }
-  }
-});
-
-// node_modules/lazystream/node_modules/isarray/index.js
-var require_isarray = __commonJS({
-  "node_modules/lazystream/node_modules/isarray/index.js"(exports2, module2) {
-    var toString3 = {}.toString;
-    module2.exports = Array.isArray || function(arr) {
-      return toString3.call(arr) == "[object Array]";
     };
+    module2.exports = DeflateCRC32Stream;
   }
 });
 
-// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/stream.js
-var require_stream = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/stream.js"(exports2, module2) {
-    module2.exports = require("stream");
+// node_modules/crc32-stream/lib/index.js
+var require_lib3 = __commonJS({
+  "node_modules/crc32-stream/lib/index.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      CRC32Stream: require_crc32_stream(),
+      DeflateCRC32Stream: require_deflate_crc32_stream()
+    };
   }
 });
 
-// node_modules/lazystream/node_modules/safe-buffer/index.js
-var require_safe_buffer = __commonJS({
-  "node_modules/lazystream/node_modules/safe-buffer/index.js"(exports2, module2) {
-    var buffer = require("buffer");
-    var Buffer2 = buffer.Buffer;
-    function copyProps(src, dst) {
-      for (var key in src) {
-        dst[key] = src[key];
+// node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js
+var require_zip_archive_output_stream = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js"(exports2, module2) {
+    var inherits = require("util").inherits;
+    var crc32 = require_crc32();
+    var { CRC32Stream } = require_lib3();
+    var { DeflateCRC32Stream } = require_lib3();
+    var ArchiveOutputStream = require_archive_output_stream();
+    var ZipArchiveEntry = require_zip_archive_entry();
+    var GeneralPurposeBit = require_general_purpose_bit();
+    var constants = require_constants18();
+    var util = require_util23();
+    var zipUtil = require_util22();
+    var ZipArchiveOutputStream = module2.exports = function(options) {
+      if (!(this instanceof ZipArchiveOutputStream)) {
+        return new ZipArchiveOutputStream(options);
       }
-    }
-    if (Buffer2.from && Buffer2.alloc && Buffer2.allocUnsafe && Buffer2.allocUnsafeSlow) {
-      module2.exports = buffer;
-    } else {
-      copyProps(buffer, exports2);
-      exports2.Buffer = SafeBuffer;
-    }
-    function SafeBuffer(arg, encodingOrOffset, length) {
-      return Buffer2(arg, encodingOrOffset, length);
-    }
-    copyProps(Buffer2, SafeBuffer);
-    SafeBuffer.from = function(arg, encodingOrOffset, length) {
-      if (typeof arg === "number") {
-        throw new TypeError("Argument must not be a number");
+      options = this.options = this._defaults(options);
+      ArchiveOutputStream.call(this, options);
+      this._entry = null;
+      this._entries = [];
+      this._archive = {
+        centralLength: 0,
+        centralOffset: 0,
+        comment: "",
+        finish: false,
+        finished: false,
+        processing: false,
+        forceZip64: options.forceZip64,
+        forceLocalTime: options.forceLocalTime
+      };
+    };
+    inherits(ZipArchiveOutputStream, ArchiveOutputStream);
+    ZipArchiveOutputStream.prototype._afterAppend = function(ae) {
+      this._entries.push(ae);
+      if (ae.getGeneralPurposeBit().usesDataDescriptor()) {
+        this._writeDataDescriptor(ae);
+      }
+      this._archive.processing = false;
+      this._entry = null;
+      if (this._archive.finish && !this._archive.finished) {
+        this._finish();
       }
-      return Buffer2(arg, encodingOrOffset, length);
     };
-    SafeBuffer.alloc = function(size, fill, encoding) {
-      if (typeof size !== "number") {
-        throw new TypeError("Argument must be a number");
+    ZipArchiveOutputStream.prototype._appendBuffer = function(ae, source, callback) {
+      if (source.length === 0) {
+        ae.setMethod(constants.METHOD_STORED);
       }
-      var buf = Buffer2(size);
-      if (fill !== void 0) {
-        if (typeof encoding === "string") {
-          buf.fill(fill, encoding);
-        } else {
-          buf.fill(fill);
-        }
+      var method = ae.getMethod();
+      if (method === constants.METHOD_STORED) {
+        ae.setSize(source.length);
+        ae.setCompressedSize(source.length);
+        ae.setCrc(crc32.buf(source) >>> 0);
+      }
+      this._writeLocalFileHeader(ae);
+      if (method === constants.METHOD_STORED) {
+        this.write(source);
+        this._afterAppend(ae);
+        callback(null, ae);
+        return;
+      } else if (method === constants.METHOD_DEFLATED) {
+        this._smartStream(ae, callback).end(source);
+        return;
       } else {
-        buf.fill(0);
+        callback(new Error("compression method " + method + " not implemented"));
+        return;
       }
-      return buf;
     };
-    SafeBuffer.allocUnsafe = function(size) {
-      if (typeof size !== "number") {
-        throw new TypeError("Argument must be a number");
+    ZipArchiveOutputStream.prototype._appendStream = function(ae, source, callback) {
+      ae.getGeneralPurposeBit().useDataDescriptor(true);
+      ae.setVersionNeededToExtract(constants.MIN_VERSION_DATA_DESCRIPTOR);
+      this._writeLocalFileHeader(ae);
+      var smart = this._smartStream(ae, callback);
+      source.once("error", function(err) {
+        smart.emit("error", err);
+        smart.end();
+      });
+      source.pipe(smart);
+    };
+    ZipArchiveOutputStream.prototype._defaults = function(o) {
+      if (typeof o !== "object") {
+        o = {};
       }
-      return Buffer2(size);
+      if (typeof o.zlib !== "object") {
+        o.zlib = {};
+      }
+      if (typeof o.zlib.level !== "number") {
+        o.zlib.level = constants.ZLIB_BEST_SPEED;
+      }
+      o.forceZip64 = !!o.forceZip64;
+      o.forceLocalTime = !!o.forceLocalTime;
+      return o;
     };
-    SafeBuffer.allocUnsafeSlow = function(size) {
-      if (typeof size !== "number") {
-        throw new TypeError("Argument must be a number");
+    ZipArchiveOutputStream.prototype._finish = function() {
+      this._archive.centralOffset = this.offset;
+      this._entries.forEach(function(ae) {
+        this._writeCentralFileHeader(ae);
+      }.bind(this));
+      this._archive.centralLength = this.offset - this._archive.centralOffset;
+      if (this.isZip64()) {
+        this._writeCentralDirectoryZip64();
       }
-      return buffer.SlowBuffer(size);
+      this._writeCentralDirectoryEnd();
+      this._archive.processing = false;
+      this._archive.finish = true;
+      this._archive.finished = true;
+      this.end();
     };
-  }
-});
-
-// node_modules/core-util-is/lib/util.js
-var require_util19 = __commonJS({
-  "node_modules/core-util-is/lib/util.js"(exports2) {
-    function isArray(arg) {
-      if (Array.isArray) {
-        return Array.isArray(arg);
+    ZipArchiveOutputStream.prototype._normalizeEntry = function(ae) {
+      if (ae.getMethod() === -1) {
+        ae.setMethod(constants.METHOD_DEFLATED);
       }
-      return objectToString(arg) === "[object Array]";
-    }
-    exports2.isArray = isArray;
-    function isBoolean2(arg) {
-      return typeof arg === "boolean";
-    }
-    exports2.isBoolean = isBoolean2;
-    function isNull2(arg) {
-      return arg === null;
-    }
-    exports2.isNull = isNull2;
-    function isNullOrUndefined(arg) {
-      return arg == null;
-    }
-    exports2.isNullOrUndefined = isNullOrUndefined;
-    function isNumber(arg) {
-      return typeof arg === "number";
-    }
-    exports2.isNumber = isNumber;
-    function isString(arg) {
-      return typeof arg === "string";
-    }
-    exports2.isString = isString;
-    function isSymbol(arg) {
-      return typeof arg === "symbol";
-    }
-    exports2.isSymbol = isSymbol;
-    function isUndefined(arg) {
-      return arg === void 0;
-    }
-    exports2.isUndefined = isUndefined;
-    function isRegExp(re) {
-      return objectToString(re) === "[object RegExp]";
-    }
-    exports2.isRegExp = isRegExp;
-    function isObject2(arg) {
-      return typeof arg === "object" && arg !== null;
-    }
-    exports2.isObject = isObject2;
-    function isDate(d) {
-      return objectToString(d) === "[object Date]";
-    }
-    exports2.isDate = isDate;
-    function isError(e) {
-      return objectToString(e) === "[object Error]" || e instanceof Error;
-    }
-    exports2.isError = isError;
-    function isFunction(arg) {
-      return typeof arg === "function";
-    }
-    exports2.isFunction = isFunction;
-    function isPrimitive(arg) {
-      return arg === null || typeof arg === "boolean" || typeof arg === "number" || typeof arg === "string" || typeof arg === "symbol" || // ES6 symbol
-      typeof arg === "undefined";
-    }
-    exports2.isPrimitive = isPrimitive;
-    exports2.isBuffer = require("buffer").Buffer.isBuffer;
-    function objectToString(o) {
-      return Object.prototype.toString.call(o);
-    }
-  }
-});
-
-// node_modules/inherits/inherits_browser.js
-var require_inherits_browser = __commonJS({
-  "node_modules/inherits/inherits_browser.js"(exports2, module2) {
-    if (typeof Object.create === "function") {
-      module2.exports = function inherits(ctor, superCtor) {
-        ctor.super_ = superCtor;
-        ctor.prototype = Object.create(superCtor.prototype, {
-          constructor: {
-            value: ctor,
-            enumerable: false,
-            writable: true,
-            configurable: true
-          }
-        });
-      };
-    } else {
-      module2.exports = function inherits(ctor, superCtor) {
-        ctor.super_ = superCtor;
-        var TempCtor = function() {
-        };
-        TempCtor.prototype = superCtor.prototype;
-        ctor.prototype = new TempCtor();
-        ctor.prototype.constructor = ctor;
+      if (ae.getMethod() === constants.METHOD_DEFLATED) {
+        ae.getGeneralPurposeBit().useDataDescriptor(true);
+        ae.setVersionNeededToExtract(constants.MIN_VERSION_DATA_DESCRIPTOR);
+      }
+      if (ae.getTime() === -1) {
+        ae.setTime(/* @__PURE__ */ new Date(), this._archive.forceLocalTime);
+      }
+      ae._offsets = {
+        file: 0,
+        data: 0,
+        contents: 0
       };
-    }
+    };
+    ZipArchiveOutputStream.prototype._smartStream = function(ae, callback) {
+      var deflate = ae.getMethod() === constants.METHOD_DEFLATED;
+      var process2 = deflate ? new DeflateCRC32Stream(this.options.zlib) : new CRC32Stream();
+      var error3 = null;
+      function handleStuff() {
+        var digest = process2.digest().readUInt32BE(0);
+        ae.setCrc(digest);
+        ae.setSize(process2.size());
+        ae.setCompressedSize(process2.size(true));
+        this._afterAppend(ae);
+        callback(error3, ae);
+      }
+      process2.once("end", handleStuff.bind(this));
+      process2.once("error", function(err) {
+        error3 = err;
+      });
+      process2.pipe(this, { end: false });
+      return process2;
+    };
+    ZipArchiveOutputStream.prototype._writeCentralDirectoryEnd = function() {
+      var records = this._entries.length;
+      var size = this._archive.centralLength;
+      var offset = this._archive.centralOffset;
+      if (this.isZip64()) {
+        records = constants.ZIP64_MAGIC_SHORT;
+        size = constants.ZIP64_MAGIC;
+        offset = constants.ZIP64_MAGIC;
+      }
+      this.write(zipUtil.getLongBytes(constants.SIG_EOCD));
+      this.write(constants.SHORT_ZERO);
+      this.write(constants.SHORT_ZERO);
+      this.write(zipUtil.getShortBytes(records));
+      this.write(zipUtil.getShortBytes(records));
+      this.write(zipUtil.getLongBytes(size));
+      this.write(zipUtil.getLongBytes(offset));
+      var comment = this.getComment();
+      var commentLength = Buffer.byteLength(comment);
+      this.write(zipUtil.getShortBytes(commentLength));
+      this.write(comment);
+    };
+    ZipArchiveOutputStream.prototype._writeCentralDirectoryZip64 = function() {
+      this.write(zipUtil.getLongBytes(constants.SIG_ZIP64_EOCD));
+      this.write(zipUtil.getEightBytes(44));
+      this.write(zipUtil.getShortBytes(constants.MIN_VERSION_ZIP64));
+      this.write(zipUtil.getShortBytes(constants.MIN_VERSION_ZIP64));
+      this.write(constants.LONG_ZERO);
+      this.write(constants.LONG_ZERO);
+      this.write(zipUtil.getEightBytes(this._entries.length));
+      this.write(zipUtil.getEightBytes(this._entries.length));
+      this.write(zipUtil.getEightBytes(this._archive.centralLength));
+      this.write(zipUtil.getEightBytes(this._archive.centralOffset));
+      this.write(zipUtil.getLongBytes(constants.SIG_ZIP64_EOCD_LOC));
+      this.write(constants.LONG_ZERO);
+      this.write(zipUtil.getEightBytes(this._archive.centralOffset + this._archive.centralLength));
+      this.write(zipUtil.getLongBytes(1));
+    };
+    ZipArchiveOutputStream.prototype._writeCentralFileHeader = function(ae) {
+      var gpb = ae.getGeneralPurposeBit();
+      var method = ae.getMethod();
+      var fileOffset = ae._offsets.file;
+      var size = ae.getSize();
+      var compressedSize = ae.getCompressedSize();
+      if (ae.isZip64() || fileOffset > constants.ZIP64_MAGIC) {
+        size = constants.ZIP64_MAGIC;
+        compressedSize = constants.ZIP64_MAGIC;
+        fileOffset = constants.ZIP64_MAGIC;
+        ae.setVersionNeededToExtract(constants.MIN_VERSION_ZIP64);
+        var extraBuf = Buffer.concat([
+          zipUtil.getShortBytes(constants.ZIP64_EXTRA_ID),
+          zipUtil.getShortBytes(24),
+          zipUtil.getEightBytes(ae.getSize()),
+          zipUtil.getEightBytes(ae.getCompressedSize()),
+          zipUtil.getEightBytes(ae._offsets.file)
+        ], 28);
+        ae.setExtra(extraBuf);
+      }
+      this.write(zipUtil.getLongBytes(constants.SIG_CFH));
+      this.write(zipUtil.getShortBytes(ae.getPlatform() << 8 | constants.VERSION_MADEBY));
+      this.write(zipUtil.getShortBytes(ae.getVersionNeededToExtract()));
+      this.write(gpb.encode());
+      this.write(zipUtil.getShortBytes(method));
+      this.write(zipUtil.getLongBytes(ae.getTimeDos()));
+      this.write(zipUtil.getLongBytes(ae.getCrc()));
+      this.write(zipUtil.getLongBytes(compressedSize));
+      this.write(zipUtil.getLongBytes(size));
+      var name = ae.getName();
+      var comment = ae.getComment();
+      var extra = ae.getCentralDirectoryExtra();
+      if (gpb.usesUTF8ForNames()) {
+        name = Buffer.from(name);
+        comment = Buffer.from(comment);
+      }
+      this.write(zipUtil.getShortBytes(name.length));
+      this.write(zipUtil.getShortBytes(extra.length));
+      this.write(zipUtil.getShortBytes(comment.length));
+      this.write(constants.SHORT_ZERO);
+      this.write(zipUtil.getShortBytes(ae.getInternalAttributes()));
+      this.write(zipUtil.getLongBytes(ae.getExternalAttributes()));
+      this.write(zipUtil.getLongBytes(fileOffset));
+      this.write(name);
+      this.write(extra);
+      this.write(comment);
+    };
+    ZipArchiveOutputStream.prototype._writeDataDescriptor = function(ae) {
+      this.write(zipUtil.getLongBytes(constants.SIG_DD));
+      this.write(zipUtil.getLongBytes(ae.getCrc()));
+      if (ae.isZip64()) {
+        this.write(zipUtil.getEightBytes(ae.getCompressedSize()));
+        this.write(zipUtil.getEightBytes(ae.getSize()));
+      } else {
+        this.write(zipUtil.getLongBytes(ae.getCompressedSize()));
+        this.write(zipUtil.getLongBytes(ae.getSize()));
+      }
+    };
+    ZipArchiveOutputStream.prototype._writeLocalFileHeader = function(ae) {
+      var gpb = ae.getGeneralPurposeBit();
+      var method = ae.getMethod();
+      var name = ae.getName();
+      var extra = ae.getLocalFileDataExtra();
+      if (ae.isZip64()) {
+        gpb.useDataDescriptor(true);
+        ae.setVersionNeededToExtract(constants.MIN_VERSION_ZIP64);
+      }
+      if (gpb.usesUTF8ForNames()) {
+        name = Buffer.from(name);
+      }
+      ae._offsets.file = this.offset;
+      this.write(zipUtil.getLongBytes(constants.SIG_LFH));
+      this.write(zipUtil.getShortBytes(ae.getVersionNeededToExtract()));
+      this.write(gpb.encode());
+      this.write(zipUtil.getShortBytes(method));
+      this.write(zipUtil.getLongBytes(ae.getTimeDos()));
+      ae._offsets.data = this.offset;
+      if (gpb.usesDataDescriptor()) {
+        this.write(constants.LONG_ZERO);
+        this.write(constants.LONG_ZERO);
+        this.write(constants.LONG_ZERO);
+      } else {
+        this.write(zipUtil.getLongBytes(ae.getCrc()));
+        this.write(zipUtil.getLongBytes(ae.getCompressedSize()));
+        this.write(zipUtil.getLongBytes(ae.getSize()));
+      }
+      this.write(zipUtil.getShortBytes(name.length));
+      this.write(zipUtil.getShortBytes(extra.length));
+      this.write(name);
+      this.write(extra);
+      ae._offsets.contents = this.offset;
+    };
+    ZipArchiveOutputStream.prototype.getComment = function(comment) {
+      return this._archive.comment !== null ? this._archive.comment : "";
+    };
+    ZipArchiveOutputStream.prototype.isZip64 = function() {
+      return this._archive.forceZip64 || this._entries.length > constants.ZIP64_MAGIC_SHORT || this._archive.centralLength > constants.ZIP64_MAGIC || this._archive.centralOffset > constants.ZIP64_MAGIC;
+    };
+    ZipArchiveOutputStream.prototype.setComment = function(comment) {
+      this._archive.comment = comment;
+    };
   }
 });
 
-// node_modules/inherits/inherits.js
-var require_inherits = __commonJS({
-  "node_modules/inherits/inherits.js"(exports2, module2) {
-    try {
-      util = require("util");
-      if (typeof util.inherits !== "function") throw "";
-      module2.exports = util.inherits;
-    } catch (e) {
-      module2.exports = require_inherits_browser();
-    }
-    var util;
+// node_modules/compress-commons/lib/compress-commons.js
+var require_compress_commons = __commonJS({
+  "node_modules/compress-commons/lib/compress-commons.js"(exports2, module2) {
+    module2.exports = {
+      ArchiveEntry: require_archive_entry(),
+      ZipArchiveEntry: require_zip_archive_entry(),
+      ArchiveOutputStream: require_archive_output_stream(),
+      ZipArchiveOutputStream: require_zip_archive_output_stream()
+    };
   }
 });
 
-// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/BufferList.js
-var require_BufferList = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/BufferList.js"(exports2, module2) {
-    "use strict";
-    function _classCallCheck(instance, Constructor) {
-      if (!(instance instanceof Constructor)) {
-        throw new TypeError("Cannot call a class as a function");
+// node_modules/zip-stream/index.js
+var require_zip_stream = __commonJS({
+  "node_modules/zip-stream/index.js"(exports2, module2) {
+    var inherits = require("util").inherits;
+    var ZipArchiveOutputStream = require_compress_commons().ZipArchiveOutputStream;
+    var ZipArchiveEntry = require_compress_commons().ZipArchiveEntry;
+    var util = require_archiver_utils();
+    var ZipStream = module2.exports = function(options) {
+      if (!(this instanceof ZipStream)) {
+        return new ZipStream(options);
       }
-    }
-    var Buffer2 = require_safe_buffer().Buffer;
-    var util = require("util");
-    function copyBuffer(src, target, offset) {
-      src.copy(target, offset);
-    }
-    module2.exports = (function() {
-      function BufferList() {
-        _classCallCheck(this, BufferList);
-        this.head = null;
-        this.tail = null;
-        this.length = 0;
+      options = this.options = options || {};
+      options.zlib = options.zlib || {};
+      ZipArchiveOutputStream.call(this, options);
+      if (typeof options.level === "number" && options.level >= 0) {
+        options.zlib.level = options.level;
+        delete options.level;
       }
-      BufferList.prototype.push = function push(v) {
-        var entry = { data: v, next: null };
-        if (this.length > 0) this.tail.next = entry;
-        else this.head = entry;
-        this.tail = entry;
-        ++this.length;
-      };
-      BufferList.prototype.unshift = function unshift(v) {
-        var entry = { data: v, next: this.head };
-        if (this.length === 0) this.tail = entry;
-        this.head = entry;
-        ++this.length;
-      };
-      BufferList.prototype.shift = function shift() {
-        if (this.length === 0) return;
-        var ret = this.head.data;
-        if (this.length === 1) this.head = this.tail = null;
-        else this.head = this.head.next;
-        --this.length;
-        return ret;
-      };
-      BufferList.prototype.clear = function clear() {
-        this.head = this.tail = null;
-        this.length = 0;
-      };
-      BufferList.prototype.join = function join15(s) {
-        if (this.length === 0) return "";
-        var p = this.head;
-        var ret = "" + p.data;
-        while (p = p.next) {
-          ret += s + p.data;
-        }
-        return ret;
-      };
-      BufferList.prototype.concat = function concat(n) {
-        if (this.length === 0) return Buffer2.alloc(0);
-        var ret = Buffer2.allocUnsafe(n >>> 0);
-        var p = this.head;
-        var i = 0;
-        while (p) {
-          copyBuffer(p.data, ret, i);
-          i += p.data.length;
-          p = p.next;
-        }
-        return ret;
-      };
-      return BufferList;
-    })();
-    if (util && util.inspect && util.inspect.custom) {
-      module2.exports.prototype[util.inspect.custom] = function() {
-        var obj = util.inspect({ length: this.length });
-        return this.constructor.name + " " + obj;
-      };
-    }
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/destroy.js
-var require_destroy = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/destroy.js"(exports2, module2) {
-    "use strict";
-    var pna = require_process_nextick_args();
-    function destroy(err, cb) {
-      var _this = this;
-      var readableDestroyed = this._readableState && this._readableState.destroyed;
-      var writableDestroyed = this._writableState && this._writableState.destroyed;
-      if (readableDestroyed || writableDestroyed) {
-        if (cb) {
-          cb(err);
-        } else if (err) {
-          if (!this._writableState) {
-            pna.nextTick(emitErrorNT, this, err);
-          } else if (!this._writableState.errorEmitted) {
-            this._writableState.errorEmitted = true;
-            pna.nextTick(emitErrorNT, this, err);
-          }
+      if (!options.forceZip64 && typeof options.zlib.level === "number" && options.zlib.level === 0) {
+        options.store = true;
+      }
+      options.namePrependSlash = options.namePrependSlash || false;
+      if (options.comment && options.comment.length > 0) {
+        this.setComment(options.comment);
+      }
+    };
+    inherits(ZipStream, ZipArchiveOutputStream);
+    ZipStream.prototype._normalizeFileData = function(data) {
+      data = util.defaults(data, {
+        type: "file",
+        name: null,
+        namePrependSlash: this.options.namePrependSlash,
+        linkname: null,
+        date: null,
+        mode: null,
+        store: this.options.store,
+        comment: ""
+      });
+      var isDir = data.type === "directory";
+      var isSymlink = data.type === "symlink";
+      if (data.name) {
+        data.name = util.sanitizePath(data.name);
+        if (!isSymlink && data.name.slice(-1) === "/") {
+          isDir = true;
+          data.type = "directory";
+        } else if (isDir) {
+          data.name += "/";
         }
-        return this;
       }
-      if (this._readableState) {
-        this._readableState.destroyed = true;
+      if (isDir || isSymlink) {
+        data.store = true;
       }
-      if (this._writableState) {
-        this._writableState.destroyed = true;
+      data.date = util.dateify(data.date);
+      return data;
+    };
+    ZipStream.prototype.entry = function(source, data, callback) {
+      if (typeof callback !== "function") {
+        callback = this._emitErrorCallback.bind(this);
       }
-      this._destroy(err || null, function(err2) {
-        if (!cb && err2) {
-          if (!_this._writableState) {
-            pna.nextTick(emitErrorNT, _this, err2);
-          } else if (!_this._writableState.errorEmitted) {
-            _this._writableState.errorEmitted = true;
-            pna.nextTick(emitErrorNT, _this, err2);
-          }
-        } else if (cb) {
-          cb(err2);
+      data = this._normalizeFileData(data);
+      if (data.type !== "file" && data.type !== "directory" && data.type !== "symlink") {
+        callback(new Error(data.type + " entries not currently supported"));
+        return;
+      }
+      if (typeof data.name !== "string" || data.name.length === 0) {
+        callback(new Error("entry name must be a non-empty string value"));
+        return;
+      }
+      if (data.type === "symlink" && typeof data.linkname !== "string") {
+        callback(new Error("entry linkname must be a non-empty string value when type equals symlink"));
+        return;
+      }
+      var entry = new ZipArchiveEntry(data.name);
+      entry.setTime(data.date, this.options.forceLocalTime);
+      if (data.namePrependSlash) {
+        entry.setName(data.name, true);
+      }
+      if (data.store) {
+        entry.setMethod(0);
+      }
+      if (data.comment.length > 0) {
+        entry.setComment(data.comment);
+      }
+      if (data.type === "symlink" && typeof data.mode !== "number") {
+        data.mode = 40960;
+      }
+      if (typeof data.mode === "number") {
+        if (data.type === "symlink") {
+          data.mode |= 40960;
         }
-      });
-      return this;
-    }
-    function undestroy() {
-      if (this._readableState) {
-        this._readableState.destroyed = false;
-        this._readableState.reading = false;
-        this._readableState.ended = false;
-        this._readableState.endEmitted = false;
+        entry.setUnixMode(data.mode);
       }
-      if (this._writableState) {
-        this._writableState.destroyed = false;
-        this._writableState.ended = false;
-        this._writableState.ending = false;
-        this._writableState.finalCalled = false;
-        this._writableState.prefinished = false;
-        this._writableState.finished = false;
-        this._writableState.errorEmitted = false;
+      if (data.type === "symlink" && typeof data.linkname === "string") {
+        source = Buffer.from(data.linkname);
       }
-    }
-    function emitErrorNT(self2, err) {
-      self2.emit("error", err);
-    }
-    module2.exports = {
-      destroy,
-      undestroy
+      return ZipArchiveOutputStream.prototype.entry.call(this, entry, source, callback);
+    };
+    ZipStream.prototype.finalize = function() {
+      this.finish();
     };
   }
 });
 
-// node_modules/util-deprecate/node.js
-var require_node2 = __commonJS({
-  "node_modules/util-deprecate/node.js"(exports2, module2) {
-    module2.exports = require("util").deprecate;
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/lib/_stream_writable.js
-var require_stream_writable = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_writable.js"(exports2, module2) {
-    "use strict";
-    var pna = require_process_nextick_args();
-    module2.exports = Writable;
-    function CorkedRequest(state) {
-      var _this = this;
-      this.next = null;
-      this.entry = null;
-      this.finish = function() {
-        onCorkedFinish(_this, state);
+// node_modules/archiver/lib/plugins/zip.js
+var require_zip = __commonJS({
+  "node_modules/archiver/lib/plugins/zip.js"(exports2, module2) {
+    var engine = require_zip_stream();
+    var util = require_archiver_utils();
+    var Zip = function(options) {
+      if (!(this instanceof Zip)) {
+        return new Zip(options);
+      }
+      options = this.options = util.defaults(options, {
+        comment: "",
+        forceUTC: false,
+        namePrependSlash: false,
+        store: false
+      });
+      this.supports = {
+        directory: true,
+        symlink: true
       };
-    }
-    var asyncWrite = !process.browser && ["v0.10", "v0.9."].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick;
-    var Duplex;
-    Writable.WritableState = WritableState;
-    var util = Object.create(require_util19());
-    util.inherits = require_inherits();
-    var internalUtil = {
-      deprecate: require_node2()
+      this.engine = new engine(options);
     };
-    var Stream = require_stream();
-    var Buffer2 = require_safe_buffer().Buffer;
-    var OurUint8Array = (typeof global !== "undefined" ? global : typeof window !== "undefined" ? window : typeof self !== "undefined" ? self : {}).Uint8Array || function() {
+    Zip.prototype.append = function(source, data, callback) {
+      this.engine.entry(source, data, callback);
     };
-    function _uint8ArrayToBuffer(chunk) {
-      return Buffer2.from(chunk);
-    }
-    function _isUint8Array(obj) {
-      return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array;
-    }
-    var destroyImpl = require_destroy();
-    util.inherits(Writable, Stream);
-    function nop() {
-    }
-    function WritableState(options, stream2) {
-      Duplex = Duplex || require_stream_duplex();
-      options = options || {};
-      var isDuplex = stream2 instanceof Duplex;
-      this.objectMode = !!options.objectMode;
-      if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;
-      var hwm = options.highWaterMark;
-      var writableHwm = options.writableHighWaterMark;
-      var defaultHwm = this.objectMode ? 16 : 16 * 1024;
-      if (hwm || hwm === 0) this.highWaterMark = hwm;
-      else if (isDuplex && (writableHwm || writableHwm === 0)) this.highWaterMark = writableHwm;
-      else this.highWaterMark = defaultHwm;
-      this.highWaterMark = Math.floor(this.highWaterMark);
-      this.finalCalled = false;
-      this.needDrain = false;
-      this.ending = false;
-      this.ended = false;
-      this.finished = false;
-      this.destroyed = false;
-      var noDecode = options.decodeStrings === false;
-      this.decodeStrings = !noDecode;
-      this.defaultEncoding = options.defaultEncoding || "utf8";
-      this.length = 0;
-      this.writing = false;
-      this.corked = 0;
-      this.sync = true;
-      this.bufferProcessing = false;
-      this.onwrite = function(er) {
-        onwrite(stream2, er);
-      };
-      this.writecb = null;
-      this.writelen = 0;
-      this.bufferedRequest = null;
-      this.lastBufferedRequest = null;
-      this.pendingcb = 0;
-      this.prefinished = false;
-      this.errorEmitted = false;
-      this.bufferedRequestCount = 0;
-      this.corkedRequestsFree = new CorkedRequest(this);
-    }
-    WritableState.prototype.getBuffer = function getBuffer() {
-      var current = this.bufferedRequest;
-      var out = [];
-      while (current) {
-        out.push(current);
-        current = current.next;
-      }
-      return out;
+    Zip.prototype.finalize = function() {
+      this.engine.finalize();
     };
-    (function() {
-      try {
-        Object.defineProperty(WritableState.prototype, "buffer", {
-          get: internalUtil.deprecate(function() {
-            return this.getBuffer();
-          }, "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.", "DEP0003")
-        });
-      } catch (_2) {
-      }
-    })();
-    var realHasInstance;
-    if (typeof Symbol === "function" && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === "function") {
-      realHasInstance = Function.prototype[Symbol.hasInstance];
-      Object.defineProperty(Writable, Symbol.hasInstance, {
-        value: function(object) {
-          if (realHasInstance.call(this, object)) return true;
-          if (this !== Writable) return false;
-          return object && object._writableState instanceof WritableState;
-        }
-      });
-    } else {
-      realHasInstance = function(object) {
-        return object instanceof this;
-      };
-    }
-    function Writable(options) {
-      Duplex = Duplex || require_stream_duplex();
-      if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) {
-        return new Writable(options);
-      }
-      this._writableState = new WritableState(options, this);
-      this.writable = true;
-      if (options) {
-        if (typeof options.write === "function") this._write = options.write;
-        if (typeof options.writev === "function") this._writev = options.writev;
-        if (typeof options.destroy === "function") this._destroy = options.destroy;
-        if (typeof options.final === "function") this._final = options.final;
-      }
-      Stream.call(this);
-    }
-    Writable.prototype.pipe = function() {
-      this.emit("error", new Error("Cannot pipe, not readable"));
+    Zip.prototype.on = function() {
+      return this.engine.on.apply(this.engine, arguments);
     };
-    function writeAfterEnd(stream2, cb) {
-      var er = new Error("write after end");
-      stream2.emit("error", er);
-      pna.nextTick(cb, er);
-    }
-    function validChunk(stream2, state, chunk, cb) {
-      var valid3 = true;
-      var er = false;
-      if (chunk === null) {
-        er = new TypeError("May not write null values to stream");
-      } else if (typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) {
-        er = new TypeError("Invalid non-string/buffer chunk");
+    Zip.prototype.pipe = function() {
+      return this.engine.pipe.apply(this.engine, arguments);
+    };
+    Zip.prototype.unpipe = function() {
+      return this.engine.unpipe.apply(this.engine, arguments);
+    };
+    module2.exports = Zip;
+  }
+});
+
+// node_modules/queue-tick/queue-microtask.js
+var require_queue_microtask = __commonJS({
+  "node_modules/queue-tick/queue-microtask.js"(exports2, module2) {
+    module2.exports = typeof queueMicrotask === "function" ? queueMicrotask : (fn) => Promise.resolve().then(fn);
+  }
+});
+
+// node_modules/queue-tick/process-next-tick.js
+var require_process_next_tick = __commonJS({
+  "node_modules/queue-tick/process-next-tick.js"(exports2, module2) {
+    module2.exports = typeof process !== "undefined" && typeof process.nextTick === "function" ? process.nextTick.bind(process) : require_queue_microtask();
+  }
+});
+
+// node_modules/fast-fifo/fixed-size.js
+var require_fixed_size = __commonJS({
+  "node_modules/fast-fifo/fixed-size.js"(exports2, module2) {
+    module2.exports = class FixedFIFO {
+      constructor(hwm) {
+        if (!(hwm > 0) || (hwm - 1 & hwm) !== 0) throw new Error("Max size for a FixedFIFO should be a power of two");
+        this.buffer = new Array(hwm);
+        this.mask = hwm - 1;
+        this.top = 0;
+        this.btm = 0;
+        this.next = null;
       }
-      if (er) {
-        stream2.emit("error", er);
-        pna.nextTick(cb, er);
-        valid3 = false;
+      clear() {
+        this.top = this.btm = 0;
+        this.next = null;
+        this.buffer.fill(void 0);
       }
-      return valid3;
-    }
-    Writable.prototype.write = function(chunk, encoding, cb) {
-      var state = this._writableState;
-      var ret = false;
-      var isBuf = !state.objectMode && _isUint8Array(chunk);
-      if (isBuf && !Buffer2.isBuffer(chunk)) {
-        chunk = _uint8ArrayToBuffer(chunk);
+      push(data) {
+        if (this.buffer[this.top] !== void 0) return false;
+        this.buffer[this.top] = data;
+        this.top = this.top + 1 & this.mask;
+        return true;
       }
-      if (typeof encoding === "function") {
-        cb = encoding;
-        encoding = null;
+      shift() {
+        const last = this.buffer[this.btm];
+        if (last === void 0) return void 0;
+        this.buffer[this.btm] = void 0;
+        this.btm = this.btm + 1 & this.mask;
+        return last;
       }
-      if (isBuf) encoding = "buffer";
-      else if (!encoding) encoding = state.defaultEncoding;
-      if (typeof cb !== "function") cb = nop;
-      if (state.ended) writeAfterEnd(this, cb);
-      else if (isBuf || validChunk(this, state, chunk, cb)) {
-        state.pendingcb++;
-        ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);
+      peek() {
+        return this.buffer[this.btm];
       }
-      return ret;
-    };
-    Writable.prototype.cork = function() {
-      var state = this._writableState;
-      state.corked++;
-    };
-    Writable.prototype.uncork = function() {
-      var state = this._writableState;
-      if (state.corked) {
-        state.corked--;
-        if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);
+      isEmpty() {
+        return this.buffer[this.btm] === void 0;
       }
     };
-    Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {
-      if (typeof encoding === "string") encoding = encoding.toLowerCase();
-      if (!(["hex", "utf8", "utf-8", "ascii", "binary", "base64", "ucs2", "ucs-2", "utf16le", "utf-16le", "raw"].indexOf((encoding + "").toLowerCase()) > -1)) throw new TypeError("Unknown encoding: " + encoding);
-      this._writableState.defaultEncoding = encoding;
-      return this;
-    };
-    function decodeChunk(state, chunk, encoding) {
-      if (!state.objectMode && state.decodeStrings !== false && typeof chunk === "string") {
-        chunk = Buffer2.from(chunk, encoding);
+  }
+});
+
+// node_modules/fast-fifo/index.js
+var require_fast_fifo = __commonJS({
+  "node_modules/fast-fifo/index.js"(exports2, module2) {
+    var FixedFIFO = require_fixed_size();
+    module2.exports = class FastFIFO {
+      constructor(hwm) {
+        this.hwm = hwm || 16;
+        this.head = new FixedFIFO(this.hwm);
+        this.tail = this.head;
+        this.length = 0;
       }
-      return chunk;
-    }
-    Object.defineProperty(Writable.prototype, "writableHighWaterMark", {
-      // making it explicit this property is not enumerable
-      // because otherwise some prototype manipulation in
-      // userland will fail
-      enumerable: false,
-      get: function() {
-        return this._writableState.highWaterMark;
+      clear() {
+        this.head = this.tail;
+        this.head.clear();
+        this.length = 0;
       }
-    });
-    function writeOrBuffer(stream2, state, isBuf, chunk, encoding, cb) {
-      if (!isBuf) {
-        var newChunk = decodeChunk(state, chunk, encoding);
-        if (chunk !== newChunk) {
-          isBuf = true;
-          encoding = "buffer";
-          chunk = newChunk;
+      push(val) {
+        this.length++;
+        if (!this.head.push(val)) {
+          const prev = this.head;
+          this.head = prev.next = new FixedFIFO(2 * this.head.buffer.length);
+          this.head.push(val);
         }
       }
-      var len = state.objectMode ? 1 : chunk.length;
-      state.length += len;
-      var ret = state.length < state.highWaterMark;
-      if (!ret) state.needDrain = true;
-      if (state.writing || state.corked) {
-        var last = state.lastBufferedRequest;
-        state.lastBufferedRequest = {
-          chunk,
-          encoding,
-          isBuf,
-          callback: cb,
-          next: null
-        };
-        if (last) {
-          last.next = state.lastBufferedRequest;
-        } else {
-          state.bufferedRequest = state.lastBufferedRequest;
+      shift() {
+        if (this.length !== 0) this.length--;
+        const val = this.tail.shift();
+        if (val === void 0 && this.tail.next) {
+          const next = this.tail.next;
+          this.tail.next = null;
+          this.tail = next;
+          return this.tail.shift();
         }
-        state.bufferedRequestCount += 1;
-      } else {
-        doWrite(stream2, state, false, len, chunk, encoding, cb);
+        return val;
       }
-      return ret;
+      peek() {
+        const val = this.tail.peek();
+        if (val === void 0 && this.tail.next) return this.tail.next.peek();
+        return val;
+      }
+      isEmpty() {
+        return this.length === 0;
+      }
+    };
+  }
+});
+
+// node_modules/b4a/index.js
+var require_b4a = __commonJS({
+  "node_modules/b4a/index.js"(exports2, module2) {
+    function isBuffer(value) {
+      return Buffer.isBuffer(value) || value instanceof Uint8Array;
     }
-    function doWrite(stream2, state, writev, len, chunk, encoding, cb) {
-      state.writelen = len;
-      state.writecb = cb;
-      state.writing = true;
-      state.sync = true;
-      if (writev) stream2._writev(chunk, state.onwrite);
-      else stream2._write(chunk, encoding, state.onwrite);
-      state.sync = false;
+    function isEncoding(encoding) {
+      return Buffer.isEncoding(encoding);
     }
-    function onwriteError(stream2, state, sync, er, cb) {
-      --state.pendingcb;
-      if (sync) {
-        pna.nextTick(cb, er);
-        pna.nextTick(finishMaybe, stream2, state);
-        stream2._writableState.errorEmitted = true;
-        stream2.emit("error", er);
-      } else {
-        cb(er);
-        stream2._writableState.errorEmitted = true;
-        stream2.emit("error", er);
-        finishMaybe(stream2, state);
-      }
+    function alloc(size, fill2, encoding) {
+      return Buffer.alloc(size, fill2, encoding);
     }
-    function onwriteStateUpdate(state) {
-      state.writing = false;
-      state.writecb = null;
-      state.length -= state.writelen;
-      state.writelen = 0;
+    function allocUnsafe(size) {
+      return Buffer.allocUnsafe(size);
     }
-    function onwrite(stream2, er) {
-      var state = stream2._writableState;
-      var sync = state.sync;
-      var cb = state.writecb;
-      onwriteStateUpdate(state);
-      if (er) onwriteError(stream2, state, sync, er, cb);
-      else {
-        var finished = needFinish(state);
-        if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {
-          clearBuffer(stream2, state);
-        }
-        if (sync) {
-          asyncWrite(afterWrite, stream2, state, finished, cb);
-        } else {
-          afterWrite(stream2, state, finished, cb);
-        }
-      }
+    function allocUnsafeSlow(size) {
+      return Buffer.allocUnsafeSlow(size);
     }
-    function afterWrite(stream2, state, finished, cb) {
-      if (!finished) onwriteDrain(stream2, state);
-      state.pendingcb--;
-      cb();
-      finishMaybe(stream2, state);
+    function byteLength(string, encoding) {
+      return Buffer.byteLength(string, encoding);
     }
-    function onwriteDrain(stream2, state) {
-      if (state.length === 0 && state.needDrain) {
-        state.needDrain = false;
-        stream2.emit("drain");
-      }
+    function compare3(a, b) {
+      return Buffer.compare(a, b);
     }
-    function clearBuffer(stream2, state) {
-      state.bufferProcessing = true;
-      var entry = state.bufferedRequest;
-      if (stream2._writev && entry && entry.next) {
-        var l = state.bufferedRequestCount;
-        var buffer = new Array(l);
-        var holder = state.corkedRequestsFree;
-        holder.entry = entry;
-        var count = 0;
-        var allBuffers = true;
-        while (entry) {
-          buffer[count] = entry;
-          if (!entry.isBuf) allBuffers = false;
-          entry = entry.next;
-          count += 1;
-        }
-        buffer.allBuffers = allBuffers;
-        doWrite(stream2, state, true, state.length, buffer, "", holder.finish);
-        state.pendingcb++;
-        state.lastBufferedRequest = null;
-        if (holder.next) {
-          state.corkedRequestsFree = holder.next;
-          holder.next = null;
-        } else {
-          state.corkedRequestsFree = new CorkedRequest(state);
-        }
-        state.bufferedRequestCount = 0;
-      } else {
-        while (entry) {
-          var chunk = entry.chunk;
-          var encoding = entry.encoding;
-          var cb = entry.callback;
-          var len = state.objectMode ? 1 : chunk.length;
-          doWrite(stream2, state, false, len, chunk, encoding, cb);
-          entry = entry.next;
-          state.bufferedRequestCount--;
-          if (state.writing) {
-            break;
-          }
-        }
-        if (entry === null) state.lastBufferedRequest = null;
-      }
-      state.bufferedRequest = entry;
-      state.bufferProcessing = false;
+    function concat(buffers, totalLength) {
+      return Buffer.concat(buffers, totalLength);
     }
-    Writable.prototype._write = function(chunk, encoding, cb) {
-      cb(new Error("_write() is not implemented"));
-    };
-    Writable.prototype._writev = null;
-    Writable.prototype.end = function(chunk, encoding, cb) {
-      var state = this._writableState;
-      if (typeof chunk === "function") {
-        cb = chunk;
-        chunk = null;
-        encoding = null;
-      } else if (typeof encoding === "function") {
-        cb = encoding;
-        encoding = null;
-      }
-      if (chunk !== null && chunk !== void 0) this.write(chunk, encoding);
-      if (state.corked) {
-        state.corked = 1;
-        this.uncork();
-      }
-      if (!state.ending) endWritable(this, state, cb);
-    };
-    function needFinish(state) {
-      return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;
+    function copy(source, target, targetStart, start, end) {
+      return toBuffer(source).copy(target, targetStart, start, end);
     }
-    function callFinal(stream2, state) {
-      stream2._final(function(err) {
-        state.pendingcb--;
-        if (err) {
-          stream2.emit("error", err);
-        }
-        state.prefinished = true;
-        stream2.emit("prefinish");
-        finishMaybe(stream2, state);
-      });
+    function equals2(a, b) {
+      return toBuffer(a).equals(b);
     }
-    function prefinish(stream2, state) {
-      if (!state.prefinished && !state.finalCalled) {
-        if (typeof stream2._final === "function") {
-          state.pendingcb++;
-          state.finalCalled = true;
-          pna.nextTick(callFinal, stream2, state);
-        } else {
-          state.prefinished = true;
-          stream2.emit("prefinish");
-        }
-      }
+    function fill(buffer, value, offset, end, encoding) {
+      return toBuffer(buffer).fill(value, offset, end, encoding);
     }
-    function finishMaybe(stream2, state) {
-      var need = needFinish(state);
-      if (need) {
-        prefinish(stream2, state);
-        if (state.pendingcb === 0) {
-          state.finished = true;
-          stream2.emit("finish");
-        }
-      }
-      return need;
+    function from(value, encodingOrOffset, length) {
+      return Buffer.from(value, encodingOrOffset, length);
     }
-    function endWritable(stream2, state, cb) {
-      state.ending = true;
-      finishMaybe(stream2, state);
-      if (cb) {
-        if (state.finished) pna.nextTick(cb);
-        else stream2.once("finish", cb);
-      }
-      state.ended = true;
-      stream2.writable = false;
+    function includes(buffer, value, byteOffset, encoding) {
+      return toBuffer(buffer).includes(value, byteOffset, encoding);
     }
-    function onCorkedFinish(corkReq, state, err) {
-      var entry = corkReq.entry;
-      corkReq.entry = null;
-      while (entry) {
-        var cb = entry.callback;
-        state.pendingcb--;
-        cb(err);
-        entry = entry.next;
-      }
-      state.corkedRequestsFree.next = corkReq;
+    function indexOf(buffer, value, byfeOffset, encoding) {
+      return toBuffer(buffer).indexOf(value, byfeOffset, encoding);
     }
-    Object.defineProperty(Writable.prototype, "destroyed", {
-      get: function() {
-        if (this._writableState === void 0) {
-          return false;
-        }
-        return this._writableState.destroyed;
-      },
-      set: function(value) {
-        if (!this._writableState) {
-          return;
-        }
-        this._writableState.destroyed = value;
-      }
-    });
-    Writable.prototype.destroy = destroyImpl.destroy;
-    Writable.prototype._undestroy = destroyImpl.undestroy;
-    Writable.prototype._destroy = function(err, cb) {
-      this.end();
-      cb(err);
+    function lastIndexOf(buffer, value, byteOffset, encoding) {
+      return toBuffer(buffer).lastIndexOf(value, byteOffset, encoding);
+    }
+    function swap16(buffer) {
+      return toBuffer(buffer).swap16();
+    }
+    function swap32(buffer) {
+      return toBuffer(buffer).swap32();
+    }
+    function swap64(buffer) {
+      return toBuffer(buffer).swap64();
+    }
+    function toBuffer(buffer) {
+      if (Buffer.isBuffer(buffer)) return buffer;
+      return Buffer.from(buffer.buffer, buffer.byteOffset, buffer.byteLength);
+    }
+    function toString3(buffer, encoding, start, end) {
+      return toBuffer(buffer).toString(encoding, start, end);
+    }
+    function write(buffer, string, offset, length, encoding) {
+      return toBuffer(buffer).write(string, offset, length, encoding);
+    }
+    function writeDoubleLE(buffer, value, offset) {
+      return toBuffer(buffer).writeDoubleLE(value, offset);
+    }
+    function writeFloatLE(buffer, value, offset) {
+      return toBuffer(buffer).writeFloatLE(value, offset);
+    }
+    function writeUInt32LE(buffer, value, offset) {
+      return toBuffer(buffer).writeUInt32LE(value, offset);
+    }
+    function writeInt32LE(buffer, value, offset) {
+      return toBuffer(buffer).writeInt32LE(value, offset);
+    }
+    function readDoubleLE(buffer, offset) {
+      return toBuffer(buffer).readDoubleLE(offset);
+    }
+    function readFloatLE(buffer, offset) {
+      return toBuffer(buffer).readFloatLE(offset);
+    }
+    function readUInt32LE(buffer, offset) {
+      return toBuffer(buffer).readUInt32LE(offset);
+    }
+    function readInt32LE(buffer, offset) {
+      return toBuffer(buffer).readInt32LE(offset);
+    }
+    function writeDoubleBE(buffer, value, offset) {
+      return toBuffer(buffer).writeDoubleBE(value, offset);
+    }
+    function writeFloatBE(buffer, value, offset) {
+      return toBuffer(buffer).writeFloatBE(value, offset);
+    }
+    function writeUInt32BE(buffer, value, offset) {
+      return toBuffer(buffer).writeUInt32BE(value, offset);
+    }
+    function writeInt32BE(buffer, value, offset) {
+      return toBuffer(buffer).writeInt32BE(value, offset);
+    }
+    function readDoubleBE(buffer, offset) {
+      return toBuffer(buffer).readDoubleBE(offset);
+    }
+    function readFloatBE(buffer, offset) {
+      return toBuffer(buffer).readFloatBE(offset);
+    }
+    function readUInt32BE(buffer, offset) {
+      return toBuffer(buffer).readUInt32BE(offset);
+    }
+    function readInt32BE(buffer, offset) {
+      return toBuffer(buffer).readInt32BE(offset);
+    }
+    module2.exports = {
+      isBuffer,
+      isEncoding,
+      alloc,
+      allocUnsafe,
+      allocUnsafeSlow,
+      byteLength,
+      compare: compare3,
+      concat,
+      copy,
+      equals: equals2,
+      fill,
+      from,
+      includes,
+      indexOf,
+      lastIndexOf,
+      swap16,
+      swap32,
+      swap64,
+      toBuffer,
+      toString: toString3,
+      write,
+      writeDoubleLE,
+      writeFloatLE,
+      writeUInt32LE,
+      writeInt32LE,
+      readDoubleLE,
+      readFloatLE,
+      readUInt32LE,
+      readInt32LE,
+      writeDoubleBE,
+      writeFloatBE,
+      writeUInt32BE,
+      writeInt32BE,
+      readDoubleBE,
+      readFloatBE,
+      readUInt32BE,
+      readInt32BE
     };
   }
 });
 
-// node_modules/lazystream/node_modules/readable-stream/lib/_stream_duplex.js
-var require_stream_duplex = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_duplex.js"(exports2, module2) {
-    "use strict";
-    var pna = require_process_nextick_args();
-    var objectKeys = Object.keys || function(obj) {
-      var keys2 = [];
-      for (var key in obj) {
-        keys2.push(key);
+// node_modules/text-decoder/lib/pass-through-decoder.js
+var require_pass_through_decoder = __commonJS({
+  "node_modules/text-decoder/lib/pass-through-decoder.js"(exports2, module2) {
+    var b4a = require_b4a();
+    module2.exports = class PassThroughDecoder {
+      constructor(encoding) {
+        this.encoding = encoding;
+      }
+      get remaining() {
+        return 0;
+      }
+      decode(tail) {
+        return b4a.toString(tail, this.encoding);
+      }
+      flush() {
+        return "";
       }
-      return keys2;
     };
-    module2.exports = Duplex;
-    var util = Object.create(require_util19());
-    util.inherits = require_inherits();
-    var Readable2 = require_stream_readable();
-    var Writable = require_stream_writable();
-    util.inherits(Duplex, Readable2);
-    {
-      keys = objectKeys(Writable.prototype);
-      for (v = 0; v < keys.length; v++) {
-        method = keys[v];
-        if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];
+  }
+});
+
+// node_modules/text-decoder/lib/utf8-decoder.js
+var require_utf8_decoder = __commonJS({
+  "node_modules/text-decoder/lib/utf8-decoder.js"(exports2, module2) {
+    var b4a = require_b4a();
+    module2.exports = class UTF8Decoder {
+      constructor() {
+        this.codePoint = 0;
+        this.bytesSeen = 0;
+        this.bytesNeeded = 0;
+        this.lowerBoundary = 128;
+        this.upperBoundary = 191;
       }
-    }
-    var keys;
-    var method;
-    var v;
-    function Duplex(options) {
-      if (!(this instanceof Duplex)) return new Duplex(options);
-      Readable2.call(this, options);
-      Writable.call(this, options);
-      if (options && options.readable === false) this.readable = false;
-      if (options && options.writable === false) this.writable = false;
-      this.allowHalfOpen = true;
-      if (options && options.allowHalfOpen === false) this.allowHalfOpen = false;
-      this.once("end", onend);
-    }
-    Object.defineProperty(Duplex.prototype, "writableHighWaterMark", {
-      // making it explicit this property is not enumerable
-      // because otherwise some prototype manipulation in
-      // userland will fail
-      enumerable: false,
-      get: function() {
-        return this._writableState.highWaterMark;
+      get remaining() {
+        return this.bytesSeen;
       }
-    });
-    function onend() {
-      if (this.allowHalfOpen || this._writableState.ended) return;
-      pna.nextTick(onEndNT, this);
-    }
-    function onEndNT(self2) {
-      self2.end();
-    }
-    Object.defineProperty(Duplex.prototype, "destroyed", {
-      get: function() {
-        if (this._readableState === void 0 || this._writableState === void 0) {
-          return false;
+      decode(data) {
+        if (this.bytesNeeded === 0) {
+          let isBoundary = true;
+          for (let i = Math.max(0, data.byteLength - 4), n = data.byteLength; i < n && isBoundary; i++) {
+            isBoundary = data[i] <= 127;
+          }
+          if (isBoundary) return b4a.toString(data, "utf8");
         }
-        return this._readableState.destroyed && this._writableState.destroyed;
-      },
-      set: function(value) {
-        if (this._readableState === void 0 || this._writableState === void 0) {
-          return;
+        let result = "";
+        for (let i = 0, n = data.byteLength; i < n; i++) {
+          const byte = data[i];
+          if (this.bytesNeeded === 0) {
+            if (byte <= 127) {
+              result += String.fromCharCode(byte);
+            } else {
+              this.bytesSeen = 1;
+              if (byte >= 194 && byte <= 223) {
+                this.bytesNeeded = 2;
+                this.codePoint = byte & 31;
+              } else if (byte >= 224 && byte <= 239) {
+                if (byte === 224) this.lowerBoundary = 160;
+                else if (byte === 237) this.upperBoundary = 159;
+                this.bytesNeeded = 3;
+                this.codePoint = byte & 15;
+              } else if (byte >= 240 && byte <= 244) {
+                if (byte === 240) this.lowerBoundary = 144;
+                if (byte === 244) this.upperBoundary = 143;
+                this.bytesNeeded = 4;
+                this.codePoint = byte & 7;
+              } else {
+                result += "\uFFFD";
+              }
+            }
+            continue;
+          }
+          if (byte < this.lowerBoundary || byte > this.upperBoundary) {
+            this.codePoint = 0;
+            this.bytesNeeded = 0;
+            this.bytesSeen = 0;
+            this.lowerBoundary = 128;
+            this.upperBoundary = 191;
+            result += "\uFFFD";
+            continue;
+          }
+          this.lowerBoundary = 128;
+          this.upperBoundary = 191;
+          this.codePoint = this.codePoint << 6 | byte & 63;
+          this.bytesSeen++;
+          if (this.bytesSeen !== this.bytesNeeded) continue;
+          result += String.fromCodePoint(this.codePoint);
+          this.codePoint = 0;
+          this.bytesNeeded = 0;
+          this.bytesSeen = 0;
         }
-        this._readableState.destroyed = value;
-        this._writableState.destroyed = value;
+        return result;
+      }
+      flush() {
+        const result = this.bytesNeeded > 0 ? "\uFFFD" : "";
+        this.codePoint = 0;
+        this.bytesNeeded = 0;
+        this.bytesSeen = 0;
+        this.lowerBoundary = 128;
+        this.upperBoundary = 191;
+        return result;
       }
-    });
-    Duplex.prototype._destroy = function(err, cb) {
-      this.push(null);
-      this.end();
-      pna.nextTick(cb, err);
     };
   }
 });
 
-// node_modules/lazystream/node_modules/string_decoder/lib/string_decoder.js
-var require_string_decoder = __commonJS({
-  "node_modules/lazystream/node_modules/string_decoder/lib/string_decoder.js"(exports2) {
-    "use strict";
-    var Buffer2 = require_safe_buffer().Buffer;
-    var isEncoding = Buffer2.isEncoding || function(encoding) {
-      encoding = "" + encoding;
-      switch (encoding && encoding.toLowerCase()) {
-        case "hex":
-        case "utf8":
-        case "utf-8":
-        case "ascii":
-        case "binary":
-        case "base64":
-        case "ucs2":
-        case "ucs-2":
-        case "utf16le":
-        case "utf-16le":
-        case "raw":
-          return true;
-        default:
-          return false;
-      }
-    };
-    function _normalizeEncoding(enc) {
-      if (!enc) return "utf8";
-      var retried;
-      while (true) {
-        switch (enc) {
+// node_modules/text-decoder/index.js
+var require_text_decoder = __commonJS({
+  "node_modules/text-decoder/index.js"(exports2, module2) {
+    var PassThroughDecoder = require_pass_through_decoder();
+    var UTF8Decoder = require_utf8_decoder();
+    module2.exports = class TextDecoder {
+      constructor(encoding = "utf8") {
+        this.encoding = normalizeEncoding(encoding);
+        switch (this.encoding) {
           case "utf8":
-          case "utf-8":
-            return "utf8";
-          case "ucs2":
-          case "ucs-2":
+            this.decoder = new UTF8Decoder();
+            break;
           case "utf16le":
-          case "utf-16le":
-            return "utf16le";
-          case "latin1":
-          case "binary":
-            return "latin1";
           case "base64":
-          case "ascii":
-          case "hex":
-            return enc;
+            throw new Error("Unsupported encoding: " + this.encoding);
           default:
-            if (retried) return;
-            enc = ("" + enc).toLowerCase();
-            retried = true;
+            this.decoder = new PassThroughDecoder(this.encoding);
         }
       }
-    }
-    function normalizeEncoding(enc) {
-      var nenc = _normalizeEncoding(enc);
-      if (typeof nenc !== "string" && (Buffer2.isEncoding === isEncoding || !isEncoding(enc))) throw new Error("Unknown encoding: " + enc);
-      return nenc || enc;
-    }
-    exports2.StringDecoder = StringDecoder;
-    function StringDecoder(encoding) {
-      this.encoding = normalizeEncoding(encoding);
-      var nb;
-      switch (this.encoding) {
-        case "utf16le":
-          this.text = utf16Text;
-          this.end = utf16End;
-          nb = 4;
-          break;
+      get remaining() {
+        return this.decoder.remaining;
+      }
+      push(data) {
+        if (typeof data === "string") return data;
+        return this.decoder.decode(data);
+      }
+      // For Node.js compatibility
+      write(data) {
+        return this.push(data);
+      }
+      end(data) {
+        let result = "";
+        if (data) result = this.push(data);
+        result += this.decoder.flush();
+        return result;
+      }
+    };
+    function normalizeEncoding(encoding) {
+      encoding = encoding.toLowerCase();
+      switch (encoding) {
         case "utf8":
-          this.fillLast = utf8FillLast;
-          nb = 4;
-          break;
+        case "utf-8":
+          return "utf8";
+        case "ucs2":
+        case "ucs-2":
+        case "utf16le":
+        case "utf-16le":
+          return "utf16le";
+        case "latin1":
+        case "binary":
+          return "latin1";
         case "base64":
-          this.text = base64Text;
-          this.end = base64End;
-          nb = 3;
-          break;
+        case "ascii":
+        case "hex":
+          return encoding;
         default:
-          this.write = simpleWrite;
-          this.end = simpleEnd;
-          return;
+          throw new Error("Unknown encoding: " + encoding);
       }
-      this.lastNeed = 0;
-      this.lastTotal = 0;
-      this.lastChar = Buffer2.allocUnsafe(nb);
     }
-    StringDecoder.prototype.write = function(buf) {
-      if (buf.length === 0) return "";
-      var r;
-      var i;
-      if (this.lastNeed) {
-        r = this.fillLast(buf);
-        if (r === void 0) return "";
-        i = this.lastNeed;
-        this.lastNeed = 0;
-      } else {
-        i = 0;
+  }
+});
+
+// node_modules/streamx/index.js
+var require_streamx = __commonJS({
+  "node_modules/streamx/index.js"(exports2, module2) {
+    var { EventEmitter } = require("events");
+    var STREAM_DESTROYED = new Error("Stream was destroyed");
+    var PREMATURE_CLOSE = new Error("Premature close");
+    var queueTick = require_process_next_tick();
+    var FIFO = require_fast_fifo();
+    var TextDecoder2 = require_text_decoder();
+    var MAX = (1 << 29) - 1;
+    var OPENING = 1;
+    var PREDESTROYING = 2;
+    var DESTROYING = 4;
+    var DESTROYED = 8;
+    var NOT_OPENING = MAX ^ OPENING;
+    var NOT_PREDESTROYING = MAX ^ PREDESTROYING;
+    var READ_ACTIVE = 1 << 4;
+    var READ_UPDATING = 2 << 4;
+    var READ_PRIMARY = 4 << 4;
+    var READ_QUEUED = 8 << 4;
+    var READ_RESUMED = 16 << 4;
+    var READ_PIPE_DRAINED = 32 << 4;
+    var READ_ENDING = 64 << 4;
+    var READ_EMIT_DATA = 128 << 4;
+    var READ_EMIT_READABLE = 256 << 4;
+    var READ_EMITTED_READABLE = 512 << 4;
+    var READ_DONE = 1024 << 4;
+    var READ_NEXT_TICK = 2048 << 4;
+    var READ_NEEDS_PUSH = 4096 << 4;
+    var READ_READ_AHEAD = 8192 << 4;
+    var READ_FLOWING = READ_RESUMED | READ_PIPE_DRAINED;
+    var READ_ACTIVE_AND_NEEDS_PUSH = READ_ACTIVE | READ_NEEDS_PUSH;
+    var READ_PRIMARY_AND_ACTIVE = READ_PRIMARY | READ_ACTIVE;
+    var READ_EMIT_READABLE_AND_QUEUED = READ_EMIT_READABLE | READ_QUEUED;
+    var READ_RESUMED_READ_AHEAD = READ_RESUMED | READ_READ_AHEAD;
+    var READ_NOT_ACTIVE = MAX ^ READ_ACTIVE;
+    var READ_NON_PRIMARY = MAX ^ READ_PRIMARY;
+    var READ_NON_PRIMARY_AND_PUSHED = MAX ^ (READ_PRIMARY | READ_NEEDS_PUSH);
+    var READ_PUSHED = MAX ^ READ_NEEDS_PUSH;
+    var READ_PAUSED = MAX ^ READ_RESUMED;
+    var READ_NOT_QUEUED = MAX ^ (READ_QUEUED | READ_EMITTED_READABLE);
+    var READ_NOT_ENDING = MAX ^ READ_ENDING;
+    var READ_PIPE_NOT_DRAINED = MAX ^ READ_FLOWING;
+    var READ_NOT_NEXT_TICK = MAX ^ READ_NEXT_TICK;
+    var READ_NOT_UPDATING = MAX ^ READ_UPDATING;
+    var READ_NO_READ_AHEAD = MAX ^ READ_READ_AHEAD;
+    var READ_PAUSED_NO_READ_AHEAD = MAX ^ READ_RESUMED_READ_AHEAD;
+    var WRITE_ACTIVE = 1 << 18;
+    var WRITE_UPDATING = 2 << 18;
+    var WRITE_PRIMARY = 4 << 18;
+    var WRITE_QUEUED = 8 << 18;
+    var WRITE_UNDRAINED = 16 << 18;
+    var WRITE_DONE = 32 << 18;
+    var WRITE_EMIT_DRAIN = 64 << 18;
+    var WRITE_NEXT_TICK = 128 << 18;
+    var WRITE_WRITING = 256 << 18;
+    var WRITE_FINISHING = 512 << 18;
+    var WRITE_CORKED = 1024 << 18;
+    var WRITE_NOT_ACTIVE = MAX ^ (WRITE_ACTIVE | WRITE_WRITING);
+    var WRITE_NON_PRIMARY = MAX ^ WRITE_PRIMARY;
+    var WRITE_NOT_FINISHING = MAX ^ WRITE_FINISHING;
+    var WRITE_DRAINED = MAX ^ WRITE_UNDRAINED;
+    var WRITE_NOT_QUEUED = MAX ^ WRITE_QUEUED;
+    var WRITE_NOT_NEXT_TICK = MAX ^ WRITE_NEXT_TICK;
+    var WRITE_NOT_UPDATING = MAX ^ WRITE_UPDATING;
+    var WRITE_NOT_CORKED = MAX ^ WRITE_CORKED;
+    var ACTIVE = READ_ACTIVE | WRITE_ACTIVE;
+    var NOT_ACTIVE = MAX ^ ACTIVE;
+    var DONE = READ_DONE | WRITE_DONE;
+    var DESTROY_STATUS = DESTROYING | DESTROYED | PREDESTROYING;
+    var OPEN_STATUS = DESTROY_STATUS | OPENING;
+    var AUTO_DESTROY = DESTROY_STATUS | DONE;
+    var NON_PRIMARY = WRITE_NON_PRIMARY & READ_NON_PRIMARY;
+    var ACTIVE_OR_TICKING = WRITE_NEXT_TICK | READ_NEXT_TICK;
+    var TICKING = ACTIVE_OR_TICKING & NOT_ACTIVE;
+    var IS_OPENING = OPEN_STATUS | TICKING;
+    var READ_PRIMARY_STATUS = OPEN_STATUS | READ_ENDING | READ_DONE;
+    var READ_STATUS = OPEN_STATUS | READ_DONE | READ_QUEUED;
+    var READ_ENDING_STATUS = OPEN_STATUS | READ_ENDING | READ_QUEUED;
+    var READ_READABLE_STATUS = OPEN_STATUS | READ_EMIT_READABLE | READ_QUEUED | READ_EMITTED_READABLE;
+    var SHOULD_NOT_READ = OPEN_STATUS | READ_ACTIVE | READ_ENDING | READ_DONE | READ_NEEDS_PUSH | READ_READ_AHEAD;
+    var READ_BACKPRESSURE_STATUS = DESTROY_STATUS | READ_ENDING | READ_DONE;
+    var READ_UPDATE_SYNC_STATUS = READ_UPDATING | OPEN_STATUS | READ_NEXT_TICK | READ_PRIMARY;
+    var WRITE_PRIMARY_STATUS = OPEN_STATUS | WRITE_FINISHING | WRITE_DONE;
+    var WRITE_QUEUED_AND_UNDRAINED = WRITE_QUEUED | WRITE_UNDRAINED;
+    var WRITE_QUEUED_AND_ACTIVE = WRITE_QUEUED | WRITE_ACTIVE;
+    var WRITE_DRAIN_STATUS = WRITE_QUEUED | WRITE_UNDRAINED | OPEN_STATUS | WRITE_ACTIVE;
+    var WRITE_STATUS = OPEN_STATUS | WRITE_ACTIVE | WRITE_QUEUED | WRITE_CORKED;
+    var WRITE_PRIMARY_AND_ACTIVE = WRITE_PRIMARY | WRITE_ACTIVE;
+    var WRITE_ACTIVE_AND_WRITING = WRITE_ACTIVE | WRITE_WRITING;
+    var WRITE_FINISHING_STATUS = OPEN_STATUS | WRITE_FINISHING | WRITE_QUEUED_AND_ACTIVE | WRITE_DONE;
+    var WRITE_BACKPRESSURE_STATUS = WRITE_UNDRAINED | DESTROY_STATUS | WRITE_FINISHING | WRITE_DONE;
+    var WRITE_UPDATE_SYNC_STATUS = WRITE_UPDATING | OPEN_STATUS | WRITE_NEXT_TICK | WRITE_PRIMARY;
+    var asyncIterator = Symbol.asyncIterator || /* @__PURE__ */ Symbol("asyncIterator");
+    var WritableState = class {
+      constructor(stream2, { highWaterMark = 16384, map: map2 = null, mapWritable, byteLength, byteLengthWritable } = {}) {
+        this.stream = stream2;
+        this.queue = new FIFO();
+        this.highWaterMark = highWaterMark;
+        this.buffered = 0;
+        this.error = null;
+        this.pipeline = null;
+        this.drains = null;
+        this.byteLength = byteLengthWritable || byteLength || defaultByteLength;
+        this.map = mapWritable || map2;
+        this.afterWrite = afterWrite.bind(this);
+        this.afterUpdateNextTick = updateWriteNT.bind(this);
       }
-      if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);
-      return r || "";
-    };
-    StringDecoder.prototype.end = utf8End;
-    StringDecoder.prototype.text = utf8Text;
-    StringDecoder.prototype.fillLast = function(buf) {
-      if (this.lastNeed <= buf.length) {
-        buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);
-        return this.lastChar.toString(this.encoding, 0, this.lastTotal);
+      get ended() {
+        return (this.stream._duplexState & WRITE_DONE) !== 0;
       }
-      buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);
-      this.lastNeed -= buf.length;
-    };
-    function utf8CheckByte(byte) {
-      if (byte <= 127) return 0;
-      else if (byte >> 5 === 6) return 2;
-      else if (byte >> 4 === 14) return 3;
-      else if (byte >> 3 === 30) return 4;
-      return byte >> 6 === 2 ? -1 : -2;
-    }
-    function utf8CheckIncomplete(self2, buf, i) {
-      var j = buf.length - 1;
-      if (j < i) return 0;
-      var nb = utf8CheckByte(buf[j]);
-      if (nb >= 0) {
-        if (nb > 0) self2.lastNeed = nb - 1;
-        return nb;
+      push(data) {
+        if (this.map !== null) data = this.map(data);
+        this.buffered += this.byteLength(data);
+        this.queue.push(data);
+        if (this.buffered < this.highWaterMark) {
+          this.stream._duplexState |= WRITE_QUEUED;
+          return true;
+        }
+        this.stream._duplexState |= WRITE_QUEUED_AND_UNDRAINED;
+        return false;
       }
-      if (--j < i || nb === -2) return 0;
-      nb = utf8CheckByte(buf[j]);
-      if (nb >= 0) {
-        if (nb > 0) self2.lastNeed = nb - 2;
-        return nb;
+      shift() {
+        const data = this.queue.shift();
+        this.buffered -= this.byteLength(data);
+        if (this.buffered === 0) this.stream._duplexState &= WRITE_NOT_QUEUED;
+        return data;
       }
-      if (--j < i || nb === -2) return 0;
-      nb = utf8CheckByte(buf[j]);
-      if (nb >= 0) {
-        if (nb > 0) {
-          if (nb === 2) nb = 0;
-          else self2.lastNeed = nb - 3;
+      end(data) {
+        if (typeof data === "function") this.stream.once("finish", data);
+        else if (data !== void 0 && data !== null) this.push(data);
+        this.stream._duplexState = (this.stream._duplexState | WRITE_FINISHING) & WRITE_NON_PRIMARY;
+      }
+      autoBatch(data, cb) {
+        const buffer = [];
+        const stream2 = this.stream;
+        buffer.push(data);
+        while ((stream2._duplexState & WRITE_STATUS) === WRITE_QUEUED_AND_ACTIVE) {
+          buffer.push(stream2._writableState.shift());
         }
-        return nb;
+        if ((stream2._duplexState & OPEN_STATUS) !== 0) return cb(null);
+        stream2._writev(buffer, cb);
       }
-      return 0;
-    }
-    function utf8CheckExtraBytes(self2, buf, p) {
-      if ((buf[0] & 192) !== 128) {
-        self2.lastNeed = 0;
-        return "\uFFFD";
+      update() {
+        const stream2 = this.stream;
+        stream2._duplexState |= WRITE_UPDATING;
+        do {
+          while ((stream2._duplexState & WRITE_STATUS) === WRITE_QUEUED) {
+            const data = this.shift();
+            stream2._duplexState |= WRITE_ACTIVE_AND_WRITING;
+            stream2._write(data, this.afterWrite);
+          }
+          if ((stream2._duplexState & WRITE_PRIMARY_AND_ACTIVE) === 0) this.updateNonPrimary();
+        } while (this.continueUpdate() === true);
+        stream2._duplexState &= WRITE_NOT_UPDATING;
       }
-      if (self2.lastNeed > 1 && buf.length > 1) {
-        if ((buf[1] & 192) !== 128) {
-          self2.lastNeed = 1;
-          return "\uFFFD";
+      updateNonPrimary() {
+        const stream2 = this.stream;
+        if ((stream2._duplexState & WRITE_FINISHING_STATUS) === WRITE_FINISHING) {
+          stream2._duplexState = (stream2._duplexState | WRITE_ACTIVE) & WRITE_NOT_FINISHING;
+          stream2._final(afterFinal.bind(this));
+          return;
         }
-        if (self2.lastNeed > 2 && buf.length > 2) {
-          if ((buf[2] & 192) !== 128) {
-            self2.lastNeed = 2;
-            return "\uFFFD";
+        if ((stream2._duplexState & DESTROY_STATUS) === DESTROYING) {
+          if ((stream2._duplexState & ACTIVE_OR_TICKING) === 0) {
+            stream2._duplexState |= ACTIVE;
+            stream2._destroy(afterDestroy.bind(this));
           }
+          return;
         }
-      }
-    }
-    function utf8FillLast(buf) {
-      var p = this.lastTotal - this.lastNeed;
-      var r = utf8CheckExtraBytes(this, buf, p);
-      if (r !== void 0) return r;
-      if (this.lastNeed <= buf.length) {
-        buf.copy(this.lastChar, p, 0, this.lastNeed);
-        return this.lastChar.toString(this.encoding, 0, this.lastTotal);
-      }
-      buf.copy(this.lastChar, p, 0, buf.length);
-      this.lastNeed -= buf.length;
-    }
-    function utf8Text(buf, i) {
-      var total = utf8CheckIncomplete(this, buf, i);
-      if (!this.lastNeed) return buf.toString("utf8", i);
-      this.lastTotal = total;
-      var end = buf.length - (total - this.lastNeed);
-      buf.copy(this.lastChar, 0, end);
-      return buf.toString("utf8", i, end);
-    }
-    function utf8End(buf) {
-      var r = buf && buf.length ? this.write(buf) : "";
-      if (this.lastNeed) return r + "\uFFFD";
-      return r;
-    }
-    function utf16Text(buf, i) {
-      if ((buf.length - i) % 2 === 0) {
-        var r = buf.toString("utf16le", i);
-        if (r) {
-          var c = r.charCodeAt(r.length - 1);
-          if (c >= 55296 && c <= 56319) {
-            this.lastNeed = 2;
-            this.lastTotal = 4;
-            this.lastChar[0] = buf[buf.length - 2];
-            this.lastChar[1] = buf[buf.length - 1];
-            return r.slice(0, -1);
-          }
+        if ((stream2._duplexState & IS_OPENING) === OPENING) {
+          stream2._duplexState = (stream2._duplexState | ACTIVE) & NOT_OPENING;
+          stream2._open(afterOpen.bind(this));
         }
-        return r;
-      }
-      this.lastNeed = 1;
-      this.lastTotal = 2;
-      this.lastChar[0] = buf[buf.length - 1];
-      return buf.toString("utf16le", i, buf.length - 1);
-    }
-    function utf16End(buf) {
-      var r = buf && buf.length ? this.write(buf) : "";
-      if (this.lastNeed) {
-        var end = this.lastTotal - this.lastNeed;
-        return r + this.lastChar.toString("utf16le", 0, end);
       }
-      return r;
-    }
-    function base64Text(buf, i) {
-      var n = (buf.length - i) % 3;
-      if (n === 0) return buf.toString("base64", i);
-      this.lastNeed = 3 - n;
-      this.lastTotal = 3;
-      if (n === 1) {
-        this.lastChar[0] = buf[buf.length - 1];
-      } else {
-        this.lastChar[0] = buf[buf.length - 2];
-        this.lastChar[1] = buf[buf.length - 1];
+      continueUpdate() {
+        if ((this.stream._duplexState & WRITE_NEXT_TICK) === 0) return false;
+        this.stream._duplexState &= WRITE_NOT_NEXT_TICK;
+        return true;
       }
-      return buf.toString("base64", i, buf.length - n);
-    }
-    function base64End(buf) {
-      var r = buf && buf.length ? this.write(buf) : "";
-      if (this.lastNeed) return r + this.lastChar.toString("base64", 0, 3 - this.lastNeed);
-      return r;
-    }
-    function simpleWrite(buf) {
-      return buf.toString(this.encoding);
-    }
-    function simpleEnd(buf) {
-      return buf && buf.length ? this.write(buf) : "";
-    }
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/lib/_stream_readable.js
-var require_stream_readable = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_readable.js"(exports2, module2) {
-    "use strict";
-    var pna = require_process_nextick_args();
-    module2.exports = Readable2;
-    var isArray = require_isarray();
-    var Duplex;
-    Readable2.ReadableState = ReadableState;
-    var EE = require("events").EventEmitter;
-    var EElistenerCount = function(emitter, type2) {
-      return emitter.listeners(type2).length;
-    };
-    var Stream = require_stream();
-    var Buffer2 = require_safe_buffer().Buffer;
-    var OurUint8Array = (typeof global !== "undefined" ? global : typeof window !== "undefined" ? window : typeof self !== "undefined" ? self : {}).Uint8Array || function() {
-    };
-    function _uint8ArrayToBuffer(chunk) {
-      return Buffer2.from(chunk);
-    }
-    function _isUint8Array(obj) {
-      return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array;
-    }
-    var util = Object.create(require_util19());
-    util.inherits = require_inherits();
-    var debugUtil = require("util");
-    var debug5 = void 0;
-    if (debugUtil && debugUtil.debuglog) {
-      debug5 = debugUtil.debuglog("stream");
-    } else {
-      debug5 = function() {
-      };
-    }
-    var BufferList = require_BufferList();
-    var destroyImpl = require_destroy();
-    var StringDecoder;
-    util.inherits(Readable2, Stream);
-    var kProxyEvents = ["error", "close", "destroy", "pause", "resume"];
-    function prependListener(emitter, event, fn) {
-      if (typeof emitter.prependListener === "function") return emitter.prependListener(event, fn);
-      if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);
-      else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);
-      else emitter._events[event] = [fn, emitter._events[event]];
-    }
-    function ReadableState(options, stream2) {
-      Duplex = Duplex || require_stream_duplex();
-      options = options || {};
-      var isDuplex = stream2 instanceof Duplex;
-      this.objectMode = !!options.objectMode;
-      if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;
-      var hwm = options.highWaterMark;
-      var readableHwm = options.readableHighWaterMark;
-      var defaultHwm = this.objectMode ? 16 : 16 * 1024;
-      if (hwm || hwm === 0) this.highWaterMark = hwm;
-      else if (isDuplex && (readableHwm || readableHwm === 0)) this.highWaterMark = readableHwm;
-      else this.highWaterMark = defaultHwm;
-      this.highWaterMark = Math.floor(this.highWaterMark);
-      this.buffer = new BufferList();
-      this.length = 0;
-      this.pipes = null;
-      this.pipesCount = 0;
-      this.flowing = null;
-      this.ended = false;
-      this.endEmitted = false;
-      this.reading = false;
-      this.sync = true;
-      this.needReadable = false;
-      this.emittedReadable = false;
-      this.readableListening = false;
-      this.resumeScheduled = false;
-      this.destroyed = false;
-      this.defaultEncoding = options.defaultEncoding || "utf8";
-      this.awaitDrain = 0;
-      this.readingMore = false;
-      this.decoder = null;
-      this.encoding = null;
-      if (options.encoding) {
-        if (!StringDecoder) StringDecoder = require_string_decoder().StringDecoder;
-        this.decoder = new StringDecoder(options.encoding);
-        this.encoding = options.encoding;
+      updateCallback() {
+        if ((this.stream._duplexState & WRITE_UPDATE_SYNC_STATUS) === WRITE_PRIMARY) this.update();
+        else this.updateNextTick();
       }
-    }
-    function Readable2(options) {
-      Duplex = Duplex || require_stream_duplex();
-      if (!(this instanceof Readable2)) return new Readable2(options);
-      this._readableState = new ReadableState(options, this);
-      this.readable = true;
-      if (options) {
-        if (typeof options.read === "function") this._read = options.read;
-        if (typeof options.destroy === "function") this._destroy = options.destroy;
+      updateNextTick() {
+        if ((this.stream._duplexState & WRITE_NEXT_TICK) !== 0) return;
+        this.stream._duplexState |= WRITE_NEXT_TICK;
+        if ((this.stream._duplexState & WRITE_UPDATING) === 0) queueTick(this.afterUpdateNextTick);
       }
-      Stream.call(this);
-    }
-    Object.defineProperty(Readable2.prototype, "destroyed", {
-      get: function() {
-        if (this._readableState === void 0) {
+    };
+    var ReadableState = class {
+      constructor(stream2, { highWaterMark = 16384, map: map2 = null, mapReadable, byteLength, byteLengthReadable } = {}) {
+        this.stream = stream2;
+        this.queue = new FIFO();
+        this.highWaterMark = highWaterMark === 0 ? 1 : highWaterMark;
+        this.buffered = 0;
+        this.readAhead = highWaterMark > 0;
+        this.error = null;
+        this.pipeline = null;
+        this.byteLength = byteLengthReadable || byteLength || defaultByteLength;
+        this.map = mapReadable || map2;
+        this.pipeTo = null;
+        this.afterRead = afterRead.bind(this);
+        this.afterUpdateNextTick = updateReadNT.bind(this);
+      }
+      get ended() {
+        return (this.stream._duplexState & READ_DONE) !== 0;
+      }
+      pipe(pipeTo, cb) {
+        if (this.pipeTo !== null) throw new Error("Can only pipe to one destination");
+        if (typeof cb !== "function") cb = null;
+        this.stream._duplexState |= READ_PIPE_DRAINED;
+        this.pipeTo = pipeTo;
+        this.pipeline = new Pipeline(this.stream, pipeTo, cb);
+        if (cb) this.stream.on("error", noop3);
+        if (isStreamx(pipeTo)) {
+          pipeTo._writableState.pipeline = this.pipeline;
+          if (cb) pipeTo.on("error", noop3);
+          pipeTo.on("finish", this.pipeline.finished.bind(this.pipeline));
+        } else {
+          const onerror = this.pipeline.done.bind(this.pipeline, pipeTo);
+          const onclose = this.pipeline.done.bind(this.pipeline, pipeTo, null);
+          pipeTo.on("error", onerror);
+          pipeTo.on("close", onclose);
+          pipeTo.on("finish", this.pipeline.finished.bind(this.pipeline));
+        }
+        pipeTo.on("drain", afterDrain.bind(this));
+        this.stream.emit("piping", pipeTo);
+        pipeTo.emit("pipe", this.stream);
+      }
+      push(data) {
+        const stream2 = this.stream;
+        if (data === null) {
+          this.highWaterMark = 0;
+          stream2._duplexState = (stream2._duplexState | READ_ENDING) & READ_NON_PRIMARY_AND_PUSHED;
           return false;
         }
-        return this._readableState.destroyed;
-      },
-      set: function(value) {
-        if (!this._readableState) {
-          return;
+        if (this.map !== null) {
+          data = this.map(data);
+          if (data === null) {
+            stream2._duplexState &= READ_PUSHED;
+            return this.buffered < this.highWaterMark;
+          }
         }
-        this._readableState.destroyed = value;
+        this.buffered += this.byteLength(data);
+        this.queue.push(data);
+        stream2._duplexState = (stream2._duplexState | READ_QUEUED) & READ_PUSHED;
+        return this.buffered < this.highWaterMark;
       }
-    });
-    Readable2.prototype.destroy = destroyImpl.destroy;
-    Readable2.prototype._undestroy = destroyImpl.undestroy;
-    Readable2.prototype._destroy = function(err, cb) {
-      this.push(null);
-      cb(err);
-    };
-    Readable2.prototype.push = function(chunk, encoding) {
-      var state = this._readableState;
-      var skipChunkCheck;
-      if (!state.objectMode) {
-        if (typeof chunk === "string") {
-          encoding = encoding || state.defaultEncoding;
-          if (encoding !== state.encoding) {
-            chunk = Buffer2.from(chunk, encoding);
-            encoding = "";
+      shift() {
+        const data = this.queue.shift();
+        this.buffered -= this.byteLength(data);
+        if (this.buffered === 0) this.stream._duplexState &= READ_NOT_QUEUED;
+        return data;
+      }
+      unshift(data) {
+        const pending = [this.map !== null ? this.map(data) : data];
+        while (this.buffered > 0) pending.push(this.shift());
+        for (let i = 0; i < pending.length - 1; i++) {
+          const data2 = pending[i];
+          this.buffered += this.byteLength(data2);
+          this.queue.push(data2);
+        }
+        this.push(pending[pending.length - 1]);
+      }
+      read() {
+        const stream2 = this.stream;
+        if ((stream2._duplexState & READ_STATUS) === READ_QUEUED) {
+          const data = this.shift();
+          if (this.pipeTo !== null && this.pipeTo.write(data) === false) stream2._duplexState &= READ_PIPE_NOT_DRAINED;
+          if ((stream2._duplexState & READ_EMIT_DATA) !== 0) stream2.emit("data", data);
+          return data;
+        }
+        if (this.readAhead === false) {
+          stream2._duplexState |= READ_READ_AHEAD;
+          this.updateNextTick();
+        }
+        return null;
+      }
+      drain() {
+        const stream2 = this.stream;
+        while ((stream2._duplexState & READ_STATUS) === READ_QUEUED && (stream2._duplexState & READ_FLOWING) !== 0) {
+          const data = this.shift();
+          if (this.pipeTo !== null && this.pipeTo.write(data) === false) stream2._duplexState &= READ_PIPE_NOT_DRAINED;
+          if ((stream2._duplexState & READ_EMIT_DATA) !== 0) stream2.emit("data", data);
+        }
+      }
+      update() {
+        const stream2 = this.stream;
+        stream2._duplexState |= READ_UPDATING;
+        do {
+          this.drain();
+          while (this.buffered < this.highWaterMark && (stream2._duplexState & SHOULD_NOT_READ) === READ_READ_AHEAD) {
+            stream2._duplexState |= READ_ACTIVE_AND_NEEDS_PUSH;
+            stream2._read(this.afterRead);
+            this.drain();
           }
-          skipChunkCheck = true;
+          if ((stream2._duplexState & READ_READABLE_STATUS) === READ_EMIT_READABLE_AND_QUEUED) {
+            stream2._duplexState |= READ_EMITTED_READABLE;
+            stream2.emit("readable");
+          }
+          if ((stream2._duplexState & READ_PRIMARY_AND_ACTIVE) === 0) this.updateNonPrimary();
+        } while (this.continueUpdate() === true);
+        stream2._duplexState &= READ_NOT_UPDATING;
+      }
+      updateNonPrimary() {
+        const stream2 = this.stream;
+        if ((stream2._duplexState & READ_ENDING_STATUS) === READ_ENDING) {
+          stream2._duplexState = (stream2._duplexState | READ_DONE) & READ_NOT_ENDING;
+          stream2.emit("end");
+          if ((stream2._duplexState & AUTO_DESTROY) === DONE) stream2._duplexState |= DESTROYING;
+          if (this.pipeTo !== null) this.pipeTo.end();
+        }
+        if ((stream2._duplexState & DESTROY_STATUS) === DESTROYING) {
+          if ((stream2._duplexState & ACTIVE_OR_TICKING) === 0) {
+            stream2._duplexState |= ACTIVE;
+            stream2._destroy(afterDestroy.bind(this));
+          }
+          return;
+        }
+        if ((stream2._duplexState & IS_OPENING) === OPENING) {
+          stream2._duplexState = (stream2._duplexState | ACTIVE) & NOT_OPENING;
+          stream2._open(afterOpen.bind(this));
         }
-      } else {
-        skipChunkCheck = true;
       }
-      return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);
+      continueUpdate() {
+        if ((this.stream._duplexState & READ_NEXT_TICK) === 0) return false;
+        this.stream._duplexState &= READ_NOT_NEXT_TICK;
+        return true;
+      }
+      updateCallback() {
+        if ((this.stream._duplexState & READ_UPDATE_SYNC_STATUS) === READ_PRIMARY) this.update();
+        else this.updateNextTick();
+      }
+      updateNextTick() {
+        if ((this.stream._duplexState & READ_NEXT_TICK) !== 0) return;
+        this.stream._duplexState |= READ_NEXT_TICK;
+        if ((this.stream._duplexState & READ_UPDATING) === 0) queueTick(this.afterUpdateNextTick);
+      }
     };
-    Readable2.prototype.unshift = function(chunk) {
-      return readableAddChunk(this, chunk, null, true, false);
+    var TransformState = class {
+      constructor(stream2) {
+        this.data = null;
+        this.afterTransform = afterTransform.bind(stream2);
+        this.afterFinal = null;
+      }
     };
-    function readableAddChunk(stream2, chunk, encoding, addToFront, skipChunkCheck) {
-      var state = stream2._readableState;
-      if (chunk === null) {
-        state.reading = false;
-        onEofChunk(stream2, state);
-      } else {
-        var er;
-        if (!skipChunkCheck) er = chunkInvalid(state, chunk);
-        if (er) {
-          stream2.emit("error", er);
-        } else if (state.objectMode || chunk && chunk.length > 0) {
-          if (typeof chunk !== "string" && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer2.prototype) {
-            chunk = _uint8ArrayToBuffer(chunk);
+    var Pipeline = class {
+      constructor(src, dst, cb) {
+        this.from = src;
+        this.to = dst;
+        this.afterPipe = cb;
+        this.error = null;
+        this.pipeToFinished = false;
+      }
+      finished() {
+        this.pipeToFinished = true;
+      }
+      done(stream2, err) {
+        if (err) this.error = err;
+        if (stream2 === this.to) {
+          this.to = null;
+          if (this.from !== null) {
+            if ((this.from._duplexState & READ_DONE) === 0 || !this.pipeToFinished) {
+              this.from.destroy(this.error || new Error("Writable stream closed prematurely"));
+            }
+            return;
           }
-          if (addToFront) {
-            if (state.endEmitted) stream2.emit("error", new Error("stream.unshift() after end event"));
-            else addChunk(stream2, state, chunk, true);
-          } else if (state.ended) {
-            stream2.emit("error", new Error("stream.push() after EOF"));
-          } else {
-            state.reading = false;
-            if (state.decoder && !encoding) {
-              chunk = state.decoder.write(chunk);
-              if (state.objectMode || chunk.length !== 0) addChunk(stream2, state, chunk, false);
-              else maybeReadMore(stream2, state);
-            } else {
-              addChunk(stream2, state, chunk, false);
+        }
+        if (stream2 === this.from) {
+          this.from = null;
+          if (this.to !== null) {
+            if ((stream2._duplexState & READ_DONE) === 0) {
+              this.to.destroy(this.error || new Error("Readable stream closed before ending"));
             }
+            return;
           }
-        } else if (!addToFront) {
-          state.reading = false;
         }
+        if (this.afterPipe !== null) this.afterPipe(this.error);
+        this.to = this.from = this.afterPipe = null;
       }
-      return needMoreData(state);
+    };
+    function afterDrain() {
+      this.stream._duplexState |= READ_PIPE_DRAINED;
+      this.updateCallback();
     }
-    function addChunk(stream2, state, chunk, addToFront) {
-      if (state.flowing && state.length === 0 && !state.sync) {
-        stream2.emit("data", chunk);
-        stream2.read(0);
-      } else {
-        state.length += state.objectMode ? 1 : chunk.length;
-        if (addToFront) state.buffer.unshift(chunk);
-        else state.buffer.push(chunk);
-        if (state.needReadable) emitReadable(stream2);
+    function afterFinal(err) {
+      const stream2 = this.stream;
+      if (err) stream2.destroy(err);
+      if ((stream2._duplexState & DESTROY_STATUS) === 0) {
+        stream2._duplexState |= WRITE_DONE;
+        stream2.emit("finish");
       }
-      maybeReadMore(stream2, state);
-    }
-    function chunkInvalid(state, chunk) {
-      var er;
-      if (!_isUint8Array(chunk) && typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) {
-        er = new TypeError("Invalid non-string/buffer chunk");
+      if ((stream2._duplexState & AUTO_DESTROY) === DONE) {
+        stream2._duplexState |= DESTROYING;
       }
-      return er;
-    }
-    function needMoreData(state) {
-      return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0);
+      stream2._duplexState &= WRITE_NOT_ACTIVE;
+      if ((stream2._duplexState & WRITE_UPDATING) === 0) this.update();
+      else this.updateNextTick();
     }
-    Readable2.prototype.isPaused = function() {
-      return this._readableState.flowing === false;
-    };
-    Readable2.prototype.setEncoding = function(enc) {
-      if (!StringDecoder) StringDecoder = require_string_decoder().StringDecoder;
-      this._readableState.decoder = new StringDecoder(enc);
-      this._readableState.encoding = enc;
-      return this;
-    };
-    var MAX_HWM = 8388608;
-    function computeNewHighWaterMark(n) {
-      if (n >= MAX_HWM) {
-        n = MAX_HWM;
-      } else {
-        n--;
-        n |= n >>> 1;
-        n |= n >>> 2;
-        n |= n >>> 4;
-        n |= n >>> 8;
-        n |= n >>> 16;
-        n++;
+    function afterDestroy(err) {
+      const stream2 = this.stream;
+      if (!err && this.error !== STREAM_DESTROYED) err = this.error;
+      if (err) stream2.emit("error", err);
+      stream2._duplexState |= DESTROYED;
+      stream2.emit("close");
+      const rs = stream2._readableState;
+      const ws = stream2._writableState;
+      if (rs !== null && rs.pipeline !== null) rs.pipeline.done(stream2, err);
+      if (ws !== null) {
+        while (ws.drains !== null && ws.drains.length > 0) ws.drains.shift().resolve(false);
+        if (ws.pipeline !== null) ws.pipeline.done(stream2, err);
       }
-      return n;
     }
-    function howMuchToRead(n, state) {
-      if (n <= 0 || state.length === 0 && state.ended) return 0;
-      if (state.objectMode) return 1;
-      if (n !== n) {
-        if (state.flowing && state.length) return state.buffer.head.data.length;
-        else return state.length;
+    function afterWrite(err) {
+      const stream2 = this.stream;
+      if (err) stream2.destroy(err);
+      stream2._duplexState &= WRITE_NOT_ACTIVE;
+      if (this.drains !== null) tickDrains(this.drains);
+      if ((stream2._duplexState & WRITE_DRAIN_STATUS) === WRITE_UNDRAINED) {
+        stream2._duplexState &= WRITE_DRAINED;
+        if ((stream2._duplexState & WRITE_EMIT_DRAIN) === WRITE_EMIT_DRAIN) {
+          stream2.emit("drain");
+        }
       }
-      if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);
-      if (n <= state.length) return n;
-      if (!state.ended) {
-        state.needReadable = true;
-        return 0;
+      this.updateCallback();
+    }
+    function afterRead(err) {
+      if (err) this.stream.destroy(err);
+      this.stream._duplexState &= READ_NOT_ACTIVE;
+      if (this.readAhead === false && (this.stream._duplexState & READ_RESUMED) === 0) this.stream._duplexState &= READ_NO_READ_AHEAD;
+      this.updateCallback();
+    }
+    function updateReadNT() {
+      if ((this.stream._duplexState & READ_UPDATING) === 0) {
+        this.stream._duplexState &= READ_NOT_NEXT_TICK;
+        this.update();
       }
-      return state.length;
     }
-    Readable2.prototype.read = function(n) {
-      debug5("read", n);
-      n = parseInt(n, 10);
-      var state = this._readableState;
-      var nOrig = n;
-      if (n !== 0) state.emittedReadable = false;
-      if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) {
-        debug5("read: emitReadable", state.length, state.ended);
-        if (state.length === 0 && state.ended) endReadable(this);
-        else emitReadable(this);
-        return null;
+    function updateWriteNT() {
+      if ((this.stream._duplexState & WRITE_UPDATING) === 0) {
+        this.stream._duplexState &= WRITE_NOT_NEXT_TICK;
+        this.update();
       }
-      n = howMuchToRead(n, state);
-      if (n === 0 && state.ended) {
-        if (state.length === 0) endReadable(this);
-        return null;
+    }
+    function tickDrains(drains) {
+      for (let i = 0; i < drains.length; i++) {
+        if (--drains[i].writes === 0) {
+          drains.shift().resolve(true);
+          i--;
+        }
       }
-      var doRead = state.needReadable;
-      debug5("need readable", doRead);
-      if (state.length === 0 || state.length - n < state.highWaterMark) {
-        doRead = true;
-        debug5("length less than watermark", doRead);
+    }
+    function afterOpen(err) {
+      const stream2 = this.stream;
+      if (err) stream2.destroy(err);
+      if ((stream2._duplexState & DESTROYING) === 0) {
+        if ((stream2._duplexState & READ_PRIMARY_STATUS) === 0) stream2._duplexState |= READ_PRIMARY;
+        if ((stream2._duplexState & WRITE_PRIMARY_STATUS) === 0) stream2._duplexState |= WRITE_PRIMARY;
+        stream2.emit("open");
       }
-      if (state.ended || state.reading) {
-        doRead = false;
-        debug5("reading or ended", doRead);
-      } else if (doRead) {
-        debug5("do read");
-        state.reading = true;
-        state.sync = true;
-        if (state.length === 0) state.needReadable = true;
-        this._read(state.highWaterMark);
-        state.sync = false;
-        if (!state.reading) n = howMuchToRead(nOrig, state);
+      stream2._duplexState &= NOT_ACTIVE;
+      if (stream2._writableState !== null) {
+        stream2._writableState.updateCallback();
       }
-      var ret;
-      if (n > 0) ret = fromList(n, state);
-      else ret = null;
-      if (ret === null) {
-        state.needReadable = true;
-        n = 0;
-      } else {
-        state.length -= n;
+      if (stream2._readableState !== null) {
+        stream2._readableState.updateCallback();
       }
-      if (state.length === 0) {
-        if (!state.ended) state.needReadable = true;
-        if (nOrig !== n && state.ended) endReadable(this);
+    }
+    function afterTransform(err, data) {
+      if (data !== void 0 && data !== null) this.push(data);
+      this._writableState.afterWrite(err);
+    }
+    function newListener(name) {
+      if (this._readableState !== null) {
+        if (name === "data") {
+          this._duplexState |= READ_EMIT_DATA | READ_RESUMED_READ_AHEAD;
+          this._readableState.updateNextTick();
+        }
+        if (name === "readable") {
+          this._duplexState |= READ_EMIT_READABLE;
+          this._readableState.updateNextTick();
+        }
       }
-      if (ret !== null) this.emit("data", ret);
-      return ret;
-    };
-    function onEofChunk(stream2, state) {
-      if (state.ended) return;
-      if (state.decoder) {
-        var chunk = state.decoder.end();
-        if (chunk && chunk.length) {
-          state.buffer.push(chunk);
-          state.length += state.objectMode ? 1 : chunk.length;
+      if (this._writableState !== null) {
+        if (name === "drain") {
+          this._duplexState |= WRITE_EMIT_DRAIN;
+          this._writableState.updateNextTick();
         }
       }
-      state.ended = true;
-      emitReadable(stream2);
     }
-    function emitReadable(stream2) {
-      var state = stream2._readableState;
-      state.needReadable = false;
-      if (!state.emittedReadable) {
-        debug5("emitReadable", state.flowing);
-        state.emittedReadable = true;
-        if (state.sync) pna.nextTick(emitReadable_, stream2);
-        else emitReadable_(stream2);
+    var Stream = class extends EventEmitter {
+      constructor(opts) {
+        super();
+        this._duplexState = 0;
+        this._readableState = null;
+        this._writableState = null;
+        if (opts) {
+          if (opts.open) this._open = opts.open;
+          if (opts.destroy) this._destroy = opts.destroy;
+          if (opts.predestroy) this._predestroy = opts.predestroy;
+          if (opts.signal) {
+            opts.signal.addEventListener("abort", abort.bind(this));
+          }
+        }
+        this.on("newListener", newListener);
       }
-    }
-    function emitReadable_(stream2) {
-      debug5("emit readable");
-      stream2.emit("readable");
-      flow(stream2);
-    }
-    function maybeReadMore(stream2, state) {
-      if (!state.readingMore) {
-        state.readingMore = true;
-        pna.nextTick(maybeReadMore_, stream2, state);
+      _open(cb) {
+        cb(null);
       }
-    }
-    function maybeReadMore_(stream2, state) {
-      var len = state.length;
-      while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) {
-        debug5("maybeReadMore read 0");
-        stream2.read(0);
-        if (len === state.length)
-          break;
-        else len = state.length;
+      _destroy(cb) {
+        cb(null);
       }
-      state.readingMore = false;
-    }
-    Readable2.prototype._read = function(n) {
-      this.emit("error", new Error("_read() is not implemented"));
-    };
-    Readable2.prototype.pipe = function(dest, pipeOpts) {
-      var src = this;
-      var state = this._readableState;
-      switch (state.pipesCount) {
-        case 0:
-          state.pipes = dest;
-          break;
-        case 1:
-          state.pipes = [state.pipes, dest];
-          break;
-        default:
-          state.pipes.push(dest);
-          break;
+      _predestroy() {
       }
-      state.pipesCount += 1;
-      debug5("pipe count=%d opts=%j", state.pipesCount, pipeOpts);
-      var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;
-      var endFn = doEnd ? onend : unpipe;
-      if (state.endEmitted) pna.nextTick(endFn);
-      else src.once("end", endFn);
-      dest.on("unpipe", onunpipe);
-      function onunpipe(readable, unpipeInfo) {
-        debug5("onunpipe");
-        if (readable === src) {
-          if (unpipeInfo && unpipeInfo.hasUnpiped === false) {
-            unpipeInfo.hasUnpiped = true;
-            cleanup();
-          }
-        }
+      get readable() {
+        return this._readableState !== null ? true : void 0;
       }
-      function onend() {
-        debug5("onend");
-        dest.end();
+      get writable() {
+        return this._writableState !== null ? true : void 0;
       }
-      var ondrain = pipeOnDrain(src);
-      dest.on("drain", ondrain);
-      var cleanedUp = false;
-      function cleanup() {
-        debug5("cleanup");
-        dest.removeListener("close", onclose);
-        dest.removeListener("finish", onfinish);
-        dest.removeListener("drain", ondrain);
-        dest.removeListener("error", onerror);
-        dest.removeListener("unpipe", onunpipe);
-        src.removeListener("end", onend);
-        src.removeListener("end", unpipe);
-        src.removeListener("data", ondata);
-        cleanedUp = true;
-        if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();
+      get destroyed() {
+        return (this._duplexState & DESTROYED) !== 0;
       }
-      var increasedAwaitDrain = false;
-      src.on("data", ondata);
-      function ondata(chunk) {
-        debug5("ondata");
-        increasedAwaitDrain = false;
-        var ret = dest.write(chunk);
-        if (false === ret && !increasedAwaitDrain) {
-          if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {
-            debug5("false write response, pause", state.awaitDrain);
-            state.awaitDrain++;
-            increasedAwaitDrain = true;
+      get destroying() {
+        return (this._duplexState & DESTROY_STATUS) !== 0;
+      }
+      destroy(err) {
+        if ((this._duplexState & DESTROY_STATUS) === 0) {
+          if (!err) err = STREAM_DESTROYED;
+          this._duplexState = (this._duplexState | DESTROYING) & NON_PRIMARY;
+          if (this._readableState !== null) {
+            this._readableState.highWaterMark = 0;
+            this._readableState.error = err;
           }
-          src.pause();
+          if (this._writableState !== null) {
+            this._writableState.highWaterMark = 0;
+            this._writableState.error = err;
+          }
+          this._duplexState |= PREDESTROYING;
+          this._predestroy();
+          this._duplexState &= NOT_PREDESTROYING;
+          if (this._readableState !== null) this._readableState.updateNextTick();
+          if (this._writableState !== null) this._writableState.updateNextTick();
         }
       }
-      function onerror(er) {
-        debug5("onerror", er);
-        unpipe();
-        dest.removeListener("error", onerror);
-        if (EElistenerCount(dest, "error") === 0) dest.emit("error", er);
+    };
+    var Readable2 = class _Readable extends Stream {
+      constructor(opts) {
+        super(opts);
+        this._duplexState |= OPENING | WRITE_DONE | READ_READ_AHEAD;
+        this._readableState = new ReadableState(this, opts);
+        if (opts) {
+          if (this._readableState.readAhead === false) this._duplexState &= READ_NO_READ_AHEAD;
+          if (opts.read) this._read = opts.read;
+          if (opts.eagerOpen) this._readableState.updateNextTick();
+          if (opts.encoding) this.setEncoding(opts.encoding);
+        }
       }
-      prependListener(dest, "error", onerror);
-      function onclose() {
-        dest.removeListener("finish", onfinish);
-        unpipe();
+      setEncoding(encoding) {
+        const dec = new TextDecoder2(encoding);
+        const map2 = this._readableState.map || echo;
+        this._readableState.map = mapOrSkip;
+        return this;
+        function mapOrSkip(data) {
+          const next = dec.push(data);
+          return next === "" && (data.byteLength !== 0 || dec.remaining > 0) ? null : map2(next);
+        }
       }
-      dest.once("close", onclose);
-      function onfinish() {
-        debug5("onfinish");
-        dest.removeListener("close", onclose);
-        unpipe();
+      _read(cb) {
+        cb(null);
       }
-      dest.once("finish", onfinish);
-      function unpipe() {
-        debug5("unpipe");
-        src.unpipe(dest);
+      pipe(dest, cb) {
+        this._readableState.updateNextTick();
+        this._readableState.pipe(dest, cb);
+        return dest;
       }
-      dest.emit("pipe", src);
-      if (!state.flowing) {
-        debug5("pipe resume");
-        src.resume();
+      read() {
+        this._readableState.updateNextTick();
+        return this._readableState.read();
       }
-      return dest;
-    };
-    function pipeOnDrain(src) {
-      return function() {
-        var state = src._readableState;
-        debug5("pipeOnDrain", state.awaitDrain);
-        if (state.awaitDrain) state.awaitDrain--;
-        if (state.awaitDrain === 0 && EElistenerCount(src, "data")) {
-          state.flowing = true;
-          flow(src);
-        }
-      };
-    }
-    Readable2.prototype.unpipe = function(dest) {
-      var state = this._readableState;
-      var unpipeInfo = { hasUnpiped: false };
-      if (state.pipesCount === 0) return this;
-      if (state.pipesCount === 1) {
-        if (dest && dest !== state.pipes) return this;
-        if (!dest) dest = state.pipes;
-        state.pipes = null;
-        state.pipesCount = 0;
-        state.flowing = false;
-        if (dest) dest.emit("unpipe", this, unpipeInfo);
+      push(data) {
+        this._readableState.updateNextTick();
+        return this._readableState.push(data);
+      }
+      unshift(data) {
+        this._readableState.updateNextTick();
+        return this._readableState.unshift(data);
+      }
+      resume() {
+        this._duplexState |= READ_RESUMED_READ_AHEAD;
+        this._readableState.updateNextTick();
         return this;
       }
-      if (!dest) {
-        var dests = state.pipes;
-        var len = state.pipesCount;
-        state.pipes = null;
-        state.pipesCount = 0;
-        state.flowing = false;
-        for (var i = 0; i < len; i++) {
-          dests[i].emit("unpipe", this, { hasUnpiped: false });
-        }
+      pause() {
+        this._duplexState &= this._readableState.readAhead === false ? READ_PAUSED_NO_READ_AHEAD : READ_PAUSED;
         return this;
       }
-      var index = indexOf(state.pipes, dest);
-      if (index === -1) return this;
-      state.pipes.splice(index, 1);
-      state.pipesCount -= 1;
-      if (state.pipesCount === 1) state.pipes = state.pipes[0];
-      dest.emit("unpipe", this, unpipeInfo);
-      return this;
-    };
-    Readable2.prototype.on = function(ev, fn) {
-      var res = Stream.prototype.on.call(this, ev, fn);
-      if (ev === "data") {
-        if (this._readableState.flowing !== false) this.resume();
-      } else if (ev === "readable") {
-        var state = this._readableState;
-        if (!state.endEmitted && !state.readableListening) {
-          state.readableListening = state.needReadable = true;
-          state.emittedReadable = false;
-          if (!state.reading) {
-            pna.nextTick(nReadingNextTick, this);
-          } else if (state.length) {
-            emitReadable(this);
+      static _fromAsyncIterator(ite, opts) {
+        let destroy;
+        const rs = new _Readable({
+          ...opts,
+          read(cb) {
+            ite.next().then(push).then(cb.bind(null, null)).catch(cb);
+          },
+          predestroy() {
+            destroy = ite.return();
+          },
+          destroy(cb) {
+            if (!destroy) return cb(null);
+            destroy.then(cb.bind(null, null)).catch(cb);
           }
+        });
+        return rs;
+        function push(data) {
+          if (data.done) rs.push(null);
+          else rs.push(data.value);
         }
       }
-      return res;
-    };
-    Readable2.prototype.addListener = Readable2.prototype.on;
-    function nReadingNextTick(self2) {
-      debug5("readable nexttick read 0");
-      self2.read(0);
-    }
-    Readable2.prototype.resume = function() {
-      var state = this._readableState;
-      if (!state.flowing) {
-        debug5("resume");
-        state.flowing = true;
-        resume(this, state);
-      }
-      return this;
-    };
-    function resume(stream2, state) {
-      if (!state.resumeScheduled) {
-        state.resumeScheduled = true;
-        pna.nextTick(resume_, stream2, state);
-      }
-    }
-    function resume_(stream2, state) {
-      if (!state.reading) {
-        debug5("resume read 0");
-        stream2.read(0);
+      static from(data, opts) {
+        if (isReadStreamx(data)) return data;
+        if (data[asyncIterator]) return this._fromAsyncIterator(data[asyncIterator](), opts);
+        if (!Array.isArray(data)) data = data === void 0 ? [] : [data];
+        let i = 0;
+        return new _Readable({
+          ...opts,
+          read(cb) {
+            this.push(i === data.length ? null : data[i++]);
+            cb(null);
+          }
+        });
       }
-      state.resumeScheduled = false;
-      state.awaitDrain = 0;
-      stream2.emit("resume");
-      flow(stream2);
-      if (state.flowing && !state.reading) stream2.read(0);
-    }
-    Readable2.prototype.pause = function() {
-      debug5("call pause flowing=%j", this._readableState.flowing);
-      if (false !== this._readableState.flowing) {
-        debug5("pause");
-        this._readableState.flowing = false;
-        this.emit("pause");
+      static isBackpressured(rs) {
+        return (rs._duplexState & READ_BACKPRESSURE_STATUS) !== 0 || rs._readableState.buffered >= rs._readableState.highWaterMark;
       }
-      return this;
-    };
-    function flow(stream2) {
-      var state = stream2._readableState;
-      debug5("flow", state.flowing);
-      while (state.flowing && stream2.read() !== null) {
+      static isPaused(rs) {
+        return (rs._duplexState & READ_RESUMED) === 0;
       }
-    }
-    Readable2.prototype.wrap = function(stream2) {
-      var _this = this;
-      var state = this._readableState;
-      var paused = false;
-      stream2.on("end", function() {
-        debug5("wrapped end");
-        if (state.decoder && !state.ended) {
-          var chunk = state.decoder.end();
-          if (chunk && chunk.length) _this.push(chunk);
+      [asyncIterator]() {
+        const stream2 = this;
+        let error3 = null;
+        let promiseResolve = null;
+        let promiseReject = null;
+        this.on("error", (err) => {
+          error3 = err;
+        });
+        this.on("readable", onreadable);
+        this.on("close", onclose);
+        return {
+          [asyncIterator]() {
+            return this;
+          },
+          next() {
+            return new Promise(function(resolve8, reject) {
+              promiseResolve = resolve8;
+              promiseReject = reject;
+              const data = stream2.read();
+              if (data !== null) ondata(data);
+              else if ((stream2._duplexState & DESTROYED) !== 0) ondata(null);
+            });
+          },
+          return() {
+            return destroy(null);
+          },
+          throw(err) {
+            return destroy(err);
+          }
+        };
+        function onreadable() {
+          if (promiseResolve !== null) ondata(stream2.read());
         }
-        _this.push(null);
-      });
-      stream2.on("data", function(chunk) {
-        debug5("wrapped data");
-        if (state.decoder) chunk = state.decoder.write(chunk);
-        if (state.objectMode && (chunk === null || chunk === void 0)) return;
-        else if (!state.objectMode && (!chunk || !chunk.length)) return;
-        var ret = _this.push(chunk);
-        if (!ret) {
-          paused = true;
-          stream2.pause();
+        function onclose() {
+          if (promiseResolve !== null) ondata(null);
         }
-      });
-      for (var i in stream2) {
-        if (this[i] === void 0 && typeof stream2[i] === "function") {
-          this[i] = /* @__PURE__ */ (function(method) {
-            return function() {
-              return stream2[method].apply(stream2, arguments);
-            };
-          })(i);
+        function ondata(data) {
+          if (promiseReject === null) return;
+          if (error3) promiseReject(error3);
+          else if (data === null && (stream2._duplexState & READ_DONE) === 0) promiseReject(STREAM_DESTROYED);
+          else promiseResolve({ value: data, done: data === null });
+          promiseReject = promiseResolve = null;
         }
-      }
-      for (var n = 0; n < kProxyEvents.length; n++) {
-        stream2.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));
-      }
-      this._read = function(n2) {
-        debug5("wrapped _read", n2);
-        if (paused) {
-          paused = false;
-          stream2.resume();
+        function destroy(err) {
+          stream2.destroy(err);
+          return new Promise((resolve8, reject) => {
+            if (stream2._duplexState & DESTROYED) return resolve8({ value: void 0, done: true });
+            stream2.once("close", function() {
+              if (err) reject(err);
+              else resolve8({ value: void 0, done: true });
+            });
+          });
         }
-      };
-      return this;
+      }
     };
-    Object.defineProperty(Readable2.prototype, "readableHighWaterMark", {
-      // making it explicit this property is not enumerable
-      // because otherwise some prototype manipulation in
-      // userland will fail
-      enumerable: false,
-      get: function() {
-        return this._readableState.highWaterMark;
+    var Writable = class extends Stream {
+      constructor(opts) {
+        super(opts);
+        this._duplexState |= OPENING | READ_DONE;
+        this._writableState = new WritableState(this, opts);
+        if (opts) {
+          if (opts.writev) this._writev = opts.writev;
+          if (opts.write) this._write = opts.write;
+          if (opts.final) this._final = opts.final;
+          if (opts.eagerOpen) this._writableState.updateNextTick();
+        }
       }
-    });
-    Readable2._fromList = fromList;
-    function fromList(n, state) {
-      if (state.length === 0) return null;
-      var ret;
-      if (state.objectMode) ret = state.buffer.shift();
-      else if (!n || n >= state.length) {
-        if (state.decoder) ret = state.buffer.join("");
-        else if (state.buffer.length === 1) ret = state.buffer.head.data;
-        else ret = state.buffer.concat(state.length);
-        state.buffer.clear();
-      } else {
-        ret = fromListPartial(n, state.buffer, state.decoder);
+      cork() {
+        this._duplexState |= WRITE_CORKED;
       }
-      return ret;
-    }
-    function fromListPartial(n, list, hasStrings) {
-      var ret;
-      if (n < list.head.data.length) {
-        ret = list.head.data.slice(0, n);
-        list.head.data = list.head.data.slice(n);
-      } else if (n === list.head.data.length) {
-        ret = list.shift();
-      } else {
-        ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list);
+      uncork() {
+        this._duplexState &= WRITE_NOT_CORKED;
+        this._writableState.updateNextTick();
       }
-      return ret;
-    }
-    function copyFromBufferString(n, list) {
-      var p = list.head;
-      var c = 1;
-      var ret = p.data;
-      n -= ret.length;
-      while (p = p.next) {
-        var str2 = p.data;
-        var nb = n > str2.length ? str2.length : n;
-        if (nb === str2.length) ret += str2;
-        else ret += str2.slice(0, n);
-        n -= nb;
-        if (n === 0) {
-          if (nb === str2.length) {
-            ++c;
-            if (p.next) list.head = p.next;
-            else list.head = list.tail = null;
-          } else {
-            list.head = p;
-            p.data = str2.slice(nb);
-          }
-          break;
-        }
-        ++c;
+      _writev(batch, cb) {
+        cb(null);
       }
-      list.length -= c;
-      return ret;
-    }
-    function copyFromBuffer(n, list) {
-      var ret = Buffer2.allocUnsafe(n);
-      var p = list.head;
-      var c = 1;
-      p.data.copy(ret);
-      n -= p.data.length;
-      while (p = p.next) {
-        var buf = p.data;
-        var nb = n > buf.length ? buf.length : n;
-        buf.copy(ret, ret.length - n, 0, nb);
-        n -= nb;
-        if (n === 0) {
-          if (nb === buf.length) {
-            ++c;
-            if (p.next) list.head = p.next;
-            else list.head = list.tail = null;
-          } else {
-            list.head = p;
-            p.data = buf.slice(nb);
-          }
-          break;
+      _write(data, cb) {
+        this._writableState.autoBatch(data, cb);
+      }
+      _final(cb) {
+        cb(null);
+      }
+      static isBackpressured(ws) {
+        return (ws._duplexState & WRITE_BACKPRESSURE_STATUS) !== 0;
+      }
+      static drained(ws) {
+        if (ws.destroyed) return Promise.resolve(false);
+        const state = ws._writableState;
+        const pending = isWritev(ws) ? Math.min(1, state.queue.length) : state.queue.length;
+        const writes = pending + (ws._duplexState & WRITE_WRITING ? 1 : 0);
+        if (writes === 0) return Promise.resolve(true);
+        if (state.drains === null) state.drains = [];
+        return new Promise((resolve8) => {
+          state.drains.push({ writes, resolve: resolve8 });
+        });
+      }
+      write(data) {
+        this._writableState.updateNextTick();
+        return this._writableState.push(data);
+      }
+      end(data) {
+        this._writableState.updateNextTick();
+        this._writableState.end(data);
+        return this;
+      }
+    };
+    var Duplex = class extends Readable2 {
+      // and Writable
+      constructor(opts) {
+        super(opts);
+        this._duplexState = OPENING | this._duplexState & READ_READ_AHEAD;
+        this._writableState = new WritableState(this, opts);
+        if (opts) {
+          if (opts.writev) this._writev = opts.writev;
+          if (opts.write) this._write = opts.write;
+          if (opts.final) this._final = opts.final;
         }
-        ++c;
       }
-      list.length -= c;
-      return ret;
-    }
-    function endReadable(stream2) {
-      var state = stream2._readableState;
-      if (state.length > 0) throw new Error('"endReadable()" called on non-empty stream');
-      if (!state.endEmitted) {
-        state.ended = true;
-        pna.nextTick(endReadableNT, state, stream2);
+      cork() {
+        this._duplexState |= WRITE_CORKED;
       }
-    }
-    function endReadableNT(state, stream2) {
-      if (!state.endEmitted && state.length === 0) {
-        state.endEmitted = true;
-        stream2.readable = false;
-        stream2.emit("end");
+      uncork() {
+        this._duplexState &= WRITE_NOT_CORKED;
+        this._writableState.updateNextTick();
       }
-    }
-    function indexOf(xs, x) {
-      for (var i = 0, l = xs.length; i < l; i++) {
-        if (xs[i] === x) return i;
+      _writev(batch, cb) {
+        cb(null);
       }
-      return -1;
-    }
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/lib/_stream_transform.js
-var require_stream_transform = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_transform.js"(exports2, module2) {
-    "use strict";
-    module2.exports = Transform;
-    var Duplex = require_stream_duplex();
-    var util = Object.create(require_util19());
-    util.inherits = require_inherits();
-    util.inherits(Transform, Duplex);
-    function afterTransform(er, data) {
-      var ts = this._transformState;
-      ts.transforming = false;
-      var cb = ts.writecb;
-      if (!cb) {
-        return this.emit("error", new Error("write callback called multiple times"));
+      _write(data, cb) {
+        this._writableState.autoBatch(data, cb);
       }
-      ts.writechunk = null;
-      ts.writecb = null;
-      if (data != null)
-        this.push(data);
-      cb(er);
-      var rs = this._readableState;
-      rs.reading = false;
-      if (rs.needReadable || rs.length < rs.highWaterMark) {
-        this._read(rs.highWaterMark);
+      _final(cb) {
+        cb(null);
       }
-    }
-    function Transform(options) {
-      if (!(this instanceof Transform)) return new Transform(options);
-      Duplex.call(this, options);
-      this._transformState = {
-        afterTransform: afterTransform.bind(this),
-        needTransform: false,
-        transforming: false,
-        writecb: null,
-        writechunk: null,
-        writeencoding: null
-      };
-      this._readableState.needReadable = true;
-      this._readableState.sync = false;
-      if (options) {
-        if (typeof options.transform === "function") this._transform = options.transform;
-        if (typeof options.flush === "function") this._flush = options.flush;
+      write(data) {
+        this._writableState.updateNextTick();
+        return this._writableState.push(data);
       }
-      this.on("prefinish", prefinish);
-    }
-    function prefinish() {
-      var _this = this;
-      if (typeof this._flush === "function") {
-        this._flush(function(er, data) {
-          done(_this, er, data);
-        });
-      } else {
-        done(this, null, null);
+      end(data) {
+        this._writableState.updateNextTick();
+        this._writableState.end(data);
+        return this;
       }
-    }
-    Transform.prototype.push = function(chunk, encoding) {
-      this._transformState.needTransform = false;
-      return Duplex.prototype.push.call(this, chunk, encoding);
-    };
-    Transform.prototype._transform = function(chunk, encoding, cb) {
-      throw new Error("_transform() is not implemented");
     };
-    Transform.prototype._write = function(chunk, encoding, cb) {
-      var ts = this._transformState;
-      ts.writecb = cb;
-      ts.writechunk = chunk;
-      ts.writeencoding = encoding;
-      if (!ts.transforming) {
-        var rs = this._readableState;
-        if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);
+    var Transform = class extends Duplex {
+      constructor(opts) {
+        super(opts);
+        this._transformState = new TransformState(this);
+        if (opts) {
+          if (opts.transform) this._transform = opts.transform;
+          if (opts.flush) this._flush = opts.flush;
+        }
       }
-    };
-    Transform.prototype._read = function(n) {
-      var ts = this._transformState;
-      if (ts.writechunk !== null && ts.writecb && !ts.transforming) {
-        ts.transforming = true;
-        this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);
-      } else {
-        ts.needTransform = true;
+      _write(data, cb) {
+        if (this._readableState.buffered >= this._readableState.highWaterMark) {
+          this._transformState.data = data;
+        } else {
+          this._transform(data, this._transformState.afterTransform);
+        }
       }
-    };
-    Transform.prototype._destroy = function(err, cb) {
-      var _this2 = this;
-      Duplex.prototype._destroy.call(this, err, function(err2) {
-        cb(err2);
-        _this2.emit("close");
-      });
-    };
-    function done(stream2, er, data) {
-      if (er) return stream2.emit("error", er);
-      if (data != null)
-        stream2.push(data);
-      if (stream2._writableState.length) throw new Error("Calling transform done when ws.length != 0");
-      if (stream2._transformState.transforming) throw new Error("Calling transform done when still transforming");
-      return stream2.push(null);
-    }
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/lib/_stream_passthrough.js
-var require_stream_passthrough = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_passthrough.js"(exports2, module2) {
-    "use strict";
-    module2.exports = PassThrough;
-    var Transform = require_stream_transform();
-    var util = Object.create(require_util19());
-    util.inherits = require_inherits();
-    util.inherits(PassThrough, Transform);
-    function PassThrough(options) {
-      if (!(this instanceof PassThrough)) return new PassThrough(options);
-      Transform.call(this, options);
-    }
-    PassThrough.prototype._transform = function(chunk, encoding, cb) {
-      cb(null, chunk);
-    };
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/readable.js
-var require_readable3 = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/readable.js"(exports2, module2) {
-    var Stream = require("stream");
-    if (process.env.READABLE_STREAM === "disable" && Stream) {
-      module2.exports = Stream;
-      exports2 = module2.exports = Stream.Readable;
-      exports2.Readable = Stream.Readable;
-      exports2.Writable = Stream.Writable;
-      exports2.Duplex = Stream.Duplex;
-      exports2.Transform = Stream.Transform;
-      exports2.PassThrough = Stream.PassThrough;
-      exports2.Stream = Stream;
-    } else {
-      exports2 = module2.exports = require_stream_readable();
-      exports2.Stream = Stream || exports2;
-      exports2.Readable = exports2;
-      exports2.Writable = require_stream_writable();
-      exports2.Duplex = require_stream_duplex();
-      exports2.Transform = require_stream_transform();
-      exports2.PassThrough = require_stream_passthrough();
-    }
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/passthrough.js
-var require_passthrough = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/passthrough.js"(exports2, module2) {
-    module2.exports = require_readable3().PassThrough;
-  }
-});
-
-// node_modules/lazystream/lib/lazystream.js
-var require_lazystream = __commonJS({
-  "node_modules/lazystream/lib/lazystream.js"(exports2, module2) {
-    var util = require("util");
-    var PassThrough = require_passthrough();
-    module2.exports = {
-      Readable: Readable2,
-      Writable
-    };
-    util.inherits(Readable2, PassThrough);
-    util.inherits(Writable, PassThrough);
-    function beforeFirstCall(instance, method, callback) {
-      instance[method] = function() {
-        delete instance[method];
-        callback.apply(this, arguments);
-        return this[method].apply(this, arguments);
-      };
-    }
-    function Readable2(fn, options) {
-      if (!(this instanceof Readable2))
-        return new Readable2(fn, options);
-      PassThrough.call(this, options);
-      beforeFirstCall(this, "_read", function() {
-        var source = fn.call(this, options);
-        var emit = this.emit.bind(this, "error");
-        source.on("error", emit);
-        source.pipe(this);
-      });
-      this.emit("readable");
-    }
-    function Writable(fn, options) {
-      if (!(this instanceof Writable))
-        return new Writable(fn, options);
-      PassThrough.call(this, options);
-      beforeFirstCall(this, "_write", function() {
-        var destination = fn.call(this, options);
-        var emit = this.emit.bind(this, "error");
-        destination.on("error", emit);
-        this.pipe(destination);
-      });
-      this.emit("writable");
-    }
-  }
-});
-
-// node_modules/normalize-path/index.js
-var require_normalize_path = __commonJS({
-  "node_modules/normalize-path/index.js"(exports2, module2) {
-    module2.exports = function(path16, stripTrailing) {
-      if (typeof path16 !== "string") {
-        throw new TypeError("expected path to be a string");
+      _read(cb) {
+        if (this._transformState.data !== null) {
+          const data = this._transformState.data;
+          this._transformState.data = null;
+          cb(null);
+          this._transform(data, this._transformState.afterTransform);
+        } else {
+          cb(null);
+        }
       }
-      if (path16 === "\\" || path16 === "/") return "/";
-      var len = path16.length;
-      if (len <= 1) return path16;
-      var prefix = "";
-      if (len > 4 && path16[3] === "\\") {
-        var ch = path16[2];
-        if ((ch === "?" || ch === ".") && path16.slice(0, 2) === "\\\\") {
-          path16 = path16.slice(2);
-          prefix = "//";
+      destroy(err) {
+        super.destroy(err);
+        if (this._transformState.data !== null) {
+          this._transformState.data = null;
+          this._transformState.afterTransform();
         }
       }
-      var segs = path16.split(/[/\\]+/);
-      if (stripTrailing !== false && segs[segs.length - 1] === "") {
-        segs.pop();
+      _transform(data, cb) {
+        cb(null, data);
+      }
+      _flush(cb) {
+        cb(null);
+      }
+      _final(cb) {
+        this._transformState.afterFinal = cb;
+        this._flush(transformAfterFlush.bind(this));
       }
-      return prefix + segs.join("/");
     };
-  }
-});
-
-// node_modules/lodash/identity.js
-var require_identity = __commonJS({
-  "node_modules/lodash/identity.js"(exports2, module2) {
-    function identity(value) {
-      return value;
+    var PassThrough = class extends Transform {
+    };
+    function transformAfterFlush(err, data) {
+      const cb = this._transformState.afterFinal;
+      if (err) return cb(err);
+      if (data !== null && data !== void 0) this.push(data);
+      this.push(null);
+      cb(null);
     }
-    module2.exports = identity;
-  }
-});
-
-// node_modules/lodash/_apply.js
-var require_apply = __commonJS({
-  "node_modules/lodash/_apply.js"(exports2, module2) {
-    function apply(func, thisArg, args) {
-      switch (args.length) {
-        case 0:
-          return func.call(thisArg);
-        case 1:
-          return func.call(thisArg, args[0]);
-        case 2:
-          return func.call(thisArg, args[0], args[1]);
-        case 3:
-          return func.call(thisArg, args[0], args[1], args[2]);
-      }
-      return func.apply(thisArg, args);
+    function pipelinePromise(...streams) {
+      return new Promise((resolve8, reject) => {
+        return pipeline(...streams, (err) => {
+          if (err) return reject(err);
+          resolve8();
+        });
+      });
     }
-    module2.exports = apply;
-  }
-});
-
-// node_modules/lodash/_overRest.js
-var require_overRest = __commonJS({
-  "node_modules/lodash/_overRest.js"(exports2, module2) {
-    var apply = require_apply();
-    var nativeMax = Math.max;
-    function overRest(func, start, transform) {
-      start = nativeMax(start === void 0 ? func.length - 1 : start, 0);
-      return function() {
-        var args = arguments, index = -1, length = nativeMax(args.length - start, 0), array = Array(length);
-        while (++index < length) {
-          array[index] = args[start + index];
+    function pipeline(stream2, ...streams) {
+      const all = Array.isArray(stream2) ? [...stream2, ...streams] : [stream2, ...streams];
+      const done = all.length && typeof all[all.length - 1] === "function" ? all.pop() : null;
+      if (all.length < 2) throw new Error("Pipeline requires at least 2 streams");
+      let src = all[0];
+      let dest = null;
+      let error3 = null;
+      for (let i = 1; i < all.length; i++) {
+        dest = all[i];
+        if (isStreamx(src)) {
+          src.pipe(dest, onerror);
+        } else {
+          errorHandle(src, true, i > 1, onerror);
+          src.pipe(dest);
         }
-        index = -1;
-        var otherArgs = Array(start + 1);
-        while (++index < start) {
-          otherArgs[index] = args[index];
+        src = dest;
+      }
+      if (done) {
+        let fin = false;
+        const autoDestroy = isStreamx(dest) || !!(dest._writableState && dest._writableState.autoDestroy);
+        dest.on("error", (err) => {
+          if (error3 === null) error3 = err;
+        });
+        dest.on("finish", () => {
+          fin = true;
+          if (!autoDestroy) done(error3);
+        });
+        if (autoDestroy) {
+          dest.on("close", () => done(error3 || (fin ? null : PREMATURE_CLOSE)));
         }
-        otherArgs[start] = transform(array);
-        return apply(func, this, otherArgs);
-      };
-    }
-    module2.exports = overRest;
-  }
-});
-
-// node_modules/lodash/constant.js
-var require_constant = __commonJS({
-  "node_modules/lodash/constant.js"(exports2, module2) {
-    function constant(value) {
-      return function() {
-        return value;
-      };
-    }
-    module2.exports = constant;
-  }
-});
-
-// node_modules/lodash/_freeGlobal.js
-var require_freeGlobal = __commonJS({
-  "node_modules/lodash/_freeGlobal.js"(exports2, module2) {
-    var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
-    module2.exports = freeGlobal;
-  }
-});
-
-// node_modules/lodash/_root.js
-var require_root = __commonJS({
-  "node_modules/lodash/_root.js"(exports2, module2) {
-    var freeGlobal = require_freeGlobal();
-    var freeSelf = typeof self == "object" && self && self.Object === Object && self;
-    var root = freeGlobal || freeSelf || Function("return this")();
-    module2.exports = root;
-  }
-});
-
-// node_modules/lodash/_Symbol.js
-var require_Symbol = __commonJS({
-  "node_modules/lodash/_Symbol.js"(exports2, module2) {
-    var root = require_root();
-    var Symbol2 = root.Symbol;
-    module2.exports = Symbol2;
-  }
-});
-
-// node_modules/lodash/_getRawTag.js
-var require_getRawTag = __commonJS({
-  "node_modules/lodash/_getRawTag.js"(exports2, module2) {
-    var Symbol2 = require_Symbol();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    var nativeObjectToString = objectProto.toString;
-    var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0;
-    function getRawTag(value) {
-      var isOwn = hasOwnProperty.call(value, symToStringTag), tag = value[symToStringTag];
-      try {
-        value[symToStringTag] = void 0;
-        var unmasked = true;
-      } catch (e) {
       }
-      var result = nativeObjectToString.call(value);
-      if (unmasked) {
-        if (isOwn) {
-          value[symToStringTag] = tag;
-        } else {
-          delete value[symToStringTag];
+      return dest;
+      function errorHandle(s, rd, wr, onerror2) {
+        s.on("error", onerror2);
+        s.on("close", onclose);
+        function onclose() {
+          if (rd && s._readableState && !s._readableState.ended) return onerror2(PREMATURE_CLOSE);
+          if (wr && s._writableState && !s._writableState.ended) return onerror2(PREMATURE_CLOSE);
         }
       }
-      return result;
-    }
-    module2.exports = getRawTag;
-  }
-});
-
-// node_modules/lodash/_objectToString.js
-var require_objectToString = __commonJS({
-  "node_modules/lodash/_objectToString.js"(exports2, module2) {
-    var objectProto = Object.prototype;
-    var nativeObjectToString = objectProto.toString;
-    function objectToString(value) {
-      return nativeObjectToString.call(value);
-    }
-    module2.exports = objectToString;
-  }
-});
-
-// node_modules/lodash/_baseGetTag.js
-var require_baseGetTag = __commonJS({
-  "node_modules/lodash/_baseGetTag.js"(exports2, module2) {
-    var Symbol2 = require_Symbol();
-    var getRawTag = require_getRawTag();
-    var objectToString = require_objectToString();
-    var nullTag = "[object Null]";
-    var undefinedTag = "[object Undefined]";
-    var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0;
-    function baseGetTag(value) {
-      if (value == null) {
-        return value === void 0 ? undefinedTag : nullTag;
+      function onerror(err) {
+        if (!err || error3) return;
+        error3 = err;
+        for (const s of all) {
+          s.destroy(err);
+        }
       }
-      return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);
-    }
-    module2.exports = baseGetTag;
-  }
-});
-
-// node_modules/lodash/isObject.js
-var require_isObject = __commonJS({
-  "node_modules/lodash/isObject.js"(exports2, module2) {
-    function isObject2(value) {
-      var type2 = typeof value;
-      return value != null && (type2 == "object" || type2 == "function");
     }
-    module2.exports = isObject2;
-  }
-});
-
-// node_modules/lodash/isFunction.js
-var require_isFunction = __commonJS({
-  "node_modules/lodash/isFunction.js"(exports2, module2) {
-    var baseGetTag = require_baseGetTag();
-    var isObject2 = require_isObject();
-    var asyncTag = "[object AsyncFunction]";
-    var funcTag = "[object Function]";
-    var genTag = "[object GeneratorFunction]";
-    var proxyTag = "[object Proxy]";
-    function isFunction(value) {
-      if (!isObject2(value)) {
-        return false;
-      }
-      var tag = baseGetTag(value);
-      return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
+    function echo(s) {
+      return s;
     }
-    module2.exports = isFunction;
-  }
-});
-
-// node_modules/lodash/_coreJsData.js
-var require_coreJsData = __commonJS({
-  "node_modules/lodash/_coreJsData.js"(exports2, module2) {
-    var root = require_root();
-    var coreJsData = root["__core-js_shared__"];
-    module2.exports = coreJsData;
-  }
-});
-
-// node_modules/lodash/_isMasked.js
-var require_isMasked = __commonJS({
-  "node_modules/lodash/_isMasked.js"(exports2, module2) {
-    var coreJsData = require_coreJsData();
-    var maskSrcKey = (function() {
-      var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || "");
-      return uid ? "Symbol(src)_1." + uid : "";
-    })();
-    function isMasked(func) {
-      return !!maskSrcKey && maskSrcKey in func;
+    function isStream(stream2) {
+      return !!stream2._readableState || !!stream2._writableState;
     }
-    module2.exports = isMasked;
-  }
-});
-
-// node_modules/lodash/_toSource.js
-var require_toSource = __commonJS({
-  "node_modules/lodash/_toSource.js"(exports2, module2) {
-    var funcProto = Function.prototype;
-    var funcToString = funcProto.toString;
-    function toSource(func) {
-      if (func != null) {
-        try {
-          return funcToString.call(func);
-        } catch (e) {
-        }
-        try {
-          return func + "";
-        } catch (e) {
-        }
-      }
-      return "";
+    function isStreamx(stream2) {
+      return typeof stream2._duplexState === "number" && isStream(stream2);
     }
-    module2.exports = toSource;
-  }
-});
-
-// node_modules/lodash/_baseIsNative.js
-var require_baseIsNative = __commonJS({
-  "node_modules/lodash/_baseIsNative.js"(exports2, module2) {
-    var isFunction = require_isFunction();
-    var isMasked = require_isMasked();
-    var isObject2 = require_isObject();
-    var toSource = require_toSource();
-    var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
-    var reIsHostCtor = /^\[object .+?Constructor\]$/;
-    var funcProto = Function.prototype;
-    var objectProto = Object.prototype;
-    var funcToString = funcProto.toString;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    var reIsNative = RegExp(
-      "^" + funcToString.call(hasOwnProperty).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
-    );
-    function baseIsNative(value) {
-      if (!isObject2(value) || isMasked(value)) {
-        return false;
-      }
-      var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
-      return pattern.test(toSource(value));
+    function isEnded(stream2) {
+      return !!stream2._readableState && stream2._readableState.ended;
     }
-    module2.exports = baseIsNative;
-  }
-});
-
-// node_modules/lodash/_getValue.js
-var require_getValue = __commonJS({
-  "node_modules/lodash/_getValue.js"(exports2, module2) {
-    function getValue(object, key) {
-      return object == null ? void 0 : object[key];
+    function isFinished(stream2) {
+      return !!stream2._writableState && stream2._writableState.ended;
     }
-    module2.exports = getValue;
-  }
-});
-
-// node_modules/lodash/_getNative.js
-var require_getNative = __commonJS({
-  "node_modules/lodash/_getNative.js"(exports2, module2) {
-    var baseIsNative = require_baseIsNative();
-    var getValue = require_getValue();
-    function getNative(object, key) {
-      var value = getValue(object, key);
-      return baseIsNative(value) ? value : void 0;
+    function getStreamError(stream2, opts = {}) {
+      const err = stream2._readableState && stream2._readableState.error || stream2._writableState && stream2._writableState.error;
+      return !opts.all && err === STREAM_DESTROYED ? null : err;
     }
-    module2.exports = getNative;
-  }
-});
-
-// node_modules/lodash/_defineProperty.js
-var require_defineProperty = __commonJS({
-  "node_modules/lodash/_defineProperty.js"(exports2, module2) {
-    var getNative = require_getNative();
-    var defineProperty = (function() {
-      try {
-        var func = getNative(Object, "defineProperty");
-        func({}, "", {});
-        return func;
-      } catch (e) {
-      }
-    })();
-    module2.exports = defineProperty;
-  }
-});
-
-// node_modules/lodash/_baseSetToString.js
-var require_baseSetToString = __commonJS({
-  "node_modules/lodash/_baseSetToString.js"(exports2, module2) {
-    var constant = require_constant();
-    var defineProperty = require_defineProperty();
-    var identity = require_identity();
-    var baseSetToString = !defineProperty ? identity : function(func, string) {
-      return defineProperty(func, "toString", {
-        "configurable": true,
-        "enumerable": false,
-        "value": constant(string),
-        "writable": true
-      });
-    };
-    module2.exports = baseSetToString;
-  }
-});
-
-// node_modules/lodash/_shortOut.js
-var require_shortOut = __commonJS({
-  "node_modules/lodash/_shortOut.js"(exports2, module2) {
-    var HOT_COUNT = 800;
-    var HOT_SPAN = 16;
-    var nativeNow = Date.now;
-    function shortOut(func) {
-      var count = 0, lastCalled = 0;
-      return function() {
-        var stamp = nativeNow(), remaining = HOT_SPAN - (stamp - lastCalled);
-        lastCalled = stamp;
-        if (remaining > 0) {
-          if (++count >= HOT_COUNT) {
-            return arguments[0];
-          }
-        } else {
-          count = 0;
-        }
-        return func.apply(void 0, arguments);
-      };
+    function isReadStreamx(stream2) {
+      return isStreamx(stream2) && stream2.readable;
     }
-    module2.exports = shortOut;
-  }
-});
-
-// node_modules/lodash/_setToString.js
-var require_setToString = __commonJS({
-  "node_modules/lodash/_setToString.js"(exports2, module2) {
-    var baseSetToString = require_baseSetToString();
-    var shortOut = require_shortOut();
-    var setToString = shortOut(baseSetToString);
-    module2.exports = setToString;
-  }
-});
-
-// node_modules/lodash/_baseRest.js
-var require_baseRest = __commonJS({
-  "node_modules/lodash/_baseRest.js"(exports2, module2) {
-    var identity = require_identity();
-    var overRest = require_overRest();
-    var setToString = require_setToString();
-    function baseRest(func, start) {
-      return setToString(overRest(func, start, identity), func + "");
+    function isTypedArray(data) {
+      return typeof data === "object" && data !== null && typeof data.byteLength === "number";
     }
-    module2.exports = baseRest;
-  }
-});
-
-// node_modules/lodash/eq.js
-var require_eq2 = __commonJS({
-  "node_modules/lodash/eq.js"(exports2, module2) {
-    function eq(value, other) {
-      return value === other || value !== value && other !== other;
+    function defaultByteLength(data) {
+      return isTypedArray(data) ? data.byteLength : 1024;
     }
-    module2.exports = eq;
-  }
-});
-
-// node_modules/lodash/isLength.js
-var require_isLength = __commonJS({
-  "node_modules/lodash/isLength.js"(exports2, module2) {
-    var MAX_SAFE_INTEGER = 9007199254740991;
-    function isLength(value) {
-      return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
+    function noop3() {
     }
-    module2.exports = isLength;
-  }
-});
-
-// node_modules/lodash/isArrayLike.js
-var require_isArrayLike = __commonJS({
-  "node_modules/lodash/isArrayLike.js"(exports2, module2) {
-    var isFunction = require_isFunction();
-    var isLength = require_isLength();
-    function isArrayLike(value) {
-      return value != null && isLength(value.length) && !isFunction(value);
+    function abort() {
+      this.destroy(new Error("Stream aborted."));
     }
-    module2.exports = isArrayLike;
-  }
-});
-
-// node_modules/lodash/_isIndex.js
-var require_isIndex = __commonJS({
-  "node_modules/lodash/_isIndex.js"(exports2, module2) {
-    var MAX_SAFE_INTEGER = 9007199254740991;
-    var reIsUint = /^(?:0|[1-9]\d*)$/;
-    function isIndex(value, length) {
-      var type2 = typeof value;
-      length = length == null ? MAX_SAFE_INTEGER : length;
-      return !!length && (type2 == "number" || type2 != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length);
+    function isWritev(s) {
+      return s._writev !== Writable.prototype._writev && s._writev !== Duplex.prototype._writev;
     }
-    module2.exports = isIndex;
+    module2.exports = {
+      pipeline,
+      pipelinePromise,
+      isStream,
+      isStreamx,
+      isEnded,
+      isFinished,
+      getStreamError,
+      Stream,
+      Writable,
+      Readable: Readable2,
+      Duplex,
+      Transform,
+      // Export PassThrough for compatibility with Node.js core's stream module
+      PassThrough
+    };
   }
 });
 
-// node_modules/lodash/_isIterateeCall.js
-var require_isIterateeCall = __commonJS({
-  "node_modules/lodash/_isIterateeCall.js"(exports2, module2) {
-    var eq = require_eq2();
-    var isArrayLike = require_isArrayLike();
-    var isIndex = require_isIndex();
-    var isObject2 = require_isObject();
-    function isIterateeCall(value, index, object) {
-      if (!isObject2(object)) {
-        return false;
-      }
-      var type2 = typeof index;
-      if (type2 == "number" ? isArrayLike(object) && isIndex(index, object.length) : type2 == "string" && index in object) {
-        return eq(object[index], value);
+// node_modules/tar-stream/headers.js
+var require_headers3 = __commonJS({
+  "node_modules/tar-stream/headers.js"(exports2) {
+    var b4a = require_b4a();
+    var ZEROS = "0000000000000000000";
+    var SEVENS = "7777777777777777777";
+    var ZERO_OFFSET = "0".charCodeAt(0);
+    var USTAR_MAGIC = b4a.from([117, 115, 116, 97, 114, 0]);
+    var USTAR_VER = b4a.from([ZERO_OFFSET, ZERO_OFFSET]);
+    var GNU_MAGIC = b4a.from([117, 115, 116, 97, 114, 32]);
+    var GNU_VER = b4a.from([32, 0]);
+    var MASK = 4095;
+    var MAGIC_OFFSET = 257;
+    var VERSION_OFFSET = 263;
+    exports2.decodeLongPath = function decodeLongPath(buf, encoding) {
+      return decodeStr(buf, 0, buf.length, encoding);
+    };
+    exports2.encodePax = function encodePax(opts) {
+      let result = "";
+      if (opts.name) result += addLength(" path=" + opts.name + "\n");
+      if (opts.linkname) result += addLength(" linkpath=" + opts.linkname + "\n");
+      const pax = opts.pax;
+      if (pax) {
+        for (const key in pax) {
+          result += addLength(" " + key + "=" + pax[key] + "\n");
+        }
       }
-      return false;
-    }
-    module2.exports = isIterateeCall;
-  }
-});
-
-// node_modules/lodash/_baseTimes.js
-var require_baseTimes = __commonJS({
-  "node_modules/lodash/_baseTimes.js"(exports2, module2) {
-    function baseTimes(n, iteratee) {
-      var index = -1, result = Array(n);
-      while (++index < n) {
-        result[index] = iteratee(index);
+      return b4a.from(result);
+    };
+    exports2.decodePax = function decodePax(buf) {
+      const result = {};
+      while (buf.length) {
+        let i = 0;
+        while (i < buf.length && buf[i] !== 32) i++;
+        const len = parseInt(b4a.toString(buf.subarray(0, i)), 10);
+        if (!len) return result;
+        const b = b4a.toString(buf.subarray(i + 1, len - 1));
+        const keyIndex = b.indexOf("=");
+        if (keyIndex === -1) return result;
+        result[b.slice(0, keyIndex)] = b.slice(keyIndex + 1);
+        buf = buf.subarray(len);
       }
       return result;
-    }
-    module2.exports = baseTimes;
-  }
-});
-
-// node_modules/lodash/isObjectLike.js
-var require_isObjectLike = __commonJS({
-  "node_modules/lodash/isObjectLike.js"(exports2, module2) {
-    function isObjectLike(value) {
-      return value != null && typeof value == "object";
-    }
-    module2.exports = isObjectLike;
-  }
-});
-
-// node_modules/lodash/_baseIsArguments.js
-var require_baseIsArguments = __commonJS({
-  "node_modules/lodash/_baseIsArguments.js"(exports2, module2) {
-    var baseGetTag = require_baseGetTag();
-    var isObjectLike = require_isObjectLike();
-    var argsTag = "[object Arguments]";
-    function baseIsArguments(value) {
-      return isObjectLike(value) && baseGetTag(value) == argsTag;
-    }
-    module2.exports = baseIsArguments;
-  }
-});
-
-// node_modules/lodash/isArguments.js
-var require_isArguments = __commonJS({
-  "node_modules/lodash/isArguments.js"(exports2, module2) {
-    var baseIsArguments = require_baseIsArguments();
-    var isObjectLike = require_isObjectLike();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    var propertyIsEnumerable = objectProto.propertyIsEnumerable;
-    var isArguments = baseIsArguments(/* @__PURE__ */ (function() {
-      return arguments;
-    })()) ? baseIsArguments : function(value) {
-      return isObjectLike(value) && hasOwnProperty.call(value, "callee") && !propertyIsEnumerable.call(value, "callee");
     };
-    module2.exports = isArguments;
-  }
-});
-
-// node_modules/lodash/isArray.js
-var require_isArray = __commonJS({
-  "node_modules/lodash/isArray.js"(exports2, module2) {
-    var isArray = Array.isArray;
-    module2.exports = isArray;
-  }
-});
-
-// node_modules/lodash/stubFalse.js
-var require_stubFalse = __commonJS({
-  "node_modules/lodash/stubFalse.js"(exports2, module2) {
-    function stubFalse() {
-      return false;
+    exports2.encode = function encode(opts) {
+      const buf = b4a.alloc(512);
+      let name = opts.name;
+      let prefix = "";
+      if (opts.typeflag === 5 && name[name.length - 1] !== "/") name += "/";
+      if (b4a.byteLength(name) !== name.length) return null;
+      while (b4a.byteLength(name) > 100) {
+        const i = name.indexOf("/");
+        if (i === -1) return null;
+        prefix += prefix ? "/" + name.slice(0, i) : name.slice(0, i);
+        name = name.slice(i + 1);
+      }
+      if (b4a.byteLength(name) > 100 || b4a.byteLength(prefix) > 155) return null;
+      if (opts.linkname && b4a.byteLength(opts.linkname) > 100) return null;
+      b4a.write(buf, name);
+      b4a.write(buf, encodeOct(opts.mode & MASK, 6), 100);
+      b4a.write(buf, encodeOct(opts.uid, 6), 108);
+      b4a.write(buf, encodeOct(opts.gid, 6), 116);
+      encodeSize(opts.size, buf, 124);
+      b4a.write(buf, encodeOct(opts.mtime.getTime() / 1e3 | 0, 11), 136);
+      buf[156] = ZERO_OFFSET + toTypeflag(opts.type);
+      if (opts.linkname) b4a.write(buf, opts.linkname, 157);
+      b4a.copy(USTAR_MAGIC, buf, MAGIC_OFFSET);
+      b4a.copy(USTAR_VER, buf, VERSION_OFFSET);
+      if (opts.uname) b4a.write(buf, opts.uname, 265);
+      if (opts.gname) b4a.write(buf, opts.gname, 297);
+      b4a.write(buf, encodeOct(opts.devmajor || 0, 6), 329);
+      b4a.write(buf, encodeOct(opts.devminor || 0, 6), 337);
+      if (prefix) b4a.write(buf, prefix, 345);
+      b4a.write(buf, encodeOct(cksum(buf), 6), 148);
+      return buf;
+    };
+    exports2.decode = function decode(buf, filenameEncoding, allowUnknownFormat) {
+      let typeflag = buf[156] === 0 ? 0 : buf[156] - ZERO_OFFSET;
+      let name = decodeStr(buf, 0, 100, filenameEncoding);
+      const mode = decodeOct(buf, 100, 8);
+      const uid = decodeOct(buf, 108, 8);
+      const gid = decodeOct(buf, 116, 8);
+      const size = decodeOct(buf, 124, 12);
+      const mtime = decodeOct(buf, 136, 12);
+      const type2 = toType(typeflag);
+      const linkname = buf[157] === 0 ? null : decodeStr(buf, 157, 100, filenameEncoding);
+      const uname = decodeStr(buf, 265, 32);
+      const gname = decodeStr(buf, 297, 32);
+      const devmajor = decodeOct(buf, 329, 8);
+      const devminor = decodeOct(buf, 337, 8);
+      const c = cksum(buf);
+      if (c === 8 * 32) return null;
+      if (c !== decodeOct(buf, 148, 8)) throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");
+      if (isUSTAR(buf)) {
+        if (buf[345]) name = decodeStr(buf, 345, 155, filenameEncoding) + "/" + name;
+      } else if (isGNU(buf)) {
+      } else {
+        if (!allowUnknownFormat) {
+          throw new Error("Invalid tar header: unknown format.");
+        }
+      }
+      if (typeflag === 0 && name && name[name.length - 1] === "/") typeflag = 5;
+      return {
+        name,
+        mode,
+        uid,
+        gid,
+        size,
+        mtime: new Date(1e3 * mtime),
+        type: type2,
+        linkname,
+        uname,
+        gname,
+        devmajor,
+        devminor,
+        pax: null
+      };
+    };
+    function isUSTAR(buf) {
+      return b4a.equals(USTAR_MAGIC, buf.subarray(MAGIC_OFFSET, MAGIC_OFFSET + 6));
     }
-    module2.exports = stubFalse;
-  }
-});
-
-// node_modules/lodash/isBuffer.js
-var require_isBuffer = __commonJS({
-  "node_modules/lodash/isBuffer.js"(exports2, module2) {
-    var root = require_root();
-    var stubFalse = require_stubFalse();
-    var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2;
-    var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2;
-    var moduleExports = freeModule && freeModule.exports === freeExports;
-    var Buffer2 = moduleExports ? root.Buffer : void 0;
-    var nativeIsBuffer = Buffer2 ? Buffer2.isBuffer : void 0;
-    var isBuffer = nativeIsBuffer || stubFalse;
-    module2.exports = isBuffer;
-  }
-});
-
-// node_modules/lodash/_baseIsTypedArray.js
-var require_baseIsTypedArray = __commonJS({
-  "node_modules/lodash/_baseIsTypedArray.js"(exports2, module2) {
-    var baseGetTag = require_baseGetTag();
-    var isLength = require_isLength();
-    var isObjectLike = require_isObjectLike();
-    var argsTag = "[object Arguments]";
-    var arrayTag = "[object Array]";
-    var boolTag = "[object Boolean]";
-    var dateTag = "[object Date]";
-    var errorTag = "[object Error]";
-    var funcTag = "[object Function]";
-    var mapTag = "[object Map]";
-    var numberTag = "[object Number]";
-    var objectTag = "[object Object]";
-    var regexpTag = "[object RegExp]";
-    var setTag = "[object Set]";
-    var stringTag = "[object String]";
-    var weakMapTag = "[object WeakMap]";
-    var arrayBufferTag = "[object ArrayBuffer]";
-    var dataViewTag = "[object DataView]";
-    var float32Tag = "[object Float32Array]";
-    var float64Tag = "[object Float64Array]";
-    var int8Tag = "[object Int8Array]";
-    var int16Tag = "[object Int16Array]";
-    var int32Tag = "[object Int32Array]";
-    var uint8Tag = "[object Uint8Array]";
-    var uint8ClampedTag = "[object Uint8ClampedArray]";
-    var uint16Tag = "[object Uint16Array]";
-    var uint32Tag = "[object Uint32Array]";
-    var typedArrayTags = {};
-    typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;
-    typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;
-    function baseIsTypedArray(value) {
-      return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)];
+    function isGNU(buf) {
+      return b4a.equals(GNU_MAGIC, buf.subarray(MAGIC_OFFSET, MAGIC_OFFSET + 6)) && b4a.equals(GNU_VER, buf.subarray(VERSION_OFFSET, VERSION_OFFSET + 2));
+    }
+    function clamp(index, len, defaultValue) {
+      if (typeof index !== "number") return defaultValue;
+      index = ~~index;
+      if (index >= len) return len;
+      if (index >= 0) return index;
+      index += len;
+      if (index >= 0) return index;
+      return 0;
     }
-    module2.exports = baseIsTypedArray;
-  }
-});
-
-// node_modules/lodash/_baseUnary.js
-var require_baseUnary = __commonJS({
-  "node_modules/lodash/_baseUnary.js"(exports2, module2) {
-    function baseUnary(func) {
-      return function(value) {
-        return func(value);
-      };
+    function toType(flag) {
+      switch (flag) {
+        case 0:
+          return "file";
+        case 1:
+          return "link";
+        case 2:
+          return "symlink";
+        case 3:
+          return "character-device";
+        case 4:
+          return "block-device";
+        case 5:
+          return "directory";
+        case 6:
+          return "fifo";
+        case 7:
+          return "contiguous-file";
+        case 72:
+          return "pax-header";
+        case 55:
+          return "pax-global-header";
+        case 27:
+          return "gnu-long-link-path";
+        case 28:
+        case 30:
+          return "gnu-long-path";
+      }
+      return null;
     }
-    module2.exports = baseUnary;
-  }
-});
-
-// node_modules/lodash/_nodeUtil.js
-var require_nodeUtil = __commonJS({
-  "node_modules/lodash/_nodeUtil.js"(exports2, module2) {
-    var freeGlobal = require_freeGlobal();
-    var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2;
-    var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2;
-    var moduleExports = freeModule && freeModule.exports === freeExports;
-    var freeProcess = moduleExports && freeGlobal.process;
-    var nodeUtil = (function() {
-      try {
-        var types = freeModule && freeModule.require && freeModule.require("util").types;
-        if (types) {
-          return types;
-        }
-        return freeProcess && freeProcess.binding && freeProcess.binding("util");
-      } catch (e) {
+    function toTypeflag(flag) {
+      switch (flag) {
+        case "file":
+          return 0;
+        case "link":
+          return 1;
+        case "symlink":
+          return 2;
+        case "character-device":
+          return 3;
+        case "block-device":
+          return 4;
+        case "directory":
+          return 5;
+        case "fifo":
+          return 6;
+        case "contiguous-file":
+          return 7;
+        case "pax-header":
+          return 72;
       }
-    })();
-    module2.exports = nodeUtil;
-  }
-});
-
-// node_modules/lodash/isTypedArray.js
-var require_isTypedArray = __commonJS({
-  "node_modules/lodash/isTypedArray.js"(exports2, module2) {
-    var baseIsTypedArray = require_baseIsTypedArray();
-    var baseUnary = require_baseUnary();
-    var nodeUtil = require_nodeUtil();
-    var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
-    var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
-    module2.exports = isTypedArray;
-  }
-});
-
-// node_modules/lodash/_arrayLikeKeys.js
-var require_arrayLikeKeys = __commonJS({
-  "node_modules/lodash/_arrayLikeKeys.js"(exports2, module2) {
-    var baseTimes = require_baseTimes();
-    var isArguments = require_isArguments();
-    var isArray = require_isArray();
-    var isBuffer = require_isBuffer();
-    var isIndex = require_isIndex();
-    var isTypedArray = require_isTypedArray();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    function arrayLikeKeys(value, inherited) {
-      var isArr = isArray(value), isArg = !isArr && isArguments(value), isBuff = !isArr && !isArg && isBuffer(value), isType = !isArr && !isArg && !isBuff && isTypedArray(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length = result.length;
-      for (var key in value) {
-        if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && // Safari 9 has enumerable `arguments.length` in strict mode.
-        (key == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
-        isBuff && (key == "offset" || key == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
-        isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || // Skip index properties.
-        isIndex(key, length)))) {
-          result.push(key);
-        }
+      return 0;
+    }
+    function indexOf(block, num, offset, end) {
+      for (; offset < end; offset++) {
+        if (block[offset] === num) return offset;
       }
-      return result;
+      return end;
     }
-    module2.exports = arrayLikeKeys;
-  }
-});
-
-// node_modules/lodash/_isPrototype.js
-var require_isPrototype = __commonJS({
-  "node_modules/lodash/_isPrototype.js"(exports2, module2) {
-    var objectProto = Object.prototype;
-    function isPrototype(value) {
-      var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto;
-      return value === proto;
+    function cksum(block) {
+      let sum = 8 * 32;
+      for (let i = 0; i < 148; i++) sum += block[i];
+      for (let j = 156; j < 512; j++) sum += block[j];
+      return sum;
     }
-    module2.exports = isPrototype;
-  }
-});
-
-// node_modules/lodash/_nativeKeysIn.js
-var require_nativeKeysIn = __commonJS({
-  "node_modules/lodash/_nativeKeysIn.js"(exports2, module2) {
-    function nativeKeysIn(object) {
-      var result = [];
-      if (object != null) {
-        for (var key in Object(object)) {
-          result.push(key);
-        }
+    function encodeOct(val, n) {
+      val = val.toString(8);
+      if (val.length > n) return SEVENS.slice(0, n) + " ";
+      return ZEROS.slice(0, n - val.length) + val + " ";
+    }
+    function encodeSizeBin(num, buf, off) {
+      buf[off] = 128;
+      for (let i = 11; i > 0; i--) {
+        buf[off + i] = num & 255;
+        num = Math.floor(num / 256);
       }
-      return result;
     }
-    module2.exports = nativeKeysIn;
-  }
-});
-
-// node_modules/lodash/_baseKeysIn.js
-var require_baseKeysIn = __commonJS({
-  "node_modules/lodash/_baseKeysIn.js"(exports2, module2) {
-    var isObject2 = require_isObject();
-    var isPrototype = require_isPrototype();
-    var nativeKeysIn = require_nativeKeysIn();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    function baseKeysIn(object) {
-      if (!isObject2(object)) {
-        return nativeKeysIn(object);
+    function encodeSize(num, buf, off) {
+      if (num.toString(8).length > 11) {
+        encodeSizeBin(num, buf, off);
+      } else {
+        b4a.write(buf, encodeOct(num, 11), off);
       }
-      var isProto = isPrototype(object), result = [];
-      for (var key in object) {
-        if (!(key == "constructor" && (isProto || !hasOwnProperty.call(object, key)))) {
-          result.push(key);
-        }
+    }
+    function parse256(buf) {
+      let positive;
+      if (buf[0] === 128) positive = true;
+      else if (buf[0] === 255) positive = false;
+      else return null;
+      const tuple = [];
+      let i;
+      for (i = buf.length - 1; i > 0; i--) {
+        const byte = buf[i];
+        if (positive) tuple.push(byte);
+        else tuple.push(255 - byte);
       }
-      return result;
+      let sum = 0;
+      const l = tuple.length;
+      for (i = 0; i < l; i++) {
+        sum += tuple[i] * Math.pow(256, i);
+      }
+      return positive ? sum : -1 * sum;
     }
-    module2.exports = baseKeysIn;
-  }
-});
-
-// node_modules/lodash/keysIn.js
-var require_keysIn = __commonJS({
-  "node_modules/lodash/keysIn.js"(exports2, module2) {
-    var arrayLikeKeys = require_arrayLikeKeys();
-    var baseKeysIn = require_baseKeysIn();
-    var isArrayLike = require_isArrayLike();
-    function keysIn(object) {
-      return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);
+    function decodeOct(val, offset, length) {
+      val = val.subarray(offset, offset + length);
+      offset = 0;
+      if (val[offset] & 128) {
+        return parse256(val);
+      } else {
+        while (offset < val.length && val[offset] === 32) offset++;
+        const end = clamp(indexOf(val, 32, offset, val.length), val.length, val.length);
+        while (offset < end && val[offset] === 0) offset++;
+        if (end === offset) return 0;
+        return parseInt(b4a.toString(val.subarray(offset, end)), 8);
+      }
+    }
+    function decodeStr(val, offset, length, encoding) {
+      return b4a.toString(val.subarray(offset, indexOf(val, 0, offset, offset + length)), encoding);
+    }
+    function addLength(str2) {
+      const len = b4a.byteLength(str2);
+      let digits = Math.floor(Math.log(len) / Math.log(10)) + 1;
+      if (len + digits >= Math.pow(10, digits)) digits++;
+      return len + digits + str2;
     }
-    module2.exports = keysIn;
   }
 });
 
-// node_modules/lodash/defaults.js
-var require_defaults = __commonJS({
-  "node_modules/lodash/defaults.js"(exports2, module2) {
-    var baseRest = require_baseRest();
-    var eq = require_eq2();
-    var isIterateeCall = require_isIterateeCall();
-    var keysIn = require_keysIn();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    var defaults = baseRest(function(object, sources) {
-      object = Object(object);
-      var index = -1;
-      var length = sources.length;
-      var guard = length > 2 ? sources[2] : void 0;
-      if (guard && isIterateeCall(sources[0], sources[1], guard)) {
-        length = 1;
+// node_modules/tar-stream/extract.js
+var require_extract = __commonJS({
+  "node_modules/tar-stream/extract.js"(exports2, module2) {
+    var { Writable, Readable: Readable2, getStreamError } = require_streamx();
+    var FIFO = require_fast_fifo();
+    var b4a = require_b4a();
+    var headers = require_headers3();
+    var EMPTY = b4a.alloc(0);
+    var BufferList = class {
+      constructor() {
+        this.buffered = 0;
+        this.shifted = 0;
+        this.queue = new FIFO();
+        this._offset = 0;
       }
-      while (++index < length) {
-        var source = sources[index];
-        var props = keysIn(source);
-        var propsIndex = -1;
-        var propsLength = props.length;
-        while (++propsIndex < propsLength) {
-          var key = props[propsIndex];
-          var value = object[key];
-          if (value === void 0 || eq(value, objectProto[key]) && !hasOwnProperty.call(object, key)) {
-            object[key] = source[key];
-          }
+      push(buffer) {
+        this.buffered += buffer.byteLength;
+        this.queue.push(buffer);
+      }
+      shiftFirst(size) {
+        return this._buffered === 0 ? null : this._next(size);
+      }
+      shift(size) {
+        if (size > this.buffered) return null;
+        if (size === 0) return EMPTY;
+        let chunk = this._next(size);
+        if (size === chunk.byteLength) return chunk;
+        const chunks = [chunk];
+        while ((size -= chunk.byteLength) > 0) {
+          chunk = this._next(size);
+          chunks.push(chunk);
         }
+        return b4a.concat(chunks);
+      }
+      _next(size) {
+        const buf = this.queue.peek();
+        const rem = buf.byteLength - this._offset;
+        if (size >= rem) {
+          const sub = this._offset ? buf.subarray(this._offset, buf.byteLength) : buf;
+          this.queue.shift();
+          this._offset = 0;
+          this.buffered -= rem;
+          this.shifted += rem;
+          return sub;
+        }
+        this.buffered -= size;
+        this.shifted += size;
+        return buf.subarray(this._offset, this._offset += size);
       }
-      return object;
-    });
-    module2.exports = defaults;
-  }
-});
-
-// node_modules/readable-stream/lib/ours/primordials.js
-var require_primordials = __commonJS({
-  "node_modules/readable-stream/lib/ours/primordials.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      ArrayIsArray(self2) {
-        return Array.isArray(self2);
-      },
-      ArrayPrototypeIncludes(self2, el) {
-        return self2.includes(el);
-      },
-      ArrayPrototypeIndexOf(self2, el) {
-        return self2.indexOf(el);
-      },
-      ArrayPrototypeJoin(self2, sep5) {
-        return self2.join(sep5);
-      },
-      ArrayPrototypeMap(self2, fn) {
-        return self2.map(fn);
-      },
-      ArrayPrototypePop(self2, el) {
-        return self2.pop(el);
-      },
-      ArrayPrototypePush(self2, el) {
-        return self2.push(el);
-      },
-      ArrayPrototypeSlice(self2, start, end) {
-        return self2.slice(start, end);
-      },
-      Error,
-      FunctionPrototypeCall(fn, thisArgs, ...args) {
-        return fn.call(thisArgs, ...args);
-      },
-      FunctionPrototypeSymbolHasInstance(self2, instance) {
-        return Function.prototype[Symbol.hasInstance].call(self2, instance);
-      },
-      MathFloor: Math.floor,
-      Number,
-      NumberIsInteger: Number.isInteger,
-      NumberIsNaN: Number.isNaN,
-      NumberMAX_SAFE_INTEGER: Number.MAX_SAFE_INTEGER,
-      NumberMIN_SAFE_INTEGER: Number.MIN_SAFE_INTEGER,
-      NumberParseInt: Number.parseInt,
-      ObjectDefineProperties(self2, props) {
-        return Object.defineProperties(self2, props);
-      },
-      ObjectDefineProperty(self2, name, prop) {
-        return Object.defineProperty(self2, name, prop);
-      },
-      ObjectGetOwnPropertyDescriptor(self2, name) {
-        return Object.getOwnPropertyDescriptor(self2, name);
-      },
-      ObjectKeys(obj) {
-        return Object.keys(obj);
-      },
-      ObjectSetPrototypeOf(target, proto) {
-        return Object.setPrototypeOf(target, proto);
-      },
-      Promise,
-      PromisePrototypeCatch(self2, fn) {
-        return self2.catch(fn);
-      },
-      PromisePrototypeThen(self2, thenFn, catchFn) {
-        return self2.then(thenFn, catchFn);
-      },
-      PromiseReject(err) {
-        return Promise.reject(err);
-      },
-      PromiseResolve(val) {
-        return Promise.resolve(val);
-      },
-      ReflectApply: Reflect.apply,
-      RegExpPrototypeTest(self2, value) {
-        return self2.test(value);
-      },
-      SafeSet: Set,
-      String,
-      StringPrototypeSlice(self2, start, end) {
-        return self2.slice(start, end);
-      },
-      StringPrototypeToLowerCase(self2) {
-        return self2.toLowerCase();
-      },
-      StringPrototypeToUpperCase(self2) {
-        return self2.toUpperCase();
-      },
-      StringPrototypeTrim(self2) {
-        return self2.trim();
-      },
-      Symbol,
-      SymbolFor: Symbol.for,
-      SymbolAsyncIterator: Symbol.asyncIterator,
-      SymbolHasInstance: Symbol.hasInstance,
-      SymbolIterator: Symbol.iterator,
-      SymbolDispose: Symbol.dispose || /* @__PURE__ */ Symbol("Symbol.dispose"),
-      SymbolAsyncDispose: Symbol.asyncDispose || /* @__PURE__ */ Symbol("Symbol.asyncDispose"),
-      TypedArrayPrototypeSet(self2, buf, len) {
-        return self2.set(buf, len);
-      },
-      Boolean,
-      Uint8Array
     };
-  }
-});
-
-// node_modules/event-target-shim/dist/event-target-shim.js
-var require_event_target_shim = __commonJS({
-  "node_modules/event-target-shim/dist/event-target-shim.js"(exports2, module2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    var privateData = /* @__PURE__ */ new WeakMap();
-    var wrappers = /* @__PURE__ */ new WeakMap();
-    function pd(event) {
-      const retv = privateData.get(event);
-      console.assert(
-        retv != null,
-        "'this' is expected an Event object, but got",
-        event
-      );
-      return retv;
-    }
-    function setCancelFlag(data) {
-      if (data.passiveListener != null) {
-        if (typeof console !== "undefined" && typeof console.error === "function") {
-          console.error(
-            "Unable to preventDefault inside passive event listener invocation.",
-            data.passiveListener
-          );
+    var Source = class extends Readable2 {
+      constructor(self2, header, offset) {
+        super();
+        this.header = header;
+        this.offset = offset;
+        this._parent = self2;
+      }
+      _read(cb) {
+        if (this.header.size === 0) {
+          this.push(null);
         }
-        return;
+        if (this._parent._stream === this) {
+          this._parent._update();
+        }
+        cb(null);
       }
-      if (!data.event.cancelable) {
-        return;
+      _predestroy() {
+        this._parent.destroy(getStreamError(this));
       }
-      data.canceled = true;
-      if (typeof data.event.preventDefault === "function") {
-        data.event.preventDefault();
+      _detach() {
+        if (this._parent._stream === this) {
+          this._parent._stream = null;
+          this._parent._missing = overflow(this.header.size);
+          this._parent._update();
+        }
       }
-    }
-    function Event2(eventTarget, event) {
-      privateData.set(this, {
-        eventTarget,
-        event,
-        eventPhase: 2,
-        currentTarget: eventTarget,
-        canceled: false,
-        stopped: false,
-        immediateStopped: false,
-        passiveListener: null,
-        timeStamp: event.timeStamp || Date.now()
-      });
-      Object.defineProperty(this, "isTrusted", { value: false, enumerable: true });
-      const keys = Object.keys(event);
-      for (let i = 0; i < keys.length; ++i) {
-        const key = keys[i];
-        if (!(key in this)) {
-          Object.defineProperty(this, key, defineRedirectDescriptor(key));
+      _destroy(cb) {
+        this._detach();
+        cb(null);
+      }
+    };
+    var Extract = class extends Writable {
+      constructor(opts) {
+        super(opts);
+        if (!opts) opts = {};
+        this._buffer = new BufferList();
+        this._offset = 0;
+        this._header = null;
+        this._stream = null;
+        this._missing = 0;
+        this._longHeader = false;
+        this._callback = noop3;
+        this._locked = false;
+        this._finished = false;
+        this._pax = null;
+        this._paxGlobal = null;
+        this._gnuLongPath = null;
+        this._gnuLongLinkPath = null;
+        this._filenameEncoding = opts.filenameEncoding || "utf-8";
+        this._allowUnknownFormat = !!opts.allowUnknownFormat;
+        this._unlockBound = this._unlock.bind(this);
+      }
+      _unlock(err) {
+        this._locked = false;
+        if (err) {
+          this.destroy(err);
+          this._continueWrite(err);
+          return;
         }
+        this._update();
       }
-    }
-    Event2.prototype = {
-      /**
-       * The type of this event.
-       * @type {string}
-       */
-      get type() {
-        return pd(this).event.type;
-      },
-      /**
-       * The target of this event.
-       * @type {EventTarget}
-       */
-      get target() {
-        return pd(this).eventTarget;
-      },
-      /**
-       * The target of this event.
-       * @type {EventTarget}
-       */
-      get currentTarget() {
-        return pd(this).currentTarget;
-      },
-      /**
-       * @returns {EventTarget[]} The composed path of this event.
-       */
-      composedPath() {
-        const currentTarget = pd(this).currentTarget;
-        if (currentTarget == null) {
-          return [];
+      _consumeHeader() {
+        if (this._locked) return false;
+        this._offset = this._buffer.shifted;
+        try {
+          this._header = headers.decode(this._buffer.shift(512), this._filenameEncoding, this._allowUnknownFormat);
+        } catch (err) {
+          this._continueWrite(err);
+          return false;
         }
-        return [currentTarget];
-      },
-      /**
-       * Constant of NONE.
-       * @type {number}
-       */
-      get NONE() {
-        return 0;
-      },
-      /**
-       * Constant of CAPTURING_PHASE.
-       * @type {number}
-       */
-      get CAPTURING_PHASE() {
-        return 1;
-      },
-      /**
-       * Constant of AT_TARGET.
-       * @type {number}
-       */
-      get AT_TARGET() {
-        return 2;
-      },
-      /**
-       * Constant of BUBBLING_PHASE.
-       * @type {number}
-       */
-      get BUBBLING_PHASE() {
-        return 3;
-      },
-      /**
-       * The target of this event.
-       * @type {number}
-       */
-      get eventPhase() {
-        return pd(this).eventPhase;
-      },
-      /**
-       * Stop event bubbling.
-       * @returns {void}
-       */
-      stopPropagation() {
-        const data = pd(this);
-        data.stopped = true;
-        if (typeof data.event.stopPropagation === "function") {
-          data.event.stopPropagation();
+        if (!this._header) return true;
+        switch (this._header.type) {
+          case "gnu-long-path":
+          case "gnu-long-link-path":
+          case "pax-global-header":
+          case "pax-header":
+            this._longHeader = true;
+            this._missing = this._header.size;
+            return true;
         }
-      },
-      /**
-       * Stop event bubbling.
-       * @returns {void}
-       */
-      stopImmediatePropagation() {
-        const data = pd(this);
-        data.stopped = true;
-        data.immediateStopped = true;
-        if (typeof data.event.stopImmediatePropagation === "function") {
-          data.event.stopImmediatePropagation();
+        this._locked = true;
+        this._applyLongHeaders();
+        if (this._header.size === 0 || this._header.type === "directory") {
+          this.emit("entry", this._header, this._createStream(), this._unlockBound);
+          return true;
         }
-      },
-      /**
-       * The flag to be bubbling.
-       * @type {boolean}
-       */
-      get bubbles() {
-        return Boolean(pd(this).event.bubbles);
-      },
-      /**
-       * The flag to be cancelable.
-       * @type {boolean}
-       */
-      get cancelable() {
-        return Boolean(pd(this).event.cancelable);
-      },
-      /**
-       * Cancel this event.
-       * @returns {void}
-       */
-      preventDefault() {
-        setCancelFlag(pd(this));
-      },
-      /**
-       * The flag to indicate cancellation state.
-       * @type {boolean}
-       */
-      get defaultPrevented() {
-        return pd(this).canceled;
-      },
-      /**
-       * The flag to be composed.
-       * @type {boolean}
-       */
-      get composed() {
-        return Boolean(pd(this).event.composed);
-      },
-      /**
-       * The unix time of this event.
-       * @type {number}
-       */
-      get timeStamp() {
-        return pd(this).timeStamp;
-      },
-      /**
-       * The target of this event.
-       * @type {EventTarget}
-       * @deprecated
-       */
-      get srcElement() {
-        return pd(this).eventTarget;
-      },
-      /**
-       * The flag to stop event bubbling.
-       * @type {boolean}
-       * @deprecated
-       */
-      get cancelBubble() {
-        return pd(this).stopped;
-      },
-      set cancelBubble(value) {
-        if (!value) {
-          return;
+        this._stream = this._createStream();
+        this._missing = this._header.size;
+        this.emit("entry", this._header, this._stream, this._unlockBound);
+        return true;
+      }
+      _applyLongHeaders() {
+        if (this._gnuLongPath) {
+          this._header.name = this._gnuLongPath;
+          this._gnuLongPath = null;
         }
-        const data = pd(this);
-        data.stopped = true;
-        if (typeof data.event.cancelBubble === "boolean") {
-          data.event.cancelBubble = true;
+        if (this._gnuLongLinkPath) {
+          this._header.linkname = this._gnuLongLinkPath;
+          this._gnuLongLinkPath = null;
         }
-      },
-      /**
-       * The flag to indicate cancellation state.
-       * @type {boolean}
-       * @deprecated
-       */
-      get returnValue() {
-        return !pd(this).canceled;
-      },
-      set returnValue(value) {
-        if (!value) {
-          setCancelFlag(pd(this));
+        if (this._pax) {
+          if (this._pax.path) this._header.name = this._pax.path;
+          if (this._pax.linkpath) this._header.linkname = this._pax.linkpath;
+          if (this._pax.size) this._header.size = parseInt(this._pax.size, 10);
+          this._header.pax = this._pax;
+          this._pax = null;
         }
-      },
-      /**
-       * Initialize this event object. But do nothing under event dispatching.
-       * @param {string} type The event type.
-       * @param {boolean} [bubbles=false] The flag to be possible to bubble up.
-       * @param {boolean} [cancelable=false] The flag to be possible to cancel.
-       * @deprecated
-       */
-      initEvent() {
-      }
-    };
-    Object.defineProperty(Event2.prototype, "constructor", {
-      value: Event2,
-      configurable: true,
-      writable: true
-    });
-    if (typeof window !== "undefined" && typeof window.Event !== "undefined") {
-      Object.setPrototypeOf(Event2.prototype, window.Event.prototype);
-      wrappers.set(window.Event.prototype, Event2);
-    }
-    function defineRedirectDescriptor(key) {
-      return {
-        get() {
-          return pd(this).event[key];
-        },
-        set(value) {
-          pd(this).event[key] = value;
-        },
-        configurable: true,
-        enumerable: true
-      };
-    }
-    function defineCallDescriptor(key) {
-      return {
-        value() {
-          const event = pd(this).event;
-          return event[key].apply(event, arguments);
-        },
-        configurable: true,
-        enumerable: true
-      };
-    }
-    function defineWrapper(BaseEvent, proto) {
-      const keys = Object.keys(proto);
-      if (keys.length === 0) {
-        return BaseEvent;
-      }
-      function CustomEvent(eventTarget, event) {
-        BaseEvent.call(this, eventTarget, event);
       }
-      CustomEvent.prototype = Object.create(BaseEvent.prototype, {
-        constructor: { value: CustomEvent, configurable: true, writable: true }
-      });
-      for (let i = 0; i < keys.length; ++i) {
-        const key = keys[i];
-        if (!(key in BaseEvent.prototype)) {
-          const descriptor = Object.getOwnPropertyDescriptor(proto, key);
-          const isFunc = typeof descriptor.value === "function";
-          Object.defineProperty(
-            CustomEvent.prototype,
-            key,
-            isFunc ? defineCallDescriptor(key) : defineRedirectDescriptor(key)
-          );
+      _decodeLongHeader(buf) {
+        switch (this._header.type) {
+          case "gnu-long-path":
+            this._gnuLongPath = headers.decodeLongPath(buf, this._filenameEncoding);
+            break;
+          case "gnu-long-link-path":
+            this._gnuLongLinkPath = headers.decodeLongPath(buf, this._filenameEncoding);
+            break;
+          case "pax-global-header":
+            this._paxGlobal = headers.decodePax(buf);
+            break;
+          case "pax-header":
+            this._pax = this._paxGlobal === null ? headers.decodePax(buf) : Object.assign({}, this._paxGlobal, headers.decodePax(buf));
+            break;
         }
       }
-      return CustomEvent;
-    }
-    function getWrapper(proto) {
-      if (proto == null || proto === Object.prototype) {
-        return Event2;
+      _consumeLongHeader() {
+        this._longHeader = false;
+        this._missing = overflow(this._header.size);
+        const buf = this._buffer.shift(this._header.size);
+        try {
+          this._decodeLongHeader(buf);
+        } catch (err) {
+          this._continueWrite(err);
+          return false;
+        }
+        return true;
       }
-      let wrapper = wrappers.get(proto);
-      if (wrapper == null) {
-        wrapper = defineWrapper(getWrapper(Object.getPrototypeOf(proto)), proto);
-        wrappers.set(proto, wrapper);
+      _consumeStream() {
+        const buf = this._buffer.shiftFirst(this._missing);
+        if (buf === null) return false;
+        this._missing -= buf.byteLength;
+        const drained = this._stream.push(buf);
+        if (this._missing === 0) {
+          this._stream.push(null);
+          if (drained) this._stream._detach();
+          return drained && this._locked === false;
+        }
+        return drained;
       }
-      return wrapper;
-    }
-    function wrapEvent(eventTarget, event) {
-      const Wrapper = getWrapper(Object.getPrototypeOf(event));
-      return new Wrapper(eventTarget, event);
-    }
-    function isStopped(event) {
-      return pd(event).immediateStopped;
-    }
-    function setEventPhase(event, eventPhase) {
-      pd(event).eventPhase = eventPhase;
-    }
-    function setCurrentTarget(event, currentTarget) {
-      pd(event).currentTarget = currentTarget;
-    }
-    function setPassiveListener(event, passiveListener) {
-      pd(event).passiveListener = passiveListener;
-    }
-    var listenersMap = /* @__PURE__ */ new WeakMap();
-    var CAPTURE = 1;
-    var BUBBLE = 2;
-    var ATTRIBUTE = 3;
-    function isObject2(x) {
-      return x !== null && typeof x === "object";
-    }
-    function getListeners(eventTarget) {
-      const listeners = listenersMap.get(eventTarget);
-      if (listeners == null) {
-        throw new TypeError(
-          "'this' is expected an EventTarget object, but got another value."
-        );
+      _createStream() {
+        return new Source(this, this._header, this._offset);
       }
-      return listeners;
-    }
-    function defineEventAttributeDescriptor(eventName) {
-      return {
-        get() {
-          const listeners = getListeners(this);
-          let node = listeners.get(eventName);
-          while (node != null) {
-            if (node.listenerType === ATTRIBUTE) {
-              return node.listener;
+      _update() {
+        while (this._buffer.buffered > 0 && !this.destroying) {
+          if (this._missing > 0) {
+            if (this._stream !== null) {
+              if (this._consumeStream() === false) return;
+              continue;
             }
-            node = node.next;
+            if (this._longHeader === true) {
+              if (this._missing > this._buffer.buffered) break;
+              if (this._consumeLongHeader() === false) return false;
+              continue;
+            }
+            const ignore = this._buffer.shiftFirst(this._missing);
+            if (ignore !== null) this._missing -= ignore.byteLength;
+            continue;
           }
-          return null;
-        },
-        set(listener) {
-          if (typeof listener !== "function" && !isObject2(listener)) {
-            listener = null;
+          if (this._buffer.buffered < 512) break;
+          if (this._stream !== null || this._consumeHeader() === false) return;
+        }
+        this._continueWrite(null);
+      }
+      _continueWrite(err) {
+        const cb = this._callback;
+        this._callback = noop3;
+        cb(err);
+      }
+      _write(data, cb) {
+        this._callback = cb;
+        this._buffer.push(data);
+        this._update();
+      }
+      _final(cb) {
+        this._finished = this._missing === 0 && this._buffer.buffered === 0;
+        cb(this._finished ? null : new Error("Unexpected end of data"));
+      }
+      _predestroy() {
+        this._continueWrite(null);
+      }
+      _destroy(cb) {
+        if (this._stream) this._stream.destroy(getStreamError(this));
+        cb(null);
+      }
+      [Symbol.asyncIterator]() {
+        let error3 = null;
+        let promiseResolve = null;
+        let promiseReject = null;
+        let entryStream = null;
+        let entryCallback = null;
+        const extract2 = this;
+        this.on("entry", onentry);
+        this.on("error", (err) => {
+          error3 = err;
+        });
+        this.on("close", onclose);
+        return {
+          [Symbol.asyncIterator]() {
+            return this;
+          },
+          next() {
+            return new Promise(onnext);
+          },
+          return() {
+            return destroy(null);
+          },
+          throw(err) {
+            return destroy(err);
           }
-          const listeners = getListeners(this);
-          let prev = null;
-          let node = listeners.get(eventName);
-          while (node != null) {
-            if (node.listenerType === ATTRIBUTE) {
-              if (prev !== null) {
-                prev.next = node.next;
-              } else if (node.next !== null) {
-                listeners.set(eventName, node.next);
-              } else {
-                listeners.delete(eventName);
-              }
-            } else {
-              prev = node;
-            }
-            node = node.next;
+        };
+        function consumeCallback(err) {
+          if (!entryCallback) return;
+          const cb = entryCallback;
+          entryCallback = null;
+          cb(err);
+        }
+        function onnext(resolve8, reject) {
+          if (error3) {
+            return reject(error3);
           }
-          if (listener !== null) {
-            const newNode = {
-              listener,
-              listenerType: ATTRIBUTE,
-              passive: false,
-              once: false,
-              next: null
-            };
-            if (prev === null) {
-              listeners.set(eventName, newNode);
-            } else {
-              prev.next = newNode;
-            }
+          if (entryStream) {
+            resolve8({ value: entryStream, done: false });
+            entryStream = null;
+            return;
+          }
+          promiseResolve = resolve8;
+          promiseReject = reject;
+          consumeCallback(null);
+          if (extract2._finished && promiseResolve) {
+            promiseResolve({ value: void 0, done: true });
+            promiseResolve = promiseReject = null;
           }
-        },
-        configurable: true,
-        enumerable: true
-      };
-    }
-    function defineEventAttribute(eventTargetPrototype, eventName) {
-      Object.defineProperty(
-        eventTargetPrototype,
-        `on${eventName}`,
-        defineEventAttributeDescriptor(eventName)
-      );
-    }
-    function defineCustomEventTarget(eventNames) {
-      function CustomEventTarget() {
-        EventTarget2.call(this);
-      }
-      CustomEventTarget.prototype = Object.create(EventTarget2.prototype, {
-        constructor: {
-          value: CustomEventTarget,
-          configurable: true,
-          writable: true
         }
-      });
-      for (let i = 0; i < eventNames.length; ++i) {
-        defineEventAttribute(CustomEventTarget.prototype, eventNames[i]);
+        function onentry(header, stream2, callback) {
+          entryCallback = callback;
+          stream2.on("error", noop3);
+          if (promiseResolve) {
+            promiseResolve({ value: stream2, done: false });
+            promiseResolve = promiseReject = null;
+          } else {
+            entryStream = stream2;
+          }
+        }
+        function onclose() {
+          consumeCallback(error3);
+          if (!promiseResolve) return;
+          if (error3) promiseReject(error3);
+          else promiseResolve({ value: void 0, done: true });
+          promiseResolve = promiseReject = null;
+        }
+        function destroy(err) {
+          extract2.destroy(err);
+          consumeCallback(err);
+          return new Promise((resolve8, reject) => {
+            if (extract2.destroyed) return resolve8({ value: void 0, done: true });
+            extract2.once("close", function() {
+              if (err) reject(err);
+              else resolve8({ value: void 0, done: true });
+            });
+          });
+        }
       }
-      return CustomEventTarget;
+    };
+    module2.exports = function extract2(opts) {
+      return new Extract(opts);
+    };
+    function noop3() {
     }
-    function EventTarget2() {
-      if (this instanceof EventTarget2) {
-        listenersMap.set(this, /* @__PURE__ */ new Map());
-        return;
+    function overflow(size) {
+      size &= 511;
+      return size && 512 - size;
+    }
+  }
+});
+
+// node_modules/tar-stream/constants.js
+var require_constants19 = __commonJS({
+  "node_modules/tar-stream/constants.js"(exports2, module2) {
+    var constants = {
+      // just for envs without fs
+      S_IFMT: 61440,
+      S_IFDIR: 16384,
+      S_IFCHR: 8192,
+      S_IFBLK: 24576,
+      S_IFIFO: 4096,
+      S_IFLNK: 40960
+    };
+    try {
+      module2.exports = require("fs").constants || constants;
+    } catch {
+      module2.exports = constants;
+    }
+  }
+});
+
+// node_modules/tar-stream/pack.js
+var require_pack = __commonJS({
+  "node_modules/tar-stream/pack.js"(exports2, module2) {
+    var { Readable: Readable2, Writable, getStreamError } = require_streamx();
+    var b4a = require_b4a();
+    var constants = require_constants19();
+    var headers = require_headers3();
+    var DMODE = 493;
+    var FMODE = 420;
+    var END_OF_TAR = b4a.alloc(1024);
+    var Sink = class extends Writable {
+      constructor(pack, header, callback) {
+        super({ mapWritable, eagerOpen: true });
+        this.written = 0;
+        this.header = header;
+        this._callback = callback;
+        this._linkname = null;
+        this._isLinkname = header.type === "symlink" && !header.linkname;
+        this._isVoid = header.type !== "file" && header.type !== "contiguous-file";
+        this._finished = false;
+        this._pack = pack;
+        this._openCallback = null;
+        if (this._pack._stream === null) this._pack._stream = this;
+        else this._pack._pending.push(this);
       }
-      if (arguments.length === 1 && Array.isArray(arguments[0])) {
-        return defineCustomEventTarget(arguments[0]);
+      _open(cb) {
+        this._openCallback = cb;
+        if (this._pack._stream === this) this._continueOpen();
       }
-      if (arguments.length > 0) {
-        const types = new Array(arguments.length);
-        for (let i = 0; i < arguments.length; ++i) {
-          types[i] = arguments[i];
-        }
-        return defineCustomEventTarget(types);
+      _continuePack(err) {
+        if (this._callback === null) return;
+        const callback = this._callback;
+        this._callback = null;
+        callback(err);
       }
-      throw new TypeError("Cannot call a class as a function");
-    }
-    EventTarget2.prototype = {
-      /**
-       * Add a given listener to this event target.
-       * @param {string} eventName The event name to add.
-       * @param {Function} listener The listener to add.
-       * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener.
-       * @returns {void}
-       */
-      addEventListener(eventName, listener, options) {
-        if (listener == null) {
-          return;
+      _continueOpen() {
+        if (this._pack._stream === null) this._pack._stream = this;
+        const cb = this._openCallback;
+        this._openCallback = null;
+        if (cb === null) return;
+        if (this._pack.destroying) return cb(new Error("pack stream destroyed"));
+        if (this._pack._finalized) return cb(new Error("pack stream is already finalized"));
+        this._pack._stream = this;
+        if (!this._isLinkname) {
+          this._pack._encode(this.header);
         }
-        if (typeof listener !== "function" && !isObject2(listener)) {
-          throw new TypeError("'listener' should be a function or an object.");
+        if (this._isVoid) {
+          this._finish();
+          this._continuePack(null);
         }
-        const listeners = getListeners(this);
-        const optionsIsObj = isObject2(options);
-        const capture = optionsIsObj ? Boolean(options.capture) : Boolean(options);
-        const listenerType = capture ? CAPTURE : BUBBLE;
-        const newNode = {
-          listener,
-          listenerType,
-          passive: optionsIsObj && Boolean(options.passive),
-          once: optionsIsObj && Boolean(options.once),
-          next: null
-        };
-        let node = listeners.get(eventName);
-        if (node === void 0) {
-          listeners.set(eventName, newNode);
-          return;
+        cb(null);
+      }
+      _write(data, cb) {
+        if (this._isLinkname) {
+          this._linkname = this._linkname ? b4a.concat([this._linkname, data]) : data;
+          return cb(null);
         }
-        let prev = null;
-        while (node != null) {
-          if (node.listener === listener && node.listenerType === listenerType) {
-            return;
+        if (this._isVoid) {
+          if (data.byteLength > 0) {
+            return cb(new Error("No body allowed for this entry"));
           }
-          prev = node;
-          node = node.next;
+          return cb();
         }
-        prev.next = newNode;
-      },
-      /**
-       * Remove a given listener from this event target.
-       * @param {string} eventName The event name to remove.
-       * @param {Function} listener The listener to remove.
-       * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener.
-       * @returns {void}
-       */
-      removeEventListener(eventName, listener, options) {
-        if (listener == null) {
-          return;
+        this.written += data.byteLength;
+        if (this._pack.push(data)) return cb();
+        this._pack._drain = cb;
+      }
+      _finish() {
+        if (this._finished) return;
+        this._finished = true;
+        if (this._isLinkname) {
+          this.header.linkname = this._linkname ? b4a.toString(this._linkname, "utf-8") : "";
+          this._pack._encode(this.header);
         }
-        const listeners = getListeners(this);
-        const capture = isObject2(options) ? Boolean(options.capture) : Boolean(options);
-        const listenerType = capture ? CAPTURE : BUBBLE;
-        let prev = null;
-        let node = listeners.get(eventName);
-        while (node != null) {
-          if (node.listener === listener && node.listenerType === listenerType) {
-            if (prev !== null) {
-              prev.next = node.next;
-            } else if (node.next !== null) {
-              listeners.set(eventName, node.next);
-            } else {
-              listeners.delete(eventName);
-            }
-            return;
-          }
-          prev = node;
-          node = node.next;
+        overflow(this._pack, this.header.size);
+        this._pack._done(this);
+      }
+      _final(cb) {
+        if (this.written !== this.header.size) {
+          return cb(new Error("Size mismatch"));
         }
-      },
-      /**
-       * Dispatch a given event.
-       * @param {Event|{type:string}} event The event to dispatch.
-       * @returns {boolean} `false` if canceled.
-       */
-      dispatchEvent(event) {
-        if (event == null || typeof event.type !== "string") {
-          throw new TypeError('"event.type" should be a string.');
+        this._finish();
+        cb(null);
+      }
+      _getError() {
+        return getStreamError(this) || new Error("tar entry destroyed");
+      }
+      _predestroy() {
+        this._pack.destroy(this._getError());
+      }
+      _destroy(cb) {
+        this._pack._done(this);
+        this._continuePack(this._finished ? null : this._getError());
+        cb();
+      }
+    };
+    var Pack = class extends Readable2 {
+      constructor(opts) {
+        super(opts);
+        this._drain = noop3;
+        this._finalized = false;
+        this._finalizing = false;
+        this._pending = [];
+        this._stream = null;
+      }
+      entry(header, buffer, callback) {
+        if (this._finalized || this.destroying) throw new Error("already finalized or destroyed");
+        if (typeof buffer === "function") {
+          callback = buffer;
+          buffer = null;
         }
-        const listeners = getListeners(this);
-        const eventName = event.type;
-        let node = listeners.get(eventName);
-        if (node == null) {
-          return true;
+        if (!callback) callback = noop3;
+        if (!header.size || header.type === "symlink") header.size = 0;
+        if (!header.type) header.type = modeToType(header.mode);
+        if (!header.mode) header.mode = header.type === "directory" ? DMODE : FMODE;
+        if (!header.uid) header.uid = 0;
+        if (!header.gid) header.gid = 0;
+        if (!header.mtime) header.mtime = /* @__PURE__ */ new Date();
+        if (typeof buffer === "string") buffer = b4a.from(buffer);
+        const sink = new Sink(this, header, callback);
+        if (b4a.isBuffer(buffer)) {
+          header.size = buffer.byteLength;
+          sink.write(buffer);
+          sink.end();
+          return sink;
         }
-        const wrappedEvent = wrapEvent(this, event);
-        let prev = null;
-        while (node != null) {
-          if (node.once) {
-            if (prev !== null) {
-              prev.next = node.next;
-            } else if (node.next !== null) {
-              listeners.set(eventName, node.next);
-            } else {
-              listeners.delete(eventName);
-            }
-          } else {
-            prev = node;
-          }
-          setPassiveListener(
-            wrappedEvent,
-            node.passive ? node.listener : null
-          );
-          if (typeof node.listener === "function") {
-            try {
-              node.listener.call(this, wrappedEvent);
-            } catch (err) {
-              if (typeof console !== "undefined" && typeof console.error === "function") {
-                console.error(err);
-              }
-            }
-          } else if (node.listenerType !== ATTRIBUTE && typeof node.listener.handleEvent === "function") {
-            node.listener.handleEvent(wrappedEvent);
-          }
-          if (isStopped(wrappedEvent)) {
-            break;
-          }
-          node = node.next;
+        if (sink._isVoid) {
+          return sink;
         }
-        setPassiveListener(wrappedEvent, null);
-        setEventPhase(wrappedEvent, 0);
-        setCurrentTarget(wrappedEvent, null);
-        return !wrappedEvent.defaultPrevented;
+        return sink;
       }
-    };
-    Object.defineProperty(EventTarget2.prototype, "constructor", {
-      value: EventTarget2,
-      configurable: true,
-      writable: true
-    });
-    if (typeof window !== "undefined" && typeof window.EventTarget !== "undefined") {
-      Object.setPrototypeOf(EventTarget2.prototype, window.EventTarget.prototype);
-    }
-    exports2.defineEventAttribute = defineEventAttribute;
-    exports2.EventTarget = EventTarget2;
-    exports2.default = EventTarget2;
-    module2.exports = EventTarget2;
-    module2.exports.EventTarget = module2.exports["default"] = EventTarget2;
-    module2.exports.defineEventAttribute = defineEventAttribute;
-  }
-});
-
-// node_modules/abort-controller/dist/abort-controller.js
-var require_abort_controller = __commonJS({
-  "node_modules/abort-controller/dist/abort-controller.js"(exports2, module2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    var eventTargetShim = require_event_target_shim();
-    var AbortSignal2 = class extends eventTargetShim.EventTarget {
-      /**
-       * AbortSignal cannot be constructed directly.
-       */
-      constructor() {
-        super();
-        throw new TypeError("AbortSignal cannot be constructed directly");
+      finalize() {
+        if (this._stream || this._pending.length > 0) {
+          this._finalizing = true;
+          return;
+        }
+        if (this._finalized) return;
+        this._finalized = true;
+        this.push(END_OF_TAR);
+        this.push(null);
       }
-      /**
-       * Returns `true` if this `AbortSignal`'s `AbortController` has signaled to abort, and `false` otherwise.
-       */
-      get aborted() {
-        const aborted = abortedFlags.get(this);
-        if (typeof aborted !== "boolean") {
-          throw new TypeError(`Expected 'this' to be an 'AbortSignal' object, but got ${this === null ? "null" : typeof this}`);
+      _done(stream2) {
+        if (stream2 !== this._stream) return;
+        this._stream = null;
+        if (this._finalizing) this.finalize();
+        if (this._pending.length) this._pending.shift()._continueOpen();
+      }
+      _encode(header) {
+        if (!header.pax) {
+          const buf = headers.encode(header);
+          if (buf) {
+            this.push(buf);
+            return;
+          }
         }
-        return aborted;
+        this._encodePax(header);
       }
-    };
-    eventTargetShim.defineEventAttribute(AbortSignal2.prototype, "abort");
-    function createAbortSignal() {
-      const signal = Object.create(AbortSignal2.prototype);
-      eventTargetShim.EventTarget.call(signal);
-      abortedFlags.set(signal, false);
-      return signal;
-    }
-    function abortSignal(signal) {
-      if (abortedFlags.get(signal) !== false) {
-        return;
+      _encodePax(header) {
+        const paxHeader = headers.encodePax({
+          name: header.name,
+          linkname: header.linkname,
+          pax: header.pax
+        });
+        const newHeader = {
+          name: "PaxHeader",
+          mode: header.mode,
+          uid: header.uid,
+          gid: header.gid,
+          size: paxHeader.byteLength,
+          mtime: header.mtime,
+          type: "pax-header",
+          linkname: header.linkname && "PaxHeader",
+          uname: header.uname,
+          gname: header.gname,
+          devmajor: header.devmajor,
+          devminor: header.devminor
+        };
+        this.push(headers.encode(newHeader));
+        this.push(paxHeader);
+        overflow(this, paxHeader.byteLength);
+        newHeader.size = header.size;
+        newHeader.type = header.type;
+        this.push(headers.encode(newHeader));
       }
-      abortedFlags.set(signal, true);
-      signal.dispatchEvent({ type: "abort" });
-    }
-    var abortedFlags = /* @__PURE__ */ new WeakMap();
-    Object.defineProperties(AbortSignal2.prototype, {
-      aborted: { enumerable: true }
-    });
-    if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") {
-      Object.defineProperty(AbortSignal2.prototype, Symbol.toStringTag, {
-        configurable: true,
-        value: "AbortSignal"
-      });
-    }
-    var AbortController2 = class {
-      /**
-       * Initialize this controller.
-       */
-      constructor() {
-        signals.set(this, createAbortSignal());
+      _doDrain() {
+        const drain = this._drain;
+        this._drain = noop3;
+        drain();
       }
-      /**
-       * Returns the `AbortSignal` object associated with this object.
-       */
-      get signal() {
-        return getSignal(this);
+      _predestroy() {
+        const err = getStreamError(this);
+        if (this._stream) this._stream.destroy(err);
+        while (this._pending.length) {
+          const stream2 = this._pending.shift();
+          stream2.destroy(err);
+          stream2._continueOpen();
+        }
+        this._doDrain();
       }
-      /**
-       * Abort and signal to any observers that the associated activity is to be aborted.
-       */
-      abort() {
-        abortSignal(getSignal(this));
+      _read(cb) {
+        this._doDrain();
+        cb();
       }
     };
-    var signals = /* @__PURE__ */ new WeakMap();
-    function getSignal(controller) {
-      const signal = signals.get(controller);
-      if (signal == null) {
-        throw new TypeError(`Expected 'this' to be an 'AbortController' object, but got ${controller === null ? "null" : typeof controller}`);
+    module2.exports = function pack(opts) {
+      return new Pack(opts);
+    };
+    function modeToType(mode) {
+      switch (mode & constants.S_IFMT) {
+        case constants.S_IFBLK:
+          return "block-device";
+        case constants.S_IFCHR:
+          return "character-device";
+        case constants.S_IFDIR:
+          return "directory";
+        case constants.S_IFIFO:
+          return "fifo";
+        case constants.S_IFLNK:
+          return "symlink";
       }
-      return signal;
+      return "file";
     }
-    Object.defineProperties(AbortController2.prototype, {
-      signal: { enumerable: true },
-      abort: { enumerable: true }
-    });
-    if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") {
-      Object.defineProperty(AbortController2.prototype, Symbol.toStringTag, {
-        configurable: true,
-        value: "AbortController"
-      });
+    function noop3() {
+    }
+    function overflow(self2, size) {
+      size &= 511;
+      if (size) self2.push(END_OF_TAR.subarray(0, 512 - size));
+    }
+    function mapWritable(buf) {
+      return b4a.isBuffer(buf) ? buf : b4a.from(buf);
     }
-    exports2.AbortController = AbortController2;
-    exports2.AbortSignal = AbortSignal2;
-    exports2.default = AbortController2;
-    module2.exports = AbortController2;
-    module2.exports.AbortController = module2.exports["default"] = AbortController2;
-    module2.exports.AbortSignal = AbortSignal2;
   }
 });
 
-// node_modules/readable-stream/lib/ours/util.js
-var require_util20 = __commonJS({
-  "node_modules/readable-stream/lib/ours/util.js"(exports2, module2) {
-    "use strict";
-    var bufferModule = require("buffer");
-    var { kResistStopPropagation, SymbolDispose } = require_primordials();
-    var AbortSignal2 = globalThis.AbortSignal || require_abort_controller().AbortSignal;
-    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
-    var AsyncFunction = Object.getPrototypeOf(async function() {
-    }).constructor;
-    var Blob2 = globalThis.Blob || bufferModule.Blob;
-    var isBlob = typeof Blob2 !== "undefined" ? function isBlob2(b) {
-      return b instanceof Blob2;
-    } : function isBlob2(b) {
-      return false;
-    };
-    var validateAbortSignal = (signal, name) => {
-      if (signal !== void 0 && (signal === null || typeof signal !== "object" || !("aborted" in signal))) {
-        throw new ERR_INVALID_ARG_TYPE(name, "AbortSignal", signal);
+// node_modules/tar-stream/index.js
+var require_tar_stream = __commonJS({
+  "node_modules/tar-stream/index.js"(exports2) {
+    exports2.extract = require_extract();
+    exports2.pack = require_pack();
+  }
+});
+
+// node_modules/archiver/lib/plugins/tar.js
+var require_tar2 = __commonJS({
+  "node_modules/archiver/lib/plugins/tar.js"(exports2, module2) {
+    var zlib3 = require("zlib");
+    var engine = require_tar_stream();
+    var util = require_archiver_utils();
+    var Tar = function(options) {
+      if (!(this instanceof Tar)) {
+        return new Tar(options);
+      }
+      options = this.options = util.defaults(options, {
+        gzip: false
+      });
+      if (typeof options.gzipOptions !== "object") {
+        options.gzipOptions = {};
+      }
+      this.supports = {
+        directory: true,
+        symlink: true
+      };
+      this.engine = engine.pack(options);
+      this.compressor = false;
+      if (options.gzip) {
+        this.compressor = zlib3.createGzip(options.gzipOptions);
+        this.compressor.on("error", this._onCompressorError.bind(this));
       }
     };
-    var validateFunction = (value, name) => {
-      if (typeof value !== "function") throw new ERR_INVALID_ARG_TYPE(name, "Function", value);
+    Tar.prototype._onCompressorError = function(err) {
+      this.engine.emit("error", err);
     };
-    var AggregateError = class extends Error {
-      constructor(errors) {
-        if (!Array.isArray(errors)) {
-          throw new TypeError(`Expected input to be an Array, got ${typeof errors}`);
-        }
-        let message = "";
-        for (let i = 0; i < errors.length; i++) {
-          message += `    ${errors[i].stack}
-`;
+    Tar.prototype.append = function(source, data, callback) {
+      var self2 = this;
+      data.mtime = data.date;
+      function append(err, sourceBuffer) {
+        if (err) {
+          callback(err);
+          return;
         }
-        super(message);
-        this.name = "AggregateError";
-        this.errors = errors;
-      }
-    };
-    module2.exports = {
-      AggregateError,
-      kEmptyObject: Object.freeze({}),
-      once(callback) {
-        let called = false;
-        return function(...args) {
-          if (called) {
-            return;
-          }
-          called = true;
-          callback.apply(this, args);
-        };
-      },
-      createDeferredPromise: function() {
-        let resolve8;
-        let reject;
-        const promise = new Promise((res, rej) => {
-          resolve8 = res;
-          reject = rej;
-        });
-        return {
-          promise,
-          resolve: resolve8,
-          reject
-        };
-      },
-      promisify(fn) {
-        return new Promise((resolve8, reject) => {
-          fn((err, ...args) => {
-            if (err) {
-              return reject(err);
-            }
-            return resolve8(...args);
-          });
-        });
-      },
-      debuglog() {
-        return function() {
-        };
-      },
-      format(format, ...args) {
-        return format.replace(/%([sdifj])/g, function(...[_unused, type2]) {
-          const replacement = args.shift();
-          if (type2 === "f") {
-            return replacement.toFixed(6);
-          } else if (type2 === "j") {
-            return JSON.stringify(replacement);
-          } else if (type2 === "s" && typeof replacement === "object") {
-            const ctor = replacement.constructor !== Object ? replacement.constructor.name : "";
-            return `${ctor} {}`.trim();
-          } else {
-            return replacement.toString();
-          }
+        self2.engine.entry(data, sourceBuffer, function(err2) {
+          callback(err2, data);
         });
-      },
-      inspect(value) {
-        switch (typeof value) {
-          case "string":
-            if (value.includes("'")) {
-              if (!value.includes('"')) {
-                return `"${value}"`;
-              } else if (!value.includes("`") && !value.includes("${")) {
-                return `\`${value}\``;
-              }
-            }
-            return `'${value}'`;
-          case "number":
-            if (isNaN(value)) {
-              return "NaN";
-            } else if (Object.is(value, -0)) {
-              return String(value);
-            }
-            return value;
-          case "bigint":
-            return `${String(value)}n`;
-          case "boolean":
-          case "undefined":
-            return String(value);
-          case "object":
-            return "{}";
-        }
-      },
-      types: {
-        isAsyncFunction(fn) {
-          return fn instanceof AsyncFunction;
-        },
-        isArrayBufferView(arr) {
-          return ArrayBuffer.isView(arr);
-        }
-      },
-      isBlob,
-      deprecate(fn, message) {
-        return fn;
-      },
-      addAbortListener: require("events").addAbortListener || function addAbortListener(signal, listener) {
-        if (signal === void 0) {
-          throw new ERR_INVALID_ARG_TYPE("signal", "AbortSignal", signal);
-        }
-        validateAbortSignal(signal, "signal");
-        validateFunction(listener, "listener");
-        let removeEventListener;
-        if (signal.aborted) {
-          queueMicrotask(() => listener());
-        } else {
-          signal.addEventListener("abort", listener, {
-            __proto__: null,
-            once: true,
-            [kResistStopPropagation]: true
-          });
-          removeEventListener = () => {
-            signal.removeEventListener("abort", listener);
-          };
-        }
-        return {
-          __proto__: null,
-          [SymbolDispose]() {
-            var _removeEventListener;
-            (_removeEventListener = removeEventListener) === null || _removeEventListener === void 0 ? void 0 : _removeEventListener();
-          }
-        };
-      },
-      AbortSignalAny: AbortSignal2.any || function AbortSignalAny(signals) {
-        if (signals.length === 1) {
-          return signals[0];
-        }
-        const ac = new AbortController2();
-        const abort = () => ac.abort();
-        signals.forEach((signal) => {
-          validateAbortSignal(signal, "signals");
-          signal.addEventListener("abort", abort, {
-            once: true
-          });
+      }
+      if (data.sourceType === "buffer") {
+        append(null, source);
+      } else if (data.sourceType === "stream" && data.stats) {
+        data.size = data.stats.size;
+        var entry = self2.engine.entry(data, function(err) {
+          callback(err, data);
         });
-        ac.signal.addEventListener(
-          "abort",
-          () => {
-            signals.forEach((signal) => signal.removeEventListener("abort", abort));
-          },
-          {
-            once: true
-          }
-        );
-        return ac.signal;
+        source.pipe(entry);
+      } else if (data.sourceType === "stream") {
+        util.collectStream(source, append);
       }
     };
-    module2.exports.promisify.custom = /* @__PURE__ */ Symbol.for("nodejs.util.promisify.custom");
+    Tar.prototype.finalize = function() {
+      this.engine.finalize();
+    };
+    Tar.prototype.on = function() {
+      return this.engine.on.apply(this.engine, arguments);
+    };
+    Tar.prototype.pipe = function(destination, options) {
+      if (this.compressor) {
+        return this.engine.pipe.apply(this.engine, [this.compressor]).pipe(destination, options);
+      } else {
+        return this.engine.pipe.apply(this.engine, arguments);
+      }
+    };
+    Tar.prototype.unpipe = function() {
+      if (this.compressor) {
+        return this.compressor.unpipe.apply(this.compressor, arguments);
+      } else {
+        return this.engine.unpipe.apply(this.engine, arguments);
+      }
+    };
+    module2.exports = Tar;
   }
 });
 
-// node_modules/readable-stream/lib/ours/errors.js
-var require_errors5 = __commonJS({
-  "node_modules/readable-stream/lib/ours/errors.js"(exports2, module2) {
+// node_modules/buffer-crc32/dist/index.cjs
+var require_dist5 = __commonJS({
+  "node_modules/buffer-crc32/dist/index.cjs"(exports2, module2) {
     "use strict";
-    var { format, inspect, AggregateError: CustomAggregateError } = require_util20();
-    var AggregateError = globalThis.AggregateError || CustomAggregateError;
-    var kIsNodeError = /* @__PURE__ */ Symbol("kIsNodeError");
-    var kTypes = [
-      "string",
-      "function",
-      "number",
-      "object",
-      // Accept 'Function' and 'Object' as alternative to the lower cased version.
-      "Function",
-      "Object",
-      "boolean",
-      "bigint",
-      "symbol"
-    ];
-    var classRegExp = /^([A-Z][a-z0-9]*)+$/;
-    var nodeInternalPrefix = "__node_internal_";
-    var codes = {};
-    function assert(value, message) {
-      if (!value) {
-        throw new codes.ERR_INTERNAL_ASSERTION(message);
+    function getDefaultExportFromCjs(x) {
+      return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
+    }
+    var CRC_TABLE = new Int32Array([
+      0,
+      1996959894,
+      3993919788,
+      2567524794,
+      124634137,
+      1886057615,
+      3915621685,
+      2657392035,
+      249268274,
+      2044508324,
+      3772115230,
+      2547177864,
+      162941995,
+      2125561021,
+      3887607047,
+      2428444049,
+      498536548,
+      1789927666,
+      4089016648,
+      2227061214,
+      450548861,
+      1843258603,
+      4107580753,
+      2211677639,
+      325883990,
+      1684777152,
+      4251122042,
+      2321926636,
+      335633487,
+      1661365465,
+      4195302755,
+      2366115317,
+      997073096,
+      1281953886,
+      3579855332,
+      2724688242,
+      1006888145,
+      1258607687,
+      3524101629,
+      2768942443,
+      901097722,
+      1119000684,
+      3686517206,
+      2898065728,
+      853044451,
+      1172266101,
+      3705015759,
+      2882616665,
+      651767980,
+      1373503546,
+      3369554304,
+      3218104598,
+      565507253,
+      1454621731,
+      3485111705,
+      3099436303,
+      671266974,
+      1594198024,
+      3322730930,
+      2970347812,
+      795835527,
+      1483230225,
+      3244367275,
+      3060149565,
+      1994146192,
+      31158534,
+      2563907772,
+      4023717930,
+      1907459465,
+      112637215,
+      2680153253,
+      3904427059,
+      2013776290,
+      251722036,
+      2517215374,
+      3775830040,
+      2137656763,
+      141376813,
+      2439277719,
+      3865271297,
+      1802195444,
+      476864866,
+      2238001368,
+      4066508878,
+      1812370925,
+      453092731,
+      2181625025,
+      4111451223,
+      1706088902,
+      314042704,
+      2344532202,
+      4240017532,
+      1658658271,
+      366619977,
+      2362670323,
+      4224994405,
+      1303535960,
+      984961486,
+      2747007092,
+      3569037538,
+      1256170817,
+      1037604311,
+      2765210733,
+      3554079995,
+      1131014506,
+      879679996,
+      2909243462,
+      3663771856,
+      1141124467,
+      855842277,
+      2852801631,
+      3708648649,
+      1342533948,
+      654459306,
+      3188396048,
+      3373015174,
+      1466479909,
+      544179635,
+      3110523913,
+      3462522015,
+      1591671054,
+      702138776,
+      2966460450,
+      3352799412,
+      1504918807,
+      783551873,
+      3082640443,
+      3233442989,
+      3988292384,
+      2596254646,
+      62317068,
+      1957810842,
+      3939845945,
+      2647816111,
+      81470997,
+      1943803523,
+      3814918930,
+      2489596804,
+      225274430,
+      2053790376,
+      3826175755,
+      2466906013,
+      167816743,
+      2097651377,
+      4027552580,
+      2265490386,
+      503444072,
+      1762050814,
+      4150417245,
+      2154129355,
+      426522225,
+      1852507879,
+      4275313526,
+      2312317920,
+      282753626,
+      1742555852,
+      4189708143,
+      2394877945,
+      397917763,
+      1622183637,
+      3604390888,
+      2714866558,
+      953729732,
+      1340076626,
+      3518719985,
+      2797360999,
+      1068828381,
+      1219638859,
+      3624741850,
+      2936675148,
+      906185462,
+      1090812512,
+      3747672003,
+      2825379669,
+      829329135,
+      1181335161,
+      3412177804,
+      3160834842,
+      628085408,
+      1382605366,
+      3423369109,
+      3138078467,
+      570562233,
+      1426400815,
+      3317316542,
+      2998733608,
+      733239954,
+      1555261956,
+      3268935591,
+      3050360625,
+      752459403,
+      1541320221,
+      2607071920,
+      3965973030,
+      1969922972,
+      40735498,
+      2617837225,
+      3943577151,
+      1913087877,
+      83908371,
+      2512341634,
+      3803740692,
+      2075208622,
+      213261112,
+      2463272603,
+      3855990285,
+      2094854071,
+      198958881,
+      2262029012,
+      4057260610,
+      1759359992,
+      534414190,
+      2176718541,
+      4139329115,
+      1873836001,
+      414664567,
+      2282248934,
+      4279200368,
+      1711684554,
+      285281116,
+      2405801727,
+      4167216745,
+      1634467795,
+      376229701,
+      2685067896,
+      3608007406,
+      1308918612,
+      956543938,
+      2808555105,
+      3495958263,
+      1231636301,
+      1047427035,
+      2932959818,
+      3654703836,
+      1088359270,
+      936918e3,
+      2847714899,
+      3736837829,
+      1202900863,
+      817233897,
+      3183342108,
+      3401237130,
+      1404277552,
+      615818150,
+      3134207493,
+      3453421203,
+      1423857449,
+      601450431,
+      3009837614,
+      3294710456,
+      1567103746,
+      711928724,
+      3020668471,
+      3272380065,
+      1510334235,
+      755167117
+    ]);
+    function ensureBuffer(input) {
+      if (Buffer.isBuffer(input)) {
+        return input;
       }
-    }
-    function addNumericalSeparator(val) {
-      let res = "";
-      let i = val.length;
-      const start = val[0] === "-" ? 1 : 0;
-      for (; i >= start + 4; i -= 3) {
-        res = `_${val.slice(i - 3, i)}${res}`;
+      if (typeof input === "number") {
+        return Buffer.alloc(input);
+      } else if (typeof input === "string") {
+        return Buffer.from(input);
+      } else {
+        throw new Error("input must be buffer, number, or string, received " + typeof input);
       }
-      return `${val.slice(0, i)}${res}`;
     }
-    function getMessage(key, msg, args) {
-      if (typeof msg === "function") {
-        assert(
-          msg.length <= args.length,
-          // Default options do not count.
-          `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${msg.length}).`
-        );
-        return msg(...args);
-      }
-      const expectedLength = (msg.match(/%[dfijoOs]/g) || []).length;
-      assert(
-        expectedLength === args.length,
-        `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${expectedLength}).`
-      );
-      if (args.length === 0) {
-        return msg;
-      }
-      return format(msg, ...args);
+    function bufferizeInt(num) {
+      const tmp = ensureBuffer(4);
+      tmp.writeInt32BE(num, 0);
+      return tmp;
     }
-    function E(code, message, Base) {
-      if (!Base) {
-        Base = Error;
+    function _crc32(buf, previous) {
+      buf = ensureBuffer(buf);
+      if (Buffer.isBuffer(previous)) {
+        previous = previous.readUInt32BE(0);
       }
-      class NodeError extends Base {
-        constructor(...args) {
-          super(getMessage(code, message, args));
-        }
-        toString() {
-          return `${this.name} [${code}]: ${this.message}`;
-        }
+      let crc = ~~previous ^ -1;
+      for (var n = 0; n < buf.length; n++) {
+        crc = CRC_TABLE[(crc ^ buf[n]) & 255] ^ crc >>> 8;
       }
-      Object.defineProperties(NodeError.prototype, {
-        name: {
-          value: Base.name,
-          writable: true,
-          enumerable: false,
-          configurable: true
-        },
-        toString: {
-          value() {
-            return `${this.name} [${code}]: ${this.message}`;
-          },
-          writable: true,
-          enumerable: false,
-          configurable: true
-        }
-      });
-      NodeError.prototype.code = code;
-      NodeError.prototype[kIsNodeError] = true;
-      codes[code] = NodeError;
-    }
-    function hideStackFrames(fn) {
-      const hidden = nodeInternalPrefix + fn.name;
-      Object.defineProperty(fn, "name", {
-        value: hidden
-      });
-      return fn;
+      return crc ^ -1;
     }
-    function aggregateTwoErrors(innerError, outerError) {
-      if (innerError && outerError && innerError !== outerError) {
-        if (Array.isArray(outerError.errors)) {
-          outerError.errors.push(innerError);
-          return outerError;
-        }
-        const err = new AggregateError([outerError, innerError], outerError.message);
-        err.code = outerError.code;
-        return err;
-      }
-      return innerError || outerError;
+    function crc32() {
+      return bufferizeInt(_crc32.apply(null, arguments));
     }
-    var AbortError = class extends Error {
-      constructor(message = "The operation was aborted", options = void 0) {
-        if (options !== void 0 && typeof options !== "object") {
-          throw new codes.ERR_INVALID_ARG_TYPE("options", "Object", options);
-        }
-        super(message, options);
-        this.code = "ABORT_ERR";
-        this.name = "AbortError";
-      }
+    crc32.signed = function() {
+      return _crc32.apply(null, arguments);
     };
-    E("ERR_ASSERTION", "%s", Error);
-    E(
-      "ERR_INVALID_ARG_TYPE",
-      (name, expected, actual) => {
-        assert(typeof name === "string", "'name' must be a string");
-        if (!Array.isArray(expected)) {
-          expected = [expected];
-        }
-        let msg = "The ";
-        if (name.endsWith(" argument")) {
-          msg += `${name} `;
-        } else {
-          msg += `"${name}" ${name.includes(".") ? "property" : "argument"} `;
-        }
-        msg += "must be ";
-        const types = [];
-        const instances = [];
-        const other = [];
-        for (const value of expected) {
-          assert(typeof value === "string", "All expected entries have to be of type string");
-          if (kTypes.includes(value)) {
-            types.push(value.toLowerCase());
-          } else if (classRegExp.test(value)) {
-            instances.push(value);
-          } else {
-            assert(value !== "object", 'The value "object" should be written as "Object"');
-            other.push(value);
-          }
-        }
-        if (instances.length > 0) {
-          const pos = types.indexOf("object");
-          if (pos !== -1) {
-            types.splice(types, pos, 1);
-            instances.push("Object");
-          }
-        }
-        if (types.length > 0) {
-          switch (types.length) {
-            case 1:
-              msg += `of type ${types[0]}`;
-              break;
-            case 2:
-              msg += `one of type ${types[0]} or ${types[1]}`;
-              break;
-            default: {
-              const last = types.pop();
-              msg += `one of type ${types.join(", ")}, or ${last}`;
-            }
-          }
-          if (instances.length > 0 || other.length > 0) {
-            msg += " or ";
-          }
-        }
-        if (instances.length > 0) {
-          switch (instances.length) {
-            case 1:
-              msg += `an instance of ${instances[0]}`;
-              break;
-            case 2:
-              msg += `an instance of ${instances[0]} or ${instances[1]}`;
-              break;
-            default: {
-              const last = instances.pop();
-              msg += `an instance of ${instances.join(", ")}, or ${last}`;
-            }
-          }
-          if (other.length > 0) {
-            msg += " or ";
-          }
-        }
-        switch (other.length) {
-          case 0:
-            break;
-          case 1:
-            if (other[0].toLowerCase() !== other[0]) {
-              msg += "an ";
-            }
-            msg += `${other[0]}`;
-            break;
-          case 2:
-            msg += `one of ${other[0]} or ${other[1]}`;
-            break;
-          default: {
-            const last = other.pop();
-            msg += `one of ${other.join(", ")}, or ${last}`;
-          }
-        }
-        if (actual == null) {
-          msg += `. Received ${actual}`;
-        } else if (typeof actual === "function" && actual.name) {
-          msg += `. Received function ${actual.name}`;
-        } else if (typeof actual === "object") {
-          var _actual$constructor;
-          if ((_actual$constructor = actual.constructor) !== null && _actual$constructor !== void 0 && _actual$constructor.name) {
-            msg += `. Received an instance of ${actual.constructor.name}`;
-          } else {
-            const inspected = inspect(actual, {
-              depth: -1
-            });
-            msg += `. Received ${inspected}`;
-          }
-        } else {
-          let inspected = inspect(actual, {
-            colors: false
-          });
-          if (inspected.length > 25) {
-            inspected = `${inspected.slice(0, 25)}...`;
-          }
-          msg += `. Received type ${typeof actual} (${inspected})`;
-        }
-        return msg;
-      },
-      TypeError
-    );
-    E(
-      "ERR_INVALID_ARG_VALUE",
-      (name, value, reason = "is invalid") => {
-        let inspected = inspect(value);
-        if (inspected.length > 128) {
-          inspected = inspected.slice(0, 128) + "...";
-        }
-        const type2 = name.includes(".") ? "property" : "argument";
-        return `The ${type2} '${name}' ${reason}. Received ${inspected}`;
-      },
-      TypeError
-    );
-    E(
-      "ERR_INVALID_RETURN_VALUE",
-      (input, name, value) => {
-        var _value$constructor;
-        const type2 = value !== null && value !== void 0 && (_value$constructor = value.constructor) !== null && _value$constructor !== void 0 && _value$constructor.name ? `instance of ${value.constructor.name}` : `type ${typeof value}`;
-        return `Expected ${input} to be returned from the "${name}" function but got ${type2}.`;
-      },
-      TypeError
-    );
-    E(
-      "ERR_MISSING_ARGS",
-      (...args) => {
-        assert(args.length > 0, "At least one arg needs to be specified");
-        let msg;
-        const len = args.length;
-        args = (Array.isArray(args) ? args : [args]).map((a) => `"${a}"`).join(" or ");
-        switch (len) {
-          case 1:
-            msg += `The ${args[0]} argument`;
-            break;
-          case 2:
-            msg += `The ${args[0]} and ${args[1]} arguments`;
-            break;
-          default:
-            {
-              const last = args.pop();
-              msg += `The ${args.join(", ")}, and ${last} arguments`;
-            }
-            break;
-        }
-        return `${msg} must be specified`;
-      },
-      TypeError
-    );
-    E(
-      "ERR_OUT_OF_RANGE",
-      (str2, range, input) => {
-        assert(range, 'Missing "range" argument');
-        let received;
-        if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {
-          received = addNumericalSeparator(String(input));
-        } else if (typeof input === "bigint") {
-          received = String(input);
-          if (input > 2n ** 32n || input < -(2n ** 32n)) {
-            received = addNumericalSeparator(received);
-          }
-          received += "n";
-        } else {
-          received = inspect(input);
-        }
-        return `The value of "${str2}" is out of range. It must be ${range}. Received ${received}`;
-      },
-      RangeError
-    );
-    E("ERR_MULTIPLE_CALLBACK", "Callback called multiple times", Error);
-    E("ERR_METHOD_NOT_IMPLEMENTED", "The %s method is not implemented", Error);
-    E("ERR_STREAM_ALREADY_FINISHED", "Cannot call %s after a stream was finished", Error);
-    E("ERR_STREAM_CANNOT_PIPE", "Cannot pipe, not readable", Error);
-    E("ERR_STREAM_DESTROYED", "Cannot call %s after a stream was destroyed", Error);
-    E("ERR_STREAM_NULL_VALUES", "May not write null values to stream", TypeError);
-    E("ERR_STREAM_PREMATURE_CLOSE", "Premature close", Error);
-    E("ERR_STREAM_PUSH_AFTER_EOF", "stream.push() after EOF", Error);
-    E("ERR_STREAM_UNSHIFT_AFTER_END_EVENT", "stream.unshift() after end event", Error);
-    E("ERR_STREAM_WRITE_AFTER_END", "write after end", Error);
-    E("ERR_UNKNOWN_ENCODING", "Unknown encoding: %s", TypeError);
-    module2.exports = {
-      AbortError,
-      aggregateTwoErrors: hideStackFrames(aggregateTwoErrors),
-      hideStackFrames,
-      codes
+    crc32.unsigned = function() {
+      return _crc32.apply(null, arguments) >>> 0;
     };
+    var bufferCrc32 = crc32;
+    var index = /* @__PURE__ */ getDefaultExportFromCjs(bufferCrc32);
+    module2.exports = index;
   }
 });
 
-// node_modules/readable-stream/lib/internal/validators.js
-var require_validators = __commonJS({
-  "node_modules/readable-stream/lib/internal/validators.js"(exports2, module2) {
-    "use strict";
-    var {
-      ArrayIsArray,
-      ArrayPrototypeIncludes,
-      ArrayPrototypeJoin,
-      ArrayPrototypeMap,
-      NumberIsInteger,
-      NumberIsNaN,
-      NumberMAX_SAFE_INTEGER,
-      NumberMIN_SAFE_INTEGER,
-      NumberParseInt,
-      ObjectPrototypeHasOwnProperty,
-      RegExpPrototypeExec,
-      String: String2,
-      StringPrototypeToUpperCase,
-      StringPrototypeTrim
-    } = require_primordials();
-    var {
-      hideStackFrames,
-      codes: { ERR_SOCKET_BAD_PORT, ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_ARG_VALUE, ERR_OUT_OF_RANGE, ERR_UNKNOWN_SIGNAL }
-    } = require_errors5();
-    var { normalizeEncoding } = require_util20();
-    var { isAsyncFunction, isArrayBufferView } = require_util20().types;
-    var signals = {};
-    function isInt32(value) {
-      return value === (value | 0);
-    }
-    function isUint32(value) {
-      return value === value >>> 0;
-    }
-    var octalReg = /^[0-7]+$/;
-    var modeDesc = "must be a 32-bit unsigned integer or an octal string";
-    function parseFileMode(value, name, def) {
-      if (typeof value === "undefined") {
-        value = def;
+// node_modules/archiver/lib/plugins/json.js
+var require_json = __commonJS({
+  "node_modules/archiver/lib/plugins/json.js"(exports2, module2) {
+    var inherits = require("util").inherits;
+    var Transform = require_ours().Transform;
+    var crc32 = require_dist5();
+    var util = require_archiver_utils();
+    var Json = function(options) {
+      if (!(this instanceof Json)) {
+        return new Json(options);
       }
-      if (typeof value === "string") {
-        if (RegExpPrototypeExec(octalReg, value) === null) {
-          throw new ERR_INVALID_ARG_VALUE(name, value, modeDesc);
+      options = this.options = util.defaults(options, {});
+      Transform.call(this, options);
+      this.supports = {
+        directory: true,
+        symlink: true
+      };
+      this.files = [];
+    };
+    inherits(Json, Transform);
+    Json.prototype._transform = function(chunk, encoding, callback) {
+      callback(null, chunk);
+    };
+    Json.prototype._writeStringified = function() {
+      var fileString = JSON.stringify(this.files);
+      this.write(fileString);
+    };
+    Json.prototype.append = function(source, data, callback) {
+      var self2 = this;
+      data.crc32 = 0;
+      function onend(err, sourceBuffer) {
+        if (err) {
+          callback(err);
+          return;
         }
-        value = NumberParseInt(value, 8);
-      }
-      validateUint32(value, name);
-      return value;
-    }
-    var validateInteger = hideStackFrames((value, name, min = NumberMIN_SAFE_INTEGER, max = NumberMAX_SAFE_INTEGER) => {
-      if (typeof value !== "number") throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
-      if (!NumberIsInteger(value)) throw new ERR_OUT_OF_RANGE(name, "an integer", value);
-      if (value < min || value > max) throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
-    });
-    var validateInt32 = hideStackFrames((value, name, min = -2147483648, max = 2147483647) => {
-      if (typeof value !== "number") {
-        throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
-      }
-      if (!NumberIsInteger(value)) {
-        throw new ERR_OUT_OF_RANGE(name, "an integer", value);
-      }
-      if (value < min || value > max) {
-        throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
-      }
-    });
-    var validateUint32 = hideStackFrames((value, name, positive = false) => {
-      if (typeof value !== "number") {
-        throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
-      }
-      if (!NumberIsInteger(value)) {
-        throw new ERR_OUT_OF_RANGE(name, "an integer", value);
+        data.size = sourceBuffer.length || 0;
+        data.crc32 = crc32.unsigned(sourceBuffer);
+        self2.files.push(data);
+        callback(null, data);
       }
-      const min = positive ? 1 : 0;
-      const max = 4294967295;
-      if (value < min || value > max) {
-        throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
+      if (data.sourceType === "buffer") {
+        onend(null, source);
+      } else if (data.sourceType === "stream") {
+        util.collectStream(source, onend);
       }
-    });
-    function validateString(value, name) {
-      if (typeof value !== "string") throw new ERR_INVALID_ARG_TYPE2(name, "string", value);
-    }
-    function validateNumber(value, name, min = void 0, max) {
-      if (typeof value !== "number") throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
-      if (min != null && value < min || max != null && value > max || (min != null || max != null) && NumberIsNaN(value)) {
-        throw new ERR_OUT_OF_RANGE(
-          name,
-          `${min != null ? `>= ${min}` : ""}${min != null && max != null ? " && " : ""}${max != null ? `<= ${max}` : ""}`,
-          value
-        );
+    };
+    Json.prototype.finalize = function() {
+      this._writeStringified();
+      this.end();
+    };
+    module2.exports = Json;
+  }
+});
+
+// node_modules/archiver/index.js
+var require_archiver = __commonJS({
+  "node_modules/archiver/index.js"(exports2, module2) {
+    var Archiver = require_core2();
+    var formats = {};
+    var vending = function(format, options) {
+      return vending.create(format, options);
+    };
+    vending.create = function(format, options) {
+      if (formats[format]) {
+        var instance = new Archiver(format, options);
+        instance.setFormat(format);
+        instance.setModule(new formats[format](options));
+        return instance;
+      } else {
+        throw new Error("create(" + format + "): format not registered");
       }
-    }
-    var validateOneOf = hideStackFrames((value, name, oneOf) => {
-      if (!ArrayPrototypeIncludes(oneOf, value)) {
-        const allowed = ArrayPrototypeJoin(
-          ArrayPrototypeMap(oneOf, (v) => typeof v === "string" ? `'${v}'` : String2(v)),
-          ", "
-        );
-        const reason = "must be one of: " + allowed;
-        throw new ERR_INVALID_ARG_VALUE(name, value, reason);
+    };
+    vending.registerFormat = function(format, module3) {
+      if (formats[format]) {
+        throw new Error("register(" + format + "): format already registered");
       }
-    });
-    function validateBoolean(value, name) {
-      if (typeof value !== "boolean") throw new ERR_INVALID_ARG_TYPE2(name, "boolean", value);
-    }
-    function getOwnPropertyValueOrDefault(options, key, defaultValue) {
-      return options == null || !ObjectPrototypeHasOwnProperty(options, key) ? defaultValue : options[key];
-    }
-    var validateObject = hideStackFrames((value, name, options = null) => {
-      const allowArray = getOwnPropertyValueOrDefault(options, "allowArray", false);
-      const allowFunction = getOwnPropertyValueOrDefault(options, "allowFunction", false);
-      const nullable = getOwnPropertyValueOrDefault(options, "nullable", false);
-      if (!nullable && value === null || !allowArray && ArrayIsArray(value) || typeof value !== "object" && (!allowFunction || typeof value !== "function")) {
-        throw new ERR_INVALID_ARG_TYPE2(name, "Object", value);
+      if (typeof module3 !== "function") {
+        throw new Error("register(" + format + "): format module invalid");
       }
-    });
-    var validateDictionary = hideStackFrames((value, name) => {
-      if (value != null && typeof value !== "object" && typeof value !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2(name, "a dictionary", value);
+      if (typeof module3.prototype.append !== "function" || typeof module3.prototype.finalize !== "function") {
+        throw new Error("register(" + format + "): format module missing methods");
       }
-    });
-    var validateArray = hideStackFrames((value, name, minLength = 0) => {
-      if (!ArrayIsArray(value)) {
-        throw new ERR_INVALID_ARG_TYPE2(name, "Array", value);
+      formats[format] = module3;
+    };
+    vending.isRegisteredFormat = function(format) {
+      if (formats[format]) {
+        return true;
       }
-      if (value.length < minLength) {
-        const reason = `must be longer than ${minLength}`;
-        throw new ERR_INVALID_ARG_VALUE(name, value, reason);
+      return false;
+    };
+    vending.registerFormat("zip", require_zip());
+    vending.registerFormat("tar", require_tar2());
+    vending.registerFormat("json", require_json());
+    module2.exports = vending;
+  }
+});
+
+// node_modules/@actions/artifact/lib/internal/upload/zip.js
+var require_zip2 = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/upload/zip.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
     });
-    function validateStringArray(value, name) {
-      validateArray(value, name);
-      for (let i = 0; i < value.length; i++) {
-        validateString(value[i], `${name}[${i}]`);
+    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
       }
-    }
-    function validateBooleanArray(value, name) {
-      validateArray(value, name);
-      for (let i = 0; i < value.length; i++) {
-        validateBoolean(value[i], `${name}[${i}]`);
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve8) {
+          resolve8(value);
+        });
       }
-    }
-    function validateAbortSignalArray(value, name) {
-      validateArray(value, name);
-      for (let i = 0; i < value.length; i++) {
-        const signal = value[i];
-        const indexedName = `${name}[${i}]`;
-        if (signal == null) {
-          throw new ERR_INVALID_ARG_TYPE2(indexedName, "AbortSignal", signal);
+      return new (P || (P = Promise))(function(resolve8, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        validateAbortSignal(signal, indexedName);
-      }
-    }
-    function validateSignalName(signal, name = "signal") {
-      validateString(signal, name);
-      if (signals[signal] === void 0) {
-        if (signals[StringPrototypeToUpperCase(signal)] !== void 0) {
-          throw new ERR_UNKNOWN_SIGNAL(signal + " (signals must use all capital letters)");
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        throw new ERR_UNKNOWN_SIGNAL(signal);
-      }
-    }
-    var validateBuffer = hideStackFrames((buffer, name = "buffer") => {
-      if (!isArrayBufferView(buffer)) {
-        throw new ERR_INVALID_ARG_TYPE2(name, ["Buffer", "TypedArray", "DataView"], buffer);
+        function step(result) {
+          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createZipUploadStream = exports2.ZipUploadStream = exports2.DEFAULT_COMPRESSION_LEVEL = void 0;
+    var stream2 = __importStar2(require("stream"));
+    var promises_1 = require("fs/promises");
+    var archiver2 = __importStar2(require_archiver());
+    var core17 = __importStar2(require_core());
+    var config_1 = require_config2();
+    exports2.DEFAULT_COMPRESSION_LEVEL = 6;
+    var ZipUploadStream = class extends stream2.Transform {
+      constructor(bufferSize) {
+        super({
+          highWaterMark: bufferSize
+        });
       }
-    });
-    function validateEncoding(data, encoding) {
-      const normalizedEncoding = normalizeEncoding(encoding);
-      const length = data.length;
-      if (normalizedEncoding === "hex" && length % 2 !== 0) {
-        throw new ERR_INVALID_ARG_VALUE("encoding", encoding, `is invalid for data of length ${length}`);
+      // eslint-disable-next-line @typescript-eslint/no-explicit-any
+      _transform(chunk, enc, cb) {
+        cb(null, chunk);
       }
+    };
+    exports2.ZipUploadStream = ZipUploadStream;
+    function createZipUploadStream(uploadSpecification_1) {
+      return __awaiter2(this, arguments, void 0, function* (uploadSpecification, compressionLevel = exports2.DEFAULT_COMPRESSION_LEVEL) {
+        core17.debug(`Creating Artifact archive with compressionLevel: ${compressionLevel}`);
+        const zip = archiver2.create("zip", {
+          highWaterMark: (0, config_1.getUploadChunkSize)(),
+          zlib: { level: compressionLevel }
+        });
+        zip.on("error", zipErrorCallback);
+        zip.on("warning", zipWarningCallback);
+        zip.on("finish", zipFinishCallback);
+        zip.on("end", zipEndCallback);
+        for (const file of uploadSpecification) {
+          if (file.sourcePath !== null) {
+            let sourcePath = file.sourcePath;
+            if (file.stats.isSymbolicLink()) {
+              sourcePath = yield (0, promises_1.realpath)(file.sourcePath);
+            }
+            zip.file(sourcePath, {
+              name: file.destinationPath
+            });
+          } else {
+            zip.append("", { name: file.destinationPath });
+          }
+        }
+        const bufferSize = (0, config_1.getUploadChunkSize)();
+        const zipUploadStream = new ZipUploadStream(bufferSize);
+        core17.debug(`Zip write high watermark value ${zipUploadStream.writableHighWaterMark}`);
+        core17.debug(`Zip read high watermark value ${zipUploadStream.readableHighWaterMark}`);
+        zip.pipe(zipUploadStream);
+        zip.finalize();
+        return zipUploadStream;
+      });
     }
-    function validatePort(port, name = "Port", allowZero = true) {
-      if (typeof port !== "number" && typeof port !== "string" || typeof port === "string" && StringPrototypeTrim(port).length === 0 || +port !== +port >>> 0 || port > 65535 || port === 0 && !allowZero) {
-        throw new ERR_SOCKET_BAD_PORT(name, port, allowZero);
+    exports2.createZipUploadStream = createZipUploadStream;
+    var zipErrorCallback = (error3) => {
+      core17.error("An error has occurred while creating the zip file for upload");
+      core17.info(error3);
+      throw new Error("An error has occurred during zip creation for the artifact");
+    };
+    var zipWarningCallback = (error3) => {
+      if (error3.code === "ENOENT") {
+        core17.warning("ENOENT warning during artifact zip creation. No such file or directory");
+        core17.info(error3);
+      } else {
+        core17.warning(`A non-blocking warning has occurred during artifact zip creation: ${error3.code}`);
+        core17.info(error3);
       }
-      return port | 0;
-    }
-    var validateAbortSignal = hideStackFrames((signal, name) => {
-      if (signal !== void 0 && (signal === null || typeof signal !== "object" || !("aborted" in signal))) {
-        throw new ERR_INVALID_ARG_TYPE2(name, "AbortSignal", signal);
+    };
+    var zipFinishCallback = () => {
+      core17.debug("Zip stream for upload has finished.");
+    };
+    var zipEndCallback = () => {
+      core17.debug("Zip stream for upload has ended.");
+    };
+  }
+});
+
+// node_modules/@actions/artifact/lib/internal/upload/upload-artifact.js
+var require_upload_artifact = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/upload/upload-artifact.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
     });
-    var validateFunction = hideStackFrames((value, name) => {
-      if (typeof value !== "function") throw new ERR_INVALID_ARG_TYPE2(name, "Function", value);
-    });
-    var validatePlainFunction = hideStackFrames((value, name) => {
-      if (typeof value !== "function" || isAsyncFunction(value)) throw new ERR_INVALID_ARG_TYPE2(name, "Function", value);
-    });
-    var validateUndefined = hideStackFrames((value, name) => {
-      if (value !== void 0) throw new ERR_INVALID_ARG_TYPE2(name, "undefined", value);
-    });
-    function validateUnion(value, name, union) {
-      if (!ArrayPrototypeIncludes(union, value)) {
-        throw new ERR_INVALID_ARG_TYPE2(name, `('${ArrayPrototypeJoin(union, "|")}')`, value);
+    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
       }
-    }
-    var linkValueRegExp = /^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/;
-    function validateLinkHeaderFormat(value, name) {
-      if (typeof value === "undefined" || !RegExpPrototypeExec(linkValueRegExp, value)) {
-        throw new ERR_INVALID_ARG_VALUE(
-          name,
-          value,
-          'must be an array or string of format "; rel=preload; as=style"'
-        );
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve8) {
+          resolve8(value);
+        });
       }
-    }
-    function validateLinkHeaderValue(hints) {
-      if (typeof hints === "string") {
-        validateLinkHeaderFormat(hints, "hints");
-        return hints;
-      } else if (ArrayIsArray(hints)) {
-        const hintsLength = hints.length;
-        let result = "";
-        if (hintsLength === 0) {
-          return result;
+      return new (P || (P = Promise))(function(resolve8, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        for (let i = 0; i < hintsLength; i++) {
-          const link = hints[i];
-          validateLinkHeaderFormat(link, "hints");
-          result += link;
-          if (i !== hintsLength - 1) {
-            result += ", ";
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
           }
         }
-        return result;
-      }
-      throw new ERR_INVALID_ARG_VALUE(
-        "hints",
-        hints,
-        'must be an array or string of format "; rel=preload; as=style"'
-      );
-    }
-    module2.exports = {
-      isInt32,
-      isUint32,
-      parseFileMode,
-      validateArray,
-      validateStringArray,
-      validateBooleanArray,
-      validateAbortSignalArray,
-      validateBoolean,
-      validateBuffer,
-      validateDictionary,
-      validateEncoding,
-      validateFunction,
-      validateInt32,
-      validateInteger,
-      validateNumber,
-      validateObject,
-      validateOneOf,
-      validatePlainFunction,
-      validatePort,
-      validateSignalName,
-      validateString,
-      validateUint32,
-      validateUndefined,
-      validateUnion,
-      validateAbortSignal,
-      validateLinkHeaderValue
+        function step(result) {
+          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
     };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.uploadArtifact = void 0;
+    var core17 = __importStar2(require_core());
+    var retention_1 = require_retention();
+    var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation();
+    var artifact_twirp_client_1 = require_artifact_twirp_client2();
+    var upload_zip_specification_1 = require_upload_zip_specification();
+    var util_1 = require_util19();
+    var blob_upload_1 = require_blob_upload();
+    var zip_1 = require_zip2();
+    var generated_1 = require_generated();
+    var errors_1 = require_errors4();
+    function uploadArtifact(name, files, rootDirectory, options) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        (0, path_and_artifact_name_validation_1.validateArtifactName)(name);
+        (0, upload_zip_specification_1.validateRootDirectory)(rootDirectory);
+        const zipSpecification = (0, upload_zip_specification_1.getUploadZipSpecification)(files, rootDirectory);
+        if (zipSpecification.length === 0) {
+          throw new errors_1.FilesNotFoundError(zipSpecification.flatMap((s) => s.sourcePath ? [s.sourcePath] : []));
+        }
+        const backendIds = (0, util_1.getBackendIdsFromToken)();
+        const artifactClient = (0, artifact_twirp_client_1.internalArtifactTwirpClient)();
+        const createArtifactReq = {
+          workflowRunBackendId: backendIds.workflowRunBackendId,
+          workflowJobRunBackendId: backendIds.workflowJobRunBackendId,
+          name,
+          version: 4
+        };
+        const expiresAt = (0, retention_1.getExpiration)(options === null || options === void 0 ? void 0 : options.retentionDays);
+        if (expiresAt) {
+          createArtifactReq.expiresAt = expiresAt;
+        }
+        const createArtifactResp = yield artifactClient.CreateArtifact(createArtifactReq);
+        if (!createArtifactResp.ok) {
+          throw new errors_1.InvalidResponseError("CreateArtifact: response from backend was not ok");
+        }
+        const zipUploadStream = yield (0, zip_1.createZipUploadStream)(zipSpecification, options === null || options === void 0 ? void 0 : options.compressionLevel);
+        const uploadResult = yield (0, blob_upload_1.uploadZipToBlobStorage)(createArtifactResp.signedUploadUrl, zipUploadStream);
+        const finalizeArtifactReq = {
+          workflowRunBackendId: backendIds.workflowRunBackendId,
+          workflowJobRunBackendId: backendIds.workflowJobRunBackendId,
+          name,
+          size: uploadResult.uploadSize ? uploadResult.uploadSize.toString() : "0"
+        };
+        if (uploadResult.sha256Hash) {
+          finalizeArtifactReq.hash = generated_1.StringValue.create({
+            value: `sha256:${uploadResult.sha256Hash}`
+          });
+        }
+        core17.info(`Finalizing artifact upload`);
+        const finalizeArtifactResp = yield artifactClient.FinalizeArtifact(finalizeArtifactReq);
+        if (!finalizeArtifactResp.ok) {
+          throw new errors_1.InvalidResponseError("FinalizeArtifact: response from backend was not ok");
+        }
+        const artifactId = BigInt(finalizeArtifactResp.artifactId);
+        core17.info(`Artifact ${name}.zip successfully finalized. Artifact ID ${artifactId}`);
+        return {
+          size: uploadResult.uploadSize,
+          digest: uploadResult.sha256Hash,
+          id: Number(artifactId)
+        };
+      });
+    }
+    exports2.uploadArtifact = uploadArtifact;
   }
 });
 
-// node_modules/process/index.js
-var require_process = __commonJS({
-  "node_modules/process/index.js"(exports2, module2) {
-    module2.exports = global.process;
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/utils.js
-var require_utils8 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/utils.js"(exports2, module2) {
+// node_modules/@actions/artifact/node_modules/@actions/github/lib/context.js
+var require_context2 = __commonJS({
+  "node_modules/@actions/artifact/node_modules/@actions/github/lib/context.js"(exports2) {
     "use strict";
-    var { SymbolAsyncIterator, SymbolIterator, SymbolFor } = require_primordials();
-    var kIsDestroyed = SymbolFor("nodejs.stream.destroyed");
-    var kIsErrored = SymbolFor("nodejs.stream.errored");
-    var kIsReadable = SymbolFor("nodejs.stream.readable");
-    var kIsWritable = SymbolFor("nodejs.stream.writable");
-    var kIsDisturbed = SymbolFor("nodejs.stream.disturbed");
-    var kIsClosedPromise = SymbolFor("nodejs.webstream.isClosedPromise");
-    var kControllerErrorFunction = SymbolFor("nodejs.webstream.controllerErrorFunction");
-    function isReadableNodeStream(obj, strict = false) {
-      var _obj$_readableState;
-      return !!(obj && typeof obj.pipe === "function" && typeof obj.on === "function" && (!strict || typeof obj.pause === "function" && typeof obj.resume === "function") && (!obj._writableState || ((_obj$_readableState = obj._readableState) === null || _obj$_readableState === void 0 ? void 0 : _obj$_readableState.readable) !== false) && // Duplex
-      (!obj._writableState || obj._readableState));
-    }
-    function isWritableNodeStream(obj) {
-      var _obj$_writableState;
-      return !!(obj && typeof obj.write === "function" && typeof obj.on === "function" && (!obj._readableState || ((_obj$_writableState = obj._writableState) === null || _obj$_writableState === void 0 ? void 0 : _obj$_writableState.writable) !== false));
-    }
-    function isDuplexNodeStream(obj) {
-      return !!(obj && typeof obj.pipe === "function" && obj._readableState && typeof obj.on === "function" && typeof obj.write === "function");
-    }
-    function isNodeStream(obj) {
-      return obj && (obj._readableState || obj._writableState || typeof obj.write === "function" && typeof obj.on === "function" || typeof obj.pipe === "function" && typeof obj.on === "function");
-    }
-    function isReadableStream(obj) {
-      return !!(obj && !isNodeStream(obj) && typeof obj.pipeThrough === "function" && typeof obj.getReader === "function" && typeof obj.cancel === "function");
-    }
-    function isWritableStream(obj) {
-      return !!(obj && !isNodeStream(obj) && typeof obj.getWriter === "function" && typeof obj.abort === "function");
-    }
-    function isTransformStream(obj) {
-      return !!(obj && !isNodeStream(obj) && typeof obj.readable === "object" && typeof obj.writable === "object");
-    }
-    function isWebStream(obj) {
-      return isReadableStream(obj) || isWritableStream(obj) || isTransformStream(obj);
-    }
-    function isIterable(obj, isAsync) {
-      if (obj == null) return false;
-      if (isAsync === true) return typeof obj[SymbolAsyncIterator] === "function";
-      if (isAsync === false) return typeof obj[SymbolIterator] === "function";
-      return typeof obj[SymbolAsyncIterator] === "function" || typeof obj[SymbolIterator] === "function";
-    }
-    function isDestroyed(stream2) {
-      if (!isNodeStream(stream2)) return null;
-      const wState = stream2._writableState;
-      const rState = stream2._readableState;
-      const state = wState || rState;
-      return !!(stream2.destroyed || stream2[kIsDestroyed] || state !== null && state !== void 0 && state.destroyed);
-    }
-    function isWritableEnded(stream2) {
-      if (!isWritableNodeStream(stream2)) return null;
-      if (stream2.writableEnded === true) return true;
-      const wState = stream2._writableState;
-      if (wState !== null && wState !== void 0 && wState.errored) return false;
-      if (typeof (wState === null || wState === void 0 ? void 0 : wState.ended) !== "boolean") return null;
-      return wState.ended;
-    }
-    function isWritableFinished(stream2, strict) {
-      if (!isWritableNodeStream(stream2)) return null;
-      if (stream2.writableFinished === true) return true;
-      const wState = stream2._writableState;
-      if (wState !== null && wState !== void 0 && wState.errored) return false;
-      if (typeof (wState === null || wState === void 0 ? void 0 : wState.finished) !== "boolean") return null;
-      return !!(wState.finished || strict === false && wState.ended === true && wState.length === 0);
-    }
-    function isReadableEnded(stream2) {
-      if (!isReadableNodeStream(stream2)) return null;
-      if (stream2.readableEnded === true) return true;
-      const rState = stream2._readableState;
-      if (!rState || rState.errored) return false;
-      if (typeof (rState === null || rState === void 0 ? void 0 : rState.ended) !== "boolean") return null;
-      return rState.ended;
-    }
-    function isReadableFinished(stream2, strict) {
-      if (!isReadableNodeStream(stream2)) return null;
-      const rState = stream2._readableState;
-      if (rState !== null && rState !== void 0 && rState.errored) return false;
-      if (typeof (rState === null || rState === void 0 ? void 0 : rState.endEmitted) !== "boolean") return null;
-      return !!(rState.endEmitted || strict === false && rState.ended === true && rState.length === 0);
-    }
-    function isReadable(stream2) {
-      if (stream2 && stream2[kIsReadable] != null) return stream2[kIsReadable];
-      if (typeof (stream2 === null || stream2 === void 0 ? void 0 : stream2.readable) !== "boolean") return null;
-      if (isDestroyed(stream2)) return false;
-      return isReadableNodeStream(stream2) && stream2.readable && !isReadableFinished(stream2);
-    }
-    function isWritable(stream2) {
-      if (stream2 && stream2[kIsWritable] != null) return stream2[kIsWritable];
-      if (typeof (stream2 === null || stream2 === void 0 ? void 0 : stream2.writable) !== "boolean") return null;
-      if (isDestroyed(stream2)) return false;
-      return isWritableNodeStream(stream2) && stream2.writable && !isWritableEnded(stream2);
-    }
-    function isFinished(stream2, opts) {
-      if (!isNodeStream(stream2)) {
-        return null;
-      }
-      if (isDestroyed(stream2)) {
-        return true;
+    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() {
+        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 {
+            const path16 = process.env.GITHUB_EVENT_PATH;
+            process.stdout.write(`GITHUB_EVENT_PATH ${path16} does not exist${os_1.EOL}`);
+          }
+        }
+        this.eventName = process.env.GITHUB_EVENT_NAME;
+        this.sha = process.env.GITHUB_SHA;
+        this.ref = process.env.GITHUB_REF;
+        this.workflow = process.env.GITHUB_WORKFLOW;
+        this.action = process.env.GITHUB_ACTION;
+        this.actor = process.env.GITHUB_ACTOR;
+        this.job = process.env.GITHUB_JOB;
+        this.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`;
       }
-      if ((opts === null || opts === void 0 ? void 0 : opts.readable) !== false && isReadable(stream2)) {
-        return false;
+      get issue() {
+        const payload = this.payload;
+        return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || payload).number });
       }
-      if ((opts === null || opts === void 0 ? void 0 : opts.writable) !== false && isWritable(stream2)) {
-        return false;
+      get repo() {
+        if (process.env.GITHUB_REPOSITORY) {
+          const [owner, repo] = process.env.GITHUB_REPOSITORY.split("/");
+          return { owner, repo };
+        }
+        if (this.payload.repository) {
+          return {
+            owner: this.payload.repository.owner.login,
+            repo: this.payload.repository.name
+          };
+        }
+        throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'");
       }
-      return true;
-    }
-    function isWritableErrored(stream2) {
-      var _stream$_writableStat, _stream$_writableStat2;
-      if (!isNodeStream(stream2)) {
-        return null;
+    };
+    exports2.Context = Context;
+  }
+});
+
+// node_modules/@actions/artifact/node_modules/@actions/github/node_modules/@actions/http-client/lib/proxy.js
+var require_proxy2 = __commonJS({
+  "node_modules/@actions/artifact/node_modules/@actions/github/node_modules/@actions/http-client/lib/proxy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.checkBypass = exports2.getProxyUrl = void 0;
+    function getProxyUrl(reqUrl) {
+      const usingSsl = reqUrl.protocol === "https:";
+      if (checkBypass(reqUrl)) {
+        return void 0;
       }
-      if (stream2.writableErrored) {
-        return stream2.writableErrored;
+      const proxyVar = (() => {
+        if (usingSsl) {
+          return process.env["https_proxy"] || process.env["HTTPS_PROXY"];
+        } else {
+          return process.env["http_proxy"] || process.env["HTTP_PROXY"];
+        }
+      })();
+      if (proxyVar) {
+        try {
+          return new DecodedURL(proxyVar);
+        } catch (_a) {
+          if (!proxyVar.startsWith("http://") && !proxyVar.startsWith("https://"))
+            return new DecodedURL(`http://${proxyVar}`);
+        }
+      } else {
+        return void 0;
       }
-      return (_stream$_writableStat = (_stream$_writableStat2 = stream2._writableState) === null || _stream$_writableStat2 === void 0 ? void 0 : _stream$_writableStat2.errored) !== null && _stream$_writableStat !== void 0 ? _stream$_writableStat : null;
     }
-    function isReadableErrored(stream2) {
-      var _stream$_readableStat, _stream$_readableStat2;
-      if (!isNodeStream(stream2)) {
-        return null;
+    exports2.getProxyUrl = getProxyUrl;
+    function checkBypass(reqUrl) {
+      if (!reqUrl.hostname) {
+        return false;
       }
-      if (stream2.readableErrored) {
-        return stream2.readableErrored;
+      const reqHost = reqUrl.hostname;
+      if (isLoopbackAddress(reqHost)) {
+        return true;
       }
-      return (_stream$_readableStat = (_stream$_readableStat2 = stream2._readableState) === null || _stream$_readableStat2 === void 0 ? void 0 : _stream$_readableStat2.errored) !== null && _stream$_readableStat !== void 0 ? _stream$_readableStat : null;
-    }
-    function isClosed(stream2) {
-      if (!isNodeStream(stream2)) {
-        return null;
+      const noProxy = process.env["no_proxy"] || process.env["NO_PROXY"] || "";
+      if (!noProxy) {
+        return false;
       }
-      if (typeof stream2.closed === "boolean") {
-        return stream2.closed;
+      let reqPort;
+      if (reqUrl.port) {
+        reqPort = Number(reqUrl.port);
+      } else if (reqUrl.protocol === "http:") {
+        reqPort = 80;
+      } else if (reqUrl.protocol === "https:") {
+        reqPort = 443;
       }
-      const wState = stream2._writableState;
-      const rState = stream2._readableState;
-      if (typeof (wState === null || wState === void 0 ? void 0 : wState.closed) === "boolean" || typeof (rState === null || rState === void 0 ? void 0 : rState.closed) === "boolean") {
-        return (wState === null || wState === void 0 ? void 0 : wState.closed) || (rState === null || rState === void 0 ? void 0 : rState.closed);
+      const upperReqHosts = [reqUrl.hostname.toUpperCase()];
+      if (typeof reqPort === "number") {
+        upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`);
       }
-      if (typeof stream2._closed === "boolean" && isOutgoingMessage(stream2)) {
-        return stream2._closed;
+      for (const upperNoProxyItem of noProxy.split(",").map((x) => x.trim().toUpperCase()).filter((x) => x)) {
+        if (upperNoProxyItem === "*" || upperReqHosts.some((x) => x === upperNoProxyItem || x.endsWith(`.${upperNoProxyItem}`) || upperNoProxyItem.startsWith(".") && x.endsWith(`${upperNoProxyItem}`))) {
+          return true;
+        }
       }
-      return null;
-    }
-    function isOutgoingMessage(stream2) {
-      return typeof stream2._closed === "boolean" && typeof stream2._defaultKeepAlive === "boolean" && typeof stream2._removedConnection === "boolean" && typeof stream2._removedContLen === "boolean";
-    }
-    function isServerResponse(stream2) {
-      return typeof stream2._sent100 === "boolean" && isOutgoingMessage(stream2);
-    }
-    function isServerRequest(stream2) {
-      var _stream$req;
-      return typeof stream2._consuming === "boolean" && typeof stream2._dumped === "boolean" && ((_stream$req = stream2.req) === null || _stream$req === void 0 ? void 0 : _stream$req.upgradeOrConnect) === void 0;
-    }
-    function willEmitClose(stream2) {
-      if (!isNodeStream(stream2)) return null;
-      const wState = stream2._writableState;
-      const rState = stream2._readableState;
-      const state = wState || rState;
-      return !state && isServerResponse(stream2) || !!(state && state.autoDestroy && state.emitClose && state.closed === false);
-    }
-    function isDisturbed(stream2) {
-      var _stream$kIsDisturbed;
-      return !!(stream2 && ((_stream$kIsDisturbed = stream2[kIsDisturbed]) !== null && _stream$kIsDisturbed !== void 0 ? _stream$kIsDisturbed : stream2.readableDidRead || stream2.readableAborted));
+      return false;
     }
-    function isErrored(stream2) {
-      var _ref, _ref2, _ref3, _ref4, _ref5, _stream$kIsErrored, _stream$_readableStat3, _stream$_writableStat3, _stream$_readableStat4, _stream$_writableStat4;
-      return !!(stream2 && ((_ref = (_ref2 = (_ref3 = (_ref4 = (_ref5 = (_stream$kIsErrored = stream2[kIsErrored]) !== null && _stream$kIsErrored !== void 0 ? _stream$kIsErrored : stream2.readableErrored) !== null && _ref5 !== void 0 ? _ref5 : stream2.writableErrored) !== null && _ref4 !== void 0 ? _ref4 : (_stream$_readableStat3 = stream2._readableState) === null || _stream$_readableStat3 === void 0 ? void 0 : _stream$_readableStat3.errorEmitted) !== null && _ref3 !== void 0 ? _ref3 : (_stream$_writableStat3 = stream2._writableState) === null || _stream$_writableStat3 === void 0 ? void 0 : _stream$_writableStat3.errorEmitted) !== null && _ref2 !== void 0 ? _ref2 : (_stream$_readableStat4 = stream2._readableState) === null || _stream$_readableStat4 === void 0 ? void 0 : _stream$_readableStat4.errored) !== null && _ref !== void 0 ? _ref : (_stream$_writableStat4 = stream2._writableState) === null || _stream$_writableStat4 === void 0 ? void 0 : _stream$_writableStat4.errored));
+    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(url2, base) {
+        super(url2, base);
+        this._decodedUsername = decodeURIComponent(super.username);
+        this._decodedPassword = decodeURIComponent(super.password);
+      }
+      get username() {
+        return this._decodedUsername;
+      }
+      get password() {
+        return this._decodedPassword;
+      }
+    };
+  }
+});
+
+// node_modules/undici/lib/core/symbols.js
+var require_symbols11 = __commonJS({
+  "node_modules/undici/lib/core/symbols.js"(exports2, module2) {
     module2.exports = {
-      isDestroyed,
-      kIsDestroyed,
-      isDisturbed,
-      kIsDisturbed,
-      isErrored,
-      kIsErrored,
-      isReadable,
-      kIsReadable,
-      kIsClosedPromise,
-      kControllerErrorFunction,
-      kIsWritable,
-      isClosed,
-      isDuplexNodeStream,
-      isFinished,
-      isIterable,
-      isReadableNodeStream,
-      isReadableStream,
-      isReadableEnded,
-      isReadableFinished,
-      isReadableErrored,
-      isNodeStream,
-      isWebStream,
-      isWritable,
-      isWritableNodeStream,
-      isWritableStream,
-      isWritableEnded,
-      isWritableFinished,
-      isWritableErrored,
-      isServerRequest,
-      isServerResponse,
-      willEmitClose,
-      isTransformStream
+      kClose: /* @__PURE__ */ Symbol("close"),
+      kDestroy: /* @__PURE__ */ Symbol("destroy"),
+      kDispatch: /* @__PURE__ */ Symbol("dispatch"),
+      kUrl: /* @__PURE__ */ Symbol("url"),
+      kWriting: /* @__PURE__ */ Symbol("writing"),
+      kResuming: /* @__PURE__ */ Symbol("resuming"),
+      kQueue: /* @__PURE__ */ Symbol("queue"),
+      kConnect: /* @__PURE__ */ Symbol("connect"),
+      kConnecting: /* @__PURE__ */ Symbol("connecting"),
+      kHeadersList: /* @__PURE__ */ Symbol("headers list"),
+      kKeepAliveDefaultTimeout: /* @__PURE__ */ Symbol("default keep alive timeout"),
+      kKeepAliveMaxTimeout: /* @__PURE__ */ Symbol("max keep alive timeout"),
+      kKeepAliveTimeoutThreshold: /* @__PURE__ */ Symbol("keep alive timeout threshold"),
+      kKeepAliveTimeoutValue: /* @__PURE__ */ Symbol("keep alive timeout"),
+      kKeepAlive: /* @__PURE__ */ Symbol("keep alive"),
+      kHeadersTimeout: /* @__PURE__ */ Symbol("headers timeout"),
+      kBodyTimeout: /* @__PURE__ */ Symbol("body timeout"),
+      kServerName: /* @__PURE__ */ Symbol("server name"),
+      kLocalAddress: /* @__PURE__ */ Symbol("local address"),
+      kHost: /* @__PURE__ */ Symbol("host"),
+      kNoRef: /* @__PURE__ */ Symbol("no ref"),
+      kBodyUsed: /* @__PURE__ */ Symbol("used"),
+      kRunning: /* @__PURE__ */ Symbol("running"),
+      kBlocking: /* @__PURE__ */ Symbol("blocking"),
+      kPending: /* @__PURE__ */ Symbol("pending"),
+      kSize: /* @__PURE__ */ Symbol("size"),
+      kBusy: /* @__PURE__ */ Symbol("busy"),
+      kQueued: /* @__PURE__ */ Symbol("queued"),
+      kFree: /* @__PURE__ */ Symbol("free"),
+      kConnected: /* @__PURE__ */ Symbol("connected"),
+      kClosed: /* @__PURE__ */ Symbol("closed"),
+      kNeedDrain: /* @__PURE__ */ Symbol("need drain"),
+      kReset: /* @__PURE__ */ Symbol("reset"),
+      kDestroyed: /* @__PURE__ */ Symbol.for("nodejs.stream.destroyed"),
+      kMaxHeadersSize: /* @__PURE__ */ Symbol("max headers size"),
+      kRunningIdx: /* @__PURE__ */ Symbol("running index"),
+      kPendingIdx: /* @__PURE__ */ Symbol("pending index"),
+      kError: /* @__PURE__ */ Symbol("error"),
+      kClients: /* @__PURE__ */ Symbol("clients"),
+      kClient: /* @__PURE__ */ Symbol("client"),
+      kParser: /* @__PURE__ */ Symbol("parser"),
+      kOnDestroyed: /* @__PURE__ */ Symbol("destroy callbacks"),
+      kPipelining: /* @__PURE__ */ Symbol("pipelining"),
+      kSocket: /* @__PURE__ */ Symbol("socket"),
+      kHostHeader: /* @__PURE__ */ Symbol("host header"),
+      kConnector: /* @__PURE__ */ Symbol("connector"),
+      kStrictContentLength: /* @__PURE__ */ Symbol("strict content length"),
+      kMaxRedirections: /* @__PURE__ */ Symbol("maxRedirections"),
+      kMaxRequests: /* @__PURE__ */ Symbol("maxRequestsPerClient"),
+      kProxy: /* @__PURE__ */ Symbol("proxy agent options"),
+      kCounter: /* @__PURE__ */ Symbol("socket request counter"),
+      kInterceptors: /* @__PURE__ */ Symbol("dispatch interceptors"),
+      kMaxResponseSize: /* @__PURE__ */ Symbol("max response size"),
+      kHTTP2Session: /* @__PURE__ */ Symbol("http2Session"),
+      kHTTP2SessionState: /* @__PURE__ */ Symbol("http2Session state"),
+      kHTTP2BuildRequest: /* @__PURE__ */ Symbol("http2 build request"),
+      kHTTP1BuildRequest: /* @__PURE__ */ Symbol("http1 build request"),
+      kHTTP2CopyHeaders: /* @__PURE__ */ Symbol("http2 copy headers"),
+      kHTTPConnVersion: /* @__PURE__ */ Symbol("http connection version"),
+      kRetryHandlerDefaultRetry: /* @__PURE__ */ Symbol("retry agent default retry"),
+      kConstruct: /* @__PURE__ */ Symbol("constructable")
     };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/end-of-stream.js
-var require_end_of_stream = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/end-of-stream.js"(exports2, module2) {
-    var process2 = require_process();
-    var { AbortError, codes } = require_errors5();
-    var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_PREMATURE_CLOSE } = codes;
-    var { kEmptyObject, once } = require_util20();
-    var { validateAbortSignal, validateFunction, validateObject, validateBoolean } = require_validators();
-    var { Promise: Promise2, PromisePrototypeThen, SymbolDispose } = require_primordials();
-    var {
-      isClosed,
-      isReadable,
-      isReadableNodeStream,
-      isReadableStream,
-      isReadableFinished,
-      isReadableErrored,
-      isWritable,
-      isWritableNodeStream,
-      isWritableStream,
-      isWritableFinished,
-      isWritableErrored,
-      isNodeStream,
-      willEmitClose: _willEmitClose,
-      kIsClosedPromise
-    } = require_utils8();
-    var addAbortListener;
-    function isRequest(stream2) {
-      return stream2.setHeader && typeof stream2.abort === "function";
-    }
-    var nop = () => {
+// node_modules/undici/lib/core/errors.js
+var require_errors6 = __commonJS({
+  "node_modules/undici/lib/core/errors.js"(exports2, module2) {
+    "use strict";
+    var UndiciError = class extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "UndiciError";
+        this.code = "UND_ERR";
+      }
     };
-    function eos(stream2, options, callback) {
-      var _options$readable, _options$writable;
-      if (arguments.length === 2) {
-        callback = options;
-        options = kEmptyObject;
-      } else if (options == null) {
-        options = kEmptyObject;
-      } else {
-        validateObject(options, "options");
+    var ConnectTimeoutError = class _ConnectTimeoutError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _ConnectTimeoutError);
+        this.name = "ConnectTimeoutError";
+        this.message = message || "Connect Timeout Error";
+        this.code = "UND_ERR_CONNECT_TIMEOUT";
       }
-      validateFunction(callback, "callback");
-      validateAbortSignal(options.signal, "options.signal");
-      callback = once(callback);
-      if (isReadableStream(stream2) || isWritableStream(stream2)) {
-        return eosWeb(stream2, options, callback);
+    };
+    var HeadersTimeoutError = class _HeadersTimeoutError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _HeadersTimeoutError);
+        this.name = "HeadersTimeoutError";
+        this.message = message || "Headers Timeout Error";
+        this.code = "UND_ERR_HEADERS_TIMEOUT";
       }
-      if (!isNodeStream(stream2)) {
-        throw new ERR_INVALID_ARG_TYPE2("stream", ["ReadableStream", "WritableStream", "Stream"], stream2);
+    };
+    var HeadersOverflowError = class _HeadersOverflowError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _HeadersOverflowError);
+        this.name = "HeadersOverflowError";
+        this.message = message || "Headers Overflow Error";
+        this.code = "UND_ERR_HEADERS_OVERFLOW";
       }
-      const readable = (_options$readable = options.readable) !== null && _options$readable !== void 0 ? _options$readable : isReadableNodeStream(stream2);
-      const writable = (_options$writable = options.writable) !== null && _options$writable !== void 0 ? _options$writable : isWritableNodeStream(stream2);
-      const wState = stream2._writableState;
-      const rState = stream2._readableState;
-      const onlegacyfinish = () => {
-        if (!stream2.writable) {
-          onfinish();
-        }
-      };
-      let willEmitClose = _willEmitClose(stream2) && isReadableNodeStream(stream2) === readable && isWritableNodeStream(stream2) === writable;
-      let writableFinished = isWritableFinished(stream2, false);
-      const onfinish = () => {
-        writableFinished = true;
-        if (stream2.destroyed) {
-          willEmitClose = false;
-        }
-        if (willEmitClose && (!stream2.readable || readable)) {
-          return;
-        }
-        if (!readable || readableFinished) {
-          callback.call(stream2);
-        }
-      };
-      let readableFinished = isReadableFinished(stream2, false);
-      const onend = () => {
-        readableFinished = true;
-        if (stream2.destroyed) {
-          willEmitClose = false;
-        }
-        if (willEmitClose && (!stream2.writable || writable)) {
-          return;
-        }
-        if (!writable || writableFinished) {
-          callback.call(stream2);
-        }
-      };
-      const onerror = (err) => {
-        callback.call(stream2, err);
-      };
-      let closed = isClosed(stream2);
-      const onclose = () => {
-        closed = true;
-        const errored = isWritableErrored(stream2) || isReadableErrored(stream2);
-        if (errored && typeof errored !== "boolean") {
-          return callback.call(stream2, errored);
-        }
-        if (readable && !readableFinished && isReadableNodeStream(stream2, true)) {
-          if (!isReadableFinished(stream2, false)) return callback.call(stream2, new ERR_STREAM_PREMATURE_CLOSE());
-        }
-        if (writable && !writableFinished) {
-          if (!isWritableFinished(stream2, false)) return callback.call(stream2, new ERR_STREAM_PREMATURE_CLOSE());
-        }
-        callback.call(stream2);
-      };
-      const onclosed = () => {
-        closed = true;
-        const errored = isWritableErrored(stream2) || isReadableErrored(stream2);
-        if (errored && typeof errored !== "boolean") {
-          return callback.call(stream2, errored);
-        }
-        callback.call(stream2);
-      };
-      const onrequest = () => {
-        stream2.req.on("finish", onfinish);
-      };
-      if (isRequest(stream2)) {
-        stream2.on("complete", onfinish);
-        if (!willEmitClose) {
-          stream2.on("abort", onclose);
-        }
-        if (stream2.req) {
-          onrequest();
-        } else {
-          stream2.on("request", onrequest);
-        }
-      } else if (writable && !wState) {
-        stream2.on("end", onlegacyfinish);
-        stream2.on("close", onlegacyfinish);
+    };
+    var BodyTimeoutError = class _BodyTimeoutError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _BodyTimeoutError);
+        this.name = "BodyTimeoutError";
+        this.message = message || "Body Timeout Error";
+        this.code = "UND_ERR_BODY_TIMEOUT";
       }
-      if (!willEmitClose && typeof stream2.aborted === "boolean") {
-        stream2.on("aborted", onclose);
+    };
+    var ResponseStatusCodeError = class _ResponseStatusCodeError extends UndiciError {
+      constructor(message, statusCode, headers, body) {
+        super(message);
+        Error.captureStackTrace(this, _ResponseStatusCodeError);
+        this.name = "ResponseStatusCodeError";
+        this.message = message || "Response Status Code Error";
+        this.code = "UND_ERR_RESPONSE_STATUS_CODE";
+        this.body = body;
+        this.status = statusCode;
+        this.statusCode = statusCode;
+        this.headers = headers;
       }
-      stream2.on("end", onend);
-      stream2.on("finish", onfinish);
-      if (options.error !== false) {
-        stream2.on("error", onerror);
+    };
+    var InvalidArgumentError = class _InvalidArgumentError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _InvalidArgumentError);
+        this.name = "InvalidArgumentError";
+        this.message = message || "Invalid Argument Error";
+        this.code = "UND_ERR_INVALID_ARG";
       }
-      stream2.on("close", onclose);
-      if (closed) {
-        process2.nextTick(onclose);
-      } else if (wState !== null && wState !== void 0 && wState.errorEmitted || rState !== null && rState !== void 0 && rState.errorEmitted) {
-        if (!willEmitClose) {
-          process2.nextTick(onclosed);
-        }
-      } else if (!readable && (!willEmitClose || isReadable(stream2)) && (writableFinished || isWritable(stream2) === false)) {
-        process2.nextTick(onclosed);
-      } else if (!writable && (!willEmitClose || isWritable(stream2)) && (readableFinished || isReadable(stream2) === false)) {
-        process2.nextTick(onclosed);
-      } else if (rState && stream2.req && stream2.aborted) {
-        process2.nextTick(onclosed);
+    };
+    var InvalidReturnValueError = class _InvalidReturnValueError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _InvalidReturnValueError);
+        this.name = "InvalidReturnValueError";
+        this.message = message || "Invalid Return Value Error";
+        this.code = "UND_ERR_INVALID_RETURN_VALUE";
       }
-      const cleanup = () => {
-        callback = nop;
-        stream2.removeListener("aborted", onclose);
-        stream2.removeListener("complete", onfinish);
-        stream2.removeListener("abort", onclose);
-        stream2.removeListener("request", onrequest);
-        if (stream2.req) stream2.req.removeListener("finish", onfinish);
-        stream2.removeListener("end", onlegacyfinish);
-        stream2.removeListener("close", onlegacyfinish);
-        stream2.removeListener("finish", onfinish);
-        stream2.removeListener("end", onend);
-        stream2.removeListener("error", onerror);
-        stream2.removeListener("close", onclose);
-      };
-      if (options.signal && !closed) {
-        const abort = () => {
-          const endCallback = callback;
-          cleanup();
-          endCallback.call(
-            stream2,
-            new AbortError(void 0, {
-              cause: options.signal.reason
-            })
-          );
-        };
-        if (options.signal.aborted) {
-          process2.nextTick(abort);
-        } else {
-          addAbortListener = addAbortListener || require_util20().addAbortListener;
-          const disposable = addAbortListener(options.signal, abort);
-          const originalCallback = callback;
-          callback = once((...args) => {
-            disposable[SymbolDispose]();
-            originalCallback.apply(stream2, args);
-          });
-        }
+    };
+    var RequestAbortedError = class _RequestAbortedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _RequestAbortedError);
+        this.name = "AbortError";
+        this.message = message || "Request aborted";
+        this.code = "UND_ERR_ABORTED";
       }
-      return cleanup;
-    }
-    function eosWeb(stream2, options, callback) {
-      let isAborted = false;
-      let abort = nop;
-      if (options.signal) {
-        abort = () => {
-          isAborted = true;
-          callback.call(
-            stream2,
-            new AbortError(void 0, {
-              cause: options.signal.reason
-            })
-          );
-        };
-        if (options.signal.aborted) {
-          process2.nextTick(abort);
-        } else {
-          addAbortListener = addAbortListener || require_util20().addAbortListener;
-          const disposable = addAbortListener(options.signal, abort);
-          const originalCallback = callback;
-          callback = once((...args) => {
-            disposable[SymbolDispose]();
-            originalCallback.apply(stream2, args);
-          });
-        }
+    };
+    var InformationalError = class _InformationalError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _InformationalError);
+        this.name = "InformationalError";
+        this.message = message || "Request information";
+        this.code = "UND_ERR_INFO";
       }
-      const resolverFn = (...args) => {
-        if (!isAborted) {
-          process2.nextTick(() => callback.apply(stream2, args));
-        }
-      };
-      PromisePrototypeThen(stream2[kIsClosedPromise].promise, resolverFn, resolverFn);
-      return nop;
-    }
-    function finished(stream2, opts) {
-      var _opts;
-      let autoCleanup = false;
-      if (opts === null) {
-        opts = kEmptyObject;
+    };
+    var RequestContentLengthMismatchError = class _RequestContentLengthMismatchError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _RequestContentLengthMismatchError);
+        this.name = "RequestContentLengthMismatchError";
+        this.message = message || "Request body length does not match content-length header";
+        this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH";
       }
-      if ((_opts = opts) !== null && _opts !== void 0 && _opts.cleanup) {
-        validateBoolean(opts.cleanup, "cleanup");
-        autoCleanup = opts.cleanup;
+    };
+    var ResponseContentLengthMismatchError = class _ResponseContentLengthMismatchError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _ResponseContentLengthMismatchError);
+        this.name = "ResponseContentLengthMismatchError";
+        this.message = message || "Response body length does not match content-length header";
+        this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH";
       }
-      return new Promise2((resolve8, reject) => {
-        const cleanup = eos(stream2, opts, (err) => {
-          if (autoCleanup) {
-            cleanup();
-          }
-          if (err) {
-            reject(err);
-          } else {
-            resolve8();
-          }
-        });
-      });
+    };
+    var ClientDestroyedError = class _ClientDestroyedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _ClientDestroyedError);
+        this.name = "ClientDestroyedError";
+        this.message = message || "The client is destroyed";
+        this.code = "UND_ERR_DESTROYED";
+      }
+    };
+    var ClientClosedError = class _ClientClosedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _ClientClosedError);
+        this.name = "ClientClosedError";
+        this.message = message || "The client is closed";
+        this.code = "UND_ERR_CLOSED";
+      }
+    };
+    var SocketError = class _SocketError extends UndiciError {
+      constructor(message, socket) {
+        super(message);
+        Error.captureStackTrace(this, _SocketError);
+        this.name = "SocketError";
+        this.message = message || "Socket error";
+        this.code = "UND_ERR_SOCKET";
+        this.socket = socket;
+      }
+    };
+    var NotSupportedError = class _NotSupportedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _NotSupportedError);
+        this.name = "NotSupportedError";
+        this.message = message || "Not supported error";
+        this.code = "UND_ERR_NOT_SUPPORTED";
+      }
+    };
+    var BalancedPoolMissingUpstreamError = class extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, NotSupportedError);
+        this.name = "MissingUpstreamError";
+        this.message = message || "No upstream has been added to the BalancedPool";
+        this.code = "UND_ERR_BPL_MISSING_UPSTREAM";
+      }
+    };
+    var HTTPParserError = class _HTTPParserError extends Error {
+      constructor(message, code, data) {
+        super(message);
+        Error.captureStackTrace(this, _HTTPParserError);
+        this.name = "HTTPParserError";
+        this.code = code ? `HPE_${code}` : void 0;
+        this.data = data ? data.toString() : void 0;
+      }
+    };
+    var ResponseExceededMaxSizeError = class _ResponseExceededMaxSizeError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _ResponseExceededMaxSizeError);
+        this.name = "ResponseExceededMaxSizeError";
+        this.message = message || "Response content exceeded max size";
+        this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE";
+      }
+    };
+    var RequestRetryError = class _RequestRetryError extends UndiciError {
+      constructor(message, code, { headers, data }) {
+        super(message);
+        Error.captureStackTrace(this, _RequestRetryError);
+        this.name = "RequestRetryError";
+        this.message = message || "Request retry error";
+        this.code = "UND_ERR_REQ_RETRY";
+        this.statusCode = code;
+        this.data = data;
+        this.headers = headers;
+      }
+    };
+    module2.exports = {
+      HTTPParserError,
+      UndiciError,
+      HeadersTimeoutError,
+      HeadersOverflowError,
+      BodyTimeoutError,
+      RequestContentLengthMismatchError,
+      ConnectTimeoutError,
+      ResponseStatusCodeError,
+      InvalidArgumentError,
+      InvalidReturnValueError,
+      RequestAbortedError,
+      ClientDestroyedError,
+      ClientClosedError,
+      InformationalError,
+      SocketError,
+      NotSupportedError,
+      ResponseContentLengthMismatchError,
+      BalancedPoolMissingUpstreamError,
+      ResponseExceededMaxSizeError,
+      RequestRetryError
+    };
+  }
+});
+
+// node_modules/undici/lib/core/constants.js
+var require_constants20 = __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;
     }
-    module2.exports = eos;
-    module2.exports.finished = finished;
+    Object.setPrototypeOf(headerNameLowerCasedRecord, null);
+    module2.exports = {
+      wellknownHeaderNames,
+      headerNameLowerCasedRecord
+    };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/destroy.js
-var require_destroy2 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/destroy.js"(exports2, module2) {
+// node_modules/undici/lib/core/util.js
+var require_util24 = __commonJS({
+  "node_modules/undici/lib/core/util.js"(exports2, module2) {
     "use strict";
-    var process2 = require_process();
-    var {
-      aggregateTwoErrors,
-      codes: { ERR_MULTIPLE_CALLBACK },
-      AbortError
-    } = require_errors5();
-    var { Symbol: Symbol2 } = require_primordials();
-    var { kIsDestroyed, isDestroyed, isFinished, isServerRequest } = require_utils8();
-    var kDestroy = Symbol2("kDestroy");
-    var kConstruct = Symbol2("kConstruct");
-    function checkError(err, w, r) {
-      if (err) {
-        err.stack;
-        if (w && !w.errored) {
-          w.errored = err;
-        }
-        if (r && !r.errored) {
-          r.errored = err;
-        }
+    var assert = require("assert");
+    var { kDestroyed, kBodyUsed } = require_symbols11();
+    var { IncomingMessage } = require("http");
+    var stream2 = require("stream");
+    var net = require("net");
+    var { InvalidArgumentError } = require_errors6();
+    var { Blob: Blob2 } = require("buffer");
+    var nodeUtil = require("util");
+    var { stringify } = require("querystring");
+    var { headerNameLowerCasedRecord } = require_constants20();
+    var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v) => Number(v));
+    function nop() {
+    }
+    function isStream(obj) {
+      return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function";
+    }
+    function isBlobLike(object) {
+      return Blob2 && object instanceof Blob2 || object && typeof object === "object" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]);
+    }
+    function buildURL(url2, queryParams) {
+      if (url2.includes("?") || url2.includes("#")) {
+        throw new Error('Query params cannot be passed when url already contains "?" or "#".');
+      }
+      const stringified = stringify(queryParams);
+      if (stringified) {
+        url2 += "?" + stringified;
       }
+      return url2;
     }
-    function destroy(err, cb) {
-      const r = this._readableState;
-      const w = this._writableState;
-      const s = w || r;
-      if (w !== null && w !== void 0 && w.destroyed || r !== null && r !== void 0 && r.destroyed) {
-        if (typeof cb === "function") {
-          cb();
+    function parseURL(url2) {
+      if (typeof url2 === "string") {
+        url2 = new URL(url2);
+        if (!/^https?:/.test(url2.origin || url2.protocol)) {
+          throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
         }
-        return this;
-      }
-      checkError(err, w, r);
-      if (w) {
-        w.destroyed = true;
+        return url2;
       }
-      if (r) {
-        r.destroyed = true;
+      if (!url2 || typeof url2 !== "object") {
+        throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object.");
       }
-      if (!s.constructed) {
-        this.once(kDestroy, function(er) {
-          _destroy(this, aggregateTwoErrors(er, err), cb);
-        });
-      } else {
-        _destroy(this, err, cb);
+      if (!/^https?:/.test(url2.origin || url2.protocol)) {
+        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
       }
-      return this;
-    }
-    function _destroy(self2, err, cb) {
-      let called = false;
-      function onDestroy(err2) {
-        if (called) {
-          return;
+      if (!(url2 instanceof URL)) {
+        if (url2.port != null && url2.port !== "" && !Number.isFinite(parseInt(url2.port))) {
+          throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer.");
         }
-        called = true;
-        const r = self2._readableState;
-        const w = self2._writableState;
-        checkError(err2, w, r);
-        if (w) {
-          w.closed = true;
+        if (url2.path != null && typeof url2.path !== "string") {
+          throw new InvalidArgumentError("Invalid URL path: the path must be a string or null/undefined.");
         }
-        if (r) {
-          r.closed = true;
+        if (url2.pathname != null && typeof url2.pathname !== "string") {
+          throw new InvalidArgumentError("Invalid URL pathname: the pathname must be a string or null/undefined.");
         }
-        if (typeof cb === "function") {
-          cb(err2);
+        if (url2.hostname != null && typeof url2.hostname !== "string") {
+          throw new InvalidArgumentError("Invalid URL hostname: the hostname must be a string or null/undefined.");
         }
-        if (err2) {
-          process2.nextTick(emitErrorCloseNT, self2, err2);
-        } else {
-          process2.nextTick(emitCloseNT, self2);
+        if (url2.origin != null && typeof url2.origin !== "string") {
+          throw new InvalidArgumentError("Invalid URL origin: the origin must be a string or null/undefined.");
+        }
+        const port = url2.port != null ? url2.port : url2.protocol === "https:" ? 443 : 80;
+        let origin = url2.origin != null ? url2.origin : `${url2.protocol}//${url2.hostname}:${port}`;
+        let path16 = url2.path != null ? url2.path : `${url2.pathname || ""}${url2.search || ""}`;
+        if (origin.endsWith("/")) {
+          origin = origin.substring(0, origin.length - 1);
+        }
+        if (path16 && !path16.startsWith("/")) {
+          path16 = `/${path16}`;
         }
+        url2 = new URL(origin + path16);
       }
-      try {
-        self2._destroy(err || null, onDestroy);
-      } catch (err2) {
-        onDestroy(err2);
+      return url2;
+    }
+    function parseOrigin(url2) {
+      url2 = parseURL(url2);
+      if (url2.pathname !== "/" || url2.search || url2.hash) {
+        throw new InvalidArgumentError("invalid url");
       }
+      return url2;
     }
-    function emitErrorCloseNT(self2, err) {
-      emitErrorNT(self2, err);
-      emitCloseNT(self2);
+    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 emitCloseNT(self2) {
-      const r = self2._readableState;
-      const w = self2._writableState;
-      if (w) {
-        w.closeEmitted = true;
+    function getServerName(host) {
+      if (!host) {
+        return null;
       }
-      if (r) {
-        r.closeEmitted = true;
+      assert.strictEqual(typeof host, "string");
+      const servername = getHostname(host);
+      if (net.isIP(servername)) {
+        return "";
       }
-      if (w !== null && w !== void 0 && w.emitClose || r !== null && r !== void 0 && r.emitClose) {
-        self2.emit("close");
+      return servername;
+    }
+    function deepClone(obj) {
+      return JSON.parse(JSON.stringify(obj));
+    }
+    function isAsyncIterable(obj) {
+      return !!(obj != null && typeof obj[Symbol.asyncIterator] === "function");
+    }
+    function isIterable(obj) {
+      return !!(obj != null && (typeof obj[Symbol.iterator] === "function" || typeof obj[Symbol.asyncIterator] === "function"));
+    }
+    function bodyLength(body) {
+      if (body == null) {
+        return 0;
+      } else if (isStream(body)) {
+        const state = body._readableState;
+        return state && state.objectMode === false && state.ended === true && Number.isFinite(state.length) ? state.length : null;
+      } else if (isBlobLike(body)) {
+        return body.size != null ? body.size : null;
+      } else if (isBuffer(body)) {
+        return body.byteLength;
       }
+      return null;
     }
-    function emitErrorNT(self2, err) {
-      const r = self2._readableState;
-      const w = self2._writableState;
-      if (w !== null && w !== void 0 && w.errorEmitted || r !== null && r !== void 0 && r.errorEmitted) {
+    function isDestroyed(stream3) {
+      return !stream3 || !!(stream3.destroyed || stream3[kDestroyed]);
+    }
+    function isReadableAborted(stream3) {
+      const state = stream3 && stream3._readableState;
+      return isDestroyed(stream3) && state && !state.endEmitted;
+    }
+    function destroy(stream3, err) {
+      if (stream3 == null || !isStream(stream3) || isDestroyed(stream3)) {
         return;
       }
-      if (w) {
-        w.errorEmitted = true;
+      if (typeof stream3.destroy === "function") {
+        if (Object.getPrototypeOf(stream3).constructor === IncomingMessage) {
+          stream3.socket = null;
+        }
+        stream3.destroy(err);
+      } else if (err) {
+        process.nextTick((stream4, err2) => {
+          stream4.emit("error", err2);
+        }, stream3, err);
       }
-      if (r) {
-        r.errorEmitted = true;
+      if (stream3.destroyed !== true) {
+        stream3[kDestroyed] = true;
       }
-      self2.emit("error", err);
     }
-    function undestroy() {
-      const r = this._readableState;
-      const w = this._writableState;
-      if (r) {
-        r.constructed = true;
-        r.closed = false;
-        r.closeEmitted = false;
-        r.destroyed = false;
-        r.errored = null;
-        r.errorEmitted = false;
-        r.reading = false;
-        r.ended = r.readable === false;
-        r.endEmitted = r.readable === false;
+    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 headerNameLowerCasedRecord[value] || value.toLowerCase();
+    }
+    function parseHeaders(headers, obj = {}) {
+      if (!Array.isArray(headers)) return headers;
+      for (let i = 0; i < headers.length; i += 2) {
+        const key = headers[i].toString().toLowerCase();
+        let val = obj[key];
+        if (!val) {
+          if (Array.isArray(headers[i + 1])) {
+            obj[key] = headers[i + 1].map((x) => x.toString("utf8"));
+          } else {
+            obj[key] = headers[i + 1].toString("utf8");
+          }
+        } else {
+          if (!Array.isArray(val)) {
+            val = [val];
+            obj[key] = val;
+          }
+          val.push(headers[i + 1].toString("utf8"));
+        }
       }
-      if (w) {
-        w.constructed = true;
-        w.destroyed = false;
-        w.closed = false;
-        w.closeEmitted = false;
-        w.errored = null;
-        w.errorEmitted = false;
-        w.finalCalled = false;
-        w.prefinished = false;
-        w.ended = w.writable === false;
-        w.ending = w.writable === false;
-        w.finished = w.writable === false;
+      if ("content-length" in obj && "content-disposition" in obj) {
+        obj["content-disposition"] = Buffer.from(obj["content-disposition"]).toString("latin1");
       }
+      return obj;
     }
-    function errorOrDestroy(stream2, err, sync) {
-      const r = stream2._readableState;
-      const w = stream2._writableState;
-      if (w !== null && w !== void 0 && w.destroyed || r !== null && r !== void 0 && r.destroyed) {
-        return this;
-      }
-      if (r !== null && r !== void 0 && r.autoDestroy || w !== null && w !== void 0 && w.autoDestroy)
-        stream2.destroy(err);
-      else if (err) {
-        err.stack;
-        if (w && !w.errored) {
-          w.errored = err;
-        }
-        if (r && !r.errored) {
-          r.errored = err;
-        }
-        if (sync) {
-          process2.nextTick(emitErrorNT, stream2, err);
+    function parseRawHeaders(headers) {
+      const ret = [];
+      let hasContentLength = false;
+      let contentDispositionIdx = -1;
+      for (let n = 0; n < headers.length; n += 2) {
+        const key = headers[n + 0].toString();
+        const val = headers[n + 1].toString("utf8");
+        if (key.length === 14 && (key === "content-length" || key.toLowerCase() === "content-length")) {
+          ret.push(key, val);
+          hasContentLength = true;
+        } else if (key.length === 19 && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
+          contentDispositionIdx = ret.push(key, val) - 1;
         } else {
-          emitErrorNT(stream2, err);
+          ret.push(key, val);
         }
       }
+      if (hasContentLength && contentDispositionIdx !== -1) {
+        ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1");
+      }
+      return ret;
     }
-    function construct(stream2, cb) {
-      if (typeof stream2._construct !== "function") {
-        return;
+    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");
       }
-      const r = stream2._readableState;
-      const w = stream2._writableState;
-      if (r) {
-        r.constructed = false;
+      if (typeof handler2.onConnect !== "function") {
+        throw new InvalidArgumentError("invalid onConnect method");
       }
-      if (w) {
-        w.constructed = false;
+      if (typeof handler2.onError !== "function") {
+        throw new InvalidArgumentError("invalid onError method");
       }
-      stream2.once(kConstruct, cb);
-      if (stream2.listenerCount(kConstruct) > 1) {
-        return;
+      if (typeof handler2.onBodySent !== "function" && handler2.onBodySent !== void 0) {
+        throw new InvalidArgumentError("invalid onBodySent method");
       }
-      process2.nextTick(constructNT, stream2);
-    }
-    function constructNT(stream2) {
-      let called = false;
-      function onConstruct(err) {
-        if (called) {
-          errorOrDestroy(stream2, err !== null && err !== void 0 ? err : new ERR_MULTIPLE_CALLBACK());
-          return;
+      if (upgrade || method === "CONNECT") {
+        if (typeof handler2.onUpgrade !== "function") {
+          throw new InvalidArgumentError("invalid onUpgrade method");
         }
-        called = true;
-        const r = stream2._readableState;
-        const w = stream2._writableState;
-        const s = w || r;
-        if (r) {
-          r.constructed = true;
+      } else {
+        if (typeof handler2.onHeaders !== "function") {
+          throw new InvalidArgumentError("invalid onHeaders method");
         }
-        if (w) {
-          w.constructed = true;
+        if (typeof handler2.onData !== "function") {
+          throw new InvalidArgumentError("invalid onData method");
         }
-        if (s.destroyed) {
-          stream2.emit(kDestroy, err);
-        } else if (err) {
-          errorOrDestroy(stream2, err, true);
-        } else {
-          process2.nextTick(emitConstructNT, stream2);
+        if (typeof handler2.onComplete !== "function") {
+          throw new InvalidArgumentError("invalid onComplete method");
         }
       }
-      try {
-        stream2._construct((err) => {
-          process2.nextTick(onConstruct, err);
-        });
-      } catch (err) {
-        process2.nextTick(onConstruct, err);
-      }
     }
-    function emitConstructNT(stream2) {
-      stream2.emit(kConstruct);
+    function isDisturbed(body) {
+      return !!(body && (stream2.isDisturbed ? stream2.isDisturbed(body) || body[kBodyUsed] : body[kBodyUsed] || body.readableDidRead || body._readableState && body._readableState.dataEmitted || isReadableAborted(body)));
     }
-    function isRequest(stream2) {
-      return (stream2 === null || stream2 === void 0 ? void 0 : stream2.setHeader) && typeof stream2.abort === "function";
+    function isErrored(body) {
+      return !!(body && (stream2.isErrored ? stream2.isErrored(body) : /state: 'errored'/.test(
+        nodeUtil.inspect(body)
+      )));
     }
-    function emitCloseLegacy(stream2) {
-      stream2.emit("close");
+    function isReadable(body) {
+      return !!(body && (stream2.isReadable ? stream2.isReadable(body) : /state: 'readable'/.test(
+        nodeUtil.inspect(body)
+      )));
     }
-    function emitErrorCloseLegacy(stream2, err) {
-      stream2.emit("error", err);
-      process2.nextTick(emitCloseLegacy, stream2);
+    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 destroyer(stream2, err) {
-      if (!stream2 || isDestroyed(stream2)) {
-        return;
+    async function* convertIterableToBuffer(iterable) {
+      for await (const chunk of iterable) {
+        yield Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
       }
-      if (!err && !isFinished(stream2)) {
-        err = new AbortError();
+    }
+    var ReadableStream2;
+    function ReadableStreamFrom(iterable) {
+      if (!ReadableStream2) {
+        ReadableStream2 = require("stream/web").ReadableStream;
       }
-      if (isServerRequest(stream2)) {
-        stream2.socket = null;
-        stream2.destroy(err);
-      } else if (isRequest(stream2)) {
-        stream2.abort();
-      } else if (isRequest(stream2.req)) {
-        stream2.req.abort();
-      } else if (typeof stream2.destroy === "function") {
-        stream2.destroy(err);
-      } else if (typeof stream2.close === "function") {
-        stream2.close();
-      } else if (err) {
-        process2.nextTick(emitErrorCloseLegacy, stream2, err);
+      if (ReadableStream2.from) {
+        return ReadableStream2.from(convertIterableToBuffer(iterable));
+      }
+      let iterator2;
+      return new ReadableStream2(
+        {
+          async start() {
+            iterator2 = iterable[Symbol.asyncIterator]();
+          },
+          async pull(controller) {
+            const { done, value } = await iterator2.next();
+            if (done) {
+              queueMicrotask(() => {
+                controller.close();
+              });
+            } else {
+              const buf = Buffer.isBuffer(value) ? value : Buffer.from(value);
+              controller.enqueue(new Uint8Array(buf));
+            }
+            return controller.desiredSize > 0;
+          },
+          async cancel(reason) {
+            await iterator2.return();
+          }
+        },
+        0
+      );
+    }
+    function isFormDataLike(object) {
+      return object && typeof object === "object" && typeof object.append === "function" && typeof object.delete === "function" && typeof object.get === "function" && typeof object.getAll === "function" && typeof object.has === "function" && typeof object.set === "function" && object[Symbol.toStringTag] === "FormData";
+    }
+    function throwIfAborted(signal) {
+      if (!signal) {
+        return;
+      }
+      if (typeof signal.throwIfAborted === "function") {
+        signal.throwIfAborted();
       } else {
-        process2.nextTick(emitCloseLegacy, stream2);
+        if (signal.aborted) {
+          const err = new Error("The operation was aborted");
+          err.name = "AbortError";
+          throw err;
+        }
       }
-      if (!stream2.destroyed) {
-        stream2[kIsDestroyed] = true;
+    }
+    function addAbortListener(signal, listener) {
+      if ("addEventListener" in signal) {
+        signal.addEventListener("abort", listener, { once: true });
+        return () => signal.removeEventListener("abort", listener);
+      }
+      signal.addListener("abort", listener);
+      return () => signal.removeListener("abort", listener);
+    }
+    var hasToWellFormed = !!String.prototype.toWellFormed;
+    function toUSVString(val) {
+      if (hasToWellFormed) {
+        return `${val}`.toWellFormed();
+      } else if (nodeUtil.toUSVString) {
+        return nodeUtil.toUSVString(val);
       }
+      return `${val}`;
+    }
+    function parseRangeHeader(range) {
+      if (range == null || range === "") return { start: 0, end: null, size: null };
+      const m = range ? range.match(/^bytes (\d+)-(\d+)\/(\d+)?$/) : null;
+      return m ? {
+        start: parseInt(m[1]),
+        end: m[2] ? parseInt(m[2]) : null,
+        size: m[3] ? parseInt(m[3]) : null
+      } : null;
     }
+    var kEnumerableProperty = /* @__PURE__ */ Object.create(null);
+    kEnumerableProperty.enumerable = true;
     module2.exports = {
-      construct,
-      destroyer,
+      kEnumerableProperty,
+      nop,
+      isDisturbed,
+      isErrored,
+      isReadable,
+      toUSVString,
+      isReadableAborted,
+      isBlobLike,
+      parseOrigin,
+      parseURL,
+      getServerName,
+      isStream,
+      isIterable,
+      isAsyncIterable,
+      isDestroyed,
+      headerNameToString,
+      parseRawHeaders,
+      parseHeaders,
+      parseKeepAliveTimeout,
       destroy,
-      undestroy,
-      errorOrDestroy
+      bodyLength,
+      deepClone,
+      ReadableStreamFrom,
+      isBuffer,
+      validateHandler,
+      getSocketInfo,
+      isFormDataLike,
+      buildURL,
+      throwIfAborted,
+      addAbortListener,
+      parseRangeHeader,
+      nodeMajor,
+      nodeMinor,
+      nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13,
+      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"]
     };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/legacy.js
-var require_legacy = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/legacy.js"(exports2, module2) {
+// node_modules/undici/lib/timers.js
+var require_timers3 = __commonJS({
+  "node_modules/undici/lib/timers.js"(exports2, module2) {
     "use strict";
-    var { ArrayIsArray, ObjectSetPrototypeOf } = require_primordials();
-    var { EventEmitter: EE } = require("events");
-    function Stream(opts) {
-      EE.call(this, opts);
-    }
-    ObjectSetPrototypeOf(Stream.prototype, EE.prototype);
-    ObjectSetPrototypeOf(Stream, EE);
-    Stream.prototype.pipe = function(dest, options) {
-      const source = this;
-      function ondata(chunk) {
-        if (dest.writable && dest.write(chunk) === false && source.pause) {
-          source.pause();
+    var fastNow = Date.now();
+    var fastNowTimeout;
+    var fastTimers = [];
+    function onTimeout() {
+      fastNow = Date.now();
+      let len = fastTimers.length;
+      let idx = 0;
+      while (idx < len) {
+        const timer = fastTimers[idx];
+        if (timer.state === 0) {
+          timer.state = fastNow + timer.delay;
+        } else if (timer.state > 0 && fastNow >= timer.state) {
+          timer.state = -1;
+          timer.callback(timer.opaque);
         }
-      }
-      source.on("data", ondata);
-      function ondrain() {
-        if (source.readable && source.resume) {
-          source.resume();
+        if (timer.state === -1) {
+          timer.state = -2;
+          if (idx !== len - 1) {
+            fastTimers[idx] = fastTimers.pop();
+          } else {
+            fastTimers.pop();
+          }
+          len -= 1;
+        } else {
+          idx += 1;
         }
       }
-      dest.on("drain", ondrain);
-      if (!dest._isStdio && (!options || options.end !== false)) {
-        source.on("end", onend);
-        source.on("close", onclose);
+      if (fastTimers.length > 0) {
+        refreshTimeout();
       }
-      let didOnEnd = false;
-      function onend() {
-        if (didOnEnd) return;
-        didOnEnd = true;
-        dest.end();
+    }
+    function refreshTimeout() {
+      if (fastNowTimeout && fastNowTimeout.refresh) {
+        fastNowTimeout.refresh();
+      } else {
+        clearTimeout(fastNowTimeout);
+        fastNowTimeout = setTimeout(onTimeout, 1e3);
+        if (fastNowTimeout.unref) {
+          fastNowTimeout.unref();
+        }
       }
-      function onclose() {
-        if (didOnEnd) return;
-        didOnEnd = true;
-        if (typeof dest.destroy === "function") dest.destroy();
+    }
+    var Timeout = class {
+      constructor(callback, delay2, opaque) {
+        this.callback = callback;
+        this.delay = delay2;
+        this.opaque = opaque;
+        this.state = -2;
+        this.refresh();
       }
-      function onerror(er) {
-        cleanup();
-        if (EE.listenerCount(this, "error") === 0) {
-          this.emit("error", er);
+      refresh() {
+        if (this.state === -2) {
+          fastTimers.push(this);
+          if (!fastNowTimeout || fastTimers.length === 1) {
+            refreshTimeout();
+          }
         }
+        this.state = 0;
       }
-      prependListener(source, "error", onerror);
-      prependListener(dest, "error", onerror);
-      function cleanup() {
-        source.removeListener("data", ondata);
-        dest.removeListener("drain", ondrain);
-        source.removeListener("end", onend);
-        source.removeListener("close", onclose);
-        source.removeListener("error", onerror);
-        dest.removeListener("error", onerror);
-        source.removeListener("end", cleanup);
-        source.removeListener("close", cleanup);
-        dest.removeListener("close", cleanup);
+      clear() {
+        this.state = -1;
       }
-      source.on("end", cleanup);
-      source.on("close", cleanup);
-      dest.on("close", cleanup);
-      dest.emit("pipe", source);
-      return dest;
     };
-    function prependListener(emitter, event, fn) {
-      if (typeof emitter.prependListener === "function") return emitter.prependListener(event, fn);
-      if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);
-      else if (ArrayIsArray(emitter._events[event])) emitter._events[event].unshift(fn);
-      else emitter._events[event] = [fn, emitter._events[event]];
-    }
     module2.exports = {
-      Stream,
-      prependListener
+      setTimeout(callback, delay2, opaque) {
+        return delay2 < 1e3 ? setTimeout(callback, delay2, opaque) : new Timeout(callback, delay2, opaque);
+      },
+      clearTimeout(timeout) {
+        if (timeout instanceof Timeout) {
+          timeout.clear();
+        } else {
+          clearTimeout(timeout);
+        }
+      }
     };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/add-abort-signal.js
-var require_add_abort_signal = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/add-abort-signal.js"(exports2, module2) {
+// node_modules/@fastify/busboy/deps/streamsearch/sbmh.js
+var require_sbmh = __commonJS({
+  "node_modules/@fastify/busboy/deps/streamsearch/sbmh.js"(exports2, module2) {
     "use strict";
-    var { SymbolDispose } = require_primordials();
-    var { AbortError, codes } = require_errors5();
-    var { isNodeStream, isWebStream, kControllerErrorFunction } = require_utils8();
-    var eos = require_end_of_stream();
-    var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2 } = codes;
-    var addAbortListener;
-    var validateAbortSignal = (signal, name) => {
-      if (typeof signal !== "object" || !("aborted" in signal)) {
-        throw new ERR_INVALID_ARG_TYPE2(name, "AbortSignal", signal);
+    var EventEmitter = require("node:events").EventEmitter;
+    var inherits = require("node:util").inherits;
+    function SBMH(needle) {
+      if (typeof needle === "string") {
+        needle = Buffer.from(needle);
+      }
+      if (!Buffer.isBuffer(needle)) {
+        throw new TypeError("The needle has to be a String or a Buffer.");
+      }
+      const needleLength = needle.length;
+      if (needleLength === 0) {
+        throw new Error("The needle cannot be an empty String/Buffer.");
+      }
+      if (needleLength > 256) {
+        throw new Error("The needle cannot have a length bigger than 256.");
+      }
+      this.maxMatches = Infinity;
+      this.matches = 0;
+      this._occ = new Array(256).fill(needleLength);
+      this._lookbehind_size = 0;
+      this._needle = needle;
+      this._bufpos = 0;
+      this._lookbehind = Buffer.alloc(needleLength);
+      for (var i = 0; i < needleLength - 1; ++i) {
+        this._occ[needle[i]] = needleLength - 1 - i;
       }
+    }
+    inherits(SBMH, EventEmitter);
+    SBMH.prototype.reset = function() {
+      this._lookbehind_size = 0;
+      this.matches = 0;
+      this._bufpos = 0;
     };
-    module2.exports.addAbortSignal = function addAbortSignal(signal, stream2) {
-      validateAbortSignal(signal, "signal");
-      if (!isNodeStream(stream2) && !isWebStream(stream2)) {
-        throw new ERR_INVALID_ARG_TYPE2("stream", ["ReadableStream", "WritableStream", "Stream"], stream2);
+    SBMH.prototype.push = function(chunk, pos) {
+      if (!Buffer.isBuffer(chunk)) {
+        chunk = Buffer.from(chunk, "binary");
       }
-      return module2.exports.addAbortSignalNoValidate(signal, stream2);
+      const chlen = chunk.length;
+      this._bufpos = pos || 0;
+      let r;
+      while (r !== chlen && this.matches < this.maxMatches) {
+        r = this._sbmh_feed(chunk);
+      }
+      return r;
     };
-    module2.exports.addAbortSignalNoValidate = function(signal, stream2) {
-      if (typeof signal !== "object" || !("aborted" in signal)) {
-        return stream2;
+    SBMH.prototype._sbmh_feed = function(data) {
+      const len = data.length;
+      const needle = this._needle;
+      const needleLength = needle.length;
+      const lastNeedleChar = needle[needleLength - 1];
+      let pos = -this._lookbehind_size;
+      let ch;
+      if (pos < 0) {
+        while (pos < 0 && pos <= len - needleLength) {
+          ch = this._sbmh_lookup_char(data, pos + needleLength - 1);
+          if (ch === lastNeedleChar && this._sbmh_memcmp(data, pos, needleLength - 1)) {
+            this._lookbehind_size = 0;
+            ++this.matches;
+            this.emit("info", true);
+            return this._bufpos = pos + needleLength;
+          }
+          pos += this._occ[ch];
+        }
+        if (pos < 0) {
+          while (pos < 0 && !this._sbmh_memcmp(data, pos, len - pos)) {
+            ++pos;
+          }
+        }
+        if (pos >= 0) {
+          this.emit("info", false, this._lookbehind, 0, this._lookbehind_size);
+          this._lookbehind_size = 0;
+        } else {
+          const bytesToCutOff = this._lookbehind_size + pos;
+          if (bytesToCutOff > 0) {
+            this.emit("info", false, this._lookbehind, 0, bytesToCutOff);
+          }
+          this._lookbehind.copy(
+            this._lookbehind,
+            0,
+            bytesToCutOff,
+            this._lookbehind_size - bytesToCutOff
+          );
+          this._lookbehind_size -= bytesToCutOff;
+          data.copy(this._lookbehind, this._lookbehind_size);
+          this._lookbehind_size += len;
+          this._bufpos = len;
+          return len;
+        }
       }
-      const onAbort = isNodeStream(stream2) ? () => {
-        stream2.destroy(
-          new AbortError(void 0, {
-            cause: signal.reason
-          })
-        );
-      } : () => {
-        stream2[kControllerErrorFunction](
-          new AbortError(void 0, {
-            cause: signal.reason
-          })
-        );
-      };
-      if (signal.aborted) {
-        onAbort();
+      pos += (pos >= 0) * this._bufpos;
+      if (data.indexOf(needle, pos) !== -1) {
+        pos = data.indexOf(needle, pos);
+        ++this.matches;
+        if (pos > 0) {
+          this.emit("info", true, data, this._bufpos, pos);
+        } else {
+          this.emit("info", true);
+        }
+        return this._bufpos = pos + needleLength;
       } else {
-        addAbortListener = addAbortListener || require_util20().addAbortListener;
-        const disposable = addAbortListener(signal, onAbort);
-        eos(stream2, disposable[SymbolDispose]);
+        pos = len - needleLength;
       }
-      return stream2;
+      while (pos < len && (data[pos] !== needle[0] || Buffer.compare(
+        data.subarray(pos, pos + len - pos),
+        needle.subarray(0, len - pos)
+      ) !== 0)) {
+        ++pos;
+      }
+      if (pos < len) {
+        data.copy(this._lookbehind, 0, pos, pos + (len - pos));
+        this._lookbehind_size = len - pos;
+      }
+      if (pos > 0) {
+        this.emit("info", false, data, this._bufpos, pos < len ? pos : len);
+      }
+      this._bufpos = len;
+      return len;
+    };
+    SBMH.prototype._sbmh_lookup_char = function(data, pos) {
+      return pos < 0 ? this._lookbehind[this._lookbehind_size + pos] : data[pos];
+    };
+    SBMH.prototype._sbmh_memcmp = function(data, pos, len) {
+      for (var i = 0; i < len; ++i) {
+        if (this._sbmh_lookup_char(data, pos + i) !== this._needle[i]) {
+          return false;
+        }
+      }
+      return true;
     };
+    module2.exports = SBMH;
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/buffer_list.js
-var require_buffer_list = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/buffer_list.js"(exports2, module2) {
+// node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js
+var require_PartStream = __commonJS({
+  "node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js"(exports2, module2) {
     "use strict";
-    var { StringPrototypeSlice, SymbolIterator, TypedArrayPrototypeSet, Uint8Array: Uint8Array2 } = require_primordials();
-    var { Buffer: Buffer2 } = require("buffer");
-    var { inspect } = require_util20();
-    module2.exports = class BufferList {
-      constructor() {
-        this.head = null;
-        this.tail = null;
-        this.length = 0;
-      }
-      push(v) {
-        const entry = {
-          data: v,
-          next: null
-        };
-        if (this.length > 0) this.tail.next = entry;
-        else this.head = entry;
-        this.tail = entry;
-        ++this.length;
+    var inherits = require("node:util").inherits;
+    var ReadableStream2 = require("node:stream").Readable;
+    function PartStream(opts) {
+      ReadableStream2.call(this, opts);
+    }
+    inherits(PartStream, ReadableStream2);
+    PartStream.prototype._read = function(n) {
+    };
+    module2.exports = PartStream;
+  }
+});
+
+// node_modules/@fastify/busboy/lib/utils/getLimit.js
+var require_getLimit = __commonJS({
+  "node_modules/@fastify/busboy/lib/utils/getLimit.js"(exports2, module2) {
+    "use strict";
+    module2.exports = function getLimit(limits, name, defaultLimit) {
+      if (!limits || limits[name] === void 0 || limits[name] === null) {
+        return defaultLimit;
       }
-      unshift(v) {
-        const entry = {
-          data: v,
-          next: this.head
-        };
-        if (this.length === 0) this.tail = entry;
-        this.head = entry;
-        ++this.length;
+      if (typeof limits[name] !== "number" || isNaN(limits[name])) {
+        throw new TypeError("Limit " + name + " is not a valid number");
       }
-      shift() {
-        if (this.length === 0) return;
-        const ret = this.head.data;
-        if (this.length === 1) this.head = this.tail = null;
-        else this.head = this.head.next;
-        --this.length;
-        return ret;
+      return limits[name];
+    };
+  }
+});
+
+// node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js
+var require_HeaderParser = __commonJS({
+  "node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js"(exports2, module2) {
+    "use strict";
+    var EventEmitter = require("node:events").EventEmitter;
+    var inherits = require("node:util").inherits;
+    var getLimit = require_getLimit();
+    var StreamSearch = require_sbmh();
+    var B_DCRLF = Buffer.from("\r\n\r\n");
+    var RE_CRLF = /\r\n/g;
+    var RE_HDR = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/;
+    function HeaderParser(cfg) {
+      EventEmitter.call(this);
+      cfg = cfg || {};
+      const self2 = this;
+      this.nread = 0;
+      this.maxed = false;
+      this.npairs = 0;
+      this.maxHeaderPairs = getLimit(cfg, "maxHeaderPairs", 2e3);
+      this.maxHeaderSize = getLimit(cfg, "maxHeaderSize", 80 * 1024);
+      this.buffer = "";
+      this.header = {};
+      this.finished = false;
+      this.ss = new StreamSearch(B_DCRLF);
+      this.ss.on("info", function(isMatch, data, start, end) {
+        if (data && !self2.maxed) {
+          if (self2.nread + end - start >= self2.maxHeaderSize) {
+            end = self2.maxHeaderSize - self2.nread + start;
+            self2.nread = self2.maxHeaderSize;
+            self2.maxed = true;
+          } else {
+            self2.nread += end - start;
+          }
+          self2.buffer += data.toString("binary", start, end);
+        }
+        if (isMatch) {
+          self2._finish();
+        }
+      });
+    }
+    inherits(HeaderParser, EventEmitter);
+    HeaderParser.prototype.push = function(data) {
+      const r = this.ss.push(data);
+      if (this.finished) {
+        return r;
       }
-      clear() {
-        this.head = this.tail = null;
-        this.length = 0;
+    };
+    HeaderParser.prototype.reset = function() {
+      this.finished = false;
+      this.buffer = "";
+      this.header = {};
+      this.ss.reset();
+    };
+    HeaderParser.prototype._finish = function() {
+      if (this.buffer) {
+        this._parseHeader();
       }
-      join(s) {
-        if (this.length === 0) return "";
-        let p = this.head;
-        let ret = "" + p.data;
-        while ((p = p.next) !== null) ret += s + p.data;
-        return ret;
+      this.ss.matches = this.ss.maxMatches;
+      const header = this.header;
+      this.header = {};
+      this.buffer = "";
+      this.finished = true;
+      this.nread = this.npairs = 0;
+      this.maxed = false;
+      this.emit("header", header);
+    };
+    HeaderParser.prototype._parseHeader = function() {
+      if (this.npairs === this.maxHeaderPairs) {
+        return;
       }
-      concat(n) {
-        if (this.length === 0) return Buffer2.alloc(0);
-        const ret = Buffer2.allocUnsafe(n >>> 0);
-        let p = this.head;
-        let i = 0;
-        while (p) {
-          TypedArrayPrototypeSet(ret, p.data, i);
-          i += p.data.length;
-          p = p.next;
+      const lines = this.buffer.split(RE_CRLF);
+      const len = lines.length;
+      let m, h;
+      for (var i = 0; i < len; ++i) {
+        if (lines[i].length === 0) {
+          continue;
         }
-        return ret;
-      }
-      // Consumes a specified amount of bytes or characters from the buffered data.
-      consume(n, hasStrings) {
-        const data = this.head.data;
-        if (n < data.length) {
-          const slice = data.slice(0, n);
-          this.head.data = data.slice(n);
-          return slice;
+        if (lines[i][0] === "	" || lines[i][0] === " ") {
+          if (h) {
+            this.header[h][this.header[h].length - 1] += lines[i];
+            continue;
+          }
         }
-        if (n === data.length) {
-          return this.shift();
+        const posColon = lines[i].indexOf(":");
+        if (posColon === -1 || posColon === 0) {
+          return;
+        }
+        m = RE_HDR.exec(lines[i]);
+        h = m[1].toLowerCase();
+        this.header[h] = this.header[h] || [];
+        this.header[h].push(m[2] || "");
+        if (++this.npairs === this.maxHeaderPairs) {
+          break;
         }
-        return hasStrings ? this._getString(n) : this._getBuffer(n);
       }
-      first() {
-        return this.head.data;
+    };
+    module2.exports = HeaderParser;
+  }
+});
+
+// node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js
+var require_Dicer = __commonJS({
+  "node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js"(exports2, module2) {
+    "use strict";
+    var WritableStream = require("node:stream").Writable;
+    var inherits = require("node:util").inherits;
+    var StreamSearch = require_sbmh();
+    var PartStream = require_PartStream();
+    var HeaderParser = require_HeaderParser();
+    var DASH = 45;
+    var B_ONEDASH = Buffer.from("-");
+    var B_CRLF = Buffer.from("\r\n");
+    var EMPTY_FN = function() {
+    };
+    function Dicer(cfg) {
+      if (!(this instanceof Dicer)) {
+        return new Dicer(cfg);
       }
-      *[SymbolIterator]() {
-        for (let p = this.head; p; p = p.next) {
-          yield p.data;
+      WritableStream.call(this, cfg);
+      if (!cfg || !cfg.headerFirst && typeof cfg.boundary !== "string") {
+        throw new TypeError("Boundary required");
+      }
+      if (typeof cfg.boundary === "string") {
+        this.setBoundary(cfg.boundary);
+      } else {
+        this._bparser = void 0;
+      }
+      this._headerFirst = cfg.headerFirst;
+      this._dashes = 0;
+      this._parts = 0;
+      this._finished = false;
+      this._realFinish = false;
+      this._isPreamble = true;
+      this._justMatched = false;
+      this._firstWrite = true;
+      this._inHeader = true;
+      this._part = void 0;
+      this._cb = void 0;
+      this._ignoreData = false;
+      this._partOpts = { highWaterMark: cfg.partHwm };
+      this._pause = false;
+      const self2 = this;
+      this._hparser = new HeaderParser(cfg);
+      this._hparser.on("header", function(header) {
+        self2._inHeader = false;
+        self2._part.emit("header", header);
+      });
+    }
+    inherits(Dicer, WritableStream);
+    Dicer.prototype.emit = function(ev) {
+      if (ev === "finish" && !this._realFinish) {
+        if (!this._finished) {
+          const self2 = this;
+          process.nextTick(function() {
+            self2.emit("error", new Error("Unexpected end of multipart data"));
+            if (self2._part && !self2._ignoreData) {
+              const type2 = self2._isPreamble ? "Preamble" : "Part";
+              self2._part.emit("error", new Error(type2 + " terminated early due to unexpected end of multipart data"));
+              self2._part.push(null);
+              process.nextTick(function() {
+                self2._realFinish = true;
+                self2.emit("finish");
+                self2._realFinish = false;
+              });
+              return;
+            }
+            self2._realFinish = true;
+            self2.emit("finish");
+            self2._realFinish = false;
+          });
         }
+      } else {
+        WritableStream.prototype.emit.apply(this, arguments);
       }
-      // Consumes a specified amount of characters from the buffered data.
-      _getString(n) {
-        let ret = "";
-        let p = this.head;
-        let c = 0;
-        do {
-          const str2 = p.data;
-          if (n > str2.length) {
-            ret += str2;
-            n -= str2.length;
+    };
+    Dicer.prototype._write = function(data, encoding, cb) {
+      if (!this._hparser && !this._bparser) {
+        return cb();
+      }
+      if (this._headerFirst && this._isPreamble) {
+        if (!this._part) {
+          this._part = new PartStream(this._partOpts);
+          if (this.listenerCount("preamble") !== 0) {
+            this.emit("preamble", this._part);
           } else {
-            if (n === str2.length) {
-              ret += str2;
-              ++c;
-              if (p.next) this.head = p.next;
-              else this.head = this.tail = null;
-            } else {
-              ret += StringPrototypeSlice(str2, 0, n);
-              this.head = p;
-              p.data = StringPrototypeSlice(str2, n);
-            }
-            break;
+            this._ignore();
           }
-          ++c;
-        } while ((p = p.next) !== null);
-        this.length -= c;
-        return ret;
+        }
+        const r = this._hparser.push(data);
+        if (!this._inHeader && r !== void 0 && r < data.length) {
+          data = data.slice(r);
+        } else {
+          return cb();
+        }
       }
-      // Consumes a specified amount of bytes from the buffered data.
-      _getBuffer(n) {
-        const ret = Buffer2.allocUnsafe(n);
-        const retLen = n;
-        let p = this.head;
-        let c = 0;
-        do {
-          const buf = p.data;
-          if (n > buf.length) {
-            TypedArrayPrototypeSet(ret, buf, retLen - n);
-            n -= buf.length;
+      if (this._firstWrite) {
+        this._bparser.push(B_CRLF);
+        this._firstWrite = false;
+      }
+      this._bparser.push(data);
+      if (this._pause) {
+        this._cb = cb;
+      } else {
+        cb();
+      }
+    };
+    Dicer.prototype.reset = function() {
+      this._part = void 0;
+      this._bparser = void 0;
+      this._hparser = void 0;
+    };
+    Dicer.prototype.setBoundary = function(boundary) {
+      const self2 = this;
+      this._bparser = new StreamSearch("\r\n--" + boundary);
+      this._bparser.on("info", function(isMatch, data, start, end) {
+        self2._oninfo(isMatch, data, start, end);
+      });
+    };
+    Dicer.prototype._ignore = function() {
+      if (this._part && !this._ignoreData) {
+        this._ignoreData = true;
+        this._part.on("error", EMPTY_FN);
+        this._part.resume();
+      }
+    };
+    Dicer.prototype._oninfo = function(isMatch, data, start, end) {
+      let buf;
+      const self2 = this;
+      let i = 0;
+      let r;
+      let shouldWriteMore = true;
+      if (!this._part && this._justMatched && data) {
+        while (this._dashes < 2 && start + i < end) {
+          if (data[start + i] === DASH) {
+            ++i;
+            ++this._dashes;
           } else {
-            if (n === buf.length) {
-              TypedArrayPrototypeSet(ret, buf, retLen - n);
-              ++c;
-              if (p.next) this.head = p.next;
-              else this.head = this.tail = null;
-            } else {
-              TypedArrayPrototypeSet(ret, new Uint8Array2(buf.buffer, buf.byteOffset, n), retLen - n);
-              this.head = p;
-              p.data = buf.slice(n);
+            if (this._dashes) {
+              buf = B_ONEDASH;
             }
+            this._dashes = 0;
             break;
           }
-          ++c;
-        } while ((p = p.next) !== null);
-        this.length -= c;
-        return ret;
-      }
-      // Make sure the linked list only shows the minimal necessary information.
-      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")](_2, options) {
-        return inspect(this, {
-          ...options,
-          // Only inspect one level.
-          depth: 0,
-          // It should not recurse.
-          customInspect: false
-        });
+        }
+        if (this._dashes === 2) {
+          if (start + i < end && this.listenerCount("trailer") !== 0) {
+            this.emit("trailer", data.slice(start + i, end));
+          }
+          this.reset();
+          this._finished = true;
+          if (self2._parts === 0) {
+            self2._realFinish = true;
+            self2.emit("finish");
+            self2._realFinish = false;
+          }
+        }
+        if (this._dashes) {
+          return;
+        }
+      }
+      if (this._justMatched) {
+        this._justMatched = false;
+      }
+      if (!this._part) {
+        this._part = new PartStream(this._partOpts);
+        this._part._read = function(n) {
+          self2._unpause();
+        };
+        if (this._isPreamble && this.listenerCount("preamble") !== 0) {
+          this.emit("preamble", this._part);
+        } else if (this._isPreamble !== true && this.listenerCount("part") !== 0) {
+          this.emit("part", this._part);
+        } else {
+          this._ignore();
+        }
+        if (!this._isPreamble) {
+          this._inHeader = true;
+        }
+      }
+      if (data && start < end && !this._ignoreData) {
+        if (this._isPreamble || !this._inHeader) {
+          if (buf) {
+            shouldWriteMore = this._part.push(buf);
+          }
+          shouldWriteMore = this._part.push(data.slice(start, end));
+          if (!shouldWriteMore) {
+            this._pause = true;
+          }
+        } else if (!this._isPreamble && this._inHeader) {
+          if (buf) {
+            this._hparser.push(buf);
+          }
+          r = this._hparser.push(data.slice(start, end));
+          if (!this._inHeader && r !== void 0 && r < end) {
+            this._oninfo(false, data, start + r, end);
+          }
+        }
+      }
+      if (isMatch) {
+        this._hparser.reset();
+        if (this._isPreamble) {
+          this._isPreamble = false;
+        } else {
+          if (start !== end) {
+            ++this._parts;
+            this._part.on("end", function() {
+              if (--self2._parts === 0) {
+                if (self2._finished) {
+                  self2._realFinish = true;
+                  self2.emit("finish");
+                  self2._realFinish = false;
+                } else {
+                  self2._unpause();
+                }
+              }
+            });
+          }
+        }
+        this._part.push(null);
+        this._part = void 0;
+        this._ignoreData = false;
+        this._justMatched = true;
+        this._dashes = 0;
       }
     };
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/state.js
-var require_state3 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/state.js"(exports2, module2) {
-    "use strict";
-    var { MathFloor, NumberIsInteger } = require_primordials();
-    var { validateInteger } = require_validators();
-    var { ERR_INVALID_ARG_VALUE } = require_errors5().codes;
-    var defaultHighWaterMarkBytes = 16 * 1024;
-    var defaultHighWaterMarkObjectMode = 16;
-    function highWaterMarkFrom(options, isDuplex, duplexKey) {
-      return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;
-    }
-    function getDefaultHighWaterMark(objectMode) {
-      return objectMode ? defaultHighWaterMarkObjectMode : defaultHighWaterMarkBytes;
-    }
-    function setDefaultHighWaterMark(objectMode, value) {
-      validateInteger(value, "value", 0);
-      if (objectMode) {
-        defaultHighWaterMarkObjectMode = value;
-      } else {
-        defaultHighWaterMarkBytes = value;
+    Dicer.prototype._unpause = function() {
+      if (!this._pause) {
+        return;
       }
-    }
-    function getHighWaterMark(state, options, duplexKey, isDuplex) {
-      const hwm = highWaterMarkFrom(options, isDuplex, duplexKey);
-      if (hwm != null) {
-        if (!NumberIsInteger(hwm) || hwm < 0) {
-          const name = isDuplex ? `options.${duplexKey}` : "options.highWaterMark";
-          throw new ERR_INVALID_ARG_VALUE(name, hwm);
-        }
-        return MathFloor(hwm);
+      this._pause = false;
+      if (this._cb) {
+        const cb = this._cb;
+        this._cb = void 0;
+        cb();
       }
-      return getDefaultHighWaterMark(state.objectMode);
-    }
-    module2.exports = {
-      getHighWaterMark,
-      getDefaultHighWaterMark,
-      setDefaultHighWaterMark
     };
+    module2.exports = Dicer;
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/from.js
-var require_from = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/from.js"(exports2, module2) {
+// node_modules/@fastify/busboy/lib/utils/decodeText.js
+var require_decodeText = __commonJS({
+  "node_modules/@fastify/busboy/lib/utils/decodeText.js"(exports2, module2) {
     "use strict";
-    var process2 = require_process();
-    var { PromisePrototypeThen, SymbolAsyncIterator, SymbolIterator } = require_primordials();
-    var { Buffer: Buffer2 } = require("buffer");
-    var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_NULL_VALUES } = require_errors5().codes;
-    function from(Readable2, iterable, opts) {
-      let iterator2;
-      if (typeof iterable === "string" || iterable instanceof Buffer2) {
-        return new Readable2({
-          objectMode: true,
-          ...opts,
-          read() {
-            this.push(iterable);
-            this.push(null);
-          }
-        });
-      }
-      let isAsync;
-      if (iterable && iterable[SymbolAsyncIterator]) {
-        isAsync = true;
-        iterator2 = iterable[SymbolAsyncIterator]();
-      } else if (iterable && iterable[SymbolIterator]) {
-        isAsync = false;
-        iterator2 = iterable[SymbolIterator]();
-      } else {
-        throw new ERR_INVALID_ARG_TYPE2("iterable", ["Iterable"], iterable);
+    var utf8Decoder = new TextDecoder("utf-8");
+    var textDecoders = /* @__PURE__ */ new Map([
+      ["utf-8", utf8Decoder],
+      ["utf8", utf8Decoder]
+    ]);
+    function getDecoder(charset) {
+      let lc;
+      while (true) {
+        switch (charset) {
+          case "utf-8":
+          case "utf8":
+            return decoders.utf8;
+          case "latin1":
+          case "ascii":
+          // TODO: Make these a separate, strict decoder?
+          case "us-ascii":
+          case "iso-8859-1":
+          case "iso8859-1":
+          case "iso88591":
+          case "iso_8859-1":
+          case "windows-1252":
+          case "iso_8859-1:1987":
+          case "cp1252":
+          case "x-cp1252":
+            return decoders.latin1;
+          case "utf16le":
+          case "utf-16le":
+          case "ucs2":
+          case "ucs-2":
+            return decoders.utf16le;
+          case "base64":
+            return decoders.base64;
+          default:
+            if (lc === void 0) {
+              lc = true;
+              charset = charset.toLowerCase();
+              continue;
+            }
+            return decoders.other.bind(charset);
+        }
       }
-      const readable = new Readable2({
-        objectMode: true,
-        highWaterMark: 1,
-        // TODO(ronag): What options should be allowed?
-        ...opts
-      });
-      let reading = false;
-      readable._read = function() {
-        if (!reading) {
-          reading = true;
-          next();
+    }
+    var decoders = {
+      utf8: (data, sourceEncoding) => {
+        if (data.length === 0) {
+          return "";
         }
-      };
-      readable._destroy = function(error3, cb) {
-        PromisePrototypeThen(
-          close(error3),
-          () => process2.nextTick(cb, error3),
-          // nextTick is here in case cb throws
-          (e) => process2.nextTick(cb, e || error3)
-        );
-      };
-      async function close(error3) {
-        const hadError = error3 !== void 0 && error3 !== null;
-        const hasThrow = typeof iterator2.throw === "function";
-        if (hadError && hasThrow) {
-          const { value, done } = await iterator2.throw(error3);
-          await value;
-          if (done) {
-            return;
-          }
+        if (typeof data === "string") {
+          data = Buffer.from(data, sourceEncoding);
         }
-        if (typeof iterator2.return === "function") {
-          const { value } = await iterator2.return();
-          await value;
+        return data.utf8Slice(0, data.length);
+      },
+      latin1: (data, sourceEncoding) => {
+        if (data.length === 0) {
+          return "";
         }
-      }
-      async function next() {
-        for (; ; ) {
+        if (typeof data === "string") {
+          return data;
+        }
+        return data.latin1Slice(0, data.length);
+      },
+      utf16le: (data, sourceEncoding) => {
+        if (data.length === 0) {
+          return "";
+        }
+        if (typeof data === "string") {
+          data = Buffer.from(data, sourceEncoding);
+        }
+        return data.ucs2Slice(0, data.length);
+      },
+      base64: (data, sourceEncoding) => {
+        if (data.length === 0) {
+          return "";
+        }
+        if (typeof data === "string") {
+          data = Buffer.from(data, sourceEncoding);
+        }
+        return data.base64Slice(0, data.length);
+      },
+      other: (data, sourceEncoding) => {
+        if (data.length === 0) {
+          return "";
+        }
+        if (typeof data === "string") {
+          data = Buffer.from(data, sourceEncoding);
+        }
+        if (textDecoders.has(exports2.toString())) {
           try {
-            const { value, done } = isAsync ? await iterator2.next() : iterator2.next();
-            if (done) {
-              readable.push(null);
-            } else {
-              const res = value && typeof value.then === "function" ? await value : value;
-              if (res === null) {
-                reading = false;
-                throw new ERR_STREAM_NULL_VALUES();
-              } else if (readable.push(res)) {
-                continue;
-              } else {
-                reading = false;
-              }
-            }
-          } catch (err) {
-            readable.destroy(err);
+            return textDecoders.get(exports2).decode(data);
+          } catch {
           }
-          break;
         }
+        return typeof data === "string" ? data : data.toString();
       }
-      return readable;
+    };
+    function decodeText(text, sourceEncoding, destEncoding) {
+      if (text) {
+        return getDecoder(destEncoding)(text, sourceEncoding);
+      }
+      return text;
     }
-    module2.exports = from;
+    module2.exports = decodeText;
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/readable.js
-var require_readable4 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/readable.js"(exports2, module2) {
-    var process2 = require_process();
-    var {
-      ArrayPrototypeIndexOf,
-      NumberIsInteger,
-      NumberIsNaN,
-      NumberParseInt,
-      ObjectDefineProperties,
-      ObjectKeys,
-      ObjectSetPrototypeOf,
-      Promise: Promise2,
-      SafeSet,
-      SymbolAsyncDispose,
-      SymbolAsyncIterator,
-      Symbol: Symbol2
-    } = require_primordials();
-    module2.exports = Readable2;
-    Readable2.ReadableState = ReadableState;
-    var { EventEmitter: EE } = require("events");
-    var { Stream, prependListener } = require_legacy();
-    var { Buffer: Buffer2 } = require("buffer");
-    var { addAbortSignal } = require_add_abort_signal();
-    var eos = require_end_of_stream();
-    var debug5 = require_util20().debuglog("stream", (fn) => {
-      debug5 = fn;
-    });
-    var BufferList = require_buffer_list();
-    var destroyImpl = require_destroy2();
-    var { getHighWaterMark, getDefaultHighWaterMark } = require_state3();
-    var {
-      aggregateTwoErrors,
-      codes: {
-        ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,
-        ERR_METHOD_NOT_IMPLEMENTED,
-        ERR_OUT_OF_RANGE,
-        ERR_STREAM_PUSH_AFTER_EOF,
-        ERR_STREAM_UNSHIFT_AFTER_END_EVENT
-      },
-      AbortError
-    } = require_errors5();
-    var { validateObject } = require_validators();
-    var kPaused = Symbol2("kPaused");
-    var { StringDecoder } = require("string_decoder");
-    var from = require_from();
-    ObjectSetPrototypeOf(Readable2.prototype, Stream.prototype);
-    ObjectSetPrototypeOf(Readable2, Stream);
-    var nop = () => {
+// node_modules/@fastify/busboy/lib/utils/parseParams.js
+var require_parseParams = __commonJS({
+  "node_modules/@fastify/busboy/lib/utils/parseParams.js"(exports2, module2) {
+    "use strict";
+    var decodeText = require_decodeText();
+    var RE_ENCODED = /%[a-fA-F0-9][a-fA-F0-9]/g;
+    var EncodedLookup = {
+      "%00": "\0",
+      "%01": "",
+      "%02": "",
+      "%03": "",
+      "%04": "",
+      "%05": "",
+      "%06": "",
+      "%07": "\x07",
+      "%08": "\b",
+      "%09": "	",
+      "%0a": "\n",
+      "%0A": "\n",
+      "%0b": "\v",
+      "%0B": "\v",
+      "%0c": "\f",
+      "%0C": "\f",
+      "%0d": "\r",
+      "%0D": "\r",
+      "%0e": "",
+      "%0E": "",
+      "%0f": "",
+      "%0F": "",
+      "%10": "",
+      "%11": "",
+      "%12": "",
+      "%13": "",
+      "%14": "",
+      "%15": "",
+      "%16": "",
+      "%17": "",
+      "%18": "",
+      "%19": "",
+      "%1a": "",
+      "%1A": "",
+      "%1b": "\x1B",
+      "%1B": "\x1B",
+      "%1c": "",
+      "%1C": "",
+      "%1d": "",
+      "%1D": "",
+      "%1e": "",
+      "%1E": "",
+      "%1f": "",
+      "%1F": "",
+      "%20": " ",
+      "%21": "!",
+      "%22": '"',
+      "%23": "#",
+      "%24": "$",
+      "%25": "%",
+      "%26": "&",
+      "%27": "'",
+      "%28": "(",
+      "%29": ")",
+      "%2a": "*",
+      "%2A": "*",
+      "%2b": "+",
+      "%2B": "+",
+      "%2c": ",",
+      "%2C": ",",
+      "%2d": "-",
+      "%2D": "-",
+      "%2e": ".",
+      "%2E": ".",
+      "%2f": "/",
+      "%2F": "/",
+      "%30": "0",
+      "%31": "1",
+      "%32": "2",
+      "%33": "3",
+      "%34": "4",
+      "%35": "5",
+      "%36": "6",
+      "%37": "7",
+      "%38": "8",
+      "%39": "9",
+      "%3a": ":",
+      "%3A": ":",
+      "%3b": ";",
+      "%3B": ";",
+      "%3c": "<",
+      "%3C": "<",
+      "%3d": "=",
+      "%3D": "=",
+      "%3e": ">",
+      "%3E": ">",
+      "%3f": "?",
+      "%3F": "?",
+      "%40": "@",
+      "%41": "A",
+      "%42": "B",
+      "%43": "C",
+      "%44": "D",
+      "%45": "E",
+      "%46": "F",
+      "%47": "G",
+      "%48": "H",
+      "%49": "I",
+      "%4a": "J",
+      "%4A": "J",
+      "%4b": "K",
+      "%4B": "K",
+      "%4c": "L",
+      "%4C": "L",
+      "%4d": "M",
+      "%4D": "M",
+      "%4e": "N",
+      "%4E": "N",
+      "%4f": "O",
+      "%4F": "O",
+      "%50": "P",
+      "%51": "Q",
+      "%52": "R",
+      "%53": "S",
+      "%54": "T",
+      "%55": "U",
+      "%56": "V",
+      "%57": "W",
+      "%58": "X",
+      "%59": "Y",
+      "%5a": "Z",
+      "%5A": "Z",
+      "%5b": "[",
+      "%5B": "[",
+      "%5c": "\\",
+      "%5C": "\\",
+      "%5d": "]",
+      "%5D": "]",
+      "%5e": "^",
+      "%5E": "^",
+      "%5f": "_",
+      "%5F": "_",
+      "%60": "`",
+      "%61": "a",
+      "%62": "b",
+      "%63": "c",
+      "%64": "d",
+      "%65": "e",
+      "%66": "f",
+      "%67": "g",
+      "%68": "h",
+      "%69": "i",
+      "%6a": "j",
+      "%6A": "j",
+      "%6b": "k",
+      "%6B": "k",
+      "%6c": "l",
+      "%6C": "l",
+      "%6d": "m",
+      "%6D": "m",
+      "%6e": "n",
+      "%6E": "n",
+      "%6f": "o",
+      "%6F": "o",
+      "%70": "p",
+      "%71": "q",
+      "%72": "r",
+      "%73": "s",
+      "%74": "t",
+      "%75": "u",
+      "%76": "v",
+      "%77": "w",
+      "%78": "x",
+      "%79": "y",
+      "%7a": "z",
+      "%7A": "z",
+      "%7b": "{",
+      "%7B": "{",
+      "%7c": "|",
+      "%7C": "|",
+      "%7d": "}",
+      "%7D": "}",
+      "%7e": "~",
+      "%7E": "~",
+      "%7f": "\x7F",
+      "%7F": "\x7F",
+      "%80": "\x80",
+      "%81": "\x81",
+      "%82": "\x82",
+      "%83": "\x83",
+      "%84": "\x84",
+      "%85": "\x85",
+      "%86": "\x86",
+      "%87": "\x87",
+      "%88": "\x88",
+      "%89": "\x89",
+      "%8a": "\x8A",
+      "%8A": "\x8A",
+      "%8b": "\x8B",
+      "%8B": "\x8B",
+      "%8c": "\x8C",
+      "%8C": "\x8C",
+      "%8d": "\x8D",
+      "%8D": "\x8D",
+      "%8e": "\x8E",
+      "%8E": "\x8E",
+      "%8f": "\x8F",
+      "%8F": "\x8F",
+      "%90": "\x90",
+      "%91": "\x91",
+      "%92": "\x92",
+      "%93": "\x93",
+      "%94": "\x94",
+      "%95": "\x95",
+      "%96": "\x96",
+      "%97": "\x97",
+      "%98": "\x98",
+      "%99": "\x99",
+      "%9a": "\x9A",
+      "%9A": "\x9A",
+      "%9b": "\x9B",
+      "%9B": "\x9B",
+      "%9c": "\x9C",
+      "%9C": "\x9C",
+      "%9d": "\x9D",
+      "%9D": "\x9D",
+      "%9e": "\x9E",
+      "%9E": "\x9E",
+      "%9f": "\x9F",
+      "%9F": "\x9F",
+      "%a0": "\xA0",
+      "%A0": "\xA0",
+      "%a1": "\xA1",
+      "%A1": "\xA1",
+      "%a2": "\xA2",
+      "%A2": "\xA2",
+      "%a3": "\xA3",
+      "%A3": "\xA3",
+      "%a4": "\xA4",
+      "%A4": "\xA4",
+      "%a5": "\xA5",
+      "%A5": "\xA5",
+      "%a6": "\xA6",
+      "%A6": "\xA6",
+      "%a7": "\xA7",
+      "%A7": "\xA7",
+      "%a8": "\xA8",
+      "%A8": "\xA8",
+      "%a9": "\xA9",
+      "%A9": "\xA9",
+      "%aa": "\xAA",
+      "%Aa": "\xAA",
+      "%aA": "\xAA",
+      "%AA": "\xAA",
+      "%ab": "\xAB",
+      "%Ab": "\xAB",
+      "%aB": "\xAB",
+      "%AB": "\xAB",
+      "%ac": "\xAC",
+      "%Ac": "\xAC",
+      "%aC": "\xAC",
+      "%AC": "\xAC",
+      "%ad": "\xAD",
+      "%Ad": "\xAD",
+      "%aD": "\xAD",
+      "%AD": "\xAD",
+      "%ae": "\xAE",
+      "%Ae": "\xAE",
+      "%aE": "\xAE",
+      "%AE": "\xAE",
+      "%af": "\xAF",
+      "%Af": "\xAF",
+      "%aF": "\xAF",
+      "%AF": "\xAF",
+      "%b0": "\xB0",
+      "%B0": "\xB0",
+      "%b1": "\xB1",
+      "%B1": "\xB1",
+      "%b2": "\xB2",
+      "%B2": "\xB2",
+      "%b3": "\xB3",
+      "%B3": "\xB3",
+      "%b4": "\xB4",
+      "%B4": "\xB4",
+      "%b5": "\xB5",
+      "%B5": "\xB5",
+      "%b6": "\xB6",
+      "%B6": "\xB6",
+      "%b7": "\xB7",
+      "%B7": "\xB7",
+      "%b8": "\xB8",
+      "%B8": "\xB8",
+      "%b9": "\xB9",
+      "%B9": "\xB9",
+      "%ba": "\xBA",
+      "%Ba": "\xBA",
+      "%bA": "\xBA",
+      "%BA": "\xBA",
+      "%bb": "\xBB",
+      "%Bb": "\xBB",
+      "%bB": "\xBB",
+      "%BB": "\xBB",
+      "%bc": "\xBC",
+      "%Bc": "\xBC",
+      "%bC": "\xBC",
+      "%BC": "\xBC",
+      "%bd": "\xBD",
+      "%Bd": "\xBD",
+      "%bD": "\xBD",
+      "%BD": "\xBD",
+      "%be": "\xBE",
+      "%Be": "\xBE",
+      "%bE": "\xBE",
+      "%BE": "\xBE",
+      "%bf": "\xBF",
+      "%Bf": "\xBF",
+      "%bF": "\xBF",
+      "%BF": "\xBF",
+      "%c0": "\xC0",
+      "%C0": "\xC0",
+      "%c1": "\xC1",
+      "%C1": "\xC1",
+      "%c2": "\xC2",
+      "%C2": "\xC2",
+      "%c3": "\xC3",
+      "%C3": "\xC3",
+      "%c4": "\xC4",
+      "%C4": "\xC4",
+      "%c5": "\xC5",
+      "%C5": "\xC5",
+      "%c6": "\xC6",
+      "%C6": "\xC6",
+      "%c7": "\xC7",
+      "%C7": "\xC7",
+      "%c8": "\xC8",
+      "%C8": "\xC8",
+      "%c9": "\xC9",
+      "%C9": "\xC9",
+      "%ca": "\xCA",
+      "%Ca": "\xCA",
+      "%cA": "\xCA",
+      "%CA": "\xCA",
+      "%cb": "\xCB",
+      "%Cb": "\xCB",
+      "%cB": "\xCB",
+      "%CB": "\xCB",
+      "%cc": "\xCC",
+      "%Cc": "\xCC",
+      "%cC": "\xCC",
+      "%CC": "\xCC",
+      "%cd": "\xCD",
+      "%Cd": "\xCD",
+      "%cD": "\xCD",
+      "%CD": "\xCD",
+      "%ce": "\xCE",
+      "%Ce": "\xCE",
+      "%cE": "\xCE",
+      "%CE": "\xCE",
+      "%cf": "\xCF",
+      "%Cf": "\xCF",
+      "%cF": "\xCF",
+      "%CF": "\xCF",
+      "%d0": "\xD0",
+      "%D0": "\xD0",
+      "%d1": "\xD1",
+      "%D1": "\xD1",
+      "%d2": "\xD2",
+      "%D2": "\xD2",
+      "%d3": "\xD3",
+      "%D3": "\xD3",
+      "%d4": "\xD4",
+      "%D4": "\xD4",
+      "%d5": "\xD5",
+      "%D5": "\xD5",
+      "%d6": "\xD6",
+      "%D6": "\xD6",
+      "%d7": "\xD7",
+      "%D7": "\xD7",
+      "%d8": "\xD8",
+      "%D8": "\xD8",
+      "%d9": "\xD9",
+      "%D9": "\xD9",
+      "%da": "\xDA",
+      "%Da": "\xDA",
+      "%dA": "\xDA",
+      "%DA": "\xDA",
+      "%db": "\xDB",
+      "%Db": "\xDB",
+      "%dB": "\xDB",
+      "%DB": "\xDB",
+      "%dc": "\xDC",
+      "%Dc": "\xDC",
+      "%dC": "\xDC",
+      "%DC": "\xDC",
+      "%dd": "\xDD",
+      "%Dd": "\xDD",
+      "%dD": "\xDD",
+      "%DD": "\xDD",
+      "%de": "\xDE",
+      "%De": "\xDE",
+      "%dE": "\xDE",
+      "%DE": "\xDE",
+      "%df": "\xDF",
+      "%Df": "\xDF",
+      "%dF": "\xDF",
+      "%DF": "\xDF",
+      "%e0": "\xE0",
+      "%E0": "\xE0",
+      "%e1": "\xE1",
+      "%E1": "\xE1",
+      "%e2": "\xE2",
+      "%E2": "\xE2",
+      "%e3": "\xE3",
+      "%E3": "\xE3",
+      "%e4": "\xE4",
+      "%E4": "\xE4",
+      "%e5": "\xE5",
+      "%E5": "\xE5",
+      "%e6": "\xE6",
+      "%E6": "\xE6",
+      "%e7": "\xE7",
+      "%E7": "\xE7",
+      "%e8": "\xE8",
+      "%E8": "\xE8",
+      "%e9": "\xE9",
+      "%E9": "\xE9",
+      "%ea": "\xEA",
+      "%Ea": "\xEA",
+      "%eA": "\xEA",
+      "%EA": "\xEA",
+      "%eb": "\xEB",
+      "%Eb": "\xEB",
+      "%eB": "\xEB",
+      "%EB": "\xEB",
+      "%ec": "\xEC",
+      "%Ec": "\xEC",
+      "%eC": "\xEC",
+      "%EC": "\xEC",
+      "%ed": "\xED",
+      "%Ed": "\xED",
+      "%eD": "\xED",
+      "%ED": "\xED",
+      "%ee": "\xEE",
+      "%Ee": "\xEE",
+      "%eE": "\xEE",
+      "%EE": "\xEE",
+      "%ef": "\xEF",
+      "%Ef": "\xEF",
+      "%eF": "\xEF",
+      "%EF": "\xEF",
+      "%f0": "\xF0",
+      "%F0": "\xF0",
+      "%f1": "\xF1",
+      "%F1": "\xF1",
+      "%f2": "\xF2",
+      "%F2": "\xF2",
+      "%f3": "\xF3",
+      "%F3": "\xF3",
+      "%f4": "\xF4",
+      "%F4": "\xF4",
+      "%f5": "\xF5",
+      "%F5": "\xF5",
+      "%f6": "\xF6",
+      "%F6": "\xF6",
+      "%f7": "\xF7",
+      "%F7": "\xF7",
+      "%f8": "\xF8",
+      "%F8": "\xF8",
+      "%f9": "\xF9",
+      "%F9": "\xF9",
+      "%fa": "\xFA",
+      "%Fa": "\xFA",
+      "%fA": "\xFA",
+      "%FA": "\xFA",
+      "%fb": "\xFB",
+      "%Fb": "\xFB",
+      "%fB": "\xFB",
+      "%FB": "\xFB",
+      "%fc": "\xFC",
+      "%Fc": "\xFC",
+      "%fC": "\xFC",
+      "%FC": "\xFC",
+      "%fd": "\xFD",
+      "%Fd": "\xFD",
+      "%fD": "\xFD",
+      "%FD": "\xFD",
+      "%fe": "\xFE",
+      "%Fe": "\xFE",
+      "%fE": "\xFE",
+      "%FE": "\xFE",
+      "%ff": "\xFF",
+      "%Ff": "\xFF",
+      "%fF": "\xFF",
+      "%FF": "\xFF"
     };
-    var { errorOrDestroy } = destroyImpl;
-    var kObjectMode = 1 << 0;
-    var kEnded = 1 << 1;
-    var kEndEmitted = 1 << 2;
-    var kReading = 1 << 3;
-    var kConstructed = 1 << 4;
-    var kSync = 1 << 5;
-    var kNeedReadable = 1 << 6;
-    var kEmittedReadable = 1 << 7;
-    var kReadableListening = 1 << 8;
-    var kResumeScheduled = 1 << 9;
-    var kErrorEmitted = 1 << 10;
-    var kEmitClose = 1 << 11;
-    var kAutoDestroy = 1 << 12;
-    var kDestroyed = 1 << 13;
-    var kClosed = 1 << 14;
-    var kCloseEmitted = 1 << 15;
-    var kMultiAwaitDrain = 1 << 16;
-    var kReadingMore = 1 << 17;
-    var kDataEmitted = 1 << 18;
-    function makeBitMapDescriptor(bit) {
-      return {
-        enumerable: false,
-        get() {
-          return (this.state & bit) !== 0;
-        },
-        set(value) {
-          if (value) this.state |= bit;
-          else this.state &= ~bit;
-        }
-      };
-    }
-    ObjectDefineProperties(ReadableState.prototype, {
-      objectMode: makeBitMapDescriptor(kObjectMode),
-      ended: makeBitMapDescriptor(kEnded),
-      endEmitted: makeBitMapDescriptor(kEndEmitted),
-      reading: makeBitMapDescriptor(kReading),
-      // Stream is still being constructed and cannot be
-      // destroyed until construction finished or failed.
-      // Async construction is opt in, therefore we start as
-      // constructed.
-      constructed: makeBitMapDescriptor(kConstructed),
-      // A flag to be able to tell if the event 'readable'/'data' is emitted
-      // immediately, or on a later tick.  We set this to true at first, because
-      // any actions that shouldn't happen until "later" should generally also
-      // not happen before the first read call.
-      sync: makeBitMapDescriptor(kSync),
-      // Whenever we return null, then we set a flag to say
-      // that we're awaiting a 'readable' event emission.
-      needReadable: makeBitMapDescriptor(kNeedReadable),
-      emittedReadable: makeBitMapDescriptor(kEmittedReadable),
-      readableListening: makeBitMapDescriptor(kReadableListening),
-      resumeScheduled: makeBitMapDescriptor(kResumeScheduled),
-      // True if the error was already emitted and should not be thrown again.
-      errorEmitted: makeBitMapDescriptor(kErrorEmitted),
-      emitClose: makeBitMapDescriptor(kEmitClose),
-      autoDestroy: makeBitMapDescriptor(kAutoDestroy),
-      // Has it been destroyed.
-      destroyed: makeBitMapDescriptor(kDestroyed),
-      // Indicates whether the stream has finished destroying.
-      closed: makeBitMapDescriptor(kClosed),
-      // True if close has been emitted or would have been emitted
-      // depending on emitClose.
-      closeEmitted: makeBitMapDescriptor(kCloseEmitted),
-      multiAwaitDrain: makeBitMapDescriptor(kMultiAwaitDrain),
-      // If true, a maybeReadMore has been scheduled.
-      readingMore: makeBitMapDescriptor(kReadingMore),
-      dataEmitted: makeBitMapDescriptor(kDataEmitted)
-    });
-    function ReadableState(options, stream2, isDuplex) {
-      if (typeof isDuplex !== "boolean") isDuplex = stream2 instanceof require_duplex();
-      this.state = kEmitClose | kAutoDestroy | kConstructed | kSync;
-      if (options && options.objectMode) this.state |= kObjectMode;
-      if (isDuplex && options && options.readableObjectMode) this.state |= kObjectMode;
-      this.highWaterMark = options ? getHighWaterMark(this, options, "readableHighWaterMark", isDuplex) : getDefaultHighWaterMark(false);
-      this.buffer = new BufferList();
-      this.length = 0;
-      this.pipes = [];
-      this.flowing = null;
-      this[kPaused] = null;
-      if (options && options.emitClose === false) this.state &= ~kEmitClose;
-      if (options && options.autoDestroy === false) this.state &= ~kAutoDestroy;
-      this.errored = null;
-      this.defaultEncoding = options && options.defaultEncoding || "utf8";
-      this.awaitDrainWriters = null;
-      this.decoder = null;
-      this.encoding = null;
-      if (options && options.encoding) {
-        this.decoder = new StringDecoder(options.encoding);
-        this.encoding = options.encoding;
-      }
-    }
-    function Readable2(options) {
-      if (!(this instanceof Readable2)) return new Readable2(options);
-      const isDuplex = this instanceof require_duplex();
-      this._readableState = new ReadableState(options, this, isDuplex);
-      if (options) {
-        if (typeof options.read === "function") this._read = options.read;
-        if (typeof options.destroy === "function") this._destroy = options.destroy;
-        if (typeof options.construct === "function") this._construct = options.construct;
-        if (options.signal && !isDuplex) addAbortSignal(options.signal, this);
-      }
-      Stream.call(this, options);
-      destroyImpl.construct(this, () => {
-        if (this._readableState.needReadable) {
-          maybeReadMore(this, this._readableState);
-        }
-      });
+    function encodedReplacer(match) {
+      return EncodedLookup[match];
     }
-    Readable2.prototype.destroy = destroyImpl.destroy;
-    Readable2.prototype._undestroy = destroyImpl.undestroy;
-    Readable2.prototype._destroy = function(err, cb) {
-      cb(err);
-    };
-    Readable2.prototype[EE.captureRejectionSymbol] = function(err) {
-      this.destroy(err);
-    };
-    Readable2.prototype[SymbolAsyncDispose] = function() {
-      let error3;
-      if (!this.destroyed) {
-        error3 = this.readableEnded ? null : new AbortError();
-        this.destroy(error3);
-      }
-      return new Promise2((resolve8, reject) => eos(this, (err) => err && err !== error3 ? reject(err) : resolve8(null)));
-    };
-    Readable2.prototype.push = function(chunk, encoding) {
-      return readableAddChunk(this, chunk, encoding, false);
-    };
-    Readable2.prototype.unshift = function(chunk, encoding) {
-      return readableAddChunk(this, chunk, encoding, true);
-    };
-    function readableAddChunk(stream2, chunk, encoding, addToFront) {
-      debug5("readableAddChunk", chunk);
-      const state = stream2._readableState;
-      let err;
-      if ((state.state & kObjectMode) === 0) {
-        if (typeof chunk === "string") {
-          encoding = encoding || state.defaultEncoding;
-          if (state.encoding !== encoding) {
-            if (addToFront && state.encoding) {
-              chunk = Buffer2.from(chunk, encoding).toString(state.encoding);
+    var STATE_KEY = 0;
+    var STATE_VALUE = 1;
+    var STATE_CHARSET = 2;
+    var STATE_LANG = 3;
+    function parseParams(str2) {
+      const res = [];
+      let state = STATE_KEY;
+      let charset = "";
+      let inquote = false;
+      let escaping = false;
+      let p = 0;
+      let tmp = "";
+      const len = str2.length;
+      for (var i = 0; i < len; ++i) {
+        const char = str2[i];
+        if (char === "\\" && inquote) {
+          if (escaping) {
+            escaping = false;
+          } else {
+            escaping = true;
+            continue;
+          }
+        } else if (char === '"') {
+          if (!escaping) {
+            if (inquote) {
+              inquote = false;
+              state = STATE_KEY;
             } else {
-              chunk = Buffer2.from(chunk, encoding);
-              encoding = "";
+              inquote = true;
             }
+            continue;
+          } else {
+            escaping = false;
           }
-        } else if (chunk instanceof Buffer2) {
-          encoding = "";
-        } else if (Stream._isUint8Array(chunk)) {
-          chunk = Stream._uint8ArrayToBuffer(chunk);
-          encoding = "";
-        } else if (chunk != null) {
-          err = new ERR_INVALID_ARG_TYPE2("chunk", ["string", "Buffer", "Uint8Array"], chunk);
-        }
-      }
-      if (err) {
-        errorOrDestroy(stream2, err);
-      } else if (chunk === null) {
-        state.state &= ~kReading;
-        onEofChunk(stream2, state);
-      } else if ((state.state & kObjectMode) !== 0 || chunk && chunk.length > 0) {
-        if (addToFront) {
-          if ((state.state & kEndEmitted) !== 0) errorOrDestroy(stream2, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());
-          else if (state.destroyed || state.errored) return false;
-          else addChunk(stream2, state, chunk, true);
-        } else if (state.ended) {
-          errorOrDestroy(stream2, new ERR_STREAM_PUSH_AFTER_EOF());
-        } else if (state.destroyed || state.errored) {
-          return false;
         } else {
-          state.state &= ~kReading;
-          if (state.decoder && !encoding) {
-            chunk = state.decoder.write(chunk);
-            if (state.objectMode || chunk.length !== 0) addChunk(stream2, state, chunk, false);
-            else maybeReadMore(stream2, state);
-          } else {
-            addChunk(stream2, state, chunk, false);
+          if (escaping && inquote) {
+            tmp += "\\";
+          }
+          escaping = false;
+          if ((state === STATE_CHARSET || state === STATE_LANG) && char === "'") {
+            if (state === STATE_CHARSET) {
+              state = STATE_LANG;
+              charset = tmp.substring(1);
+            } else {
+              state = STATE_VALUE;
+            }
+            tmp = "";
+            continue;
+          } else if (state === STATE_KEY && (char === "*" || char === "=") && res.length) {
+            state = char === "*" ? STATE_CHARSET : STATE_VALUE;
+            res[p] = [tmp, void 0];
+            tmp = "";
+            continue;
+          } else if (!inquote && char === ";") {
+            state = STATE_KEY;
+            if (charset) {
+              if (tmp.length) {
+                tmp = decodeText(
+                  tmp.replace(RE_ENCODED, encodedReplacer),
+                  "binary",
+                  charset
+                );
+              }
+              charset = "";
+            } else if (tmp.length) {
+              tmp = decodeText(tmp, "binary", "utf8");
+            }
+            if (res[p] === void 0) {
+              res[p] = tmp;
+            } else {
+              res[p][1] = tmp;
+            }
+            tmp = "";
+            ++p;
+            continue;
+          } else if (!inquote && (char === " " || char === "	")) {
+            continue;
           }
         }
-      } else if (!addToFront) {
-        state.state &= ~kReading;
-        maybeReadMore(stream2, state);
-      }
-      return !state.ended && (state.length < state.highWaterMark || state.length === 0);
-    }
-    function addChunk(stream2, state, chunk, addToFront) {
-      if (state.flowing && state.length === 0 && !state.sync && stream2.listenerCount("data") > 0) {
-        if ((state.state & kMultiAwaitDrain) !== 0) {
-          state.awaitDrainWriters.clear();
-        } else {
-          state.awaitDrainWriters = null;
-        }
-        state.dataEmitted = true;
-        stream2.emit("data", chunk);
-      } else {
-        state.length += state.objectMode ? 1 : chunk.length;
-        if (addToFront) state.buffer.unshift(chunk);
-        else state.buffer.push(chunk);
-        if ((state.state & kNeedReadable) !== 0) emitReadable(stream2);
+        tmp += char;
       }
-      maybeReadMore(stream2, state);
-    }
-    Readable2.prototype.isPaused = function() {
-      const state = this._readableState;
-      return state[kPaused] === true || state.flowing === false;
-    };
-    Readable2.prototype.setEncoding = function(enc) {
-      const decoder = new StringDecoder(enc);
-      this._readableState.decoder = decoder;
-      this._readableState.encoding = this._readableState.decoder.encoding;
-      const buffer = this._readableState.buffer;
-      let content = "";
-      for (const data of buffer) {
-        content += decoder.write(data);
+      if (charset && tmp.length) {
+        tmp = decodeText(
+          tmp.replace(RE_ENCODED, encodedReplacer),
+          "binary",
+          charset
+        );
+      } else if (tmp) {
+        tmp = decodeText(tmp, "binary", "utf8");
       }
-      buffer.clear();
-      if (content !== "") buffer.push(content);
-      this._readableState.length = content.length;
-      return this;
-    };
-    var MAX_HWM = 1073741824;
-    function computeNewHighWaterMark(n) {
-      if (n > MAX_HWM) {
-        throw new ERR_OUT_OF_RANGE("size", "<= 1GiB", n);
+      if (res[p] === void 0) {
+        if (tmp) {
+          res[p] = tmp;
+        }
       } else {
-        n--;
-        n |= n >>> 1;
-        n |= n >>> 2;
-        n |= n >>> 4;
-        n |= n >>> 8;
-        n |= n >>> 16;
-        n++;
-      }
-      return n;
-    }
-    function howMuchToRead(n, state) {
-      if (n <= 0 || state.length === 0 && state.ended) return 0;
-      if ((state.state & kObjectMode) !== 0) return 1;
-      if (NumberIsNaN(n)) {
-        if (state.flowing && state.length) return state.buffer.first().length;
-        return state.length;
+        res[p][1] = tmp;
       }
-      if (n <= state.length) return n;
-      return state.ended ? state.length : 0;
+      return res;
     }
-    Readable2.prototype.read = function(n) {
-      debug5("read", n);
-      if (n === void 0) {
-        n = NaN;
-      } else if (!NumberIsInteger(n)) {
-        n = NumberParseInt(n, 10);
-      }
-      const state = this._readableState;
-      const nOrig = n;
-      if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);
-      if (n !== 0) state.state &= ~kEmittedReadable;
-      if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {
-        debug5("read: emitReadable", state.length, state.ended);
-        if (state.length === 0 && state.ended) endReadable(this);
-        else emitReadable(this);
-        return null;
-      }
-      n = howMuchToRead(n, state);
-      if (n === 0 && state.ended) {
-        if (state.length === 0) endReadable(this);
-        return null;
-      }
-      let doRead = (state.state & kNeedReadable) !== 0;
-      debug5("need readable", doRead);
-      if (state.length === 0 || state.length - n < state.highWaterMark) {
-        doRead = true;
-        debug5("length less than watermark", doRead);
-      }
-      if (state.ended || state.reading || state.destroyed || state.errored || !state.constructed) {
-        doRead = false;
-        debug5("reading, ended or constructing", doRead);
-      } else if (doRead) {
-        debug5("do read");
-        state.state |= kReading | kSync;
-        if (state.length === 0) state.state |= kNeedReadable;
-        try {
-          this._read(state.highWaterMark);
-        } catch (err) {
-          errorOrDestroy(this, err);
-        }
-        state.state &= ~kSync;
-        if (!state.reading) n = howMuchToRead(nOrig, state);
+    module2.exports = parseParams;
+  }
+});
+
+// node_modules/@fastify/busboy/lib/utils/basename.js
+var require_basename = __commonJS({
+  "node_modules/@fastify/busboy/lib/utils/basename.js"(exports2, module2) {
+    "use strict";
+    module2.exports = function basename2(path16) {
+      if (typeof path16 !== "string") {
+        return "";
       }
-      let ret;
-      if (n > 0) ret = fromList(n, state);
-      else ret = null;
-      if (ret === null) {
-        state.needReadable = state.length <= state.highWaterMark;
-        n = 0;
-      } else {
-        state.length -= n;
-        if (state.multiAwaitDrain) {
-          state.awaitDrainWriters.clear();
-        } else {
-          state.awaitDrainWriters = null;
+      for (var i = path16.length - 1; i >= 0; --i) {
+        switch (path16.charCodeAt(i)) {
+          case 47:
+          // '/'
+          case 92:
+            path16 = path16.slice(i + 1);
+            return path16 === ".." || path16 === "." ? "" : path16;
         }
       }
-      if (state.length === 0) {
-        if (!state.ended) state.needReadable = true;
-        if (nOrig !== n && state.ended) endReadable(this);
-      }
-      if (ret !== null && !state.errorEmitted && !state.closeEmitted) {
-        state.dataEmitted = true;
-        this.emit("data", ret);
-      }
-      return ret;
+      return path16 === ".." || path16 === "." ? "" : path16;
     };
-    function onEofChunk(stream2, state) {
-      debug5("onEofChunk");
-      if (state.ended) return;
-      if (state.decoder) {
-        const chunk = state.decoder.end();
-        if (chunk && chunk.length) {
-          state.buffer.push(chunk);
-          state.length += state.objectMode ? 1 : chunk.length;
-        }
-      }
-      state.ended = true;
-      if (state.sync) {
-        emitReadable(stream2);
-      } else {
-        state.needReadable = false;
-        state.emittedReadable = true;
-        emitReadable_(stream2);
-      }
-    }
-    function emitReadable(stream2) {
-      const state = stream2._readableState;
-      debug5("emitReadable", state.needReadable, state.emittedReadable);
-      state.needReadable = false;
-      if (!state.emittedReadable) {
-        debug5("emitReadable", state.flowing);
-        state.emittedReadable = true;
-        process2.nextTick(emitReadable_, stream2);
-      }
-    }
-    function emitReadable_(stream2) {
-      const state = stream2._readableState;
-      debug5("emitReadable_", state.destroyed, state.length, state.ended);
-      if (!state.destroyed && !state.errored && (state.length || state.ended)) {
-        stream2.emit("readable");
-        state.emittedReadable = false;
-      }
-      state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;
-      flow(stream2);
-    }
-    function maybeReadMore(stream2, state) {
-      if (!state.readingMore && state.constructed) {
-        state.readingMore = true;
-        process2.nextTick(maybeReadMore_, stream2, state);
-      }
-    }
-    function maybeReadMore_(stream2, state) {
-      while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {
-        const len = state.length;
-        debug5("maybeReadMore read 0");
-        stream2.read(0);
-        if (len === state.length)
+  }
+});
+
+// node_modules/@fastify/busboy/lib/types/multipart.js
+var require_multipart2 = __commonJS({
+  "node_modules/@fastify/busboy/lib/types/multipart.js"(exports2, module2) {
+    "use strict";
+    var { Readable: Readable2 } = require("node:stream");
+    var { inherits } = require("node:util");
+    var Dicer = require_Dicer();
+    var parseParams = require_parseParams();
+    var decodeText = require_decodeText();
+    var basename2 = require_basename();
+    var getLimit = require_getLimit();
+    var RE_BOUNDARY = /^boundary$/i;
+    var RE_FIELD = /^form-data$/i;
+    var RE_CHARSET = /^charset$/i;
+    var RE_FILENAME = /^filename$/i;
+    var RE_NAME = /^name$/i;
+    Multipart.detect = /^multipart\/form-data/i;
+    function Multipart(boy, cfg) {
+      let i;
+      let len;
+      const self2 = this;
+      let boundary;
+      const limits = cfg.limits;
+      const isPartAFile = cfg.isPartAFile || ((fieldName, contentType, fileName) => contentType === "application/octet-stream" || fileName !== void 0);
+      const parsedConType = cfg.parsedConType || [];
+      const defCharset = cfg.defCharset || "utf8";
+      const preservePath = cfg.preservePath;
+      const fileOpts = { highWaterMark: cfg.fileHwm };
+      for (i = 0, len = parsedConType.length; i < len; ++i) {
+        if (Array.isArray(parsedConType[i]) && RE_BOUNDARY.test(parsedConType[i][0])) {
+          boundary = parsedConType[i][1];
           break;
-      }
-      state.readingMore = false;
-    }
-    Readable2.prototype._read = function(n) {
-      throw new ERR_METHOD_NOT_IMPLEMENTED("_read()");
-    };
-    Readable2.prototype.pipe = function(dest, pipeOpts) {
-      const src = this;
-      const state = this._readableState;
-      if (state.pipes.length === 1) {
-        if (!state.multiAwaitDrain) {
-          state.multiAwaitDrain = true;
-          state.awaitDrainWriters = new SafeSet(state.awaitDrainWriters ? [state.awaitDrainWriters] : []);
         }
       }
-      state.pipes.push(dest);
-      debug5("pipe count=%d opts=%j", state.pipes.length, pipeOpts);
-      const doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process2.stdout && dest !== process2.stderr;
-      const endFn = doEnd ? onend : unpipe;
-      if (state.endEmitted) process2.nextTick(endFn);
-      else src.once("end", endFn);
-      dest.on("unpipe", onunpipe);
-      function onunpipe(readable, unpipeInfo) {
-        debug5("onunpipe");
-        if (readable === src) {
-          if (unpipeInfo && unpipeInfo.hasUnpiped === false) {
-            unpipeInfo.hasUnpiped = true;
-            cleanup();
-          }
+      function checkFinished() {
+        if (nends === 0 && finished && !boy._done) {
+          finished = false;
+          self2.end();
         }
       }
-      function onend() {
-        debug5("onend");
-        dest.end();
-      }
-      let ondrain;
-      let cleanedUp = false;
-      function cleanup() {
-        debug5("cleanup");
-        dest.removeListener("close", onclose);
-        dest.removeListener("finish", onfinish);
-        if (ondrain) {
-          dest.removeListener("drain", ondrain);
-        }
-        dest.removeListener("error", onerror);
-        dest.removeListener("unpipe", onunpipe);
-        src.removeListener("end", onend);
-        src.removeListener("end", unpipe);
-        src.removeListener("data", ondata);
-        cleanedUp = true;
-        if (ondrain && state.awaitDrainWriters && (!dest._writableState || dest._writableState.needDrain)) ondrain();
+      if (typeof boundary !== "string") {
+        throw new Error("Multipart: Boundary not found");
       }
-      function pause() {
-        if (!cleanedUp) {
-          if (state.pipes.length === 1 && state.pipes[0] === dest) {
-            debug5("false write response, pause", 0);
-            state.awaitDrainWriters = dest;
-            state.multiAwaitDrain = false;
-          } else if (state.pipes.length > 1 && state.pipes.includes(dest)) {
-            debug5("false write response, pause", state.awaitDrainWriters.size);
-            state.awaitDrainWriters.add(dest);
-          }
-          src.pause();
+      const fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
+      const fileSizeLimit = getLimit(limits, "fileSize", Infinity);
+      const filesLimit = getLimit(limits, "files", Infinity);
+      const fieldsLimit = getLimit(limits, "fields", Infinity);
+      const partsLimit = getLimit(limits, "parts", Infinity);
+      const headerPairsLimit = getLimit(limits, "headerPairs", 2e3);
+      const headerSizeLimit = getLimit(limits, "headerSize", 80 * 1024);
+      let nfiles = 0;
+      let nfields = 0;
+      let nends = 0;
+      let curFile;
+      let curField;
+      let finished = false;
+      this._needDrain = false;
+      this._pause = false;
+      this._cb = void 0;
+      this._nparts = 0;
+      this._boy = boy;
+      const parserCfg = {
+        boundary,
+        maxHeaderPairs: headerPairsLimit,
+        maxHeaderSize: headerSizeLimit,
+        partHwm: fileOpts.highWaterMark,
+        highWaterMark: cfg.highWaterMark
+      };
+      this.parser = new Dicer(parserCfg);
+      this.parser.on("drain", function() {
+        self2._needDrain = false;
+        if (self2._cb && !self2._pause) {
+          const cb = self2._cb;
+          self2._cb = void 0;
+          cb();
         }
-        if (!ondrain) {
-          ondrain = pipeOnDrain(src, dest);
-          dest.on("drain", ondrain);
+      }).on("part", function onPart(part) {
+        if (++self2._nparts > partsLimit) {
+          self2.parser.removeListener("part", onPart);
+          self2.parser.on("part", skipPart);
+          boy.hitPartsLimit = true;
+          boy.emit("partsLimit");
+          return skipPart(part);
         }
-      }
-      src.on("data", ondata);
-      function ondata(chunk) {
-        debug5("ondata");
-        const ret = dest.write(chunk);
-        debug5("dest.write", ret);
-        if (ret === false) {
-          pause();
+        if (curField) {
+          const field = curField;
+          field.emit("end");
+          field.removeAllListeners("end");
         }
-      }
-      function onerror(er) {
-        debug5("onerror", er);
-        unpipe();
-        dest.removeListener("error", onerror);
-        if (dest.listenerCount("error") === 0) {
-          const s = dest._writableState || dest._readableState;
-          if (s && !s.errorEmitted) {
-            errorOrDestroy(dest, er);
-          } else {
-            dest.emit("error", er);
+        part.on("header", function(header) {
+          let contype;
+          let fieldname;
+          let parsed;
+          let charset;
+          let encoding;
+          let filename;
+          let nsize = 0;
+          if (header["content-type"]) {
+            parsed = parseParams(header["content-type"][0]);
+            if (parsed[0]) {
+              contype = parsed[0].toLowerCase();
+              for (i = 0, len = parsed.length; i < len; ++i) {
+                if (RE_CHARSET.test(parsed[i][0])) {
+                  charset = parsed[i][1].toLowerCase();
+                  break;
+                }
+              }
+            }
           }
-        }
-      }
-      prependListener(dest, "error", onerror);
-      function onclose() {
-        dest.removeListener("finish", onfinish);
-        unpipe();
-      }
-      dest.once("close", onclose);
-      function onfinish() {
-        debug5("onfinish");
-        dest.removeListener("close", onclose);
-        unpipe();
-      }
-      dest.once("finish", onfinish);
-      function unpipe() {
-        debug5("unpipe");
-        src.unpipe(dest);
-      }
-      dest.emit("pipe", src);
-      if (dest.writableNeedDrain === true) {
-        pause();
-      } else if (!state.flowing) {
-        debug5("pipe resume");
-        src.resume();
-      }
-      return dest;
-    };
-    function pipeOnDrain(src, dest) {
-      return function pipeOnDrainFunctionResult() {
-        const state = src._readableState;
-        if (state.awaitDrainWriters === dest) {
-          debug5("pipeOnDrain", 1);
-          state.awaitDrainWriters = null;
-        } else if (state.multiAwaitDrain) {
-          debug5("pipeOnDrain", state.awaitDrainWriters.size);
-          state.awaitDrainWriters.delete(dest);
-        }
-        if ((!state.awaitDrainWriters || state.awaitDrainWriters.size === 0) && src.listenerCount("data")) {
-          src.resume();
-        }
-      };
-    }
-    Readable2.prototype.unpipe = function(dest) {
-      const state = this._readableState;
-      const unpipeInfo = {
-        hasUnpiped: false
-      };
-      if (state.pipes.length === 0) return this;
-      if (!dest) {
-        const dests = state.pipes;
-        state.pipes = [];
-        this.pause();
-        for (let i = 0; i < dests.length; i++)
-          dests[i].emit("unpipe", this, {
-            hasUnpiped: false
-          });
-        return this;
-      }
-      const index = ArrayPrototypeIndexOf(state.pipes, dest);
-      if (index === -1) return this;
-      state.pipes.splice(index, 1);
-      if (state.pipes.length === 0) this.pause();
-      dest.emit("unpipe", this, unpipeInfo);
-      return this;
-    };
-    Readable2.prototype.on = function(ev, fn) {
-      const res = Stream.prototype.on.call(this, ev, fn);
-      const state = this._readableState;
-      if (ev === "data") {
-        state.readableListening = this.listenerCount("readable") > 0;
-        if (state.flowing !== false) this.resume();
-      } else if (ev === "readable") {
-        if (!state.endEmitted && !state.readableListening) {
-          state.readableListening = state.needReadable = true;
-          state.flowing = false;
-          state.emittedReadable = false;
-          debug5("on readable", state.length, state.reading);
-          if (state.length) {
-            emitReadable(this);
-          } else if (!state.reading) {
-            process2.nextTick(nReadingNextTick, this);
+          if (contype === void 0) {
+            contype = "text/plain";
           }
-        }
-      }
-      return res;
-    };
-    Readable2.prototype.addListener = Readable2.prototype.on;
-    Readable2.prototype.removeListener = function(ev, fn) {
-      const res = Stream.prototype.removeListener.call(this, ev, fn);
-      if (ev === "readable") {
-        process2.nextTick(updateReadableListening, this);
-      }
-      return res;
-    };
-    Readable2.prototype.off = Readable2.prototype.removeListener;
-    Readable2.prototype.removeAllListeners = function(ev) {
-      const res = Stream.prototype.removeAllListeners.apply(this, arguments);
-      if (ev === "readable" || ev === void 0) {
-        process2.nextTick(updateReadableListening, this);
-      }
-      return res;
-    };
-    function updateReadableListening(self2) {
-      const state = self2._readableState;
-      state.readableListening = self2.listenerCount("readable") > 0;
-      if (state.resumeScheduled && state[kPaused] === false) {
-        state.flowing = true;
-      } else if (self2.listenerCount("data") > 0) {
-        self2.resume();
-      } else if (!state.readableListening) {
-        state.flowing = null;
-      }
-    }
-    function nReadingNextTick(self2) {
-      debug5("readable nexttick read 0");
-      self2.read(0);
-    }
-    Readable2.prototype.resume = function() {
-      const state = this._readableState;
-      if (!state.flowing) {
-        debug5("resume");
-        state.flowing = !state.readableListening;
-        resume(this, state);
-      }
-      state[kPaused] = false;
-      return this;
-    };
-    function resume(stream2, state) {
-      if (!state.resumeScheduled) {
-        state.resumeScheduled = true;
-        process2.nextTick(resume_, stream2, state);
-      }
-    }
-    function resume_(stream2, state) {
-      debug5("resume", state.reading);
-      if (!state.reading) {
-        stream2.read(0);
-      }
-      state.resumeScheduled = false;
-      stream2.emit("resume");
-      flow(stream2);
-      if (state.flowing && !state.reading) stream2.read(0);
-    }
-    Readable2.prototype.pause = function() {
-      debug5("call pause flowing=%j", this._readableState.flowing);
-      if (this._readableState.flowing !== false) {
-        debug5("pause");
-        this._readableState.flowing = false;
-        this.emit("pause");
-      }
-      this._readableState[kPaused] = true;
-      return this;
-    };
-    function flow(stream2) {
-      const state = stream2._readableState;
-      debug5("flow", state.flowing);
-      while (state.flowing && stream2.read() !== null) ;
-    }
-    Readable2.prototype.wrap = function(stream2) {
-      let paused = false;
-      stream2.on("data", (chunk) => {
-        if (!this.push(chunk) && stream2.pause) {
-          paused = true;
-          stream2.pause();
-        }
-      });
-      stream2.on("end", () => {
-        this.push(null);
-      });
-      stream2.on("error", (err) => {
-        errorOrDestroy(this, err);
-      });
-      stream2.on("close", () => {
-        this.destroy();
-      });
-      stream2.on("destroy", () => {
-        this.destroy();
-      });
-      this._read = () => {
-        if (paused && stream2.resume) {
-          paused = false;
-          stream2.resume();
-        }
-      };
-      const streamKeys = ObjectKeys(stream2);
-      for (let j = 1; j < streamKeys.length; j++) {
-        const i = streamKeys[j];
-        if (this[i] === void 0 && typeof stream2[i] === "function") {
-          this[i] = stream2[i].bind(stream2);
-        }
-      }
-      return this;
-    };
-    Readable2.prototype[SymbolAsyncIterator] = function() {
-      return streamToAsyncIterator(this);
-    };
-    Readable2.prototype.iterator = function(options) {
-      if (options !== void 0) {
-        validateObject(options, "options");
-      }
-      return streamToAsyncIterator(this, options);
-    };
-    function streamToAsyncIterator(stream2, options) {
-      if (typeof stream2.read !== "function") {
-        stream2 = Readable2.wrap(stream2, {
-          objectMode: true
-        });
-      }
-      const iter = createAsyncIterator(stream2, options);
-      iter.stream = stream2;
-      return iter;
-    }
-    async function* createAsyncIterator(stream2, options) {
-      let callback = nop;
-      function next(resolve8) {
-        if (this === stream2) {
-          callback();
-          callback = nop;
-        } else {
-          callback = resolve8;
-        }
-      }
-      stream2.on("readable", next);
-      let error3;
-      const cleanup = eos(
-        stream2,
-        {
-          writable: false
-        },
-        (err) => {
-          error3 = err ? aggregateTwoErrors(error3, err) : null;
-          callback();
-          callback = nop;
-        }
-      );
-      try {
-        while (true) {
-          const chunk = stream2.destroyed ? null : stream2.read();
-          if (chunk !== null) {
-            yield chunk;
-          } else if (error3) {
-            throw error3;
-          } else if (error3 === null) {
-            return;
+          if (charset === void 0) {
+            charset = defCharset;
+          }
+          if (header["content-disposition"]) {
+            parsed = parseParams(header["content-disposition"][0]);
+            if (!RE_FIELD.test(parsed[0])) {
+              return skipPart(part);
+            }
+            for (i = 0, len = parsed.length; i < len; ++i) {
+              if (RE_NAME.test(parsed[i][0])) {
+                fieldname = parsed[i][1];
+              } else if (RE_FILENAME.test(parsed[i][0])) {
+                filename = parsed[i][1];
+                if (!preservePath) {
+                  filename = basename2(filename);
+                }
+              }
+            }
           } else {
-            await new Promise2(next);
+            return skipPart(part);
           }
-        }
-      } catch (err) {
-        error3 = aggregateTwoErrors(error3, err);
-        throw error3;
-      } finally {
-        if ((error3 || (options === null || options === void 0 ? void 0 : options.destroyOnReturn) !== false) && (error3 === void 0 || stream2._readableState.autoDestroy)) {
-          destroyImpl.destroyer(stream2, null);
-        } else {
-          stream2.off("readable", next);
-          cleanup();
-        }
-      }
-    }
-    ObjectDefineProperties(Readable2.prototype, {
-      readable: {
-        __proto__: null,
-        get() {
-          const r = this._readableState;
-          return !!r && r.readable !== false && !r.destroyed && !r.errorEmitted && !r.endEmitted;
-        },
-        set(val) {
-          if (this._readableState) {
-            this._readableState.readable = !!val;
+          if (header["content-transfer-encoding"]) {
+            encoding = header["content-transfer-encoding"][0].toLowerCase();
+          } else {
+            encoding = "7bit";
           }
-        }
-      },
-      readableDidRead: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return this._readableState.dataEmitted;
-        }
-      },
-      readableAborted: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return !!(this._readableState.readable !== false && (this._readableState.destroyed || this._readableState.errored) && !this._readableState.endEmitted);
-        }
-      },
-      readableHighWaterMark: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return this._readableState.highWaterMark;
-        }
-      },
-      readableBuffer: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return this._readableState && this._readableState.buffer;
-        }
-      },
-      readableFlowing: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return this._readableState.flowing;
-        },
-        set: function(state) {
-          if (this._readableState) {
-            this._readableState.flowing = state;
+          let onData, onEnd;
+          if (isPartAFile(fieldname, contype, filename)) {
+            if (nfiles === filesLimit) {
+              if (!boy.hitFilesLimit) {
+                boy.hitFilesLimit = true;
+                boy.emit("filesLimit");
+              }
+              return skipPart(part);
+            }
+            ++nfiles;
+            if (boy.listenerCount("file") === 0) {
+              self2.parser._ignore();
+              return;
+            }
+            ++nends;
+            const file = new FileStream(fileOpts);
+            curFile = file;
+            file.on("end", function() {
+              --nends;
+              self2._pause = false;
+              checkFinished();
+              if (self2._cb && !self2._needDrain) {
+                const cb = self2._cb;
+                self2._cb = void 0;
+                cb();
+              }
+            });
+            file._read = function(n) {
+              if (!self2._pause) {
+                return;
+              }
+              self2._pause = false;
+              if (self2._cb && !self2._needDrain) {
+                const cb = self2._cb;
+                self2._cb = void 0;
+                cb();
+              }
+            };
+            boy.emit("file", fieldname, file, filename, encoding, contype);
+            onData = function(data) {
+              if ((nsize += data.length) > fileSizeLimit) {
+                const extralen = fileSizeLimit - nsize + data.length;
+                if (extralen > 0) {
+                  file.push(data.slice(0, extralen));
+                }
+                file.truncated = true;
+                file.bytesRead = fileSizeLimit;
+                part.removeAllListeners("data");
+                file.emit("limit");
+                return;
+              } else if (!file.push(data)) {
+                self2._pause = true;
+              }
+              file.bytesRead = nsize;
+            };
+            onEnd = function() {
+              curFile = void 0;
+              file.push(null);
+            };
+          } else {
+            if (nfields === fieldsLimit) {
+              if (!boy.hitFieldsLimit) {
+                boy.hitFieldsLimit = true;
+                boy.emit("fieldsLimit");
+              }
+              return skipPart(part);
+            }
+            ++nfields;
+            ++nends;
+            let buffer = "";
+            let truncated = false;
+            curField = part;
+            onData = function(data) {
+              if ((nsize += data.length) > fieldSizeLimit) {
+                const extralen = fieldSizeLimit - (nsize - data.length);
+                buffer += data.toString("binary", 0, extralen);
+                truncated = true;
+                part.removeAllListeners("data");
+              } else {
+                buffer += data.toString("binary");
+              }
+            };
+            onEnd = function() {
+              curField = void 0;
+              if (buffer.length) {
+                buffer = decodeText(buffer, "binary", charset);
+              }
+              boy.emit("field", fieldname, buffer, false, truncated, encoding, contype);
+              --nends;
+              checkFinished();
+            };
           }
-        }
-      },
-      readableLength: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState.length;
-        }
-      },
-      readableObjectMode: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState ? this._readableState.objectMode : false;
-        }
-      },
-      readableEncoding: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState ? this._readableState.encoding : null;
-        }
-      },
-      errored: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState ? this._readableState.errored : null;
-        }
-      },
-      closed: {
-        __proto__: null,
-        get() {
-          return this._readableState ? this._readableState.closed : false;
-        }
-      },
-      destroyed: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState ? this._readableState.destroyed : false;
-        },
-        set(value) {
-          if (!this._readableState) {
-            return;
+          part._readableState.sync = false;
+          part.on("data", onData);
+          part.on("end", onEnd);
+        }).on("error", function(err) {
+          if (curFile) {
+            curFile.emit("error", err);
           }
-          this._readableState.destroyed = value;
-        }
-      },
-      readableEnded: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState ? this._readableState.endEmitted : false;
-        }
-      }
-    });
-    ObjectDefineProperties(ReadableState.prototype, {
-      // Legacy getter for `pipesCount`.
-      pipesCount: {
-        __proto__: null,
-        get() {
-          return this.pipes.length;
-        }
-      },
-      // Legacy property for `paused`.
-      paused: {
-        __proto__: null,
-        get() {
-          return this[kPaused] !== false;
-        },
-        set(value) {
-          this[kPaused] = !!value;
-        }
-      }
-    });
-    Readable2._fromList = fromList;
-    function fromList(n, state) {
-      if (state.length === 0) return null;
-      let ret;
-      if (state.objectMode) ret = state.buffer.shift();
-      else if (!n || n >= state.length) {
-        if (state.decoder) ret = state.buffer.join("");
-        else if (state.buffer.length === 1) ret = state.buffer.first();
-        else ret = state.buffer.concat(state.length);
-        state.buffer.clear();
+        });
+      }).on("error", function(err) {
+        boy.emit("error", err);
+      }).on("finish", function() {
+        finished = true;
+        checkFinished();
+      });
+    }
+    Multipart.prototype.write = function(chunk, cb) {
+      const r = this.parser.write(chunk);
+      if (r && !this._pause) {
+        cb();
       } else {
-        ret = state.buffer.consume(n, state.decoder);
+        this._needDrain = !r;
+        this._cb = cb;
       }
-      return ret;
-    }
-    function endReadable(stream2) {
-      const state = stream2._readableState;
-      debug5("endReadable", state.endEmitted);
-      if (!state.endEmitted) {
-        state.ended = true;
-        process2.nextTick(endReadableNT, state, stream2);
+    };
+    Multipart.prototype.end = function() {
+      const self2 = this;
+      if (self2.parser.writable) {
+        self2.parser.end();
+      } else if (!self2._boy._done) {
+        process.nextTick(function() {
+          self2._boy._done = true;
+          self2._boy.emit("finish");
+        });
       }
+    };
+    function skipPart(part) {
+      part.resume();
+    }
+    function FileStream(opts) {
+      Readable2.call(this, opts);
+      this.bytesRead = 0;
+      this.truncated = false;
+    }
+    inherits(FileStream, Readable2);
+    FileStream.prototype._read = function(n) {
+    };
+    module2.exports = Multipart;
+  }
+});
+
+// node_modules/@fastify/busboy/lib/utils/Decoder.js
+var require_Decoder = __commonJS({
+  "node_modules/@fastify/busboy/lib/utils/Decoder.js"(exports2, module2) {
+    "use strict";
+    var RE_PLUS = /\+/g;
+    var HEX = [
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0
+    ];
+    function Decoder() {
+      this.buffer = void 0;
     }
-    function endReadableNT(state, stream2) {
-      debug5("endReadableNT", state.endEmitted, state.length);
-      if (!state.errored && !state.closeEmitted && !state.endEmitted && state.length === 0) {
-        state.endEmitted = true;
-        stream2.emit("end");
-        if (stream2.writable && stream2.allowHalfOpen === false) {
-          process2.nextTick(endWritableNT, stream2);
-        } else if (state.autoDestroy) {
-          const wState = stream2._writableState;
-          const autoDestroy = !wState || wState.autoDestroy && // We don't expect the writable to ever 'finish'
-          // if writable is explicitly set to false.
-          (wState.finished || wState.writable === false);
-          if (autoDestroy) {
-            stream2.destroy();
+    Decoder.prototype.write = function(str2) {
+      str2 = str2.replace(RE_PLUS, " ");
+      let res = "";
+      let i = 0;
+      let p = 0;
+      const len = str2.length;
+      for (; i < len; ++i) {
+        if (this.buffer !== void 0) {
+          if (!HEX[str2.charCodeAt(i)]) {
+            res += "%" + this.buffer;
+            this.buffer = void 0;
+            --i;
+          } else {
+            this.buffer += str2[i];
+            ++p;
+            if (this.buffer.length === 2) {
+              res += String.fromCharCode(parseInt(this.buffer, 16));
+              this.buffer = void 0;
+            }
+          }
+        } else if (str2[i] === "%") {
+          if (i > p) {
+            res += str2.substring(p, i);
+            p = i;
           }
+          this.buffer = "";
+          ++p;
         }
       }
-    }
-    function endWritableNT(stream2) {
-      const writable = stream2.writable && !stream2.writableEnded && !stream2.destroyed;
-      if (writable) {
-        stream2.end();
+      if (p < len && this.buffer === void 0) {
+        res += str2.substring(p);
       }
-    }
-    Readable2.from = function(iterable, opts) {
-      return from(Readable2, iterable, opts);
-    };
-    var webStreamsAdapters;
-    function lazyWebStreams() {
-      if (webStreamsAdapters === void 0) webStreamsAdapters = {};
-      return webStreamsAdapters;
-    }
-    Readable2.fromWeb = function(readableStream, options) {
-      return lazyWebStreams().newStreamReadableFromReadableStream(readableStream, options);
-    };
-    Readable2.toWeb = function(streamReadable, options) {
-      return lazyWebStreams().newReadableStreamFromStreamReadable(streamReadable, options);
+      return res;
     };
-    Readable2.wrap = function(src, options) {
-      var _ref, _src$readableObjectMo;
-      return new Readable2({
-        objectMode: (_ref = (_src$readableObjectMo = src.readableObjectMode) !== null && _src$readableObjectMo !== void 0 ? _src$readableObjectMo : src.objectMode) !== null && _ref !== void 0 ? _ref : true,
-        ...options,
-        destroy(err, callback) {
-          destroyImpl.destroyer(src, err);
-          callback(err);
-        }
-      }).wrap(src);
+    Decoder.prototype.reset = function() {
+      this.buffer = void 0;
     };
+    module2.exports = Decoder;
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/writable.js
-var require_writable = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/writable.js"(exports2, module2) {
-    var process2 = require_process();
-    var {
-      ArrayPrototypeSlice,
-      Error: Error2,
-      FunctionPrototypeSymbolHasInstance,
-      ObjectDefineProperty,
-      ObjectDefineProperties,
-      ObjectSetPrototypeOf,
-      StringPrototypeToLowerCase,
-      Symbol: Symbol2,
-      SymbolHasInstance
-    } = require_primordials();
-    module2.exports = Writable;
-    Writable.WritableState = WritableState;
-    var { EventEmitter: EE } = require("events");
-    var Stream = require_legacy().Stream;
-    var { Buffer: Buffer2 } = require("buffer");
-    var destroyImpl = require_destroy2();
-    var { addAbortSignal } = require_add_abort_signal();
-    var { getHighWaterMark, getDefaultHighWaterMark } = require_state3();
-    var {
-      ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,
-      ERR_METHOD_NOT_IMPLEMENTED,
-      ERR_MULTIPLE_CALLBACK,
-      ERR_STREAM_CANNOT_PIPE,
-      ERR_STREAM_DESTROYED,
-      ERR_STREAM_ALREADY_FINISHED,
-      ERR_STREAM_NULL_VALUES,
-      ERR_STREAM_WRITE_AFTER_END,
-      ERR_UNKNOWN_ENCODING
-    } = require_errors5().codes;
-    var { errorOrDestroy } = destroyImpl;
-    ObjectSetPrototypeOf(Writable.prototype, Stream.prototype);
-    ObjectSetPrototypeOf(Writable, Stream);
-    function nop() {
-    }
-    var kOnFinished = Symbol2("kOnFinished");
-    function WritableState(options, stream2, isDuplex) {
-      if (typeof isDuplex !== "boolean") isDuplex = stream2 instanceof require_duplex();
-      this.objectMode = !!(options && options.objectMode);
-      if (isDuplex) this.objectMode = this.objectMode || !!(options && options.writableObjectMode);
-      this.highWaterMark = options ? getHighWaterMark(this, options, "writableHighWaterMark", isDuplex) : getDefaultHighWaterMark(false);
-      this.finalCalled = false;
-      this.needDrain = false;
-      this.ending = false;
-      this.ended = false;
-      this.finished = false;
-      this.destroyed = false;
-      const noDecode = !!(options && options.decodeStrings === false);
-      this.decodeStrings = !noDecode;
-      this.defaultEncoding = options && options.defaultEncoding || "utf8";
-      this.length = 0;
-      this.writing = false;
-      this.corked = 0;
-      this.sync = true;
-      this.bufferProcessing = false;
-      this.onwrite = onwrite.bind(void 0, stream2);
-      this.writecb = null;
-      this.writelen = 0;
-      this.afterWriteTickInfo = null;
-      resetBuffer(this);
-      this.pendingcb = 0;
-      this.constructed = true;
-      this.prefinished = false;
-      this.errorEmitted = false;
-      this.emitClose = !options || options.emitClose !== false;
-      this.autoDestroy = !options || options.autoDestroy !== false;
-      this.errored = null;
-      this.closed = false;
-      this.closeEmitted = false;
-      this[kOnFinished] = [];
-    }
-    function resetBuffer(state) {
-      state.buffered = [];
-      state.bufferedIndex = 0;
-      state.allBuffers = true;
-      state.allNoop = true;
-    }
-    WritableState.prototype.getBuffer = function getBuffer() {
-      return ArrayPrototypeSlice(this.buffered, this.bufferedIndex);
-    };
-    ObjectDefineProperty(WritableState.prototype, "bufferedRequestCount", {
-      __proto__: null,
-      get() {
-        return this.buffered.length - this.bufferedIndex;
+// node_modules/@fastify/busboy/lib/types/urlencoded.js
+var require_urlencoded = __commonJS({
+  "node_modules/@fastify/busboy/lib/types/urlencoded.js"(exports2, module2) {
+    "use strict";
+    var Decoder = require_Decoder();
+    var decodeText = require_decodeText();
+    var getLimit = require_getLimit();
+    var RE_CHARSET = /^charset$/i;
+    UrlEncoded.detect = /^application\/x-www-form-urlencoded/i;
+    function UrlEncoded(boy, cfg) {
+      const limits = cfg.limits;
+      const parsedConType = cfg.parsedConType;
+      this.boy = boy;
+      this.fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
+      this.fieldNameSizeLimit = getLimit(limits, "fieldNameSize", 100);
+      this.fieldsLimit = getLimit(limits, "fields", Infinity);
+      let charset;
+      for (var i = 0, len = parsedConType.length; i < len; ++i) {
+        if (Array.isArray(parsedConType[i]) && RE_CHARSET.test(parsedConType[i][0])) {
+          charset = parsedConType[i][1].toLowerCase();
+          break;
+        }
       }
-    });
-    function Writable(options) {
-      const isDuplex = this instanceof require_duplex();
-      if (!isDuplex && !FunctionPrototypeSymbolHasInstance(Writable, this)) return new Writable(options);
-      this._writableState = new WritableState(options, this, isDuplex);
-      if (options) {
-        if (typeof options.write === "function") this._write = options.write;
-        if (typeof options.writev === "function") this._writev = options.writev;
-        if (typeof options.destroy === "function") this._destroy = options.destroy;
-        if (typeof options.final === "function") this._final = options.final;
-        if (typeof options.construct === "function") this._construct = options.construct;
-        if (options.signal) addAbortSignal(options.signal, this);
+      if (charset === void 0) {
+        charset = cfg.defCharset || "utf8";
       }
-      Stream.call(this, options);
-      destroyImpl.construct(this, () => {
-        const state = this._writableState;
-        if (!state.writing) {
-          clearBuffer(this, state);
-        }
-        finishMaybe(this, state);
-      });
+      this.decoder = new Decoder();
+      this.charset = charset;
+      this._fields = 0;
+      this._state = "key";
+      this._checkingBytes = true;
+      this._bytesKey = 0;
+      this._bytesVal = 0;
+      this._key = "";
+      this._val = "";
+      this._keyTrunc = false;
+      this._valTrunc = false;
+      this._hitLimit = false;
     }
-    ObjectDefineProperty(Writable, SymbolHasInstance, {
-      __proto__: null,
-      value: function(object) {
-        if (FunctionPrototypeSymbolHasInstance(this, object)) return true;
-        if (this !== Writable) return false;
-        return object && object._writableState instanceof WritableState;
-      }
-    });
-    Writable.prototype.pipe = function() {
-      errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());
-    };
-    function _write(stream2, chunk, encoding, cb) {
-      const state = stream2._writableState;
-      if (typeof encoding === "function") {
-        cb = encoding;
-        encoding = state.defaultEncoding;
-      } else {
-        if (!encoding) encoding = state.defaultEncoding;
-        else if (encoding !== "buffer" && !Buffer2.isEncoding(encoding)) throw new ERR_UNKNOWN_ENCODING(encoding);
-        if (typeof cb !== "function") cb = nop;
+    UrlEncoded.prototype.write = function(data, cb) {
+      if (this._fields === this.fieldsLimit) {
+        if (!this.boy.hitFieldsLimit) {
+          this.boy.hitFieldsLimit = true;
+          this.boy.emit("fieldsLimit");
+        }
+        return cb();
       }
-      if (chunk === null) {
-        throw new ERR_STREAM_NULL_VALUES();
-      } else if (!state.objectMode) {
-        if (typeof chunk === "string") {
-          if (state.decodeStrings !== false) {
-            chunk = Buffer2.from(chunk, encoding);
-            encoding = "buffer";
+      let idxeq;
+      let idxamp;
+      let i;
+      let p = 0;
+      const len = data.length;
+      while (p < len) {
+        if (this._state === "key") {
+          idxeq = idxamp = void 0;
+          for (i = p; i < len; ++i) {
+            if (!this._checkingBytes) {
+              ++p;
+            }
+            if (data[i] === 61) {
+              idxeq = i;
+              break;
+            } else if (data[i] === 38) {
+              idxamp = i;
+              break;
+            }
+            if (this._checkingBytes && this._bytesKey === this.fieldNameSizeLimit) {
+              this._hitLimit = true;
+              break;
+            } else if (this._checkingBytes) {
+              ++this._bytesKey;
+            }
+          }
+          if (idxeq !== void 0) {
+            if (idxeq > p) {
+              this._key += this.decoder.write(data.toString("binary", p, idxeq));
+            }
+            this._state = "val";
+            this._hitLimit = false;
+            this._checkingBytes = true;
+            this._val = "";
+            this._bytesVal = 0;
+            this._valTrunc = false;
+            this.decoder.reset();
+            p = idxeq + 1;
+          } else if (idxamp !== void 0) {
+            ++this._fields;
+            let key;
+            const keyTrunc = this._keyTrunc;
+            if (idxamp > p) {
+              key = this._key += this.decoder.write(data.toString("binary", p, idxamp));
+            } else {
+              key = this._key;
+            }
+            this._hitLimit = false;
+            this._checkingBytes = true;
+            this._key = "";
+            this._bytesKey = 0;
+            this._keyTrunc = false;
+            this.decoder.reset();
+            if (key.length) {
+              this.boy.emit(
+                "field",
+                decodeText(key, "binary", this.charset),
+                "",
+                keyTrunc,
+                false
+              );
+            }
+            p = idxamp + 1;
+            if (this._fields === this.fieldsLimit) {
+              return cb();
+            }
+          } else if (this._hitLimit) {
+            if (i > p) {
+              this._key += this.decoder.write(data.toString("binary", p, i));
+            }
+            p = i;
+            if ((this._bytesKey = this._key.length) === this.fieldNameSizeLimit) {
+              this._checkingBytes = false;
+              this._keyTrunc = true;
+            }
+          } else {
+            if (p < len) {
+              this._key += this.decoder.write(data.toString("binary", p));
+            }
+            p = len;
           }
-        } else if (chunk instanceof Buffer2) {
-          encoding = "buffer";
-        } else if (Stream._isUint8Array(chunk)) {
-          chunk = Stream._uint8ArrayToBuffer(chunk);
-          encoding = "buffer";
         } else {
-          throw new ERR_INVALID_ARG_TYPE2("chunk", ["string", "Buffer", "Uint8Array"], chunk);
+          idxamp = void 0;
+          for (i = p; i < len; ++i) {
+            if (!this._checkingBytes) {
+              ++p;
+            }
+            if (data[i] === 38) {
+              idxamp = i;
+              break;
+            }
+            if (this._checkingBytes && this._bytesVal === this.fieldSizeLimit) {
+              this._hitLimit = true;
+              break;
+            } else if (this._checkingBytes) {
+              ++this._bytesVal;
+            }
+          }
+          if (idxamp !== void 0) {
+            ++this._fields;
+            if (idxamp > p) {
+              this._val += this.decoder.write(data.toString("binary", p, idxamp));
+            }
+            this.boy.emit(
+              "field",
+              decodeText(this._key, "binary", this.charset),
+              decodeText(this._val, "binary", this.charset),
+              this._keyTrunc,
+              this._valTrunc
+            );
+            this._state = "key";
+            this._hitLimit = false;
+            this._checkingBytes = true;
+            this._key = "";
+            this._bytesKey = 0;
+            this._keyTrunc = false;
+            this.decoder.reset();
+            p = idxamp + 1;
+            if (this._fields === this.fieldsLimit) {
+              return cb();
+            }
+          } else if (this._hitLimit) {
+            if (i > p) {
+              this._val += this.decoder.write(data.toString("binary", p, i));
+            }
+            p = i;
+            if (this._val === "" && this.fieldSizeLimit === 0 || (this._bytesVal = this._val.length) === this.fieldSizeLimit) {
+              this._checkingBytes = false;
+              this._valTrunc = true;
+            }
+          } else {
+            if (p < len) {
+              this._val += this.decoder.write(data.toString("binary", p));
+            }
+            p = len;
+          }
         }
       }
-      let err;
-      if (state.ending) {
-        err = new ERR_STREAM_WRITE_AFTER_END();
-      } else if (state.destroyed) {
-        err = new ERR_STREAM_DESTROYED("write");
+      cb();
+    };
+    UrlEncoded.prototype.end = function() {
+      if (this.boy._done) {
+        return;
       }
-      if (err) {
-        process2.nextTick(cb, err);
-        errorOrDestroy(stream2, err, true);
-        return err;
+      if (this._state === "key" && this._key.length > 0) {
+        this.boy.emit(
+          "field",
+          decodeText(this._key, "binary", this.charset),
+          "",
+          this._keyTrunc,
+          false
+        );
+      } else if (this._state === "val") {
+        this.boy.emit(
+          "field",
+          decodeText(this._key, "binary", this.charset),
+          decodeText(this._val, "binary", this.charset),
+          this._keyTrunc,
+          this._valTrunc
+        );
       }
-      state.pendingcb++;
-      return writeOrBuffer(stream2, state, chunk, encoding, cb);
-    }
-    Writable.prototype.write = function(chunk, encoding, cb) {
-      return _write(this, chunk, encoding, cb) === true;
-    };
-    Writable.prototype.cork = function() {
-      this._writableState.corked++;
+      this.boy._done = true;
+      this.boy.emit("finish");
     };
-    Writable.prototype.uncork = function() {
-      const state = this._writableState;
-      if (state.corked) {
-        state.corked--;
-        if (!state.writing) clearBuffer(this, state);
+    module2.exports = UrlEncoded;
+  }
+});
+
+// node_modules/@fastify/busboy/lib/main.js
+var require_main = __commonJS({
+  "node_modules/@fastify/busboy/lib/main.js"(exports2, module2) {
+    "use strict";
+    var WritableStream = require("node:stream").Writable;
+    var { inherits } = require("node:util");
+    var Dicer = require_Dicer();
+    var MultipartParser = require_multipart2();
+    var UrlencodedParser = require_urlencoded();
+    var parseParams = require_parseParams();
+    function Busboy(opts) {
+      if (!(this instanceof Busboy)) {
+        return new Busboy(opts);
       }
-    };
-    Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {
-      if (typeof encoding === "string") encoding = StringPrototypeToLowerCase(encoding);
-      if (!Buffer2.isEncoding(encoding)) throw new ERR_UNKNOWN_ENCODING(encoding);
-      this._writableState.defaultEncoding = encoding;
-      return this;
-    };
-    function writeOrBuffer(stream2, state, chunk, encoding, callback) {
-      const len = state.objectMode ? 1 : chunk.length;
-      state.length += len;
-      const ret = state.length < state.highWaterMark;
-      if (!ret) state.needDrain = true;
-      if (state.writing || state.corked || state.errored || !state.constructed) {
-        state.buffered.push({
-          chunk,
-          encoding,
-          callback
-        });
-        if (state.allBuffers && encoding !== "buffer") {
-          state.allBuffers = false;
-        }
-        if (state.allNoop && callback !== nop) {
-          state.allNoop = false;
-        }
-      } else {
-        state.writelen = len;
-        state.writecb = callback;
-        state.writing = true;
-        state.sync = true;
-        stream2._write(chunk, encoding, state.onwrite);
-        state.sync = false;
+      if (typeof opts !== "object") {
+        throw new TypeError("Busboy expected an options-Object.");
       }
-      return ret && !state.errored && !state.destroyed;
-    }
-    function doWrite(stream2, state, writev, len, chunk, encoding, cb) {
-      state.writelen = len;
-      state.writecb = cb;
-      state.writing = true;
-      state.sync = true;
-      if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED("write"));
-      else if (writev) stream2._writev(chunk, state.onwrite);
-      else stream2._write(chunk, encoding, state.onwrite);
-      state.sync = false;
-    }
-    function onwriteError(stream2, state, er, cb) {
-      --state.pendingcb;
-      cb(er);
-      errorBuffer(state);
-      errorOrDestroy(stream2, er);
-    }
-    function onwrite(stream2, er) {
-      const state = stream2._writableState;
-      const sync = state.sync;
-      const cb = state.writecb;
-      if (typeof cb !== "function") {
-        errorOrDestroy(stream2, new ERR_MULTIPLE_CALLBACK());
-        return;
+      if (typeof opts.headers !== "object") {
+        throw new TypeError("Busboy expected an options-Object with headers-attribute.");
       }
-      state.writing = false;
-      state.writecb = null;
-      state.length -= state.writelen;
-      state.writelen = 0;
-      if (er) {
-        er.stack;
-        if (!state.errored) {
-          state.errored = er;
-        }
-        if (stream2._readableState && !stream2._readableState.errored) {
-          stream2._readableState.errored = er;
-        }
-        if (sync) {
-          process2.nextTick(onwriteError, stream2, state, er, cb);
-        } else {
-          onwriteError(stream2, state, er, cb);
-        }
-      } else {
-        if (state.buffered.length > state.bufferedIndex) {
-          clearBuffer(stream2, state);
-        }
-        if (sync) {
-          if (state.afterWriteTickInfo !== null && state.afterWriteTickInfo.cb === cb) {
-            state.afterWriteTickInfo.count++;
-          } else {
-            state.afterWriteTickInfo = {
-              count: 1,
-              cb,
-              stream: stream2,
-              state
-            };
-            process2.nextTick(afterWriteTick, state.afterWriteTickInfo);
-          }
-        } else {
-          afterWrite(stream2, state, 1, cb);
-        }
+      if (typeof opts.headers["content-type"] !== "string") {
+        throw new TypeError("Missing Content-Type-header.");
       }
+      const {
+        headers,
+        ...streamOptions
+      } = opts;
+      this.opts = {
+        autoDestroy: false,
+        ...streamOptions
+      };
+      WritableStream.call(this, this.opts);
+      this._done = false;
+      this._parser = this.getParserByHeaders(headers);
+      this._finished = false;
     }
-    function afterWriteTick({ stream: stream2, state, count, cb }) {
-      state.afterWriteTickInfo = null;
-      return afterWrite(stream2, state, count, cb);
-    }
-    function afterWrite(stream2, state, count, cb) {
-      const needDrain = !state.ending && !stream2.destroyed && state.length === 0 && state.needDrain;
-      if (needDrain) {
-        state.needDrain = false;
-        stream2.emit("drain");
+    inherits(Busboy, WritableStream);
+    Busboy.prototype.emit = function(ev) {
+      if (ev === "finish") {
+        if (!this._done) {
+          this._parser?.end();
+          return;
+        } else if (this._finished) {
+          return;
+        }
+        this._finished = true;
       }
-      while (count-- > 0) {
-        state.pendingcb--;
-        cb();
+      WritableStream.prototype.emit.apply(this, arguments);
+    };
+    Busboy.prototype.getParserByHeaders = function(headers) {
+      const parsed = parseParams(headers["content-type"]);
+      const cfg = {
+        defCharset: this.opts.defCharset,
+        fileHwm: this.opts.fileHwm,
+        headers,
+        highWaterMark: this.opts.highWaterMark,
+        isPartAFile: this.opts.isPartAFile,
+        limits: this.opts.limits,
+        parsedConType: parsed,
+        preservePath: this.opts.preservePath
+      };
+      if (MultipartParser.detect.test(parsed[0])) {
+        return new MultipartParser(this, cfg);
       }
-      if (state.destroyed) {
-        errorBuffer(state);
+      if (UrlencodedParser.detect.test(parsed[0])) {
+        return new UrlencodedParser(this, cfg);
       }
-      finishMaybe(stream2, state);
-    }
-    function errorBuffer(state) {
-      if (state.writing) {
-        return;
+      throw new Error("Unsupported Content-Type.");
+    };
+    Busboy.prototype._write = function(chunk, encoding, cb) {
+      this._parser.write(chunk, cb);
+    };
+    module2.exports = Busboy;
+    module2.exports.default = Busboy;
+    module2.exports.Busboy = Busboy;
+    module2.exports.Dicer = Dicer;
+  }
+});
+
+// node_modules/undici/lib/fetch/constants.js
+var require_constants21 = __commonJS({
+  "node_modules/undici/lib/fetch/constants.js"(exports2, module2) {
+    "use strict";
+    var { MessageChannel, receiveMessageOnPort } = require("worker_threads");
+    var corsSafeListedMethods = ["GET", "HEAD", "POST"];
+    var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
+    var nullBodyStatus = [101, 204, 205, 304];
+    var redirectStatus = [301, 302, 303, 307, 308];
+    var redirectStatusSet = new Set(redirectStatus);
+    var badPorts = [
+      "1",
+      "7",
+      "9",
+      "11",
+      "13",
+      "15",
+      "17",
+      "19",
+      "20",
+      "21",
+      "22",
+      "23",
+      "25",
+      "37",
+      "42",
+      "43",
+      "53",
+      "69",
+      "77",
+      "79",
+      "87",
+      "95",
+      "101",
+      "102",
+      "103",
+      "104",
+      "109",
+      "110",
+      "111",
+      "113",
+      "115",
+      "117",
+      "119",
+      "123",
+      "135",
+      "137",
+      "139",
+      "143",
+      "161",
+      "179",
+      "389",
+      "427",
+      "465",
+      "512",
+      "513",
+      "514",
+      "515",
+      "526",
+      "530",
+      "531",
+      "532",
+      "540",
+      "548",
+      "554",
+      "556",
+      "563",
+      "587",
+      "601",
+      "636",
+      "989",
+      "990",
+      "993",
+      "995",
+      "1719",
+      "1720",
+      "1723",
+      "2049",
+      "3659",
+      "4045",
+      "5060",
+      "5061",
+      "6000",
+      "6566",
+      "6665",
+      "6666",
+      "6667",
+      "6668",
+      "6669",
+      "6697",
+      "10080"
+    ];
+    var badPortsSet = new Set(badPorts);
+    var referrerPolicy = [
+      "",
+      "no-referrer",
+      "no-referrer-when-downgrade",
+      "same-origin",
+      "origin",
+      "strict-origin",
+      "origin-when-cross-origin",
+      "strict-origin-when-cross-origin",
+      "unsafe-url"
+    ];
+    var referrerPolicySet = new Set(referrerPolicy);
+    var requestRedirect = ["follow", "manual", "error"];
+    var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"];
+    var safeMethodsSet = new Set(safeMethods);
+    var requestMode = ["navigate", "same-origin", "no-cors", "cors"];
+    var requestCredentials = ["omit", "same-origin", "include"];
+    var requestCache = [
+      "default",
+      "no-store",
+      "reload",
+      "no-cache",
+      "force-cache",
+      "only-if-cached"
+    ];
+    var requestBodyHeader = [
+      "content-encoding",
+      "content-language",
+      "content-location",
+      "content-type",
+      // See https://github.com/nodejs/undici/issues/2021
+      // 'Content-Length' is a forbidden header name, which is typically
+      // removed in the Headers implementation. However, undici doesn't
+      // filter out headers, so we add it here.
+      "content-length"
+    ];
+    var requestDuplex = [
+      "half"
+    ];
+    var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"];
+    var forbiddenMethodsSet = new Set(forbiddenMethods);
+    var subresource = [
+      "audio",
+      "audioworklet",
+      "font",
+      "image",
+      "manifest",
+      "paintworklet",
+      "script",
+      "style",
+      "track",
+      "video",
+      "xslt",
+      ""
+    ];
+    var subresourceSet = new Set(subresource);
+    var DOMException2 = globalThis.DOMException ?? (() => {
+      try {
+        atob("~");
+      } catch (err) {
+        return Object.getPrototypeOf(err).constructor;
       }
-      for (let n = state.bufferedIndex; n < state.buffered.length; ++n) {
-        var _state$errored;
-        const { chunk, callback } = state.buffered[n];
-        const len = state.objectMode ? 1 : chunk.length;
-        state.length -= len;
-        callback(
-          (_state$errored = state.errored) !== null && _state$errored !== void 0 ? _state$errored : new ERR_STREAM_DESTROYED("write")
-        );
+    })();
+    var channel;
+    var structuredClone = globalThis.structuredClone ?? // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js
+    // structuredClone was added in v17.0.0, but fetch supports v16.8
+    function structuredClone2(value, options = void 0) {
+      if (arguments.length === 0) {
+        throw new TypeError("missing argument");
       }
-      const onfinishCallbacks = state[kOnFinished].splice(0);
-      for (let i = 0; i < onfinishCallbacks.length; i++) {
-        var _state$errored2;
-        onfinishCallbacks[i](
-          (_state$errored2 = state.errored) !== null && _state$errored2 !== void 0 ? _state$errored2 : new ERR_STREAM_DESTROYED("end")
-        );
+      if (!channel) {
+        channel = new MessageChannel();
       }
-      resetBuffer(state);
+      channel.port1.unref();
+      channel.port2.unref();
+      channel.port1.postMessage(value, options?.transfer);
+      return receiveMessageOnPort(channel.port2).message;
+    };
+    module2.exports = {
+      DOMException: DOMException2,
+      structuredClone,
+      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/fetch/global.js
+var require_global5 = __commonJS({
+  "node_modules/undici/lib/fetch/global.js"(exports2, module2) {
+    "use strict";
+    var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
+    function getGlobalOrigin() {
+      return globalThis[globalOrigin];
     }
-    function clearBuffer(stream2, state) {
-      if (state.corked || state.bufferProcessing || state.destroyed || !state.constructed) {
-        return;
-      }
-      const { buffered, bufferedIndex, objectMode } = state;
-      const bufferedLength = buffered.length - bufferedIndex;
-      if (!bufferedLength) {
+    function setGlobalOrigin(newOrigin) {
+      if (newOrigin === void 0) {
+        Object.defineProperty(globalThis, globalOrigin, {
+          value: void 0,
+          writable: true,
+          enumerable: false,
+          configurable: false
+        });
         return;
       }
-      let i = bufferedIndex;
-      state.bufferProcessing = true;
-      if (bufferedLength > 1 && stream2._writev) {
-        state.pendingcb -= bufferedLength - 1;
-        const callback = state.allNoop ? nop : (err) => {
-          for (let n = i; n < buffered.length; ++n) {
-            buffered[n].callback(err);
-          }
-        };
-        const chunks = state.allNoop && i === 0 ? buffered : ArrayPrototypeSlice(buffered, i);
-        chunks.allBuffers = state.allBuffers;
-        doWrite(stream2, state, true, state.length, chunks, "", callback);
-        resetBuffer(state);
-      } else {
-        do {
-          const { chunk, encoding, callback } = buffered[i];
-          buffered[i++] = null;
-          const len = objectMode ? 1 : chunk.length;
-          doWrite(stream2, state, false, len, chunk, encoding, callback);
-        } while (i < buffered.length && !state.writing);
-        if (i === buffered.length) {
-          resetBuffer(state);
-        } else if (i > 256) {
-          buffered.splice(0, i);
-          state.bufferedIndex = 0;
-        } else {
-          state.bufferedIndex = i;
-        }
+      const parsedURL = new URL(newOrigin);
+      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
+        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
       }
-      state.bufferProcessing = false;
+      Object.defineProperty(globalThis, globalOrigin, {
+        value: parsedURL,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
     }
-    Writable.prototype._write = function(chunk, encoding, cb) {
-      if (this._writev) {
-        this._writev(
-          [
-            {
-              chunk,
-              encoding
-            }
-          ],
-          cb
-        );
-      } else {
-        throw new ERR_METHOD_NOT_IMPLEMENTED("_write()");
-      }
+    module2.exports = {
+      getGlobalOrigin,
+      setGlobalOrigin
     };
-    Writable.prototype._writev = null;
-    Writable.prototype.end = function(chunk, encoding, cb) {
-      const state = this._writableState;
-      if (typeof chunk === "function") {
-        cb = chunk;
-        chunk = null;
-        encoding = null;
-      } else if (typeof encoding === "function") {
-        cb = encoding;
-        encoding = null;
-      }
-      let err;
-      if (chunk !== null && chunk !== void 0) {
-        const ret = _write(this, chunk, encoding);
-        if (ret instanceof Error2) {
-          err = ret;
-        }
+  }
+});
+
+// node_modules/undici/lib/fetch/util.js
+var require_util25 = __commonJS({
+  "node_modules/undici/lib/fetch/util.js"(exports2, module2) {
+    "use strict";
+    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants21();
+    var { getGlobalOrigin } = require_global5();
+    var { performance: performance3 } = require("perf_hooks");
+    var { isBlobLike, toUSVString, ReadableStreamFrom } = require_util24();
+    var assert = require("assert");
+    var { isUint8Array } = require("util/types");
+    var supportedHashes = [];
+    var crypto2;
+    try {
+      crypto2 = require("crypto");
+      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
+      supportedHashes = crypto2.getHashes().filter((hash2) => possibleRelevantHashes.includes(hash2));
+    } catch {
+    }
+    function responseURL(response) {
+      const urlList = response.urlList;
+      const length = urlList.length;
+      return length === 0 ? null : urlList[length - 1].toString();
+    }
+    function responseLocationURL(response, requestFragment) {
+      if (!redirectStatusSet.has(response.status)) {
+        return null;
       }
-      if (state.corked) {
-        state.corked = 1;
-        this.uncork();
+      let location = response.headersList.get("location");
+      if (location !== null && isValidHeaderValue(location)) {
+        location = new URL(location, responseURL(response));
       }
-      if (err) {
-      } else if (!state.errored && !state.ending) {
-        state.ending = true;
-        finishMaybe(this, state, true);
-        state.ended = true;
-      } else if (state.finished) {
-        err = new ERR_STREAM_ALREADY_FINISHED("end");
-      } else if (state.destroyed) {
-        err = new ERR_STREAM_DESTROYED("end");
+      if (location && !location.hash) {
+        location.hash = requestFragment;
       }
-      if (typeof cb === "function") {
-        if (err || state.finished) {
-          process2.nextTick(cb, err);
-        } else {
-          state[kOnFinished].push(cb);
-        }
+      return location;
+    }
+    function requestCurrentURL(request2) {
+      return request2.urlList[request2.urlList.length - 1];
+    }
+    function requestBadPort(request2) {
+      const url2 = requestCurrentURL(request2);
+      if (urlIsHttpHttpsScheme(url2) && badPortsSet.has(url2.port)) {
+        return "blocked";
       }
-      return this;
-    };
-    function needFinish(state) {
-      return state.ending && !state.destroyed && state.constructed && state.length === 0 && !state.errored && state.buffered.length === 0 && !state.finished && !state.writing && !state.errorEmitted && !state.closeEmitted;
+      return "allowed";
     }
-    function callFinal(stream2, state) {
-      let called = false;
-      function onFinish(err) {
-        if (called) {
-          errorOrDestroy(stream2, err !== null && err !== void 0 ? err : ERR_MULTIPLE_CALLBACK());
-          return;
-        }
-        called = true;
-        state.pendingcb--;
-        if (err) {
-          const onfinishCallbacks = state[kOnFinished].splice(0);
-          for (let i = 0; i < onfinishCallbacks.length; i++) {
-            onfinishCallbacks[i](err);
-          }
-          errorOrDestroy(stream2, err, state.sync);
-        } else if (needFinish(state)) {
-          state.prefinished = true;
-          stream2.emit("prefinish");
-          state.pendingcb++;
-          process2.nextTick(finish, stream2, state);
+    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;
         }
       }
-      state.sync = true;
-      state.pendingcb++;
-      try {
-        stream2._final(onFinish);
-      } catch (err) {
-        onFinish(err);
-      }
-      state.sync = false;
+      return true;
     }
-    function prefinish(stream2, state) {
-      if (!state.prefinished && !state.finalCalled) {
-        if (typeof stream2._final === "function" && !state.destroyed) {
-          state.finalCalled = true;
-          callFinal(stream2, state);
-        } else {
-          state.prefinished = true;
-          stream2.emit("prefinish");
-        }
+    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;
       }
     }
-    function finishMaybe(stream2, state, sync) {
-      if (needFinish(state)) {
-        prefinish(stream2, state);
-        if (state.pendingcb === 0) {
-          if (sync) {
-            state.pendingcb++;
-            process2.nextTick(
-              (stream3, state2) => {
-                if (needFinish(state2)) {
-                  finish(stream3, state2);
-                } else {
-                  state2.pendingcb--;
-                }
-              },
-              stream2,
-              state
-            );
-          } else if (needFinish(state)) {
-            state.pendingcb++;
-            finish(stream2, state);
-          }
+    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 true;
     }
-    function finish(stream2, state) {
-      state.pendingcb--;
-      state.finished = true;
-      const onfinishCallbacks = state[kOnFinished].splice(0);
-      for (let i = 0; i < onfinishCallbacks.length; i++) {
-        onfinishCallbacks[i]();
+    function isValidHeaderName(potentialValue) {
+      return isValidHTTPToken(potentialValue);
+    }
+    function isValidHeaderValue(potentialValue) {
+      if (potentialValue.startsWith("	") || potentialValue.startsWith(" ") || potentialValue.endsWith("	") || potentialValue.endsWith(" ")) {
+        return false;
       }
-      stream2.emit("finish");
-      if (state.autoDestroy) {
-        const rState = stream2._readableState;
-        const autoDestroy = !rState || rState.autoDestroy && // We don't expect the readable to ever 'end'
-        // if readable is explicitly set to false.
-        (rState.endEmitted || rState.readable === false);
-        if (autoDestroy) {
-          stream2.destroy();
-        }
+      if (potentialValue.includes("\0") || potentialValue.includes("\r") || potentialValue.includes("\n")) {
+        return false;
       }
+      return true;
     }
-    ObjectDefineProperties(Writable.prototype, {
-      closed: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.closed : false;
-        }
-      },
-      destroyed: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.destroyed : false;
-        },
-        set(value) {
-          if (this._writableState) {
-            this._writableState.destroyed = value;
-          }
-        }
-      },
-      writable: {
-        __proto__: null,
-        get() {
-          const w = this._writableState;
-          return !!w && w.writable !== false && !w.destroyed && !w.errored && !w.ending && !w.ended;
-        },
-        set(val) {
-          if (this._writableState) {
-            this._writableState.writable = !!val;
+    function setRequestReferrerPolicyOnRedirect(request2, actualResponse) {
+      const { headersList } = actualResponse;
+      const policyHeader = (headersList.get("referrer-policy") ?? "").split(",");
+      let policy = "";
+      if (policyHeader.length > 0) {
+        for (let i = policyHeader.length; i !== 0; i--) {
+          const token = policyHeader[i - 1].trim();
+          if (referrerPolicyTokens.has(token)) {
+            policy = token;
+            break;
           }
         }
-      },
-      writableFinished: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.finished : false;
-        }
-      },
-      writableObjectMode: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.objectMode : false;
-        }
-      },
-      writableBuffer: {
-        __proto__: null,
-        get() {
-          return this._writableState && this._writableState.getBuffer();
-        }
-      },
-      writableEnded: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.ending : false;
-        }
-      },
-      writableNeedDrain: {
-        __proto__: null,
-        get() {
-          const wState = this._writableState;
-          if (!wState) return false;
-          return !wState.destroyed && !wState.ending && wState.needDrain;
-        }
-      },
-      writableHighWaterMark: {
-        __proto__: null,
-        get() {
-          return this._writableState && this._writableState.highWaterMark;
-        }
-      },
-      writableCorked: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.corked : 0;
-        }
-      },
-      writableLength: {
-        __proto__: null,
-        get() {
-          return this._writableState && this._writableState.length;
+      }
+      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);
+    }
+    function appendRequestOriginHeader(request2) {
+      let serializedOrigin = request2.origin;
+      if (request2.responseTainting === "cors" || request2.mode === "websocket") {
+        if (serializedOrigin) {
+          request2.headersList.append("origin", serializedOrigin);
         }
-      },
-      errored: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._writableState ? this._writableState.errored : null;
+      } 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:
         }
-      },
-      writableAborted: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return !!(this._writableState.writable !== false && (this._writableState.destroyed || this._writableState.errored) && !this._writableState.finished);
+        if (serializedOrigin) {
+          request2.headersList.append("origin", serializedOrigin);
         }
       }
-    });
-    var destroy = destroyImpl.destroy;
-    Writable.prototype.destroy = function(err, cb) {
-      const state = this._writableState;
-      if (!state.destroyed && (state.bufferedIndex < state.buffered.length || state[kOnFinished].length)) {
-        process2.nextTick(errorBuffer, state);
-      }
-      destroy.call(this, err, cb);
-      return this;
-    };
-    Writable.prototype._undestroy = destroyImpl.undestroy;
-    Writable.prototype._destroy = function(err, cb) {
-      cb(err);
-    };
-    Writable.prototype[EE.captureRejectionSymbol] = function(err) {
-      this.destroy(err);
-    };
-    var webStreamsAdapters;
-    function lazyWebStreams() {
-      if (webStreamsAdapters === void 0) webStreamsAdapters = {};
-      return webStreamsAdapters;
     }
-    Writable.fromWeb = function(writableStream, options) {
-      return lazyWebStreams().newStreamWritableFromWritableStream(writableStream, options);
-    };
-    Writable.toWeb = function(streamWritable) {
-      return lazyWebStreams().newWritableStreamFromStreamWritable(streamWritable);
-    };
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/duplexify.js
-var require_duplexify = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/duplexify.js"(exports2, module2) {
-    var process2 = require_process();
-    var bufferModule = require("buffer");
-    var {
-      isReadable,
-      isWritable,
-      isIterable,
-      isNodeStream,
-      isReadableNodeStream,
-      isWritableNodeStream,
-      isDuplexNodeStream,
-      isReadableStream,
-      isWritableStream
-    } = require_utils8();
-    var eos = require_end_of_stream();
-    var {
-      AbortError,
-      codes: { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_RETURN_VALUE }
-    } = require_errors5();
-    var { destroyer } = require_destroy2();
-    var Duplex = require_duplex();
-    var Readable2 = require_readable4();
-    var Writable = require_writable();
-    var { createDeferredPromise } = require_util20();
-    var from = require_from();
-    var Blob2 = globalThis.Blob || bufferModule.Blob;
-    var isBlob = typeof Blob2 !== "undefined" ? function isBlob2(b) {
-      return b instanceof Blob2;
-    } : function isBlob2(b) {
-      return false;
-    };
-    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
-    var { FunctionPrototypeCall } = require_primordials();
-    var Duplexify = class extends Duplex {
-      constructor(options) {
-        super(options);
-        if ((options === null || options === void 0 ? void 0 : options.readable) === false) {
-          this._readableState.readable = false;
-          this._readableState.ended = true;
-          this._readableState.endEmitted = true;
-        }
-        if ((options === null || options === void 0 ? void 0 : options.writable) === false) {
-          this._writableState.writable = false;
-          this._writableState.ending = true;
-          this._writableState.ended = true;
-          this._writableState.finished = true;
+    function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
+      return performance3.now();
+    }
+    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;
       }
-    };
-    module2.exports = function duplexify(body, name) {
-      if (isDuplexNodeStream(body)) {
-        return body;
+      let referrerURL = stripURLForReferrer(referrerSource);
+      const referrerOrigin = stripURLForReferrer(referrerSource, true);
+      if (referrerURL.toString().length > 4096) {
+        referrerURL = referrerOrigin;
       }
-      if (isReadableNodeStream(body)) {
-        return _duplexify({
-          readable: body
-        });
+      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":
+        // eslint-disable-line
+        /**
+           * 1. If referrerURL is a potentially trustworthy URL and
+           * request’s current URL is not a potentially trustworthy URL,
+           * then return no referrer.
+           * 2. Return referrerOrigin
+          */
+        case "no-referrer-when-downgrade":
+        // eslint-disable-line
+        /**
+         * 1. If referrerURL is a potentially trustworthy URL and
+         * request’s current URL is not a potentially trustworthy URL,
+         * then return no referrer.
+         * 2. Return referrerOrigin
+        */
+        default:
+          return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
       }
-      if (isWritableNodeStream(body)) {
-        return _duplexify({
-          writable: body
-        });
+    }
+    function stripURLForReferrer(url2, originOnly) {
+      assert(url2 instanceof URL);
+      if (url2.protocol === "file:" || url2.protocol === "about:" || url2.protocol === "blank:") {
+        return "no-referrer";
       }
-      if (isNodeStream(body)) {
-        return _duplexify({
-          writable: false,
-          readable: false
-        });
+      url2.username = "";
+      url2.password = "";
+      url2.hash = "";
+      if (originOnly) {
+        url2.pathname = "";
+        url2.search = "";
       }
-      if (isReadableStream(body)) {
-        return _duplexify({
-          readable: Readable2.fromWeb(body)
-        });
+      return url2;
+    }
+    function isURLPotentiallyTrustworthy(url2) {
+      if (!(url2 instanceof URL)) {
+        return false;
       }
-      if (isWritableStream(body)) {
-        return _duplexify({
-          writable: Writable.fromWeb(body)
-        });
+      if (url2.href === "about:blank" || url2.href === "about:srcdoc") {
+        return true;
       }
-      if (typeof body === "function") {
-        const { value, write, final, destroy } = fromAsyncGen(body);
-        if (isIterable(value)) {
-          return from(Duplexify, value, {
-            // TODO (ronag): highWaterMark?
-            objectMode: true,
-            write,
-            final,
-            destroy
-          });
+      if (url2.protocol === "data:") return true;
+      if (url2.protocol === "file:") return true;
+      return isOriginPotentiallyTrustworthy(url2.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;
         }
-        const then2 = value === null || value === void 0 ? void 0 : value.then;
-        if (typeof then2 === "function") {
-          let d;
-          const promise = FunctionPrototypeCall(
-            then2,
-            value,
-            (val) => {
-              if (val != null) {
-                throw new ERR_INVALID_RETURN_VALUE("nully", "body", val);
-              }
-            },
-            (err) => {
-              destroyer(d, err);
-            }
-          );
-          return d = new Duplexify({
-            // TODO (ronag): highWaterMark?
-            objectMode: true,
-            readable: false,
-            write,
-            final(cb) {
-              final(async () => {
-                try {
-                  await promise;
-                  process2.nextTick(cb, null);
-                } catch (err) {
-                  process2.nextTick(cb, err);
-                }
-              });
-            },
-            destroy
-          });
+        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;
         }
-        throw new ERR_INVALID_RETURN_VALUE("Iterable, AsyncIterable or AsyncFunction", name, value);
-      }
-      if (isBlob(body)) {
-        return duplexify(body.arrayBuffer());
-      }
-      if (isIterable(body)) {
-        return from(Duplexify, body, {
-          // TODO (ronag): highWaterMark?
-          objectMode: true,
-          writable: false
-        });
+        return false;
       }
-      if (isReadableStream(body === null || body === void 0 ? void 0 : body.readable) && isWritableStream(body === null || body === void 0 ? void 0 : body.writable)) {
-        return Duplexify.fromWeb(body);
+    }
+    function bytesMatch(bytes, metadataList) {
+      if (crypto2 === void 0) {
+        return true;
       }
-      if (typeof (body === null || body === void 0 ? void 0 : body.writable) === "object" || typeof (body === null || body === void 0 ? void 0 : body.readable) === "object") {
-        const readable = body !== null && body !== void 0 && body.readable ? isReadableNodeStream(body === null || body === void 0 ? void 0 : body.readable) ? body === null || body === void 0 ? void 0 : body.readable : duplexify(body.readable) : void 0;
-        const writable = body !== null && body !== void 0 && body.writable ? isWritableNodeStream(body === null || body === void 0 ? void 0 : body.writable) ? body === null || body === void 0 ? void 0 : body.writable : duplexify(body.writable) : void 0;
-        return _duplexify({
-          readable,
-          writable
-        });
+      const parsedMetadata = parseMetadata(metadataList);
+      if (parsedMetadata === "no metadata") {
+        return true;
       }
-      const then = body === null || body === void 0 ? void 0 : body.then;
-      if (typeof then === "function") {
-        let d;
-        FunctionPrototypeCall(
-          then,
-          body,
-          (val) => {
-            if (val != null) {
-              d.push(val);
-            }
-            d.push(null);
-          },
-          (err) => {
-            destroyer(d, err);
-          }
-        );
-        return d = new Duplexify({
-          objectMode: true,
-          writable: false,
-          read() {
-          }
-        });
+      if (parsedMetadata.length === 0) {
+        return true;
       }
-      throw new ERR_INVALID_ARG_TYPE2(
-        name,
-        [
-          "Blob",
-          "ReadableStream",
-          "WritableStream",
-          "Stream",
-          "Iterable",
-          "AsyncIterable",
-          "Function",
-          "{ readable, writable } pair",
-          "Promise"
-        ],
-        body
-      );
-    };
-    function fromAsyncGen(fn) {
-      let { promise, resolve: resolve8 } = createDeferredPromise();
-      const ac = new AbortController2();
-      const signal = ac.signal;
-      const value = fn(
-        (async function* () {
-          while (true) {
-            const _promise = promise;
-            promise = null;
-            const { chunk, done, cb } = await _promise;
-            process2.nextTick(cb);
-            if (done) return;
-            if (signal.aborted)
-              throw new AbortError(void 0, {
-                cause: signal.reason
-              });
-            ({ promise, resolve: resolve8 } = createDeferredPromise());
-            yield chunk;
+      const strongest = getStrongestMetadata(parsedMetadata);
+      const metadata = filterMetadataListByAlgorithm(parsedMetadata, strongest);
+      for (const item of metadata) {
+        const algorithm = item.algo;
+        const expectedValue = item.hash;
+        let actualValue = crypto2.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);
           }
-        })(),
-        {
-          signal
         }
-      );
-      return {
-        value,
-        write(chunk, encoding, cb) {
-          const _resolve = resolve8;
-          resolve8 = null;
-          _resolve({
-            chunk,
-            done: false,
-            cb
-          });
-        },
-        final(cb) {
-          const _resolve = resolve8;
-          resolve8 = null;
-          _resolve({
-            done: true,
-            cb
-          });
-        },
-        destroy(err, cb) {
-          ac.abort();
-          cb(err);
+        if (compareBase64Mixed(actualValue, expectedValue)) {
+          return true;
         }
-      };
+      }
+      return false;
     }
-    function _duplexify(pair) {
-      const r = pair.readable && typeof pair.readable.read !== "function" ? Readable2.wrap(pair.readable) : pair.readable;
-      const w = pair.writable;
-      let readable = !!isReadable(r);
-      let writable = !!isWritable(w);
-      let ondrain;
-      let onfinish;
-      let onreadable;
-      let onclose;
-      let d;
-      function onfinished(err) {
-        const cb = onclose;
-        onclose = null;
-        if (cb) {
-          cb(err);
-        } else if (err) {
-          d.destroy(err);
+    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 token of metadata.split(" ")) {
+        empty = false;
+        const parsedToken = parseHashWithOptions.exec(token);
+        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);
         }
       }
-      d = new Duplexify({
-        // TODO (ronag): highWaterMark?
-        readableObjectMode: !!(r !== null && r !== void 0 && r.readableObjectMode),
-        writableObjectMode: !!(w !== null && w !== void 0 && w.writableObjectMode),
-        readable,
-        writable
-      });
-      if (writable) {
-        eos(w, (err) => {
-          writable = false;
-          if (err) {
-            destroyer(r, err);
-          }
-          onfinished(err);
-        });
-        d._write = function(chunk, encoding, callback) {
-          if (w.write(chunk, encoding)) {
-            callback();
-          } else {
-            ondrain = callback;
-          }
-        };
-        d._final = function(callback) {
-          w.end();
-          onfinish = callback;
-        };
-        w.on("drain", function() {
-          if (ondrain) {
-            const cb = ondrain;
-            ondrain = null;
-            cb();
-          }
-        });
-        w.on("finish", function() {
-          if (onfinish) {
-            const cb = onfinish;
-            onfinish = null;
-            cb();
-          }
-        });
+      if (empty === true) {
+        return "no metadata";
       }
-      if (readable) {
-        eos(r, (err) => {
-          readable = false;
-          if (err) {
-            destroyer(r, err);
-          }
-          onfinished(err);
-        });
-        r.on("readable", function() {
-          if (onreadable) {
-            const cb = onreadable;
-            onreadable = null;
-            cb();
-          }
-        });
-        r.on("end", function() {
-          d.push(null);
-        });
-        d._read = function() {
-          while (true) {
-            const buf = r.read();
-            if (buf === null) {
-              onreadable = d._read;
-              return;
-            }
-            if (!d.push(buf)) {
-              return;
-            }
-          }
-        };
+      return result;
+    }
+    function getStrongestMetadata(metadataList) {
+      let algorithm = metadataList[0].algo;
+      if (algorithm[3] === "5") {
+        return algorithm;
       }
-      d._destroy = function(err, callback) {
-        if (!err && onclose !== null) {
-          err = new AbortError();
-        }
-        onreadable = null;
-        ondrain = null;
-        onfinish = null;
-        if (onclose === null) {
-          callback(err);
-        } else {
-          onclose = callback;
-          destroyer(w, err);
-          destroyer(r, err);
+      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 d;
-    }
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/duplex.js
-var require_duplex = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/duplex.js"(exports2, module2) {
-    "use strict";
-    var {
-      ObjectDefineProperties,
-      ObjectGetOwnPropertyDescriptor,
-      ObjectKeys,
-      ObjectSetPrototypeOf
-    } = require_primordials();
-    module2.exports = Duplex;
-    var Readable2 = require_readable4();
-    var Writable = require_writable();
-    ObjectSetPrototypeOf(Duplex.prototype, Readable2.prototype);
-    ObjectSetPrototypeOf(Duplex, Readable2);
-    {
-      const keys = ObjectKeys(Writable.prototype);
-      for (let i = 0; i < keys.length; i++) {
-        const method = keys[i];
-        if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];
       }
+      return algorithm;
     }
-    function Duplex(options) {
-      if (!(this instanceof Duplex)) return new Duplex(options);
-      Readable2.call(this, options);
-      Writable.call(this, options);
-      if (options) {
-        this.allowHalfOpen = options.allowHalfOpen !== false;
-        if (options.readable === false) {
-          this._readableState.readable = false;
-          this._readableState.ended = true;
-          this._readableState.endEmitted = true;
+    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];
         }
-        if (options.writable === false) {
-          this._writableState.writable = false;
-          this._writableState.ending = true;
-          this._writableState.ended = true;
-          this._writableState.finished = true;
+      }
+      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;
         }
-      } else {
-        this.allowHalfOpen = true;
       }
+      return true;
     }
-    ObjectDefineProperties(Duplex.prototype, {
-      writable: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writable")
-      },
-      writableHighWaterMark: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableHighWaterMark")
-      },
-      writableObjectMode: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableObjectMode")
-      },
-      writableBuffer: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableBuffer")
-      },
-      writableLength: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableLength")
-      },
-      writableFinished: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableFinished")
-      },
-      writableCorked: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableCorked")
-      },
-      writableEnded: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableEnded")
-      },
-      writableNeedDrain: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableNeedDrain")
-      },
-      destroyed: {
-        __proto__: null,
-        get() {
-          if (this._readableState === void 0 || this._writableState === void 0) {
-            return false;
+    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((resolve8, reject) => {
+        res = resolve8;
+        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";
+    }
+    var normalizeMethodRecord = {
+      delete: "DELETE",
+      DELETE: "DELETE",
+      get: "GET",
+      GET: "GET",
+      head: "HEAD",
+      HEAD: "HEAD",
+      options: "OPTIONS",
+      OPTIONS: "OPTIONS",
+      post: "POST",
+      POST: "POST",
+      put: "PUT",
+      PUT: "PUT"
+    };
+    Object.setPrototypeOf(normalizeMethodRecord, null);
+    function normalizeMethod(method) {
+      return normalizeMethodRecord[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 makeIterator(iterator2, name, kind) {
+      const object = {
+        index: 0,
+        kind,
+        target: iterator2
+      };
+      const i = {
+        next() {
+          if (Object.getPrototypeOf(this) !== i) {
+            throw new TypeError(
+              `'next' called on an object that does not implement interface ${name} Iterator.`
+            );
           }
-          return this._readableState.destroyed && this._writableState.destroyed;
-        },
-        set(value) {
-          if (this._readableState && this._writableState) {
-            this._readableState.destroyed = value;
-            this._writableState.destroyed = value;
+          const { index, kind: kind2, target } = object;
+          const values = target();
+          const len = values.length;
+          if (index >= len) {
+            return { value: void 0, done: true };
           }
+          const pair = values[index];
+          object.index = index + 1;
+          return iteratorResult(pair, kind2);
+        },
+        // The class string of an iterator prototype object for a given interface is the
+        // result of concatenating the identifier of the interface and the string " Iterator".
+        [Symbol.toStringTag]: `${name} Iterator`
+      };
+      Object.setPrototypeOf(i, esIteratorPrototype);
+      return Object.setPrototypeOf({}, i);
+    }
+    function iteratorResult(pair, kind) {
+      let result;
+      switch (kind) {
+        case "key": {
+          result = pair[0];
+          break;
+        }
+        case "value": {
+          result = pair[1];
+          break;
+        }
+        case "key+value": {
+          result = pair;
+          break;
         }
       }
-    });
-    var webStreamsAdapters;
-    function lazyWebStreams() {
-      if (webStreamsAdapters === void 0) webStreamsAdapters = {};
-      return webStreamsAdapters;
+      return { value: result, done: false };
     }
-    Duplex.fromWeb = function(pair, options) {
-      return lazyWebStreams().newStreamDuplexFromReadableWritablePair(pair, options);
-    };
-    Duplex.toWeb = function(duplex) {
-      return lazyWebStreams().newReadableWritablePairFromDuplex(duplex);
-    };
-    var duplexify;
-    Duplex.from = function(body) {
-      if (!duplexify) {
-        duplexify = require_duplexify();
+    async function fullyReadBody(body, processBody, processBodyError) {
+      const successSteps = processBody;
+      const errorSteps = processBodyError;
+      let reader;
+      try {
+        reader = body.stream.getReader();
+      } catch (e) {
+        errorSteps(e);
+        return;
       }
-      return duplexify(body, "body");
-    };
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/transform.js
-var require_transform = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/transform.js"(exports2, module2) {
-    "use strict";
-    var { ObjectSetPrototypeOf, Symbol: Symbol2 } = require_primordials();
-    module2.exports = Transform;
-    var { ERR_METHOD_NOT_IMPLEMENTED } = require_errors5().codes;
-    var Duplex = require_duplex();
-    var { getHighWaterMark } = require_state3();
-    ObjectSetPrototypeOf(Transform.prototype, Duplex.prototype);
-    ObjectSetPrototypeOf(Transform, Duplex);
-    var kCallback = Symbol2("kCallback");
-    function Transform(options) {
-      if (!(this instanceof Transform)) return new Transform(options);
-      const readableHighWaterMark = options ? getHighWaterMark(this, options, "readableHighWaterMark", true) : null;
-      if (readableHighWaterMark === 0) {
-        options = {
-          ...options,
-          highWaterMark: null,
-          readableHighWaterMark,
-          // TODO (ronag): 0 is not optimal since we have
-          // a "bug" where we check needDrain before calling _write and not after.
-          // Refs: https://github.com/nodejs/node/pull/32887
-          // Refs: https://github.com/nodejs/node/pull/35941
-          writableHighWaterMark: options.writableHighWaterMark || 0
-        };
+      try {
+        const result = await readAllBytes(reader);
+        successSteps(result);
+      } catch (e) {
+        errorSteps(e);
       }
-      Duplex.call(this, options);
-      this._readableState.sync = false;
-      this[kCallback] = null;
-      if (options) {
-        if (typeof options.transform === "function") this._transform = options.transform;
-        if (typeof options.flush === "function") this._flush = options.flush;
+    }
+    var ReadableStream2 = globalThis.ReadableStream;
+    function isReadableStreamLike(stream2) {
+      if (!ReadableStream2) {
+        ReadableStream2 = require("stream/web").ReadableStream;
       }
-      this.on("prefinish", prefinish);
+      return stream2 instanceof ReadableStream2 || stream2[Symbol.toStringTag] === "ReadableStream" && typeof stream2.tee === "function";
     }
-    function final(cb) {
-      if (typeof this._flush === "function" && !this.destroyed) {
-        this._flush((er, data) => {
-          if (er) {
-            if (cb) {
-              cb(er);
-            } else {
-              this.destroy(er);
-            }
-            return;
-          }
-          if (data != null) {
-            this.push(data);
-          }
-          this.push(null);
-          if (cb) {
-            cb();
-          }
-        });
-      } else {
-        this.push(null);
-        if (cb) {
-          cb();
+    var MAXIMUM_ARGUMENT_LENGTH = 65535;
+    function isomorphicDecode(input) {
+      if (input.length < MAXIMUM_ARGUMENT_LENGTH) {
+        return String.fromCharCode(...input);
+      }
+      return input.reduce((previous, current) => previous + String.fromCharCode(current), "");
+    }
+    function readableStreamClose(controller) {
+      try {
+        controller.close();
+      } catch (err) {
+        if (!err.message.includes("Controller is already closed")) {
+          throw err;
         }
       }
     }
-    function prefinish() {
-      if (this._final !== final) {
-        final.call(this);
+    function isomorphicEncode(input) {
+      for (let i = 0; i < input.length; i++) {
+        assert(input.charCodeAt(i) <= 255);
       }
+      return input;
     }
-    Transform.prototype._final = final;
-    Transform.prototype._transform = function(chunk, encoding, callback) {
-      throw new ERR_METHOD_NOT_IMPLEMENTED("_transform()");
-    };
-    Transform.prototype._write = function(chunk, encoding, callback) {
-      const rState = this._readableState;
-      const wState = this._writableState;
-      const length = rState.length;
-      this._transform(chunk, encoding, (err, val) => {
-        if (err) {
-          callback(err);
-          return;
-        }
-        if (val != null) {
-          this.push(val);
+    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 (wState.ended || // Backwards compat.
-        length === rState.length || // Backwards compat.
-        rState.length < rState.highWaterMark) {
-          callback();
-        } else {
-          this[kCallback] = callback;
+        if (!isUint8Array(chunk)) {
+          throw new TypeError("Received non-Uint8Array chunk");
         }
-      });
-    };
-    Transform.prototype._read = function() {
-      if (this[kCallback]) {
-        const callback = this[kCallback];
-        this[kCallback] = null;
-        callback();
+        bytes.push(chunk);
+        byteLength += chunk.length;
+      }
+    }
+    function urlIsLocal(url2) {
+      assert("protocol" in url2);
+      const protocol = url2.protocol;
+      return protocol === "about:" || protocol === "blob:" || protocol === "data:";
+    }
+    function urlHasHttpsScheme(url2) {
+      if (typeof url2 === "string") {
+        return url2.startsWith("https:");
       }
+      return url2.protocol === "https:";
+    }
+    function urlIsHttpHttpsScheme(url2) {
+      assert("protocol" in url2);
+      const protocol = url2.protocol;
+      return protocol === "http:" || protocol === "https:";
+    }
+    var hasOwn = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key));
+    module2.exports = {
+      isAborted,
+      isCancelled,
+      createDeferredPromise,
+      ReadableStreamFrom,
+      toUSVString,
+      tryUpgradeRequestToAPotentiallyTrustworthyURL,
+      coarsenedSharedCurrentTime,
+      determineRequestsReferrer,
+      makePolicyContainer,
+      clonePolicyContainer,
+      appendFetchMetadata,
+      appendRequestOriginHeader,
+      TAOCheck,
+      corsCheck,
+      crossOriginResourcePolicyCheck,
+      createOpaqueTimingInfo,
+      setRequestReferrerPolicyOnRedirect,
+      isValidHTTPToken,
+      requestBadPort,
+      requestCurrentURL,
+      responseURL,
+      responseLocationURL,
+      isBlobLike,
+      isURLPotentiallyTrustworthy,
+      isValidReasonPhrase,
+      sameOrigin,
+      normalizeMethod,
+      serializeJavascriptValueToJSONString,
+      makeIterator,
+      isValidHeaderName,
+      isValidHeaderValue,
+      hasOwn,
+      isErrorLike,
+      fullyReadBody,
+      bytesMatch,
+      isReadableStreamLike,
+      readableStreamClose,
+      isomorphicEncode,
+      isomorphicDecode,
+      urlIsLocal,
+      urlHasHttpsScheme,
+      urlIsHttpHttpsScheme,
+      readAllBytes,
+      normalizeMethodRecord,
+      parseMetadata
     };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/passthrough.js
-var require_passthrough2 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/passthrough.js"(exports2, module2) {
+// node_modules/undici/lib/fetch/symbols.js
+var require_symbols12 = __commonJS({
+  "node_modules/undici/lib/fetch/symbols.js"(exports2, module2) {
     "use strict";
-    var { ObjectSetPrototypeOf } = require_primordials();
-    module2.exports = PassThrough;
-    var Transform = require_transform();
-    ObjectSetPrototypeOf(PassThrough.prototype, Transform.prototype);
-    ObjectSetPrototypeOf(PassThrough, Transform);
-    function PassThrough(options) {
-      if (!(this instanceof PassThrough)) return new PassThrough(options);
-      Transform.call(this, options);
-    }
-    PassThrough.prototype._transform = function(chunk, encoding, cb) {
-      cb(null, chunk);
+    module2.exports = {
+      kUrl: /* @__PURE__ */ Symbol("url"),
+      kHeaders: /* @__PURE__ */ Symbol("headers"),
+      kSignal: /* @__PURE__ */ Symbol("signal"),
+      kState: /* @__PURE__ */ Symbol("state"),
+      kGuard: /* @__PURE__ */ Symbol("guard"),
+      kRealm: /* @__PURE__ */ Symbol("realm")
     };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/pipeline.js
-var require_pipeline4 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/pipeline.js"(exports2, module2) {
-    var process2 = require_process();
-    var { ArrayIsArray, Promise: Promise2, SymbolAsyncIterator, SymbolDispose } = require_primordials();
-    var eos = require_end_of_stream();
-    var { once } = require_util20();
-    var destroyImpl = require_destroy2();
-    var Duplex = require_duplex();
-    var {
-      aggregateTwoErrors,
-      codes: {
-        ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,
-        ERR_INVALID_RETURN_VALUE,
-        ERR_MISSING_ARGS,
-        ERR_STREAM_DESTROYED,
-        ERR_STREAM_PREMATURE_CLOSE
-      },
-      AbortError
-    } = require_errors5();
-    var { validateFunction, validateAbortSignal } = require_validators();
-    var {
-      isIterable,
-      isReadable,
-      isReadableNodeStream,
-      isNodeStream,
-      isTransformStream,
-      isWebStream,
-      isReadableStream,
-      isReadableFinished
-    } = require_utils8();
-    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
-    var PassThrough;
-    var Readable2;
-    var addAbortListener;
-    function destroyer(stream2, reading, writing) {
-      let finished = false;
-      stream2.on("close", () => {
-        finished = true;
+// node_modules/undici/lib/fetch/webidl.js
+var require_webidl3 = __commonJS({
+  "node_modules/undici/lib/fetch/webidl.js"(exports2, module2) {
+    "use strict";
+    var { types } = require("util");
+    var { hasOwn, toUSVString } = require_util25();
+    var webidl = {};
+    webidl.converters = {};
+    webidl.util = {};
+    webidl.errors = {};
+    webidl.errors.exception = function(message) {
+      return new TypeError(`${message.header}: ${message.message}`);
+    };
+    webidl.errors.conversionFailed = function(context3) {
+      const plural = context3.types.length === 1 ? "" : " one of";
+      const message = `${context3.argument} could not be converted to${plural}: ${context3.types.join(", ")}.`;
+      return webidl.errors.exception({
+        header: context3.prefix,
+        message
       });
-      const cleanup = eos(
-        stream2,
-        {
-          readable: reading,
-          writable: writing
-        },
-        (err) => {
-          finished = !err;
-        }
-      );
-      return {
-        destroy: (err) => {
-          if (finished) return;
-          finished = true;
-          destroyImpl.destroyer(stream2, err || new ERR_STREAM_DESTROYED("pipe"));
-        },
-        cleanup
-      };
-    }
-    function popCallback(streams) {
-      validateFunction(streams[streams.length - 1], "streams[stream.length - 1]");
-      return streams.pop();
-    }
-    function makeAsyncIterable(val) {
-      if (isIterable(val)) {
-        return val;
-      } else if (isReadableNodeStream(val)) {
-        return fromReadable(val);
+    };
+    webidl.errors.invalidArgument = function(context3) {
+      return webidl.errors.exception({
+        header: context3.prefix,
+        message: `"${context3.value}" is an invalid ${context3.type}.`
+      });
+    };
+    webidl.brandCheck = function(V, I, opts = void 0) {
+      if (opts?.strict !== false && !(V instanceof I)) {
+        throw new TypeError("Illegal invocation");
+      } else {
+        return V?.[Symbol.toStringTag] === I.prototype[Symbol.toStringTag];
       }
-      throw new ERR_INVALID_ARG_TYPE2("val", ["Readable", "Iterable", "AsyncIterable"], val);
-    }
-    async function* fromReadable(val) {
-      if (!Readable2) {
-        Readable2 = require_readable4();
+    };
+    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.`,
+          ...ctx
+        });
       }
-      yield* Readable2.prototype[SymbolAsyncIterator].call(val);
-    }
-    async function pumpToNode(iterable, writable, finish, { end }) {
-      let error3;
-      let onresolve = null;
-      const resume = (err) => {
-        if (err) {
-          error3 = err;
-        }
-        if (onresolve) {
-          const callback = onresolve;
-          onresolve = null;
-          callback();
-        }
-      };
-      const wait = () => new Promise2((resolve8, reject) => {
-        if (error3) {
-          reject(error3);
-        } else {
-          onresolve = () => {
-            if (error3) {
-              reject(error3);
-            } else {
-              resolve8();
-            }
-          };
-        }
+    };
+    webidl.illegalConstructor = function() {
+      throw webidl.errors.exception({
+        header: "TypeError",
+        message: "Illegal constructor"
       });
-      writable.on("drain", resume);
-      const cleanup = eos(
-        writable,
-        {
-          readable: false
-        },
-        resume
-      );
-      try {
-        if (writable.writableNeedDrain) {
-          await wait();
-        }
-        for await (const chunk of iterable) {
-          if (!writable.write(chunk)) {
-            await wait();
+    };
+    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";
         }
-        if (end) {
-          writable.end();
-          await wait();
+      }
+    };
+    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;
         }
-        finish();
-      } catch (err) {
-        finish(error3 !== err ? aggregateTwoErrors(error3, err) : err);
-      } finally {
-        cleanup();
-        writable.off("drain", resume);
+      } 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;
       }
-    }
-    async function pumpToWeb(readable, writable, finish, { end }) {
-      if (isTransformStream(writable)) {
-        writable = writable.writable;
+      let x = Number(V);
+      if (x === 0) {
+        x = 0;
       }
-      const writer = writable.getWriter();
-      try {
-        for await (const chunk of readable) {
-          await writer.ready;
-          writer.write(chunk).catch(() => {
+      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 ${V} to an integer.`
           });
         }
-        await writer.ready;
-        if (end) {
-          await writer.close();
-        }
-        finish();
-      } catch (err) {
-        try {
-          await writer.abort(err);
-          finish(err);
-        } catch (err2) {
-          finish(err2);
+        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;
       }
-    }
-    function pipeline(...streams) {
-      return pipelineImpl(streams, once(popCallback(streams)));
-    }
-    function pipelineImpl(streams, callback, opts) {
-      if (streams.length === 1 && ArrayIsArray(streams[0])) {
-        streams = streams[0];
-      }
-      if (streams.length < 2) {
-        throw new ERR_MISSING_ARGS("streams");
+      if (!Number.isNaN(x) && opts.clamp === true) {
+        x = Math.min(Math.max(x, lowerBound), upperBound);
+        if (Math.floor(x) % 2 === 0) {
+          x = Math.floor(x);
+        } else {
+          x = Math.ceil(x);
+        }
+        return x;
       }
-      const ac = new AbortController2();
-      const signal = ac.signal;
-      const outerSignal = opts === null || opts === void 0 ? void 0 : opts.signal;
-      const lastStreamCleanup = [];
-      validateAbortSignal(outerSignal, "options.signal");
-      function abort() {
-        finishImpl(new AbortError());
+      if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
+        return 0;
       }
-      addAbortListener = addAbortListener || require_util20().addAbortListener;
-      let disposable;
-      if (outerSignal) {
-        disposable = addAbortListener(outerSignal, abort);
+      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);
       }
-      let error3;
-      let value;
-      const destroys = [];
-      let finishCount = 0;
-      function finish(err) {
-        finishImpl(err, --finishCount === 0);
+      return x;
+    };
+    webidl.util.IntegerPart = function(n) {
+      const r = Math.floor(Math.abs(n));
+      if (n < 0) {
+        return -1 * r;
       }
-      function finishImpl(err, final) {
-        var _disposable;
-        if (err && (!error3 || error3.code === "ERR_STREAM_PREMATURE_CLOSE")) {
-          error3 = err;
-        }
-        if (!error3 && !final) {
-          return;
-        }
-        while (destroys.length) {
-          destroys.shift()(error3);
+      return r;
+    };
+    webidl.sequenceConverter = function(converter) {
+      return (V) => {
+        if (webidl.util.Type(V) !== "Object") {
+          throw webidl.errors.exception({
+            header: "Sequence",
+            message: `Value of type ${webidl.util.Type(V)} is not an Object.`
+          });
         }
-        ;
-        (_disposable = disposable) === null || _disposable === void 0 ? void 0 : _disposable[SymbolDispose]();
-        ac.abort();
-        if (final) {
-          if (!error3) {
-            lastStreamCleanup.forEach((fn) => fn());
-          }
-          process2.nextTick(callback, error3, value);
+        const method = V?.[Symbol.iterator]?.();
+        const seq2 = [];
+        if (method === void 0 || typeof method.next !== "function") {
+          throw webidl.errors.exception({
+            header: "Sequence",
+            message: "Object is not an iterator."
+          });
         }
-      }
-      let ret;
-      for (let i = 0; i < streams.length; i++) {
-        const stream2 = streams[i];
-        const reading = i < streams.length - 1;
-        const writing = i > 0;
-        const end = reading || (opts === null || opts === void 0 ? void 0 : opts.end) !== false;
-        const isLastStream = i === streams.length - 1;
-        if (isNodeStream(stream2)) {
-          let onError2 = function(err) {
-            if (err && err.name !== "AbortError" && err.code !== "ERR_STREAM_PREMATURE_CLOSE") {
-              finish(err);
-            }
-          };
-          var onError = onError2;
-          if (end) {
-            const { destroy, cleanup } = destroyer(stream2, reading, writing);
-            destroys.push(destroy);
-            if (isReadable(stream2) && isLastStream) {
-              lastStreamCleanup.push(cleanup);
-            }
-          }
-          stream2.on("error", onError2);
-          if (isReadable(stream2) && isLastStream) {
-            lastStreamCleanup.push(() => {
-              stream2.removeListener("error", onError2);
-            });
+        while (true) {
+          const { done, value } = method.next();
+          if (done) {
+            break;
           }
+          seq2.push(converter(value));
         }
-        if (i === 0) {
-          if (typeof stream2 === "function") {
-            ret = stream2({
-              signal
-            });
-            if (!isIterable(ret)) {
-              throw new ERR_INVALID_RETURN_VALUE("Iterable, AsyncIterable or Stream", "source", ret);
-            }
-          } else if (isIterable(stream2) || isReadableNodeStream(stream2) || isTransformStream(stream2)) {
-            ret = stream2;
-          } else {
-            ret = Duplex.from(stream2);
-          }
-        } else if (typeof stream2 === "function") {
-          if (isTransformStream(ret)) {
-            var _ret;
-            ret = makeAsyncIterable((_ret = ret) === null || _ret === void 0 ? void 0 : _ret.readable);
-          } else {
-            ret = makeAsyncIterable(ret);
-          }
-          ret = stream2(ret, {
-            signal
+        return seq2;
+      };
+    };
+    webidl.recordConverter = function(keyConverter, valueConverter) {
+      return (O) => {
+        if (webidl.util.Type(O) !== "Object") {
+          throw webidl.errors.exception({
+            header: "Record",
+            message: `Value of type ${webidl.util.Type(O)} is not an Object.`
           });
-          if (reading) {
-            if (!isIterable(ret, true)) {
-              throw new ERR_INVALID_RETURN_VALUE("AsyncIterable", `transform[${i - 1}]`, ret);
-            }
-          } else {
-            var _ret2;
-            if (!PassThrough) {
-              PassThrough = require_passthrough2();
-            }
-            const pt = new PassThrough({
-              objectMode: true
-            });
-            const then = (_ret2 = ret) === null || _ret2 === void 0 ? void 0 : _ret2.then;
-            if (typeof then === "function") {
-              finishCount++;
-              then.call(
-                ret,
-                (val) => {
-                  value = val;
-                  if (val != null) {
-                    pt.write(val);
-                  }
-                  if (end) {
-                    pt.end();
-                  }
-                  process2.nextTick(finish);
-                },
-                (err) => {
-                  pt.destroy(err);
-                  process2.nextTick(finish, err);
-                }
-              );
-            } else if (isIterable(ret, true)) {
-              finishCount++;
-              pumpToNode(ret, pt, finish, {
-                end
-              });
-            } else if (isReadableStream(ret) || isTransformStream(ret)) {
-              const toRead = ret.readable || ret;
-              finishCount++;
-              pumpToNode(toRead, pt, finish, {
-                end
-              });
-            } else {
-              throw new ERR_INVALID_RETURN_VALUE("AsyncIterable or Promise", "destination", ret);
-            }
-            ret = pt;
-            const { destroy, cleanup } = destroyer(ret, false, true);
-            destroys.push(destroy);
-            if (isLastStream) {
-              lastStreamCleanup.push(cleanup);
-            }
-          }
-        } else if (isNodeStream(stream2)) {
-          if (isReadableNodeStream(ret)) {
-            finishCount += 2;
-            const cleanup = pipe(ret, stream2, finish, {
-              end
-            });
-            if (isReadable(stream2) && isLastStream) {
-              lastStreamCleanup.push(cleanup);
-            }
-          } else if (isTransformStream(ret) || isReadableStream(ret)) {
-            const toRead = ret.readable || ret;
-            finishCount++;
-            pumpToNode(toRead, stream2, finish, {
-              end
-            });
-          } else if (isIterable(ret)) {
-            finishCount++;
-            pumpToNode(ret, stream2, finish, {
-              end
-            });
-          } else {
-            throw new ERR_INVALID_ARG_TYPE2(
-              "val",
-              ["Readable", "Iterable", "AsyncIterable", "ReadableStream", "TransformStream"],
-              ret
-            );
-          }
-          ret = stream2;
-        } else if (isWebStream(stream2)) {
-          if (isReadableNodeStream(ret)) {
-            finishCount++;
-            pumpToWeb(makeAsyncIterable(ret), stream2, finish, {
-              end
-            });
-          } else if (isReadableStream(ret) || isIterable(ret)) {
-            finishCount++;
-            pumpToWeb(ret, stream2, finish, {
-              end
-            });
-          } else if (isTransformStream(ret)) {
-            finishCount++;
-            pumpToWeb(ret.readable, stream2, finish, {
-              end
-            });
-          } else {
-            throw new ERR_INVALID_ARG_TYPE2(
-              "val",
-              ["Readable", "Iterable", "AsyncIterable", "ReadableStream", "TransformStream"],
-              ret
-            );
-          }
-          ret = stream2;
-        } else {
-          ret = Duplex.from(stream2);
-        }
-      }
-      if (signal !== null && signal !== void 0 && signal.aborted || outerSignal !== null && outerSignal !== void 0 && outerSignal.aborted) {
-        process2.nextTick(abort);
-      }
-      return ret;
-    }
-    function pipe(src, dst, finish, { end }) {
-      let ended = false;
-      dst.on("close", () => {
-        if (!ended) {
-          finish(new ERR_STREAM_PREMATURE_CLOSE());
         }
-      });
-      src.pipe(dst, {
-        end: false
-      });
-      if (end) {
-        let endFn2 = function() {
-          ended = true;
-          dst.end();
-        };
-        var endFn = endFn2;
-        if (isReadableFinished(src)) {
-          process2.nextTick(endFn2);
-        } else {
-          src.once("end", endFn2);
+        const result = {};
+        if (!types.isProxy(O)) {
+          const keys2 = Object.keys(O);
+          for (const key of keys2) {
+            const typedKey = keyConverter(key);
+            const typedValue = valueConverter(O[key]);
+            result[typedKey] = typedValue;
+          }
+          return result;
         }
-      } else {
-        finish();
-      }
-      eos(
-        src,
-        {
-          readable: true,
-          writable: false
-        },
-        (err) => {
-          const rState = src._readableState;
-          if (err && err.code === "ERR_STREAM_PREMATURE_CLOSE" && rState && rState.ended && !rState.errored && !rState.errorEmitted) {
-            src.once("end", finish).once("error", finish);
-          } else {
-            finish(err);
+        const keys = Reflect.ownKeys(O);
+        for (const key of keys) {
+          const desc = Reflect.getOwnPropertyDescriptor(O, key);
+          if (desc?.enumerable) {
+            const typedKey = keyConverter(key);
+            const typedValue = valueConverter(O[key]);
+            result[typedKey] = typedValue;
           }
         }
-      );
-      return eos(
-        dst,
-        {
-          readable: false,
-          writable: true
-        },
-        finish
-      );
-    }
-    module2.exports = {
-      pipelineImpl,
-      pipeline
+        return result;
+      };
     };
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/compose.js
-var require_compose = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/compose.js"(exports2, module2) {
-    "use strict";
-    var { pipeline } = require_pipeline4();
-    var Duplex = require_duplex();
-    var { destroyer } = require_destroy2();
-    var {
-      isNodeStream,
-      isReadable,
-      isWritable,
-      isWebStream,
-      isTransformStream,
-      isWritableStream,
-      isReadableStream
-    } = require_utils8();
-    var {
-      AbortError,
-      codes: { ERR_INVALID_ARG_VALUE, ERR_MISSING_ARGS }
-    } = require_errors5();
-    var eos = require_end_of_stream();
-    module2.exports = function compose(...streams) {
-      if (streams.length === 0) {
-        throw new ERR_MISSING_ARGS("streams");
-      }
-      if (streams.length === 1) {
-        return Duplex.from(streams[0]);
-      }
-      const orgStreams = [...streams];
-      if (typeof streams[0] === "function") {
-        streams[0] = Duplex.from(streams[0]);
-      }
-      if (typeof streams[streams.length - 1] === "function") {
-        const idx = streams.length - 1;
-        streams[idx] = Duplex.from(streams[idx]);
-      }
-      for (let n = 0; n < streams.length; ++n) {
-        if (!isNodeStream(streams[n]) && !isWebStream(streams[n])) {
-          continue;
-        }
-        if (n < streams.length - 1 && !(isReadable(streams[n]) || isReadableStream(streams[n]) || isTransformStream(streams[n]))) {
-          throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`, orgStreams[n], "must be readable");
-        }
-        if (n > 0 && !(isWritable(streams[n]) || isWritableStream(streams[n]) || isTransformStream(streams[n]))) {
-          throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`, orgStreams[n], "must be writable");
-        }
-      }
-      let ondrain;
-      let onfinish;
-      let onreadable;
-      let onclose;
-      let d;
-      function onfinished(err) {
-        const cb = onclose;
-        onclose = null;
-        if (cb) {
-          cb(err);
-        } else if (err) {
-          d.destroy(err);
-        } else if (!readable && !writable) {
-          d.destroy();
+    webidl.interfaceConverter = function(i) {
+      return (V, opts = {}) => {
+        if (opts.strict !== false && !(V instanceof i)) {
+          throw webidl.errors.exception({
+            header: i.name,
+            message: `Expected ${V} to be an instance of ${i.name}.`
+          });
         }
-      }
-      const head = streams[0];
-      const tail = pipeline(streams, onfinished);
-      const writable = !!(isWritable(head) || isWritableStream(head) || isTransformStream(head));
-      const readable = !!(isReadable(tail) || isReadableStream(tail) || isTransformStream(tail));
-      d = new Duplex({
-        // TODO (ronag): highWaterMark?
-        writableObjectMode: !!(head !== null && head !== void 0 && head.writableObjectMode),
-        readableObjectMode: !!(tail !== null && tail !== void 0 && tail.readableObjectMode),
-        writable,
-        readable
-      });
-      if (writable) {
-        if (isNodeStream(head)) {
-          d._write = function(chunk, encoding, callback) {
-            if (head.write(chunk, encoding)) {
-              callback();
-            } else {
-              ondrain = callback;
-            }
-          };
-          d._final = function(callback) {
-            head.end();
-            onfinish = callback;
-          };
-          head.on("drain", function() {
-            if (ondrain) {
-              const cb = ondrain;
-              ondrain = null;
-              cb();
-            }
+        return V;
+      };
+    };
+    webidl.dictionaryConverter = function(converters) {
+      return (dictionary) => {
+        const type2 = webidl.util.Type(dictionary);
+        const dict = {};
+        if (type2 === "Null" || type2 === "Undefined") {
+          return dict;
+        } else if (type2 !== "Object") {
+          throw webidl.errors.exception({
+            header: "Dictionary",
+            message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`
           });
-        } else if (isWebStream(head)) {
-          const writable2 = isTransformStream(head) ? head.writable : head;
-          const writer = writable2.getWriter();
-          d._write = async function(chunk, encoding, callback) {
-            try {
-              await writer.ready;
-              writer.write(chunk).catch(() => {
-              });
-              callback();
-            } catch (err) {
-              callback(err);
-            }
-          };
-          d._final = async function(callback) {
-            try {
-              await writer.ready;
-              writer.close().catch(() => {
+        }
+        for (const options of converters) {
+          const { key, defaultValue, required, converter } = options;
+          if (required === true) {
+            if (!hasOwn(dictionary, key)) {
+              throw webidl.errors.exception({
+                header: "Dictionary",
+                message: `Missing required key "${key}".`
               });
-              onfinish = callback;
-            } catch (err) {
-              callback(err);
             }
-          };
-        }
-        const toRead = isTransformStream(tail) ? tail.readable : tail;
-        eos(toRead, () => {
-          if (onfinish) {
-            const cb = onfinish;
-            onfinish = null;
-            cb();
           }
-        });
-      }
-      if (readable) {
-        if (isNodeStream(tail)) {
-          tail.on("readable", function() {
-            if (onreadable) {
-              const cb = onreadable;
-              onreadable = null;
-              cb();
-            }
-          });
-          tail.on("end", function() {
-            d.push(null);
-          });
-          d._read = function() {
-            while (true) {
-              const buf = tail.read();
-              if (buf === null) {
-                onreadable = d._read;
-                return;
-              }
-              if (!d.push(buf)) {
-                return;
-              }
-            }
-          };
-        } else if (isWebStream(tail)) {
-          const readable2 = isTransformStream(tail) ? tail.readable : tail;
-          const reader = readable2.getReader();
-          d._read = async function() {
-            while (true) {
-              try {
-                const { value, done } = await reader.read();
-                if (!d.push(value)) {
-                  return;
-                }
-                if (done) {
-                  d.push(null);
-                  return;
-                }
-              } catch {
-                return;
-              }
-            }
-          };
-        }
-      }
-      d._destroy = function(err, callback) {
-        if (!err && onclose !== null) {
-          err = new AbortError();
-        }
-        onreadable = null;
-        ondrain = null;
-        onfinish = null;
-        if (onclose === null) {
-          callback(err);
-        } else {
-          onclose = callback;
-          if (isNodeStream(tail)) {
-            destroyer(tail, err);
+          let value = dictionary[key];
+          const hasDefault = hasOwn(options, "defaultValue");
+          if (hasDefault && value !== null) {
+            value = value ?? defaultValue;
+          }
+          if (required || hasDefault || value !== void 0) {
+            value = converter(value);
+            if (options.allowedValues && !options.allowedValues.includes(value)) {
+              throw webidl.errors.exception({
+                header: "Dictionary",
+                message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
+              });
+            }
+            dict[key] = value;
           }
         }
+        return dict;
       };
-      return d;
     };
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/operators.js
-var require_operators = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/operators.js"(exports2, module2) {
-    "use strict";
-    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
-    var {
-      codes: { ERR_INVALID_ARG_VALUE, ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_MISSING_ARGS, ERR_OUT_OF_RANGE },
-      AbortError
-    } = require_errors5();
-    var { validateAbortSignal, validateInteger, validateObject } = require_validators();
-    var kWeakHandler = require_primordials().Symbol("kWeak");
-    var kResistStopPropagation = require_primordials().Symbol("kResistStopPropagation");
-    var { finished } = require_end_of_stream();
-    var staticCompose = require_compose();
-    var { addAbortSignalNoValidate } = require_add_abort_signal();
-    var { isWritable, isNodeStream } = require_utils8();
-    var { deprecate } = require_util20();
-    var {
-      ArrayPrototypePush,
-      Boolean: Boolean2,
-      MathFloor,
-      Number: Number2,
-      NumberIsNaN,
-      Promise: Promise2,
-      PromiseReject,
-      PromiseResolve,
-      PromisePrototypeThen,
-      Symbol: Symbol2
-    } = require_primordials();
-    var kEmpty = Symbol2("kEmpty");
-    var kEof = Symbol2("kEof");
-    function compose(stream2, options) {
-      if (options != null) {
-        validateObject(options, "options");
+    webidl.nullableConverter = function(converter) {
+      return (V) => {
+        if (V === null) {
+          return V;
+        }
+        return converter(V);
+      };
+    };
+    webidl.converters.DOMString = function(V, opts = {}) {
+      if (V === null && opts.legacyNullToEmptyString) {
+        return "";
       }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
+      if (typeof V === "symbol") {
+        throw new TypeError("Could not convert argument of type symbol to string.");
       }
-      if (isNodeStream(stream2) && !isWritable(stream2)) {
-        throw new ERR_INVALID_ARG_VALUE("stream", stream2, "must be writable");
+      return String(V);
+    };
+    webidl.converters.ByteString = function(V) {
+      const x = webidl.converters.DOMString(V);
+      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.`
+          );
+        }
       }
-      const composedStream = staticCompose(this, stream2);
-      if (options !== null && options !== void 0 && options.signal) {
-        addAbortSignalNoValidate(options.signal, composedStream);
+      return x;
+    };
+    webidl.converters.USVString = toUSVString;
+    webidl.converters.boolean = function(V) {
+      const x = Boolean(V);
+      return x;
+    };
+    webidl.converters.any = function(V) {
+      return V;
+    };
+    webidl.converters["long long"] = function(V) {
+      const x = webidl.util.ConvertToInt(V, 64, "signed");
+      return x;
+    };
+    webidl.converters["unsigned long long"] = function(V) {
+      const x = webidl.util.ConvertToInt(V, 64, "unsigned");
+      return x;
+    };
+    webidl.converters["unsigned long"] = function(V) {
+      const x = webidl.util.ConvertToInt(V, 32, "unsigned");
+      return x;
+    };
+    webidl.converters["unsigned short"] = function(V, opts) {
+      const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts);
+      return x;
+    };
+    webidl.converters.ArrayBuffer = function(V, opts = {}) {
+      if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {
+        throw webidl.errors.conversionFailed({
+          prefix: `${V}`,
+          argument: `${V}`,
+          types: ["ArrayBuffer"]
+        });
       }
-      return composedStream;
-    }
-    function map2(fn, options) {
-      if (typeof fn !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
+      if (opts.allowShared === false && types.isSharedArrayBuffer(V)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
       }
-      if (options != null) {
-        validateObject(options, "options");
+      return V;
+    };
+    webidl.converters.TypedArray = function(V, T, opts = {}) {
+      if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {
+        throw webidl.errors.conversionFailed({
+          prefix: `${T.name}`,
+          argument: `${V}`,
+          types: [T.name]
+        });
       }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
+      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
       }
-      let concurrency = 1;
-      if ((options === null || options === void 0 ? void 0 : options.concurrency) != null) {
-        concurrency = MathFloor(options.concurrency);
+      return V;
+    };
+    webidl.converters.DataView = function(V, opts = {}) {
+      if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {
+        throw webidl.errors.exception({
+          header: "DataView",
+          message: "Object is not a DataView."
+        });
       }
-      let highWaterMark = concurrency - 1;
-      if ((options === null || options === void 0 ? void 0 : options.highWaterMark) != null) {
-        highWaterMark = MathFloor(options.highWaterMark);
+      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
       }
-      validateInteger(concurrency, "options.concurrency", 1);
-      validateInteger(highWaterMark, "options.highWaterMark", 0);
-      highWaterMark += concurrency;
-      return async function* map3() {
-        const signal = require_util20().AbortSignalAny(
-          [options === null || options === void 0 ? void 0 : options.signal].filter(Boolean2)
-        );
-        const stream2 = this;
-        const queue = [];
-        const signalOpt = {
-          signal
-        };
-        let next;
-        let resume;
-        let done = false;
-        let cnt = 0;
-        function onCatch() {
-          done = true;
-          afterItemProcessed();
-        }
-        function afterItemProcessed() {
-          cnt -= 1;
-          maybeResume();
-        }
-        function maybeResume() {
-          if (resume && !done && cnt < concurrency && queue.length < highWaterMark) {
-            resume();
-            resume = null;
-          }
-        }
-        async function pump() {
-          try {
-            for await (let val of stream2) {
-              if (done) {
-                return;
-              }
-              if (signal.aborted) {
-                throw new AbortError();
-              }
-              try {
-                val = fn(val, signalOpt);
-                if (val === kEmpty) {
-                  continue;
-                }
-                val = PromiseResolve(val);
-              } catch (err) {
-                val = PromiseReject(err);
-              }
-              cnt += 1;
-              PromisePrototypeThen(val, afterItemProcessed, onCatch);
-              queue.push(val);
-              if (next) {
-                next();
-                next = null;
-              }
-              if (!done && (queue.length >= highWaterMark || cnt >= concurrency)) {
-                await new Promise2((resolve8) => {
-                  resume = resolve8;
-                });
-              }
-            }
-            queue.push(kEof);
-          } catch (err) {
-            const val = PromiseReject(err);
-            PromisePrototypeThen(val, afterItemProcessed, onCatch);
-            queue.push(val);
-          } finally {
-            done = true;
-            if (next) {
-              next();
-              next = null;
-            }
-          }
-        }
-        pump();
-        try {
-          while (true) {
-            while (queue.length > 0) {
-              const val = await queue[0];
-              if (val === kEof) {
-                return;
-              }
-              if (signal.aborted) {
-                throw new AbortError();
-              }
-              if (val !== kEmpty) {
-                yield val;
-              }
-              queue.shift();
-              maybeResume();
-            }
-            await new Promise2((resolve8) => {
-              next = resolve8;
-            });
-          }
-        } finally {
-          done = true;
-          if (resume) {
-            resume();
-            resume = null;
-          }
-        }
-      }.call(this);
-    }
-    function asIndexedPairs(options = void 0) {
-      if (options != null) {
-        validateObject(options, "options");
+      return V;
+    };
+    webidl.converters.BufferSource = function(V, opts = {}) {
+      if (types.isAnyArrayBuffer(V)) {
+        return webidl.converters.ArrayBuffer(V, opts);
       }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
+      if (types.isTypedArray(V)) {
+        return webidl.converters.TypedArray(V, V.constructor);
       }
-      return async function* asIndexedPairs2() {
-        let index = 0;
-        for await (const val of this) {
-          var _options$signal;
-          if (options !== null && options !== void 0 && (_options$signal = options.signal) !== null && _options$signal !== void 0 && _options$signal.aborted) {
-            throw new AbortError({
-              cause: options.signal.reason
-            });
-          }
-          yield [index++, val];
+      if (types.isDataView(V)) {
+        return webidl.converters.DataView(V, opts);
+      }
+      throw new TypeError(`Could not convert ${V} to a BufferSource.`);
+    };
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.ByteString
+    );
+    webidl.converters["sequence>"] = webidl.sequenceConverter(
+      webidl.converters["sequence"]
+    );
+    webidl.converters["record"] = webidl.recordConverter(
+      webidl.converters.ByteString,
+      webidl.converters.ByteString
+    );
+    module2.exports = {
+      webidl
+    };
+  }
+});
+
+// node_modules/undici/lib/fetch/dataURL.js
+var require_dataURL = __commonJS({
+  "node_modules/undici/lib/fetch/dataURL.js"(exports2, module2) {
+    var assert = require("assert");
+    var { atob: atob2 } = require("buffer");
+    var { isomorphicDecode } = require_util25();
+    var encoder = new TextEncoder();
+    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/;
+    var HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/;
+    var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/;
+    function dataURLProcessor(dataURL) {
+      assert(dataURL.protocol === "data:");
+      let input = URLSerializer(dataURL, true);
+      input = input.slice(5);
+      const position = { position: 0 };
+      let mimeType = collectASequenceOfCodePointsFast(
+        ",",
+        input,
+        position
+      );
+      const mimeTypeLength = mimeType.length;
+      mimeType = removeASCIIWhitespace(mimeType, true, true);
+      if (position.position >= input.length) {
+        return "failure";
+      }
+      position.position++;
+      const encodedBody = input.slice(mimeTypeLength + 1);
+      let body = stringPercentDecode(encodedBody);
+      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
+        const stringBody = isomorphicDecode(body);
+        body = forgivingBase64(stringBody);
+        if (body === "failure") {
+          return "failure";
         }
-      }.call(this);
-    }
-    async function some(fn, options = void 0) {
-      for await (const unused of filter.call(this, fn, options)) {
-        return true;
+        mimeType = mimeType.slice(0, -6);
+        mimeType = mimeType.replace(/(\u0020)+$/, "");
+        mimeType = mimeType.slice(0, -1);
       }
-      return false;
-    }
-    async function every(fn, options = void 0) {
-      if (typeof fn !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
+      if (mimeType.startsWith(";")) {
+        mimeType = "text/plain" + mimeType;
       }
-      return !await some.call(
-        this,
-        async (...args) => {
-          return !await fn(...args);
-        },
-        options
-      );
-    }
-    async function find2(fn, options) {
-      for await (const result of filter.call(this, fn, options)) {
-        return result;
+      let mimeTypeRecord = parseMIMEType(mimeType);
+      if (mimeTypeRecord === "failure") {
+        mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
       }
-      return void 0;
+      return { mimeType: mimeTypeRecord, body };
     }
-    async function forEach(fn, options) {
-      if (typeof fn !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
+    function URLSerializer(url2, excludeFragment = false) {
+      if (!excludeFragment) {
+        return url2.href;
       }
-      async function forEachFn(value, options2) {
-        await fn(value, options2);
-        return kEmpty;
+      const href = url2.href;
+      const hashLength = url2.hash.length;
+      return hashLength === 0 ? href : href.substring(0, href.length - hashLength);
+    }
+    function collectASequenceOfCodePoints(condition, input, position) {
+      let result = "";
+      while (position.position < input.length && condition(input[position.position])) {
+        result += input[position.position];
+        position.position++;
       }
-      for await (const unused of map2.call(this, forEachFn, options)) ;
+      return result;
     }
-    function filter(fn, options) {
-      if (typeof fn !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
+    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);
       }
-      async function filterFn(value, options2) {
-        if (await fn(value, options2)) {
-          return value;
+      position.position = idx;
+      return input.slice(start, position.position);
+    }
+    function stringPercentDecode(input) {
+      const bytes = encoder.encode(input);
+      return percentDecode(bytes);
+    }
+    function percentDecode(input) {
+      const output = [];
+      for (let i = 0; i < input.length; i++) {
+        const byte = input[i];
+        if (byte !== 37) {
+          output.push(byte);
+        } else if (byte === 37 && !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i + 1], input[i + 2]))) {
+          output.push(37);
+        } else {
+          const nextTwoBytes = String.fromCharCode(input[i + 1], input[i + 2]);
+          const bytePoint = Number.parseInt(nextTwoBytes, 16);
+          output.push(bytePoint);
+          i += 2;
         }
-        return kEmpty;
       }
-      return map2.call(this, filterFn, options);
+      return Uint8Array.from(output);
     }
-    var ReduceAwareErrMissingArgs = class extends ERR_MISSING_ARGS {
-      constructor() {
-        super("reduce");
-        this.message = "Reduce of an empty stream requires an initial value";
-      }
-    };
-    async function reduce(reducer, initialValue, options) {
-      var _options$signal2;
-      if (typeof reducer !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2("reducer", ["Function", "AsyncFunction"], reducer);
-      }
-      if (options != null) {
-        validateObject(options, "options");
-      }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
+    function parseMIMEType(input) {
+      input = removeHTTPWhitespace(input, true, true);
+      const position = { position: 0 };
+      const type2 = collectASequenceOfCodePointsFast(
+        "/",
+        input,
+        position
+      );
+      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
+        return "failure";
       }
-      let hasInitialValue = arguments.length > 1;
-      if (options !== null && options !== void 0 && (_options$signal2 = options.signal) !== null && _options$signal2 !== void 0 && _options$signal2.aborted) {
-        const err = new AbortError(void 0, {
-          cause: options.signal.reason
-        });
-        this.once("error", () => {
-        });
-        await finished(this.destroy(err));
-        throw err;
+      if (position.position > input.length) {
+        return "failure";
       }
-      const ac = new AbortController2();
-      const signal = ac.signal;
-      if (options !== null && options !== void 0 && options.signal) {
-        const opts = {
-          once: true,
-          [kWeakHandler]: this,
-          [kResistStopPropagation]: true
-        };
-        options.signal.addEventListener("abort", () => ac.abort(), opts);
+      position.position++;
+      let subtype = collectASequenceOfCodePointsFast(
+        ";",
+        input,
+        position
+      );
+      subtype = removeHTTPWhitespace(subtype, false, true);
+      if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {
+        return "failure";
       }
-      let gotAnyItemFromStream = false;
-      try {
-        for await (const value of this) {
-          var _options$signal3;
-          gotAnyItemFromStream = true;
-          if (options !== null && options !== void 0 && (_options$signal3 = options.signal) !== null && _options$signal3 !== void 0 && _options$signal3.aborted) {
-            throw new AbortError();
+      const typeLowercase = type2.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;
           }
-          if (!hasInitialValue) {
-            initialValue = value;
-            hasInitialValue = true;
-          } else {
-            initialValue = await reducer(initialValue, value, {
-              signal
-            });
+          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 (!gotAnyItemFromStream && !hasInitialValue) {
-          throw new ReduceAwareErrMissingArgs();
+        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);
         }
-      } finally {
-        ac.abort();
       }
-      return initialValue;
+      return mimeType;
     }
-    async function toArray2(options) {
-      if (options != null) {
-        validateObject(options, "options");
+    function forgivingBase64(data) {
+      data = data.replace(/[\u0009\u000A\u000C\u000D\u0020]/g, "");
+      if (data.length % 4 === 0) {
+        data = data.replace(/=?=$/, "");
       }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
+      if (data.length % 4 === 1) {
+        return "failure";
       }
-      const result = [];
-      for await (const val of this) {
-        var _options$signal4;
-        if (options !== null && options !== void 0 && (_options$signal4 = options.signal) !== null && _options$signal4 !== void 0 && _options$signal4.aborted) {
-          throw new AbortError(void 0, {
-            cause: options.signal.reason
-          });
-        }
-        ArrayPrototypePush(result, val);
+      if (/[^+/0-9A-Za-z]/.test(data)) {
+        return "failure";
       }
-      return result;
+      const binary2 = atob2(data);
+      const bytes = new Uint8Array(binary2.length);
+      for (let byte = 0; byte < binary2.length; byte++) {
+        bytes[byte] = binary2.charCodeAt(byte);
+      }
+      return bytes;
     }
-    function flatMap(fn, options) {
-      const values = map2.call(this, fn, options);
-      return async function* flatMap2() {
-        for await (const val of values) {
-          yield* val;
+    function collectAnHTTPQuotedString(input, position, extractValue) {
+      const positionStart = position.position;
+      let value = "";
+      assert(input[position.position] === '"');
+      position.position++;
+      while (true) {
+        value += collectASequenceOfCodePoints(
+          (char) => char !== '"' && char !== "\\",
+          input,
+          position
+        );
+        if (position.position >= input.length) {
+          break;
+        }
+        const quoteOrBackslash = input[position.position];
+        position.position++;
+        if (quoteOrBackslash === "\\") {
+          if (position.position >= input.length) {
+            value += "\\";
+            break;
+          }
+          value += input[position.position];
+          position.position++;
+        } else {
+          assert(quoteOrBackslash === '"');
+          break;
         }
-      }.call(this);
-    }
-    function toIntegerOrInfinity(number) {
-      number = Number2(number);
-      if (NumberIsNaN(number)) {
-        return 0;
       }
-      if (number < 0) {
-        throw new ERR_OUT_OF_RANGE("number", ">= 0", number);
+      if (extractValue) {
+        return value;
       }
-      return number;
+      return input.slice(positionStart, position.position);
     }
-    function drop(number, options = void 0) {
-      if (options != null) {
-        validateObject(options, "options");
+    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;
       }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
+      return serialization;
+    }
+    function isHTTPWhiteSpace(char) {
+      return char === "\r" || char === "\n" || char === "	" || char === " ";
+    }
+    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
+      let lead = 0;
+      let trail = str2.length - 1;
+      if (leading) {
+        for (; lead < str2.length && isHTTPWhiteSpace(str2[lead]); lead++) ;
       }
-      number = toIntegerOrInfinity(number);
-      return async function* drop2() {
-        var _options$signal5;
-        if (options !== null && options !== void 0 && (_options$signal5 = options.signal) !== null && _options$signal5 !== void 0 && _options$signal5.aborted) {
-          throw new AbortError();
-        }
-        for await (const val of this) {
-          var _options$signal6;
-          if (options !== null && options !== void 0 && (_options$signal6 = options.signal) !== null && _options$signal6 !== void 0 && _options$signal6.aborted) {
-            throw new AbortError();
-          }
-          if (number-- <= 0) {
-            yield val;
-          }
-        }
-      }.call(this);
+      if (trailing) {
+        for (; trail > 0 && isHTTPWhiteSpace(str2[trail]); trail--) ;
+      }
+      return str2.slice(lead, trail + 1);
     }
-    function take(number, options = void 0) {
-      if (options != null) {
-        validateObject(options, "options");
+    function isASCIIWhitespace(char) {
+      return char === "\r" || char === "\n" || char === "	" || char === "\f" || char === " ";
+    }
+    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
+      let lead = 0;
+      let trail = str2.length - 1;
+      if (leading) {
+        for (; lead < str2.length && isASCIIWhitespace(str2[lead]); lead++) ;
       }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
+      if (trailing) {
+        for (; trail > 0 && isASCIIWhitespace(str2[trail]); trail--) ;
       }
-      number = toIntegerOrInfinity(number);
-      return async function* take2() {
-        var _options$signal7;
-        if (options !== null && options !== void 0 && (_options$signal7 = options.signal) !== null && _options$signal7 !== void 0 && _options$signal7.aborted) {
-          throw new AbortError();
-        }
-        for await (const val of this) {
-          var _options$signal8;
-          if (options !== null && options !== void 0 && (_options$signal8 = options.signal) !== null && _options$signal8 !== void 0 && _options$signal8.aborted) {
-            throw new AbortError();
-          }
-          if (number-- > 0) {
-            yield val;
-          }
-          if (number <= 0) {
-            return;
-          }
-        }
-      }.call(this);
+      return str2.slice(lead, trail + 1);
     }
-    module2.exports.streamReturningOperators = {
-      asIndexedPairs: deprecate(asIndexedPairs, "readable.asIndexedPairs will be removed in a future version."),
-      drop,
-      filter,
-      flatMap,
-      map: map2,
-      take,
-      compose
-    };
-    module2.exports.promiseReturningOperators = {
-      every,
-      forEach,
-      reduce,
-      toArray: toArray2,
-      some,
-      find: find2
+    module2.exports = {
+      dataURLProcessor,
+      URLSerializer,
+      collectASequenceOfCodePoints,
+      collectASequenceOfCodePointsFast,
+      stringPercentDecode,
+      parseMIMEType,
+      collectAnHTTPQuotedString,
+      serializeAMimeType
     };
   }
 });
 
-// node_modules/readable-stream/lib/stream/promises.js
-var require_promises = __commonJS({
-  "node_modules/readable-stream/lib/stream/promises.js"(exports2, module2) {
+// node_modules/undici/lib/fetch/file.js
+var require_file5 = __commonJS({
+  "node_modules/undici/lib/fetch/file.js"(exports2, module2) {
     "use strict";
-    var { ArrayPrototypePop, Promise: Promise2 } = require_primordials();
-    var { isIterable, isNodeStream, isWebStream } = require_utils8();
-    var { pipelineImpl: pl } = require_pipeline4();
-    var { finished } = require_end_of_stream();
-    require_stream2();
-    function pipeline(...streams) {
-      return new Promise2((resolve8, reject) => {
-        let signal;
-        let end;
-        const lastArg = streams[streams.length - 1];
-        if (lastArg && typeof lastArg === "object" && !isNodeStream(lastArg) && !isIterable(lastArg) && !isWebStream(lastArg)) {
-          const options = ArrayPrototypePop(streams);
-          signal = options.signal;
-          end = options.end;
-        }
-        pl(
-          streams,
-          (err, value) => {
-            if (err) {
-              reject(err);
-            } else {
-              resolve8(value);
+    var { Blob: Blob2, File: NativeFile } = require("buffer");
+    var { types } = require("util");
+    var { kState } = require_symbols12();
+    var { isBlobLike } = require_util25();
+    var { webidl } = require_webidl3();
+    var { parseMIMEType, serializeAMimeType } = require_dataURL();
+    var { kEnumerableProperty } = require_util24();
+    var encoder = new TextEncoder();
+    var File2 = class _File extends Blob2 {
+      constructor(fileBits, fileName, options = {}) {
+        webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" });
+        fileBits = webidl.converters["sequence"](fileBits);
+        fileName = webidl.converters.USVString(fileName);
+        options = webidl.converters.FilePropertyBag(options);
+        const n = fileName;
+        let t = options.type;
+        let d;
+        substep: {
+          if (t) {
+            t = parseMIMEType(t);
+            if (t === "failure") {
+              t = "";
+              break substep;
             }
-          },
-          {
-            signal,
-            end
+            t = serializeAMimeType(t).toLowerCase();
           }
-        );
-      });
-    }
-    module2.exports = {
-      finished,
-      pipeline
-    };
-  }
-});
-
-// node_modules/readable-stream/lib/stream.js
-var require_stream2 = __commonJS({
-  "node_modules/readable-stream/lib/stream.js"(exports2, module2) {
-    var { Buffer: Buffer2 } = require("buffer");
-    var { ObjectDefineProperty, ObjectKeys, ReflectApply } = require_primordials();
-    var {
-      promisify: { custom: customPromisify }
-    } = require_util20();
-    var { streamReturningOperators, promiseReturningOperators } = require_operators();
-    var {
-      codes: { ERR_ILLEGAL_CONSTRUCTOR }
-    } = require_errors5();
-    var compose = require_compose();
-    var { setDefaultHighWaterMark, getDefaultHighWaterMark } = require_state3();
-    var { pipeline } = require_pipeline4();
-    var { destroyer } = require_destroy2();
-    var eos = require_end_of_stream();
-    var promises5 = require_promises();
-    var utils = require_utils8();
-    var Stream = module2.exports = require_legacy().Stream;
-    Stream.isDestroyed = utils.isDestroyed;
-    Stream.isDisturbed = utils.isDisturbed;
-    Stream.isErrored = utils.isErrored;
-    Stream.isReadable = utils.isReadable;
-    Stream.isWritable = utils.isWritable;
-    Stream.Readable = require_readable4();
-    for (const key of ObjectKeys(streamReturningOperators)) {
-      let fn2 = function(...args) {
-        if (new.target) {
-          throw ERR_ILLEGAL_CONSTRUCTOR();
-        }
-        return Stream.Readable.from(ReflectApply(op, this, args));
-      };
-      fn = fn2;
-      const op = streamReturningOperators[key];
-      ObjectDefineProperty(fn2, "name", {
-        __proto__: null,
-        value: op.name
-      });
-      ObjectDefineProperty(fn2, "length", {
-        __proto__: null,
-        value: op.length
-      });
-      ObjectDefineProperty(Stream.Readable.prototype, key, {
-        __proto__: null,
-        value: fn2,
-        enumerable: false,
-        configurable: true,
-        writable: true
-      });
-    }
-    var fn;
-    for (const key of ObjectKeys(promiseReturningOperators)) {
-      let fn2 = function(...args) {
-        if (new.target) {
-          throw ERR_ILLEGAL_CONSTRUCTOR();
+          d = options.lastModified;
         }
-        return ReflectApply(op, this, args);
-      };
-      fn = fn2;
-      const op = promiseReturningOperators[key];
-      ObjectDefineProperty(fn2, "name", {
-        __proto__: null,
-        value: op.name
-      });
-      ObjectDefineProperty(fn2, "length", {
-        __proto__: null,
-        value: op.length
-      });
-      ObjectDefineProperty(Stream.Readable.prototype, key, {
-        __proto__: null,
-        value: fn2,
-        enumerable: false,
-        configurable: true,
-        writable: true
-      });
-    }
-    var fn;
-    Stream.Writable = require_writable();
-    Stream.Duplex = require_duplex();
-    Stream.Transform = require_transform();
-    Stream.PassThrough = require_passthrough2();
-    Stream.pipeline = pipeline;
-    var { addAbortSignal } = require_add_abort_signal();
-    Stream.addAbortSignal = addAbortSignal;
-    Stream.finished = eos;
-    Stream.destroy = destroyer;
-    Stream.compose = compose;
-    Stream.setDefaultHighWaterMark = setDefaultHighWaterMark;
-    Stream.getDefaultHighWaterMark = getDefaultHighWaterMark;
-    ObjectDefineProperty(Stream, "promises", {
-      __proto__: null,
-      configurable: true,
-      enumerable: true,
-      get() {
-        return promises5;
+        super(processBlobParts(fileBits, options), { type: t });
+        this[kState] = {
+          name: n,
+          lastModified: d,
+          type: t
+        };
       }
-    });
-    ObjectDefineProperty(pipeline, customPromisify, {
-      __proto__: null,
-      enumerable: true,
-      get() {
-        return promises5.pipeline;
+      get name() {
+        webidl.brandCheck(this, _File);
+        return this[kState].name;
       }
-    });
-    ObjectDefineProperty(eos, customPromisify, {
-      __proto__: null,
-      enumerable: true,
-      get() {
-        return promises5.finished;
+      get lastModified() {
+        webidl.brandCheck(this, _File);
+        return this[kState].lastModified;
+      }
+      get type() {
+        webidl.brandCheck(this, _File);
+        return this[kState].type;
       }
-    });
-    Stream.Stream = Stream;
-    Stream._isUint8Array = function isUint8Array(value) {
-      return value instanceof Uint8Array;
     };
-    Stream._uint8ArrayToBuffer = function _uint8ArrayToBuffer(chunk) {
-      return Buffer2.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
+    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";
+      }
     };
-  }
-});
-
-// node_modules/readable-stream/lib/ours/index.js
-var require_ours = __commonJS({
-  "node_modules/readable-stream/lib/ours/index.js"(exports2, module2) {
-    "use strict";
-    var Stream = require("stream");
-    if (Stream && process.env.READABLE_STREAM === "disable") {
-      const promises5 = Stream.promises;
-      module2.exports._uint8ArrayToBuffer = Stream._uint8ArrayToBuffer;
-      module2.exports._isUint8Array = Stream._isUint8Array;
-      module2.exports.isDisturbed = Stream.isDisturbed;
-      module2.exports.isErrored = Stream.isErrored;
-      module2.exports.isReadable = Stream.isReadable;
-      module2.exports.Readable = Stream.Readable;
-      module2.exports.Writable = Stream.Writable;
-      module2.exports.Duplex = Stream.Duplex;
-      module2.exports.Transform = Stream.Transform;
-      module2.exports.PassThrough = Stream.PassThrough;
-      module2.exports.addAbortSignal = Stream.addAbortSignal;
-      module2.exports.finished = Stream.finished;
-      module2.exports.destroy = Stream.destroy;
-      module2.exports.pipeline = Stream.pipeline;
-      module2.exports.compose = Stream.compose;
-      Object.defineProperty(Stream, "promises", {
-        configurable: true,
-        enumerable: true,
-        get() {
-          return promises5;
-        }
-      });
-      module2.exports.Stream = Stream.Stream;
-    } else {
-      const CustomStream = require_stream2();
-      const promises5 = require_promises();
-      const originalDestroy = CustomStream.Readable.destroy;
-      module2.exports = CustomStream.Readable;
-      module2.exports._uint8ArrayToBuffer = CustomStream._uint8ArrayToBuffer;
-      module2.exports._isUint8Array = CustomStream._isUint8Array;
-      module2.exports.isDisturbed = CustomStream.isDisturbed;
-      module2.exports.isErrored = CustomStream.isErrored;
-      module2.exports.isReadable = CustomStream.isReadable;
-      module2.exports.Readable = CustomStream.Readable;
-      module2.exports.Writable = CustomStream.Writable;
-      module2.exports.Duplex = CustomStream.Duplex;
-      module2.exports.Transform = CustomStream.Transform;
-      module2.exports.PassThrough = CustomStream.PassThrough;
-      module2.exports.addAbortSignal = CustomStream.addAbortSignal;
-      module2.exports.finished = CustomStream.finished;
-      module2.exports.destroy = CustomStream.destroy;
-      module2.exports.destroy = originalDestroy;
-      module2.exports.pipeline = CustomStream.pipeline;
-      module2.exports.compose = CustomStream.compose;
-      Object.defineProperty(CustomStream, "promises", {
-        configurable: true,
-        enumerable: true,
-        get() {
-          return promises5;
+    Object.defineProperties(File2.prototype, {
+      [Symbol.toStringTag]: {
+        value: "File",
+        configurable: true
+      },
+      name: kEnumerableProperty,
+      lastModified: kEnumerableProperty
+    });
+    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
+    webidl.converters.BlobPart = function(V, opts) {
+      if (webidl.util.Type(V) === "Object") {
+        if (isBlobLike(V)) {
+          return webidl.converters.Blob(V, { strict: false });
+        }
+        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
+          return webidl.converters.BufferSource(V, opts);
         }
-      });
-      module2.exports.Stream = CustomStream.Stream;
-    }
-    module2.exports.default = module2.exports;
-  }
-});
-
-// node_modules/lodash/_arrayPush.js
-var require_arrayPush = __commonJS({
-  "node_modules/lodash/_arrayPush.js"(exports2, module2) {
-    function arrayPush(array, values) {
-      var index = -1, length = values.length, offset = array.length;
-      while (++index < length) {
-        array[offset + index] = values[index];
       }
-      return array;
-    }
-    module2.exports = arrayPush;
-  }
-});
-
-// node_modules/lodash/_isFlattenable.js
-var require_isFlattenable = __commonJS({
-  "node_modules/lodash/_isFlattenable.js"(exports2, module2) {
-    var Symbol2 = require_Symbol();
-    var isArguments = require_isArguments();
-    var isArray = require_isArray();
-    var spreadableSymbol = Symbol2 ? Symbol2.isConcatSpreadable : void 0;
-    function isFlattenable(value) {
-      return isArray(value) || isArguments(value) || !!(spreadableSymbol && value && value[spreadableSymbol]);
-    }
-    module2.exports = isFlattenable;
-  }
-});
-
-// node_modules/lodash/_baseFlatten.js
-var require_baseFlatten = __commonJS({
-  "node_modules/lodash/_baseFlatten.js"(exports2, module2) {
-    var arrayPush = require_arrayPush();
-    var isFlattenable = require_isFlattenable();
-    function baseFlatten(array, depth, predicate, isStrict, result) {
-      var index = -1, length = array.length;
-      predicate || (predicate = isFlattenable);
-      result || (result = []);
-      while (++index < length) {
-        var value = array[index];
-        if (depth > 0 && predicate(value)) {
-          if (depth > 1) {
-            baseFlatten(value, depth - 1, predicate, isStrict, result);
+      return webidl.converters.USVString(V, opts);
+    };
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.BlobPart
+    );
+    webidl.converters.FilePropertyBag = webidl.dictionaryConverter([
+      {
+        key: "lastModified",
+        converter: webidl.converters["long long"],
+        get defaultValue() {
+          return Date.now();
+        }
+      },
+      {
+        key: "type",
+        converter: webidl.converters.DOMString,
+        defaultValue: ""
+      },
+      {
+        key: "endings",
+        converter: (value) => {
+          value = webidl.converters.DOMString(value);
+          value = value.toLowerCase();
+          if (value !== "native") {
+            value = "transparent";
+          }
+          return value;
+        },
+        defaultValue: "transparent"
+      }
+    ]);
+    function processBlobParts(parts, options) {
+      const bytes = [];
+      for (const element of parts) {
+        if (typeof element === "string") {
+          let s = element;
+          if (options.endings === "native") {
+            s = convertLineEndingsNative(s);
+          }
+          bytes.push(encoder.encode(s));
+        } else if (types.isAnyArrayBuffer(element) || types.isTypedArray(element)) {
+          if (!element.buffer) {
+            bytes.push(new Uint8Array(element));
           } else {
-            arrayPush(result, value);
+            bytes.push(
+              new Uint8Array(element.buffer, element.byteOffset, element.byteLength)
+            );
           }
-        } else if (!isStrict) {
-          result[result.length] = value;
+        } else if (isBlobLike(element)) {
+          bytes.push(element);
         }
       }
-      return result;
-    }
-    module2.exports = baseFlatten;
-  }
-});
-
-// node_modules/lodash/flatten.js
-var require_flatten = __commonJS({
-  "node_modules/lodash/flatten.js"(exports2, module2) {
-    var baseFlatten = require_baseFlatten();
-    function flatten(array) {
-      var length = array == null ? 0 : array.length;
-      return length ? baseFlatten(array, 1) : [];
-    }
-    module2.exports = flatten;
-  }
-});
-
-// node_modules/lodash/_nativeCreate.js
-var require_nativeCreate = __commonJS({
-  "node_modules/lodash/_nativeCreate.js"(exports2, module2) {
-    var getNative = require_getNative();
-    var nativeCreate = getNative(Object, "create");
-    module2.exports = nativeCreate;
-  }
-});
-
-// node_modules/lodash/_hashClear.js
-var require_hashClear = __commonJS({
-  "node_modules/lodash/_hashClear.js"(exports2, module2) {
-    var nativeCreate = require_nativeCreate();
-    function hashClear() {
-      this.__data__ = nativeCreate ? nativeCreate(null) : {};
-      this.size = 0;
-    }
-    module2.exports = hashClear;
-  }
-});
-
-// node_modules/lodash/_hashDelete.js
-var require_hashDelete = __commonJS({
-  "node_modules/lodash/_hashDelete.js"(exports2, module2) {
-    function hashDelete(key) {
-      var result = this.has(key) && delete this.__data__[key];
-      this.size -= result ? 1 : 0;
-      return result;
+      return bytes;
     }
-    module2.exports = hashDelete;
-  }
-});
-
-// node_modules/lodash/_hashGet.js
-var require_hashGet = __commonJS({
-  "node_modules/lodash/_hashGet.js"(exports2, module2) {
-    var nativeCreate = require_nativeCreate();
-    var HASH_UNDEFINED = "__lodash_hash_undefined__";
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    function hashGet(key) {
-      var data = this.__data__;
-      if (nativeCreate) {
-        var result = data[key];
-        return result === HASH_UNDEFINED ? void 0 : result;
+    function convertLineEndingsNative(s) {
+      let nativeLineEnding = "\n";
+      if (process.platform === "win32") {
+        nativeLineEnding = "\r\n";
       }
-      return hasOwnProperty.call(data, key) ? data[key] : void 0;
-    }
-    module2.exports = hashGet;
-  }
-});
-
-// node_modules/lodash/_hashHas.js
-var require_hashHas = __commonJS({
-  "node_modules/lodash/_hashHas.js"(exports2, module2) {
-    var nativeCreate = require_nativeCreate();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    function hashHas(key) {
-      var data = this.__data__;
-      return nativeCreate ? data[key] !== void 0 : hasOwnProperty.call(data, key);
+      return s.replace(/\r?\n/g, nativeLineEnding);
     }
-    module2.exports = hashHas;
-  }
-});
-
-// node_modules/lodash/_hashSet.js
-var require_hashSet = __commonJS({
-  "node_modules/lodash/_hashSet.js"(exports2, module2) {
-    var nativeCreate = require_nativeCreate();
-    var HASH_UNDEFINED = "__lodash_hash_undefined__";
-    function hashSet(key, value) {
-      var data = this.__data__;
-      this.size += this.has(key) ? 0 : 1;
-      data[key] = nativeCreate && value === void 0 ? HASH_UNDEFINED : value;
-      return this;
+    function isFileLike(object) {
+      return NativeFile && object instanceof NativeFile || object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
     }
-    module2.exports = hashSet;
+    module2.exports = { File: File2, FileLike, isFileLike };
   }
 });
 
-// node_modules/lodash/_Hash.js
-var require_Hash = __commonJS({
-  "node_modules/lodash/_Hash.js"(exports2, module2) {
-    var hashClear = require_hashClear();
-    var hashDelete = require_hashDelete();
-    var hashGet = require_hashGet();
-    var hashHas = require_hashHas();
-    var hashSet = require_hashSet();
-    function Hash(entries) {
-      var index = -1, length = entries == null ? 0 : entries.length;
-      this.clear();
-      while (++index < length) {
-        var entry = entries[index];
-        this.set(entry[0], entry[1]);
+// node_modules/undici/lib/fetch/formdata.js
+var require_formdata3 = __commonJS({
+  "node_modules/undici/lib/fetch/formdata.js"(exports2, module2) {
+    "use strict";
+    var { isBlobLike, toUSVString, makeIterator } = require_util25();
+    var { kState } = require_symbols12();
+    var { File: UndiciFile, FileLike, isFileLike } = require_file5();
+    var { webidl } = require_webidl3();
+    var { Blob: Blob2, File: NativeFile } = require("buffer");
+    var File2 = NativeFile ?? UndiciFile;
+    var FormData2 = class _FormData {
+      constructor(form) {
+        if (form !== void 0) {
+          throw webidl.errors.conversionFailed({
+            prefix: "FormData constructor",
+            argument: "Argument 1",
+            types: ["undefined"]
+          });
+        }
+        this[kState] = [];
       }
-    }
-    Hash.prototype.clear = hashClear;
-    Hash.prototype["delete"] = hashDelete;
-    Hash.prototype.get = hashGet;
-    Hash.prototype.has = hashHas;
-    Hash.prototype.set = hashSet;
-    module2.exports = Hash;
-  }
-});
-
-// node_modules/lodash/_listCacheClear.js
-var require_listCacheClear = __commonJS({
-  "node_modules/lodash/_listCacheClear.js"(exports2, module2) {
-    function listCacheClear() {
-      this.__data__ = [];
-      this.size = 0;
-    }
-    module2.exports = listCacheClear;
-  }
-});
-
-// node_modules/lodash/_assocIndexOf.js
-var require_assocIndexOf = __commonJS({
-  "node_modules/lodash/_assocIndexOf.js"(exports2, module2) {
-    var eq = require_eq2();
-    function assocIndexOf(array, key) {
-      var length = array.length;
-      while (length--) {
-        if (eq(array[length][0], key)) {
-          return length;
+      append(name, value, filename = void 0) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" });
+        if (arguments.length === 3 && !isBlobLike(value)) {
+          throw new TypeError(
+            "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"
+          );
         }
+        name = webidl.converters.USVString(name);
+        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
+        filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0;
+        const entry = makeEntry(name, value, filename);
+        this[kState].push(entry);
       }
-      return -1;
+      delete(name) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" });
+        name = webidl.converters.USVString(name);
+        this[kState] = this[kState].filter((entry) => entry.name !== name);
+      }
+      get(name) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" });
+        name = webidl.converters.USVString(name);
+        const idx = this[kState].findIndex((entry) => entry.name === name);
+        if (idx === -1) {
+          return null;
+        }
+        return this[kState][idx].value;
+      }
+      getAll(name) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" });
+        name = webidl.converters.USVString(name);
+        return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value);
+      }
+      has(name) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" });
+        name = webidl.converters.USVString(name);
+        return this[kState].findIndex((entry) => entry.name === name) !== -1;
+      }
+      set(name, value, filename = void 0) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" });
+        if (arguments.length === 3 && !isBlobLike(value)) {
+          throw new TypeError(
+            "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"
+          );
+        }
+        name = webidl.converters.USVString(name);
+        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
+        filename = arguments.length === 3 ? toUSVString(filename) : void 0;
+        const entry = makeEntry(name, value, filename);
+        const idx = this[kState].findIndex((entry2) => entry2.name === name);
+        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);
+        }
+      }
+      entries() {
+        webidl.brandCheck(this, _FormData);
+        return makeIterator(
+          () => this[kState].map((pair) => [pair.name, pair.value]),
+          "FormData",
+          "key+value"
+        );
+      }
+      keys() {
+        webidl.brandCheck(this, _FormData);
+        return makeIterator(
+          () => this[kState].map((pair) => [pair.name, pair.value]),
+          "FormData",
+          "key"
+        );
+      }
+      values() {
+        webidl.brandCheck(this, _FormData);
+        return makeIterator(
+          () => this[kState].map((pair) => [pair.name, pair.value]),
+          "FormData",
+          "value"
+        );
+      }
+      /**
+       * @param {(value: string, key: string, self: FormData) => void} callbackFn
+       * @param {unknown} thisArg
+       */
+      forEach(callbackFn, thisArg = globalThis) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" });
+        if (typeof callbackFn !== "function") {
+          throw new TypeError(
+            "Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'."
+          );
+        }
+        for (const [key, value] of this) {
+          callbackFn.apply(thisArg, [value, key, this]);
+        }
+      }
+    };
+    FormData2.prototype[Symbol.iterator] = FormData2.prototype.entries;
+    Object.defineProperties(FormData2.prototype, {
+      [Symbol.toStringTag]: {
+        value: "FormData",
+        configurable: true
+      }
+    });
+    function makeEntry(name, value, filename) {
+      name = Buffer.from(name).toString("utf8");
+      if (typeof value === "string") {
+        value = Buffer.from(value).toString("utf8");
+      } else {
+        if (!isFileLike(value)) {
+          value = value instanceof Blob2 ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
+        }
+        if (filename !== void 0) {
+          const options = {
+            type: value.type,
+            lastModified: value.lastModified
+          };
+          value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
+        }
+      }
+      return { name, value };
     }
-    module2.exports = assocIndexOf;
+    module2.exports = { FormData: FormData2 };
   }
 });
 
-// node_modules/lodash/_listCacheDelete.js
-var require_listCacheDelete = __commonJS({
-  "node_modules/lodash/_listCacheDelete.js"(exports2, module2) {
-    var assocIndexOf = require_assocIndexOf();
-    var arrayProto = Array.prototype;
-    var splice = arrayProto.splice;
-    function listCacheDelete(key) {
-      var data = this.__data__, index = assocIndexOf(data, key);
-      if (index < 0) {
-        return false;
+// node_modules/undici/lib/fetch/body.js
+var require_body3 = __commonJS({
+  "node_modules/undici/lib/fetch/body.js"(exports2, module2) {
+    "use strict";
+    var Busboy = require_main();
+    var util = require_util24();
+    var {
+      ReadableStreamFrom,
+      isBlobLike,
+      isReadableStreamLike,
+      readableStreamClose,
+      createDeferredPromise,
+      fullyReadBody
+    } = require_util25();
+    var { FormData: FormData2 } = require_formdata3();
+    var { kState } = require_symbols12();
+    var { webidl } = require_webidl3();
+    var { DOMException: DOMException2, structuredClone } = require_constants21();
+    var { Blob: Blob2, File: NativeFile } = require("buffer");
+    var { kBodyUsed } = require_symbols11();
+    var assert = require("assert");
+    var { isErrored } = require_util24();
+    var { isUint8Array, isArrayBuffer } = require("util/types");
+    var { File: UndiciFile } = require_file5();
+    var { parseMIMEType, serializeAMimeType } = require_dataURL();
+    var random;
+    try {
+      const crypto2 = require("node:crypto");
+      random = (max) => crypto2.randomInt(0, max);
+    } catch {
+      random = (max) => Math.floor(Math.random(max));
+    }
+    var ReadableStream2 = globalThis.ReadableStream;
+    var File2 = NativeFile ?? UndiciFile;
+    var textEncoder = new TextEncoder();
+    var textDecoder = new TextDecoder();
+    function extractBody(object, keepalive = false) {
+      if (!ReadableStream2) {
+        ReadableStream2 = require("stream/web").ReadableStream;
       }
-      var lastIndex = data.length - 1;
-      if (index == lastIndex) {
-        data.pop();
+      let stream2 = null;
+      if (object instanceof ReadableStream2) {
+        stream2 = object;
+      } else if (isBlobLike(object)) {
+        stream2 = object.stream();
       } else {
-        splice.call(data, index, 1);
+        stream2 = new ReadableStream2({
+          async pull(controller) {
+            controller.enqueue(
+              typeof source === "string" ? textEncoder.encode(source) : source
+            );
+            queueMicrotask(() => readableStreamClose(controller));
+          },
+          start() {
+          },
+          type: void 0
+        });
       }
-      --this.size;
-      return true;
+      assert(isReadableStreamLike(stream2));
+      let action = null;
+      let source = null;
+      let length = null;
+      let type2 = null;
+      if (typeof object === "string") {
+        source = object;
+        type2 = "text/plain;charset=UTF-8";
+      } else if (object instanceof URLSearchParams) {
+        source = object.toString();
+        type2 = "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 = (str2) => str2.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}--`);
+        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;
+            }
+          }
+        };
+        type2 = "multipart/form-data; boundary=" + boundary;
+      } else if (isBlobLike(object)) {
+        source = object;
+        length = object.size;
+        if (object.type) {
+          type2 = 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"
+          );
+        }
+        stream2 = object instanceof ReadableStream2 ? object : ReadableStreamFrom(object);
+      }
+      if (typeof source === "string" || util.isBuffer(source)) {
+        length = Buffer.byteLength(source);
+      }
+      if (action != null) {
+        let iterator2;
+        stream2 = new ReadableStream2({
+          async start() {
+            iterator2 = action(object)[Symbol.asyncIterator]();
+          },
+          async pull(controller) {
+            const { value, done } = await iterator2.next();
+            if (done) {
+              queueMicrotask(() => {
+                controller.close();
+              });
+            } else {
+              if (!isErrored(stream2)) {
+                controller.enqueue(new Uint8Array(value));
+              }
+            }
+            return controller.desiredSize > 0;
+          },
+          async cancel(reason) {
+            await iterator2.return();
+          },
+          type: void 0
+        });
+      }
+      const body = { stream: stream2, source, length };
+      return [body, type2];
     }
-    module2.exports = listCacheDelete;
-  }
-});
-
-// node_modules/lodash/_listCacheGet.js
-var require_listCacheGet = __commonJS({
-  "node_modules/lodash/_listCacheGet.js"(exports2, module2) {
-    var assocIndexOf = require_assocIndexOf();
-    function listCacheGet(key) {
-      var data = this.__data__, index = assocIndexOf(data, key);
-      return index < 0 ? void 0 : data[index][1];
+    function safelyExtractBody(object, keepalive = false) {
+      if (!ReadableStream2) {
+        ReadableStream2 = require("stream/web").ReadableStream;
+      }
+      if (object instanceof ReadableStream2) {
+        assert(!util.isDisturbed(object), "The body has already been consumed.");
+        assert(!object.locked, "The stream is locked.");
+      }
+      return extractBody(object, keepalive);
     }
-    module2.exports = listCacheGet;
-  }
-});
-
-// node_modules/lodash/_listCacheHas.js
-var require_listCacheHas = __commonJS({
-  "node_modules/lodash/_listCacheHas.js"(exports2, module2) {
-    var assocIndexOf = require_assocIndexOf();
-    function listCacheHas(key) {
-      return assocIndexOf(this.__data__, key) > -1;
+    function cloneBody(body) {
+      const [out1, out2] = body.stream.tee();
+      const out2Clone = structuredClone(out2, { transfer: [out2] });
+      const [, finalClone] = out2Clone.tee();
+      body.stream = out1;
+      return {
+        stream: finalClone,
+        length: body.length,
+        source: body.source
+      };
     }
-    module2.exports = listCacheHas;
-  }
-});
-
-// node_modules/lodash/_listCacheSet.js
-var require_listCacheSet = __commonJS({
-  "node_modules/lodash/_listCacheSet.js"(exports2, module2) {
-    var assocIndexOf = require_assocIndexOf();
-    function listCacheSet(key, value) {
-      var data = this.__data__, index = assocIndexOf(data, key);
-      if (index < 0) {
-        ++this.size;
-        data.push([key, value]);
-      } else {
-        data[index][1] = value;
+    async function* consumeBody(body) {
+      if (body) {
+        if (isUint8Array(body)) {
+          yield body;
+        } else {
+          const stream2 = body.stream;
+          if (util.isDisturbed(stream2)) {
+            throw new TypeError("The body has already been consumed.");
+          }
+          if (stream2.locked) {
+            throw new TypeError("The stream is locked.");
+          }
+          stream2[kBodyUsed] = true;
+          yield* stream2;
+        }
       }
-      return this;
     }
-    module2.exports = listCacheSet;
-  }
-});
-
-// node_modules/lodash/_ListCache.js
-var require_ListCache = __commonJS({
-  "node_modules/lodash/_ListCache.js"(exports2, module2) {
-    var listCacheClear = require_listCacheClear();
-    var listCacheDelete = require_listCacheDelete();
-    var listCacheGet = require_listCacheGet();
-    var listCacheHas = require_listCacheHas();
-    var listCacheSet = require_listCacheSet();
-    function ListCache(entries) {
-      var index = -1, length = entries == null ? 0 : entries.length;
-      this.clear();
-      while (++index < length) {
-        var entry = entries[index];
-        this.set(entry[0], entry[1]);
+    function throwIfAborted(state) {
+      if (state.aborted) {
+        throw new DOMException2("The operation was aborted.", "AbortError");
       }
     }
-    ListCache.prototype.clear = listCacheClear;
-    ListCache.prototype["delete"] = listCacheDelete;
-    ListCache.prototype.get = listCacheGet;
-    ListCache.prototype.has = listCacheHas;
-    ListCache.prototype.set = listCacheSet;
-    module2.exports = ListCache;
-  }
-});
-
-// node_modules/lodash/_Map.js
-var require_Map = __commonJS({
-  "node_modules/lodash/_Map.js"(exports2, module2) {
-    var getNative = require_getNative();
-    var root = require_root();
-    var Map2 = getNative(root, "Map");
-    module2.exports = Map2;
-  }
-});
-
-// node_modules/lodash/_mapCacheClear.js
-var require_mapCacheClear = __commonJS({
-  "node_modules/lodash/_mapCacheClear.js"(exports2, module2) {
-    var Hash = require_Hash();
-    var ListCache = require_ListCache();
-    var Map2 = require_Map();
-    function mapCacheClear() {
-      this.size = 0;
-      this.__data__ = {
-        "hash": new Hash(),
-        "map": new (Map2 || ListCache)(),
-        "string": new Hash()
+    function bodyMixinMethods(instance) {
+      const methods = {
+        blob() {
+          return specConsumeBody(this, (bytes) => {
+            let mimeType = bodyMimeType(this);
+            if (mimeType === "failure") {
+              mimeType = "";
+            } else if (mimeType) {
+              mimeType = serializeAMimeType(mimeType);
+            }
+            return new Blob2([bytes], { type: mimeType });
+          }, instance);
+        },
+        arrayBuffer() {
+          return specConsumeBody(this, (bytes) => {
+            return new Uint8Array(bytes).buffer;
+          }, instance);
+        },
+        text() {
+          return specConsumeBody(this, utf8DecodeBytes, instance);
+        },
+        json() {
+          return specConsumeBody(this, parseJSONFromBytes, instance);
+        },
+        async formData() {
+          webidl.brandCheck(this, instance);
+          throwIfAborted(this[kState]);
+          const contentType = this.headers.get("Content-Type");
+          if (/multipart\/form-data/.test(contentType)) {
+            const headers = {};
+            for (const [key, value] of this.headers) headers[key.toLowerCase()] = value;
+            const responseFormData = new FormData2();
+            let busboy;
+            try {
+              busboy = new Busboy({
+                headers,
+                preservePath: true
+              });
+            } catch (err) {
+              throw new DOMException2(`${err}`, "AbortError");
+            }
+            busboy.on("field", (name, value) => {
+              responseFormData.append(name, value);
+            });
+            busboy.on("file", (name, value, filename, encoding, mimeType) => {
+              const chunks = [];
+              if (encoding === "base64" || encoding.toLowerCase() === "base64") {
+                let base64chunk = "";
+                value.on("data", (chunk) => {
+                  base64chunk += chunk.toString().replace(/[\r\n]/gm, "");
+                  const end = base64chunk.length - base64chunk.length % 4;
+                  chunks.push(Buffer.from(base64chunk.slice(0, end), "base64"));
+                  base64chunk = base64chunk.slice(end);
+                });
+                value.on("end", () => {
+                  chunks.push(Buffer.from(base64chunk, "base64"));
+                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
+                });
+              } else {
+                value.on("data", (chunk) => {
+                  chunks.push(chunk);
+                });
+                value.on("end", () => {
+                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
+                });
+              }
+            });
+            const busboyResolve = new Promise((resolve8, reject) => {
+              busboy.on("finish", resolve8);
+              busboy.on("error", (err) => reject(new TypeError(err)));
+            });
+            if (this.body !== null) for await (const chunk of consumeBody(this[kState].body)) busboy.write(chunk);
+            busboy.end();
+            await busboyResolve;
+            return responseFormData;
+          } else if (/application\/x-www-form-urlencoded/.test(contentType)) {
+            let entries;
+            try {
+              let text = "";
+              const streamingDecoder = new TextDecoder("utf-8", { ignoreBOM: true });
+              for await (const chunk of consumeBody(this[kState].body)) {
+                if (!isUint8Array(chunk)) {
+                  throw new TypeError("Expected Uint8Array chunk");
+                }
+                text += streamingDecoder.decode(chunk, { stream: true });
+              }
+              text += streamingDecoder.decode();
+              entries = new URLSearchParams(text);
+            } catch (err) {
+              throw Object.assign(new TypeError(), { cause: err });
+            }
+            const formData = new FormData2();
+            for (const [name, value] of entries) {
+              formData.append(name, value);
+            }
+            return formData;
+          } else {
+            await Promise.resolve();
+            throwIfAborted(this[kState]);
+            throw webidl.errors.exception({
+              header: `${instance.name}.formData`,
+              message: "Could not parse content as FormData."
+            });
+          }
+        }
       };
+      return methods;
     }
-    module2.exports = mapCacheClear;
-  }
-});
-
-// node_modules/lodash/_isKeyable.js
-var require_isKeyable = __commonJS({
-  "node_modules/lodash/_isKeyable.js"(exports2, module2) {
-    function isKeyable(value) {
-      var type2 = typeof value;
-      return type2 == "string" || type2 == "number" || type2 == "symbol" || type2 == "boolean" ? value !== "__proto__" : value === null;
+    function mixinBody(prototype) {
+      Object.assign(prototype.prototype, bodyMixinMethods(prototype));
     }
-    module2.exports = isKeyable;
-  }
-});
-
-// node_modules/lodash/_getMapData.js
-var require_getMapData = __commonJS({
-  "node_modules/lodash/_getMapData.js"(exports2, module2) {
-    var isKeyable = require_isKeyable();
-    function getMapData(map2, key) {
-      var data = map2.__data__;
-      return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map;
+    async function specConsumeBody(object, convertBytesToJSValue, instance) {
+      webidl.brandCheck(object, instance);
+      throwIfAborted(object[kState]);
+      if (bodyUnusable(object[kState].body)) {
+        throw new TypeError("Body is unusable");
+      }
+      const promise = createDeferredPromise();
+      const errorSteps = (error3) => promise.reject(error3);
+      const successSteps = (data) => {
+        try {
+          promise.resolve(convertBytesToJSValue(data));
+        } catch (e) {
+          errorSteps(e);
+        }
+      };
+      if (object[kState].body == null) {
+        successSteps(new Uint8Array());
+        return promise.promise;
+      }
+      await fullyReadBody(object[kState].body, successSteps, errorSteps);
+      return promise.promise;
     }
-    module2.exports = getMapData;
-  }
-});
-
-// node_modules/lodash/_mapCacheDelete.js
-var require_mapCacheDelete = __commonJS({
-  "node_modules/lodash/_mapCacheDelete.js"(exports2, module2) {
-    var getMapData = require_getMapData();
-    function mapCacheDelete(key) {
-      var result = getMapData(this, key)["delete"](key);
-      this.size -= result ? 1 : 0;
-      return result;
+    function bodyUnusable(body) {
+      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
     }
-    module2.exports = mapCacheDelete;
-  }
-});
-
-// node_modules/lodash/_mapCacheGet.js
-var require_mapCacheGet = __commonJS({
-  "node_modules/lodash/_mapCacheGet.js"(exports2, module2) {
-    var getMapData = require_getMapData();
-    function mapCacheGet(key) {
-      return getMapData(this, key).get(key);
+    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;
     }
-    module2.exports = mapCacheGet;
-  }
-});
-
-// node_modules/lodash/_mapCacheHas.js
-var require_mapCacheHas = __commonJS({
-  "node_modules/lodash/_mapCacheHas.js"(exports2, module2) {
-    var getMapData = require_getMapData();
-    function mapCacheHas(key) {
-      return getMapData(this, key).has(key);
+    function parseJSONFromBytes(bytes) {
+      return JSON.parse(utf8DecodeBytes(bytes));
     }
-    module2.exports = mapCacheHas;
-  }
-});
-
-// node_modules/lodash/_mapCacheSet.js
-var require_mapCacheSet = __commonJS({
-  "node_modules/lodash/_mapCacheSet.js"(exports2, module2) {
-    var getMapData = require_getMapData();
-    function mapCacheSet(key, value) {
-      var data = getMapData(this, key), size = data.size;
-      data.set(key, value);
-      this.size += data.size == size ? 0 : 1;
-      return this;
+    function bodyMimeType(object) {
+      const { headersList } = object[kState];
+      const contentType = headersList.get("content-type");
+      if (contentType === null) {
+        return "failure";
+      }
+      return parseMIMEType(contentType);
     }
-    module2.exports = mapCacheSet;
+    module2.exports = {
+      extractBody,
+      safelyExtractBody,
+      cloneBody,
+      mixinBody
+    };
   }
 });
 
-// node_modules/lodash/_MapCache.js
-var require_MapCache = __commonJS({
-  "node_modules/lodash/_MapCache.js"(exports2, module2) {
-    var mapCacheClear = require_mapCacheClear();
-    var mapCacheDelete = require_mapCacheDelete();
-    var mapCacheGet = require_mapCacheGet();
-    var mapCacheHas = require_mapCacheHas();
-    var mapCacheSet = require_mapCacheSet();
-    function MapCache(entries) {
-      var index = -1, length = entries == null ? 0 : entries.length;
-      this.clear();
-      while (++index < length) {
-        var entry = entries[index];
-        this.set(entry[0], entry[1]);
+// node_modules/undici/lib/core/request.js
+var require_request5 = __commonJS({
+  "node_modules/undici/lib/core/request.js"(exports2, module2) {
+    "use strict";
+    var {
+      InvalidArgumentError,
+      NotSupportedError
+    } = require_errors6();
+    var assert = require("assert");
+    var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = require_symbols11();
+    var util = require_util24();
+    var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;
+    var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
+    var invalidPathRegex = /[^\u0021-\u00ff]/;
+    var kHandler = /* @__PURE__ */ Symbol("handler");
+    var channels = {};
+    var extractBody;
+    try {
+      const diagnosticsChannel = require("diagnostics_channel");
+      channels.create = diagnosticsChannel.channel("undici:request:create");
+      channels.bodySent = diagnosticsChannel.channel("undici:request:bodySent");
+      channels.headers = diagnosticsChannel.channel("undici:request:headers");
+      channels.trailers = diagnosticsChannel.channel("undici:request:trailers");
+      channels.error = diagnosticsChannel.channel("undici:request:error");
+    } catch {
+      channels.create = { hasSubscribers: false };
+      channels.bodySent = { hasSubscribers: false };
+      channels.headers = { hasSubscribers: false };
+      channels.trailers = { hasSubscribers: false };
+      channels.error = { hasSubscribers: false };
+    }
+    var Request = class _Request {
+      constructor(origin, {
+        path: path16,
+        method,
+        body,
+        headers,
+        query,
+        idempotent,
+        blocking,
+        upgrade,
+        headersTimeout,
+        bodyTimeout,
+        reset,
+        throwOnError,
+        expectContinue
+      }, handler2) {
+        if (typeof path16 !== "string") {
+          throw new InvalidArgumentError("path must be a string");
+        } else if (path16[0] !== "/" && !(path16.startsWith("http://") || path16.startsWith("https://")) && method !== "CONNECT") {
+          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
+        } else if (invalidPathRegex.exec(path16) !== null) {
+          throw new InvalidArgumentError("invalid request path");
+        }
+        if (typeof method !== "string") {
+          throw new InvalidArgumentError("method must be a string");
+        } else if (tokenRegExp.exec(method) === null) {
+          throw new InvalidArgumentError("invalid request method");
+        }
+        if (upgrade && typeof upgrade !== "string") {
+          throw new InvalidArgumentError("upgrade must be a string");
+        }
+        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
+          throw new InvalidArgumentError("invalid headersTimeout");
+        }
+        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
+          throw new InvalidArgumentError("invalid bodyTimeout");
+        }
+        if (reset != null && typeof reset !== "boolean") {
+          throw new InvalidArgumentError("invalid reset");
+        }
+        if (expectContinue != null && typeof expectContinue !== "boolean") {
+          throw new InvalidArgumentError("invalid expectContinue");
+        }
+        this.headersTimeout = headersTimeout;
+        this.bodyTimeout = bodyTimeout;
+        this.throwOnError = throwOnError === true;
+        this.method = method;
+        this.abort = null;
+        if (body == null) {
+          this.body = null;
+        } else if (util.isStream(body)) {
+          this.body = body;
+          const rState = this.body._readableState;
+          if (!rState || !rState.autoDestroy) {
+            this.endHandler = function autoDestroy() {
+              util.destroy(this);
+            };
+            this.body.on("end", this.endHandler);
+          }
+          this.errorHandler = (err) => {
+            if (this.abort) {
+              this.abort(err);
+            } else {
+              this.error = err;
+            }
+          };
+          this.body.on("error", this.errorHandler);
+        } else if (util.isBuffer(body)) {
+          this.body = body.byteLength ? body : null;
+        } else if (ArrayBuffer.isView(body)) {
+          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
+        } else if (body instanceof ArrayBuffer) {
+          this.body = body.byteLength ? Buffer.from(body) : null;
+        } else if (typeof body === "string") {
+          this.body = body.length ? Buffer.from(body) : null;
+        } else if (util.isFormDataLike(body) || util.isIterable(body) || util.isBlobLike(body)) {
+          this.body = body;
+        } else {
+          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
+        }
+        this.completed = false;
+        this.aborted = false;
+        this.upgrade = upgrade || null;
+        this.path = query ? util.buildURL(path16, query) : path16;
+        this.origin = origin;
+        this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
+        this.blocking = blocking == null ? false : blocking;
+        this.reset = reset == null ? null : reset;
+        this.host = null;
+        this.contentLength = null;
+        this.contentType = null;
+        this.headers = "";
+        this.expectContinue = expectContinue != null ? expectContinue : false;
+        if (Array.isArray(headers)) {
+          if (headers.length % 2 !== 0) {
+            throw new InvalidArgumentError("headers array must be even");
+          }
+          for (let i = 0; i < headers.length; i += 2) {
+            processHeader(this, headers[i], headers[i + 1]);
+          }
+        } else if (headers && typeof headers === "object") {
+          const keys = Object.keys(headers);
+          for (let i = 0; i < keys.length; i++) {
+            const key = keys[i];
+            processHeader(this, key, headers[key]);
+          }
+        } else if (headers != null) {
+          throw new InvalidArgumentError("headers must be an object or an array");
+        }
+        if (util.isFormDataLike(this.body)) {
+          if (util.nodeMajor < 16 || util.nodeMajor === 16 && util.nodeMinor < 8) {
+            throw new InvalidArgumentError("Form-Data bodies are only supported in node v16.8 and newer.");
+          }
+          if (!extractBody) {
+            extractBody = require_body3().extractBody;
+          }
+          const [bodyStream, contentType] = extractBody(body);
+          if (this.contentType == null) {
+            this.contentType = contentType;
+            this.headers += `content-type: ${contentType}\r
+`;
+          }
+          this.body = bodyStream.stream;
+          this.contentLength = bodyStream.length;
+        } else if (util.isBlobLike(body) && this.contentType == null && body.type) {
+          this.contentType = body.type;
+          this.headers += `content-type: ${body.type}\r
+`;
+        }
+        util.validateHandler(handler2, method, upgrade);
+        this.servername = util.getServerName(this.host);
+        this[kHandler] = handler2;
+        if (channels.create.hasSubscribers) {
+          channels.create.publish({ request: this });
+        }
       }
-    }
-    MapCache.prototype.clear = mapCacheClear;
-    MapCache.prototype["delete"] = mapCacheDelete;
-    MapCache.prototype.get = mapCacheGet;
-    MapCache.prototype.has = mapCacheHas;
-    MapCache.prototype.set = mapCacheSet;
-    module2.exports = MapCache;
-  }
-});
-
-// node_modules/lodash/_setCacheAdd.js
-var require_setCacheAdd = __commonJS({
-  "node_modules/lodash/_setCacheAdd.js"(exports2, module2) {
-    var HASH_UNDEFINED = "__lodash_hash_undefined__";
-    function setCacheAdd(value) {
-      this.__data__.set(value, HASH_UNDEFINED);
-      return this;
-    }
-    module2.exports = setCacheAdd;
-  }
-});
-
-// node_modules/lodash/_setCacheHas.js
-var require_setCacheHas = __commonJS({
-  "node_modules/lodash/_setCacheHas.js"(exports2, module2) {
-    function setCacheHas(value) {
-      return this.__data__.has(value);
-    }
-    module2.exports = setCacheHas;
-  }
-});
-
-// node_modules/lodash/_SetCache.js
-var require_SetCache = __commonJS({
-  "node_modules/lodash/_SetCache.js"(exports2, module2) {
-    var MapCache = require_MapCache();
-    var setCacheAdd = require_setCacheAdd();
-    var setCacheHas = require_setCacheHas();
-    function SetCache(values) {
-      var index = -1, length = values == null ? 0 : values.length;
-      this.__data__ = new MapCache();
-      while (++index < length) {
-        this.add(values[index]);
+      onBodySent(chunk) {
+        if (this[kHandler].onBodySent) {
+          try {
+            return this[kHandler].onBodySent(chunk);
+          } catch (err) {
+            this.abort(err);
+          }
+        }
       }
-    }
-    SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
-    SetCache.prototype.has = setCacheHas;
-    module2.exports = SetCache;
-  }
-});
-
-// node_modules/lodash/_baseFindIndex.js
-var require_baseFindIndex = __commonJS({
-  "node_modules/lodash/_baseFindIndex.js"(exports2, module2) {
-    function baseFindIndex(array, predicate, fromIndex, fromRight) {
-      var length = array.length, index = fromIndex + (fromRight ? 1 : -1);
-      while (fromRight ? index-- : ++index < length) {
-        if (predicate(array[index], index, array)) {
-          return index;
+      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 -1;
-    }
-    module2.exports = baseFindIndex;
-  }
-});
-
-// node_modules/lodash/_baseIsNaN.js
-var require_baseIsNaN = __commonJS({
-  "node_modules/lodash/_baseIsNaN.js"(exports2, module2) {
-    function baseIsNaN(value) {
-      return value !== value;
-    }
-    module2.exports = baseIsNaN;
-  }
-});
-
-// node_modules/lodash/_strictIndexOf.js
-var require_strictIndexOf = __commonJS({
-  "node_modules/lodash/_strictIndexOf.js"(exports2, module2) {
-    function strictIndexOf(array, value, fromIndex) {
-      var index = fromIndex - 1, length = array.length;
-      while (++index < length) {
-        if (array[index] === value) {
-          return index;
+      onConnect(abort) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (this.error) {
+          abort(this.error);
+        } else {
+          this.abort = abort;
+          return this[kHandler].onConnect(abort);
         }
       }
-      return -1;
-    }
-    module2.exports = strictIndexOf;
-  }
-});
-
-// node_modules/lodash/_baseIndexOf.js
-var require_baseIndexOf = __commonJS({
-  "node_modules/lodash/_baseIndexOf.js"(exports2, module2) {
-    var baseFindIndex = require_baseFindIndex();
-    var baseIsNaN = require_baseIsNaN();
-    var strictIndexOf = require_strictIndexOf();
-    function baseIndexOf(array, value, fromIndex) {
-      return value === value ? strictIndexOf(array, value, fromIndex) : baseFindIndex(array, baseIsNaN, fromIndex);
-    }
-    module2.exports = baseIndexOf;
-  }
-});
-
-// node_modules/lodash/_arrayIncludes.js
-var require_arrayIncludes = __commonJS({
-  "node_modules/lodash/_arrayIncludes.js"(exports2, module2) {
-    var baseIndexOf = require_baseIndexOf();
-    function arrayIncludes(array, value) {
-      var length = array == null ? 0 : array.length;
-      return !!length && baseIndexOf(array, value, 0) > -1;
-    }
-    module2.exports = arrayIncludes;
-  }
-});
-
-// node_modules/lodash/_arrayIncludesWith.js
-var require_arrayIncludesWith = __commonJS({
-  "node_modules/lodash/_arrayIncludesWith.js"(exports2, module2) {
-    function arrayIncludesWith(array, value, comparator) {
-      var index = -1, length = array == null ? 0 : array.length;
-      while (++index < length) {
-        if (comparator(value, array[index])) {
-          return true;
+      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);
         }
       }
-      return false;
-    }
-    module2.exports = arrayIncludesWith;
-  }
-});
-
-// node_modules/lodash/_arrayMap.js
-var require_arrayMap = __commonJS({
-  "node_modules/lodash/_arrayMap.js"(exports2, module2) {
-    function arrayMap(array, iteratee) {
-      var index = -1, length = array == null ? 0 : array.length, result = Array(length);
-      while (++index < length) {
-        result[index] = iteratee(array[index], index, array);
+      onData(chunk) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        try {
+          return this[kHandler].onData(chunk);
+        } catch (err) {
+          this.abort(err);
+          return false;
+        }
       }
-      return result;
-    }
-    module2.exports = arrayMap;
-  }
-});
-
-// node_modules/lodash/_cacheHas.js
-var require_cacheHas = __commonJS({
-  "node_modules/lodash/_cacheHas.js"(exports2, module2) {
-    function cacheHas(cache, key) {
-      return cache.has(key);
-    }
-    module2.exports = cacheHas;
-  }
-});
-
-// node_modules/lodash/_baseDifference.js
-var require_baseDifference = __commonJS({
-  "node_modules/lodash/_baseDifference.js"(exports2, module2) {
-    var SetCache = require_SetCache();
-    var arrayIncludes = require_arrayIncludes();
-    var arrayIncludesWith = require_arrayIncludesWith();
-    var arrayMap = require_arrayMap();
-    var baseUnary = require_baseUnary();
-    var cacheHas = require_cacheHas();
-    var LARGE_ARRAY_SIZE = 200;
-    function baseDifference(array, values, iteratee, comparator) {
-      var index = -1, includes = arrayIncludes, isCommon = true, length = array.length, result = [], valuesLength = values.length;
-      if (!length) {
-        return result;
+      onUpgrade(statusCode, headers, socket) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        return this[kHandler].onUpgrade(statusCode, headers, socket);
       }
-      if (iteratee) {
-        values = arrayMap(values, baseUnary(iteratee));
+      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);
+        }
       }
-      if (comparator) {
-        includes = arrayIncludesWith;
-        isCommon = false;
-      } else if (values.length >= LARGE_ARRAY_SIZE) {
-        includes = cacheHas;
-        isCommon = false;
-        values = new SetCache(values);
+      onError(error3) {
+        this.onFinally();
+        if (channels.error.hasSubscribers) {
+          channels.error.publish({ request: this, error: error3 });
+        }
+        if (this.aborted) {
+          return;
+        }
+        this.aborted = true;
+        return this[kHandler].onError(error3);
       }
-      outer:
-        while (++index < length) {
-          var value = array[index], computed = iteratee == null ? value : iteratee(value);
-          value = comparator || value !== 0 ? value : 0;
-          if (isCommon && computed === computed) {
-            var valuesIndex = valuesLength;
-            while (valuesIndex--) {
-              if (values[valuesIndex] === computed) {
-                continue outer;
-              }
-            }
-            result.push(value);
-          } else if (!includes(values, computed, comparator)) {
-            result.push(value);
+      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;
+        }
+      }
+      // TODO: adjust to support H2
+      addHeader(key, value) {
+        processHeader(this, key, value);
+        return this;
+      }
+      static [kHTTP1BuildRequest](origin, opts, handler2) {
+        return new _Request(origin, opts, handler2);
+      }
+      static [kHTTP2BuildRequest](origin, opts, handler2) {
+        const headers = opts.headers;
+        opts = { ...opts, headers: null };
+        const request2 = new _Request(origin, opts, handler2);
+        request2.headers = {};
+        if (Array.isArray(headers)) {
+          if (headers.length % 2 !== 0) {
+            throw new InvalidArgumentError("headers array must be even");
           }
+          for (let i = 0; i < headers.length; i += 2) {
+            processHeader(request2, headers[i], headers[i + 1], true);
+          }
+        } else if (headers && typeof headers === "object") {
+          const keys = Object.keys(headers);
+          for (let i = 0; i < keys.length; i++) {
+            const key = keys[i];
+            processHeader(request2, key, headers[key], true);
+          }
+        } else if (headers != null) {
+          throw new InvalidArgumentError("headers must be an object or an array");
         }
-      return result;
-    }
-    module2.exports = baseDifference;
-  }
-});
-
-// node_modules/lodash/isArrayLikeObject.js
-var require_isArrayLikeObject = __commonJS({
-  "node_modules/lodash/isArrayLikeObject.js"(exports2, module2) {
-    var isArrayLike = require_isArrayLike();
-    var isObjectLike = require_isObjectLike();
-    function isArrayLikeObject(value) {
-      return isObjectLike(value) && isArrayLike(value);
-    }
-    module2.exports = isArrayLikeObject;
-  }
-});
-
-// node_modules/lodash/difference.js
-var require_difference = __commonJS({
-  "node_modules/lodash/difference.js"(exports2, module2) {
-    var baseDifference = require_baseDifference();
-    var baseFlatten = require_baseFlatten();
-    var baseRest = require_baseRest();
-    var isArrayLikeObject = require_isArrayLikeObject();
-    var difference = baseRest(function(array, values) {
-      return isArrayLikeObject(array) ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true)) : [];
-    });
-    module2.exports = difference;
-  }
-});
-
-// node_modules/lodash/_Set.js
-var require_Set = __commonJS({
-  "node_modules/lodash/_Set.js"(exports2, module2) {
-    var getNative = require_getNative();
-    var root = require_root();
-    var Set2 = getNative(root, "Set");
-    module2.exports = Set2;
-  }
-});
-
-// node_modules/lodash/noop.js
-var require_noop = __commonJS({
-  "node_modules/lodash/noop.js"(exports2, module2) {
-    function noop3() {
-    }
-    module2.exports = noop3;
-  }
-});
-
-// node_modules/lodash/_setToArray.js
-var require_setToArray = __commonJS({
-  "node_modules/lodash/_setToArray.js"(exports2, module2) {
-    function setToArray(set2) {
-      var index = -1, result = Array(set2.size);
-      set2.forEach(function(value) {
-        result[++index] = value;
-      });
-      return result;
-    }
-    module2.exports = setToArray;
-  }
-});
-
-// node_modules/lodash/_createSet.js
-var require_createSet = __commonJS({
-  "node_modules/lodash/_createSet.js"(exports2, module2) {
-    var Set2 = require_Set();
-    var noop3 = require_noop();
-    var setToArray = require_setToArray();
-    var INFINITY = 1 / 0;
-    var createSet = !(Set2 && 1 / setToArray(new Set2([, -0]))[1] == INFINITY) ? noop3 : function(values) {
-      return new Set2(values);
+        return request2;
+      }
+      static [kHTTP2CopyHeaders](raw) {
+        const rawHeaders = raw.split("\r\n");
+        const headers = {};
+        for (const header of rawHeaders) {
+          const [key, value] = header.split(": ");
+          if (value == null || value.length === 0) continue;
+          if (headers[key]) headers[key] += `,${value}`;
+          else headers[key] = value;
+        }
+        return headers;
+      }
     };
-    module2.exports = createSet;
-  }
-});
-
-// node_modules/lodash/_baseUniq.js
-var require_baseUniq = __commonJS({
-  "node_modules/lodash/_baseUniq.js"(exports2, module2) {
-    var SetCache = require_SetCache();
-    var arrayIncludes = require_arrayIncludes();
-    var arrayIncludesWith = require_arrayIncludesWith();
-    var cacheHas = require_cacheHas();
-    var createSet = require_createSet();
-    var setToArray = require_setToArray();
-    var LARGE_ARRAY_SIZE = 200;
-    function baseUniq(array, iteratee, comparator) {
-      var index = -1, includes = arrayIncludes, length = array.length, isCommon = true, result = [], seen = result;
-      if (comparator) {
-        isCommon = false;
-        includes = arrayIncludesWith;
-      } else if (length >= LARGE_ARRAY_SIZE) {
-        var set2 = iteratee ? null : createSet(array);
-        if (set2) {
-          return setToArray(set2);
+    function processHeaderValue(key, val, skipAppend) {
+      if (val && typeof val === "object") {
+        throw new InvalidArgumentError(`invalid ${key} header`);
+      }
+      val = val != null ? `${val}` : "";
+      if (headerCharRegex.exec(val) !== null) {
+        throw new InvalidArgumentError(`invalid ${key} header`);
+      }
+      return skipAppend ? val : `${key}: ${val}\r
+`;
+    }
+    function processHeader(request2, key, val, skipAppend = false) {
+      if (val && (typeof val === "object" && !Array.isArray(val))) {
+        throw new InvalidArgumentError(`invalid ${key} header`);
+      } else if (val === void 0) {
+        return;
+      }
+      if (request2.host === null && key.length === 4 && key.toLowerCase() === "host") {
+        if (headerCharRegex.exec(val) !== null) {
+          throw new InvalidArgumentError(`invalid ${key} header`);
         }
-        isCommon = false;
-        includes = cacheHas;
-        seen = new SetCache();
+        request2.host = val;
+      } else if (request2.contentLength === null && key.length === 14 && key.toLowerCase() === "content-length") {
+        request2.contentLength = parseInt(val, 10);
+        if (!Number.isFinite(request2.contentLength)) {
+          throw new InvalidArgumentError("invalid content-length header");
+        }
+      } else if (request2.contentType === null && key.length === 12 && key.toLowerCase() === "content-type") {
+        request2.contentType = val;
+        if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
+        else request2.headers += processHeaderValue(key, val);
+      } else if (key.length === 17 && key.toLowerCase() === "transfer-encoding") {
+        throw new InvalidArgumentError("invalid transfer-encoding header");
+      } else if (key.length === 10 && key.toLowerCase() === "connection") {
+        const value = typeof val === "string" ? val.toLowerCase() : null;
+        if (value !== "close" && value !== "keep-alive") {
+          throw new InvalidArgumentError("invalid connection header");
+        } else if (value === "close") {
+          request2.reset = true;
+        }
+      } else if (key.length === 10 && key.toLowerCase() === "keep-alive") {
+        throw new InvalidArgumentError("invalid keep-alive header");
+      } else if (key.length === 7 && key.toLowerCase() === "upgrade") {
+        throw new InvalidArgumentError("invalid upgrade header");
+      } else if (key.length === 6 && key.toLowerCase() === "expect") {
+        throw new NotSupportedError("expect header not supported");
+      } else if (tokenRegExp.exec(key) === null) {
+        throw new InvalidArgumentError("invalid header key");
       } else {
-        seen = iteratee ? [] : result;
-      }
-      outer:
-        while (++index < length) {
-          var value = array[index], computed = iteratee ? iteratee(value) : value;
-          value = comparator || value !== 0 ? value : 0;
-          if (isCommon && computed === computed) {
-            var seenIndex = seen.length;
-            while (seenIndex--) {
-              if (seen[seenIndex] === computed) {
-                continue outer;
-              }
-            }
-            if (iteratee) {
-              seen.push(computed);
-            }
-            result.push(value);
-          } else if (!includes(seen, computed, comparator)) {
-            if (seen !== result) {
-              seen.push(computed);
+        if (Array.isArray(val)) {
+          for (let i = 0; i < val.length; i++) {
+            if (skipAppend) {
+              if (request2.headers[key]) request2.headers[key] += `,${processHeaderValue(key, val[i], skipAppend)}`;
+              else request2.headers[key] = processHeaderValue(key, val[i], skipAppend);
+            } else {
+              request2.headers += processHeaderValue(key, val[i]);
             }
-            result.push(value);
           }
+        } else {
+          if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
+          else request2.headers += processHeaderValue(key, val);
         }
-      return result;
-    }
-    module2.exports = baseUniq;
-  }
-});
-
-// node_modules/lodash/union.js
-var require_union = __commonJS({
-  "node_modules/lodash/union.js"(exports2, module2) {
-    var baseFlatten = require_baseFlatten();
-    var baseRest = require_baseRest();
-    var baseUniq = require_baseUniq();
-    var isArrayLikeObject = require_isArrayLikeObject();
-    var union = baseRest(function(arrays) {
-      return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));
-    });
-    module2.exports = union;
-  }
-});
-
-// node_modules/lodash/_overArg.js
-var require_overArg = __commonJS({
-  "node_modules/lodash/_overArg.js"(exports2, module2) {
-    function overArg(func, transform) {
-      return function(arg) {
-        return func(transform(arg));
-      };
+      }
     }
-    module2.exports = overArg;
-  }
-});
-
-// node_modules/lodash/_getPrototype.js
-var require_getPrototype = __commonJS({
-  "node_modules/lodash/_getPrototype.js"(exports2, module2) {
-    var overArg = require_overArg();
-    var getPrototype = overArg(Object.getPrototypeOf, Object);
-    module2.exports = getPrototype;
+    module2.exports = Request;
   }
 });
 
-// node_modules/lodash/isPlainObject.js
-var require_isPlainObject = __commonJS({
-  "node_modules/lodash/isPlainObject.js"(exports2, module2) {
-    var baseGetTag = require_baseGetTag();
-    var getPrototype = require_getPrototype();
-    var isObjectLike = require_isObjectLike();
-    var objectTag = "[object Object]";
-    var funcProto = Function.prototype;
-    var objectProto = Object.prototype;
-    var funcToString = funcProto.toString;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    var objectCtorString = funcToString.call(Object);
-    function isPlainObject3(value) {
-      if (!isObjectLike(value) || baseGetTag(value) != objectTag) {
-        return false;
+// node_modules/undici/lib/dispatcher.js
+var require_dispatcher3 = __commonJS({
+  "node_modules/undici/lib/dispatcher.js"(exports2, module2) {
+    "use strict";
+    var EventEmitter = require("events");
+    var Dispatcher = class extends EventEmitter {
+      dispatch() {
+        throw new Error("not implemented");
       }
-      var proto = getPrototype(value);
-      if (proto === null) {
-        return true;
+      close() {
+        throw new Error("not implemented");
       }
-      var Ctor = hasOwnProperty.call(proto, "constructor") && proto.constructor;
-      return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString;
-    }
-    module2.exports = isPlainObject3;
+      destroy() {
+        throw new Error("not implemented");
+      }
+    };
+    module2.exports = Dispatcher;
   }
 });
 
-// node_modules/@isaacs/balanced-match/dist/commonjs/index.js
-var require_commonjs18 = __commonJS({
-  "node_modules/@isaacs/balanced-match/dist/commonjs/index.js"(exports2) {
+// node_modules/undici/lib/dispatcher-base.js
+var require_dispatcher_base3 = __commonJS({
+  "node_modules/undici/lib/dispatcher-base.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.range = exports2.balanced = void 0;
-    var balanced = (a, b, str2) => {
-      const ma = a instanceof RegExp ? maybeMatch(a, str2) : a;
-      const mb = b instanceof RegExp ? maybeMatch(b, str2) : b;
-      const r = ma !== null && mb != null && (0, exports2.range)(ma, mb, str2);
-      return r && {
-        start: r[0],
-        end: r[1],
-        pre: str2.slice(0, r[0]),
-        body: str2.slice(r[0] + ma.length, r[1]),
-        post: str2.slice(r[1] + mb.length)
-      };
-    };
-    exports2.balanced = balanced;
-    var maybeMatch = (reg, str2) => {
-      const m = str2.match(reg);
-      return m ? m[0] : null;
-    };
-    var range = (a, b, str2) => {
-      let begs, beg, left, right = void 0, result;
-      let ai = str2.indexOf(a);
-      let bi = str2.indexOf(b, ai + 1);
-      let i = ai;
-      if (ai >= 0 && bi > 0) {
-        if (a === b) {
-          return [ai, bi];
+    var Dispatcher = require_dispatcher3();
+    var {
+      ClientDestroyedError,
+      ClientClosedError,
+      InvalidArgumentError
+    } = require_errors6();
+    var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols11();
+    var kDestroyed = /* @__PURE__ */ Symbol("destroyed");
+    var kClosed = /* @__PURE__ */ Symbol("closed");
+    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
+    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
+    var kInterceptedDispatch = /* @__PURE__ */ 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");
+            }
+          }
         }
-        begs = [];
-        left = str2.length;
-        while (i >= 0 && !result) {
-          if (i === ai) {
-            begs.push(i);
-            ai = str2.indexOf(a, i + 1);
-          } else if (begs.length === 1) {
-            const r = begs.pop();
-            if (r !== void 0)
-              result = [r, bi];
+        this[kInterceptors] = newInterceptors;
+      }
+      close(callback) {
+        if (callback === void 0) {
+          return new Promise((resolve8, reject) => {
+            this.close((err, data) => {
+              return err ? reject(err) : resolve8(data);
+            });
+          });
+        }
+        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 {
-            beg = begs.pop();
-            if (beg !== void 0 && beg < left) {
-              left = beg;
-              right = bi;
-            }
-            bi = str2.indexOf(b, i + 1);
+            queueMicrotask(() => callback(null, null));
           }
-          i = ai < bi && ai >= 0 ? ai : bi;
+          return;
         }
-        if (begs.length && right !== void 0) {
-          result = [left, right];
+        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);
+        });
+      }
+      destroy(err, callback) {
+        if (typeof err === "function") {
+          callback = err;
+          err = null;
+        }
+        if (callback === void 0) {
+          return new Promise((resolve8, reject) => {
+            this.destroy(err, (err2, data) => {
+              return err2 ? (
+                /* istanbul ignore next: should never error */
+                reject(err2)
+              ) : resolve8(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;
         }
       }
-      return result;
     };
-    exports2.range = range;
+    module2.exports = DispatcherBase;
   }
 });
 
-// node_modules/@isaacs/brace-expansion/dist/commonjs/index.js
-var require_commonjs19 = __commonJS({
-  "node_modules/@isaacs/brace-expansion/dist/commonjs/index.js"(exports2) {
+// node_modules/undici/lib/core/connect.js
+var require_connect3 = __commonJS({
+  "node_modules/undici/lib/core/connect.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.EXPANSION_MAX = void 0;
-    exports2.expand = expand2;
-    var balanced_match_1 = require_commonjs18();
-    var escSlash = "\0SLASH" + Math.random() + "\0";
-    var escOpen = "\0OPEN" + Math.random() + "\0";
-    var escClose = "\0CLOSE" + Math.random() + "\0";
-    var escComma = "\0COMMA" + Math.random() + "\0";
-    var escPeriod = "\0PERIOD" + Math.random() + "\0";
-    var escSlashPattern = new RegExp(escSlash, "g");
-    var escOpenPattern = new RegExp(escOpen, "g");
-    var escClosePattern = new RegExp(escClose, "g");
-    var escCommaPattern = new RegExp(escComma, "g");
-    var escPeriodPattern = new RegExp(escPeriod, "g");
-    var slashPattern = /\\\\/g;
-    var openPattern = /\\{/g;
-    var closePattern = /\\}/g;
-    var commaPattern = /\\,/g;
-    var periodPattern = /\\./g;
-    exports2.EXPANSION_MAX = 1e5;
-    function numeric(str2) {
-      return !isNaN(str2) ? parseInt(str2, 10) : str2.charCodeAt(0);
-    }
-    function escapeBraces(str2) {
-      return str2.replace(slashPattern, escSlash).replace(openPattern, escOpen).replace(closePattern, escClose).replace(commaPattern, escComma).replace(periodPattern, escPeriod);
-    }
-    function unescapeBraces(str2) {
-      return str2.replace(escSlashPattern, "\\").replace(escOpenPattern, "{").replace(escClosePattern, "}").replace(escCommaPattern, ",").replace(escPeriodPattern, ".");
-    }
-    function parseCommaParts(str2) {
-      if (!str2) {
-        return [""];
-      }
-      const parts = [];
-      const m = (0, balanced_match_1.balanced)("{", "}", str2);
-      if (!m) {
-        return str2.split(",");
-      }
-      const { pre, body, post } = m;
-      const p = pre.split(",");
-      p[p.length - 1] += "{" + body + "}";
-      const postParts = parseCommaParts(post);
-      if (post.length) {
-        ;
-        p[p.length - 1] += postParts.shift();
-        p.push.apply(p, postParts);
-      }
-      parts.push.apply(parts, p);
-      return parts;
-    }
-    function expand2(str2, options = {}) {
-      if (!str2) {
-        return [];
-      }
-      const { max = exports2.EXPANSION_MAX } = options;
-      if (str2.slice(0, 2) === "{}") {
-        str2 = "\\{\\}" + str2.slice(2);
-      }
-      return expand_(escapeBraces(str2), max, true).map(unescapeBraces);
-    }
-    function embrace(str2) {
-      return "{" + str2 + "}";
-    }
-    function isPadded(el) {
-      return /^-?0\d/.test(el);
-    }
-    function lte(i, y) {
-      return i <= y;
-    }
-    function gte6(i, y) {
-      return i >= y;
-    }
-    function expand_(str2, max, isTop) {
-      const expansions = [];
-      const m = (0, balanced_match_1.balanced)("{", "}", str2);
-      if (!m)
-        return [str2];
-      const pre = m.pre;
-      const post = m.post.length ? expand_(m.post, max, false) : [""];
-      if (/\$$/.test(m.pre)) {
-        for (let k = 0; k < post.length && k < max; k++) {
-          const expansion = pre + "{" + m.body + "}" + post[k];
-          expansions.push(expansion);
+    var net = require("net");
+    var assert = require("assert");
+    var util = require_util24();
+    var { InvalidArgumentError, ConnectTimeoutError } = require_errors6();
+    var tls;
+    var SessionCache;
+    if (global.FinalizationRegistry && !process.env.NODE_V8_COVERAGE) {
+      SessionCache = class WeakSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
+          this._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);
+            }
+          });
         }
-      } else {
-        const isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
-        const isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
-        const isSequence = isNumericSequence || isAlphaSequence;
-        const isOptions = m.body.indexOf(",") >= 0;
-        if (!isSequence && !isOptions) {
-          if (m.post.match(/,(?!,).*\}/)) {
-            str2 = m.pre + "{" + m.body + escClose + m.post;
-            return expand_(str2, max, true);
-          }
-          return [str2];
+        get(sessionKey) {
+          const ref = this._sessionCache.get(sessionKey);
+          return ref ? ref.deref() : null;
         }
-        let n;
-        if (isSequence) {
-          n = m.body.split(/\.\./);
-        } else {
-          n = parseCommaParts(m.body);
-          if (n.length === 1 && n[0] !== void 0) {
-            n = expand_(n[0], max, false).map(embrace);
-            if (n.length === 1) {
-              return post.map((p) => m.pre + n[0] + p);
-            }
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
+          this._sessionCache.set(sessionKey, new WeakRef(session));
+          this._sessionRegistry.register(session, sessionKey);
         }
-        let N;
-        if (isSequence && n[0] !== void 0 && n[1] !== void 0) {
-          const x = numeric(n[0]);
-          const y = numeric(n[1]);
-          const width = Math.max(n[0].length, n[1].length);
-          let incr = n.length === 3 && n[2] !== void 0 ? Math.abs(numeric(n[2])) : 1;
-          let test = lte;
-          const reverse = y < x;
-          if (reverse) {
-            incr *= -1;
-            test = gte6;
+      };
+    } else {
+      SessionCache = class SimpleSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
+        }
+        get(sessionKey) {
+          return this._sessionCache.get(sessionKey);
+        }
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
-          const pad = n.some(isPadded);
-          N = [];
-          for (let i = x; test(i, y); i += incr) {
-            let c;
-            if (isAlphaSequence) {
-              c = String.fromCharCode(i);
-              if (c === "\\") {
-                c = "";
-              }
-            } else {
-              c = String(i);
-              if (pad) {
-                const need = width - c.length;
-                if (need > 0) {
-                  const z = new Array(need + 1).join("0");
-                  if (i < 0) {
-                    c = "-" + z + c.slice(1);
-                  } else {
-                    c = z + c;
-                  }
-                }
-              }
-            }
-            N.push(c);
+          if (this._sessionCache.size >= this._maxCachedSessions) {
+            const { value: oldestKey } = this._sessionCache.keys().next();
+            this._sessionCache.delete(oldestKey);
+          }
+          this._sessionCache.set(sessionKey, session);
+        }
+      };
+    }
+    function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, ...opts }) {
+      if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
+        throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
+      }
+      const options = { path: socketPath, ...opts };
+      const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
+      timeout = timeout == null ? 1e4 : timeout;
+      allowH2 = allowH2 != null ? allowH2 : false;
+      return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
+        let socket;
+        if (protocol === "https:") {
+          if (!tls) {
+            tls = require("tls");
           }
+          servername = servername || options.servername || util.getServerName(host) || null;
+          const sessionKey = servername || hostname;
+          const session = sessionCache.get(sessionKey) || null;
+          assert(sessionKey);
+          socket = tls.connect({
+            highWaterMark: 16384,
+            // TLS in node can't have bigger HWM anyway...
+            ...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: port || 443,
+            host: hostname
+          });
+          socket.on("session", function(session2) {
+            sessionCache.set(sessionKey, session2);
+          });
         } else {
-          N = [];
-          for (let j = 0; j < n.length; j++) {
-            N.push.apply(N, expand_(n[j], max, false));
-          }
+          assert(!httpSocket, "httpSocket can only be sent on TLS update");
+          socket = net.connect({
+            highWaterMark: 64 * 1024,
+            // Same as nodejs fs streams.
+            ...options,
+            localAddress,
+            port: port || 80,
+            host: hostname
+          });
         }
-        for (let j = 0; j < N.length; j++) {
-          for (let k = 0; k < post.length && expansions.length < max; k++) {
-            const expansion = pre + N[j] + post[k];
-            if (!isTop || isSequence || expansion) {
-              expansions.push(expansion);
-            }
-          }
+        if (options.keepAlive == null || options.keepAlive) {
+          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
+          socket.setKeepAlive(true, keepAliveInitialDelay);
         }
+        const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout);
+        socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
+          cancelTimeout();
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(null, this);
+          }
+        }).on("error", function(err) {
+          cancelTimeout();
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(err);
+          }
+        });
+        return socket;
+      };
+    }
+    function setupTimeout(onConnectTimeout2, timeout) {
+      if (!timeout) {
+        return () => {
+        };
       }
-      return expansions;
+      let s1 = null;
+      let s2 = null;
+      const timeoutId = setTimeout(() => {
+        s1 = setImmediate(() => {
+          if (process.platform === "win32") {
+            s2 = setImmediate(() => onConnectTimeout2());
+          } else {
+            onConnectTimeout2();
+          }
+        });
+      }, timeout);
+      return () => {
+        clearTimeout(timeoutId);
+        clearImmediate(s1);
+        clearImmediate(s2);
+      };
     }
+    function onConnectTimeout(socket) {
+      util.destroy(socket, new ConnectTimeoutError());
+    }
+    module2.exports = buildConnector;
   }
 });
 
-// node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js
-var require_assert_valid_pattern = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js"(exports2) {
+// node_modules/undici/lib/llhttp/utils.js
+var require_utils9 = __commonJS({
+  "node_modules/undici/lib/llhttp/utils.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.assertValidPattern = void 0;
-    var MAX_PATTERN_LENGTH = 1024 * 64;
-    var assertValidPattern = (pattern) => {
-      if (typeof pattern !== "string") {
-        throw new TypeError("invalid pattern");
-      }
-      if (pattern.length > MAX_PATTERN_LENGTH) {
-        throw new TypeError("pattern is too long");
-      }
-    };
-    exports2.assertValidPattern = assertValidPattern;
+    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/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js
-var require_brace_expressions = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js"(exports2) {
+// node_modules/undici/lib/llhttp/constants.js
+var require_constants22 = __commonJS({
+  "node_modules/undici/lib/llhttp/constants.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.parseClass = void 0;
-    var posixClasses = {
-      "[:alnum:]": ["\\p{L}\\p{Nl}\\p{Nd}", true],
-      "[:alpha:]": ["\\p{L}\\p{Nl}", true],
-      "[:ascii:]": ["\\x00-\\x7f", false],
-      "[:blank:]": ["\\p{Zs}\\t", true],
-      "[:cntrl:]": ["\\p{Cc}", true],
-      "[:digit:]": ["\\p{Nd}", true],
-      "[:graph:]": ["\\p{Z}\\p{C}", true, true],
-      "[:lower:]": ["\\p{Ll}", true],
-      "[:print:]": ["\\p{C}", true],
-      "[:punct:]": ["\\p{P}", true],
-      "[:space:]": ["\\p{Z}\\t\\r\\n\\v\\f", true],
-      "[:upper:]": ["\\p{Lu}", true],
-      "[:word:]": ["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}", true],
-      "[:xdigit:]": ["A-Fa-f0-9", false]
-    };
-    var braceEscape = (s) => s.replace(/[[\]\\-]/g, "\\$&");
-    var regexpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
-    var rangesToString = (ranges) => ranges.join("");
-    var parseClass = (glob2, position) => {
-      const pos = position;
-      if (glob2.charAt(pos) !== "[") {
-        throw new Error("not in a brace expression");
-      }
-      const ranges = [];
-      const negs = [];
-      let i = pos + 1;
-      let sawStart = false;
-      let uflag = false;
-      let escaping = false;
-      let negate2 = false;
-      let endPos = pos;
-      let rangeStart = "";
-      WHILE: while (i < glob2.length) {
-        const c = glob2.charAt(i);
-        if ((c === "!" || c === "^") && i === pos + 1) {
-          negate2 = true;
-          i++;
-          continue;
-        }
-        if (c === "]" && sawStart && !escaping) {
-          endPos = i + 1;
-          break;
-        }
-        sawStart = true;
-        if (c === "\\") {
-          if (!escaping) {
-            escaping = true;
-            i++;
-            continue;
-          }
-        }
-        if (c === "[" && !escaping) {
-          for (const [cls, [unip, u, neg]] of Object.entries(posixClasses)) {
-            if (glob2.startsWith(cls, i)) {
-              if (rangeStart) {
-                return ["$.", false, glob2.length - pos, true];
-              }
-              i += cls.length;
-              if (neg)
-                negs.push(unip);
-              else
-                ranges.push(unip);
-              uflag = uflag || u;
-              continue WHILE;
-            }
-          }
-        }
-        escaping = false;
-        if (rangeStart) {
-          if (c > rangeStart) {
-            ranges.push(braceEscape(rangeStart) + "-" + braceEscape(c));
-          } else if (c === rangeStart) {
-            ranges.push(braceEscape(c));
-          }
-          rangeStart = "";
-          i++;
-          continue;
-        }
-        if (glob2.startsWith("-]", i + 1)) {
-          ranges.push(braceEscape(c + "-"));
-          i += 2;
-          continue;
-        }
-        if (glob2.startsWith("-", i + 1)) {
-          rangeStart = c;
-          i += 2;
-          continue;
-        }
-        ranges.push(braceEscape(c));
-        i++;
-      }
-      if (endPos < i) {
-        return ["", false, 0, false];
-      }
-      if (!ranges.length && !negs.length) {
-        return ["$.", false, glob2.length - pos, true];
-      }
-      if (negs.length === 0 && ranges.length === 1 && /^\\?.$/.test(ranges[0]) && !negate2) {
-        const r = ranges[0].length === 2 ? ranges[0].slice(-1) : ranges[0];
-        return [regexpEscape(r), false, endPos - pos, false];
+    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
+    var utils_1 = require_utils9();
+    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];
       }
-      const sranges = "[" + (negate2 ? "^" : "") + rangesToString(ranges) + "]";
-      const snegs = "[" + (negate2 ? "" : "^") + rangesToString(negs) + "]";
-      const comb = ranges.length && negs.length ? "(" + sranges + "|" + snegs + ")" : ranges.length ? sranges : snegs;
-      return [comb, uflag, endPos - pos, true];
+    });
+    var FINISH;
+    (function(FINISH2) {
+      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
+      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
+      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
+    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
+    exports2.ALPHA = [];
+    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
+      exports2.ALPHA.push(String.fromCharCode(i));
+      exports2.ALPHA.push(String.fromCharCode(i + 32));
+    }
+    exports2.NUM_MAP = {
+      0: 0,
+      1: 1,
+      2: 2,
+      3: 3,
+      4: 4,
+      5: 5,
+      6: 6,
+      7: 7,
+      8: 8,
+      9: 9
     };
-    exports2.parseClass = parseClass;
-  }
-});
-
-// node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js
-var require_unescape = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.unescape = void 0;
-    var unescape = (s, { windowsPathsNoEscape = false, magicalBraces = true } = {}) => {
-      if (magicalBraces) {
-        return windowsPathsNoEscape ? s.replace(/\[([^\/\\])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^\/\\])\]/g, "$1$2").replace(/\\([^\/])/g, "$1");
+    exports2.HEX_MAP = {
+      0: 0,
+      1: 1,
+      2: 2,
+      3: 3,
+      4: 4,
+      5: 5,
+      6: 6,
+      7: 7,
+      8: 8,
+      9: 9,
+      A: 10,
+      B: 11,
+      C: 12,
+      D: 13,
+      E: 14,
+      F: 15,
+      a: 10,
+      b: 11,
+      c: 12,
+      d: 13,
+      e: 14,
+      f: 15
+    };
+    exports2.NUM = [
+      "0",
+      "1",
+      "2",
+      "3",
+      "4",
+      "5",
+      "6",
+      "7",
+      "8",
+      "9"
+    ];
+    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
+    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
+    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
+    exports2.STRICT_URL_CHAR = [
+      "!",
+      '"',
+      "$",
+      "%",
+      "&",
+      "'",
+      "(",
+      ")",
+      "*",
+      "+",
+      ",",
+      "-",
+      ".",
+      "/",
+      ":",
+      ";",
+      "<",
+      "=",
+      ">",
+      "@",
+      "[",
+      "\\",
+      "]",
+      "^",
+      "_",
+      "`",
+      "{",
+      "|",
+      "}",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
+    for (let i = 128; i <= 255; i++) {
+      exports2.URL_CHAR.push(i);
+    }
+    exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
+    exports2.STRICT_TOKEN = [
+      "!",
+      "#",
+      "$",
+      "%",
+      "&",
+      "'",
+      "*",
+      "+",
+      "-",
+      ".",
+      "^",
+      "_",
+      "`",
+      "|",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]);
+    exports2.HEADER_CHARS = ["	"];
+    for (let i = 32; i <= 255; i++) {
+      if (i !== 127) {
+        exports2.HEADER_CHARS.push(i);
       }
-      return windowsPathsNoEscape ? s.replace(/\[([^\/\\{}])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^\/\\{}])\]/g, "$1$2").replace(/\\([^\/{}])/g, "$1");
+    }
+    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
     };
-    exports2.unescape = unescape;
   }
 });
 
-// node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js
-var require_ast = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js"(exports2) {
+// node_modules/undici/lib/handler/RedirectHandler.js
+var require_RedirectHandler = __commonJS({
+  "node_modules/undici/lib/handler/RedirectHandler.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AST = void 0;
-    var brace_expressions_js_1 = require_brace_expressions();
-    var unescape_js_1 = require_unescape();
-    var types = /* @__PURE__ */ new Set(["!", "?", "+", "*", "@"]);
-    var isExtglobType = (c) => types.has(c);
-    var startNoTraversal = "(?!(?:^|/)\\.\\.?(?:$|/))";
-    var startNoDot = "(?!\\.)";
-    var addPatternStart = /* @__PURE__ */ new Set(["[", "."]);
-    var justDots = /* @__PURE__ */ new Set(["..", "."]);
-    var reSpecials = new Set("().*{}+?[]^$\\!");
-    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
-    var qmark = "[^/]";
-    var star = qmark + "*?";
-    var starNoEmpty = qmark + "+?";
-    var AST = class _AST {
-      type;
-      #root;
-      #hasMagic;
-      #uflag = false;
-      #parts = [];
-      #parent;
-      #parentIndex;
-      #negs;
-      #filledNegs = false;
-      #options;
-      #toString;
-      // set to true if it's an extglob with no children
-      // (which really means one child of '')
-      #emptyExt = false;
-      constructor(type2, parent, options = {}) {
-        this.type = type2;
-        if (type2)
-          this.#hasMagic = true;
-        this.#parent = parent;
-        this.#root = this.#parent ? this.#parent.#root : this;
-        this.#options = this.#root === this ? options : this.#root.#options;
-        this.#negs = this.#root === this ? [] : this.#root.#negs;
-        if (type2 === "!" && !this.#root.#filledNegs)
-          this.#negs.push(this);
-        this.#parentIndex = this.#parent ? this.#parent.#parts.length : 0;
+    var util = require_util24();
+    var { kBodyUsed } = require_symbols11();
+    var assert = require("assert");
+    var { InvalidArgumentError } = require_errors6();
+    var EE = require("events");
+    var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
+    var kBody = /* @__PURE__ */ Symbol("body");
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
       }
-      get hasMagic() {
-        if (this.#hasMagic !== void 0)
-          return this.#hasMagic;
-        for (const p of this.#parts) {
-          if (typeof p === "string")
-            continue;
-          if (p.type || p.hasMagic)
-            return this.#hasMagic = true;
-        }
-        return this.#hasMagic;
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
       }
-      // reconstructs the pattern
-      toString() {
-        if (this.#toString !== void 0)
-          return this.#toString;
-        if (!this.type) {
-          return this.#toString = this.#parts.map((p) => String(p)).join("");
-        } else {
-          return this.#toString = this.type + "(" + this.#parts.map((p) => String(p)).join("|") + ")";
+    };
+    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");
         }
-      }
-      #fillNegs() {
-        if (this !== this.#root)
-          throw new Error("should only call on root");
-        if (this.#filledNegs)
-          return this;
-        this.toString();
-        this.#filledNegs = true;
-        let n;
-        while (n = this.#negs.pop()) {
-          if (n.type !== "!")
-            continue;
-          let p = n;
-          let pp = p.#parent;
-          while (pp) {
-            for (let i = p.#parentIndex + 1; !pp.type && i < pp.#parts.length; i++) {
-              for (const part of n.#parts) {
-                if (typeof part === "string") {
-                  throw new Error("string part in extglob AST??");
-                }
-                part.copyIn(pp.#parts[i]);
-              }
-            }
-            p = pp;
-            pp = p.#parent;
+        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 = [];
+        if (util.isStream(this.opts.body)) {
+          if (util.bodyLength(this.opts.body) === 0) {
+            this.opts.body.on("data", function() {
+              assert(false);
+            });
           }
-        }
-        return this;
-      }
-      push(...parts) {
-        for (const p of parts) {
-          if (p === "")
-            continue;
-          if (typeof p !== "string" && !(p instanceof _AST && p.#parent === this)) {
-            throw new Error("invalid part: " + p);
+          if (typeof this.opts.body.readableDidRead !== "boolean") {
+            this.opts.body[kBodyUsed] = false;
+            EE.prototype.on.call(this.opts.body, "data", function() {
+              this[kBodyUsed] = true;
+            });
           }
-          this.#parts.push(p);
-        }
-      }
-      toJSON() {
-        const ret = this.type === null ? this.#parts.slice().map((p) => typeof p === "string" ? p : p.toJSON()) : [this.type, ...this.#parts.map((p) => p.toJSON())];
-        if (this.isStart() && !this.type)
-          ret.unshift([]);
-        if (this.isEnd() && (this === this.#root || this.#root.#filledNegs && this.#parent?.type === "!")) {
-          ret.push({});
+        } 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);
         }
-        return ret;
       }
-      isStart() {
-        if (this.#root === this)
-          return true;
-        if (!this.#parent?.isStart())
-          return false;
-        if (this.#parentIndex === 0)
-          return true;
-        const p = this.#parent;
-        for (let i = 0; i < this.#parentIndex; i++) {
-          const pp = p.#parts[i];
-          if (!(pp instanceof _AST && pp.type === "!")) {
-            return false;
-          }
-        }
-        return true;
+      onConnect(abort) {
+        this.abort = abort;
+        this.handler.onConnect(abort, { history: this.history });
       }
-      isEnd() {
-        if (this.#root === this)
-          return true;
-        if (this.#parent?.type === "!")
-          return true;
-        if (!this.#parent?.isEnd())
-          return false;
-        if (!this.type)
-          return this.#parent?.isEnd();
-        const pl = this.#parent ? this.#parent.#parts.length : 0;
-        return this.#parentIndex === pl - 1;
+      onUpgrade(statusCode, headers, socket) {
+        this.handler.onUpgrade(statusCode, headers, socket);
       }
-      copyIn(part) {
-        if (typeof part === "string")
-          this.push(part);
-        else
-          this.push(part.clone(this));
+      onError(error3) {
+        this.handler.onError(error3);
       }
-      clone(parent) {
-        const c = new _AST(this.type, parent);
-        for (const p of this.#parts) {
-          c.copyIn(p);
+      onHeaders(statusCode, headers, resume, statusText) {
+        this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers);
+        if (this.opts.origin) {
+          this.history.push(new URL(this.opts.path, this.opts.origin));
         }
-        return c;
-      }
-      static #parseAST(str2, ast, pos, opt) {
-        let escaping = false;
-        let inBrace = false;
-        let braceStart = -1;
-        let braceNeg = false;
-        if (ast.type === null) {
-          let i2 = pos;
-          let acc2 = "";
-          while (i2 < str2.length) {
-            const c = str2.charAt(i2++);
-            if (escaping || c === "\\") {
-              escaping = !escaping;
-              acc2 += c;
-              continue;
-            }
-            if (inBrace) {
-              if (i2 === braceStart + 1) {
-                if (c === "^" || c === "!") {
-                  braceNeg = true;
-                }
-              } else if (c === "]" && !(i2 === braceStart + 2 && braceNeg)) {
-                inBrace = false;
-              }
-              acc2 += c;
-              continue;
-            } else if (c === "[") {
-              inBrace = true;
-              braceStart = i2;
-              braceNeg = false;
-              acc2 += c;
-              continue;
-            }
-            if (!opt.noext && isExtglobType(c) && str2.charAt(i2) === "(") {
-              ast.push(acc2);
-              acc2 = "";
-              const ext = new _AST(c, ast);
-              i2 = _AST.#parseAST(str2, ext, i2, opt);
-              ast.push(ext);
-              continue;
-            }
-            acc2 += c;
-          }
-          ast.push(acc2);
-          return i2;
+        if (!this.location) {
+          return this.handler.onHeaders(statusCode, headers, resume, statusText);
         }
-        let i = pos + 1;
-        let part = new _AST(null, ast);
-        const parts = [];
-        let acc = "";
-        while (i < str2.length) {
-          const c = str2.charAt(i++);
-          if (escaping || c === "\\") {
-            escaping = !escaping;
-            acc += c;
-            continue;
-          }
-          if (inBrace) {
-            if (i === braceStart + 1) {
-              if (c === "^" || c === "!") {
-                braceNeg = true;
-              }
-            } else if (c === "]" && !(i === braceStart + 2 && braceNeg)) {
-              inBrace = false;
-            }
-            acc += c;
-            continue;
-          } else if (c === "[") {
-            inBrace = true;
-            braceStart = i;
-            braceNeg = false;
-            acc += c;
-            continue;
-          }
-          if (isExtglobType(c) && str2.charAt(i) === "(") {
-            part.push(acc);
-            acc = "";
-            const ext = new _AST(c, part);
-            part.push(ext);
-            i = _AST.#parseAST(str2, ext, i, opt);
-            continue;
-          }
-          if (c === "|") {
-            part.push(acc);
-            acc = "";
-            parts.push(part);
-            part = new _AST(null, ast);
-            continue;
-          }
-          if (c === ")") {
-            if (acc === "" && ast.#parts.length === 0) {
-              ast.#emptyExt = true;
-            }
-            part.push(acc);
-            acc = "";
-            ast.push(...parts, part);
-            return i;
-          }
-          acc += c;
+        const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)));
+        const path16 = search ? `${pathname}${search}` : pathname;
+        this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
+        this.opts.path = path16;
+        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;
         }
-        ast.type = null;
-        ast.#hasMagic = void 0;
-        ast.#parts = [str2.substring(pos - 1)];
-        return i;
-      }
-      static fromGlob(pattern, options = {}) {
-        const ast = new _AST(null, void 0, options);
-        _AST.#parseAST(pattern, ast, 0, options);
-        return ast;
       }
-      // returns the regular expression if there's magic, or the unescaped
-      // string if not.
-      toMMPattern() {
-        if (this !== this.#root)
-          return this.#root.toMMPattern();
-        const glob2 = this.toString();
-        const [re, body, hasMagic, uflag] = this.toRegExpSource();
-        const anyMagic = hasMagic || this.#hasMagic || this.#options.nocase && !this.#options.nocaseMagicOnly && glob2.toUpperCase() !== glob2.toLowerCase();
-        if (!anyMagic) {
-          return body;
+      onData(chunk) {
+        if (this.location) {
+        } else {
+          return this.handler.onData(chunk);
         }
-        const flags = (this.#options.nocase ? "i" : "") + (uflag ? "u" : "");
-        return Object.assign(new RegExp(`^${re}$`, flags), {
-          _src: re,
-          _glob: glob2
-        });
       }
-      get options() {
-        return this.#options;
-      }
-      // returns the string match, the regexp source, whether there's magic
-      // in the regexp (so a regular expression is required) and whether or
-      // not the uflag is needed for the regular expression (for posix classes)
-      // TODO: instead of injecting the start/end at this point, just return
-      // the BODY of the regexp, along with the start/end portions suitable
-      // for binding the start/end in either a joined full-path makeRe context
-      // (where we bind to (^|/), or a standalone matchPart context (where
-      // we bind to ^, and not /).  Otherwise slashes get duped!
-      //
-      // In part-matching mode, the start is:
-      // - if not isStart: nothing
-      // - if traversal possible, but not allowed: ^(?!\.\.?$)
-      // - if dots allowed or not possible: ^
-      // - if dots possible and not allowed: ^(?!\.)
-      // end is:
-      // - if not isEnd(): nothing
-      // - else: $
-      //
-      // In full-path matching mode, we put the slash at the START of the
-      // pattern, so start is:
-      // - if first pattern: same as part-matching mode
-      // - if not isStart(): nothing
-      // - if traversal possible, but not allowed: /(?!\.\.?(?:$|/))
-      // - if dots allowed or not possible: /
-      // - if dots possible and not allowed: /(?!\.)
-      // end is:
-      // - if last pattern, same as part-matching mode
-      // - else nothing
-      //
-      // Always put the (?:$|/) on negated tails, though, because that has to be
-      // there to bind the end of the negated pattern portion, and it's easier to
-      // just stick it in now rather than try to inject it later in the middle of
-      // the pattern.
-      //
-      // We can just always return the same end, and leave it up to the caller
-      // to know whether it's going to be used joined or in parts.
-      // And, if the start is adjusted slightly, can do the same there:
-      // - if not isStart: nothing
-      // - if traversal possible, but not allowed: (?:/|^)(?!\.\.?$)
-      // - if dots allowed or not possible: (?:/|^)
-      // - if dots possible and not allowed: (?:/|^)(?!\.)
-      //
-      // But it's better to have a simpler binding without a conditional, for
-      // performance, so probably better to return both start options.
-      //
-      // Then the caller just ignores the end if it's not the first pattern,
-      // and the start always gets applied.
-      //
-      // But that's always going to be $ if it's the ending pattern, or nothing,
-      // so the caller can just attach $ at the end of the pattern when building.
-      //
-      // So the todo is:
-      // - better detect what kind of start is needed
-      // - return both flavors of starting pattern
-      // - attach $ at the end of the pattern when creating the actual RegExp
-      //
-      // Ah, but wait, no, that all only applies to the root when the first pattern
-      // is not an extglob. If the first pattern IS an extglob, then we need all
-      // that dot prevention biz to live in the extglob portions, because eg
-      // +(*|.x*) can match .xy but not .yx.
-      //
-      // So, return the two flavors if it's #root and the first child is not an
-      // AST, otherwise leave it to the child AST to handle it, and there,
-      // use the (?:^|/) style of start binding.
-      //
-      // Even simplified further:
-      // - Since the start for a join is eg /(?!\.) and the start for a part
-      // is ^(?!\.), we can just prepend (?!\.) to the pattern (either root
-      // or start or whatever) and prepend ^ or / at the Regexp construction.
-      toRegExpSource(allowDot) {
-        const dot = allowDot ?? !!this.#options.dot;
-        if (this.#root === this)
-          this.#fillNegs();
-        if (!this.type) {
-          const noEmpty = this.isStart() && this.isEnd() && !this.#parts.some((s) => typeof s !== "string");
-          const src = this.#parts.map((p) => {
-            const [re, _2, hasMagic, uflag] = typeof p === "string" ? _AST.#parseGlob(p, this.#hasMagic, noEmpty) : p.toRegExpSource(allowDot);
-            this.#hasMagic = this.#hasMagic || hasMagic;
-            this.#uflag = this.#uflag || uflag;
-            return re;
-          }).join("");
-          let start2 = "";
-          if (this.isStart()) {
-            if (typeof this.#parts[0] === "string") {
-              const dotTravAllowed = this.#parts.length === 1 && justDots.has(this.#parts[0]);
-              if (!dotTravAllowed) {
-                const aps = addPatternStart;
-                const needNoTrav = (
-                  // dots are allowed, and the pattern starts with [ or .
-                  dot && aps.has(src.charAt(0)) || // the pattern starts with \., and then [ or .
-                  src.startsWith("\\.") && aps.has(src.charAt(2)) || // the pattern starts with \.\., and then [ or .
-                  src.startsWith("\\.\\.") && aps.has(src.charAt(4))
-                );
-                const needNoDot = !dot && !allowDot && aps.has(src.charAt(0));
-                start2 = needNoTrav ? startNoTraversal : needNoDot ? startNoDot : "";
-              }
-            }
-          }
-          let end = "";
-          if (this.isEnd() && this.#root.#filledNegs && this.#parent?.type === "!") {
-            end = "(?:$|\\/)";
-          }
-          const final2 = start2 + src + end;
-          return [
-            final2,
-            (0, unescape_js_1.unescape)(src),
-            this.#hasMagic = !!this.#hasMagic,
-            this.#uflag
-          ];
-        }
-        const repeated = this.type === "*" || this.type === "+";
-        const start = this.type === "!" ? "(?:(?!(?:" : "(?:";
-        let body = this.#partsToRegExp(dot);
-        if (this.isStart() && this.isEnd() && !body && this.type !== "!") {
-          const s = this.toString();
-          this.#parts = [s];
-          this.type = null;
-          this.#hasMagic = void 0;
-          return [s, (0, unescape_js_1.unescape)(this.toString()), false, false];
-        }
-        let bodyDotAllowed = !repeated || allowDot || dot || !startNoDot ? "" : this.#partsToRegExp(true);
-        if (bodyDotAllowed === body) {
-          bodyDotAllowed = "";
+      onComplete(trailers) {
+        if (this.location) {
+          this.location = null;
+          this.abort = null;
+          this.dispatch(this.opts, this);
+        } else {
+          this.handler.onComplete(trailers);
         }
-        if (bodyDotAllowed) {
-          body = `(?:${body})(?:${bodyDotAllowed})*?`;
+      }
+      onBodySent(chunk) {
+        if (this.handler.onBodySent) {
+          this.handler.onBodySent(chunk);
         }
-        let final = "";
-        if (this.type === "!" && this.#emptyExt) {
-          final = (this.isStart() && !dot ? startNoDot : "") + starNoEmpty;
-        } else {
-          const close = this.type === "!" ? (
-            // !() must match something,but !(x) can match ''
-            "))" + (this.isStart() && !dot && !allowDot ? startNoDot : "") + star + ")"
-          ) : this.type === "@" ? ")" : this.type === "?" ? ")?" : this.type === "+" && bodyDotAllowed ? ")" : this.type === "*" && bodyDotAllowed ? `)?` : `)${this.type}`;
-          final = start + body + close;
+      }
+    };
+    function parseLocation(statusCode, headers) {
+      if (redirectableStatusCodes.indexOf(statusCode) === -1) {
+        return null;
+      }
+      for (let i = 0; i < headers.length; i += 2) {
+        if (headers[i].toString().toLowerCase() === "location") {
+          return headers[i + 1];
         }
-        return [
-          final,
-          (0, unescape_js_1.unescape)(body),
-          this.#hasMagic = !!this.#hasMagic,
-          this.#uflag
-        ];
       }
-      #partsToRegExp(dot) {
-        return this.#parts.map((p) => {
-          if (typeof p === "string") {
-            throw new Error("string type in extglob ast??");
-          }
-          const [re, _2, _hasMagic, uflag] = p.toRegExpSource(dot);
-          this.#uflag = this.#uflag || uflag;
-          return re;
-        }).filter((p) => !(this.isStart() && this.isEnd()) || !!p).join("|");
+    }
+    function shouldRemoveHeader(header, removeContent, unknownOrigin) {
+      if (header.length === 4) {
+        return util.headerNameToString(header) === "host";
       }
-      static #parseGlob(glob2, hasMagic, noEmpty = false) {
-        let escaping = false;
-        let re = "";
-        let uflag = false;
-        for (let i = 0; i < glob2.length; i++) {
-          const c = glob2.charAt(i);
-          if (escaping) {
-            escaping = false;
-            re += (reSpecials.has(c) ? "\\" : "") + c;
-            continue;
-          }
-          if (c === "\\") {
-            if (i === glob2.length - 1) {
-              re += "\\\\";
-            } else {
-              escaping = true;
-            }
-            continue;
-          }
-          if (c === "[") {
-            const [src, needUflag, consumed, magic] = (0, brace_expressions_js_1.parseClass)(glob2, i);
-            if (consumed) {
-              re += src;
-              uflag = uflag || needUflag;
-              i += consumed - 1;
-              hasMagic = hasMagic || magic;
-              continue;
-            }
-          }
-          if (c === "*") {
-            re += noEmpty && glob2 === "*" ? starNoEmpty : star;
-            hasMagic = true;
-            continue;
+      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]);
           }
-          if (c === "?") {
-            re += qmark;
-            hasMagic = true;
-            continue;
+        }
+      } else if (headers && typeof headers === "object") {
+        for (const key of Object.keys(headers)) {
+          if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {
+            ret.push(key, headers[key]);
           }
-          re += regExpEscape(c);
         }
-        return [re, (0, unescape_js_1.unescape)(glob2), !!hasMagic, uflag];
+      } else {
+        assert(headers == null, "headers must be an object or an array");
       }
-    };
-    exports2.AST = AST;
+      return ret;
+    }
+    module2.exports = RedirectHandler;
   }
 });
 
-// node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js
-var require_escape = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js"(exports2) {
+// node_modules/undici/lib/interceptor/redirectInterceptor.js
+var require_redirectInterceptor = __commonJS({
+  "node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.escape = void 0;
-    var escape = (s, { windowsPathsNoEscape = false, magicalBraces = false } = {}) => {
-      if (magicalBraces) {
-        return windowsPathsNoEscape ? s.replace(/[?*()[\]{}]/g, "[$&]") : s.replace(/[?*()[\]\\{}]/g, "\\$&");
-      }
-      return windowsPathsNoEscape ? s.replace(/[?*()[\]]/g, "[$&]") : s.replace(/[?*()[\]\\]/g, "\\$&");
-    };
-    exports2.escape = escape;
+    var RedirectHandler = require_RedirectHandler();
+    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/glob/node_modules/minimatch/dist/commonjs/index.js
-var require_commonjs20 = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/index.js"(exports2) {
+// node_modules/undici/lib/llhttp/llhttp-wasm.js
+var require_llhttp_wasm3 = __commonJS({
+  "node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
+    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAUNgIUIAAgATYCDEEAIRAMogELIABBADYCHCAAIBQ2AhQgAEHDj4CAADYCECAAQQc2AgxBACEQDKEBCyAAQQA2AhwgACABNgIUIABBw4+AgAA2AhAgAEEHNgIMQQAhEAygAQtBACEQIABBADYCHCAAIBQ2AhQgAEGMnICAADYCECAAQQc2AgwMnwELIABBADYCHCAAIBQ2AhQgAEGMnICAADYCECAAQQc2AgxBACEQDJ4BCyAAQQA2AhwgACAUNgIUIABB/pGAgAA2AhAgAEEHNgIMQQAhEAydAQsgAEEANgIcIAAgATYCFCAAQY6bgIAANgIQIABBBjYCDEEAIRAMnAELIBBBFUYNVyAAQQA2AhwgACABNgIUIABBzI6AgAA2AhAgAEEgNgIMQQAhEAybAQsgAEEANgIAIBBBAWohAUEkIRALIAAgEDoAKSAAKAIEIRAgAEEANgIEIAAgECABEKuAgIAAIhANVCABIQEMPgsgAEEANgIAC0EAIRAgAEEANgIcIAAgBDYCFCAAQfGbgIAANgIQIABBBjYCDAyXAQsgAUEVRg1QIABBADYCHCAAIAU2AhQgAEHwjICAADYCECAAQRs2AgxBACEQDJYBCyAAKAIEIQUgAEEANgIEIAAgBSAQEKmAgIAAIgUNASAQQQFqIQULQa0BIRAMewsgAEHBATYCHCAAIAU2AgwgACAQQQFqNgIUQQAhEAyTAQsgACgCBCEGIABBADYCBCAAIAYgEBCpgICAACIGDQEgEEEBaiEGC0GuASEQDHgLIABBwgE2AhwgACAGNgIMIAAgEEEBajYCFEEAIRAMkAELIABBADYCHCAAIAc2AhQgAEGXi4CAADYCECAAQQ02AgxBACEQDI8BCyAAQQA2AhwgACAINgIUIABB45CAgAA2AhAgAEEJNgIMQQAhEAyOAQsgAEEANgIcIAAgCDYCFCAAQZSNgIAANgIQIABBITYCDEEAIRAMjQELQQEhFkEAIRdBACEUQQEhEAsgACAQOgArIAlBAWohCAJAAkAgAC0ALUEQcQ0AAkACQAJAIAAtACoOAwEAAgQLIBZFDQMMAgsgFA0BDAILIBdFDQELIAAoAgQhECAAQQA2AgQgACAQIAgQrYCAgAAiEEUNPSAAQckBNgIcIAAgCDYCFCAAIBA2AgxBACEQDIwBCyAAKAIEIQQgAEEANgIEIAAgBCAIEK2AgIAAIgRFDXYgAEHKATYCHCAAIAg2AhQgACAENgIMQQAhEAyLAQsgACgCBCEEIABBADYCBCAAIAQgCRCtgICAACIERQ10IABBywE2AhwgACAJNgIUIAAgBDYCDEEAIRAMigELIAAoAgQhBCAAQQA2AgQgACAEIAoQrYCAgAAiBEUNciAAQc0BNgIcIAAgCjYCFCAAIAQ2AgxBACEQDIkBCwJAIAstAABBUGoiEEH/AXFBCk8NACAAIBA6ACogC0EBaiEKQbYBIRAMcAsgACgCBCEEIABBADYCBCAAIAQgCxCtgICAACIERQ1wIABBzwE2AhwgACALNgIUIAAgBDYCDEEAIRAMiAELIABBADYCHCAAIAQ2AhQgAEGQs4CAADYCECAAQQg2AgwgAEEANgIAQQAhEAyHAQsgAUEVRg0/IABBADYCHCAAIAw2AhQgAEHMjoCAADYCECAAQSA2AgxBACEQDIYBCyAAQYEEOwEoIAAoAgQhECAAQgA3AwAgACAQIAxBAWoiDBCrgICAACIQRQ04IABB0wE2AhwgACAMNgIUIAAgEDYCDEEAIRAMhQELIABBADYCAAtBACEQIABBADYCHCAAIAQ2AhQgAEHYm4CAADYCECAAQQg2AgwMgwELIAAoAgQhECAAQgA3AwAgACAQIAtBAWoiCxCrgICAACIQDQFBxgEhEAxpCyAAQQI6ACgMVQsgAEHVATYCHCAAIAs2AhQgACAQNgIMQQAhEAyAAQsgEEEVRg03IABBADYCHCAAIAQ2AhQgAEGkjICAADYCECAAQRA2AgxBACEQDH8LIAAtADRBAUcNNCAAIAQgAhC8gICAACIQRQ00IBBBFUcNNSAAQdwBNgIcIAAgBDYCFCAAQdWWgIAANgIQIABBFTYCDEEAIRAMfgtBACEQIABBADYCHCAAQa+LgIAANgIQIABBAjYCDCAAIBRBAWo2AhQMfQtBACEQDGMLQQIhEAxiC0ENIRAMYQtBDyEQDGALQSUhEAxfC0ETIRAMXgtBFSEQDF0LQRYhEAxcC0EXIRAMWwtBGCEQDFoLQRkhEAxZC0EaIRAMWAtBGyEQDFcLQRwhEAxWC0EdIRAMVQtBHyEQDFQLQSEhEAxTC0EjIRAMUgtBxgAhEAxRC0EuIRAMUAtBLyEQDE8LQTshEAxOC0E9IRAMTQtByAAhEAxMC0HJACEQDEsLQcsAIRAMSgtBzAAhEAxJC0HOACEQDEgLQdEAIRAMRwtB1QAhEAxGC0HYACEQDEULQdkAIRAMRAtB2wAhEAxDC0HkACEQDEILQeUAIRAMQQtB8QAhEAxAC0H0ACEQDD8LQY0BIRAMPgtBlwEhEAw9C0GpASEQDDwLQawBIRAMOwtBwAEhEAw6C0G5ASEQDDkLQa8BIRAMOAtBsQEhEAw3C0GyASEQDDYLQbQBIRAMNQtBtQEhEAw0C0G6ASEQDDMLQb0BIRAMMgtBvwEhEAwxC0HBASEQDDALIABBADYCHCAAIAQ2AhQgAEHpi4CAADYCECAAQR82AgxBACEQDEgLIABB2wE2AhwgACAENgIUIABB+paAgAA2AhAgAEEVNgIMQQAhEAxHCyAAQfgANgIcIAAgDDYCFCAAQcqYgIAANgIQIABBFTYCDEEAIRAMRgsgAEHRADYCHCAAIAU2AhQgAEGwl4CAADYCECAAQRU2AgxBACEQDEULIABB+QA2AhwgACABNgIUIAAgEDYCDEEAIRAMRAsgAEH4ADYCHCAAIAE2AhQgAEHKmICAADYCECAAQRU2AgxBACEQDEMLIABB5AA2AhwgACABNgIUIABB45eAgAA2AhAgAEEVNgIMQQAhEAxCCyAAQdcANgIcIAAgATYCFCAAQcmXgIAANgIQIABBFTYCDEEAIRAMQQsgAEEANgIcIAAgATYCFCAAQbmNgIAANgIQIABBGjYCDEEAIRAMQAsgAEHCADYCHCAAIAE2AhQgAEHjmICAADYCECAAQRU2AgxBACEQDD8LIABBADYCBCAAIA8gDxCxgICAACIERQ0BIABBOjYCHCAAIAQ2AgwgACAPQQFqNgIUQQAhEAw+CyAAKAIEIQQgAEEANgIEAkAgACAEIAEQsYCAgAAiBEUNACAAQTs2AhwgACAENgIMIAAgAUEBajYCFEEAIRAMPgsgAUEBaiEBDC0LIA9BAWohAQwtCyAAQQA2AhwgACAPNgIUIABB5JKAgAA2AhAgAEEENgIMQQAhEAw7CyAAQTY2AhwgACAENgIUIAAgAjYCDEEAIRAMOgsgAEEuNgIcIAAgDjYCFCAAIAQ2AgxBACEQDDkLIABB0AA2AhwgACABNgIUIABBkZiAgAA2AhAgAEEVNgIMQQAhEAw4CyANQQFqIQEMLAsgAEEVNgIcIAAgATYCFCAAQYKZgIAANgIQIABBFTYCDEEAIRAMNgsgAEEbNgIcIAAgATYCFCAAQZGXgIAANgIQIABBFTYCDEEAIRAMNQsgAEEPNgIcIAAgATYCFCAAQZGXgIAANgIQIABBFTYCDEEAIRAMNAsgAEELNgIcIAAgATYCFCAAQZGXgIAANgIQIABBFTYCDEEAIRAMMwsgAEEaNgIcIAAgATYCFCAAQYKZgIAANgIQIABBFTYCDEEAIRAMMgsgAEELNgIcIAAgATYCFCAAQYKZgIAANgIQIABBFTYCDEEAIRAMMQsgAEEKNgIcIAAgATYCFCAAQeSWgIAANgIQIABBFTYCDEEAIRAMMAsgAEEeNgIcIAAgATYCFCAAQfmXgIAANgIQIABBFTYCDEEAIRAMLwsgAEEANgIcIAAgEDYCFCAAQdqNgIAANgIQIABBFDYCDEEAIRAMLgsgAEEENgIcIAAgATYCFCAAQbCYgIAANgIQIABBFTYCDEEAIRAMLQsgAEEANgIAIAtBAWohCwtBuAEhEAwSCyAAQQA2AgAgEEEBaiEBQfUAIRAMEQsgASEBAkAgAC0AKUEFRw0AQeMAIRAMEQtB4gAhEAwQC0EAIRAgAEEANgIcIABB5JGAgAA2AhAgAEEHNgIMIAAgFEEBajYCFAwoCyAAQQA2AgAgF0EBaiEBQcAAIRAMDgtBASEBCyAAIAE6ACwgAEEANgIAIBdBAWohAQtBKCEQDAsLIAEhAQtBOCEQDAkLAkAgASIPIAJGDQADQAJAIA8tAABBgL6AgABqLQAAIgFBAUYNACABQQJHDQMgD0EBaiEBDAQLIA9BAWoiDyACRw0AC0E+IRAMIgtBPiEQDCELIABBADoALCAPIQEMAQtBCyEQDAYLQTohEAwFCyABQQFqIQFBLSEQDAQLIAAgAToALCAAQQA2AgAgFkEBaiEBQQwhEAwDCyAAQQA2AgAgF0EBaiEBQQohEAwCCyAAQQA2AgALIABBADoALCANIQFBCSEQDAALC0EAIRAgAEEANgIcIAAgCzYCFCAAQc2QgIAANgIQIABBCTYCDAwXC0EAIRAgAEEANgIcIAAgCjYCFCAAQemKgIAANgIQIABBCTYCDAwWC0EAIRAgAEEANgIcIAAgCTYCFCAAQbeQgIAANgIQIABBCTYCDAwVC0EAIRAgAEEANgIcIAAgCDYCFCAAQZyRgIAANgIQIABBCTYCDAwUC0EAIRAgAEEANgIcIAAgATYCFCAAQc2QgIAANgIQIABBCTYCDAwTC0EAIRAgAEEANgIcIAAgATYCFCAAQemKgIAANgIQIABBCTYCDAwSC0EAIRAgAEEANgIcIAAgATYCFCAAQbeQgIAANgIQIABBCTYCDAwRC0EAIRAgAEEANgIcIAAgATYCFCAAQZyRgIAANgIQIABBCTYCDAwQC0EAIRAgAEEANgIcIAAgATYCFCAAQZeVgIAANgIQIABBDzYCDAwPC0EAIRAgAEEANgIcIAAgATYCFCAAQZeVgIAANgIQIABBDzYCDAwOC0EAIRAgAEEANgIcIAAgATYCFCAAQcCSgIAANgIQIABBCzYCDAwNC0EAIRAgAEEANgIcIAAgATYCFCAAQZWJgIAANgIQIABBCzYCDAwMC0EAIRAgAEEANgIcIAAgATYCFCAAQeGPgIAANgIQIABBCjYCDAwLC0EAIRAgAEEANgIcIAAgATYCFCAAQfuPgIAANgIQIABBCjYCDAwKC0EAIRAgAEEANgIcIAAgATYCFCAAQfGZgIAANgIQIABBAjYCDAwJC0EAIRAgAEEANgIcIAAgATYCFCAAQcSUgIAANgIQIABBAjYCDAwIC0EAIRAgAEEANgIcIAAgATYCFCAAQfKVgIAANgIQIABBAjYCDAwHCyAAQQI2AhwgACABNgIUIABBnJqAgAA2AhAgAEEWNgIMQQAhEAwGC0EBIRAMBQtB1AAhECABIgQgAkYNBCADQQhqIAAgBCACQdjCgIAAQQoQxYCAgAAgAygCDCEEIAMoAggOAwEEAgALEMqAgIAAAAsgAEEANgIcIABBtZqAgAA2AhAgAEEXNgIMIAAgBEEBajYCFEEAIRAMAgsgAEEANgIcIAAgBDYCFCAAQcqagIAANgIQIABBCTYCDEEAIRAMAQsCQCABIgQgAkcNAEEiIRAMAQsgAEGJgICAADYCCCAAIAQ2AgRBISEQCyADQRBqJICAgIAAIBALrwEBAn8gASgCACEGAkACQCACIANGDQAgBCAGaiEEIAYgA2ogAmshByACIAZBf3MgBWoiBmohBQNAAkAgAi0AACAELQAARg0AQQIhBAwDCwJAIAYNAEEAIQQgBSECDAMLIAZBf2ohBiAEQQFqIQQgAkEBaiICIANHDQALIAchBiADIQILIABBATYCACABIAY2AgAgACACNgIEDwsgAUEANgIAIAAgBDYCACAAIAI2AgQLCgAgABDHgICAAAvyNgELfyOAgICAAEEQayIBJICAgIAAAkBBACgCoNCAgAANAEEAEMuAgIAAQYDUhIAAayICQdkASQ0AQQAhAwJAQQAoAuDTgIAAIgQNAEEAQn83AuzTgIAAQQBCgICEgICAwAA3AuTTgIAAQQAgAUEIakFwcUHYqtWqBXMiBDYC4NOAgABBAEEANgL004CAAEEAQQA2AsTTgIAAC0EAIAI2AszTgIAAQQBBgNSEgAA2AsjTgIAAQQBBgNSEgAA2ApjQgIAAQQAgBDYCrNCAgABBAEF/NgKo0ICAAANAIANBxNCAgABqIANBuNCAgABqIgQ2AgAgBCADQbDQgIAAaiIFNgIAIANBvNCAgABqIAU2AgAgA0HM0ICAAGogA0HA0ICAAGoiBTYCACAFIAQ2AgAgA0HU0ICAAGogA0HI0ICAAGoiBDYCACAEIAU2AgAgA0HQ0ICAAGogBDYCACADQSBqIgNBgAJHDQALQYDUhIAAQXhBgNSEgABrQQ9xQQBBgNSEgABBCGpBD3EbIgNqIgRBBGogAkFIaiIFIANrIgNBAXI2AgBBAEEAKALw04CAADYCpNCAgABBACADNgKU0ICAAEEAIAQ2AqDQgIAAQYDUhIAAIAVqQTg2AgQLAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB7AFLDQACQEEAKAKI0ICAACIGQRAgAEETakFwcSAAQQtJGyICQQN2IgR2IgNBA3FFDQACQAJAIANBAXEgBHJBAXMiBUEDdCIEQbDQgIAAaiIDIARBuNCAgABqKAIAIgQoAggiAkcNAEEAIAZBfiAFd3E2AojQgIAADAELIAMgAjYCCCACIAM2AgwLIARBCGohAyAEIAVBA3QiBUEDcjYCBCAEIAVqIgQgBCgCBEEBcjYCBAwMCyACQQAoApDQgIAAIgdNDQECQCADRQ0AAkACQCADIAR0QQIgBHQiA0EAIANrcnEiA0EAIANrcUF/aiIDIANBDHZBEHEiA3YiBEEFdkEIcSIFIANyIAQgBXYiA0ECdkEEcSIEciADIAR2IgNBAXZBAnEiBHIgAyAEdiIDQQF2QQFxIgRyIAMgBHZqIgRBA3QiA0Gw0ICAAGoiBSADQbjQgIAAaigCACIDKAIIIgBHDQBBACAGQX4gBHdxIgY2AojQgIAADAELIAUgADYCCCAAIAU2AgwLIAMgAkEDcjYCBCADIARBA3QiBGogBCACayIFNgIAIAMgAmoiACAFQQFyNgIEAkAgB0UNACAHQXhxQbDQgIAAaiECQQAoApzQgIAAIQQCQAJAIAZBASAHQQN2dCIIcQ0AQQAgBiAIcjYCiNCAgAAgAiEIDAELIAIoAgghCAsgCCAENgIMIAIgBDYCCCAEIAI2AgwgBCAINgIICyADQQhqIQNBACAANgKc0ICAAEEAIAU2ApDQgIAADAwLQQAoAozQgIAAIglFDQEgCUEAIAlrcUF/aiIDIANBDHZBEHEiA3YiBEEFdkEIcSIFIANyIAQgBXYiA0ECdkEEcSIEciADIAR2IgNBAXZBAnEiBHIgAyAEdiIDQQF2QQFxIgRyIAMgBHZqQQJ0QbjSgIAAaigCACIAKAIEQXhxIAJrIQQgACEFAkADQAJAIAUoAhAiAw0AIAVBFGooAgAiA0UNAgsgAygCBEF4cSACayIFIAQgBSAESSIFGyEEIAMgACAFGyEAIAMhBQwACwsgACgCGCEKAkAgACgCDCIIIABGDQAgACgCCCIDQQAoApjQgIAASRogCCADNgIIIAMgCDYCDAwLCwJAIABBFGoiBSgCACIDDQAgACgCECIDRQ0DIABBEGohBQsDQCAFIQsgAyIIQRRqIgUoAgAiAw0AIAhBEGohBSAIKAIQIgMNAAsgC0EANgIADAoLQX8hAiAAQb9/Sw0AIABBE2oiA0FwcSECQQAoAozQgIAAIgdFDQBBACELAkAgAkGAAkkNAEEfIQsgAkH///8HSw0AIANBCHYiAyADQYD+P2pBEHZBCHEiA3QiBCAEQYDgH2pBEHZBBHEiBHQiBSAFQYCAD2pBEHZBAnEiBXRBD3YgAyAEciAFcmsiA0EBdCACIANBFWp2QQFxckEcaiELC0EAIAJrIQQCQAJAAkACQCALQQJ0QbjSgIAAaigCACIFDQBBACEDQQAhCAwBC0EAIQMgAkEAQRkgC0EBdmsgC0EfRht0IQBBACEIA0ACQCAFKAIEQXhxIAJrIgYgBE8NACAGIQQgBSEIIAYNAEEAIQQgBSEIIAUhAwwDCyADIAVBFGooAgAiBiAGIAUgAEEddkEEcWpBEGooAgAiBUYbIAMgBhshAyAAQQF0IQAgBQ0ACwsCQCADIAhyDQBBACEIQQIgC3QiA0EAIANrciAHcSIDRQ0DIANBACADa3FBf2oiAyADQQx2QRBxIgN2IgVBBXZBCHEiACADciAFIAB2IgNBAnZBBHEiBXIgAyAFdiIDQQF2QQJxIgVyIAMgBXYiA0EBdkEBcSIFciADIAV2akECdEG40oCAAGooAgAhAwsgA0UNAQsDQCADKAIEQXhxIAJrIgYgBEkhAAJAIAMoAhAiBQ0AIANBFGooAgAhBQsgBiAEIAAbIQQgAyAIIAAbIQggBSEDIAUNAAsLIAhFDQAgBEEAKAKQ0ICAACACa08NACAIKAIYIQsCQCAIKAIMIgAgCEYNACAIKAIIIgNBACgCmNCAgABJGiAAIAM2AgggAyAANgIMDAkLAkAgCEEUaiIFKAIAIgMNACAIKAIQIgNFDQMgCEEQaiEFCwNAIAUhBiADIgBBFGoiBSgCACIDDQAgAEEQaiEFIAAoAhAiAw0ACyAGQQA2AgAMCAsCQEEAKAKQ0ICAACIDIAJJDQBBACgCnNCAgAAhBAJAAkAgAyACayIFQRBJDQAgBCACaiIAIAVBAXI2AgRBACAFNgKQ0ICAAEEAIAA2ApzQgIAAIAQgA2ogBTYCACAEIAJBA3I2AgQMAQsgBCADQQNyNgIEIAQgA2oiAyADKAIEQQFyNgIEQQBBADYCnNCAgABBAEEANgKQ0ICAAAsgBEEIaiEDDAoLAkBBACgClNCAgAAiACACTQ0AQQAoAqDQgIAAIgMgAmoiBCAAIAJrIgVBAXI2AgRBACAFNgKU0ICAAEEAIAQ2AqDQgIAAIAMgAkEDcjYCBCADQQhqIQMMCgsCQAJAQQAoAuDTgIAARQ0AQQAoAujTgIAAIQQMAQtBAEJ/NwLs04CAAEEAQoCAhICAgMAANwLk04CAAEEAIAFBDGpBcHFB2KrVqgVzNgLg04CAAEEAQQA2AvTTgIAAQQBBADYCxNOAgABBgIAEIQQLQQAhAwJAIAQgAkHHAGoiB2oiBkEAIARrIgtxIgggAksNAEEAQTA2AvjTgIAADAoLAkBBACgCwNOAgAAiA0UNAAJAQQAoArjTgIAAIgQgCGoiBSAETQ0AIAUgA00NAQtBACEDQQBBMDYC+NOAgAAMCgtBAC0AxNOAgABBBHENBAJAAkACQEEAKAKg0ICAACIERQ0AQcjTgIAAIQMDQAJAIAMoAgAiBSAESw0AIAUgAygCBGogBEsNAwsgAygCCCIDDQALC0EAEMuAgIAAIgBBf0YNBSAIIQYCQEEAKALk04CAACIDQX9qIgQgAHFFDQAgCCAAayAEIABqQQAgA2txaiEGCyAGIAJNDQUgBkH+////B0sNBQJAQQAoAsDTgIAAIgNFDQBBACgCuNOAgAAiBCAGaiIFIARNDQYgBSADSw0GCyAGEMuAgIAAIgMgAEcNAQwHCyAGIABrIAtxIgZB/v///wdLDQQgBhDLgICAACIAIAMoAgAgAygCBGpGDQMgACEDCwJAIANBf0YNACACQcgAaiAGTQ0AAkAgByAGa0EAKALo04CAACIEakEAIARrcSIEQf7///8HTQ0AIAMhAAwHCwJAIAQQy4CAgABBf0YNACAEIAZqIQYgAyEADAcLQQAgBmsQy4CAgAAaDAQLIAMhACADQX9HDQUMAwtBACEIDAcLQQAhAAwFCyAAQX9HDQILQQBBACgCxNOAgABBBHI2AsTTgIAACyAIQf7///8HSw0BIAgQy4CAgAAhAEEAEMuAgIAAIQMgAEF/Rg0BIANBf0YNASAAIANPDQEgAyAAayIGIAJBOGpNDQELQQBBACgCuNOAgAAgBmoiAzYCuNOAgAACQCADQQAoArzTgIAATQ0AQQAgAzYCvNOAgAALAkACQAJAAkBBACgCoNCAgAAiBEUNAEHI04CAACEDA0AgACADKAIAIgUgAygCBCIIakYNAiADKAIIIgMNAAwDCwsCQAJAQQAoApjQgIAAIgNFDQAgACADTw0BC0EAIAA2ApjQgIAAC0EAIQNBACAGNgLM04CAAEEAIAA2AsjTgIAAQQBBfzYCqNCAgABBAEEAKALg04CAADYCrNCAgABBAEEANgLU04CAAANAIANBxNCAgABqIANBuNCAgABqIgQ2AgAgBCADQbDQgIAAaiIFNgIAIANBvNCAgABqIAU2AgAgA0HM0ICAAGogA0HA0ICAAGoiBTYCACAFIAQ2AgAgA0HU0ICAAGogA0HI0ICAAGoiBDYCACAEIAU2AgAgA0HQ0ICAAGogBDYCACADQSBqIgNBgAJHDQALIABBeCAAa0EPcUEAIABBCGpBD3EbIgNqIgQgBkFIaiIFIANrIgNBAXI2AgRBAEEAKALw04CAADYCpNCAgABBACADNgKU0ICAAEEAIAQ2AqDQgIAAIAAgBWpBODYCBAwCCyADLQAMQQhxDQAgBCAFSQ0AIAQgAE8NACAEQXggBGtBD3FBACAEQQhqQQ9xGyIFaiIAQQAoApTQgIAAIAZqIgsgBWsiBUEBcjYCBCADIAggBmo2AgRBAEEAKALw04CAADYCpNCAgABBACAFNgKU0ICAAEEAIAA2AqDQgIAAIAQgC2pBODYCBAwBCwJAIABBACgCmNCAgAAiCE8NAEEAIAA2ApjQgIAAIAAhCAsgACAGaiEFQcjTgIAAIQMCQAJAAkACQAJAAkACQANAIAMoAgAgBUYNASADKAIIIgMNAAwCCwsgAy0ADEEIcUUNAQtByNOAgAAhAwNAAkAgAygCACIFIARLDQAgBSADKAIEaiIFIARLDQMLIAMoAgghAwwACwsgAyAANgIAIAMgAygCBCAGajYCBCAAQXggAGtBD3FBACAAQQhqQQ9xG2oiCyACQQNyNgIEIAVBeCAFa0EPcUEAIAVBCGpBD3EbaiIGIAsgAmoiAmshAwJAIAYgBEcNAEEAIAI2AqDQgIAAQQBBACgClNCAgAAgA2oiAzYClNCAgAAgAiADQQFyNgIEDAMLAkAgBkEAKAKc0ICAAEcNAEEAIAI2ApzQgIAAQQBBACgCkNCAgAAgA2oiAzYCkNCAgAAgAiADQQFyNgIEIAIgA2ogAzYCAAwDCwJAIAYoAgQiBEEDcUEBRw0AIARBeHEhBwJAAkAgBEH/AUsNACAGKAIIIgUgBEEDdiIIQQN0QbDQgIAAaiIARhoCQCAGKAIMIgQgBUcNAEEAQQAoAojQgIAAQX4gCHdxNgKI0ICAAAwCCyAEIABGGiAEIAU2AgggBSAENgIMDAELIAYoAhghCQJAAkAgBigCDCIAIAZGDQAgBigCCCIEIAhJGiAAIAQ2AgggBCAANgIMDAELAkAgBkEUaiIEKAIAIgUNACAGQRBqIgQoAgAiBQ0AQQAhAAwBCwNAIAQhCCAFIgBBFGoiBCgCACIFDQAgAEEQaiEEIAAoAhAiBQ0ACyAIQQA2AgALIAlFDQACQAJAIAYgBigCHCIFQQJ0QbjSgIAAaiIEKAIARw0AIAQgADYCACAADQFBAEEAKAKM0ICAAEF+IAV3cTYCjNCAgAAMAgsgCUEQQRQgCSgCECAGRhtqIAA2AgAgAEUNAQsgACAJNgIYAkAgBigCECIERQ0AIAAgBDYCECAEIAA2AhgLIAYoAhQiBEUNACAAQRRqIAQ2AgAgBCAANgIYCyAHIANqIQMgBiAHaiIGKAIEIQQLIAYgBEF+cTYCBCACIANqIAM2AgAgAiADQQFyNgIEAkAgA0H/AUsNACADQXhxQbDQgIAAaiEEAkACQEEAKAKI0ICAACIFQQEgA0EDdnQiA3ENAEEAIAUgA3I2AojQgIAAIAQhAwwBCyAEKAIIIQMLIAMgAjYCDCAEIAI2AgggAiAENgIMIAIgAzYCCAwDC0EfIQQCQCADQf///wdLDQAgA0EIdiIEIARBgP4/akEQdkEIcSIEdCIFIAVBgOAfakEQdkEEcSIFdCIAIABBgIAPakEQdkECcSIAdEEPdiAEIAVyIAByayIEQQF0IAMgBEEVanZBAXFyQRxqIQQLIAIgBDYCHCACQgA3AhAgBEECdEG40oCAAGohBQJAQQAoAozQgIAAIgBBASAEdCIIcQ0AIAUgAjYCAEEAIAAgCHI2AozQgIAAIAIgBTYCGCACIAI2AgggAiACNgIMDAMLIANBAEEZIARBAXZrIARBH0YbdCEEIAUoAgAhAANAIAAiBSgCBEF4cSADRg0CIARBHXYhACAEQQF0IQQgBSAAQQRxakEQaiIIKAIAIgANAAsgCCACNgIAIAIgBTYCGCACIAI2AgwgAiACNgIIDAILIABBeCAAa0EPcUEAIABBCGpBD3EbIgNqIgsgBkFIaiIIIANrIgNBAXI2AgQgACAIakE4NgIEIAQgBUE3IAVrQQ9xQQAgBUFJakEPcRtqQUFqIgggCCAEQRBqSRsiCEEjNgIEQQBBACgC8NOAgAA2AqTQgIAAQQAgAzYClNCAgABBACALNgKg0ICAACAIQRBqQQApAtDTgIAANwIAIAhBACkCyNOAgAA3AghBACAIQQhqNgLQ04CAAEEAIAY2AszTgIAAQQAgADYCyNOAgABBAEEANgLU04CAACAIQSRqIQMDQCADQQc2AgAgA0EEaiIDIAVJDQALIAggBEYNAyAIIAgoAgRBfnE2AgQgCCAIIARrIgA2AgAgBCAAQQFyNgIEAkAgAEH/AUsNACAAQXhxQbDQgIAAaiEDAkACQEEAKAKI0ICAACIFQQEgAEEDdnQiAHENAEEAIAUgAHI2AojQgIAAIAMhBQwBCyADKAIIIQULIAUgBDYCDCADIAQ2AgggBCADNgIMIAQgBTYCCAwEC0EfIQMCQCAAQf///wdLDQAgAEEIdiIDIANBgP4/akEQdkEIcSIDdCIFIAVBgOAfakEQdkEEcSIFdCIIIAhBgIAPakEQdkECcSIIdEEPdiADIAVyIAhyayIDQQF0IAAgA0EVanZBAXFyQRxqIQMLIAQgAzYCHCAEQgA3AhAgA0ECdEG40oCAAGohBQJAQQAoAozQgIAAIghBASADdCIGcQ0AIAUgBDYCAEEAIAggBnI2AozQgIAAIAQgBTYCGCAEIAQ2AgggBCAENgIMDAQLIABBAEEZIANBAXZrIANBH0YbdCEDIAUoAgAhCANAIAgiBSgCBEF4cSAARg0DIANBHXYhCCADQQF0IQMgBSAIQQRxakEQaiIGKAIAIggNAAsgBiAENgIAIAQgBTYCGCAEIAQ2AgwgBCAENgIIDAMLIAUoAggiAyACNgIMIAUgAjYCCCACQQA2AhggAiAFNgIMIAIgAzYCCAsgC0EIaiEDDAULIAUoAggiAyAENgIMIAUgBDYCCCAEQQA2AhggBCAFNgIMIAQgAzYCCAtBACgClNCAgAAiAyACTQ0AQQAoAqDQgIAAIgQgAmoiBSADIAJrIgNBAXI2AgRBACADNgKU0ICAAEEAIAU2AqDQgIAAIAQgAkEDcjYCBCAEQQhqIQMMAwtBACEDQQBBMDYC+NOAgAAMAgsCQCALRQ0AAkACQCAIIAgoAhwiBUECdEG40oCAAGoiAygCAEcNACADIAA2AgAgAA0BQQAgB0F+IAV3cSIHNgKM0ICAAAwCCyALQRBBFCALKAIQIAhGG2ogADYCACAARQ0BCyAAIAs2AhgCQCAIKAIQIgNFDQAgACADNgIQIAMgADYCGAsgCEEUaigCACIDRQ0AIABBFGogAzYCACADIAA2AhgLAkACQCAEQQ9LDQAgCCAEIAJqIgNBA3I2AgQgCCADaiIDIAMoAgRBAXI2AgQMAQsgCCACaiIAIARBAXI2AgQgCCACQQNyNgIEIAAgBGogBDYCAAJAIARB/wFLDQAgBEF4cUGw0ICAAGohAwJAAkBBACgCiNCAgAAiBUEBIARBA3Z0IgRxDQBBACAFIARyNgKI0ICAACADIQQMAQsgAygCCCEECyAEIAA2AgwgAyAANgIIIAAgAzYCDCAAIAQ2AggMAQtBHyEDAkAgBEH///8HSw0AIARBCHYiAyADQYD+P2pBEHZBCHEiA3QiBSAFQYDgH2pBEHZBBHEiBXQiAiACQYCAD2pBEHZBAnEiAnRBD3YgAyAFciACcmsiA0EBdCAEIANBFWp2QQFxckEcaiEDCyAAIAM2AhwgAEIANwIQIANBAnRBuNKAgABqIQUCQCAHQQEgA3QiAnENACAFIAA2AgBBACAHIAJyNgKM0ICAACAAIAU2AhggACAANgIIIAAgADYCDAwBCyAEQQBBGSADQQF2ayADQR9GG3QhAyAFKAIAIQICQANAIAIiBSgCBEF4cSAERg0BIANBHXYhAiADQQF0IQMgBSACQQRxakEQaiIGKAIAIgINAAsgBiAANgIAIAAgBTYCGCAAIAA2AgwgACAANgIIDAELIAUoAggiAyAANgIMIAUgADYCCCAAQQA2AhggACAFNgIMIAAgAzYCCAsgCEEIaiEDDAELAkAgCkUNAAJAAkAgACAAKAIcIgVBAnRBuNKAgABqIgMoAgBHDQAgAyAINgIAIAgNAUEAIAlBfiAFd3E2AozQgIAADAILIApBEEEUIAooAhAgAEYbaiAINgIAIAhFDQELIAggCjYCGAJAIAAoAhAiA0UNACAIIAM2AhAgAyAINgIYCyAAQRRqKAIAIgNFDQAgCEEUaiADNgIAIAMgCDYCGAsCQAJAIARBD0sNACAAIAQgAmoiA0EDcjYCBCAAIANqIgMgAygCBEEBcjYCBAwBCyAAIAJqIgUgBEEBcjYCBCAAIAJBA3I2AgQgBSAEaiAENgIAAkAgB0UNACAHQXhxQbDQgIAAaiECQQAoApzQgIAAIQMCQAJAQQEgB0EDdnQiCCAGcQ0AQQAgCCAGcjYCiNCAgAAgAiEIDAELIAIoAgghCAsgCCADNgIMIAIgAzYCCCADIAI2AgwgAyAINgIIC0EAIAU2ApzQgIAAQQAgBDYCkNCAgAALIABBCGohAwsgAUEQaiSAgICAACADCwoAIAAQyYCAgAAL4g0BB38CQCAARQ0AIABBeGoiASAAQXxqKAIAIgJBeHEiAGohAwJAIAJBAXENACACQQNxRQ0BIAEgASgCACICayIBQQAoApjQgIAAIgRJDQEgAiAAaiEAAkAgAUEAKAKc0ICAAEYNAAJAIAJB/wFLDQAgASgCCCIEIAJBA3YiBUEDdEGw0ICAAGoiBkYaAkAgASgCDCICIARHDQBBAEEAKAKI0ICAAEF+IAV3cTYCiNCAgAAMAwsgAiAGRhogAiAENgIIIAQgAjYCDAwCCyABKAIYIQcCQAJAIAEoAgwiBiABRg0AIAEoAggiAiAESRogBiACNgIIIAIgBjYCDAwBCwJAIAFBFGoiAigCACIEDQAgAUEQaiICKAIAIgQNAEEAIQYMAQsDQCACIQUgBCIGQRRqIgIoAgAiBA0AIAZBEGohAiAGKAIQIgQNAAsgBUEANgIACyAHRQ0BAkACQCABIAEoAhwiBEECdEG40oCAAGoiAigCAEcNACACIAY2AgAgBg0BQQBBACgCjNCAgABBfiAEd3E2AozQgIAADAMLIAdBEEEUIAcoAhAgAUYbaiAGNgIAIAZFDQILIAYgBzYCGAJAIAEoAhAiAkUNACAGIAI2AhAgAiAGNgIYCyABKAIUIgJFDQEgBkEUaiACNgIAIAIgBjYCGAwBCyADKAIEIgJBA3FBA0cNACADIAJBfnE2AgRBACAANgKQ0ICAACABIABqIAA2AgAgASAAQQFyNgIEDwsgASADTw0AIAMoAgQiAkEBcUUNAAJAAkAgAkECcQ0AAkAgA0EAKAKg0ICAAEcNAEEAIAE2AqDQgIAAQQBBACgClNCAgAAgAGoiADYClNCAgAAgASAAQQFyNgIEIAFBACgCnNCAgABHDQNBAEEANgKQ0ICAAEEAQQA2ApzQgIAADwsCQCADQQAoApzQgIAARw0AQQAgATYCnNCAgABBAEEAKAKQ0ICAACAAaiIANgKQ0ICAACABIABBAXI2AgQgASAAaiAANgIADwsgAkF4cSAAaiEAAkACQCACQf8BSw0AIAMoAggiBCACQQN2IgVBA3RBsNCAgABqIgZGGgJAIAMoAgwiAiAERw0AQQBBACgCiNCAgABBfiAFd3E2AojQgIAADAILIAIgBkYaIAIgBDYCCCAEIAI2AgwMAQsgAygCGCEHAkACQCADKAIMIgYgA0YNACADKAIIIgJBACgCmNCAgABJGiAGIAI2AgggAiAGNgIMDAELAkAgA0EUaiICKAIAIgQNACADQRBqIgIoAgAiBA0AQQAhBgwBCwNAIAIhBSAEIgZBFGoiAigCACIEDQAgBkEQaiECIAYoAhAiBA0ACyAFQQA2AgALIAdFDQACQAJAIAMgAygCHCIEQQJ0QbjSgIAAaiICKAIARw0AIAIgBjYCACAGDQFBAEEAKAKM0ICAAEF+IAR3cTYCjNCAgAAMAgsgB0EQQRQgBygCECADRhtqIAY2AgAgBkUNAQsgBiAHNgIYAkAgAygCECICRQ0AIAYgAjYCECACIAY2AhgLIAMoAhQiAkUNACAGQRRqIAI2AgAgAiAGNgIYCyABIABqIAA2AgAgASAAQQFyNgIEIAFBACgCnNCAgABHDQFBACAANgKQ0ICAAA8LIAMgAkF+cTYCBCABIABqIAA2AgAgASAAQQFyNgIECwJAIABB/wFLDQAgAEF4cUGw0ICAAGohAgJAAkBBACgCiNCAgAAiBEEBIABBA3Z0IgBxDQBBACAEIAByNgKI0ICAACACIQAMAQsgAigCCCEACyAAIAE2AgwgAiABNgIIIAEgAjYCDCABIAA2AggPC0EfIQICQCAAQf///wdLDQAgAEEIdiICIAJBgP4/akEQdkEIcSICdCIEIARBgOAfakEQdkEEcSIEdCIGIAZBgIAPakEQdkECcSIGdEEPdiACIARyIAZyayICQQF0IAAgAkEVanZBAXFyQRxqIQILIAEgAjYCHCABQgA3AhAgAkECdEG40oCAAGohBAJAAkBBACgCjNCAgAAiBkEBIAJ0IgNxDQAgBCABNgIAQQAgBiADcjYCjNCAgAAgASAENgIYIAEgATYCCCABIAE2AgwMAQsgAEEAQRkgAkEBdmsgAkEfRht0IQIgBCgCACEGAkADQCAGIgQoAgRBeHEgAEYNASACQR12IQYgAkEBdCECIAQgBkEEcWpBEGoiAygCACIGDQALIAMgATYCACABIAQ2AhggASABNgIMIAEgATYCCAwBCyAEKAIIIgAgATYCDCAEIAE2AgggAUEANgIYIAEgBDYCDCABIAA2AggLQQBBACgCqNCAgABBf2oiAUF/IAEbNgKo0ICAAAsLBAAAAAtOAAJAIAANAD8AQRB0DwsCQCAAQf//A3ENACAAQX9MDQACQCAAQRB2QAAiAEF/Rw0AQQBBMDYC+NOAgABBfw8LIABBEHQPCxDKgICAAAAL8gICA38BfgJAIAJFDQAgACABOgAAIAIgAGoiA0F/aiABOgAAIAJBA0kNACAAIAE6AAIgACABOgABIANBfWogAToAACADQX5qIAE6AAAgAkEHSQ0AIAAgAToAAyADQXxqIAE6AAAgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIFayICQSBJDQAgAa1CgYCAgBB+IQYgAyAFaiEBA0AgASAGNwMYIAEgBjcDECABIAY3AwggASAGNwMAIAFBIGohASACQWBqIgJBH0sNAAsLIAALC45IAQBBgAgLhkgBAAAAAgAAAAMAAAAAAAAAAAAAAAQAAAAFAAAAAAAAAAAAAAAGAAAABwAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEludmFsaWQgY2hhciBpbiB1cmwgcXVlcnkAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9ib2R5AENvbnRlbnQtTGVuZ3RoIG92ZXJmbG93AENodW5rIHNpemUgb3ZlcmZsb3cAUmVzcG9uc2Ugb3ZlcmZsb3cASW52YWxpZCBtZXRob2QgZm9yIEhUVFAveC54IHJlcXVlc3QASW52YWxpZCBtZXRob2QgZm9yIFJUU1AveC54IHJlcXVlc3QARXhwZWN0ZWQgU09VUkNFIG1ldGhvZCBmb3IgSUNFL3gueCByZXF1ZXN0AEludmFsaWQgY2hhciBpbiB1cmwgZnJhZ21lbnQgc3RhcnQARXhwZWN0ZWQgZG90AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fc3RhdHVzAEludmFsaWQgcmVzcG9uc2Ugc3RhdHVzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8=";
+  }
+});
+
+// node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
+var require_llhttp_simd_wasm3 = __commonJS({
+  "node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
+    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==";
+  }
+});
+
+// node_modules/undici/lib/client.js
+var require_client3 = __commonJS({
+  "node_modules/undici/lib/client.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.unescape = exports2.escape = exports2.AST = exports2.Minimatch = exports2.match = exports2.makeRe = exports2.braceExpand = exports2.defaults = exports2.filter = exports2.GLOBSTAR = exports2.sep = exports2.minimatch = void 0;
-    var brace_expansion_1 = require_commonjs19();
-    var assert_valid_pattern_js_1 = require_assert_valid_pattern();
-    var ast_js_1 = require_ast();
-    var escape_js_1 = require_escape();
-    var unescape_js_1 = require_unescape();
-    var minimatch = (p, pattern, options = {}) => {
-      (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
-      if (!options.nocomment && pattern.charAt(0) === "#") {
-        return false;
-      }
-      return new Minimatch(pattern, options).match(p);
-    };
-    exports2.minimatch = minimatch;
-    var starDotExtRE = /^\*+([^+@!?\*\[\(]*)$/;
-    var starDotExtTest = (ext2) => (f) => !f.startsWith(".") && f.endsWith(ext2);
-    var starDotExtTestDot = (ext2) => (f) => f.endsWith(ext2);
-    var starDotExtTestNocase = (ext2) => {
-      ext2 = ext2.toLowerCase();
-      return (f) => !f.startsWith(".") && f.toLowerCase().endsWith(ext2);
-    };
-    var starDotExtTestNocaseDot = (ext2) => {
-      ext2 = ext2.toLowerCase();
-      return (f) => f.toLowerCase().endsWith(ext2);
-    };
-    var starDotStarRE = /^\*+\.\*+$/;
-    var starDotStarTest = (f) => !f.startsWith(".") && f.includes(".");
-    var starDotStarTestDot = (f) => f !== "." && f !== ".." && f.includes(".");
-    var dotStarRE = /^\.\*+$/;
-    var dotStarTest = (f) => f !== "." && f !== ".." && f.startsWith(".");
-    var starRE = /^\*+$/;
-    var starTest = (f) => f.length !== 0 && !f.startsWith(".");
-    var starTestDot = (f) => f.length !== 0 && f !== "." && f !== "..";
-    var qmarksRE = /^\?+([^+@!?\*\[\(]*)?$/;
-    var qmarksTestNocase = ([$0, ext2 = ""]) => {
-      const noext = qmarksTestNoExt([$0]);
-      if (!ext2)
-        return noext;
-      ext2 = ext2.toLowerCase();
-      return (f) => noext(f) && f.toLowerCase().endsWith(ext2);
-    };
-    var qmarksTestNocaseDot = ([$0, ext2 = ""]) => {
-      const noext = qmarksTestNoExtDot([$0]);
-      if (!ext2)
-        return noext;
-      ext2 = ext2.toLowerCase();
-      return (f) => noext(f) && f.toLowerCase().endsWith(ext2);
-    };
-    var qmarksTestDot = ([$0, ext2 = ""]) => {
-      const noext = qmarksTestNoExtDot([$0]);
-      return !ext2 ? noext : (f) => noext(f) && f.endsWith(ext2);
-    };
-    var qmarksTest = ([$0, ext2 = ""]) => {
-      const noext = qmarksTestNoExt([$0]);
-      return !ext2 ? noext : (f) => noext(f) && f.endsWith(ext2);
-    };
-    var qmarksTestNoExt = ([$0]) => {
-      const len = $0.length;
-      return (f) => f.length === len && !f.startsWith(".");
-    };
-    var qmarksTestNoExtDot = ([$0]) => {
-      const len = $0.length;
-      return (f) => f.length === len && f !== "." && f !== "..";
-    };
-    var defaultPlatform = typeof process === "object" && process ? typeof process.env === "object" && process.env && process.env.__MINIMATCH_TESTING_PLATFORM__ || process.platform : "posix";
-    var path16 = {
-      win32: { sep: "\\" },
-      posix: { sep: "/" }
-    };
-    exports2.sep = defaultPlatform === "win32" ? path16.win32.sep : path16.posix.sep;
-    exports2.minimatch.sep = exports2.sep;
-    exports2.GLOBSTAR = /* @__PURE__ */ Symbol("globstar **");
-    exports2.minimatch.GLOBSTAR = exports2.GLOBSTAR;
-    var qmark = "[^/]";
-    var star = qmark + "*?";
-    var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
-    var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
-    var filter = (pattern, options = {}) => (p) => (0, exports2.minimatch)(p, pattern, options);
-    exports2.filter = filter;
-    exports2.minimatch.filter = exports2.filter;
-    var ext = (a, b = {}) => Object.assign({}, a, b);
-    var defaults = (def) => {
-      if (!def || typeof def !== "object" || !Object.keys(def).length) {
-        return exports2.minimatch;
-      }
-      const orig = exports2.minimatch;
-      const m = (p, pattern, options = {}) => orig(p, pattern, ext(def, options));
-      return Object.assign(m, {
-        Minimatch: class Minimatch extends orig.Minimatch {
-          constructor(pattern, options = {}) {
-            super(pattern, ext(def, options));
-          }
-          static defaults(options) {
-            return orig.defaults(ext(def, options)).Minimatch;
-          }
-        },
-        AST: class AST extends orig.AST {
-          /* c8 ignore start */
-          constructor(type2, parent, options = {}) {
-            super(type2, parent, ext(def, options));
-          }
-          /* c8 ignore stop */
-          static fromGlob(pattern, options = {}) {
-            return orig.AST.fromGlob(pattern, ext(def, options));
-          }
-        },
-        unescape: (s, options = {}) => orig.unescape(s, ext(def, options)),
-        escape: (s, options = {}) => orig.escape(s, ext(def, options)),
-        filter: (pattern, options = {}) => orig.filter(pattern, ext(def, options)),
-        defaults: (options) => orig.defaults(ext(def, options)),
-        makeRe: (pattern, options = {}) => orig.makeRe(pattern, ext(def, options)),
-        braceExpand: (pattern, options = {}) => orig.braceExpand(pattern, ext(def, options)),
-        match: (list, pattern, options = {}) => orig.match(list, pattern, ext(def, options)),
-        sep: orig.sep,
-        GLOBSTAR: exports2.GLOBSTAR
-      });
-    };
-    exports2.defaults = defaults;
-    exports2.minimatch.defaults = exports2.defaults;
-    var braceExpand = (pattern, options = {}) => {
-      (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
-      if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
-        return [pattern];
-      }
-      return (0, brace_expansion_1.expand)(pattern);
-    };
-    exports2.braceExpand = braceExpand;
-    exports2.minimatch.braceExpand = exports2.braceExpand;
-    var makeRe = (pattern, options = {}) => new Minimatch(pattern, options).makeRe();
-    exports2.makeRe = makeRe;
-    exports2.minimatch.makeRe = exports2.makeRe;
-    var match = (list, pattern, options = {}) => {
-      const mm = new Minimatch(pattern, options);
-      list = list.filter((f) => mm.match(f));
-      if (mm.options.nonull && !list.length) {
-        list.push(pattern);
+    var assert = require("assert");
+    var net = require("net");
+    var http = require("http");
+    var { pipeline } = require("stream");
+    var util = require_util24();
+    var timers = require_timers3();
+    var Request = require_request5();
+    var DispatcherBase = require_dispatcher_base3();
+    var {
+      RequestContentLengthMismatchError,
+      ResponseContentLengthMismatchError,
+      InvalidArgumentError,
+      RequestAbortedError,
+      HeadersTimeoutError,
+      HeadersOverflowError,
+      SocketError,
+      InformationalError,
+      BodyTimeoutError,
+      HTTPParserError,
+      ResponseExceededMaxSizeError,
+      ClientDestroyedError
+    } = require_errors6();
+    var buildConnector = require_connect3();
+    var {
+      kUrl,
+      kReset,
+      kServerName,
+      kClient,
+      kBusy,
+      kParser,
+      kConnect,
+      kBlocking,
+      kResuming,
+      kRunning,
+      kPending,
+      kSize,
+      kWriting,
+      kQueue,
+      kConnected,
+      kConnecting,
+      kNeedDrain,
+      kNoRef,
+      kKeepAliveDefaultTimeout,
+      kHostHeader,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kPipelining,
+      kSocket,
+      kKeepAliveTimeoutValue,
+      kMaxHeadersSize,
+      kKeepAliveMaxTimeout,
+      kKeepAliveTimeoutThreshold,
+      kHeadersTimeout,
+      kBodyTimeout,
+      kStrictContentLength,
+      kConnector,
+      kMaxRedirections,
+      kMaxRequests,
+      kCounter,
+      kClose,
+      kDestroy,
+      kDispatch,
+      kInterceptors,
+      kLocalAddress,
+      kMaxResponseSize,
+      kHTTPConnVersion,
+      // HTTP2
+      kHost,
+      kHTTP2Session,
+      kHTTP2SessionState,
+      kHTTP2BuildRequest,
+      kHTTP2CopyHeaders,
+      kHTTP1BuildRequest
+    } = require_symbols11();
+    var http2;
+    try {
+      http2 = require("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
       }
-      return list;
-    };
-    exports2.match = match;
-    exports2.minimatch.match = exports2.match;
-    var globMagic = /[?*]|[+@!]\(.*?\)|\[|\]/;
-    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
-    var Minimatch = class {
-      options;
-      set;
-      pattern;
-      windowsPathsNoEscape;
-      nonegate;
-      negate;
-      comment;
-      empty;
-      preserveMultipleSlashes;
-      partial;
-      globSet;
-      globParts;
-      nocase;
-      isWindows;
-      platform;
-      windowsNoMagicRoot;
-      regexp;
-      constructor(pattern, options = {}) {
-        (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
-        options = options || {};
-        this.options = options;
-        this.pattern = pattern;
-        this.platform = options.platform || defaultPlatform;
-        this.isWindows = this.platform === "win32";
-        this.windowsPathsNoEscape = !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;
-        if (this.windowsPathsNoEscape) {
-          this.pattern = this.pattern.replace(/\\/g, "/");
+    } = http2;
+    var h2ExperimentalWarned = false;
+    var FastBuffer = Buffer[Symbol.species];
+    var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
+    var channels = {};
+    try {
+      const diagnosticsChannel = require("diagnostics_channel");
+      channels.sendHeaders = diagnosticsChannel.channel("undici:client:sendHeaders");
+      channels.beforeConnect = diagnosticsChannel.channel("undici:client:beforeConnect");
+      channels.connectError = diagnosticsChannel.channel("undici:client:connectError");
+      channels.connected = diagnosticsChannel.channel("undici:client:connected");
+    } catch {
+      channels.sendHeaders = { hasSubscribers: false };
+      channels.beforeConnect = { hasSubscribers: false };
+      channels.connectError = { hasSubscribers: false };
+      channels.connected = { hasSubscribers: false };
+    }
+    var Client = class extends DispatcherBase {
+      /**
+       *
+       * @param {string|URL} url
+       * @param {import('../types/client').Client.Options} options
+       */
+      constructor(url2, {
+        interceptors,
+        maxHeaderSize,
+        headersTimeout,
+        socketTimeout,
+        requestTimeout,
+        connectTimeout,
+        bodyTimeout,
+        idleTimeout,
+        keepAlive,
+        keepAliveTimeout,
+        maxKeepAliveTimeout,
+        keepAliveMaxTimeout,
+        keepAliveTimeoutThreshold,
+        socketPath,
+        pipelining,
+        tls,
+        strictContentLength,
+        maxCachedSessions,
+        maxRedirections,
+        connect: connect2,
+        maxRequestsPerClient,
+        localAddress,
+        maxResponseSize,
+        autoSelectFamily,
+        autoSelectFamilyAttemptTimeout,
+        // h2
+        allowH2,
+        maxConcurrentStreams
+      } = {}) {
+        super();
+        if (keepAlive !== void 0) {
+          throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead");
         }
-        this.preserveMultipleSlashes = !!options.preserveMultipleSlashes;
-        this.regexp = null;
-        this.negate = false;
-        this.nonegate = !!options.nonegate;
-        this.comment = false;
-        this.empty = false;
-        this.partial = !!options.partial;
-        this.nocase = !!this.options.nocase;
-        this.windowsNoMagicRoot = options.windowsNoMagicRoot !== void 0 ? options.windowsNoMagicRoot : !!(this.isWindows && this.nocase);
-        this.globSet = [];
-        this.globParts = [];
-        this.set = [];
-        this.make();
-      }
-      hasMagic() {
-        if (this.options.magicalBraces && this.set.length > 1) {
-          return true;
+        if (socketTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");
         }
-        for (const pattern of this.set) {
-          for (const part of pattern) {
-            if (typeof part !== "string")
-              return true;
-          }
+        if (requestTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");
         }
-        return false;
-      }
-      debug(..._2) {
-      }
-      make() {
-        const pattern = this.pattern;
-        const options = this.options;
-        if (!options.nocomment && pattern.charAt(0) === "#") {
-          this.comment = true;
-          return;
+        if (idleTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported idleTimeout, use keepAliveTimeout instead");
         }
-        if (!pattern) {
-          this.empty = true;
-          return;
+        if (maxKeepAliveTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");
         }
-        this.parseNegate();
-        this.globSet = [...new Set(this.braceExpand())];
-        if (options.debug) {
-          this.debug = (...args) => console.error(...args);
+        if (maxHeaderSize != null && !Number.isFinite(maxHeaderSize)) {
+          throw new InvalidArgumentError("invalid maxHeaderSize");
         }
-        this.debug(this.pattern, this.globSet);
-        const rawGlobParts = this.globSet.map((s) => this.slashSplit(s));
-        this.globParts = this.preprocess(rawGlobParts);
-        this.debug(this.pattern, this.globParts);
-        let set2 = this.globParts.map((s, _2, __) => {
-          if (this.isWindows && this.windowsNoMagicRoot) {
-            const isUNC = s[0] === "" && s[1] === "" && (s[2] === "?" || !globMagic.test(s[2])) && !globMagic.test(s[3]);
-            const isDrive = /^[a-z]:/i.test(s[0]);
-            if (isUNC) {
-              return [...s.slice(0, 4), ...s.slice(4).map((ss) => this.parse(ss))];
-            } else if (isDrive) {
-              return [s[0], ...s.slice(1).map((ss) => this.parse(ss))];
-            }
-          }
-          return s.map((ss) => this.parse(ss));
-        });
-        this.debug(this.pattern, set2);
-        this.set = set2.filter((s) => s.indexOf(false) === -1);
-        if (this.isWindows) {
-          for (let i = 0; i < this.set.length; i++) {
-            const p = this.set[i];
-            if (p[0] === "" && p[1] === "" && this.globParts[i][2] === "?" && typeof p[3] === "string" && /^[a-z]:$/i.test(p[3])) {
-              p[2] = "?";
-            }
-          }
+        if (socketPath != null && typeof socketPath !== "string") {
+          throw new InvalidArgumentError("invalid socketPath");
         }
-        this.debug(this.pattern, this.set);
-      }
-      // various transforms to equivalent pattern sets that are
-      // faster to process in a filesystem walk.  The goal is to
-      // eliminate what we can, and push all ** patterns as far
-      // to the right as possible, even if it increases the number
-      // of patterns that we have to process.
-      preprocess(globParts) {
-        if (this.options.noglobstar) {
-          for (let i = 0; i < globParts.length; i++) {
-            for (let j = 0; j < globParts[i].length; j++) {
-              if (globParts[i][j] === "**") {
-                globParts[i][j] = "*";
-              }
-            }
-          }
+        if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) {
+          throw new InvalidArgumentError("invalid connectTimeout");
         }
-        const { optimizationLevel = 1 } = this.options;
-        if (optimizationLevel >= 2) {
-          globParts = this.firstPhasePreProcess(globParts);
-          globParts = this.secondPhasePreProcess(globParts);
-        } else if (optimizationLevel >= 1) {
-          globParts = this.levelOneOptimize(globParts);
+        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 possitive integer, greater than 0");
+        }
+        if (typeof connect2 !== "function") {
+          connect2 = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect2
+          });
+        }
+        this[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client) ? interceptors.Client : [createRedirectInterceptor({ maxRedirections })];
+        this[kUrl] = util.parseOrigin(url2);
+        this[kConnector] = connect2;
+        this[kSocket] = null;
+        this[kPipelining] = pipelining != null ? pipelining : 1;
+        this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize;
+        this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;
+        this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;
+        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold;
+        this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
+        this[kServerName] = null;
+        this[kLocalAddress] = localAddress != null ? localAddress : null;
+        this[kResuming] = 0;
+        this[kNeedDrain] = 0;
+        this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r
+`;
+        this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5;
+        this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5;
+        this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength;
+        this[kMaxRedirections] = maxRedirections;
+        this[kMaxRequests] = maxRequestsPerClient;
+        this[kClosedResolve] = null;
+        this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
+        this[kHTTPConnVersion] = "h1";
+        this[kHTTP2Session] = null;
+        this[kHTTP2SessionState] = !allowH2 ? null : {
+          // streams: null, // Fixed queue of streams - For future support of `push`
+          openStreams: 0,
+          // Keep track of them to decide wether or not unref the session
+          maxConcurrentStreams: maxConcurrentStreams != null ? maxConcurrentStreams : 100
+          // Max peerConcurrentStreams for a Node h2 server
+        };
+        this[kHost] = `${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}`;
+        this[kQueue] = [];
+        this[kRunningIdx] = 0;
+        this[kPendingIdx] = 0;
+      }
+      get pipelining() {
+        return this[kPipelining];
+      }
+      set pipelining(value) {
+        this[kPipelining] = value;
+        resume(this, 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[kSocket] && !this[kConnecting] && !this[kSocket].destroyed;
+      }
+      get [kBusy]() {
+        const socket = this[kSocket];
+        return socket && (socket[kReset] || socket[kWriting] || socket[kBlocking]) || this[kSize] >= (this[kPipelining] || 1) || this[kPending] > 0;
+      }
+      /* 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 = this[kHTTPConnVersion] === "h2" ? Request[kHTTP2BuildRequest](origin, opts, handler2) : Request[kHTTP1BuildRequest](origin, opts, handler2);
+        this[kQueue].push(request2);
+        if (this[kResuming]) {
+        } else if (util.bodyLength(request2.body) == null && util.isIterable(request2.body)) {
+          this[kResuming] = 1;
+          process.nextTick(resume, this);
         } else {
-          globParts = this.adjascentGlobstarOptimize(globParts);
+          resume(this, true);
         }
-        return globParts;
+        if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
+          this[kNeedDrain] = 2;
+        }
+        return this[kNeedDrain] < 2;
       }
-      // just get rid of adjascent ** portions
-      adjascentGlobstarOptimize(globParts) {
-        return globParts.map((parts) => {
-          let gs = -1;
-          while (-1 !== (gs = parts.indexOf("**", gs + 1))) {
-            let i = gs;
-            while (parts[i + 1] === "**") {
-              i++;
-            }
-            if (i !== gs) {
-              parts.splice(gs, i - gs);
-            }
+      async [kClose]() {
+        return new Promise((resolve8) => {
+          if (!this[kSize]) {
+            resolve8(null);
+          } else {
+            this[kClosedResolve] = resolve8;
           }
-          return parts;
         });
       }
-      // get rid of adjascent ** and resolve .. portions
-      levelOneOptimize(globParts) {
-        return globParts.map((parts) => {
-          parts = parts.reduce((set2, part) => {
-            const prev = set2[set2.length - 1];
-            if (part === "**" && prev === "**") {
-              return set2;
-            }
-            if (part === "..") {
-              if (prev && prev !== ".." && prev !== "." && prev !== "**") {
-                set2.pop();
-                return set2;
-              }
+      async [kDestroy](err) {
+        return new Promise((resolve8) => {
+          const requests = this[kQueue].splice(this[kPendingIdx]);
+          for (let i = 0; i < requests.length; i++) {
+            const request2 = requests[i];
+            errorRequest2(this, request2, err);
+          }
+          const callback = () => {
+            if (this[kClosedResolve]) {
+              this[kClosedResolve]();
+              this[kClosedResolve] = null;
             }
-            set2.push(part);
-            return set2;
-          }, []);
-          return parts.length === 0 ? [""] : parts;
+            resolve8();
+          };
+          if (this[kHTTP2Session] != null) {
+            util.destroy(this[kHTTP2Session], err);
+            this[kHTTP2Session] = null;
+            this[kHTTP2SessionState] = null;
+          }
+          if (!this[kSocket]) {
+            queueMicrotask(callback);
+          } else {
+            util.destroy(this[kSocket].on("close", callback), err);
+          }
+          resume(this);
         });
       }
-      levelTwoFileOptimize(parts) {
-        if (!Array.isArray(parts)) {
-          parts = this.slashSplit(parts);
+    };
+    function onHttp2SessionError(err) {
+      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+      this[kSocket][kError] = err;
+      onError(this[kClient], err);
+    }
+    function onHttp2FrameError(type2, code, id) {
+      const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
+      if (id === 0) {
+        this[kSocket][kError] = err;
+        onError(this[kClient], err);
+      }
+    }
+    function onHttp2SessionEnd() {
+      util.destroy(this, new SocketError("other side closed"));
+      util.destroy(this[kSocket], new SocketError("other side closed"));
+    }
+    function onHTTP2GoAway(code) {
+      const client = this[kClient];
+      const err = new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`);
+      client[kSocket] = null;
+      client[kHTTP2Session] = null;
+      if (client.destroyed) {
+        assert(this[kPending] === 0);
+        const requests = client[kQueue].splice(client[kRunningIdx]);
+        for (let i = 0; i < requests.length; i++) {
+          const request2 = requests[i];
+          errorRequest2(this, request2, err);
         }
-        let didSomething = false;
-        do {
-          didSomething = false;
-          if (!this.preserveMultipleSlashes) {
-            for (let i = 1; i < parts.length - 1; i++) {
-              const p = parts[i];
-              if (i === 1 && p === "" && parts[0] === "")
-                continue;
-              if (p === "." || p === "") {
-                didSomething = true;
-                parts.splice(i, 1);
-                i--;
-              }
-            }
-            if (parts[0] === "." && parts.length === 2 && (parts[1] === "." || parts[1] === "")) {
-              didSomething = true;
-              parts.pop();
-            }
-          }
-          let dd = 0;
-          while (-1 !== (dd = parts.indexOf("..", dd + 1))) {
-            const p = parts[dd - 1];
-            if (p && p !== "." && p !== ".." && p !== "**") {
-              didSomething = true;
-              parts.splice(dd - 1, 2);
-              dd -= 2;
-            }
-          }
-        } while (didSomething);
-        return parts.length === 0 ? [""] : parts;
+      } else if (client[kRunning] > 0) {
+        const request2 = client[kQueue][client[kRunningIdx]];
+        client[kQueue][client[kRunningIdx]++] = null;
+        errorRequest2(client, request2, err);
       }
-      // First phase: single-pattern processing
-      // 
 is 1 or more portions
-      //  is 1 or more portions
-      // 

is any portion other than ., .., '', or ** - // is . or '' - // - // **/.. is *brutal* for filesystem walking performance, because - // it effectively resets the recursive walk each time it occurs, - // and ** cannot be reduced out by a .. pattern part like a regexp - // or most strings (other than .., ., and '') can be. - // - //

/**/../

/

/ -> {

/../

/

/,

/**/

/

/} - //

// -> 
/
-      // 
/

/../ ->

/
-      // **/**/ -> **/
-      //
-      // **/*/ -> */**/ <== not valid because ** doesn't follow
-      // this WOULD be allowed if ** did follow symlinks, or * didn't
-      firstPhasePreProcess(globParts) {
-        let didSomething = false;
-        do {
-          didSomething = false;
-          for (let parts of globParts) {
-            let gs = -1;
-            while (-1 !== (gs = parts.indexOf("**", gs + 1))) {
-              let gss = gs;
-              while (parts[gss + 1] === "**") {
-                gss++;
-              }
-              if (gss > gs) {
-                parts.splice(gs + 1, gss - gs);
-              }
-              let next = parts[gs + 1];
-              const p = parts[gs + 2];
-              const p2 = parts[gs + 3];
-              if (next !== "..")
-                continue;
-              if (!p || p === "." || p === ".." || !p2 || p2 === "." || p2 === "..") {
-                continue;
-              }
-              didSomething = true;
-              parts.splice(gs, 1);
-              const other = parts.slice(0);
-              other[gs] = "**";
-              globParts.push(other);
-              gs--;
-            }
-            if (!this.preserveMultipleSlashes) {
-              for (let i = 1; i < parts.length - 1; i++) {
-                const p = parts[i];
-                if (i === 1 && p === "" && parts[0] === "")
-                  continue;
-                if (p === "." || p === "") {
-                  didSomething = true;
-                  parts.splice(i, 1);
-                  i--;
-                }
-              }
-              if (parts[0] === "." && parts.length === 2 && (parts[1] === "." || parts[1] === "")) {
-                didSomething = true;
-                parts.pop();
-              }
-            }
-            let dd = 0;
-            while (-1 !== (dd = parts.indexOf("..", dd + 1))) {
-              const p = parts[dd - 1];
-              if (p && p !== "." && p !== ".." && p !== "**") {
-                didSomething = true;
-                const needDot = dd === 1 && parts[dd + 1] === "**";
-                const splin = needDot ? ["."] : [];
-                parts.splice(dd - 1, 2, ...splin);
-                if (parts.length === 0)
-                  parts.push("");
-                dd -= 2;
-              }
-            }
-          }
-        } while (didSomething);
-        return globParts;
+      client[kPendingIdx] = client[kRunningIdx];
+      assert(client[kRunning] === 0);
+      client.emit(
+        "disconnect",
+        client[kUrl],
+        [client],
+        err
+      );
+      resume(client);
+    }
+    var constants = require_constants22();
+    var createRedirectInterceptor = require_redirectInterceptor();
+    var EMPTY_BUF = Buffer.alloc(0);
+    async function lazyllhttp() {
+      const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm3() : void 0;
+      let mod;
+      try {
+        mod = await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm3(), "base64"));
+      } catch (e) {
+        mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require_llhttp_wasm3(), "base64"));
       }
-      // second phase: multi-pattern dedupes
-      // {
/*/,
/

/} ->

/*/
-      // {
/,
/} -> 
/
-      // {
/**/,
/} -> 
/**/
-      //
-      // {
/**/,
/**/

/} ->

/**/
-      // ^-- not valid because ** doens't follow symlinks
-      secondPhasePreProcess(globParts) {
-        for (let i = 0; i < globParts.length - 1; i++) {
-          for (let j = i + 1; j < globParts.length; j++) {
-            const matched = this.partsMatch(globParts[i], globParts[j], !this.preserveMultipleSlashes);
-            if (matched) {
-              globParts[i] = [];
-              globParts[j] = matched;
-              break;
-            }
+      return await WebAssembly.instantiate(mod, {
+        env: {
+          /* eslint-disable camelcase */
+          wasm_on_url: (p, at, len) => {
+            return 0;
+          },
+          wasm_on_status: (p, at, len) => {
+            assert.strictEqual(currentParser.ptr, p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_message_begin: (p) => {
+            assert.strictEqual(currentParser.ptr, p);
+            return currentParser.onMessageBegin() || 0;
+          },
+          wasm_on_header_field: (p, at, len) => {
+            assert.strictEqual(currentParser.ptr, p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_header_value: (p, at, len) => {
+            assert.strictEqual(currentParser.ptr, p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
+            assert.strictEqual(currentParser.ptr, p);
+            return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;
+          },
+          wasm_on_body: (p, at, len) => {
+            assert.strictEqual(currentParser.ptr, p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_message_complete: (p) => {
+            assert.strictEqual(currentParser.ptr, p);
+            return currentParser.onMessageComplete() || 0;
           }
+          /* eslint-enable camelcase */
         }
-        return globParts.filter((gs) => gs.length);
-      }
-      partsMatch(a, b, emptyGSMatch = false) {
-        let ai = 0;
-        let bi = 0;
-        let result = [];
-        let which7 = "";
-        while (ai < a.length && bi < b.length) {
-          if (a[ai] === b[bi]) {
-            result.push(which7 === "b" ? b[bi] : a[ai]);
-            ai++;
-            bi++;
-          } else if (emptyGSMatch && a[ai] === "**" && b[bi] === a[ai + 1]) {
-            result.push(a[ai]);
-            ai++;
-          } else if (emptyGSMatch && b[bi] === "**" && a[ai] === b[bi + 1]) {
-            result.push(b[bi]);
-            bi++;
-          } else if (a[ai] === "*" && b[bi] && (this.options.dot || !b[bi].startsWith(".")) && b[bi] !== "**") {
-            if (which7 === "b")
-              return false;
-            which7 = "a";
-            result.push(a[ai]);
-            ai++;
-            bi++;
-          } else if (b[bi] === "*" && a[ai] && (this.options.dot || !a[ai].startsWith(".")) && a[ai] !== "**") {
-            if (which7 === "a")
-              return false;
-            which7 = "b";
-            result.push(b[bi]);
-            ai++;
-            bi++;
+      });
+    }
+    var llhttpInstance = null;
+    var llhttpPromise = lazyllhttp();
+    llhttpPromise.catch();
+    var currentParser = null;
+    var currentBufferRef = null;
+    var currentBufferSize = 0;
+    var currentBufferPtr = null;
+    var TIMEOUT_HEADERS = 1;
+    var TIMEOUT_BODY = 2;
+    var TIMEOUT_IDLE = 3;
+    var Parser = class {
+      constructor(client, socket, { exports: 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(value, type2) {
+        this.timeoutType = type2;
+        if (value !== this.timeoutValue) {
+          timers.clearTimeout(this.timeout);
+          if (value) {
+            this.timeout = timers.setTimeout(onParserTimeout, value, this);
+            if (this.timeout.unref) {
+              this.timeout.unref();
+            }
           } else {
-            return false;
+            this.timeout = null;
+          }
+          this.timeoutValue = value;
+        } else if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
           }
         }
-        return a.length === b.length && result;
       }
-      parseNegate() {
-        if (this.nonegate)
+      resume() {
+        if (this.socket.destroyed || !this.paused) {
           return;
-        const pattern = this.pattern;
-        let negate2 = false;
-        let negateOffset = 0;
-        for (let i = 0; i < pattern.length && pattern.charAt(i) === "!"; i++) {
-          negate2 = !negate2;
-          negateOffset++;
         }
-        if (negateOffset)
-          this.pattern = pattern.slice(negateOffset);
-        this.negate = negate2;
+        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();
       }
-      // set partial to true to test if, for example,
-      // "/a/b" matches the start of "/*/b/*/d"
-      // Partial means, if you run out of file before you run
-      // out of pattern, then that's fine, as long as all
-      // the parts match.
-      matchOne(file, pattern, partial = false) {
-        const options = this.options;
-        if (this.isWindows) {
-          const fileDrive = typeof file[0] === "string" && /^[a-z]:$/i.test(file[0]);
-          const fileUNC = !fileDrive && file[0] === "" && file[1] === "" && file[2] === "?" && /^[a-z]:$/i.test(file[3]);
-          const patternDrive = typeof pattern[0] === "string" && /^[a-z]:$/i.test(pattern[0]);
-          const patternUNC = !patternDrive && pattern[0] === "" && pattern[1] === "" && pattern[2] === "?" && typeof pattern[3] === "string" && /^[a-z]:$/i.test(pattern[3]);
-          const fdi = fileUNC ? 3 : fileDrive ? 0 : void 0;
-          const pdi = patternUNC ? 3 : patternDrive ? 0 : void 0;
-          if (typeof fdi === "number" && typeof pdi === "number") {
-            const [fd, pd] = [file[fdi], pattern[pdi]];
-            if (fd.toLowerCase() === pd.toLowerCase()) {
-              pattern[pdi] = fd;
-              if (pdi > fdi) {
-                pattern = pattern.slice(pdi);
-              } else if (fdi > pdi) {
-                file = file.slice(fdi);
-              }
-            }
+      readMore() {
+        while (!this.paused && this.ptr) {
+          const chunk = this.socket.read();
+          if (chunk === null) {
+            break;
           }
+          this.execute(chunk);
         }
-        const { optimizationLevel = 1 } = this.options;
-        if (optimizationLevel >= 2) {
-          file = this.levelTwoFileOptimize(file);
+      }
+      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);
         }
-        this.debug("matchOne", this, { file, pattern });
-        this.debug("matchOne", file.length, pattern.length);
-        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
-          this.debug("matchOne loop");
-          var p = pattern[pi];
-          var f = file[fi];
-          this.debug(pattern, p, f);
-          if (p === false) {
-            return false;
+        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;
           }
-          if (p === exports2.GLOBSTAR) {
-            this.debug("GLOBSTAR", [pattern, p, f]);
-            var fr = fi;
-            var pr = pi + 1;
-            if (pr === pl) {
-              this.debug("** at the end");
-              for (; fi < fl; fi++) {
-                if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".")
-                  return false;
-              }
-              return true;
-            }
-            while (fr < fl) {
-              var swallowee = file[fr];
-              this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
-              if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
-                this.debug("globstar found match!", fr, fl, swallowee);
-                return true;
-              } else {
-                if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
-                  this.debug("dot detected!", file, fr, pattern, pr);
-                  break;
-                }
-                this.debug("globstar swallow a segment, and continue");
-                fr++;
-              }
-            }
-            if (partial) {
-              this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
-              if (fr === fl) {
-                return true;
-              }
+          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() + ")";
             }
-            return false;
-          }
-          let hit;
-          if (typeof p === "string") {
-            hit = f === p;
-            this.debug("string match", p, f, hit);
-          } else {
-            hit = p.test(f);
-            this.debug("pattern match", p, f, hit);
+            throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset));
           }
-          if (!hit)
-            return false;
-        }
-        if (fi === fl && pi === pl) {
-          return true;
-        } else if (fi === fl) {
-          return partial;
-        } else if (pi === pl) {
-          return fi === fl - 1 && file[fi] === "";
-        } else {
-          throw new Error("wtf?");
+        } catch (err) {
+          util.destroy(socket, err);
         }
       }
-      braceExpand() {
-        return (0, exports2.braceExpand)(this.pattern, this.options);
+      destroy() {
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        this.llhttp.llhttp_free(this.ptr);
+        this.ptr = null;
+        timers.clearTimeout(this.timeout);
+        this.timeout = null;
+        this.timeoutValue = null;
+        this.timeoutType = null;
+        this.paused = false;
       }
-      parse(pattern) {
-        (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
-        const options = this.options;
-        if (pattern === "**")
-          return exports2.GLOBSTAR;
-        if (pattern === "")
-          return "";
-        let m;
-        let fastTest = null;
-        if (m = pattern.match(starRE)) {
-          fastTest = options.dot ? starTestDot : starTest;
-        } else if (m = pattern.match(starDotExtRE)) {
-          fastTest = (options.nocase ? options.dot ? starDotExtTestNocaseDot : starDotExtTestNocase : options.dot ? starDotExtTestDot : starDotExtTest)(m[1]);
-        } else if (m = pattern.match(qmarksRE)) {
-          fastTest = (options.nocase ? options.dot ? qmarksTestNocaseDot : qmarksTestNocase : options.dot ? qmarksTestDot : qmarksTest)(m);
-        } else if (m = pattern.match(starDotStarRE)) {
-          fastTest = options.dot ? starDotStarTestDot : starDotStarTest;
-        } else if (m = pattern.match(dotStarRE)) {
-          fastTest = dotStarTest;
-        }
-        const re = ast_js_1.AST.fromGlob(pattern, this.options).toMMPattern();
-        if (fastTest && typeof re === "object") {
-          Reflect.defineProperty(re, "test", { value: fastTest });
-        }
-        return re;
+      onStatus(buf) {
+        this.statusText = buf.toString();
       }
-      makeRe() {
-        if (this.regexp || this.regexp === false)
-          return this.regexp;
-        const set2 = this.set;
-        if (!set2.length) {
-          this.regexp = false;
-          return this.regexp;
-        }
-        const options = this.options;
-        const twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
-        const flags = new Set(options.nocase ? ["i"] : []);
-        let re = set2.map((pattern) => {
-          const pp = pattern.map((p) => {
-            if (p instanceof RegExp) {
-              for (const f of p.flags.split(""))
-                flags.add(f);
-            }
-            return typeof p === "string" ? regExpEscape(p) : p === exports2.GLOBSTAR ? exports2.GLOBSTAR : p._src;
-          });
-          pp.forEach((p, i) => {
-            const next = pp[i + 1];
-            const prev = pp[i - 1];
-            if (p !== exports2.GLOBSTAR || prev === exports2.GLOBSTAR) {
-              return;
-            }
-            if (prev === void 0) {
-              if (next !== void 0 && next !== exports2.GLOBSTAR) {
-                pp[i + 1] = "(?:\\/|" + twoStar + "\\/)?" + next;
-              } else {
-                pp[i] = twoStar;
-              }
-            } else if (next === void 0) {
-              pp[i - 1] = prev + "(?:\\/|\\/" + twoStar + ")?";
-            } else if (next !== exports2.GLOBSTAR) {
-              pp[i - 1] = prev + "(?:\\/|\\/" + twoStar + "\\/)" + next;
-              pp[i + 1] = exports2.GLOBSTAR;
-            }
-          });
-          const filtered = pp.filter((p) => p !== exports2.GLOBSTAR);
-          if (this.partial && filtered.length >= 1) {
-            const prefixes = [];
-            for (let i = 1; i <= filtered.length; i++) {
-              prefixes.push(filtered.slice(0, i).join("/"));
-            }
-            return "(?:" + prefixes.join("|") + ")";
-          }
-          return filtered.join("/");
-        }).join("|");
-        const [open, close] = set2.length > 1 ? ["(?:", ")"] : ["", ""];
-        re = "^" + open + re + close + "$";
-        if (this.partial) {
-          re = "^(?:\\/|" + open + re.slice(1, -1) + close + ")$";
+      onMessageBegin() {
+        const { socket, client } = this;
+        if (socket.destroyed) {
+          return -1;
         }
-        if (this.negate)
-          re = "^(?!" + re + ").+$";
-        try {
-          this.regexp = new RegExp(re, [...flags].join(""));
-        } catch (ex) {
-          this.regexp = false;
+        const request2 = client[kQueue][client[kRunningIdx]];
+        if (!request2) {
+          return -1;
         }
-        return this.regexp;
       }
-      slashSplit(p) {
-        if (this.preserveMultipleSlashes) {
-          return p.split("/");
-        } else if (this.isWindows && /^\/\/[^\/]+/.test(p)) {
-          return ["", ...p.split(/\/+/)];
+      onHeaderField(buf) {
+        const len = this.headers.length;
+        if ((len & 1) === 0) {
+          this.headers.push(buf);
         } else {
-          return p.split(/\/+/);
+          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
         }
+        this.trackHeader(buf.length);
       }
-      match(f, partial = this.partial) {
-        this.debug("match", f, this.pattern);
-        if (this.comment) {
-          return false;
-        }
-        if (this.empty) {
-          return f === "";
+      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]);
         }
-        if (f === "/" && partial) {
-          return true;
+        const key = this.headers[len - 2];
+        if (key.length === 10 && key.toString().toLowerCase() === "keep-alive") {
+          this.keepAlive += buf.toString();
+        } else if (key.length === 10 && key.toString().toLowerCase() === "connection") {
+          this.connection += buf.toString();
+        } else if (key.length === 14 && key.toString().toLowerCase() === "content-length") {
+          this.contentLength += buf.toString();
         }
-        const options = this.options;
-        if (this.isWindows) {
-          f = f.split("\\").join("/");
+        this.trackHeader(buf.length);
+      }
+      trackHeader(len) {
+        this.headersSize += len;
+        if (this.headersSize >= this.headersMaxSize) {
+          util.destroy(this.socket, new HeadersOverflowError());
         }
-        const ff = this.slashSplit(f);
-        this.debug(this.pattern, "split", ff);
-        const set2 = this.set;
-        this.debug(this.pattern, "set", set2);
-        let filename = ff[ff.length - 1];
-        if (!filename) {
-          for (let i = ff.length - 2; !filename && i >= 0; i--) {
-            filename = ff[i];
-          }
+      }
+      onUpgrade(head) {
+        const { upgrade, client, socket, headers, statusCode } = this;
+        assert(upgrade);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert(!socket.destroyed);
+        assert(socket === client[kSocket]);
+        assert(!this.paused);
+        assert(request2.upgrade || request2.method === "CONNECT");
+        this.statusCode = null;
+        this.statusText = "";
+        this.shouldKeepAlive = null;
+        assert(this.headers.length % 2 === 0);
+        this.headers = [];
+        this.headersSize = 0;
+        socket.unshift(head);
+        socket[kParser].destroy();
+        socket[kParser] = null;
+        socket[kClient] = null;
+        socket[kError] = null;
+        socket.removeListener("error", onSocketError).removeListener("readable", onSocketReadable).removeListener("end", onSocketEnd).removeListener("close", onSocketClose);
+        client[kSocket] = null;
+        client[kQueue][client[kRunningIdx]++] = null;
+        client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
+        try {
+          request2.onUpgrade(statusCode, headers, socket);
+        } catch (err) {
+          util.destroy(socket, err);
         }
-        for (let i = 0; i < set2.length; i++) {
-          const pattern = set2[i];
-          let file = ff;
-          if (options.matchBase && pattern.length === 1) {
-            file = [filename];
-          }
-          const hit = this.matchOne(file, pattern, partial);
-          if (hit) {
-            if (options.flipNegate) {
-              return true;
-            }
-            return !this.negate;
-          }
+        resume(client);
+      }
+      onHeadersComplete(statusCode, upgrade, shouldKeepAlive) {
+        const { client, socket, headers, statusText } = this;
+        if (socket.destroyed) {
+          return -1;
         }
-        if (options.flipNegate) {
-          return false;
+        const request2 = client[kQueue][client[kRunningIdx]];
+        if (!request2) {
+          return -1;
         }
-        return this.negate;
-      }
-      static defaults(def) {
-        return exports2.minimatch.defaults(def).Minimatch;
-      }
-    };
-    exports2.Minimatch = Minimatch;
-    var ast_js_2 = require_ast();
-    Object.defineProperty(exports2, "AST", { enumerable: true, get: function() {
-      return ast_js_2.AST;
-    } });
-    var escape_js_2 = require_escape();
-    Object.defineProperty(exports2, "escape", { enumerable: true, get: function() {
-      return escape_js_2.escape;
-    } });
-    var unescape_js_2 = require_unescape();
-    Object.defineProperty(exports2, "unescape", { enumerable: true, get: function() {
-      return unescape_js_2.unescape;
-    } });
-    exports2.minimatch.AST = ast_js_1.AST;
-    exports2.minimatch.Minimatch = Minimatch;
-    exports2.minimatch.escape = escape_js_1.escape;
-    exports2.minimatch.unescape = unescape_js_1.unescape;
-  }
-});
-
-// node_modules/lru-cache/dist/commonjs/index.js
-var require_commonjs21 = __commonJS({
-  "node_modules/lru-cache/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.LRUCache = void 0;
-    var perf = typeof performance === "object" && performance && typeof performance.now === "function" ? performance : Date;
-    var warned = /* @__PURE__ */ new Set();
-    var PROCESS = typeof process === "object" && !!process ? process : {};
-    var emitWarning = (msg, type2, code, fn) => {
-      typeof PROCESS.emitWarning === "function" ? PROCESS.emitWarning(msg, type2, code, fn) : console.error(`[${code}] ${type2}: ${msg}`);
-    };
-    var AC = globalThis.AbortController;
-    var AS = globalThis.AbortSignal;
-    if (typeof AC === "undefined") {
-      AS = class AbortSignal {
-        onabort;
-        _onabort = [];
-        reason;
-        aborted = false;
-        addEventListener(_2, fn) {
-          this._onabort.push(fn);
+        assert(!this.upgrade);
+        assert(this.statusCode < 200);
+        if (statusCode === 100) {
+          util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket)));
+          return -1;
         }
-      };
-      AC = class AbortController {
-        constructor() {
-          warnACPolyfill();
+        if (upgrade && !request2.upgrade) {
+          util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket)));
+          return -1;
         }
-        signal = new AS();
-        abort(reason) {
-          if (this.signal.aborted)
-            return;
-          this.signal.reason = reason;
-          this.signal.aborted = true;
-          for (const fn of this.signal._onabort) {
-            fn(reason);
+        assert.strictEqual(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();
           }
-          this.signal.onabort?.(reason);
-        }
-      };
-      let printACPolyfillWarning = PROCESS.env?.LRU_CACHE_IGNORE_AC_WARNING !== "1";
-      const warnACPolyfill = () => {
-        if (!printACPolyfillWarning)
-          return;
-        printACPolyfillWarning = false;
-        emitWarning("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.", "NO_ABORT_CONTROLLER", "ENOTSUP", warnACPolyfill);
-      };
-    }
-    var shouldWarn = (code) => !warned.has(code);
-    var isPosInt = (n) => n && n === Math.floor(n) && n > 0 && isFinite(n);
-    var getUintArray = (max) => !isPosInt(max) ? null : max <= Math.pow(2, 8) ? Uint8Array : max <= Math.pow(2, 16) ? Uint16Array : max <= Math.pow(2, 32) ? Uint32Array : max <= Number.MAX_SAFE_INTEGER ? ZeroArray : null;
-    var ZeroArray = class extends Array {
-      constructor(size) {
-        super(size);
-        this.fill(0);
-      }
-    };
-    var Stack = class _Stack {
-      heap;
-      length;
-      // private constructor
-      static #constructing = false;
-      static create(max) {
-        const HeapCls = getUintArray(max);
-        if (!HeapCls)
-          return [];
-        _Stack.#constructing = true;
-        const s = new _Stack(max, HeapCls);
-        _Stack.#constructing = false;
-        return s;
-      }
-      constructor(max, HeapCls) {
-        if (!_Stack.#constructing) {
-          throw new TypeError("instantiate Stack using Stack.create(n)");
         }
-        this.heap = new HeapCls(max);
-        this.length = 0;
-      }
-      push(n) {
-        this.heap[this.length++] = n;
-      }
-      pop() {
-        return this.heap[--this.length];
-      }
-    };
-    var LRUCache = class _LRUCache {
-      // options that cannot be changed without disaster
-      #max;
-      #maxSize;
-      #dispose;
-      #onInsert;
-      #disposeAfter;
-      #fetchMethod;
-      #memoMethod;
-      /**
-       * {@link LRUCache.OptionsBase.ttl}
-       */
-      ttl;
-      /**
-       * {@link LRUCache.OptionsBase.ttlResolution}
-       */
-      ttlResolution;
-      /**
-       * {@link LRUCache.OptionsBase.ttlAutopurge}
-       */
-      ttlAutopurge;
-      /**
-       * {@link LRUCache.OptionsBase.updateAgeOnGet}
-       */
-      updateAgeOnGet;
-      /**
-       * {@link LRUCache.OptionsBase.updateAgeOnHas}
-       */
-      updateAgeOnHas;
-      /**
-       * {@link LRUCache.OptionsBase.allowStale}
-       */
-      allowStale;
-      /**
-       * {@link LRUCache.OptionsBase.noDisposeOnSet}
-       */
-      noDisposeOnSet;
-      /**
-       * {@link LRUCache.OptionsBase.noUpdateTTL}
-       */
-      noUpdateTTL;
-      /**
-       * {@link LRUCache.OptionsBase.maxEntrySize}
-       */
-      maxEntrySize;
-      /**
-       * {@link LRUCache.OptionsBase.sizeCalculation}
-       */
-      sizeCalculation;
-      /**
-       * {@link LRUCache.OptionsBase.noDeleteOnFetchRejection}
-       */
-      noDeleteOnFetchRejection;
-      /**
-       * {@link LRUCache.OptionsBase.noDeleteOnStaleGet}
-       */
-      noDeleteOnStaleGet;
-      /**
-       * {@link LRUCache.OptionsBase.allowStaleOnFetchAbort}
-       */
-      allowStaleOnFetchAbort;
-      /**
-       * {@link LRUCache.OptionsBase.allowStaleOnFetchRejection}
-       */
-      allowStaleOnFetchRejection;
-      /**
-       * {@link LRUCache.OptionsBase.ignoreFetchAbort}
-       */
-      ignoreFetchAbort;
-      // computed properties
-      #size;
-      #calculatedSize;
-      #keyMap;
-      #keyList;
-      #valList;
-      #next;
-      #prev;
-      #head;
-      #tail;
-      #free;
-      #disposed;
-      #sizes;
-      #starts;
-      #ttls;
-      #hasDispose;
-      #hasFetchMethod;
-      #hasDisposeAfter;
-      #hasOnInsert;
-      /**
-       * Do not call this method unless you need to inspect the
-       * inner workings of the cache.  If anything returned by this
-       * object is modified in any way, strange breakage may occur.
-       *
-       * These fields are private for a reason!
-       *
-       * @internal
-       */
-      static unsafeExposeInternals(c) {
-        return {
-          // properties
-          starts: c.#starts,
-          ttls: c.#ttls,
-          sizes: c.#sizes,
-          keyMap: c.#keyMap,
-          keyList: c.#keyList,
-          valList: c.#valList,
-          next: c.#next,
-          prev: c.#prev,
-          get head() {
-            return c.#head;
-          },
-          get tail() {
-            return c.#tail;
-          },
-          free: c.#free,
-          // methods
-          isBackgroundFetch: (p) => c.#isBackgroundFetch(p),
-          backgroundFetch: (k, index, options, context3) => c.#backgroundFetch(k, index, options, context3),
-          moveToTail: (index) => c.#moveToTail(index),
-          indexes: (options) => c.#indexes(options),
-          rindexes: (options) => c.#rindexes(options),
-          isStale: (index) => c.#isStale(index)
-        };
-      }
-      // Protected read-only members
-      /**
-       * {@link LRUCache.OptionsBase.max} (read-only)
-       */
-      get max() {
-        return this.#max;
-      }
-      /**
-       * {@link LRUCache.OptionsBase.maxSize} (read-only)
-       */
-      get maxSize() {
-        return this.#maxSize;
-      }
-      /**
-       * The total computed size of items in the cache (read-only)
-       */
-      get calculatedSize() {
-        return this.#calculatedSize;
-      }
-      /**
-       * The number of items stored in the cache (read-only)
-       */
-      get size() {
-        return this.#size;
-      }
-      /**
-       * {@link LRUCache.OptionsBase.fetchMethod} (read-only)
-       */
-      get fetchMethod() {
-        return this.#fetchMethod;
-      }
-      get memoMethod() {
-        return this.#memoMethod;
-      }
-      /**
-       * {@link LRUCache.OptionsBase.dispose} (read-only)
-       */
-      get dispose() {
-        return this.#dispose;
-      }
-      /**
-       * {@link LRUCache.OptionsBase.onInsert} (read-only)
-       */
-      get onInsert() {
-        return this.#onInsert;
-      }
-      /**
-       * {@link LRUCache.OptionsBase.disposeAfter} (read-only)
-       */
-      get disposeAfter() {
-        return this.#disposeAfter;
-      }
-      constructor(options) {
-        const { max = 0, ttl, ttlResolution = 1, ttlAutopurge, updateAgeOnGet, updateAgeOnHas, allowStale, dispose, onInsert, disposeAfter, noDisposeOnSet, noUpdateTTL, maxSize = 0, maxEntrySize = 0, sizeCalculation, fetchMethod, memoMethod, noDeleteOnFetchRejection, noDeleteOnStaleGet, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort } = options;
-        if (max !== 0 && !isPosInt(max)) {
-          throw new TypeError("max option must be a nonnegative integer");
+        if (request2.method === "CONNECT") {
+          assert(client[kRunning] === 1);
+          this.upgrade = true;
+          return 2;
         }
-        const UintArray = max ? getUintArray(max) : Array;
-        if (!UintArray) {
-          throw new Error("invalid max value: " + max);
+        if (upgrade) {
+          assert(client[kRunning] === 1);
+          this.upgrade = true;
+          return 2;
         }
-        this.#max = max;
-        this.#maxSize = maxSize;
-        this.maxEntrySize = maxEntrySize || this.#maxSize;
-        this.sizeCalculation = sizeCalculation;
-        if (this.sizeCalculation) {
-          if (!this.#maxSize && !this.maxEntrySize) {
-            throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");
-          }
-          if (typeof this.sizeCalculation !== "function") {
-            throw new TypeError("sizeCalculation set to non-function");
+        assert(this.headers.length % 2 === 0);
+        this.headers = [];
+        this.headersSize = 0;
+        if (this.shouldKeepAlive && client[kPipelining]) {
+          const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null;
+          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;
         }
-        if (memoMethod !== void 0 && typeof memoMethod !== "function") {
-          throw new TypeError("memoMethod must be a function if defined");
-        }
-        this.#memoMethod = memoMethod;
-        if (fetchMethod !== void 0 && typeof fetchMethod !== "function") {
-          throw new TypeError("fetchMethod must be a function if specified");
+        const pause = request2.onHeaders(statusCode, headers, this.resume, statusText) === false;
+        if (request2.aborted) {
+          return -1;
         }
-        this.#fetchMethod = fetchMethod;
-        this.#hasFetchMethod = !!fetchMethod;
-        this.#keyMap = /* @__PURE__ */ new Map();
-        this.#keyList = new Array(max).fill(void 0);
-        this.#valList = new Array(max).fill(void 0);
-        this.#next = new UintArray(max);
-        this.#prev = new UintArray(max);
-        this.#head = 0;
-        this.#tail = 0;
-        this.#free = Stack.create(max);
-        this.#size = 0;
-        this.#calculatedSize = 0;
-        if (typeof dispose === "function") {
-          this.#dispose = dispose;
+        if (request2.method === "HEAD") {
+          return 1;
         }
-        if (typeof onInsert === "function") {
-          this.#onInsert = onInsert;
+        if (statusCode < 200) {
+          return 1;
         }
-        if (typeof disposeAfter === "function") {
-          this.#disposeAfter = disposeAfter;
-          this.#disposed = [];
-        } else {
-          this.#disposeAfter = void 0;
-          this.#disposed = void 0;
+        if (socket[kBlocking]) {
+          socket[kBlocking] = false;
+          resume(client);
         }
-        this.#hasDispose = !!this.#dispose;
-        this.#hasOnInsert = !!this.#onInsert;
-        this.#hasDisposeAfter = !!this.#disposeAfter;
-        this.noDisposeOnSet = !!noDisposeOnSet;
-        this.noUpdateTTL = !!noUpdateTTL;
-        this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection;
-        this.allowStaleOnFetchRejection = !!allowStaleOnFetchRejection;
-        this.allowStaleOnFetchAbort = !!allowStaleOnFetchAbort;
-        this.ignoreFetchAbort = !!ignoreFetchAbort;
-        if (this.maxEntrySize !== 0) {
-          if (this.#maxSize !== 0) {
-            if (!isPosInt(this.#maxSize)) {
-              throw new TypeError("maxSize must be a positive integer if specified");
-            }
-          }
-          if (!isPosInt(this.maxEntrySize)) {
-            throw new TypeError("maxEntrySize must be a positive integer if specified");
-          }
-          this.#initializeSizeTracking();
+        return pause ? constants.ERROR.PAUSED : 0;
+      }
+      onBody(buf) {
+        const { client, socket, statusCode, maxResponseSize } = this;
+        if (socket.destroyed) {
+          return -1;
         }
-        this.allowStale = !!allowStale;
-        this.noDeleteOnStaleGet = !!noDeleteOnStaleGet;
-        this.updateAgeOnGet = !!updateAgeOnGet;
-        this.updateAgeOnHas = !!updateAgeOnHas;
-        this.ttlResolution = isPosInt(ttlResolution) || ttlResolution === 0 ? ttlResolution : 1;
-        this.ttlAutopurge = !!ttlAutopurge;
-        this.ttl = ttl || 0;
-        if (this.ttl) {
-          if (!isPosInt(this.ttl)) {
-            throw new TypeError("ttl must be a positive integer if specified");
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert.strictEqual(this.timeoutType, TIMEOUT_BODY);
+        if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
           }
-          this.#initializeTTLTracking();
         }
-        if (this.#max === 0 && this.ttl === 0 && this.#maxSize === 0) {
-          throw new TypeError("At least one of max, maxSize, or ttl is required");
+        assert(statusCode >= 200);
+        if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
+          util.destroy(socket, new ResponseExceededMaxSizeError());
+          return -1;
         }
-        if (!this.ttlAutopurge && !this.#max && !this.#maxSize) {
-          const code = "LRU_CACHE_UNBOUNDED";
-          if (shouldWarn(code)) {
-            warned.add(code);
-            const msg = "TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.";
-            emitWarning(msg, "UnboundedCacheWarning", code, _LRUCache);
-          }
+        this.bytesRead += buf.length;
+        if (request2.onData(buf) === false) {
+          return constants.ERROR.PAUSED;
         }
       }
-      /**
-       * Return the number of ms left in the item's TTL. If item is not in cache,
-       * returns `0`. Returns `Infinity` if item is in cache without a defined TTL.
-       */
-      getRemainingTTL(key) {
-        return this.#keyMap.has(key) ? Infinity : 0;
-      }
-      #initializeTTLTracking() {
-        const ttls = new ZeroArray(this.#max);
-        const starts = new ZeroArray(this.#max);
-        this.#ttls = ttls;
-        this.#starts = starts;
-        this.#setItemTTL = (index, ttl, start = perf.now()) => {
-          starts[index] = ttl !== 0 ? start : 0;
-          ttls[index] = ttl;
-          if (ttl !== 0 && this.ttlAutopurge) {
-            const t = setTimeout(() => {
-              if (this.#isStale(index)) {
-                this.#delete(this.#keyList[index], "expire");
-              }
-            }, ttl + 1);
-            if (t.unref) {
-              t.unref();
-            }
-          }
-        };
-        this.#updateItemAge = (index) => {
-          starts[index] = ttls[index] !== 0 ? perf.now() : 0;
-        };
-        this.#statusTTL = (status, index) => {
-          if (ttls[index]) {
-            const ttl = ttls[index];
-            const start = starts[index];
-            if (!ttl || !start)
-              return;
-            status.ttl = ttl;
-            status.start = start;
-            status.now = cachedNow || getNow();
-            const age = status.now - start;
-            status.remainingTTL = ttl - age;
-          }
-        };
-        let cachedNow = 0;
-        const getNow = () => {
-          const n = perf.now();
-          if (this.ttlResolution > 0) {
-            cachedNow = n;
-            const t = setTimeout(() => cachedNow = 0, this.ttlResolution);
-            if (t.unref) {
-              t.unref();
-            }
-          }
-          return n;
-        };
-        this.getRemainingTTL = (key) => {
-          const index = this.#keyMap.get(key);
-          if (index === void 0) {
-            return 0;
-          }
-          const ttl = ttls[index];
-          const start = starts[index];
-          if (!ttl || !start) {
-            return Infinity;
-          }
-          const age = (cachedNow || getNow()) - start;
-          return ttl - age;
-        };
-        this.#isStale = (index) => {
-          const s = starts[index];
-          const t = ttls[index];
-          return !!t && !!s && (cachedNow || getNow()) - s > t;
-        };
-      }
-      // conditionally set private methods related to TTL
-      #updateItemAge = () => {
-      };
-      #statusTTL = () => {
-      };
-      #setItemTTL = () => {
-      };
-      /* c8 ignore stop */
-      #isStale = () => false;
-      #initializeSizeTracking() {
-        const sizes = new ZeroArray(this.#max);
-        this.#calculatedSize = 0;
-        this.#sizes = sizes;
-        this.#removeItemSize = (index) => {
-          this.#calculatedSize -= sizes[index];
-          sizes[index] = 0;
-        };
-        this.#requireSize = (k, v, size, sizeCalculation) => {
-          if (this.#isBackgroundFetch(v)) {
-            return 0;
-          }
-          if (!isPosInt(size)) {
-            if (sizeCalculation) {
-              if (typeof sizeCalculation !== "function") {
-                throw new TypeError("sizeCalculation must be a function");
-              }
-              size = sizeCalculation(v, k);
-              if (!isPosInt(size)) {
-                throw new TypeError("sizeCalculation return invalid (expect positive integer)");
-              }
-            } else {
-              throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");
-            }
-          }
-          return size;
-        };
-        this.#addItemSize = (index, size, status) => {
-          sizes[index] = size;
-          if (this.#maxSize) {
-            const maxSize = this.#maxSize - sizes[index];
-            while (this.#calculatedSize > maxSize) {
-              this.#evict(true);
-            }
-          }
-          this.#calculatedSize += sizes[index];
-          if (status) {
-            status.entrySize = size;
-            status.totalCalculatedSize = this.#calculatedSize;
-          }
-        };
-      }
-      #removeItemSize = (_i) => {
-      };
-      #addItemSize = (_i, _s, _st) => {
-      };
-      #requireSize = (_k, _v, size, sizeCalculation) => {
-        if (size || sizeCalculation) {
-          throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");
+      onMessageComplete() {
+        const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;
+        if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
+          return -1;
         }
-        return 0;
-      };
-      *#indexes({ allowStale = this.allowStale } = {}) {
-        if (this.#size) {
-          for (let i = this.#tail; true; ) {
-            if (!this.#isValidIndex(i)) {
-              break;
-            }
-            if (allowStale || !this.#isStale(i)) {
-              yield i;
-            }
-            if (i === this.#head) {
-              break;
-            } else {
-              i = this.#prev[i];
-            }
-          }
+        if (upgrade) {
+          return;
+        }
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert(statusCode >= 100);
+        this.statusCode = null;
+        this.statusText = "";
+        this.bytesRead = 0;
+        this.contentLength = "";
+        this.keepAlive = "";
+        this.connection = "";
+        assert(this.headers.length % 2 === 0);
+        this.headers = [];
+        this.headersSize = 0;
+        if (statusCode < 200) {
+          return;
+        }
+        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.strictEqual(client[kRunning], 0);
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (!shouldKeepAlive) {
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (socket[kReset] && client[kRunning] === 0) {
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (client[kPipelining] === 1) {
+          setImmediate(resume, client);
+        } else {
+          resume(client);
         }
       }
-      *#rindexes({ allowStale = this.allowStale } = {}) {
-        if (this.#size) {
-          for (let i = this.#head; true; ) {
-            if (!this.#isValidIndex(i)) {
-              break;
-            }
-            if (allowStale || !this.#isStale(i)) {
-              yield i;
-            }
-            if (i === this.#tail) {
-              break;
-            } else {
-              i = this.#next[i];
-            }
-          }
+    };
+    function onParserTimeout(parser) {
+      const { socket, timeoutType, client } = parser;
+      if (timeoutType === TIMEOUT_HEADERS) {
+        if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
+          assert(!parser.paused, "cannot be paused while waiting for headers");
+          util.destroy(socket, new HeadersTimeoutError());
         }
+      } else if (timeoutType === TIMEOUT_BODY) {
+        if (!parser.paused) {
+          util.destroy(socket, new BodyTimeoutError());
+        }
+      } else if (timeoutType === TIMEOUT_IDLE) {
+        assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
+        util.destroy(socket, new InformationalError("socket idle timeout"));
       }
-      #isValidIndex(index) {
-        return index !== void 0 && this.#keyMap.get(this.#keyList[index]) === index;
+    }
+    function onSocketReadable() {
+      const { [kParser]: parser } = this;
+      if (parser) {
+        parser.readMore();
       }
-      /**
-       * Return a generator yielding `[key, value]` pairs,
-       * in order from most recently used to least recently used.
-       */
-      *entries() {
-        for (const i of this.#indexes()) {
-          if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield [this.#keyList[i], this.#valList[i]];
-          }
+    }
+    function onSocketError(err) {
+      const { [kClient]: client, [kParser]: parser } = this;
+      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+      if (client[kHTTPConnVersion] !== "h2") {
+        if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
+          return;
         }
       }
-      /**
-       * Inverse order version of {@link LRUCache.entries}
-       *
-       * Return a generator yielding `[key, value]` pairs,
-       * in order from least recently used to most recently used.
-       */
-      *rentries() {
-        for (const i of this.#rindexes()) {
-          if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield [this.#keyList[i], this.#valList[i]];
-          }
+      this[kError] = err;
+      onError(this[kClient], err);
+    }
+    function onError(client, err) {
+      if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
+        assert(client[kPendingIdx] === client[kRunningIdx]);
+        const requests = client[kQueue].splice(client[kRunningIdx]);
+        for (let i = 0; i < requests.length; i++) {
+          const request2 = requests[i];
+          errorRequest2(client, request2, err);
         }
+        assert(client[kSize] === 0);
       }
-      /**
-       * Return a generator yielding the keys in the cache,
-       * in order from most recently used to least recently used.
-       */
-      *keys() {
-        for (const i of this.#indexes()) {
-          const k = this.#keyList[i];
-          if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield k;
-          }
+    }
+    function onSocketEnd() {
+      const { [kParser]: parser, [kClient]: client } = this;
+      if (client[kHTTPConnVersion] !== "h2") {
+        if (parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
+          return;
         }
       }
-      /**
-       * Inverse order version of {@link LRUCache.keys}
-       *
-       * Return a generator yielding the keys in the cache,
-       * in order from least recently used to most recently used.
-       */
-      *rkeys() {
-        for (const i of this.#rindexes()) {
-          const k = this.#keyList[i];
-          if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield k;
-          }
+      util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+    }
+    function onSocketClose() {
+      const { [kClient]: client, [kParser]: parser } = this;
+      if (client[kHTTPConnVersion] === "h1" && parser) {
+        if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
         }
+        this[kParser].destroy();
+        this[kParser] = null;
       }
-      /**
-       * Return a generator yielding the values in the cache,
-       * in order from most recently used to least recently used.
-       */
-      *values() {
-        for (const i of this.#indexes()) {
-          const v = this.#valList[i];
-          if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield this.#valList[i];
-          }
+      const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
+      client[kSocket] = null;
+      if (client.destroyed) {
+        assert(client[kPending] === 0);
+        const requests = client[kQueue].splice(client[kRunningIdx]);
+        for (let i = 0; i < requests.length; i++) {
+          const request2 = requests[i];
+          errorRequest2(client, request2, err);
         }
+      } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
+        const request2 = client[kQueue][client[kRunningIdx]];
+        client[kQueue][client[kRunningIdx]++] = null;
+        errorRequest2(client, request2, err);
       }
-      /**
-       * Inverse order version of {@link LRUCache.values}
-       *
-       * Return a generator yielding the values in the cache,
-       * in order from least recently used to most recently used.
-       */
-      *rvalues() {
-        for (const i of this.#rindexes()) {
-          const v = this.#valList[i];
-          if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield this.#valList[i];
-          }
-        }
+      client[kPendingIdx] = client[kRunningIdx];
+      assert(client[kRunning] === 0);
+      client.emit("disconnect", client[kUrl], [client], err);
+      resume(client);
+    }
+    async function connect(client) {
+      assert(!client[kConnecting]);
+      assert(!client[kSocket]);
+      let { host, hostname, protocol, port } = client[kUrl];
+      if (hostname[0] === "[") {
+        const idx = hostname.indexOf("]");
+        assert(idx !== -1);
+        const ip = hostname.substring(1, idx);
+        assert(net.isIP(ip));
+        hostname = ip;
       }
-      /**
-       * Iterating over the cache itself yields the same results as
-       * {@link LRUCache.entries}
-       */
-      [Symbol.iterator]() {
-        return this.entries();
+      client[kConnecting] = true;
+      if (channels.beforeConnect.hasSubscribers) {
+        channels.beforeConnect.publish({
+          connectParams: {
+            host,
+            hostname,
+            protocol,
+            port,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          },
+          connector: client[kConnector]
+        });
       }
-      /**
-       * A String value that is used in the creation of the default string
-       * description of an object. Called by the built-in method
-       * `Object.prototype.toString`.
-       */
-      [Symbol.toStringTag] = "LRUCache";
-      /**
-       * Find a value for which the supplied fn method returns a truthy value,
-       * similar to `Array.find()`. fn is called as `fn(value, key, cache)`.
-       */
-      find(fn, getOptions = {}) {
-        for (const i of this.#indexes()) {
-          const v = this.#valList[i];
-          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-          if (value === void 0)
-            continue;
-          if (fn(value, this.#keyList[i], this)) {
-            return this.get(this.#keyList[i], getOptions);
+      try {
+        const socket = await new Promise((resolve8, reject) => {
+          client[kConnector]({
+            host,
+            hostname,
+            protocol,
+            port,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          }, (err, socket2) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve8(socket2);
+            }
+          });
+        });
+        if (client.destroyed) {
+          util.destroy(socket.on("error", () => {
+          }), new ClientDestroyedError());
+          return;
+        }
+        client[kConnecting] = false;
+        assert(socket);
+        const isH2 = socket.alpnProtocol === "h2";
+        if (isH2) {
+          if (!h2ExperimentalWarned) {
+            h2ExperimentalWarned = true;
+            process.emitWarning("H2 support is experimental, expect them to change at any time.", {
+              code: "UNDICI-H2"
+            });
+          }
+          const session = http2.connect(client[kUrl], {
+            createConnection: () => socket,
+            peerMaxConcurrentStreams: client[kHTTP2SessionState].maxConcurrentStreams
+          });
+          client[kHTTPConnVersion] = "h2";
+          session[kClient] = client;
+          session[kSocket] = socket;
+          session.on("error", onHttp2SessionError);
+          session.on("frameError", onHttp2FrameError);
+          session.on("end", onHttp2SessionEnd);
+          session.on("goaway", onHTTP2GoAway);
+          session.on("close", onSocketClose);
+          session.unref();
+          client[kHTTP2Session] = session;
+          socket[kHTTP2Session] = session;
+        } else {
+          if (!llhttpInstance) {
+            llhttpInstance = await llhttpPromise;
+            llhttpPromise = null;
           }
+          socket[kNoRef] = false;
+          socket[kWriting] = false;
+          socket[kReset] = false;
+          socket[kBlocking] = false;
+          socket[kParser] = new Parser(client, socket, llhttpInstance);
         }
-      }
-      /**
-       * Call the supplied function on each item in the cache, in order from most
-       * recently used to least recently used.
-       *
-       * `fn` is called as `fn(value, key, cache)`.
-       *
-       * If `thisp` is provided, function will be called in the `this`-context of
-       * the provided object, or the cache if no `thisp` object is provided.
-       *
-       * Does not update age or recenty of use, or iterate over stale values.
-       */
-      forEach(fn, thisp = this) {
-        for (const i of this.#indexes()) {
-          const v = this.#valList[i];
-          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-          if (value === void 0)
-            continue;
-          fn.call(thisp, value, this.#keyList[i], this);
+        socket[kCounter] = 0;
+        socket[kMaxRequests] = client[kMaxRequests];
+        socket[kClient] = client;
+        socket[kError] = null;
+        socket.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose);
+        client[kSocket] = socket;
+        if (channels.connected.hasSubscribers) {
+          channels.connected.publish({
+            connectParams: {
+              host,
+              hostname,
+              protocol,
+              port,
+              servername: client[kServerName],
+              localAddress: client[kLocalAddress]
+            },
+            connector: client[kConnector],
+            socket
+          });
         }
-      }
-      /**
-       * The same as {@link LRUCache.forEach} but items are iterated over in
-       * reverse order.  (ie, less recently used items are iterated over first.)
-       */
-      rforEach(fn, thisp = this) {
-        for (const i of this.#rindexes()) {
-          const v = this.#valList[i];
-          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-          if (value === void 0)
-            continue;
-          fn.call(thisp, value, this.#keyList[i], this);
+        client.emit("connect", client[kUrl], [client]);
+      } catch (err) {
+        if (client.destroyed) {
+          return;
         }
-      }
-      /**
-       * Delete any stale entries. Returns true if anything was removed,
-       * false otherwise.
-       */
-      purgeStale() {
-        let deleted = false;
-        for (const i of this.#rindexes({ allowStale: true })) {
-          if (this.#isStale(i)) {
-            this.#delete(this.#keyList[i], "expire");
-            deleted = true;
-          }
+        client[kConnecting] = false;
+        if (channels.connectError.hasSubscribers) {
+          channels.connectError.publish({
+            connectParams: {
+              host,
+              hostname,
+              protocol,
+              port,
+              servername: client[kServerName],
+              localAddress: client[kLocalAddress]
+            },
+            connector: client[kConnector],
+            error: err
+          });
         }
-        return deleted;
-      }
-      /**
-       * Get the extended info about a given entry, to get its value, size, and
-       * TTL info simultaneously. Returns `undefined` if the key is not present.
-       *
-       * Unlike {@link LRUCache#dump}, which is designed to be portable and survive
-       * serialization, the `start` value is always the current timestamp, and the
-       * `ttl` is a calculated remaining time to live (negative if expired).
-       *
-       * Always returns stale values, if their info is found in the cache, so be
-       * sure to check for expirations (ie, a negative {@link LRUCache.Entry#ttl})
-       * if relevant.
-       */
-      info(key) {
-        const i = this.#keyMap.get(key);
-        if (i === void 0)
-          return void 0;
-        const v = this.#valList[i];
-        const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-        if (value === void 0)
-          return void 0;
-        const entry = { value };
-        if (this.#ttls && this.#starts) {
-          const ttl = this.#ttls[i];
-          const start = this.#starts[i];
-          if (ttl && start) {
-            const remain = ttl - (perf.now() - start);
-            entry.ttl = remain;
-            entry.start = Date.now();
+        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]++];
+            errorRequest2(client, request2, err);
           }
+        } else {
+          onError(client, err);
         }
-        if (this.#sizes) {
-          entry.size = this.#sizes[i];
-        }
-        return entry;
+        client.emit("connectionError", client[kUrl], [client], err);
       }
-      /**
-       * Return an array of [key, {@link LRUCache.Entry}] tuples which can be
-       * passed to {@link LRUCache#load}.
-       *
-       * The `start` fields are calculated relative to a portable `Date.now()`
-       * timestamp, even if `performance.now()` is available.
-       *
-       * Stale entries are always included in the `dump`, even if
-       * {@link LRUCache.OptionsBase.allowStale} is false.
-       *
-       * Note: this returns an actual array, not a generator, so it can be more
-       * easily passed around.
-       */
-      dump() {
-        const arr = [];
-        for (const i of this.#indexes({ allowStale: true })) {
-          const key = this.#keyList[i];
-          const v = this.#valList[i];
-          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-          if (value === void 0 || key === void 0)
-            continue;
-          const entry = { value };
-          if (this.#ttls && this.#starts) {
-            entry.ttl = this.#ttls[i];
-            const age = perf.now() - this.#starts[i];
-            entry.start = Math.floor(Date.now() - age);
-          }
-          if (this.#sizes) {
-            entry.size = this.#sizes[i];
-          }
-          arr.unshift([key, entry]);
-        }
-        return arr;
+      resume(client);
+    }
+    function emitDrain(client) {
+      client[kNeedDrain] = 0;
+      client.emit("drain", client[kUrl], [client]);
+    }
+    function resume(client, sync) {
+      if (client[kResuming] === 2) {
+        return;
       }
-      /**
-       * Reset the cache and load in the items in entries in the order listed.
-       *
-       * The shape of the resulting cache may be different if the same options are
-       * not used in both caches.
-       *
-       * The `start` fields are assumed to be calculated relative to a portable
-       * `Date.now()` timestamp, even if `performance.now()` is available.
-       */
-      load(arr) {
-        this.clear();
-        for (const [key, entry] of arr) {
-          if (entry.start) {
-            const age = Date.now() - entry.start;
-            entry.start = perf.now() - age;
-          }
-          this.set(key, entry.value, entry);
-        }
+      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;
       }
-      /**
-       * Add a value to the cache.
-       *
-       * Note: if `undefined` is specified as a value, this is an alias for
-       * {@link LRUCache#delete}
-       *
-       * Fields on the {@link LRUCache.SetOptions} options param will override
-       * their corresponding values in the constructor options for the scope
-       * of this single `set()` operation.
-       *
-       * If `start` is provided, then that will set the effective start
-       * time for the TTL calculation. Note that this must be a previous
-       * value of `performance.now()` if supported, or a previous value of
-       * `Date.now()` if not.
-       *
-       * Options object may also include `size`, which will prevent
-       * calling the `sizeCalculation` function and just use the specified
-       * number if it is a positive integer, and `noDisposeOnSet` which
-       * will prevent calling a `dispose` function in the case of
-       * overwrites.
-       *
-       * If the `size` (or return value of `sizeCalculation`) for a given
-       * entry is greater than `maxEntrySize`, then the item will not be
-       * added to the cache.
-       *
-       * Will update the recency of the entry.
-       *
-       * If the value is `undefined`, then this is an alias for
-       * `cache.delete(key)`. `undefined` is never stored in the cache.
-       */
-      set(k, v, setOptions = {}) {
-        if (v === void 0) {
-          this.delete(k);
-          return this;
+    }
+    function _resume(client, sync) {
+      while (true) {
+        if (client.destroyed) {
+          assert(client[kPending] === 0);
+          return;
         }
-        const { ttl = this.ttl, start, noDisposeOnSet = this.noDisposeOnSet, sizeCalculation = this.sizeCalculation, status } = setOptions;
-        let { noUpdateTTL = this.noUpdateTTL } = setOptions;
-        const size = this.#requireSize(k, v, setOptions.size || 0, sizeCalculation);
-        if (this.maxEntrySize && size > this.maxEntrySize) {
-          if (status) {
-            status.set = "miss";
-            status.maxEntrySizeExceeded = true;
-          }
-          this.#delete(k, "set");
-          return this;
+        if (client[kClosedResolve] && !client[kSize]) {
+          client[kClosedResolve]();
+          client[kClosedResolve] = null;
+          return;
         }
-        let index = this.#size === 0 ? void 0 : this.#keyMap.get(k);
-        if (index === void 0) {
-          index = this.#size === 0 ? this.#tail : this.#free.length !== 0 ? this.#free.pop() : this.#size === this.#max ? this.#evict(false) : this.#size;
-          this.#keyList[index] = k;
-          this.#valList[index] = v;
-          this.#keyMap.set(k, index);
-          this.#next[this.#tail] = index;
-          this.#prev[index] = this.#tail;
-          this.#tail = index;
-          this.#size++;
-          this.#addItemSize(index, size, status);
-          if (status)
-            status.set = "add";
-          noUpdateTTL = false;
-          if (this.#hasOnInsert) {
-            this.#onInsert?.(v, k, "add");
+        const socket = client[kSocket];
+        if (socket && !socket.destroyed && socket.alpnProtocol !== "h2") {
+          if (client[kSize] === 0) {
+            if (!socket[kNoRef] && socket.unref) {
+              socket.unref();
+              socket[kNoRef] = true;
+            }
+          } else if (socket[kNoRef] && socket.ref) {
+            socket.ref();
+            socket[kNoRef] = false;
           }
-        } else {
-          this.#moveToTail(index);
-          const oldVal = this.#valList[index];
-          if (v !== oldVal) {
-            if (this.#hasFetchMethod && this.#isBackgroundFetch(oldVal)) {
-              oldVal.__abortController.abort(new Error("replaced"));
-              const { __staleWhileFetching: s } = oldVal;
-              if (s !== void 0 && !noDisposeOnSet) {
-                if (this.#hasDispose) {
-                  this.#dispose?.(s, k, "set");
-                }
-                if (this.#hasDisposeAfter) {
-                  this.#disposed?.push([s, k, "set"]);
-                }
-              }
-            } else if (!noDisposeOnSet) {
-              if (this.#hasDispose) {
-                this.#dispose?.(oldVal, k, "set");
-              }
-              if (this.#hasDisposeAfter) {
-                this.#disposed?.push([oldVal, k, "set"]);
-              }
+          if (client[kSize] === 0) {
+            if (socket[kParser].timeoutType !== TIMEOUT_IDLE) {
+              socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE);
             }
-            this.#removeItemSize(index);
-            this.#addItemSize(index, size, status);
-            this.#valList[index] = v;
-            if (status) {
-              status.set = "replace";
-              const oldValue = oldVal && this.#isBackgroundFetch(oldVal) ? oldVal.__staleWhileFetching : oldVal;
-              if (oldValue !== void 0)
-                status.oldValue = oldValue;
+          } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
+            if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
+              const request3 = client[kQueue][client[kRunningIdx]];
+              const headersTimeout = request3.headersTimeout != null ? request3.headersTimeout : client[kHeadersTimeout];
+              socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
             }
-          } else if (status) {
-            status.set = "update";
-          }
-          if (this.#hasOnInsert) {
-            this.onInsert?.(v, k, v === oldVal ? "update" : "replace");
           }
         }
-        if (ttl !== 0 && !this.#ttls) {
-          this.#initializeTTLTracking();
-        }
-        if (this.#ttls) {
-          if (!noUpdateTTL) {
-            this.#setItemTTL(index, ttl, start);
+        if (client[kBusy]) {
+          client[kNeedDrain] = 2;
+        } else if (client[kNeedDrain] === 2) {
+          if (sync) {
+            client[kNeedDrain] = 1;
+            process.nextTick(emitDrain, client);
+          } else {
+            emitDrain(client);
           }
-          if (status)
-            this.#statusTTL(status, index);
+          continue;
         }
-        if (!noDisposeOnSet && this.#hasDisposeAfter && this.#disposed) {
-          const dt = this.#disposed;
-          let task;
-          while (task = dt?.shift()) {
-            this.#disposeAfter?.(...task);
-          }
+        if (client[kPending] === 0) {
+          return;
         }
-        return this;
-      }
-      /**
-       * Evict the least recently used item, returning its value or
-       * `undefined` if cache is empty.
-       */
-      pop() {
-        try {
-          while (this.#size) {
-            const val = this.#valList[this.#head];
-            this.#evict(true);
-            if (this.#isBackgroundFetch(val)) {
-              if (val.__staleWhileFetching) {
-                return val.__staleWhileFetching;
-              }
-            } else if (val !== void 0) {
-              return val;
-            }
-          }
-        } finally {
-          if (this.#hasDisposeAfter && this.#disposed) {
-            const dt = this.#disposed;
-            let task;
-            while (task = dt?.shift()) {
-              this.#disposeAfter?.(...task);
-            }
-          }
+        if (client[kRunning] >= (client[kPipelining] || 1)) {
+          return;
         }
-      }
-      #evict(free) {
-        const head = this.#head;
-        const k = this.#keyList[head];
-        const v = this.#valList[head];
-        if (this.#hasFetchMethod && this.#isBackgroundFetch(v)) {
-          v.__abortController.abort(new Error("evicted"));
-        } else if (this.#hasDispose || this.#hasDisposeAfter) {
-          if (this.#hasDispose) {
-            this.#dispose?.(v, k, "evict");
+        const request2 = client[kQueue][client[kPendingIdx]];
+        if (client[kUrl].protocol === "https:" && client[kServerName] !== request2.servername) {
+          if (client[kRunning] > 0) {
+            return;
           }
-          if (this.#hasDisposeAfter) {
-            this.#disposed?.push([v, k, "evict"]);
+          client[kServerName] = request2.servername;
+          if (socket && socket.servername !== request2.servername) {
+            util.destroy(socket, new InformationalError("servername changed"));
+            return;
           }
         }
-        this.#removeItemSize(head);
-        if (free) {
-          this.#keyList[head] = void 0;
-          this.#valList[head] = void 0;
-          this.#free.push(head);
+        if (client[kConnecting]) {
+          return;
         }
-        if (this.#size === 1) {
-          this.#head = this.#tail = 0;
-          this.#free.length = 0;
-        } else {
-          this.#head = this.#next[head];
+        if (!socket && !client[kHTTP2Session]) {
+          connect(client);
+          return;
         }
-        this.#keyMap.delete(k);
-        this.#size--;
-        return head;
-      }
-      /**
-       * Check if a key is in the cache, without updating the recency of use.
-       * Will return false if the item is stale, even though it is technically
-       * in the cache.
-       *
-       * Check if a key is in the cache, without updating the recency of
-       * use. Age is updated if {@link LRUCache.OptionsBase.updateAgeOnHas} is set
-       * to `true` in either the options or the constructor.
-       *
-       * Will return `false` if the item is stale, even though it is technically in
-       * the cache. The difference can be determined (if it matters) by using a
-       * `status` argument, and inspecting the `has` field.
-       *
-       * Will not update item age unless
-       * {@link LRUCache.OptionsBase.updateAgeOnHas} is set.
-       */
-      has(k, hasOptions = {}) {
-        const { updateAgeOnHas = this.updateAgeOnHas, status } = hasOptions;
-        const index = this.#keyMap.get(k);
-        if (index !== void 0) {
-          const v = this.#valList[index];
-          if (this.#isBackgroundFetch(v) && v.__staleWhileFetching === void 0) {
-            return false;
-          }
-          if (!this.#isStale(index)) {
-            if (updateAgeOnHas) {
-              this.#updateItemAge(index);
-            }
-            if (status) {
-              status.has = "hit";
-              this.#statusTTL(status, index);
-            }
-            return true;
-          } else if (status) {
-            status.has = "stale";
-            this.#statusTTL(status, index);
-          }
-        } else if (status) {
-          status.has = "miss";
+        if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) {
+          return;
         }
-        return false;
-      }
-      /**
-       * Like {@link LRUCache#get} but doesn't update recency or delete stale
-       * items.
-       *
-       * Returns `undefined` if the item is stale, unless
-       * {@link LRUCache.OptionsBase.allowStale} is set.
-       */
-      peek(k, peekOptions = {}) {
-        const { allowStale = this.allowStale } = peekOptions;
-        const index = this.#keyMap.get(k);
-        if (index === void 0 || !allowStale && this.#isStale(index)) {
+        if (client[kRunning] > 0 && !request2.idempotent) {
           return;
         }
-        const v = this.#valList[index];
-        return this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-      }
-      #backgroundFetch(k, index, options, context3) {
-        const v = index === void 0 ? void 0 : this.#valList[index];
-        if (this.#isBackgroundFetch(v)) {
-          return v;
+        if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
+          return;
         }
-        const ac = new AC();
-        const { signal } = options;
-        signal?.addEventListener("abort", () => ac.abort(signal.reason), {
-          signal: ac.signal
-        });
-        const fetchOpts = {
-          signal: ac.signal,
-          options,
-          context: context3
-        };
-        const cb = (v2, updateCache = false) => {
-          const { aborted } = ac.signal;
-          const ignoreAbort = options.ignoreFetchAbort && v2 !== void 0;
-          if (options.status) {
-            if (aborted && !updateCache) {
-              options.status.fetchAborted = true;
-              options.status.fetchError = ac.signal.reason;
-              if (ignoreAbort)
-                options.status.fetchAbortIgnored = true;
-            } else {
-              options.status.fetchResolved = true;
-            }
-          }
-          if (aborted && !ignoreAbort && !updateCache) {
-            return fetchFail(ac.signal.reason);
-          }
-          const bf2 = p;
-          if (this.#valList[index] === p) {
-            if (v2 === void 0) {
-              if (bf2.__staleWhileFetching) {
-                this.#valList[index] = bf2.__staleWhileFetching;
-              } else {
-                this.#delete(k, "fetch");
-              }
-            } else {
-              if (options.status)
-                options.status.fetchUpdated = true;
-              this.set(k, v2, fetchOpts.options);
-            }
-          }
-          return v2;
-        };
-        const eb = (er) => {
-          if (options.status) {
-            options.status.fetchRejected = true;
-            options.status.fetchError = er;
-          }
-          return fetchFail(er);
-        };
-        const fetchFail = (er) => {
-          const { aborted } = ac.signal;
-          const allowStaleAborted = aborted && options.allowStaleOnFetchAbort;
-          const allowStale = allowStaleAborted || options.allowStaleOnFetchRejection;
-          const noDelete = allowStale || options.noDeleteOnFetchRejection;
-          const bf2 = p;
-          if (this.#valList[index] === p) {
-            const del = !noDelete || bf2.__staleWhileFetching === void 0;
-            if (del) {
-              this.#delete(k, "fetch");
-            } else if (!allowStaleAborted) {
-              this.#valList[index] = bf2.__staleWhileFetching;
-            }
-          }
-          if (allowStale) {
-            if (options.status && bf2.__staleWhileFetching !== void 0) {
-              options.status.returnedStale = true;
-            }
-            return bf2.__staleWhileFetching;
-          } else if (bf2.__returned === bf2) {
-            throw er;
-          }
-        };
-        const pcall = (res, rej) => {
-          const fmp = this.#fetchMethod?.(k, v, fetchOpts);
-          if (fmp && fmp instanceof Promise) {
-            fmp.then((v2) => res(v2 === void 0 ? void 0 : v2), rej);
-          }
-          ac.signal.addEventListener("abort", () => {
-            if (!options.ignoreFetchAbort || options.allowStaleOnFetchAbort) {
-              res(void 0);
-              if (options.allowStaleOnFetchAbort) {
-                res = (v2) => cb(v2, true);
-              }
-            }
-          });
-        };
-        if (options.status)
-          options.status.fetchDispatched = true;
-        const p = new Promise(pcall).then(cb, eb);
-        const bf = Object.assign(p, {
-          __abortController: ac,
-          __staleWhileFetching: v,
-          __returned: void 0
-        });
-        if (index === void 0) {
-          this.set(k, bf, { ...fetchOpts.options, status: void 0 });
-          index = this.#keyMap.get(k);
+        if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body))) {
+          return;
+        }
+        if (!request2.aborted && write(client, request2)) {
+          client[kPendingIdx]++;
         } else {
-          this.#valList[index] = bf;
+          client[kQueue].splice(client[kPendingIdx], 1);
         }
-        return bf;
       }
-      #isBackgroundFetch(p) {
-        if (!this.#hasFetchMethod)
-          return false;
-        const b = p;
-        return !!b && b instanceof Promise && b.hasOwnProperty("__staleWhileFetching") && b.__abortController instanceof AC;
+    }
+    function shouldSendContentLength(method) {
+      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
+    }
+    function write(client, request2) {
+      if (client[kHTTPConnVersion] === "h2") {
+        writeH2(client, client[kHTTP2Session], request2);
+        return;
       }
-      async fetch(k, fetchOptions = {}) {
-        const {
-          // get options
-          allowStale = this.allowStale,
-          updateAgeOnGet = this.updateAgeOnGet,
-          noDeleteOnStaleGet = this.noDeleteOnStaleGet,
-          // set options
-          ttl = this.ttl,
-          noDisposeOnSet = this.noDisposeOnSet,
-          size = 0,
-          sizeCalculation = this.sizeCalculation,
-          noUpdateTTL = this.noUpdateTTL,
-          // fetch exclusive options
-          noDeleteOnFetchRejection = this.noDeleteOnFetchRejection,
-          allowStaleOnFetchRejection = this.allowStaleOnFetchRejection,
-          ignoreFetchAbort = this.ignoreFetchAbort,
-          allowStaleOnFetchAbort = this.allowStaleOnFetchAbort,
-          context: context3,
-          forceRefresh = false,
-          status,
-          signal
-        } = fetchOptions;
-        if (!this.#hasFetchMethod) {
-          if (status)
-            status.fetch = "get";
-          return this.get(k, {
-            allowStale,
-            updateAgeOnGet,
-            noDeleteOnStaleGet,
-            status
-          });
+      const { body, method, path: path16, host, upgrade, headers, blocking, reset } = request2;
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
+      if (body && typeof body.read === "function") {
+        body.read(0);
+      }
+      const bodyLength = util.bodyLength(body);
+      let contentLength = bodyLength;
+      if (contentLength === null) {
+        contentLength = request2.contentLength;
+      }
+      if (contentLength === 0 && !expectsPayload) {
+        contentLength = null;
+      }
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          errorRequest2(client, request2, new RequestContentLengthMismatchError());
+          return false;
         }
-        const options = {
-          allowStale,
-          updateAgeOnGet,
-          noDeleteOnStaleGet,
-          ttl,
-          noDisposeOnSet,
-          size,
-          sizeCalculation,
-          noUpdateTTL,
-          noDeleteOnFetchRejection,
-          allowStaleOnFetchRejection,
-          allowStaleOnFetchAbort,
-          ignoreFetchAbort,
-          status,
-          signal
-        };
-        let index = this.#keyMap.get(k);
-        if (index === void 0) {
-          if (status)
-            status.fetch = "miss";
-          const p = this.#backgroundFetch(k, index, options, context3);
-          return p.__returned = p;
-        } else {
-          const v = this.#valList[index];
-          if (this.#isBackgroundFetch(v)) {
-            const stale = allowStale && v.__staleWhileFetching !== void 0;
-            if (status) {
-              status.fetch = "inflight";
-              if (stale)
-                status.returnedStale = true;
-            }
-            return stale ? v.__staleWhileFetching : v.__returned = v;
-          }
-          const isStale = this.#isStale(index);
-          if (!forceRefresh && !isStale) {
-            if (status)
-              status.fetch = "hit";
-            this.#moveToTail(index);
-            if (updateAgeOnGet) {
-              this.#updateItemAge(index);
-            }
-            if (status)
-              this.#statusTTL(status, index);
-            return v;
-          }
-          const p = this.#backgroundFetch(k, index, options, context3);
-          const hasStale = p.__staleWhileFetching !== void 0;
-          const staleVal = hasStale && allowStale;
-          if (status) {
-            status.fetch = isStale ? "stale" : "refresh";
-            if (staleVal && isStale)
-              status.returnedStale = true;
+        process.emitWarning(new RequestContentLengthMismatchError());
+      }
+      const socket = client[kSocket];
+      try {
+        request2.onConnect((err) => {
+          if (request2.aborted || request2.completed) {
+            return;
           }
-          return staleVal ? p.__staleWhileFetching : p.__returned = p;
+          errorRequest2(client, request2, err || new RequestAbortedError());
+          util.destroy(socket, new InformationalError("aborted"));
+        });
+      } catch (err) {
+        errorRequest2(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} ${path16} 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 (headers) {
+        header += headers;
+      }
+      if (channels.sendHeaders.hasSubscribers) {
+        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      }
+      if (!body || bodyLength === 0) {
+        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");
+        }
+        request2.onRequestSent();
+      } else if (util.isBuffer(body)) {
+        assert(contentLength === body.byteLength, "buffer body must have content length");
+        socket.cork();
+        socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+        socket.write(body);
+        socket.uncork();
+        request2.onBodySent(body);
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+      } else if (util.isBlobLike(body)) {
+        if (typeof body.stream === "function") {
+          writeIterable({ body: body.stream(), client, request: request2, socket, contentLength, header, expectsPayload });
+        } else {
+          writeBlob({ body, client, request: request2, socket, contentLength, header, expectsPayload });
         }
+      } else if (util.isStream(body)) {
+        writeStream({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+      } else if (util.isIterable(body)) {
+        writeIterable({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+      } else {
+        assert(false);
       }
-      async forceFetch(k, fetchOptions = {}) {
-        const v = await this.fetch(k, fetchOptions);
-        if (v === void 0)
-          throw new Error("fetch() returned undefined");
-        return v;
+      return true;
+    }
+    function writeH2(client, session, request2) {
+      const { body, method, path: path16, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
+      let headers;
+      if (typeof reqHeaders === "string") headers = Request[kHTTP2CopyHeaders](reqHeaders.trim());
+      else headers = reqHeaders;
+      if (upgrade) {
+        errorRequest2(client, request2, new Error("Upgrade not supported for H2"));
+        return false;
       }
-      memo(k, memoOptions = {}) {
-        const memoMethod = this.#memoMethod;
-        if (!memoMethod) {
-          throw new Error("no memoMethod provided to constructor");
+      try {
+        request2.onConnect((err) => {
+          if (request2.aborted || request2.completed) {
+            return;
+          }
+          errorRequest2(client, request2, err || new RequestAbortedError());
+        });
+      } catch (err) {
+        errorRequest2(client, request2, err);
+      }
+      if (request2.aborted) {
+        return false;
+      }
+      let stream2;
+      const h2State = client[kHTTP2SessionState];
+      headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost];
+      headers[HTTP2_HEADER_METHOD] = method;
+      if (method === "CONNECT") {
+        session.ref();
+        stream2 = session.request(headers, { endStream: false, signal });
+        if (stream2.id && !stream2.pending) {
+          request2.onUpgrade(null, null, stream2);
+          ++h2State.openStreams;
+        } else {
+          stream2.once("ready", () => {
+            request2.onUpgrade(null, null, stream2);
+            ++h2State.openStreams;
+          });
         }
-        const { context: context3, forceRefresh, ...options } = memoOptions;
-        const v = this.get(k, options);
-        if (!forceRefresh && v !== void 0)
-          return v;
-        const vv = memoMethod(k, v, {
-          options,
-          context: context3
+        stream2.once("close", () => {
+          h2State.openStreams -= 1;
+          if (h2State.openStreams === 0) session.unref();
         });
-        this.set(k, vv, options);
-        return vv;
+        return true;
       }
-      /**
-       * Return a value from the cache. Will update the recency of the cache
-       * entry found.
-       *
-       * If the key is not found, get() will return `undefined`.
-       */
-      get(k, getOptions = {}) {
-        const { allowStale = this.allowStale, updateAgeOnGet = this.updateAgeOnGet, noDeleteOnStaleGet = this.noDeleteOnStaleGet, status } = getOptions;
-        const index = this.#keyMap.get(k);
-        if (index !== void 0) {
-          const value = this.#valList[index];
-          const fetching = this.#isBackgroundFetch(value);
-          if (status)
-            this.#statusTTL(status, index);
-          if (this.#isStale(index)) {
-            if (status)
-              status.get = "stale";
-            if (!fetching) {
-              if (!noDeleteOnStaleGet) {
-                this.#delete(k, "expire");
-              }
-              if (status && allowStale)
-                status.returnedStale = true;
-              return allowStale ? value : void 0;
-            } else {
-              if (status && allowStale && value.__staleWhileFetching !== void 0) {
-                status.returnedStale = true;
-              }
-              return allowStale ? value.__staleWhileFetching : void 0;
-            }
-          } else {
-            if (status)
-              status.get = "hit";
-            if (fetching) {
-              return value.__staleWhileFetching;
-            }
-            this.#moveToTail(index);
-            if (updateAgeOnGet) {
-              this.#updateItemAge(index);
-            }
-            return value;
-          }
-        } else if (status) {
-          status.get = "miss";
+      headers[HTTP2_HEADER_PATH] = path16;
+      headers[HTTP2_HEADER_SCHEME] = "https";
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
+      if (body && typeof body.read === "function") {
+        body.read(0);
+      }
+      let contentLength = util.bodyLength(body);
+      if (contentLength == null) {
+        contentLength = request2.contentLength;
+      }
+      if (contentLength === 0 || !expectsPayload) {
+        contentLength = null;
+      }
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          errorRequest2(client, request2, new RequestContentLengthMismatchError());
+          return false;
         }
+        process.emitWarning(new RequestContentLengthMismatchError());
       }
-      #connect(p, n) {
-        this.#prev[n] = p;
-        this.#next[p] = n;
+      if (contentLength != null) {
+        assert(body, "no body must not have content length");
+        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
       }
-      #moveToTail(index) {
-        if (index !== this.#tail) {
-          if (index === this.#head) {
-            this.#head = this.#next[index];
+      session.ref();
+      const shouldEndStream = method === "GET" || method === "HEAD";
+      if (expectContinue) {
+        headers[HTTP2_HEADER_EXPECT] = "100-continue";
+        stream2 = session.request(headers, { endStream: shouldEndStream, signal });
+        stream2.once("continue", writeBodyH2);
+      } else {
+        stream2 = session.request(headers, {
+          endStream: shouldEndStream,
+          signal
+        });
+        writeBodyH2();
+      }
+      ++h2State.openStreams;
+      stream2.once("response", (headers2) => {
+        const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
+        if (request2.onHeaders(Number(statusCode), realHeaders, stream2.resume.bind(stream2), "") === false) {
+          stream2.pause();
+        }
+      });
+      stream2.once("end", () => {
+        request2.onComplete([]);
+      });
+      stream2.on("data", (chunk) => {
+        if (request2.onData(chunk) === false) {
+          stream2.pause();
+        }
+      });
+      stream2.once("close", () => {
+        h2State.openStreams -= 1;
+        if (h2State.openStreams === 0) {
+          session.unref();
+        }
+      });
+      stream2.once("error", function(err) {
+        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
+          h2State.streams -= 1;
+          util.destroy(stream2, err);
+        }
+      });
+      stream2.once("frameError", (type2, code) => {
+        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
+        errorRequest2(client, request2, err);
+        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
+          h2State.streams -= 1;
+          util.destroy(stream2, err);
+        }
+      });
+      return true;
+      function writeBodyH2() {
+        if (!body) {
+          request2.onRequestSent();
+        } else if (util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          stream2.cork();
+          stream2.write(body);
+          stream2.uncork();
+          stream2.end();
+          request2.onBodySent(body);
+          request2.onRequestSent();
+        } else if (util.isBlobLike(body)) {
+          if (typeof body.stream === "function") {
+            writeIterable({
+              client,
+              request: request2,
+              contentLength,
+              h2stream: stream2,
+              expectsPayload,
+              body: body.stream(),
+              socket: client[kSocket],
+              header: ""
+            });
           } else {
-            this.#connect(this.#prev[index], this.#next[index]);
+            writeBlob({
+              body,
+              client,
+              request: request2,
+              contentLength,
+              expectsPayload,
+              h2stream: stream2,
+              header: "",
+              socket: client[kSocket]
+            });
           }
-          this.#connect(this.#tail, index);
-          this.#tail = index;
+        } else if (util.isStream(body)) {
+          writeStream({
+            body,
+            client,
+            request: request2,
+            contentLength,
+            expectsPayload,
+            socket: client[kSocket],
+            h2stream: stream2,
+            header: ""
+          });
+        } else if (util.isIterable(body)) {
+          writeIterable({
+            body,
+            client,
+            request: request2,
+            contentLength,
+            expectsPayload,
+            header: "",
+            h2stream: stream2,
+            socket: client[kSocket]
+          });
+        } else {
+          assert(false);
         }
       }
-      /**
-       * Deletes a key out of the cache.
-       *
-       * Returns true if the key was deleted, false otherwise.
-       */
-      delete(k) {
-        return this.#delete(k, "delete");
-      }
-      #delete(k, reason) {
-        let deleted = false;
-        if (this.#size !== 0) {
-          const index = this.#keyMap.get(k);
-          if (index !== void 0) {
-            deleted = true;
-            if (this.#size === 1) {
-              this.#clear(reason);
+    }
+    function writeStream({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      if (client[kHTTPConnVersion] === "h2") {
+        let onPipeData = function(chunk) {
+          request2.onBodySent(chunk);
+        };
+        const pipe = pipeline(
+          body,
+          h2stream,
+          (err) => {
+            if (err) {
+              util.destroy(body, err);
+              util.destroy(h2stream, err);
             } else {
-              this.#removeItemSize(index);
-              const v = this.#valList[index];
-              if (this.#isBackgroundFetch(v)) {
-                v.__abortController.abort(new Error("deleted"));
-              } else if (this.#hasDispose || this.#hasDisposeAfter) {
-                if (this.#hasDispose) {
-                  this.#dispose?.(v, k, reason);
-                }
-                if (this.#hasDisposeAfter) {
-                  this.#disposed?.push([v, k, reason]);
-                }
-              }
-              this.#keyMap.delete(k);
-              this.#keyList[index] = void 0;
-              this.#valList[index] = void 0;
-              if (index === this.#tail) {
-                this.#tail = this.#prev[index];
-              } else if (index === this.#head) {
-                this.#head = this.#next[index];
-              } else {
-                const pi = this.#prev[index];
-                this.#next[pi] = this.#next[index];
-                const ni = this.#next[index];
-                this.#prev[ni] = this.#prev[index];
-              }
-              this.#size--;
-              this.#free.push(index);
+              request2.onRequestSent();
             }
           }
+        );
+        pipe.on("data", onPipeData);
+        pipe.once("end", () => {
+          pipe.removeListener("data", onPipeData);
+          util.destroy(pipe);
+        });
+        return;
+      }
+      let finished = false;
+      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
+      const onData = function(chunk) {
+        if (finished) {
+          return;
         }
-        if (this.#hasDisposeAfter && this.#disposed?.length) {
-          const dt = this.#disposed;
-          let task;
-          while (task = dt?.shift()) {
-            this.#disposeAfter?.(...task);
+        try {
+          if (!writer.write(chunk) && this.pause) {
+            this.pause();
           }
+        } catch (err) {
+          util.destroy(this, err);
         }
-        return deleted;
-      }
-      /**
-       * Clear the cache entirely, throwing away all values.
-       */
-      clear() {
-        return this.#clear("delete");
-      }
-      #clear(reason) {
-        for (const index of this.#rindexes({ allowStale: true })) {
-          const v = this.#valList[index];
-          if (this.#isBackgroundFetch(v)) {
-            v.__abortController.abort(new Error("deleted"));
-          } else {
-            const k = this.#keyList[index];
-            if (this.#hasDispose) {
-              this.#dispose?.(v, k, reason);
-            }
-            if (this.#hasDisposeAfter) {
-              this.#disposed?.push([v, k, reason]);
-            }
-          }
+      };
+      const onDrain = function() {
+        if (finished) {
+          return;
         }
-        this.#keyMap.clear();
-        this.#valList.fill(void 0);
-        this.#keyList.fill(void 0);
-        if (this.#ttls && this.#starts) {
-          this.#ttls.fill(0);
-          this.#starts.fill(0);
+        if (body.resume) {
+          body.resume();
         }
-        if (this.#sizes) {
-          this.#sizes.fill(0);
+      };
+      const onAbort = function() {
+        if (finished) {
+          return;
         }
-        this.#head = 0;
-        this.#tail = 0;
-        this.#free.length = 0;
-        this.#calculatedSize = 0;
-        this.#size = 0;
-        if (this.#hasDisposeAfter && this.#disposed) {
-          const dt = this.#disposed;
-          let task;
-          while (task = dt?.shift()) {
-            this.#disposeAfter?.(...task);
+        const err = new RequestAbortedError();
+        queueMicrotask(() => onFinished(err));
+      };
+      const onFinished = function(err) {
+        if (finished) {
+          return;
+        }
+        finished = true;
+        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
+        socket.off("drain", onDrain).off("error", onFinished);
+        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("error", onFinished).removeListener("close", onAbort);
+        if (!err) {
+          try {
+            writer.end();
+          } catch (er) {
+            err = er;
           }
         }
+        writer.destroy(err);
+        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
+          util.destroy(body, err);
+        } else {
+          util.destroy(body);
+        }
+      };
+      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onAbort);
+      if (body.resume) {
+        body.resume();
       }
-    };
-    exports2.LRUCache = LRUCache;
-  }
-});
-
-// node_modules/minipass/dist/commonjs/index.js
-var require_commonjs22 = __commonJS({
-  "node_modules/minipass/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Minipass = exports2.isWritable = exports2.isReadable = exports2.isStream = void 0;
-    var proc = typeof process === "object" && process ? process : {
-      stdout: null,
-      stderr: null
-    };
-    var node_events_1 = require("node:events");
-    var node_stream_1 = __importDefault2(require("node:stream"));
-    var node_string_decoder_1 = require("node:string_decoder");
-    var isStream = (s) => !!s && typeof s === "object" && (s instanceof Minipass || s instanceof node_stream_1.default || (0, exports2.isReadable)(s) || (0, exports2.isWritable)(s));
-    exports2.isStream = isStream;
-    var isReadable = (s) => !!s && typeof s === "object" && s instanceof node_events_1.EventEmitter && typeof s.pipe === "function" && // node core Writable streams have a pipe() method, but it throws
-    s.pipe !== node_stream_1.default.Writable.prototype.pipe;
-    exports2.isReadable = isReadable;
-    var isWritable = (s) => !!s && typeof s === "object" && s instanceof node_events_1.EventEmitter && typeof s.write === "function" && typeof s.end === "function";
-    exports2.isWritable = isWritable;
-    var EOF2 = /* @__PURE__ */ Symbol("EOF");
-    var MAYBE_EMIT_END = /* @__PURE__ */ Symbol("maybeEmitEnd");
-    var EMITTED_END = /* @__PURE__ */ Symbol("emittedEnd");
-    var EMITTING_END = /* @__PURE__ */ Symbol("emittingEnd");
-    var EMITTED_ERROR = /* @__PURE__ */ Symbol("emittedError");
-    var CLOSED = /* @__PURE__ */ Symbol("closed");
-    var READ = /* @__PURE__ */ Symbol("read");
-    var FLUSH = /* @__PURE__ */ Symbol("flush");
-    var FLUSHCHUNK = /* @__PURE__ */ Symbol("flushChunk");
-    var ENCODING = /* @__PURE__ */ Symbol("encoding");
-    var DECODER = /* @__PURE__ */ Symbol("decoder");
-    var FLOWING = /* @__PURE__ */ Symbol("flowing");
-    var PAUSED = /* @__PURE__ */ Symbol("paused");
-    var RESUME = /* @__PURE__ */ Symbol("resume");
-    var BUFFER = /* @__PURE__ */ Symbol("buffer");
-    var PIPES = /* @__PURE__ */ Symbol("pipes");
-    var BUFFERLENGTH = /* @__PURE__ */ Symbol("bufferLength");
-    var BUFFERPUSH = /* @__PURE__ */ Symbol("bufferPush");
-    var BUFFERSHIFT = /* @__PURE__ */ Symbol("bufferShift");
-    var OBJECTMODE = /* @__PURE__ */ Symbol("objectMode");
-    var DESTROYED = /* @__PURE__ */ Symbol("destroyed");
-    var ERROR = /* @__PURE__ */ Symbol("error");
-    var EMITDATA = /* @__PURE__ */ Symbol("emitData");
-    var EMITEND = /* @__PURE__ */ Symbol("emitEnd");
-    var EMITEND2 = /* @__PURE__ */ Symbol("emitEnd2");
-    var ASYNC = /* @__PURE__ */ Symbol("async");
-    var ABORT = /* @__PURE__ */ Symbol("abort");
-    var ABORTED = /* @__PURE__ */ Symbol("aborted");
-    var SIGNAL = /* @__PURE__ */ Symbol("signal");
-    var DATALISTENERS = /* @__PURE__ */ Symbol("dataListeners");
-    var DISCARDED = /* @__PURE__ */ Symbol("discarded");
-    var defer = (fn) => Promise.resolve().then(fn);
-    var nodefer = (fn) => fn();
-    var isEndish = (ev) => ev === "end" || ev === "finish" || ev === "prefinish";
-    var isArrayBufferLike = (b) => b instanceof ArrayBuffer || !!b && typeof b === "object" && b.constructor && b.constructor.name === "ArrayBuffer" && b.byteLength >= 0;
-    var isArrayBufferView = (b) => !Buffer.isBuffer(b) && ArrayBuffer.isView(b);
-    var Pipe = class {
-      src;
-      dest;
-      opts;
-      ondrain;
-      constructor(src, dest, opts) {
-        this.src = src;
-        this.dest = dest;
-        this.opts = opts;
-        this.ondrain = () => src[RESUME]();
-        this.dest.on("drain", this.ondrain);
-      }
-      unpipe() {
-        this.dest.removeListener("drain", this.ondrain);
-      }
-      // only here for the prototype
-      /* c8 ignore start */
-      proxyErrors(_er) {
-      }
-      /* c8 ignore stop */
-      end() {
-        this.unpipe();
-        if (this.opts.end)
-          this.dest.end();
-      }
-    };
-    var PipeProxyErrors = class extends Pipe {
-      unpipe() {
-        this.src.removeListener("error", this.proxyErrors);
-        super.unpipe();
-      }
-      constructor(src, dest, opts) {
-        super(src, dest, opts);
-        this.proxyErrors = (er) => dest.emit("error", er);
-        src.on("error", this.proxyErrors);
-      }
-    };
-    var isObjectModeOptions = (o) => !!o.objectMode;
-    var isEncodingOptions = (o) => !o.objectMode && !!o.encoding && o.encoding !== "buffer";
-    var Minipass = class extends node_events_1.EventEmitter {
-      [FLOWING] = false;
-      [PAUSED] = false;
-      [PIPES] = [];
-      [BUFFER] = [];
-      [OBJECTMODE];
-      [ENCODING];
-      [ASYNC];
-      [DECODER];
-      [EOF2] = false;
-      [EMITTED_END] = false;
-      [EMITTING_END] = false;
-      [CLOSED] = false;
-      [EMITTED_ERROR] = null;
-      [BUFFERLENGTH] = 0;
-      [DESTROYED] = false;
-      [SIGNAL];
-      [ABORTED] = false;
-      [DATALISTENERS] = 0;
-      [DISCARDED] = false;
-      /**
-       * true if the stream can be written
-       */
-      writable = true;
-      /**
-       * true if the stream can be read
-       */
-      readable = true;
-      /**
-       * If `RType` is Buffer, then options do not need to be provided.
-       * Otherwise, an options object must be provided to specify either
-       * {@link Minipass.SharedOptions.objectMode} or
-       * {@link Minipass.SharedOptions.encoding}, as appropriate.
-       */
-      constructor(...args) {
-        const options = args[0] || {};
-        super();
-        if (options.objectMode && typeof options.encoding === "string") {
-          throw new TypeError("Encoding and objectMode may not be used together");
+      socket.on("drain", onDrain).on("error", onFinished);
+    }
+    async function writeBlob({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
+      assert(contentLength === body.size, "blob body must have content length");
+      const isH2 = client[kHTTPConnVersion] === "h2";
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
         }
-        if (isObjectModeOptions(options)) {
-          this[OBJECTMODE] = true;
-          this[ENCODING] = null;
-        } else if (isEncodingOptions(options)) {
-          this[ENCODING] = options.encoding;
-          this[OBJECTMODE] = false;
+        const buffer = Buffer.from(await body.arrayBuffer());
+        if (isH2) {
+          h2stream.cork();
+          h2stream.write(buffer);
+          h2stream.uncork();
         } else {
-          this[OBJECTMODE] = false;
-          this[ENCODING] = null;
+          socket.cork();
+          socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+          socket.write(buffer);
+          socket.uncork();
         }
-        this[ASYNC] = !!options.async;
-        this[DECODER] = this[ENCODING] ? new node_string_decoder_1.StringDecoder(this[ENCODING]) : null;
-        if (options && options.debugExposeBuffer === true) {
-          Object.defineProperty(this, "buffer", { get: () => this[BUFFER] });
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
         }
-        if (options && options.debugExposePipes === true) {
-          Object.defineProperty(this, "pipes", { get: () => this[PIPES] });
+        resume(client);
+      } catch (err) {
+        util.destroy(isH2 ? h2stream : socket, err);
+      }
+    }
+    async function writeIterable({ h2stream, body, client, request: 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 { signal } = options;
-        if (signal) {
-          this[SIGNAL] = signal;
-          if (signal.aborted) {
-            this[ABORT]();
-          } else {
-            signal.addEventListener("abort", () => this[ABORT]());
+      }
+      const waitForDrain = () => new Promise((resolve8, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve8;
+        }
+      });
+      if (client[kHTTPConnVersion] === "h2") {
+        h2stream.on("close", onDrain).on("drain", onDrain);
+        try {
+          for await (const chunk of body) {
+            if (socket[kError]) {
+              throw socket[kError];
+            }
+            const res = h2stream.write(chunk);
+            request2.onBodySent(chunk);
+            if (!res) {
+              await waitForDrain();
+            }
           }
+        } catch (err) {
+          h2stream.destroy(err);
+        } finally {
+          request2.onRequestSent();
+          h2stream.end();
+          h2stream.off("close", onDrain).off("drain", onDrain);
         }
+        return;
       }
-      /**
-       * The amount of data stored in the buffer waiting to be read.
-       *
-       * For Buffer strings, this will be the total byte length.
-       * For string encoding streams, this will be the string character length,
-       * according to JavaScript's `string.length` logic.
-       * For objectMode streams, this is a count of the items waiting to be
-       * emitted.
-       */
-      get bufferLength() {
-        return this[BUFFERLENGTH];
-      }
-      /**
-       * The `BufferEncoding` currently in use, or `null`
-       */
-      get encoding() {
-        return this[ENCODING];
-      }
-      /**
-       * @deprecated - This is a read only property
-       */
-      set encoding(_enc) {
-        throw new Error("Encoding must be set at instantiation time");
-      }
-      /**
-       * @deprecated - Encoding may only be set at instantiation time
-       */
-      setEncoding(_enc) {
-        throw new Error("Encoding must be set at instantiation time");
-      }
-      /**
-       * True if this is an objectMode stream
-       */
-      get objectMode() {
-        return this[OBJECTMODE];
-      }
-      /**
-       * @deprecated - This is a read-only property
-       */
-      set objectMode(_om) {
-        throw new Error("objectMode must be set at instantiation time");
-      }
-      /**
-       * true if this is an async stream
-       */
-      get ["async"]() {
-        return this[ASYNC];
-      }
-      /**
-       * Set to true to make this stream async.
-       *
-       * Once set, it cannot be unset, as this would potentially cause incorrect
-       * behavior.  Ie, a sync stream can be made async, but an async stream
-       * cannot be safely made sync.
-       */
-      set ["async"](a) {
-        this[ASYNC] = this[ASYNC] || !!a;
-      }
-      // drop everything and get out of the flow completely
-      [ABORT]() {
-        this[ABORTED] = true;
-        this.emit("abort", this[SIGNAL]?.reason);
-        this.destroy(this[SIGNAL]?.reason);
-      }
-      /**
-       * True if the stream has been aborted.
-       */
-      get aborted() {
-        return this[ABORTED];
+      socket.on("close", onDrain).on("drain", onDrain);
+      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          if (!writer.write(chunk)) {
+            await waitForDrain();
+          }
+        }
+        writer.end();
+      } catch (err) {
+        writer.destroy(err);
+      } finally {
+        socket.off("close", onDrain).off("drain", onDrain);
       }
-      /**
-       * No-op setter. Stream aborted status is set via the AbortSignal provided
-       * in the constructor options.
-       */
-      set aborted(_2) {
+    }
+    var AsyncWriter = class {
+      constructor({ 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;
+        socket[kWriting] = true;
       }
-      write(chunk, encoding, cb) {
-        if (this[ABORTED])
+      write(chunk) {
+        const { socket, request: request2, contentLength, client, bytesWritten, expectsPayload, header } = this;
+        if (socket[kError]) {
+          throw socket[kError];
+        }
+        if (socket.destroyed) {
           return false;
-        if (this[EOF2])
-          throw new Error("write after end");
-        if (this[DESTROYED]) {
-          this.emit("error", Object.assign(new Error("Cannot call write after a stream was destroyed"), { code: "ERR_STREAM_DESTROYED" }));
-          return true;
         }
-        if (typeof encoding === "function") {
-          cb = encoding;
-          encoding = "utf8";
+        const len = Buffer.byteLength(chunk);
+        if (!len) {
+          return true;
         }
-        if (!encoding)
-          encoding = "utf8";
-        const fn = this[ASYNC] ? defer : nodefer;
-        if (!this[OBJECTMODE] && !Buffer.isBuffer(chunk)) {
-          if (isArrayBufferView(chunk)) {
-            chunk = Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
-          } else if (isArrayBufferLike(chunk)) {
-            chunk = Buffer.from(chunk);
-          } else if (typeof chunk !== "string") {
-            throw new Error("Non-contiguous data written to non-objectMode stream");
+        if (contentLength !== null && bytesWritten + len > contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
           }
+          process.emitWarning(new RequestContentLengthMismatchError());
         }
-        if (this[OBJECTMODE]) {
-          if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
-            this[FLUSH](true);
-          if (this[FLOWING])
-            this.emit("data", chunk);
-          else
-            this[BUFFERPUSH](chunk);
-          if (this[BUFFERLENGTH] !== 0)
-            this.emit("readable");
-          if (cb)
-            fn(cb);
-          return this[FLOWING];
-        }
-        if (!chunk.length) {
-          if (this[BUFFERLENGTH] !== 0)
-            this.emit("readable");
-          if (cb)
-            fn(cb);
-          return this[FLOWING];
+        socket.cork();
+        if (bytesWritten === 0) {
+          if (!expectsPayload) {
+            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 (typeof chunk === "string" && // unless it is a string already ready for us to use
-        !(encoding === this[ENCODING] && !this[DECODER]?.lastNeed)) {
-          chunk = Buffer.from(chunk, encoding);
+        if (contentLength === null) {
+          socket.write(`\r
+${len.toString(16)}\r
+`, "latin1");
         }
-        if (Buffer.isBuffer(chunk) && this[ENCODING]) {
-          chunk = this[DECODER].write(chunk);
+        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();
+            }
+          }
         }
-        if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
-          this[FLUSH](true);
-        if (this[FLOWING])
-          this.emit("data", chunk);
-        else
-          this[BUFFERPUSH](chunk);
-        if (this[BUFFERLENGTH] !== 0)
-          this.emit("readable");
-        if (cb)
-          fn(cb);
-        return this[FLOWING];
+        return ret;
       }
-      /**
-       * Low-level explicit read method.
-       *
-       * In objectMode, the argument is ignored, and one item is returned if
-       * available.
-       *
-       * `n` is the number of bytes (or in the case of encoding streams,
-       * characters) to consume. If `n` is not provided, then the entire buffer
-       * is returned, or `null` is returned if no data is available.
-       *
-       * If `n` is greater that the amount of data in the internal buffer,
-       * then `null` is returned.
-       */
-      read(n) {
-        if (this[DESTROYED])
-          return null;
-        this[DISCARDED] = false;
-        if (this[BUFFERLENGTH] === 0 || n === 0 || n && n > this[BUFFERLENGTH]) {
-          this[MAYBE_EMIT_END]();
-          return null;
+      end() {
+        const { socket, contentLength, client, bytesWritten, expectsPayload, header, request: request2 } = this;
+        request2.onRequestSent();
+        socket[kWriting] = false;
+        if (socket[kError]) {
+          throw socket[kError];
         }
-        if (this[OBJECTMODE])
-          n = null;
-        if (this[BUFFER].length > 1 && !this[OBJECTMODE]) {
-          this[BUFFER] = [
-            this[ENCODING] ? this[BUFFER].join("") : Buffer.concat(this[BUFFER], this[BUFFERLENGTH])
-          ];
+        if (socket.destroyed) {
+          return;
         }
-        const ret = this[READ](n || null, this[BUFFER][0]);
-        this[MAYBE_EMIT_END]();
-        return ret;
-      }
-      [READ](n, chunk) {
-        if (this[OBJECTMODE])
-          this[BUFFERSHIFT]();
-        else {
-          const c = chunk;
-          if (n === c.length || n === null)
-            this[BUFFERSHIFT]();
-          else if (typeof c === "string") {
-            this[BUFFER][0] = c.slice(n);
-            chunk = c.slice(0, n);
-            this[BUFFERLENGTH] -= n;
+        if (bytesWritten === 0) {
+          if (expectsPayload) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
           } else {
-            this[BUFFER][0] = c.subarray(n);
-            chunk = c.subarray(0, n);
-            this[BUFFERLENGTH] -= n;
+            socket.write(`${header}\r
+`, "latin1");
           }
+        } else if (contentLength === null) {
+          socket.write("\r\n0\r\n\r\n", "latin1");
         }
-        this.emit("data", chunk);
-        if (!this[BUFFER].length && !this[EOF2])
-          this.emit("drain");
-        return chunk;
-      }
-      end(chunk, encoding, cb) {
-        if (typeof chunk === "function") {
-          cb = chunk;
-          chunk = void 0;
+        if (contentLength !== null && bytesWritten !== contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
+          } else {
+            process.emitWarning(new RequestContentLengthMismatchError());
+          }
         }
-        if (typeof encoding === "function") {
-          cb = encoding;
-          encoding = "utf8";
+        if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
+          if (socket[kParser].timeout.refresh) {
+            socket[kParser].timeout.refresh();
+          }
         }
-        if (chunk !== void 0)
-          this.write(chunk, encoding);
-        if (cb)
-          this.once("end", cb);
-        this[EOF2] = true;
-        this.writable = false;
-        if (this[FLOWING] || !this[PAUSED])
-          this[MAYBE_EMIT_END]();
-        return this;
+        resume(client);
       }
-      // don't let the internal resume be overwritten
-      [RESUME]() {
-        if (this[DESTROYED])
-          return;
-        if (!this[DATALISTENERS] && !this[PIPES].length) {
-          this[DISCARDED] = true;
+      destroy(err) {
+        const { socket, client } = this;
+        socket[kWriting] = false;
+        if (err) {
+          assert(client[kRunning] <= 1, "pipeline should only contain this request");
+          util.destroy(socket, err);
         }
-        this[PAUSED] = false;
-        this[FLOWING] = true;
-        this.emit("resume");
-        if (this[BUFFER].length)
-          this[FLUSH]();
-        else if (this[EOF2])
-          this[MAYBE_EMIT_END]();
-        else
-          this.emit("drain");
       }
-      /**
-       * Resume the stream if it is currently in a paused state
-       *
-       * If called when there are no pipe destinations or `data` event listeners,
-       * this will place the stream in a "discarded" state, where all data will
-       * be thrown away. The discarded state is removed if a pipe destination or
-       * data handler is added, if pause() is called, or if any synchronous or
-       * asynchronous iteration is started.
-       */
-      resume() {
-        return this[RESUME]();
+    };
+    function errorRequest2(client, request2, err) {
+      try {
+        request2.onError(err);
+        assert(request2.aborted);
+      } catch (err2) {
+        client.emit("error", err2);
       }
-      /**
-       * Pause the stream
-       */
-      pause() {
-        this[FLOWING] = false;
-        this[PAUSED] = true;
-        this[DISCARDED] = false;
+    }
+    module2.exports = Client;
+  }
+});
+
+// node_modules/undici/lib/node/fixed-queue.js
+var require_fixed_queue3 = __commonJS({
+  "node_modules/undici/lib/node/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);
       }
-      /**
-       * true if the stream has been forcibly destroyed
-       */
-      get destroyed() {
-        return this[DESTROYED];
+      shift() {
+        const tail = this.tail;
+        const next = tail.shift();
+        if (tail.isEmpty() && tail.next !== null) {
+          this.tail = tail.next;
+        }
+        return next;
       }
-      /**
-       * true if the stream is currently in a flowing state, meaning that
-       * any writes will be immediately emitted.
-       */
-      get flowing() {
-        return this[FLOWING];
+    };
+  }
+});
+
+// node_modules/undici/lib/pool-stats.js
+var require_pool_stats3 = __commonJS({
+  "node_modules/undici/lib/pool-stats.js"(exports2, module2) {
+    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols11();
+    var kPool = /* @__PURE__ */ Symbol("pool");
+    var PoolStats = class {
+      constructor(pool) {
+        this[kPool] = pool;
       }
-      /**
-       * true if the stream is currently in a paused state
-       */
-      get paused() {
-        return this[PAUSED];
+      get connected() {
+        return this[kPool][kConnected];
       }
-      [BUFFERPUSH](chunk) {
-        if (this[OBJECTMODE])
-          this[BUFFERLENGTH] += 1;
-        else
-          this[BUFFERLENGTH] += chunk.length;
-        this[BUFFER].push(chunk);
+      get free() {
+        return this[kPool][kFree];
       }
-      [BUFFERSHIFT]() {
-        if (this[OBJECTMODE])
-          this[BUFFERLENGTH] -= 1;
-        else
-          this[BUFFERLENGTH] -= this[BUFFER][0].length;
-        return this[BUFFER].shift();
+      get pending() {
+        return this[kPool][kPending];
       }
-      [FLUSH](noDrain = false) {
-        do {
-        } while (this[FLUSHCHUNK](this[BUFFERSHIFT]()) && this[BUFFER].length);
-        if (!noDrain && !this[BUFFER].length && !this[EOF2])
-          this.emit("drain");
+      get queued() {
+        return this[kPool][kQueued];
       }
-      [FLUSHCHUNK](chunk) {
-        this.emit("data", chunk);
-        return this[FLOWING];
+      get running() {
+        return this[kPool][kRunning];
       }
-      /**
-       * Pipe all data emitted by this stream into the destination provided.
-       *
-       * Triggers the flow of data.
-       */
-      pipe(dest, opts) {
-        if (this[DESTROYED])
-          return dest;
-        this[DISCARDED] = false;
-        const ended = this[EMITTED_END];
-        opts = opts || {};
-        if (dest === proc.stdout || dest === proc.stderr)
-          opts.end = false;
-        else
-          opts.end = opts.end !== false;
-        opts.proxyErrors = !!opts.proxyErrors;
-        if (ended) {
-          if (opts.end)
-            dest.end();
-        } else {
-          this[PIPES].push(!opts.proxyErrors ? new Pipe(this, dest, opts) : new PipeProxyErrors(this, dest, opts));
-          if (this[ASYNC])
-            defer(() => this[RESUME]());
-          else
-            this[RESUME]();
-        }
-        return dest;
+      get size() {
+        return this[kPool][kSize];
       }
-      /**
-       * Fully unhook a piped destination stream.
-       *
-       * If the destination stream was the only consumer of this stream (ie,
-       * there are no other piped destinations or `'data'` event listeners)
-       * then the flow of data will stop until there is another consumer or
-       * {@link Minipass#resume} is explicitly called.
-       */
-      unpipe(dest) {
-        const p = this[PIPES].find((p2) => p2.dest === dest);
-        if (p) {
-          if (this[PIPES].length === 1) {
-            if (this[FLOWING] && this[DATALISTENERS] === 0) {
-              this[FLOWING] = false;
+    };
+    module2.exports = PoolStats;
+  }
+});
+
+// node_modules/undici/lib/pool-base.js
+var require_pool_base3 = __commonJS({
+  "node_modules/undici/lib/pool-base.js"(exports2, module2) {
+    "use strict";
+    var DispatcherBase = require_dispatcher_base3();
+    var FixedQueue = require_fixed_queue3();
+    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols11();
+    var PoolStats = require_pool_stats3();
+    var kClients = /* @__PURE__ */ Symbol("clients");
+    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
+    var kQueue = /* @__PURE__ */ Symbol("queue");
+    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
+    var kAddClient = /* @__PURE__ */ Symbol("add client");
+    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
+    var kStats = /* @__PURE__ */ 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;
             }
-            this[PIPES] = [];
-          } else
-            this[PIPES].splice(this[PIPES].indexOf(p), 1);
-          p.unpipe();
-        }
+            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);
       }
-      /**
-       * Alias for {@link Minipass#on}
-       */
-      addListener(ev, handler2) {
-        return this.on(ev, handler2);
+      get [kBusy]() {
+        return this[kNeedDrain];
       }
-      /**
-       * Mostly identical to `EventEmitter.on`, with the following
-       * behavior differences to prevent data loss and unnecessary hangs:
-       *
-       * - Adding a 'data' event handler will trigger the flow of data
-       *
-       * - Adding a 'readable' event handler when there is data waiting to be read
-       *   will cause 'readable' to be emitted immediately.
-       *
-       * - Adding an 'endish' event handler ('end', 'finish', etc.) which has
-       *   already passed will cause the event to be emitted immediately and all
-       *   handlers removed.
-       *
-       * - Adding an 'error' event handler after an error has been emitted will
-       *   cause the event to be re-emitted immediately with the error previously
-       *   raised.
-       */
-      on(ev, handler2) {
-        const ret = super.on(ev, handler2);
-        if (ev === "data") {
-          this[DISCARDED] = false;
-          this[DATALISTENERS]++;
-          if (!this[PIPES].length && !this[FLOWING]) {
-            this[RESUME]();
-          }
-        } else if (ev === "readable" && this[BUFFERLENGTH] !== 0) {
-          super.emit("readable");
-        } else if (isEndish(ev) && this[EMITTED_END]) {
-          super.emit(ev);
-          this.removeAllListeners(ev);
-        } else if (ev === "error" && this[EMITTED_ERROR]) {
-          const h = handler2;
-          if (this[ASYNC])
-            defer(() => h.call(this, this[EMITTED_ERROR]));
-          else
-            h.call(this, this[EMITTED_ERROR]);
+      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;
       }
-      /**
-       * Alias for {@link Minipass#off}
-       */
-      removeListener(ev, handler2) {
-        return this.off(ev, handler2);
-      }
-      /**
-       * Mostly identical to `EventEmitter.off`
-       *
-       * If a 'data' event handler is removed, and it was the last consumer
-       * (ie, there are no pipe destinations or other 'data' event listeners),
-       * then the flow of data will stop until there is another consumer or
-       * {@link Minipass#resume} is explicitly called.
-       */
-      off(ev, handler2) {
-        const ret = super.off(ev, handler2);
-        if (ev === "data") {
-          this[DATALISTENERS] = this.listeners("data").length;
-          if (this[DATALISTENERS] === 0 && !this[DISCARDED] && !this[PIPES].length) {
-            this[FLOWING] = false;
-          }
+      get [kRunning]() {
+        let ret = 0;
+        for (const { [kRunning]: running } of this[kClients]) {
+          ret += running;
         }
         return ret;
       }
-      /**
-       * Mostly identical to `EventEmitter.removeAllListeners`
-       *
-       * If all 'data' event handlers are removed, and they were the last consumer
-       * (ie, there are no pipe destinations), then the flow of data will stop
-       * until there is another consumer or {@link Minipass#resume} is explicitly
-       * called.
-       */
-      removeAllListeners(ev) {
-        const ret = super.removeAllListeners(ev);
-        if (ev === "data" || ev === void 0) {
-          this[DATALISTENERS] = 0;
-          if (!this[DISCARDED] && !this[PIPES].length) {
-            this[FLOWING] = false;
-          }
+      get [kSize]() {
+        let ret = this[kQueued];
+        for (const { [kSize]: size } of this[kClients]) {
+          ret += size;
         }
         return ret;
       }
-      /**
-       * true if the 'end' event has been emitted
-       */
-      get emittedEnd() {
-        return this[EMITTED_END];
+      get stats() {
+        return this[kStats];
       }
-      [MAYBE_EMIT_END]() {
-        if (!this[EMITTING_END] && !this[EMITTED_END] && !this[DESTROYED] && this[BUFFER].length === 0 && this[EOF2]) {
-          this[EMITTING_END] = true;
-          this.emit("end");
-          this.emit("prefinish");
-          this.emit("finish");
-          if (this[CLOSED])
-            this.emit("close");
-          this[EMITTING_END] = false;
+      async [kClose]() {
+        if (this[kQueue].isEmpty()) {
+          return Promise.all(this[kClients].map((c) => c.close()));
+        } else {
+          return new Promise((resolve8) => {
+            this[kClosedResolve] = resolve8;
+          });
         }
       }
-      /**
-       * Mostly identical to `EventEmitter.emit`, with the following
-       * behavior differences to prevent data loss and unnecessary hangs:
-       *
-       * If the stream has been destroyed, and the event is something other
-       * than 'close' or 'error', then `false` is returned and no handlers
-       * are called.
-       *
-       * If the event is 'end', and has already been emitted, then the event
-       * is ignored. If the stream is in a paused or non-flowing state, then
-       * the event will be deferred until data flow resumes. If the stream is
-       * async, then handlers will be called on the next tick rather than
-       * immediately.
-       *
-       * If the event is 'close', and 'end' has not yet been emitted, then
-       * the event will be deferred until after 'end' is emitted.
-       *
-       * If the event is 'error', and an AbortSignal was provided for the stream,
-       * and there are no listeners, then the event is ignored, matching the
-       * behavior of node core streams in the presense of an AbortSignal.
-       *
-       * If the event is 'finish' or 'prefinish', then all listeners will be
-       * removed after emitting the event, to prevent double-firing.
-       */
-      emit(ev, ...args) {
-        const data = args[0];
-        if (ev !== "error" && ev !== "close" && ev !== DESTROYED && this[DESTROYED]) {
-          return false;
-        } else if (ev === "data") {
-          return !this[OBJECTMODE] && !data ? false : this[ASYNC] ? (defer(() => this[EMITDATA](data)), true) : this[EMITDATA](data);
-        } else if (ev === "end") {
-          return this[EMITEND]();
-        } else if (ev === "close") {
-          this[CLOSED] = true;
-          if (!this[EMITTED_END] && !this[DESTROYED])
-            return false;
-          const ret2 = super.emit("close");
-          this.removeAllListeners("close");
-          return ret2;
-        } else if (ev === "error") {
-          this[EMITTED_ERROR] = data;
-          super.emit(ERROR, data);
-          const ret2 = !this[SIGNAL] || this.listeners("error").length ? super.emit("error", data) : false;
-          this[MAYBE_EMIT_END]();
-          return ret2;
-        } else if (ev === "resume") {
-          const ret2 = super.emit("resume");
-          this[MAYBE_EMIT_END]();
-          return ret2;
-        } else if (ev === "finish" || ev === "prefinish") {
-          const ret2 = super.emit(ev);
-          this.removeAllListeners(ev);
-          return ret2;
+      async [kDestroy](err) {
+        while (true) {
+          const item = this[kQueue].shift();
+          if (!item) {
+            break;
+          }
+          item.handler.onError(err);
         }
-        const ret = super.emit(ev, ...args);
-        this[MAYBE_EMIT_END]();
-        return ret;
+        return Promise.all(this[kClients].map((c) => c.destroy(err)));
       }
-      [EMITDATA](data) {
-        for (const p of this[PIPES]) {
-          if (p.dest.write(data) === false)
-            this.pause();
+      [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]();
         }
-        const ret = this[DISCARDED] ? false : super.emit("data", data);
-        this[MAYBE_EMIT_END]();
-        return ret;
-      }
-      [EMITEND]() {
-        if (this[EMITTED_END])
-          return false;
-        this[EMITTED_END] = true;
-        this.readable = false;
-        return this[ASYNC] ? (defer(() => this[EMITEND2]()), true) : this[EMITEND2]();
+        return !this[kNeedDrain];
       }
-      [EMITEND2]() {
-        if (this[DECODER]) {
-          const data = this[DECODER].end();
-          if (data) {
-            for (const p of this[PIPES]) {
-              p.dest.write(data);
+      [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]) {
+          process.nextTick(() => {
+            if (this[kNeedDrain]) {
+              this[kOnDrain](client[kUrl], [this, client]);
             }
-            if (!this[DISCARDED])
-              super.emit("data", data);
-          }
-        }
-        for (const p of this[PIPES]) {
-          p.end();
+          });
         }
-        const ret = super.emit("end");
-        this.removeAllListeners("end");
-        return ret;
+        return this;
       }
-      /**
-       * Return a Promise that resolves to an array of all emitted data once
-       * the stream ends.
-       */
-      async collect() {
-        const buf = Object.assign([], {
-          dataLength: 0
+      [kRemoveClient](client) {
+        client.close(() => {
+          const idx = this[kClients].indexOf(client);
+          if (idx !== -1) {
+            this[kClients].splice(idx, 1);
+          }
         });
-        if (!this[OBJECTMODE])
-          buf.dataLength = 0;
-        const p = this.promise();
-        this.on("data", (c) => {
-          buf.push(c);
-          if (!this[OBJECTMODE])
-            buf.dataLength += c.length;
+        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/pool.js
+var require_pool3 = __commonJS({
+  "node_modules/undici/lib/pool.js"(exports2, module2) {
+    "use strict";
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kGetDispatcher
+    } = require_pool_base3();
+    var Client = require_client3();
+    var {
+      InvalidArgumentError
+    } = require_errors6();
+    var util = require_util24();
+    var { kUrl, kInterceptors } = require_symbols11();
+    var buildConnector = require_connect3();
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kConnections = /* @__PURE__ */ Symbol("connections");
+    var kFactory = /* @__PURE__ */ 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,
+            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect
+          });
+        }
+        this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
+        this[kConnections] = connections || null;
+        this[kUrl] = util.parseOrigin(origin);
+        this[kOptions] = { ...util.deepClone(options), connect, allowH2 };
+        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
+        this[kFactory] = factory;
+        this.on("connectionError", (origin2, targets, error3) => {
+          for (const target of targets) {
+            const idx = this[kClients].indexOf(target);
+            if (idx !== -1) {
+              this[kClients].splice(idx, 1);
+            }
+          }
         });
-        await p;
-        return buf;
       }
-      /**
-       * Return a Promise that resolves to the concatenation of all emitted data
-       * once the stream ends.
-       *
-       * Not allowed on objectMode streams.
-       */
-      async concat() {
-        if (this[OBJECTMODE]) {
-          throw new Error("cannot concat in objectMode");
+      [kGetDispatcher]() {
+        let dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain]);
+        if (dispatcher) {
+          return dispatcher;
         }
-        const buf = await this.collect();
-        return this[ENCODING] ? buf.join("") : Buffer.concat(buf, buf.dataLength);
+        if (!this[kConnections] || this[kClients].length < this[kConnections]) {
+          dispatcher = this[kFactory](this[kUrl], this[kOptions]);
+          this[kAddClient](dispatcher);
+        }
+        return dispatcher;
       }
-      /**
-       * Return a void Promise that resolves once the stream ends.
-       */
-      async promise() {
-        return new Promise((resolve8, reject) => {
-          this.on(DESTROYED, () => reject(new Error("stream destroyed")));
-          this.on("error", (er) => reject(er));
-          this.on("end", () => resolve8());
-        });
+    };
+    module2.exports = Pool;
+  }
+});
+
+// node_modules/undici/lib/balanced-pool.js
+var require_balanced_pool3 = __commonJS({
+  "node_modules/undici/lib/balanced-pool.js"(exports2, module2) {
+    "use strict";
+    var {
+      BalancedPoolMissingUpstreamError,
+      InvalidArgumentError
+    } = require_errors6();
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    } = require_pool_base3();
+    var Pool = require_pool3();
+    var { kUrl, kInterceptors } = require_symbols11();
+    var { parseOrigin } = require_util24();
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
+    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
+    var kIndex = /* @__PURE__ */ Symbol("kIndex");
+    var kWeight = /* @__PURE__ */ Symbol("kWeight");
+    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
+    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
+    function getGreatestCommonDivisor(a, b) {
+      if (b === 0) return a;
+      return getGreatestCommonDivisor(b, a % b);
+    }
+    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 && opts.interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : [];
+        this[kFactory] = factory;
+        for (const upstream of upstreams) {
+          this.addUpstream(upstream);
+        }
+        this._updateBalancedPoolStats();
       }
-      /**
-       * Asynchronous `for await of` iteration.
-       *
-       * This will continue emitting all chunks until the stream terminates.
-       */
-      [Symbol.asyncIterator]() {
-        this[DISCARDED] = false;
-        let stopped = false;
-        const stop = async () => {
-          this.pause();
-          stopped = true;
-          return { value: void 0, done: true };
-        };
-        const next = () => {
-          if (stopped)
-            return stop();
-          const res = this.read();
-          if (res !== null)
-            return Promise.resolve({ done: false, value: res });
-          if (this[EOF2])
-            return stop();
-          let resolve8;
-          let reject;
-          const onerr = (er) => {
-            this.off("data", ondata);
-            this.off("end", onend);
-            this.off(DESTROYED, ondestroy);
-            stop();
-            reject(er);
-          };
-          const ondata = (value) => {
-            this.off("error", onerr);
-            this.off("end", onend);
-            this.off(DESTROYED, ondestroy);
-            this.pause();
-            resolve8({ value, done: !!this[EOF2] });
-          };
-          const onend = () => {
-            this.off("error", onerr);
-            this.off("data", ondata);
-            this.off(DESTROYED, ondestroy);
-            stop();
-            resolve8({ done: true, value: void 0 });
-          };
-          const ondestroy = () => onerr(new Error("stream destroyed"));
-          return new Promise((res2, rej) => {
-            reject = rej;
-            resolve8 = res2;
-            this.once(DESTROYED, ondestroy);
-            this.once("error", onerr);
-            this.once("end", onend);
-            this.once("data", ondata);
-          });
-        };
-        return {
-          next,
-          throw: stop,
-          return: stop,
-          [Symbol.asyncIterator]() {
-            return this;
+      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;
       }
-      /**
-       * Synchronous `for of` iteration.
-       *
-       * The iteration will terminate when the internal buffer runs out, even
-       * if the stream has not yet terminated.
-       */
-      [Symbol.iterator]() {
-        this[DISCARDED] = false;
-        let stopped = false;
-        const stop = () => {
-          this.pause();
-          this.off(ERROR, stop);
-          this.off(DESTROYED, stop);
-          this.off("end", stop);
-          stopped = true;
-          return { done: true, value: void 0 };
-        };
-        const next = () => {
-          if (stopped)
-            return stop();
-          const value = this.read();
-          return value === null ? stop() : { done: false, value };
-        };
-        this.once("end", stop);
-        this.once(ERROR, stop);
-        this.once(DESTROYED, stop);
-        return {
-          next,
-          throw: stop,
-          return: stop,
-          [Symbol.iterator]() {
-            return this;
-          }
-        };
+      _updateBalancedPoolStats() {
+        this[kGreatestCommonDivisor] = this[kClients].map((p) => p[kWeight]).reduce(getGreatestCommonDivisor, 0);
       }
-      /**
-       * Destroy a stream, preventing it from being used for any further purpose.
-       *
-       * If the stream has a `close()` method, then it will be called on
-       * destruction.
-       *
-       * After destruction, any attempt to write data, read data, or emit most
-       * events will be ignored.
-       *
-       * If an error argument is provided, then it will be emitted in an
-       * 'error' event.
-       */
-      destroy(er) {
-        if (this[DESTROYED]) {
-          if (er)
-            this.emit("error", er);
-          else
-            this.emit(DESTROYED);
-          return this;
+      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);
         }
-        this[DESTROYED] = true;
-        this[DISCARDED] = true;
-        this[BUFFER].length = 0;
-        this[BUFFERLENGTH] = 0;
-        const wc = this;
-        if (typeof wc.close === "function" && !this[CLOSED])
-          wc.close();
-        if (er)
-          this.emit("error", er);
-        else
-          this.emit(DESTROYED);
         return this;
       }
-      /**
-       * Alias for {@link isStream}
-       *
-       * Former export location, maintained for backwards compatibility.
-       *
-       * @deprecated
-       */
-      static get isStream() {
-        return exports2.isStream;
+      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];
       }
     };
-    exports2.Minipass = Minipass;
+    module2.exports = BalancedPool;
   }
 });
 
-// node_modules/path-scurry/dist/commonjs/index.js
-var require_commonjs23 = __commonJS({
-  "node_modules/path-scurry/dist/commonjs/index.js"(exports2) {
+// node_modules/undici/lib/compat/dispatcher-weakref.js
+var require_dispatcher_weakref3 = __commonJS({
+  "node_modules/undici/lib/compat/dispatcher-weakref.js"(exports2, module2) {
     "use strict";
-    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+    var { kConnected, kSize } = require_symbols11();
+    var CompatWeakRef = class {
+      constructor(value) {
+        this.value = value;
       }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.PathScurry = exports2.Path = exports2.PathScurryDarwin = exports2.PathScurryPosix = exports2.PathScurryWin32 = exports2.PathScurryBase = exports2.PathPosix = exports2.PathWin32 = exports2.PathBase = exports2.ChildrenCache = exports2.ResolveCache = void 0;
-    var lru_cache_1 = require_commonjs21();
-    var node_path_1 = require("node:path");
-    var node_url_1 = require("node:url");
-    var fs_1 = require("fs");
-    var actualFS = __importStar2(require("node:fs"));
-    var realpathSync = fs_1.realpathSync.native;
-    var promises_1 = require("node:fs/promises");
-    var minipass_1 = require_commonjs22();
-    var defaultFS = {
-      lstatSync: fs_1.lstatSync,
-      readdir: fs_1.readdir,
-      readdirSync: fs_1.readdirSync,
-      readlinkSync: fs_1.readlinkSync,
-      realpathSync,
-      promises: {
-        lstat: promises_1.lstat,
-        readdir: promises_1.readdir,
-        readlink: promises_1.readlink,
-        realpath: promises_1.realpath
+      deref() {
+        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
       }
     };
-    var fsFromOption = (fsOption) => !fsOption || fsOption === defaultFS || fsOption === actualFS ? defaultFS : {
-      ...defaultFS,
-      ...fsOption,
-      promises: {
-        ...defaultFS.promises,
-        ...fsOption.promises || {}
+    var CompatFinalizer = class {
+      constructor(finalizer) {
+        this.finalizer = finalizer;
       }
-    };
-    var uncDriveRegexp = /^\\\\\?\\([a-z]:)\\?$/i;
-    var uncToDrive = (rootPath) => rootPath.replace(/\//g, "\\").replace(uncDriveRegexp, "$1\\");
-    var eitherSep = /[\\\/]/;
-    var UNKNOWN = 0;
-    var IFIFO = 1;
-    var IFCHR = 2;
-    var IFDIR = 4;
-    var IFBLK = 6;
-    var IFREG = 8;
-    var IFLNK = 10;
-    var IFSOCK = 12;
-    var IFMT = 15;
-    var IFMT_UNKNOWN = ~IFMT;
-    var READDIR_CALLED = 16;
-    var LSTAT_CALLED = 32;
-    var ENOTDIR = 64;
-    var ENOENT = 128;
-    var ENOREADLINK = 256;
-    var ENOREALPATH = 512;
-    var ENOCHILD = ENOTDIR | ENOENT | ENOREALPATH;
-    var TYPEMASK = 1023;
-    var entToType = (s) => s.isFile() ? IFREG : s.isDirectory() ? IFDIR : s.isSymbolicLink() ? IFLNK : s.isCharacterDevice() ? IFCHR : s.isBlockDevice() ? IFBLK : s.isSocket() ? IFSOCK : s.isFIFO() ? IFIFO : UNKNOWN;
-    var normalizeCache = /* @__PURE__ */ new Map();
-    var normalize2 = (s) => {
-      const c = normalizeCache.get(s);
-      if (c)
-        return c;
-      const n = s.normalize("NFKD");
-      normalizeCache.set(s, n);
-      return n;
-    };
-    var normalizeNocaseCache = /* @__PURE__ */ new Map();
-    var normalizeNocase = (s) => {
-      const c = normalizeNocaseCache.get(s);
-      if (c)
-        return c;
-      const n = normalize2(s.toLowerCase());
-      normalizeNocaseCache.set(s, n);
-      return n;
-    };
-    var ResolveCache = class extends lru_cache_1.LRUCache {
-      constructor() {
-        super({ max: 256 });
+      register(dispatcher, key) {
+        if (dispatcher.on) {
+          dispatcher.on("disconnect", () => {
+            if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {
+              this.finalizer(key);
+            }
+          });
+        }
       }
     };
-    exports2.ResolveCache = ResolveCache;
-    var ChildrenCache = class extends lru_cache_1.LRUCache {
-      constructor(maxSize = 16 * 1024) {
-        super({
-          maxSize,
-          // parent + children
-          sizeCalculation: (a) => a.length + 1
-        });
+    module2.exports = function() {
+      if (process.env.NODE_V8_COVERAGE) {
+        return {
+          WeakRef: CompatWeakRef,
+          FinalizationRegistry: CompatFinalizer
+        };
       }
+      return {
+        WeakRef: global.WeakRef || CompatWeakRef,
+        FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer
+      };
     };
-    exports2.ChildrenCache = ChildrenCache;
-    var setAsCwd = /* @__PURE__ */ Symbol("PathScurry setAsCwd");
-    var PathBase = class {
-      /**
-       * the basename of this path
-       *
-       * **Important**: *always* test the path name against any test string
-       * usingthe {@link isNamed} method, and not by directly comparing this
-       * string. Otherwise, unicode path strings that the system sees as identical
-       * will not be properly treated as the same path, leading to incorrect
-       * behavior and possible security issues.
-       */
-      name;
-      /**
-       * the Path entry corresponding to the path root.
-       *
-       * @internal
-       */
-      root;
-      /**
-       * All roots found within the current PathScurry family
-       *
-       * @internal
-       */
-      roots;
-      /**
-       * a reference to the parent path, or undefined in the case of root entries
-       *
-       * @internal
-       */
-      parent;
-      /**
-       * boolean indicating whether paths are compared case-insensitively
-       * @internal
-       */
-      nocase;
-      /**
-       * boolean indicating that this path is the current working directory
-       * of the PathScurry collection that contains it.
-       */
-      isCWD = false;
-      // potential default fs override
-      #fs;
-      // Stats fields
-      #dev;
-      get dev() {
-        return this.#dev;
-      }
-      #mode;
-      get mode() {
-        return this.#mode;
+  }
+});
+
+// node_modules/undici/lib/agent.js
+var require_agent3 = __commonJS({
+  "node_modules/undici/lib/agent.js"(exports2, module2) {
+    "use strict";
+    var { InvalidArgumentError } = require_errors6();
+    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols11();
+    var DispatcherBase = require_dispatcher_base3();
+    var Pool = require_pool3();
+    var Client = require_client3();
+    var util = require_util24();
+    var createRedirectInterceptor = require_redirectInterceptor();
+    var { WeakRef: WeakRef2, FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref3()();
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kFinalizer = /* @__PURE__ */ Symbol("finalizer");
+    var kOptions = /* @__PURE__ */ 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 && options.interceptors.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
+        this[kOptions] = { ...util.deepClone(options), connect };
+        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
+        this[kMaxRedirections] = maxRedirections;
+        this[kFactory] = factory;
+        this[kClients] = /* @__PURE__ */ new Map();
+        this[kFinalizer] = new FinalizationRegistry2(
+          /* istanbul ignore next: gc is undeterministic */
+          (key) => {
+            const ref = this[kClients].get(key);
+            if (ref !== void 0 && ref.deref() === void 0) {
+              this[kClients].delete(key);
+            }
+          }
+        );
+        const agent = this;
+        this[kOnDrain] = (origin, targets) => {
+          agent.emit("drain", origin, [agent, ...targets]);
+        };
+        this[kOnConnect] = (origin, targets) => {
+          agent.emit("connect", origin, [agent, ...targets]);
+        };
+        this[kOnDisconnect] = (origin, targets, err) => {
+          agent.emit("disconnect", origin, [agent, ...targets], err);
+        };
+        this[kOnConnectionError] = (origin, targets, err) => {
+          agent.emit("connectionError", origin, [agent, ...targets], err);
+        };
       }
-      #nlink;
-      get nlink() {
-        return this.#nlink;
+      get [kRunning]() {
+        let ret = 0;
+        for (const ref of this[kClients].values()) {
+          const client = ref.deref();
+          if (client) {
+            ret += client[kRunning];
+          }
+        }
+        return ret;
       }
-      #uid;
-      get uid() {
-        return this.#uid;
+      [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.");
+        }
+        const ref = this[kClients].get(key);
+        let dispatcher = ref ? ref.deref() : null;
+        if (!dispatcher) {
+          dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
+          this[kClients].set(key, new WeakRef2(dispatcher));
+          this[kFinalizer].register(dispatcher, key);
+        }
+        return dispatcher.dispatch(opts, handler2);
       }
-      #gid;
-      get gid() {
-        return this.#gid;
+      async [kClose]() {
+        const closePromises = [];
+        for (const ref of this[kClients].values()) {
+          const client = ref.deref();
+          if (client) {
+            closePromises.push(client.close());
+          }
+        }
+        await Promise.all(closePromises);
       }
-      #rdev;
-      get rdev() {
-        return this.#rdev;
+      async [kDestroy](err) {
+        const destroyPromises = [];
+        for (const ref of this[kClients].values()) {
+          const client = ref.deref();
+          if (client) {
+            destroyPromises.push(client.destroy(err));
+          }
+        }
+        await Promise.all(destroyPromises);
       }
-      #blksize;
-      get blksize() {
-        return this.#blksize;
+    };
+    module2.exports = Agent;
+  }
+});
+
+// node_modules/undici/lib/api/readable.js
+var require_readable5 = __commonJS({
+  "node_modules/undici/lib/api/readable.js"(exports2, module2) {
+    "use strict";
+    var assert = require("assert");
+    var { Readable: Readable2 } = require("stream");
+    var { RequestAbortedError, NotSupportedError, InvalidArgumentError } = require_errors6();
+    var util = require_util24();
+    var { ReadableStreamFrom, toUSVString } = require_util24();
+    var Blob2;
+    var kConsume = /* @__PURE__ */ Symbol("kConsume");
+    var kReading = /* @__PURE__ */ Symbol("kReading");
+    var kBody = /* @__PURE__ */ Symbol("kBody");
+    var kAbort = /* @__PURE__ */ Symbol("abort");
+    var kContentType = /* @__PURE__ */ Symbol("kContentType");
+    var noop3 = () => {
+    };
+    module2.exports = class BodyReadable extends Readable2 {
+      constructor({
+        resume,
+        abort,
+        contentType = "",
+        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[kReading] = false;
       }
-      #ino;
-      get ino() {
-        return this.#ino;
+      destroy(err) {
+        if (this.destroyed) {
+          return this;
+        }
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
+        }
+        if (err) {
+          this[kAbort]();
+        }
+        return super.destroy(err);
       }
-      #size;
-      get size() {
-        return this.#size;
+      emit(ev, ...args) {
+        if (ev === "data") {
+          this._readableState.dataEmitted = true;
+        } else if (ev === "error") {
+          this._readableState.errorEmitted = true;
+        }
+        return super.emit(ev, ...args);
       }
-      #blocks;
-      get blocks() {
-        return this.#blocks;
+      on(ev, ...args) {
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = true;
+        }
+        return super.on(ev, ...args);
       }
-      #atimeMs;
-      get atimeMs() {
-        return this.#atimeMs;
+      addListener(ev, ...args) {
+        return this.on(ev, ...args);
       }
-      #mtimeMs;
-      get mtimeMs() {
-        return this.#mtimeMs;
+      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;
       }
-      #ctimeMs;
-      get ctimeMs() {
-        return this.#ctimeMs;
+      removeListener(ev, ...args) {
+        return this.off(ev, ...args);
       }
-      #birthtimeMs;
-      get birthtimeMs() {
-        return this.#birthtimeMs;
+      push(chunk) {
+        if (this[kConsume] && chunk !== null && this.readableLength === 0) {
+          consumePush(this[kConsume], chunk);
+          return this[kReading] ? super.push(chunk) : true;
+        }
+        return super.push(chunk);
       }
-      #atime;
-      get atime() {
-        return this.#atime;
+      // https://fetch.spec.whatwg.org/#dom-body-text
+      async text() {
+        return consume(this, "text");
       }
-      #mtime;
-      get mtime() {
-        return this.#mtime;
+      // https://fetch.spec.whatwg.org/#dom-body-json
+      async json() {
+        return consume(this, "json");
       }
-      #ctime;
-      get ctime() {
-        return this.#ctime;
+      // https://fetch.spec.whatwg.org/#dom-body-blob
+      async blob() {
+        return consume(this, "blob");
       }
-      #birthtime;
-      get birthtime() {
-        return this.#birthtime;
+      // https://fetch.spec.whatwg.org/#dom-body-arraybuffer
+      async arrayBuffer() {
+        return consume(this, "arrayBuffer");
       }
-      #matchName;
-      #depth;
-      #fullpath;
-      #fullpathPosix;
-      #relative;
-      #relativePosix;
-      #type;
-      #children;
-      #linkTarget;
-      #realpath;
-      /**
-       * This property is for compatibility with the Dirent class as of
-       * Node v20, where Dirent['parentPath'] refers to the path of the
-       * directory that was passed to readdir. For root entries, it's the path
-       * to the entry itself.
-       */
-      get parentPath() {
-        return (this.parent || this).fullpath();
+      // https://fetch.spec.whatwg.org/#dom-body-formdata
+      async formData() {
+        throw new NotSupportedError();
       }
-      /**
-       * Deprecated alias for Dirent['parentPath'] Somewhat counterintuitively,
-       * this property refers to the *parent* path, not the path object itself.
-       *
-       * @deprecated
-       */
-      get path() {
-        return this.parentPath;
+      // https://fetch.spec.whatwg.org/#dom-body-bodyused
+      get bodyUsed() {
+        return util.isDisturbed(this);
       }
-      /**
-       * Do not create new Path objects directly.  They should always be accessed
-       * via the PathScurry class or other methods on the Path class.
-       *
-       * @internal
-       */
-      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
-        this.name = name;
-        this.#matchName = nocase ? normalizeNocase(name) : normalize2(name);
-        this.#type = type2 & TYPEMASK;
-        this.nocase = nocase;
-        this.roots = roots;
-        this.root = root || this;
-        this.#children = children;
-        this.#fullpath = opts.fullpath;
-        this.#relative = opts.relative;
-        this.#relativePosix = opts.relativePosix;
-        this.parent = opts.parent;
-        if (this.parent) {
-          this.#fs = this.parent.#fs;
-        } else {
-          this.#fs = fsFromOption(opts.fs);
+      // 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];
       }
-      /**
-       * Returns the depth of the Path object from its root.
-       *
-       * For example, a path at `/foo/bar` would have a depth of 2.
-       */
-      depth() {
-        if (this.#depth !== void 0)
-          return this.#depth;
-        if (!this.parent)
-          return this.#depth = 0;
-        return this.#depth = this.parent.depth() + 1;
-      }
-      /**
-       * @internal
-       */
-      childrenCache() {
-        return this.#children;
-      }
-      /**
-       * Get the Path object referenced by the string path, resolved from this Path
-       */
-      resolve(path16) {
-        if (!path16) {
-          return this;
+      dump(opts) {
+        let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144;
+        const signal = opts && opts.signal;
+        if (signal) {
+          try {
+            if (typeof signal !== "object" || !("aborted" in signal)) {
+              throw new InvalidArgumentError("signal must be an AbortSignal");
+            }
+            util.throwIfAborted(signal);
+          } catch (err) {
+            return Promise.reject(err);
+          }
         }
-        const rootPath = this.getRootString(path16);
-        const dir = path16.substring(rootPath.length);
-        const dirParts = dir.split(this.splitSep);
-        const result = rootPath ? this.getRoot(rootPath).#resolveParts(dirParts) : this.#resolveParts(dirParts);
-        return result;
-      }
-      #resolveParts(dirParts) {
-        let p = this;
-        for (const part of dirParts) {
-          p = p.child(part);
+        if (this.closed) {
+          return Promise.resolve(null);
         }
-        return p;
+        return new Promise((resolve8, reject) => {
+          const signalListenerCleanup = signal ? util.addAbortListener(signal, () => {
+            this.destroy();
+          }) : noop3;
+          this.on("close", function() {
+            signalListenerCleanup();
+            if (signal && signal.aborted) {
+              reject(signal.reason || Object.assign(new Error("The operation was aborted"), { name: "AbortError" }));
+            } else {
+              resolve8(null);
+            }
+          }).on("error", noop3).on("data", function(chunk) {
+            limit -= chunk.length;
+            if (limit <= 0) {
+              this.destroy();
+            }
+          }).resume();
+        });
       }
-      /**
-       * Returns the cached children Path objects, if still available.  If they
-       * have fallen out of the cache, then returns an empty array, and resets the
-       * READDIR_CALLED bit, so that future calls to readdir() will require an fs
-       * lookup.
-       *
-       * @internal
-       */
-      children() {
-        const cached = this.#children.get(this);
-        if (cached) {
-          return cached;
-        }
-        const children = Object.assign([], { provisional: 0 });
-        this.#children.set(this, children);
-        this.#type &= ~READDIR_CALLED;
-        return children;
+    };
+    function isLocked(self2) {
+      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
+    }
+    function isUnusable(self2) {
+      return util.isDisturbed(self2) || isLocked(self2);
+    }
+    async function consume(stream2, type2) {
+      if (isUnusable(stream2)) {
+        throw new TypeError("unusable");
       }
-      /**
-       * Resolves a path portion and returns or creates the child Path.
-       *
-       * Returns `this` if pathPart is `''` or `'.'`, or `parent` if pathPart is
-       * `'..'`.
-       *
-       * This should not be called directly.  If `pathPart` contains any path
-       * separators, it will lead to unsafe undefined behavior.
-       *
-       * Use `Path.resolve()` instead.
-       *
-       * @internal
-       */
-      child(pathPart, opts) {
-        if (pathPart === "" || pathPart === ".") {
-          return this;
-        }
-        if (pathPart === "..") {
-          return this.parent || this;
-        }
-        const children = this.children();
-        const name = this.nocase ? normalizeNocase(pathPart) : normalize2(pathPart);
-        for (const p of children) {
-          if (p.#matchName === name) {
-            return p;
+      assert(!stream2[kConsume]);
+      return new Promise((resolve8, reject) => {
+        stream2[kConsume] = {
+          type: type2,
+          stream: stream2,
+          resolve: resolve8,
+          reject,
+          length: 0,
+          body: []
+        };
+        stream2.on("error", function(err) {
+          consumeFinish(this[kConsume], err);
+        }).on("close", function() {
+          if (this[kConsume].body !== null) {
+            consumeFinish(this[kConsume], new RequestAbortedError());
           }
-        }
-        const s = this.parent ? this.sep : "";
-        const fullpath = this.#fullpath ? this.#fullpath + s + pathPart : void 0;
-        const pchild = this.newChild(pathPart, UNKNOWN, {
-          ...opts,
-          parent: this,
-          fullpath
         });
-        if (!this.canReaddir()) {
-          pchild.#type |= ENOENT;
-        }
-        children.push(pchild);
-        return pchild;
+        process.nextTick(consumeStart, stream2[kConsume]);
+      });
+    }
+    function consumeStart(consume2) {
+      if (consume2.body === null) {
+        return;
       }
-      /**
-       * The relative path from the cwd. If it does not share an ancestor with
-       * the cwd, then this ends up being equivalent to the fullpath()
-       */
-      relative() {
-        if (this.isCWD)
-          return "";
-        if (this.#relative !== void 0) {
-          return this.#relative;
-        }
-        const name = this.name;
-        const p = this.parent;
-        if (!p) {
-          return this.#relative = this.name;
-        }
-        const pv = p.relative();
-        return pv + (!pv || !p.parent ? "" : this.sep) + name;
+      const { _readableState: state } = consume2.stream;
+      for (const chunk of state.buffer) {
+        consumePush(consume2, chunk);
       }
-      /**
-       * The relative path from the cwd, using / as the path separator.
-       * If it does not share an ancestor with
-       * the cwd, then this ends up being equivalent to the fullpathPosix()
-       * On posix systems, this is identical to relative().
-       */
-      relativePosix() {
-        if (this.sep === "/")
-          return this.relative();
-        if (this.isCWD)
-          return "";
-        if (this.#relativePosix !== void 0)
-          return this.#relativePosix;
-        const name = this.name;
-        const p = this.parent;
-        if (!p) {
-          return this.#relativePosix = this.fullpathPosix();
-        }
-        const pv = p.relativePosix();
-        return pv + (!pv || !p.parent ? "" : "/") + name;
+      if (state.endEmitted) {
+        consumeEnd(this[kConsume]);
+      } else {
+        consume2.stream.on("end", function() {
+          consumeEnd(this[kConsume]);
+        });
       }
-      /**
-       * The fully resolved path string for this Path entry
-       */
-      fullpath() {
-        if (this.#fullpath !== void 0) {
-          return this.#fullpath;
-        }
-        const name = this.name;
-        const p = this.parent;
-        if (!p) {
-          return this.#fullpath = this.name;
-        }
-        const pv = p.fullpath();
-        const fp = pv + (!p.parent ? "" : this.sep) + name;
-        return this.#fullpath = fp;
+      consume2.stream.resume();
+      while (consume2.stream.read() != null) {
       }
-      /**
-       * On platforms other than windows, this is identical to fullpath.
-       *
-       * On windows, this is overridden to return the forward-slash form of the
-       * full UNC path.
-       */
-      fullpathPosix() {
-        if (this.#fullpathPosix !== void 0)
-          return this.#fullpathPosix;
-        if (this.sep === "/")
-          return this.#fullpathPosix = this.fullpath();
-        if (!this.parent) {
-          const p2 = this.fullpath().replace(/\\/g, "/");
-          if (/^[a-z]:\//i.test(p2)) {
-            return this.#fullpathPosix = `//?/${p2}`;
-          } else {
-            return this.#fullpathPosix = p2;
+    }
+    function consumeEnd(consume2) {
+      const { type: type2, body, resolve: resolve8, stream: stream2, length } = consume2;
+      try {
+        if (type2 === "text") {
+          resolve8(toUSVString(Buffer.concat(body)));
+        } else if (type2 === "json") {
+          resolve8(JSON.parse(Buffer.concat(body)));
+        } else if (type2 === "arrayBuffer") {
+          const dst = new Uint8Array(length);
+          let pos = 0;
+          for (const buf of body) {
+            dst.set(buf, pos);
+            pos += buf.byteLength;
+          }
+          resolve8(dst.buffer);
+        } else if (type2 === "blob") {
+          if (!Blob2) {
+            Blob2 = require("buffer").Blob;
           }
+          resolve8(new Blob2(body, { type: stream2[kContentType] }));
         }
-        const p = this.parent;
-        const pfpp = p.fullpathPosix();
-        const fpp = pfpp + (!pfpp || !p.parent ? "" : "/") + this.name;
-        return this.#fullpathPosix = fpp;
-      }
-      /**
-       * Is the Path of an unknown type?
-       *
-       * Note that we might know *something* about it if there has been a previous
-       * filesystem operation, for example that it does not exist, or is not a
-       * link, or whether it has child entries.
-       */
-      isUnknown() {
-        return (this.#type & IFMT) === UNKNOWN;
+        consumeFinish(consume2);
+      } catch (err) {
+        stream2.destroy(err);
       }
-      isType(type2) {
-        return this[`is${type2}`]();
+    }
+    function consumePush(consume2, chunk) {
+      consume2.length += chunk.length;
+      consume2.body.push(chunk);
+    }
+    function consumeFinish(consume2, err) {
+      if (consume2.body === null) {
+        return;
       }
-      getType() {
-        return this.isUnknown() ? "Unknown" : this.isDirectory() ? "Directory" : this.isFile() ? "File" : this.isSymbolicLink() ? "SymbolicLink" : this.isFIFO() ? "FIFO" : this.isCharacterDevice() ? "CharacterDevice" : this.isBlockDevice() ? "BlockDevice" : (
-          /* c8 ignore start */
-          this.isSocket() ? "Socket" : "Unknown"
-        );
+      if (err) {
+        consume2.reject(err);
+      } else {
+        consume2.resolve();
       }
-      /**
-       * Is the Path a regular file?
-       */
-      isFile() {
-        return (this.#type & IFMT) === IFREG;
+      consume2.type = null;
+      consume2.stream = null;
+      consume2.resolve = null;
+      consume2.reject = null;
+      consume2.length = 0;
+      consume2.body = null;
+    }
+  }
+});
+
+// node_modules/undici/lib/api/util.js
+var require_util26 = __commonJS({
+  "node_modules/undici/lib/api/util.js"(exports2, module2) {
+    var assert = require("assert");
+    var {
+      ResponseStatusCodeError
+    } = require_errors6();
+    var { toUSVString } = require_util24();
+    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
+      assert(body);
+      let chunks = [];
+      let limit = 0;
+      for await (const chunk of body) {
+        chunks.push(chunk);
+        limit += chunk.length;
+        if (limit > 128 * 1024) {
+          chunks = null;
+          break;
+        }
       }
-      /**
-       * Is the Path a directory?
-       */
-      isDirectory() {
-        return (this.#type & IFMT) === IFDIR;
+      if (statusCode === 204 || !contentType || !chunks) {
+        process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
+        return;
       }
-      /**
-       * Is the path a character device?
-       */
-      isCharacterDevice() {
-        return (this.#type & IFMT) === IFCHR;
+      try {
+        if (contentType.startsWith("application/json")) {
+          const payload = JSON.parse(toUSVString(Buffer.concat(chunks)));
+          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
+          return;
+        }
+        if (contentType.startsWith("text/")) {
+          const payload = toUSVString(Buffer.concat(chunks));
+          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
+          return;
+        }
+      } catch (err) {
       }
-      /**
-       * Is the path a block device?
-       */
-      isBlockDevice() {
-        return (this.#type & IFMT) === IFBLK;
+      process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
+    }
+    module2.exports = { getResolveErrorBodyCallback };
+  }
+});
+
+// node_modules/undici/lib/api/abort-signal.js
+var require_abort_signal3 = __commonJS({
+  "node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
+    var { addAbortListener } = require_util24();
+    var { RequestAbortedError } = require_errors6();
+    var kListener = /* @__PURE__ */ Symbol("kListener");
+    var kSignal = /* @__PURE__ */ Symbol("kSignal");
+    function abort(self2) {
+      if (self2.abort) {
+        self2.abort();
+      } else {
+        self2.onError(new RequestAbortedError());
       }
-      /**
-       * Is the path a FIFO pipe?
-       */
-      isFIFO() {
-        return (this.#type & IFMT) === IFIFO;
+    }
+    function addSignal(self2, signal) {
+      self2[kSignal] = null;
+      self2[kListener] = null;
+      if (!signal) {
+        return;
       }
-      /**
-       * Is the path a socket?
-       */
-      isSocket() {
-        return (this.#type & IFMT) === IFSOCK;
+      if (signal.aborted) {
+        abort(self2);
+        return;
       }
-      /**
-       * Is the path a symbolic link?
-       */
-      isSymbolicLink() {
-        return (this.#type & IFLNK) === IFLNK;
+      self2[kSignal] = signal;
+      self2[kListener] = () => {
+        abort(self2);
+      };
+      addAbortListener(self2[kSignal], self2[kListener]);
+    }
+    function removeSignal(self2) {
+      if (!self2[kSignal]) {
+        return;
       }
-      /**
-       * Return the entry if it has been subject of a successful lstat, or
-       * undefined otherwise.
-       *
-       * Does not read the filesystem, so an undefined result *could* simply
-       * mean that we haven't called lstat on it.
-       */
-      lstatCached() {
-        return this.#type & LSTAT_CALLED ? this : void 0;
+      if ("removeEventListener" in self2[kSignal]) {
+        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      } else {
+        self2[kSignal].removeListener("abort", self2[kListener]);
       }
-      /**
-       * Return the cached link target if the entry has been the subject of a
-       * successful readlink, or undefined otherwise.
-       *
-       * Does not read the filesystem, so an undefined result *could* just mean we
-       * don't have any cached data. Only use it if you are very sure that a
-       * readlink() has been called at some point.
-       */
-      readlinkCached() {
-        return this.#linkTarget;
+      self2[kSignal] = null;
+      self2[kListener] = null;
+    }
+    module2.exports = {
+      addSignal,
+      removeSignal
+    };
+  }
+});
+
+// node_modules/undici/lib/api/api-request.js
+var require_api_request3 = __commonJS({
+  "node_modules/undici/lib/api/api-request.js"(exports2, module2) {
+    "use strict";
+    var Readable2 = require_readable5();
+    var {
+      InvalidArgumentError,
+      RequestAbortedError
+    } = require_errors6();
+    var util = require_util24();
+    var { getResolveErrorBodyCallback } = require_util26();
+    var { AsyncResource } = require("async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal3();
+    var RequestHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
+        try {
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
+            throw new InvalidArgumentError("invalid highWaterMark");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
+          }
+          super("UNDICI_REQUEST");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
+        }
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.body = body;
+        this.trailers = {};
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError;
+        this.highWaterMark = highWaterMark;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
+        }
+        addSignal(this, signal);
       }
-      /**
-       * Returns the cached realpath target if the entry has been the subject
-       * of a successful realpath, or undefined otherwise.
-       *
-       * Does not read the filesystem, so an undefined result *could* just mean we
-       * don't have any cached data. Only use it if you are very sure that a
-       * realpath() has been called at some point.
-       */
-      realpathCached() {
-        return this.#realpath;
+      onConnect(abort, context3) {
+        if (!this.callback) {
+          throw new RequestAbortedError();
+        }
+        this.abort = abort;
+        this.context = context3;
       }
-      /**
-       * Returns the cached child Path entries array if the entry has been the
-       * subject of a successful readdir(), or [] otherwise.
-       *
-       * Does not read the filesystem, so an empty array *could* just mean we
-       * don't have any cached data. Only use it if you are very sure that a
-       * readdir() has been called recently enough to still be valid.
-       */
-      readdirCached() {
-        const children = this.children();
-        return children.slice(0, children.provisional);
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { callback, opaque, abort, context: context3, responseHeaders, highWaterMark } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
+          }
+          return;
+        }
+        const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
+        const contentType = parsedHeaders["content-type"];
+        const body = new Readable2({ resume, abort, contentType, highWaterMark });
+        this.callback = null;
+        this.res = body;
+        if (callback !== null) {
+          if (this.throwOnError && statusCode >= 400) {
+            this.runInAsyncScope(
+              getResolveErrorBodyCallback,
+              null,
+              { callback, body, contentType, statusCode, statusMessage, headers }
+            );
+          } else {
+            this.runInAsyncScope(callback, null, null, {
+              statusCode,
+              headers,
+              trailers: this.trailers,
+              opaque,
+              body,
+              context: context3
+            });
+          }
+        }
       }
-      /**
-       * Return true if it's worth trying to readlink.  Ie, we don't (yet) have
-       * any indication that readlink will definitely fail.
-       *
-       * Returns false if the path is known to not be a symlink, if a previous
-       * readlink failed, or if the entry does not exist.
-       */
-      canReadlink() {
-        if (this.#linkTarget)
-          return true;
-        if (!this.parent)
-          return false;
-        const ifmt = this.#type & IFMT;
-        return !(ifmt !== UNKNOWN && ifmt !== IFLNK || this.#type & ENOREADLINK || this.#type & ENOENT);
+      onData(chunk) {
+        const { res } = this;
+        return res.push(chunk);
       }
-      /**
-       * Return true if readdir has previously been successfully called on this
-       * path, indicating that cachedReaddir() is likely valid.
-       */
-      calledReaddir() {
-        return !!(this.#type & READDIR_CALLED);
+      onComplete(trailers) {
+        const { res } = this;
+        removeSignal(this);
+        util.parseHeaders(trailers, this.trailers);
+        res.push(null);
       }
-      /**
-       * Returns true if the path is known to not exist. That is, a previous lstat
-       * or readdir failed to verify its existence when that would have been
-       * expected, or a parent entry was marked either enoent or enotdir.
-       */
-      isENOENT() {
-        return !!(this.#type & ENOENT);
+      onError(err) {
+        const { res, callback, body, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
+        }
+        if (res) {
+          this.res = null;
+          queueMicrotask(() => {
+            util.destroy(res, err);
+          });
+        }
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
+        }
       }
-      /**
-       * Return true if the path is a match for the given path name.  This handles
-       * case sensitivity and unicode normalization.
-       *
-       * Note: even on case-sensitive systems, it is **not** safe to test the
-       * equality of the `.name` property to determine whether a given pathname
-       * matches, due to unicode normalization mismatches.
-       *
-       * Always use this method instead of testing the `path.name` property
-       * directly.
-       */
-      isNamed(n) {
-        return !this.nocase ? this.#matchName === normalize2(n) : this.#matchName === normalizeNocase(n);
+    };
+    function request2(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve8, reject) => {
+          request2.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve8(data);
+          });
+        });
       }
-      /**
-       * Return the Path object corresponding to the target of a symbolic link.
-       *
-       * If the Path is not a symbolic link, or if the readlink call fails for any
-       * reason, `undefined` is returned.
-       *
-       * Result is cached, and thus may be outdated if the filesystem is mutated.
-       */
-      async readlink() {
-        const target = this.#linkTarget;
-        if (target) {
-          return target;
-        }
-        if (!this.canReadlink()) {
-          return void 0;
+      try {
+        this.dispatch(opts, new RequestHandler(opts, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
-        if (!this.parent) {
-          return void 0;
+        const opaque = opts && opts.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
+      }
+    }
+    module2.exports = request2;
+    module2.exports.RequestHandler = RequestHandler;
+  }
+});
+
+// node_modules/undici/lib/api/api-stream.js
+var require_api_stream3 = __commonJS({
+  "node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
+    "use strict";
+    var { finished, PassThrough } = require("stream");
+    var {
+      InvalidArgumentError,
+      InvalidReturnValueError,
+      RequestAbortedError
+    } = require_errors6();
+    var util = require_util24();
+    var { getResolveErrorBodyCallback } = require_util26();
+    var { AsyncResource } = require("async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal3();
+    var StreamHandler = class extends AsyncResource {
+      constructor(opts, factory, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
         try {
-          const read = await this.#fs.promises.readlink(this.fullpath());
-          const linkTarget = (await this.parent.realpath())?.resolve(read);
-          if (linkTarget) {
-            return this.#linkTarget = linkTarget;
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
           }
-        } catch (er) {
-          this.#readlinkFail(er.code);
-          return void 0;
+          if (typeof factory !== "function") {
+            throw new InvalidArgumentError("invalid factory");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
+          }
+          super("UNDICI_STREAM");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
         }
-      }
-      /**
-       * Synchronous {@link PathBase.readlink}
-       */
-      readlinkSync() {
-        const target = this.#linkTarget;
-        if (target) {
-          return target;
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.factory = factory;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.context = null;
+        this.trailers = null;
+        this.body = body;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError || false;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
         }
-        if (!this.canReadlink()) {
-          return void 0;
+        addSignal(this, signal);
+      }
+      onConnect(abort, context3) {
+        if (!this.callback) {
+          throw new RequestAbortedError();
         }
-        if (!this.parent) {
-          return void 0;
+        this.abort = abort;
+        this.context = context3;
+      }
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { factory, opaque, context: context3, callback, responseHeaders } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
+          }
+          return;
         }
-        try {
-          const read = this.#fs.readlinkSync(this.fullpath());
-          const linkTarget = this.parent.realpathSync()?.resolve(read);
-          if (linkTarget) {
-            return this.#linkTarget = linkTarget;
+        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;
           }
-        } catch (er) {
-          this.#readlinkFail(er.code);
-          return void 0;
+          res = this.runInAsyncScope(factory, null, {
+            statusCode,
+            headers,
+            opaque,
+            context: context3
+          });
+          if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") {
+            throw new InvalidReturnValueError("expected Writable");
+          }
+          finished(res, { readable: false }, (err) => {
+            const { callback: callback2, res: res2, opaque: opaque2, trailers, abort } = this;
+            this.res = null;
+            if (err || !res2.readable) {
+              util.destroy(res2, err);
+            }
+            this.callback = null;
+            this.runInAsyncScope(callback2, null, err || null, { opaque: opaque2, trailers });
+            if (err) {
+              abort();
+            }
+          });
         }
+        res.on("drain", resume);
+        this.res = res;
+        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState && res._writableState.needDrain;
+        return needDrain !== true;
       }
-      #readdirSuccess(children) {
-        this.#type |= READDIR_CALLED;
-        for (let p = children.provisional; p < children.length; p++) {
-          const c = children[p];
-          if (c)
-            c.#markENOENT();
-        }
+      onData(chunk) {
+        const { res } = this;
+        return res ? res.write(chunk) : true;
       }
-      #markENOENT() {
-        if (this.#type & ENOENT)
+      onComplete(trailers) {
+        const { res } = this;
+        removeSignal(this);
+        if (!res) {
           return;
-        this.#type = (this.#type | ENOENT) & IFMT_UNKNOWN;
-        this.#markChildrenENOENT();
-      }
-      #markChildrenENOENT() {
-        const children = this.children();
-        children.provisional = 0;
-        for (const p of children) {
-          p.#markENOENT();
         }
+        this.trailers = util.parseHeaders(trailers);
+        res.end();
       }
-      #markENOREALPATH() {
-        this.#type |= ENOREALPATH;
-        this.#markENOTDIR();
-      }
-      // save the information when we know the entry is not a dir
-      #markENOTDIR() {
-        if (this.#type & ENOTDIR)
-          return;
-        let t = this.#type;
-        if ((t & IFMT) === IFDIR)
-          t &= IFMT_UNKNOWN;
-        this.#type = t | ENOTDIR;
-        this.#markChildrenENOENT();
-      }
-      #readdirFail(code = "") {
-        if (code === "ENOTDIR" || code === "EPERM") {
-          this.#markENOTDIR();
-        } else if (code === "ENOENT") {
-          this.#markENOENT();
-        } else {
-          this.children().provisional = 0;
+      onError(err) {
+        const { res, callback, opaque, body } = this;
+        removeSignal(this);
+        this.factory = null;
+        if (res) {
+          this.res = null;
+          util.destroy(res, err);
+        } else if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-      }
-      #lstatFail(code = "") {
-        if (code === "ENOTDIR") {
-          const p = this.parent;
-          p.#markENOTDIR();
-        } else if (code === "ENOENT") {
-          this.#markENOENT();
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
         }
       }
-      #readlinkFail(code = "") {
-        let ter = this.#type;
-        ter |= ENOREADLINK;
-        if (code === "ENOENT")
-          ter |= ENOENT;
-        if (code === "EINVAL" || code === "UNKNOWN") {
-          ter &= IFMT_UNKNOWN;
-        }
-        this.#type = ter;
-        if (code === "ENOTDIR" && this.parent) {
-          this.parent.#markENOTDIR();
+    };
+    function stream2(opts, factory, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve8, reject) => {
+          stream2.call(this, opts, factory, (err, data) => {
+            return err ? reject(err) : resolve8(data);
+          });
+        });
+      }
+      try {
+        this.dispatch(opts, new StreamHandler(opts, factory, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
+        const opaque = opts && opts.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
-      #readdirAddChild(e, c) {
-        return this.#readdirMaybePromoteChild(e, c) || this.#readdirAddNewChild(e, c);
+    }
+    module2.exports = stream2;
+  }
+});
+
+// node_modules/undici/lib/api/api-pipeline.js
+var require_api_pipeline3 = __commonJS({
+  "node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
+    "use strict";
+    var {
+      Readable: Readable2,
+      Duplex,
+      PassThrough
+    } = require("stream");
+    var {
+      InvalidArgumentError,
+      InvalidReturnValueError,
+      RequestAbortedError
+    } = require_errors6();
+    var util = require_util24();
+    var { AsyncResource } = require("async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal3();
+    var assert = require("assert");
+    var kResume = /* @__PURE__ */ Symbol("resume");
+    var PipelineRequest = class extends Readable2 {
+      constructor() {
+        super({ autoDestroy: true });
+        this[kResume] = null;
       }
-      #readdirAddNewChild(e, c) {
-        const type2 = entToType(e);
-        const child = this.newChild(e.name, type2, { parent: this });
-        const ifmt = child.#type & IFMT;
-        if (ifmt !== IFDIR && ifmt !== IFLNK && ifmt !== UNKNOWN) {
-          child.#type |= ENOTDIR;
+      _read() {
+        const { [kResume]: resume } = this;
+        if (resume) {
+          this[kResume] = null;
+          resume();
         }
-        c.unshift(child);
-        c.provisional++;
-        return child;
       }
-      #readdirMaybePromoteChild(e, c) {
-        for (let p = c.provisional; p < c.length; p++) {
-          const pchild = c[p];
-          const name = this.nocase ? normalizeNocase(e.name) : normalize2(e.name);
-          if (name !== pchild.#matchName) {
-            continue;
-          }
-          return this.#readdirPromoteChild(e, pchild, p, c);
-        }
+      _destroy(err, callback) {
+        this._read();
+        callback(err);
       }
-      #readdirPromoteChild(e, p, index, c) {
-        const v = p.name;
-        p.#type = p.#type & IFMT_UNKNOWN | entToType(e);
-        if (v !== e.name)
-          p.name = e.name;
-        if (index !== c.provisional) {
-          if (index === c.length - 1)
-            c.pop();
-          else
-            c.splice(index, 1);
-          c.unshift(p);
-        }
-        c.provisional++;
-        return p;
+    };
+    var PipelineResponse = class extends Readable2 {
+      constructor(resume) {
+        super({ autoDestroy: true });
+        this[kResume] = resume;
       }
-      /**
-       * Call lstat() on this Path, and update all known information that can be
-       * determined.
-       *
-       * Note that unlike `fs.lstat()`, the returned value does not contain some
-       * information, such as `mode`, `dev`, `nlink`, and `ino`.  If that
-       * information is required, you will need to call `fs.lstat` yourself.
-       *
-       * If the Path refers to a nonexistent file, or if the lstat call fails for
-       * any reason, `undefined` is returned.  Otherwise the updated Path object is
-       * returned.
-       *
-       * Results are cached, and thus may be out of date if the filesystem is
-       * mutated.
-       */
-      async lstat() {
-        if ((this.#type & ENOENT) === 0) {
-          try {
-            this.#applyStat(await this.#fs.promises.lstat(this.fullpath()));
-            return this;
-          } catch (er) {
-            this.#lstatFail(er.code);
-          }
-        }
+      _read() {
+        this[kResume]();
       }
-      /**
-       * synchronous {@link PathBase.lstat}
-       */
-      lstatSync() {
-        if ((this.#type & ENOENT) === 0) {
-          try {
-            this.#applyStat(this.#fs.lstatSync(this.fullpath()));
-            return this;
-          } catch (er) {
-            this.#lstatFail(er.code);
-          }
+      _destroy(err, callback) {
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
         }
+        callback(err);
       }
-      #applyStat(st) {
-        const { atime, atimeMs, birthtime, birthtimeMs, blksize, blocks, ctime, ctimeMs, dev, gid, ino, mode, mtime, mtimeMs, nlink, rdev, size, uid } = st;
-        this.#atime = atime;
-        this.#atimeMs = atimeMs;
-        this.#birthtime = birthtime;
-        this.#birthtimeMs = birthtimeMs;
-        this.#blksize = blksize;
-        this.#blocks = blocks;
-        this.#ctime = ctime;
-        this.#ctimeMs = ctimeMs;
-        this.#dev = dev;
-        this.#gid = gid;
-        this.#ino = ino;
-        this.#mode = mode;
-        this.#mtime = mtime;
-        this.#mtimeMs = mtimeMs;
-        this.#nlink = nlink;
-        this.#rdev = rdev;
-        this.#size = size;
-        this.#uid = uid;
-        const ifmt = entToType(st);
-        this.#type = this.#type & IFMT_UNKNOWN | ifmt | LSTAT_CALLED;
-        if (ifmt !== UNKNOWN && ifmt !== IFDIR && ifmt !== IFLNK) {
-          this.#type |= ENOTDIR;
+    };
+    var PipelineHandler = class extends AsyncResource {
+      constructor(opts, handler2) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-      }
-      #onReaddirCB = [];
-      #readdirCBInFlight = false;
-      #callOnReaddirCB(children) {
-        this.#readdirCBInFlight = false;
-        const cbs = this.#onReaddirCB.slice();
-        this.#onReaddirCB.length = 0;
-        cbs.forEach((cb) => cb(null, children));
-      }
-      /**
-       * Standard node-style callback interface to get list of directory entries.
-       *
-       * If the Path cannot or does not contain any children, then an empty array
-       * is returned.
-       *
-       * Results are cached, and thus may be out of date if the filesystem is
-       * mutated.
-       *
-       * @param cb The callback called with (er, entries).  Note that the `er`
-       * param is somewhat extraneous, as all readdir() errors are handled and
-       * simply result in an empty set of entries being returned.
-       * @param allowZalgo Boolean indicating that immediately known results should
-       * *not* be deferred with `queueMicrotask`. Defaults to `false`. Release
-       * zalgo at your peril, the dark pony lord is devious and unforgiving.
-       */
-      readdirCB(cb, allowZalgo = false) {
-        if (!this.canReaddir()) {
-          if (allowZalgo)
-            cb(null, []);
-          else
-            queueMicrotask(() => cb(null, []));
-          return;
+        if (typeof handler2 !== "function") {
+          throw new InvalidArgumentError("invalid handler");
         }
-        const children = this.children();
-        if (this.calledReaddir()) {
-          const c = children.slice(0, children.provisional);
-          if (allowZalgo)
-            cb(null, c);
-          else
-            queueMicrotask(() => cb(null, c));
-          return;
+        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");
         }
-        this.#onReaddirCB.push(cb);
-        if (this.#readdirCBInFlight) {
-          return;
+        if (method === "CONNECT") {
+          throw new InvalidArgumentError("invalid method");
         }
-        this.#readdirCBInFlight = true;
-        const fullpath = this.fullpath();
-        this.#fs.readdir(fullpath, { withFileTypes: true }, (er, entries) => {
-          if (er) {
-            this.#readdirFail(er.code);
-            children.provisional = 0;
-          } else {
-            for (const e of entries) {
-              this.#readdirAddChild(e, children);
+        if (onInfo && typeof onInfo !== "function") {
+          throw new InvalidArgumentError("invalid onInfo callback");
+        }
+        super("UNDICI_PIPELINE");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.handler = handler2;
+        this.abort = null;
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.req = new PipelineRequest().on("error", util.nop);
+        this.ret = new Duplex({
+          readableObjectMode: opts.objectMode,
+          autoDestroy: true,
+          read: () => {
+            const { body } = this;
+            if (body && body.resume) {
+              body.resume();
             }
-            this.#readdirSuccess(children);
+          },
+          write: (chunk, encoding, callback) => {
+            const { req } = this;
+            if (req.push(chunk, encoding) || req._readableState.destroyed) {
+              callback();
+            } else {
+              req[kResume] = callback;
+            }
+          },
+          destroy: (err, callback) => {
+            const { body, req, res, ret, abort } = this;
+            if (!err && !ret._readableState.endEmitted) {
+              err = new RequestAbortedError();
+            }
+            if (abort && err) {
+              abort();
+            }
+            util.destroy(body, err);
+            util.destroy(req, err);
+            util.destroy(res, err);
+            removeSignal(this);
+            callback(err);
           }
-          this.#callOnReaddirCB(children.slice(0, children.provisional));
-          return;
+        }).on("prefinish", () => {
+          const { req } = this;
+          req.push(null);
         });
+        this.res = null;
+        addSignal(this, signal);
       }
-      #asyncReaddirInFlight;
-      /**
-       * Return an array of known child entries.
-       *
-       * If the Path cannot or does not contain any children, then an empty array
-       * is returned.
-       *
-       * Results are cached, and thus may be out of date if the filesystem is
-       * mutated.
-       */
-      async readdir() {
-        if (!this.canReaddir()) {
-          return [];
-        }
-        const children = this.children();
-        if (this.calledReaddir()) {
-          return children.slice(0, children.provisional);
+      onConnect(abort, context3) {
+        const { ret, res } = this;
+        assert(!res, "pipeline cannot be retried");
+        if (ret.destroyed) {
+          throw new RequestAbortedError();
         }
-        const fullpath = this.fullpath();
-        if (this.#asyncReaddirInFlight) {
-          await this.#asyncReaddirInFlight;
-        } else {
-          let resolve8 = () => {
-          };
-          this.#asyncReaddirInFlight = new Promise((res) => resolve8 = res);
-          try {
-            for (const e of await this.#fs.promises.readdir(fullpath, {
-              withFileTypes: true
-            })) {
-              this.#readdirAddChild(e, children);
-            }
-            this.#readdirSuccess(children);
-          } catch (er) {
-            this.#readdirFail(er.code);
-            children.provisional = 0;
+        this.abort = abort;
+        this.context = context3;
+      }
+      onHeaders(statusCode, rawHeaders, resume) {
+        const { opaque, handler: handler2, context: context3 } = this;
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+            this.onInfo({ statusCode, headers });
           }
-          this.#asyncReaddirInFlight = void 0;
-          resolve8();
+          return;
         }
-        return children.slice(0, children.provisional);
-      }
-      /**
-       * synchronous {@link PathBase.readdir}
-       */
-      readdirSync() {
-        if (!this.canReaddir()) {
-          return [];
+        this.res = new PipelineResponse(resume);
+        let body;
+        try {
+          this.handler = null;
+          const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+          body = this.runInAsyncScope(handler2, null, {
+            statusCode,
+            headers,
+            opaque,
+            body: this.res,
+            context: context3
+          });
+        } catch (err) {
+          this.res.on("error", util.nop);
+          throw err;
         }
-        const children = this.children();
-        if (this.calledReaddir()) {
-          return children.slice(0, children.provisional);
+        if (!body || typeof body.on !== "function") {
+          throw new InvalidReturnValueError("expected Readable");
         }
-        const fullpath = this.fullpath();
-        try {
-          for (const e of this.#fs.readdirSync(fullpath, {
-            withFileTypes: true
-          })) {
-            this.#readdirAddChild(e, children);
+        body.on("data", (chunk) => {
+          const { ret, body: body2 } = this;
+          if (!ret.push(chunk) && body2.pause) {
+            body2.pause();
           }
-          this.#readdirSuccess(children);
-        } catch (er) {
-          this.#readdirFail(er.code);
-          children.provisional = 0;
-        }
-        return children.slice(0, children.provisional);
+        }).on("error", (err) => {
+          const { ret } = this;
+          util.destroy(ret, err);
+        }).on("end", () => {
+          const { ret } = this;
+          ret.push(null);
+        }).on("close", () => {
+          const { ret } = this;
+          if (!ret._readableState.ended) {
+            util.destroy(ret, new RequestAbortedError());
+          }
+        });
+        this.body = body;
       }
-      canReaddir() {
-        if (this.#type & ENOCHILD)
-          return false;
-        const ifmt = IFMT & this.#type;
-        if (!(ifmt === UNKNOWN || ifmt === IFDIR || ifmt === IFLNK)) {
-          return false;
-        }
-        return true;
+      onData(chunk) {
+        const { res } = this;
+        return res.push(chunk);
       }
-      shouldWalk(dirs, walkFilter) {
-        return (this.#type & IFDIR) === IFDIR && !(this.#type & ENOCHILD) && !dirs.has(this) && (!walkFilter || walkFilter(this));
+      onComplete(trailers) {
+        const { res } = this;
+        res.push(null);
       }
-      /**
-       * Return the Path object corresponding to path as resolved
-       * by realpath(3).
-       *
-       * If the realpath call fails for any reason, `undefined` is returned.
-       *
-       * Result is cached, and thus may be outdated if the filesystem is mutated.
-       * On success, returns a Path object.
-       */
-      async realpath() {
-        if (this.#realpath)
-          return this.#realpath;
-        if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type)
-          return void 0;
-        try {
-          const rp = await this.#fs.promises.realpath(this.fullpath());
-          return this.#realpath = this.resolve(rp);
-        } catch (_2) {
-          this.#markENOREALPATH();
-        }
+      onError(err) {
+        const { ret } = this;
+        this.handler = null;
+        util.destroy(ret, err);
       }
-      /**
-       * Synchronous {@link realpath}
-       */
-      realpathSync() {
-        if (this.#realpath)
-          return this.#realpath;
-        if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type)
-          return void 0;
-        try {
-          const rp = this.#fs.realpathSync(this.fullpath());
-          return this.#realpath = this.resolve(rp);
-        } catch (_2) {
-          this.#markENOREALPATH();
-        }
+    };
+    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);
       }
-      /**
-       * Internal method to mark this Path object as the scurry cwd,
-       * called by {@link PathScurry#chdir}
-       *
-       * @internal
-       */
-      [setAsCwd](oldCwd) {
-        if (oldCwd === this)
-          return;
-        oldCwd.isCWD = false;
-        this.isCWD = true;
-        const changed = /* @__PURE__ */ new Set([]);
-        let rp = [];
-        let p = this;
-        while (p && p.parent) {
-          changed.add(p);
-          p.#relative = rp.join(this.sep);
-          p.#relativePosix = rp.join("/");
-          p = p.parent;
-          rp.push("..");
+    }
+    module2.exports = pipeline;
+  }
+});
+
+// node_modules/undici/lib/api/api-upgrade.js
+var require_api_upgrade3 = __commonJS({
+  "node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
+    "use strict";
+    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors6();
+    var { AsyncResource } = require("async_hooks");
+    var util = require_util24();
+    var { addSignal, removeSignal } = require_abort_signal3();
+    var assert = require("assert");
+    var UpgradeHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        p = oldCwd;
-        while (p && p.parent && !changed.has(p)) {
-          p.#relative = void 0;
-          p.#relativePosix = void 0;
-          p = p.parent;
+        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);
       }
-    };
-    exports2.PathBase = PathBase;
-    var PathWin32 = class _PathWin32 extends PathBase {
-      /**
-       * Separator for generating path strings.
-       */
-      sep = "\\";
-      /**
-       * Separator for parsing path strings.
-       */
-      splitSep = eitherSep;
-      /**
-       * Do not create new Path objects directly.  They should always be accessed
-       * via the PathScurry class or other methods on the Path class.
-       *
-       * @internal
-       */
-      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
-        super(name, type2, root, roots, nocase, children, opts);
+      onConnect(abort, context3) {
+        if (!this.callback) {
+          throw new RequestAbortedError();
+        }
+        this.abort = abort;
+        this.context = null;
       }
-      /**
-       * @internal
-       */
-      newChild(name, type2 = UNKNOWN, opts = {}) {
-        return new _PathWin32(name, type2, this.root, this.roots, this.nocase, this.childrenCache(), opts);
+      onHeaders() {
+        throw new SocketError("bad upgrade", null);
       }
-      /**
-       * @internal
-       */
-      getRootString(path16) {
-        return node_path_1.win32.parse(path16).root;
+      onUpgrade(statusCode, rawHeaders, socket) {
+        const { callback, opaque, context: context3 } = this;
+        assert.strictEqual(statusCode, 101);
+        removeSignal(this);
+        this.callback = null;
+        const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        this.runInAsyncScope(callback, null, null, {
+          headers,
+          socket,
+          opaque,
+          context: context3
+        });
       }
-      /**
-       * @internal
-       */
-      getRoot(rootPath) {
-        rootPath = uncToDrive(rootPath.toUpperCase());
-        if (rootPath === this.root.name) {
-          return this.root;
-        }
-        for (const [compare3, root] of Object.entries(this.roots)) {
-          if (this.sameRoot(rootPath, compare3)) {
-            return this.roots[rootPath] = root;
-          }
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        return this.roots[rootPath] = new PathScurryWin32(rootPath, this).root;
-      }
-      /**
-       * @internal
-       */
-      sameRoot(rootPath, compare3 = this.root.name) {
-        rootPath = rootPath.toUpperCase().replace(/\//g, "\\").replace(uncDriveRegexp, "$1\\");
-        return rootPath === compare3;
       }
     };
-    exports2.PathWin32 = PathWin32;
-    var PathPosix = class _PathPosix extends PathBase {
-      /**
-       * separator for parsing path strings
-       */
-      splitSep = "/";
-      /**
-       * separator for generating path strings
-       */
-      sep = "/";
-      /**
-       * Do not create new Path objects directly.  They should always be accessed
-       * via the PathScurry class or other methods on the Path class.
-       *
-       * @internal
-       */
-      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
-        super(name, type2, root, roots, nocase, children, opts);
-      }
-      /**
-       * @internal
-       */
-      getRootString(path16) {
-        return path16.startsWith("/") ? "/" : "";
-      }
-      /**
-       * @internal
-       */
-      getRoot(_rootPath) {
-        return this.root;
-      }
-      /**
-       * @internal
-       */
-      newChild(name, type2 = UNKNOWN, opts = {}) {
-        return new _PathPosix(name, type2, this.root, this.roots, this.nocase, this.childrenCache(), opts);
+    function upgrade(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve8, reject) => {
+          upgrade.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve8(data);
+          });
+        });
       }
-    };
-    exports2.PathPosix = PathPosix;
-    var PathScurryBase = class {
-      /**
-       * The root Path entry for the current working directory of this Scurry
-       */
-      root;
-      /**
-       * The string path for the root of this Scurry's current working directory
-       */
-      rootPath;
-      /**
-       * A collection of all roots encountered, referenced by rootPath
-       */
-      roots;
-      /**
-       * The Path entry corresponding to this PathScurry's current working directory.
-       */
-      cwd;
-      #resolveCache;
-      #resolvePosixCache;
-      #children;
-      /**
-       * Perform path comparisons case-insensitively.
-       *
-       * Defaults true on Darwin and Windows systems, false elsewhere.
-       */
-      nocase;
-      #fs;
-      /**
-       * This class should not be instantiated directly.
-       *
-       * Use PathScurryWin32, PathScurryDarwin, PathScurryPosix, or PathScurry
-       *
-       * @internal
-       */
-      constructor(cwd = process.cwd(), pathImpl, sep5, { nocase, childrenCacheSize = 16 * 1024, fs: fs18 = defaultFS } = {}) {
-        this.#fs = fsFromOption(fs18);
-        if (cwd instanceof URL || cwd.startsWith("file://")) {
-          cwd = (0, node_url_1.fileURLToPath)(cwd);
+      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 cwdPath = pathImpl.resolve(cwd);
-        this.roots = /* @__PURE__ */ Object.create(null);
-        this.rootPath = this.parseRootPath(cwdPath);
-        this.#resolveCache = new ResolveCache();
-        this.#resolvePosixCache = new ResolveCache();
-        this.#children = new ChildrenCache(childrenCacheSize);
-        const split = cwdPath.substring(this.rootPath.length).split(sep5);
-        if (split.length === 1 && !split[0]) {
-          split.pop();
+        const opaque = opts && opts.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
+      }
+    }
+    module2.exports = upgrade;
+  }
+});
+
+// node_modules/undici/lib/api/api-connect.js
+var require_api_connect3 = __commonJS({
+  "node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
+    "use strict";
+    var { AsyncResource } = require("async_hooks");
+    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors6();
+    var util = require_util24();
+    var { addSignal, removeSignal } = require_abort_signal3();
+    var ConnectHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        if (nocase === void 0) {
-          throw new TypeError("must provide nocase setting to PathScurryBase ctor");
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
         }
-        this.nocase = nocase;
-        this.root = this.newRoot(this.#fs);
-        this.roots[this.rootPath] = this.root;
-        let prev = this.root;
-        let len = split.length - 1;
-        const joinSep = pathImpl.sep;
-        let abs = this.rootPath;
-        let sawFirst = false;
-        for (const part of split) {
-          const l = len--;
-          prev = prev.child(part, {
-            relative: new Array(l).fill("..").join(joinSep),
-            relativePosix: new Array(l).fill("..").join("/"),
-            fullpath: abs += (sawFirst ? "" : joinSep) + part
-          });
-          sawFirst = true;
+        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");
         }
-        this.cwd = prev;
+        super("UNDICI_CONNECT");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.callback = callback;
+        this.abort = null;
+        addSignal(this, signal);
       }
-      /**
-       * Get the depth of a provided path, string, or the cwd
-       */
-      depth(path16 = this.cwd) {
-        if (typeof path16 === "string") {
-          path16 = this.cwd.resolve(path16);
+      onConnect(abort, context3) {
+        if (!this.callback) {
+          throw new RequestAbortedError();
         }
-        return path16.depth();
+        this.abort = abort;
+        this.context = context3;
       }
-      /**
-       * Return the cache of child entries.  Exposed so subclasses can create
-       * child Path objects in a platform-specific way.
-       *
-       * @internal
-       */
-      childrenCache() {
-        return this.#children;
+      onHeaders() {
+        throw new SocketError("bad connect", null);
       }
-      /**
-       * Resolve one or more path strings to a resolved string
-       *
-       * Same interface as require('path').resolve.
-       *
-       * Much faster than path.resolve() when called multiple times for the same
-       * path, because the resolved Path objects are cached.  Much slower
-       * otherwise.
-       */
-      resolve(...paths) {
-        let r = "";
-        for (let i = paths.length - 1; i >= 0; i--) {
-          const p = paths[i];
-          if (!p || p === ".")
-            continue;
-          r = r ? `${p}/${r}` : p;
-          if (this.isAbsolute(p)) {
-            break;
-          }
-        }
-        const cached = this.#resolveCache.get(r);
-        if (cached !== void 0) {
-          return cached;
+      onUpgrade(statusCode, rawHeaders, socket) {
+        const { callback, opaque, context: context3 } = this;
+        removeSignal(this);
+        this.callback = null;
+        let headers = rawHeaders;
+        if (headers != null) {
+          headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
         }
-        const result = this.cwd.resolve(r).fullpath();
-        this.#resolveCache.set(r, result);
-        return result;
+        this.runInAsyncScope(callback, null, null, {
+          statusCode,
+          headers,
+          socket,
+          opaque,
+          context: context3
+        });
       }
-      /**
-       * Resolve one or more path strings to a resolved string, returning
-       * the posix path.  Identical to .resolve() on posix systems, but on
-       * windows will return a forward-slash separated UNC path.
-       *
-       * Same interface as require('path').resolve.
-       *
-       * Much faster than path.resolve() when called multiple times for the same
-       * path, because the resolved Path objects are cached.  Much slower
-       * otherwise.
-       */
-      resolvePosix(...paths) {
-        let r = "";
-        for (let i = paths.length - 1; i >= 0; i--) {
-          const p = paths[i];
-          if (!p || p === ".")
-            continue;
-          r = r ? `${p}/${r}` : p;
-          if (this.isAbsolute(p)) {
-            break;
-          }
-        }
-        const cached = this.#resolvePosixCache.get(r);
-        if (cached !== void 0) {
-          return cached;
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        const result = this.cwd.resolve(r).fullpathPosix();
-        this.#resolvePosixCache.set(r, result);
-        return result;
       }
-      /**
-       * find the relative path from the cwd to the supplied path string or entry
-       */
-      relative(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
+    };
+    function connect(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve8, reject) => {
+          connect.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve8(data);
+          });
+        });
+      }
+      try {
+        const connectHandler = new ConnectHandler(opts, callback);
+        this.dispatch({ ...opts, method: "CONNECT" }, connectHandler);
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
-        return entry.relative();
+        const opaque = opts && opts.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
-      /**
-       * find the relative path from the cwd to the supplied path string or
-       * entry, using / as the path delimiter, even on Windows.
-       */
-      relativePosix(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
+    }
+    module2.exports = connect;
+  }
+});
+
+// node_modules/undici/lib/api/index.js
+var require_api3 = __commonJS({
+  "node_modules/undici/lib/api/index.js"(exports2, module2) {
+    "use strict";
+    module2.exports.request = require_api_request3();
+    module2.exports.stream = require_api_stream3();
+    module2.exports.pipeline = require_api_pipeline3();
+    module2.exports.upgrade = require_api_upgrade3();
+    module2.exports.connect = require_api_connect3();
+  }
+});
+
+// node_modules/undici/lib/mock/mock-errors.js
+var require_mock_errors3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
+    "use strict";
+    var { UndiciError } = require_errors6();
+    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";
+      }
+    };
+    module2.exports = {
+      MockNotMatchedError
+    };
+  }
+});
+
+// node_modules/undici/lib/mock/mock-symbols.js
+var require_mock_symbols3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kAgent: /* @__PURE__ */ Symbol("agent"),
+      kOptions: /* @__PURE__ */ Symbol("options"),
+      kFactory: /* @__PURE__ */ Symbol("factory"),
+      kDispatches: /* @__PURE__ */ Symbol("dispatches"),
+      kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
+      kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
+      kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
+      kContentLength: /* @__PURE__ */ Symbol("content length"),
+      kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
+      kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
+      kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
+      kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
+      kClose: /* @__PURE__ */ Symbol("close"),
+      kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
+      kOrigin: /* @__PURE__ */ Symbol("origin"),
+      kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
+      kNetConnect: /* @__PURE__ */ Symbol("net connect"),
+      kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
+      kConnected: /* @__PURE__ */ Symbol("connected")
+    };
+  }
+});
+
+// node_modules/undici/lib/mock/mock-utils.js
+var require_mock_utils3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
+    "use strict";
+    var { MockNotMatchedError } = require_mock_errors3();
+    var {
+      kDispatches,
+      kMockAgent,
+      kOriginalDispatch,
+      kOrigin,
+      kGetNetConnect
+    } = require_mock_symbols3();
+    var { buildURL, nop } = require_util24();
+    var { STATUS_CODES } = require("http");
+    var {
+      types: {
+        isPromise
+      }
+    } = require("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 entry.relativePosix();
+        return void 0;
+      } else if (typeof headers.get === "function") {
+        return headers.get(key);
+      } else {
+        return lowerCaseEntries(headers)[key.toLocaleLowerCase()];
       }
-      /**
-       * Return the basename for the provided string or Path object
-       */
-      basename(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        }
-        return entry.name;
+    }
+    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 the dirname for the provided string or Path object
-       */
-      dirname(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
+      return Object.fromEntries(entries);
+    }
+    function matchHeaders(mockDispatch2, headers) {
+      if (typeof mockDispatch2.headers === "function") {
+        if (Array.isArray(headers)) {
+          headers = buildHeadersFromArray(headers);
         }
-        return (entry.parent || entry).fullpath();
+        return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {});
       }
-      async readdir(entry = this.cwd, opts = {
-        withFileTypes: true
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
-        }
-        const { withFileTypes } = opts;
-        if (!entry.canReaddir()) {
-          return [];
-        } else {
-          const p = await entry.readdir();
-          return withFileTypes ? p : p.map((e) => e.name);
-        }
+      if (typeof mockDispatch2.headers === "undefined") {
+        return true;
       }
-      readdirSync(entry = this.cwd, opts = {
-        withFileTypes: true
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
-        }
-        const { withFileTypes = true } = opts;
-        if (!entry.canReaddir()) {
-          return [];
-        } else if (withFileTypes) {
-          return entry.readdirSync();
-        } else {
-          return entry.readdirSync().map((e) => e.name);
-        }
+      if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") {
+        return false;
       }
-      /**
-       * Call lstat() on the string or Path object, and update all known
-       * information that can be determined.
-       *
-       * Note that unlike `fs.lstat()`, the returned value does not contain some
-       * information, such as `mode`, `dev`, `nlink`, and `ino`.  If that
-       * information is required, you will need to call `fs.lstat` yourself.
-       *
-       * If the Path refers to a nonexistent file, or if the lstat call fails for
-       * any reason, `undefined` is returned.  Otherwise the updated Path object is
-       * returned.
-       *
-       * Results are cached, and thus may be out of date if the filesystem is
-       * mutated.
-       */
-      async lstat(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
+      for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) {
+        const headerValue = getHeaderByName(headers, matchHeaderName);
+        if (!matchValue(matchHeaderValue, headerValue)) {
+          return false;
         }
-        return entry.lstat();
       }
-      /**
-       * synchronous {@link PathScurryBase.lstat}
-       */
-      lstatSync(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        }
-        return entry.lstatSync();
+      return true;
+    }
+    function safeUrl(path16) {
+      if (typeof path16 !== "string") {
+        return path16;
       }
-      async readlink(entry = this.cwd, { withFileTypes } = {
-        withFileTypes: false
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          withFileTypes = entry.withFileTypes;
-          entry = this.cwd;
-        }
-        const e = await entry.readlink();
-        return withFileTypes ? e : e?.fullpath();
+      const pathSegments = path16.split("?");
+      if (pathSegments.length !== 2) {
+        return path16;
       }
-      readlinkSync(entry = this.cwd, { withFileTypes } = {
-        withFileTypes: false
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          withFileTypes = entry.withFileTypes;
-          entry = this.cwd;
-        }
-        const e = entry.readlinkSync();
-        return withFileTypes ? e : e?.fullpath();
+      const qp = new URLSearchParams(pathSegments.pop());
+      qp.sort();
+      return [...pathSegments, qp.toString()].join("?");
+    }
+    function matchKey(mockDispatch2, { path: path16, method, body, headers }) {
+      const pathMatch = matchValue(mockDispatch2.path, path16);
+      const methodMatch = matchValue(mockDispatch2.method, method);
+      const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
+      const headersMatch = matchHeaders(mockDispatch2, headers);
+      return pathMatch && methodMatch && bodyMatch && headersMatch;
+    }
+    function getResponseData2(data) {
+      if (Buffer.isBuffer(data)) {
+        return data;
+      } else if (typeof data === "object") {
+        return JSON.stringify(data);
+      } else {
+        return data.toString();
       }
-      async realpath(entry = this.cwd, { withFileTypes } = {
-        withFileTypes: false
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          withFileTypes = entry.withFileTypes;
-          entry = this.cwd;
-        }
-        const e = await entry.realpath();
-        return withFileTypes ? e : e?.fullpath();
+    }
+    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: path16 }) => matchValue(safeUrl(path16), resolvedPath));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
       }
-      realpathSync(entry = this.cwd, { withFileTypes } = {
-        withFileTypes: false
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          withFileTypes = entry.withFileTypes;
-          entry = this.cwd;
-        }
-        const e = entry.realpathSync();
-        return withFileTypes ? e : e?.fullpath();
+      matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`);
       }
-      async walk(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
-        }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        const results = [];
-        if (!filter || filter(entry)) {
-          results.push(withFileTypes ? entry : entry.fullpath());
-        }
-        const dirs = /* @__PURE__ */ new Set();
-        const walk = (dir, cb) => {
-          dirs.add(dir);
-          dir.readdirCB((er, entries) => {
-            if (er) {
-              return cb(er);
-            }
-            let len = entries.length;
-            if (!len)
-              return cb();
-            const next = () => {
-              if (--len === 0) {
-                cb();
-              }
-            };
-            for (const e of entries) {
-              if (!filter || filter(e)) {
-                results.push(withFileTypes ? e : e.fullpath());
-              }
-              if (follow && e.isSymbolicLink()) {
-                e.realpath().then((r) => r?.isUnknown() ? r.lstat() : r).then((r) => r?.shouldWalk(dirs, walkFilter) ? walk(r, next) : next());
-              } else {
-                if (e.shouldWalk(dirs, walkFilter)) {
-                  walk(e, next);
-                } else {
-                  next();
-                }
-              }
-            }
-          }, true);
-        };
-        const start = entry;
-        return new Promise((res, rej) => {
-          walk(start, (er) => {
-            if (er)
-              return rej(er);
-            res(results);
-          });
-        });
+      matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`);
       }
-      walkSync(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
-        }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        const results = [];
-        if (!filter || filter(entry)) {
-          results.push(withFileTypes ? entry : entry.fullpath());
-        }
-        const dirs = /* @__PURE__ */ new Set([entry]);
-        for (const dir of dirs) {
-          const entries = dir.readdirSync();
-          for (const e of entries) {
-            if (!filter || filter(e)) {
-              results.push(withFileTypes ? e : e.fullpath());
-            }
-            let r = e;
-            if (e.isSymbolicLink()) {
-              if (!(follow && (r = e.realpathSync())))
-                continue;
-              if (r.isUnknown())
-                r.lstatSync();
-            }
-            if (r.shouldWalk(dirs, walkFilter)) {
-              dirs.add(r);
-            }
-          }
+      matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers}'`);
+      }
+      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 results;
+        return matchKey(dispatch, key);
+      });
+      if (index !== -1) {
+        mockDispatches.splice(index, 1);
       }
-      /**
-       * Support for `for await`
-       *
-       * Alias for {@link PathScurryBase.iterate}
-       *
-       * Note: As of Node 19, this is very slow, compared to other methods of
-       * walking.  Consider using {@link PathScurryBase.stream} if memory overhead
-       * and backpressure are concerns, or {@link PathScurryBase.walk} if not.
-       */
-      [Symbol.asyncIterator]() {
-        return this.iterate();
+    }
+    function buildKey(opts) {
+      const { path: path16, method, body, headers, query } = opts;
+      return {
+        path: path16,
+        method,
+        body,
+        headers,
+        query
+      };
+    }
+    function generateKeyValues(data) {
+      return Object.entries(data).reduce((keyValuePairs, [key, value]) => [
+        ...keyValuePairs,
+        Buffer.from(`${key}`),
+        Array.isArray(value) ? value.map((x) => Buffer.from(`${x}`)) : Buffer.from(`${value}`)
+      ], []);
+    }
+    function getStatusText(statusCode) {
+      return STATUS_CODES[statusCode] || "unknown";
+    }
+    async function getResponse(body) {
+      const buffers = [];
+      for await (const data of body) {
+        buffers.push(data);
       }
-      iterate(entry = this.cwd, options = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          options = entry;
-          entry = this.cwd;
-        }
-        return this.stream(entry, options)[Symbol.asyncIterator]();
+      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) };
       }
-      /**
-       * Iterating over a PathScurry performs a synchronous walk.
-       *
-       * Alias for {@link PathScurryBase.iterateSync}
-       */
-      [Symbol.iterator]() {
-        return this.iterateSync();
+      const { data: { statusCode, data, headers, trailers, error: error3 }, delay: delay2, persist } = mockDispatch2;
+      const { timesInvoked, times } = mockDispatch2;
+      mockDispatch2.consumed = !persist && timesInvoked >= times;
+      mockDispatch2.pending = timesInvoked < times;
+      if (error3 !== null) {
+        deleteMockDispatch(this[kDispatches], key);
+        handler2.onError(error3);
+        return true;
       }
-      *iterateSync(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
-        }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        if (!filter || filter(entry)) {
-          yield withFileTypes ? entry : entry.fullpath();
-        }
-        const dirs = /* @__PURE__ */ new Set([entry]);
-        for (const dir of dirs) {
-          const entries = dir.readdirSync();
-          for (const e of entries) {
-            if (!filter || filter(e)) {
-              yield withFileTypes ? e : e.fullpath();
-            }
-            let r = e;
-            if (e.isSymbolicLink()) {
-              if (!(follow && (r = e.realpathSync())))
-                continue;
-              if (r.isUnknown())
-                r.lstatSync();
-            }
-            if (r.shouldWalk(dirs, walkFilter)) {
-              dirs.add(r);
-            }
-          }
-        }
+      if (typeof delay2 === "number" && delay2 > 0) {
+        setTimeout(() => {
+          handleReply(this[kDispatches]);
+        }, delay2);
+      } else {
+        handleReply(this[kDispatches]);
       }
-      stream(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
-        }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        const results = new minipass_1.Minipass({ objectMode: true });
-        if (!filter || filter(entry)) {
-          results.write(withFileTypes ? entry : entry.fullpath());
+      function handleReply(mockDispatches, _data = data) {
+        const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
+        const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
+        if (isPromise(body)) {
+          body.then((newData) => handleReply(mockDispatches, newData));
+          return;
         }
-        const dirs = /* @__PURE__ */ new Set();
-        const queue = [entry];
-        let processing = 0;
-        const process2 = () => {
-          let paused = false;
-          while (!paused) {
-            const dir = queue.shift();
-            if (!dir) {
-              if (processing === 0)
-                results.end();
-              return;
-            }
-            processing++;
-            dirs.add(dir);
-            const onReaddir = (er, entries, didRealpaths = false) => {
-              if (er)
-                return results.emit("error", er);
-              if (follow && !didRealpaths) {
-                const promises5 = [];
-                for (const e of entries) {
-                  if (e.isSymbolicLink()) {
-                    promises5.push(e.realpath().then((r) => r?.isUnknown() ? r.lstat() : r));
-                  }
-                }
-                if (promises5.length) {
-                  Promise.all(promises5).then(() => onReaddir(null, entries, true));
-                  return;
-                }
-              }
-              for (const e of entries) {
-                if (e && (!filter || filter(e))) {
-                  if (!results.write(withFileTypes ? e : e.fullpath())) {
-                    paused = true;
-                  }
-                }
-              }
-              processing--;
-              for (const e of entries) {
-                const r = e.realpathCached() || e;
-                if (r.shouldWalk(dirs, walkFilter)) {
-                  queue.push(r);
-                }
-              }
-              if (paused && !results.flowing) {
-                results.once("drain", process2);
-              } else if (!sync) {
-                process2();
-              }
-            };
-            let sync = true;
-            dir.readdirCB(onReaddir, true);
-            sync = false;
-          }
-        };
-        process2();
-        return results;
+        const responseData = getResponseData2(body);
+        const responseHeaders = generateKeyValues(headers);
+        const responseTrailers = generateKeyValues(trailers);
+        handler2.abort = nop;
+        handler2.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode));
+        handler2.onData(Buffer.from(responseData));
+        handler2.onComplete(responseTrailers);
+        deleteMockDispatch(mockDispatches, key);
       }
-      streamSync(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
-        }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        const results = new minipass_1.Minipass({ objectMode: true });
-        const dirs = /* @__PURE__ */ new Set();
-        if (!filter || filter(entry)) {
-          results.write(withFileTypes ? entry : entry.fullpath());
-        }
-        const queue = [entry];
-        let processing = 0;
-        const process2 = () => {
-          let paused = false;
-          while (!paused) {
-            const dir = queue.shift();
-            if (!dir) {
-              if (processing === 0)
-                results.end();
-              return;
-            }
-            processing++;
-            dirs.add(dir);
-            const entries = dir.readdirSync();
-            for (const e of entries) {
-              if (!filter || filter(e)) {
-                if (!results.write(withFileTypes ? e : e.fullpath())) {
-                  paused = true;
-                }
-              }
-            }
-            processing--;
-            for (const e of entries) {
-              let r = e;
-              if (e.isSymbolicLink()) {
-                if (!(follow && (r = e.realpathSync())))
-                  continue;
-                if (r.isUnknown())
-                  r.lstatSync();
+      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 (error3) {
+            if (error3 instanceof MockNotMatchedError) {
+              const netConnect = agent[kGetNetConnect]();
+              if (netConnect === false) {
+                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)`);
               }
-              if (r.shouldWalk(dirs, walkFilter)) {
-                queue.push(r);
+              if (checkNetConnect(netConnect, origin)) {
+                originalDispatch.call(this, opts, handler2);
+              } else {
+                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
               }
+            } else {
+              throw error3;
             }
           }
-          if (paused && !results.flowing)
-            results.once("drain", process2);
-        };
-        process2();
-        return results;
-      }
-      chdir(path16 = this.cwd) {
-        const oldCwd = this.cwd;
-        this.cwd = typeof path16 === "string" ? this.cwd.resolve(path16) : path16;
-        this.cwd[setAsCwd](oldCwd);
-      }
-    };
-    exports2.PathScurryBase = PathScurryBase;
-    var PathScurryWin32 = class extends PathScurryBase {
-      /**
-       * separator for generating path strings
-       */
-      sep = "\\";
-      constructor(cwd = process.cwd(), opts = {}) {
-        const { nocase = true } = opts;
-        super(cwd, node_path_1.win32, "\\", { ...opts, nocase });
-        this.nocase = nocase;
-        for (let p = this.cwd; p; p = p.parent) {
-          p.nocase = this.nocase;
+        } else {
+          originalDispatch.call(this, opts, handler2);
         }
+      };
+    }
+    function checkNetConnect(netConnect, origin) {
+      const url2 = new URL(origin);
+      if (netConnect === true) {
+        return true;
+      } else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url2.host))) {
+        return true;
       }
-      /**
-       * @internal
-       */
-      parseRootPath(dir) {
-        return node_path_1.win32.parse(dir).root.toUpperCase();
-      }
-      /**
-       * @internal
-       */
-      newRoot(fs18) {
-        return new PathWin32(this.rootPath, IFDIR, void 0, this.roots, this.nocase, this.childrenCache(), { fs: fs18 });
-      }
-      /**
-       * Return true if the provided path string is an absolute path
-       */
-      isAbsolute(p) {
-        return p.startsWith("/") || p.startsWith("\\") || /^[a-z]:(\/|\\)/i.test(p);
+      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
     };
-    exports2.PathScurryWin32 = PathScurryWin32;
-    var PathScurryPosix = class extends PathScurryBase {
-      /**
-       * separator for generating path strings
-       */
-      sep = "/";
-      constructor(cwd = process.cwd(), opts = {}) {
-        const { nocase = false } = opts;
-        super(cwd, node_path_1.posix, "/", { ...opts, nocase });
-        this.nocase = nocase;
+  }
+});
+
+// node_modules/undici/lib/mock/mock-interceptor.js
+var require_mock_interceptor3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
+    "use strict";
+    var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils3();
+    var {
+      kDispatches,
+      kDispatchKey,
+      kDefaultHeaders,
+      kDefaultTrailers,
+      kContentLength,
+      kMockDispatch
+    } = require_mock_symbols3();
+    var { InvalidArgumentError } = require_errors6();
+    var { buildURL } = require_util24();
+    var MockScope = class {
+      constructor(mockDispatch) {
+        this[kMockDispatch] = mockDispatch;
       }
       /**
-       * @internal
+       * Delay a reply by a set amount in ms.
        */
-      parseRootPath(_dir) {
-        return "/";
+      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;
       }
       /**
-       * @internal
+       * For a defined reply, never mark as consumed.
        */
-      newRoot(fs18) {
-        return new PathPosix(this.rootPath, IFDIR, void 0, this.roots, this.nocase, this.childrenCache(), { fs: fs18 });
+      persist() {
+        this[kMockDispatch].persist = true;
+        return this;
       }
       /**
-       * Return true if the provided path string is an absolute path
+       * Allow one to define a reply for a set amount of matching requests.
        */
-      isAbsolute(p) {
-        return p.startsWith("/");
-      }
-    };
-    exports2.PathScurryPosix = PathScurryPosix;
-    var PathScurryDarwin = class extends PathScurryPosix {
-      constructor(cwd = process.cwd(), opts = {}) {
-        const { nocase = true } = opts;
-        super(cwd, { ...opts, nocase });
+      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;
       }
     };
-    exports2.PathScurryDarwin = PathScurryDarwin;
-    exports2.Path = process.platform === "win32" ? PathWin32 : PathPosix;
-    exports2.PathScurry = process.platform === "win32" ? PathScurryWin32 : process.platform === "darwin" ? PathScurryDarwin : PathScurryPosix;
-  }
-});
-
-// node_modules/glob/dist/commonjs/pattern.js
-var require_pattern = __commonJS({
-  "node_modules/glob/dist/commonjs/pattern.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Pattern = void 0;
-    var minimatch_1 = require_commonjs20();
-    var isPatternList = (pl) => pl.length >= 1;
-    var isGlobList = (gl) => gl.length >= 1;
-    var Pattern = class _Pattern {
-      #patternList;
-      #globList;
-      #index;
-      length;
-      #platform;
-      #rest;
-      #globString;
-      #isDrive;
-      #isUNC;
-      #isAbsolute;
-      #followGlobstar = true;
-      constructor(patternList, globList, index, platform) {
-        if (!isPatternList(patternList)) {
-          throw new TypeError("empty pattern list");
-        }
-        if (!isGlobList(globList)) {
-          throw new TypeError("empty glob list");
+    var MockInterceptor = class {
+      constructor(opts, mockDispatches) {
+        if (typeof opts !== "object") {
+          throw new InvalidArgumentError("opts must be an object");
         }
-        if (globList.length !== patternList.length) {
-          throw new TypeError("mismatched pattern list and glob list lengths");
+        if (typeof opts.path === "undefined") {
+          throw new InvalidArgumentError("opts.path must be defined");
         }
-        this.length = patternList.length;
-        if (index < 0 || index >= this.length) {
-          throw new TypeError("index out of range");
+        if (typeof opts.method === "undefined") {
+          opts.method = "GET";
         }
-        this.#patternList = patternList;
-        this.#globList = globList;
-        this.#index = index;
-        this.#platform = platform;
-        if (this.#index === 0) {
-          if (this.isUNC()) {
-            const [p0, p1, p2, p3, ...prest] = this.#patternList;
-            const [g0, g1, g2, g3, ...grest] = this.#globList;
-            if (prest[0] === "") {
-              prest.shift();
-              grest.shift();
-            }
-            const p = [p0, p1, p2, p3, ""].join("/");
-            const g = [g0, g1, g2, g3, ""].join("/");
-            this.#patternList = [p, ...prest];
-            this.#globList = [g, ...grest];
-            this.length = this.#patternList.length;
-          } else if (this.isDrive() || this.isAbsolute()) {
-            const [p1, ...prest] = this.#patternList;
-            const [g1, ...grest] = this.#globList;
-            if (prest[0] === "") {
-              prest.shift();
-              grest.shift();
-            }
-            const p = p1 + "/";
-            const g = g1 + "/";
-            this.#patternList = [p, ...prest];
-            this.#globList = [g, ...grest];
-            this.length = this.#patternList.length;
+        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;
       }
-      /**
-       * The first entry in the parsed list of patterns
-       */
-      pattern() {
-        return this.#patternList[this.#index];
-      }
-      /**
-       * true of if pattern() returns a string
-       */
-      isString() {
-        return typeof this.#patternList[this.#index] === "string";
-      }
-      /**
-       * true of if pattern() returns GLOBSTAR
-       */
-      isGlobstar() {
-        return this.#patternList[this.#index] === minimatch_1.GLOBSTAR;
+      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 };
       }
-      /**
-       * true if pattern() returns a regexp
-       */
-      isRegExp() {
-        return this.#patternList[this.#index] instanceof RegExp;
+      validateReplyParameters(statusCode, data, responseOptions) {
+        if (typeof statusCode === "undefined") {
+          throw new InvalidArgumentError("statusCode must be defined");
+        }
+        if (typeof data === "undefined") {
+          throw new InvalidArgumentError("data must be defined");
+        }
+        if (typeof responseOptions !== "object") {
+          throw new InvalidArgumentError("responseOptions must be an object");
+        }
       }
       /**
-       * The /-joined set of glob parts that make up this pattern
+       * Mock an undici request with a defined reply.
        */
-      globString() {
-        return this.#globString = this.#globString || (this.#index === 0 ? this.isAbsolute() ? this.#globList[0] + this.#globList.slice(1).join("/") : this.#globList.join("/") : this.#globList.slice(this.#index).join("/"));
+      reply(replyData) {
+        if (typeof replyData === "function") {
+          const wrappedDefaultsCallback = (opts) => {
+            const resolvedData = replyData(opts);
+            if (typeof resolvedData !== "object") {
+              throw new InvalidArgumentError("reply options callback must return an object");
+            }
+            const { statusCode: statusCode2, data: data2 = "", responseOptions: responseOptions2 = {} } = resolvedData;
+            this.validateReplyParameters(statusCode2, data2, responseOptions2);
+            return {
+              ...this.createMockScopeDispatchData(statusCode2, data2, responseOptions2)
+            };
+          };
+          const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback);
+          return new MockScope(newMockDispatch2);
+        }
+        const [statusCode, data = "", responseOptions = {}] = [...arguments];
+        this.validateReplyParameters(statusCode, data, responseOptions);
+        const dispatchData = this.createMockScopeDispatchData(statusCode, data, responseOptions);
+        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData);
+        return new MockScope(newMockDispatch);
       }
       /**
-       * true if there are more pattern parts after this one
+       * Mock an undici request with a defined error.
        */
-      hasMore() {
-        return this.length > this.#index + 1;
+      replyWithError(error3) {
+        if (typeof error3 === "undefined") {
+          throw new InvalidArgumentError("error must be defined");
+        }
+        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error: error3 });
+        return new MockScope(newMockDispatch);
       }
       /**
-       * The rest of the pattern after this part, or null if this is the end
+       * Set default reply headers on the interceptor for subsequent replies
        */
-      rest() {
-        if (this.#rest !== void 0)
-          return this.#rest;
-        if (!this.hasMore())
-          return this.#rest = null;
-        this.#rest = new _Pattern(this.#patternList, this.#globList, this.#index + 1, this.#platform);
-        this.#rest.#isAbsolute = this.#isAbsolute;
-        this.#rest.#isUNC = this.#isUNC;
-        this.#rest.#isDrive = this.#isDrive;
-        return this.#rest;
+      defaultReplyHeaders(headers) {
+        if (typeof headers === "undefined") {
+          throw new InvalidArgumentError("headers must be defined");
+        }
+        this[kDefaultHeaders] = headers;
+        return this;
       }
       /**
-       * true if the pattern represents a //unc/path/ on windows
+       * Set default reply trailers on the interceptor for subsequent replies
        */
-      isUNC() {
-        const pl = this.#patternList;
-        return this.#isUNC !== void 0 ? this.#isUNC : this.#isUNC = this.#platform === "win32" && this.#index === 0 && pl[0] === "" && pl[1] === "" && typeof pl[2] === "string" && !!pl[2] && typeof pl[3] === "string" && !!pl[3];
+      defaultReplyTrailers(trailers) {
+        if (typeof trailers === "undefined") {
+          throw new InvalidArgumentError("trailers must be defined");
+        }
+        this[kDefaultTrailers] = trailers;
+        return this;
       }
-      // pattern like C:/...
-      // split = ['C:', ...]
-      // XXX: would be nice to handle patterns like `c:*` to test the cwd
-      // in c: for *, but I don't know of a way to even figure out what that
-      // cwd is without actually chdir'ing into it?
       /**
-       * True if the pattern starts with a drive letter on Windows
+       * Set reply content length header for replies on the interceptor
        */
-      isDrive() {
-        const pl = this.#patternList;
-        return this.#isDrive !== void 0 ? this.#isDrive : this.#isDrive = this.#platform === "win32" && this.#index === 0 && this.length > 1 && typeof pl[0] === "string" && /^[a-z]:$/i.test(pl[0]);
+      replyContentLength() {
+        this[kContentLength] = true;
+        return this;
       }
-      // pattern = '/' or '/...' or '/x/...'
-      // split = ['', ''] or ['', ...] or ['', 'x', ...]
-      // Drive and UNC both considered absolute on windows
-      /**
-       * True if the pattern is rooted on an absolute path
-       */
-      isAbsolute() {
-        const pl = this.#patternList;
-        return this.#isAbsolute !== void 0 ? this.#isAbsolute : this.#isAbsolute = pl[0] === "" && pl.length > 1 || this.isDrive() || this.isUNC();
+    };
+    module2.exports.MockInterceptor = MockInterceptor;
+    module2.exports.MockScope = MockScope;
+  }
+});
+
+// node_modules/undici/lib/mock/mock-client.js
+var require_mock_client3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
+    "use strict";
+    var { promisify } = require("util");
+    var Client = require_client3();
+    var { buildMockDispatch } = require_mock_utils3();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols3();
+    var { MockInterceptor } = require_mock_interceptor3();
+    var Symbols = require_symbols11();
+    var { InvalidArgumentError } = require_errors6();
+    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];
       }
-      /**
-       * consume the root of the pattern, and return it
-       */
-      root() {
-        const p = this.#patternList[0];
-        return typeof p === "string" && this.isAbsolute() && this.#index === 0 ? p : "";
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
       /**
-       * Check to see if the current globstar pattern is allowed to follow
-       * a symbolic link.
+       * Sets up the base interceptor for mocking replies from undici.
        */
-      checkFollowGlobstar() {
-        return !(this.#index === 0 || !this.isGlobstar() || !this.#followGlobstar);
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
       }
-      /**
-       * Mark that the current globstar pattern is following a symbolic link
-       */
-      markFollowGlobstar() {
-        if (this.#index === 0 || !this.isGlobstar() || !this.#followGlobstar)
-          return false;
-        this.#followGlobstar = false;
-        return true;
+      async [kClose]() {
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
     };
-    exports2.Pattern = Pattern;
+    module2.exports = MockClient;
   }
 });
 
-// node_modules/glob/dist/commonjs/ignore.js
-var require_ignore = __commonJS({
-  "node_modules/glob/dist/commonjs/ignore.js"(exports2) {
+// node_modules/undici/lib/mock/mock-pool.js
+var require_mock_pool3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Ignore = void 0;
-    var minimatch_1 = require_commonjs20();
-    var pattern_js_1 = require_pattern();
-    var defaultPlatform = typeof process === "object" && process && typeof process.platform === "string" ? process.platform : "linux";
-    var Ignore = class {
-      relative;
-      relativeChildren;
-      absolute;
-      absoluteChildren;
-      platform;
-      mmopts;
-      constructor(ignored, { nobrace, nocase, noext, noglobstar, platform = defaultPlatform }) {
-        this.relative = [];
-        this.absolute = [];
-        this.relativeChildren = [];
-        this.absoluteChildren = [];
-        this.platform = platform;
-        this.mmopts = {
-          dot: true,
-          nobrace,
-          nocase,
-          noext,
-          noglobstar,
-          optimizationLevel: 2,
-          platform,
-          nocomment: true,
-          nonegate: true
-        };
-        for (const ign of ignored)
-          this.add(ign);
-      }
-      add(ign) {
-        const mm = new minimatch_1.Minimatch(ign, this.mmopts);
-        for (let i = 0; i < mm.set.length; i++) {
-          const parsed = mm.set[i];
-          const globParts = mm.globParts[i];
-          if (!parsed || !globParts) {
-            throw new Error("invalid pattern object");
-          }
-          while (parsed[0] === "." && globParts[0] === ".") {
-            parsed.shift();
-            globParts.shift();
-          }
-          const p = new pattern_js_1.Pattern(parsed, globParts, 0, this.platform);
-          const m = new minimatch_1.Minimatch(p.globString(), this.mmopts);
-          const children = globParts[globParts.length - 1] === "**";
-          const absolute = p.isAbsolute();
-          if (absolute)
-            this.absolute.push(m);
-          else
-            this.relative.push(m);
-          if (children) {
-            if (absolute)
-              this.absoluteChildren.push(m);
-            else
-              this.relativeChildren.push(m);
-          }
+    var { promisify } = require("util");
+    var Pool = require_pool3();
+    var { buildMockDispatch } = require_mock_utils3();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols3();
+    var { MockInterceptor } = require_mock_interceptor3();
+    var Symbols = require_symbols11();
+    var { InvalidArgumentError } = require_errors6();
+    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];
       }
-      ignored(p) {
-        const fullpath = p.fullpath();
-        const fullpaths = `${fullpath}/`;
-        const relative2 = p.relative() || ".";
-        const relatives = `${relative2}/`;
-        for (const m of this.relative) {
-          if (m.match(relative2) || m.match(relatives))
-            return true;
-        }
-        for (const m of this.absolute) {
-          if (m.match(fullpath) || m.match(fullpaths))
-            return true;
-        }
-        return false;
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
-      childrenIgnored(p) {
-        const fullpath = p.fullpath() + "/";
-        const relative2 = (p.relative() || ".") + "/";
-        for (const m of this.relativeChildren) {
-          if (m.match(relative2))
-            return true;
-        }
-        for (const m of this.absoluteChildren) {
-          if (m.match(fullpath))
-            return true;
-        }
-        return false;
+      /**
+       * 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]);
       }
     };
-    exports2.Ignore = Ignore;
+    module2.exports = MockPool;
   }
 });
 
-// node_modules/glob/dist/commonjs/processor.js
-var require_processor = __commonJS({
-  "node_modules/glob/dist/commonjs/processor.js"(exports2) {
+// node_modules/undici/lib/mock/pluralizer.js
+var require_pluralizer3 = __commonJS({
+  "node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Processor = exports2.SubWalks = exports2.MatchRecord = exports2.HasWalkedCache = void 0;
-    var minimatch_1 = require_commonjs20();
-    var HasWalkedCache = class _HasWalkedCache {
-      store;
-      constructor(store = /* @__PURE__ */ new Map()) {
-        this.store = store;
+    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;
       }
-      copy() {
-        return new _HasWalkedCache(new Map(this.store));
+      pluralize(count) {
+        const one = count === 1;
+        const keys = one ? singulars : plurals;
+        const noun = one ? this.singular : this.plural;
+        return { ...keys, count, noun };
       }
-      hasWalked(target, pattern) {
-        return this.store.get(target.fullpath())?.has(pattern.globString());
+    };
+  }
+});
+
+// node_modules/undici/lib/mock/pending-interceptors-formatter.js
+var require_pending_interceptors_formatter3 = __commonJS({
+  "node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
+    "use strict";
+    var { Transform } = require("stream");
+    var { Console } = require("console");
+    module2.exports = class PendingInterceptorsFormatter {
+      constructor({ disableColors } = {}) {
+        this.transform = new Transform({
+          transform(chunk, _enc, cb) {
+            cb(null, chunk);
+          }
+        });
+        this.logger = new Console({
+          stdout: this.transform,
+          inspectOptions: {
+            colors: !disableColors && !process.env.CI
+          }
+        });
       }
-      storeWalked(target, pattern) {
-        const fullpath = target.fullpath();
-        const cached = this.store.get(fullpath);
-        if (cached)
-          cached.add(pattern.globString());
-        else
-          this.store.set(fullpath, /* @__PURE__ */ new Set([pattern.globString()]));
+      format(pendingInterceptors) {
+        const withPrettyHeaders = pendingInterceptors.map(
+          ({ method, path: path16, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
+            Method: method,
+            Origin: origin,
+            Path: path16,
+            "Status code": statusCode,
+            Persistent: persist ? "\u2705" : "\u274C",
+            Invocations: timesInvoked,
+            Remaining: persist ? Infinity : times - timesInvoked
+          })
+        );
+        this.logger.table(withPrettyHeaders);
+        return this.transform.read().toString();
       }
     };
-    exports2.HasWalkedCache = HasWalkedCache;
-    var MatchRecord = class {
-      store = /* @__PURE__ */ new Map();
-      add(target, absolute, ifDir) {
-        const n = (absolute ? 2 : 0) | (ifDir ? 1 : 0);
-        const current = this.store.get(target);
-        this.store.set(target, current === void 0 ? n : n & current);
+  }
+});
+
+// node_modules/undici/lib/mock/mock-agent.js
+var require_mock_agent3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
+    "use strict";
+    var { kClients } = require_symbols11();
+    var Agent = require_agent3();
+    var {
+      kAgent,
+      kMockAgentSet,
+      kMockAgentGet,
+      kDispatches,
+      kIsMockActive,
+      kNetConnect,
+      kGetNetConnect,
+      kOptions,
+      kFactory
+    } = require_mock_symbols3();
+    var MockClient = require_mock_client3();
+    var MockPool = require_mock_pool3();
+    var { matchValue, buildMockOptions } = require_mock_utils3();
+    var { InvalidArgumentError, UndiciError } = require_errors6();
+    var Dispatcher = require_dispatcher3();
+    var Pluralizer = require_pluralizer3();
+    var PendingInterceptorsFormatter = require_pending_interceptors_formatter3();
+    var FakeWeakRef = class {
+      constructor(value) {
+        this.value = value;
       }
-      // match, absolute, ifdir
-      entries() {
-        return [...this.store.entries()].map(([path16, n]) => [
-          path16,
-          !!(n & 2),
-          !!(n & 1)
-        ]);
+      deref() {
+        return this.value;
       }
     };
-    exports2.MatchRecord = MatchRecord;
-    var SubWalks = class {
-      store = /* @__PURE__ */ new Map();
-      add(target, pattern) {
-        if (!target.canReaddir()) {
-          return;
+    var MockAgent = class extends Dispatcher {
+      constructor(opts) {
+        super(opts);
+        this[kNetConnect] = true;
+        this[kIsMockActive] = true;
+        if (opts && opts.agent && typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
         }
-        const subs = this.store.get(target);
-        if (subs) {
-          if (!subs.find((p) => p.globString() === pattern.globString())) {
-            subs.push(pattern);
-          }
-        } else
-          this.store.set(target, [pattern]);
+        const agent = opts && opts.agent ? opts.agent : new Agent(opts);
+        this[kAgent] = agent;
+        this[kClients] = agent[kClients];
+        this[kOptions] = buildMockOptions(opts);
       }
-      get(target) {
-        const subs = this.store.get(target);
-        if (!subs) {
-          throw new Error("attempting to walk unknown path");
+      get(origin) {
+        let dispatcher = this[kMockAgentGet](origin);
+        if (!dispatcher) {
+          dispatcher = this[kFactory](origin);
+          this[kMockAgentSet](origin, dispatcher);
         }
-        return subs;
+        return dispatcher;
       }
-      entries() {
-        return this.keys().map((k) => [k, this.store.get(k)]);
+      dispatch(opts, handler2) {
+        this.get(opts.origin);
+        return this[kAgent].dispatch(opts, handler2);
       }
-      keys() {
-        return [...this.store.keys()].filter((t) => t.canReaddir());
+      async close() {
+        await this[kAgent].close();
+        this[kClients].clear();
       }
-    };
-    exports2.SubWalks = SubWalks;
-    var Processor = class _Processor {
-      hasWalkedCache;
-      matches = new MatchRecord();
-      subwalks = new SubWalks();
-      patterns;
-      follow;
-      dot;
-      opts;
-      constructor(opts, hasWalkedCache) {
-        this.opts = opts;
-        this.follow = !!opts.follow;
-        this.dot = !!opts.dot;
-        this.hasWalkedCache = hasWalkedCache ? hasWalkedCache.copy() : new HasWalkedCache();
+      deactivate() {
+        this[kIsMockActive] = false;
       }
-      processPatterns(target, patterns) {
-        this.patterns = patterns;
-        const processingSet = patterns.map((p) => [target, p]);
-        for (let [t, pattern] of processingSet) {
-          this.hasWalkedCache.storeWalked(t, pattern);
-          const root = pattern.root();
-          const absolute = pattern.isAbsolute() && this.opts.absolute !== false;
-          if (root) {
-            t = t.resolve(root === "/" && this.opts.root !== void 0 ? this.opts.root : root);
-            const rest2 = pattern.rest();
-            if (!rest2) {
-              this.matches.add(t, true, false);
-              continue;
-            } else {
-              pattern = rest2;
-            }
-          }
-          if (t.isENOENT())
-            continue;
-          let p;
-          let rest;
-          let changed = false;
-          while (typeof (p = pattern.pattern()) === "string" && (rest = pattern.rest())) {
-            const c = t.resolve(p);
-            t = c;
-            pattern = rest;
-            changed = true;
-          }
-          p = pattern.pattern();
-          rest = pattern.rest();
-          if (changed) {
-            if (this.hasWalkedCache.hasWalked(t, pattern))
-              continue;
-            this.hasWalkedCache.storeWalked(t, pattern);
-          }
-          if (typeof p === "string") {
-            const ifDir = p === ".." || p === "" || p === ".";
-            this.matches.add(t.resolve(p), absolute, ifDir);
-            continue;
-          } else if (p === minimatch_1.GLOBSTAR) {
-            if (!t.isSymbolicLink() || this.follow || pattern.checkFollowGlobstar()) {
-              this.subwalks.add(t, pattern);
-            }
-            const rp = rest?.pattern();
-            const rrest = rest?.rest();
-            if (!rest || (rp === "" || rp === ".") && !rrest) {
-              this.matches.add(t, absolute, rp === "" || rp === ".");
-            } else {
-              if (rp === "..") {
-                const tp = t.parent || t;
-                if (!rrest)
-                  this.matches.add(tp, absolute, true);
-                else if (!this.hasWalkedCache.hasWalked(tp, rrest)) {
-                  this.subwalks.add(tp, rrest);
-                }
-              }
-            }
-          } else if (p instanceof RegExp) {
-            this.subwalks.add(t, pattern);
+      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.");
         }
-        return this;
       }
-      subwalkTargets() {
-        return this.subwalks.keys();
+      disableNetConnect() {
+        this[kNetConnect] = false;
       }
-      child() {
-        return new _Processor(this.opts, this.hasWalkedCache);
+      // This is required to bypass issues caused by using global symbols - see:
+      // https://github.com/nodejs/undici/issues/1447
+      get isMockActive() {
+        return this[kIsMockActive];
       }
-      // return a new Processor containing the subwalks for each
-      // child entry, and a set of matches, and
-      // a hasWalkedCache that's a copy of this one
-      // then we're going to call
-      filterEntries(parent, entries) {
-        const patterns = this.subwalks.get(parent);
-        const results = this.child();
-        for (const e of entries) {
-          for (const pattern of patterns) {
-            const absolute = pattern.isAbsolute();
-            const p = pattern.pattern();
-            const rest = pattern.rest();
-            if (p === minimatch_1.GLOBSTAR) {
-              results.testGlobstar(e, pattern, rest, absolute);
-            } else if (p instanceof RegExp) {
-              results.testRegExp(e, p, rest, absolute);
-            } else {
-              results.testString(e, p, rest, absolute);
-            }
-          }
-        }
-        return results;
+      [kMockAgentSet](origin, dispatcher) {
+        this[kClients].set(origin, new FakeWeakRef(dispatcher));
       }
-      testGlobstar(e, pattern, rest, absolute) {
-        if (this.dot || !e.name.startsWith(".")) {
-          if (!pattern.hasMore()) {
-            this.matches.add(e, absolute, false);
-          }
-          if (e.canReaddir()) {
-            if (this.follow || !e.isSymbolicLink()) {
-              this.subwalks.add(e, pattern);
-            } else if (e.isSymbolicLink()) {
-              if (rest && pattern.checkFollowGlobstar()) {
-                this.subwalks.add(e, rest);
-              } else if (pattern.markFollowGlobstar()) {
-                this.subwalks.add(e, pattern);
-              }
-            }
-          }
+      [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 ref = this[kClients].get(origin);
+        if (ref) {
+          return ref.deref();
         }
-        if (rest) {
-          const rp = rest.pattern();
-          if (typeof rp === "string" && // dots and empty were handled already
-          rp !== ".." && rp !== "" && rp !== ".") {
-            this.testString(e, rp, rest.rest(), absolute);
-          } else if (rp === "..") {
-            const ep = e.parent || e;
-            this.subwalks.add(ep, rest);
-          } else if (rp instanceof RegExp) {
-            this.testRegExp(e, rp, rest.rest(), absolute);
+        if (typeof origin !== "string") {
+          const dispatcher = this[kFactory]("http://localhost:9999");
+          this[kMockAgentSet](origin, dispatcher);
+          return dispatcher;
+        }
+        for (const [keyMatcher, nonExplicitRef] of Array.from(this[kClients])) {
+          const nonExplicitDispatcher = nonExplicitRef.deref();
+          if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) {
+            const dispatcher = this[kFactory](origin);
+            this[kMockAgentSet](origin, dispatcher);
+            dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches];
+            return dispatcher;
           }
         }
       }
-      testRegExp(e, p, rest, absolute) {
-        if (!p.test(e.name))
-          return;
-        if (!rest) {
-          this.matches.add(e, absolute, false);
-        } else {
-          this.subwalks.add(e, rest);
-        }
+      [kGetNetConnect]() {
+        return this[kNetConnect];
       }
-      testString(e, p, rest, absolute) {
-        if (!e.isNamed(p))
+      pendingInterceptors() {
+        const mockAgentClients = this[kClients];
+        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope.deref()[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
+      }
+      assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) {
+        const pending = this.pendingInterceptors();
+        if (pending.length === 0) {
           return;
-        if (!rest) {
-          this.matches.add(e, absolute, false);
-        } else {
-          this.subwalks.add(e, rest);
         }
+        const pluralizer = new Pluralizer("interceptor", "interceptors").pluralize(pending.length);
+        throw new UndiciError(`
+${pluralizer.count} ${pluralizer.noun} ${pluralizer.is} pending:
+
+${pendingInterceptorsFormatter.format(pending)}
+`.trim());
       }
     };
-    exports2.Processor = Processor;
+    module2.exports = MockAgent;
   }
 });
 
-// node_modules/glob/dist/commonjs/walker.js
-var require_walker = __commonJS({
-  "node_modules/glob/dist/commonjs/walker.js"(exports2) {
+// node_modules/undici/lib/proxy-agent.js
+var require_proxy_agent3 = __commonJS({
+  "node_modules/undici/lib/proxy-agent.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.GlobStream = exports2.GlobWalker = exports2.GlobUtil = void 0;
-    var minipass_1 = require_commonjs22();
-    var ignore_js_1 = require_ignore();
-    var processor_js_1 = require_processor();
-    var makeIgnore = (ignore, opts) => typeof ignore === "string" ? new ignore_js_1.Ignore([ignore], opts) : Array.isArray(ignore) ? new ignore_js_1.Ignore(ignore, opts) : ignore;
-    var GlobUtil = class {
-      path;
-      patterns;
-      opts;
-      seen = /* @__PURE__ */ new Set();
-      paused = false;
-      aborted = false;
-      #onResume = [];
-      #ignore;
-      #sep;
-      signal;
-      maxDepth;
-      includeChildMatches;
-      constructor(patterns, path16, opts) {
-        this.patterns = patterns;
-        this.path = path16;
-        this.opts = opts;
-        this.#sep = !opts.posix && opts.platform === "win32" ? "\\" : "/";
-        this.includeChildMatches = opts.includeChildMatches !== false;
-        if (opts.ignore || !this.includeChildMatches) {
-          this.#ignore = makeIgnore(opts.ignore ?? [], opts);
-          if (!this.includeChildMatches && typeof this.#ignore.add !== "function") {
-            const m = "cannot ignore child matches, ignore lacks add() method.";
-            throw new Error(m);
-          }
-        }
-        this.maxDepth = opts.maxDepth || Infinity;
-        if (opts.signal) {
-          this.signal = opts.signal;
-          this.signal.addEventListener("abort", () => {
-            this.#onResume.length = 0;
-          });
-        }
-      }
-      #ignored(path16) {
-        return this.seen.has(path16) || !!this.#ignore?.ignored?.(path16);
-      }
-      #childrenIgnored(path16) {
-        return !!this.#ignore?.childrenIgnored?.(path16);
-      }
-      // backpressure mechanism
-      pause() {
-        this.paused = true;
+    var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols11();
+    var { URL: URL2 } = require("url");
+    var Agent = require_agent3();
+    var Pool = require_pool3();
+    var DispatcherBase = require_dispatcher_base3();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors6();
+    var buildConnector = require_connect3();
+    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
+    var kClient = /* @__PURE__ */ Symbol("proxy client");
+    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
+    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
+    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
+    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
+    function defaultProtocolPort(protocol) {
+      return protocol === "https:" ? 443 : 80;
+    }
+    function buildProxyOptions(opts) {
+      if (typeof opts === "string") {
+        opts = { uri: opts };
       }
-      resume() {
-        if (this.signal?.aborted)
-          return;
-        this.paused = false;
-        let fn = void 0;
-        while (!this.paused && (fn = this.#onResume.shift())) {
-          fn();
-        }
+      if (!opts || !opts.uri) {
+        throw new InvalidArgumentError("Proxy opts.uri is mandatory");
       }
-      onResume(fn) {
-        if (this.signal?.aborted)
-          return;
-        if (!this.paused) {
-          fn();
-        } else {
-          this.#onResume.push(fn);
+      return {
+        uri: opts.uri,
+        protocol: opts.protocol || "https"
+      };
+    }
+    function defaultFactory(origin, opts) {
+      return new Pool(origin, opts);
+    }
+    var ProxyAgent = class extends DispatcherBase {
+      constructor(opts) {
+        super(opts);
+        this[kProxy] = buildProxyOptions(opts);
+        this[kAgent] = new Agent(opts);
+        this[kInterceptors] = opts.interceptors && opts.interceptors.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : [];
+        if (typeof opts === "string") {
+          opts = { uri: opts };
         }
-      }
-      // do the requisite realpath/stat checking, and return the path
-      // to add or undefined to filter it out.
-      async matchCheck(e, ifDir) {
-        if (ifDir && this.opts.nodir)
-          return void 0;
-        let rpc;
-        if (this.opts.realpath) {
-          rpc = e.realpathCached() || await e.realpath();
-          if (!rpc)
-            return void 0;
-          e = rpc;
+        if (!opts || !opts.uri) {
+          throw new InvalidArgumentError("Proxy opts.uri is mandatory");
         }
-        const needStat = e.isUnknown() || this.opts.stat;
-        const s = needStat ? await e.lstat() : e;
-        if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) {
-          const target = await s.realpath();
-          if (target && (target.isUnknown() || this.opts.stat)) {
-            await target.lstat();
-          }
+        const { clientFactory = defaultFactory } = opts;
+        if (typeof clientFactory !== "function") {
+          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
         }
-        return this.matchCheckTest(s, ifDir);
-      }
-      matchCheckTest(e, ifDir) {
-        return e && (this.maxDepth === Infinity || e.depth() <= this.maxDepth) && (!ifDir || e.canReaddir()) && (!this.opts.nodir || !e.isDirectory()) && (!this.opts.nodir || !this.opts.follow || !e.isSymbolicLink() || !e.realpathCached()?.isDirectory()) && !this.#ignored(e) ? e : void 0;
-      }
-      matchCheckSync(e, ifDir) {
-        if (ifDir && this.opts.nodir)
-          return void 0;
-        let rpc;
-        if (this.opts.realpath) {
-          rpc = e.realpathCached() || e.realpathSync();
-          if (!rpc)
-            return void 0;
-          e = rpc;
+        this[kRequestTls] = opts.requestTls;
+        this[kProxyTls] = opts.proxyTls;
+        this[kProxyHeaders] = opts.headers || {};
+        const resolvedUrl = new URL2(opts.uri);
+        const { origin, port, host, username, password } = resolvedUrl;
+        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 needStat = e.isUnknown() || this.opts.stat;
-        const s = needStat ? e.lstatSync() : e;
-        if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) {
-          const target = s.realpathSync();
-          if (target && (target?.isUnknown() || this.opts.stat)) {
-            target.lstatSync();
+        const connect = buildConnector({ ...opts.proxyTls });
+        this[kConnectEndpoint] = buildConnector({ ...opts.requestTls });
+        this[kClient] = clientFactory(resolvedUrl, { connect });
+        this[kAgent] = new Agent({
+          ...opts,
+          connect: async (opts2, callback) => {
+            let requestedHost = opts2.host;
+            if (!opts2.port) {
+              requestedHost += `:${defaultProtocolPort(opts2.protocol)}`;
+            }
+            try {
+              const { socket, statusCode } = await this[kClient].connect({
+                origin,
+                port,
+                path: requestedHost,
+                signal: opts2.signal,
+                headers: {
+                  ...this[kProxyHeaders],
+                  host
+                }
+              });
+              if (statusCode !== 200) {
+                socket.on("error", () => {
+                }).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) {
+              callback(err);
+            }
           }
-        }
-        return this.matchCheckTest(s, ifDir);
-      }
-      matchFinish(e, absolute) {
-        if (this.#ignored(e))
-          return;
-        if (!this.includeChildMatches && this.#ignore?.add) {
-          const ign = `${e.relativePosix()}/**`;
-          this.#ignore.add(ign);
-        }
-        const abs = this.opts.absolute === void 0 ? absolute : this.opts.absolute;
-        this.seen.add(e);
-        const mark = this.opts.mark && e.isDirectory() ? this.#sep : "";
-        if (this.opts.withFileTypes) {
-          this.matchEmit(e);
-        } else if (abs) {
-          const abs2 = this.opts.posix ? e.fullpathPosix() : e.fullpath();
-          this.matchEmit(abs2 + mark);
-        } else {
-          const rel = this.opts.posix ? e.relativePosix() : e.relative();
-          const pre = this.opts.dotRelative && !rel.startsWith(".." + this.#sep) ? "." + this.#sep : "";
-          this.matchEmit(!rel ? "." + mark : pre + rel + mark);
-        }
-      }
-      async match(e, absolute, ifDir) {
-        const p = await this.matchCheck(e, ifDir);
-        if (p)
-          this.matchFinish(p, absolute);
+        });
       }
-      matchSync(e, absolute, ifDir) {
-        const p = this.matchCheckSync(e, ifDir);
-        if (p)
-          this.matchFinish(p, absolute);
+      dispatch(opts, handler2) {
+        const { host } = new URL2(opts.origin);
+        const headers = buildHeaders(opts.headers);
+        throwIfProxyAuthIsSent(headers);
+        return this[kAgent].dispatch(
+          {
+            ...opts,
+            headers: {
+              ...headers,
+              host
+            }
+          },
+          handler2
+        );
       }
-      walkCB(target, patterns, cb) {
-        if (this.signal?.aborted)
-          cb();
-        this.walkCB2(target, patterns, new processor_js_1.Processor(this.opts), cb);
+      async [kClose]() {
+        await this[kAgent].close();
+        await this[kClient].close();
       }
-      walkCB2(target, patterns, processor, cb) {
-        if (this.#childrenIgnored(target))
-          return cb();
-        if (this.signal?.aborted)
-          cb();
-        if (this.paused) {
-          this.onResume(() => this.walkCB2(target, patterns, processor, cb));
-          return;
-        }
-        processor.processPatterns(target, patterns);
-        let tasks = 1;
-        const next = () => {
-          if (--tasks === 0)
-            cb();
-        };
-        for (const [m, absolute, ifDir] of processor.matches.entries()) {
-          if (this.#ignored(m))
-            continue;
-          tasks++;
-          this.match(m, absolute, ifDir).then(() => next());
-        }
-        for (const t of processor.subwalkTargets()) {
-          if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {
-            continue;
-          }
-          tasks++;
-          const childrenCached = t.readdirCached();
-          if (t.calledReaddir())
-            this.walkCB3(t, childrenCached, processor, next);
-          else {
-            t.readdirCB((_2, entries) => this.walkCB3(t, entries, processor, next), true);
-          }
-        }
-        next();
+      async [kDestroy]() {
+        await this[kAgent].destroy();
+        await this[kClient].destroy();
       }
-      walkCB3(target, entries, processor, cb) {
-        processor = processor.filterEntries(target, entries);
-        let tasks = 1;
-        const next = () => {
-          if (--tasks === 0)
-            cb();
-        };
-        for (const [m, absolute, ifDir] of processor.matches.entries()) {
-          if (this.#ignored(m))
-            continue;
-          tasks++;
-          this.match(m, absolute, ifDir).then(() => next());
-        }
-        for (const [target2, patterns] of processor.subwalks.entries()) {
-          tasks++;
-          this.walkCB2(target2, patterns, processor.child(), next);
+    };
+    function buildHeaders(headers) {
+      if (Array.isArray(headers)) {
+        const headersPair = {};
+        for (let i = 0; i < headers.length; i += 2) {
+          headersPair[headers[i]] = headers[i + 1];
         }
-        next();
+        return headersPair;
       }
-      walkCBSync(target, patterns, cb) {
-        if (this.signal?.aborted)
-          cb();
-        this.walkCB2Sync(target, patterns, new processor_js_1.Processor(this.opts), cb);
+      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");
       }
-      walkCB2Sync(target, patterns, processor, cb) {
-        if (this.#childrenIgnored(target))
-          return cb();
-        if (this.signal?.aborted)
-          cb();
-        if (this.paused) {
-          this.onResume(() => this.walkCB2Sync(target, patterns, processor, cb));
-          return;
-        }
-        processor.processPatterns(target, patterns);
-        let tasks = 1;
-        const next = () => {
-          if (--tasks === 0)
-            cb();
+    }
+    module2.exports = ProxyAgent;
+  }
+});
+
+// node_modules/undici/lib/handler/RetryHandler.js
+var require_RetryHandler = __commonJS({
+  "node_modules/undici/lib/handler/RetryHandler.js"(exports2, module2) {
+    var assert = require("assert");
+    var { kRetryHandlerDefaultRetry } = require_symbols11();
+    var { RequestRetryError } = require_errors6();
+    var { isDisturbed, parseHeaders, parseRangeHeader } = require_util24();
+    function calculateRetryAfterHeader(retryAfter) {
+      const current = Date.now();
+      const diff = new Date(retryAfter).getTime() - current;
+      return diff;
+    }
+    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;
+        this.abort = null;
+        this.aborted = false;
+        this.retryOpts = {
+          retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry],
+          retryAfter: retryAfter ?? true,
+          maxTimeout: maxTimeout ?? 30 * 1e3,
+          // 30s,
+          timeout: 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"
+          ]
         };
-        for (const [m, absolute, ifDir] of processor.matches.entries()) {
-          if (this.#ignored(m))
-            continue;
-          this.matchSync(m, absolute, ifDir);
-        }
-        for (const t of processor.subwalkTargets()) {
-          if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {
-            continue;
+        this.retryCount = 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;
           }
-          tasks++;
-          const children = t.readdirSync();
-          this.walkCB3Sync(t, children, processor, next);
-        }
-        next();
-      }
-      walkCB3Sync(target, entries, processor, cb) {
-        processor = processor.filterEntries(target, entries);
-        let tasks = 1;
-        const next = () => {
-          if (--tasks === 0)
-            cb();
-        };
-        for (const [m, absolute, ifDir] of processor.matches.entries()) {
-          if (this.#ignored(m))
-            continue;
-          this.matchSync(m, absolute, ifDir);
-        }
-        for (const [target2, patterns] of processor.subwalks.entries()) {
-          tasks++;
-          this.walkCB2Sync(target2, patterns, processor.child(), next);
-        }
-        next();
-      }
-    };
-    exports2.GlobUtil = GlobUtil;
-    var GlobWalker = class extends GlobUtil {
-      matches = /* @__PURE__ */ new Set();
-      constructor(patterns, path16, opts) {
-        super(patterns, path16, opts);
-      }
-      matchEmit(e) {
-        this.matches.add(e);
-      }
-      async walk() {
-        if (this.signal?.aborted)
-          throw this.signal.reason;
-        if (this.path.isUnknown()) {
-          await this.path.lstat();
-        }
-        await new Promise((res, rej) => {
-          this.walkCB(this.path, this.patterns, () => {
-            if (this.signal?.aborted) {
-              rej(this.signal.reason);
-            } else {
-              res(this.matches);
-            }
-          });
         });
-        return this.matches;
       }
-      walkSync() {
-        if (this.signal?.aborted)
-          throw this.signal.reason;
-        if (this.path.isUnknown()) {
-          this.path.lstatSync();
+      onRequestSent() {
+        if (this.handler.onRequestSent) {
+          this.handler.onRequestSent();
         }
-        this.walkCBSync(this.path, this.patterns, () => {
-          if (this.signal?.aborted)
-            throw this.signal.reason;
-        });
-        return this.matches;
-      }
-    };
-    exports2.GlobWalker = GlobWalker;
-    var GlobStream = class extends GlobUtil {
-      results;
-      constructor(patterns, path16, opts) {
-        super(patterns, path16, opts);
-        this.results = new minipass_1.Minipass({
-          signal: this.signal,
-          objectMode: true
-        });
-        this.results.on("drain", () => this.resume());
-        this.results.on("resume", () => this.resume());
       }
-      matchEmit(e) {
-        this.results.write(e);
-        if (!this.results.flowing)
-          this.pause();
+      onUpgrade(statusCode, headers, socket) {
+        if (this.handler.onUpgrade) {
+          this.handler.onUpgrade(statusCode, headers, socket);
+        }
       }
-      stream() {
-        const target = this.path;
-        if (target.isUnknown()) {
-          target.lstat().then(() => {
-            this.walkCB(target, this.patterns, () => this.results.end());
-          });
+      onConnect(abort) {
+        if (this.aborted) {
+          abort(this.reason);
         } else {
-          this.walkCB(target, this.patterns, () => this.results.end());
+          this.abort = abort;
         }
-        return this.results;
       }
-      streamSync() {
-        if (this.path.isUnknown()) {
-          this.path.lstatSync();
-        }
-        this.walkCBSync(this.path, this.patterns, () => this.results.end());
-        return this.results;
+      onBodySent(chunk) {
+        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
       }
-    };
-    exports2.GlobStream = GlobStream;
-  }
-});
-
-// node_modules/glob/dist/commonjs/glob.js
-var require_glob2 = __commonJS({
-  "node_modules/glob/dist/commonjs/glob.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Glob = void 0;
-    var minimatch_1 = require_commonjs20();
-    var node_url_1 = require("node:url");
-    var path_scurry_1 = require_commonjs23();
-    var pattern_js_1 = require_pattern();
-    var walker_js_1 = require_walker();
-    var defaultPlatform = typeof process === "object" && process && typeof process.platform === "string" ? process.platform : "linux";
-    var Glob = class {
-      absolute;
-      cwd;
-      root;
-      dot;
-      dotRelative;
-      follow;
-      ignore;
-      magicalBraces;
-      mark;
-      matchBase;
-      maxDepth;
-      nobrace;
-      nocase;
-      nodir;
-      noext;
-      noglobstar;
-      pattern;
-      platform;
-      realpath;
-      scurry;
-      stat;
-      signal;
-      windowsPathsNoEscape;
-      withFileTypes;
-      includeChildMatches;
-      /**
-       * The options provided to the constructor.
-       */
-      opts;
-      /**
-       * An array of parsed immutable {@link Pattern} objects.
-       */
-      patterns;
-      /**
-       * All options are stored as properties on the `Glob` object.
-       *
-       * See {@link GlobOptions} for full options descriptions.
-       *
-       * Note that a previous `Glob` object can be passed as the
-       * `GlobOptions` to another `Glob` instantiation to re-use settings
-       * and caches with a new pattern.
-       *
-       * Traversal functions can be called multiple times to run the walk
-       * again.
-       */
-      constructor(pattern, opts) {
-        if (!opts)
-          throw new TypeError("glob options required");
-        this.withFileTypes = !!opts.withFileTypes;
-        this.signal = opts.signal;
-        this.follow = !!opts.follow;
-        this.dot = !!opts.dot;
-        this.dotRelative = !!opts.dotRelative;
-        this.nodir = !!opts.nodir;
-        this.mark = !!opts.mark;
-        if (!opts.cwd) {
-          this.cwd = "";
-        } else if (opts.cwd instanceof URL || opts.cwd.startsWith("file://")) {
-          opts.cwd = (0, node_url_1.fileURLToPath)(opts.cwd);
+      static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) {
+        const { statusCode, code, headers } = err;
+        const { method, retryOptions } = opts;
+        const {
+          maxRetries,
+          timeout,
+          maxTimeout,
+          timeoutFactor,
+          statusCodes,
+          errorCodes,
+          methods
+        } = retryOptions;
+        let { counter, currentTimeout } = state;
+        currentTimeout = currentTimeout != null && currentTimeout > 0 ? currentTimeout : timeout;
+        if (code && code !== "UND_ERR_REQ_RETRY" && code !== "UND_ERR_SOCKET" && !errorCodes.includes(code)) {
+          cb(err);
+          return;
+        }
+        if (Array.isArray(methods) && !methods.includes(method)) {
+          cb(err);
+          return;
         }
-        this.cwd = opts.cwd || "";
-        this.root = opts.root;
-        this.magicalBraces = !!opts.magicalBraces;
-        this.nobrace = !!opts.nobrace;
-        this.noext = !!opts.noext;
-        this.realpath = !!opts.realpath;
-        this.absolute = opts.absolute;
-        this.includeChildMatches = opts.includeChildMatches !== false;
-        this.noglobstar = !!opts.noglobstar;
-        this.matchBase = !!opts.matchBase;
-        this.maxDepth = typeof opts.maxDepth === "number" ? opts.maxDepth : Infinity;
-        this.stat = !!opts.stat;
-        this.ignore = opts.ignore;
-        if (this.withFileTypes && this.absolute !== void 0) {
-          throw new Error("cannot set absolute and withFileTypes:true");
+        if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) {
+          cb(err);
+          return;
         }
-        if (typeof pattern === "string") {
-          pattern = [pattern];
+        if (counter > maxRetries) {
+          cb(err);
+          return;
         }
-        this.windowsPathsNoEscape = !!opts.windowsPathsNoEscape || opts.allowWindowsEscape === false;
-        if (this.windowsPathsNoEscape) {
-          pattern = pattern.map((p) => p.replace(/\\/g, "/"));
+        let retryAfterHeader = headers != null && headers["retry-after"];
+        if (retryAfterHeader) {
+          retryAfterHeader = Number(retryAfterHeader);
+          retryAfterHeader = isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3;
         }
-        if (this.matchBase) {
-          if (opts.noglobstar) {
-            throw new TypeError("base matching requires globstar");
+        const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(currentTimeout * timeoutFactor ** counter, maxTimeout);
+        state.currentTimeout = retryTimeout;
+        setTimeout(() => cb(null), retryTimeout);
+      }
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const headers = parseHeaders(rawHeaders);
+        this.retryCount += 1;
+        if (statusCode >= 300) {
+          this.abort(
+            new RequestRetryError("Request failed", statusCode, {
+              headers,
+              count: this.retryCount
+            })
+          );
+          return false;
+        }
+        if (this.resume != null) {
+          this.resume = null;
+          if (statusCode !== 206) {
+            return true;
           }
-          pattern = pattern.map((p) => p.includes("/") ? p : `./**/${p}`);
+          const contentRange = parseRangeHeader(headers["content-range"]);
+          if (!contentRange) {
+            this.abort(
+              new RequestRetryError("Content-Range mismatch", statusCode, {
+                headers,
+                count: this.retryCount
+              })
+            );
+            return false;
+          }
+          if (this.etag != null && this.etag !== headers.etag) {
+            this.abort(
+              new RequestRetryError("ETag mismatch", statusCode, {
+                headers,
+                count: this.retryCount
+              })
+            );
+            return false;
+          }
+          const { start, size, end = size } = contentRange;
+          assert(this.start === start, "content-range mismatch");
+          assert(this.end == null || this.end === end, "content-range mismatch");
+          this.resume = resume;
+          return true;
         }
-        this.pattern = pattern;
-        this.platform = opts.platform || defaultPlatform;
-        this.opts = { ...opts, platform: this.platform };
-        if (opts.scurry) {
-          this.scurry = opts.scurry;
-          if (opts.nocase !== void 0 && opts.nocase !== opts.scurry.nocase) {
-            throw new Error("nocase option contradicts provided scurry option");
+        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 } = range;
+            assert(
+              start != null && Number.isFinite(start) && this.start !== start,
+              "content-range mismatch"
+            );
+            assert(Number.isFinite(start));
+            assert(
+              end != null && Number.isFinite(end) && this.end !== end,
+              "invalid content-length"
+            );
+            this.start = start;
+            this.end = end;
           }
-        } else {
-          const Scurry = opts.platform === "win32" ? path_scurry_1.PathScurryWin32 : opts.platform === "darwin" ? path_scurry_1.PathScurryDarwin : opts.platform ? path_scurry_1.PathScurryPosix : path_scurry_1.PathScurry;
-          this.scurry = new Scurry(this.cwd, {
-            nocase: opts.nocase,
-            fs: opts.fs
-          });
+          if (this.end == null) {
+            const contentLength = headers["content-length"];
+            this.end = contentLength != null ? Number(contentLength) : 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;
+          return this.handler.onHeaders(
+            statusCode,
+            rawHeaders,
+            resume,
+            statusMessage
+          );
         }
-        this.nocase = this.scurry.nocase;
-        const nocaseMagicOnly = this.platform === "darwin" || this.platform === "win32";
-        const mmo = {
-          // default nocase based on platform
-          ...opts,
-          dot: this.dot,
-          matchBase: this.matchBase,
-          nobrace: this.nobrace,
-          nocase: this.nocase,
-          nocaseMagicOnly,
-          nocomment: true,
-          noext: this.noext,
-          nonegate: true,
-          optimizationLevel: 2,
-          platform: this.platform,
-          windowsPathsNoEscape: this.windowsPathsNoEscape,
-          debug: !!this.opts.debug
-        };
-        const mms = this.pattern.map((p) => new minimatch_1.Minimatch(p, mmo));
-        const [matchSet, globParts] = mms.reduce((set2, m) => {
-          set2[0].push(...m.set);
-          set2[1].push(...m.globParts);
-          return set2;
-        }, [[], []]);
-        this.patterns = matchSet.map((set2, i) => {
-          const g = globParts[i];
-          if (!g)
-            throw new Error("invalid pattern object");
-          return new pattern_js_1.Pattern(set2, g, 0, this.platform);
+        const err = new RequestRetryError("Request failed", statusCode, {
+          headers,
+          count: this.retryCount
         });
+        this.abort(err);
+        return false;
       }
-      async walk() {
-        return [
-          ...await new walker_js_1.GlobWalker(this.patterns, this.scurry.cwd, {
-            ...this.opts,
-            maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
-            platform: this.platform,
-            nocase: this.nocase,
-            includeChildMatches: this.includeChildMatches
-          }).walk()
-        ];
-      }
-      walkSync() {
-        return [
-          ...new walker_js_1.GlobWalker(this.patterns, this.scurry.cwd, {
-            ...this.opts,
-            maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
-            platform: this.platform,
-            nocase: this.nocase,
-            includeChildMatches: this.includeChildMatches
-          }).walkSync()
-        ];
-      }
-      stream() {
-        return new walker_js_1.GlobStream(this.patterns, this.scurry.cwd, {
-          ...this.opts,
-          maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
-          platform: this.platform,
-          nocase: this.nocase,
-          includeChildMatches: this.includeChildMatches
-        }).stream();
-      }
-      streamSync() {
-        return new walker_js_1.GlobStream(this.patterns, this.scurry.cwd, {
-          ...this.opts,
-          maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
-          platform: this.platform,
-          nocase: this.nocase,
-          includeChildMatches: this.includeChildMatches
-        }).streamSync();
-      }
-      /**
-       * Default sync iteration function. Returns a Generator that
-       * iterates over the results.
-       */
-      iterateSync() {
-        return this.streamSync()[Symbol.iterator]();
+      onData(chunk) {
+        this.start += chunk.length;
+        return this.handler.onData(chunk);
       }
-      [Symbol.iterator]() {
-        return this.iterateSync();
+      onComplete(rawTrailers) {
+        this.retryCount = 0;
+        return this.handler.onComplete(rawTrailers);
       }
-      /**
-       * Default async iteration function. Returns an AsyncGenerator that
-       * iterates over the results.
-       */
-      iterate() {
-        return this.stream()[Symbol.asyncIterator]();
+      onError(err) {
+        if (this.aborted || isDisturbed(this.opts.body)) {
+          return this.handler.onError(err);
+        }
+        this.retryOpts.retry(
+          err,
+          {
+            state: { counter: this.retryCount++, currentTimeout: this.retryAfter },
+            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) {
+            this.opts = {
+              ...this.opts,
+              headers: {
+                ...this.opts.headers,
+                range: `bytes=${this.start}-${this.end ?? ""}`
+              }
+            };
+          }
+          try {
+            this.dispatch(this.opts, this);
+          } catch (err3) {
+            this.handler.onError(err3);
+          }
+        }
       }
-      [Symbol.asyncIterator]() {
-        return this.iterate();
+    };
+    module2.exports = RetryHandler;
+  }
+});
+
+// node_modules/undici/lib/global.js
+var require_global6 = __commonJS({
+  "node_modules/undici/lib/global.js"(exports2, module2) {
+    "use strict";
+    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
+    var { InvalidArgumentError } = require_errors6();
+    var Agent = require_agent3();
+    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
     };
-    exports2.Glob = Glob;
   }
 });
 
-// node_modules/glob/dist/commonjs/has-magic.js
-var require_has_magic = __commonJS({
-  "node_modules/glob/dist/commonjs/has-magic.js"(exports2) {
+// node_modules/undici/lib/handler/DecoratorHandler.js
+var require_DecoratorHandler = __commonJS({
+  "node_modules/undici/lib/handler/DecoratorHandler.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.hasMagic = void 0;
-    var minimatch_1 = require_commonjs20();
-    var hasMagic = (pattern, options = {}) => {
-      if (!Array.isArray(pattern)) {
-        pattern = [pattern];
+    module2.exports = class DecoratorHandler {
+      constructor(handler2) {
+        this.handler = handler2;
       }
-      for (const p of pattern) {
-        if (new minimatch_1.Minimatch(p, options).hasMagic())
-          return true;
+      onConnect(...args) {
+        return this.handler.onConnect(...args);
+      }
+      onError(...args) {
+        return this.handler.onError(...args);
+      }
+      onUpgrade(...args) {
+        return this.handler.onUpgrade(...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);
       }
-      return false;
     };
-    exports2.hasMagic = hasMagic;
   }
 });
 
-// node_modules/glob/dist/commonjs/index.js
-var require_commonjs24 = __commonJS({
-  "node_modules/glob/dist/commonjs/index.js"(exports2) {
+// node_modules/undici/lib/fetch/headers.js
+var require_headers4 = __commonJS({
+  "node_modules/undici/lib/fetch/headers.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.glob = exports2.sync = exports2.iterate = exports2.iterateSync = exports2.stream = exports2.streamSync = exports2.Ignore = exports2.hasMagic = exports2.Glob = exports2.unescape = exports2.escape = void 0;
-    exports2.globStreamSync = globStreamSync;
-    exports2.globStream = globStream;
-    exports2.globSync = globSync;
-    exports2.globIterateSync = globIterateSync;
-    exports2.globIterate = globIterate;
-    var minimatch_1 = require_commonjs20();
-    var glob_js_1 = require_glob2();
-    var has_magic_js_1 = require_has_magic();
-    var minimatch_2 = require_commonjs20();
-    Object.defineProperty(exports2, "escape", { enumerable: true, get: function() {
-      return minimatch_2.escape;
-    } });
-    Object.defineProperty(exports2, "unescape", { enumerable: true, get: function() {
-      return minimatch_2.unescape;
-    } });
-    var glob_js_2 = require_glob2();
-    Object.defineProperty(exports2, "Glob", { enumerable: true, get: function() {
-      return glob_js_2.Glob;
-    } });
-    var has_magic_js_2 = require_has_magic();
-    Object.defineProperty(exports2, "hasMagic", { enumerable: true, get: function() {
-      return has_magic_js_2.hasMagic;
-    } });
-    var ignore_js_1 = require_ignore();
-    Object.defineProperty(exports2, "Ignore", { enumerable: true, get: function() {
-      return ignore_js_1.Ignore;
-    } });
-    function globStreamSync(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).streamSync();
-    }
-    function globStream(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).stream();
-    }
-    function globSync(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).walkSync();
+    var { kHeadersList, kConstruct } = require_symbols11();
+    var { kGuard } = require_symbols12();
+    var { kEnumerableProperty } = require_util24();
+    var {
+      makeIterator,
+      isValidHeaderName,
+      isValidHeaderValue
+    } = require_util25();
+    var util = require("util");
+    var { webidl } = require_webidl3();
+    var assert = require("assert");
+    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
+    var kHeadersSortedMap = /* @__PURE__ */ Symbol("headers map sorted");
+    function isHTTPWhiteSpaceCharCode(code) {
+      return code === 10 || code === 13 || code === 9 || code === 32;
     }
-    async function glob_(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).walk();
+    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 globIterateSync(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).iterateSync();
+    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 globIterate(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).iterate();
+    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 (headers[kGuard] === "immutable") {
+        throw new TypeError("immutable");
+      } else if (headers[kGuard] === "request-no-cors") {
+      }
+      return headers[kHeadersList].append(name, value);
     }
-    exports2.streamSync = globStreamSync;
-    exports2.stream = Object.assign(globStream, { sync: globStreamSync });
-    exports2.iterateSync = globIterateSync;
-    exports2.iterate = Object.assign(globIterate, {
-      sync: globIterateSync
-    });
-    exports2.sync = Object.assign(globSync, {
-      stream: globStreamSync,
-      iterate: globIterateSync
-    });
-    exports2.glob = Object.assign(glob_, {
-      glob: glob_,
-      globSync,
-      sync: exports2.sync,
-      globStream,
-      stream: exports2.stream,
-      globStreamSync,
-      streamSync: exports2.streamSync,
-      globIterate,
-      iterate: exports2.iterate,
-      globIterateSync,
-      iterateSync: exports2.iterateSync,
-      Glob: glob_js_1.Glob,
-      hasMagic: has_magic_js_1.hasMagic,
-      escape: minimatch_1.escape,
-      unescape: minimatch_1.unescape
-    });
-    exports2.glob.glob = exports2.glob;
-  }
-});
-
-// node_modules/archiver-utils/file.js
-var require_file4 = __commonJS({
-  "node_modules/archiver-utils/file.js"(exports2, module2) {
-    var fs18 = require_graceful_fs();
-    var path16 = require("path");
-    var flatten = require_flatten();
-    var difference = require_difference();
-    var union = require_union();
-    var isPlainObject3 = require_isPlainObject();
-    var glob2 = require_commonjs24();
-    var file = module2.exports = {};
-    var pathSeparatorRe = /[\/\\]/g;
-    var processPatterns = function(patterns, fn) {
-      var result = [];
-      flatten(patterns).forEach(function(pattern) {
-        var exclusion = pattern.indexOf("!") === 0;
-        if (exclusion) {
-          pattern = pattern.slice(1);
-        }
-        var matches = fn(pattern);
-        if (exclusion) {
-          result = difference(result, matches);
+    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 {
-          result = union(result, matches);
+          this[kHeadersMap] = new Map(init);
+          this[kHeadersSortedMap] = null;
         }
-      });
-      return result;
-    };
-    file.exists = function() {
-      var filepath = path16.join.apply(path16, arguments);
-      return fs18.existsSync(filepath);
-    };
-    file.expand = function(...args) {
-      var options = isPlainObject3(args[0]) ? args.shift() : {};
-      var patterns = Array.isArray(args[0]) ? args[0] : args;
-      if (patterns.length === 0) {
-        return [];
       }
-      var matches = processPatterns(patterns, function(pattern) {
-        return glob2.sync(pattern, options);
-      });
-      if (options.filter) {
-        matches = matches.filter(function(filepath) {
-          filepath = path16.join(options.cwd || "", filepath);
-          try {
-            if (typeof options.filter === "function") {
-              return options.filter(filepath);
-            } else {
-              return fs18.statSync(filepath)[options.filter]();
-            }
-          } catch (e) {
-            return false;
-          }
-        });
+      // https://fetch.spec.whatwg.org/#header-list-contains
+      contains(name) {
+        name = name.toLowerCase();
+        return this[kHeadersMap].has(name);
       }
-      return matches;
-    };
-    file.expandMapping = function(patterns, destBase, options) {
-      options = Object.assign({
-        rename: function(destBase2, destPath) {
-          return path16.join(destBase2 || "", destPath);
+      clear() {
+        this[kHeadersMap].clear();
+        this[kHeadersSortedMap] = null;
+        this.cookies = null;
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-append
+      append(name, value) {
+        this[kHeadersSortedMap] = null;
+        const lowercaseName = name.toLowerCase();
+        const exists = this[kHeadersMap].get(lowercaseName);
+        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 });
         }
-      }, options);
-      var files = [];
-      var fileByDest = {};
-      file.expand(options, patterns).forEach(function(src) {
-        var destPath = src;
-        if (options.flatten) {
-          destPath = path16.basename(destPath);
+        if (lowercaseName === "set-cookie") {
+          this.cookies ??= [];
+          this.cookies.push(value);
         }
-        if (options.ext) {
-          destPath = destPath.replace(/(\.[^\/]*)?$/, options.ext);
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-set
+      set(name, value) {
+        this[kHeadersSortedMap] = null;
+        const lowercaseName = name.toLowerCase();
+        if (lowercaseName === "set-cookie") {
+          this.cookies = [value];
         }
-        var dest = options.rename(destBase, destPath, options);
-        if (options.cwd) {
-          src = path16.join(options.cwd, src);
+        this[kHeadersMap].set(lowercaseName, { name, value });
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-delete
+      delete(name) {
+        this[kHeadersSortedMap] = null;
+        name = name.toLowerCase();
+        if (name === "set-cookie") {
+          this.cookies = null;
         }
-        dest = dest.replace(pathSeparatorRe, "/");
-        src = src.replace(pathSeparatorRe, "/");
-        if (fileByDest[dest]) {
-          fileByDest[dest].src.push(src);
-        } else {
-          files.push({
-            src: [src],
-            dest
-          });
-          fileByDest[dest] = files[files.length - 1];
+        this[kHeadersMap].delete(name);
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-get
+      get(name) {
+        const value = this[kHeadersMap].get(name.toLowerCase());
+        return value === void 0 ? null : value.value;
+      }
+      *[Symbol.iterator]() {
+        for (const [name, { value }] of this[kHeadersMap]) {
+          yield [name, value];
         }
-      });
-      return files;
-    };
-    file.normalizeFilesArray = function(data) {
-      var files = [];
-      data.forEach(function(obj) {
-        var prop;
-        if ("src" in obj || "dest" in obj) {
-          files.push(obj);
+      }
+      get entries() {
+        const headers = {};
+        if (this[kHeadersMap].size) {
+          for (const { name, value } of this[kHeadersMap].values()) {
+            headers[name] = value;
+          }
         }
-      });
-      if (files.length === 0) {
-        return [];
+        return headers;
       }
-      files = _(files).chain().forEach(function(obj) {
-        if (!("src" in obj) || !obj.src) {
+    };
+    var Headers = class _Headers {
+      constructor(init = void 0) {
+        if (init === kConstruct) {
           return;
         }
-        if (Array.isArray(obj.src)) {
-          obj.src = flatten(obj.src);
-        } else {
-          obj.src = [obj.src];
+        this[kHeadersList] = new HeadersList();
+        this[kGuard] = "none";
+        if (init !== void 0) {
+          init = webidl.converters.HeadersInit(init);
+          fill(this, init);
         }
-      }).map(function(obj) {
-        var expandOptions = Object.assign({}, obj);
-        delete expandOptions.src;
-        delete expandOptions.dest;
-        if (obj.expand) {
-          return file.expandMapping(obj.src, obj.dest, expandOptions).map(function(mapObj) {
-            var result2 = Object.assign({}, obj);
-            result2.orig = Object.assign({}, obj);
-            result2.src = mapObj.src;
-            result2.dest = mapObj.dest;
-            ["expand", "cwd", "flatten", "rename", "ext"].forEach(function(prop) {
-              delete result2[prop];
-            });
-            return result2;
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-append
+      append(name, value) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.append" });
+        name = webidl.converters.ByteString(name);
+        value = webidl.converters.ByteString(value);
+        return appendHeader(this, name, value);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-delete
+      delete(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.delete" });
+        name = webidl.converters.ByteString(name);
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.delete",
+            value: name,
+            type: "header name"
           });
         }
-        var result = Object.assign({}, obj);
-        result.orig = Object.assign({}, obj);
-        if ("src" in result) {
-          Object.defineProperty(result, "src", {
-            enumerable: true,
-            get: function fn() {
-              var src;
-              if (!("result" in fn)) {
-                src = obj.src;
-                src = Array.isArray(src) ? flatten(src) : [src];
-                fn.result = file.expand(expandOptions, src);
-              }
-              return fn.result;
-            }
-          });
+        if (this[kGuard] === "immutable") {
+          throw new TypeError("immutable");
+        } else if (this[kGuard] === "request-no-cors") {
         }
-        if ("dest" in result) {
-          result.dest = obj.dest;
+        if (!this[kHeadersList].contains(name)) {
+          return;
         }
-        return result;
-      }).flatten().value();
-      return files;
-    };
-  }
-});
-
-// node_modules/archiver-utils/index.js
-var require_archiver_utils = __commonJS({
-  "node_modules/archiver-utils/index.js"(exports2, module2) {
-    var fs18 = require_graceful_fs();
-    var path16 = require("path");
-    var isStream = require_is_stream();
-    var lazystream = require_lazystream();
-    var normalizePath = require_normalize_path();
-    var defaults = require_defaults();
-    var Stream = require("stream").Stream;
-    var PassThrough = require_ours().PassThrough;
-    var utils = module2.exports = {};
-    utils.file = require_file4();
-    utils.collectStream = function(source, callback) {
-      var collection = [];
-      var size = 0;
-      source.on("error", callback);
-      source.on("data", function(chunk) {
-        collection.push(chunk);
-        size += chunk.length;
-      });
-      source.on("end", function() {
-        var buf = Buffer.alloc(size);
-        var offset = 0;
-        collection.forEach(function(data) {
-          data.copy(buf, offset);
-          offset += data.length;
-        });
-        callback(null, buf);
-      });
-    };
-    utils.dateify = function(dateish) {
-      dateish = dateish || /* @__PURE__ */ new Date();
-      if (dateish instanceof Date) {
-        dateish = dateish;
-      } else if (typeof dateish === "string") {
-        dateish = new Date(dateish);
-      } else {
-        dateish = /* @__PURE__ */ new Date();
-      }
-      return dateish;
-    };
-    utils.defaults = function(object, source, guard) {
-      var args = arguments;
-      args[0] = args[0] || {};
-      return defaults(...args);
-    };
-    utils.isStream = function(source) {
-      return isStream(source);
-    };
-    utils.lazyReadStream = function(filepath) {
-      return new lazystream.Readable(function() {
-        return fs18.createReadStream(filepath);
-      });
-    };
-    utils.normalizeInputSource = function(source) {
-      if (source === null) {
-        return Buffer.alloc(0);
-      } else if (typeof source === "string") {
-        return Buffer.from(source);
-      } else if (utils.isStream(source)) {
-        return source.pipe(new PassThrough());
+        this[kHeadersList].delete(name);
       }
-      return source;
-    };
-    utils.sanitizePath = function(filepath) {
-      return normalizePath(filepath, false).replace(/^\w+:/, "").replace(/^(\.\.\/|\/)+/, "");
-    };
-    utils.trailingSlashIt = function(str2) {
-      return str2.slice(-1) !== "/" ? str2 + "/" : str2;
-    };
-    utils.unixifyPath = function(filepath) {
-      return normalizePath(filepath, false).replace(/^\w+:/, "");
-    };
-    utils.walkdir = function(dirpath, base, callback) {
-      var results = [];
-      if (typeof base === "function") {
-        callback = base;
-        base = dirpath;
+      // https://fetch.spec.whatwg.org/#dom-headers-get
+      get(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.get" });
+        name = webidl.converters.ByteString(name);
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.get",
+            value: name,
+            type: "header name"
+          });
+        }
+        return this[kHeadersList].get(name);
       }
-      fs18.readdir(dirpath, function(err, list) {
-        var i = 0;
-        var file;
-        var filepath;
-        if (err) {
-          return callback(err);
+      // https://fetch.spec.whatwg.org/#dom-headers-has
+      has(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.has" });
+        name = webidl.converters.ByteString(name);
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.has",
+            value: name,
+            type: "header name"
+          });
         }
-        (function next() {
-          file = list[i++];
-          if (!file) {
-            return callback(null, results);
-          }
-          filepath = path16.join(dirpath, file);
-          fs18.stat(filepath, function(err2, stats) {
-            results.push({
-              path: filepath,
-              relative: path16.relative(base, filepath).replace(/\\/g, "/"),
-              stats
-            });
-            if (stats && stats.isDirectory()) {
-              utils.walkdir(filepath, base, function(err3, res) {
-                if (err3) {
-                  return callback(err3);
-                }
-                res.forEach(function(dirEntry) {
-                  results.push(dirEntry);
-                });
-                next();
-              });
-            } else {
-              next();
-            }
+        return this[kHeadersList].contains(name);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-set
+      set(name, value) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.set" });
+        name = webidl.converters.ByteString(name);
+        value = webidl.converters.ByteString(value);
+        value = headerValueNormalize(value);
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.set",
+            value: name,
+            type: "header name"
           });
-        })();
-      });
-    };
-  }
-});
-
-// node_modules/archiver/lib/error.js
-var require_error3 = __commonJS({
-  "node_modules/archiver/lib/error.js"(exports2, module2) {
-    var util = require("util");
-    var ERROR_CODES = {
-      "ABORTED": "archive was aborted",
-      "DIRECTORYDIRPATHREQUIRED": "diretory dirpath argument must be a non-empty string value",
-      "DIRECTORYFUNCTIONINVALIDDATA": "invalid data returned by directory custom data function",
-      "ENTRYNAMEREQUIRED": "entry name must be a non-empty string value",
-      "FILEFILEPATHREQUIRED": "file filepath argument must be a non-empty string value",
-      "FINALIZING": "archive already finalizing",
-      "QUEUECLOSED": "queue closed",
-      "NOENDMETHOD": "no suitable finalize/end method defined by module",
-      "DIRECTORYNOTSUPPORTED": "support for directory entries not defined by module",
-      "FORMATSET": "archive format already set",
-      "INPUTSTEAMBUFFERREQUIRED": "input source must be valid Stream or Buffer instance",
-      "MODULESET": "module already set",
-      "SYMLINKNOTSUPPORTED": "support for symlink entries not defined by module",
-      "SYMLINKFILEPATHREQUIRED": "symlink filepath argument must be a non-empty string value",
-      "SYMLINKTARGETREQUIRED": "symlink target argument must be a non-empty string value",
-      "ENTRYNOTSUPPORTED": "entry not supported"
-    };
-    function ArchiverError(code, data) {
-      Error.captureStackTrace(this, this.constructor);
-      this.message = ERROR_CODES[code] || code;
-      this.code = code;
-      this.data = data;
-    }
-    util.inherits(ArchiverError, Error);
-    exports2 = module2.exports = ArchiverError;
-  }
-});
-
-// node_modules/archiver/lib/core.js
-var require_core2 = __commonJS({
-  "node_modules/archiver/lib/core.js"(exports2, module2) {
-    var fs18 = require("fs");
-    var glob2 = require_readdir_glob();
-    var async = require_async();
-    var path16 = require("path");
-    var util = require_archiver_utils();
-    var inherits = require("util").inherits;
-    var ArchiverError = require_error3();
-    var Transform = require_ours().Transform;
-    var win32 = process.platform === "win32";
-    var Archiver = function(format, options) {
-      if (!(this instanceof Archiver)) {
-        return new Archiver(format, options);
+        } else if (!isValidHeaderValue(value)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.set",
+            value,
+            type: "header value"
+          });
+        }
+        if (this[kGuard] === "immutable") {
+          throw new TypeError("immutable");
+        } else if (this[kGuard] === "request-no-cors") {
+        }
+        this[kHeadersList].set(name, value);
       }
-      if (typeof format !== "string") {
-        options = format;
-        format = "zip";
+      // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
+      getSetCookie() {
+        webidl.brandCheck(this, _Headers);
+        const list = this[kHeadersList].cookies;
+        if (list) {
+          return [...list];
+        }
+        return [];
       }
-      options = this.options = util.defaults(options, {
-        highWaterMark: 1024 * 1024,
-        statConcurrency: 4
-      });
-      Transform.call(this, options);
-      this._format = false;
-      this._module = false;
-      this._pending = 0;
-      this._pointer = 0;
-      this._entriesCount = 0;
-      this._entriesProcessedCount = 0;
-      this._fsEntriesTotalBytes = 0;
-      this._fsEntriesProcessedBytes = 0;
-      this._queue = async.queue(this._onQueueTask.bind(this), 1);
-      this._queue.drain(this._onQueueDrain.bind(this));
-      this._statQueue = async.queue(this._onStatQueueTask.bind(this), options.statConcurrency);
-      this._statQueue.drain(this._onQueueDrain.bind(this));
-      this._state = {
-        aborted: false,
-        finalize: false,
-        finalizing: false,
-        finalized: false,
-        modulePiped: false
-      };
-      this._streams = [];
-    };
-    inherits(Archiver, Transform);
-    Archiver.prototype._abort = function() {
-      this._state.aborted = true;
-      this._queue.kill();
-      this._statQueue.kill();
-      if (this._queue.idle()) {
-        this._shutdown();
+      // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
+      get [kHeadersSortedMap]() {
+        if (this[kHeadersList][kHeadersSortedMap]) {
+          return this[kHeadersList][kHeadersSortedMap];
+        }
+        const headers = [];
+        const names = [...this[kHeadersList]].sort((a, b) => a[0] < b[0] ? -1 : 1);
+        const cookies = this[kHeadersList].cookies;
+        for (let i = 0; i < names.length; ++i) {
+          const [name, value] = names[i];
+          if (name === "set-cookie") {
+            for (let j = 0; j < cookies.length; ++j) {
+              headers.push([name, cookies[j]]);
+            }
+          } else {
+            assert(value !== null);
+            headers.push([name, value]);
+          }
+        }
+        this[kHeadersList][kHeadersSortedMap] = headers;
+        return headers;
       }
-    };
-    Archiver.prototype._append = function(filepath, data) {
-      data = data || {};
-      var task = {
-        source: null,
-        filepath
-      };
-      if (!data.name) {
-        data.name = filepath;
+      keys() {
+        webidl.brandCheck(this, _Headers);
+        if (this[kGuard] === "immutable") {
+          const value = this[kHeadersSortedMap];
+          return makeIterator(
+            () => value,
+            "Headers",
+            "key"
+          );
+        }
+        return makeIterator(
+          () => [...this[kHeadersSortedMap].values()],
+          "Headers",
+          "key"
+        );
       }
-      data.sourcePath = filepath;
-      task.data = data;
-      this._entriesCount++;
-      if (data.stats && data.stats instanceof fs18.Stats) {
-        task = this._updateQueueTaskWithStats(task, data.stats);
-        if (task) {
-          if (data.stats.size) {
-            this._fsEntriesTotalBytes += data.stats.size;
-          }
-          this._queue.push(task);
+      values() {
+        webidl.brandCheck(this, _Headers);
+        if (this[kGuard] === "immutable") {
+          const value = this[kHeadersSortedMap];
+          return makeIterator(
+            () => value,
+            "Headers",
+            "value"
+          );
         }
-      } else {
-        this._statQueue.push(task);
+        return makeIterator(
+          () => [...this[kHeadersSortedMap].values()],
+          "Headers",
+          "value"
+        );
       }
-    };
-    Archiver.prototype._finalize = function() {
-      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
-        return;
+      entries() {
+        webidl.brandCheck(this, _Headers);
+        if (this[kGuard] === "immutable") {
+          const value = this[kHeadersSortedMap];
+          return makeIterator(
+            () => value,
+            "Headers",
+            "key+value"
+          );
+        }
+        return makeIterator(
+          () => [...this[kHeadersSortedMap].values()],
+          "Headers",
+          "key+value"
+        );
       }
-      this._state.finalizing = true;
-      this._moduleFinalize();
-      this._state.finalizing = false;
-      this._state.finalized = true;
-    };
-    Archiver.prototype._maybeFinalize = function() {
-      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
-        return false;
+      /**
+       * @param {(value: string, key: string, self: Headers) => void} callbackFn
+       * @param {unknown} thisArg
+       */
+      forEach(callbackFn, thisArg = globalThis) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.forEach" });
+        if (typeof callbackFn !== "function") {
+          throw new TypeError(
+            "Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'."
+          );
+        }
+        for (const [key, value] of this) {
+          callbackFn.apply(thisArg, [value, key, this]);
+        }
       }
-      if (this._state.finalize && this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
-        this._finalize();
-        return true;
+      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")]() {
+        webidl.brandCheck(this, _Headers);
+        return this[kHeadersList];
       }
-      return false;
     };
-    Archiver.prototype._moduleAppend = function(source, data, callback) {
-      if (this._state.aborted) {
-        callback();
-        return;
+    Headers.prototype[Symbol.iterator] = Headers.prototype.entries;
+    Object.defineProperties(Headers.prototype, {
+      append: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      get: kEnumerableProperty,
+      has: kEnumerableProperty,
+      set: kEnumerableProperty,
+      getSetCookie: kEnumerableProperty,
+      keys: kEnumerableProperty,
+      values: kEnumerableProperty,
+      entries: kEnumerableProperty,
+      forEach: kEnumerableProperty,
+      [Symbol.iterator]: { enumerable: false },
+      [Symbol.toStringTag]: {
+        value: "Headers",
+        configurable: true
+      },
+      [util.inspect.custom]: {
+        enumerable: false
       }
-      this._module.append(source, data, function(err) {
-        this._task = null;
-        if (this._state.aborted) {
-          this._shutdown();
-          return;
-        }
-        if (err) {
-          this.emit("error", err);
-          setImmediate(callback);
-          return;
-        }
-        this.emit("entry", data);
-        this._entriesProcessedCount++;
-        if (data.stats && data.stats.size) {
-          this._fsEntriesProcessedBytes += data.stats.size;
+    });
+    webidl.converters.HeadersInit = function(V) {
+      if (webidl.util.Type(V) === "Object") {
+        if (V[Symbol.iterator]) {
+          return webidl.converters["sequence>"](V);
         }
-        this.emit("progress", {
-          entries: {
-            total: this._entriesCount,
-            processed: this._entriesProcessedCount
-          },
-          fs: {
-            totalBytes: this._fsEntriesTotalBytes,
-            processedBytes: this._fsEntriesProcessedBytes
-          }
-        });
-        setImmediate(callback);
-      }.bind(this));
-    };
-    Archiver.prototype._moduleFinalize = function() {
-      if (typeof this._module.finalize === "function") {
-        this._module.finalize();
-      } else if (typeof this._module.end === "function") {
-        this._module.end();
-      } else {
-        this.emit("error", new ArchiverError("NOENDMETHOD"));
+        return webidl.converters["record"](V);
       }
+      throw webidl.errors.conversionFailed({
+        prefix: "Headers constructor",
+        argument: "Argument 1",
+        types: ["sequence>", "record"]
+      });
     };
-    Archiver.prototype._modulePipe = function() {
-      this._module.on("error", this._onModuleError.bind(this));
-      this._module.pipe(this);
-      this._state.modulePiped = true;
+    module2.exports = {
+      fill,
+      Headers,
+      HeadersList
     };
-    Archiver.prototype._moduleSupports = function(key) {
-      if (!this._module.supports || !this._module.supports[key]) {
-        return false;
+  }
+});
+
+// node_modules/undici/lib/fetch/response.js
+var require_response4 = __commonJS({
+  "node_modules/undici/lib/fetch/response.js"(exports2, module2) {
+    "use strict";
+    var { Headers, HeadersList, fill } = require_headers4();
+    var { extractBody, cloneBody, mixinBody } = require_body3();
+    var util = require_util24();
+    var { kEnumerableProperty } = util;
+    var {
+      isValidReasonPhrase,
+      isCancelled,
+      isAborted,
+      isBlobLike,
+      serializeJavascriptValueToJSONString,
+      isErrorLike,
+      isomorphicEncode
+    } = require_util25();
+    var {
+      redirectStatusSet,
+      nullBodyStatus,
+      DOMException: DOMException2
+    } = require_constants21();
+    var { kState, kHeaders, kGuard, kRealm } = require_symbols12();
+    var { webidl } = require_webidl3();
+    var { FormData: FormData2 } = require_formdata3();
+    var { getGlobalOrigin } = require_global5();
+    var { URLSerializer } = require_dataURL();
+    var { kHeadersList, kConstruct } = require_symbols11();
+    var assert = require("assert");
+    var { types } = require("util");
+    var ReadableStream2 = globalThis.ReadableStream || require("stream/web").ReadableStream;
+    var textEncoder = new TextEncoder("utf-8");
+    var Response = class _Response {
+      // Creates network error Response.
+      static error() {
+        const relevantRealm = { settingsObject: {} };
+        const responseObject = new _Response();
+        responseObject[kState] = makeNetworkError();
+        responseObject[kRealm] = relevantRealm;
+        responseObject[kHeaders][kHeadersList] = responseObject[kState].headersList;
+        responseObject[kHeaders][kGuard] = "immutable";
+        responseObject[kHeaders][kRealm] = relevantRealm;
+        return responseObject;
       }
-      return this._module.supports[key];
-    };
-    Archiver.prototype._moduleUnpipe = function() {
-      this._module.unpipe(this);
-      this._state.modulePiped = false;
-    };
-    Archiver.prototype._normalizeEntryData = function(data, stats) {
-      data = util.defaults(data, {
-        type: "file",
-        name: null,
-        date: null,
-        mode: null,
-        prefix: null,
-        sourcePath: null,
-        stats: false
-      });
-      if (stats && data.stats === false) {
-        data.stats = stats;
+      // https://fetch.spec.whatwg.org/#dom-response-json
+      static json(data, init = {}) {
+        webidl.argumentLengthCheck(arguments, 1, { header: "Response.json" });
+        if (init !== null) {
+          init = webidl.converters.ResponseInit(init);
+        }
+        const bytes = textEncoder.encode(
+          serializeJavascriptValueToJSONString(data)
+        );
+        const body = extractBody(bytes);
+        const relevantRealm = { settingsObject: {} };
+        const responseObject = new _Response();
+        responseObject[kRealm] = relevantRealm;
+        responseObject[kHeaders][kGuard] = "response";
+        responseObject[kHeaders][kRealm] = relevantRealm;
+        initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
+        return responseObject;
       }
-      var isDir = data.type === "directory";
-      if (data.name) {
-        if (typeof data.prefix === "string" && "" !== data.prefix) {
-          data.name = data.prefix + "/" + data.name;
-          data.prefix = null;
+      // Creates a redirect Response that redirects to url with status status.
+      static redirect(url2, status = 302) {
+        const relevantRealm = { settingsObject: {} };
+        webidl.argumentLengthCheck(arguments, 1, { header: "Response.redirect" });
+        url2 = webidl.converters.USVString(url2);
+        status = webidl.converters["unsigned short"](status);
+        let parsedURL;
+        try {
+          parsedURL = new URL(url2, getGlobalOrigin());
+        } catch (err) {
+          throw Object.assign(new TypeError("Failed to parse URL from " + url2), {
+            cause: err
+          });
         }
-        data.name = util.sanitizePath(data.name);
-        if (data.type !== "symlink" && data.name.slice(-1) === "/") {
-          isDir = true;
-          data.type = "directory";
-        } else if (isDir) {
-          data.name += "/";
+        if (!redirectStatusSet.has(status)) {
+          throw new RangeError("Invalid status code " + status);
         }
+        const responseObject = new _Response();
+        responseObject[kRealm] = relevantRealm;
+        responseObject[kHeaders][kGuard] = "immutable";
+        responseObject[kHeaders][kRealm] = relevantRealm;
+        responseObject[kState].status = status;
+        const value = isomorphicEncode(URLSerializer(parsedURL));
+        responseObject[kState].headersList.append("location", value);
+        return responseObject;
       }
-      if (typeof data.mode === "number") {
-        if (win32) {
-          data.mode &= 511;
-        } else {
-          data.mode &= 4095;
+      // https://fetch.spec.whatwg.org/#dom-response
+      constructor(body = null, init = {}) {
+        if (body !== null) {
+          body = webidl.converters.BodyInit(body);
         }
-      } else if (data.stats && data.mode === null) {
-        if (win32) {
-          data.mode = data.stats.mode & 511;
-        } else {
-          data.mode = data.stats.mode & 4095;
+        init = webidl.converters.ResponseInit(init);
+        this[kRealm] = { settingsObject: {} };
+        this[kState] = makeResponse({});
+        this[kHeaders] = new Headers(kConstruct);
+        this[kHeaders][kGuard] = "response";
+        this[kHeaders][kHeadersList] = this[kState].headersList;
+        this[kHeaders][kRealm] = this[kRealm];
+        let bodyWithType = null;
+        if (body != null) {
+          const [extractedBody, type2] = extractBody(body);
+          bodyWithType = { body: extractedBody, type: type2 };
         }
-        if (win32 && isDir) {
-          data.mode = 493;
+        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 url2 = urlList[urlList.length - 1] ?? null;
+        if (url2 === null) {
+          return "";
         }
-      } else if (data.mode === null) {
-        data.mode = isDir ? 493 : 420;
+        return URLSerializer(url2, true);
       }
-      if (data.stats && data.date === null) {
-        data.date = data.stats.mtime;
-      } else {
-        data.date = util.dateify(data.date);
+      // Returns whether response was obtained through a redirect.
+      get redirected() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].urlList.length > 1;
       }
-      return data;
-    };
-    Archiver.prototype._onModuleError = function(err) {
-      this.emit("error", err);
-    };
-    Archiver.prototype._onQueueDrain = function() {
-      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
-        return;
+      // Returns response’s status.
+      get status() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status;
       }
-      if (this._state.finalize && this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
-        this._finalize();
+      // Returns whether response’s status is an ok status.
+      get ok() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status >= 200 && this[kState].status <= 299;
       }
-    };
-    Archiver.prototype._onQueueTask = function(task, callback) {
-      var fullCallback = () => {
-        if (task.data.callback) {
-          task.data.callback();
-        }
-        callback();
-      };
-      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
-        fullCallback();
-        return;
+      // Returns response’s status message.
+      get statusText() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].statusText;
       }
-      this._task = task;
-      this._moduleAppend(task.source, task.data, fullCallback);
-    };
-    Archiver.prototype._onStatQueueTask = function(task, callback) {
-      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
-        callback();
-        return;
+      // Returns response’s headers as Headers.
+      get headers() {
+        webidl.brandCheck(this, _Response);
+        return this[kHeaders];
       }
-      fs18.lstat(task.filepath, function(err, stats) {
-        if (this._state.aborted) {
-          setImmediate(callback);
-          return;
-        }
-        if (err) {
-          this._entriesCount--;
-          this.emit("warning", err);
-          setImmediate(callback);
-          return;
-        }
-        task = this._updateQueueTaskWithStats(task, stats);
-        if (task) {
-          if (stats.size) {
-            this._fsEntriesTotalBytes += stats.size;
-          }
-          this._queue.push(task);
-        }
-        setImmediate(callback);
-      }.bind(this));
-    };
-    Archiver.prototype._shutdown = function() {
-      this._moduleUnpipe();
-      this.end();
-    };
-    Archiver.prototype._transform = function(chunk, encoding, callback) {
-      if (chunk) {
-        this._pointer += chunk.length;
+      get body() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      callback(null, chunk);
-    };
-    Archiver.prototype._updateQueueTaskWithStats = function(task, stats) {
-      if (stats.isFile()) {
-        task.data.type = "file";
-        task.data.sourceType = "stream";
-        task.source = util.lazyReadStream(task.filepath);
-      } else if (stats.isDirectory() && this._moduleSupports("directory")) {
-        task.data.name = util.trailingSlashIt(task.data.name);
-        task.data.type = "directory";
-        task.data.sourcePath = util.trailingSlashIt(task.filepath);
-        task.data.sourceType = "buffer";
-        task.source = Buffer.concat([]);
-      } else if (stats.isSymbolicLink() && this._moduleSupports("symlink")) {
-        var linkPath = fs18.readlinkSync(task.filepath);
-        var dirName = path16.dirname(task.filepath);
-        task.data.type = "symlink";
-        task.data.linkname = path16.relative(dirName, path16.resolve(dirName, linkPath));
-        task.data.sourceType = "buffer";
-        task.source = Buffer.concat([]);
-      } else {
-        if (stats.isDirectory()) {
-          this.emit("warning", new ArchiverError("DIRECTORYNOTSUPPORTED", task.data));
-        } else if (stats.isSymbolicLink()) {
-          this.emit("warning", new ArchiverError("SYMLINKNOTSUPPORTED", task.data));
-        } else {
-          this.emit("warning", new ArchiverError("ENTRYNOTSUPPORTED", task.data));
-        }
-        return null;
+      get bodyUsed() {
+        webidl.brandCheck(this, _Response);
+        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
       }
-      task.data = this._normalizeEntryData(task.data, stats);
-      return task;
-    };
-    Archiver.prototype.abort = function() {
-      if (this._state.aborted || this._state.finalized) {
-        return this;
+      // Returns a clone of response.
+      clone() {
+        webidl.brandCheck(this, _Response);
+        if (this.bodyUsed || this.body && this.body.locked) {
+          throw webidl.errors.exception({
+            header: "Response.clone",
+            message: "Body has already been consumed."
+          });
+        }
+        const clonedResponse = cloneResponse(this[kState]);
+        const clonedResponseObject = new _Response();
+        clonedResponseObject[kState] = clonedResponse;
+        clonedResponseObject[kRealm] = this[kRealm];
+        clonedResponseObject[kHeaders][kHeadersList] = clonedResponse.headersList;
+        clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard];
+        clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm];
+        return clonedResponseObject;
       }
-      this._abort();
-      return this;
     };
-    Archiver.prototype.append = function(source, data) {
-      if (this._state.finalize || this._state.aborted) {
-        this.emit("error", new ArchiverError("QUEUECLOSED"));
-        return this;
-      }
-      data = this._normalizeEntryData(data);
-      if (typeof data.name !== "string" || data.name.length === 0) {
-        this.emit("error", new ArchiverError("ENTRYNAMEREQUIRED"));
-        return this;
+    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
       }
-      if (data.type === "directory" && !this._moduleSupports("directory")) {
-        this.emit("error", new ArchiverError("DIRECTORYNOTSUPPORTED", { name: data.name }));
-        return this;
+    });
+    Object.defineProperties(Response, {
+      json: kEnumerableProperty,
+      redirect: kEnumerableProperty,
+      error: kEnumerableProperty
+    });
+    function cloneResponse(response) {
+      if (response.internalResponse) {
+        return filterResponse(
+          cloneResponse(response.internalResponse),
+          response.type
+        );
       }
-      source = util.normalizeInputSource(source);
-      if (Buffer.isBuffer(source)) {
-        data.sourceType = "buffer";
-      } else if (util.isStream(source)) {
-        data.sourceType = "stream";
-      } else {
-        this.emit("error", new ArchiverError("INPUTSTEAMBUFFERREQUIRED", { name: data.name }));
-        return this;
+      const newResponse = makeResponse({ ...response, body: null });
+      if (response.body != null) {
+        newResponse.body = cloneBody(response.body);
       }
-      this._entriesCount++;
-      this._queue.push({
-        data,
-        source
+      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"
       });
-      return this;
-    };
-    Archiver.prototype.directory = function(dirpath, destpath, data) {
-      if (this._state.finalize || this._state.aborted) {
-        this.emit("error", new ArchiverError("QUEUECLOSED"));
-        return this;
+    }
+    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, type2) {
+      if (type2 === "basic") {
+        return makeFilteredResponse(response, {
+          type: "basic",
+          headersList: response.headersList
+        });
+      } else if (type2 === "cors") {
+        return makeFilteredResponse(response, {
+          type: "cors",
+          headersList: response.headersList
+        });
+      } else if (type2 === "opaque") {
+        return makeFilteredResponse(response, {
+          type: "opaque",
+          urlList: Object.freeze([]),
+          status: 0,
+          statusText: "",
+          body: null
+        });
+      } else if (type2 === "opaqueredirect") {
+        return makeFilteredResponse(response, {
+          type: "opaqueredirect",
+          status: 0,
+          statusText: "",
+          headersList: [],
+          body: null
+        });
+      } else {
+        assert(false);
       }
-      if (typeof dirpath !== "string" || dirpath.length === 0) {
-        this.emit("error", new ArchiverError("DIRECTORYDIRPATHREQUIRED"));
-        return this;
+    }
+    function makeAppropriateNetworkError(fetchParams, err = null) {
+      assert(isCancelled(fetchParams));
+      return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException2("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException2("Request was cancelled."), { cause: err }));
+    }
+    function initializeResponse(response, init, body) {
+      if (init.status !== null && (init.status < 200 || init.status > 599)) {
+        throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
       }
-      this._pending++;
-      if (destpath === false) {
-        destpath = "";
-      } else if (typeof destpath !== "string") {
-        destpath = dirpath;
+      if ("statusText" in init && init.statusText != null) {
+        if (!isValidReasonPhrase(String(init.statusText))) {
+          throw new TypeError("Invalid statusText");
+        }
       }
-      var dataFunction = false;
-      if (typeof data === "function") {
-        dataFunction = data;
-        data = {};
-      } else if (typeof data !== "object") {
-        data = {};
+      if ("status" in init && init.status != null) {
+        response[kState].status = init.status;
       }
-      var globOptions = {
-        stat: true,
-        dot: true
-      };
-      function onGlobEnd() {
-        this._pending--;
-        this._maybeFinalize();
+      if ("statusText" in init && init.statusText != null) {
+        response[kState].statusText = init.statusText;
       }
-      function onGlobError(err) {
-        this.emit("error", err);
+      if ("headers" in init && init.headers != null) {
+        fill(response[kHeaders], init.headers);
       }
-      function onGlobMatch(match) {
-        globber.pause();
-        var ignoreMatch = false;
-        var entryData = Object.assign({}, data);
-        entryData.name = match.relative;
-        entryData.prefix = destpath;
-        entryData.stats = match.stat;
-        entryData.callback = globber.resume.bind(globber);
-        try {
-          if (dataFunction) {
-            entryData = dataFunction(entryData);
-            if (entryData === false) {
-              ignoreMatch = true;
-            } else if (typeof entryData !== "object") {
-              throw new ArchiverError("DIRECTORYFUNCTIONINVALIDDATA", { dirpath });
-            }
-          }
-        } catch (e) {
-          this.emit("error", e);
-          return;
+      if (body) {
+        if (nullBodyStatus.includes(response.status)) {
+          throw webidl.errors.exception({
+            header: "Response constructor",
+            message: "Invalid response status code " + response.status
+          });
         }
-        if (ignoreMatch) {
-          globber.resume();
-          return;
+        response[kState].body = body.body;
+        if (body.type != null && !response[kState].headersList.contains("Content-Type")) {
+          response[kState].headersList.append("content-type", body.type);
         }
-        this._append(match.absolute, entryData);
       }
-      var globber = glob2(dirpath, globOptions);
-      globber.on("error", onGlobError.bind(this));
-      globber.on("match", onGlobMatch.bind(this));
-      globber.on("end", onGlobEnd.bind(this));
-      return this;
-    };
-    Archiver.prototype.file = function(filepath, data) {
-      if (this._state.finalize || this._state.aborted) {
-        this.emit("error", new ArchiverError("QUEUECLOSED"));
-        return this;
+    }
+    webidl.converters.ReadableStream = webidl.interfaceConverter(
+      ReadableStream2
+    );
+    webidl.converters.FormData = webidl.interfaceConverter(
+      FormData2
+    );
+    webidl.converters.URLSearchParams = webidl.interfaceConverter(
+      URLSearchParams
+    );
+    webidl.converters.XMLHttpRequestBodyInit = function(V) {
+      if (typeof V === "string") {
+        return webidl.converters.USVString(V);
       }
-      if (typeof filepath !== "string" || filepath.length === 0) {
-        this.emit("error", new ArchiverError("FILEFILEPATHREQUIRED"));
-        return this;
+      if (isBlobLike(V)) {
+        return webidl.converters.Blob(V, { strict: false });
       }
-      this._append(filepath, data);
-      return this;
+      if (types.isArrayBuffer(V) || types.isTypedArray(V) || types.isDataView(V)) {
+        return webidl.converters.BufferSource(V);
+      }
+      if (util.isFormDataLike(V)) {
+        return webidl.converters.FormData(V, { strict: false });
+      }
+      if (V instanceof URLSearchParams) {
+        return webidl.converters.URLSearchParams(V);
+      }
+      return webidl.converters.DOMString(V);
     };
-    Archiver.prototype.glob = function(pattern, options, data) {
-      this._pending++;
-      options = util.defaults(options, {
-        stat: true,
-        pattern
-      });
-      function onGlobEnd() {
-        this._pending--;
-        this._maybeFinalize();
+    webidl.converters.BodyInit = function(V) {
+      if (V instanceof ReadableStream2) {
+        return webidl.converters.ReadableStream(V);
       }
-      function onGlobError(err) {
-        this.emit("error", err);
+      if (V?.[Symbol.asyncIterator]) {
+        return V;
       }
-      function onGlobMatch(match) {
-        globber.pause();
-        var entryData = Object.assign({}, data);
-        entryData.callback = globber.resume.bind(globber);
-        entryData.stats = match.stat;
-        entryData.name = match.relative;
-        this._append(match.absolute, entryData);
+      return webidl.converters.XMLHttpRequestBodyInit(V);
+    };
+    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 = {
+      makeNetworkError,
+      makeResponse,
+      makeAppropriateNetworkError,
+      filterResponse,
+      Response,
+      cloneResponse
+    };
+  }
+});
+
+// node_modules/undici/lib/fetch/request.js
+var require_request6 = __commonJS({
+  "node_modules/undici/lib/fetch/request.js"(exports2, module2) {
+    "use strict";
+    var { extractBody, mixinBody, cloneBody } = require_body3();
+    var { Headers, fill: fillHeaders, HeadersList } = require_headers4();
+    var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref3()();
+    var util = require_util24();
+    var {
+      isValidHTTPToken,
+      sameOrigin,
+      normalizeMethod,
+      makePolicyContainer,
+      normalizeMethodRecord
+    } = require_util25();
+    var {
+      forbiddenMethodsSet,
+      corsSafeListedMethodsSet,
+      referrerPolicy,
+      requestRedirect,
+      requestMode,
+      requestCredentials,
+      requestCache,
+      requestDuplex
+    } = require_constants21();
+    var { kEnumerableProperty } = util;
+    var { kHeaders, kSignal, kState, kGuard, kRealm } = require_symbols12();
+    var { webidl } = require_webidl3();
+    var { getGlobalOrigin } = require_global5();
+    var { URLSerializer } = require_dataURL();
+    var { kHeadersList, kConstruct } = require_symbols11();
+    var assert = require("assert");
+    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events");
+    var TransformStream2 = globalThis.TransformStream;
+    var kAbortController = /* @__PURE__ */ Symbol("abortController");
+    var requestFinalizer = new FinalizationRegistry2(({ signal, abort }) => {
+      signal.removeEventListener("abort", abort);
+    });
+    var Request = class _Request {
+      // https://fetch.spec.whatwg.org/#dom-request
+      constructor(input, init = {}) {
+        if (input === kConstruct) {
+          return;
+        }
+        webidl.argumentLengthCheck(arguments, 1, { header: "Request constructor" });
+        input = webidl.converters.RequestInfo(input);
+        init = webidl.converters.RequestInit(init);
+        this[kRealm] = {
+          settingsObject: {
+            baseUrl: getGlobalOrigin(),
+            get origin() {
+              return this.baseUrl?.origin;
+            },
+            policyContainer: makePolicyContainer()
+          }
+        };
+        let request2 = null;
+        let fallbackMode = null;
+        const baseUrl = this[kRealm].settingsObject.baseUrl;
+        let signal = null;
+        if (typeof input === "string") {
+          let parsedURL;
+          try {
+            parsedURL = new URL(input, baseUrl);
+          } 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 {
+          assert(input instanceof _Request);
+          request2 = input[kState];
+          signal = input[kSignal];
+        }
+        const origin = this[kRealm].settingsObject.origin;
+        let window2 = "client";
+        if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
+          window2 = request2.window;
+        }
+        if (init.window != null) {
+          throw new TypeError(`'window' option '${window2}' must be null`);
+        }
+        if ("window" in init) {
+          window2 = "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: this[kRealm].settingsObject,
+          // window window.
+          window: window2,
+          // 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, this[kRealm].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;
+          if (!isValidHTTPToken(method)) {
+            throw new TypeError(`'${method}' is not a valid HTTP method.`);
+          }
+          if (forbiddenMethodsSet.has(method.toUpperCase())) {
+            throw new TypeError(`'${method}' HTTP method is unsupported.`);
+          }
+          method = normalizeMethodRecord[method] ?? normalizeMethod(method);
+          request2.method = method;
+        }
+        if (init.signal !== void 0) {
+          signal = init.signal;
+        }
+        this[kState] = request2;
+        const ac = new AbortController();
+        this[kSignal] = ac.signal;
+        this[kSignal][kRealm] = this[kRealm];
+        if (signal != null) {
+          if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") {
+            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 = function() {
+              const ac2 = acRef.deref();
+              if (ac2 !== void 0) {
+                ac2.abort(this.reason);
+              }
+            };
+            try {
+              if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) {
+                setMaxListeners(100, signal);
+              } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) {
+                setMaxListeners(100, signal);
+              }
+            } catch {
+            }
+            util.addAbortListener(signal, abort);
+            requestFinalizer.register(ac, { signal, abort });
+          }
+        }
+        this[kHeaders] = new Headers(kConstruct);
+        this[kHeaders][kHeadersList] = request2.headersList;
+        this[kHeaders][kGuard] = "request";
+        this[kHeaders][kRealm] = this[kRealm];
+        if (mode === "no-cors") {
+          if (!corsSafeListedMethodsSet.has(request2.method)) {
+            throw new TypeError(
+              `'${request2.method} is unsupported in no-cors mode.`
+            );
+          }
+          this[kHeaders][kGuard] = "request-no-cors";
+        }
+        if (initHasKey) {
+          const headersList = this[kHeaders][kHeadersList];
+          const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList);
+          headersList.clear();
+          if (headers instanceof HeadersList) {
+            for (const [key, val] of headers) {
+              headersList.append(key, val);
+            }
+            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 && !this[kHeaders][kHeadersList].contains("content-type")) {
+            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 (util.isDisturbed(inputBody.stream) || inputBody.stream.locked) {
+            throw new TypeError(
+              "Cannot construct a Request with a Request object that has already been used."
+            );
+          }
+          if (!TransformStream2) {
+            TransformStream2 = require("stream/web").TransformStream;
+          }
+          const identityTransform = new TransformStream2();
+          inputBody.stream.pipeThrough(identityTransform);
+          finalBody = {
+            source: inputBody.source,
+            length: inputBody.length,
+            stream: identityTransform.readable
+          };
+        }
+        this[kState].body = finalBody;
       }
-      var globber = glob2(options.cwd || ".", options);
-      globber.on("error", onGlobError.bind(this));
-      globber.on("match", onGlobMatch.bind(this));
-      globber.on("end", onGlobEnd.bind(this));
-      return this;
-    };
-    Archiver.prototype.finalize = function() {
-      if (this._state.aborted) {
-        var abortedError = new ArchiverError("ABORTED");
-        this.emit("error", abortedError);
-        return Promise.reject(abortedError);
+      // Returns request’s HTTP method, which is "GET" by default.
+      get method() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].method;
       }
-      if (this._state.finalize) {
-        var finalizingError = new ArchiverError("FINALIZING");
-        this.emit("error", finalizingError);
-        return Promise.reject(finalizingError);
+      // Returns the URL of request as a string.
+      get url() {
+        webidl.brandCheck(this, _Request);
+        return URLSerializer(this[kState].url);
       }
-      this._state.finalize = true;
-      if (this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
-        this._finalize();
+      // 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];
       }
-      var self2 = this;
-      return new Promise(function(resolve8, reject) {
-        var errored;
-        self2._module.on("end", function() {
-          if (!errored) {
-            resolve8();
-          }
-        });
-        self2._module.on("error", function(err) {
-          errored = true;
-          reject(err);
-        });
-      });
-    };
-    Archiver.prototype.setFormat = function(format) {
-      if (this._format) {
-        this.emit("error", new ArchiverError("FORMATSET"));
-        return this;
+      // Returns the kind of resource requested by request, e.g., "document"
+      // or "script".
+      get destination() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].destination;
       }
-      this._format = format;
-      return this;
-    };
-    Archiver.prototype.setModule = function(module3) {
-      if (this._state.aborted) {
-        this.emit("error", new ArchiverError("ABORTED"));
-        return this;
+      // 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();
       }
-      if (this._state.module) {
-        this.emit("error", new ArchiverError("MODULESET"));
-        return this;
+      // 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;
       }
-      this._module = module3;
-      this._modulePipe();
-      return this;
-    };
-    Archiver.prototype.symlink = function(filepath, target, mode) {
-      if (this._state.finalize || this._state.aborted) {
-        this.emit("error", new ArchiverError("QUEUECLOSED"));
-        return this;
+      // 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;
       }
-      if (typeof filepath !== "string" || filepath.length === 0) {
-        this.emit("error", new ArchiverError("SYMLINKFILEPATHREQUIRED"));
-        return this;
+      // 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;
       }
-      if (typeof target !== "string" || target.length === 0) {
-        this.emit("error", new ArchiverError("SYMLINKTARGETREQUIRED", { filepath }));
-        return this;
+      // 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;
       }
-      if (!this._moduleSupports("symlink")) {
-        this.emit("error", new ArchiverError("SYMLINKNOTSUPPORTED", { filepath }));
-        return this;
+      // 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;
       }
-      var data = {};
-      data.type = "symlink";
-      data.name = filepath.replace(/\\/g, "/");
-      data.linkname = target.replace(/\\/g, "/");
-      data.sourceType = "buffer";
-      if (typeof mode === "number") {
-        data.mode = mode;
+      // 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;
       }
-      this._entriesCount++;
-      this._queue.push({
-        data,
-        source: Buffer.concat([])
-      });
-      return this;
-    };
-    Archiver.prototype.pointer = function() {
-      return this._pointer;
-    };
-    Archiver.prototype.use = function(plugin) {
-      this._streams.push(plugin);
-      return this;
-    };
-    module2.exports = Archiver;
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/archive-entry.js
-var require_archive_entry = __commonJS({
-  "node_modules/compress-commons/lib/archivers/archive-entry.js"(exports2, module2) {
-    var ArchiveEntry = module2.exports = function() {
-    };
-    ArchiveEntry.prototype.getName = function() {
-    };
-    ArchiveEntry.prototype.getSize = function() {
-    };
-    ArchiveEntry.prototype.getLastModifiedDate = function() {
-    };
-    ArchiveEntry.prototype.isDirectory = function() {
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/util.js
-var require_util21 = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/util.js"(exports2, module2) {
-    var util = module2.exports = {};
-    util.dateToDos = function(d, forceLocalTime) {
-      forceLocalTime = forceLocalTime || false;
-      var year = forceLocalTime ? d.getFullYear() : d.getUTCFullYear();
-      if (year < 1980) {
-        return 2162688;
-      } else if (year >= 2044) {
-        return 2141175677;
+      // 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;
       }
-      var val = {
-        year,
-        month: forceLocalTime ? d.getMonth() : d.getUTCMonth(),
-        date: forceLocalTime ? d.getDate() : d.getUTCDate(),
-        hours: forceLocalTime ? d.getHours() : d.getUTCHours(),
-        minutes: forceLocalTime ? d.getMinutes() : d.getUTCMinutes(),
-        seconds: forceLocalTime ? d.getSeconds() : d.getUTCSeconds()
-      };
-      return val.year - 1980 << 25 | val.month + 1 << 21 | val.date << 16 | val.hours << 11 | val.minutes << 5 | val.seconds / 2;
-    };
-    util.dosToDate = function(dos) {
-      return new Date((dos >> 25 & 127) + 1980, (dos >> 21 & 15) - 1, dos >> 16 & 31, dos >> 11 & 31, dos >> 5 & 63, (dos & 31) << 1);
-    };
-    util.fromDosTime = function(buf) {
-      return util.dosToDate(buf.readUInt32LE(0));
-    };
-    util.getEightBytes = function(v) {
-      var buf = Buffer.alloc(8);
-      buf.writeUInt32LE(v % 4294967296, 0);
-      buf.writeUInt32LE(v / 4294967296 | 0, 4);
-      return buf;
-    };
-    util.getShortBytes = function(v) {
-      var buf = Buffer.alloc(2);
-      buf.writeUInt16LE((v & 65535) >>> 0, 0);
-      return buf;
-    };
-    util.getShortBytesValue = function(buf, offset) {
-      return buf.readUInt16LE(offset);
-    };
-    util.getLongBytes = function(v) {
-      var buf = Buffer.alloc(4);
-      buf.writeUInt32LE((v & 4294967295) >>> 0, 0);
-      return buf;
-    };
-    util.getLongBytesValue = function(buf, offset) {
-      return buf.readUInt32LE(offset);
-    };
-    util.toDosTime = function(d) {
-      return util.getLongBytes(util.dateToDos(d));
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js
-var require_general_purpose_bit = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js"(exports2, module2) {
-    var zipUtil = require_util21();
-    var DATA_DESCRIPTOR_FLAG = 1 << 3;
-    var ENCRYPTION_FLAG = 1 << 0;
-    var NUMBER_OF_SHANNON_FANO_TREES_FLAG = 1 << 2;
-    var SLIDING_DICTIONARY_SIZE_FLAG = 1 << 1;
-    var STRONG_ENCRYPTION_FLAG = 1 << 6;
-    var UFT8_NAMES_FLAG = 1 << 11;
-    var GeneralPurposeBit = module2.exports = function() {
-      if (!(this instanceof GeneralPurposeBit)) {
-        return new GeneralPurposeBit();
+      // Returns a boolean indicating whether or not request is for a reload
+      // navigation.
+      get isReloadNavigation() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].reloadNavigation;
       }
-      this.descriptor = false;
-      this.encryption = false;
-      this.utf8 = false;
-      this.numberOfShannonFanoTrees = 0;
-      this.strongEncryption = false;
-      this.slidingDictionarySize = 0;
-      return this;
-    };
-    GeneralPurposeBit.prototype.encode = function() {
-      return zipUtil.getShortBytes(
-        (this.descriptor ? DATA_DESCRIPTOR_FLAG : 0) | (this.utf8 ? UFT8_NAMES_FLAG : 0) | (this.encryption ? ENCRYPTION_FLAG : 0) | (this.strongEncryption ? STRONG_ENCRYPTION_FLAG : 0)
-      );
-    };
-    GeneralPurposeBit.prototype.parse = function(buf, offset) {
-      var flag = zipUtil.getShortBytesValue(buf, offset);
-      var gbp = new GeneralPurposeBit();
-      gbp.useDataDescriptor((flag & DATA_DESCRIPTOR_FLAG) !== 0);
-      gbp.useUTF8ForNames((flag & UFT8_NAMES_FLAG) !== 0);
-      gbp.useStrongEncryption((flag & STRONG_ENCRYPTION_FLAG) !== 0);
-      gbp.useEncryption((flag & ENCRYPTION_FLAG) !== 0);
-      gbp.setSlidingDictionarySize((flag & SLIDING_DICTIONARY_SIZE_FLAG) !== 0 ? 8192 : 4096);
-      gbp.setNumberOfShannonFanoTrees((flag & NUMBER_OF_SHANNON_FANO_TREES_FLAG) !== 0 ? 3 : 2);
-      return gbp;
-    };
-    GeneralPurposeBit.prototype.setNumberOfShannonFanoTrees = function(n) {
-      this.numberOfShannonFanoTrees = n;
-    };
-    GeneralPurposeBit.prototype.getNumberOfShannonFanoTrees = function() {
-      return this.numberOfShannonFanoTrees;
-    };
-    GeneralPurposeBit.prototype.setSlidingDictionarySize = function(n) {
-      this.slidingDictionarySize = n;
-    };
-    GeneralPurposeBit.prototype.getSlidingDictionarySize = function() {
-      return this.slidingDictionarySize;
-    };
-    GeneralPurposeBit.prototype.useDataDescriptor = function(b) {
-      this.descriptor = b;
-    };
-    GeneralPurposeBit.prototype.usesDataDescriptor = function() {
-      return this.descriptor;
-    };
-    GeneralPurposeBit.prototype.useEncryption = function(b) {
-      this.encryption = b;
-    };
-    GeneralPurposeBit.prototype.usesEncryption = function() {
-      return this.encryption;
-    };
-    GeneralPurposeBit.prototype.useStrongEncryption = function(b) {
-      this.strongEncryption = b;
-    };
-    GeneralPurposeBit.prototype.usesStrongEncryption = function() {
-      return this.strongEncryption;
-    };
-    GeneralPurposeBit.prototype.useUTF8ForNames = function(b) {
-      this.utf8 = b;
-    };
-    GeneralPurposeBit.prototype.usesUTF8ForNames = function() {
-      return this.utf8;
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/unix-stat.js
-var require_unix_stat = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/unix-stat.js"(exports2, module2) {
-    module2.exports = {
-      /**
-       * Bits used for permissions (and sticky bit)
-       */
-      PERM_MASK: 4095,
-      // 07777
-      /**
-       * Bits used to indicate the filesystem object type.
-       */
-      FILE_TYPE_FLAG: 61440,
-      // 0170000
-      /**
-       * Indicates symbolic links.
-       */
-      LINK_FLAG: 40960,
-      // 0120000
-      /**
-       * Indicates plain files.
-       */
-      FILE_FLAG: 32768,
-      // 0100000
-      /**
-       * Indicates directories.
-       */
-      DIR_FLAG: 16384,
-      // 040000
-      // ----------------------------------------------------------
-      // somewhat arbitrary choices that are quite common for shared
-      // installations
-      // -----------------------------------------------------------
-      /**
-       * Default permissions for symbolic links.
-       */
-      DEFAULT_LINK_PERM: 511,
-      // 0777
-      /**
-       * Default permissions for directories.
-       */
-      DEFAULT_DIR_PERM: 493,
-      // 0755
-      /**
-       * Default permissions for plain files.
-       */
-      DEFAULT_FILE_PERM: 420
-      // 0644
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/constants.js
-var require_constants18 = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/constants.js"(exports2, module2) {
-    module2.exports = {
-      WORD: 4,
-      DWORD: 8,
-      EMPTY: Buffer.alloc(0),
-      SHORT: 2,
-      SHORT_MASK: 65535,
-      SHORT_SHIFT: 16,
-      SHORT_ZERO: Buffer.from(Array(2)),
-      LONG: 4,
-      LONG_ZERO: Buffer.from(Array(4)),
-      MIN_VERSION_INITIAL: 10,
-      MIN_VERSION_DATA_DESCRIPTOR: 20,
-      MIN_VERSION_ZIP64: 45,
-      VERSION_MADEBY: 45,
-      METHOD_STORED: 0,
-      METHOD_DEFLATED: 8,
-      PLATFORM_UNIX: 3,
-      PLATFORM_FAT: 0,
-      SIG_LFH: 67324752,
-      SIG_DD: 134695760,
-      SIG_CFH: 33639248,
-      SIG_EOCD: 101010256,
-      SIG_ZIP64_EOCD: 101075792,
-      SIG_ZIP64_EOCD_LOC: 117853008,
-      ZIP64_MAGIC_SHORT: 65535,
-      ZIP64_MAGIC: 4294967295,
-      ZIP64_EXTRA_ID: 1,
-      ZLIB_NO_COMPRESSION: 0,
-      ZLIB_BEST_SPEED: 1,
-      ZLIB_BEST_COMPRESSION: 9,
-      ZLIB_DEFAULT_COMPRESSION: -1,
-      MODE_MASK: 4095,
-      DEFAULT_FILE_MODE: 33188,
-      // 010644 = -rw-r--r-- = S_IFREG | S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
-      DEFAULT_DIR_MODE: 16877,
-      // 040755 = drwxr-xr-x = S_IFDIR | S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH
-      EXT_FILE_ATTR_DIR: 1106051088,
-      // 010173200020 = drwxr-xr-x = (((S_IFDIR | 0755) << 16) | S_DOS_D)
-      EXT_FILE_ATTR_FILE: 2175008800,
-      // 020151000040 = -rw-r--r-- = (((S_IFREG | 0644) << 16) | S_DOS_A) >>> 0
-      // Unix file types
-      S_IFMT: 61440,
-      // 0170000 type of file mask
-      S_IFIFO: 4096,
-      // 010000 named pipe (fifo)
-      S_IFCHR: 8192,
-      // 020000 character special
-      S_IFDIR: 16384,
-      // 040000 directory
-      S_IFBLK: 24576,
-      // 060000 block special
-      S_IFREG: 32768,
-      // 0100000 regular
-      S_IFLNK: 40960,
-      // 0120000 symbolic link
-      S_IFSOCK: 49152,
-      // 0140000 socket
-      // DOS file type flags
-      S_DOS_A: 32,
-      // 040 Archive
-      S_DOS_D: 16,
-      // 020 Directory
-      S_DOS_V: 8,
-      // 010 Volume
-      S_DOS_S: 4,
-      // 04 System
-      S_DOS_H: 2,
-      // 02 Hidden
-      S_DOS_R: 1
-      // 01 Read Only
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/zip-archive-entry.js
-var require_zip_archive_entry = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/zip-archive-entry.js"(exports2, module2) {
-    var inherits = require("util").inherits;
-    var normalizePath = require_normalize_path();
-    var ArchiveEntry = require_archive_entry();
-    var GeneralPurposeBit = require_general_purpose_bit();
-    var UnixStat = require_unix_stat();
-    var constants = require_constants18();
-    var zipUtil = require_util21();
-    var ZipArchiveEntry = module2.exports = function(name) {
-      if (!(this instanceof ZipArchiveEntry)) {
-        return new ZipArchiveEntry(name);
+      // Returns a boolean indicating whether or not request is for a history
+      // navigation (a.k.a. back-foward navigation).
+      get isHistoryNavigation() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].historyNavigation;
       }
-      ArchiveEntry.call(this);
-      this.platform = constants.PLATFORM_FAT;
-      this.method = -1;
-      this.name = null;
-      this.size = 0;
-      this.csize = 0;
-      this.gpb = new GeneralPurposeBit();
-      this.crc = 0;
-      this.time = -1;
-      this.minver = constants.MIN_VERSION_INITIAL;
-      this.mode = -1;
-      this.extra = null;
-      this.exattr = 0;
-      this.inattr = 0;
-      this.comment = null;
-      if (name) {
-        this.setName(name);
+      // 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];
       }
-    };
-    inherits(ZipArchiveEntry, ArchiveEntry);
-    ZipArchiveEntry.prototype.getCentralDirectoryExtra = function() {
-      return this.getExtra();
-    };
-    ZipArchiveEntry.prototype.getComment = function() {
-      return this.comment !== null ? this.comment : "";
-    };
-    ZipArchiveEntry.prototype.getCompressedSize = function() {
-      return this.csize;
-    };
-    ZipArchiveEntry.prototype.getCrc = function() {
-      return this.crc;
-    };
-    ZipArchiveEntry.prototype.getExternalAttributes = function() {
-      return this.exattr;
-    };
-    ZipArchiveEntry.prototype.getExtra = function() {
-      return this.extra !== null ? this.extra : constants.EMPTY;
-    };
-    ZipArchiveEntry.prototype.getGeneralPurposeBit = function() {
-      return this.gpb;
-    };
-    ZipArchiveEntry.prototype.getInternalAttributes = function() {
-      return this.inattr;
-    };
-    ZipArchiveEntry.prototype.getLastModifiedDate = function() {
-      return this.getTime();
-    };
-    ZipArchiveEntry.prototype.getLocalFileDataExtra = function() {
-      return this.getExtra();
-    };
-    ZipArchiveEntry.prototype.getMethod = function() {
-      return this.method;
-    };
-    ZipArchiveEntry.prototype.getName = function() {
-      return this.name;
-    };
-    ZipArchiveEntry.prototype.getPlatform = function() {
-      return this.platform;
-    };
-    ZipArchiveEntry.prototype.getSize = function() {
-      return this.size;
-    };
-    ZipArchiveEntry.prototype.getTime = function() {
-      return this.time !== -1 ? zipUtil.dosToDate(this.time) : -1;
-    };
-    ZipArchiveEntry.prototype.getTimeDos = function() {
-      return this.time !== -1 ? this.time : 0;
-    };
-    ZipArchiveEntry.prototype.getUnixMode = function() {
-      return this.platform !== constants.PLATFORM_UNIX ? 0 : this.getExternalAttributes() >> constants.SHORT_SHIFT & constants.SHORT_MASK;
-    };
-    ZipArchiveEntry.prototype.getVersionNeededToExtract = function() {
-      return this.minver;
-    };
-    ZipArchiveEntry.prototype.setComment = function(comment) {
-      if (Buffer.byteLength(comment) !== comment.length) {
-        this.getGeneralPurposeBit().useUTF8ForNames(true);
+      get body() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      this.comment = comment;
-    };
-    ZipArchiveEntry.prototype.setCompressedSize = function(size) {
-      if (size < 0) {
-        throw new Error("invalid entry compressed size");
+      get bodyUsed() {
+        webidl.brandCheck(this, _Request);
+        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
       }
-      this.csize = size;
-    };
-    ZipArchiveEntry.prototype.setCrc = function(crc) {
-      if (crc < 0) {
-        throw new Error("invalid entry crc32");
+      get duplex() {
+        webidl.brandCheck(this, _Request);
+        return "half";
       }
-      this.crc = crc;
-    };
-    ZipArchiveEntry.prototype.setExternalAttributes = function(attr) {
-      this.exattr = attr >>> 0;
-    };
-    ZipArchiveEntry.prototype.setExtra = function(extra) {
-      this.extra = extra;
-    };
-    ZipArchiveEntry.prototype.setGeneralPurposeBit = function(gpb) {
-      if (!(gpb instanceof GeneralPurposeBit)) {
-        throw new Error("invalid entry GeneralPurposeBit");
+      // Returns a clone of request.
+      clone() {
+        webidl.brandCheck(this, _Request);
+        if (this.bodyUsed || this.body?.locked) {
+          throw new TypeError("unusable");
+        }
+        const clonedRequest = cloneRequest(this[kState]);
+        const clonedRequestObject = new _Request(kConstruct);
+        clonedRequestObject[kState] = clonedRequest;
+        clonedRequestObject[kRealm] = this[kRealm];
+        clonedRequestObject[kHeaders] = new Headers(kConstruct);
+        clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList;
+        clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard];
+        clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm];
+        const ac = new AbortController();
+        if (this.signal.aborted) {
+          ac.abort(this.signal.reason);
+        } else {
+          util.addAbortListener(
+            this.signal,
+            () => {
+              ac.abort(this.signal.reason);
+            }
+          );
+        }
+        clonedRequestObject[kSignal] = ac.signal;
+        return clonedRequestObject;
       }
-      this.gpb = gpb;
-    };
-    ZipArchiveEntry.prototype.setInternalAttributes = function(attr) {
-      this.inattr = attr;
     };
-    ZipArchiveEntry.prototype.setMethod = function(method) {
-      if (method < 0) {
-        throw new Error("invalid entry compression method");
+    mixinBody(Request);
+    function makeRequest(init) {
+      const request2 = {
+        method: "GET",
+        localURLsOnly: false,
+        unsafeRequest: false,
+        body: null,
+        client: null,
+        reservedClient: null,
+        replacesClientId: "",
+        window: "client",
+        keepalive: false,
+        serviceWorkers: "all",
+        initiator: "",
+        destination: "",
+        priority: null,
+        origin: "client",
+        policyContainer: "client",
+        referrer: "client",
+        referrerPolicy: "",
+        mode: "no-cors",
+        useCORSPreflightFlag: false,
+        credentials: "same-origin",
+        useCredentials: false,
+        cache: "default",
+        redirect: "follow",
+        integrity: "",
+        cryptoGraphicsNonceMetadata: "",
+        parserMetadata: "",
+        reloadNavigation: false,
+        historyNavigation: false,
+        userActivation: false,
+        taintedOrigin: false,
+        redirectCount: 0,
+        responseTainting: "basic",
+        preventNoCacheCacheControlHeaderModification: false,
+        done: false,
+        timingAllowFailed: false,
+        ...init,
+        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList()
+      };
+      request2.url = request2.urlList[0];
+      return request2;
+    }
+    function cloneRequest(request2) {
+      const newRequest = makeRequest({ ...request2, body: null });
+      if (request2.body != null) {
+        newRequest.body = cloneBody(request2.body);
       }
-      this.method = method;
-    };
-    ZipArchiveEntry.prototype.setName = function(name, prependSlash = false) {
-      name = normalizePath(name, false).replace(/^\w+:/, "").replace(/^(\.\.\/|\/)+/, "");
-      if (prependSlash) {
-        name = `/${name}`;
+      return newRequest;
+    }
+    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
       }
-      if (Buffer.byteLength(name) !== name.length) {
-        this.getGeneralPurposeBit().useUTF8ForNames(true);
+    });
+    webidl.converters.Request = webidl.interfaceConverter(
+      Request
+    );
+    webidl.converters.RequestInfo = function(V) {
+      if (typeof V === "string") {
+        return webidl.converters.USVString(V);
       }
-      this.name = name;
-    };
-    ZipArchiveEntry.prototype.setPlatform = function(platform) {
-      this.platform = platform;
-    };
-    ZipArchiveEntry.prototype.setSize = function(size) {
-      if (size < 0) {
-        throw new Error("invalid entry size");
+      if (V instanceof Request) {
+        return webidl.converters.Request(V);
       }
-      this.size = size;
+      return webidl.converters.USVString(V);
     };
-    ZipArchiveEntry.prototype.setTime = function(time, forceLocalTime) {
-      if (!(time instanceof Date)) {
-        throw new Error("invalid entry time");
+    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,
+            { strict: false }
+          )
+        )
+      },
+      {
+        key: "window",
+        converter: webidl.converters.any
+      },
+      {
+        key: "duplex",
+        converter: webidl.converters.DOMString,
+        allowedValues: requestDuplex
       }
-      this.time = zipUtil.dateToDos(time, forceLocalTime);
-    };
-    ZipArchiveEntry.prototype.setUnixMode = function(mode) {
-      mode |= this.isDirectory() ? constants.S_IFDIR : constants.S_IFREG;
-      var extattr = 0;
-      extattr |= mode << constants.SHORT_SHIFT | (this.isDirectory() ? constants.S_DOS_D : constants.S_DOS_A);
-      this.setExternalAttributes(extattr);
-      this.mode = mode & constants.MODE_MASK;
-      this.platform = constants.PLATFORM_UNIX;
-    };
-    ZipArchiveEntry.prototype.setVersionNeededToExtract = function(minver) {
-      this.minver = minver;
-    };
-    ZipArchiveEntry.prototype.isDirectory = function() {
-      return this.getName().slice(-1) === "/";
-    };
-    ZipArchiveEntry.prototype.isUnixSymlink = function() {
-      return (this.getUnixMode() & UnixStat.FILE_TYPE_FLAG) === UnixStat.LINK_FLAG;
-    };
-    ZipArchiveEntry.prototype.isZip64 = function() {
-      return this.csize > constants.ZIP64_MAGIC || this.size > constants.ZIP64_MAGIC;
-    };
+    ]);
+    module2.exports = { Request, makeRequest };
   }
 });
 
-// node_modules/compress-commons/node_modules/is-stream/index.js
-var require_is_stream2 = __commonJS({
-  "node_modules/compress-commons/node_modules/is-stream/index.js"(exports2, module2) {
+// node_modules/undici/lib/fetch/index.js
+var require_fetch3 = __commonJS({
+  "node_modules/undici/lib/fetch/index.js"(exports2, module2) {
     "use strict";
-    var isStream = (stream2) => stream2 !== null && typeof stream2 === "object" && typeof stream2.pipe === "function";
-    isStream.writable = (stream2) => isStream(stream2) && stream2.writable !== false && typeof stream2._write === "function" && typeof stream2._writableState === "object";
-    isStream.readable = (stream2) => isStream(stream2) && stream2.readable !== false && typeof stream2._read === "function" && typeof stream2._readableState === "object";
-    isStream.duplex = (stream2) => isStream.writable(stream2) && isStream.readable(stream2);
-    isStream.transform = (stream2) => isStream.duplex(stream2) && typeof stream2._transform === "function";
-    module2.exports = isStream;
-  }
-});
-
-// node_modules/compress-commons/lib/util/index.js
-var require_util22 = __commonJS({
-  "node_modules/compress-commons/lib/util/index.js"(exports2, module2) {
-    var Stream = require("stream").Stream;
-    var PassThrough = require_ours().PassThrough;
-    var isStream = require_is_stream2();
-    var util = module2.exports = {};
-    util.normalizeInputSource = function(source) {
-      if (source === null) {
-        return Buffer.alloc(0);
-      } else if (typeof source === "string") {
-        return Buffer.from(source);
-      } else if (isStream(source) && !source._readableState) {
-        var normalized = new PassThrough();
-        source.pipe(normalized);
-        return normalized;
+    var {
+      Response,
+      makeNetworkError,
+      makeAppropriateNetworkError,
+      filterResponse,
+      makeResponse
+    } = require_response4();
+    var { Headers } = require_headers4();
+    var { Request, makeRequest } = require_request6();
+    var zlib3 = require("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
+    } = require_util25();
+    var { kState, kHeaders, kGuard, kRealm } = require_symbols12();
+    var assert = require("assert");
+    var { safelyExtractBody } = require_body3();
+    var {
+      redirectStatusSet,
+      nullBodyStatus,
+      safeMethodsSet,
+      requestBodyHeader,
+      subresourceSet,
+      DOMException: DOMException2
+    } = require_constants21();
+    var { kHeadersList } = require_symbols11();
+    var EE = require("events");
+    var { Readable: Readable2, pipeline } = require("stream");
+    var { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require_util24();
+    var { dataURLProcessor, serializeAMimeType } = require_dataURL();
+    var { TransformStream: TransformStream2 } = require("stream/web");
+    var { getGlobalDispatcher } = require_global6();
+    var { webidl } = require_webidl3();
+    var { STATUS_CODES } = require("http");
+    var GET_OR_HEAD = ["GET", "HEAD"];
+    var resolveObjectURL;
+    var ReadableStream2 = globalThis.ReadableStream;
+    var Fetch = class extends EE {
+      constructor(dispatcher) {
+        super();
+        this.dispatcher = dispatcher;
+        this.connection = null;
+        this.dump = false;
+        this.state = "ongoing";
+        this.setMaxListeners(21);
       }
-      return source;
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/archive-output-stream.js
-var require_archive_output_stream = __commonJS({
-  "node_modules/compress-commons/lib/archivers/archive-output-stream.js"(exports2, module2) {
-    var inherits = require("util").inherits;
-    var isStream = require_is_stream2();
-    var Transform = require_ours().Transform;
-    var ArchiveEntry = require_archive_entry();
-    var util = require_util22();
-    var ArchiveOutputStream = module2.exports = function(options) {
-      if (!(this instanceof ArchiveOutputStream)) {
-        return new ArchiveOutputStream(options);
+      terminate(reason) {
+        if (this.state !== "ongoing") {
+          return;
+        }
+        this.state = "terminated";
+        this.connection?.destroy(reason);
+        this.emit("terminated", reason);
       }
-      Transform.call(this, options);
-      this.offset = 0;
-      this._archive = {
-        finish: false,
-        finished: false,
-        processing: false
-      };
-    };
-    inherits(ArchiveOutputStream, Transform);
-    ArchiveOutputStream.prototype._appendBuffer = function(zae, source, callback) {
-    };
-    ArchiveOutputStream.prototype._appendStream = function(zae, source, callback) {
-    };
-    ArchiveOutputStream.prototype._emitErrorCallback = function(err) {
-      if (err) {
-        this.emit("error", err);
+      // https://fetch.spec.whatwg.org/#fetch-controller-abort
+      abort(error3) {
+        if (this.state !== "ongoing") {
+          return;
+        }
+        this.state = "aborted";
+        if (!error3) {
+          error3 = new DOMException2("The operation was aborted.", "AbortError");
+        }
+        this.serializedAbortReason = error3;
+        this.connection?.destroy(error3);
+        this.emit("terminated", error3);
       }
     };
-    ArchiveOutputStream.prototype._finish = function(ae) {
-    };
-    ArchiveOutputStream.prototype._normalizeEntry = function(ae) {
-    };
-    ArchiveOutputStream.prototype._transform = function(chunk, encoding, callback) {
-      callback(null, chunk);
-    };
-    ArchiveOutputStream.prototype.entry = function(ae, source, callback) {
-      source = source || null;
-      if (typeof callback !== "function") {
-        callback = this._emitErrorCallback.bind(this);
+    function fetch(input, init = {}) {
+      webidl.argumentLengthCheck(arguments, 1, { header: "globalThis.fetch" });
+      const p = createDeferredPromise();
+      let requestObject;
+      try {
+        requestObject = new Request(input, init);
+      } catch (e) {
+        p.reject(e);
+        return p.promise;
       }
-      if (!(ae instanceof ArchiveEntry)) {
-        callback(new Error("not a valid instance of ArchiveEntry"));
+      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;
+      const relevantRealm = null;
+      let locallyAborted = false;
+      let controller = null;
+      addAbortListener(
+        requestObject.signal,
+        () => {
+          locallyAborted = true;
+          assert(controller != null);
+          controller.abort(requestObject.signal.reason);
+          abortFetch(p, request2, responseObject, requestObject.signal.reason);
+        }
+      );
+      const handleFetchDone = (response) => finalizeAndReportTiming(response, "fetch");
+      const processResponse = (response) => {
+        if (locallyAborted) {
+          return Promise.resolve();
+        }
+        if (response.aborted) {
+          abortFetch(p, request2, responseObject, controller.serializedAbortReason);
+          return Promise.resolve();
+        }
+        if (response.type === "error") {
+          p.reject(
+            Object.assign(new TypeError("fetch failed"), { cause: response.error })
+          );
+          return Promise.resolve();
+        }
+        responseObject = new Response();
+        responseObject[kState] = response;
+        responseObject[kRealm] = relevantRealm;
+        responseObject[kHeaders][kHeadersList] = response.headersList;
+        responseObject[kHeaders][kGuard] = "immutable";
+        responseObject[kHeaders][kRealm] = relevantRealm;
+        p.resolve(responseObject);
+      };
+      controller = fetching({
+        request: request2,
+        processResponseEndOfBody: handleFetchDone,
+        processResponse,
+        dispatcher: init.dispatcher ?? getGlobalDispatcher()
+        // undici
+      });
+      return p.promise;
+    }
+    function finalizeAndReportTiming(response, initiatorType = "other") {
+      if (response.type === "error" && response.aborted) {
         return;
       }
-      if (this._archive.finish || this._archive.finished) {
-        callback(new Error("unacceptable entry after finish"));
+      if (!response.urlList?.length) {
         return;
       }
-      if (this._archive.processing) {
-        callback(new Error("already processing an entry"));
+      const originalURL = response.urlList[0];
+      let timingInfo = response.timingInfo;
+      let cacheState = response.cacheState;
+      if (!urlIsHttpHttpsScheme(originalURL)) {
         return;
       }
-      this._archive.processing = true;
-      this._normalizeEntry(ae);
-      this._entry = ae;
-      source = util.normalizeInputSource(source);
-      if (Buffer.isBuffer(source)) {
-        this._appendBuffer(ae, source, callback);
-      } else if (isStream(source)) {
-        this._appendStream(ae, source, callback);
-      } else {
-        this._archive.processing = false;
-        callback(new Error("input source must be valid Stream or Buffer instance"));
+      if (timingInfo === null) {
         return;
       }
-      return this;
-    };
-    ArchiveOutputStream.prototype.finish = function() {
-      if (this._archive.processing) {
-        this._archive.finish = true;
+      if (!response.timingAllowPassed) {
+        timingInfo = createOpaqueTimingInfo({
+          startTime: timingInfo.startTime
+        });
+        cacheState = "";
+      }
+      timingInfo.endTime = coarsenedSharedCurrentTime();
+      response.timingInfo = timingInfo;
+      markResourceTiming(
+        timingInfo,
+        originalURL,
+        initiatorType,
+        globalThis,
+        cacheState
+      );
+    }
+    function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) {
+      if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) {
+        performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis2, cacheState);
+      }
+    }
+    function abortFetch(p, request2, responseObject, error3) {
+      if (!error3) {
+        error3 = new DOMException2("The operation was aborted.", "AbortError");
+      }
+      p.reject(error3);
+      if (request2.body != null && isReadable(request2.body?.stream)) {
+        request2.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
+          }
+          throw err;
+        });
+      }
+      if (responseObject == null) {
         return;
       }
-      this._finish();
-    };
-    ArchiveOutputStream.prototype.getBytesWritten = function() {
-      return this.offset;
-    };
-    ArchiveOutputStream.prototype.write = function(chunk, cb) {
-      if (chunk) {
-        this.offset += chunk.length;
+      const response = responseObject[kState];
+      if (response.body != null && isReadable(response.body?.stream)) {
+        response.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
+          }
+          throw err;
+        });
       }
-      return Transform.prototype.write.call(this, chunk, cb);
-    };
-  }
-});
-
-// node_modules/crc-32/crc32.js
-var require_crc32 = __commonJS({
-  "node_modules/crc-32/crc32.js"(exports2) {
-    var CRC32;
-    (function(factory) {
-      if (typeof DO_NOT_EXPORT_CRC === "undefined") {
-        if ("object" === typeof exports2) {
-          factory(exports2);
-        } else if ("function" === typeof define && define.amd) {
-          define(function() {
-            var module3 = {};
-            factory(module3);
-            return module3;
-          });
-        } else {
-          factory(CRC32 = {});
-        }
-      } else {
-        factory(CRC32 = {});
+    }
+    function fetching({
+      request: request2,
+      processRequestBodyChunkLength,
+      processRequestEndOfBody,
+      processResponse,
+      processResponseEndOfBody,
+      processResponseConsumeBody,
+      useParallelQueue = false,
+      dispatcher
+      // undici
+    }) {
+      let taskDestination = null;
+      let crossOriginIsolatedCapability = false;
+      if (request2.client != null) {
+        taskDestination = request2.client.globalObject;
+        crossOriginIsolatedCapability = request2.client.crossOriginIsolatedCapability;
       }
-    })(function(CRC322) {
-      CRC322.version = "1.2.2";
-      function signed_crc_table() {
-        var c = 0, table = new Array(256);
-        for (var n = 0; n != 256; ++n) {
-          c = n;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          table[n] = c;
-        }
-        return typeof Int32Array !== "undefined" ? new Int32Array(table) : table;
+      const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
+      const timingInfo = createOpaqueTimingInfo({
+        startTime: currenTime
+      });
+      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";
       }
-      var T0 = signed_crc_table();
-      function slice_by_16_tables(T) {
-        var c = 0, v = 0, n = 0, table = typeof Int32Array !== "undefined" ? new Int32Array(4096) : new Array(4096);
-        for (n = 0; n != 256; ++n) table[n] = T[n];
-        for (n = 0; n != 256; ++n) {
-          v = T[n];
-          for (c = 256 + n; c < 4096; c += 256) v = table[c] = v >>> 8 ^ T[v & 255];
+      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();
         }
-        var out = [];
-        for (n = 1; n != 16; ++n) out[n - 1] = typeof Int32Array !== "undefined" ? table.subarray(n * 256, n * 256 + 256) : table.slice(n * 256, n * 256 + 256);
-        return out;
       }
-      var TT = slice_by_16_tables(T0);
-      var T1 = TT[0], T2 = TT[1], T3 = TT[2], T4 = TT[3], T5 = TT[4];
-      var T6 = TT[5], T7 = TT[6], T8 = TT[7], T9 = TT[8], Ta = TT[9];
-      var Tb = TT[10], Tc = TT[11], Td = TT[12], Te = TT[13], Tf = TT[14];
-      function crc32_bstr(bstr, seed) {
-        var C = seed ^ -1;
-        for (var i = 0, L = bstr.length; i < L; ) C = C >>> 8 ^ T0[(C ^ bstr.charCodeAt(i++)) & 255];
-        return ~C;
+      if (!request2.headersList.contains("accept")) {
+        const value = "*/*";
+        request2.headersList.append("accept", value);
       }
-      function crc32_buf(B, seed) {
-        var C = seed ^ -1, L = B.length - 15, i = 0;
-        for (; i < L; ) C = Tf[B[i++] ^ C & 255] ^ Te[B[i++] ^ C >> 8 & 255] ^ Td[B[i++] ^ C >> 16 & 255] ^ Tc[B[i++] ^ C >>> 24] ^ Tb[B[i++]] ^ Ta[B[i++]] ^ T9[B[i++]] ^ T8[B[i++]] ^ T7[B[i++]] ^ T6[B[i++]] ^ T5[B[i++]] ^ T4[B[i++]] ^ T3[B[i++]] ^ T2[B[i++]] ^ T1[B[i++]] ^ T0[B[i++]];
-        L += 15;
-        while (i < L) C = C >>> 8 ^ T0[(C ^ B[i++]) & 255];
-        return ~C;
+      if (!request2.headersList.contains("accept-language")) {
+        request2.headersList.append("accept-language", "*");
       }
-      function crc32_str(str2, seed) {
-        var C = seed ^ -1;
-        for (var i = 0, L = str2.length, c = 0, d = 0; i < L; ) {
-          c = str2.charCodeAt(i++);
-          if (c < 128) {
-            C = C >>> 8 ^ T0[(C ^ c) & 255];
-          } else if (c < 2048) {
-            C = C >>> 8 ^ T0[(C ^ (192 | c >> 6 & 31)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | c & 63)) & 255];
-          } else if (c >= 55296 && c < 57344) {
-            c = (c & 1023) + 64;
-            d = str2.charCodeAt(i++) & 1023;
-            C = C >>> 8 ^ T0[(C ^ (240 | c >> 8 & 7)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | c >> 2 & 63)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | d >> 6 & 15 | (c & 3) << 4)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | d & 63)) & 255];
-          } else {
-            C = C >>> 8 ^ T0[(C ^ (224 | c >> 12 & 15)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | c >> 6 & 63)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | c & 63)) & 255];
-          }
-        }
-        return ~C;
+      if (request2.priority === null) {
       }
-      CRC322.table = T0;
-      CRC322.bstr = crc32_bstr;
-      CRC322.buf = crc32_buf;
-      CRC322.str = crc32_str;
-    });
-  }
-});
-
-// node_modules/crc32-stream/lib/crc32-stream.js
-var require_crc32_stream = __commonJS({
-  "node_modules/crc32-stream/lib/crc32-stream.js"(exports2, module2) {
-    "use strict";
-    var { Transform } = require_ours();
-    var crc32 = require_crc32();
-    var CRC32Stream = class extends Transform {
-      constructor(options) {
-        super(options);
-        this.checksum = Buffer.allocUnsafe(4);
-        this.checksum.writeInt32BE(0, 0);
-        this.rawSize = 0;
+      if (subresourceSet.has(request2.destination)) {
       }
-      _transform(chunk, encoding, callback) {
-        if (chunk) {
-          this.checksum = crc32.buf(chunk, this.checksum) >>> 0;
-          this.rawSize += chunk.length;
-        }
-        callback(null, chunk);
+      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");
       }
-      digest(encoding) {
-        const checksum = Buffer.allocUnsafe(4);
-        checksum.writeUInt32BE(this.checksum >>> 0, 0);
-        return encoding ? checksum.toString(encoding) : checksum;
+      tryUpgradeRequestToAPotentiallyTrustworthyURL(request2);
+      if (requestBadPort(request2) === "blocked") {
+        response = makeNetworkError("bad port");
       }
-      hex() {
-        return this.digest("hex").toUpperCase();
+      if (request2.referrerPolicy === "") {
+        request2.referrerPolicy = request2.policyContainer.referrerPolicy;
       }
-      size() {
-        return this.rawSize;
+      if (request2.referrer !== "no-referrer") {
+        request2.referrer = determineRequestsReferrer(request2);
       }
-    };
-    module2.exports = CRC32Stream;
-  }
-});
-
-// node_modules/crc32-stream/lib/deflate-crc32-stream.js
-var require_deflate_crc32_stream = __commonJS({
-  "node_modules/crc32-stream/lib/deflate-crc32-stream.js"(exports2, module2) {
-    "use strict";
-    var { DeflateRaw } = require("zlib");
-    var crc32 = require_crc32();
-    var DeflateCRC32Stream = class extends DeflateRaw {
-      constructor(options) {
-        super(options);
-        this.checksum = Buffer.allocUnsafe(4);
-        this.checksum.writeInt32BE(0, 0);
-        this.rawSize = 0;
-        this.compressedSize = 0;
+      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);
+        })();
       }
-      push(chunk, encoding) {
-        if (chunk) {
-          this.compressedSize += chunk.length;
-        }
-        return super.push(chunk, encoding);
+      if (recursive) {
+        return response;
       }
-      _transform(chunk, encoding, callback) {
-        if (chunk) {
-          this.checksum = crc32.buf(chunk, this.checksum) >>> 0;
-          this.rawSize += chunk.length;
+      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);
         }
-        super._transform(chunk, encoding, callback);
       }
-      digest(encoding) {
-        const checksum = Buffer.allocUnsafe(4);
-        checksum.writeUInt32BE(this.checksum >>> 0, 0);
-        return encoding ? checksum.toString(encoding) : checksum;
+      let internalResponse = response.status === 0 ? response : response.internalResponse;
+      if (internalResponse.urlList.length === 0) {
+        internalResponse.urlList.push(...request2.urlList);
       }
-      hex() {
-        return this.digest("hex").toUpperCase();
+      if (!request2.timingAllowFailed) {
+        response.timingAllowPassed = true;
       }
-      size(compressed = false) {
-        if (compressed) {
-          return this.compressedSize;
-        } else {
-          return this.rawSize;
+      if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request2.headers.contains("range")) {
+        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);
       }
-    };
-    module2.exports = DeflateCRC32Stream;
-  }
-});
-
-// node_modules/crc32-stream/lib/index.js
-var require_lib3 = __commonJS({
-  "node_modules/crc32-stream/lib/index.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      CRC32Stream: require_crc32_stream(),
-      DeflateCRC32Stream: require_deflate_crc32_stream()
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js
-var require_zip_archive_output_stream = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js"(exports2, module2) {
-    var inherits = require("util").inherits;
-    var crc32 = require_crc32();
-    var { CRC32Stream } = require_lib3();
-    var { DeflateCRC32Stream } = require_lib3();
-    var ArchiveOutputStream = require_archive_output_stream();
-    var ZipArchiveEntry = require_zip_archive_entry();
-    var GeneralPurposeBit = require_general_purpose_bit();
-    var constants = require_constants18();
-    var util = require_util22();
-    var zipUtil = require_util21();
-    var ZipArchiveOutputStream = module2.exports = function(options) {
-      if (!(this instanceof ZipArchiveOutputStream)) {
-        return new ZipArchiveOutputStream(options);
+    }
+    function schemeFetch(fetchParams) {
+      if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {
+        return Promise.resolve(makeAppropriateNetworkError(fetchParams));
       }
-      options = this.options = this._defaults(options);
-      ArchiveOutputStream.call(this, options);
-      this._entry = null;
-      this._entries = [];
-      this._archive = {
-        centralLength: 0,
-        centralOffset: 0,
-        comment: "",
-        finish: false,
-        finished: false,
-        processing: false,
-        forceZip64: options.forceZip64,
-        forceLocalTime: options.forceLocalTime
-      };
-    };
-    inherits(ZipArchiveOutputStream, ArchiveOutputStream);
-    ZipArchiveOutputStream.prototype._afterAppend = function(ae) {
-      this._entries.push(ae);
-      if (ae.getGeneralPurposeBit().usesDataDescriptor()) {
-        this._writeDataDescriptor(ae);
+      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("buffer").resolveObjectURL;
+          }
+          const blobURLEntry = requestCurrentURL(request2);
+          if (blobURLEntry.search.length !== 0) {
+            return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));
+          }
+          const blobURLEntryObject = resolveObjectURL(blobURLEntry.toString());
+          if (request2.method !== "GET" || !isBlobLike(blobURLEntryObject)) {
+            return Promise.resolve(makeNetworkError("invalid method"));
+          }
+          const bodyWithType = safelyExtractBody(blobURLEntryObject);
+          const body = bodyWithType[0];
+          const length = isomorphicEncode(`${body.length}`);
+          const type2 = bodyWithType[1] ?? "";
+          const response = makeResponse({
+            statusText: "OK",
+            headersList: [
+              ["content-length", { name: "Content-Length", value: length }],
+              ["content-type", { name: "Content-Type", value: type2 }]
+            ]
+          });
+          response.body = body;
+          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"));
+        }
       }
-      this._archive.processing = false;
-      this._entry = null;
-      if (this._archive.finish && !this._archive.finished) {
-        this._finish();
+    }
+    function finalizeResponse(fetchParams, response) {
+      fetchParams.request.done = true;
+      if (fetchParams.processResponseDone != null) {
+        queueMicrotask(() => fetchParams.processResponseDone(response));
       }
-    };
-    ZipArchiveOutputStream.prototype._appendBuffer = function(ae, source, callback) {
-      if (source.length === 0) {
-        ae.setMethod(constants.METHOD_STORED);
+    }
+    function fetchFinale(fetchParams, response) {
+      if (response.type === "error") {
+        response.urlList = [fetchParams.request.urlList[0]];
+        response.timingInfo = createOpaqueTimingInfo({
+          startTime: fetchParams.timingInfo.startTime
+        });
       }
-      var method = ae.getMethod();
-      if (method === constants.METHOD_STORED) {
-        ae.setSize(source.length);
-        ae.setCompressedSize(source.length);
-        ae.setCrc(crc32.buf(source) >>> 0);
+      const processResponseEndOfBody = () => {
+        fetchParams.request.done = true;
+        if (fetchParams.processResponseEndOfBody != null) {
+          queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
+        }
+      };
+      if (fetchParams.processResponse != null) {
+        queueMicrotask(() => fetchParams.processResponse(response));
       }
-      this._writeLocalFileHeader(ae);
-      if (method === constants.METHOD_STORED) {
-        this.write(source);
-        this._afterAppend(ae);
-        callback(null, ae);
-        return;
-      } else if (method === constants.METHOD_DEFLATED) {
-        this._smartStream(ae, callback).end(source);
-        return;
+      if (response.body == null) {
+        processResponseEndOfBody();
       } else {
-        callback(new Error("compression method " + method + " not implemented"));
-        return;
+        const identityTransformAlgorithm = (chunk, controller) => {
+          controller.enqueue(chunk);
+        };
+        const transformStream = new TransformStream2({
+          start() {
+          },
+          transform: identityTransformAlgorithm,
+          flush: processResponseEndOfBody
+        }, {
+          size() {
+            return 1;
+          }
+        }, {
+          size() {
+            return 1;
+          }
+        });
+        response.body = { stream: response.body.stream.pipeThrough(transformStream) };
       }
-    };
-    ZipArchiveOutputStream.prototype._appendStream = function(ae, source, callback) {
-      ae.getGeneralPurposeBit().useDataDescriptor(true);
-      ae.setVersionNeededToExtract(constants.MIN_VERSION_DATA_DESCRIPTOR);
-      this._writeLocalFileHeader(ae);
-      var smart = this._smartStream(ae, callback);
-      source.once("error", function(err) {
-        smart.emit("error", err);
-        smart.end();
-      });
-      source.pipe(smart);
-    };
-    ZipArchiveOutputStream.prototype._defaults = function(o) {
-      if (typeof o !== "object") {
-        o = {};
+      if (fetchParams.processResponseConsumeBody != null) {
+        const processBody = (nullOrBytes) => fetchParams.processResponseConsumeBody(response, nullOrBytes);
+        const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure);
+        if (response.body == null) {
+          queueMicrotask(() => processBody(null));
+        } else {
+          return fullyReadBody(response.body, processBody, processBodyError);
+        }
+        return Promise.resolve();
       }
-      if (typeof o.zlib !== "object") {
-        o.zlib = {};
+    }
+    async function httpFetch(fetchParams) {
+      const request2 = fetchParams.request;
+      let response = null;
+      let actualResponse = null;
+      const timingInfo = fetchParams.timingInfo;
+      if (request2.serviceWorkers === "all") {
       }
-      if (typeof o.zlib.level !== "number") {
-        o.zlib.level = constants.ZLIB_BEST_SPEED;
+      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;
+        }
       }
-      o.forceZip64 = !!o.forceZip64;
-      o.forceLocalTime = !!o.forceLocalTime;
-      return o;
-    };
-    ZipArchiveOutputStream.prototype._finish = function() {
-      this._archive.centralOffset = this.offset;
-      this._entries.forEach(function(ae) {
-        this._writeCentralFileHeader(ae);
-      }.bind(this));
-      this._archive.centralLength = this.offset - this._archive.centralOffset;
-      if (this.isZip64()) {
-        this._writeCentralDirectoryZip64();
+      if ((request2.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
+        request2.origin,
+        request2.client,
+        request2.destination,
+        actualResponse
+      ) === "blocked") {
+        return makeNetworkError("blocked");
       }
-      this._writeCentralDirectoryEnd();
-      this._archive.processing = false;
-      this._archive.finish = true;
-      this._archive.finished = true;
-      this.end();
-    };
-    ZipArchiveOutputStream.prototype._normalizeEntry = function(ae) {
-      if (ae.getMethod() === -1) {
-        ae.setMethod(constants.METHOD_DEFLATED);
+      if (redirectStatusSet.has(actualResponse.status)) {
+        if (request2.redirect !== "manual") {
+          fetchParams.controller.connection.destroy();
+        }
+        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);
+        }
       }
-      if (ae.getMethod() === constants.METHOD_DEFLATED) {
-        ae.getGeneralPurposeBit().useDataDescriptor(true);
-        ae.setVersionNeededToExtract(constants.MIN_VERSION_DATA_DESCRIPTOR);
+      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 (ae.getTime() === -1) {
-        ae.setTime(/* @__PURE__ */ new Date(), this._archive.forceLocalTime);
+      if (!urlIsHttpHttpsScheme(locationURL)) {
+        return Promise.resolve(makeNetworkError("URL scheme must be a HTTP(S) scheme"));
       }
-      ae._offsets = {
-        file: 0,
-        data: 0,
-        contents: 0
-      };
-    };
-    ZipArchiveOutputStream.prototype._smartStream = function(ae, callback) {
-      var deflate = ae.getMethod() === constants.METHOD_DEFLATED;
-      var process2 = deflate ? new DeflateCRC32Stream(this.options.zlib) : new CRC32Stream();
-      var error3 = null;
-      function handleStuff() {
-        var digest = process2.digest().readUInt32BE(0);
-        ae.setCrc(digest);
-        ae.setSize(process2.size());
-        ae.setCompressedSize(process2.size(true));
-        this._afterAppend(ae);
-        callback(error3, ae);
+      if (request2.redirectCount === 20) {
+        return Promise.resolve(makeNetworkError("redirect count exceeded"));
       }
-      process2.once("end", handleStuff.bind(this));
-      process2.once("error", function(err) {
-        error3 = err;
-      });
-      process2.pipe(this, { end: false });
-      return process2;
-    };
-    ZipArchiveOutputStream.prototype._writeCentralDirectoryEnd = function() {
-      var records = this._entries.length;
-      var size = this._archive.centralLength;
-      var offset = this._archive.centralOffset;
-      if (this.isZip64()) {
-        records = constants.ZIP64_MAGIC_SHORT;
-        size = constants.ZIP64_MAGIC;
-        offset = constants.ZIP64_MAGIC;
+      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"'));
       }
-      this.write(zipUtil.getLongBytes(constants.SIG_EOCD));
-      this.write(constants.SHORT_ZERO);
-      this.write(constants.SHORT_ZERO);
-      this.write(zipUtil.getShortBytes(records));
-      this.write(zipUtil.getShortBytes(records));
-      this.write(zipUtil.getLongBytes(size));
-      this.write(zipUtil.getLongBytes(offset));
-      var comment = this.getComment();
-      var commentLength = Buffer.byteLength(comment);
-      this.write(zipUtil.getShortBytes(commentLength));
-      this.write(comment);
-    };
-    ZipArchiveOutputStream.prototype._writeCentralDirectoryZip64 = function() {
-      this.write(zipUtil.getLongBytes(constants.SIG_ZIP64_EOCD));
-      this.write(zipUtil.getEightBytes(44));
-      this.write(zipUtil.getShortBytes(constants.MIN_VERSION_ZIP64));
-      this.write(zipUtil.getShortBytes(constants.MIN_VERSION_ZIP64));
-      this.write(constants.LONG_ZERO);
-      this.write(constants.LONG_ZERO);
-      this.write(zipUtil.getEightBytes(this._entries.length));
-      this.write(zipUtil.getEightBytes(this._entries.length));
-      this.write(zipUtil.getEightBytes(this._archive.centralLength));
-      this.write(zipUtil.getEightBytes(this._archive.centralOffset));
-      this.write(zipUtil.getLongBytes(constants.SIG_ZIP64_EOCD_LOC));
-      this.write(constants.LONG_ZERO);
-      this.write(zipUtil.getEightBytes(this._archive.centralOffset + this._archive.centralLength));
-      this.write(zipUtil.getLongBytes(1));
-    };
-    ZipArchiveOutputStream.prototype._writeCentralFileHeader = function(ae) {
-      var gpb = ae.getGeneralPurposeBit();
-      var method = ae.getMethod();
-      var fileOffset = ae._offsets.file;
-      var size = ae.getSize();
-      var compressedSize = ae.getCompressedSize();
-      if (ae.isZip64() || fileOffset > constants.ZIP64_MAGIC) {
-        size = constants.ZIP64_MAGIC;
-        compressedSize = constants.ZIP64_MAGIC;
-        fileOffset = constants.ZIP64_MAGIC;
-        ae.setVersionNeededToExtract(constants.MIN_VERSION_ZIP64);
-        var extraBuf = Buffer.concat([
-          zipUtil.getShortBytes(constants.ZIP64_EXTRA_ID),
-          zipUtil.getShortBytes(24),
-          zipUtil.getEightBytes(ae.getSize()),
-          zipUtil.getEightBytes(ae.getCompressedSize()),
-          zipUtil.getEightBytes(ae._offsets.file)
-        ], 28);
-        ae.setExtra(extraBuf);
+      if (request2.responseTainting === "cors" && (locationURL.username || locationURL.password)) {
+        return Promise.resolve(makeNetworkError(
+          'URL cannot contain credentials for request mode "cors"'
+        ));
       }
-      this.write(zipUtil.getLongBytes(constants.SIG_CFH));
-      this.write(zipUtil.getShortBytes(ae.getPlatform() << 8 | constants.VERSION_MADEBY));
-      this.write(zipUtil.getShortBytes(ae.getVersionNeededToExtract()));
-      this.write(gpb.encode());
-      this.write(zipUtil.getShortBytes(method));
-      this.write(zipUtil.getLongBytes(ae.getTimeDos()));
-      this.write(zipUtil.getLongBytes(ae.getCrc()));
-      this.write(zipUtil.getLongBytes(compressedSize));
-      this.write(zipUtil.getLongBytes(size));
-      var name = ae.getName();
-      var comment = ae.getComment();
-      var extra = ae.getCentralDirectoryExtra();
-      if (gpb.usesUTF8ForNames()) {
-        name = Buffer.from(name);
-        comment = Buffer.from(comment);
+      if (actualResponse.status !== 303 && request2.body != null && request2.body.source == null) {
+        return Promise.resolve(makeNetworkError());
       }
-      this.write(zipUtil.getShortBytes(name.length));
-      this.write(zipUtil.getShortBytes(extra.length));
-      this.write(zipUtil.getShortBytes(comment.length));
-      this.write(constants.SHORT_ZERO);
-      this.write(zipUtil.getShortBytes(ae.getInternalAttributes()));
-      this.write(zipUtil.getLongBytes(ae.getExternalAttributes()));
-      this.write(zipUtil.getLongBytes(fileOffset));
-      this.write(name);
-      this.write(extra);
-      this.write(comment);
-    };
-    ZipArchiveOutputStream.prototype._writeDataDescriptor = function(ae) {
-      this.write(zipUtil.getLongBytes(constants.SIG_DD));
-      this.write(zipUtil.getLongBytes(ae.getCrc()));
-      if (ae.isZip64()) {
-        this.write(zipUtil.getEightBytes(ae.getCompressedSize()));
-        this.write(zipUtil.getEightBytes(ae.getSize()));
-      } else {
-        this.write(zipUtil.getLongBytes(ae.getCompressedSize()));
-        this.write(zipUtil.getLongBytes(ae.getSize()));
+      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);
+        }
       }
-    };
-    ZipArchiveOutputStream.prototype._writeLocalFileHeader = function(ae) {
-      var gpb = ae.getGeneralPurposeBit();
-      var method = ae.getMethod();
-      var name = ae.getName();
-      var extra = ae.getLocalFileDataExtra();
-      if (ae.isZip64()) {
-        gpb.useDataDescriptor(true);
-        ae.setVersionNeededToExtract(constants.MIN_VERSION_ZIP64);
+      if (!sameOrigin(requestCurrentURL(request2), locationURL)) {
+        request2.headersList.delete("authorization");
+        request2.headersList.delete("proxy-authorization", true);
+        request2.headersList.delete("cookie");
+        request2.headersList.delete("host");
       }
-      if (gpb.usesUTF8ForNames()) {
-        name = Buffer.from(name);
+      if (request2.body != null) {
+        assert(request2.body.source != null);
+        request2.body = safelyExtractBody(request2.body.source)[0];
       }
-      ae._offsets.file = this.offset;
-      this.write(zipUtil.getLongBytes(constants.SIG_LFH));
-      this.write(zipUtil.getShortBytes(ae.getVersionNeededToExtract()));
-      this.write(gpb.encode());
-      this.write(zipUtil.getShortBytes(method));
-      this.write(zipUtil.getLongBytes(ae.getTimeDos()));
-      ae._offsets.data = this.offset;
-      if (gpb.usesDataDescriptor()) {
-        this.write(constants.LONG_ZERO);
-        this.write(constants.LONG_ZERO);
-        this.write(constants.LONG_ZERO);
+      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 {
-        this.write(zipUtil.getLongBytes(ae.getCrc()));
-        this.write(zipUtil.getLongBytes(ae.getCompressedSize()));
-        this.write(zipUtil.getLongBytes(ae.getSize()));
+        httpRequest = makeRequest(request2);
+        httpFetchParams = { ...fetchParams };
+        httpFetchParams.request = httpRequest;
       }
-      this.write(zipUtil.getShortBytes(name.length));
-      this.write(zipUtil.getShortBytes(extra.length));
-      this.write(name);
-      this.write(extra);
-      ae._offsets.contents = this.offset;
-    };
-    ZipArchiveOutputStream.prototype.getComment = function(comment) {
-      return this._archive.comment !== null ? this._archive.comment : "";
-    };
-    ZipArchiveOutputStream.prototype.isZip64 = function() {
-      return this._archive.forceZip64 || this._entries.length > constants.ZIP64_MAGIC_SHORT || this._archive.centralLength > constants.ZIP64_MAGIC || this._archive.centralOffset > constants.ZIP64_MAGIC;
-    };
-    ZipArchiveOutputStream.prototype.setComment = function(comment) {
-      this._archive.comment = comment;
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/compress-commons.js
-var require_compress_commons = __commonJS({
-  "node_modules/compress-commons/lib/compress-commons.js"(exports2, module2) {
-    module2.exports = {
-      ArchiveEntry: require_archive_entry(),
-      ZipArchiveEntry: require_zip_archive_entry(),
-      ArchiveOutputStream: require_archive_output_stream(),
-      ZipArchiveOutputStream: require_zip_archive_output_stream()
-    };
-  }
-});
-
-// node_modules/zip-stream/index.js
-var require_zip_stream = __commonJS({
-  "node_modules/zip-stream/index.js"(exports2, module2) {
-    var inherits = require("util").inherits;
-    var ZipArchiveOutputStream = require_compress_commons().ZipArchiveOutputStream;
-    var ZipArchiveEntry = require_compress_commons().ZipArchiveEntry;
-    var util = require_archiver_utils();
-    var ZipStream = module2.exports = function(options) {
-      if (!(this instanceof ZipStream)) {
-        return new ZipStream(options);
+      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";
       }
-      options = this.options = options || {};
-      options.zlib = options.zlib || {};
-      ZipArchiveOutputStream.call(this, options);
-      if (typeof options.level === "number" && options.level >= 0) {
-        options.zlib.level = options.level;
-        delete options.level;
+      if (contentLength != null) {
+        contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
       }
-      if (!options.forceZip64 && typeof options.zlib.level === "number" && options.zlib.level === 0) {
-        options.store = true;
+      if (contentLengthHeaderValue != null) {
+        httpRequest.headersList.append("content-length", contentLengthHeaderValue);
       }
-      options.namePrependSlash = options.namePrependSlash || false;
-      if (options.comment && options.comment.length > 0) {
-        this.setComment(options.comment);
+      if (contentLength != null && httpRequest.keepalive) {
       }
-    };
-    inherits(ZipStream, ZipArchiveOutputStream);
-    ZipStream.prototype._normalizeFileData = function(data) {
-      data = util.defaults(data, {
-        type: "file",
-        name: null,
-        namePrependSlash: this.options.namePrependSlash,
-        linkname: null,
-        date: null,
-        mode: null,
-        store: this.options.store,
-        comment: ""
-      });
-      var isDir = data.type === "directory";
-      var isSymlink = data.type === "symlink";
-      if (data.name) {
-        data.name = util.sanitizePath(data.name);
-        if (!isSymlink && data.name.slice(-1) === "/") {
-          isDir = true;
-          data.type = "directory";
-        } else if (isDir) {
-          data.name += "/";
-        }
+      if (httpRequest.referrer instanceof URL) {
+        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href));
       }
-      if (isDir || isSymlink) {
-        data.store = true;
+      appendRequestOriginHeader(httpRequest);
+      appendFetchMetadata(httpRequest);
+      if (!httpRequest.headersList.contains("user-agent")) {
+        httpRequest.headersList.append("user-agent", typeof esbuildDetection === "undefined" ? "undici" : "node");
       }
-      data.date = util.dateify(data.date);
-      return data;
-    };
-    ZipStream.prototype.entry = function(source, data, callback) {
-      if (typeof callback !== "function") {
-        callback = this._emitErrorCallback.bind(this);
+      if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since") || httpRequest.headersList.contains("if-none-match") || httpRequest.headersList.contains("if-unmodified-since") || httpRequest.headersList.contains("if-match") || httpRequest.headersList.contains("if-range"))) {
+        httpRequest.cache = "no-store";
       }
-      data = this._normalizeFileData(data);
-      if (data.type !== "file" && data.type !== "directory" && data.type !== "symlink") {
-        callback(new Error(data.type + " entries not currently supported"));
-        return;
+      if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control")) {
+        httpRequest.headersList.append("cache-control", "max-age=0");
       }
-      if (typeof data.name !== "string" || data.name.length === 0) {
-        callback(new Error("entry name must be a non-empty string value"));
-        return;
+      if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") {
+        if (!httpRequest.headersList.contains("pragma")) {
+          httpRequest.headersList.append("pragma", "no-cache");
+        }
+        if (!httpRequest.headersList.contains("cache-control")) {
+          httpRequest.headersList.append("cache-control", "no-cache");
+        }
       }
-      if (data.type === "symlink" && typeof data.linkname !== "string") {
-        callback(new Error("entry linkname must be a non-empty string value when type equals symlink"));
-        return;
+      if (httpRequest.headersList.contains("range")) {
+        httpRequest.headersList.append("accept-encoding", "identity");
       }
-      var entry = new ZipArchiveEntry(data.name);
-      entry.setTime(data.date, this.options.forceLocalTime);
-      if (data.namePrependSlash) {
-        entry.setName(data.name, true);
+      if (!httpRequest.headersList.contains("accept-encoding")) {
+        if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
+          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate");
+        } else {
+          httpRequest.headersList.append("accept-encoding", "gzip, deflate");
+        }
       }
-      if (data.store) {
-        entry.setMethod(0);
+      httpRequest.headersList.delete("host");
+      if (includeCredentials) {
       }
-      if (data.comment.length > 0) {
-        entry.setComment(data.comment);
+      if (httpCache == null) {
+        httpRequest.cache = "no-store";
       }
-      if (data.type === "symlink" && typeof data.mode !== "number") {
-        data.mode = 40960;
+      if (httpRequest.mode !== "no-store" && httpRequest.mode !== "reload") {
       }
-      if (typeof data.mode === "number") {
-        if (data.type === "symlink") {
-          data.mode |= 40960;
+      if (response == null) {
+        if (httpRequest.mode === "only-if-cached") {
+          return makeNetworkError("only if cached");
+        }
+        const forwardResponse = await httpNetworkFetch(
+          httpFetchParams,
+          includeCredentials,
+          isNewConnectionFetch
+        );
+        if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {
+        }
+        if (revalidatingFlag && forwardResponse.status === 304) {
+        }
+        if (response == null) {
+          response = forwardResponse;
         }
-        entry.setUnixMode(data.mode);
-      }
-      if (data.type === "symlink" && typeof data.linkname === "string") {
-        source = Buffer.from(data.linkname);
       }
-      return ZipArchiveOutputStream.prototype.entry.call(this, entry, source, callback);
-    };
-    ZipStream.prototype.finalize = function() {
-      this.finish();
-    };
-  }
-});
-
-// node_modules/archiver/lib/plugins/zip.js
-var require_zip = __commonJS({
-  "node_modules/archiver/lib/plugins/zip.js"(exports2, module2) {
-    var engine = require_zip_stream();
-    var util = require_archiver_utils();
-    var Zip = function(options) {
-      if (!(this instanceof Zip)) {
-        return new Zip(options);
+      response.urlList = [...httpRequest.urlList];
+      if (httpRequest.headersList.contains("range")) {
+        response.rangeRequested = true;
       }
-      options = this.options = util.defaults(options, {
-        comment: "",
-        forceUTC: false,
-        namePrependSlash: false,
-        store: false
-      });
-      this.supports = {
-        directory: true,
-        symlink: true
-      };
-      this.engine = new engine(options);
-    };
-    Zip.prototype.append = function(source, data, callback) {
-      this.engine.entry(source, data, callback);
-    };
-    Zip.prototype.finalize = function() {
-      this.engine.finalize();
-    };
-    Zip.prototype.on = function() {
-      return this.engine.on.apply(this.engine, arguments);
-    };
-    Zip.prototype.pipe = function() {
-      return this.engine.pipe.apply(this.engine, arguments);
-    };
-    Zip.prototype.unpipe = function() {
-      return this.engine.unpipe.apply(this.engine, arguments);
-    };
-    module2.exports = Zip;
-  }
-});
-
-// node_modules/queue-tick/queue-microtask.js
-var require_queue_microtask = __commonJS({
-  "node_modules/queue-tick/queue-microtask.js"(exports2, module2) {
-    module2.exports = typeof queueMicrotask === "function" ? queueMicrotask : (fn) => Promise.resolve().then(fn);
-  }
-});
-
-// node_modules/queue-tick/process-next-tick.js
-var require_process_next_tick = __commonJS({
-  "node_modules/queue-tick/process-next-tick.js"(exports2, module2) {
-    module2.exports = typeof process !== "undefined" && typeof process.nextTick === "function" ? process.nextTick.bind(process) : require_queue_microtask();
-  }
-});
-
-// node_modules/fast-fifo/fixed-size.js
-var require_fixed_size = __commonJS({
-  "node_modules/fast-fifo/fixed-size.js"(exports2, module2) {
-    module2.exports = class FixedFIFO {
-      constructor(hwm) {
-        if (!(hwm > 0) || (hwm - 1 & hwm) !== 0) throw new Error("Max size for a FixedFIFO should be a power of two");
-        this.buffer = new Array(hwm);
-        this.mask = hwm - 1;
-        this.top = 0;
-        this.btm = 0;
-        this.next = null;
+      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");
       }
-      clear() {
-        this.top = this.btm = 0;
-        this.next = null;
-        this.buffer.fill(void 0);
+      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
+        );
       }
-      push(data) {
-        if (this.buffer[this.top] !== void 0) return false;
-        this.buffer[this.top] = data;
-        this.top = this.top + 1 & this.mask;
-        return true;
+      if (isAuthenticationFetch) {
       }
-      shift() {
-        const last = this.buffer[this.btm];
-        if (last === void 0) return void 0;
-        this.buffer[this.btm] = void 0;
-        this.btm = this.btm + 1 & this.mask;
-        return last;
+      return response;
+    }
+    async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) {
+      assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed);
+      fetchParams.controller.connection = {
+        abort: null,
+        destroyed: false,
+        destroy(err) {
+          if (!this.destroyed) {
+            this.destroyed = true;
+            this.abort?.(err ?? new DOMException2("The operation was aborted.", "AbortError"));
+          }
+        }
+      };
+      const request2 = fetchParams.request;
+      let response = null;
+      const timingInfo = fetchParams.timingInfo;
+      const httpCache = null;
+      if (httpCache == null) {
+        request2.cache = "no-store";
       }
-      peek() {
-        return this.buffer[this.btm];
+      const newConnection = forceNewConnection ? "yes" : "no";
+      if (request2.mode === "websocket") {
+      } else {
       }
-      isEmpty() {
-        return this.buffer[this.btm] === void 0;
+      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);
+          }
+        })();
       }
-    };
-  }
-});
-
-// node_modules/fast-fifo/index.js
-var require_fast_fifo = __commonJS({
-  "node_modules/fast-fifo/index.js"(exports2, module2) {
-    var FixedFIFO = require_fixed_size();
-    module2.exports = class FastFIFO {
-      constructor(hwm) {
-        this.hwm = hwm || 16;
-        this.head = new FixedFIFO(this.hwm);
-        this.tail = this.head;
-        this.length = 0;
+      try {
+        const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
+        if (socket) {
+          response = makeResponse({ status, statusText, headersList, socket });
+        } else {
+          const iterator2 = body[Symbol.asyncIterator]();
+          fetchParams.controller.next = () => iterator2.next();
+          response = makeResponse({ status, statusText, headersList });
+        }
+      } catch (err) {
+        if (err.name === "AbortError") {
+          fetchParams.controller.connection.destroy();
+          return makeAppropriateNetworkError(fetchParams, err);
+        }
+        return makeNetworkError(err);
       }
-      clear() {
-        this.head = this.tail;
-        this.head.clear();
-        this.length = 0;
+      const pullAlgorithm = () => {
+        fetchParams.controller.resume();
+      };
+      const cancelAlgorithm = (reason) => {
+        fetchParams.controller.abort(reason);
+      };
+      if (!ReadableStream2) {
+        ReadableStream2 = require("stream/web").ReadableStream;
       }
-      push(val) {
-        this.length++;
-        if (!this.head.push(val)) {
-          const prev = this.head;
-          this.head = prev.next = new FixedFIFO(2 * this.head.buffer.length);
-          this.head.push(val);
+      const stream2 = new ReadableStream2(
+        {
+          async start(controller) {
+            fetchParams.controller.controller = controller;
+          },
+          async pull(controller) {
+            await pullAlgorithm(controller);
+          },
+          async cancel(reason) {
+            await cancelAlgorithm(reason);
+          }
+        },
+        {
+          highWaterMark: 0,
+          size() {
+            return 1;
+          }
         }
-      }
-      shift() {
-        if (this.length !== 0) this.length--;
-        const val = this.tail.shift();
-        if (val === void 0 && this.tail.next) {
-          const next = this.tail.next;
-          this.tail.next = null;
-          this.tail = next;
-          return this.tail.shift();
+      );
+      response.body = { stream: stream2 };
+      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;
+          }
+          fetchParams.controller.controller.enqueue(new Uint8Array(bytes));
+          if (isErrored(stream2)) {
+            fetchParams.controller.terminate();
+            return;
+          }
+          if (!fetchParams.controller.controller.desiredSize) {
+            return;
+          }
         }
-        return val;
-      }
-      peek() {
-        const val = this.tail.peek();
-        if (val === void 0 && this.tail.next) return this.tail.next.peek();
-        return val;
+      };
+      function onAborted(reason) {
+        if (isAborted(fetchParams)) {
+          response.aborted = true;
+          if (isReadable(stream2)) {
+            fetchParams.controller.controller.error(
+              fetchParams.controller.serializedAbortReason
+            );
+          }
+        } else {
+          if (isReadable(stream2)) {
+            fetchParams.controller.controller.error(new TypeError("terminated", {
+              cause: isErrorLike(reason) ? reason : void 0
+            }));
+          }
+        }
+        fetchParams.controller.connection.destroy();
       }
-      isEmpty() {
-        return this.length === 0;
+      return response;
+      async function dispatch({ body }) {
+        const url2 = requestCurrentURL(request2);
+        const agent = fetchParams.controller.dispatcher;
+        return new Promise((resolve8, reject) => agent.dispatch(
+          {
+            path: url2.pathname + url2.search,
+            origin: url2.origin,
+            method: request2.method,
+            body: fetchParams.controller.dispatcher.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
+            headers: request2.headersList.entries,
+            maxRedirections: 0,
+            upgrade: request2.mode === "websocket" ? "websocket" : void 0
+          },
+          {
+            body: null,
+            abort: null,
+            onConnect(abort) {
+              const { connection } = fetchParams.controller;
+              if (connection.destroyed) {
+                abort(new DOMException2("The operation was aborted.", "AbortError"));
+              } else {
+                fetchParams.controller.on("terminated", abort);
+                this.abort = connection.abort = abort;
+              }
+            },
+            onHeaders(status, headersList, resume, statusText) {
+              if (status < 200) {
+                return;
+              }
+              let codings = [];
+              let location = "";
+              const headers = new Headers();
+              if (Array.isArray(headersList)) {
+                for (let n = 0; n < headersList.length; n += 2) {
+                  const key = headersList[n + 0].toString("latin1");
+                  const val = headersList[n + 1].toString("latin1");
+                  if (key.toLowerCase() === "content-encoding") {
+                    codings = val.toLowerCase().split(",").map((x) => x.trim());
+                  } else if (key.toLowerCase() === "location") {
+                    location = val;
+                  }
+                  headers[kHeadersList].append(key, val);
+                }
+              } else {
+                const keys = Object.keys(headersList);
+                for (const key of keys) {
+                  const val = headersList[key];
+                  if (key.toLowerCase() === "content-encoding") {
+                    codings = val.toLowerCase().split(",").map((x) => x.trim()).reverse();
+                  } else if (key.toLowerCase() === "location") {
+                    location = val;
+                  }
+                  headers[kHeadersList].append(key, val);
+                }
+              }
+              this.body = new Readable2({ read: resume });
+              const decoders = [];
+              const willFollow = request2.redirect === "follow" && location && redirectStatusSet.has(status);
+              if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
+                for (const coding of codings) {
+                  if (coding === "x-gzip" || coding === "gzip") {
+                    decoders.push(zlib3.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: zlib3.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib3.constants.Z_SYNC_FLUSH
+                    }));
+                  } else if (coding === "deflate") {
+                    decoders.push(zlib3.createInflate());
+                  } else if (coding === "br") {
+                    decoders.push(zlib3.createBrotliDecompress());
+                  } else {
+                    decoders.length = 0;
+                    break;
+                  }
+                }
+              }
+              resolve8({
+                status,
+                statusText,
+                headersList: headers[kHeadersList],
+                body: decoders.length ? pipeline(this.body, ...decoders, () => {
+                }) : this.body.on("error", () => {
+                })
+              });
+              return true;
+            },
+            onData(chunk) {
+              if (fetchParams.controller.dump) {
+                return;
+              }
+              const bytes = chunk;
+              timingInfo.encodedBodySize += bytes.byteLength;
+              return this.body.push(bytes);
+            },
+            onComplete() {
+              if (this.abort) {
+                fetchParams.controller.off("terminated", this.abort);
+              }
+              fetchParams.controller.ended = true;
+              this.body.push(null);
+            },
+            onError(error3) {
+              if (this.abort) {
+                fetchParams.controller.off("terminated", this.abort);
+              }
+              this.body?.destroy(error3);
+              fetchParams.controller.terminate(error3);
+              reject(error3);
+            },
+            onUpgrade(status, headersList, socket) {
+              if (status !== 101) {
+                return;
+              }
+              const headers = new Headers();
+              for (let n = 0; n < headersList.length; n += 2) {
+                const key = headersList[n + 0].toString("latin1");
+                const val = headersList[n + 1].toString("latin1");
+                headers[kHeadersList].append(key, val);
+              }
+              resolve8({
+                status,
+                statusText: STATUS_CODES[status],
+                headersList: headers[kHeadersList],
+                socket
+              });
+              return true;
+            }
+          }
+        ));
       }
+    }
+    module2.exports = {
+      fetch,
+      Fetch,
+      fetching,
+      finalizeAndReportTiming
     };
   }
 });
 
-// node_modules/b4a/index.js
-var require_b4a = __commonJS({
-  "node_modules/b4a/index.js"(exports2, module2) {
-    function isBuffer(value) {
-      return Buffer.isBuffer(value) || value instanceof Uint8Array;
-    }
-    function isEncoding(encoding) {
-      return Buffer.isEncoding(encoding);
-    }
-    function alloc(size, fill2, encoding) {
-      return Buffer.alloc(size, fill2, encoding);
-    }
-    function allocUnsafe(size) {
-      return Buffer.allocUnsafe(size);
-    }
-    function allocUnsafeSlow(size) {
-      return Buffer.allocUnsafeSlow(size);
-    }
-    function byteLength(string, encoding) {
-      return Buffer.byteLength(string, encoding);
-    }
-    function compare3(a, b) {
-      return Buffer.compare(a, b);
-    }
-    function concat(buffers, totalLength) {
-      return Buffer.concat(buffers, totalLength);
-    }
-    function copy(source, target, targetStart, start, end) {
-      return toBuffer(source).copy(target, targetStart, start, end);
-    }
-    function equals2(a, b) {
-      return toBuffer(a).equals(b);
-    }
-    function fill(buffer, value, offset, end, encoding) {
-      return toBuffer(buffer).fill(value, offset, end, encoding);
-    }
-    function from(value, encodingOrOffset, length) {
-      return Buffer.from(value, encodingOrOffset, length);
-    }
-    function includes(buffer, value, byteOffset, encoding) {
-      return toBuffer(buffer).includes(value, byteOffset, encoding);
-    }
-    function indexOf(buffer, value, byfeOffset, encoding) {
-      return toBuffer(buffer).indexOf(value, byfeOffset, encoding);
-    }
-    function lastIndexOf(buffer, value, byteOffset, encoding) {
-      return toBuffer(buffer).lastIndexOf(value, byteOffset, encoding);
-    }
-    function swap16(buffer) {
-      return toBuffer(buffer).swap16();
-    }
-    function swap32(buffer) {
-      return toBuffer(buffer).swap32();
-    }
-    function swap64(buffer) {
-      return toBuffer(buffer).swap64();
-    }
-    function toBuffer(buffer) {
-      if (Buffer.isBuffer(buffer)) return buffer;
-      return Buffer.from(buffer.buffer, buffer.byteOffset, buffer.byteLength);
-    }
-    function toString3(buffer, encoding, start, end) {
-      return toBuffer(buffer).toString(encoding, start, end);
-    }
-    function write(buffer, string, offset, length, encoding) {
-      return toBuffer(buffer).write(string, offset, length, encoding);
-    }
-    function writeDoubleLE(buffer, value, offset) {
-      return toBuffer(buffer).writeDoubleLE(value, offset);
-    }
-    function writeFloatLE(buffer, value, offset) {
-      return toBuffer(buffer).writeFloatLE(value, offset);
-    }
-    function writeUInt32LE(buffer, value, offset) {
-      return toBuffer(buffer).writeUInt32LE(value, offset);
-    }
-    function writeInt32LE(buffer, value, offset) {
-      return toBuffer(buffer).writeInt32LE(value, offset);
-    }
-    function readDoubleLE(buffer, offset) {
-      return toBuffer(buffer).readDoubleLE(offset);
-    }
-    function readFloatLE(buffer, offset) {
-      return toBuffer(buffer).readFloatLE(offset);
-    }
-    function readUInt32LE(buffer, offset) {
-      return toBuffer(buffer).readUInt32LE(offset);
-    }
-    function readInt32LE(buffer, offset) {
-      return toBuffer(buffer).readInt32LE(offset);
-    }
-    function writeDoubleBE(buffer, value, offset) {
-      return toBuffer(buffer).writeDoubleBE(value, offset);
-    }
-    function writeFloatBE(buffer, value, offset) {
-      return toBuffer(buffer).writeFloatBE(value, offset);
-    }
-    function writeUInt32BE(buffer, value, offset) {
-      return toBuffer(buffer).writeUInt32BE(value, offset);
-    }
-    function writeInt32BE(buffer, value, offset) {
-      return toBuffer(buffer).writeInt32BE(value, offset);
-    }
-    function readDoubleBE(buffer, offset) {
-      return toBuffer(buffer).readDoubleBE(offset);
-    }
-    function readFloatBE(buffer, offset) {
-      return toBuffer(buffer).readFloatBE(offset);
-    }
-    function readUInt32BE(buffer, offset) {
-      return toBuffer(buffer).readUInt32BE(offset);
-    }
-    function readInt32BE(buffer, offset) {
-      return toBuffer(buffer).readInt32BE(offset);
-    }
+// node_modules/undici/lib/fileapi/symbols.js
+var require_symbols13 = __commonJS({
+  "node_modules/undici/lib/fileapi/symbols.js"(exports2, module2) {
+    "use strict";
     module2.exports = {
-      isBuffer,
-      isEncoding,
-      alloc,
-      allocUnsafe,
-      allocUnsafeSlow,
-      byteLength,
-      compare: compare3,
-      concat,
-      copy,
-      equals: equals2,
-      fill,
-      from,
-      includes,
-      indexOf,
-      lastIndexOf,
-      swap16,
-      swap32,
-      swap64,
-      toBuffer,
-      toString: toString3,
-      write,
-      writeDoubleLE,
-      writeFloatLE,
-      writeUInt32LE,
-      writeInt32LE,
-      readDoubleLE,
-      readFloatLE,
-      readUInt32LE,
-      readInt32LE,
-      writeDoubleBE,
-      writeFloatBE,
-      writeUInt32BE,
-      writeInt32BE,
-      readDoubleBE,
-      readFloatBE,
-      readUInt32BE,
-      readInt32BE
+      kState: /* @__PURE__ */ Symbol("FileReader state"),
+      kResult: /* @__PURE__ */ Symbol("FileReader result"),
+      kError: /* @__PURE__ */ Symbol("FileReader error"),
+      kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"),
+      kEvents: /* @__PURE__ */ Symbol("FileReader events"),
+      kAborted: /* @__PURE__ */ Symbol("FileReader aborted")
     };
   }
 });
 
-// node_modules/text-decoder/lib/pass-through-decoder.js
-var require_pass_through_decoder = __commonJS({
-  "node_modules/text-decoder/lib/pass-through-decoder.js"(exports2, module2) {
-    var b4a = require_b4a();
-    module2.exports = class PassThroughDecoder {
-      constructor(encoding) {
-        this.encoding = encoding;
+// node_modules/undici/lib/fileapi/progressevent.js
+var require_progressevent3 = __commonJS({
+  "node_modules/undici/lib/fileapi/progressevent.js"(exports2, module2) {
+    "use strict";
+    var { webidl } = require_webidl3();
+    var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
+    var ProgressEvent = class _ProgressEvent extends Event {
+      constructor(type2, eventInitDict = {}) {
+        type2 = webidl.converters.DOMString(type2);
+        eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
+        super(type2, eventInitDict);
+        this[kState] = {
+          lengthComputable: eventInitDict.lengthComputable,
+          loaded: eventInitDict.loaded,
+          total: eventInitDict.total
+        };
       }
-      get remaining() {
-        return 0;
+      get lengthComputable() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].lengthComputable;
       }
-      decode(tail) {
-        return b4a.toString(tail, this.encoding);
+      get loaded() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].loaded;
       }
-      flush() {
-        return "";
+      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/text-decoder/lib/utf8-decoder.js
-var require_utf8_decoder = __commonJS({
-  "node_modules/text-decoder/lib/utf8-decoder.js"(exports2, module2) {
-    var b4a = require_b4a();
-    module2.exports = class UTF8Decoder {
-      constructor() {
-        this.codePoint = 0;
-        this.bytesSeen = 0;
-        this.bytesNeeded = 0;
-        this.lowerBoundary = 128;
-        this.upperBoundary = 191;
-      }
-      get remaining() {
-        return this.bytesSeen;
-      }
-      decode(data) {
-        if (this.bytesNeeded === 0) {
-          let isBoundary = true;
-          for (let i = Math.max(0, data.byteLength - 4), n = data.byteLength; i < n && isBoundary; i++) {
-            isBoundary = data[i] <= 127;
-          }
-          if (isBoundary) return b4a.toString(data, "utf8");
-        }
-        let result = "";
-        for (let i = 0, n = data.byteLength; i < n; i++) {
-          const byte = data[i];
-          if (this.bytesNeeded === 0) {
-            if (byte <= 127) {
-              result += String.fromCharCode(byte);
-            } else {
-              this.bytesSeen = 1;
-              if (byte >= 194 && byte <= 223) {
-                this.bytesNeeded = 2;
-                this.codePoint = byte & 31;
-              } else if (byte >= 224 && byte <= 239) {
-                if (byte === 224) this.lowerBoundary = 160;
-                else if (byte === 237) this.upperBoundary = 159;
-                this.bytesNeeded = 3;
-                this.codePoint = byte & 15;
-              } else if (byte >= 240 && byte <= 244) {
-                if (byte === 240) this.lowerBoundary = 144;
-                if (byte === 244) this.upperBoundary = 143;
-                this.bytesNeeded = 4;
-                this.codePoint = byte & 7;
-              } else {
-                result += "\uFFFD";
-              }
-            }
-            continue;
-          }
-          if (byte < this.lowerBoundary || byte > this.upperBoundary) {
-            this.codePoint = 0;
-            this.bytesNeeded = 0;
-            this.bytesSeen = 0;
-            this.lowerBoundary = 128;
-            this.upperBoundary = 191;
-            result += "\uFFFD";
-            continue;
-          }
-          this.lowerBoundary = 128;
-          this.upperBoundary = 191;
-          this.codePoint = this.codePoint << 6 | byte & 63;
-          this.bytesSeen++;
-          if (this.bytesSeen !== this.bytesNeeded) continue;
-          result += String.fromCodePoint(this.codePoint);
-          this.codePoint = 0;
-          this.bytesNeeded = 0;
-          this.bytesSeen = 0;
-        }
-        return result;
+// node_modules/undici/lib/fileapi/encoding.js
+var require_encoding3 = __commonJS({
+  "node_modules/undici/lib/fileapi/encoding.js"(exports2, module2) {
+    "use strict";
+    function getEncoding(label) {
+      if (!label) {
+        return "failure";
       }
-      flush() {
-        const result = this.bytesNeeded > 0 ? "\uFFFD" : "";
-        this.codePoint = 0;
-        this.bytesNeeded = 0;
-        this.bytesSeen = 0;
-        this.lowerBoundary = 128;
-        this.upperBoundary = 191;
-        return result;
+      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/text-decoder/index.js
-var require_text_decoder = __commonJS({
-  "node_modules/text-decoder/index.js"(exports2, module2) {
-    var PassThroughDecoder = require_pass_through_decoder();
-    var UTF8Decoder = require_utf8_decoder();
-    module2.exports = class TextDecoder {
-      constructor(encoding = "utf8") {
-        this.encoding = normalizeEncoding(encoding);
-        switch (this.encoding) {
-          case "utf8":
-            this.decoder = new UTF8Decoder();
+// node_modules/undici/lib/fileapi/util.js
+var require_util27 = __commonJS({
+  "node_modules/undici/lib/fileapi/util.js"(exports2, module2) {
+    "use strict";
+    var {
+      kState,
+      kError,
+      kResult,
+      kAborted,
+      kLastProgressEventFired
+    } = require_symbols13();
+    var { ProgressEvent } = require_progressevent3();
+    var { getEncoding } = require_encoding3();
+    var { DOMException: DOMException2 } = require_constants21();
+    var { serializeAMimeType, parseMIMEType } = require_dataURL();
+    var { types } = require("util");
+    var { StringDecoder } = require("string_decoder");
+    var { btoa: btoa2 } = require("buffer");
+    var staticPropertyDescriptors = {
+      enumerable: true,
+      writable: false,
+      configurable: false
+    };
+    function readOperation(fr, blob, type2, encodingName) {
+      if (fr[kState] === "loading") {
+        throw new DOMException2("Invalid state", "InvalidStateError");
+      }
+      fr[kState] = "loading";
+      fr[kResult] = null;
+      fr[kError] = null;
+      const stream2 = blob.stream();
+      const reader = stream2.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, type2, blob.type, encodingName);
+                  if (fr[kAborted]) {
+                    return;
+                  }
+                  fr[kResult] = result;
+                  fireAProgressEvent("load", fr);
+                } catch (error3) {
+                  fr[kError] = error3;
+                  fireAProgressEvent("error", fr);
+                }
+                if (fr[kState] !== "loading") {
+                  fireAProgressEvent("loadend", fr);
+                }
+              });
+              break;
+            }
+          } catch (error3) {
+            if (fr[kAborted]) {
+              return;
+            }
+            queueMicrotask(() => {
+              fr[kState] = "done";
+              fr[kError] = error3;
+              fireAProgressEvent("error", fr);
+              if (fr[kState] !== "loading") {
+                fireAProgressEvent("loadend", fr);
+              }
+            });
             break;
-          case "utf16le":
-          case "base64":
-            throw new Error("Unsupported encoding: " + this.encoding);
-          default:
-            this.decoder = new PassThroughDecoder(this.encoding);
+          }
+        }
+      })();
+    }
+    function fireAProgressEvent(e, reader) {
+      const event = new ProgressEvent(e, {
+        bubbles: false,
+        cancelable: false
+      });
+      reader.dispatchEvent(event);
+    }
+    function packageData(bytes, type2, mimeType, encodingName) {
+      switch (type2) {
+        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 += btoa2(decoder.write(chunk));
+          }
+          dataURL += btoa2(decoder.end());
+          return dataURL;
+        }
+        case "Text": {
+          let encoding = "failure";
+          if (encodingName) {
+            encoding = getEncoding(encodingName);
+          }
+          if (encoding === "failure" && mimeType) {
+            const type3 = parseMIMEType(mimeType);
+            if (type3 !== "failure") {
+              encoding = getEncoding(type3.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;
         }
       }
-      get remaining() {
-        return this.decoder.remaining;
-      }
-      push(data) {
-        if (typeof data === "string") return data;
-        return this.decoder.decode(data);
-      }
-      // For Node.js compatibility
-      write(data) {
-        return this.push(data);
-      }
-      end(data) {
-        let result = "";
-        if (data) result = this.push(data);
-        result += this.decoder.flush();
-        return result;
+    }
+    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;
       }
-    };
-    function normalizeEncoding(encoding) {
-      encoding = encoding.toLowerCase();
-      switch (encoding) {
-        case "utf8":
-        case "utf-8":
-          return "utf8";
-        case "ucs2":
-        case "ucs-2":
-        case "utf16le":
-        case "utf-16le":
-          return "utf16le";
-        case "latin1":
-        case "binary":
-          return "latin1";
-        case "base64":
-        case "ascii":
-        case "hex":
-          return encoding;
-        default:
-          throw new Error("Unknown encoding: " + encoding);
+      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/streamx/index.js
-var require_streamx = __commonJS({
-  "node_modules/streamx/index.js"(exports2, module2) {
-    var { EventEmitter } = require("events");
-    var STREAM_DESTROYED = new Error("Stream was destroyed");
-    var PREMATURE_CLOSE = new Error("Premature close");
-    var queueTick = require_process_next_tick();
-    var FIFO = require_fast_fifo();
-    var TextDecoder2 = require_text_decoder();
-    var MAX = (1 << 29) - 1;
-    var OPENING = 1;
-    var PREDESTROYING = 2;
-    var DESTROYING = 4;
-    var DESTROYED = 8;
-    var NOT_OPENING = MAX ^ OPENING;
-    var NOT_PREDESTROYING = MAX ^ PREDESTROYING;
-    var READ_ACTIVE = 1 << 4;
-    var READ_UPDATING = 2 << 4;
-    var READ_PRIMARY = 4 << 4;
-    var READ_QUEUED = 8 << 4;
-    var READ_RESUMED = 16 << 4;
-    var READ_PIPE_DRAINED = 32 << 4;
-    var READ_ENDING = 64 << 4;
-    var READ_EMIT_DATA = 128 << 4;
-    var READ_EMIT_READABLE = 256 << 4;
-    var READ_EMITTED_READABLE = 512 << 4;
-    var READ_DONE = 1024 << 4;
-    var READ_NEXT_TICK = 2048 << 4;
-    var READ_NEEDS_PUSH = 4096 << 4;
-    var READ_READ_AHEAD = 8192 << 4;
-    var READ_FLOWING = READ_RESUMED | READ_PIPE_DRAINED;
-    var READ_ACTIVE_AND_NEEDS_PUSH = READ_ACTIVE | READ_NEEDS_PUSH;
-    var READ_PRIMARY_AND_ACTIVE = READ_PRIMARY | READ_ACTIVE;
-    var READ_EMIT_READABLE_AND_QUEUED = READ_EMIT_READABLE | READ_QUEUED;
-    var READ_RESUMED_READ_AHEAD = READ_RESUMED | READ_READ_AHEAD;
-    var READ_NOT_ACTIVE = MAX ^ READ_ACTIVE;
-    var READ_NON_PRIMARY = MAX ^ READ_PRIMARY;
-    var READ_NON_PRIMARY_AND_PUSHED = MAX ^ (READ_PRIMARY | READ_NEEDS_PUSH);
-    var READ_PUSHED = MAX ^ READ_NEEDS_PUSH;
-    var READ_PAUSED = MAX ^ READ_RESUMED;
-    var READ_NOT_QUEUED = MAX ^ (READ_QUEUED | READ_EMITTED_READABLE);
-    var READ_NOT_ENDING = MAX ^ READ_ENDING;
-    var READ_PIPE_NOT_DRAINED = MAX ^ READ_FLOWING;
-    var READ_NOT_NEXT_TICK = MAX ^ READ_NEXT_TICK;
-    var READ_NOT_UPDATING = MAX ^ READ_UPDATING;
-    var READ_NO_READ_AHEAD = MAX ^ READ_READ_AHEAD;
-    var READ_PAUSED_NO_READ_AHEAD = MAX ^ READ_RESUMED_READ_AHEAD;
-    var WRITE_ACTIVE = 1 << 18;
-    var WRITE_UPDATING = 2 << 18;
-    var WRITE_PRIMARY = 4 << 18;
-    var WRITE_QUEUED = 8 << 18;
-    var WRITE_UNDRAINED = 16 << 18;
-    var WRITE_DONE = 32 << 18;
-    var WRITE_EMIT_DRAIN = 64 << 18;
-    var WRITE_NEXT_TICK = 128 << 18;
-    var WRITE_WRITING = 256 << 18;
-    var WRITE_FINISHING = 512 << 18;
-    var WRITE_CORKED = 1024 << 18;
-    var WRITE_NOT_ACTIVE = MAX ^ (WRITE_ACTIVE | WRITE_WRITING);
-    var WRITE_NON_PRIMARY = MAX ^ WRITE_PRIMARY;
-    var WRITE_NOT_FINISHING = MAX ^ WRITE_FINISHING;
-    var WRITE_DRAINED = MAX ^ WRITE_UNDRAINED;
-    var WRITE_NOT_QUEUED = MAX ^ WRITE_QUEUED;
-    var WRITE_NOT_NEXT_TICK = MAX ^ WRITE_NEXT_TICK;
-    var WRITE_NOT_UPDATING = MAX ^ WRITE_UPDATING;
-    var WRITE_NOT_CORKED = MAX ^ WRITE_CORKED;
-    var ACTIVE = READ_ACTIVE | WRITE_ACTIVE;
-    var NOT_ACTIVE = MAX ^ ACTIVE;
-    var DONE = READ_DONE | WRITE_DONE;
-    var DESTROY_STATUS = DESTROYING | DESTROYED | PREDESTROYING;
-    var OPEN_STATUS = DESTROY_STATUS | OPENING;
-    var AUTO_DESTROY = DESTROY_STATUS | DONE;
-    var NON_PRIMARY = WRITE_NON_PRIMARY & READ_NON_PRIMARY;
-    var ACTIVE_OR_TICKING = WRITE_NEXT_TICK | READ_NEXT_TICK;
-    var TICKING = ACTIVE_OR_TICKING & NOT_ACTIVE;
-    var IS_OPENING = OPEN_STATUS | TICKING;
-    var READ_PRIMARY_STATUS = OPEN_STATUS | READ_ENDING | READ_DONE;
-    var READ_STATUS = OPEN_STATUS | READ_DONE | READ_QUEUED;
-    var READ_ENDING_STATUS = OPEN_STATUS | READ_ENDING | READ_QUEUED;
-    var READ_READABLE_STATUS = OPEN_STATUS | READ_EMIT_READABLE | READ_QUEUED | READ_EMITTED_READABLE;
-    var SHOULD_NOT_READ = OPEN_STATUS | READ_ACTIVE | READ_ENDING | READ_DONE | READ_NEEDS_PUSH | READ_READ_AHEAD;
-    var READ_BACKPRESSURE_STATUS = DESTROY_STATUS | READ_ENDING | READ_DONE;
-    var READ_UPDATE_SYNC_STATUS = READ_UPDATING | OPEN_STATUS | READ_NEXT_TICK | READ_PRIMARY;
-    var WRITE_PRIMARY_STATUS = OPEN_STATUS | WRITE_FINISHING | WRITE_DONE;
-    var WRITE_QUEUED_AND_UNDRAINED = WRITE_QUEUED | WRITE_UNDRAINED;
-    var WRITE_QUEUED_AND_ACTIVE = WRITE_QUEUED | WRITE_ACTIVE;
-    var WRITE_DRAIN_STATUS = WRITE_QUEUED | WRITE_UNDRAINED | OPEN_STATUS | WRITE_ACTIVE;
-    var WRITE_STATUS = OPEN_STATUS | WRITE_ACTIVE | WRITE_QUEUED | WRITE_CORKED;
-    var WRITE_PRIMARY_AND_ACTIVE = WRITE_PRIMARY | WRITE_ACTIVE;
-    var WRITE_ACTIVE_AND_WRITING = WRITE_ACTIVE | WRITE_WRITING;
-    var WRITE_FINISHING_STATUS = OPEN_STATUS | WRITE_FINISHING | WRITE_QUEUED_AND_ACTIVE | WRITE_DONE;
-    var WRITE_BACKPRESSURE_STATUS = WRITE_UNDRAINED | DESTROY_STATUS | WRITE_FINISHING | WRITE_DONE;
-    var WRITE_UPDATE_SYNC_STATUS = WRITE_UPDATING | OPEN_STATUS | WRITE_NEXT_TICK | WRITE_PRIMARY;
-    var asyncIterator = Symbol.asyncIterator || /* @__PURE__ */ Symbol("asyncIterator");
-    var WritableState = class {
-      constructor(stream2, { highWaterMark = 16384, map: map2 = null, mapWritable, byteLength, byteLengthWritable } = {}) {
-        this.stream = stream2;
-        this.queue = new FIFO();
-        this.highWaterMark = highWaterMark;
-        this.buffered = 0;
-        this.error = null;
-        this.pipeline = null;
-        this.drains = null;
-        this.byteLength = byteLengthWritable || byteLength || defaultByteLength;
-        this.map = mapWritable || map2;
-        this.afterWrite = afterWrite.bind(this);
-        this.afterUpdateNextTick = updateWriteNT.bind(this);
-      }
-      get ended() {
-        return (this.stream._duplexState & WRITE_DONE) !== 0;
-      }
-      push(data) {
-        if (this.map !== null) data = this.map(data);
-        this.buffered += this.byteLength(data);
-        this.queue.push(data);
-        if (this.buffered < this.highWaterMark) {
-          this.stream._duplexState |= WRITE_QUEUED;
-          return true;
-        }
-        this.stream._duplexState |= WRITE_QUEUED_AND_UNDRAINED;
-        return false;
+// node_modules/undici/lib/fileapi/filereader.js
+var require_filereader3 = __commonJS({
+  "node_modules/undici/lib/fileapi/filereader.js"(exports2, module2) {
+    "use strict";
+    var {
+      staticPropertyDescriptors,
+      readOperation,
+      fireAProgressEvent
+    } = require_util27();
+    var {
+      kState,
+      kError,
+      kResult,
+      kEvents,
+      kAborted
+    } = require_symbols13();
+    var { webidl } = require_webidl3();
+    var { kEnumerableProperty } = require_util24();
+    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
+        };
       }
-      shift() {
-        const data = this.queue.shift();
-        this.buffered -= this.byteLength(data);
-        if (this.buffered === 0) this.stream._duplexState &= WRITE_NOT_QUEUED;
-        return data;
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-readAsArrayBuffer
+       * @param {import('buffer').Blob} blob
+       */
+      readAsArrayBuffer(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsArrayBuffer" });
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "ArrayBuffer");
       }
-      end(data) {
-        if (typeof data === "function") this.stream.once("finish", data);
-        else if (data !== void 0 && data !== null) this.push(data);
-        this.stream._duplexState = (this.stream._duplexState | WRITE_FINISHING) & WRITE_NON_PRIMARY;
+      /**
+       * @see https://w3c.github.io/FileAPI/#readAsBinaryString
+       * @param {import('buffer').Blob} blob
+       */
+      readAsBinaryString(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsBinaryString" });
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "BinaryString");
       }
-      autoBatch(data, cb) {
-        const buffer = [];
-        const stream2 = this.stream;
-        buffer.push(data);
-        while ((stream2._duplexState & WRITE_STATUS) === WRITE_QUEUED_AND_ACTIVE) {
-          buffer.push(stream2._writableState.shift());
+      /**
+       * @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, { header: "FileReader.readAsText" });
+        blob = webidl.converters.Blob(blob, { strict: false });
+        if (encoding !== void 0) {
+          encoding = webidl.converters.DOMString(encoding);
         }
-        if ((stream2._duplexState & OPEN_STATUS) !== 0) return cb(null);
-        stream2._writev(buffer, cb);
+        readOperation(this, blob, "Text", encoding);
       }
-      update() {
-        const stream2 = this.stream;
-        stream2._duplexState |= WRITE_UPDATING;
-        do {
-          while ((stream2._duplexState & WRITE_STATUS) === WRITE_QUEUED) {
-            const data = this.shift();
-            stream2._duplexState |= WRITE_ACTIVE_AND_WRITING;
-            stream2._write(data, this.afterWrite);
-          }
-          if ((stream2._duplexState & WRITE_PRIMARY_AND_ACTIVE) === 0) this.updateNonPrimary();
-        } while (this.continueUpdate() === true);
-        stream2._duplexState &= WRITE_NOT_UPDATING;
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-readAsDataURL
+       * @param {import('buffer').Blob} blob
+       */
+      readAsDataURL(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsDataURL" });
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "DataURL");
       }
-      updateNonPrimary() {
-        const stream2 = this.stream;
-        if ((stream2._duplexState & WRITE_FINISHING_STATUS) === WRITE_FINISHING) {
-          stream2._duplexState = (stream2._duplexState | WRITE_ACTIVE) & WRITE_NOT_FINISHING;
-          stream2._final(afterFinal.bind(this));
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-abort
+       */
+      abort() {
+        if (this[kState] === "empty" || this[kState] === "done") {
+          this[kResult] = null;
           return;
         }
-        if ((stream2._duplexState & DESTROY_STATUS) === DESTROYING) {
-          if ((stream2._duplexState & ACTIVE_OR_TICKING) === 0) {
-            stream2._duplexState |= ACTIVE;
-            stream2._destroy(afterDestroy.bind(this));
-          }
-          return;
+        if (this[kState] === "loading") {
+          this[kState] = "done";
+          this[kResult] = null;
         }
-        if ((stream2._duplexState & IS_OPENING) === OPENING) {
-          stream2._duplexState = (stream2._duplexState | ACTIVE) & NOT_OPENING;
-          stream2._open(afterOpen.bind(this));
+        this[kAborted] = true;
+        fireAProgressEvent("abort", this);
+        if (this[kState] !== "loading") {
+          fireAProgressEvent("loadend", this);
         }
       }
-      continueUpdate() {
-        if ((this.stream._duplexState & WRITE_NEXT_TICK) === 0) return false;
-        this.stream._duplexState &= WRITE_NOT_NEXT_TICK;
-        return true;
-      }
-      updateCallback() {
-        if ((this.stream._duplexState & WRITE_UPDATE_SYNC_STATUS) === WRITE_PRIMARY) this.update();
-        else this.updateNextTick();
+      /**
+       * @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;
+        }
       }
-      updateNextTick() {
-        if ((this.stream._duplexState & WRITE_NEXT_TICK) !== 0) return;
-        this.stream._duplexState |= WRITE_NEXT_TICK;
-        if ((this.stream._duplexState & WRITE_UPDATING) === 0) queueTick(this.afterUpdateNextTick);
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-result
+       */
+      get result() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kResult];
       }
-    };
-    var ReadableState = class {
-      constructor(stream2, { highWaterMark = 16384, map: map2 = null, mapReadable, byteLength, byteLengthReadable } = {}) {
-        this.stream = stream2;
-        this.queue = new FIFO();
-        this.highWaterMark = highWaterMark === 0 ? 1 : highWaterMark;
-        this.buffered = 0;
-        this.readAhead = highWaterMark > 0;
-        this.error = null;
-        this.pipeline = null;
-        this.byteLength = byteLengthReadable || byteLength || defaultByteLength;
-        this.map = mapReadable || map2;
-        this.pipeTo = null;
-        this.afterRead = afterRead.bind(this);
-        this.afterUpdateNextTick = updateReadNT.bind(this);
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-error
+       */
+      get error() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kError];
       }
-      get ended() {
-        return (this.stream._duplexState & READ_DONE) !== 0;
+      get onloadend() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].loadend;
       }
-      pipe(pipeTo, cb) {
-        if (this.pipeTo !== null) throw new Error("Can only pipe to one destination");
-        if (typeof cb !== "function") cb = null;
-        this.stream._duplexState |= READ_PIPE_DRAINED;
-        this.pipeTo = pipeTo;
-        this.pipeline = new Pipeline(this.stream, pipeTo, cb);
-        if (cb) this.stream.on("error", noop3);
-        if (isStreamx(pipeTo)) {
-          pipeTo._writableState.pipeline = this.pipeline;
-          if (cb) pipeTo.on("error", noop3);
-          pipeTo.on("finish", this.pipeline.finished.bind(this.pipeline));
+      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 {
-          const onerror = this.pipeline.done.bind(this.pipeline, pipeTo);
-          const onclose = this.pipeline.done.bind(this.pipeline, pipeTo, null);
-          pipeTo.on("error", onerror);
-          pipeTo.on("close", onclose);
-          pipeTo.on("finish", this.pipeline.finished.bind(this.pipeline));
+          this[kEvents].loadend = null;
         }
-        pipeTo.on("drain", afterDrain.bind(this));
-        this.stream.emit("piping", pipeTo);
-        pipeTo.emit("pipe", this.stream);
       }
-      push(data) {
-        const stream2 = this.stream;
-        if (data === null) {
-          this.highWaterMark = 0;
-          stream2._duplexState = (stream2._duplexState | READ_ENDING) & READ_NON_PRIMARY_AND_PUSHED;
-          return false;
+      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 (this.map !== null) {
-          data = this.map(data);
-          if (data === null) {
-            stream2._duplexState &= READ_PUSHED;
-            return this.buffered < this.highWaterMark;
-          }
+        if (typeof fn === "function") {
+          this[kEvents].error = fn;
+          this.addEventListener("error", fn);
+        } else {
+          this[kEvents].error = null;
         }
-        this.buffered += this.byteLength(data);
-        this.queue.push(data);
-        stream2._duplexState = (stream2._duplexState | READ_QUEUED) & READ_PUSHED;
-        return this.buffered < this.highWaterMark;
       }
-      shift() {
-        const data = this.queue.shift();
-        this.buffered -= this.byteLength(data);
-        if (this.buffered === 0) this.stream._duplexState &= READ_NOT_QUEUED;
-        return data;
-      }
-      unshift(data) {
-        const pending = [this.map !== null ? this.map(data) : data];
-        while (this.buffered > 0) pending.push(this.shift());
-        for (let i = 0; i < pending.length - 1; i++) {
-          const data2 = pending[i];
-          this.buffered += this.byteLength(data2);
-          this.queue.push(data2);
-        }
-        this.push(pending[pending.length - 1]);
+      get onloadstart() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].loadstart;
       }
-      read() {
-        const stream2 = this.stream;
-        if ((stream2._duplexState & READ_STATUS) === READ_QUEUED) {
-          const data = this.shift();
-          if (this.pipeTo !== null && this.pipeTo.write(data) === false) stream2._duplexState &= READ_PIPE_NOT_DRAINED;
-          if ((stream2._duplexState & READ_EMIT_DATA) !== 0) stream2.emit("data", data);
-          return data;
+      set onloadstart(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].loadstart) {
+          this.removeEventListener("loadstart", this[kEvents].loadstart);
         }
-        if (this.readAhead === false) {
-          stream2._duplexState |= READ_READ_AHEAD;
-          this.updateNextTick();
+        if (typeof fn === "function") {
+          this[kEvents].loadstart = fn;
+          this.addEventListener("loadstart", fn);
+        } else {
+          this[kEvents].loadstart = null;
         }
-        return null;
       }
-      drain() {
-        const stream2 = this.stream;
-        while ((stream2._duplexState & READ_STATUS) === READ_QUEUED && (stream2._duplexState & READ_FLOWING) !== 0) {
-          const data = this.shift();
-          if (this.pipeTo !== null && this.pipeTo.write(data) === false) stream2._duplexState &= READ_PIPE_NOT_DRAINED;
-          if ((stream2._duplexState & READ_EMIT_DATA) !== 0) stream2.emit("data", data);
+      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;
         }
       }
-      update() {
-        const stream2 = this.stream;
-        stream2._duplexState |= READ_UPDATING;
-        do {
-          this.drain();
-          while (this.buffered < this.highWaterMark && (stream2._duplexState & SHOULD_NOT_READ) === READ_READ_AHEAD) {
-            stream2._duplexState |= READ_ACTIVE_AND_NEEDS_PUSH;
-            stream2._read(this.afterRead);
-            this.drain();
-          }
-          if ((stream2._duplexState & READ_READABLE_STATUS) === READ_EMIT_READABLE_AND_QUEUED) {
-            stream2._duplexState |= READ_EMITTED_READABLE;
-            stream2.emit("readable");
-          }
-          if ((stream2._duplexState & READ_PRIMARY_AND_ACTIVE) === 0) this.updateNonPrimary();
-        } while (this.continueUpdate() === true);
-        stream2._duplexState &= READ_NOT_UPDATING;
+      get onload() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].load;
       }
-      updateNonPrimary() {
-        const stream2 = this.stream;
-        if ((stream2._duplexState & READ_ENDING_STATUS) === READ_ENDING) {
-          stream2._duplexState = (stream2._duplexState | READ_DONE) & READ_NOT_ENDING;
-          stream2.emit("end");
-          if ((stream2._duplexState & AUTO_DESTROY) === DONE) stream2._duplexState |= DESTROYING;
-          if (this.pipeTo !== null) this.pipeTo.end();
-        }
-        if ((stream2._duplexState & DESTROY_STATUS) === DESTROYING) {
-          if ((stream2._duplexState & ACTIVE_OR_TICKING) === 0) {
-            stream2._duplexState |= ACTIVE;
-            stream2._destroy(afterDestroy.bind(this));
-          }
-          return;
+      set onload(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].load) {
+          this.removeEventListener("load", this[kEvents].load);
         }
-        if ((stream2._duplexState & IS_OPENING) === OPENING) {
-          stream2._duplexState = (stream2._duplexState | ACTIVE) & NOT_OPENING;
-          stream2._open(afterOpen.bind(this));
+        if (typeof fn === "function") {
+          this[kEvents].load = fn;
+          this.addEventListener("load", fn);
+        } else {
+          this[kEvents].load = null;
         }
       }
-      continueUpdate() {
-        if ((this.stream._duplexState & READ_NEXT_TICK) === 0) return false;
-        this.stream._duplexState &= READ_NOT_NEXT_TICK;
-        return true;
+      get onabort() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].abort;
       }
-      updateCallback() {
-        if ((this.stream._duplexState & READ_UPDATE_SYNC_STATUS) === READ_PRIMARY) this.update();
-        else this.updateNextTick();
+      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;
+        }
       }
-      updateNextTick() {
-        if ((this.stream._duplexState & READ_NEXT_TICK) !== 0) return;
-        this.stream._duplexState |= READ_NEXT_TICK;
-        if ((this.stream._duplexState & READ_UPDATING) === 0) queueTick(this.afterUpdateNextTick);
+    };
+    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
     };
-    var TransformState = class {
-      constructor(stream2) {
-        this.data = null;
-        this.afterTransform = afterTransform.bind(stream2);
-        this.afterFinal = null;
+  }
+});
+
+// node_modules/undici/lib/cache/symbols.js
+var require_symbols14 = __commonJS({
+  "node_modules/undici/lib/cache/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kConstruct: require_symbols11().kConstruct
+    };
+  }
+});
+
+// node_modules/undici/lib/cache/util.js
+var require_util28 = __commonJS({
+  "node_modules/undici/lib/cache/util.js"(exports2, module2) {
+    "use strict";
+    var assert = require("assert");
+    var { URLSerializer } = require_dataURL();
+    var { isValidHeaderName } = require_util25();
+    function urlEquals(A, B, excludeFragment = false) {
+      const serializedA = URLSerializer(A, excludeFragment);
+      const serializedB = URLSerializer(B, excludeFragment);
+      return serializedA === serializedB;
+    }
+    function fieldValues(header) {
+      assert(header !== null);
+      const values = [];
+      for (let value of header.split(",")) {
+        value = value.trim();
+        if (!value.length) {
+          continue;
+        } else if (!isValidHeaderName(value)) {
+          continue;
+        }
+        values.push(value);
       }
+      return values;
+    }
+    module2.exports = {
+      urlEquals,
+      fieldValues
     };
-    var Pipeline = class {
-      constructor(src, dst, cb) {
-        this.from = src;
-        this.to = dst;
-        this.afterPipe = cb;
-        this.error = null;
-        this.pipeToFinished = false;
+  }
+});
+
+// node_modules/undici/lib/cache/cache.js
+var require_cache6 = __commonJS({
+  "node_modules/undici/lib/cache/cache.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols14();
+    var { urlEquals, fieldValues: getFieldValues } = require_util28();
+    var { kEnumerableProperty, isDisturbed } = require_util24();
+    var { kHeadersList } = require_symbols11();
+    var { webidl } = require_webidl3();
+    var { Response, cloneResponse } = require_response4();
+    var { Request } = require_request6();
+    var { kState, kHeaders, kGuard, kRealm } = require_symbols12();
+    var { fetching } = require_fetch3();
+    var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util25();
+    var assert = require("assert");
+    var { getGlobalDispatcher } = require_global6();
+    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();
+        }
+        this.#relevantRequestResponseList = arguments[1];
       }
-      finished() {
-        this.pipeToFinished = true;
+      async match(request2, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.match" });
+        request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.CacheQueryOptions(options);
+        const p = await this.matchAll(request2, options);
+        if (p.length === 0) {
+          return;
+        }
+        return p[0];
       }
-      done(stream2, err) {
-        if (err) this.error = err;
-        if (stream2 === this.to) {
-          this.to = null;
-          if (this.from !== null) {
-            if ((this.from._duplexState & READ_DONE) === 0 || !this.pipeToFinished) {
-              this.from.destroy(this.error || new Error("Writable stream closed prematurely"));
+      async matchAll(request2 = void 0, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.CacheQueryOptions(options);
+        let r = null;
+        if (request2 !== void 0) {
+          if (request2 instanceof Request) {
+            r = request2[kState];
+            if (r.method !== "GET" && !options.ignoreMethod) {
+              return [];
             }
-            return;
+          } else if (typeof request2 === "string") {
+            r = new Request(request2)[kState];
           }
         }
-        if (stream2 === this.from) {
-          this.from = null;
-          if (this.to !== null) {
-            if ((stream2._duplexState & READ_DONE) === 0) {
-              this.to.destroy(this.error || new Error("Readable stream closed before ending"));
-            }
-            return;
+        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]);
           }
         }
-        if (this.afterPipe !== null) this.afterPipe(this.error);
-        this.to = this.from = this.afterPipe = null;
-      }
-    };
-    function afterDrain() {
-      this.stream._duplexState |= READ_PIPE_DRAINED;
-      this.updateCallback();
-    }
-    function afterFinal(err) {
-      const stream2 = this.stream;
-      if (err) stream2.destroy(err);
-      if ((stream2._duplexState & DESTROY_STATUS) === 0) {
-        stream2._duplexState |= WRITE_DONE;
-        stream2.emit("finish");
-      }
-      if ((stream2._duplexState & AUTO_DESTROY) === DONE) {
-        stream2._duplexState |= DESTROYING;
+        const responseList = [];
+        for (const response of responses) {
+          const responseObject = new Response(response.body?.source ?? null);
+          const body = responseObject[kState].body;
+          responseObject[kState] = response;
+          responseObject[kState].body = body;
+          responseObject[kHeaders][kHeadersList] = response.headersList;
+          responseObject[kHeaders][kGuard] = "immutable";
+          responseList.push(responseObject);
+        }
+        return Object.freeze(responseList);
       }
-      stream2._duplexState &= WRITE_NOT_ACTIVE;
-      if ((stream2._duplexState & WRITE_UPDATING) === 0) this.update();
-      else this.updateNextTick();
-    }
-    function afterDestroy(err) {
-      const stream2 = this.stream;
-      if (!err && this.error !== STREAM_DESTROYED) err = this.error;
-      if (err) stream2.emit("error", err);
-      stream2._duplexState |= DESTROYED;
-      stream2.emit("close");
-      const rs = stream2._readableState;
-      const ws = stream2._writableState;
-      if (rs !== null && rs.pipeline !== null) rs.pipeline.done(stream2, err);
-      if (ws !== null) {
-        while (ws.drains !== null && ws.drains.length > 0) ws.drains.shift().resolve(false);
-        if (ws.pipeline !== null) ws.pipeline.done(stream2, err);
+      async add(request2) {
+        webidl.brandCheck(this, _Cache);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.add" });
+        request2 = webidl.converters.RequestInfo(request2);
+        const requests = [request2];
+        const responseArrayPromise = this.addAll(requests);
+        return await responseArrayPromise;
       }
-    }
-    function afterWrite(err) {
-      const stream2 = this.stream;
-      if (err) stream2.destroy(err);
-      stream2._duplexState &= WRITE_NOT_ACTIVE;
-      if (this.drains !== null) tickDrains(this.drains);
-      if ((stream2._duplexState & WRITE_DRAIN_STATUS) === WRITE_UNDRAINED) {
-        stream2._duplexState &= WRITE_DRAINED;
-        if ((stream2._duplexState & WRITE_EMIT_DRAIN) === WRITE_EMIT_DRAIN) {
-          stream2.emit("drain");
+      async addAll(requests) {
+        webidl.brandCheck(this, _Cache);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.addAll" });
+        requests = webidl.converters["sequence"](requests);
+        const responsePromises = [];
+        const requestList = [];
+        for (const request2 of requests) {
+          if (typeof request2 === "string") {
+            continue;
+          }
+          const r = request2[kState];
+          if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") {
+            throw webidl.errors.exception({
+              header: "Cache.addAll",
+              message: "Expected http/s scheme when method is not GET."
+            });
+          }
+        }
+        const fetchControllers = [];
+        for (const request2 of requests) {
+          const r = new Request(request2)[kState];
+          if (!urlIsHttpHttpsScheme(r.url)) {
+            throw webidl.errors.exception({
+              header: "Cache.addAll",
+              message: "Expected http/s scheme."
+            });
+          }
+          r.initiator = "fetch";
+          r.destination = "subresource";
+          requestList.push(r);
+          const responsePromise = createDeferredPromise();
+          fetchControllers.push(fetching({
+            request: r,
+            dispatcher: getGlobalDispatcher(),
+            processResponse(response) {
+              if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) {
+                responsePromise.reject(webidl.errors.exception({
+                  header: "Cache.addAll",
+                  message: "Received an invalid status code or the request failed."
+                }));
+              } else if (response.headersList.contains("vary")) {
+                const fieldValues = getFieldValues(response.headersList.get("vary"));
+                for (const fieldValue of fieldValues) {
+                  if (fieldValue === "*") {
+                    responsePromise.reject(webidl.errors.exception({
+                      header: "Cache.addAll",
+                      message: "invalid vary field value"
+                    }));
+                    for (const controller of fetchControllers) {
+                      controller.abort();
+                    }
+                    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++;
         }
-      }
-      this.updateCallback();
-    }
-    function afterRead(err) {
-      if (err) this.stream.destroy(err);
-      this.stream._duplexState &= READ_NOT_ACTIVE;
-      if (this.readAhead === false && (this.stream._duplexState & READ_RESUMED) === 0) this.stream._duplexState &= READ_NO_READ_AHEAD;
-      this.updateCallback();
-    }
-    function updateReadNT() {
-      if ((this.stream._duplexState & READ_UPDATING) === 0) {
-        this.stream._duplexState &= READ_NOT_NEXT_TICK;
-        this.update();
-      }
-    }
-    function updateWriteNT() {
-      if ((this.stream._duplexState & WRITE_UPDATING) === 0) {
-        this.stream._duplexState &= WRITE_NOT_NEXT_TICK;
-        this.update();
-      }
-    }
-    function tickDrains(drains) {
-      for (let i = 0; i < drains.length; i++) {
-        if (--drains[i].writes === 0) {
-          drains.shift().resolve(true);
-          i--;
+        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;
       }
-    }
-    function afterOpen(err) {
-      const stream2 = this.stream;
-      if (err) stream2.destroy(err);
-      if ((stream2._duplexState & DESTROYING) === 0) {
-        if ((stream2._duplexState & READ_PRIMARY_STATUS) === 0) stream2._duplexState |= READ_PRIMARY;
-        if ((stream2._duplexState & WRITE_PRIMARY_STATUS) === 0) stream2._duplexState |= WRITE_PRIMARY;
-        stream2.emit("open");
-      }
-      stream2._duplexState &= NOT_ACTIVE;
-      if (stream2._writableState !== null) {
-        stream2._writableState.updateCallback();
-      }
-      if (stream2._readableState !== null) {
-        stream2._readableState.updateCallback();
-      }
-    }
-    function afterTransform(err, data) {
-      if (data !== void 0 && data !== null) this.push(data);
-      this._writableState.afterWrite(err);
-    }
-    function newListener(name) {
-      if (this._readableState !== null) {
-        if (name === "data") {
-          this._duplexState |= READ_EMIT_DATA | READ_RESUMED_READ_AHEAD;
-          this._readableState.updateNextTick();
+      async put(request2, response) {
+        webidl.brandCheck(this, _Cache);
+        webidl.argumentLengthCheck(arguments, 2, { header: "Cache.put" });
+        request2 = webidl.converters.RequestInfo(request2);
+        response = webidl.converters.Response(response);
+        let innerRequest = null;
+        if (request2 instanceof Request) {
+          innerRequest = request2[kState];
+        } else {
+          innerRequest = new Request(request2)[kState];
         }
-        if (name === "readable") {
-          this._duplexState |= READ_EMIT_READABLE;
-          this._readableState.updateNextTick();
+        if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") {
+          throw webidl.errors.exception({
+            header: "Cache.put",
+            message: "Expected an http/s scheme when method is not GET"
+          });
         }
-      }
-      if (this._writableState !== null) {
-        if (name === "drain") {
-          this._duplexState |= WRITE_EMIT_DRAIN;
-          this._writableState.updateNextTick();
+        const innerResponse = response[kState];
+        if (innerResponse.status === 206) {
+          throw webidl.errors.exception({
+            header: "Cache.put",
+            message: "Got 206 status"
+          });
         }
-      }
-    }
-    var Stream = class extends EventEmitter {
-      constructor(opts) {
-        super();
-        this._duplexState = 0;
-        this._readableState = null;
-        this._writableState = null;
-        if (opts) {
-          if (opts.open) this._open = opts.open;
-          if (opts.destroy) this._destroy = opts.destroy;
-          if (opts.predestroy) this._predestroy = opts.predestroy;
-          if (opts.signal) {
-            opts.signal.addEventListener("abort", abort.bind(this));
+        if (innerResponse.headersList.contains("vary")) {
+          const fieldValues = getFieldValues(innerResponse.headersList.get("vary"));
+          for (const fieldValue of fieldValues) {
+            if (fieldValue === "*") {
+              throw webidl.errors.exception({
+                header: "Cache.put",
+                message: "Got * vary field value"
+              });
+            }
           }
         }
-        this.on("newListener", newListener);
-      }
-      _open(cb) {
-        cb(null);
-      }
-      _destroy(cb) {
-        cb(null);
-      }
-      _predestroy() {
-      }
-      get readable() {
-        return this._readableState !== null ? true : void 0;
-      }
-      get writable() {
-        return this._writableState !== null ? true : void 0;
-      }
-      get destroyed() {
-        return (this._duplexState & DESTROYED) !== 0;
-      }
-      get destroying() {
-        return (this._duplexState & DESTROY_STATUS) !== 0;
-      }
-      destroy(err) {
-        if ((this._duplexState & DESTROY_STATUS) === 0) {
-          if (!err) err = STREAM_DESTROYED;
-          this._duplexState = (this._duplexState | DESTROYING) & NON_PRIMARY;
-          if (this._readableState !== null) {
-            this._readableState.highWaterMark = 0;
-            this._readableState.error = err;
+        if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {
+          throw webidl.errors.exception({
+            header: "Cache.put",
+            message: "Response body is locked or disturbed"
+          });
+        }
+        const clonedResponse = cloneResponse(innerResponse);
+        const bodyReadPromise = createDeferredPromise();
+        if (innerResponse.body != null) {
+          const stream2 = innerResponse.body.stream;
+          const reader = stream2.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);
           }
-          if (this._writableState !== null) {
-            this._writableState.highWaterMark = 0;
-            this._writableState.error = err;
+        });
+        return cacheJobPromise.promise;
+      }
+      async delete(request2, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.delete" });
+        request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.CacheQueryOptions(options);
+        let r = null;
+        if (request2 instanceof Request) {
+          r = request2[kState];
+          if (r.method !== "GET" && !options.ignoreMethod) {
+            return false;
           }
-          this._duplexState |= PREDESTROYING;
-          this._predestroy();
-          this._duplexState &= NOT_PREDESTROYING;
-          if (this._readableState !== null) this._readableState.updateNextTick();
-          if (this._writableState !== null) this._writableState.updateNextTick();
+        } else {
+          assert(typeof request2 === "string");
+          r = new Request(request2)[kState];
         }
-      }
-    };
-    var Readable2 = class _Readable extends Stream {
-      constructor(opts) {
-        super(opts);
-        this._duplexState |= OPENING | WRITE_DONE | READ_READ_AHEAD;
-        this._readableState = new ReadableState(this, opts);
-        if (opts) {
-          if (this._readableState.readAhead === false) this._duplexState &= READ_NO_READ_AHEAD;
-          if (opts.read) this._read = opts.read;
-          if (opts.eagerOpen) this._readableState.updateNextTick();
-          if (opts.encoding) this.setEncoding(opts.encoding);
+        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;
       }
-      setEncoding(encoding) {
-        const dec = new TextDecoder2(encoding);
-        const map2 = this._readableState.map || echo;
-        this._readableState.map = mapOrSkip;
-        return this;
-        function mapOrSkip(data) {
-          const next = dec.push(data);
-          return next === "" && (data.byteLength !== 0 || dec.remaining > 0) ? null : map2(next);
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys
+       * @param {any} request
+       * @param {import('../../types/cache').CacheQueryOptions} options
+       * @returns {readonly Request[]}
+       */
+      async keys(request2 = void 0, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.CacheQueryOptions(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];
+          }
         }
-      }
-      _read(cb) {
-        cb(null);
-      }
-      pipe(dest, cb) {
-        this._readableState.updateNextTick();
-        this._readableState.pipe(dest, cb);
-        return dest;
-      }
-      read() {
-        this._readableState.updateNextTick();
-        return this._readableState.read();
-      }
-      push(data) {
-        this._readableState.updateNextTick();
-        return this._readableState.push(data);
-      }
-      unshift(data) {
-        this._readableState.updateNextTick();
-        return this._readableState.unshift(data);
-      }
-      resume() {
-        this._duplexState |= READ_RESUMED_READ_AHEAD;
-        this._readableState.updateNextTick();
-        return this;
-      }
-      pause() {
-        this._duplexState &= this._readableState.readAhead === false ? READ_PAUSED_NO_READ_AHEAD : READ_PAUSED;
-        return this;
-      }
-      static _fromAsyncIterator(ite, opts) {
-        let destroy;
-        const rs = new _Readable({
-          ...opts,
-          read(cb) {
-            ite.next().then(push).then(cb.bind(null, null)).catch(cb);
-          },
-          predestroy() {
-            destroy = ite.return();
-          },
-          destroy(cb) {
-            if (!destroy) return cb(null);
-            destroy.then(cb.bind(null, null)).catch(cb);
+        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]);
           }
-        });
-        return rs;
-        function push(data) {
-          if (data.done) rs.push(null);
-          else rs.push(data.value);
         }
-      }
-      static from(data, opts) {
-        if (isReadStreamx(data)) return data;
-        if (data[asyncIterator]) return this._fromAsyncIterator(data[asyncIterator](), opts);
-        if (!Array.isArray(data)) data = data === void 0 ? [] : [data];
-        let i = 0;
-        return new _Readable({
-          ...opts,
-          read(cb) {
-            this.push(i === data.length ? null : data[i++]);
-            cb(null);
+        queueMicrotask(() => {
+          const requestList = [];
+          for (const request3 of requests) {
+            const requestObject = new Request("https://a");
+            requestObject[kState] = request3;
+            requestObject[kHeaders][kHeadersList] = request3.headersList;
+            requestObject[kHeaders][kGuard] = "immutable";
+            requestObject[kRealm] = request3.client;
+            requestList.push(requestObject);
           }
+          promise.resolve(Object.freeze(requestList));
         });
+        return promise.promise;
       }
-      static isBackpressured(rs) {
-        return (rs._duplexState & READ_BACKPRESSURE_STATUS) !== 0 || rs._readableState.buffered >= rs._readableState.highWaterMark;
-      }
-      static isPaused(rs) {
-        return (rs._duplexState & READ_RESUMED) === 0;
+      /**
+       * @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;
+        }
       }
-      [asyncIterator]() {
-        const stream2 = this;
-        let error3 = null;
-        let promiseResolve = null;
-        let promiseReject = null;
-        this.on("error", (err) => {
-          error3 = err;
-        });
-        this.on("readable", onreadable);
-        this.on("close", onclose);
-        return {
-          [asyncIterator]() {
-            return this;
-          },
-          next() {
-            return new Promise(function(resolve8, reject) {
-              promiseResolve = resolve8;
-              promiseReject = reject;
-              const data = stream2.read();
-              if (data !== null) ondata(data);
-              else if ((stream2._duplexState & DESTROYED) !== 0) ondata(null);
-            });
-          },
-          return() {
-            return destroy(null);
-          },
-          throw(err) {
-            return destroy(err);
+      /**
+       * @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);
           }
-        };
-        function onreadable() {
-          if (promiseResolve !== null) ondata(stream2.read());
         }
-        function onclose() {
-          if (promiseResolve !== null) ondata(null);
+        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 = "";
         }
-        function ondata(data) {
-          if (promiseReject === null) return;
-          if (error3) promiseReject(error3);
-          else if (data === null && (stream2._duplexState & READ_DONE) === 0) promiseReject(STREAM_DESTROYED);
-          else promiseResolve({ value: data, done: data === null });
-          promiseReject = promiseResolve = null;
+        if (!urlEquals(queryURL, cachedURL, true)) {
+          return false;
         }
-        function destroy(err) {
-          stream2.destroy(err);
-          return new Promise((resolve8, reject) => {
-            if (stream2._duplexState & DESTROYED) return resolve8({ value: void 0, done: true });
-            stream2.once("close", function() {
-              if (err) reject(err);
-              else resolve8({ value: void 0, done: true });
-            });
-          });
+        if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) {
+          return true;
         }
-      }
-    };
-    var Writable = class extends Stream {
-      constructor(opts) {
-        super(opts);
-        this._duplexState |= OPENING | READ_DONE;
-        this._writableState = new WritableState(this, opts);
-        if (opts) {
-          if (opts.writev) this._writev = opts.writev;
-          if (opts.write) this._write = opts.write;
-          if (opts.final) this._final = opts.final;
-          if (opts.eagerOpen) this._writableState.updateNextTick();
+        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;
+          }
         }
-      }
-      cork() {
-        this._duplexState |= WRITE_CORKED;
-      }
-      uncork() {
-        this._duplexState &= WRITE_NOT_CORKED;
-        this._writableState.updateNextTick();
-      }
-      _writev(batch, cb) {
-        cb(null);
-      }
-      _write(data, cb) {
-        this._writableState.autoBatch(data, cb);
-      }
-      _final(cb) {
-        cb(null);
-      }
-      static isBackpressured(ws) {
-        return (ws._duplexState & WRITE_BACKPRESSURE_STATUS) !== 0;
-      }
-      static drained(ws) {
-        if (ws.destroyed) return Promise.resolve(false);
-        const state = ws._writableState;
-        const pending = isWritev(ws) ? Math.min(1, state.queue.length) : state.queue.length;
-        const writes = pending + (ws._duplexState & WRITE_WRITING ? 1 : 0);
-        if (writes === 0) return Promise.resolve(true);
-        if (state.drains === null) state.drains = [];
-        return new Promise((resolve8) => {
-          state.drains.push({ writes, resolve: resolve8 });
-        });
-      }
-      write(data) {
-        this._writableState.updateNextTick();
-        return this._writableState.push(data);
-      }
-      end(data) {
-        this._writableState.updateNextTick();
-        this._writableState.end(data);
-        return this;
+        return true;
       }
     };
-    var Duplex = class extends Readable2 {
-      // and Writable
-      constructor(opts) {
-        super(opts);
-        this._duplexState = OPENING | this._duplexState & READ_READ_AHEAD;
-        this._writableState = new WritableState(this, opts);
-        if (opts) {
-          if (opts.writev) this._writev = opts.writev;
-          if (opts.write) this._write = opts.write;
-          if (opts.final) this._final = opts.final;
-        }
-      }
-      cork() {
-        this._duplexState |= WRITE_CORKED;
-      }
-      uncork() {
-        this._duplexState &= WRITE_NOT_CORKED;
-        this._writableState.updateNextTick();
-      }
-      _writev(batch, cb) {
-        cb(null);
-      }
-      _write(data, cb) {
-        this._writableState.autoBatch(data, cb);
-      }
-      _final(cb) {
-        cb(null);
-      }
-      write(data) {
-        this._writableState.updateNextTick();
-        return this._writableState.push(data);
+    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
       }
-      end(data) {
-        this._writableState.updateNextTick();
-        this._writableState.end(data);
-        return this;
+    ];
+    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
     };
-    var Transform = class extends Duplex {
-      constructor(opts) {
-        super(opts);
-        this._transformState = new TransformState(this);
-        if (opts) {
-          if (opts.transform) this._transform = opts.transform;
-          if (opts.flush) this._flush = opts.flush;
+  }
+});
+
+// node_modules/undici/lib/cache/cachestorage.js
+var require_cachestorage3 = __commonJS({
+  "node_modules/undici/lib/cache/cachestorage.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols14();
+    var { Cache } = require_cache6();
+    var { webidl } = require_webidl3();
+    var { kEnumerableProperty } = require_util24();
+    var CacheStorage = class _CacheStorage {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
+       * @type {Map= this._readableState.highWaterMark) {
-          this._transformState.data = data;
+      async match(request2, options = {}) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.match" });
+        request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.MultiCacheQueryOptions(options);
+        if (options.cacheName != null) {
+          if (this.#caches.has(options.cacheName)) {
+            const cacheList = this.#caches.get(options.cacheName);
+            const cache = new Cache(kConstruct, cacheList);
+            return await cache.match(request2, options);
+          }
         } else {
-          this._transform(data, this._transformState.afterTransform);
+          for (const cacheList of this.#caches.values()) {
+            const cache = new Cache(kConstruct, cacheList);
+            const response = await cache.match(request2, options);
+            if (response !== void 0) {
+              return response;
+            }
+          }
         }
       }
-      _read(cb) {
-        if (this._transformState.data !== null) {
-          const data = this._transformState.data;
-          this._transformState.data = null;
-          cb(null);
-          this._transform(data, this._transformState.afterTransform);
-        } else {
-          cb(null);
-        }
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-has
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async has(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.has" });
+        cacheName = webidl.converters.DOMString(cacheName);
+        return this.#caches.has(cacheName);
       }
-      destroy(err) {
-        super.destroy(err);
-        if (this._transformState.data !== null) {
-          this._transformState.data = null;
-          this._transformState.afterTransform();
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async open(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.open" });
+        cacheName = webidl.converters.DOMString(cacheName);
+        if (this.#caches.has(cacheName)) {
+          const cache2 = this.#caches.get(cacheName);
+          return new Cache(kConstruct, cache2);
         }
+        const cache = [];
+        this.#caches.set(cacheName, cache);
+        return new Cache(kConstruct, cache);
       }
-      _transform(data, cb) {
-        cb(null, data);
-      }
-      _flush(cb) {
-        cb(null);
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-delete
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async delete(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.delete" });
+        cacheName = webidl.converters.DOMString(cacheName);
+        return this.#caches.delete(cacheName);
       }
-      _final(cb) {
-        this._transformState.afterFinal = cb;
-        this._flush(transformAfterFlush.bind(this));
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys
+       * @returns {string[]}
+       */
+      async keys() {
+        webidl.brandCheck(this, _CacheStorage);
+        const keys = this.#caches.keys();
+        return [...keys];
       }
     };
-    var PassThrough = class extends Transform {
+    Object.defineProperties(CacheStorage.prototype, {
+      [Symbol.toStringTag]: {
+        value: "CacheStorage",
+        configurable: true
+      },
+      match: kEnumerableProperty,
+      has: kEnumerableProperty,
+      open: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      keys: kEnumerableProperty
+    });
+    module2.exports = {
+      CacheStorage
     };
-    function transformAfterFlush(err, data) {
-      const cb = this._transformState.afterFinal;
-      if (err) return cb(err);
-      if (data !== null && data !== void 0) this.push(data);
-      this.push(null);
-      cb(null);
-    }
-    function pipelinePromise(...streams) {
-      return new Promise((resolve8, reject) => {
-        return pipeline(...streams, (err) => {
-          if (err) return reject(err);
-          resolve8();
-        });
-      });
-    }
-    function pipeline(stream2, ...streams) {
-      const all = Array.isArray(stream2) ? [...stream2, ...streams] : [stream2, ...streams];
-      const done = all.length && typeof all[all.length - 1] === "function" ? all.pop() : null;
-      if (all.length < 2) throw new Error("Pipeline requires at least 2 streams");
-      let src = all[0];
-      let dest = null;
-      let error3 = null;
-      for (let i = 1; i < all.length; i++) {
-        dest = all[i];
-        if (isStreamx(src)) {
-          src.pipe(dest, onerror);
-        } else {
-          errorHandle(src, true, i > 1, onerror);
-          src.pipe(dest);
-        }
-        src = dest;
+  }
+});
+
+// node_modules/undici/lib/cookies/constants.js
+var require_constants23 = __commonJS({
+  "node_modules/undici/lib/cookies/constants.js"(exports2, module2) {
+    "use strict";
+    var maxAttributeValueSize = 1024;
+    var maxNameValuePairSize = 4096;
+    module2.exports = {
+      maxAttributeValueSize,
+      maxNameValuePairSize
+    };
+  }
+});
+
+// node_modules/undici/lib/cookies/util.js
+var require_util29 = __commonJS({
+  "node_modules/undici/lib/cookies/util.js"(exports2, module2) {
+    "use strict";
+    function isCTLExcludingHtab(value) {
+      if (value.length === 0) {
+        return false;
       }
-      if (done) {
-        let fin = false;
-        const autoDestroy = isStreamx(dest) || !!(dest._writableState && dest._writableState.autoDestroy);
-        dest.on("error", (err) => {
-          if (error3 === null) error3 = err;
-        });
-        dest.on("finish", () => {
-          fin = true;
-          if (!autoDestroy) done(error3);
-        });
-        if (autoDestroy) {
-          dest.on("close", () => done(error3 || (fin ? null : PREMATURE_CLOSE)));
+      for (const char of value) {
+        const code = char.charCodeAt(0);
+        if (code >= 0 || code <= 8 || (code >= 10 || code <= 31) || code === 127) {
+          return false;
         }
       }
-      return dest;
-      function errorHandle(s, rd, wr, onerror2) {
-        s.on("error", onerror2);
-        s.on("close", onclose);
-        function onclose() {
-          if (rd && s._readableState && !s._readableState.ended) return onerror2(PREMATURE_CLOSE);
-          if (wr && s._writableState && !s._writableState.ended) return onerror2(PREMATURE_CLOSE);
+    }
+    function validateCookieName(name) {
+      for (const char of name) {
+        const code = char.charCodeAt(0);
+        if (code <= 32 || code > 127 || char === "(" || char === ")" || char === ">" || char === "<" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}") {
+          throw new Error("Invalid cookie name");
         }
       }
-      function onerror(err) {
-        if (!err || error3) return;
-        error3 = err;
-        for (const s of all) {
-          s.destroy(err);
+    }
+    function validateCookieValue(value) {
+      for (const char of value) {
+        const code = char.charCodeAt(0);
+        if (code < 33 || // exclude CTLs (0-31)
+        code === 34 || code === 44 || code === 59 || code === 92 || code > 126) {
+          throw new Error("Invalid header value");
         }
       }
     }
-    function echo(s) {
-      return s;
-    }
-    function isStream(stream2) {
-      return !!stream2._readableState || !!stream2._writableState;
-    }
-    function isStreamx(stream2) {
-      return typeof stream2._duplexState === "number" && isStream(stream2);
-    }
-    function isEnded(stream2) {
-      return !!stream2._readableState && stream2._readableState.ended;
-    }
-    function isFinished(stream2) {
-      return !!stream2._writableState && stream2._writableState.ended;
-    }
-    function getStreamError(stream2, opts = {}) {
-      const err = stream2._readableState && stream2._readableState.error || stream2._writableState && stream2._writableState.error;
-      return !opts.all && err === STREAM_DESTROYED ? null : err;
-    }
-    function isReadStreamx(stream2) {
-      return isStreamx(stream2) && stream2.readable;
-    }
-    function isTypedArray(data) {
-      return typeof data === "object" && data !== null && typeof data.byteLength === "number";
-    }
-    function defaultByteLength(data) {
-      return isTypedArray(data) ? data.byteLength : 1024;
+    function validateCookiePath(path16) {
+      for (const char of path16) {
+        const code = char.charCodeAt(0);
+        if (code < 33 || char === ";") {
+          throw new Error("Invalid cookie path");
+        }
+      }
     }
-    function noop3() {
+    function validateCookieDomain(domain) {
+      if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
+        throw new Error("Invalid cookie domain");
+      }
     }
-    function abort() {
-      this.destroy(new Error("Stream aborted."));
+    function toIMFDate(date) {
+      if (typeof date === "number") {
+        date = new Date(date);
+      }
+      const days = [
+        "Sun",
+        "Mon",
+        "Tue",
+        "Wed",
+        "Thu",
+        "Fri",
+        "Sat"
+      ];
+      const months = [
+        "Jan",
+        "Feb",
+        "Mar",
+        "Apr",
+        "May",
+        "Jun",
+        "Jul",
+        "Aug",
+        "Sep",
+        "Oct",
+        "Nov",
+        "Dec"
+      ];
+      const dayName = days[date.getUTCDay()];
+      const day = date.getUTCDate().toString().padStart(2, "0");
+      const month = months[date.getUTCMonth()];
+      const year = date.getUTCFullYear();
+      const hour = date.getUTCHours().toString().padStart(2, "0");
+      const minute = date.getUTCMinutes().toString().padStart(2, "0");
+      const second = date.getUTCSeconds().toString().padStart(2, "0");
+      return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`;
     }
-    function isWritev(s) {
-      return s._writev !== Writable.prototype._writev && s._writev !== Duplex.prototype._writev;
+    function validateCookieMaxAge(maxAge) {
+      if (maxAge < 0) {
+        throw new Error("Invalid cookie max-age");
+      }
     }
-    module2.exports = {
-      pipeline,
-      pipelinePromise,
-      isStream,
-      isStreamx,
-      isEnded,
-      isFinished,
-      getStreamError,
-      Stream,
-      Writable,
-      Readable: Readable2,
-      Duplex,
-      Transform,
-      // Export PassThrough for compatibility with Node.js core's stream module
-      PassThrough
+    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/tar-stream/headers.js
-var require_headers3 = __commonJS({
-  "node_modules/tar-stream/headers.js"(exports2) {
-    var b4a = require_b4a();
-    var ZEROS = "0000000000000000000";
-    var SEVENS = "7777777777777777777";
-    var ZERO_OFFSET = "0".charCodeAt(0);
-    var USTAR_MAGIC = b4a.from([117, 115, 116, 97, 114, 0]);
-    var USTAR_VER = b4a.from([ZERO_OFFSET, ZERO_OFFSET]);
-    var GNU_MAGIC = b4a.from([117, 115, 116, 97, 114, 32]);
-    var GNU_VER = b4a.from([32, 0]);
-    var MASK = 4095;
-    var MAGIC_OFFSET = 257;
-    var VERSION_OFFSET = 263;
-    exports2.decodeLongPath = function decodeLongPath(buf, encoding) {
-      return decodeStr(buf, 0, buf.length, encoding);
-    };
-    exports2.encodePax = function encodePax(opts) {
-      let result = "";
-      if (opts.name) result += addLength(" path=" + opts.name + "\n");
-      if (opts.linkname) result += addLength(" linkpath=" + opts.linkname + "\n");
-      const pax = opts.pax;
-      if (pax) {
-        for (const key in pax) {
-          result += addLength(" " + key + "=" + pax[key] + "\n");
-        }
-      }
-      return b4a.from(result);
-    };
-    exports2.decodePax = function decodePax(buf) {
-      const result = {};
-      while (buf.length) {
-        let i = 0;
-        while (i < buf.length && buf[i] !== 32) i++;
-        const len = parseInt(b4a.toString(buf.subarray(0, i)), 10);
-        if (!len) return result;
-        const b = b4a.toString(buf.subarray(i + 1, len - 1));
-        const keyIndex = b.indexOf("=");
-        if (keyIndex === -1) return result;
-        result[b.slice(0, keyIndex)] = b.slice(keyIndex + 1);
-        buf = buf.subarray(len);
+// node_modules/undici/lib/cookies/parse.js
+var require_parse4 = __commonJS({
+  "node_modules/undici/lib/cookies/parse.js"(exports2, module2) {
+    "use strict";
+    var { maxNameValuePairSize, maxAttributeValueSize } = require_constants23();
+    var { isCTLExcludingHtab } = require_util29();
+    var { collectASequenceOfCodePointsFast } = require_dataURL();
+    var assert = require("assert");
+    function parseSetCookie(header) {
+      if (isCTLExcludingHtab(header)) {
+        return null;
       }
-      return result;
-    };
-    exports2.encode = function encode(opts) {
-      const buf = b4a.alloc(512);
-      let name = opts.name;
-      let prefix = "";
-      if (opts.typeflag === 5 && name[name.length - 1] !== "/") name += "/";
-      if (b4a.byteLength(name) !== name.length) return null;
-      while (b4a.byteLength(name) > 100) {
-        const i = name.indexOf("/");
-        if (i === -1) return null;
-        prefix += prefix ? "/" + name.slice(0, i) : name.slice(0, i);
-        name = name.slice(i + 1);
+      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 (b4a.byteLength(name) > 100 || b4a.byteLength(prefix) > 155) return null;
-      if (opts.linkname && b4a.byteLength(opts.linkname) > 100) return null;
-      b4a.write(buf, name);
-      b4a.write(buf, encodeOct(opts.mode & MASK, 6), 100);
-      b4a.write(buf, encodeOct(opts.uid, 6), 108);
-      b4a.write(buf, encodeOct(opts.gid, 6), 116);
-      encodeSize(opts.size, buf, 124);
-      b4a.write(buf, encodeOct(opts.mtime.getTime() / 1e3 | 0, 11), 136);
-      buf[156] = ZERO_OFFSET + toTypeflag(opts.type);
-      if (opts.linkname) b4a.write(buf, opts.linkname, 157);
-      b4a.copy(USTAR_MAGIC, buf, MAGIC_OFFSET);
-      b4a.copy(USTAR_VER, buf, VERSION_OFFSET);
-      if (opts.uname) b4a.write(buf, opts.uname, 265);
-      if (opts.gname) b4a.write(buf, opts.gname, 297);
-      b4a.write(buf, encodeOct(opts.devmajor || 0, 6), 329);
-      b4a.write(buf, encodeOct(opts.devminor || 0, 6), 337);
-      if (prefix) b4a.write(buf, prefix, 345);
-      b4a.write(buf, encodeOct(cksum(buf), 6), 148);
-      return buf;
-    };
-    exports2.decode = function decode(buf, filenameEncoding, allowUnknownFormat) {
-      let typeflag = buf[156] === 0 ? 0 : buf[156] - ZERO_OFFSET;
-      let name = decodeStr(buf, 0, 100, filenameEncoding);
-      const mode = decodeOct(buf, 100, 8);
-      const uid = decodeOct(buf, 108, 8);
-      const gid = decodeOct(buf, 116, 8);
-      const size = decodeOct(buf, 124, 12);
-      const mtime = decodeOct(buf, 136, 12);
-      const type2 = toType(typeflag);
-      const linkname = buf[157] === 0 ? null : decodeStr(buf, 157, 100, filenameEncoding);
-      const uname = decodeStr(buf, 265, 32);
-      const gname = decodeStr(buf, 297, 32);
-      const devmajor = decodeOct(buf, 329, 8);
-      const devminor = decodeOct(buf, 337, 8);
-      const c = cksum(buf);
-      if (c === 8 * 32) return null;
-      if (c !== decodeOct(buf, 148, 8)) throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");
-      if (isUSTAR(buf)) {
-        if (buf[345]) name = decodeStr(buf, 345, 155, filenameEncoding) + "/" + name;
-      } else if (isGNU(buf)) {
+      if (!nameValuePair.includes("=")) {
+        value = nameValuePair;
       } else {
-        if (!allowUnknownFormat) {
-          throw new Error("Invalid tar header: unknown format.");
-        }
+        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;
       }
-      if (typeflag === 0 && name && name[name.length - 1] === "/") typeflag = 5;
       return {
         name,
-        mode,
-        uid,
-        gid,
-        size,
-        mtime: new Date(1e3 * mtime),
-        type: type2,
-        linkname,
-        uname,
-        gname,
-        devmajor,
-        devminor,
-        pax: null
+        value,
+        ...parseUnparsedAttributes(unparsedAttributes)
       };
-    };
-    function isUSTAR(buf) {
-      return b4a.equals(USTAR_MAGIC, buf.subarray(MAGIC_OFFSET, MAGIC_OFFSET + 6));
-    }
-    function isGNU(buf) {
-      return b4a.equals(GNU_MAGIC, buf.subarray(MAGIC_OFFSET, MAGIC_OFFSET + 6)) && b4a.equals(GNU_VER, buf.subarray(VERSION_OFFSET, VERSION_OFFSET + 2));
     }
-    function clamp(index, len, defaultValue) {
-      if (typeof index !== "number") return defaultValue;
-      index = ~~index;
-      if (index >= len) return len;
-      if (index >= 0) return index;
-      index += len;
-      if (index >= 0) return index;
-      return 0;
-    }
-    function toType(flag) {
-      switch (flag) {
-        case 0:
-          return "file";
-        case 1:
-          return "link";
-        case 2:
-          return "symlink";
-        case 3:
-          return "character-device";
-        case 4:
-          return "block-device";
-        case 5:
-          return "directory";
-        case 6:
-          return "fifo";
-        case 7:
-          return "contiguous-file";
-        case 72:
-          return "pax-header";
-        case 55:
-          return "pax-global-header";
-        case 27:
-          return "gnu-long-link-path";
-        case 28:
-        case 30:
-          return "gnu-long-path";
+    function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) {
+      if (unparsedAttributes.length === 0) {
+        return cookieAttributeList;
       }
-      return null;
-    }
-    function toTypeflag(flag) {
-      switch (flag) {
-        case "file":
-          return 0;
-        case "link":
-          return 1;
-        case "symlink":
-          return 2;
-        case "character-device":
-          return 3;
-        case "block-device":
-          return 4;
-        case "directory":
-          return 5;
-        case "fifo":
-          return 6;
-        case "contiguous-file":
-          return 7;
-        case "pax-header":
-          return 72;
+      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 = "";
       }
-      return 0;
-    }
-    function indexOf(block, num, offset, end) {
-      for (; offset < end; offset++) {
-        if (block[offset] === num) return offset;
+      let attributeName = "";
+      let attributeValue = "";
+      if (cookieAv.includes("=")) {
+        const position = { position: 0 };
+        attributeName = collectASequenceOfCodePointsFast(
+          "=",
+          cookieAv,
+          position
+        );
+        attributeValue = cookieAv.slice(position.position + 1);
+      } else {
+        attributeName = cookieAv;
       }
-      return end;
-    }
-    function cksum(block) {
-      let sum = 8 * 32;
-      for (let i = 0; i < 148; i++) sum += block[i];
-      for (let j = 156; j < 512; j++) sum += block[j];
-      return sum;
-    }
-    function encodeOct(val, n) {
-      val = val.toString(8);
-      if (val.length > n) return SEVENS.slice(0, n) + " ";
-      return ZEROS.slice(0, n - val.length) + val + " ";
-    }
-    function encodeSizeBin(num, buf, off) {
-      buf[off] = 128;
-      for (let i = 11; i > 0; i--) {
-        buf[off + i] = num & 255;
-        num = Math.floor(num / 256);
+      attributeName = attributeName.trim();
+      attributeValue = attributeValue.trim();
+      if (attributeValue.length > maxAttributeValueSize) {
+        return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
       }
-    }
-    function encodeSize(num, buf, off) {
-      if (num.toString(8).length > 11) {
-        encodeSizeBin(num, buf, off);
+      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 {
-        b4a.write(buf, encodeOct(num, 11), off);
+        cookieAttributeList.unparsed ??= [];
+        cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`);
       }
+      return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
     }
-    function parse256(buf) {
-      let positive;
-      if (buf[0] === 128) positive = true;
-      else if (buf[0] === 255) positive = false;
-      else return null;
-      const tuple = [];
-      let i;
-      for (i = buf.length - 1; i > 0; i--) {
-        const byte = buf[i];
-        if (positive) tuple.push(byte);
-        else tuple.push(255 - byte);
+    module2.exports = {
+      parseSetCookie,
+      parseUnparsedAttributes
+    };
+  }
+});
+
+// node_modules/undici/lib/cookies/index.js
+var require_cookies3 = __commonJS({
+  "node_modules/undici/lib/cookies/index.js"(exports2, module2) {
+    "use strict";
+    var { parseSetCookie } = require_parse4();
+    var { stringify } = require_util29();
+    var { webidl } = require_webidl3();
+    var { Headers } = require_headers4();
+    function getCookies(headers) {
+      webidl.argumentLengthCheck(arguments, 1, { header: "getCookies" });
+      webidl.brandCheck(headers, Headers, { strict: false });
+      const cookie = headers.get("cookie");
+      const out = {};
+      if (!cookie) {
+        return out;
       }
-      let sum = 0;
-      const l = tuple.length;
-      for (i = 0; i < l; i++) {
-        sum += tuple[i] * Math.pow(256, i);
+      for (const piece of cookie.split(";")) {
+        const [name, ...value] = piece.split("=");
+        out[name.trim()] = value.join("=");
       }
-      return positive ? sum : -1 * sum;
+      return out;
     }
-    function decodeOct(val, offset, length) {
-      val = val.subarray(offset, offset + length);
-      offset = 0;
-      if (val[offset] & 128) {
-        return parse256(val);
-      } else {
-        while (offset < val.length && val[offset] === 32) offset++;
-        const end = clamp(indexOf(val, 32, offset, val.length), val.length, val.length);
-        while (offset < end && val[offset] === 0) offset++;
-        if (end === offset) return 0;
-        return parseInt(b4a.toString(val.subarray(offset, end)), 8);
-      }
+    function deleteCookie(headers, name, attributes) {
+      webidl.argumentLengthCheck(arguments, 2, { header: "deleteCookie" });
+      webidl.brandCheck(headers, Headers, { strict: false });
+      name = webidl.converters.DOMString(name);
+      attributes = webidl.converters.DeleteCookieAttributes(attributes);
+      setCookie(headers, {
+        name,
+        value: "",
+        expires: /* @__PURE__ */ new Date(0),
+        ...attributes
+      });
     }
-    function decodeStr(val, offset, length, encoding) {
-      return b4a.toString(val.subarray(offset, indexOf(val, 0, offset, offset + length)), encoding);
+    function getSetCookies(headers) {
+      webidl.argumentLengthCheck(arguments, 1, { header: "getSetCookies" });
+      webidl.brandCheck(headers, Headers, { strict: false });
+      const cookies = headers.getSetCookie();
+      if (!cookies) {
+        return [];
+      }
+      return cookies.map((pair) => parseSetCookie(pair));
     }
-    function addLength(str2) {
-      const len = b4a.byteLength(str2);
-      let digits = Math.floor(Math.log(len) / Math.log(10)) + 1;
-      if (len + digits >= Math.pow(10, digits)) digits++;
-      return len + digits + str2;
+    function setCookie(headers, cookie) {
+      webidl.argumentLengthCheck(arguments, 2, { header: "setCookie" });
+      webidl.brandCheck(headers, Headers, { strict: false });
+      cookie = webidl.converters.Cookie(cookie);
+      const str2 = stringify(cookie);
+      if (str2) {
+        headers.append("Set-Cookie", stringify(cookie));
+      }
     }
+    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: []
+      }
+    ]);
+    module2.exports = {
+      getCookies,
+      deleteCookie,
+      getSetCookies,
+      setCookie
+    };
   }
 });
 
-// node_modules/tar-stream/extract.js
-var require_extract = __commonJS({
-  "node_modules/tar-stream/extract.js"(exports2, module2) {
-    var { Writable, Readable: Readable2, getStreamError } = require_streamx();
-    var FIFO = require_fast_fifo();
-    var b4a = require_b4a();
-    var headers = require_headers3();
-    var EMPTY = b4a.alloc(0);
-    var BufferList = class {
-      constructor() {
-        this.buffered = 0;
-        this.shifted = 0;
-        this.queue = new FIFO();
-        this._offset = 0;
-      }
-      push(buffer) {
-        this.buffered += buffer.byteLength;
-        this.queue.push(buffer);
-      }
-      shiftFirst(size) {
-        return this._buffered === 0 ? null : this._next(size);
-      }
-      shift(size) {
-        if (size > this.buffered) return null;
-        if (size === 0) return EMPTY;
-        let chunk = this._next(size);
-        if (size === chunk.byteLength) return chunk;
-        const chunks = [chunk];
-        while ((size -= chunk.byteLength) > 0) {
-          chunk = this._next(size);
-          chunks.push(chunk);
-        }
-        return b4a.concat(chunks);
+// node_modules/undici/lib/websocket/constants.js
+var require_constants24 = __commonJS({
+  "node_modules/undici/lib/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 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);
+    module2.exports = {
+      uid,
+      staticPropertyDescriptors,
+      states,
+      opcodes,
+      maxUnsigned16Bit,
+      parserStates,
+      emptyBuffer
+    };
+  }
+});
+
+// node_modules/undici/lib/websocket/symbols.js
+var require_symbols15 = __commonJS({
+  "node_modules/undici/lib/websocket/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
+      kReadyState: /* @__PURE__ */ Symbol("ready state"),
+      kController: /* @__PURE__ */ Symbol("controller"),
+      kResponse: /* @__PURE__ */ Symbol("response"),
+      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
+      kSentClose: /* @__PURE__ */ Symbol("sent close"),
+      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
+      kByteParser: /* @__PURE__ */ Symbol("byte parser")
+    };
+  }
+});
+
+// node_modules/undici/lib/websocket/events.js
+var require_events3 = __commonJS({
+  "node_modules/undici/lib/websocket/events.js"(exports2, module2) {
+    "use strict";
+    var { webidl } = require_webidl3();
+    var { kEnumerableProperty } = require_util24();
+    var { MessagePort } = require("worker_threads");
+    var MessageEvent = class _MessageEvent extends Event {
+      #eventInit;
+      constructor(type2, eventInitDict = {}) {
+        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" });
+        type2 = webidl.converters.DOMString(type2);
+        eventInitDict = webidl.converters.MessageEventInit(eventInitDict);
+        super(type2, eventInitDict);
+        this.#eventInit = eventInitDict;
       }
-      _next(size) {
-        const buf = this.queue.peek();
-        const rem = buf.byteLength - this._offset;
-        if (size >= rem) {
-          const sub = this._offset ? buf.subarray(this._offset, buf.byteLength) : buf;
-          this.queue.shift();
-          this._offset = 0;
-          this.buffered -= rem;
-          this.shifted += rem;
-          return sub;
-        }
-        this.buffered -= size;
-        this.shifted += size;
-        return buf.subarray(this._offset, this._offset += size);
+      get data() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.data;
       }
-    };
-    var Source = class extends Readable2 {
-      constructor(self2, header, offset) {
-        super();
-        this.header = header;
-        this.offset = offset;
-        this._parent = self2;
+      get origin() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.origin;
       }
-      _read(cb) {
-        if (this.header.size === 0) {
-          this.push(null);
-        }
-        if (this._parent._stream === this) {
-          this._parent._update();
-        }
-        cb(null);
+      get lastEventId() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.lastEventId;
       }
-      _predestroy() {
-        this._parent.destroy(getStreamError(this));
+      get source() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.source;
       }
-      _detach() {
-        if (this._parent._stream === this) {
-          this._parent._stream = null;
-          this._parent._missing = overflow(this.header.size);
-          this._parent._update();
+      get ports() {
+        webidl.brandCheck(this, _MessageEvent);
+        if (!Object.isFrozen(this.#eventInit.ports)) {
+          Object.freeze(this.#eventInit.ports);
         }
+        return this.#eventInit.ports;
       }
-      _destroy(cb) {
-        this._detach();
-        cb(null);
+      initMessageEvent(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
+        webidl.brandCheck(this, _MessageEvent);
+        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent.initMessageEvent" });
+        return new _MessageEvent(type2, {
+          bubbles,
+          cancelable,
+          data,
+          origin,
+          lastEventId,
+          source,
+          ports
+        });
       }
     };
-    var Extract = class extends Writable {
-      constructor(opts) {
-        super(opts);
-        if (!opts) opts = {};
-        this._buffer = new BufferList();
-        this._offset = 0;
-        this._header = null;
-        this._stream = null;
-        this._missing = 0;
-        this._longHeader = false;
-        this._callback = noop3;
-        this._locked = false;
-        this._finished = false;
-        this._pax = null;
-        this._paxGlobal = null;
-        this._gnuLongPath = null;
-        this._gnuLongLinkPath = null;
-        this._filenameEncoding = opts.filenameEncoding || "utf-8";
-        this._allowUnknownFormat = !!opts.allowUnknownFormat;
-        this._unlockBound = this._unlock.bind(this);
-      }
-      _unlock(err) {
-        this._locked = false;
-        if (err) {
-          this.destroy(err);
-          this._continueWrite(err);
-          return;
-        }
-        this._update();
+    var CloseEvent = class _CloseEvent extends Event {
+      #eventInit;
+      constructor(type2, eventInitDict = {}) {
+        webidl.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" });
+        type2 = webidl.converters.DOMString(type2);
+        eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
+        super(type2, eventInitDict);
+        this.#eventInit = eventInitDict;
       }
-      _consumeHeader() {
-        if (this._locked) return false;
-        this._offset = this._buffer.shifted;
-        try {
-          this._header = headers.decode(this._buffer.shift(512), this._filenameEncoding, this._allowUnknownFormat);
-        } catch (err) {
-          this._continueWrite(err);
-          return false;
-        }
-        if (!this._header) return true;
-        switch (this._header.type) {
-          case "gnu-long-path":
-          case "gnu-long-link-path":
-          case "pax-global-header":
-          case "pax-header":
-            this._longHeader = true;
-            this._missing = this._header.size;
-            return true;
-        }
-        this._locked = true;
-        this._applyLongHeaders();
-        if (this._header.size === 0 || this._header.type === "directory") {
-          this.emit("entry", this._header, this._createStream(), this._unlockBound);
-          return true;
-        }
-        this._stream = this._createStream();
-        this._missing = this._header.size;
-        this.emit("entry", this._header, this._stream, this._unlockBound);
-        return true;
+      get wasClean() {
+        webidl.brandCheck(this, _CloseEvent);
+        return this.#eventInit.wasClean;
       }
-      _applyLongHeaders() {
-        if (this._gnuLongPath) {
-          this._header.name = this._gnuLongPath;
-          this._gnuLongPath = null;
-        }
-        if (this._gnuLongLinkPath) {
-          this._header.linkname = this._gnuLongLinkPath;
-          this._gnuLongLinkPath = null;
-        }
-        if (this._pax) {
-          if (this._pax.path) this._header.name = this._pax.path;
-          if (this._pax.linkpath) this._header.linkname = this._pax.linkpath;
-          if (this._pax.size) this._header.size = parseInt(this._pax.size, 10);
-          this._header.pax = this._pax;
-          this._pax = null;
-        }
+      get code() {
+        webidl.brandCheck(this, _CloseEvent);
+        return this.#eventInit.code;
       }
-      _decodeLongHeader(buf) {
-        switch (this._header.type) {
-          case "gnu-long-path":
-            this._gnuLongPath = headers.decodeLongPath(buf, this._filenameEncoding);
-            break;
-          case "gnu-long-link-path":
-            this._gnuLongLinkPath = headers.decodeLongPath(buf, this._filenameEncoding);
-            break;
-          case "pax-global-header":
-            this._paxGlobal = headers.decodePax(buf);
-            break;
-          case "pax-header":
-            this._pax = this._paxGlobal === null ? headers.decodePax(buf) : Object.assign({}, this._paxGlobal, headers.decodePax(buf));
-            break;
-        }
+      get reason() {
+        webidl.brandCheck(this, _CloseEvent);
+        return this.#eventInit.reason;
       }
-      _consumeLongHeader() {
-        this._longHeader = false;
-        this._missing = overflow(this._header.size);
-        const buf = this._buffer.shift(this._header.size);
-        try {
-          this._decodeLongHeader(buf);
-        } catch (err) {
-          this._continueWrite(err);
-          return false;
-        }
-        return true;
+    };
+    var ErrorEvent = class _ErrorEvent extends Event {
+      #eventInit;
+      constructor(type2, eventInitDict) {
+        webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" });
+        super(type2, eventInitDict);
+        type2 = webidl.converters.DOMString(type2);
+        eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});
+        this.#eventInit = eventInitDict;
       }
-      _consumeStream() {
-        const buf = this._buffer.shiftFirst(this._missing);
-        if (buf === null) return false;
-        this._missing -= buf.byteLength;
-        const drained = this._stream.push(buf);
-        if (this._missing === 0) {
-          this._stream.push(null);
-          if (drained) this._stream._detach();
-          return drained && this._locked === false;
-        }
-        return drained;
+      get message() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.message;
       }
-      _createStream() {
-        return new Source(this, this._header, this._offset);
+      get filename() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.filename;
       }
-      _update() {
-        while (this._buffer.buffered > 0 && !this.destroying) {
-          if (this._missing > 0) {
-            if (this._stream !== null) {
-              if (this._consumeStream() === false) return;
-              continue;
-            }
-            if (this._longHeader === true) {
-              if (this._missing > this._buffer.buffered) break;
-              if (this._consumeLongHeader() === false) return false;
-              continue;
-            }
-            const ignore = this._buffer.shiftFirst(this._missing);
-            if (ignore !== null) this._missing -= ignore.byteLength;
-            continue;
-          }
-          if (this._buffer.buffered < 512) break;
-          if (this._stream !== null || this._consumeHeader() === false) return;
-        }
-        this._continueWrite(null);
+      get lineno() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.lineno;
       }
-      _continueWrite(err) {
-        const cb = this._callback;
-        this._callback = noop3;
-        cb(err);
+      get colno() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.colno;
       }
-      _write(data, cb) {
-        this._callback = cb;
-        this._buffer.push(data);
-        this._update();
+      get error() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.error;
       }
-      _final(cb) {
-        this._finished = this._missing === 0 && this._buffer.buffered === 0;
-        cb(this._finished ? null : new Error("Unexpected end of data"));
+    };
+    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
       }
-      _predestroy() {
-        this._continueWrite(null);
+    ];
+    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"],
+        get defaultValue() {
+          return [];
+        }
       }
-      _destroy(cb) {
-        if (this._stream) this._stream.destroy(getStreamError(this));
-        cb(null);
+    ]);
+    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: ""
       }
-      [Symbol.asyncIterator]() {
-        let error3 = null;
-        let promiseResolve = null;
-        let promiseReject = null;
-        let entryStream = null;
-        let entryCallback = null;
-        const extract2 = this;
-        this.on("entry", onentry);
-        this.on("error", (err) => {
-          error3 = err;
-        });
-        this.on("close", onclose);
-        return {
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          next() {
-            return new Promise(onnext);
-          },
-          return() {
-            return destroy(null);
-          },
-          throw(err) {
-            return destroy(err);
-          }
-        };
-        function consumeCallback(err) {
-          if (!entryCallback) return;
-          const cb = entryCallback;
-          entryCallback = null;
-          cb(err);
-        }
-        function onnext(resolve8, reject) {
-          if (error3) {
-            return reject(error3);
-          }
-          if (entryStream) {
-            resolve8({ value: entryStream, done: false });
-            entryStream = null;
-            return;
-          }
-          promiseResolve = resolve8;
-          promiseReject = reject;
-          consumeCallback(null);
-          if (extract2._finished && promiseResolve) {
-            promiseResolve({ value: void 0, done: true });
-            promiseResolve = promiseReject = null;
-          }
-        }
-        function onentry(header, stream2, callback) {
-          entryCallback = callback;
-          stream2.on("error", noop3);
-          if (promiseResolve) {
-            promiseResolve({ value: stream2, done: false });
-            promiseResolve = promiseReject = null;
-          } else {
-            entryStream = stream2;
-          }
-        }
-        function onclose() {
-          consumeCallback(error3);
-          if (!promiseResolve) return;
-          if (error3) promiseReject(error3);
-          else promiseResolve({ value: void 0, done: true });
-          promiseResolve = promiseReject = null;
-        }
-        function destroy(err) {
-          extract2.destroy(err);
-          consumeCallback(err);
-          return new Promise((resolve8, reject) => {
-            if (extract2.destroyed) return resolve8({ value: void 0, done: true });
-            extract2.once("close", function() {
-              if (err) reject(err);
-              else resolve8({ value: void 0, done: true });
-            });
-          });
-        }
+    ]);
+    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
     };
-    module2.exports = function extract2(opts) {
-      return new Extract(opts);
-    };
-    function noop3() {
-    }
-    function overflow(size) {
-      size &= 511;
-      return size && 512 - size;
-    }
   }
 });
 
-// node_modules/tar-stream/constants.js
-var require_constants19 = __commonJS({
-  "node_modules/tar-stream/constants.js"(exports2, module2) {
-    var constants = {
-      // just for envs without fs
-      S_IFMT: 61440,
-      S_IFDIR: 16384,
-      S_IFCHR: 8192,
-      S_IFBLK: 24576,
-      S_IFIFO: 4096,
-      S_IFLNK: 40960
-    };
-    try {
-      module2.exports = require("fs").constants || constants;
-    } catch {
-      module2.exports = constants;
+// node_modules/undici/lib/websocket/util.js
+var require_util30 = __commonJS({
+  "node_modules/undici/lib/websocket/util.js"(exports2, module2) {
+    "use strict";
+    var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols15();
+    var { states, opcodes } = require_constants24();
+    var { MessageEvent, ErrorEvent } = require_events3();
+    function isEstablished(ws) {
+      return ws[kReadyState] === states.OPEN;
     }
-  }
-});
-
-// node_modules/tar-stream/pack.js
-var require_pack = __commonJS({
-  "node_modules/tar-stream/pack.js"(exports2, module2) {
-    var { Readable: Readable2, Writable, getStreamError } = require_streamx();
-    var b4a = require_b4a();
-    var constants = require_constants19();
-    var headers = require_headers3();
-    var DMODE = 493;
-    var FMODE = 420;
-    var END_OF_TAR = b4a.alloc(1024);
-    var Sink = class extends Writable {
-      constructor(pack, header, callback) {
-        super({ mapWritable, eagerOpen: true });
-        this.written = 0;
-        this.header = header;
-        this._callback = callback;
-        this._linkname = null;
-        this._isLinkname = header.type === "symlink" && !header.linkname;
-        this._isVoid = header.type !== "file" && header.type !== "contiguous-file";
-        this._finished = false;
-        this._pack = pack;
-        this._openCallback = null;
-        if (this._pack._stream === null) this._pack._stream = this;
-        else this._pack._pending.push(this);
-      }
-      _open(cb) {
-        this._openCallback = cb;
-        if (this._pack._stream === this) this._continueOpen();
-      }
-      _continuePack(err) {
-        if (this._callback === null) return;
-        const callback = this._callback;
-        this._callback = null;
-        callback(err);
-      }
-      _continueOpen() {
-        if (this._pack._stream === null) this._pack._stream = this;
-        const cb = this._openCallback;
-        this._openCallback = null;
-        if (cb === null) return;
-        if (this._pack.destroying) return cb(new Error("pack stream destroyed"));
-        if (this._pack._finalized) return cb(new Error("pack stream is already finalized"));
-        this._pack._stream = this;
-        if (!this._isLinkname) {
-          this._pack._encode(this.header);
-        }
-        if (this._isVoid) {
-          this._finish();
-          this._continuePack(null);
-        }
-        cb(null);
+    function isClosing(ws) {
+      return ws[kReadyState] === states.CLOSING;
+    }
+    function isClosed(ws) {
+      return ws[kReadyState] === states.CLOSED;
+    }
+    function fireEvent(e, target, eventConstructor = Event, eventInitDict) {
+      const event = new eventConstructor(e, eventInitDict);
+      target.dispatchEvent(event);
+    }
+    function websocketMessageReceived(ws, type2, data) {
+      if (ws[kReadyState] !== states.OPEN) {
+        return;
       }
-      _write(data, cb) {
-        if (this._isLinkname) {
-          this._linkname = this._linkname ? b4a.concat([this._linkname, data]) : data;
-          return cb(null);
+      let dataForEvent;
+      if (type2 === opcodes.TEXT) {
+        try {
+          dataForEvent = new TextDecoder("utf-8", { fatal: true }).decode(data);
+        } catch {
+          failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
+          return;
         }
-        if (this._isVoid) {
-          if (data.byteLength > 0) {
-            return cb(new Error("No body allowed for this entry"));
-          }
-          return cb();
+      } else if (type2 === opcodes.BINARY) {
+        if (ws[kBinaryType] === "blob") {
+          dataForEvent = new Blob([data]);
+        } else {
+          dataForEvent = new Uint8Array(data).buffer;
         }
-        this.written += data.byteLength;
-        if (this._pack.push(data)) return cb();
-        this._pack._drain = cb;
       }
-      _finish() {
-        if (this._finished) return;
-        this._finished = true;
-        if (this._isLinkname) {
-          this.header.linkname = this._linkname ? b4a.toString(this._linkname, "utf-8") : "";
-          this._pack._encode(this.header);
-        }
-        overflow(this._pack, this.header.size);
-        this._pack._done(this);
+      fireEvent("message", ws, MessageEvent, {
+        origin: ws[kWebSocketURL].origin,
+        data: dataForEvent
+      });
+    }
+    function isValidSubprotocol(protocol) {
+      if (protocol.length === 0) {
+        return false;
       }
-      _final(cb) {
-        if (this.written !== this.header.size) {
-          return cb(new Error("Size mismatch"));
+      for (const char of protocol) {
+        const code = char.charCodeAt(0);
+        if (code < 33 || code > 126 || char === "(" || char === ")" || char === "<" || char === ">" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}" || code === 32 || // SP
+        code === 9) {
+          return false;
         }
-        this._finish();
-        cb(null);
       }
-      _getError() {
-        return getStreamError(this) || new Error("tar entry destroyed");
+      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;
       }
-      _predestroy() {
-        this._pack.destroy(this._getError());
+      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();
       }
-      _destroy(cb) {
-        this._pack._done(this);
-        this._continuePack(this._finished ? null : this._getError());
-        cb();
+      if (reason) {
+        fireEvent("error", ws, ErrorEvent, {
+          error: new Error(reason)
+        });
       }
+    }
+    module2.exports = {
+      isEstablished,
+      isClosing,
+      isClosed,
+      fireEvent,
+      isValidSubprotocol,
+      isValidStatusCode,
+      failWebsocketConnection,
+      websocketMessageReceived
     };
-    var Pack = class extends Readable2 {
-      constructor(opts) {
-        super(opts);
-        this._drain = noop3;
-        this._finalized = false;
-        this._finalizing = false;
-        this._pending = [];
-        this._stream = null;
-      }
-      entry(header, buffer, callback) {
-        if (this._finalized || this.destroying) throw new Error("already finalized or destroyed");
-        if (typeof buffer === "function") {
-          callback = buffer;
-          buffer = null;
-        }
-        if (!callback) callback = noop3;
-        if (!header.size || header.type === "symlink") header.size = 0;
-        if (!header.type) header.type = modeToType(header.mode);
-        if (!header.mode) header.mode = header.type === "directory" ? DMODE : FMODE;
-        if (!header.uid) header.uid = 0;
-        if (!header.gid) header.gid = 0;
-        if (!header.mtime) header.mtime = /* @__PURE__ */ new Date();
-        if (typeof buffer === "string") buffer = b4a.from(buffer);
-        const sink = new Sink(this, header, callback);
-        if (b4a.isBuffer(buffer)) {
-          header.size = buffer.byteLength;
-          sink.write(buffer);
-          sink.end();
-          return sink;
-        }
-        if (sink._isVoid) {
-          return sink;
-        }
-        return sink;
-      }
-      finalize() {
-        if (this._stream || this._pending.length > 0) {
-          this._finalizing = true;
-          return;
-        }
-        if (this._finalized) return;
-        this._finalized = true;
-        this.push(END_OF_TAR);
-        this.push(null);
+  }
+});
+
+// node_modules/undici/lib/websocket/connection.js
+var require_connection3 = __commonJS({
+  "node_modules/undici/lib/websocket/connection.js"(exports2, module2) {
+    "use strict";
+    var diagnosticsChannel = require("diagnostics_channel");
+    var { uid, states } = require_constants24();
+    var {
+      kReadyState,
+      kSentClose,
+      kByteParser,
+      kReceivedClose
+    } = require_symbols15();
+    var { fireEvent, failWebsocketConnection } = require_util30();
+    var { CloseEvent } = require_events3();
+    var { makeRequest } = require_request6();
+    var { fetching } = require_fetch3();
+    var { Headers } = require_headers4();
+    var { getGlobalDispatcher } = require_global6();
+    var { kHeadersList } = require_symbols11();
+    var channels = {};
+    channels.open = diagnosticsChannel.channel("undici:websocket:open");
+    channels.close = diagnosticsChannel.channel("undici:websocket:close");
+    channels.socketError = diagnosticsChannel.channel("undici:websocket:socket_error");
+    var crypto2;
+    try {
+      crypto2 = require("crypto");
+    } catch {
+    }
+    function establishWebSocketConnection(url2, protocols, ws, onEstablish, options) {
+      const requestURL = url2;
+      requestURL.protocol = url2.protocol === "ws:" ? "http:" : "https:";
+      const request2 = makeRequest({
+        urlList: [requestURL],
+        serviceWorkers: "none",
+        referrer: "no-referrer",
+        mode: "websocket",
+        credentials: "include",
+        cache: "no-store",
+        redirect: "error"
+      });
+      if (options.headers) {
+        const headersList = new Headers(options.headers)[kHeadersList];
+        request2.headersList = headersList;
       }
-      _done(stream2) {
-        if (stream2 !== this._stream) return;
-        this._stream = null;
-        if (this._finalizing) this.finalize();
-        if (this._pending.length) this._pending.shift()._continueOpen();
+      const keyValue = crypto2.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);
       }
-      _encode(header) {
-        if (!header.pax) {
-          const buf = headers.encode(header);
-          if (buf) {
-            this.push(buf);
+      const permessageDeflate = "";
+      const controller = fetching({
+        request: request2,
+        useParallelQueue: true,
+        dispatcher: options.dispatcher ?? getGlobalDispatcher(),
+        processResponse(response) {
+          if (response.type === "error" || response.status !== 101) {
+            failWebsocketConnection(ws, "Received network error or non-101 status code.");
             return;
           }
+          if (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 = crypto2.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");
+          if (secExtension !== null && secExtension !== permessageDeflate) {
+            failWebsocketConnection(ws, "Received different permessage-deflate than the one set.");
+            return;
+          }
+          const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");
+          if (secProtocol !== null && secProtocol !== request2.headersList.get("Sec-WebSocket-Protocol")) {
+            failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");
+            return;
+          }
+          response.socket.on("data", onSocketData);
+          response.socket.on("close", onSocketClose);
+          response.socket.on("error", onSocketError);
+          if (channels.open.hasSubscribers) {
+            channels.open.publish({
+              address: response.socket.address(),
+              protocol: secProtocol,
+              extensions: secExtension
+            });
+          }
+          onEstablish(response);
         }
-        this._encodePax(header);
-      }
-      _encodePax(header) {
-        const paxHeader = headers.encodePax({
-          name: header.name,
-          linkname: header.linkname,
-          pax: header.pax
-        });
-        const newHeader = {
-          name: "PaxHeader",
-          mode: header.mode,
-          uid: header.uid,
-          gid: header.gid,
-          size: paxHeader.byteLength,
-          mtime: header.mtime,
-          type: "pax-header",
-          linkname: header.linkname && "PaxHeader",
-          uname: header.uname,
-          gname: header.gname,
-          devmajor: header.devmajor,
-          devminor: header.devminor
-        };
-        this.push(headers.encode(newHeader));
-        this.push(paxHeader);
-        overflow(this, paxHeader.byteLength);
-        newHeader.size = header.size;
-        newHeader.type = header.type;
-        this.push(headers.encode(newHeader));
-      }
-      _doDrain() {
-        const drain = this._drain;
-        this._drain = noop3;
-        drain();
-      }
-      _predestroy() {
-        const err = getStreamError(this);
-        if (this._stream) this._stream.destroy(err);
-        while (this._pending.length) {
-          const stream2 = this._pending.shift();
-          stream2.destroy(err);
-          stream2._continueOpen();
-        }
-        this._doDrain();
+      });
+      return controller;
+    }
+    function onSocketData(chunk) {
+      if (!this.ws[kByteParser].write(chunk)) {
+        this.pause();
       }
-      _read(cb) {
-        this._doDrain();
-        cb();
+    }
+    function onSocketClose() {
+      const { ws } = this;
+      const wasClean = ws[kSentClose] && ws[kReceivedClose];
+      let code = 1005;
+      let reason = "";
+      const result = ws[kByteParser].closingInfo;
+      if (result) {
+        code = result.code ?? 1005;
+        reason = result.reason;
+      } else if (!ws[kSentClose]) {
+        code = 1006;
       }
-    };
-    module2.exports = function pack(opts) {
-      return new Pack(opts);
-    };
-    function modeToType(mode) {
-      switch (mode & constants.S_IFMT) {
-        case constants.S_IFBLK:
-          return "block-device";
-        case constants.S_IFCHR:
-          return "character-device";
-        case constants.S_IFDIR:
-          return "directory";
-        case constants.S_IFIFO:
-          return "fifo";
-        case constants.S_IFLNK:
-          return "symlink";
+      ws[kReadyState] = states.CLOSED;
+      fireEvent("close", ws, CloseEvent, {
+        wasClean,
+        code,
+        reason
+      });
+      if (channels.close.hasSubscribers) {
+        channels.close.publish({
+          websocket: ws,
+          code,
+          reason
+        });
       }
-      return "file";
     }
-    function noop3() {
-    }
-    function overflow(self2, size) {
-      size &= 511;
-      if (size) self2.push(END_OF_TAR.subarray(0, 512 - size));
-    }
-    function mapWritable(buf) {
-      return b4a.isBuffer(buf) ? buf : b4a.from(buf);
+    function onSocketError(error3) {
+      const { ws } = this;
+      ws[kReadyState] = states.CLOSING;
+      if (channels.socketError.hasSubscribers) {
+        channels.socketError.publish(error3);
+      }
+      this.destroy();
     }
+    module2.exports = {
+      establishWebSocketConnection
+    };
   }
 });
 
-// node_modules/tar-stream/index.js
-var require_tar_stream = __commonJS({
-  "node_modules/tar-stream/index.js"(exports2) {
-    exports2.extract = require_extract();
-    exports2.pack = require_pack();
-  }
-});
-
-// node_modules/archiver/lib/plugins/tar.js
-var require_tar2 = __commonJS({
-  "node_modules/archiver/lib/plugins/tar.js"(exports2, module2) {
-    var zlib3 = require("zlib");
-    var engine = require_tar_stream();
-    var util = require_archiver_utils();
-    var Tar = function(options) {
-      if (!(this instanceof Tar)) {
-        return new Tar(options);
-      }
-      options = this.options = util.defaults(options, {
-        gzip: false
-      });
-      if (typeof options.gzipOptions !== "object") {
-        options.gzipOptions = {};
-      }
-      this.supports = {
-        directory: true,
-        symlink: true
-      };
-      this.engine = engine.pack(options);
-      this.compressor = false;
-      if (options.gzip) {
-        this.compressor = zlib3.createGzip(options.gzipOptions);
-        this.compressor.on("error", this._onCompressorError.bind(this));
+// node_modules/undici/lib/websocket/frame.js
+var require_frame3 = __commonJS({
+  "node_modules/undici/lib/websocket/frame.js"(exports2, module2) {
+    "use strict";
+    var { maxUnsigned16Bit } = require_constants24();
+    var crypto2;
+    try {
+      crypto2 = require("crypto");
+    } catch {
+    }
+    var WebsocketFrameSend = class {
+      /**
+       * @param {Buffer|undefined} data
+       */
+      constructor(data) {
+        this.frameData = data;
+        this.maskKey = crypto2.randomBytes(4);
       }
-    };
-    Tar.prototype._onCompressorError = function(err) {
-      this.engine.emit("error", err);
-    };
-    Tar.prototype.append = function(source, data, callback) {
-      var self2 = this;
-      data.mtime = data.date;
-      function append(err, sourceBuffer) {
-        if (err) {
-          callback(err);
-          return;
+      createFrame(opcode) {
+        const bodyLength = this.frameData?.byteLength ?? 0;
+        let payloadLength = bodyLength;
+        let offset = 6;
+        if (bodyLength > maxUnsigned16Bit) {
+          offset += 8;
+          payloadLength = 127;
+        } else if (bodyLength > 125) {
+          offset += 2;
+          payloadLength = 126;
         }
-        self2.engine.entry(data, sourceBuffer, function(err2) {
-          callback(err2, data);
-        });
-      }
-      if (data.sourceType === "buffer") {
-        append(null, source);
-      } else if (data.sourceType === "stream" && data.stats) {
-        data.size = data.stats.size;
-        var entry = self2.engine.entry(data, function(err) {
-          callback(err, data);
-        });
-        source.pipe(entry);
-      } else if (data.sourceType === "stream") {
-        util.collectStream(source, append);
-      }
-    };
-    Tar.prototype.finalize = function() {
-      this.engine.finalize();
-    };
-    Tar.prototype.on = function() {
-      return this.engine.on.apply(this.engine, arguments);
-    };
-    Tar.prototype.pipe = function(destination, options) {
-      if (this.compressor) {
-        return this.engine.pipe.apply(this.engine, [this.compressor]).pipe(destination, options);
-      } else {
-        return this.engine.pipe.apply(this.engine, arguments);
+        const buffer = Buffer.allocUnsafe(bodyLength + offset);
+        buffer[0] = buffer[1] = 0;
+        buffer[0] |= 128;
+        buffer[0] = (buffer[0] & 240) + opcode;
+        buffer[offset - 4] = this.maskKey[0];
+        buffer[offset - 3] = this.maskKey[1];
+        buffer[offset - 2] = this.maskKey[2];
+        buffer[offset - 1] = this.maskKey[3];
+        buffer[1] = payloadLength;
+        if (payloadLength === 126) {
+          buffer.writeUInt16BE(bodyLength, 2);
+        } else if (payloadLength === 127) {
+          buffer[2] = buffer[3] = 0;
+          buffer.writeUIntBE(bodyLength, 4, 6);
+        }
+        buffer[1] |= 128;
+        for (let i = 0; i < bodyLength; i++) {
+          buffer[offset + i] = this.frameData[i] ^ this.maskKey[i % 4];
+        }
+        return buffer;
       }
     };
-    Tar.prototype.unpipe = function() {
-      if (this.compressor) {
-        return this.compressor.unpipe.apply(this.compressor, arguments);
-      } else {
-        return this.engine.unpipe.apply(this.engine, arguments);
-      }
+    module2.exports = {
+      WebsocketFrameSend
     };
-    module2.exports = Tar;
   }
 });
 
-// node_modules/buffer-crc32/dist/index.cjs
-var require_dist5 = __commonJS({
-  "node_modules/buffer-crc32/dist/index.cjs"(exports2, module2) {
+// node_modules/undici/lib/websocket/receiver.js
+var require_receiver3 = __commonJS({
+  "node_modules/undici/lib/websocket/receiver.js"(exports2, module2) {
     "use strict";
-    function getDefaultExportFromCjs(x) {
-      return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
-    }
-    var CRC_TABLE = new Int32Array([
-      0,
-      1996959894,
-      3993919788,
-      2567524794,
-      124634137,
-      1886057615,
-      3915621685,
-      2657392035,
-      249268274,
-      2044508324,
-      3772115230,
-      2547177864,
-      162941995,
-      2125561021,
-      3887607047,
-      2428444049,
-      498536548,
-      1789927666,
-      4089016648,
-      2227061214,
-      450548861,
-      1843258603,
-      4107580753,
-      2211677639,
-      325883990,
-      1684777152,
-      4251122042,
-      2321926636,
-      335633487,
-      1661365465,
-      4195302755,
-      2366115317,
-      997073096,
-      1281953886,
-      3579855332,
-      2724688242,
-      1006888145,
-      1258607687,
-      3524101629,
-      2768942443,
-      901097722,
-      1119000684,
-      3686517206,
-      2898065728,
-      853044451,
-      1172266101,
-      3705015759,
-      2882616665,
-      651767980,
-      1373503546,
-      3369554304,
-      3218104598,
-      565507253,
-      1454621731,
-      3485111705,
-      3099436303,
-      671266974,
-      1594198024,
-      3322730930,
-      2970347812,
-      795835527,
-      1483230225,
-      3244367275,
-      3060149565,
-      1994146192,
-      31158534,
-      2563907772,
-      4023717930,
-      1907459465,
-      112637215,
-      2680153253,
-      3904427059,
-      2013776290,
-      251722036,
-      2517215374,
-      3775830040,
-      2137656763,
-      141376813,
-      2439277719,
-      3865271297,
-      1802195444,
-      476864866,
-      2238001368,
-      4066508878,
-      1812370925,
-      453092731,
-      2181625025,
-      4111451223,
-      1706088902,
-      314042704,
-      2344532202,
-      4240017532,
-      1658658271,
-      366619977,
-      2362670323,
-      4224994405,
-      1303535960,
-      984961486,
-      2747007092,
-      3569037538,
-      1256170817,
-      1037604311,
-      2765210733,
-      3554079995,
-      1131014506,
-      879679996,
-      2909243462,
-      3663771856,
-      1141124467,
-      855842277,
-      2852801631,
-      3708648649,
-      1342533948,
-      654459306,
-      3188396048,
-      3373015174,
-      1466479909,
-      544179635,
-      3110523913,
-      3462522015,
-      1591671054,
-      702138776,
-      2966460450,
-      3352799412,
-      1504918807,
-      783551873,
-      3082640443,
-      3233442989,
-      3988292384,
-      2596254646,
-      62317068,
-      1957810842,
-      3939845945,
-      2647816111,
-      81470997,
-      1943803523,
-      3814918930,
-      2489596804,
-      225274430,
-      2053790376,
-      3826175755,
-      2466906013,
-      167816743,
-      2097651377,
-      4027552580,
-      2265490386,
-      503444072,
-      1762050814,
-      4150417245,
-      2154129355,
-      426522225,
-      1852507879,
-      4275313526,
-      2312317920,
-      282753626,
-      1742555852,
-      4189708143,
-      2394877945,
-      397917763,
-      1622183637,
-      3604390888,
-      2714866558,
-      953729732,
-      1340076626,
-      3518719985,
-      2797360999,
-      1068828381,
-      1219638859,
-      3624741850,
-      2936675148,
-      906185462,
-      1090812512,
-      3747672003,
-      2825379669,
-      829329135,
-      1181335161,
-      3412177804,
-      3160834842,
-      628085408,
-      1382605366,
-      3423369109,
-      3138078467,
-      570562233,
-      1426400815,
-      3317316542,
-      2998733608,
-      733239954,
-      1555261956,
-      3268935591,
-      3050360625,
-      752459403,
-      1541320221,
-      2607071920,
-      3965973030,
-      1969922972,
-      40735498,
-      2617837225,
-      3943577151,
-      1913087877,
-      83908371,
-      2512341634,
-      3803740692,
-      2075208622,
-      213261112,
-      2463272603,
-      3855990285,
-      2094854071,
-      198958881,
-      2262029012,
-      4057260610,
-      1759359992,
-      534414190,
-      2176718541,
-      4139329115,
-      1873836001,
-      414664567,
-      2282248934,
-      4279200368,
-      1711684554,
-      285281116,
-      2405801727,
-      4167216745,
-      1634467795,
-      376229701,
-      2685067896,
-      3608007406,
-      1308918612,
-      956543938,
-      2808555105,
-      3495958263,
-      1231636301,
-      1047427035,
-      2932959818,
-      3654703836,
-      1088359270,
-      936918e3,
-      2847714899,
-      3736837829,
-      1202900863,
-      817233897,
-      3183342108,
-      3401237130,
-      1404277552,
-      615818150,
-      3134207493,
-      3453421203,
-      1423857449,
-      601450431,
-      3009837614,
-      3294710456,
-      1567103746,
-      711928724,
-      3020668471,
-      3272380065,
-      1510334235,
-      755167117
-    ]);
-    function ensureBuffer(input) {
-      if (Buffer.isBuffer(input)) {
-        return input;
+    var { Writable } = require("stream");
+    var diagnosticsChannel = require("diagnostics_channel");
+    var { parserStates, opcodes, states, emptyBuffer } = require_constants24();
+    var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols15();
+    var { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require_util30();
+    var { WebsocketFrameSend } = require_frame3();
+    var channels = {};
+    channels.ping = diagnosticsChannel.channel("undici:websocket:ping");
+    channels.pong = diagnosticsChannel.channel("undici:websocket:pong");
+    var ByteParser = class extends Writable {
+      #buffers = [];
+      #byteOffset = 0;
+      #state = parserStates.INFO;
+      #info = {};
+      #fragments = [];
+      constructor(ws) {
+        super();
+        this.ws = ws;
       }
-      if (typeof input === "number") {
-        return Buffer.alloc(input);
-      } else if (typeof input === "string") {
-        return Buffer.from(input);
-      } else {
-        throw new Error("input must be buffer, number, or string, received " + typeof input);
+      /**
+       * @param {Buffer} chunk
+       * @param {() => void} callback
+       */
+      _write(chunk, _2, callback) {
+        this.#buffers.push(chunk);
+        this.#byteOffset += chunk.length;
+        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 (true) {
+          if (this.#state === parserStates.INFO) {
+            if (this.#byteOffset < 2) {
+              return callback();
+            }
+            const buffer = this.consume(2);
+            this.#info.fin = (buffer[0] & 128) !== 0;
+            this.#info.opcode = buffer[0] & 15;
+            this.#info.originalOpcode ??= this.#info.opcode;
+            this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION;
+            if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) {
+              failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
+              return;
+            }
+            const payloadLength = buffer[1] & 127;
+            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 (this.#info.fragmented && payloadLength > 125) {
+              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
+              return;
+            } else if ((this.#info.opcode === opcodes.PING || this.#info.opcode === opcodes.PONG || this.#info.opcode === opcodes.CLOSE) && payloadLength > 125) {
+              failWebsocketConnection(this.ws, "Payload length for control frame exceeded 125 bytes.");
+              return;
+            } else if (this.#info.opcode === opcodes.CLOSE) {
+              if (payloadLength === 1) {
+                failWebsocketConnection(this.ws, "Received close frame with a 1-byte body.");
+                return;
+              }
+              const body = this.consume(payloadLength);
+              this.#info.closeInfo = this.parseCloseBody(false, body);
+              if (!this.ws[kSentClose]) {
+                const body2 = Buffer.allocUnsafe(2);
+                body2.writeUInt16BE(this.#info.closeInfo.code, 0);
+                const closeFrame = new WebsocketFrameSend(body2);
+                this.ws[kResponse].socket.write(
+                  closeFrame.createFrame(opcodes.CLOSE),
+                  (err) => {
+                    if (!err) {
+                      this.ws[kSentClose] = true;
+                    }
+                  }
+                );
+              }
+              this.ws[kReadyState] = states.CLOSING;
+              this.ws[kReceivedClose] = true;
+              this.end();
+              return;
+            } else if (this.#info.opcode === opcodes.PING) {
+              const body = this.consume(payloadLength);
+              if (!this.ws[kReceivedClose]) {
+                const frame = new WebsocketFrameSend(body);
+                this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
+                if (channels.ping.hasSubscribers) {
+                  channels.ping.publish({
+                    payload: body
+                  });
+                }
+              }
+              this.#state = parserStates.INFO;
+              if (this.#byteOffset > 0) {
+                continue;
+              } else {
+                callback();
+                return;
+              }
+            } else if (this.#info.opcode === opcodes.PONG) {
+              const body = this.consume(payloadLength);
+              if (channels.pong.hasSubscribers) {
+                channels.pong.publish({
+                  payload: body
+                });
+              }
+              if (this.#byteOffset > 0) {
+                continue;
+              } else {
+                callback();
+                return;
+              }
+            }
+          } 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();
+            } else if (this.#byteOffset >= this.#info.payloadLength) {
+              const body = this.consume(this.#info.payloadLength);
+              this.#fragments.push(body);
+              if (!this.#info.fragmented || this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) {
+                const fullMessage = Buffer.concat(this.#fragments);
+                websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage);
+                this.#info = {};
+                this.#fragments.length = 0;
+              }
+              this.#state = parserStates.INFO;
+            }
+          }
+          if (this.#byteOffset > 0) {
+            continue;
+          } else {
+            callback();
+            break;
+          }
+        }
+      }
+      /**
+       * Take n bytes from the buffered Buffers
+       * @param {number} n
+       * @returns {Buffer|null}
+       */
+      consume(n) {
+        if (n > this.#byteOffset) {
+          return null;
+        } 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;
       }
-    }
-    function bufferizeInt(num) {
-      const tmp = ensureBuffer(4);
-      tmp.writeInt32BE(num, 0);
-      return tmp;
-    }
-    function _crc32(buf, previous) {
-      buf = ensureBuffer(buf);
-      if (Buffer.isBuffer(previous)) {
-        previous = previous.readUInt32BE(0);
+      parseCloseBody(onlyCode, data) {
+        let code;
+        if (data.length >= 2) {
+          code = data.readUInt16BE(0);
+        }
+        if (onlyCode) {
+          if (!isValidStatusCode(code)) {
+            return null;
+          }
+          return { code };
+        }
+        let reason = data.subarray(2);
+        if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
+          reason = reason.subarray(3);
+        }
+        if (code !== void 0 && !isValidStatusCode(code)) {
+          return null;
+        }
+        try {
+          reason = new TextDecoder("utf-8", { fatal: true }).decode(reason);
+        } catch {
+          return null;
+        }
+        return { code, reason };
       }
-      let crc = ~~previous ^ -1;
-      for (var n = 0; n < buf.length; n++) {
-        crc = CRC_TABLE[(crc ^ buf[n]) & 255] ^ crc >>> 8;
+      get closingInfo() {
+        return this.#info.closeInfo;
       }
-      return crc ^ -1;
-    }
-    function crc32() {
-      return bufferizeInt(_crc32.apply(null, arguments));
-    }
-    crc32.signed = function() {
-      return _crc32.apply(null, arguments);
     };
-    crc32.unsigned = function() {
-      return _crc32.apply(null, arguments) >>> 0;
+    module2.exports = {
+      ByteParser
     };
-    var bufferCrc32 = crc32;
-    var index = /* @__PURE__ */ getDefaultExportFromCjs(bufferCrc32);
-    module2.exports = index;
   }
 });
 
-// node_modules/archiver/lib/plugins/json.js
-var require_json = __commonJS({
-  "node_modules/archiver/lib/plugins/json.js"(exports2, module2) {
-    var inherits = require("util").inherits;
-    var Transform = require_ours().Transform;
-    var crc32 = require_dist5();
-    var util = require_archiver_utils();
-    var Json = function(options) {
-      if (!(this instanceof Json)) {
-        return new Json(options);
-      }
-      options = this.options = util.defaults(options, {});
-      Transform.call(this, options);
-      this.supports = {
-        directory: true,
-        symlink: true
+// node_modules/undici/lib/websocket/websocket.js
+var require_websocket3 = __commonJS({
+  "node_modules/undici/lib/websocket/websocket.js"(exports2, module2) {
+    "use strict";
+    var { webidl } = require_webidl3();
+    var { DOMException: DOMException2 } = require_constants21();
+    var { URLSerializer } = require_dataURL();
+    var { getGlobalOrigin } = require_global5();
+    var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require_constants24();
+    var {
+      kWebSocketURL,
+      kReadyState,
+      kController,
+      kBinaryType,
+      kResponse,
+      kSentClose,
+      kByteParser
+    } = require_symbols15();
+    var { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require_util30();
+    var { establishWebSocketConnection } = require_connection3();
+    var { WebsocketFrameSend } = require_frame3();
+    var { ByteParser } = require_receiver3();
+    var { kEnumerableProperty, isBlobLike } = require_util24();
+    var { getGlobalDispatcher } = require_global6();
+    var { types } = require("util");
+    var experimentalWarned = false;
+    var WebSocket = class _WebSocket extends EventTarget {
+      #events = {
+        open: null,
+        error: null,
+        close: null,
+        message: null
       };
-      this.files = [];
-    };
-    inherits(Json, Transform);
-    Json.prototype._transform = function(chunk, encoding, callback) {
-      callback(null, chunk);
-    };
-    Json.prototype._writeStringified = function() {
-      var fileString = JSON.stringify(this.files);
-      this.write(fileString);
-    };
-    Json.prototype.append = function(source, data, callback) {
-      var self2 = this;
-      data.crc32 = 0;
-      function onend(err, sourceBuffer) {
-        if (err) {
-          callback(err);
+      #bufferedAmount = 0;
+      #protocol = "";
+      #extensions = "";
+      /**
+       * @param {string} url
+       * @param {string|string[]} protocols
+       */
+      constructor(url2, protocols = []) {
+        super();
+        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket constructor" });
+        if (!experimentalWarned) {
+          experimentalWarned = true;
+          process.emitWarning("WebSockets are experimental, expect them to change at any time.", {
+            code: "UNDICI-WS"
+          });
+        }
+        const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols);
+        url2 = webidl.converters.USVString(url2);
+        protocols = options.protocols;
+        const baseURL = getGlobalOrigin();
+        let urlRecord;
+        try {
+          urlRecord = new URL(url2, baseURL);
+        } catch (e) {
+          throw new DOMException2(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 DOMException2(
+            `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
+            "SyntaxError"
+          );
+        }
+        if (urlRecord.hash || urlRecord.href.endsWith("#")) {
+          throw new DOMException2("Got fragment", "SyntaxError");
+        }
+        if (typeof protocols === "string") {
+          protocols = [protocols];
+        }
+        if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
+          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+        }
+        if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
+          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+        }
+        this[kWebSocketURL] = new URL(urlRecord.href);
+        this[kController] = establishWebSocketConnection(
+          urlRecord,
+          protocols,
+          this,
+          (response) => this.#onConnectionEstablished(response),
+          options
+        );
+        this[kReadyState] = _WebSocket.CONNECTING;
+        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);
+        if (code !== void 0) {
+          code = webidl.converters["unsigned short"](code, { clamp: true });
+        }
+        if (reason !== void 0) {
+          reason = webidl.converters.USVString(reason);
+        }
+        if (code !== void 0) {
+          if (code !== 1e3 && (code < 3e3 || code > 4999)) {
+            throw new DOMException2("invalid code", "InvalidAccessError");
+          }
+        }
+        let reasonByteLength = 0;
+        if (reason !== void 0) {
+          reasonByteLength = Buffer.byteLength(reason);
+          if (reasonByteLength > 123) {
+            throw new DOMException2(
+              `Reason must be less than 123 bytes; received ${reasonByteLength}`,
+              "SyntaxError"
+            );
+          }
+        }
+        if (this[kReadyState] === _WebSocket.CLOSING || this[kReadyState] === _WebSocket.CLOSED) {
+        } else if (!isEstablished(this)) {
+          failWebsocketConnection(this, "Connection was closed before it was established.");
+          this[kReadyState] = _WebSocket.CLOSING;
+        } else if (!isClosing(this)) {
+          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 = this[kResponse].socket;
+          socket.write(frame.createFrame(opcodes.CLOSE), (err) => {
+            if (!err) {
+              this[kSentClose] = true;
+            }
+          });
+          this[kReadyState] = states.CLOSING;
+        } else {
+          this[kReadyState] = _WebSocket.CLOSING;
+        }
+      }
+      /**
+       * @see https://websockets.spec.whatwg.org/#dom-websocket-send
+       * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data
+       */
+      send(data) {
+        webidl.brandCheck(this, _WebSocket);
+        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" });
+        data = webidl.converters.WebSocketSendData(data);
+        if (this[kReadyState] === _WebSocket.CONNECTING) {
+          throw new DOMException2("Sent before connected.", "InvalidStateError");
+        }
+        if (!isEstablished(this) || isClosing(this)) {
           return;
         }
-        data.size = sourceBuffer.length || 0;
-        data.crc32 = crc32.unsigned(sourceBuffer);
-        self2.files.push(data);
-        callback(null, data);
+        const socket = this[kResponse].socket;
+        if (typeof data === "string") {
+          const value = Buffer.from(data);
+          const frame = new WebsocketFrameSend(value);
+          const buffer = frame.createFrame(opcodes.TEXT);
+          this.#bufferedAmount += value.byteLength;
+          socket.write(buffer, () => {
+            this.#bufferedAmount -= value.byteLength;
+          });
+        } else if (types.isArrayBuffer(data)) {
+          const value = Buffer.from(data);
+          const frame = new WebsocketFrameSend(value);
+          const buffer = frame.createFrame(opcodes.BINARY);
+          this.#bufferedAmount += value.byteLength;
+          socket.write(buffer, () => {
+            this.#bufferedAmount -= value.byteLength;
+          });
+        } else if (ArrayBuffer.isView(data)) {
+          const ab = Buffer.from(data, data.byteOffset, data.byteLength);
+          const frame = new WebsocketFrameSend(ab);
+          const buffer = frame.createFrame(opcodes.BINARY);
+          this.#bufferedAmount += ab.byteLength;
+          socket.write(buffer, () => {
+            this.#bufferedAmount -= ab.byteLength;
+          });
+        } else if (isBlobLike(data)) {
+          const frame = new WebsocketFrameSend();
+          data.arrayBuffer().then((ab) => {
+            const value = Buffer.from(ab);
+            frame.frameData = value;
+            const buffer = frame.createFrame(opcodes.BINARY);
+            this.#bufferedAmount += value.byteLength;
+            socket.write(buffer, () => {
+              this.#bufferedAmount -= value.byteLength;
+            });
+          });
+        }
       }
-      if (data.sourceType === "buffer") {
-        onend(null, source);
-      } else if (data.sourceType === "stream") {
-        util.collectStream(source, onend);
+      get readyState() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kReadyState];
       }
-    };
-    Json.prototype.finalize = function() {
-      this._writeStringified();
-      this.end();
-    };
-    module2.exports = Json;
-  }
-});
-
-// node_modules/archiver/index.js
-var require_archiver = __commonJS({
-  "node_modules/archiver/index.js"(exports2, module2) {
-    var Archiver = require_core2();
-    var formats = {};
-    var vending = function(format, options) {
-      return vending.create(format, options);
-    };
-    vending.create = function(format, options) {
-      if (formats[format]) {
-        var instance = new Archiver(format, options);
-        instance.setFormat(format);
-        instance.setModule(new formats[format](options));
-        return instance;
-      } else {
-        throw new Error("create(" + format + "): format not registered");
+      get bufferedAmount() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#bufferedAmount;
       }
-    };
-    vending.registerFormat = function(format, module3) {
-      if (formats[format]) {
-        throw new Error("register(" + format + "): format already registered");
+      get url() {
+        webidl.brandCheck(this, _WebSocket);
+        return URLSerializer(this[kWebSocketURL]);
       }
-      if (typeof module3 !== "function") {
-        throw new Error("register(" + format + "): format module invalid");
+      get extensions() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#extensions;
       }
-      if (typeof module3.prototype.append !== "function" || typeof module3.prototype.finalize !== "function") {
-        throw new Error("register(" + format + "): format module missing methods");
+      get protocol() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#protocol;
       }
-      formats[format] = module3;
-    };
-    vending.isRegisteredFormat = function(format) {
-      if (formats[format]) {
-        return true;
+      get onopen() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.open;
       }
-      return false;
-    };
-    vending.registerFormat("zip", require_zip());
-    vending.registerFormat("tar", require_tar2());
-    vending.registerFormat("json", require_json());
-    module2.exports = vending;
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/upload/zip.js
-var require_zip2 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/zip.js"(exports2) {
-    "use strict";
-    var __createBinding2 = 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];
-        } };
+      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;
+        }
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      get onerror() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.error;
       }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve8) {
-          resolve8(value);
-        });
+      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;
+        }
       }
-      return new (P || (P = Promise))(function(resolve8, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
+      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);
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
+        if (typeof fn === "function") {
+          this.#events.close = fn;
+          this.addEventListener("close", fn);
+        } else {
+          this.#events.close = null;
         }
-        function step(result) {
-          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+      }
+      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;
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createZipUploadStream = exports2.ZipUploadStream = exports2.DEFAULT_COMPRESSION_LEVEL = void 0;
-    var stream2 = __importStar2(require("stream"));
-    var promises_1 = require("fs/promises");
-    var archiver2 = __importStar2(require_archiver());
-    var core17 = __importStar2(require_core());
-    var config_1 = require_config2();
-    exports2.DEFAULT_COMPRESSION_LEVEL = 6;
-    var ZipUploadStream = class extends stream2.Transform {
-      constructor(bufferSize) {
-        super({
-          highWaterMark: bufferSize
-        });
       }
-      // eslint-disable-next-line @typescript-eslint/no-explicit-any
-      _transform(chunk, enc, cb) {
-        cb(null, chunk);
+      get binaryType() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kBinaryType];
       }
-    };
-    exports2.ZipUploadStream = ZipUploadStream;
-    function createZipUploadStream(uploadSpecification_1) {
-      return __awaiter2(this, arguments, void 0, function* (uploadSpecification, compressionLevel = exports2.DEFAULT_COMPRESSION_LEVEL) {
-        core17.debug(`Creating Artifact archive with compressionLevel: ${compressionLevel}`);
-        const zip = archiver2.create("zip", {
-          highWaterMark: (0, config_1.getUploadChunkSize)(),
-          zlib: { level: compressionLevel }
+      set binaryType(type2) {
+        webidl.brandCheck(this, _WebSocket);
+        if (type2 !== "blob" && type2 !== "arraybuffer") {
+          this[kBinaryType] = "blob";
+        } else {
+          this[kBinaryType] = type2;
+        }
+      }
+      /**
+       * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
+       */
+      #onConnectionEstablished(response) {
+        this[kResponse] = response;
+        const parser = new ByteParser(this);
+        parser.on("drain", function onParserDrain() {
+          this.ws[kResponse].socket.resume();
         });
-        zip.on("error", zipErrorCallback);
-        zip.on("warning", zipWarningCallback);
-        zip.on("finish", zipFinishCallback);
-        zip.on("end", zipEndCallback);
-        for (const file of uploadSpecification) {
-          if (file.sourcePath !== null) {
-            let sourcePath = file.sourcePath;
-            if (file.stats.isSymbolicLink()) {
-              sourcePath = yield (0, promises_1.realpath)(file.sourcePath);
-            }
-            zip.file(sourcePath, {
-              name: file.destinationPath
-            });
-          } else {
-            zip.append("", { name: file.destinationPath });
-          }
+        response.socket.ws = this;
+        this[kByteParser] = parser;
+        this[kReadyState] = states.OPEN;
+        const extensions = response.headersList.get("sec-websocket-extensions");
+        if (extensions !== null) {
+          this.#extensions = extensions;
         }
-        const bufferSize = (0, config_1.getUploadChunkSize)();
-        const zipUploadStream = new ZipUploadStream(bufferSize);
-        core17.debug(`Zip write high watermark value ${zipUploadStream.writableHighWaterMark}`);
-        core17.debug(`Zip read high watermark value ${zipUploadStream.readableHighWaterMark}`);
-        zip.pipe(zipUploadStream);
-        zip.finalize();
-        return zipUploadStream;
-      });
-    }
-    exports2.createZipUploadStream = createZipUploadStream;
-    var zipErrorCallback = (error3) => {
-      core17.error("An error has occurred while creating the zip file for upload");
-      core17.info(error3);
-      throw new Error("An error has occurred during zip creation for the artifact");
-    };
-    var zipWarningCallback = (error3) => {
-      if (error3.code === "ENOENT") {
-        core17.warning("ENOENT warning during artifact zip creation. No such file or directory");
-        core17.info(error3);
-      } else {
-        core17.warning(`A non-blocking warning has occurred during artifact zip creation: ${error3.code}`);
-        core17.info(error3);
+        const protocol = response.headersList.get("sec-websocket-protocol");
+        if (protocol !== null) {
+          this.#protocol = protocol;
+        }
+        fireEvent("open", this);
       }
     };
-    var zipFinishCallback = () => {
-      core17.debug("Zip stream for upload has finished.");
-    };
-    var zipEndCallback = () => {
-      core17.debug("Zip stream for upload has ended.");
-    };
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/upload/upload-artifact.js
-var require_upload_artifact = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/upload-artifact.js"(exports2) {
-    "use strict";
-    var __createBinding2 = 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];
-        } };
+    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.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
     });
-    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
-      }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve8) {
-          resolve8(value);
-        });
+    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) {
+      if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
+        return webidl.converters["sequence"](V);
       }
-      return new (P || (P = Promise))(function(resolve8, 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 ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
+      return webidl.converters.DOMString(V);
     };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.uploadArtifact = void 0;
-    var core17 = __importStar2(require_core());
-    var retention_1 = require_retention();
-    var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation();
-    var artifact_twirp_client_1 = require_artifact_twirp_client2();
-    var upload_zip_specification_1 = require_upload_zip_specification();
-    var util_1 = require_util18();
-    var blob_upload_1 = require_blob_upload();
-    var zip_1 = require_zip2();
-    var generated_1 = require_generated();
-    var errors_1 = require_errors4();
-    function uploadArtifact(name, files, rootDirectory, options) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        (0, path_and_artifact_name_validation_1.validateArtifactName)(name);
-        (0, upload_zip_specification_1.validateRootDirectory)(rootDirectory);
-        const zipSpecification = (0, upload_zip_specification_1.getUploadZipSpecification)(files, rootDirectory);
-        if (zipSpecification.length === 0) {
-          throw new errors_1.FilesNotFoundError(zipSpecification.flatMap((s) => s.sourcePath ? [s.sourcePath] : []));
-        }
-        const backendIds = (0, util_1.getBackendIdsFromToken)();
-        const artifactClient = (0, artifact_twirp_client_1.internalArtifactTwirpClient)();
-        const createArtifactReq = {
-          workflowRunBackendId: backendIds.workflowRunBackendId,
-          workflowJobRunBackendId: backendIds.workflowJobRunBackendId,
-          name,
-          version: 4
-        };
-        const expiresAt = (0, retention_1.getExpiration)(options === null || options === void 0 ? void 0 : options.retentionDays);
-        if (expiresAt) {
-          createArtifactReq.expiresAt = expiresAt;
-        }
-        const createArtifactResp = yield artifactClient.CreateArtifact(createArtifactReq);
-        if (!createArtifactResp.ok) {
-          throw new errors_1.InvalidResponseError("CreateArtifact: response from backend was not ok");
-        }
-        const zipUploadStream = yield (0, zip_1.createZipUploadStream)(zipSpecification, options === null || options === void 0 ? void 0 : options.compressionLevel);
-        const uploadResult = yield (0, blob_upload_1.uploadZipToBlobStorage)(createArtifactResp.signedUploadUrl, zipUploadStream);
-        const finalizeArtifactReq = {
-          workflowRunBackendId: backendIds.workflowRunBackendId,
-          workflowJobRunBackendId: backendIds.workflowJobRunBackendId,
-          name,
-          size: uploadResult.uploadSize ? uploadResult.uploadSize.toString() : "0"
-        };
-        if (uploadResult.sha256Hash) {
-          finalizeArtifactReq.hash = generated_1.StringValue.create({
-            value: `sha256:${uploadResult.sha256Hash}`
-          });
-        }
-        core17.info(`Finalizing artifact upload`);
-        const finalizeArtifactResp = yield artifactClient.FinalizeArtifact(finalizeArtifactReq);
-        if (!finalizeArtifactResp.ok) {
-          throw new errors_1.InvalidResponseError("FinalizeArtifact: response from backend was not ok");
+    webidl.converters.WebSocketInit = webidl.dictionaryConverter([
+      {
+        key: "protocols",
+        converter: webidl.converters["DOMString or sequence"],
+        get defaultValue() {
+          return [];
         }
-        const artifactId = BigInt(finalizeArtifactResp.artifactId);
-        core17.info(`Artifact ${name}.zip successfully finalized. Artifact ID ${artifactId}`);
-        return {
-          size: uploadResult.uploadSize,
-          digest: uploadResult.sha256Hash,
-          id: Number(artifactId)
-        };
-      });
-    }
-    exports2.uploadArtifact = uploadArtifact;
-  }
-});
-
-// node_modules/@actions/artifact/node_modules/@actions/github/lib/context.js
-var require_context2 = __commonJS({
-  "node_modules/@actions/artifact/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() {
-        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 {
-            const path16 = process.env.GITHUB_EVENT_PATH;
-            process.stdout.write(`GITHUB_EVENT_PATH ${path16} does not exist${os_1.EOL}`);
-          }
+      },
+      {
+        key: "dispatcher",
+        converter: (V) => V,
+        get defaultValue() {
+          return getGlobalDispatcher();
         }
-        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`;
+      },
+      {
+        key: "headers",
+        converter: webidl.nullableConverter(webidl.converters.HeadersInit)
       }
-      get issue() {
-        const payload = this.payload;
-        return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || payload).number });
+    ]);
+    webidl.converters["DOMString or sequence or WebSocketInit"] = function(V) {
+      if (webidl.util.Type(V) === "Object" && !(Symbol.iterator in V)) {
+        return webidl.converters.WebSocketInit(V);
       }
-      get repo() {
-        if (process.env.GITHUB_REPOSITORY) {
-          const [owner, repo] = process.env.GITHUB_REPOSITORY.split("/");
-          return { owner, repo };
+      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 (this.payload.repository) {
-          return {
-            owner: this.payload.repository.owner.login,
-            repo: this.payload.repository.name
-          };
+        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
+          return webidl.converters.BufferSource(V);
         }
-        throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'");
       }
+      return webidl.converters.USVString(V);
+    };
+    module2.exports = {
+      WebSocket
     };
-    exports2.Context = Context;
   }
 });
 
-// node_modules/@actions/artifact/node_modules/@actions/github/node_modules/@actions/http-client/lib/proxy.js
-var require_proxy2 = __commonJS({
-  "node_modules/@actions/artifact/node_modules/@actions/github/node_modules/@actions/http-client/lib/proxy.js"(exports2) {
+// node_modules/undici/index.js
+var require_undici3 = __commonJS({
+  "node_modules/undici/index.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.checkBypass = exports2.getProxyUrl = void 0;
-    function getProxyUrl(reqUrl) {
-      const usingSsl = reqUrl.protocol === "https:";
-      if (checkBypass(reqUrl)) {
-        return void 0;
-      }
-      const proxyVar = (() => {
-        if (usingSsl) {
-          return process.env["https_proxy"] || process.env["HTTPS_PROXY"];
+    var Client = require_client3();
+    var Dispatcher = require_dispatcher3();
+    var errors = require_errors6();
+    var Pool = require_pool3();
+    var BalancedPool = require_balanced_pool3();
+    var Agent = require_agent3();
+    var util = require_util24();
+    var { InvalidArgumentError } = errors;
+    var api = require_api3();
+    var buildConnector = require_connect3();
+    var MockClient = require_mock_client3();
+    var MockAgent = require_mock_agent3();
+    var MockPool = require_mock_pool3();
+    var mockErrors = require_mock_errors3();
+    var ProxyAgent = require_proxy_agent3();
+    var RetryHandler = require_RetryHandler();
+    var { getGlobalDispatcher, setGlobalDispatcher } = require_global6();
+    var DecoratorHandler = require_DecoratorHandler();
+    var RedirectHandler = require_RedirectHandler();
+    var createRedirectInterceptor = require_redirectInterceptor();
+    var hasCrypto;
+    try {
+      require("crypto");
+      hasCrypto = true;
+    } catch {
+      hasCrypto = false;
+    }
+    Object.assign(Dispatcher.prototype, api);
+    module2.exports.Dispatcher = Dispatcher;
+    module2.exports.Client = Client;
+    module2.exports.Pool = Pool;
+    module2.exports.BalancedPool = BalancedPool;
+    module2.exports.Agent = Agent;
+    module2.exports.ProxyAgent = ProxyAgent;
+    module2.exports.RetryHandler = RetryHandler;
+    module2.exports.DecoratorHandler = DecoratorHandler;
+    module2.exports.RedirectHandler = RedirectHandler;
+    module2.exports.createRedirectInterceptor = createRedirectInterceptor;
+    module2.exports.buildConnector = buildConnector;
+    module2.exports.errors = errors;
+    function makeDispatcher(fn) {
+      return (url2, opts, handler2) => {
+        if (typeof opts === "function") {
+          handler2 = opts;
+          opts = null;
+        }
+        if (!url2 || typeof url2 !== "string" && typeof url2 !== "object" && !(url2 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 path16 = opts.path;
+          if (!opts.path.startsWith("/")) {
+            path16 = `/${path16}`;
+          }
+          url2 = new URL(util.parseOrigin(url2).origin + path16);
         } else {
-          return process.env["http_proxy"] || process.env["HTTP_PROXY"];
+          if (!opts) {
+            opts = typeof url2 === "object" ? url2 : {};
+          }
+          url2 = util.parseURL(url2);
         }
-      })();
-      if (proxyVar) {
-        try {
-          return new DecodedURL(proxyVar);
-        } catch (_a) {
-          if (!proxyVar.startsWith("http://") && !proxyVar.startsWith("https://"))
-            return new DecodedURL(`http://${proxyVar}`);
+        const { agent, dispatcher = getGlobalDispatcher() } = opts;
+        if (agent) {
+          throw new InvalidArgumentError("unsupported opts.agent. Did you mean opts.client?");
         }
-      } else {
-        return void 0;
-      }
+        return fn.call(dispatcher, {
+          ...opts,
+          origin: url2.origin,
+          path: url2.search ? `${url2.pathname}${url2.search}` : url2.pathname,
+          method: opts.method || (opts.body ? "PUT" : "GET")
+        }, handler2);
+      };
     }
-    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;
-      }
-      let reqPort;
-      if (reqUrl.port) {
-        reqPort = Number(reqUrl.port);
-      } else if (reqUrl.protocol === "http:") {
-        reqPort = 80;
-      } else if (reqUrl.protocol === "https:") {
-        reqPort = 443;
-      }
-      const upperReqHosts = [reqUrl.hostname.toUpperCase()];
-      if (typeof reqPort === "number") {
-        upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`);
-      }
-      for (const upperNoProxyItem of noProxy.split(",").map((x) => x.trim().toUpperCase()).filter((x) => x)) {
-        if (upperNoProxyItem === "*" || upperReqHosts.some((x) => x === upperNoProxyItem || x.endsWith(`.${upperNoProxyItem}`) || upperNoProxyItem.startsWith(".") && x.endsWith(`${upperNoProxyItem}`))) {
-          return true;
+    module2.exports.setGlobalDispatcher = setGlobalDispatcher;
+    module2.exports.getGlobalDispatcher = getGlobalDispatcher;
+    if (util.nodeMajor > 16 || util.nodeMajor === 16 && util.nodeMinor >= 8) {
+      let fetchImpl = null;
+      module2.exports.fetch = async function fetch(resource) {
+        if (!fetchImpl) {
+          fetchImpl = require_fetch3().fetch;
         }
-      }
-      return false;
+        try {
+          return await fetchImpl(...arguments);
+        } catch (err) {
+          if (typeof err === "object") {
+            Error.captureStackTrace(err, this);
+          }
+          throw err;
+        }
+      };
+      module2.exports.Headers = require_headers4().Headers;
+      module2.exports.Response = require_response4().Response;
+      module2.exports.Request = require_request6().Request;
+      module2.exports.FormData = require_formdata3().FormData;
+      module2.exports.File = require_file5().File;
+      module2.exports.FileReader = require_filereader3().FileReader;
+      const { setGlobalOrigin, getGlobalOrigin } = require_global5();
+      module2.exports.setGlobalOrigin = setGlobalOrigin;
+      module2.exports.getGlobalOrigin = getGlobalOrigin;
+      const { CacheStorage } = require_cachestorage3();
+      const { kConstruct } = require_symbols14();
+      module2.exports.caches = new CacheStorage(kConstruct);
     }
-    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]");
+    if (util.nodeMajor >= 16) {
+      const { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies3();
+      module2.exports.deleteCookie = deleteCookie;
+      module2.exports.getCookies = getCookies;
+      module2.exports.getSetCookies = getSetCookies;
+      module2.exports.setCookie = setCookie;
+      const { parseMIMEType, serializeAMimeType } = require_dataURL();
+      module2.exports.parseMIMEType = parseMIMEType;
+      module2.exports.serializeAMimeType = serializeAMimeType;
     }
-    var DecodedURL = class extends URL {
-      constructor(url2, base) {
-        super(url2, base);
-        this._decodedUsername = decodeURIComponent(super.username);
-        this._decodedPassword = decodeURIComponent(super.password);
-      }
-      get username() {
-        return this._decodedUsername;
-      }
-      get password() {
-        return this._decodedPassword;
-      }
-    };
+    if (util.nodeMajor >= 18 && hasCrypto) {
+      const { WebSocket } = require_websocket3();
+      module2.exports.WebSocket = WebSocket;
+    }
+    module2.exports.request = makeDispatcher(api.request);
+    module2.exports.stream = makeDispatcher(api.stream);
+    module2.exports.pipeline = makeDispatcher(api.pipeline);
+    module2.exports.connect = makeDispatcher(api.connect);
+    module2.exports.upgrade = makeDispatcher(api.upgrade);
+    module2.exports.MockClient = MockClient;
+    module2.exports.MockPool = MockPool;
+    module2.exports.MockAgent = MockAgent;
+    module2.exports.mockErrors = mockErrors;
   }
 });
 
@@ -126991,7 +145241,7 @@ var require_lib4 = __commonJS({
     var https2 = __importStar2(require("https"));
     var pm = __importStar2(require_proxy2());
     var tunnel = __importStar2(require_tunnel2());
-    var undici_1 = require_undici2();
+    var undici_1 = require_undici3();
     var HttpCodes;
     (function(HttpCodes2) {
       HttpCodes2[HttpCodes2["OK"] = 200] = "OK";
@@ -127547,7 +145797,7 @@ var require_lib4 = __commonJS({
 });
 
 // node_modules/@actions/artifact/node_modules/@actions/github/lib/internal/utils.js
-var require_utils9 = __commonJS({
+var require_utils10 = __commonJS({
   "node_modules/@actions/artifact/node_modules/@actions/github/lib/internal/utils.js"(exports2) {
     "use strict";
     var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
@@ -127607,7 +145857,7 @@ var require_utils9 = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.getApiBaseUrl = exports2.getProxyFetch = exports2.getProxyAgentDispatcher = exports2.getProxyAgent = exports2.getAuthString = void 0;
     var httpClient = __importStar2(require_lib4());
-    var undici_1 = require_undici2();
+    var undici_1 = require_undici3();
     function getAuthString(token, options) {
       if (!token && !options.auth) {
         throw new Error("Parameter token or opts.auth is required");
@@ -131453,7 +149703,7 @@ var require_dist_node10 = __commonJS({
 });
 
 // node_modules/@actions/artifact/node_modules/@actions/github/lib/utils.js
-var require_utils10 = __commonJS({
+var require_utils11 = __commonJS({
   "node_modules/@actions/artifact/node_modules/@actions/github/lib/utils.js"(exports2) {
     "use strict";
     var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
@@ -131486,7 +149736,7 @@ var require_utils10 = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.getOctokitOptions = exports2.GitHub = exports2.defaults = exports2.context = void 0;
     var Context = __importStar2(require_context2());
-    var Utils = __importStar2(require_utils9());
+    var Utils = __importStar2(require_utils10());
     var core_1 = require_dist_node8();
     var plugin_rest_endpoint_methods_1 = require_dist_node9();
     var plugin_paginate_rest_1 = require_dist_node10();
@@ -131546,7 +149796,7 @@ var require_github2 = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.getOctokit = exports2.context = void 0;
     var Context = __importStar2(require_context2());
-    var utils_1 = require_utils10();
+    var utils_1 = require_utils11();
     exports2.context = new Context.Context();
     function getOctokit(token, options, ...additionalPlugins) {
       const GitHubWithPlugins = utils_1.GitHub.plugin(...additionalPlugins);
@@ -133505,7 +151755,7 @@ var require_download_artifact = __commonJS({
     var config_1 = require_config2();
     var artifact_twirp_client_1 = require_artifact_twirp_client2();
     var generated_1 = require_generated();
-    var util_1 = require_util18();
+    var util_1 = require_util19();
     var errors_1 = require_errors4();
     var scrubQueryParameters = (url2) => {
       const parsed = new URL(url2);
@@ -133887,10 +152137,10 @@ var require_get_artifact = __commonJS({
     var github_1 = require_github2();
     var plugin_retry_1 = require_dist_node12();
     var core17 = __importStar2(require_core());
-    var utils_1 = require_utils10();
+    var utils_1 = require_utils11();
     var retry_options_1 = require_retry_options();
     var plugin_request_log_1 = require_dist_node11();
-    var util_1 = require_util18();
+    var util_1 = require_util19();
     var user_agent_1 = require_user_agent2();
     var artifact_twirp_client_1 = require_artifact_twirp_client2();
     var generated_1 = require_generated();
@@ -134011,11 +152261,11 @@ var require_delete_artifact = __commonJS({
     var github_1 = require_github2();
     var user_agent_1 = require_user_agent2();
     var retry_options_1 = require_retry_options();
-    var utils_1 = require_utils10();
+    var utils_1 = require_utils11();
     var plugin_request_log_1 = require_dist_node11();
     var plugin_retry_1 = require_dist_node12();
     var artifact_twirp_client_1 = require_artifact_twirp_client2();
-    var util_1 = require_util18();
+    var util_1 = require_util19();
     var generated_1 = require_generated();
     var get_artifact_1 = require_get_artifact();
     var errors_1 = require_errors4();
@@ -134117,11 +152367,11 @@ var require_list_artifacts = __commonJS({
     var github_1 = require_github2();
     var user_agent_1 = require_user_agent2();
     var retry_options_1 = require_retry_options();
-    var utils_1 = require_utils10();
+    var utils_1 = require_utils11();
     var plugin_request_log_1 = require_dist_node11();
     var plugin_retry_1 = require_dist_node12();
     var artifact_twirp_client_1 = require_artifact_twirp_client2();
-    var util_1 = require_util18();
+    var util_1 = require_util19();
     var config_1 = require_config2();
     var generated_1 = require_generated();
     var maximumArtifactCount = (0, config_1.getMaxArtifactListCount)();
@@ -134238,7 +152488,7 @@ var require_list_artifacts = __commonJS({
 });
 
 // node_modules/@actions/artifact/lib/internal/client.js
-var require_client3 = __commonJS({
+var require_client4 = __commonJS({
   "node_modules/@actions/artifact/lib/internal/client.js"(exports2) {
     "use strict";
     var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
@@ -134425,17 +152675,17 @@ var require_artifact2 = __commonJS({
       for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p);
     };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    var client_1 = require_client3();
+    var client_1 = require_client4();
     __exportStar2(require_interfaces2(), exports2);
     __exportStar2(require_errors4(), exports2);
-    __exportStar2(require_client3(), exports2);
+    __exportStar2(require_client4(), exports2);
     var client = new client_1.DefaultArtifactClient();
     exports2.default = client;
   }
 });
 
 // node_modules/@actions/artifact-legacy/node_modules/@actions/core/lib/utils.js
-var require_utils11 = __commonJS({
+var require_utils12 = __commonJS({
   "node_modules/@actions/artifact-legacy/node_modules/@actions/core/lib/utils.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -134500,7 +152750,7 @@ var require_command2 = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.issue = exports2.issueCommand = void 0;
     var os4 = __importStar2(require("os"));
-    var utils_1 = require_utils11();
+    var utils_1 = require_utils12();
     function issueCommand(command, properties, message) {
       const cmd = new Command(command, properties, message);
       process.stdout.write(cmd.toString() + os4.EOL);
@@ -134588,7 +152838,7 @@ var require_file_command2 = __commonJS({
     var crypto2 = __importStar2(require("crypto"));
     var fs18 = __importStar2(require("fs"));
     var os4 = __importStar2(require("os"));
-    var utils_1 = require_utils11();
+    var utils_1 = require_utils12();
     function issueFileCommand(command, message) {
       const filePath = process.env[`GITHUB_${command}`];
       if (!filePath) {
@@ -134763,7 +153013,7 @@ var require_lib5 = __commonJS({
     var https2 = __importStar2(require("https"));
     var pm = __importStar2(require_proxy3());
     var tunnel = __importStar2(require_tunnel2());
-    var undici_1 = require_undici2();
+    var undici_1 = require_undici3();
     var HttpCodes;
     (function(HttpCodes2) {
       HttpCodes2[HttpCodes2["OK"] = 200] = "OK";
@@ -137056,7 +155306,7 @@ var require_core3 = __commonJS({
     exports2.platform = exports2.toPlatformPath = exports2.toWin32Path = exports2.toPosixPath = exports2.markdownSummary = exports2.summary = exports2.getIDToken = exports2.getState = exports2.saveState = exports2.group = exports2.endGroup = exports2.startGroup = exports2.info = exports2.notice = exports2.warning = exports2.error = exports2.debug = exports2.isDebug = exports2.setFailed = exports2.setCommandEcho = exports2.setOutput = exports2.getBooleanInput = exports2.getMultilineInput = exports2.getInput = exports2.addPath = exports2.setSecret = exports2.exportVariable = exports2.ExitCode = void 0;
     var command_1 = require_command2();
     var file_command_1 = require_file_command2();
-    var utils_1 = require_utils11();
+    var utils_1 = require_utils12();
     var os4 = __importStar2(require("os"));
     var path16 = __importStar2(require("path"));
     var oidc_utils_1 = require_oidc_utils2();
@@ -138129,7 +156379,7 @@ var require_crc64 = __commonJS({
 });
 
 // node_modules/@actions/artifact-legacy/lib/internal/utils.js
-var require_utils12 = __commonJS({
+var require_utils13 = __commonJS({
   "node_modules/@actions/artifact-legacy/lib/internal/utils.js"(exports2) {
     "use strict";
     var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
@@ -138439,7 +156689,7 @@ var require_http_manager = __commonJS({
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.HttpManager = void 0;
-    var utils_1 = require_utils12();
+    var utils_1 = require_utils13();
     var HttpManager = class {
       constructor(clientCount, userAgent2) {
         if (clientCount < 1) {
@@ -138694,7 +156944,7 @@ var require_requestUtils2 = __commonJS({
     };
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.retryHttpClientRequest = exports2.retry = void 0;
-    var utils_1 = require_utils12();
+    var utils_1 = require_utils13();
     var core17 = __importStar2(require_core3());
     var config_variables_1 = require_config_variables();
     function retry2(name, operation, customErrorMessages, maxAttempts) {
@@ -138815,7 +157065,7 @@ var require_upload_http_client = __commonJS({
     var core17 = __importStar2(require_core3());
     var tmp = __importStar2(require_tmp_promise());
     var stream2 = __importStar2(require("stream"));
-    var utils_1 = require_utils12();
+    var utils_1 = require_utils13();
     var config_variables_1 = require_config_variables();
     var util_1 = require("util");
     var url_1 = require("url");
@@ -139206,7 +157456,7 @@ var require_download_http_client = __commonJS({
     var fs18 = __importStar2(require("fs"));
     var core17 = __importStar2(require_core3());
     var zlib3 = __importStar2(require("zlib"));
-    var utils_1 = require_utils12();
+    var utils_1 = require_utils13();
     var url_1 = require("url");
     var status_reporter_1 = require_status_reporter();
     var perf_hooks_1 = require("perf_hooks");
@@ -139549,7 +157799,7 @@ var require_artifact_client = __commonJS({
     var core17 = __importStar2(require_core3());
     var upload_specification_1 = require_upload_specification();
     var upload_http_client_1 = require_upload_http_client();
-    var utils_1 = require_utils12();
+    var utils_1 = require_utils13();
     var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation2();
     var download_http_client_1 = require_download_http_client();
     var download_specification_1 = require_download_specification();
@@ -151739,10 +169989,12 @@ async function runWrapper() {
 void runWrapper();
 /*! Bundled license information:
 
+undici/lib/web/fetch/body.js:
 undici/lib/web/fetch/body.js:
 undici/lib/fetch/body.js:
   (*! formdata-polyfill. MIT License. Jimmy Wärting  *)
 
+undici/lib/web/websocket/frame.js:
 undici/lib/web/websocket/frame.js:
 undici/lib/websocket/frame.js:
   (*! ws. MIT License. Einar Otto Stangvik  *)
diff --git a/lib/init-action.js b/lib/init-action.js
index a90cc55655..54b8bc9dfe 100644
--- a/lib/init-action.js
+++ b/lib/init-action.js
@@ -21549,9 +21549,9 @@ var require_context = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/core/symbols.js
 var require_symbols6 = __commonJS({
-  "node_modules/undici/lib/core/symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/symbols.js"(exports2, module2) {
     module2.exports = {
       kClose: /* @__PURE__ */ Symbol("close"),
       kDestroy: /* @__PURE__ */ Symbol("destroy"),
@@ -21562,7 +21562,6 @@ var require_symbols6 = __commonJS({
       kQueue: /* @__PURE__ */ Symbol("queue"),
       kConnect: /* @__PURE__ */ Symbol("connect"),
       kConnecting: /* @__PURE__ */ Symbol("connecting"),
-      kHeadersList: /* @__PURE__ */ Symbol("headers list"),
       kKeepAliveDefaultTimeout: /* @__PURE__ */ Symbol("default keep alive timeout"),
       kKeepAliveMaxTimeout: /* @__PURE__ */ Symbol("max keep alive timeout"),
       kKeepAliveTimeoutThreshold: /* @__PURE__ */ Symbol("keep alive timeout threshold"),
@@ -21575,6 +21574,7 @@ var require_symbols6 = __commonJS({
       kHost: /* @__PURE__ */ Symbol("host"),
       kNoRef: /* @__PURE__ */ Symbol("no ref"),
       kBodyUsed: /* @__PURE__ */ Symbol("used"),
+      kBody: /* @__PURE__ */ Symbol("abstracted request body"),
       kRunning: /* @__PURE__ */ Symbol("running"),
       kBlocking: /* @__PURE__ */ Symbol("blocking"),
       kPending: /* @__PURE__ */ Symbol("pending"),
@@ -21587,6 +21587,8 @@ var require_symbols6 = __commonJS({
       kNeedDrain: /* @__PURE__ */ Symbol("need drain"),
       kReset: /* @__PURE__ */ Symbol("reset"),
       kDestroyed: /* @__PURE__ */ Symbol.for("nodejs.stream.destroyed"),
+      kResume: /* @__PURE__ */ Symbol("resume"),
+      kOnError: /* @__PURE__ */ Symbol("on error"),
       kMaxHeadersSize: /* @__PURE__ */ Symbol("max headers size"),
       kRunningIdx: /* @__PURE__ */ Symbol("running index"),
       kPendingIdx: /* @__PURE__ */ Symbol("pending index"),
@@ -21608,67 +21610,90 @@ var require_symbols6 = __commonJS({
       kMaxResponseSize: /* @__PURE__ */ Symbol("max response size"),
       kHTTP2Session: /* @__PURE__ */ Symbol("http2Session"),
       kHTTP2SessionState: /* @__PURE__ */ Symbol("http2Session state"),
-      kHTTP2BuildRequest: /* @__PURE__ */ Symbol("http2 build request"),
-      kHTTP1BuildRequest: /* @__PURE__ */ Symbol("http1 build request"),
-      kHTTP2CopyHeaders: /* @__PURE__ */ Symbol("http2 copy headers"),
-      kHTTPConnVersion: /* @__PURE__ */ Symbol("http connection version"),
       kRetryHandlerDefaultRetry: /* @__PURE__ */ Symbol("retry agent default retry"),
-      kConstruct: /* @__PURE__ */ Symbol("constructable")
+      kConstruct: /* @__PURE__ */ Symbol("constructable"),
+      kListeners: /* @__PURE__ */ Symbol("listeners"),
+      kHTTPContext: /* @__PURE__ */ Symbol("http context"),
+      kMaxConcurrentStreams: /* @__PURE__ */ Symbol("max concurrent streams"),
+      kNoProxyAgent: /* @__PURE__ */ Symbol("no proxy agent"),
+      kHttpProxyAgent: /* @__PURE__ */ Symbol("http proxy agent"),
+      kHttpsProxyAgent: /* @__PURE__ */ Symbol("https proxy agent")
     };
   }
 });
 
-// node_modules/undici/lib/core/errors.js
+// node_modules/@actions/github/node_modules/undici/lib/core/errors.js
 var require_errors2 = __commonJS({
-  "node_modules/undici/lib/core/errors.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/errors.js"(exports2, module2) {
     "use strict";
+    var kUndiciError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR");
     var UndiciError = class extends Error {
       constructor(message) {
         super(message);
         this.name = "UndiciError";
         this.code = "UND_ERR";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kUndiciError] === true;
+      }
+      [kUndiciError] = true;
     };
-    var ConnectTimeoutError = class _ConnectTimeoutError extends UndiciError {
+    var kConnectTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT");
+    var ConnectTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ConnectTimeoutError);
         this.name = "ConnectTimeoutError";
         this.message = message || "Connect Timeout Error";
         this.code = "UND_ERR_CONNECT_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kConnectTimeoutError] === true;
+      }
+      [kConnectTimeoutError] = true;
     };
-    var HeadersTimeoutError = class _HeadersTimeoutError extends UndiciError {
+    var kHeadersTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT");
+    var HeadersTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersTimeoutError);
         this.name = "HeadersTimeoutError";
         this.message = message || "Headers Timeout Error";
         this.code = "UND_ERR_HEADERS_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersTimeoutError] === true;
+      }
+      [kHeadersTimeoutError] = true;
     };
-    var HeadersOverflowError = class _HeadersOverflowError extends UndiciError {
+    var kHeadersOverflowError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW");
+    var HeadersOverflowError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersOverflowError);
         this.name = "HeadersOverflowError";
         this.message = message || "Headers Overflow Error";
         this.code = "UND_ERR_HEADERS_OVERFLOW";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersOverflowError] === true;
+      }
+      [kHeadersOverflowError] = true;
     };
-    var BodyTimeoutError = class _BodyTimeoutError extends UndiciError {
+    var kBodyTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT");
+    var BodyTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _BodyTimeoutError);
         this.name = "BodyTimeoutError";
         this.message = message || "Body Timeout Error";
         this.code = "UND_ERR_BODY_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBodyTimeoutError] === true;
+      }
+      [kBodyTimeoutError] = true;
     };
-    var ResponseStatusCodeError = class _ResponseStatusCodeError extends UndiciError {
+    var kResponseStatusCodeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RESPONSE_STATUS_CODE");
+    var ResponseStatusCodeError = class extends UndiciError {
       constructor(message, statusCode, headers, body) {
         super(message);
-        Error.captureStackTrace(this, _ResponseStatusCodeError);
         this.name = "ResponseStatusCodeError";
         this.message = message || "Response Status Code Error";
         this.code = "UND_ERR_RESPONSE_STATUS_CODE";
@@ -21677,129 +21702,198 @@ var require_errors2 = __commonJS({
         this.statusCode = statusCode;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseStatusCodeError] === true;
+      }
+      [kResponseStatusCodeError] = true;
     };
-    var InvalidArgumentError = class _InvalidArgumentError extends UndiciError {
+    var kInvalidArgumentError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_ARG");
+    var InvalidArgumentError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidArgumentError);
         this.name = "InvalidArgumentError";
         this.message = message || "Invalid Argument Error";
         this.code = "UND_ERR_INVALID_ARG";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidArgumentError] === true;
+      }
+      [kInvalidArgumentError] = true;
     };
-    var InvalidReturnValueError = class _InvalidReturnValueError extends UndiciError {
+    var kInvalidReturnValueError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE");
+    var InvalidReturnValueError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidReturnValueError);
         this.name = "InvalidReturnValueError";
         this.message = message || "Invalid Return Value Error";
         this.code = "UND_ERR_INVALID_RETURN_VALUE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidReturnValueError] === true;
+      }
+      [kInvalidReturnValueError] = true;
+    };
+    var kAbortError = /* @__PURE__ */ 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";
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kAbortError] === true;
+      }
+      [kAbortError] = true;
     };
-    var RequestAbortedError = class _RequestAbortedError extends UndiciError {
+    var kRequestAbortedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_ABORTED");
+    var RequestAbortedError = class extends AbortError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestAbortedError);
         this.name = "AbortError";
         this.message = message || "Request aborted";
         this.code = "UND_ERR_ABORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestAbortedError] === true;
+      }
+      [kRequestAbortedError] = true;
     };
-    var InformationalError = class _InformationalError extends UndiciError {
+    var kInformationalError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INFO");
+    var InformationalError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InformationalError);
         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 RequestContentLengthMismatchError = class _RequestContentLengthMismatchError extends UndiciError {
+    var kRequestContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH");
+    var RequestContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestContentLengthMismatchError);
         this.name = "RequestContentLengthMismatchError";
         this.message = message || "Request body length does not match content-length header";
         this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestContentLengthMismatchError] === true;
+      }
+      [kRequestContentLengthMismatchError] = true;
     };
-    var ResponseContentLengthMismatchError = class _ResponseContentLengthMismatchError extends UndiciError {
+    var kResponseContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH");
+    var ResponseContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseContentLengthMismatchError);
         this.name = "ResponseContentLengthMismatchError";
         this.message = message || "Response body length does not match content-length header";
         this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseContentLengthMismatchError] === true;
+      }
+      [kResponseContentLengthMismatchError] = true;
     };
-    var ClientDestroyedError = class _ClientDestroyedError extends UndiciError {
+    var kClientDestroyedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_DESTROYED");
+    var ClientDestroyedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientDestroyedError);
         this.name = "ClientDestroyedError";
         this.message = message || "The client is destroyed";
         this.code = "UND_ERR_DESTROYED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientDestroyedError] === true;
+      }
+      [kClientDestroyedError] = true;
     };
-    var ClientClosedError = class _ClientClosedError extends UndiciError {
+    var kClientClosedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CLOSED");
+    var ClientClosedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientClosedError);
         this.name = "ClientClosedError";
         this.message = message || "The client is closed";
         this.code = "UND_ERR_CLOSED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientClosedError] === true;
+      }
+      [kClientClosedError] = true;
     };
-    var SocketError = class _SocketError extends UndiciError {
+    var kSocketError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_SOCKET");
+    var SocketError = class extends UndiciError {
       constructor(message, socket) {
         super(message);
-        Error.captureStackTrace(this, _SocketError);
         this.name = "SocketError";
         this.message = message || "Socket error";
         this.code = "UND_ERR_SOCKET";
         this.socket = socket;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kSocketError] === true;
+      }
+      [kSocketError] = true;
     };
-    var NotSupportedError = class _NotSupportedError extends UndiciError {
+    var kNotSupportedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED");
+    var NotSupportedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _NotSupportedError);
         this.name = "NotSupportedError";
         this.message = message || "Not supported error";
         this.code = "UND_ERR_NOT_SUPPORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kNotSupportedError] === true;
+      }
+      [kNotSupportedError] = true;
     };
+    var kBalancedPoolMissingUpstreamError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM");
     var BalancedPoolMissingUpstreamError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, NotSupportedError);
         this.name = "MissingUpstreamError";
         this.message = message || "No upstream has been added to the BalancedPool";
         this.code = "UND_ERR_BPL_MISSING_UPSTREAM";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBalancedPoolMissingUpstreamError] === true;
+      }
+      [kBalancedPoolMissingUpstreamError] = true;
     };
-    var HTTPParserError = class _HTTPParserError extends Error {
+    var kHTTPParserError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HTTP_PARSER");
+    var HTTPParserError = class extends Error {
       constructor(message, code, data) {
         super(message);
-        Error.captureStackTrace(this, _HTTPParserError);
         this.name = "HTTPParserError";
         this.code = code ? `HPE_${code}` : void 0;
         this.data = data ? data.toString() : void 0;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHTTPParserError] === true;
+      }
+      [kHTTPParserError] = true;
     };
-    var ResponseExceededMaxSizeError = class _ResponseExceededMaxSizeError extends UndiciError {
+    var kResponseExceededMaxSizeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE");
+    var ResponseExceededMaxSizeError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseExceededMaxSizeError);
         this.name = "ResponseExceededMaxSizeError";
         this.message = message || "Response content exceeded max size";
         this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseExceededMaxSizeError] === true;
+      }
+      [kResponseExceededMaxSizeError] = true;
     };
-    var RequestRetryError = class _RequestRetryError extends UndiciError {
+    var kRequestRetryError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_RETRY");
+    var RequestRetryError = class extends UndiciError {
       constructor(message, code, { headers, data }) {
         super(message);
-        Error.captureStackTrace(this, _RequestRetryError);
         this.name = "RequestRetryError";
         this.message = message || "Request retry error";
         this.code = "UND_ERR_REQ_RETRY";
@@ -21807,8 +21901,43 @@ var require_errors2 = __commonJS({
         this.data = data;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestRetryError] === true;
+      }
+      [kRequestRetryError] = true;
+    };
+    var kResponseError = /* @__PURE__ */ 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 = /* @__PURE__ */ 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,
@@ -21828,14 +21957,16 @@ var require_errors2 = __commonJS({
       ResponseContentLengthMismatchError,
       BalancedPoolMissingUpstreamError,
       ResponseExceededMaxSizeError,
-      RequestRetryError
+      RequestRetryError,
+      ResponseError,
+      SecureProxyConnectionError
     };
   }
 });
 
-// node_modules/undici/lib/core/constants.js
+// node_modules/@actions/github/node_modules/undici/lib/core/constants.js
 var require_constants6 = __commonJS({
-  "node_modules/undici/lib/core/constants.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/constants.js"(exports2, module2) {
     "use strict";
     var headerNameLowerCasedRecord = {};
     var wellknownHeaderNames = [
@@ -21948,28 +22079,212 @@ var require_constants6 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/util.js
+// node_modules/@actions/github/node_modules/undici/lib/core/tree.js
+var require_tree2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/tree.js"(exports2, module2) {
+    "use strict";
+    var {
+      wellknownHeaderNames,
+      headerNameLowerCasedRecord
+    } = require_constants6();
+    var TstNode = class _TstNode {
+      /** @type {any} */
+      value = null;
+      /** @type {null | TstNode} */
+      left = null;
+      /** @type {null | TstNode} */
+      middle = null;
+      /** @type {null | TstNode} */
+      right = null;
+      /** @type {number} */
+      code;
+      /**
+       * @param {string} key
+       * @param {any} value
+       * @param {number} index
+       */
+      constructor(key, value, index) {
+        if (index === void 0 || index >= key.length) {
+          throw new TypeError("Unreachable");
+        }
+        const code = this.code = key.charCodeAt(index);
+        if (code > 127) {
+          throw new TypeError("key must be ascii string");
+        }
+        if (key.length !== ++index) {
+          this.middle = new _TstNode(key, value, index);
+        } else {
+          this.value = value;
+        }
+      }
+      /**
+       * @param {string} key
+       * @param {any} value
+       */
+      add(key, value) {
+        const length = key.length;
+        if (length === 0) {
+          throw new TypeError("Unreachable");
+        }
+        let index = 0;
+        let node = this;
+        while (true) {
+          const code = key.charCodeAt(index);
+          if (code > 127) {
+            throw new TypeError("key must be ascii string");
+          }
+          if (node.code === code) {
+            if (length === ++index) {
+              node.value = value;
+              break;
+            } else if (node.middle !== null) {
+              node = node.middle;
+            } else {
+              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;
+          }
+        }
+      }
+      /**
+       * @param {Uint8Array} key
+       * @return {TstNode | null}
+       */
+      search(key) {
+        const keylength = key.length;
+        let index = 0;
+        let node = this;
+        while (node !== null && index < keylength) {
+          let code = key[index];
+          if (code <= 90 && code >= 65) {
+            code |= 32;
+          }
+          while (node !== null) {
+            if (code === node.code) {
+              if (keylength === ++index) {
+                return node;
+              }
+              node = node.middle;
+              break;
+            }
+            node = node.code < code ? node.left : node.right;
+          }
+        }
+        return null;
+      }
+    };
+    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);
+        }
+      }
+      /**
+       * @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/@actions/github/node_modules/undici/lib/core/util.js
 var require_util9 = __commonJS({
-  "node_modules/undici/lib/core/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/util.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { kDestroyed, kBodyUsed } = require_symbols6();
-    var { IncomingMessage } = require("http");
-    var stream2 = require("stream");
-    var net = require("net");
+    var assert = require("node:assert");
+    var { kDestroyed, kBodyUsed, kListeners, kBody } = require_symbols6();
+    var { IncomingMessage } = require("node:http");
+    var stream2 = 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_errors2();
-    var { Blob: Blob2 } = require("buffer");
-    var nodeUtil = require("util");
-    var { stringify } = require("querystring");
     var { headerNameLowerCasedRecord } = require_constants6();
+    var { tree } = require_tree2();
     var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v) => Number(v));
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
+      }
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
+      }
+    };
+    function wrapRequestBody(body) {
+      if (isStream(body)) {
+        if (bodyLength(body) === 0) {
+          body.on("data", function() {
+            assert(false);
+          });
+        }
+        if (typeof body.readableDidRead !== "boolean") {
+          body[kBodyUsed] = false;
+          EE.prototype.on.call(body, "data", function() {
+            this[kBodyUsed] = true;
+          });
+        }
+        return body;
+      } else if (body && typeof body.pipeTo === "function") {
+        return new BodyAsyncIterable(body);
+      } else if (body && typeof body !== "string" && !ArrayBuffer.isView(body) && isIterable(body)) {
+        return new BodyAsyncIterable(body);
+      } else {
+        return body;
+      }
+    }
     function nop() {
     }
     function isStream(obj) {
       return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function";
     }
     function isBlobLike(object) {
-      return Blob2 && object instanceof Blob2 || object && typeof object === "object" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]);
+      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("#")) {
@@ -21981,10 +22296,17 @@ var require_util9 = __commonJS({
       }
       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 (!/^https?:/.test(url.origin || url.protocol)) {
+        if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {
           throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
         }
         return url;
@@ -21992,11 +22314,8 @@ var require_util9 = __commonJS({
       if (!url || typeof url !== "object") {
         throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object.");
       }
-      if (!/^https?:/.test(url.origin || url.protocol)) {
-        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
-      }
       if (!(url instanceof URL)) {
-        if (url.port != null && url.port !== "" && !Number.isFinite(parseInt(url.port))) {
+        if (url.port != null && url.port !== "" && isValidPort(url.port) === false) {
           throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer.");
         }
         if (url.path != null && typeof url.path !== "string") {
@@ -22011,16 +22330,22 @@ var require_util9 = __commonJS({
         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 origin = url.origin != null ? url.origin : `${url.protocol || ""}//${url.hostname || ""}:${port}`;
         let path16 = url.path != null ? url.path : `${url.pathname || ""}${url.search || ""}`;
-        if (origin.endsWith("/")) {
-          origin = origin.substring(0, origin.length - 1);
+        if (origin[origin.length - 1] === "/") {
+          origin = origin.slice(0, origin.length - 1);
         }
-        if (path16 && !path16.startsWith("/")) {
+        if (path16 && path16[0] !== "/") {
           path16 = `/${path16}`;
         }
-        url = new URL(origin + path16);
+        return new URL(`${origin}${path16}`);
+      }
+      if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {
+        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
       }
       return url;
     }
@@ -22045,7 +22370,7 @@ var require_util9 = __commonJS({
       if (!host) {
         return null;
       }
-      assert.strictEqual(typeof host, "string");
+      assert(typeof host === "string");
       const servername = getHostname(host);
       if (net.isIP(servername)) {
         return "";
@@ -22074,12 +22399,8 @@ var require_util9 = __commonJS({
       }
       return null;
     }
-    function isDestroyed(stream3) {
-      return !stream3 || !!(stream3.destroyed || stream3[kDestroyed]);
-    }
-    function isReadableAborted(stream3) {
-      const state = stream3 && stream3._readableState;
-      return isDestroyed(stream3) && state && !state.endEmitted;
+    function isDestroyed(body) {
+      return body && !!(body.destroyed || body[kDestroyed] || stream2.isDestroyed?.(body));
     }
     function destroy(stream3, err) {
       if (stream3 == null || !isStream(stream3) || isDestroyed(stream3)) {
@@ -22091,9 +22412,9 @@ var require_util9 = __commonJS({
         }
         stream3.destroy(err);
       } else if (err) {
-        process.nextTick((stream4, err2) => {
-          stream4.emit("error", err2);
-        }, stream3, err);
+        queueMicrotask(() => {
+          stream3.emit("error", err);
+        });
       }
       if (stream3.destroyed !== true) {
         stream3[kDestroyed] = true;
@@ -22105,25 +22426,29 @@ var require_util9 = __commonJS({
       return m ? parseInt(m[1], 10) * 1e3 : null;
     }
     function headerNameToString(value) {
-      return headerNameLowerCasedRecord[value] || value.toLowerCase();
+      return typeof value === "string" ? headerNameLowerCasedRecord[value] ?? value.toLowerCase() : tree.lookup(value) ?? value.toString("latin1").toLowerCase();
+    }
+    function bufferToLowerCasedHeaderName(value) {
+      return tree.lookup(value) ?? value.toString("latin1").toLowerCase();
     }
-    function parseHeaders(headers, obj = {}) {
-      if (!Array.isArray(headers)) return headers;
+    function parseHeaders(headers, obj) {
+      if (obj === void 0) obj = {};
       for (let i = 0; i < headers.length; i += 2) {
-        const key = headers[i].toString().toLowerCase();
+        const key = headerNameToString(headers[i]);
         let val = obj[key];
-        if (!val) {
-          if (Array.isArray(headers[i + 1])) {
-            obj[key] = headers[i + 1].map((x) => x.toString("utf8"));
-          } else {
-            obj[key] = headers[i + 1].toString("utf8");
-          }
-        } else {
-          if (!Array.isArray(val)) {
+        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");
+          }
         }
       }
       if ("content-length" in obj && "content-disposition" in obj) {
@@ -22132,20 +22457,26 @@ var require_util9 = __commonJS({
       return obj;
     }
     function parseRawHeaders(headers) {
-      const ret = [];
+      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) {
-        const key = headers[n + 0].toString();
-        const val = headers[n + 1].toString("utf8");
-        if (key.length === 14 && (key === "content-length" || key.toLowerCase() === "content-length")) {
-          ret.push(key, val);
+        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 (key.length === 19 && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
-          contentDispositionIdx = ret.push(key, val) - 1;
-        } else {
-          ret.push(key, val);
+        } else if (kLen === 19 && key[7] === "-" && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
+          contentDispositionIdx = n + 1;
         }
+        ret[n] = key;
+        ret[n + 1] = val;
       }
       if (hasContentLength && contentDispositionIdx !== -1) {
         ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1");
@@ -22185,17 +22516,13 @@ var require_util9 = __commonJS({
       }
     }
     function isDisturbed(body) {
-      return !!(body && (stream2.isDisturbed ? stream2.isDisturbed(body) || body[kBodyUsed] : body[kBodyUsed] || body.readableDidRead || body._readableState && body._readableState.dataEmitted || isReadableAborted(body)));
+      return !!(body && (stream2.isDisturbed(body) || body[kBodyUsed]));
     }
     function isErrored(body) {
-      return !!(body && (stream2.isErrored ? stream2.isErrored(body) : /state: 'errored'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream2.isErrored(body));
     }
     function isReadable(body) {
-      return !!(body && (stream2.isReadable ? stream2.isReadable(body) : /state: 'readable'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream2.isReadable(body));
     }
     function getSocketInfo(socket) {
       return {
@@ -22209,21 +22536,9 @@ var require_util9 = __commonJS({
         bytesRead: socket.bytesRead
       };
     }
-    async function* convertIterableToBuffer(iterable) {
-      for await (const chunk of iterable) {
-        yield Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
-      }
-    }
-    var ReadableStream2;
     function ReadableStreamFrom(iterable) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      if (ReadableStream2.from) {
-        return ReadableStream2.from(convertIterableToBuffer(iterable));
-      }
       let iterator2;
-      return new ReadableStream2(
+      return new ReadableStream(
         {
           async start() {
             iterator2 = iterable[Symbol.asyncIterator]();
@@ -22233,37 +22548,26 @@ var require_util9 = __commonJS({
             if (done) {
               queueMicrotask(() => {
                 controller.close();
+                controller.byobRequest?.respond(0);
               });
             } else {
               const buf = Buffer.isBuffer(value) ? value : Buffer.from(value);
-              controller.enqueue(new Uint8Array(buf));
+              if (buf.byteLength) {
+                controller.enqueue(new Uint8Array(buf));
+              }
             }
             return controller.desiredSize > 0;
           },
           async cancel(reason) {
             await iterator2.return();
-          }
-        },
-        0
+          },
+          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 throwIfAborted(signal) {
-      if (!signal) {
-        return;
-      }
-      if (typeof signal.throwIfAborted === "function") {
-        signal.throwIfAborted();
-      } else {
-        if (signal.aborted) {
-          const err = new Error("The operation was aborted");
-          err.name = "AbortError";
-          throw err;
-        }
-      }
-    }
     function addAbortListener(signal, listener) {
       if ("addEventListener" in signal) {
         signal.addEventListener("abort", listener, { once: true });
@@ -22272,14 +22576,52 @@ var require_util9 = __commonJS({
       signal.addListener("abort", listener);
       return () => signal.removeListener("abort", listener);
     }
-    var hasToWellFormed = !!String.prototype.toWellFormed;
+    var hasToWellFormed = typeof String.prototype.toWellFormed === "function";
+    var hasIsWellFormed = typeof String.prototype.isWellFormed === "function";
     function toUSVString(val) {
-      if (hasToWellFormed) {
-        return `${val}`.toWellFormed();
-      } else if (nodeUtil.toUSVString) {
-        return nodeUtil.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;
+      }
+    }
+    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 `${val}`;
+      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 };
@@ -22290,25 +22632,70 @@ var require_util9 = __commonJS({
         size: m[3] ? parseInt(m[3]) : null
       } : null;
     }
-    var kEnumerableProperty = /* @__PURE__ */ Object.create(null);
-    kEnumerableProperty.enumerable = true;
-    module2.exports = {
-      kEnumerableProperty,
-      nop,
-      isDisturbed,
-      isErrored,
-      isReadable,
-      toUSVString,
-      isReadableAborted,
-      isBlobLike,
-      parseOrigin,
-      parseURL,
-      getServerName,
+    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);
+      }
+      obj[kListeners] = null;
+    }
+    function errorRequest2(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: errorRequest2,
       parseRawHeaders,
       parseHeaders,
       parseKeepAliveTimeout,
@@ -22321,15673 +22708,16863 @@ var require_util9 = __commonJS({
       getSocketInfo,
       isFormDataLike,
       buildURL,
-      throwIfAborted,
       addAbortListener,
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isTokenCharCode,
       parseRangeHeader,
+      normalizedMethodRecordsBase,
+      normalizedMethodRecords,
+      isValidPort,
+      isHttpOrHttpsPrefixed,
       nodeMajor,
       nodeMinor,
-      nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13,
-      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"]
+      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"],
+      wrapRequestBody
     };
   }
 });
 
-// node_modules/undici/lib/timers.js
-var require_timers2 = __commonJS({
-  "node_modules/undici/lib/timers.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js
+var require_diagnostics2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js"(exports2, module2) {
     "use strict";
-    var fastNow = Date.now();
-    var fastNowTimeout;
-    var fastTimers = [];
-    function onTimeout() {
-      fastNow = Date.now();
-      let len = fastTimers.length;
-      let idx = 0;
-      while (idx < len) {
-        const timer = fastTimers[idx];
-        if (timer.state === 0) {
-          timer.state = fastNow + timer.delay;
-        } else if (timer.state > 0 && fastNow >= timer.state) {
-          timer.state = -1;
-          timer.callback(timer.opaque);
-        }
-        if (timer.state === -1) {
-          timer.state = -2;
-          if (idx !== len - 1) {
-            fastTimers[idx] = fastTimers.pop();
-          } else {
-            fastTimers.pop();
-          }
-          len -= 1;
-        } else {
-          idx += 1;
-        }
-      }
-      if (fastTimers.length > 0) {
-        refreshTimeout();
-      }
-    }
-    function refreshTimeout() {
-      if (fastNowTimeout && fastNowTimeout.refresh) {
-        fastNowTimeout.refresh();
-      } else {
-        clearTimeout(fastNowTimeout);
-        fastNowTimeout = setTimeout(onTimeout, 1e3);
-        if (fastNowTimeout.unref) {
-          fastNowTimeout.unref();
-        }
-      }
-    }
-    var Timeout = class {
-      constructor(callback, delay2, opaque) {
-        this.callback = callback;
-        this.delay = delay2;
-        this.opaque = opaque;
-        this.state = -2;
-        this.refresh();
-      }
-      refresh() {
-        if (this.state === -2) {
-          fastTimers.push(this);
-          if (!fastNowTimeout || fastTimers.length === 1) {
-            refreshTimeout();
-          }
-        }
-        this.state = 0;
-      }
-      clear() {
-        this.state = -1;
-      }
-    };
-    module2.exports = {
-      setTimeout(callback, delay2, opaque) {
-        return delay2 < 1e3 ? setTimeout(callback, delay2, opaque) : new Timeout(callback, delay2, opaque);
-      },
-      clearTimeout(timeout) {
-        if (timeout instanceof Timeout) {
-          timeout.clear();
-        } else {
-          clearTimeout(timeout);
-        }
-      }
+    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")
     };
-  }
-});
-
-// node_modules/@fastify/busboy/deps/streamsearch/sbmh.js
-var require_sbmh = __commonJS({
-  "node_modules/@fastify/busboy/deps/streamsearch/sbmh.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    function SBMH(needle) {
-      if (typeof needle === "string") {
-        needle = Buffer.from(needle);
-      }
-      if (!Buffer.isBuffer(needle)) {
-        throw new TypeError("The needle has to be a String or a Buffer.");
-      }
-      const needleLength = needle.length;
-      if (needleLength === 0) {
-        throw new Error("The needle cannot be an empty String/Buffer.");
-      }
-      if (needleLength > 256) {
-        throw new Error("The needle cannot have a length bigger than 256.");
-      }
-      this.maxMatches = Infinity;
-      this.matches = 0;
-      this._occ = new Array(256).fill(needleLength);
-      this._lookbehind_size = 0;
-      this._needle = needle;
-      this._bufpos = 0;
-      this._lookbehind = Buffer.alloc(needleLength);
-      for (var i = 0; i < needleLength - 1; ++i) {
-        this._occ[needle[i]] = needleLength - 1 - i;
-      }
+    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: error3
+        } = evt;
+        debuglog(
+          "connection to %s using %s%s errored - %s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version,
+          error3.message
+        );
+      });
+      diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+        const {
+          request: { method, path: path16, origin }
+        } = evt;
+        debuglog("sending request to %s %s/%s", method, origin, path16);
+      });
+      diagnosticsChannel.channel("undici:request:headers").subscribe((evt) => {
+        const {
+          request: { method, path: path16, origin },
+          response: { statusCode }
+        } = evt;
+        debuglog(
+          "received response to %s %s/%s - HTTP %d",
+          method,
+          origin,
+          path16,
+          statusCode
+        );
+      });
+      diagnosticsChannel.channel("undici:request:trailers").subscribe((evt) => {
+        const {
+          request: { method, path: path16, origin }
+        } = evt;
+        debuglog("trailers received from %s %s/%s", method, origin, path16);
+      });
+      diagnosticsChannel.channel("undici:request:error").subscribe((evt) => {
+        const {
+          request: { method, path: path16, origin },
+          error: error3
+        } = evt;
+        debuglog(
+          "request to %s %s/%s errored - %s",
+          method,
+          origin,
+          path16,
+          error3.message
+        );
+      });
+      isClientSet = true;
     }
-    inherits(SBMH, EventEmitter);
-    SBMH.prototype.reset = function() {
-      this._lookbehind_size = 0;
-      this.matches = 0;
-      this._bufpos = 0;
-    };
-    SBMH.prototype.push = function(chunk, pos) {
-      if (!Buffer.isBuffer(chunk)) {
-        chunk = Buffer.from(chunk, "binary");
-      }
-      const chlen = chunk.length;
-      this._bufpos = pos || 0;
-      let r;
-      while (r !== chlen && this.matches < this.maxMatches) {
-        r = this._sbmh_feed(chunk);
-      }
-      return r;
-    };
-    SBMH.prototype._sbmh_feed = function(data) {
-      const len = data.length;
-      const needle = this._needle;
-      const needleLength = needle.length;
-      const lastNeedleChar = needle[needleLength - 1];
-      let pos = -this._lookbehind_size;
-      let ch;
-      if (pos < 0) {
-        while (pos < 0 && pos <= len - needleLength) {
-          ch = this._sbmh_lookup_char(data, pos + needleLength - 1);
-          if (ch === lastNeedleChar && this._sbmh_memcmp(data, pos, needleLength - 1)) {
-            this._lookbehind_size = 0;
-            ++this.matches;
-            this.emit("info", true);
-            return this._bufpos = pos + needleLength;
-          }
-          pos += this._occ[ch];
-        }
-        if (pos < 0) {
-          while (pos < 0 && !this._sbmh_memcmp(data, pos, len - pos)) {
-            ++pos;
-          }
-        }
-        if (pos >= 0) {
-          this.emit("info", false, this._lookbehind, 0, this._lookbehind_size);
-          this._lookbehind_size = 0;
-        } else {
-          const bytesToCutOff = this._lookbehind_size + pos;
-          if (bytesToCutOff > 0) {
-            this.emit("info", false, this._lookbehind, 0, bytesToCutOff);
-          }
-          this._lookbehind.copy(
-            this._lookbehind,
-            0,
-            bytesToCutOff,
-            this._lookbehind_size - bytesToCutOff
+    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
           );
-          this._lookbehind_size -= bytesToCutOff;
-          data.copy(this._lookbehind, this._lookbehind_size);
-          this._lookbehind_size += len;
-          this._bufpos = len;
-          return len;
-        }
-      }
-      pos += (pos >= 0) * this._bufpos;
-      if (data.indexOf(needle, pos) !== -1) {
-        pos = data.indexOf(needle, pos);
-        ++this.matches;
-        if (pos > 0) {
-          this.emit("info", true, data, this._bufpos, pos);
-        } else {
-          this.emit("info", true);
-        }
-        return this._bufpos = pos + needleLength;
-      } else {
-        pos = len - needleLength;
-      }
-      while (pos < len && (data[pos] !== needle[0] || Buffer.compare(
-        data.subarray(pos, pos + len - pos),
-        needle.subarray(0, len - pos)
-      ) !== 0)) {
-        ++pos;
-      }
-      if (pos < len) {
-        data.copy(this._lookbehind, 0, pos, pos + (len - pos));
-        this._lookbehind_size = len - pos;
-      }
-      if (pos > 0) {
-        this.emit("info", false, data, this._bufpos, pos < len ? pos : len);
-      }
-      this._bufpos = len;
-      return len;
-    };
-    SBMH.prototype._sbmh_lookup_char = function(data, pos) {
-      return pos < 0 ? this._lookbehind[this._lookbehind_size + pos] : data[pos];
-    };
-    SBMH.prototype._sbmh_memcmp = function(data, pos, len) {
-      for (var i = 0; i < len; ++i) {
-        if (this._sbmh_lookup_char(data, pos + i) !== this._needle[i]) {
-          return false;
-        }
+        });
+        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: error3
+          } = evt;
+          debuglog(
+            "connection to %s%s using %s%s errored - %s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version,
+            error3.message
+          );
+        });
+        diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+          const {
+            request: { method, path: path16, origin }
+          } = evt;
+          debuglog("sending request to %s %s/%s", method, origin, path16);
+        });
       }
-      return true;
-    };
-    module2.exports = SBMH;
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js
-var require_PartStream = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js"(exports2, module2) {
-    "use strict";
-    var inherits = require("node:util").inherits;
-    var ReadableStream2 = require("node:stream").Readable;
-    function PartStream(opts) {
-      ReadableStream2.call(this, opts);
+      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");
+      });
     }
-    inherits(PartStream, ReadableStream2);
-    PartStream.prototype._read = function(n) {
-    };
-    module2.exports = PartStream;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/getLimit.js
-var require_getLimit = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/getLimit.js"(exports2, module2) {
-    "use strict";
-    module2.exports = function getLimit(limits, name, defaultLimit) {
-      if (!limits || limits[name] === void 0 || limits[name] === null) {
-        return defaultLimit;
-      }
-      if (typeof limits[name] !== "number" || isNaN(limits[name])) {
-        throw new TypeError("Limit " + name + " is not a valid number");
-      }
-      return limits[name];
+    module2.exports = {
+      channels
     };
   }
 });
 
-// node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js
-var require_HeaderParser = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/request.js
+var require_request3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/request.js"(exports2, module2) {
     "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    var getLimit = require_getLimit();
-    var StreamSearch = require_sbmh();
-    var B_DCRLF = Buffer.from("\r\n\r\n");
-    var RE_CRLF = /\r\n/g;
-    var RE_HDR = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/;
-    function HeaderParser(cfg) {
-      EventEmitter.call(this);
-      cfg = cfg || {};
-      const self2 = this;
-      this.nread = 0;
-      this.maxed = false;
-      this.npairs = 0;
-      this.maxHeaderPairs = getLimit(cfg, "maxHeaderPairs", 2e3);
-      this.maxHeaderSize = getLimit(cfg, "maxHeaderSize", 80 * 1024);
-      this.buffer = "";
-      this.header = {};
-      this.finished = false;
-      this.ss = new StreamSearch(B_DCRLF);
-      this.ss.on("info", function(isMatch, data, start, end) {
-        if (data && !self2.maxed) {
-          if (self2.nread + end - start >= self2.maxHeaderSize) {
-            end = self2.maxHeaderSize - self2.nread + start;
-            self2.nread = self2.maxHeaderSize;
-            self2.maxed = true;
-          } else {
-            self2.nread += end - start;
-          }
-          self2.buffer += data.toString("binary", start, end);
+    var {
+      InvalidArgumentError,
+      NotSupportedError
+    } = require_errors2();
+    var assert = require("node:assert");
+    var {
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isStream,
+      destroy,
+      isBuffer,
+      isFormDataLike,
+      isIterable,
+      isBlobLike,
+      buildURL,
+      validateHandler,
+      getServerName,
+      normalizedMethodRecords
+    } = require_util9();
+    var { channels } = require_diagnostics2();
+    var { headerNameLowerCasedRecord } = require_constants6();
+    var invalidPathRegex = /[^\u0021-\u00ff]/;
+    var kHandler = /* @__PURE__ */ Symbol("handler");
+    var Request = class {
+      constructor(origin, {
+        path: path16,
+        method,
+        body,
+        headers,
+        query,
+        idempotent,
+        blocking,
+        upgrade,
+        headersTimeout,
+        bodyTimeout,
+        reset,
+        throwOnError,
+        expectContinue,
+        servername
+      }, handler2) {
+        if (typeof path16 !== "string") {
+          throw new InvalidArgumentError("path must be a string");
+        } else if (path16[0] !== "/" && !(path16.startsWith("http://") || path16.startsWith("https://")) && method !== "CONNECT") {
+          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
+        } else if (invalidPathRegex.test(path16)) {
+          throw new InvalidArgumentError("invalid request path");
         }
-        if (isMatch) {
-          self2._finish();
+        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");
         }
-      });
-    }
-    inherits(HeaderParser, EventEmitter);
-    HeaderParser.prototype.push = function(data) {
-      const r = this.ss.push(data);
-      if (this.finished) {
-        return r;
-      }
-    };
-    HeaderParser.prototype.reset = function() {
-      this.finished = false;
-      this.buffer = "";
-      this.header = {};
-      this.ss.reset();
-    };
-    HeaderParser.prototype._finish = function() {
-      if (this.buffer) {
-        this._parseHeader();
-      }
-      this.ss.matches = this.ss.maxMatches;
-      const header = this.header;
-      this.header = {};
-      this.buffer = "";
-      this.finished = true;
-      this.nread = this.npairs = 0;
-      this.maxed = false;
-      this.emit("header", header);
-    };
-    HeaderParser.prototype._parseHeader = function() {
-      if (this.npairs === this.maxHeaderPairs) {
-        return;
-      }
-      const lines = this.buffer.split(RE_CRLF);
-      const len = lines.length;
-      let m, h;
-      for (var i = 0; i < len; ++i) {
-        if (lines[i].length === 0) {
-          continue;
+        if (upgrade && typeof upgrade !== "string") {
+          throw new InvalidArgumentError("upgrade must be a string");
         }
-        if (lines[i][0] === "	" || lines[i][0] === " ") {
-          if (h) {
-            this.header[h][this.header[h].length - 1] += lines[i];
-            continue;
-          }
+        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
+          throw new InvalidArgumentError("invalid headersTimeout");
         }
-        const posColon = lines[i].indexOf(":");
-        if (posColon === -1 || posColon === 0) {
-          return;
+        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
+          throw new InvalidArgumentError("invalid bodyTimeout");
         }
-        m = RE_HDR.exec(lines[i]);
-        h = m[1].toLowerCase();
-        this.header[h] = this.header[h] || [];
-        this.header[h].push(m[2] || "");
-        if (++this.npairs === this.maxHeaderPairs) {
-          break;
+        if (reset != null && typeof reset !== "boolean") {
+          throw new InvalidArgumentError("invalid reset");
         }
-      }
-    };
-    module2.exports = HeaderParser;
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js
-var require_Dicer = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js"(exports2, module2) {
-    "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var inherits = require("node:util").inherits;
-    var StreamSearch = require_sbmh();
-    var PartStream = require_PartStream();
-    var HeaderParser = require_HeaderParser();
-    var DASH = 45;
-    var B_ONEDASH = Buffer.from("-");
-    var B_CRLF = Buffer.from("\r\n");
-    var EMPTY_FN = function() {
-    };
-    function Dicer(cfg) {
-      if (!(this instanceof Dicer)) {
-        return new Dicer(cfg);
-      }
-      WritableStream.call(this, cfg);
-      if (!cfg || !cfg.headerFirst && typeof cfg.boundary !== "string") {
-        throw new TypeError("Boundary required");
-      }
-      if (typeof cfg.boundary === "string") {
-        this.setBoundary(cfg.boundary);
-      } else {
-        this._bparser = void 0;
-      }
-      this._headerFirst = cfg.headerFirst;
-      this._dashes = 0;
-      this._parts = 0;
-      this._finished = false;
-      this._realFinish = false;
-      this._isPreamble = true;
-      this._justMatched = false;
-      this._firstWrite = true;
-      this._inHeader = true;
-      this._part = void 0;
-      this._cb = void 0;
-      this._ignoreData = false;
-      this._partOpts = { highWaterMark: cfg.partHwm };
-      this._pause = false;
-      const self2 = this;
-      this._hparser = new HeaderParser(cfg);
-      this._hparser.on("header", function(header) {
-        self2._inHeader = false;
-        self2._part.emit("header", header);
-      });
-    }
-    inherits(Dicer, WritableStream);
-    Dicer.prototype.emit = function(ev) {
-      if (ev === "finish" && !this._realFinish) {
-        if (!this._finished) {
-          const self2 = this;
-          process.nextTick(function() {
-            self2.emit("error", new Error("Unexpected end of multipart data"));
-            if (self2._part && !self2._ignoreData) {
-              const type2 = self2._isPreamble ? "Preamble" : "Part";
-              self2._part.emit("error", new Error(type2 + " terminated early due to unexpected end of multipart data"));
-              self2._part.push(null);
-              process.nextTick(function() {
-                self2._realFinish = true;
-                self2.emit("finish");
-                self2._realFinish = false;
-              });
-              return;
-            }
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
-          });
+        if (expectContinue != null && typeof expectContinue !== "boolean") {
+          throw new InvalidArgumentError("invalid expectContinue");
         }
-      } else {
-        WritableStream.prototype.emit.apply(this, arguments);
-      }
-    };
-    Dicer.prototype._write = function(data, encoding, cb) {
-      if (!this._hparser && !this._bparser) {
-        return cb();
-      }
-      if (this._headerFirst && this._isPreamble) {
-        if (!this._part) {
-          this._part = new PartStream(this._partOpts);
-          if (this.listenerCount("preamble") !== 0) {
-            this.emit("preamble", this._part);
-          } else {
-            this._ignore();
+        this.headersTimeout = headersTimeout;
+        this.bodyTimeout = bodyTimeout;
+        this.throwOnError = throwOnError === true;
+        this.method = method;
+        this.abort = null;
+        if (body == null) {
+          this.body = null;
+        } else if (isStream(body)) {
+          this.body = body;
+          const rState = this.body._readableState;
+          if (!rState || !rState.autoDestroy) {
+            this.endHandler = function autoDestroy() {
+              destroy(this);
+            };
+            this.body.on("end", this.endHandler);
           }
-        }
-        const r = this._hparser.push(data);
-        if (!this._inHeader && r !== void 0 && r < data.length) {
-          data = data.slice(r);
+          this.errorHandler = (err) => {
+            if (this.abort) {
+              this.abort(err);
+            } else {
+              this.error = err;
+            }
+          };
+          this.body.on("error", this.errorHandler);
+        } else if (isBuffer(body)) {
+          this.body = body.byteLength ? body : null;
+        } else if (ArrayBuffer.isView(body)) {
+          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
+        } else if (body instanceof ArrayBuffer) {
+          this.body = body.byteLength ? Buffer.from(body) : null;
+        } else if (typeof body === "string") {
+          this.body = body.length ? Buffer.from(body) : null;
+        } else if (isFormDataLike(body) || isIterable(body) || isBlobLike(body)) {
+          this.body = body;
         } else {
-          return cb();
+          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
         }
-      }
-      if (this._firstWrite) {
-        this._bparser.push(B_CRLF);
-        this._firstWrite = false;
-      }
-      this._bparser.push(data);
-      if (this._pause) {
-        this._cb = cb;
-      } else {
-        cb();
-      }
-    };
-    Dicer.prototype.reset = function() {
-      this._part = void 0;
-      this._bparser = void 0;
-      this._hparser = void 0;
-    };
-    Dicer.prototype.setBoundary = function(boundary) {
-      const self2 = this;
-      this._bparser = new StreamSearch("\r\n--" + boundary);
-      this._bparser.on("info", function(isMatch, data, start, end) {
-        self2._oninfo(isMatch, data, start, end);
-      });
-    };
-    Dicer.prototype._ignore = function() {
-      if (this._part && !this._ignoreData) {
-        this._ignoreData = true;
-        this._part.on("error", EMPTY_FN);
-        this._part.resume();
-      }
-    };
-    Dicer.prototype._oninfo = function(isMatch, data, start, end) {
-      let buf;
-      const self2 = this;
-      let i = 0;
-      let r;
-      let shouldWriteMore = true;
-      if (!this._part && this._justMatched && data) {
-        while (this._dashes < 2 && start + i < end) {
-          if (data[start + i] === DASH) {
-            ++i;
-            ++this._dashes;
-          } else {
-            if (this._dashes) {
-              buf = B_ONEDASH;
-            }
-            this._dashes = 0;
-            break;
+        this.completed = false;
+        this.aborted = false;
+        this.upgrade = upgrade || null;
+        this.path = query ? buildURL(path16, query) : path16;
+        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");
           }
-        }
-        if (this._dashes === 2) {
-          if (start + i < end && this.listenerCount("trailer") !== 0) {
-            this.emit("trailer", data.slice(start + i, end));
+          for (let i = 0; i < headers.length; i += 2) {
+            processHeader(this, headers[i], headers[i + 1]);
           }
-          this.reset();
-          this._finished = true;
-          if (self2._parts === 0) {
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
+        } 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");
         }
-        if (this._dashes) {
-          return;
+        validateHandler(handler2, method, upgrade);
+        this.servername = servername || getServerName(this.host);
+        this[kHandler] = handler2;
+        if (channels.create.hasSubscribers) {
+          channels.create.publish({ request: this });
         }
       }
-      if (this._justMatched) {
-        this._justMatched = false;
+      onBodySent(chunk) {
+        if (this[kHandler].onBodySent) {
+          try {
+            return this[kHandler].onBodySent(chunk);
+          } catch (err) {
+            this.abort(err);
+          }
+        }
       }
-      if (!this._part) {
-        this._part = new PartStream(this._partOpts);
-        this._part._read = function(n) {
-          self2._unpause();
-        };
-        if (this._isPreamble && this.listenerCount("preamble") !== 0) {
-          this.emit("preamble", this._part);
-        } else if (this._isPreamble !== true && this.listenerCount("part") !== 0) {
-          this.emit("part", this._part);
-        } else {
-          this._ignore();
-        }
-        if (!this._isPreamble) {
-          this._inHeader = true;
+      onRequestSent() {
+        if (channels.bodySent.hasSubscribers) {
+          channels.bodySent.publish({ request: this });
         }
-      }
-      if (data && start < end && !this._ignoreData) {
-        if (this._isPreamble || !this._inHeader) {
-          if (buf) {
-            shouldWriteMore = this._part.push(buf);
-          }
-          shouldWriteMore = this._part.push(data.slice(start, end));
-          if (!shouldWriteMore) {
-            this._pause = true;
-          }
-        } else if (!this._isPreamble && this._inHeader) {
-          if (buf) {
-            this._hparser.push(buf);
-          }
-          r = this._hparser.push(data.slice(start, end));
-          if (!this._inHeader && r !== void 0 && r < end) {
-            this._oninfo(false, data, start + r, end);
+        if (this[kHandler].onRequestSent) {
+          try {
+            return this[kHandler].onRequestSent();
+          } catch (err) {
+            this.abort(err);
           }
         }
       }
-      if (isMatch) {
-        this._hparser.reset();
-        if (this._isPreamble) {
-          this._isPreamble = false;
+      onConnect(abort) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (this.error) {
+          abort(this.error);
         } else {
-          if (start !== end) {
-            ++this._parts;
-            this._part.on("end", function() {
-              if (--self2._parts === 0) {
-                if (self2._finished) {
-                  self2._realFinish = true;
-                  self2.emit("finish");
-                  self2._realFinish = false;
-                } else {
-                  self2._unpause();
-                }
-              }
-            });
-          }
+          this.abort = abort;
+          return this[kHandler].onConnect(abort);
         }
-        this._part.push(null);
-        this._part = void 0;
-        this._ignoreData = false;
-        this._justMatched = true;
-        this._dashes = 0;
-      }
-    };
-    Dicer.prototype._unpause = function() {
-      if (!this._pause) {
-        return;
       }
-      this._pause = false;
-      if (this._cb) {
-        const cb = this._cb;
-        this._cb = void 0;
-        cb();
-      }
-    };
-    module2.exports = Dicer;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/decodeText.js
-var require_decodeText = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/decodeText.js"(exports2, module2) {
-    "use strict";
-    var utf8Decoder = new TextDecoder("utf-8");
-    var textDecoders = /* @__PURE__ */ new Map([
-      ["utf-8", utf8Decoder],
-      ["utf8", utf8Decoder]
-    ]);
-    function getDecoder(charset) {
-      let lc;
-      while (true) {
-        switch (charset) {
-          case "utf-8":
-          case "utf8":
-            return decoders.utf8;
-          case "latin1":
-          case "ascii":
-          // TODO: Make these a separate, strict decoder?
-          case "us-ascii":
-          case "iso-8859-1":
-          case "iso8859-1":
-          case "iso88591":
-          case "iso_8859-1":
-          case "windows-1252":
-          case "iso_8859-1:1987":
-          case "cp1252":
-          case "x-cp1252":
-            return decoders.latin1;
-          case "utf16le":
-          case "utf-16le":
-          case "ucs2":
-          case "ucs-2":
-            return decoders.utf16le;
-          case "base64":
-            return decoders.base64;
-          default:
-            if (lc === void 0) {
-              lc = true;
-              charset = charset.toLowerCase();
-              continue;
-            }
-            return decoders.other.bind(charset);
-        }
+      onResponseStarted() {
+        return this[kHandler].onResponseStarted?.();
       }
-    }
-    var decoders = {
-      utf8: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
-        }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
-        }
-        return data.utf8Slice(0, data.length);
-      },
-      latin1: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+      onHeaders(statusCode, headers, resume, statusText) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (channels.headers.hasSubscribers) {
+          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
         }
-        if (typeof data === "string") {
-          return data;
+        try {
+          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
+        } catch (err) {
+          this.abort(err);
         }
-        return data.latin1Slice(0, data.length);
-      },
-      utf16le: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+      }
+      onData(chunk) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        try {
+          return this[kHandler].onData(chunk);
+        } catch (err) {
+          this.abort(err);
+          return false;
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      }
+      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 });
         }
-        return data.ucs2Slice(0, data.length);
-      },
-      base64: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+        try {
+          return this[kHandler].onComplete(trailers);
+        } catch (err) {
+          this.onError(err);
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      }
+      onError(error3) {
+        this.onFinally();
+        if (channels.error.hasSubscribers) {
+          channels.error.publish({ request: this, error: error3 });
         }
-        return data.base64Slice(0, data.length);
-      },
-      other: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+        if (this.aborted) {
+          return;
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+        this.aborted = true;
+        return this[kHandler].onError(error3);
+      }
+      onFinally() {
+        if (this.errorHandler) {
+          this.body.off("error", this.errorHandler);
+          this.errorHandler = null;
         }
-        if (textDecoders.has(exports2.toString())) {
-          try {
-            return textDecoders.get(exports2).decode(data);
-          } catch {
-          }
+        if (this.endHandler) {
+          this.body.off("end", this.endHandler);
+          this.endHandler = null;
         }
-        return typeof data === "string" ? data : data.toString();
+      }
+      addHeader(key, value) {
+        processHeader(this, key, value);
+        return this;
       }
     };
-    function decodeText(text, sourceEncoding, destEncoding) {
-      if (text) {
-        return getDecoder(destEncoding)(text, sourceEncoding);
+    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;
       }
-      return text;
-    }
-    module2.exports = decodeText;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/parseParams.js
-var require_parseParams = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/parseParams.js"(exports2, module2) {
-    "use strict";
-    var decodeText = require_decodeText();
-    var RE_ENCODED = /%[a-fA-F0-9][a-fA-F0-9]/g;
-    var EncodedLookup = {
-      "%00": "\0",
-      "%01": "",
-      "%02": "",
-      "%03": "",
-      "%04": "",
-      "%05": "",
-      "%06": "",
-      "%07": "\x07",
-      "%08": "\b",
-      "%09": "	",
-      "%0a": "\n",
-      "%0A": "\n",
-      "%0b": "\v",
-      "%0B": "\v",
-      "%0c": "\f",
-      "%0C": "\f",
-      "%0d": "\r",
-      "%0D": "\r",
-      "%0e": "",
-      "%0E": "",
-      "%0f": "",
-      "%0F": "",
-      "%10": "",
-      "%11": "",
-      "%12": "",
-      "%13": "",
-      "%14": "",
-      "%15": "",
-      "%16": "",
-      "%17": "",
-      "%18": "",
-      "%19": "",
-      "%1a": "",
-      "%1A": "",
-      "%1b": "\x1B",
-      "%1B": "\x1B",
-      "%1c": "",
-      "%1C": "",
-      "%1d": "",
-      "%1D": "",
-      "%1e": "",
-      "%1E": "",
-      "%1f": "",
-      "%1F": "",
-      "%20": " ",
-      "%21": "!",
-      "%22": '"',
-      "%23": "#",
-      "%24": "$",
-      "%25": "%",
-      "%26": "&",
-      "%27": "'",
-      "%28": "(",
-      "%29": ")",
-      "%2a": "*",
-      "%2A": "*",
-      "%2b": "+",
-      "%2B": "+",
-      "%2c": ",",
-      "%2C": ",",
-      "%2d": "-",
-      "%2D": "-",
-      "%2e": ".",
-      "%2E": ".",
-      "%2f": "/",
-      "%2F": "/",
-      "%30": "0",
-      "%31": "1",
-      "%32": "2",
-      "%33": "3",
-      "%34": "4",
-      "%35": "5",
-      "%36": "6",
-      "%37": "7",
-      "%38": "8",
-      "%39": "9",
-      "%3a": ":",
-      "%3A": ":",
-      "%3b": ";",
-      "%3B": ";",
-      "%3c": "<",
-      "%3C": "<",
-      "%3d": "=",
-      "%3D": "=",
-      "%3e": ">",
-      "%3E": ">",
-      "%3f": "?",
-      "%3F": "?",
-      "%40": "@",
-      "%41": "A",
-      "%42": "B",
-      "%43": "C",
-      "%44": "D",
-      "%45": "E",
-      "%46": "F",
-      "%47": "G",
-      "%48": "H",
-      "%49": "I",
-      "%4a": "J",
-      "%4A": "J",
-      "%4b": "K",
-      "%4B": "K",
-      "%4c": "L",
-      "%4C": "L",
-      "%4d": "M",
-      "%4D": "M",
-      "%4e": "N",
-      "%4E": "N",
-      "%4f": "O",
-      "%4F": "O",
-      "%50": "P",
-      "%51": "Q",
-      "%52": "R",
-      "%53": "S",
-      "%54": "T",
-      "%55": "U",
-      "%56": "V",
-      "%57": "W",
-      "%58": "X",
-      "%59": "Y",
-      "%5a": "Z",
-      "%5A": "Z",
-      "%5b": "[",
-      "%5B": "[",
-      "%5c": "\\",
-      "%5C": "\\",
-      "%5d": "]",
-      "%5D": "]",
-      "%5e": "^",
-      "%5E": "^",
-      "%5f": "_",
-      "%5F": "_",
-      "%60": "`",
-      "%61": "a",
-      "%62": "b",
-      "%63": "c",
-      "%64": "d",
-      "%65": "e",
-      "%66": "f",
-      "%67": "g",
-      "%68": "h",
-      "%69": "i",
-      "%6a": "j",
-      "%6A": "j",
-      "%6b": "k",
-      "%6B": "k",
-      "%6c": "l",
-      "%6C": "l",
-      "%6d": "m",
-      "%6D": "m",
-      "%6e": "n",
-      "%6E": "n",
-      "%6f": "o",
-      "%6F": "o",
-      "%70": "p",
-      "%71": "q",
-      "%72": "r",
-      "%73": "s",
-      "%74": "t",
-      "%75": "u",
-      "%76": "v",
-      "%77": "w",
-      "%78": "x",
-      "%79": "y",
-      "%7a": "z",
-      "%7A": "z",
-      "%7b": "{",
-      "%7B": "{",
-      "%7c": "|",
-      "%7C": "|",
-      "%7d": "}",
-      "%7D": "}",
-      "%7e": "~",
-      "%7E": "~",
-      "%7f": "\x7F",
-      "%7F": "\x7F",
-      "%80": "\x80",
-      "%81": "\x81",
-      "%82": "\x82",
-      "%83": "\x83",
-      "%84": "\x84",
-      "%85": "\x85",
-      "%86": "\x86",
-      "%87": "\x87",
-      "%88": "\x88",
-      "%89": "\x89",
-      "%8a": "\x8A",
-      "%8A": "\x8A",
-      "%8b": "\x8B",
-      "%8B": "\x8B",
-      "%8c": "\x8C",
-      "%8C": "\x8C",
-      "%8d": "\x8D",
-      "%8D": "\x8D",
-      "%8e": "\x8E",
-      "%8E": "\x8E",
-      "%8f": "\x8F",
-      "%8F": "\x8F",
-      "%90": "\x90",
-      "%91": "\x91",
-      "%92": "\x92",
-      "%93": "\x93",
-      "%94": "\x94",
-      "%95": "\x95",
-      "%96": "\x96",
-      "%97": "\x97",
-      "%98": "\x98",
-      "%99": "\x99",
-      "%9a": "\x9A",
-      "%9A": "\x9A",
-      "%9b": "\x9B",
-      "%9B": "\x9B",
-      "%9c": "\x9C",
-      "%9C": "\x9C",
-      "%9d": "\x9D",
-      "%9D": "\x9D",
-      "%9e": "\x9E",
-      "%9E": "\x9E",
-      "%9f": "\x9F",
-      "%9F": "\x9F",
-      "%a0": "\xA0",
-      "%A0": "\xA0",
-      "%a1": "\xA1",
-      "%A1": "\xA1",
-      "%a2": "\xA2",
-      "%A2": "\xA2",
-      "%a3": "\xA3",
-      "%A3": "\xA3",
-      "%a4": "\xA4",
-      "%A4": "\xA4",
-      "%a5": "\xA5",
-      "%A5": "\xA5",
-      "%a6": "\xA6",
-      "%A6": "\xA6",
-      "%a7": "\xA7",
-      "%A7": "\xA7",
-      "%a8": "\xA8",
-      "%A8": "\xA8",
-      "%a9": "\xA9",
-      "%A9": "\xA9",
-      "%aa": "\xAA",
-      "%Aa": "\xAA",
-      "%aA": "\xAA",
-      "%AA": "\xAA",
-      "%ab": "\xAB",
-      "%Ab": "\xAB",
-      "%aB": "\xAB",
-      "%AB": "\xAB",
-      "%ac": "\xAC",
-      "%Ac": "\xAC",
-      "%aC": "\xAC",
-      "%AC": "\xAC",
-      "%ad": "\xAD",
-      "%Ad": "\xAD",
-      "%aD": "\xAD",
-      "%AD": "\xAD",
-      "%ae": "\xAE",
-      "%Ae": "\xAE",
-      "%aE": "\xAE",
-      "%AE": "\xAE",
-      "%af": "\xAF",
-      "%Af": "\xAF",
-      "%aF": "\xAF",
-      "%AF": "\xAF",
-      "%b0": "\xB0",
-      "%B0": "\xB0",
-      "%b1": "\xB1",
-      "%B1": "\xB1",
-      "%b2": "\xB2",
-      "%B2": "\xB2",
-      "%b3": "\xB3",
-      "%B3": "\xB3",
-      "%b4": "\xB4",
-      "%B4": "\xB4",
-      "%b5": "\xB5",
-      "%B5": "\xB5",
-      "%b6": "\xB6",
-      "%B6": "\xB6",
-      "%b7": "\xB7",
-      "%B7": "\xB7",
-      "%b8": "\xB8",
-      "%B8": "\xB8",
-      "%b9": "\xB9",
-      "%B9": "\xB9",
-      "%ba": "\xBA",
-      "%Ba": "\xBA",
-      "%bA": "\xBA",
-      "%BA": "\xBA",
-      "%bb": "\xBB",
-      "%Bb": "\xBB",
-      "%bB": "\xBB",
-      "%BB": "\xBB",
-      "%bc": "\xBC",
-      "%Bc": "\xBC",
-      "%bC": "\xBC",
-      "%BC": "\xBC",
-      "%bd": "\xBD",
-      "%Bd": "\xBD",
-      "%bD": "\xBD",
-      "%BD": "\xBD",
-      "%be": "\xBE",
-      "%Be": "\xBE",
-      "%bE": "\xBE",
-      "%BE": "\xBE",
-      "%bf": "\xBF",
-      "%Bf": "\xBF",
-      "%bF": "\xBF",
-      "%BF": "\xBF",
-      "%c0": "\xC0",
-      "%C0": "\xC0",
-      "%c1": "\xC1",
-      "%C1": "\xC1",
-      "%c2": "\xC2",
-      "%C2": "\xC2",
-      "%c3": "\xC3",
-      "%C3": "\xC3",
-      "%c4": "\xC4",
-      "%C4": "\xC4",
-      "%c5": "\xC5",
-      "%C5": "\xC5",
-      "%c6": "\xC6",
-      "%C6": "\xC6",
-      "%c7": "\xC7",
-      "%C7": "\xC7",
-      "%c8": "\xC8",
-      "%C8": "\xC8",
-      "%c9": "\xC9",
-      "%C9": "\xC9",
-      "%ca": "\xCA",
-      "%Ca": "\xCA",
-      "%cA": "\xCA",
-      "%CA": "\xCA",
-      "%cb": "\xCB",
-      "%Cb": "\xCB",
-      "%cB": "\xCB",
-      "%CB": "\xCB",
-      "%cc": "\xCC",
-      "%Cc": "\xCC",
-      "%cC": "\xCC",
-      "%CC": "\xCC",
-      "%cd": "\xCD",
-      "%Cd": "\xCD",
-      "%cD": "\xCD",
-      "%CD": "\xCD",
-      "%ce": "\xCE",
-      "%Ce": "\xCE",
-      "%cE": "\xCE",
-      "%CE": "\xCE",
-      "%cf": "\xCF",
-      "%Cf": "\xCF",
-      "%cF": "\xCF",
-      "%CF": "\xCF",
-      "%d0": "\xD0",
-      "%D0": "\xD0",
-      "%d1": "\xD1",
-      "%D1": "\xD1",
-      "%d2": "\xD2",
-      "%D2": "\xD2",
-      "%d3": "\xD3",
-      "%D3": "\xD3",
-      "%d4": "\xD4",
-      "%D4": "\xD4",
-      "%d5": "\xD5",
-      "%D5": "\xD5",
-      "%d6": "\xD6",
-      "%D6": "\xD6",
-      "%d7": "\xD7",
-      "%D7": "\xD7",
-      "%d8": "\xD8",
-      "%D8": "\xD8",
-      "%d9": "\xD9",
-      "%D9": "\xD9",
-      "%da": "\xDA",
-      "%Da": "\xDA",
-      "%dA": "\xDA",
-      "%DA": "\xDA",
-      "%db": "\xDB",
-      "%Db": "\xDB",
-      "%dB": "\xDB",
-      "%DB": "\xDB",
-      "%dc": "\xDC",
-      "%Dc": "\xDC",
-      "%dC": "\xDC",
-      "%DC": "\xDC",
-      "%dd": "\xDD",
-      "%Dd": "\xDD",
-      "%dD": "\xDD",
-      "%DD": "\xDD",
-      "%de": "\xDE",
-      "%De": "\xDE",
-      "%dE": "\xDE",
-      "%DE": "\xDE",
-      "%df": "\xDF",
-      "%Df": "\xDF",
-      "%dF": "\xDF",
-      "%DF": "\xDF",
-      "%e0": "\xE0",
-      "%E0": "\xE0",
-      "%e1": "\xE1",
-      "%E1": "\xE1",
-      "%e2": "\xE2",
-      "%E2": "\xE2",
-      "%e3": "\xE3",
-      "%E3": "\xE3",
-      "%e4": "\xE4",
-      "%E4": "\xE4",
-      "%e5": "\xE5",
-      "%E5": "\xE5",
-      "%e6": "\xE6",
-      "%E6": "\xE6",
-      "%e7": "\xE7",
-      "%E7": "\xE7",
-      "%e8": "\xE8",
-      "%E8": "\xE8",
-      "%e9": "\xE9",
-      "%E9": "\xE9",
-      "%ea": "\xEA",
-      "%Ea": "\xEA",
-      "%eA": "\xEA",
-      "%EA": "\xEA",
-      "%eb": "\xEB",
-      "%Eb": "\xEB",
-      "%eB": "\xEB",
-      "%EB": "\xEB",
-      "%ec": "\xEC",
-      "%Ec": "\xEC",
-      "%eC": "\xEC",
-      "%EC": "\xEC",
-      "%ed": "\xED",
-      "%Ed": "\xED",
-      "%eD": "\xED",
-      "%ED": "\xED",
-      "%ee": "\xEE",
-      "%Ee": "\xEE",
-      "%eE": "\xEE",
-      "%EE": "\xEE",
-      "%ef": "\xEF",
-      "%Ef": "\xEF",
-      "%eF": "\xEF",
-      "%EF": "\xEF",
-      "%f0": "\xF0",
-      "%F0": "\xF0",
-      "%f1": "\xF1",
-      "%F1": "\xF1",
-      "%f2": "\xF2",
-      "%F2": "\xF2",
-      "%f3": "\xF3",
-      "%F3": "\xF3",
-      "%f4": "\xF4",
-      "%F4": "\xF4",
-      "%f5": "\xF5",
-      "%F5": "\xF5",
-      "%f6": "\xF6",
-      "%F6": "\xF6",
-      "%f7": "\xF7",
-      "%F7": "\xF7",
-      "%f8": "\xF8",
-      "%F8": "\xF8",
-      "%f9": "\xF9",
-      "%F9": "\xF9",
-      "%fa": "\xFA",
-      "%Fa": "\xFA",
-      "%fA": "\xFA",
-      "%FA": "\xFA",
-      "%fb": "\xFB",
-      "%Fb": "\xFB",
-      "%fB": "\xFB",
-      "%FB": "\xFB",
-      "%fc": "\xFC",
-      "%Fc": "\xFC",
-      "%fC": "\xFC",
-      "%FC": "\xFC",
-      "%fd": "\xFD",
-      "%Fd": "\xFD",
-      "%fD": "\xFD",
-      "%FD": "\xFD",
-      "%fe": "\xFE",
-      "%Fe": "\xFE",
-      "%fE": "\xFE",
-      "%FE": "\xFE",
-      "%ff": "\xFF",
-      "%Ff": "\xFF",
-      "%fF": "\xFF",
-      "%FF": "\xFF"
-    };
-    function encodedReplacer(match) {
-      return EncodedLookup[match];
-    }
-    var STATE_KEY = 0;
-    var STATE_VALUE = 1;
-    var STATE_CHARSET = 2;
-    var STATE_LANG = 3;
-    function parseParams(str2) {
-      const res = [];
-      let state = STATE_KEY;
-      let charset = "";
-      let inquote = false;
-      let escaping = false;
-      let p = 0;
-      let tmp = "";
-      const len = str2.length;
-      for (var i = 0; i < len; ++i) {
-        const char = str2[i];
-        if (char === "\\" && inquote) {
-          if (escaping) {
-            escaping = false;
-          } else {
-            escaping = true;
-            continue;
-          }
-        } else if (char === '"') {
-          if (!escaping) {
-            if (inquote) {
-              inquote = false;
-              state = STATE_KEY;
-            } else {
-              inquote = true;
+      let headerName = headerNameLowerCasedRecord[key];
+      if (headerName === void 0) {
+        headerName = key.toLowerCase();
+        if (headerNameLowerCasedRecord[headerName] === void 0 && !isValidHTTPToken(headerName)) {
+          throw new InvalidArgumentError("invalid header key");
+        }
+      }
+      if (Array.isArray(val)) {
+        const arr = [];
+        for (let i = 0; i < val.length; i++) {
+          if (typeof val[i] === "string") {
+            if (!isValidHeaderValue(val[i])) {
+              throw new InvalidArgumentError(`invalid ${key} header`);
             }
-            continue;
+            arr.push(val[i]);
+          } else if (val[i] === null) {
+            arr.push("");
+          } else if (typeof val[i] === "object") {
+            throw new InvalidArgumentError(`invalid ${key} header`);
           } else {
-            escaping = false;
-          }
-        } else {
-          if (escaping && inquote) {
-            tmp += "\\";
-          }
-          escaping = false;
-          if ((state === STATE_CHARSET || state === STATE_LANG) && char === "'") {
-            if (state === STATE_CHARSET) {
-              state = STATE_LANG;
-              charset = tmp.substring(1);
-            } else {
-              state = STATE_VALUE;
-            }
-            tmp = "";
-            continue;
-          } else if (state === STATE_KEY && (char === "*" || char === "=") && res.length) {
-            state = char === "*" ? STATE_CHARSET : STATE_VALUE;
-            res[p] = [tmp, void 0];
-            tmp = "";
-            continue;
-          } else if (!inquote && char === ";") {
-            state = STATE_KEY;
-            if (charset) {
-              if (tmp.length) {
-                tmp = decodeText(
-                  tmp.replace(RE_ENCODED, encodedReplacer),
-                  "binary",
-                  charset
-                );
-              }
-              charset = "";
-            } else if (tmp.length) {
-              tmp = decodeText(tmp, "binary", "utf8");
-            }
-            if (res[p] === void 0) {
-              res[p] = tmp;
-            } else {
-              res[p][1] = tmp;
-            }
-            tmp = "";
-            ++p;
-            continue;
-          } else if (!inquote && (char === " " || char === "	")) {
-            continue;
+            arr.push(`${val[i]}`);
           }
         }
-        tmp += char;
-      }
-      if (charset && tmp.length) {
-        tmp = decodeText(
-          tmp.replace(RE_ENCODED, encodedReplacer),
-          "binary",
-          charset
-        );
-      } else if (tmp) {
-        tmp = decodeText(tmp, "binary", "utf8");
-      }
-      if (res[p] === void 0) {
-        if (tmp) {
-          res[p] = tmp;
+        val = arr;
+      } else if (typeof val === "string") {
+        if (!isValidHeaderValue(val)) {
+          throw new InvalidArgumentError(`invalid ${key} header`);
         }
+      } else if (val === null) {
+        val = "";
       } else {
-        res[p][1] = tmp;
-      }
-      return res;
-    }
-    module2.exports = parseParams;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/basename.js
-var require_basename = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/basename.js"(exports2, module2) {
-    "use strict";
-    module2.exports = function basename(path16) {
-      if (typeof path16 !== "string") {
-        return "";
+        val = `${val}`;
       }
-      for (var i = path16.length - 1; i >= 0; --i) {
-        switch (path16.charCodeAt(i)) {
-          case 47:
-          // '/'
-          case 92:
-            path16 = path16.slice(i + 1);
-            return path16 === ".." || path16 === "." ? "" : path16;
+      if (request2.host === null && headerName === "host") {
+        if (typeof val !== "string") {
+          throw new InvalidArgumentError("invalid host header");
         }
-      }
-      return path16 === ".." || path16 === "." ? "" : path16;
-    };
-  }
-});
-
-// node_modules/@fastify/busboy/lib/types/multipart.js
-var require_multipart = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/multipart.js"(exports2, module2) {
-    "use strict";
-    var { Readable: Readable2 } = require("node:stream");
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var parseParams = require_parseParams();
-    var decodeText = require_decodeText();
-    var basename = require_basename();
-    var getLimit = require_getLimit();
-    var RE_BOUNDARY = /^boundary$/i;
-    var RE_FIELD = /^form-data$/i;
-    var RE_CHARSET = /^charset$/i;
-    var RE_FILENAME = /^filename$/i;
-    var RE_NAME = /^name$/i;
-    Multipart.detect = /^multipart\/form-data/i;
-    function Multipart(boy, cfg) {
-      let i;
-      let len;
-      const self2 = this;
-      let boundary;
-      const limits = cfg.limits;
-      const isPartAFile = cfg.isPartAFile || ((fieldName, contentType, fileName) => contentType === "application/octet-stream" || fileName !== void 0);
-      const parsedConType = cfg.parsedConType || [];
-      const defCharset = cfg.defCharset || "utf8";
-      const preservePath = cfg.preservePath;
-      const fileOpts = { highWaterMark: cfg.fileHwm };
-      for (i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_BOUNDARY.test(parsedConType[i][0])) {
-          boundary = parsedConType[i][1];
-          break;
+        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");
         }
-      }
-      function checkFinished() {
-        if (nends === 0 && finished && !boy._done) {
-          finished = false;
-          self2.end();
+      } 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 (typeof boundary !== "string") {
-        throw new Error("Multipart: Boundary not found");
-      }
-      const fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      const fileSizeLimit = getLimit(limits, "fileSize", Infinity);
-      const filesLimit = getLimit(limits, "files", Infinity);
-      const fieldsLimit = getLimit(limits, "fields", Infinity);
-      const partsLimit = getLimit(limits, "parts", Infinity);
-      const headerPairsLimit = getLimit(limits, "headerPairs", 2e3);
-      const headerSizeLimit = getLimit(limits, "headerSize", 80 * 1024);
-      let nfiles = 0;
-      let nfields = 0;
-      let nends = 0;
-      let curFile;
-      let curField;
-      let finished = false;
-      this._needDrain = false;
-      this._pause = false;
-      this._cb = void 0;
-      this._nparts = 0;
-      this._boy = boy;
-      const parserCfg = {
-        boundary,
-        maxHeaderPairs: headerPairsLimit,
-        maxHeaderSize: headerSizeLimit,
-        partHwm: fileOpts.highWaterMark,
-        highWaterMark: cfg.highWaterMark
-      };
-      this.parser = new Dicer(parserCfg);
-      this.parser.on("drain", function() {
-        self2._needDrain = false;
-        if (self2._cb && !self2._pause) {
-          const cb = self2._cb;
-          self2._cb = void 0;
-          cb();
+        if (value === "close") {
+          request2.reset = true;
         }
-      }).on("part", function onPart(part) {
-        if (++self2._nparts > partsLimit) {
-          self2.parser.removeListener("part", onPart);
-          self2.parser.on("part", skipPart);
-          boy.hitPartsLimit = true;
-          boy.emit("partsLimit");
-          return skipPart(part);
-        }
-        if (curField) {
-          const field = curField;
-          field.emit("end");
-          field.removeAllListeners("end");
-        }
-        part.on("header", function(header) {
-          let contype;
-          let fieldname;
-          let parsed;
-          let charset;
-          let encoding;
-          let filename;
-          let nsize = 0;
-          if (header["content-type"]) {
-            parsed = parseParams(header["content-type"][0]);
-            if (parsed[0]) {
-              contype = parsed[0].toLowerCase();
-              for (i = 0, len = parsed.length; i < len; ++i) {
-                if (RE_CHARSET.test(parsed[i][0])) {
-                  charset = parsed[i][1].toLowerCase();
-                  break;
-                }
-              }
-            }
-          }
-          if (contype === void 0) {
-            contype = "text/plain";
-          }
-          if (charset === void 0) {
-            charset = defCharset;
-          }
-          if (header["content-disposition"]) {
-            parsed = parseParams(header["content-disposition"][0]);
-            if (!RE_FIELD.test(parsed[0])) {
-              return skipPart(part);
-            }
-            for (i = 0, len = parsed.length; i < len; ++i) {
-              if (RE_NAME.test(parsed[i][0])) {
-                fieldname = parsed[i][1];
-              } else if (RE_FILENAME.test(parsed[i][0])) {
-                filename = parsed[i][1];
-                if (!preservePath) {
-                  filename = basename(filename);
-                }
-              }
-            }
-          } else {
-            return skipPart(part);
-          }
-          if (header["content-transfer-encoding"]) {
-            encoding = header["content-transfer-encoding"][0].toLowerCase();
-          } else {
-            encoding = "7bit";
-          }
-          let onData, onEnd;
-          if (isPartAFile(fieldname, contype, filename)) {
-            if (nfiles === filesLimit) {
-              if (!boy.hitFilesLimit) {
-                boy.hitFilesLimit = true;
-                boy.emit("filesLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfiles;
-            if (boy.listenerCount("file") === 0) {
-              self2.parser._ignore();
-              return;
-            }
-            ++nends;
-            const file = new FileStream(fileOpts);
-            curFile = file;
-            file.on("end", function() {
-              --nends;
-              self2._pause = false;
-              checkFinished();
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            });
-            file._read = function(n) {
-              if (!self2._pause) {
-                return;
-              }
-              self2._pause = false;
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            };
-            boy.emit("file", fieldname, file, filename, encoding, contype);
-            onData = function(data) {
-              if ((nsize += data.length) > fileSizeLimit) {
-                const extralen = fileSizeLimit - nsize + data.length;
-                if (extralen > 0) {
-                  file.push(data.slice(0, extralen));
-                }
-                file.truncated = true;
-                file.bytesRead = fileSizeLimit;
-                part.removeAllListeners("data");
-                file.emit("limit");
-                return;
-              } else if (!file.push(data)) {
-                self2._pause = true;
-              }
-              file.bytesRead = nsize;
-            };
-            onEnd = function() {
-              curFile = void 0;
-              file.push(null);
-            };
-          } else {
-            if (nfields === fieldsLimit) {
-              if (!boy.hitFieldsLimit) {
-                boy.hitFieldsLimit = true;
-                boy.emit("fieldsLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfields;
-            ++nends;
-            let buffer = "";
-            let truncated = false;
-            curField = part;
-            onData = function(data) {
-              if ((nsize += data.length) > fieldSizeLimit) {
-                const extralen = fieldSizeLimit - (nsize - data.length);
-                buffer += data.toString("binary", 0, extralen);
-                truncated = true;
-                part.removeAllListeners("data");
-              } else {
-                buffer += data.toString("binary");
-              }
-            };
-            onEnd = function() {
-              curField = void 0;
-              if (buffer.length) {
-                buffer = decodeText(buffer, "binary", charset);
-              }
-              boy.emit("field", fieldname, buffer, false, truncated, encoding, contype);
-              --nends;
-              checkFinished();
-            };
-          }
-          part._readableState.sync = false;
-          part.on("data", onData);
-          part.on("end", onEnd);
-        }).on("error", function(err) {
-          if (curFile) {
-            curFile.emit("error", err);
-          }
-        });
-      }).on("error", function(err) {
-        boy.emit("error", err);
-      }).on("finish", function() {
-        finished = true;
-        checkFinished();
-      });
-    }
-    Multipart.prototype.write = function(chunk, cb) {
-      const r = this.parser.write(chunk);
-      if (r && !this._pause) {
-        cb();
+      } else if (headerName === "expect") {
+        throw new NotSupportedError("expect header not supported");
       } else {
-        this._needDrain = !r;
-        this._cb = cb;
-      }
-    };
-    Multipart.prototype.end = function() {
-      const self2 = this;
-      if (self2.parser.writable) {
-        self2.parser.end();
-      } else if (!self2._boy._done) {
-        process.nextTick(function() {
-          self2._boy._done = true;
-          self2._boy.emit("finish");
-        });
+        request2.headers.push(key, val);
       }
-    };
-    function skipPart(part) {
-      part.resume();
-    }
-    function FileStream(opts) {
-      Readable2.call(this, opts);
-      this.bytesRead = 0;
-      this.truncated = false;
     }
-    inherits(FileStream, Readable2);
-    FileStream.prototype._read = function(n) {
-    };
-    module2.exports = Multipart;
+    module2.exports = Request;
   }
 });
 
-// node_modules/@fastify/busboy/lib/utils/Decoder.js
-var require_Decoder = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/Decoder.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js
+var require_dispatcher2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js"(exports2, module2) {
     "use strict";
-    var RE_PLUS = /\+/g;
-    var HEX = [
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0
-    ];
-    function Decoder() {
-      this.buffer = void 0;
-    }
-    Decoder.prototype.write = function(str2) {
-      str2 = str2.replace(RE_PLUS, " ");
-      let res = "";
-      let i = 0;
-      let p = 0;
-      const len = str2.length;
-      for (; i < len; ++i) {
-        if (this.buffer !== void 0) {
-          if (!HEX[str2.charCodeAt(i)]) {
-            res += "%" + this.buffer;
-            this.buffer = void 0;
-            --i;
-          } else {
-            this.buffer += str2[i];
-            ++p;
-            if (this.buffer.length === 2) {
-              res += String.fromCharCode(parseInt(this.buffer, 16));
-              this.buffer = void 0;
-            }
-          }
-        } else if (str2[i] === "%") {
-          if (i > p) {
-            res += str2.substring(p, i);
-            p = i;
-          }
-          this.buffer = "";
-          ++p;
-        }
+    var EventEmitter = require("node:events");
+    var Dispatcher = class extends EventEmitter {
+      dispatch() {
+        throw new Error("not implemented");
       }
-      if (p < len && this.buffer === void 0) {
-        res += str2.substring(p);
+      close() {
+        throw new Error("not implemented");
       }
-      return res;
-    };
-    Decoder.prototype.reset = function() {
-      this.buffer = void 0;
-    };
-    module2.exports = Decoder;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/types/urlencoded.js
-var require_urlencoded = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/urlencoded.js"(exports2, module2) {
-    "use strict";
-    var Decoder = require_Decoder();
-    var decodeText = require_decodeText();
-    var getLimit = require_getLimit();
-    var RE_CHARSET = /^charset$/i;
-    UrlEncoded.detect = /^application\/x-www-form-urlencoded/i;
-    function UrlEncoded(boy, cfg) {
-      const limits = cfg.limits;
-      const parsedConType = cfg.parsedConType;
-      this.boy = boy;
-      this.fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      this.fieldNameSizeLimit = getLimit(limits, "fieldNameSize", 100);
-      this.fieldsLimit = getLimit(limits, "fields", Infinity);
-      let charset;
-      for (var i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_CHARSET.test(parsedConType[i][0])) {
-          charset = parsedConType[i][1].toLowerCase();
-          break;
-        }
+      destroy() {
+        throw new Error("not implemented");
       }
-      if (charset === void 0) {
-        charset = cfg.defCharset || "utf8";
-      }
-      this.decoder = new Decoder();
-      this.charset = charset;
-      this._fields = 0;
-      this._state = "key";
-      this._checkingBytes = true;
-      this._bytesKey = 0;
-      this._bytesVal = 0;
-      this._key = "";
-      this._val = "";
-      this._keyTrunc = false;
-      this._valTrunc = false;
-      this._hitLimit = false;
-    }
-    UrlEncoded.prototype.write = function(data, cb) {
-      if (this._fields === this.fieldsLimit) {
-        if (!this.boy.hitFieldsLimit) {
-          this.boy.hitFieldsLimit = true;
-          this.boy.emit("fieldsLimit");
-        }
-        return cb();
-      }
-      let idxeq;
-      let idxamp;
-      let i;
-      let p = 0;
-      const len = data.length;
-      while (p < len) {
-        if (this._state === "key") {
-          idxeq = idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 61) {
-              idxeq = i;
-              break;
-            } else if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesKey === this.fieldNameSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesKey;
-            }
-          }
-          if (idxeq !== void 0) {
-            if (idxeq > p) {
-              this._key += this.decoder.write(data.toString("binary", p, idxeq));
-            }
-            this._state = "val";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._val = "";
-            this._bytesVal = 0;
-            this._valTrunc = false;
-            this.decoder.reset();
-            p = idxeq + 1;
-          } else if (idxamp !== void 0) {
-            ++this._fields;
-            let key;
-            const keyTrunc = this._keyTrunc;
-            if (idxamp > p) {
-              key = this._key += this.decoder.write(data.toString("binary", p, idxamp));
-            } else {
-              key = this._key;
-            }
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            if (key.length) {
-              this.boy.emit(
-                "field",
-                decodeText(key, "binary", this.charset),
-                "",
-                keyTrunc,
-                false
-              );
-            }
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._key += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if ((this._bytesKey = this._key.length) === this.fieldNameSizeLimit) {
-              this._checkingBytes = false;
-              this._keyTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._key += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+      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;
           }
-        } else {
-          idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesVal === this.fieldSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesVal;
-            }
+          if (typeof interceptor !== "function") {
+            throw new TypeError(`invalid interceptor, expected function received ${typeof interceptor}`);
           }
-          if (idxamp !== void 0) {
-            ++this._fields;
-            if (idxamp > p) {
-              this._val += this.decoder.write(data.toString("binary", p, idxamp));
-            }
-            this.boy.emit(
-              "field",
-              decodeText(this._key, "binary", this.charset),
-              decodeText(this._val, "binary", this.charset),
-              this._keyTrunc,
-              this._valTrunc
-            );
-            this._state = "key";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._val += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if (this._val === "" && this.fieldSizeLimit === 0 || (this._bytesVal = this._val.length) === this.fieldSizeLimit) {
-              this._checkingBytes = false;
-              this._valTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._val += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+          dispatch = interceptor(dispatch);
+          if (dispatch == null || typeof dispatch !== "function" || dispatch.length !== 2) {
+            throw new TypeError("invalid interceptor");
           }
         }
+        return new ComposedDispatcher(this, dispatch);
       }
-      cb();
     };
-    UrlEncoded.prototype.end = function() {
-      if (this.boy._done) {
-        return;
+    var ComposedDispatcher = class extends Dispatcher {
+      #dispatcher = null;
+      #dispatch = null;
+      constructor(dispatcher, dispatch) {
+        super();
+        this.#dispatcher = dispatcher;
+        this.#dispatch = dispatch;
       }
-      if (this._state === "key" && this._key.length > 0) {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          "",
-          this._keyTrunc,
-          false
-        );
-      } else if (this._state === "val") {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          decodeText(this._val, "binary", this.charset),
-          this._keyTrunc,
-          this._valTrunc
-        );
+      dispatch(...args) {
+        this.#dispatch(...args);
+      }
+      close(...args) {
+        return this.#dispatcher.close(...args);
+      }
+      destroy(...args) {
+        return this.#dispatcher.destroy(...args);
       }
-      this.boy._done = true;
-      this.boy.emit("finish");
     };
-    module2.exports = UrlEncoded;
+    module2.exports = Dispatcher;
   }
 });
 
-// node_modules/@fastify/busboy/lib/main.js
-var require_main = __commonJS({
-  "node_modules/@fastify/busboy/lib/main.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js
+var require_dispatcher_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js"(exports2, module2) {
     "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var MultipartParser = require_multipart();
-    var UrlencodedParser = require_urlencoded();
-    var parseParams = require_parseParams();
-    function Busboy(opts) {
-      if (!(this instanceof Busboy)) {
-        return new Busboy(opts);
+    var Dispatcher = require_dispatcher2();
+    var {
+      ClientDestroyedError,
+      ClientClosedError,
+      InvalidArgumentError
+    } = require_errors2();
+    var { kDestroy, kClose, kClosed, kDestroyed, kDispatch, kInterceptors } = require_symbols6();
+    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
+    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
+    var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
+    var DispatcherBase = class extends Dispatcher {
+      constructor() {
+        super();
+        this[kDestroyed] = false;
+        this[kOnDestroyed] = null;
+        this[kClosed] = false;
+        this[kOnClosed] = [];
       }
-      if (typeof opts !== "object") {
-        throw new TypeError("Busboy expected an options-Object.");
+      get destroyed() {
+        return this[kDestroyed];
       }
-      if (typeof opts.headers !== "object") {
-        throw new TypeError("Busboy expected an options-Object with headers-attribute.");
+      get closed() {
+        return this[kClosed];
       }
-      if (typeof opts.headers["content-type"] !== "string") {
-        throw new TypeError("Missing Content-Type-header.");
+      get interceptors() {
+        return this[kInterceptors];
       }
-      const {
-        headers,
-        ...streamOptions
-      } = opts;
-      this.opts = {
-        autoDestroy: false,
-        ...streamOptions
-      };
-      WritableStream.call(this, this.opts);
-      this._done = false;
-      this._parser = this.getParserByHeaders(headers);
-      this._finished = false;
-    }
-    inherits(Busboy, WritableStream);
-    Busboy.prototype.emit = function(ev) {
-      if (ev === "finish") {
-        if (!this._done) {
-          this._parser?.end();
+      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");
+            }
+          }
+        }
+        this[kInterceptors] = newInterceptors;
+      }
+      close(callback) {
+        if (callback === void 0) {
+          return new Promise((resolve9, reject) => {
+            this.close((err, data) => {
+              return err ? reject(err) : resolve9(data);
+            });
+          });
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        if (this[kDestroyed]) {
+          queueMicrotask(() => callback(new ClientDestroyedError(), null));
           return;
-        } else if (this._finished) {
+        }
+        if (this[kClosed]) {
+          if (this[kOnClosed]) {
+            this[kOnClosed].push(callback);
+          } else {
+            queueMicrotask(() => callback(null, null));
+          }
           return;
         }
-        this._finished = true;
-      }
-      WritableStream.prototype.emit.apply(this, arguments);
-    };
-    Busboy.prototype.getParserByHeaders = function(headers) {
-      const parsed = parseParams(headers["content-type"]);
-      const cfg = {
-        defCharset: this.opts.defCharset,
-        fileHwm: this.opts.fileHwm,
-        headers,
-        highWaterMark: this.opts.highWaterMark,
-        isPartAFile: this.opts.isPartAFile,
-        limits: this.opts.limits,
-        parsedConType: parsed,
-        preservePath: this.opts.preservePath
-      };
-      if (MultipartParser.detect.test(parsed[0])) {
-        return new MultipartParser(this, cfg);
+        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);
+        });
       }
-      if (UrlencodedParser.detect.test(parsed[0])) {
-        return new UrlencodedParser(this, cfg);
+      destroy(err, callback) {
+        if (typeof err === "function") {
+          callback = err;
+          err = null;
+        }
+        if (callback === void 0) {
+          return new Promise((resolve9, reject) => {
+            this.destroy(err, (err2, data) => {
+              return err2 ? (
+                /* istanbul ignore next: should never error */
+                reject(err2)
+              ) : resolve9(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;
+        }
       }
-      throw new Error("Unsupported Content-Type.");
-    };
-    Busboy.prototype._write = function(chunk, encoding, cb) {
-      this._parser.write(chunk, cb);
     };
-    module2.exports = Busboy;
-    module2.exports.default = Busboy;
-    module2.exports.Busboy = Busboy;
-    module2.exports.Dicer = Dicer;
+    module2.exports = DispatcherBase;
   }
 });
 
-// node_modules/undici/lib/fetch/constants.js
-var require_constants7 = __commonJS({
-  "node_modules/undici/lib/fetch/constants.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/util/timers.js
+var require_timers2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/util/timers.js"(exports2, module2) {
     "use strict";
-    var { MessageChannel, receiveMessageOnPort } = require("worker_threads");
-    var corsSafeListedMethods = ["GET", "HEAD", "POST"];
-    var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
-    var nullBodyStatus = [101, 204, 205, 304];
-    var redirectStatus = [301, 302, 303, 307, 308];
-    var redirectStatusSet = new Set(redirectStatus);
-    var badPorts = [
-      "1",
-      "7",
-      "9",
-      "11",
-      "13",
-      "15",
-      "17",
-      "19",
-      "20",
-      "21",
-      "22",
-      "23",
-      "25",
-      "37",
-      "42",
-      "43",
-      "53",
-      "69",
-      "77",
-      "79",
-      "87",
-      "95",
-      "101",
-      "102",
-      "103",
-      "104",
-      "109",
-      "110",
-      "111",
-      "113",
-      "115",
-      "117",
-      "119",
-      "123",
-      "135",
-      "137",
-      "139",
-      "143",
-      "161",
-      "179",
-      "389",
-      "427",
-      "465",
-      "512",
-      "513",
-      "514",
-      "515",
-      "526",
-      "530",
-      "531",
-      "532",
-      "540",
-      "548",
-      "554",
-      "556",
-      "563",
-      "587",
-      "601",
-      "636",
-      "989",
-      "990",
-      "993",
-      "995",
-      "1719",
-      "1720",
-      "1723",
-      "2049",
-      "3659",
-      "4045",
-      "5060",
-      "5061",
-      "6000",
-      "6566",
-      "6665",
-      "6666",
-      "6667",
-      "6668",
-      "6669",
-      "6697",
-      "10080"
-    ];
-    var badPortsSet = new Set(badPorts);
-    var referrerPolicy = [
-      "",
-      "no-referrer",
-      "no-referrer-when-downgrade",
-      "same-origin",
-      "origin",
-      "strict-origin",
-      "origin-when-cross-origin",
-      "strict-origin-when-cross-origin",
-      "unsafe-url"
-    ];
-    var referrerPolicySet = new Set(referrerPolicy);
-    var requestRedirect = ["follow", "manual", "error"];
-    var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"];
-    var safeMethodsSet = new Set(safeMethods);
-    var requestMode = ["navigate", "same-origin", "no-cors", "cors"];
-    var requestCredentials = ["omit", "same-origin", "include"];
-    var requestCache = [
-      "default",
-      "no-store",
-      "reload",
-      "no-cache",
-      "force-cache",
-      "only-if-cached"
-    ];
-    var requestBodyHeader = [
-      "content-encoding",
-      "content-language",
-      "content-location",
-      "content-type",
-      // See https://github.com/nodejs/undici/issues/2021
-      // 'Content-Length' is a forbidden header name, which is typically
-      // removed in the Headers implementation. However, undici doesn't
-      // filter out headers, so we add it here.
-      "content-length"
-    ];
-    var requestDuplex = [
-      "half"
-    ];
-    var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"];
-    var forbiddenMethodsSet = new Set(forbiddenMethods);
-    var subresource = [
-      "audio",
-      "audioworklet",
-      "font",
-      "image",
-      "manifest",
-      "paintworklet",
-      "script",
-      "style",
-      "track",
-      "video",
-      "xslt",
-      ""
-    ];
-    var subresourceSet = new Set(subresource);
-    var DOMException2 = globalThis.DOMException ?? (() => {
-      try {
-        atob("~");
-      } catch (err) {
-        return Object.getPrototypeOf(err).constructor;
+    var fastNow = 0;
+    var RESOLUTION_MS = 1e3;
+    var TICK_MS = (RESOLUTION_MS >> 1) - 1;
+    var fastNowTimeout;
+    var kFastTimer = /* @__PURE__ */ 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;
+        }
       }
-    })();
-    var channel;
-    var structuredClone = globalThis.structuredClone ?? // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js
-    // structuredClone was added in v17.0.0, but fetch supports v16.8
-    function structuredClone2(value, options = void 0) {
-      if (arguments.length === 0) {
-        throw new TypeError("missing argument");
+      fastTimers.length = len;
+      if (fastTimers.length !== 0) {
+        refreshTimeout();
       }
-      if (!channel) {
-        channel = new MessageChannel();
+    }
+    function refreshTimeout() {
+      if (fastNowTimeout) {
+        fastNowTimeout.refresh();
+      } else {
+        clearTimeout(fastNowTimeout);
+        fastNowTimeout = setTimeout(onTick, TICK_MS);
+        if (fastNowTimeout.unref) {
+          fastNowTimeout.unref();
+        }
       }
-      channel.port1.unref();
-      channel.port2.unref();
-      channel.port1.postMessage(value, options?.transfer);
-      return receiveMessageOnPort(channel.port2).message;
-    };
-    module2.exports = {
-      DOMException: DOMException2,
-      structuredClone,
-      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/fetch/global.js
-var require_global3 = __commonJS({
-  "node_modules/undici/lib/fetch/global.js"(exports2, module2) {
-    "use strict";
-    var globalOrigin = /* @__PURE__ */ 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;
+    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, delay2, arg) {
+        this._onTimeout = callback;
+        this._idleTimeout = delay2;
+        this._timerArg = arg;
+        this.refresh();
       }
-      const parsedURL = new URL(newOrigin);
-      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
-        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
+      /**
+       * 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;
       }
-      Object.defineProperty(globalThis, globalOrigin, {
-        value: parsedURL,
-        writable: true,
-        enumerable: false,
-        configurable: false
-      });
-    }
+      /**
+       * The `clear` method cancels the timer, preventing it from executing.
+       *
+       * @returns {void}
+       * @private
+       */
+      clear() {
+        this._state = TO_BE_CLEARED;
+        this._idleStart = -1;
+      }
+    };
     module2.exports = {
-      getGlobalOrigin,
-      setGlobalOrigin
+      /**
+       * 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, delay2, arg) {
+        return delay2 <= RESOLUTION_MS ? setTimeout(callback, delay2, arg) : new FastTimer(callback, delay2, 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, delay2, arg) {
+        return new FastTimer(callback, delay2, 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(delay2 = 0) {
+        fastNow += delay2 - 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/undici/lib/fetch/util.js
-var require_util10 = __commonJS({
-  "node_modules/undici/lib/fetch/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/connect.js
+var require_connect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/connect.js"(exports2, module2) {
     "use strict";
-    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants7();
-    var { getGlobalOrigin } = require_global3();
-    var { performance: performance4 } = require("perf_hooks");
-    var { isBlobLike, toUSVString, ReadableStreamFrom } = require_util9();
-    var assert = require("assert");
-    var { isUint8Array } = require("util/types");
-    var supportedHashes = [];
-    var crypto3;
-    try {
-      crypto3 = require("crypto");
-      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
-      supportedHashes = crypto3.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");
-      if (location !== null && isValidHeaderValue(location)) {
-        location = new URL(location, responseURL(response));
-      }
-      if (location && !location.hash) {
-        location.hash = requestFragment;
-      }
-      return location;
-    }
-    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");
+    var net = require("node:net");
+    var assert = require("node:assert");
+    var util = require_util9();
+    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
+    var timers = require_timers2();
+    function noop3() {
     }
-    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;
+    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);
+            }
+          });
         }
-      }
-      return true;
-    }
-    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;
-      }
-    }
-    function isValidHTTPToken(characters) {
-      if (characters.length === 0) {
-        return false;
-      }
-      for (let i = 0; i < characters.length; ++i) {
-        if (!isTokenCharCode(characters.charCodeAt(i))) {
-          return false;
+        get(sessionKey) {
+          const ref = this._sessionCache.get(sessionKey);
+          return ref ? ref.deref() : null;
         }
-      }
-      return true;
-    }
-    function isValidHeaderName(potentialValue) {
-      return isValidHTTPToken(potentialValue);
-    }
-    function isValidHeaderValue(potentialValue) {
-      if (potentialValue.startsWith("	") || potentialValue.startsWith(" ") || potentialValue.endsWith("	") || potentialValue.endsWith(" ")) {
-        return false;
-      }
-      if (potentialValue.includes("\0") || potentialValue.includes("\r") || potentialValue.includes("\n")) {
-        return false;
-      }
-      return true;
-    }
-    function setRequestReferrerPolicyOnRedirect(request2, actualResponse) {
-      const { headersList } = actualResponse;
-      const policyHeader = (headersList.get("referrer-policy") ?? "").split(",");
-      let policy = "";
-      if (policyHeader.length > 0) {
-        for (let i = policyHeader.length; i !== 0; i--) {
-          const token = policyHeader[i - 1].trim();
-          if (referrerPolicyTokens.has(token)) {
-            policy = token;
-            break;
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
+          this._sessionCache.set(sessionKey, new WeakRef(session));
+          this._sessionRegistry.register(session, sessionKey);
         }
-      }
-      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);
-    }
-    function appendRequestOriginHeader(request2) {
-      let serializedOrigin = request2.origin;
-      if (request2.responseTainting === "cors" || request2.mode === "websocket") {
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
-        }
-      } 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:
-        }
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
-        }
-      }
-    }
-    function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
-      return performance4.now();
-    }
-    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";
+    } else {
+      SessionCache = class SimpleSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
         }
-        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;
+        get(sessionKey) {
+          return this._sessionCache.get(sessionKey);
+        }
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
-          if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {
-            return "no-referrer";
+          if (this._sessionCache.size >= this._maxCachedSessions) {
+            const { value: oldestKey } = this._sessionCache.keys().next();
+            this._sessionCache.delete(oldestKey);
           }
-          return referrerOrigin;
-        }
-        case "strict-origin":
-        // eslint-disable-line
-        /**
-           * 1. If referrerURL is a potentially trustworthy URL and
-           * request’s current URL is not a potentially trustworthy URL,
-           * then return no referrer.
-           * 2. Return referrerOrigin
-          */
-        case "no-referrer-when-downgrade":
-        // eslint-disable-line
-        /**
-         * 1. If referrerURL is a potentially trustworthy URL and
-         * request’s current URL is not a potentially trustworthy URL,
-         * then return no referrer.
-         * 2. Return referrerOrigin
-        */
-        default:
-          return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
-      }
-    }
-    function stripURLForReferrer(url, originOnly) {
-      assert(url instanceof URL);
-      if (url.protocol === "file:" || url.protocol === "about:" || url.protocol === "blank:") {
-        return "no-referrer";
-      }
-      url.username = "";
-      url.password = "";
-      url.hash = "";
-      if (originOnly) {
-        url.pathname = "";
-        url.search = "";
-      }
-      return url;
-    }
-    function isURLPotentiallyTrustworthy(url) {
-      if (!(url instanceof URL)) {
-        return false;
-      }
-      if (url.href === "about:blank" || url.href === "about:srcdoc") {
-        return true;
-      }
-      if (url.protocol === "data:") return true;
-      if (url.protocol === "file:") return true;
-      return isOriginPotentiallyTrustworthy(url.origin);
-      function isOriginPotentiallyTrustworthy(origin) {
-        if (origin == null || origin === "null") return false;
-        const originAsURL = new URL(origin);
-        if (originAsURL.protocol === "https:" || originAsURL.protocol === "wss:") {
-          return true;
-        }
-        if (/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(originAsURL.hostname) || (originAsURL.hostname === "localhost" || originAsURL.hostname.includes("localhost.")) || originAsURL.hostname.endsWith(".localhost")) {
-          return true;
+          this._sessionCache.set(sessionKey, session);
         }
-        return false;
-      }
+      };
     }
-    function bytesMatch(bytes, metadataList) {
-      if (crypto3 === void 0) {
-        return true;
-      }
-      const parsedMetadata = parseMetadata(metadataList);
-      if (parsedMetadata === "no metadata") {
-        return true;
-      }
-      if (parsedMetadata.length === 0) {
-        return true;
+    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 strongest = getStrongestMetadata(parsedMetadata);
-      const metadata = filterMetadataListByAlgorithm(parsedMetadata, strongest);
-      for (const item of metadata) {
-        const algorithm = item.algo;
-        const expectedValue = item.hash;
-        let actualValue = crypto3.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);
+      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");
           }
+          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 (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 token of metadata.split(" ")) {
-        empty = false;
-        const parsedToken = parseHashWithOptions.exec(token);
-        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;
+        if (options.keepAlive == null || options.keepAlive) {
+          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
+          socket.setKeepAlive(true, keepAliveInitialDelay);
         }
-      }
-      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((resolve9, reject) => {
-        res = resolve9;
-        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";
-    }
-    var normalizeMethodRecord = {
-      delete: "DELETE",
-      DELETE: "DELETE",
-      get: "GET",
-      GET: "GET",
-      head: "HEAD",
-      HEAD: "HEAD",
-      options: "OPTIONS",
-      OPTIONS: "OPTIONS",
-      post: "POST",
-      POST: "POST",
-      put: "PUT",
-      PUT: "PUT"
-    };
-    Object.setPrototypeOf(normalizeMethodRecord, null);
-    function normalizeMethod(method) {
-      return normalizeMethodRecord[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 makeIterator(iterator2, name, kind) {
-      const object = {
-        index: 0,
-        kind,
-        target: iterator2
-      };
-      const i = {
-        next() {
-          if (Object.getPrototypeOf(this) !== i) {
-            throw new TypeError(
-              `'next' called on an object that does not implement interface ${name} Iterator.`
-            );
+        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);
           }
-          const { index, kind: kind2, target } = object;
-          const values = target();
-          const len = values.length;
-          if (index >= len) {
-            return { value: void 0, done: true };
+        }).on("error", function(err) {
+          queueMicrotask(clearConnectTimeout);
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(err);
           }
-          const pair = values[index];
-          object.index = index + 1;
-          return iteratorResult(pair, kind2);
-        },
-        // The class string of an iterator prototype object for a given interface is the
-        // result of concatenating the identifier of the interface and the string " Iterator".
-        [Symbol.toStringTag]: `${name} Iterator`
+        });
+        return socket;
       };
-      Object.setPrototypeOf(i, esIteratorPrototype);
-      return Object.setPrototypeOf({}, i);
-    }
-    function iteratorResult(pair, kind) {
-      let result;
-      switch (kind) {
-        case "key": {
-          result = pair[0];
-          break;
-        }
-        case "value": {
-          result = pair[1];
-          break;
-        }
-        case "key+value": {
-          result = pair;
-          break;
-        }
-      }
-      return { value: result, done: false };
-    }
-    async function fullyReadBody(body, processBody, processBodyError) {
-      const successSteps = processBody;
-      const errorSteps = processBodyError;
-      let reader;
-      try {
-        reader = body.stream.getReader();
-      } catch (e) {
-        errorSteps(e);
-        return;
-      }
-      try {
-        const result = await readAllBytes(reader);
-        successSteps(result);
-      } catch (e) {
-        errorSteps(e);
-      }
     }
-    var ReadableStream2 = globalThis.ReadableStream;
-    function isReadableStreamLike(stream2) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+    var setupConnectTimeout = process.platform === "win32" ? (socketWeakRef, opts) => {
+      if (!opts.timeout) {
+        return noop3;
       }
-      return stream2 instanceof ReadableStream2 || stream2[Symbol.toStringTag] === "ReadableStream" && typeof stream2.tee === "function";
-    }
-    var MAXIMUM_ARGUMENT_LENGTH = 65535;
-    function isomorphicDecode(input) {
-      if (input.length < MAXIMUM_ARGUMENT_LENGTH) {
-        return String.fromCharCode(...input);
+      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;
       }
-      return input.reduce((previous, current) => previous + String.fromCharCode(current), "");
-    }
-    function readableStreamClose(controller) {
-      try {
-        controller.close();
-      } catch (err) {
-        if (!err.message.includes("Controller is already closed")) {
-          throw err;
-        }
+      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;
       }
-    }
-    function isomorphicEncode(input) {
-      for (let i = 0; i < input.length; i++) {
-        assert(input.charCodeAt(i) <= 255);
+      let message = "Connect Timeout Error";
+      if (Array.isArray(socket.autoSelectFamilyAttemptedAddresses)) {
+        message += ` (attempted addresses: ${socket.autoSelectFamilyAttemptedAddresses.join(", ")},`;
+      } else {
+        message += ` (attempted address: ${opts.hostname}:${opts.port},`;
       }
-      return input;
+      message += ` timeout: ${opts.timeout}ms)`;
+      util.destroy(socket, new ConnectTimeoutError(message));
     }
-    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");
+    module2.exports = buildConnector;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js
+var require_utils3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.enumToMap = void 0;
+    function enumToMap(obj) {
+      const res = {};
+      Object.keys(obj).forEach((key) => {
+        const value = obj[key];
+        if (typeof value === "number") {
+          res[key] = value;
         }
-        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) {
-      if (typeof url === "string") {
-        return url.startsWith("https:");
-      }
-      return url.protocol === "https:";
-    }
-    function urlIsHttpHttpsScheme(url) {
-      assert("protocol" in url);
-      const protocol = url.protocol;
-      return protocol === "http:" || protocol === "https:";
+      });
+      return res;
     }
-    var hasOwn = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key));
-    module2.exports = {
-      isAborted,
-      isCancelled,
-      createDeferredPromise,
-      ReadableStreamFrom,
-      toUSVString,
-      tryUpgradeRequestToAPotentiallyTrustworthyURL,
-      coarsenedSharedCurrentTime,
-      determineRequestsReferrer,
-      makePolicyContainer,
-      clonePolicyContainer,
-      appendFetchMetadata,
-      appendRequestOriginHeader,
-      TAOCheck,
-      corsCheck,
-      crossOriginResourcePolicyCheck,
-      createOpaqueTimingInfo,
-      setRequestReferrerPolicyOnRedirect,
-      isValidHTTPToken,
-      requestBadPort,
-      requestCurrentURL,
-      responseURL,
-      responseLocationURL,
-      isBlobLike,
-      isURLPotentiallyTrustworthy,
-      isValidReasonPhrase,
-      sameOrigin,
-      normalizeMethod,
-      serializeJavascriptValueToJSONString,
-      makeIterator,
-      isValidHeaderName,
-      isValidHeaderValue,
-      hasOwn,
-      isErrorLike,
-      fullyReadBody,
-      bytesMatch,
-      isReadableStreamLike,
-      readableStreamClose,
-      isomorphicEncode,
-      isomorphicDecode,
-      urlIsLocal,
-      urlHasHttpsScheme,
-      urlIsHttpHttpsScheme,
-      readAllBytes,
-      normalizeMethodRecord,
-      parseMetadata
-    };
+    exports2.enumToMap = enumToMap;
   }
 });
 
-// node_modules/undici/lib/fetch/symbols.js
-var require_symbols7 = __commonJS({
-  "node_modules/undici/lib/fetch/symbols.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js
+var require_constants7 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js"(exports2) {
     "use strict";
-    module2.exports = {
-      kUrl: /* @__PURE__ */ Symbol("url"),
-      kHeaders: /* @__PURE__ */ Symbol("headers"),
-      kSignal: /* @__PURE__ */ Symbol("signal"),
-      kState: /* @__PURE__ */ Symbol("state"),
-      kGuard: /* @__PURE__ */ Symbol("guard"),
-      kRealm: /* @__PURE__ */ Symbol("realm")
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
+    var utils_1 = require_utils3();
+    var ERROR;
+    (function(ERROR2) {
+      ERROR2[ERROR2["OK"] = 0] = "OK";
+      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
+      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
+      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
+      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
+      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
+      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
+      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
+      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
+      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
+      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
+      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
+      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
+      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
+      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
+      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
+      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
+      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
+      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
+      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
+      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
+      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
+      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
+      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
+      ERROR2[ERROR2["USER"] = 24] = "USER";
+    })(ERROR = 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];
+      }
+    });
+    var FINISH;
+    (function(FINISH2) {
+      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
+      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
+      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
+    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
+    exports2.ALPHA = [];
+    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
+      exports2.ALPHA.push(String.fromCharCode(i));
+      exports2.ALPHA.push(String.fromCharCode(i + 32));
+    }
+    exports2.NUM_MAP = {
+      0: 0,
+      1: 1,
+      2: 2,
+      3: 3,
+      4: 4,
+      5: 5,
+      6: 6,
+      7: 7,
+      8: 8,
+      9: 9
+    };
+    exports2.HEX_MAP = {
+      0: 0,
+      1: 1,
+      2: 2,
+      3: 3,
+      4: 4,
+      5: 5,
+      6: 6,
+      7: 7,
+      8: 8,
+      9: 9,
+      A: 10,
+      B: 11,
+      C: 12,
+      D: 13,
+      E: 14,
+      F: 15,
+      a: 10,
+      b: 11,
+      c: 12,
+      d: 13,
+      e: 14,
+      f: 15
+    };
+    exports2.NUM = [
+      "0",
+      "1",
+      "2",
+      "3",
+      "4",
+      "5",
+      "6",
+      "7",
+      "8",
+      "9"
+    ];
+    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
+    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
+    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
+    exports2.STRICT_URL_CHAR = [
+      "!",
+      '"',
+      "$",
+      "%",
+      "&",
+      "'",
+      "(",
+      ")",
+      "*",
+      "+",
+      ",",
+      "-",
+      ".",
+      "/",
+      ":",
+      ";",
+      "<",
+      "=",
+      ">",
+      "@",
+      "[",
+      "\\",
+      "]",
+      "^",
+      "_",
+      "`",
+      "{",
+      "|",
+      "}",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
+    for (let i = 128; i <= 255; i++) {
+      exports2.URL_CHAR.push(i);
+    }
+    exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
+    exports2.STRICT_TOKEN = [
+      "!",
+      "#",
+      "$",
+      "%",
+      "&",
+      "'",
+      "*",
+      "+",
+      "-",
+      ".",
+      "^",
+      "_",
+      "`",
+      "|",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]);
+    exports2.HEADER_CHARS = ["	"];
+    for (let i = 32; i <= 255; i++) {
+      if (i !== 127) {
+        exports2.HEADER_CHARS.push(i);
+      }
+    }
+    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/fetch/webidl.js
-var require_webidl2 = __commonJS({
-  "node_modules/undici/lib/fetch/webidl.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js
+var require_llhttp_wasm2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
     "use strict";
-    var { types } = require("util");
-    var { hasOwn, toUSVString } = require_util10();
-    var webidl = {};
-    webidl.converters = {};
-    webidl.util = {};
-    webidl.errors = {};
-    webidl.errors.exception = function(message) {
-      return new TypeError(`${message.header}: ${message.message}`);
+    var { Buffer: Buffer2 } = require("node:buffer");
+    module2.exports = Buffer2.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVuaWVudF9oZWFkZXJzACEhbGxodHRwX3NldF9sZW5pZW50X2NodW5rZWRfbGVuZ3RoACIdbGxodHRwX3NldF9sZW5pZW50X2tlZXBfYWxpdmUAIyRsbGh0dHBfc2V0X2xlbmllbnRfdHJhbnNmZXJfZW5jb2RpbmcAJBhsbGh0dHBfbWVzc2FnZV9uZWVkc19lb2YALgkXAQBBAQsRAQIDBAUKBgcrLSwqKSglJyYK07MCLBYAQYjQACgCAARAAAtBiNAAQQE2AgALFAAgABAwIAAgAjYCOCAAIAE6ACgLFAAgACAALwEyIAAtAC4gABAvEAALHgEBf0HAABAyIgEQMCABQYAINgI4IAEgADoAKCABC48MAQd/AkAgAEUNACAAQQhrIgEgAEEEaygCACIAQXhxIgRqIQUCQCAAQQFxDQAgAEEDcUUNASABIAEoAgAiAGsiAUGc0AAoAgBJDQEgACAEaiEEAkACQEGg0AAoAgAgAUcEQCAAQf8BTQRAIABBA3YhAyABKAIIIgAgASgCDCICRgRAQYzQAEGM0AAoAgBBfiADd3E2AgAMBQsgAiAANgIIIAAgAjYCDAwECyABKAIYIQYgASABKAIMIgBHBEAgACABKAIIIgI2AgggAiAANgIMDAMLIAFBFGoiAygCACICRQRAIAEoAhAiAkUNAiABQRBqIQMLA0AgAyEHIAIiAEEUaiIDKAIAIgINACAAQRBqIQMgACgCECICDQALIAdBADYCAAwCCyAFKAIEIgBBA3FBA0cNAiAFIABBfnE2AgRBlNAAIAQ2AgAgBSAENgIAIAEgBEEBcjYCBAwDC0EAIQALIAZFDQACQCABKAIcIgJBAnRBvNIAaiIDKAIAIAFGBEAgAyAANgIAIAANAUGQ0ABBkNAAKAIAQX4gAndxNgIADAILIAZBEEEUIAYoAhAgAUYbaiAANgIAIABFDQELIAAgBjYCGCABKAIQIgIEQCAAIAI2AhAgAiAANgIYCyABQRRqKAIAIgJFDQAgAEEUaiACNgIAIAIgADYCGAsgASAFTw0AIAUoAgQiAEEBcUUNAAJAAkACQAJAIABBAnFFBEBBpNAAKAIAIAVGBEBBpNAAIAE2AgBBmNAAQZjQACgCACAEaiIANgIAIAEgAEEBcjYCBCABQaDQACgCAEcNBkGU0ABBADYCAEGg0ABBADYCAAwGC0Gg0AAoAgAgBUYEQEGg0AAgATYCAEGU0ABBlNAAKAIAIARqIgA2AgAgASAAQQFyNgIEIAAgAWogADYCAAwGCyAAQXhxIARqIQQgAEH/AU0EQCAAQQN2IQMgBSgCCCIAIAUoAgwiAkYEQEGM0ABBjNAAKAIAQX4gA3dxNgIADAULIAIgADYCCCAAIAI2AgwMBAsgBSgCGCEGIAUgBSgCDCIARwRAQZzQACgCABogACAFKAIIIgI2AgggAiAANgIMDAMLIAVBFGoiAygCACICRQRAIAUoAhAiAkUNAiAFQRBqIQMLA0AgAyEHIAIiAEEUaiIDKAIAIgINACAAQRBqIQMgACgCECICDQALIAdBADYCAAwCCyAFIABBfnE2AgQgASAEaiAENgIAIAEgBEEBcjYCBAwDC0EAIQALIAZFDQACQCAFKAIcIgJBAnRBvNIAaiIDKAIAIAVGBEAgAyAANgIAIAANAUGQ0ABBkNAAKAIAQX4gAndxNgIADAILIAZBEEEUIAYoAhAgBUYbaiAANgIAIABFDQELIAAgBjYCGCAFKAIQIgIEQCAAIAI2AhAgAiAANgIYCyAFQRRqKAIAIgJFDQAgAEEUaiACNgIAIAIgADYCGAsgASAEaiAENgIAIAEgBEEBcjYCBCABQaDQACgCAEcNAEGU0AAgBDYCAAwBCyAEQf8BTQRAIARBeHFBtNAAaiEAAn9BjNAAKAIAIgJBASAEQQN2dCIDcUUEQEGM0AAgAiADcjYCACAADAELIAAoAggLIgIgATYCDCAAIAE2AgggASAANgIMIAEgAjYCCAwBC0EfIQIgBEH///8HTQRAIARBJiAEQQh2ZyIAa3ZBAXEgAEEBdGtBPmohAgsgASACNgIcIAFCADcCECACQQJ0QbzSAGohAAJAQZDQACgCACIDQQEgAnQiB3FFBEAgACABNgIAQZDQACADIAdyNgIAIAEgADYCGCABIAE2AgggASABNgIMDAELIARBGSACQQF2a0EAIAJBH0cbdCECIAAoAgAhAAJAA0AgACIDKAIEQXhxIARGDQEgAkEddiEAIAJBAXQhAiADIABBBHFqQRBqIgcoAgAiAA0ACyAHIAE2AgAgASADNgIYIAEgATYCDCABIAE2AggMAQsgAygCCCIAIAE2AgwgAyABNgIIIAFBADYCGCABIAM2AgwgASAANgIIC0Gs0ABBrNAAKAIAQQFrIgBBfyAAGzYCAAsLBwAgAC0AKAsHACAALQAqCwcAIAAtACsLBwAgAC0AKQsHACAALwEyCwcAIAAtAC4LQAEEfyAAKAIYIQEgAC0ALSECIAAtACghAyAAKAI4IQQgABAwIAAgBDYCOCAAIAM6ACggACACOgAtIAAgATYCGAu74gECB38DfiABIAJqIQQCQCAAIgIoAgwiAA0AIAIoAgQEQCACIAE2AgQLIwBBEGsiCCQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAIoAhwiA0EBaw7dAdoBAdkBAgMEBQYHCAkKCwwNDtgBDxDXARES1gETFBUWFxgZGhvgAd8BHB0e1QEfICEiIyQl1AEmJygpKiss0wHSAS0u0QHQAS8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRtsBR0hJSs8BzgFLzQFMzAFNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBywHKAbgByQG5AcgBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUBxgEA3AELQQAMxgELQQ4MxQELQQ0MxAELQQ8MwwELQRAMwgELQRMMwQELQRQMwAELQRUMvwELQRYMvgELQRgMvQELQRkMvAELQRoMuwELQRsMugELQRwMuQELQR0MuAELQQgMtwELQR4MtgELQSAMtQELQR8MtAELQQcMswELQSEMsgELQSIMsQELQSMMsAELQSQMrwELQRIMrgELQREMrQELQSUMrAELQSYMqwELQScMqgELQSgMqQELQcMBDKgBC0EqDKcBC0ErDKYBC0EsDKUBC0EtDKQBC0EuDKMBC0EvDKIBC0HEAQyhAQtBMAygAQtBNAyfAQtBDAyeAQtBMQydAQtBMgycAQtBMwybAQtBOQyaAQtBNQyZAQtBxQEMmAELQQsMlwELQToMlgELQTYMlQELQQoMlAELQTcMkwELQTgMkgELQTwMkQELQTsMkAELQT0MjwELQQkMjgELQSkMjQELQT4MjAELQT8MiwELQcAADIoBC0HBAAyJAQtBwgAMiAELQcMADIcBC0HEAAyGAQtBxQAMhQELQcYADIQBC0EXDIMBC0HHAAyCAQtByAAMgQELQckADIABC0HKAAx/C0HLAAx+C0HNAAx9C0HMAAx8C0HOAAx7C0HPAAx6C0HQAAx5C0HRAAx4C0HSAAx3C0HTAAx2C0HUAAx1C0HWAAx0C0HVAAxzC0EGDHILQdcADHELQQUMcAtB2AAMbwtBBAxuC0HZAAxtC0HaAAxsC0HbAAxrC0HcAAxqC0EDDGkLQd0ADGgLQd4ADGcLQd8ADGYLQeEADGULQeAADGQLQeIADGMLQeMADGILQQIMYQtB5AAMYAtB5QAMXwtB5gAMXgtB5wAMXQtB6AAMXAtB6QAMWwtB6gAMWgtB6wAMWQtB7AAMWAtB7QAMVwtB7gAMVgtB7wAMVQtB8AAMVAtB8QAMUwtB8gAMUgtB8wAMUQtB9AAMUAtB9QAMTwtB9gAMTgtB9wAMTQtB+AAMTAtB+QAMSwtB+gAMSgtB+wAMSQtB/AAMSAtB/QAMRwtB/gAMRgtB/wAMRQtBgAEMRAtBgQEMQwtBggEMQgtBgwEMQQtBhAEMQAtBhQEMPwtBhgEMPgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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CABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv", "base64");
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
+var require_llhttp_simd_wasm2 = __commonJS({
+  "node_modules/@actions/github/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/@actions/github/node_modules/undici/lib/web/fetch/constants.js
+var require_constants8 = __commonJS({
+  "node_modules/@actions/github/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/@actions/github/node_modules/undici/lib/web/fetch/global.js
+var require_global3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/global.js"(exports2, module2) {
+    "use strict";
+    var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
+    function getGlobalOrigin() {
+      return globalThis[globalOrigin];
+    }
+    function setGlobalOrigin(newOrigin) {
+      if (newOrigin === void 0) {
+        Object.defineProperty(globalThis, globalOrigin, {
+          value: void 0,
+          writable: true,
+          enumerable: false,
+          configurable: false
+        });
+        return;
+      }
+      const parsedURL = new URL(newOrigin);
+      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
+        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
+      }
+      Object.defineProperty(globalThis, globalOrigin, {
+        value: parsedURL,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
+    }
+    module2.exports = {
+      getGlobalOrigin,
+      setGlobalOrigin
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js
+var require_data_url2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var encoder = new TextEncoder();
+    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+\-.^_|~A-Za-z0-9]+$/;
+    var HTTP_WHITESPACE_REGEX = /[\u000A\u000D\u0009\u0020]/;
+    var ASCII_WHITESPACE_REPLACE_REGEX = /[\u0009\u000A\u000C\u000D\u0020]/g;
+    var HTTP_QUOTED_STRING_TOKENS = /^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;
+    function dataURLProcessor(dataURL) {
+      assert(dataURL.protocol === "data:");
+      let input = URLSerializer(dataURL, true);
+      input = input.slice(5);
+      const position = { position: 0 };
+      let mimeType = collectASequenceOfCodePointsFast(
+        ",",
+        input,
+        position
+      );
+      const mimeTypeLength = mimeType.length;
+      mimeType = removeASCIIWhitespace(mimeType, true, true);
+      if (position.position >= input.length) {
+        return "failure";
+      }
+      position.position++;
+      const encodedBody = input.slice(mimeTypeLength + 1);
+      let body = stringPercentDecode(encodedBody);
+      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
+        const stringBody = isomorphicDecode(body);
+        body = forgivingBase64(stringBody);
+        if (body === "failure") {
+          return "failure";
+        }
+        mimeType = mimeType.slice(0, -6);
+        mimeType = mimeType.replace(/(\u0020)+$/, "");
+        mimeType = mimeType.slice(0, -1);
+      }
+      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 };
+    }
+    function URLSerializer(url, excludeFragment = false) {
+      if (!excludeFragment) {
+        return url.href;
+      }
+      const href = url.href;
+      const hashLength = url.hash.length;
+      const serialized = hashLength === 0 ? href : href.substring(0, href.length - hashLength);
+      if (!hashLength && href.endsWith("#")) {
+        return serialized.slice(0, -1);
+      }
+      return serialized;
+    }
+    function collectASequenceOfCodePoints(condition, input, position) {
+      let result = "";
+      while (position.position < input.length && condition(input[position.position])) {
+        result += input[position.position];
+        position.position++;
+      }
+      return result;
+    }
+    function collectASequenceOfCodePointsFast(char, input, position) {
+      const idx = input.indexOf(char, position.position);
+      const start = position.position;
+      if (idx === -1) {
+        position.position = input.length;
+        return input.slice(start);
+      }
+      position.position = idx;
+      return input.slice(start, position.position);
+    }
+    function stringPercentDecode(input) {
+      const bytes = encoder.encode(input);
+      return percentDecode(bytes);
+    }
+    function isHexCharByte(byte) {
+      return byte >= 48 && byte <= 57 || byte >= 65 && byte <= 70 || byte >= 97 && byte <= 102;
+    }
+    function hexByteToNumber(byte) {
+      return (
+        // 0-9
+        byte >= 48 && byte <= 57 ? byte - 48 : (byte & 223) - 55
+      );
+    }
+    function 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);
+    }
+    function parseMIMEType(input) {
+      input = removeHTTPWhitespace(input, true, true);
+      const position = { position: 0 };
+      const type2 = collectASequenceOfCodePointsFast(
+        "/",
+        input,
+        position
+      );
+      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
+        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 = type2.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;
+    }
+    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);
+    }
+    function collectAnHTTPQuotedString(input, position, extractValue) {
+      const positionStart = position.position;
+      let value = "";
+      assert(input[position.position] === '"');
+      position.position++;
+      while (true) {
+        value += collectASequenceOfCodePoints(
+          (char) => char !== '"' && char !== "\\",
+          input,
+          position
+        );
+        if (position.position >= input.length) {
+          break;
+        }
+        const quoteOrBackslash = input[position.position];
+        position.position++;
+        if (quoteOrBackslash === "\\") {
+          if (position.position >= input.length) {
+            value += "\\";
+            break;
+          }
+          value += input[position.position];
+          position.position++;
+        } else {
+          assert(quoteOrBackslash === '"');
+          break;
+        }
+      }
+      if (extractValue) {
+        return value;
+      }
+      return input.slice(positionStart, position.position);
+    }
+    function serializeAMimeType(mimeType) {
+      assert(mimeType !== "failure");
+      const { parameters, essence } = mimeType;
+      let serialization = essence;
+      for (let [name, value] of parameters.entries()) {
+        serialization += ";";
+        serialization += name;
+        serialization += "=";
+        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
+          value = value.replace(/(\\|")/g, "\\$1");
+          value = '"' + value;
+          value += '"';
+        }
+        serialization += value;
+      }
+      return serialization;
+    }
+    function isHTTPWhiteSpace(char) {
+      return char === 13 || char === 10 || char === 9 || char === 32;
+    }
+    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isHTTPWhiteSpace);
+    }
+    function isASCIIWhitespace(char) {
+      return char === 13 || char === 10 || char === 9 || char === 12 || char === 32;
+    }
+    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isASCIIWhitespace);
+    }
+    function removeChars(str2, leading, trailing, predicate) {
+      let lead = 0;
+      let trail = str2.length - 1;
+      if (leading) {
+        while (lead < str2.length && predicate(str2.charCodeAt(lead))) lead++;
+      }
+      if (trailing) {
+        while (trail > 0 && predicate(str2.charCodeAt(trail))) trail--;
+      }
+      return lead === 0 && trail === str2.length - 1 ? str2 : str2.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/node_modules/undici/lib/web/fetch/webidl.js
+var require_webidl2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/webidl.js"(exports2, module2) {
+    "use strict";
+    var { types, inspect } = require("node:util");
+    var { markAsUncloneable } = require("node:worker_threads");
+    var { toUSVString } = require_util9();
+    var webidl = {};
+    webidl.converters = {};
+    webidl.util = {};
+    webidl.errors = {};
+    webidl.errors.exception = function(message) {
+      return new TypeError(`${message.header}: ${message.message}`);
+    };
+    webidl.errors.conversionFailed = function(context3) {
+      const plural = context3.types.length === 1 ? "" : " one of";
+      const message = `${context3.argument} could not be converted to${plural}: ${context3.types.join(", ")}.`;
+      return webidl.errors.exception({
+        header: context3.prefix,
+        message
+      });
+    };
+    webidl.errors.invalidArgument = function(context3) {
+      return webidl.errors.exception({
+        header: context3.prefix,
+        message: `"${context3.value}" is an invalid ${context3.type}.`
+      });
+    };
+    webidl.brandCheck = function(V, I, opts) {
+      if (opts?.strict !== false) {
+        if (!(V instanceof I)) {
+          const err = new TypeError("Illegal invocation");
+          err.code = "ERR_INVALID_THIS";
+          throw err;
+        }
+      } 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";
+        }
+      }
+    };
+    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;
+      }
+      if (!Number.isNaN(x) && opts?.clamp === true) {
+        x = Math.min(Math.max(x, lowerBound), upperBound);
+        if (Math.floor(x) % 2 === 0) {
+          x = Math.floor(x);
+        } else {
+          x = Math.ceil(x);
+        }
+        return x;
+      }
+      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 type2 = webidl.util.Type(V);
+      switch (type2) {
+        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.`
+          });
+        }
+        const method = typeof Iterable === "function" ? Iterable() : V?.[Symbol.iterator]?.();
+        const seq2 = [];
+        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;
+          }
+          seq2.push(converter(value, prefix, `${argument}[${index++}]`));
+        }
+        return seq2;
+      };
+    };
+    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 type2 = webidl.util.Type(dictionary);
+        const dict = {};
+        if (type2 === "Null" || type2 === "Undefined") {
+          return dict;
+        } else if (type2 !== "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);
+    };
+    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/@actions/github/node_modules/undici/lib/web/fetch/util.js
+var require_util10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/util.js"(exports2, module2) {
+    "use strict";
+    var { Transform } = require("node:stream");
+    var zlib2 = require("node:zlib");
+    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants8();
+    var { getGlobalOrigin } = require_global3();
+    var { collectASequenceOfCodePoints, collectAnHTTPQuotedString, removeChars, parseMIMEType } = require_data_url2();
+    var { performance: performance4 } = require("node:perf_hooks");
+    var { isBlobLike, ReadableStreamFrom, isValidHTTPToken, normalizedMethodRecordsBase } = require_util9();
+    var assert = require("node:assert");
+    var { isUint8Array } = require("node:util/types");
+    var { webidl } = require_webidl2();
+    var supportedHashes = [];
+    var crypto3;
+    try {
+      crypto3 = require("node:crypto");
+      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
+      supportedHashes = crypto3.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 token = policyHeader[i - 1].trim();
+          if (referrerPolicyTokens.has(token)) {
+            policy = token;
+            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(timestamp2, crossOriginIsolatedCapability) {
+      return timestamp2;
+    }
+    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(performance4.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":
+        // eslint-disable-line
+        /**
+           * 1. If referrerURL is a potentially trustworthy URL and
+           * request’s current URL is not a potentially trustworthy URL,
+           * then return no referrer.
+           * 2. Return referrerOrigin
+          */
+        case "no-referrer-when-downgrade":
+        // eslint-disable-line
+        /**
+         * 1. If referrerURL is a potentially trustworthy URL and
+         * request’s current URL is not a potentially trustworthy URL,
+         * then return no referrer.
+         * 2. Return referrerOrigin
+        */
+        default:
+          return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
+      }
+    }
+    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 (crypto3 === 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 = crypto3.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 token of metadata.split(" ")) {
+        empty = false;
+        const parsedToken = parseHashWithOptions.exec(token);
+        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((resolve9, reject) => {
+        res = resolve9;
+        rej = reject;
+      });
+      return { promise, resolve: res, reject: rej };
+    }
+    function isAborted(fetchParams) {
+      return fetchParams.controller.state === "aborted";
+    }
+    function isCancelled(fetchParams) {
+      return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";
+    }
+    function normalizeMethod(method) {
+      return normalizedMethodRecordsBase[method.toLowerCase()] ?? method;
+    }
+    function serializeJavascriptValueToJSONString(value) {
+      const result = JSON.stringify(value);
+      if (result === void 0) {
+        throw new TypeError("Value is not JSON serializable");
+      }
+      assert(typeof result === "string");
+      return result;
+    }
+    var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
+    function createIterator(name, kInternalIterator, keyIndex = 0, valueIndex = 1) {
+      class FastIterableIterator {
+        /** @type {any} */
+        #target;
+        /** @type {'key' | 'value' | 'key+value'} */
+        #kind;
+        /** @type {number} */
+        #index;
+        /**
+         * @see https://webidl.spec.whatwg.org/#dfn-default-iterator-object
+         * @param {unknown} target
+         * @param {'key' | 'value' | 'key+value'} kind
+         */
+        constructor(target, kind) {
+          this.#target = target;
+          this.#kind = kind;
+          this.#index = 0;
+        }
+        next() {
+          if (typeof this !== "object" || this === null || !(#target in this)) {
+            throw new TypeError(
+              `'next' called on an object that does not implement interface ${name} Iterator.`
+            );
+          }
+          const index = this.#index;
+          const values = this.#target[kInternalIterator];
+          const len = values.length;
+          if (index >= len) {
+            return {
+              value: void 0,
+              done: true
+            };
+          }
+          const { [keyIndex]: key, [valueIndex]: value } = values[index];
+          this.#index = index + 1;
+          let result;
+          switch (this.#kind) {
+            case "key":
+              result = key;
+              break;
+            case "value":
+              result = value;
+              break;
+            case "key+value":
+              result = [key, value];
+              break;
+          }
+          return {
+            value: result,
+            done: false
+          };
+        }
+      }
+      delete FastIterableIterator.prototype.constructor;
+      Object.setPrototypeOf(FastIterableIterator.prototype, esIteratorPrototype);
+      Object.defineProperties(FastIterableIterator.prototype, {
+        [Symbol.toStringTag]: {
+          writable: false,
+          enumerable: false,
+          configurable: true,
+          value: `${name} Iterator`
+        },
+        next: { writable: true, enumerable: true, configurable: true }
+      });
+      return function(target, kind) {
+        return new FastIterableIterator(target, kind);
+      };
+    }
+    function iteratorMixin(name, object, kInternalIterator, keyIndex = 0, valueIndex = 1) {
+      const makeIterator = createIterator(name, kInternalIterator, keyIndex, valueIndex);
+      const properties = {
+        keys: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function keys() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "key");
+          }
+        },
+        values: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function values() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "value");
+          }
+        },
+        entries: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function entries() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "key+value");
+          }
+        },
+        forEach: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function forEach(callbackfn, thisArg = globalThis) {
+            webidl.brandCheck(this, object);
+            webidl.argumentLengthCheck(arguments, 1, `${name}.forEach`);
+            if (typeof callbackfn !== "function") {
+              throw new TypeError(
+                `Failed to execute 'forEach' on '${name}': parameter 1 is not of type 'Function'.`
+              );
+            }
+            for (const { 0: key, 1: value } of makeIterator(this, "key+value")) {
+              callbackfn.call(thisArg, value, key, this);
+            }
+          }
+        }
+      };
+      return Object.defineProperties(object.prototype, {
+        ...properties,
+        [Symbol.iterator]: {
+          writable: true,
+          enumerable: false,
+          configurable: true,
+          value: properties.entries.value
+        }
+      });
+    }
+    async function fullyReadBody(body, processBody, processBodyError) {
+      const successSteps = processBody;
+      const errorSteps = processBodyError;
+      let reader;
+      try {
+        reader = body.stream.getReader();
+      } catch (e) {
+        errorSteps(e);
+        return;
+      }
+      try {
+        successSteps(await readAllBytes(reader));
+      } catch (e) {
+        errorSteps(e);
+      }
+    }
+    function isReadableStreamLike(stream2) {
+      return stream2 instanceof ReadableStream || stream2[Symbol.toStringTag] === "ReadableStream" && typeof stream2.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 ? zlib2.createInflate(this.#zlibOptions) : zlib2.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/@actions/github/node_modules/undici/lib/web/fetch/symbols.js
+var require_symbols7 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kUrl: /* @__PURE__ */ Symbol("url"),
+      kHeaders: /* @__PURE__ */ Symbol("headers"),
+      kSignal: /* @__PURE__ */ Symbol("signal"),
+      kState: /* @__PURE__ */ Symbol("state"),
+      kDispatcher: /* @__PURE__ */ Symbol("dispatcher")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js
+var require_file2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js"(exports2, module2) {
+    "use strict";
+    var { Blob: Blob2, File: File2 } = require("node:buffer");
+    var { kState } = require_symbols7();
+    var { webidl } = require_webidl2();
+    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 File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
+    }
+    module2.exports = { FileLike, isFileLike };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js
+var require_formdata2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js"(exports2, module2) {
+    "use strict";
+    var { isBlobLike, iteratorMixin } = require_util10();
+    var { kState } = require_symbols7();
+    var { kEnumerableProperty } = require_util9();
+    var { FileLike, isFileLike } = require_file2();
+    var { webidl } = require_webidl2();
+    var { File: NativeFile } = require("node:buffer");
+    var nodeUtil = require("node:util");
+    var File2 = globalThis.File ?? NativeFile;
+    var FormData2 = 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", FormData2, kState, "name", "value");
+    Object.defineProperties(FormData2.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 File2([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 File2([value], filename, options) : new FileLike(value, filename, options);
+        }
+      }
+      return { name, value };
+    }
+    module2.exports = { FormData: FormData2, makeEntry };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js
+var require_formdata_parser2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js"(exports2, module2) {
+    "use strict";
+    var { isUSVString, bufferToLowerCasedHeaderName } = require_util9();
+    var { utf8DecodeBytes } = require_util10();
+    var { HTTP_TOKEN_CODEPOINTS, isomorphicDecode } = require_data_url2();
+    var { isFileLike } = require_file2();
+    var { makeEntry } = require_formdata2();
+    var assert = require("node:assert");
+    var { File: NodeFile } = require("node:buffer");
+    var File2 = globalThis.File ?? NodeFile;
+    var formDataNameBuffer = Buffer.from('form-data; name="');
+    var filenameBuffer = Buffer.from("; filename");
+    var dd = Buffer.from("--");
+    var ddcrlf = Buffer.from("--\r\n");
+    function isAsciiString(chars) {
+      for (let i = 0; i < chars.length; ++i) {
+        if ((chars.charCodeAt(i) & ~127) !== 0) {
+          return false;
+        }
+      }
+      return true;
+    }
+    function validateBoundary(boundary) {
+      const length = boundary.length;
+      if (length < 27 || length > 70) {
+        return false;
+      }
+      for (let i = 0; i < length; ++i) {
+        const cp = boundary.charCodeAt(i);
+        if (!(cp >= 48 && cp <= 57 || cp >= 65 && cp <= 90 || cp >= 97 && cp <= 122 || cp === 39 || cp === 45 || cp === 95)) {
+          return false;
+        }
+      }
+      return true;
+    }
+    function multipartFormDataParser(input, mimeType) {
+      assert(mimeType !== "failure" && mimeType.essence === "multipart/form-data");
+      const boundaryString = mimeType.parameters.get("boundary");
+      if (boundaryString === void 0) {
+        return "failure";
+      }
+      const boundary = Buffer.from(`--${boundaryString}`, "utf8");
+      const entryList = [];
+      const position = { position: 0 };
+      while (input[position.position] === 13 && input[position.position + 1] === 10) {
+        position.position += 2;
+      }
+      let trailing = input.length;
+      while (input[trailing - 1] === 10 && input[trailing - 2] === 13) {
+        trailing -= 2;
+      }
+      if (trailing !== input.length) {
+        input = input.subarray(0, trailing);
+      }
+      while (true) {
+        if (input.subarray(position.position, position.position + boundary.length).equals(boundary)) {
+          position.position += boundary.length;
+        } else {
+          return "failure";
+        }
+        if (position.position === input.length - 2 && bufferStartsWith(input, dd, position) || position.position === input.length - 4 && bufferStartsWith(input, ddcrlf, position)) {
+          return entryList;
+        }
+        if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
+          return "failure";
+        }
+        position.position += 2;
+        const result = parseMultipartFormDataHeaders(input, position);
+        if (result === "failure") {
+          return "failure";
+        }
+        let { name, filename, contentType, encoding } = result;
+        position.position += 2;
+        let body;
+        {
+          const boundaryIndex = input.indexOf(boundary.subarray(2), position.position);
+          if (boundaryIndex === -1) {
+            return "failure";
+          }
+          body = input.subarray(position.position, boundaryIndex - 4);
+          position.position += body.length;
+          if (encoding === "base64") {
+            body = Buffer.from(body.toString(), "base64");
+          }
+        }
+        if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
+          return "failure";
+        } else {
+          position.position += 2;
+        }
+        let value;
+        if (filename !== null) {
+          contentType ??= "text/plain";
+          if (!isAsciiString(contentType)) {
+            contentType = "";
+          }
+          value = new File2([body], filename, { type: contentType });
+        } else {
+          value = utf8DecodeBytes(Buffer.from(body));
+        }
+        assert(isUSVString(name));
+        assert(typeof value === "string" && isUSVString(value) || isFileLike(value));
+        entryList.push(makeEntry(name, value, filename));
+      }
+    }
+    function parseMultipartFormDataHeaders(input, position) {
+      let name = null;
+      let filename = null;
+      let contentType = null;
+      let encoding = null;
+      while (true) {
+        if (input[position.position] === 13 && input[position.position + 1] === 10) {
+          if (name === null) {
+            return "failure";
+          }
+          return { name, filename, contentType, encoding };
+        }
+        let headerName = collectASequenceOfBytes(
+          (char) => char !== 10 && char !== 13 && char !== 58,
+          input,
+          position
+        );
+        headerName = removeChars(headerName, true, true, (char) => char === 9 || char === 32);
+        if (!HTTP_TOKEN_CODEPOINTS.test(headerName.toString())) {
+          return "failure";
+        }
+        if (input[position.position] !== 58) {
+          return "failure";
+        }
+        position.position++;
+        collectASequenceOfBytes(
+          (char) => char === 32 || char === 9,
+          input,
+          position
+        );
+        switch (bufferToLowerCasedHeaderName(headerName)) {
+          case "content-disposition": {
+            name = filename = null;
+            if (!bufferStartsWith(input, formDataNameBuffer, position)) {
+              return "failure";
+            }
+            position.position += 17;
+            name = parseMultipartFormDataName(input, position);
+            if (name === null) {
+              return "failure";
+            }
+            if (bufferStartsWith(input, filenameBuffer, position)) {
+              let check = position.position + filenameBuffer.length;
+              if (input[check] === 42) {
+                position.position += 1;
+                check += 1;
+              }
+              if (input[check] !== 61 || input[check + 1] !== 34) {
+                return "failure";
+              }
+              position.position += 12;
+              filename = parseMultipartFormDataName(input, position);
+              if (filename === null) {
+                return "failure";
+              }
+            }
+            break;
+          }
+          case "content-type": {
+            let headerValue = collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+            headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
+            contentType = isomorphicDecode(headerValue);
+            break;
+          }
+          case "content-transfer-encoding": {
+            let headerValue = collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+            headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
+            encoding = isomorphicDecode(headerValue);
+            break;
+          }
+          default: {
+            collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+          }
+        }
+        if (input[position.position] !== 13 && input[position.position + 1] !== 10) {
+          return "failure";
+        } else {
+          position.position += 2;
+        }
+      }
+    }
+    function parseMultipartFormDataName(input, position) {
+      assert(input[position.position - 1] === 34);
+      let name = collectASequenceOfBytes(
+        (char) => char !== 10 && char !== 13 && char !== 34,
+        input,
+        position
+      );
+      if (input[position.position] !== 34) {
+        return null;
+      } else {
+        position.position++;
+      }
+      name = new TextDecoder().decode(name).replace(/%0A/ig, "\n").replace(/%0D/ig, "\r").replace(/%22/g, '"');
+      return name;
+    }
+    function collectASequenceOfBytes(condition, input, position) {
+      let start = position.position;
+      while (start < input.length && condition(input[start])) {
+        ++start;
+      }
+      return input.subarray(position.position, position.position = start);
+    }
+    function removeChars(buf, leading, trailing, predicate) {
+      let lead = 0;
+      let trail = buf.length - 1;
+      if (leading) {
+        while (lead < buf.length && predicate(buf[lead])) lead++;
+      }
+      if (trailing) {
+        while (trail > 0 && predicate(buf[trail])) trail--;
+      }
+      return lead === 0 && trail === buf.length - 1 ? buf : buf.subarray(lead, trail + 1);
+    }
+    function bufferStartsWith(buffer, start, position) {
+      if (buffer.length < start.length) {
+        return false;
+      }
+      for (let i = 0; i < start.length; i++) {
+        if (start[i] !== buffer[position.position + i]) {
+          return false;
+        }
+      }
+      return true;
+    }
+    module2.exports = {
+      multipartFormDataParser,
+      validateBoundary
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js
+var require_body2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js"(exports2, module2) {
+    "use strict";
+    var util = require_util9();
+    var {
+      ReadableStreamFrom,
+      isBlobLike,
+      isReadableStreamLike,
+      readableStreamClose,
+      createDeferredPromise,
+      fullyReadBody,
+      extractMimeType,
+      utf8DecodeBytes
+    } = require_util10();
+    var { FormData: FormData2 } = require_formdata2();
+    var { kState } = require_symbols7();
+    var { webidl } = require_webidl2();
+    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_url2();
+    var { multipartFormDataParser } = require_formdata_parser2();
+    var random;
+    try {
+      const crypto3 = require("node:crypto");
+      random = (max) => crypto3.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 stream2 = weakRef.deref();
+        if (stream2 && !stream2.locked && !isDisturbed(stream2) && !isErrored(stream2)) {
+          stream2.cancel("Response object has been garbage collected").catch(noop3);
+        }
+      });
+    }
+    function extractBody(object, keepalive = false) {
+      let stream2 = null;
+      if (object instanceof ReadableStream) {
+        stream2 = object;
+      } else if (isBlobLike(object)) {
+        stream2 = object.stream();
+      } else {
+        stream2 = 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(stream2));
+      let action = null;
+      let source = null;
+      let length = null;
+      let type2 = null;
+      if (typeof object === "string") {
+        source = object;
+        type2 = "text/plain;charset=UTF-8";
+      } else if (object instanceof URLSearchParams) {
+        source = object.toString();
+        type2 = "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 = (str2) => str2.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;
+            }
+          }
+        };
+        type2 = `multipart/form-data; boundary=${boundary}`;
+      } else if (isBlobLike(object)) {
+        source = object;
+        length = object.size;
+        if (object.type) {
+          type2 = 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"
+          );
+        }
+        stream2 = object instanceof ReadableStream ? object : ReadableStreamFrom(object);
+      }
+      if (typeof source === "string" || util.isBuffer(source)) {
+        length = Buffer.byteLength(source);
+      }
+      if (action != null) {
+        let iterator2;
+        stream2 = 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(stream2)) {
+                const buffer = new Uint8Array(value);
+                if (buffer.byteLength) {
+                  controller.enqueue(buffer);
+                }
+              }
+            }
+            return controller.desiredSize > 0;
+          },
+          async cancel(reason) {
+            await iterator2.return();
+          },
+          type: "bytes"
+        });
+      }
+      const body = { stream: stream2, source, length };
+      return [body, type2];
+    }
+    function safelyExtractBody(object, keepalive = false) {
+      if (object instanceof ReadableStream) {
+        assert(!util.isDisturbed(object), "The body has already been consumed.");
+        assert(!object.locked, "The stream is locked.");
+      }
+      return extractBody(object, keepalive);
+    }
+    function cloneBody(instance, body) {
+      const [out1, out2] = body.stream.tee();
+      body.stream = out1;
+      return {
+        stream: out2,
+        length: body.length,
+        source: body.source
+      };
+    }
+    function throwIfAborted(state) {
+      if (state.aborted) {
+        throw new DOMException("The operation was aborted.", "AbortError");
+      }
+    }
+    function bodyMixinMethods(instance) {
+      const methods = {
+        blob() {
+          return consumeBody(this, (bytes) => {
+            let mimeType = bodyMimeType(this);
+            if (mimeType === null) {
+              mimeType = "";
+            } else if (mimeType) {
+              mimeType = serializeAMimeType(mimeType);
+            }
+            return new Blob2([bytes], { type: mimeType });
+          }, instance);
+        },
+        arrayBuffer() {
+          return consumeBody(this, (bytes) => {
+            return new Uint8Array(bytes).buffer;
+          }, instance);
+        },
+        text() {
+          return consumeBody(this, utf8DecodeBytes, instance);
+        },
+        json() {
+          return consumeBody(this, parseJSONFromBytes, instance);
+        },
+        formData() {
+          return consumeBody(this, (value) => {
+            const mimeType = bodyMimeType(this);
+            if (mimeType !== null) {
+              switch (mimeType.essence) {
+                case "multipart/form-data": {
+                  const parsed = multipartFormDataParser(value, mimeType);
+                  if (parsed === "failure") {
+                    throw new TypeError("Failed to parse body as FormData.");
+                  }
+                  const fd = new FormData2();
+                  fd[kState] = parsed;
+                  return fd;
+                }
+                case "application/x-www-form-urlencoded": {
+                  const entries = new URLSearchParams(value.toString());
+                  const fd = new FormData2();
+                  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 = (error3) => promise.reject(error3);
+      const successSteps = (data) => {
+        try {
+          promise.resolve(convertBytesToJSValue(data));
+        } catch (e) {
+          errorSteps(e);
+        }
+      };
+      if (object[kState].body == null) {
+        successSteps(Buffer.allocUnsafe(0));
+        return promise.promise;
+      }
+      await fullyReadBody(object[kState].body, successSteps, errorSteps);
+      return promise.promise;
+    }
+    function bodyUnusable(object) {
+      const body = object[kState].body;
+      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
+    }
+    function parseJSONFromBytes(bytes) {
+      return JSON.parse(utf8DecodeBytes(bytes));
+    }
+    function bodyMimeType(requestOrResponse) {
+      const headers = requestOrResponse[kState].headersList;
+      const mimeType = extractMimeType(headers);
+      if (mimeType === "failure") {
+        return null;
+      }
+      return mimeType;
+    }
+    module2.exports = {
+      extractBody,
+      safelyExtractBody,
+      cloneBody,
+      mixinBody,
+      streamRegistry,
+      hasFinalizationRegistry,
+      bodyUnusable
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js
+var require_client_h12 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var util = require_util9();
+    var { channels } = require_diagnostics2();
+    var timers = require_timers2();
+    var {
+      RequestContentLengthMismatchError,
+      ResponseContentLengthMismatchError,
+      RequestAbortedError,
+      HeadersTimeoutError,
+      HeadersOverflowError,
+      SocketError,
+      InformationalError,
+      BodyTimeoutError,
+      HTTPParserError,
+      ResponseExceededMaxSizeError
+    } = require_errors2();
+    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_symbols6();
+    var constants = require_constants7();
+    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_wasm2() : void 0;
+      let mod;
+      try {
+        mod = await WebAssembly.compile(require_llhttp_simd_wasm2());
+      } catch (e) {
+        mod = await WebAssembly.compile(llhttpWasmData || require_llhttp_wasm2());
+      }
+      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(delay2, type2) {
+        if (delay2 !== this.timeoutValue || type2 & USE_FAST_TIMER ^ this.timeoutType & USE_FAST_TIMER) {
+          if (this.timeout) {
+            timers.clearTimeout(this.timeout);
+            this.timeout = null;
+          }
+          if (delay2) {
+            if (type2 & USE_FAST_TIMER) {
+              this.timeout = timers.setFastTimeout(onParserTimeout, delay2, new WeakRef(this));
+            } else {
+              this.timeout = setTimeout(onParserTimeout, delay2, new WeakRef(this));
+              this.timeout.unref();
+            }
+          }
+          this.timeoutValue = delay2;
+        } else if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
+        }
+        this.timeoutType = type2;
+      }
+      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]();
+        }
+      }
     };
-    webidl.errors.conversionFailed = function(context3) {
-      const plural = context3.types.length === 1 ? "" : " one of";
-      const message = `${context3.argument} could not be converted to${plural}: ${context3.types.join(", ")}.`;
-      return webidl.errors.exception({
-        header: context3.prefix,
-        message
+    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);
       });
-    };
-    webidl.errors.invalidArgument = function(context3) {
-      return webidl.errors.exception({
-        header: context3.prefix,
-        message: `"${context3.value}" is an invalid ${context3.type}.`
+      addListener(socket, "readable", function() {
+        const parser = this[kParser];
+        if (parser) {
+          parser.readMore();
+        }
       });
-    };
-    webidl.brandCheck = function(V, I, opts = void 0) {
-      if (opts?.strict !== false && !(V instanceof I)) {
-        throw new TypeError("Illegal invocation");
+      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: path16, host, upgrade, blocking, reset } = request2;
+      let { body, headers, contentLength } = request2;
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH" || method === "QUERY" || method === "PROPFIND" || method === "PROPPATCH";
+      if (util.isFormDataLike(body)) {
+        if (!extractBody) {
+          extractBody = require_body2().extractBody;
+        }
+        const [bodyStream, contentType] = extractBody(body);
+        if (request2.contentType == null) {
+          headers.push("content-type", contentType);
+        }
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
+      } else if (util.isBlobLike(body) && request2.contentType == null && body.type) {
+        headers.push("content-type", body.type);
+      }
+      if (body && typeof body.read === "function") {
+        body.read(0);
+      }
+      const bodyLength = util.bodyLength(body);
+      contentLength = bodyLength ?? contentLength;
+      if (contentLength === null) {
+        contentLength = request2.contentLength;
+      }
+      if (contentLength === 0 && !expectsPayload) {
+        contentLength = null;
+      }
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          util.errorRequest(client, request2, new RequestContentLengthMismatchError());
+          return false;
+        }
+        process.emitWarning(new RequestContentLengthMismatchError());
+      }
+      const socket = client[kSocket];
+      const abort = (err) => {
+        if (request2.aborted || request2.completed) {
+          return;
+        }
+        util.errorRequest(client, request2, err || new RequestAbortedError());
+        util.destroy(body);
+        util.destroy(socket, new InformationalError("aborted"));
+      };
+      try {
+        request2.onConnect(abort);
+      } catch (err) {
+        util.errorRequest(client, request2, err);
+      }
+      if (request2.aborted) {
+        return false;
+      }
+      if (method === "HEAD") {
+        socket[kReset] = true;
+      }
+      if (upgrade || method === "CONNECT") {
+        socket[kReset] = true;
+      }
+      if (reset != null) {
+        socket[kReset] = reset;
+      }
+      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
+        socket[kReset] = true;
+      }
+      if (blocking) {
+        socket[kBlocking] = true;
+      }
+      let header = `${method} ${path16} HTTP/1.1\r
+`;
+      if (typeof host === "string") {
+        header += `host: ${host}\r
+`;
       } else {
-        return V?.[Symbol.toStringTag] === I.prototype[Symbol.toStringTag];
+        header += client[kHostHeader];
       }
-    };
-    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.`,
-          ...ctx
-        });
+      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";
       }
-    };
-    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";
+      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
+`;
           }
-          return "Object";
         }
       }
-    };
-    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;
+      if (channels.sendHeaders.hasSubscribers) {
+        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      }
+      if (!body || bodyLength === 0) {
+        writeBuffer(abort, null, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isBuffer(body)) {
+        writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isBlobLike(body)) {
+        if (typeof body.stream === "function") {
+          writeIterable(abort, body.stream(), client, request2, socket, contentLength, header, expectsPayload);
+        } else {
+          writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+        }
+      } else if (util.isStream(body)) {
+        writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isIterable(body)) {
+        writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else {
+        assert(false);
+      }
+      return true;
+    }
+    function writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      let finished = false;
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
+      const onData = function(chunk) {
+        if (finished) {
+          return;
+        }
+        try {
+          if (!writer.write(chunk) && this.pause) {
+            this.pause();
+          }
+        } catch (err) {
+          util.destroy(this, err);
+        }
+      };
+      const onDrain = function() {
+        if (finished) {
+          return;
+        }
+        if (body.resume) {
+          body.resume();
+        }
+      };
+      const onClose = function() {
+        queueMicrotask(() => {
+          body.removeListener("error", onFinished);
+        });
+        if (!finished) {
+          const err = new RequestAbortedError();
+          queueMicrotask(() => onFinished(err));
+        }
+      };
+      const onFinished = function(err) {
+        if (finished) {
+          return;
+        }
+        finished = true;
+        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
+        socket.off("drain", onDrain).off("error", onFinished);
+        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("close", onClose);
+        if (!err) {
+          try {
+            writer.end();
+          } catch (er) {
+            err = er;
+          }
+        }
+        writer.destroy(err);
+        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
+          util.destroy(body, err);
         } else {
-          lowerBound = Math.pow(-2, 53) + 1;
+          util.destroy(body);
         }
-      } 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;
+      };
+      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onClose);
+      if (body.resume) {
+        body.resume();
       }
-      let x = Number(V);
-      if (x === 0) {
-        x = 0;
+      socket.on("drain", onDrain).on("error", onFinished);
+      if (body.errorEmitted ?? body.errored) {
+        setImmediate(() => onFinished(body.errored));
+      } else if (body.endEmitted ?? body.readableEnded) {
+        setImmediate(() => onFinished(null));
       }
-      if (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 ${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}.`
-          });
+      if (body.closeEmitted ?? body.closed) {
+        setImmediate(onClose);
+      }
+    }
+    function writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      try {
+        if (!body) {
+          if (contentLength === 0) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
+          } else {
+            assert(contentLength === null, "no body must not have content length");
+            socket.write(`${header}\r
+`, "latin1");
+          }
+        } else if (util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          socket.cork();
+          socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+          socket.write(body);
+          socket.uncork();
+          request2.onBodySent(body);
+          if (!expectsPayload && request2.reset !== false) {
+            socket[kReset] = true;
+          }
         }
-        return x;
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      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);
+    }
+    async function writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength === body.size, "blob body must have content length");
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
         }
-        return x;
+        const buffer = Buffer.from(await body.arrayBuffer());
+        socket.cork();
+        socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+        socket.write(buffer);
+        socket.uncork();
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload && request2.reset !== false) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
-        return 0;
+    }
+    async function writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
+        }
       }
-      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);
+      const waitForDrain = () => new Promise((resolve9, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve9;
+        }
+      });
+      socket.on("close", onDrain).on("drain", onDrain);
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          if (!writer.write(chunk)) {
+            await waitForDrain();
+          }
+        }
+        writer.end();
+      } catch (err) {
+        writer.destroy(err);
+      } finally {
+        socket.off("close", onDrain).off("drain", onDrain);
       }
-      return x;
-    };
-    webidl.util.IntegerPart = function(n) {
-      const r = Math.floor(Math.abs(n));
-      if (n < 0) {
-        return -1 * r;
+    }
+    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;
       }
-      return r;
-    };
-    webidl.sequenceConverter = function(converter) {
-      return (V) => {
-        if (webidl.util.Type(V) !== "Object") {
-          throw webidl.errors.exception({
-            header: "Sequence",
-            message: `Value of type ${webidl.util.Type(V)} is not an Object.`
-          });
+      write(chunk) {
+        const { socket, request: request2, contentLength, client, bytesWritten, expectsPayload, header } = this;
+        if (socket[kError]) {
+          throw socket[kError];
         }
-        const method = V?.[Symbol.iterator]?.();
-        const seq2 = [];
-        if (method === void 0 || typeof method.next !== "function") {
-          throw webidl.errors.exception({
-            header: "Sequence",
-            message: "Object is not an iterator."
-          });
+        if (socket.destroyed) {
+          return false;
         }
-        while (true) {
-          const { done, value } = method.next();
-          if (done) {
-            break;
+        const len = Buffer.byteLength(chunk);
+        if (!len) {
+          return true;
+        }
+        if (contentLength !== null && bytesWritten + len > contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
           }
-          seq2.push(converter(value));
+          process.emitWarning(new RequestContentLengthMismatchError());
         }
-        return seq2;
-      };
-    };
-    webidl.recordConverter = function(keyConverter, valueConverter) {
-      return (O) => {
-        if (webidl.util.Type(O) !== "Object") {
-          throw webidl.errors.exception({
-            header: "Record",
-            message: `Value of type ${webidl.util.Type(O)} is not an Object.`
-          });
+        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");
+          }
         }
-        const result = {};
-        if (!types.isProxy(O)) {
-          const keys2 = Object.keys(O);
-          for (const key of keys2) {
-            const typedKey = keyConverter(key);
-            const typedValue = valueConverter(O[key]);
-            result[typedKey] = typedValue;
+        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 result;
         }
-        const keys = Reflect.ownKeys(O);
-        for (const key of keys) {
-          const desc = Reflect.getOwnPropertyDescriptor(O, key);
-          if (desc?.enumerable) {
-            const typedKey = keyConverter(key);
-            const typedValue = valueConverter(O[key]);
-            result[typedKey] = typedValue;
+        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");
         }
-        return result;
-      };
-    };
-    webidl.interfaceConverter = function(i) {
-      return (V, opts = {}) => {
-        if (opts.strict !== false && !(V instanceof i)) {
-          throw webidl.errors.exception({
-            header: i.name,
-            message: `Expected ${V} to be an instance of ${i.name}.`
-          });
+        if (contentLength !== null && bytesWritten !== contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
+          } else {
+            process.emitWarning(new RequestContentLengthMismatchError());
+          }
         }
-        return V;
-      };
+        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);
+        }
+      }
     };
-    webidl.dictionaryConverter = function(converters) {
-      return (dictionary) => {
-        const type2 = webidl.util.Type(dictionary);
-        const dict = {};
-        if (type2 === "Null" || type2 === "Undefined") {
-          return dict;
-        } else if (type2 !== "Object") {
-          throw webidl.errors.exception({
-            header: "Dictionary",
-            message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`
-          });
+    module2.exports = connectH1;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h2.js
+var require_client_h22 = __commonJS({
+  "node_modules/@actions/github/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_util9();
+    var {
+      RequestContentLengthMismatchError,
+      RequestAbortedError,
+      SocketError,
+      InformationalError
+    } = require_errors2();
+    var {
+      kUrl,
+      kReset,
+      kClient,
+      kRunning,
+      kPending,
+      kQueue,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kSocket,
+      kStrictContentLength,
+      kOnError,
+      kMaxConcurrentStreams,
+      kHTTP2Session,
+      kResume,
+      kSize,
+      kHTTPContext
+    } = require_symbols6();
+    var kOpenStreams = /* @__PURE__ */ 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));
         }
-        for (const options of converters) {
-          const { key, defaultValue, required, converter } = options;
-          if (required === true) {
-            if (!hasOwn(dictionary, key)) {
-              throw webidl.errors.exception({
-                header: "Dictionary",
-                message: `Missing required key "${key}".`
-              });
-            }
+      }
+      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);
           }
-          let value = dictionary[key];
-          const hasDefault = hasOwn(options, "defaultValue");
-          if (hasDefault && value !== null) {
-            value = value ?? defaultValue;
+        }
+      });
+      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);
           }
-          if (required || hasDefault || value !== void 0) {
-            value = converter(value);
-            if (options.allowedValues && !options.allowedValues.includes(value)) {
-              throw webidl.errors.exception({
-                header: "Dictionary",
-                message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
-              });
+        },
+        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(type2, code, id) {
+      if (id === 0) {
+        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, 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: path16, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
+      let { body } = request2;
+      if (upgrade) {
+        util.errorRequest(client, request2, new Error("Upgrade not supported for H2"));
+        return false;
+      }
+      const headers = {};
+      for (let n = 0; n < reqHeaders.length; n += 2) {
+        const key = reqHeaders[n + 0];
+        const val = reqHeaders[n + 1];
+        if (Array.isArray(val)) {
+          for (let i = 0; i < val.length; i++) {
+            if (headers[key]) {
+              headers[key] += `,${val[i]}`;
+            } else {
+              headers[key] = val[i];
             }
-            dict[key] = value;
           }
+        } else {
+          headers[key] = val;
         }
-        return dict;
-      };
-    };
-    webidl.nullableConverter = function(converter) {
-      return (V) => {
-        if (V === null) {
-          return V;
+      }
+      let stream2;
+      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 (stream2 != null) {
+          util.destroy(stream2, err);
         }
-        return converter(V);
+        util.destroy(body, err);
+        client[kQueue][client[kRunningIdx]++] = null;
+        client[kResume]();
       };
-    };
-    webidl.converters.DOMString = function(V, opts = {}) {
-      if (V === null && opts.legacyNullToEmptyString) {
-        return "";
+      try {
+        request2.onConnect(abort);
+      } catch (err) {
+        util.errorRequest(client, request2, err);
       }
-      if (typeof V === "symbol") {
-        throw new TypeError("Could not convert argument of type symbol to string.");
+      if (request2.aborted) {
+        return false;
       }
-      return String(V);
-    };
-    webidl.converters.ByteString = function(V) {
-      const x = webidl.converters.DOMString(V);
-      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.`
-          );
+      if (method === "CONNECT") {
+        session.ref();
+        stream2 = session.request(headers, { endStream: false, signal });
+        if (stream2.id && !stream2.pending) {
+          request2.onUpgrade(null, null, stream2);
+          ++session[kOpenStreams];
+          client[kQueue][client[kRunningIdx]++] = null;
+        } else {
+          stream2.once("ready", () => {
+            request2.onUpgrade(null, null, stream2);
+            ++session[kOpenStreams];
+            client[kQueue][client[kRunningIdx]++] = null;
+          });
         }
-      }
-      return x;
-    };
-    webidl.converters.USVString = toUSVString;
-    webidl.converters.boolean = function(V) {
-      const x = Boolean(V);
-      return x;
-    };
-    webidl.converters.any = function(V) {
-      return V;
-    };
-    webidl.converters["long long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 64, "signed");
-      return x;
-    };
-    webidl.converters["unsigned long long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 64, "unsigned");
-      return x;
-    };
-    webidl.converters["unsigned long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 32, "unsigned");
-      return x;
-    };
-    webidl.converters["unsigned short"] = function(V, opts) {
-      const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts);
-      return x;
-    };
-    webidl.converters.ArrayBuffer = function(V, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {
-        throw webidl.errors.conversionFailed({
-          prefix: `${V}`,
-          argument: `${V}`,
-          types: ["ArrayBuffer"]
-        });
-      }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
-      }
-      return V;
-    };
-    webidl.converters.TypedArray = function(V, T, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {
-        throw webidl.errors.conversionFailed({
-          prefix: `${T.name}`,
-          argument: `${V}`,
-          types: [T.name]
-        });
-      }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
-      }
-      return V;
-    };
-    webidl.converters.DataView = function(V, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {
-        throw webidl.errors.exception({
-          header: "DataView",
-          message: "Object is not a DataView."
-        });
-      }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
+        stream2.once("close", () => {
+          session[kOpenStreams] -= 1;
+          if (session[kOpenStreams] === 0) session.unref();
         });
+        return true;
       }
-      return V;
-    };
-    webidl.converters.BufferSource = function(V, opts = {}) {
-      if (types.isAnyArrayBuffer(V)) {
-        return webidl.converters.ArrayBuffer(V, opts);
+      headers[HTTP2_HEADER_PATH] = path16;
+      headers[HTTP2_HEADER_SCHEME] = "https";
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
+      if (body && typeof body.read === "function") {
+        body.read(0);
       }
-      if (types.isTypedArray(V)) {
-        return webidl.converters.TypedArray(V, V.constructor);
+      let contentLength = util.bodyLength(body);
+      if (util.isFormDataLike(body)) {
+        extractBody ??= require_body2().extractBody;
+        const [bodyStream, contentType] = extractBody(body);
+        headers["content-type"] = contentType;
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
       }
-      if (types.isDataView(V)) {
-        return webidl.converters.DataView(V, opts);
+      if (contentLength == null) {
+        contentLength = request2.contentLength;
       }
-      throw new TypeError(`Could not convert ${V} to a BufferSource.`);
-    };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.ByteString
-    );
-    webidl.converters["sequence>"] = webidl.sequenceConverter(
-      webidl.converters["sequence"]
-    );
-    webidl.converters["record"] = webidl.recordConverter(
-      webidl.converters.ByteString,
-      webidl.converters.ByteString
-    );
-    module2.exports = {
-      webidl
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/dataURL.js
-var require_dataURL = __commonJS({
-  "node_modules/undici/lib/fetch/dataURL.js"(exports2, module2) {
-    var assert = require("assert");
-    var { atob: atob2 } = require("buffer");
-    var { isomorphicDecode } = require_util10();
-    var encoder = new TextEncoder();
-    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/;
-    var HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/;
-    var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/;
-    function dataURLProcessor(dataURL) {
-      assert(dataURL.protocol === "data:");
-      let input = URLSerializer(dataURL, true);
-      input = input.slice(5);
-      const position = { position: 0 };
-      let mimeType = collectASequenceOfCodePointsFast(
-        ",",
-        input,
-        position
-      );
-      const mimeTypeLength = mimeType.length;
-      mimeType = removeASCIIWhitespace(mimeType, true, true);
-      if (position.position >= input.length) {
-        return "failure";
+      if (contentLength === 0 || !expectsPayload) {
+        contentLength = null;
       }
-      position.position++;
-      const encodedBody = input.slice(mimeTypeLength + 1);
-      let body = stringPercentDecode(encodedBody);
-      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
-        const stringBody = isomorphicDecode(body);
-        body = forgivingBase64(stringBody);
-        if (body === "failure") {
-          return "failure";
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          util.errorRequest(client, request2, new RequestContentLengthMismatchError());
+          return false;
         }
-        mimeType = mimeType.slice(0, -6);
-        mimeType = mimeType.replace(/(\u0020)+$/, "");
-        mimeType = mimeType.slice(0, -1);
+        process.emitWarning(new RequestContentLengthMismatchError());
       }
-      if (mimeType.startsWith(";")) {
-        mimeType = "text/plain" + mimeType;
+      if (contentLength != null) {
+        assert(body, "no body must not have content length");
+        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
       }
-      let mimeTypeRecord = parseMIMEType(mimeType);
-      if (mimeTypeRecord === "failure") {
-        mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
+      session.ref();
+      const shouldEndStream = method === "GET" || method === "HEAD" || body === null;
+      if (expectContinue) {
+        headers[HTTP2_HEADER_EXPECT] = "100-continue";
+        stream2 = session.request(headers, { endStream: shouldEndStream, signal });
+        stream2.once("continue", writeBodyH2);
+      } else {
+        stream2 = session.request(headers, {
+          endStream: shouldEndStream,
+          signal
+        });
+        writeBodyH2();
       }
-      return { mimeType: mimeTypeRecord, body };
-    }
-    function URLSerializer(url, excludeFragment = false) {
-      if (!excludeFragment) {
-        return url.href;
+      ++session[kOpenStreams];
+      stream2.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(stream2, err);
+          return;
+        }
+        if (request2.onHeaders(Number(statusCode), parseH2Headers(realHeaders), stream2.resume.bind(stream2), "") === false) {
+          stream2.pause();
+        }
+        stream2.on("data", (chunk) => {
+          if (request2.onData(chunk) === false) {
+            stream2.pause();
+          }
+        });
+      });
+      stream2.once("end", () => {
+        if (stream2.state?.state == null || stream2.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]();
+      });
+      stream2.once("close", () => {
+        session[kOpenStreams] -= 1;
+        if (session[kOpenStreams] === 0) {
+          session.unref();
+        }
+      });
+      stream2.once("error", function(err) {
+        abort(err);
+      });
+      stream2.once("frameError", (type2, code) => {
+        abort(new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`));
+      });
+      return true;
+      function writeBodyH2() {
+        if (!body || contentLength === 0) {
+          writeBuffer(
+            abort,
+            stream2,
+            null,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else if (util.isBuffer(body)) {
+          writeBuffer(
+            abort,
+            stream2,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else if (util.isBlobLike(body)) {
+          if (typeof body.stream === "function") {
+            writeIterable(
+              abort,
+              stream2,
+              body.stream(),
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
+          } else {
+            writeBlob(
+              abort,
+              stream2,
+              body,
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
+          }
+        } else if (util.isStream(body)) {
+          writeStream(
+            abort,
+            client[kSocket],
+            expectsPayload,
+            stream2,
+            body,
+            client,
+            request2,
+            contentLength
+          );
+        } else if (util.isIterable(body)) {
+          writeIterable(
+            abort,
+            stream2,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else {
+          assert(false);
+        }
       }
-      const href = url.href;
-      const hashLength = url.hash.length;
-      return hashLength === 0 ? href : href.substring(0, href.length - hashLength);
     }
-    function collectASequenceOfCodePoints(condition, input, position) {
-      let result = "";
-      while (position.position < input.length && condition(input[position.position])) {
-        result += input[position.position];
-        position.position++;
+    function writeBuffer(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      try {
+        if (body != null && util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          h2stream.cork();
+          h2stream.write(body);
+          h2stream.uncork();
+          h2stream.end();
+          request2.onBodySent(body);
+        }
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (error3) {
+        abort(error3);
       }
-      return result;
     }
-    function collectASequenceOfCodePointsFast(char, input, position) {
-      const idx = input.indexOf(char, position.position);
-      const start = position.position;
-      if (idx === -1) {
-        position.position = input.length;
-        return input.slice(start);
+    function writeStream(abort, socket, expectsPayload, h2stream, body, client, request2, contentLength) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      const pipe = pipeline(
+        body,
+        h2stream,
+        (err) => {
+          if (err) {
+            util.destroy(pipe, err);
+            abort(err);
+          } else {
+            util.removeAllListeners(pipe);
+            request2.onRequestSent();
+            if (!expectsPayload) {
+              socket[kReset] = true;
+            }
+            client[kResume]();
+          }
+        }
+      );
+      util.addListener(pipe, "data", onPipeData);
+      function onPipeData(chunk) {
+        request2.onBodySent(chunk);
       }
-      position.position = idx;
-      return input.slice(start, position.position);
-    }
-    function stringPercentDecode(input) {
-      const bytes = encoder.encode(input);
-      return percentDecode(bytes);
     }
-    function percentDecode(input) {
-      const output = [];
-      for (let i = 0; i < input.length; i++) {
-        const byte = input[i];
-        if (byte !== 37) {
-          output.push(byte);
-        } else if (byte === 37 && !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i + 1], input[i + 2]))) {
-          output.push(37);
-        } else {
-          const nextTwoBytes = String.fromCharCode(input[i + 1], input[i + 2]);
-          const bytePoint = Number.parseInt(nextTwoBytes, 16);
-          output.push(bytePoint);
-          i += 2;
+    async function writeBlob(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength === body.size, "blob body must have content length");
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
+        }
+        const buffer = Buffer.from(await body.arrayBuffer());
+        h2stream.cork();
+        h2stream.write(buffer);
+        h2stream.uncork();
+        h2stream.end();
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
         }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      return Uint8Array.from(output);
     }
-    function parseMIMEType(input) {
-      input = removeHTTPWhitespace(input, true, true);
-      const position = { position: 0 };
-      const type2 = collectASequenceOfCodePointsFast(
-        "/",
-        input,
-        position
-      );
-      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
-        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";
+    async function writeIterable(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
+        }
       }
-      const typeLowercase = type2.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;
+      const waitForDrain = () => new Promise((resolve9, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve9;
+        }
+      });
+      h2stream.on("close", onDrain).on("drain", onDrain);
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          const res = h2stream.write(chunk);
+          request2.onBodySent(chunk);
+          if (!res) {
+            await waitForDrain();
           }
-          position.position++;
         }
-        if (position.position > input.length) {
-          break;
+        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/@actions/github/node_modules/undici/lib/handler/redirect-handler.js
+var require_redirect_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js"(exports2, module2) {
+    "use strict";
+    var util = require_util9();
+    var { kBodyUsed } = require_symbols6();
+    var assert = require("node:assert");
+    var { InvalidArgumentError } = require_errors2();
+    var EE = require("node:events");
+    var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
+    var kBody = /* @__PURE__ */ Symbol("body");
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
+      }
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
+      }
+    };
+    var RedirectHandler = class {
+      constructor(dispatch, maxRedirections, opts, handler2) {
+        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
         }
-        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;
+        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 (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {
-          mimeType.parameters.set(parameterName, parameterValue);
+          if (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);
         }
       }
-      return mimeType;
-    }
-    function forgivingBase64(data) {
-      data = data.replace(/[\u0009\u000A\u000C\u000D\u0020]/g, "");
-      if (data.length % 4 === 0) {
-        data = data.replace(/=?=$/, "");
+      onConnect(abort) {
+        this.abort = abort;
+        this.handler.onConnect(abort, { history: this.history });
       }
-      if (data.length % 4 === 1) {
-        return "failure";
+      onUpgrade(statusCode, headers, socket) {
+        this.handler.onUpgrade(statusCode, headers, socket);
       }
-      if (/[^+/0-9A-Za-z]/.test(data)) {
-        return "failure";
+      onError(error3) {
+        this.handler.onError(error3);
       }
-      const binary2 = atob2(data);
-      const bytes = new Uint8Array(binary2.length);
-      for (let byte = 0; byte < binary2.length; byte++) {
-        bytes[byte] = binary2.charCodeAt(byte);
+      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 path16 = search ? `${pathname}${search}` : pathname;
+        this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
+        this.opts.path = path16;
+        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;
+        }
       }
-      return bytes;
-    }
-    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;
+      onData(chunk) {
+        if (this.location) {
+        } else {
+          return this.handler.onData(chunk);
         }
-        const quoteOrBackslash = input[position.position];
-        position.position++;
-        if (quoteOrBackslash === "\\") {
-          if (position.position >= input.length) {
-            value += "\\";
-            break;
-          }
-          value += input[position.position];
-          position.position++;
+      }
+      onComplete(trailers) {
+        if (this.location) {
+          this.location = null;
+          this.abort = null;
+          this.dispatch(this.opts, this);
         } else {
-          assert(quoteOrBackslash === '"');
-          break;
+          this.handler.onComplete(trailers);
         }
       }
-      if (extractValue) {
-        return value;
+      onBodySent(chunk) {
+        if (this.handler.onBodySent) {
+          this.handler.onBodySent(chunk);
+        }
       }
-      return input.slice(positionStart, position.position);
-    }
-    function serializeAMimeType(mimeType) {
-      assert(mimeType !== "failure");
-      const { parameters, essence } = mimeType;
-      let serialization = essence;
-      for (let [name, value] of parameters.entries()) {
-        serialization += ";";
-        serialization += name;
-        serialization += "=";
-        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
-          value = value.replace(/(\\|")/g, "\\$1");
-          value = '"' + value;
-          value += '"';
+    };
+    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];
         }
-        serialization += value;
       }
-      return serialization;
     }
-    function isHTTPWhiteSpace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === " ";
-    }
-    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
-      let lead = 0;
-      let trail = str2.length - 1;
-      if (leading) {
-        for (; lead < str2.length && isHTTPWhiteSpace(str2[lead]); lead++) ;
+    function shouldRemoveHeader(header, removeContent, unknownOrigin) {
+      if (header.length === 4) {
+        return util.headerNameToString(header) === "host";
       }
-      if (trailing) {
-        for (; trail > 0 && isHTTPWhiteSpace(str2[trail]); trail--) ;
+      if (removeContent && util.headerNameToString(header).startsWith("content-")) {
+        return true;
       }
-      return str2.slice(lead, trail + 1);
-    }
-    function isASCIIWhitespace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === "\f" || char === " ";
-    }
-    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
-      let lead = 0;
-      let trail = str2.length - 1;
-      if (leading) {
-        for (; lead < str2.length && isASCIIWhitespace(str2[lead]); lead++) ;
+      if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) {
+        const name = util.headerNameToString(header);
+        return name === "authorization" || name === "cookie" || name === "proxy-authorization";
       }
-      if (trailing) {
-        for (; trail > 0 && isASCIIWhitespace(str2[trail]); trail--) ;
+      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 str2.slice(lead, trail + 1);
+      return ret;
     }
-    module2.exports = {
-      dataURLProcessor,
-      URLSerializer,
-      collectASequenceOfCodePoints,
-      collectASequenceOfCodePointsFast,
-      stringPercentDecode,
-      parseMIMEType,
-      collectAnHTTPQuotedString,
-      serializeAMimeType
-    };
+    module2.exports = RedirectHandler;
   }
 });
 
-// node_modules/undici/lib/fetch/file.js
-var require_file2 = __commonJS({
-  "node_modules/undici/lib/fetch/file.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js
+var require_redirect_interceptor2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js"(exports2, module2) {
     "use strict";
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { types } = require("util");
-    var { kState } = require_symbols7();
-    var { isBlobLike } = require_util10();
-    var { webidl } = require_webidl2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var { kEnumerableProperty } = require_util9();
-    var encoder = new TextEncoder();
-    var File2 = class _File extends Blob2 {
-      constructor(fileBits, fileName, options = {}) {
-        webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" });
-        fileBits = webidl.converters["sequence"](fileBits);
-        fileName = webidl.converters.USVString(fileName);
-        options = webidl.converters.FilePropertyBag(options);
-        const n = fileName;
-        let t = options.type;
-        let d;
-        substep: {
-          if (t) {
-            t = parseMIMEType(t);
-            if (t === "failure") {
-              t = "";
-              break substep;
-            }
-            t = serializeAMimeType(t).toLowerCase();
+    var RedirectHandler = require_redirect_handler2();
+    function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) {
+      return (dispatch) => {
+        return function Intercept(opts, handler2) {
+          const { maxRedirections = defaultMaxRedirections } = opts;
+          if (!maxRedirections) {
+            return dispatch(opts, handler2);
           }
-          d = options.lastModified;
-        }
-        super(processBlobParts(fileBits, options), { type: t });
-        this[kState] = {
-          name: n,
-          lastModified: d,
-          type: t
+          const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler2);
+          opts = { ...opts, maxRedirections: 0 };
+          return dispatch(opts, redirectHandler);
         };
-      }
-      get name() {
-        webidl.brandCheck(this, _File);
-        return this[kState].name;
-      }
-      get lastModified() {
-        webidl.brandCheck(this, _File);
-        return this[kState].lastModified;
-      }
-      get type() {
-        webidl.brandCheck(this, _File);
-        return this[kState].type;
-      }
+      };
+    }
+    module2.exports = createRedirectInterceptor;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js
+var require_client2 = __commonJS({
+  "node_modules/@actions/github/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_util9();
+    var { channels } = require_diagnostics2();
+    var Request = require_request3();
+    var DispatcherBase = require_dispatcher_base2();
+    var {
+      InvalidArgumentError,
+      InformationalError,
+      ClientDestroyedError
+    } = require_errors2();
+    var buildConnector = require_connect2();
+    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_symbols6();
+    var connectH1 = require_client_h12();
+    var connectH2 = require_client_h22();
+    var deprecatedInterceptorWarned = false;
+    var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
+    var noop3 = () => {
     };
-    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);
+    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);
       }
-      arrayBuffer(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.arrayBuffer(...args);
+      get pipelining() {
+        return this[kPipelining];
       }
-      slice(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.slice(...args);
+      set pipelining(value) {
+        this[kPipelining] = value;
+        this[kResume](true);
       }
-      text(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.text(...args);
+      get [kPending]() {
+        return this[kQueue].length - this[kPendingIdx];
       }
-      get size() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.size;
+      get [kRunning]() {
+        return this[kPendingIdx] - this[kRunningIdx];
       }
-      get type() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.type;
+      get [kSize]() {
+        return this[kQueue].length - this[kRunningIdx];
       }
-      get name() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].name;
+      get [kConnected]() {
+        return !!this[kHTTPContext] && !this[kConnecting] && !this[kHTTPContext].destroyed;
       }
-      get lastModified() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].lastModified;
+      get [kBusy]() {
+        return Boolean(
+          this[kHTTPContext]?.busy(null) || this[kSize] >= (getPipelining(this) || 1) || this[kPending] > 0
+        );
       }
-      get [Symbol.toStringTag]() {
-        return "File";
+      /* istanbul ignore: only used for test */
+      [kConnect](cb) {
+        connect(this);
+        this.once("connect", cb);
       }
-    };
-    Object.defineProperties(File2.prototype, {
-      [Symbol.toStringTag]: {
-        value: "File",
-        configurable: true
-      },
-      name: kEnumerableProperty,
-      lastModified: kEnumerableProperty
-    });
-    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
-    webidl.converters.BlobPart = function(V, opts) {
-      if (webidl.util.Type(V) === "Object") {
-        if (isBlobLike(V)) {
-          return webidl.converters.Blob(V, { strict: false });
+      [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 (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
-          return webidl.converters.BufferSource(V, opts);
+        if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
+          this[kNeedDrain] = 2;
         }
+        return this[kNeedDrain] < 2;
       }
-      return webidl.converters.USVString(V, opts);
-    };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.BlobPart
-    );
-    webidl.converters.FilePropertyBag = webidl.dictionaryConverter([
-      {
-        key: "lastModified",
-        converter: webidl.converters["long long"],
-        get defaultValue() {
-          return Date.now();
-        }
-      },
-      {
-        key: "type",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "endings",
-        converter: (value) => {
-          value = webidl.converters.DOMString(value);
-          value = value.toLowerCase();
-          if (value !== "native") {
-            value = "transparent";
+      async [kClose]() {
+        return new Promise((resolve9) => {
+          if (this[kSize]) {
+            this[kClosedResolve] = resolve9;
+          } else {
+            resolve9(null);
           }
-          return value;
-        },
-        defaultValue: "transparent"
+        });
       }
-    ]);
-    function processBlobParts(parts, options) {
-      const bytes = [];
-      for (const element of parts) {
-        if (typeof element === "string") {
-          let s = element;
-          if (options.endings === "native") {
-            s = convertLineEndingsNative(s);
-          }
-          bytes.push(encoder.encode(s));
-        } else if (types.isAnyArrayBuffer(element) || types.isTypedArray(element)) {
-          if (!element.buffer) {
-            bytes.push(new Uint8Array(element));
+      async [kDestroy](err) {
+        return new Promise((resolve9) => {
+          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;
+            }
+            resolve9(null);
+          };
+          if (this[kHTTPContext]) {
+            this[kHTTPContext].destroy(err, callback);
+            this[kHTTPContext] = null;
           } else {
-            bytes.push(
-              new Uint8Array(element.buffer, element.byteOffset, element.byteLength)
-            );
+            queueMicrotask(callback);
           }
-        } else if (isBlobLike(element)) {
-          bytes.push(element);
+          this[kResume]();
+        });
+      }
+    };
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    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);
       }
-      return bytes;
     }
-    function convertLineEndingsNative(s) {
-      let nativeLineEnding = "\n";
-      if (process.platform === "win32") {
-        nativeLineEnding = "\r\n";
+    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;
       }
-      return s.replace(/\r?\n/g, nativeLineEnding);
-    }
-    function isFileLike(object) {
-      return NativeFile && object instanceof NativeFile || object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
-    }
-    module2.exports = { File: File2, FileLike, isFileLike };
-  }
-});
-
-// node_modules/undici/lib/fetch/formdata.js
-var require_formdata2 = __commonJS({
-  "node_modules/undici/lib/fetch/formdata.js"(exports2, module2) {
-    "use strict";
-    var { isBlobLike, toUSVString, makeIterator } = require_util10();
-    var { kState } = require_symbols7();
-    var { File: UndiciFile, FileLike, isFileLike } = require_file2();
-    var { webidl } = require_webidl2();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var File2 = NativeFile ?? UndiciFile;
-    var FormData2 = class _FormData {
-      constructor(form) {
-        if (form !== void 0) {
-          throw webidl.errors.conversionFailed({
-            prefix: "FormData constructor",
-            argument: "Argument 1",
-            types: ["undefined"]
+      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((resolve9, reject) => {
+          client[kConnector]({
+            host,
+            hostname,
+            protocol,
+            port,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          }, (err, socket2) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve9(socket2);
+            }
           });
+        });
+        if (client.destroyed) {
+          util.destroy(socket.on("error", noop3), new ClientDestroyedError());
+          return;
         }
-        this[kState] = [];
-      }
-      append(name, value, filename = void 0) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" });
-        if (arguments.length === 3 && !isBlobLike(value)) {
-          throw new TypeError(
-            "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"
-          );
+        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;
         }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0;
-        const entry = makeEntry(name, value, filename);
-        this[kState].push(entry);
-      }
-      delete(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" });
-        name = webidl.converters.USVString(name);
-        this[kState] = this[kState].filter((entry) => entry.name !== name);
-      }
-      get(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" });
-        name = webidl.converters.USVString(name);
-        const idx = this[kState].findIndex((entry) => entry.name === name);
-        if (idx === -1) {
-          return null;
+        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
+          });
         }
-        return this[kState][idx].value;
-      }
-      getAll(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" });
-        name = webidl.converters.USVString(name);
-        return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value);
-      }
-      has(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" });
-        name = webidl.converters.USVString(name);
-        return this[kState].findIndex((entry) => entry.name === name) !== -1;
-      }
-      set(name, value, filename = void 0) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" });
-        if (arguments.length === 3 && !isBlobLike(value)) {
-          throw new TypeError(
-            "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"
-          );
+        client.emit("connect", client[kUrl], [client]);
+      } catch (err) {
+        if (client.destroyed) {
+          return;
         }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? toUSVString(filename) : void 0;
-        const entry = makeEntry(name, value, filename);
-        const idx = this[kState].findIndex((entry2) => entry2.name === name);
-        if (idx !== -1) {
-          this[kState] = [
-            ...this[kState].slice(0, idx),
-            entry,
-            ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name)
-          ];
+        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 {
-          this[kState].push(entry);
+          onError(client, err);
         }
+        client.emit("connectionError", client[kUrl], [client], err);
       }
-      entries() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key+value"
-        );
-      }
-      keys() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key"
-        );
+      client[kResume]();
+    }
+    function emitDrain(client) {
+      client[kNeedDrain] = 0;
+      client.emit("drain", client[kUrl], [client]);
+    }
+    function resume(client, sync) {
+      if (client[kResuming] === 2) {
+        return;
       }
-      values() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "value"
-        );
+      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;
       }
-      /**
-       * @param {(value: string, key: string, self: FormData) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'."
-          );
+    }
+    function _resume(client, sync) {
+      while (true) {
+        if (client.destroyed) {
+          assert(client[kPending] === 0);
+          return;
         }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
+        if (client[kClosedResolve] && !client[kSize]) {
+          client[kClosedResolve]();
+          client[kClosedResolve] = null;
+          return;
         }
-      }
-    };
-    FormData2.prototype[Symbol.iterator] = FormData2.prototype.entries;
-    Object.defineProperties(FormData2.prototype, {
-      [Symbol.toStringTag]: {
-        value: "FormData",
-        configurable: true
-      }
-    });
-    function makeEntry(name, value, filename) {
-      name = Buffer.from(name).toString("utf8");
-      if (typeof value === "string") {
-        value = Buffer.from(value).toString("utf8");
-      } else {
-        if (!isFileLike(value)) {
-          value = value instanceof Blob2 ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
+        if (client[kHTTPContext]) {
+          client[kHTTPContext].resume();
         }
-        if (filename !== void 0) {
-          const options = {
-            type: value.type,
-            lastModified: value.lastModified
-          };
-          value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
+        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);
         }
       }
-      return { name, value };
     }
-    module2.exports = { FormData: FormData2 };
+    module2.exports = Client;
   }
 });
 
-// node_modules/undici/lib/fetch/body.js
-var require_body2 = __commonJS({
-  "node_modules/undici/lib/fetch/body.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/fixed-queue.js
+var require_fixed_queue2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/fixed-queue.js"(exports2, module2) {
     "use strict";
-    var Busboy = require_main();
-    var util = require_util9();
-    var {
-      ReadableStreamFrom,
-      isBlobLike,
-      isReadableStreamLike,
-      readableStreamClose,
-      createDeferredPromise,
-      fullyReadBody
-    } = require_util10();
-    var { FormData: FormData2 } = require_formdata2();
-    var { kState } = require_symbols7();
-    var { webidl } = require_webidl2();
-    var { DOMException: DOMException2, structuredClone } = require_constants7();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
-    var { isErrored } = require_util9();
-    var { isUint8Array, isArrayBuffer } = require("util/types");
-    var { File: UndiciFile } = require_file2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var random;
-    try {
-      const crypto3 = require("node:crypto");
-      random = (max) => crypto3.randomInt(0, max);
-    } catch {
-      random = (max) => Math.floor(Math.random(max));
-    }
-    var ReadableStream2 = globalThis.ReadableStream;
-    var File2 = NativeFile ?? UndiciFile;
-    var textEncoder = new TextEncoder();
-    var textDecoder = new TextDecoder();
-    function extractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+    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;
       }
-      let stream2 = null;
-      if (object instanceof ReadableStream2) {
-        stream2 = object;
-      } else if (isBlobLike(object)) {
-        stream2 = object.stream();
-      } else {
-        stream2 = new ReadableStream2({
-          async pull(controller) {
-            controller.enqueue(
-              typeof source === "string" ? textEncoder.encode(source) : source
-            );
-            queueMicrotask(() => readableStreamClose(controller));
-          },
-          start() {
-          },
-          type: void 0
-        });
+      isEmpty() {
+        return this.top === this.bottom;
       }
-      assert(isReadableStreamLike(stream2));
-      let action = null;
-      let source = null;
-      let length = null;
-      let type2 = null;
-      if (typeof object === "string") {
-        source = object;
-        type2 = "text/plain;charset=UTF-8";
-      } else if (object instanceof URLSearchParams) {
-        source = object.toString();
-        type2 = "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 = (str2) => str2.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}--`);
-        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;
-            }
-          }
-        };
-        type2 = "multipart/form-data; boundary=" + boundary;
-      } else if (isBlobLike(object)) {
-        source = object;
-        length = object.size;
-        if (object.type) {
-          type2 = 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"
-          );
-        }
-        stream2 = object instanceof ReadableStream2 ? object : ReadableStreamFrom(object);
+      isFull() {
+        return (this.top + 1 & kMask) === this.bottom;
       }
-      if (typeof source === "string" || util.isBuffer(source)) {
-        length = Buffer.byteLength(source);
+      push(data) {
+        this.list[this.top] = data;
+        this.top = this.top + 1 & kMask;
       }
-      if (action != null) {
-        let iterator2;
-        stream2 = new ReadableStream2({
-          async start() {
-            iterator2 = action(object)[Symbol.asyncIterator]();
-          },
-          async pull(controller) {
-            const { value, done } = await iterator2.next();
-            if (done) {
-              queueMicrotask(() => {
-                controller.close();
-              });
-            } else {
-              if (!isErrored(stream2)) {
-                controller.enqueue(new Uint8Array(value));
-              }
-            }
-            return controller.desiredSize > 0;
-          },
-          async cancel(reason) {
-            await iterator2.return();
-          },
-          type: void 0
-        });
+      shift() {
+        const nextItem = this.list[this.bottom];
+        if (nextItem === void 0)
+          return null;
+        this.list[this.bottom] = void 0;
+        this.bottom = this.bottom + 1 & kMask;
+        return nextItem;
       }
-      const body = { stream: stream2, source, length };
-      return [body, type2];
-    }
-    function safelyExtractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+    };
+    module2.exports = class FixedQueue {
+      constructor() {
+        this.head = this.tail = new FixedCircularBuffer();
+      }
+      isEmpty() {
+        return this.head.isEmpty();
       }
-      if (object instanceof ReadableStream2) {
-        assert(!util.isDisturbed(object), "The body has already been consumed.");
-        assert(!object.locked, "The stream is locked.");
+      push(data) {
+        if (this.head.isFull()) {
+          this.head = this.head.next = new FixedCircularBuffer();
+        }
+        this.head.push(data);
       }
-      return extractBody(object, keepalive);
-    }
-    function cloneBody(body) {
-      const [out1, out2] = body.stream.tee();
-      const out2Clone = structuredClone(out2, { transfer: [out2] });
-      const [, finalClone] = out2Clone.tee();
-      body.stream = out1;
-      return {
-        stream: finalClone,
-        length: body.length,
-        source: body.source
-      };
-    }
-    async function* consumeBody(body) {
-      if (body) {
-        if (isUint8Array(body)) {
-          yield body;
-        } else {
-          const stream2 = body.stream;
-          if (util.isDisturbed(stream2)) {
-            throw new TypeError("The body has already been consumed.");
-          }
-          if (stream2.locked) {
-            throw new TypeError("The stream is locked.");
-          }
-          stream2[kBodyUsed] = true;
-          yield* stream2;
+      shift() {
+        const tail = this.tail;
+        const next = tail.shift();
+        if (tail.isEmpty() && tail.next !== null) {
+          this.tail = tail.next;
         }
+        return next;
       }
-    }
-    function throwIfAborted(state) {
-      if (state.aborted) {
-        throw new DOMException2("The operation was aborted.", "AbortError");
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js
+var require_pool_stats2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js"(exports2, module2) {
+    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
+    var kPool = /* @__PURE__ */ Symbol("pool");
+    var PoolStats = class {
+      constructor(pool) {
+        this[kPool] = pool;
       }
-    }
-    function bodyMixinMethods(instance) {
-      const methods = {
-        blob() {
-          return specConsumeBody(this, (bytes) => {
-            let mimeType = bodyMimeType(this);
-            if (mimeType === "failure") {
-              mimeType = "";
-            } else if (mimeType) {
-              mimeType = serializeAMimeType(mimeType);
-            }
-            return new Blob2([bytes], { type: mimeType });
-          }, instance);
-        },
-        arrayBuffer() {
-          return specConsumeBody(this, (bytes) => {
-            return new Uint8Array(bytes).buffer;
-          }, instance);
-        },
-        text() {
-          return specConsumeBody(this, utf8DecodeBytes, instance);
-        },
-        json() {
-          return specConsumeBody(this, parseJSONFromBytes, instance);
-        },
-        async formData() {
-          webidl.brandCheck(this, instance);
-          throwIfAborted(this[kState]);
-          const contentType = this.headers.get("Content-Type");
-          if (/multipart\/form-data/.test(contentType)) {
-            const headers = {};
-            for (const [key, value] of this.headers) headers[key.toLowerCase()] = value;
-            const responseFormData = new FormData2();
-            let busboy;
-            try {
-              busboy = new Busboy({
-                headers,
-                preservePath: true
-              });
-            } catch (err) {
-              throw new DOMException2(`${err}`, "AbortError");
-            }
-            busboy.on("field", (name, value) => {
-              responseFormData.append(name, value);
-            });
-            busboy.on("file", (name, value, filename, encoding, mimeType) => {
-              const chunks = [];
-              if (encoding === "base64" || encoding.toLowerCase() === "base64") {
-                let base64chunk = "";
-                value.on("data", (chunk) => {
-                  base64chunk += chunk.toString().replace(/[\r\n]/gm, "");
-                  const end = base64chunk.length - base64chunk.length % 4;
-                  chunks.push(Buffer.from(base64chunk.slice(0, end), "base64"));
-                  base64chunk = base64chunk.slice(end);
-                });
-                value.on("end", () => {
-                  chunks.push(Buffer.from(base64chunk, "base64"));
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              } else {
-                value.on("data", (chunk) => {
-                  chunks.push(chunk);
-                });
-                value.on("end", () => {
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              }
-            });
-            const busboyResolve = new Promise((resolve9, reject) => {
-              busboy.on("finish", resolve9);
-              busboy.on("error", (err) => reject(new TypeError(err)));
-            });
-            if (this.body !== null) for await (const chunk of consumeBody(this[kState].body)) busboy.write(chunk);
-            busboy.end();
-            await busboyResolve;
-            return responseFormData;
-          } else if (/application\/x-www-form-urlencoded/.test(contentType)) {
-            let entries;
-            try {
-              let text = "";
-              const streamingDecoder = new TextDecoder("utf-8", { ignoreBOM: true });
-              for await (const chunk of consumeBody(this[kState].body)) {
-                if (!isUint8Array(chunk)) {
-                  throw new TypeError("Expected Uint8Array chunk");
-                }
-                text += streamingDecoder.decode(chunk, { stream: true });
-              }
-              text += streamingDecoder.decode();
-              entries = new URLSearchParams(text);
-            } catch (err) {
-              throw Object.assign(new TypeError(), { cause: err });
-            }
-            const formData = new FormData2();
-            for (const [name, value] of entries) {
-              formData.append(name, value);
-            }
-            return formData;
-          } else {
-            await Promise.resolve();
-            throwIfAborted(this[kState]);
-            throw webidl.errors.exception({
-              header: `${instance.name}.formData`,
-              message: "Could not parse content as FormData."
-            });
-          }
-        }
-      };
-      return methods;
-    }
-    function mixinBody(prototype) {
-      Object.assign(prototype.prototype, bodyMixinMethods(prototype));
-    }
-    async function specConsumeBody(object, convertBytesToJSValue, instance) {
-      webidl.brandCheck(object, instance);
-      throwIfAborted(object[kState]);
-      if (bodyUnusable(object[kState].body)) {
-        throw new TypeError("Body is unusable");
+      get connected() {
+        return this[kPool][kConnected];
       }
-      const promise = createDeferredPromise();
-      const errorSteps = (error3) => promise.reject(error3);
-      const successSteps = (data) => {
-        try {
-          promise.resolve(convertBytesToJSValue(data));
-        } catch (e) {
-          errorSteps(e);
-        }
-      };
-      if (object[kState].body == null) {
-        successSteps(new Uint8Array());
-        return promise.promise;
+      get free() {
+        return this[kPool][kFree];
       }
-      await fullyReadBody(object[kState].body, successSteps, errorSteps);
-      return promise.promise;
-    }
-    function bodyUnusable(body) {
-      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
-    }
-    function utf8DecodeBytes(buffer) {
-      if (buffer.length === 0) {
-        return "";
+      get pending() {
+        return this[kPool][kPending];
       }
-      if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
-        buffer = buffer.subarray(3);
+      get queued() {
+        return this[kPool][kQueued];
       }
-      const output = textDecoder.decode(buffer);
-      return output;
-    }
-    function parseJSONFromBytes(bytes) {
-      return JSON.parse(utf8DecodeBytes(bytes));
-    }
-    function bodyMimeType(object) {
-      const { headersList } = object[kState];
-      const contentType = headersList.get("content-type");
-      if (contentType === null) {
-        return "failure";
+      get running() {
+        return this[kPool][kRunning];
+      }
+      get size() {
+        return this[kPool][kSize];
       }
-      return parseMIMEType(contentType);
-    }
-    module2.exports = {
-      extractBody,
-      safelyExtractBody,
-      cloneBody,
-      mixinBody
     };
+    module2.exports = PoolStats;
   }
 });
 
-// node_modules/undici/lib/core/request.js
-var require_request3 = __commonJS({
-  "node_modules/undici/lib/core/request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js
+var require_pool_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js"(exports2, module2) {
     "use strict";
-    var {
-      InvalidArgumentError,
-      NotSupportedError
-    } = require_errors2();
-    var assert = require("assert");
-    var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = require_symbols6();
-    var util = require_util9();
-    var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;
-    var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
-    var invalidPathRegex = /[^\u0021-\u00ff]/;
-    var kHandler = /* @__PURE__ */ Symbol("handler");
-    var channels = {};
-    var extractBody;
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.create = diagnosticsChannel.channel("undici:request:create");
-      channels.bodySent = diagnosticsChannel.channel("undici:request:bodySent");
-      channels.headers = diagnosticsChannel.channel("undici:request:headers");
-      channels.trailers = diagnosticsChannel.channel("undici:request:trailers");
-      channels.error = diagnosticsChannel.channel("undici:request:error");
-    } catch {
-      channels.create = { hasSubscribers: false };
-      channels.bodySent = { hasSubscribers: false };
-      channels.headers = { hasSubscribers: false };
-      channels.trailers = { hasSubscribers: false };
-      channels.error = { hasSubscribers: false };
-    }
-    var Request = class _Request {
-      constructor(origin, {
-        path: path16,
-        method,
-        body,
-        headers,
-        query,
-        idempotent,
-        blocking,
-        upgrade,
-        headersTimeout,
-        bodyTimeout,
-        reset,
-        throwOnError,
-        expectContinue
-      }, handler2) {
-        if (typeof path16 !== "string") {
-          throw new InvalidArgumentError("path must be a string");
-        } else if (path16[0] !== "/" && !(path16.startsWith("http://") || path16.startsWith("https://")) && method !== "CONNECT") {
-          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
-        } else if (invalidPathRegex.exec(path16) !== null) {
-          throw new InvalidArgumentError("invalid request path");
-        }
-        if (typeof method !== "string") {
-          throw new InvalidArgumentError("method must be a string");
-        } else if (tokenRegExp.exec(method) === null) {
-          throw new InvalidArgumentError("invalid request method");
-        }
-        if (upgrade && typeof upgrade !== "string") {
-          throw new InvalidArgumentError("upgrade must be a string");
-        }
-        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
-          throw new InvalidArgumentError("invalid headersTimeout");
-        }
-        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
-          throw new InvalidArgumentError("invalid bodyTimeout");
-        }
-        if (reset != null && typeof reset !== "boolean") {
-          throw new InvalidArgumentError("invalid reset");
-        }
-        if (expectContinue != null && typeof expectContinue !== "boolean") {
-          throw new InvalidArgumentError("invalid expectContinue");
-        }
-        this.headersTimeout = headersTimeout;
-        this.bodyTimeout = bodyTimeout;
-        this.throwOnError = throwOnError === true;
-        this.method = method;
-        this.abort = null;
-        if (body == null) {
-          this.body = null;
-        } else if (util.isStream(body)) {
-          this.body = body;
-          const rState = this.body._readableState;
-          if (!rState || !rState.autoDestroy) {
-            this.endHandler = function autoDestroy() {
-              util.destroy(this);
-            };
-            this.body.on("end", this.endHandler);
-          }
-          this.errorHandler = (err) => {
-            if (this.abort) {
-              this.abort(err);
-            } else {
-              this.error = err;
+    var DispatcherBase = require_dispatcher_base2();
+    var FixedQueue = require_fixed_queue2();
+    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
+    var PoolStats = require_pool_stats2();
+    var kClients = /* @__PURE__ */ Symbol("clients");
+    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
+    var kQueue = /* @__PURE__ */ Symbol("queue");
+    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
+    var kAddClient = /* @__PURE__ */ Symbol("add client");
+    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
+    var kStats = /* @__PURE__ */ 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;
             }
-          };
-          this.body.on("error", this.errorHandler);
-        } else if (util.isBuffer(body)) {
-          this.body = body.byteLength ? body : null;
-        } else if (ArrayBuffer.isView(body)) {
-          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
-        } else if (body instanceof ArrayBuffer) {
-          this.body = body.byteLength ? Buffer.from(body) : null;
-        } else if (typeof body === "string") {
-          this.body = body.length ? Buffer.from(body) : null;
-        } else if (util.isFormDataLike(body) || util.isIterable(body) || util.isBlobLike(body)) {
-          this.body = body;
-        } else {
-          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
-        }
-        this.completed = false;
-        this.aborted = false;
-        this.upgrade = upgrade || null;
-        this.path = query ? util.buildURL(path16, query) : path16;
-        this.origin = origin;
-        this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
-        this.blocking = blocking == null ? false : blocking;
-        this.reset = reset == null ? null : reset;
-        this.host = null;
-        this.contentLength = null;
-        this.contentType = null;
-        this.headers = "";
-        this.expectContinue = expectContinue != null ? expectContinue : false;
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
-          }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(this, headers[i], headers[i + 1]);
-          }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(this, key, headers[key]);
-          }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
-        }
-        if (util.isFormDataLike(this.body)) {
-          if (util.nodeMajor < 16 || util.nodeMajor === 16 && util.nodeMinor < 8) {
-            throw new InvalidArgumentError("Form-Data bodies are only supported in node v16.8 and newer.");
+            pool[kQueued]--;
+            needDrain = !this.dispatch(item.opts, item.handler);
           }
-          if (!extractBody) {
-            extractBody = require_body2().extractBody;
+          this[kNeedDrain] = needDrain;
+          if (!this[kNeedDrain] && pool[kNeedDrain]) {
+            pool[kNeedDrain] = false;
+            pool.emit("drain", origin, [pool, ...targets]);
           }
-          const [bodyStream, contentType] = extractBody(body);
-          if (this.contentType == null) {
-            this.contentType = contentType;
-            this.headers += `content-type: ${contentType}\r
-`;
+          if (pool[kClosedResolve] && queue.isEmpty()) {
+            Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]);
           }
-          this.body = bodyStream.stream;
-          this.contentLength = bodyStream.length;
-        } else if (util.isBlobLike(body) && this.contentType == null && body.type) {
-          this.contentType = body.type;
-          this.headers += `content-type: ${body.type}\r
-`;
-        }
-        util.validateHandler(handler2, method, upgrade);
-        this.servername = util.getServerName(this.host);
-        this[kHandler] = handler2;
-        if (channels.create.hasSubscribers) {
-          channels.create.publish({ request: this });
-        }
+        };
+        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);
       }
-      onBodySent(chunk) {
-        if (this[kHandler].onBodySent) {
-          try {
-            return this[kHandler].onBodySent(chunk);
-          } catch (err) {
-            this.abort(err);
-          }
-        }
+      get [kBusy]() {
+        return this[kNeedDrain];
       }
-      onRequestSent() {
-        if (channels.bodySent.hasSubscribers) {
-          channels.bodySent.publish({ request: this });
-        }
-        if (this[kHandler].onRequestSent) {
-          try {
-            return this[kHandler].onRequestSent();
-          } catch (err) {
-            this.abort(err);
-          }
-        }
+      get [kConnected]() {
+        return this[kClients].filter((client) => client[kConnected]).length;
       }
-      onConnect(abort) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (this.error) {
-          abort(this.error);
-        } else {
-          this.abort = abort;
-          return this[kHandler].onConnect(abort);
-        }
+      get [kFree]() {
+        return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;
       }
-      onHeaders(statusCode, headers, resume, statusText) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (channels.headers.hasSubscribers) {
-          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
+      get [kPending]() {
+        let ret = this[kQueued];
+        for (const { [kPending]: pending } of this[kClients]) {
+          ret += pending;
         }
-        try {
-          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
-        } catch (err) {
-          this.abort(err);
+        return ret;
+      }
+      get [kRunning]() {
+        let ret = 0;
+        for (const { [kRunning]: running } of this[kClients]) {
+          ret += running;
         }
+        return ret;
       }
-      onData(chunk) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        try {
-          return this[kHandler].onData(chunk);
-        } catch (err) {
-          this.abort(err);
-          return false;
+      get [kSize]() {
+        let ret = this[kQueued];
+        for (const { [kSize]: size } of this[kClients]) {
+          ret += size;
         }
+        return ret;
       }
-      onUpgrade(statusCode, headers, socket) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        return this[kHandler].onUpgrade(statusCode, headers, socket);
+      get stats() {
+        return this[kStats];
       }
-      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);
+      async [kClose]() {
+        if (this[kQueue].isEmpty()) {
+          await Promise.all(this[kClients].map((c) => c.close()));
+        } else {
+          await new Promise((resolve9) => {
+            this[kClosedResolve] = resolve9;
+          });
         }
       }
-      onError(error3) {
-        this.onFinally();
-        if (channels.error.hasSubscribers) {
-          channels.error.publish({ request: this, error: error3 });
-        }
-        if (this.aborted) {
-          return;
+      async [kDestroy](err) {
+        while (true) {
+          const item = this[kQueue].shift();
+          if (!item) {
+            break;
+          }
+          item.handler.onError(err);
         }
-        this.aborted = true;
-        return this[kHandler].onError(error3);
+        await Promise.all(this[kClients].map((c) => c.destroy(err)));
       }
-      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;
+      [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];
       }
-      // TODO: adjust to support H2
-      addHeader(key, value) {
-        processHeader(this, key, value);
+      [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;
       }
-      static [kHTTP1BuildRequest](origin, opts, handler2) {
-        return new _Request(origin, opts, handler2);
-      }
-      static [kHTTP2BuildRequest](origin, opts, handler2) {
-        const headers = opts.headers;
-        opts = { ...opts, headers: null };
-        const request2 = new _Request(origin, opts, handler2);
-        request2.headers = {};
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
-          }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(request2, headers[i], headers[i + 1], true);
-          }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(request2, key, headers[key], true);
+      [kRemoveClient](client) {
+        client.close(() => {
+          const idx = this[kClients].indexOf(client);
+          if (idx !== -1) {
+            this[kClients].splice(idx, 1);
           }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
-        }
-        return request2;
+        });
+        this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
       }
-      static [kHTTP2CopyHeaders](raw) {
-        const rawHeaders = raw.split("\r\n");
-        const headers = {};
-        for (const header of rawHeaders) {
-          const [key, value] = header.split(": ");
-          if (value == null || value.length === 0) continue;
-          if (headers[key]) headers[key] += `,${value}`;
-          else headers[key] = value;
+    };
+    module2.exports = {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js
+var require_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js"(exports2, module2) {
+    "use strict";
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kGetDispatcher
+    } = require_pool_base2();
+    var Client = require_client2();
+    var {
+      InvalidArgumentError
+    } = require_errors2();
+    var util = require_util9();
+    var { kUrl, kInterceptors } = require_symbols6();
+    var buildConnector = require_connect2();
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kConnections = /* @__PURE__ */ Symbol("connections");
+    var kFactory = /* @__PURE__ */ 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");
         }
-        return headers;
-      }
-    };
-    function processHeaderValue(key, val, skipAppend) {
-      if (val && typeof val === "object") {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      }
-      val = val != null ? `${val}` : "";
-      if (headerCharRegex.exec(val) !== null) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      }
-      return skipAppend ? val : `${key}: ${val}\r
-`;
-    }
-    function processHeader(request2, key, val, skipAppend = false) {
-      if (val && (typeof val === "object" && !Array.isArray(val))) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      } else if (val === void 0) {
-        return;
-      }
-      if (request2.host === null && key.length === 4 && key.toLowerCase() === "host") {
-        if (headerCharRegex.exec(val) !== null) {
-          throw new InvalidArgumentError(`invalid ${key} header`);
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
         }
-        request2.host = val;
-      } else if (request2.contentLength === null && key.length === 14 && key.toLowerCase() === "content-length") {
-        request2.contentLength = parseInt(val, 10);
-        if (!Number.isFinite(request2.contentLength)) {
-          throw new InvalidArgumentError("invalid content-length header");
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
         }
-      } else if (request2.contentType === null && key.length === 12 && key.toLowerCase() === "content-type") {
-        request2.contentType = val;
-        if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-        else request2.headers += processHeaderValue(key, val);
-      } else if (key.length === 17 && key.toLowerCase() === "transfer-encoding") {
-        throw new InvalidArgumentError("invalid transfer-encoding header");
-      } else if (key.length === 10 && key.toLowerCase() === "connection") {
-        const value = typeof val === "string" ? val.toLowerCase() : null;
-        if (value !== "close" && value !== "keep-alive") {
-          throw new InvalidArgumentError("invalid connection header");
-        } else if (value === "close") {
-          request2.reset = true;
+        if (typeof connect !== "function") {
+          connect = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect
+          });
         }
-      } else if (key.length === 10 && key.toLowerCase() === "keep-alive") {
-        throw new InvalidArgumentError("invalid keep-alive header");
-      } else if (key.length === 7 && key.toLowerCase() === "upgrade") {
-        throw new InvalidArgumentError("invalid upgrade header");
-      } else if (key.length === 6 && key.toLowerCase() === "expect") {
-        throw new NotSupportedError("expect header not supported");
-      } else if (tokenRegExp.exec(key) === null) {
-        throw new InvalidArgumentError("invalid header key");
-      } else {
-        if (Array.isArray(val)) {
-          for (let i = 0; i < val.length; i++) {
-            if (skipAppend) {
-              if (request2.headers[key]) request2.headers[key] += `,${processHeaderValue(key, val[i], skipAppend)}`;
-              else request2.headers[key] = processHeaderValue(key, val[i], skipAppend);
-            } else {
-              request2.headers += processHeaderValue(key, val[i]);
+        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, error3) => {
+          for (const target of targets) {
+            const idx = this[kClients].indexOf(target);
+            if (idx !== -1) {
+              this[kClients].splice(idx, 1);
             }
           }
-        } else {
-          if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-          else request2.headers += processHeaderValue(key, val);
-        }
-      }
-    }
-    module2.exports = Request;
-  }
-});
-
-// node_modules/undici/lib/dispatcher.js
-var require_dispatcher2 = __commonJS({
-  "node_modules/undici/lib/dispatcher.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("events");
-    var Dispatcher = class extends EventEmitter {
-      dispatch() {
-        throw new Error("not implemented");
-      }
-      close() {
-        throw new Error("not implemented");
+        });
       }
-      destroy() {
-        throw new Error("not implemented");
+      [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 = Dispatcher;
+    module2.exports = Pool;
   }
 });
 
-// node_modules/undici/lib/dispatcher-base.js
-var require_dispatcher_base2 = __commonJS({
-  "node_modules/undici/lib/dispatcher-base.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js
+var require_balanced_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js"(exports2, module2) {
     "use strict";
-    var Dispatcher = require_dispatcher2();
     var {
-      ClientDestroyedError,
-      ClientClosedError,
+      BalancedPoolMissingUpstreamError,
       InvalidArgumentError
     } = require_errors2();
-    var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols6();
-    var kDestroyed = /* @__PURE__ */ Symbol("destroyed");
-    var kClosed = /* @__PURE__ */ Symbol("closed");
-    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
-    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
-    var kInterceptedDispatch = /* @__PURE__ */ 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];
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    } = require_pool_base2();
+    var Pool = require_pool2();
+    var { kUrl, kInterceptors } = require_symbols6();
+    var { parseOrigin } = require_util9();
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
+    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
+    var kIndex = /* @__PURE__ */ Symbol("kIndex");
+    var kWeight = /* @__PURE__ */ Symbol("kWeight");
+    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
+    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
+    function getGreatestCommonDivisor(a, b) {
+      if (a === 0) return b;
+      while (b !== 0) {
+        const t = b;
+        b = a % b;
+        a = t;
       }
-      get interceptors() {
-        return this[kInterceptors];
+      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();
       }
-      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");
-            }
+      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[kInterceptors] = newInterceptors;
+        this._updateBalancedPoolStats();
+        return this;
       }
-      close(callback) {
-        if (callback === void 0) {
-          return new Promise((resolve9, reject) => {
-            this.close((err, data) => {
-              return err ? reject(err) : resolve9(data);
-            });
-          });
+      _updateBalancedPoolStats() {
+        let result = 0;
+        for (let i = 0; i < this[kClients].length; i++) {
+          result = getGreatestCommonDivisor(this[kClients][i][kWeight], result);
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        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);
         }
-        if (this[kDestroyed]) {
-          queueMicrotask(() => callback(new ClientDestroyedError(), null));
+        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;
         }
-        if (this[kClosed]) {
-          if (this[kOnClosed]) {
-            this[kOnClosed].push(callback);
-          } else {
-            queueMicrotask(() => callback(null, null));
-          }
+        const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b) => a && b, true);
+        if (allClientsBusy) {
           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);
+        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[kClose]().then(() => this.destroy()).then(() => {
-          queueMicrotask(onClosed);
-        });
-      }
-      destroy(err, callback) {
-        if (typeof err === "function") {
-          callback = err;
-          err = null;
         }
-        if (callback === void 0) {
-          return new Promise((resolve9, reject) => {
-            this.destroy(err, (err2, data) => {
-              return err2 ? (
-                /* istanbul ignore next: should never error */
-                reject(err2)
-              ) : resolve9(data);
-            });
-          });
+        this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight];
+        this[kIndex] = maxWeightIndex;
+        return this[kClients][maxWeightIndex];
+      }
+    };
+    module2.exports = BalancedPool;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js
+var require_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js"(exports2, module2) {
+    "use strict";
+    var { InvalidArgumentError } = require_errors2();
+    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
+    var DispatcherBase = require_dispatcher_base2();
+    var Pool = require_pool2();
+    var Client = require_client2();
+    var util = require_util9();
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    function defaultFactory(origin, opts) {
+      return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts);
+    }
+    var Agent = class extends DispatcherBase {
+      constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) {
+        super();
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
         }
-        if (this[kDestroyed]) {
-          if (this[kOnDestroyed]) {
-            this[kOnDestroyed].push(callback);
-          } else {
-            queueMicrotask(() => callback(null, null));
-          }
-          return;
+        if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
         }
-        if (!err) {
-          err = new ClientDestroyedError();
+        if (connect && typeof connect !== "function") {
+          connect = { ...connect };
         }
-        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[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);
         };
-        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);
+      get [kRunning]() {
+        let ret = 0;
+        for (const client of this[kClients].values()) {
+          ret += client[kRunning];
         }
-        let dispatch = this[kDispatch].bind(this);
-        for (let i = this[kInterceptors].length - 1; i >= 0; i--) {
-          dispatch = this[kInterceptors][i](dispatch);
+        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.");
         }
-        this[kInterceptedDispatch] = dispatch;
-        return dispatch(opts, handler2);
+        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);
       }
-      dispatch(opts, handler2) {
-        if (!handler2 || typeof handler2 !== "object") {
-          throw new InvalidArgumentError("handler must be an object");
+      async [kClose]() {
+        const closePromises = [];
+        for (const client of this[kClients].values()) {
+          closePromises.push(client.close());
         }
-        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;
+        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 = DispatcherBase;
+    module2.exports = Agent;
   }
 });
 
-// node_modules/undici/lib/core/connect.js
-var require_connect2 = __commonJS({
-  "node_modules/undici/lib/core/connect.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js
+var require_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js"(exports2, module2) {
     "use strict";
-    var net = require("net");
-    var assert = require("assert");
-    var util = require_util9();
-    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
-    var tls;
-    var SessionCache;
-    if (global.FinalizationRegistry && !process.env.NODE_V8_COVERAGE) {
-      SessionCache = class WeakSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
-          this._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);
-            }
-          });
-        }
-        get(sessionKey) {
-          const ref = this._sessionCache.get(sessionKey);
-          return ref ? ref.deref() : null;
-        }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
-            return;
-          }
-          this._sessionCache.set(sessionKey, new WeakRef(session));
-          this._sessionRegistry.register(session, sessionKey);
-        }
-      };
-    } else {
-      SessionCache = class SimpleSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
+    var { kProxy, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
+    var { URL: URL2 } = require("node:url");
+    var Agent = require_agent2();
+    var Pool = require_pool2();
+    var DispatcherBase = require_dispatcher_base2();
+    var { InvalidArgumentError, RequestAbortedError, SecureProxyConnectionError } = require_errors2();
+    var buildConnector = require_connect2();
+    var Client = require_client2();
+    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
+    var kClient = /* @__PURE__ */ Symbol("proxy client");
+    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
+    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
+    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
+    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
+    var kTunnelProxy = /* @__PURE__ */ 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");
         }
-        get(sessionKey) {
-          return this._sessionCache.get(sessionKey);
+        this[kProxyHeaders] = headers;
+        if (factory) {
+          this.#client = factory(proxyUrl, { connect });
+        } else {
+          this.#client = new Client(proxyUrl, { connect });
         }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
+      }
+      [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 (this._sessionCache.size >= this._maxCachedSessions) {
-            const { value: oldestKey } = this._sessionCache.keys().next();
-            this._sessionCache.delete(oldestKey);
-          }
-          this._sessionCache.set(sessionKey, session);
+          if (onHeaders) onHeaders.call(this, statusCode, data, resume);
+        };
+        const {
+          origin,
+          path: path16 = "/",
+          headers = {}
+        } = opts;
+        opts.path = origin + path16;
+        if (!("host" in headers) && !("Host" in headers)) {
+          const { host } = new URL2(origin);
+          headers.host = host;
         }
-      };
-    }
-    function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, ...opts }) {
-      if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
-        throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
+        opts.headers = { ...this[kProxyHeaders], ...headers };
+        return this.#client[kDispatch](opts, handler2);
       }
-      const options = { path: socketPath, ...opts };
-      const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
-      timeout = timeout == null ? 1e4 : timeout;
-      allowH2 = allowH2 != null ? allowH2 : false;
-      return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
-        let socket;
-        if (protocol === "https:") {
-          if (!tls) {
-            tls = require("tls");
-          }
-          servername = servername || options.servername || util.getServerName(host) || null;
-          const sessionKey = servername || hostname;
-          const session = sessionCache.get(sessionKey) || null;
-          assert(sessionKey);
-          socket = tls.connect({
-            highWaterMark: 16384,
-            // TLS in node can't have bigger HWM anyway...
-            ...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: port || 443,
-            host: hostname
-          });
-          socket.on("session", function(session2) {
-            sessionCache.set(sessionKey, session2);
-          });
-        } else {
-          assert(!httpSocket, "httpSocket can only be sent on TLS update");
-          socket = net.connect({
-            highWaterMark: 64 * 1024,
-            // Same as nodejs fs streams.
-            ...options,
-            localAddress,
-            port: port || 80,
-            host: hostname
-          });
+      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");
         }
-        if (options.keepAlive == null || options.keepAlive) {
-          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
-          socket.setKeepAlive(true, keepAliveInitialDelay);
+        const { clientFactory = defaultFactory } = opts;
+        if (typeof clientFactory !== "function") {
+          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
         }
-        const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout);
-        socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(null, this);
-          }
-        }).on("error", function(err) {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(err);
+        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 socket;
-      };
-    }
-    function setupTimeout(onConnectTimeout2, timeout) {
-      if (!timeout) {
-        return () => {
+          return agentFactory(origin2, options);
         };
-      }
-      let s1 = null;
-      let s2 = null;
-      const timeoutId = setTimeout(() => {
-        s1 = setImmediate(() => {
-          if (process.platform === "win32") {
-            s2 = setImmediate(() => onConnectTimeout2());
-          } else {
-            onConnectTimeout2();
+        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);
+              }
+            }
           }
         });
-      }, timeout);
-      return () => {
-        clearTimeout(timeoutId);
-        clearImmediate(s1);
-        clearImmediate(s2);
-      };
-    }
-    function onConnectTimeout(socket) {
-      util.destroy(socket, new ConnectTimeoutError());
-    }
-    module2.exports = buildConnector;
-  }
-});
-
-// node_modules/undici/lib/llhttp/utils.js
-var require_utils3 = __commonJS({
-  "node_modules/undici/lib/llhttp/utils.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.enumToMap = void 0;
-    function enumToMap(obj) {
-      const res = {};
-      Object.keys(obj).forEach((key) => {
-        const value = obj[key];
-        if (typeof value === "number") {
-          res[key] = value;
+      }
+      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 res;
-    }
-    exports2.enumToMap = enumToMap;
-  }
-});
-
-// node_modules/undici/lib/llhttp/constants.js
-var require_constants8 = __commonJS({
-  "node_modules/undici/lib/llhttp/constants.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
-    var utils_1 = require_utils3();
-    var ERROR;
-    (function(ERROR2) {
-      ERROR2[ERROR2["OK"] = 0] = "OK";
-      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
-      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
-      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
-      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
-      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
-      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
-      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
-      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
-      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
-      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
-      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
-      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
-      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
-      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
-      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
-      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
-      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
-      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
-      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
-      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
-      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
-      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
-      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
-      ERROR2[ERROR2["USER"] = 24] = "USER";
-    })(ERROR = 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];
+        return this[kAgent].dispatch(
+          {
+            ...opts,
+            headers
+          },
+          handler2
+        );
       }
-    });
-    var FINISH;
-    (function(FINISH2) {
-      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
-      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
-      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
-    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
-    exports2.ALPHA = [];
-    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
-      exports2.ALPHA.push(String.fromCharCode(i));
-      exports2.ALPHA.push(String.fromCharCode(i + 32));
-    }
-    exports2.NUM_MAP = {
-      0: 0,
-      1: 1,
-      2: 2,
-      3: 3,
-      4: 4,
-      5: 5,
-      6: 6,
-      7: 7,
-      8: 8,
-      9: 9
-    };
-    exports2.HEX_MAP = {
-      0: 0,
-      1: 1,
-      2: 2,
-      3: 3,
-      4: 4,
-      5: 5,
-      6: 6,
-      7: 7,
-      8: 8,
-      9: 9,
-      A: 10,
-      B: 11,
-      C: 12,
-      D: 13,
-      E: 14,
-      F: 15,
-      a: 10,
-      b: 11,
-      c: 12,
-      d: 13,
-      e: 14,
-      f: 15
-    };
-    exports2.NUM = [
-      "0",
-      "1",
-      "2",
-      "3",
-      "4",
-      "5",
-      "6",
-      "7",
-      "8",
-      "9"
-    ];
-    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
-    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
-    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
-    exports2.STRICT_URL_CHAR = [
-      "!",
-      '"',
-      "$",
-      "%",
-      "&",
-      "'",
-      "(",
-      ")",
-      "*",
-      "+",
-      ",",
-      "-",
-      ".",
-      "/",
-      ":",
-      ";",
-      "<",
-      "=",
-      ">",
-      "@",
-      "[",
-      "\\",
-      "]",
-      "^",
-      "_",
-      "`",
-      "{",
-      "|",
-      "}",
-      "~"
-    ].concat(exports2.ALPHANUM);
-    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
-    for (let i = 128; i <= 255; i++) {
-      exports2.URL_CHAR.push(i);
-    }
-    exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
-    exports2.STRICT_TOKEN = [
-      "!",
-      "#",
-      "$",
-      "%",
-      "&",
-      "'",
-      "*",
-      "+",
-      "-",
-      ".",
-      "^",
-      "_",
-      "`",
-      "|",
-      "~"
-    ].concat(exports2.ALPHANUM);
-    exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]);
-    exports2.HEADER_CHARS = ["	"];
-    for (let i = 32; i <= 255; i++) {
-      if (i !== 127) {
-        exports2.HEADER_CHARS.push(i);
+      /**
+       * @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();
       }
-    }
-    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
     };
+    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/handler/RedirectHandler.js
-var require_RedirectHandler = __commonJS({
-  "node_modules/undici/lib/handler/RedirectHandler.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js
+var require_env_http_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js"(exports2, module2) {
     "use strict";
-    var util = require_util9();
-    var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
-    var { InvalidArgumentError } = require_errors2();
-    var EE = require("events");
-    var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
-    var kBody = /* @__PURE__ */ Symbol("body");
-    var BodyAsyncIterable = class {
-      constructor(body) {
-        this[kBody] = body;
-        this[kBodyUsed] = false;
+    var DispatcherBase = require_dispatcher_base2();
+    var { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require_symbols6();
+    var ProxyAgent = require_proxy_agent2();
+    var Agent = require_agent2();
+    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();
       }
-      async *[Symbol.asyncIterator]() {
-        assert(!this[kBodyUsed], "disturbed");
-        this[kBodyUsed] = true;
-        yield* this[kBody];
+      [kDispatch](opts, handler2) {
+        const url = new URL(opts.origin);
+        const agent = this.#getProxyAgentForUrl(url);
+        return agent.dispatch(opts, handler2);
       }
-    };
-    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");
+      async [kClose]() {
+        await this[kNoProxyAgent].close();
+        if (!this[kHttpProxyAgent][kClosed]) {
+          await this[kHttpProxyAgent].close();
         }
-        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 = [];
-        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);
+        if (!this[kHttpsProxyAgent][kClosed]) {
+          await this[kHttpsProxyAgent].close();
         }
       }
-      onConnect(abort) {
-        this.abort = abort;
-        this.handler.onConnect(abort, { history: this.history });
+      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);
+        }
       }
-      onUpgrade(statusCode, headers, socket) {
-        this.handler.onUpgrade(statusCode, headers, socket);
+      #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];
       }
-      onError(error3) {
-        this.handler.onError(error3);
+      #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;
       }
-      onHeaders(statusCode, headers, resume, statusText) {
-        this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers);
-        if (this.opts.origin) {
-          this.history.push(new URL(this.opts.path, this.opts.origin));
+      #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
+          });
         }
-        if (!this.location) {
-          return this.handler.onHeaders(statusCode, headers, resume, statusText);
+        this.#noProxyValue = noProxyValue;
+        this.#noProxyEntries = noProxyEntries;
+      }
+      get #noProxyChanged() {
+        if (this.#opts.noProxy !== void 0) {
+          return false;
         }
-        const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)));
-        const path16 = search ? `${pathname}${search}` : pathname;
-        this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
-        this.opts.path = path16;
-        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;
+        return this.#noProxyValue !== this.#noProxyEnv;
+      }
+      get #noProxyEnv() {
+        return process.env.no_proxy ?? process.env.NO_PROXY ?? "";
+      }
+    };
+    module2.exports = EnvHttpProxyAgent;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/handler/retry-handler.js
+var require_retry_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/retry-handler.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { kRetryHandlerDefaultRetry } = require_symbols6();
+    var { RequestRetryError } = require_errors2();
+    var {
+      isDisturbed,
+      parseHeaders,
+      parseRangeHeader,
+      wrapRequestBody
+    } = require_util9();
+    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();
         }
       }
-      onData(chunk) {
-        if (this.location) {
-        } else {
-          return this.handler.onData(chunk);
+      onUpgrade(statusCode, headers, socket) {
+        if (this.handler.onUpgrade) {
+          this.handler.onUpgrade(statusCode, headers, socket);
         }
       }
-      onComplete(trailers) {
-        if (this.location) {
-          this.location = null;
-          this.abort = null;
-          this.dispatch(this.opts, this);
+      onConnect(abort) {
+        if (this.aborted) {
+          abort(this.reason);
         } else {
-          this.handler.onComplete(trailers);
+          this.abort = abort;
         }
       }
       onBodySent(chunk) {
-        if (this.handler.onBodySent) {
-          this.handler.onBodySent(chunk);
-        }
-      }
-    };
-    function parseLocation(statusCode, headers) {
-      if (redirectableStatusCodes.indexOf(statusCode) === -1) {
-        return null;
+        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
       }
-      for (let i = 0; i < headers.length; i += 2) {
-        if (headers[i].toString().toLowerCase() === "location") {
-          return headers[i + 1];
+      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);
       }
-    }
-    function shouldRemoveHeader(header, removeContent, unknownOrigin) {
-      if (header.length === 4) {
-        return util.headerNameToString(header) === "host";
+      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;
       }
-      if (removeContent && util.headerNameToString(header).startsWith("content-")) {
-        return true;
+      onData(chunk) {
+        this.start += chunk.length;
+        return this.handler.onData(chunk);
       }
-      if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) {
-        const name = util.headerNameToString(header);
-        return name === "authorization" || name === "cookie" || name === "proxy-authorization";
+      onComplete(rawTrailers) {
+        this.retryCount = 0;
+        return this.handler.onComplete(rawTrailers);
       }
-      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]);
+      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);
           }
-        }
-      } else if (headers && typeof headers === "object") {
-        for (const key of Object.keys(headers)) {
-          if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {
-            ret.push(key, headers[key]);
+          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);
           }
         }
-      } else {
-        assert(headers == null, "headers must be an object or an array");
       }
-      return ret;
-    }
-    module2.exports = RedirectHandler;
+    };
+    module2.exports = RetryHandler;
   }
 });
 
-// node_modules/undici/lib/interceptor/redirectInterceptor.js
-var require_redirectInterceptor = __commonJS({
-  "node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js
+var require_retry_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js"(exports2, module2) {
     "use strict";
-    var RedirectHandler = require_RedirectHandler();
-    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/llhttp/llhttp-wasm.js
-var require_llhttp_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJsbGh0dHBfc3RhdHVzX25hbWUAIRpsbGh0dHBfc2V0X2xlbmllbnRfaGVhZGVycwAiIWxsaHR0cF9zZXRfbGVuaWVudF9jaHVua2VkX2xlbmd0aAAjHWxsaHR0cF9zZXRfbGVuaWVudF9rZWVwX2FsaXZlACQkbGxodHRwX3NldF9sZW5pZW50X3RyYW5zZmVyX2VuY29kaW5nACUYbGxodHRwX21lc3NhZ2VfbmVlZHNfZW9mAD8JFwEAQQELEQECAwQFCwYHNTk3MS8tJyspCsLgAkUCAAsIABCIgICAAAsZACAAEMKAgIAAGiAAIAI2AjggACABOgAoCxwAIAAgAC8BMiAALQAuIAAQwYCAgAAQgICAgAALKgEBf0HAABDGgICAACIBEMKAgIAAGiABQYCIgIAANgI4IAEgADoAKCABCwoAIAAQyICAgAALBwAgAC0AKAsHACAALQAqCwcAIAAtACsLBwAgAC0AKQsHACAALwEyCwcAIAAtAC4LRQEEfyAAKAIYIQEgAC0ALSECIAAtACghAyAAKAI4IQQgABDCgICAABogACAENgI4IAAgAzoAKCAAIAI6AC0gACABNgIYCxEAIAAgASABIAJqEMOAgIAACxAAIABBAEHcABDMgICAABoLZwEBf0EAIQECQCAAKAIMDQACQAJAAkACQCAALQAvDgMBAAMCCyAAKAI4IgFFDQAgASgCLCIBRQ0AIAAgARGAgICAAAAiAQ0DC0EADwsQyoCAgAAACyAAQcOWgIAANgIQQQ4hAQsgAQseAAJAIAAoAgwNACAAQdGbgIAANgIQIABBFTYCDAsLFgACQCAAKAIMQRVHDQAgAEEANgIMCwsWAAJAIAAoAgxBFkcNACAAQQA2AgwLCwcAIAAoAgwLBwAgACgCEAsJACAAIAE2AhALBwAgACgCFAsiAAJAIABBJEkNABDKgICAAAALIABBAnRBoLOAgABqKAIACyIAAkAgAEEuSQ0AEMqAgIAAAAsgAEECdEGwtICAAGooAgAL7gsBAX9B66iAgAAhAQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABBnH9qDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0Hhp4CAAA8LQaShgIAADwtBy6yAgAAPC0H+sYCAAA8LQcCkgIAADwtBq6SAgAAPC0GNqICAAA8LQeKmgIAADwtBgLCAgAAPC0G5r4CAAA8LQdekgIAADwtB75+AgAAPC0Hhn4CAAA8LQfqfgIAADwtB8qCAgAAPC0Gor4CAAA8LQa6ygIAADwtBiLCAgAAPC0Hsp4CAAA8LQYKigIAADwtBjp2AgAAPC0HQroCAAA8LQcqjgIAADwtBxbKAgAAPC0HfnICAAA8LQdKcgIAADwtBxKCAgAAPC0HXoICAAA8LQaKfgIAADwtB7a6AgAAPC0GrsICAAA8LQdSlgIAADwtBzK6AgAAPC0H6roCAAA8LQfyrgIAADwtB0rCAgAAPC0HxnYCAAA8LQbuggIAADwtB96uAgAAPC0GQsYCAAA8LQdexgIAADwtBoq2AgAAPC0HUp4CAAA8LQeCrgIAADwtBn6yAgAAPC0HrsYCAAA8LQdWfgIAADwtByrGAgAAPC0HepYCAAA8LQdSegIAADwtB9JyAgAAPC0GnsoCAAA8LQbGdgIAADwtBoJ2AgAAPC0G5sYCAAA8LQbywgIAADwtBkqGAgAAPC0GzpoCAAA8LQemsgIAADwtBrJ6AgAAPC0HUq4CAAA8LQfemgIAADwtBgKaAgAAPC0GwoYCAAA8LQf6egIAADwtBjaOAgAAPC0GJrYCAAA8LQfeigIAADwtBoLGAgAAPC0Gun4CAAA8LQcalgIAADwtB6J6AgAAPC0GTooCAAA8LQcKvgIAADwtBw52AgAAPC0GLrICAAA8LQeGdgIAADwtBja+AgAAPC0HqoYCAAA8LQbStgIAADwtB0q+AgAAPC0HfsoCAAA8LQdKygIAADwtB8LCAgAAPC0GpooCAAA8LQfmjgIAADwtBmZ6AgAAPC0G1rICAAA8LQZuwgIAADwtBkrKAgAAPC0G2q4CAAA8LQcKigIAADwtB+LKAgAAPC0GepYCAAA8LQdCigIAADwtBup6AgAAPC0GBnoCAAA8LEMqAgIAAAAtB1qGAgAAhAQsgAQsWACAAIAAtAC1B/gFxIAFBAEdyOgAtCxkAIAAgAC0ALUH9AXEgAUEAR0EBdHI6AC0LGQAgACAALQAtQfsBcSABQQBHQQJ0cjoALQsZACAAIAAtAC1B9wFxIAFBAEdBA3RyOgAtCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAgAiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCBCIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQcaRgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIwIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAggiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2ioCAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCNCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIMIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZqAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAjgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCECIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZWQgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAI8IgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAhQiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEGqm4CAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCQCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIYIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZOAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCJCIERQ0AIAAgBBGAgICAAAAhAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIsIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAigiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2iICAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCUCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIcIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABBwpmAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCICIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZSUgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAJMIgRFDQAgACAEEYCAgIAAACEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAlQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCWCIERQ0AIAAgBBGAgICAAAAhAwsgAwtFAQF/AkACQCAALwEwQRRxQRRHDQBBASEDIAAtAChBAUYNASAALwEyQeUARiEDDAELIAAtAClBBUYhAwsgACADOgAuQQAL/gEBA39BASEDAkAgAC8BMCIEQQhxDQAgACkDIEIAUiEDCwJAAkAgAC0ALkUNAEEBIQUgAC0AKUEFRg0BQQEhBSAEQcAAcUUgA3FBAUcNAQtBACEFIARBwABxDQBBAiEFIARB//8DcSIDQQhxDQACQCADQYAEcUUNAAJAIAAtAChBAUcNACAALQAtQQpxDQBBBQ8LQQQPCwJAIANBIHENAAJAIAAtAChBAUYNACAALwEyQf//A3EiAEGcf2pB5ABJDQAgAEHMAUYNACAAQbACRg0AQQQhBSAEQShxRQ0CIANBiARxQYAERg0CC0EADwtBAEEDIAApAyBQGyEFCyAFC2IBAn9BACEBAkAgAC0AKEEBRg0AIAAvATJB//8DcSICQZx/akHkAEkNACACQcwBRg0AIAJBsAJGDQAgAC8BMCIAQcAAcQ0AQQEhASAAQYgEcUGABEYNACAAQShxRSEBCyABC6cBAQN/AkACQAJAIAAtACpFDQAgAC0AK0UNAEEAIQMgAC8BMCIEQQJxRQ0BDAILQQAhAyAALwEwIgRBAXFFDQELQQEhAyAALQAoQQFGDQAgAC8BMkH//wNxIgVBnH9qQeQASQ0AIAVBzAFGDQAgBUGwAkYNACAEQcAAcQ0AQQAhAyAEQYgEcUGABEYNACAEQShxQQBHIQMLIABBADsBMCAAQQA6AC8gAwuZAQECfwJAAkACQCAALQAqRQ0AIAAtACtFDQBBACEBIAAvATAiAkECcUUNAQwCC0EAIQEgAC8BMCICQQFxRQ0BC0EBIQEgAC0AKEEBRg0AIAAvATJB//8DcSIAQZx/akHkAEkNACAAQcwBRg0AIABBsAJGDQAgAkHAAHENAEEAIQEgAkGIBHFBgARGDQAgAkEocUEARyEBCyABC1kAIABBGGpCADcDACAAQgA3AwAgAEE4akIANwMAIABBMGpCADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAUNgIUIAAgATYCDEEAIRAMogELIABBADYCHCAAIBQ2AhQgAEHDj4CAADYCECAAQQc2AgxBACEQDKEBCyAAQQA2AhwgACABNgIUIABBw4+AgAA2AhAgAEEHNgIMQQAhEAygAQtBACEQIABBADYCHCAAIBQ2AhQgAEGMnICAADYCECAAQQc2AgwMnwELIABBADYCHCAAIBQ2AhQgAEGMnICAADYCECAAQQc2AgxBACEQDJ4BCyAAQQA2AhwgACAUNgIUIABB/pGAgAA2AhAgAEEHNgIMQQAhEAydAQsgAEEANgIcIAAgATYCFCAAQY6bgIAANgIQIABBBjYCDEEAIRAMnAELIBBBFUYNVyAAQQA2AhwgACABNgIUIABBzI6AgAA2AhAgAEEgNgIMQQAhEAybAQsgAEEANgIAIBBBAWohAUEkIRALIAAgEDoAKSAAKAIEIRAgAEEANgIEIAAgECABEKuAgIAAIhANVCABIQEMPgsgAEEANgIAC0EAIRAgAEEANgIcIAAgBDYCFCAAQfGbgIAANgIQIABBBjYCDAyXAQsgAUEVRg1QIABBADYCHCAAIAU2AhQgAEHwjICAADYCECAAQRs2AgxBACEQDJYBCyAAKAIEIQUgAEEANgIEIAAgBSAQEKmAgIAAIgUNASAQQQFqIQULQa0BIRAMewsgAEHBATYCHCAAIAU2AgwgACAQQQFqNgIUQQAhEAyTAQsgACgCBCEGIABBADYCBCAAIAYgEBCpgICAACIGDQEgEEEBaiEGC0GuASEQDHgLIABBwgE2AhwgACAGNgIMIAAgEEEBajYCFEEAIRAMkAELIABBADYCHCAAIAc2AhQgAEGXi4CAADYCECAAQQ02AgxBACEQDI8BCyAAQQA2AhwgACAINgIUIABB45CAgAA2AhAgAEEJNgIMQQAhEAyOAQsgAEEANgIcIAAgCDYCFCAAQZSNgIAANgIQIABBITYCDEEAIRAMjQELQQEhFkEAIRdBACEUQQEhEAsgACAQOgArIAlBAWohCAJAAkAgAC0ALUEQcQ0AAkACQAJAIAAtACoOAwEAAgQLIBZFDQMMAgsgFA0BDAILIBdFDQELIAAoAgQhECAAQQA2AgQgACAQIAgQrYCAgAAiEEUNPSAAQckBNgIcIAAgCDYCFCAAIBA2AgxBACEQDIwBCyAAKAIEIQQgAEEANgIEIAAgBCAIEK2AgIAAIgRFDXYgAEHKATYCHCAAIAg2AhQgACAENgIMQQAhEAyLAQsgACgCBCEEIABBADYCBCAAIAQgCRCtgICAACIERQ10IABBywE2AhwgACAJNgIUIAAgBDYCDEEAIRAMigELIAAoAgQhBCAAQQA2AgQgACAEIAoQrYCAgAAiBEUNciAAQc0BNgIcIAAgCjYCFCAAIAQ2AgxBACEQDIkBCwJAIAstAABBUGoiEEH/AXFBCk8NACAAIBA6ACogC0EBaiEKQbYBIRAMcAsgACgCBCEEIABBADYCBCAAIAQgCxCtgICAACIERQ1wIABBzwE2AhwgACALNgIUIAAgBDYCDEEAIRAMiAELIABBADYCHCAAIAQ2AhQgAEGQs4CAADYCECAAQQg2AgwgAEEANgIAQQAhEAyHAQsgAUEVRg0/IABBADYCHCAAIAw2AhQgAEHMjoCAADYCECAAQSA2AgxBACEQDIYBCyAAQYEEOwEoIAAoAgQhECAAQgA3AwAgACAQIAxBAWoiDBCrgICAACIQRQ04IABB0wE2AhwgACAMNgIUIAAgEDYCDEEAIRAMhQELIABBADYCAAtBACEQIABBADYCHCAAIAQ2AhQgAEHYm4CAADYCECAAQQg2AgwMgwELIAAoAgQhECAAQgA3AwAgACAQIAtBAWoiCxCrgICAACIQDQFBxgEhEAxpCyAAQQI6ACgMVQsgAEHVATYCHCAAIAs2AhQgACAQNgIMQQAhEAyAAQsgEEEVRg03IABBADYCHCAAIAQ2AhQgAEGkjICAADYCECAAQRA2AgxBACEQDH8LIAAtADRBAUcNNCAAIAQgAhC8gICAACIQRQ00IBBBFUcNNSAAQdwBNgIcIAAgBDYCFCAAQdWWgIAANgIQIABBFTYCDEEAIRAMfgtBACEQIABBADYCHCAAQa+LgIAANgIQIABBAjYCDCAAIBRBAWo2AhQMfQtBACEQDGMLQQIhEAxiC0ENIRAMYQtBDyEQDGALQSUhEAxfC0ETIRAMXgtBFSEQDF0LQRYhEAxcC0EXIRAMWwtBGCEQDFoLQRkhEAxZC0EaIRAMWAtBGyEQDFcLQRwhEAxWC0EdIRAMVQtBHyEQDFQLQSEhEAxTC0EjIRAMUgtBxgAhEAxRC0EuIRAMUAtBLyEQDE8LQTshEAxOC0E9IRAMTQtByAAhEAxMC0HJACEQDEsLQcsAIRAMSgtBzAAhEAxJC0HOACEQDEgLQdEAIRAMRwtB1QAhEAxGC0HYACEQDEULQdkAIRAMRAtB2wAhEAxDC0HkACEQDEILQeUAIRAMQQtB8QAhEAxAC0H0ACEQDD8LQY0BIRAMPgtBlwEhEAw9C0GpASEQDDwLQawBIRAMOwtBwAEhEAw6C0G5ASEQDDkLQa8BIRAMOAtBsQEhEAw3C0GyASEQDDYLQbQBIRAMNQtBtQEhEAw0C0G6ASEQDDMLQb0BIRAMMgtBvwEhEAwxC0HBASEQDDALIABBADYCHCAAIAQ2AhQgAEHpi4CAADYCECAAQR82AgxBACEQDEgLIABB2wE2AhwgACAENgIUIABB+paAgAA2AhAgAEEVNgIMQQAhEAxHCyAAQfgANgIcIAAgDDYCFCAAQcqYgIAANgIQIABBFTYCDEEAIRAMRgsgAEHRADYCHCAAIAU2AhQgAEGwl4CAADYCECAAQRU2AgxBACEQDEULIABB+QA2AhwgACABNgIUIAAgEDYCDEEAIRAMRAsgAEH4ADYCHCAAIAE2AhQgAEHKmICAADYCECAAQRU2AgxBACEQDEMLIABB5AA2AhwgACABNgIUIABB45eAgAA2AhAgAEEVNgIMQQAhEAxCCyAAQdcANgIcIAAgATYCFCAAQcmXgIAANgIQIABBFTYCDEEAIRAMQQsgAEEANgIcIAAgATYCFCAAQbmNgIAANgIQIABBGjYCDEEAIRAMQAsgAEHCADYCHCAAIAE2AhQgAEHjmICAADYCECAAQRU2AgxBACEQDD8LIABBADYCBCAAIA8gDxCxgICAACIERQ0BIABBOjYCHCAAIAQ2AgwgACAPQQFqNgIUQQAhEAw+CyAAKAIEIQQgAEEANgIEAkAgACAEIAEQsYCAgAAiBEUNACAAQTs2AhwgACAENgIMIAAgAUEBajYCFEEAIRAMPgsgAUEBaiEBDC0LIA9BAWohAQwtCyAAQQA2AhwgACAPNgIUIABB5JKAgAA2AhAgAEEENgIMQQAhEAw7CyAAQTY2AhwgACAENgIUIAAgAjYCDEEAIRAMOgsgAEEuNgIcIAAgDjYCFCAAIAQ2AgxBACEQDDkLIABB0AA2AhwgACABNgIUIABBkZiAgAA2AhAgAEEVNgIMQQAhEAw4CyANQQFqIQEMLAsgAEEVNgIcIAAgATYCFCAAQYKZgIAANgIQIABBFTYCDEEAIRAMNgsgAEEbNgIcIAAgATYCFCAAQZGXgIAANgIQIABBFTYCDEEAIRAMNQsgAEEPNgIcIAAgATYCFCAAQZGXgIAANgIQIABBFTYCDEEAIRAMNAsgAEELNgIcIAAgATYCFCAAQZGXgIAANgIQIABBFTYCDEEAIRAMMwsgAEEaNgIcIAAgATYCFCAAQYKZgIAANgIQIABBFTYCDEEAIRAMMgsgAEELNgIcIAAgATYCFCAAQYKZgIAANgIQIABBFTYCDEEAIRAMMQsgAEEKNgIcIAAgATYCFCAAQeSWgIAANgIQIABBFTYCDEEAIRAMMAsgAEEeNgIcIAAgATYCFCAAQfmXgIAANgIQIABBFTYCDEEAIRAMLwsgAEEANgIcIAAgEDYCFCAAQdqNgIAANgIQIABBFDYCDEEAIRAMLgsgAEEENgIcIAAgATYCFCAAQbCYgIAANgIQIABBFTYCDEEAIRAMLQsgAEEANgIAIAtBAWohCwtBuAEhEAwSCyAAQQA2AgAgEEEBaiEBQfUAIRAMEQsgASEBAkAgAC0AKUEFRw0AQeMAIRAMEQtB4gAhEAwQC0EAIRAgAEEANgIcIABB5JGAgAA2AhAgAEEHNgIMIAAgFEEBajYCFAwoCyAAQQA2AgAgF0EBaiEBQcAAIRAMDgtBASEBCyAAIAE6ACwgAEEANgIAIBdBAWohAQtBKCEQDAsLIAEhAQtBOCEQDAkLAkAgASIPIAJGDQADQAJAIA8tAABBgL6AgABqLQAAIgFBAUYNACABQQJHDQMgD0EBaiEBDAQLIA9BAWoiDyACRw0AC0E+IRAMIgtBPiEQDCELIABBADoALCAPIQEMAQtBCyEQDAYLQTohEAwFCyABQQFqIQFBLSEQDAQLIAAgAToALCAAQQA2AgAgFkEBaiEBQQwhEAwDCyAAQQA2AgAgF0EBaiEBQQohEAwCCyAAQQA2AgALIABBADoALCANIQFBCSEQDAALC0EAIRAgAEEANgIcIAAgCzYCFCAAQc2QgIAANgIQIABBCTYCDAwXC0EAIRAgAEEANgIcIAAgCjYCFCAAQemKgIAANgIQIABBCTYCDAwWC0EAIRAgAEEANgIcIAAgCTYCFCAAQbeQgIAANgIQIABBCTYCDAwVC0EAIRAgAEEANgIcIAAgCDYCFCAAQZyRgIAANgIQIABBCTYCDAwUC0EAIRAgAEEANgIcIAAgATYCFCAAQc2QgIAANgIQIABBCTYCDAwTC0EAIRAgAEEANgIcIAAgATYCFCAAQemKgIAANgIQIABBCTYCDAwSC0EAIRAgAEEANgIcIAAgATYCFCAAQbeQgIAANgIQIABBCTYCDAwRC0EAIRAgAEEANgIcIAAgATYCFCAAQZyRgIAANgIQIABBCTYCDAwQC0EAIRAgAEEANgIcIAAgATYCFCAAQZeVgIAANgIQIABBDzYCDAwPC0EAIRAgAEEANgIcIAAgATYCFCAAQZeVgIAANgIQIABBDzYCDAwOC0EAIRAgAEEANgIcIAAgATYCFCAAQcCSgIAANgIQIABBCzYCDAwNC0EAIRAgAEEANgIcIAAgATYCFCAAQZWJgIAANgIQIABBCzYCDAwMC0EAIRAgAEEANgIcIAAgATYCFCAAQeGPgIAANgIQIABBCjYCDAwLC0EAIRAgAEEANgIcIAAgATYCFCAAQfuPgIAANgIQIABBCjYCDAwKC0EAIRAgAEEANgIcIAAgATYCFCAAQfGZgIAANgIQIABBAjYCDAwJC0EAIRAgAEEANgIcIAAgATYCFCAAQcSUgIAANgIQIABBAjYCDAwIC0EAIRAgAEEANgIcIAAgATYCFCAAQfKVgIAANgIQIABBAjYCDAwHCyAAQQI2AhwgACABNgIUIABBnJqAgAA2AhAgAEEWNgIMQQAhEAwGC0EBIRAMBQtB1AAhECABIgQgAkYNBCADQQhqIAAgBCACQdjCgIAAQQoQxYCAgAAgAygCDCEEIAMoAggOAwEEAgALEMqAgIAAAAsgAEEANgIcIABBtZqAgAA2AhAgAEEXNgIMIAAgBEEBajYCFEEAIRAMAgsgAEEANgIcIAAgBDYCFCAAQcqagIAANgIQIABBCTYCDEEAIRAMAQsCQCABIgQgAkcNAEEiIRAMAQsgAEGJgICAADYCCCAAIAQ2AgRBISEQCyADQRBqJICAgIAAIBALrwEBAn8gASgCACEGAkACQCACIANGDQAgBCAGaiEEIAYgA2ogAmshByACIAZBf3MgBWoiBmohBQNAAkAgAi0AACAELQAARg0AQQIhBAwDCwJAIAYNAEEAIQQgBSECDAMLIAZBf2ohBiAEQQFqIQQgAkEBaiICIANHDQALIAchBiADIQILIABBATYCACABIAY2AgAgACACNgIEDwsgAUEANgIAIAAgBDYCACAAIAI2AgQLCgAgABDHgICAAAvyNgELfyOAgICAAEEQayIBJICAgIAAAkBBACgCoNCAgAANAEEAEMuAgIAAQYDUhIAAayICQdkASQ0AQQAhAwJAQQAoAuDTgIAAIgQNAEEAQn83AuzTgIAAQQBCgICEgICAwAA3AuTTgIAAQQAgAUEIakFwcUHYqtWqBXMiBDYC4NOAgABBAEEANgL004CAAEEAQQA2AsTTgIAAC0EAIAI2AszTgIAAQQBBgNSEgAA2AsjTgIAAQQBBgNSEgAA2ApjQgIAAQQAgBDYCrNCAgABBAEF/NgKo0ICAAANAIANBxNCAgABqIANBuNCAgABqIgQ2AgAgBCADQbDQgIAAaiIFNgIAIANBvNCAgABqIAU2AgAgA0HM0ICAAGogA0HA0ICAAGoiBTYCACAFIAQ2AgAgA0HU0ICAAGogA0HI0ICAAGoiBDYCACAEIAU2AgAgA0HQ0ICAAGogBDYCACADQSBqIgNBgAJHDQALQYDUhIAAQXhBgNSEgABrQQ9xQQBBgNSEgABBCGpBD3EbIgNqIgRBBGogAkFIaiIFIANrIgNBAXI2AgBBAEEAKALw04CAADYCpNCAgABBACADNgKU0ICAAEEAIAQ2AqDQgIAAQYDUhIAAIAVqQTg2AgQLAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB7AFLDQACQEEAKAKI0ICAACIGQRAgAEETakFwcSAAQQtJGyICQQN2IgR2IgNBA3FFDQACQAJAIANBAXEgBHJBAXMiBUEDdCIEQbDQgIAAaiIDIARBuNCAgABqKAIAIgQoAggiAkcNAEEAIAZBfiAFd3E2AojQgIAADAELIAMgAjYCCCACIAM2AgwLIARBCGohAyAEIAVBA3QiBUEDcjYCBCAEIAVqIgQgBCgCBEEBcjYCBAwMCyACQQAoApDQgIAAIgdNDQECQCADRQ0AAkACQCADIAR0QQIgBHQiA0EAIANrcnEiA0EAIANrcUF/aiIDIANBDHZBEHEiA3YiBEEFdkEIcSIFIANyIAQgBXYiA0ECdkEEcSIEciADIAR2IgNBAXZBAnEiBHIgAyAEdiIDQQF2QQFxIgRyIAMgBHZqIgRBA3QiA0Gw0ICAAGoiBSADQbjQgIAAaigCACIDKAIIIgBHDQBBACAGQX4gBHdxIgY2AojQgIAADAELIAUgADYCCCAAIAU2AgwLIAMgAkEDcjYCBCADIARBA3QiBGogBCACayIFNgIAIAMgAmoiACAFQQFyNgIEAkAgB0UNACAHQXhxQbDQgIAAaiECQQAoApzQgIAAIQQCQAJAIAZBASAHQQN2dCIIcQ0AQQAgBiAIcjYCiNCAgAAgAiEIDAELIAIoAgghCAsgCCAENgIMIAIgBDYCCCAEIAI2AgwgBCAINgIICyADQQhqIQNBACAANgKc0ICAAEEAIAU2ApDQgIAADAwLQQAoAozQgIAAIglFDQEgCUEAIAlrcUF/aiIDIANBDHZBEHEiA3YiBEEFdkEIcSIFIANyIAQgBXYiA0ECdkEEcSIEciADIAR2IgNBAXZBAnEiBHIgAyAEdiIDQQF2QQFxIgRyIAMgBHZqQQJ0QbjSgIAAaigCACIAKAIEQXhxIAJrIQQgACEFAkADQAJAIAUoAhAiAw0AIAVBFGooAgAiA0UNAgsgAygCBEF4cSACayIFIAQgBSAESSIFGyEEIAMgACAFGyEAIAMhBQwACwsgACgCGCEKAkAgACgCDCIIIABGDQAgACgCCCIDQQAoApjQgIAASRogCCADNgIIIAMgCDYCDAwLCwJAIABBFGoiBSgCACIDDQAgACgCECIDRQ0DIABBEGohBQsDQCAFIQsgAyIIQRRqIgUoAgAiAw0AIAhBEGohBSAIKAIQIgMNAAsgC0EANgIADAoLQX8hAiAAQb9/Sw0AIABBE2oiA0FwcSECQQAoAozQgIAAIgdFDQBBACELAkAgAkGAAkkNAEEfIQsgAkH///8HSw0AIANBCHYiAyADQYD+P2pBEHZBCHEiA3QiBCAEQYDgH2pBEHZBBHEiBHQiBSAFQYCAD2pBEHZBAnEiBXRBD3YgAyAEciAFcmsiA0EBdCACIANBFWp2QQFxckEcaiELC0EAIAJrIQQCQAJAAkACQCALQQJ0QbjSgIAAaigCACIFDQBBACEDQQAhCAwBC0EAIQMgAkEAQRkgC0EBdmsgC0EfRht0IQBBACEIA0ACQCAFKAIEQXhxIAJrIgYgBE8NACAGIQQgBSEIIAYNAEEAIQQgBSEIIAUhAwwDCyADIAVBFGooAgAiBiAGIAUgAEEddkEEcWpBEGooAgAiBUYbIAMgBhshAyAAQQF0IQAgBQ0ACwsCQCADIAhyDQBBACEIQQIgC3QiA0EAIANrciAHcSIDRQ0DIANBACADa3FBf2oiAyADQQx2QRBxIgN2IgVBBXZBCHEiACADciAFIAB2IgNBAnZBBHEiBXIgAyAFdiIDQQF2QQJxIgVyIAMgBXYiA0EBdkEBcSIFciADIAV2akECdEG40oCAAGooAgAhAwsgA0UNAQsDQCADKAIEQXhxIAJrIgYgBEkhAAJAIAMoAhAiBQ0AIANBFGooAgAhBQsgBiAEIAAbIQQgAyAIIAAbIQggBSEDIAUNAAsLIAhFDQAgBEEAKAKQ0ICAACACa08NACAIKAIYIQsCQCAIKAIMIgAgCEYNACAIKAIIIgNBACgCmNCAgABJGiAAIAM2AgggAyAANgIMDAkLAkAgCEEUaiIFKAIAIgMNACAIKAIQIgNFDQMgCEEQaiEFCwNAIAUhBiADIgBBFGoiBSgCACIDDQAgAEEQaiEFIAAoAhAiAw0ACyAGQQA2AgAMCAsCQEEAKAKQ0ICAACIDIAJJDQBBACgCnNCAgAAhBAJAAkAgAyACayIFQRBJDQAgBCACaiIAIAVBAXI2AgRBACAFNgKQ0ICAAEEAIAA2ApzQgIAAIAQgA2ogBTYCACAEIAJBA3I2AgQMAQsgBCADQQNyNgIEIAQgA2oiAyADKAIEQQFyNgIEQQBBADYCnNCAgABBAEEANgKQ0ICAAAsgBEEIaiEDDAoLAkBBACgClNCAgAAiACACTQ0AQQAoAqDQgIAAIgMgAmoiBCAAIAJrIgVBAXI2AgRBACAFNgKU0ICAAEEAIAQ2AqDQgIAAIAMgAkEDcjYCBCADQQhqIQMMCgsCQAJAQQAoAuDTgIAARQ0AQQAoAujTgIAAIQQMAQtBAEJ/NwLs04CAAEEAQoCAhICAgMAANwLk04CAAEEAIAFBDGpBcHFB2KrVqgVzNgLg04CAAEEAQQA2AvTTgIAAQQBBADYCxNOAgABBgIAEIQQLQQAhAwJAIAQgAkHHAGoiB2oiBkEAIARrIgtxIgggAksNAEEAQTA2AvjTgIAADAoLAkBBACgCwNOAgAAiA0UNAAJAQQAoArjTgIAAIgQgCGoiBSAETQ0AIAUgA00NAQtBACEDQQBBMDYC+NOAgAAMCgtBAC0AxNOAgABBBHENBAJAAkACQEEAKAKg0ICAACIERQ0AQcjTgIAAIQMDQAJAIAMoAgAiBSAESw0AIAUgAygCBGogBEsNAwsgAygCCCIDDQALC0EAEMuAgIAAIgBBf0YNBSAIIQYCQEEAKALk04CAACIDQX9qIgQgAHFFDQAgCCAAayAEIABqQQAgA2txaiEGCyAGIAJNDQUgBkH+////B0sNBQJAQQAoAsDTgIAAIgNFDQBBACgCuNOAgAAiBCAGaiIFIARNDQYgBSADSw0GCyAGEMuAgIAAIgMgAEcNAQwHCyAGIABrIAtxIgZB/v///wdLDQQgBhDLgICAACIAIAMoAgAgAygCBGpGDQMgACEDCwJAIANBf0YNACACQcgAaiAGTQ0AAkAgByAGa0EAKALo04CAACIEakEAIARrcSIEQf7///8HTQ0AIAMhAAwHCwJAIAQQy4CAgABBf0YNACAEIAZqIQYgAyEADAcLQQAgBmsQy4CAgAAaDAQLIAMhACADQX9HDQUMAwtBACEIDAcLQQAhAAwFCyAAQX9HDQILQQBBACgCxNOAgABBBHI2AsTTgIAACyAIQf7///8HSw0BIAgQy4CAgAAhAEEAEMuAgIAAIQMgAEF/Rg0BIANBf0YNASAAIANPDQEgAyAAayIGIAJBOGpNDQELQQBBACgCuNOAgAAgBmoiAzYCuNOAgAACQCADQQAoArzTgIAATQ0AQQAgAzYCvNOAgAALAkACQAJAAkBBACgCoNCAgAAiBEUNAEHI04CAACEDA0AgACADKAIAIgUgAygCBCIIakYNAiADKAIIIgMNAAwDCwsCQAJAQQAoApjQgIAAIgNFDQAgACADTw0BC0EAIAA2ApjQgIAAC0EAIQNBACAGNgLM04CAAEEAIAA2AsjTgIAAQQBBfzYCqNCAgABBAEEAKALg04CAADYCrNCAgABBAEEANgLU04CAAANAIANBxNCAgABqIANBuNCAgABqIgQ2AgAgBCADQbDQgIAAaiIFNgIAIANBvNCAgABqIAU2AgAgA0HM0ICAAGogA0HA0ICAAGoiBTYCACAFIAQ2AgAgA0HU0ICAAGogA0HI0ICAAGoiBDYCACAEIAU2AgAgA0HQ0ICAAGogBDYCACADQSBqIgNBgAJHDQALIABBeCAAa0EPcUEAIABBCGpBD3EbIgNqIgQgBkFIaiIFIANrIgNBAXI2AgRBAEEAKALw04CAADYCpNCAgABBACADNgKU0ICAAEEAIAQ2AqDQgIAAIAAgBWpBODYCBAwCCyADLQAMQQhxDQAgBCAFSQ0AIAQgAE8NACAEQXggBGtBD3FBACAEQQhqQQ9xGyIFaiIAQQAoApTQgIAAIAZqIgsgBWsiBUEBcjYCBCADIAggBmo2AgRBAEEAKALw04CAADYCpNCAgABBACAFNgKU0ICAAEEAIAA2AqDQgIAAIAQgC2pBODYCBAwBCwJAIABBACgCmNCAgAAiCE8NAEEAIAA2ApjQgIAAIAAhCAsgACAGaiEFQcjTgIAAIQMCQAJAAkACQAJAAkACQANAIAMoAgAgBUYNASADKAIIIgMNAAwCCwsgAy0ADEEIcUUNAQtByNOAgAAhAwNAAkAgAygCACIFIARLDQAgBSADKAIEaiIFIARLDQMLIAMoAgghAwwACwsgAyAANgIAIAMgAygCBCAGajYCBCAAQXggAGtBD3FBACAAQQhqQQ9xG2oiCyACQQNyNgIEIAVBeCAFa0EPcUEAIAVBCGpBD3EbaiIGIAsgAmoiAmshAwJAIAYgBEcNAEEAIAI2AqDQgIAAQQBBACgClNCAgAAgA2oiAzYClNCAgAAgAiADQQFyNgIEDAMLAkAgBkEAKAKc0ICAAEcNAEEAIAI2ApzQgIAAQQBBACgCkNCAgAAgA2oiAzYCkNCAgAAgAiADQQFyNgIEIAIgA2ogAzYCAAwDCwJAIAYoAgQiBEEDcUEBRw0AIARBeHEhBwJAAkAgBEH/AUsNACAGKAIIIgUgBEEDdiIIQQN0QbDQgIAAaiIARhoCQCAGKAIMIgQgBUcNAEEAQQAoAojQgIAAQX4gCHdxNgKI0ICAAAwCCyAEIABGGiAEIAU2AgggBSAENgIMDAELIAYoAhghCQJAAkAgBigCDCIAIAZGDQAgBigCCCIEIAhJGiAAIAQ2AgggBCAANgIMDAELAkAgBkEUaiIEKAIAIgUNACAGQRBqIgQoAgAiBQ0AQQAhAAwBCwNAIAQhCCAFIgBBFGoiBCgCACIFDQAgAEEQaiEEIAAoAhAiBQ0ACyAIQQA2AgALIAlFDQACQAJAIAYgBigCHCIFQQJ0QbjSgIAAaiIEKAIARw0AIAQgADYCACAADQFBAEEAKAKM0ICAAEF+IAV3cTYCjNCAgAAMAgsgCUEQQRQgCSgCECAGRhtqIAA2AgAgAEUNAQsgACAJNgIYAkAgBigCECIERQ0AIAAgBDYCECAEIAA2AhgLIAYoAhQiBEUNACAAQRRqIAQ2AgAgBCAANgIYCyAHIANqIQMgBiAHaiIGKAIEIQQLIAYgBEF+cTYCBCACIANqIAM2AgAgAiADQQFyNgIEAkAgA0H/AUsNACADQXhxQbDQgIAAaiEEAkACQEEAKAKI0ICAACIFQQEgA0EDdnQiA3ENAEEAIAUgA3I2AojQgIAAIAQhAwwBCyAEKAIIIQMLIAMgAjYCDCAEIAI2AgggAiAENgIMIAIgAzYCCAwDC0EfIQQCQCADQf///wdLDQAgA0EIdiIEIARBgP4/akEQdkEIcSIEdCIFIAVBgOAfakEQdkEEcSIFdCIAIABBgIAPakEQdkECcSIAdEEPdiAEIAVyIAByayIEQQF0IAMgBEEVanZBAXFyQRxqIQQLIAIgBDYCHCACQgA3AhAgBEECdEG40oCAAGohBQJAQQAoAozQgIAAIgBBASAEdCIIcQ0AIAUgAjYCAEEAIAAgCHI2AozQgIAAIAIgBTYCGCACIAI2AgggAiACNgIMDAMLIANBAEEZIARBAXZrIARBH0YbdCEEIAUoAgAhAANAIAAiBSgCBEF4cSADRg0CIARBHXYhACAEQQF0IQQgBSAAQQRxakEQaiIIKAIAIgANAAsgCCACNgIAIAIgBTYCGCACIAI2AgwgAiACNgIIDAILIABBeCAAa0EPcUEAIABBCGpBD3EbIgNqIgsgBkFIaiIIIANrIgNBAXI2AgQgACAIakE4NgIEIAQgBUE3IAVrQQ9xQQAgBUFJakEPcRtqQUFqIgggCCAEQRBqSRsiCEEjNgIEQQBBACgC8NOAgAA2AqTQgIAAQQAgAzYClNCAgABBACALNgKg0ICAACAIQRBqQQApAtDTgIAANwIAIAhBACkCyNOAgAA3AghBACAIQQhqNgLQ04CAAEEAIAY2AszTgIAAQQAgADYCyNOAgABBAEEANgLU04CAACAIQSRqIQMDQCADQQc2AgAgA0EEaiIDIAVJDQALIAggBEYNAyAIIAgoAgRBfnE2AgQgCCAIIARrIgA2AgAgBCAAQQFyNgIEAkAgAEH/AUsNACAAQXhxQbDQgIAAaiEDAkACQEEAKAKI0ICAACIFQQEgAEEDdnQiAHENAEEAIAUgAHI2AojQgIAAIAMhBQwBCyADKAIIIQULIAUgBDYCDCADIAQ2AgggBCADNgIMIAQgBTYCCAwEC0EfIQMCQCAAQf///wdLDQAgAEEIdiIDIANBgP4/akEQdkEIcSIDdCIFIAVBgOAfakEQdkEEcSIFdCIIIAhBgIAPakEQdkECcSIIdEEPdiADIAVyIAhyayIDQQF0IAAgA0EVanZBAXFyQRxqIQMLIAQgAzYCHCAEQgA3AhAgA0ECdEG40oCAAGohBQJAQQAoAozQgIAAIghBASADdCIGcQ0AIAUgBDYCAEEAIAggBnI2AozQgIAAIAQgBTYCGCAEIAQ2AgggBCAENgIMDAQLIABBAEEZIANBAXZrIANBH0YbdCEDIAUoAgAhCANAIAgiBSgCBEF4cSAARg0DIANBHXYhCCADQQF0IQMgBSAIQQRxakEQaiIGKAIAIggNAAsgBiAENgIAIAQgBTYCGCAEIAQ2AgwgBCAENgIIDAMLIAUoAggiAyACNgIMIAUgAjYCCCACQQA2AhggAiAFNgIMIAIgAzYCCAsgC0EIaiEDDAULIAUoAggiAyAENgIMIAUgBDYCCCAEQQA2AhggBCAFNgIMIAQgAzYCCAtBACgClNCAgAAiAyACTQ0AQQAoAqDQgIAAIgQgAmoiBSADIAJrIgNBAXI2AgRBACADNgKU0ICAAEEAIAU2AqDQgIAAIAQgAkEDcjYCBCAEQQhqIQMMAwtBACEDQQBBMDYC+NOAgAAMAgsCQCALRQ0AAkACQCAIIAgoAhwiBUECdEG40oCAAGoiAygCAEcNACADIAA2AgAgAA0BQQAgB0F+IAV3cSIHNgKM0ICAAAwCCyALQRBBFCALKAIQIAhGG2ogADYCACAARQ0BCyAAIAs2AhgCQCAIKAIQIgNFDQAgACADNgIQIAMgADYCGAsgCEEUaigCACIDRQ0AIABBFGogAzYCACADIAA2AhgLAkACQCAEQQ9LDQAgCCAEIAJqIgNBA3I2AgQgCCADaiIDIAMoAgRBAXI2AgQMAQsgCCACaiIAIARBAXI2AgQgCCACQQNyNgIEIAAgBGogBDYCAAJAIARB/wFLDQAgBEF4cUGw0ICAAGohAwJAAkBBACgCiNCAgAAiBUEBIARBA3Z0IgRxDQBBACAFIARyNgKI0ICAACADIQQMAQsgAygCCCEECyAEIAA2AgwgAyAANgIIIAAgAzYCDCAAIAQ2AggMAQtBHyEDAkAgBEH///8HSw0AIARBCHYiAyADQYD+P2pBEHZBCHEiA3QiBSAFQYDgH2pBEHZBBHEiBXQiAiACQYCAD2pBEHZBAnEiAnRBD3YgAyAFciACcmsiA0EBdCAEIANBFWp2QQFxckEcaiEDCyAAIAM2AhwgAEIANwIQIANBAnRBuNKAgABqIQUCQCAHQQEgA3QiAnENACAFIAA2AgBBACAHIAJyNgKM0ICAACAAIAU2AhggACAANgIIIAAgADYCDAwBCyAEQQBBGSADQQF2ayADQR9GG3QhAyAFKAIAIQICQANAIAIiBSgCBEF4cSAERg0BIANBHXYhAiADQQF0IQMgBSACQQRxakEQaiIGKAIAIgINAAsgBiAANgIAIAAgBTYCGCAAIAA2AgwgACAANgIIDAELIAUoAggiAyAANgIMIAUgADYCCCAAQQA2AhggACAFNgIMIAAgAzYCCAsgCEEIaiEDDAELAkAgCkUNAAJAAkAgACAAKAIcIgVBAnRBuNKAgABqIgMoAgBHDQAgAyAINgIAIAgNAUEAIAlBfiAFd3E2AozQgIAADAILIApBEEEUIAooAhAgAEYbaiAINgIAIAhFDQELIAggCjYCGAJAIAAoAhAiA0UNACAIIAM2AhAgAyAINgIYCyAAQRRqKAIAIgNFDQAgCEEUaiADNgIAIAMgCDYCGAsCQAJAIARBD0sNACAAIAQgAmoiA0EDcjYCBCAAIANqIgMgAygCBEEBcjYCBAwBCyAAIAJqIgUgBEEBcjYCBCAAIAJBA3I2AgQgBSAEaiAENgIAAkAgB0UNACAHQXhxQbDQgIAAaiECQQAoApzQgIAAIQMCQAJAQQEgB0EDdnQiCCAGcQ0AQQAgCCAGcjYCiNCAgAAgAiEIDAELIAIoAgghCAsgCCADNgIMIAIgAzYCCCADIAI2AgwgAyAINgIIC0EAIAU2ApzQgIAAQQAgBDYCkNCAgAALIABBCGohAwsgAUEQaiSAgICAACADCwoAIAAQyYCAgAAL4g0BB38CQCAARQ0AIABBeGoiASAAQXxqKAIAIgJBeHEiAGohAwJAIAJBAXENACACQQNxRQ0BIAEgASgCACICayIBQQAoApjQgIAAIgRJDQEgAiAAaiEAAkAgAUEAKAKc0ICAAEYNAAJAIAJB/wFLDQAgASgCCCIEIAJBA3YiBUEDdEGw0ICAAGoiBkYaAkAgASgCDCICIARHDQBBAEEAKAKI0ICAAEF+IAV3cTYCiNCAgAAMAwsgAiAGRhogAiAENgIIIAQgAjYCDAwCCyABKAIYIQcCQAJAIAEoAgwiBiABRg0AIAEoAggiAiAESRogBiACNgIIIAIgBjYCDAwBCwJAIAFBFGoiAigCACIEDQAgAUEQaiICKAIAIgQNAEEAIQYMAQsDQCACIQUgBCIGQRRqIgIoAgAiBA0AIAZBEGohAiAGKAIQIgQNAAsgBUEANgIACyAHRQ0BAkACQCABIAEoAhwiBEECdEG40oCAAGoiAigCAEcNACACIAY2AgAgBg0BQQBBACgCjNCAgABBfiAEd3E2AozQgIAADAMLIAdBEEEUIAcoAhAgAUYbaiAGNgIAIAZFDQILIAYgBzYCGAJAIAEoAhAiAkUNACAGIAI2AhAgAiAGNgIYCyABKAIUIgJFDQEgBkEUaiACNgIAIAIgBjYCGAwBCyADKAIEIgJBA3FBA0cNACADIAJBfnE2AgRBACAANgKQ0ICAACABIABqIAA2AgAgASAAQQFyNgIEDwsgASADTw0AIAMoAgQiAkEBcUUNAAJAAkAgAkECcQ0AAkAgA0EAKAKg0ICAAEcNAEEAIAE2AqDQgIAAQQBBACgClNCAgAAgAGoiADYClNCAgAAgASAAQQFyNgIEIAFBACgCnNCAgABHDQNBAEEANgKQ0ICAAEEAQQA2ApzQgIAADwsCQCADQQAoApzQgIAARw0AQQAgATYCnNCAgABBAEEAKAKQ0ICAACAAaiIANgKQ0ICAACABIABBAXI2AgQgASAAaiAANgIADwsgAkF4cSAAaiEAAkACQCACQf8BSw0AIAMoAggiBCACQQN2IgVBA3RBsNCAgABqIgZGGgJAIAMoAgwiAiAERw0AQQBBACgCiNCAgABBfiAFd3E2AojQgIAADAILIAIgBkYaIAIgBDYCCCAEIAI2AgwMAQsgAygCGCEHAkACQCADKAIMIgYgA0YNACADKAIIIgJBACgCmNCAgABJGiAGIAI2AgggAiAGNgIMDAELAkAgA0EUaiICKAIAIgQNACADQRBqIgIoAgAiBA0AQQAhBgwBCwNAIAIhBSAEIgZBFGoiAigCACIEDQAgBkEQaiECIAYoAhAiBA0ACyAFQQA2AgALIAdFDQACQAJAIAMgAygCHCIEQQJ0QbjSgIAAaiICKAIARw0AIAIgBjYCACAGDQFBAEEAKAKM0ICAAEF+IAR3cTYCjNCAgAAMAgsgB0EQQRQgBygCECADRhtqIAY2AgAgBkUNAQsgBiAHNgIYAkAgAygCECICRQ0AIAYgAjYCECACIAY2AhgLIAMoAhQiAkUNACAGQRRqIAI2AgAgAiAGNgIYCyABIABqIAA2AgAgASAAQQFyNgIEIAFBACgCnNCAgABHDQFBACAANgKQ0ICAAA8LIAMgAkF+cTYCBCABIABqIAA2AgAgASAAQQFyNgIECwJAIABB/wFLDQAgAEF4cUGw0ICAAGohAgJAAkBBACgCiNCAgAAiBEEBIABBA3Z0IgBxDQBBACAEIAByNgKI0ICAACACIQAMAQsgAigCCCEACyAAIAE2AgwgAiABNgIIIAEgAjYCDCABIAA2AggPC0EfIQICQCAAQf///wdLDQAgAEEIdiICIAJBgP4/akEQdkEIcSICdCIEIARBgOAfakEQdkEEcSIEdCIGIAZBgIAPakEQdkECcSIGdEEPdiACIARyIAZyayICQQF0IAAgAkEVanZBAXFyQRxqIQILIAEgAjYCHCABQgA3AhAgAkECdEG40oCAAGohBAJAAkBBACgCjNCAgAAiBkEBIAJ0IgNxDQAgBCABNgIAQQAgBiADcjYCjNCAgAAgASAENgIYIAEgATYCCCABIAE2AgwMAQsgAEEAQRkgAkEBdmsgAkEfRht0IQIgBCgCACEGAkADQCAGIgQoAgRBeHEgAEYNASACQR12IQYgAkEBdCECIAQgBkEEcWpBEGoiAygCACIGDQALIAMgATYCACABIAQ2AhggASABNgIMIAEgATYCCAwBCyAEKAIIIgAgATYCDCAEIAE2AgggAUEANgIYIAEgBDYCDCABIAA2AggLQQBBACgCqNCAgABBf2oiAUF/IAEbNgKo0ICAAAsLBAAAAAtOAAJAIAANAD8AQRB0DwsCQCAAQf//A3ENACAAQX9MDQACQCAAQRB2QAAiAEF/Rw0AQQBBMDYC+NOAgABBfw8LIABBEHQPCxDKgICAAAAL8gICA38BfgJAIAJFDQAgACABOgAAIAIgAGoiA0F/aiABOgAAIAJBA0kNACAAIAE6AAIgACABOgABIANBfWogAToAACADQX5qIAE6AAAgAkEHSQ0AIAAgAToAAyADQXxqIAE6AAAgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIFayICQSBJDQAgAa1CgYCAgBB+IQYgAyAFaiEBA0AgASAGNwMYIAEgBjcDECABIAY3AwggASAGNwMAIAFBIGohASACQWBqIgJBH0sNAAsLIAALC45IAQBBgAgLhkgBAAAAAgAAAAMAAAAAAAAAAAAAAAQAAAAFAAAAAAAAAAAAAAAGAAAABwAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEludmFsaWQgY2hhciBpbiB1cmwgcXVlcnkAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9ib2R5AENvbnRlbnQtTGVuZ3RoIG92ZXJmbG93AENodW5rIHNpemUgb3ZlcmZsb3cAUmVzcG9uc2Ugb3ZlcmZsb3cASW52YWxpZCBtZXRob2QgZm9yIEhUVFAveC54IHJlcXVlc3QASW52YWxpZCBtZXRob2QgZm9yIFJUU1AveC54IHJlcXVlc3QARXhwZWN0ZWQgU09VUkNFIG1ldGhvZCBmb3IgSUNFL3gueCByZXF1ZXN0AEludmFsaWQgY2hhciBpbiB1cmwgZnJhZ21lbnQgc3RhcnQARXhwZWN0ZWQgZG90AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fc3RhdHVzAEludmFsaWQgcmVzcG9uc2Ugc3RhdHVzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8=";
-  }
-});
-
-// node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
-var require_llhttp_simd_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==";
+    var Dispatcher = require_dispatcher2();
+    var RetryHandler = require_retry_handler2();
+    var RetryAgent = class extends Dispatcher {
+      #agent = null;
+      #options = null;
+      constructor(agent, options = {}) {
+        super(options);
+        this.#agent = agent;
+        this.#options = options;
+      }
+      dispatch(opts, handler2) {
+        const retry2 = new RetryHandler({
+          ...opts,
+          retryOptions: this.#options
+        }, {
+          dispatch: this.#agent.dispatch.bind(this.#agent),
+          handler: handler2
+        });
+        return this.#agent.dispatch(opts, retry2);
+      }
+      close() {
+        return this.#agent.close();
+      }
+      destroy() {
+        return this.#agent.destroy();
+      }
+    };
+    module2.exports = RetryAgent;
   }
 });
 
-// node_modules/undici/lib/client.js
-var require_client2 = __commonJS({
-  "node_modules/undici/lib/client.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/api/readable.js
+var require_readable2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/readable.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var net = require("net");
-    var http = require("http");
-    var { pipeline } = require("stream");
+    var assert = require("node:assert");
+    var { Readable: Readable2 } = require("node:stream");
+    var { RequestAbortedError, NotSupportedError, InvalidArgumentError, AbortError } = require_errors2();
     var util = require_util9();
-    var timers = require_timers2();
-    var Request = require_request3();
-    var DispatcherBase = require_dispatcher_base2();
-    var {
-      RequestContentLengthMismatchError,
-      ResponseContentLengthMismatchError,
-      InvalidArgumentError,
-      RequestAbortedError,
-      HeadersTimeoutError,
-      HeadersOverflowError,
-      SocketError,
-      InformationalError,
-      BodyTimeoutError,
-      HTTPParserError,
-      ResponseExceededMaxSizeError,
-      ClientDestroyedError
-    } = require_errors2();
-    var buildConnector = require_connect2();
-    var {
-      kUrl,
-      kReset,
-      kServerName,
-      kClient,
-      kBusy,
-      kParser,
-      kConnect,
-      kBlocking,
-      kResuming,
-      kRunning,
-      kPending,
-      kSize,
-      kWriting,
-      kQueue,
-      kConnected,
-      kConnecting,
-      kNeedDrain,
-      kNoRef,
-      kKeepAliveDefaultTimeout,
-      kHostHeader,
-      kPendingIdx,
-      kRunningIdx,
-      kError,
-      kPipelining,
-      kSocket,
-      kKeepAliveTimeoutValue,
-      kMaxHeadersSize,
-      kKeepAliveMaxTimeout,
-      kKeepAliveTimeoutThreshold,
-      kHeadersTimeout,
-      kBodyTimeout,
-      kStrictContentLength,
-      kConnector,
-      kMaxRedirections,
-      kMaxRequests,
-      kCounter,
-      kClose,
-      kDestroy,
-      kDispatch,
-      kInterceptors,
-      kLocalAddress,
-      kMaxResponseSize,
-      kHTTPConnVersion,
-      // HTTP2
-      kHost,
-      kHTTP2Session,
-      kHTTP2SessionState,
-      kHTTP2BuildRequest,
-      kHTTP2CopyHeaders,
-      kHTTP1BuildRequest
-    } = require_symbols6();
-    var http2;
-    try {
-      http2 = require("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
+    var { ReadableStreamFrom } = require_util9();
+    var kConsume = /* @__PURE__ */ Symbol("kConsume");
+    var kReading = /* @__PURE__ */ Symbol("kReading");
+    var kBody = /* @__PURE__ */ Symbol("kBody");
+    var kAbort = /* @__PURE__ */ Symbol("kAbort");
+    var kContentType = /* @__PURE__ */ Symbol("kContentType");
+    var kContentLength = /* @__PURE__ */ Symbol("kContentLength");
+    var noop3 = () => {
+    };
+    var BodyReadable = class extends Readable2 {
+      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;
       }
-    } = http2;
-    var h2ExperimentalWarned = false;
-    var FastBuffer = Buffer[Symbol.species];
-    var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
-    var channels = {};
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.sendHeaders = diagnosticsChannel.channel("undici:client:sendHeaders");
-      channels.beforeConnect = diagnosticsChannel.channel("undici:client:beforeConnect");
-      channels.connectError = diagnosticsChannel.channel("undici:client:connectError");
-      channels.connected = diagnosticsChannel.channel("undici:client:connected");
-    } catch {
-      channels.sendHeaders = { hasSubscribers: false };
-      channels.beforeConnect = { hasSubscribers: false };
-      channels.connectError = { hasSubscribers: false };
-      channels.connected = { hasSubscribers: false };
-    }
-    var Client = class extends DispatcherBase {
-      /**
-       *
-       * @param {string|URL} url
-       * @param {import('../types/client').Client.Options} options
-       */
-      constructor(url, {
-        interceptors,
-        maxHeaderSize,
-        headersTimeout,
-        socketTimeout,
-        requestTimeout,
-        connectTimeout,
-        bodyTimeout,
-        idleTimeout,
-        keepAlive,
-        keepAliveTimeout,
-        maxKeepAliveTimeout,
-        keepAliveMaxTimeout,
-        keepAliveTimeoutThreshold,
-        socketPath,
-        pipelining,
-        tls,
-        strictContentLength,
-        maxCachedSessions,
-        maxRedirections,
-        connect: connect2,
-        maxRequestsPerClient,
-        localAddress,
-        maxResponseSize,
-        autoSelectFamily,
-        autoSelectFamilyAttemptTimeout,
-        // h2
-        allowH2,
-        maxConcurrentStreams
-      } = {}) {
-        super();
-        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");
+      destroy(err) {
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
         }
-        if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) {
-          throw new InvalidArgumentError("maxResponseSize must be a positive number");
+        if (err) {
+          this[kAbort]();
         }
-        if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) {
-          throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number");
+        return super.destroy(err);
+      }
+      _destroy(err, callback) {
+        if (!this[kReading]) {
+          setImmediate(() => {
+            callback(err);
+          });
+        } else {
+          callback(err);
         }
-        if (allowH2 != null && typeof allowH2 !== "boolean") {
-          throw new InvalidArgumentError("allowH2 must be a valid boolean value");
+      }
+      on(ev, ...args) {
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = true;
         }
-        if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) {
-          throw new InvalidArgumentError("maxConcurrentStreams must be a possitive integer, greater than 0");
+        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;
         }
-        if (typeof connect2 !== "function") {
-          connect2 = buildConnector({
-            ...tls,
-            maxCachedSessions,
-            allowH2,
-            socketPath,
-            timeout: connectTimeout,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
-            ...connect2
-          });
+        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;
         }
-        this[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client) ? interceptors.Client : [createRedirectInterceptor({ maxRedirections })];
-        this[kUrl] = util.parseOrigin(url);
-        this[kConnector] = connect2;
-        this[kSocket] = null;
-        this[kPipelining] = pipelining != null ? pipelining : 1;
-        this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize;
-        this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;
-        this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;
-        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold;
-        this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
-        this[kServerName] = null;
-        this[kLocalAddress] = localAddress != null ? localAddress : null;
-        this[kResuming] = 0;
-        this[kNeedDrain] = 0;
-        this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r
-`;
-        this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5;
-        this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5;
-        this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength;
-        this[kMaxRedirections] = maxRedirections;
-        this[kMaxRequests] = maxRequestsPerClient;
-        this[kClosedResolve] = null;
-        this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
-        this[kHTTPConnVersion] = "h1";
-        this[kHTTP2Session] = null;
-        this[kHTTP2SessionState] = !allowH2 ? null : {
-          // streams: null, // Fixed queue of streams - For future support of `push`
-          openStreams: 0,
-          // Keep track of them to decide wether or not unref the session
-          maxConcurrentStreams: maxConcurrentStreams != null ? maxConcurrentStreams : 100
-          // Max peerConcurrentStreams for a Node h2 server
-        };
-        this[kHost] = `${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}`;
-        this[kQueue] = [];
-        this[kRunningIdx] = 0;
-        this[kPendingIdx] = 0;
+        return super.push(chunk);
       }
-      get pipelining() {
-        return this[kPipelining];
+      // https://fetch.spec.whatwg.org/#dom-body-text
+      async text() {
+        return consume(this, "text");
       }
-      set pipelining(value) {
-        this[kPipelining] = value;
-        resume(this, true);
+      // https://fetch.spec.whatwg.org/#dom-body-json
+      async json() {
+        return consume(this, "json");
       }
-      get [kPending]() {
-        return this[kQueue].length - this[kPendingIdx];
+      // https://fetch.spec.whatwg.org/#dom-body-blob
+      async blob() {
+        return consume(this, "blob");
       }
-      get [kRunning]() {
-        return this[kPendingIdx] - this[kRunningIdx];
+      // https://fetch.spec.whatwg.org/#dom-body-bytes
+      async bytes() {
+        return consume(this, "bytes");
       }
-      get [kSize]() {
-        return this[kQueue].length - this[kRunningIdx];
+      // https://fetch.spec.whatwg.org/#dom-body-arraybuffer
+      async arrayBuffer() {
+        return consume(this, "arrayBuffer");
       }
-      get [kConnected]() {
-        return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed;
+      // https://fetch.spec.whatwg.org/#dom-body-formdata
+      async formData() {
+        throw new NotSupportedError();
       }
-      get [kBusy]() {
-        const socket = this[kSocket];
-        return socket && (socket[kReset] || socket[kWriting] || socket[kBlocking]) || this[kSize] >= (this[kPipelining] || 1) || this[kPending] > 0;
+      // https://fetch.spec.whatwg.org/#dom-body-bodyused
+      get bodyUsed() {
+        return util.isDisturbed(this);
       }
-      /* istanbul ignore: only used for test */
-      [kConnect](cb) {
-        connect(this);
-        this.once("connect", cb);
+      // 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];
       }
-      [kDispatch](opts, handler2) {
-        const origin = opts.origin || this[kUrl].origin;
-        const request2 = this[kHTTPConnVersion] === "h2" ? Request[kHTTP2BuildRequest](origin, opts, handler2) : Request[kHTTP1BuildRequest](origin, opts, handler2);
-        this[kQueue].push(request2);
-        if (this[kResuming]) {
-        } else if (util.bodyLength(request2.body) == null && util.isIterable(request2.body)) {
-          this[kResuming] = 1;
-          process.nextTick(resume, this);
+      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((resolve9, 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 {
+              resolve9(null);
+            }
+          }).on("error", noop3).on("data", function(chunk) {
+            limit -= chunk.length;
+            if (limit <= 0) {
+              this.destroy();
+            }
+          }).resume();
+        });
+      }
+    };
+    function isLocked(self2) {
+      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
+    }
+    function isUnusable(self2) {
+      return util.isDisturbed(self2) || isLocked(self2);
+    }
+    async function consume(stream2, type2) {
+      assert(!stream2[kConsume]);
+      return new Promise((resolve9, reject) => {
+        if (isUnusable(stream2)) {
+          const rState = stream2._readableState;
+          if (rState.destroyed && rState.closeEmitted === false) {
+            stream2.on("error", (err) => {
+              reject(err);
+            }).on("close", () => {
+              reject(new TypeError("unusable"));
+            });
+          } else {
+            reject(rState.errored ?? new TypeError("unusable"));
+          }
         } else {
-          resume(this, true);
+          queueMicrotask(() => {
+            stream2[kConsume] = {
+              type: type2,
+              stream: stream2,
+              resolve: resolve9,
+              reject,
+              length: 0,
+              body: []
+            };
+            stream2.on("error", function(err) {
+              consumeFinish(this[kConsume], err);
+            }).on("close", function() {
+              if (this[kConsume].body !== null) {
+                consumeFinish(this[kConsume], new RequestAbortedError());
+              }
+            });
+            consumeStart(stream2[kConsume]);
+          });
         }
-        if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
-          this[kNeedDrain] = 2;
+      });
+    }
+    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);
         }
-        return this[kNeedDrain] < 2;
       }
-      async [kClose]() {
-        return new Promise((resolve9) => {
-          if (!this[kSize]) {
-            resolve9(null);
-          } else {
-            this[kClosedResolve] = resolve9;
-          }
+      if (state.endEmitted) {
+        consumeEnd(this[kConsume]);
+      } else {
+        consume2.stream.on("end", function() {
+          consumeEnd(this[kConsume]);
         });
       }
-      async [kDestroy](err) {
-        return new Promise((resolve9) => {
-          const requests = this[kQueue].splice(this[kPendingIdx]);
-          for (let i = 0; i < requests.length; i++) {
-            const request2 = requests[i];
-            errorRequest2(this, request2, err);
-          }
-          const callback = () => {
-            if (this[kClosedResolve]) {
-              this[kClosedResolve]();
-              this[kClosedResolve] = null;
-            }
-            resolve9();
-          };
-          if (this[kHTTP2Session] != null) {
-            util.destroy(this[kHTTP2Session], err);
-            this[kHTTP2Session] = null;
-            this[kHTTP2SessionState] = null;
-          }
-          if (!this[kSocket]) {
-            queueMicrotask(callback);
-          } else {
-            util.destroy(this[kSocket].on("close", callback), err);
-          }
-          resume(this);
-        });
+      consume2.stream.resume();
+      while (consume2.stream.read() != null) {
       }
-    };
-    function onHttp2SessionError(err) {
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      this[kSocket][kError] = err;
-      onError(this[kClient], err);
     }
-    function onHttp2FrameError(type2, code, id) {
-      const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-      if (id === 0) {
-        this[kSocket][kError] = err;
-        onError(this[kClient], err);
+    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 onHttp2SessionEnd() {
-      util.destroy(this, new SocketError("other side closed"));
-      util.destroy(this[kSocket], new SocketError("other side closed"));
-    }
-    function onHTTP2GoAway(code) {
-      const client = this[kClient];
-      const err = new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`);
-      client[kSocket] = null;
-      client[kHTTP2Session] = null;
-      if (client.destroyed) {
-        assert(this[kPending] === 0);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(this, request2, err);
-        }
-      } else if (client[kRunning] > 0) {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
+    function chunksConcat(chunks, length) {
+      if (chunks.length === 0 || length === 0) {
+        return new Uint8Array(0);
       }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit(
-        "disconnect",
-        client[kUrl],
-        [client],
-        err
-      );
-      resume(client);
+      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;
     }
-    var constants = require_constants8();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var EMPTY_BUF = Buffer.alloc(0);
-    async function lazyllhttp() {
-      const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm2() : void 0;
-      let mod;
+    function consumeEnd(consume2) {
+      const { type: type2, body, resolve: resolve9, stream: stream2, length } = consume2;
       try {
-        mod = await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm2(), "base64"));
-      } catch (e) {
-        mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require_llhttp_wasm2(), "base64"));
-      }
-      return await WebAssembly.instantiate(mod, {
-        env: {
-          /* eslint-disable camelcase */
-          wasm_on_url: (p, at, len) => {
-            return 0;
-          },
-          wasm_on_status: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_message_begin: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onMessageBegin() || 0;
-          },
-          wasm_on_header_field: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_header_value: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;
-          },
-          wasm_on_body: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_message_complete: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onMessageComplete() || 0;
-          }
-          /* eslint-enable camelcase */
+        if (type2 === "text") {
+          resolve9(chunksDecode(body, length));
+        } else if (type2 === "json") {
+          resolve9(JSON.parse(chunksDecode(body, length)));
+        } else if (type2 === "arrayBuffer") {
+          resolve9(chunksConcat(body, length).buffer);
+        } else if (type2 === "blob") {
+          resolve9(new Blob(body, { type: stream2[kContentType] }));
+        } else if (type2 === "bytes") {
+          resolve9(chunksConcat(body, length));
         }
-      });
-    }
-    var llhttpInstance = null;
-    var llhttpPromise = lazyllhttp();
-    llhttpPromise.catch();
-    var currentParser = null;
-    var currentBufferRef = null;
-    var currentBufferSize = 0;
-    var currentBufferPtr = null;
-    var TIMEOUT_HEADERS = 1;
-    var TIMEOUT_BODY = 2;
-    var TIMEOUT_IDLE = 3;
-    var Parser = class {
-      constructor(client, socket, { exports: 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];
+        consumeFinish(consume2);
+      } catch (err) {
+        stream2.destroy(err);
       }
-      setTimeout(value, type2) {
-        this.timeoutType = type2;
-        if (value !== this.timeoutValue) {
-          timers.clearTimeout(this.timeout);
-          if (value) {
-            this.timeout = timers.setTimeout(onParserTimeout, value, this);
-            if (this.timeout.unref) {
-              this.timeout.unref();
-            }
-          } else {
-            this.timeout = null;
-          }
-          this.timeoutValue = value;
-        } else if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
-          }
-        }
+    }
+    function consumePush(consume2, chunk) {
+      consume2.length += chunk.length;
+      consume2.body.push(chunk);
+    }
+    function consumeFinish(consume2, err) {
+      if (consume2.body === null) {
+        return;
       }
-      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();
+      if (err) {
+        consume2.reject(err);
+      } else {
+        consume2.resolve();
       }
-      readMore() {
-        while (!this.paused && this.ptr) {
-          const chunk = this.socket.read();
-          if (chunk === null) {
+      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/@actions/github/node_modules/undici/lib/api/util.js
+var require_util11 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/util.js"(exports2, module2) {
+    var assert = require("node:assert");
+    var {
+      ResponseStatusCodeError
+    } = require_errors2();
+    var { chunksDecode } = require_readable2();
+    var CHUNK_LIMIT = 128 * 1024;
+    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
+      assert(body);
+      let chunks = [];
+      let length = 0;
+      try {
+        for await (const chunk of body) {
+          chunks.push(chunk);
+          length += chunk.length;
+          if (length > CHUNK_LIMIT) {
+            chunks = [];
+            length = 0;
             break;
           }
-          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;
-        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;
         }
+      } catch {
+        chunks = [];
+        length = 0;
       }
-      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);
+      const message = `Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`;
+      if (statusCode === 204 || !contentType || !length) {
+        queueMicrotask(() => callback(new ResponseStatusCodeError(message, statusCode, headers)));
+        return;
       }
-      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 && key.toString().toLowerCase() === "keep-alive") {
-          this.keepAlive += buf.toString();
-        } else if (key.length === 10 && key.toString().toLowerCase() === "connection") {
-          this.connection += buf.toString();
-        } else if (key.length === 14 && key.toString().toLowerCase() === "content-length") {
-          this.contentLength += buf.toString();
+      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);
         }
-        this.trackHeader(buf.length);
+      } catch {
+      } finally {
+        Error.stackTraceLimit = stackTraceLimit;
       }
-      trackHeader(len) {
-        this.headersSize += len;
-        if (this.headersSize >= this.headersMaxSize) {
-          util.destroy(this.socket, new HeadersOverflowError());
+      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/@actions/github/node_modules/undici/lib/api/api-request.js
+var require_api_request2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-request.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { Readable: Readable2 } = require_readable2();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
+    var util = require_util9();
+    var { getResolveErrorBodyCallback } = require_util11();
+    var { AsyncResource } = require("node:async_hooks");
+    var RequestHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-      }
-      onUpgrade(head) {
-        const { upgrade, client, socket, headers, statusCode } = this;
-        assert(upgrade);
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert(!socket.destroyed);
-        assert(socket === client[kSocket]);
-        assert(!this.paused);
-        assert(request2.upgrade || request2.method === "CONNECT");
-        this.statusCode = null;
-        this.statusText = "";
-        this.shouldKeepAlive = null;
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        socket.unshift(head);
-        socket[kParser].destroy();
-        socket[kParser] = null;
-        socket[kClient] = null;
-        socket[kError] = null;
-        socket.removeListener("error", onSocketError).removeListener("readable", onSocketReadable).removeListener("end", onSocketEnd).removeListener("close", onSocketClose);
-        client[kSocket] = null;
-        client[kQueue][client[kRunningIdx]++] = null;
-        client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
         try {
-          request2.onUpgrade(statusCode, headers, socket);
+          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) {
-          util.destroy(socket, err);
-        }
-        resume(client);
-      }
-      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.strictEqual(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 (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
           }
+          throw err;
         }
-        if (request2.method === "CONNECT") {
-          assert(client[kRunning] === 1);
-          this.upgrade = true;
-          return 2;
-        }
-        if (upgrade) {
-          assert(client[kRunning] === 1);
-          this.upgrade = true;
-          return 2;
+        this.method = method;
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.body = body;
+        this.trailers = {};
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError;
+        this.highWaterMark = highWaterMark;
+        this.signal = signal;
+        this.reason = null;
+        this.removeAbortListener = null;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
         }
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        if (this.shouldKeepAlive && client[kPipelining]) {
-          const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null;
-          if (keepAliveTimeout != null) {
-            const timeout = Math.min(
-              keepAliveTimeout - client[kKeepAliveTimeoutThreshold],
-              client[kKeepAliveMaxTimeout]
-            );
-            if (timeout <= 0) {
-              socket[kReset] = true;
-            } else {
-              client[kKeepAliveTimeoutValue] = timeout;
-            }
+        if (this.signal) {
+          if (this.signal.aborted) {
+            this.reason = this.signal.reason ?? new RequestAbortedError();
           } 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;
-          resume(client);
+            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;
+              }
+            });
+          }
         }
-        return pause ? constants.ERROR.PAUSED : 0;
       }
-      onBody(buf) {
-        const { client, socket, statusCode, maxResponseSize } = this;
-        if (socket.destroyed) {
-          return -1;
+      onConnect(abort, context3) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert.strictEqual(this.timeoutType, TIMEOUT_BODY);
-        if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context3;
+      }
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { callback, opaque, abort, context: context3, responseHeaders, highWaterMark } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
           }
+          return;
         }
-        assert(statusCode >= 200);
-        if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
-          util.destroy(socket, new ResponseExceededMaxSizeError());
-          return -1;
+        const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
+        const contentType = parsedHeaders["content-type"];
+        const contentLength = parsedHeaders["content-length"];
+        const res = new Readable2({
+          resume,
+          abort,
+          contentType,
+          contentLength: this.method !== "HEAD" && contentLength ? Number(contentLength) : null,
+          highWaterMark
+        });
+        if (this.removeAbortListener) {
+          res.on("close", this.removeAbortListener);
         }
-        this.bytesRead += buf.length;
-        if (request2.onData(buf) === false) {
-          return constants.ERROR.PAUSED;
+        this.callback = null;
+        this.res = res;
+        if (callback !== null) {
+          if (this.throwOnError && statusCode >= 400) {
+            this.runInAsyncScope(
+              getResolveErrorBodyCallback,
+              null,
+              { callback, body: res, contentType, statusCode, statusMessage, headers }
+            );
+          } else {
+            this.runInAsyncScope(callback, null, null, {
+              statusCode,
+              headers,
+              trailers: this.trailers,
+              opaque,
+              body: res,
+              context: context3
+            });
+          }
         }
       }
-      onMessageComplete() {
-        const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;
-        if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
-          return -1;
-        }
-        if (upgrade) {
-          return;
+      onData(chunk) {
+        return this.res.push(chunk);
+      }
+      onComplete(trailers) {
+        util.parseHeaders(trailers, this.trailers);
+        this.res.push(null);
+      }
+      onError(err) {
+        const { res, callback, body, opaque } = this;
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert(statusCode >= 100);
-        this.statusCode = null;
-        this.statusText = "";
-        this.bytesRead = 0;
-        this.contentLength = "";
-        this.keepAlive = "";
-        this.connection = "";
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        if (statusCode < 200) {
-          return;
+        if (res) {
+          this.res = null;
+          queueMicrotask(() => {
+            util.destroy(res, err);
+          });
         }
-        if (request2.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) {
-          util.destroy(socket, new ResponseContentLengthMismatchError());
-          return -1;
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
         }
-        request2.onComplete(headers);
-        client[kQueue][client[kRunningIdx]++] = null;
-        if (socket[kWriting]) {
-          assert.strictEqual(client[kRunning], 0);
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (!shouldKeepAlive) {
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (socket[kReset] && client[kRunning] === 0) {
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (client[kPipelining] === 1) {
-          setImmediate(resume, client);
-        } else {
-          resume(client);
+        if (this.removeAbortListener) {
+          res?.off("close", this.removeAbortListener);
+          this.removeAbortListener();
+          this.removeAbortListener = null;
         }
       }
     };
-    function onParserTimeout(parser) {
-      const { socket, timeoutType, client } = parser;
-      if (timeoutType === TIMEOUT_HEADERS) {
-        if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
-          assert(!parser.paused, "cannot be paused while waiting for headers");
-          util.destroy(socket, new HeadersTimeoutError());
-        }
-      } else if (timeoutType === TIMEOUT_BODY) {
-        if (!parser.paused) {
-          util.destroy(socket, new BodyTimeoutError());
+    function request2(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve9, reject) => {
+          request2.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve9(data);
+          });
+        });
+      }
+      try {
+        this.dispatch(opts, new RequestHandler(opts, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
-      } else if (timeoutType === TIMEOUT_IDLE) {
-        assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
-        util.destroy(socket, new InformationalError("socket idle timeout"));
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
     }
-    function onSocketReadable() {
-      const { [kParser]: parser } = this;
-      if (parser) {
-        parser.readMore();
+    module2.exports = request2;
+    module2.exports.RequestHandler = RequestHandler;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js
+var require_abort_signal2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
+    var { addAbortListener } = require_util9();
+    var { RequestAbortedError } = require_errors2();
+    var kListener = /* @__PURE__ */ Symbol("kListener");
+    var kSignal = /* @__PURE__ */ Symbol("kSignal");
+    function abort(self2) {
+      if (self2.abort) {
+        self2.abort(self2[kSignal]?.reason);
+      } else {
+        self2.reason = self2[kSignal]?.reason ?? new RequestAbortedError();
       }
+      removeSignal(self2);
     }
-    function onSocketError(err) {
-      const { [kClient]: client, [kParser]: parser } = this;
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      if (client[kHTTPConnVersion] !== "h2") {
-        if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-          return;
-        }
+    function addSignal(self2, signal) {
+      self2.reason = null;
+      self2[kSignal] = null;
+      self2[kListener] = null;
+      if (!signal) {
+        return;
       }
-      this[kError] = err;
-      onError(this[kClient], err);
-    }
-    function onError(client, err) {
-      if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
-        assert(client[kPendingIdx] === client[kRunningIdx]);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
-        }
-        assert(client[kSize] === 0);
+      if (signal.aborted) {
+        abort(self2);
+        return;
       }
+      self2[kSignal] = signal;
+      self2[kListener] = () => {
+        abort(self2);
+      };
+      addAbortListener(self2[kSignal], self2[kListener]);
     }
-    function onSocketEnd() {
-      const { [kParser]: parser, [kClient]: client } = this;
-      if (client[kHTTPConnVersion] !== "h2") {
-        if (parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-          return;
-        }
+    function removeSignal(self2) {
+      if (!self2[kSignal]) {
+        return;
+      }
+      if ("removeEventListener" in self2[kSignal]) {
+        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      } else {
+        self2[kSignal].removeListener("abort", self2[kListener]);
       }
-      util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+      self2[kSignal] = null;
+      self2[kListener] = null;
     }
-    function onSocketClose() {
-      const { [kClient]: client, [kParser]: parser } = this;
-      if (client[kHTTPConnVersion] === "h1" && parser) {
-        if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
+    module2.exports = {
+      addSignal,
+      removeSignal
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-stream.js
+var require_api_stream2 = __commonJS({
+  "node_modules/@actions/github/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_errors2();
+    var util = require_util9();
+    var { getResolveErrorBodyCallback } = require_util11();
+    var { AsyncResource } = require("node:async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var StreamHandler = class extends AsyncResource {
+      constructor(opts, factory, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        this[kParser].destroy();
-        this[kParser] = null;
-      }
-      const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
-      client[kSocket] = null;
-      if (client.destroyed) {
-        assert(client[kPending] === 0);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
+        try {
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (typeof factory !== "function") {
+            throw new InvalidArgumentError("invalid factory");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
+          }
+          super("UNDICI_STREAM");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
         }
-      } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
-      }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit("disconnect", client[kUrl], [client], err);
-      resume(client);
-    }
-    async function connect(client) {
-      assert(!client[kConnecting]);
-      assert(!client[kSocket]);
-      let { host, hostname, protocol, port } = client[kUrl];
-      if (hostname[0] === "[") {
-        const idx = hostname.indexOf("]");
-        assert(idx !== -1);
-        const ip = hostname.substring(1, idx);
-        assert(net.isIP(ip));
-        hostname = ip;
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.factory = factory;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.context = null;
+        this.trailers = null;
+        this.body = body;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError || false;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
+        }
+        addSignal(this, signal);
       }
-      client[kConnecting] = true;
-      if (channels.beforeConnect.hasSubscribers) {
-        channels.beforeConnect.publish({
-          connectParams: {
-            host,
-            hostname,
-            protocol,
-            port,
-            servername: client[kServerName],
-            localAddress: client[kLocalAddress]
-          },
-          connector: client[kConnector]
-        });
+      onConnect(abort, context3) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
+        }
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context3;
       }
-      try {
-        const socket = await new Promise((resolve9, reject) => {
-          client[kConnector]({
-            host,
-            hostname,
-            protocol,
-            port,
-            servername: client[kServerName],
-            localAddress: client[kLocalAddress]
-          }, (err, socket2) => {
-            if (err) {
-              reject(err);
-            } else {
-              resolve9(socket2);
-            }
-          });
-        });
-        if (client.destroyed) {
-          util.destroy(socket.on("error", () => {
-          }), new ClientDestroyedError());
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { factory, opaque, context: context3, callback, responseHeaders } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
+          }
           return;
         }
-        client[kConnecting] = false;
-        assert(socket);
-        const isH2 = socket.alpnProtocol === "h2";
-        if (isH2) {
-          if (!h2ExperimentalWarned) {
-            h2ExperimentalWarned = true;
-            process.emitWarning("H2 support is experimental, expect them to change at any time.", {
-              code: "UNDICI-H2"
-            });
+        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;
           }
-          const session = http2.connect(client[kUrl], {
-            createConnection: () => socket,
-            peerMaxConcurrentStreams: client[kHTTP2SessionState].maxConcurrentStreams
+          res = this.runInAsyncScope(factory, null, {
+            statusCode,
+            headers,
+            opaque,
+            context: context3
           });
-          client[kHTTPConnVersion] = "h2";
-          session[kClient] = client;
-          session[kSocket] = socket;
-          session.on("error", onHttp2SessionError);
-          session.on("frameError", onHttp2FrameError);
-          session.on("end", onHttp2SessionEnd);
-          session.on("goaway", onHTTP2GoAway);
-          session.on("close", onSocketClose);
-          session.unref();
-          client[kHTTP2Session] = session;
-          socket[kHTTP2Session] = session;
-        } else {
-          if (!llhttpInstance) {
-            llhttpInstance = await llhttpPromise;
-            llhttpPromise = null;
+          if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") {
+            throw new InvalidReturnValueError("expected Writable");
           }
-          socket[kNoRef] = false;
-          socket[kWriting] = false;
-          socket[kReset] = false;
-          socket[kBlocking] = false;
-          socket[kParser] = new Parser(client, socket, llhttpInstance);
-        }
-        socket[kCounter] = 0;
-        socket[kMaxRequests] = client[kMaxRequests];
-        socket[kClient] = client;
-        socket[kError] = null;
-        socket.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose);
-        client[kSocket] = socket;
-        if (channels.connected.hasSubscribers) {
-          channels.connected.publish({
-            connectParams: {
-              host,
-              hostname,
-              protocol,
-              port,
-              servername: client[kServerName],
-              localAddress: client[kLocalAddress]
-            },
-            connector: client[kConnector],
-            socket
+          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();
+            }
           });
         }
-        client.emit("connect", client[kUrl], [client]);
-      } catch (err) {
-        if (client.destroyed) {
+        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;
         }
-        client[kConnecting] = false;
-        if (channels.connectError.hasSubscribers) {
-          channels.connectError.publish({
-            connectParams: {
-              host,
-              hostname,
-              protocol,
-              port,
-              servername: client[kServerName],
-              localAddress: client[kLocalAddress]
-            },
-            connector: client[kConnector],
-            error: err
+        this.trailers = util.parseHeaders(trailers);
+        res.end();
+      }
+      onError(err) {
+        const { res, callback, opaque, body } = this;
+        removeSignal(this);
+        this.factory = null;
+        if (res) {
+          this.res = null;
+          util.destroy(res, err);
+        } else if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
           });
         }
-        if (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]++];
-            errorRequest2(client, request2, err);
-          }
-        } else {
-          onError(client, err);
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
         }
-        client.emit("connectionError", client[kUrl], [client], err);
       }
-      resume(client);
-    }
-    function emitDrain(client) {
-      client[kNeedDrain] = 0;
-      client.emit("drain", client[kUrl], [client]);
-    }
-    function resume(client, sync) {
-      if (client[kResuming] === 2) {
-        return;
+    };
+    function stream2(opts, factory, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve9, reject) => {
+          stream2.call(this, opts, factory, (err, data) => {
+            return err ? reject(err) : resolve9(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 = stream2;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js
+var require_api_pipeline2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
+    "use strict";
+    var {
+      Readable: Readable2,
+      Duplex,
+      PassThrough
+    } = require("node:stream");
+    var {
+      InvalidArgumentError,
+      InvalidReturnValueError,
+      RequestAbortedError
+    } = require_errors2();
+    var util = require_util9();
+    var { AsyncResource } = require("node:async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var assert = require("node:assert");
+    var kResume = /* @__PURE__ */ Symbol("resume");
+    var PipelineRequest = class extends Readable2 {
+      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 Readable2 {
+      constructor(resume) {
+        super({ autoDestroy: true });
+        this[kResume] = resume;
+      }
+      _read() {
+        this[kResume]();
       }
-      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;
+      _destroy(err, callback) {
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
+        }
+        callback(err);
       }
-    }
-    function _resume(client, sync) {
-      while (true) {
-        if (client.destroyed) {
-          assert(client[kPending] === 0);
-          return;
+    };
+    var PipelineHandler = class extends AsyncResource {
+      constructor(opts, handler2) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        if (client[kClosedResolve] && !client[kSize]) {
-          client[kClosedResolve]();
-          client[kClosedResolve] = null;
-          return;
+        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");
         }
-        const socket = client[kSocket];
-        if (socket && !socket.destroyed && socket.alpnProtocol !== "h2") {
-          if (client[kSize] === 0) {
-            if (!socket[kNoRef] && socket.unref) {
-              socket.unref();
-              socket[kNoRef] = true;
+        if (onInfo && typeof onInfo !== "function") {
+          throw new InvalidArgumentError("invalid onInfo callback");
+        }
+        super("UNDICI_PIPELINE");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.handler = handler2;
+        this.abort = null;
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.req = new PipelineRequest().on("error", util.nop);
+        this.ret = new Duplex({
+          readableObjectMode: opts.objectMode,
+          autoDestroy: true,
+          read: () => {
+            const { body } = this;
+            if (body?.resume) {
+              body.resume();
             }
-          } else if (socket[kNoRef] && socket.ref) {
-            socket.ref();
-            socket[kNoRef] = false;
-          }
-          if (client[kSize] === 0) {
-            if (socket[kParser].timeoutType !== TIMEOUT_IDLE) {
-              socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE);
+          },
+          write: (chunk, encoding, callback) => {
+            const { req } = this;
+            if (req.push(chunk, encoding) || req._readableState.destroyed) {
+              callback();
+            } else {
+              req[kResume] = callback;
+            }
+          },
+          destroy: (err, callback) => {
+            const { body, req, res, ret, abort } = this;
+            if (!err && !ret._readableState.endEmitted) {
+              err = new RequestAbortedError();
             }
-          } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
-            if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
-              const request3 = client[kQueue][client[kRunningIdx]];
-              const headersTimeout = request3.headersTimeout != null ? request3.headersTimeout : client[kHeadersTimeout];
-              socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
+            if (abort && err) {
+              abort();
             }
+            util.destroy(body, err);
+            util.destroy(req, err);
+            util.destroy(res, err);
+            removeSignal(this);
+            callback(err);
           }
+        }).on("prefinish", () => {
+          const { req } = this;
+          req.push(null);
+        });
+        this.res = null;
+        addSignal(this, signal);
+      }
+      onConnect(abort, context3) {
+        const { ret, res } = this;
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
-        if (client[kBusy]) {
-          client[kNeedDrain] = 2;
-        } else if (client[kNeedDrain] === 2) {
-          if (sync) {
-            client[kNeedDrain] = 1;
-            process.nextTick(emitDrain, client);
-          } else {
-            emitDrain(client);
+        assert(!res, "pipeline cannot be retried");
+        assert(!ret.destroyed);
+        this.abort = abort;
+        this.context = context3;
+      }
+      onHeaders(statusCode, rawHeaders, resume) {
+        const { opaque, handler: handler2, context: context3 } = this;
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+            this.onInfo({ statusCode, headers });
           }
-          continue;
-        }
-        if (client[kPending] === 0) {
           return;
         }
-        if (client[kRunning] >= (client[kPipelining] || 1)) {
-          return;
+        this.res = new PipelineResponse(resume);
+        let body;
+        try {
+          this.handler = null;
+          const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+          body = this.runInAsyncScope(handler2, null, {
+            statusCode,
+            headers,
+            opaque,
+            body: this.res,
+            context: context3
+          });
+        } catch (err) {
+          this.res.on("error", util.nop);
+          throw err;
         }
-        const request2 = client[kQueue][client[kPendingIdx]];
-        if (client[kUrl].protocol === "https:" && client[kServerName] !== request2.servername) {
-          if (client[kRunning] > 0) {
-            return;
+        if (!body || typeof body.on !== "function") {
+          throw new InvalidReturnValueError("expected Readable");
+        }
+        body.on("data", (chunk) => {
+          const { ret, body: body2 } = this;
+          if (!ret.push(chunk) && body2.pause) {
+            body2.pause();
           }
-          client[kServerName] = request2.servername;
-          if (socket && socket.servername !== request2.servername) {
-            util.destroy(socket, new InformationalError("servername changed"));
-            return;
+        }).on("error", (err) => {
+          const { ret } = this;
+          util.destroy(ret, err);
+        }).on("end", () => {
+          const { ret } = this;
+          ret.push(null);
+        }).on("close", () => {
+          const { ret } = this;
+          if (!ret._readableState.ended) {
+            util.destroy(ret, new RequestAbortedError());
           }
+        });
+        this.body = body;
+      }
+      onData(chunk) {
+        const { res } = this;
+        return res.push(chunk);
+      }
+      onComplete(trailers) {
+        const { res } = this;
+        res.push(null);
+      }
+      onError(err) {
+        const { ret } = this;
+        this.handler = null;
+        util.destroy(ret, err);
+      }
+    };
+    function pipeline(opts, handler2) {
+      try {
+        const pipelineHandler = new PipelineHandler(opts, handler2);
+        this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler);
+        return pipelineHandler.ret;
+      } catch (err) {
+        return new PassThrough().destroy(err);
+      }
+    }
+    module2.exports = pipeline;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js
+var require_api_upgrade2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
+    "use strict";
+    var { InvalidArgumentError, SocketError } = require_errors2();
+    var { AsyncResource } = require("node:async_hooks");
+    var util = require_util9();
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var assert = require("node:assert");
+    var UpgradeHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        if (client[kConnecting]) {
-          return;
-        }
-        if (!socket && !client[kHTTP2Session]) {
-          connect(client);
-          return;
-        }
-        if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) {
-          return;
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
         }
-        if (client[kRunning] > 0 && !request2.idempotent) {
-          return;
+        const { signal, opaque, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
         }
-        if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
+        super("UNDICI_UPGRADE");
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.callback = callback;
+        this.abort = null;
+        this.context = null;
+        addSignal(this, signal);
+      }
+      onConnect(abort, context3) {
+        if (this.reason) {
+          abort(this.reason);
           return;
         }
-        if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body))) {
-          return;
+        assert(this.callback);
+        this.abort = abort;
+        this.context = null;
+      }
+      onHeaders() {
+        throw new SocketError("bad upgrade", null);
+      }
+      onUpgrade(statusCode, rawHeaders, socket) {
+        assert(statusCode === 101);
+        const { callback, opaque, context: context3 } = this;
+        removeSignal(this);
+        this.callback = null;
+        const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        this.runInAsyncScope(callback, null, null, {
+          headers,
+          socket,
+          opaque,
+          context: context3
+        });
+      }
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        if (!request2.aborted && write(client, request2)) {
-          client[kPendingIdx]++;
-        } else {
-          client[kQueue].splice(client[kPendingIdx], 1);
+      }
+    };
+    function upgrade(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve9, reject) => {
+          upgrade.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve9(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 }));
       }
     }
-    function shouldSendContentLength(method) {
-      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
-    }
-    function write(client, request2) {
-      if (client[kHTTPConnVersion] === "h2") {
-        writeH2(client, client[kHTTP2Session], request2);
-        return;
-      }
-      const { body, method, path: path16, host, upgrade, headers, blocking, reset } = request2;
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
-      if (body && typeof body.read === "function") {
-        body.read(0);
+    module2.exports = upgrade;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-connect.js
+var require_api_connect2 = __commonJS({
+  "node_modules/@actions/github/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_errors2();
+    var util = require_util9();
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var ConnectHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        const { signal, opaque, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        }
+        super("UNDICI_CONNECT");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.callback = callback;
+        this.abort = null;
+        addSignal(this, signal);
       }
-      const bodyLength = util.bodyLength(body);
-      let contentLength = bodyLength;
-      if (contentLength === null) {
-        contentLength = request2.contentLength;
+      onConnect(abort, context3) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
+        }
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context3;
       }
-      if (contentLength === 0 && !expectsPayload) {
-        contentLength = null;
+      onHeaders() {
+        throw new SocketError("bad connect", null);
       }
-      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
-        if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
-          return false;
+      onUpgrade(statusCode, rawHeaders, socket) {
+        const { callback, opaque, context: context3 } = this;
+        removeSignal(this);
+        this.callback = null;
+        let headers = rawHeaders;
+        if (headers != null) {
+          headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
         }
-        process.emitWarning(new RequestContentLengthMismatchError());
-      }
-      const socket = client[kSocket];
-      try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
-            return;
-          }
-          errorRequest2(client, request2, err || new RequestAbortedError());
-          util.destroy(socket, new InformationalError("aborted"));
+        this.runInAsyncScope(callback, null, null, {
+          statusCode,
+          headers,
+          socket,
+          opaque,
+          context: context3
         });
-      } catch (err) {
-        errorRequest2(client, request2, err);
-      }
-      if (request2.aborted) {
-        return false;
       }
-      if (method === "HEAD") {
-        socket[kReset] = true;
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
+        }
       }
-      if (upgrade || method === "CONNECT") {
-        socket[kReset] = true;
+    };
+    function connect(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve9, reject) => {
+          connect.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve9(data);
+          });
+        });
       }
-      if (reset != null) {
-        socket[kReset] = reset;
+      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 }));
       }
-      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
-        socket[kReset] = true;
+    }
+    module2.exports = connect;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/index.js
+var require_api2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/index.js"(exports2, module2) {
+    "use strict";
+    module2.exports.request = require_api_request2();
+    module2.exports.stream = require_api_stream2();
+    module2.exports.pipeline = require_api_pipeline2();
+    module2.exports.upgrade = require_api_upgrade2();
+    module2.exports.connect = require_api_connect2();
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js
+var require_mock_errors2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
+    "use strict";
+    var { UndiciError } = require_errors2();
+    var kMockNotMatchedError = /* @__PURE__ */ 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";
       }
-      if (blocking) {
-        socket[kBlocking] = true;
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kMockNotMatchedError] === true;
       }
-      let header = `${method} ${path16} HTTP/1.1\r
-`;
-      if (typeof host === "string") {
-        header += `host: ${host}\r
-`;
-      } else {
-        header += client[kHostHeader];
+      [kMockNotMatchedError] = true;
+    };
+    module2.exports = {
+      MockNotMatchedError
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js
+var require_mock_symbols2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kAgent: /* @__PURE__ */ Symbol("agent"),
+      kOptions: /* @__PURE__ */ Symbol("options"),
+      kFactory: /* @__PURE__ */ Symbol("factory"),
+      kDispatches: /* @__PURE__ */ Symbol("dispatches"),
+      kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
+      kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
+      kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
+      kContentLength: /* @__PURE__ */ Symbol("content length"),
+      kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
+      kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
+      kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
+      kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
+      kClose: /* @__PURE__ */ Symbol("close"),
+      kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
+      kOrigin: /* @__PURE__ */ Symbol("origin"),
+      kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
+      kNetConnect: /* @__PURE__ */ Symbol("net connect"),
+      kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
+      kConnected: /* @__PURE__ */ Symbol("connected")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js
+var require_mock_utils2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
+    "use strict";
+    var { MockNotMatchedError } = require_mock_errors2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kOriginalDispatch,
+      kOrigin,
+      kGetNetConnect
+    } = require_mock_symbols2();
+    var { buildURL } = require_util9();
+    var { STATUS_CODES } = require("node:http");
+    var {
+      types: {
+        isPromise
       }
-      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";
+    } = require("node:util");
+    function matchValue(match, value) {
+      if (typeof match === "string") {
+        return match === value;
       }
-      if (headers) {
-        header += headers;
+      if (match instanceof RegExp) {
+        return match.test(value);
       }
-      if (channels.sendHeaders.hasSubscribers) {
-        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      if (typeof match === "function") {
+        return match(value) === true;
       }
-      if (!body || bodyLength === 0) {
-        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");
-        }
-        request2.onRequestSent();
-      } else if (util.isBuffer(body)) {
-        assert(contentLength === body.byteLength, "buffer body must have content length");
-        socket.cork();
-        socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-        socket.write(body);
-        socket.uncork();
-        request2.onBodySent(body);
-        request2.onRequestSent();
-        if (!expectsPayload) {
-          socket[kReset] = true;
-        }
-      } else if (util.isBlobLike(body)) {
-        if (typeof body.stream === "function") {
-          writeIterable({ body: body.stream(), client, request: request2, socket, contentLength, header, expectsPayload });
-        } else {
-          writeBlob({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+      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];
+          }
         }
-      } else if (util.isStream(body)) {
-        writeStream({ body, client, request: request2, socket, contentLength, header, expectsPayload });
-      } else if (util.isIterable(body)) {
-        writeIterable({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+        return void 0;
+      } else if (typeof headers.get === "function") {
+        return headers.get(key);
       } else {
-        assert(false);
+        return lowerCaseEntries(headers)[key.toLocaleLowerCase()];
       }
-      return true;
     }
-    function writeH2(client, session, request2) {
-      const { body, method, path: path16, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
-      let headers;
-      if (typeof reqHeaders === "string") headers = Request[kHTTP2CopyHeaders](reqHeaders.trim());
-      else headers = reqHeaders;
-      if (upgrade) {
-        errorRequest2(client, request2, new Error("Upgrade not supported for H2"));
-        return false;
+    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]]);
       }
-      try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
-            return;
-          }
-          errorRequest2(client, request2, err || new RequestAbortedError());
-        });
-      } catch (err) {
-        errorRequest2(client, request2, err);
+      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 (request2.aborted) {
+      if (typeof mockDispatch2.headers === "undefined") {
+        return true;
+      }
+      if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") {
         return false;
       }
-      let stream2;
-      const h2State = client[kHTTP2SessionState];
-      headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost];
-      headers[HTTP2_HEADER_METHOD] = method;
-      if (method === "CONNECT") {
-        session.ref();
-        stream2 = session.request(headers, { endStream: false, signal });
-        if (stream2.id && !stream2.pending) {
-          request2.onUpgrade(null, null, stream2);
-          ++h2State.openStreams;
-        } else {
-          stream2.once("ready", () => {
-            request2.onUpgrade(null, null, stream2);
-            ++h2State.openStreams;
-          });
+      for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) {
+        const headerValue = getHeaderByName(headers, matchHeaderName);
+        if (!matchValue(matchHeaderValue, headerValue)) {
+          return false;
         }
-        stream2.once("close", () => {
-          h2State.openStreams -= 1;
-          if (h2State.openStreams === 0) session.unref();
-        });
-        return true;
       }
-      headers[HTTP2_HEADER_PATH] = path16;
-      headers[HTTP2_HEADER_SCHEME] = "https";
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
-      if (body && typeof body.read === "function") {
-        body.read(0);
+      return true;
+    }
+    function safeUrl(path16) {
+      if (typeof path16 !== "string") {
+        return path16;
       }
-      let contentLength = util.bodyLength(body);
-      if (contentLength == null) {
-        contentLength = request2.contentLength;
+      const pathSegments = path16.split("?");
+      if (pathSegments.length !== 2) {
+        return path16;
       }
-      if (contentLength === 0 || !expectsPayload) {
-        contentLength = null;
+      const qp = new URLSearchParams(pathSegments.pop());
+      qp.sort();
+      return [...pathSegments, qp.toString()].join("?");
+    }
+    function matchKey(mockDispatch2, { path: path16, method, body, headers }) {
+      const pathMatch = matchValue(mockDispatch2.path, path16);
+      const methodMatch = matchValue(mockDispatch2.method, method);
+      const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
+      const headersMatch = matchHeaders(mockDispatch2, headers);
+      return pathMatch && methodMatch && bodyMatch && headersMatch;
+    }
+    function getResponseData2(data) {
+      if (Buffer.isBuffer(data)) {
+        return data;
+      } else if (data instanceof Uint8Array) {
+        return data;
+      } else if (data instanceof ArrayBuffer) {
+        return data;
+      } else if (typeof data === "object") {
+        return JSON.stringify(data);
+      } else {
+        return data.toString();
       }
-      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
-        if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
-          return false;
-        }
-        process.emitWarning(new RequestContentLengthMismatchError());
+    }
+    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: path16 }) => matchValue(safeUrl(path16), resolvedPath));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
       }
-      if (contentLength != null) {
-        assert(body, "no body must not have content length");
-        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
+      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}'`);
       }
-      session.ref();
-      const shouldEndStream = method === "GET" || method === "HEAD";
-      if (expectContinue) {
-        headers[HTTP2_HEADER_EXPECT] = "100-continue";
-        stream2 = session.request(headers, { endStream: shouldEndStream, signal });
-        stream2.once("continue", writeBodyH2);
-      } else {
-        stream2 = session.request(headers, {
-          endStream: shouldEndStream,
-          signal
-        });
-        writeBodyH2();
+      matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}' on path '${resolvedPath}'`);
       }
-      ++h2State.openStreams;
-      stream2.once("response", (headers2) => {
-        const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
-        if (request2.onHeaders(Number(statusCode), realHeaders, stream2.resume.bind(stream2), "") === false) {
-          stream2.pause();
-        }
-      });
-      stream2.once("end", () => {
-        request2.onComplete([]);
-      });
-      stream2.on("data", (chunk) => {
-        if (request2.onData(chunk) === false) {
-          stream2.pause();
-        }
-      });
-      stream2.once("close", () => {
-        h2State.openStreams -= 1;
-        if (h2State.openStreams === 0) {
-          session.unref();
-        }
-      });
-      stream2.once("error", function(err) {
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream2, err);
-        }
-      });
-      stream2.once("frameError", (type2, code) => {
-        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-        errorRequest2(client, request2, err);
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream2, err);
+      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);
       });
-      return true;
-      function writeBodyH2() {
-        if (!body) {
-          request2.onRequestSent();
-        } else if (util.isBuffer(body)) {
-          assert(contentLength === body.byteLength, "buffer body must have content length");
-          stream2.cork();
-          stream2.write(body);
-          stream2.uncork();
-          stream2.end();
-          request2.onBodySent(body);
-          request2.onRequestSent();
-        } else if (util.isBlobLike(body)) {
-          if (typeof body.stream === "function") {
-            writeIterable({
-              client,
-              request: request2,
-              contentLength,
-              h2stream: stream2,
-              expectsPayload,
-              body: body.stream(),
-              socket: client[kSocket],
-              header: ""
-            });
-          } else {
-            writeBlob({
-              body,
-              client,
-              request: request2,
-              contentLength,
-              expectsPayload,
-              h2stream: stream2,
-              header: "",
-              socket: client[kSocket]
-            });
+      if (index !== -1) {
+        mockDispatches.splice(index, 1);
+      }
+    }
+    function buildKey(opts) {
+      const { path: path16, method, body, headers, query } = opts;
+      return {
+        path: path16,
+        method,
+        body,
+        headers,
+        query
+      };
+    }
+    function generateKeyValues(data) {
+      const keys = Object.keys(data);
+      const result = [];
+      for (let i = 0; i < keys.length; ++i) {
+        const key = keys[i];
+        const value = data[key];
+        const name = Buffer.from(`${key}`);
+        if (Array.isArray(value)) {
+          for (let j = 0; j < value.length; ++j) {
+            result.push(name, Buffer.from(`${value[j]}`));
           }
-        } else if (util.isStream(body)) {
-          writeStream({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            socket: client[kSocket],
-            h2stream: stream2,
-            header: ""
-          });
-        } else if (util.isIterable(body)) {
-          writeIterable({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            header: "",
-            h2stream: stream2,
-            socket: client[kSocket]
-          });
         } else {
-          assert(false);
+          result.push(name, Buffer.from(`${value}`));
         }
       }
+      return result;
     }
-    function writeStream({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
-      if (client[kHTTPConnVersion] === "h2") {
-        let onPipeData = function(chunk) {
-          request2.onBodySent(chunk);
-        };
-        const pipe = pipeline(
-          body,
-          h2stream,
-          (err) => {
-            if (err) {
-              util.destroy(body, err);
-              util.destroy(h2stream, err);
-            } else {
-              request2.onRequestSent();
-            }
-          }
-        );
-        pipe.on("data", onPipeData);
-        pipe.once("end", () => {
-          pipe.removeListener("data", onPipeData);
-          util.destroy(pipe);
-        });
-        return;
+    function getStatusText(statusCode) {
+      return STATUS_CODES[statusCode] || "unknown";
+    }
+    async function getResponse(body) {
+      const buffers = [];
+      for await (const data of body) {
+        buffers.push(data);
       }
-      let finished = false;
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
-      const onData = function(chunk) {
-        if (finished) {
-          return;
-        }
-        try {
-          if (!writer.write(chunk) && this.pause) {
-            this.pause();
-          }
-        } catch (err) {
-          util.destroy(this, err);
-        }
-      };
-      const onDrain = function() {
-        if (finished) {
-          return;
-        }
-        if (body.resume) {
-          body.resume();
-        }
-      };
-      const onAbort = function() {
-        if (finished) {
-          return;
-        }
-        const err = new RequestAbortedError();
-        queueMicrotask(() => onFinished(err));
-      };
-      const onFinished = function(err) {
-        if (finished) {
+      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: error3 }, delay: delay2, persist } = mockDispatch2;
+      const { timesInvoked, times } = mockDispatch2;
+      mockDispatch2.consumed = !persist && timesInvoked >= times;
+      mockDispatch2.pending = timesInvoked < times;
+      if (error3 !== null) {
+        deleteMockDispatch(this[kDispatches], key);
+        handler2.onError(error3);
+        return true;
+      }
+      if (typeof delay2 === "number" && delay2 > 0) {
+        setTimeout(() => {
+          handleReply(this[kDispatches]);
+        }, delay2);
+      } else {
+        handleReply(this[kDispatches]);
+      }
+      function handleReply(mockDispatches, _data = data) {
+        const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
+        const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
+        if (isPromise(body)) {
+          body.then((newData) => handleReply(mockDispatches, newData));
           return;
         }
-        finished = true;
-        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
-        socket.off("drain", onDrain).off("error", onFinished);
-        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("error", onFinished).removeListener("close", onAbort);
-        if (!err) {
+        const responseData = getResponseData2(body);
+        const responseHeaders = generateKeyValues(headers);
+        const responseTrailers = generateKeyValues(trailers);
+        handler2.onConnect?.((err) => handler2.onError(err), null);
+        handler2.onHeaders?.(statusCode, responseHeaders, resume, getStatusText(statusCode));
+        handler2.onData?.(Buffer.from(responseData));
+        handler2.onComplete?.(responseTrailers);
+        deleteMockDispatch(mockDispatches, key);
+      }
+      function resume() {
+      }
+      return true;
+    }
+    function buildMockDispatch() {
+      const agent = this[kMockAgent];
+      const origin = this[kOrigin];
+      const originalDispatch = this[kOriginalDispatch];
+      return function dispatch(opts, handler2) {
+        if (agent.isMockActive) {
           try {
-            writer.end();
-          } catch (er) {
-            err = er;
+            mockDispatch.call(this, opts, handler2);
+          } catch (error3) {
+            if (error3 instanceof MockNotMatchedError) {
+              const netConnect = agent[kGetNetConnect]();
+              if (netConnect === false) {
+                throw new MockNotMatchedError(`${error3.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(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
+              }
+            } else {
+              throw error3;
+            }
           }
-        }
-        writer.destroy(err);
-        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
-          util.destroy(body, err);
         } else {
-          util.destroy(body);
+          originalDispatch.call(this, opts, handler2);
         }
       };
-      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onAbort);
-      if (body.resume) {
-        body.resume();
-      }
-      socket.on("drain", onDrain).on("error", onFinished);
     }
-    async function writeBlob({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength === body.size, "blob body must have content length");
-      const isH2 = client[kHTTPConnVersion] === "h2";
-      try {
-        if (contentLength != null && contentLength !== body.size) {
-          throw new RequestContentLengthMismatchError();
-        }
-        const buffer = Buffer.from(await body.arrayBuffer());
-        if (isH2) {
-          h2stream.cork();
-          h2stream.write(buffer);
-          h2stream.uncork();
-        } else {
-          socket.cork();
-          socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-          socket.write(buffer);
-          socket.uncork();
-        }
-        request2.onBodySent(buffer);
-        request2.onRequestSent();
-        if (!expectsPayload) {
-          socket[kReset] = true;
-        }
-        resume(client);
-      } catch (err) {
-        util.destroy(isH2 ? h2stream : socket, err);
+    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;
     }
-    async function writeIterable({ h2stream, body, client, request: 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();
-        }
+    function buildMockOptions(opts) {
+      if (opts) {
+        const { agent, ...mockOptions } = opts;
+        return mockOptions;
       }
-      const waitForDrain = () => new Promise((resolve9, reject) => {
-        assert(callback === null);
-        if (socket[kError]) {
-          reject(socket[kError]);
-        } else {
-          callback = resolve9;
-        }
-      });
-      if (client[kHTTPConnVersion] === "h2") {
-        h2stream.on("close", onDrain).on("drain", onDrain);
-        try {
-          for await (const chunk of body) {
-            if (socket[kError]) {
-              throw socket[kError];
-            }
-            const res = h2stream.write(chunk);
-            request2.onBodySent(chunk);
-            if (!res) {
-              await waitForDrain();
-            }
-          }
-        } catch (err) {
-          h2stream.destroy(err);
-        } finally {
-          request2.onRequestSent();
-          h2stream.end();
-          h2stream.off("close", onDrain).off("drain", onDrain);
-        }
-        return;
+    }
+    module2.exports = {
+      getResponseData: getResponseData2,
+      getMockDispatch,
+      addMockDispatch,
+      deleteMockDispatch,
+      buildKey,
+      generateKeyValues,
+      matchValue,
+      getResponse,
+      getStatusText,
+      mockDispatch,
+      buildMockDispatch,
+      checkNetConnect,
+      buildMockOptions,
+      getHeaderByName,
+      buildHeadersFromArray
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js
+var require_mock_interceptor2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
+    "use strict";
+    var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kDispatchKey,
+      kDefaultHeaders,
+      kDefaultTrailers,
+      kContentLength,
+      kMockDispatch
+    } = require_mock_symbols2();
+    var { InvalidArgumentError } = require_errors2();
+    var { buildURL } = require_util9();
+    var MockScope = class {
+      constructor(mockDispatch) {
+        this[kMockDispatch] = mockDispatch;
       }
-      socket.on("close", onDrain).on("drain", onDrain);
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
-      try {
-        for await (const chunk of body) {
-          if (socket[kError]) {
-            throw socket[kError];
-          }
-          if (!writer.write(chunk)) {
-            await waitForDrain();
-          }
+      /**
+       * 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");
         }
-        writer.end();
-      } catch (err) {
-        writer.destroy(err);
-      } finally {
-        socket.off("close", onDrain).off("drain", onDrain);
+        this[kMockDispatch].delay = waitInMs;
+        return this;
       }
-    }
-    var AsyncWriter = class {
-      constructor({ 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;
-        socket[kWriting] = true;
+      /**
+       * For a defined reply, never mark as consumed.
+       */
+      persist() {
+        this[kMockDispatch].persist = true;
+        return this;
       }
-      write(chunk) {
-        const { socket, request: request2, contentLength, client, bytesWritten, expectsPayload, header } = this;
-        if (socket[kError]) {
-          throw socket[kError];
+      /**
+       * Allow one to define a reply for a set amount of matching requests.
+       */
+      times(repeatTimes) {
+        if (typeof repeatTimes !== "number" || !Number.isInteger(repeatTimes) || repeatTimes <= 0) {
+          throw new InvalidArgumentError("repeatTimes must be a valid integer > 0");
         }
-        if (socket.destroyed) {
-          return false;
+        this[kMockDispatch].times = repeatTimes;
+        return this;
+      }
+    };
+    var MockInterceptor = class {
+      constructor(opts, mockDispatches) {
+        if (typeof opts !== "object") {
+          throw new InvalidArgumentError("opts must be an object");
         }
-        const len = Buffer.byteLength(chunk);
-        if (!len) {
-          return true;
+        if (typeof opts.path === "undefined") {
+          throw new InvalidArgumentError("opts.path must be defined");
         }
-        if (contentLength !== null && bytesWritten + len > contentLength) {
-          if (client[kStrictContentLength]) {
-            throw new RequestContentLengthMismatchError();
-          }
-          process.emitWarning(new RequestContentLengthMismatchError());
+        if (typeof opts.method === "undefined") {
+          opts.method = "GET";
         }
-        socket.cork();
-        if (bytesWritten === 0) {
-          if (!expectsPayload) {
-            socket[kReset] = true;
-          }
-          if (contentLength === null) {
-            socket.write(`${header}transfer-encoding: chunked\r
-`, "latin1");
+        if (typeof opts.path === "string") {
+          if (opts.query) {
+            opts.path = buildURL(opts.path, opts.query);
           } else {
-            socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
+            const parsedURL = new URL(opts.path, "data://");
+            opts.path = parsedURL.pathname + parsedURL.search;
           }
         }
-        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();
-            }
-          }
+        if (typeof opts.method === "string") {
+          opts.method = opts.method.toUpperCase();
         }
-        return ret;
+        this[kDispatchKey] = buildKey(opts);
+        this[kDispatches] = mockDispatches;
+        this[kDefaultHeaders] = {};
+        this[kDefaultTrailers] = {};
+        this[kContentLength] = false;
       }
-      end() {
-        const { socket, contentLength, client, bytesWritten, expectsPayload, header, request: request2 } = this;
-        request2.onRequestSent();
-        socket[kWriting] = false;
-        if (socket[kError]) {
-          throw socket[kError];
+      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 (socket.destroyed) {
-          return;
+        if (typeof replyParameters.responseOptions !== "object" || replyParameters.responseOptions === null) {
+          throw new InvalidArgumentError("responseOptions must be an object");
         }
-        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");
+      }
+      /**
+       * 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);
         }
-        if (contentLength !== null && bytesWritten !== contentLength) {
-          if (client[kStrictContentLength]) {
-            throw new RequestContentLengthMismatchError();
-          } else {
-            process.emitWarning(new RequestContentLengthMismatchError());
-          }
+        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(error3) {
+        if (typeof error3 === "undefined") {
+          throw new InvalidArgumentError("error must be defined");
         }
-        if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
-          if (socket[kParser].timeout.refresh) {
-            socket[kParser].timeout.refresh();
-          }
+        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error: error3 });
+        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");
         }
-        resume(client);
+        this[kDefaultHeaders] = headers;
+        return this;
       }
-      destroy(err) {
-        const { socket, client } = this;
-        socket[kWriting] = false;
-        if (err) {
-          assert(client[kRunning] <= 1, "pipeline should only contain this request");
-          util.destroy(socket, err);
+      /**
+       * 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;
       }
-    };
-    function errorRequest2(client, request2, err) {
-      try {
-        request2.onError(err);
-        assert(request2.aborted);
-      } catch (err2) {
-        client.emit("error", err2);
+      /**
+       * Set reply content length header for replies on the interceptor
+       */
+      replyContentLength() {
+        this[kContentLength] = true;
+        return this;
       }
-    }
-    module2.exports = Client;
+    };
+    module2.exports.MockInterceptor = MockInterceptor;
+    module2.exports.MockScope = MockScope;
   }
 });
 
-// node_modules/undici/lib/node/fixed-queue.js
-var require_fixed_queue2 = __commonJS({
-  "node_modules/undici/lib/node/fixed-queue.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js
+var require_mock_client2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.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;
+    var { promisify } = require("node:util");
+    var Client = require_client2();
+    var { buildMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols2();
+    var { MockInterceptor } = require_mock_interceptor2();
+    var Symbols = require_symbols6();
+    var { InvalidArgumentError } = require_errors2();
+    var MockClient = class extends Client {
+      constructor(origin, opts) {
+        super(origin, opts);
+        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
+        }
+        this[kMockAgent] = opts.agent;
+        this[kOrigin] = origin;
+        this[kDispatches] = [];
+        this[kConnected] = 1;
+        this[kOriginalDispatch] = this.dispatch;
+        this[kOriginalClose] = this.close.bind(this);
+        this.dispatch = buildMockDispatch.call(this);
+        this.close = this[kClose];
       }
-      isFull() {
-        return (this.top + 1 & kMask) === this.bottom;
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
-      push(data) {
-        this.list[this.top] = data;
-        this.top = this.top + 1 & kMask;
+      /**
+       * Sets up the base interceptor for mocking replies from undici.
+       */
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
       }
-      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;
+      async [kClose]() {
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
     };
-    module2.exports = class FixedQueue {
-      constructor() {
-        this.head = this.tail = new FixedCircularBuffer();
+    module2.exports = MockClient;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js
+var require_mock_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
+    "use strict";
+    var { promisify } = require("node:util");
+    var Pool = require_pool2();
+    var { buildMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols2();
+    var { MockInterceptor } = require_mock_interceptor2();
+    var Symbols = require_symbols6();
+    var { InvalidArgumentError } = require_errors2();
+    var MockPool = class extends Pool {
+      constructor(origin, opts) {
+        super(origin, opts);
+        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
+        }
+        this[kMockAgent] = opts.agent;
+        this[kOrigin] = origin;
+        this[kDispatches] = [];
+        this[kConnected] = 1;
+        this[kOriginalDispatch] = this.dispatch;
+        this[kOriginalClose] = this.close.bind(this);
+        this.dispatch = buildMockDispatch.call(this);
+        this.close = this[kClose];
       }
-      isEmpty() {
-        return this.head.isEmpty();
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
-      push(data) {
-        if (this.head.isFull()) {
-          this.head = this.head.next = new FixedCircularBuffer();
-        }
-        this.head.push(data);
+      /**
+       * Sets up the base interceptor for mocking replies from undici.
+       */
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
       }
-      shift() {
-        const tail = this.tail;
-        const next = tail.shift();
-        if (tail.isEmpty() && tail.next !== null) {
-          this.tail = tail.next;
-        }
-        return next;
+      async [kClose]() {
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
     };
+    module2.exports = MockPool;
   }
 });
 
-// node_modules/undici/lib/pool-stats.js
-var require_pool_stats2 = __commonJS({
-  "node_modules/undici/lib/pool-stats.js"(exports2, module2) {
-    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
-    var kPool = /* @__PURE__ */ 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];
+// node_modules/@actions/github/node_modules/undici/lib/mock/pluralizer.js
+var require_pluralizer2 = __commonJS({
+  "node_modules/@actions/github/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;
       }
-      get size() {
-        return this[kPool][kSize];
+      pluralize(count) {
+        const one = count === 1;
+        const keys = one ? singulars : plurals;
+        const noun = one ? this.singular : this.plural;
+        return { ...keys, count, noun };
       }
     };
-    module2.exports = PoolStats;
   }
 });
 
-// node_modules/undici/lib/pool-base.js
-var require_pool_base2 = __commonJS({
-  "node_modules/undici/lib/pool-base.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js
+var require_pending_interceptors_formatter2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
     "use strict";
-    var DispatcherBase = require_dispatcher_base2();
-    var FixedQueue = require_fixed_queue2();
-    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
-    var PoolStats = require_pool_stats2();
-    var kClients = /* @__PURE__ */ Symbol("clients");
-    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
-    var kQueue = /* @__PURE__ */ Symbol("queue");
-    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
-    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
-    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
-    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
-    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
-    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
-    var kAddClient = /* @__PURE__ */ Symbol("add client");
-    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
-    var kStats = /* @__PURE__ */ 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]);
+    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);
           }
-          if (pool[kClosedResolve] && queue.isEmpty()) {
-            Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]);
+        });
+        this.logger = new Console({
+          stdout: this.transform,
+          inspectOptions: {
+            colors: !disableColors && !process.env.CI
           }
-        };
-        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;
+      format(pendingInterceptors) {
+        const withPrettyHeaders = pendingInterceptors.map(
+          ({ method, path: path16, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
+            Method: method,
+            Origin: origin,
+            Path: path16,
+            "Status code": statusCode,
+            Persistent: persist ? PERSISTENT : NOT_PERSISTENT,
+            Invocations: timesInvoked,
+            Remaining: persist ? Infinity : times - timesInvoked
+          })
+        );
+        this.logger.table(withPrettyHeaders);
+        return this.transform.read().toString();
       }
-      get [kFree]() {
-        return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js
+var require_mock_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
+    "use strict";
+    var { kClients } = require_symbols6();
+    var Agent = require_agent2();
+    var {
+      kAgent,
+      kMockAgentSet,
+      kMockAgentGet,
+      kDispatches,
+      kIsMockActive,
+      kNetConnect,
+      kGetNetConnect,
+      kOptions,
+      kFactory
+    } = require_mock_symbols2();
+    var MockClient = require_mock_client2();
+    var MockPool = require_mock_pool2();
+    var { matchValue, buildMockOptions } = require_mock_utils2();
+    var { InvalidArgumentError, UndiciError } = require_errors2();
+    var Dispatcher = require_dispatcher2();
+    var Pluralizer = require_pluralizer2();
+    var PendingInterceptorsFormatter = require_pending_interceptors_formatter2();
+    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 [kPending]() {
-        let ret = this[kQueued];
-        for (const { [kPending]: pending } of this[kClients]) {
-          ret += pending;
+      get(origin) {
+        let dispatcher = this[kMockAgentGet](origin);
+        if (!dispatcher) {
+          dispatcher = this[kFactory](origin);
+          this[kMockAgentSet](origin, dispatcher);
         }
-        return ret;
+        return dispatcher;
       }
-      get [kRunning]() {
-        let ret = 0;
-        for (const { [kRunning]: running } of this[kClients]) {
-          ret += running;
+      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.");
         }
-        return ret;
       }
-      get [kSize]() {
-        let ret = this[kQueued];
-        for (const { [kSize]: size } of this[kClients]) {
-          ret += size;
-        }
-        return ret;
+      disableNetConnect() {
+        this[kNetConnect] = false;
       }
-      get stats() {
-        return this[kStats];
+      // This is required to bypass issues caused by using global symbols - see:
+      // https://github.com/nodejs/undici/issues/1447
+      get isMockActive() {
+        return this[kIsMockActive];
       }
-      async [kClose]() {
-        if (this[kQueue].isEmpty()) {
-          return Promise.all(this[kClients].map((c) => c.close()));
-        } else {
-          return new Promise((resolve9) => {
-            this[kClosedResolve] = resolve9;
-          });
-        }
+      [kMockAgentSet](origin, dispatcher) {
+        this[kClients].set(origin, dispatcher);
       }
-      async [kDestroy](err) {
-        while (true) {
-          const item = this[kQueue].shift();
-          if (!item) {
-            break;
+      [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;
           }
-          item.handler.onError(err);
         }
-        return 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];
+      [kGetNetConnect]() {
+        return this[kNetConnect];
       }
-      [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]) {
-          process.nextTick(() => {
-            if (this[kNeedDrain]) {
-              this[kOnDrain](client[kUrl], [this, client]);
-            }
-          });
-        }
-        return this;
+      pendingInterceptors() {
+        const mockAgentClients = this[kClients];
+        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
       }
-      [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);
+      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 = {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kRemoveClient,
-      kGetDispatcher
-    };
+    module2.exports = MockAgent;
   }
 });
 
-// node_modules/undici/lib/pool.js
-var require_pool2 = __commonJS({
-  "node_modules/undici/lib/pool.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/global.js
+var require_global4 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/global.js"(exports2, module2) {
     "use strict";
-    var {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kGetDispatcher
-    } = require_pool_base2();
-    var Client = require_client2();
-    var {
-      InvalidArgumentError
-    } = require_errors2();
-    var util = require_util9();
-    var { kUrl, kInterceptors } = require_symbols6();
-    var buildConnector = require_connect2();
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    var kConnections = /* @__PURE__ */ Symbol("connections");
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    function defaultFactory(origin, opts) {
-      return new Client(origin, opts);
+    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
+    var { InvalidArgumentError } = require_errors2();
+    var Agent = require_agent2();
+    if (getGlobalDispatcher() === void 0) {
+      setGlobalDispatcher(new Agent());
     }
-    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,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
-            ...connect
-          });
-        }
-        this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
-        this[kConnections] = connections || null;
-        this[kUrl] = util.parseOrigin(origin);
-        this[kOptions] = { ...util.deepClone(options), connect, allowH2 };
-        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
-        this[kFactory] = factory;
-        this.on("connectionError", (origin2, targets, error3) => {
-          for (const target of targets) {
-            const idx = this[kClients].indexOf(target);
-            if (idx !== -1) {
-              this[kClients].splice(idx, 1);
-            }
-          }
-        });
-      }
-      [kGetDispatcher]() {
-        let dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain]);
-        if (dispatcher) {
-          return dispatcher;
-        }
-        if (!this[kConnections] || this[kClients].length < this[kConnections]) {
-          dispatcher = this[kFactory](this[kUrl], this[kOptions]);
-          this[kAddClient](dispatcher);
-        }
-        return dispatcher;
+    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
     };
-    module2.exports = Pool;
   }
 });
 
-// node_modules/undici/lib/balanced-pool.js
-var require_balanced_pool2 = __commonJS({
-  "node_modules/undici/lib/balanced-pool.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/handler/decorator-handler.js
+var require_decorator_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/decorator-handler.js"(exports2, module2) {
     "use strict";
-    var {
-      BalancedPoolMissingUpstreamError,
-      InvalidArgumentError
-    } = require_errors2();
-    var {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kRemoveClient,
-      kGetDispatcher
-    } = require_pool_base2();
-    var Pool = require_pool2();
-    var { kUrl, kInterceptors } = require_symbols6();
-    var { parseOrigin } = require_util9();
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
-    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
-    var kIndex = /* @__PURE__ */ Symbol("kIndex");
-    var kWeight = /* @__PURE__ */ Symbol("kWeight");
-    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
-    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
-    function getGreatestCommonDivisor(a, b) {
-      if (b === 0) return a;
-      return getGreatestCommonDivisor(b, a % b);
-    }
-    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 && opts.interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : [];
-        this[kFactory] = factory;
-        for (const upstream of upstreams) {
-          this.addUpstream(upstream);
+    module2.exports = class DecoratorHandler {
+      #handler;
+      constructor(handler2) {
+        if (typeof handler2 !== "object" || handler2 === null) {
+          throw new TypeError("handler must be an object");
         }
-        this._updateBalancedPoolStats();
+        this.#handler = handler2;
       }
-      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;
+      onConnect(...args) {
+        return this.#handler.onConnect?.(...args);
       }
-      _updateBalancedPoolStats() {
-        this[kGreatestCommonDivisor] = this[kClients].map((p) => p[kWeight]).reduce(getGreatestCommonDivisor, 0);
+      onError(...args) {
+        return this.#handler.onError?.(...args);
       }
-      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;
+      onUpgrade(...args) {
+        return this.#handler.onUpgrade?.(...args);
       }
-      get upstreams() {
-        return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin);
+      onResponseStarted(...args) {
+        return this.#handler.onResponseStarted?.(...args);
       }
-      [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];
+      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);
       }
     };
-    module2.exports = BalancedPool;
   }
 });
 
-// node_modules/undici/lib/compat/dispatcher-weakref.js
-var require_dispatcher_weakref2 = __commonJS({
-  "node_modules/undici/lib/compat/dispatcher-weakref.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js
+var require_redirect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js"(exports2, module2) {
     "use strict";
-    var { kConnected, kSize } = require_symbols6();
-    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);
-            }
-          });
-        }
-      }
+    var RedirectHandler = require_redirect_handler2();
+    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);
+        };
+      };
     };
-    module2.exports = function() {
-      if (process.env.NODE_V8_COVERAGE) {
-        return {
-          WeakRef: CompatWeakRef,
-          FinalizationRegistry: CompatFinalizer
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js
+var require_retry2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js"(exports2, module2) {
+    "use strict";
+    var RetryHandler = require_retry_handler2();
+    module2.exports = (globalOpts) => {
+      return (dispatch) => {
+        return function retryInterceptor(opts, handler2) {
+          return dispatch(
+            opts,
+            new RetryHandler(
+              { ...opts, retryOptions: { ...globalOpts, ...opts.retryOptions } },
+              {
+                handler: handler2,
+                dispatch
+              }
+            )
+          );
         };
-      }
-      return {
-        WeakRef: global.WeakRef || CompatWeakRef,
-        FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer
       };
     };
   }
 });
 
-// node_modules/undici/lib/agent.js
-var require_agent2 = __commonJS({
-  "node_modules/undici/lib/agent.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/dump.js
+var require_dump2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/dump.js"(exports2, module2) {
     "use strict";
-    var { InvalidArgumentError } = require_errors2();
-    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
-    var DispatcherBase = require_dispatcher_base2();
-    var Pool = require_pool2();
-    var Client = require_client2();
     var util = require_util9();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var { WeakRef: WeakRef2, FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
-    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
-    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
-    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
-    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
-    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    var kFinalizer = /* @__PURE__ */ Symbol("finalizer");
-    var kOptions = /* @__PURE__ */ 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");
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
+    var DecoratorHandler = require_decorator_handler2();
+    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");
         }
-        if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {
-          throw new InvalidArgumentError("maxRedirections must be a positive number");
+        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 (connect && typeof connect !== "function") {
-          connect = { ...connect };
+        if (this.#aborted) {
+          return true;
         }
-        this[kInterceptors] = options.interceptors && options.interceptors.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
-        this[kOptions] = { ...util.deepClone(options), connect };
-        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
-        this[kMaxRedirections] = maxRedirections;
-        this[kFactory] = factory;
-        this[kClients] = /* @__PURE__ */ new Map();
-        this[kFinalizer] = new FinalizationRegistry2(
-          /* istanbul ignore next: gc is undeterministic */
-          (key) => {
-            const ref = this[kClients].get(key);
-            if (ref !== void 0 && ref.deref() === void 0) {
-              this[kClients].delete(key);
-            }
-          }
+        return this.#handler.onHeaders(
+          statusCode,
+          rawHeaders,
+          resume,
+          statusMessage
         );
-        const agent = this;
-        this[kOnDrain] = (origin, targets) => {
-          agent.emit("drain", origin, [agent, ...targets]);
-        };
-        this[kOnConnect] = (origin, targets) => {
-          agent.emit("connect", origin, [agent, ...targets]);
-        };
-        this[kOnDisconnect] = (origin, targets, err) => {
-          agent.emit("disconnect", origin, [agent, ...targets], err);
-        };
-        this[kOnConnectionError] = (origin, targets, err) => {
-          agent.emit("connectionError", origin, [agent, ...targets], err);
-        };
-      }
-      get [kRunning]() {
-        let ret = 0;
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            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.");
-        }
-        const ref = this[kClients].get(key);
-        let dispatcher = ref ? ref.deref() : null;
-        if (!dispatcher) {
-          dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
-          this[kClients].set(key, new WeakRef2(dispatcher));
-          this[kFinalizer].register(dispatcher, key);
+      onError(err) {
+        if (this.#dumped) {
+          return;
         }
-        return dispatcher.dispatch(opts, handler2);
+        err = this.#reason ?? err;
+        this.#handler.onError(err);
       }
-      async [kClose]() {
-        const closePromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            closePromises.push(client.close());
+      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([]);
           }
         }
-        await Promise.all(closePromises);
+        return true;
       }
-      async [kDestroy](err) {
-        const destroyPromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            destroyPromises.push(client.destroy(err));
-          }
+      onComplete(trailers) {
+        if (this.#dumped) {
+          return;
         }
-        await Promise.all(destroyPromises);
+        if (this.#aborted) {
+          this.#handler.onError(this.reason);
+          return;
+        }
+        this.#handler.onComplete(trailers);
       }
     };
-    module2.exports = Agent;
+    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/api/readable.js
-var require_readable2 = __commonJS({
-  "node_modules/undici/lib/api/readable.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/dns.js
+var require_dns2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/dns.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { Readable: Readable2 } = require("stream");
-    var { RequestAbortedError, NotSupportedError, InvalidArgumentError } = require_errors2();
-    var util = require_util9();
-    var { ReadableStreamFrom, toUSVString } = require_util9();
-    var Blob2;
-    var kConsume = /* @__PURE__ */ Symbol("kConsume");
-    var kReading = /* @__PURE__ */ Symbol("kReading");
-    var kBody = /* @__PURE__ */ Symbol("kBody");
-    var kAbort = /* @__PURE__ */ Symbol("abort");
-    var kContentType = /* @__PURE__ */ Symbol("kContentType");
-    var noop3 = () => {
-    };
-    module2.exports = class BodyReadable extends Readable2 {
-      constructor({
-        resume,
-        abort,
-        contentType = "",
-        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[kReading] = false;
-      }
-      destroy(err) {
-        if (this.destroyed) {
-          return this;
-        }
-        if (!err && !this._readableState.endEmitted) {
-          err = new RequestAbortedError();
-        }
-        if (err) {
-          this[kAbort]();
-        }
-        return super.destroy(err);
-      }
-      emit(ev, ...args) {
-        if (ev === "data") {
-          this._readableState.dataEmitted = true;
-        } else if (ev === "error") {
-          this._readableState.errorEmitted = true;
-        }
-        return super.emit(ev, ...args);
-      }
-      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;
+    var { isIP } = require("node:net");
+    var { lookup } = require("node:dns");
+    var DecoratorHandler = require_decorator_handler2();
+    var { InvalidArgumentError, InformationalError } = require_errors2();
+    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;
       }
-      removeListener(ev, ...args) {
-        return this.off(ev, ...args);
+      get full() {
+        return this.#records.size === this.#maxItems;
       }
-      push(chunk) {
-        if (this[kConsume] && chunk !== null && this.readableLength === 0) {
-          consumePush(this[kConsume], chunk);
-          return this[kReading] ? super.push(chunk) : true;
+      runLookup(origin, opts, cb) {
+        const ips = this.#records.get(origin.hostname);
+        if (ips == null && this.full) {
+          cb(null, origin.origin);
+          return;
         }
-        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-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);
+        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}`
+          );
         }
-        return this[kBody];
       }
-      dump(opts) {
-        let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144;
-        const signal = opts && opts.signal;
-        if (signal) {
-          try {
-            if (typeof signal !== "object" || !("aborted" in signal)) {
-              throw new InvalidArgumentError("signal must be an AbortSignal");
+      #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);
             }
-            util.throwIfAborted(signal);
-          } catch (err) {
-            return Promise.reject(err);
+            const results = /* @__PURE__ */ new Map();
+            for (const addr of addresses) {
+              results.set(`${addr.address}:${addr.family}`, addr);
+            }
+            cb(null, results.values());
           }
-        }
-        if (this.closed) {
-          return Promise.resolve(null);
-        }
-        return new Promise((resolve9, reject) => {
-          const signalListenerCleanup = signal ? util.addAbortListener(signal, () => {
-            this.destroy();
-          }) : noop3;
-          this.on("close", function() {
-            signalListenerCleanup();
-            if (signal && signal.aborted) {
-              reject(signal.reason || Object.assign(new Error("The operation was aborted"), { name: "AbortError" }));
+        );
+      }
+      #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 {
-              resolve9(null);
-            }
-          }).on("error", noop3).on("data", function(chunk) {
-            limit -= chunk.length;
-            if (limit <= 0) {
-              this.destroy();
+              hostnameRecords.offset++;
+              affinity = (hostnameRecords.offset & 1) === 1 ? 6 : 4;
             }
-          }).resume();
-        });
-      }
-    };
-    function isLocked(self2) {
-      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
-    }
-    function isUnusable(self2) {
-      return util.isDisturbed(self2) || isLocked(self2);
-    }
-    async function consume(stream2, type2) {
-      if (isUnusable(stream2)) {
-        throw new TypeError("unusable");
-      }
-      assert(!stream2[kConsume]);
-      return new Promise((resolve9, reject) => {
-        stream2[kConsume] = {
-          type: type2,
-          stream: stream2,
-          resolve: resolve9,
-          reject,
-          length: 0,
-          body: []
-        };
-        stream2.on("error", function(err) {
-          consumeFinish(this[kConsume], err);
-        }).on("close", function() {
-          if (this[kConsume].body !== null) {
-            consumeFinish(this[kConsume], new RequestAbortedError());
           }
-        });
-        process.nextTick(consumeStart, stream2[kConsume]);
-      });
-    }
-    function consumeStart(consume2) {
-      if (consume2.body === null) {
-        return;
-      }
-      const { _readableState: state } = consume2.stream;
-      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 consumeEnd(consume2) {
-      const { type: type2, body, resolve: resolve9, stream: stream2, length } = consume2;
-      try {
-        if (type2 === "text") {
-          resolve9(toUSVString(Buffer.concat(body)));
-        } else if (type2 === "json") {
-          resolve9(JSON.parse(Buffer.concat(body)));
-        } else if (type2 === "arrayBuffer") {
-          const dst = new Uint8Array(length);
-          let pos = 0;
-          for (const buf of body) {
-            dst.set(buf, pos);
-            pos += buf.byteLength;
+          if (records[affinity] != null && records[affinity].ips.length > 0) {
+            family = records[affinity];
+          } else {
+            family = records[affinity === 4 ? 6 : 4];
           }
-          resolve9(dst.buffer);
-        } else if (type2 === "blob") {
-          if (!Blob2) {
-            Blob2 = require("buffer").Blob;
+        } 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 timestamp2 = Date.now();
+        const records = { records: { 4: null, 6: null } };
+        for (const record of addresses) {
+          record.timestamp = timestamp2;
+          if (typeof record.ttl === "number") {
+            record.ttl = Math.min(record.ttl, this.#maxTTL);
+          } else {
+            record.ttl = this.#maxTTL;
           }
-          resolve9(new Blob2(body, { type: stream2[kContentType] }));
+          const familyRecords = records.records[record.family] ?? { ips: [] };
+          familyRecords.ips.push(record);
+          records.records[record.family] = familyRecords;
         }
-        consumeFinish(consume2);
-      } catch (err) {
-        stream2.destroy(err);
+        this.#records.set(origin.hostname, records);
       }
-    }
-    function consumePush(consume2, chunk) {
-      consume2.length += chunk.length;
-      consume2.body.push(chunk);
-    }
-    function consumeFinish(consume2, err) {
-      if (consume2.body === null) {
-        return;
+      getHandler(meta, opts) {
+        return new DNSDispatchHandler(this, meta, opts);
       }
-      if (err) {
-        consume2.reject(err);
-      } else {
-        consume2.resolve();
+    };
+    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;
       }
-      consume2.type = null;
-      consume2.stream = null;
-      consume2.resolve = null;
-      consume2.reject = null;
-      consume2.length = 0;
-      consume2.body = null;
-    }
-  }
-});
-
-// node_modules/undici/lib/api/util.js
-var require_util11 = __commonJS({
-  "node_modules/undici/lib/api/util.js"(exports2, module2) {
-    var assert = require("assert");
-    var {
-      ResponseStatusCodeError
-    } = require_errors2();
-    var { toUSVString } = require_util9();
-    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
-      assert(body);
-      let chunks = [];
-      let limit = 0;
-      for await (const chunk of body) {
-        chunks.push(chunk);
-        limit += chunk.length;
-        if (limit > 128 * 1024) {
-          chunks = null;
-          break;
+      onError(err) {
+        switch (err.code) {
+          case "ETIMEDOUT":
+          case "ECONNREFUSED": {
+            if (this.#state.dualStack) {
+              this.#state.runLookup(this.#origin, this.#opts, (err2, newOrigin) => {
+                if (err2) {
+                  return this.#handler.onError(err2);
+                }
+                const dispatchOpts = {
+                  ...this.#opts,
+                  origin: newOrigin
+                };
+                this.#dispatch(dispatchOpts, this);
+              });
+              return;
+            }
+            this.#handler.onError(err);
+            return;
+          }
+          case "ENOTFOUND":
+            this.#state.deleteRecord(this.#origin);
+          // eslint-disable-next-line no-fallthrough
+          default:
+            this.#handler.onError(err);
+            break;
         }
       }
-      if (statusCode === 204 || !contentType || !chunks) {
-        process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
-        return;
+    };
+    module2.exports = (interceptorOpts) => {
+      if (interceptorOpts?.maxTTL != null && (typeof interceptorOpts?.maxTTL !== "number" || interceptorOpts?.maxTTL < 0)) {
+        throw new InvalidArgumentError("Invalid maxTTL. Must be a positive number");
       }
-      try {
-        if (contentType.startsWith("application/json")) {
-          const payload = JSON.parse(toUSVString(Buffer.concat(chunks)));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
-        }
-        if (contentType.startsWith("text/")) {
-          const payload = toUSVString(Buffer.concat(chunks));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
-        }
-      } catch (err) {
+      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"
+        );
       }
-      process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
-    }
-    module2.exports = { getResolveErrorBodyCallback };
-  }
-});
-
-// node_modules/undici/lib/api/abort-signal.js
-var require_abort_signal2 = __commonJS({
-  "node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
-    var { addAbortListener } = require_util9();
-    var { RequestAbortedError } = require_errors2();
-    var kListener = /* @__PURE__ */ Symbol("kListener");
-    var kSignal = /* @__PURE__ */ Symbol("kSignal");
-    function abort(self2) {
-      if (self2.abort) {
-        self2.abort();
-      } else {
-        self2.onError(new RequestAbortedError());
+      if (interceptorOpts?.affinity != null && interceptorOpts?.affinity !== 4 && interceptorOpts?.affinity !== 6) {
+        throw new InvalidArgumentError("Invalid affinity. Must be either 4 or 6");
       }
-    }
-    function addSignal(self2, signal) {
-      self2[kSignal] = null;
-      self2[kListener] = null;
-      if (!signal) {
-        return;
+      if (interceptorOpts?.dualStack != null && typeof interceptorOpts?.dualStack !== "boolean") {
+        throw new InvalidArgumentError("Invalid dualStack. Must be a boolean");
       }
-      if (signal.aborted) {
-        abort(self2);
-        return;
+      if (interceptorOpts?.lookup != null && typeof interceptorOpts?.lookup !== "function") {
+        throw new InvalidArgumentError("Invalid lookup. Must be a function");
       }
-      self2[kSignal] = signal;
-      self2[kListener] = () => {
-        abort(self2);
-      };
-      addAbortListener(self2[kSignal], self2[kListener]);
-    }
-    function removeSignal(self2) {
-      if (!self2[kSignal]) {
-        return;
+      if (interceptorOpts?.pick != null && typeof interceptorOpts?.pick !== "function") {
+        throw new InvalidArgumentError("Invalid pick. Must be a function");
       }
-      if ("removeEventListener" in self2[kSignal]) {
-        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      const dualStack = interceptorOpts?.dualStack ?? true;
+      let affinity;
+      if (dualStack) {
+        affinity = interceptorOpts?.affinity ?? null;
       } else {
-        self2[kSignal].removeListener("abort", self2[kListener]);
+        affinity = interceptorOpts?.affinity ?? 4;
       }
-      self2[kSignal] = null;
-      self2[kListener] = null;
-    }
-    module2.exports = {
-      addSignal,
-      removeSignal
+      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/api/api-request.js
-var require_api_request2 = __commonJS({
-  "node_modules/undici/lib/api/api-request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js
+var require_headers2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js"(exports2, module2) {
     "use strict";
-    var Readable2 = require_readable2();
+    var { kConstruct } = require_symbols6();
+    var { kEnumerableProperty } = require_util9();
     var {
-      InvalidArgumentError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { getResolveErrorBodyCallback } = require_util11();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var RequestHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
-        try {
-          if (typeof callback !== "function") {
-            throw new InvalidArgumentError("invalid callback");
-          }
-          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
-            throw new InvalidArgumentError("invalid highWaterMark");
-          }
-          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-          }
-          if (method === "CONNECT") {
-            throw new InvalidArgumentError("invalid method");
-          }
-          if (onInfo && typeof onInfo !== "function") {
-            throw new InvalidArgumentError("invalid onInfo callback");
-          }
-          super("UNDICI_REQUEST");
-        } catch (err) {
-          if (util.isStream(body)) {
-            util.destroy(body.on("error", util.nop), err);
+      iteratorMixin,
+      isValidHeaderName,
+      isValidHeaderValue
+    } = require_util10();
+    var { webidl } = require_webidl2();
+    var assert = require("node:assert");
+    var util = require("node:util");
+    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
+    var kHeadersSortedMap = /* @__PURE__ */ 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}.`
+            });
           }
-          throw err;
+          appendHeader(headers, header[0], header[1]);
         }
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.callback = callback;
-        this.res = null;
-        this.abort = null;
-        this.body = body;
-        this.trailers = {};
-        this.context = null;
-        this.onInfo = onInfo || null;
-        this.throwOnError = throwOnError;
-        this.highWaterMark = highWaterMark;
-        if (util.isStream(body)) {
-          body.on("error", (err) => {
-            this.onError(err);
-          });
+      } 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]]);
         }
-        addSignal(this, signal);
+      } else {
+        throw webidl.errors.conversionFailed({
+          prefix: "Headers constructor",
+          argument: "Argument 1",
+          types: ["sequence>", "record"]
+        });
       }
-      onConnect(abort, context3) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context3;
+    }
+    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"
+        });
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const { callback, opaque, abort, context: context3, responseHeaders, highWaterMark } = this;
-        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            this.onInfo({ statusCode, headers });
-          }
-          return;
-        }
-        const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
-        const contentType = parsedHeaders["content-type"];
-        const body = new Readable2({ resume, abort, contentType, highWaterMark });
-        this.callback = null;
-        this.res = body;
-        if (callback !== null) {
-          if (this.throwOnError && statusCode >= 400) {
-            this.runInAsyncScope(
-              getResolveErrorBodyCallback,
-              null,
-              { callback, body, contentType, statusCode, statusMessage, headers }
-            );
-          } else {
-            this.runInAsyncScope(callback, null, null, {
-              statusCode,
-              headers,
-              trailers: this.trailers,
-              opaque,
-              body,
-              context: context3
-            });
-          }
+      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;
         }
       }
-      onData(chunk) {
-        const { res } = this;
-        return res.push(chunk);
+      /**
+       * @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());
       }
-      onComplete(trailers) {
-        const { res } = this;
-        removeSignal(this);
-        util.parseHeaders(trailers, this.trailers);
-        res.push(null);
+      clear() {
+        this[kHeadersMap].clear();
+        this[kHeadersSortedMap] = null;
+        this.cookies = null;
       }
-      onError(err) {
-        const { res, callback, body, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
-        if (res) {
-          this.res = null;
-          queueMicrotask(() => {
-            util.destroy(res, err);
+      /**
+       * @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 (body) {
-          this.body = null;
-          util.destroy(body, err);
+        if (lowercaseName === "set-cookie") {
+          (this.cookies ??= []).push(value);
         }
       }
-    };
-    function request2(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve9, reject) => {
-          request2.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve9(data);
-          });
-        });
+      /**
+       * @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 });
       }
-      try {
-        this.dispatch(opts, new RequestHandler(opts, callback));
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
+      /**
+       * @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;
         }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        this[kHeadersMap].delete(name);
       }
-    }
-    module2.exports = request2;
-    module2.exports.RequestHandler = RequestHandler;
-  }
-});
-
-// node_modules/undici/lib/api/api-stream.js
-var require_api_stream2 = __commonJS({
-  "node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
-    "use strict";
-    var { finished, PassThrough } = require("stream");
-    var {
-      InvalidArgumentError,
-      InvalidReturnValueError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { getResolveErrorBodyCallback } = require_util11();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var StreamHandler = class extends AsyncResource {
-      constructor(opts, factory, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+      /**
+       * @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];
         }
-        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
-        try {
-          if (typeof callback !== "function") {
-            throw new InvalidArgumentError("invalid callback");
-          }
-          if (typeof factory !== "function") {
-            throw new InvalidArgumentError("invalid factory");
-          }
-          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-          }
-          if (method === "CONNECT") {
-            throw new InvalidArgumentError("invalid method");
-          }
-          if (onInfo && typeof onInfo !== "function") {
-            throw new InvalidArgumentError("invalid onInfo callback");
-          }
-          super("UNDICI_STREAM");
-        } catch (err) {
-          if (util.isStream(body)) {
-            util.destroy(body.on("error", util.nop), err);
+      }
+      get entries() {
+        const headers = {};
+        if (this[kHeadersMap].size !== 0) {
+          for (const { name, value } of this[kHeadersMap].values()) {
+            headers[name] = value;
           }
-          throw err;
         }
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.factory = factory;
-        this.callback = callback;
-        this.res = null;
-        this.abort = null;
-        this.context = null;
-        this.trailers = null;
-        this.body = body;
-        this.onInfo = onInfo || null;
-        this.throwOnError = throwOnError || false;
-        if (util.isStream(body)) {
-          body.on("error", (err) => {
-            this.onError(err);
-          });
-        }
-        addSignal(this, signal);
+        return headers;
       }
-      onConnect(abort, context3) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context3;
+      rawValues() {
+        return this[kHeadersMap].values();
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const { factory, opaque, context: context3, callback, responseHeaders } = this;
-        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            this.onInfo({ statusCode, headers });
+      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;
         }
-        this.factory = null;
-        let res;
-        if (this.throwOnError && statusCode >= 400) {
-          const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
-          const contentType = parsedHeaders["content-type"];
-          res = new PassThrough();
-          this.callback = null;
-          this.runInAsyncScope(
-            getResolveErrorBodyCallback,
-            null,
-            { callback, body: res, contentType, statusCode, statusMessage, headers }
-          );
-        } else {
-          if (factory === null) {
-            return;
-          }
-          res = this.runInAsyncScope(factory, null, {
-            statusCode,
-            headers,
-            opaque,
-            context: context3
-          });
-          if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") {
-            throw new InvalidReturnValueError("expected Writable");
+        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;
           }
-          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);
+          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;
+              }
             }
-            this.callback = null;
-            this.runInAsyncScope(callback2, null, err || null, { opaque: opaque2, trailers });
-            if (err) {
-              abort();
+            if (i !== pivot) {
+              j = i;
+              while (j > left) {
+                array[j] = array[--j];
+              }
+              array[left] = x;
             }
-          });
-        }
-        res.on("drain", resume);
-        this.res = res;
-        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState && res._writableState.needDrain;
-        return needDrain !== true;
-      }
-      onData(chunk) {
-        const { res } = this;
-        return res ? res.write(chunk) : true;
-      }
-      onComplete(trailers) {
-        const { res } = this;
-        removeSignal(this);
-        if (!res) {
-          return;
-        }
-        this.trailers = util.parseHeaders(trailers);
-        res.end();
-      }
-      onError(err) {
-        const { res, callback, opaque, body } = this;
-        removeSignal(this);
-        this.factory = null;
-        if (res) {
-          this.res = null;
-          util.destroy(res, err);
-        } else if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
-        if (body) {
-          this.body = null;
-          util.destroy(body, err);
-        }
-      }
-    };
-    function stream2(opts, factory, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve9, reject) => {
-          stream2.call(this, opts, factory, (err, data) => {
-            return err ? reject(err) : resolve9(data);
-          });
-        });
-      }
-      try {
-        this.dispatch(opts, new StreamHandler(opts, factory, callback));
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
-        }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
-      }
-    }
-    module2.exports = stream2;
-  }
-});
-
-// node_modules/undici/lib/api/api-pipeline.js
-var require_api_pipeline2 = __commonJS({
-  "node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
-    "use strict";
-    var {
-      Readable: Readable2,
-      Duplex,
-      PassThrough
-    } = require("stream");
-    var {
-      InvalidArgumentError,
-      InvalidReturnValueError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
-    var kResume = /* @__PURE__ */ Symbol("resume");
-    var PipelineRequest = class extends Readable2 {
-      constructor() {
-        super({ autoDestroy: true });
-        this[kResume] = null;
-      }
-      _read() {
-        const { [kResume]: resume } = this;
-        if (resume) {
-          this[kResume] = null;
-          resume();
+          }
+          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);
         }
       }
-      _destroy(err, callback) {
-        this._read();
-        callback(err);
-      }
     };
-    var PipelineResponse = class extends Readable2 {
-      constructor(resume) {
-        super({ autoDestroy: true });
-        this[kResume] = resume;
-      }
-      _read() {
-        this[kResume]();
-      }
-      _destroy(err, callback) {
-        if (!err && !this._readableState.endEmitted) {
-          err = new RequestAbortedError();
+    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);
         }
-        callback(err);
       }
-    };
-    var PipelineHandler = class extends AsyncResource {
-      constructor(opts, handler2) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+      // 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 (typeof handler2 !== "function") {
-          throw new InvalidArgumentError("invalid handler");
+        if (this.#guard === "immutable") {
+          throw new TypeError("immutable");
         }
-        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 (!this.#headersList.contains(name, false)) {
+          return;
         }
-        if (method === "CONNECT") {
-          throw new InvalidArgumentError("invalid method");
+        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"
+          });
         }
-        if (onInfo && typeof onInfo !== "function") {
-          throw new InvalidArgumentError("invalid onInfo callback");
+        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"
+          });
         }
-        super("UNDICI_PIPELINE");
-        this.opaque = opaque || null;
-        this.responseHeaders = responseHeaders || null;
-        this.handler = handler2;
-        this.abort = null;
-        this.context = null;
-        this.onInfo = onInfo || null;
-        this.req = new PipelineRequest().on("error", util.nop);
-        this.ret = new Duplex({
-          readableObjectMode: opts.objectMode,
-          autoDestroy: true,
-          read: () => {
-            const { body } = this;
-            if (body && body.resume) {
-              body.resume();
-            }
-          },
-          write: (chunk, encoding, callback) => {
-            const { req } = this;
-            if (req.push(chunk, encoding) || req._readableState.destroyed) {
-              callback();
-            } else {
-              req[kResume] = callback;
-            }
-          },
-          destroy: (err, callback) => {
-            const { body, req, res, ret, abort } = this;
-            if (!err && !ret._readableState.endEmitted) {
-              err = new RequestAbortedError();
-            }
-            if (abort && err) {
-              abort();
-            }
-            util.destroy(body, err);
-            util.destroy(req, err);
-            util.destroy(res, err);
-            removeSignal(this);
-            callback(err);
-          }
-        }).on("prefinish", () => {
-          const { req } = this;
-          req.push(null);
-        });
-        this.res = null;
-        addSignal(this, signal);
+        return this.#headersList.contains(name, false);
       }
-      onConnect(abort, context3) {
-        const { ret, res } = this;
-        assert(!res, "pipeline cannot be retried");
-        if (ret.destroyed) {
-          throw new RequestAbortedError();
+      // 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"
+          });
         }
-        this.abort = abort;
-        this.context = context3;
+        if (this.#guard === "immutable") {
+          throw new TypeError("immutable");
+        }
+        this.#headersList.set(name, value, false);
       }
-      onHeaders(statusCode, rawHeaders, resume) {
-        const { opaque, handler: handler2, context: context3 } = this;
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-            this.onInfo({ statusCode, headers });
-          }
-          return;
+      // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
+      getSetCookie() {
+        webidl.brandCheck(this, _Headers);
+        const list = this.#headersList.cookies;
+        if (list) {
+          return [...list];
         }
-        this.res = new PipelineResponse(resume);
-        let body;
-        try {
-          this.handler = null;
-          const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-          body = this.runInAsyncScope(handler2, null, {
-            statusCode,
-            headers,
-            opaque,
-            body: this.res,
-            context: context3
-          });
-        } catch (err) {
-          this.res.on("error", util.nop);
-          throw err;
+        return [];
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
+      get [kHeadersSortedMap]() {
+        if (this.#headersList[kHeadersSortedMap]) {
+          return this.#headersList[kHeadersSortedMap];
         }
-        if (!body || typeof body.on !== "function") {
-          throw new InvalidReturnValueError("expected Readable");
+        const headers = [];
+        const names = this.#headersList.toSortedArray();
+        const cookies = this.#headersList.cookies;
+        if (cookies === null || cookies.length === 1) {
+          return this.#headersList[kHeadersSortedMap] = names;
         }
-        body.on("data", (chunk) => {
-          const { ret, body: body2 } = this;
-          if (!ret.push(chunk) && body2.pause) {
-            body2.pause();
-          }
-        }).on("error", (err) => {
-          const { ret } = this;
-          util.destroy(ret, err);
-        }).on("end", () => {
-          const { ret } = this;
-          ret.push(null);
-        }).on("close", () => {
-          const { ret } = this;
-          if (!ret._readableState.ended) {
-            util.destroy(ret, new RequestAbortedError());
+        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]);
           }
-        });
-        this.body = body;
+        }
+        return this.#headersList[kHeadersSortedMap] = headers;
       }
-      onData(chunk) {
-        const { res } = this;
-        return res.push(chunk);
+      [util.inspect.custom](depth, options) {
+        options.depth ??= depth;
+        return `Headers ${util.formatWithOptions(options, this.#headersList.entries)}`;
       }
-      onComplete(trailers) {
-        const { res } = this;
-        res.push(null);
+      static getHeadersGuard(o) {
+        return o.#guard;
       }
-      onError(err) {
-        const { ret } = this;
-        this.handler = null;
-        util.destroy(ret, err);
+      static setHeadersGuard(o, guard) {
+        o.#guard = guard;
+      }
+      static getHeadersList(o) {
+        return o.#headersList;
+      }
+      static setHeadersList(o, list) {
+        o.#headersList = list;
       }
     };
-    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);
+    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
       }
-    }
-    module2.exports = pipeline;
+    });
+    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/api/api-upgrade.js
-var require_api_upgrade2 = __commonJS({
-  "node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js
+var require_response2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js"(exports2, module2) {
     "use strict";
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
-    var { AsyncResource } = require("async_hooks");
+    var { Headers, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers2();
+    var { extractBody, cloneBody, mixinBody, hasFinalizationRegistry, streamRegistry, bodyUnusable } = require_body2();
     var util = require_util9();
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
-    var UpgradeHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+    var nodeUtil = require("node:util");
+    var { kEnumerableProperty } = util;
+    var {
+      isValidReasonPhrase,
+      isCancelled,
+      isAborted,
+      isBlobLike,
+      serializeJavascriptValueToJSONString,
+      isErrorLike,
+      isomorphicEncode,
+      environmentSettingsObject: relevantRealm
+    } = require_util10();
+    var {
+      redirectStatusSet,
+      nullBodyStatus
+    } = require_constants8();
+    var { kState, kHeaders } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var { FormData: FormData2 } = require_formdata2();
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    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);
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        const bytes = textEncoder.encode(
+          serializeJavascriptValueToJSONString(data)
+        );
+        const body = extractBody(bytes);
+        const responseObject = fromInnerResponse(makeResponse({}), "response");
+        initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
+        return responseObject;
+      }
+      // Creates a redirect Response that redirects to url with status status.
+      static redirect(url, status = 302) {
+        webidl.argumentLengthCheck(arguments, 1, "Response.redirect");
+        url = webidl.converters.USVString(url);
+        status = webidl.converters["unsigned short"](status);
+        let parsedURL;
+        try {
+          parsedURL = new URL(url, relevantRealm.settingsObject.baseUrl);
+        } catch (err) {
+          throw new TypeError(`Failed to parse URL from ${url}`, { cause: err });
         }
-        const { signal, opaque, responseHeaders } = opts;
-        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        if (!redirectStatusSet.has(status)) {
+          throw new RangeError(`Invalid status code ${status}`);
         }
-        super("UNDICI_UPGRADE");
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.callback = callback;
-        this.abort = null;
-        this.context = null;
-        addSignal(this, signal);
+        const responseObject = fromInnerResponse(makeResponse({}), "immutable");
+        responseObject[kState].status = status;
+        const value = isomorphicEncode(URLSerializer(parsedURL));
+        responseObject[kState].headersList.append("location", value, true);
+        return responseObject;
       }
-      onConnect(abort, context3) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
+      // https://fetch.spec.whatwg.org/#dom-response
+      constructor(body = null, init = {}) {
+        webidl.util.markAsUncloneable(this);
+        if (body === kConstruct) {
+          return;
         }
-        this.abort = abort;
-        this.context = null;
-      }
-      onHeaders() {
-        throw new SocketError("bad upgrade", null);
-      }
-      onUpgrade(statusCode, rawHeaders, socket) {
-        const { callback, opaque, context: context3 } = this;
-        assert.strictEqual(statusCode, 101);
-        removeSignal(this);
-        this.callback = null;
-        const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        this.runInAsyncScope(callback, null, null, {
-          headers,
-          socket,
-          opaque,
-          context: context3
-        });
-      }
-      onError(err) {
-        const { callback, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
+        if (body !== null) {
+          body = webidl.converters.BodyInit(body);
+        }
+        init = webidl.converters.ResponseInit(init);
+        this[kState] = makeResponse({});
+        this[kHeaders] = new Headers(kConstruct);
+        setHeadersGuard(this[kHeaders], "response");
+        setHeadersList(this[kHeaders], this[kState].headersList);
+        let bodyWithType = null;
+        if (body != null) {
+          const [extractedBody, type2] = extractBody(body);
+          bodyWithType = { body: extractedBody, type: type2 };
         }
+        initializeResponse(this, init, bodyWithType);
       }
-    };
-    function upgrade(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve9, reject) => {
-          upgrade.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve9(data);
-          });
-        });
+      // Returns response’s type, e.g., "cors".
+      get type() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].type;
       }
-      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;
+      // 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 "";
         }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        return URLSerializer(url, true);
       }
-    }
-    module2.exports = upgrade;
-  }
-});
-
-// node_modules/undici/lib/api/api-connect.js
-var require_api_connect2 = __commonJS({
-  "node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
-    "use strict";
-    var { AsyncResource } = require("async_hooks");
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
-    var util = require_util9();
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var ConnectHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
-        }
-        const { signal, opaque, responseHeaders } = opts;
-        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-        }
-        super("UNDICI_CONNECT");
-        this.opaque = opaque || null;
-        this.responseHeaders = responseHeaders || null;
-        this.callback = callback;
-        this.abort = null;
-        addSignal(this, signal);
+      // Returns whether response was obtained through a redirect.
+      get redirected() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].urlList.length > 1;
       }
-      onConnect(abort, context3) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context3;
+      // Returns response’s status.
+      get status() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status;
       }
-      onHeaders() {
-        throw new SocketError("bad connect", null);
+      // Returns whether response’s status is an ok status.
+      get ok() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status >= 200 && this[kState].status <= 299;
       }
-      onUpgrade(statusCode, rawHeaders, socket) {
-        const { callback, opaque, context: context3 } = this;
-        removeSignal(this);
-        this.callback = null;
-        let headers = rawHeaders;
-        if (headers != null) {
-          headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        }
-        this.runInAsyncScope(callback, null, null, {
-          statusCode,
-          headers,
-          socket,
-          opaque,
-          context: context3
-        });
+      // Returns response’s status message.
+      get statusText() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].statusText;
       }
-      onError(err) {
-        const { callback, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
+      // Returns response’s headers as Headers.
+      get headers() {
+        webidl.brandCheck(this, _Response);
+        return this[kHeaders];
       }
-    };
-    function connect(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve9, reject) => {
-          connect.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve9(data);
-          });
-        });
+      get body() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      try {
-        const connectHandler = new ConnectHandler(opts, callback);
-        this.dispatch({ ...opts, method: "CONNECT" }, connectHandler);
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
+      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 opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        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]));
       }
-    }
-    module2.exports = connect;
-  }
-});
-
-// node_modules/undici/lib/api/index.js
-var require_api2 = __commonJS({
-  "node_modules/undici/lib/api/index.js"(exports2, module2) {
-    "use strict";
-    module2.exports.request = require_api_request2();
-    module2.exports.stream = require_api_stream2();
-    module2.exports.pipeline = require_api_pipeline2();
-    module2.exports.upgrade = require_api_upgrade2();
-    module2.exports.connect = require_api_connect2();
-  }
-});
-
-// node_modules/undici/lib/mock/mock-errors.js
-var require_mock_errors2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
-    "use strict";
-    var { UndiciError } = require_errors2();
-    var MockNotMatchedError = class _MockNotMatchedError extends UndiciError {
-      constructor(message) {
-        super(message);
-        Error.captureStackTrace(this, _MockNotMatchedError);
-        this.name = "MockNotMatchedError";
-        this.message = message || "The request does not match any registered mock dispatches";
-        this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED";
+      [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)}`;
       }
     };
-    module2.exports = {
-      MockNotMatchedError
-    };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-symbols.js
-var require_mock_symbols2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      kAgent: /* @__PURE__ */ Symbol("agent"),
-      kOptions: /* @__PURE__ */ Symbol("options"),
-      kFactory: /* @__PURE__ */ Symbol("factory"),
-      kDispatches: /* @__PURE__ */ Symbol("dispatches"),
-      kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
-      kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
-      kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
-      kContentLength: /* @__PURE__ */ Symbol("content length"),
-      kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
-      kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
-      kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
-      kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
-      kClose: /* @__PURE__ */ Symbol("close"),
-      kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
-      kOrigin: /* @__PURE__ */ Symbol("origin"),
-      kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
-      kNetConnect: /* @__PURE__ */ Symbol("net connect"),
-      kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
-      kConnected: /* @__PURE__ */ Symbol("connected")
-    };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-utils.js
-var require_mock_utils2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
-    "use strict";
-    var { MockNotMatchedError } = require_mock_errors2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kOriginalDispatch,
-      kOrigin,
-      kGetNetConnect
-    } = require_mock_symbols2();
-    var { buildURL, nop } = require_util9();
-    var { STATUS_CODES } = require("http");
-    var {
-      types: {
-        isPromise
-      }
-    } = require("util");
-    function matchValue(match, value) {
-      if (typeof match === "string") {
-        return match === value;
+    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
       }
-      if (match instanceof RegExp) {
-        return match.test(value);
+    });
+    Object.defineProperties(Response, {
+      json: kEnumerableProperty,
+      redirect: kEnumerableProperty,
+      error: kEnumerableProperty
+    });
+    function cloneResponse(response) {
+      if (response.internalResponse) {
+        return filterResponse(
+          cloneResponse(response.internalResponse),
+          response.type
+        );
       }
-      if (typeof match === "function") {
-        return match(value) === true;
+      const newResponse = makeResponse({ ...response, body: null });
+      if (response.body != null) {
+        newResponse.body = cloneBody(newResponse, response.body);
       }
-      return false;
+      return newResponse;
     }
-    function lowerCaseEntries(headers) {
-      return Object.fromEntries(
-        Object.entries(headers).map(([headerName, headerValue]) => {
-          return [headerName.toLocaleLowerCase(), headerValue];
-        })
+    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 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];
-          }
+    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;
         }
-        return void 0;
-      } else if (typeof headers.get === "function") {
-        return headers.get(key);
+      });
+    }
+    function filterResponse(response, type2) {
+      if (type2 === "basic") {
+        return makeFilteredResponse(response, {
+          type: "basic",
+          headersList: response.headersList
+        });
+      } else if (type2 === "cors") {
+        return makeFilteredResponse(response, {
+          type: "cors",
+          headersList: response.headersList
+        });
+      } else if (type2 === "opaque") {
+        return makeFilteredResponse(response, {
+          type: "opaque",
+          urlList: Object.freeze([]),
+          status: 0,
+          statusText: "",
+          body: null
+        });
+      } else if (type2 === "opaqueredirect") {
+        return makeFilteredResponse(response, {
+          type: "opaqueredirect",
+          status: 0,
+          statusText: "",
+          headersList: [],
+          body: null
+        });
       } else {
-        return lowerCaseEntries(headers)[key.toLocaleLowerCase()];
+        assert(false);
       }
     }
-    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 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 matchHeaders(mockDispatch2, headers) {
-      if (typeof mockDispatch2.headers === "function") {
-        if (Array.isArray(headers)) {
-          headers = buildHeadersFromArray(headers);
-        }
-        return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {});
+    function initializeResponse(response, init, body) {
+      if (init.status !== null && (init.status < 200 || init.status > 599)) {
+        throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
       }
-      if (typeof mockDispatch2.headers === "undefined") {
-        return true;
+      if ("statusText" in init && init.statusText != null) {
+        if (!isValidReasonPhrase(String(init.statusText))) {
+          throw new TypeError("Invalid statusText");
+        }
       }
-      if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") {
-        return false;
+      if ("status" in init && init.status != null) {
+        response[kState].status = init.status;
       }
-      for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) {
-        const headerValue = getHeaderByName(headers, matchHeaderName);
-        if (!matchValue(matchHeaderValue, headerValue)) {
-          return false;
-        }
+      if ("statusText" in init && init.statusText != null) {
+        response[kState].statusText = init.statusText;
       }
-      return true;
-    }
-    function safeUrl(path16) {
-      if (typeof path16 !== "string") {
-        return path16;
+      if ("headers" in init && init.headers != null) {
+        fill(response[kHeaders], init.headers);
       }
-      const pathSegments = path16.split("?");
-      if (pathSegments.length !== 2) {
-        return path16;
+      if (body) {
+        if (nullBodyStatus.includes(response.status)) {
+          throw webidl.errors.exception({
+            header: "Response constructor",
+            message: `Invalid response status code ${response.status}`
+          });
+        }
+        response[kState].body = body.body;
+        if (body.type != null && !response[kState].headersList.contains("content-type", true)) {
+          response[kState].headersList.append("content-type", body.type, true);
+        }
       }
-      const qp = new URLSearchParams(pathSegments.pop());
-      qp.sort();
-      return [...pathSegments, qp.toString()].join("?");
     }
-    function matchKey(mockDispatch2, { path: path16, method, body, headers }) {
-      const pathMatch = matchValue(mockDispatch2.path, path16);
-      const methodMatch = matchValue(mockDispatch2.method, method);
-      const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
-      const headersMatch = matchHeaders(mockDispatch2, headers);
-      return pathMatch && methodMatch && bodyMatch && headersMatch;
-    }
-    function getResponseData2(data) {
-      if (Buffer.isBuffer(data)) {
-        return data;
-      } else if (typeof data === "object") {
-        return JSON.stringify(data);
-      } else {
-        return data.toString();
+    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;
     }
-    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: path16 }) => matchValue(safeUrl(path16), resolvedPath));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
+    webidl.converters.ReadableStream = webidl.interfaceConverter(
+      ReadableStream
+    );
+    webidl.converters.FormData = webidl.interfaceConverter(
+      FormData2
+    );
+    webidl.converters.URLSearchParams = webidl.interfaceConverter(
+      URLSearchParams
+    );
+    webidl.converters.XMLHttpRequestBodyInit = function(V, prefix, name) {
+      if (typeof V === "string") {
+        return webidl.converters.USVString(V, prefix, name);
       }
-      matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`);
+      if (isBlobLike(V)) {
+        return webidl.converters.Blob(V, prefix, name, { strict: false });
       }
-      matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`);
+      if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) {
+        return webidl.converters.BufferSource(V, prefix, name);
       }
-      matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers}'`);
+      if (util.isFormDataLike(V)) {
+        return webidl.converters.FormData(V, prefix, name, { strict: false });
       }
-      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);
+      if (V instanceof URLSearchParams) {
+        return webidl.converters.URLSearchParams(V, prefix, name);
       }
-    }
-    function buildKey(opts) {
-      const { path: path16, method, body, headers, query } = opts;
-      return {
-        path: path16,
-        method,
-        body,
-        headers,
-        query
-      };
-    }
-    function generateKeyValues(data) {
-      return Object.entries(data).reduce((keyValuePairs, [key, value]) => [
-        ...keyValuePairs,
-        Buffer.from(`${key}`),
-        Array.isArray(value) ? value.map((x) => Buffer.from(`${x}`)) : Buffer.from(`${value}`)
-      ], []);
-    }
-    function getStatusText(statusCode) {
-      return STATUS_CODES[statusCode] || "unknown";
-    }
-    async function getResponse(body) {
-      const buffers = [];
-      for await (const data of body) {
-        buffers.push(data);
+      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);
       }
-      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) };
+      if (V?.[Symbol.asyncIterator]) {
+        return V;
       }
-      const { data: { statusCode, data, headers, trailers, error: error3 }, delay: delay2, persist } = mockDispatch2;
-      const { timesInvoked, times } = mockDispatch2;
-      mockDispatch2.consumed = !persist && timesInvoked >= times;
-      mockDispatch2.pending = timesInvoked < times;
-      if (error3 !== null) {
-        deleteMockDispatch(this[kDispatches], key);
-        handler2.onError(error3);
-        return true;
+      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
       }
-      if (typeof delay2 === "number" && delay2 > 0) {
-        setTimeout(() => {
-          handleReply(this[kDispatches]);
-        }, delay2);
-      } else {
-        handleReply(this[kDispatches]);
+    ]);
+    module2.exports = {
+      isNetworkError,
+      makeNetworkError,
+      makeResponse,
+      makeAppropriateNetworkError,
+      filterResponse,
+      Response,
+      cloneResponse,
+      fromInnerResponse
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js
+var require_dispatcher_weakref2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js"(exports2, module2) {
+    "use strict";
+    var { kConnected, kSize } = require_symbols6();
+    var CompatWeakRef = class {
+      constructor(value) {
+        this.value = value;
       }
-      function handleReply(mockDispatches, _data = data) {
-        const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
-        const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
-        if (isPromise(body)) {
-          body.then((newData) => handleReply(mockDispatches, newData));
-          return;
-        }
-        const responseData = getResponseData2(body);
-        const responseHeaders = generateKeyValues(headers);
-        const responseTrailers = generateKeyValues(trailers);
-        handler2.abort = nop;
-        handler2.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode));
-        handler2.onData(Buffer.from(responseData));
-        handler2.onComplete(responseTrailers);
-        deleteMockDispatch(mockDispatches, key);
+      deref() {
+        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
       }
-      function resume() {
+    };
+    var CompatFinalizer = class {
+      constructor(finalizer) {
+        this.finalizer = finalizer;
       }
-      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 (error3) {
-            if (error3 instanceof MockNotMatchedError) {
-              const netConnect = agent[kGetNetConnect]();
-              if (netConnect === false) {
-                throw new MockNotMatchedError(`${error3.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(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
-              }
-            } else {
-              throw error3;
+      register(dispatcher, key) {
+        if (dispatcher.on) {
+          dispatcher.on("disconnect", () => {
+            if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {
+              this.finalizer(key);
             }
-          }
-        } 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;
+      unregister(key) {
       }
-    }
-    module2.exports = {
-      getResponseData: getResponseData2,
-      getMockDispatch,
-      addMockDispatch,
-      deleteMockDispatch,
-      buildKey,
-      generateKeyValues,
-      matchValue,
-      getResponse,
-      getStatusText,
-      mockDispatch,
-      buildMockDispatch,
-      checkNetConnect,
-      buildMockOptions,
-      getHeaderByName
+    };
+    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/mock/mock-interceptor.js
-var require_mock_interceptor2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js
+var require_request4 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js"(exports2, module2) {
     "use strict";
-    var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils2();
+    var { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body2();
+    var { Headers, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers2();
+    var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
+    var util = require_util9();
+    var nodeUtil = require("node:util");
     var {
-      kDispatches,
-      kDispatchKey,
-      kDefaultHeaders,
-      kDefaultTrailers,
-      kContentLength,
-      kMockDispatch
-    } = require_mock_symbols2();
-    var { InvalidArgumentError } = require_errors2();
-    var { buildURL } = require_util9();
-    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");
+      isValidHTTPToken,
+      sameOrigin,
+      environmentSettingsObject
+    } = require_util10();
+    var {
+      forbiddenMethodsSet,
+      corsSafeListedMethodsSet,
+      referrerPolicy,
+      requestRedirect,
+      requestMode,
+      requestCredentials,
+      requestCache,
+      requestDuplex
+    } = require_constants8();
+    var { kEnumerableProperty, normalizedMethodRecordsBase, normalizedMethodRecords } = util;
+    var { kHeaders, kSignal, kState, kDispatcher } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    var assert = require("node:assert");
+    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("node:events");
+    var kAbortController = /* @__PURE__ */ 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);
+          }
         }
-        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");
+    }
+    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;
         }
-        this[kMockDispatch].times = repeatTimes;
-        return this;
-      }
-    };
-    var MockInterceptor = class {
-      constructor(opts, mockDispatches) {
-        if (typeof opts !== "object") {
-          throw new InvalidArgumentError("opts must be an object");
+        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];
         }
-        if (typeof opts.path === "undefined") {
-          throw new InvalidArgumentError("opts.path must be defined");
+        const origin = environmentSettingsObject.settingsObject.origin;
+        let window2 = "client";
+        if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
+          window2 = request2.window;
         }
-        if (typeof opts.method === "undefined") {
-          opts.method = "GET";
+        if (init.window != null) {
+          throw new TypeError(`'window' option '${window2}' must be null`);
         }
-        if (typeof opts.path === "string") {
-          if (opts.query) {
-            opts.path = buildURL(opts.path, opts.query);
+        if ("window" in init) {
+          window2 = "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: window2,
+          // 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 {
-            const parsedURL = new URL(opts.path, "data://");
-            opts.path = parsedURL.pathname + parsedURL.search;
+            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 (typeof opts.method === "string") {
-          opts.method = opts.method.toUpperCase();
+        if (init.referrerPolicy !== void 0) {
+          request2.referrerPolicy = init.referrerPolicy;
         }
-        this[kDispatchKey] = buildKey(opts);
-        this[kDispatches] = mockDispatches;
-        this[kDefaultHeaders] = {};
-        this[kDefaultTrailers] = {};
-        this[kContentLength] = false;
+        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;
       }
-      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 };
+      // Returns request’s HTTP method, which is "GET" by default.
+      get method() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].method;
       }
-      validateReplyParameters(statusCode, data, responseOptions) {
-        if (typeof statusCode === "undefined") {
-          throw new InvalidArgumentError("statusCode must be defined");
-        }
-        if (typeof data === "undefined") {
-          throw new InvalidArgumentError("data must be defined");
+      // 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 (typeof responseOptions !== "object") {
-          throw new InvalidArgumentError("responseOptions must be an object");
+        if (this[kState].referrer === "client") {
+          return "about:client";
         }
+        return this[kState].referrer.toString();
       }
-      /**
-       * Mock an undici request with a defined reply.
-       */
-      reply(replyData) {
-        if (typeof replyData === "function") {
-          const wrappedDefaultsCallback = (opts) => {
-            const resolvedData = replyData(opts);
-            if (typeof resolvedData !== "object") {
-              throw new InvalidArgumentError("reply options callback must return an object");
-            }
-            const { statusCode: statusCode2, data: data2 = "", responseOptions: responseOptions2 = {} } = resolvedData;
-            this.validateReplyParameters(statusCode2, data2, responseOptions2);
-            return {
-              ...this.createMockScopeDispatchData(statusCode2, data2, responseOptions2)
-            };
-          };
-          const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback);
-          return new MockScope(newMockDispatch2);
-        }
-        const [statusCode, data = "", responseOptions = {}] = [...arguments];
-        this.validateReplyParameters(statusCode, data, responseOptions);
-        const dispatchData = this.createMockScopeDispatchData(statusCode, data, responseOptions);
-        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData);
-        return new MockScope(newMockDispatch);
+      // 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;
       }
-      /**
-       * Mock an undici request with a defined error.
-       */
-      replyWithError(error3) {
-        if (typeof error3 === "undefined") {
-          throw new InvalidArgumentError("error must be defined");
-        }
-        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error: error3 });
-        return new MockScope(newMockDispatch);
+      // 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;
       }
-      /**
-       * 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;
+      // 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;
       }
-      /**
-       * 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;
+      // 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;
       }
-      /**
-       * Set reply content length header for replies on the interceptor
-       */
-      replyContentLength() {
-        this[kContentLength] = true;
-        return this;
+      // 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;
       }
-    };
-    module2.exports.MockInterceptor = MockInterceptor;
-    module2.exports.MockScope = MockScope;
-  }
-});
-
-// node_modules/undici/lib/mock/mock-client.js
-var require_mock_client2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
-    "use strict";
-    var { promisify } = require("util");
-    var Client = require_client2();
-    var { buildMockDispatch } = require_mock_utils2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kClose,
-      kOriginalClose,
-      kOrigin,
-      kOriginalDispatch,
-      kConnected
-    } = require_mock_symbols2();
-    var { MockInterceptor } = require_mock_interceptor2();
-    var Symbols = require_symbols6();
-    var { InvalidArgumentError } = require_errors2();
-    var MockClient = class extends Client {
-      constructor(origin, opts) {
-        super(origin, opts);
-        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
-        }
-        this[kMockAgent] = opts.agent;
-        this[kOrigin] = origin;
-        this[kDispatches] = [];
-        this[kConnected] = 1;
-        this[kOriginalDispatch] = this.dispatch;
-        this[kOriginalClose] = this.close.bind(this);
-        this.dispatch = buildMockDispatch.call(this);
-        this.close = this[kClose];
+      // 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;
       }
-      get [Symbols.kConnected]() {
-        return this[kConnected];
+      // 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;
       }
-      /**
-       * Sets up the base interceptor for mocking replies from undici.
-       */
-      intercept(opts) {
-        return new MockInterceptor(opts, this[kDispatches]);
+      // Returns a boolean indicating whether or not request is for a reload
+      // navigation.
+      get isReloadNavigation() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].reloadNavigation;
       }
-      async [kClose]() {
-        await promisify(this[kOriginalClose])();
-        this[kConnected] = 0;
-        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
+      // 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;
       }
-    };
-    module2.exports = MockClient;
-  }
-});
-
-// node_modules/undici/lib/mock/mock-pool.js
-var require_mock_pool2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
-    "use strict";
-    var { promisify } = require("util");
-    var Pool = require_pool2();
-    var { buildMockDispatch } = require_mock_utils2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kClose,
-      kOriginalClose,
-      kOrigin,
-      kOriginalDispatch,
-      kConnected
-    } = require_mock_symbols2();
-    var { MockInterceptor } = require_mock_interceptor2();
-    var Symbols = require_symbols6();
-    var { InvalidArgumentError } = require_errors2();
-    var MockPool = class extends Pool {
-      constructor(origin, opts) {
-        super(origin, opts);
-        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
-        }
-        this[kMockAgent] = opts.agent;
-        this[kOrigin] = origin;
-        this[kDispatches] = [];
-        this[kConnected] = 1;
-        this[kOriginalDispatch] = this.dispatch;
-        this[kOriginalClose] = this.close.bind(this);
-        this.dispatch = buildMockDispatch.call(this);
-        this.close = this[kClose];
+      // 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 [Symbols.kConnected]() {
-        return this[kConnected];
+      get body() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      /**
-       * Sets up the base interceptor for mocking replies from undici.
-       */
-      intercept(opts) {
-        return new MockInterceptor(opts, this[kDispatches]);
+      get bodyUsed() {
+        webidl.brandCheck(this, _Request);
+        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
       }
-      async [kClose]() {
-        await promisify(this[kOriginalClose])();
-        this[kConnected] = 0;
-        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
+      get duplex() {
+        webidl.brandCheck(this, _Request);
+        return "half";
       }
-    };
-    module2.exports = MockPool;
-  }
-});
-
-// node_modules/undici/lib/mock/pluralizer.js
-var require_pluralizer2 = __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;
+      // 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]));
       }
-      pluralize(count) {
-        const one = count === 1;
-        const keys = one ? singulars : plurals;
-        const noun = one ? this.singular : this.plural;
-        return { ...keys, count, noun };
+      [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)}`;
       }
     };
-  }
-});
-
-// node_modules/undici/lib/mock/pending-interceptors-formatter.js
-var require_pending_interceptors_formatter2 = __commonJS({
-  "node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
-    "use strict";
-    var { Transform } = require("stream");
-    var { Console } = require("console");
-    module2.exports = class PendingInterceptorsFormatter {
-      constructor({ disableColors } = {}) {
-        this.transform = new Transform({
-          transform(chunk, _enc, cb) {
-            cb(null, chunk);
-          }
-        });
-        this.logger = new Console({
-          stdout: this.transform,
-          inspectOptions: {
-            colors: !disableColors && !process.env.CI
-          }
-        });
+    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);
       }
-      format(pendingInterceptors) {
-        const withPrettyHeaders = pendingInterceptors.map(
-          ({ method, path: path16, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
-            Method: method,
-            Origin: origin,
-            Path: path16,
-            "Status code": statusCode,
-            Persistent: persist ? "\u2705" : "\u274C",
-            Invocations: timesInvoked,
-            Remaining: persist ? Infinity : times - timesInvoked
-          })
-        );
-        this.logger.table(withPrettyHeaders);
-        return this.transform.read().toString();
+      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);
     };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-agent.js
-var require_mock_agent2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
-    "use strict";
-    var { kClients } = require_symbols6();
-    var Agent = require_agent2();
-    var {
-      kAgent,
-      kMockAgentSet,
-      kMockAgentGet,
-      kDispatches,
-      kIsMockActive,
-      kNetConnect,
-      kGetNetConnect,
-      kOptions,
-      kFactory
-    } = require_mock_symbols2();
-    var MockClient = require_mock_client2();
-    var MockPool = require_mock_pool2();
-    var { matchValue, buildMockOptions } = require_mock_utils2();
-    var { InvalidArgumentError, UndiciError } = require_errors2();
-    var Dispatcher = require_dispatcher2();
-    var Pluralizer = require_pluralizer2();
-    var PendingInterceptorsFormatter = require_pending_interceptors_formatter2();
-    var FakeWeakRef = class {
-      constructor(value) {
-        this.value = value;
+    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
       }
-      deref() {
-        return this.value;
+    ]);
+    module2.exports = { Request, makeRequest, fromInnerRequest, cloneRequest };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js
+var require_fetch2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js"(exports2, module2) {
+    "use strict";
+    var {
+      makeNetworkError,
+      makeAppropriateNetworkError,
+      filterResponse,
+      makeResponse,
+      fromInnerResponse
+    } = require_response2();
+    var { HeadersList } = require_headers2();
+    var { Request, cloneRequest } = require_request4();
+    var zlib2 = 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_util10();
+    var { kState, kDispatcher } = require_symbols7();
+    var assert = require("node:assert");
+    var { safelyExtractBody, extractBody } = require_body2();
+    var {
+      redirectStatusSet,
+      nullBodyStatus,
+      safeMethodsSet,
+      requestBodyHeader,
+      subresourceSet
+    } = require_constants8();
+    var EE = require("node:events");
+    var { Readable: Readable2, pipeline, finished } = require("node:stream");
+    var { addAbortListener, isErrored, isReadable, bufferToLowerCasedHeaderName } = require_util9();
+    var { dataURLProcessor, serializeAMimeType, minimizeSupportedMimeType } = require_data_url2();
+    var { getGlobalDispatcher } = require_global4();
+    var { webidl } = require_webidl2();
+    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";
       }
-    };
-    var MockAgent = class extends Dispatcher {
-      constructor(opts) {
-        super(opts);
-        this[kNetConnect] = true;
-        this[kIsMockActive] = true;
-        if (opts && opts.agent && typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
+      terminate(reason) {
+        if (this.state !== "ongoing") {
+          return;
         }
-        const agent = opts && opts.agent ? opts.agent : new Agent(opts);
-        this[kAgent] = agent;
-        this[kClients] = agent[kClients];
-        this[kOptions] = buildMockOptions(opts);
+        this.state = "terminated";
+        this.connection?.destroy(reason);
+        this.emit("terminated", reason);
       }
-      get(origin) {
-        let dispatcher = this[kMockAgentGet](origin);
-        if (!dispatcher) {
-          dispatcher = this[kFactory](origin);
-          this[kMockAgentSet](origin, dispatcher);
+      // https://fetch.spec.whatwg.org/#fetch-controller-abort
+      abort(error3) {
+        if (this.state !== "ongoing") {
+          return;
         }
-        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.");
+        this.state = "aborted";
+        if (!error3) {
+          error3 = new DOMException("The operation was aborted.", "AbortError");
         }
+        this.serializedAbortReason = error3;
+        this.connection?.destroy(error3);
+        this.emit("terminated", error3);
       }
-      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];
+    };
+    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;
       }
-      [kMockAgentSet](origin, dispatcher) {
-        this[kClients].set(origin, new FakeWeakRef(dispatcher));
+      const request2 = requestObject[kState];
+      if (requestObject.signal.aborted) {
+        abortFetch(p, request2, null, requestObject.signal.reason);
+        return p.promise;
       }
-      [kFactory](origin) {
-        const mockOptions = Object.assign({ agent: this }, this[kOptions]);
-        return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions);
+      const globalObject = request2.client.globalObject;
+      if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") {
+        request2.serviceWorkers = "none";
       }
-      [kMockAgentGet](origin) {
-        const ref = this[kClients].get(origin);
-        if (ref) {
-          return ref.deref();
+      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);
         }
-        if (typeof origin !== "string") {
-          const dispatcher = this[kFactory]("http://localhost:9999");
-          this[kMockAgentSet](origin, dispatcher);
-          return dispatcher;
+      );
+      const processResponse = (response) => {
+        if (locallyAborted) {
+          return;
         }
-        for (const [keyMatcher, nonExplicitRef] of Array.from(this[kClients])) {
-          const nonExplicitDispatcher = nonExplicitRef.deref();
-          if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) {
-            const dispatcher = this[kFactory](origin);
-            this[kMockAgentSet](origin, dispatcher);
-            dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches];
-            return dispatcher;
-          }
+        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;
       }
-      [kGetNetConnect]() {
-        return this[kNetConnect];
+      if (!response.urlList?.length) {
+        return;
       }
-      pendingInterceptors() {
-        const mockAgentClients = this[kClients];
-        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope.deref()[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
+      const originalURL = response.urlList[0];
+      let timingInfo = response.timingInfo;
+      let cacheState = response.cacheState;
+      if (!urlIsHttpHttpsScheme(originalURL)) {
+        return;
       }
-      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());
+      if (timingInfo === null) {
+        return;
       }
-    };
-    module2.exports = MockAgent;
-  }
-});
-
-// node_modules/undici/lib/proxy-agent.js
-var require_proxy_agent2 = __commonJS({
-  "node_modules/undici/lib/proxy-agent.js"(exports2, module2) {
-    "use strict";
-    var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols6();
-    var { URL: URL2 } = require("url");
-    var Agent = require_agent2();
-    var Pool = require_pool2();
-    var DispatcherBase = require_dispatcher_base2();
-    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
-    var buildConnector = require_connect2();
-    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
-    var kClient = /* @__PURE__ */ Symbol("proxy client");
-    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
-    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
-    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
-    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
-    function defaultProtocolPort(protocol) {
-      return protocol === "https:" ? 443 : 80;
+      if (!response.timingAllowPassed) {
+        timingInfo = createOpaqueTimingInfo({
+          startTime: timingInfo.startTime
+        });
+        cacheState = "";
+      }
+      timingInfo.endTime = coarsenedSharedCurrentTime();
+      response.timingInfo = timingInfo;
+      markResourceTiming(
+        timingInfo,
+        originalURL.href,
+        initiatorType,
+        globalThis,
+        cacheState
+      );
     }
-    function buildProxyOptions(opts) {
-      if (typeof opts === "string") {
-        opts = { uri: opts };
+    var markResourceTiming = performance.markResourceTiming;
+    function abortFetch(p, request2, responseObject, error3) {
+      if (p) {
+        p.reject(error3);
       }
-      if (!opts || !opts.uri) {
-        throw new InvalidArgumentError("Proxy opts.uri is mandatory");
+      if (request2.body != null && isReadable(request2.body?.stream)) {
+        request2.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
+          }
+          throw err;
+        });
       }
-      return {
-        uri: opts.uri,
-        protocol: opts.protocol || "https"
-      };
-    }
-    function defaultFactory(origin, opts) {
-      return new Pool(origin, opts);
-    }
-    var ProxyAgent = class extends DispatcherBase {
-      constructor(opts) {
-        super(opts);
-        this[kProxy] = buildProxyOptions(opts);
-        this[kAgent] = new Agent(opts);
-        this[kInterceptors] = opts.interceptors && opts.interceptors.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : [];
-        if (typeof opts === "string") {
-          opts = { uri: opts };
-        }
-        if (!opts || !opts.uri) {
-          throw new InvalidArgumentError("Proxy opts.uri is mandatory");
-        }
-        const { clientFactory = defaultFactory } = opts;
-        if (typeof clientFactory !== "function") {
-          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
-        }
-        this[kRequestTls] = opts.requestTls;
-        this[kProxyTls] = opts.proxyTls;
-        this[kProxyHeaders] = opts.headers || {};
-        const resolvedUrl = new URL2(opts.uri);
-        const { origin, port, host, username, password } = resolvedUrl;
-        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 });
-        this[kClient] = clientFactory(resolvedUrl, { connect });
-        this[kAgent] = new Agent({
-          ...opts,
-          connect: async (opts2, callback) => {
-            let requestedHost = opts2.host;
-            if (!opts2.port) {
-              requestedHost += `:${defaultProtocolPort(opts2.protocol)}`;
-            }
-            try {
-              const { socket, statusCode } = await this[kClient].connect({
-                origin,
-                port,
-                path: requestedHost,
-                signal: opts2.signal,
-                headers: {
-                  ...this[kProxyHeaders],
-                  host
-                }
-              });
-              if (statusCode !== 200) {
-                socket.on("error", () => {
-                }).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) {
-              callback(err);
-            }
+      if (responseObject == null) {
+        return;
+      }
+      const response = responseObject[kState];
+      if (response.body != null && isReadable(response.body?.stream)) {
+        response.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
           }
+          throw err;
         });
       }
-      dispatch(opts, handler2) {
-        const { host } = new URL2(opts.origin);
-        const headers = buildHeaders(opts.headers);
-        throwIfProxyAuthIsSent(headers);
-        return this[kAgent].dispatch(
-          {
-            ...opts,
-            headers: {
-              ...headers,
-              host
-            }
-          },
-          handler2
-        );
+    }
+    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;
       }
-      async [kClose]() {
-        await this[kAgent].close();
-        await this[kClient].close();
+      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";
       }
-      async [kDestroy]() {
-        await this[kAgent].destroy();
-        await this[kClient].destroy();
+      if (request2.origin === "client") {
+        request2.origin = request2.client.origin;
       }
-    };
-    function buildHeaders(headers) {
-      if (Array.isArray(headers)) {
-        const headersPair = {};
-        for (let i = 0; i < headers.length; i += 2) {
-          headersPair[headers[i]] = headers[i + 1];
+      if (request2.policyContainer === "client") {
+        if (request2.client != null) {
+          request2.policyContainer = clonePolicyContainer(
+            request2.client.policyContainer
+          );
+        } else {
+          request2.policyContainer = makePolicyContainer();
         }
-        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");
+      if (!request2.headersList.contains("accept", true)) {
+        const value = "*/*";
+        request2.headersList.append("accept", value, true);
       }
-    }
-    module2.exports = ProxyAgent;
-  }
-});
-
-// node_modules/undici/lib/handler/RetryHandler.js
-var require_RetryHandler = __commonJS({
-  "node_modules/undici/lib/handler/RetryHandler.js"(exports2, module2) {
-    var assert = require("assert");
-    var { kRetryHandlerDefaultRetry } = require_symbols6();
-    var { RequestRetryError } = require_errors2();
-    var { isDisturbed, parseHeaders, parseRangeHeader } = require_util9();
-    function calculateRetryAfterHeader(retryAfter) {
-      const current = Date.now();
-      const diff = new Date(retryAfter).getTime() - current;
-      return diff;
-    }
-    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;
-        this.abort = null;
-        this.aborted = false;
-        this.retryOpts = {
-          retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry],
-          retryAfter: retryAfter ?? true,
-          maxTimeout: maxTimeout ?? 30 * 1e3,
-          // 30s,
-          timeout: 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"
-          ]
-        };
-        this.retryCount = 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;
+      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);
+        })();
       }
-      onRequestSent() {
-        if (this.handler.onRequestSent) {
-          this.handler.onRequestSent();
-        }
+      if (recursive) {
+        return response;
       }
-      onUpgrade(statusCode, headers, socket) {
-        if (this.handler.onUpgrade) {
-          this.handler.onUpgrade(statusCode, headers, socket);
+      if (response.status !== 0 && !response.internalResponse) {
+        if (request2.responseTainting === "cors") {
         }
-      }
-      onConnect(abort) {
-        if (this.aborted) {
-          abort(this.reason);
+        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 {
-          this.abort = abort;
+          assert(false);
         }
       }
-      onBodySent(chunk) {
-        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
+      let internalResponse = response.status === 0 ? response : response.internalResponse;
+      if (internalResponse.urlList.length === 0) {
+        internalResponse.urlList.push(...request2.urlList);
       }
-      static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) {
-        const { statusCode, code, headers } = err;
-        const { method, retryOptions } = opts;
-        const {
-          maxRetries,
-          timeout,
-          maxTimeout,
-          timeoutFactor,
-          statusCodes,
-          errorCodes,
-          methods
-        } = retryOptions;
-        let { counter, currentTimeout } = state;
-        currentTimeout = currentTimeout != null && currentTimeout > 0 ? currentTimeout : timeout;
-        if (code && code !== "UND_ERR_REQ_RETRY" && code !== "UND_ERR_SOCKET" && !errorCodes.includes(code)) {
-          cb(err);
+      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;
         }
-        if (Array.isArray(methods) && !methods.includes(method)) {
-          cb(err);
-          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"));
         }
-        if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) {
-          cb(err);
-          return;
+        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 type2 = 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", type2, 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, type2);
+            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", type2, true);
+            response.headersList.set("content-range", contentRange, true);
+          }
+          return Promise.resolve(response);
         }
-        if (counter > maxRetries) {
-          cb(err);
-          return;
+        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]
+          }));
         }
-        let retryAfterHeader = headers != null && headers["retry-after"];
-        if (retryAfterHeader) {
-          retryAfterHeader = Number(retryAfterHeader);
-          retryAfterHeader = isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3;
+        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"));
         }
-        const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(currentTimeout * timeoutFactor ** counter, maxTimeout);
-        state.currentTimeout = retryTimeout;
-        setTimeout(() => cb(null), retryTimeout);
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const headers = parseHeaders(rawHeaders);
-        this.retryCount += 1;
-        if (statusCode >= 300) {
-          this.abort(
-            new RequestRetryError("Request failed", statusCode, {
-              headers,
-              count: this.retryCount
-            })
-          );
-          return false;
+    }
+    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;
         }
-        if (this.resume != null) {
-          this.resume = null;
-          if (statusCode !== 206) {
-            return true;
-          }
-          const contentRange = parseRangeHeader(headers["content-range"]);
-          if (!contentRange) {
-            this.abort(
-              new RequestRetryError("Content-Range mismatch", statusCode, {
-                headers,
-                count: this.retryCount
-              })
-            );
-            return false;
+        fetchParams.controller.reportTimingSteps = () => {
+          if (fetchParams.request.url.protocol !== "https:") {
+            return;
           }
-          if (this.etag != null && this.etag !== headers.etag) {
-            this.abort(
-              new RequestRetryError("ETag mismatch", statusCode, {
-                headers,
-                count: this.retryCount
-              })
-            );
-            return false;
+          timingInfo.endTime = unsafeEndTime;
+          let cacheState = response.cacheState;
+          const bodyInfo = response.bodyInfo;
+          if (!response.timingAllowPassed) {
+            timingInfo = createOpaqueTimingInfo(timingInfo);
+            cacheState = "";
           }
-          const { start, size, end = size } = 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
-              );
+          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);
             }
-            const { start, size, end = size } = range;
-            assert(
-              start != null && Number.isFinite(start) && this.start !== start,
-              "content-range mismatch"
-            );
-            assert(Number.isFinite(start));
-            assert(
-              end != null && Number.isFinite(end) && this.end !== 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) : null;
+          if (fetchParams.request.initiatorType != null) {
+            markResourceTiming(timingInfo, fetchParams.request.url.href, fetchParams.request.initiatorType, globalThis, cacheState, bodyInfo, responseStatus);
           }
-          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;
-          return this.handler.onHeaders(
-            statusCode,
-            rawHeaders,
-            resume,
-            statusMessage
-          );
-        }
-        const err = new RequestRetryError("Request failed", statusCode, {
-          headers,
-          count: this.retryCount
+        };
+        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;
         });
-        this.abort(err);
-        return false;
       }
-      onData(chunk) {
-        this.start += chunk.length;
-        return this.handler.onData(chunk);
+      const internalResponse = response.type === "error" ? response : response.internalResponse ?? response;
+      if (internalResponse.body == null) {
+        processResponseEndOfBody();
+      } else {
+        finished(internalResponse.body.stream, () => {
+          processResponseEndOfBody();
+        });
       }
-      onComplete(rawTrailers) {
-        this.retryCount = 0;
-        return this.handler.onComplete(rawTrailers);
+    }
+    async function httpFetch(fetchParams) {
+      const request2 = fetchParams.request;
+      let response = null;
+      let actualResponse = null;
+      const timingInfo = fetchParams.timingInfo;
+      if (request2.serviceWorkers === "all") {
       }
-      onError(err) {
-        if (this.aborted || isDisturbed(this.opts.body)) {
-          return this.handler.onError(err);
+      if (response === null) {
+        if (request2.redirect === "follow") {
+          request2.serviceWorkers = "none";
         }
-        this.retryOpts.retry(
-          err,
-          {
-            state: { counter: this.retryCount++, currentTimeout: this.retryAfter },
-            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) {
-            this.opts = {
-              ...this.opts,
-              headers: {
-                ...this.opts.headers,
-                range: `bytes=${this.start}-${this.end ?? ""}`
-              }
-            };
-          }
-          try {
-            this.dispatch(this.opts, this);
-          } catch (err3) {
-            this.handler.onError(err3);
-          }
+        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;
         }
       }
-    };
-    module2.exports = RetryHandler;
-  }
-});
-
-// node_modules/undici/lib/global.js
-var require_global4 = __commonJS({
-  "node_modules/undici/lib/global.js"(exports2, module2) {
-    "use strict";
-    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
-    var { InvalidArgumentError } = require_errors2();
-    var Agent = require_agent2();
-    if (getGlobalDispatcher() === void 0) {
-      setGlobalDispatcher(new Agent());
-    }
-    function setGlobalDispatcher(agent) {
-      if (!agent || typeof agent.dispatch !== "function") {
-        throw new InvalidArgumentError("Argument agent must implement Agent");
+      if ((request2.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
+        request2.origin,
+        request2.client,
+        request2.destination,
+        actualResponse
+      ) === "blocked") {
+        return makeNetworkError("blocked");
       }
-      Object.defineProperty(globalThis, globalDispatcher, {
-        value: agent,
-        writable: true,
-        enumerable: false,
-        configurable: false
-      });
+      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 getGlobalDispatcher() {
-      return globalThis[globalDispatcher];
+    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);
     }
-    module2.exports = {
-      setGlobalDispatcher,
-      getGlobalDispatcher
-    };
-  }
-});
-
-// node_modules/undici/lib/handler/DecoratorHandler.js
-var require_DecoratorHandler = __commonJS({
-  "node_modules/undici/lib/handler/DecoratorHandler.js"(exports2, module2) {
-    "use strict";
-    module2.exports = class DecoratorHandler {
-      constructor(handler2) {
-        this.handler = handler2;
+    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;
       }
-      onConnect(...args) {
-        return this.handler.onConnect(...args);
+      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";
       }
-      onError(...args) {
-        return this.handler.onError(...args);
+      if (contentLength != null) {
+        contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
       }
-      onUpgrade(...args) {
-        return this.handler.onUpgrade(...args);
+      if (contentLengthHeaderValue != null) {
+        httpRequest.headersList.append("content-length", contentLengthHeaderValue, true);
       }
-      onHeaders(...args) {
-        return this.handler.onHeaders(...args);
+      if (contentLength != null && httpRequest.keepalive) {
       }
-      onData(...args) {
-        return this.handler.onData(...args);
+      if (httpRequest.referrer instanceof URL) {
+        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href), true);
       }
-      onComplete(...args) {
-        return this.handler.onComplete(...args);
+      appendRequestOriginHeader(httpRequest);
+      appendFetchMetadata(httpRequest);
+      if (!httpRequest.headersList.contains("user-agent", true)) {
+        httpRequest.headersList.append("user-agent", defaultUserAgent);
       }
-      onBodySent(...args) {
-        return this.handler.onBodySent(...args);
+      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";
       }
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/headers.js
-var require_headers2 = __commonJS({
-  "node_modules/undici/lib/fetch/headers.js"(exports2, module2) {
-    "use strict";
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var { kGuard } = require_symbols7();
-    var { kEnumerableProperty } = require_util9();
-    var {
-      makeIterator,
-      isValidHeaderName,
-      isValidHeaderValue
-    } = require_util10();
-    var util = require("util");
-    var { webidl } = require_webidl2();
-    var assert = require("assert");
-    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
-    var kHeadersSortedMap = /* @__PURE__ */ 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]);
+      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);
         }
-      } 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]]);
+        if (!httpRequest.headersList.contains("cache-control", true)) {
+          httpRequest.headersList.append("cache-control", "no-cache", true);
         }
-      } 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 (headers[kGuard] === "immutable") {
-        throw new TypeError("immutable");
-      } else if (headers[kGuard] === "request-no-cors") {
+      if (httpRequest.headersList.contains("range", true)) {
+        httpRequest.headersList.append("accept-encoding", "identity", true);
       }
-      return headers[kHeadersList].append(name, value);
-    }
-    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];
+      if (!httpRequest.headersList.contains("accept-encoding", true)) {
+        if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
+          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate", true);
         } else {
-          this[kHeadersMap] = new Map(init);
-          this[kHeadersSortedMap] = null;
+          httpRequest.headersList.append("accept-encoding", "gzip, deflate", true);
         }
       }
-      // https://fetch.spec.whatwg.org/#header-list-contains
-      contains(name) {
-        name = name.toLowerCase();
-        return this[kHeadersMap].has(name);
+      httpRequest.headersList.delete("host", true);
+      if (includeCredentials) {
       }
-      clear() {
-        this[kHeadersMap].clear();
-        this[kHeadersSortedMap] = null;
-        this.cookies = null;
+      if (httpCache == null) {
+        httpRequest.cache = "no-store";
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-append
-      append(name, value) {
-        this[kHeadersSortedMap] = null;
-        const lowercaseName = name.toLowerCase();
-        const exists = this[kHeadersMap].get(lowercaseName);
-        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 (httpRequest.cache !== "no-store" && httpRequest.cache !== "reload") {
+      }
+      if (response == null) {
+        if (httpRequest.cache === "only-if-cached") {
+          return makeNetworkError("only if cached");
         }
-        if (lowercaseName === "set-cookie") {
-          this.cookies ??= [];
-          this.cookies.push(value);
+        const forwardResponse = await httpNetworkFetch(
+          httpFetchParams,
+          includeCredentials,
+          isNewConnectionFetch
+        );
+        if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {
         }
-      }
-      // https://fetch.spec.whatwg.org/#concept-header-list-set
-      set(name, value) {
-        this[kHeadersSortedMap] = null;
-        const lowercaseName = name.toLowerCase();
-        if (lowercaseName === "set-cookie") {
-          this.cookies = [value];
+        if (revalidatingFlag && forwardResponse.status === 304) {
         }
-        this[kHeadersMap].set(lowercaseName, { name, value });
-      }
-      // https://fetch.spec.whatwg.org/#concept-header-list-delete
-      delete(name) {
-        this[kHeadersSortedMap] = null;
-        name = name.toLowerCase();
-        if (name === "set-cookie") {
-          this.cookies = null;
+        if (response == null) {
+          response = forwardResponse;
         }
-        this[kHeadersMap].delete(name);
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-get
-      get(name) {
-        const value = this[kHeadersMap].get(name.toLowerCase());
-        return value === void 0 ? null : value.value;
+      response.urlList = [...httpRequest.urlList];
+      if (httpRequest.headersList.contains("range", true)) {
+        response.rangeRequested = true;
       }
-      *[Symbol.iterator]() {
-        for (const [name, { value }] of this[kHeadersMap]) {
-          yield [name, value];
+      response.requestIncludesCredentials = includeCredentials;
+      if (response.status === 407) {
+        if (request2.window === "no-window") {
+          return makeNetworkError();
         }
-      }
-      get entries() {
-        const headers = {};
-        if (this[kHeadersMap].size) {
-          for (const { name, value } of this[kHeadersMap].values()) {
-            headers[name] = value;
-          }
+        if (isCancelled(fetchParams)) {
+          return makeAppropriateNetworkError(fetchParams);
         }
-        return headers;
+        return makeNetworkError("proxy authentication required");
       }
-    };
-    var Headers = class _Headers {
-      constructor(init = void 0) {
-        if (init === kConstruct) {
-          return;
-        }
-        this[kHeadersList] = new HeadersList();
-        this[kGuard] = "none";
-        if (init !== void 0) {
-          init = webidl.converters.HeadersInit(init);
-          fill(this, init);
+      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
+        );
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-append
-      append(name, value) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.append" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
-        return appendHeader(this, name, value);
+      if (isAuthenticationFetch) {
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-delete
-      delete(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.delete" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.delete",
-            value: name,
-            type: "header name"
-          });
-        }
-        if (this[kGuard] === "immutable") {
-          throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
-        }
-        if (!this[kHeadersList].contains(name)) {
-          return;
+      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"));
+            }
+          }
         }
-        this[kHeadersList].delete(name);
+      };
+      const request2 = fetchParams.request;
+      let response = null;
+      const timingInfo = fetchParams.timingInfo;
+      const httpCache = null;
+      if (httpCache == null) {
+        request2.cache = "no-store";
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-get
-      get(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.get" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.get",
-            value: name,
-            type: "header name"
-          });
-        }
-        return this[kHeadersList].get(name);
+      const newConnection = forceNewConnection ? "yes" : "no";
+      if (request2.mode === "websocket") {
+      } else {
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-has
-      has(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.has" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.has",
-            value: name,
-            type: "header name"
-          });
-        }
-        return this[kHeadersList].contains(name);
+      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);
+          }
+        })();
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-set
-      set(name, value) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.set" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
-        value = headerValueNormalize(value);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
-            value: name,
-            type: "header name"
-          });
-        } else if (!isValidHeaderValue(value)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
-            value,
-            type: "header value"
-          });
+      try {
+        const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
+        if (socket) {
+          response = makeResponse({ status, statusText, headersList, socket });
+        } else {
+          const iterator2 = body[Symbol.asyncIterator]();
+          fetchParams.controller.next = () => iterator2.next();
+          response = makeResponse({ status, statusText, headersList });
         }
-        if (this[kGuard] === "immutable") {
-          throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
+      } catch (err) {
+        if (err.name === "AbortError") {
+          fetchParams.controller.connection.destroy();
+          return makeAppropriateNetworkError(fetchParams, err);
         }
-        this[kHeadersList].set(name, value);
+        return makeNetworkError(err);
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
-      getSetCookie() {
-        webidl.brandCheck(this, _Headers);
-        const list = this[kHeadersList].cookies;
-        if (list) {
-          return [...list];
+      const pullAlgorithm = async () => {
+        await fetchParams.controller.resume();
+      };
+      const cancelAlgorithm = (reason) => {
+        if (!isCancelled(fetchParams)) {
+          fetchParams.controller.abort(reason);
         }
-        return [];
-      }
-      // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
-      get [kHeadersSortedMap]() {
-        if (this[kHeadersList][kHeadersSortedMap]) {
-          return this[kHeadersList][kHeadersSortedMap];
+      };
+      const stream2 = new ReadableStream(
+        {
+          async start(controller) {
+            fetchParams.controller.controller = controller;
+          },
+          async pull(controller) {
+            await pullAlgorithm(controller);
+          },
+          async cancel(reason) {
+            await cancelAlgorithm(reason);
+          },
+          type: "bytes"
         }
-        const headers = [];
-        const names = [...this[kHeadersList]].sort((a, b) => a[0] < b[0] ? -1 : 1);
-        const cookies = this[kHeadersList].cookies;
-        for (let i = 0; i < names.length; ++i) {
-          const [name, value] = names[i];
-          if (name === "set-cookie") {
-            for (let j = 0; j < cookies.length; ++j) {
-              headers.push([name, cookies[j]]);
+      );
+      response.body = { stream: stream2, 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(stream2)) {
+            fetchParams.controller.terminate();
+            return;
+          }
+          if (fetchParams.controller.controller.desiredSize <= 0) {
+            return;
+          }
+        }
+      };
+      function onAborted(reason) {
+        if (isAborted(fetchParams)) {
+          response.aborted = true;
+          if (isReadable(stream2)) {
+            fetchParams.controller.controller.error(
+              fetchParams.controller.serializedAbortReason
+            );
+          }
+        } else {
+          if (isReadable(stream2)) {
+            fetchParams.controller.controller.error(new TypeError("terminated", {
+              cause: isErrorLike(reason) ? reason : void 0
+            }));
+          }
+        }
+        fetchParams.controller.connection.destroy();
+      }
+      return response;
+      function dispatch({ body }) {
+        const url = requestCurrentURL(request2);
+        const agent = fetchParams.controller.dispatcher;
+        return new Promise((resolve9, reject) => agent.dispatch(
+          {
+            path: url.pathname + url.search,
+            origin: url.origin,
+            method: request2.method,
+            body: agent.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
+            headers: request2.headersList.entries,
+            maxRedirections: 0,
+            upgrade: request2.mode === "websocket" ? "websocket" : void 0
+          },
+          {
+            body: null,
+            abort: null,
+            onConnect(abort) {
+              const { connection } = fetchParams.controller;
+              timingInfo.finalConnectionTimingInfo = clampAndCoarsenConnectionTimingInfo(void 0, timingInfo.postRedirectStartTime, fetchParams.crossOriginIsolatedCapability);
+              if (connection.destroyed) {
+                abort(new DOMException("The operation was aborted.", "AbortError"));
+              } else {
+                fetchParams.controller.on("terminated", abort);
+                this.abort = connection.abort = abort;
+              }
+              timingInfo.finalNetworkRequestStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+            },
+            onResponseStarted() {
+              timingInfo.finalNetworkResponseStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+            },
+            onHeaders(status, rawHeaders, resume, statusText) {
+              if (status < 200) {
+                return;
+              }
+              let location = "";
+              const headersList = new HeadersList();
+              for (let i = 0; i < rawHeaders.length; i += 2) {
+                headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true);
+              }
+              location = headersList.get("location", true);
+              this.body = new Readable2({ 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(zlib2.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: zlib2.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib2.constants.Z_SYNC_FLUSH
+                    }));
+                  } else if (coding === "deflate") {
+                    decoders.push(createInflate({
+                      flush: zlib2.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib2.constants.Z_SYNC_FLUSH
+                    }));
+                  } else if (coding === "br") {
+                    decoders.push(zlib2.createBrotliDecompress({
+                      flush: zlib2.constants.BROTLI_OPERATION_FLUSH,
+                      finishFlush: zlib2.constants.BROTLI_OPERATION_FLUSH
+                    }));
+                  } else {
+                    decoders.length = 0;
+                    break;
+                  }
+                }
+              }
+              const onError = this.onError.bind(this);
+              resolve9({
+                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(error3) {
+              if (this.abort) {
+                fetchParams.controller.off("terminated", this.abort);
+              }
+              this.body?.destroy(error3);
+              fetchParams.controller.terminate(error3);
+              reject(error3);
+            },
+            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);
+              }
+              resolve9({
+                status,
+                statusText: STATUS_CODES[status],
+                headersList,
+                socket
+              });
+              return true;
             }
-          } else {
-            assert(value !== null);
-            headers.push([name, value]);
           }
-        }
-        this[kHeadersList][kHeadersSortedMap] = headers;
-        return headers;
-      }
-      keys() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key"
-        );
-      }
-      values() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "value"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "value"
-        );
-      }
-      entries() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key+value"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key+value"
-        );
-      }
-      /**
-       * @param {(value: string, key: string, self: Headers) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'."
-          );
-        }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
-        }
-      }
-      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")]() {
-        webidl.brandCheck(this, _Headers);
-        return this[kHeadersList];
-      }
-    };
-    Headers.prototype[Symbol.iterator] = Headers.prototype.entries;
-    Object.defineProperties(Headers.prototype, {
-      append: kEnumerableProperty,
-      delete: kEnumerableProperty,
-      get: kEnumerableProperty,
-      has: kEnumerableProperty,
-      set: kEnumerableProperty,
-      getSetCookie: kEnumerableProperty,
-      keys: kEnumerableProperty,
-      values: kEnumerableProperty,
-      entries: kEnumerableProperty,
-      forEach: kEnumerableProperty,
-      [Symbol.iterator]: { enumerable: false },
-      [Symbol.toStringTag]: {
-        value: "Headers",
-        configurable: true
-      },
-      [util.inspect.custom]: {
-        enumerable: false
-      }
-    });
-    webidl.converters.HeadersInit = function(V) {
-      if (webidl.util.Type(V) === "Object") {
-        if (V[Symbol.iterator]) {
-          return webidl.converters["sequence>"](V);
-        }
-        return webidl.converters["record"](V);
+        ));
       }
-      throw webidl.errors.conversionFailed({
-        prefix: "Headers constructor",
-        argument: "Argument 1",
-        types: ["sequence>", "record"]
-      });
+    }
+    module2.exports = {
+      fetch,
+      Fetch,
+      fetching,
+      finalizeAndReportTiming
     };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js
+var require_symbols8 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js"(exports2, module2) {
+    "use strict";
     module2.exports = {
-      fill,
-      Headers,
-      HeadersList
+      kState: /* @__PURE__ */ Symbol("FileReader state"),
+      kResult: /* @__PURE__ */ Symbol("FileReader result"),
+      kError: /* @__PURE__ */ Symbol("FileReader error"),
+      kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"),
+      kEvents: /* @__PURE__ */ Symbol("FileReader events"),
+      kAborted: /* @__PURE__ */ Symbol("FileReader aborted")
     };
   }
 });
 
-// node_modules/undici/lib/fetch/response.js
-var require_response2 = __commonJS({
-  "node_modules/undici/lib/fetch/response.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js
+var require_progressevent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js"(exports2, module2) {
     "use strict";
-    var { Headers, HeadersList, fill } = require_headers2();
-    var { extractBody, cloneBody, mixinBody } = require_body2();
-    var util = require_util9();
-    var { kEnumerableProperty } = util;
-    var {
-      isValidReasonPhrase,
-      isCancelled,
-      isAborted,
-      isBlobLike,
-      serializeJavascriptValueToJSONString,
-      isErrorLike,
-      isomorphicEncode
-    } = require_util10();
-    var {
-      redirectStatusSet,
-      nullBodyStatus,
-      DOMException: DOMException2
-    } = require_constants7();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
     var { webidl } = require_webidl2();
-    var { FormData: FormData2 } = require_formdata2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { types } = require("util");
-    var ReadableStream2 = globalThis.ReadableStream || require("stream/web").ReadableStream;
-    var textEncoder = new TextEncoder("utf-8");
-    var Response = class _Response {
-      // Creates network error Response.
-      static error() {
-        const relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kState] = makeNetworkError();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = responseObject[kState].headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        return responseObject;
-      }
-      // https://fetch.spec.whatwg.org/#dom-response-json
-      static json(data, init = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.json" });
-        if (init !== null) {
-          init = webidl.converters.ResponseInit(init);
-        }
-        const bytes = textEncoder.encode(
-          serializeJavascriptValueToJSONString(data)
-        );
-        const body = extractBody(bytes);
-        const relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "response";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
-        return responseObject;
-      }
-      // Creates a redirect Response that redirects to url with status status.
-      static redirect(url, status = 302) {
-        const relevantRealm = { settingsObject: {} };
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.redirect" });
-        url = webidl.converters.USVString(url);
-        status = webidl.converters["unsigned short"](status);
-        let parsedURL;
-        try {
-          parsedURL = new URL(url, getGlobalOrigin());
-        } catch (err) {
-          throw Object.assign(new TypeError("Failed to parse URL from " + url), {
-            cause: err
-          });
-        }
-        if (!redirectStatusSet.has(status)) {
-          throw new RangeError("Invalid status code " + status);
-        }
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        responseObject[kState].status = status;
-        const value = isomorphicEncode(URLSerializer(parsedURL));
-        responseObject[kState].headersList.append("location", value);
-        return responseObject;
-      }
-      // https://fetch.spec.whatwg.org/#dom-response
-      constructor(body = null, init = {}) {
-        if (body !== null) {
-          body = webidl.converters.BodyInit(body);
-        }
-        init = webidl.converters.ResponseInit(init);
-        this[kRealm] = { settingsObject: {} };
-        this[kState] = makeResponse({});
-        this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kGuard] = "response";
-        this[kHeaders][kHeadersList] = this[kState].headersList;
-        this[kHeaders][kRealm] = this[kRealm];
-        let bodyWithType = null;
-        if (body != null) {
-          const [extractedBody, type2] = extractBody(body);
-          bodyWithType = { body: extractedBody, type: type2 };
-        }
-        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];
+    var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
+    var ProgressEvent = class _ProgressEvent extends Event {
+      constructor(type2, eventInitDict = {}) {
+        type2 = webidl.converters.DOMString(type2, "ProgressEvent constructor", "type");
+        eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
+        super(type2, eventInitDict);
+        this[kState] = {
+          lengthComputable: eventInitDict.lengthComputable,
+          loaded: eventInitDict.loaded,
+          total: eventInitDict.total
+        };
       }
-      get body() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].body ? this[kState].body.stream : null;
+      get lengthComputable() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].lengthComputable;
       }
-      get bodyUsed() {
-        webidl.brandCheck(this, _Response);
-        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
+      get loaded() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].loaded;
       }
-      // Returns a clone of response.
-      clone() {
-        webidl.brandCheck(this, _Response);
-        if (this.bodyUsed || this.body && this.body.locked) {
-          throw webidl.errors.exception({
-            header: "Response.clone",
-            message: "Body has already been consumed."
-          });
-        }
-        const clonedResponse = cloneResponse(this[kState]);
-        const clonedResponseObject = new _Response();
-        clonedResponseObject[kState] = clonedResponse;
-        clonedResponseObject[kRealm] = this[kRealm];
-        clonedResponseObject[kHeaders][kHeadersList] = clonedResponse.headersList;
-        clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm];
-        return clonedResponseObject;
+      get total() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].total;
       }
     };
-    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(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 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, type2) {
-      if (type2 === "basic") {
-        return makeFilteredResponse(response, {
-          type: "basic",
-          headersList: response.headersList
-        });
-      } else if (type2 === "cors") {
-        return makeFilteredResponse(response, {
-          type: "cors",
-          headersList: response.headersList
-        });
-      } else if (type2 === "opaque") {
-        return makeFilteredResponse(response, {
-          type: "opaque",
-          urlList: Object.freeze([]),
-          status: 0,
-          statusText: "",
-          body: null
-        });
-      } else if (type2 === "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 DOMException2("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException2("Request was cancelled."), { cause: err }));
-    }
-    function initializeResponse(response, init, body) {
-      if (init.status !== null && (init.status < 200 || init.status > 599)) {
-        throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
-      }
-      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;
+    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
       }
-      if ("headers" in init && init.headers != null) {
-        fill(response[kHeaders], init.headers);
+    ]);
+    module2.exports = {
+      ProgressEvent
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js
+var require_encoding2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js"(exports2, module2) {
+    "use strict";
+    function getEncoding(label) {
+      if (!label) {
+        return "failure";
       }
-      if (body) {
-        if (nullBodyStatus.includes(response.status)) {
-          throw webidl.errors.exception({
-            header: "Response constructor",
-            message: "Invalid response status code " + response.status
-          });
-        }
-        response[kState].body = body.body;
-        if (body.type != null && !response[kState].headersList.contains("Content-Type")) {
-          response[kState].headersList.append("content-type", body.type);
-        }
+      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";
       }
     }
-    webidl.converters.ReadableStream = webidl.interfaceConverter(
-      ReadableStream2
-    );
-    webidl.converters.FormData = webidl.interfaceConverter(
-      FormData2
-    );
-    webidl.converters.URLSearchParams = webidl.interfaceConverter(
-      URLSearchParams
-    );
-    webidl.converters.XMLHttpRequestBodyInit = function(V) {
-      if (typeof V === "string") {
-        return webidl.converters.USVString(V);
-      }
-      if (isBlobLike(V)) {
-        return webidl.converters.Blob(V, { strict: false });
-      }
-      if (types.isArrayBuffer(V) || types.isTypedArray(V) || types.isDataView(V)) {
-        return webidl.converters.BufferSource(V);
-      }
-      if (util.isFormDataLike(V)) {
-        return webidl.converters.FormData(V, { strict: false });
-      }
-      if (V instanceof URLSearchParams) {
-        return webidl.converters.URLSearchParams(V);
-      }
-      return webidl.converters.DOMString(V);
-    };
-    webidl.converters.BodyInit = function(V) {
-      if (V instanceof ReadableStream2) {
-        return webidl.converters.ReadableStream(V);
-      }
-      if (V?.[Symbol.asyncIterator]) {
-        return V;
-      }
-      return webidl.converters.XMLHttpRequestBodyInit(V);
-    };
-    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 = {
-      makeNetworkError,
-      makeResponse,
-      makeAppropriateNetworkError,
-      filterResponse,
-      Response,
-      cloneResponse
+      getEncoding
     };
   }
 });
 
-// node_modules/undici/lib/fetch/request.js
-var require_request4 = __commonJS({
-  "node_modules/undici/lib/fetch/request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js
+var require_util12 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js"(exports2, module2) {
     "use strict";
-    var { extractBody, mixinBody, cloneBody } = require_body2();
-    var { Headers, fill: fillHeaders, HeadersList } = require_headers2();
-    var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
-    var util = require_util9();
-    var {
-      isValidHTTPToken,
-      sameOrigin,
-      normalizeMethod,
-      makePolicyContainer,
-      normalizeMethodRecord
-    } = require_util10();
     var {
-      forbiddenMethodsSet,
-      corsSafeListedMethodsSet,
-      referrerPolicy,
-      requestRedirect,
-      requestMode,
-      requestCredentials,
-      requestCache,
-      requestDuplex
-    } = require_constants7();
-    var { kEnumerableProperty } = util;
-    var { kHeaders, kSignal, kState, kGuard, kRealm } = require_symbols7();
-    var { webidl } = require_webidl2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events");
-    var TransformStream2 = globalThis.TransformStream;
-    var kAbortController = /* @__PURE__ */ Symbol("abortController");
-    var requestFinalizer = new FinalizationRegistry2(({ signal, abort }) => {
-      signal.removeEventListener("abort", abort);
-    });
-    var Request = class _Request {
-      // https://fetch.spec.whatwg.org/#dom-request
-      constructor(input, init = {}) {
-        if (input === kConstruct) {
-          return;
-        }
-        webidl.argumentLengthCheck(arguments, 1, { header: "Request constructor" });
-        input = webidl.converters.RequestInfo(input);
-        init = webidl.converters.RequestInit(init);
-        this[kRealm] = {
-          settingsObject: {
-            baseUrl: getGlobalOrigin(),
-            get origin() {
-              return this.baseUrl?.origin;
-            },
-            policyContainer: makePolicyContainer()
-          }
-        };
-        let request2 = null;
-        let fallbackMode = null;
-        const baseUrl = this[kRealm].settingsObject.baseUrl;
-        let signal = null;
-        if (typeof input === "string") {
-          let parsedURL;
+      kState,
+      kError,
+      kResult,
+      kAborted,
+      kLastProgressEventFired
+    } = require_symbols8();
+    var { ProgressEvent } = require_progressevent2();
+    var { getEncoding } = require_encoding2();
+    var { serializeAMimeType, parseMIMEType } = require_data_url2();
+    var { types } = require("node:util");
+    var { StringDecoder } = require("string_decoder");
+    var { btoa: btoa2 } = require("node:buffer");
+    var staticPropertyDescriptors = {
+      enumerable: true,
+      writable: false,
+      configurable: false
+    };
+    function readOperation(fr, blob, type2, encodingName) {
+      if (fr[kState] === "loading") {
+        throw new DOMException("Invalid state", "InvalidStateError");
+      }
+      fr[kState] = "loading";
+      fr[kResult] = null;
+      fr[kError] = null;
+      const stream2 = blob.stream();
+      const reader = stream2.getReader();
+      const bytes = [];
+      let chunkPromise = reader.read();
+      let isFirstChunk = true;
+      (async () => {
+        while (!fr[kAborted]) {
           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 {
-          assert(input instanceof _Request);
-          request2 = input[kState];
-          signal = input[kSignal];
-        }
-        const origin = this[kRealm].settingsObject.origin;
-        let window2 = "client";
-        if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
-          window2 = request2.window;
-        }
-        if (init.window != null) {
-          throw new TypeError(`'window' option '${window2}' must be null`);
-        }
-        if ("window" in init) {
-          window2 = "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: this[kRealm].settingsObject,
-          // window window.
-          window: window2,
-          // 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, this[kRealm].settingsObject.baseUrl)) {
-              request2.referrer = "client";
-            } else {
-              request2.referrer = parsedReferrer;
+            const { done, value } = await chunkPromise;
+            if (isFirstChunk && !fr[kAborted]) {
+              queueMicrotask(() => {
+                fireAProgressEvent("loadstart", fr);
+              });
             }
-          }
-        }
-        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;
-          if (!isValidHTTPToken(method)) {
-            throw new TypeError(`'${method}' is not a valid HTTP method.`);
-          }
-          if (forbiddenMethodsSet.has(method.toUpperCase())) {
-            throw new TypeError(`'${method}' HTTP method is unsupported.`);
-          }
-          method = normalizeMethodRecord[method] ?? normalizeMethod(method);
-          request2.method = method;
-        }
-        if (init.signal !== void 0) {
-          signal = init.signal;
-        }
-        this[kState] = request2;
-        const ac = new AbortController();
-        this[kSignal] = ac.signal;
-        this[kSignal][kRealm] = this[kRealm];
-        if (signal != null) {
-          if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") {
-            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 = function() {
-              const ac2 = acRef.deref();
-              if (ac2 !== void 0) {
-                ac2.abort(this.reason);
+            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);
+                });
               }
-            };
-            try {
-              if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) {
-                setMaxListeners(100, signal);
-              } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) {
-                setMaxListeners(100, signal);
+              chunkPromise = reader.read();
+            } else if (done) {
+              queueMicrotask(() => {
+                fr[kState] = "done";
+                try {
+                  const result = packageData(bytes, type2, blob.type, encodingName);
+                  if (fr[kAborted]) {
+                    return;
+                  }
+                  fr[kResult] = result;
+                  fireAProgressEvent("load", fr);
+                } catch (error3) {
+                  fr[kError] = error3;
+                  fireAProgressEvent("error", fr);
+                }
+                if (fr[kState] !== "loading") {
+                  fireAProgressEvent("loadend", fr);
+                }
+              });
+              break;
+            }
+          } catch (error3) {
+            if (fr[kAborted]) {
+              return;
+            }
+            queueMicrotask(() => {
+              fr[kState] = "done";
+              fr[kError] = error3;
+              fireAProgressEvent("error", fr);
+              if (fr[kState] !== "loading") {
+                fireAProgressEvent("loadend", fr);
               }
-            } catch {
-            }
-            util.addAbortListener(signal, abort);
-            requestFinalizer.register(ac, { signal, abort });
-          }
-        }
-        this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kHeadersList] = request2.headersList;
-        this[kHeaders][kGuard] = "request";
-        this[kHeaders][kRealm] = this[kRealm];
-        if (mode === "no-cors") {
-          if (!corsSafeListedMethodsSet.has(request2.method)) {
-            throw new TypeError(
-              `'${request2.method} is unsupported in no-cors mode.`
-            );
+            });
+            break;
           }
-          this[kHeaders][kGuard] = "request-no-cors";
         }
-        if (initHasKey) {
-          const headersList = this[kHeaders][kHeadersList];
-          const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList);
-          headersList.clear();
-          if (headers instanceof HeadersList) {
-            for (const [key, val] of headers) {
-              headersList.append(key, val);
-            }
-            headersList.cookies = headers.cookies;
-          } else {
-            fillHeaders(this[kHeaders], headers);
+      })();
+    }
+    function fireAProgressEvent(e, reader) {
+      const event = new ProgressEvent(e, {
+        bubbles: false,
+        cancelable: false
+      });
+      reader.dispatchEvent(event);
+    }
+    function packageData(bytes, type2, mimeType, encodingName) {
+      switch (type2) {
+        case "DataURL": {
+          let dataURL = "data:";
+          const parsed = parseMIMEType(mimeType || "application/octet-stream");
+          if (parsed !== "failure") {
+            dataURL += serializeAMimeType(parsed);
           }
-        }
-        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 && !this[kHeaders][kHeadersList].contains("content-type")) {
-            this[kHeaders].append("content-type", contentType);
+          dataURL += ";base64,";
+          const decoder = new StringDecoder("latin1");
+          for (const chunk of bytes) {
+            dataURL += btoa2(decoder.write(chunk));
           }
+          dataURL += btoa2(decoder.end());
+          return dataURL;
         }
-        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"'
-            );
+        case "Text": {
+          let encoding = "failure";
+          if (encodingName) {
+            encoding = getEncoding(encodingName);
           }
-          request2.useCORSPreflightFlag = true;
-        }
-        let finalBody = inputOrInitBody;
-        if (initBody == null && inputBody != null) {
-          if (util.isDisturbed(inputBody.stream) || inputBody.stream.locked) {
-            throw new TypeError(
-              "Cannot construct a Request with a Request object that has already been used."
-            );
+          if (encoding === "failure" && mimeType) {
+            const type3 = parseMIMEType(mimeType);
+            if (type3 !== "failure") {
+              encoding = getEncoding(type3.parameters.get("charset"));
+            }
           }
-          if (!TransformStream2) {
-            TransformStream2 = require("stream/web").TransformStream;
+          if (encoding === "failure") {
+            encoding = "UTF-8";
           }
-          const identityTransform = new TransformStream2();
-          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 decode(bytes, encoding);
         }
-        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-foward 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 (this.bodyUsed || this.body?.locked) {
-          throw new TypeError("unusable");
+        case "ArrayBuffer": {
+          const sequence = combineByteSequences(bytes);
+          return sequence.buffer;
         }
-        const clonedRequest = cloneRequest(this[kState]);
-        const clonedRequestObject = new _Request(kConstruct);
-        clonedRequestObject[kState] = clonedRequest;
-        clonedRequestObject[kRealm] = this[kRealm];
-        clonedRequestObject[kHeaders] = new Headers(kConstruct);
-        clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList;
-        clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm];
-        const ac = new AbortController();
-        if (this.signal.aborted) {
-          ac.abort(this.signal.reason);
-        } else {
-          util.addAbortListener(
-            this.signal,
-            () => {
-              ac.abort(this.signal.reason);
-            }
-          );
+        case "BinaryString": {
+          let binaryString = "";
+          const decoder = new StringDecoder("latin1");
+          for (const chunk of bytes) {
+            binaryString += decoder.write(chunk);
+          }
+          binaryString += decoder.end();
+          return binaryString;
         }
-        clonedRequestObject[kSignal] = ac.signal;
-        return clonedRequestObject;
       }
-    };
-    mixinBody(Request);
-    function makeRequest(init) {
-      const request2 = {
-        method: "GET",
-        localURLsOnly: false,
-        unsafeRequest: false,
-        body: null,
-        client: null,
-        reservedClient: null,
-        replacesClientId: "",
-        window: "client",
-        keepalive: false,
-        serviceWorkers: "all",
-        initiator: "",
-        destination: "",
-        priority: null,
-        origin: "client",
-        policyContainer: "client",
-        referrer: "client",
-        referrerPolicy: "",
-        mode: "no-cors",
-        useCORSPreflightFlag: false,
-        credentials: "same-origin",
-        useCredentials: false,
-        cache: "default",
-        redirect: "follow",
-        integrity: "",
-        cryptoGraphicsNonceMetadata: "",
-        parserMetadata: "",
-        reloadNavigation: false,
-        historyNavigation: false,
-        userActivation: false,
-        taintedOrigin: false,
-        redirectCount: 0,
-        responseTainting: "basic",
-        preventNoCacheCacheControlHeaderModification: false,
-        done: false,
-        timingAllowFailed: false,
-        ...init,
-        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList()
-      };
-      request2.url = request2.urlList[0];
-      return request2;
     }
-    function cloneRequest(request2) {
-      const newRequest = makeRequest({ ...request2, body: null });
-      if (request2.body != null) {
-        newRequest.body = cloneBody(request2.body);
+    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;
       }
-      return newRequest;
+      const sliced = bytes.slice(slice);
+      return new TextDecoder(encoding).decode(sliced);
     }
-    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) {
-      if (typeof V === "string") {
-        return webidl.converters.USVString(V);
-      }
-      if (V instanceof Request) {
-        return webidl.converters.Request(V);
+    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 webidl.converters.USVString(V);
+      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
     };
-    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,
-            { strict: false }
-          )
-        )
-      },
-      {
-        key: "window",
-        converter: webidl.converters.any
-      },
-      {
-        key: "duplex",
-        converter: webidl.converters.DOMString,
-        allowedValues: requestDuplex
-      }
-    ]);
-    module2.exports = { Request, makeRequest };
   }
 });
 
-// node_modules/undici/lib/fetch/index.js
-var require_fetch2 = __commonJS({
-  "node_modules/undici/lib/fetch/index.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js
+var require_filereader2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js"(exports2, module2) {
     "use strict";
     var {
-      Response,
-      makeNetworkError,
-      makeAppropriateNetworkError,
-      filterResponse,
-      makeResponse
-    } = require_response2();
-    var { Headers } = require_headers2();
-    var { Request, makeRequest } = require_request4();
-    var zlib2 = require("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
-    } = require_util10();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
-    var assert = require("assert");
-    var { safelyExtractBody } = require_body2();
+      staticPropertyDescriptors,
+      readOperation,
+      fireAProgressEvent
+    } = require_util12();
     var {
-      redirectStatusSet,
-      nullBodyStatus,
-      safeMethodsSet,
-      requestBodyHeader,
-      subresourceSet,
-      DOMException: DOMException2
-    } = require_constants7();
-    var { kHeadersList } = require_symbols6();
-    var EE = require("events");
-    var { Readable: Readable2, pipeline } = require("stream");
-    var { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require_util9();
-    var { dataURLProcessor, serializeAMimeType } = require_dataURL();
-    var { TransformStream: TransformStream2 } = require("stream/web");
-    var { getGlobalDispatcher } = require_global4();
+      kState,
+      kError,
+      kResult,
+      kEvents,
+      kAborted
+    } = require_symbols8();
     var { webidl } = require_webidl2();
-    var { STATUS_CODES } = require("http");
-    var GET_OR_HEAD = ["GET", "HEAD"];
-    var resolveObjectURL;
-    var ReadableStream2 = globalThis.ReadableStream;
-    var Fetch = class extends EE {
-      constructor(dispatcher) {
+    var { kEnumerableProperty } = require_util9();
+    var FileReader = class _FileReader extends EventTarget {
+      constructor() {
         super();
-        this.dispatcher = dispatcher;
-        this.connection = null;
-        this.dump = false;
-        this.state = "ongoing";
-        this.setMaxListeners(21);
+        this[kState] = "empty";
+        this[kResult] = null;
+        this[kError] = null;
+        this[kEvents] = {
+          loadend: null,
+          error: null,
+          abort: null,
+          load: null,
+          progress: null,
+          loadstart: null
+        };
       }
-      terminate(reason) {
-        if (this.state !== "ongoing") {
+      /**
+       * @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;
         }
-        this.state = "terminated";
-        this.connection?.destroy(reason);
-        this.emit("terminated", reason);
+        if (this[kState] === "loading") {
+          this[kState] = "done";
+          this[kResult] = null;
+        }
+        this[kAborted] = true;
+        fireAProgressEvent("abort", this);
+        if (this[kState] !== "loading") {
+          fireAProgressEvent("loadend", this);
+        }
       }
-      // https://fetch.spec.whatwg.org/#fetch-controller-abort
-      abort(error3) {
-        if (this.state !== "ongoing") {
-          return;
+      /**
+       * @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;
         }
-        this.state = "aborted";
-        if (!error3) {
-          error3 = new DOMException2("The operation was aborted.", "AbortError");
+      }
+      /**
+       * @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;
         }
-        this.serializedAbortReason = error3;
-        this.connection?.destroy(error3);
-        this.emit("terminated", error3);
       }
-    };
-    function fetch(input, init = {}) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "globalThis.fetch" });
-      const p = createDeferredPromise();
-      let requestObject;
-      try {
-        requestObject = new Request(input, init);
-      } catch (e) {
-        p.reject(e);
-        return p.promise;
+      get onerror() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].error;
       }
-      const request2 = requestObject[kState];
-      if (requestObject.signal.aborted) {
-        abortFetch(p, request2, null, requestObject.signal.reason);
-        return p.promise;
+      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;
+        }
       }
-      const globalObject = request2.client.globalObject;
-      if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") {
-        request2.serviceWorkers = "none";
+      get onloadstart() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].loadstart;
       }
-      let responseObject = null;
-      const relevantRealm = null;
-      let locallyAborted = false;
-      let controller = null;
-      addAbortListener(
-        requestObject.signal,
-        () => {
-          locallyAborted = true;
-          assert(controller != null);
-          controller.abort(requestObject.signal.reason);
-          abortFetch(p, request2, responseObject, requestObject.signal.reason);
+      set onloadstart(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].loadstart) {
+          this.removeEventListener("loadstart", this[kEvents].loadstart);
         }
-      );
-      const handleFetchDone = (response) => finalizeAndReportTiming(response, "fetch");
-      const processResponse = (response) => {
-        if (locallyAborted) {
-          return Promise.resolve();
+        if (typeof fn === "function") {
+          this[kEvents].loadstart = fn;
+          this.addEventListener("loadstart", fn);
+        } else {
+          this[kEvents].loadstart = null;
         }
-        if (response.aborted) {
-          abortFetch(p, request2, responseObject, controller.serializedAbortReason);
-          return Promise.resolve();
+      }
+      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 (response.type === "error") {
-          p.reject(
-            Object.assign(new TypeError("fetch failed"), { cause: response.error })
-          );
-          return Promise.resolve();
+        if (typeof fn === "function") {
+          this[kEvents].progress = fn;
+          this.addEventListener("progress", fn);
+        } else {
+          this[kEvents].progress = null;
         }
-        responseObject = new Response();
-        responseObject[kState] = response;
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = response.headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        p.resolve(responseObject);
-      };
-      controller = fetching({
-        request: request2,
-        processResponseEndOfBody: handleFetchDone,
-        processResponse,
-        dispatcher: init.dispatcher ?? getGlobalDispatcher()
-        // undici
-      });
-      return p.promise;
-    }
-    function finalizeAndReportTiming(response, initiatorType = "other") {
-      if (response.type === "error" && response.aborted) {
-        return;
       }
-      if (!response.urlList?.length) {
-        return;
+      get onload() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].load;
       }
-      const originalURL = response.urlList[0];
-      let timingInfo = response.timingInfo;
-      let cacheState = response.cacheState;
-      if (!urlIsHttpHttpsScheme(originalURL)) {
-        return;
+      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;
+        }
       }
-      if (timingInfo === null) {
-        return;
+      get onabort() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].abort;
       }
-      if (!response.timingAllowPassed) {
-        timingInfo = createOpaqueTimingInfo({
-          startTime: timingInfo.startTime
-        });
-        cacheState = "";
+      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;
+        }
       }
-      timingInfo.endTime = coarsenedSharedCurrentTime();
-      response.timingInfo = timingInfo;
-      markResourceTiming(
-        timingInfo,
-        originalURL,
-        initiatorType,
-        globalThis,
-        cacheState
-      );
+    };
+    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/@actions/github/node_modules/undici/lib/web/cache/symbols.js
+var require_symbols9 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kConstruct: require_symbols6().kConstruct
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js
+var require_util13 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { URLSerializer } = require_data_url2();
+    var { isValidHeaderName } = require_util10();
+    function urlEquals(A, B, excludeFragment = false) {
+      const serializedA = URLSerializer(A, excludeFragment);
+      const serializedB = URLSerializer(B, excludeFragment);
+      return serializedA === serializedB;
     }
-    function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) {
-      if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) {
-        performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis2, cacheState);
+    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;
     }
-    function abortFetch(p, request2, responseObject, error3) {
-      if (!error3) {
-        error3 = new DOMException2("The operation was aborted.", "AbortError");
+    module2.exports = {
+      urlEquals,
+      getFieldValues
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js
+var require_cache2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols9();
+    var { urlEquals, getFieldValues } = require_util13();
+    var { kEnumerableProperty, isDisturbed } = require_util9();
+    var { webidl } = require_webidl2();
+    var { Response, cloneResponse, fromInnerResponse } = require_response2();
+    var { Request, fromInnerRequest } = require_request4();
+    var { kState } = require_symbols7();
+    var { fetching } = require_fetch2();
+    var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util10();
+    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];
       }
-      p.reject(error3);
-      if (request2.body != null && isReadable(request2.body?.stream)) {
-        request2.body.stream.cancel(error3).catch((err) => {
-          if (err.code === "ERR_INVALID_STATE") {
-            return;
+      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);
           }
-          throw err;
         });
+        return cacheJobPromise.promise;
       }
-      if (responseObject == null) {
-        return;
-      }
-      const response = responseObject[kState];
-      if (response.body != null && isReadable(response.body?.stream)) {
-        response.body.stream.cancel(error3).catch((err) => {
-          if (err.code === "ERR_INVALID_STATE") {
-            return;
+      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 stream2 = innerResponse.body.stream;
+          const reader = stream2.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);
           }
-          throw err;
         });
+        return cacheJobPromise.promise;
       }
-    }
-    function fetching({
-      request: request2,
-      processRequestBodyChunkLength,
-      processRequestEndOfBody,
-      processResponse,
-      processResponseEndOfBody,
-      processResponseConsumeBody,
-      useParallelQueue = false,
-      dispatcher
-      // undici
-    }) {
-      let taskDestination = null;
-      let crossOriginIsolatedCapability = false;
-      if (request2.client != null) {
-        taskDestination = request2.client.globalObject;
-        crossOriginIsolatedCapability = request2.client.crossOriginIsolatedCapability;
-      }
-      const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
-      const timingInfo = createOpaqueTimingInfo({
-        startTime: currenTime
-      });
-      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
-          );
+      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 {
-          request2.policyContainer = makePolicyContainer();
+          assert(typeof request2 === "string");
+          r = new Request(request2)[kState];
         }
-      }
-      if (!request2.headersList.contains("accept")) {
-        const value = "*/*";
-        request2.headersList.append("accept", value);
-      }
-      if (!request2.headersList.contains("accept-language")) {
-        request2.headersList.append("accept-language", "*");
-      }
-      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"');
+        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);
           }
-          if (request2.mode === "no-cors") {
-            if (request2.redirect !== "follow") {
-              return makeNetworkError(
-                'redirect mode cannot be "follow" for "no-cors" request'
-              );
+        });
+        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 [];
             }
-            request2.responseTainting = "opaque";
-            return await schemeFetch(fetchParams);
-          }
-          if (!urlIsHttpHttpsScheme(requestCurrentURL(request2))) {
-            return makeNetworkError("URL scheme must be a HTTP(S) scheme");
+          } else if (typeof request2 === "string") {
+            r = new Request(request2)[kState];
           }
-          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");
+        const promise = createDeferredPromise();
+        const requests = [];
+        if (request2 === void 0) {
+          for (const requestResponse of this.#relevantRequestResponseList) {
+            requests.push(requestResponse[0]);
+          }
         } else {
-          assert(false);
+          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;
       }
-      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")) {
-        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;
+      /**
+       * @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]);
           }
-          response.body = safelyExtractBody(bytes)[0];
-          fetchFinale(fetchParams, response);
-        };
-        await fullyReadBody(response.body, processBody, processBodyError);
-      } else {
-        fetchFinale(fetchParams, response);
+          return resultList;
+        } catch (e) {
+          this.#relevantRequestResponseList.length = 0;
+          this.#relevantRequestResponseList = backupCache;
+          throw e;
+        }
       }
-    }
-    function schemeFetch(fetchParams) {
-      if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {
-        return Promise.resolve(makeAppropriateNetworkError(fetchParams));
+      /**
+       * @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;
       }
-      const { request: request2 } = fetchParams;
-      const { protocol: scheme } = requestCurrentURL(request2);
-      switch (scheme) {
-        case "about:": {
-          return Promise.resolve(makeNetworkError("about scheme is not supported"));
+      /**
+       * @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 = "";
         }
-        case "blob:": {
-          if (!resolveObjectURL) {
-            resolveObjectURL = require("buffer").resolveObjectURL;
-          }
-          const blobURLEntry = requestCurrentURL(request2);
-          if (blobURLEntry.search.length !== 0) {
-            return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));
+        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 blobURLEntryObject = resolveObjectURL(blobURLEntry.toString());
-          if (request2.method !== "GET" || !isBlobLike(blobURLEntryObject)) {
-            return Promise.resolve(makeNetworkError("invalid method"));
+          const requestValue = request2.headersList.get(fieldValue);
+          const queryValue = requestQuery.headersList.get(fieldValue);
+          if (requestValue !== queryValue) {
+            return false;
           }
-          const bodyWithType = safelyExtractBody(blobURLEntryObject);
-          const body = bodyWithType[0];
-          const length = isomorphicEncode(`${body.length}`);
-          const type2 = bodyWithType[1] ?? "";
-          const response = makeResponse({
-            statusText: "OK",
-            headersList: [
-              ["content-length", { name: "Content-Length", value: length }],
-              ["content-type", { name: "Content-Type", value: type2 }]
-            ]
-          });
-          response.body = body;
-          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"));
+        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 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));
+        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]);
+          }
         }
-        default: {
-          return Promise.resolve(makeNetworkError("unknown scheme"));
+        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);
       }
-    }
-    function finalizeResponse(fetchParams, response) {
-      fetchParams.request.done = true;
-      if (fetchParams.processResponseDone != null) {
-        queueMicrotask(() => fetchParams.processResponseDone(response));
-      }
-    }
-    function fetchFinale(fetchParams, response) {
-      if (response.type === "error") {
-        response.urlList = [fetchParams.request.urlList[0]];
-        response.timingInfo = createOpaqueTimingInfo({
-          startTime: fetchParams.timingInfo.startTime
-        });
+    };
+    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
       }
-      const processResponseEndOfBody = () => {
-        fetchParams.request.done = true;
-        if (fetchParams.processResponseEndOfBody != null) {
-          queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
-        }
-      };
-      if (fetchParams.processResponse != null) {
-        queueMicrotask(() => fetchParams.processResponse(response));
+    ];
+    webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters);
+    webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([
+      ...cacheQueryOptionConverters,
+      {
+        key: "cacheName",
+        converter: webidl.converters.DOMString
       }
-      if (response.body == null) {
-        processResponseEndOfBody();
-      } else {
-        const identityTransformAlgorithm = (chunk, controller) => {
-          controller.enqueue(chunk);
-        };
-        const transformStream = new TransformStream2({
-          start() {
-          },
-          transform: identityTransformAlgorithm,
-          flush: processResponseEndOfBody
-        }, {
-          size() {
-            return 1;
-          }
-        }, {
-          size() {
-            return 1;
-          }
-        });
-        response.body = { stream: response.body.stream.pipeThrough(transformStream) };
+    ]);
+    webidl.converters.Response = webidl.interfaceConverter(Response);
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.RequestInfo
+    );
+    module2.exports = {
+      Cache
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js
+var require_cachestorage2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols9();
+    var { Cache } = require_cache2();
+    var { webidl } = require_webidl2();
+    var { kEnumerableProperty } = require_util9();
+    var CacheStorage = class _CacheStorage {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
+       * @type {Map fetchParams.processResponseConsumeBody(response, nullOrBytes);
-        const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure);
-        if (response.body == null) {
-          queueMicrotask(() => processBody(null));
+      async match(request2, options = {}) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, "CacheStorage.match");
+        request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.MultiCacheQueryOptions(options);
+        if (options.cacheName != null) {
+          if (this.#caches.has(options.cacheName)) {
+            const cacheList = this.#caches.get(options.cacheName);
+            const cache = new Cache(kConstruct, cacheList);
+            return await cache.match(request2, options);
+          }
         } else {
-          return fullyReadBody(response.body, processBody, processBodyError);
+          for (const cacheList of this.#caches.values()) {
+            const cache = new Cache(kConstruct, cacheList);
+            const response = await cache.match(request2, options);
+            if (response !== void 0) {
+              return response;
+            }
+          }
         }
-        return Promise.resolve();
       }
-    }
-    async function httpFetch(fetchParams) {
-      const request2 = fetchParams.request;
-      let response = null;
-      let actualResponse = null;
-      const timingInfo = fetchParams.timingInfo;
-      if (request2.serviceWorkers === "all") {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-has
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      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);
       }
-      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;
+      /**
+       * @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);
       }
-      if ((request2.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
-        request2.origin,
-        request2.client,
-        request2.destination,
-        actualResponse
-      ) === "blocked") {
-        return makeNetworkError("blocked");
+      /**
+       * @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);
       }
-      if (redirectStatusSet.has(actualResponse.status)) {
-        if (request2.redirect !== "manual") {
-          fetchParams.controller.connection.destroy();
-        }
-        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);
+      /**
+       * @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/@actions/github/node_modules/undici/lib/web/cookies/constants.js
+var require_constants9 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/constants.js"(exports2, module2) {
+    "use strict";
+    var maxAttributeValueSize = 1024;
+    var maxNameValuePairSize = 4096;
+    module2.exports = {
+      maxAttributeValueSize,
+      maxNameValuePairSize
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/util.js
+var require_util14 = __commonJS({
+  "node_modules/@actions/github/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;
         }
       }
-      response.timingInfo = timingInfo;
-      return response;
+      return false;
     }
-    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;
+    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");
         }
-      } 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);
+    }
+    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;
       }
-      if (!sameOrigin(requestCurrentURL(request2), locationURL)) {
-        request2.headersList.delete("authorization");
-        request2.headersList.delete("proxy-authorization", true);
-        request2.headersList.delete("cookie");
-        request2.headersList.delete("host");
-      }
-      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;
+      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");
+        }
       }
-      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 = makeRequest(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";
+    function validateCookiePath(path16) {
+      for (let i = 0; i < path16.length; ++i) {
+        const code = path16.charCodeAt(i);
+        if (code < 32 || // exclude CTLs (0-31)
+        code === 127 || // DEL
+        code === 59) {
+          throw new Error("Invalid cookie path");
+        }
       }
-      if (contentLength != null) {
-        contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
+    }
+    function validateCookieDomain(domain) {
+      if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
+        throw new Error("Invalid cookie domain");
       }
-      if (contentLengthHeaderValue != null) {
-        httpRequest.headersList.append("content-length", contentLengthHeaderValue);
+    }
+    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);
       }
-      if (contentLength != null && httpRequest.keepalive) {
+      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");
       }
-      if (httpRequest.referrer instanceof URL) {
-        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href));
+    }
+    function stringify(cookie) {
+      if (cookie.name.length === 0) {
+        return null;
       }
-      appendRequestOriginHeader(httpRequest);
-      appendFetchMetadata(httpRequest);
-      if (!httpRequest.headersList.contains("user-agent")) {
-        httpRequest.headersList.append("user-agent", typeof esbuildDetection === "undefined" ? "undici" : "node");
+      validateCookieName(cookie.name);
+      validateCookieValue(cookie.value);
+      const out = [`${cookie.name}=${cookie.value}`];
+      if (cookie.name.startsWith("__Secure-")) {
+        cookie.secure = true;
       }
-      if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since") || httpRequest.headersList.contains("if-none-match") || httpRequest.headersList.contains("if-unmodified-since") || httpRequest.headersList.contains("if-match") || httpRequest.headersList.contains("if-range"))) {
-        httpRequest.cache = "no-store";
+      if (cookie.name.startsWith("__Host-")) {
+        cookie.secure = true;
+        cookie.domain = null;
+        cookie.path = "/";
       }
-      if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control")) {
-        httpRequest.headersList.append("cache-control", "max-age=0");
+      if (cookie.secure) {
+        out.push("Secure");
       }
-      if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") {
-        if (!httpRequest.headersList.contains("pragma")) {
-          httpRequest.headersList.append("pragma", "no-cache");
-        }
-        if (!httpRequest.headersList.contains("cache-control")) {
-          httpRequest.headersList.append("cache-control", "no-cache");
-        }
+      if (cookie.httpOnly) {
+        out.push("HttpOnly");
       }
-      if (httpRequest.headersList.contains("range")) {
-        httpRequest.headersList.append("accept-encoding", "identity");
+      if (typeof cookie.maxAge === "number") {
+        validateCookieMaxAge(cookie.maxAge);
+        out.push(`Max-Age=${cookie.maxAge}`);
       }
-      if (!httpRequest.headersList.contains("accept-encoding")) {
-        if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
-          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate");
-        } else {
-          httpRequest.headersList.append("accept-encoding", "gzip, deflate");
-        }
+      if (cookie.domain) {
+        validateCookieDomain(cookie.domain);
+        out.push(`Domain=${cookie.domain}`);
       }
-      httpRequest.headersList.delete("host");
-      if (includeCredentials) {
+      if (cookie.path) {
+        validateCookiePath(cookie.path);
+        out.push(`Path=${cookie.path}`);
       }
-      if (httpCache == null) {
-        httpRequest.cache = "no-store";
+      if (cookie.expires && cookie.expires.toString() !== "Invalid Date") {
+        out.push(`Expires=${toIMFDate(cookie.expires)}`);
       }
-      if (httpRequest.mode !== "no-store" && httpRequest.mode !== "reload") {
+      if (cookie.sameSite) {
+        out.push(`SameSite=${cookie.sameSite}`);
       }
-      if (response == null) {
-        if (httpRequest.mode === "only-if-cached") {
-          return makeNetworkError("only if cached");
-        }
-        const forwardResponse = await httpNetworkFetch(
-          httpFetchParams,
-          includeCredentials,
-          isNewConnectionFetch
-        );
-        if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {
-        }
-        if (revalidatingFlag && forwardResponse.status === 304) {
-        }
-        if (response == null) {
-          response = forwardResponse;
+      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("=")}`);
       }
-      response.urlList = [...httpRequest.urlList];
-      if (httpRequest.headersList.contains("range")) {
-        response.rangeRequested = true;
+      return out.join("; ");
+    }
+    module2.exports = {
+      isCTLExcludingHtab,
+      validateCookieName,
+      validateCookiePath,
+      validateCookieValue,
+      toIMFDate,
+      stringify
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js
+var require_parse2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js"(exports2, module2) {
+    "use strict";
+    var { maxNameValuePairSize, maxAttributeValueSize } = require_constants9();
+    var { isCTLExcludingHtab } = require_util14();
+    var { collectASequenceOfCodePointsFast } = require_data_url2();
+    var assert = require("node:assert");
+    function parseSetCookie(header) {
+      if (isCTLExcludingHtab(header)) {
+        return null;
       }
-      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");
+      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 (
-        // 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 (!nameValuePair.includes("=")) {
+        value = nameValuePair;
+      } else {
+        const position = { position: 0 };
+        name = collectASequenceOfCodePointsFast(
+          "=",
+          nameValuePair,
+          position
         );
+        value = nameValuePair.slice(position.position + 1);
       }
-      if (isAuthenticationFetch) {
+      name = name.trim();
+      value = value.trim();
+      if (name.length + value.length > maxNameValuePairSize) {
+        return null;
       }
-      return response;
-    }
-    async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) {
-      assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed);
-      fetchParams.controller.connection = {
-        abort: null,
-        destroyed: false,
-        destroy(err) {
-          if (!this.destroyed) {
-            this.destroyed = true;
-            this.abort?.(err ?? new DOMException2("The operation was aborted.", "AbortError"));
-          }
-        }
+      return {
+        name,
+        value,
+        ...parseUnparsedAttributes(unparsedAttributes)
       };
-      const request2 = fetchParams.request;
-      let response = null;
-      const timingInfo = fetchParams.timingInfo;
-      const httpCache = null;
-      if (httpCache == null) {
-        request2.cache = "no-store";
+    }
+    function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) {
+      if (unparsedAttributes.length === 0) {
+        return cookieAttributeList;
       }
-      const newConnection = forceNewConnection ? "yes" : "no";
-      if (request2.mode === "websocket") {
+      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 requestBody = null;
-      if (request2.body == null && fetchParams.processRequestEndOfBody) {
-        queueMicrotask(() => fetchParams.processRequestEndOfBody());
-      } else if (request2.body != null) {
-        const processBodyChunk = async function* (bytes) {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          yield bytes;
-          fetchParams.processRequestBodyChunkLength?.(bytes.byteLength);
-        };
-        const processEndOfBody = () => {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          if (fetchParams.processRequestEndOfBody) {
-            fetchParams.processRequestEndOfBody();
-          }
-        };
-        const processBodyError = (e) => {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          if (e.name === "AbortError") {
-            fetchParams.controller.abort();
-          } else {
-            fetchParams.controller.terminate(e);
-          }
-        };
-        requestBody = (async function* () {
-          try {
-            for await (const bytes of request2.body.stream) {
-              yield* processBodyChunk(bytes);
-            }
-            processEndOfBody();
-          } catch (err) {
-            processBodyError(err);
-          }
-        })();
-      }
-      try {
-        const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
-        if (socket) {
-          response = makeResponse({ status, statusText, headersList, socket });
-        } else {
-          const iterator2 = body[Symbol.asyncIterator]();
-          fetchParams.controller.next = () => iterator2.next();
-          response = makeResponse({ status, statusText, headersList });
-        }
-      } catch (err) {
-        if (err.name === "AbortError") {
-          fetchParams.controller.connection.destroy();
-          return makeAppropriateNetworkError(fetchParams, err);
-        }
-        return makeNetworkError(err);
+      let attributeName = "";
+      let attributeValue = "";
+      if (cookieAv.includes("=")) {
+        const position = { position: 0 };
+        attributeName = collectASequenceOfCodePointsFast(
+          "=",
+          cookieAv,
+          position
+        );
+        attributeValue = cookieAv.slice(position.position + 1);
+      } else {
+        attributeName = cookieAv;
       }
-      const pullAlgorithm = () => {
-        fetchParams.controller.resume();
-      };
-      const cancelAlgorithm = (reason) => {
-        fetchParams.controller.abort(reason);
-      };
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+      attributeName = attributeName.trim();
+      attributeValue = attributeValue.trim();
+      if (attributeValue.length > maxAttributeValueSize) {
+        return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
       }
-      const stream2 = new ReadableStream2(
-        {
-          async start(controller) {
-            fetchParams.controller.controller = controller;
-          },
-          async pull(controller) {
-            await pullAlgorithm(controller);
-          },
-          async cancel(reason) {
-            await cancelAlgorithm(reason);
-          }
-        },
-        {
-          highWaterMark: 0,
-          size() {
-            return 1;
-          }
+      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);
         }
-      );
-      response.body = { stream: stream2 };
-      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;
-          }
-          fetchParams.controller.controller.enqueue(new Uint8Array(bytes));
-          if (isErrored(stream2)) {
-            fetchParams.controller.terminate();
-            return;
-          }
-          if (!fetchParams.controller.controller.desiredSize) {
-            return;
-          }
+        if (!/^\d+$/.test(attributeValue)) {
+          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
         }
-      };
-      function onAborted(reason) {
-        if (isAborted(fetchParams)) {
-          response.aborted = true;
-          if (isReadable(stream2)) {
-            fetchParams.controller.controller.error(
-              fetchParams.controller.serializedAbortReason
-            );
-          }
+        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 {
-          if (isReadable(stream2)) {
-            fetchParams.controller.controller.error(new TypeError("terminated", {
-              cause: isErrorLike(reason) ? reason : void 0
-            }));
-          }
+          cookiePath = attributeValue;
         }
-        fetchParams.controller.connection.destroy();
-      }
-      return response;
-      async function dispatch({ body }) {
-        const url = requestCurrentURL(request2);
-        const agent = fetchParams.controller.dispatcher;
-        return new Promise((resolve9, reject) => agent.dispatch(
-          {
-            path: url.pathname + url.search,
-            origin: url.origin,
-            method: request2.method,
-            body: fetchParams.controller.dispatcher.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
-            headers: request2.headersList.entries,
-            maxRedirections: 0,
-            upgrade: request2.mode === "websocket" ? "websocket" : void 0
-          },
-          {
-            body: null,
-            abort: null,
-            onConnect(abort) {
-              const { connection } = fetchParams.controller;
-              if (connection.destroyed) {
-                abort(new DOMException2("The operation was aborted.", "AbortError"));
-              } else {
-                fetchParams.controller.on("terminated", abort);
-                this.abort = connection.abort = abort;
-              }
-            },
-            onHeaders(status, headersList, resume, statusText) {
-              if (status < 200) {
-                return;
-              }
-              let codings = [];
-              let location = "";
-              const headers = new Headers();
-              if (Array.isArray(headersList)) {
-                for (let n = 0; n < headersList.length; n += 2) {
-                  const key = headersList[n + 0].toString("latin1");
-                  const val = headersList[n + 1].toString("latin1");
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim());
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
-              } else {
-                const keys = Object.keys(headersList);
-                for (const key of keys) {
-                  const val = headersList[key];
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim()).reverse();
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
-              }
-              this.body = new Readable2({ read: resume });
-              const decoders = [];
-              const willFollow = request2.redirect === "follow" && location && redirectStatusSet.has(status);
-              if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
-                for (const coding of codings) {
-                  if (coding === "x-gzip" || coding === "gzip") {
-                    decoders.push(zlib2.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: zlib2.constants.Z_SYNC_FLUSH,
-                      finishFlush: zlib2.constants.Z_SYNC_FLUSH
-                    }));
-                  } else if (coding === "deflate") {
-                    decoders.push(zlib2.createInflate());
-                  } else if (coding === "br") {
-                    decoders.push(zlib2.createBrotliDecompress());
-                  } else {
-                    decoders.length = 0;
-                    break;
-                  }
-                }
-              }
-              resolve9({
-                status,
-                statusText,
-                headersList: headers[kHeadersList],
-                body: decoders.length ? pipeline(this.body, ...decoders, () => {
-                }) : this.body.on("error", () => {
-                })
-              });
-              return true;
-            },
-            onData(chunk) {
-              if (fetchParams.controller.dump) {
-                return;
-              }
-              const bytes = chunk;
-              timingInfo.encodedBodySize += bytes.byteLength;
-              return this.body.push(bytes);
-            },
-            onComplete() {
-              if (this.abort) {
-                fetchParams.controller.off("terminated", this.abort);
-              }
-              fetchParams.controller.ended = true;
-              this.body.push(null);
-            },
-            onError(error3) {
-              if (this.abort) {
-                fetchParams.controller.off("terminated", this.abort);
-              }
-              this.body?.destroy(error3);
-              fetchParams.controller.terminate(error3);
-              reject(error3);
-            },
-            onUpgrade(status, headersList, socket) {
-              if (status !== 101) {
-                return;
-              }
-              const headers = new Headers();
-              for (let n = 0; n < headersList.length; n += 2) {
-                const key = headersList[n + 0].toString("latin1");
-                const val = headersList[n + 1].toString("latin1");
-                headers[kHeadersList].append(key, val);
-              }
-              resolve9({
-                status,
-                statusText: STATUS_CODES[status],
-                headersList: headers[kHeadersList],
-                socket
-              });
-              return true;
-            }
-          }
-        ));
+        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 = {
-      fetch,
-      Fetch,
-      fetching,
-      finalizeAndReportTiming
+      parseSetCookie,
+      parseUnparsedAttributes
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/symbols.js
-var require_symbols8 = __commonJS({
-  "node_modules/undici/lib/fileapi/symbols.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js
+var require_cookies2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js"(exports2, module2) {
     "use strict";
+    var { parseSetCookie } = require_parse2();
+    var { stringify } = require_util14();
+    var { webidl } = require_webidl2();
+    var { Headers } = require_headers2();
+    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 str2 = stringify(cookie);
+      if (str2) {
+        headers.append("Set-Cookie", str2);
+      }
+    }
+    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 = {
-      kState: /* @__PURE__ */ Symbol("FileReader state"),
-      kResult: /* @__PURE__ */ Symbol("FileReader result"),
-      kError: /* @__PURE__ */ Symbol("FileReader error"),
-      kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"),
-      kEvents: /* @__PURE__ */ Symbol("FileReader events"),
-      kAborted: /* @__PURE__ */ Symbol("FileReader aborted")
+      getCookies,
+      deleteCookie,
+      getSetCookies,
+      setCookie
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/progressevent.js
-var require_progressevent2 = __commonJS({
-  "node_modules/undici/lib/fileapi/progressevent.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js
+var require_events2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js"(exports2, module2) {
     "use strict";
     var { webidl } = require_webidl2();
-    var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
-    var ProgressEvent = class _ProgressEvent extends Event {
+    var { kEnumerableProperty } = require_util9();
+    var { kConstruct } = require_symbols6();
+    var { MessagePort } = require("node:worker_threads");
+    var MessageEvent = class _MessageEvent extends Event {
+      #eventInit;
       constructor(type2, eventInitDict = {}) {
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
+        if (type2 === kConstruct) {
+          super(arguments[1], arguments[2]);
+          webidl.util.markAsUncloneable(this);
+          return;
+        }
+        const prefix = "MessageEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.MessageEventInit(eventInitDict, prefix, "eventInitDict");
         super(type2, eventInitDict);
-        this[kState] = {
-          lengthComputable: eventInitDict.lengthComputable,
-          loaded: eventInitDict.loaded,
-          total: eventInitDict.total
-        };
+        this.#eventInit = eventInitDict;
+        webidl.util.markAsUncloneable(this);
       }
-      get lengthComputable() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].lengthComputable;
+      get data() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.data;
       }
-      get loaded() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].loaded;
+      get origin() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.origin;
       }
-      get total() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].total;
+      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(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
+        webidl.brandCheck(this, _MessageEvent);
+        webidl.argumentLengthCheck(arguments, 1, "MessageEvent.initMessageEvent");
+        return new _MessageEvent(type2, {
+          bubbles,
+          cancelable,
+          data,
+          origin,
+          lastEventId,
+          source,
+          ports
+        });
+      }
+      static createFastMessageEvent(type2, init) {
+        const messageEvent = new _MessageEvent(kConstruct, type2, 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(type2, eventInitDict = {}) {
+        const prefix = "CloseEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
+        super(type2, 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(type2, eventInitDict) {
+        const prefix = "ErrorEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        super(type2, eventInitDict);
+        webidl.util.markAsUncloneable(this);
+        type2 = webidl.converters.DOMString(type2, 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;
       }
     };
-    webidl.converters.ProgressEventInit = webidl.dictionaryConverter([
-      {
-        key: "lengthComputable",
-        converter: webidl.converters.boolean,
-        defaultValue: false
+    Object.defineProperties(MessageEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "MessageEvent",
+        configurable: true
       },
-      {
-        key: "loaded",
-        converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
+      data: kEnumerableProperty,
+      origin: kEnumerableProperty,
+      lastEventId: kEnumerableProperty,
+      source: kEnumerableProperty,
+      ports: kEnumerableProperty,
+      initMessageEvent: kEnumerableProperty
+    });
+    Object.defineProperties(CloseEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "CloseEvent",
+        configurable: true
       },
-      {
-        key: "total",
-        converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
+      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
+        defaultValue: () => false
       },
       {
         key: "cancelable",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "composed",
         converter: webidl.converters.boolean,
-        defaultValue: false
-      }
-    ]);
-    module2.exports = {
-      ProgressEvent
-    };
-  }
-});
-
-// node_modules/undici/lib/fileapi/encoding.js
-var require_encoding2 = __commonJS({
-  "node_modules/undici/lib/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/fileapi/util.js
-var require_util12 = __commonJS({
-  "node_modules/undici/lib/fileapi/util.js"(exports2, module2) {
-    "use strict";
-    var {
-      kState,
-      kError,
-      kResult,
-      kAborted,
-      kLastProgressEventFired
-    } = require_symbols8();
-    var { ProgressEvent } = require_progressevent2();
-    var { getEncoding } = require_encoding2();
-    var { DOMException: DOMException2 } = require_constants7();
-    var { serializeAMimeType, parseMIMEType } = require_dataURL();
-    var { types } = require("util");
-    var { StringDecoder } = require("string_decoder");
-    var { btoa: btoa2 } = require("buffer");
-    var staticPropertyDescriptors = {
-      enumerable: true,
-      writable: false,
-      configurable: false
-    };
-    function readOperation(fr, blob, type2, encodingName) {
-      if (fr[kState] === "loading") {
-        throw new DOMException2("Invalid state", "InvalidStateError");
-      }
-      fr[kState] = "loading";
-      fr[kResult] = null;
-      fr[kError] = null;
-      const stream2 = blob.stream();
-      const reader = stream2.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, type2, blob.type, encodingName);
-                  if (fr[kAborted]) {
-                    return;
-                  }
-                  fr[kResult] = result;
-                  fireAProgressEvent("load", fr);
-                } catch (error3) {
-                  fr[kError] = error3;
-                  fireAProgressEvent("error", fr);
-                }
-                if (fr[kState] !== "loading") {
-                  fireAProgressEvent("loadend", fr);
-                }
-              });
-              break;
-            }
-          } catch (error3) {
-            if (fr[kAborted]) {
-              return;
-            }
-            queueMicrotask(() => {
-              fr[kState] = "done";
-              fr[kError] = error3;
-              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, type2, mimeType, encodingName) {
-      switch (type2) {
-        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 += btoa2(decoder.write(chunk));
-          }
-          dataURL += btoa2(decoder.end());
-          return dataURL;
-        }
-        case "Text": {
-          let encoding = "failure";
-          if (encodingName) {
-            encoding = getEncoding(encodingName);
-          }
-          if (encoding === "failure" && mimeType) {
-            const type3 = parseMIMEType(mimeType);
-            if (type3 !== "failure") {
-              encoding = getEncoding(type3.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;
-        }
+        defaultValue: () => false
       }
-    }
-    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;
+    ];
+    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)
       }
-      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";
+    ]);
+    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: () => ""
       }
-      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));
-    }
+    ]);
+    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 = {
-      staticPropertyDescriptors,
-      readOperation,
-      fireAProgressEvent
+      MessageEvent,
+      CloseEvent,
+      ErrorEvent,
+      createFastMessageEvent
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/filereader.js
-var require_filereader2 = __commonJS({
-  "node_modules/undici/lib/fileapi/filereader.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js
+var require_constants10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js"(exports2, module2) {
     "use strict";
-    var {
+    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,
-      readOperation,
-      fireAProgressEvent
-    } = require_util12();
-    var {
-      kState,
-      kError,
-      kResult,
-      kEvents,
-      kAborted
-    } = require_symbols8();
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util9();
-    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, { header: "FileReader.readAsArrayBuffer" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "ArrayBuffer");
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#readAsBinaryString
-       * @param {import('buffer').Blob} blob
-       */
-      readAsBinaryString(blob) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsBinaryString" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "BinaryString");
-      }
-      /**
-       * @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, { header: "FileReader.readAsText" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        if (encoding !== void 0) {
-          encoding = webidl.converters.DOMString(encoding);
-        }
-        readOperation(this, blob, "Text", encoding);
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dfn-readAsDataURL
-       * @param {import('buffer').Blob} blob
-       */
-      readAsDataURL(blob) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsDataURL" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "DataURL");
+      states,
+      opcodes,
+      maxUnsigned16Bit,
+      parserStates,
+      emptyBuffer,
+      sendHints
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js
+var require_symbols10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
+      kReadyState: /* @__PURE__ */ Symbol("ready state"),
+      kController: /* @__PURE__ */ Symbol("controller"),
+      kResponse: /* @__PURE__ */ Symbol("response"),
+      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
+      kSentClose: /* @__PURE__ */ Symbol("sent close"),
+      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
+      kByteParser: /* @__PURE__ */ Symbol("byte parser")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js
+var require_util15 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js"(exports2, module2) {
+    "use strict";
+    var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols10();
+    var { states, opcodes } = require_constants10();
+    var { ErrorEvent, createFastMessageEvent } = require_events2();
+    var { isUtf8 } = require("node:buffer");
+    var { collectASequenceOfCodePointsFast, removeHTTPWhitespace } = require_data_url2();
+    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 = (type2, init) => new Event(type2, init), eventInitDict = {}) {
+      const event = eventFactory(e, eventInitDict);
+      target.dispatchEvent(event);
+    }
+    function websocketMessageReceived(ws, type2, data) {
+      if (ws[kReadyState] !== states.OPEN) {
+        return;
       }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dfn-abort
-       */
-      abort() {
-        if (this[kState] === "empty" || this[kState] === "done") {
-          this[kResult] = null;
+      let dataForEvent;
+      if (type2 === opcodes.TEXT) {
+        try {
+          dataForEvent = utf8Decode(data);
+        } catch {
+          failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
           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 if (type2 === opcodes.BINARY) {
+        if (ws[kBinaryType] === "blob") {
+          dataForEvent = new Blob([data]);
         } else {
-          this[kEvents].loadend = null;
+          dataForEvent = toArrayBuffer(data);
         }
       }
-      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;
-        }
+      fireEvent("message", ws, createFastMessageEvent, {
+        origin: ws[kWebSocketURL].origin,
+        data: dataForEvent
+      });
+    }
+    function toArrayBuffer(buffer) {
+      if (buffer.byteLength === buffer.buffer.byteLength) {
+        return buffer.buffer;
       }
-      get onloadstart() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].loadstart;
+      return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
+    }
+    function isValidSubprotocol(protocol) {
+      if (protocol.length === 0) {
+        return false;
       }
-      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;
+      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;
         }
       }
-      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;
-        }
+      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;
       }
-      get onload() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].load;
+      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();
       }
-      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;
-        }
+      if (reason) {
+        fireEvent("error", ws, (type2, init) => new ErrorEvent(type2, init), {
+          error: new Error(reason),
+          message: reason
+        });
       }
-      get onabort() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].abort;
+    }
+    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++;
       }
-      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;
+      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;
         }
       }
-    };
-    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
+      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");
       }
-    });
-    Object.defineProperties(FileReader, {
-      EMPTY: staticPropertyDescriptors,
-      LOADING: staticPropertyDescriptors,
-      DONE: staticPropertyDescriptors
-    });
-    module2.exports = {
-      FileReader
+      throw new TypeError("Invalid utf-8 received.");
     };
-  }
-});
-
-// node_modules/undici/lib/cache/symbols.js
-var require_symbols9 = __commonJS({
-  "node_modules/undici/lib/cache/symbols.js"(exports2, module2) {
-    "use strict";
     module2.exports = {
-      kConstruct: require_symbols6().kConstruct
+      isConnecting,
+      isEstablished,
+      isClosing,
+      isClosed,
+      fireEvent,
+      isValidSubprotocol,
+      isValidStatusCode,
+      failWebsocketConnection,
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isContinuationFrame,
+      isTextBinaryFrame,
+      isValidOpcode,
+      parseExtensions,
+      isValidClientWindowBits
     };
   }
 });
 
-// node_modules/undici/lib/cache/util.js
-var require_util13 = __commonJS({
-  "node_modules/undici/lib/cache/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js
+var require_frame2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { URLSerializer } = require_dataURL();
-    var { isValidHeaderName } = require_util10();
-    function urlEquals(A, B, excludeFragment = false) {
-      const serializedA = URLSerializer(A, excludeFragment);
-      const serializedB = URLSerializer(B, excludeFragment);
-      return serializedA === serializedB;
-    }
-    function fieldValues(header) {
-      assert(header !== null);
-      const values = [];
-      for (let value of header.split(",")) {
-        value = value.trim();
-        if (!value.length) {
-          continue;
-        } else if (!isValidHeaderName(value)) {
-          continue;
+    var { maxUnsigned16Bit } = require_constants10();
+    var BUFFER_SIZE = 16386;
+    var crypto3;
+    var buffer = null;
+    var bufIdx = BUFFER_SIZE;
+    try {
+      crypto3 = require("node:crypto");
+    } catch {
+      crypto3 = {
+        // not full compatibility, but minimum.
+        randomFillSync: function randomFillSync2(buffer2, _offset, _size) {
+          for (let i = 0; i < buffer2.length; ++i) {
+            buffer2[i] = Math.random() * 255 | 0;
+          }
+          return buffer2;
         }
-        values.push(value);
+      };
+    }
+    function generateMask() {
+      if (bufIdx === BUFFER_SIZE) {
+        bufIdx = 0;
+        crypto3.randomFillSync(buffer ??= Buffer.allocUnsafe(BUFFER_SIZE), 0, BUFFER_SIZE);
       }
-      return values;
+      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 = {
-      urlEquals,
-      fieldValues
+      WebsocketFrameSend
     };
   }
 });
 
-// node_modules/undici/lib/cache/cache.js
-var require_cache2 = __commonJS({
-  "node_modules/undici/lib/cache/cache.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js
+var require_connection2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js"(exports2, module2) {
     "use strict";
-    var { kConstruct } = require_symbols9();
-    var { urlEquals, fieldValues: getFieldValues } = require_util13();
-    var { kEnumerableProperty, isDisturbed } = require_util9();
-    var { kHeadersList } = require_symbols6();
-    var { webidl } = require_webidl2();
-    var { Response, cloneResponse } = require_response2();
-    var { Request } = require_request4();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
+    var { uid, states, sentCloseFrameState, emptyBuffer, opcodes } = require_constants10();
+    var {
+      kReadyState,
+      kSentClose,
+      kByteParser,
+      kReceivedClose,
+      kResponse
+    } = require_symbols10();
+    var { fireEvent, failWebsocketConnection, isClosing, isClosed, isEstablished, parseExtensions } = require_util15();
+    var { channels } = require_diagnostics2();
+    var { CloseEvent } = require_events2();
+    var { makeRequest } = require_request4();
     var { fetching } = require_fetch2();
-    var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util10();
-    var assert = require("assert");
-    var { getGlobalDispatcher } = require_global4();
-    var Cache = class _Cache {
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list
-       * @type {requestResponseList}
-       */
-      #relevantRequestResponseList;
-      constructor() {
-        if (arguments[0] !== kConstruct) {
-          webidl.illegalConstructor();
-        }
-        this.#relevantRequestResponseList = arguments[1];
+    var { Headers, getHeadersList } = require_headers2();
+    var { getDecodeSplit } = require_util10();
+    var { WebsocketFrameSend } = require_frame2();
+    var crypto3;
+    try {
+      crypto3 = 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;
       }
-      async match(request2, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.match" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        const p = await this.matchAll(request2, options);
-        if (p.length === 0) {
-          return;
-        }
-        return p[0];
+      const keyValue = crypto3.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);
       }
-      async matchAll(request2 = void 0, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(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 responses = [];
-        if (request2 === void 0) {
-          for (const requestResponse of this.#relevantRequestResponseList) {
-            responses.push(requestResponse[1]);
+      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;
           }
-        } else {
-          const requestResponses = this.#queryCache(r, options);
-          for (const requestResponse of requestResponses) {
-            responses.push(requestResponse[1]);
+          if (protocols.length !== 0 && !response.headersList.get("Sec-WebSocket-Protocol")) {
+            failWebsocketConnection(ws, "Server did not respond with sent protocols.");
+            return;
           }
-        }
-        const responseList = [];
-        for (const response of responses) {
-          const responseObject = new Response(response.body?.source ?? null);
-          const body = responseObject[kState].body;
-          responseObject[kState] = response;
-          responseObject[kState].body = body;
-          responseObject[kHeaders][kHeadersList] = response.headersList;
-          responseObject[kHeaders][kGuard] = "immutable";
-          responseList.push(responseObject);
-        }
-        return Object.freeze(responseList);
-      }
-      async add(request2) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.add" });
-        request2 = webidl.converters.RequestInfo(request2);
-        const requests = [request2];
-        const responseArrayPromise = this.addAll(requests);
-        return await responseArrayPromise;
-      }
-      async addAll(requests) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.addAll" });
-        requests = webidl.converters["sequence"](requests);
-        const responsePromises = [];
-        const requestList = [];
-        for (const request2 of requests) {
-          if (typeof request2 === "string") {
-            continue;
+          if (response.headersList.get("Upgrade")?.toLowerCase() !== "websocket") {
+            failWebsocketConnection(ws, 'Server did not set Upgrade header to "websocket".');
+            return;
           }
-          const r = request2[kState];
-          if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") {
-            throw webidl.errors.exception({
-              header: "Cache.addAll",
-              message: "Expected http/s scheme when method is not GET."
-            });
+          if (response.headersList.get("Connection")?.toLowerCase() !== "upgrade") {
+            failWebsocketConnection(ws, 'Server did not set Connection header to "upgrade".');
+            return;
           }
-        }
-        const fetchControllers = [];
-        for (const request2 of requests) {
-          const r = new Request(request2)[kState];
-          if (!urlIsHttpHttpsScheme(r.url)) {
-            throw webidl.errors.exception({
-              header: "Cache.addAll",
-              message: "Expected http/s scheme."
-            });
+          const secWSAccept = response.headersList.get("Sec-WebSocket-Accept");
+          const digest = crypto3.createHash("sha1").update(keyValue + uid).digest("base64");
+          if (secWSAccept !== digest) {
+            failWebsocketConnection(ws, "Incorrect hash received in Sec-WebSocket-Accept header.");
+            return;
           }
-          r.initiator = "fetch";
-          r.destination = "subresource";
-          requestList.push(r);
-          const responsePromise = createDeferredPromise();
-          fetchControllers.push(fetching({
-            request: r,
-            dispatcher: getGlobalDispatcher(),
-            processResponse(response) {
-              if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) {
-                responsePromise.reject(webidl.errors.exception({
-                  header: "Cache.addAll",
-                  message: "Received an invalid status code or the request failed."
-                }));
-              } else if (response.headersList.contains("vary")) {
-                const fieldValues = getFieldValues(response.headersList.get("vary"));
-                for (const fieldValue of fieldValues) {
-                  if (fieldValue === "*") {
-                    responsePromise.reject(webidl.errors.exception({
-                      header: "Cache.addAll",
-                      message: "invalid vary field value"
-                    }));
-                    for (const controller of fetchControllers) {
-                      controller.abort();
-                    }
-                    return;
-                  }
-                }
-              }
-            },
-            processResponseEndOfBody(response) {
-              if (response.aborted) {
-                responsePromise.reject(new DOMException("aborted", "AbortError"));
-                return;
-              }
-              responsePromise.resolve(response);
+          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;
             }
-          }));
-          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);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Cache.put" });
-        request2 = webidl.converters.RequestInfo(request2);
-        response = webidl.converters.Response(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: "Cache.put",
-            message: "Expected an http/s scheme when method is not GET"
-          });
-        }
-        const innerResponse = response[kState];
-        if (innerResponse.status === 206) {
-          throw webidl.errors.exception({
-            header: "Cache.put",
-            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: "Cache.put",
-                message: "Got * vary field value"
-              });
+          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);
         }
-        if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {
-          throw webidl.errors.exception({
-            header: "Cache.put",
-            message: "Response body is locked or disturbed"
-          });
-        }
-        const clonedResponse = cloneResponse(innerResponse);
-        const bodyReadPromise = createDeferredPromise();
-        if (innerResponse.body != null) {
-          const stream2 = innerResponse.body.stream;
-          const reader = stream2.getReader();
-          readAllBytes(reader).then(bodyReadPromise.resolve, bodyReadPromise.reject);
+      });
+      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 {
-          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;
+          frame.frameData = emptyBuffer;
         }
-        queueMicrotask(() => {
-          if (errorData === null) {
-            cacheJobPromise.resolve();
-          } else {
-            cacheJobPromise.reject(errorData);
-          }
-        });
-        return cacheJobPromise.promise;
+        const socket = ws[kResponse].socket;
+        socket.write(frame.createFrame(opcodes.CLOSE));
+        ws[kSentClose] = sentCloseFrameState.SENT;
+        ws[kReadyState] = states.CLOSING;
+      } else {
+        ws[kReadyState] = states.CLOSING;
       }
-      async delete(request2, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.delete" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(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);
-          }
+    }
+    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, (type2, init) => new CloseEvent(type2, init), {
+        wasClean,
+        code,
+        reason
+      });
+      if (channels.close.hasSubscribers) {
+        channels.close.publish({
+          websocket: ws,
+          code,
+          reason
         });
-        return cacheJobPromise.promise;
       }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys
-       * @param {any} request
-       * @param {import('../../types/cache').CacheQueryOptions} options
-       * @returns {readonly Request[]}
-       */
-      async keys(request2 = void 0, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        let r = null;
-        if (request2 !== void 0) {
-          if (request2 instanceof Request) {
-            r = request2[kState];
-            if (r.method !== "GET" && !options.ignoreMethod) {
-              return [];
+    }
+    function onSocketError(error3) {
+      const { ws } = this;
+      ws[kReadyState] = states.CLOSING;
+      if (channels.socketError.hasSubscribers) {
+        channels.socketError.publish(error3);
+      }
+      this.destroy();
+    }
+    module2.exports = {
+      establishWebSocketConnection,
+      closeWebSocketConnection
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js
+var require_permessage_deflate2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js"(exports2, module2) {
+    "use strict";
+    var { createInflateRaw, Z_DEFAULT_WINDOWBITS } = require("node:zlib");
+    var { isValidClientWindowBits } = require_util15();
+    var tail = Buffer.from([0, 0, 255, 255]);
+    var kBuffer = /* @__PURE__ */ Symbol("kBuffer");
+    var kLength = /* @__PURE__ */ 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;
             }
-          } else if (typeof request2 === "string") {
-            r = new Request(request2)[kState];
+            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);
+          });
         }
-        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]);
-          }
+        this.#inflate.write(chunk);
+        if (fin) {
+          this.#inflate.write(tail);
         }
-        queueMicrotask(() => {
-          const requestList = [];
-          for (const request3 of requests) {
-            const requestObject = new Request("https://a");
-            requestObject[kState] = request3;
-            requestObject[kHeaders][kHeadersList] = request3.headersList;
-            requestObject[kHeaders][kGuard] = "immutable";
-            requestObject[kRealm] = request3.client;
-            requestList.push(requestObject);
-          }
-          promise.resolve(Object.freeze(requestList));
+        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);
         });
-        return promise.promise;
+      }
+    };
+    module2.exports = { PerMessageDeflate };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/receiver.js
+var require_receiver2 = __commonJS({
+  "node_modules/@actions/github/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_constants10();
+    var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols10();
+    var { channels } = require_diagnostics2();
+    var {
+      isValidStatusCode,
+      isValidOpcode,
+      failWebsocketConnection,
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isTextBinaryFrame,
+      isContinuationFrame
+    } = require_util15();
+    var { WebsocketFrameSend } = require_frame2();
+    var { closeWebSocketConnection } = require_connection2();
+    var { PerMessageDeflate } = require_permessage_deflate2();
+    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));
+        }
       }
       /**
-       * @see https://w3c.github.io/ServiceWorker/#batch-cache-operations-algorithm
-       * @param {CacheBatchOperation[]} operations
-       * @returns {requestResponseList}
+       * @param {Buffer} chunk
+       * @param {() => void} callback
        */
-      #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"'
-              });
+      _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();
             }
-            if (operation.type === "delete" && operation.response != null) {
-              throw webidl.errors.exception({
-                header: "Cache.#batchCacheOperations",
-                message: "delete operation should not have an associated response"
-              });
+            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 (this.#queryCache(operation.request, operation.options, addedItems).length) {
-              throw new DOMException("???", "InvalidStateError");
+            if (masked) {
+              failWebsocketConnection(this.ws, "Frame cannot be masked");
+              return callback();
             }
-            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"
+            if (rsv1 !== 0 && !this.#extensions.has("permessage-deflate")) {
+              failWebsocketConnection(this.ws, "Expected RSV1 to be clear.");
+              return;
+            }
+            if (rsv2 !== 0 || rsv3 !== 0) {
+              failWebsocketConnection(this.ws, "RSV1, RSV2, RSV3 must be clear");
+              return;
+            }
+            if (fragmented && !isTextBinaryFrame(opcode)) {
+              failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
+              return;
+            }
+            if (isTextBinaryFrame(opcode) && this.#fragments.length > 0) {
+              failWebsocketConnection(this.ws, "Expected continuation frame");
+              return;
+            }
+            if (this.#info.fragmented && fragmented) {
+              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
+              return;
+            }
+            if ((payloadLength > 125 || fragmented) && isControlFrame(opcode)) {
+              failWebsocketConnection(this.ws, "Control frame either too large or fragmented");
+              return;
+            }
+            if (isContinuationFrame(opcode) && this.#fragments.length === 0 && !this.#info.compressed) {
+              failWebsocketConnection(this.ws, "Unexpected continuation frame");
+              return;
+            }
+            if (payloadLength <= 125) {
+              this.#info.payloadLength = payloadLength;
+              this.#state = parserStates.READ_DATA;
+            } else if (payloadLength === 126) {
+              this.#state = parserStates.PAYLOADLENGTH_16;
+            } else if (payloadLength === 127) {
+              this.#state = parserStates.PAYLOADLENGTH_64;
+            }
+            if (isTextBinaryFrame(opcode)) {
+              this.#info.binaryType = opcode;
+              this.#info.compressed = rsv1 !== 0;
+            }
+            this.#info.opcode = opcode;
+            this.#info.masked = masked;
+            this.#info.fin = fin;
+            this.#info.fragmented = fragmented;
+          } else if (this.#state === parserStates.PAYLOADLENGTH_16) {
+            if (this.#byteOffset < 2) {
+              return callback();
+            }
+            const buffer = this.consume(2);
+            this.#info.payloadLength = buffer.readUInt16BE(0);
+            this.#state = parserStates.READ_DATA;
+          } else if (this.#state === parserStates.PAYLOADLENGTH_64) {
+            if (this.#byteOffset < 8) {
+              return callback();
+            }
+            const buffer = this.consume(8);
+            const upper = buffer.readUInt32BE(0);
+            if (upper > 2 ** 31 - 1) {
+              failWebsocketConnection(this.ws, "Received payload length > 2^31 bytes.");
+              return;
+            }
+            const lower = buffer.readUInt32BE(4);
+            this.#info.payloadLength = (upper << 8) + lower;
+            this.#state = parserStates.READ_DATA;
+          } else if (this.#state === parserStates.READ_DATA) {
+            if (this.#byteOffset < this.#info.payloadLength) {
+              return callback();
+            }
+            const body = this.consume(this.#info.payloadLength);
+            if (isControlFrame(this.#info.opcode)) {
+              this.#loop = this.parseControlFrame(body);
+              this.#state = parserStates.INFO;
+            } else {
+              if (!this.#info.compressed) {
+                this.#fragments.push(body);
+                if (!this.#info.fragmented && this.#info.fin) {
+                  const fullMessage = Buffer.concat(this.#fragments);
+                  websocketMessageReceived(this.ws, this.#info.binaryType, fullMessage);
+                  this.#fragments.length = 0;
+                }
+                this.#state = parserStates.INFO;
+              } else {
+                this.#extensions.get("permessage-deflate").decompress(body, this.#info.fin, (error3, data) => {
+                  if (error3) {
+                    closeWebSocketConnection(this.ws, 1007, error3.message, error3.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;
               }
-              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}
+       * Take n bytes from the buffered Buffers
+       * @param {number} n
+       * @returns {Buffer}
        */
-      #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);
+      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;
           }
         }
-        return resultList;
+        this.#byteOffset -= n;
+        return buffer;
       }
-      /**
-       * @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 = "";
+      parseCloseBody(data) {
+        assert(data.length !== 1);
+        let code;
+        if (data.length >= 2) {
+          code = data.readUInt16BE(0);
         }
-        if (!urlEquals(queryURL, cachedURL, true)) {
-          return false;
+        if (code !== void 0 && !isValidStatusCode(code)) {
+          return { code: 1002, reason: "Invalid status code", error: true };
         }
-        if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) {
-          return true;
+        let reason = data.subarray(2);
+        if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
+          reason = reason.subarray(3);
         }
-        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;
-          }
+        try {
+          reason = utf8Decode(reason);
+        } catch {
+          return { code: 1007, reason: "Invalid UTF-8", error: true };
         }
-        return true;
-      }
-    };
-    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
+        return { code, reason, error: false };
       }
-    ]);
-    webidl.converters.Response = webidl.interfaceConverter(Response);
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.RequestInfo
-    );
-    module2.exports = {
-      Cache
-    };
-  }
-});
-
-// node_modules/undici/lib/cache/cachestorage.js
-var require_cachestorage2 = __commonJS({
-  "node_modules/undici/lib/cache/cachestorage.js"(exports2, module2) {
-    "use strict";
-    var { kConstruct } = require_symbols9();
-    var { Cache } = require_cache2();
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util9();
-    var CacheStorage = class _CacheStorage {
       /**
-       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
-       * @type {Map {
+                if (!err) {
+                  this.ws[kSentClose] = sentCloseFrameState.SENT;
+                }
+              }
+            );
+          }
+          this.ws[kReadyState] = states.CLOSING;
+          this.ws[kReceivedClose] = true;
+          return false;
+        } else if (opcode === opcodes.PING) {
+          if (!this.ws[kReceivedClose]) {
+            const frame = new WebsocketFrameSend(body);
+            this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
+            if (channels.ping.hasSubscribers) {
+              channels.ping.publish({
+                payload: body
+              });
             }
           }
+        } else if (opcode === opcodes.PONG) {
+          if (channels.pong.hasSubscribers) {
+            channels.pong.publish({
+              payload: body
+            });
+          }
         }
+        return true;
       }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#cache-storage-has
-       * @param {string} cacheName
-       * @returns {Promise}
-       */
-      async has(cacheName) {
-        webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.has" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        return this.#caches.has(cacheName);
-      }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open
-       * @param {string} cacheName
-       * @returns {Promise}
-       */
-      async open(cacheName) {
-        webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.open" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        if (this.#caches.has(cacheName)) {
-          const cache2 = this.#caches.get(cacheName);
-          return new Cache(kConstruct, cache2);
-        }
-        const 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);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.delete" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        return this.#caches.delete(cacheName);
-      }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys
-       * @returns {string[]}
-       */
-      async keys() {
-        webidl.brandCheck(this, _CacheStorage);
-        const keys = this.#caches.keys();
-        return [...keys];
+      get closingInfo() {
+        return this.#info.closeInfo;
       }
     };
-    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/cookies/constants.js
-var require_constants9 = __commonJS({
-  "node_modules/undici/lib/cookies/constants.js"(exports2, module2) {
-    "use strict";
-    var maxAttributeValueSize = 1024;
-    var maxNameValuePairSize = 4096;
     module2.exports = {
-      maxAttributeValueSize,
-      maxNameValuePairSize
+      ByteParser
     };
   }
 });
 
-// node_modules/undici/lib/cookies/util.js
-var require_util14 = __commonJS({
-  "node_modules/undici/lib/cookies/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js
+var require_sender2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js"(exports2, module2) {
     "use strict";
-    function isCTLExcludingHtab(value) {
-      if (value.length === 0) {
-        return false;
-      }
-      for (const char of value) {
-        const code = char.charCodeAt(0);
-        if (code >= 0 || code <= 8 || (code >= 10 || code <= 31) || code === 127) {
-          return false;
-        }
+    var { WebsocketFrameSend } = require_frame2();
+    var { opcodes, sendHints } = require_constants10();
+    var FixedQueue = require_fixed_queue2();
+    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;
       }
-    }
-    function validateCookieName(name) {
-      for (const char of name) {
-        const code = char.charCodeAt(0);
-        if (code <= 32 || code > 127 || char === "(" || char === ")" || char === ">" || char === "<" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}") {
-          throw new Error("Invalid cookie name");
+      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;
         }
-      }
-    }
-    function validateCookieValue(value) {
-      for (const char of value) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || // exclude CTLs (0-31)
-        code === 34 || code === 44 || code === 59 || code === 92 || code > 126) {
-          throw new Error("Invalid header value");
+        const 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();
         }
       }
-    }
-    function validateCookiePath(path16) {
-      for (const char of path16) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || char === ";") {
-          throw new Error("Invalid cookie path");
+      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 validateCookieDomain(domain) {
-      if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
-        throw new Error("Invalid cookie domain");
-      }
-    }
-    function toIMFDate(date) {
-      if (typeof date === "number") {
-        date = new Date(date);
-      }
-      const days = [
-        "Sun",
-        "Mon",
-        "Tue",
-        "Wed",
-        "Thu",
-        "Fri",
-        "Sat"
-      ];
-      const months = [
-        "Jan",
-        "Feb",
-        "Mar",
-        "Apr",
-        "May",
-        "Jun",
-        "Jul",
-        "Aug",
-        "Sep",
-        "Oct",
-        "Nov",
-        "Dec"
-      ];
-      const dayName = days[date.getUTCDay()];
-      const day = date.getUTCDate().toString().padStart(2, "0");
-      const month = months[date.getUTCMonth()];
-      const year = date.getUTCFullYear();
-      const hour = date.getUTCHours().toString().padStart(2, "0");
-      const minute = date.getUTCMinutes().toString().padStart(2, "0");
-      const second = date.getUTCSeconds().toString().padStart(2, "0");
-      return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`;
-    }
-    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("=")}`);
+    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);
       }
-      return out.join("; ");
     }
-    module2.exports = {
-      isCTLExcludingHtab,
-      validateCookieName,
-      validateCookiePath,
-      validateCookieValue,
-      toIMFDate,
-      stringify
-    };
+    module2.exports = { SendQueue };
   }
 });
 
-// node_modules/undici/lib/cookies/parse.js
-var require_parse2 = __commonJS({
-  "node_modules/undici/lib/cookies/parse.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js
+var require_websocket2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js"(exports2, module2) {
     "use strict";
-    var { maxNameValuePairSize, maxAttributeValueSize } = require_constants9();
-    var { isCTLExcludingHtab } = require_util14();
-    var { collectASequenceOfCodePointsFast } = require_dataURL();
-    var assert = require("assert");
-    function parseSetCookie(header) {
-      if (isCTLExcludingHtab(header)) {
-        return null;
-      }
-      let nameValuePair = "";
-      let unparsedAttributes = "";
-      let name = "";
-      let value = "";
-      if (header.includes(";")) {
-        const position = { position: 0 };
-        nameValuePair = collectASequenceOfCodePointsFast(";", header, position);
-        unparsedAttributes = header.slice(position.position);
-      } 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)
+    var { webidl } = require_webidl2();
+    var { URLSerializer } = require_data_url2();
+    var { environmentSettingsObject } = require_util10();
+    var { staticPropertyDescriptors, states, sentCloseFrameState, sendHints } = require_constants10();
+    var {
+      kWebSocketURL,
+      kReadyState,
+      kController,
+      kBinaryType,
+      kResponse,
+      kSentClose,
+      kByteParser
+    } = require_symbols10();
+    var {
+      isConnecting,
+      isEstablished,
+      isClosing,
+      isValidSubprotocol,
+      fireEvent
+    } = require_util15();
+    var { establishWebSocketConnection, closeWebSocketConnection } = require_connection2();
+    var { ByteParser } = require_receiver2();
+    var { kEnumerableProperty, isBlobLike } = require_util9();
+    var { getGlobalDispatcher } = require_global4();
+    var { types } = require("node:util");
+    var { ErrorEvent, CloseEvent } = require_events2();
+    var { SendQueue } = require_sender2();
+    var WebSocket = class _WebSocket extends EventTarget {
+      #events = {
+        open: null,
+        error: null,
+        close: null,
+        message: null
       };
-    }
-    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);
+      #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 (!/^\d+$/.test(attributeValue)) {
-          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
+        if (urlRecord.protocol === "http:") {
+          urlRecord.protocol = "ws:";
+        } else if (urlRecord.protocol === "https:") {
+          urlRecord.protocol = "wss:";
         }
-        const deltaSeconds = Number(attributeValue);
-        cookieAttributeList.maxAge = deltaSeconds;
-      } else if (attributeNameLowercase === "domain") {
-        let cookieDomain = attributeValue;
-        if (cookieDomain[0] === ".") {
-          cookieDomain = cookieDomain.slice(1);
+        if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") {
+          throw new DOMException(
+            `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
+            "SyntaxError"
+          );
         }
-        cookieDomain = cookieDomain.toLowerCase();
-        cookieAttributeList.domain = cookieDomain;
-      } else if (attributeNameLowercase === "path") {
-        let cookiePath = "";
-        if (attributeValue.length === 0 || attributeValue[0] !== "/") {
-          cookiePath = "/";
-        } else {
-          cookiePath = attributeValue;
+        if (urlRecord.hash || urlRecord.href.endsWith("#")) {
+          throw new DOMException("Got fragment", "SyntaxError");
         }
-        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 (typeof protocols === "string") {
+          protocols = [protocols];
         }
-        if (attributeValueLowercase.includes("strict")) {
-          enforcement = "Strict";
+        if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
+          throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
         }
-        if (attributeValueLowercase.includes("lax")) {
-          enforcement = "Lax";
+        if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
+          throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
         }
-        cookieAttributeList.sameSite = enforcement;
-      } else {
-        cookieAttributeList.unparsed ??= [];
-        cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`);
-      }
-      return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
-    }
-    module2.exports = {
-      parseSetCookie,
-      parseUnparsedAttributes
-    };
-  }
-});
-
-// node_modules/undici/lib/cookies/index.js
-var require_cookies2 = __commonJS({
-  "node_modules/undici/lib/cookies/index.js"(exports2, module2) {
-    "use strict";
-    var { parseSetCookie } = require_parse2();
-    var { stringify } = require_util14();
-    var { webidl } = require_webidl2();
-    var { Headers } = require_headers2();
-    function getCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "getCookies" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      const cookie = headers.get("cookie");
-      const out = {};
-      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.argumentLengthCheck(arguments, 2, { header: "deleteCookie" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      name = webidl.converters.DOMString(name);
-      attributes = webidl.converters.DeleteCookieAttributes(attributes);
-      setCookie(headers, {
-        name,
-        value: "",
-        expires: /* @__PURE__ */ new Date(0),
-        ...attributes
-      });
-    }
-    function getSetCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "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, { header: "setCookie" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      cookie = webidl.converters.Cookie(cookie);
-      const str2 = stringify(cookie);
-      if (str2) {
-        headers.append("Set-Cookie", stringify(cookie));
-      }
-    }
-    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
+        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";
       }
-    ]);
-    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);
+      /**
+       * @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");
           }
-          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: []
+        }
+        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);
       }
-    ]);
-    module2.exports = {
-      getCookies,
-      deleteCookie,
-      getSetCookies,
-      setCookie
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/constants.js
-var require_constants10 = __commonJS({
-  "node_modules/undici/lib/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 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);
-    module2.exports = {
-      uid,
-      staticPropertyDescriptors,
-      states,
-      opcodes,
-      maxUnsigned16Bit,
-      parserStates,
-      emptyBuffer
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/symbols.js
-var require_symbols10 = __commonJS({
-  "node_modules/undici/lib/websocket/symbols.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
-      kReadyState: /* @__PURE__ */ Symbol("ready state"),
-      kController: /* @__PURE__ */ Symbol("controller"),
-      kResponse: /* @__PURE__ */ Symbol("response"),
-      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
-      kSentClose: /* @__PURE__ */ Symbol("sent close"),
-      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
-      kByteParser: /* @__PURE__ */ Symbol("byte parser")
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/events.js
-var require_events2 = __commonJS({
-  "node_modules/undici/lib/websocket/events.js"(exports2, module2) {
-    "use strict";
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util9();
-    var { MessagePort } = require("worker_threads");
-    var MessageEvent = class _MessageEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.MessageEventInit(eventInitDict);
-        super(type2, eventInitDict);
-        this.#eventInit = eventInitDict;
+      /**
+       * @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 data() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.data;
+      get readyState() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kReadyState];
       }
-      get origin() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.origin;
+      get bufferedAmount() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#bufferedAmount;
       }
-      get lastEventId() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.lastEventId;
+      get url() {
+        webidl.brandCheck(this, _WebSocket);
+        return URLSerializer(this[kWebSocketURL]);
       }
-      get source() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.source;
+      get extensions() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#extensions;
       }
-      get ports() {
-        webidl.brandCheck(this, _MessageEvent);
-        if (!Object.isFrozen(this.#eventInit.ports)) {
-          Object.freeze(this.#eventInit.ports);
-        }
-        return this.#eventInit.ports;
+      get protocol() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#protocol;
       }
-      initMessageEvent(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
-        webidl.brandCheck(this, _MessageEvent);
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent.initMessageEvent" });
-        return new _MessageEvent(type2, {
-          bubbles,
-          cancelable,
-          data,
-          origin,
-          lastEventId,
-          source,
-          ports
-        });
+      get onopen() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.open;
       }
-    };
-    var CloseEvent = class _CloseEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
-        super(type2, eventInitDict);
-        this.#eventInit = eventInitDict;
+      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 wasClean() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.wasClean;
+      get onerror() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.error;
       }
-      get code() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.code;
+      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 reason() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.reason;
+      get onclose() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.close;
       }
-    };
-    var ErrorEvent = class _ErrorEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" });
-        super(type2, eventInitDict);
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});
-        this.#eventInit = eventInitDict;
+      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 message() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.message;
+      get onmessage() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.message;
       }
-      get filename() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.filename;
+      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 lineno() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.lineno;
+      get binaryType() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kBinaryType];
       }
-      get colno() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.colno;
+      set binaryType(type2) {
+        webidl.brandCheck(this, _WebSocket);
+        if (type2 !== "blob" && type2 !== "arraybuffer") {
+          this[kBinaryType] = "blob";
+        } else {
+          this[kBinaryType] = type2;
+        }
       }
-      get error() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.error;
+      /**
+       * @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);
       }
     };
-    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, {
+    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: "CloseEvent",
+        value: "WebSocket",
+        writable: false,
+        enumerable: false,
         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
+    Object.defineProperties(WebSocket, {
+      CONNECTING: staticPropertyDescriptors,
+      OPEN: staticPropertyDescriptors,
+      CLOSING: staticPropertyDescriptors,
+      CLOSED: staticPropertyDescriptors
     });
-    webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort);
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.MessagePort
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.DOMString
     );
-    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"],
-        get defaultValue() {
-          return [];
-        }
-      }
-    ]);
-    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["DOMString or sequence"] = function(V, prefix, argument) {
+      if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
+        return webidl.converters["sequence"](V);
       }
-    ]);
-    webidl.converters.ErrorEventInit = webidl.dictionaryConverter([
-      ...eventInit,
-      {
-        key: "message",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "filename",
-        converter: webidl.converters.USVString,
-        defaultValue: ""
-      },
+      return webidl.converters.DOMString(V, prefix, argument);
+    };
+    webidl.converters.WebSocketInit = webidl.dictionaryConverter([
       {
-        key: "lineno",
-        converter: webidl.converters["unsigned long"],
-        defaultValue: 0
+        key: "protocols",
+        converter: webidl.converters["DOMString or sequence"],
+        defaultValue: () => new Array(0)
       },
       {
-        key: "colno",
-        converter: webidl.converters["unsigned long"],
-        defaultValue: 0
+        key: "dispatcher",
+        converter: webidl.converters.any,
+        defaultValue: () => getGlobalDispatcher()
       },
-      {
-        key: "error",
-        converter: webidl.converters.any
-      }
-    ]);
-    module2.exports = {
-      MessageEvent,
-      CloseEvent,
-      ErrorEvent
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/util.js
-var require_util15 = __commonJS({
-  "node_modules/undici/lib/websocket/util.js"(exports2, module2) {
-    "use strict";
-    var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols10();
-    var { states, opcodes } = require_constants10();
-    var { MessageEvent, ErrorEvent } = require_events2();
-    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, eventConstructor = Event, eventInitDict) {
-      const event = new eventConstructor(e, eventInitDict);
-      target.dispatchEvent(event);
-    }
-    function websocketMessageReceived(ws, type2, data) {
-      if (ws[kReadyState] !== states.OPEN) {
-        return;
-      }
-      let dataForEvent;
-      if (type2 === opcodes.TEXT) {
-        try {
-          dataForEvent = new TextDecoder("utf-8", { fatal: true }).decode(data);
-        } catch {
-          failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
-          return;
-        }
-      } else if (type2 === opcodes.BINARY) {
-        if (ws[kBinaryType] === "blob") {
-          dataForEvent = new Blob([data]);
-        } else {
-          dataForEvent = new Uint8Array(data).buffer;
-        }
+      {
+        key: "headers",
+        converter: webidl.nullableConverter(webidl.converters.HeadersInit)
       }
-      fireEvent("message", ws, MessageEvent, {
-        origin: ws[kWebSocketURL].origin,
-        data: dataForEvent
-      });
-    }
-    function isValidSubprotocol(protocol) {
-      if (protocol.length === 0) {
-        return false;
+    ]);
+    webidl.converters["DOMString or sequence or WebSocketInit"] = function(V) {
+      if (webidl.util.Type(V) === "Object" && !(Symbol.iterator in V)) {
+        return webidl.converters.WebSocketInit(V);
       }
-      for (const char of protocol) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || code > 126 || char === "(" || char === ")" || char === "<" || char === ">" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}" || code === 32 || // SP
-        code === 9) {
-          return false;
+      return { 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 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;
+      return webidl.converters.USVString(V);
+    };
+    function onParserDrain() {
+      this.ws[kResponse].socket.resume();
     }
-    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, ErrorEvent, {
-          error: new Error(reason)
-        });
+    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 = {
-      isEstablished,
-      isClosing,
-      isClosed,
-      fireEvent,
-      isValidSubprotocol,
-      isValidStatusCode,
-      failWebsocketConnection,
-      websocketMessageReceived
+      WebSocket
     };
   }
 });
 
-// node_modules/undici/lib/websocket/connection.js
-var require_connection2 = __commonJS({
-  "node_modules/undici/lib/websocket/connection.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js
+var require_util16 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js"(exports2, module2) {
     "use strict";
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { uid, states } = require_constants10();
-    var {
-      kReadyState,
-      kSentClose,
-      kByteParser,
-      kReceivedClose
-    } = require_symbols10();
-    var { fireEvent, failWebsocketConnection } = require_util15();
-    var { CloseEvent } = require_events2();
-    var { makeRequest } = require_request4();
-    var { fetching } = require_fetch2();
-    var { Headers } = require_headers2();
-    var { getGlobalDispatcher } = require_global4();
-    var { kHeadersList } = require_symbols6();
-    var channels = {};
-    channels.open = diagnosticsChannel.channel("undici:websocket:open");
-    channels.close = diagnosticsChannel.channel("undici:websocket:close");
-    channels.socketError = diagnosticsChannel.channel("undici:websocket:socket_error");
-    var crypto3;
-    try {
-      crypto3 = require("crypto");
-    } catch {
-    }
-    function establishWebSocketConnection(url, protocols, ws, onEstablish, options) {
-      const requestURL = url;
-      requestURL.protocol = url.protocol === "ws:" ? "http:" : "https:";
-      const request2 = makeRequest({
-        urlList: [requestURL],
-        serviceWorkers: "none",
-        referrer: "no-referrer",
-        mode: "websocket",
-        credentials: "include",
-        cache: "no-store",
-        redirect: "error"
-      });
-      if (options.headers) {
-        const headersList = new Headers(options.headers)[kHeadersList];
-        request2.headersList = headersList;
-      }
-      const keyValue = crypto3.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 = "";
-      const controller = fetching({
-        request: request2,
-        useParallelQueue: true,
-        dispatcher: options.dispatcher ?? getGlobalDispatcher(),
-        processResponse(response) {
-          if (response.type === "error" || response.status !== 101) {
-            failWebsocketConnection(ws, "Received network error or non-101 status code.");
-            return;
-          }
-          if (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 = crypto3.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");
-          if (secExtension !== null && secExtension !== permessageDeflate) {
-            failWebsocketConnection(ws, "Received different permessage-deflate than the one set.");
-            return;
-          }
-          const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");
-          if (secProtocol !== null && secProtocol !== request2.headersList.get("Sec-WebSocket-Protocol")) {
-            failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");
-            return;
-          }
-          response.socket.on("data", onSocketData);
-          response.socket.on("close", onSocketClose);
-          response.socket.on("error", onSocketError);
-          if (channels.open.hasSubscribers) {
-            channels.open.publish({
-              address: response.socket.address(),
-              protocol: secProtocol,
-              extensions: secExtension
-            });
-          }
-          onEstablish(response);
-        }
-      });
-      return controller;
+    function isValidLastEventId(value) {
+      return value.indexOf("\0") === -1;
     }
-    function onSocketData(chunk) {
-      if (!this.ws[kByteParser].write(chunk)) {
-        this.pause();
+    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 onSocketClose() {
-      const { ws } = this;
-      const wasClean = ws[kSentClose] && ws[kReceivedClose];
-      let code = 1005;
-      let reason = "";
-      const result = ws[kByteParser].closingInfo;
-      if (result) {
-        code = result.code ?? 1005;
-        reason = result.reason;
-      } else if (!ws[kSentClose]) {
-        code = 1006;
-      }
-      ws[kReadyState] = states.CLOSED;
-      fireEvent("close", ws, CloseEvent, {
-        wasClean,
-        code,
-        reason
+    function delay2(ms) {
+      return new Promise((resolve9) => {
+        setTimeout(resolve9, ms).unref();
       });
-      if (channels.close.hasSubscribers) {
-        channels.close.publish({
-          websocket: ws,
-          code,
-          reason
-        });
-      }
-    }
-    function onSocketError(error3) {
-      const { ws } = this;
-      ws[kReadyState] = states.CLOSING;
-      if (channels.socketError.hasSubscribers) {
-        channels.socketError.publish(error3);
-      }
-      this.destroy();
     }
     module2.exports = {
-      establishWebSocketConnection
+      isValidLastEventId,
+      isASCIINumber,
+      delay: delay2
     };
   }
 });
 
-// node_modules/undici/lib/websocket/frame.js
-var require_frame2 = __commonJS({
-  "node_modules/undici/lib/websocket/frame.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js
+var require_eventsource_stream2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js"(exports2, module2) {
     "use strict";
-    var { maxUnsigned16Bit } = require_constants10();
-    var crypto3;
-    try {
-      crypto3 = require("crypto");
-    } catch {
-    }
-    var WebsocketFrameSend = class {
+    var { Transform } = require("node:stream");
+    var { isASCIINumber, isValidLastEventId } = require_util16();
+    var BOM = [239, 187, 191];
+    var LF = 10;
+    var CR = 13;
+    var COLON = 58;
+    var SPACE = 32;
+    var EventSourceStream = class extends Transform {
       /**
-       * @param {Buffer|undefined} data
+       * @type {eventSourceSettings}
        */
-      constructor(data) {
-        this.frameData = data;
-        this.maskKey = crypto3.randomBytes(4);
-      }
-      createFrame(opcode) {
-        const bodyLength = this.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 buffer = Buffer.allocUnsafe(bodyLength + offset);
-        buffer[0] = buffer[1] = 0;
-        buffer[0] |= 128;
-        buffer[0] = (buffer[0] & 240) + opcode;
-        buffer[offset - 4] = this.maskKey[0];
-        buffer[offset - 3] = this.maskKey[1];
-        buffer[offset - 2] = this.maskKey[2];
-        buffer[offset - 1] = this.maskKey[3];
-        buffer[1] = payloadLength;
-        if (payloadLength === 126) {
-          buffer.writeUInt16BE(bodyLength, 2);
-        } else if (payloadLength === 127) {
-          buffer[2] = buffer[3] = 0;
-          buffer.writeUIntBE(bodyLength, 4, 6);
-        }
-        buffer[1] |= 128;
-        for (let i = 0; i < bodyLength; i++) {
-          buffer[offset + i] = this.frameData[i] ^ this.maskKey[i % 4];
-        }
-        return buffer;
-      }
-    };
-    module2.exports = {
-      WebsocketFrameSend
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/receiver.js
-var require_receiver2 = __commonJS({
-  "node_modules/undici/lib/websocket/receiver.js"(exports2, module2) {
-    "use strict";
-    var { Writable } = require("stream");
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { parserStates, opcodes, states, emptyBuffer } = require_constants10();
-    var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols10();
-    var { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require_util15();
-    var { WebsocketFrameSend } = require_frame2();
-    var channels = {};
-    channels.ping = diagnosticsChannel.channel("undici:websocket:ping");
-    channels.pong = diagnosticsChannel.channel("undici:websocket:pong");
-    var ByteParser = class extends Writable {
-      #buffers = [];
-      #byteOffset = 0;
-      #state = parserStates.INFO;
-      #info = {};
-      #fragments = [];
-      constructor(ws) {
-        super();
-        this.ws = ws;
-      }
+      state = null;
       /**
-       * @param {Buffer} chunk
-       * @param {() => void} callback
+       * Leading byte-order-mark check.
+       * @type {boolean}
        */
-      _write(chunk, _, callback) {
-        this.#buffers.push(chunk);
-        this.#byteOffset += chunk.length;
-        this.run(callback);
+      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;
+        }
       }
       /**
-       * 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.
+       * @param {Buffer} chunk
+       * @param {string} _encoding
+       * @param {Function} callback
+       * @returns {void}
        */
-      run(callback) {
-        while (true) {
-          if (this.#state === parserStates.INFO) {
-            if (this.#byteOffset < 2) {
-              return callback();
-            }
-            const buffer = this.consume(2);
-            this.#info.fin = (buffer[0] & 128) !== 0;
-            this.#info.opcode = buffer[0] & 15;
-            this.#info.originalOpcode ??= this.#info.opcode;
-            this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION;
-            if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) {
-              failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
-              return;
-            }
-            const payloadLength = buffer[1] & 127;
-            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 (this.#info.fragmented && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
-              return;
-            } else if ((this.#info.opcode === opcodes.PING || this.#info.opcode === opcodes.PONG || this.#info.opcode === opcodes.CLOSE) && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Payload length for control frame exceeded 125 bytes.");
-              return;
-            } else if (this.#info.opcode === opcodes.CLOSE) {
-              if (payloadLength === 1) {
-                failWebsocketConnection(this.ws, "Received close frame with a 1-byte body.");
+      _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;
               }
-              const body = this.consume(payloadLength);
-              this.#info.closeInfo = this.parseCloseBody(false, body);
-              if (!this.ws[kSentClose]) {
-                const body2 = Buffer.allocUnsafe(2);
-                body2.writeUInt16BE(this.#info.closeInfo.code, 0);
-                const closeFrame = new WebsocketFrameSend(body2);
-                this.ws[kResponse].socket.write(
-                  closeFrame.createFrame(opcodes.CLOSE),
-                  (err) => {
-                    if (!err) {
-                      this.ws[kSentClose] = true;
-                    }
-                  }
-                );
-              }
-              this.ws[kReadyState] = states.CLOSING;
-              this.ws[kReceivedClose] = true;
-              this.end();
+              this.checkBOM = false;
+              callback();
               return;
-            } else if (this.#info.opcode === opcodes.PING) {
-              const body = this.consume(payloadLength);
-              if (!this.ws[kReceivedClose]) {
-                const frame = new WebsocketFrameSend(body);
-                this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
-                if (channels.ping.hasSubscribers) {
-                  channels.ping.publish({
-                    payload: body
-                  });
-                }
+            case 2:
+              if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1]) {
+                callback();
+                return;
               }
-              this.#state = parserStates.INFO;
-              if (this.#byteOffset > 0) {
-                continue;
-              } else {
+              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;
               }
-            } else if (this.#info.opcode === opcodes.PONG) {
-              const body = this.consume(payloadLength);
-              if (channels.pong.hasSubscribers) {
-                channels.pong.publish({
-                  payload: body
-                });
+              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);
               }
-              if (this.#byteOffset > 0) {
+              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;
-              } else {
-                callback();
-                return;
               }
+              this.crlfCheck = false;
             }
-          } 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();
-            } else if (this.#byteOffset >= this.#info.payloadLength) {
-              const body = this.consume(this.#info.payloadLength);
-              this.#fragments.push(body);
-              if (!this.#info.fragmented || this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) {
-                const fullMessage = Buffer.concat(this.#fragments);
-                websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage);
-                this.#info = {};
-                this.#fragments.length = 0;
+            if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) {
+              if (this.buffer[this.pos] === CR) {
+                this.crlfCheck = true;
               }
-              this.#state = parserStates.INFO;
+              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.#byteOffset > 0) {
+          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;
-          } else {
-            callback();
-            break;
           }
+          this.pos++;
         }
+        callback();
       }
       /**
-       * Take n bytes from the buffered Buffers
-       * @param {number} n
-       * @returns {Buffer|null}
+       * @param {Buffer} line
+       * @param {EventStreamEvent} event
        */
-      consume(n) {
-        if (n > this.#byteOffset) {
-          return null;
-        } else if (n === 0) {
-          return emptyBuffer;
+      parseLine(line, event) {
+        if (line.length === 0) {
+          return;
         }
-        if (this.#buffers[0].length === n) {
-          this.#byteOffset -= this.#buffers[0].length;
-          return this.#buffers.shift();
+        const colonPosition = line.indexOf(COLON);
+        if (colonPosition === 0) {
+          return;
         }
-        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);
+        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;
-          } else if (length + offset > n) {
-            buffer.set(next.subarray(0, n - offset), offset);
-            this.#buffers[0] = next.subarray(n - offset);
+          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;
-          } else {
-            buffer.set(this.#buffers.shift(), offset);
-            offset += next.length;
-          }
         }
-        this.#byteOffset -= n;
-        return buffer;
       }
-      parseCloseBody(onlyCode, data) {
-        let code;
-        if (data.length >= 2) {
-          code = data.readUInt16BE(0);
-        }
-        if (onlyCode) {
-          if (!isValidStatusCode(code)) {
-            return null;
-          }
-          return { code };
-        }
-        let reason = data.subarray(2);
-        if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
-          reason = reason.subarray(3);
+      /**
+       * @param {EventSourceStreamEvent} event
+       */
+      processEvent(event) {
+        if (event.retry && isASCIINumber(event.retry)) {
+          this.state.reconnectionTime = parseInt(event.retry, 10);
         }
-        if (code !== void 0 && !isValidStatusCode(code)) {
-          return null;
+        if (event.id && isValidLastEventId(event.id)) {
+          this.state.lastEventId = event.id;
         }
-        try {
-          reason = new TextDecoder("utf-8", { fatal: true }).decode(reason);
-        } catch {
-          return null;
+        if (event.data !== void 0) {
+          this.push({
+            type: event.event || "message",
+            options: {
+              data: event.data,
+              lastEventId: this.state.lastEventId,
+              origin: this.state.origin
+            }
+          });
         }
-        return { code, reason };
       }
-      get closingInfo() {
-        return this.#info.closeInfo;
+      clearEvent() {
+        this.event = {
+          data: void 0,
+          event: void 0,
+          id: void 0,
+          retry: void 0
+        };
       }
     };
     module2.exports = {
-      ByteParser
+      EventSourceStream
     };
   }
 });
 
-// node_modules/undici/lib/websocket/websocket.js
-var require_websocket2 = __commonJS({
-  "node_modules/undici/lib/websocket/websocket.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js
+var require_eventsource2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js"(exports2, module2) {
     "use strict";
+    var { pipeline } = require("node:stream");
+    var { fetching } = require_fetch2();
+    var { makeRequest } = require_request4();
     var { webidl } = require_webidl2();
-    var { DOMException: DOMException2 } = require_constants7();
-    var { URLSerializer } = require_dataURL();
-    var { getGlobalOrigin } = require_global3();
-    var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require_constants10();
-    var {
-      kWebSocketURL,
-      kReadyState,
-      kController,
-      kBinaryType,
-      kResponse,
-      kSentClose,
-      kByteParser
-    } = require_symbols10();
-    var { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require_util15();
-    var { establishWebSocketConnection } = require_connection2();
-    var { WebsocketFrameSend } = require_frame2();
-    var { ByteParser } = require_receiver2();
-    var { kEnumerableProperty, isBlobLike } = require_util9();
-    var { getGlobalDispatcher } = require_global4();
-    var { types } = require("util");
+    var { EventSourceStream } = require_eventsource_stream2();
+    var { parseMIMEType } = require_data_url2();
+    var { createFastMessageEvent } = require_events2();
+    var { isNetworkError } = require_response2();
+    var { delay: delay2 } = require_util16();
+    var { kEnumerableProperty } = require_util9();
+    var { environmentSettingsObject } = require_util10();
     var experimentalWarned = false;
-    var WebSocket = class _WebSocket extends EventTarget {
+    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,
-        close: null,
         message: null
       };
-      #bufferedAmount = 0;
-      #protocol = "";
-      #extensions = "";
+      #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 {string|string[]} protocols
+       * @param {EventSourceInit} [eventSourceInitDict]
+       * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#the-eventsource-interface
        */
-      constructor(url, protocols = []) {
+      constructor(url, eventSourceInitDict = {}) {
         super();
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket constructor" });
+        webidl.util.markAsUncloneable(this);
+        const prefix = "EventSource constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
         if (!experimentalWarned) {
           experimentalWarned = true;
-          process.emitWarning("WebSockets are experimental, expect them to change at any time.", {
-            code: "UNDICI-WS"
+          process.emitWarning("EventSource is experimental, expect them to change at any time.", {
+            code: "UNDICI-ES"
           });
         }
-        const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols);
-        url = webidl.converters.USVString(url);
-        protocols = options.protocols;
-        const baseURL = getGlobalOrigin();
+        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, baseURL);
+          urlRecord = new URL(url, settings.settingsObject.baseUrl);
+          this.#state.origin = urlRecord.origin;
         } catch (e) {
-          throw new DOMException2(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 DOMException2(
-            `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
-            "SyntaxError"
-          );
-        }
-        if (urlRecord.hash || urlRecord.href.endsWith("#")) {
-          throw new DOMException2("Got fragment", "SyntaxError");
-        }
-        if (typeof protocols === "string") {
-          protocols = [protocols];
-        }
-        if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
-          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+          throw new DOMException(e, "SyntaxError");
         }
-        if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
-          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+        this.#url = urlRecord.href;
+        let corsAttributeState = ANONYMOUS;
+        if (eventSourceInitDict.withCredentials) {
+          corsAttributeState = USE_CREDENTIALS;
+          this.#withCredentials = true;
         }
-        this[kWebSocketURL] = new URL(urlRecord.href);
-        this[kController] = establishWebSocketConnection(
-          urlRecord,
-          protocols,
-          this,
-          (response) => this.#onConnectionEstablished(response),
-          options
-        );
-        this[kReadyState] = _WebSocket.CONNECTING;
-        this[kBinaryType] = "blob";
+        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();
       }
       /**
-       * @see https://websockets.spec.whatwg.org/#dom-websocket-close
-       * @param {number|undefined} code
-       * @param {string|undefined} reason
+       * Returns the state of this EventSource object's connection. It can have the
+       * values described below.
+       * @returns {0|1|2}
+       * @readonly
        */
-      close(code = void 0, reason = void 0) {
-        webidl.brandCheck(this, _WebSocket);
-        if (code !== void 0) {
-          code = webidl.converters["unsigned short"](code, { clamp: true });
-        }
-        if (reason !== void 0) {
-          reason = webidl.converters.USVString(reason);
-        }
-        if (code !== void 0) {
-          if (code !== 1e3 && (code < 3e3 || code > 4999)) {
-            throw new DOMException2("invalid code", "InvalidAccessError");
+      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();
           }
-        }
-        let reasonByteLength = 0;
-        if (reason !== void 0) {
-          reasonByteLength = Buffer.byteLength(reason);
-          if (reasonByteLength > 123) {
-            throw new DOMException2(
-              `Reason must be less than 123 bytes; received ${reasonByteLength}`,
-              "SyntaxError"
-            );
+          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;
+            }
           }
-        }
-        if (this[kReadyState] === _WebSocket.CLOSING || this[kReadyState] === _WebSocket.CLOSED) {
-        } else if (!isEstablished(this)) {
-          failWebsocketConnection(this, "Connection was closed before it was established.");
-          this[kReadyState] = _WebSocket.CLOSING;
-        } else if (!isClosing(this)) {
-          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 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;
           }
-          const socket = this[kResponse].socket;
-          socket.write(frame.createFrame(opcodes.CLOSE), (err) => {
-            if (!err) {
-              this[kSentClose] = true;
+          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
+              ));
             }
           });
-          this[kReadyState] = states.CLOSING;
-        } else {
-          this[kReadyState] = _WebSocket.CLOSING;
-        }
+          pipeline(
+            response.body.stream,
+            eventSourceStream,
+            (error3) => {
+              if (error3?.aborted === false) {
+                this.close();
+                this.dispatchEvent(new Event("error"));
+              }
+            }
+          );
+        };
+        this.#controller = fetching(fetchParams);
       }
       /**
-       * @see https://websockets.spec.whatwg.org/#dom-websocket-send
-       * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data
+       * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#sse-processing-model
+       * @returns {Promise}
        */
-      send(data) {
-        webidl.brandCheck(this, _WebSocket);
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" });
-        data = webidl.converters.WebSocketSendData(data);
-        if (this[kReadyState] === _WebSocket.CONNECTING) {
-          throw new DOMException2("Sent before connected.", "InvalidStateError");
-        }
-        if (!isEstablished(this) || isClosing(this)) {
-          return;
-        }
-        const socket = this[kResponse].socket;
-        if (typeof data === "string") {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.TEXT);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
-        } else if (types.isArrayBuffer(data)) {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
-        } else if (ArrayBuffer.isView(data)) {
-          const ab = Buffer.from(data, data.byteOffset, data.byteLength);
-          const frame = new WebsocketFrameSend(ab);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += ab.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= ab.byteLength;
-          });
-        } else if (isBlobLike(data)) {
-          const frame = new WebsocketFrameSend();
-          data.arrayBuffer().then((ab) => {
-            const value = Buffer.from(ab);
-            frame.frameData = value;
-            const buffer = frame.createFrame(opcodes.BINARY);
-            this.#bufferedAmount += value.byteLength;
-            socket.write(buffer, () => {
-              this.#bufferedAmount -= value.byteLength;
-            });
-          });
+      async #reconnect() {
+        if (this.#readyState === CLOSED) return;
+        this.#readyState = CONNECTING;
+        this.dispatchEvent(new Event("error"));
+        await delay2(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();
       }
-      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;
+      /**
+       * 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() {
-        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);
         }
@@ -37998,44 +39575,10 @@ var require_websocket2 = __commonJS({
           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);
         }
@@ -38046,137 +39589,87 @@ var require_websocket2 = __commonJS({
           this.#events.message = null;
         }
       }
-      get binaryType() {
-        webidl.brandCheck(this, _WebSocket);
-        return this[kBinaryType];
+      get onerror() {
+        return this.#events.error;
       }
-      set binaryType(type2) {
-        webidl.brandCheck(this, _WebSocket);
-        if (type2 !== "blob" && type2 !== "arraybuffer") {
-          this[kBinaryType] = "blob";
+      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[kBinaryType] = type2;
+          this.#events.error = null;
         }
       }
-      /**
-       * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
-       */
-      #onConnectionEstablished(response) {
-        this[kResponse] = response;
-        const parser = new ByteParser(this);
-        parser.on("drain", function onParserDrain() {
-          this.ws[kResponse].socket.resume();
-        });
-        response.socket.ws = this;
-        this[kByteParser] = parser;
-        this[kReadyState] = states.OPEN;
-        const extensions = response.headersList.get("sec-websocket-extensions");
-        if (extensions !== null) {
-          this.#extensions = extensions;
-        }
-        const protocol = response.headersList.get("sec-websocket-protocol");
-        if (protocol !== null) {
-          this.#protocol = protocol;
-        }
-        fireEvent("open", this);
+    };
+    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
       }
     };
-    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,
+    Object.defineProperties(EventSource, constantsPropertyDescriptors);
+    Object.defineProperties(EventSource.prototype, constantsPropertyDescriptors);
+    Object.defineProperties(EventSource.prototype, {
       close: kEnumerableProperty,
+      onerror: 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
+      onopen: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      url: kEnumerableProperty,
+      withCredentials: kEnumerableProperty
     });
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.DOMString
-    );
-    webidl.converters["DOMString or sequence"] = function(V) {
-      if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
-        return webidl.converters["sequence"](V);
-      }
-      return webidl.converters.DOMString(V);
-    };
-    webidl.converters.WebSocketInit = webidl.dictionaryConverter([
+    webidl.converters.EventSourceInitDict = webidl.dictionaryConverter([
       {
-        key: "protocols",
-        converter: webidl.converters["DOMString or sequence"],
-        get defaultValue() {
-          return [];
-        }
+        key: "withCredentials",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
       },
       {
         key: "dispatcher",
-        converter: (V) => V,
-        get defaultValue() {
-          return getGlobalDispatcher();
-        }
-      },
-      {
-        key: "headers",
-        converter: webidl.nullableConverter(webidl.converters.HeadersInit)
+        // undici only
+        converter: webidl.converters.any
       }
     ]);
-    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.isAnyArrayBuffer(V)) {
-          return webidl.converters.BufferSource(V);
-        }
-      }
-      return webidl.converters.USVString(V);
-    };
     module2.exports = {
-      WebSocket
+      EventSource,
+      defaultReconnectionTime
     };
   }
 });
 
-// node_modules/undici/index.js
+// node_modules/@actions/github/node_modules/undici/index.js
 var require_undici2 = __commonJS({
-  "node_modules/undici/index.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/index.js"(exports2, module2) {
     "use strict";
     var Client = require_client2();
     var Dispatcher = require_dispatcher2();
-    var errors = require_errors2();
     var Pool = require_pool2();
     var BalancedPool = require_balanced_pool2();
     var Agent = require_agent2();
+    var ProxyAgent = require_proxy_agent2();
+    var EnvHttpProxyAgent = require_env_http_proxy_agent2();
+    var RetryAgent = require_retry_agent2();
+    var errors = require_errors2();
     var util = require_util9();
     var { InvalidArgumentError } = errors;
     var api = require_api2();
@@ -38185,19 +39678,11 @@ var require_undici2 = __commonJS({
     var MockAgent = require_mock_agent2();
     var MockPool = require_mock_pool2();
     var mockErrors = require_mock_errors2();
-    var ProxyAgent = require_proxy_agent2();
-    var RetryHandler = require_RetryHandler();
+    var RetryHandler = require_retry_handler2();
     var { getGlobalDispatcher, setGlobalDispatcher } = require_global4();
-    var DecoratorHandler = require_DecoratorHandler();
-    var RedirectHandler = require_RedirectHandler();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var hasCrypto;
-    try {
-      require("crypto");
-      hasCrypto = true;
-    } catch {
-      hasCrypto = false;
-    }
+    var DecoratorHandler = require_decorator_handler2();
+    var RedirectHandler = require_redirect_handler2();
+    var createRedirectInterceptor = require_redirect_interceptor2();
     Object.assign(Dispatcher.prototype, api);
     module2.exports.Dispatcher = Dispatcher;
     module2.exports.Client = Client;
@@ -38205,12 +39690,24 @@ var require_undici2 = __commonJS({
     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_redirect2(),
+      retry: require_retry2(),
+      dump: require_dump2(),
+      dns: require_dns2()
+    };
     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") {
@@ -38252,48 +39749,42 @@ var require_undici2 = __commonJS({
     }
     module2.exports.setGlobalDispatcher = setGlobalDispatcher;
     module2.exports.getGlobalDispatcher = getGlobalDispatcher;
-    if (util.nodeMajor > 16 || util.nodeMajor === 16 && util.nodeMinor >= 8) {
-      let fetchImpl = null;
-      module2.exports.fetch = async function fetch(resource) {
-        if (!fetchImpl) {
-          fetchImpl = require_fetch2().fetch;
-        }
-        try {
-          return await fetchImpl(...arguments);
-        } catch (err) {
-          if (typeof err === "object") {
-            Error.captureStackTrace(err, this);
-          }
-          throw err;
+    var fetchImpl = require_fetch2().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);
         }
-      };
-      module2.exports.Headers = require_headers2().Headers;
-      module2.exports.Response = require_response2().Response;
-      module2.exports.Request = require_request4().Request;
-      module2.exports.FormData = require_formdata2().FormData;
-      module2.exports.File = require_file2().File;
-      module2.exports.FileReader = require_filereader2().FileReader;
-      const { setGlobalOrigin, getGlobalOrigin } = require_global3();
-      module2.exports.setGlobalOrigin = setGlobalOrigin;
-      module2.exports.getGlobalOrigin = getGlobalOrigin;
-      const { CacheStorage } = require_cachestorage2();
-      const { kConstruct } = require_symbols9();
-      module2.exports.caches = new CacheStorage(kConstruct);
-    }
-    if (util.nodeMajor >= 16) {
-      const { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
-      module2.exports.deleteCookie = deleteCookie;
-      module2.exports.getCookies = getCookies;
-      module2.exports.getSetCookies = getSetCookies;
-      module2.exports.setCookie = setCookie;
-      const { parseMIMEType, serializeAMimeType } = require_dataURL();
-      module2.exports.parseMIMEType = parseMIMEType;
-      module2.exports.serializeAMimeType = serializeAMimeType;
-    }
-    if (util.nodeMajor >= 18 && hasCrypto) {
-      const { WebSocket } = require_websocket2();
-      module2.exports.WebSocket = WebSocket;
-    }
+        throw err;
+      }
+    };
+    module2.exports.Headers = require_headers2().Headers;
+    module2.exports.Response = require_response2().Response;
+    module2.exports.Request = require_request4().Request;
+    module2.exports.FormData = require_formdata2().FormData;
+    module2.exports.File = globalThis.File ?? require("node:buffer").File;
+    module2.exports.FileReader = require_filereader2().FileReader;
+    var { setGlobalOrigin, getGlobalOrigin } = require_global3();
+    module2.exports.setGlobalOrigin = setGlobalOrigin;
+    module2.exports.getGlobalOrigin = getGlobalOrigin;
+    var { CacheStorage } = require_cachestorage2();
+    var { kConstruct } = require_symbols9();
+    module2.exports.caches = new CacheStorage(kConstruct);
+    var { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
+    module2.exports.deleteCookie = deleteCookie;
+    module2.exports.getCookies = getCookies;
+    module2.exports.getSetCookies = getSetCookies;
+    module2.exports.setCookie = setCookie;
+    var { parseMIMEType, serializeAMimeType } = require_data_url2();
+    module2.exports.parseMIMEType = parseMIMEType;
+    module2.exports.serializeAMimeType = serializeAMimeType;
+    var { CloseEvent, ErrorEvent, MessageEvent } = require_events2();
+    module2.exports.WebSocket = require_websocket2().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);
@@ -38303,6 +39794,8 @@ var require_undici2 = __commonJS({
     module2.exports.MockPool = MockPool;
     module2.exports.MockAgent = MockAgent;
     module2.exports.mockErrors = mockErrors;
+    var { EventSource } = require_eventsource2();
+    module2.exports.EventSource = EventSource;
   }
 });
 
@@ -44522,7 +46015,7 @@ var require_package = __commonJS({
         "@actions/cache": "^5.0.5",
         "@actions/core": "^2.0.3",
         "@actions/exec": "^2.0.0",
-        "@actions/github": "^8.0.0",
+        "@actions/github": "^8.0.1",
         "@actions/glob": "^0.5.0",
         "@actions/http-client": "^3.0.0",
         "@actions/io": "^2.0.0",
@@ -44554,7 +46047,7 @@ var require_package = __commonJS({
         "@types/node-forge": "^1.3.14",
         "@types/semver": "^7.7.1",
         "@types/sinon": "^21.0.0",
-        "@typescript-eslint/eslint-plugin": "^8.53.1",
+        "@typescript-eslint/eslint-plugin": "^8.54.0",
         "@typescript-eslint/parser": "^8.48.0",
         ava: "^6.4.1",
         esbuild: "^0.27.2",
@@ -44563,7 +46056,7 @@ var require_package = __commonJS({
         "eslint-plugin-filenames": "^1.3.2",
         "eslint-plugin-github": "^5.1.8",
         "eslint-plugin-import": "2.29.1",
-        "eslint-plugin-jsdoc": "^62.3.0",
+        "eslint-plugin-jsdoc": "^62.4.1",
         "eslint-plugin-no-async-foreach": "^0.1.1",
         glob: "^11.1.0",
         nock: "^14.0.10",
@@ -55205,7 +56698,7 @@ var require_clientHelpers = __commonJS({
 });
 
 // node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js
-var require_multipart2 = __commonJS({
+var require_multipart = __commonJS({
   "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -55328,7 +56821,7 @@ var require_sendRequest = __commonJS({
     var pipelineRequest_js_1 = require_pipelineRequest();
     var clientHelpers_js_1 = require_clientHelpers();
     var typeGuards_js_1 = require_typeGuards();
-    var multipart_js_1 = require_multipart2();
+    var multipart_js_1 = require_multipart();
     async function sendRequest(method, url, pipeline, options = {}, customHttpClient) {
       const httpClient = customHttpClient ?? (0, clientHelpers_js_1.getCachedDefaultHttpsClient)();
       const request2 = buildPipelineRequest(method, url, options);
@@ -60026,7 +61519,7 @@ var require_commonjs8 = __commonJS({
 });
 
 // node_modules/@azure/core-http-compat/dist/commonjs/util.js
-var require_util16 = __commonJS({
+var require_util17 = __commonJS({
   "node_modules/@azure/core-http-compat/dist/commonjs/util.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -60281,7 +61774,7 @@ var require_response3 = __commonJS({
     exports2.toCompatResponse = toCompatResponse;
     exports2.toPipelineResponse = toPipelineResponse;
     var core_rest_pipeline_1 = require_commonjs6();
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     var originalResponse = /* @__PURE__ */ Symbol("Original FullOperationResponse");
     function toCompatResponse(response, options) {
       let request2 = (0, util_js_1.toWebResourceLike)(response.request);
@@ -60395,7 +61888,7 @@ var require_requestPolicyFactoryPolicy = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.requestPolicyFactoryPolicyName = exports2.HttpPipelineLogLevel = void 0;
     exports2.createRequestPolicyFactoryPolicy = createRequestPolicyFactoryPolicy;
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     var response_js_1 = require_response3();
     var HttpPipelineLogLevel;
     (function(HttpPipelineLogLevel2) {
@@ -60442,7 +61935,7 @@ var require_httpClientAdapter = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.convertHttpClient = convertHttpClient;
     var response_js_1 = require_response3();
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     function convertHttpClient(requestPolicyClient) {
       return {
         sendRequest: async (request2) => {
@@ -60482,7 +61975,7 @@ var require_commonjs9 = __commonJS({
     Object.defineProperty(exports2, "convertHttpClient", { enumerable: true, get: function() {
       return httpClientAdapter_js_1.convertHttpClient;
     } });
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     Object.defineProperty(exports2, "toHttpHeadersLike", { enumerable: true, get: function() {
       return util_js_1.toHttpHeadersLike;
     } });
@@ -96563,7 +98056,7 @@ var require_cache_twirp_client = __commonJS({
 });
 
 // node_modules/@actions/cache/lib/internal/shared/util.js
-var require_util17 = __commonJS({
+var require_util18 = __commonJS({
   "node_modules/@actions/cache/lib/internal/shared/util.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -96640,7 +98133,7 @@ var require_cacheTwirpClient = __commonJS({
     var auth_1 = require_auth();
     var http_client_1 = require_lib();
     var cache_twirp_client_1 = require_cache_twirp_client();
-    var util_1 = require_util17();
+    var util_1 = require_util18();
     var CacheServiceClient = class {
       constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) {
         this.maxAttempts = 5;
@@ -108058,11 +109551,11 @@ void runWrapper();
 /*! Bundled license information:
 
 undici/lib/web/fetch/body.js:
-undici/lib/fetch/body.js:
+undici/lib/web/fetch/body.js:
   (*! formdata-polyfill. MIT License. Jimmy Wärting  *)
 
 undici/lib/web/websocket/frame.js:
-undici/lib/websocket/frame.js:
+undici/lib/web/websocket/frame.js:
   (*! ws. MIT License. Einar Otto Stangvik  *)
 
 @octokit/request-error/dist-src/index.js:
diff --git a/lib/resolve-environment-action.js b/lib/resolve-environment-action.js
index 5093055f93..781e69b6b3 100644
--- a/lib/resolve-environment-action.js
+++ b/lib/resolve-environment-action.js
@@ -21549,9 +21549,9 @@ var require_context = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/core/symbols.js
 var require_symbols6 = __commonJS({
-  "node_modules/undici/lib/core/symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/symbols.js"(exports2, module2) {
     module2.exports = {
       kClose: /* @__PURE__ */ Symbol("close"),
       kDestroy: /* @__PURE__ */ Symbol("destroy"),
@@ -21562,7 +21562,6 @@ var require_symbols6 = __commonJS({
       kQueue: /* @__PURE__ */ Symbol("queue"),
       kConnect: /* @__PURE__ */ Symbol("connect"),
       kConnecting: /* @__PURE__ */ Symbol("connecting"),
-      kHeadersList: /* @__PURE__ */ Symbol("headers list"),
       kKeepAliveDefaultTimeout: /* @__PURE__ */ Symbol("default keep alive timeout"),
       kKeepAliveMaxTimeout: /* @__PURE__ */ Symbol("max keep alive timeout"),
       kKeepAliveTimeoutThreshold: /* @__PURE__ */ Symbol("keep alive timeout threshold"),
@@ -21575,6 +21574,7 @@ var require_symbols6 = __commonJS({
       kHost: /* @__PURE__ */ Symbol("host"),
       kNoRef: /* @__PURE__ */ Symbol("no ref"),
       kBodyUsed: /* @__PURE__ */ Symbol("used"),
+      kBody: /* @__PURE__ */ Symbol("abstracted request body"),
       kRunning: /* @__PURE__ */ Symbol("running"),
       kBlocking: /* @__PURE__ */ Symbol("blocking"),
       kPending: /* @__PURE__ */ Symbol("pending"),
@@ -21587,6 +21587,8 @@ var require_symbols6 = __commonJS({
       kNeedDrain: /* @__PURE__ */ Symbol("need drain"),
       kReset: /* @__PURE__ */ Symbol("reset"),
       kDestroyed: /* @__PURE__ */ Symbol.for("nodejs.stream.destroyed"),
+      kResume: /* @__PURE__ */ Symbol("resume"),
+      kOnError: /* @__PURE__ */ Symbol("on error"),
       kMaxHeadersSize: /* @__PURE__ */ Symbol("max headers size"),
       kRunningIdx: /* @__PURE__ */ Symbol("running index"),
       kPendingIdx: /* @__PURE__ */ Symbol("pending index"),
@@ -21608,67 +21610,90 @@ var require_symbols6 = __commonJS({
       kMaxResponseSize: /* @__PURE__ */ Symbol("max response size"),
       kHTTP2Session: /* @__PURE__ */ Symbol("http2Session"),
       kHTTP2SessionState: /* @__PURE__ */ Symbol("http2Session state"),
-      kHTTP2BuildRequest: /* @__PURE__ */ Symbol("http2 build request"),
-      kHTTP1BuildRequest: /* @__PURE__ */ Symbol("http1 build request"),
-      kHTTP2CopyHeaders: /* @__PURE__ */ Symbol("http2 copy headers"),
-      kHTTPConnVersion: /* @__PURE__ */ Symbol("http connection version"),
       kRetryHandlerDefaultRetry: /* @__PURE__ */ Symbol("retry agent default retry"),
-      kConstruct: /* @__PURE__ */ Symbol("constructable")
+      kConstruct: /* @__PURE__ */ Symbol("constructable"),
+      kListeners: /* @__PURE__ */ Symbol("listeners"),
+      kHTTPContext: /* @__PURE__ */ Symbol("http context"),
+      kMaxConcurrentStreams: /* @__PURE__ */ Symbol("max concurrent streams"),
+      kNoProxyAgent: /* @__PURE__ */ Symbol("no proxy agent"),
+      kHttpProxyAgent: /* @__PURE__ */ Symbol("http proxy agent"),
+      kHttpsProxyAgent: /* @__PURE__ */ Symbol("https proxy agent")
     };
   }
 });
 
-// node_modules/undici/lib/core/errors.js
+// node_modules/@actions/github/node_modules/undici/lib/core/errors.js
 var require_errors2 = __commonJS({
-  "node_modules/undici/lib/core/errors.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/errors.js"(exports2, module2) {
     "use strict";
+    var kUndiciError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR");
     var UndiciError = class extends Error {
       constructor(message) {
         super(message);
         this.name = "UndiciError";
         this.code = "UND_ERR";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kUndiciError] === true;
+      }
+      [kUndiciError] = true;
     };
-    var ConnectTimeoutError = class _ConnectTimeoutError extends UndiciError {
+    var kConnectTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT");
+    var ConnectTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ConnectTimeoutError);
         this.name = "ConnectTimeoutError";
         this.message = message || "Connect Timeout Error";
         this.code = "UND_ERR_CONNECT_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kConnectTimeoutError] === true;
+      }
+      [kConnectTimeoutError] = true;
     };
-    var HeadersTimeoutError = class _HeadersTimeoutError extends UndiciError {
+    var kHeadersTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT");
+    var HeadersTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersTimeoutError);
         this.name = "HeadersTimeoutError";
         this.message = message || "Headers Timeout Error";
         this.code = "UND_ERR_HEADERS_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersTimeoutError] === true;
+      }
+      [kHeadersTimeoutError] = true;
     };
-    var HeadersOverflowError = class _HeadersOverflowError extends UndiciError {
+    var kHeadersOverflowError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW");
+    var HeadersOverflowError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersOverflowError);
         this.name = "HeadersOverflowError";
         this.message = message || "Headers Overflow Error";
         this.code = "UND_ERR_HEADERS_OVERFLOW";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersOverflowError] === true;
+      }
+      [kHeadersOverflowError] = true;
     };
-    var BodyTimeoutError = class _BodyTimeoutError extends UndiciError {
+    var kBodyTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT");
+    var BodyTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _BodyTimeoutError);
         this.name = "BodyTimeoutError";
         this.message = message || "Body Timeout Error";
         this.code = "UND_ERR_BODY_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBodyTimeoutError] === true;
+      }
+      [kBodyTimeoutError] = true;
     };
-    var ResponseStatusCodeError = class _ResponseStatusCodeError extends UndiciError {
+    var kResponseStatusCodeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RESPONSE_STATUS_CODE");
+    var ResponseStatusCodeError = class extends UndiciError {
       constructor(message, statusCode, headers, body) {
         super(message);
-        Error.captureStackTrace(this, _ResponseStatusCodeError);
         this.name = "ResponseStatusCodeError";
         this.message = message || "Response Status Code Error";
         this.code = "UND_ERR_RESPONSE_STATUS_CODE";
@@ -21677,129 +21702,198 @@ var require_errors2 = __commonJS({
         this.statusCode = statusCode;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseStatusCodeError] === true;
+      }
+      [kResponseStatusCodeError] = true;
     };
-    var InvalidArgumentError = class _InvalidArgumentError extends UndiciError {
+    var kInvalidArgumentError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_ARG");
+    var InvalidArgumentError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidArgumentError);
         this.name = "InvalidArgumentError";
         this.message = message || "Invalid Argument Error";
         this.code = "UND_ERR_INVALID_ARG";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidArgumentError] === true;
+      }
+      [kInvalidArgumentError] = true;
     };
-    var InvalidReturnValueError = class _InvalidReturnValueError extends UndiciError {
+    var kInvalidReturnValueError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE");
+    var InvalidReturnValueError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidReturnValueError);
         this.name = "InvalidReturnValueError";
         this.message = message || "Invalid Return Value Error";
         this.code = "UND_ERR_INVALID_RETURN_VALUE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidReturnValueError] === true;
+      }
+      [kInvalidReturnValueError] = true;
+    };
+    var kAbortError = /* @__PURE__ */ 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";
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kAbortError] === true;
+      }
+      [kAbortError] = true;
     };
-    var RequestAbortedError = class _RequestAbortedError extends UndiciError {
+    var kRequestAbortedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_ABORTED");
+    var RequestAbortedError = class extends AbortError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestAbortedError);
         this.name = "AbortError";
         this.message = message || "Request aborted";
         this.code = "UND_ERR_ABORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestAbortedError] === true;
+      }
+      [kRequestAbortedError] = true;
     };
-    var InformationalError = class _InformationalError extends UndiciError {
+    var kInformationalError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INFO");
+    var InformationalError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InformationalError);
         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 RequestContentLengthMismatchError = class _RequestContentLengthMismatchError extends UndiciError {
+    var kRequestContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH");
+    var RequestContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestContentLengthMismatchError);
         this.name = "RequestContentLengthMismatchError";
         this.message = message || "Request body length does not match content-length header";
         this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestContentLengthMismatchError] === true;
+      }
+      [kRequestContentLengthMismatchError] = true;
     };
-    var ResponseContentLengthMismatchError = class _ResponseContentLengthMismatchError extends UndiciError {
+    var kResponseContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH");
+    var ResponseContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseContentLengthMismatchError);
         this.name = "ResponseContentLengthMismatchError";
         this.message = message || "Response body length does not match content-length header";
         this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseContentLengthMismatchError] === true;
+      }
+      [kResponseContentLengthMismatchError] = true;
     };
-    var ClientDestroyedError = class _ClientDestroyedError extends UndiciError {
+    var kClientDestroyedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_DESTROYED");
+    var ClientDestroyedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientDestroyedError);
         this.name = "ClientDestroyedError";
         this.message = message || "The client is destroyed";
         this.code = "UND_ERR_DESTROYED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientDestroyedError] === true;
+      }
+      [kClientDestroyedError] = true;
     };
-    var ClientClosedError = class _ClientClosedError extends UndiciError {
+    var kClientClosedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CLOSED");
+    var ClientClosedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientClosedError);
         this.name = "ClientClosedError";
         this.message = message || "The client is closed";
         this.code = "UND_ERR_CLOSED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientClosedError] === true;
+      }
+      [kClientClosedError] = true;
     };
-    var SocketError = class _SocketError extends UndiciError {
+    var kSocketError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_SOCKET");
+    var SocketError = class extends UndiciError {
       constructor(message, socket) {
         super(message);
-        Error.captureStackTrace(this, _SocketError);
         this.name = "SocketError";
         this.message = message || "Socket error";
         this.code = "UND_ERR_SOCKET";
         this.socket = socket;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kSocketError] === true;
+      }
+      [kSocketError] = true;
     };
-    var NotSupportedError = class _NotSupportedError extends UndiciError {
+    var kNotSupportedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED");
+    var NotSupportedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _NotSupportedError);
         this.name = "NotSupportedError";
         this.message = message || "Not supported error";
         this.code = "UND_ERR_NOT_SUPPORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kNotSupportedError] === true;
+      }
+      [kNotSupportedError] = true;
     };
+    var kBalancedPoolMissingUpstreamError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM");
     var BalancedPoolMissingUpstreamError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, NotSupportedError);
         this.name = "MissingUpstreamError";
         this.message = message || "No upstream has been added to the BalancedPool";
         this.code = "UND_ERR_BPL_MISSING_UPSTREAM";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBalancedPoolMissingUpstreamError] === true;
+      }
+      [kBalancedPoolMissingUpstreamError] = true;
     };
-    var HTTPParserError = class _HTTPParserError extends Error {
+    var kHTTPParserError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HTTP_PARSER");
+    var HTTPParserError = class extends Error {
       constructor(message, code, data) {
         super(message);
-        Error.captureStackTrace(this, _HTTPParserError);
         this.name = "HTTPParserError";
         this.code = code ? `HPE_${code}` : void 0;
         this.data = data ? data.toString() : void 0;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHTTPParserError] === true;
+      }
+      [kHTTPParserError] = true;
     };
-    var ResponseExceededMaxSizeError = class _ResponseExceededMaxSizeError extends UndiciError {
+    var kResponseExceededMaxSizeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE");
+    var ResponseExceededMaxSizeError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseExceededMaxSizeError);
         this.name = "ResponseExceededMaxSizeError";
         this.message = message || "Response content exceeded max size";
         this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseExceededMaxSizeError] === true;
+      }
+      [kResponseExceededMaxSizeError] = true;
     };
-    var RequestRetryError = class _RequestRetryError extends UndiciError {
+    var kRequestRetryError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_RETRY");
+    var RequestRetryError = class extends UndiciError {
       constructor(message, code, { headers, data }) {
         super(message);
-        Error.captureStackTrace(this, _RequestRetryError);
         this.name = "RequestRetryError";
         this.message = message || "Request retry error";
         this.code = "UND_ERR_REQ_RETRY";
@@ -21807,8 +21901,43 @@ var require_errors2 = __commonJS({
         this.data = data;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestRetryError] === true;
+      }
+      [kRequestRetryError] = true;
+    };
+    var kResponseError = /* @__PURE__ */ 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 = /* @__PURE__ */ 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,
@@ -21828,14 +21957,16 @@ var require_errors2 = __commonJS({
       ResponseContentLengthMismatchError,
       BalancedPoolMissingUpstreamError,
       ResponseExceededMaxSizeError,
-      RequestRetryError
+      RequestRetryError,
+      ResponseError,
+      SecureProxyConnectionError
     };
   }
 });
 
-// node_modules/undici/lib/core/constants.js
+// node_modules/@actions/github/node_modules/undici/lib/core/constants.js
 var require_constants6 = __commonJS({
-  "node_modules/undici/lib/core/constants.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/constants.js"(exports2, module2) {
     "use strict";
     var headerNameLowerCasedRecord = {};
     var wellknownHeaderNames = [
@@ -21948,28 +22079,212 @@ var require_constants6 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/util.js
+// node_modules/@actions/github/node_modules/undici/lib/core/tree.js
+var require_tree2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/tree.js"(exports2, module2) {
+    "use strict";
+    var {
+      wellknownHeaderNames,
+      headerNameLowerCasedRecord
+    } = require_constants6();
+    var TstNode = class _TstNode {
+      /** @type {any} */
+      value = null;
+      /** @type {null | TstNode} */
+      left = null;
+      /** @type {null | TstNode} */
+      middle = null;
+      /** @type {null | TstNode} */
+      right = null;
+      /** @type {number} */
+      code;
+      /**
+       * @param {string} key
+       * @param {any} value
+       * @param {number} index
+       */
+      constructor(key, value, index) {
+        if (index === void 0 || index >= key.length) {
+          throw new TypeError("Unreachable");
+        }
+        const code = this.code = key.charCodeAt(index);
+        if (code > 127) {
+          throw new TypeError("key must be ascii string");
+        }
+        if (key.length !== ++index) {
+          this.middle = new _TstNode(key, value, index);
+        } else {
+          this.value = value;
+        }
+      }
+      /**
+       * @param {string} key
+       * @param {any} value
+       */
+      add(key, value) {
+        const length = key.length;
+        if (length === 0) {
+          throw new TypeError("Unreachable");
+        }
+        let index = 0;
+        let node = this;
+        while (true) {
+          const code = key.charCodeAt(index);
+          if (code > 127) {
+            throw new TypeError("key must be ascii string");
+          }
+          if (node.code === code) {
+            if (length === ++index) {
+              node.value = value;
+              break;
+            } else if (node.middle !== null) {
+              node = node.middle;
+            } else {
+              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;
+          }
+        }
+      }
+      /**
+       * @param {Uint8Array} key
+       * @return {TstNode | null}
+       */
+      search(key) {
+        const keylength = key.length;
+        let index = 0;
+        let node = this;
+        while (node !== null && index < keylength) {
+          let code = key[index];
+          if (code <= 90 && code >= 65) {
+            code |= 32;
+          }
+          while (node !== null) {
+            if (code === node.code) {
+              if (keylength === ++index) {
+                return node;
+              }
+              node = node.middle;
+              break;
+            }
+            node = node.code < code ? node.left : node.right;
+          }
+        }
+        return null;
+      }
+    };
+    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);
+        }
+      }
+      /**
+       * @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/@actions/github/node_modules/undici/lib/core/util.js
 var require_util9 = __commonJS({
-  "node_modules/undici/lib/core/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/util.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { kDestroyed, kBodyUsed } = require_symbols6();
-    var { IncomingMessage } = require("http");
-    var stream = require("stream");
-    var net = require("net");
+    var assert = require("node:assert");
+    var { kDestroyed, kBodyUsed, kListeners, kBody } = require_symbols6();
+    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_errors2();
-    var { Blob: Blob2 } = require("buffer");
-    var nodeUtil = require("util");
-    var { stringify } = require("querystring");
     var { headerNameLowerCasedRecord } = require_constants6();
+    var { tree } = require_tree2();
     var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v) => Number(v));
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
+      }
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
+      }
+    };
+    function wrapRequestBody(body) {
+      if (isStream(body)) {
+        if (bodyLength(body) === 0) {
+          body.on("data", function() {
+            assert(false);
+          });
+        }
+        if (typeof body.readableDidRead !== "boolean") {
+          body[kBodyUsed] = false;
+          EE.prototype.on.call(body, "data", function() {
+            this[kBodyUsed] = true;
+          });
+        }
+        return body;
+      } else if (body && typeof body.pipeTo === "function") {
+        return new BodyAsyncIterable(body);
+      } else if (body && typeof body !== "string" && !ArrayBuffer.isView(body) && isIterable(body)) {
+        return new BodyAsyncIterable(body);
+      } else {
+        return body;
+      }
+    }
     function nop() {
     }
     function isStream(obj) {
       return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function";
     }
     function isBlobLike(object) {
-      return Blob2 && object instanceof Blob2 || object && typeof object === "object" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]);
+      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("#")) {
@@ -21981,10 +22296,17 @@ var require_util9 = __commonJS({
       }
       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 (!/^https?:/.test(url.origin || url.protocol)) {
+        if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {
           throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
         }
         return url;
@@ -21992,11 +22314,8 @@ var require_util9 = __commonJS({
       if (!url || typeof url !== "object") {
         throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object.");
       }
-      if (!/^https?:/.test(url.origin || url.protocol)) {
-        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
-      }
       if (!(url instanceof URL)) {
-        if (url.port != null && url.port !== "" && !Number.isFinite(parseInt(url.port))) {
+        if (url.port != null && url.port !== "" && isValidPort(url.port) === false) {
           throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer.");
         }
         if (url.path != null && typeof url.path !== "string") {
@@ -22011,16 +22330,22 @@ var require_util9 = __commonJS({
         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 origin = url.origin != null ? url.origin : `${url.protocol || ""}//${url.hostname || ""}:${port}`;
         let path5 = url.path != null ? url.path : `${url.pathname || ""}${url.search || ""}`;
-        if (origin.endsWith("/")) {
-          origin = origin.substring(0, origin.length - 1);
+        if (origin[origin.length - 1] === "/") {
+          origin = origin.slice(0, origin.length - 1);
         }
-        if (path5 && !path5.startsWith("/")) {
+        if (path5 && path5[0] !== "/") {
           path5 = `/${path5}`;
         }
-        url = new URL(origin + path5);
+        return new URL(`${origin}${path5}`);
+      }
+      if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {
+        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
       }
       return url;
     }
@@ -22045,7 +22370,7 @@ var require_util9 = __commonJS({
       if (!host) {
         return null;
       }
-      assert.strictEqual(typeof host, "string");
+      assert(typeof host === "string");
       const servername = getHostname(host);
       if (net.isIP(servername)) {
         return "";
@@ -22074,12 +22399,8 @@ var require_util9 = __commonJS({
       }
       return null;
     }
-    function isDestroyed(stream2) {
-      return !stream2 || !!(stream2.destroyed || stream2[kDestroyed]);
-    }
-    function isReadableAborted(stream2) {
-      const state = stream2 && stream2._readableState;
-      return isDestroyed(stream2) && state && !state.endEmitted;
+    function isDestroyed(body) {
+      return body && !!(body.destroyed || body[kDestroyed] || stream.isDestroyed?.(body));
     }
     function destroy(stream2, err) {
       if (stream2 == null || !isStream(stream2) || isDestroyed(stream2)) {
@@ -22091,9 +22412,9 @@ var require_util9 = __commonJS({
         }
         stream2.destroy(err);
       } else if (err) {
-        process.nextTick((stream3, err2) => {
-          stream3.emit("error", err2);
-        }, stream2, err);
+        queueMicrotask(() => {
+          stream2.emit("error", err);
+        });
       }
       if (stream2.destroyed !== true) {
         stream2[kDestroyed] = true;
@@ -22105,25 +22426,29 @@ var require_util9 = __commonJS({
       return m ? parseInt(m[1], 10) * 1e3 : null;
     }
     function headerNameToString(value) {
-      return headerNameLowerCasedRecord[value] || value.toLowerCase();
+      return typeof value === "string" ? headerNameLowerCasedRecord[value] ?? value.toLowerCase() : tree.lookup(value) ?? value.toString("latin1").toLowerCase();
+    }
+    function bufferToLowerCasedHeaderName(value) {
+      return tree.lookup(value) ?? value.toString("latin1").toLowerCase();
     }
-    function parseHeaders(headers, obj = {}) {
-      if (!Array.isArray(headers)) return headers;
+    function parseHeaders(headers, obj) {
+      if (obj === void 0) obj = {};
       for (let i = 0; i < headers.length; i += 2) {
-        const key = headers[i].toString().toLowerCase();
+        const key = headerNameToString(headers[i]);
         let val = obj[key];
-        if (!val) {
-          if (Array.isArray(headers[i + 1])) {
-            obj[key] = headers[i + 1].map((x) => x.toString("utf8"));
-          } else {
-            obj[key] = headers[i + 1].toString("utf8");
-          }
-        } else {
-          if (!Array.isArray(val)) {
+        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");
+          }
         }
       }
       if ("content-length" in obj && "content-disposition" in obj) {
@@ -22132,20 +22457,26 @@ var require_util9 = __commonJS({
       return obj;
     }
     function parseRawHeaders(headers) {
-      const ret = [];
+      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) {
-        const key = headers[n + 0].toString();
-        const val = headers[n + 1].toString("utf8");
-        if (key.length === 14 && (key === "content-length" || key.toLowerCase() === "content-length")) {
-          ret.push(key, val);
+        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 (key.length === 19 && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
-          contentDispositionIdx = ret.push(key, val) - 1;
-        } else {
-          ret.push(key, val);
+        } else if (kLen === 19 && key[7] === "-" && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
+          contentDispositionIdx = n + 1;
         }
+        ret[n] = key;
+        ret[n + 1] = val;
       }
       if (hasContentLength && contentDispositionIdx !== -1) {
         ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1");
@@ -22185,17 +22516,13 @@ var require_util9 = __commonJS({
       }
     }
     function isDisturbed(body) {
-      return !!(body && (stream.isDisturbed ? stream.isDisturbed(body) || body[kBodyUsed] : body[kBodyUsed] || body.readableDidRead || body._readableState && body._readableState.dataEmitted || isReadableAborted(body)));
+      return !!(body && (stream.isDisturbed(body) || body[kBodyUsed]));
     }
     function isErrored(body) {
-      return !!(body && (stream.isErrored ? stream.isErrored(body) : /state: 'errored'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream.isErrored(body));
     }
     function isReadable(body) {
-      return !!(body && (stream.isReadable ? stream.isReadable(body) : /state: 'readable'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream.isReadable(body));
     }
     function getSocketInfo(socket) {
       return {
@@ -22209,21 +22536,9 @@ var require_util9 = __commonJS({
         bytesRead: socket.bytesRead
       };
     }
-    async function* convertIterableToBuffer(iterable) {
-      for await (const chunk of iterable) {
-        yield Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
-      }
-    }
-    var ReadableStream2;
     function ReadableStreamFrom(iterable) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      if (ReadableStream2.from) {
-        return ReadableStream2.from(convertIterableToBuffer(iterable));
-      }
       let iterator2;
-      return new ReadableStream2(
+      return new ReadableStream(
         {
           async start() {
             iterator2 = iterable[Symbol.asyncIterator]();
@@ -22233,37 +22548,26 @@ var require_util9 = __commonJS({
             if (done) {
               queueMicrotask(() => {
                 controller.close();
+                controller.byobRequest?.respond(0);
               });
             } else {
               const buf = Buffer.isBuffer(value) ? value : Buffer.from(value);
-              controller.enqueue(new Uint8Array(buf));
+              if (buf.byteLength) {
+                controller.enqueue(new Uint8Array(buf));
+              }
             }
             return controller.desiredSize > 0;
           },
           async cancel(reason) {
             await iterator2.return();
-          }
-        },
-        0
+          },
+          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 throwIfAborted(signal) {
-      if (!signal) {
-        return;
-      }
-      if (typeof signal.throwIfAborted === "function") {
-        signal.throwIfAborted();
-      } else {
-        if (signal.aborted) {
-          const err = new Error("The operation was aborted");
-          err.name = "AbortError";
-          throw err;
-        }
-      }
-    }
     function addAbortListener(signal, listener) {
       if ("addEventListener" in signal) {
         signal.addEventListener("abort", listener, { once: true });
@@ -22272,14 +22576,52 @@ var require_util9 = __commonJS({
       signal.addListener("abort", listener);
       return () => signal.removeListener("abort", listener);
     }
-    var hasToWellFormed = !!String.prototype.toWellFormed;
+    var hasToWellFormed = typeof String.prototype.toWellFormed === "function";
+    var hasIsWellFormed = typeof String.prototype.isWellFormed === "function";
     function toUSVString(val) {
-      if (hasToWellFormed) {
-        return `${val}`.toWellFormed();
-      } else if (nodeUtil.toUSVString) {
-        return nodeUtil.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;
+      }
+    }
+    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 `${val}`;
+      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 };
@@ -22290,25 +22632,70 @@ var require_util9 = __commonJS({
         size: m[3] ? parseInt(m[3]) : null
       } : null;
     }
-    var kEnumerableProperty = /* @__PURE__ */ Object.create(null);
-    kEnumerableProperty.enumerable = true;
-    module2.exports = {
-      kEnumerableProperty,
-      nop,
-      isDisturbed,
-      isErrored,
-      isReadable,
-      toUSVString,
-      isReadableAborted,
-      isBlobLike,
-      parseOrigin,
-      parseURL,
-      getServerName,
+    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);
+      }
+      obj[kListeners] = null;
+    }
+    function errorRequest2(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: errorRequest2,
       parseRawHeaders,
       parseHeaders,
       parseKeepAliveTimeout,
@@ -22321,15673 +22708,16863 @@ var require_util9 = __commonJS({
       getSocketInfo,
       isFormDataLike,
       buildURL,
-      throwIfAborted,
       addAbortListener,
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isTokenCharCode,
       parseRangeHeader,
+      normalizedMethodRecordsBase,
+      normalizedMethodRecords,
+      isValidPort,
+      isHttpOrHttpsPrefixed,
       nodeMajor,
       nodeMinor,
-      nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13,
-      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"]
+      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"],
+      wrapRequestBody
     };
   }
 });
 
-// node_modules/undici/lib/timers.js
-var require_timers2 = __commonJS({
-  "node_modules/undici/lib/timers.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js
+var require_diagnostics2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js"(exports2, module2) {
     "use strict";
-    var fastNow = Date.now();
-    var fastNowTimeout;
-    var fastTimers = [];
-    function onTimeout() {
-      fastNow = Date.now();
-      let len = fastTimers.length;
-      let idx = 0;
-      while (idx < len) {
-        const timer = fastTimers[idx];
-        if (timer.state === 0) {
-          timer.state = fastNow + timer.delay;
-        } else if (timer.state > 0 && fastNow >= timer.state) {
-          timer.state = -1;
-          timer.callback(timer.opaque);
-        }
-        if (timer.state === -1) {
-          timer.state = -2;
-          if (idx !== len - 1) {
-            fastTimers[idx] = fastTimers.pop();
-          } else {
-            fastTimers.pop();
-          }
-          len -= 1;
-        } else {
-          idx += 1;
-        }
-      }
-      if (fastTimers.length > 0) {
-        refreshTimeout();
-      }
-    }
-    function refreshTimeout() {
-      if (fastNowTimeout && fastNowTimeout.refresh) {
-        fastNowTimeout.refresh();
-      } else {
-        clearTimeout(fastNowTimeout);
-        fastNowTimeout = setTimeout(onTimeout, 1e3);
-        if (fastNowTimeout.unref) {
-          fastNowTimeout.unref();
-        }
-      }
-    }
-    var Timeout = class {
-      constructor(callback, delay2, opaque) {
-        this.callback = callback;
-        this.delay = delay2;
-        this.opaque = opaque;
-        this.state = -2;
-        this.refresh();
-      }
-      refresh() {
-        if (this.state === -2) {
-          fastTimers.push(this);
-          if (!fastNowTimeout || fastTimers.length === 1) {
-            refreshTimeout();
-          }
-        }
-        this.state = 0;
-      }
-      clear() {
-        this.state = -1;
-      }
-    };
-    module2.exports = {
-      setTimeout(callback, delay2, opaque) {
-        return delay2 < 1e3 ? setTimeout(callback, delay2, opaque) : new Timeout(callback, delay2, opaque);
-      },
-      clearTimeout(timeout) {
-        if (timeout instanceof Timeout) {
-          timeout.clear();
-        } else {
-          clearTimeout(timeout);
-        }
-      }
+    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")
     };
-  }
-});
-
-// node_modules/@fastify/busboy/deps/streamsearch/sbmh.js
-var require_sbmh = __commonJS({
-  "node_modules/@fastify/busboy/deps/streamsearch/sbmh.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    function SBMH(needle) {
-      if (typeof needle === "string") {
-        needle = Buffer.from(needle);
-      }
-      if (!Buffer.isBuffer(needle)) {
-        throw new TypeError("The needle has to be a String or a Buffer.");
-      }
-      const needleLength = needle.length;
-      if (needleLength === 0) {
-        throw new Error("The needle cannot be an empty String/Buffer.");
-      }
-      if (needleLength > 256) {
-        throw new Error("The needle cannot have a length bigger than 256.");
-      }
-      this.maxMatches = Infinity;
-      this.matches = 0;
-      this._occ = new Array(256).fill(needleLength);
-      this._lookbehind_size = 0;
-      this._needle = needle;
-      this._bufpos = 0;
-      this._lookbehind = Buffer.alloc(needleLength);
-      for (var i = 0; i < needleLength - 1; ++i) {
-        this._occ[needle[i]] = needleLength - 1 - i;
-      }
+    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: error3
+        } = evt;
+        debuglog(
+          "connection to %s using %s%s errored - %s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version,
+          error3.message
+        );
+      });
+      diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+        const {
+          request: { method, path: path5, origin }
+        } = evt;
+        debuglog("sending request to %s %s/%s", method, origin, path5);
+      });
+      diagnosticsChannel.channel("undici:request:headers").subscribe((evt) => {
+        const {
+          request: { method, path: path5, origin },
+          response: { statusCode }
+        } = evt;
+        debuglog(
+          "received response to %s %s/%s - HTTP %d",
+          method,
+          origin,
+          path5,
+          statusCode
+        );
+      });
+      diagnosticsChannel.channel("undici:request:trailers").subscribe((evt) => {
+        const {
+          request: { method, path: path5, origin }
+        } = evt;
+        debuglog("trailers received from %s %s/%s", method, origin, path5);
+      });
+      diagnosticsChannel.channel("undici:request:error").subscribe((evt) => {
+        const {
+          request: { method, path: path5, origin },
+          error: error3
+        } = evt;
+        debuglog(
+          "request to %s %s/%s errored - %s",
+          method,
+          origin,
+          path5,
+          error3.message
+        );
+      });
+      isClientSet = true;
     }
-    inherits(SBMH, EventEmitter);
-    SBMH.prototype.reset = function() {
-      this._lookbehind_size = 0;
-      this.matches = 0;
-      this._bufpos = 0;
-    };
-    SBMH.prototype.push = function(chunk, pos) {
-      if (!Buffer.isBuffer(chunk)) {
-        chunk = Buffer.from(chunk, "binary");
-      }
-      const chlen = chunk.length;
-      this._bufpos = pos || 0;
-      let r;
-      while (r !== chlen && this.matches < this.maxMatches) {
-        r = this._sbmh_feed(chunk);
-      }
-      return r;
-    };
-    SBMH.prototype._sbmh_feed = function(data) {
-      const len = data.length;
-      const needle = this._needle;
-      const needleLength = needle.length;
-      const lastNeedleChar = needle[needleLength - 1];
-      let pos = -this._lookbehind_size;
-      let ch;
-      if (pos < 0) {
-        while (pos < 0 && pos <= len - needleLength) {
-          ch = this._sbmh_lookup_char(data, pos + needleLength - 1);
-          if (ch === lastNeedleChar && this._sbmh_memcmp(data, pos, needleLength - 1)) {
-            this._lookbehind_size = 0;
-            ++this.matches;
-            this.emit("info", true);
-            return this._bufpos = pos + needleLength;
-          }
-          pos += this._occ[ch];
-        }
-        if (pos < 0) {
-          while (pos < 0 && !this._sbmh_memcmp(data, pos, len - pos)) {
-            ++pos;
-          }
-        }
-        if (pos >= 0) {
-          this.emit("info", false, this._lookbehind, 0, this._lookbehind_size);
-          this._lookbehind_size = 0;
-        } else {
-          const bytesToCutOff = this._lookbehind_size + pos;
-          if (bytesToCutOff > 0) {
-            this.emit("info", false, this._lookbehind, 0, bytesToCutOff);
-          }
-          this._lookbehind.copy(
-            this._lookbehind,
-            0,
-            bytesToCutOff,
-            this._lookbehind_size - bytesToCutOff
+    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
           );
-          this._lookbehind_size -= bytesToCutOff;
-          data.copy(this._lookbehind, this._lookbehind_size);
-          this._lookbehind_size += len;
-          this._bufpos = len;
-          return len;
-        }
-      }
-      pos += (pos >= 0) * this._bufpos;
-      if (data.indexOf(needle, pos) !== -1) {
-        pos = data.indexOf(needle, pos);
-        ++this.matches;
-        if (pos > 0) {
-          this.emit("info", true, data, this._bufpos, pos);
-        } else {
-          this.emit("info", true);
-        }
-        return this._bufpos = pos + needleLength;
-      } else {
-        pos = len - needleLength;
-      }
-      while (pos < len && (data[pos] !== needle[0] || Buffer.compare(
-        data.subarray(pos, pos + len - pos),
-        needle.subarray(0, len - pos)
-      ) !== 0)) {
-        ++pos;
-      }
-      if (pos < len) {
-        data.copy(this._lookbehind, 0, pos, pos + (len - pos));
-        this._lookbehind_size = len - pos;
-      }
-      if (pos > 0) {
-        this.emit("info", false, data, this._bufpos, pos < len ? pos : len);
-      }
-      this._bufpos = len;
-      return len;
-    };
-    SBMH.prototype._sbmh_lookup_char = function(data, pos) {
-      return pos < 0 ? this._lookbehind[this._lookbehind_size + pos] : data[pos];
-    };
-    SBMH.prototype._sbmh_memcmp = function(data, pos, len) {
-      for (var i = 0; i < len; ++i) {
-        if (this._sbmh_lookup_char(data, pos + i) !== this._needle[i]) {
-          return false;
-        }
+        });
+        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: error3
+          } = evt;
+          debuglog(
+            "connection to %s%s using %s%s errored - %s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version,
+            error3.message
+          );
+        });
+        diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+          const {
+            request: { method, path: path5, origin }
+          } = evt;
+          debuglog("sending request to %s %s/%s", method, origin, path5);
+        });
       }
-      return true;
-    };
-    module2.exports = SBMH;
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js
-var require_PartStream = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js"(exports2, module2) {
-    "use strict";
-    var inherits = require("node:util").inherits;
-    var ReadableStream2 = require("node:stream").Readable;
-    function PartStream(opts) {
-      ReadableStream2.call(this, opts);
+      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");
+      });
     }
-    inherits(PartStream, ReadableStream2);
-    PartStream.prototype._read = function(n) {
-    };
-    module2.exports = PartStream;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/getLimit.js
-var require_getLimit = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/getLimit.js"(exports2, module2) {
-    "use strict";
-    module2.exports = function getLimit(limits, name, defaultLimit) {
-      if (!limits || limits[name] === void 0 || limits[name] === null) {
-        return defaultLimit;
-      }
-      if (typeof limits[name] !== "number" || isNaN(limits[name])) {
-        throw new TypeError("Limit " + name + " is not a valid number");
-      }
-      return limits[name];
+    module2.exports = {
+      channels
     };
   }
 });
 
-// node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js
-var require_HeaderParser = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/request.js
+var require_request3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/request.js"(exports2, module2) {
     "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    var getLimit = require_getLimit();
-    var StreamSearch = require_sbmh();
-    var B_DCRLF = Buffer.from("\r\n\r\n");
-    var RE_CRLF = /\r\n/g;
-    var RE_HDR = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/;
-    function HeaderParser(cfg) {
-      EventEmitter.call(this);
-      cfg = cfg || {};
-      const self2 = this;
-      this.nread = 0;
-      this.maxed = false;
-      this.npairs = 0;
-      this.maxHeaderPairs = getLimit(cfg, "maxHeaderPairs", 2e3);
-      this.maxHeaderSize = getLimit(cfg, "maxHeaderSize", 80 * 1024);
-      this.buffer = "";
-      this.header = {};
-      this.finished = false;
-      this.ss = new StreamSearch(B_DCRLF);
-      this.ss.on("info", function(isMatch, data, start, end) {
-        if (data && !self2.maxed) {
-          if (self2.nread + end - start >= self2.maxHeaderSize) {
-            end = self2.maxHeaderSize - self2.nread + start;
-            self2.nread = self2.maxHeaderSize;
-            self2.maxed = true;
-          } else {
-            self2.nread += end - start;
-          }
-          self2.buffer += data.toString("binary", start, end);
+    var {
+      InvalidArgumentError,
+      NotSupportedError
+    } = require_errors2();
+    var assert = require("node:assert");
+    var {
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isStream,
+      destroy,
+      isBuffer,
+      isFormDataLike,
+      isIterable,
+      isBlobLike,
+      buildURL,
+      validateHandler,
+      getServerName,
+      normalizedMethodRecords
+    } = require_util9();
+    var { channels } = require_diagnostics2();
+    var { headerNameLowerCasedRecord } = require_constants6();
+    var invalidPathRegex = /[^\u0021-\u00ff]/;
+    var kHandler = /* @__PURE__ */ Symbol("handler");
+    var Request = class {
+      constructor(origin, {
+        path: path5,
+        method,
+        body,
+        headers,
+        query,
+        idempotent,
+        blocking,
+        upgrade,
+        headersTimeout,
+        bodyTimeout,
+        reset,
+        throwOnError,
+        expectContinue,
+        servername
+      }, handler2) {
+        if (typeof path5 !== "string") {
+          throw new InvalidArgumentError("path must be a string");
+        } else if (path5[0] !== "/" && !(path5.startsWith("http://") || path5.startsWith("https://")) && method !== "CONNECT") {
+          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
+        } else if (invalidPathRegex.test(path5)) {
+          throw new InvalidArgumentError("invalid request path");
         }
-        if (isMatch) {
-          self2._finish();
+        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");
         }
-      });
-    }
-    inherits(HeaderParser, EventEmitter);
-    HeaderParser.prototype.push = function(data) {
-      const r = this.ss.push(data);
-      if (this.finished) {
-        return r;
-      }
-    };
-    HeaderParser.prototype.reset = function() {
-      this.finished = false;
-      this.buffer = "";
-      this.header = {};
-      this.ss.reset();
-    };
-    HeaderParser.prototype._finish = function() {
-      if (this.buffer) {
-        this._parseHeader();
-      }
-      this.ss.matches = this.ss.maxMatches;
-      const header = this.header;
-      this.header = {};
-      this.buffer = "";
-      this.finished = true;
-      this.nread = this.npairs = 0;
-      this.maxed = false;
-      this.emit("header", header);
-    };
-    HeaderParser.prototype._parseHeader = function() {
-      if (this.npairs === this.maxHeaderPairs) {
-        return;
-      }
-      const lines = this.buffer.split(RE_CRLF);
-      const len = lines.length;
-      let m, h;
-      for (var i = 0; i < len; ++i) {
-        if (lines[i].length === 0) {
-          continue;
+        if (upgrade && typeof upgrade !== "string") {
+          throw new InvalidArgumentError("upgrade must be a string");
         }
-        if (lines[i][0] === "	" || lines[i][0] === " ") {
-          if (h) {
-            this.header[h][this.header[h].length - 1] += lines[i];
-            continue;
-          }
+        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
+          throw new InvalidArgumentError("invalid headersTimeout");
         }
-        const posColon = lines[i].indexOf(":");
-        if (posColon === -1 || posColon === 0) {
-          return;
+        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
+          throw new InvalidArgumentError("invalid bodyTimeout");
         }
-        m = RE_HDR.exec(lines[i]);
-        h = m[1].toLowerCase();
-        this.header[h] = this.header[h] || [];
-        this.header[h].push(m[2] || "");
-        if (++this.npairs === this.maxHeaderPairs) {
-          break;
+        if (reset != null && typeof reset !== "boolean") {
+          throw new InvalidArgumentError("invalid reset");
         }
-      }
-    };
-    module2.exports = HeaderParser;
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js
-var require_Dicer = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js"(exports2, module2) {
-    "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var inherits = require("node:util").inherits;
-    var StreamSearch = require_sbmh();
-    var PartStream = require_PartStream();
-    var HeaderParser = require_HeaderParser();
-    var DASH = 45;
-    var B_ONEDASH = Buffer.from("-");
-    var B_CRLF = Buffer.from("\r\n");
-    var EMPTY_FN = function() {
-    };
-    function Dicer(cfg) {
-      if (!(this instanceof Dicer)) {
-        return new Dicer(cfg);
-      }
-      WritableStream.call(this, cfg);
-      if (!cfg || !cfg.headerFirst && typeof cfg.boundary !== "string") {
-        throw new TypeError("Boundary required");
-      }
-      if (typeof cfg.boundary === "string") {
-        this.setBoundary(cfg.boundary);
-      } else {
-        this._bparser = void 0;
-      }
-      this._headerFirst = cfg.headerFirst;
-      this._dashes = 0;
-      this._parts = 0;
-      this._finished = false;
-      this._realFinish = false;
-      this._isPreamble = true;
-      this._justMatched = false;
-      this._firstWrite = true;
-      this._inHeader = true;
-      this._part = void 0;
-      this._cb = void 0;
-      this._ignoreData = false;
-      this._partOpts = { highWaterMark: cfg.partHwm };
-      this._pause = false;
-      const self2 = this;
-      this._hparser = new HeaderParser(cfg);
-      this._hparser.on("header", function(header) {
-        self2._inHeader = false;
-        self2._part.emit("header", header);
-      });
-    }
-    inherits(Dicer, WritableStream);
-    Dicer.prototype.emit = function(ev) {
-      if (ev === "finish" && !this._realFinish) {
-        if (!this._finished) {
-          const self2 = this;
-          process.nextTick(function() {
-            self2.emit("error", new Error("Unexpected end of multipart data"));
-            if (self2._part && !self2._ignoreData) {
-              const type2 = self2._isPreamble ? "Preamble" : "Part";
-              self2._part.emit("error", new Error(type2 + " terminated early due to unexpected end of multipart data"));
-              self2._part.push(null);
-              process.nextTick(function() {
-                self2._realFinish = true;
-                self2.emit("finish");
-                self2._realFinish = false;
-              });
-              return;
-            }
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
-          });
+        if (expectContinue != null && typeof expectContinue !== "boolean") {
+          throw new InvalidArgumentError("invalid expectContinue");
         }
-      } else {
-        WritableStream.prototype.emit.apply(this, arguments);
-      }
-    };
-    Dicer.prototype._write = function(data, encoding, cb) {
-      if (!this._hparser && !this._bparser) {
-        return cb();
-      }
-      if (this._headerFirst && this._isPreamble) {
-        if (!this._part) {
-          this._part = new PartStream(this._partOpts);
-          if (this.listenerCount("preamble") !== 0) {
-            this.emit("preamble", this._part);
-          } else {
-            this._ignore();
+        this.headersTimeout = headersTimeout;
+        this.bodyTimeout = bodyTimeout;
+        this.throwOnError = throwOnError === true;
+        this.method = method;
+        this.abort = null;
+        if (body == null) {
+          this.body = null;
+        } else if (isStream(body)) {
+          this.body = body;
+          const rState = this.body._readableState;
+          if (!rState || !rState.autoDestroy) {
+            this.endHandler = function autoDestroy() {
+              destroy(this);
+            };
+            this.body.on("end", this.endHandler);
           }
-        }
-        const r = this._hparser.push(data);
-        if (!this._inHeader && r !== void 0 && r < data.length) {
-          data = data.slice(r);
+          this.errorHandler = (err) => {
+            if (this.abort) {
+              this.abort(err);
+            } else {
+              this.error = err;
+            }
+          };
+          this.body.on("error", this.errorHandler);
+        } else if (isBuffer(body)) {
+          this.body = body.byteLength ? body : null;
+        } else if (ArrayBuffer.isView(body)) {
+          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
+        } else if (body instanceof ArrayBuffer) {
+          this.body = body.byteLength ? Buffer.from(body) : null;
+        } else if (typeof body === "string") {
+          this.body = body.length ? Buffer.from(body) : null;
+        } else if (isFormDataLike(body) || isIterable(body) || isBlobLike(body)) {
+          this.body = body;
         } else {
-          return cb();
+          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
         }
-      }
-      if (this._firstWrite) {
-        this._bparser.push(B_CRLF);
-        this._firstWrite = false;
-      }
-      this._bparser.push(data);
-      if (this._pause) {
-        this._cb = cb;
-      } else {
-        cb();
-      }
-    };
-    Dicer.prototype.reset = function() {
-      this._part = void 0;
-      this._bparser = void 0;
-      this._hparser = void 0;
-    };
-    Dicer.prototype.setBoundary = function(boundary) {
-      const self2 = this;
-      this._bparser = new StreamSearch("\r\n--" + boundary);
-      this._bparser.on("info", function(isMatch, data, start, end) {
-        self2._oninfo(isMatch, data, start, end);
-      });
-    };
-    Dicer.prototype._ignore = function() {
-      if (this._part && !this._ignoreData) {
-        this._ignoreData = true;
-        this._part.on("error", EMPTY_FN);
-        this._part.resume();
-      }
-    };
-    Dicer.prototype._oninfo = function(isMatch, data, start, end) {
-      let buf;
-      const self2 = this;
-      let i = 0;
-      let r;
-      let shouldWriteMore = true;
-      if (!this._part && this._justMatched && data) {
-        while (this._dashes < 2 && start + i < end) {
-          if (data[start + i] === DASH) {
-            ++i;
-            ++this._dashes;
-          } else {
-            if (this._dashes) {
-              buf = B_ONEDASH;
-            }
-            this._dashes = 0;
-            break;
+        this.completed = false;
+        this.aborted = false;
+        this.upgrade = upgrade || null;
+        this.path = query ? buildURL(path5, query) : path5;
+        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");
           }
-        }
-        if (this._dashes === 2) {
-          if (start + i < end && this.listenerCount("trailer") !== 0) {
-            this.emit("trailer", data.slice(start + i, end));
+          for (let i = 0; i < headers.length; i += 2) {
+            processHeader(this, headers[i], headers[i + 1]);
           }
-          this.reset();
-          this._finished = true;
-          if (self2._parts === 0) {
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
+        } 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");
         }
-        if (this._dashes) {
-          return;
+        validateHandler(handler2, method, upgrade);
+        this.servername = servername || getServerName(this.host);
+        this[kHandler] = handler2;
+        if (channels.create.hasSubscribers) {
+          channels.create.publish({ request: this });
         }
       }
-      if (this._justMatched) {
-        this._justMatched = false;
+      onBodySent(chunk) {
+        if (this[kHandler].onBodySent) {
+          try {
+            return this[kHandler].onBodySent(chunk);
+          } catch (err) {
+            this.abort(err);
+          }
+        }
       }
-      if (!this._part) {
-        this._part = new PartStream(this._partOpts);
-        this._part._read = function(n) {
-          self2._unpause();
-        };
-        if (this._isPreamble && this.listenerCount("preamble") !== 0) {
-          this.emit("preamble", this._part);
-        } else if (this._isPreamble !== true && this.listenerCount("part") !== 0) {
-          this.emit("part", this._part);
-        } else {
-          this._ignore();
-        }
-        if (!this._isPreamble) {
-          this._inHeader = true;
+      onRequestSent() {
+        if (channels.bodySent.hasSubscribers) {
+          channels.bodySent.publish({ request: this });
         }
-      }
-      if (data && start < end && !this._ignoreData) {
-        if (this._isPreamble || !this._inHeader) {
-          if (buf) {
-            shouldWriteMore = this._part.push(buf);
-          }
-          shouldWriteMore = this._part.push(data.slice(start, end));
-          if (!shouldWriteMore) {
-            this._pause = true;
-          }
-        } else if (!this._isPreamble && this._inHeader) {
-          if (buf) {
-            this._hparser.push(buf);
-          }
-          r = this._hparser.push(data.slice(start, end));
-          if (!this._inHeader && r !== void 0 && r < end) {
-            this._oninfo(false, data, start + r, end);
+        if (this[kHandler].onRequestSent) {
+          try {
+            return this[kHandler].onRequestSent();
+          } catch (err) {
+            this.abort(err);
           }
         }
       }
-      if (isMatch) {
-        this._hparser.reset();
-        if (this._isPreamble) {
-          this._isPreamble = false;
+      onConnect(abort) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (this.error) {
+          abort(this.error);
         } else {
-          if (start !== end) {
-            ++this._parts;
-            this._part.on("end", function() {
-              if (--self2._parts === 0) {
-                if (self2._finished) {
-                  self2._realFinish = true;
-                  self2.emit("finish");
-                  self2._realFinish = false;
-                } else {
-                  self2._unpause();
-                }
-              }
-            });
-          }
+          this.abort = abort;
+          return this[kHandler].onConnect(abort);
         }
-        this._part.push(null);
-        this._part = void 0;
-        this._ignoreData = false;
-        this._justMatched = true;
-        this._dashes = 0;
-      }
-    };
-    Dicer.prototype._unpause = function() {
-      if (!this._pause) {
-        return;
       }
-      this._pause = false;
-      if (this._cb) {
-        const cb = this._cb;
-        this._cb = void 0;
-        cb();
-      }
-    };
-    module2.exports = Dicer;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/decodeText.js
-var require_decodeText = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/decodeText.js"(exports2, module2) {
-    "use strict";
-    var utf8Decoder = new TextDecoder("utf-8");
-    var textDecoders = /* @__PURE__ */ new Map([
-      ["utf-8", utf8Decoder],
-      ["utf8", utf8Decoder]
-    ]);
-    function getDecoder(charset) {
-      let lc;
-      while (true) {
-        switch (charset) {
-          case "utf-8":
-          case "utf8":
-            return decoders.utf8;
-          case "latin1":
-          case "ascii":
-          // TODO: Make these a separate, strict decoder?
-          case "us-ascii":
-          case "iso-8859-1":
-          case "iso8859-1":
-          case "iso88591":
-          case "iso_8859-1":
-          case "windows-1252":
-          case "iso_8859-1:1987":
-          case "cp1252":
-          case "x-cp1252":
-            return decoders.latin1;
-          case "utf16le":
-          case "utf-16le":
-          case "ucs2":
-          case "ucs-2":
-            return decoders.utf16le;
-          case "base64":
-            return decoders.base64;
-          default:
-            if (lc === void 0) {
-              lc = true;
-              charset = charset.toLowerCase();
-              continue;
-            }
-            return decoders.other.bind(charset);
-        }
+      onResponseStarted() {
+        return this[kHandler].onResponseStarted?.();
       }
-    }
-    var decoders = {
-      utf8: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
-        }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
-        }
-        return data.utf8Slice(0, data.length);
-      },
-      latin1: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+      onHeaders(statusCode, headers, resume, statusText) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (channels.headers.hasSubscribers) {
+          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
         }
-        if (typeof data === "string") {
-          return data;
+        try {
+          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
+        } catch (err) {
+          this.abort(err);
         }
-        return data.latin1Slice(0, data.length);
-      },
-      utf16le: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+      }
+      onData(chunk) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        try {
+          return this[kHandler].onData(chunk);
+        } catch (err) {
+          this.abort(err);
+          return false;
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      }
+      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 });
         }
-        return data.ucs2Slice(0, data.length);
-      },
-      base64: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+        try {
+          return this[kHandler].onComplete(trailers);
+        } catch (err) {
+          this.onError(err);
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      }
+      onError(error3) {
+        this.onFinally();
+        if (channels.error.hasSubscribers) {
+          channels.error.publish({ request: this, error: error3 });
         }
-        return data.base64Slice(0, data.length);
-      },
-      other: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+        if (this.aborted) {
+          return;
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+        this.aborted = true;
+        return this[kHandler].onError(error3);
+      }
+      onFinally() {
+        if (this.errorHandler) {
+          this.body.off("error", this.errorHandler);
+          this.errorHandler = null;
         }
-        if (textDecoders.has(exports2.toString())) {
-          try {
-            return textDecoders.get(exports2).decode(data);
-          } catch {
-          }
+        if (this.endHandler) {
+          this.body.off("end", this.endHandler);
+          this.endHandler = null;
         }
-        return typeof data === "string" ? data : data.toString();
+      }
+      addHeader(key, value) {
+        processHeader(this, key, value);
+        return this;
       }
     };
-    function decodeText(text, sourceEncoding, destEncoding) {
-      if (text) {
-        return getDecoder(destEncoding)(text, sourceEncoding);
+    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;
       }
-      return text;
-    }
-    module2.exports = decodeText;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/parseParams.js
-var require_parseParams = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/parseParams.js"(exports2, module2) {
-    "use strict";
-    var decodeText = require_decodeText();
-    var RE_ENCODED = /%[a-fA-F0-9][a-fA-F0-9]/g;
-    var EncodedLookup = {
-      "%00": "\0",
-      "%01": "",
-      "%02": "",
-      "%03": "",
-      "%04": "",
-      "%05": "",
-      "%06": "",
-      "%07": "\x07",
-      "%08": "\b",
-      "%09": "	",
-      "%0a": "\n",
-      "%0A": "\n",
-      "%0b": "\v",
-      "%0B": "\v",
-      "%0c": "\f",
-      "%0C": "\f",
-      "%0d": "\r",
-      "%0D": "\r",
-      "%0e": "",
-      "%0E": "",
-      "%0f": "",
-      "%0F": "",
-      "%10": "",
-      "%11": "",
-      "%12": "",
-      "%13": "",
-      "%14": "",
-      "%15": "",
-      "%16": "",
-      "%17": "",
-      "%18": "",
-      "%19": "",
-      "%1a": "",
-      "%1A": "",
-      "%1b": "\x1B",
-      "%1B": "\x1B",
-      "%1c": "",
-      "%1C": "",
-      "%1d": "",
-      "%1D": "",
-      "%1e": "",
-      "%1E": "",
-      "%1f": "",
-      "%1F": "",
-      "%20": " ",
-      "%21": "!",
-      "%22": '"',
-      "%23": "#",
-      "%24": "$",
-      "%25": "%",
-      "%26": "&",
-      "%27": "'",
-      "%28": "(",
-      "%29": ")",
-      "%2a": "*",
-      "%2A": "*",
-      "%2b": "+",
-      "%2B": "+",
-      "%2c": ",",
-      "%2C": ",",
-      "%2d": "-",
-      "%2D": "-",
-      "%2e": ".",
-      "%2E": ".",
-      "%2f": "/",
-      "%2F": "/",
-      "%30": "0",
-      "%31": "1",
-      "%32": "2",
-      "%33": "3",
-      "%34": "4",
-      "%35": "5",
-      "%36": "6",
-      "%37": "7",
-      "%38": "8",
-      "%39": "9",
-      "%3a": ":",
-      "%3A": ":",
-      "%3b": ";",
-      "%3B": ";",
-      "%3c": "<",
-      "%3C": "<",
-      "%3d": "=",
-      "%3D": "=",
-      "%3e": ">",
-      "%3E": ">",
-      "%3f": "?",
-      "%3F": "?",
-      "%40": "@",
-      "%41": "A",
-      "%42": "B",
-      "%43": "C",
-      "%44": "D",
-      "%45": "E",
-      "%46": "F",
-      "%47": "G",
-      "%48": "H",
-      "%49": "I",
-      "%4a": "J",
-      "%4A": "J",
-      "%4b": "K",
-      "%4B": "K",
-      "%4c": "L",
-      "%4C": "L",
-      "%4d": "M",
-      "%4D": "M",
-      "%4e": "N",
-      "%4E": "N",
-      "%4f": "O",
-      "%4F": "O",
-      "%50": "P",
-      "%51": "Q",
-      "%52": "R",
-      "%53": "S",
-      "%54": "T",
-      "%55": "U",
-      "%56": "V",
-      "%57": "W",
-      "%58": "X",
-      "%59": "Y",
-      "%5a": "Z",
-      "%5A": "Z",
-      "%5b": "[",
-      "%5B": "[",
-      "%5c": "\\",
-      "%5C": "\\",
-      "%5d": "]",
-      "%5D": "]",
-      "%5e": "^",
-      "%5E": "^",
-      "%5f": "_",
-      "%5F": "_",
-      "%60": "`",
-      "%61": "a",
-      "%62": "b",
-      "%63": "c",
-      "%64": "d",
-      "%65": "e",
-      "%66": "f",
-      "%67": "g",
-      "%68": "h",
-      "%69": "i",
-      "%6a": "j",
-      "%6A": "j",
-      "%6b": "k",
-      "%6B": "k",
-      "%6c": "l",
-      "%6C": "l",
-      "%6d": "m",
-      "%6D": "m",
-      "%6e": "n",
-      "%6E": "n",
-      "%6f": "o",
-      "%6F": "o",
-      "%70": "p",
-      "%71": "q",
-      "%72": "r",
-      "%73": "s",
-      "%74": "t",
-      "%75": "u",
-      "%76": "v",
-      "%77": "w",
-      "%78": "x",
-      "%79": "y",
-      "%7a": "z",
-      "%7A": "z",
-      "%7b": "{",
-      "%7B": "{",
-      "%7c": "|",
-      "%7C": "|",
-      "%7d": "}",
-      "%7D": "}",
-      "%7e": "~",
-      "%7E": "~",
-      "%7f": "\x7F",
-      "%7F": "\x7F",
-      "%80": "\x80",
-      "%81": "\x81",
-      "%82": "\x82",
-      "%83": "\x83",
-      "%84": "\x84",
-      "%85": "\x85",
-      "%86": "\x86",
-      "%87": "\x87",
-      "%88": "\x88",
-      "%89": "\x89",
-      "%8a": "\x8A",
-      "%8A": "\x8A",
-      "%8b": "\x8B",
-      "%8B": "\x8B",
-      "%8c": "\x8C",
-      "%8C": "\x8C",
-      "%8d": "\x8D",
-      "%8D": "\x8D",
-      "%8e": "\x8E",
-      "%8E": "\x8E",
-      "%8f": "\x8F",
-      "%8F": "\x8F",
-      "%90": "\x90",
-      "%91": "\x91",
-      "%92": "\x92",
-      "%93": "\x93",
-      "%94": "\x94",
-      "%95": "\x95",
-      "%96": "\x96",
-      "%97": "\x97",
-      "%98": "\x98",
-      "%99": "\x99",
-      "%9a": "\x9A",
-      "%9A": "\x9A",
-      "%9b": "\x9B",
-      "%9B": "\x9B",
-      "%9c": "\x9C",
-      "%9C": "\x9C",
-      "%9d": "\x9D",
-      "%9D": "\x9D",
-      "%9e": "\x9E",
-      "%9E": "\x9E",
-      "%9f": "\x9F",
-      "%9F": "\x9F",
-      "%a0": "\xA0",
-      "%A0": "\xA0",
-      "%a1": "\xA1",
-      "%A1": "\xA1",
-      "%a2": "\xA2",
-      "%A2": "\xA2",
-      "%a3": "\xA3",
-      "%A3": "\xA3",
-      "%a4": "\xA4",
-      "%A4": "\xA4",
-      "%a5": "\xA5",
-      "%A5": "\xA5",
-      "%a6": "\xA6",
-      "%A6": "\xA6",
-      "%a7": "\xA7",
-      "%A7": "\xA7",
-      "%a8": "\xA8",
-      "%A8": "\xA8",
-      "%a9": "\xA9",
-      "%A9": "\xA9",
-      "%aa": "\xAA",
-      "%Aa": "\xAA",
-      "%aA": "\xAA",
-      "%AA": "\xAA",
-      "%ab": "\xAB",
-      "%Ab": "\xAB",
-      "%aB": "\xAB",
-      "%AB": "\xAB",
-      "%ac": "\xAC",
-      "%Ac": "\xAC",
-      "%aC": "\xAC",
-      "%AC": "\xAC",
-      "%ad": "\xAD",
-      "%Ad": "\xAD",
-      "%aD": "\xAD",
-      "%AD": "\xAD",
-      "%ae": "\xAE",
-      "%Ae": "\xAE",
-      "%aE": "\xAE",
-      "%AE": "\xAE",
-      "%af": "\xAF",
-      "%Af": "\xAF",
-      "%aF": "\xAF",
-      "%AF": "\xAF",
-      "%b0": "\xB0",
-      "%B0": "\xB0",
-      "%b1": "\xB1",
-      "%B1": "\xB1",
-      "%b2": "\xB2",
-      "%B2": "\xB2",
-      "%b3": "\xB3",
-      "%B3": "\xB3",
-      "%b4": "\xB4",
-      "%B4": "\xB4",
-      "%b5": "\xB5",
-      "%B5": "\xB5",
-      "%b6": "\xB6",
-      "%B6": "\xB6",
-      "%b7": "\xB7",
-      "%B7": "\xB7",
-      "%b8": "\xB8",
-      "%B8": "\xB8",
-      "%b9": "\xB9",
-      "%B9": "\xB9",
-      "%ba": "\xBA",
-      "%Ba": "\xBA",
-      "%bA": "\xBA",
-      "%BA": "\xBA",
-      "%bb": "\xBB",
-      "%Bb": "\xBB",
-      "%bB": "\xBB",
-      "%BB": "\xBB",
-      "%bc": "\xBC",
-      "%Bc": "\xBC",
-      "%bC": "\xBC",
-      "%BC": "\xBC",
-      "%bd": "\xBD",
-      "%Bd": "\xBD",
-      "%bD": "\xBD",
-      "%BD": "\xBD",
-      "%be": "\xBE",
-      "%Be": "\xBE",
-      "%bE": "\xBE",
-      "%BE": "\xBE",
-      "%bf": "\xBF",
-      "%Bf": "\xBF",
-      "%bF": "\xBF",
-      "%BF": "\xBF",
-      "%c0": "\xC0",
-      "%C0": "\xC0",
-      "%c1": "\xC1",
-      "%C1": "\xC1",
-      "%c2": "\xC2",
-      "%C2": "\xC2",
-      "%c3": "\xC3",
-      "%C3": "\xC3",
-      "%c4": "\xC4",
-      "%C4": "\xC4",
-      "%c5": "\xC5",
-      "%C5": "\xC5",
-      "%c6": "\xC6",
-      "%C6": "\xC6",
-      "%c7": "\xC7",
-      "%C7": "\xC7",
-      "%c8": "\xC8",
-      "%C8": "\xC8",
-      "%c9": "\xC9",
-      "%C9": "\xC9",
-      "%ca": "\xCA",
-      "%Ca": "\xCA",
-      "%cA": "\xCA",
-      "%CA": "\xCA",
-      "%cb": "\xCB",
-      "%Cb": "\xCB",
-      "%cB": "\xCB",
-      "%CB": "\xCB",
-      "%cc": "\xCC",
-      "%Cc": "\xCC",
-      "%cC": "\xCC",
-      "%CC": "\xCC",
-      "%cd": "\xCD",
-      "%Cd": "\xCD",
-      "%cD": "\xCD",
-      "%CD": "\xCD",
-      "%ce": "\xCE",
-      "%Ce": "\xCE",
-      "%cE": "\xCE",
-      "%CE": "\xCE",
-      "%cf": "\xCF",
-      "%Cf": "\xCF",
-      "%cF": "\xCF",
-      "%CF": "\xCF",
-      "%d0": "\xD0",
-      "%D0": "\xD0",
-      "%d1": "\xD1",
-      "%D1": "\xD1",
-      "%d2": "\xD2",
-      "%D2": "\xD2",
-      "%d3": "\xD3",
-      "%D3": "\xD3",
-      "%d4": "\xD4",
-      "%D4": "\xD4",
-      "%d5": "\xD5",
-      "%D5": "\xD5",
-      "%d6": "\xD6",
-      "%D6": "\xD6",
-      "%d7": "\xD7",
-      "%D7": "\xD7",
-      "%d8": "\xD8",
-      "%D8": "\xD8",
-      "%d9": "\xD9",
-      "%D9": "\xD9",
-      "%da": "\xDA",
-      "%Da": "\xDA",
-      "%dA": "\xDA",
-      "%DA": "\xDA",
-      "%db": "\xDB",
-      "%Db": "\xDB",
-      "%dB": "\xDB",
-      "%DB": "\xDB",
-      "%dc": "\xDC",
-      "%Dc": "\xDC",
-      "%dC": "\xDC",
-      "%DC": "\xDC",
-      "%dd": "\xDD",
-      "%Dd": "\xDD",
-      "%dD": "\xDD",
-      "%DD": "\xDD",
-      "%de": "\xDE",
-      "%De": "\xDE",
-      "%dE": "\xDE",
-      "%DE": "\xDE",
-      "%df": "\xDF",
-      "%Df": "\xDF",
-      "%dF": "\xDF",
-      "%DF": "\xDF",
-      "%e0": "\xE0",
-      "%E0": "\xE0",
-      "%e1": "\xE1",
-      "%E1": "\xE1",
-      "%e2": "\xE2",
-      "%E2": "\xE2",
-      "%e3": "\xE3",
-      "%E3": "\xE3",
-      "%e4": "\xE4",
-      "%E4": "\xE4",
-      "%e5": "\xE5",
-      "%E5": "\xE5",
-      "%e6": "\xE6",
-      "%E6": "\xE6",
-      "%e7": "\xE7",
-      "%E7": "\xE7",
-      "%e8": "\xE8",
-      "%E8": "\xE8",
-      "%e9": "\xE9",
-      "%E9": "\xE9",
-      "%ea": "\xEA",
-      "%Ea": "\xEA",
-      "%eA": "\xEA",
-      "%EA": "\xEA",
-      "%eb": "\xEB",
-      "%Eb": "\xEB",
-      "%eB": "\xEB",
-      "%EB": "\xEB",
-      "%ec": "\xEC",
-      "%Ec": "\xEC",
-      "%eC": "\xEC",
-      "%EC": "\xEC",
-      "%ed": "\xED",
-      "%Ed": "\xED",
-      "%eD": "\xED",
-      "%ED": "\xED",
-      "%ee": "\xEE",
-      "%Ee": "\xEE",
-      "%eE": "\xEE",
-      "%EE": "\xEE",
-      "%ef": "\xEF",
-      "%Ef": "\xEF",
-      "%eF": "\xEF",
-      "%EF": "\xEF",
-      "%f0": "\xF0",
-      "%F0": "\xF0",
-      "%f1": "\xF1",
-      "%F1": "\xF1",
-      "%f2": "\xF2",
-      "%F2": "\xF2",
-      "%f3": "\xF3",
-      "%F3": "\xF3",
-      "%f4": "\xF4",
-      "%F4": "\xF4",
-      "%f5": "\xF5",
-      "%F5": "\xF5",
-      "%f6": "\xF6",
-      "%F6": "\xF6",
-      "%f7": "\xF7",
-      "%F7": "\xF7",
-      "%f8": "\xF8",
-      "%F8": "\xF8",
-      "%f9": "\xF9",
-      "%F9": "\xF9",
-      "%fa": "\xFA",
-      "%Fa": "\xFA",
-      "%fA": "\xFA",
-      "%FA": "\xFA",
-      "%fb": "\xFB",
-      "%Fb": "\xFB",
-      "%fB": "\xFB",
-      "%FB": "\xFB",
-      "%fc": "\xFC",
-      "%Fc": "\xFC",
-      "%fC": "\xFC",
-      "%FC": "\xFC",
-      "%fd": "\xFD",
-      "%Fd": "\xFD",
-      "%fD": "\xFD",
-      "%FD": "\xFD",
-      "%fe": "\xFE",
-      "%Fe": "\xFE",
-      "%fE": "\xFE",
-      "%FE": "\xFE",
-      "%ff": "\xFF",
-      "%Ff": "\xFF",
-      "%fF": "\xFF",
-      "%FF": "\xFF"
-    };
-    function encodedReplacer(match) {
-      return EncodedLookup[match];
-    }
-    var STATE_KEY = 0;
-    var STATE_VALUE = 1;
-    var STATE_CHARSET = 2;
-    var STATE_LANG = 3;
-    function parseParams(str2) {
-      const res = [];
-      let state = STATE_KEY;
-      let charset = "";
-      let inquote = false;
-      let escaping = false;
-      let p = 0;
-      let tmp = "";
-      const len = str2.length;
-      for (var i = 0; i < len; ++i) {
-        const char = str2[i];
-        if (char === "\\" && inquote) {
-          if (escaping) {
-            escaping = false;
-          } else {
-            escaping = true;
-            continue;
-          }
-        } else if (char === '"') {
-          if (!escaping) {
-            if (inquote) {
-              inquote = false;
-              state = STATE_KEY;
-            } else {
-              inquote = true;
+      let headerName = headerNameLowerCasedRecord[key];
+      if (headerName === void 0) {
+        headerName = key.toLowerCase();
+        if (headerNameLowerCasedRecord[headerName] === void 0 && !isValidHTTPToken(headerName)) {
+          throw new InvalidArgumentError("invalid header key");
+        }
+      }
+      if (Array.isArray(val)) {
+        const arr = [];
+        for (let i = 0; i < val.length; i++) {
+          if (typeof val[i] === "string") {
+            if (!isValidHeaderValue(val[i])) {
+              throw new InvalidArgumentError(`invalid ${key} header`);
             }
-            continue;
+            arr.push(val[i]);
+          } else if (val[i] === null) {
+            arr.push("");
+          } else if (typeof val[i] === "object") {
+            throw new InvalidArgumentError(`invalid ${key} header`);
           } else {
-            escaping = false;
-          }
-        } else {
-          if (escaping && inquote) {
-            tmp += "\\";
-          }
-          escaping = false;
-          if ((state === STATE_CHARSET || state === STATE_LANG) && char === "'") {
-            if (state === STATE_CHARSET) {
-              state = STATE_LANG;
-              charset = tmp.substring(1);
-            } else {
-              state = STATE_VALUE;
-            }
-            tmp = "";
-            continue;
-          } else if (state === STATE_KEY && (char === "*" || char === "=") && res.length) {
-            state = char === "*" ? STATE_CHARSET : STATE_VALUE;
-            res[p] = [tmp, void 0];
-            tmp = "";
-            continue;
-          } else if (!inquote && char === ";") {
-            state = STATE_KEY;
-            if (charset) {
-              if (tmp.length) {
-                tmp = decodeText(
-                  tmp.replace(RE_ENCODED, encodedReplacer),
-                  "binary",
-                  charset
-                );
-              }
-              charset = "";
-            } else if (tmp.length) {
-              tmp = decodeText(tmp, "binary", "utf8");
-            }
-            if (res[p] === void 0) {
-              res[p] = tmp;
-            } else {
-              res[p][1] = tmp;
-            }
-            tmp = "";
-            ++p;
-            continue;
-          } else if (!inquote && (char === " " || char === "	")) {
-            continue;
+            arr.push(`${val[i]}`);
           }
         }
-        tmp += char;
-      }
-      if (charset && tmp.length) {
-        tmp = decodeText(
-          tmp.replace(RE_ENCODED, encodedReplacer),
-          "binary",
-          charset
-        );
-      } else if (tmp) {
-        tmp = decodeText(tmp, "binary", "utf8");
-      }
-      if (res[p] === void 0) {
-        if (tmp) {
-          res[p] = tmp;
+        val = arr;
+      } else if (typeof val === "string") {
+        if (!isValidHeaderValue(val)) {
+          throw new InvalidArgumentError(`invalid ${key} header`);
         }
+      } else if (val === null) {
+        val = "";
       } else {
-        res[p][1] = tmp;
-      }
-      return res;
-    }
-    module2.exports = parseParams;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/basename.js
-var require_basename = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/basename.js"(exports2, module2) {
-    "use strict";
-    module2.exports = function basename(path5) {
-      if (typeof path5 !== "string") {
-        return "";
+        val = `${val}`;
       }
-      for (var i = path5.length - 1; i >= 0; --i) {
-        switch (path5.charCodeAt(i)) {
-          case 47:
-          // '/'
-          case 92:
-            path5 = path5.slice(i + 1);
-            return path5 === ".." || path5 === "." ? "" : path5;
+      if (request2.host === null && headerName === "host") {
+        if (typeof val !== "string") {
+          throw new InvalidArgumentError("invalid host header");
         }
-      }
-      return path5 === ".." || path5 === "." ? "" : path5;
-    };
-  }
-});
-
-// node_modules/@fastify/busboy/lib/types/multipart.js
-var require_multipart = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/multipart.js"(exports2, module2) {
-    "use strict";
-    var { Readable } = require("node:stream");
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var parseParams = require_parseParams();
-    var decodeText = require_decodeText();
-    var basename = require_basename();
-    var getLimit = require_getLimit();
-    var RE_BOUNDARY = /^boundary$/i;
-    var RE_FIELD = /^form-data$/i;
-    var RE_CHARSET = /^charset$/i;
-    var RE_FILENAME = /^filename$/i;
-    var RE_NAME = /^name$/i;
-    Multipart.detect = /^multipart\/form-data/i;
-    function Multipart(boy, cfg) {
-      let i;
-      let len;
-      const self2 = this;
-      let boundary;
-      const limits = cfg.limits;
-      const isPartAFile = cfg.isPartAFile || ((fieldName, contentType, fileName) => contentType === "application/octet-stream" || fileName !== void 0);
-      const parsedConType = cfg.parsedConType || [];
-      const defCharset = cfg.defCharset || "utf8";
-      const preservePath = cfg.preservePath;
-      const fileOpts = { highWaterMark: cfg.fileHwm };
-      for (i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_BOUNDARY.test(parsedConType[i][0])) {
-          boundary = parsedConType[i][1];
-          break;
+        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");
         }
-      }
-      function checkFinished() {
-        if (nends === 0 && finished && !boy._done) {
-          finished = false;
-          self2.end();
+      } 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 (typeof boundary !== "string") {
-        throw new Error("Multipart: Boundary not found");
-      }
-      const fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      const fileSizeLimit = getLimit(limits, "fileSize", Infinity);
-      const filesLimit = getLimit(limits, "files", Infinity);
-      const fieldsLimit = getLimit(limits, "fields", Infinity);
-      const partsLimit = getLimit(limits, "parts", Infinity);
-      const headerPairsLimit = getLimit(limits, "headerPairs", 2e3);
-      const headerSizeLimit = getLimit(limits, "headerSize", 80 * 1024);
-      let nfiles = 0;
-      let nfields = 0;
-      let nends = 0;
-      let curFile;
-      let curField;
-      let finished = false;
-      this._needDrain = false;
-      this._pause = false;
-      this._cb = void 0;
-      this._nparts = 0;
-      this._boy = boy;
-      const parserCfg = {
-        boundary,
-        maxHeaderPairs: headerPairsLimit,
-        maxHeaderSize: headerSizeLimit,
-        partHwm: fileOpts.highWaterMark,
-        highWaterMark: cfg.highWaterMark
-      };
-      this.parser = new Dicer(parserCfg);
-      this.parser.on("drain", function() {
-        self2._needDrain = false;
-        if (self2._cb && !self2._pause) {
-          const cb = self2._cb;
-          self2._cb = void 0;
-          cb();
+        if (value === "close") {
+          request2.reset = true;
         }
-      }).on("part", function onPart(part) {
-        if (++self2._nparts > partsLimit) {
-          self2.parser.removeListener("part", onPart);
-          self2.parser.on("part", skipPart);
-          boy.hitPartsLimit = true;
-          boy.emit("partsLimit");
-          return skipPart(part);
-        }
-        if (curField) {
-          const field = curField;
-          field.emit("end");
-          field.removeAllListeners("end");
-        }
-        part.on("header", function(header) {
-          let contype;
-          let fieldname;
-          let parsed;
-          let charset;
-          let encoding;
-          let filename;
-          let nsize = 0;
-          if (header["content-type"]) {
-            parsed = parseParams(header["content-type"][0]);
-            if (parsed[0]) {
-              contype = parsed[0].toLowerCase();
-              for (i = 0, len = parsed.length; i < len; ++i) {
-                if (RE_CHARSET.test(parsed[i][0])) {
-                  charset = parsed[i][1].toLowerCase();
-                  break;
-                }
-              }
-            }
-          }
-          if (contype === void 0) {
-            contype = "text/plain";
-          }
-          if (charset === void 0) {
-            charset = defCharset;
-          }
-          if (header["content-disposition"]) {
-            parsed = parseParams(header["content-disposition"][0]);
-            if (!RE_FIELD.test(parsed[0])) {
-              return skipPart(part);
-            }
-            for (i = 0, len = parsed.length; i < len; ++i) {
-              if (RE_NAME.test(parsed[i][0])) {
-                fieldname = parsed[i][1];
-              } else if (RE_FILENAME.test(parsed[i][0])) {
-                filename = parsed[i][1];
-                if (!preservePath) {
-                  filename = basename(filename);
-                }
-              }
-            }
-          } else {
-            return skipPart(part);
-          }
-          if (header["content-transfer-encoding"]) {
-            encoding = header["content-transfer-encoding"][0].toLowerCase();
-          } else {
-            encoding = "7bit";
-          }
-          let onData, onEnd;
-          if (isPartAFile(fieldname, contype, filename)) {
-            if (nfiles === filesLimit) {
-              if (!boy.hitFilesLimit) {
-                boy.hitFilesLimit = true;
-                boy.emit("filesLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfiles;
-            if (boy.listenerCount("file") === 0) {
-              self2.parser._ignore();
-              return;
-            }
-            ++nends;
-            const file = new FileStream(fileOpts);
-            curFile = file;
-            file.on("end", function() {
-              --nends;
-              self2._pause = false;
-              checkFinished();
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            });
-            file._read = function(n) {
-              if (!self2._pause) {
-                return;
-              }
-              self2._pause = false;
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            };
-            boy.emit("file", fieldname, file, filename, encoding, contype);
-            onData = function(data) {
-              if ((nsize += data.length) > fileSizeLimit) {
-                const extralen = fileSizeLimit - nsize + data.length;
-                if (extralen > 0) {
-                  file.push(data.slice(0, extralen));
-                }
-                file.truncated = true;
-                file.bytesRead = fileSizeLimit;
-                part.removeAllListeners("data");
-                file.emit("limit");
-                return;
-              } else if (!file.push(data)) {
-                self2._pause = true;
-              }
-              file.bytesRead = nsize;
-            };
-            onEnd = function() {
-              curFile = void 0;
-              file.push(null);
-            };
-          } else {
-            if (nfields === fieldsLimit) {
-              if (!boy.hitFieldsLimit) {
-                boy.hitFieldsLimit = true;
-                boy.emit("fieldsLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfields;
-            ++nends;
-            let buffer = "";
-            let truncated = false;
-            curField = part;
-            onData = function(data) {
-              if ((nsize += data.length) > fieldSizeLimit) {
-                const extralen = fieldSizeLimit - (nsize - data.length);
-                buffer += data.toString("binary", 0, extralen);
-                truncated = true;
-                part.removeAllListeners("data");
-              } else {
-                buffer += data.toString("binary");
-              }
-            };
-            onEnd = function() {
-              curField = void 0;
-              if (buffer.length) {
-                buffer = decodeText(buffer, "binary", charset);
-              }
-              boy.emit("field", fieldname, buffer, false, truncated, encoding, contype);
-              --nends;
-              checkFinished();
-            };
-          }
-          part._readableState.sync = false;
-          part.on("data", onData);
-          part.on("end", onEnd);
-        }).on("error", function(err) {
-          if (curFile) {
-            curFile.emit("error", err);
-          }
-        });
-      }).on("error", function(err) {
-        boy.emit("error", err);
-      }).on("finish", function() {
-        finished = true;
-        checkFinished();
-      });
-    }
-    Multipart.prototype.write = function(chunk, cb) {
-      const r = this.parser.write(chunk);
-      if (r && !this._pause) {
-        cb();
+      } else if (headerName === "expect") {
+        throw new NotSupportedError("expect header not supported");
       } else {
-        this._needDrain = !r;
-        this._cb = cb;
-      }
-    };
-    Multipart.prototype.end = function() {
-      const self2 = this;
-      if (self2.parser.writable) {
-        self2.parser.end();
-      } else if (!self2._boy._done) {
-        process.nextTick(function() {
-          self2._boy._done = true;
-          self2._boy.emit("finish");
-        });
+        request2.headers.push(key, val);
       }
-    };
-    function skipPart(part) {
-      part.resume();
-    }
-    function FileStream(opts) {
-      Readable.call(this, opts);
-      this.bytesRead = 0;
-      this.truncated = false;
     }
-    inherits(FileStream, Readable);
-    FileStream.prototype._read = function(n) {
-    };
-    module2.exports = Multipart;
+    module2.exports = Request;
   }
 });
 
-// node_modules/@fastify/busboy/lib/utils/Decoder.js
-var require_Decoder = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/Decoder.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js
+var require_dispatcher2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js"(exports2, module2) {
     "use strict";
-    var RE_PLUS = /\+/g;
-    var HEX = [
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0
-    ];
-    function Decoder() {
-      this.buffer = void 0;
-    }
-    Decoder.prototype.write = function(str2) {
-      str2 = str2.replace(RE_PLUS, " ");
-      let res = "";
-      let i = 0;
-      let p = 0;
-      const len = str2.length;
-      for (; i < len; ++i) {
-        if (this.buffer !== void 0) {
-          if (!HEX[str2.charCodeAt(i)]) {
-            res += "%" + this.buffer;
-            this.buffer = void 0;
-            --i;
-          } else {
-            this.buffer += str2[i];
-            ++p;
-            if (this.buffer.length === 2) {
-              res += String.fromCharCode(parseInt(this.buffer, 16));
-              this.buffer = void 0;
-            }
-          }
-        } else if (str2[i] === "%") {
-          if (i > p) {
-            res += str2.substring(p, i);
-            p = i;
-          }
-          this.buffer = "";
-          ++p;
-        }
+    var EventEmitter = require("node:events");
+    var Dispatcher = class extends EventEmitter {
+      dispatch() {
+        throw new Error("not implemented");
       }
-      if (p < len && this.buffer === void 0) {
-        res += str2.substring(p);
+      close() {
+        throw new Error("not implemented");
       }
-      return res;
-    };
-    Decoder.prototype.reset = function() {
-      this.buffer = void 0;
-    };
-    module2.exports = Decoder;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/types/urlencoded.js
-var require_urlencoded = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/urlencoded.js"(exports2, module2) {
-    "use strict";
-    var Decoder = require_Decoder();
-    var decodeText = require_decodeText();
-    var getLimit = require_getLimit();
-    var RE_CHARSET = /^charset$/i;
-    UrlEncoded.detect = /^application\/x-www-form-urlencoded/i;
-    function UrlEncoded(boy, cfg) {
-      const limits = cfg.limits;
-      const parsedConType = cfg.parsedConType;
-      this.boy = boy;
-      this.fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      this.fieldNameSizeLimit = getLimit(limits, "fieldNameSize", 100);
-      this.fieldsLimit = getLimit(limits, "fields", Infinity);
-      let charset;
-      for (var i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_CHARSET.test(parsedConType[i][0])) {
-          charset = parsedConType[i][1].toLowerCase();
-          break;
-        }
+      destroy() {
+        throw new Error("not implemented");
       }
-      if (charset === void 0) {
-        charset = cfg.defCharset || "utf8";
-      }
-      this.decoder = new Decoder();
-      this.charset = charset;
-      this._fields = 0;
-      this._state = "key";
-      this._checkingBytes = true;
-      this._bytesKey = 0;
-      this._bytesVal = 0;
-      this._key = "";
-      this._val = "";
-      this._keyTrunc = false;
-      this._valTrunc = false;
-      this._hitLimit = false;
-    }
-    UrlEncoded.prototype.write = function(data, cb) {
-      if (this._fields === this.fieldsLimit) {
-        if (!this.boy.hitFieldsLimit) {
-          this.boy.hitFieldsLimit = true;
-          this.boy.emit("fieldsLimit");
-        }
-        return cb();
-      }
-      let idxeq;
-      let idxamp;
-      let i;
-      let p = 0;
-      const len = data.length;
-      while (p < len) {
-        if (this._state === "key") {
-          idxeq = idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 61) {
-              idxeq = i;
-              break;
-            } else if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesKey === this.fieldNameSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesKey;
-            }
-          }
-          if (idxeq !== void 0) {
-            if (idxeq > p) {
-              this._key += this.decoder.write(data.toString("binary", p, idxeq));
-            }
-            this._state = "val";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._val = "";
-            this._bytesVal = 0;
-            this._valTrunc = false;
-            this.decoder.reset();
-            p = idxeq + 1;
-          } else if (idxamp !== void 0) {
-            ++this._fields;
-            let key;
-            const keyTrunc = this._keyTrunc;
-            if (idxamp > p) {
-              key = this._key += this.decoder.write(data.toString("binary", p, idxamp));
-            } else {
-              key = this._key;
-            }
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            if (key.length) {
-              this.boy.emit(
-                "field",
-                decodeText(key, "binary", this.charset),
-                "",
-                keyTrunc,
-                false
-              );
-            }
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._key += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if ((this._bytesKey = this._key.length) === this.fieldNameSizeLimit) {
-              this._checkingBytes = false;
-              this._keyTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._key += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+      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;
           }
-        } else {
-          idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesVal === this.fieldSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesVal;
-            }
+          if (typeof interceptor !== "function") {
+            throw new TypeError(`invalid interceptor, expected function received ${typeof interceptor}`);
           }
-          if (idxamp !== void 0) {
-            ++this._fields;
-            if (idxamp > p) {
-              this._val += this.decoder.write(data.toString("binary", p, idxamp));
-            }
-            this.boy.emit(
-              "field",
-              decodeText(this._key, "binary", this.charset),
-              decodeText(this._val, "binary", this.charset),
-              this._keyTrunc,
-              this._valTrunc
-            );
-            this._state = "key";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._val += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if (this._val === "" && this.fieldSizeLimit === 0 || (this._bytesVal = this._val.length) === this.fieldSizeLimit) {
-              this._checkingBytes = false;
-              this._valTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._val += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+          dispatch = interceptor(dispatch);
+          if (dispatch == null || typeof dispatch !== "function" || dispatch.length !== 2) {
+            throw new TypeError("invalid interceptor");
           }
         }
+        return new ComposedDispatcher(this, dispatch);
       }
-      cb();
     };
-    UrlEncoded.prototype.end = function() {
-      if (this.boy._done) {
-        return;
+    var ComposedDispatcher = class extends Dispatcher {
+      #dispatcher = null;
+      #dispatch = null;
+      constructor(dispatcher, dispatch) {
+        super();
+        this.#dispatcher = dispatcher;
+        this.#dispatch = dispatch;
       }
-      if (this._state === "key" && this._key.length > 0) {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          "",
-          this._keyTrunc,
-          false
-        );
-      } else if (this._state === "val") {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          decodeText(this._val, "binary", this.charset),
-          this._keyTrunc,
-          this._valTrunc
-        );
+      dispatch(...args) {
+        this.#dispatch(...args);
+      }
+      close(...args) {
+        return this.#dispatcher.close(...args);
+      }
+      destroy(...args) {
+        return this.#dispatcher.destroy(...args);
       }
-      this.boy._done = true;
-      this.boy.emit("finish");
     };
-    module2.exports = UrlEncoded;
+    module2.exports = Dispatcher;
   }
 });
 
-// node_modules/@fastify/busboy/lib/main.js
-var require_main = __commonJS({
-  "node_modules/@fastify/busboy/lib/main.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js
+var require_dispatcher_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js"(exports2, module2) {
     "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var MultipartParser = require_multipart();
-    var UrlencodedParser = require_urlencoded();
-    var parseParams = require_parseParams();
-    function Busboy(opts) {
-      if (!(this instanceof Busboy)) {
-        return new Busboy(opts);
+    var Dispatcher = require_dispatcher2();
+    var {
+      ClientDestroyedError,
+      ClientClosedError,
+      InvalidArgumentError
+    } = require_errors2();
+    var { kDestroy, kClose, kClosed, kDestroyed, kDispatch, kInterceptors } = require_symbols6();
+    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
+    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
+    var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
+    var DispatcherBase = class extends Dispatcher {
+      constructor() {
+        super();
+        this[kDestroyed] = false;
+        this[kOnDestroyed] = null;
+        this[kClosed] = false;
+        this[kOnClosed] = [];
       }
-      if (typeof opts !== "object") {
-        throw new TypeError("Busboy expected an options-Object.");
+      get destroyed() {
+        return this[kDestroyed];
       }
-      if (typeof opts.headers !== "object") {
-        throw new TypeError("Busboy expected an options-Object with headers-attribute.");
+      get closed() {
+        return this[kClosed];
       }
-      if (typeof opts.headers["content-type"] !== "string") {
-        throw new TypeError("Missing Content-Type-header.");
+      get interceptors() {
+        return this[kInterceptors];
       }
-      const {
-        headers,
-        ...streamOptions
-      } = opts;
-      this.opts = {
-        autoDestroy: false,
-        ...streamOptions
-      };
-      WritableStream.call(this, this.opts);
-      this._done = false;
-      this._parser = this.getParserByHeaders(headers);
-      this._finished = false;
-    }
-    inherits(Busboy, WritableStream);
-    Busboy.prototype.emit = function(ev) {
-      if (ev === "finish") {
-        if (!this._done) {
-          this._parser?.end();
+      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");
+            }
+          }
+        }
+        this[kInterceptors] = newInterceptors;
+      }
+      close(callback) {
+        if (callback === void 0) {
+          return new Promise((resolve4, reject) => {
+            this.close((err, data) => {
+              return err ? reject(err) : resolve4(data);
+            });
+          });
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        if (this[kDestroyed]) {
+          queueMicrotask(() => callback(new ClientDestroyedError(), null));
           return;
-        } else if (this._finished) {
+        }
+        if (this[kClosed]) {
+          if (this[kOnClosed]) {
+            this[kOnClosed].push(callback);
+          } else {
+            queueMicrotask(() => callback(null, null));
+          }
           return;
         }
-        this._finished = true;
-      }
-      WritableStream.prototype.emit.apply(this, arguments);
-    };
-    Busboy.prototype.getParserByHeaders = function(headers) {
-      const parsed = parseParams(headers["content-type"]);
-      const cfg = {
-        defCharset: this.opts.defCharset,
-        fileHwm: this.opts.fileHwm,
-        headers,
-        highWaterMark: this.opts.highWaterMark,
-        isPartAFile: this.opts.isPartAFile,
-        limits: this.opts.limits,
-        parsedConType: parsed,
-        preservePath: this.opts.preservePath
-      };
-      if (MultipartParser.detect.test(parsed[0])) {
-        return new MultipartParser(this, cfg);
+        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);
+        });
       }
-      if (UrlencodedParser.detect.test(parsed[0])) {
-        return new UrlencodedParser(this, cfg);
+      destroy(err, callback) {
+        if (typeof err === "function") {
+          callback = err;
+          err = null;
+        }
+        if (callback === void 0) {
+          return new Promise((resolve4, reject) => {
+            this.destroy(err, (err2, data) => {
+              return err2 ? (
+                /* istanbul ignore next: should never error */
+                reject(err2)
+              ) : resolve4(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;
+        }
       }
-      throw new Error("Unsupported Content-Type.");
-    };
-    Busboy.prototype._write = function(chunk, encoding, cb) {
-      this._parser.write(chunk, cb);
     };
-    module2.exports = Busboy;
-    module2.exports.default = Busboy;
-    module2.exports.Busboy = Busboy;
-    module2.exports.Dicer = Dicer;
+    module2.exports = DispatcherBase;
   }
 });
 
-// node_modules/undici/lib/fetch/constants.js
-var require_constants7 = __commonJS({
-  "node_modules/undici/lib/fetch/constants.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/util/timers.js
+var require_timers2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/util/timers.js"(exports2, module2) {
     "use strict";
-    var { MessageChannel, receiveMessageOnPort } = require("worker_threads");
-    var corsSafeListedMethods = ["GET", "HEAD", "POST"];
-    var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
-    var nullBodyStatus = [101, 204, 205, 304];
-    var redirectStatus = [301, 302, 303, 307, 308];
-    var redirectStatusSet = new Set(redirectStatus);
-    var badPorts = [
-      "1",
-      "7",
-      "9",
-      "11",
-      "13",
-      "15",
-      "17",
-      "19",
-      "20",
-      "21",
-      "22",
-      "23",
-      "25",
-      "37",
-      "42",
-      "43",
-      "53",
-      "69",
-      "77",
-      "79",
-      "87",
-      "95",
-      "101",
-      "102",
-      "103",
-      "104",
-      "109",
-      "110",
-      "111",
-      "113",
-      "115",
-      "117",
-      "119",
-      "123",
-      "135",
-      "137",
-      "139",
-      "143",
-      "161",
-      "179",
-      "389",
-      "427",
-      "465",
-      "512",
-      "513",
-      "514",
-      "515",
-      "526",
-      "530",
-      "531",
-      "532",
-      "540",
-      "548",
-      "554",
-      "556",
-      "563",
-      "587",
-      "601",
-      "636",
-      "989",
-      "990",
-      "993",
-      "995",
-      "1719",
-      "1720",
-      "1723",
-      "2049",
-      "3659",
-      "4045",
-      "5060",
-      "5061",
-      "6000",
-      "6566",
-      "6665",
-      "6666",
-      "6667",
-      "6668",
-      "6669",
-      "6697",
-      "10080"
-    ];
-    var badPortsSet = new Set(badPorts);
-    var referrerPolicy = [
-      "",
-      "no-referrer",
-      "no-referrer-when-downgrade",
-      "same-origin",
-      "origin",
-      "strict-origin",
-      "origin-when-cross-origin",
-      "strict-origin-when-cross-origin",
-      "unsafe-url"
-    ];
-    var referrerPolicySet = new Set(referrerPolicy);
-    var requestRedirect = ["follow", "manual", "error"];
-    var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"];
-    var safeMethodsSet = new Set(safeMethods);
-    var requestMode = ["navigate", "same-origin", "no-cors", "cors"];
-    var requestCredentials = ["omit", "same-origin", "include"];
-    var requestCache = [
-      "default",
-      "no-store",
-      "reload",
-      "no-cache",
-      "force-cache",
-      "only-if-cached"
-    ];
-    var requestBodyHeader = [
-      "content-encoding",
-      "content-language",
-      "content-location",
-      "content-type",
-      // See https://github.com/nodejs/undici/issues/2021
-      // 'Content-Length' is a forbidden header name, which is typically
-      // removed in the Headers implementation. However, undici doesn't
-      // filter out headers, so we add it here.
-      "content-length"
-    ];
-    var requestDuplex = [
-      "half"
-    ];
-    var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"];
-    var forbiddenMethodsSet = new Set(forbiddenMethods);
-    var subresource = [
-      "audio",
-      "audioworklet",
-      "font",
-      "image",
-      "manifest",
-      "paintworklet",
-      "script",
-      "style",
-      "track",
-      "video",
-      "xslt",
-      ""
-    ];
-    var subresourceSet = new Set(subresource);
-    var DOMException2 = globalThis.DOMException ?? (() => {
-      try {
-        atob("~");
-      } catch (err) {
-        return Object.getPrototypeOf(err).constructor;
+    var fastNow = 0;
+    var RESOLUTION_MS = 1e3;
+    var TICK_MS = (RESOLUTION_MS >> 1) - 1;
+    var fastNowTimeout;
+    var kFastTimer = /* @__PURE__ */ 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;
+        }
       }
-    })();
-    var channel;
-    var structuredClone = globalThis.structuredClone ?? // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js
-    // structuredClone was added in v17.0.0, but fetch supports v16.8
-    function structuredClone2(value, options = void 0) {
-      if (arguments.length === 0) {
-        throw new TypeError("missing argument");
+      fastTimers.length = len;
+      if (fastTimers.length !== 0) {
+        refreshTimeout();
       }
-      if (!channel) {
-        channel = new MessageChannel();
+    }
+    function refreshTimeout() {
+      if (fastNowTimeout) {
+        fastNowTimeout.refresh();
+      } else {
+        clearTimeout(fastNowTimeout);
+        fastNowTimeout = setTimeout(onTick, TICK_MS);
+        if (fastNowTimeout.unref) {
+          fastNowTimeout.unref();
+        }
       }
-      channel.port1.unref();
-      channel.port2.unref();
-      channel.port1.postMessage(value, options?.transfer);
-      return receiveMessageOnPort(channel.port2).message;
-    };
-    module2.exports = {
-      DOMException: DOMException2,
-      structuredClone,
-      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/fetch/global.js
-var require_global3 = __commonJS({
-  "node_modules/undici/lib/fetch/global.js"(exports2, module2) {
-    "use strict";
-    var globalOrigin = /* @__PURE__ */ 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;
+    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, delay2, arg) {
+        this._onTimeout = callback;
+        this._idleTimeout = delay2;
+        this._timerArg = arg;
+        this.refresh();
       }
-      const parsedURL = new URL(newOrigin);
-      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
-        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
+      /**
+       * 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;
       }
-      Object.defineProperty(globalThis, globalOrigin, {
-        value: parsedURL,
-        writable: true,
-        enumerable: false,
-        configurable: false
-      });
-    }
+      /**
+       * The `clear` method cancels the timer, preventing it from executing.
+       *
+       * @returns {void}
+       * @private
+       */
+      clear() {
+        this._state = TO_BE_CLEARED;
+        this._idleStart = -1;
+      }
+    };
     module2.exports = {
-      getGlobalOrigin,
-      setGlobalOrigin
+      /**
+       * 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, delay2, arg) {
+        return delay2 <= RESOLUTION_MS ? setTimeout(callback, delay2, arg) : new FastTimer(callback, delay2, 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, delay2, arg) {
+        return new FastTimer(callback, delay2, 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(delay2 = 0) {
+        fastNow += delay2 - 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/undici/lib/fetch/util.js
-var require_util10 = __commonJS({
-  "node_modules/undici/lib/fetch/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/connect.js
+var require_connect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/connect.js"(exports2, module2) {
     "use strict";
-    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants7();
-    var { getGlobalOrigin } = require_global3();
-    var { performance: performance2 } = require("perf_hooks");
-    var { isBlobLike, toUSVString, ReadableStreamFrom } = require_util9();
-    var assert = require("assert");
-    var { isUint8Array } = require("util/types");
-    var supportedHashes = [];
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
-      supportedHashes = crypto2.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");
-      if (location !== null && isValidHeaderValue(location)) {
-        location = new URL(location, responseURL(response));
-      }
-      if (location && !location.hash) {
-        location.hash = requestFragment;
-      }
-      return location;
-    }
-    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");
+    var net = require("node:net");
+    var assert = require("node:assert");
+    var util = require_util9();
+    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
+    var timers = require_timers2();
+    function noop3() {
     }
-    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;
+    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);
+            }
+          });
         }
-      }
-      return true;
-    }
-    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;
-      }
-    }
-    function isValidHTTPToken(characters) {
-      if (characters.length === 0) {
-        return false;
-      }
-      for (let i = 0; i < characters.length; ++i) {
-        if (!isTokenCharCode(characters.charCodeAt(i))) {
-          return false;
+        get(sessionKey) {
+          const ref = this._sessionCache.get(sessionKey);
+          return ref ? ref.deref() : null;
         }
-      }
-      return true;
-    }
-    function isValidHeaderName(potentialValue) {
-      return isValidHTTPToken(potentialValue);
-    }
-    function isValidHeaderValue(potentialValue) {
-      if (potentialValue.startsWith("	") || potentialValue.startsWith(" ") || potentialValue.endsWith("	") || potentialValue.endsWith(" ")) {
-        return false;
-      }
-      if (potentialValue.includes("\0") || potentialValue.includes("\r") || potentialValue.includes("\n")) {
-        return false;
-      }
-      return true;
-    }
-    function setRequestReferrerPolicyOnRedirect(request2, actualResponse) {
-      const { headersList } = actualResponse;
-      const policyHeader = (headersList.get("referrer-policy") ?? "").split(",");
-      let policy = "";
-      if (policyHeader.length > 0) {
-        for (let i = policyHeader.length; i !== 0; i--) {
-          const token = policyHeader[i - 1].trim();
-          if (referrerPolicyTokens.has(token)) {
-            policy = token;
-            break;
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
+          this._sessionCache.set(sessionKey, new WeakRef(session));
+          this._sessionRegistry.register(session, sessionKey);
         }
-      }
-      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);
-    }
-    function appendRequestOriginHeader(request2) {
-      let serializedOrigin = request2.origin;
-      if (request2.responseTainting === "cors" || request2.mode === "websocket") {
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
-        }
-      } 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:
-        }
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
-        }
-      }
-    }
-    function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
-      return performance2.now();
-    }
-    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";
+    } else {
+      SessionCache = class SimpleSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
         }
-        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;
+        get(sessionKey) {
+          return this._sessionCache.get(sessionKey);
+        }
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
-          if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {
-            return "no-referrer";
+          if (this._sessionCache.size >= this._maxCachedSessions) {
+            const { value: oldestKey } = this._sessionCache.keys().next();
+            this._sessionCache.delete(oldestKey);
           }
-          return referrerOrigin;
-        }
-        case "strict-origin":
-        // eslint-disable-line
-        /**
-           * 1. If referrerURL is a potentially trustworthy URL and
-           * request’s current URL is not a potentially trustworthy URL,
-           * then return no referrer.
-           * 2. Return referrerOrigin
-          */
-        case "no-referrer-when-downgrade":
-        // eslint-disable-line
-        /**
-         * 1. If referrerURL is a potentially trustworthy URL and
-         * request’s current URL is not a potentially trustworthy URL,
-         * then return no referrer.
-         * 2. Return referrerOrigin
-        */
-        default:
-          return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
-      }
-    }
-    function stripURLForReferrer(url, originOnly) {
-      assert(url instanceof URL);
-      if (url.protocol === "file:" || url.protocol === "about:" || url.protocol === "blank:") {
-        return "no-referrer";
-      }
-      url.username = "";
-      url.password = "";
-      url.hash = "";
-      if (originOnly) {
-        url.pathname = "";
-        url.search = "";
-      }
-      return url;
-    }
-    function isURLPotentiallyTrustworthy(url) {
-      if (!(url instanceof URL)) {
-        return false;
-      }
-      if (url.href === "about:blank" || url.href === "about:srcdoc") {
-        return true;
-      }
-      if (url.protocol === "data:") return true;
-      if (url.protocol === "file:") return true;
-      return isOriginPotentiallyTrustworthy(url.origin);
-      function isOriginPotentiallyTrustworthy(origin) {
-        if (origin == null || origin === "null") return false;
-        const originAsURL = new URL(origin);
-        if (originAsURL.protocol === "https:" || originAsURL.protocol === "wss:") {
-          return true;
-        }
-        if (/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(originAsURL.hostname) || (originAsURL.hostname === "localhost" || originAsURL.hostname.includes("localhost.")) || originAsURL.hostname.endsWith(".localhost")) {
-          return true;
+          this._sessionCache.set(sessionKey, session);
         }
-        return false;
-      }
+      };
     }
-    function bytesMatch(bytes, metadataList) {
-      if (crypto2 === void 0) {
-        return true;
-      }
-      const parsedMetadata = parseMetadata(metadataList);
-      if (parsedMetadata === "no metadata") {
-        return true;
-      }
-      if (parsedMetadata.length === 0) {
-        return true;
+    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 strongest = getStrongestMetadata(parsedMetadata);
-      const metadata = filterMetadataListByAlgorithm(parsedMetadata, strongest);
-      for (const item of metadata) {
-        const algorithm = item.algo;
-        const expectedValue = item.hash;
-        let actualValue = crypto2.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);
+      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");
           }
+          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 (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 token of metadata.split(" ")) {
-        empty = false;
-        const parsedToken = parseHashWithOptions.exec(token);
-        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;
+        if (options.keepAlive == null || options.keepAlive) {
+          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
+          socket.setKeepAlive(true, keepAliveInitialDelay);
         }
-      }
-      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((resolve4, reject) => {
-        res = resolve4;
-        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";
-    }
-    var normalizeMethodRecord = {
-      delete: "DELETE",
-      DELETE: "DELETE",
-      get: "GET",
-      GET: "GET",
-      head: "HEAD",
-      HEAD: "HEAD",
-      options: "OPTIONS",
-      OPTIONS: "OPTIONS",
-      post: "POST",
-      POST: "POST",
-      put: "PUT",
-      PUT: "PUT"
-    };
-    Object.setPrototypeOf(normalizeMethodRecord, null);
-    function normalizeMethod(method) {
-      return normalizeMethodRecord[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 makeIterator(iterator2, name, kind) {
-      const object = {
-        index: 0,
-        kind,
-        target: iterator2
-      };
-      const i = {
-        next() {
-          if (Object.getPrototypeOf(this) !== i) {
-            throw new TypeError(
-              `'next' called on an object that does not implement interface ${name} Iterator.`
-            );
+        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);
           }
-          const { index, kind: kind2, target } = object;
-          const values = target();
-          const len = values.length;
-          if (index >= len) {
-            return { value: void 0, done: true };
+        }).on("error", function(err) {
+          queueMicrotask(clearConnectTimeout);
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(err);
           }
-          const pair = values[index];
-          object.index = index + 1;
-          return iteratorResult(pair, kind2);
-        },
-        // The class string of an iterator prototype object for a given interface is the
-        // result of concatenating the identifier of the interface and the string " Iterator".
-        [Symbol.toStringTag]: `${name} Iterator`
+        });
+        return socket;
       };
-      Object.setPrototypeOf(i, esIteratorPrototype);
-      return Object.setPrototypeOf({}, i);
-    }
-    function iteratorResult(pair, kind) {
-      let result;
-      switch (kind) {
-        case "key": {
-          result = pair[0];
-          break;
-        }
-        case "value": {
-          result = pair[1];
-          break;
-        }
-        case "key+value": {
-          result = pair;
-          break;
-        }
-      }
-      return { value: result, done: false };
-    }
-    async function fullyReadBody(body, processBody, processBodyError) {
-      const successSteps = processBody;
-      const errorSteps = processBodyError;
-      let reader;
-      try {
-        reader = body.stream.getReader();
-      } catch (e) {
-        errorSteps(e);
-        return;
-      }
-      try {
-        const result = await readAllBytes(reader);
-        successSteps(result);
-      } catch (e) {
-        errorSteps(e);
-      }
     }
-    var ReadableStream2 = globalThis.ReadableStream;
-    function isReadableStreamLike(stream) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+    var setupConnectTimeout = process.platform === "win32" ? (socketWeakRef, opts) => {
+      if (!opts.timeout) {
+        return noop3;
       }
-      return stream instanceof ReadableStream2 || stream[Symbol.toStringTag] === "ReadableStream" && typeof stream.tee === "function";
-    }
-    var MAXIMUM_ARGUMENT_LENGTH = 65535;
-    function isomorphicDecode(input) {
-      if (input.length < MAXIMUM_ARGUMENT_LENGTH) {
-        return String.fromCharCode(...input);
+      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;
       }
-      return input.reduce((previous, current) => previous + String.fromCharCode(current), "");
-    }
-    function readableStreamClose(controller) {
-      try {
-        controller.close();
-      } catch (err) {
-        if (!err.message.includes("Controller is already closed")) {
-          throw err;
-        }
+      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;
       }
-    }
-    function isomorphicEncode(input) {
-      for (let i = 0; i < input.length; i++) {
-        assert(input.charCodeAt(i) <= 255);
+      let message = "Connect Timeout Error";
+      if (Array.isArray(socket.autoSelectFamilyAttemptedAddresses)) {
+        message += ` (attempted addresses: ${socket.autoSelectFamilyAttemptedAddresses.join(", ")},`;
+      } else {
+        message += ` (attempted address: ${opts.hostname}:${opts.port},`;
       }
-      return input;
+      message += ` timeout: ${opts.timeout}ms)`;
+      util.destroy(socket, new ConnectTimeoutError(message));
     }
-    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");
+    module2.exports = buildConnector;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js
+var require_utils3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.enumToMap = void 0;
+    function enumToMap(obj) {
+      const res = {};
+      Object.keys(obj).forEach((key) => {
+        const value = obj[key];
+        if (typeof value === "number") {
+          res[key] = value;
         }
-        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) {
-      if (typeof url === "string") {
-        return url.startsWith("https:");
-      }
-      return url.protocol === "https:";
-    }
-    function urlIsHttpHttpsScheme(url) {
-      assert("protocol" in url);
-      const protocol = url.protocol;
-      return protocol === "http:" || protocol === "https:";
+      });
+      return res;
     }
-    var hasOwn = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key));
-    module2.exports = {
-      isAborted,
-      isCancelled,
-      createDeferredPromise,
-      ReadableStreamFrom,
-      toUSVString,
-      tryUpgradeRequestToAPotentiallyTrustworthyURL,
-      coarsenedSharedCurrentTime,
-      determineRequestsReferrer,
-      makePolicyContainer,
-      clonePolicyContainer,
-      appendFetchMetadata,
-      appendRequestOriginHeader,
-      TAOCheck,
-      corsCheck,
-      crossOriginResourcePolicyCheck,
-      createOpaqueTimingInfo,
-      setRequestReferrerPolicyOnRedirect,
-      isValidHTTPToken,
-      requestBadPort,
-      requestCurrentURL,
-      responseURL,
-      responseLocationURL,
-      isBlobLike,
-      isURLPotentiallyTrustworthy,
-      isValidReasonPhrase,
-      sameOrigin,
-      normalizeMethod,
-      serializeJavascriptValueToJSONString,
-      makeIterator,
-      isValidHeaderName,
-      isValidHeaderValue,
-      hasOwn,
-      isErrorLike,
-      fullyReadBody,
-      bytesMatch,
-      isReadableStreamLike,
-      readableStreamClose,
-      isomorphicEncode,
-      isomorphicDecode,
-      urlIsLocal,
-      urlHasHttpsScheme,
-      urlIsHttpHttpsScheme,
-      readAllBytes,
-      normalizeMethodRecord,
-      parseMetadata
-    };
+    exports2.enumToMap = enumToMap;
   }
 });
 
-// node_modules/undici/lib/fetch/symbols.js
-var require_symbols7 = __commonJS({
-  "node_modules/undici/lib/fetch/symbols.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js
+var require_constants7 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js"(exports2) {
     "use strict";
-    module2.exports = {
-      kUrl: /* @__PURE__ */ Symbol("url"),
-      kHeaders: /* @__PURE__ */ Symbol("headers"),
-      kSignal: /* @__PURE__ */ Symbol("signal"),
-      kState: /* @__PURE__ */ Symbol("state"),
-      kGuard: /* @__PURE__ */ Symbol("guard"),
-      kRealm: /* @__PURE__ */ Symbol("realm")
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
+    var utils_1 = require_utils3();
+    var ERROR;
+    (function(ERROR2) {
+      ERROR2[ERROR2["OK"] = 0] = "OK";
+      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
+      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
+      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
+      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
+      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
+      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
+      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
+      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
+      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
+      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
+      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
+      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
+      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
+      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
+      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
+      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
+      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
+      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
+      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
+      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
+      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
+      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
+      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
+      ERROR2[ERROR2["USER"] = 24] = "USER";
+    })(ERROR = 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];
+      }
+    });
+    var FINISH;
+    (function(FINISH2) {
+      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
+      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
+      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
+    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
+    exports2.ALPHA = [];
+    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
+      exports2.ALPHA.push(String.fromCharCode(i));
+      exports2.ALPHA.push(String.fromCharCode(i + 32));
+    }
+    exports2.NUM_MAP = {
+      0: 0,
+      1: 1,
+      2: 2,
+      3: 3,
+      4: 4,
+      5: 5,
+      6: 6,
+      7: 7,
+      8: 8,
+      9: 9
+    };
+    exports2.HEX_MAP = {
+      0: 0,
+      1: 1,
+      2: 2,
+      3: 3,
+      4: 4,
+      5: 5,
+      6: 6,
+      7: 7,
+      8: 8,
+      9: 9,
+      A: 10,
+      B: 11,
+      C: 12,
+      D: 13,
+      E: 14,
+      F: 15,
+      a: 10,
+      b: 11,
+      c: 12,
+      d: 13,
+      e: 14,
+      f: 15
+    };
+    exports2.NUM = [
+      "0",
+      "1",
+      "2",
+      "3",
+      "4",
+      "5",
+      "6",
+      "7",
+      "8",
+      "9"
+    ];
+    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
+    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
+    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
+    exports2.STRICT_URL_CHAR = [
+      "!",
+      '"',
+      "$",
+      "%",
+      "&",
+      "'",
+      "(",
+      ")",
+      "*",
+      "+",
+      ",",
+      "-",
+      ".",
+      "/",
+      ":",
+      ";",
+      "<",
+      "=",
+      ">",
+      "@",
+      "[",
+      "\\",
+      "]",
+      "^",
+      "_",
+      "`",
+      "{",
+      "|",
+      "}",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
+    for (let i = 128; i <= 255; i++) {
+      exports2.URL_CHAR.push(i);
+    }
+    exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
+    exports2.STRICT_TOKEN = [
+      "!",
+      "#",
+      "$",
+      "%",
+      "&",
+      "'",
+      "*",
+      "+",
+      "-",
+      ".",
+      "^",
+      "_",
+      "`",
+      "|",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]);
+    exports2.HEADER_CHARS = ["	"];
+    for (let i = 32; i <= 255; i++) {
+      if (i !== 127) {
+        exports2.HEADER_CHARS.push(i);
+      }
+    }
+    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/fetch/webidl.js
-var require_webidl2 = __commonJS({
-  "node_modules/undici/lib/fetch/webidl.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js
+var require_llhttp_wasm2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
     "use strict";
-    var { types } = require("util");
-    var { hasOwn, toUSVString } = require_util10();
-    var webidl = {};
-    webidl.converters = {};
-    webidl.util = {};
-    webidl.errors = {};
-    webidl.errors.exception = function(message) {
-      return new TypeError(`${message.header}: ${message.message}`);
+    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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CABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv", "base64");
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
+var require_llhttp_simd_wasm2 = __commonJS({
+  "node_modules/@actions/github/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/@actions/github/node_modules/undici/lib/web/fetch/constants.js
+var require_constants8 = __commonJS({
+  "node_modules/@actions/github/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/@actions/github/node_modules/undici/lib/web/fetch/global.js
+var require_global3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/global.js"(exports2, module2) {
+    "use strict";
+    var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
+    function getGlobalOrigin() {
+      return globalThis[globalOrigin];
+    }
+    function setGlobalOrigin(newOrigin) {
+      if (newOrigin === void 0) {
+        Object.defineProperty(globalThis, globalOrigin, {
+          value: void 0,
+          writable: true,
+          enumerable: false,
+          configurable: false
+        });
+        return;
+      }
+      const parsedURL = new URL(newOrigin);
+      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
+        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
+      }
+      Object.defineProperty(globalThis, globalOrigin, {
+        value: parsedURL,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
+    }
+    module2.exports = {
+      getGlobalOrigin,
+      setGlobalOrigin
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js
+var require_data_url2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var encoder = new TextEncoder();
+    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+\-.^_|~A-Za-z0-9]+$/;
+    var HTTP_WHITESPACE_REGEX = /[\u000A\u000D\u0009\u0020]/;
+    var ASCII_WHITESPACE_REPLACE_REGEX = /[\u0009\u000A\u000C\u000D\u0020]/g;
+    var HTTP_QUOTED_STRING_TOKENS = /^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;
+    function dataURLProcessor(dataURL) {
+      assert(dataURL.protocol === "data:");
+      let input = URLSerializer(dataURL, true);
+      input = input.slice(5);
+      const position = { position: 0 };
+      let mimeType = collectASequenceOfCodePointsFast(
+        ",",
+        input,
+        position
+      );
+      const mimeTypeLength = mimeType.length;
+      mimeType = removeASCIIWhitespace(mimeType, true, true);
+      if (position.position >= input.length) {
+        return "failure";
+      }
+      position.position++;
+      const encodedBody = input.slice(mimeTypeLength + 1);
+      let body = stringPercentDecode(encodedBody);
+      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
+        const stringBody = isomorphicDecode(body);
+        body = forgivingBase64(stringBody);
+        if (body === "failure") {
+          return "failure";
+        }
+        mimeType = mimeType.slice(0, -6);
+        mimeType = mimeType.replace(/(\u0020)+$/, "");
+        mimeType = mimeType.slice(0, -1);
+      }
+      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 };
+    }
+    function URLSerializer(url, excludeFragment = false) {
+      if (!excludeFragment) {
+        return url.href;
+      }
+      const href = url.href;
+      const hashLength = url.hash.length;
+      const serialized = hashLength === 0 ? href : href.substring(0, href.length - hashLength);
+      if (!hashLength && href.endsWith("#")) {
+        return serialized.slice(0, -1);
+      }
+      return serialized;
+    }
+    function collectASequenceOfCodePoints(condition, input, position) {
+      let result = "";
+      while (position.position < input.length && condition(input[position.position])) {
+        result += input[position.position];
+        position.position++;
+      }
+      return result;
+    }
+    function collectASequenceOfCodePointsFast(char, input, position) {
+      const idx = input.indexOf(char, position.position);
+      const start = position.position;
+      if (idx === -1) {
+        position.position = input.length;
+        return input.slice(start);
+      }
+      position.position = idx;
+      return input.slice(start, position.position);
+    }
+    function stringPercentDecode(input) {
+      const bytes = encoder.encode(input);
+      return percentDecode(bytes);
+    }
+    function isHexCharByte(byte) {
+      return byte >= 48 && byte <= 57 || byte >= 65 && byte <= 70 || byte >= 97 && byte <= 102;
+    }
+    function hexByteToNumber(byte) {
+      return (
+        // 0-9
+        byte >= 48 && byte <= 57 ? byte - 48 : (byte & 223) - 55
+      );
+    }
+    function 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);
+    }
+    function parseMIMEType(input) {
+      input = removeHTTPWhitespace(input, true, true);
+      const position = { position: 0 };
+      const type2 = collectASequenceOfCodePointsFast(
+        "/",
+        input,
+        position
+      );
+      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
+        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 = type2.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;
+    }
+    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);
+    }
+    function collectAnHTTPQuotedString(input, position, extractValue) {
+      const positionStart = position.position;
+      let value = "";
+      assert(input[position.position] === '"');
+      position.position++;
+      while (true) {
+        value += collectASequenceOfCodePoints(
+          (char) => char !== '"' && char !== "\\",
+          input,
+          position
+        );
+        if (position.position >= input.length) {
+          break;
+        }
+        const quoteOrBackslash = input[position.position];
+        position.position++;
+        if (quoteOrBackslash === "\\") {
+          if (position.position >= input.length) {
+            value += "\\";
+            break;
+          }
+          value += input[position.position];
+          position.position++;
+        } else {
+          assert(quoteOrBackslash === '"');
+          break;
+        }
+      }
+      if (extractValue) {
+        return value;
+      }
+      return input.slice(positionStart, position.position);
+    }
+    function serializeAMimeType(mimeType) {
+      assert(mimeType !== "failure");
+      const { parameters, essence } = mimeType;
+      let serialization = essence;
+      for (let [name, value] of parameters.entries()) {
+        serialization += ";";
+        serialization += name;
+        serialization += "=";
+        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
+          value = value.replace(/(\\|")/g, "\\$1");
+          value = '"' + value;
+          value += '"';
+        }
+        serialization += value;
+      }
+      return serialization;
+    }
+    function isHTTPWhiteSpace(char) {
+      return char === 13 || char === 10 || char === 9 || char === 32;
+    }
+    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isHTTPWhiteSpace);
+    }
+    function isASCIIWhitespace(char) {
+      return char === 13 || char === 10 || char === 9 || char === 12 || char === 32;
+    }
+    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isASCIIWhitespace);
+    }
+    function removeChars(str2, leading, trailing, predicate) {
+      let lead = 0;
+      let trail = str2.length - 1;
+      if (leading) {
+        while (lead < str2.length && predicate(str2.charCodeAt(lead))) lead++;
+      }
+      if (trailing) {
+        while (trail > 0 && predicate(str2.charCodeAt(trail))) trail--;
+      }
+      return lead === 0 && trail === str2.length - 1 ? str2 : str2.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/node_modules/undici/lib/web/fetch/webidl.js
+var require_webidl2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/webidl.js"(exports2, module2) {
+    "use strict";
+    var { types, inspect } = require("node:util");
+    var { markAsUncloneable } = require("node:worker_threads");
+    var { toUSVString } = require_util9();
+    var webidl = {};
+    webidl.converters = {};
+    webidl.util = {};
+    webidl.errors = {};
+    webidl.errors.exception = function(message) {
+      return new TypeError(`${message.header}: ${message.message}`);
+    };
+    webidl.errors.conversionFailed = function(context2) {
+      const plural = context2.types.length === 1 ? "" : " one of";
+      const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`;
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message
+      });
+    };
+    webidl.errors.invalidArgument = function(context2) {
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message: `"${context2.value}" is an invalid ${context2.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";
+        }
+      }
+    };
+    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;
+      }
+      if (!Number.isNaN(x) && opts?.clamp === true) {
+        x = Math.min(Math.max(x, lowerBound), upperBound);
+        if (Math.floor(x) % 2 === 0) {
+          x = Math.floor(x);
+        } else {
+          x = Math.ceil(x);
+        }
+        return x;
+      }
+      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 type2 = webidl.util.Type(V);
+      switch (type2) {
+        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.`
+          });
+        }
+        const method = typeof Iterable === "function" ? Iterable() : V?.[Symbol.iterator]?.();
+        const seq2 = [];
+        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;
+          }
+          seq2.push(converter(value, prefix, `${argument}[${index++}]`));
+        }
+        return seq2;
+      };
+    };
+    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 type2 = webidl.util.Type(dictionary);
+        const dict = {};
+        if (type2 === "Null" || type2 === "Undefined") {
+          return dict;
+        } else if (type2 !== "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);
+    };
+    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/@actions/github/node_modules/undici/lib/web/fetch/util.js
+var require_util10 = __commonJS({
+  "node_modules/@actions/github/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_constants8();
+    var { getGlobalOrigin } = require_global3();
+    var { collectASequenceOfCodePoints, collectAnHTTPQuotedString, removeChars, parseMIMEType } = require_data_url2();
+    var { performance: performance2 } = require("node:perf_hooks");
+    var { isBlobLike, ReadableStreamFrom, isValidHTTPToken, normalizedMethodRecordsBase } = require_util9();
+    var assert = require("node:assert");
+    var { isUint8Array } = require("node:util/types");
+    var { webidl } = require_webidl2();
+    var supportedHashes = [];
+    var crypto2;
+    try {
+      crypto2 = require("node:crypto");
+      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
+      supportedHashes = crypto2.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 token = policyHeader[i - 1].trim();
+          if (referrerPolicyTokens.has(token)) {
+            policy = token;
+            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(timestamp2, crossOriginIsolatedCapability) {
+      return timestamp2;
+    }
+    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":
+        // eslint-disable-line
+        /**
+           * 1. If referrerURL is a potentially trustworthy URL and
+           * request’s current URL is not a potentially trustworthy URL,
+           * then return no referrer.
+           * 2. Return referrerOrigin
+          */
+        case "no-referrer-when-downgrade":
+        // eslint-disable-line
+        /**
+         * 1. If referrerURL is a potentially trustworthy URL and
+         * request’s current URL is not a potentially trustworthy URL,
+         * then return no referrer.
+         * 2. Return referrerOrigin
+        */
+        default:
+          return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
+      }
+    }
+    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 (crypto2 === 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 = crypto2.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 token of metadata.split(" ")) {
+        empty = false;
+        const parsedToken = parseHashWithOptions.exec(token);
+        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((resolve4, reject) => {
+        res = resolve4;
+        rej = reject;
+      });
+      return { promise, resolve: res, reject: rej };
+    }
+    function isAborted(fetchParams) {
+      return fetchParams.controller.state === "aborted";
+    }
+    function isCancelled(fetchParams) {
+      return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";
+    }
+    function normalizeMethod(method) {
+      return normalizedMethodRecordsBase[method.toLowerCase()] ?? method;
+    }
+    function serializeJavascriptValueToJSONString(value) {
+      const result = JSON.stringify(value);
+      if (result === void 0) {
+        throw new TypeError("Value is not JSON serializable");
+      }
+      assert(typeof result === "string");
+      return result;
+    }
+    var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
+    function createIterator(name, kInternalIterator, keyIndex = 0, valueIndex = 1) {
+      class FastIterableIterator {
+        /** @type {any} */
+        #target;
+        /** @type {'key' | 'value' | 'key+value'} */
+        #kind;
+        /** @type {number} */
+        #index;
+        /**
+         * @see https://webidl.spec.whatwg.org/#dfn-default-iterator-object
+         * @param {unknown} target
+         * @param {'key' | 'value' | 'key+value'} kind
+         */
+        constructor(target, kind) {
+          this.#target = target;
+          this.#kind = kind;
+          this.#index = 0;
+        }
+        next() {
+          if (typeof this !== "object" || this === null || !(#target in this)) {
+            throw new TypeError(
+              `'next' called on an object that does not implement interface ${name} Iterator.`
+            );
+          }
+          const index = this.#index;
+          const values = this.#target[kInternalIterator];
+          const len = values.length;
+          if (index >= len) {
+            return {
+              value: void 0,
+              done: true
+            };
+          }
+          const { [keyIndex]: key, [valueIndex]: value } = values[index];
+          this.#index = index + 1;
+          let result;
+          switch (this.#kind) {
+            case "key":
+              result = key;
+              break;
+            case "value":
+              result = value;
+              break;
+            case "key+value":
+              result = [key, value];
+              break;
+          }
+          return {
+            value: result,
+            done: false
+          };
+        }
+      }
+      delete FastIterableIterator.prototype.constructor;
+      Object.setPrototypeOf(FastIterableIterator.prototype, esIteratorPrototype);
+      Object.defineProperties(FastIterableIterator.prototype, {
+        [Symbol.toStringTag]: {
+          writable: false,
+          enumerable: false,
+          configurable: true,
+          value: `${name} Iterator`
+        },
+        next: { writable: true, enumerable: true, configurable: true }
+      });
+      return function(target, kind) {
+        return new FastIterableIterator(target, kind);
+      };
+    }
+    function iteratorMixin(name, object, kInternalIterator, keyIndex = 0, valueIndex = 1) {
+      const makeIterator = createIterator(name, kInternalIterator, keyIndex, valueIndex);
+      const properties = {
+        keys: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function keys() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "key");
+          }
+        },
+        values: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function values() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "value");
+          }
+        },
+        entries: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function entries() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "key+value");
+          }
+        },
+        forEach: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function forEach(callbackfn, thisArg = globalThis) {
+            webidl.brandCheck(this, object);
+            webidl.argumentLengthCheck(arguments, 1, `${name}.forEach`);
+            if (typeof callbackfn !== "function") {
+              throw new TypeError(
+                `Failed to execute 'forEach' on '${name}': parameter 1 is not of type 'Function'.`
+              );
+            }
+            for (const { 0: key, 1: value } of makeIterator(this, "key+value")) {
+              callbackfn.call(thisArg, value, key, this);
+            }
+          }
+        }
+      };
+      return Object.defineProperties(object.prototype, {
+        ...properties,
+        [Symbol.iterator]: {
+          writable: true,
+          enumerable: false,
+          configurable: true,
+          value: properties.entries.value
+        }
+      });
+    }
+    async function fullyReadBody(body, processBody, processBodyError) {
+      const successSteps = processBody;
+      const errorSteps = processBodyError;
+      let reader;
+      try {
+        reader = body.stream.getReader();
+      } catch (e) {
+        errorSteps(e);
+        return;
+      }
+      try {
+        successSteps(await readAllBytes(reader));
+      } catch (e) {
+        errorSteps(e);
+      }
+    }
+    function isReadableStreamLike(stream) {
+      return stream instanceof ReadableStream || stream[Symbol.toStringTag] === "ReadableStream" && typeof stream.tee === "function";
+    }
+    function readableStreamClose(controller) {
+      try {
+        controller.close();
+        controller.byobRequest?.respond(0);
+      } catch (err) {
+        if (!err.message.includes("Controller is already closed") && !err.message.includes("ReadableStream is already closed")) {
+          throw err;
+        }
+      }
+    }
+    var invalidIsomorphicEncodeValueRegex = /[^\x00-\xFF]/;
+    function isomorphicEncode(input) {
+      assert(!invalidIsomorphicEncodeValueRegex.test(input));
+      return input;
+    }
+    async function readAllBytes(reader) {
+      const bytes = [];
+      let byteLength = 0;
+      while (true) {
+        const { done, value: chunk } = await reader.read();
+        if (done) {
+          return Buffer.concat(bytes, byteLength);
+        }
+        if (!isUint8Array(chunk)) {
+          throw new TypeError("Received non-Uint8Array chunk");
+        }
+        bytes.push(chunk);
+        byteLength += chunk.length;
+      }
+    }
+    function urlIsLocal(url) {
+      assert("protocol" in url);
+      const protocol = url.protocol;
+      return protocol === "about:" || protocol === "blob:" || protocol === "data:";
+    }
+    function urlHasHttpsScheme(url) {
+      return typeof url === "string" && url[5] === ":" && url[0] === "h" && url[1] === "t" && url[2] === "t" && url[3] === "p" && url[4] === "s" || url.protocol === "https:";
+    }
+    function urlIsHttpHttpsScheme(url) {
+      assert("protocol" in url);
+      const protocol = url.protocol;
+      return protocol === "http:" || protocol === "https:";
+    }
+    function simpleRangeHeaderValue(value, allowWhitespace) {
+      const data = value;
+      if (!data.startsWith("bytes")) {
+        return "failure";
+      }
+      const position = { position: 5 };
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      if (data.charCodeAt(position.position) !== 61) {
+        return "failure";
+      }
+      position.position++;
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      const rangeStart = collectASequenceOfCodePoints(
+        (char) => {
+          const code = char.charCodeAt(0);
+          return code >= 48 && code <= 57;
+        },
+        data,
+        position
+      );
+      const rangeStartValue = rangeStart.length ? Number(rangeStart) : null;
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      if (data.charCodeAt(position.position) !== 45) {
+        return "failure";
+      }
+      position.position++;
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      const rangeEnd = collectASequenceOfCodePoints(
+        (char) => {
+          const code = char.charCodeAt(0);
+          return code >= 48 && code <= 57;
+        },
+        data,
+        position
+      );
+      const rangeEndValue = rangeEnd.length ? Number(rangeEnd) : null;
+      if (position.position < data.length) {
+        return "failure";
+      }
+      if (rangeEndValue === null && rangeStartValue === null) {
+        return "failure";
+      }
+      if (rangeStartValue > rangeEndValue) {
+        return "failure";
+      }
+      return { rangeStartValue, rangeEndValue };
+    }
+    function buildContentRange(rangeStart, rangeEnd, fullLength) {
+      let contentRange = "bytes ";
+      contentRange += isomorphicEncode(`${rangeStart}`);
+      contentRange += "-";
+      contentRange += isomorphicEncode(`${rangeEnd}`);
+      contentRange += "/";
+      contentRange += isomorphicEncode(`${fullLength}`);
+      return contentRange;
+    }
+    var InflateStream = class extends Transform {
+      #zlibOptions;
+      /** @param {zlib.ZlibOptions} [zlibOptions] */
+      constructor(zlibOptions) {
+        super();
+        this.#zlibOptions = zlibOptions;
+      }
+      _transform(chunk, encoding, callback) {
+        if (!this._inflateStream) {
+          if (chunk.length === 0) {
+            callback();
+            return;
+          }
+          this._inflateStream = (chunk[0] & 15) === 8 ? zlib.createInflate(this.#zlibOptions) : zlib.createInflateRaw(this.#zlibOptions);
+          this._inflateStream.on("data", this.push.bind(this));
+          this._inflateStream.on("end", () => this.push(null));
+          this._inflateStream.on("error", (err) => this.destroy(err));
+        }
+        this._inflateStream.write(chunk, encoding, callback);
+      }
+      _final(callback) {
+        if (this._inflateStream) {
+          this._inflateStream.end();
+          this._inflateStream = null;
+        }
+        callback();
+      }
+    };
+    function createInflate(zlibOptions) {
+      return new InflateStream(zlibOptions);
+    }
+    function extractMimeType(headers) {
+      let charset = null;
+      let essence = null;
+      let mimeType = null;
+      const values = getDecodeSplit("content-type", headers);
+      if (values === null) {
+        return "failure";
+      }
+      for (const value of values) {
+        const temporaryMimeType = parseMIMEType(value);
+        if (temporaryMimeType === "failure" || temporaryMimeType.essence === "*/*") {
+          continue;
+        }
+        mimeType = temporaryMimeType;
+        if (mimeType.essence !== essence) {
+          charset = null;
+          if (mimeType.parameters.has("charset")) {
+            charset = mimeType.parameters.get("charset");
+          }
+          essence = mimeType.essence;
+        } else if (!mimeType.parameters.has("charset") && charset !== null) {
+          mimeType.parameters.set("charset", charset);
+        }
+      }
+      if (mimeType == null) {
+        return "failure";
+      }
+      return mimeType;
+    }
+    function gettingDecodingSplitting(value) {
+      const input = value;
+      const position = { position: 0 };
+      const values = [];
+      let temporaryValue = "";
+      while (position.position < input.length) {
+        temporaryValue += collectASequenceOfCodePoints(
+          (char) => char !== '"' && char !== ",",
+          input,
+          position
+        );
+        if (position.position < input.length) {
+          if (input.charCodeAt(position.position) === 34) {
+            temporaryValue += collectAnHTTPQuotedString(
+              input,
+              position
+            );
+            if (position.position < input.length) {
+              continue;
+            }
+          } else {
+            assert(input.charCodeAt(position.position) === 44);
+            position.position++;
+          }
+        }
+        temporaryValue = removeChars(temporaryValue, true, true, (char) => char === 9 || char === 32);
+        values.push(temporaryValue);
+        temporaryValue = "";
+      }
+      return values;
+    }
+    function getDecodeSplit(name, list) {
+      const value = list.get(name, true);
+      if (value === null) {
+        return null;
+      }
+      return gettingDecodingSplitting(value);
+    }
+    var textDecoder = new TextDecoder();
+    function utf8DecodeBytes(buffer) {
+      if (buffer.length === 0) {
+        return "";
+      }
+      if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
+        buffer = buffer.subarray(3);
+      }
+      const output = textDecoder.decode(buffer);
+      return output;
+    }
+    var EnvironmentSettingsObjectBase = class {
+      get baseUrl() {
+        return getGlobalOrigin();
+      }
+      get origin() {
+        return this.baseUrl?.origin;
+      }
+      policyContainer = makePolicyContainer();
+    };
+    var EnvironmentSettingsObject = class {
+      settingsObject = new EnvironmentSettingsObjectBase();
+    };
+    var environmentSettingsObject = new EnvironmentSettingsObject();
+    module2.exports = {
+      isAborted,
+      isCancelled,
+      isValidEncodedURL,
+      createDeferredPromise,
+      ReadableStreamFrom,
+      tryUpgradeRequestToAPotentiallyTrustworthyURL,
+      clampAndCoarsenConnectionTimingInfo,
+      coarsenedSharedCurrentTime,
+      determineRequestsReferrer,
+      makePolicyContainer,
+      clonePolicyContainer,
+      appendFetchMetadata,
+      appendRequestOriginHeader,
+      TAOCheck,
+      corsCheck,
+      crossOriginResourcePolicyCheck,
+      createOpaqueTimingInfo,
+      setRequestReferrerPolicyOnRedirect,
+      isValidHTTPToken,
+      requestBadPort,
+      requestCurrentURL,
+      responseURL,
+      responseLocationURL,
+      isBlobLike,
+      isURLPotentiallyTrustworthy,
+      isValidReasonPhrase,
+      sameOrigin,
+      normalizeMethod,
+      serializeJavascriptValueToJSONString,
+      iteratorMixin,
+      createIterator,
+      isValidHeaderName,
+      isValidHeaderValue,
+      isErrorLike,
+      fullyReadBody,
+      bytesMatch,
+      isReadableStreamLike,
+      readableStreamClose,
+      isomorphicEncode,
+      urlIsLocal,
+      urlHasHttpsScheme,
+      urlIsHttpHttpsScheme,
+      readAllBytes,
+      simpleRangeHeaderValue,
+      buildContentRange,
+      parseMetadata,
+      createInflate,
+      extractMimeType,
+      getDecodeSplit,
+      utf8DecodeBytes,
+      environmentSettingsObject
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js
+var require_symbols7 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kUrl: /* @__PURE__ */ Symbol("url"),
+      kHeaders: /* @__PURE__ */ Symbol("headers"),
+      kSignal: /* @__PURE__ */ Symbol("signal"),
+      kState: /* @__PURE__ */ Symbol("state"),
+      kDispatcher: /* @__PURE__ */ Symbol("dispatcher")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js
+var require_file2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js"(exports2, module2) {
+    "use strict";
+    var { Blob: Blob2, File: File2 } = require("node:buffer");
+    var { kState } = require_symbols7();
+    var { webidl } = require_webidl2();
+    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 File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
+    }
+    module2.exports = { FileLike, isFileLike };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js
+var require_formdata2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js"(exports2, module2) {
+    "use strict";
+    var { isBlobLike, iteratorMixin } = require_util10();
+    var { kState } = require_symbols7();
+    var { kEnumerableProperty } = require_util9();
+    var { FileLike, isFileLike } = require_file2();
+    var { webidl } = require_webidl2();
+    var { File: NativeFile } = require("node:buffer");
+    var nodeUtil = require("node:util");
+    var File2 = globalThis.File ?? NativeFile;
+    var FormData2 = 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", FormData2, kState, "name", "value");
+    Object.defineProperties(FormData2.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 File2([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 File2([value], filename, options) : new FileLike(value, filename, options);
+        }
+      }
+      return { name, value };
+    }
+    module2.exports = { FormData: FormData2, makeEntry };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js
+var require_formdata_parser2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js"(exports2, module2) {
+    "use strict";
+    var { isUSVString, bufferToLowerCasedHeaderName } = require_util9();
+    var { utf8DecodeBytes } = require_util10();
+    var { HTTP_TOKEN_CODEPOINTS, isomorphicDecode } = require_data_url2();
+    var { isFileLike } = require_file2();
+    var { makeEntry } = require_formdata2();
+    var assert = require("node:assert");
+    var { File: NodeFile } = require("node:buffer");
+    var File2 = globalThis.File ?? NodeFile;
+    var formDataNameBuffer = Buffer.from('form-data; name="');
+    var filenameBuffer = Buffer.from("; filename");
+    var dd = Buffer.from("--");
+    var ddcrlf = Buffer.from("--\r\n");
+    function isAsciiString(chars) {
+      for (let i = 0; i < chars.length; ++i) {
+        if ((chars.charCodeAt(i) & ~127) !== 0) {
+          return false;
+        }
+      }
+      return true;
+    }
+    function validateBoundary(boundary) {
+      const length = boundary.length;
+      if (length < 27 || length > 70) {
+        return false;
+      }
+      for (let i = 0; i < length; ++i) {
+        const cp = boundary.charCodeAt(i);
+        if (!(cp >= 48 && cp <= 57 || cp >= 65 && cp <= 90 || cp >= 97 && cp <= 122 || cp === 39 || cp === 45 || cp === 95)) {
+          return false;
+        }
+      }
+      return true;
+    }
+    function multipartFormDataParser(input, mimeType) {
+      assert(mimeType !== "failure" && mimeType.essence === "multipart/form-data");
+      const boundaryString = mimeType.parameters.get("boundary");
+      if (boundaryString === void 0) {
+        return "failure";
+      }
+      const boundary = Buffer.from(`--${boundaryString}`, "utf8");
+      const entryList = [];
+      const position = { position: 0 };
+      while (input[position.position] === 13 && input[position.position + 1] === 10) {
+        position.position += 2;
+      }
+      let trailing = input.length;
+      while (input[trailing - 1] === 10 && input[trailing - 2] === 13) {
+        trailing -= 2;
+      }
+      if (trailing !== input.length) {
+        input = input.subarray(0, trailing);
+      }
+      while (true) {
+        if (input.subarray(position.position, position.position + boundary.length).equals(boundary)) {
+          position.position += boundary.length;
+        } else {
+          return "failure";
+        }
+        if (position.position === input.length - 2 && bufferStartsWith(input, dd, position) || position.position === input.length - 4 && bufferStartsWith(input, ddcrlf, position)) {
+          return entryList;
+        }
+        if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
+          return "failure";
+        }
+        position.position += 2;
+        const result = parseMultipartFormDataHeaders(input, position);
+        if (result === "failure") {
+          return "failure";
+        }
+        let { name, filename, contentType, encoding } = result;
+        position.position += 2;
+        let body;
+        {
+          const boundaryIndex = input.indexOf(boundary.subarray(2), position.position);
+          if (boundaryIndex === -1) {
+            return "failure";
+          }
+          body = input.subarray(position.position, boundaryIndex - 4);
+          position.position += body.length;
+          if (encoding === "base64") {
+            body = Buffer.from(body.toString(), "base64");
+          }
+        }
+        if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
+          return "failure";
+        } else {
+          position.position += 2;
+        }
+        let value;
+        if (filename !== null) {
+          contentType ??= "text/plain";
+          if (!isAsciiString(contentType)) {
+            contentType = "";
+          }
+          value = new File2([body], filename, { type: contentType });
+        } else {
+          value = utf8DecodeBytes(Buffer.from(body));
+        }
+        assert(isUSVString(name));
+        assert(typeof value === "string" && isUSVString(value) || isFileLike(value));
+        entryList.push(makeEntry(name, value, filename));
+      }
+    }
+    function parseMultipartFormDataHeaders(input, position) {
+      let name = null;
+      let filename = null;
+      let contentType = null;
+      let encoding = null;
+      while (true) {
+        if (input[position.position] === 13 && input[position.position + 1] === 10) {
+          if (name === null) {
+            return "failure";
+          }
+          return { name, filename, contentType, encoding };
+        }
+        let headerName = collectASequenceOfBytes(
+          (char) => char !== 10 && char !== 13 && char !== 58,
+          input,
+          position
+        );
+        headerName = removeChars(headerName, true, true, (char) => char === 9 || char === 32);
+        if (!HTTP_TOKEN_CODEPOINTS.test(headerName.toString())) {
+          return "failure";
+        }
+        if (input[position.position] !== 58) {
+          return "failure";
+        }
+        position.position++;
+        collectASequenceOfBytes(
+          (char) => char === 32 || char === 9,
+          input,
+          position
+        );
+        switch (bufferToLowerCasedHeaderName(headerName)) {
+          case "content-disposition": {
+            name = filename = null;
+            if (!bufferStartsWith(input, formDataNameBuffer, position)) {
+              return "failure";
+            }
+            position.position += 17;
+            name = parseMultipartFormDataName(input, position);
+            if (name === null) {
+              return "failure";
+            }
+            if (bufferStartsWith(input, filenameBuffer, position)) {
+              let check = position.position + filenameBuffer.length;
+              if (input[check] === 42) {
+                position.position += 1;
+                check += 1;
+              }
+              if (input[check] !== 61 || input[check + 1] !== 34) {
+                return "failure";
+              }
+              position.position += 12;
+              filename = parseMultipartFormDataName(input, position);
+              if (filename === null) {
+                return "failure";
+              }
+            }
+            break;
+          }
+          case "content-type": {
+            let headerValue = collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+            headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
+            contentType = isomorphicDecode(headerValue);
+            break;
+          }
+          case "content-transfer-encoding": {
+            let headerValue = collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+            headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
+            encoding = isomorphicDecode(headerValue);
+            break;
+          }
+          default: {
+            collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+          }
+        }
+        if (input[position.position] !== 13 && input[position.position + 1] !== 10) {
+          return "failure";
+        } else {
+          position.position += 2;
+        }
+      }
+    }
+    function parseMultipartFormDataName(input, position) {
+      assert(input[position.position - 1] === 34);
+      let name = collectASequenceOfBytes(
+        (char) => char !== 10 && char !== 13 && char !== 34,
+        input,
+        position
+      );
+      if (input[position.position] !== 34) {
+        return null;
+      } else {
+        position.position++;
+      }
+      name = new TextDecoder().decode(name).replace(/%0A/ig, "\n").replace(/%0D/ig, "\r").replace(/%22/g, '"');
+      return name;
+    }
+    function collectASequenceOfBytes(condition, input, position) {
+      let start = position.position;
+      while (start < input.length && condition(input[start])) {
+        ++start;
+      }
+      return input.subarray(position.position, position.position = start);
+    }
+    function removeChars(buf, leading, trailing, predicate) {
+      let lead = 0;
+      let trail = buf.length - 1;
+      if (leading) {
+        while (lead < buf.length && predicate(buf[lead])) lead++;
+      }
+      if (trailing) {
+        while (trail > 0 && predicate(buf[trail])) trail--;
+      }
+      return lead === 0 && trail === buf.length - 1 ? buf : buf.subarray(lead, trail + 1);
+    }
+    function bufferStartsWith(buffer, start, position) {
+      if (buffer.length < start.length) {
+        return false;
+      }
+      for (let i = 0; i < start.length; i++) {
+        if (start[i] !== buffer[position.position + i]) {
+          return false;
+        }
+      }
+      return true;
+    }
+    module2.exports = {
+      multipartFormDataParser,
+      validateBoundary
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js
+var require_body2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js"(exports2, module2) {
+    "use strict";
+    var util = require_util9();
+    var {
+      ReadableStreamFrom,
+      isBlobLike,
+      isReadableStreamLike,
+      readableStreamClose,
+      createDeferredPromise,
+      fullyReadBody,
+      extractMimeType,
+      utf8DecodeBytes
+    } = require_util10();
+    var { FormData: FormData2 } = require_formdata2();
+    var { kState } = require_symbols7();
+    var { webidl } = require_webidl2();
+    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_url2();
+    var { multipartFormDataParser } = require_formdata_parser2();
+    var random;
+    try {
+      const crypto2 = require("node:crypto");
+      random = (max) => crypto2.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 type2 = null;
+      if (typeof object === "string") {
+        source = object;
+        type2 = "text/plain;charset=UTF-8";
+      } else if (object instanceof URLSearchParams) {
+        source = object.toString();
+        type2 = "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 = (str2) => str2.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;
+            }
+          }
+        };
+        type2 = `multipart/form-data; boundary=${boundary}`;
+      } else if (isBlobLike(object)) {
+        source = object;
+        length = object.size;
+        if (object.type) {
+          type2 = object.type;
+        }
+      } else if (typeof object[Symbol.asyncIterator] === "function") {
+        if (keepalive) {
+          throw new TypeError("keepalive");
+        }
+        if (util.isDisturbed(object) || object.locked) {
+          throw new TypeError(
+            "Response body object should not be disturbed or locked"
+          );
+        }
+        stream = object instanceof ReadableStream ? object : ReadableStreamFrom(object);
+      }
+      if (typeof source === "string" || util.isBuffer(source)) {
+        length = Buffer.byteLength(source);
+      }
+      if (action != null) {
+        let iterator2;
+        stream = new ReadableStream({
+          async start() {
+            iterator2 = action(object)[Symbol.asyncIterator]();
+          },
+          async pull(controller) {
+            const { value, done } = await iterator2.next();
+            if (done) {
+              queueMicrotask(() => {
+                controller.close();
+                controller.byobRequest?.respond(0);
+              });
+            } else {
+              if (!isErrored(stream)) {
+                const buffer = new Uint8Array(value);
+                if (buffer.byteLength) {
+                  controller.enqueue(buffer);
+                }
+              }
+            }
+            return controller.desiredSize > 0;
+          },
+          async cancel(reason) {
+            await iterator2.return();
+          },
+          type: "bytes"
+        });
+      }
+      const body = { stream, source, length };
+      return [body, type2];
+    }
+    function safelyExtractBody(object, keepalive = false) {
+      if (object instanceof ReadableStream) {
+        assert(!util.isDisturbed(object), "The body has already been consumed.");
+        assert(!object.locked, "The stream is locked.");
+      }
+      return extractBody(object, keepalive);
+    }
+    function cloneBody(instance, body) {
+      const [out1, out2] = body.stream.tee();
+      body.stream = out1;
+      return {
+        stream: out2,
+        length: body.length,
+        source: body.source
+      };
+    }
+    function throwIfAborted(state) {
+      if (state.aborted) {
+        throw new DOMException("The operation was aborted.", "AbortError");
+      }
+    }
+    function bodyMixinMethods(instance) {
+      const methods = {
+        blob() {
+          return consumeBody(this, (bytes) => {
+            let mimeType = bodyMimeType(this);
+            if (mimeType === null) {
+              mimeType = "";
+            } else if (mimeType) {
+              mimeType = serializeAMimeType(mimeType);
+            }
+            return new Blob2([bytes], { type: mimeType });
+          }, instance);
+        },
+        arrayBuffer() {
+          return consumeBody(this, (bytes) => {
+            return new Uint8Array(bytes).buffer;
+          }, instance);
+        },
+        text() {
+          return consumeBody(this, utf8DecodeBytes, instance);
+        },
+        json() {
+          return consumeBody(this, parseJSONFromBytes, instance);
+        },
+        formData() {
+          return consumeBody(this, (value) => {
+            const mimeType = bodyMimeType(this);
+            if (mimeType !== null) {
+              switch (mimeType.essence) {
+                case "multipart/form-data": {
+                  const parsed = multipartFormDataParser(value, mimeType);
+                  if (parsed === "failure") {
+                    throw new TypeError("Failed to parse body as FormData.");
+                  }
+                  const fd = new FormData2();
+                  fd[kState] = parsed;
+                  return fd;
+                }
+                case "application/x-www-form-urlencoded": {
+                  const entries = new URLSearchParams(value.toString());
+                  const fd = new FormData2();
+                  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 = (error3) => promise.reject(error3);
+      const successSteps = (data) => {
+        try {
+          promise.resolve(convertBytesToJSValue(data));
+        } catch (e) {
+          errorSteps(e);
+        }
+      };
+      if (object[kState].body == null) {
+        successSteps(Buffer.allocUnsafe(0));
+        return promise.promise;
+      }
+      await fullyReadBody(object[kState].body, successSteps, errorSteps);
+      return promise.promise;
+    }
+    function bodyUnusable(object) {
+      const body = object[kState].body;
+      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
+    }
+    function parseJSONFromBytes(bytes) {
+      return JSON.parse(utf8DecodeBytes(bytes));
+    }
+    function bodyMimeType(requestOrResponse) {
+      const headers = requestOrResponse[kState].headersList;
+      const mimeType = extractMimeType(headers);
+      if (mimeType === "failure") {
+        return null;
+      }
+      return mimeType;
+    }
+    module2.exports = {
+      extractBody,
+      safelyExtractBody,
+      cloneBody,
+      mixinBody,
+      streamRegistry,
+      hasFinalizationRegistry,
+      bodyUnusable
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js
+var require_client_h12 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var util = require_util9();
+    var { channels } = require_diagnostics2();
+    var timers = require_timers2();
+    var {
+      RequestContentLengthMismatchError,
+      ResponseContentLengthMismatchError,
+      RequestAbortedError,
+      HeadersTimeoutError,
+      HeadersOverflowError,
+      SocketError,
+      InformationalError,
+      BodyTimeoutError,
+      HTTPParserError,
+      ResponseExceededMaxSizeError
+    } = require_errors2();
+    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_symbols6();
+    var constants = require_constants7();
+    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_wasm2() : void 0;
+      let mod;
+      try {
+        mod = await WebAssembly.compile(require_llhttp_simd_wasm2());
+      } catch (e) {
+        mod = await WebAssembly.compile(llhttpWasmData || require_llhttp_wasm2());
+      }
+      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(delay2, type2) {
+        if (delay2 !== this.timeoutValue || type2 & USE_FAST_TIMER ^ this.timeoutType & USE_FAST_TIMER) {
+          if (this.timeout) {
+            timers.clearTimeout(this.timeout);
+            this.timeout = null;
+          }
+          if (delay2) {
+            if (type2 & USE_FAST_TIMER) {
+              this.timeout = timers.setFastTimeout(onParserTimeout, delay2, new WeakRef(this));
+            } else {
+              this.timeout = setTimeout(onParserTimeout, delay2, new WeakRef(this));
+              this.timeout.unref();
+            }
+          }
+          this.timeoutValue = delay2;
+        } else if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
+        }
+        this.timeoutType = type2;
+      }
+      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]();
+        }
+      }
     };
-    webidl.errors.conversionFailed = function(context2) {
-      const plural = context2.types.length === 1 ? "" : " one of";
-      const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`;
-      return webidl.errors.exception({
-        header: context2.prefix,
-        message
+    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);
       });
-    };
-    webidl.errors.invalidArgument = function(context2) {
-      return webidl.errors.exception({
-        header: context2.prefix,
-        message: `"${context2.value}" is an invalid ${context2.type}.`
+      addListener(socket, "readable", function() {
+        const parser = this[kParser];
+        if (parser) {
+          parser.readMore();
+        }
       });
-    };
-    webidl.brandCheck = function(V, I, opts = void 0) {
-      if (opts?.strict !== false && !(V instanceof I)) {
-        throw new TypeError("Illegal invocation");
+      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: path5, host, upgrade, blocking, reset } = request2;
+      let { body, headers, contentLength } = request2;
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH" || method === "QUERY" || method === "PROPFIND" || method === "PROPPATCH";
+      if (util.isFormDataLike(body)) {
+        if (!extractBody) {
+          extractBody = require_body2().extractBody;
+        }
+        const [bodyStream, contentType] = extractBody(body);
+        if (request2.contentType == null) {
+          headers.push("content-type", contentType);
+        }
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
+      } else if (util.isBlobLike(body) && request2.contentType == null && body.type) {
+        headers.push("content-type", body.type);
+      }
+      if (body && typeof body.read === "function") {
+        body.read(0);
+      }
+      const bodyLength = util.bodyLength(body);
+      contentLength = bodyLength ?? contentLength;
+      if (contentLength === null) {
+        contentLength = request2.contentLength;
+      }
+      if (contentLength === 0 && !expectsPayload) {
+        contentLength = null;
+      }
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          util.errorRequest(client, request2, new RequestContentLengthMismatchError());
+          return false;
+        }
+        process.emitWarning(new RequestContentLengthMismatchError());
+      }
+      const socket = client[kSocket];
+      const abort = (err) => {
+        if (request2.aborted || request2.completed) {
+          return;
+        }
+        util.errorRequest(client, request2, err || new RequestAbortedError());
+        util.destroy(body);
+        util.destroy(socket, new InformationalError("aborted"));
+      };
+      try {
+        request2.onConnect(abort);
+      } catch (err) {
+        util.errorRequest(client, request2, err);
+      }
+      if (request2.aborted) {
+        return false;
+      }
+      if (method === "HEAD") {
+        socket[kReset] = true;
+      }
+      if (upgrade || method === "CONNECT") {
+        socket[kReset] = true;
+      }
+      if (reset != null) {
+        socket[kReset] = reset;
+      }
+      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
+        socket[kReset] = true;
+      }
+      if (blocking) {
+        socket[kBlocking] = true;
+      }
+      let header = `${method} ${path5} HTTP/1.1\r
+`;
+      if (typeof host === "string") {
+        header += `host: ${host}\r
+`;
       } else {
-        return V?.[Symbol.toStringTag] === I.prototype[Symbol.toStringTag];
+        header += client[kHostHeader];
       }
-    };
-    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.`,
-          ...ctx
-        });
+      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";
       }
-    };
-    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";
+      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
+`;
           }
-          return "Object";
         }
       }
-    };
-    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;
+      if (channels.sendHeaders.hasSubscribers) {
+        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      }
+      if (!body || bodyLength === 0) {
+        writeBuffer(abort, null, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isBuffer(body)) {
+        writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isBlobLike(body)) {
+        if (typeof body.stream === "function") {
+          writeIterable(abort, body.stream(), client, request2, socket, contentLength, header, expectsPayload);
+        } else {
+          writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+        }
+      } else if (util.isStream(body)) {
+        writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isIterable(body)) {
+        writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else {
+        assert(false);
+      }
+      return true;
+    }
+    function writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      let finished = false;
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
+      const onData = function(chunk) {
+        if (finished) {
+          return;
+        }
+        try {
+          if (!writer.write(chunk) && this.pause) {
+            this.pause();
+          }
+        } catch (err) {
+          util.destroy(this, err);
+        }
+      };
+      const onDrain = function() {
+        if (finished) {
+          return;
+        }
+        if (body.resume) {
+          body.resume();
+        }
+      };
+      const onClose = function() {
+        queueMicrotask(() => {
+          body.removeListener("error", onFinished);
+        });
+        if (!finished) {
+          const err = new RequestAbortedError();
+          queueMicrotask(() => onFinished(err));
+        }
+      };
+      const onFinished = function(err) {
+        if (finished) {
+          return;
+        }
+        finished = true;
+        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
+        socket.off("drain", onDrain).off("error", onFinished);
+        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("close", onClose);
+        if (!err) {
+          try {
+            writer.end();
+          } catch (er) {
+            err = er;
+          }
+        }
+        writer.destroy(err);
+        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
+          util.destroy(body, err);
         } else {
-          lowerBound = Math.pow(-2, 53) + 1;
+          util.destroy(body);
         }
-      } 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;
+      };
+      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onClose);
+      if (body.resume) {
+        body.resume();
       }
-      let x = Number(V);
-      if (x === 0) {
-        x = 0;
+      socket.on("drain", onDrain).on("error", onFinished);
+      if (body.errorEmitted ?? body.errored) {
+        setImmediate(() => onFinished(body.errored));
+      } else if (body.endEmitted ?? body.readableEnded) {
+        setImmediate(() => onFinished(null));
       }
-      if (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 ${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}.`
-          });
+      if (body.closeEmitted ?? body.closed) {
+        setImmediate(onClose);
+      }
+    }
+    function writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      try {
+        if (!body) {
+          if (contentLength === 0) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
+          } else {
+            assert(contentLength === null, "no body must not have content length");
+            socket.write(`${header}\r
+`, "latin1");
+          }
+        } else if (util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          socket.cork();
+          socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+          socket.write(body);
+          socket.uncork();
+          request2.onBodySent(body);
+          if (!expectsPayload && request2.reset !== false) {
+            socket[kReset] = true;
+          }
         }
-        return x;
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      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);
+    }
+    async function writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength === body.size, "blob body must have content length");
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
         }
-        return x;
+        const buffer = Buffer.from(await body.arrayBuffer());
+        socket.cork();
+        socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+        socket.write(buffer);
+        socket.uncork();
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload && request2.reset !== false) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
-        return 0;
+    }
+    async function writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
+        }
       }
-      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);
+      const waitForDrain = () => new Promise((resolve4, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve4;
+        }
+      });
+      socket.on("close", onDrain).on("drain", onDrain);
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          if (!writer.write(chunk)) {
+            await waitForDrain();
+          }
+        }
+        writer.end();
+      } catch (err) {
+        writer.destroy(err);
+      } finally {
+        socket.off("close", onDrain).off("drain", onDrain);
       }
-      return x;
-    };
-    webidl.util.IntegerPart = function(n) {
-      const r = Math.floor(Math.abs(n));
-      if (n < 0) {
-        return -1 * r;
+    }
+    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;
       }
-      return r;
-    };
-    webidl.sequenceConverter = function(converter) {
-      return (V) => {
-        if (webidl.util.Type(V) !== "Object") {
-          throw webidl.errors.exception({
-            header: "Sequence",
-            message: `Value of type ${webidl.util.Type(V)} is not an Object.`
-          });
+      write(chunk) {
+        const { socket, request: request2, contentLength, client, bytesWritten, expectsPayload, header } = this;
+        if (socket[kError]) {
+          throw socket[kError];
         }
-        const method = V?.[Symbol.iterator]?.();
-        const seq2 = [];
-        if (method === void 0 || typeof method.next !== "function") {
-          throw webidl.errors.exception({
-            header: "Sequence",
-            message: "Object is not an iterator."
-          });
+        if (socket.destroyed) {
+          return false;
         }
-        while (true) {
-          const { done, value } = method.next();
-          if (done) {
-            break;
+        const len = Buffer.byteLength(chunk);
+        if (!len) {
+          return true;
+        }
+        if (contentLength !== null && bytesWritten + len > contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
           }
-          seq2.push(converter(value));
+          process.emitWarning(new RequestContentLengthMismatchError());
         }
-        return seq2;
-      };
-    };
-    webidl.recordConverter = function(keyConverter, valueConverter) {
-      return (O) => {
-        if (webidl.util.Type(O) !== "Object") {
-          throw webidl.errors.exception({
-            header: "Record",
-            message: `Value of type ${webidl.util.Type(O)} is not an Object.`
-          });
+        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");
+          }
         }
-        const result = {};
-        if (!types.isProxy(O)) {
-          const keys2 = Object.keys(O);
-          for (const key of keys2) {
-            const typedKey = keyConverter(key);
-            const typedValue = valueConverter(O[key]);
-            result[typedKey] = typedValue;
+        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 result;
         }
-        const keys = Reflect.ownKeys(O);
-        for (const key of keys) {
-          const desc = Reflect.getOwnPropertyDescriptor(O, key);
-          if (desc?.enumerable) {
-            const typedKey = keyConverter(key);
-            const typedValue = valueConverter(O[key]);
-            result[typedKey] = typedValue;
+        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");
         }
-        return result;
-      };
-    };
-    webidl.interfaceConverter = function(i) {
-      return (V, opts = {}) => {
-        if (opts.strict !== false && !(V instanceof i)) {
-          throw webidl.errors.exception({
-            header: i.name,
-            message: `Expected ${V} to be an instance of ${i.name}.`
-          });
+        if (contentLength !== null && bytesWritten !== contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
+          } else {
+            process.emitWarning(new RequestContentLengthMismatchError());
+          }
         }
-        return V;
-      };
+        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);
+        }
+      }
     };
-    webidl.dictionaryConverter = function(converters) {
-      return (dictionary) => {
-        const type2 = webidl.util.Type(dictionary);
-        const dict = {};
-        if (type2 === "Null" || type2 === "Undefined") {
-          return dict;
-        } else if (type2 !== "Object") {
-          throw webidl.errors.exception({
-            header: "Dictionary",
-            message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`
-          });
+    module2.exports = connectH1;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h2.js
+var require_client_h22 = __commonJS({
+  "node_modules/@actions/github/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_util9();
+    var {
+      RequestContentLengthMismatchError,
+      RequestAbortedError,
+      SocketError,
+      InformationalError
+    } = require_errors2();
+    var {
+      kUrl,
+      kReset,
+      kClient,
+      kRunning,
+      kPending,
+      kQueue,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kSocket,
+      kStrictContentLength,
+      kOnError,
+      kMaxConcurrentStreams,
+      kHTTP2Session,
+      kResume,
+      kSize,
+      kHTTPContext
+    } = require_symbols6();
+    var kOpenStreams = /* @__PURE__ */ 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));
         }
-        for (const options of converters) {
-          const { key, defaultValue, required, converter } = options;
-          if (required === true) {
-            if (!hasOwn(dictionary, key)) {
-              throw webidl.errors.exception({
-                header: "Dictionary",
-                message: `Missing required key "${key}".`
-              });
-            }
+      }
+      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);
           }
-          let value = dictionary[key];
-          const hasDefault = hasOwn(options, "defaultValue");
-          if (hasDefault && value !== null) {
-            value = value ?? defaultValue;
+        }
+      });
+      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);
           }
-          if (required || hasDefault || value !== void 0) {
-            value = converter(value);
-            if (options.allowedValues && !options.allowedValues.includes(value)) {
-              throw webidl.errors.exception({
-                header: "Dictionary",
-                message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
-              });
+        },
+        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(type2, code, id) {
+      if (id === 0) {
+        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, 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: path5, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
+      let { body } = request2;
+      if (upgrade) {
+        util.errorRequest(client, request2, new Error("Upgrade not supported for H2"));
+        return false;
+      }
+      const headers = {};
+      for (let n = 0; n < reqHeaders.length; n += 2) {
+        const key = reqHeaders[n + 0];
+        const val = reqHeaders[n + 1];
+        if (Array.isArray(val)) {
+          for (let i = 0; i < val.length; i++) {
+            if (headers[key]) {
+              headers[key] += `,${val[i]}`;
+            } else {
+              headers[key] = val[i];
             }
-            dict[key] = value;
           }
+        } else {
+          headers[key] = val;
         }
-        return dict;
-      };
-    };
-    webidl.nullableConverter = function(converter) {
-      return (V) => {
-        if (V === null) {
-          return V;
+      }
+      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);
         }
-        return converter(V);
+        util.destroy(body, err);
+        client[kQueue][client[kRunningIdx]++] = null;
+        client[kResume]();
       };
-    };
-    webidl.converters.DOMString = function(V, opts = {}) {
-      if (V === null && opts.legacyNullToEmptyString) {
-        return "";
+      try {
+        request2.onConnect(abort);
+      } catch (err) {
+        util.errorRequest(client, request2, err);
       }
-      if (typeof V === "symbol") {
-        throw new TypeError("Could not convert argument of type symbol to string.");
+      if (request2.aborted) {
+        return false;
       }
-      return String(V);
-    };
-    webidl.converters.ByteString = function(V) {
-      const x = webidl.converters.DOMString(V);
-      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.`
-          );
+      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;
+          });
         }
-      }
-      return x;
-    };
-    webidl.converters.USVString = toUSVString;
-    webidl.converters.boolean = function(V) {
-      const x = Boolean(V);
-      return x;
-    };
-    webidl.converters.any = function(V) {
-      return V;
-    };
-    webidl.converters["long long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 64, "signed");
-      return x;
-    };
-    webidl.converters["unsigned long long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 64, "unsigned");
-      return x;
-    };
-    webidl.converters["unsigned long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 32, "unsigned");
-      return x;
-    };
-    webidl.converters["unsigned short"] = function(V, opts) {
-      const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts);
-      return x;
-    };
-    webidl.converters.ArrayBuffer = function(V, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {
-        throw webidl.errors.conversionFailed({
-          prefix: `${V}`,
-          argument: `${V}`,
-          types: ["ArrayBuffer"]
-        });
-      }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
-      }
-      return V;
-    };
-    webidl.converters.TypedArray = function(V, T, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {
-        throw webidl.errors.conversionFailed({
-          prefix: `${T.name}`,
-          argument: `${V}`,
-          types: [T.name]
-        });
-      }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
-      }
-      return V;
-    };
-    webidl.converters.DataView = function(V, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {
-        throw webidl.errors.exception({
-          header: "DataView",
-          message: "Object is not a DataView."
-        });
-      }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
+        stream.once("close", () => {
+          session[kOpenStreams] -= 1;
+          if (session[kOpenStreams] === 0) session.unref();
         });
+        return true;
       }
-      return V;
-    };
-    webidl.converters.BufferSource = function(V, opts = {}) {
-      if (types.isAnyArrayBuffer(V)) {
-        return webidl.converters.ArrayBuffer(V, opts);
+      headers[HTTP2_HEADER_PATH] = path5;
+      headers[HTTP2_HEADER_SCHEME] = "https";
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
+      if (body && typeof body.read === "function") {
+        body.read(0);
       }
-      if (types.isTypedArray(V)) {
-        return webidl.converters.TypedArray(V, V.constructor);
+      let contentLength = util.bodyLength(body);
+      if (util.isFormDataLike(body)) {
+        extractBody ??= require_body2().extractBody;
+        const [bodyStream, contentType] = extractBody(body);
+        headers["content-type"] = contentType;
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
       }
-      if (types.isDataView(V)) {
-        return webidl.converters.DataView(V, opts);
+      if (contentLength == null) {
+        contentLength = request2.contentLength;
       }
-      throw new TypeError(`Could not convert ${V} to a BufferSource.`);
-    };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.ByteString
-    );
-    webidl.converters["sequence>"] = webidl.sequenceConverter(
-      webidl.converters["sequence"]
-    );
-    webidl.converters["record"] = webidl.recordConverter(
-      webidl.converters.ByteString,
-      webidl.converters.ByteString
-    );
-    module2.exports = {
-      webidl
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/dataURL.js
-var require_dataURL = __commonJS({
-  "node_modules/undici/lib/fetch/dataURL.js"(exports2, module2) {
-    var assert = require("assert");
-    var { atob: atob2 } = require("buffer");
-    var { isomorphicDecode } = require_util10();
-    var encoder = new TextEncoder();
-    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/;
-    var HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/;
-    var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/;
-    function dataURLProcessor(dataURL) {
-      assert(dataURL.protocol === "data:");
-      let input = URLSerializer(dataURL, true);
-      input = input.slice(5);
-      const position = { position: 0 };
-      let mimeType = collectASequenceOfCodePointsFast(
-        ",",
-        input,
-        position
-      );
-      const mimeTypeLength = mimeType.length;
-      mimeType = removeASCIIWhitespace(mimeType, true, true);
-      if (position.position >= input.length) {
-        return "failure";
+      if (contentLength === 0 || !expectsPayload) {
+        contentLength = null;
       }
-      position.position++;
-      const encodedBody = input.slice(mimeTypeLength + 1);
-      let body = stringPercentDecode(encodedBody);
-      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
-        const stringBody = isomorphicDecode(body);
-        body = forgivingBase64(stringBody);
-        if (body === "failure") {
-          return "failure";
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          util.errorRequest(client, request2, new RequestContentLengthMismatchError());
+          return false;
         }
-        mimeType = mimeType.slice(0, -6);
-        mimeType = mimeType.replace(/(\u0020)+$/, "");
-        mimeType = mimeType.slice(0, -1);
+        process.emitWarning(new RequestContentLengthMismatchError());
       }
-      if (mimeType.startsWith(";")) {
-        mimeType = "text/plain" + mimeType;
+      if (contentLength != null) {
+        assert(body, "no body must not have content length");
+        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
       }
-      let mimeTypeRecord = parseMIMEType(mimeType);
-      if (mimeTypeRecord === "failure") {
-        mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
+      session.ref();
+      const shouldEndStream = method === "GET" || method === "HEAD" || body === null;
+      if (expectContinue) {
+        headers[HTTP2_HEADER_EXPECT] = "100-continue";
+        stream = session.request(headers, { endStream: shouldEndStream, signal });
+        stream.once("continue", writeBodyH2);
+      } else {
+        stream = session.request(headers, {
+          endStream: shouldEndStream,
+          signal
+        });
+        writeBodyH2();
       }
-      return { mimeType: mimeTypeRecord, body };
-    }
-    function URLSerializer(url, excludeFragment = false) {
-      if (!excludeFragment) {
-        return url.href;
+      ++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", (type2, code) => {
+        abort(new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`));
+      });
+      return true;
+      function writeBodyH2() {
+        if (!body || contentLength === 0) {
+          writeBuffer(
+            abort,
+            stream,
+            null,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else if (util.isBuffer(body)) {
+          writeBuffer(
+            abort,
+            stream,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else if (util.isBlobLike(body)) {
+          if (typeof body.stream === "function") {
+            writeIterable(
+              abort,
+              stream,
+              body.stream(),
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
+          } else {
+            writeBlob(
+              abort,
+              stream,
+              body,
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
+          }
+        } else if (util.isStream(body)) {
+          writeStream(
+            abort,
+            client[kSocket],
+            expectsPayload,
+            stream,
+            body,
+            client,
+            request2,
+            contentLength
+          );
+        } else if (util.isIterable(body)) {
+          writeIterable(
+            abort,
+            stream,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else {
+          assert(false);
+        }
       }
-      const href = url.href;
-      const hashLength = url.hash.length;
-      return hashLength === 0 ? href : href.substring(0, href.length - hashLength);
     }
-    function collectASequenceOfCodePoints(condition, input, position) {
-      let result = "";
-      while (position.position < input.length && condition(input[position.position])) {
-        result += input[position.position];
-        position.position++;
+    function writeBuffer(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      try {
+        if (body != null && util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          h2stream.cork();
+          h2stream.write(body);
+          h2stream.uncork();
+          h2stream.end();
+          request2.onBodySent(body);
+        }
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (error3) {
+        abort(error3);
       }
-      return result;
     }
-    function collectASequenceOfCodePointsFast(char, input, position) {
-      const idx = input.indexOf(char, position.position);
-      const start = position.position;
-      if (idx === -1) {
-        position.position = input.length;
-        return input.slice(start);
+    function writeStream(abort, socket, expectsPayload, h2stream, body, client, request2, contentLength) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      const pipe = pipeline(
+        body,
+        h2stream,
+        (err) => {
+          if (err) {
+            util.destroy(pipe, err);
+            abort(err);
+          } else {
+            util.removeAllListeners(pipe);
+            request2.onRequestSent();
+            if (!expectsPayload) {
+              socket[kReset] = true;
+            }
+            client[kResume]();
+          }
+        }
+      );
+      util.addListener(pipe, "data", onPipeData);
+      function onPipeData(chunk) {
+        request2.onBodySent(chunk);
       }
-      position.position = idx;
-      return input.slice(start, position.position);
-    }
-    function stringPercentDecode(input) {
-      const bytes = encoder.encode(input);
-      return percentDecode(bytes);
     }
-    function percentDecode(input) {
-      const output = [];
-      for (let i = 0; i < input.length; i++) {
-        const byte = input[i];
-        if (byte !== 37) {
-          output.push(byte);
-        } else if (byte === 37 && !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i + 1], input[i + 2]))) {
-          output.push(37);
-        } else {
-          const nextTwoBytes = String.fromCharCode(input[i + 1], input[i + 2]);
-          const bytePoint = Number.parseInt(nextTwoBytes, 16);
-          output.push(bytePoint);
-          i += 2;
+    async function writeBlob(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength === body.size, "blob body must have content length");
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
+        }
+        const buffer = Buffer.from(await body.arrayBuffer());
+        h2stream.cork();
+        h2stream.write(buffer);
+        h2stream.uncork();
+        h2stream.end();
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
         }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      return Uint8Array.from(output);
     }
-    function parseMIMEType(input) {
-      input = removeHTTPWhitespace(input, true, true);
-      const position = { position: 0 };
-      const type2 = collectASequenceOfCodePointsFast(
-        "/",
-        input,
-        position
-      );
-      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
-        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";
+    async function writeIterable(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
+        }
       }
-      const typeLowercase = type2.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;
+      const waitForDrain = () => new Promise((resolve4, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve4;
+        }
+      });
+      h2stream.on("close", onDrain).on("drain", onDrain);
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          const res = h2stream.write(chunk);
+          request2.onBodySent(chunk);
+          if (!res) {
+            await waitForDrain();
           }
-          position.position++;
         }
-        if (position.position > input.length) {
-          break;
+        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/@actions/github/node_modules/undici/lib/handler/redirect-handler.js
+var require_redirect_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js"(exports2, module2) {
+    "use strict";
+    var util = require_util9();
+    var { kBodyUsed } = require_symbols6();
+    var assert = require("node:assert");
+    var { InvalidArgumentError } = require_errors2();
+    var EE = require("node:events");
+    var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
+    var kBody = /* @__PURE__ */ Symbol("body");
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
+      }
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
+      }
+    };
+    var RedirectHandler = class {
+      constructor(dispatch, maxRedirections, opts, handler2) {
+        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
         }
-        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;
+        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 (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {
-          mimeType.parameters.set(parameterName, parameterValue);
+          if (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);
         }
       }
-      return mimeType;
-    }
-    function forgivingBase64(data) {
-      data = data.replace(/[\u0009\u000A\u000C\u000D\u0020]/g, "");
-      if (data.length % 4 === 0) {
-        data = data.replace(/=?=$/, "");
+      onConnect(abort) {
+        this.abort = abort;
+        this.handler.onConnect(abort, { history: this.history });
       }
-      if (data.length % 4 === 1) {
-        return "failure";
+      onUpgrade(statusCode, headers, socket) {
+        this.handler.onUpgrade(statusCode, headers, socket);
       }
-      if (/[^+/0-9A-Za-z]/.test(data)) {
-        return "failure";
+      onError(error3) {
+        this.handler.onError(error3);
       }
-      const binary2 = atob2(data);
-      const bytes = new Uint8Array(binary2.length);
-      for (let byte = 0; byte < binary2.length; byte++) {
-        bytes[byte] = binary2.charCodeAt(byte);
+      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 path5 = search ? `${pathname}${search}` : pathname;
+        this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
+        this.opts.path = path5;
+        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;
+        }
       }
-      return bytes;
-    }
-    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;
+      onData(chunk) {
+        if (this.location) {
+        } else {
+          return this.handler.onData(chunk);
         }
-        const quoteOrBackslash = input[position.position];
-        position.position++;
-        if (quoteOrBackslash === "\\") {
-          if (position.position >= input.length) {
-            value += "\\";
-            break;
-          }
-          value += input[position.position];
-          position.position++;
+      }
+      onComplete(trailers) {
+        if (this.location) {
+          this.location = null;
+          this.abort = null;
+          this.dispatch(this.opts, this);
         } else {
-          assert(quoteOrBackslash === '"');
-          break;
+          this.handler.onComplete(trailers);
         }
       }
-      if (extractValue) {
-        return value;
+      onBodySent(chunk) {
+        if (this.handler.onBodySent) {
+          this.handler.onBodySent(chunk);
+        }
       }
-      return input.slice(positionStart, position.position);
-    }
-    function serializeAMimeType(mimeType) {
-      assert(mimeType !== "failure");
-      const { parameters, essence } = mimeType;
-      let serialization = essence;
-      for (let [name, value] of parameters.entries()) {
-        serialization += ";";
-        serialization += name;
-        serialization += "=";
-        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
-          value = value.replace(/(\\|")/g, "\\$1");
-          value = '"' + value;
-          value += '"';
+    };
+    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];
         }
-        serialization += value;
       }
-      return serialization;
     }
-    function isHTTPWhiteSpace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === " ";
-    }
-    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
-      let lead = 0;
-      let trail = str2.length - 1;
-      if (leading) {
-        for (; lead < str2.length && isHTTPWhiteSpace(str2[lead]); lead++) ;
+    function shouldRemoveHeader(header, removeContent, unknownOrigin) {
+      if (header.length === 4) {
+        return util.headerNameToString(header) === "host";
       }
-      if (trailing) {
-        for (; trail > 0 && isHTTPWhiteSpace(str2[trail]); trail--) ;
+      if (removeContent && util.headerNameToString(header).startsWith("content-")) {
+        return true;
       }
-      return str2.slice(lead, trail + 1);
-    }
-    function isASCIIWhitespace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === "\f" || char === " ";
-    }
-    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
-      let lead = 0;
-      let trail = str2.length - 1;
-      if (leading) {
-        for (; lead < str2.length && isASCIIWhitespace(str2[lead]); lead++) ;
+      if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) {
+        const name = util.headerNameToString(header);
+        return name === "authorization" || name === "cookie" || name === "proxy-authorization";
       }
-      if (trailing) {
-        for (; trail > 0 && isASCIIWhitespace(str2[trail]); trail--) ;
+      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 str2.slice(lead, trail + 1);
+      return ret;
     }
-    module2.exports = {
-      dataURLProcessor,
-      URLSerializer,
-      collectASequenceOfCodePoints,
-      collectASequenceOfCodePointsFast,
-      stringPercentDecode,
-      parseMIMEType,
-      collectAnHTTPQuotedString,
-      serializeAMimeType
-    };
+    module2.exports = RedirectHandler;
   }
 });
 
-// node_modules/undici/lib/fetch/file.js
-var require_file2 = __commonJS({
-  "node_modules/undici/lib/fetch/file.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js
+var require_redirect_interceptor2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js"(exports2, module2) {
     "use strict";
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { types } = require("util");
-    var { kState } = require_symbols7();
-    var { isBlobLike } = require_util10();
-    var { webidl } = require_webidl2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var { kEnumerableProperty } = require_util9();
-    var encoder = new TextEncoder();
-    var File2 = class _File extends Blob2 {
-      constructor(fileBits, fileName, options = {}) {
-        webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" });
-        fileBits = webidl.converters["sequence"](fileBits);
-        fileName = webidl.converters.USVString(fileName);
-        options = webidl.converters.FilePropertyBag(options);
-        const n = fileName;
-        let t = options.type;
-        let d;
-        substep: {
-          if (t) {
-            t = parseMIMEType(t);
-            if (t === "failure") {
-              t = "";
-              break substep;
-            }
-            t = serializeAMimeType(t).toLowerCase();
+    var RedirectHandler = require_redirect_handler2();
+    function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) {
+      return (dispatch) => {
+        return function Intercept(opts, handler2) {
+          const { maxRedirections = defaultMaxRedirections } = opts;
+          if (!maxRedirections) {
+            return dispatch(opts, handler2);
           }
-          d = options.lastModified;
-        }
-        super(processBlobParts(fileBits, options), { type: t });
-        this[kState] = {
-          name: n,
-          lastModified: d,
-          type: t
+          const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler2);
+          opts = { ...opts, maxRedirections: 0 };
+          return dispatch(opts, redirectHandler);
         };
-      }
-      get name() {
-        webidl.brandCheck(this, _File);
-        return this[kState].name;
-      }
-      get lastModified() {
-        webidl.brandCheck(this, _File);
-        return this[kState].lastModified;
-      }
-      get type() {
-        webidl.brandCheck(this, _File);
-        return this[kState].type;
-      }
+      };
+    }
+    module2.exports = createRedirectInterceptor;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js
+var require_client2 = __commonJS({
+  "node_modules/@actions/github/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_util9();
+    var { channels } = require_diagnostics2();
+    var Request = require_request3();
+    var DispatcherBase = require_dispatcher_base2();
+    var {
+      InvalidArgumentError,
+      InformationalError,
+      ClientDestroyedError
+    } = require_errors2();
+    var buildConnector = require_connect2();
+    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_symbols6();
+    var connectH1 = require_client_h12();
+    var connectH2 = require_client_h22();
+    var deprecatedInterceptorWarned = false;
+    var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
+    var noop3 = () => {
     };
-    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);
+    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);
       }
-      arrayBuffer(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.arrayBuffer(...args);
+      get pipelining() {
+        return this[kPipelining];
       }
-      slice(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.slice(...args);
+      set pipelining(value) {
+        this[kPipelining] = value;
+        this[kResume](true);
       }
-      text(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.text(...args);
+      get [kPending]() {
+        return this[kQueue].length - this[kPendingIdx];
       }
-      get size() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.size;
+      get [kRunning]() {
+        return this[kPendingIdx] - this[kRunningIdx];
       }
-      get type() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.type;
+      get [kSize]() {
+        return this[kQueue].length - this[kRunningIdx];
       }
-      get name() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].name;
+      get [kConnected]() {
+        return !!this[kHTTPContext] && !this[kConnecting] && !this[kHTTPContext].destroyed;
       }
-      get lastModified() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].lastModified;
+      get [kBusy]() {
+        return Boolean(
+          this[kHTTPContext]?.busy(null) || this[kSize] >= (getPipelining(this) || 1) || this[kPending] > 0
+        );
       }
-      get [Symbol.toStringTag]() {
-        return "File";
+      /* istanbul ignore: only used for test */
+      [kConnect](cb) {
+        connect(this);
+        this.once("connect", cb);
       }
-    };
-    Object.defineProperties(File2.prototype, {
-      [Symbol.toStringTag]: {
-        value: "File",
-        configurable: true
-      },
-      name: kEnumerableProperty,
-      lastModified: kEnumerableProperty
-    });
-    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
-    webidl.converters.BlobPart = function(V, opts) {
-      if (webidl.util.Type(V) === "Object") {
-        if (isBlobLike(V)) {
-          return webidl.converters.Blob(V, { strict: false });
+      [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 (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
-          return webidl.converters.BufferSource(V, opts);
+        if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
+          this[kNeedDrain] = 2;
         }
+        return this[kNeedDrain] < 2;
       }
-      return webidl.converters.USVString(V, opts);
-    };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.BlobPart
-    );
-    webidl.converters.FilePropertyBag = webidl.dictionaryConverter([
-      {
-        key: "lastModified",
-        converter: webidl.converters["long long"],
-        get defaultValue() {
-          return Date.now();
-        }
-      },
-      {
-        key: "type",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "endings",
-        converter: (value) => {
-          value = webidl.converters.DOMString(value);
-          value = value.toLowerCase();
-          if (value !== "native") {
-            value = "transparent";
+      async [kClose]() {
+        return new Promise((resolve4) => {
+          if (this[kSize]) {
+            this[kClosedResolve] = resolve4;
+          } else {
+            resolve4(null);
           }
-          return value;
-        },
-        defaultValue: "transparent"
+        });
       }
-    ]);
-    function processBlobParts(parts, options) {
-      const bytes = [];
-      for (const element of parts) {
-        if (typeof element === "string") {
-          let s = element;
-          if (options.endings === "native") {
-            s = convertLineEndingsNative(s);
-          }
-          bytes.push(encoder.encode(s));
-        } else if (types.isAnyArrayBuffer(element) || types.isTypedArray(element)) {
-          if (!element.buffer) {
-            bytes.push(new Uint8Array(element));
+      async [kDestroy](err) {
+        return new Promise((resolve4) => {
+          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;
+            }
+            resolve4(null);
+          };
+          if (this[kHTTPContext]) {
+            this[kHTTPContext].destroy(err, callback);
+            this[kHTTPContext] = null;
           } else {
-            bytes.push(
-              new Uint8Array(element.buffer, element.byteOffset, element.byteLength)
-            );
+            queueMicrotask(callback);
           }
-        } else if (isBlobLike(element)) {
-          bytes.push(element);
+          this[kResume]();
+        });
+      }
+    };
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    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);
       }
-      return bytes;
     }
-    function convertLineEndingsNative(s) {
-      let nativeLineEnding = "\n";
-      if (process.platform === "win32") {
-        nativeLineEnding = "\r\n";
+    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;
       }
-      return s.replace(/\r?\n/g, nativeLineEnding);
-    }
-    function isFileLike(object) {
-      return NativeFile && object instanceof NativeFile || object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
-    }
-    module2.exports = { File: File2, FileLike, isFileLike };
-  }
-});
-
-// node_modules/undici/lib/fetch/formdata.js
-var require_formdata2 = __commonJS({
-  "node_modules/undici/lib/fetch/formdata.js"(exports2, module2) {
-    "use strict";
-    var { isBlobLike, toUSVString, makeIterator } = require_util10();
-    var { kState } = require_symbols7();
-    var { File: UndiciFile, FileLike, isFileLike } = require_file2();
-    var { webidl } = require_webidl2();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var File2 = NativeFile ?? UndiciFile;
-    var FormData2 = class _FormData {
-      constructor(form) {
-        if (form !== void 0) {
-          throw webidl.errors.conversionFailed({
-            prefix: "FormData constructor",
-            argument: "Argument 1",
-            types: ["undefined"]
+      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((resolve4, reject) => {
+          client[kConnector]({
+            host,
+            hostname,
+            protocol,
+            port,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          }, (err, socket2) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve4(socket2);
+            }
           });
+        });
+        if (client.destroyed) {
+          util.destroy(socket.on("error", noop3), new ClientDestroyedError());
+          return;
         }
-        this[kState] = [];
-      }
-      append(name, value, filename = void 0) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" });
-        if (arguments.length === 3 && !isBlobLike(value)) {
-          throw new TypeError(
-            "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"
-          );
+        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;
         }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0;
-        const entry = makeEntry(name, value, filename);
-        this[kState].push(entry);
-      }
-      delete(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" });
-        name = webidl.converters.USVString(name);
-        this[kState] = this[kState].filter((entry) => entry.name !== name);
-      }
-      get(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" });
-        name = webidl.converters.USVString(name);
-        const idx = this[kState].findIndex((entry) => entry.name === name);
-        if (idx === -1) {
-          return null;
+        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
+          });
         }
-        return this[kState][idx].value;
-      }
-      getAll(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" });
-        name = webidl.converters.USVString(name);
-        return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value);
-      }
-      has(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" });
-        name = webidl.converters.USVString(name);
-        return this[kState].findIndex((entry) => entry.name === name) !== -1;
-      }
-      set(name, value, filename = void 0) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" });
-        if (arguments.length === 3 && !isBlobLike(value)) {
-          throw new TypeError(
-            "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"
-          );
+        client.emit("connect", client[kUrl], [client]);
+      } catch (err) {
+        if (client.destroyed) {
+          return;
         }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? toUSVString(filename) : void 0;
-        const entry = makeEntry(name, value, filename);
-        const idx = this[kState].findIndex((entry2) => entry2.name === name);
-        if (idx !== -1) {
-          this[kState] = [
-            ...this[kState].slice(0, idx),
-            entry,
-            ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name)
-          ];
+        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 {
-          this[kState].push(entry);
+          onError(client, err);
         }
+        client.emit("connectionError", client[kUrl], [client], err);
       }
-      entries() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key+value"
-        );
-      }
-      keys() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key"
-        );
+      client[kResume]();
+    }
+    function emitDrain(client) {
+      client[kNeedDrain] = 0;
+      client.emit("drain", client[kUrl], [client]);
+    }
+    function resume(client, sync) {
+      if (client[kResuming] === 2) {
+        return;
       }
-      values() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "value"
-        );
+      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;
       }
-      /**
-       * @param {(value: string, key: string, self: FormData) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'."
-          );
+    }
+    function _resume(client, sync) {
+      while (true) {
+        if (client.destroyed) {
+          assert(client[kPending] === 0);
+          return;
         }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
+        if (client[kClosedResolve] && !client[kSize]) {
+          client[kClosedResolve]();
+          client[kClosedResolve] = null;
+          return;
         }
-      }
-    };
-    FormData2.prototype[Symbol.iterator] = FormData2.prototype.entries;
-    Object.defineProperties(FormData2.prototype, {
-      [Symbol.toStringTag]: {
-        value: "FormData",
-        configurable: true
-      }
-    });
-    function makeEntry(name, value, filename) {
-      name = Buffer.from(name).toString("utf8");
-      if (typeof value === "string") {
-        value = Buffer.from(value).toString("utf8");
-      } else {
-        if (!isFileLike(value)) {
-          value = value instanceof Blob2 ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
+        if (client[kHTTPContext]) {
+          client[kHTTPContext].resume();
         }
-        if (filename !== void 0) {
-          const options = {
-            type: value.type,
-            lastModified: value.lastModified
-          };
-          value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
+        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);
         }
       }
-      return { name, value };
     }
-    module2.exports = { FormData: FormData2 };
+    module2.exports = Client;
   }
 });
 
-// node_modules/undici/lib/fetch/body.js
-var require_body2 = __commonJS({
-  "node_modules/undici/lib/fetch/body.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/fixed-queue.js
+var require_fixed_queue2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/fixed-queue.js"(exports2, module2) {
     "use strict";
-    var Busboy = require_main();
-    var util = require_util9();
-    var {
-      ReadableStreamFrom,
-      isBlobLike,
-      isReadableStreamLike,
-      readableStreamClose,
-      createDeferredPromise,
-      fullyReadBody
-    } = require_util10();
-    var { FormData: FormData2 } = require_formdata2();
-    var { kState } = require_symbols7();
-    var { webidl } = require_webidl2();
-    var { DOMException: DOMException2, structuredClone } = require_constants7();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
-    var { isErrored } = require_util9();
-    var { isUint8Array, isArrayBuffer } = require("util/types");
-    var { File: UndiciFile } = require_file2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var random;
-    try {
-      const crypto2 = require("node:crypto");
-      random = (max) => crypto2.randomInt(0, max);
-    } catch {
-      random = (max) => Math.floor(Math.random(max));
-    }
-    var ReadableStream2 = globalThis.ReadableStream;
-    var File2 = NativeFile ?? UndiciFile;
-    var textEncoder = new TextEncoder();
-    var textDecoder = new TextDecoder();
-    function extractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+    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;
       }
-      let stream = null;
-      if (object instanceof ReadableStream2) {
-        stream = object;
-      } else if (isBlobLike(object)) {
-        stream = object.stream();
-      } else {
-        stream = new ReadableStream2({
-          async pull(controller) {
-            controller.enqueue(
-              typeof source === "string" ? textEncoder.encode(source) : source
-            );
-            queueMicrotask(() => readableStreamClose(controller));
-          },
-          start() {
-          },
-          type: void 0
-        });
+      isEmpty() {
+        return this.top === this.bottom;
       }
-      assert(isReadableStreamLike(stream));
-      let action = null;
-      let source = null;
-      let length = null;
-      let type2 = null;
-      if (typeof object === "string") {
-        source = object;
-        type2 = "text/plain;charset=UTF-8";
-      } else if (object instanceof URLSearchParams) {
-        source = object.toString();
-        type2 = "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 = (str2) => str2.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}--`);
-        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;
-            }
-          }
-        };
-        type2 = "multipart/form-data; boundary=" + boundary;
-      } else if (isBlobLike(object)) {
-        source = object;
-        length = object.size;
-        if (object.type) {
-          type2 = 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 ReadableStream2 ? object : ReadableStreamFrom(object);
+      isFull() {
+        return (this.top + 1 & kMask) === this.bottom;
       }
-      if (typeof source === "string" || util.isBuffer(source)) {
-        length = Buffer.byteLength(source);
+      push(data) {
+        this.list[this.top] = data;
+        this.top = this.top + 1 & kMask;
       }
-      if (action != null) {
-        let iterator2;
-        stream = new ReadableStream2({
-          async start() {
-            iterator2 = action(object)[Symbol.asyncIterator]();
-          },
-          async pull(controller) {
-            const { value, done } = await iterator2.next();
-            if (done) {
-              queueMicrotask(() => {
-                controller.close();
-              });
-            } else {
-              if (!isErrored(stream)) {
-                controller.enqueue(new Uint8Array(value));
-              }
-            }
-            return controller.desiredSize > 0;
-          },
-          async cancel(reason) {
-            await iterator2.return();
-          },
-          type: void 0
-        });
+      shift() {
+        const nextItem = this.list[this.bottom];
+        if (nextItem === void 0)
+          return null;
+        this.list[this.bottom] = void 0;
+        this.bottom = this.bottom + 1 & kMask;
+        return nextItem;
       }
-      const body = { stream, source, length };
-      return [body, type2];
-    }
-    function safelyExtractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+    };
+    module2.exports = class FixedQueue {
+      constructor() {
+        this.head = this.tail = new FixedCircularBuffer();
+      }
+      isEmpty() {
+        return this.head.isEmpty();
       }
-      if (object instanceof ReadableStream2) {
-        assert(!util.isDisturbed(object), "The body has already been consumed.");
-        assert(!object.locked, "The stream is locked.");
+      push(data) {
+        if (this.head.isFull()) {
+          this.head = this.head.next = new FixedCircularBuffer();
+        }
+        this.head.push(data);
       }
-      return extractBody(object, keepalive);
-    }
-    function cloneBody(body) {
-      const [out1, out2] = body.stream.tee();
-      const out2Clone = structuredClone(out2, { transfer: [out2] });
-      const [, finalClone] = out2Clone.tee();
-      body.stream = out1;
-      return {
-        stream: finalClone,
-        length: body.length,
-        source: body.source
-      };
-    }
-    async function* consumeBody(body) {
-      if (body) {
-        if (isUint8Array(body)) {
-          yield body;
-        } else {
-          const stream = body.stream;
-          if (util.isDisturbed(stream)) {
-            throw new TypeError("The body has already been consumed.");
-          }
-          if (stream.locked) {
-            throw new TypeError("The stream is locked.");
-          }
-          stream[kBodyUsed] = true;
-          yield* stream;
+      shift() {
+        const tail = this.tail;
+        const next = tail.shift();
+        if (tail.isEmpty() && tail.next !== null) {
+          this.tail = tail.next;
         }
+        return next;
       }
-    }
-    function throwIfAborted(state) {
-      if (state.aborted) {
-        throw new DOMException2("The operation was aborted.", "AbortError");
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js
+var require_pool_stats2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js"(exports2, module2) {
+    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
+    var kPool = /* @__PURE__ */ Symbol("pool");
+    var PoolStats = class {
+      constructor(pool) {
+        this[kPool] = pool;
       }
-    }
-    function bodyMixinMethods(instance) {
-      const methods = {
-        blob() {
-          return specConsumeBody(this, (bytes) => {
-            let mimeType = bodyMimeType(this);
-            if (mimeType === "failure") {
-              mimeType = "";
-            } else if (mimeType) {
-              mimeType = serializeAMimeType(mimeType);
-            }
-            return new Blob2([bytes], { type: mimeType });
-          }, instance);
-        },
-        arrayBuffer() {
-          return specConsumeBody(this, (bytes) => {
-            return new Uint8Array(bytes).buffer;
-          }, instance);
-        },
-        text() {
-          return specConsumeBody(this, utf8DecodeBytes, instance);
-        },
-        json() {
-          return specConsumeBody(this, parseJSONFromBytes, instance);
-        },
-        async formData() {
-          webidl.brandCheck(this, instance);
-          throwIfAborted(this[kState]);
-          const contentType = this.headers.get("Content-Type");
-          if (/multipart\/form-data/.test(contentType)) {
-            const headers = {};
-            for (const [key, value] of this.headers) headers[key.toLowerCase()] = value;
-            const responseFormData = new FormData2();
-            let busboy;
-            try {
-              busboy = new Busboy({
-                headers,
-                preservePath: true
-              });
-            } catch (err) {
-              throw new DOMException2(`${err}`, "AbortError");
-            }
-            busboy.on("field", (name, value) => {
-              responseFormData.append(name, value);
-            });
-            busboy.on("file", (name, value, filename, encoding, mimeType) => {
-              const chunks = [];
-              if (encoding === "base64" || encoding.toLowerCase() === "base64") {
-                let base64chunk = "";
-                value.on("data", (chunk) => {
-                  base64chunk += chunk.toString().replace(/[\r\n]/gm, "");
-                  const end = base64chunk.length - base64chunk.length % 4;
-                  chunks.push(Buffer.from(base64chunk.slice(0, end), "base64"));
-                  base64chunk = base64chunk.slice(end);
-                });
-                value.on("end", () => {
-                  chunks.push(Buffer.from(base64chunk, "base64"));
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              } else {
-                value.on("data", (chunk) => {
-                  chunks.push(chunk);
-                });
-                value.on("end", () => {
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              }
-            });
-            const busboyResolve = new Promise((resolve4, reject) => {
-              busboy.on("finish", resolve4);
-              busboy.on("error", (err) => reject(new TypeError(err)));
-            });
-            if (this.body !== null) for await (const chunk of consumeBody(this[kState].body)) busboy.write(chunk);
-            busboy.end();
-            await busboyResolve;
-            return responseFormData;
-          } else if (/application\/x-www-form-urlencoded/.test(contentType)) {
-            let entries;
-            try {
-              let text = "";
-              const streamingDecoder = new TextDecoder("utf-8", { ignoreBOM: true });
-              for await (const chunk of consumeBody(this[kState].body)) {
-                if (!isUint8Array(chunk)) {
-                  throw new TypeError("Expected Uint8Array chunk");
-                }
-                text += streamingDecoder.decode(chunk, { stream: true });
-              }
-              text += streamingDecoder.decode();
-              entries = new URLSearchParams(text);
-            } catch (err) {
-              throw Object.assign(new TypeError(), { cause: err });
-            }
-            const formData = new FormData2();
-            for (const [name, value] of entries) {
-              formData.append(name, value);
-            }
-            return formData;
-          } else {
-            await Promise.resolve();
-            throwIfAborted(this[kState]);
-            throw webidl.errors.exception({
-              header: `${instance.name}.formData`,
-              message: "Could not parse content as FormData."
-            });
-          }
-        }
-      };
-      return methods;
-    }
-    function mixinBody(prototype) {
-      Object.assign(prototype.prototype, bodyMixinMethods(prototype));
-    }
-    async function specConsumeBody(object, convertBytesToJSValue, instance) {
-      webidl.brandCheck(object, instance);
-      throwIfAborted(object[kState]);
-      if (bodyUnusable(object[kState].body)) {
-        throw new TypeError("Body is unusable");
+      get connected() {
+        return this[kPool][kConnected];
       }
-      const promise = createDeferredPromise();
-      const errorSteps = (error3) => promise.reject(error3);
-      const successSteps = (data) => {
-        try {
-          promise.resolve(convertBytesToJSValue(data));
-        } catch (e) {
-          errorSteps(e);
-        }
-      };
-      if (object[kState].body == null) {
-        successSteps(new Uint8Array());
-        return promise.promise;
+      get free() {
+        return this[kPool][kFree];
       }
-      await fullyReadBody(object[kState].body, successSteps, errorSteps);
-      return promise.promise;
-    }
-    function bodyUnusable(body) {
-      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
-    }
-    function utf8DecodeBytes(buffer) {
-      if (buffer.length === 0) {
-        return "";
+      get pending() {
+        return this[kPool][kPending];
       }
-      if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
-        buffer = buffer.subarray(3);
+      get queued() {
+        return this[kPool][kQueued];
       }
-      const output = textDecoder.decode(buffer);
-      return output;
-    }
-    function parseJSONFromBytes(bytes) {
-      return JSON.parse(utf8DecodeBytes(bytes));
-    }
-    function bodyMimeType(object) {
-      const { headersList } = object[kState];
-      const contentType = headersList.get("content-type");
-      if (contentType === null) {
-        return "failure";
+      get running() {
+        return this[kPool][kRunning];
+      }
+      get size() {
+        return this[kPool][kSize];
       }
-      return parseMIMEType(contentType);
-    }
-    module2.exports = {
-      extractBody,
-      safelyExtractBody,
-      cloneBody,
-      mixinBody
     };
+    module2.exports = PoolStats;
   }
 });
 
-// node_modules/undici/lib/core/request.js
-var require_request3 = __commonJS({
-  "node_modules/undici/lib/core/request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js
+var require_pool_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js"(exports2, module2) {
     "use strict";
-    var {
-      InvalidArgumentError,
-      NotSupportedError
-    } = require_errors2();
-    var assert = require("assert");
-    var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = require_symbols6();
-    var util = require_util9();
-    var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;
-    var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
-    var invalidPathRegex = /[^\u0021-\u00ff]/;
-    var kHandler = /* @__PURE__ */ Symbol("handler");
-    var channels = {};
-    var extractBody;
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.create = diagnosticsChannel.channel("undici:request:create");
-      channels.bodySent = diagnosticsChannel.channel("undici:request:bodySent");
-      channels.headers = diagnosticsChannel.channel("undici:request:headers");
-      channels.trailers = diagnosticsChannel.channel("undici:request:trailers");
-      channels.error = diagnosticsChannel.channel("undici:request:error");
-    } catch {
-      channels.create = { hasSubscribers: false };
-      channels.bodySent = { hasSubscribers: false };
-      channels.headers = { hasSubscribers: false };
-      channels.trailers = { hasSubscribers: false };
-      channels.error = { hasSubscribers: false };
-    }
-    var Request = class _Request {
-      constructor(origin, {
-        path: path5,
-        method,
-        body,
-        headers,
-        query,
-        idempotent,
-        blocking,
-        upgrade,
-        headersTimeout,
-        bodyTimeout,
-        reset,
-        throwOnError,
-        expectContinue
-      }, handler2) {
-        if (typeof path5 !== "string") {
-          throw new InvalidArgumentError("path must be a string");
-        } else if (path5[0] !== "/" && !(path5.startsWith("http://") || path5.startsWith("https://")) && method !== "CONNECT") {
-          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
-        } else if (invalidPathRegex.exec(path5) !== null) {
-          throw new InvalidArgumentError("invalid request path");
-        }
-        if (typeof method !== "string") {
-          throw new InvalidArgumentError("method must be a string");
-        } else if (tokenRegExp.exec(method) === null) {
-          throw new InvalidArgumentError("invalid request method");
-        }
-        if (upgrade && typeof upgrade !== "string") {
-          throw new InvalidArgumentError("upgrade must be a string");
-        }
-        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
-          throw new InvalidArgumentError("invalid headersTimeout");
-        }
-        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
-          throw new InvalidArgumentError("invalid bodyTimeout");
-        }
-        if (reset != null && typeof reset !== "boolean") {
-          throw new InvalidArgumentError("invalid reset");
-        }
-        if (expectContinue != null && typeof expectContinue !== "boolean") {
-          throw new InvalidArgumentError("invalid expectContinue");
-        }
-        this.headersTimeout = headersTimeout;
-        this.bodyTimeout = bodyTimeout;
-        this.throwOnError = throwOnError === true;
-        this.method = method;
-        this.abort = null;
-        if (body == null) {
-          this.body = null;
-        } else if (util.isStream(body)) {
-          this.body = body;
-          const rState = this.body._readableState;
-          if (!rState || !rState.autoDestroy) {
-            this.endHandler = function autoDestroy() {
-              util.destroy(this);
-            };
-            this.body.on("end", this.endHandler);
-          }
-          this.errorHandler = (err) => {
-            if (this.abort) {
-              this.abort(err);
-            } else {
-              this.error = err;
+    var DispatcherBase = require_dispatcher_base2();
+    var FixedQueue = require_fixed_queue2();
+    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
+    var PoolStats = require_pool_stats2();
+    var kClients = /* @__PURE__ */ Symbol("clients");
+    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
+    var kQueue = /* @__PURE__ */ Symbol("queue");
+    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
+    var kAddClient = /* @__PURE__ */ Symbol("add client");
+    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
+    var kStats = /* @__PURE__ */ 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;
             }
-          };
-          this.body.on("error", this.errorHandler);
-        } else if (util.isBuffer(body)) {
-          this.body = body.byteLength ? body : null;
-        } else if (ArrayBuffer.isView(body)) {
-          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
-        } else if (body instanceof ArrayBuffer) {
-          this.body = body.byteLength ? Buffer.from(body) : null;
-        } else if (typeof body === "string") {
-          this.body = body.length ? Buffer.from(body) : null;
-        } else if (util.isFormDataLike(body) || util.isIterable(body) || util.isBlobLike(body)) {
-          this.body = body;
-        } else {
-          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
-        }
-        this.completed = false;
-        this.aborted = false;
-        this.upgrade = upgrade || null;
-        this.path = query ? util.buildURL(path5, query) : path5;
-        this.origin = origin;
-        this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
-        this.blocking = blocking == null ? false : blocking;
-        this.reset = reset == null ? null : reset;
-        this.host = null;
-        this.contentLength = null;
-        this.contentType = null;
-        this.headers = "";
-        this.expectContinue = expectContinue != null ? expectContinue : false;
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
-          }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(this, headers[i], headers[i + 1]);
-          }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(this, key, headers[key]);
-          }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
-        }
-        if (util.isFormDataLike(this.body)) {
-          if (util.nodeMajor < 16 || util.nodeMajor === 16 && util.nodeMinor < 8) {
-            throw new InvalidArgumentError("Form-Data bodies are only supported in node v16.8 and newer.");
+            pool[kQueued]--;
+            needDrain = !this.dispatch(item.opts, item.handler);
           }
-          if (!extractBody) {
-            extractBody = require_body2().extractBody;
+          this[kNeedDrain] = needDrain;
+          if (!this[kNeedDrain] && pool[kNeedDrain]) {
+            pool[kNeedDrain] = false;
+            pool.emit("drain", origin, [pool, ...targets]);
           }
-          const [bodyStream, contentType] = extractBody(body);
-          if (this.contentType == null) {
-            this.contentType = contentType;
-            this.headers += `content-type: ${contentType}\r
-`;
+          if (pool[kClosedResolve] && queue.isEmpty()) {
+            Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]);
           }
-          this.body = bodyStream.stream;
-          this.contentLength = bodyStream.length;
-        } else if (util.isBlobLike(body) && this.contentType == null && body.type) {
-          this.contentType = body.type;
-          this.headers += `content-type: ${body.type}\r
-`;
-        }
-        util.validateHandler(handler2, method, upgrade);
-        this.servername = util.getServerName(this.host);
-        this[kHandler] = handler2;
-        if (channels.create.hasSubscribers) {
-          channels.create.publish({ request: this });
-        }
+        };
+        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);
       }
-      onBodySent(chunk) {
-        if (this[kHandler].onBodySent) {
-          try {
-            return this[kHandler].onBodySent(chunk);
-          } catch (err) {
-            this.abort(err);
-          }
-        }
+      get [kBusy]() {
+        return this[kNeedDrain];
       }
-      onRequestSent() {
-        if (channels.bodySent.hasSubscribers) {
-          channels.bodySent.publish({ request: this });
-        }
-        if (this[kHandler].onRequestSent) {
-          try {
-            return this[kHandler].onRequestSent();
-          } catch (err) {
-            this.abort(err);
-          }
-        }
+      get [kConnected]() {
+        return this[kClients].filter((client) => client[kConnected]).length;
       }
-      onConnect(abort) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (this.error) {
-          abort(this.error);
-        } else {
-          this.abort = abort;
-          return this[kHandler].onConnect(abort);
-        }
+      get [kFree]() {
+        return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;
       }
-      onHeaders(statusCode, headers, resume, statusText) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (channels.headers.hasSubscribers) {
-          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
+      get [kPending]() {
+        let ret = this[kQueued];
+        for (const { [kPending]: pending } of this[kClients]) {
+          ret += pending;
         }
-        try {
-          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
-        } catch (err) {
-          this.abort(err);
+        return ret;
+      }
+      get [kRunning]() {
+        let ret = 0;
+        for (const { [kRunning]: running } of this[kClients]) {
+          ret += running;
         }
+        return ret;
       }
-      onData(chunk) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        try {
-          return this[kHandler].onData(chunk);
-        } catch (err) {
-          this.abort(err);
-          return false;
+      get [kSize]() {
+        let ret = this[kQueued];
+        for (const { [kSize]: size } of this[kClients]) {
+          ret += size;
         }
+        return ret;
       }
-      onUpgrade(statusCode, headers, socket) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        return this[kHandler].onUpgrade(statusCode, headers, socket);
+      get stats() {
+        return this[kStats];
       }
-      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);
+      async [kClose]() {
+        if (this[kQueue].isEmpty()) {
+          await Promise.all(this[kClients].map((c) => c.close()));
+        } else {
+          await new Promise((resolve4) => {
+            this[kClosedResolve] = resolve4;
+          });
         }
       }
-      onError(error3) {
-        this.onFinally();
-        if (channels.error.hasSubscribers) {
-          channels.error.publish({ request: this, error: error3 });
-        }
-        if (this.aborted) {
-          return;
+      async [kDestroy](err) {
+        while (true) {
+          const item = this[kQueue].shift();
+          if (!item) {
+            break;
+          }
+          item.handler.onError(err);
         }
-        this.aborted = true;
-        return this[kHandler].onError(error3);
+        await Promise.all(this[kClients].map((c) => c.destroy(err)));
       }
-      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;
+      [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];
       }
-      // TODO: adjust to support H2
-      addHeader(key, value) {
-        processHeader(this, key, value);
+      [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;
       }
-      static [kHTTP1BuildRequest](origin, opts, handler2) {
-        return new _Request(origin, opts, handler2);
-      }
-      static [kHTTP2BuildRequest](origin, opts, handler2) {
-        const headers = opts.headers;
-        opts = { ...opts, headers: null };
-        const request2 = new _Request(origin, opts, handler2);
-        request2.headers = {};
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
-          }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(request2, headers[i], headers[i + 1], true);
-          }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(request2, key, headers[key], true);
+      [kRemoveClient](client) {
+        client.close(() => {
+          const idx = this[kClients].indexOf(client);
+          if (idx !== -1) {
+            this[kClients].splice(idx, 1);
           }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
-        }
-        return request2;
+        });
+        this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
       }
-      static [kHTTP2CopyHeaders](raw) {
-        const rawHeaders = raw.split("\r\n");
-        const headers = {};
-        for (const header of rawHeaders) {
-          const [key, value] = header.split(": ");
-          if (value == null || value.length === 0) continue;
-          if (headers[key]) headers[key] += `,${value}`;
-          else headers[key] = value;
+    };
+    module2.exports = {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js
+var require_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js"(exports2, module2) {
+    "use strict";
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kGetDispatcher
+    } = require_pool_base2();
+    var Client = require_client2();
+    var {
+      InvalidArgumentError
+    } = require_errors2();
+    var util = require_util9();
+    var { kUrl, kInterceptors } = require_symbols6();
+    var buildConnector = require_connect2();
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kConnections = /* @__PURE__ */ Symbol("connections");
+    var kFactory = /* @__PURE__ */ 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");
         }
-        return headers;
-      }
-    };
-    function processHeaderValue(key, val, skipAppend) {
-      if (val && typeof val === "object") {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      }
-      val = val != null ? `${val}` : "";
-      if (headerCharRegex.exec(val) !== null) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      }
-      return skipAppend ? val : `${key}: ${val}\r
-`;
-    }
-    function processHeader(request2, key, val, skipAppend = false) {
-      if (val && (typeof val === "object" && !Array.isArray(val))) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      } else if (val === void 0) {
-        return;
-      }
-      if (request2.host === null && key.length === 4 && key.toLowerCase() === "host") {
-        if (headerCharRegex.exec(val) !== null) {
-          throw new InvalidArgumentError(`invalid ${key} header`);
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
         }
-        request2.host = val;
-      } else if (request2.contentLength === null && key.length === 14 && key.toLowerCase() === "content-length") {
-        request2.contentLength = parseInt(val, 10);
-        if (!Number.isFinite(request2.contentLength)) {
-          throw new InvalidArgumentError("invalid content-length header");
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
         }
-      } else if (request2.contentType === null && key.length === 12 && key.toLowerCase() === "content-type") {
-        request2.contentType = val;
-        if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-        else request2.headers += processHeaderValue(key, val);
-      } else if (key.length === 17 && key.toLowerCase() === "transfer-encoding") {
-        throw new InvalidArgumentError("invalid transfer-encoding header");
-      } else if (key.length === 10 && key.toLowerCase() === "connection") {
-        const value = typeof val === "string" ? val.toLowerCase() : null;
-        if (value !== "close" && value !== "keep-alive") {
-          throw new InvalidArgumentError("invalid connection header");
-        } else if (value === "close") {
-          request2.reset = true;
+        if (typeof connect !== "function") {
+          connect = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect
+          });
         }
-      } else if (key.length === 10 && key.toLowerCase() === "keep-alive") {
-        throw new InvalidArgumentError("invalid keep-alive header");
-      } else if (key.length === 7 && key.toLowerCase() === "upgrade") {
-        throw new InvalidArgumentError("invalid upgrade header");
-      } else if (key.length === 6 && key.toLowerCase() === "expect") {
-        throw new NotSupportedError("expect header not supported");
-      } else if (tokenRegExp.exec(key) === null) {
-        throw new InvalidArgumentError("invalid header key");
-      } else {
-        if (Array.isArray(val)) {
-          for (let i = 0; i < val.length; i++) {
-            if (skipAppend) {
-              if (request2.headers[key]) request2.headers[key] += `,${processHeaderValue(key, val[i], skipAppend)}`;
-              else request2.headers[key] = processHeaderValue(key, val[i], skipAppend);
-            } else {
-              request2.headers += processHeaderValue(key, val[i]);
+        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, error3) => {
+          for (const target of targets) {
+            const idx = this[kClients].indexOf(target);
+            if (idx !== -1) {
+              this[kClients].splice(idx, 1);
             }
           }
-        } else {
-          if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-          else request2.headers += processHeaderValue(key, val);
-        }
-      }
-    }
-    module2.exports = Request;
-  }
-});
-
-// node_modules/undici/lib/dispatcher.js
-var require_dispatcher2 = __commonJS({
-  "node_modules/undici/lib/dispatcher.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("events");
-    var Dispatcher = class extends EventEmitter {
-      dispatch() {
-        throw new Error("not implemented");
-      }
-      close() {
-        throw new Error("not implemented");
+        });
       }
-      destroy() {
-        throw new Error("not implemented");
+      [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 = Dispatcher;
+    module2.exports = Pool;
   }
 });
 
-// node_modules/undici/lib/dispatcher-base.js
-var require_dispatcher_base2 = __commonJS({
-  "node_modules/undici/lib/dispatcher-base.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js
+var require_balanced_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js"(exports2, module2) {
     "use strict";
-    var Dispatcher = require_dispatcher2();
     var {
-      ClientDestroyedError,
-      ClientClosedError,
+      BalancedPoolMissingUpstreamError,
       InvalidArgumentError
     } = require_errors2();
-    var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols6();
-    var kDestroyed = /* @__PURE__ */ Symbol("destroyed");
-    var kClosed = /* @__PURE__ */ Symbol("closed");
-    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
-    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
-    var kInterceptedDispatch = /* @__PURE__ */ 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];
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    } = require_pool_base2();
+    var Pool = require_pool2();
+    var { kUrl, kInterceptors } = require_symbols6();
+    var { parseOrigin } = require_util9();
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
+    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
+    var kIndex = /* @__PURE__ */ Symbol("kIndex");
+    var kWeight = /* @__PURE__ */ Symbol("kWeight");
+    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
+    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
+    function getGreatestCommonDivisor(a, b) {
+      if (a === 0) return b;
+      while (b !== 0) {
+        const t = b;
+        b = a % b;
+        a = t;
       }
-      get interceptors() {
-        return this[kInterceptors];
+      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();
       }
-      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");
-            }
+      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[kInterceptors] = newInterceptors;
+        this._updateBalancedPoolStats();
+        return this;
       }
-      close(callback) {
-        if (callback === void 0) {
-          return new Promise((resolve4, reject) => {
-            this.close((err, data) => {
-              return err ? reject(err) : resolve4(data);
-            });
-          });
+      _updateBalancedPoolStats() {
+        let result = 0;
+        for (let i = 0; i < this[kClients].length; i++) {
+          result = getGreatestCommonDivisor(this[kClients][i][kWeight], result);
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        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);
         }
-        if (this[kDestroyed]) {
-          queueMicrotask(() => callback(new ClientDestroyedError(), null));
+        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;
         }
-        if (this[kClosed]) {
-          if (this[kOnClosed]) {
-            this[kOnClosed].push(callback);
-          } else {
-            queueMicrotask(() => callback(null, null));
-          }
+        const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b) => a && b, true);
+        if (allClientsBusy) {
           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);
+        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[kClose]().then(() => this.destroy()).then(() => {
-          queueMicrotask(onClosed);
-        });
-      }
-      destroy(err, callback) {
-        if (typeof err === "function") {
-          callback = err;
-          err = null;
         }
-        if (callback === void 0) {
-          return new Promise((resolve4, reject) => {
-            this.destroy(err, (err2, data) => {
-              return err2 ? (
-                /* istanbul ignore next: should never error */
-                reject(err2)
-              ) : resolve4(data);
-            });
-          });
+        this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight];
+        this[kIndex] = maxWeightIndex;
+        return this[kClients][maxWeightIndex];
+      }
+    };
+    module2.exports = BalancedPool;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js
+var require_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js"(exports2, module2) {
+    "use strict";
+    var { InvalidArgumentError } = require_errors2();
+    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
+    var DispatcherBase = require_dispatcher_base2();
+    var Pool = require_pool2();
+    var Client = require_client2();
+    var util = require_util9();
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    function defaultFactory(origin, opts) {
+      return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts);
+    }
+    var Agent = class extends DispatcherBase {
+      constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) {
+        super();
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
         }
-        if (this[kDestroyed]) {
-          if (this[kOnDestroyed]) {
-            this[kOnDestroyed].push(callback);
-          } else {
-            queueMicrotask(() => callback(null, null));
-          }
-          return;
+        if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
         }
-        if (!err) {
-          err = new ClientDestroyedError();
+        if (connect && typeof connect !== "function") {
+          connect = { ...connect };
         }
-        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[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);
         };
-        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);
+      get [kRunning]() {
+        let ret = 0;
+        for (const client of this[kClients].values()) {
+          ret += client[kRunning];
         }
-        let dispatch = this[kDispatch].bind(this);
-        for (let i = this[kInterceptors].length - 1; i >= 0; i--) {
-          dispatch = this[kInterceptors][i](dispatch);
+        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.");
         }
-        this[kInterceptedDispatch] = dispatch;
-        return dispatch(opts, handler2);
+        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);
       }
-      dispatch(opts, handler2) {
-        if (!handler2 || typeof handler2 !== "object") {
-          throw new InvalidArgumentError("handler must be an object");
+      async [kClose]() {
+        const closePromises = [];
+        for (const client of this[kClients].values()) {
+          closePromises.push(client.close());
         }
-        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;
+        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 = DispatcherBase;
+    module2.exports = Agent;
   }
 });
 
-// node_modules/undici/lib/core/connect.js
-var require_connect2 = __commonJS({
-  "node_modules/undici/lib/core/connect.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js
+var require_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js"(exports2, module2) {
     "use strict";
-    var net = require("net");
-    var assert = require("assert");
-    var util = require_util9();
-    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
-    var tls;
-    var SessionCache;
-    if (global.FinalizationRegistry && !process.env.NODE_V8_COVERAGE) {
-      SessionCache = class WeakSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
-          this._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);
-            }
-          });
-        }
-        get(sessionKey) {
-          const ref = this._sessionCache.get(sessionKey);
-          return ref ? ref.deref() : null;
-        }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
-            return;
-          }
-          this._sessionCache.set(sessionKey, new WeakRef(session));
-          this._sessionRegistry.register(session, sessionKey);
-        }
-      };
-    } else {
-      SessionCache = class SimpleSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
+    var { kProxy, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
+    var { URL: URL2 } = require("node:url");
+    var Agent = require_agent2();
+    var Pool = require_pool2();
+    var DispatcherBase = require_dispatcher_base2();
+    var { InvalidArgumentError, RequestAbortedError, SecureProxyConnectionError } = require_errors2();
+    var buildConnector = require_connect2();
+    var Client = require_client2();
+    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
+    var kClient = /* @__PURE__ */ Symbol("proxy client");
+    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
+    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
+    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
+    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
+    var kTunnelProxy = /* @__PURE__ */ 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");
         }
-        get(sessionKey) {
-          return this._sessionCache.get(sessionKey);
+        this[kProxyHeaders] = headers;
+        if (factory) {
+          this.#client = factory(proxyUrl, { connect });
+        } else {
+          this.#client = new Client(proxyUrl, { connect });
         }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
+      }
+      [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 (this._sessionCache.size >= this._maxCachedSessions) {
-            const { value: oldestKey } = this._sessionCache.keys().next();
-            this._sessionCache.delete(oldestKey);
-          }
-          this._sessionCache.set(sessionKey, session);
+          if (onHeaders) onHeaders.call(this, statusCode, data, resume);
+        };
+        const {
+          origin,
+          path: path5 = "/",
+          headers = {}
+        } = opts;
+        opts.path = origin + path5;
+        if (!("host" in headers) && !("Host" in headers)) {
+          const { host } = new URL2(origin);
+          headers.host = host;
         }
-      };
-    }
-    function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, ...opts }) {
-      if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
-        throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
+        opts.headers = { ...this[kProxyHeaders], ...headers };
+        return this.#client[kDispatch](opts, handler2);
       }
-      const options = { path: socketPath, ...opts };
-      const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
-      timeout = timeout == null ? 1e4 : timeout;
-      allowH2 = allowH2 != null ? allowH2 : false;
-      return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
-        let socket;
-        if (protocol === "https:") {
-          if (!tls) {
-            tls = require("tls");
-          }
-          servername = servername || options.servername || util.getServerName(host) || null;
-          const sessionKey = servername || hostname;
-          const session = sessionCache.get(sessionKey) || null;
-          assert(sessionKey);
-          socket = tls.connect({
-            highWaterMark: 16384,
-            // TLS in node can't have bigger HWM anyway...
-            ...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: port || 443,
-            host: hostname
-          });
-          socket.on("session", function(session2) {
-            sessionCache.set(sessionKey, session2);
-          });
-        } else {
-          assert(!httpSocket, "httpSocket can only be sent on TLS update");
-          socket = net.connect({
-            highWaterMark: 64 * 1024,
-            // Same as nodejs fs streams.
-            ...options,
-            localAddress,
-            port: port || 80,
-            host: hostname
-          });
+      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");
         }
-        if (options.keepAlive == null || options.keepAlive) {
-          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
-          socket.setKeepAlive(true, keepAliveInitialDelay);
+        const { clientFactory = defaultFactory } = opts;
+        if (typeof clientFactory !== "function") {
+          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
         }
-        const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout);
-        socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(null, this);
-          }
-        }).on("error", function(err) {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(err);
+        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 socket;
-      };
-    }
-    function setupTimeout(onConnectTimeout2, timeout) {
-      if (!timeout) {
-        return () => {
+          return agentFactory(origin2, options);
         };
-      }
-      let s1 = null;
-      let s2 = null;
-      const timeoutId = setTimeout(() => {
-        s1 = setImmediate(() => {
-          if (process.platform === "win32") {
-            s2 = setImmediate(() => onConnectTimeout2());
-          } else {
-            onConnectTimeout2();
+        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);
+              }
+            }
           }
         });
-      }, timeout);
-      return () => {
-        clearTimeout(timeoutId);
-        clearImmediate(s1);
-        clearImmediate(s2);
-      };
-    }
-    function onConnectTimeout(socket) {
-      util.destroy(socket, new ConnectTimeoutError());
-    }
-    module2.exports = buildConnector;
-  }
-});
-
-// node_modules/undici/lib/llhttp/utils.js
-var require_utils3 = __commonJS({
-  "node_modules/undici/lib/llhttp/utils.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.enumToMap = void 0;
-    function enumToMap(obj) {
-      const res = {};
-      Object.keys(obj).forEach((key) => {
-        const value = obj[key];
-        if (typeof value === "number") {
-          res[key] = value;
+      }
+      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 res;
-    }
-    exports2.enumToMap = enumToMap;
-  }
-});
-
-// node_modules/undici/lib/llhttp/constants.js
-var require_constants8 = __commonJS({
-  "node_modules/undici/lib/llhttp/constants.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
-    var utils_1 = require_utils3();
-    var ERROR;
-    (function(ERROR2) {
-      ERROR2[ERROR2["OK"] = 0] = "OK";
-      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
-      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
-      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
-      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
-      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
-      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
-      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
-      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
-      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
-      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
-      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
-      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
-      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
-      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
-      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
-      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
-      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
-      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
-      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
-      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
-      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
-      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
-      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
-      ERROR2[ERROR2["USER"] = 24] = "USER";
-    })(ERROR = 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];
+        return this[kAgent].dispatch(
+          {
+            ...opts,
+            headers
+          },
+          handler2
+        );
       }
-    });
-    var FINISH;
-    (function(FINISH2) {
-      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
-      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
-      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
-    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
-    exports2.ALPHA = [];
-    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
-      exports2.ALPHA.push(String.fromCharCode(i));
-      exports2.ALPHA.push(String.fromCharCode(i + 32));
-    }
-    exports2.NUM_MAP = {
-      0: 0,
-      1: 1,
-      2: 2,
-      3: 3,
-      4: 4,
-      5: 5,
-      6: 6,
-      7: 7,
-      8: 8,
-      9: 9
-    };
-    exports2.HEX_MAP = {
-      0: 0,
-      1: 1,
-      2: 2,
-      3: 3,
-      4: 4,
-      5: 5,
-      6: 6,
-      7: 7,
-      8: 8,
-      9: 9,
-      A: 10,
-      B: 11,
-      C: 12,
-      D: 13,
-      E: 14,
-      F: 15,
-      a: 10,
-      b: 11,
-      c: 12,
-      d: 13,
-      e: 14,
-      f: 15
-    };
-    exports2.NUM = [
-      "0",
-      "1",
-      "2",
-      "3",
-      "4",
-      "5",
-      "6",
-      "7",
-      "8",
-      "9"
-    ];
-    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
-    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
-    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
-    exports2.STRICT_URL_CHAR = [
-      "!",
-      '"',
-      "$",
-      "%",
-      "&",
-      "'",
-      "(",
-      ")",
-      "*",
-      "+",
-      ",",
-      "-",
-      ".",
-      "/",
-      ":",
-      ";",
-      "<",
-      "=",
-      ">",
-      "@",
-      "[",
-      "\\",
-      "]",
-      "^",
-      "_",
-      "`",
-      "{",
-      "|",
-      "}",
-      "~"
-    ].concat(exports2.ALPHANUM);
-    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
-    for (let i = 128; i <= 255; i++) {
-      exports2.URL_CHAR.push(i);
-    }
-    exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
-    exports2.STRICT_TOKEN = [
-      "!",
-      "#",
-      "$",
-      "%",
-      "&",
-      "'",
-      "*",
-      "+",
-      "-",
-      ".",
-      "^",
-      "_",
-      "`",
-      "|",
-      "~"
-    ].concat(exports2.ALPHANUM);
-    exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]);
-    exports2.HEADER_CHARS = ["	"];
-    for (let i = 32; i <= 255; i++) {
-      if (i !== 127) {
-        exports2.HEADER_CHARS.push(i);
+      /**
+       * @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();
       }
-    }
-    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
     };
+    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/handler/RedirectHandler.js
-var require_RedirectHandler = __commonJS({
-  "node_modules/undici/lib/handler/RedirectHandler.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js
+var require_env_http_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js"(exports2, module2) {
     "use strict";
-    var util = require_util9();
-    var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
-    var { InvalidArgumentError } = require_errors2();
-    var EE = require("events");
-    var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
-    var kBody = /* @__PURE__ */ Symbol("body");
-    var BodyAsyncIterable = class {
-      constructor(body) {
-        this[kBody] = body;
-        this[kBodyUsed] = false;
+    var DispatcherBase = require_dispatcher_base2();
+    var { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require_symbols6();
+    var ProxyAgent = require_proxy_agent2();
+    var Agent = require_agent2();
+    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();
       }
-      async *[Symbol.asyncIterator]() {
-        assert(!this[kBodyUsed], "disturbed");
-        this[kBodyUsed] = true;
-        yield* this[kBody];
+      [kDispatch](opts, handler2) {
+        const url = new URL(opts.origin);
+        const agent = this.#getProxyAgentForUrl(url);
+        return agent.dispatch(opts, handler2);
       }
-    };
-    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");
+      async [kClose]() {
+        await this[kNoProxyAgent].close();
+        if (!this[kHttpProxyAgent][kClosed]) {
+          await this[kHttpProxyAgent].close();
         }
-        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 = [];
-        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);
+        if (!this[kHttpsProxyAgent][kClosed]) {
+          await this[kHttpsProxyAgent].close();
         }
       }
-      onConnect(abort) {
-        this.abort = abort;
-        this.handler.onConnect(abort, { history: this.history });
+      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);
+        }
       }
-      onUpgrade(statusCode, headers, socket) {
-        this.handler.onUpgrade(statusCode, headers, socket);
+      #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];
       }
-      onError(error3) {
-        this.handler.onError(error3);
+      #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;
       }
-      onHeaders(statusCode, headers, resume, statusText) {
-        this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers);
-        if (this.opts.origin) {
-          this.history.push(new URL(this.opts.path, this.opts.origin));
+      #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
+          });
         }
-        if (!this.location) {
-          return this.handler.onHeaders(statusCode, headers, resume, statusText);
+        this.#noProxyValue = noProxyValue;
+        this.#noProxyEntries = noProxyEntries;
+      }
+      get #noProxyChanged() {
+        if (this.#opts.noProxy !== void 0) {
+          return false;
         }
-        const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)));
-        const path5 = search ? `${pathname}${search}` : pathname;
-        this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
-        this.opts.path = path5;
-        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;
+        return this.#noProxyValue !== this.#noProxyEnv;
+      }
+      get #noProxyEnv() {
+        return process.env.no_proxy ?? process.env.NO_PROXY ?? "";
+      }
+    };
+    module2.exports = EnvHttpProxyAgent;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/handler/retry-handler.js
+var require_retry_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/retry-handler.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { kRetryHandlerDefaultRetry } = require_symbols6();
+    var { RequestRetryError } = require_errors2();
+    var {
+      isDisturbed,
+      parseHeaders,
+      parseRangeHeader,
+      wrapRequestBody
+    } = require_util9();
+    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();
         }
       }
-      onData(chunk) {
-        if (this.location) {
-        } else {
-          return this.handler.onData(chunk);
+      onUpgrade(statusCode, headers, socket) {
+        if (this.handler.onUpgrade) {
+          this.handler.onUpgrade(statusCode, headers, socket);
         }
       }
-      onComplete(trailers) {
-        if (this.location) {
-          this.location = null;
-          this.abort = null;
-          this.dispatch(this.opts, this);
+      onConnect(abort) {
+        if (this.aborted) {
+          abort(this.reason);
         } else {
-          this.handler.onComplete(trailers);
+          this.abort = abort;
         }
       }
       onBodySent(chunk) {
-        if (this.handler.onBodySent) {
-          this.handler.onBodySent(chunk);
-        }
-      }
-    };
-    function parseLocation(statusCode, headers) {
-      if (redirectableStatusCodes.indexOf(statusCode) === -1) {
-        return null;
+        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
       }
-      for (let i = 0; i < headers.length; i += 2) {
-        if (headers[i].toString().toLowerCase() === "location") {
-          return headers[i + 1];
+      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);
       }
-    }
-    function shouldRemoveHeader(header, removeContent, unknownOrigin) {
-      if (header.length === 4) {
-        return util.headerNameToString(header) === "host";
+      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;
       }
-      if (removeContent && util.headerNameToString(header).startsWith("content-")) {
-        return true;
+      onData(chunk) {
+        this.start += chunk.length;
+        return this.handler.onData(chunk);
       }
-      if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) {
-        const name = util.headerNameToString(header);
-        return name === "authorization" || name === "cookie" || name === "proxy-authorization";
+      onComplete(rawTrailers) {
+        this.retryCount = 0;
+        return this.handler.onComplete(rawTrailers);
       }
-      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]);
+      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);
           }
-        }
-      } else if (headers && typeof headers === "object") {
-        for (const key of Object.keys(headers)) {
-          if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {
-            ret.push(key, headers[key]);
+          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);
           }
         }
-      } else {
-        assert(headers == null, "headers must be an object or an array");
       }
-      return ret;
-    }
-    module2.exports = RedirectHandler;
+    };
+    module2.exports = RetryHandler;
   }
 });
 
-// node_modules/undici/lib/interceptor/redirectInterceptor.js
-var require_redirectInterceptor = __commonJS({
-  "node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js
+var require_retry_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js"(exports2, module2) {
     "use strict";
-    var RedirectHandler = require_RedirectHandler();
-    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/llhttp/llhttp-wasm.js
-var require_llhttp_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8=";
-  }
-});
-
-// node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
-var require_llhttp_simd_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==";
+    var Dispatcher = require_dispatcher2();
+    var RetryHandler = require_retry_handler2();
+    var RetryAgent = class extends Dispatcher {
+      #agent = null;
+      #options = null;
+      constructor(agent, options = {}) {
+        super(options);
+        this.#agent = agent;
+        this.#options = options;
+      }
+      dispatch(opts, handler2) {
+        const retry2 = new RetryHandler({
+          ...opts,
+          retryOptions: this.#options
+        }, {
+          dispatch: this.#agent.dispatch.bind(this.#agent),
+          handler: handler2
+        });
+        return this.#agent.dispatch(opts, retry2);
+      }
+      close() {
+        return this.#agent.close();
+      }
+      destroy() {
+        return this.#agent.destroy();
+      }
+    };
+    module2.exports = RetryAgent;
   }
 });
 
-// node_modules/undici/lib/client.js
-var require_client2 = __commonJS({
-  "node_modules/undici/lib/client.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/api/readable.js
+var require_readable2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/readable.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var net = require("net");
-    var http = require("http");
-    var { pipeline } = require("stream");
+    var assert = require("node:assert");
+    var { Readable } = require("node:stream");
+    var { RequestAbortedError, NotSupportedError, InvalidArgumentError, AbortError } = require_errors2();
     var util = require_util9();
-    var timers = require_timers2();
-    var Request = require_request3();
-    var DispatcherBase = require_dispatcher_base2();
-    var {
-      RequestContentLengthMismatchError,
-      ResponseContentLengthMismatchError,
-      InvalidArgumentError,
-      RequestAbortedError,
-      HeadersTimeoutError,
-      HeadersOverflowError,
-      SocketError,
-      InformationalError,
-      BodyTimeoutError,
-      HTTPParserError,
-      ResponseExceededMaxSizeError,
-      ClientDestroyedError
-    } = require_errors2();
-    var buildConnector = require_connect2();
-    var {
-      kUrl,
-      kReset,
-      kServerName,
-      kClient,
-      kBusy,
-      kParser,
-      kConnect,
-      kBlocking,
-      kResuming,
-      kRunning,
-      kPending,
-      kSize,
-      kWriting,
-      kQueue,
-      kConnected,
-      kConnecting,
-      kNeedDrain,
-      kNoRef,
-      kKeepAliveDefaultTimeout,
-      kHostHeader,
-      kPendingIdx,
-      kRunningIdx,
-      kError,
-      kPipelining,
-      kSocket,
-      kKeepAliveTimeoutValue,
-      kMaxHeadersSize,
-      kKeepAliveMaxTimeout,
-      kKeepAliveTimeoutThreshold,
-      kHeadersTimeout,
-      kBodyTimeout,
-      kStrictContentLength,
-      kConnector,
-      kMaxRedirections,
-      kMaxRequests,
-      kCounter,
-      kClose,
-      kDestroy,
-      kDispatch,
-      kInterceptors,
-      kLocalAddress,
-      kMaxResponseSize,
-      kHTTPConnVersion,
-      // HTTP2
-      kHost,
-      kHTTP2Session,
-      kHTTP2SessionState,
-      kHTTP2BuildRequest,
-      kHTTP2CopyHeaders,
-      kHTTP1BuildRequest
-    } = require_symbols6();
-    var http2;
-    try {
-      http2 = require("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
+    var { ReadableStreamFrom } = require_util9();
+    var kConsume = /* @__PURE__ */ Symbol("kConsume");
+    var kReading = /* @__PURE__ */ Symbol("kReading");
+    var kBody = /* @__PURE__ */ Symbol("kBody");
+    var kAbort = /* @__PURE__ */ Symbol("kAbort");
+    var kContentType = /* @__PURE__ */ Symbol("kContentType");
+    var kContentLength = /* @__PURE__ */ 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;
       }
-    } = http2;
-    var h2ExperimentalWarned = false;
-    var FastBuffer = Buffer[Symbol.species];
-    var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
-    var channels = {};
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.sendHeaders = diagnosticsChannel.channel("undici:client:sendHeaders");
-      channels.beforeConnect = diagnosticsChannel.channel("undici:client:beforeConnect");
-      channels.connectError = diagnosticsChannel.channel("undici:client:connectError");
-      channels.connected = diagnosticsChannel.channel("undici:client:connected");
-    } catch {
-      channels.sendHeaders = { hasSubscribers: false };
-      channels.beforeConnect = { hasSubscribers: false };
-      channels.connectError = { hasSubscribers: false };
-      channels.connected = { hasSubscribers: false };
-    }
-    var Client = class extends DispatcherBase {
-      /**
-       *
-       * @param {string|URL} url
-       * @param {import('../types/client').Client.Options} options
-       */
-      constructor(url, {
-        interceptors,
-        maxHeaderSize,
-        headersTimeout,
-        socketTimeout,
-        requestTimeout,
-        connectTimeout,
-        bodyTimeout,
-        idleTimeout,
-        keepAlive,
-        keepAliveTimeout,
-        maxKeepAliveTimeout,
-        keepAliveMaxTimeout,
-        keepAliveTimeoutThreshold,
-        socketPath,
-        pipelining,
-        tls,
-        strictContentLength,
-        maxCachedSessions,
-        maxRedirections,
-        connect: connect2,
-        maxRequestsPerClient,
-        localAddress,
-        maxResponseSize,
-        autoSelectFamily,
-        autoSelectFamilyAttemptTimeout,
-        // h2
-        allowH2,
-        maxConcurrentStreams
-      } = {}) {
-        super();
-        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");
+      destroy(err) {
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
         }
-        if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) {
-          throw new InvalidArgumentError("maxResponseSize must be a positive number");
+        if (err) {
+          this[kAbort]();
         }
-        if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) {
-          throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number");
+        return super.destroy(err);
+      }
+      _destroy(err, callback) {
+        if (!this[kReading]) {
+          setImmediate(() => {
+            callback(err);
+          });
+        } else {
+          callback(err);
         }
-        if (allowH2 != null && typeof allowH2 !== "boolean") {
-          throw new InvalidArgumentError("allowH2 must be a valid boolean value");
+      }
+      on(ev, ...args) {
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = true;
         }
-        if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) {
-          throw new InvalidArgumentError("maxConcurrentStreams must be a possitive integer, greater than 0");
+        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;
         }
-        if (typeof connect2 !== "function") {
-          connect2 = buildConnector({
-            ...tls,
-            maxCachedSessions,
-            allowH2,
-            socketPath,
-            timeout: connectTimeout,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
-            ...connect2
-          });
+        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;
         }
-        this[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client) ? interceptors.Client : [createRedirectInterceptor({ maxRedirections })];
-        this[kUrl] = util.parseOrigin(url);
-        this[kConnector] = connect2;
-        this[kSocket] = null;
-        this[kPipelining] = pipelining != null ? pipelining : 1;
-        this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize;
-        this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;
-        this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;
-        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold;
-        this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
-        this[kServerName] = null;
-        this[kLocalAddress] = localAddress != null ? localAddress : null;
-        this[kResuming] = 0;
-        this[kNeedDrain] = 0;
-        this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r
-`;
-        this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5;
-        this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5;
-        this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength;
-        this[kMaxRedirections] = maxRedirections;
-        this[kMaxRequests] = maxRequestsPerClient;
-        this[kClosedResolve] = null;
-        this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
-        this[kHTTPConnVersion] = "h1";
-        this[kHTTP2Session] = null;
-        this[kHTTP2SessionState] = !allowH2 ? null : {
-          // streams: null, // Fixed queue of streams - For future support of `push`
-          openStreams: 0,
-          // Keep track of them to decide wether or not unref the session
-          maxConcurrentStreams: maxConcurrentStreams != null ? maxConcurrentStreams : 100
-          // Max peerConcurrentStreams for a Node h2 server
-        };
-        this[kHost] = `${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}`;
-        this[kQueue] = [];
-        this[kRunningIdx] = 0;
-        this[kPendingIdx] = 0;
+        return super.push(chunk);
       }
-      get pipelining() {
-        return this[kPipelining];
+      // https://fetch.spec.whatwg.org/#dom-body-text
+      async text() {
+        return consume(this, "text");
       }
-      set pipelining(value) {
-        this[kPipelining] = value;
-        resume(this, true);
+      // https://fetch.spec.whatwg.org/#dom-body-json
+      async json() {
+        return consume(this, "json");
       }
-      get [kPending]() {
-        return this[kQueue].length - this[kPendingIdx];
+      // https://fetch.spec.whatwg.org/#dom-body-blob
+      async blob() {
+        return consume(this, "blob");
       }
-      get [kRunning]() {
-        return this[kPendingIdx] - this[kRunningIdx];
+      // https://fetch.spec.whatwg.org/#dom-body-bytes
+      async bytes() {
+        return consume(this, "bytes");
       }
-      get [kSize]() {
-        return this[kQueue].length - this[kRunningIdx];
+      // https://fetch.spec.whatwg.org/#dom-body-arraybuffer
+      async arrayBuffer() {
+        return consume(this, "arrayBuffer");
       }
-      get [kConnected]() {
-        return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed;
+      // https://fetch.spec.whatwg.org/#dom-body-formdata
+      async formData() {
+        throw new NotSupportedError();
       }
-      get [kBusy]() {
-        const socket = this[kSocket];
-        return socket && (socket[kReset] || socket[kWriting] || socket[kBlocking]) || this[kSize] >= (this[kPipelining] || 1) || this[kPending] > 0;
+      // https://fetch.spec.whatwg.org/#dom-body-bodyused
+      get bodyUsed() {
+        return util.isDisturbed(this);
       }
-      /* istanbul ignore: only used for test */
-      [kConnect](cb) {
-        connect(this);
-        this.once("connect", cb);
+      // 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];
       }
-      [kDispatch](opts, handler2) {
-        const origin = opts.origin || this[kUrl].origin;
-        const request2 = this[kHTTPConnVersion] === "h2" ? Request[kHTTP2BuildRequest](origin, opts, handler2) : Request[kHTTP1BuildRequest](origin, opts, handler2);
-        this[kQueue].push(request2);
-        if (this[kResuming]) {
-        } else if (util.bodyLength(request2.body) == null && util.isIterable(request2.body)) {
-          this[kResuming] = 1;
-          process.nextTick(resume, this);
+      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((resolve4, 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 {
+              resolve4(null);
+            }
+          }).on("error", noop3).on("data", function(chunk) {
+            limit -= chunk.length;
+            if (limit <= 0) {
+              this.destroy();
+            }
+          }).resume();
+        });
+      }
+    };
+    function isLocked(self2) {
+      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
+    }
+    function isUnusable(self2) {
+      return util.isDisturbed(self2) || isLocked(self2);
+    }
+    async function consume(stream, type2) {
+      assert(!stream[kConsume]);
+      return new Promise((resolve4, 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 {
-          resume(this, true);
+          queueMicrotask(() => {
+            stream[kConsume] = {
+              type: type2,
+              stream,
+              resolve: resolve4,
+              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]);
+          });
         }
-        if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
-          this[kNeedDrain] = 2;
+      });
+    }
+    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);
         }
-        return this[kNeedDrain] < 2;
       }
-      async [kClose]() {
-        return new Promise((resolve4) => {
-          if (!this[kSize]) {
-            resolve4(null);
-          } else {
-            this[kClosedResolve] = resolve4;
-          }
+      if (state.endEmitted) {
+        consumeEnd(this[kConsume]);
+      } else {
+        consume2.stream.on("end", function() {
+          consumeEnd(this[kConsume]);
         });
       }
-      async [kDestroy](err) {
-        return new Promise((resolve4) => {
-          const requests = this[kQueue].splice(this[kPendingIdx]);
-          for (let i = 0; i < requests.length; i++) {
-            const request2 = requests[i];
-            errorRequest2(this, request2, err);
-          }
-          const callback = () => {
-            if (this[kClosedResolve]) {
-              this[kClosedResolve]();
-              this[kClosedResolve] = null;
-            }
-            resolve4();
-          };
-          if (this[kHTTP2Session] != null) {
-            util.destroy(this[kHTTP2Session], err);
-            this[kHTTP2Session] = null;
-            this[kHTTP2SessionState] = null;
-          }
-          if (!this[kSocket]) {
-            queueMicrotask(callback);
-          } else {
-            util.destroy(this[kSocket].on("close", callback), err);
-          }
-          resume(this);
-        });
+      consume2.stream.resume();
+      while (consume2.stream.read() != null) {
       }
-    };
-    function onHttp2SessionError(err) {
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      this[kSocket][kError] = err;
-      onError(this[kClient], err);
     }
-    function onHttp2FrameError(type2, code, id) {
-      const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-      if (id === 0) {
-        this[kSocket][kError] = err;
-        onError(this[kClient], err);
+    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 onHttp2SessionEnd() {
-      util.destroy(this, new SocketError("other side closed"));
-      util.destroy(this[kSocket], new SocketError("other side closed"));
-    }
-    function onHTTP2GoAway(code) {
-      const client = this[kClient];
-      const err = new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`);
-      client[kSocket] = null;
-      client[kHTTP2Session] = null;
-      if (client.destroyed) {
-        assert(this[kPending] === 0);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(this, request2, err);
-        }
-      } else if (client[kRunning] > 0) {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
+    function chunksConcat(chunks, length) {
+      if (chunks.length === 0 || length === 0) {
+        return new Uint8Array(0);
       }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit(
-        "disconnect",
-        client[kUrl],
-        [client],
-        err
-      );
-      resume(client);
+      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;
     }
-    var constants = require_constants8();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var EMPTY_BUF = Buffer.alloc(0);
-    async function lazyllhttp() {
-      const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm2() : void 0;
-      let mod;
+    function consumeEnd(consume2) {
+      const { type: type2, body, resolve: resolve4, stream, length } = consume2;
       try {
-        mod = await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm2(), "base64"));
-      } catch (e) {
-        mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require_llhttp_wasm2(), "base64"));
-      }
-      return await WebAssembly.instantiate(mod, {
-        env: {
-          /* eslint-disable camelcase */
-          wasm_on_url: (p, at, len) => {
-            return 0;
-          },
-          wasm_on_status: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_message_begin: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onMessageBegin() || 0;
-          },
-          wasm_on_header_field: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_header_value: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;
-          },
-          wasm_on_body: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_message_complete: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onMessageComplete() || 0;
-          }
-          /* eslint-enable camelcase */
+        if (type2 === "text") {
+          resolve4(chunksDecode(body, length));
+        } else if (type2 === "json") {
+          resolve4(JSON.parse(chunksDecode(body, length)));
+        } else if (type2 === "arrayBuffer") {
+          resolve4(chunksConcat(body, length).buffer);
+        } else if (type2 === "blob") {
+          resolve4(new Blob(body, { type: stream[kContentType] }));
+        } else if (type2 === "bytes") {
+          resolve4(chunksConcat(body, length));
         }
-      });
-    }
-    var llhttpInstance = null;
-    var llhttpPromise = lazyllhttp();
-    llhttpPromise.catch();
-    var currentParser = null;
-    var currentBufferRef = null;
-    var currentBufferSize = 0;
-    var currentBufferPtr = null;
-    var TIMEOUT_HEADERS = 1;
-    var TIMEOUT_BODY = 2;
-    var TIMEOUT_IDLE = 3;
-    var Parser = class {
-      constructor(client, socket, { exports: 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];
+        consumeFinish(consume2);
+      } catch (err) {
+        stream.destroy(err);
       }
-      setTimeout(value, type2) {
-        this.timeoutType = type2;
-        if (value !== this.timeoutValue) {
-          timers.clearTimeout(this.timeout);
-          if (value) {
-            this.timeout = timers.setTimeout(onParserTimeout, value, this);
-            if (this.timeout.unref) {
-              this.timeout.unref();
-            }
-          } else {
-            this.timeout = null;
-          }
-          this.timeoutValue = value;
-        } else if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
-          }
-        }
+    }
+    function consumePush(consume2, chunk) {
+      consume2.length += chunk.length;
+      consume2.body.push(chunk);
+    }
+    function consumeFinish(consume2, err) {
+      if (consume2.body === null) {
+        return;
       }
-      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();
+      if (err) {
+        consume2.reject(err);
+      } else {
+        consume2.resolve();
       }
-      readMore() {
-        while (!this.paused && this.ptr) {
-          const chunk = this.socket.read();
-          if (chunk === null) {
+      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/@actions/github/node_modules/undici/lib/api/util.js
+var require_util11 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/util.js"(exports2, module2) {
+    var assert = require("node:assert");
+    var {
+      ResponseStatusCodeError
+    } = require_errors2();
+    var { chunksDecode } = require_readable2();
+    var CHUNK_LIMIT = 128 * 1024;
+    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
+      assert(body);
+      let chunks = [];
+      let length = 0;
+      try {
+        for await (const chunk of body) {
+          chunks.push(chunk);
+          length += chunk.length;
+          if (length > CHUNK_LIMIT) {
+            chunks = [];
+            length = 0;
             break;
           }
-          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;
-        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;
         }
+      } catch {
+        chunks = [];
+        length = 0;
       }
-      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);
+      const message = `Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`;
+      if (statusCode === 204 || !contentType || !length) {
+        queueMicrotask(() => callback(new ResponseStatusCodeError(message, statusCode, headers)));
+        return;
       }
-      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 && key.toString().toLowerCase() === "keep-alive") {
-          this.keepAlive += buf.toString();
-        } else if (key.length === 10 && key.toString().toLowerCase() === "connection") {
-          this.connection += buf.toString();
-        } else if (key.length === 14 && key.toString().toLowerCase() === "content-length") {
-          this.contentLength += buf.toString();
+      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);
         }
-        this.trackHeader(buf.length);
+      } catch {
+      } finally {
+        Error.stackTraceLimit = stackTraceLimit;
       }
-      trackHeader(len) {
-        this.headersSize += len;
-        if (this.headersSize >= this.headersMaxSize) {
-          util.destroy(this.socket, new HeadersOverflowError());
+      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/@actions/github/node_modules/undici/lib/api/api-request.js
+var require_api_request2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-request.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { Readable } = require_readable2();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
+    var util = require_util9();
+    var { getResolveErrorBodyCallback } = require_util11();
+    var { AsyncResource } = require("node:async_hooks");
+    var RequestHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-      }
-      onUpgrade(head) {
-        const { upgrade, client, socket, headers, statusCode } = this;
-        assert(upgrade);
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert(!socket.destroyed);
-        assert(socket === client[kSocket]);
-        assert(!this.paused);
-        assert(request2.upgrade || request2.method === "CONNECT");
-        this.statusCode = null;
-        this.statusText = "";
-        this.shouldKeepAlive = null;
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        socket.unshift(head);
-        socket[kParser].destroy();
-        socket[kParser] = null;
-        socket[kClient] = null;
-        socket[kError] = null;
-        socket.removeListener("error", onSocketError).removeListener("readable", onSocketReadable).removeListener("end", onSocketEnd).removeListener("close", onSocketClose);
-        client[kSocket] = null;
-        client[kQueue][client[kRunningIdx]++] = null;
-        client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
         try {
-          request2.onUpgrade(statusCode, headers, socket);
+          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) {
-          util.destroy(socket, err);
-        }
-        resume(client);
-      }
-      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.strictEqual(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 (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
           }
+          throw err;
         }
-        if (request2.method === "CONNECT") {
-          assert(client[kRunning] === 1);
-          this.upgrade = true;
-          return 2;
-        }
-        if (upgrade) {
-          assert(client[kRunning] === 1);
-          this.upgrade = true;
-          return 2;
+        this.method = method;
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.body = body;
+        this.trailers = {};
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError;
+        this.highWaterMark = highWaterMark;
+        this.signal = signal;
+        this.reason = null;
+        this.removeAbortListener = null;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
         }
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        if (this.shouldKeepAlive && client[kPipelining]) {
-          const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null;
-          if (keepAliveTimeout != null) {
-            const timeout = Math.min(
-              keepAliveTimeout - client[kKeepAliveTimeoutThreshold],
-              client[kKeepAliveMaxTimeout]
-            );
-            if (timeout <= 0) {
-              socket[kReset] = true;
-            } else {
-              client[kKeepAliveTimeoutValue] = timeout;
-            }
+        if (this.signal) {
+          if (this.signal.aborted) {
+            this.reason = this.signal.reason ?? new RequestAbortedError();
           } 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;
-          resume(client);
+            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;
+              }
+            });
+          }
         }
-        return pause ? constants.ERROR.PAUSED : 0;
       }
-      onBody(buf) {
-        const { client, socket, statusCode, maxResponseSize } = this;
-        if (socket.destroyed) {
-          return -1;
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert.strictEqual(this.timeoutType, TIMEOUT_BODY);
-        if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
+      }
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { callback, opaque, abort, context: context2, responseHeaders, highWaterMark } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
           }
+          return;
         }
-        assert(statusCode >= 200);
-        if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
-          util.destroy(socket, new ResponseExceededMaxSizeError());
-          return -1;
+        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.bytesRead += buf.length;
-        if (request2.onData(buf) === false) {
-          return constants.ERROR.PAUSED;
+        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: context2
+            });
+          }
         }
       }
-      onMessageComplete() {
-        const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;
-        if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
-          return -1;
-        }
-        if (upgrade) {
-          return;
+      onData(chunk) {
+        return this.res.push(chunk);
+      }
+      onComplete(trailers) {
+        util.parseHeaders(trailers, this.trailers);
+        this.res.push(null);
+      }
+      onError(err) {
+        const { res, callback, body, opaque } = this;
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert(statusCode >= 100);
-        this.statusCode = null;
-        this.statusText = "";
-        this.bytesRead = 0;
-        this.contentLength = "";
-        this.keepAlive = "";
-        this.connection = "";
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        if (statusCode < 200) {
-          return;
+        if (res) {
+          this.res = null;
+          queueMicrotask(() => {
+            util.destroy(res, err);
+          });
         }
-        if (request2.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) {
-          util.destroy(socket, new ResponseContentLengthMismatchError());
-          return -1;
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
         }
-        request2.onComplete(headers);
-        client[kQueue][client[kRunningIdx]++] = null;
-        if (socket[kWriting]) {
-          assert.strictEqual(client[kRunning], 0);
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (!shouldKeepAlive) {
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (socket[kReset] && client[kRunning] === 0) {
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (client[kPipelining] === 1) {
-          setImmediate(resume, client);
-        } else {
-          resume(client);
+        if (this.removeAbortListener) {
+          res?.off("close", this.removeAbortListener);
+          this.removeAbortListener();
+          this.removeAbortListener = null;
         }
       }
     };
-    function onParserTimeout(parser) {
-      const { socket, timeoutType, client } = parser;
-      if (timeoutType === TIMEOUT_HEADERS) {
-        if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
-          assert(!parser.paused, "cannot be paused while waiting for headers");
-          util.destroy(socket, new HeadersTimeoutError());
-        }
-      } else if (timeoutType === TIMEOUT_BODY) {
-        if (!parser.paused) {
-          util.destroy(socket, new BodyTimeoutError());
+    function request2(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve4, reject) => {
+          request2.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve4(data);
+          });
+        });
+      }
+      try {
+        this.dispatch(opts, new RequestHandler(opts, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
-      } else if (timeoutType === TIMEOUT_IDLE) {
-        assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
-        util.destroy(socket, new InformationalError("socket idle timeout"));
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
     }
-    function onSocketReadable() {
-      const { [kParser]: parser } = this;
-      if (parser) {
-        parser.readMore();
+    module2.exports = request2;
+    module2.exports.RequestHandler = RequestHandler;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js
+var require_abort_signal2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
+    var { addAbortListener } = require_util9();
+    var { RequestAbortedError } = require_errors2();
+    var kListener = /* @__PURE__ */ Symbol("kListener");
+    var kSignal = /* @__PURE__ */ Symbol("kSignal");
+    function abort(self2) {
+      if (self2.abort) {
+        self2.abort(self2[kSignal]?.reason);
+      } else {
+        self2.reason = self2[kSignal]?.reason ?? new RequestAbortedError();
       }
+      removeSignal(self2);
     }
-    function onSocketError(err) {
-      const { [kClient]: client, [kParser]: parser } = this;
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      if (client[kHTTPConnVersion] !== "h2") {
-        if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-          return;
-        }
+    function addSignal(self2, signal) {
+      self2.reason = null;
+      self2[kSignal] = null;
+      self2[kListener] = null;
+      if (!signal) {
+        return;
       }
-      this[kError] = err;
-      onError(this[kClient], err);
-    }
-    function onError(client, err) {
-      if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
-        assert(client[kPendingIdx] === client[kRunningIdx]);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
-        }
-        assert(client[kSize] === 0);
+      if (signal.aborted) {
+        abort(self2);
+        return;
       }
+      self2[kSignal] = signal;
+      self2[kListener] = () => {
+        abort(self2);
+      };
+      addAbortListener(self2[kSignal], self2[kListener]);
     }
-    function onSocketEnd() {
-      const { [kParser]: parser, [kClient]: client } = this;
-      if (client[kHTTPConnVersion] !== "h2") {
-        if (parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-          return;
-        }
+    function removeSignal(self2) {
+      if (!self2[kSignal]) {
+        return;
+      }
+      if ("removeEventListener" in self2[kSignal]) {
+        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      } else {
+        self2[kSignal].removeListener("abort", self2[kListener]);
       }
-      util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+      self2[kSignal] = null;
+      self2[kListener] = null;
     }
-    function onSocketClose() {
-      const { [kClient]: client, [kParser]: parser } = this;
-      if (client[kHTTPConnVersion] === "h1" && parser) {
-        if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
+    module2.exports = {
+      addSignal,
+      removeSignal
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-stream.js
+var require_api_stream2 = __commonJS({
+  "node_modules/@actions/github/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_errors2();
+    var util = require_util9();
+    var { getResolveErrorBodyCallback } = require_util11();
+    var { AsyncResource } = require("node:async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var StreamHandler = class extends AsyncResource {
+      constructor(opts, factory, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        this[kParser].destroy();
-        this[kParser] = null;
-      }
-      const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
-      client[kSocket] = null;
-      if (client.destroyed) {
-        assert(client[kPending] === 0);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
+        try {
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (typeof factory !== "function") {
+            throw new InvalidArgumentError("invalid factory");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
+          }
+          super("UNDICI_STREAM");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
         }
-      } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
-      }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit("disconnect", client[kUrl], [client], err);
-      resume(client);
-    }
-    async function connect(client) {
-      assert(!client[kConnecting]);
-      assert(!client[kSocket]);
-      let { host, hostname, protocol, port } = client[kUrl];
-      if (hostname[0] === "[") {
-        const idx = hostname.indexOf("]");
-        assert(idx !== -1);
-        const ip = hostname.substring(1, idx);
-        assert(net.isIP(ip));
-        hostname = ip;
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.factory = factory;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.context = null;
+        this.trailers = null;
+        this.body = body;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError || false;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
+        }
+        addSignal(this, signal);
       }
-      client[kConnecting] = true;
-      if (channels.beforeConnect.hasSubscribers) {
-        channels.beforeConnect.publish({
-          connectParams: {
-            host,
-            hostname,
-            protocol,
-            port,
-            servername: client[kServerName],
-            localAddress: client[kLocalAddress]
-          },
-          connector: client[kConnector]
-        });
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
+        }
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
       }
-      try {
-        const socket = await new Promise((resolve4, reject) => {
-          client[kConnector]({
-            host,
-            hostname,
-            protocol,
-            port,
-            servername: client[kServerName],
-            localAddress: client[kLocalAddress]
-          }, (err, socket2) => {
-            if (err) {
-              reject(err);
-            } else {
-              resolve4(socket2);
-            }
-          });
-        });
-        if (client.destroyed) {
-          util.destroy(socket.on("error", () => {
-          }), new ClientDestroyedError());
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { factory, opaque, context: context2, callback, responseHeaders } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
+          }
           return;
         }
-        client[kConnecting] = false;
-        assert(socket);
-        const isH2 = socket.alpnProtocol === "h2";
-        if (isH2) {
-          if (!h2ExperimentalWarned) {
-            h2ExperimentalWarned = true;
-            process.emitWarning("H2 support is experimental, expect them to change at any time.", {
-              code: "UNDICI-H2"
-            });
+        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;
           }
-          const session = http2.connect(client[kUrl], {
-            createConnection: () => socket,
-            peerMaxConcurrentStreams: client[kHTTP2SessionState].maxConcurrentStreams
+          res = this.runInAsyncScope(factory, null, {
+            statusCode,
+            headers,
+            opaque,
+            context: context2
           });
-          client[kHTTPConnVersion] = "h2";
-          session[kClient] = client;
-          session[kSocket] = socket;
-          session.on("error", onHttp2SessionError);
-          session.on("frameError", onHttp2FrameError);
-          session.on("end", onHttp2SessionEnd);
-          session.on("goaway", onHTTP2GoAway);
-          session.on("close", onSocketClose);
-          session.unref();
-          client[kHTTP2Session] = session;
-          socket[kHTTP2Session] = session;
-        } else {
-          if (!llhttpInstance) {
-            llhttpInstance = await llhttpPromise;
-            llhttpPromise = null;
+          if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") {
+            throw new InvalidReturnValueError("expected Writable");
           }
-          socket[kNoRef] = false;
-          socket[kWriting] = false;
-          socket[kReset] = false;
-          socket[kBlocking] = false;
-          socket[kParser] = new Parser(client, socket, llhttpInstance);
-        }
-        socket[kCounter] = 0;
-        socket[kMaxRequests] = client[kMaxRequests];
-        socket[kClient] = client;
-        socket[kError] = null;
-        socket.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose);
-        client[kSocket] = socket;
-        if (channels.connected.hasSubscribers) {
-          channels.connected.publish({
-            connectParams: {
-              host,
-              hostname,
-              protocol,
-              port,
-              servername: client[kServerName],
-              localAddress: client[kLocalAddress]
-            },
-            connector: client[kConnector],
-            socket
+          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();
+            }
           });
         }
-        client.emit("connect", client[kUrl], [client]);
-      } catch (err) {
-        if (client.destroyed) {
+        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;
         }
-        client[kConnecting] = false;
-        if (channels.connectError.hasSubscribers) {
-          channels.connectError.publish({
-            connectParams: {
-              host,
-              hostname,
-              protocol,
-              port,
-              servername: client[kServerName],
-              localAddress: client[kLocalAddress]
-            },
-            connector: client[kConnector],
-            error: err
+        this.trailers = util.parseHeaders(trailers);
+        res.end();
+      }
+      onError(err) {
+        const { res, callback, opaque, body } = this;
+        removeSignal(this);
+        this.factory = null;
+        if (res) {
+          this.res = null;
+          util.destroy(res, err);
+        } else if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
           });
         }
-        if (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]++];
-            errorRequest2(client, request2, err);
-          }
-        } else {
-          onError(client, err);
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
         }
-        client.emit("connectionError", client[kUrl], [client], err);
       }
-      resume(client);
-    }
-    function emitDrain(client) {
-      client[kNeedDrain] = 0;
-      client.emit("drain", client[kUrl], [client]);
-    }
-    function resume(client, sync) {
-      if (client[kResuming] === 2) {
-        return;
+    };
+    function stream(opts, factory, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve4, reject) => {
+          stream.call(this, opts, factory, (err, data) => {
+            return err ? reject(err) : resolve4(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/@actions/github/node_modules/undici/lib/api/api-pipeline.js
+var require_api_pipeline2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
+    "use strict";
+    var {
+      Readable,
+      Duplex,
+      PassThrough
+    } = require("node:stream");
+    var {
+      InvalidArgumentError,
+      InvalidReturnValueError,
+      RequestAbortedError
+    } = require_errors2();
+    var util = require_util9();
+    var { AsyncResource } = require("node:async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var assert = require("node:assert");
+    var kResume = /* @__PURE__ */ 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]();
       }
-      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;
+      _destroy(err, callback) {
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
+        }
+        callback(err);
       }
-    }
-    function _resume(client, sync) {
-      while (true) {
-        if (client.destroyed) {
-          assert(client[kPending] === 0);
-          return;
+    };
+    var PipelineHandler = class extends AsyncResource {
+      constructor(opts, handler2) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        if (client[kClosedResolve] && !client[kSize]) {
-          client[kClosedResolve]();
-          client[kClosedResolve] = null;
-          return;
+        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");
         }
-        const socket = client[kSocket];
-        if (socket && !socket.destroyed && socket.alpnProtocol !== "h2") {
-          if (client[kSize] === 0) {
-            if (!socket[kNoRef] && socket.unref) {
-              socket.unref();
-              socket[kNoRef] = true;
+        if (onInfo && typeof onInfo !== "function") {
+          throw new InvalidArgumentError("invalid onInfo callback");
+        }
+        super("UNDICI_PIPELINE");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.handler = handler2;
+        this.abort = null;
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.req = new PipelineRequest().on("error", util.nop);
+        this.ret = new Duplex({
+          readableObjectMode: opts.objectMode,
+          autoDestroy: true,
+          read: () => {
+            const { body } = this;
+            if (body?.resume) {
+              body.resume();
             }
-          } else if (socket[kNoRef] && socket.ref) {
-            socket.ref();
-            socket[kNoRef] = false;
-          }
-          if (client[kSize] === 0) {
-            if (socket[kParser].timeoutType !== TIMEOUT_IDLE) {
-              socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE);
+          },
+          write: (chunk, encoding, callback) => {
+            const { req } = this;
+            if (req.push(chunk, encoding) || req._readableState.destroyed) {
+              callback();
+            } else {
+              req[kResume] = callback;
+            }
+          },
+          destroy: (err, callback) => {
+            const { body, req, res, ret, abort } = this;
+            if (!err && !ret._readableState.endEmitted) {
+              err = new RequestAbortedError();
             }
-          } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
-            if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
-              const request3 = client[kQueue][client[kRunningIdx]];
-              const headersTimeout = request3.headersTimeout != null ? request3.headersTimeout : client[kHeadersTimeout];
-              socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
+            if (abort && err) {
+              abort();
             }
+            util.destroy(body, err);
+            util.destroy(req, err);
+            util.destroy(res, err);
+            removeSignal(this);
+            callback(err);
           }
+        }).on("prefinish", () => {
+          const { req } = this;
+          req.push(null);
+        });
+        this.res = null;
+        addSignal(this, signal);
+      }
+      onConnect(abort, context2) {
+        const { ret, res } = this;
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
-        if (client[kBusy]) {
-          client[kNeedDrain] = 2;
-        } else if (client[kNeedDrain] === 2) {
-          if (sync) {
-            client[kNeedDrain] = 1;
-            process.nextTick(emitDrain, client);
-          } else {
-            emitDrain(client);
+        assert(!res, "pipeline cannot be retried");
+        assert(!ret.destroyed);
+        this.abort = abort;
+        this.context = context2;
+      }
+      onHeaders(statusCode, rawHeaders, resume) {
+        const { opaque, handler: handler2, context: context2 } = this;
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+            this.onInfo({ statusCode, headers });
           }
-          continue;
-        }
-        if (client[kPending] === 0) {
           return;
         }
-        if (client[kRunning] >= (client[kPipelining] || 1)) {
-          return;
+        this.res = new PipelineResponse(resume);
+        let body;
+        try {
+          this.handler = null;
+          const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+          body = this.runInAsyncScope(handler2, null, {
+            statusCode,
+            headers,
+            opaque,
+            body: this.res,
+            context: context2
+          });
+        } catch (err) {
+          this.res.on("error", util.nop);
+          throw err;
         }
-        const request2 = client[kQueue][client[kPendingIdx]];
-        if (client[kUrl].protocol === "https:" && client[kServerName] !== request2.servername) {
-          if (client[kRunning] > 0) {
-            return;
+        if (!body || typeof body.on !== "function") {
+          throw new InvalidReturnValueError("expected Readable");
+        }
+        body.on("data", (chunk) => {
+          const { ret, body: body2 } = this;
+          if (!ret.push(chunk) && body2.pause) {
+            body2.pause();
           }
-          client[kServerName] = request2.servername;
-          if (socket && socket.servername !== request2.servername) {
-            util.destroy(socket, new InformationalError("servername changed"));
-            return;
+        }).on("error", (err) => {
+          const { ret } = this;
+          util.destroy(ret, err);
+        }).on("end", () => {
+          const { ret } = this;
+          ret.push(null);
+        }).on("close", () => {
+          const { ret } = this;
+          if (!ret._readableState.ended) {
+            util.destroy(ret, new RequestAbortedError());
           }
+        });
+        this.body = body;
+      }
+      onData(chunk) {
+        const { res } = this;
+        return res.push(chunk);
+      }
+      onComplete(trailers) {
+        const { res } = this;
+        res.push(null);
+      }
+      onError(err) {
+        const { ret } = this;
+        this.handler = null;
+        util.destroy(ret, err);
+      }
+    };
+    function pipeline(opts, handler2) {
+      try {
+        const pipelineHandler = new PipelineHandler(opts, handler2);
+        this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler);
+        return pipelineHandler.ret;
+      } catch (err) {
+        return new PassThrough().destroy(err);
+      }
+    }
+    module2.exports = pipeline;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js
+var require_api_upgrade2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
+    "use strict";
+    var { InvalidArgumentError, SocketError } = require_errors2();
+    var { AsyncResource } = require("node:async_hooks");
+    var util = require_util9();
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var assert = require("node:assert");
+    var UpgradeHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        if (client[kConnecting]) {
-          return;
-        }
-        if (!socket && !client[kHTTP2Session]) {
-          connect(client);
-          return;
-        }
-        if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) {
-          return;
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
         }
-        if (client[kRunning] > 0 && !request2.idempotent) {
-          return;
+        const { signal, opaque, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
         }
-        if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
+        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, context2) {
+        if (this.reason) {
+          abort(this.reason);
           return;
         }
-        if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body))) {
-          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: context2 } = 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: context2
+        });
+      }
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        if (!request2.aborted && write(client, request2)) {
-          client[kPendingIdx]++;
-        } else {
-          client[kQueue].splice(client[kPendingIdx], 1);
+      }
+    };
+    function upgrade(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve4, reject) => {
+          upgrade.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve4(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 }));
       }
     }
-    function shouldSendContentLength(method) {
-      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
-    }
-    function write(client, request2) {
-      if (client[kHTTPConnVersion] === "h2") {
-        writeH2(client, client[kHTTP2Session], request2);
-        return;
-      }
-      const { body, method, path: path5, host, upgrade, headers, blocking, reset } = request2;
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
-      if (body && typeof body.read === "function") {
-        body.read(0);
+    module2.exports = upgrade;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-connect.js
+var require_api_connect2 = __commonJS({
+  "node_modules/@actions/github/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_errors2();
+    var util = require_util9();
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var ConnectHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        const { signal, opaque, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        }
+        super("UNDICI_CONNECT");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.callback = callback;
+        this.abort = null;
+        addSignal(this, signal);
       }
-      const bodyLength = util.bodyLength(body);
-      let contentLength = bodyLength;
-      if (contentLength === null) {
-        contentLength = request2.contentLength;
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
+        }
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
       }
-      if (contentLength === 0 && !expectsPayload) {
-        contentLength = null;
+      onHeaders() {
+        throw new SocketError("bad connect", null);
       }
-      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
-        if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
-          return false;
+      onUpgrade(statusCode, rawHeaders, socket) {
+        const { callback, opaque, context: context2 } = this;
+        removeSignal(this);
+        this.callback = null;
+        let headers = rawHeaders;
+        if (headers != null) {
+          headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
         }
-        process.emitWarning(new RequestContentLengthMismatchError());
-      }
-      const socket = client[kSocket];
-      try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
-            return;
-          }
-          errorRequest2(client, request2, err || new RequestAbortedError());
-          util.destroy(socket, new InformationalError("aborted"));
+        this.runInAsyncScope(callback, null, null, {
+          statusCode,
+          headers,
+          socket,
+          opaque,
+          context: context2
         });
-      } catch (err) {
-        errorRequest2(client, request2, err);
-      }
-      if (request2.aborted) {
-        return false;
       }
-      if (method === "HEAD") {
-        socket[kReset] = true;
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
+        }
       }
-      if (upgrade || method === "CONNECT") {
-        socket[kReset] = true;
+    };
+    function connect(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve4, reject) => {
+          connect.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve4(data);
+          });
+        });
       }
-      if (reset != null) {
-        socket[kReset] = reset;
+      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 }));
       }
-      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
-        socket[kReset] = true;
+    }
+    module2.exports = connect;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/index.js
+var require_api2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/index.js"(exports2, module2) {
+    "use strict";
+    module2.exports.request = require_api_request2();
+    module2.exports.stream = require_api_stream2();
+    module2.exports.pipeline = require_api_pipeline2();
+    module2.exports.upgrade = require_api_upgrade2();
+    module2.exports.connect = require_api_connect2();
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js
+var require_mock_errors2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
+    "use strict";
+    var { UndiciError } = require_errors2();
+    var kMockNotMatchedError = /* @__PURE__ */ 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";
       }
-      if (blocking) {
-        socket[kBlocking] = true;
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kMockNotMatchedError] === true;
       }
-      let header = `${method} ${path5} HTTP/1.1\r
-`;
-      if (typeof host === "string") {
-        header += `host: ${host}\r
-`;
-      } else {
-        header += client[kHostHeader];
+      [kMockNotMatchedError] = true;
+    };
+    module2.exports = {
+      MockNotMatchedError
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js
+var require_mock_symbols2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kAgent: /* @__PURE__ */ Symbol("agent"),
+      kOptions: /* @__PURE__ */ Symbol("options"),
+      kFactory: /* @__PURE__ */ Symbol("factory"),
+      kDispatches: /* @__PURE__ */ Symbol("dispatches"),
+      kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
+      kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
+      kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
+      kContentLength: /* @__PURE__ */ Symbol("content length"),
+      kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
+      kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
+      kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
+      kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
+      kClose: /* @__PURE__ */ Symbol("close"),
+      kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
+      kOrigin: /* @__PURE__ */ Symbol("origin"),
+      kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
+      kNetConnect: /* @__PURE__ */ Symbol("net connect"),
+      kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
+      kConnected: /* @__PURE__ */ Symbol("connected")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js
+var require_mock_utils2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
+    "use strict";
+    var { MockNotMatchedError } = require_mock_errors2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kOriginalDispatch,
+      kOrigin,
+      kGetNetConnect
+    } = require_mock_symbols2();
+    var { buildURL } = require_util9();
+    var { STATUS_CODES } = require("node:http");
+    var {
+      types: {
+        isPromise
       }
-      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";
+    } = require("node:util");
+    function matchValue(match, value) {
+      if (typeof match === "string") {
+        return match === value;
       }
-      if (headers) {
-        header += headers;
+      if (match instanceof RegExp) {
+        return match.test(value);
       }
-      if (channels.sendHeaders.hasSubscribers) {
-        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      if (typeof match === "function") {
+        return match(value) === true;
       }
-      if (!body || bodyLength === 0) {
-        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");
-        }
-        request2.onRequestSent();
-      } else if (util.isBuffer(body)) {
-        assert(contentLength === body.byteLength, "buffer body must have content length");
-        socket.cork();
-        socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-        socket.write(body);
-        socket.uncork();
-        request2.onBodySent(body);
-        request2.onRequestSent();
-        if (!expectsPayload) {
-          socket[kReset] = true;
-        }
-      } else if (util.isBlobLike(body)) {
-        if (typeof body.stream === "function") {
-          writeIterable({ body: body.stream(), client, request: request2, socket, contentLength, header, expectsPayload });
-        } else {
-          writeBlob({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+      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];
+          }
         }
-      } else if (util.isStream(body)) {
-        writeStream({ body, client, request: request2, socket, contentLength, header, expectsPayload });
-      } else if (util.isIterable(body)) {
-        writeIterable({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+        return void 0;
+      } else if (typeof headers.get === "function") {
+        return headers.get(key);
       } else {
-        assert(false);
+        return lowerCaseEntries(headers)[key.toLocaleLowerCase()];
       }
-      return true;
     }
-    function writeH2(client, session, request2) {
-      const { body, method, path: path5, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
-      let headers;
-      if (typeof reqHeaders === "string") headers = Request[kHTTP2CopyHeaders](reqHeaders.trim());
-      else headers = reqHeaders;
-      if (upgrade) {
-        errorRequest2(client, request2, new Error("Upgrade not supported for H2"));
-        return false;
+    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]]);
       }
-      try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
-            return;
-          }
-          errorRequest2(client, request2, err || new RequestAbortedError());
-        });
-      } catch (err) {
-        errorRequest2(client, request2, err);
+      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 (request2.aborted) {
+      if (typeof mockDispatch2.headers === "undefined") {
+        return true;
+      }
+      if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") {
         return false;
       }
-      let stream;
-      const h2State = client[kHTTP2SessionState];
-      headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost];
-      headers[HTTP2_HEADER_METHOD] = method;
-      if (method === "CONNECT") {
-        session.ref();
-        stream = session.request(headers, { endStream: false, signal });
-        if (stream.id && !stream.pending) {
-          request2.onUpgrade(null, null, stream);
-          ++h2State.openStreams;
-        } else {
-          stream.once("ready", () => {
-            request2.onUpgrade(null, null, stream);
-            ++h2State.openStreams;
-          });
+      for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) {
+        const headerValue = getHeaderByName(headers, matchHeaderName);
+        if (!matchValue(matchHeaderValue, headerValue)) {
+          return false;
         }
-        stream.once("close", () => {
-          h2State.openStreams -= 1;
-          if (h2State.openStreams === 0) session.unref();
-        });
-        return true;
       }
-      headers[HTTP2_HEADER_PATH] = path5;
-      headers[HTTP2_HEADER_SCHEME] = "https";
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
-      if (body && typeof body.read === "function") {
-        body.read(0);
+      return true;
+    }
+    function safeUrl(path5) {
+      if (typeof path5 !== "string") {
+        return path5;
       }
-      let contentLength = util.bodyLength(body);
-      if (contentLength == null) {
-        contentLength = request2.contentLength;
+      const pathSegments = path5.split("?");
+      if (pathSegments.length !== 2) {
+        return path5;
       }
-      if (contentLength === 0 || !expectsPayload) {
-        contentLength = null;
+      const qp = new URLSearchParams(pathSegments.pop());
+      qp.sort();
+      return [...pathSegments, qp.toString()].join("?");
+    }
+    function matchKey(mockDispatch2, { path: path5, method, body, headers }) {
+      const pathMatch = matchValue(mockDispatch2.path, path5);
+      const methodMatch = matchValue(mockDispatch2.method, method);
+      const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
+      const headersMatch = matchHeaders(mockDispatch2, headers);
+      return pathMatch && methodMatch && bodyMatch && headersMatch;
+    }
+    function getResponseData2(data) {
+      if (Buffer.isBuffer(data)) {
+        return data;
+      } else if (data instanceof Uint8Array) {
+        return data;
+      } else if (data instanceof ArrayBuffer) {
+        return data;
+      } else if (typeof data === "object") {
+        return JSON.stringify(data);
+      } else {
+        return data.toString();
       }
-      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
-        if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
-          return false;
-        }
-        process.emitWarning(new RequestContentLengthMismatchError());
+    }
+    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: path5 }) => matchValue(safeUrl(path5), resolvedPath));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
       }
-      if (contentLength != null) {
-        assert(body, "no body must not have content length");
-        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
+      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}'`);
       }
-      session.ref();
-      const shouldEndStream = method === "GET" || method === "HEAD";
-      if (expectContinue) {
-        headers[HTTP2_HEADER_EXPECT] = "100-continue";
-        stream = session.request(headers, { endStream: shouldEndStream, signal });
-        stream.once("continue", writeBodyH2);
-      } else {
-        stream = session.request(headers, {
-          endStream: shouldEndStream,
-          signal
-        });
-        writeBodyH2();
+      matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}' on path '${resolvedPath}'`);
       }
-      ++h2State.openStreams;
-      stream.once("response", (headers2) => {
-        const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
-        if (request2.onHeaders(Number(statusCode), realHeaders, stream.resume.bind(stream), "") === false) {
-          stream.pause();
-        }
-      });
-      stream.once("end", () => {
-        request2.onComplete([]);
-      });
-      stream.on("data", (chunk) => {
-        if (request2.onData(chunk) === false) {
-          stream.pause();
-        }
-      });
-      stream.once("close", () => {
-        h2State.openStreams -= 1;
-        if (h2State.openStreams === 0) {
-          session.unref();
-        }
-      });
-      stream.once("error", function(err) {
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream, err);
-        }
-      });
-      stream.once("frameError", (type2, code) => {
-        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-        errorRequest2(client, request2, err);
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream, err);
+      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);
       });
-      return true;
-      function writeBodyH2() {
-        if (!body) {
-          request2.onRequestSent();
-        } else if (util.isBuffer(body)) {
-          assert(contentLength === body.byteLength, "buffer body must have content length");
-          stream.cork();
-          stream.write(body);
-          stream.uncork();
-          stream.end();
-          request2.onBodySent(body);
-          request2.onRequestSent();
-        } else if (util.isBlobLike(body)) {
-          if (typeof body.stream === "function") {
-            writeIterable({
-              client,
-              request: request2,
-              contentLength,
-              h2stream: stream,
-              expectsPayload,
-              body: body.stream(),
-              socket: client[kSocket],
-              header: ""
-            });
-          } else {
-            writeBlob({
-              body,
-              client,
-              request: request2,
-              contentLength,
-              expectsPayload,
-              h2stream: stream,
-              header: "",
-              socket: client[kSocket]
-            });
+      if (index !== -1) {
+        mockDispatches.splice(index, 1);
+      }
+    }
+    function buildKey(opts) {
+      const { path: path5, method, body, headers, query } = opts;
+      return {
+        path: path5,
+        method,
+        body,
+        headers,
+        query
+      };
+    }
+    function generateKeyValues(data) {
+      const keys = Object.keys(data);
+      const result = [];
+      for (let i = 0; i < keys.length; ++i) {
+        const key = keys[i];
+        const value = data[key];
+        const name = Buffer.from(`${key}`);
+        if (Array.isArray(value)) {
+          for (let j = 0; j < value.length; ++j) {
+            result.push(name, Buffer.from(`${value[j]}`));
           }
-        } else if (util.isStream(body)) {
-          writeStream({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            socket: client[kSocket],
-            h2stream: stream,
-            header: ""
-          });
-        } else if (util.isIterable(body)) {
-          writeIterable({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            header: "",
-            h2stream: stream,
-            socket: client[kSocket]
-          });
         } else {
-          assert(false);
+          result.push(name, Buffer.from(`${value}`));
         }
       }
+      return result;
     }
-    function writeStream({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
-      if (client[kHTTPConnVersion] === "h2") {
-        let onPipeData = function(chunk) {
-          request2.onBodySent(chunk);
-        };
-        const pipe = pipeline(
-          body,
-          h2stream,
-          (err) => {
-            if (err) {
-              util.destroy(body, err);
-              util.destroy(h2stream, err);
-            } else {
-              request2.onRequestSent();
-            }
-          }
-        );
-        pipe.on("data", onPipeData);
-        pipe.once("end", () => {
-          pipe.removeListener("data", onPipeData);
-          util.destroy(pipe);
-        });
-        return;
+    function getStatusText(statusCode) {
+      return STATUS_CODES[statusCode] || "unknown";
+    }
+    async function getResponse(body) {
+      const buffers = [];
+      for await (const data of body) {
+        buffers.push(data);
       }
-      let finished = false;
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
-      const onData = function(chunk) {
-        if (finished) {
-          return;
-        }
-        try {
-          if (!writer.write(chunk) && this.pause) {
-            this.pause();
-          }
-        } catch (err) {
-          util.destroy(this, err);
-        }
-      };
-      const onDrain = function() {
-        if (finished) {
-          return;
-        }
-        if (body.resume) {
-          body.resume();
-        }
-      };
-      const onAbort = function() {
-        if (finished) {
-          return;
-        }
-        const err = new RequestAbortedError();
-        queueMicrotask(() => onFinished(err));
-      };
-      const onFinished = function(err) {
-        if (finished) {
+      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: error3 }, delay: delay2, persist } = mockDispatch2;
+      const { timesInvoked, times } = mockDispatch2;
+      mockDispatch2.consumed = !persist && timesInvoked >= times;
+      mockDispatch2.pending = timesInvoked < times;
+      if (error3 !== null) {
+        deleteMockDispatch(this[kDispatches], key);
+        handler2.onError(error3);
+        return true;
+      }
+      if (typeof delay2 === "number" && delay2 > 0) {
+        setTimeout(() => {
+          handleReply(this[kDispatches]);
+        }, delay2);
+      } else {
+        handleReply(this[kDispatches]);
+      }
+      function handleReply(mockDispatches, _data = data) {
+        const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
+        const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
+        if (isPromise(body)) {
+          body.then((newData) => handleReply(mockDispatches, newData));
           return;
         }
-        finished = true;
-        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
-        socket.off("drain", onDrain).off("error", onFinished);
-        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("error", onFinished).removeListener("close", onAbort);
-        if (!err) {
+        const responseData = getResponseData2(body);
+        const responseHeaders = generateKeyValues(headers);
+        const responseTrailers = generateKeyValues(trailers);
+        handler2.onConnect?.((err) => handler2.onError(err), null);
+        handler2.onHeaders?.(statusCode, responseHeaders, resume, getStatusText(statusCode));
+        handler2.onData?.(Buffer.from(responseData));
+        handler2.onComplete?.(responseTrailers);
+        deleteMockDispatch(mockDispatches, key);
+      }
+      function resume() {
+      }
+      return true;
+    }
+    function buildMockDispatch() {
+      const agent = this[kMockAgent];
+      const origin = this[kOrigin];
+      const originalDispatch = this[kOriginalDispatch];
+      return function dispatch(opts, handler2) {
+        if (agent.isMockActive) {
           try {
-            writer.end();
-          } catch (er) {
-            err = er;
+            mockDispatch.call(this, opts, handler2);
+          } catch (error3) {
+            if (error3 instanceof MockNotMatchedError) {
+              const netConnect = agent[kGetNetConnect]();
+              if (netConnect === false) {
+                throw new MockNotMatchedError(`${error3.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(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
+              }
+            } else {
+              throw error3;
+            }
           }
-        }
-        writer.destroy(err);
-        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
-          util.destroy(body, err);
         } else {
-          util.destroy(body);
+          originalDispatch.call(this, opts, handler2);
         }
       };
-      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onAbort);
-      if (body.resume) {
-        body.resume();
-      }
-      socket.on("drain", onDrain).on("error", onFinished);
     }
-    async function writeBlob({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength === body.size, "blob body must have content length");
-      const isH2 = client[kHTTPConnVersion] === "h2";
-      try {
-        if (contentLength != null && contentLength !== body.size) {
-          throw new RequestContentLengthMismatchError();
-        }
-        const buffer = Buffer.from(await body.arrayBuffer());
-        if (isH2) {
-          h2stream.cork();
-          h2stream.write(buffer);
-          h2stream.uncork();
-        } else {
-          socket.cork();
-          socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-          socket.write(buffer);
-          socket.uncork();
-        }
-        request2.onBodySent(buffer);
-        request2.onRequestSent();
-        if (!expectsPayload) {
-          socket[kReset] = true;
-        }
-        resume(client);
-      } catch (err) {
-        util.destroy(isH2 ? h2stream : socket, err);
+    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;
     }
-    async function writeIterable({ h2stream, body, client, request: 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();
-        }
+    function buildMockOptions(opts) {
+      if (opts) {
+        const { agent, ...mockOptions } = opts;
+        return mockOptions;
       }
-      const waitForDrain = () => new Promise((resolve4, reject) => {
-        assert(callback === null);
-        if (socket[kError]) {
-          reject(socket[kError]);
-        } else {
-          callback = resolve4;
-        }
-      });
-      if (client[kHTTPConnVersion] === "h2") {
-        h2stream.on("close", onDrain).on("drain", onDrain);
-        try {
-          for await (const chunk of body) {
-            if (socket[kError]) {
-              throw socket[kError];
-            }
-            const res = h2stream.write(chunk);
-            request2.onBodySent(chunk);
-            if (!res) {
-              await waitForDrain();
-            }
-          }
-        } catch (err) {
-          h2stream.destroy(err);
-        } finally {
-          request2.onRequestSent();
-          h2stream.end();
-          h2stream.off("close", onDrain).off("drain", onDrain);
-        }
-        return;
+    }
+    module2.exports = {
+      getResponseData: getResponseData2,
+      getMockDispatch,
+      addMockDispatch,
+      deleteMockDispatch,
+      buildKey,
+      generateKeyValues,
+      matchValue,
+      getResponse,
+      getStatusText,
+      mockDispatch,
+      buildMockDispatch,
+      checkNetConnect,
+      buildMockOptions,
+      getHeaderByName,
+      buildHeadersFromArray
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js
+var require_mock_interceptor2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
+    "use strict";
+    var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kDispatchKey,
+      kDefaultHeaders,
+      kDefaultTrailers,
+      kContentLength,
+      kMockDispatch
+    } = require_mock_symbols2();
+    var { InvalidArgumentError } = require_errors2();
+    var { buildURL } = require_util9();
+    var MockScope = class {
+      constructor(mockDispatch) {
+        this[kMockDispatch] = mockDispatch;
       }
-      socket.on("close", onDrain).on("drain", onDrain);
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
-      try {
-        for await (const chunk of body) {
-          if (socket[kError]) {
-            throw socket[kError];
-          }
-          if (!writer.write(chunk)) {
-            await waitForDrain();
-          }
+      /**
+       * 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");
         }
-        writer.end();
-      } catch (err) {
-        writer.destroy(err);
-      } finally {
-        socket.off("close", onDrain).off("drain", onDrain);
+        this[kMockDispatch].delay = waitInMs;
+        return this;
       }
-    }
-    var AsyncWriter = class {
-      constructor({ 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;
-        socket[kWriting] = true;
+      /**
+       * For a defined reply, never mark as consumed.
+       */
+      persist() {
+        this[kMockDispatch].persist = true;
+        return this;
       }
-      write(chunk) {
-        const { socket, request: request2, contentLength, client, bytesWritten, expectsPayload, header } = this;
-        if (socket[kError]) {
-          throw socket[kError];
+      /**
+       * Allow one to define a reply for a set amount of matching requests.
+       */
+      times(repeatTimes) {
+        if (typeof repeatTimes !== "number" || !Number.isInteger(repeatTimes) || repeatTimes <= 0) {
+          throw new InvalidArgumentError("repeatTimes must be a valid integer > 0");
         }
-        if (socket.destroyed) {
-          return false;
+        this[kMockDispatch].times = repeatTimes;
+        return this;
+      }
+    };
+    var MockInterceptor = class {
+      constructor(opts, mockDispatches) {
+        if (typeof opts !== "object") {
+          throw new InvalidArgumentError("opts must be an object");
         }
-        const len = Buffer.byteLength(chunk);
-        if (!len) {
-          return true;
+        if (typeof opts.path === "undefined") {
+          throw new InvalidArgumentError("opts.path must be defined");
         }
-        if (contentLength !== null && bytesWritten + len > contentLength) {
-          if (client[kStrictContentLength]) {
-            throw new RequestContentLengthMismatchError();
-          }
-          process.emitWarning(new RequestContentLengthMismatchError());
+        if (typeof opts.method === "undefined") {
+          opts.method = "GET";
         }
-        socket.cork();
-        if (bytesWritten === 0) {
-          if (!expectsPayload) {
-            socket[kReset] = true;
-          }
-          if (contentLength === null) {
-            socket.write(`${header}transfer-encoding: chunked\r
-`, "latin1");
+        if (typeof opts.path === "string") {
+          if (opts.query) {
+            opts.path = buildURL(opts.path, opts.query);
           } else {
-            socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
+            const parsedURL = new URL(opts.path, "data://");
+            opts.path = parsedURL.pathname + parsedURL.search;
           }
         }
-        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();
-            }
-          }
+        if (typeof opts.method === "string") {
+          opts.method = opts.method.toUpperCase();
         }
-        return ret;
+        this[kDispatchKey] = buildKey(opts);
+        this[kDispatches] = mockDispatches;
+        this[kDefaultHeaders] = {};
+        this[kDefaultTrailers] = {};
+        this[kContentLength] = false;
       }
-      end() {
-        const { socket, contentLength, client, bytesWritten, expectsPayload, header, request: request2 } = this;
-        request2.onRequestSent();
-        socket[kWriting] = false;
-        if (socket[kError]) {
-          throw socket[kError];
+      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 (socket.destroyed) {
-          return;
+        if (typeof replyParameters.responseOptions !== "object" || replyParameters.responseOptions === null) {
+          throw new InvalidArgumentError("responseOptions must be an object");
         }
-        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");
+      }
+      /**
+       * 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);
         }
-        if (contentLength !== null && bytesWritten !== contentLength) {
-          if (client[kStrictContentLength]) {
-            throw new RequestContentLengthMismatchError();
-          } else {
-            process.emitWarning(new RequestContentLengthMismatchError());
-          }
+        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(error3) {
+        if (typeof error3 === "undefined") {
+          throw new InvalidArgumentError("error must be defined");
         }
-        if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
-          if (socket[kParser].timeout.refresh) {
-            socket[kParser].timeout.refresh();
-          }
+        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error: error3 });
+        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");
         }
-        resume(client);
+        this[kDefaultHeaders] = headers;
+        return this;
       }
-      destroy(err) {
-        const { socket, client } = this;
-        socket[kWriting] = false;
-        if (err) {
-          assert(client[kRunning] <= 1, "pipeline should only contain this request");
-          util.destroy(socket, err);
+      /**
+       * 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;
       }
-    };
-    function errorRequest2(client, request2, err) {
-      try {
-        request2.onError(err);
-        assert(request2.aborted);
-      } catch (err2) {
-        client.emit("error", err2);
+      /**
+       * Set reply content length header for replies on the interceptor
+       */
+      replyContentLength() {
+        this[kContentLength] = true;
+        return this;
       }
-    }
-    module2.exports = Client;
+    };
+    module2.exports.MockInterceptor = MockInterceptor;
+    module2.exports.MockScope = MockScope;
   }
 });
 
-// node_modules/undici/lib/node/fixed-queue.js
-var require_fixed_queue2 = __commonJS({
-  "node_modules/undici/lib/node/fixed-queue.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js
+var require_mock_client2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.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;
+    var { promisify } = require("node:util");
+    var Client = require_client2();
+    var { buildMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols2();
+    var { MockInterceptor } = require_mock_interceptor2();
+    var Symbols = require_symbols6();
+    var { InvalidArgumentError } = require_errors2();
+    var MockClient = class extends Client {
+      constructor(origin, opts) {
+        super(origin, opts);
+        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
+        }
+        this[kMockAgent] = opts.agent;
+        this[kOrigin] = origin;
+        this[kDispatches] = [];
+        this[kConnected] = 1;
+        this[kOriginalDispatch] = this.dispatch;
+        this[kOriginalClose] = this.close.bind(this);
+        this.dispatch = buildMockDispatch.call(this);
+        this.close = this[kClose];
       }
-      isFull() {
-        return (this.top + 1 & kMask) === this.bottom;
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
-      push(data) {
-        this.list[this.top] = data;
-        this.top = this.top + 1 & kMask;
+      /**
+       * Sets up the base interceptor for mocking replies from undici.
+       */
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
       }
-      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;
+      async [kClose]() {
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
     };
-    module2.exports = class FixedQueue {
-      constructor() {
-        this.head = this.tail = new FixedCircularBuffer();
+    module2.exports = MockClient;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js
+var require_mock_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
+    "use strict";
+    var { promisify } = require("node:util");
+    var Pool = require_pool2();
+    var { buildMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols2();
+    var { MockInterceptor } = require_mock_interceptor2();
+    var Symbols = require_symbols6();
+    var { InvalidArgumentError } = require_errors2();
+    var MockPool = class extends Pool {
+      constructor(origin, opts) {
+        super(origin, opts);
+        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
+        }
+        this[kMockAgent] = opts.agent;
+        this[kOrigin] = origin;
+        this[kDispatches] = [];
+        this[kConnected] = 1;
+        this[kOriginalDispatch] = this.dispatch;
+        this[kOriginalClose] = this.close.bind(this);
+        this.dispatch = buildMockDispatch.call(this);
+        this.close = this[kClose];
       }
-      isEmpty() {
-        return this.head.isEmpty();
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
-      push(data) {
-        if (this.head.isFull()) {
-          this.head = this.head.next = new FixedCircularBuffer();
-        }
-        this.head.push(data);
+      /**
+       * Sets up the base interceptor for mocking replies from undici.
+       */
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
       }
-      shift() {
-        const tail = this.tail;
-        const next = tail.shift();
-        if (tail.isEmpty() && tail.next !== null) {
-          this.tail = tail.next;
-        }
-        return next;
+      async [kClose]() {
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
     };
+    module2.exports = MockPool;
   }
 });
 
-// node_modules/undici/lib/pool-stats.js
-var require_pool_stats2 = __commonJS({
-  "node_modules/undici/lib/pool-stats.js"(exports2, module2) {
-    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
-    var kPool = /* @__PURE__ */ 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];
+// node_modules/@actions/github/node_modules/undici/lib/mock/pluralizer.js
+var require_pluralizer2 = __commonJS({
+  "node_modules/@actions/github/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;
       }
-      get size() {
-        return this[kPool][kSize];
+      pluralize(count) {
+        const one = count === 1;
+        const keys = one ? singulars : plurals;
+        const noun = one ? this.singular : this.plural;
+        return { ...keys, count, noun };
       }
     };
-    module2.exports = PoolStats;
   }
 });
 
-// node_modules/undici/lib/pool-base.js
-var require_pool_base2 = __commonJS({
-  "node_modules/undici/lib/pool-base.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js
+var require_pending_interceptors_formatter2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
     "use strict";
-    var DispatcherBase = require_dispatcher_base2();
-    var FixedQueue = require_fixed_queue2();
-    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
-    var PoolStats = require_pool_stats2();
-    var kClients = /* @__PURE__ */ Symbol("clients");
-    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
-    var kQueue = /* @__PURE__ */ Symbol("queue");
-    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
-    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
-    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
-    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
-    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
-    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
-    var kAddClient = /* @__PURE__ */ Symbol("add client");
-    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
-    var kStats = /* @__PURE__ */ 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]);
+    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);
           }
-          if (pool[kClosedResolve] && queue.isEmpty()) {
-            Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]);
+        });
+        this.logger = new Console({
+          stdout: this.transform,
+          inspectOptions: {
+            colors: !disableColors && !process.env.CI
           }
-        };
-        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;
+      format(pendingInterceptors) {
+        const withPrettyHeaders = pendingInterceptors.map(
+          ({ method, path: path5, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
+            Method: method,
+            Origin: origin,
+            Path: path5,
+            "Status code": statusCode,
+            Persistent: persist ? PERSISTENT : NOT_PERSISTENT,
+            Invocations: timesInvoked,
+            Remaining: persist ? Infinity : times - timesInvoked
+          })
+        );
+        this.logger.table(withPrettyHeaders);
+        return this.transform.read().toString();
       }
-      get [kFree]() {
-        return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js
+var require_mock_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
+    "use strict";
+    var { kClients } = require_symbols6();
+    var Agent = require_agent2();
+    var {
+      kAgent,
+      kMockAgentSet,
+      kMockAgentGet,
+      kDispatches,
+      kIsMockActive,
+      kNetConnect,
+      kGetNetConnect,
+      kOptions,
+      kFactory
+    } = require_mock_symbols2();
+    var MockClient = require_mock_client2();
+    var MockPool = require_mock_pool2();
+    var { matchValue, buildMockOptions } = require_mock_utils2();
+    var { InvalidArgumentError, UndiciError } = require_errors2();
+    var Dispatcher = require_dispatcher2();
+    var Pluralizer = require_pluralizer2();
+    var PendingInterceptorsFormatter = require_pending_interceptors_formatter2();
+    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 [kPending]() {
-        let ret = this[kQueued];
-        for (const { [kPending]: pending } of this[kClients]) {
-          ret += pending;
+      get(origin) {
+        let dispatcher = this[kMockAgentGet](origin);
+        if (!dispatcher) {
+          dispatcher = this[kFactory](origin);
+          this[kMockAgentSet](origin, dispatcher);
         }
-        return ret;
+        return dispatcher;
       }
-      get [kRunning]() {
-        let ret = 0;
-        for (const { [kRunning]: running } of this[kClients]) {
-          ret += running;
+      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.");
         }
-        return ret;
       }
-      get [kSize]() {
-        let ret = this[kQueued];
-        for (const { [kSize]: size } of this[kClients]) {
-          ret += size;
-        }
-        return ret;
+      disableNetConnect() {
+        this[kNetConnect] = false;
       }
-      get stats() {
-        return this[kStats];
+      // This is required to bypass issues caused by using global symbols - see:
+      // https://github.com/nodejs/undici/issues/1447
+      get isMockActive() {
+        return this[kIsMockActive];
       }
-      async [kClose]() {
-        if (this[kQueue].isEmpty()) {
-          return Promise.all(this[kClients].map((c) => c.close()));
-        } else {
-          return new Promise((resolve4) => {
-            this[kClosedResolve] = resolve4;
-          });
-        }
+      [kMockAgentSet](origin, dispatcher) {
+        this[kClients].set(origin, dispatcher);
       }
-      async [kDestroy](err) {
-        while (true) {
-          const item = this[kQueue].shift();
-          if (!item) {
-            break;
+      [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;
           }
-          item.handler.onError(err);
         }
-        return 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];
+      [kGetNetConnect]() {
+        return this[kNetConnect];
       }
-      [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]) {
-          process.nextTick(() => {
-            if (this[kNeedDrain]) {
-              this[kOnDrain](client[kUrl], [this, client]);
-            }
-          });
-        }
-        return this;
+      pendingInterceptors() {
+        const mockAgentClients = this[kClients];
+        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
       }
-      [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);
+      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 = {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kRemoveClient,
-      kGetDispatcher
-    };
+    module2.exports = MockAgent;
   }
 });
 
-// node_modules/undici/lib/pool.js
-var require_pool2 = __commonJS({
-  "node_modules/undici/lib/pool.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/global.js
+var require_global4 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/global.js"(exports2, module2) {
     "use strict";
-    var {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kGetDispatcher
-    } = require_pool_base2();
-    var Client = require_client2();
-    var {
-      InvalidArgumentError
-    } = require_errors2();
-    var util = require_util9();
-    var { kUrl, kInterceptors } = require_symbols6();
-    var buildConnector = require_connect2();
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    var kConnections = /* @__PURE__ */ Symbol("connections");
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    function defaultFactory(origin, opts) {
-      return new Client(origin, opts);
+    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
+    var { InvalidArgumentError } = require_errors2();
+    var Agent = require_agent2();
+    if (getGlobalDispatcher() === void 0) {
+      setGlobalDispatcher(new Agent());
     }
-    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,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
-            ...connect
-          });
-        }
-        this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
-        this[kConnections] = connections || null;
-        this[kUrl] = util.parseOrigin(origin);
-        this[kOptions] = { ...util.deepClone(options), connect, allowH2 };
-        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
-        this[kFactory] = factory;
-        this.on("connectionError", (origin2, targets, error3) => {
-          for (const target of targets) {
-            const idx = this[kClients].indexOf(target);
-            if (idx !== -1) {
-              this[kClients].splice(idx, 1);
-            }
-          }
-        });
-      }
-      [kGetDispatcher]() {
-        let dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain]);
-        if (dispatcher) {
-          return dispatcher;
-        }
-        if (!this[kConnections] || this[kClients].length < this[kConnections]) {
-          dispatcher = this[kFactory](this[kUrl], this[kOptions]);
-          this[kAddClient](dispatcher);
-        }
-        return dispatcher;
+    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
     };
-    module2.exports = Pool;
   }
 });
 
-// node_modules/undici/lib/balanced-pool.js
-var require_balanced_pool2 = __commonJS({
-  "node_modules/undici/lib/balanced-pool.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/handler/decorator-handler.js
+var require_decorator_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/decorator-handler.js"(exports2, module2) {
     "use strict";
-    var {
-      BalancedPoolMissingUpstreamError,
-      InvalidArgumentError
-    } = require_errors2();
-    var {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kRemoveClient,
-      kGetDispatcher
-    } = require_pool_base2();
-    var Pool = require_pool2();
-    var { kUrl, kInterceptors } = require_symbols6();
-    var { parseOrigin } = require_util9();
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
-    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
-    var kIndex = /* @__PURE__ */ Symbol("kIndex");
-    var kWeight = /* @__PURE__ */ Symbol("kWeight");
-    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
-    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
-    function getGreatestCommonDivisor(a, b) {
-      if (b === 0) return a;
-      return getGreatestCommonDivisor(b, a % b);
-    }
-    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 && opts.interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : [];
-        this[kFactory] = factory;
-        for (const upstream of upstreams) {
-          this.addUpstream(upstream);
+    module2.exports = class DecoratorHandler {
+      #handler;
+      constructor(handler2) {
+        if (typeof handler2 !== "object" || handler2 === null) {
+          throw new TypeError("handler must be an object");
         }
-        this._updateBalancedPoolStats();
+        this.#handler = handler2;
       }
-      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;
+      onConnect(...args) {
+        return this.#handler.onConnect?.(...args);
       }
-      _updateBalancedPoolStats() {
-        this[kGreatestCommonDivisor] = this[kClients].map((p) => p[kWeight]).reduce(getGreatestCommonDivisor, 0);
+      onError(...args) {
+        return this.#handler.onError?.(...args);
       }
-      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;
+      onUpgrade(...args) {
+        return this.#handler.onUpgrade?.(...args);
       }
-      get upstreams() {
-        return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin);
+      onResponseStarted(...args) {
+        return this.#handler.onResponseStarted?.(...args);
       }
-      [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];
+      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);
       }
     };
-    module2.exports = BalancedPool;
   }
 });
 
-// node_modules/undici/lib/compat/dispatcher-weakref.js
-var require_dispatcher_weakref2 = __commonJS({
-  "node_modules/undici/lib/compat/dispatcher-weakref.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js
+var require_redirect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js"(exports2, module2) {
     "use strict";
-    var { kConnected, kSize } = require_symbols6();
-    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);
-            }
-          });
-        }
-      }
+    var RedirectHandler = require_redirect_handler2();
+    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);
+        };
+      };
     };
-    module2.exports = function() {
-      if (process.env.NODE_V8_COVERAGE) {
-        return {
-          WeakRef: CompatWeakRef,
-          FinalizationRegistry: CompatFinalizer
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js
+var require_retry2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js"(exports2, module2) {
+    "use strict";
+    var RetryHandler = require_retry_handler2();
+    module2.exports = (globalOpts) => {
+      return (dispatch) => {
+        return function retryInterceptor(opts, handler2) {
+          return dispatch(
+            opts,
+            new RetryHandler(
+              { ...opts, retryOptions: { ...globalOpts, ...opts.retryOptions } },
+              {
+                handler: handler2,
+                dispatch
+              }
+            )
+          );
         };
-      }
-      return {
-        WeakRef: global.WeakRef || CompatWeakRef,
-        FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer
       };
     };
   }
 });
 
-// node_modules/undici/lib/agent.js
-var require_agent2 = __commonJS({
-  "node_modules/undici/lib/agent.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/dump.js
+var require_dump2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/dump.js"(exports2, module2) {
     "use strict";
-    var { InvalidArgumentError } = require_errors2();
-    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
-    var DispatcherBase = require_dispatcher_base2();
-    var Pool = require_pool2();
-    var Client = require_client2();
     var util = require_util9();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var { WeakRef: WeakRef2, FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
-    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
-    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
-    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
-    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
-    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    var kFinalizer = /* @__PURE__ */ Symbol("finalizer");
-    var kOptions = /* @__PURE__ */ 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");
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
+    var DecoratorHandler = require_decorator_handler2();
+    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");
         }
-        if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {
-          throw new InvalidArgumentError("maxRedirections must be a positive number");
+        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 (connect && typeof connect !== "function") {
-          connect = { ...connect };
+        if (this.#aborted) {
+          return true;
         }
-        this[kInterceptors] = options.interceptors && options.interceptors.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
-        this[kOptions] = { ...util.deepClone(options), connect };
-        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
-        this[kMaxRedirections] = maxRedirections;
-        this[kFactory] = factory;
-        this[kClients] = /* @__PURE__ */ new Map();
-        this[kFinalizer] = new FinalizationRegistry2(
-          /* istanbul ignore next: gc is undeterministic */
-          (key) => {
-            const ref = this[kClients].get(key);
-            if (ref !== void 0 && ref.deref() === void 0) {
-              this[kClients].delete(key);
-            }
-          }
+        return this.#handler.onHeaders(
+          statusCode,
+          rawHeaders,
+          resume,
+          statusMessage
         );
-        const agent = this;
-        this[kOnDrain] = (origin, targets) => {
-          agent.emit("drain", origin, [agent, ...targets]);
-        };
-        this[kOnConnect] = (origin, targets) => {
-          agent.emit("connect", origin, [agent, ...targets]);
-        };
-        this[kOnDisconnect] = (origin, targets, err) => {
-          agent.emit("disconnect", origin, [agent, ...targets], err);
-        };
-        this[kOnConnectionError] = (origin, targets, err) => {
-          agent.emit("connectionError", origin, [agent, ...targets], err);
-        };
-      }
-      get [kRunning]() {
-        let ret = 0;
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            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.");
-        }
-        const ref = this[kClients].get(key);
-        let dispatcher = ref ? ref.deref() : null;
-        if (!dispatcher) {
-          dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
-          this[kClients].set(key, new WeakRef2(dispatcher));
-          this[kFinalizer].register(dispatcher, key);
+      onError(err) {
+        if (this.#dumped) {
+          return;
         }
-        return dispatcher.dispatch(opts, handler2);
+        err = this.#reason ?? err;
+        this.#handler.onError(err);
       }
-      async [kClose]() {
-        const closePromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            closePromises.push(client.close());
+      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([]);
           }
         }
-        await Promise.all(closePromises);
+        return true;
       }
-      async [kDestroy](err) {
-        const destroyPromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            destroyPromises.push(client.destroy(err));
-          }
+      onComplete(trailers) {
+        if (this.#dumped) {
+          return;
         }
-        await Promise.all(destroyPromises);
+        if (this.#aborted) {
+          this.#handler.onError(this.reason);
+          return;
+        }
+        this.#handler.onComplete(trailers);
       }
     };
-    module2.exports = Agent;
+    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/api/readable.js
-var require_readable2 = __commonJS({
-  "node_modules/undici/lib/api/readable.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/dns.js
+var require_dns2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/dns.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { Readable } = require("stream");
-    var { RequestAbortedError, NotSupportedError, InvalidArgumentError } = require_errors2();
-    var util = require_util9();
-    var { ReadableStreamFrom, toUSVString } = require_util9();
-    var Blob2;
-    var kConsume = /* @__PURE__ */ Symbol("kConsume");
-    var kReading = /* @__PURE__ */ Symbol("kReading");
-    var kBody = /* @__PURE__ */ Symbol("kBody");
-    var kAbort = /* @__PURE__ */ Symbol("abort");
-    var kContentType = /* @__PURE__ */ Symbol("kContentType");
-    var noop3 = () => {
-    };
-    module2.exports = class BodyReadable extends Readable {
-      constructor({
-        resume,
-        abort,
-        contentType = "",
-        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[kReading] = false;
-      }
-      destroy(err) {
-        if (this.destroyed) {
-          return this;
-        }
-        if (!err && !this._readableState.endEmitted) {
-          err = new RequestAbortedError();
-        }
-        if (err) {
-          this[kAbort]();
-        }
-        return super.destroy(err);
-      }
-      emit(ev, ...args) {
-        if (ev === "data") {
-          this._readableState.dataEmitted = true;
-        } else if (ev === "error") {
-          this._readableState.errorEmitted = true;
-        }
-        return super.emit(ev, ...args);
-      }
-      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;
+    var { isIP } = require("node:net");
+    var { lookup } = require("node:dns");
+    var DecoratorHandler = require_decorator_handler2();
+    var { InvalidArgumentError, InformationalError } = require_errors2();
+    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;
       }
-      removeListener(ev, ...args) {
-        return this.off(ev, ...args);
+      get full() {
+        return this.#records.size === this.#maxItems;
       }
-      push(chunk) {
-        if (this[kConsume] && chunk !== null && this.readableLength === 0) {
-          consumePush(this[kConsume], chunk);
-          return this[kReading] ? super.push(chunk) : true;
+      runLookup(origin, opts, cb) {
+        const ips = this.#records.get(origin.hostname);
+        if (ips == null && this.full) {
+          cb(null, origin.origin);
+          return;
         }
-        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-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);
+        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}`
+          );
         }
-        return this[kBody];
       }
-      dump(opts) {
-        let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144;
-        const signal = opts && opts.signal;
-        if (signal) {
-          try {
-            if (typeof signal !== "object" || !("aborted" in signal)) {
-              throw new InvalidArgumentError("signal must be an AbortSignal");
+      #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);
             }
-            util.throwIfAborted(signal);
-          } catch (err) {
-            return Promise.reject(err);
+            const results = /* @__PURE__ */ new Map();
+            for (const addr of addresses) {
+              results.set(`${addr.address}:${addr.family}`, addr);
+            }
+            cb(null, results.values());
           }
-        }
-        if (this.closed) {
-          return Promise.resolve(null);
-        }
-        return new Promise((resolve4, reject) => {
-          const signalListenerCleanup = signal ? util.addAbortListener(signal, () => {
-            this.destroy();
-          }) : noop3;
-          this.on("close", function() {
-            signalListenerCleanup();
-            if (signal && signal.aborted) {
-              reject(signal.reason || Object.assign(new Error("The operation was aborted"), { name: "AbortError" }));
+        );
+      }
+      #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 {
-              resolve4(null);
-            }
-          }).on("error", noop3).on("data", function(chunk) {
-            limit -= chunk.length;
-            if (limit <= 0) {
-              this.destroy();
+              hostnameRecords.offset++;
+              affinity = (hostnameRecords.offset & 1) === 1 ? 6 : 4;
             }
-          }).resume();
-        });
-      }
-    };
-    function isLocked(self2) {
-      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
-    }
-    function isUnusable(self2) {
-      return util.isDisturbed(self2) || isLocked(self2);
-    }
-    async function consume(stream, type2) {
-      if (isUnusable(stream)) {
-        throw new TypeError("unusable");
-      }
-      assert(!stream[kConsume]);
-      return new Promise((resolve4, reject) => {
-        stream[kConsume] = {
-          type: type2,
-          stream,
-          resolve: resolve4,
-          reject,
-          length: 0,
-          body: []
-        };
-        stream.on("error", function(err) {
-          consumeFinish(this[kConsume], err);
-        }).on("close", function() {
-          if (this[kConsume].body !== null) {
-            consumeFinish(this[kConsume], new RequestAbortedError());
           }
-        });
-        process.nextTick(consumeStart, stream[kConsume]);
-      });
-    }
-    function consumeStart(consume2) {
-      if (consume2.body === null) {
-        return;
-      }
-      const { _readableState: state } = consume2.stream;
-      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 consumeEnd(consume2) {
-      const { type: type2, body, resolve: resolve4, stream, length } = consume2;
-      try {
-        if (type2 === "text") {
-          resolve4(toUSVString(Buffer.concat(body)));
-        } else if (type2 === "json") {
-          resolve4(JSON.parse(Buffer.concat(body)));
-        } else if (type2 === "arrayBuffer") {
-          const dst = new Uint8Array(length);
-          let pos = 0;
-          for (const buf of body) {
-            dst.set(buf, pos);
-            pos += buf.byteLength;
+          if (records[affinity] != null && records[affinity].ips.length > 0) {
+            family = records[affinity];
+          } else {
+            family = records[affinity === 4 ? 6 : 4];
           }
-          resolve4(dst.buffer);
-        } else if (type2 === "blob") {
-          if (!Blob2) {
-            Blob2 = require("buffer").Blob;
+        } 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 timestamp2 = Date.now();
+        const records = { records: { 4: null, 6: null } };
+        for (const record of addresses) {
+          record.timestamp = timestamp2;
+          if (typeof record.ttl === "number") {
+            record.ttl = Math.min(record.ttl, this.#maxTTL);
+          } else {
+            record.ttl = this.#maxTTL;
           }
-          resolve4(new Blob2(body, { type: stream[kContentType] }));
+          const familyRecords = records.records[record.family] ?? { ips: [] };
+          familyRecords.ips.push(record);
+          records.records[record.family] = familyRecords;
         }
-        consumeFinish(consume2);
-      } catch (err) {
-        stream.destroy(err);
+        this.#records.set(origin.hostname, records);
       }
-    }
-    function consumePush(consume2, chunk) {
-      consume2.length += chunk.length;
-      consume2.body.push(chunk);
-    }
-    function consumeFinish(consume2, err) {
-      if (consume2.body === null) {
-        return;
+      getHandler(meta, opts) {
+        return new DNSDispatchHandler(this, meta, opts);
       }
-      if (err) {
-        consume2.reject(err);
-      } else {
-        consume2.resolve();
+    };
+    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;
       }
-      consume2.type = null;
-      consume2.stream = null;
-      consume2.resolve = null;
-      consume2.reject = null;
-      consume2.length = 0;
-      consume2.body = null;
-    }
-  }
-});
-
-// node_modules/undici/lib/api/util.js
-var require_util11 = __commonJS({
-  "node_modules/undici/lib/api/util.js"(exports2, module2) {
-    var assert = require("assert");
-    var {
-      ResponseStatusCodeError
-    } = require_errors2();
-    var { toUSVString } = require_util9();
-    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
-      assert(body);
-      let chunks = [];
-      let limit = 0;
-      for await (const chunk of body) {
-        chunks.push(chunk);
-        limit += chunk.length;
-        if (limit > 128 * 1024) {
-          chunks = null;
-          break;
+      onError(err) {
+        switch (err.code) {
+          case "ETIMEDOUT":
+          case "ECONNREFUSED": {
+            if (this.#state.dualStack) {
+              this.#state.runLookup(this.#origin, this.#opts, (err2, newOrigin) => {
+                if (err2) {
+                  return this.#handler.onError(err2);
+                }
+                const dispatchOpts = {
+                  ...this.#opts,
+                  origin: newOrigin
+                };
+                this.#dispatch(dispatchOpts, this);
+              });
+              return;
+            }
+            this.#handler.onError(err);
+            return;
+          }
+          case "ENOTFOUND":
+            this.#state.deleteRecord(this.#origin);
+          // eslint-disable-next-line no-fallthrough
+          default:
+            this.#handler.onError(err);
+            break;
         }
       }
-      if (statusCode === 204 || !contentType || !chunks) {
-        process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
-        return;
+    };
+    module2.exports = (interceptorOpts) => {
+      if (interceptorOpts?.maxTTL != null && (typeof interceptorOpts?.maxTTL !== "number" || interceptorOpts?.maxTTL < 0)) {
+        throw new InvalidArgumentError("Invalid maxTTL. Must be a positive number");
       }
-      try {
-        if (contentType.startsWith("application/json")) {
-          const payload = JSON.parse(toUSVString(Buffer.concat(chunks)));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
-        }
-        if (contentType.startsWith("text/")) {
-          const payload = toUSVString(Buffer.concat(chunks));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
-        }
-      } catch (err) {
+      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"
+        );
       }
-      process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
-    }
-    module2.exports = { getResolveErrorBodyCallback };
-  }
-});
-
-// node_modules/undici/lib/api/abort-signal.js
-var require_abort_signal2 = __commonJS({
-  "node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
-    var { addAbortListener } = require_util9();
-    var { RequestAbortedError } = require_errors2();
-    var kListener = /* @__PURE__ */ Symbol("kListener");
-    var kSignal = /* @__PURE__ */ Symbol("kSignal");
-    function abort(self2) {
-      if (self2.abort) {
-        self2.abort();
-      } else {
-        self2.onError(new RequestAbortedError());
+      if (interceptorOpts?.affinity != null && interceptorOpts?.affinity !== 4 && interceptorOpts?.affinity !== 6) {
+        throw new InvalidArgumentError("Invalid affinity. Must be either 4 or 6");
       }
-    }
-    function addSignal(self2, signal) {
-      self2[kSignal] = null;
-      self2[kListener] = null;
-      if (!signal) {
-        return;
+      if (interceptorOpts?.dualStack != null && typeof interceptorOpts?.dualStack !== "boolean") {
+        throw new InvalidArgumentError("Invalid dualStack. Must be a boolean");
       }
-      if (signal.aborted) {
-        abort(self2);
-        return;
+      if (interceptorOpts?.lookup != null && typeof interceptorOpts?.lookup !== "function") {
+        throw new InvalidArgumentError("Invalid lookup. Must be a function");
       }
-      self2[kSignal] = signal;
-      self2[kListener] = () => {
-        abort(self2);
-      };
-      addAbortListener(self2[kSignal], self2[kListener]);
-    }
-    function removeSignal(self2) {
-      if (!self2[kSignal]) {
-        return;
+      if (interceptorOpts?.pick != null && typeof interceptorOpts?.pick !== "function") {
+        throw new InvalidArgumentError("Invalid pick. Must be a function");
       }
-      if ("removeEventListener" in self2[kSignal]) {
-        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      const dualStack = interceptorOpts?.dualStack ?? true;
+      let affinity;
+      if (dualStack) {
+        affinity = interceptorOpts?.affinity ?? null;
       } else {
-        self2[kSignal].removeListener("abort", self2[kListener]);
+        affinity = interceptorOpts?.affinity ?? 4;
       }
-      self2[kSignal] = null;
-      self2[kListener] = null;
-    }
-    module2.exports = {
-      addSignal,
-      removeSignal
+      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/api/api-request.js
-var require_api_request2 = __commonJS({
-  "node_modules/undici/lib/api/api-request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js
+var require_headers2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js"(exports2, module2) {
     "use strict";
-    var Readable = require_readable2();
+    var { kConstruct } = require_symbols6();
+    var { kEnumerableProperty } = require_util9();
     var {
-      InvalidArgumentError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { getResolveErrorBodyCallback } = require_util11();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var RequestHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
-        try {
-          if (typeof callback !== "function") {
-            throw new InvalidArgumentError("invalid callback");
-          }
-          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
-            throw new InvalidArgumentError("invalid highWaterMark");
-          }
-          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-          }
-          if (method === "CONNECT") {
-            throw new InvalidArgumentError("invalid method");
-          }
-          if (onInfo && typeof onInfo !== "function") {
-            throw new InvalidArgumentError("invalid onInfo callback");
-          }
-          super("UNDICI_REQUEST");
-        } catch (err) {
-          if (util.isStream(body)) {
-            util.destroy(body.on("error", util.nop), err);
+      iteratorMixin,
+      isValidHeaderName,
+      isValidHeaderValue
+    } = require_util10();
+    var { webidl } = require_webidl2();
+    var assert = require("node:assert");
+    var util = require("node:util");
+    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
+    var kHeadersSortedMap = /* @__PURE__ */ 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}.`
+            });
           }
-          throw err;
+          appendHeader(headers, header[0], header[1]);
         }
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.callback = callback;
-        this.res = null;
-        this.abort = null;
-        this.body = body;
-        this.trailers = {};
-        this.context = null;
-        this.onInfo = onInfo || null;
-        this.throwOnError = throwOnError;
-        this.highWaterMark = highWaterMark;
-        if (util.isStream(body)) {
-          body.on("error", (err) => {
-            this.onError(err);
-          });
+      } 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]]);
         }
-        addSignal(this, signal);
+      } else {
+        throw webidl.errors.conversionFailed({
+          prefix: "Headers constructor",
+          argument: "Argument 1",
+          types: ["sequence>", "record"]
+        });
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
+    }
+    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"
+        });
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const { callback, opaque, abort, context: context2, 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 body = new Readable({ resume, abort, contentType, highWaterMark });
-        this.callback = null;
-        this.res = body;
-        if (callback !== null) {
-          if (this.throwOnError && statusCode >= 400) {
-            this.runInAsyncScope(
-              getResolveErrorBodyCallback,
-              null,
-              { callback, body, contentType, statusCode, statusMessage, headers }
-            );
-          } else {
-            this.runInAsyncScope(callback, null, null, {
-              statusCode,
-              headers,
-              trailers: this.trailers,
-              opaque,
-              body,
-              context: context2
-            });
-          }
+      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;
         }
       }
-      onData(chunk) {
-        const { res } = this;
-        return res.push(chunk);
+      /**
+       * @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());
       }
-      onComplete(trailers) {
-        const { res } = this;
-        removeSignal(this);
-        util.parseHeaders(trailers, this.trailers);
-        res.push(null);
+      clear() {
+        this[kHeadersMap].clear();
+        this[kHeadersSortedMap] = null;
+        this.cookies = null;
       }
-      onError(err) {
-        const { res, callback, body, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
-        if (res) {
-          this.res = null;
-          queueMicrotask(() => {
-            util.destroy(res, err);
+      /**
+       * @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 (body) {
-          this.body = null;
-          util.destroy(body, err);
+        if (lowercaseName === "set-cookie") {
+          (this.cookies ??= []).push(value);
         }
       }
-    };
-    function request2(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve4, reject) => {
-          request2.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve4(data);
-          });
-        });
+      /**
+       * @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 });
       }
-      try {
-        this.dispatch(opts, new RequestHandler(opts, callback));
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
+      /**
+       * @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;
         }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        this[kHeadersMap].delete(name);
       }
-    }
-    module2.exports = request2;
-    module2.exports.RequestHandler = RequestHandler;
-  }
-});
-
-// node_modules/undici/lib/api/api-stream.js
-var require_api_stream2 = __commonJS({
-  "node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
-    "use strict";
-    var { finished, PassThrough } = require("stream");
-    var {
-      InvalidArgumentError,
-      InvalidReturnValueError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { getResolveErrorBodyCallback } = require_util11();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var StreamHandler = class extends AsyncResource {
-      constructor(opts, factory, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+      /**
+       * @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];
         }
-        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
-        try {
-          if (typeof callback !== "function") {
-            throw new InvalidArgumentError("invalid callback");
-          }
-          if (typeof factory !== "function") {
-            throw new InvalidArgumentError("invalid factory");
-          }
-          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-          }
-          if (method === "CONNECT") {
-            throw new InvalidArgumentError("invalid method");
-          }
-          if (onInfo && typeof onInfo !== "function") {
-            throw new InvalidArgumentError("invalid onInfo callback");
-          }
-          super("UNDICI_STREAM");
-        } catch (err) {
-          if (util.isStream(body)) {
-            util.destroy(body.on("error", util.nop), err);
+      }
+      get entries() {
+        const headers = {};
+        if (this[kHeadersMap].size !== 0) {
+          for (const { name, value } of this[kHeadersMap].values()) {
+            headers[name] = value;
           }
-          throw err;
         }
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.factory = factory;
-        this.callback = callback;
-        this.res = null;
-        this.abort = null;
-        this.context = null;
-        this.trailers = null;
-        this.body = body;
-        this.onInfo = onInfo || null;
-        this.throwOnError = throwOnError || false;
-        if (util.isStream(body)) {
-          body.on("error", (err) => {
-            this.onError(err);
-          });
-        }
-        addSignal(this, signal);
+        return headers;
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
+      rawValues() {
+        return this[kHeadersMap].values();
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const { factory, opaque, context: context2, callback, responseHeaders } = this;
-        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            this.onInfo({ statusCode, headers });
+      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;
         }
-        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: context2
-          });
-          if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") {
-            throw new InvalidReturnValueError("expected Writable");
+        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;
           }
-          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);
+          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;
+              }
             }
-            this.callback = null;
-            this.runInAsyncScope(callback2, null, err || null, { opaque: opaque2, trailers });
-            if (err) {
-              abort();
+            if (i !== pivot) {
+              j = i;
+              while (j > left) {
+                array[j] = array[--j];
+              }
+              array[left] = x;
             }
-          });
-        }
-        res.on("drain", resume);
-        this.res = res;
-        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState && res._writableState.needDrain;
-        return needDrain !== true;
-      }
-      onData(chunk) {
-        const { res } = this;
-        return res ? res.write(chunk) : true;
-      }
-      onComplete(trailers) {
-        const { res } = this;
-        removeSignal(this);
-        if (!res) {
-          return;
-        }
-        this.trailers = util.parseHeaders(trailers);
-        res.end();
-      }
-      onError(err) {
-        const { res, callback, opaque, body } = this;
-        removeSignal(this);
-        this.factory = null;
-        if (res) {
-          this.res = null;
-          util.destroy(res, err);
-        } else if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
-        if (body) {
-          this.body = null;
-          util.destroy(body, err);
-        }
-      }
-    };
-    function stream(opts, factory, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve4, reject) => {
-          stream.call(this, opts, factory, (err, data) => {
-            return err ? reject(err) : resolve4(data);
-          });
-        });
-      }
-      try {
-        this.dispatch(opts, new StreamHandler(opts, factory, callback));
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
-        }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
-      }
-    }
-    module2.exports = stream;
-  }
-});
-
-// node_modules/undici/lib/api/api-pipeline.js
-var require_api_pipeline2 = __commonJS({
-  "node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
-    "use strict";
-    var {
-      Readable,
-      Duplex,
-      PassThrough
-    } = require("stream");
-    var {
-      InvalidArgumentError,
-      InvalidReturnValueError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
-    var kResume = /* @__PURE__ */ 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();
+          }
+          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);
         }
       }
-      _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();
+    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);
         }
-        callback(err);
       }
-    };
-    var PipelineHandler = class extends AsyncResource {
-      constructor(opts, handler2) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+      // 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 (typeof handler2 !== "function") {
-          throw new InvalidArgumentError("invalid handler");
+        if (this.#guard === "immutable") {
+          throw new TypeError("immutable");
         }
-        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 (!this.#headersList.contains(name, false)) {
+          return;
         }
-        if (method === "CONNECT") {
-          throw new InvalidArgumentError("invalid method");
+        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"
+          });
         }
-        if (onInfo && typeof onInfo !== "function") {
-          throw new InvalidArgumentError("invalid onInfo callback");
+        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"
+          });
         }
-        super("UNDICI_PIPELINE");
-        this.opaque = opaque || null;
-        this.responseHeaders = responseHeaders || null;
-        this.handler = handler2;
-        this.abort = null;
-        this.context = null;
-        this.onInfo = onInfo || null;
-        this.req = new PipelineRequest().on("error", util.nop);
-        this.ret = new Duplex({
-          readableObjectMode: opts.objectMode,
-          autoDestroy: true,
-          read: () => {
-            const { body } = this;
-            if (body && body.resume) {
-              body.resume();
-            }
-          },
-          write: (chunk, encoding, callback) => {
-            const { req } = this;
-            if (req.push(chunk, encoding) || req._readableState.destroyed) {
-              callback();
-            } else {
-              req[kResume] = callback;
-            }
-          },
-          destroy: (err, callback) => {
-            const { body, req, res, ret, abort } = this;
-            if (!err && !ret._readableState.endEmitted) {
-              err = new RequestAbortedError();
-            }
-            if (abort && err) {
-              abort();
-            }
-            util.destroy(body, err);
-            util.destroy(req, err);
-            util.destroy(res, err);
-            removeSignal(this);
-            callback(err);
-          }
-        }).on("prefinish", () => {
-          const { req } = this;
-          req.push(null);
-        });
-        this.res = null;
-        addSignal(this, signal);
+        return this.#headersList.contains(name, false);
       }
-      onConnect(abort, context2) {
-        const { ret, res } = this;
-        assert(!res, "pipeline cannot be retried");
-        if (ret.destroyed) {
-          throw new RequestAbortedError();
+      // 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"
+          });
         }
-        this.abort = abort;
-        this.context = context2;
+        if (this.#guard === "immutable") {
+          throw new TypeError("immutable");
+        }
+        this.#headersList.set(name, value, false);
       }
-      onHeaders(statusCode, rawHeaders, resume) {
-        const { opaque, handler: handler2, context: context2 } = this;
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-            this.onInfo({ statusCode, headers });
-          }
-          return;
+      // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
+      getSetCookie() {
+        webidl.brandCheck(this, _Headers);
+        const list = this.#headersList.cookies;
+        if (list) {
+          return [...list];
         }
-        this.res = new PipelineResponse(resume);
-        let body;
-        try {
-          this.handler = null;
-          const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-          body = this.runInAsyncScope(handler2, null, {
-            statusCode,
-            headers,
-            opaque,
-            body: this.res,
-            context: context2
-          });
-        } catch (err) {
-          this.res.on("error", util.nop);
-          throw err;
+        return [];
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
+      get [kHeadersSortedMap]() {
+        if (this.#headersList[kHeadersSortedMap]) {
+          return this.#headersList[kHeadersSortedMap];
         }
-        if (!body || typeof body.on !== "function") {
-          throw new InvalidReturnValueError("expected Readable");
+        const headers = [];
+        const names = this.#headersList.toSortedArray();
+        const cookies = this.#headersList.cookies;
+        if (cookies === null || cookies.length === 1) {
+          return this.#headersList[kHeadersSortedMap] = names;
         }
-        body.on("data", (chunk) => {
-          const { ret, body: body2 } = this;
-          if (!ret.push(chunk) && body2.pause) {
-            body2.pause();
-          }
-        }).on("error", (err) => {
-          const { ret } = this;
-          util.destroy(ret, err);
-        }).on("end", () => {
-          const { ret } = this;
-          ret.push(null);
-        }).on("close", () => {
-          const { ret } = this;
-          if (!ret._readableState.ended) {
-            util.destroy(ret, new RequestAbortedError());
+        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]);
           }
-        });
-        this.body = body;
+        }
+        return this.#headersList[kHeadersSortedMap] = headers;
       }
-      onData(chunk) {
-        const { res } = this;
-        return res.push(chunk);
+      [util.inspect.custom](depth, options) {
+        options.depth ??= depth;
+        return `Headers ${util.formatWithOptions(options, this.#headersList.entries)}`;
       }
-      onComplete(trailers) {
-        const { res } = this;
-        res.push(null);
+      static getHeadersGuard(o) {
+        return o.#guard;
       }
-      onError(err) {
-        const { ret } = this;
-        this.handler = null;
-        util.destroy(ret, err);
+      static setHeadersGuard(o, guard) {
+        o.#guard = guard;
+      }
+      static getHeadersList(o) {
+        return o.#headersList;
+      }
+      static setHeadersList(o, list) {
+        o.#headersList = list;
       }
     };
-    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);
+    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
       }
-    }
-    module2.exports = pipeline;
+    });
+    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/api/api-upgrade.js
-var require_api_upgrade2 = __commonJS({
-  "node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js
+var require_response2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js"(exports2, module2) {
     "use strict";
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
-    var { AsyncResource } = require("async_hooks");
+    var { Headers, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers2();
+    var { extractBody, cloneBody, mixinBody, hasFinalizationRegistry, streamRegistry, bodyUnusable } = require_body2();
     var util = require_util9();
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
-    var UpgradeHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+    var nodeUtil = require("node:util");
+    var { kEnumerableProperty } = util;
+    var {
+      isValidReasonPhrase,
+      isCancelled,
+      isAborted,
+      isBlobLike,
+      serializeJavascriptValueToJSONString,
+      isErrorLike,
+      isomorphicEncode,
+      environmentSettingsObject: relevantRealm
+    } = require_util10();
+    var {
+      redirectStatusSet,
+      nullBodyStatus
+    } = require_constants8();
+    var { kState, kHeaders } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var { FormData: FormData2 } = require_formdata2();
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    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);
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        const bytes = textEncoder.encode(
+          serializeJavascriptValueToJSONString(data)
+        );
+        const body = extractBody(bytes);
+        const responseObject = fromInnerResponse(makeResponse({}), "response");
+        initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
+        return responseObject;
+      }
+      // Creates a redirect Response that redirects to url with status status.
+      static redirect(url, status = 302) {
+        webidl.argumentLengthCheck(arguments, 1, "Response.redirect");
+        url = webidl.converters.USVString(url);
+        status = webidl.converters["unsigned short"](status);
+        let parsedURL;
+        try {
+          parsedURL = new URL(url, relevantRealm.settingsObject.baseUrl);
+        } catch (err) {
+          throw new TypeError(`Failed to parse URL from ${url}`, { cause: err });
         }
-        const { signal, opaque, responseHeaders } = opts;
-        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        if (!redirectStatusSet.has(status)) {
+          throw new RangeError(`Invalid status code ${status}`);
         }
-        super("UNDICI_UPGRADE");
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.callback = callback;
-        this.abort = null;
-        this.context = null;
-        addSignal(this, signal);
+        const responseObject = fromInnerResponse(makeResponse({}), "immutable");
+        responseObject[kState].status = status;
+        const value = isomorphicEncode(URLSerializer(parsedURL));
+        responseObject[kState].headersList.append("location", value, true);
+        return responseObject;
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
+      // https://fetch.spec.whatwg.org/#dom-response
+      constructor(body = null, init = {}) {
+        webidl.util.markAsUncloneable(this);
+        if (body === kConstruct) {
+          return;
         }
-        this.abort = abort;
-        this.context = null;
-      }
-      onHeaders() {
-        throw new SocketError("bad upgrade", null);
-      }
-      onUpgrade(statusCode, rawHeaders, socket) {
-        const { callback, opaque, context: context2 } = this;
-        assert.strictEqual(statusCode, 101);
-        removeSignal(this);
-        this.callback = null;
-        const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        this.runInAsyncScope(callback, null, null, {
-          headers,
-          socket,
-          opaque,
-          context: context2
-        });
-      }
-      onError(err) {
-        const { callback, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
+        if (body !== null) {
+          body = webidl.converters.BodyInit(body);
+        }
+        init = webidl.converters.ResponseInit(init);
+        this[kState] = makeResponse({});
+        this[kHeaders] = new Headers(kConstruct);
+        setHeadersGuard(this[kHeaders], "response");
+        setHeadersList(this[kHeaders], this[kState].headersList);
+        let bodyWithType = null;
+        if (body != null) {
+          const [extractedBody, type2] = extractBody(body);
+          bodyWithType = { body: extractedBody, type: type2 };
         }
+        initializeResponse(this, init, bodyWithType);
       }
-    };
-    function upgrade(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve4, reject) => {
-          upgrade.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve4(data);
-          });
-        });
+      // Returns response’s type, e.g., "cors".
+      get type() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].type;
       }
-      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;
+      // 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 "";
         }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        return URLSerializer(url, true);
       }
-    }
-    module2.exports = upgrade;
-  }
-});
-
-// node_modules/undici/lib/api/api-connect.js
-var require_api_connect2 = __commonJS({
-  "node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
-    "use strict";
-    var { AsyncResource } = require("async_hooks");
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
-    var util = require_util9();
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var ConnectHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
-        }
-        const { signal, opaque, responseHeaders } = opts;
-        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-        }
-        super("UNDICI_CONNECT");
-        this.opaque = opaque || null;
-        this.responseHeaders = responseHeaders || null;
-        this.callback = callback;
-        this.abort = null;
-        addSignal(this, signal);
+      // Returns whether response was obtained through a redirect.
+      get redirected() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].urlList.length > 1;
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
+      // Returns response’s status.
+      get status() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status;
       }
-      onHeaders() {
-        throw new SocketError("bad connect", null);
+      // Returns whether response’s status is an ok status.
+      get ok() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status >= 200 && this[kState].status <= 299;
       }
-      onUpgrade(statusCode, rawHeaders, socket) {
-        const { callback, opaque, context: context2 } = 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: context2
-        });
+      // Returns response’s status message.
+      get statusText() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].statusText;
       }
-      onError(err) {
-        const { callback, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
+      // Returns response’s headers as Headers.
+      get headers() {
+        webidl.brandCheck(this, _Response);
+        return this[kHeaders];
       }
-    };
-    function connect(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve4, reject) => {
-          connect.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve4(data);
-          });
-        });
+      get body() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      try {
-        const connectHandler = new ConnectHandler(opts, callback);
-        this.dispatch({ ...opts, method: "CONNECT" }, connectHandler);
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
+      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 opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        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]));
       }
-    }
-    module2.exports = connect;
-  }
-});
-
-// node_modules/undici/lib/api/index.js
-var require_api2 = __commonJS({
-  "node_modules/undici/lib/api/index.js"(exports2, module2) {
-    "use strict";
-    module2.exports.request = require_api_request2();
-    module2.exports.stream = require_api_stream2();
-    module2.exports.pipeline = require_api_pipeline2();
-    module2.exports.upgrade = require_api_upgrade2();
-    module2.exports.connect = require_api_connect2();
-  }
-});
-
-// node_modules/undici/lib/mock/mock-errors.js
-var require_mock_errors2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
-    "use strict";
-    var { UndiciError } = require_errors2();
-    var MockNotMatchedError = class _MockNotMatchedError extends UndiciError {
-      constructor(message) {
-        super(message);
-        Error.captureStackTrace(this, _MockNotMatchedError);
-        this.name = "MockNotMatchedError";
-        this.message = message || "The request does not match any registered mock dispatches";
-        this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED";
+      [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)}`;
       }
     };
-    module2.exports = {
-      MockNotMatchedError
-    };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-symbols.js
-var require_mock_symbols2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      kAgent: /* @__PURE__ */ Symbol("agent"),
-      kOptions: /* @__PURE__ */ Symbol("options"),
-      kFactory: /* @__PURE__ */ Symbol("factory"),
-      kDispatches: /* @__PURE__ */ Symbol("dispatches"),
-      kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
-      kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
-      kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
-      kContentLength: /* @__PURE__ */ Symbol("content length"),
-      kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
-      kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
-      kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
-      kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
-      kClose: /* @__PURE__ */ Symbol("close"),
-      kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
-      kOrigin: /* @__PURE__ */ Symbol("origin"),
-      kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
-      kNetConnect: /* @__PURE__ */ Symbol("net connect"),
-      kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
-      kConnected: /* @__PURE__ */ Symbol("connected")
-    };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-utils.js
-var require_mock_utils2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
-    "use strict";
-    var { MockNotMatchedError } = require_mock_errors2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kOriginalDispatch,
-      kOrigin,
-      kGetNetConnect
-    } = require_mock_symbols2();
-    var { buildURL, nop } = require_util9();
-    var { STATUS_CODES } = require("http");
-    var {
-      types: {
-        isPromise
-      }
-    } = require("util");
-    function matchValue(match, value) {
-      if (typeof match === "string") {
-        return match === value;
+    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
       }
-      if (match instanceof RegExp) {
-        return match.test(value);
+    });
+    Object.defineProperties(Response, {
+      json: kEnumerableProperty,
+      redirect: kEnumerableProperty,
+      error: kEnumerableProperty
+    });
+    function cloneResponse(response) {
+      if (response.internalResponse) {
+        return filterResponse(
+          cloneResponse(response.internalResponse),
+          response.type
+        );
       }
-      if (typeof match === "function") {
-        return match(value) === true;
+      const newResponse = makeResponse({ ...response, body: null });
+      if (response.body != null) {
+        newResponse.body = cloneBody(newResponse, response.body);
       }
-      return false;
+      return newResponse;
     }
-    function lowerCaseEntries(headers) {
-      return Object.fromEntries(
-        Object.entries(headers).map(([headerName, headerValue]) => {
-          return [headerName.toLocaleLowerCase(), headerValue];
-        })
+    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 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];
-          }
+    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;
         }
-        return void 0;
-      } else if (typeof headers.get === "function") {
-        return headers.get(key);
+      });
+    }
+    function filterResponse(response, type2) {
+      if (type2 === "basic") {
+        return makeFilteredResponse(response, {
+          type: "basic",
+          headersList: response.headersList
+        });
+      } else if (type2 === "cors") {
+        return makeFilteredResponse(response, {
+          type: "cors",
+          headersList: response.headersList
+        });
+      } else if (type2 === "opaque") {
+        return makeFilteredResponse(response, {
+          type: "opaque",
+          urlList: Object.freeze([]),
+          status: 0,
+          statusText: "",
+          body: null
+        });
+      } else if (type2 === "opaqueredirect") {
+        return makeFilteredResponse(response, {
+          type: "opaqueredirect",
+          status: 0,
+          statusText: "",
+          headersList: [],
+          body: null
+        });
       } else {
-        return lowerCaseEntries(headers)[key.toLocaleLowerCase()];
+        assert(false);
       }
     }
-    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 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 matchHeaders(mockDispatch2, headers) {
-      if (typeof mockDispatch2.headers === "function") {
-        if (Array.isArray(headers)) {
-          headers = buildHeadersFromArray(headers);
-        }
-        return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {});
+    function initializeResponse(response, init, body) {
+      if (init.status !== null && (init.status < 200 || init.status > 599)) {
+        throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
       }
-      if (typeof mockDispatch2.headers === "undefined") {
-        return true;
+      if ("statusText" in init && init.statusText != null) {
+        if (!isValidReasonPhrase(String(init.statusText))) {
+          throw new TypeError("Invalid statusText");
+        }
       }
-      if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") {
-        return false;
+      if ("status" in init && init.status != null) {
+        response[kState].status = init.status;
       }
-      for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) {
-        const headerValue = getHeaderByName(headers, matchHeaderName);
-        if (!matchValue(matchHeaderValue, headerValue)) {
-          return false;
-        }
+      if ("statusText" in init && init.statusText != null) {
+        response[kState].statusText = init.statusText;
       }
-      return true;
-    }
-    function safeUrl(path5) {
-      if (typeof path5 !== "string") {
-        return path5;
+      if ("headers" in init && init.headers != null) {
+        fill(response[kHeaders], init.headers);
       }
-      const pathSegments = path5.split("?");
-      if (pathSegments.length !== 2) {
-        return path5;
+      if (body) {
+        if (nullBodyStatus.includes(response.status)) {
+          throw webidl.errors.exception({
+            header: "Response constructor",
+            message: `Invalid response status code ${response.status}`
+          });
+        }
+        response[kState].body = body.body;
+        if (body.type != null && !response[kState].headersList.contains("content-type", true)) {
+          response[kState].headersList.append("content-type", body.type, true);
+        }
       }
-      const qp = new URLSearchParams(pathSegments.pop());
-      qp.sort();
-      return [...pathSegments, qp.toString()].join("?");
     }
-    function matchKey(mockDispatch2, { path: path5, method, body, headers }) {
-      const pathMatch = matchValue(mockDispatch2.path, path5);
-      const methodMatch = matchValue(mockDispatch2.method, method);
-      const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
-      const headersMatch = matchHeaders(mockDispatch2, headers);
-      return pathMatch && methodMatch && bodyMatch && headersMatch;
-    }
-    function getResponseData2(data) {
-      if (Buffer.isBuffer(data)) {
-        return data;
-      } else if (typeof data === "object") {
-        return JSON.stringify(data);
-      } else {
-        return data.toString();
+    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;
     }
-    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: path5 }) => matchValue(safeUrl(path5), resolvedPath));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
+    webidl.converters.ReadableStream = webidl.interfaceConverter(
+      ReadableStream
+    );
+    webidl.converters.FormData = webidl.interfaceConverter(
+      FormData2
+    );
+    webidl.converters.URLSearchParams = webidl.interfaceConverter(
+      URLSearchParams
+    );
+    webidl.converters.XMLHttpRequestBodyInit = function(V, prefix, name) {
+      if (typeof V === "string") {
+        return webidl.converters.USVString(V, prefix, name);
       }
-      matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`);
+      if (isBlobLike(V)) {
+        return webidl.converters.Blob(V, prefix, name, { strict: false });
       }
-      matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`);
+      if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) {
+        return webidl.converters.BufferSource(V, prefix, name);
       }
-      matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers}'`);
+      if (util.isFormDataLike(V)) {
+        return webidl.converters.FormData(V, prefix, name, { strict: false });
       }
-      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);
+      if (V instanceof URLSearchParams) {
+        return webidl.converters.URLSearchParams(V, prefix, name);
       }
-    }
-    function buildKey(opts) {
-      const { path: path5, method, body, headers, query } = opts;
-      return {
-        path: path5,
-        method,
-        body,
-        headers,
-        query
-      };
-    }
-    function generateKeyValues(data) {
-      return Object.entries(data).reduce((keyValuePairs, [key, value]) => [
-        ...keyValuePairs,
-        Buffer.from(`${key}`),
-        Array.isArray(value) ? value.map((x) => Buffer.from(`${x}`)) : Buffer.from(`${value}`)
-      ], []);
-    }
-    function getStatusText(statusCode) {
-      return STATUS_CODES[statusCode] || "unknown";
-    }
-    async function getResponse(body) {
-      const buffers = [];
-      for await (const data of body) {
-        buffers.push(data);
+      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);
       }
-      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) };
+      if (V?.[Symbol.asyncIterator]) {
+        return V;
       }
-      const { data: { statusCode, data, headers, trailers, error: error3 }, delay: delay2, persist } = mockDispatch2;
-      const { timesInvoked, times } = mockDispatch2;
-      mockDispatch2.consumed = !persist && timesInvoked >= times;
-      mockDispatch2.pending = timesInvoked < times;
-      if (error3 !== null) {
-        deleteMockDispatch(this[kDispatches], key);
-        handler2.onError(error3);
-        return true;
+      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
       }
-      if (typeof delay2 === "number" && delay2 > 0) {
-        setTimeout(() => {
-          handleReply(this[kDispatches]);
-        }, delay2);
-      } else {
-        handleReply(this[kDispatches]);
+    ]);
+    module2.exports = {
+      isNetworkError,
+      makeNetworkError,
+      makeResponse,
+      makeAppropriateNetworkError,
+      filterResponse,
+      Response,
+      cloneResponse,
+      fromInnerResponse
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js
+var require_dispatcher_weakref2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js"(exports2, module2) {
+    "use strict";
+    var { kConnected, kSize } = require_symbols6();
+    var CompatWeakRef = class {
+      constructor(value) {
+        this.value = value;
       }
-      function handleReply(mockDispatches, _data = data) {
-        const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
-        const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
-        if (isPromise(body)) {
-          body.then((newData) => handleReply(mockDispatches, newData));
-          return;
-        }
-        const responseData = getResponseData2(body);
-        const responseHeaders = generateKeyValues(headers);
-        const responseTrailers = generateKeyValues(trailers);
-        handler2.abort = nop;
-        handler2.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode));
-        handler2.onData(Buffer.from(responseData));
-        handler2.onComplete(responseTrailers);
-        deleteMockDispatch(mockDispatches, key);
+      deref() {
+        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
       }
-      function resume() {
+    };
+    var CompatFinalizer = class {
+      constructor(finalizer) {
+        this.finalizer = finalizer;
       }
-      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 (error3) {
-            if (error3 instanceof MockNotMatchedError) {
-              const netConnect = agent[kGetNetConnect]();
-              if (netConnect === false) {
-                throw new MockNotMatchedError(`${error3.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(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
-              }
-            } else {
-              throw error3;
+      register(dispatcher, key) {
+        if (dispatcher.on) {
+          dispatcher.on("disconnect", () => {
+            if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {
+              this.finalizer(key);
             }
-          }
-        } 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;
+      unregister(key) {
       }
-    }
-    module2.exports = {
-      getResponseData: getResponseData2,
-      getMockDispatch,
-      addMockDispatch,
-      deleteMockDispatch,
-      buildKey,
-      generateKeyValues,
-      matchValue,
-      getResponse,
-      getStatusText,
-      mockDispatch,
-      buildMockDispatch,
-      checkNetConnect,
-      buildMockOptions,
-      getHeaderByName
+    };
+    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/mock/mock-interceptor.js
-var require_mock_interceptor2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js
+var require_request4 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js"(exports2, module2) {
     "use strict";
-    var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils2();
+    var { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body2();
+    var { Headers, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers2();
+    var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
+    var util = require_util9();
+    var nodeUtil = require("node:util");
     var {
-      kDispatches,
-      kDispatchKey,
-      kDefaultHeaders,
-      kDefaultTrailers,
-      kContentLength,
-      kMockDispatch
-    } = require_mock_symbols2();
-    var { InvalidArgumentError } = require_errors2();
-    var { buildURL } = require_util9();
-    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");
+      isValidHTTPToken,
+      sameOrigin,
+      environmentSettingsObject
+    } = require_util10();
+    var {
+      forbiddenMethodsSet,
+      corsSafeListedMethodsSet,
+      referrerPolicy,
+      requestRedirect,
+      requestMode,
+      requestCredentials,
+      requestCache,
+      requestDuplex
+    } = require_constants8();
+    var { kEnumerableProperty, normalizedMethodRecordsBase, normalizedMethodRecords } = util;
+    var { kHeaders, kSignal, kState, kDispatcher } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    var assert = require("node:assert");
+    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("node:events");
+    var kAbortController = /* @__PURE__ */ 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);
+          }
         }
-        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");
+    }
+    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;
         }
-        this[kMockDispatch].times = repeatTimes;
-        return this;
-      }
-    };
-    var MockInterceptor = class {
-      constructor(opts, mockDispatches) {
-        if (typeof opts !== "object") {
-          throw new InvalidArgumentError("opts must be an object");
+        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];
         }
-        if (typeof opts.path === "undefined") {
-          throw new InvalidArgumentError("opts.path must be defined");
+        const origin = environmentSettingsObject.settingsObject.origin;
+        let window2 = "client";
+        if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
+          window2 = request2.window;
         }
-        if (typeof opts.method === "undefined") {
-          opts.method = "GET";
+        if (init.window != null) {
+          throw new TypeError(`'window' option '${window2}' must be null`);
         }
-        if (typeof opts.path === "string") {
-          if (opts.query) {
-            opts.path = buildURL(opts.path, opts.query);
+        if ("window" in init) {
+          window2 = "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: window2,
+          // 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 {
-            const parsedURL = new URL(opts.path, "data://");
-            opts.path = parsedURL.pathname + parsedURL.search;
+            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 (typeof opts.method === "string") {
-          opts.method = opts.method.toUpperCase();
+        if (init.referrerPolicy !== void 0) {
+          request2.referrerPolicy = init.referrerPolicy;
         }
-        this[kDispatchKey] = buildKey(opts);
-        this[kDispatches] = mockDispatches;
-        this[kDefaultHeaders] = {};
-        this[kDefaultTrailers] = {};
-        this[kContentLength] = false;
+        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;
       }
-      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 };
+      // Returns request’s HTTP method, which is "GET" by default.
+      get method() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].method;
       }
-      validateReplyParameters(statusCode, data, responseOptions) {
-        if (typeof statusCode === "undefined") {
-          throw new InvalidArgumentError("statusCode must be defined");
-        }
-        if (typeof data === "undefined") {
-          throw new InvalidArgumentError("data must be defined");
+      // 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 (typeof responseOptions !== "object") {
-          throw new InvalidArgumentError("responseOptions must be an object");
+        if (this[kState].referrer === "client") {
+          return "about:client";
         }
+        return this[kState].referrer.toString();
       }
-      /**
-       * Mock an undici request with a defined reply.
-       */
-      reply(replyData) {
-        if (typeof replyData === "function") {
-          const wrappedDefaultsCallback = (opts) => {
-            const resolvedData = replyData(opts);
-            if (typeof resolvedData !== "object") {
-              throw new InvalidArgumentError("reply options callback must return an object");
-            }
-            const { statusCode: statusCode2, data: data2 = "", responseOptions: responseOptions2 = {} } = resolvedData;
-            this.validateReplyParameters(statusCode2, data2, responseOptions2);
-            return {
-              ...this.createMockScopeDispatchData(statusCode2, data2, responseOptions2)
-            };
-          };
-          const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback);
-          return new MockScope(newMockDispatch2);
-        }
-        const [statusCode, data = "", responseOptions = {}] = [...arguments];
-        this.validateReplyParameters(statusCode, data, responseOptions);
-        const dispatchData = this.createMockScopeDispatchData(statusCode, data, responseOptions);
-        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData);
-        return new MockScope(newMockDispatch);
+      // 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;
       }
-      /**
-       * Mock an undici request with a defined error.
-       */
-      replyWithError(error3) {
-        if (typeof error3 === "undefined") {
-          throw new InvalidArgumentError("error must be defined");
-        }
-        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error: error3 });
-        return new MockScope(newMockDispatch);
+      // 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;
       }
-      /**
-       * 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;
+      // 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;
       }
-      /**
-       * 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;
+      // 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;
       }
-      /**
-       * Set reply content length header for replies on the interceptor
-       */
-      replyContentLength() {
-        this[kContentLength] = true;
-        return this;
+      // 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;
       }
-    };
-    module2.exports.MockInterceptor = MockInterceptor;
-    module2.exports.MockScope = MockScope;
-  }
-});
-
-// node_modules/undici/lib/mock/mock-client.js
-var require_mock_client2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
-    "use strict";
-    var { promisify } = require("util");
-    var Client = require_client2();
-    var { buildMockDispatch } = require_mock_utils2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kClose,
-      kOriginalClose,
-      kOrigin,
-      kOriginalDispatch,
-      kConnected
-    } = require_mock_symbols2();
-    var { MockInterceptor } = require_mock_interceptor2();
-    var Symbols = require_symbols6();
-    var { InvalidArgumentError } = require_errors2();
-    var MockClient = class extends Client {
-      constructor(origin, opts) {
-        super(origin, opts);
-        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
-        }
-        this[kMockAgent] = opts.agent;
-        this[kOrigin] = origin;
-        this[kDispatches] = [];
-        this[kConnected] = 1;
-        this[kOriginalDispatch] = this.dispatch;
-        this[kOriginalClose] = this.close.bind(this);
-        this.dispatch = buildMockDispatch.call(this);
-        this.close = this[kClose];
+      // 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;
       }
-      get [Symbols.kConnected]() {
-        return this[kConnected];
+      // 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;
       }
-      /**
-       * Sets up the base interceptor for mocking replies from undici.
-       */
-      intercept(opts) {
-        return new MockInterceptor(opts, this[kDispatches]);
+      // Returns a boolean indicating whether or not request is for a reload
+      // navigation.
+      get isReloadNavigation() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].reloadNavigation;
       }
-      async [kClose]() {
-        await promisify(this[kOriginalClose])();
-        this[kConnected] = 0;
-        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
+      // 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;
       }
-    };
-    module2.exports = MockClient;
-  }
-});
-
-// node_modules/undici/lib/mock/mock-pool.js
-var require_mock_pool2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
-    "use strict";
-    var { promisify } = require("util");
-    var Pool = require_pool2();
-    var { buildMockDispatch } = require_mock_utils2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kClose,
-      kOriginalClose,
-      kOrigin,
-      kOriginalDispatch,
-      kConnected
-    } = require_mock_symbols2();
-    var { MockInterceptor } = require_mock_interceptor2();
-    var Symbols = require_symbols6();
-    var { InvalidArgumentError } = require_errors2();
-    var MockPool = class extends Pool {
-      constructor(origin, opts) {
-        super(origin, opts);
-        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
-        }
-        this[kMockAgent] = opts.agent;
-        this[kOrigin] = origin;
-        this[kDispatches] = [];
-        this[kConnected] = 1;
-        this[kOriginalDispatch] = this.dispatch;
-        this[kOriginalClose] = this.close.bind(this);
-        this.dispatch = buildMockDispatch.call(this);
-        this.close = this[kClose];
+      // 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 [Symbols.kConnected]() {
-        return this[kConnected];
+      get body() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      /**
-       * Sets up the base interceptor for mocking replies from undici.
-       */
-      intercept(opts) {
-        return new MockInterceptor(opts, this[kDispatches]);
+      get bodyUsed() {
+        webidl.brandCheck(this, _Request);
+        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
       }
-      async [kClose]() {
-        await promisify(this[kOriginalClose])();
-        this[kConnected] = 0;
-        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
+      get duplex() {
+        webidl.brandCheck(this, _Request);
+        return "half";
       }
-    };
-    module2.exports = MockPool;
-  }
-});
-
-// node_modules/undici/lib/mock/pluralizer.js
-var require_pluralizer2 = __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;
+      // 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]));
       }
-      pluralize(count) {
-        const one = count === 1;
-        const keys = one ? singulars : plurals;
-        const noun = one ? this.singular : this.plural;
-        return { ...keys, count, noun };
+      [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)}`;
       }
     };
-  }
-});
-
-// node_modules/undici/lib/mock/pending-interceptors-formatter.js
-var require_pending_interceptors_formatter2 = __commonJS({
-  "node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
-    "use strict";
-    var { Transform } = require("stream");
-    var { Console } = require("console");
-    module2.exports = class PendingInterceptorsFormatter {
-      constructor({ disableColors } = {}) {
-        this.transform = new Transform({
-          transform(chunk, _enc, cb) {
-            cb(null, chunk);
-          }
-        });
-        this.logger = new Console({
-          stdout: this.transform,
-          inspectOptions: {
-            colors: !disableColors && !process.env.CI
-          }
-        });
+    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);
       }
-      format(pendingInterceptors) {
-        const withPrettyHeaders = pendingInterceptors.map(
-          ({ method, path: path5, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
-            Method: method,
-            Origin: origin,
-            Path: path5,
-            "Status code": statusCode,
-            Persistent: persist ? "\u2705" : "\u274C",
-            Invocations: timesInvoked,
-            Remaining: persist ? Infinity : times - timesInvoked
-          })
-        );
-        this.logger.table(withPrettyHeaders);
-        return this.transform.read().toString();
+      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);
     };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-agent.js
-var require_mock_agent2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
-    "use strict";
-    var { kClients } = require_symbols6();
-    var Agent = require_agent2();
-    var {
-      kAgent,
-      kMockAgentSet,
-      kMockAgentGet,
-      kDispatches,
-      kIsMockActive,
-      kNetConnect,
-      kGetNetConnect,
-      kOptions,
-      kFactory
-    } = require_mock_symbols2();
-    var MockClient = require_mock_client2();
-    var MockPool = require_mock_pool2();
-    var { matchValue, buildMockOptions } = require_mock_utils2();
-    var { InvalidArgumentError, UndiciError } = require_errors2();
-    var Dispatcher = require_dispatcher2();
-    var Pluralizer = require_pluralizer2();
-    var PendingInterceptorsFormatter = require_pending_interceptors_formatter2();
-    var FakeWeakRef = class {
-      constructor(value) {
-        this.value = value;
+    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
       }
-      deref() {
-        return this.value;
+    ]);
+    module2.exports = { Request, makeRequest, fromInnerRequest, cloneRequest };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js
+var require_fetch2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js"(exports2, module2) {
+    "use strict";
+    var {
+      makeNetworkError,
+      makeAppropriateNetworkError,
+      filterResponse,
+      makeResponse,
+      fromInnerResponse
+    } = require_response2();
+    var { HeadersList } = require_headers2();
+    var { Request, cloneRequest } = require_request4();
+    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_util10();
+    var { kState, kDispatcher } = require_symbols7();
+    var assert = require("node:assert");
+    var { safelyExtractBody, extractBody } = require_body2();
+    var {
+      redirectStatusSet,
+      nullBodyStatus,
+      safeMethodsSet,
+      requestBodyHeader,
+      subresourceSet
+    } = require_constants8();
+    var EE = require("node:events");
+    var { Readable, pipeline, finished } = require("node:stream");
+    var { addAbortListener, isErrored, isReadable, bufferToLowerCasedHeaderName } = require_util9();
+    var { dataURLProcessor, serializeAMimeType, minimizeSupportedMimeType } = require_data_url2();
+    var { getGlobalDispatcher } = require_global4();
+    var { webidl } = require_webidl2();
+    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";
       }
-    };
-    var MockAgent = class extends Dispatcher {
-      constructor(opts) {
-        super(opts);
-        this[kNetConnect] = true;
-        this[kIsMockActive] = true;
-        if (opts && opts.agent && typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
+      terminate(reason) {
+        if (this.state !== "ongoing") {
+          return;
         }
-        const agent = opts && opts.agent ? opts.agent : new Agent(opts);
-        this[kAgent] = agent;
-        this[kClients] = agent[kClients];
-        this[kOptions] = buildMockOptions(opts);
+        this.state = "terminated";
+        this.connection?.destroy(reason);
+        this.emit("terminated", reason);
       }
-      get(origin) {
-        let dispatcher = this[kMockAgentGet](origin);
-        if (!dispatcher) {
-          dispatcher = this[kFactory](origin);
-          this[kMockAgentSet](origin, dispatcher);
+      // https://fetch.spec.whatwg.org/#fetch-controller-abort
+      abort(error3) {
+        if (this.state !== "ongoing") {
+          return;
         }
-        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.");
+        this.state = "aborted";
+        if (!error3) {
+          error3 = new DOMException("The operation was aborted.", "AbortError");
         }
+        this.serializedAbortReason = error3;
+        this.connection?.destroy(error3);
+        this.emit("terminated", error3);
       }
-      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];
+    };
+    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;
       }
-      [kMockAgentSet](origin, dispatcher) {
-        this[kClients].set(origin, new FakeWeakRef(dispatcher));
+      const request2 = requestObject[kState];
+      if (requestObject.signal.aborted) {
+        abortFetch(p, request2, null, requestObject.signal.reason);
+        return p.promise;
       }
-      [kFactory](origin) {
-        const mockOptions = Object.assign({ agent: this }, this[kOptions]);
-        return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions);
+      const globalObject = request2.client.globalObject;
+      if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") {
+        request2.serviceWorkers = "none";
       }
-      [kMockAgentGet](origin) {
-        const ref = this[kClients].get(origin);
-        if (ref) {
-          return ref.deref();
+      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);
         }
-        if (typeof origin !== "string") {
-          const dispatcher = this[kFactory]("http://localhost:9999");
-          this[kMockAgentSet](origin, dispatcher);
-          return dispatcher;
+      );
+      const processResponse = (response) => {
+        if (locallyAborted) {
+          return;
         }
-        for (const [keyMatcher, nonExplicitRef] of Array.from(this[kClients])) {
-          const nonExplicitDispatcher = nonExplicitRef.deref();
-          if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) {
-            const dispatcher = this[kFactory](origin);
-            this[kMockAgentSet](origin, dispatcher);
-            dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches];
-            return dispatcher;
-          }
+        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;
       }
-      [kGetNetConnect]() {
-        return this[kNetConnect];
+      if (!response.urlList?.length) {
+        return;
       }
-      pendingInterceptors() {
-        const mockAgentClients = this[kClients];
-        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope.deref()[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
+      const originalURL = response.urlList[0];
+      let timingInfo = response.timingInfo;
+      let cacheState = response.cacheState;
+      if (!urlIsHttpHttpsScheme(originalURL)) {
+        return;
       }
-      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());
+      if (timingInfo === null) {
+        return;
       }
-    };
-    module2.exports = MockAgent;
-  }
-});
-
-// node_modules/undici/lib/proxy-agent.js
-var require_proxy_agent2 = __commonJS({
-  "node_modules/undici/lib/proxy-agent.js"(exports2, module2) {
-    "use strict";
-    var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols6();
-    var { URL: URL2 } = require("url");
-    var Agent = require_agent2();
-    var Pool = require_pool2();
-    var DispatcherBase = require_dispatcher_base2();
-    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
-    var buildConnector = require_connect2();
-    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
-    var kClient = /* @__PURE__ */ Symbol("proxy client");
-    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
-    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
-    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
-    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
-    function defaultProtocolPort(protocol) {
-      return protocol === "https:" ? 443 : 80;
+      if (!response.timingAllowPassed) {
+        timingInfo = createOpaqueTimingInfo({
+          startTime: timingInfo.startTime
+        });
+        cacheState = "";
+      }
+      timingInfo.endTime = coarsenedSharedCurrentTime();
+      response.timingInfo = timingInfo;
+      markResourceTiming(
+        timingInfo,
+        originalURL.href,
+        initiatorType,
+        globalThis,
+        cacheState
+      );
     }
-    function buildProxyOptions(opts) {
-      if (typeof opts === "string") {
-        opts = { uri: opts };
+    var markResourceTiming = performance.markResourceTiming;
+    function abortFetch(p, request2, responseObject, error3) {
+      if (p) {
+        p.reject(error3);
       }
-      if (!opts || !opts.uri) {
-        throw new InvalidArgumentError("Proxy opts.uri is mandatory");
+      if (request2.body != null && isReadable(request2.body?.stream)) {
+        request2.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
+          }
+          throw err;
+        });
       }
-      return {
-        uri: opts.uri,
-        protocol: opts.protocol || "https"
-      };
-    }
-    function defaultFactory(origin, opts) {
-      return new Pool(origin, opts);
-    }
-    var ProxyAgent = class extends DispatcherBase {
-      constructor(opts) {
-        super(opts);
-        this[kProxy] = buildProxyOptions(opts);
-        this[kAgent] = new Agent(opts);
-        this[kInterceptors] = opts.interceptors && opts.interceptors.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : [];
-        if (typeof opts === "string") {
-          opts = { uri: opts };
-        }
-        if (!opts || !opts.uri) {
-          throw new InvalidArgumentError("Proxy opts.uri is mandatory");
-        }
-        const { clientFactory = defaultFactory } = opts;
-        if (typeof clientFactory !== "function") {
-          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
-        }
-        this[kRequestTls] = opts.requestTls;
-        this[kProxyTls] = opts.proxyTls;
-        this[kProxyHeaders] = opts.headers || {};
-        const resolvedUrl = new URL2(opts.uri);
-        const { origin, port, host, username, password } = resolvedUrl;
-        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 });
-        this[kClient] = clientFactory(resolvedUrl, { connect });
-        this[kAgent] = new Agent({
-          ...opts,
-          connect: async (opts2, callback) => {
-            let requestedHost = opts2.host;
-            if (!opts2.port) {
-              requestedHost += `:${defaultProtocolPort(opts2.protocol)}`;
-            }
-            try {
-              const { socket, statusCode } = await this[kClient].connect({
-                origin,
-                port,
-                path: requestedHost,
-                signal: opts2.signal,
-                headers: {
-                  ...this[kProxyHeaders],
-                  host
-                }
-              });
-              if (statusCode !== 200) {
-                socket.on("error", () => {
-                }).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) {
-              callback(err);
-            }
+      if (responseObject == null) {
+        return;
+      }
+      const response = responseObject[kState];
+      if (response.body != null && isReadable(response.body?.stream)) {
+        response.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
           }
+          throw err;
         });
       }
-      dispatch(opts, handler2) {
-        const { host } = new URL2(opts.origin);
-        const headers = buildHeaders(opts.headers);
-        throwIfProxyAuthIsSent(headers);
-        return this[kAgent].dispatch(
-          {
-            ...opts,
-            headers: {
-              ...headers,
-              host
-            }
-          },
-          handler2
-        );
+    }
+    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;
       }
-      async [kClose]() {
-        await this[kAgent].close();
-        await this[kClient].close();
+      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";
       }
-      async [kDestroy]() {
-        await this[kAgent].destroy();
-        await this[kClient].destroy();
+      if (request2.origin === "client") {
+        request2.origin = request2.client.origin;
       }
-    };
-    function buildHeaders(headers) {
-      if (Array.isArray(headers)) {
-        const headersPair = {};
-        for (let i = 0; i < headers.length; i += 2) {
-          headersPair[headers[i]] = headers[i + 1];
+      if (request2.policyContainer === "client") {
+        if (request2.client != null) {
+          request2.policyContainer = clonePolicyContainer(
+            request2.client.policyContainer
+          );
+        } else {
+          request2.policyContainer = makePolicyContainer();
         }
-        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");
+      if (!request2.headersList.contains("accept", true)) {
+        const value = "*/*";
+        request2.headersList.append("accept", value, true);
       }
-    }
-    module2.exports = ProxyAgent;
-  }
-});
-
-// node_modules/undici/lib/handler/RetryHandler.js
-var require_RetryHandler = __commonJS({
-  "node_modules/undici/lib/handler/RetryHandler.js"(exports2, module2) {
-    var assert = require("assert");
-    var { kRetryHandlerDefaultRetry } = require_symbols6();
-    var { RequestRetryError } = require_errors2();
-    var { isDisturbed, parseHeaders, parseRangeHeader } = require_util9();
-    function calculateRetryAfterHeader(retryAfter) {
-      const current = Date.now();
-      const diff = new Date(retryAfter).getTime() - current;
-      return diff;
-    }
-    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;
-        this.abort = null;
-        this.aborted = false;
-        this.retryOpts = {
-          retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry],
-          retryAfter: retryAfter ?? true,
-          maxTimeout: maxTimeout ?? 30 * 1e3,
-          // 30s,
-          timeout: 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"
-          ]
-        };
-        this.retryCount = 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;
+      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);
+        })();
       }
-      onRequestSent() {
-        if (this.handler.onRequestSent) {
-          this.handler.onRequestSent();
-        }
+      if (recursive) {
+        return response;
       }
-      onUpgrade(statusCode, headers, socket) {
-        if (this.handler.onUpgrade) {
-          this.handler.onUpgrade(statusCode, headers, socket);
+      if (response.status !== 0 && !response.internalResponse) {
+        if (request2.responseTainting === "cors") {
         }
-      }
-      onConnect(abort) {
-        if (this.aborted) {
-          abort(this.reason);
+        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 {
-          this.abort = abort;
+          assert(false);
         }
       }
-      onBodySent(chunk) {
-        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
+      let internalResponse = response.status === 0 ? response : response.internalResponse;
+      if (internalResponse.urlList.length === 0) {
+        internalResponse.urlList.push(...request2.urlList);
       }
-      static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) {
-        const { statusCode, code, headers } = err;
-        const { method, retryOptions } = opts;
-        const {
-          maxRetries,
-          timeout,
-          maxTimeout,
-          timeoutFactor,
-          statusCodes,
-          errorCodes,
-          methods
-        } = retryOptions;
-        let { counter, currentTimeout } = state;
-        currentTimeout = currentTimeout != null && currentTimeout > 0 ? currentTimeout : timeout;
-        if (code && code !== "UND_ERR_REQ_RETRY" && code !== "UND_ERR_SOCKET" && !errorCodes.includes(code)) {
-          cb(err);
+      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;
         }
-        if (Array.isArray(methods) && !methods.includes(method)) {
-          cb(err);
-          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"));
         }
-        if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) {
-          cb(err);
-          return;
+        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 type2 = 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", type2, 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, type2);
+            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", type2, true);
+            response.headersList.set("content-range", contentRange, true);
+          }
+          return Promise.resolve(response);
         }
-        if (counter > maxRetries) {
-          cb(err);
-          return;
+        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]
+          }));
         }
-        let retryAfterHeader = headers != null && headers["retry-after"];
-        if (retryAfterHeader) {
-          retryAfterHeader = Number(retryAfterHeader);
-          retryAfterHeader = isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3;
+        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"));
         }
-        const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(currentTimeout * timeoutFactor ** counter, maxTimeout);
-        state.currentTimeout = retryTimeout;
-        setTimeout(() => cb(null), retryTimeout);
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const headers = parseHeaders(rawHeaders);
-        this.retryCount += 1;
-        if (statusCode >= 300) {
-          this.abort(
-            new RequestRetryError("Request failed", statusCode, {
-              headers,
-              count: this.retryCount
-            })
-          );
-          return false;
+    }
+    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;
         }
-        if (this.resume != null) {
-          this.resume = null;
-          if (statusCode !== 206) {
-            return true;
-          }
-          const contentRange = parseRangeHeader(headers["content-range"]);
-          if (!contentRange) {
-            this.abort(
-              new RequestRetryError("Content-Range mismatch", statusCode, {
-                headers,
-                count: this.retryCount
-              })
-            );
-            return false;
+        fetchParams.controller.reportTimingSteps = () => {
+          if (fetchParams.request.url.protocol !== "https:") {
+            return;
           }
-          if (this.etag != null && this.etag !== headers.etag) {
-            this.abort(
-              new RequestRetryError("ETag mismatch", statusCode, {
-                headers,
-                count: this.retryCount
-              })
-            );
-            return false;
+          timingInfo.endTime = unsafeEndTime;
+          let cacheState = response.cacheState;
+          const bodyInfo = response.bodyInfo;
+          if (!response.timingAllowPassed) {
+            timingInfo = createOpaqueTimingInfo(timingInfo);
+            cacheState = "";
           }
-          const { start, size, end = size } = 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
-              );
+          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);
             }
-            const { start, size, end = size } = range;
-            assert(
-              start != null && Number.isFinite(start) && this.start !== start,
-              "content-range mismatch"
-            );
-            assert(Number.isFinite(start));
-            assert(
-              end != null && Number.isFinite(end) && this.end !== 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) : null;
+          if (fetchParams.request.initiatorType != null) {
+            markResourceTiming(timingInfo, fetchParams.request.url.href, fetchParams.request.initiatorType, globalThis, cacheState, bodyInfo, responseStatus);
           }
-          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;
-          return this.handler.onHeaders(
-            statusCode,
-            rawHeaders,
-            resume,
-            statusMessage
-          );
-        }
-        const err = new RequestRetryError("Request failed", statusCode, {
-          headers,
-          count: this.retryCount
+        };
+        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;
         });
-        this.abort(err);
-        return false;
       }
-      onData(chunk) {
-        this.start += chunk.length;
-        return this.handler.onData(chunk);
+      const internalResponse = response.type === "error" ? response : response.internalResponse ?? response;
+      if (internalResponse.body == null) {
+        processResponseEndOfBody();
+      } else {
+        finished(internalResponse.body.stream, () => {
+          processResponseEndOfBody();
+        });
       }
-      onComplete(rawTrailers) {
-        this.retryCount = 0;
-        return this.handler.onComplete(rawTrailers);
+    }
+    async function httpFetch(fetchParams) {
+      const request2 = fetchParams.request;
+      let response = null;
+      let actualResponse = null;
+      const timingInfo = fetchParams.timingInfo;
+      if (request2.serviceWorkers === "all") {
       }
-      onError(err) {
-        if (this.aborted || isDisturbed(this.opts.body)) {
-          return this.handler.onError(err);
+      if (response === null) {
+        if (request2.redirect === "follow") {
+          request2.serviceWorkers = "none";
         }
-        this.retryOpts.retry(
-          err,
-          {
-            state: { counter: this.retryCount++, currentTimeout: this.retryAfter },
-            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) {
-            this.opts = {
-              ...this.opts,
-              headers: {
-                ...this.opts.headers,
-                range: `bytes=${this.start}-${this.end ?? ""}`
-              }
-            };
-          }
-          try {
-            this.dispatch(this.opts, this);
-          } catch (err3) {
-            this.handler.onError(err3);
-          }
+        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;
         }
       }
-    };
-    module2.exports = RetryHandler;
-  }
-});
-
-// node_modules/undici/lib/global.js
-var require_global4 = __commonJS({
-  "node_modules/undici/lib/global.js"(exports2, module2) {
-    "use strict";
-    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
-    var { InvalidArgumentError } = require_errors2();
-    var Agent = require_agent2();
-    if (getGlobalDispatcher() === void 0) {
-      setGlobalDispatcher(new Agent());
-    }
-    function setGlobalDispatcher(agent) {
-      if (!agent || typeof agent.dispatch !== "function") {
-        throw new InvalidArgumentError("Argument agent must implement Agent");
+      if ((request2.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
+        request2.origin,
+        request2.client,
+        request2.destination,
+        actualResponse
+      ) === "blocked") {
+        return makeNetworkError("blocked");
       }
-      Object.defineProperty(globalThis, globalDispatcher, {
-        value: agent,
-        writable: true,
-        enumerable: false,
-        configurable: false
-      });
+      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 getGlobalDispatcher() {
-      return globalThis[globalDispatcher];
+    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);
     }
-    module2.exports = {
-      setGlobalDispatcher,
-      getGlobalDispatcher
-    };
-  }
-});
-
-// node_modules/undici/lib/handler/DecoratorHandler.js
-var require_DecoratorHandler = __commonJS({
-  "node_modules/undici/lib/handler/DecoratorHandler.js"(exports2, module2) {
-    "use strict";
-    module2.exports = class DecoratorHandler {
-      constructor(handler2) {
-        this.handler = handler2;
+    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;
       }
-      onConnect(...args) {
-        return this.handler.onConnect(...args);
+      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";
       }
-      onError(...args) {
-        return this.handler.onError(...args);
+      if (contentLength != null) {
+        contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
       }
-      onUpgrade(...args) {
-        return this.handler.onUpgrade(...args);
+      if (contentLengthHeaderValue != null) {
+        httpRequest.headersList.append("content-length", contentLengthHeaderValue, true);
       }
-      onHeaders(...args) {
-        return this.handler.onHeaders(...args);
+      if (contentLength != null && httpRequest.keepalive) {
       }
-      onData(...args) {
-        return this.handler.onData(...args);
+      if (httpRequest.referrer instanceof URL) {
+        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href), true);
       }
-      onComplete(...args) {
-        return this.handler.onComplete(...args);
+      appendRequestOriginHeader(httpRequest);
+      appendFetchMetadata(httpRequest);
+      if (!httpRequest.headersList.contains("user-agent", true)) {
+        httpRequest.headersList.append("user-agent", defaultUserAgent);
       }
-      onBodySent(...args) {
-        return this.handler.onBodySent(...args);
+      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";
       }
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/headers.js
-var require_headers2 = __commonJS({
-  "node_modules/undici/lib/fetch/headers.js"(exports2, module2) {
-    "use strict";
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var { kGuard } = require_symbols7();
-    var { kEnumerableProperty } = require_util9();
-    var {
-      makeIterator,
-      isValidHeaderName,
-      isValidHeaderValue
-    } = require_util10();
-    var util = require("util");
-    var { webidl } = require_webidl2();
-    var assert = require("assert");
-    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
-    var kHeadersSortedMap = /* @__PURE__ */ 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]);
+      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);
         }
-      } 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]]);
+        if (!httpRequest.headersList.contains("cache-control", true)) {
+          httpRequest.headersList.append("cache-control", "no-cache", true);
         }
-      } 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 (headers[kGuard] === "immutable") {
-        throw new TypeError("immutable");
-      } else if (headers[kGuard] === "request-no-cors") {
+      if (httpRequest.headersList.contains("range", true)) {
+        httpRequest.headersList.append("accept-encoding", "identity", true);
       }
-      return headers[kHeadersList].append(name, value);
-    }
-    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];
+      if (!httpRequest.headersList.contains("accept-encoding", true)) {
+        if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
+          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate", true);
         } else {
-          this[kHeadersMap] = new Map(init);
-          this[kHeadersSortedMap] = null;
+          httpRequest.headersList.append("accept-encoding", "gzip, deflate", true);
         }
       }
-      // https://fetch.spec.whatwg.org/#header-list-contains
-      contains(name) {
-        name = name.toLowerCase();
-        return this[kHeadersMap].has(name);
+      httpRequest.headersList.delete("host", true);
+      if (includeCredentials) {
       }
-      clear() {
-        this[kHeadersMap].clear();
-        this[kHeadersSortedMap] = null;
-        this.cookies = null;
+      if (httpCache == null) {
+        httpRequest.cache = "no-store";
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-append
-      append(name, value) {
-        this[kHeadersSortedMap] = null;
-        const lowercaseName = name.toLowerCase();
-        const exists = this[kHeadersMap].get(lowercaseName);
-        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 (httpRequest.cache !== "no-store" && httpRequest.cache !== "reload") {
+      }
+      if (response == null) {
+        if (httpRequest.cache === "only-if-cached") {
+          return makeNetworkError("only if cached");
         }
-        if (lowercaseName === "set-cookie") {
-          this.cookies ??= [];
-          this.cookies.push(value);
+        const forwardResponse = await httpNetworkFetch(
+          httpFetchParams,
+          includeCredentials,
+          isNewConnectionFetch
+        );
+        if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {
         }
-      }
-      // https://fetch.spec.whatwg.org/#concept-header-list-set
-      set(name, value) {
-        this[kHeadersSortedMap] = null;
-        const lowercaseName = name.toLowerCase();
-        if (lowercaseName === "set-cookie") {
-          this.cookies = [value];
+        if (revalidatingFlag && forwardResponse.status === 304) {
         }
-        this[kHeadersMap].set(lowercaseName, { name, value });
-      }
-      // https://fetch.spec.whatwg.org/#concept-header-list-delete
-      delete(name) {
-        this[kHeadersSortedMap] = null;
-        name = name.toLowerCase();
-        if (name === "set-cookie") {
-          this.cookies = null;
+        if (response == null) {
+          response = forwardResponse;
         }
-        this[kHeadersMap].delete(name);
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-get
-      get(name) {
-        const value = this[kHeadersMap].get(name.toLowerCase());
-        return value === void 0 ? null : value.value;
+      response.urlList = [...httpRequest.urlList];
+      if (httpRequest.headersList.contains("range", true)) {
+        response.rangeRequested = true;
       }
-      *[Symbol.iterator]() {
-        for (const [name, { value }] of this[kHeadersMap]) {
-          yield [name, value];
+      response.requestIncludesCredentials = includeCredentials;
+      if (response.status === 407) {
+        if (request2.window === "no-window") {
+          return makeNetworkError();
         }
-      }
-      get entries() {
-        const headers = {};
-        if (this[kHeadersMap].size) {
-          for (const { name, value } of this[kHeadersMap].values()) {
-            headers[name] = value;
-          }
+        if (isCancelled(fetchParams)) {
+          return makeAppropriateNetworkError(fetchParams);
         }
-        return headers;
+        return makeNetworkError("proxy authentication required");
       }
-    };
-    var Headers = class _Headers {
-      constructor(init = void 0) {
-        if (init === kConstruct) {
-          return;
-        }
-        this[kHeadersList] = new HeadersList();
-        this[kGuard] = "none";
-        if (init !== void 0) {
-          init = webidl.converters.HeadersInit(init);
-          fill(this, init);
+      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
+        );
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-append
-      append(name, value) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.append" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
-        return appendHeader(this, name, value);
+      if (isAuthenticationFetch) {
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-delete
-      delete(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.delete" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.delete",
-            value: name,
-            type: "header name"
-          });
-        }
-        if (this[kGuard] === "immutable") {
-          throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
-        }
-        if (!this[kHeadersList].contains(name)) {
-          return;
+      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"));
+            }
+          }
         }
-        this[kHeadersList].delete(name);
+      };
+      const request2 = fetchParams.request;
+      let response = null;
+      const timingInfo = fetchParams.timingInfo;
+      const httpCache = null;
+      if (httpCache == null) {
+        request2.cache = "no-store";
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-get
-      get(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.get" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.get",
-            value: name,
-            type: "header name"
-          });
-        }
-        return this[kHeadersList].get(name);
+      const newConnection = forceNewConnection ? "yes" : "no";
+      if (request2.mode === "websocket") {
+      } else {
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-has
-      has(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.has" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.has",
-            value: name,
-            type: "header name"
-          });
-        }
-        return this[kHeadersList].contains(name);
+      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);
+          }
+        })();
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-set
-      set(name, value) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.set" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
-        value = headerValueNormalize(value);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
-            value: name,
-            type: "header name"
-          });
-        } else if (!isValidHeaderValue(value)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
-            value,
-            type: "header value"
-          });
+      try {
+        const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
+        if (socket) {
+          response = makeResponse({ status, statusText, headersList, socket });
+        } else {
+          const iterator2 = body[Symbol.asyncIterator]();
+          fetchParams.controller.next = () => iterator2.next();
+          response = makeResponse({ status, statusText, headersList });
         }
-        if (this[kGuard] === "immutable") {
-          throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
+      } catch (err) {
+        if (err.name === "AbortError") {
+          fetchParams.controller.connection.destroy();
+          return makeAppropriateNetworkError(fetchParams, err);
         }
-        this[kHeadersList].set(name, value);
+        return makeNetworkError(err);
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
-      getSetCookie() {
-        webidl.brandCheck(this, _Headers);
-        const list = this[kHeadersList].cookies;
-        if (list) {
-          return [...list];
+      const pullAlgorithm = async () => {
+        await fetchParams.controller.resume();
+      };
+      const cancelAlgorithm = (reason) => {
+        if (!isCancelled(fetchParams)) {
+          fetchParams.controller.abort(reason);
         }
-        return [];
-      }
-      // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
-      get [kHeadersSortedMap]() {
-        if (this[kHeadersList][kHeadersSortedMap]) {
-          return this[kHeadersList][kHeadersSortedMap];
+      };
+      const stream = new ReadableStream(
+        {
+          async start(controller) {
+            fetchParams.controller.controller = controller;
+          },
+          async pull(controller) {
+            await pullAlgorithm(controller);
+          },
+          async cancel(reason) {
+            await cancelAlgorithm(reason);
+          },
+          type: "bytes"
         }
-        const headers = [];
-        const names = [...this[kHeadersList]].sort((a, b) => a[0] < b[0] ? -1 : 1);
-        const cookies = this[kHeadersList].cookies;
-        for (let i = 0; i < names.length; ++i) {
-          const [name, value] = names[i];
-          if (name === "set-cookie") {
-            for (let j = 0; j < cookies.length; ++j) {
-              headers.push([name, cookies[j]]);
+      );
+      response.body = { stream, source: null, length: null };
+      fetchParams.controller.onAborted = onAborted;
+      fetchParams.controller.on("terminated", onAborted);
+      fetchParams.controller.resume = async () => {
+        while (true) {
+          let bytes;
+          let isFailure;
+          try {
+            const { done, value } = await fetchParams.controller.next();
+            if (isAborted(fetchParams)) {
+              break;
+            }
+            bytes = done ? void 0 : value;
+          } catch (err) {
+            if (fetchParams.controller.ended && !timingInfo.encodedBodySize) {
+              bytes = void 0;
+            } else {
+              bytes = err;
+              isFailure = true;
+            }
+          }
+          if (bytes === void 0) {
+            readableStreamClose(fetchParams.controller.controller);
+            finalizeResponse(fetchParams, response);
+            return;
+          }
+          timingInfo.decodedBodySize += bytes?.byteLength ?? 0;
+          if (isFailure) {
+            fetchParams.controller.terminate(bytes);
+            return;
+          }
+          const buffer = new Uint8Array(bytes);
+          if (buffer.byteLength) {
+            fetchParams.controller.controller.enqueue(buffer);
+          }
+          if (isErrored(stream)) {
+            fetchParams.controller.terminate();
+            return;
+          }
+          if (fetchParams.controller.controller.desiredSize <= 0) {
+            return;
+          }
+        }
+      };
+      function onAborted(reason) {
+        if (isAborted(fetchParams)) {
+          response.aborted = true;
+          if (isReadable(stream)) {
+            fetchParams.controller.controller.error(
+              fetchParams.controller.serializedAbortReason
+            );
+          }
+        } else {
+          if (isReadable(stream)) {
+            fetchParams.controller.controller.error(new TypeError("terminated", {
+              cause: isErrorLike(reason) ? reason : void 0
+            }));
+          }
+        }
+        fetchParams.controller.connection.destroy();
+      }
+      return response;
+      function dispatch({ body }) {
+        const url = requestCurrentURL(request2);
+        const agent = fetchParams.controller.dispatcher;
+        return new Promise((resolve4, reject) => agent.dispatch(
+          {
+            path: url.pathname + url.search,
+            origin: url.origin,
+            method: request2.method,
+            body: agent.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
+            headers: request2.headersList.entries,
+            maxRedirections: 0,
+            upgrade: request2.mode === "websocket" ? "websocket" : void 0
+          },
+          {
+            body: null,
+            abort: null,
+            onConnect(abort) {
+              const { connection } = fetchParams.controller;
+              timingInfo.finalConnectionTimingInfo = clampAndCoarsenConnectionTimingInfo(void 0, timingInfo.postRedirectStartTime, fetchParams.crossOriginIsolatedCapability);
+              if (connection.destroyed) {
+                abort(new DOMException("The operation was aborted.", "AbortError"));
+              } else {
+                fetchParams.controller.on("terminated", abort);
+                this.abort = connection.abort = abort;
+              }
+              timingInfo.finalNetworkRequestStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+            },
+            onResponseStarted() {
+              timingInfo.finalNetworkResponseStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+            },
+            onHeaders(status, rawHeaders, resume, statusText) {
+              if (status < 200) {
+                return;
+              }
+              let location = "";
+              const headersList = new HeadersList();
+              for (let i = 0; i < rawHeaders.length; i += 2) {
+                headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true);
+              }
+              location = headersList.get("location", true);
+              this.body = new Readable({ read: resume });
+              const decoders = [];
+              const willFollow = location && request2.redirect === "follow" && redirectStatusSet.has(status);
+              if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
+                const contentEncoding = headersList.get("content-encoding", true);
+                const codings = contentEncoding ? contentEncoding.toLowerCase().split(",") : [];
+                const maxContentEncodings = 5;
+                if (codings.length > maxContentEncodings) {
+                  reject(new Error(`too many content-encodings in response: ${codings.length}, maximum allowed is ${maxContentEncodings}`));
+                  return true;
+                }
+                for (let i = codings.length - 1; i >= 0; --i) {
+                  const coding = codings[i].trim();
+                  if (coding === "x-gzip" || coding === "gzip") {
+                    decoders.push(zlib.createGunzip({
+                      // Be less strict when decoding compressed responses, since sometimes
+                      // servers send slightly invalid responses that are still accepted
+                      // by common browsers.
+                      // Always using Z_SYNC_FLUSH is what cURL does.
+                      flush: zlib.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib.constants.Z_SYNC_FLUSH
+                    }));
+                  } else if (coding === "deflate") {
+                    decoders.push(createInflate({
+                      flush: zlib.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib.constants.Z_SYNC_FLUSH
+                    }));
+                  } else if (coding === "br") {
+                    decoders.push(zlib.createBrotliDecompress({
+                      flush: zlib.constants.BROTLI_OPERATION_FLUSH,
+                      finishFlush: zlib.constants.BROTLI_OPERATION_FLUSH
+                    }));
+                  } else {
+                    decoders.length = 0;
+                    break;
+                  }
+                }
+              }
+              const onError = this.onError.bind(this);
+              resolve4({
+                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(error3) {
+              if (this.abort) {
+                fetchParams.controller.off("terminated", this.abort);
+              }
+              this.body?.destroy(error3);
+              fetchParams.controller.terminate(error3);
+              reject(error3);
+            },
+            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);
+              }
+              resolve4({
+                status,
+                statusText: STATUS_CODES[status],
+                headersList,
+                socket
+              });
+              return true;
             }
-          } else {
-            assert(value !== null);
-            headers.push([name, value]);
           }
-        }
-        this[kHeadersList][kHeadersSortedMap] = headers;
-        return headers;
-      }
-      keys() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key"
-        );
-      }
-      values() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "value"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "value"
-        );
-      }
-      entries() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key+value"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key+value"
-        );
-      }
-      /**
-       * @param {(value: string, key: string, self: Headers) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'."
-          );
-        }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
-        }
-      }
-      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")]() {
-        webidl.brandCheck(this, _Headers);
-        return this[kHeadersList];
-      }
-    };
-    Headers.prototype[Symbol.iterator] = Headers.prototype.entries;
-    Object.defineProperties(Headers.prototype, {
-      append: kEnumerableProperty,
-      delete: kEnumerableProperty,
-      get: kEnumerableProperty,
-      has: kEnumerableProperty,
-      set: kEnumerableProperty,
-      getSetCookie: kEnumerableProperty,
-      keys: kEnumerableProperty,
-      values: kEnumerableProperty,
-      entries: kEnumerableProperty,
-      forEach: kEnumerableProperty,
-      [Symbol.iterator]: { enumerable: false },
-      [Symbol.toStringTag]: {
-        value: "Headers",
-        configurable: true
-      },
-      [util.inspect.custom]: {
-        enumerable: false
-      }
-    });
-    webidl.converters.HeadersInit = function(V) {
-      if (webidl.util.Type(V) === "Object") {
-        if (V[Symbol.iterator]) {
-          return webidl.converters["sequence>"](V);
-        }
-        return webidl.converters["record"](V);
+        ));
       }
-      throw webidl.errors.conversionFailed({
-        prefix: "Headers constructor",
-        argument: "Argument 1",
-        types: ["sequence>", "record"]
-      });
+    }
+    module2.exports = {
+      fetch,
+      Fetch,
+      fetching,
+      finalizeAndReportTiming
     };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js
+var require_symbols8 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js"(exports2, module2) {
+    "use strict";
     module2.exports = {
-      fill,
-      Headers,
-      HeadersList
+      kState: /* @__PURE__ */ Symbol("FileReader state"),
+      kResult: /* @__PURE__ */ Symbol("FileReader result"),
+      kError: /* @__PURE__ */ Symbol("FileReader error"),
+      kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"),
+      kEvents: /* @__PURE__ */ Symbol("FileReader events"),
+      kAborted: /* @__PURE__ */ Symbol("FileReader aborted")
     };
   }
 });
 
-// node_modules/undici/lib/fetch/response.js
-var require_response2 = __commonJS({
-  "node_modules/undici/lib/fetch/response.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js
+var require_progressevent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js"(exports2, module2) {
     "use strict";
-    var { Headers, HeadersList, fill } = require_headers2();
-    var { extractBody, cloneBody, mixinBody } = require_body2();
-    var util = require_util9();
-    var { kEnumerableProperty } = util;
-    var {
-      isValidReasonPhrase,
-      isCancelled,
-      isAborted,
-      isBlobLike,
-      serializeJavascriptValueToJSONString,
-      isErrorLike,
-      isomorphicEncode
-    } = require_util10();
-    var {
-      redirectStatusSet,
-      nullBodyStatus,
-      DOMException: DOMException2
-    } = require_constants7();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
     var { webidl } = require_webidl2();
-    var { FormData: FormData2 } = require_formdata2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { types } = require("util");
-    var ReadableStream2 = globalThis.ReadableStream || require("stream/web").ReadableStream;
-    var textEncoder = new TextEncoder("utf-8");
-    var Response = class _Response {
-      // Creates network error Response.
-      static error() {
-        const relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kState] = makeNetworkError();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = responseObject[kState].headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        return responseObject;
-      }
-      // https://fetch.spec.whatwg.org/#dom-response-json
-      static json(data, init = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.json" });
-        if (init !== null) {
-          init = webidl.converters.ResponseInit(init);
-        }
-        const bytes = textEncoder.encode(
-          serializeJavascriptValueToJSONString(data)
-        );
-        const body = extractBody(bytes);
-        const relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "response";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
-        return responseObject;
-      }
-      // Creates a redirect Response that redirects to url with status status.
-      static redirect(url, status = 302) {
-        const relevantRealm = { settingsObject: {} };
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.redirect" });
-        url = webidl.converters.USVString(url);
-        status = webidl.converters["unsigned short"](status);
-        let parsedURL;
-        try {
-          parsedURL = new URL(url, getGlobalOrigin());
-        } catch (err) {
-          throw Object.assign(new TypeError("Failed to parse URL from " + url), {
-            cause: err
-          });
-        }
-        if (!redirectStatusSet.has(status)) {
-          throw new RangeError("Invalid status code " + status);
-        }
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        responseObject[kState].status = status;
-        const value = isomorphicEncode(URLSerializer(parsedURL));
-        responseObject[kState].headersList.append("location", value);
-        return responseObject;
-      }
-      // https://fetch.spec.whatwg.org/#dom-response
-      constructor(body = null, init = {}) {
-        if (body !== null) {
-          body = webidl.converters.BodyInit(body);
-        }
-        init = webidl.converters.ResponseInit(init);
-        this[kRealm] = { settingsObject: {} };
-        this[kState] = makeResponse({});
-        this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kGuard] = "response";
-        this[kHeaders][kHeadersList] = this[kState].headersList;
-        this[kHeaders][kRealm] = this[kRealm];
-        let bodyWithType = null;
-        if (body != null) {
-          const [extractedBody, type2] = extractBody(body);
-          bodyWithType = { body: extractedBody, type: type2 };
-        }
-        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];
+    var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
+    var ProgressEvent = class _ProgressEvent extends Event {
+      constructor(type2, eventInitDict = {}) {
+        type2 = webidl.converters.DOMString(type2, "ProgressEvent constructor", "type");
+        eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
+        super(type2, eventInitDict);
+        this[kState] = {
+          lengthComputable: eventInitDict.lengthComputable,
+          loaded: eventInitDict.loaded,
+          total: eventInitDict.total
+        };
       }
-      get body() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].body ? this[kState].body.stream : null;
+      get lengthComputable() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].lengthComputable;
       }
-      get bodyUsed() {
-        webidl.brandCheck(this, _Response);
-        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
+      get loaded() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].loaded;
       }
-      // Returns a clone of response.
-      clone() {
-        webidl.brandCheck(this, _Response);
-        if (this.bodyUsed || this.body && this.body.locked) {
-          throw webidl.errors.exception({
-            header: "Response.clone",
-            message: "Body has already been consumed."
-          });
-        }
-        const clonedResponse = cloneResponse(this[kState]);
-        const clonedResponseObject = new _Response();
-        clonedResponseObject[kState] = clonedResponse;
-        clonedResponseObject[kRealm] = this[kRealm];
-        clonedResponseObject[kHeaders][kHeadersList] = clonedResponse.headersList;
-        clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm];
-        return clonedResponseObject;
+      get total() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].total;
       }
     };
-    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(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 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, type2) {
-      if (type2 === "basic") {
-        return makeFilteredResponse(response, {
-          type: "basic",
-          headersList: response.headersList
-        });
-      } else if (type2 === "cors") {
-        return makeFilteredResponse(response, {
-          type: "cors",
-          headersList: response.headersList
-        });
-      } else if (type2 === "opaque") {
-        return makeFilteredResponse(response, {
-          type: "opaque",
-          urlList: Object.freeze([]),
-          status: 0,
-          statusText: "",
-          body: null
-        });
-      } else if (type2 === "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 DOMException2("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException2("Request was cancelled."), { cause: err }));
-    }
-    function initializeResponse(response, init, body) {
-      if (init.status !== null && (init.status < 200 || init.status > 599)) {
-        throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
-      }
-      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;
+    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
       }
-      if ("headers" in init && init.headers != null) {
-        fill(response[kHeaders], init.headers);
+    ]);
+    module2.exports = {
+      ProgressEvent
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js
+var require_encoding2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js"(exports2, module2) {
+    "use strict";
+    function getEncoding(label) {
+      if (!label) {
+        return "failure";
       }
-      if (body) {
-        if (nullBodyStatus.includes(response.status)) {
-          throw webidl.errors.exception({
-            header: "Response constructor",
-            message: "Invalid response status code " + response.status
-          });
-        }
-        response[kState].body = body.body;
-        if (body.type != null && !response[kState].headersList.contains("Content-Type")) {
-          response[kState].headersList.append("content-type", body.type);
-        }
+      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";
       }
     }
-    webidl.converters.ReadableStream = webidl.interfaceConverter(
-      ReadableStream2
-    );
-    webidl.converters.FormData = webidl.interfaceConverter(
-      FormData2
-    );
-    webidl.converters.URLSearchParams = webidl.interfaceConverter(
-      URLSearchParams
-    );
-    webidl.converters.XMLHttpRequestBodyInit = function(V) {
-      if (typeof V === "string") {
-        return webidl.converters.USVString(V);
-      }
-      if (isBlobLike(V)) {
-        return webidl.converters.Blob(V, { strict: false });
-      }
-      if (types.isArrayBuffer(V) || types.isTypedArray(V) || types.isDataView(V)) {
-        return webidl.converters.BufferSource(V);
-      }
-      if (util.isFormDataLike(V)) {
-        return webidl.converters.FormData(V, { strict: false });
-      }
-      if (V instanceof URLSearchParams) {
-        return webidl.converters.URLSearchParams(V);
-      }
-      return webidl.converters.DOMString(V);
-    };
-    webidl.converters.BodyInit = function(V) {
-      if (V instanceof ReadableStream2) {
-        return webidl.converters.ReadableStream(V);
-      }
-      if (V?.[Symbol.asyncIterator]) {
-        return V;
-      }
-      return webidl.converters.XMLHttpRequestBodyInit(V);
-    };
-    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 = {
-      makeNetworkError,
-      makeResponse,
-      makeAppropriateNetworkError,
-      filterResponse,
-      Response,
-      cloneResponse
+      getEncoding
     };
   }
 });
 
-// node_modules/undici/lib/fetch/request.js
-var require_request4 = __commonJS({
-  "node_modules/undici/lib/fetch/request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js
+var require_util12 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js"(exports2, module2) {
     "use strict";
-    var { extractBody, mixinBody, cloneBody } = require_body2();
-    var { Headers, fill: fillHeaders, HeadersList } = require_headers2();
-    var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
-    var util = require_util9();
-    var {
-      isValidHTTPToken,
-      sameOrigin,
-      normalizeMethod,
-      makePolicyContainer,
-      normalizeMethodRecord
-    } = require_util10();
     var {
-      forbiddenMethodsSet,
-      corsSafeListedMethodsSet,
-      referrerPolicy,
-      requestRedirect,
-      requestMode,
-      requestCredentials,
-      requestCache,
-      requestDuplex
-    } = require_constants7();
-    var { kEnumerableProperty } = util;
-    var { kHeaders, kSignal, kState, kGuard, kRealm } = require_symbols7();
-    var { webidl } = require_webidl2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events");
-    var TransformStream2 = globalThis.TransformStream;
-    var kAbortController = /* @__PURE__ */ Symbol("abortController");
-    var requestFinalizer = new FinalizationRegistry2(({ signal, abort }) => {
-      signal.removeEventListener("abort", abort);
-    });
-    var Request = class _Request {
-      // https://fetch.spec.whatwg.org/#dom-request
-      constructor(input, init = {}) {
-        if (input === kConstruct) {
-          return;
-        }
-        webidl.argumentLengthCheck(arguments, 1, { header: "Request constructor" });
-        input = webidl.converters.RequestInfo(input);
-        init = webidl.converters.RequestInit(init);
-        this[kRealm] = {
-          settingsObject: {
-            baseUrl: getGlobalOrigin(),
-            get origin() {
-              return this.baseUrl?.origin;
-            },
-            policyContainer: makePolicyContainer()
-          }
-        };
-        let request2 = null;
-        let fallbackMode = null;
-        const baseUrl = this[kRealm].settingsObject.baseUrl;
-        let signal = null;
-        if (typeof input === "string") {
-          let parsedURL;
+      kState,
+      kError,
+      kResult,
+      kAborted,
+      kLastProgressEventFired
+    } = require_symbols8();
+    var { ProgressEvent } = require_progressevent2();
+    var { getEncoding } = require_encoding2();
+    var { serializeAMimeType, parseMIMEType } = require_data_url2();
+    var { types } = require("node:util");
+    var { StringDecoder } = require("string_decoder");
+    var { btoa: btoa2 } = require("node:buffer");
+    var staticPropertyDescriptors = {
+      enumerable: true,
+      writable: false,
+      configurable: false
+    };
+    function readOperation(fr, blob, type2, 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 {
-            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 {
-          assert(input instanceof _Request);
-          request2 = input[kState];
-          signal = input[kSignal];
-        }
-        const origin = this[kRealm].settingsObject.origin;
-        let window2 = "client";
-        if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
-          window2 = request2.window;
-        }
-        if (init.window != null) {
-          throw new TypeError(`'window' option '${window2}' must be null`);
-        }
-        if ("window" in init) {
-          window2 = "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: this[kRealm].settingsObject,
-          // window window.
-          window: window2,
-          // 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, this[kRealm].settingsObject.baseUrl)) {
-              request2.referrer = "client";
-            } else {
-              request2.referrer = parsedReferrer;
+            const { done, value } = await chunkPromise;
+            if (isFirstChunk && !fr[kAborted]) {
+              queueMicrotask(() => {
+                fireAProgressEvent("loadstart", fr);
+              });
             }
-          }
-        }
-        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;
-          if (!isValidHTTPToken(method)) {
-            throw new TypeError(`'${method}' is not a valid HTTP method.`);
-          }
-          if (forbiddenMethodsSet.has(method.toUpperCase())) {
-            throw new TypeError(`'${method}' HTTP method is unsupported.`);
-          }
-          method = normalizeMethodRecord[method] ?? normalizeMethod(method);
-          request2.method = method;
-        }
-        if (init.signal !== void 0) {
-          signal = init.signal;
-        }
-        this[kState] = request2;
-        const ac = new AbortController();
-        this[kSignal] = ac.signal;
-        this[kSignal][kRealm] = this[kRealm];
-        if (signal != null) {
-          if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") {
-            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 = function() {
-              const ac2 = acRef.deref();
-              if (ac2 !== void 0) {
-                ac2.abort(this.reason);
+            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);
+                });
               }
-            };
-            try {
-              if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) {
-                setMaxListeners(100, signal);
-              } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) {
-                setMaxListeners(100, signal);
+              chunkPromise = reader.read();
+            } else if (done) {
+              queueMicrotask(() => {
+                fr[kState] = "done";
+                try {
+                  const result = packageData(bytes, type2, blob.type, encodingName);
+                  if (fr[kAborted]) {
+                    return;
+                  }
+                  fr[kResult] = result;
+                  fireAProgressEvent("load", fr);
+                } catch (error3) {
+                  fr[kError] = error3;
+                  fireAProgressEvent("error", fr);
+                }
+                if (fr[kState] !== "loading") {
+                  fireAProgressEvent("loadend", fr);
+                }
+              });
+              break;
+            }
+          } catch (error3) {
+            if (fr[kAborted]) {
+              return;
+            }
+            queueMicrotask(() => {
+              fr[kState] = "done";
+              fr[kError] = error3;
+              fireAProgressEvent("error", fr);
+              if (fr[kState] !== "loading") {
+                fireAProgressEvent("loadend", fr);
               }
-            } catch {
-            }
-            util.addAbortListener(signal, abort);
-            requestFinalizer.register(ac, { signal, abort });
-          }
-        }
-        this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kHeadersList] = request2.headersList;
-        this[kHeaders][kGuard] = "request";
-        this[kHeaders][kRealm] = this[kRealm];
-        if (mode === "no-cors") {
-          if (!corsSafeListedMethodsSet.has(request2.method)) {
-            throw new TypeError(
-              `'${request2.method} is unsupported in no-cors mode.`
-            );
+            });
+            break;
           }
-          this[kHeaders][kGuard] = "request-no-cors";
         }
-        if (initHasKey) {
-          const headersList = this[kHeaders][kHeadersList];
-          const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList);
-          headersList.clear();
-          if (headers instanceof HeadersList) {
-            for (const [key, val] of headers) {
-              headersList.append(key, val);
-            }
-            headersList.cookies = headers.cookies;
-          } else {
-            fillHeaders(this[kHeaders], headers);
+      })();
+    }
+    function fireAProgressEvent(e, reader) {
+      const event = new ProgressEvent(e, {
+        bubbles: false,
+        cancelable: false
+      });
+      reader.dispatchEvent(event);
+    }
+    function packageData(bytes, type2, mimeType, encodingName) {
+      switch (type2) {
+        case "DataURL": {
+          let dataURL = "data:";
+          const parsed = parseMIMEType(mimeType || "application/octet-stream");
+          if (parsed !== "failure") {
+            dataURL += serializeAMimeType(parsed);
           }
-        }
-        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 && !this[kHeaders][kHeadersList].contains("content-type")) {
-            this[kHeaders].append("content-type", contentType);
+          dataURL += ";base64,";
+          const decoder = new StringDecoder("latin1");
+          for (const chunk of bytes) {
+            dataURL += btoa2(decoder.write(chunk));
           }
+          dataURL += btoa2(decoder.end());
+          return dataURL;
         }
-        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"'
-            );
+        case "Text": {
+          let encoding = "failure";
+          if (encodingName) {
+            encoding = getEncoding(encodingName);
           }
-          request2.useCORSPreflightFlag = true;
-        }
-        let finalBody = inputOrInitBody;
-        if (initBody == null && inputBody != null) {
-          if (util.isDisturbed(inputBody.stream) || inputBody.stream.locked) {
-            throw new TypeError(
-              "Cannot construct a Request with a Request object that has already been used."
-            );
+          if (encoding === "failure" && mimeType) {
+            const type3 = parseMIMEType(mimeType);
+            if (type3 !== "failure") {
+              encoding = getEncoding(type3.parameters.get("charset"));
+            }
           }
-          if (!TransformStream2) {
-            TransformStream2 = require("stream/web").TransformStream;
+          if (encoding === "failure") {
+            encoding = "UTF-8";
           }
-          const identityTransform = new TransformStream2();
-          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 decode(bytes, encoding);
         }
-        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-foward 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 (this.bodyUsed || this.body?.locked) {
-          throw new TypeError("unusable");
+        case "ArrayBuffer": {
+          const sequence = combineByteSequences(bytes);
+          return sequence.buffer;
         }
-        const clonedRequest = cloneRequest(this[kState]);
-        const clonedRequestObject = new _Request(kConstruct);
-        clonedRequestObject[kState] = clonedRequest;
-        clonedRequestObject[kRealm] = this[kRealm];
-        clonedRequestObject[kHeaders] = new Headers(kConstruct);
-        clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList;
-        clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm];
-        const ac = new AbortController();
-        if (this.signal.aborted) {
-          ac.abort(this.signal.reason);
-        } else {
-          util.addAbortListener(
-            this.signal,
-            () => {
-              ac.abort(this.signal.reason);
-            }
-          );
+        case "BinaryString": {
+          let binaryString = "";
+          const decoder = new StringDecoder("latin1");
+          for (const chunk of bytes) {
+            binaryString += decoder.write(chunk);
+          }
+          binaryString += decoder.end();
+          return binaryString;
         }
-        clonedRequestObject[kSignal] = ac.signal;
-        return clonedRequestObject;
       }
-    };
-    mixinBody(Request);
-    function makeRequest(init) {
-      const request2 = {
-        method: "GET",
-        localURLsOnly: false,
-        unsafeRequest: false,
-        body: null,
-        client: null,
-        reservedClient: null,
-        replacesClientId: "",
-        window: "client",
-        keepalive: false,
-        serviceWorkers: "all",
-        initiator: "",
-        destination: "",
-        priority: null,
-        origin: "client",
-        policyContainer: "client",
-        referrer: "client",
-        referrerPolicy: "",
-        mode: "no-cors",
-        useCORSPreflightFlag: false,
-        credentials: "same-origin",
-        useCredentials: false,
-        cache: "default",
-        redirect: "follow",
-        integrity: "",
-        cryptoGraphicsNonceMetadata: "",
-        parserMetadata: "",
-        reloadNavigation: false,
-        historyNavigation: false,
-        userActivation: false,
-        taintedOrigin: false,
-        redirectCount: 0,
-        responseTainting: "basic",
-        preventNoCacheCacheControlHeaderModification: false,
-        done: false,
-        timingAllowFailed: false,
-        ...init,
-        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList()
-      };
-      request2.url = request2.urlList[0];
-      return request2;
     }
-    function cloneRequest(request2) {
-      const newRequest = makeRequest({ ...request2, body: null });
-      if (request2.body != null) {
-        newRequest.body = cloneBody(request2.body);
+    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;
       }
-      return newRequest;
+      const sliced = bytes.slice(slice);
+      return new TextDecoder(encoding).decode(sliced);
     }
-    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) {
-      if (typeof V === "string") {
-        return webidl.converters.USVString(V);
-      }
-      if (V instanceof Request) {
-        return webidl.converters.Request(V);
+    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 webidl.converters.USVString(V);
+      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
     };
-    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,
-            { strict: false }
-          )
-        )
-      },
-      {
-        key: "window",
-        converter: webidl.converters.any
-      },
-      {
-        key: "duplex",
-        converter: webidl.converters.DOMString,
-        allowedValues: requestDuplex
-      }
-    ]);
-    module2.exports = { Request, makeRequest };
   }
 });
 
-// node_modules/undici/lib/fetch/index.js
-var require_fetch2 = __commonJS({
-  "node_modules/undici/lib/fetch/index.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js
+var require_filereader2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js"(exports2, module2) {
     "use strict";
     var {
-      Response,
-      makeNetworkError,
-      makeAppropriateNetworkError,
-      filterResponse,
-      makeResponse
-    } = require_response2();
-    var { Headers } = require_headers2();
-    var { Request, makeRequest } = require_request4();
-    var zlib = require("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
-    } = require_util10();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
-    var assert = require("assert");
-    var { safelyExtractBody } = require_body2();
+      staticPropertyDescriptors,
+      readOperation,
+      fireAProgressEvent
+    } = require_util12();
     var {
-      redirectStatusSet,
-      nullBodyStatus,
-      safeMethodsSet,
-      requestBodyHeader,
-      subresourceSet,
-      DOMException: DOMException2
-    } = require_constants7();
-    var { kHeadersList } = require_symbols6();
-    var EE = require("events");
-    var { Readable, pipeline } = require("stream");
-    var { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require_util9();
-    var { dataURLProcessor, serializeAMimeType } = require_dataURL();
-    var { TransformStream: TransformStream2 } = require("stream/web");
-    var { getGlobalDispatcher } = require_global4();
+      kState,
+      kError,
+      kResult,
+      kEvents,
+      kAborted
+    } = require_symbols8();
     var { webidl } = require_webidl2();
-    var { STATUS_CODES } = require("http");
-    var GET_OR_HEAD = ["GET", "HEAD"];
-    var resolveObjectURL;
-    var ReadableStream2 = globalThis.ReadableStream;
-    var Fetch = class extends EE {
-      constructor(dispatcher) {
+    var { kEnumerableProperty } = require_util9();
+    var FileReader = class _FileReader extends EventTarget {
+      constructor() {
         super();
-        this.dispatcher = dispatcher;
-        this.connection = null;
-        this.dump = false;
-        this.state = "ongoing";
-        this.setMaxListeners(21);
+        this[kState] = "empty";
+        this[kResult] = null;
+        this[kError] = null;
+        this[kEvents] = {
+          loadend: null,
+          error: null,
+          abort: null,
+          load: null,
+          progress: null,
+          loadstart: null
+        };
       }
-      terminate(reason) {
-        if (this.state !== "ongoing") {
+      /**
+       * @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;
         }
-        this.state = "terminated";
-        this.connection?.destroy(reason);
-        this.emit("terminated", reason);
+        if (this[kState] === "loading") {
+          this[kState] = "done";
+          this[kResult] = null;
+        }
+        this[kAborted] = true;
+        fireAProgressEvent("abort", this);
+        if (this[kState] !== "loading") {
+          fireAProgressEvent("loadend", this);
+        }
       }
-      // https://fetch.spec.whatwg.org/#fetch-controller-abort
-      abort(error3) {
-        if (this.state !== "ongoing") {
-          return;
+      /**
+       * @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;
         }
-        this.state = "aborted";
-        if (!error3) {
-          error3 = new DOMException2("The operation was aborted.", "AbortError");
+      }
+      /**
+       * @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;
         }
-        this.serializedAbortReason = error3;
-        this.connection?.destroy(error3);
-        this.emit("terminated", error3);
       }
-    };
-    function fetch(input, init = {}) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "globalThis.fetch" });
-      const p = createDeferredPromise();
-      let requestObject;
-      try {
-        requestObject = new Request(input, init);
-      } catch (e) {
-        p.reject(e);
-        return p.promise;
+      get onerror() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].error;
       }
-      const request2 = requestObject[kState];
-      if (requestObject.signal.aborted) {
-        abortFetch(p, request2, null, requestObject.signal.reason);
-        return p.promise;
+      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;
+        }
       }
-      const globalObject = request2.client.globalObject;
-      if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") {
-        request2.serviceWorkers = "none";
+      get onloadstart() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].loadstart;
       }
-      let responseObject = null;
-      const relevantRealm = null;
-      let locallyAborted = false;
-      let controller = null;
-      addAbortListener(
-        requestObject.signal,
-        () => {
-          locallyAborted = true;
-          assert(controller != null);
-          controller.abort(requestObject.signal.reason);
-          abortFetch(p, request2, responseObject, requestObject.signal.reason);
+      set onloadstart(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].loadstart) {
+          this.removeEventListener("loadstart", this[kEvents].loadstart);
         }
-      );
-      const handleFetchDone = (response) => finalizeAndReportTiming(response, "fetch");
-      const processResponse = (response) => {
-        if (locallyAborted) {
-          return Promise.resolve();
+        if (typeof fn === "function") {
+          this[kEvents].loadstart = fn;
+          this.addEventListener("loadstart", fn);
+        } else {
+          this[kEvents].loadstart = null;
         }
-        if (response.aborted) {
-          abortFetch(p, request2, responseObject, controller.serializedAbortReason);
-          return Promise.resolve();
+      }
+      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 (response.type === "error") {
-          p.reject(
-            Object.assign(new TypeError("fetch failed"), { cause: response.error })
-          );
-          return Promise.resolve();
+        if (typeof fn === "function") {
+          this[kEvents].progress = fn;
+          this.addEventListener("progress", fn);
+        } else {
+          this[kEvents].progress = null;
         }
-        responseObject = new Response();
-        responseObject[kState] = response;
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = response.headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        p.resolve(responseObject);
-      };
-      controller = fetching({
-        request: request2,
-        processResponseEndOfBody: handleFetchDone,
-        processResponse,
-        dispatcher: init.dispatcher ?? getGlobalDispatcher()
-        // undici
-      });
-      return p.promise;
-    }
-    function finalizeAndReportTiming(response, initiatorType = "other") {
-      if (response.type === "error" && response.aborted) {
-        return;
       }
-      if (!response.urlList?.length) {
-        return;
+      get onload() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].load;
       }
-      const originalURL = response.urlList[0];
-      let timingInfo = response.timingInfo;
-      let cacheState = response.cacheState;
-      if (!urlIsHttpHttpsScheme(originalURL)) {
-        return;
+      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;
+        }
       }
-      if (timingInfo === null) {
-        return;
+      get onabort() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].abort;
       }
-      if (!response.timingAllowPassed) {
-        timingInfo = createOpaqueTimingInfo({
-          startTime: timingInfo.startTime
-        });
-        cacheState = "";
+      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;
+        }
       }
-      timingInfo.endTime = coarsenedSharedCurrentTime();
-      response.timingInfo = timingInfo;
-      markResourceTiming(
-        timingInfo,
-        originalURL,
-        initiatorType,
-        globalThis,
-        cacheState
-      );
+    };
+    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/@actions/github/node_modules/undici/lib/web/cache/symbols.js
+var require_symbols9 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kConstruct: require_symbols6().kConstruct
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js
+var require_util13 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { URLSerializer } = require_data_url2();
+    var { isValidHeaderName } = require_util10();
+    function urlEquals(A, B, excludeFragment = false) {
+      const serializedA = URLSerializer(A, excludeFragment);
+      const serializedB = URLSerializer(B, excludeFragment);
+      return serializedA === serializedB;
     }
-    function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) {
-      if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) {
-        performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis2, cacheState);
+    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;
     }
-    function abortFetch(p, request2, responseObject, error3) {
-      if (!error3) {
-        error3 = new DOMException2("The operation was aborted.", "AbortError");
+    module2.exports = {
+      urlEquals,
+      getFieldValues
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js
+var require_cache2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols9();
+    var { urlEquals, getFieldValues } = require_util13();
+    var { kEnumerableProperty, isDisturbed } = require_util9();
+    var { webidl } = require_webidl2();
+    var { Response, cloneResponse, fromInnerResponse } = require_response2();
+    var { Request, fromInnerRequest } = require_request4();
+    var { kState } = require_symbols7();
+    var { fetching } = require_fetch2();
+    var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util10();
+    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];
       }
-      p.reject(error3);
-      if (request2.body != null && isReadable(request2.body?.stream)) {
-        request2.body.stream.cancel(error3).catch((err) => {
-          if (err.code === "ERR_INVALID_STATE") {
-            return;
+      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);
           }
-          throw err;
         });
+        return cacheJobPromise.promise;
       }
-      if (responseObject == null) {
-        return;
-      }
-      const response = responseObject[kState];
-      if (response.body != null && isReadable(response.body?.stream)) {
-        response.body.stream.cancel(error3).catch((err) => {
-          if (err.code === "ERR_INVALID_STATE") {
-            return;
+      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);
           }
-          throw err;
         });
+        return cacheJobPromise.promise;
       }
-    }
-    function fetching({
-      request: request2,
-      processRequestBodyChunkLength,
-      processRequestEndOfBody,
-      processResponse,
-      processResponseEndOfBody,
-      processResponseConsumeBody,
-      useParallelQueue = false,
-      dispatcher
-      // undici
-    }) {
-      let taskDestination = null;
-      let crossOriginIsolatedCapability = false;
-      if (request2.client != null) {
-        taskDestination = request2.client.globalObject;
-        crossOriginIsolatedCapability = request2.client.crossOriginIsolatedCapability;
-      }
-      const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
-      const timingInfo = createOpaqueTimingInfo({
-        startTime: currenTime
-      });
-      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
-          );
+      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 {
-          request2.policyContainer = makePolicyContainer();
+          assert(typeof request2 === "string");
+          r = new Request(request2)[kState];
         }
-      }
-      if (!request2.headersList.contains("accept")) {
-        const value = "*/*";
-        request2.headersList.append("accept", value);
-      }
-      if (!request2.headersList.contains("accept-language")) {
-        request2.headersList.append("accept-language", "*");
-      }
-      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"');
+        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);
           }
-          if (request2.mode === "no-cors") {
-            if (request2.redirect !== "follow") {
-              return makeNetworkError(
-                'redirect mode cannot be "follow" for "no-cors" request'
-              );
+        });
+        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 [];
             }
-            request2.responseTainting = "opaque";
-            return await schemeFetch(fetchParams);
-          }
-          if (!urlIsHttpHttpsScheme(requestCurrentURL(request2))) {
-            return makeNetworkError("URL scheme must be a HTTP(S) scheme");
+          } else if (typeof request2 === "string") {
+            r = new Request(request2)[kState];
           }
-          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");
+        const promise = createDeferredPromise();
+        const requests = [];
+        if (request2 === void 0) {
+          for (const requestResponse of this.#relevantRequestResponseList) {
+            requests.push(requestResponse[0]);
+          }
         } else {
-          assert(false);
+          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;
       }
-      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")) {
-        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;
+      /**
+       * @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]);
           }
-          response.body = safelyExtractBody(bytes)[0];
-          fetchFinale(fetchParams, response);
-        };
-        await fullyReadBody(response.body, processBody, processBodyError);
-      } else {
-        fetchFinale(fetchParams, response);
+          return resultList;
+        } catch (e) {
+          this.#relevantRequestResponseList.length = 0;
+          this.#relevantRequestResponseList = backupCache;
+          throw e;
+        }
       }
-    }
-    function schemeFetch(fetchParams) {
-      if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {
-        return Promise.resolve(makeAppropriateNetworkError(fetchParams));
+      /**
+       * @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;
       }
-      const { request: request2 } = fetchParams;
-      const { protocol: scheme } = requestCurrentURL(request2);
-      switch (scheme) {
-        case "about:": {
-          return Promise.resolve(makeNetworkError("about scheme is not supported"));
+      /**
+       * @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 = "";
         }
-        case "blob:": {
-          if (!resolveObjectURL) {
-            resolveObjectURL = require("buffer").resolveObjectURL;
-          }
-          const blobURLEntry = requestCurrentURL(request2);
-          if (blobURLEntry.search.length !== 0) {
-            return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));
+        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 blobURLEntryObject = resolveObjectURL(blobURLEntry.toString());
-          if (request2.method !== "GET" || !isBlobLike(blobURLEntryObject)) {
-            return Promise.resolve(makeNetworkError("invalid method"));
+          const requestValue = request2.headersList.get(fieldValue);
+          const queryValue = requestQuery.headersList.get(fieldValue);
+          if (requestValue !== queryValue) {
+            return false;
           }
-          const bodyWithType = safelyExtractBody(blobURLEntryObject);
-          const body = bodyWithType[0];
-          const length = isomorphicEncode(`${body.length}`);
-          const type2 = bodyWithType[1] ?? "";
-          const response = makeResponse({
-            statusText: "OK",
-            headersList: [
-              ["content-length", { name: "Content-Length", value: length }],
-              ["content-type", { name: "Content-Type", value: type2 }]
-            ]
-          });
-          response.body = body;
-          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"));
+        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 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));
+        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]);
+          }
         }
-        default: {
-          return Promise.resolve(makeNetworkError("unknown scheme"));
+        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);
       }
-    }
-    function finalizeResponse(fetchParams, response) {
-      fetchParams.request.done = true;
-      if (fetchParams.processResponseDone != null) {
-        queueMicrotask(() => fetchParams.processResponseDone(response));
-      }
-    }
-    function fetchFinale(fetchParams, response) {
-      if (response.type === "error") {
-        response.urlList = [fetchParams.request.urlList[0]];
-        response.timingInfo = createOpaqueTimingInfo({
-          startTime: fetchParams.timingInfo.startTime
-        });
+    };
+    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
       }
-      const processResponseEndOfBody = () => {
-        fetchParams.request.done = true;
-        if (fetchParams.processResponseEndOfBody != null) {
-          queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
-        }
-      };
-      if (fetchParams.processResponse != null) {
-        queueMicrotask(() => fetchParams.processResponse(response));
+    ];
+    webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters);
+    webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([
+      ...cacheQueryOptionConverters,
+      {
+        key: "cacheName",
+        converter: webidl.converters.DOMString
       }
-      if (response.body == null) {
-        processResponseEndOfBody();
-      } else {
-        const identityTransformAlgorithm = (chunk, controller) => {
-          controller.enqueue(chunk);
-        };
-        const transformStream = new TransformStream2({
-          start() {
-          },
-          transform: identityTransformAlgorithm,
-          flush: processResponseEndOfBody
-        }, {
-          size() {
-            return 1;
-          }
-        }, {
-          size() {
-            return 1;
-          }
-        });
-        response.body = { stream: response.body.stream.pipeThrough(transformStream) };
+    ]);
+    webidl.converters.Response = webidl.interfaceConverter(Response);
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.RequestInfo
+    );
+    module2.exports = {
+      Cache
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js
+var require_cachestorage2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols9();
+    var { Cache } = require_cache2();
+    var { webidl } = require_webidl2();
+    var { kEnumerableProperty } = require_util9();
+    var CacheStorage = class _CacheStorage {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
+       * @type {Map fetchParams.processResponseConsumeBody(response, nullOrBytes);
-        const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure);
-        if (response.body == null) {
-          queueMicrotask(() => processBody(null));
+      async match(request2, options = {}) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, "CacheStorage.match");
+        request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.MultiCacheQueryOptions(options);
+        if (options.cacheName != null) {
+          if (this.#caches.has(options.cacheName)) {
+            const cacheList = this.#caches.get(options.cacheName);
+            const cache = new Cache(kConstruct, cacheList);
+            return await cache.match(request2, options);
+          }
         } else {
-          return fullyReadBody(response.body, processBody, processBodyError);
+          for (const cacheList of this.#caches.values()) {
+            const cache = new Cache(kConstruct, cacheList);
+            const response = await cache.match(request2, options);
+            if (response !== void 0) {
+              return response;
+            }
+          }
         }
-        return Promise.resolve();
       }
-    }
-    async function httpFetch(fetchParams) {
-      const request2 = fetchParams.request;
-      let response = null;
-      let actualResponse = null;
-      const timingInfo = fetchParams.timingInfo;
-      if (request2.serviceWorkers === "all") {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-has
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      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);
       }
-      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;
+      /**
+       * @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);
       }
-      if ((request2.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
-        request2.origin,
-        request2.client,
-        request2.destination,
-        actualResponse
-      ) === "blocked") {
-        return makeNetworkError("blocked");
+      /**
+       * @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);
       }
-      if (redirectStatusSet.has(actualResponse.status)) {
-        if (request2.redirect !== "manual") {
-          fetchParams.controller.connection.destroy();
-        }
-        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);
+      /**
+       * @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/@actions/github/node_modules/undici/lib/web/cookies/constants.js
+var require_constants9 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/constants.js"(exports2, module2) {
+    "use strict";
+    var maxAttributeValueSize = 1024;
+    var maxNameValuePairSize = 4096;
+    module2.exports = {
+      maxAttributeValueSize,
+      maxNameValuePairSize
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/util.js
+var require_util14 = __commonJS({
+  "node_modules/@actions/github/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;
         }
       }
-      response.timingInfo = timingInfo;
-      return response;
+      return false;
     }
-    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;
+    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");
         }
-      } 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);
+    }
+    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;
       }
-      if (!sameOrigin(requestCurrentURL(request2), locationURL)) {
-        request2.headersList.delete("authorization");
-        request2.headersList.delete("proxy-authorization", true);
-        request2.headersList.delete("cookie");
-        request2.headersList.delete("host");
-      }
-      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;
+      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");
+        }
       }
-      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 = makeRequest(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";
+    function validateCookiePath(path5) {
+      for (let i = 0; i < path5.length; ++i) {
+        const code = path5.charCodeAt(i);
+        if (code < 32 || // exclude CTLs (0-31)
+        code === 127 || // DEL
+        code === 59) {
+          throw new Error("Invalid cookie path");
+        }
       }
-      if (contentLength != null) {
-        contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
+    }
+    function validateCookieDomain(domain) {
+      if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
+        throw new Error("Invalid cookie domain");
       }
-      if (contentLengthHeaderValue != null) {
-        httpRequest.headersList.append("content-length", contentLengthHeaderValue);
+    }
+    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);
       }
-      if (contentLength != null && httpRequest.keepalive) {
+      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");
       }
-      if (httpRequest.referrer instanceof URL) {
-        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href));
+    }
+    function stringify(cookie) {
+      if (cookie.name.length === 0) {
+        return null;
       }
-      appendRequestOriginHeader(httpRequest);
-      appendFetchMetadata(httpRequest);
-      if (!httpRequest.headersList.contains("user-agent")) {
-        httpRequest.headersList.append("user-agent", typeof esbuildDetection === "undefined" ? "undici" : "node");
+      validateCookieName(cookie.name);
+      validateCookieValue(cookie.value);
+      const out = [`${cookie.name}=${cookie.value}`];
+      if (cookie.name.startsWith("__Secure-")) {
+        cookie.secure = true;
       }
-      if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since") || httpRequest.headersList.contains("if-none-match") || httpRequest.headersList.contains("if-unmodified-since") || httpRequest.headersList.contains("if-match") || httpRequest.headersList.contains("if-range"))) {
-        httpRequest.cache = "no-store";
+      if (cookie.name.startsWith("__Host-")) {
+        cookie.secure = true;
+        cookie.domain = null;
+        cookie.path = "/";
       }
-      if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control")) {
-        httpRequest.headersList.append("cache-control", "max-age=0");
+      if (cookie.secure) {
+        out.push("Secure");
       }
-      if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") {
-        if (!httpRequest.headersList.contains("pragma")) {
-          httpRequest.headersList.append("pragma", "no-cache");
-        }
-        if (!httpRequest.headersList.contains("cache-control")) {
-          httpRequest.headersList.append("cache-control", "no-cache");
-        }
+      if (cookie.httpOnly) {
+        out.push("HttpOnly");
       }
-      if (httpRequest.headersList.contains("range")) {
-        httpRequest.headersList.append("accept-encoding", "identity");
+      if (typeof cookie.maxAge === "number") {
+        validateCookieMaxAge(cookie.maxAge);
+        out.push(`Max-Age=${cookie.maxAge}`);
       }
-      if (!httpRequest.headersList.contains("accept-encoding")) {
-        if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
-          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate");
-        } else {
-          httpRequest.headersList.append("accept-encoding", "gzip, deflate");
-        }
+      if (cookie.domain) {
+        validateCookieDomain(cookie.domain);
+        out.push(`Domain=${cookie.domain}`);
       }
-      httpRequest.headersList.delete("host");
-      if (includeCredentials) {
+      if (cookie.path) {
+        validateCookiePath(cookie.path);
+        out.push(`Path=${cookie.path}`);
       }
-      if (httpCache == null) {
-        httpRequest.cache = "no-store";
+      if (cookie.expires && cookie.expires.toString() !== "Invalid Date") {
+        out.push(`Expires=${toIMFDate(cookie.expires)}`);
       }
-      if (httpRequest.mode !== "no-store" && httpRequest.mode !== "reload") {
+      if (cookie.sameSite) {
+        out.push(`SameSite=${cookie.sameSite}`);
       }
-      if (response == null) {
-        if (httpRequest.mode === "only-if-cached") {
-          return makeNetworkError("only if cached");
-        }
-        const forwardResponse = await httpNetworkFetch(
-          httpFetchParams,
-          includeCredentials,
-          isNewConnectionFetch
-        );
-        if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {
-        }
-        if (revalidatingFlag && forwardResponse.status === 304) {
-        }
-        if (response == null) {
-          response = forwardResponse;
+      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("=")}`);
       }
-      response.urlList = [...httpRequest.urlList];
-      if (httpRequest.headersList.contains("range")) {
-        response.rangeRequested = true;
+      return out.join("; ");
+    }
+    module2.exports = {
+      isCTLExcludingHtab,
+      validateCookieName,
+      validateCookiePath,
+      validateCookieValue,
+      toIMFDate,
+      stringify
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js
+var require_parse2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js"(exports2, module2) {
+    "use strict";
+    var { maxNameValuePairSize, maxAttributeValueSize } = require_constants9();
+    var { isCTLExcludingHtab } = require_util14();
+    var { collectASequenceOfCodePointsFast } = require_data_url2();
+    var assert = require("node:assert");
+    function parseSetCookie(header) {
+      if (isCTLExcludingHtab(header)) {
+        return null;
       }
-      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");
+      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 (
-        // 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 (!nameValuePair.includes("=")) {
+        value = nameValuePair;
+      } else {
+        const position = { position: 0 };
+        name = collectASequenceOfCodePointsFast(
+          "=",
+          nameValuePair,
+          position
         );
+        value = nameValuePair.slice(position.position + 1);
       }
-      if (isAuthenticationFetch) {
+      name = name.trim();
+      value = value.trim();
+      if (name.length + value.length > maxNameValuePairSize) {
+        return null;
       }
-      return response;
-    }
-    async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) {
-      assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed);
-      fetchParams.controller.connection = {
-        abort: null,
-        destroyed: false,
-        destroy(err) {
-          if (!this.destroyed) {
-            this.destroyed = true;
-            this.abort?.(err ?? new DOMException2("The operation was aborted.", "AbortError"));
-          }
-        }
+      return {
+        name,
+        value,
+        ...parseUnparsedAttributes(unparsedAttributes)
       };
-      const request2 = fetchParams.request;
-      let response = null;
-      const timingInfo = fetchParams.timingInfo;
-      const httpCache = null;
-      if (httpCache == null) {
-        request2.cache = "no-store";
+    }
+    function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) {
+      if (unparsedAttributes.length === 0) {
+        return cookieAttributeList;
       }
-      const newConnection = forceNewConnection ? "yes" : "no";
-      if (request2.mode === "websocket") {
+      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 requestBody = null;
-      if (request2.body == null && fetchParams.processRequestEndOfBody) {
-        queueMicrotask(() => fetchParams.processRequestEndOfBody());
-      } else if (request2.body != null) {
-        const processBodyChunk = async function* (bytes) {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          yield bytes;
-          fetchParams.processRequestBodyChunkLength?.(bytes.byteLength);
-        };
-        const processEndOfBody = () => {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          if (fetchParams.processRequestEndOfBody) {
-            fetchParams.processRequestEndOfBody();
-          }
-        };
-        const processBodyError = (e) => {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          if (e.name === "AbortError") {
-            fetchParams.controller.abort();
-          } else {
-            fetchParams.controller.terminate(e);
-          }
-        };
-        requestBody = (async function* () {
-          try {
-            for await (const bytes of request2.body.stream) {
-              yield* processBodyChunk(bytes);
-            }
-            processEndOfBody();
-          } catch (err) {
-            processBodyError(err);
-          }
-        })();
-      }
-      try {
-        const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
-        if (socket) {
-          response = makeResponse({ status, statusText, headersList, socket });
-        } else {
-          const iterator2 = body[Symbol.asyncIterator]();
-          fetchParams.controller.next = () => iterator2.next();
-          response = makeResponse({ status, statusText, headersList });
-        }
-      } catch (err) {
-        if (err.name === "AbortError") {
-          fetchParams.controller.connection.destroy();
-          return makeAppropriateNetworkError(fetchParams, err);
-        }
-        return makeNetworkError(err);
+      let attributeName = "";
+      let attributeValue = "";
+      if (cookieAv.includes("=")) {
+        const position = { position: 0 };
+        attributeName = collectASequenceOfCodePointsFast(
+          "=",
+          cookieAv,
+          position
+        );
+        attributeValue = cookieAv.slice(position.position + 1);
+      } else {
+        attributeName = cookieAv;
       }
-      const pullAlgorithm = () => {
-        fetchParams.controller.resume();
-      };
-      const cancelAlgorithm = (reason) => {
-        fetchParams.controller.abort(reason);
-      };
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+      attributeName = attributeName.trim();
+      attributeValue = attributeValue.trim();
+      if (attributeValue.length > maxAttributeValueSize) {
+        return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
       }
-      const stream = new ReadableStream2(
-        {
-          async start(controller) {
-            fetchParams.controller.controller = controller;
-          },
-          async pull(controller) {
-            await pullAlgorithm(controller);
-          },
-          async cancel(reason) {
-            await cancelAlgorithm(reason);
-          }
-        },
-        {
-          highWaterMark: 0,
-          size() {
-            return 1;
-          }
+      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);
         }
-      );
-      response.body = { stream };
-      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;
-          }
-          fetchParams.controller.controller.enqueue(new Uint8Array(bytes));
-          if (isErrored(stream)) {
-            fetchParams.controller.terminate();
-            return;
-          }
-          if (!fetchParams.controller.controller.desiredSize) {
-            return;
-          }
+        if (!/^\d+$/.test(attributeValue)) {
+          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
         }
-      };
-      function onAborted(reason) {
-        if (isAborted(fetchParams)) {
-          response.aborted = true;
-          if (isReadable(stream)) {
-            fetchParams.controller.controller.error(
-              fetchParams.controller.serializedAbortReason
-            );
-          }
+        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 {
-          if (isReadable(stream)) {
-            fetchParams.controller.controller.error(new TypeError("terminated", {
-              cause: isErrorLike(reason) ? reason : void 0
-            }));
-          }
+          cookiePath = attributeValue;
         }
-        fetchParams.controller.connection.destroy();
-      }
-      return response;
-      async function dispatch({ body }) {
-        const url = requestCurrentURL(request2);
-        const agent = fetchParams.controller.dispatcher;
-        return new Promise((resolve4, reject) => agent.dispatch(
-          {
-            path: url.pathname + url.search,
-            origin: url.origin,
-            method: request2.method,
-            body: fetchParams.controller.dispatcher.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
-            headers: request2.headersList.entries,
-            maxRedirections: 0,
-            upgrade: request2.mode === "websocket" ? "websocket" : void 0
-          },
-          {
-            body: null,
-            abort: null,
-            onConnect(abort) {
-              const { connection } = fetchParams.controller;
-              if (connection.destroyed) {
-                abort(new DOMException2("The operation was aborted.", "AbortError"));
-              } else {
-                fetchParams.controller.on("terminated", abort);
-                this.abort = connection.abort = abort;
-              }
-            },
-            onHeaders(status, headersList, resume, statusText) {
-              if (status < 200) {
-                return;
-              }
-              let codings = [];
-              let location = "";
-              const headers = new Headers();
-              if (Array.isArray(headersList)) {
-                for (let n = 0; n < headersList.length; n += 2) {
-                  const key = headersList[n + 0].toString("latin1");
-                  const val = headersList[n + 1].toString("latin1");
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim());
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
-              } else {
-                const keys = Object.keys(headersList);
-                for (const key of keys) {
-                  const val = headersList[key];
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim()).reverse();
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
-              }
-              this.body = new Readable({ read: resume });
-              const decoders = [];
-              const willFollow = request2.redirect === "follow" && location && redirectStatusSet.has(status);
-              if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
-                for (const coding of codings) {
-                  if (coding === "x-gzip" || coding === "gzip") {
-                    decoders.push(zlib.createGunzip({
-                      // Be less strict when decoding compressed responses, since sometimes
-                      // servers send slightly invalid responses that are still accepted
-                      // by common browsers.
-                      // Always using Z_SYNC_FLUSH is what cURL does.
-                      flush: zlib.constants.Z_SYNC_FLUSH,
-                      finishFlush: zlib.constants.Z_SYNC_FLUSH
-                    }));
-                  } else if (coding === "deflate") {
-                    decoders.push(zlib.createInflate());
-                  } else if (coding === "br") {
-                    decoders.push(zlib.createBrotliDecompress());
-                  } else {
-                    decoders.length = 0;
-                    break;
-                  }
-                }
-              }
-              resolve4({
-                status,
-                statusText,
-                headersList: headers[kHeadersList],
-                body: decoders.length ? pipeline(this.body, ...decoders, () => {
-                }) : this.body.on("error", () => {
-                })
-              });
-              return true;
-            },
-            onData(chunk) {
-              if (fetchParams.controller.dump) {
-                return;
-              }
-              const bytes = chunk;
-              timingInfo.encodedBodySize += bytes.byteLength;
-              return this.body.push(bytes);
-            },
-            onComplete() {
-              if (this.abort) {
-                fetchParams.controller.off("terminated", this.abort);
-              }
-              fetchParams.controller.ended = true;
-              this.body.push(null);
-            },
-            onError(error3) {
-              if (this.abort) {
-                fetchParams.controller.off("terminated", this.abort);
-              }
-              this.body?.destroy(error3);
-              fetchParams.controller.terminate(error3);
-              reject(error3);
-            },
-            onUpgrade(status, headersList, socket) {
-              if (status !== 101) {
-                return;
-              }
-              const headers = new Headers();
-              for (let n = 0; n < headersList.length; n += 2) {
-                const key = headersList[n + 0].toString("latin1");
-                const val = headersList[n + 1].toString("latin1");
-                headers[kHeadersList].append(key, val);
-              }
-              resolve4({
-                status,
-                statusText: STATUS_CODES[status],
-                headersList: headers[kHeadersList],
-                socket
-              });
-              return true;
-            }
-          }
-        ));
+        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 = {
-      fetch,
-      Fetch,
-      fetching,
-      finalizeAndReportTiming
+      parseSetCookie,
+      parseUnparsedAttributes
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/symbols.js
-var require_symbols8 = __commonJS({
-  "node_modules/undici/lib/fileapi/symbols.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js
+var require_cookies2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js"(exports2, module2) {
     "use strict";
+    var { parseSetCookie } = require_parse2();
+    var { stringify } = require_util14();
+    var { webidl } = require_webidl2();
+    var { Headers } = require_headers2();
+    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 str2 = stringify(cookie);
+      if (str2) {
+        headers.append("Set-Cookie", str2);
+      }
+    }
+    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 = {
-      kState: /* @__PURE__ */ Symbol("FileReader state"),
-      kResult: /* @__PURE__ */ Symbol("FileReader result"),
-      kError: /* @__PURE__ */ Symbol("FileReader error"),
-      kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"),
-      kEvents: /* @__PURE__ */ Symbol("FileReader events"),
-      kAborted: /* @__PURE__ */ Symbol("FileReader aborted")
+      getCookies,
+      deleteCookie,
+      getSetCookies,
+      setCookie
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/progressevent.js
-var require_progressevent2 = __commonJS({
-  "node_modules/undici/lib/fileapi/progressevent.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js
+var require_events2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js"(exports2, module2) {
     "use strict";
     var { webidl } = require_webidl2();
-    var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
-    var ProgressEvent = class _ProgressEvent extends Event {
+    var { kEnumerableProperty } = require_util9();
+    var { kConstruct } = require_symbols6();
+    var { MessagePort } = require("node:worker_threads");
+    var MessageEvent = class _MessageEvent extends Event {
+      #eventInit;
       constructor(type2, eventInitDict = {}) {
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
+        if (type2 === kConstruct) {
+          super(arguments[1], arguments[2]);
+          webidl.util.markAsUncloneable(this);
+          return;
+        }
+        const prefix = "MessageEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.MessageEventInit(eventInitDict, prefix, "eventInitDict");
         super(type2, eventInitDict);
-        this[kState] = {
-          lengthComputable: eventInitDict.lengthComputable,
-          loaded: eventInitDict.loaded,
-          total: eventInitDict.total
-        };
+        this.#eventInit = eventInitDict;
+        webidl.util.markAsUncloneable(this);
       }
-      get lengthComputable() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].lengthComputable;
+      get data() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.data;
       }
-      get loaded() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].loaded;
+      get origin() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.origin;
       }
-      get total() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].total;
+      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(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
+        webidl.brandCheck(this, _MessageEvent);
+        webidl.argumentLengthCheck(arguments, 1, "MessageEvent.initMessageEvent");
+        return new _MessageEvent(type2, {
+          bubbles,
+          cancelable,
+          data,
+          origin,
+          lastEventId,
+          source,
+          ports
+        });
+      }
+      static createFastMessageEvent(type2, init) {
+        const messageEvent = new _MessageEvent(kConstruct, type2, 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(type2, eventInitDict = {}) {
+        const prefix = "CloseEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
+        super(type2, 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(type2, eventInitDict) {
+        const prefix = "ErrorEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        super(type2, eventInitDict);
+        webidl.util.markAsUncloneable(this);
+        type2 = webidl.converters.DOMString(type2, 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;
       }
     };
-    webidl.converters.ProgressEventInit = webidl.dictionaryConverter([
-      {
-        key: "lengthComputable",
-        converter: webidl.converters.boolean,
-        defaultValue: false
+    Object.defineProperties(MessageEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "MessageEvent",
+        configurable: true
       },
-      {
-        key: "loaded",
-        converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
+      data: kEnumerableProperty,
+      origin: kEnumerableProperty,
+      lastEventId: kEnumerableProperty,
+      source: kEnumerableProperty,
+      ports: kEnumerableProperty,
+      initMessageEvent: kEnumerableProperty
+    });
+    Object.defineProperties(CloseEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "CloseEvent",
+        configurable: true
       },
-      {
-        key: "total",
-        converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
+      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
+        defaultValue: () => false
       },
       {
         key: "cancelable",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "composed",
         converter: webidl.converters.boolean,
-        defaultValue: false
-      }
-    ]);
-    module2.exports = {
-      ProgressEvent
-    };
-  }
-});
-
-// node_modules/undici/lib/fileapi/encoding.js
-var require_encoding2 = __commonJS({
-  "node_modules/undici/lib/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/fileapi/util.js
-var require_util12 = __commonJS({
-  "node_modules/undici/lib/fileapi/util.js"(exports2, module2) {
-    "use strict";
-    var {
-      kState,
-      kError,
-      kResult,
-      kAborted,
-      kLastProgressEventFired
-    } = require_symbols8();
-    var { ProgressEvent } = require_progressevent2();
-    var { getEncoding } = require_encoding2();
-    var { DOMException: DOMException2 } = require_constants7();
-    var { serializeAMimeType, parseMIMEType } = require_dataURL();
-    var { types } = require("util");
-    var { StringDecoder } = require("string_decoder");
-    var { btoa: btoa2 } = require("buffer");
-    var staticPropertyDescriptors = {
-      enumerable: true,
-      writable: false,
-      configurable: false
-    };
-    function readOperation(fr, blob, type2, encodingName) {
-      if (fr[kState] === "loading") {
-        throw new DOMException2("Invalid state", "InvalidStateError");
-      }
-      fr[kState] = "loading";
-      fr[kResult] = null;
-      fr[kError] = null;
-      const stream = blob.stream();
-      const reader = stream.getReader();
-      const bytes = [];
-      let chunkPromise = reader.read();
-      let isFirstChunk = true;
-      (async () => {
-        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, type2, blob.type, encodingName);
-                  if (fr[kAborted]) {
-                    return;
-                  }
-                  fr[kResult] = result;
-                  fireAProgressEvent("load", fr);
-                } catch (error3) {
-                  fr[kError] = error3;
-                  fireAProgressEvent("error", fr);
-                }
-                if (fr[kState] !== "loading") {
-                  fireAProgressEvent("loadend", fr);
-                }
-              });
-              break;
-            }
-          } catch (error3) {
-            if (fr[kAborted]) {
-              return;
-            }
-            queueMicrotask(() => {
-              fr[kState] = "done";
-              fr[kError] = error3;
-              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, type2, mimeType, encodingName) {
-      switch (type2) {
-        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 += btoa2(decoder.write(chunk));
-          }
-          dataURL += btoa2(decoder.end());
-          return dataURL;
-        }
-        case "Text": {
-          let encoding = "failure";
-          if (encodingName) {
-            encoding = getEncoding(encodingName);
-          }
-          if (encoding === "failure" && mimeType) {
-            const type3 = parseMIMEType(mimeType);
-            if (type3 !== "failure") {
-              encoding = getEncoding(type3.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;
-        }
+        defaultValue: () => false
       }
-    }
-    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;
+    ];
+    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)
       }
-      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";
+    ]);
+    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: () => ""
       }
-      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));
-    }
+    ]);
+    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 = {
-      staticPropertyDescriptors,
-      readOperation,
-      fireAProgressEvent
+      MessageEvent,
+      CloseEvent,
+      ErrorEvent,
+      createFastMessageEvent
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/filereader.js
-var require_filereader2 = __commonJS({
-  "node_modules/undici/lib/fileapi/filereader.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js
+var require_constants10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js"(exports2, module2) {
     "use strict";
-    var {
+    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,
-      readOperation,
-      fireAProgressEvent
-    } = require_util12();
-    var {
-      kState,
-      kError,
-      kResult,
-      kEvents,
-      kAborted
-    } = require_symbols8();
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util9();
-    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, { header: "FileReader.readAsArrayBuffer" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "ArrayBuffer");
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#readAsBinaryString
-       * @param {import('buffer').Blob} blob
-       */
-      readAsBinaryString(blob) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsBinaryString" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "BinaryString");
-      }
-      /**
-       * @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, { header: "FileReader.readAsText" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        if (encoding !== void 0) {
-          encoding = webidl.converters.DOMString(encoding);
-        }
-        readOperation(this, blob, "Text", encoding);
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dfn-readAsDataURL
-       * @param {import('buffer').Blob} blob
-       */
-      readAsDataURL(blob) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsDataURL" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "DataURL");
+      states,
+      opcodes,
+      maxUnsigned16Bit,
+      parserStates,
+      emptyBuffer,
+      sendHints
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js
+var require_symbols10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
+      kReadyState: /* @__PURE__ */ Symbol("ready state"),
+      kController: /* @__PURE__ */ Symbol("controller"),
+      kResponse: /* @__PURE__ */ Symbol("response"),
+      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
+      kSentClose: /* @__PURE__ */ Symbol("sent close"),
+      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
+      kByteParser: /* @__PURE__ */ Symbol("byte parser")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js
+var require_util15 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js"(exports2, module2) {
+    "use strict";
+    var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols10();
+    var { states, opcodes } = require_constants10();
+    var { ErrorEvent, createFastMessageEvent } = require_events2();
+    var { isUtf8 } = require("node:buffer");
+    var { collectASequenceOfCodePointsFast, removeHTTPWhitespace } = require_data_url2();
+    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 = (type2, init) => new Event(type2, init), eventInitDict = {}) {
+      const event = eventFactory(e, eventInitDict);
+      target.dispatchEvent(event);
+    }
+    function websocketMessageReceived(ws, type2, data) {
+      if (ws[kReadyState] !== states.OPEN) {
+        return;
       }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dfn-abort
-       */
-      abort() {
-        if (this[kState] === "empty" || this[kState] === "done") {
-          this[kResult] = null;
+      let dataForEvent;
+      if (type2 === opcodes.TEXT) {
+        try {
+          dataForEvent = utf8Decode(data);
+        } catch {
+          failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
           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 if (type2 === opcodes.BINARY) {
+        if (ws[kBinaryType] === "blob") {
+          dataForEvent = new Blob([data]);
         } else {
-          this[kEvents].loadend = null;
+          dataForEvent = toArrayBuffer(data);
         }
       }
-      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;
-        }
+      fireEvent("message", ws, createFastMessageEvent, {
+        origin: ws[kWebSocketURL].origin,
+        data: dataForEvent
+      });
+    }
+    function toArrayBuffer(buffer) {
+      if (buffer.byteLength === buffer.buffer.byteLength) {
+        return buffer.buffer;
       }
-      get onloadstart() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].loadstart;
+      return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
+    }
+    function isValidSubprotocol(protocol) {
+      if (protocol.length === 0) {
+        return false;
       }
-      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;
+      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;
         }
       }
-      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;
-        }
+      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;
       }
-      get onload() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].load;
+      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();
       }
-      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;
-        }
+      if (reason) {
+        fireEvent("error", ws, (type2, init) => new ErrorEvent(type2, init), {
+          error: new Error(reason),
+          message: reason
+        });
       }
-      get onabort() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].abort;
+    }
+    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++;
       }
-      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;
+      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;
         }
       }
-    };
-    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
+      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");
       }
-    });
-    Object.defineProperties(FileReader, {
-      EMPTY: staticPropertyDescriptors,
-      LOADING: staticPropertyDescriptors,
-      DONE: staticPropertyDescriptors
-    });
-    module2.exports = {
-      FileReader
+      throw new TypeError("Invalid utf-8 received.");
     };
-  }
-});
-
-// node_modules/undici/lib/cache/symbols.js
-var require_symbols9 = __commonJS({
-  "node_modules/undici/lib/cache/symbols.js"(exports2, module2) {
-    "use strict";
     module2.exports = {
-      kConstruct: require_symbols6().kConstruct
+      isConnecting,
+      isEstablished,
+      isClosing,
+      isClosed,
+      fireEvent,
+      isValidSubprotocol,
+      isValidStatusCode,
+      failWebsocketConnection,
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isContinuationFrame,
+      isTextBinaryFrame,
+      isValidOpcode,
+      parseExtensions,
+      isValidClientWindowBits
     };
   }
 });
 
-// node_modules/undici/lib/cache/util.js
-var require_util13 = __commonJS({
-  "node_modules/undici/lib/cache/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js
+var require_frame2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { URLSerializer } = require_dataURL();
-    var { isValidHeaderName } = require_util10();
-    function urlEquals(A, B, excludeFragment = false) {
-      const serializedA = URLSerializer(A, excludeFragment);
-      const serializedB = URLSerializer(B, excludeFragment);
-      return serializedA === serializedB;
-    }
-    function fieldValues(header) {
-      assert(header !== null);
-      const values = [];
-      for (let value of header.split(",")) {
-        value = value.trim();
-        if (!value.length) {
-          continue;
-        } else if (!isValidHeaderName(value)) {
-          continue;
+    var { maxUnsigned16Bit } = require_constants10();
+    var BUFFER_SIZE = 16386;
+    var crypto2;
+    var buffer = null;
+    var bufIdx = BUFFER_SIZE;
+    try {
+      crypto2 = require("node:crypto");
+    } catch {
+      crypto2 = {
+        // 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;
         }
-        values.push(value);
+      };
+    }
+    function generateMask() {
+      if (bufIdx === BUFFER_SIZE) {
+        bufIdx = 0;
+        crypto2.randomFillSync(buffer ??= Buffer.allocUnsafe(BUFFER_SIZE), 0, BUFFER_SIZE);
       }
-      return values;
+      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 = {
-      urlEquals,
-      fieldValues
+      WebsocketFrameSend
     };
   }
 });
 
-// node_modules/undici/lib/cache/cache.js
-var require_cache2 = __commonJS({
-  "node_modules/undici/lib/cache/cache.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js
+var require_connection2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js"(exports2, module2) {
     "use strict";
-    var { kConstruct } = require_symbols9();
-    var { urlEquals, fieldValues: getFieldValues } = require_util13();
-    var { kEnumerableProperty, isDisturbed } = require_util9();
-    var { kHeadersList } = require_symbols6();
-    var { webidl } = require_webidl2();
-    var { Response, cloneResponse } = require_response2();
-    var { Request } = require_request4();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
+    var { uid, states, sentCloseFrameState, emptyBuffer, opcodes } = require_constants10();
+    var {
+      kReadyState,
+      kSentClose,
+      kByteParser,
+      kReceivedClose,
+      kResponse
+    } = require_symbols10();
+    var { fireEvent, failWebsocketConnection, isClosing, isClosed, isEstablished, parseExtensions } = require_util15();
+    var { channels } = require_diagnostics2();
+    var { CloseEvent } = require_events2();
+    var { makeRequest } = require_request4();
     var { fetching } = require_fetch2();
-    var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util10();
-    var assert = require("assert");
-    var { getGlobalDispatcher } = require_global4();
-    var Cache = class _Cache {
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list
-       * @type {requestResponseList}
-       */
-      #relevantRequestResponseList;
-      constructor() {
-        if (arguments[0] !== kConstruct) {
-          webidl.illegalConstructor();
-        }
-        this.#relevantRequestResponseList = arguments[1];
+    var { Headers, getHeadersList } = require_headers2();
+    var { getDecodeSplit } = require_util10();
+    var { WebsocketFrameSend } = require_frame2();
+    var crypto2;
+    try {
+      crypto2 = 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;
       }
-      async match(request2, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.match" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        const p = await this.matchAll(request2, options);
-        if (p.length === 0) {
-          return;
-        }
-        return p[0];
+      const keyValue = crypto2.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);
       }
-      async matchAll(request2 = void 0, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(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 responses = [];
-        if (request2 === void 0) {
-          for (const requestResponse of this.#relevantRequestResponseList) {
-            responses.push(requestResponse[1]);
+      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;
           }
-        } else {
-          const requestResponses = this.#queryCache(r, options);
-          for (const requestResponse of requestResponses) {
-            responses.push(requestResponse[1]);
+          if (protocols.length !== 0 && !response.headersList.get("Sec-WebSocket-Protocol")) {
+            failWebsocketConnection(ws, "Server did not respond with sent protocols.");
+            return;
           }
-        }
-        const responseList = [];
-        for (const response of responses) {
-          const responseObject = new Response(response.body?.source ?? null);
-          const body = responseObject[kState].body;
-          responseObject[kState] = response;
-          responseObject[kState].body = body;
-          responseObject[kHeaders][kHeadersList] = response.headersList;
-          responseObject[kHeaders][kGuard] = "immutable";
-          responseList.push(responseObject);
-        }
-        return Object.freeze(responseList);
-      }
-      async add(request2) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.add" });
-        request2 = webidl.converters.RequestInfo(request2);
-        const requests = [request2];
-        const responseArrayPromise = this.addAll(requests);
-        return await responseArrayPromise;
-      }
-      async addAll(requests) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.addAll" });
-        requests = webidl.converters["sequence"](requests);
-        const responsePromises = [];
-        const requestList = [];
-        for (const request2 of requests) {
-          if (typeof request2 === "string") {
-            continue;
+          if (response.headersList.get("Upgrade")?.toLowerCase() !== "websocket") {
+            failWebsocketConnection(ws, 'Server did not set Upgrade header to "websocket".');
+            return;
           }
-          const r = request2[kState];
-          if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") {
-            throw webidl.errors.exception({
-              header: "Cache.addAll",
-              message: "Expected http/s scheme when method is not GET."
-            });
+          if (response.headersList.get("Connection")?.toLowerCase() !== "upgrade") {
+            failWebsocketConnection(ws, 'Server did not set Connection header to "upgrade".');
+            return;
           }
-        }
-        const fetchControllers = [];
-        for (const request2 of requests) {
-          const r = new Request(request2)[kState];
-          if (!urlIsHttpHttpsScheme(r.url)) {
-            throw webidl.errors.exception({
-              header: "Cache.addAll",
-              message: "Expected http/s scheme."
-            });
+          const secWSAccept = response.headersList.get("Sec-WebSocket-Accept");
+          const digest = crypto2.createHash("sha1").update(keyValue + uid).digest("base64");
+          if (secWSAccept !== digest) {
+            failWebsocketConnection(ws, "Incorrect hash received in Sec-WebSocket-Accept header.");
+            return;
           }
-          r.initiator = "fetch";
-          r.destination = "subresource";
-          requestList.push(r);
-          const responsePromise = createDeferredPromise();
-          fetchControllers.push(fetching({
-            request: r,
-            dispatcher: getGlobalDispatcher(),
-            processResponse(response) {
-              if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) {
-                responsePromise.reject(webidl.errors.exception({
-                  header: "Cache.addAll",
-                  message: "Received an invalid status code or the request failed."
-                }));
-              } else if (response.headersList.contains("vary")) {
-                const fieldValues = getFieldValues(response.headersList.get("vary"));
-                for (const fieldValue of fieldValues) {
-                  if (fieldValue === "*") {
-                    responsePromise.reject(webidl.errors.exception({
-                      header: "Cache.addAll",
-                      message: "invalid vary field value"
-                    }));
-                    for (const controller of fetchControllers) {
-                      controller.abort();
-                    }
-                    return;
-                  }
-                }
-              }
-            },
-            processResponseEndOfBody(response) {
-              if (response.aborted) {
-                responsePromise.reject(new DOMException("aborted", "AbortError"));
-                return;
-              }
-              responsePromise.resolve(response);
+          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;
             }
-          }));
-          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);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Cache.put" });
-        request2 = webidl.converters.RequestInfo(request2);
-        response = webidl.converters.Response(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: "Cache.put",
-            message: "Expected an http/s scheme when method is not GET"
-          });
-        }
-        const innerResponse = response[kState];
-        if (innerResponse.status === 206) {
-          throw webidl.errors.exception({
-            header: "Cache.put",
-            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: "Cache.put",
-                message: "Got * vary field value"
-              });
+          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);
         }
-        if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {
-          throw webidl.errors.exception({
-            header: "Cache.put",
-            message: "Response body is locked or disturbed"
-          });
-        }
-        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);
+      });
+      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 {
-          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;
+          frame.frameData = emptyBuffer;
         }
-        queueMicrotask(() => {
-          if (errorData === null) {
-            cacheJobPromise.resolve();
-          } else {
-            cacheJobPromise.reject(errorData);
-          }
-        });
-        return cacheJobPromise.promise;
+        const socket = ws[kResponse].socket;
+        socket.write(frame.createFrame(opcodes.CLOSE));
+        ws[kSentClose] = sentCloseFrameState.SENT;
+        ws[kReadyState] = states.CLOSING;
+      } else {
+        ws[kReadyState] = states.CLOSING;
       }
-      async delete(request2, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.delete" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(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);
-          }
+    }
+    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, (type2, init) => new CloseEvent(type2, init), {
+        wasClean,
+        code,
+        reason
+      });
+      if (channels.close.hasSubscribers) {
+        channels.close.publish({
+          websocket: ws,
+          code,
+          reason
         });
-        return cacheJobPromise.promise;
       }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys
-       * @param {any} request
-       * @param {import('../../types/cache').CacheQueryOptions} options
-       * @returns {readonly Request[]}
-       */
-      async keys(request2 = void 0, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        let r = null;
-        if (request2 !== void 0) {
-          if (request2 instanceof Request) {
-            r = request2[kState];
-            if (r.method !== "GET" && !options.ignoreMethod) {
-              return [];
+    }
+    function onSocketError(error3) {
+      const { ws } = this;
+      ws[kReadyState] = states.CLOSING;
+      if (channels.socketError.hasSubscribers) {
+        channels.socketError.publish(error3);
+      }
+      this.destroy();
+    }
+    module2.exports = {
+      establishWebSocketConnection,
+      closeWebSocketConnection
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js
+var require_permessage_deflate2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js"(exports2, module2) {
+    "use strict";
+    var { createInflateRaw, Z_DEFAULT_WINDOWBITS } = require("node:zlib");
+    var { isValidClientWindowBits } = require_util15();
+    var tail = Buffer.from([0, 0, 255, 255]);
+    var kBuffer = /* @__PURE__ */ Symbol("kBuffer");
+    var kLength = /* @__PURE__ */ 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;
             }
-          } else if (typeof request2 === "string") {
-            r = new Request(request2)[kState];
+            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);
+          });
         }
-        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]);
-          }
+        this.#inflate.write(chunk);
+        if (fin) {
+          this.#inflate.write(tail);
         }
-        queueMicrotask(() => {
-          const requestList = [];
-          for (const request3 of requests) {
-            const requestObject = new Request("https://a");
-            requestObject[kState] = request3;
-            requestObject[kHeaders][kHeadersList] = request3.headersList;
-            requestObject[kHeaders][kGuard] = "immutable";
-            requestObject[kRealm] = request3.client;
-            requestList.push(requestObject);
-          }
-          promise.resolve(Object.freeze(requestList));
+        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);
         });
-        return promise.promise;
+      }
+    };
+    module2.exports = { PerMessageDeflate };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/receiver.js
+var require_receiver2 = __commonJS({
+  "node_modules/@actions/github/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_constants10();
+    var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols10();
+    var { channels } = require_diagnostics2();
+    var {
+      isValidStatusCode,
+      isValidOpcode,
+      failWebsocketConnection,
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isTextBinaryFrame,
+      isContinuationFrame
+    } = require_util15();
+    var { WebsocketFrameSend } = require_frame2();
+    var { closeWebSocketConnection } = require_connection2();
+    var { PerMessageDeflate } = require_permessage_deflate2();
+    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));
+        }
       }
       /**
-       * @see https://w3c.github.io/ServiceWorker/#batch-cache-operations-algorithm
-       * @param {CacheBatchOperation[]} operations
-       * @returns {requestResponseList}
+       * @param {Buffer} chunk
+       * @param {() => void} callback
        */
-      #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"'
-              });
+      _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();
             }
-            if (operation.type === "delete" && operation.response != null) {
-              throw webidl.errors.exception({
-                header: "Cache.#batchCacheOperations",
-                message: "delete operation should not have an associated response"
-              });
+            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 (this.#queryCache(operation.request, operation.options, addedItems).length) {
-              throw new DOMException("???", "InvalidStateError");
+            if (masked) {
+              failWebsocketConnection(this.ws, "Frame cannot be masked");
+              return callback();
             }
-            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"
+            if (rsv1 !== 0 && !this.#extensions.has("permessage-deflate")) {
+              failWebsocketConnection(this.ws, "Expected RSV1 to be clear.");
+              return;
+            }
+            if (rsv2 !== 0 || rsv3 !== 0) {
+              failWebsocketConnection(this.ws, "RSV1, RSV2, RSV3 must be clear");
+              return;
+            }
+            if (fragmented && !isTextBinaryFrame(opcode)) {
+              failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
+              return;
+            }
+            if (isTextBinaryFrame(opcode) && this.#fragments.length > 0) {
+              failWebsocketConnection(this.ws, "Expected continuation frame");
+              return;
+            }
+            if (this.#info.fragmented && fragmented) {
+              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
+              return;
+            }
+            if ((payloadLength > 125 || fragmented) && isControlFrame(opcode)) {
+              failWebsocketConnection(this.ws, "Control frame either too large or fragmented");
+              return;
+            }
+            if (isContinuationFrame(opcode) && this.#fragments.length === 0 && !this.#info.compressed) {
+              failWebsocketConnection(this.ws, "Unexpected continuation frame");
+              return;
+            }
+            if (payloadLength <= 125) {
+              this.#info.payloadLength = payloadLength;
+              this.#state = parserStates.READ_DATA;
+            } else if (payloadLength === 126) {
+              this.#state = parserStates.PAYLOADLENGTH_16;
+            } else if (payloadLength === 127) {
+              this.#state = parserStates.PAYLOADLENGTH_64;
+            }
+            if (isTextBinaryFrame(opcode)) {
+              this.#info.binaryType = opcode;
+              this.#info.compressed = rsv1 !== 0;
+            }
+            this.#info.opcode = opcode;
+            this.#info.masked = masked;
+            this.#info.fin = fin;
+            this.#info.fragmented = fragmented;
+          } else if (this.#state === parserStates.PAYLOADLENGTH_16) {
+            if (this.#byteOffset < 2) {
+              return callback();
+            }
+            const buffer = this.consume(2);
+            this.#info.payloadLength = buffer.readUInt16BE(0);
+            this.#state = parserStates.READ_DATA;
+          } else if (this.#state === parserStates.PAYLOADLENGTH_64) {
+            if (this.#byteOffset < 8) {
+              return callback();
+            }
+            const buffer = this.consume(8);
+            const upper = buffer.readUInt32BE(0);
+            if (upper > 2 ** 31 - 1) {
+              failWebsocketConnection(this.ws, "Received payload length > 2^31 bytes.");
+              return;
+            }
+            const lower = buffer.readUInt32BE(4);
+            this.#info.payloadLength = (upper << 8) + lower;
+            this.#state = parserStates.READ_DATA;
+          } else if (this.#state === parserStates.READ_DATA) {
+            if (this.#byteOffset < this.#info.payloadLength) {
+              return callback();
+            }
+            const body = this.consume(this.#info.payloadLength);
+            if (isControlFrame(this.#info.opcode)) {
+              this.#loop = this.parseControlFrame(body);
+              this.#state = parserStates.INFO;
+            } else {
+              if (!this.#info.compressed) {
+                this.#fragments.push(body);
+                if (!this.#info.fragmented && this.#info.fin) {
+                  const fullMessage = Buffer.concat(this.#fragments);
+                  websocketMessageReceived(this.ws, this.#info.binaryType, fullMessage);
+                  this.#fragments.length = 0;
+                }
+                this.#state = parserStates.INFO;
+              } else {
+                this.#extensions.get("permessage-deflate").decompress(body, this.#info.fin, (error3, data) => {
+                  if (error3) {
+                    closeWebSocketConnection(this.ws, 1007, error3.message, error3.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;
               }
-              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}
+       * Take n bytes from the buffered Buffers
+       * @param {number} n
+       * @returns {Buffer}
        */
-      #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);
+      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;
           }
         }
-        return resultList;
+        this.#byteOffset -= n;
+        return buffer;
       }
-      /**
-       * @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 = "";
+      parseCloseBody(data) {
+        assert(data.length !== 1);
+        let code;
+        if (data.length >= 2) {
+          code = data.readUInt16BE(0);
         }
-        if (!urlEquals(queryURL, cachedURL, true)) {
-          return false;
+        if (code !== void 0 && !isValidStatusCode(code)) {
+          return { code: 1002, reason: "Invalid status code", error: true };
         }
-        if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) {
-          return true;
+        let reason = data.subarray(2);
+        if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
+          reason = reason.subarray(3);
         }
-        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;
-          }
+        try {
+          reason = utf8Decode(reason);
+        } catch {
+          return { code: 1007, reason: "Invalid UTF-8", error: true };
         }
-        return true;
-      }
-    };
-    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
+        return { code, reason, error: false };
       }
-    ]);
-    webidl.converters.Response = webidl.interfaceConverter(Response);
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.RequestInfo
-    );
-    module2.exports = {
-      Cache
-    };
-  }
-});
-
-// node_modules/undici/lib/cache/cachestorage.js
-var require_cachestorage2 = __commonJS({
-  "node_modules/undici/lib/cache/cachestorage.js"(exports2, module2) {
-    "use strict";
-    var { kConstruct } = require_symbols9();
-    var { Cache } = require_cache2();
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util9();
-    var CacheStorage = class _CacheStorage {
       /**
-       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
-       * @type {Map {
+                if (!err) {
+                  this.ws[kSentClose] = sentCloseFrameState.SENT;
+                }
+              }
+            );
+          }
+          this.ws[kReadyState] = states.CLOSING;
+          this.ws[kReceivedClose] = true;
+          return false;
+        } else if (opcode === opcodes.PING) {
+          if (!this.ws[kReceivedClose]) {
+            const frame = new WebsocketFrameSend(body);
+            this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
+            if (channels.ping.hasSubscribers) {
+              channels.ping.publish({
+                payload: body
+              });
             }
           }
+        } else if (opcode === opcodes.PONG) {
+          if (channels.pong.hasSubscribers) {
+            channels.pong.publish({
+              payload: body
+            });
+          }
         }
+        return true;
       }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#cache-storage-has
-       * @param {string} cacheName
-       * @returns {Promise}
-       */
-      async has(cacheName) {
-        webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.has" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        return this.#caches.has(cacheName);
-      }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open
-       * @param {string} cacheName
-       * @returns {Promise}
-       */
-      async open(cacheName) {
-        webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.open" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        if (this.#caches.has(cacheName)) {
-          const cache2 = this.#caches.get(cacheName);
-          return new Cache(kConstruct, cache2);
-        }
-        const 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);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.delete" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        return this.#caches.delete(cacheName);
-      }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys
-       * @returns {string[]}
-       */
-      async keys() {
-        webidl.brandCheck(this, _CacheStorage);
-        const keys = this.#caches.keys();
-        return [...keys];
+      get closingInfo() {
+        return this.#info.closeInfo;
       }
     };
-    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/cookies/constants.js
-var require_constants9 = __commonJS({
-  "node_modules/undici/lib/cookies/constants.js"(exports2, module2) {
-    "use strict";
-    var maxAttributeValueSize = 1024;
-    var maxNameValuePairSize = 4096;
     module2.exports = {
-      maxAttributeValueSize,
-      maxNameValuePairSize
+      ByteParser
     };
   }
 });
 
-// node_modules/undici/lib/cookies/util.js
-var require_util14 = __commonJS({
-  "node_modules/undici/lib/cookies/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js
+var require_sender2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js"(exports2, module2) {
     "use strict";
-    function isCTLExcludingHtab(value) {
-      if (value.length === 0) {
-        return false;
-      }
-      for (const char of value) {
-        const code = char.charCodeAt(0);
-        if (code >= 0 || code <= 8 || (code >= 10 || code <= 31) || code === 127) {
-          return false;
-        }
+    var { WebsocketFrameSend } = require_frame2();
+    var { opcodes, sendHints } = require_constants10();
+    var FixedQueue = require_fixed_queue2();
+    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;
       }
-    }
-    function validateCookieName(name) {
-      for (const char of name) {
-        const code = char.charCodeAt(0);
-        if (code <= 32 || code > 127 || char === "(" || char === ")" || char === ">" || char === "<" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}") {
-          throw new Error("Invalid cookie name");
+      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;
         }
-      }
-    }
-    function validateCookieValue(value) {
-      for (const char of value) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || // exclude CTLs (0-31)
-        code === 34 || code === 44 || code === 59 || code === 92 || code > 126) {
-          throw new Error("Invalid header value");
+        const 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();
         }
       }
-    }
-    function validateCookiePath(path5) {
-      for (const char of path5) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || char === ";") {
-          throw new Error("Invalid cookie path");
+      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 validateCookieDomain(domain) {
-      if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
-        throw new Error("Invalid cookie domain");
-      }
-    }
-    function toIMFDate(date) {
-      if (typeof date === "number") {
-        date = new Date(date);
-      }
-      const days = [
-        "Sun",
-        "Mon",
-        "Tue",
-        "Wed",
-        "Thu",
-        "Fri",
-        "Sat"
-      ];
-      const months = [
-        "Jan",
-        "Feb",
-        "Mar",
-        "Apr",
-        "May",
-        "Jun",
-        "Jul",
-        "Aug",
-        "Sep",
-        "Oct",
-        "Nov",
-        "Dec"
-      ];
-      const dayName = days[date.getUTCDay()];
-      const day = date.getUTCDate().toString().padStart(2, "0");
-      const month = months[date.getUTCMonth()];
-      const year = date.getUTCFullYear();
-      const hour = date.getUTCHours().toString().padStart(2, "0");
-      const minute = date.getUTCMinutes().toString().padStart(2, "0");
-      const second = date.getUTCSeconds().toString().padStart(2, "0");
-      return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`;
-    }
-    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("=")}`);
+    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);
       }
-      return out.join("; ");
     }
-    module2.exports = {
-      isCTLExcludingHtab,
-      validateCookieName,
-      validateCookiePath,
-      validateCookieValue,
-      toIMFDate,
-      stringify
-    };
+    module2.exports = { SendQueue };
   }
 });
 
-// node_modules/undici/lib/cookies/parse.js
-var require_parse2 = __commonJS({
-  "node_modules/undici/lib/cookies/parse.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js
+var require_websocket2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js"(exports2, module2) {
     "use strict";
-    var { maxNameValuePairSize, maxAttributeValueSize } = require_constants9();
-    var { isCTLExcludingHtab } = require_util14();
-    var { collectASequenceOfCodePointsFast } = require_dataURL();
-    var assert = require("assert");
-    function parseSetCookie(header) {
-      if (isCTLExcludingHtab(header)) {
-        return null;
-      }
-      let nameValuePair = "";
-      let unparsedAttributes = "";
-      let name = "";
-      let value = "";
-      if (header.includes(";")) {
-        const position = { position: 0 };
-        nameValuePair = collectASequenceOfCodePointsFast(";", header, position);
-        unparsedAttributes = header.slice(position.position);
-      } 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)
+    var { webidl } = require_webidl2();
+    var { URLSerializer } = require_data_url2();
+    var { environmentSettingsObject } = require_util10();
+    var { staticPropertyDescriptors, states, sentCloseFrameState, sendHints } = require_constants10();
+    var {
+      kWebSocketURL,
+      kReadyState,
+      kController,
+      kBinaryType,
+      kResponse,
+      kSentClose,
+      kByteParser
+    } = require_symbols10();
+    var {
+      isConnecting,
+      isEstablished,
+      isClosing,
+      isValidSubprotocol,
+      fireEvent
+    } = require_util15();
+    var { establishWebSocketConnection, closeWebSocketConnection } = require_connection2();
+    var { ByteParser } = require_receiver2();
+    var { kEnumerableProperty, isBlobLike } = require_util9();
+    var { getGlobalDispatcher } = require_global4();
+    var { types } = require("node:util");
+    var { ErrorEvent, CloseEvent } = require_events2();
+    var { SendQueue } = require_sender2();
+    var WebSocket = class _WebSocket extends EventTarget {
+      #events = {
+        open: null,
+        error: null,
+        close: null,
+        message: null
       };
-    }
-    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);
+      #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 (!/^\d+$/.test(attributeValue)) {
-          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
+        if (urlRecord.protocol === "http:") {
+          urlRecord.protocol = "ws:";
+        } else if (urlRecord.protocol === "https:") {
+          urlRecord.protocol = "wss:";
         }
-        const deltaSeconds = Number(attributeValue);
-        cookieAttributeList.maxAge = deltaSeconds;
-      } else if (attributeNameLowercase === "domain") {
-        let cookieDomain = attributeValue;
-        if (cookieDomain[0] === ".") {
-          cookieDomain = cookieDomain.slice(1);
+        if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") {
+          throw new DOMException(
+            `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
+            "SyntaxError"
+          );
         }
-        cookieDomain = cookieDomain.toLowerCase();
-        cookieAttributeList.domain = cookieDomain;
-      } else if (attributeNameLowercase === "path") {
-        let cookiePath = "";
-        if (attributeValue.length === 0 || attributeValue[0] !== "/") {
-          cookiePath = "/";
-        } else {
-          cookiePath = attributeValue;
+        if (urlRecord.hash || urlRecord.href.endsWith("#")) {
+          throw new DOMException("Got fragment", "SyntaxError");
         }
-        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 (typeof protocols === "string") {
+          protocols = [protocols];
         }
-        if (attributeValueLowercase.includes("strict")) {
-          enforcement = "Strict";
+        if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
+          throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
         }
-        if (attributeValueLowercase.includes("lax")) {
-          enforcement = "Lax";
+        if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
+          throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
         }
-        cookieAttributeList.sameSite = enforcement;
-      } else {
-        cookieAttributeList.unparsed ??= [];
-        cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`);
-      }
-      return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
-    }
-    module2.exports = {
-      parseSetCookie,
-      parseUnparsedAttributes
-    };
-  }
-});
-
-// node_modules/undici/lib/cookies/index.js
-var require_cookies2 = __commonJS({
-  "node_modules/undici/lib/cookies/index.js"(exports2, module2) {
-    "use strict";
-    var { parseSetCookie } = require_parse2();
-    var { stringify } = require_util14();
-    var { webidl } = require_webidl2();
-    var { Headers } = require_headers2();
-    function getCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "getCookies" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      const cookie = headers.get("cookie");
-      const out = {};
-      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.argumentLengthCheck(arguments, 2, { header: "deleteCookie" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      name = webidl.converters.DOMString(name);
-      attributes = webidl.converters.DeleteCookieAttributes(attributes);
-      setCookie(headers, {
-        name,
-        value: "",
-        expires: /* @__PURE__ */ new Date(0),
-        ...attributes
-      });
-    }
-    function getSetCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "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, { header: "setCookie" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      cookie = webidl.converters.Cookie(cookie);
-      const str2 = stringify(cookie);
-      if (str2) {
-        headers.append("Set-Cookie", stringify(cookie));
-      }
-    }
-    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
+        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";
       }
-    ]);
-    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);
+      /**
+       * @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");
           }
-          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: []
+        }
+        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);
       }
-    ]);
-    module2.exports = {
-      getCookies,
-      deleteCookie,
-      getSetCookies,
-      setCookie
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/constants.js
-var require_constants10 = __commonJS({
-  "node_modules/undici/lib/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 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);
-    module2.exports = {
-      uid,
-      staticPropertyDescriptors,
-      states,
-      opcodes,
-      maxUnsigned16Bit,
-      parserStates,
-      emptyBuffer
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/symbols.js
-var require_symbols10 = __commonJS({
-  "node_modules/undici/lib/websocket/symbols.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
-      kReadyState: /* @__PURE__ */ Symbol("ready state"),
-      kController: /* @__PURE__ */ Symbol("controller"),
-      kResponse: /* @__PURE__ */ Symbol("response"),
-      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
-      kSentClose: /* @__PURE__ */ Symbol("sent close"),
-      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
-      kByteParser: /* @__PURE__ */ Symbol("byte parser")
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/events.js
-var require_events2 = __commonJS({
-  "node_modules/undici/lib/websocket/events.js"(exports2, module2) {
-    "use strict";
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util9();
-    var { MessagePort } = require("worker_threads");
-    var MessageEvent = class _MessageEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.MessageEventInit(eventInitDict);
-        super(type2, eventInitDict);
-        this.#eventInit = eventInitDict;
+      /**
+       * @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 data() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.data;
+      get readyState() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kReadyState];
       }
-      get origin() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.origin;
+      get bufferedAmount() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#bufferedAmount;
       }
-      get lastEventId() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.lastEventId;
+      get url() {
+        webidl.brandCheck(this, _WebSocket);
+        return URLSerializer(this[kWebSocketURL]);
       }
-      get source() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.source;
+      get extensions() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#extensions;
       }
-      get ports() {
-        webidl.brandCheck(this, _MessageEvent);
-        if (!Object.isFrozen(this.#eventInit.ports)) {
-          Object.freeze(this.#eventInit.ports);
-        }
-        return this.#eventInit.ports;
+      get protocol() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#protocol;
       }
-      initMessageEvent(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
-        webidl.brandCheck(this, _MessageEvent);
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent.initMessageEvent" });
-        return new _MessageEvent(type2, {
-          bubbles,
-          cancelable,
-          data,
-          origin,
-          lastEventId,
-          source,
-          ports
-        });
+      get onopen() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.open;
       }
-    };
-    var CloseEvent = class _CloseEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
-        super(type2, eventInitDict);
-        this.#eventInit = eventInitDict;
+      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 wasClean() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.wasClean;
+      get onerror() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.error;
       }
-      get code() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.code;
+      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 reason() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.reason;
+      get onclose() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.close;
       }
-    };
-    var ErrorEvent = class _ErrorEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" });
-        super(type2, eventInitDict);
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});
-        this.#eventInit = eventInitDict;
+      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 message() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.message;
+      get onmessage() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.message;
       }
-      get filename() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.filename;
+      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 lineno() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.lineno;
+      get binaryType() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kBinaryType];
       }
-      get colno() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.colno;
+      set binaryType(type2) {
+        webidl.brandCheck(this, _WebSocket);
+        if (type2 !== "blob" && type2 !== "arraybuffer") {
+          this[kBinaryType] = "blob";
+        } else {
+          this[kBinaryType] = type2;
+        }
       }
-      get error() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.error;
+      /**
+       * @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);
       }
     };
-    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, {
+    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: "CloseEvent",
+        value: "WebSocket",
+        writable: false,
+        enumerable: false,
         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
+    Object.defineProperties(WebSocket, {
+      CONNECTING: staticPropertyDescriptors,
+      OPEN: staticPropertyDescriptors,
+      CLOSING: staticPropertyDescriptors,
+      CLOSED: staticPropertyDescriptors
     });
-    webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort);
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.MessagePort
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.DOMString
     );
-    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"],
-        get defaultValue() {
-          return [];
-        }
-      }
-    ]);
-    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["DOMString or sequence"] = function(V, prefix, argument) {
+      if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
+        return webidl.converters["sequence"](V);
       }
-    ]);
-    webidl.converters.ErrorEventInit = webidl.dictionaryConverter([
-      ...eventInit,
-      {
-        key: "message",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "filename",
-        converter: webidl.converters.USVString,
-        defaultValue: ""
-      },
+      return webidl.converters.DOMString(V, prefix, argument);
+    };
+    webidl.converters.WebSocketInit = webidl.dictionaryConverter([
       {
-        key: "lineno",
-        converter: webidl.converters["unsigned long"],
-        defaultValue: 0
+        key: "protocols",
+        converter: webidl.converters["DOMString or sequence"],
+        defaultValue: () => new Array(0)
       },
       {
-        key: "colno",
-        converter: webidl.converters["unsigned long"],
-        defaultValue: 0
+        key: "dispatcher",
+        converter: webidl.converters.any,
+        defaultValue: () => getGlobalDispatcher()
       },
-      {
-        key: "error",
-        converter: webidl.converters.any
-      }
-    ]);
-    module2.exports = {
-      MessageEvent,
-      CloseEvent,
-      ErrorEvent
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/util.js
-var require_util15 = __commonJS({
-  "node_modules/undici/lib/websocket/util.js"(exports2, module2) {
-    "use strict";
-    var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols10();
-    var { states, opcodes } = require_constants10();
-    var { MessageEvent, ErrorEvent } = require_events2();
-    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, eventConstructor = Event, eventInitDict) {
-      const event = new eventConstructor(e, eventInitDict);
-      target.dispatchEvent(event);
-    }
-    function websocketMessageReceived(ws, type2, data) {
-      if (ws[kReadyState] !== states.OPEN) {
-        return;
-      }
-      let dataForEvent;
-      if (type2 === opcodes.TEXT) {
-        try {
-          dataForEvent = new TextDecoder("utf-8", { fatal: true }).decode(data);
-        } catch {
-          failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
-          return;
-        }
-      } else if (type2 === opcodes.BINARY) {
-        if (ws[kBinaryType] === "blob") {
-          dataForEvent = new Blob([data]);
-        } else {
-          dataForEvent = new Uint8Array(data).buffer;
-        }
+      {
+        key: "headers",
+        converter: webidl.nullableConverter(webidl.converters.HeadersInit)
       }
-      fireEvent("message", ws, MessageEvent, {
-        origin: ws[kWebSocketURL].origin,
-        data: dataForEvent
-      });
-    }
-    function isValidSubprotocol(protocol) {
-      if (protocol.length === 0) {
-        return false;
+    ]);
+    webidl.converters["DOMString or sequence or WebSocketInit"] = function(V) {
+      if (webidl.util.Type(V) === "Object" && !(Symbol.iterator in V)) {
+        return webidl.converters.WebSocketInit(V);
       }
-      for (const char of protocol) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || code > 126 || char === "(" || char === ")" || char === "<" || char === ">" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}" || code === 32 || // SP
-        code === 9) {
-          return false;
+      return { 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 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;
+      return webidl.converters.USVString(V);
+    };
+    function onParserDrain() {
+      this.ws[kResponse].socket.resume();
     }
-    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, ErrorEvent, {
-          error: new Error(reason)
-        });
+    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 = {
-      isEstablished,
-      isClosing,
-      isClosed,
-      fireEvent,
-      isValidSubprotocol,
-      isValidStatusCode,
-      failWebsocketConnection,
-      websocketMessageReceived
+      WebSocket
     };
   }
 });
 
-// node_modules/undici/lib/websocket/connection.js
-var require_connection2 = __commonJS({
-  "node_modules/undici/lib/websocket/connection.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js
+var require_util16 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js"(exports2, module2) {
     "use strict";
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { uid, states } = require_constants10();
-    var {
-      kReadyState,
-      kSentClose,
-      kByteParser,
-      kReceivedClose
-    } = require_symbols10();
-    var { fireEvent, failWebsocketConnection } = require_util15();
-    var { CloseEvent } = require_events2();
-    var { makeRequest } = require_request4();
-    var { fetching } = require_fetch2();
-    var { Headers } = require_headers2();
-    var { getGlobalDispatcher } = require_global4();
-    var { kHeadersList } = require_symbols6();
-    var channels = {};
-    channels.open = diagnosticsChannel.channel("undici:websocket:open");
-    channels.close = diagnosticsChannel.channel("undici:websocket:close");
-    channels.socketError = diagnosticsChannel.channel("undici:websocket:socket_error");
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-    } catch {
-    }
-    function establishWebSocketConnection(url, protocols, ws, onEstablish, options) {
-      const requestURL = url;
-      requestURL.protocol = url.protocol === "ws:" ? "http:" : "https:";
-      const request2 = makeRequest({
-        urlList: [requestURL],
-        serviceWorkers: "none",
-        referrer: "no-referrer",
-        mode: "websocket",
-        credentials: "include",
-        cache: "no-store",
-        redirect: "error"
-      });
-      if (options.headers) {
-        const headersList = new Headers(options.headers)[kHeadersList];
-        request2.headersList = headersList;
-      }
-      const keyValue = crypto2.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 = "";
-      const controller = fetching({
-        request: request2,
-        useParallelQueue: true,
-        dispatcher: options.dispatcher ?? getGlobalDispatcher(),
-        processResponse(response) {
-          if (response.type === "error" || response.status !== 101) {
-            failWebsocketConnection(ws, "Received network error or non-101 status code.");
-            return;
-          }
-          if (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 = crypto2.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");
-          if (secExtension !== null && secExtension !== permessageDeflate) {
-            failWebsocketConnection(ws, "Received different permessage-deflate than the one set.");
-            return;
-          }
-          const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");
-          if (secProtocol !== null && secProtocol !== request2.headersList.get("Sec-WebSocket-Protocol")) {
-            failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");
-            return;
-          }
-          response.socket.on("data", onSocketData);
-          response.socket.on("close", onSocketClose);
-          response.socket.on("error", onSocketError);
-          if (channels.open.hasSubscribers) {
-            channels.open.publish({
-              address: response.socket.address(),
-              protocol: secProtocol,
-              extensions: secExtension
-            });
-          }
-          onEstablish(response);
-        }
-      });
-      return controller;
+    function isValidLastEventId(value) {
+      return value.indexOf("\0") === -1;
     }
-    function onSocketData(chunk) {
-      if (!this.ws[kByteParser].write(chunk)) {
-        this.pause();
+    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 onSocketClose() {
-      const { ws } = this;
-      const wasClean = ws[kSentClose] && ws[kReceivedClose];
-      let code = 1005;
-      let reason = "";
-      const result = ws[kByteParser].closingInfo;
-      if (result) {
-        code = result.code ?? 1005;
-        reason = result.reason;
-      } else if (!ws[kSentClose]) {
-        code = 1006;
-      }
-      ws[kReadyState] = states.CLOSED;
-      fireEvent("close", ws, CloseEvent, {
-        wasClean,
-        code,
-        reason
+    function delay2(ms) {
+      return new Promise((resolve4) => {
+        setTimeout(resolve4, ms).unref();
       });
-      if (channels.close.hasSubscribers) {
-        channels.close.publish({
-          websocket: ws,
-          code,
-          reason
-        });
-      }
-    }
-    function onSocketError(error3) {
-      const { ws } = this;
-      ws[kReadyState] = states.CLOSING;
-      if (channels.socketError.hasSubscribers) {
-        channels.socketError.publish(error3);
-      }
-      this.destroy();
     }
     module2.exports = {
-      establishWebSocketConnection
+      isValidLastEventId,
+      isASCIINumber,
+      delay: delay2
     };
   }
 });
 
-// node_modules/undici/lib/websocket/frame.js
-var require_frame2 = __commonJS({
-  "node_modules/undici/lib/websocket/frame.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js
+var require_eventsource_stream2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js"(exports2, module2) {
     "use strict";
-    var { maxUnsigned16Bit } = require_constants10();
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-    } catch {
-    }
-    var WebsocketFrameSend = class {
+    var { Transform } = require("node:stream");
+    var { isASCIINumber, isValidLastEventId } = require_util16();
+    var BOM = [239, 187, 191];
+    var LF = 10;
+    var CR = 13;
+    var COLON = 58;
+    var SPACE = 32;
+    var EventSourceStream = class extends Transform {
       /**
-       * @param {Buffer|undefined} data
+       * @type {eventSourceSettings}
        */
-      constructor(data) {
-        this.frameData = data;
-        this.maskKey = crypto2.randomBytes(4);
-      }
-      createFrame(opcode) {
-        const bodyLength = this.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 buffer = Buffer.allocUnsafe(bodyLength + offset);
-        buffer[0] = buffer[1] = 0;
-        buffer[0] |= 128;
-        buffer[0] = (buffer[0] & 240) + opcode;
-        buffer[offset - 4] = this.maskKey[0];
-        buffer[offset - 3] = this.maskKey[1];
-        buffer[offset - 2] = this.maskKey[2];
-        buffer[offset - 1] = this.maskKey[3];
-        buffer[1] = payloadLength;
-        if (payloadLength === 126) {
-          buffer.writeUInt16BE(bodyLength, 2);
-        } else if (payloadLength === 127) {
-          buffer[2] = buffer[3] = 0;
-          buffer.writeUIntBE(bodyLength, 4, 6);
-        }
-        buffer[1] |= 128;
-        for (let i = 0; i < bodyLength; i++) {
-          buffer[offset + i] = this.frameData[i] ^ this.maskKey[i % 4];
-        }
-        return buffer;
-      }
-    };
-    module2.exports = {
-      WebsocketFrameSend
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/receiver.js
-var require_receiver2 = __commonJS({
-  "node_modules/undici/lib/websocket/receiver.js"(exports2, module2) {
-    "use strict";
-    var { Writable } = require("stream");
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { parserStates, opcodes, states, emptyBuffer } = require_constants10();
-    var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols10();
-    var { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require_util15();
-    var { WebsocketFrameSend } = require_frame2();
-    var channels = {};
-    channels.ping = diagnosticsChannel.channel("undici:websocket:ping");
-    channels.pong = diagnosticsChannel.channel("undici:websocket:pong");
-    var ByteParser = class extends Writable {
-      #buffers = [];
-      #byteOffset = 0;
-      #state = parserStates.INFO;
-      #info = {};
-      #fragments = [];
-      constructor(ws) {
-        super();
-        this.ws = ws;
-      }
+      state = null;
       /**
-       * @param {Buffer} chunk
-       * @param {() => void} callback
+       * Leading byte-order-mark check.
+       * @type {boolean}
        */
-      _write(chunk, _, callback) {
-        this.#buffers.push(chunk);
-        this.#byteOffset += chunk.length;
-        this.run(callback);
+      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;
+        }
       }
       /**
-       * 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.
+       * @param {Buffer} chunk
+       * @param {string} _encoding
+       * @param {Function} callback
+       * @returns {void}
        */
-      run(callback) {
-        while (true) {
-          if (this.#state === parserStates.INFO) {
-            if (this.#byteOffset < 2) {
-              return callback();
-            }
-            const buffer = this.consume(2);
-            this.#info.fin = (buffer[0] & 128) !== 0;
-            this.#info.opcode = buffer[0] & 15;
-            this.#info.originalOpcode ??= this.#info.opcode;
-            this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION;
-            if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) {
-              failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
-              return;
-            }
-            const payloadLength = buffer[1] & 127;
-            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 (this.#info.fragmented && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
-              return;
-            } else if ((this.#info.opcode === opcodes.PING || this.#info.opcode === opcodes.PONG || this.#info.opcode === opcodes.CLOSE) && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Payload length for control frame exceeded 125 bytes.");
-              return;
-            } else if (this.#info.opcode === opcodes.CLOSE) {
-              if (payloadLength === 1) {
-                failWebsocketConnection(this.ws, "Received close frame with a 1-byte body.");
+      _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;
               }
-              const body = this.consume(payloadLength);
-              this.#info.closeInfo = this.parseCloseBody(false, body);
-              if (!this.ws[kSentClose]) {
-                const body2 = Buffer.allocUnsafe(2);
-                body2.writeUInt16BE(this.#info.closeInfo.code, 0);
-                const closeFrame = new WebsocketFrameSend(body2);
-                this.ws[kResponse].socket.write(
-                  closeFrame.createFrame(opcodes.CLOSE),
-                  (err) => {
-                    if (!err) {
-                      this.ws[kSentClose] = true;
-                    }
-                  }
-                );
-              }
-              this.ws[kReadyState] = states.CLOSING;
-              this.ws[kReceivedClose] = true;
-              this.end();
+              this.checkBOM = false;
+              callback();
               return;
-            } else if (this.#info.opcode === opcodes.PING) {
-              const body = this.consume(payloadLength);
-              if (!this.ws[kReceivedClose]) {
-                const frame = new WebsocketFrameSend(body);
-                this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
-                if (channels.ping.hasSubscribers) {
-                  channels.ping.publish({
-                    payload: body
-                  });
-                }
+            case 2:
+              if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1]) {
+                callback();
+                return;
               }
-              this.#state = parserStates.INFO;
-              if (this.#byteOffset > 0) {
-                continue;
-              } else {
+              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;
               }
-            } else if (this.#info.opcode === opcodes.PONG) {
-              const body = this.consume(payloadLength);
-              if (channels.pong.hasSubscribers) {
-                channels.pong.publish({
-                  payload: body
-                });
+              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);
               }
-              if (this.#byteOffset > 0) {
+              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;
-              } else {
-                callback();
-                return;
               }
+              this.crlfCheck = false;
             }
-          } 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();
-            } else if (this.#byteOffset >= this.#info.payloadLength) {
-              const body = this.consume(this.#info.payloadLength);
-              this.#fragments.push(body);
-              if (!this.#info.fragmented || this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) {
-                const fullMessage = Buffer.concat(this.#fragments);
-                websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage);
-                this.#info = {};
-                this.#fragments.length = 0;
+            if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) {
+              if (this.buffer[this.pos] === CR) {
+                this.crlfCheck = true;
               }
-              this.#state = parserStates.INFO;
+              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.#byteOffset > 0) {
+          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;
-          } else {
-            callback();
-            break;
           }
+          this.pos++;
         }
+        callback();
       }
       /**
-       * Take n bytes from the buffered Buffers
-       * @param {number} n
-       * @returns {Buffer|null}
+       * @param {Buffer} line
+       * @param {EventStreamEvent} event
        */
-      consume(n) {
-        if (n > this.#byteOffset) {
-          return null;
-        } else if (n === 0) {
-          return emptyBuffer;
+      parseLine(line, event) {
+        if (line.length === 0) {
+          return;
         }
-        if (this.#buffers[0].length === n) {
-          this.#byteOffset -= this.#buffers[0].length;
-          return this.#buffers.shift();
+        const colonPosition = line.indexOf(COLON);
+        if (colonPosition === 0) {
+          return;
         }
-        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);
+        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;
-          } else if (length + offset > n) {
-            buffer.set(next.subarray(0, n - offset), offset);
-            this.#buffers[0] = next.subarray(n - offset);
+          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;
-          } else {
-            buffer.set(this.#buffers.shift(), offset);
-            offset += next.length;
-          }
         }
-        this.#byteOffset -= n;
-        return buffer;
       }
-      parseCloseBody(onlyCode, data) {
-        let code;
-        if (data.length >= 2) {
-          code = data.readUInt16BE(0);
-        }
-        if (onlyCode) {
-          if (!isValidStatusCode(code)) {
-            return null;
-          }
-          return { code };
-        }
-        let reason = data.subarray(2);
-        if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
-          reason = reason.subarray(3);
+      /**
+       * @param {EventSourceStreamEvent} event
+       */
+      processEvent(event) {
+        if (event.retry && isASCIINumber(event.retry)) {
+          this.state.reconnectionTime = parseInt(event.retry, 10);
         }
-        if (code !== void 0 && !isValidStatusCode(code)) {
-          return null;
+        if (event.id && isValidLastEventId(event.id)) {
+          this.state.lastEventId = event.id;
         }
-        try {
-          reason = new TextDecoder("utf-8", { fatal: true }).decode(reason);
-        } catch {
-          return null;
+        if (event.data !== void 0) {
+          this.push({
+            type: event.event || "message",
+            options: {
+              data: event.data,
+              lastEventId: this.state.lastEventId,
+              origin: this.state.origin
+            }
+          });
         }
-        return { code, reason };
       }
-      get closingInfo() {
-        return this.#info.closeInfo;
+      clearEvent() {
+        this.event = {
+          data: void 0,
+          event: void 0,
+          id: void 0,
+          retry: void 0
+        };
       }
     };
     module2.exports = {
-      ByteParser
+      EventSourceStream
     };
   }
 });
 
-// node_modules/undici/lib/websocket/websocket.js
-var require_websocket2 = __commonJS({
-  "node_modules/undici/lib/websocket/websocket.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js
+var require_eventsource2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js"(exports2, module2) {
     "use strict";
+    var { pipeline } = require("node:stream");
+    var { fetching } = require_fetch2();
+    var { makeRequest } = require_request4();
     var { webidl } = require_webidl2();
-    var { DOMException: DOMException2 } = require_constants7();
-    var { URLSerializer } = require_dataURL();
-    var { getGlobalOrigin } = require_global3();
-    var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require_constants10();
-    var {
-      kWebSocketURL,
-      kReadyState,
-      kController,
-      kBinaryType,
-      kResponse,
-      kSentClose,
-      kByteParser
-    } = require_symbols10();
-    var { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require_util15();
-    var { establishWebSocketConnection } = require_connection2();
-    var { WebsocketFrameSend } = require_frame2();
-    var { ByteParser } = require_receiver2();
-    var { kEnumerableProperty, isBlobLike } = require_util9();
-    var { getGlobalDispatcher } = require_global4();
-    var { types } = require("util");
+    var { EventSourceStream } = require_eventsource_stream2();
+    var { parseMIMEType } = require_data_url2();
+    var { createFastMessageEvent } = require_events2();
+    var { isNetworkError } = require_response2();
+    var { delay: delay2 } = require_util16();
+    var { kEnumerableProperty } = require_util9();
+    var { environmentSettingsObject } = require_util10();
     var experimentalWarned = false;
-    var WebSocket = class _WebSocket extends EventTarget {
+    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,
-        close: null,
         message: null
       };
-      #bufferedAmount = 0;
-      #protocol = "";
-      #extensions = "";
+      #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 {string|string[]} protocols
+       * @param {EventSourceInit} [eventSourceInitDict]
+       * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#the-eventsource-interface
        */
-      constructor(url, protocols = []) {
+      constructor(url, eventSourceInitDict = {}) {
         super();
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket constructor" });
+        webidl.util.markAsUncloneable(this);
+        const prefix = "EventSource constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
         if (!experimentalWarned) {
           experimentalWarned = true;
-          process.emitWarning("WebSockets are experimental, expect them to change at any time.", {
-            code: "UNDICI-WS"
+          process.emitWarning("EventSource is experimental, expect them to change at any time.", {
+            code: "UNDICI-ES"
           });
         }
-        const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols);
-        url = webidl.converters.USVString(url);
-        protocols = options.protocols;
-        const baseURL = getGlobalOrigin();
+        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, baseURL);
+          urlRecord = new URL(url, settings.settingsObject.baseUrl);
+          this.#state.origin = urlRecord.origin;
         } catch (e) {
-          throw new DOMException2(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 DOMException2(
-            `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
-            "SyntaxError"
-          );
-        }
-        if (urlRecord.hash || urlRecord.href.endsWith("#")) {
-          throw new DOMException2("Got fragment", "SyntaxError");
-        }
-        if (typeof protocols === "string") {
-          protocols = [protocols];
-        }
-        if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
-          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+          throw new DOMException(e, "SyntaxError");
         }
-        if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
-          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+        this.#url = urlRecord.href;
+        let corsAttributeState = ANONYMOUS;
+        if (eventSourceInitDict.withCredentials) {
+          corsAttributeState = USE_CREDENTIALS;
+          this.#withCredentials = true;
         }
-        this[kWebSocketURL] = new URL(urlRecord.href);
-        this[kController] = establishWebSocketConnection(
-          urlRecord,
-          protocols,
-          this,
-          (response) => this.#onConnectionEstablished(response),
-          options
-        );
-        this[kReadyState] = _WebSocket.CONNECTING;
-        this[kBinaryType] = "blob";
+        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();
       }
       /**
-       * @see https://websockets.spec.whatwg.org/#dom-websocket-close
-       * @param {number|undefined} code
-       * @param {string|undefined} reason
+       * Returns the state of this EventSource object's connection. It can have the
+       * values described below.
+       * @returns {0|1|2}
+       * @readonly
        */
-      close(code = void 0, reason = void 0) {
-        webidl.brandCheck(this, _WebSocket);
-        if (code !== void 0) {
-          code = webidl.converters["unsigned short"](code, { clamp: true });
-        }
-        if (reason !== void 0) {
-          reason = webidl.converters.USVString(reason);
-        }
-        if (code !== void 0) {
-          if (code !== 1e3 && (code < 3e3 || code > 4999)) {
-            throw new DOMException2("invalid code", "InvalidAccessError");
+      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();
           }
-        }
-        let reasonByteLength = 0;
-        if (reason !== void 0) {
-          reasonByteLength = Buffer.byteLength(reason);
-          if (reasonByteLength > 123) {
-            throw new DOMException2(
-              `Reason must be less than 123 bytes; received ${reasonByteLength}`,
-              "SyntaxError"
-            );
+          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;
+            }
           }
-        }
-        if (this[kReadyState] === _WebSocket.CLOSING || this[kReadyState] === _WebSocket.CLOSED) {
-        } else if (!isEstablished(this)) {
-          failWebsocketConnection(this, "Connection was closed before it was established.");
-          this[kReadyState] = _WebSocket.CLOSING;
-        } else if (!isClosing(this)) {
-          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 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;
           }
-          const socket = this[kResponse].socket;
-          socket.write(frame.createFrame(opcodes.CLOSE), (err) => {
-            if (!err) {
-              this[kSentClose] = true;
+          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
+              ));
             }
           });
-          this[kReadyState] = states.CLOSING;
-        } else {
-          this[kReadyState] = _WebSocket.CLOSING;
-        }
+          pipeline(
+            response.body.stream,
+            eventSourceStream,
+            (error3) => {
+              if (error3?.aborted === false) {
+                this.close();
+                this.dispatchEvent(new Event("error"));
+              }
+            }
+          );
+        };
+        this.#controller = fetching(fetchParams);
       }
       /**
-       * @see https://websockets.spec.whatwg.org/#dom-websocket-send
-       * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data
+       * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#sse-processing-model
+       * @returns {Promise}
        */
-      send(data) {
-        webidl.brandCheck(this, _WebSocket);
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" });
-        data = webidl.converters.WebSocketSendData(data);
-        if (this[kReadyState] === _WebSocket.CONNECTING) {
-          throw new DOMException2("Sent before connected.", "InvalidStateError");
-        }
-        if (!isEstablished(this) || isClosing(this)) {
-          return;
-        }
-        const socket = this[kResponse].socket;
-        if (typeof data === "string") {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.TEXT);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
-        } else if (types.isArrayBuffer(data)) {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
-        } else if (ArrayBuffer.isView(data)) {
-          const ab = Buffer.from(data, data.byteOffset, data.byteLength);
-          const frame = new WebsocketFrameSend(ab);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += ab.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= ab.byteLength;
-          });
-        } else if (isBlobLike(data)) {
-          const frame = new WebsocketFrameSend();
-          data.arrayBuffer().then((ab) => {
-            const value = Buffer.from(ab);
-            frame.frameData = value;
-            const buffer = frame.createFrame(opcodes.BINARY);
-            this.#bufferedAmount += value.byteLength;
-            socket.write(buffer, () => {
-              this.#bufferedAmount -= value.byteLength;
-            });
-          });
+      async #reconnect() {
+        if (this.#readyState === CLOSED) return;
+        this.#readyState = CONNECTING;
+        this.dispatchEvent(new Event("error"));
+        await delay2(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();
       }
-      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;
+      /**
+       * 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() {
-        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);
         }
@@ -37998,44 +39575,10 @@ var require_websocket2 = __commonJS({
           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);
         }
@@ -38046,137 +39589,87 @@ var require_websocket2 = __commonJS({
           this.#events.message = null;
         }
       }
-      get binaryType() {
-        webidl.brandCheck(this, _WebSocket);
-        return this[kBinaryType];
+      get onerror() {
+        return this.#events.error;
       }
-      set binaryType(type2) {
-        webidl.brandCheck(this, _WebSocket);
-        if (type2 !== "blob" && type2 !== "arraybuffer") {
-          this[kBinaryType] = "blob";
+      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[kBinaryType] = type2;
+          this.#events.error = null;
         }
       }
-      /**
-       * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
-       */
-      #onConnectionEstablished(response) {
-        this[kResponse] = response;
-        const parser = new ByteParser(this);
-        parser.on("drain", function onParserDrain() {
-          this.ws[kResponse].socket.resume();
-        });
-        response.socket.ws = this;
-        this[kByteParser] = parser;
-        this[kReadyState] = states.OPEN;
-        const extensions = response.headersList.get("sec-websocket-extensions");
-        if (extensions !== null) {
-          this.#extensions = extensions;
-        }
-        const protocol = response.headersList.get("sec-websocket-protocol");
-        if (protocol !== null) {
-          this.#protocol = protocol;
-        }
-        fireEvent("open", this);
+    };
+    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
       }
     };
-    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,
+    Object.defineProperties(EventSource, constantsPropertyDescriptors);
+    Object.defineProperties(EventSource.prototype, constantsPropertyDescriptors);
+    Object.defineProperties(EventSource.prototype, {
       close: kEnumerableProperty,
+      onerror: 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
+      onopen: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      url: kEnumerableProperty,
+      withCredentials: kEnumerableProperty
     });
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.DOMString
-    );
-    webidl.converters["DOMString or sequence"] = function(V) {
-      if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
-        return webidl.converters["sequence"](V);
-      }
-      return webidl.converters.DOMString(V);
-    };
-    webidl.converters.WebSocketInit = webidl.dictionaryConverter([
+    webidl.converters.EventSourceInitDict = webidl.dictionaryConverter([
       {
-        key: "protocols",
-        converter: webidl.converters["DOMString or sequence"],
-        get defaultValue() {
-          return [];
-        }
+        key: "withCredentials",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
       },
       {
         key: "dispatcher",
-        converter: (V) => V,
-        get defaultValue() {
-          return getGlobalDispatcher();
-        }
-      },
-      {
-        key: "headers",
-        converter: webidl.nullableConverter(webidl.converters.HeadersInit)
+        // undici only
+        converter: webidl.converters.any
       }
     ]);
-    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.isAnyArrayBuffer(V)) {
-          return webidl.converters.BufferSource(V);
-        }
-      }
-      return webidl.converters.USVString(V);
-    };
     module2.exports = {
-      WebSocket
+      EventSource,
+      defaultReconnectionTime
     };
   }
 });
 
-// node_modules/undici/index.js
+// node_modules/@actions/github/node_modules/undici/index.js
 var require_undici2 = __commonJS({
-  "node_modules/undici/index.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/index.js"(exports2, module2) {
     "use strict";
     var Client = require_client2();
     var Dispatcher = require_dispatcher2();
-    var errors = require_errors2();
     var Pool = require_pool2();
     var BalancedPool = require_balanced_pool2();
     var Agent = require_agent2();
+    var ProxyAgent = require_proxy_agent2();
+    var EnvHttpProxyAgent = require_env_http_proxy_agent2();
+    var RetryAgent = require_retry_agent2();
+    var errors = require_errors2();
     var util = require_util9();
     var { InvalidArgumentError } = errors;
     var api = require_api2();
@@ -38185,19 +39678,11 @@ var require_undici2 = __commonJS({
     var MockAgent = require_mock_agent2();
     var MockPool = require_mock_pool2();
     var mockErrors = require_mock_errors2();
-    var ProxyAgent = require_proxy_agent2();
-    var RetryHandler = require_RetryHandler();
+    var RetryHandler = require_retry_handler2();
     var { getGlobalDispatcher, setGlobalDispatcher } = require_global4();
-    var DecoratorHandler = require_DecoratorHandler();
-    var RedirectHandler = require_RedirectHandler();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var hasCrypto;
-    try {
-      require("crypto");
-      hasCrypto = true;
-    } catch {
-      hasCrypto = false;
-    }
+    var DecoratorHandler = require_decorator_handler2();
+    var RedirectHandler = require_redirect_handler2();
+    var createRedirectInterceptor = require_redirect_interceptor2();
     Object.assign(Dispatcher.prototype, api);
     module2.exports.Dispatcher = Dispatcher;
     module2.exports.Client = Client;
@@ -38205,12 +39690,24 @@ var require_undici2 = __commonJS({
     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_redirect2(),
+      retry: require_retry2(),
+      dump: require_dump2(),
+      dns: require_dns2()
+    };
     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") {
@@ -38252,48 +39749,42 @@ var require_undici2 = __commonJS({
     }
     module2.exports.setGlobalDispatcher = setGlobalDispatcher;
     module2.exports.getGlobalDispatcher = getGlobalDispatcher;
-    if (util.nodeMajor > 16 || util.nodeMajor === 16 && util.nodeMinor >= 8) {
-      let fetchImpl = null;
-      module2.exports.fetch = async function fetch(resource) {
-        if (!fetchImpl) {
-          fetchImpl = require_fetch2().fetch;
-        }
-        try {
-          return await fetchImpl(...arguments);
-        } catch (err) {
-          if (typeof err === "object") {
-            Error.captureStackTrace(err, this);
-          }
-          throw err;
+    var fetchImpl = require_fetch2().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);
         }
-      };
-      module2.exports.Headers = require_headers2().Headers;
-      module2.exports.Response = require_response2().Response;
-      module2.exports.Request = require_request4().Request;
-      module2.exports.FormData = require_formdata2().FormData;
-      module2.exports.File = require_file2().File;
-      module2.exports.FileReader = require_filereader2().FileReader;
-      const { setGlobalOrigin, getGlobalOrigin } = require_global3();
-      module2.exports.setGlobalOrigin = setGlobalOrigin;
-      module2.exports.getGlobalOrigin = getGlobalOrigin;
-      const { CacheStorage } = require_cachestorage2();
-      const { kConstruct } = require_symbols9();
-      module2.exports.caches = new CacheStorage(kConstruct);
-    }
-    if (util.nodeMajor >= 16) {
-      const { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
-      module2.exports.deleteCookie = deleteCookie;
-      module2.exports.getCookies = getCookies;
-      module2.exports.getSetCookies = getSetCookies;
-      module2.exports.setCookie = setCookie;
-      const { parseMIMEType, serializeAMimeType } = require_dataURL();
-      module2.exports.parseMIMEType = parseMIMEType;
-      module2.exports.serializeAMimeType = serializeAMimeType;
-    }
-    if (util.nodeMajor >= 18 && hasCrypto) {
-      const { WebSocket } = require_websocket2();
-      module2.exports.WebSocket = WebSocket;
-    }
+        throw err;
+      }
+    };
+    module2.exports.Headers = require_headers2().Headers;
+    module2.exports.Response = require_response2().Response;
+    module2.exports.Request = require_request4().Request;
+    module2.exports.FormData = require_formdata2().FormData;
+    module2.exports.File = globalThis.File ?? require("node:buffer").File;
+    module2.exports.FileReader = require_filereader2().FileReader;
+    var { setGlobalOrigin, getGlobalOrigin } = require_global3();
+    module2.exports.setGlobalOrigin = setGlobalOrigin;
+    module2.exports.getGlobalOrigin = getGlobalOrigin;
+    var { CacheStorage } = require_cachestorage2();
+    var { kConstruct } = require_symbols9();
+    module2.exports.caches = new CacheStorage(kConstruct);
+    var { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
+    module2.exports.deleteCookie = deleteCookie;
+    module2.exports.getCookies = getCookies;
+    module2.exports.getSetCookies = getSetCookies;
+    module2.exports.setCookie = setCookie;
+    var { parseMIMEType, serializeAMimeType } = require_data_url2();
+    module2.exports.parseMIMEType = parseMIMEType;
+    module2.exports.serializeAMimeType = serializeAMimeType;
+    var { CloseEvent, ErrorEvent, MessageEvent } = require_events2();
+    module2.exports.WebSocket = require_websocket2().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);
@@ -38303,6 +39794,8 @@ var require_undici2 = __commonJS({
     module2.exports.MockPool = MockPool;
     module2.exports.MockAgent = MockAgent;
     module2.exports.mockErrors = mockErrors;
+    var { EventSource } = require_eventsource2();
+    module2.exports.EventSource = EventSource;
   }
 });
 
@@ -44522,7 +46015,7 @@ var require_package = __commonJS({
         "@actions/cache": "^5.0.5",
         "@actions/core": "^2.0.3",
         "@actions/exec": "^2.0.0",
-        "@actions/github": "^8.0.0",
+        "@actions/github": "^8.0.1",
         "@actions/glob": "^0.5.0",
         "@actions/http-client": "^3.0.0",
         "@actions/io": "^2.0.0",
@@ -44554,7 +46047,7 @@ var require_package = __commonJS({
         "@types/node-forge": "^1.3.14",
         "@types/semver": "^7.7.1",
         "@types/sinon": "^21.0.0",
-        "@typescript-eslint/eslint-plugin": "^8.53.1",
+        "@typescript-eslint/eslint-plugin": "^8.54.0",
         "@typescript-eslint/parser": "^8.48.0",
         ava: "^6.4.1",
         esbuild: "^0.27.2",
@@ -44563,7 +46056,7 @@ var require_package = __commonJS({
         "eslint-plugin-filenames": "^1.3.2",
         "eslint-plugin-github": "^5.1.8",
         "eslint-plugin-import": "2.29.1",
-        "eslint-plugin-jsdoc": "^62.3.0",
+        "eslint-plugin-jsdoc": "^62.4.1",
         "eslint-plugin-no-async-foreach": "^0.1.1",
         glob: "^11.1.0",
         nock: "^14.0.10",
@@ -55054,7 +56547,7 @@ var require_clientHelpers = __commonJS({
 });
 
 // node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js
-var require_multipart2 = __commonJS({
+var require_multipart = __commonJS({
   "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -55177,7 +56670,7 @@ var require_sendRequest = __commonJS({
     var pipelineRequest_js_1 = require_pipelineRequest();
     var clientHelpers_js_1 = require_clientHelpers();
     var typeGuards_js_1 = require_typeGuards();
-    var multipart_js_1 = require_multipart2();
+    var multipart_js_1 = require_multipart();
     async function sendRequest(method, url, pipeline, options = {}, customHttpClient) {
       const httpClient = customHttpClient ?? (0, clientHelpers_js_1.getCachedDefaultHttpsClient)();
       const request2 = buildPipelineRequest(method, url, options);
@@ -59875,7 +61368,7 @@ var require_commonjs8 = __commonJS({
 });
 
 // node_modules/@azure/core-http-compat/dist/commonjs/util.js
-var require_util16 = __commonJS({
+var require_util17 = __commonJS({
   "node_modules/@azure/core-http-compat/dist/commonjs/util.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -60130,7 +61623,7 @@ var require_response3 = __commonJS({
     exports2.toCompatResponse = toCompatResponse;
     exports2.toPipelineResponse = toPipelineResponse;
     var core_rest_pipeline_1 = require_commonjs6();
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     var originalResponse = /* @__PURE__ */ Symbol("Original FullOperationResponse");
     function toCompatResponse(response, options) {
       let request2 = (0, util_js_1.toWebResourceLike)(response.request);
@@ -60244,7 +61737,7 @@ var require_requestPolicyFactoryPolicy = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.requestPolicyFactoryPolicyName = exports2.HttpPipelineLogLevel = void 0;
     exports2.createRequestPolicyFactoryPolicy = createRequestPolicyFactoryPolicy;
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     var response_js_1 = require_response3();
     var HttpPipelineLogLevel;
     (function(HttpPipelineLogLevel2) {
@@ -60291,7 +61784,7 @@ var require_httpClientAdapter = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.convertHttpClient = convertHttpClient;
     var response_js_1 = require_response3();
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     function convertHttpClient(requestPolicyClient) {
       return {
         sendRequest: async (request2) => {
@@ -60331,7 +61824,7 @@ var require_commonjs9 = __commonJS({
     Object.defineProperty(exports2, "convertHttpClient", { enumerable: true, get: function() {
       return httpClientAdapter_js_1.convertHttpClient;
     } });
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     Object.defineProperty(exports2, "toHttpHeadersLike", { enumerable: true, get: function() {
       return util_js_1.toHttpHeadersLike;
     } });
@@ -96412,7 +97905,7 @@ var require_cache_twirp_client = __commonJS({
 });
 
 // node_modules/@actions/cache/lib/internal/shared/util.js
-var require_util17 = __commonJS({
+var require_util18 = __commonJS({
   "node_modules/@actions/cache/lib/internal/shared/util.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -96489,7 +97982,7 @@ var require_cacheTwirpClient = __commonJS({
     var auth_1 = require_auth();
     var http_client_1 = require_lib();
     var cache_twirp_client_1 = require_cache_twirp_client();
-    var util_1 = require_util17();
+    var util_1 = require_util18();
     var CacheServiceClient = class {
       constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) {
         this.maxAttempts = 5;
@@ -103606,11 +105099,11 @@ void runWrapper();
 /*! Bundled license information:
 
 undici/lib/web/fetch/body.js:
-undici/lib/fetch/body.js:
+undici/lib/web/fetch/body.js:
   (*! formdata-polyfill. MIT License. Jimmy Wärting  *)
 
 undici/lib/web/websocket/frame.js:
-undici/lib/websocket/frame.js:
+undici/lib/web/websocket/frame.js:
   (*! ws. MIT License. Einar Otto Stangvik  *)
 
 @octokit/request-error/dist-src/index.js:
diff --git a/lib/setup-codeql-action.js b/lib/setup-codeql-action.js
index 59af2bf5cc..0d7e8f2cf9 100644
--- a/lib/setup-codeql-action.js
+++ b/lib/setup-codeql-action.js
@@ -21549,9 +21549,9 @@ var require_context = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/core/symbols.js
 var require_symbols6 = __commonJS({
-  "node_modules/undici/lib/core/symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/symbols.js"(exports2, module2) {
     module2.exports = {
       kClose: /* @__PURE__ */ Symbol("close"),
       kDestroy: /* @__PURE__ */ Symbol("destroy"),
@@ -21562,7 +21562,6 @@ var require_symbols6 = __commonJS({
       kQueue: /* @__PURE__ */ Symbol("queue"),
       kConnect: /* @__PURE__ */ Symbol("connect"),
       kConnecting: /* @__PURE__ */ Symbol("connecting"),
-      kHeadersList: /* @__PURE__ */ Symbol("headers list"),
       kKeepAliveDefaultTimeout: /* @__PURE__ */ Symbol("default keep alive timeout"),
       kKeepAliveMaxTimeout: /* @__PURE__ */ Symbol("max keep alive timeout"),
       kKeepAliveTimeoutThreshold: /* @__PURE__ */ Symbol("keep alive timeout threshold"),
@@ -21575,6 +21574,7 @@ var require_symbols6 = __commonJS({
       kHost: /* @__PURE__ */ Symbol("host"),
       kNoRef: /* @__PURE__ */ Symbol("no ref"),
       kBodyUsed: /* @__PURE__ */ Symbol("used"),
+      kBody: /* @__PURE__ */ Symbol("abstracted request body"),
       kRunning: /* @__PURE__ */ Symbol("running"),
       kBlocking: /* @__PURE__ */ Symbol("blocking"),
       kPending: /* @__PURE__ */ Symbol("pending"),
@@ -21587,6 +21587,8 @@ var require_symbols6 = __commonJS({
       kNeedDrain: /* @__PURE__ */ Symbol("need drain"),
       kReset: /* @__PURE__ */ Symbol("reset"),
       kDestroyed: /* @__PURE__ */ Symbol.for("nodejs.stream.destroyed"),
+      kResume: /* @__PURE__ */ Symbol("resume"),
+      kOnError: /* @__PURE__ */ Symbol("on error"),
       kMaxHeadersSize: /* @__PURE__ */ Symbol("max headers size"),
       kRunningIdx: /* @__PURE__ */ Symbol("running index"),
       kPendingIdx: /* @__PURE__ */ Symbol("pending index"),
@@ -21608,67 +21610,90 @@ var require_symbols6 = __commonJS({
       kMaxResponseSize: /* @__PURE__ */ Symbol("max response size"),
       kHTTP2Session: /* @__PURE__ */ Symbol("http2Session"),
       kHTTP2SessionState: /* @__PURE__ */ Symbol("http2Session state"),
-      kHTTP2BuildRequest: /* @__PURE__ */ Symbol("http2 build request"),
-      kHTTP1BuildRequest: /* @__PURE__ */ Symbol("http1 build request"),
-      kHTTP2CopyHeaders: /* @__PURE__ */ Symbol("http2 copy headers"),
-      kHTTPConnVersion: /* @__PURE__ */ Symbol("http connection version"),
       kRetryHandlerDefaultRetry: /* @__PURE__ */ Symbol("retry agent default retry"),
-      kConstruct: /* @__PURE__ */ Symbol("constructable")
+      kConstruct: /* @__PURE__ */ Symbol("constructable"),
+      kListeners: /* @__PURE__ */ Symbol("listeners"),
+      kHTTPContext: /* @__PURE__ */ Symbol("http context"),
+      kMaxConcurrentStreams: /* @__PURE__ */ Symbol("max concurrent streams"),
+      kNoProxyAgent: /* @__PURE__ */ Symbol("no proxy agent"),
+      kHttpProxyAgent: /* @__PURE__ */ Symbol("http proxy agent"),
+      kHttpsProxyAgent: /* @__PURE__ */ Symbol("https proxy agent")
     };
   }
 });
 
-// node_modules/undici/lib/core/errors.js
+// node_modules/@actions/github/node_modules/undici/lib/core/errors.js
 var require_errors2 = __commonJS({
-  "node_modules/undici/lib/core/errors.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/errors.js"(exports2, module2) {
     "use strict";
+    var kUndiciError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR");
     var UndiciError = class extends Error {
       constructor(message) {
         super(message);
         this.name = "UndiciError";
         this.code = "UND_ERR";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kUndiciError] === true;
+      }
+      [kUndiciError] = true;
     };
-    var ConnectTimeoutError = class _ConnectTimeoutError extends UndiciError {
+    var kConnectTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT");
+    var ConnectTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ConnectTimeoutError);
         this.name = "ConnectTimeoutError";
         this.message = message || "Connect Timeout Error";
         this.code = "UND_ERR_CONNECT_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kConnectTimeoutError] === true;
+      }
+      [kConnectTimeoutError] = true;
     };
-    var HeadersTimeoutError = class _HeadersTimeoutError extends UndiciError {
+    var kHeadersTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT");
+    var HeadersTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersTimeoutError);
         this.name = "HeadersTimeoutError";
         this.message = message || "Headers Timeout Error";
         this.code = "UND_ERR_HEADERS_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersTimeoutError] === true;
+      }
+      [kHeadersTimeoutError] = true;
     };
-    var HeadersOverflowError = class _HeadersOverflowError extends UndiciError {
+    var kHeadersOverflowError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW");
+    var HeadersOverflowError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersOverflowError);
         this.name = "HeadersOverflowError";
         this.message = message || "Headers Overflow Error";
         this.code = "UND_ERR_HEADERS_OVERFLOW";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersOverflowError] === true;
+      }
+      [kHeadersOverflowError] = true;
     };
-    var BodyTimeoutError = class _BodyTimeoutError extends UndiciError {
+    var kBodyTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT");
+    var BodyTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _BodyTimeoutError);
         this.name = "BodyTimeoutError";
         this.message = message || "Body Timeout Error";
         this.code = "UND_ERR_BODY_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBodyTimeoutError] === true;
+      }
+      [kBodyTimeoutError] = true;
     };
-    var ResponseStatusCodeError = class _ResponseStatusCodeError extends UndiciError {
+    var kResponseStatusCodeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RESPONSE_STATUS_CODE");
+    var ResponseStatusCodeError = class extends UndiciError {
       constructor(message, statusCode, headers, body) {
         super(message);
-        Error.captureStackTrace(this, _ResponseStatusCodeError);
         this.name = "ResponseStatusCodeError";
         this.message = message || "Response Status Code Error";
         this.code = "UND_ERR_RESPONSE_STATUS_CODE";
@@ -21677,129 +21702,198 @@ var require_errors2 = __commonJS({
         this.statusCode = statusCode;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseStatusCodeError] === true;
+      }
+      [kResponseStatusCodeError] = true;
     };
-    var InvalidArgumentError = class _InvalidArgumentError extends UndiciError {
+    var kInvalidArgumentError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_ARG");
+    var InvalidArgumentError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidArgumentError);
         this.name = "InvalidArgumentError";
         this.message = message || "Invalid Argument Error";
         this.code = "UND_ERR_INVALID_ARG";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidArgumentError] === true;
+      }
+      [kInvalidArgumentError] = true;
     };
-    var InvalidReturnValueError = class _InvalidReturnValueError extends UndiciError {
+    var kInvalidReturnValueError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE");
+    var InvalidReturnValueError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidReturnValueError);
         this.name = "InvalidReturnValueError";
         this.message = message || "Invalid Return Value Error";
         this.code = "UND_ERR_INVALID_RETURN_VALUE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidReturnValueError] === true;
+      }
+      [kInvalidReturnValueError] = true;
+    };
+    var kAbortError = /* @__PURE__ */ 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";
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kAbortError] === true;
+      }
+      [kAbortError] = true;
     };
-    var RequestAbortedError = class _RequestAbortedError extends UndiciError {
+    var kRequestAbortedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_ABORTED");
+    var RequestAbortedError = class extends AbortError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestAbortedError);
         this.name = "AbortError";
         this.message = message || "Request aborted";
         this.code = "UND_ERR_ABORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestAbortedError] === true;
+      }
+      [kRequestAbortedError] = true;
     };
-    var InformationalError = class _InformationalError extends UndiciError {
+    var kInformationalError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INFO");
+    var InformationalError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InformationalError);
         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 RequestContentLengthMismatchError = class _RequestContentLengthMismatchError extends UndiciError {
+    var kRequestContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH");
+    var RequestContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestContentLengthMismatchError);
         this.name = "RequestContentLengthMismatchError";
         this.message = message || "Request body length does not match content-length header";
         this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestContentLengthMismatchError] === true;
+      }
+      [kRequestContentLengthMismatchError] = true;
     };
-    var ResponseContentLengthMismatchError = class _ResponseContentLengthMismatchError extends UndiciError {
+    var kResponseContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH");
+    var ResponseContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseContentLengthMismatchError);
         this.name = "ResponseContentLengthMismatchError";
         this.message = message || "Response body length does not match content-length header";
         this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseContentLengthMismatchError] === true;
+      }
+      [kResponseContentLengthMismatchError] = true;
     };
-    var ClientDestroyedError = class _ClientDestroyedError extends UndiciError {
+    var kClientDestroyedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_DESTROYED");
+    var ClientDestroyedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientDestroyedError);
         this.name = "ClientDestroyedError";
         this.message = message || "The client is destroyed";
         this.code = "UND_ERR_DESTROYED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientDestroyedError] === true;
+      }
+      [kClientDestroyedError] = true;
     };
-    var ClientClosedError = class _ClientClosedError extends UndiciError {
+    var kClientClosedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CLOSED");
+    var ClientClosedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientClosedError);
         this.name = "ClientClosedError";
         this.message = message || "The client is closed";
         this.code = "UND_ERR_CLOSED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientClosedError] === true;
+      }
+      [kClientClosedError] = true;
     };
-    var SocketError = class _SocketError extends UndiciError {
+    var kSocketError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_SOCKET");
+    var SocketError = class extends UndiciError {
       constructor(message, socket) {
         super(message);
-        Error.captureStackTrace(this, _SocketError);
         this.name = "SocketError";
         this.message = message || "Socket error";
         this.code = "UND_ERR_SOCKET";
         this.socket = socket;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kSocketError] === true;
+      }
+      [kSocketError] = true;
     };
-    var NotSupportedError = class _NotSupportedError extends UndiciError {
+    var kNotSupportedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED");
+    var NotSupportedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _NotSupportedError);
         this.name = "NotSupportedError";
         this.message = message || "Not supported error";
         this.code = "UND_ERR_NOT_SUPPORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kNotSupportedError] === true;
+      }
+      [kNotSupportedError] = true;
     };
+    var kBalancedPoolMissingUpstreamError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM");
     var BalancedPoolMissingUpstreamError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, NotSupportedError);
         this.name = "MissingUpstreamError";
         this.message = message || "No upstream has been added to the BalancedPool";
         this.code = "UND_ERR_BPL_MISSING_UPSTREAM";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBalancedPoolMissingUpstreamError] === true;
+      }
+      [kBalancedPoolMissingUpstreamError] = true;
     };
-    var HTTPParserError = class _HTTPParserError extends Error {
+    var kHTTPParserError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HTTP_PARSER");
+    var HTTPParserError = class extends Error {
       constructor(message, code, data) {
         super(message);
-        Error.captureStackTrace(this, _HTTPParserError);
         this.name = "HTTPParserError";
         this.code = code ? `HPE_${code}` : void 0;
         this.data = data ? data.toString() : void 0;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHTTPParserError] === true;
+      }
+      [kHTTPParserError] = true;
     };
-    var ResponseExceededMaxSizeError = class _ResponseExceededMaxSizeError extends UndiciError {
+    var kResponseExceededMaxSizeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE");
+    var ResponseExceededMaxSizeError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseExceededMaxSizeError);
         this.name = "ResponseExceededMaxSizeError";
         this.message = message || "Response content exceeded max size";
         this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseExceededMaxSizeError] === true;
+      }
+      [kResponseExceededMaxSizeError] = true;
     };
-    var RequestRetryError = class _RequestRetryError extends UndiciError {
+    var kRequestRetryError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_RETRY");
+    var RequestRetryError = class extends UndiciError {
       constructor(message, code, { headers, data }) {
         super(message);
-        Error.captureStackTrace(this, _RequestRetryError);
         this.name = "RequestRetryError";
         this.message = message || "Request retry error";
         this.code = "UND_ERR_REQ_RETRY";
@@ -21807,8 +21901,43 @@ var require_errors2 = __commonJS({
         this.data = data;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestRetryError] === true;
+      }
+      [kRequestRetryError] = true;
+    };
+    var kResponseError = /* @__PURE__ */ 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 = /* @__PURE__ */ 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,
@@ -21828,14 +21957,16 @@ var require_errors2 = __commonJS({
       ResponseContentLengthMismatchError,
       BalancedPoolMissingUpstreamError,
       ResponseExceededMaxSizeError,
-      RequestRetryError
+      RequestRetryError,
+      ResponseError,
+      SecureProxyConnectionError
     };
   }
 });
 
-// node_modules/undici/lib/core/constants.js
+// node_modules/@actions/github/node_modules/undici/lib/core/constants.js
 var require_constants6 = __commonJS({
-  "node_modules/undici/lib/core/constants.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/constants.js"(exports2, module2) {
     "use strict";
     var headerNameLowerCasedRecord = {};
     var wellknownHeaderNames = [
@@ -21948,28 +22079,212 @@ var require_constants6 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/util.js
+// node_modules/@actions/github/node_modules/undici/lib/core/tree.js
+var require_tree2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/tree.js"(exports2, module2) {
+    "use strict";
+    var {
+      wellknownHeaderNames,
+      headerNameLowerCasedRecord
+    } = require_constants6();
+    var TstNode = class _TstNode {
+      /** @type {any} */
+      value = null;
+      /** @type {null | TstNode} */
+      left = null;
+      /** @type {null | TstNode} */
+      middle = null;
+      /** @type {null | TstNode} */
+      right = null;
+      /** @type {number} */
+      code;
+      /**
+       * @param {string} key
+       * @param {any} value
+       * @param {number} index
+       */
+      constructor(key, value, index) {
+        if (index === void 0 || index >= key.length) {
+          throw new TypeError("Unreachable");
+        }
+        const code = this.code = key.charCodeAt(index);
+        if (code > 127) {
+          throw new TypeError("key must be ascii string");
+        }
+        if (key.length !== ++index) {
+          this.middle = new _TstNode(key, value, index);
+        } else {
+          this.value = value;
+        }
+      }
+      /**
+       * @param {string} key
+       * @param {any} value
+       */
+      add(key, value) {
+        const length = key.length;
+        if (length === 0) {
+          throw new TypeError("Unreachable");
+        }
+        let index = 0;
+        let node = this;
+        while (true) {
+          const code = key.charCodeAt(index);
+          if (code > 127) {
+            throw new TypeError("key must be ascii string");
+          }
+          if (node.code === code) {
+            if (length === ++index) {
+              node.value = value;
+              break;
+            } else if (node.middle !== null) {
+              node = node.middle;
+            } else {
+              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;
+          }
+        }
+      }
+      /**
+       * @param {Uint8Array} key
+       * @return {TstNode | null}
+       */
+      search(key) {
+        const keylength = key.length;
+        let index = 0;
+        let node = this;
+        while (node !== null && index < keylength) {
+          let code = key[index];
+          if (code <= 90 && code >= 65) {
+            code |= 32;
+          }
+          while (node !== null) {
+            if (code === node.code) {
+              if (keylength === ++index) {
+                return node;
+              }
+              node = node.middle;
+              break;
+            }
+            node = node.code < code ? node.left : node.right;
+          }
+        }
+        return null;
+      }
+    };
+    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);
+        }
+      }
+      /**
+       * @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/@actions/github/node_modules/undici/lib/core/util.js
 var require_util9 = __commonJS({
-  "node_modules/undici/lib/core/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/util.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { kDestroyed, kBodyUsed } = require_symbols6();
-    var { IncomingMessage } = require("http");
-    var stream2 = require("stream");
-    var net = require("net");
+    var assert = require("node:assert");
+    var { kDestroyed, kBodyUsed, kListeners, kBody } = require_symbols6();
+    var { IncomingMessage } = require("node:http");
+    var stream2 = 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_errors2();
-    var { Blob: Blob2 } = require("buffer");
-    var nodeUtil = require("util");
-    var { stringify } = require("querystring");
     var { headerNameLowerCasedRecord } = require_constants6();
+    var { tree } = require_tree2();
     var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v) => Number(v));
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
+      }
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
+      }
+    };
+    function wrapRequestBody(body) {
+      if (isStream(body)) {
+        if (bodyLength(body) === 0) {
+          body.on("data", function() {
+            assert(false);
+          });
+        }
+        if (typeof body.readableDidRead !== "boolean") {
+          body[kBodyUsed] = false;
+          EE.prototype.on.call(body, "data", function() {
+            this[kBodyUsed] = true;
+          });
+        }
+        return body;
+      } else if (body && typeof body.pipeTo === "function") {
+        return new BodyAsyncIterable(body);
+      } else if (body && typeof body !== "string" && !ArrayBuffer.isView(body) && isIterable(body)) {
+        return new BodyAsyncIterable(body);
+      } else {
+        return body;
+      }
+    }
     function nop() {
     }
     function isStream(obj) {
       return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function";
     }
     function isBlobLike(object) {
-      return Blob2 && object instanceof Blob2 || object && typeof object === "object" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]);
+      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("#")) {
@@ -21981,10 +22296,17 @@ var require_util9 = __commonJS({
       }
       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 (!/^https?:/.test(url.origin || url.protocol)) {
+        if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {
           throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
         }
         return url;
@@ -21992,11 +22314,8 @@ var require_util9 = __commonJS({
       if (!url || typeof url !== "object") {
         throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object.");
       }
-      if (!/^https?:/.test(url.origin || url.protocol)) {
-        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
-      }
       if (!(url instanceof URL)) {
-        if (url.port != null && url.port !== "" && !Number.isFinite(parseInt(url.port))) {
+        if (url.port != null && url.port !== "" && isValidPort(url.port) === false) {
           throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer.");
         }
         if (url.path != null && typeof url.path !== "string") {
@@ -22011,16 +22330,22 @@ var require_util9 = __commonJS({
         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 origin = url.origin != null ? url.origin : `${url.protocol || ""}//${url.hostname || ""}:${port}`;
         let path8 = url.path != null ? url.path : `${url.pathname || ""}${url.search || ""}`;
-        if (origin.endsWith("/")) {
-          origin = origin.substring(0, origin.length - 1);
+        if (origin[origin.length - 1] === "/") {
+          origin = origin.slice(0, origin.length - 1);
         }
-        if (path8 && !path8.startsWith("/")) {
+        if (path8 && path8[0] !== "/") {
           path8 = `/${path8}`;
         }
-        url = new URL(origin + path8);
+        return new URL(`${origin}${path8}`);
+      }
+      if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {
+        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
       }
       return url;
     }
@@ -22045,7 +22370,7 @@ var require_util9 = __commonJS({
       if (!host) {
         return null;
       }
-      assert.strictEqual(typeof host, "string");
+      assert(typeof host === "string");
       const servername = getHostname(host);
       if (net.isIP(servername)) {
         return "";
@@ -22074,12 +22399,8 @@ var require_util9 = __commonJS({
       }
       return null;
     }
-    function isDestroyed(stream3) {
-      return !stream3 || !!(stream3.destroyed || stream3[kDestroyed]);
-    }
-    function isReadableAborted(stream3) {
-      const state = stream3 && stream3._readableState;
-      return isDestroyed(stream3) && state && !state.endEmitted;
+    function isDestroyed(body) {
+      return body && !!(body.destroyed || body[kDestroyed] || stream2.isDestroyed?.(body));
     }
     function destroy(stream3, err) {
       if (stream3 == null || !isStream(stream3) || isDestroyed(stream3)) {
@@ -22091,9 +22412,9 @@ var require_util9 = __commonJS({
         }
         stream3.destroy(err);
       } else if (err) {
-        process.nextTick((stream4, err2) => {
-          stream4.emit("error", err2);
-        }, stream3, err);
+        queueMicrotask(() => {
+          stream3.emit("error", err);
+        });
       }
       if (stream3.destroyed !== true) {
         stream3[kDestroyed] = true;
@@ -22105,25 +22426,29 @@ var require_util9 = __commonJS({
       return m ? parseInt(m[1], 10) * 1e3 : null;
     }
     function headerNameToString(value) {
-      return headerNameLowerCasedRecord[value] || value.toLowerCase();
+      return typeof value === "string" ? headerNameLowerCasedRecord[value] ?? value.toLowerCase() : tree.lookup(value) ?? value.toString("latin1").toLowerCase();
+    }
+    function bufferToLowerCasedHeaderName(value) {
+      return tree.lookup(value) ?? value.toString("latin1").toLowerCase();
     }
-    function parseHeaders(headers, obj = {}) {
-      if (!Array.isArray(headers)) return headers;
+    function parseHeaders(headers, obj) {
+      if (obj === void 0) obj = {};
       for (let i = 0; i < headers.length; i += 2) {
-        const key = headers[i].toString().toLowerCase();
+        const key = headerNameToString(headers[i]);
         let val = obj[key];
-        if (!val) {
-          if (Array.isArray(headers[i + 1])) {
-            obj[key] = headers[i + 1].map((x) => x.toString("utf8"));
-          } else {
-            obj[key] = headers[i + 1].toString("utf8");
-          }
-        } else {
-          if (!Array.isArray(val)) {
+        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");
+          }
         }
       }
       if ("content-length" in obj && "content-disposition" in obj) {
@@ -22132,20 +22457,26 @@ var require_util9 = __commonJS({
       return obj;
     }
     function parseRawHeaders(headers) {
-      const ret = [];
+      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) {
-        const key = headers[n + 0].toString();
-        const val = headers[n + 1].toString("utf8");
-        if (key.length === 14 && (key === "content-length" || key.toLowerCase() === "content-length")) {
-          ret.push(key, val);
+        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 (key.length === 19 && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
-          contentDispositionIdx = ret.push(key, val) - 1;
-        } else {
-          ret.push(key, val);
+        } else if (kLen === 19 && key[7] === "-" && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
+          contentDispositionIdx = n + 1;
         }
+        ret[n] = key;
+        ret[n + 1] = val;
       }
       if (hasContentLength && contentDispositionIdx !== -1) {
         ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1");
@@ -22185,17 +22516,13 @@ var require_util9 = __commonJS({
       }
     }
     function isDisturbed(body) {
-      return !!(body && (stream2.isDisturbed ? stream2.isDisturbed(body) || body[kBodyUsed] : body[kBodyUsed] || body.readableDidRead || body._readableState && body._readableState.dataEmitted || isReadableAborted(body)));
+      return !!(body && (stream2.isDisturbed(body) || body[kBodyUsed]));
     }
     function isErrored(body) {
-      return !!(body && (stream2.isErrored ? stream2.isErrored(body) : /state: 'errored'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream2.isErrored(body));
     }
     function isReadable(body) {
-      return !!(body && (stream2.isReadable ? stream2.isReadable(body) : /state: 'readable'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream2.isReadable(body));
     }
     function getSocketInfo(socket) {
       return {
@@ -22209,21 +22536,9 @@ var require_util9 = __commonJS({
         bytesRead: socket.bytesRead
       };
     }
-    async function* convertIterableToBuffer(iterable) {
-      for await (const chunk of iterable) {
-        yield Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
-      }
-    }
-    var ReadableStream2;
     function ReadableStreamFrom(iterable) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      if (ReadableStream2.from) {
-        return ReadableStream2.from(convertIterableToBuffer(iterable));
-      }
       let iterator2;
-      return new ReadableStream2(
+      return new ReadableStream(
         {
           async start() {
             iterator2 = iterable[Symbol.asyncIterator]();
@@ -22233,37 +22548,26 @@ var require_util9 = __commonJS({
             if (done) {
               queueMicrotask(() => {
                 controller.close();
+                controller.byobRequest?.respond(0);
               });
             } else {
               const buf = Buffer.isBuffer(value) ? value : Buffer.from(value);
-              controller.enqueue(new Uint8Array(buf));
+              if (buf.byteLength) {
+                controller.enqueue(new Uint8Array(buf));
+              }
             }
             return controller.desiredSize > 0;
           },
           async cancel(reason) {
             await iterator2.return();
-          }
-        },
-        0
+          },
+          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 throwIfAborted(signal) {
-      if (!signal) {
-        return;
-      }
-      if (typeof signal.throwIfAborted === "function") {
-        signal.throwIfAborted();
-      } else {
-        if (signal.aborted) {
-          const err = new Error("The operation was aborted");
-          err.name = "AbortError";
-          throw err;
-        }
-      }
-    }
     function addAbortListener(signal, listener) {
       if ("addEventListener" in signal) {
         signal.addEventListener("abort", listener, { once: true });
@@ -22272,14 +22576,52 @@ var require_util9 = __commonJS({
       signal.addListener("abort", listener);
       return () => signal.removeListener("abort", listener);
     }
-    var hasToWellFormed = !!String.prototype.toWellFormed;
+    var hasToWellFormed = typeof String.prototype.toWellFormed === "function";
+    var hasIsWellFormed = typeof String.prototype.isWellFormed === "function";
     function toUSVString(val) {
-      if (hasToWellFormed) {
-        return `${val}`.toWellFormed();
-      } else if (nodeUtil.toUSVString) {
-        return nodeUtil.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;
+      }
+    }
+    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 `${val}`;
+      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 };
@@ -22290,25 +22632,70 @@ var require_util9 = __commonJS({
         size: m[3] ? parseInt(m[3]) : null
       } : null;
     }
-    var kEnumerableProperty = /* @__PURE__ */ Object.create(null);
-    kEnumerableProperty.enumerable = true;
-    module2.exports = {
-      kEnumerableProperty,
-      nop,
-      isDisturbed,
-      isErrored,
-      isReadable,
-      toUSVString,
-      isReadableAborted,
-      isBlobLike,
-      parseOrigin,
-      parseURL,
-      getServerName,
+    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);
+      }
+      obj[kListeners] = null;
+    }
+    function errorRequest2(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: errorRequest2,
       parseRawHeaders,
       parseHeaders,
       parseKeepAliveTimeout,
@@ -22321,15673 +22708,16863 @@ var require_util9 = __commonJS({
       getSocketInfo,
       isFormDataLike,
       buildURL,
-      throwIfAborted,
       addAbortListener,
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isTokenCharCode,
       parseRangeHeader,
+      normalizedMethodRecordsBase,
+      normalizedMethodRecords,
+      isValidPort,
+      isHttpOrHttpsPrefixed,
       nodeMajor,
       nodeMinor,
-      nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13,
-      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"]
+      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"],
+      wrapRequestBody
     };
   }
 });
 
-// node_modules/undici/lib/timers.js
-var require_timers2 = __commonJS({
-  "node_modules/undici/lib/timers.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js
+var require_diagnostics2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js"(exports2, module2) {
     "use strict";
-    var fastNow = Date.now();
-    var fastNowTimeout;
-    var fastTimers = [];
-    function onTimeout() {
-      fastNow = Date.now();
-      let len = fastTimers.length;
-      let idx = 0;
-      while (idx < len) {
-        const timer = fastTimers[idx];
-        if (timer.state === 0) {
-          timer.state = fastNow + timer.delay;
-        } else if (timer.state > 0 && fastNow >= timer.state) {
-          timer.state = -1;
-          timer.callback(timer.opaque);
-        }
-        if (timer.state === -1) {
-          timer.state = -2;
-          if (idx !== len - 1) {
-            fastTimers[idx] = fastTimers.pop();
-          } else {
-            fastTimers.pop();
-          }
-          len -= 1;
-        } else {
-          idx += 1;
-        }
-      }
-      if (fastTimers.length > 0) {
-        refreshTimeout();
-      }
-    }
-    function refreshTimeout() {
-      if (fastNowTimeout && fastNowTimeout.refresh) {
-        fastNowTimeout.refresh();
-      } else {
-        clearTimeout(fastNowTimeout);
-        fastNowTimeout = setTimeout(onTimeout, 1e3);
-        if (fastNowTimeout.unref) {
-          fastNowTimeout.unref();
-        }
-      }
-    }
-    var Timeout = class {
-      constructor(callback, delay2, opaque) {
-        this.callback = callback;
-        this.delay = delay2;
-        this.opaque = opaque;
-        this.state = -2;
-        this.refresh();
-      }
-      refresh() {
-        if (this.state === -2) {
-          fastTimers.push(this);
-          if (!fastNowTimeout || fastTimers.length === 1) {
-            refreshTimeout();
-          }
-        }
-        this.state = 0;
-      }
-      clear() {
-        this.state = -1;
-      }
-    };
-    module2.exports = {
-      setTimeout(callback, delay2, opaque) {
-        return delay2 < 1e3 ? setTimeout(callback, delay2, opaque) : new Timeout(callback, delay2, opaque);
-      },
-      clearTimeout(timeout) {
-        if (timeout instanceof Timeout) {
-          timeout.clear();
-        } else {
-          clearTimeout(timeout);
-        }
-      }
+    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")
     };
-  }
-});
-
-// node_modules/@fastify/busboy/deps/streamsearch/sbmh.js
-var require_sbmh = __commonJS({
-  "node_modules/@fastify/busboy/deps/streamsearch/sbmh.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    function SBMH(needle) {
-      if (typeof needle === "string") {
-        needle = Buffer.from(needle);
-      }
-      if (!Buffer.isBuffer(needle)) {
-        throw new TypeError("The needle has to be a String or a Buffer.");
-      }
-      const needleLength = needle.length;
-      if (needleLength === 0) {
-        throw new Error("The needle cannot be an empty String/Buffer.");
-      }
-      if (needleLength > 256) {
-        throw new Error("The needle cannot have a length bigger than 256.");
-      }
-      this.maxMatches = Infinity;
-      this.matches = 0;
-      this._occ = new Array(256).fill(needleLength);
-      this._lookbehind_size = 0;
-      this._needle = needle;
-      this._bufpos = 0;
-      this._lookbehind = Buffer.alloc(needleLength);
-      for (var i = 0; i < needleLength - 1; ++i) {
-        this._occ[needle[i]] = needleLength - 1 - i;
-      }
+    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: error3
+        } = evt;
+        debuglog(
+          "connection to %s using %s%s errored - %s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version,
+          error3.message
+        );
+      });
+      diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+        const {
+          request: { method, path: path8, origin }
+        } = evt;
+        debuglog("sending request to %s %s/%s", method, origin, path8);
+      });
+      diagnosticsChannel.channel("undici:request:headers").subscribe((evt) => {
+        const {
+          request: { method, path: path8, origin },
+          response: { statusCode }
+        } = evt;
+        debuglog(
+          "received response to %s %s/%s - HTTP %d",
+          method,
+          origin,
+          path8,
+          statusCode
+        );
+      });
+      diagnosticsChannel.channel("undici:request:trailers").subscribe((evt) => {
+        const {
+          request: { method, path: path8, origin }
+        } = evt;
+        debuglog("trailers received from %s %s/%s", method, origin, path8);
+      });
+      diagnosticsChannel.channel("undici:request:error").subscribe((evt) => {
+        const {
+          request: { method, path: path8, origin },
+          error: error3
+        } = evt;
+        debuglog(
+          "request to %s %s/%s errored - %s",
+          method,
+          origin,
+          path8,
+          error3.message
+        );
+      });
+      isClientSet = true;
     }
-    inherits(SBMH, EventEmitter);
-    SBMH.prototype.reset = function() {
-      this._lookbehind_size = 0;
-      this.matches = 0;
-      this._bufpos = 0;
-    };
-    SBMH.prototype.push = function(chunk, pos) {
-      if (!Buffer.isBuffer(chunk)) {
-        chunk = Buffer.from(chunk, "binary");
-      }
-      const chlen = chunk.length;
-      this._bufpos = pos || 0;
-      let r;
-      while (r !== chlen && this.matches < this.maxMatches) {
-        r = this._sbmh_feed(chunk);
-      }
-      return r;
-    };
-    SBMH.prototype._sbmh_feed = function(data) {
-      const len = data.length;
-      const needle = this._needle;
-      const needleLength = needle.length;
-      const lastNeedleChar = needle[needleLength - 1];
-      let pos = -this._lookbehind_size;
-      let ch;
-      if (pos < 0) {
-        while (pos < 0 && pos <= len - needleLength) {
-          ch = this._sbmh_lookup_char(data, pos + needleLength - 1);
-          if (ch === lastNeedleChar && this._sbmh_memcmp(data, pos, needleLength - 1)) {
-            this._lookbehind_size = 0;
-            ++this.matches;
-            this.emit("info", true);
-            return this._bufpos = pos + needleLength;
-          }
-          pos += this._occ[ch];
-        }
-        if (pos < 0) {
-          while (pos < 0 && !this._sbmh_memcmp(data, pos, len - pos)) {
-            ++pos;
-          }
-        }
-        if (pos >= 0) {
-          this.emit("info", false, this._lookbehind, 0, this._lookbehind_size);
-          this._lookbehind_size = 0;
-        } else {
-          const bytesToCutOff = this._lookbehind_size + pos;
-          if (bytesToCutOff > 0) {
-            this.emit("info", false, this._lookbehind, 0, bytesToCutOff);
-          }
-          this._lookbehind.copy(
-            this._lookbehind,
-            0,
-            bytesToCutOff,
-            this._lookbehind_size - bytesToCutOff
+    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
           );
-          this._lookbehind_size -= bytesToCutOff;
-          data.copy(this._lookbehind, this._lookbehind_size);
-          this._lookbehind_size += len;
-          this._bufpos = len;
-          return len;
-        }
-      }
-      pos += (pos >= 0) * this._bufpos;
-      if (data.indexOf(needle, pos) !== -1) {
-        pos = data.indexOf(needle, pos);
-        ++this.matches;
-        if (pos > 0) {
-          this.emit("info", true, data, this._bufpos, pos);
-        } else {
-          this.emit("info", true);
-        }
-        return this._bufpos = pos + needleLength;
-      } else {
-        pos = len - needleLength;
-      }
-      while (pos < len && (data[pos] !== needle[0] || Buffer.compare(
-        data.subarray(pos, pos + len - pos),
-        needle.subarray(0, len - pos)
-      ) !== 0)) {
-        ++pos;
-      }
-      if (pos < len) {
-        data.copy(this._lookbehind, 0, pos, pos + (len - pos));
-        this._lookbehind_size = len - pos;
-      }
-      if (pos > 0) {
-        this.emit("info", false, data, this._bufpos, pos < len ? pos : len);
-      }
-      this._bufpos = len;
-      return len;
-    };
-    SBMH.prototype._sbmh_lookup_char = function(data, pos) {
-      return pos < 0 ? this._lookbehind[this._lookbehind_size + pos] : data[pos];
-    };
-    SBMH.prototype._sbmh_memcmp = function(data, pos, len) {
-      for (var i = 0; i < len; ++i) {
-        if (this._sbmh_lookup_char(data, pos + i) !== this._needle[i]) {
-          return false;
-        }
+        });
+        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: error3
+          } = evt;
+          debuglog(
+            "connection to %s%s using %s%s errored - %s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version,
+            error3.message
+          );
+        });
+        diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+          const {
+            request: { method, path: path8, origin }
+          } = evt;
+          debuglog("sending request to %s %s/%s", method, origin, path8);
+        });
       }
-      return true;
-    };
-    module2.exports = SBMH;
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js
-var require_PartStream = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js"(exports2, module2) {
-    "use strict";
-    var inherits = require("node:util").inherits;
-    var ReadableStream2 = require("node:stream").Readable;
-    function PartStream(opts) {
-      ReadableStream2.call(this, opts);
+      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");
+      });
     }
-    inherits(PartStream, ReadableStream2);
-    PartStream.prototype._read = function(n) {
-    };
-    module2.exports = PartStream;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/getLimit.js
-var require_getLimit = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/getLimit.js"(exports2, module2) {
-    "use strict";
-    module2.exports = function getLimit(limits, name, defaultLimit) {
-      if (!limits || limits[name] === void 0 || limits[name] === null) {
-        return defaultLimit;
-      }
-      if (typeof limits[name] !== "number" || isNaN(limits[name])) {
-        throw new TypeError("Limit " + name + " is not a valid number");
-      }
-      return limits[name];
+    module2.exports = {
+      channels
     };
   }
 });
 
-// node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js
-var require_HeaderParser = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/request.js
+var require_request3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/request.js"(exports2, module2) {
     "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    var getLimit = require_getLimit();
-    var StreamSearch = require_sbmh();
-    var B_DCRLF = Buffer.from("\r\n\r\n");
-    var RE_CRLF = /\r\n/g;
-    var RE_HDR = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/;
-    function HeaderParser(cfg) {
-      EventEmitter.call(this);
-      cfg = cfg || {};
-      const self2 = this;
-      this.nread = 0;
-      this.maxed = false;
-      this.npairs = 0;
-      this.maxHeaderPairs = getLimit(cfg, "maxHeaderPairs", 2e3);
-      this.maxHeaderSize = getLimit(cfg, "maxHeaderSize", 80 * 1024);
-      this.buffer = "";
-      this.header = {};
-      this.finished = false;
-      this.ss = new StreamSearch(B_DCRLF);
-      this.ss.on("info", function(isMatch, data, start, end) {
-        if (data && !self2.maxed) {
-          if (self2.nread + end - start >= self2.maxHeaderSize) {
-            end = self2.maxHeaderSize - self2.nread + start;
-            self2.nread = self2.maxHeaderSize;
-            self2.maxed = true;
-          } else {
-            self2.nread += end - start;
-          }
-          self2.buffer += data.toString("binary", start, end);
+    var {
+      InvalidArgumentError,
+      NotSupportedError
+    } = require_errors2();
+    var assert = require("node:assert");
+    var {
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isStream,
+      destroy,
+      isBuffer,
+      isFormDataLike,
+      isIterable,
+      isBlobLike,
+      buildURL,
+      validateHandler,
+      getServerName,
+      normalizedMethodRecords
+    } = require_util9();
+    var { channels } = require_diagnostics2();
+    var { headerNameLowerCasedRecord } = require_constants6();
+    var invalidPathRegex = /[^\u0021-\u00ff]/;
+    var kHandler = /* @__PURE__ */ Symbol("handler");
+    var Request = class {
+      constructor(origin, {
+        path: path8,
+        method,
+        body,
+        headers,
+        query,
+        idempotent,
+        blocking,
+        upgrade,
+        headersTimeout,
+        bodyTimeout,
+        reset,
+        throwOnError,
+        expectContinue,
+        servername
+      }, handler2) {
+        if (typeof path8 !== "string") {
+          throw new InvalidArgumentError("path must be a string");
+        } else if (path8[0] !== "/" && !(path8.startsWith("http://") || path8.startsWith("https://")) && method !== "CONNECT") {
+          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
+        } else if (invalidPathRegex.test(path8)) {
+          throw new InvalidArgumentError("invalid request path");
         }
-        if (isMatch) {
-          self2._finish();
+        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");
         }
-      });
-    }
-    inherits(HeaderParser, EventEmitter);
-    HeaderParser.prototype.push = function(data) {
-      const r = this.ss.push(data);
-      if (this.finished) {
-        return r;
-      }
-    };
-    HeaderParser.prototype.reset = function() {
-      this.finished = false;
-      this.buffer = "";
-      this.header = {};
-      this.ss.reset();
-    };
-    HeaderParser.prototype._finish = function() {
-      if (this.buffer) {
-        this._parseHeader();
-      }
-      this.ss.matches = this.ss.maxMatches;
-      const header = this.header;
-      this.header = {};
-      this.buffer = "";
-      this.finished = true;
-      this.nread = this.npairs = 0;
-      this.maxed = false;
-      this.emit("header", header);
-    };
-    HeaderParser.prototype._parseHeader = function() {
-      if (this.npairs === this.maxHeaderPairs) {
-        return;
-      }
-      const lines = this.buffer.split(RE_CRLF);
-      const len = lines.length;
-      let m, h;
-      for (var i = 0; i < len; ++i) {
-        if (lines[i].length === 0) {
-          continue;
+        if (upgrade && typeof upgrade !== "string") {
+          throw new InvalidArgumentError("upgrade must be a string");
         }
-        if (lines[i][0] === "	" || lines[i][0] === " ") {
-          if (h) {
-            this.header[h][this.header[h].length - 1] += lines[i];
-            continue;
-          }
+        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
+          throw new InvalidArgumentError("invalid headersTimeout");
         }
-        const posColon = lines[i].indexOf(":");
-        if (posColon === -1 || posColon === 0) {
-          return;
+        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
+          throw new InvalidArgumentError("invalid bodyTimeout");
         }
-        m = RE_HDR.exec(lines[i]);
-        h = m[1].toLowerCase();
-        this.header[h] = this.header[h] || [];
-        this.header[h].push(m[2] || "");
-        if (++this.npairs === this.maxHeaderPairs) {
-          break;
+        if (reset != null && typeof reset !== "boolean") {
+          throw new InvalidArgumentError("invalid reset");
         }
-      }
-    };
-    module2.exports = HeaderParser;
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js
-var require_Dicer = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js"(exports2, module2) {
-    "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var inherits = require("node:util").inherits;
-    var StreamSearch = require_sbmh();
-    var PartStream = require_PartStream();
-    var HeaderParser = require_HeaderParser();
-    var DASH = 45;
-    var B_ONEDASH = Buffer.from("-");
-    var B_CRLF = Buffer.from("\r\n");
-    var EMPTY_FN = function() {
-    };
-    function Dicer(cfg) {
-      if (!(this instanceof Dicer)) {
-        return new Dicer(cfg);
-      }
-      WritableStream.call(this, cfg);
-      if (!cfg || !cfg.headerFirst && typeof cfg.boundary !== "string") {
-        throw new TypeError("Boundary required");
-      }
-      if (typeof cfg.boundary === "string") {
-        this.setBoundary(cfg.boundary);
-      } else {
-        this._bparser = void 0;
-      }
-      this._headerFirst = cfg.headerFirst;
-      this._dashes = 0;
-      this._parts = 0;
-      this._finished = false;
-      this._realFinish = false;
-      this._isPreamble = true;
-      this._justMatched = false;
-      this._firstWrite = true;
-      this._inHeader = true;
-      this._part = void 0;
-      this._cb = void 0;
-      this._ignoreData = false;
-      this._partOpts = { highWaterMark: cfg.partHwm };
-      this._pause = false;
-      const self2 = this;
-      this._hparser = new HeaderParser(cfg);
-      this._hparser.on("header", function(header) {
-        self2._inHeader = false;
-        self2._part.emit("header", header);
-      });
-    }
-    inherits(Dicer, WritableStream);
-    Dicer.prototype.emit = function(ev) {
-      if (ev === "finish" && !this._realFinish) {
-        if (!this._finished) {
-          const self2 = this;
-          process.nextTick(function() {
-            self2.emit("error", new Error("Unexpected end of multipart data"));
-            if (self2._part && !self2._ignoreData) {
-              const type2 = self2._isPreamble ? "Preamble" : "Part";
-              self2._part.emit("error", new Error(type2 + " terminated early due to unexpected end of multipart data"));
-              self2._part.push(null);
-              process.nextTick(function() {
-                self2._realFinish = true;
-                self2.emit("finish");
-                self2._realFinish = false;
-              });
-              return;
-            }
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
-          });
+        if (expectContinue != null && typeof expectContinue !== "boolean") {
+          throw new InvalidArgumentError("invalid expectContinue");
         }
-      } else {
-        WritableStream.prototype.emit.apply(this, arguments);
-      }
-    };
-    Dicer.prototype._write = function(data, encoding, cb) {
-      if (!this._hparser && !this._bparser) {
-        return cb();
-      }
-      if (this._headerFirst && this._isPreamble) {
-        if (!this._part) {
-          this._part = new PartStream(this._partOpts);
-          if (this.listenerCount("preamble") !== 0) {
-            this.emit("preamble", this._part);
-          } else {
-            this._ignore();
+        this.headersTimeout = headersTimeout;
+        this.bodyTimeout = bodyTimeout;
+        this.throwOnError = throwOnError === true;
+        this.method = method;
+        this.abort = null;
+        if (body == null) {
+          this.body = null;
+        } else if (isStream(body)) {
+          this.body = body;
+          const rState = this.body._readableState;
+          if (!rState || !rState.autoDestroy) {
+            this.endHandler = function autoDestroy() {
+              destroy(this);
+            };
+            this.body.on("end", this.endHandler);
           }
-        }
-        const r = this._hparser.push(data);
-        if (!this._inHeader && r !== void 0 && r < data.length) {
-          data = data.slice(r);
+          this.errorHandler = (err) => {
+            if (this.abort) {
+              this.abort(err);
+            } else {
+              this.error = err;
+            }
+          };
+          this.body.on("error", this.errorHandler);
+        } else if (isBuffer(body)) {
+          this.body = body.byteLength ? body : null;
+        } else if (ArrayBuffer.isView(body)) {
+          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
+        } else if (body instanceof ArrayBuffer) {
+          this.body = body.byteLength ? Buffer.from(body) : null;
+        } else if (typeof body === "string") {
+          this.body = body.length ? Buffer.from(body) : null;
+        } else if (isFormDataLike(body) || isIterable(body) || isBlobLike(body)) {
+          this.body = body;
         } else {
-          return cb();
+          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
         }
-      }
-      if (this._firstWrite) {
-        this._bparser.push(B_CRLF);
-        this._firstWrite = false;
-      }
-      this._bparser.push(data);
-      if (this._pause) {
-        this._cb = cb;
-      } else {
-        cb();
-      }
-    };
-    Dicer.prototype.reset = function() {
-      this._part = void 0;
-      this._bparser = void 0;
-      this._hparser = void 0;
-    };
-    Dicer.prototype.setBoundary = function(boundary) {
-      const self2 = this;
-      this._bparser = new StreamSearch("\r\n--" + boundary);
-      this._bparser.on("info", function(isMatch, data, start, end) {
-        self2._oninfo(isMatch, data, start, end);
-      });
-    };
-    Dicer.prototype._ignore = function() {
-      if (this._part && !this._ignoreData) {
-        this._ignoreData = true;
-        this._part.on("error", EMPTY_FN);
-        this._part.resume();
-      }
-    };
-    Dicer.prototype._oninfo = function(isMatch, data, start, end) {
-      let buf;
-      const self2 = this;
-      let i = 0;
-      let r;
-      let shouldWriteMore = true;
-      if (!this._part && this._justMatched && data) {
-        while (this._dashes < 2 && start + i < end) {
-          if (data[start + i] === DASH) {
-            ++i;
-            ++this._dashes;
-          } else {
-            if (this._dashes) {
-              buf = B_ONEDASH;
-            }
-            this._dashes = 0;
-            break;
+        this.completed = false;
+        this.aborted = false;
+        this.upgrade = upgrade || null;
+        this.path = query ? buildURL(path8, query) : path8;
+        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");
           }
-        }
-        if (this._dashes === 2) {
-          if (start + i < end && this.listenerCount("trailer") !== 0) {
-            this.emit("trailer", data.slice(start + i, end));
+          for (let i = 0; i < headers.length; i += 2) {
+            processHeader(this, headers[i], headers[i + 1]);
           }
-          this.reset();
-          this._finished = true;
-          if (self2._parts === 0) {
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
+        } 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");
         }
-        if (this._dashes) {
-          return;
+        validateHandler(handler2, method, upgrade);
+        this.servername = servername || getServerName(this.host);
+        this[kHandler] = handler2;
+        if (channels.create.hasSubscribers) {
+          channels.create.publish({ request: this });
         }
       }
-      if (this._justMatched) {
-        this._justMatched = false;
+      onBodySent(chunk) {
+        if (this[kHandler].onBodySent) {
+          try {
+            return this[kHandler].onBodySent(chunk);
+          } catch (err) {
+            this.abort(err);
+          }
+        }
       }
-      if (!this._part) {
-        this._part = new PartStream(this._partOpts);
-        this._part._read = function(n) {
-          self2._unpause();
-        };
-        if (this._isPreamble && this.listenerCount("preamble") !== 0) {
-          this.emit("preamble", this._part);
-        } else if (this._isPreamble !== true && this.listenerCount("part") !== 0) {
-          this.emit("part", this._part);
-        } else {
-          this._ignore();
-        }
-        if (!this._isPreamble) {
-          this._inHeader = true;
+      onRequestSent() {
+        if (channels.bodySent.hasSubscribers) {
+          channels.bodySent.publish({ request: this });
         }
-      }
-      if (data && start < end && !this._ignoreData) {
-        if (this._isPreamble || !this._inHeader) {
-          if (buf) {
-            shouldWriteMore = this._part.push(buf);
-          }
-          shouldWriteMore = this._part.push(data.slice(start, end));
-          if (!shouldWriteMore) {
-            this._pause = true;
-          }
-        } else if (!this._isPreamble && this._inHeader) {
-          if (buf) {
-            this._hparser.push(buf);
-          }
-          r = this._hparser.push(data.slice(start, end));
-          if (!this._inHeader && r !== void 0 && r < end) {
-            this._oninfo(false, data, start + r, end);
+        if (this[kHandler].onRequestSent) {
+          try {
+            return this[kHandler].onRequestSent();
+          } catch (err) {
+            this.abort(err);
           }
         }
       }
-      if (isMatch) {
-        this._hparser.reset();
-        if (this._isPreamble) {
-          this._isPreamble = false;
+      onConnect(abort) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (this.error) {
+          abort(this.error);
         } else {
-          if (start !== end) {
-            ++this._parts;
-            this._part.on("end", function() {
-              if (--self2._parts === 0) {
-                if (self2._finished) {
-                  self2._realFinish = true;
-                  self2.emit("finish");
-                  self2._realFinish = false;
-                } else {
-                  self2._unpause();
-                }
-              }
-            });
-          }
+          this.abort = abort;
+          return this[kHandler].onConnect(abort);
         }
-        this._part.push(null);
-        this._part = void 0;
-        this._ignoreData = false;
-        this._justMatched = true;
-        this._dashes = 0;
-      }
-    };
-    Dicer.prototype._unpause = function() {
-      if (!this._pause) {
-        return;
       }
-      this._pause = false;
-      if (this._cb) {
-        const cb = this._cb;
-        this._cb = void 0;
-        cb();
-      }
-    };
-    module2.exports = Dicer;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/decodeText.js
-var require_decodeText = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/decodeText.js"(exports2, module2) {
-    "use strict";
-    var utf8Decoder = new TextDecoder("utf-8");
-    var textDecoders = /* @__PURE__ */ new Map([
-      ["utf-8", utf8Decoder],
-      ["utf8", utf8Decoder]
-    ]);
-    function getDecoder(charset) {
-      let lc;
-      while (true) {
-        switch (charset) {
-          case "utf-8":
-          case "utf8":
-            return decoders.utf8;
-          case "latin1":
-          case "ascii":
-          // TODO: Make these a separate, strict decoder?
-          case "us-ascii":
-          case "iso-8859-1":
-          case "iso8859-1":
-          case "iso88591":
-          case "iso_8859-1":
-          case "windows-1252":
-          case "iso_8859-1:1987":
-          case "cp1252":
-          case "x-cp1252":
-            return decoders.latin1;
-          case "utf16le":
-          case "utf-16le":
-          case "ucs2":
-          case "ucs-2":
-            return decoders.utf16le;
-          case "base64":
-            return decoders.base64;
-          default:
-            if (lc === void 0) {
-              lc = true;
-              charset = charset.toLowerCase();
-              continue;
-            }
-            return decoders.other.bind(charset);
-        }
+      onResponseStarted() {
+        return this[kHandler].onResponseStarted?.();
       }
-    }
-    var decoders = {
-      utf8: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
-        }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
-        }
-        return data.utf8Slice(0, data.length);
-      },
-      latin1: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+      onHeaders(statusCode, headers, resume, statusText) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (channels.headers.hasSubscribers) {
+          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
         }
-        if (typeof data === "string") {
-          return data;
+        try {
+          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
+        } catch (err) {
+          this.abort(err);
         }
-        return data.latin1Slice(0, data.length);
-      },
-      utf16le: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+      }
+      onData(chunk) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        try {
+          return this[kHandler].onData(chunk);
+        } catch (err) {
+          this.abort(err);
+          return false;
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      }
+      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 });
         }
-        return data.ucs2Slice(0, data.length);
-      },
-      base64: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+        try {
+          return this[kHandler].onComplete(trailers);
+        } catch (err) {
+          this.onError(err);
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      }
+      onError(error3) {
+        this.onFinally();
+        if (channels.error.hasSubscribers) {
+          channels.error.publish({ request: this, error: error3 });
         }
-        return data.base64Slice(0, data.length);
-      },
-      other: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+        if (this.aborted) {
+          return;
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+        this.aborted = true;
+        return this[kHandler].onError(error3);
+      }
+      onFinally() {
+        if (this.errorHandler) {
+          this.body.off("error", this.errorHandler);
+          this.errorHandler = null;
         }
-        if (textDecoders.has(exports2.toString())) {
-          try {
-            return textDecoders.get(exports2).decode(data);
-          } catch {
-          }
+        if (this.endHandler) {
+          this.body.off("end", this.endHandler);
+          this.endHandler = null;
         }
-        return typeof data === "string" ? data : data.toString();
+      }
+      addHeader(key, value) {
+        processHeader(this, key, value);
+        return this;
       }
     };
-    function decodeText(text, sourceEncoding, destEncoding) {
-      if (text) {
-        return getDecoder(destEncoding)(text, sourceEncoding);
+    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;
       }
-      return text;
-    }
-    module2.exports = decodeText;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/parseParams.js
-var require_parseParams = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/parseParams.js"(exports2, module2) {
-    "use strict";
-    var decodeText = require_decodeText();
-    var RE_ENCODED = /%[a-fA-F0-9][a-fA-F0-9]/g;
-    var EncodedLookup = {
-      "%00": "\0",
-      "%01": "",
-      "%02": "",
-      "%03": "",
-      "%04": "",
-      "%05": "",
-      "%06": "",
-      "%07": "\x07",
-      "%08": "\b",
-      "%09": "	",
-      "%0a": "\n",
-      "%0A": "\n",
-      "%0b": "\v",
-      "%0B": "\v",
-      "%0c": "\f",
-      "%0C": "\f",
-      "%0d": "\r",
-      "%0D": "\r",
-      "%0e": "",
-      "%0E": "",
-      "%0f": "",
-      "%0F": "",
-      "%10": "",
-      "%11": "",
-      "%12": "",
-      "%13": "",
-      "%14": "",
-      "%15": "",
-      "%16": "",
-      "%17": "",
-      "%18": "",
-      "%19": "",
-      "%1a": "",
-      "%1A": "",
-      "%1b": "\x1B",
-      "%1B": "\x1B",
-      "%1c": "",
-      "%1C": "",
-      "%1d": "",
-      "%1D": "",
-      "%1e": "",
-      "%1E": "",
-      "%1f": "",
-      "%1F": "",
-      "%20": " ",
-      "%21": "!",
-      "%22": '"',
-      "%23": "#",
-      "%24": "$",
-      "%25": "%",
-      "%26": "&",
-      "%27": "'",
-      "%28": "(",
-      "%29": ")",
-      "%2a": "*",
-      "%2A": "*",
-      "%2b": "+",
-      "%2B": "+",
-      "%2c": ",",
-      "%2C": ",",
-      "%2d": "-",
-      "%2D": "-",
-      "%2e": ".",
-      "%2E": ".",
-      "%2f": "/",
-      "%2F": "/",
-      "%30": "0",
-      "%31": "1",
-      "%32": "2",
-      "%33": "3",
-      "%34": "4",
-      "%35": "5",
-      "%36": "6",
-      "%37": "7",
-      "%38": "8",
-      "%39": "9",
-      "%3a": ":",
-      "%3A": ":",
-      "%3b": ";",
-      "%3B": ";",
-      "%3c": "<",
-      "%3C": "<",
-      "%3d": "=",
-      "%3D": "=",
-      "%3e": ">",
-      "%3E": ">",
-      "%3f": "?",
-      "%3F": "?",
-      "%40": "@",
-      "%41": "A",
-      "%42": "B",
-      "%43": "C",
-      "%44": "D",
-      "%45": "E",
-      "%46": "F",
-      "%47": "G",
-      "%48": "H",
-      "%49": "I",
-      "%4a": "J",
-      "%4A": "J",
-      "%4b": "K",
-      "%4B": "K",
-      "%4c": "L",
-      "%4C": "L",
-      "%4d": "M",
-      "%4D": "M",
-      "%4e": "N",
-      "%4E": "N",
-      "%4f": "O",
-      "%4F": "O",
-      "%50": "P",
-      "%51": "Q",
-      "%52": "R",
-      "%53": "S",
-      "%54": "T",
-      "%55": "U",
-      "%56": "V",
-      "%57": "W",
-      "%58": "X",
-      "%59": "Y",
-      "%5a": "Z",
-      "%5A": "Z",
-      "%5b": "[",
-      "%5B": "[",
-      "%5c": "\\",
-      "%5C": "\\",
-      "%5d": "]",
-      "%5D": "]",
-      "%5e": "^",
-      "%5E": "^",
-      "%5f": "_",
-      "%5F": "_",
-      "%60": "`",
-      "%61": "a",
-      "%62": "b",
-      "%63": "c",
-      "%64": "d",
-      "%65": "e",
-      "%66": "f",
-      "%67": "g",
-      "%68": "h",
-      "%69": "i",
-      "%6a": "j",
-      "%6A": "j",
-      "%6b": "k",
-      "%6B": "k",
-      "%6c": "l",
-      "%6C": "l",
-      "%6d": "m",
-      "%6D": "m",
-      "%6e": "n",
-      "%6E": "n",
-      "%6f": "o",
-      "%6F": "o",
-      "%70": "p",
-      "%71": "q",
-      "%72": "r",
-      "%73": "s",
-      "%74": "t",
-      "%75": "u",
-      "%76": "v",
-      "%77": "w",
-      "%78": "x",
-      "%79": "y",
-      "%7a": "z",
-      "%7A": "z",
-      "%7b": "{",
-      "%7B": "{",
-      "%7c": "|",
-      "%7C": "|",
-      "%7d": "}",
-      "%7D": "}",
-      "%7e": "~",
-      "%7E": "~",
-      "%7f": "\x7F",
-      "%7F": "\x7F",
-      "%80": "\x80",
-      "%81": "\x81",
-      "%82": "\x82",
-      "%83": "\x83",
-      "%84": "\x84",
-      "%85": "\x85",
-      "%86": "\x86",
-      "%87": "\x87",
-      "%88": "\x88",
-      "%89": "\x89",
-      "%8a": "\x8A",
-      "%8A": "\x8A",
-      "%8b": "\x8B",
-      "%8B": "\x8B",
-      "%8c": "\x8C",
-      "%8C": "\x8C",
-      "%8d": "\x8D",
-      "%8D": "\x8D",
-      "%8e": "\x8E",
-      "%8E": "\x8E",
-      "%8f": "\x8F",
-      "%8F": "\x8F",
-      "%90": "\x90",
-      "%91": "\x91",
-      "%92": "\x92",
-      "%93": "\x93",
-      "%94": "\x94",
-      "%95": "\x95",
-      "%96": "\x96",
-      "%97": "\x97",
-      "%98": "\x98",
-      "%99": "\x99",
-      "%9a": "\x9A",
-      "%9A": "\x9A",
-      "%9b": "\x9B",
-      "%9B": "\x9B",
-      "%9c": "\x9C",
-      "%9C": "\x9C",
-      "%9d": "\x9D",
-      "%9D": "\x9D",
-      "%9e": "\x9E",
-      "%9E": "\x9E",
-      "%9f": "\x9F",
-      "%9F": "\x9F",
-      "%a0": "\xA0",
-      "%A0": "\xA0",
-      "%a1": "\xA1",
-      "%A1": "\xA1",
-      "%a2": "\xA2",
-      "%A2": "\xA2",
-      "%a3": "\xA3",
-      "%A3": "\xA3",
-      "%a4": "\xA4",
-      "%A4": "\xA4",
-      "%a5": "\xA5",
-      "%A5": "\xA5",
-      "%a6": "\xA6",
-      "%A6": "\xA6",
-      "%a7": "\xA7",
-      "%A7": "\xA7",
-      "%a8": "\xA8",
-      "%A8": "\xA8",
-      "%a9": "\xA9",
-      "%A9": "\xA9",
-      "%aa": "\xAA",
-      "%Aa": "\xAA",
-      "%aA": "\xAA",
-      "%AA": "\xAA",
-      "%ab": "\xAB",
-      "%Ab": "\xAB",
-      "%aB": "\xAB",
-      "%AB": "\xAB",
-      "%ac": "\xAC",
-      "%Ac": "\xAC",
-      "%aC": "\xAC",
-      "%AC": "\xAC",
-      "%ad": "\xAD",
-      "%Ad": "\xAD",
-      "%aD": "\xAD",
-      "%AD": "\xAD",
-      "%ae": "\xAE",
-      "%Ae": "\xAE",
-      "%aE": "\xAE",
-      "%AE": "\xAE",
-      "%af": "\xAF",
-      "%Af": "\xAF",
-      "%aF": "\xAF",
-      "%AF": "\xAF",
-      "%b0": "\xB0",
-      "%B0": "\xB0",
-      "%b1": "\xB1",
-      "%B1": "\xB1",
-      "%b2": "\xB2",
-      "%B2": "\xB2",
-      "%b3": "\xB3",
-      "%B3": "\xB3",
-      "%b4": "\xB4",
-      "%B4": "\xB4",
-      "%b5": "\xB5",
-      "%B5": "\xB5",
-      "%b6": "\xB6",
-      "%B6": "\xB6",
-      "%b7": "\xB7",
-      "%B7": "\xB7",
-      "%b8": "\xB8",
-      "%B8": "\xB8",
-      "%b9": "\xB9",
-      "%B9": "\xB9",
-      "%ba": "\xBA",
-      "%Ba": "\xBA",
-      "%bA": "\xBA",
-      "%BA": "\xBA",
-      "%bb": "\xBB",
-      "%Bb": "\xBB",
-      "%bB": "\xBB",
-      "%BB": "\xBB",
-      "%bc": "\xBC",
-      "%Bc": "\xBC",
-      "%bC": "\xBC",
-      "%BC": "\xBC",
-      "%bd": "\xBD",
-      "%Bd": "\xBD",
-      "%bD": "\xBD",
-      "%BD": "\xBD",
-      "%be": "\xBE",
-      "%Be": "\xBE",
-      "%bE": "\xBE",
-      "%BE": "\xBE",
-      "%bf": "\xBF",
-      "%Bf": "\xBF",
-      "%bF": "\xBF",
-      "%BF": "\xBF",
-      "%c0": "\xC0",
-      "%C0": "\xC0",
-      "%c1": "\xC1",
-      "%C1": "\xC1",
-      "%c2": "\xC2",
-      "%C2": "\xC2",
-      "%c3": "\xC3",
-      "%C3": "\xC3",
-      "%c4": "\xC4",
-      "%C4": "\xC4",
-      "%c5": "\xC5",
-      "%C5": "\xC5",
-      "%c6": "\xC6",
-      "%C6": "\xC6",
-      "%c7": "\xC7",
-      "%C7": "\xC7",
-      "%c8": "\xC8",
-      "%C8": "\xC8",
-      "%c9": "\xC9",
-      "%C9": "\xC9",
-      "%ca": "\xCA",
-      "%Ca": "\xCA",
-      "%cA": "\xCA",
-      "%CA": "\xCA",
-      "%cb": "\xCB",
-      "%Cb": "\xCB",
-      "%cB": "\xCB",
-      "%CB": "\xCB",
-      "%cc": "\xCC",
-      "%Cc": "\xCC",
-      "%cC": "\xCC",
-      "%CC": "\xCC",
-      "%cd": "\xCD",
-      "%Cd": "\xCD",
-      "%cD": "\xCD",
-      "%CD": "\xCD",
-      "%ce": "\xCE",
-      "%Ce": "\xCE",
-      "%cE": "\xCE",
-      "%CE": "\xCE",
-      "%cf": "\xCF",
-      "%Cf": "\xCF",
-      "%cF": "\xCF",
-      "%CF": "\xCF",
-      "%d0": "\xD0",
-      "%D0": "\xD0",
-      "%d1": "\xD1",
-      "%D1": "\xD1",
-      "%d2": "\xD2",
-      "%D2": "\xD2",
-      "%d3": "\xD3",
-      "%D3": "\xD3",
-      "%d4": "\xD4",
-      "%D4": "\xD4",
-      "%d5": "\xD5",
-      "%D5": "\xD5",
-      "%d6": "\xD6",
-      "%D6": "\xD6",
-      "%d7": "\xD7",
-      "%D7": "\xD7",
-      "%d8": "\xD8",
-      "%D8": "\xD8",
-      "%d9": "\xD9",
-      "%D9": "\xD9",
-      "%da": "\xDA",
-      "%Da": "\xDA",
-      "%dA": "\xDA",
-      "%DA": "\xDA",
-      "%db": "\xDB",
-      "%Db": "\xDB",
-      "%dB": "\xDB",
-      "%DB": "\xDB",
-      "%dc": "\xDC",
-      "%Dc": "\xDC",
-      "%dC": "\xDC",
-      "%DC": "\xDC",
-      "%dd": "\xDD",
-      "%Dd": "\xDD",
-      "%dD": "\xDD",
-      "%DD": "\xDD",
-      "%de": "\xDE",
-      "%De": "\xDE",
-      "%dE": "\xDE",
-      "%DE": "\xDE",
-      "%df": "\xDF",
-      "%Df": "\xDF",
-      "%dF": "\xDF",
-      "%DF": "\xDF",
-      "%e0": "\xE0",
-      "%E0": "\xE0",
-      "%e1": "\xE1",
-      "%E1": "\xE1",
-      "%e2": "\xE2",
-      "%E2": "\xE2",
-      "%e3": "\xE3",
-      "%E3": "\xE3",
-      "%e4": "\xE4",
-      "%E4": "\xE4",
-      "%e5": "\xE5",
-      "%E5": "\xE5",
-      "%e6": "\xE6",
-      "%E6": "\xE6",
-      "%e7": "\xE7",
-      "%E7": "\xE7",
-      "%e8": "\xE8",
-      "%E8": "\xE8",
-      "%e9": "\xE9",
-      "%E9": "\xE9",
-      "%ea": "\xEA",
-      "%Ea": "\xEA",
-      "%eA": "\xEA",
-      "%EA": "\xEA",
-      "%eb": "\xEB",
-      "%Eb": "\xEB",
-      "%eB": "\xEB",
-      "%EB": "\xEB",
-      "%ec": "\xEC",
-      "%Ec": "\xEC",
-      "%eC": "\xEC",
-      "%EC": "\xEC",
-      "%ed": "\xED",
-      "%Ed": "\xED",
-      "%eD": "\xED",
-      "%ED": "\xED",
-      "%ee": "\xEE",
-      "%Ee": "\xEE",
-      "%eE": "\xEE",
-      "%EE": "\xEE",
-      "%ef": "\xEF",
-      "%Ef": "\xEF",
-      "%eF": "\xEF",
-      "%EF": "\xEF",
-      "%f0": "\xF0",
-      "%F0": "\xF0",
-      "%f1": "\xF1",
-      "%F1": "\xF1",
-      "%f2": "\xF2",
-      "%F2": "\xF2",
-      "%f3": "\xF3",
-      "%F3": "\xF3",
-      "%f4": "\xF4",
-      "%F4": "\xF4",
-      "%f5": "\xF5",
-      "%F5": "\xF5",
-      "%f6": "\xF6",
-      "%F6": "\xF6",
-      "%f7": "\xF7",
-      "%F7": "\xF7",
-      "%f8": "\xF8",
-      "%F8": "\xF8",
-      "%f9": "\xF9",
-      "%F9": "\xF9",
-      "%fa": "\xFA",
-      "%Fa": "\xFA",
-      "%fA": "\xFA",
-      "%FA": "\xFA",
-      "%fb": "\xFB",
-      "%Fb": "\xFB",
-      "%fB": "\xFB",
-      "%FB": "\xFB",
-      "%fc": "\xFC",
-      "%Fc": "\xFC",
-      "%fC": "\xFC",
-      "%FC": "\xFC",
-      "%fd": "\xFD",
-      "%Fd": "\xFD",
-      "%fD": "\xFD",
-      "%FD": "\xFD",
-      "%fe": "\xFE",
-      "%Fe": "\xFE",
-      "%fE": "\xFE",
-      "%FE": "\xFE",
-      "%ff": "\xFF",
-      "%Ff": "\xFF",
-      "%fF": "\xFF",
-      "%FF": "\xFF"
-    };
-    function encodedReplacer(match) {
-      return EncodedLookup[match];
-    }
-    var STATE_KEY = 0;
-    var STATE_VALUE = 1;
-    var STATE_CHARSET = 2;
-    var STATE_LANG = 3;
-    function parseParams(str2) {
-      const res = [];
-      let state = STATE_KEY;
-      let charset = "";
-      let inquote = false;
-      let escaping = false;
-      let p = 0;
-      let tmp = "";
-      const len = str2.length;
-      for (var i = 0; i < len; ++i) {
-        const char = str2[i];
-        if (char === "\\" && inquote) {
-          if (escaping) {
-            escaping = false;
-          } else {
-            escaping = true;
-            continue;
-          }
-        } else if (char === '"') {
-          if (!escaping) {
-            if (inquote) {
-              inquote = false;
-              state = STATE_KEY;
-            } else {
-              inquote = true;
+      let headerName = headerNameLowerCasedRecord[key];
+      if (headerName === void 0) {
+        headerName = key.toLowerCase();
+        if (headerNameLowerCasedRecord[headerName] === void 0 && !isValidHTTPToken(headerName)) {
+          throw new InvalidArgumentError("invalid header key");
+        }
+      }
+      if (Array.isArray(val)) {
+        const arr = [];
+        for (let i = 0; i < val.length; i++) {
+          if (typeof val[i] === "string") {
+            if (!isValidHeaderValue(val[i])) {
+              throw new InvalidArgumentError(`invalid ${key} header`);
             }
-            continue;
+            arr.push(val[i]);
+          } else if (val[i] === null) {
+            arr.push("");
+          } else if (typeof val[i] === "object") {
+            throw new InvalidArgumentError(`invalid ${key} header`);
           } else {
-            escaping = false;
-          }
-        } else {
-          if (escaping && inquote) {
-            tmp += "\\";
-          }
-          escaping = false;
-          if ((state === STATE_CHARSET || state === STATE_LANG) && char === "'") {
-            if (state === STATE_CHARSET) {
-              state = STATE_LANG;
-              charset = tmp.substring(1);
-            } else {
-              state = STATE_VALUE;
-            }
-            tmp = "";
-            continue;
-          } else if (state === STATE_KEY && (char === "*" || char === "=") && res.length) {
-            state = char === "*" ? STATE_CHARSET : STATE_VALUE;
-            res[p] = [tmp, void 0];
-            tmp = "";
-            continue;
-          } else if (!inquote && char === ";") {
-            state = STATE_KEY;
-            if (charset) {
-              if (tmp.length) {
-                tmp = decodeText(
-                  tmp.replace(RE_ENCODED, encodedReplacer),
-                  "binary",
-                  charset
-                );
-              }
-              charset = "";
-            } else if (tmp.length) {
-              tmp = decodeText(tmp, "binary", "utf8");
-            }
-            if (res[p] === void 0) {
-              res[p] = tmp;
-            } else {
-              res[p][1] = tmp;
-            }
-            tmp = "";
-            ++p;
-            continue;
-          } else if (!inquote && (char === " " || char === "	")) {
-            continue;
+            arr.push(`${val[i]}`);
           }
         }
-        tmp += char;
-      }
-      if (charset && tmp.length) {
-        tmp = decodeText(
-          tmp.replace(RE_ENCODED, encodedReplacer),
-          "binary",
-          charset
-        );
-      } else if (tmp) {
-        tmp = decodeText(tmp, "binary", "utf8");
-      }
-      if (res[p] === void 0) {
-        if (tmp) {
-          res[p] = tmp;
+        val = arr;
+      } else if (typeof val === "string") {
+        if (!isValidHeaderValue(val)) {
+          throw new InvalidArgumentError(`invalid ${key} header`);
         }
+      } else if (val === null) {
+        val = "";
       } else {
-        res[p][1] = tmp;
-      }
-      return res;
-    }
-    module2.exports = parseParams;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/basename.js
-var require_basename = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/basename.js"(exports2, module2) {
-    "use strict";
-    module2.exports = function basename(path8) {
-      if (typeof path8 !== "string") {
-        return "";
+        val = `${val}`;
       }
-      for (var i = path8.length - 1; i >= 0; --i) {
-        switch (path8.charCodeAt(i)) {
-          case 47:
-          // '/'
-          case 92:
-            path8 = path8.slice(i + 1);
-            return path8 === ".." || path8 === "." ? "" : path8;
+      if (request2.host === null && headerName === "host") {
+        if (typeof val !== "string") {
+          throw new InvalidArgumentError("invalid host header");
         }
-      }
-      return path8 === ".." || path8 === "." ? "" : path8;
-    };
-  }
-});
-
-// node_modules/@fastify/busboy/lib/types/multipart.js
-var require_multipart = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/multipart.js"(exports2, module2) {
-    "use strict";
-    var { Readable: Readable2 } = require("node:stream");
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var parseParams = require_parseParams();
-    var decodeText = require_decodeText();
-    var basename = require_basename();
-    var getLimit = require_getLimit();
-    var RE_BOUNDARY = /^boundary$/i;
-    var RE_FIELD = /^form-data$/i;
-    var RE_CHARSET = /^charset$/i;
-    var RE_FILENAME = /^filename$/i;
-    var RE_NAME = /^name$/i;
-    Multipart.detect = /^multipart\/form-data/i;
-    function Multipart(boy, cfg) {
-      let i;
-      let len;
-      const self2 = this;
-      let boundary;
-      const limits = cfg.limits;
-      const isPartAFile = cfg.isPartAFile || ((fieldName, contentType, fileName) => contentType === "application/octet-stream" || fileName !== void 0);
-      const parsedConType = cfg.parsedConType || [];
-      const defCharset = cfg.defCharset || "utf8";
-      const preservePath = cfg.preservePath;
-      const fileOpts = { highWaterMark: cfg.fileHwm };
-      for (i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_BOUNDARY.test(parsedConType[i][0])) {
-          boundary = parsedConType[i][1];
-          break;
+        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");
         }
-      }
-      function checkFinished() {
-        if (nends === 0 && finished && !boy._done) {
-          finished = false;
-          self2.end();
+      } 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 (typeof boundary !== "string") {
-        throw new Error("Multipart: Boundary not found");
-      }
-      const fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      const fileSizeLimit = getLimit(limits, "fileSize", Infinity);
-      const filesLimit = getLimit(limits, "files", Infinity);
-      const fieldsLimit = getLimit(limits, "fields", Infinity);
-      const partsLimit = getLimit(limits, "parts", Infinity);
-      const headerPairsLimit = getLimit(limits, "headerPairs", 2e3);
-      const headerSizeLimit = getLimit(limits, "headerSize", 80 * 1024);
-      let nfiles = 0;
-      let nfields = 0;
-      let nends = 0;
-      let curFile;
-      let curField;
-      let finished = false;
-      this._needDrain = false;
-      this._pause = false;
-      this._cb = void 0;
-      this._nparts = 0;
-      this._boy = boy;
-      const parserCfg = {
-        boundary,
-        maxHeaderPairs: headerPairsLimit,
-        maxHeaderSize: headerSizeLimit,
-        partHwm: fileOpts.highWaterMark,
-        highWaterMark: cfg.highWaterMark
-      };
-      this.parser = new Dicer(parserCfg);
-      this.parser.on("drain", function() {
-        self2._needDrain = false;
-        if (self2._cb && !self2._pause) {
-          const cb = self2._cb;
-          self2._cb = void 0;
-          cb();
+        if (value === "close") {
+          request2.reset = true;
         }
-      }).on("part", function onPart(part) {
-        if (++self2._nparts > partsLimit) {
-          self2.parser.removeListener("part", onPart);
-          self2.parser.on("part", skipPart);
-          boy.hitPartsLimit = true;
-          boy.emit("partsLimit");
-          return skipPart(part);
-        }
-        if (curField) {
-          const field = curField;
-          field.emit("end");
-          field.removeAllListeners("end");
-        }
-        part.on("header", function(header) {
-          let contype;
-          let fieldname;
-          let parsed;
-          let charset;
-          let encoding;
-          let filename;
-          let nsize = 0;
-          if (header["content-type"]) {
-            parsed = parseParams(header["content-type"][0]);
-            if (parsed[0]) {
-              contype = parsed[0].toLowerCase();
-              for (i = 0, len = parsed.length; i < len; ++i) {
-                if (RE_CHARSET.test(parsed[i][0])) {
-                  charset = parsed[i][1].toLowerCase();
-                  break;
-                }
-              }
-            }
-          }
-          if (contype === void 0) {
-            contype = "text/plain";
-          }
-          if (charset === void 0) {
-            charset = defCharset;
-          }
-          if (header["content-disposition"]) {
-            parsed = parseParams(header["content-disposition"][0]);
-            if (!RE_FIELD.test(parsed[0])) {
-              return skipPart(part);
-            }
-            for (i = 0, len = parsed.length; i < len; ++i) {
-              if (RE_NAME.test(parsed[i][0])) {
-                fieldname = parsed[i][1];
-              } else if (RE_FILENAME.test(parsed[i][0])) {
-                filename = parsed[i][1];
-                if (!preservePath) {
-                  filename = basename(filename);
-                }
-              }
-            }
-          } else {
-            return skipPart(part);
-          }
-          if (header["content-transfer-encoding"]) {
-            encoding = header["content-transfer-encoding"][0].toLowerCase();
-          } else {
-            encoding = "7bit";
-          }
-          let onData, onEnd;
-          if (isPartAFile(fieldname, contype, filename)) {
-            if (nfiles === filesLimit) {
-              if (!boy.hitFilesLimit) {
-                boy.hitFilesLimit = true;
-                boy.emit("filesLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfiles;
-            if (boy.listenerCount("file") === 0) {
-              self2.parser._ignore();
-              return;
-            }
-            ++nends;
-            const file = new FileStream(fileOpts);
-            curFile = file;
-            file.on("end", function() {
-              --nends;
-              self2._pause = false;
-              checkFinished();
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            });
-            file._read = function(n) {
-              if (!self2._pause) {
-                return;
-              }
-              self2._pause = false;
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            };
-            boy.emit("file", fieldname, file, filename, encoding, contype);
-            onData = function(data) {
-              if ((nsize += data.length) > fileSizeLimit) {
-                const extralen = fileSizeLimit - nsize + data.length;
-                if (extralen > 0) {
-                  file.push(data.slice(0, extralen));
-                }
-                file.truncated = true;
-                file.bytesRead = fileSizeLimit;
-                part.removeAllListeners("data");
-                file.emit("limit");
-                return;
-              } else if (!file.push(data)) {
-                self2._pause = true;
-              }
-              file.bytesRead = nsize;
-            };
-            onEnd = function() {
-              curFile = void 0;
-              file.push(null);
-            };
-          } else {
-            if (nfields === fieldsLimit) {
-              if (!boy.hitFieldsLimit) {
-                boy.hitFieldsLimit = true;
-                boy.emit("fieldsLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfields;
-            ++nends;
-            let buffer = "";
-            let truncated = false;
-            curField = part;
-            onData = function(data) {
-              if ((nsize += data.length) > fieldSizeLimit) {
-                const extralen = fieldSizeLimit - (nsize - data.length);
-                buffer += data.toString("binary", 0, extralen);
-                truncated = true;
-                part.removeAllListeners("data");
-              } else {
-                buffer += data.toString("binary");
-              }
-            };
-            onEnd = function() {
-              curField = void 0;
-              if (buffer.length) {
-                buffer = decodeText(buffer, "binary", charset);
-              }
-              boy.emit("field", fieldname, buffer, false, truncated, encoding, contype);
-              --nends;
-              checkFinished();
-            };
-          }
-          part._readableState.sync = false;
-          part.on("data", onData);
-          part.on("end", onEnd);
-        }).on("error", function(err) {
-          if (curFile) {
-            curFile.emit("error", err);
-          }
-        });
-      }).on("error", function(err) {
-        boy.emit("error", err);
-      }).on("finish", function() {
-        finished = true;
-        checkFinished();
-      });
-    }
-    Multipart.prototype.write = function(chunk, cb) {
-      const r = this.parser.write(chunk);
-      if (r && !this._pause) {
-        cb();
+      } else if (headerName === "expect") {
+        throw new NotSupportedError("expect header not supported");
       } else {
-        this._needDrain = !r;
-        this._cb = cb;
-      }
-    };
-    Multipart.prototype.end = function() {
-      const self2 = this;
-      if (self2.parser.writable) {
-        self2.parser.end();
-      } else if (!self2._boy._done) {
-        process.nextTick(function() {
-          self2._boy._done = true;
-          self2._boy.emit("finish");
-        });
+        request2.headers.push(key, val);
       }
-    };
-    function skipPart(part) {
-      part.resume();
-    }
-    function FileStream(opts) {
-      Readable2.call(this, opts);
-      this.bytesRead = 0;
-      this.truncated = false;
     }
-    inherits(FileStream, Readable2);
-    FileStream.prototype._read = function(n) {
-    };
-    module2.exports = Multipart;
+    module2.exports = Request;
   }
 });
 
-// node_modules/@fastify/busboy/lib/utils/Decoder.js
-var require_Decoder = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/Decoder.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js
+var require_dispatcher2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js"(exports2, module2) {
     "use strict";
-    var RE_PLUS = /\+/g;
-    var HEX = [
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0
-    ];
-    function Decoder() {
-      this.buffer = void 0;
-    }
-    Decoder.prototype.write = function(str2) {
-      str2 = str2.replace(RE_PLUS, " ");
-      let res = "";
-      let i = 0;
-      let p = 0;
-      const len = str2.length;
-      for (; i < len; ++i) {
-        if (this.buffer !== void 0) {
-          if (!HEX[str2.charCodeAt(i)]) {
-            res += "%" + this.buffer;
-            this.buffer = void 0;
-            --i;
-          } else {
-            this.buffer += str2[i];
-            ++p;
-            if (this.buffer.length === 2) {
-              res += String.fromCharCode(parseInt(this.buffer, 16));
-              this.buffer = void 0;
-            }
-          }
-        } else if (str2[i] === "%") {
-          if (i > p) {
-            res += str2.substring(p, i);
-            p = i;
-          }
-          this.buffer = "";
-          ++p;
-        }
+    var EventEmitter = require("node:events");
+    var Dispatcher = class extends EventEmitter {
+      dispatch() {
+        throw new Error("not implemented");
       }
-      if (p < len && this.buffer === void 0) {
-        res += str2.substring(p);
+      close() {
+        throw new Error("not implemented");
       }
-      return res;
-    };
-    Decoder.prototype.reset = function() {
-      this.buffer = void 0;
-    };
-    module2.exports = Decoder;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/types/urlencoded.js
-var require_urlencoded = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/urlencoded.js"(exports2, module2) {
-    "use strict";
-    var Decoder = require_Decoder();
-    var decodeText = require_decodeText();
-    var getLimit = require_getLimit();
-    var RE_CHARSET = /^charset$/i;
-    UrlEncoded.detect = /^application\/x-www-form-urlencoded/i;
-    function UrlEncoded(boy, cfg) {
-      const limits = cfg.limits;
-      const parsedConType = cfg.parsedConType;
-      this.boy = boy;
-      this.fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      this.fieldNameSizeLimit = getLimit(limits, "fieldNameSize", 100);
-      this.fieldsLimit = getLimit(limits, "fields", Infinity);
-      let charset;
-      for (var i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_CHARSET.test(parsedConType[i][0])) {
-          charset = parsedConType[i][1].toLowerCase();
-          break;
-        }
+      destroy() {
+        throw new Error("not implemented");
       }
-      if (charset === void 0) {
-        charset = cfg.defCharset || "utf8";
-      }
-      this.decoder = new Decoder();
-      this.charset = charset;
-      this._fields = 0;
-      this._state = "key";
-      this._checkingBytes = true;
-      this._bytesKey = 0;
-      this._bytesVal = 0;
-      this._key = "";
-      this._val = "";
-      this._keyTrunc = false;
-      this._valTrunc = false;
-      this._hitLimit = false;
-    }
-    UrlEncoded.prototype.write = function(data, cb) {
-      if (this._fields === this.fieldsLimit) {
-        if (!this.boy.hitFieldsLimit) {
-          this.boy.hitFieldsLimit = true;
-          this.boy.emit("fieldsLimit");
-        }
-        return cb();
-      }
-      let idxeq;
-      let idxamp;
-      let i;
-      let p = 0;
-      const len = data.length;
-      while (p < len) {
-        if (this._state === "key") {
-          idxeq = idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 61) {
-              idxeq = i;
-              break;
-            } else if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesKey === this.fieldNameSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesKey;
-            }
-          }
-          if (idxeq !== void 0) {
-            if (idxeq > p) {
-              this._key += this.decoder.write(data.toString("binary", p, idxeq));
-            }
-            this._state = "val";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._val = "";
-            this._bytesVal = 0;
-            this._valTrunc = false;
-            this.decoder.reset();
-            p = idxeq + 1;
-          } else if (idxamp !== void 0) {
-            ++this._fields;
-            let key;
-            const keyTrunc = this._keyTrunc;
-            if (idxamp > p) {
-              key = this._key += this.decoder.write(data.toString("binary", p, idxamp));
-            } else {
-              key = this._key;
-            }
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            if (key.length) {
-              this.boy.emit(
-                "field",
-                decodeText(key, "binary", this.charset),
-                "",
-                keyTrunc,
-                false
-              );
-            }
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._key += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if ((this._bytesKey = this._key.length) === this.fieldNameSizeLimit) {
-              this._checkingBytes = false;
-              this._keyTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._key += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+      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;
           }
-        } else {
-          idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesVal === this.fieldSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesVal;
-            }
+          if (typeof interceptor !== "function") {
+            throw new TypeError(`invalid interceptor, expected function received ${typeof interceptor}`);
           }
-          if (idxamp !== void 0) {
-            ++this._fields;
-            if (idxamp > p) {
-              this._val += this.decoder.write(data.toString("binary", p, idxamp));
-            }
-            this.boy.emit(
-              "field",
-              decodeText(this._key, "binary", this.charset),
-              decodeText(this._val, "binary", this.charset),
-              this._keyTrunc,
-              this._valTrunc
-            );
-            this._state = "key";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._val += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if (this._val === "" && this.fieldSizeLimit === 0 || (this._bytesVal = this._val.length) === this.fieldSizeLimit) {
-              this._checkingBytes = false;
-              this._valTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._val += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+          dispatch = interceptor(dispatch);
+          if (dispatch == null || typeof dispatch !== "function" || dispatch.length !== 2) {
+            throw new TypeError("invalid interceptor");
           }
         }
+        return new ComposedDispatcher(this, dispatch);
       }
-      cb();
     };
-    UrlEncoded.prototype.end = function() {
-      if (this.boy._done) {
-        return;
+    var ComposedDispatcher = class extends Dispatcher {
+      #dispatcher = null;
+      #dispatch = null;
+      constructor(dispatcher, dispatch) {
+        super();
+        this.#dispatcher = dispatcher;
+        this.#dispatch = dispatch;
       }
-      if (this._state === "key" && this._key.length > 0) {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          "",
-          this._keyTrunc,
-          false
-        );
-      } else if (this._state === "val") {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          decodeText(this._val, "binary", this.charset),
-          this._keyTrunc,
-          this._valTrunc
-        );
+      dispatch(...args) {
+        this.#dispatch(...args);
+      }
+      close(...args) {
+        return this.#dispatcher.close(...args);
+      }
+      destroy(...args) {
+        return this.#dispatcher.destroy(...args);
       }
-      this.boy._done = true;
-      this.boy.emit("finish");
     };
-    module2.exports = UrlEncoded;
+    module2.exports = Dispatcher;
   }
 });
 
-// node_modules/@fastify/busboy/lib/main.js
-var require_main = __commonJS({
-  "node_modules/@fastify/busboy/lib/main.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js
+var require_dispatcher_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js"(exports2, module2) {
     "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var MultipartParser = require_multipart();
-    var UrlencodedParser = require_urlencoded();
-    var parseParams = require_parseParams();
-    function Busboy(opts) {
-      if (!(this instanceof Busboy)) {
-        return new Busboy(opts);
+    var Dispatcher = require_dispatcher2();
+    var {
+      ClientDestroyedError,
+      ClientClosedError,
+      InvalidArgumentError
+    } = require_errors2();
+    var { kDestroy, kClose, kClosed, kDestroyed, kDispatch, kInterceptors } = require_symbols6();
+    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
+    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
+    var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
+    var DispatcherBase = class extends Dispatcher {
+      constructor() {
+        super();
+        this[kDestroyed] = false;
+        this[kOnDestroyed] = null;
+        this[kClosed] = false;
+        this[kOnClosed] = [];
       }
-      if (typeof opts !== "object") {
-        throw new TypeError("Busboy expected an options-Object.");
+      get destroyed() {
+        return this[kDestroyed];
       }
-      if (typeof opts.headers !== "object") {
-        throw new TypeError("Busboy expected an options-Object with headers-attribute.");
+      get closed() {
+        return this[kClosed];
       }
-      if (typeof opts.headers["content-type"] !== "string") {
-        throw new TypeError("Missing Content-Type-header.");
+      get interceptors() {
+        return this[kInterceptors];
       }
-      const {
-        headers,
-        ...streamOptions
-      } = opts;
-      this.opts = {
-        autoDestroy: false,
-        ...streamOptions
-      };
-      WritableStream.call(this, this.opts);
-      this._done = false;
-      this._parser = this.getParserByHeaders(headers);
-      this._finished = false;
-    }
-    inherits(Busboy, WritableStream);
-    Busboy.prototype.emit = function(ev) {
-      if (ev === "finish") {
-        if (!this._done) {
-          this._parser?.end();
+      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");
+            }
+          }
+        }
+        this[kInterceptors] = newInterceptors;
+      }
+      close(callback) {
+        if (callback === void 0) {
+          return new Promise((resolve4, reject) => {
+            this.close((err, data) => {
+              return err ? reject(err) : resolve4(data);
+            });
+          });
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        if (this[kDestroyed]) {
+          queueMicrotask(() => callback(new ClientDestroyedError(), null));
           return;
-        } else if (this._finished) {
+        }
+        if (this[kClosed]) {
+          if (this[kOnClosed]) {
+            this[kOnClosed].push(callback);
+          } else {
+            queueMicrotask(() => callback(null, null));
+          }
           return;
         }
-        this._finished = true;
-      }
-      WritableStream.prototype.emit.apply(this, arguments);
-    };
-    Busboy.prototype.getParserByHeaders = function(headers) {
-      const parsed = parseParams(headers["content-type"]);
-      const cfg = {
-        defCharset: this.opts.defCharset,
-        fileHwm: this.opts.fileHwm,
-        headers,
-        highWaterMark: this.opts.highWaterMark,
-        isPartAFile: this.opts.isPartAFile,
-        limits: this.opts.limits,
-        parsedConType: parsed,
-        preservePath: this.opts.preservePath
-      };
-      if (MultipartParser.detect.test(parsed[0])) {
-        return new MultipartParser(this, cfg);
+        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);
+        });
       }
-      if (UrlencodedParser.detect.test(parsed[0])) {
-        return new UrlencodedParser(this, cfg);
+      destroy(err, callback) {
+        if (typeof err === "function") {
+          callback = err;
+          err = null;
+        }
+        if (callback === void 0) {
+          return new Promise((resolve4, reject) => {
+            this.destroy(err, (err2, data) => {
+              return err2 ? (
+                /* istanbul ignore next: should never error */
+                reject(err2)
+              ) : resolve4(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;
+        }
       }
-      throw new Error("Unsupported Content-Type.");
-    };
-    Busboy.prototype._write = function(chunk, encoding, cb) {
-      this._parser.write(chunk, cb);
     };
-    module2.exports = Busboy;
-    module2.exports.default = Busboy;
-    module2.exports.Busboy = Busboy;
-    module2.exports.Dicer = Dicer;
+    module2.exports = DispatcherBase;
   }
 });
 
-// node_modules/undici/lib/fetch/constants.js
-var require_constants7 = __commonJS({
-  "node_modules/undici/lib/fetch/constants.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/util/timers.js
+var require_timers2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/util/timers.js"(exports2, module2) {
     "use strict";
-    var { MessageChannel, receiveMessageOnPort } = require("worker_threads");
-    var corsSafeListedMethods = ["GET", "HEAD", "POST"];
-    var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
-    var nullBodyStatus = [101, 204, 205, 304];
-    var redirectStatus = [301, 302, 303, 307, 308];
-    var redirectStatusSet = new Set(redirectStatus);
-    var badPorts = [
-      "1",
-      "7",
-      "9",
-      "11",
-      "13",
-      "15",
-      "17",
-      "19",
-      "20",
-      "21",
-      "22",
-      "23",
-      "25",
-      "37",
-      "42",
-      "43",
-      "53",
-      "69",
-      "77",
-      "79",
-      "87",
-      "95",
-      "101",
-      "102",
-      "103",
-      "104",
-      "109",
-      "110",
-      "111",
-      "113",
-      "115",
-      "117",
-      "119",
-      "123",
-      "135",
-      "137",
-      "139",
-      "143",
-      "161",
-      "179",
-      "389",
-      "427",
-      "465",
-      "512",
-      "513",
-      "514",
-      "515",
-      "526",
-      "530",
-      "531",
-      "532",
-      "540",
-      "548",
-      "554",
-      "556",
-      "563",
-      "587",
-      "601",
-      "636",
-      "989",
-      "990",
-      "993",
-      "995",
-      "1719",
-      "1720",
-      "1723",
-      "2049",
-      "3659",
-      "4045",
-      "5060",
-      "5061",
-      "6000",
-      "6566",
-      "6665",
-      "6666",
-      "6667",
-      "6668",
-      "6669",
-      "6697",
-      "10080"
-    ];
-    var badPortsSet = new Set(badPorts);
-    var referrerPolicy = [
-      "",
-      "no-referrer",
-      "no-referrer-when-downgrade",
-      "same-origin",
-      "origin",
-      "strict-origin",
-      "origin-when-cross-origin",
-      "strict-origin-when-cross-origin",
-      "unsafe-url"
-    ];
-    var referrerPolicySet = new Set(referrerPolicy);
-    var requestRedirect = ["follow", "manual", "error"];
-    var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"];
-    var safeMethodsSet = new Set(safeMethods);
-    var requestMode = ["navigate", "same-origin", "no-cors", "cors"];
-    var requestCredentials = ["omit", "same-origin", "include"];
-    var requestCache = [
-      "default",
-      "no-store",
-      "reload",
-      "no-cache",
-      "force-cache",
-      "only-if-cached"
-    ];
-    var requestBodyHeader = [
-      "content-encoding",
-      "content-language",
-      "content-location",
-      "content-type",
-      // See https://github.com/nodejs/undici/issues/2021
-      // 'Content-Length' is a forbidden header name, which is typically
-      // removed in the Headers implementation. However, undici doesn't
-      // filter out headers, so we add it here.
-      "content-length"
-    ];
-    var requestDuplex = [
-      "half"
-    ];
-    var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"];
-    var forbiddenMethodsSet = new Set(forbiddenMethods);
-    var subresource = [
-      "audio",
-      "audioworklet",
-      "font",
-      "image",
-      "manifest",
-      "paintworklet",
-      "script",
-      "style",
-      "track",
-      "video",
-      "xslt",
-      ""
-    ];
-    var subresourceSet = new Set(subresource);
-    var DOMException2 = globalThis.DOMException ?? (() => {
-      try {
-        atob("~");
-      } catch (err) {
-        return Object.getPrototypeOf(err).constructor;
+    var fastNow = 0;
+    var RESOLUTION_MS = 1e3;
+    var TICK_MS = (RESOLUTION_MS >> 1) - 1;
+    var fastNowTimeout;
+    var kFastTimer = /* @__PURE__ */ 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;
+        }
       }
-    })();
-    var channel;
-    var structuredClone = globalThis.structuredClone ?? // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js
-    // structuredClone was added in v17.0.0, but fetch supports v16.8
-    function structuredClone2(value, options = void 0) {
-      if (arguments.length === 0) {
-        throw new TypeError("missing argument");
+      fastTimers.length = len;
+      if (fastTimers.length !== 0) {
+        refreshTimeout();
       }
-      if (!channel) {
-        channel = new MessageChannel();
+    }
+    function refreshTimeout() {
+      if (fastNowTimeout) {
+        fastNowTimeout.refresh();
+      } else {
+        clearTimeout(fastNowTimeout);
+        fastNowTimeout = setTimeout(onTick, TICK_MS);
+        if (fastNowTimeout.unref) {
+          fastNowTimeout.unref();
+        }
       }
-      channel.port1.unref();
-      channel.port2.unref();
-      channel.port1.postMessage(value, options?.transfer);
-      return receiveMessageOnPort(channel.port2).message;
-    };
-    module2.exports = {
-      DOMException: DOMException2,
-      structuredClone,
-      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/fetch/global.js
-var require_global3 = __commonJS({
-  "node_modules/undici/lib/fetch/global.js"(exports2, module2) {
-    "use strict";
-    var globalOrigin = /* @__PURE__ */ 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;
+    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, delay2, arg) {
+        this._onTimeout = callback;
+        this._idleTimeout = delay2;
+        this._timerArg = arg;
+        this.refresh();
       }
-      const parsedURL = new URL(newOrigin);
-      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
-        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
+      /**
+       * 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;
       }
-      Object.defineProperty(globalThis, globalOrigin, {
-        value: parsedURL,
-        writable: true,
-        enumerable: false,
-        configurable: false
-      });
-    }
+      /**
+       * The `clear` method cancels the timer, preventing it from executing.
+       *
+       * @returns {void}
+       * @private
+       */
+      clear() {
+        this._state = TO_BE_CLEARED;
+        this._idleStart = -1;
+      }
+    };
     module2.exports = {
-      getGlobalOrigin,
-      setGlobalOrigin
+      /**
+       * 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, delay2, arg) {
+        return delay2 <= RESOLUTION_MS ? setTimeout(callback, delay2, arg) : new FastTimer(callback, delay2, 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, delay2, arg) {
+        return new FastTimer(callback, delay2, 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(delay2 = 0) {
+        fastNow += delay2 - 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/undici/lib/fetch/util.js
-var require_util10 = __commonJS({
-  "node_modules/undici/lib/fetch/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/connect.js
+var require_connect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/connect.js"(exports2, module2) {
     "use strict";
-    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants7();
-    var { getGlobalOrigin } = require_global3();
-    var { performance: performance3 } = require("perf_hooks");
-    var { isBlobLike, toUSVString, ReadableStreamFrom } = require_util9();
-    var assert = require("assert");
-    var { isUint8Array } = require("util/types");
-    var supportedHashes = [];
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
-      supportedHashes = crypto2.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");
-      if (location !== null && isValidHeaderValue(location)) {
-        location = new URL(location, responseURL(response));
-      }
-      if (location && !location.hash) {
-        location.hash = requestFragment;
-      }
-      return location;
-    }
-    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");
+    var net = require("node:net");
+    var assert = require("node:assert");
+    var util = require_util9();
+    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
+    var timers = require_timers2();
+    function noop3() {
     }
-    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;
+    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);
+            }
+          });
         }
-      }
-      return true;
-    }
-    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;
-      }
-    }
-    function isValidHTTPToken(characters) {
-      if (characters.length === 0) {
-        return false;
-      }
-      for (let i = 0; i < characters.length; ++i) {
-        if (!isTokenCharCode(characters.charCodeAt(i))) {
-          return false;
+        get(sessionKey) {
+          const ref = this._sessionCache.get(sessionKey);
+          return ref ? ref.deref() : null;
         }
-      }
-      return true;
-    }
-    function isValidHeaderName(potentialValue) {
-      return isValidHTTPToken(potentialValue);
-    }
-    function isValidHeaderValue(potentialValue) {
-      if (potentialValue.startsWith("	") || potentialValue.startsWith(" ") || potentialValue.endsWith("	") || potentialValue.endsWith(" ")) {
-        return false;
-      }
-      if (potentialValue.includes("\0") || potentialValue.includes("\r") || potentialValue.includes("\n")) {
-        return false;
-      }
-      return true;
-    }
-    function setRequestReferrerPolicyOnRedirect(request2, actualResponse) {
-      const { headersList } = actualResponse;
-      const policyHeader = (headersList.get("referrer-policy") ?? "").split(",");
-      let policy = "";
-      if (policyHeader.length > 0) {
-        for (let i = policyHeader.length; i !== 0; i--) {
-          const token = policyHeader[i - 1].trim();
-          if (referrerPolicyTokens.has(token)) {
-            policy = token;
-            break;
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
+          this._sessionCache.set(sessionKey, new WeakRef(session));
+          this._sessionRegistry.register(session, sessionKey);
         }
-      }
-      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);
-    }
-    function appendRequestOriginHeader(request2) {
-      let serializedOrigin = request2.origin;
-      if (request2.responseTainting === "cors" || request2.mode === "websocket") {
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
-        }
-      } 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:
-        }
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
-        }
-      }
-    }
-    function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
-      return performance3.now();
-    }
-    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";
+    } else {
+      SessionCache = class SimpleSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
         }
-        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;
+        get(sessionKey) {
+          return this._sessionCache.get(sessionKey);
+        }
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
-          if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {
-            return "no-referrer";
+          if (this._sessionCache.size >= this._maxCachedSessions) {
+            const { value: oldestKey } = this._sessionCache.keys().next();
+            this._sessionCache.delete(oldestKey);
           }
-          return referrerOrigin;
-        }
-        case "strict-origin":
-        // eslint-disable-line
-        /**
-           * 1. If referrerURL is a potentially trustworthy URL and
-           * request’s current URL is not a potentially trustworthy URL,
-           * then return no referrer.
-           * 2. Return referrerOrigin
-          */
-        case "no-referrer-when-downgrade":
-        // eslint-disable-line
-        /**
-         * 1. If referrerURL is a potentially trustworthy URL and
-         * request’s current URL is not a potentially trustworthy URL,
-         * then return no referrer.
-         * 2. Return referrerOrigin
-        */
-        default:
-          return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
-      }
-    }
-    function stripURLForReferrer(url, originOnly) {
-      assert(url instanceof URL);
-      if (url.protocol === "file:" || url.protocol === "about:" || url.protocol === "blank:") {
-        return "no-referrer";
-      }
-      url.username = "";
-      url.password = "";
-      url.hash = "";
-      if (originOnly) {
-        url.pathname = "";
-        url.search = "";
-      }
-      return url;
-    }
-    function isURLPotentiallyTrustworthy(url) {
-      if (!(url instanceof URL)) {
-        return false;
-      }
-      if (url.href === "about:blank" || url.href === "about:srcdoc") {
-        return true;
-      }
-      if (url.protocol === "data:") return true;
-      if (url.protocol === "file:") return true;
-      return isOriginPotentiallyTrustworthy(url.origin);
-      function isOriginPotentiallyTrustworthy(origin) {
-        if (origin == null || origin === "null") return false;
-        const originAsURL = new URL(origin);
-        if (originAsURL.protocol === "https:" || originAsURL.protocol === "wss:") {
-          return true;
-        }
-        if (/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(originAsURL.hostname) || (originAsURL.hostname === "localhost" || originAsURL.hostname.includes("localhost.")) || originAsURL.hostname.endsWith(".localhost")) {
-          return true;
+          this._sessionCache.set(sessionKey, session);
         }
-        return false;
-      }
+      };
     }
-    function bytesMatch(bytes, metadataList) {
-      if (crypto2 === void 0) {
-        return true;
-      }
-      const parsedMetadata = parseMetadata(metadataList);
-      if (parsedMetadata === "no metadata") {
-        return true;
-      }
-      if (parsedMetadata.length === 0) {
-        return true;
+    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 strongest = getStrongestMetadata(parsedMetadata);
-      const metadata = filterMetadataListByAlgorithm(parsedMetadata, strongest);
-      for (const item of metadata) {
-        const algorithm = item.algo;
-        const expectedValue = item.hash;
-        let actualValue = crypto2.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);
+      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");
           }
+          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 (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 token of metadata.split(" ")) {
-        empty = false;
-        const parsedToken = parseHashWithOptions.exec(token);
-        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;
+        if (options.keepAlive == null || options.keepAlive) {
+          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
+          socket.setKeepAlive(true, keepAliveInitialDelay);
         }
-      }
-      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((resolve4, reject) => {
-        res = resolve4;
-        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";
-    }
-    var normalizeMethodRecord = {
-      delete: "DELETE",
-      DELETE: "DELETE",
-      get: "GET",
-      GET: "GET",
-      head: "HEAD",
-      HEAD: "HEAD",
-      options: "OPTIONS",
-      OPTIONS: "OPTIONS",
-      post: "POST",
-      POST: "POST",
-      put: "PUT",
-      PUT: "PUT"
-    };
-    Object.setPrototypeOf(normalizeMethodRecord, null);
-    function normalizeMethod(method) {
-      return normalizeMethodRecord[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 makeIterator(iterator2, name, kind) {
-      const object = {
-        index: 0,
-        kind,
-        target: iterator2
-      };
-      const i = {
-        next() {
-          if (Object.getPrototypeOf(this) !== i) {
-            throw new TypeError(
-              `'next' called on an object that does not implement interface ${name} Iterator.`
-            );
+        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);
           }
-          const { index, kind: kind2, target } = object;
-          const values = target();
-          const len = values.length;
-          if (index >= len) {
-            return { value: void 0, done: true };
+        }).on("error", function(err) {
+          queueMicrotask(clearConnectTimeout);
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(err);
           }
-          const pair = values[index];
-          object.index = index + 1;
-          return iteratorResult(pair, kind2);
-        },
-        // The class string of an iterator prototype object for a given interface is the
-        // result of concatenating the identifier of the interface and the string " Iterator".
-        [Symbol.toStringTag]: `${name} Iterator`
+        });
+        return socket;
       };
-      Object.setPrototypeOf(i, esIteratorPrototype);
-      return Object.setPrototypeOf({}, i);
-    }
-    function iteratorResult(pair, kind) {
-      let result;
-      switch (kind) {
-        case "key": {
-          result = pair[0];
-          break;
-        }
-        case "value": {
-          result = pair[1];
-          break;
-        }
-        case "key+value": {
-          result = pair;
-          break;
-        }
-      }
-      return { value: result, done: false };
-    }
-    async function fullyReadBody(body, processBody, processBodyError) {
-      const successSteps = processBody;
-      const errorSteps = processBodyError;
-      let reader;
-      try {
-        reader = body.stream.getReader();
-      } catch (e) {
-        errorSteps(e);
-        return;
-      }
-      try {
-        const result = await readAllBytes(reader);
-        successSteps(result);
-      } catch (e) {
-        errorSteps(e);
-      }
     }
-    var ReadableStream2 = globalThis.ReadableStream;
-    function isReadableStreamLike(stream2) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+    var setupConnectTimeout = process.platform === "win32" ? (socketWeakRef, opts) => {
+      if (!opts.timeout) {
+        return noop3;
       }
-      return stream2 instanceof ReadableStream2 || stream2[Symbol.toStringTag] === "ReadableStream" && typeof stream2.tee === "function";
-    }
-    var MAXIMUM_ARGUMENT_LENGTH = 65535;
-    function isomorphicDecode(input) {
-      if (input.length < MAXIMUM_ARGUMENT_LENGTH) {
-        return String.fromCharCode(...input);
+      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;
       }
-      return input.reduce((previous, current) => previous + String.fromCharCode(current), "");
-    }
-    function readableStreamClose(controller) {
-      try {
-        controller.close();
-      } catch (err) {
-        if (!err.message.includes("Controller is already closed")) {
-          throw err;
-        }
+      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;
       }
-    }
-    function isomorphicEncode(input) {
-      for (let i = 0; i < input.length; i++) {
-        assert(input.charCodeAt(i) <= 255);
+      let message = "Connect Timeout Error";
+      if (Array.isArray(socket.autoSelectFamilyAttemptedAddresses)) {
+        message += ` (attempted addresses: ${socket.autoSelectFamilyAttemptedAddresses.join(", ")},`;
+      } else {
+        message += ` (attempted address: ${opts.hostname}:${opts.port},`;
       }
-      return input;
+      message += ` timeout: ${opts.timeout}ms)`;
+      util.destroy(socket, new ConnectTimeoutError(message));
     }
-    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");
+    module2.exports = buildConnector;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js
+var require_utils3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.enumToMap = void 0;
+    function enumToMap(obj) {
+      const res = {};
+      Object.keys(obj).forEach((key) => {
+        const value = obj[key];
+        if (typeof value === "number") {
+          res[key] = value;
         }
-        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) {
-      if (typeof url === "string") {
-        return url.startsWith("https:");
-      }
-      return url.protocol === "https:";
-    }
-    function urlIsHttpHttpsScheme(url) {
-      assert("protocol" in url);
-      const protocol = url.protocol;
-      return protocol === "http:" || protocol === "https:";
+      });
+      return res;
     }
-    var hasOwn = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key));
-    module2.exports = {
-      isAborted,
-      isCancelled,
-      createDeferredPromise,
-      ReadableStreamFrom,
-      toUSVString,
-      tryUpgradeRequestToAPotentiallyTrustworthyURL,
-      coarsenedSharedCurrentTime,
-      determineRequestsReferrer,
-      makePolicyContainer,
-      clonePolicyContainer,
-      appendFetchMetadata,
-      appendRequestOriginHeader,
-      TAOCheck,
-      corsCheck,
-      crossOriginResourcePolicyCheck,
-      createOpaqueTimingInfo,
-      setRequestReferrerPolicyOnRedirect,
-      isValidHTTPToken,
-      requestBadPort,
-      requestCurrentURL,
-      responseURL,
-      responseLocationURL,
-      isBlobLike,
-      isURLPotentiallyTrustworthy,
-      isValidReasonPhrase,
-      sameOrigin,
-      normalizeMethod,
-      serializeJavascriptValueToJSONString,
-      makeIterator,
-      isValidHeaderName,
-      isValidHeaderValue,
-      hasOwn,
-      isErrorLike,
-      fullyReadBody,
-      bytesMatch,
-      isReadableStreamLike,
-      readableStreamClose,
-      isomorphicEncode,
-      isomorphicDecode,
-      urlIsLocal,
-      urlHasHttpsScheme,
-      urlIsHttpHttpsScheme,
-      readAllBytes,
-      normalizeMethodRecord,
-      parseMetadata
-    };
+    exports2.enumToMap = enumToMap;
   }
 });
 
-// node_modules/undici/lib/fetch/symbols.js
-var require_symbols7 = __commonJS({
-  "node_modules/undici/lib/fetch/symbols.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js
+var require_constants7 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js"(exports2) {
     "use strict";
-    module2.exports = {
-      kUrl: /* @__PURE__ */ Symbol("url"),
-      kHeaders: /* @__PURE__ */ Symbol("headers"),
-      kSignal: /* @__PURE__ */ Symbol("signal"),
-      kState: /* @__PURE__ */ Symbol("state"),
-      kGuard: /* @__PURE__ */ Symbol("guard"),
-      kRealm: /* @__PURE__ */ Symbol("realm")
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
+    var utils_1 = require_utils3();
+    var ERROR;
+    (function(ERROR2) {
+      ERROR2[ERROR2["OK"] = 0] = "OK";
+      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
+      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
+      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
+      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
+      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
+      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
+      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
+      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
+      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
+      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
+      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
+      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
+      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
+      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
+      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
+      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
+      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
+      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
+      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
+      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
+      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
+      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
+      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
+      ERROR2[ERROR2["USER"] = 24] = "USER";
+    })(ERROR = 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];
+      }
+    });
+    var FINISH;
+    (function(FINISH2) {
+      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
+      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
+      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
+    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
+    exports2.ALPHA = [];
+    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
+      exports2.ALPHA.push(String.fromCharCode(i));
+      exports2.ALPHA.push(String.fromCharCode(i + 32));
+    }
+    exports2.NUM_MAP = {
+      0: 0,
+      1: 1,
+      2: 2,
+      3: 3,
+      4: 4,
+      5: 5,
+      6: 6,
+      7: 7,
+      8: 8,
+      9: 9
+    };
+    exports2.HEX_MAP = {
+      0: 0,
+      1: 1,
+      2: 2,
+      3: 3,
+      4: 4,
+      5: 5,
+      6: 6,
+      7: 7,
+      8: 8,
+      9: 9,
+      A: 10,
+      B: 11,
+      C: 12,
+      D: 13,
+      E: 14,
+      F: 15,
+      a: 10,
+      b: 11,
+      c: 12,
+      d: 13,
+      e: 14,
+      f: 15
+    };
+    exports2.NUM = [
+      "0",
+      "1",
+      "2",
+      "3",
+      "4",
+      "5",
+      "6",
+      "7",
+      "8",
+      "9"
+    ];
+    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
+    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
+    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
+    exports2.STRICT_URL_CHAR = [
+      "!",
+      '"',
+      "$",
+      "%",
+      "&",
+      "'",
+      "(",
+      ")",
+      "*",
+      "+",
+      ",",
+      "-",
+      ".",
+      "/",
+      ":",
+      ";",
+      "<",
+      "=",
+      ">",
+      "@",
+      "[",
+      "\\",
+      "]",
+      "^",
+      "_",
+      "`",
+      "{",
+      "|",
+      "}",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
+    for (let i = 128; i <= 255; i++) {
+      exports2.URL_CHAR.push(i);
+    }
+    exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
+    exports2.STRICT_TOKEN = [
+      "!",
+      "#",
+      "$",
+      "%",
+      "&",
+      "'",
+      "*",
+      "+",
+      "-",
+      ".",
+      "^",
+      "_",
+      "`",
+      "|",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]);
+    exports2.HEADER_CHARS = ["	"];
+    for (let i = 32; i <= 255; i++) {
+      if (i !== 127) {
+        exports2.HEADER_CHARS.push(i);
+      }
+    }
+    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/fetch/webidl.js
-var require_webidl2 = __commonJS({
-  "node_modules/undici/lib/fetch/webidl.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js
+var require_llhttp_wasm2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
     "use strict";
-    var { types } = require("util");
-    var { hasOwn, toUSVString } = require_util10();
-    var webidl = {};
-    webidl.converters = {};
-    webidl.util = {};
-    webidl.errors = {};
-    webidl.errors.exception = function(message) {
-      return new TypeError(`${message.header}: ${message.message}`);
+    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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CABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv", "base64");
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
+var require_llhttp_simd_wasm2 = __commonJS({
+  "node_modules/@actions/github/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/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADDsYBAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHyAhIyUmKCorLC8wMTIzNDU2Nzk6Ozw9lANAQkRFRklLTk9QUVJTVFVWWFpbXF1eX2BhYmNkZWZnaGpsb3Bxc3V2eHl6e3x/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAccByAHJAcsBzAHNAc4BzwGKA4kDiAOHA4QDgwOAA/sC+gL5AvgC9wL0AvMC8gLLAsECsALZAQsgASAERw3wAkHdASEDDLMDCyABIARHDcgBQcMBIQMMsgMLIAEgBEcNe0H3ACEDDLEDCyABIARHDXBB7wAhAwywAwsgASAERw1pQeoAIQMMrwMLIAEgBEcNZUHoACEDDK4DCyABIARHDWJB5gAhAwytAwsgASAERw0aQRghAwysAwsgASAERw0VQRIhAwyrAwsgASAERw1CQcUAIQMMqgMLIAEgBEcNNEE/IQMMqQMLIAEgBEcNMkE8IQMMqAMLIAEgBEcNK0ExIQMMpwMLIAItAC5BAUYNnwMMwQILQQAhAAJAAkACQCACLQAqRQ0AIAItACtFDQAgAi8BMCIDQQJxRQ0BDAILIAIvATAiA0EBcUUNAQtBASEAIAItAChBAUYNACACLwEyIgVB5ABrQeQASQ0AIAVBzAFGDQAgBUGwAkYNACADQcAAcQ0AQQAhACADQYgEcUGABEYNACADQShxQQBHIQALIAJBADsBMCACQQA6AC8gAEUN3wIgAkIANwMgDOACC0EAIQACQCACKAI4IgNFDQAgAygCLCIDRQ0AIAIgAxEAACEACyAARQ3MASAAQRVHDd0CIAJBBDYCHCACIAE2AhQgAkGwGDYCECACQRU2AgxBACEDDKQDCyABIARGBEBBBiEDDKQDCyABQQFqIQFBACEAAkAgAigCOCIDRQ0AIAMoAlQiA0UNACACIAMRAAAhAAsgAA3ZAgwcCyACQgA3AyBBEiEDDIkDCyABIARHDRZBHSEDDKEDCyABIARHBEAgAUEBaiEBQRAhAwyIAwtBByEDDKADCyACIAIpAyAiCiAEIAFrrSILfSIMQgAgCiAMWhs3AyAgCiALWA3UAkEIIQMMnwMLIAEgBEcEQCACQQk2AgggAiABNgIEQRQhAwyGAwtBCSEDDJ4DCyACKQMgQgBSDccBIAIgAi8BMEGAAXI7ATAMQgsgASAERw0/QdAAIQMMnAMLIAEgBEYEQEELIQMMnAMLIAFBAWohAUEAIQACQCACKAI4IgNFDQAgAygCUCIDRQ0AIAIgAxEAACEACyAADc8CDMYBC0EAIQACQCACKAI4IgNFDQAgAygCSCIDRQ0AIAIgAxEAACEACyAARQ3GASAAQRVHDc0CIAJBCzYCHCACIAE2AhQgAkGCGTYCECACQRU2AgxBACEDDJoDC0EAIQACQCACKAI4IgNFDQAgAygCSCIDRQ0AIAIgAxEAACEACyAARQ0MIABBFUcNygIgAkEaNgIcIAIgATYCFCACQYIZNgIQIAJBFTYCDEEAIQMMmQMLQQAhAAJAIAIoAjgiA0UNACADKAJMIgNFDQAgAiADEQAAIQALIABFDcQBIABBFUcNxwIgAkELNgIcIAIgATYCFCACQZEXNgIQIAJBFTYCDEEAIQMMmAMLIAEgBEYEQEEPIQMMmAMLIAEtAAAiAEE7Rg0HIABBDUcNxAIgAUEBaiEBDMMBC0EAIQACQCACKAI4IgNFDQAgAygCTCIDRQ0AIAIgAxEAACEACyAARQ3DASAAQRVHDcICIAJBDzYCHCACIAE2AhQgAkGRFzYCECACQRU2AgxBACEDDJYDCwNAIAEtAABB8DVqLQAAIgBBAUcEQCAAQQJHDcECIAIoAgQhAEEAIQMgAkEANgIEIAIgACABQQFqIgEQLSIADcICDMUBCyAEIAFBAWoiAUcNAAtBEiEDDJUDC0EAIQACQCACKAI4IgNFDQAgAygCTCIDRQ0AIAIgAxEAACEACyAARQ3FASAAQRVHDb0CIAJBGzYCHCACIAE2AhQgAkGRFzYCECACQRU2AgxBACEDDJQDCyABIARGBEBBFiEDDJQDCyACQQo2AgggAiABNgIEQQAhAAJAIAIoAjgiA0UNACADKAJIIgNFDQAgAiADEQAAIQALIABFDcIBIABBFUcNuQIgAkEVNgIcIAIgATYCFCACQYIZNgIQIAJBFTYCDEEAIQMMkwMLIAEgBEcEQANAIAEtAABB8DdqLQAAIgBBAkcEQAJAIABBAWsOBMQCvQIAvgK9AgsgAUEBaiEBQQghAwz8AgsgBCABQQFqIgFHDQALQRUhAwyTAwtBFSEDDJIDCwNAIAEtAABB8DlqLQAAIgBBAkcEQCAAQQFrDgTFArcCwwK4ArcCCyAEIAFBAWoiAUcNAAtBGCEDDJEDCyABIARHBEAgAkELNgIIIAIgATYCBEEHIQMM+AILQRkhAwyQAwsgAUEBaiEBDAILIAEgBEYEQEEaIQMMjwMLAkAgAS0AAEENaw4UtQG/Ab8BvwG/Ab8BvwG/Ab8BvwG/Ab8BvwG/Ab8BvwG/Ab8BvwEAvwELQQAhAyACQQA2AhwgAkGvCzYCECACQQI2AgwgAiABQQFqNgIUDI4DCyABIARGBEBBGyEDDI4DCyABLQAAIgBBO0cEQCAAQQ1HDbECIAFBAWohAQy6AQsgAUEBaiEBC0EiIQMM8wILIAEgBEYEQEEcIQMMjAMLQgAhCgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAS0AAEEwaw43wQLAAgABAgMEBQYH0AHQAdAB0AHQAdAB0AEICQoLDA3QAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdABDg8QERIT0AELQgIhCgzAAgtCAyEKDL8CC0IEIQoMvgILQgUhCgy9AgtCBiEKDLwCC0IHIQoMuwILQgghCgy6AgtCCSEKDLkCC0IKIQoMuAILQgshCgy3AgtCDCEKDLYCC0INIQoMtQILQg4hCgy0AgtCDyEKDLMCC0IKIQoMsgILQgshCgyxAgtCDCEKDLACC0INIQoMrwILQg4hCgyuAgtCDyEKDK0CC0IAIQoCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEtAABBMGsON8ACvwIAAQIDBAUGB74CvgK+Ar4CvgK+Ar4CCAkKCwwNvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ag4PEBESE74CC0ICIQoMvwILQgMhCgy+AgtCBCEKDL0CC0IFIQoMvAILQgYhCgy7AgtCByEKDLoCC0IIIQoMuQILQgkhCgy4AgtCCiEKDLcCC0ILIQoMtgILQgwhCgy1AgtCDSEKDLQCC0IOIQoMswILQg8hCgyyAgtCCiEKDLECC0ILIQoMsAILQgwhCgyvAgtCDSEKDK4CC0IOIQoMrQILQg8hCgysAgsgAiACKQMgIgogBCABa60iC30iDEIAIAogDFobNwMgIAogC1gNpwJBHyEDDIkDCyABIARHBEAgAkEJNgIIIAIgATYCBEElIQMM8AILQSAhAwyIAwtBASEFIAIvATAiA0EIcUUEQCACKQMgQgBSIQULAkAgAi0ALgRAQQEhACACLQApQQVGDQEgA0HAAHFFIAVxRQ0BC0EAIQAgA0HAAHENAEECIQAgA0EIcQ0AIANBgARxBEACQCACLQAoQQFHDQAgAi0ALUEKcQ0AQQUhAAwCC0EEIQAMAQsgA0EgcUUEQAJAIAItAChBAUYNACACLwEyIgBB5ABrQeQASQ0AIABBzAFGDQAgAEGwAkYNAEEEIQAgA0EocUUNAiADQYgEcUGABEYNAgtBACEADAELQQBBAyACKQMgUBshAAsgAEEBaw4FvgIAsAEBpAKhAgtBESEDDO0CCyACQQE6AC8MhAMLIAEgBEcNnQJBJCEDDIQDCyABIARHDRxBxgAhAwyDAwtBACEAAkAgAigCOCIDRQ0AIAMoAkQiA0UNACACIAMRAAAhAAsgAEUNJyAAQRVHDZgCIAJB0AA2AhwgAiABNgIUIAJBkRg2AhAgAkEVNgIMQQAhAwyCAwsgASAERgRAQSghAwyCAwtBACEDIAJBADYCBCACQQw2AgggAiABIAEQKiIARQ2UAiACQSc2AhwgAiABNgIUIAIgADYCDAyBAwsgASAERgRAQSkhAwyBAwsgAS0AACIAQSBGDRMgAEEJRw2VAiABQQFqIQEMFAsgASAERwRAIAFBAWohAQwWC0EqIQMM/wILIAEgBEYEQEErIQMM/wILIAEtAAAiAEEJRyAAQSBHcQ2QAiACLQAsQQhHDd0CIAJBADoALAzdAgsgASAERgRAQSwhAwz+AgsgAS0AAEEKRw2OAiABQQFqIQEMsAELIAEgBEcNigJBLyEDDPwCCwNAIAEtAAAiAEEgRwRAIABBCmsOBIQCiAKIAoQChgILIAQgAUEBaiIBRw0AC0ExIQMM+wILQTIhAyABIARGDfoCIAIoAgAiACAEIAFraiEHIAEgAGtBA2ohBgJAA0AgAEHwO2otAAAgAS0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQEgAEEDRgRAQQYhAQziAgsgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAc2AgAM+wILIAJBADYCAAyGAgtBMyEDIAQgASIARg35AiAEIAFrIAIoAgAiAWohByAAIAFrQQhqIQYCQANAIAFB9DtqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBCEYEQEEFIQEM4QILIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADPoCCyACQQA2AgAgACEBDIUCC0E0IQMgBCABIgBGDfgCIAQgAWsgAigCACIBaiEHIAAgAWtBBWohBgJAA0AgAUHQwgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBBUYEQEEHIQEM4AILIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADPkCCyACQQA2AgAgACEBDIQCCyABIARHBEADQCABLQAAQYA+ai0AACIAQQFHBEAgAEECRg0JDIECCyAEIAFBAWoiAUcNAAtBMCEDDPgCC0EwIQMM9wILIAEgBEcEQANAIAEtAAAiAEEgRwRAIABBCmsOBP8B/gH+Af8B/gELIAQgAUEBaiIBRw0AC0E4IQMM9wILQTghAwz2AgsDQCABLQAAIgBBIEcgAEEJR3EN9gEgBCABQQFqIgFHDQALQTwhAwz1AgsDQCABLQAAIgBBIEcEQAJAIABBCmsOBPkBBAT5AQALIABBLEYN9QEMAwsgBCABQQFqIgFHDQALQT8hAwz0AgtBwAAhAyABIARGDfMCIAIoAgAiACAEIAFraiEFIAEgAGtBBmohBgJAA0AgAEGAQGstAAAgAS0AAEEgckcNASAAQQZGDdsCIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADPQCCyACQQA2AgALQTYhAwzZAgsgASAERgRAQcEAIQMM8gILIAJBDDYCCCACIAE2AgQgAi0ALEEBaw4E+wHuAewB6wHUAgsgAUEBaiEBDPoBCyABIARHBEADQAJAIAEtAAAiAEEgciAAIABBwQBrQf8BcUEaSRtB/wFxIgBBCUYNACAAQSBGDQACQAJAAkACQCAAQeMAaw4TAAMDAwMDAwMBAwMDAwMDAwMDAgMLIAFBAWohAUExIQMM3AILIAFBAWohAUEyIQMM2wILIAFBAWohAUEzIQMM2gILDP4BCyAEIAFBAWoiAUcNAAtBNSEDDPACC0E1IQMM7wILIAEgBEcEQANAIAEtAABBgDxqLQAAQQFHDfcBIAQgAUEBaiIBRw0AC0E9IQMM7wILQT0hAwzuAgtBACEAAkAgAigCOCIDRQ0AIAMoAkAiA0UNACACIAMRAAAhAAsgAEUNASAAQRVHDeYBIAJBwgA2AhwgAiABNgIUIAJB4xg2AhAgAkEVNgIMQQAhAwztAgsgAUEBaiEBC0E8IQMM0gILIAEgBEYEQEHCACEDDOsCCwJAA0ACQCABLQAAQQlrDhgAAswCzALRAswCzALMAswCzALMAswCzALMAswCzALMAswCzALMAswCzALMAgDMAgsgBCABQQFqIgFHDQALQcIAIQMM6wILIAFBAWohASACLQAtQQFxRQ3+AQtBLCEDDNACCyABIARHDd4BQcQAIQMM6AILA0AgAS0AAEGQwABqLQAAQQFHDZwBIAQgAUEBaiIBRw0AC0HFACEDDOcCCyABLQAAIgBBIEYN/gEgAEE6Rw3AAiACKAIEIQBBACEDIAJBADYCBCACIAAgARApIgAN3gEM3QELQccAIQMgBCABIgBGDeUCIAQgAWsgAigCACIBaiEHIAAgAWtBBWohBgNAIAFBkMIAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNvwIgAUEFRg3CAiABQQFqIQEgBCAAQQFqIgBHDQALIAIgBzYCAAzlAgtByAAhAyAEIAEiAEYN5AIgBCABayACKAIAIgFqIQcgACABa0EJaiEGA0AgAUGWwgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw2+AkECIAFBCUYNwgIaIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADOQCCyABIARGBEBByQAhAwzkAgsCQAJAIAEtAAAiAEEgciAAIABBwQBrQf8BcUEaSRtB/wFxQe4Aaw4HAL8CvwK/Ar8CvwIBvwILIAFBAWohAUE+IQMMywILIAFBAWohAUE/IQMMygILQcoAIQMgBCABIgBGDeICIAQgAWsgAigCACIBaiEGIAAgAWtBAWohBwNAIAFBoMIAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNvAIgAUEBRg2+AiABQQFqIQEgBCAAQQFqIgBHDQALIAIgBjYCAAziAgtBywAhAyAEIAEiAEYN4QIgBCABayACKAIAIgFqIQcgACABa0EOaiEGA0AgAUGiwgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw27AiABQQ5GDb4CIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADOECC0HMACEDIAQgASIARg3gAiAEIAFrIAIoAgAiAWohByAAIAFrQQ9qIQYDQCABQcDCAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDboCQQMgAUEPRg2+AhogAUEBaiEBIAQgAEEBaiIARw0ACyACIAc2AgAM4AILQc0AIQMgBCABIgBGDd8CIAQgAWsgAigCACIBaiEHIAAgAWtBBWohBgNAIAFB0MIAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNuQJBBCABQQVGDb0CGiABQQFqIQEgBCAAQQFqIgBHDQALIAIgBzYCAAzfAgsgASAERgRAQc4AIQMM3wILAkACQAJAAkAgAS0AACIAQSByIAAgAEHBAGtB/wFxQRpJG0H/AXFB4wBrDhMAvAK8ArwCvAK8ArwCvAK8ArwCvAK8ArwCAbwCvAK8AgIDvAILIAFBAWohAUHBACEDDMgCCyABQQFqIQFBwgAhAwzHAgsgAUEBaiEBQcMAIQMMxgILIAFBAWohAUHEACEDDMUCCyABIARHBEAgAkENNgIIIAIgATYCBEHFACEDDMUCC0HPACEDDN0CCwJAAkAgAS0AAEEKaw4EAZABkAEAkAELIAFBAWohAQtBKCEDDMMCCyABIARGBEBB0QAhAwzcAgsgAS0AAEEgRw0AIAFBAWohASACLQAtQQFxRQ3QAQtBFyEDDMECCyABIARHDcsBQdIAIQMM2QILQdMAIQMgASAERg3YAiACKAIAIgAgBCABa2ohBiABIABrQQFqIQUDQCABLQAAIABB1sIAai0AAEcNxwEgAEEBRg3KASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBjYCAAzYAgsgASAERgRAQdUAIQMM2AILIAEtAABBCkcNwgEgAUEBaiEBDMoBCyABIARGBEBB1gAhAwzXAgsCQAJAIAEtAABBCmsOBADDAcMBAcMBCyABQQFqIQEMygELIAFBAWohAUHKACEDDL0CC0EAIQACQCACKAI4IgNFDQAgAygCPCIDRQ0AIAIgAxEAACEACyAADb8BQc0AIQMMvAILIAItAClBIkYNzwIMiQELIAQgASIFRgRAQdsAIQMM1AILQQAhAEEBIQFBASEGQQAhAwJAAn8CQAJAAkACQAJAAkACQCAFLQAAQTBrDgrFAcQBAAECAwQFBgjDAQtBAgwGC0EDDAULQQQMBAtBBQwDC0EGDAILQQcMAQtBCAshA0EAIQFBACEGDL0BC0EJIQNBASEAQQAhAUEAIQYMvAELIAEgBEYEQEHdACEDDNMCCyABLQAAQS5HDbgBIAFBAWohAQyIAQsgASAERw22AUHfACEDDNECCyABIARHBEAgAkEONgIIIAIgATYCBEHQACEDDLgCC0HgACEDDNACC0HhACEDIAEgBEYNzwIgAigCACIAIAQgAWtqIQUgASAAa0EDaiEGA0AgAS0AACAAQeLCAGotAABHDbEBIABBA0YNswEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMzwILQeIAIQMgASAERg3OAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYDQCABLQAAIABB5sIAai0AAEcNsAEgAEECRg2vASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAzOAgtB4wAhAyABIARGDc0CIAIoAgAiACAEIAFraiEFIAEgAGtBA2ohBgNAIAEtAAAgAEHpwgBqLQAARw2vASAAQQNGDa0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADM0CCyABIARGBEBB5QAhAwzNAgsgAUEBaiEBQQAhAAJAIAIoAjgiA0UNACADKAIwIgNFDQAgAiADEQAAIQALIAANqgFB1gAhAwyzAgsgASAERwRAA0AgAS0AACIAQSBHBEACQAJAAkAgAEHIAGsOCwABswGzAbMBswGzAbMBswGzAQKzAQsgAUEBaiEBQdIAIQMMtwILIAFBAWohAUHTACEDDLYCCyABQQFqIQFB1AAhAwy1AgsgBCABQQFqIgFHDQALQeQAIQMMzAILQeQAIQMMywILA0AgAS0AAEHwwgBqLQAAIgBBAUcEQCAAQQJrDgOnAaYBpQGkAQsgBCABQQFqIgFHDQALQeYAIQMMygILIAFBAWogASAERw0CGkHnACEDDMkCCwNAIAEtAABB8MQAai0AACIAQQFHBEACQCAAQQJrDgSiAaEBoAEAnwELQdcAIQMMsQILIAQgAUEBaiIBRw0AC0HoACEDDMgCCyABIARGBEBB6QAhAwzIAgsCQCABLQAAIgBBCmsOGrcBmwGbAbQBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBpAGbAZsBAJkBCyABQQFqCyEBQQYhAwytAgsDQCABLQAAQfDGAGotAABBAUcNfSAEIAFBAWoiAUcNAAtB6gAhAwzFAgsgAUEBaiABIARHDQIaQesAIQMMxAILIAEgBEYEQEHsACEDDMQCCyABQQFqDAELIAEgBEYEQEHtACEDDMMCCyABQQFqCyEBQQQhAwyoAgsgASAERgRAQe4AIQMMwQILAkACQAJAIAEtAABB8MgAai0AAEEBaw4HkAGPAY4BAHwBAo0BCyABQQFqIQEMCwsgAUEBagyTAQtBACEDIAJBADYCHCACQZsSNgIQIAJBBzYCDCACIAFBAWo2AhQMwAILAkADQCABLQAAQfDIAGotAAAiAEEERwRAAkACQCAAQQFrDgeUAZMBkgGNAQAEAY0BC0HaACEDDKoCCyABQQFqIQFB3AAhAwypAgsgBCABQQFqIgFHDQALQe8AIQMMwAILIAFBAWoMkQELIAQgASIARgRAQfAAIQMMvwILIAAtAABBL0cNASAAQQFqIQEMBwsgBCABIgBGBEBB8QAhAwy+AgsgAC0AACIBQS9GBEAgAEEBaiEBQd0AIQMMpQILIAFBCmsiA0EWSw0AIAAhAUEBIAN0QYmAgAJxDfkBC0EAIQMgAkEANgIcIAIgADYCFCACQYwcNgIQIAJBBzYCDAy8AgsgASAERwRAIAFBAWohAUHeACEDDKMCC0HyACEDDLsCCyABIARGBEBB9AAhAwy7AgsCQCABLQAAQfDMAGotAABBAWsOA/cBcwCCAQtB4QAhAwyhAgsgASAERwRAA0AgAS0AAEHwygBqLQAAIgBBA0cEQAJAIABBAWsOAvkBAIUBC0HfACEDDKMCCyAEIAFBAWoiAUcNAAtB8wAhAwy6AgtB8wAhAwy5AgsgASAERwRAIAJBDzYCCCACIAE2AgRB4AAhAwygAgtB9QAhAwy4AgsgASAERgRAQfYAIQMMuAILIAJBDzYCCCACIAE2AgQLQQMhAwydAgsDQCABLQAAQSBHDY4CIAQgAUEBaiIBRw0AC0H3ACEDDLUCCyABIARGBEBB+AAhAwy1AgsgAS0AAEEgRw16IAFBAWohAQxbC0EAIQACQCACKAI4IgNFDQAgAygCOCIDRQ0AIAIgAxEAACEACyAADXgMgAILIAEgBEYEQEH6ACEDDLMCCyABLQAAQcwARw10IAFBAWohAUETDHYLQfsAIQMgASAERg2xAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYDQCABLQAAIABB8M4Aai0AAEcNcyAAQQVGDXUgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMsQILIAEgBEYEQEH8ACEDDLECCwJAAkAgAS0AAEHDAGsODAB0dHR0dHR0dHR0AXQLIAFBAWohAUHmACEDDJgCCyABQQFqIQFB5wAhAwyXAgtB/QAhAyABIARGDa8CIAIoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQe3PAGotAABHDXIgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADLACCyACQQA2AgAgBkEBaiEBQRAMcwtB/gAhAyABIARGDa4CIAIoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQfbOAGotAABHDXEgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADK8CCyACQQA2AgAgBkEBaiEBQRYMcgtB/wAhAyABIARGDa0CIAIoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQfzOAGotAABHDXAgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADK4CCyACQQA2AgAgBkEBaiEBQQUMcQsgASAERgRAQYABIQMMrQILIAEtAABB2QBHDW4gAUEBaiEBQQgMcAsgASAERgRAQYEBIQMMrAILAkACQCABLQAAQc4Aaw4DAG8BbwsgAUEBaiEBQesAIQMMkwILIAFBAWohAUHsACEDDJICCyABIARGBEBBggEhAwyrAgsCQAJAIAEtAABByABrDggAbm5ubm5uAW4LIAFBAWohAUHqACEDDJICCyABQQFqIQFB7QAhAwyRAgtBgwEhAyABIARGDakCIAIoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQYDPAGotAABHDWwgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADKoCCyACQQA2AgAgBkEBaiEBQQAMbQtBhAEhAyABIARGDagCIAIoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQYPPAGotAABHDWsgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADKkCCyACQQA2AgAgBkEBaiEBQSMMbAsgASAERgRAQYUBIQMMqAILAkACQCABLQAAQcwAaw4IAGtra2trawFrCyABQQFqIQFB7wAhAwyPAgsgAUEBaiEBQfAAIQMMjgILIAEgBEYEQEGGASEDDKcCCyABLQAAQcUARw1oIAFBAWohAQxgC0GHASEDIAEgBEYNpQIgAigCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBiM8Aai0AAEcNaCAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMpgILIAJBADYCACAGQQFqIQFBLQxpC0GIASEDIAEgBEYNpAIgAigCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABB0M8Aai0AAEcNZyAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMpQILIAJBADYCACAGQQFqIQFBKQxoCyABIARGBEBBiQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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AAADAEGUCAsFBAAAAAUAQaQICwkGAAAABwAAAAgAQdwIC4otSW52YWxpZCBjaGFyIGluIHVybCBxdWVyeQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2JvZHkAQ29udGVudC1MZW5ndGggb3ZlcmZsb3cAQ2h1bmsgc2l6ZSBvdmVyZmxvdwBSZXNwb25zZSBvdmVyZmxvdwBJbnZhbGlkIG1ldGhvZCBmb3IgSFRUUC94LnggcmVxdWVzdABJbnZhbGlkIG1ldGhvZCBmb3IgUlRTUC94LnggcmVxdWVzdABFeHBlY3RlZCBTT1VSQ0UgbWV0aG9kIGZvciBJQ0UveC54IHJlcXVlc3QASW52YWxpZCBjaGFyIGluIHVybCBmcmFnbWVudCBzdGFydABFeHBlY3RlZCBkb3QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9zdGF0dXMASW52YWxpZCByZXNwb25zZSBzdGF0dXMASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucwBVc2VyIGNhbGxiYWNrIGVycm9yAGBvbl9yZXNldGAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2hlYWRlcmAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfYmVnaW5gIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwBB+TULAQEAQZA2C+ABAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQf03CwEBAEGROAteAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgBB/TkLAQEAQZE6C14CAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEHwOwsNbG9zZWVlcC1hbGl2ZQBBiTwLAQEAQaA8C+ABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQYk+CwEBAEGgPgvnAQEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZABBsMAAC18BAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBBkMIACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQcDCAAstcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQoNClNNDQoNClRUUC9DRS9UU1AvAEH5wgALBQECAAEDAEGQwwAL4AEEAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cQACwUBAgABAwBBkMUAC+ABBAEBBQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQfnGAAsEAQAAAQBBkccAC98BAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+sgACwQBAAACAEGQyQALXwMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAEH6ygALBAEAAAEAQZDLAAsBAQBBqssAC0ECAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB+swACwQBAAABAEGQzQALAQEAQZrNAAsGAgAAAAACAEGxzQALOgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQfDOAAuWAU5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==", "base64");
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/constants.js
+var require_constants8 = __commonJS({
+  "node_modules/@actions/github/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/@actions/github/node_modules/undici/lib/web/fetch/global.js
+var require_global3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/global.js"(exports2, module2) {
+    "use strict";
+    var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
+    function getGlobalOrigin() {
+      return globalThis[globalOrigin];
+    }
+    function setGlobalOrigin(newOrigin) {
+      if (newOrigin === void 0) {
+        Object.defineProperty(globalThis, globalOrigin, {
+          value: void 0,
+          writable: true,
+          enumerable: false,
+          configurable: false
+        });
+        return;
+      }
+      const parsedURL = new URL(newOrigin);
+      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
+        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
+      }
+      Object.defineProperty(globalThis, globalOrigin, {
+        value: parsedURL,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
+    }
+    module2.exports = {
+      getGlobalOrigin,
+      setGlobalOrigin
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js
+var require_data_url2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var encoder = new TextEncoder();
+    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+\-.^_|~A-Za-z0-9]+$/;
+    var HTTP_WHITESPACE_REGEX = /[\u000A\u000D\u0009\u0020]/;
+    var ASCII_WHITESPACE_REPLACE_REGEX = /[\u0009\u000A\u000C\u000D\u0020]/g;
+    var HTTP_QUOTED_STRING_TOKENS = /^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;
+    function dataURLProcessor(dataURL) {
+      assert(dataURL.protocol === "data:");
+      let input = URLSerializer(dataURL, true);
+      input = input.slice(5);
+      const position = { position: 0 };
+      let mimeType = collectASequenceOfCodePointsFast(
+        ",",
+        input,
+        position
+      );
+      const mimeTypeLength = mimeType.length;
+      mimeType = removeASCIIWhitespace(mimeType, true, true);
+      if (position.position >= input.length) {
+        return "failure";
+      }
+      position.position++;
+      const encodedBody = input.slice(mimeTypeLength + 1);
+      let body = stringPercentDecode(encodedBody);
+      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
+        const stringBody = isomorphicDecode(body);
+        body = forgivingBase64(stringBody);
+        if (body === "failure") {
+          return "failure";
+        }
+        mimeType = mimeType.slice(0, -6);
+        mimeType = mimeType.replace(/(\u0020)+$/, "");
+        mimeType = mimeType.slice(0, -1);
+      }
+      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 };
+    }
+    function URLSerializer(url, excludeFragment = false) {
+      if (!excludeFragment) {
+        return url.href;
+      }
+      const href = url.href;
+      const hashLength = url.hash.length;
+      const serialized = hashLength === 0 ? href : href.substring(0, href.length - hashLength);
+      if (!hashLength && href.endsWith("#")) {
+        return serialized.slice(0, -1);
+      }
+      return serialized;
+    }
+    function collectASequenceOfCodePoints(condition, input, position) {
+      let result = "";
+      while (position.position < input.length && condition(input[position.position])) {
+        result += input[position.position];
+        position.position++;
+      }
+      return result;
+    }
+    function collectASequenceOfCodePointsFast(char, input, position) {
+      const idx = input.indexOf(char, position.position);
+      const start = position.position;
+      if (idx === -1) {
+        position.position = input.length;
+        return input.slice(start);
+      }
+      position.position = idx;
+      return input.slice(start, position.position);
+    }
+    function stringPercentDecode(input) {
+      const bytes = encoder.encode(input);
+      return percentDecode(bytes);
+    }
+    function isHexCharByte(byte) {
+      return byte >= 48 && byte <= 57 || byte >= 65 && byte <= 70 || byte >= 97 && byte <= 102;
+    }
+    function hexByteToNumber(byte) {
+      return (
+        // 0-9
+        byte >= 48 && byte <= 57 ? byte - 48 : (byte & 223) - 55
+      );
+    }
+    function 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);
+    }
+    function parseMIMEType(input) {
+      input = removeHTTPWhitespace(input, true, true);
+      const position = { position: 0 };
+      const type2 = collectASequenceOfCodePointsFast(
+        "/",
+        input,
+        position
+      );
+      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
+        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 = type2.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;
+    }
+    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);
+    }
+    function collectAnHTTPQuotedString(input, position, extractValue) {
+      const positionStart = position.position;
+      let value = "";
+      assert(input[position.position] === '"');
+      position.position++;
+      while (true) {
+        value += collectASequenceOfCodePoints(
+          (char) => char !== '"' && char !== "\\",
+          input,
+          position
+        );
+        if (position.position >= input.length) {
+          break;
+        }
+        const quoteOrBackslash = input[position.position];
+        position.position++;
+        if (quoteOrBackslash === "\\") {
+          if (position.position >= input.length) {
+            value += "\\";
+            break;
+          }
+          value += input[position.position];
+          position.position++;
+        } else {
+          assert(quoteOrBackslash === '"');
+          break;
+        }
+      }
+      if (extractValue) {
+        return value;
+      }
+      return input.slice(positionStart, position.position);
+    }
+    function serializeAMimeType(mimeType) {
+      assert(mimeType !== "failure");
+      const { parameters, essence } = mimeType;
+      let serialization = essence;
+      for (let [name, value] of parameters.entries()) {
+        serialization += ";";
+        serialization += name;
+        serialization += "=";
+        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
+          value = value.replace(/(\\|")/g, "\\$1");
+          value = '"' + value;
+          value += '"';
+        }
+        serialization += value;
+      }
+      return serialization;
+    }
+    function isHTTPWhiteSpace(char) {
+      return char === 13 || char === 10 || char === 9 || char === 32;
+    }
+    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isHTTPWhiteSpace);
+    }
+    function isASCIIWhitespace(char) {
+      return char === 13 || char === 10 || char === 9 || char === 12 || char === 32;
+    }
+    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isASCIIWhitespace);
+    }
+    function removeChars(str2, leading, trailing, predicate) {
+      let lead = 0;
+      let trail = str2.length - 1;
+      if (leading) {
+        while (lead < str2.length && predicate(str2.charCodeAt(lead))) lead++;
+      }
+      if (trailing) {
+        while (trail > 0 && predicate(str2.charCodeAt(trail))) trail--;
+      }
+      return lead === 0 && trail === str2.length - 1 ? str2 : str2.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/node_modules/undici/lib/web/fetch/webidl.js
+var require_webidl2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/webidl.js"(exports2, module2) {
+    "use strict";
+    var { types, inspect } = require("node:util");
+    var { markAsUncloneable } = require("node:worker_threads");
+    var { toUSVString } = require_util9();
+    var webidl = {};
+    webidl.converters = {};
+    webidl.util = {};
+    webidl.errors = {};
+    webidl.errors.exception = function(message) {
+      return new TypeError(`${message.header}: ${message.message}`);
+    };
+    webidl.errors.conversionFailed = function(context2) {
+      const plural = context2.types.length === 1 ? "" : " one of";
+      const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`;
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message
+      });
+    };
+    webidl.errors.invalidArgument = function(context2) {
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message: `"${context2.value}" is an invalid ${context2.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";
+        }
+      }
+    };
+    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;
+      }
+      if (!Number.isNaN(x) && opts?.clamp === true) {
+        x = Math.min(Math.max(x, lowerBound), upperBound);
+        if (Math.floor(x) % 2 === 0) {
+          x = Math.floor(x);
+        } else {
+          x = Math.ceil(x);
+        }
+        return x;
+      }
+      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 type2 = webidl.util.Type(V);
+      switch (type2) {
+        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.`
+          });
+        }
+        const method = typeof Iterable === "function" ? Iterable() : V?.[Symbol.iterator]?.();
+        const seq2 = [];
+        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;
+          }
+          seq2.push(converter(value, prefix, `${argument}[${index++}]`));
+        }
+        return seq2;
+      };
+    };
+    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 type2 = webidl.util.Type(dictionary);
+        const dict = {};
+        if (type2 === "Null" || type2 === "Undefined") {
+          return dict;
+        } else if (type2 !== "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);
+    };
+    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/@actions/github/node_modules/undici/lib/web/fetch/util.js
+var require_util10 = __commonJS({
+  "node_modules/@actions/github/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_constants8();
+    var { getGlobalOrigin } = require_global3();
+    var { collectASequenceOfCodePoints, collectAnHTTPQuotedString, removeChars, parseMIMEType } = require_data_url2();
+    var { performance: performance3 } = require("node:perf_hooks");
+    var { isBlobLike, ReadableStreamFrom, isValidHTTPToken, normalizedMethodRecordsBase } = require_util9();
+    var assert = require("node:assert");
+    var { isUint8Array } = require("node:util/types");
+    var { webidl } = require_webidl2();
+    var supportedHashes = [];
+    var crypto2;
+    try {
+      crypto2 = require("node:crypto");
+      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
+      supportedHashes = crypto2.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 token = policyHeader[i - 1].trim();
+          if (referrerPolicyTokens.has(token)) {
+            policy = token;
+            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(timestamp2, crossOriginIsolatedCapability) {
+      return timestamp2;
+    }
+    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(performance3.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":
+        // eslint-disable-line
+        /**
+           * 1. If referrerURL is a potentially trustworthy URL and
+           * request’s current URL is not a potentially trustworthy URL,
+           * then return no referrer.
+           * 2. Return referrerOrigin
+          */
+        case "no-referrer-when-downgrade":
+        // eslint-disable-line
+        /**
+         * 1. If referrerURL is a potentially trustworthy URL and
+         * request’s current URL is not a potentially trustworthy URL,
+         * then return no referrer.
+         * 2. Return referrerOrigin
+        */
+        default:
+          return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
+      }
+    }
+    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 (crypto2 === 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 = crypto2.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 token of metadata.split(" ")) {
+        empty = false;
+        const parsedToken = parseHashWithOptions.exec(token);
+        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((resolve4, reject) => {
+        res = resolve4;
+        rej = reject;
+      });
+      return { promise, resolve: res, reject: rej };
+    }
+    function isAborted(fetchParams) {
+      return fetchParams.controller.state === "aborted";
+    }
+    function isCancelled(fetchParams) {
+      return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";
+    }
+    function normalizeMethod(method) {
+      return normalizedMethodRecordsBase[method.toLowerCase()] ?? method;
+    }
+    function serializeJavascriptValueToJSONString(value) {
+      const result = JSON.stringify(value);
+      if (result === void 0) {
+        throw new TypeError("Value is not JSON serializable");
+      }
+      assert(typeof result === "string");
+      return result;
+    }
+    var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
+    function createIterator(name, kInternalIterator, keyIndex = 0, valueIndex = 1) {
+      class FastIterableIterator {
+        /** @type {any} */
+        #target;
+        /** @type {'key' | 'value' | 'key+value'} */
+        #kind;
+        /** @type {number} */
+        #index;
+        /**
+         * @see https://webidl.spec.whatwg.org/#dfn-default-iterator-object
+         * @param {unknown} target
+         * @param {'key' | 'value' | 'key+value'} kind
+         */
+        constructor(target, kind) {
+          this.#target = target;
+          this.#kind = kind;
+          this.#index = 0;
+        }
+        next() {
+          if (typeof this !== "object" || this === null || !(#target in this)) {
+            throw new TypeError(
+              `'next' called on an object that does not implement interface ${name} Iterator.`
+            );
+          }
+          const index = this.#index;
+          const values = this.#target[kInternalIterator];
+          const len = values.length;
+          if (index >= len) {
+            return {
+              value: void 0,
+              done: true
+            };
+          }
+          const { [keyIndex]: key, [valueIndex]: value } = values[index];
+          this.#index = index + 1;
+          let result;
+          switch (this.#kind) {
+            case "key":
+              result = key;
+              break;
+            case "value":
+              result = value;
+              break;
+            case "key+value":
+              result = [key, value];
+              break;
+          }
+          return {
+            value: result,
+            done: false
+          };
+        }
+      }
+      delete FastIterableIterator.prototype.constructor;
+      Object.setPrototypeOf(FastIterableIterator.prototype, esIteratorPrototype);
+      Object.defineProperties(FastIterableIterator.prototype, {
+        [Symbol.toStringTag]: {
+          writable: false,
+          enumerable: false,
+          configurable: true,
+          value: `${name} Iterator`
+        },
+        next: { writable: true, enumerable: true, configurable: true }
+      });
+      return function(target, kind) {
+        return new FastIterableIterator(target, kind);
+      };
+    }
+    function iteratorMixin(name, object, kInternalIterator, keyIndex = 0, valueIndex = 1) {
+      const makeIterator = createIterator(name, kInternalIterator, keyIndex, valueIndex);
+      const properties = {
+        keys: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function keys() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "key");
+          }
+        },
+        values: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function values() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "value");
+          }
+        },
+        entries: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function entries() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "key+value");
+          }
+        },
+        forEach: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function forEach(callbackfn, thisArg = globalThis) {
+            webidl.brandCheck(this, object);
+            webidl.argumentLengthCheck(arguments, 1, `${name}.forEach`);
+            if (typeof callbackfn !== "function") {
+              throw new TypeError(
+                `Failed to execute 'forEach' on '${name}': parameter 1 is not of type 'Function'.`
+              );
+            }
+            for (const { 0: key, 1: value } of makeIterator(this, "key+value")) {
+              callbackfn.call(thisArg, value, key, this);
+            }
+          }
+        }
+      };
+      return Object.defineProperties(object.prototype, {
+        ...properties,
+        [Symbol.iterator]: {
+          writable: true,
+          enumerable: false,
+          configurable: true,
+          value: properties.entries.value
+        }
+      });
+    }
+    async function fullyReadBody(body, processBody, processBodyError) {
+      const successSteps = processBody;
+      const errorSteps = processBodyError;
+      let reader;
+      try {
+        reader = body.stream.getReader();
+      } catch (e) {
+        errorSteps(e);
+        return;
+      }
+      try {
+        successSteps(await readAllBytes(reader));
+      } catch (e) {
+        errorSteps(e);
+      }
+    }
+    function isReadableStreamLike(stream2) {
+      return stream2 instanceof ReadableStream || stream2[Symbol.toStringTag] === "ReadableStream" && typeof stream2.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/@actions/github/node_modules/undici/lib/web/fetch/symbols.js
+var require_symbols7 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kUrl: /* @__PURE__ */ Symbol("url"),
+      kHeaders: /* @__PURE__ */ Symbol("headers"),
+      kSignal: /* @__PURE__ */ Symbol("signal"),
+      kState: /* @__PURE__ */ Symbol("state"),
+      kDispatcher: /* @__PURE__ */ Symbol("dispatcher")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js
+var require_file2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js"(exports2, module2) {
+    "use strict";
+    var { Blob: Blob2, File: File2 } = require("node:buffer");
+    var { kState } = require_symbols7();
+    var { webidl } = require_webidl2();
+    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 File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
+    }
+    module2.exports = { FileLike, isFileLike };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js
+var require_formdata2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js"(exports2, module2) {
+    "use strict";
+    var { isBlobLike, iteratorMixin } = require_util10();
+    var { kState } = require_symbols7();
+    var { kEnumerableProperty } = require_util9();
+    var { FileLike, isFileLike } = require_file2();
+    var { webidl } = require_webidl2();
+    var { File: NativeFile } = require("node:buffer");
+    var nodeUtil = require("node:util");
+    var File2 = globalThis.File ?? NativeFile;
+    var FormData2 = 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", FormData2, kState, "name", "value");
+    Object.defineProperties(FormData2.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 File2([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 File2([value], filename, options) : new FileLike(value, filename, options);
+        }
+      }
+      return { name, value };
+    }
+    module2.exports = { FormData: FormData2, makeEntry };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js
+var require_formdata_parser2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js"(exports2, module2) {
+    "use strict";
+    var { isUSVString, bufferToLowerCasedHeaderName } = require_util9();
+    var { utf8DecodeBytes } = require_util10();
+    var { HTTP_TOKEN_CODEPOINTS, isomorphicDecode } = require_data_url2();
+    var { isFileLike } = require_file2();
+    var { makeEntry } = require_formdata2();
+    var assert = require("node:assert");
+    var { File: NodeFile } = require("node:buffer");
+    var File2 = globalThis.File ?? NodeFile;
+    var formDataNameBuffer = Buffer.from('form-data; name="');
+    var filenameBuffer = Buffer.from("; filename");
+    var dd = Buffer.from("--");
+    var ddcrlf = Buffer.from("--\r\n");
+    function isAsciiString(chars) {
+      for (let i = 0; i < chars.length; ++i) {
+        if ((chars.charCodeAt(i) & ~127) !== 0) {
+          return false;
+        }
+      }
+      return true;
+    }
+    function validateBoundary(boundary) {
+      const length = boundary.length;
+      if (length < 27 || length > 70) {
+        return false;
+      }
+      for (let i = 0; i < length; ++i) {
+        const cp = boundary.charCodeAt(i);
+        if (!(cp >= 48 && cp <= 57 || cp >= 65 && cp <= 90 || cp >= 97 && cp <= 122 || cp === 39 || cp === 45 || cp === 95)) {
+          return false;
+        }
+      }
+      return true;
+    }
+    function multipartFormDataParser(input, mimeType) {
+      assert(mimeType !== "failure" && mimeType.essence === "multipart/form-data");
+      const boundaryString = mimeType.parameters.get("boundary");
+      if (boundaryString === void 0) {
+        return "failure";
+      }
+      const boundary = Buffer.from(`--${boundaryString}`, "utf8");
+      const entryList = [];
+      const position = { position: 0 };
+      while (input[position.position] === 13 && input[position.position + 1] === 10) {
+        position.position += 2;
+      }
+      let trailing = input.length;
+      while (input[trailing - 1] === 10 && input[trailing - 2] === 13) {
+        trailing -= 2;
+      }
+      if (trailing !== input.length) {
+        input = input.subarray(0, trailing);
+      }
+      while (true) {
+        if (input.subarray(position.position, position.position + boundary.length).equals(boundary)) {
+          position.position += boundary.length;
+        } else {
+          return "failure";
+        }
+        if (position.position === input.length - 2 && bufferStartsWith(input, dd, position) || position.position === input.length - 4 && bufferStartsWith(input, ddcrlf, position)) {
+          return entryList;
+        }
+        if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
+          return "failure";
+        }
+        position.position += 2;
+        const result = parseMultipartFormDataHeaders(input, position);
+        if (result === "failure") {
+          return "failure";
+        }
+        let { name, filename, contentType, encoding } = result;
+        position.position += 2;
+        let body;
+        {
+          const boundaryIndex = input.indexOf(boundary.subarray(2), position.position);
+          if (boundaryIndex === -1) {
+            return "failure";
+          }
+          body = input.subarray(position.position, boundaryIndex - 4);
+          position.position += body.length;
+          if (encoding === "base64") {
+            body = Buffer.from(body.toString(), "base64");
+          }
+        }
+        if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
+          return "failure";
+        } else {
+          position.position += 2;
+        }
+        let value;
+        if (filename !== null) {
+          contentType ??= "text/plain";
+          if (!isAsciiString(contentType)) {
+            contentType = "";
+          }
+          value = new File2([body], filename, { type: contentType });
+        } else {
+          value = utf8DecodeBytes(Buffer.from(body));
+        }
+        assert(isUSVString(name));
+        assert(typeof value === "string" && isUSVString(value) || isFileLike(value));
+        entryList.push(makeEntry(name, value, filename));
+      }
+    }
+    function parseMultipartFormDataHeaders(input, position) {
+      let name = null;
+      let filename = null;
+      let contentType = null;
+      let encoding = null;
+      while (true) {
+        if (input[position.position] === 13 && input[position.position + 1] === 10) {
+          if (name === null) {
+            return "failure";
+          }
+          return { name, filename, contentType, encoding };
+        }
+        let headerName = collectASequenceOfBytes(
+          (char) => char !== 10 && char !== 13 && char !== 58,
+          input,
+          position
+        );
+        headerName = removeChars(headerName, true, true, (char) => char === 9 || char === 32);
+        if (!HTTP_TOKEN_CODEPOINTS.test(headerName.toString())) {
+          return "failure";
+        }
+        if (input[position.position] !== 58) {
+          return "failure";
+        }
+        position.position++;
+        collectASequenceOfBytes(
+          (char) => char === 32 || char === 9,
+          input,
+          position
+        );
+        switch (bufferToLowerCasedHeaderName(headerName)) {
+          case "content-disposition": {
+            name = filename = null;
+            if (!bufferStartsWith(input, formDataNameBuffer, position)) {
+              return "failure";
+            }
+            position.position += 17;
+            name = parseMultipartFormDataName(input, position);
+            if (name === null) {
+              return "failure";
+            }
+            if (bufferStartsWith(input, filenameBuffer, position)) {
+              let check = position.position + filenameBuffer.length;
+              if (input[check] === 42) {
+                position.position += 1;
+                check += 1;
+              }
+              if (input[check] !== 61 || input[check + 1] !== 34) {
+                return "failure";
+              }
+              position.position += 12;
+              filename = parseMultipartFormDataName(input, position);
+              if (filename === null) {
+                return "failure";
+              }
+            }
+            break;
+          }
+          case "content-type": {
+            let headerValue = collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+            headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
+            contentType = isomorphicDecode(headerValue);
+            break;
+          }
+          case "content-transfer-encoding": {
+            let headerValue = collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+            headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
+            encoding = isomorphicDecode(headerValue);
+            break;
+          }
+          default: {
+            collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+          }
+        }
+        if (input[position.position] !== 13 && input[position.position + 1] !== 10) {
+          return "failure";
+        } else {
+          position.position += 2;
+        }
+      }
+    }
+    function parseMultipartFormDataName(input, position) {
+      assert(input[position.position - 1] === 34);
+      let name = collectASequenceOfBytes(
+        (char) => char !== 10 && char !== 13 && char !== 34,
+        input,
+        position
+      );
+      if (input[position.position] !== 34) {
+        return null;
+      } else {
+        position.position++;
+      }
+      name = new TextDecoder().decode(name).replace(/%0A/ig, "\n").replace(/%0D/ig, "\r").replace(/%22/g, '"');
+      return name;
+    }
+    function collectASequenceOfBytes(condition, input, position) {
+      let start = position.position;
+      while (start < input.length && condition(input[start])) {
+        ++start;
+      }
+      return input.subarray(position.position, position.position = start);
+    }
+    function removeChars(buf, leading, trailing, predicate) {
+      let lead = 0;
+      let trail = buf.length - 1;
+      if (leading) {
+        while (lead < buf.length && predicate(buf[lead])) lead++;
+      }
+      if (trailing) {
+        while (trail > 0 && predicate(buf[trail])) trail--;
+      }
+      return lead === 0 && trail === buf.length - 1 ? buf : buf.subarray(lead, trail + 1);
+    }
+    function bufferStartsWith(buffer, start, position) {
+      if (buffer.length < start.length) {
+        return false;
+      }
+      for (let i = 0; i < start.length; i++) {
+        if (start[i] !== buffer[position.position + i]) {
+          return false;
+        }
+      }
+      return true;
+    }
+    module2.exports = {
+      multipartFormDataParser,
+      validateBoundary
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js
+var require_body2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js"(exports2, module2) {
+    "use strict";
+    var util = require_util9();
+    var {
+      ReadableStreamFrom,
+      isBlobLike,
+      isReadableStreamLike,
+      readableStreamClose,
+      createDeferredPromise,
+      fullyReadBody,
+      extractMimeType,
+      utf8DecodeBytes
+    } = require_util10();
+    var { FormData: FormData2 } = require_formdata2();
+    var { kState } = require_symbols7();
+    var { webidl } = require_webidl2();
+    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_url2();
+    var { multipartFormDataParser } = require_formdata_parser2();
+    var random;
+    try {
+      const crypto2 = require("node:crypto");
+      random = (max) => crypto2.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 stream2 = weakRef.deref();
+        if (stream2 && !stream2.locked && !isDisturbed(stream2) && !isErrored(stream2)) {
+          stream2.cancel("Response object has been garbage collected").catch(noop3);
+        }
+      });
+    }
+    function extractBody(object, keepalive = false) {
+      let stream2 = null;
+      if (object instanceof ReadableStream) {
+        stream2 = object;
+      } else if (isBlobLike(object)) {
+        stream2 = object.stream();
+      } else {
+        stream2 = 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(stream2));
+      let action = null;
+      let source = null;
+      let length = null;
+      let type2 = null;
+      if (typeof object === "string") {
+        source = object;
+        type2 = "text/plain;charset=UTF-8";
+      } else if (object instanceof URLSearchParams) {
+        source = object.toString();
+        type2 = "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 = (str2) => str2.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;
+            }
+          }
+        };
+        type2 = `multipart/form-data; boundary=${boundary}`;
+      } else if (isBlobLike(object)) {
+        source = object;
+        length = object.size;
+        if (object.type) {
+          type2 = 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"
+          );
+        }
+        stream2 = object instanceof ReadableStream ? object : ReadableStreamFrom(object);
+      }
+      if (typeof source === "string" || util.isBuffer(source)) {
+        length = Buffer.byteLength(source);
+      }
+      if (action != null) {
+        let iterator2;
+        stream2 = 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(stream2)) {
+                const buffer = new Uint8Array(value);
+                if (buffer.byteLength) {
+                  controller.enqueue(buffer);
+                }
+              }
+            }
+            return controller.desiredSize > 0;
+          },
+          async cancel(reason) {
+            await iterator2.return();
+          },
+          type: "bytes"
+        });
+      }
+      const body = { stream: stream2, source, length };
+      return [body, type2];
+    }
+    function safelyExtractBody(object, keepalive = false) {
+      if (object instanceof ReadableStream) {
+        assert(!util.isDisturbed(object), "The body has already been consumed.");
+        assert(!object.locked, "The stream is locked.");
+      }
+      return extractBody(object, keepalive);
+    }
+    function cloneBody(instance, body) {
+      const [out1, out2] = body.stream.tee();
+      body.stream = out1;
+      return {
+        stream: out2,
+        length: body.length,
+        source: body.source
+      };
+    }
+    function throwIfAborted(state) {
+      if (state.aborted) {
+        throw new DOMException("The operation was aborted.", "AbortError");
+      }
+    }
+    function bodyMixinMethods(instance) {
+      const methods = {
+        blob() {
+          return consumeBody(this, (bytes) => {
+            let mimeType = bodyMimeType(this);
+            if (mimeType === null) {
+              mimeType = "";
+            } else if (mimeType) {
+              mimeType = serializeAMimeType(mimeType);
+            }
+            return new Blob2([bytes], { type: mimeType });
+          }, instance);
+        },
+        arrayBuffer() {
+          return consumeBody(this, (bytes) => {
+            return new Uint8Array(bytes).buffer;
+          }, instance);
+        },
+        text() {
+          return consumeBody(this, utf8DecodeBytes, instance);
+        },
+        json() {
+          return consumeBody(this, parseJSONFromBytes, instance);
+        },
+        formData() {
+          return consumeBody(this, (value) => {
+            const mimeType = bodyMimeType(this);
+            if (mimeType !== null) {
+              switch (mimeType.essence) {
+                case "multipart/form-data": {
+                  const parsed = multipartFormDataParser(value, mimeType);
+                  if (parsed === "failure") {
+                    throw new TypeError("Failed to parse body as FormData.");
+                  }
+                  const fd = new FormData2();
+                  fd[kState] = parsed;
+                  return fd;
+                }
+                case "application/x-www-form-urlencoded": {
+                  const entries = new URLSearchParams(value.toString());
+                  const fd = new FormData2();
+                  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 = (error3) => promise.reject(error3);
+      const successSteps = (data) => {
+        try {
+          promise.resolve(convertBytesToJSValue(data));
+        } catch (e) {
+          errorSteps(e);
+        }
+      };
+      if (object[kState].body == null) {
+        successSteps(Buffer.allocUnsafe(0));
+        return promise.promise;
+      }
+      await fullyReadBody(object[kState].body, successSteps, errorSteps);
+      return promise.promise;
+    }
+    function bodyUnusable(object) {
+      const body = object[kState].body;
+      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
+    }
+    function parseJSONFromBytes(bytes) {
+      return JSON.parse(utf8DecodeBytes(bytes));
+    }
+    function bodyMimeType(requestOrResponse) {
+      const headers = requestOrResponse[kState].headersList;
+      const mimeType = extractMimeType(headers);
+      if (mimeType === "failure") {
+        return null;
+      }
+      return mimeType;
+    }
+    module2.exports = {
+      extractBody,
+      safelyExtractBody,
+      cloneBody,
+      mixinBody,
+      streamRegistry,
+      hasFinalizationRegistry,
+      bodyUnusable
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js
+var require_client_h12 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var util = require_util9();
+    var { channels } = require_diagnostics2();
+    var timers = require_timers2();
+    var {
+      RequestContentLengthMismatchError,
+      ResponseContentLengthMismatchError,
+      RequestAbortedError,
+      HeadersTimeoutError,
+      HeadersOverflowError,
+      SocketError,
+      InformationalError,
+      BodyTimeoutError,
+      HTTPParserError,
+      ResponseExceededMaxSizeError
+    } = require_errors2();
+    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_symbols6();
+    var constants = require_constants7();
+    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_wasm2() : void 0;
+      let mod;
+      try {
+        mod = await WebAssembly.compile(require_llhttp_simd_wasm2());
+      } catch (e) {
+        mod = await WebAssembly.compile(llhttpWasmData || require_llhttp_wasm2());
+      }
+      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(delay2, type2) {
+        if (delay2 !== this.timeoutValue || type2 & USE_FAST_TIMER ^ this.timeoutType & USE_FAST_TIMER) {
+          if (this.timeout) {
+            timers.clearTimeout(this.timeout);
+            this.timeout = null;
+          }
+          if (delay2) {
+            if (type2 & USE_FAST_TIMER) {
+              this.timeout = timers.setFastTimeout(onParserTimeout, delay2, new WeakRef(this));
+            } else {
+              this.timeout = setTimeout(onParserTimeout, delay2, new WeakRef(this));
+              this.timeout.unref();
+            }
+          }
+          this.timeoutValue = delay2;
+        } else if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
+        }
+        this.timeoutType = type2;
+      }
+      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]();
+        }
+      }
     };
-    webidl.errors.conversionFailed = function(context2) {
-      const plural = context2.types.length === 1 ? "" : " one of";
-      const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`;
-      return webidl.errors.exception({
-        header: context2.prefix,
-        message
+    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);
       });
-    };
-    webidl.errors.invalidArgument = function(context2) {
-      return webidl.errors.exception({
-        header: context2.prefix,
-        message: `"${context2.value}" is an invalid ${context2.type}.`
+      addListener(socket, "readable", function() {
+        const parser = this[kParser];
+        if (parser) {
+          parser.readMore();
+        }
       });
-    };
-    webidl.brandCheck = function(V, I, opts = void 0) {
-      if (opts?.strict !== false && !(V instanceof I)) {
-        throw new TypeError("Illegal invocation");
+      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: path8, host, upgrade, blocking, reset } = request2;
+      let { body, headers, contentLength } = request2;
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH" || method === "QUERY" || method === "PROPFIND" || method === "PROPPATCH";
+      if (util.isFormDataLike(body)) {
+        if (!extractBody) {
+          extractBody = require_body2().extractBody;
+        }
+        const [bodyStream, contentType] = extractBody(body);
+        if (request2.contentType == null) {
+          headers.push("content-type", contentType);
+        }
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
+      } else if (util.isBlobLike(body) && request2.contentType == null && body.type) {
+        headers.push("content-type", body.type);
+      }
+      if (body && typeof body.read === "function") {
+        body.read(0);
+      }
+      const bodyLength = util.bodyLength(body);
+      contentLength = bodyLength ?? contentLength;
+      if (contentLength === null) {
+        contentLength = request2.contentLength;
+      }
+      if (contentLength === 0 && !expectsPayload) {
+        contentLength = null;
+      }
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          util.errorRequest(client, request2, new RequestContentLengthMismatchError());
+          return false;
+        }
+        process.emitWarning(new RequestContentLengthMismatchError());
+      }
+      const socket = client[kSocket];
+      const abort = (err) => {
+        if (request2.aborted || request2.completed) {
+          return;
+        }
+        util.errorRequest(client, request2, err || new RequestAbortedError());
+        util.destroy(body);
+        util.destroy(socket, new InformationalError("aborted"));
+      };
+      try {
+        request2.onConnect(abort);
+      } catch (err) {
+        util.errorRequest(client, request2, err);
+      }
+      if (request2.aborted) {
+        return false;
+      }
+      if (method === "HEAD") {
+        socket[kReset] = true;
+      }
+      if (upgrade || method === "CONNECT") {
+        socket[kReset] = true;
+      }
+      if (reset != null) {
+        socket[kReset] = reset;
+      }
+      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
+        socket[kReset] = true;
+      }
+      if (blocking) {
+        socket[kBlocking] = true;
+      }
+      let header = `${method} ${path8} HTTP/1.1\r
+`;
+      if (typeof host === "string") {
+        header += `host: ${host}\r
+`;
       } else {
-        return V?.[Symbol.toStringTag] === I.prototype[Symbol.toStringTag];
+        header += client[kHostHeader];
       }
-    };
-    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.`,
-          ...ctx
-        });
+      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";
       }
-    };
-    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";
+      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
+`;
           }
-          return "Object";
         }
       }
-    };
-    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;
+      if (channels.sendHeaders.hasSubscribers) {
+        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      }
+      if (!body || bodyLength === 0) {
+        writeBuffer(abort, null, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isBuffer(body)) {
+        writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isBlobLike(body)) {
+        if (typeof body.stream === "function") {
+          writeIterable(abort, body.stream(), client, request2, socket, contentLength, header, expectsPayload);
+        } else {
+          writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+        }
+      } else if (util.isStream(body)) {
+        writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isIterable(body)) {
+        writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else {
+        assert(false);
+      }
+      return true;
+    }
+    function writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      let finished = false;
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
+      const onData = function(chunk) {
+        if (finished) {
+          return;
+        }
+        try {
+          if (!writer.write(chunk) && this.pause) {
+            this.pause();
+          }
+        } catch (err) {
+          util.destroy(this, err);
+        }
+      };
+      const onDrain = function() {
+        if (finished) {
+          return;
+        }
+        if (body.resume) {
+          body.resume();
+        }
+      };
+      const onClose = function() {
+        queueMicrotask(() => {
+          body.removeListener("error", onFinished);
+        });
+        if (!finished) {
+          const err = new RequestAbortedError();
+          queueMicrotask(() => onFinished(err));
+        }
+      };
+      const onFinished = function(err) {
+        if (finished) {
+          return;
+        }
+        finished = true;
+        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
+        socket.off("drain", onDrain).off("error", onFinished);
+        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("close", onClose);
+        if (!err) {
+          try {
+            writer.end();
+          } catch (er) {
+            err = er;
+          }
+        }
+        writer.destroy(err);
+        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
+          util.destroy(body, err);
         } else {
-          lowerBound = Math.pow(-2, 53) + 1;
+          util.destroy(body);
         }
-      } 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;
+      };
+      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onClose);
+      if (body.resume) {
+        body.resume();
       }
-      let x = Number(V);
-      if (x === 0) {
-        x = 0;
+      socket.on("drain", onDrain).on("error", onFinished);
+      if (body.errorEmitted ?? body.errored) {
+        setImmediate(() => onFinished(body.errored));
+      } else if (body.endEmitted ?? body.readableEnded) {
+        setImmediate(() => onFinished(null));
       }
-      if (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 ${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}.`
-          });
+      if (body.closeEmitted ?? body.closed) {
+        setImmediate(onClose);
+      }
+    }
+    function writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      try {
+        if (!body) {
+          if (contentLength === 0) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
+          } else {
+            assert(contentLength === null, "no body must not have content length");
+            socket.write(`${header}\r
+`, "latin1");
+          }
+        } else if (util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          socket.cork();
+          socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+          socket.write(body);
+          socket.uncork();
+          request2.onBodySent(body);
+          if (!expectsPayload && request2.reset !== false) {
+            socket[kReset] = true;
+          }
         }
-        return x;
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      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);
+    }
+    async function writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength === body.size, "blob body must have content length");
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
         }
-        return x;
+        const buffer = Buffer.from(await body.arrayBuffer());
+        socket.cork();
+        socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+        socket.write(buffer);
+        socket.uncork();
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload && request2.reset !== false) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
-        return 0;
+    }
+    async function writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
+        }
       }
-      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);
+      const waitForDrain = () => new Promise((resolve4, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve4;
+        }
+      });
+      socket.on("close", onDrain).on("drain", onDrain);
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          if (!writer.write(chunk)) {
+            await waitForDrain();
+          }
+        }
+        writer.end();
+      } catch (err) {
+        writer.destroy(err);
+      } finally {
+        socket.off("close", onDrain).off("drain", onDrain);
       }
-      return x;
-    };
-    webidl.util.IntegerPart = function(n) {
-      const r = Math.floor(Math.abs(n));
-      if (n < 0) {
-        return -1 * r;
+    }
+    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;
       }
-      return r;
-    };
-    webidl.sequenceConverter = function(converter) {
-      return (V) => {
-        if (webidl.util.Type(V) !== "Object") {
-          throw webidl.errors.exception({
-            header: "Sequence",
-            message: `Value of type ${webidl.util.Type(V)} is not an Object.`
-          });
+      write(chunk) {
+        const { socket, request: request2, contentLength, client, bytesWritten, expectsPayload, header } = this;
+        if (socket[kError]) {
+          throw socket[kError];
         }
-        const method = V?.[Symbol.iterator]?.();
-        const seq2 = [];
-        if (method === void 0 || typeof method.next !== "function") {
-          throw webidl.errors.exception({
-            header: "Sequence",
-            message: "Object is not an iterator."
-          });
+        if (socket.destroyed) {
+          return false;
         }
-        while (true) {
-          const { done, value } = method.next();
-          if (done) {
-            break;
+        const len = Buffer.byteLength(chunk);
+        if (!len) {
+          return true;
+        }
+        if (contentLength !== null && bytesWritten + len > contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
           }
-          seq2.push(converter(value));
+          process.emitWarning(new RequestContentLengthMismatchError());
         }
-        return seq2;
-      };
-    };
-    webidl.recordConverter = function(keyConverter, valueConverter) {
-      return (O) => {
-        if (webidl.util.Type(O) !== "Object") {
-          throw webidl.errors.exception({
-            header: "Record",
-            message: `Value of type ${webidl.util.Type(O)} is not an Object.`
-          });
+        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");
+          }
         }
-        const result = {};
-        if (!types.isProxy(O)) {
-          const keys2 = Object.keys(O);
-          for (const key of keys2) {
-            const typedKey = keyConverter(key);
-            const typedValue = valueConverter(O[key]);
-            result[typedKey] = typedValue;
+        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 result;
         }
-        const keys = Reflect.ownKeys(O);
-        for (const key of keys) {
-          const desc = Reflect.getOwnPropertyDescriptor(O, key);
-          if (desc?.enumerable) {
-            const typedKey = keyConverter(key);
-            const typedValue = valueConverter(O[key]);
-            result[typedKey] = typedValue;
+        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");
         }
-        return result;
-      };
-    };
-    webidl.interfaceConverter = function(i) {
-      return (V, opts = {}) => {
-        if (opts.strict !== false && !(V instanceof i)) {
-          throw webidl.errors.exception({
-            header: i.name,
-            message: `Expected ${V} to be an instance of ${i.name}.`
-          });
+        if (contentLength !== null && bytesWritten !== contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
+          } else {
+            process.emitWarning(new RequestContentLengthMismatchError());
+          }
         }
-        return V;
-      };
+        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);
+        }
+      }
     };
-    webidl.dictionaryConverter = function(converters) {
-      return (dictionary) => {
-        const type2 = webidl.util.Type(dictionary);
-        const dict = {};
-        if (type2 === "Null" || type2 === "Undefined") {
-          return dict;
-        } else if (type2 !== "Object") {
-          throw webidl.errors.exception({
-            header: "Dictionary",
-            message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`
-          });
+    module2.exports = connectH1;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h2.js
+var require_client_h22 = __commonJS({
+  "node_modules/@actions/github/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_util9();
+    var {
+      RequestContentLengthMismatchError,
+      RequestAbortedError,
+      SocketError,
+      InformationalError
+    } = require_errors2();
+    var {
+      kUrl,
+      kReset,
+      kClient,
+      kRunning,
+      kPending,
+      kQueue,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kSocket,
+      kStrictContentLength,
+      kOnError,
+      kMaxConcurrentStreams,
+      kHTTP2Session,
+      kResume,
+      kSize,
+      kHTTPContext
+    } = require_symbols6();
+    var kOpenStreams = /* @__PURE__ */ 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));
         }
-        for (const options of converters) {
-          const { key, defaultValue, required, converter } = options;
-          if (required === true) {
-            if (!hasOwn(dictionary, key)) {
-              throw webidl.errors.exception({
-                header: "Dictionary",
-                message: `Missing required key "${key}".`
-              });
-            }
+      }
+      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);
           }
-          let value = dictionary[key];
-          const hasDefault = hasOwn(options, "defaultValue");
-          if (hasDefault && value !== null) {
-            value = value ?? defaultValue;
+        }
+      });
+      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);
           }
-          if (required || hasDefault || value !== void 0) {
-            value = converter(value);
-            if (options.allowedValues && !options.allowedValues.includes(value)) {
-              throw webidl.errors.exception({
-                header: "Dictionary",
-                message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
-              });
+        },
+        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(type2, code, id) {
+      if (id === 0) {
+        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, 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: path8, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
+      let { body } = request2;
+      if (upgrade) {
+        util.errorRequest(client, request2, new Error("Upgrade not supported for H2"));
+        return false;
+      }
+      const headers = {};
+      for (let n = 0; n < reqHeaders.length; n += 2) {
+        const key = reqHeaders[n + 0];
+        const val = reqHeaders[n + 1];
+        if (Array.isArray(val)) {
+          for (let i = 0; i < val.length; i++) {
+            if (headers[key]) {
+              headers[key] += `,${val[i]}`;
+            } else {
+              headers[key] = val[i];
             }
-            dict[key] = value;
           }
+        } else {
+          headers[key] = val;
         }
-        return dict;
-      };
-    };
-    webidl.nullableConverter = function(converter) {
-      return (V) => {
-        if (V === null) {
-          return V;
+      }
+      let stream2;
+      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 (stream2 != null) {
+          util.destroy(stream2, err);
         }
-        return converter(V);
+        util.destroy(body, err);
+        client[kQueue][client[kRunningIdx]++] = null;
+        client[kResume]();
       };
-    };
-    webidl.converters.DOMString = function(V, opts = {}) {
-      if (V === null && opts.legacyNullToEmptyString) {
-        return "";
+      try {
+        request2.onConnect(abort);
+      } catch (err) {
+        util.errorRequest(client, request2, err);
       }
-      if (typeof V === "symbol") {
-        throw new TypeError("Could not convert argument of type symbol to string.");
+      if (request2.aborted) {
+        return false;
       }
-      return String(V);
-    };
-    webidl.converters.ByteString = function(V) {
-      const x = webidl.converters.DOMString(V);
-      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.`
-          );
+      if (method === "CONNECT") {
+        session.ref();
+        stream2 = session.request(headers, { endStream: false, signal });
+        if (stream2.id && !stream2.pending) {
+          request2.onUpgrade(null, null, stream2);
+          ++session[kOpenStreams];
+          client[kQueue][client[kRunningIdx]++] = null;
+        } else {
+          stream2.once("ready", () => {
+            request2.onUpgrade(null, null, stream2);
+            ++session[kOpenStreams];
+            client[kQueue][client[kRunningIdx]++] = null;
+          });
         }
-      }
-      return x;
-    };
-    webidl.converters.USVString = toUSVString;
-    webidl.converters.boolean = function(V) {
-      const x = Boolean(V);
-      return x;
-    };
-    webidl.converters.any = function(V) {
-      return V;
-    };
-    webidl.converters["long long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 64, "signed");
-      return x;
-    };
-    webidl.converters["unsigned long long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 64, "unsigned");
-      return x;
-    };
-    webidl.converters["unsigned long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 32, "unsigned");
-      return x;
-    };
-    webidl.converters["unsigned short"] = function(V, opts) {
-      const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts);
-      return x;
-    };
-    webidl.converters.ArrayBuffer = function(V, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {
-        throw webidl.errors.conversionFailed({
-          prefix: `${V}`,
-          argument: `${V}`,
-          types: ["ArrayBuffer"]
-        });
-      }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
-      }
-      return V;
-    };
-    webidl.converters.TypedArray = function(V, T, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {
-        throw webidl.errors.conversionFailed({
-          prefix: `${T.name}`,
-          argument: `${V}`,
-          types: [T.name]
-        });
-      }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
-      }
-      return V;
-    };
-    webidl.converters.DataView = function(V, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {
-        throw webidl.errors.exception({
-          header: "DataView",
-          message: "Object is not a DataView."
-        });
-      }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
+        stream2.once("close", () => {
+          session[kOpenStreams] -= 1;
+          if (session[kOpenStreams] === 0) session.unref();
         });
+        return true;
       }
-      return V;
-    };
-    webidl.converters.BufferSource = function(V, opts = {}) {
-      if (types.isAnyArrayBuffer(V)) {
-        return webidl.converters.ArrayBuffer(V, opts);
+      headers[HTTP2_HEADER_PATH] = path8;
+      headers[HTTP2_HEADER_SCHEME] = "https";
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
+      if (body && typeof body.read === "function") {
+        body.read(0);
       }
-      if (types.isTypedArray(V)) {
-        return webidl.converters.TypedArray(V, V.constructor);
+      let contentLength = util.bodyLength(body);
+      if (util.isFormDataLike(body)) {
+        extractBody ??= require_body2().extractBody;
+        const [bodyStream, contentType] = extractBody(body);
+        headers["content-type"] = contentType;
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
       }
-      if (types.isDataView(V)) {
-        return webidl.converters.DataView(V, opts);
+      if (contentLength == null) {
+        contentLength = request2.contentLength;
       }
-      throw new TypeError(`Could not convert ${V} to a BufferSource.`);
-    };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.ByteString
-    );
-    webidl.converters["sequence>"] = webidl.sequenceConverter(
-      webidl.converters["sequence"]
-    );
-    webidl.converters["record"] = webidl.recordConverter(
-      webidl.converters.ByteString,
-      webidl.converters.ByteString
-    );
-    module2.exports = {
-      webidl
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/dataURL.js
-var require_dataURL = __commonJS({
-  "node_modules/undici/lib/fetch/dataURL.js"(exports2, module2) {
-    var assert = require("assert");
-    var { atob: atob2 } = require("buffer");
-    var { isomorphicDecode } = require_util10();
-    var encoder = new TextEncoder();
-    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/;
-    var HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/;
-    var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/;
-    function dataURLProcessor(dataURL) {
-      assert(dataURL.protocol === "data:");
-      let input = URLSerializer(dataURL, true);
-      input = input.slice(5);
-      const position = { position: 0 };
-      let mimeType = collectASequenceOfCodePointsFast(
-        ",",
-        input,
-        position
-      );
-      const mimeTypeLength = mimeType.length;
-      mimeType = removeASCIIWhitespace(mimeType, true, true);
-      if (position.position >= input.length) {
-        return "failure";
+      if (contentLength === 0 || !expectsPayload) {
+        contentLength = null;
       }
-      position.position++;
-      const encodedBody = input.slice(mimeTypeLength + 1);
-      let body = stringPercentDecode(encodedBody);
-      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
-        const stringBody = isomorphicDecode(body);
-        body = forgivingBase64(stringBody);
-        if (body === "failure") {
-          return "failure";
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          util.errorRequest(client, request2, new RequestContentLengthMismatchError());
+          return false;
         }
-        mimeType = mimeType.slice(0, -6);
-        mimeType = mimeType.replace(/(\u0020)+$/, "");
-        mimeType = mimeType.slice(0, -1);
+        process.emitWarning(new RequestContentLengthMismatchError());
       }
-      if (mimeType.startsWith(";")) {
-        mimeType = "text/plain" + mimeType;
+      if (contentLength != null) {
+        assert(body, "no body must not have content length");
+        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
       }
-      let mimeTypeRecord = parseMIMEType(mimeType);
-      if (mimeTypeRecord === "failure") {
-        mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
+      session.ref();
+      const shouldEndStream = method === "GET" || method === "HEAD" || body === null;
+      if (expectContinue) {
+        headers[HTTP2_HEADER_EXPECT] = "100-continue";
+        stream2 = session.request(headers, { endStream: shouldEndStream, signal });
+        stream2.once("continue", writeBodyH2);
+      } else {
+        stream2 = session.request(headers, {
+          endStream: shouldEndStream,
+          signal
+        });
+        writeBodyH2();
       }
-      return { mimeType: mimeTypeRecord, body };
-    }
-    function URLSerializer(url, excludeFragment = false) {
-      if (!excludeFragment) {
-        return url.href;
+      ++session[kOpenStreams];
+      stream2.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(stream2, err);
+          return;
+        }
+        if (request2.onHeaders(Number(statusCode), parseH2Headers(realHeaders), stream2.resume.bind(stream2), "") === false) {
+          stream2.pause();
+        }
+        stream2.on("data", (chunk) => {
+          if (request2.onData(chunk) === false) {
+            stream2.pause();
+          }
+        });
+      });
+      stream2.once("end", () => {
+        if (stream2.state?.state == null || stream2.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]();
+      });
+      stream2.once("close", () => {
+        session[kOpenStreams] -= 1;
+        if (session[kOpenStreams] === 0) {
+          session.unref();
+        }
+      });
+      stream2.once("error", function(err) {
+        abort(err);
+      });
+      stream2.once("frameError", (type2, code) => {
+        abort(new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`));
+      });
+      return true;
+      function writeBodyH2() {
+        if (!body || contentLength === 0) {
+          writeBuffer(
+            abort,
+            stream2,
+            null,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else if (util.isBuffer(body)) {
+          writeBuffer(
+            abort,
+            stream2,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else if (util.isBlobLike(body)) {
+          if (typeof body.stream === "function") {
+            writeIterable(
+              abort,
+              stream2,
+              body.stream(),
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
+          } else {
+            writeBlob(
+              abort,
+              stream2,
+              body,
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
+          }
+        } else if (util.isStream(body)) {
+          writeStream(
+            abort,
+            client[kSocket],
+            expectsPayload,
+            stream2,
+            body,
+            client,
+            request2,
+            contentLength
+          );
+        } else if (util.isIterable(body)) {
+          writeIterable(
+            abort,
+            stream2,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else {
+          assert(false);
+        }
       }
-      const href = url.href;
-      const hashLength = url.hash.length;
-      return hashLength === 0 ? href : href.substring(0, href.length - hashLength);
     }
-    function collectASequenceOfCodePoints(condition, input, position) {
-      let result = "";
-      while (position.position < input.length && condition(input[position.position])) {
-        result += input[position.position];
-        position.position++;
+    function writeBuffer(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      try {
+        if (body != null && util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          h2stream.cork();
+          h2stream.write(body);
+          h2stream.uncork();
+          h2stream.end();
+          request2.onBodySent(body);
+        }
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (error3) {
+        abort(error3);
       }
-      return result;
     }
-    function collectASequenceOfCodePointsFast(char, input, position) {
-      const idx = input.indexOf(char, position.position);
-      const start = position.position;
-      if (idx === -1) {
-        position.position = input.length;
-        return input.slice(start);
+    function writeStream(abort, socket, expectsPayload, h2stream, body, client, request2, contentLength) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      const pipe = pipeline(
+        body,
+        h2stream,
+        (err) => {
+          if (err) {
+            util.destroy(pipe, err);
+            abort(err);
+          } else {
+            util.removeAllListeners(pipe);
+            request2.onRequestSent();
+            if (!expectsPayload) {
+              socket[kReset] = true;
+            }
+            client[kResume]();
+          }
+        }
+      );
+      util.addListener(pipe, "data", onPipeData);
+      function onPipeData(chunk) {
+        request2.onBodySent(chunk);
       }
-      position.position = idx;
-      return input.slice(start, position.position);
-    }
-    function stringPercentDecode(input) {
-      const bytes = encoder.encode(input);
-      return percentDecode(bytes);
     }
-    function percentDecode(input) {
-      const output = [];
-      for (let i = 0; i < input.length; i++) {
-        const byte = input[i];
-        if (byte !== 37) {
-          output.push(byte);
-        } else if (byte === 37 && !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i + 1], input[i + 2]))) {
-          output.push(37);
-        } else {
-          const nextTwoBytes = String.fromCharCode(input[i + 1], input[i + 2]);
-          const bytePoint = Number.parseInt(nextTwoBytes, 16);
-          output.push(bytePoint);
-          i += 2;
+    async function writeBlob(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength === body.size, "blob body must have content length");
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
+        }
+        const buffer = Buffer.from(await body.arrayBuffer());
+        h2stream.cork();
+        h2stream.write(buffer);
+        h2stream.uncork();
+        h2stream.end();
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
         }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      return Uint8Array.from(output);
     }
-    function parseMIMEType(input) {
-      input = removeHTTPWhitespace(input, true, true);
-      const position = { position: 0 };
-      const type2 = collectASequenceOfCodePointsFast(
-        "/",
-        input,
-        position
-      );
-      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
-        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";
+    async function writeIterable(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
+        }
       }
-      const typeLowercase = type2.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;
+      const waitForDrain = () => new Promise((resolve4, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve4;
+        }
+      });
+      h2stream.on("close", onDrain).on("drain", onDrain);
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          const res = h2stream.write(chunk);
+          request2.onBodySent(chunk);
+          if (!res) {
+            await waitForDrain();
           }
-          position.position++;
         }
-        if (position.position > input.length) {
-          break;
+        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/@actions/github/node_modules/undici/lib/handler/redirect-handler.js
+var require_redirect_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js"(exports2, module2) {
+    "use strict";
+    var util = require_util9();
+    var { kBodyUsed } = require_symbols6();
+    var assert = require("node:assert");
+    var { InvalidArgumentError } = require_errors2();
+    var EE = require("node:events");
+    var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
+    var kBody = /* @__PURE__ */ Symbol("body");
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
+      }
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
+      }
+    };
+    var RedirectHandler = class {
+      constructor(dispatch, maxRedirections, opts, handler2) {
+        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
         }
-        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;
+        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 (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {
-          mimeType.parameters.set(parameterName, parameterValue);
+          if (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);
         }
       }
-      return mimeType;
-    }
-    function forgivingBase64(data) {
-      data = data.replace(/[\u0009\u000A\u000C\u000D\u0020]/g, "");
-      if (data.length % 4 === 0) {
-        data = data.replace(/=?=$/, "");
+      onConnect(abort) {
+        this.abort = abort;
+        this.handler.onConnect(abort, { history: this.history });
       }
-      if (data.length % 4 === 1) {
-        return "failure";
+      onUpgrade(statusCode, headers, socket) {
+        this.handler.onUpgrade(statusCode, headers, socket);
       }
-      if (/[^+/0-9A-Za-z]/.test(data)) {
-        return "failure";
+      onError(error3) {
+        this.handler.onError(error3);
       }
-      const binary2 = atob2(data);
-      const bytes = new Uint8Array(binary2.length);
-      for (let byte = 0; byte < binary2.length; byte++) {
-        bytes[byte] = binary2.charCodeAt(byte);
+      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 path8 = search ? `${pathname}${search}` : pathname;
+        this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
+        this.opts.path = path8;
+        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;
+        }
       }
-      return bytes;
-    }
-    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;
+      onData(chunk) {
+        if (this.location) {
+        } else {
+          return this.handler.onData(chunk);
         }
-        const quoteOrBackslash = input[position.position];
-        position.position++;
-        if (quoteOrBackslash === "\\") {
-          if (position.position >= input.length) {
-            value += "\\";
-            break;
-          }
-          value += input[position.position];
-          position.position++;
+      }
+      onComplete(trailers) {
+        if (this.location) {
+          this.location = null;
+          this.abort = null;
+          this.dispatch(this.opts, this);
         } else {
-          assert(quoteOrBackslash === '"');
-          break;
+          this.handler.onComplete(trailers);
         }
       }
-      if (extractValue) {
-        return value;
+      onBodySent(chunk) {
+        if (this.handler.onBodySent) {
+          this.handler.onBodySent(chunk);
+        }
       }
-      return input.slice(positionStart, position.position);
-    }
-    function serializeAMimeType(mimeType) {
-      assert(mimeType !== "failure");
-      const { parameters, essence } = mimeType;
-      let serialization = essence;
-      for (let [name, value] of parameters.entries()) {
-        serialization += ";";
-        serialization += name;
-        serialization += "=";
-        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
-          value = value.replace(/(\\|")/g, "\\$1");
-          value = '"' + value;
-          value += '"';
+    };
+    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];
         }
-        serialization += value;
       }
-      return serialization;
     }
-    function isHTTPWhiteSpace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === " ";
-    }
-    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
-      let lead = 0;
-      let trail = str2.length - 1;
-      if (leading) {
-        for (; lead < str2.length && isHTTPWhiteSpace(str2[lead]); lead++) ;
+    function shouldRemoveHeader(header, removeContent, unknownOrigin) {
+      if (header.length === 4) {
+        return util.headerNameToString(header) === "host";
       }
-      if (trailing) {
-        for (; trail > 0 && isHTTPWhiteSpace(str2[trail]); trail--) ;
+      if (removeContent && util.headerNameToString(header).startsWith("content-")) {
+        return true;
       }
-      return str2.slice(lead, trail + 1);
-    }
-    function isASCIIWhitespace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === "\f" || char === " ";
-    }
-    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
-      let lead = 0;
-      let trail = str2.length - 1;
-      if (leading) {
-        for (; lead < str2.length && isASCIIWhitespace(str2[lead]); lead++) ;
+      if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) {
+        const name = util.headerNameToString(header);
+        return name === "authorization" || name === "cookie" || name === "proxy-authorization";
       }
-      if (trailing) {
-        for (; trail > 0 && isASCIIWhitespace(str2[trail]); trail--) ;
+      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 str2.slice(lead, trail + 1);
+      return ret;
     }
-    module2.exports = {
-      dataURLProcessor,
-      URLSerializer,
-      collectASequenceOfCodePoints,
-      collectASequenceOfCodePointsFast,
-      stringPercentDecode,
-      parseMIMEType,
-      collectAnHTTPQuotedString,
-      serializeAMimeType
-    };
+    module2.exports = RedirectHandler;
   }
 });
 
-// node_modules/undici/lib/fetch/file.js
-var require_file2 = __commonJS({
-  "node_modules/undici/lib/fetch/file.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js
+var require_redirect_interceptor2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js"(exports2, module2) {
     "use strict";
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { types } = require("util");
-    var { kState } = require_symbols7();
-    var { isBlobLike } = require_util10();
-    var { webidl } = require_webidl2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var { kEnumerableProperty } = require_util9();
-    var encoder = new TextEncoder();
-    var File2 = class _File extends Blob2 {
-      constructor(fileBits, fileName, options = {}) {
-        webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" });
-        fileBits = webidl.converters["sequence"](fileBits);
-        fileName = webidl.converters.USVString(fileName);
-        options = webidl.converters.FilePropertyBag(options);
-        const n = fileName;
-        let t = options.type;
-        let d;
-        substep: {
-          if (t) {
-            t = parseMIMEType(t);
-            if (t === "failure") {
-              t = "";
-              break substep;
-            }
-            t = serializeAMimeType(t).toLowerCase();
+    var RedirectHandler = require_redirect_handler2();
+    function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) {
+      return (dispatch) => {
+        return function Intercept(opts, handler2) {
+          const { maxRedirections = defaultMaxRedirections } = opts;
+          if (!maxRedirections) {
+            return dispatch(opts, handler2);
           }
-          d = options.lastModified;
-        }
-        super(processBlobParts(fileBits, options), { type: t });
-        this[kState] = {
-          name: n,
-          lastModified: d,
-          type: t
+          const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler2);
+          opts = { ...opts, maxRedirections: 0 };
+          return dispatch(opts, redirectHandler);
         };
-      }
-      get name() {
-        webidl.brandCheck(this, _File);
-        return this[kState].name;
-      }
-      get lastModified() {
-        webidl.brandCheck(this, _File);
-        return this[kState].lastModified;
-      }
-      get type() {
-        webidl.brandCheck(this, _File);
-        return this[kState].type;
-      }
+      };
+    }
+    module2.exports = createRedirectInterceptor;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js
+var require_client2 = __commonJS({
+  "node_modules/@actions/github/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_util9();
+    var { channels } = require_diagnostics2();
+    var Request = require_request3();
+    var DispatcherBase = require_dispatcher_base2();
+    var {
+      InvalidArgumentError,
+      InformationalError,
+      ClientDestroyedError
+    } = require_errors2();
+    var buildConnector = require_connect2();
+    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_symbols6();
+    var connectH1 = require_client_h12();
+    var connectH2 = require_client_h22();
+    var deprecatedInterceptorWarned = false;
+    var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
+    var noop3 = () => {
     };
-    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);
+    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);
       }
-      arrayBuffer(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.arrayBuffer(...args);
+      get pipelining() {
+        return this[kPipelining];
       }
-      slice(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.slice(...args);
+      set pipelining(value) {
+        this[kPipelining] = value;
+        this[kResume](true);
       }
-      text(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.text(...args);
+      get [kPending]() {
+        return this[kQueue].length - this[kPendingIdx];
       }
-      get size() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.size;
+      get [kRunning]() {
+        return this[kPendingIdx] - this[kRunningIdx];
       }
-      get type() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.type;
+      get [kSize]() {
+        return this[kQueue].length - this[kRunningIdx];
       }
-      get name() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].name;
+      get [kConnected]() {
+        return !!this[kHTTPContext] && !this[kConnecting] && !this[kHTTPContext].destroyed;
       }
-      get lastModified() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].lastModified;
+      get [kBusy]() {
+        return Boolean(
+          this[kHTTPContext]?.busy(null) || this[kSize] >= (getPipelining(this) || 1) || this[kPending] > 0
+        );
       }
-      get [Symbol.toStringTag]() {
-        return "File";
+      /* istanbul ignore: only used for test */
+      [kConnect](cb) {
+        connect(this);
+        this.once("connect", cb);
       }
-    };
-    Object.defineProperties(File2.prototype, {
-      [Symbol.toStringTag]: {
-        value: "File",
-        configurable: true
-      },
-      name: kEnumerableProperty,
-      lastModified: kEnumerableProperty
-    });
-    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
-    webidl.converters.BlobPart = function(V, opts) {
-      if (webidl.util.Type(V) === "Object") {
-        if (isBlobLike(V)) {
-          return webidl.converters.Blob(V, { strict: false });
+      [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 (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
-          return webidl.converters.BufferSource(V, opts);
+        if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
+          this[kNeedDrain] = 2;
         }
+        return this[kNeedDrain] < 2;
       }
-      return webidl.converters.USVString(V, opts);
-    };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.BlobPart
-    );
-    webidl.converters.FilePropertyBag = webidl.dictionaryConverter([
-      {
-        key: "lastModified",
-        converter: webidl.converters["long long"],
-        get defaultValue() {
-          return Date.now();
-        }
-      },
-      {
-        key: "type",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "endings",
-        converter: (value) => {
-          value = webidl.converters.DOMString(value);
-          value = value.toLowerCase();
-          if (value !== "native") {
-            value = "transparent";
+      async [kClose]() {
+        return new Promise((resolve4) => {
+          if (this[kSize]) {
+            this[kClosedResolve] = resolve4;
+          } else {
+            resolve4(null);
           }
-          return value;
-        },
-        defaultValue: "transparent"
+        });
       }
-    ]);
-    function processBlobParts(parts, options) {
-      const bytes = [];
-      for (const element of parts) {
-        if (typeof element === "string") {
-          let s = element;
-          if (options.endings === "native") {
-            s = convertLineEndingsNative(s);
-          }
-          bytes.push(encoder.encode(s));
-        } else if (types.isAnyArrayBuffer(element) || types.isTypedArray(element)) {
-          if (!element.buffer) {
-            bytes.push(new Uint8Array(element));
+      async [kDestroy](err) {
+        return new Promise((resolve4) => {
+          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;
+            }
+            resolve4(null);
+          };
+          if (this[kHTTPContext]) {
+            this[kHTTPContext].destroy(err, callback);
+            this[kHTTPContext] = null;
           } else {
-            bytes.push(
-              new Uint8Array(element.buffer, element.byteOffset, element.byteLength)
-            );
+            queueMicrotask(callback);
           }
-        } else if (isBlobLike(element)) {
-          bytes.push(element);
+          this[kResume]();
+        });
+      }
+    };
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    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);
       }
-      return bytes;
     }
-    function convertLineEndingsNative(s) {
-      let nativeLineEnding = "\n";
-      if (process.platform === "win32") {
-        nativeLineEnding = "\r\n";
+    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;
       }
-      return s.replace(/\r?\n/g, nativeLineEnding);
-    }
-    function isFileLike(object) {
-      return NativeFile && object instanceof NativeFile || object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
-    }
-    module2.exports = { File: File2, FileLike, isFileLike };
-  }
-});
-
-// node_modules/undici/lib/fetch/formdata.js
-var require_formdata2 = __commonJS({
-  "node_modules/undici/lib/fetch/formdata.js"(exports2, module2) {
-    "use strict";
-    var { isBlobLike, toUSVString, makeIterator } = require_util10();
-    var { kState } = require_symbols7();
-    var { File: UndiciFile, FileLike, isFileLike } = require_file2();
-    var { webidl } = require_webidl2();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var File2 = NativeFile ?? UndiciFile;
-    var FormData2 = class _FormData {
-      constructor(form) {
-        if (form !== void 0) {
-          throw webidl.errors.conversionFailed({
-            prefix: "FormData constructor",
-            argument: "Argument 1",
-            types: ["undefined"]
+      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((resolve4, reject) => {
+          client[kConnector]({
+            host,
+            hostname,
+            protocol,
+            port,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          }, (err, socket2) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve4(socket2);
+            }
           });
+        });
+        if (client.destroyed) {
+          util.destroy(socket.on("error", noop3), new ClientDestroyedError());
+          return;
         }
-        this[kState] = [];
-      }
-      append(name, value, filename = void 0) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" });
-        if (arguments.length === 3 && !isBlobLike(value)) {
-          throw new TypeError(
-            "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"
-          );
+        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;
         }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0;
-        const entry = makeEntry(name, value, filename);
-        this[kState].push(entry);
-      }
-      delete(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" });
-        name = webidl.converters.USVString(name);
-        this[kState] = this[kState].filter((entry) => entry.name !== name);
-      }
-      get(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" });
-        name = webidl.converters.USVString(name);
-        const idx = this[kState].findIndex((entry) => entry.name === name);
-        if (idx === -1) {
-          return null;
+        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
+          });
         }
-        return this[kState][idx].value;
-      }
-      getAll(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" });
-        name = webidl.converters.USVString(name);
-        return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value);
-      }
-      has(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" });
-        name = webidl.converters.USVString(name);
-        return this[kState].findIndex((entry) => entry.name === name) !== -1;
-      }
-      set(name, value, filename = void 0) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" });
-        if (arguments.length === 3 && !isBlobLike(value)) {
-          throw new TypeError(
-            "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"
-          );
+        client.emit("connect", client[kUrl], [client]);
+      } catch (err) {
+        if (client.destroyed) {
+          return;
         }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? toUSVString(filename) : void 0;
-        const entry = makeEntry(name, value, filename);
-        const idx = this[kState].findIndex((entry2) => entry2.name === name);
-        if (idx !== -1) {
-          this[kState] = [
-            ...this[kState].slice(0, idx),
-            entry,
-            ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name)
-          ];
+        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 {
-          this[kState].push(entry);
+          onError(client, err);
         }
+        client.emit("connectionError", client[kUrl], [client], err);
       }
-      entries() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key+value"
-        );
-      }
-      keys() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key"
-        );
+      client[kResume]();
+    }
+    function emitDrain(client) {
+      client[kNeedDrain] = 0;
+      client.emit("drain", client[kUrl], [client]);
+    }
+    function resume(client, sync) {
+      if (client[kResuming] === 2) {
+        return;
       }
-      values() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "value"
-        );
+      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;
       }
-      /**
-       * @param {(value: string, key: string, self: FormData) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'."
-          );
+    }
+    function _resume(client, sync) {
+      while (true) {
+        if (client.destroyed) {
+          assert(client[kPending] === 0);
+          return;
         }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
+        if (client[kClosedResolve] && !client[kSize]) {
+          client[kClosedResolve]();
+          client[kClosedResolve] = null;
+          return;
         }
-      }
-    };
-    FormData2.prototype[Symbol.iterator] = FormData2.prototype.entries;
-    Object.defineProperties(FormData2.prototype, {
-      [Symbol.toStringTag]: {
-        value: "FormData",
-        configurable: true
-      }
-    });
-    function makeEntry(name, value, filename) {
-      name = Buffer.from(name).toString("utf8");
-      if (typeof value === "string") {
-        value = Buffer.from(value).toString("utf8");
-      } else {
-        if (!isFileLike(value)) {
-          value = value instanceof Blob2 ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
+        if (client[kHTTPContext]) {
+          client[kHTTPContext].resume();
         }
-        if (filename !== void 0) {
-          const options = {
-            type: value.type,
-            lastModified: value.lastModified
-          };
-          value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
+        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);
         }
       }
-      return { name, value };
     }
-    module2.exports = { FormData: FormData2 };
+    module2.exports = Client;
   }
 });
 
-// node_modules/undici/lib/fetch/body.js
-var require_body2 = __commonJS({
-  "node_modules/undici/lib/fetch/body.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/fixed-queue.js
+var require_fixed_queue2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/fixed-queue.js"(exports2, module2) {
     "use strict";
-    var Busboy = require_main();
-    var util = require_util9();
-    var {
-      ReadableStreamFrom,
-      isBlobLike,
-      isReadableStreamLike,
-      readableStreamClose,
-      createDeferredPromise,
-      fullyReadBody
-    } = require_util10();
-    var { FormData: FormData2 } = require_formdata2();
-    var { kState } = require_symbols7();
-    var { webidl } = require_webidl2();
-    var { DOMException: DOMException2, structuredClone } = require_constants7();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
-    var { isErrored } = require_util9();
-    var { isUint8Array, isArrayBuffer } = require("util/types");
-    var { File: UndiciFile } = require_file2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var random;
-    try {
-      const crypto2 = require("node:crypto");
-      random = (max) => crypto2.randomInt(0, max);
-    } catch {
-      random = (max) => Math.floor(Math.random(max));
-    }
-    var ReadableStream2 = globalThis.ReadableStream;
-    var File2 = NativeFile ?? UndiciFile;
-    var textEncoder = new TextEncoder();
-    var textDecoder = new TextDecoder();
-    function extractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+    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;
       }
-      let stream2 = null;
-      if (object instanceof ReadableStream2) {
-        stream2 = object;
-      } else if (isBlobLike(object)) {
-        stream2 = object.stream();
-      } else {
-        stream2 = new ReadableStream2({
-          async pull(controller) {
-            controller.enqueue(
-              typeof source === "string" ? textEncoder.encode(source) : source
-            );
-            queueMicrotask(() => readableStreamClose(controller));
-          },
-          start() {
-          },
-          type: void 0
-        });
+      isEmpty() {
+        return this.top === this.bottom;
       }
-      assert(isReadableStreamLike(stream2));
-      let action = null;
-      let source = null;
-      let length = null;
-      let type2 = null;
-      if (typeof object === "string") {
-        source = object;
-        type2 = "text/plain;charset=UTF-8";
-      } else if (object instanceof URLSearchParams) {
-        source = object.toString();
-        type2 = "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 = (str2) => str2.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}--`);
-        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;
-            }
-          }
-        };
-        type2 = "multipart/form-data; boundary=" + boundary;
-      } else if (isBlobLike(object)) {
-        source = object;
-        length = object.size;
-        if (object.type) {
-          type2 = 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"
-          );
-        }
-        stream2 = object instanceof ReadableStream2 ? object : ReadableStreamFrom(object);
+      isFull() {
+        return (this.top + 1 & kMask) === this.bottom;
       }
-      if (typeof source === "string" || util.isBuffer(source)) {
-        length = Buffer.byteLength(source);
+      push(data) {
+        this.list[this.top] = data;
+        this.top = this.top + 1 & kMask;
       }
-      if (action != null) {
-        let iterator2;
-        stream2 = new ReadableStream2({
-          async start() {
-            iterator2 = action(object)[Symbol.asyncIterator]();
-          },
-          async pull(controller) {
-            const { value, done } = await iterator2.next();
-            if (done) {
-              queueMicrotask(() => {
-                controller.close();
-              });
-            } else {
-              if (!isErrored(stream2)) {
-                controller.enqueue(new Uint8Array(value));
-              }
-            }
-            return controller.desiredSize > 0;
-          },
-          async cancel(reason) {
-            await iterator2.return();
-          },
-          type: void 0
-        });
+      shift() {
+        const nextItem = this.list[this.bottom];
+        if (nextItem === void 0)
+          return null;
+        this.list[this.bottom] = void 0;
+        this.bottom = this.bottom + 1 & kMask;
+        return nextItem;
       }
-      const body = { stream: stream2, source, length };
-      return [body, type2];
-    }
-    function safelyExtractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+    };
+    module2.exports = class FixedQueue {
+      constructor() {
+        this.head = this.tail = new FixedCircularBuffer();
+      }
+      isEmpty() {
+        return this.head.isEmpty();
       }
-      if (object instanceof ReadableStream2) {
-        assert(!util.isDisturbed(object), "The body has already been consumed.");
-        assert(!object.locked, "The stream is locked.");
+      push(data) {
+        if (this.head.isFull()) {
+          this.head = this.head.next = new FixedCircularBuffer();
+        }
+        this.head.push(data);
       }
-      return extractBody(object, keepalive);
-    }
-    function cloneBody(body) {
-      const [out1, out2] = body.stream.tee();
-      const out2Clone = structuredClone(out2, { transfer: [out2] });
-      const [, finalClone] = out2Clone.tee();
-      body.stream = out1;
-      return {
-        stream: finalClone,
-        length: body.length,
-        source: body.source
-      };
-    }
-    async function* consumeBody(body) {
-      if (body) {
-        if (isUint8Array(body)) {
-          yield body;
-        } else {
-          const stream2 = body.stream;
-          if (util.isDisturbed(stream2)) {
-            throw new TypeError("The body has already been consumed.");
-          }
-          if (stream2.locked) {
-            throw new TypeError("The stream is locked.");
-          }
-          stream2[kBodyUsed] = true;
-          yield* stream2;
+      shift() {
+        const tail = this.tail;
+        const next = tail.shift();
+        if (tail.isEmpty() && tail.next !== null) {
+          this.tail = tail.next;
         }
+        return next;
       }
-    }
-    function throwIfAborted(state) {
-      if (state.aborted) {
-        throw new DOMException2("The operation was aborted.", "AbortError");
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js
+var require_pool_stats2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js"(exports2, module2) {
+    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
+    var kPool = /* @__PURE__ */ Symbol("pool");
+    var PoolStats = class {
+      constructor(pool) {
+        this[kPool] = pool;
       }
-    }
-    function bodyMixinMethods(instance) {
-      const methods = {
-        blob() {
-          return specConsumeBody(this, (bytes) => {
-            let mimeType = bodyMimeType(this);
-            if (mimeType === "failure") {
-              mimeType = "";
-            } else if (mimeType) {
-              mimeType = serializeAMimeType(mimeType);
-            }
-            return new Blob2([bytes], { type: mimeType });
-          }, instance);
-        },
-        arrayBuffer() {
-          return specConsumeBody(this, (bytes) => {
-            return new Uint8Array(bytes).buffer;
-          }, instance);
-        },
-        text() {
-          return specConsumeBody(this, utf8DecodeBytes, instance);
-        },
-        json() {
-          return specConsumeBody(this, parseJSONFromBytes, instance);
-        },
-        async formData() {
-          webidl.brandCheck(this, instance);
-          throwIfAborted(this[kState]);
-          const contentType = this.headers.get("Content-Type");
-          if (/multipart\/form-data/.test(contentType)) {
-            const headers = {};
-            for (const [key, value] of this.headers) headers[key.toLowerCase()] = value;
-            const responseFormData = new FormData2();
-            let busboy;
-            try {
-              busboy = new Busboy({
-                headers,
-                preservePath: true
-              });
-            } catch (err) {
-              throw new DOMException2(`${err}`, "AbortError");
-            }
-            busboy.on("field", (name, value) => {
-              responseFormData.append(name, value);
-            });
-            busboy.on("file", (name, value, filename, encoding, mimeType) => {
-              const chunks = [];
-              if (encoding === "base64" || encoding.toLowerCase() === "base64") {
-                let base64chunk = "";
-                value.on("data", (chunk) => {
-                  base64chunk += chunk.toString().replace(/[\r\n]/gm, "");
-                  const end = base64chunk.length - base64chunk.length % 4;
-                  chunks.push(Buffer.from(base64chunk.slice(0, end), "base64"));
-                  base64chunk = base64chunk.slice(end);
-                });
-                value.on("end", () => {
-                  chunks.push(Buffer.from(base64chunk, "base64"));
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              } else {
-                value.on("data", (chunk) => {
-                  chunks.push(chunk);
-                });
-                value.on("end", () => {
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              }
-            });
-            const busboyResolve = new Promise((resolve4, reject) => {
-              busboy.on("finish", resolve4);
-              busboy.on("error", (err) => reject(new TypeError(err)));
-            });
-            if (this.body !== null) for await (const chunk of consumeBody(this[kState].body)) busboy.write(chunk);
-            busboy.end();
-            await busboyResolve;
-            return responseFormData;
-          } else if (/application\/x-www-form-urlencoded/.test(contentType)) {
-            let entries;
-            try {
-              let text = "";
-              const streamingDecoder = new TextDecoder("utf-8", { ignoreBOM: true });
-              for await (const chunk of consumeBody(this[kState].body)) {
-                if (!isUint8Array(chunk)) {
-                  throw new TypeError("Expected Uint8Array chunk");
-                }
-                text += streamingDecoder.decode(chunk, { stream: true });
-              }
-              text += streamingDecoder.decode();
-              entries = new URLSearchParams(text);
-            } catch (err) {
-              throw Object.assign(new TypeError(), { cause: err });
-            }
-            const formData = new FormData2();
-            for (const [name, value] of entries) {
-              formData.append(name, value);
-            }
-            return formData;
-          } else {
-            await Promise.resolve();
-            throwIfAborted(this[kState]);
-            throw webidl.errors.exception({
-              header: `${instance.name}.formData`,
-              message: "Could not parse content as FormData."
-            });
-          }
-        }
-      };
-      return methods;
-    }
-    function mixinBody(prototype) {
-      Object.assign(prototype.prototype, bodyMixinMethods(prototype));
-    }
-    async function specConsumeBody(object, convertBytesToJSValue, instance) {
-      webidl.brandCheck(object, instance);
-      throwIfAborted(object[kState]);
-      if (bodyUnusable(object[kState].body)) {
-        throw new TypeError("Body is unusable");
+      get connected() {
+        return this[kPool][kConnected];
       }
-      const promise = createDeferredPromise();
-      const errorSteps = (error3) => promise.reject(error3);
-      const successSteps = (data) => {
-        try {
-          promise.resolve(convertBytesToJSValue(data));
-        } catch (e) {
-          errorSteps(e);
-        }
-      };
-      if (object[kState].body == null) {
-        successSteps(new Uint8Array());
-        return promise.promise;
+      get free() {
+        return this[kPool][kFree];
       }
-      await fullyReadBody(object[kState].body, successSteps, errorSteps);
-      return promise.promise;
-    }
-    function bodyUnusable(body) {
-      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
-    }
-    function utf8DecodeBytes(buffer) {
-      if (buffer.length === 0) {
-        return "";
+      get pending() {
+        return this[kPool][kPending];
       }
-      if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
-        buffer = buffer.subarray(3);
+      get queued() {
+        return this[kPool][kQueued];
       }
-      const output = textDecoder.decode(buffer);
-      return output;
-    }
-    function parseJSONFromBytes(bytes) {
-      return JSON.parse(utf8DecodeBytes(bytes));
-    }
-    function bodyMimeType(object) {
-      const { headersList } = object[kState];
-      const contentType = headersList.get("content-type");
-      if (contentType === null) {
-        return "failure";
+      get running() {
+        return this[kPool][kRunning];
+      }
+      get size() {
+        return this[kPool][kSize];
       }
-      return parseMIMEType(contentType);
-    }
-    module2.exports = {
-      extractBody,
-      safelyExtractBody,
-      cloneBody,
-      mixinBody
     };
+    module2.exports = PoolStats;
   }
 });
 
-// node_modules/undici/lib/core/request.js
-var require_request3 = __commonJS({
-  "node_modules/undici/lib/core/request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js
+var require_pool_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js"(exports2, module2) {
     "use strict";
-    var {
-      InvalidArgumentError,
-      NotSupportedError
-    } = require_errors2();
-    var assert = require("assert");
-    var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = require_symbols6();
-    var util = require_util9();
-    var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;
-    var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
-    var invalidPathRegex = /[^\u0021-\u00ff]/;
-    var kHandler = /* @__PURE__ */ Symbol("handler");
-    var channels = {};
-    var extractBody;
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.create = diagnosticsChannel.channel("undici:request:create");
-      channels.bodySent = diagnosticsChannel.channel("undici:request:bodySent");
-      channels.headers = diagnosticsChannel.channel("undici:request:headers");
-      channels.trailers = diagnosticsChannel.channel("undici:request:trailers");
-      channels.error = diagnosticsChannel.channel("undici:request:error");
-    } catch {
-      channels.create = { hasSubscribers: false };
-      channels.bodySent = { hasSubscribers: false };
-      channels.headers = { hasSubscribers: false };
-      channels.trailers = { hasSubscribers: false };
-      channels.error = { hasSubscribers: false };
-    }
-    var Request = class _Request {
-      constructor(origin, {
-        path: path8,
-        method,
-        body,
-        headers,
-        query,
-        idempotent,
-        blocking,
-        upgrade,
-        headersTimeout,
-        bodyTimeout,
-        reset,
-        throwOnError,
-        expectContinue
-      }, handler2) {
-        if (typeof path8 !== "string") {
-          throw new InvalidArgumentError("path must be a string");
-        } else if (path8[0] !== "/" && !(path8.startsWith("http://") || path8.startsWith("https://")) && method !== "CONNECT") {
-          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
-        } else if (invalidPathRegex.exec(path8) !== null) {
-          throw new InvalidArgumentError("invalid request path");
-        }
-        if (typeof method !== "string") {
-          throw new InvalidArgumentError("method must be a string");
-        } else if (tokenRegExp.exec(method) === null) {
-          throw new InvalidArgumentError("invalid request method");
-        }
-        if (upgrade && typeof upgrade !== "string") {
-          throw new InvalidArgumentError("upgrade must be a string");
-        }
-        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
-          throw new InvalidArgumentError("invalid headersTimeout");
-        }
-        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
-          throw new InvalidArgumentError("invalid bodyTimeout");
-        }
-        if (reset != null && typeof reset !== "boolean") {
-          throw new InvalidArgumentError("invalid reset");
-        }
-        if (expectContinue != null && typeof expectContinue !== "boolean") {
-          throw new InvalidArgumentError("invalid expectContinue");
-        }
-        this.headersTimeout = headersTimeout;
-        this.bodyTimeout = bodyTimeout;
-        this.throwOnError = throwOnError === true;
-        this.method = method;
-        this.abort = null;
-        if (body == null) {
-          this.body = null;
-        } else if (util.isStream(body)) {
-          this.body = body;
-          const rState = this.body._readableState;
-          if (!rState || !rState.autoDestroy) {
-            this.endHandler = function autoDestroy() {
-              util.destroy(this);
-            };
-            this.body.on("end", this.endHandler);
-          }
-          this.errorHandler = (err) => {
-            if (this.abort) {
-              this.abort(err);
-            } else {
-              this.error = err;
+    var DispatcherBase = require_dispatcher_base2();
+    var FixedQueue = require_fixed_queue2();
+    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
+    var PoolStats = require_pool_stats2();
+    var kClients = /* @__PURE__ */ Symbol("clients");
+    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
+    var kQueue = /* @__PURE__ */ Symbol("queue");
+    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
+    var kAddClient = /* @__PURE__ */ Symbol("add client");
+    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
+    var kStats = /* @__PURE__ */ 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;
             }
-          };
-          this.body.on("error", this.errorHandler);
-        } else if (util.isBuffer(body)) {
-          this.body = body.byteLength ? body : null;
-        } else if (ArrayBuffer.isView(body)) {
-          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
-        } else if (body instanceof ArrayBuffer) {
-          this.body = body.byteLength ? Buffer.from(body) : null;
-        } else if (typeof body === "string") {
-          this.body = body.length ? Buffer.from(body) : null;
-        } else if (util.isFormDataLike(body) || util.isIterable(body) || util.isBlobLike(body)) {
-          this.body = body;
-        } else {
-          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
-        }
-        this.completed = false;
-        this.aborted = false;
-        this.upgrade = upgrade || null;
-        this.path = query ? util.buildURL(path8, query) : path8;
-        this.origin = origin;
-        this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
-        this.blocking = blocking == null ? false : blocking;
-        this.reset = reset == null ? null : reset;
-        this.host = null;
-        this.contentLength = null;
-        this.contentType = null;
-        this.headers = "";
-        this.expectContinue = expectContinue != null ? expectContinue : false;
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
-          }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(this, headers[i], headers[i + 1]);
-          }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(this, key, headers[key]);
-          }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
-        }
-        if (util.isFormDataLike(this.body)) {
-          if (util.nodeMajor < 16 || util.nodeMajor === 16 && util.nodeMinor < 8) {
-            throw new InvalidArgumentError("Form-Data bodies are only supported in node v16.8 and newer.");
+            pool[kQueued]--;
+            needDrain = !this.dispatch(item.opts, item.handler);
           }
-          if (!extractBody) {
-            extractBody = require_body2().extractBody;
+          this[kNeedDrain] = needDrain;
+          if (!this[kNeedDrain] && pool[kNeedDrain]) {
+            pool[kNeedDrain] = false;
+            pool.emit("drain", origin, [pool, ...targets]);
           }
-          const [bodyStream, contentType] = extractBody(body);
-          if (this.contentType == null) {
-            this.contentType = contentType;
-            this.headers += `content-type: ${contentType}\r
-`;
+          if (pool[kClosedResolve] && queue.isEmpty()) {
+            Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]);
           }
-          this.body = bodyStream.stream;
-          this.contentLength = bodyStream.length;
-        } else if (util.isBlobLike(body) && this.contentType == null && body.type) {
-          this.contentType = body.type;
-          this.headers += `content-type: ${body.type}\r
-`;
-        }
-        util.validateHandler(handler2, method, upgrade);
-        this.servername = util.getServerName(this.host);
-        this[kHandler] = handler2;
-        if (channels.create.hasSubscribers) {
-          channels.create.publish({ request: this });
-        }
+        };
+        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);
       }
-      onBodySent(chunk) {
-        if (this[kHandler].onBodySent) {
-          try {
-            return this[kHandler].onBodySent(chunk);
-          } catch (err) {
-            this.abort(err);
-          }
-        }
+      get [kBusy]() {
+        return this[kNeedDrain];
       }
-      onRequestSent() {
-        if (channels.bodySent.hasSubscribers) {
-          channels.bodySent.publish({ request: this });
-        }
-        if (this[kHandler].onRequestSent) {
-          try {
-            return this[kHandler].onRequestSent();
-          } catch (err) {
-            this.abort(err);
-          }
-        }
+      get [kConnected]() {
+        return this[kClients].filter((client) => client[kConnected]).length;
       }
-      onConnect(abort) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (this.error) {
-          abort(this.error);
-        } else {
-          this.abort = abort;
-          return this[kHandler].onConnect(abort);
-        }
+      get [kFree]() {
+        return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;
       }
-      onHeaders(statusCode, headers, resume, statusText) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (channels.headers.hasSubscribers) {
-          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
+      get [kPending]() {
+        let ret = this[kQueued];
+        for (const { [kPending]: pending } of this[kClients]) {
+          ret += pending;
         }
-        try {
-          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
-        } catch (err) {
-          this.abort(err);
+        return ret;
+      }
+      get [kRunning]() {
+        let ret = 0;
+        for (const { [kRunning]: running } of this[kClients]) {
+          ret += running;
         }
+        return ret;
       }
-      onData(chunk) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        try {
-          return this[kHandler].onData(chunk);
-        } catch (err) {
-          this.abort(err);
-          return false;
+      get [kSize]() {
+        let ret = this[kQueued];
+        for (const { [kSize]: size } of this[kClients]) {
+          ret += size;
         }
+        return ret;
       }
-      onUpgrade(statusCode, headers, socket) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        return this[kHandler].onUpgrade(statusCode, headers, socket);
+      get stats() {
+        return this[kStats];
       }
-      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);
+      async [kClose]() {
+        if (this[kQueue].isEmpty()) {
+          await Promise.all(this[kClients].map((c) => c.close()));
+        } else {
+          await new Promise((resolve4) => {
+            this[kClosedResolve] = resolve4;
+          });
         }
       }
-      onError(error3) {
-        this.onFinally();
-        if (channels.error.hasSubscribers) {
-          channels.error.publish({ request: this, error: error3 });
-        }
-        if (this.aborted) {
-          return;
+      async [kDestroy](err) {
+        while (true) {
+          const item = this[kQueue].shift();
+          if (!item) {
+            break;
+          }
+          item.handler.onError(err);
         }
-        this.aborted = true;
-        return this[kHandler].onError(error3);
+        await Promise.all(this[kClients].map((c) => c.destroy(err)));
       }
-      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;
+      [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];
       }
-      // TODO: adjust to support H2
-      addHeader(key, value) {
-        processHeader(this, key, value);
+      [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;
       }
-      static [kHTTP1BuildRequest](origin, opts, handler2) {
-        return new _Request(origin, opts, handler2);
-      }
-      static [kHTTP2BuildRequest](origin, opts, handler2) {
-        const headers = opts.headers;
-        opts = { ...opts, headers: null };
-        const request2 = new _Request(origin, opts, handler2);
-        request2.headers = {};
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
-          }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(request2, headers[i], headers[i + 1], true);
-          }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(request2, key, headers[key], true);
+      [kRemoveClient](client) {
+        client.close(() => {
+          const idx = this[kClients].indexOf(client);
+          if (idx !== -1) {
+            this[kClients].splice(idx, 1);
           }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
-        }
-        return request2;
+        });
+        this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
       }
-      static [kHTTP2CopyHeaders](raw) {
-        const rawHeaders = raw.split("\r\n");
-        const headers = {};
-        for (const header of rawHeaders) {
-          const [key, value] = header.split(": ");
-          if (value == null || value.length === 0) continue;
-          if (headers[key]) headers[key] += `,${value}`;
-          else headers[key] = value;
+    };
+    module2.exports = {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js
+var require_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js"(exports2, module2) {
+    "use strict";
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kGetDispatcher
+    } = require_pool_base2();
+    var Client = require_client2();
+    var {
+      InvalidArgumentError
+    } = require_errors2();
+    var util = require_util9();
+    var { kUrl, kInterceptors } = require_symbols6();
+    var buildConnector = require_connect2();
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kConnections = /* @__PURE__ */ Symbol("connections");
+    var kFactory = /* @__PURE__ */ 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");
         }
-        return headers;
-      }
-    };
-    function processHeaderValue(key, val, skipAppend) {
-      if (val && typeof val === "object") {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      }
-      val = val != null ? `${val}` : "";
-      if (headerCharRegex.exec(val) !== null) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      }
-      return skipAppend ? val : `${key}: ${val}\r
-`;
-    }
-    function processHeader(request2, key, val, skipAppend = false) {
-      if (val && (typeof val === "object" && !Array.isArray(val))) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      } else if (val === void 0) {
-        return;
-      }
-      if (request2.host === null && key.length === 4 && key.toLowerCase() === "host") {
-        if (headerCharRegex.exec(val) !== null) {
-          throw new InvalidArgumentError(`invalid ${key} header`);
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
         }
-        request2.host = val;
-      } else if (request2.contentLength === null && key.length === 14 && key.toLowerCase() === "content-length") {
-        request2.contentLength = parseInt(val, 10);
-        if (!Number.isFinite(request2.contentLength)) {
-          throw new InvalidArgumentError("invalid content-length header");
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
         }
-      } else if (request2.contentType === null && key.length === 12 && key.toLowerCase() === "content-type") {
-        request2.contentType = val;
-        if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-        else request2.headers += processHeaderValue(key, val);
-      } else if (key.length === 17 && key.toLowerCase() === "transfer-encoding") {
-        throw new InvalidArgumentError("invalid transfer-encoding header");
-      } else if (key.length === 10 && key.toLowerCase() === "connection") {
-        const value = typeof val === "string" ? val.toLowerCase() : null;
-        if (value !== "close" && value !== "keep-alive") {
-          throw new InvalidArgumentError("invalid connection header");
-        } else if (value === "close") {
-          request2.reset = true;
+        if (typeof connect !== "function") {
+          connect = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect
+          });
         }
-      } else if (key.length === 10 && key.toLowerCase() === "keep-alive") {
-        throw new InvalidArgumentError("invalid keep-alive header");
-      } else if (key.length === 7 && key.toLowerCase() === "upgrade") {
-        throw new InvalidArgumentError("invalid upgrade header");
-      } else if (key.length === 6 && key.toLowerCase() === "expect") {
-        throw new NotSupportedError("expect header not supported");
-      } else if (tokenRegExp.exec(key) === null) {
-        throw new InvalidArgumentError("invalid header key");
-      } else {
-        if (Array.isArray(val)) {
-          for (let i = 0; i < val.length; i++) {
-            if (skipAppend) {
-              if (request2.headers[key]) request2.headers[key] += `,${processHeaderValue(key, val[i], skipAppend)}`;
-              else request2.headers[key] = processHeaderValue(key, val[i], skipAppend);
-            } else {
-              request2.headers += processHeaderValue(key, val[i]);
+        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, error3) => {
+          for (const target of targets) {
+            const idx = this[kClients].indexOf(target);
+            if (idx !== -1) {
+              this[kClients].splice(idx, 1);
             }
           }
-        } else {
-          if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-          else request2.headers += processHeaderValue(key, val);
-        }
-      }
-    }
-    module2.exports = Request;
-  }
-});
-
-// node_modules/undici/lib/dispatcher.js
-var require_dispatcher2 = __commonJS({
-  "node_modules/undici/lib/dispatcher.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("events");
-    var Dispatcher = class extends EventEmitter {
-      dispatch() {
-        throw new Error("not implemented");
-      }
-      close() {
-        throw new Error("not implemented");
+        });
       }
-      destroy() {
-        throw new Error("not implemented");
+      [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 = Dispatcher;
+    module2.exports = Pool;
   }
 });
 
-// node_modules/undici/lib/dispatcher-base.js
-var require_dispatcher_base2 = __commonJS({
-  "node_modules/undici/lib/dispatcher-base.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js
+var require_balanced_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js"(exports2, module2) {
     "use strict";
-    var Dispatcher = require_dispatcher2();
     var {
-      ClientDestroyedError,
-      ClientClosedError,
+      BalancedPoolMissingUpstreamError,
       InvalidArgumentError
     } = require_errors2();
-    var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols6();
-    var kDestroyed = /* @__PURE__ */ Symbol("destroyed");
-    var kClosed = /* @__PURE__ */ Symbol("closed");
-    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
-    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
-    var kInterceptedDispatch = /* @__PURE__ */ 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];
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    } = require_pool_base2();
+    var Pool = require_pool2();
+    var { kUrl, kInterceptors } = require_symbols6();
+    var { parseOrigin } = require_util9();
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
+    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
+    var kIndex = /* @__PURE__ */ Symbol("kIndex");
+    var kWeight = /* @__PURE__ */ Symbol("kWeight");
+    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
+    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
+    function getGreatestCommonDivisor(a, b) {
+      if (a === 0) return b;
+      while (b !== 0) {
+        const t = b;
+        b = a % b;
+        a = t;
       }
-      get interceptors() {
-        return this[kInterceptors];
+      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();
       }
-      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");
-            }
+      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[kInterceptors] = newInterceptors;
+        this._updateBalancedPoolStats();
+        return this;
       }
-      close(callback) {
-        if (callback === void 0) {
-          return new Promise((resolve4, reject) => {
-            this.close((err, data) => {
-              return err ? reject(err) : resolve4(data);
-            });
-          });
+      _updateBalancedPoolStats() {
+        let result = 0;
+        for (let i = 0; i < this[kClients].length; i++) {
+          result = getGreatestCommonDivisor(this[kClients][i][kWeight], result);
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        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);
         }
-        if (this[kDestroyed]) {
-          queueMicrotask(() => callback(new ClientDestroyedError(), null));
+        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;
         }
-        if (this[kClosed]) {
-          if (this[kOnClosed]) {
-            this[kOnClosed].push(callback);
-          } else {
-            queueMicrotask(() => callback(null, null));
-          }
+        const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b) => a && b, true);
+        if (allClientsBusy) {
           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);
+        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[kClose]().then(() => this.destroy()).then(() => {
-          queueMicrotask(onClosed);
-        });
-      }
-      destroy(err, callback) {
-        if (typeof err === "function") {
-          callback = err;
-          err = null;
         }
-        if (callback === void 0) {
-          return new Promise((resolve4, reject) => {
-            this.destroy(err, (err2, data) => {
-              return err2 ? (
-                /* istanbul ignore next: should never error */
-                reject(err2)
-              ) : resolve4(data);
-            });
-          });
+        this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight];
+        this[kIndex] = maxWeightIndex;
+        return this[kClients][maxWeightIndex];
+      }
+    };
+    module2.exports = BalancedPool;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js
+var require_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js"(exports2, module2) {
+    "use strict";
+    var { InvalidArgumentError } = require_errors2();
+    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
+    var DispatcherBase = require_dispatcher_base2();
+    var Pool = require_pool2();
+    var Client = require_client2();
+    var util = require_util9();
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    function defaultFactory(origin, opts) {
+      return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts);
+    }
+    var Agent = class extends DispatcherBase {
+      constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) {
+        super();
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
         }
-        if (this[kDestroyed]) {
-          if (this[kOnDestroyed]) {
-            this[kOnDestroyed].push(callback);
-          } else {
-            queueMicrotask(() => callback(null, null));
-          }
-          return;
+        if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
         }
-        if (!err) {
-          err = new ClientDestroyedError();
+        if (connect && typeof connect !== "function") {
+          connect = { ...connect };
         }
-        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[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);
         };
-        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);
+      get [kRunning]() {
+        let ret = 0;
+        for (const client of this[kClients].values()) {
+          ret += client[kRunning];
         }
-        let dispatch = this[kDispatch].bind(this);
-        for (let i = this[kInterceptors].length - 1; i >= 0; i--) {
-          dispatch = this[kInterceptors][i](dispatch);
+        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.");
         }
-        this[kInterceptedDispatch] = dispatch;
-        return dispatch(opts, handler2);
+        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);
       }
-      dispatch(opts, handler2) {
-        if (!handler2 || typeof handler2 !== "object") {
-          throw new InvalidArgumentError("handler must be an object");
+      async [kClose]() {
+        const closePromises = [];
+        for (const client of this[kClients].values()) {
+          closePromises.push(client.close());
         }
-        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;
+        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 = DispatcherBase;
+    module2.exports = Agent;
   }
 });
 
-// node_modules/undici/lib/core/connect.js
-var require_connect2 = __commonJS({
-  "node_modules/undici/lib/core/connect.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js
+var require_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js"(exports2, module2) {
     "use strict";
-    var net = require("net");
-    var assert = require("assert");
-    var util = require_util9();
-    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
-    var tls;
-    var SessionCache;
-    if (global.FinalizationRegistry && !process.env.NODE_V8_COVERAGE) {
-      SessionCache = class WeakSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
-          this._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);
-            }
-          });
-        }
-        get(sessionKey) {
-          const ref = this._sessionCache.get(sessionKey);
-          return ref ? ref.deref() : null;
-        }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
-            return;
-          }
-          this._sessionCache.set(sessionKey, new WeakRef(session));
-          this._sessionRegistry.register(session, sessionKey);
-        }
-      };
-    } else {
-      SessionCache = class SimpleSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
+    var { kProxy, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
+    var { URL: URL2 } = require("node:url");
+    var Agent = require_agent2();
+    var Pool = require_pool2();
+    var DispatcherBase = require_dispatcher_base2();
+    var { InvalidArgumentError, RequestAbortedError, SecureProxyConnectionError } = require_errors2();
+    var buildConnector = require_connect2();
+    var Client = require_client2();
+    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
+    var kClient = /* @__PURE__ */ Symbol("proxy client");
+    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
+    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
+    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
+    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
+    var kTunnelProxy = /* @__PURE__ */ 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");
         }
-        get(sessionKey) {
-          return this._sessionCache.get(sessionKey);
+        this[kProxyHeaders] = headers;
+        if (factory) {
+          this.#client = factory(proxyUrl, { connect });
+        } else {
+          this.#client = new Client(proxyUrl, { connect });
         }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
+      }
+      [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 (this._sessionCache.size >= this._maxCachedSessions) {
-            const { value: oldestKey } = this._sessionCache.keys().next();
-            this._sessionCache.delete(oldestKey);
-          }
-          this._sessionCache.set(sessionKey, session);
+          if (onHeaders) onHeaders.call(this, statusCode, data, resume);
+        };
+        const {
+          origin,
+          path: path8 = "/",
+          headers = {}
+        } = opts;
+        opts.path = origin + path8;
+        if (!("host" in headers) && !("Host" in headers)) {
+          const { host } = new URL2(origin);
+          headers.host = host;
         }
-      };
-    }
-    function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, ...opts }) {
-      if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
-        throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
+        opts.headers = { ...this[kProxyHeaders], ...headers };
+        return this.#client[kDispatch](opts, handler2);
       }
-      const options = { path: socketPath, ...opts };
-      const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
-      timeout = timeout == null ? 1e4 : timeout;
-      allowH2 = allowH2 != null ? allowH2 : false;
-      return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
-        let socket;
-        if (protocol === "https:") {
-          if (!tls) {
-            tls = require("tls");
-          }
-          servername = servername || options.servername || util.getServerName(host) || null;
-          const sessionKey = servername || hostname;
-          const session = sessionCache.get(sessionKey) || null;
-          assert(sessionKey);
-          socket = tls.connect({
-            highWaterMark: 16384,
-            // TLS in node can't have bigger HWM anyway...
-            ...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: port || 443,
-            host: hostname
-          });
-          socket.on("session", function(session2) {
-            sessionCache.set(sessionKey, session2);
-          });
-        } else {
-          assert(!httpSocket, "httpSocket can only be sent on TLS update");
-          socket = net.connect({
-            highWaterMark: 64 * 1024,
-            // Same as nodejs fs streams.
-            ...options,
-            localAddress,
-            port: port || 80,
-            host: hostname
-          });
+      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");
         }
-        if (options.keepAlive == null || options.keepAlive) {
-          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
-          socket.setKeepAlive(true, keepAliveInitialDelay);
+        const { clientFactory = defaultFactory } = opts;
+        if (typeof clientFactory !== "function") {
+          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
         }
-        const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout);
-        socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(null, this);
-          }
-        }).on("error", function(err) {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(err);
+        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 socket;
-      };
-    }
-    function setupTimeout(onConnectTimeout2, timeout) {
-      if (!timeout) {
-        return () => {
+          return agentFactory(origin2, options);
         };
-      }
-      let s1 = null;
-      let s2 = null;
-      const timeoutId = setTimeout(() => {
-        s1 = setImmediate(() => {
-          if (process.platform === "win32") {
-            s2 = setImmediate(() => onConnectTimeout2());
-          } else {
-            onConnectTimeout2();
+        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);
+              }
+            }
           }
         });
-      }, timeout);
-      return () => {
-        clearTimeout(timeoutId);
-        clearImmediate(s1);
-        clearImmediate(s2);
-      };
-    }
-    function onConnectTimeout(socket) {
-      util.destroy(socket, new ConnectTimeoutError());
-    }
-    module2.exports = buildConnector;
-  }
-});
-
-// node_modules/undici/lib/llhttp/utils.js
-var require_utils3 = __commonJS({
-  "node_modules/undici/lib/llhttp/utils.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.enumToMap = void 0;
-    function enumToMap(obj) {
-      const res = {};
-      Object.keys(obj).forEach((key) => {
-        const value = obj[key];
-        if (typeof value === "number") {
-          res[key] = value;
+      }
+      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 res;
-    }
-    exports2.enumToMap = enumToMap;
-  }
-});
-
-// node_modules/undici/lib/llhttp/constants.js
-var require_constants8 = __commonJS({
-  "node_modules/undici/lib/llhttp/constants.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
-    var utils_1 = require_utils3();
-    var ERROR;
-    (function(ERROR2) {
-      ERROR2[ERROR2["OK"] = 0] = "OK";
-      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
-      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
-      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
-      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
-      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
-      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
-      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
-      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
-      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
-      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
-      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
-      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
-      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
-      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
-      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
-      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
-      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
-      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
-      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
-      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
-      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
-      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
-      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
-      ERROR2[ERROR2["USER"] = 24] = "USER";
-    })(ERROR = 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];
+        return this[kAgent].dispatch(
+          {
+            ...opts,
+            headers
+          },
+          handler2
+        );
       }
-    });
-    var FINISH;
-    (function(FINISH2) {
-      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
-      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
-      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
-    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
-    exports2.ALPHA = [];
-    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
-      exports2.ALPHA.push(String.fromCharCode(i));
-      exports2.ALPHA.push(String.fromCharCode(i + 32));
-    }
-    exports2.NUM_MAP = {
-      0: 0,
-      1: 1,
-      2: 2,
-      3: 3,
-      4: 4,
-      5: 5,
-      6: 6,
-      7: 7,
-      8: 8,
-      9: 9
-    };
-    exports2.HEX_MAP = {
-      0: 0,
-      1: 1,
-      2: 2,
-      3: 3,
-      4: 4,
-      5: 5,
-      6: 6,
-      7: 7,
-      8: 8,
-      9: 9,
-      A: 10,
-      B: 11,
-      C: 12,
-      D: 13,
-      E: 14,
-      F: 15,
-      a: 10,
-      b: 11,
-      c: 12,
-      d: 13,
-      e: 14,
-      f: 15
-    };
-    exports2.NUM = [
-      "0",
-      "1",
-      "2",
-      "3",
-      "4",
-      "5",
-      "6",
-      "7",
-      "8",
-      "9"
-    ];
-    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
-    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
-    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
-    exports2.STRICT_URL_CHAR = [
-      "!",
-      '"',
-      "$",
-      "%",
-      "&",
-      "'",
-      "(",
-      ")",
-      "*",
-      "+",
-      ",",
-      "-",
-      ".",
-      "/",
-      ":",
-      ";",
-      "<",
-      "=",
-      ">",
-      "@",
-      "[",
-      "\\",
-      "]",
-      "^",
-      "_",
-      "`",
-      "{",
-      "|",
-      "}",
-      "~"
-    ].concat(exports2.ALPHANUM);
-    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
-    for (let i = 128; i <= 255; i++) {
-      exports2.URL_CHAR.push(i);
-    }
-    exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
-    exports2.STRICT_TOKEN = [
-      "!",
-      "#",
-      "$",
-      "%",
-      "&",
-      "'",
-      "*",
-      "+",
-      "-",
-      ".",
-      "^",
-      "_",
-      "`",
-      "|",
-      "~"
-    ].concat(exports2.ALPHANUM);
-    exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]);
-    exports2.HEADER_CHARS = ["	"];
-    for (let i = 32; i <= 255; i++) {
-      if (i !== 127) {
-        exports2.HEADER_CHARS.push(i);
+      /**
+       * @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();
       }
-    }
-    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
     };
+    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/handler/RedirectHandler.js
-var require_RedirectHandler = __commonJS({
-  "node_modules/undici/lib/handler/RedirectHandler.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js
+var require_env_http_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js"(exports2, module2) {
     "use strict";
-    var util = require_util9();
-    var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
-    var { InvalidArgumentError } = require_errors2();
-    var EE = require("events");
-    var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
-    var kBody = /* @__PURE__ */ Symbol("body");
-    var BodyAsyncIterable = class {
-      constructor(body) {
-        this[kBody] = body;
-        this[kBodyUsed] = false;
+    var DispatcherBase = require_dispatcher_base2();
+    var { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require_symbols6();
+    var ProxyAgent = require_proxy_agent2();
+    var Agent = require_agent2();
+    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();
       }
-      async *[Symbol.asyncIterator]() {
-        assert(!this[kBodyUsed], "disturbed");
-        this[kBodyUsed] = true;
-        yield* this[kBody];
+      [kDispatch](opts, handler2) {
+        const url = new URL(opts.origin);
+        const agent = this.#getProxyAgentForUrl(url);
+        return agent.dispatch(opts, handler2);
       }
-    };
-    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");
+      async [kClose]() {
+        await this[kNoProxyAgent].close();
+        if (!this[kHttpProxyAgent][kClosed]) {
+          await this[kHttpProxyAgent].close();
         }
-        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 = [];
-        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);
+        if (!this[kHttpsProxyAgent][kClosed]) {
+          await this[kHttpsProxyAgent].close();
         }
       }
-      onConnect(abort) {
-        this.abort = abort;
-        this.handler.onConnect(abort, { history: this.history });
+      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);
+        }
       }
-      onUpgrade(statusCode, headers, socket) {
-        this.handler.onUpgrade(statusCode, headers, socket);
+      #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];
       }
-      onError(error3) {
-        this.handler.onError(error3);
+      #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;
       }
-      onHeaders(statusCode, headers, resume, statusText) {
-        this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers);
-        if (this.opts.origin) {
-          this.history.push(new URL(this.opts.path, this.opts.origin));
+      #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
+          });
         }
-        if (!this.location) {
-          return this.handler.onHeaders(statusCode, headers, resume, statusText);
+        this.#noProxyValue = noProxyValue;
+        this.#noProxyEntries = noProxyEntries;
+      }
+      get #noProxyChanged() {
+        if (this.#opts.noProxy !== void 0) {
+          return false;
         }
-        const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)));
-        const path8 = search ? `${pathname}${search}` : pathname;
-        this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
-        this.opts.path = path8;
-        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;
+        return this.#noProxyValue !== this.#noProxyEnv;
+      }
+      get #noProxyEnv() {
+        return process.env.no_proxy ?? process.env.NO_PROXY ?? "";
+      }
+    };
+    module2.exports = EnvHttpProxyAgent;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/handler/retry-handler.js
+var require_retry_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/retry-handler.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { kRetryHandlerDefaultRetry } = require_symbols6();
+    var { RequestRetryError } = require_errors2();
+    var {
+      isDisturbed,
+      parseHeaders,
+      parseRangeHeader,
+      wrapRequestBody
+    } = require_util9();
+    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();
         }
       }
-      onData(chunk) {
-        if (this.location) {
-        } else {
-          return this.handler.onData(chunk);
+      onUpgrade(statusCode, headers, socket) {
+        if (this.handler.onUpgrade) {
+          this.handler.onUpgrade(statusCode, headers, socket);
         }
       }
-      onComplete(trailers) {
-        if (this.location) {
-          this.location = null;
-          this.abort = null;
-          this.dispatch(this.opts, this);
+      onConnect(abort) {
+        if (this.aborted) {
+          abort(this.reason);
         } else {
-          this.handler.onComplete(trailers);
+          this.abort = abort;
         }
       }
       onBodySent(chunk) {
-        if (this.handler.onBodySent) {
-          this.handler.onBodySent(chunk);
-        }
-      }
-    };
-    function parseLocation(statusCode, headers) {
-      if (redirectableStatusCodes.indexOf(statusCode) === -1) {
-        return null;
+        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
       }
-      for (let i = 0; i < headers.length; i += 2) {
-        if (headers[i].toString().toLowerCase() === "location") {
-          return headers[i + 1];
+      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);
       }
-    }
-    function shouldRemoveHeader(header, removeContent, unknownOrigin) {
-      if (header.length === 4) {
-        return util.headerNameToString(header) === "host";
+      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;
       }
-      if (removeContent && util.headerNameToString(header).startsWith("content-")) {
-        return true;
+      onData(chunk) {
+        this.start += chunk.length;
+        return this.handler.onData(chunk);
       }
-      if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) {
-        const name = util.headerNameToString(header);
-        return name === "authorization" || name === "cookie" || name === "proxy-authorization";
+      onComplete(rawTrailers) {
+        this.retryCount = 0;
+        return this.handler.onComplete(rawTrailers);
       }
-      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]);
+      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);
           }
-        }
-      } else if (headers && typeof headers === "object") {
-        for (const key of Object.keys(headers)) {
-          if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {
-            ret.push(key, headers[key]);
+          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);
           }
         }
-      } else {
-        assert(headers == null, "headers must be an object or an array");
       }
-      return ret;
-    }
-    module2.exports = RedirectHandler;
+    };
+    module2.exports = RetryHandler;
   }
 });
 
-// node_modules/undici/lib/interceptor/redirectInterceptor.js
-var require_redirectInterceptor = __commonJS({
-  "node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js
+var require_retry_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js"(exports2, module2) {
     "use strict";
-    var RedirectHandler = require_RedirectHandler();
-    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/llhttp/llhttp-wasm.js
-var require_llhttp_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8=";
-  }
-});
-
-// node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
-var require_llhttp_simd_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJsbGh0dHBfc3RhdHVzX25hbWUAIRpsbGh0dHBfc2V0X2xlbmllbnRfaGVhZGVycwAiIWxsaHR0cF9zZXRfbGVuaWVudF9jaHVua2VkX2xlbmd0aAAjHWxsaHR0cF9zZXRfbGVuaWVudF9rZWVwX2FsaXZlACQkbGxodHRwX3NldF9sZW5pZW50X3RyYW5zZmVyX2VuY29kaW5nACUYbGxodHRwX21lc3NhZ2VfbmVlZHNfZW9mAD8JFwEAQQELEQECAwQFCwYHNTk3MS8tJyspCrLgAkUCAAsIABCIgICAAAsZACAAEMKAgIAAGiAAIAI2AjggACABOgAoCxwAIAAgAC8BMiAALQAuIAAQwYCAgAAQgICAgAALKgEBf0HAABDGgICAACIBEMKAgIAAGiABQYCIgIAANgI4IAEgADoAKCABCwoAIAAQyICAgAALBwAgAC0AKAsHACAALQAqCwcAIAAtACsLBwAgAC0AKQsHACAALwEyCwcAIAAtAC4LRQEEfyAAKAIYIQEgAC0ALSECIAAtACghAyAAKAI4IQQgABDCgICAABogACAENgI4IAAgAzoAKCAAIAI6AC0gACABNgIYCxEAIAAgASABIAJqEMOAgIAACxAAIABBAEHcABDMgICAABoLZwEBf0EAIQECQCAAKAIMDQACQAJAAkACQCAALQAvDgMBAAMCCyAAKAI4IgFFDQAgASgCLCIBRQ0AIAAgARGAgICAAAAiAQ0DC0EADwsQyoCAgAAACyAAQcOWgIAANgIQQQ4hAQsgAQseAAJAIAAoAgwNACAAQdGbgIAANgIQIABBFTYCDAsLFgACQCAAKAIMQRVHDQAgAEEANgIMCwsWAAJAIAAoAgxBFkcNACAAQQA2AgwLCwcAIAAoAgwLBwAgACgCEAsJACAAIAE2AhALBwAgACgCFAsiAAJAIABBJEkNABDKgICAAAALIABBAnRBoLOAgABqKAIACyIAAkAgAEEuSQ0AEMqAgIAAAAsgAEECdEGwtICAAGooAgAL7gsBAX9B66iAgAAhAQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABBnH9qDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0Hhp4CAAA8LQaShgIAADwtBy6yAgAAPC0H+sYCAAA8LQcCkgIAADwtBq6SAgAAPC0GNqICAAA8LQeKmgIAADwtBgLCAgAAPC0G5r4CAAA8LQdekgIAADwtB75+AgAAPC0Hhn4CAAA8LQfqfgIAADwtB8qCAgAAPC0Gor4CAAA8LQa6ygIAADwtBiLCAgAAPC0Hsp4CAAA8LQYKigIAADwtBjp2AgAAPC0HQroCAAA8LQcqjgIAADwtBxbKAgAAPC0HfnICAAA8LQdKcgIAADwtBxKCAgAAPC0HXoICAAA8LQaKfgIAADwtB7a6AgAAPC0GrsICAAA8LQdSlgIAADwtBzK6AgAAPC0H6roCAAA8LQfyrgIAADwtB0rCAgAAPC0HxnYCAAA8LQbuggIAADwtB96uAgAAPC0GQsYCAAA8LQdexgIAADwtBoq2AgAAPC0HUp4CAAA8LQeCrgIAADwtBn6yAgAAPC0HrsYCAAA8LQdWfgIAADwtByrGAgAAPC0HepYCAAA8LQdSegIAADwtB9JyAgAAPC0GnsoCAAA8LQbGdgIAADwtBoJ2AgAAPC0G5sYCAAA8LQbywgIAADwtBkqGAgAAPC0GzpoCAAA8LQemsgIAADwtBrJ6AgAAPC0HUq4CAAA8LQfemgIAADwtBgKaAgAAPC0GwoYCAAA8LQf6egIAADwtBjaOAgAAPC0GJrYCAAA8LQfeigIAADwtBoLGAgAAPC0Gun4CAAA8LQcalgIAADwtB6J6AgAAPC0GTooCAAA8LQcKvgIAADwtBw52AgAAPC0GLrICAAA8LQeGdgIAADwtBja+AgAAPC0HqoYCAAA8LQbStgIAADwtB0q+AgAAPC0HfsoCAAA8LQdKygIAADwtB8LCAgAAPC0GpooCAAA8LQfmjgIAADwtBmZ6AgAAPC0G1rICAAA8LQZuwgIAADwtBkrKAgAAPC0G2q4CAAA8LQcKigIAADwtB+LKAgAAPC0GepYCAAA8LQdCigIAADwtBup6AgAAPC0GBnoCAAA8LEMqAgIAAAAtB1qGAgAAhAQsgAQsWACAAIAAtAC1B/gFxIAFBAEdyOgAtCxkAIAAgAC0ALUH9AXEgAUEAR0EBdHI6AC0LGQAgACAALQAtQfsBcSABQQBHQQJ0cjoALQsZACAAIAAtAC1B9wFxIAFBAEdBA3RyOgAtCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAgAiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCBCIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQcaRgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIwIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAggiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2ioCAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCNCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIMIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZqAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAjgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCECIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZWQgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAI8IgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAhQiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEGqm4CAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCQCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIYIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZOAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCJCIERQ0AIAAgBBGAgICAAAAhAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIsIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAigiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2iICAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCUCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIcIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABBwpmAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCICIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZSUgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAJMIgRFDQAgACAEEYCAgIAAACEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAlQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCWCIERQ0AIAAgBBGAgICAAAAhAwsgAwtFAQF/AkACQCAALwEwQRRxQRRHDQBBASEDIAAtAChBAUYNASAALwEyQeUARiEDDAELIAAtAClBBUYhAwsgACADOgAuQQAL/gEBA39BASEDAkAgAC8BMCIEQQhxDQAgACkDIEIAUiEDCwJAAkAgAC0ALkUNAEEBIQUgAC0AKUEFRg0BQQEhBSAEQcAAcUUgA3FBAUcNAQtBACEFIARBwABxDQBBAiEFIARB//8DcSIDQQhxDQACQCADQYAEcUUNAAJAIAAtAChBAUcNACAALQAtQQpxDQBBBQ8LQQQPCwJAIANBIHENAAJAIAAtAChBAUYNACAALwEyQf//A3EiAEGcf2pB5ABJDQAgAEHMAUYNACAAQbACRg0AQQQhBSAEQShxRQ0CIANBiARxQYAERg0CC0EADwtBAEEDIAApAyBQGyEFCyAFC2IBAn9BACEBAkAgAC0AKEEBRg0AIAAvATJB//8DcSICQZx/akHkAEkNACACQcwBRg0AIAJBsAJGDQAgAC8BMCIAQcAAcQ0AQQEhASAAQYgEcUGABEYNACAAQShxRSEBCyABC6cBAQN/AkACQAJAIAAtACpFDQAgAC0AK0UNAEEAIQMgAC8BMCIEQQJxRQ0BDAILQQAhAyAALwEwIgRBAXFFDQELQQEhAyAALQAoQQFGDQAgAC8BMkH//wNxIgVBnH9qQeQASQ0AIAVBzAFGDQAgBUGwAkYNACAEQcAAcQ0AQQAhAyAEQYgEcUGABEYNACAEQShxQQBHIQMLIABBADsBMCAAQQA6AC8gAwuZAQECfwJAAkACQCAALQAqRQ0AIAAtACtFDQBBACEBIAAvATAiAkECcUUNAQwCC0EAIQEgAC8BMCICQQFxRQ0BC0EBIQEgAC0AKEEBRg0AIAAvATJB//8DcSIAQZx/akHkAEkNACAAQcwBRg0AIABBsAJGDQAgAkHAAHENAEEAIQEgAkGIBHFBgARGDQAgAkEocUEARyEBCyABC0kBAXsgAEEQav0MAAAAAAAAAAAAAAAAAAAAACIB/QsDACAAIAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==";
+    var Dispatcher = require_dispatcher2();
+    var RetryHandler = require_retry_handler2();
+    var RetryAgent = class extends Dispatcher {
+      #agent = null;
+      #options = null;
+      constructor(agent, options = {}) {
+        super(options);
+        this.#agent = agent;
+        this.#options = options;
+      }
+      dispatch(opts, handler2) {
+        const retry2 = new RetryHandler({
+          ...opts,
+          retryOptions: this.#options
+        }, {
+          dispatch: this.#agent.dispatch.bind(this.#agent),
+          handler: handler2
+        });
+        return this.#agent.dispatch(opts, retry2);
+      }
+      close() {
+        return this.#agent.close();
+      }
+      destroy() {
+        return this.#agent.destroy();
+      }
+    };
+    module2.exports = RetryAgent;
   }
 });
 
-// node_modules/undici/lib/client.js
-var require_client2 = __commonJS({
-  "node_modules/undici/lib/client.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/api/readable.js
+var require_readable2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/readable.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var net = require("net");
-    var http = require("http");
-    var { pipeline } = require("stream");
+    var assert = require("node:assert");
+    var { Readable: Readable2 } = require("node:stream");
+    var { RequestAbortedError, NotSupportedError, InvalidArgumentError, AbortError } = require_errors2();
     var util = require_util9();
-    var timers = require_timers2();
-    var Request = require_request3();
-    var DispatcherBase = require_dispatcher_base2();
-    var {
-      RequestContentLengthMismatchError,
-      ResponseContentLengthMismatchError,
-      InvalidArgumentError,
-      RequestAbortedError,
-      HeadersTimeoutError,
-      HeadersOverflowError,
-      SocketError,
-      InformationalError,
-      BodyTimeoutError,
-      HTTPParserError,
-      ResponseExceededMaxSizeError,
-      ClientDestroyedError
-    } = require_errors2();
-    var buildConnector = require_connect2();
-    var {
-      kUrl,
-      kReset,
-      kServerName,
-      kClient,
-      kBusy,
-      kParser,
-      kConnect,
-      kBlocking,
-      kResuming,
-      kRunning,
-      kPending,
-      kSize,
-      kWriting,
-      kQueue,
-      kConnected,
-      kConnecting,
-      kNeedDrain,
-      kNoRef,
-      kKeepAliveDefaultTimeout,
-      kHostHeader,
-      kPendingIdx,
-      kRunningIdx,
-      kError,
-      kPipelining,
-      kSocket,
-      kKeepAliveTimeoutValue,
-      kMaxHeadersSize,
-      kKeepAliveMaxTimeout,
-      kKeepAliveTimeoutThreshold,
-      kHeadersTimeout,
-      kBodyTimeout,
-      kStrictContentLength,
-      kConnector,
-      kMaxRedirections,
-      kMaxRequests,
-      kCounter,
-      kClose,
-      kDestroy,
-      kDispatch,
-      kInterceptors,
-      kLocalAddress,
-      kMaxResponseSize,
-      kHTTPConnVersion,
-      // HTTP2
-      kHost,
-      kHTTP2Session,
-      kHTTP2SessionState,
-      kHTTP2BuildRequest,
-      kHTTP2CopyHeaders,
-      kHTTP1BuildRequest
-    } = require_symbols6();
-    var http2;
-    try {
-      http2 = require("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
+    var { ReadableStreamFrom } = require_util9();
+    var kConsume = /* @__PURE__ */ Symbol("kConsume");
+    var kReading = /* @__PURE__ */ Symbol("kReading");
+    var kBody = /* @__PURE__ */ Symbol("kBody");
+    var kAbort = /* @__PURE__ */ Symbol("kAbort");
+    var kContentType = /* @__PURE__ */ Symbol("kContentType");
+    var kContentLength = /* @__PURE__ */ Symbol("kContentLength");
+    var noop3 = () => {
+    };
+    var BodyReadable = class extends Readable2 {
+      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;
       }
-    } = http2;
-    var h2ExperimentalWarned = false;
-    var FastBuffer = Buffer[Symbol.species];
-    var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
-    var channels = {};
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.sendHeaders = diagnosticsChannel.channel("undici:client:sendHeaders");
-      channels.beforeConnect = diagnosticsChannel.channel("undici:client:beforeConnect");
-      channels.connectError = diagnosticsChannel.channel("undici:client:connectError");
-      channels.connected = diagnosticsChannel.channel("undici:client:connected");
-    } catch {
-      channels.sendHeaders = { hasSubscribers: false };
-      channels.beforeConnect = { hasSubscribers: false };
-      channels.connectError = { hasSubscribers: false };
-      channels.connected = { hasSubscribers: false };
-    }
-    var Client = class extends DispatcherBase {
-      /**
-       *
-       * @param {string|URL} url
-       * @param {import('../types/client').Client.Options} options
-       */
-      constructor(url, {
-        interceptors,
-        maxHeaderSize,
-        headersTimeout,
-        socketTimeout,
-        requestTimeout,
-        connectTimeout,
-        bodyTimeout,
-        idleTimeout,
-        keepAlive,
-        keepAliveTimeout,
-        maxKeepAliveTimeout,
-        keepAliveMaxTimeout,
-        keepAliveTimeoutThreshold,
-        socketPath,
-        pipelining,
-        tls,
-        strictContentLength,
-        maxCachedSessions,
-        maxRedirections,
-        connect: connect2,
-        maxRequestsPerClient,
-        localAddress,
-        maxResponseSize,
-        autoSelectFamily,
-        autoSelectFamilyAttemptTimeout,
-        // h2
-        allowH2,
-        maxConcurrentStreams
-      } = {}) {
-        super();
-        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");
+      destroy(err) {
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
         }
-        if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) {
-          throw new InvalidArgumentError("maxResponseSize must be a positive number");
+        if (err) {
+          this[kAbort]();
         }
-        if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) {
-          throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number");
+        return super.destroy(err);
+      }
+      _destroy(err, callback) {
+        if (!this[kReading]) {
+          setImmediate(() => {
+            callback(err);
+          });
+        } else {
+          callback(err);
         }
-        if (allowH2 != null && typeof allowH2 !== "boolean") {
-          throw new InvalidArgumentError("allowH2 must be a valid boolean value");
+      }
+      on(ev, ...args) {
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = true;
         }
-        if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) {
-          throw new InvalidArgumentError("maxConcurrentStreams must be a possitive integer, greater than 0");
+        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;
         }
-        if (typeof connect2 !== "function") {
-          connect2 = buildConnector({
-            ...tls,
-            maxCachedSessions,
-            allowH2,
-            socketPath,
-            timeout: connectTimeout,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
-            ...connect2
-          });
+        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;
         }
-        this[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client) ? interceptors.Client : [createRedirectInterceptor({ maxRedirections })];
-        this[kUrl] = util.parseOrigin(url);
-        this[kConnector] = connect2;
-        this[kSocket] = null;
-        this[kPipelining] = pipelining != null ? pipelining : 1;
-        this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize;
-        this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;
-        this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;
-        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold;
-        this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
-        this[kServerName] = null;
-        this[kLocalAddress] = localAddress != null ? localAddress : null;
-        this[kResuming] = 0;
-        this[kNeedDrain] = 0;
-        this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r
-`;
-        this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5;
-        this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5;
-        this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength;
-        this[kMaxRedirections] = maxRedirections;
-        this[kMaxRequests] = maxRequestsPerClient;
-        this[kClosedResolve] = null;
-        this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
-        this[kHTTPConnVersion] = "h1";
-        this[kHTTP2Session] = null;
-        this[kHTTP2SessionState] = !allowH2 ? null : {
-          // streams: null, // Fixed queue of streams - For future support of `push`
-          openStreams: 0,
-          // Keep track of them to decide wether or not unref the session
-          maxConcurrentStreams: maxConcurrentStreams != null ? maxConcurrentStreams : 100
-          // Max peerConcurrentStreams for a Node h2 server
-        };
-        this[kHost] = `${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}`;
-        this[kQueue] = [];
-        this[kRunningIdx] = 0;
-        this[kPendingIdx] = 0;
+        return super.push(chunk);
       }
-      get pipelining() {
-        return this[kPipelining];
+      // https://fetch.spec.whatwg.org/#dom-body-text
+      async text() {
+        return consume(this, "text");
       }
-      set pipelining(value) {
-        this[kPipelining] = value;
-        resume(this, true);
+      // https://fetch.spec.whatwg.org/#dom-body-json
+      async json() {
+        return consume(this, "json");
       }
-      get [kPending]() {
-        return this[kQueue].length - this[kPendingIdx];
+      // https://fetch.spec.whatwg.org/#dom-body-blob
+      async blob() {
+        return consume(this, "blob");
       }
-      get [kRunning]() {
-        return this[kPendingIdx] - this[kRunningIdx];
+      // https://fetch.spec.whatwg.org/#dom-body-bytes
+      async bytes() {
+        return consume(this, "bytes");
       }
-      get [kSize]() {
-        return this[kQueue].length - this[kRunningIdx];
+      // https://fetch.spec.whatwg.org/#dom-body-arraybuffer
+      async arrayBuffer() {
+        return consume(this, "arrayBuffer");
       }
-      get [kConnected]() {
-        return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed;
+      // https://fetch.spec.whatwg.org/#dom-body-formdata
+      async formData() {
+        throw new NotSupportedError();
       }
-      get [kBusy]() {
-        const socket = this[kSocket];
-        return socket && (socket[kReset] || socket[kWriting] || socket[kBlocking]) || this[kSize] >= (this[kPipelining] || 1) || this[kPending] > 0;
+      // https://fetch.spec.whatwg.org/#dom-body-bodyused
+      get bodyUsed() {
+        return util.isDisturbed(this);
       }
-      /* istanbul ignore: only used for test */
-      [kConnect](cb) {
-        connect(this);
-        this.once("connect", cb);
+      // 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];
       }
-      [kDispatch](opts, handler2) {
-        const origin = opts.origin || this[kUrl].origin;
-        const request2 = this[kHTTPConnVersion] === "h2" ? Request[kHTTP2BuildRequest](origin, opts, handler2) : Request[kHTTP1BuildRequest](origin, opts, handler2);
-        this[kQueue].push(request2);
-        if (this[kResuming]) {
-        } else if (util.bodyLength(request2.body) == null && util.isIterable(request2.body)) {
-          this[kResuming] = 1;
-          process.nextTick(resume, this);
+      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((resolve4, 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 {
+              resolve4(null);
+            }
+          }).on("error", noop3).on("data", function(chunk) {
+            limit -= chunk.length;
+            if (limit <= 0) {
+              this.destroy();
+            }
+          }).resume();
+        });
+      }
+    };
+    function isLocked(self2) {
+      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
+    }
+    function isUnusable(self2) {
+      return util.isDisturbed(self2) || isLocked(self2);
+    }
+    async function consume(stream2, type2) {
+      assert(!stream2[kConsume]);
+      return new Promise((resolve4, reject) => {
+        if (isUnusable(stream2)) {
+          const rState = stream2._readableState;
+          if (rState.destroyed && rState.closeEmitted === false) {
+            stream2.on("error", (err) => {
+              reject(err);
+            }).on("close", () => {
+              reject(new TypeError("unusable"));
+            });
+          } else {
+            reject(rState.errored ?? new TypeError("unusable"));
+          }
         } else {
-          resume(this, true);
+          queueMicrotask(() => {
+            stream2[kConsume] = {
+              type: type2,
+              stream: stream2,
+              resolve: resolve4,
+              reject,
+              length: 0,
+              body: []
+            };
+            stream2.on("error", function(err) {
+              consumeFinish(this[kConsume], err);
+            }).on("close", function() {
+              if (this[kConsume].body !== null) {
+                consumeFinish(this[kConsume], new RequestAbortedError());
+              }
+            });
+            consumeStart(stream2[kConsume]);
+          });
         }
-        if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
-          this[kNeedDrain] = 2;
+      });
+    }
+    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);
         }
-        return this[kNeedDrain] < 2;
       }
-      async [kClose]() {
-        return new Promise((resolve4) => {
-          if (!this[kSize]) {
-            resolve4(null);
-          } else {
-            this[kClosedResolve] = resolve4;
-          }
+      if (state.endEmitted) {
+        consumeEnd(this[kConsume]);
+      } else {
+        consume2.stream.on("end", function() {
+          consumeEnd(this[kConsume]);
         });
       }
-      async [kDestroy](err) {
-        return new Promise((resolve4) => {
-          const requests = this[kQueue].splice(this[kPendingIdx]);
-          for (let i = 0; i < requests.length; i++) {
-            const request2 = requests[i];
-            errorRequest2(this, request2, err);
-          }
-          const callback = () => {
-            if (this[kClosedResolve]) {
-              this[kClosedResolve]();
-              this[kClosedResolve] = null;
-            }
-            resolve4();
-          };
-          if (this[kHTTP2Session] != null) {
-            util.destroy(this[kHTTP2Session], err);
-            this[kHTTP2Session] = null;
-            this[kHTTP2SessionState] = null;
-          }
-          if (!this[kSocket]) {
-            queueMicrotask(callback);
-          } else {
-            util.destroy(this[kSocket].on("close", callback), err);
-          }
-          resume(this);
-        });
+      consume2.stream.resume();
+      while (consume2.stream.read() != null) {
       }
-    };
-    function onHttp2SessionError(err) {
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      this[kSocket][kError] = err;
-      onError(this[kClient], err);
     }
-    function onHttp2FrameError(type2, code, id) {
-      const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-      if (id === 0) {
-        this[kSocket][kError] = err;
-        onError(this[kClient], err);
+    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 onHttp2SessionEnd() {
-      util.destroy(this, new SocketError("other side closed"));
-      util.destroy(this[kSocket], new SocketError("other side closed"));
-    }
-    function onHTTP2GoAway(code) {
-      const client = this[kClient];
-      const err = new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`);
-      client[kSocket] = null;
-      client[kHTTP2Session] = null;
-      if (client.destroyed) {
-        assert(this[kPending] === 0);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(this, request2, err);
-        }
-      } else if (client[kRunning] > 0) {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
+    function chunksConcat(chunks, length) {
+      if (chunks.length === 0 || length === 0) {
+        return new Uint8Array(0);
       }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit(
-        "disconnect",
-        client[kUrl],
-        [client],
-        err
-      );
-      resume(client);
+      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;
     }
-    var constants = require_constants8();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var EMPTY_BUF = Buffer.alloc(0);
-    async function lazyllhttp() {
-      const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm2() : void 0;
-      let mod;
+    function consumeEnd(consume2) {
+      const { type: type2, body, resolve: resolve4, stream: stream2, length } = consume2;
       try {
-        mod = await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm2(), "base64"));
-      } catch (e) {
-        mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require_llhttp_wasm2(), "base64"));
-      }
-      return await WebAssembly.instantiate(mod, {
-        env: {
-          /* eslint-disable camelcase */
-          wasm_on_url: (p, at, len) => {
-            return 0;
-          },
-          wasm_on_status: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_message_begin: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onMessageBegin() || 0;
-          },
-          wasm_on_header_field: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_header_value: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;
-          },
-          wasm_on_body: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_message_complete: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onMessageComplete() || 0;
-          }
-          /* eslint-enable camelcase */
+        if (type2 === "text") {
+          resolve4(chunksDecode(body, length));
+        } else if (type2 === "json") {
+          resolve4(JSON.parse(chunksDecode(body, length)));
+        } else if (type2 === "arrayBuffer") {
+          resolve4(chunksConcat(body, length).buffer);
+        } else if (type2 === "blob") {
+          resolve4(new Blob(body, { type: stream2[kContentType] }));
+        } else if (type2 === "bytes") {
+          resolve4(chunksConcat(body, length));
         }
-      });
-    }
-    var llhttpInstance = null;
-    var llhttpPromise = lazyllhttp();
-    llhttpPromise.catch();
-    var currentParser = null;
-    var currentBufferRef = null;
-    var currentBufferSize = 0;
-    var currentBufferPtr = null;
-    var TIMEOUT_HEADERS = 1;
-    var TIMEOUT_BODY = 2;
-    var TIMEOUT_IDLE = 3;
-    var Parser = class {
-      constructor(client, socket, { exports: 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];
+        consumeFinish(consume2);
+      } catch (err) {
+        stream2.destroy(err);
       }
-      setTimeout(value, type2) {
-        this.timeoutType = type2;
-        if (value !== this.timeoutValue) {
-          timers.clearTimeout(this.timeout);
-          if (value) {
-            this.timeout = timers.setTimeout(onParserTimeout, value, this);
-            if (this.timeout.unref) {
-              this.timeout.unref();
-            }
-          } else {
-            this.timeout = null;
-          }
-          this.timeoutValue = value;
-        } else if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
-          }
-        }
+    }
+    function consumePush(consume2, chunk) {
+      consume2.length += chunk.length;
+      consume2.body.push(chunk);
+    }
+    function consumeFinish(consume2, err) {
+      if (consume2.body === null) {
+        return;
       }
-      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();
+      if (err) {
+        consume2.reject(err);
+      } else {
+        consume2.resolve();
       }
-      readMore() {
-        while (!this.paused && this.ptr) {
-          const chunk = this.socket.read();
-          if (chunk === null) {
+      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/@actions/github/node_modules/undici/lib/api/util.js
+var require_util11 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/util.js"(exports2, module2) {
+    var assert = require("node:assert");
+    var {
+      ResponseStatusCodeError
+    } = require_errors2();
+    var { chunksDecode } = require_readable2();
+    var CHUNK_LIMIT = 128 * 1024;
+    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
+      assert(body);
+      let chunks = [];
+      let length = 0;
+      try {
+        for await (const chunk of body) {
+          chunks.push(chunk);
+          length += chunk.length;
+          if (length > CHUNK_LIMIT) {
+            chunks = [];
+            length = 0;
             break;
           }
-          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;
-        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;
         }
+      } catch {
+        chunks = [];
+        length = 0;
       }
-      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);
+      const message = `Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`;
+      if (statusCode === 204 || !contentType || !length) {
+        queueMicrotask(() => callback(new ResponseStatusCodeError(message, statusCode, headers)));
+        return;
       }
-      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 && key.toString().toLowerCase() === "keep-alive") {
-          this.keepAlive += buf.toString();
-        } else if (key.length === 10 && key.toString().toLowerCase() === "connection") {
-          this.connection += buf.toString();
-        } else if (key.length === 14 && key.toString().toLowerCase() === "content-length") {
-          this.contentLength += buf.toString();
+      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);
         }
-        this.trackHeader(buf.length);
+      } catch {
+      } finally {
+        Error.stackTraceLimit = stackTraceLimit;
       }
-      trackHeader(len) {
-        this.headersSize += len;
-        if (this.headersSize >= this.headersMaxSize) {
-          util.destroy(this.socket, new HeadersOverflowError());
+      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/@actions/github/node_modules/undici/lib/api/api-request.js
+var require_api_request2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-request.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { Readable: Readable2 } = require_readable2();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
+    var util = require_util9();
+    var { getResolveErrorBodyCallback } = require_util11();
+    var { AsyncResource } = require("node:async_hooks");
+    var RequestHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-      }
-      onUpgrade(head) {
-        const { upgrade, client, socket, headers, statusCode } = this;
-        assert(upgrade);
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert(!socket.destroyed);
-        assert(socket === client[kSocket]);
-        assert(!this.paused);
-        assert(request2.upgrade || request2.method === "CONNECT");
-        this.statusCode = null;
-        this.statusText = "";
-        this.shouldKeepAlive = null;
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        socket.unshift(head);
-        socket[kParser].destroy();
-        socket[kParser] = null;
-        socket[kClient] = null;
-        socket[kError] = null;
-        socket.removeListener("error", onSocketError).removeListener("readable", onSocketReadable).removeListener("end", onSocketEnd).removeListener("close", onSocketClose);
-        client[kSocket] = null;
-        client[kQueue][client[kRunningIdx]++] = null;
-        client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
         try {
-          request2.onUpgrade(statusCode, headers, socket);
+          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) {
-          util.destroy(socket, err);
-        }
-        resume(client);
-      }
-      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.strictEqual(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 (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
           }
+          throw err;
         }
-        if (request2.method === "CONNECT") {
-          assert(client[kRunning] === 1);
-          this.upgrade = true;
-          return 2;
-        }
-        if (upgrade) {
-          assert(client[kRunning] === 1);
-          this.upgrade = true;
-          return 2;
+        this.method = method;
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.body = body;
+        this.trailers = {};
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError;
+        this.highWaterMark = highWaterMark;
+        this.signal = signal;
+        this.reason = null;
+        this.removeAbortListener = null;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
         }
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        if (this.shouldKeepAlive && client[kPipelining]) {
-          const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null;
-          if (keepAliveTimeout != null) {
-            const timeout = Math.min(
-              keepAliveTimeout - client[kKeepAliveTimeoutThreshold],
-              client[kKeepAliveMaxTimeout]
-            );
-            if (timeout <= 0) {
-              socket[kReset] = true;
-            } else {
-              client[kKeepAliveTimeoutValue] = timeout;
-            }
+        if (this.signal) {
+          if (this.signal.aborted) {
+            this.reason = this.signal.reason ?? new RequestAbortedError();
           } 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;
-          resume(client);
+            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;
+              }
+            });
+          }
         }
-        return pause ? constants.ERROR.PAUSED : 0;
       }
-      onBody(buf) {
-        const { client, socket, statusCode, maxResponseSize } = this;
-        if (socket.destroyed) {
-          return -1;
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert.strictEqual(this.timeoutType, TIMEOUT_BODY);
-        if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
+      }
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { callback, opaque, abort, context: context2, responseHeaders, highWaterMark } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
           }
+          return;
         }
-        assert(statusCode >= 200);
-        if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
-          util.destroy(socket, new ResponseExceededMaxSizeError());
-          return -1;
+        const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
+        const contentType = parsedHeaders["content-type"];
+        const contentLength = parsedHeaders["content-length"];
+        const res = new Readable2({
+          resume,
+          abort,
+          contentType,
+          contentLength: this.method !== "HEAD" && contentLength ? Number(contentLength) : null,
+          highWaterMark
+        });
+        if (this.removeAbortListener) {
+          res.on("close", this.removeAbortListener);
         }
-        this.bytesRead += buf.length;
-        if (request2.onData(buf) === false) {
-          return constants.ERROR.PAUSED;
+        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: context2
+            });
+          }
         }
       }
-      onMessageComplete() {
-        const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;
-        if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
-          return -1;
-        }
-        if (upgrade) {
-          return;
+      onData(chunk) {
+        return this.res.push(chunk);
+      }
+      onComplete(trailers) {
+        util.parseHeaders(trailers, this.trailers);
+        this.res.push(null);
+      }
+      onError(err) {
+        const { res, callback, body, opaque } = this;
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert(statusCode >= 100);
-        this.statusCode = null;
-        this.statusText = "";
-        this.bytesRead = 0;
-        this.contentLength = "";
-        this.keepAlive = "";
-        this.connection = "";
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        if (statusCode < 200) {
-          return;
+        if (res) {
+          this.res = null;
+          queueMicrotask(() => {
+            util.destroy(res, err);
+          });
         }
-        if (request2.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) {
-          util.destroy(socket, new ResponseContentLengthMismatchError());
-          return -1;
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
         }
-        request2.onComplete(headers);
-        client[kQueue][client[kRunningIdx]++] = null;
-        if (socket[kWriting]) {
-          assert.strictEqual(client[kRunning], 0);
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (!shouldKeepAlive) {
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (socket[kReset] && client[kRunning] === 0) {
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (client[kPipelining] === 1) {
-          setImmediate(resume, client);
-        } else {
-          resume(client);
+        if (this.removeAbortListener) {
+          res?.off("close", this.removeAbortListener);
+          this.removeAbortListener();
+          this.removeAbortListener = null;
         }
       }
     };
-    function onParserTimeout(parser) {
-      const { socket, timeoutType, client } = parser;
-      if (timeoutType === TIMEOUT_HEADERS) {
-        if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
-          assert(!parser.paused, "cannot be paused while waiting for headers");
-          util.destroy(socket, new HeadersTimeoutError());
-        }
-      } else if (timeoutType === TIMEOUT_BODY) {
-        if (!parser.paused) {
-          util.destroy(socket, new BodyTimeoutError());
+    function request2(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve4, reject) => {
+          request2.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve4(data);
+          });
+        });
+      }
+      try {
+        this.dispatch(opts, new RequestHandler(opts, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
-      } else if (timeoutType === TIMEOUT_IDLE) {
-        assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
-        util.destroy(socket, new InformationalError("socket idle timeout"));
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
     }
-    function onSocketReadable() {
-      const { [kParser]: parser } = this;
-      if (parser) {
-        parser.readMore();
+    module2.exports = request2;
+    module2.exports.RequestHandler = RequestHandler;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js
+var require_abort_signal2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
+    var { addAbortListener } = require_util9();
+    var { RequestAbortedError } = require_errors2();
+    var kListener = /* @__PURE__ */ Symbol("kListener");
+    var kSignal = /* @__PURE__ */ Symbol("kSignal");
+    function abort(self2) {
+      if (self2.abort) {
+        self2.abort(self2[kSignal]?.reason);
+      } else {
+        self2.reason = self2[kSignal]?.reason ?? new RequestAbortedError();
       }
+      removeSignal(self2);
     }
-    function onSocketError(err) {
-      const { [kClient]: client, [kParser]: parser } = this;
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      if (client[kHTTPConnVersion] !== "h2") {
-        if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-          return;
-        }
+    function addSignal(self2, signal) {
+      self2.reason = null;
+      self2[kSignal] = null;
+      self2[kListener] = null;
+      if (!signal) {
+        return;
       }
-      this[kError] = err;
-      onError(this[kClient], err);
-    }
-    function onError(client, err) {
-      if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
-        assert(client[kPendingIdx] === client[kRunningIdx]);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
-        }
-        assert(client[kSize] === 0);
+      if (signal.aborted) {
+        abort(self2);
+        return;
       }
+      self2[kSignal] = signal;
+      self2[kListener] = () => {
+        abort(self2);
+      };
+      addAbortListener(self2[kSignal], self2[kListener]);
     }
-    function onSocketEnd() {
-      const { [kParser]: parser, [kClient]: client } = this;
-      if (client[kHTTPConnVersion] !== "h2") {
-        if (parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-          return;
-        }
+    function removeSignal(self2) {
+      if (!self2[kSignal]) {
+        return;
+      }
+      if ("removeEventListener" in self2[kSignal]) {
+        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      } else {
+        self2[kSignal].removeListener("abort", self2[kListener]);
       }
-      util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+      self2[kSignal] = null;
+      self2[kListener] = null;
     }
-    function onSocketClose() {
-      const { [kClient]: client, [kParser]: parser } = this;
-      if (client[kHTTPConnVersion] === "h1" && parser) {
-        if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
+    module2.exports = {
+      addSignal,
+      removeSignal
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-stream.js
+var require_api_stream2 = __commonJS({
+  "node_modules/@actions/github/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_errors2();
+    var util = require_util9();
+    var { getResolveErrorBodyCallback } = require_util11();
+    var { AsyncResource } = require("node:async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var StreamHandler = class extends AsyncResource {
+      constructor(opts, factory, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        this[kParser].destroy();
-        this[kParser] = null;
-      }
-      const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
-      client[kSocket] = null;
-      if (client.destroyed) {
-        assert(client[kPending] === 0);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
+        try {
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (typeof factory !== "function") {
+            throw new InvalidArgumentError("invalid factory");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
+          }
+          super("UNDICI_STREAM");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
         }
-      } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
-      }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit("disconnect", client[kUrl], [client], err);
-      resume(client);
-    }
-    async function connect(client) {
-      assert(!client[kConnecting]);
-      assert(!client[kSocket]);
-      let { host, hostname, protocol, port } = client[kUrl];
-      if (hostname[0] === "[") {
-        const idx = hostname.indexOf("]");
-        assert(idx !== -1);
-        const ip = hostname.substring(1, idx);
-        assert(net.isIP(ip));
-        hostname = ip;
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.factory = factory;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.context = null;
+        this.trailers = null;
+        this.body = body;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError || false;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
+        }
+        addSignal(this, signal);
       }
-      client[kConnecting] = true;
-      if (channels.beforeConnect.hasSubscribers) {
-        channels.beforeConnect.publish({
-          connectParams: {
-            host,
-            hostname,
-            protocol,
-            port,
-            servername: client[kServerName],
-            localAddress: client[kLocalAddress]
-          },
-          connector: client[kConnector]
-        });
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
+        }
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
       }
-      try {
-        const socket = await new Promise((resolve4, reject) => {
-          client[kConnector]({
-            host,
-            hostname,
-            protocol,
-            port,
-            servername: client[kServerName],
-            localAddress: client[kLocalAddress]
-          }, (err, socket2) => {
-            if (err) {
-              reject(err);
-            } else {
-              resolve4(socket2);
-            }
-          });
-        });
-        if (client.destroyed) {
-          util.destroy(socket.on("error", () => {
-          }), new ClientDestroyedError());
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { factory, opaque, context: context2, callback, responseHeaders } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
+          }
           return;
         }
-        client[kConnecting] = false;
-        assert(socket);
-        const isH2 = socket.alpnProtocol === "h2";
-        if (isH2) {
-          if (!h2ExperimentalWarned) {
-            h2ExperimentalWarned = true;
-            process.emitWarning("H2 support is experimental, expect them to change at any time.", {
-              code: "UNDICI-H2"
-            });
+        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;
           }
-          const session = http2.connect(client[kUrl], {
-            createConnection: () => socket,
-            peerMaxConcurrentStreams: client[kHTTP2SessionState].maxConcurrentStreams
+          res = this.runInAsyncScope(factory, null, {
+            statusCode,
+            headers,
+            opaque,
+            context: context2
           });
-          client[kHTTPConnVersion] = "h2";
-          session[kClient] = client;
-          session[kSocket] = socket;
-          session.on("error", onHttp2SessionError);
-          session.on("frameError", onHttp2FrameError);
-          session.on("end", onHttp2SessionEnd);
-          session.on("goaway", onHTTP2GoAway);
-          session.on("close", onSocketClose);
-          session.unref();
-          client[kHTTP2Session] = session;
-          socket[kHTTP2Session] = session;
-        } else {
-          if (!llhttpInstance) {
-            llhttpInstance = await llhttpPromise;
-            llhttpPromise = null;
+          if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") {
+            throw new InvalidReturnValueError("expected Writable");
           }
-          socket[kNoRef] = false;
-          socket[kWriting] = false;
-          socket[kReset] = false;
-          socket[kBlocking] = false;
-          socket[kParser] = new Parser(client, socket, llhttpInstance);
-        }
-        socket[kCounter] = 0;
-        socket[kMaxRequests] = client[kMaxRequests];
-        socket[kClient] = client;
-        socket[kError] = null;
-        socket.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose);
-        client[kSocket] = socket;
-        if (channels.connected.hasSubscribers) {
-          channels.connected.publish({
-            connectParams: {
-              host,
-              hostname,
-              protocol,
-              port,
-              servername: client[kServerName],
-              localAddress: client[kLocalAddress]
-            },
-            connector: client[kConnector],
-            socket
+          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();
+            }
           });
         }
-        client.emit("connect", client[kUrl], [client]);
-      } catch (err) {
-        if (client.destroyed) {
+        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;
         }
-        client[kConnecting] = false;
-        if (channels.connectError.hasSubscribers) {
-          channels.connectError.publish({
-            connectParams: {
-              host,
-              hostname,
-              protocol,
-              port,
-              servername: client[kServerName],
-              localAddress: client[kLocalAddress]
-            },
-            connector: client[kConnector],
-            error: err
+        this.trailers = util.parseHeaders(trailers);
+        res.end();
+      }
+      onError(err) {
+        const { res, callback, opaque, body } = this;
+        removeSignal(this);
+        this.factory = null;
+        if (res) {
+          this.res = null;
+          util.destroy(res, err);
+        } else if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
           });
         }
-        if (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]++];
-            errorRequest2(client, request2, err);
-          }
-        } else {
-          onError(client, err);
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
         }
-        client.emit("connectionError", client[kUrl], [client], err);
       }
-      resume(client);
-    }
-    function emitDrain(client) {
-      client[kNeedDrain] = 0;
-      client.emit("drain", client[kUrl], [client]);
-    }
-    function resume(client, sync) {
-      if (client[kResuming] === 2) {
-        return;
+    };
+    function stream2(opts, factory, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve4, reject) => {
+          stream2.call(this, opts, factory, (err, data) => {
+            return err ? reject(err) : resolve4(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 = stream2;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js
+var require_api_pipeline2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
+    "use strict";
+    var {
+      Readable: Readable2,
+      Duplex,
+      PassThrough
+    } = require("node:stream");
+    var {
+      InvalidArgumentError,
+      InvalidReturnValueError,
+      RequestAbortedError
+    } = require_errors2();
+    var util = require_util9();
+    var { AsyncResource } = require("node:async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var assert = require("node:assert");
+    var kResume = /* @__PURE__ */ Symbol("resume");
+    var PipelineRequest = class extends Readable2 {
+      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 Readable2 {
+      constructor(resume) {
+        super({ autoDestroy: true });
+        this[kResume] = resume;
+      }
+      _read() {
+        this[kResume]();
       }
-      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;
+      _destroy(err, callback) {
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
+        }
+        callback(err);
       }
-    }
-    function _resume(client, sync) {
-      while (true) {
-        if (client.destroyed) {
-          assert(client[kPending] === 0);
-          return;
+    };
+    var PipelineHandler = class extends AsyncResource {
+      constructor(opts, handler2) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        if (client[kClosedResolve] && !client[kSize]) {
-          client[kClosedResolve]();
-          client[kClosedResolve] = null;
-          return;
+        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");
         }
-        const socket = client[kSocket];
-        if (socket && !socket.destroyed && socket.alpnProtocol !== "h2") {
-          if (client[kSize] === 0) {
-            if (!socket[kNoRef] && socket.unref) {
-              socket.unref();
-              socket[kNoRef] = true;
+        if (onInfo && typeof onInfo !== "function") {
+          throw new InvalidArgumentError("invalid onInfo callback");
+        }
+        super("UNDICI_PIPELINE");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.handler = handler2;
+        this.abort = null;
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.req = new PipelineRequest().on("error", util.nop);
+        this.ret = new Duplex({
+          readableObjectMode: opts.objectMode,
+          autoDestroy: true,
+          read: () => {
+            const { body } = this;
+            if (body?.resume) {
+              body.resume();
             }
-          } else if (socket[kNoRef] && socket.ref) {
-            socket.ref();
-            socket[kNoRef] = false;
-          }
-          if (client[kSize] === 0) {
-            if (socket[kParser].timeoutType !== TIMEOUT_IDLE) {
-              socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE);
+          },
+          write: (chunk, encoding, callback) => {
+            const { req } = this;
+            if (req.push(chunk, encoding) || req._readableState.destroyed) {
+              callback();
+            } else {
+              req[kResume] = callback;
+            }
+          },
+          destroy: (err, callback) => {
+            const { body, req, res, ret, abort } = this;
+            if (!err && !ret._readableState.endEmitted) {
+              err = new RequestAbortedError();
             }
-          } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
-            if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
-              const request3 = client[kQueue][client[kRunningIdx]];
-              const headersTimeout = request3.headersTimeout != null ? request3.headersTimeout : client[kHeadersTimeout];
-              socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
+            if (abort && err) {
+              abort();
             }
+            util.destroy(body, err);
+            util.destroy(req, err);
+            util.destroy(res, err);
+            removeSignal(this);
+            callback(err);
           }
+        }).on("prefinish", () => {
+          const { req } = this;
+          req.push(null);
+        });
+        this.res = null;
+        addSignal(this, signal);
+      }
+      onConnect(abort, context2) {
+        const { ret, res } = this;
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
-        if (client[kBusy]) {
-          client[kNeedDrain] = 2;
-        } else if (client[kNeedDrain] === 2) {
-          if (sync) {
-            client[kNeedDrain] = 1;
-            process.nextTick(emitDrain, client);
-          } else {
-            emitDrain(client);
+        assert(!res, "pipeline cannot be retried");
+        assert(!ret.destroyed);
+        this.abort = abort;
+        this.context = context2;
+      }
+      onHeaders(statusCode, rawHeaders, resume) {
+        const { opaque, handler: handler2, context: context2 } = this;
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+            this.onInfo({ statusCode, headers });
           }
-          continue;
-        }
-        if (client[kPending] === 0) {
           return;
         }
-        if (client[kRunning] >= (client[kPipelining] || 1)) {
-          return;
+        this.res = new PipelineResponse(resume);
+        let body;
+        try {
+          this.handler = null;
+          const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+          body = this.runInAsyncScope(handler2, null, {
+            statusCode,
+            headers,
+            opaque,
+            body: this.res,
+            context: context2
+          });
+        } catch (err) {
+          this.res.on("error", util.nop);
+          throw err;
         }
-        const request2 = client[kQueue][client[kPendingIdx]];
-        if (client[kUrl].protocol === "https:" && client[kServerName] !== request2.servername) {
-          if (client[kRunning] > 0) {
-            return;
+        if (!body || typeof body.on !== "function") {
+          throw new InvalidReturnValueError("expected Readable");
+        }
+        body.on("data", (chunk) => {
+          const { ret, body: body2 } = this;
+          if (!ret.push(chunk) && body2.pause) {
+            body2.pause();
           }
-          client[kServerName] = request2.servername;
-          if (socket && socket.servername !== request2.servername) {
-            util.destroy(socket, new InformationalError("servername changed"));
-            return;
+        }).on("error", (err) => {
+          const { ret } = this;
+          util.destroy(ret, err);
+        }).on("end", () => {
+          const { ret } = this;
+          ret.push(null);
+        }).on("close", () => {
+          const { ret } = this;
+          if (!ret._readableState.ended) {
+            util.destroy(ret, new RequestAbortedError());
           }
+        });
+        this.body = body;
+      }
+      onData(chunk) {
+        const { res } = this;
+        return res.push(chunk);
+      }
+      onComplete(trailers) {
+        const { res } = this;
+        res.push(null);
+      }
+      onError(err) {
+        const { ret } = this;
+        this.handler = null;
+        util.destroy(ret, err);
+      }
+    };
+    function pipeline(opts, handler2) {
+      try {
+        const pipelineHandler = new PipelineHandler(opts, handler2);
+        this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler);
+        return pipelineHandler.ret;
+      } catch (err) {
+        return new PassThrough().destroy(err);
+      }
+    }
+    module2.exports = pipeline;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js
+var require_api_upgrade2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
+    "use strict";
+    var { InvalidArgumentError, SocketError } = require_errors2();
+    var { AsyncResource } = require("node:async_hooks");
+    var util = require_util9();
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var assert = require("node:assert");
+    var UpgradeHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        if (client[kConnecting]) {
-          return;
-        }
-        if (!socket && !client[kHTTP2Session]) {
-          connect(client);
-          return;
-        }
-        if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) {
-          return;
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
         }
-        if (client[kRunning] > 0 && !request2.idempotent) {
-          return;
+        const { signal, opaque, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
         }
-        if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
+        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, context2) {
+        if (this.reason) {
+          abort(this.reason);
           return;
         }
-        if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body))) {
-          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: context2 } = 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: context2
+        });
+      }
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        if (!request2.aborted && write(client, request2)) {
-          client[kPendingIdx]++;
-        } else {
-          client[kQueue].splice(client[kPendingIdx], 1);
+      }
+    };
+    function upgrade(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve4, reject) => {
+          upgrade.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve4(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 }));
       }
     }
-    function shouldSendContentLength(method) {
-      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
-    }
-    function write(client, request2) {
-      if (client[kHTTPConnVersion] === "h2") {
-        writeH2(client, client[kHTTP2Session], request2);
-        return;
-      }
-      const { body, method, path: path8, host, upgrade, headers, blocking, reset } = request2;
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
-      if (body && typeof body.read === "function") {
-        body.read(0);
+    module2.exports = upgrade;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-connect.js
+var require_api_connect2 = __commonJS({
+  "node_modules/@actions/github/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_errors2();
+    var util = require_util9();
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var ConnectHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        const { signal, opaque, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        }
+        super("UNDICI_CONNECT");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.callback = callback;
+        this.abort = null;
+        addSignal(this, signal);
       }
-      const bodyLength = util.bodyLength(body);
-      let contentLength = bodyLength;
-      if (contentLength === null) {
-        contentLength = request2.contentLength;
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
+        }
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
       }
-      if (contentLength === 0 && !expectsPayload) {
-        contentLength = null;
+      onHeaders() {
+        throw new SocketError("bad connect", null);
       }
-      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
-        if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
-          return false;
+      onUpgrade(statusCode, rawHeaders, socket) {
+        const { callback, opaque, context: context2 } = this;
+        removeSignal(this);
+        this.callback = null;
+        let headers = rawHeaders;
+        if (headers != null) {
+          headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
         }
-        process.emitWarning(new RequestContentLengthMismatchError());
-      }
-      const socket = client[kSocket];
-      try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
-            return;
-          }
-          errorRequest2(client, request2, err || new RequestAbortedError());
-          util.destroy(socket, new InformationalError("aborted"));
+        this.runInAsyncScope(callback, null, null, {
+          statusCode,
+          headers,
+          socket,
+          opaque,
+          context: context2
         });
-      } catch (err) {
-        errorRequest2(client, request2, err);
-      }
-      if (request2.aborted) {
-        return false;
       }
-      if (method === "HEAD") {
-        socket[kReset] = true;
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
+        }
       }
-      if (upgrade || method === "CONNECT") {
-        socket[kReset] = true;
+    };
+    function connect(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve4, reject) => {
+          connect.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve4(data);
+          });
+        });
       }
-      if (reset != null) {
-        socket[kReset] = reset;
+      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 }));
       }
-      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
-        socket[kReset] = true;
+    }
+    module2.exports = connect;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/index.js
+var require_api2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/index.js"(exports2, module2) {
+    "use strict";
+    module2.exports.request = require_api_request2();
+    module2.exports.stream = require_api_stream2();
+    module2.exports.pipeline = require_api_pipeline2();
+    module2.exports.upgrade = require_api_upgrade2();
+    module2.exports.connect = require_api_connect2();
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js
+var require_mock_errors2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
+    "use strict";
+    var { UndiciError } = require_errors2();
+    var kMockNotMatchedError = /* @__PURE__ */ 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";
       }
-      if (blocking) {
-        socket[kBlocking] = true;
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kMockNotMatchedError] === true;
       }
-      let header = `${method} ${path8} HTTP/1.1\r
-`;
-      if (typeof host === "string") {
-        header += `host: ${host}\r
-`;
-      } else {
-        header += client[kHostHeader];
+      [kMockNotMatchedError] = true;
+    };
+    module2.exports = {
+      MockNotMatchedError
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js
+var require_mock_symbols2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kAgent: /* @__PURE__ */ Symbol("agent"),
+      kOptions: /* @__PURE__ */ Symbol("options"),
+      kFactory: /* @__PURE__ */ Symbol("factory"),
+      kDispatches: /* @__PURE__ */ Symbol("dispatches"),
+      kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
+      kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
+      kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
+      kContentLength: /* @__PURE__ */ Symbol("content length"),
+      kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
+      kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
+      kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
+      kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
+      kClose: /* @__PURE__ */ Symbol("close"),
+      kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
+      kOrigin: /* @__PURE__ */ Symbol("origin"),
+      kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
+      kNetConnect: /* @__PURE__ */ Symbol("net connect"),
+      kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
+      kConnected: /* @__PURE__ */ Symbol("connected")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js
+var require_mock_utils2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
+    "use strict";
+    var { MockNotMatchedError } = require_mock_errors2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kOriginalDispatch,
+      kOrigin,
+      kGetNetConnect
+    } = require_mock_symbols2();
+    var { buildURL } = require_util9();
+    var { STATUS_CODES } = require("node:http");
+    var {
+      types: {
+        isPromise
       }
-      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";
+    } = require("node:util");
+    function matchValue(match, value) {
+      if (typeof match === "string") {
+        return match === value;
       }
-      if (headers) {
-        header += headers;
+      if (match instanceof RegExp) {
+        return match.test(value);
       }
-      if (channels.sendHeaders.hasSubscribers) {
-        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      if (typeof match === "function") {
+        return match(value) === true;
       }
-      if (!body || bodyLength === 0) {
-        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");
-        }
-        request2.onRequestSent();
-      } else if (util.isBuffer(body)) {
-        assert(contentLength === body.byteLength, "buffer body must have content length");
-        socket.cork();
-        socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-        socket.write(body);
-        socket.uncork();
-        request2.onBodySent(body);
-        request2.onRequestSent();
-        if (!expectsPayload) {
-          socket[kReset] = true;
-        }
-      } else if (util.isBlobLike(body)) {
-        if (typeof body.stream === "function") {
-          writeIterable({ body: body.stream(), client, request: request2, socket, contentLength, header, expectsPayload });
-        } else {
-          writeBlob({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+      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];
+          }
         }
-      } else if (util.isStream(body)) {
-        writeStream({ body, client, request: request2, socket, contentLength, header, expectsPayload });
-      } else if (util.isIterable(body)) {
-        writeIterable({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+        return void 0;
+      } else if (typeof headers.get === "function") {
+        return headers.get(key);
       } else {
-        assert(false);
+        return lowerCaseEntries(headers)[key.toLocaleLowerCase()];
       }
-      return true;
     }
-    function writeH2(client, session, request2) {
-      const { body, method, path: path8, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
-      let headers;
-      if (typeof reqHeaders === "string") headers = Request[kHTTP2CopyHeaders](reqHeaders.trim());
-      else headers = reqHeaders;
-      if (upgrade) {
-        errorRequest2(client, request2, new Error("Upgrade not supported for H2"));
-        return false;
+    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]]);
       }
-      try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
-            return;
-          }
-          errorRequest2(client, request2, err || new RequestAbortedError());
-        });
-      } catch (err) {
-        errorRequest2(client, request2, err);
+      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 (request2.aborted) {
+      if (typeof mockDispatch2.headers === "undefined") {
+        return true;
+      }
+      if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") {
         return false;
       }
-      let stream2;
-      const h2State = client[kHTTP2SessionState];
-      headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost];
-      headers[HTTP2_HEADER_METHOD] = method;
-      if (method === "CONNECT") {
-        session.ref();
-        stream2 = session.request(headers, { endStream: false, signal });
-        if (stream2.id && !stream2.pending) {
-          request2.onUpgrade(null, null, stream2);
-          ++h2State.openStreams;
-        } else {
-          stream2.once("ready", () => {
-            request2.onUpgrade(null, null, stream2);
-            ++h2State.openStreams;
-          });
+      for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) {
+        const headerValue = getHeaderByName(headers, matchHeaderName);
+        if (!matchValue(matchHeaderValue, headerValue)) {
+          return false;
         }
-        stream2.once("close", () => {
-          h2State.openStreams -= 1;
-          if (h2State.openStreams === 0) session.unref();
-        });
-        return true;
       }
-      headers[HTTP2_HEADER_PATH] = path8;
-      headers[HTTP2_HEADER_SCHEME] = "https";
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
-      if (body && typeof body.read === "function") {
-        body.read(0);
+      return true;
+    }
+    function safeUrl(path8) {
+      if (typeof path8 !== "string") {
+        return path8;
       }
-      let contentLength = util.bodyLength(body);
-      if (contentLength == null) {
-        contentLength = request2.contentLength;
+      const pathSegments = path8.split("?");
+      if (pathSegments.length !== 2) {
+        return path8;
       }
-      if (contentLength === 0 || !expectsPayload) {
-        contentLength = null;
+      const qp = new URLSearchParams(pathSegments.pop());
+      qp.sort();
+      return [...pathSegments, qp.toString()].join("?");
+    }
+    function matchKey(mockDispatch2, { path: path8, method, body, headers }) {
+      const pathMatch = matchValue(mockDispatch2.path, path8);
+      const methodMatch = matchValue(mockDispatch2.method, method);
+      const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
+      const headersMatch = matchHeaders(mockDispatch2, headers);
+      return pathMatch && methodMatch && bodyMatch && headersMatch;
+    }
+    function getResponseData2(data) {
+      if (Buffer.isBuffer(data)) {
+        return data;
+      } else if (data instanceof Uint8Array) {
+        return data;
+      } else if (data instanceof ArrayBuffer) {
+        return data;
+      } else if (typeof data === "object") {
+        return JSON.stringify(data);
+      } else {
+        return data.toString();
       }
-      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
-        if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
-          return false;
-        }
-        process.emitWarning(new RequestContentLengthMismatchError());
+    }
+    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: path8 }) => matchValue(safeUrl(path8), resolvedPath));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
       }
-      if (contentLength != null) {
-        assert(body, "no body must not have content length");
-        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
+      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}'`);
       }
-      session.ref();
-      const shouldEndStream = method === "GET" || method === "HEAD";
-      if (expectContinue) {
-        headers[HTTP2_HEADER_EXPECT] = "100-continue";
-        stream2 = session.request(headers, { endStream: shouldEndStream, signal });
-        stream2.once("continue", writeBodyH2);
-      } else {
-        stream2 = session.request(headers, {
-          endStream: shouldEndStream,
-          signal
-        });
-        writeBodyH2();
+      matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}' on path '${resolvedPath}'`);
       }
-      ++h2State.openStreams;
-      stream2.once("response", (headers2) => {
-        const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
-        if (request2.onHeaders(Number(statusCode), realHeaders, stream2.resume.bind(stream2), "") === false) {
-          stream2.pause();
-        }
-      });
-      stream2.once("end", () => {
-        request2.onComplete([]);
-      });
-      stream2.on("data", (chunk) => {
-        if (request2.onData(chunk) === false) {
-          stream2.pause();
-        }
-      });
-      stream2.once("close", () => {
-        h2State.openStreams -= 1;
-        if (h2State.openStreams === 0) {
-          session.unref();
-        }
-      });
-      stream2.once("error", function(err) {
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream2, err);
-        }
-      });
-      stream2.once("frameError", (type2, code) => {
-        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-        errorRequest2(client, request2, err);
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream2, err);
+      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);
       });
-      return true;
-      function writeBodyH2() {
-        if (!body) {
-          request2.onRequestSent();
-        } else if (util.isBuffer(body)) {
-          assert(contentLength === body.byteLength, "buffer body must have content length");
-          stream2.cork();
-          stream2.write(body);
-          stream2.uncork();
-          stream2.end();
-          request2.onBodySent(body);
-          request2.onRequestSent();
-        } else if (util.isBlobLike(body)) {
-          if (typeof body.stream === "function") {
-            writeIterable({
-              client,
-              request: request2,
-              contentLength,
-              h2stream: stream2,
-              expectsPayload,
-              body: body.stream(),
-              socket: client[kSocket],
-              header: ""
-            });
-          } else {
-            writeBlob({
-              body,
-              client,
-              request: request2,
-              contentLength,
-              expectsPayload,
-              h2stream: stream2,
-              header: "",
-              socket: client[kSocket]
-            });
+      if (index !== -1) {
+        mockDispatches.splice(index, 1);
+      }
+    }
+    function buildKey(opts) {
+      const { path: path8, method, body, headers, query } = opts;
+      return {
+        path: path8,
+        method,
+        body,
+        headers,
+        query
+      };
+    }
+    function generateKeyValues(data) {
+      const keys = Object.keys(data);
+      const result = [];
+      for (let i = 0; i < keys.length; ++i) {
+        const key = keys[i];
+        const value = data[key];
+        const name = Buffer.from(`${key}`);
+        if (Array.isArray(value)) {
+          for (let j = 0; j < value.length; ++j) {
+            result.push(name, Buffer.from(`${value[j]}`));
           }
-        } else if (util.isStream(body)) {
-          writeStream({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            socket: client[kSocket],
-            h2stream: stream2,
-            header: ""
-          });
-        } else if (util.isIterable(body)) {
-          writeIterable({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            header: "",
-            h2stream: stream2,
-            socket: client[kSocket]
-          });
         } else {
-          assert(false);
+          result.push(name, Buffer.from(`${value}`));
         }
       }
+      return result;
     }
-    function writeStream({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
-      if (client[kHTTPConnVersion] === "h2") {
-        let onPipeData = function(chunk) {
-          request2.onBodySent(chunk);
-        };
-        const pipe = pipeline(
-          body,
-          h2stream,
-          (err) => {
-            if (err) {
-              util.destroy(body, err);
-              util.destroy(h2stream, err);
-            } else {
-              request2.onRequestSent();
-            }
-          }
-        );
-        pipe.on("data", onPipeData);
-        pipe.once("end", () => {
-          pipe.removeListener("data", onPipeData);
-          util.destroy(pipe);
-        });
-        return;
+    function getStatusText(statusCode) {
+      return STATUS_CODES[statusCode] || "unknown";
+    }
+    async function getResponse(body) {
+      const buffers = [];
+      for await (const data of body) {
+        buffers.push(data);
       }
-      let finished = false;
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
-      const onData = function(chunk) {
-        if (finished) {
-          return;
-        }
-        try {
-          if (!writer.write(chunk) && this.pause) {
-            this.pause();
-          }
-        } catch (err) {
-          util.destroy(this, err);
-        }
-      };
-      const onDrain = function() {
-        if (finished) {
-          return;
-        }
-        if (body.resume) {
-          body.resume();
-        }
-      };
-      const onAbort = function() {
-        if (finished) {
-          return;
-        }
-        const err = new RequestAbortedError();
-        queueMicrotask(() => onFinished(err));
-      };
-      const onFinished = function(err) {
-        if (finished) {
+      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: error3 }, delay: delay2, persist } = mockDispatch2;
+      const { timesInvoked, times } = mockDispatch2;
+      mockDispatch2.consumed = !persist && timesInvoked >= times;
+      mockDispatch2.pending = timesInvoked < times;
+      if (error3 !== null) {
+        deleteMockDispatch(this[kDispatches], key);
+        handler2.onError(error3);
+        return true;
+      }
+      if (typeof delay2 === "number" && delay2 > 0) {
+        setTimeout(() => {
+          handleReply(this[kDispatches]);
+        }, delay2);
+      } else {
+        handleReply(this[kDispatches]);
+      }
+      function handleReply(mockDispatches, _data = data) {
+        const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
+        const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
+        if (isPromise(body)) {
+          body.then((newData) => handleReply(mockDispatches, newData));
           return;
         }
-        finished = true;
-        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
-        socket.off("drain", onDrain).off("error", onFinished);
-        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("error", onFinished).removeListener("close", onAbort);
-        if (!err) {
+        const responseData = getResponseData2(body);
+        const responseHeaders = generateKeyValues(headers);
+        const responseTrailers = generateKeyValues(trailers);
+        handler2.onConnect?.((err) => handler2.onError(err), null);
+        handler2.onHeaders?.(statusCode, responseHeaders, resume, getStatusText(statusCode));
+        handler2.onData?.(Buffer.from(responseData));
+        handler2.onComplete?.(responseTrailers);
+        deleteMockDispatch(mockDispatches, key);
+      }
+      function resume() {
+      }
+      return true;
+    }
+    function buildMockDispatch() {
+      const agent = this[kMockAgent];
+      const origin = this[kOrigin];
+      const originalDispatch = this[kOriginalDispatch];
+      return function dispatch(opts, handler2) {
+        if (agent.isMockActive) {
           try {
-            writer.end();
-          } catch (er) {
-            err = er;
+            mockDispatch.call(this, opts, handler2);
+          } catch (error3) {
+            if (error3 instanceof MockNotMatchedError) {
+              const netConnect = agent[kGetNetConnect]();
+              if (netConnect === false) {
+                throw new MockNotMatchedError(`${error3.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(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
+              }
+            } else {
+              throw error3;
+            }
           }
-        }
-        writer.destroy(err);
-        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
-          util.destroy(body, err);
         } else {
-          util.destroy(body);
+          originalDispatch.call(this, opts, handler2);
         }
       };
-      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onAbort);
-      if (body.resume) {
-        body.resume();
-      }
-      socket.on("drain", onDrain).on("error", onFinished);
     }
-    async function writeBlob({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength === body.size, "blob body must have content length");
-      const isH2 = client[kHTTPConnVersion] === "h2";
-      try {
-        if (contentLength != null && contentLength !== body.size) {
-          throw new RequestContentLengthMismatchError();
-        }
-        const buffer = Buffer.from(await body.arrayBuffer());
-        if (isH2) {
-          h2stream.cork();
-          h2stream.write(buffer);
-          h2stream.uncork();
-        } else {
-          socket.cork();
-          socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-          socket.write(buffer);
-          socket.uncork();
-        }
-        request2.onBodySent(buffer);
-        request2.onRequestSent();
-        if (!expectsPayload) {
-          socket[kReset] = true;
-        }
-        resume(client);
-      } catch (err) {
-        util.destroy(isH2 ? h2stream : socket, err);
+    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;
     }
-    async function writeIterable({ h2stream, body, client, request: 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();
-        }
+    function buildMockOptions(opts) {
+      if (opts) {
+        const { agent, ...mockOptions } = opts;
+        return mockOptions;
       }
-      const waitForDrain = () => new Promise((resolve4, reject) => {
-        assert(callback === null);
-        if (socket[kError]) {
-          reject(socket[kError]);
-        } else {
-          callback = resolve4;
-        }
-      });
-      if (client[kHTTPConnVersion] === "h2") {
-        h2stream.on("close", onDrain).on("drain", onDrain);
-        try {
-          for await (const chunk of body) {
-            if (socket[kError]) {
-              throw socket[kError];
-            }
-            const res = h2stream.write(chunk);
-            request2.onBodySent(chunk);
-            if (!res) {
-              await waitForDrain();
-            }
-          }
-        } catch (err) {
-          h2stream.destroy(err);
-        } finally {
-          request2.onRequestSent();
-          h2stream.end();
-          h2stream.off("close", onDrain).off("drain", onDrain);
-        }
-        return;
+    }
+    module2.exports = {
+      getResponseData: getResponseData2,
+      getMockDispatch,
+      addMockDispatch,
+      deleteMockDispatch,
+      buildKey,
+      generateKeyValues,
+      matchValue,
+      getResponse,
+      getStatusText,
+      mockDispatch,
+      buildMockDispatch,
+      checkNetConnect,
+      buildMockOptions,
+      getHeaderByName,
+      buildHeadersFromArray
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js
+var require_mock_interceptor2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
+    "use strict";
+    var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kDispatchKey,
+      kDefaultHeaders,
+      kDefaultTrailers,
+      kContentLength,
+      kMockDispatch
+    } = require_mock_symbols2();
+    var { InvalidArgumentError } = require_errors2();
+    var { buildURL } = require_util9();
+    var MockScope = class {
+      constructor(mockDispatch) {
+        this[kMockDispatch] = mockDispatch;
       }
-      socket.on("close", onDrain).on("drain", onDrain);
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
-      try {
-        for await (const chunk of body) {
-          if (socket[kError]) {
-            throw socket[kError];
-          }
-          if (!writer.write(chunk)) {
-            await waitForDrain();
-          }
+      /**
+       * 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");
         }
-        writer.end();
-      } catch (err) {
-        writer.destroy(err);
-      } finally {
-        socket.off("close", onDrain).off("drain", onDrain);
+        this[kMockDispatch].delay = waitInMs;
+        return this;
       }
-    }
-    var AsyncWriter = class {
-      constructor({ 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;
-        socket[kWriting] = true;
+      /**
+       * For a defined reply, never mark as consumed.
+       */
+      persist() {
+        this[kMockDispatch].persist = true;
+        return this;
       }
-      write(chunk) {
-        const { socket, request: request2, contentLength, client, bytesWritten, expectsPayload, header } = this;
-        if (socket[kError]) {
-          throw socket[kError];
+      /**
+       * Allow one to define a reply for a set amount of matching requests.
+       */
+      times(repeatTimes) {
+        if (typeof repeatTimes !== "number" || !Number.isInteger(repeatTimes) || repeatTimes <= 0) {
+          throw new InvalidArgumentError("repeatTimes must be a valid integer > 0");
         }
-        if (socket.destroyed) {
-          return false;
+        this[kMockDispatch].times = repeatTimes;
+        return this;
+      }
+    };
+    var MockInterceptor = class {
+      constructor(opts, mockDispatches) {
+        if (typeof opts !== "object") {
+          throw new InvalidArgumentError("opts must be an object");
         }
-        const len = Buffer.byteLength(chunk);
-        if (!len) {
-          return true;
+        if (typeof opts.path === "undefined") {
+          throw new InvalidArgumentError("opts.path must be defined");
         }
-        if (contentLength !== null && bytesWritten + len > contentLength) {
-          if (client[kStrictContentLength]) {
-            throw new RequestContentLengthMismatchError();
-          }
-          process.emitWarning(new RequestContentLengthMismatchError());
+        if (typeof opts.method === "undefined") {
+          opts.method = "GET";
         }
-        socket.cork();
-        if (bytesWritten === 0) {
-          if (!expectsPayload) {
-            socket[kReset] = true;
-          }
-          if (contentLength === null) {
-            socket.write(`${header}transfer-encoding: chunked\r
-`, "latin1");
+        if (typeof opts.path === "string") {
+          if (opts.query) {
+            opts.path = buildURL(opts.path, opts.query);
           } else {
-            socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
+            const parsedURL = new URL(opts.path, "data://");
+            opts.path = parsedURL.pathname + parsedURL.search;
           }
         }
-        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();
-            }
-          }
+        if (typeof opts.method === "string") {
+          opts.method = opts.method.toUpperCase();
         }
-        return ret;
+        this[kDispatchKey] = buildKey(opts);
+        this[kDispatches] = mockDispatches;
+        this[kDefaultHeaders] = {};
+        this[kDefaultTrailers] = {};
+        this[kContentLength] = false;
       }
-      end() {
-        const { socket, contentLength, client, bytesWritten, expectsPayload, header, request: request2 } = this;
-        request2.onRequestSent();
-        socket[kWriting] = false;
-        if (socket[kError]) {
-          throw socket[kError];
+      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 (socket.destroyed) {
-          return;
+        if (typeof replyParameters.responseOptions !== "object" || replyParameters.responseOptions === null) {
+          throw new InvalidArgumentError("responseOptions must be an object");
         }
-        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");
+      }
+      /**
+       * 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);
         }
-        if (contentLength !== null && bytesWritten !== contentLength) {
-          if (client[kStrictContentLength]) {
-            throw new RequestContentLengthMismatchError();
-          } else {
-            process.emitWarning(new RequestContentLengthMismatchError());
-          }
+        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(error3) {
+        if (typeof error3 === "undefined") {
+          throw new InvalidArgumentError("error must be defined");
         }
-        if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
-          if (socket[kParser].timeout.refresh) {
-            socket[kParser].timeout.refresh();
-          }
+        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error: error3 });
+        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");
         }
-        resume(client);
+        this[kDefaultHeaders] = headers;
+        return this;
       }
-      destroy(err) {
-        const { socket, client } = this;
-        socket[kWriting] = false;
-        if (err) {
-          assert(client[kRunning] <= 1, "pipeline should only contain this request");
-          util.destroy(socket, err);
+      /**
+       * 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;
       }
-    };
-    function errorRequest2(client, request2, err) {
-      try {
-        request2.onError(err);
-        assert(request2.aborted);
-      } catch (err2) {
-        client.emit("error", err2);
+      /**
+       * Set reply content length header for replies on the interceptor
+       */
+      replyContentLength() {
+        this[kContentLength] = true;
+        return this;
       }
-    }
-    module2.exports = Client;
+    };
+    module2.exports.MockInterceptor = MockInterceptor;
+    module2.exports.MockScope = MockScope;
   }
 });
 
-// node_modules/undici/lib/node/fixed-queue.js
-var require_fixed_queue2 = __commonJS({
-  "node_modules/undici/lib/node/fixed-queue.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js
+var require_mock_client2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.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;
+    var { promisify } = require("node:util");
+    var Client = require_client2();
+    var { buildMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols2();
+    var { MockInterceptor } = require_mock_interceptor2();
+    var Symbols = require_symbols6();
+    var { InvalidArgumentError } = require_errors2();
+    var MockClient = class extends Client {
+      constructor(origin, opts) {
+        super(origin, opts);
+        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
+        }
+        this[kMockAgent] = opts.agent;
+        this[kOrigin] = origin;
+        this[kDispatches] = [];
+        this[kConnected] = 1;
+        this[kOriginalDispatch] = this.dispatch;
+        this[kOriginalClose] = this.close.bind(this);
+        this.dispatch = buildMockDispatch.call(this);
+        this.close = this[kClose];
       }
-      isFull() {
-        return (this.top + 1 & kMask) === this.bottom;
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
-      push(data) {
-        this.list[this.top] = data;
-        this.top = this.top + 1 & kMask;
+      /**
+       * Sets up the base interceptor for mocking replies from undici.
+       */
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
       }
-      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;
+      async [kClose]() {
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
     };
-    module2.exports = class FixedQueue {
-      constructor() {
-        this.head = this.tail = new FixedCircularBuffer();
+    module2.exports = MockClient;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js
+var require_mock_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
+    "use strict";
+    var { promisify } = require("node:util");
+    var Pool = require_pool2();
+    var { buildMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols2();
+    var { MockInterceptor } = require_mock_interceptor2();
+    var Symbols = require_symbols6();
+    var { InvalidArgumentError } = require_errors2();
+    var MockPool = class extends Pool {
+      constructor(origin, opts) {
+        super(origin, opts);
+        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
+        }
+        this[kMockAgent] = opts.agent;
+        this[kOrigin] = origin;
+        this[kDispatches] = [];
+        this[kConnected] = 1;
+        this[kOriginalDispatch] = this.dispatch;
+        this[kOriginalClose] = this.close.bind(this);
+        this.dispatch = buildMockDispatch.call(this);
+        this.close = this[kClose];
       }
-      isEmpty() {
-        return this.head.isEmpty();
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
-      push(data) {
-        if (this.head.isFull()) {
-          this.head = this.head.next = new FixedCircularBuffer();
-        }
-        this.head.push(data);
+      /**
+       * Sets up the base interceptor for mocking replies from undici.
+       */
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
       }
-      shift() {
-        const tail = this.tail;
-        const next = tail.shift();
-        if (tail.isEmpty() && tail.next !== null) {
-          this.tail = tail.next;
-        }
-        return next;
+      async [kClose]() {
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
     };
+    module2.exports = MockPool;
   }
 });
 
-// node_modules/undici/lib/pool-stats.js
-var require_pool_stats2 = __commonJS({
-  "node_modules/undici/lib/pool-stats.js"(exports2, module2) {
-    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
-    var kPool = /* @__PURE__ */ 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];
+// node_modules/@actions/github/node_modules/undici/lib/mock/pluralizer.js
+var require_pluralizer2 = __commonJS({
+  "node_modules/@actions/github/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;
       }
-      get size() {
-        return this[kPool][kSize];
+      pluralize(count) {
+        const one = count === 1;
+        const keys = one ? singulars : plurals;
+        const noun = one ? this.singular : this.plural;
+        return { ...keys, count, noun };
       }
     };
-    module2.exports = PoolStats;
   }
 });
 
-// node_modules/undici/lib/pool-base.js
-var require_pool_base2 = __commonJS({
-  "node_modules/undici/lib/pool-base.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js
+var require_pending_interceptors_formatter2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
     "use strict";
-    var DispatcherBase = require_dispatcher_base2();
-    var FixedQueue = require_fixed_queue2();
-    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
-    var PoolStats = require_pool_stats2();
-    var kClients = /* @__PURE__ */ Symbol("clients");
-    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
-    var kQueue = /* @__PURE__ */ Symbol("queue");
-    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
-    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
-    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
-    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
-    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
-    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
-    var kAddClient = /* @__PURE__ */ Symbol("add client");
-    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
-    var kStats = /* @__PURE__ */ 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]);
+    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);
           }
-          if (pool[kClosedResolve] && queue.isEmpty()) {
-            Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]);
+        });
+        this.logger = new Console({
+          stdout: this.transform,
+          inspectOptions: {
+            colors: !disableColors && !process.env.CI
           }
-        };
-        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;
+      format(pendingInterceptors) {
+        const withPrettyHeaders = pendingInterceptors.map(
+          ({ method, path: path8, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
+            Method: method,
+            Origin: origin,
+            Path: path8,
+            "Status code": statusCode,
+            Persistent: persist ? PERSISTENT : NOT_PERSISTENT,
+            Invocations: timesInvoked,
+            Remaining: persist ? Infinity : times - timesInvoked
+          })
+        );
+        this.logger.table(withPrettyHeaders);
+        return this.transform.read().toString();
       }
-      get [kFree]() {
-        return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js
+var require_mock_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
+    "use strict";
+    var { kClients } = require_symbols6();
+    var Agent = require_agent2();
+    var {
+      kAgent,
+      kMockAgentSet,
+      kMockAgentGet,
+      kDispatches,
+      kIsMockActive,
+      kNetConnect,
+      kGetNetConnect,
+      kOptions,
+      kFactory
+    } = require_mock_symbols2();
+    var MockClient = require_mock_client2();
+    var MockPool = require_mock_pool2();
+    var { matchValue, buildMockOptions } = require_mock_utils2();
+    var { InvalidArgumentError, UndiciError } = require_errors2();
+    var Dispatcher = require_dispatcher2();
+    var Pluralizer = require_pluralizer2();
+    var PendingInterceptorsFormatter = require_pending_interceptors_formatter2();
+    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 [kPending]() {
-        let ret = this[kQueued];
-        for (const { [kPending]: pending } of this[kClients]) {
-          ret += pending;
+      get(origin) {
+        let dispatcher = this[kMockAgentGet](origin);
+        if (!dispatcher) {
+          dispatcher = this[kFactory](origin);
+          this[kMockAgentSet](origin, dispatcher);
         }
-        return ret;
+        return dispatcher;
       }
-      get [kRunning]() {
-        let ret = 0;
-        for (const { [kRunning]: running } of this[kClients]) {
-          ret += running;
+      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.");
         }
-        return ret;
       }
-      get [kSize]() {
-        let ret = this[kQueued];
-        for (const { [kSize]: size } of this[kClients]) {
-          ret += size;
-        }
-        return ret;
+      disableNetConnect() {
+        this[kNetConnect] = false;
       }
-      get stats() {
-        return this[kStats];
+      // This is required to bypass issues caused by using global symbols - see:
+      // https://github.com/nodejs/undici/issues/1447
+      get isMockActive() {
+        return this[kIsMockActive];
       }
-      async [kClose]() {
-        if (this[kQueue].isEmpty()) {
-          return Promise.all(this[kClients].map((c) => c.close()));
-        } else {
-          return new Promise((resolve4) => {
-            this[kClosedResolve] = resolve4;
-          });
-        }
+      [kMockAgentSet](origin, dispatcher) {
+        this[kClients].set(origin, dispatcher);
       }
-      async [kDestroy](err) {
-        while (true) {
-          const item = this[kQueue].shift();
-          if (!item) {
-            break;
+      [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;
           }
-          item.handler.onError(err);
         }
-        return 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];
+      [kGetNetConnect]() {
+        return this[kNetConnect];
       }
-      [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]) {
-          process.nextTick(() => {
-            if (this[kNeedDrain]) {
-              this[kOnDrain](client[kUrl], [this, client]);
-            }
-          });
-        }
-        return this;
+      pendingInterceptors() {
+        const mockAgentClients = this[kClients];
+        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
       }
-      [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);
+      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 = {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kRemoveClient,
-      kGetDispatcher
-    };
+    module2.exports = MockAgent;
   }
 });
 
-// node_modules/undici/lib/pool.js
-var require_pool2 = __commonJS({
-  "node_modules/undici/lib/pool.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/global.js
+var require_global4 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/global.js"(exports2, module2) {
     "use strict";
-    var {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kGetDispatcher
-    } = require_pool_base2();
-    var Client = require_client2();
-    var {
-      InvalidArgumentError
-    } = require_errors2();
-    var util = require_util9();
-    var { kUrl, kInterceptors } = require_symbols6();
-    var buildConnector = require_connect2();
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    var kConnections = /* @__PURE__ */ Symbol("connections");
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    function defaultFactory(origin, opts) {
-      return new Client(origin, opts);
+    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
+    var { InvalidArgumentError } = require_errors2();
+    var Agent = require_agent2();
+    if (getGlobalDispatcher() === void 0) {
+      setGlobalDispatcher(new Agent());
     }
-    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,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
-            ...connect
-          });
-        }
-        this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
-        this[kConnections] = connections || null;
-        this[kUrl] = util.parseOrigin(origin);
-        this[kOptions] = { ...util.deepClone(options), connect, allowH2 };
-        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
-        this[kFactory] = factory;
-        this.on("connectionError", (origin2, targets, error3) => {
-          for (const target of targets) {
-            const idx = this[kClients].indexOf(target);
-            if (idx !== -1) {
-              this[kClients].splice(idx, 1);
-            }
-          }
-        });
-      }
-      [kGetDispatcher]() {
-        let dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain]);
-        if (dispatcher) {
-          return dispatcher;
-        }
-        if (!this[kConnections] || this[kClients].length < this[kConnections]) {
-          dispatcher = this[kFactory](this[kUrl], this[kOptions]);
-          this[kAddClient](dispatcher);
-        }
-        return dispatcher;
+    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
     };
-    module2.exports = Pool;
   }
 });
 
-// node_modules/undici/lib/balanced-pool.js
-var require_balanced_pool2 = __commonJS({
-  "node_modules/undici/lib/balanced-pool.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/handler/decorator-handler.js
+var require_decorator_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/decorator-handler.js"(exports2, module2) {
     "use strict";
-    var {
-      BalancedPoolMissingUpstreamError,
-      InvalidArgumentError
-    } = require_errors2();
-    var {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kRemoveClient,
-      kGetDispatcher
-    } = require_pool_base2();
-    var Pool = require_pool2();
-    var { kUrl, kInterceptors } = require_symbols6();
-    var { parseOrigin } = require_util9();
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
-    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
-    var kIndex = /* @__PURE__ */ Symbol("kIndex");
-    var kWeight = /* @__PURE__ */ Symbol("kWeight");
-    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
-    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
-    function getGreatestCommonDivisor(a, b) {
-      if (b === 0) return a;
-      return getGreatestCommonDivisor(b, a % b);
-    }
-    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 && opts.interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : [];
-        this[kFactory] = factory;
-        for (const upstream of upstreams) {
-          this.addUpstream(upstream);
+    module2.exports = class DecoratorHandler {
+      #handler;
+      constructor(handler2) {
+        if (typeof handler2 !== "object" || handler2 === null) {
+          throw new TypeError("handler must be an object");
         }
-        this._updateBalancedPoolStats();
+        this.#handler = handler2;
       }
-      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;
+      onConnect(...args) {
+        return this.#handler.onConnect?.(...args);
       }
-      _updateBalancedPoolStats() {
-        this[kGreatestCommonDivisor] = this[kClients].map((p) => p[kWeight]).reduce(getGreatestCommonDivisor, 0);
+      onError(...args) {
+        return this.#handler.onError?.(...args);
       }
-      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;
+      onUpgrade(...args) {
+        return this.#handler.onUpgrade?.(...args);
       }
-      get upstreams() {
-        return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin);
+      onResponseStarted(...args) {
+        return this.#handler.onResponseStarted?.(...args);
       }
-      [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];
+      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);
       }
     };
-    module2.exports = BalancedPool;
   }
 });
 
-// node_modules/undici/lib/compat/dispatcher-weakref.js
-var require_dispatcher_weakref2 = __commonJS({
-  "node_modules/undici/lib/compat/dispatcher-weakref.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js
+var require_redirect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js"(exports2, module2) {
     "use strict";
-    var { kConnected, kSize } = require_symbols6();
-    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);
-            }
-          });
-        }
-      }
+    var RedirectHandler = require_redirect_handler2();
+    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);
+        };
+      };
     };
-    module2.exports = function() {
-      if (process.env.NODE_V8_COVERAGE) {
-        return {
-          WeakRef: CompatWeakRef,
-          FinalizationRegistry: CompatFinalizer
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js
+var require_retry2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js"(exports2, module2) {
+    "use strict";
+    var RetryHandler = require_retry_handler2();
+    module2.exports = (globalOpts) => {
+      return (dispatch) => {
+        return function retryInterceptor(opts, handler2) {
+          return dispatch(
+            opts,
+            new RetryHandler(
+              { ...opts, retryOptions: { ...globalOpts, ...opts.retryOptions } },
+              {
+                handler: handler2,
+                dispatch
+              }
+            )
+          );
         };
-      }
-      return {
-        WeakRef: global.WeakRef || CompatWeakRef,
-        FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer
       };
     };
   }
 });
 
-// node_modules/undici/lib/agent.js
-var require_agent2 = __commonJS({
-  "node_modules/undici/lib/agent.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/dump.js
+var require_dump2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/dump.js"(exports2, module2) {
     "use strict";
-    var { InvalidArgumentError } = require_errors2();
-    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
-    var DispatcherBase = require_dispatcher_base2();
-    var Pool = require_pool2();
-    var Client = require_client2();
     var util = require_util9();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var { WeakRef: WeakRef2, FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
-    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
-    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
-    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
-    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
-    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    var kFinalizer = /* @__PURE__ */ Symbol("finalizer");
-    var kOptions = /* @__PURE__ */ 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");
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
+    var DecoratorHandler = require_decorator_handler2();
+    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");
         }
-        if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {
-          throw new InvalidArgumentError("maxRedirections must be a positive number");
+        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 (connect && typeof connect !== "function") {
-          connect = { ...connect };
+        if (this.#aborted) {
+          return true;
         }
-        this[kInterceptors] = options.interceptors && options.interceptors.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
-        this[kOptions] = { ...util.deepClone(options), connect };
-        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
-        this[kMaxRedirections] = maxRedirections;
-        this[kFactory] = factory;
-        this[kClients] = /* @__PURE__ */ new Map();
-        this[kFinalizer] = new FinalizationRegistry2(
-          /* istanbul ignore next: gc is undeterministic */
-          (key) => {
-            const ref = this[kClients].get(key);
-            if (ref !== void 0 && ref.deref() === void 0) {
-              this[kClients].delete(key);
-            }
-          }
+        return this.#handler.onHeaders(
+          statusCode,
+          rawHeaders,
+          resume,
+          statusMessage
         );
-        const agent = this;
-        this[kOnDrain] = (origin, targets) => {
-          agent.emit("drain", origin, [agent, ...targets]);
-        };
-        this[kOnConnect] = (origin, targets) => {
-          agent.emit("connect", origin, [agent, ...targets]);
-        };
-        this[kOnDisconnect] = (origin, targets, err) => {
-          agent.emit("disconnect", origin, [agent, ...targets], err);
-        };
-        this[kOnConnectionError] = (origin, targets, err) => {
-          agent.emit("connectionError", origin, [agent, ...targets], err);
-        };
-      }
-      get [kRunning]() {
-        let ret = 0;
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            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.");
-        }
-        const ref = this[kClients].get(key);
-        let dispatcher = ref ? ref.deref() : null;
-        if (!dispatcher) {
-          dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
-          this[kClients].set(key, new WeakRef2(dispatcher));
-          this[kFinalizer].register(dispatcher, key);
+      onError(err) {
+        if (this.#dumped) {
+          return;
         }
-        return dispatcher.dispatch(opts, handler2);
+        err = this.#reason ?? err;
+        this.#handler.onError(err);
       }
-      async [kClose]() {
-        const closePromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            closePromises.push(client.close());
+      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([]);
           }
         }
-        await Promise.all(closePromises);
+        return true;
       }
-      async [kDestroy](err) {
-        const destroyPromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            destroyPromises.push(client.destroy(err));
-          }
+      onComplete(trailers) {
+        if (this.#dumped) {
+          return;
         }
-        await Promise.all(destroyPromises);
+        if (this.#aborted) {
+          this.#handler.onError(this.reason);
+          return;
+        }
+        this.#handler.onComplete(trailers);
       }
     };
-    module2.exports = Agent;
+    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/api/readable.js
-var require_readable2 = __commonJS({
-  "node_modules/undici/lib/api/readable.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/dns.js
+var require_dns2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/dns.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { Readable: Readable2 } = require("stream");
-    var { RequestAbortedError, NotSupportedError, InvalidArgumentError } = require_errors2();
-    var util = require_util9();
-    var { ReadableStreamFrom, toUSVString } = require_util9();
-    var Blob2;
-    var kConsume = /* @__PURE__ */ Symbol("kConsume");
-    var kReading = /* @__PURE__ */ Symbol("kReading");
-    var kBody = /* @__PURE__ */ Symbol("kBody");
-    var kAbort = /* @__PURE__ */ Symbol("abort");
-    var kContentType = /* @__PURE__ */ Symbol("kContentType");
-    var noop3 = () => {
-    };
-    module2.exports = class BodyReadable extends Readable2 {
-      constructor({
-        resume,
-        abort,
-        contentType = "",
-        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[kReading] = false;
-      }
-      destroy(err) {
-        if (this.destroyed) {
-          return this;
-        }
-        if (!err && !this._readableState.endEmitted) {
-          err = new RequestAbortedError();
-        }
-        if (err) {
-          this[kAbort]();
-        }
-        return super.destroy(err);
-      }
-      emit(ev, ...args) {
-        if (ev === "data") {
-          this._readableState.dataEmitted = true;
-        } else if (ev === "error") {
-          this._readableState.errorEmitted = true;
-        }
-        return super.emit(ev, ...args);
-      }
-      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;
+    var { isIP } = require("node:net");
+    var { lookup } = require("node:dns");
+    var DecoratorHandler = require_decorator_handler2();
+    var { InvalidArgumentError, InformationalError } = require_errors2();
+    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;
       }
-      removeListener(ev, ...args) {
-        return this.off(ev, ...args);
+      get full() {
+        return this.#records.size === this.#maxItems;
       }
-      push(chunk) {
-        if (this[kConsume] && chunk !== null && this.readableLength === 0) {
-          consumePush(this[kConsume], chunk);
-          return this[kReading] ? super.push(chunk) : true;
+      runLookup(origin, opts, cb) {
+        const ips = this.#records.get(origin.hostname);
+        if (ips == null && this.full) {
+          cb(null, origin.origin);
+          return;
         }
-        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-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);
+        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}`
+          );
         }
-        return this[kBody];
       }
-      dump(opts) {
-        let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144;
-        const signal = opts && opts.signal;
-        if (signal) {
-          try {
-            if (typeof signal !== "object" || !("aborted" in signal)) {
-              throw new InvalidArgumentError("signal must be an AbortSignal");
+      #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);
             }
-            util.throwIfAborted(signal);
-          } catch (err) {
-            return Promise.reject(err);
+            const results = /* @__PURE__ */ new Map();
+            for (const addr of addresses) {
+              results.set(`${addr.address}:${addr.family}`, addr);
+            }
+            cb(null, results.values());
           }
-        }
-        if (this.closed) {
-          return Promise.resolve(null);
-        }
-        return new Promise((resolve4, reject) => {
-          const signalListenerCleanup = signal ? util.addAbortListener(signal, () => {
-            this.destroy();
-          }) : noop3;
-          this.on("close", function() {
-            signalListenerCleanup();
-            if (signal && signal.aborted) {
-              reject(signal.reason || Object.assign(new Error("The operation was aborted"), { name: "AbortError" }));
+        );
+      }
+      #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 {
-              resolve4(null);
-            }
-          }).on("error", noop3).on("data", function(chunk) {
-            limit -= chunk.length;
-            if (limit <= 0) {
-              this.destroy();
+              hostnameRecords.offset++;
+              affinity = (hostnameRecords.offset & 1) === 1 ? 6 : 4;
             }
-          }).resume();
-        });
-      }
-    };
-    function isLocked(self2) {
-      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
-    }
-    function isUnusable(self2) {
-      return util.isDisturbed(self2) || isLocked(self2);
-    }
-    async function consume(stream2, type2) {
-      if (isUnusable(stream2)) {
-        throw new TypeError("unusable");
-      }
-      assert(!stream2[kConsume]);
-      return new Promise((resolve4, reject) => {
-        stream2[kConsume] = {
-          type: type2,
-          stream: stream2,
-          resolve: resolve4,
-          reject,
-          length: 0,
-          body: []
-        };
-        stream2.on("error", function(err) {
-          consumeFinish(this[kConsume], err);
-        }).on("close", function() {
-          if (this[kConsume].body !== null) {
-            consumeFinish(this[kConsume], new RequestAbortedError());
           }
-        });
-        process.nextTick(consumeStart, stream2[kConsume]);
-      });
-    }
-    function consumeStart(consume2) {
-      if (consume2.body === null) {
-        return;
-      }
-      const { _readableState: state } = consume2.stream;
-      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 consumeEnd(consume2) {
-      const { type: type2, body, resolve: resolve4, stream: stream2, length } = consume2;
-      try {
-        if (type2 === "text") {
-          resolve4(toUSVString(Buffer.concat(body)));
-        } else if (type2 === "json") {
-          resolve4(JSON.parse(Buffer.concat(body)));
-        } else if (type2 === "arrayBuffer") {
-          const dst = new Uint8Array(length);
-          let pos = 0;
-          for (const buf of body) {
-            dst.set(buf, pos);
-            pos += buf.byteLength;
+          if (records[affinity] != null && records[affinity].ips.length > 0) {
+            family = records[affinity];
+          } else {
+            family = records[affinity === 4 ? 6 : 4];
           }
-          resolve4(dst.buffer);
-        } else if (type2 === "blob") {
-          if (!Blob2) {
-            Blob2 = require("buffer").Blob;
+        } 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 timestamp2 = Date.now();
+        const records = { records: { 4: null, 6: null } };
+        for (const record of addresses) {
+          record.timestamp = timestamp2;
+          if (typeof record.ttl === "number") {
+            record.ttl = Math.min(record.ttl, this.#maxTTL);
+          } else {
+            record.ttl = this.#maxTTL;
           }
-          resolve4(new Blob2(body, { type: stream2[kContentType] }));
+          const familyRecords = records.records[record.family] ?? { ips: [] };
+          familyRecords.ips.push(record);
+          records.records[record.family] = familyRecords;
         }
-        consumeFinish(consume2);
-      } catch (err) {
-        stream2.destroy(err);
+        this.#records.set(origin.hostname, records);
       }
-    }
-    function consumePush(consume2, chunk) {
-      consume2.length += chunk.length;
-      consume2.body.push(chunk);
-    }
-    function consumeFinish(consume2, err) {
-      if (consume2.body === null) {
-        return;
+      getHandler(meta, opts) {
+        return new DNSDispatchHandler(this, meta, opts);
       }
-      if (err) {
-        consume2.reject(err);
-      } else {
-        consume2.resolve();
+    };
+    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;
       }
-      consume2.type = null;
-      consume2.stream = null;
-      consume2.resolve = null;
-      consume2.reject = null;
-      consume2.length = 0;
-      consume2.body = null;
-    }
-  }
-});
-
-// node_modules/undici/lib/api/util.js
-var require_util11 = __commonJS({
-  "node_modules/undici/lib/api/util.js"(exports2, module2) {
-    var assert = require("assert");
-    var {
-      ResponseStatusCodeError
-    } = require_errors2();
-    var { toUSVString } = require_util9();
-    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
-      assert(body);
-      let chunks = [];
-      let limit = 0;
-      for await (const chunk of body) {
-        chunks.push(chunk);
-        limit += chunk.length;
-        if (limit > 128 * 1024) {
-          chunks = null;
-          break;
+      onError(err) {
+        switch (err.code) {
+          case "ETIMEDOUT":
+          case "ECONNREFUSED": {
+            if (this.#state.dualStack) {
+              this.#state.runLookup(this.#origin, this.#opts, (err2, newOrigin) => {
+                if (err2) {
+                  return this.#handler.onError(err2);
+                }
+                const dispatchOpts = {
+                  ...this.#opts,
+                  origin: newOrigin
+                };
+                this.#dispatch(dispatchOpts, this);
+              });
+              return;
+            }
+            this.#handler.onError(err);
+            return;
+          }
+          case "ENOTFOUND":
+            this.#state.deleteRecord(this.#origin);
+          // eslint-disable-next-line no-fallthrough
+          default:
+            this.#handler.onError(err);
+            break;
         }
       }
-      if (statusCode === 204 || !contentType || !chunks) {
-        process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
-        return;
+    };
+    module2.exports = (interceptorOpts) => {
+      if (interceptorOpts?.maxTTL != null && (typeof interceptorOpts?.maxTTL !== "number" || interceptorOpts?.maxTTL < 0)) {
+        throw new InvalidArgumentError("Invalid maxTTL. Must be a positive number");
       }
-      try {
-        if (contentType.startsWith("application/json")) {
-          const payload = JSON.parse(toUSVString(Buffer.concat(chunks)));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
-        }
-        if (contentType.startsWith("text/")) {
-          const payload = toUSVString(Buffer.concat(chunks));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
-        }
-      } catch (err) {
+      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"
+        );
       }
-      process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
-    }
-    module2.exports = { getResolveErrorBodyCallback };
-  }
-});
-
-// node_modules/undici/lib/api/abort-signal.js
-var require_abort_signal2 = __commonJS({
-  "node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
-    var { addAbortListener } = require_util9();
-    var { RequestAbortedError } = require_errors2();
-    var kListener = /* @__PURE__ */ Symbol("kListener");
-    var kSignal = /* @__PURE__ */ Symbol("kSignal");
-    function abort(self2) {
-      if (self2.abort) {
-        self2.abort();
-      } else {
-        self2.onError(new RequestAbortedError());
+      if (interceptorOpts?.affinity != null && interceptorOpts?.affinity !== 4 && interceptorOpts?.affinity !== 6) {
+        throw new InvalidArgumentError("Invalid affinity. Must be either 4 or 6");
       }
-    }
-    function addSignal(self2, signal) {
-      self2[kSignal] = null;
-      self2[kListener] = null;
-      if (!signal) {
-        return;
+      if (interceptorOpts?.dualStack != null && typeof interceptorOpts?.dualStack !== "boolean") {
+        throw new InvalidArgumentError("Invalid dualStack. Must be a boolean");
       }
-      if (signal.aborted) {
-        abort(self2);
-        return;
+      if (interceptorOpts?.lookup != null && typeof interceptorOpts?.lookup !== "function") {
+        throw new InvalidArgumentError("Invalid lookup. Must be a function");
       }
-      self2[kSignal] = signal;
-      self2[kListener] = () => {
-        abort(self2);
-      };
-      addAbortListener(self2[kSignal], self2[kListener]);
-    }
-    function removeSignal(self2) {
-      if (!self2[kSignal]) {
-        return;
+      if (interceptorOpts?.pick != null && typeof interceptorOpts?.pick !== "function") {
+        throw new InvalidArgumentError("Invalid pick. Must be a function");
       }
-      if ("removeEventListener" in self2[kSignal]) {
-        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      const dualStack = interceptorOpts?.dualStack ?? true;
+      let affinity;
+      if (dualStack) {
+        affinity = interceptorOpts?.affinity ?? null;
       } else {
-        self2[kSignal].removeListener("abort", self2[kListener]);
+        affinity = interceptorOpts?.affinity ?? 4;
       }
-      self2[kSignal] = null;
-      self2[kListener] = null;
-    }
-    module2.exports = {
-      addSignal,
-      removeSignal
+      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/api/api-request.js
-var require_api_request2 = __commonJS({
-  "node_modules/undici/lib/api/api-request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js
+var require_headers2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js"(exports2, module2) {
     "use strict";
-    var Readable2 = require_readable2();
+    var { kConstruct } = require_symbols6();
+    var { kEnumerableProperty } = require_util9();
     var {
-      InvalidArgumentError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { getResolveErrorBodyCallback } = require_util11();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var RequestHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
-        try {
-          if (typeof callback !== "function") {
-            throw new InvalidArgumentError("invalid callback");
-          }
-          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
-            throw new InvalidArgumentError("invalid highWaterMark");
-          }
-          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-          }
-          if (method === "CONNECT") {
-            throw new InvalidArgumentError("invalid method");
-          }
-          if (onInfo && typeof onInfo !== "function") {
-            throw new InvalidArgumentError("invalid onInfo callback");
-          }
-          super("UNDICI_REQUEST");
-        } catch (err) {
-          if (util.isStream(body)) {
-            util.destroy(body.on("error", util.nop), err);
+      iteratorMixin,
+      isValidHeaderName,
+      isValidHeaderValue
+    } = require_util10();
+    var { webidl } = require_webidl2();
+    var assert = require("node:assert");
+    var util = require("node:util");
+    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
+    var kHeadersSortedMap = /* @__PURE__ */ 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}.`
+            });
           }
-          throw err;
+          appendHeader(headers, header[0], header[1]);
         }
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.callback = callback;
-        this.res = null;
-        this.abort = null;
-        this.body = body;
-        this.trailers = {};
-        this.context = null;
-        this.onInfo = onInfo || null;
-        this.throwOnError = throwOnError;
-        this.highWaterMark = highWaterMark;
-        if (util.isStream(body)) {
-          body.on("error", (err) => {
-            this.onError(err);
-          });
+      } 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]]);
         }
-        addSignal(this, signal);
+      } else {
+        throw webidl.errors.conversionFailed({
+          prefix: "Headers constructor",
+          argument: "Argument 1",
+          types: ["sequence>", "record"]
+        });
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
+    }
+    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"
+        });
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const { callback, opaque, abort, context: context2, 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 body = new Readable2({ resume, abort, contentType, highWaterMark });
-        this.callback = null;
-        this.res = body;
-        if (callback !== null) {
-          if (this.throwOnError && statusCode >= 400) {
-            this.runInAsyncScope(
-              getResolveErrorBodyCallback,
-              null,
-              { callback, body, contentType, statusCode, statusMessage, headers }
-            );
-          } else {
-            this.runInAsyncScope(callback, null, null, {
-              statusCode,
-              headers,
-              trailers: this.trailers,
-              opaque,
-              body,
-              context: context2
-            });
-          }
+      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;
         }
       }
-      onData(chunk) {
-        const { res } = this;
-        return res.push(chunk);
+      /**
+       * @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());
       }
-      onComplete(trailers) {
-        const { res } = this;
-        removeSignal(this);
-        util.parseHeaders(trailers, this.trailers);
-        res.push(null);
+      clear() {
+        this[kHeadersMap].clear();
+        this[kHeadersSortedMap] = null;
+        this.cookies = null;
       }
-      onError(err) {
-        const { res, callback, body, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
-        if (res) {
-          this.res = null;
-          queueMicrotask(() => {
-            util.destroy(res, err);
+      /**
+       * @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 (body) {
-          this.body = null;
-          util.destroy(body, err);
+        if (lowercaseName === "set-cookie") {
+          (this.cookies ??= []).push(value);
         }
       }
-    };
-    function request2(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve4, reject) => {
-          request2.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve4(data);
-          });
-        });
+      /**
+       * @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 });
       }
-      try {
-        this.dispatch(opts, new RequestHandler(opts, callback));
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
+      /**
+       * @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;
         }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        this[kHeadersMap].delete(name);
       }
-    }
-    module2.exports = request2;
-    module2.exports.RequestHandler = RequestHandler;
-  }
-});
-
-// node_modules/undici/lib/api/api-stream.js
-var require_api_stream2 = __commonJS({
-  "node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
-    "use strict";
-    var { finished, PassThrough } = require("stream");
-    var {
-      InvalidArgumentError,
-      InvalidReturnValueError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { getResolveErrorBodyCallback } = require_util11();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var StreamHandler = class extends AsyncResource {
-      constructor(opts, factory, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+      /**
+       * @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];
         }
-        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
-        try {
-          if (typeof callback !== "function") {
-            throw new InvalidArgumentError("invalid callback");
-          }
-          if (typeof factory !== "function") {
-            throw new InvalidArgumentError("invalid factory");
-          }
-          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-          }
-          if (method === "CONNECT") {
-            throw new InvalidArgumentError("invalid method");
-          }
-          if (onInfo && typeof onInfo !== "function") {
-            throw new InvalidArgumentError("invalid onInfo callback");
-          }
-          super("UNDICI_STREAM");
-        } catch (err) {
-          if (util.isStream(body)) {
-            util.destroy(body.on("error", util.nop), err);
+      }
+      get entries() {
+        const headers = {};
+        if (this[kHeadersMap].size !== 0) {
+          for (const { name, value } of this[kHeadersMap].values()) {
+            headers[name] = value;
           }
-          throw err;
         }
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.factory = factory;
-        this.callback = callback;
-        this.res = null;
-        this.abort = null;
-        this.context = null;
-        this.trailers = null;
-        this.body = body;
-        this.onInfo = onInfo || null;
-        this.throwOnError = throwOnError || false;
-        if (util.isStream(body)) {
-          body.on("error", (err) => {
-            this.onError(err);
-          });
-        }
-        addSignal(this, signal);
+        return headers;
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
+      rawValues() {
+        return this[kHeadersMap].values();
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const { factory, opaque, context: context2, callback, responseHeaders } = this;
-        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            this.onInfo({ statusCode, headers });
+      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;
         }
-        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: context2
-          });
-          if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") {
-            throw new InvalidReturnValueError("expected Writable");
+        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;
           }
-          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);
+          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;
+              }
             }
-            this.callback = null;
-            this.runInAsyncScope(callback2, null, err || null, { opaque: opaque2, trailers });
-            if (err) {
-              abort();
+            if (i !== pivot) {
+              j = i;
+              while (j > left) {
+                array[j] = array[--j];
+              }
+              array[left] = x;
             }
-          });
-        }
-        res.on("drain", resume);
-        this.res = res;
-        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState && res._writableState.needDrain;
-        return needDrain !== true;
-      }
-      onData(chunk) {
-        const { res } = this;
-        return res ? res.write(chunk) : true;
-      }
-      onComplete(trailers) {
-        const { res } = this;
-        removeSignal(this);
-        if (!res) {
-          return;
-        }
-        this.trailers = util.parseHeaders(trailers);
-        res.end();
-      }
-      onError(err) {
-        const { res, callback, opaque, body } = this;
-        removeSignal(this);
-        this.factory = null;
-        if (res) {
-          this.res = null;
-          util.destroy(res, err);
-        } else if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
-        if (body) {
-          this.body = null;
-          util.destroy(body, err);
-        }
-      }
-    };
-    function stream2(opts, factory, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve4, reject) => {
-          stream2.call(this, opts, factory, (err, data) => {
-            return err ? reject(err) : resolve4(data);
-          });
-        });
-      }
-      try {
-        this.dispatch(opts, new StreamHandler(opts, factory, callback));
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
-        }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
-      }
-    }
-    module2.exports = stream2;
-  }
-});
-
-// node_modules/undici/lib/api/api-pipeline.js
-var require_api_pipeline2 = __commonJS({
-  "node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
-    "use strict";
-    var {
-      Readable: Readable2,
-      Duplex,
-      PassThrough
-    } = require("stream");
-    var {
-      InvalidArgumentError,
-      InvalidReturnValueError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
-    var kResume = /* @__PURE__ */ Symbol("resume");
-    var PipelineRequest = class extends Readable2 {
-      constructor() {
-        super({ autoDestroy: true });
-        this[kResume] = null;
-      }
-      _read() {
-        const { [kResume]: resume } = this;
-        if (resume) {
-          this[kResume] = null;
-          resume();
+          }
+          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);
         }
       }
-      _destroy(err, callback) {
-        this._read();
-        callback(err);
-      }
     };
-    var PipelineResponse = class extends Readable2 {
-      constructor(resume) {
-        super({ autoDestroy: true });
-        this[kResume] = resume;
-      }
-      _read() {
-        this[kResume]();
-      }
-      _destroy(err, callback) {
-        if (!err && !this._readableState.endEmitted) {
-          err = new RequestAbortedError();
+    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);
         }
-        callback(err);
       }
-    };
-    var PipelineHandler = class extends AsyncResource {
-      constructor(opts, handler2) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+      // 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 (typeof handler2 !== "function") {
-          throw new InvalidArgumentError("invalid handler");
+        if (this.#guard === "immutable") {
+          throw new TypeError("immutable");
         }
-        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 (!this.#headersList.contains(name, false)) {
+          return;
         }
-        if (method === "CONNECT") {
-          throw new InvalidArgumentError("invalid method");
+        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"
+          });
         }
-        if (onInfo && typeof onInfo !== "function") {
-          throw new InvalidArgumentError("invalid onInfo callback");
+        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"
+          });
         }
-        super("UNDICI_PIPELINE");
-        this.opaque = opaque || null;
-        this.responseHeaders = responseHeaders || null;
-        this.handler = handler2;
-        this.abort = null;
-        this.context = null;
-        this.onInfo = onInfo || null;
-        this.req = new PipelineRequest().on("error", util.nop);
-        this.ret = new Duplex({
-          readableObjectMode: opts.objectMode,
-          autoDestroy: true,
-          read: () => {
-            const { body } = this;
-            if (body && body.resume) {
-              body.resume();
-            }
-          },
-          write: (chunk, encoding, callback) => {
-            const { req } = this;
-            if (req.push(chunk, encoding) || req._readableState.destroyed) {
-              callback();
-            } else {
-              req[kResume] = callback;
-            }
-          },
-          destroy: (err, callback) => {
-            const { body, req, res, ret, abort } = this;
-            if (!err && !ret._readableState.endEmitted) {
-              err = new RequestAbortedError();
-            }
-            if (abort && err) {
-              abort();
-            }
-            util.destroy(body, err);
-            util.destroy(req, err);
-            util.destroy(res, err);
-            removeSignal(this);
-            callback(err);
-          }
-        }).on("prefinish", () => {
-          const { req } = this;
-          req.push(null);
-        });
-        this.res = null;
-        addSignal(this, signal);
+        return this.#headersList.contains(name, false);
       }
-      onConnect(abort, context2) {
-        const { ret, res } = this;
-        assert(!res, "pipeline cannot be retried");
-        if (ret.destroyed) {
-          throw new RequestAbortedError();
+      // 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"
+          });
         }
-        this.abort = abort;
-        this.context = context2;
+        if (this.#guard === "immutable") {
+          throw new TypeError("immutable");
+        }
+        this.#headersList.set(name, value, false);
       }
-      onHeaders(statusCode, rawHeaders, resume) {
-        const { opaque, handler: handler2, context: context2 } = this;
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-            this.onInfo({ statusCode, headers });
-          }
-          return;
+      // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
+      getSetCookie() {
+        webidl.brandCheck(this, _Headers);
+        const list = this.#headersList.cookies;
+        if (list) {
+          return [...list];
         }
-        this.res = new PipelineResponse(resume);
-        let body;
-        try {
-          this.handler = null;
-          const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-          body = this.runInAsyncScope(handler2, null, {
-            statusCode,
-            headers,
-            opaque,
-            body: this.res,
-            context: context2
-          });
-        } catch (err) {
-          this.res.on("error", util.nop);
-          throw err;
+        return [];
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
+      get [kHeadersSortedMap]() {
+        if (this.#headersList[kHeadersSortedMap]) {
+          return this.#headersList[kHeadersSortedMap];
         }
-        if (!body || typeof body.on !== "function") {
-          throw new InvalidReturnValueError("expected Readable");
+        const headers = [];
+        const names = this.#headersList.toSortedArray();
+        const cookies = this.#headersList.cookies;
+        if (cookies === null || cookies.length === 1) {
+          return this.#headersList[kHeadersSortedMap] = names;
         }
-        body.on("data", (chunk) => {
-          const { ret, body: body2 } = this;
-          if (!ret.push(chunk) && body2.pause) {
-            body2.pause();
-          }
-        }).on("error", (err) => {
-          const { ret } = this;
-          util.destroy(ret, err);
-        }).on("end", () => {
-          const { ret } = this;
-          ret.push(null);
-        }).on("close", () => {
-          const { ret } = this;
-          if (!ret._readableState.ended) {
-            util.destroy(ret, new RequestAbortedError());
+        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]);
           }
-        });
-        this.body = body;
+        }
+        return this.#headersList[kHeadersSortedMap] = headers;
       }
-      onData(chunk) {
-        const { res } = this;
-        return res.push(chunk);
+      [util.inspect.custom](depth, options) {
+        options.depth ??= depth;
+        return `Headers ${util.formatWithOptions(options, this.#headersList.entries)}`;
       }
-      onComplete(trailers) {
-        const { res } = this;
-        res.push(null);
+      static getHeadersGuard(o) {
+        return o.#guard;
       }
-      onError(err) {
-        const { ret } = this;
-        this.handler = null;
-        util.destroy(ret, err);
+      static setHeadersGuard(o, guard) {
+        o.#guard = guard;
+      }
+      static getHeadersList(o) {
+        return o.#headersList;
+      }
+      static setHeadersList(o, list) {
+        o.#headersList = list;
       }
     };
-    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);
+    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
       }
-    }
-    module2.exports = pipeline;
+    });
+    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/api/api-upgrade.js
-var require_api_upgrade2 = __commonJS({
-  "node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js
+var require_response2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js"(exports2, module2) {
     "use strict";
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
-    var { AsyncResource } = require("async_hooks");
+    var { Headers, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers2();
+    var { extractBody, cloneBody, mixinBody, hasFinalizationRegistry, streamRegistry, bodyUnusable } = require_body2();
     var util = require_util9();
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
-    var UpgradeHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+    var nodeUtil = require("node:util");
+    var { kEnumerableProperty } = util;
+    var {
+      isValidReasonPhrase,
+      isCancelled,
+      isAborted,
+      isBlobLike,
+      serializeJavascriptValueToJSONString,
+      isErrorLike,
+      isomorphicEncode,
+      environmentSettingsObject: relevantRealm
+    } = require_util10();
+    var {
+      redirectStatusSet,
+      nullBodyStatus
+    } = require_constants8();
+    var { kState, kHeaders } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var { FormData: FormData2 } = require_formdata2();
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    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);
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        const bytes = textEncoder.encode(
+          serializeJavascriptValueToJSONString(data)
+        );
+        const body = extractBody(bytes);
+        const responseObject = fromInnerResponse(makeResponse({}), "response");
+        initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
+        return responseObject;
+      }
+      // Creates a redirect Response that redirects to url with status status.
+      static redirect(url, status = 302) {
+        webidl.argumentLengthCheck(arguments, 1, "Response.redirect");
+        url = webidl.converters.USVString(url);
+        status = webidl.converters["unsigned short"](status);
+        let parsedURL;
+        try {
+          parsedURL = new URL(url, relevantRealm.settingsObject.baseUrl);
+        } catch (err) {
+          throw new TypeError(`Failed to parse URL from ${url}`, { cause: err });
         }
-        const { signal, opaque, responseHeaders } = opts;
-        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        if (!redirectStatusSet.has(status)) {
+          throw new RangeError(`Invalid status code ${status}`);
         }
-        super("UNDICI_UPGRADE");
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.callback = callback;
-        this.abort = null;
-        this.context = null;
-        addSignal(this, signal);
+        const responseObject = fromInnerResponse(makeResponse({}), "immutable");
+        responseObject[kState].status = status;
+        const value = isomorphicEncode(URLSerializer(parsedURL));
+        responseObject[kState].headersList.append("location", value, true);
+        return responseObject;
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
+      // https://fetch.spec.whatwg.org/#dom-response
+      constructor(body = null, init = {}) {
+        webidl.util.markAsUncloneable(this);
+        if (body === kConstruct) {
+          return;
         }
-        this.abort = abort;
-        this.context = null;
-      }
-      onHeaders() {
-        throw new SocketError("bad upgrade", null);
-      }
-      onUpgrade(statusCode, rawHeaders, socket) {
-        const { callback, opaque, context: context2 } = this;
-        assert.strictEqual(statusCode, 101);
-        removeSignal(this);
-        this.callback = null;
-        const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        this.runInAsyncScope(callback, null, null, {
-          headers,
-          socket,
-          opaque,
-          context: context2
-        });
-      }
-      onError(err) {
-        const { callback, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
+        if (body !== null) {
+          body = webidl.converters.BodyInit(body);
+        }
+        init = webidl.converters.ResponseInit(init);
+        this[kState] = makeResponse({});
+        this[kHeaders] = new Headers(kConstruct);
+        setHeadersGuard(this[kHeaders], "response");
+        setHeadersList(this[kHeaders], this[kState].headersList);
+        let bodyWithType = null;
+        if (body != null) {
+          const [extractedBody, type2] = extractBody(body);
+          bodyWithType = { body: extractedBody, type: type2 };
         }
+        initializeResponse(this, init, bodyWithType);
       }
-    };
-    function upgrade(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve4, reject) => {
-          upgrade.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve4(data);
-          });
-        });
+      // Returns response’s type, e.g., "cors".
+      get type() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].type;
       }
-      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;
+      // 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 "";
         }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        return URLSerializer(url, true);
       }
-    }
-    module2.exports = upgrade;
-  }
-});
-
-// node_modules/undici/lib/api/api-connect.js
-var require_api_connect2 = __commonJS({
-  "node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
-    "use strict";
-    var { AsyncResource } = require("async_hooks");
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
-    var util = require_util9();
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var ConnectHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
-        }
-        const { signal, opaque, responseHeaders } = opts;
-        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-        }
-        super("UNDICI_CONNECT");
-        this.opaque = opaque || null;
-        this.responseHeaders = responseHeaders || null;
-        this.callback = callback;
-        this.abort = null;
-        addSignal(this, signal);
+      // Returns whether response was obtained through a redirect.
+      get redirected() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].urlList.length > 1;
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
+      // Returns response’s status.
+      get status() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status;
       }
-      onHeaders() {
-        throw new SocketError("bad connect", null);
+      // Returns whether response’s status is an ok status.
+      get ok() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status >= 200 && this[kState].status <= 299;
       }
-      onUpgrade(statusCode, rawHeaders, socket) {
-        const { callback, opaque, context: context2 } = 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: context2
-        });
+      // Returns response’s status message.
+      get statusText() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].statusText;
       }
-      onError(err) {
-        const { callback, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
+      // Returns response’s headers as Headers.
+      get headers() {
+        webidl.brandCheck(this, _Response);
+        return this[kHeaders];
       }
-    };
-    function connect(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve4, reject) => {
-          connect.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve4(data);
-          });
-        });
+      get body() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      try {
-        const connectHandler = new ConnectHandler(opts, callback);
-        this.dispatch({ ...opts, method: "CONNECT" }, connectHandler);
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
+      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 opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        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]));
       }
-    }
-    module2.exports = connect;
-  }
-});
-
-// node_modules/undici/lib/api/index.js
-var require_api2 = __commonJS({
-  "node_modules/undici/lib/api/index.js"(exports2, module2) {
-    "use strict";
-    module2.exports.request = require_api_request2();
-    module2.exports.stream = require_api_stream2();
-    module2.exports.pipeline = require_api_pipeline2();
-    module2.exports.upgrade = require_api_upgrade2();
-    module2.exports.connect = require_api_connect2();
-  }
-});
-
-// node_modules/undici/lib/mock/mock-errors.js
-var require_mock_errors2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
-    "use strict";
-    var { UndiciError } = require_errors2();
-    var MockNotMatchedError = class _MockNotMatchedError extends UndiciError {
-      constructor(message) {
-        super(message);
-        Error.captureStackTrace(this, _MockNotMatchedError);
-        this.name = "MockNotMatchedError";
-        this.message = message || "The request does not match any registered mock dispatches";
-        this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED";
+      [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)}`;
       }
     };
-    module2.exports = {
-      MockNotMatchedError
-    };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-symbols.js
-var require_mock_symbols2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      kAgent: /* @__PURE__ */ Symbol("agent"),
-      kOptions: /* @__PURE__ */ Symbol("options"),
-      kFactory: /* @__PURE__ */ Symbol("factory"),
-      kDispatches: /* @__PURE__ */ Symbol("dispatches"),
-      kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
-      kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
-      kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
-      kContentLength: /* @__PURE__ */ Symbol("content length"),
-      kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
-      kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
-      kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
-      kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
-      kClose: /* @__PURE__ */ Symbol("close"),
-      kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
-      kOrigin: /* @__PURE__ */ Symbol("origin"),
-      kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
-      kNetConnect: /* @__PURE__ */ Symbol("net connect"),
-      kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
-      kConnected: /* @__PURE__ */ Symbol("connected")
-    };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-utils.js
-var require_mock_utils2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
-    "use strict";
-    var { MockNotMatchedError } = require_mock_errors2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kOriginalDispatch,
-      kOrigin,
-      kGetNetConnect
-    } = require_mock_symbols2();
-    var { buildURL, nop } = require_util9();
-    var { STATUS_CODES } = require("http");
-    var {
-      types: {
-        isPromise
-      }
-    } = require("util");
-    function matchValue(match, value) {
-      if (typeof match === "string") {
-        return match === value;
+    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
       }
-      if (match instanceof RegExp) {
-        return match.test(value);
+    });
+    Object.defineProperties(Response, {
+      json: kEnumerableProperty,
+      redirect: kEnumerableProperty,
+      error: kEnumerableProperty
+    });
+    function cloneResponse(response) {
+      if (response.internalResponse) {
+        return filterResponse(
+          cloneResponse(response.internalResponse),
+          response.type
+        );
       }
-      if (typeof match === "function") {
-        return match(value) === true;
+      const newResponse = makeResponse({ ...response, body: null });
+      if (response.body != null) {
+        newResponse.body = cloneBody(newResponse, response.body);
       }
-      return false;
+      return newResponse;
     }
-    function lowerCaseEntries(headers) {
-      return Object.fromEntries(
-        Object.entries(headers).map(([headerName, headerValue]) => {
-          return [headerName.toLocaleLowerCase(), headerValue];
-        })
+    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 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];
-          }
+    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;
         }
-        return void 0;
-      } else if (typeof headers.get === "function") {
-        return headers.get(key);
+      });
+    }
+    function filterResponse(response, type2) {
+      if (type2 === "basic") {
+        return makeFilteredResponse(response, {
+          type: "basic",
+          headersList: response.headersList
+        });
+      } else if (type2 === "cors") {
+        return makeFilteredResponse(response, {
+          type: "cors",
+          headersList: response.headersList
+        });
+      } else if (type2 === "opaque") {
+        return makeFilteredResponse(response, {
+          type: "opaque",
+          urlList: Object.freeze([]),
+          status: 0,
+          statusText: "",
+          body: null
+        });
+      } else if (type2 === "opaqueredirect") {
+        return makeFilteredResponse(response, {
+          type: "opaqueredirect",
+          status: 0,
+          statusText: "",
+          headersList: [],
+          body: null
+        });
       } else {
-        return lowerCaseEntries(headers)[key.toLocaleLowerCase()];
+        assert(false);
       }
     }
-    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 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 matchHeaders(mockDispatch2, headers) {
-      if (typeof mockDispatch2.headers === "function") {
-        if (Array.isArray(headers)) {
-          headers = buildHeadersFromArray(headers);
-        }
-        return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {});
+    function initializeResponse(response, init, body) {
+      if (init.status !== null && (init.status < 200 || init.status > 599)) {
+        throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
       }
-      if (typeof mockDispatch2.headers === "undefined") {
-        return true;
+      if ("statusText" in init && init.statusText != null) {
+        if (!isValidReasonPhrase(String(init.statusText))) {
+          throw new TypeError("Invalid statusText");
+        }
       }
-      if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") {
-        return false;
+      if ("status" in init && init.status != null) {
+        response[kState].status = init.status;
       }
-      for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) {
-        const headerValue = getHeaderByName(headers, matchHeaderName);
-        if (!matchValue(matchHeaderValue, headerValue)) {
-          return false;
-        }
+      if ("statusText" in init && init.statusText != null) {
+        response[kState].statusText = init.statusText;
       }
-      return true;
-    }
-    function safeUrl(path8) {
-      if (typeof path8 !== "string") {
-        return path8;
+      if ("headers" in init && init.headers != null) {
+        fill(response[kHeaders], init.headers);
       }
-      const pathSegments = path8.split("?");
-      if (pathSegments.length !== 2) {
-        return path8;
+      if (body) {
+        if (nullBodyStatus.includes(response.status)) {
+          throw webidl.errors.exception({
+            header: "Response constructor",
+            message: `Invalid response status code ${response.status}`
+          });
+        }
+        response[kState].body = body.body;
+        if (body.type != null && !response[kState].headersList.contains("content-type", true)) {
+          response[kState].headersList.append("content-type", body.type, true);
+        }
       }
-      const qp = new URLSearchParams(pathSegments.pop());
-      qp.sort();
-      return [...pathSegments, qp.toString()].join("?");
     }
-    function matchKey(mockDispatch2, { path: path8, method, body, headers }) {
-      const pathMatch = matchValue(mockDispatch2.path, path8);
-      const methodMatch = matchValue(mockDispatch2.method, method);
-      const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
-      const headersMatch = matchHeaders(mockDispatch2, headers);
-      return pathMatch && methodMatch && bodyMatch && headersMatch;
-    }
-    function getResponseData2(data) {
-      if (Buffer.isBuffer(data)) {
-        return data;
-      } else if (typeof data === "object") {
-        return JSON.stringify(data);
-      } else {
-        return data.toString();
+    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;
     }
-    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: path8 }) => matchValue(safeUrl(path8), resolvedPath));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
+    webidl.converters.ReadableStream = webidl.interfaceConverter(
+      ReadableStream
+    );
+    webidl.converters.FormData = webidl.interfaceConverter(
+      FormData2
+    );
+    webidl.converters.URLSearchParams = webidl.interfaceConverter(
+      URLSearchParams
+    );
+    webidl.converters.XMLHttpRequestBodyInit = function(V, prefix, name) {
+      if (typeof V === "string") {
+        return webidl.converters.USVString(V, prefix, name);
       }
-      matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`);
+      if (isBlobLike(V)) {
+        return webidl.converters.Blob(V, prefix, name, { strict: false });
       }
-      matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`);
+      if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) {
+        return webidl.converters.BufferSource(V, prefix, name);
       }
-      matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers}'`);
+      if (util.isFormDataLike(V)) {
+        return webidl.converters.FormData(V, prefix, name, { strict: false });
       }
-      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);
+      if (V instanceof URLSearchParams) {
+        return webidl.converters.URLSearchParams(V, prefix, name);
       }
-    }
-    function buildKey(opts) {
-      const { path: path8, method, body, headers, query } = opts;
-      return {
-        path: path8,
-        method,
-        body,
-        headers,
-        query
-      };
-    }
-    function generateKeyValues(data) {
-      return Object.entries(data).reduce((keyValuePairs, [key, value]) => [
-        ...keyValuePairs,
-        Buffer.from(`${key}`),
-        Array.isArray(value) ? value.map((x) => Buffer.from(`${x}`)) : Buffer.from(`${value}`)
-      ], []);
-    }
-    function getStatusText(statusCode) {
-      return STATUS_CODES[statusCode] || "unknown";
-    }
-    async function getResponse(body) {
-      const buffers = [];
-      for await (const data of body) {
-        buffers.push(data);
+      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);
       }
-      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) };
+      if (V?.[Symbol.asyncIterator]) {
+        return V;
       }
-      const { data: { statusCode, data, headers, trailers, error: error3 }, delay: delay2, persist } = mockDispatch2;
-      const { timesInvoked, times } = mockDispatch2;
-      mockDispatch2.consumed = !persist && timesInvoked >= times;
-      mockDispatch2.pending = timesInvoked < times;
-      if (error3 !== null) {
-        deleteMockDispatch(this[kDispatches], key);
-        handler2.onError(error3);
-        return true;
+      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
       }
-      if (typeof delay2 === "number" && delay2 > 0) {
-        setTimeout(() => {
-          handleReply(this[kDispatches]);
-        }, delay2);
-      } else {
-        handleReply(this[kDispatches]);
+    ]);
+    module2.exports = {
+      isNetworkError,
+      makeNetworkError,
+      makeResponse,
+      makeAppropriateNetworkError,
+      filterResponse,
+      Response,
+      cloneResponse,
+      fromInnerResponse
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js
+var require_dispatcher_weakref2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js"(exports2, module2) {
+    "use strict";
+    var { kConnected, kSize } = require_symbols6();
+    var CompatWeakRef = class {
+      constructor(value) {
+        this.value = value;
       }
-      function handleReply(mockDispatches, _data = data) {
-        const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
-        const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
-        if (isPromise(body)) {
-          body.then((newData) => handleReply(mockDispatches, newData));
-          return;
-        }
-        const responseData = getResponseData2(body);
-        const responseHeaders = generateKeyValues(headers);
-        const responseTrailers = generateKeyValues(trailers);
-        handler2.abort = nop;
-        handler2.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode));
-        handler2.onData(Buffer.from(responseData));
-        handler2.onComplete(responseTrailers);
-        deleteMockDispatch(mockDispatches, key);
+      deref() {
+        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
       }
-      function resume() {
+    };
+    var CompatFinalizer = class {
+      constructor(finalizer) {
+        this.finalizer = finalizer;
       }
-      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 (error3) {
-            if (error3 instanceof MockNotMatchedError) {
-              const netConnect = agent[kGetNetConnect]();
-              if (netConnect === false) {
-                throw new MockNotMatchedError(`${error3.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(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
-              }
-            } else {
-              throw error3;
+      register(dispatcher, key) {
+        if (dispatcher.on) {
+          dispatcher.on("disconnect", () => {
+            if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {
+              this.finalizer(key);
             }
-          }
-        } 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;
+      unregister(key) {
       }
-    }
-    module2.exports = {
-      getResponseData: getResponseData2,
-      getMockDispatch,
-      addMockDispatch,
-      deleteMockDispatch,
-      buildKey,
-      generateKeyValues,
-      matchValue,
-      getResponse,
-      getStatusText,
-      mockDispatch,
-      buildMockDispatch,
-      checkNetConnect,
-      buildMockOptions,
-      getHeaderByName
+    };
+    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/mock/mock-interceptor.js
-var require_mock_interceptor2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js
+var require_request4 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js"(exports2, module2) {
     "use strict";
-    var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils2();
+    var { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body2();
+    var { Headers, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers2();
+    var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
+    var util = require_util9();
+    var nodeUtil = require("node:util");
     var {
-      kDispatches,
-      kDispatchKey,
-      kDefaultHeaders,
-      kDefaultTrailers,
-      kContentLength,
-      kMockDispatch
-    } = require_mock_symbols2();
-    var { InvalidArgumentError } = require_errors2();
-    var { buildURL } = require_util9();
-    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");
+      isValidHTTPToken,
+      sameOrigin,
+      environmentSettingsObject
+    } = require_util10();
+    var {
+      forbiddenMethodsSet,
+      corsSafeListedMethodsSet,
+      referrerPolicy,
+      requestRedirect,
+      requestMode,
+      requestCredentials,
+      requestCache,
+      requestDuplex
+    } = require_constants8();
+    var { kEnumerableProperty, normalizedMethodRecordsBase, normalizedMethodRecords } = util;
+    var { kHeaders, kSignal, kState, kDispatcher } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    var assert = require("node:assert");
+    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("node:events");
+    var kAbortController = /* @__PURE__ */ 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);
+          }
         }
-        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");
+    }
+    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;
         }
-        this[kMockDispatch].times = repeatTimes;
-        return this;
-      }
-    };
-    var MockInterceptor = class {
-      constructor(opts, mockDispatches) {
-        if (typeof opts !== "object") {
-          throw new InvalidArgumentError("opts must be an object");
+        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];
         }
-        if (typeof opts.path === "undefined") {
-          throw new InvalidArgumentError("opts.path must be defined");
+        const origin = environmentSettingsObject.settingsObject.origin;
+        let window2 = "client";
+        if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
+          window2 = request2.window;
         }
-        if (typeof opts.method === "undefined") {
-          opts.method = "GET";
+        if (init.window != null) {
+          throw new TypeError(`'window' option '${window2}' must be null`);
         }
-        if (typeof opts.path === "string") {
-          if (opts.query) {
-            opts.path = buildURL(opts.path, opts.query);
+        if ("window" in init) {
+          window2 = "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: window2,
+          // 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 {
-            const parsedURL = new URL(opts.path, "data://");
-            opts.path = parsedURL.pathname + parsedURL.search;
+            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 (typeof opts.method === "string") {
-          opts.method = opts.method.toUpperCase();
+        if (init.referrerPolicy !== void 0) {
+          request2.referrerPolicy = init.referrerPolicy;
         }
-        this[kDispatchKey] = buildKey(opts);
-        this[kDispatches] = mockDispatches;
-        this[kDefaultHeaders] = {};
-        this[kDefaultTrailers] = {};
-        this[kContentLength] = false;
+        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;
       }
-      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 };
+      // Returns request’s HTTP method, which is "GET" by default.
+      get method() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].method;
       }
-      validateReplyParameters(statusCode, data, responseOptions) {
-        if (typeof statusCode === "undefined") {
-          throw new InvalidArgumentError("statusCode must be defined");
-        }
-        if (typeof data === "undefined") {
-          throw new InvalidArgumentError("data must be defined");
+      // 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 (typeof responseOptions !== "object") {
-          throw new InvalidArgumentError("responseOptions must be an object");
+        if (this[kState].referrer === "client") {
+          return "about:client";
         }
+        return this[kState].referrer.toString();
       }
-      /**
-       * Mock an undici request with a defined reply.
-       */
-      reply(replyData) {
-        if (typeof replyData === "function") {
-          const wrappedDefaultsCallback = (opts) => {
-            const resolvedData = replyData(opts);
-            if (typeof resolvedData !== "object") {
-              throw new InvalidArgumentError("reply options callback must return an object");
-            }
-            const { statusCode: statusCode2, data: data2 = "", responseOptions: responseOptions2 = {} } = resolvedData;
-            this.validateReplyParameters(statusCode2, data2, responseOptions2);
-            return {
-              ...this.createMockScopeDispatchData(statusCode2, data2, responseOptions2)
-            };
-          };
-          const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback);
-          return new MockScope(newMockDispatch2);
-        }
-        const [statusCode, data = "", responseOptions = {}] = [...arguments];
-        this.validateReplyParameters(statusCode, data, responseOptions);
-        const dispatchData = this.createMockScopeDispatchData(statusCode, data, responseOptions);
-        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData);
-        return new MockScope(newMockDispatch);
+      // 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;
       }
-      /**
-       * Mock an undici request with a defined error.
-       */
-      replyWithError(error3) {
-        if (typeof error3 === "undefined") {
-          throw new InvalidArgumentError("error must be defined");
-        }
-        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error: error3 });
-        return new MockScope(newMockDispatch);
+      // 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;
       }
-      /**
-       * 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;
+      // 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;
       }
-      /**
-       * 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;
+      // 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;
       }
-      /**
-       * Set reply content length header for replies on the interceptor
-       */
-      replyContentLength() {
-        this[kContentLength] = true;
-        return this;
+      // 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;
       }
-    };
-    module2.exports.MockInterceptor = MockInterceptor;
-    module2.exports.MockScope = MockScope;
-  }
-});
-
-// node_modules/undici/lib/mock/mock-client.js
-var require_mock_client2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
-    "use strict";
-    var { promisify } = require("util");
-    var Client = require_client2();
-    var { buildMockDispatch } = require_mock_utils2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kClose,
-      kOriginalClose,
-      kOrigin,
-      kOriginalDispatch,
-      kConnected
-    } = require_mock_symbols2();
-    var { MockInterceptor } = require_mock_interceptor2();
-    var Symbols = require_symbols6();
-    var { InvalidArgumentError } = require_errors2();
-    var MockClient = class extends Client {
-      constructor(origin, opts) {
-        super(origin, opts);
-        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
-        }
-        this[kMockAgent] = opts.agent;
-        this[kOrigin] = origin;
-        this[kDispatches] = [];
-        this[kConnected] = 1;
-        this[kOriginalDispatch] = this.dispatch;
-        this[kOriginalClose] = this.close.bind(this);
-        this.dispatch = buildMockDispatch.call(this);
-        this.close = this[kClose];
+      // 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;
       }
-      get [Symbols.kConnected]() {
-        return this[kConnected];
+      // 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;
       }
-      /**
-       * Sets up the base interceptor for mocking replies from undici.
-       */
-      intercept(opts) {
-        return new MockInterceptor(opts, this[kDispatches]);
+      // Returns a boolean indicating whether or not request is for a reload
+      // navigation.
+      get isReloadNavigation() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].reloadNavigation;
       }
-      async [kClose]() {
-        await promisify(this[kOriginalClose])();
-        this[kConnected] = 0;
-        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
+      // 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;
       }
-    };
-    module2.exports = MockClient;
-  }
-});
-
-// node_modules/undici/lib/mock/mock-pool.js
-var require_mock_pool2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
-    "use strict";
-    var { promisify } = require("util");
-    var Pool = require_pool2();
-    var { buildMockDispatch } = require_mock_utils2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kClose,
-      kOriginalClose,
-      kOrigin,
-      kOriginalDispatch,
-      kConnected
-    } = require_mock_symbols2();
-    var { MockInterceptor } = require_mock_interceptor2();
-    var Symbols = require_symbols6();
-    var { InvalidArgumentError } = require_errors2();
-    var MockPool = class extends Pool {
-      constructor(origin, opts) {
-        super(origin, opts);
-        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
-        }
-        this[kMockAgent] = opts.agent;
-        this[kOrigin] = origin;
-        this[kDispatches] = [];
-        this[kConnected] = 1;
-        this[kOriginalDispatch] = this.dispatch;
-        this[kOriginalClose] = this.close.bind(this);
-        this.dispatch = buildMockDispatch.call(this);
-        this.close = this[kClose];
+      // 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 [Symbols.kConnected]() {
-        return this[kConnected];
+      get body() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      /**
-       * Sets up the base interceptor for mocking replies from undici.
-       */
-      intercept(opts) {
-        return new MockInterceptor(opts, this[kDispatches]);
+      get bodyUsed() {
+        webidl.brandCheck(this, _Request);
+        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
       }
-      async [kClose]() {
-        await promisify(this[kOriginalClose])();
-        this[kConnected] = 0;
-        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
+      get duplex() {
+        webidl.brandCheck(this, _Request);
+        return "half";
       }
-    };
-    module2.exports = MockPool;
-  }
-});
-
-// node_modules/undici/lib/mock/pluralizer.js
-var require_pluralizer2 = __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;
+      // 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]));
       }
-      pluralize(count) {
-        const one = count === 1;
-        const keys = one ? singulars : plurals;
-        const noun = one ? this.singular : this.plural;
-        return { ...keys, count, noun };
+      [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)}`;
       }
     };
-  }
-});
-
-// node_modules/undici/lib/mock/pending-interceptors-formatter.js
-var require_pending_interceptors_formatter2 = __commonJS({
-  "node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
-    "use strict";
-    var { Transform } = require("stream");
-    var { Console } = require("console");
-    module2.exports = class PendingInterceptorsFormatter {
-      constructor({ disableColors } = {}) {
-        this.transform = new Transform({
-          transform(chunk, _enc, cb) {
-            cb(null, chunk);
-          }
-        });
-        this.logger = new Console({
-          stdout: this.transform,
-          inspectOptions: {
-            colors: !disableColors && !process.env.CI
-          }
-        });
+    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);
       }
-      format(pendingInterceptors) {
-        const withPrettyHeaders = pendingInterceptors.map(
-          ({ method, path: path8, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
-            Method: method,
-            Origin: origin,
-            Path: path8,
-            "Status code": statusCode,
-            Persistent: persist ? "\u2705" : "\u274C",
-            Invocations: timesInvoked,
-            Remaining: persist ? Infinity : times - timesInvoked
-          })
-        );
-        this.logger.table(withPrettyHeaders);
-        return this.transform.read().toString();
+      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);
     };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-agent.js
-var require_mock_agent2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
-    "use strict";
-    var { kClients } = require_symbols6();
-    var Agent = require_agent2();
-    var {
-      kAgent,
-      kMockAgentSet,
-      kMockAgentGet,
-      kDispatches,
-      kIsMockActive,
-      kNetConnect,
-      kGetNetConnect,
-      kOptions,
-      kFactory
-    } = require_mock_symbols2();
-    var MockClient = require_mock_client2();
-    var MockPool = require_mock_pool2();
-    var { matchValue, buildMockOptions } = require_mock_utils2();
-    var { InvalidArgumentError, UndiciError } = require_errors2();
-    var Dispatcher = require_dispatcher2();
-    var Pluralizer = require_pluralizer2();
-    var PendingInterceptorsFormatter = require_pending_interceptors_formatter2();
-    var FakeWeakRef = class {
-      constructor(value) {
-        this.value = value;
+    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
       }
-      deref() {
-        return this.value;
+    ]);
+    module2.exports = { Request, makeRequest, fromInnerRequest, cloneRequest };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js
+var require_fetch2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js"(exports2, module2) {
+    "use strict";
+    var {
+      makeNetworkError,
+      makeAppropriateNetworkError,
+      filterResponse,
+      makeResponse,
+      fromInnerResponse
+    } = require_response2();
+    var { HeadersList } = require_headers2();
+    var { Request, cloneRequest } = require_request4();
+    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_util10();
+    var { kState, kDispatcher } = require_symbols7();
+    var assert = require("node:assert");
+    var { safelyExtractBody, extractBody } = require_body2();
+    var {
+      redirectStatusSet,
+      nullBodyStatus,
+      safeMethodsSet,
+      requestBodyHeader,
+      subresourceSet
+    } = require_constants8();
+    var EE = require("node:events");
+    var { Readable: Readable2, pipeline, finished } = require("node:stream");
+    var { addAbortListener, isErrored, isReadable, bufferToLowerCasedHeaderName } = require_util9();
+    var { dataURLProcessor, serializeAMimeType, minimizeSupportedMimeType } = require_data_url2();
+    var { getGlobalDispatcher } = require_global4();
+    var { webidl } = require_webidl2();
+    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";
       }
-    };
-    var MockAgent = class extends Dispatcher {
-      constructor(opts) {
-        super(opts);
-        this[kNetConnect] = true;
-        this[kIsMockActive] = true;
-        if (opts && opts.agent && typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
+      terminate(reason) {
+        if (this.state !== "ongoing") {
+          return;
         }
-        const agent = opts && opts.agent ? opts.agent : new Agent(opts);
-        this[kAgent] = agent;
-        this[kClients] = agent[kClients];
-        this[kOptions] = buildMockOptions(opts);
+        this.state = "terminated";
+        this.connection?.destroy(reason);
+        this.emit("terminated", reason);
       }
-      get(origin) {
-        let dispatcher = this[kMockAgentGet](origin);
-        if (!dispatcher) {
-          dispatcher = this[kFactory](origin);
-          this[kMockAgentSet](origin, dispatcher);
+      // https://fetch.spec.whatwg.org/#fetch-controller-abort
+      abort(error3) {
+        if (this.state !== "ongoing") {
+          return;
         }
-        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.");
+        this.state = "aborted";
+        if (!error3) {
+          error3 = new DOMException("The operation was aborted.", "AbortError");
         }
+        this.serializedAbortReason = error3;
+        this.connection?.destroy(error3);
+        this.emit("terminated", error3);
       }
-      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];
+    };
+    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;
       }
-      [kMockAgentSet](origin, dispatcher) {
-        this[kClients].set(origin, new FakeWeakRef(dispatcher));
+      const request2 = requestObject[kState];
+      if (requestObject.signal.aborted) {
+        abortFetch(p, request2, null, requestObject.signal.reason);
+        return p.promise;
       }
-      [kFactory](origin) {
-        const mockOptions = Object.assign({ agent: this }, this[kOptions]);
-        return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions);
+      const globalObject = request2.client.globalObject;
+      if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") {
+        request2.serviceWorkers = "none";
       }
-      [kMockAgentGet](origin) {
-        const ref = this[kClients].get(origin);
-        if (ref) {
-          return ref.deref();
+      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);
         }
-        if (typeof origin !== "string") {
-          const dispatcher = this[kFactory]("http://localhost:9999");
-          this[kMockAgentSet](origin, dispatcher);
-          return dispatcher;
+      );
+      const processResponse = (response) => {
+        if (locallyAborted) {
+          return;
         }
-        for (const [keyMatcher, nonExplicitRef] of Array.from(this[kClients])) {
-          const nonExplicitDispatcher = nonExplicitRef.deref();
-          if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) {
-            const dispatcher = this[kFactory](origin);
-            this[kMockAgentSet](origin, dispatcher);
-            dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches];
-            return dispatcher;
-          }
+        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;
       }
-      [kGetNetConnect]() {
-        return this[kNetConnect];
+      if (!response.urlList?.length) {
+        return;
       }
-      pendingInterceptors() {
-        const mockAgentClients = this[kClients];
-        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope.deref()[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
+      const originalURL = response.urlList[0];
+      let timingInfo = response.timingInfo;
+      let cacheState = response.cacheState;
+      if (!urlIsHttpHttpsScheme(originalURL)) {
+        return;
       }
-      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());
+      if (timingInfo === null) {
+        return;
       }
-    };
-    module2.exports = MockAgent;
-  }
-});
-
-// node_modules/undici/lib/proxy-agent.js
-var require_proxy_agent2 = __commonJS({
-  "node_modules/undici/lib/proxy-agent.js"(exports2, module2) {
-    "use strict";
-    var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols6();
-    var { URL: URL2 } = require("url");
-    var Agent = require_agent2();
-    var Pool = require_pool2();
-    var DispatcherBase = require_dispatcher_base2();
-    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
-    var buildConnector = require_connect2();
-    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
-    var kClient = /* @__PURE__ */ Symbol("proxy client");
-    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
-    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
-    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
-    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
-    function defaultProtocolPort(protocol) {
-      return protocol === "https:" ? 443 : 80;
+      if (!response.timingAllowPassed) {
+        timingInfo = createOpaqueTimingInfo({
+          startTime: timingInfo.startTime
+        });
+        cacheState = "";
+      }
+      timingInfo.endTime = coarsenedSharedCurrentTime();
+      response.timingInfo = timingInfo;
+      markResourceTiming(
+        timingInfo,
+        originalURL.href,
+        initiatorType,
+        globalThis,
+        cacheState
+      );
     }
-    function buildProxyOptions(opts) {
-      if (typeof opts === "string") {
-        opts = { uri: opts };
+    var markResourceTiming = performance.markResourceTiming;
+    function abortFetch(p, request2, responseObject, error3) {
+      if (p) {
+        p.reject(error3);
       }
-      if (!opts || !opts.uri) {
-        throw new InvalidArgumentError("Proxy opts.uri is mandatory");
+      if (request2.body != null && isReadable(request2.body?.stream)) {
+        request2.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
+          }
+          throw err;
+        });
       }
-      return {
-        uri: opts.uri,
-        protocol: opts.protocol || "https"
-      };
-    }
-    function defaultFactory(origin, opts) {
-      return new Pool(origin, opts);
-    }
-    var ProxyAgent = class extends DispatcherBase {
-      constructor(opts) {
-        super(opts);
-        this[kProxy] = buildProxyOptions(opts);
-        this[kAgent] = new Agent(opts);
-        this[kInterceptors] = opts.interceptors && opts.interceptors.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : [];
-        if (typeof opts === "string") {
-          opts = { uri: opts };
-        }
-        if (!opts || !opts.uri) {
-          throw new InvalidArgumentError("Proxy opts.uri is mandatory");
-        }
-        const { clientFactory = defaultFactory } = opts;
-        if (typeof clientFactory !== "function") {
-          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
-        }
-        this[kRequestTls] = opts.requestTls;
-        this[kProxyTls] = opts.proxyTls;
-        this[kProxyHeaders] = opts.headers || {};
-        const resolvedUrl = new URL2(opts.uri);
-        const { origin, port, host, username, password } = resolvedUrl;
-        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 });
-        this[kClient] = clientFactory(resolvedUrl, { connect });
-        this[kAgent] = new Agent({
-          ...opts,
-          connect: async (opts2, callback) => {
-            let requestedHost = opts2.host;
-            if (!opts2.port) {
-              requestedHost += `:${defaultProtocolPort(opts2.protocol)}`;
-            }
-            try {
-              const { socket, statusCode } = await this[kClient].connect({
-                origin,
-                port,
-                path: requestedHost,
-                signal: opts2.signal,
-                headers: {
-                  ...this[kProxyHeaders],
-                  host
-                }
-              });
-              if (statusCode !== 200) {
-                socket.on("error", () => {
-                }).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) {
-              callback(err);
-            }
+      if (responseObject == null) {
+        return;
+      }
+      const response = responseObject[kState];
+      if (response.body != null && isReadable(response.body?.stream)) {
+        response.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
           }
+          throw err;
         });
       }
-      dispatch(opts, handler2) {
-        const { host } = new URL2(opts.origin);
-        const headers = buildHeaders(opts.headers);
-        throwIfProxyAuthIsSent(headers);
-        return this[kAgent].dispatch(
-          {
-            ...opts,
-            headers: {
-              ...headers,
-              host
-            }
-          },
-          handler2
-        );
+    }
+    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;
       }
-      async [kClose]() {
-        await this[kAgent].close();
-        await this[kClient].close();
+      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";
       }
-      async [kDestroy]() {
-        await this[kAgent].destroy();
-        await this[kClient].destroy();
+      if (request2.origin === "client") {
+        request2.origin = request2.client.origin;
       }
-    };
-    function buildHeaders(headers) {
-      if (Array.isArray(headers)) {
-        const headersPair = {};
-        for (let i = 0; i < headers.length; i += 2) {
-          headersPair[headers[i]] = headers[i + 1];
+      if (request2.policyContainer === "client") {
+        if (request2.client != null) {
+          request2.policyContainer = clonePolicyContainer(
+            request2.client.policyContainer
+          );
+        } else {
+          request2.policyContainer = makePolicyContainer();
         }
-        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");
+      if (!request2.headersList.contains("accept", true)) {
+        const value = "*/*";
+        request2.headersList.append("accept", value, true);
       }
-    }
-    module2.exports = ProxyAgent;
-  }
-});
-
-// node_modules/undici/lib/handler/RetryHandler.js
-var require_RetryHandler = __commonJS({
-  "node_modules/undici/lib/handler/RetryHandler.js"(exports2, module2) {
-    var assert = require("assert");
-    var { kRetryHandlerDefaultRetry } = require_symbols6();
-    var { RequestRetryError } = require_errors2();
-    var { isDisturbed, parseHeaders, parseRangeHeader } = require_util9();
-    function calculateRetryAfterHeader(retryAfter) {
-      const current = Date.now();
-      const diff = new Date(retryAfter).getTime() - current;
-      return diff;
-    }
-    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;
-        this.abort = null;
-        this.aborted = false;
-        this.retryOpts = {
-          retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry],
-          retryAfter: retryAfter ?? true,
-          maxTimeout: maxTimeout ?? 30 * 1e3,
-          // 30s,
-          timeout: 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"
-          ]
-        };
-        this.retryCount = 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;
+      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);
+        })();
       }
-      onRequestSent() {
-        if (this.handler.onRequestSent) {
-          this.handler.onRequestSent();
-        }
+      if (recursive) {
+        return response;
       }
-      onUpgrade(statusCode, headers, socket) {
-        if (this.handler.onUpgrade) {
-          this.handler.onUpgrade(statusCode, headers, socket);
+      if (response.status !== 0 && !response.internalResponse) {
+        if (request2.responseTainting === "cors") {
         }
-      }
-      onConnect(abort) {
-        if (this.aborted) {
-          abort(this.reason);
+        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 {
-          this.abort = abort;
+          assert(false);
         }
       }
-      onBodySent(chunk) {
-        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
+      let internalResponse = response.status === 0 ? response : response.internalResponse;
+      if (internalResponse.urlList.length === 0) {
+        internalResponse.urlList.push(...request2.urlList);
       }
-      static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) {
-        const { statusCode, code, headers } = err;
-        const { method, retryOptions } = opts;
-        const {
-          maxRetries,
-          timeout,
-          maxTimeout,
-          timeoutFactor,
-          statusCodes,
-          errorCodes,
-          methods
-        } = retryOptions;
-        let { counter, currentTimeout } = state;
-        currentTimeout = currentTimeout != null && currentTimeout > 0 ? currentTimeout : timeout;
-        if (code && code !== "UND_ERR_REQ_RETRY" && code !== "UND_ERR_SOCKET" && !errorCodes.includes(code)) {
-          cb(err);
+      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;
         }
-        if (Array.isArray(methods) && !methods.includes(method)) {
-          cb(err);
-          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"));
         }
-        if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) {
-          cb(err);
-          return;
+        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 type2 = 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", type2, 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, type2);
+            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", type2, true);
+            response.headersList.set("content-range", contentRange, true);
+          }
+          return Promise.resolve(response);
         }
-        if (counter > maxRetries) {
-          cb(err);
-          return;
+        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]
+          }));
         }
-        let retryAfterHeader = headers != null && headers["retry-after"];
-        if (retryAfterHeader) {
-          retryAfterHeader = Number(retryAfterHeader);
-          retryAfterHeader = isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3;
+        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"));
         }
-        const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(currentTimeout * timeoutFactor ** counter, maxTimeout);
-        state.currentTimeout = retryTimeout;
-        setTimeout(() => cb(null), retryTimeout);
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const headers = parseHeaders(rawHeaders);
-        this.retryCount += 1;
-        if (statusCode >= 300) {
-          this.abort(
-            new RequestRetryError("Request failed", statusCode, {
-              headers,
-              count: this.retryCount
-            })
-          );
-          return false;
+    }
+    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;
         }
-        if (this.resume != null) {
-          this.resume = null;
-          if (statusCode !== 206) {
-            return true;
-          }
-          const contentRange = parseRangeHeader(headers["content-range"]);
-          if (!contentRange) {
-            this.abort(
-              new RequestRetryError("Content-Range mismatch", statusCode, {
-                headers,
-                count: this.retryCount
-              })
-            );
-            return false;
+        fetchParams.controller.reportTimingSteps = () => {
+          if (fetchParams.request.url.protocol !== "https:") {
+            return;
           }
-          if (this.etag != null && this.etag !== headers.etag) {
-            this.abort(
-              new RequestRetryError("ETag mismatch", statusCode, {
-                headers,
-                count: this.retryCount
-              })
-            );
-            return false;
+          timingInfo.endTime = unsafeEndTime;
+          let cacheState = response.cacheState;
+          const bodyInfo = response.bodyInfo;
+          if (!response.timingAllowPassed) {
+            timingInfo = createOpaqueTimingInfo(timingInfo);
+            cacheState = "";
           }
-          const { start, size, end = size } = 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
-              );
+          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);
             }
-            const { start, size, end = size } = range;
-            assert(
-              start != null && Number.isFinite(start) && this.start !== start,
-              "content-range mismatch"
-            );
-            assert(Number.isFinite(start));
-            assert(
-              end != null && Number.isFinite(end) && this.end !== 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) : null;
+          if (fetchParams.request.initiatorType != null) {
+            markResourceTiming(timingInfo, fetchParams.request.url.href, fetchParams.request.initiatorType, globalThis, cacheState, bodyInfo, responseStatus);
           }
-          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;
-          return this.handler.onHeaders(
-            statusCode,
-            rawHeaders,
-            resume,
-            statusMessage
-          );
-        }
-        const err = new RequestRetryError("Request failed", statusCode, {
-          headers,
-          count: this.retryCount
+        };
+        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;
         });
-        this.abort(err);
-        return false;
       }
-      onData(chunk) {
-        this.start += chunk.length;
-        return this.handler.onData(chunk);
+      const internalResponse = response.type === "error" ? response : response.internalResponse ?? response;
+      if (internalResponse.body == null) {
+        processResponseEndOfBody();
+      } else {
+        finished(internalResponse.body.stream, () => {
+          processResponseEndOfBody();
+        });
       }
-      onComplete(rawTrailers) {
-        this.retryCount = 0;
-        return this.handler.onComplete(rawTrailers);
+    }
+    async function httpFetch(fetchParams) {
+      const request2 = fetchParams.request;
+      let response = null;
+      let actualResponse = null;
+      const timingInfo = fetchParams.timingInfo;
+      if (request2.serviceWorkers === "all") {
       }
-      onError(err) {
-        if (this.aborted || isDisturbed(this.opts.body)) {
-          return this.handler.onError(err);
+      if (response === null) {
+        if (request2.redirect === "follow") {
+          request2.serviceWorkers = "none";
         }
-        this.retryOpts.retry(
-          err,
-          {
-            state: { counter: this.retryCount++, currentTimeout: this.retryAfter },
-            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) {
-            this.opts = {
-              ...this.opts,
-              headers: {
-                ...this.opts.headers,
-                range: `bytes=${this.start}-${this.end ?? ""}`
-              }
-            };
-          }
-          try {
-            this.dispatch(this.opts, this);
-          } catch (err3) {
-            this.handler.onError(err3);
-          }
+        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;
         }
       }
-    };
-    module2.exports = RetryHandler;
-  }
-});
-
-// node_modules/undici/lib/global.js
-var require_global4 = __commonJS({
-  "node_modules/undici/lib/global.js"(exports2, module2) {
-    "use strict";
-    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
-    var { InvalidArgumentError } = require_errors2();
-    var Agent = require_agent2();
-    if (getGlobalDispatcher() === void 0) {
-      setGlobalDispatcher(new Agent());
-    }
-    function setGlobalDispatcher(agent) {
-      if (!agent || typeof agent.dispatch !== "function") {
-        throw new InvalidArgumentError("Argument agent must implement Agent");
+      if ((request2.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
+        request2.origin,
+        request2.client,
+        request2.destination,
+        actualResponse
+      ) === "blocked") {
+        return makeNetworkError("blocked");
       }
-      Object.defineProperty(globalThis, globalDispatcher, {
-        value: agent,
-        writable: true,
-        enumerable: false,
-        configurable: false
-      });
+      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 getGlobalDispatcher() {
-      return globalThis[globalDispatcher];
+    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);
     }
-    module2.exports = {
-      setGlobalDispatcher,
-      getGlobalDispatcher
-    };
-  }
-});
-
-// node_modules/undici/lib/handler/DecoratorHandler.js
-var require_DecoratorHandler = __commonJS({
-  "node_modules/undici/lib/handler/DecoratorHandler.js"(exports2, module2) {
-    "use strict";
-    module2.exports = class DecoratorHandler {
-      constructor(handler2) {
-        this.handler = handler2;
+    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;
       }
-      onConnect(...args) {
-        return this.handler.onConnect(...args);
+      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";
       }
-      onError(...args) {
-        return this.handler.onError(...args);
+      if (contentLength != null) {
+        contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
       }
-      onUpgrade(...args) {
-        return this.handler.onUpgrade(...args);
+      if (contentLengthHeaderValue != null) {
+        httpRequest.headersList.append("content-length", contentLengthHeaderValue, true);
       }
-      onHeaders(...args) {
-        return this.handler.onHeaders(...args);
+      if (contentLength != null && httpRequest.keepalive) {
       }
-      onData(...args) {
-        return this.handler.onData(...args);
+      if (httpRequest.referrer instanceof URL) {
+        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href), true);
       }
-      onComplete(...args) {
-        return this.handler.onComplete(...args);
+      appendRequestOriginHeader(httpRequest);
+      appendFetchMetadata(httpRequest);
+      if (!httpRequest.headersList.contains("user-agent", true)) {
+        httpRequest.headersList.append("user-agent", defaultUserAgent);
       }
-      onBodySent(...args) {
-        return this.handler.onBodySent(...args);
+      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";
       }
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/headers.js
-var require_headers2 = __commonJS({
-  "node_modules/undici/lib/fetch/headers.js"(exports2, module2) {
-    "use strict";
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var { kGuard } = require_symbols7();
-    var { kEnumerableProperty } = require_util9();
-    var {
-      makeIterator,
-      isValidHeaderName,
-      isValidHeaderValue
-    } = require_util10();
-    var util = require("util");
-    var { webidl } = require_webidl2();
-    var assert = require("assert");
-    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
-    var kHeadersSortedMap = /* @__PURE__ */ 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]);
+      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);
         }
-      } 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]]);
+        if (!httpRequest.headersList.contains("cache-control", true)) {
+          httpRequest.headersList.append("cache-control", "no-cache", true);
         }
-      } 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 (headers[kGuard] === "immutable") {
-        throw new TypeError("immutable");
-      } else if (headers[kGuard] === "request-no-cors") {
+      if (httpRequest.headersList.contains("range", true)) {
+        httpRequest.headersList.append("accept-encoding", "identity", true);
       }
-      return headers[kHeadersList].append(name, value);
-    }
-    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];
+      if (!httpRequest.headersList.contains("accept-encoding", true)) {
+        if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
+          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate", true);
         } else {
-          this[kHeadersMap] = new Map(init);
-          this[kHeadersSortedMap] = null;
+          httpRequest.headersList.append("accept-encoding", "gzip, deflate", true);
         }
       }
-      // https://fetch.spec.whatwg.org/#header-list-contains
-      contains(name) {
-        name = name.toLowerCase();
-        return this[kHeadersMap].has(name);
+      httpRequest.headersList.delete("host", true);
+      if (includeCredentials) {
       }
-      clear() {
-        this[kHeadersMap].clear();
-        this[kHeadersSortedMap] = null;
-        this.cookies = null;
+      if (httpCache == null) {
+        httpRequest.cache = "no-store";
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-append
-      append(name, value) {
-        this[kHeadersSortedMap] = null;
-        const lowercaseName = name.toLowerCase();
-        const exists = this[kHeadersMap].get(lowercaseName);
-        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 (httpRequest.cache !== "no-store" && httpRequest.cache !== "reload") {
+      }
+      if (response == null) {
+        if (httpRequest.cache === "only-if-cached") {
+          return makeNetworkError("only if cached");
         }
-        if (lowercaseName === "set-cookie") {
-          this.cookies ??= [];
-          this.cookies.push(value);
+        const forwardResponse = await httpNetworkFetch(
+          httpFetchParams,
+          includeCredentials,
+          isNewConnectionFetch
+        );
+        if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {
         }
-      }
-      // https://fetch.spec.whatwg.org/#concept-header-list-set
-      set(name, value) {
-        this[kHeadersSortedMap] = null;
-        const lowercaseName = name.toLowerCase();
-        if (lowercaseName === "set-cookie") {
-          this.cookies = [value];
+        if (revalidatingFlag && forwardResponse.status === 304) {
         }
-        this[kHeadersMap].set(lowercaseName, { name, value });
-      }
-      // https://fetch.spec.whatwg.org/#concept-header-list-delete
-      delete(name) {
-        this[kHeadersSortedMap] = null;
-        name = name.toLowerCase();
-        if (name === "set-cookie") {
-          this.cookies = null;
+        if (response == null) {
+          response = forwardResponse;
         }
-        this[kHeadersMap].delete(name);
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-get
-      get(name) {
-        const value = this[kHeadersMap].get(name.toLowerCase());
-        return value === void 0 ? null : value.value;
+      response.urlList = [...httpRequest.urlList];
+      if (httpRequest.headersList.contains("range", true)) {
+        response.rangeRequested = true;
       }
-      *[Symbol.iterator]() {
-        for (const [name, { value }] of this[kHeadersMap]) {
-          yield [name, value];
+      response.requestIncludesCredentials = includeCredentials;
+      if (response.status === 407) {
+        if (request2.window === "no-window") {
+          return makeNetworkError();
         }
-      }
-      get entries() {
-        const headers = {};
-        if (this[kHeadersMap].size) {
-          for (const { name, value } of this[kHeadersMap].values()) {
-            headers[name] = value;
-          }
+        if (isCancelled(fetchParams)) {
+          return makeAppropriateNetworkError(fetchParams);
         }
-        return headers;
+        return makeNetworkError("proxy authentication required");
       }
-    };
-    var Headers = class _Headers {
-      constructor(init = void 0) {
-        if (init === kConstruct) {
-          return;
-        }
-        this[kHeadersList] = new HeadersList();
-        this[kGuard] = "none";
-        if (init !== void 0) {
-          init = webidl.converters.HeadersInit(init);
-          fill(this, init);
+      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
+        );
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-append
-      append(name, value) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.append" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
-        return appendHeader(this, name, value);
+      if (isAuthenticationFetch) {
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-delete
-      delete(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.delete" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.delete",
-            value: name,
-            type: "header name"
-          });
-        }
-        if (this[kGuard] === "immutable") {
-          throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
-        }
-        if (!this[kHeadersList].contains(name)) {
-          return;
+      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"));
+            }
+          }
         }
-        this[kHeadersList].delete(name);
+      };
+      const request2 = fetchParams.request;
+      let response = null;
+      const timingInfo = fetchParams.timingInfo;
+      const httpCache = null;
+      if (httpCache == null) {
+        request2.cache = "no-store";
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-get
-      get(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.get" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.get",
-            value: name,
-            type: "header name"
-          });
-        }
-        return this[kHeadersList].get(name);
+      const newConnection = forceNewConnection ? "yes" : "no";
+      if (request2.mode === "websocket") {
+      } else {
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-has
-      has(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.has" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.has",
-            value: name,
-            type: "header name"
-          });
-        }
-        return this[kHeadersList].contains(name);
+      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);
+          }
+        })();
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-set
-      set(name, value) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.set" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
-        value = headerValueNormalize(value);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
-            value: name,
-            type: "header name"
-          });
-        } else if (!isValidHeaderValue(value)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
-            value,
-            type: "header value"
-          });
+      try {
+        const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
+        if (socket) {
+          response = makeResponse({ status, statusText, headersList, socket });
+        } else {
+          const iterator2 = body[Symbol.asyncIterator]();
+          fetchParams.controller.next = () => iterator2.next();
+          response = makeResponse({ status, statusText, headersList });
         }
-        if (this[kGuard] === "immutable") {
-          throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
+      } catch (err) {
+        if (err.name === "AbortError") {
+          fetchParams.controller.connection.destroy();
+          return makeAppropriateNetworkError(fetchParams, err);
         }
-        this[kHeadersList].set(name, value);
+        return makeNetworkError(err);
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
-      getSetCookie() {
-        webidl.brandCheck(this, _Headers);
-        const list = this[kHeadersList].cookies;
-        if (list) {
-          return [...list];
+      const pullAlgorithm = async () => {
+        await fetchParams.controller.resume();
+      };
+      const cancelAlgorithm = (reason) => {
+        if (!isCancelled(fetchParams)) {
+          fetchParams.controller.abort(reason);
         }
-        return [];
-      }
-      // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
-      get [kHeadersSortedMap]() {
-        if (this[kHeadersList][kHeadersSortedMap]) {
-          return this[kHeadersList][kHeadersSortedMap];
+      };
+      const stream2 = new ReadableStream(
+        {
+          async start(controller) {
+            fetchParams.controller.controller = controller;
+          },
+          async pull(controller) {
+            await pullAlgorithm(controller);
+          },
+          async cancel(reason) {
+            await cancelAlgorithm(reason);
+          },
+          type: "bytes"
         }
-        const headers = [];
-        const names = [...this[kHeadersList]].sort((a, b) => a[0] < b[0] ? -1 : 1);
-        const cookies = this[kHeadersList].cookies;
-        for (let i = 0; i < names.length; ++i) {
-          const [name, value] = names[i];
-          if (name === "set-cookie") {
-            for (let j = 0; j < cookies.length; ++j) {
-              headers.push([name, cookies[j]]);
+      );
+      response.body = { stream: stream2, 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(stream2)) {
+            fetchParams.controller.terminate();
+            return;
+          }
+          if (fetchParams.controller.controller.desiredSize <= 0) {
+            return;
+          }
+        }
+      };
+      function onAborted(reason) {
+        if (isAborted(fetchParams)) {
+          response.aborted = true;
+          if (isReadable(stream2)) {
+            fetchParams.controller.controller.error(
+              fetchParams.controller.serializedAbortReason
+            );
+          }
+        } else {
+          if (isReadable(stream2)) {
+            fetchParams.controller.controller.error(new TypeError("terminated", {
+              cause: isErrorLike(reason) ? reason : void 0
+            }));
+          }
+        }
+        fetchParams.controller.connection.destroy();
+      }
+      return response;
+      function dispatch({ body }) {
+        const url = requestCurrentURL(request2);
+        const agent = fetchParams.controller.dispatcher;
+        return new Promise((resolve4, reject) => agent.dispatch(
+          {
+            path: url.pathname + url.search,
+            origin: url.origin,
+            method: request2.method,
+            body: agent.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
+            headers: request2.headersList.entries,
+            maxRedirections: 0,
+            upgrade: request2.mode === "websocket" ? "websocket" : void 0
+          },
+          {
+            body: null,
+            abort: null,
+            onConnect(abort) {
+              const { connection } = fetchParams.controller;
+              timingInfo.finalConnectionTimingInfo = clampAndCoarsenConnectionTimingInfo(void 0, timingInfo.postRedirectStartTime, fetchParams.crossOriginIsolatedCapability);
+              if (connection.destroyed) {
+                abort(new DOMException("The operation was aborted.", "AbortError"));
+              } else {
+                fetchParams.controller.on("terminated", abort);
+                this.abort = connection.abort = abort;
+              }
+              timingInfo.finalNetworkRequestStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+            },
+            onResponseStarted() {
+              timingInfo.finalNetworkResponseStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+            },
+            onHeaders(status, rawHeaders, resume, statusText) {
+              if (status < 200) {
+                return;
+              }
+              let location = "";
+              const headersList = new HeadersList();
+              for (let i = 0; i < rawHeaders.length; i += 2) {
+                headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true);
+              }
+              location = headersList.get("location", true);
+              this.body = new Readable2({ 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);
+              resolve4({
+                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(error3) {
+              if (this.abort) {
+                fetchParams.controller.off("terminated", this.abort);
+              }
+              this.body?.destroy(error3);
+              fetchParams.controller.terminate(error3);
+              reject(error3);
+            },
+            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);
+              }
+              resolve4({
+                status,
+                statusText: STATUS_CODES[status],
+                headersList,
+                socket
+              });
+              return true;
             }
-          } else {
-            assert(value !== null);
-            headers.push([name, value]);
           }
-        }
-        this[kHeadersList][kHeadersSortedMap] = headers;
-        return headers;
-      }
-      keys() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key"
-        );
-      }
-      values() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "value"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "value"
-        );
-      }
-      entries() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key+value"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key+value"
-        );
-      }
-      /**
-       * @param {(value: string, key: string, self: Headers) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'."
-          );
-        }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
-        }
-      }
-      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")]() {
-        webidl.brandCheck(this, _Headers);
-        return this[kHeadersList];
-      }
-    };
-    Headers.prototype[Symbol.iterator] = Headers.prototype.entries;
-    Object.defineProperties(Headers.prototype, {
-      append: kEnumerableProperty,
-      delete: kEnumerableProperty,
-      get: kEnumerableProperty,
-      has: kEnumerableProperty,
-      set: kEnumerableProperty,
-      getSetCookie: kEnumerableProperty,
-      keys: kEnumerableProperty,
-      values: kEnumerableProperty,
-      entries: kEnumerableProperty,
-      forEach: kEnumerableProperty,
-      [Symbol.iterator]: { enumerable: false },
-      [Symbol.toStringTag]: {
-        value: "Headers",
-        configurable: true
-      },
-      [util.inspect.custom]: {
-        enumerable: false
-      }
-    });
-    webidl.converters.HeadersInit = function(V) {
-      if (webidl.util.Type(V) === "Object") {
-        if (V[Symbol.iterator]) {
-          return webidl.converters["sequence>"](V);
-        }
-        return webidl.converters["record"](V);
+        ));
       }
-      throw webidl.errors.conversionFailed({
-        prefix: "Headers constructor",
-        argument: "Argument 1",
-        types: ["sequence>", "record"]
-      });
+    }
+    module2.exports = {
+      fetch,
+      Fetch,
+      fetching,
+      finalizeAndReportTiming
     };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js
+var require_symbols8 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js"(exports2, module2) {
+    "use strict";
     module2.exports = {
-      fill,
-      Headers,
-      HeadersList
+      kState: /* @__PURE__ */ Symbol("FileReader state"),
+      kResult: /* @__PURE__ */ Symbol("FileReader result"),
+      kError: /* @__PURE__ */ Symbol("FileReader error"),
+      kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"),
+      kEvents: /* @__PURE__ */ Symbol("FileReader events"),
+      kAborted: /* @__PURE__ */ Symbol("FileReader aborted")
     };
   }
 });
 
-// node_modules/undici/lib/fetch/response.js
-var require_response2 = __commonJS({
-  "node_modules/undici/lib/fetch/response.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js
+var require_progressevent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js"(exports2, module2) {
     "use strict";
-    var { Headers, HeadersList, fill } = require_headers2();
-    var { extractBody, cloneBody, mixinBody } = require_body2();
-    var util = require_util9();
-    var { kEnumerableProperty } = util;
-    var {
-      isValidReasonPhrase,
-      isCancelled,
-      isAborted,
-      isBlobLike,
-      serializeJavascriptValueToJSONString,
-      isErrorLike,
-      isomorphicEncode
-    } = require_util10();
-    var {
-      redirectStatusSet,
-      nullBodyStatus,
-      DOMException: DOMException2
-    } = require_constants7();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
     var { webidl } = require_webidl2();
-    var { FormData: FormData2 } = require_formdata2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { types } = require("util");
-    var ReadableStream2 = globalThis.ReadableStream || require("stream/web").ReadableStream;
-    var textEncoder = new TextEncoder("utf-8");
-    var Response = class _Response {
-      // Creates network error Response.
-      static error() {
-        const relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kState] = makeNetworkError();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = responseObject[kState].headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        return responseObject;
-      }
-      // https://fetch.spec.whatwg.org/#dom-response-json
-      static json(data, init = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.json" });
-        if (init !== null) {
-          init = webidl.converters.ResponseInit(init);
-        }
-        const bytes = textEncoder.encode(
-          serializeJavascriptValueToJSONString(data)
-        );
-        const body = extractBody(bytes);
-        const relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "response";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
-        return responseObject;
-      }
-      // Creates a redirect Response that redirects to url with status status.
-      static redirect(url, status = 302) {
-        const relevantRealm = { settingsObject: {} };
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.redirect" });
-        url = webidl.converters.USVString(url);
-        status = webidl.converters["unsigned short"](status);
-        let parsedURL;
-        try {
-          parsedURL = new URL(url, getGlobalOrigin());
-        } catch (err) {
-          throw Object.assign(new TypeError("Failed to parse URL from " + url), {
-            cause: err
-          });
-        }
-        if (!redirectStatusSet.has(status)) {
-          throw new RangeError("Invalid status code " + status);
-        }
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        responseObject[kState].status = status;
-        const value = isomorphicEncode(URLSerializer(parsedURL));
-        responseObject[kState].headersList.append("location", value);
-        return responseObject;
-      }
-      // https://fetch.spec.whatwg.org/#dom-response
-      constructor(body = null, init = {}) {
-        if (body !== null) {
-          body = webidl.converters.BodyInit(body);
-        }
-        init = webidl.converters.ResponseInit(init);
-        this[kRealm] = { settingsObject: {} };
-        this[kState] = makeResponse({});
-        this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kGuard] = "response";
-        this[kHeaders][kHeadersList] = this[kState].headersList;
-        this[kHeaders][kRealm] = this[kRealm];
-        let bodyWithType = null;
-        if (body != null) {
-          const [extractedBody, type2] = extractBody(body);
-          bodyWithType = { body: extractedBody, type: type2 };
-        }
-        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];
+    var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
+    var ProgressEvent = class _ProgressEvent extends Event {
+      constructor(type2, eventInitDict = {}) {
+        type2 = webidl.converters.DOMString(type2, "ProgressEvent constructor", "type");
+        eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
+        super(type2, eventInitDict);
+        this[kState] = {
+          lengthComputable: eventInitDict.lengthComputable,
+          loaded: eventInitDict.loaded,
+          total: eventInitDict.total
+        };
       }
-      get body() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].body ? this[kState].body.stream : null;
+      get lengthComputable() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].lengthComputable;
       }
-      get bodyUsed() {
-        webidl.brandCheck(this, _Response);
-        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
+      get loaded() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].loaded;
       }
-      // Returns a clone of response.
-      clone() {
-        webidl.brandCheck(this, _Response);
-        if (this.bodyUsed || this.body && this.body.locked) {
-          throw webidl.errors.exception({
-            header: "Response.clone",
-            message: "Body has already been consumed."
-          });
-        }
-        const clonedResponse = cloneResponse(this[kState]);
-        const clonedResponseObject = new _Response();
-        clonedResponseObject[kState] = clonedResponse;
-        clonedResponseObject[kRealm] = this[kRealm];
-        clonedResponseObject[kHeaders][kHeadersList] = clonedResponse.headersList;
-        clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm];
-        return clonedResponseObject;
+      get total() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].total;
       }
     };
-    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(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 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, type2) {
-      if (type2 === "basic") {
-        return makeFilteredResponse(response, {
-          type: "basic",
-          headersList: response.headersList
-        });
-      } else if (type2 === "cors") {
-        return makeFilteredResponse(response, {
-          type: "cors",
-          headersList: response.headersList
-        });
-      } else if (type2 === "opaque") {
-        return makeFilteredResponse(response, {
-          type: "opaque",
-          urlList: Object.freeze([]),
-          status: 0,
-          statusText: "",
-          body: null
-        });
-      } else if (type2 === "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 DOMException2("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException2("Request was cancelled."), { cause: err }));
-    }
-    function initializeResponse(response, init, body) {
-      if (init.status !== null && (init.status < 200 || init.status > 599)) {
-        throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
-      }
-      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;
+    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
       }
-      if ("headers" in init && init.headers != null) {
-        fill(response[kHeaders], init.headers);
+    ]);
+    module2.exports = {
+      ProgressEvent
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js
+var require_encoding2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js"(exports2, module2) {
+    "use strict";
+    function getEncoding(label) {
+      if (!label) {
+        return "failure";
       }
-      if (body) {
-        if (nullBodyStatus.includes(response.status)) {
-          throw webidl.errors.exception({
-            header: "Response constructor",
-            message: "Invalid response status code " + response.status
-          });
-        }
-        response[kState].body = body.body;
-        if (body.type != null && !response[kState].headersList.contains("Content-Type")) {
-          response[kState].headersList.append("content-type", body.type);
-        }
+      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";
       }
     }
-    webidl.converters.ReadableStream = webidl.interfaceConverter(
-      ReadableStream2
-    );
-    webidl.converters.FormData = webidl.interfaceConverter(
-      FormData2
-    );
-    webidl.converters.URLSearchParams = webidl.interfaceConverter(
-      URLSearchParams
-    );
-    webidl.converters.XMLHttpRequestBodyInit = function(V) {
-      if (typeof V === "string") {
-        return webidl.converters.USVString(V);
-      }
-      if (isBlobLike(V)) {
-        return webidl.converters.Blob(V, { strict: false });
-      }
-      if (types.isArrayBuffer(V) || types.isTypedArray(V) || types.isDataView(V)) {
-        return webidl.converters.BufferSource(V);
-      }
-      if (util.isFormDataLike(V)) {
-        return webidl.converters.FormData(V, { strict: false });
-      }
-      if (V instanceof URLSearchParams) {
-        return webidl.converters.URLSearchParams(V);
-      }
-      return webidl.converters.DOMString(V);
-    };
-    webidl.converters.BodyInit = function(V) {
-      if (V instanceof ReadableStream2) {
-        return webidl.converters.ReadableStream(V);
-      }
-      if (V?.[Symbol.asyncIterator]) {
-        return V;
-      }
-      return webidl.converters.XMLHttpRequestBodyInit(V);
-    };
-    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 = {
-      makeNetworkError,
-      makeResponse,
-      makeAppropriateNetworkError,
-      filterResponse,
-      Response,
-      cloneResponse
+      getEncoding
     };
   }
 });
 
-// node_modules/undici/lib/fetch/request.js
-var require_request4 = __commonJS({
-  "node_modules/undici/lib/fetch/request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js
+var require_util12 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js"(exports2, module2) {
     "use strict";
-    var { extractBody, mixinBody, cloneBody } = require_body2();
-    var { Headers, fill: fillHeaders, HeadersList } = require_headers2();
-    var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
-    var util = require_util9();
-    var {
-      isValidHTTPToken,
-      sameOrigin,
-      normalizeMethod,
-      makePolicyContainer,
-      normalizeMethodRecord
-    } = require_util10();
     var {
-      forbiddenMethodsSet,
-      corsSafeListedMethodsSet,
-      referrerPolicy,
-      requestRedirect,
-      requestMode,
-      requestCredentials,
-      requestCache,
-      requestDuplex
-    } = require_constants7();
-    var { kEnumerableProperty } = util;
-    var { kHeaders, kSignal, kState, kGuard, kRealm } = require_symbols7();
-    var { webidl } = require_webidl2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events");
-    var TransformStream2 = globalThis.TransformStream;
-    var kAbortController = /* @__PURE__ */ Symbol("abortController");
-    var requestFinalizer = new FinalizationRegistry2(({ signal, abort }) => {
-      signal.removeEventListener("abort", abort);
-    });
-    var Request = class _Request {
-      // https://fetch.spec.whatwg.org/#dom-request
-      constructor(input, init = {}) {
-        if (input === kConstruct) {
-          return;
-        }
-        webidl.argumentLengthCheck(arguments, 1, { header: "Request constructor" });
-        input = webidl.converters.RequestInfo(input);
-        init = webidl.converters.RequestInit(init);
-        this[kRealm] = {
-          settingsObject: {
-            baseUrl: getGlobalOrigin(),
-            get origin() {
-              return this.baseUrl?.origin;
-            },
-            policyContainer: makePolicyContainer()
-          }
-        };
-        let request2 = null;
-        let fallbackMode = null;
-        const baseUrl = this[kRealm].settingsObject.baseUrl;
-        let signal = null;
-        if (typeof input === "string") {
-          let parsedURL;
+      kState,
+      kError,
+      kResult,
+      kAborted,
+      kLastProgressEventFired
+    } = require_symbols8();
+    var { ProgressEvent } = require_progressevent2();
+    var { getEncoding } = require_encoding2();
+    var { serializeAMimeType, parseMIMEType } = require_data_url2();
+    var { types } = require("node:util");
+    var { StringDecoder } = require("string_decoder");
+    var { btoa: btoa2 } = require("node:buffer");
+    var staticPropertyDescriptors = {
+      enumerable: true,
+      writable: false,
+      configurable: false
+    };
+    function readOperation(fr, blob, type2, encodingName) {
+      if (fr[kState] === "loading") {
+        throw new DOMException("Invalid state", "InvalidStateError");
+      }
+      fr[kState] = "loading";
+      fr[kResult] = null;
+      fr[kError] = null;
+      const stream2 = blob.stream();
+      const reader = stream2.getReader();
+      const bytes = [];
+      let chunkPromise = reader.read();
+      let isFirstChunk = true;
+      (async () => {
+        while (!fr[kAborted]) {
           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 {
-          assert(input instanceof _Request);
-          request2 = input[kState];
-          signal = input[kSignal];
-        }
-        const origin = this[kRealm].settingsObject.origin;
-        let window2 = "client";
-        if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
-          window2 = request2.window;
-        }
-        if (init.window != null) {
-          throw new TypeError(`'window' option '${window2}' must be null`);
-        }
-        if ("window" in init) {
-          window2 = "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: this[kRealm].settingsObject,
-          // window window.
-          window: window2,
-          // 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, this[kRealm].settingsObject.baseUrl)) {
-              request2.referrer = "client";
-            } else {
-              request2.referrer = parsedReferrer;
+            const { done, value } = await chunkPromise;
+            if (isFirstChunk && !fr[kAborted]) {
+              queueMicrotask(() => {
+                fireAProgressEvent("loadstart", fr);
+              });
             }
-          }
-        }
-        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;
-          if (!isValidHTTPToken(method)) {
-            throw new TypeError(`'${method}' is not a valid HTTP method.`);
-          }
-          if (forbiddenMethodsSet.has(method.toUpperCase())) {
-            throw new TypeError(`'${method}' HTTP method is unsupported.`);
-          }
-          method = normalizeMethodRecord[method] ?? normalizeMethod(method);
-          request2.method = method;
-        }
-        if (init.signal !== void 0) {
-          signal = init.signal;
-        }
-        this[kState] = request2;
-        const ac = new AbortController();
-        this[kSignal] = ac.signal;
-        this[kSignal][kRealm] = this[kRealm];
-        if (signal != null) {
-          if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") {
-            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 = function() {
-              const ac2 = acRef.deref();
-              if (ac2 !== void 0) {
-                ac2.abort(this.reason);
+            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);
+                });
               }
-            };
-            try {
-              if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) {
-                setMaxListeners(100, signal);
-              } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) {
-                setMaxListeners(100, signal);
+              chunkPromise = reader.read();
+            } else if (done) {
+              queueMicrotask(() => {
+                fr[kState] = "done";
+                try {
+                  const result = packageData(bytes, type2, blob.type, encodingName);
+                  if (fr[kAborted]) {
+                    return;
+                  }
+                  fr[kResult] = result;
+                  fireAProgressEvent("load", fr);
+                } catch (error3) {
+                  fr[kError] = error3;
+                  fireAProgressEvent("error", fr);
+                }
+                if (fr[kState] !== "loading") {
+                  fireAProgressEvent("loadend", fr);
+                }
+              });
+              break;
+            }
+          } catch (error3) {
+            if (fr[kAborted]) {
+              return;
+            }
+            queueMicrotask(() => {
+              fr[kState] = "done";
+              fr[kError] = error3;
+              fireAProgressEvent("error", fr);
+              if (fr[kState] !== "loading") {
+                fireAProgressEvent("loadend", fr);
               }
-            } catch {
-            }
-            util.addAbortListener(signal, abort);
-            requestFinalizer.register(ac, { signal, abort });
-          }
-        }
-        this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kHeadersList] = request2.headersList;
-        this[kHeaders][kGuard] = "request";
-        this[kHeaders][kRealm] = this[kRealm];
-        if (mode === "no-cors") {
-          if (!corsSafeListedMethodsSet.has(request2.method)) {
-            throw new TypeError(
-              `'${request2.method} is unsupported in no-cors mode.`
-            );
+            });
+            break;
           }
-          this[kHeaders][kGuard] = "request-no-cors";
         }
-        if (initHasKey) {
-          const headersList = this[kHeaders][kHeadersList];
-          const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList);
-          headersList.clear();
-          if (headers instanceof HeadersList) {
-            for (const [key, val] of headers) {
-              headersList.append(key, val);
-            }
-            headersList.cookies = headers.cookies;
-          } else {
-            fillHeaders(this[kHeaders], headers);
+      })();
+    }
+    function fireAProgressEvent(e, reader) {
+      const event = new ProgressEvent(e, {
+        bubbles: false,
+        cancelable: false
+      });
+      reader.dispatchEvent(event);
+    }
+    function packageData(bytes, type2, mimeType, encodingName) {
+      switch (type2) {
+        case "DataURL": {
+          let dataURL = "data:";
+          const parsed = parseMIMEType(mimeType || "application/octet-stream");
+          if (parsed !== "failure") {
+            dataURL += serializeAMimeType(parsed);
           }
-        }
-        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 && !this[kHeaders][kHeadersList].contains("content-type")) {
-            this[kHeaders].append("content-type", contentType);
+          dataURL += ";base64,";
+          const decoder = new StringDecoder("latin1");
+          for (const chunk of bytes) {
+            dataURL += btoa2(decoder.write(chunk));
           }
+          dataURL += btoa2(decoder.end());
+          return dataURL;
         }
-        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"'
-            );
+        case "Text": {
+          let encoding = "failure";
+          if (encodingName) {
+            encoding = getEncoding(encodingName);
           }
-          request2.useCORSPreflightFlag = true;
-        }
-        let finalBody = inputOrInitBody;
-        if (initBody == null && inputBody != null) {
-          if (util.isDisturbed(inputBody.stream) || inputBody.stream.locked) {
-            throw new TypeError(
-              "Cannot construct a Request with a Request object that has already been used."
-            );
+          if (encoding === "failure" && mimeType) {
+            const type3 = parseMIMEType(mimeType);
+            if (type3 !== "failure") {
+              encoding = getEncoding(type3.parameters.get("charset"));
+            }
           }
-          if (!TransformStream2) {
-            TransformStream2 = require("stream/web").TransformStream;
+          if (encoding === "failure") {
+            encoding = "UTF-8";
           }
-          const identityTransform = new TransformStream2();
-          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 decode(bytes, encoding);
         }
-        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-foward 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 (this.bodyUsed || this.body?.locked) {
-          throw new TypeError("unusable");
+        case "ArrayBuffer": {
+          const sequence = combineByteSequences(bytes);
+          return sequence.buffer;
         }
-        const clonedRequest = cloneRequest(this[kState]);
-        const clonedRequestObject = new _Request(kConstruct);
-        clonedRequestObject[kState] = clonedRequest;
-        clonedRequestObject[kRealm] = this[kRealm];
-        clonedRequestObject[kHeaders] = new Headers(kConstruct);
-        clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList;
-        clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm];
-        const ac = new AbortController();
-        if (this.signal.aborted) {
-          ac.abort(this.signal.reason);
-        } else {
-          util.addAbortListener(
-            this.signal,
-            () => {
-              ac.abort(this.signal.reason);
-            }
-          );
+        case "BinaryString": {
+          let binaryString = "";
+          const decoder = new StringDecoder("latin1");
+          for (const chunk of bytes) {
+            binaryString += decoder.write(chunk);
+          }
+          binaryString += decoder.end();
+          return binaryString;
         }
-        clonedRequestObject[kSignal] = ac.signal;
-        return clonedRequestObject;
       }
-    };
-    mixinBody(Request);
-    function makeRequest(init) {
-      const request2 = {
-        method: "GET",
-        localURLsOnly: false,
-        unsafeRequest: false,
-        body: null,
-        client: null,
-        reservedClient: null,
-        replacesClientId: "",
-        window: "client",
-        keepalive: false,
-        serviceWorkers: "all",
-        initiator: "",
-        destination: "",
-        priority: null,
-        origin: "client",
-        policyContainer: "client",
-        referrer: "client",
-        referrerPolicy: "",
-        mode: "no-cors",
-        useCORSPreflightFlag: false,
-        credentials: "same-origin",
-        useCredentials: false,
-        cache: "default",
-        redirect: "follow",
-        integrity: "",
-        cryptoGraphicsNonceMetadata: "",
-        parserMetadata: "",
-        reloadNavigation: false,
-        historyNavigation: false,
-        userActivation: false,
-        taintedOrigin: false,
-        redirectCount: 0,
-        responseTainting: "basic",
-        preventNoCacheCacheControlHeaderModification: false,
-        done: false,
-        timingAllowFailed: false,
-        ...init,
-        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList()
-      };
-      request2.url = request2.urlList[0];
-      return request2;
     }
-    function cloneRequest(request2) {
-      const newRequest = makeRequest({ ...request2, body: null });
-      if (request2.body != null) {
-        newRequest.body = cloneBody(request2.body);
+    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;
       }
-      return newRequest;
+      const sliced = bytes.slice(slice);
+      return new TextDecoder(encoding).decode(sliced);
     }
-    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) {
-      if (typeof V === "string") {
-        return webidl.converters.USVString(V);
-      }
-      if (V instanceof Request) {
-        return webidl.converters.Request(V);
+    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 webidl.converters.USVString(V);
+      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
     };
-    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,
-            { strict: false }
-          )
-        )
-      },
-      {
-        key: "window",
-        converter: webidl.converters.any
-      },
-      {
-        key: "duplex",
-        converter: webidl.converters.DOMString,
-        allowedValues: requestDuplex
-      }
-    ]);
-    module2.exports = { Request, makeRequest };
   }
 });
 
-// node_modules/undici/lib/fetch/index.js
-var require_fetch2 = __commonJS({
-  "node_modules/undici/lib/fetch/index.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js
+var require_filereader2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js"(exports2, module2) {
     "use strict";
     var {
-      Response,
-      makeNetworkError,
-      makeAppropriateNetworkError,
-      filterResponse,
-      makeResponse
-    } = require_response2();
-    var { Headers } = require_headers2();
-    var { Request, makeRequest } = require_request4();
-    var zlib = require("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
-    } = require_util10();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
-    var assert = require("assert");
-    var { safelyExtractBody } = require_body2();
+      staticPropertyDescriptors,
+      readOperation,
+      fireAProgressEvent
+    } = require_util12();
     var {
-      redirectStatusSet,
-      nullBodyStatus,
-      safeMethodsSet,
-      requestBodyHeader,
-      subresourceSet,
-      DOMException: DOMException2
-    } = require_constants7();
-    var { kHeadersList } = require_symbols6();
-    var EE = require("events");
-    var { Readable: Readable2, pipeline } = require("stream");
-    var { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require_util9();
-    var { dataURLProcessor, serializeAMimeType } = require_dataURL();
-    var { TransformStream: TransformStream2 } = require("stream/web");
-    var { getGlobalDispatcher } = require_global4();
+      kState,
+      kError,
+      kResult,
+      kEvents,
+      kAborted
+    } = require_symbols8();
     var { webidl } = require_webidl2();
-    var { STATUS_CODES } = require("http");
-    var GET_OR_HEAD = ["GET", "HEAD"];
-    var resolveObjectURL;
-    var ReadableStream2 = globalThis.ReadableStream;
-    var Fetch = class extends EE {
-      constructor(dispatcher) {
+    var { kEnumerableProperty } = require_util9();
+    var FileReader = class _FileReader extends EventTarget {
+      constructor() {
         super();
-        this.dispatcher = dispatcher;
-        this.connection = null;
-        this.dump = false;
-        this.state = "ongoing";
-        this.setMaxListeners(21);
+        this[kState] = "empty";
+        this[kResult] = null;
+        this[kError] = null;
+        this[kEvents] = {
+          loadend: null,
+          error: null,
+          abort: null,
+          load: null,
+          progress: null,
+          loadstart: null
+        };
       }
-      terminate(reason) {
-        if (this.state !== "ongoing") {
+      /**
+       * @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;
         }
-        this.state = "terminated";
-        this.connection?.destroy(reason);
-        this.emit("terminated", reason);
+        if (this[kState] === "loading") {
+          this[kState] = "done";
+          this[kResult] = null;
+        }
+        this[kAborted] = true;
+        fireAProgressEvent("abort", this);
+        if (this[kState] !== "loading") {
+          fireAProgressEvent("loadend", this);
+        }
       }
-      // https://fetch.spec.whatwg.org/#fetch-controller-abort
-      abort(error3) {
-        if (this.state !== "ongoing") {
-          return;
+      /**
+       * @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;
         }
-        this.state = "aborted";
-        if (!error3) {
-          error3 = new DOMException2("The operation was aborted.", "AbortError");
+      }
+      /**
+       * @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;
         }
-        this.serializedAbortReason = error3;
-        this.connection?.destroy(error3);
-        this.emit("terminated", error3);
       }
-    };
-    function fetch(input, init = {}) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "globalThis.fetch" });
-      const p = createDeferredPromise();
-      let requestObject;
-      try {
-        requestObject = new Request(input, init);
-      } catch (e) {
-        p.reject(e);
-        return p.promise;
+      get onerror() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].error;
       }
-      const request2 = requestObject[kState];
-      if (requestObject.signal.aborted) {
-        abortFetch(p, request2, null, requestObject.signal.reason);
-        return p.promise;
+      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;
+        }
       }
-      const globalObject = request2.client.globalObject;
-      if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") {
-        request2.serviceWorkers = "none";
+      get onloadstart() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].loadstart;
       }
-      let responseObject = null;
-      const relevantRealm = null;
-      let locallyAborted = false;
-      let controller = null;
-      addAbortListener(
-        requestObject.signal,
-        () => {
-          locallyAborted = true;
-          assert(controller != null);
-          controller.abort(requestObject.signal.reason);
-          abortFetch(p, request2, responseObject, requestObject.signal.reason);
+      set onloadstart(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].loadstart) {
+          this.removeEventListener("loadstart", this[kEvents].loadstart);
         }
-      );
-      const handleFetchDone = (response) => finalizeAndReportTiming(response, "fetch");
-      const processResponse = (response) => {
-        if (locallyAborted) {
-          return Promise.resolve();
+        if (typeof fn === "function") {
+          this[kEvents].loadstart = fn;
+          this.addEventListener("loadstart", fn);
+        } else {
+          this[kEvents].loadstart = null;
         }
-        if (response.aborted) {
-          abortFetch(p, request2, responseObject, controller.serializedAbortReason);
-          return Promise.resolve();
+      }
+      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 (response.type === "error") {
-          p.reject(
-            Object.assign(new TypeError("fetch failed"), { cause: response.error })
-          );
-          return Promise.resolve();
+        if (typeof fn === "function") {
+          this[kEvents].progress = fn;
+          this.addEventListener("progress", fn);
+        } else {
+          this[kEvents].progress = null;
         }
-        responseObject = new Response();
-        responseObject[kState] = response;
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = response.headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        p.resolve(responseObject);
-      };
-      controller = fetching({
-        request: request2,
-        processResponseEndOfBody: handleFetchDone,
-        processResponse,
-        dispatcher: init.dispatcher ?? getGlobalDispatcher()
-        // undici
-      });
-      return p.promise;
-    }
-    function finalizeAndReportTiming(response, initiatorType = "other") {
-      if (response.type === "error" && response.aborted) {
-        return;
       }
-      if (!response.urlList?.length) {
-        return;
+      get onload() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].load;
       }
-      const originalURL = response.urlList[0];
-      let timingInfo = response.timingInfo;
-      let cacheState = response.cacheState;
-      if (!urlIsHttpHttpsScheme(originalURL)) {
-        return;
+      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;
+        }
       }
-      if (timingInfo === null) {
-        return;
+      get onabort() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].abort;
       }
-      if (!response.timingAllowPassed) {
-        timingInfo = createOpaqueTimingInfo({
-          startTime: timingInfo.startTime
-        });
-        cacheState = "";
+      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;
+        }
       }
-      timingInfo.endTime = coarsenedSharedCurrentTime();
-      response.timingInfo = timingInfo;
-      markResourceTiming(
-        timingInfo,
-        originalURL,
-        initiatorType,
-        globalThis,
-        cacheState
-      );
+    };
+    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/@actions/github/node_modules/undici/lib/web/cache/symbols.js
+var require_symbols9 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kConstruct: require_symbols6().kConstruct
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js
+var require_util13 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { URLSerializer } = require_data_url2();
+    var { isValidHeaderName } = require_util10();
+    function urlEquals(A, B, excludeFragment = false) {
+      const serializedA = URLSerializer(A, excludeFragment);
+      const serializedB = URLSerializer(B, excludeFragment);
+      return serializedA === serializedB;
     }
-    function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) {
-      if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) {
-        performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis2, cacheState);
+    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;
     }
-    function abortFetch(p, request2, responseObject, error3) {
-      if (!error3) {
-        error3 = new DOMException2("The operation was aborted.", "AbortError");
+    module2.exports = {
+      urlEquals,
+      getFieldValues
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js
+var require_cache2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols9();
+    var { urlEquals, getFieldValues } = require_util13();
+    var { kEnumerableProperty, isDisturbed } = require_util9();
+    var { webidl } = require_webidl2();
+    var { Response, cloneResponse, fromInnerResponse } = require_response2();
+    var { Request, fromInnerRequest } = require_request4();
+    var { kState } = require_symbols7();
+    var { fetching } = require_fetch2();
+    var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util10();
+    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];
       }
-      p.reject(error3);
-      if (request2.body != null && isReadable(request2.body?.stream)) {
-        request2.body.stream.cancel(error3).catch((err) => {
-          if (err.code === "ERR_INVALID_STATE") {
-            return;
+      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);
           }
-          throw err;
         });
+        return cacheJobPromise.promise;
       }
-      if (responseObject == null) {
-        return;
-      }
-      const response = responseObject[kState];
-      if (response.body != null && isReadable(response.body?.stream)) {
-        response.body.stream.cancel(error3).catch((err) => {
-          if (err.code === "ERR_INVALID_STATE") {
-            return;
+      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 stream2 = innerResponse.body.stream;
+          const reader = stream2.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);
           }
-          throw err;
         });
+        return cacheJobPromise.promise;
       }
-    }
-    function fetching({
-      request: request2,
-      processRequestBodyChunkLength,
-      processRequestEndOfBody,
-      processResponse,
-      processResponseEndOfBody,
-      processResponseConsumeBody,
-      useParallelQueue = false,
-      dispatcher
-      // undici
-    }) {
-      let taskDestination = null;
-      let crossOriginIsolatedCapability = false;
-      if (request2.client != null) {
-        taskDestination = request2.client.globalObject;
-        crossOriginIsolatedCapability = request2.client.crossOriginIsolatedCapability;
-      }
-      const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
-      const timingInfo = createOpaqueTimingInfo({
-        startTime: currenTime
-      });
-      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
-          );
+      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 {
-          request2.policyContainer = makePolicyContainer();
+          assert(typeof request2 === "string");
+          r = new Request(request2)[kState];
         }
-      }
-      if (!request2.headersList.contains("accept")) {
-        const value = "*/*";
-        request2.headersList.append("accept", value);
-      }
-      if (!request2.headersList.contains("accept-language")) {
-        request2.headersList.append("accept-language", "*");
-      }
-      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"');
+        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);
           }
-          if (request2.mode === "no-cors") {
-            if (request2.redirect !== "follow") {
-              return makeNetworkError(
-                'redirect mode cannot be "follow" for "no-cors" request'
-              );
+        });
+        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 [];
             }
-            request2.responseTainting = "opaque";
-            return await schemeFetch(fetchParams);
-          }
-          if (!urlIsHttpHttpsScheme(requestCurrentURL(request2))) {
-            return makeNetworkError("URL scheme must be a HTTP(S) scheme");
+          } else if (typeof request2 === "string") {
+            r = new Request(request2)[kState];
           }
-          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");
+        const promise = createDeferredPromise();
+        const requests = [];
+        if (request2 === void 0) {
+          for (const requestResponse of this.#relevantRequestResponseList) {
+            requests.push(requestResponse[0]);
+          }
         } else {
-          assert(false);
+          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;
       }
-      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")) {
-        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;
+      /**
+       * @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]);
           }
-          response.body = safelyExtractBody(bytes)[0];
-          fetchFinale(fetchParams, response);
-        };
-        await fullyReadBody(response.body, processBody, processBodyError);
-      } else {
-        fetchFinale(fetchParams, response);
+          return resultList;
+        } catch (e) {
+          this.#relevantRequestResponseList.length = 0;
+          this.#relevantRequestResponseList = backupCache;
+          throw e;
+        }
       }
-    }
-    function schemeFetch(fetchParams) {
-      if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {
-        return Promise.resolve(makeAppropriateNetworkError(fetchParams));
+      /**
+       * @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;
       }
-      const { request: request2 } = fetchParams;
-      const { protocol: scheme } = requestCurrentURL(request2);
-      switch (scheme) {
-        case "about:": {
-          return Promise.resolve(makeNetworkError("about scheme is not supported"));
+      /**
+       * @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 = "";
         }
-        case "blob:": {
-          if (!resolveObjectURL) {
-            resolveObjectURL = require("buffer").resolveObjectURL;
-          }
-          const blobURLEntry = requestCurrentURL(request2);
-          if (blobURLEntry.search.length !== 0) {
-            return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));
+        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 blobURLEntryObject = resolveObjectURL(blobURLEntry.toString());
-          if (request2.method !== "GET" || !isBlobLike(blobURLEntryObject)) {
-            return Promise.resolve(makeNetworkError("invalid method"));
+          const requestValue = request2.headersList.get(fieldValue);
+          const queryValue = requestQuery.headersList.get(fieldValue);
+          if (requestValue !== queryValue) {
+            return false;
           }
-          const bodyWithType = safelyExtractBody(blobURLEntryObject);
-          const body = bodyWithType[0];
-          const length = isomorphicEncode(`${body.length}`);
-          const type2 = bodyWithType[1] ?? "";
-          const response = makeResponse({
-            statusText: "OK",
-            headersList: [
-              ["content-length", { name: "Content-Length", value: length }],
-              ["content-type", { name: "Content-Type", value: type2 }]
-            ]
-          });
-          response.body = body;
-          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"));
+        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 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));
+        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]);
+          }
         }
-        default: {
-          return Promise.resolve(makeNetworkError("unknown scheme"));
+        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);
       }
-    }
-    function finalizeResponse(fetchParams, response) {
-      fetchParams.request.done = true;
-      if (fetchParams.processResponseDone != null) {
-        queueMicrotask(() => fetchParams.processResponseDone(response));
-      }
-    }
-    function fetchFinale(fetchParams, response) {
-      if (response.type === "error") {
-        response.urlList = [fetchParams.request.urlList[0]];
-        response.timingInfo = createOpaqueTimingInfo({
-          startTime: fetchParams.timingInfo.startTime
-        });
+    };
+    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
       }
-      const processResponseEndOfBody = () => {
-        fetchParams.request.done = true;
-        if (fetchParams.processResponseEndOfBody != null) {
-          queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
-        }
-      };
-      if (fetchParams.processResponse != null) {
-        queueMicrotask(() => fetchParams.processResponse(response));
+    ];
+    webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters);
+    webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([
+      ...cacheQueryOptionConverters,
+      {
+        key: "cacheName",
+        converter: webidl.converters.DOMString
       }
-      if (response.body == null) {
-        processResponseEndOfBody();
-      } else {
-        const identityTransformAlgorithm = (chunk, controller) => {
-          controller.enqueue(chunk);
-        };
-        const transformStream = new TransformStream2({
-          start() {
-          },
-          transform: identityTransformAlgorithm,
-          flush: processResponseEndOfBody
-        }, {
-          size() {
-            return 1;
-          }
-        }, {
-          size() {
-            return 1;
-          }
-        });
-        response.body = { stream: response.body.stream.pipeThrough(transformStream) };
+    ]);
+    webidl.converters.Response = webidl.interfaceConverter(Response);
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.RequestInfo
+    );
+    module2.exports = {
+      Cache
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js
+var require_cachestorage2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols9();
+    var { Cache } = require_cache2();
+    var { webidl } = require_webidl2();
+    var { kEnumerableProperty } = require_util9();
+    var CacheStorage = class _CacheStorage {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
+       * @type {Map fetchParams.processResponseConsumeBody(response, nullOrBytes);
-        const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure);
-        if (response.body == null) {
-          queueMicrotask(() => processBody(null));
+      async match(request2, options = {}) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, "CacheStorage.match");
+        request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.MultiCacheQueryOptions(options);
+        if (options.cacheName != null) {
+          if (this.#caches.has(options.cacheName)) {
+            const cacheList = this.#caches.get(options.cacheName);
+            const cache = new Cache(kConstruct, cacheList);
+            return await cache.match(request2, options);
+          }
         } else {
-          return fullyReadBody(response.body, processBody, processBodyError);
+          for (const cacheList of this.#caches.values()) {
+            const cache = new Cache(kConstruct, cacheList);
+            const response = await cache.match(request2, options);
+            if (response !== void 0) {
+              return response;
+            }
+          }
         }
-        return Promise.resolve();
       }
-    }
-    async function httpFetch(fetchParams) {
-      const request2 = fetchParams.request;
-      let response = null;
-      let actualResponse = null;
-      const timingInfo = fetchParams.timingInfo;
-      if (request2.serviceWorkers === "all") {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-has
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      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);
       }
-      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;
+      /**
+       * @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);
       }
-      if ((request2.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
-        request2.origin,
-        request2.client,
-        request2.destination,
-        actualResponse
-      ) === "blocked") {
-        return makeNetworkError("blocked");
+      /**
+       * @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);
       }
-      if (redirectStatusSet.has(actualResponse.status)) {
-        if (request2.redirect !== "manual") {
-          fetchParams.controller.connection.destroy();
-        }
-        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);
+      /**
+       * @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/@actions/github/node_modules/undici/lib/web/cookies/constants.js
+var require_constants9 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/constants.js"(exports2, module2) {
+    "use strict";
+    var maxAttributeValueSize = 1024;
+    var maxNameValuePairSize = 4096;
+    module2.exports = {
+      maxAttributeValueSize,
+      maxNameValuePairSize
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/util.js
+var require_util14 = __commonJS({
+  "node_modules/@actions/github/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;
         }
       }
-      response.timingInfo = timingInfo;
-      return response;
+      return false;
     }
-    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;
+    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");
         }
-      } 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);
+    }
+    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;
       }
-      if (!sameOrigin(requestCurrentURL(request2), locationURL)) {
-        request2.headersList.delete("authorization");
-        request2.headersList.delete("proxy-authorization", true);
-        request2.headersList.delete("cookie");
-        request2.headersList.delete("host");
-      }
-      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;
+      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");
+        }
       }
-      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 = makeRequest(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";
+    function validateCookiePath(path8) {
+      for (let i = 0; i < path8.length; ++i) {
+        const code = path8.charCodeAt(i);
+        if (code < 32 || // exclude CTLs (0-31)
+        code === 127 || // DEL
+        code === 59) {
+          throw new Error("Invalid cookie path");
+        }
       }
-      if (contentLength != null) {
-        contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
+    }
+    function validateCookieDomain(domain) {
+      if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
+        throw new Error("Invalid cookie domain");
       }
-      if (contentLengthHeaderValue != null) {
-        httpRequest.headersList.append("content-length", contentLengthHeaderValue);
+    }
+    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);
       }
-      if (contentLength != null && httpRequest.keepalive) {
+      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");
       }
-      if (httpRequest.referrer instanceof URL) {
-        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href));
+    }
+    function stringify(cookie) {
+      if (cookie.name.length === 0) {
+        return null;
       }
-      appendRequestOriginHeader(httpRequest);
-      appendFetchMetadata(httpRequest);
-      if (!httpRequest.headersList.contains("user-agent")) {
-        httpRequest.headersList.append("user-agent", typeof esbuildDetection === "undefined" ? "undici" : "node");
+      validateCookieName(cookie.name);
+      validateCookieValue(cookie.value);
+      const out = [`${cookie.name}=${cookie.value}`];
+      if (cookie.name.startsWith("__Secure-")) {
+        cookie.secure = true;
       }
-      if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since") || httpRequest.headersList.contains("if-none-match") || httpRequest.headersList.contains("if-unmodified-since") || httpRequest.headersList.contains("if-match") || httpRequest.headersList.contains("if-range"))) {
-        httpRequest.cache = "no-store";
+      if (cookie.name.startsWith("__Host-")) {
+        cookie.secure = true;
+        cookie.domain = null;
+        cookie.path = "/";
       }
-      if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control")) {
-        httpRequest.headersList.append("cache-control", "max-age=0");
+      if (cookie.secure) {
+        out.push("Secure");
       }
-      if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") {
-        if (!httpRequest.headersList.contains("pragma")) {
-          httpRequest.headersList.append("pragma", "no-cache");
-        }
-        if (!httpRequest.headersList.contains("cache-control")) {
-          httpRequest.headersList.append("cache-control", "no-cache");
-        }
+      if (cookie.httpOnly) {
+        out.push("HttpOnly");
       }
-      if (httpRequest.headersList.contains("range")) {
-        httpRequest.headersList.append("accept-encoding", "identity");
+      if (typeof cookie.maxAge === "number") {
+        validateCookieMaxAge(cookie.maxAge);
+        out.push(`Max-Age=${cookie.maxAge}`);
       }
-      if (!httpRequest.headersList.contains("accept-encoding")) {
-        if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
-          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate");
-        } else {
-          httpRequest.headersList.append("accept-encoding", "gzip, deflate");
-        }
+      if (cookie.domain) {
+        validateCookieDomain(cookie.domain);
+        out.push(`Domain=${cookie.domain}`);
       }
-      httpRequest.headersList.delete("host");
-      if (includeCredentials) {
+      if (cookie.path) {
+        validateCookiePath(cookie.path);
+        out.push(`Path=${cookie.path}`);
       }
-      if (httpCache == null) {
-        httpRequest.cache = "no-store";
+      if (cookie.expires && cookie.expires.toString() !== "Invalid Date") {
+        out.push(`Expires=${toIMFDate(cookie.expires)}`);
       }
-      if (httpRequest.mode !== "no-store" && httpRequest.mode !== "reload") {
+      if (cookie.sameSite) {
+        out.push(`SameSite=${cookie.sameSite}`);
       }
-      if (response == null) {
-        if (httpRequest.mode === "only-if-cached") {
-          return makeNetworkError("only if cached");
-        }
-        const forwardResponse = await httpNetworkFetch(
-          httpFetchParams,
-          includeCredentials,
-          isNewConnectionFetch
-        );
-        if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {
-        }
-        if (revalidatingFlag && forwardResponse.status === 304) {
-        }
-        if (response == null) {
-          response = forwardResponse;
+      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("=")}`);
       }
-      response.urlList = [...httpRequest.urlList];
-      if (httpRequest.headersList.contains("range")) {
-        response.rangeRequested = true;
+      return out.join("; ");
+    }
+    module2.exports = {
+      isCTLExcludingHtab,
+      validateCookieName,
+      validateCookiePath,
+      validateCookieValue,
+      toIMFDate,
+      stringify
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js
+var require_parse2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js"(exports2, module2) {
+    "use strict";
+    var { maxNameValuePairSize, maxAttributeValueSize } = require_constants9();
+    var { isCTLExcludingHtab } = require_util14();
+    var { collectASequenceOfCodePointsFast } = require_data_url2();
+    var assert = require("node:assert");
+    function parseSetCookie(header) {
+      if (isCTLExcludingHtab(header)) {
+        return null;
       }
-      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");
+      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 (
-        // 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 (!nameValuePair.includes("=")) {
+        value = nameValuePair;
+      } else {
+        const position = { position: 0 };
+        name = collectASequenceOfCodePointsFast(
+          "=",
+          nameValuePair,
+          position
         );
+        value = nameValuePair.slice(position.position + 1);
       }
-      if (isAuthenticationFetch) {
+      name = name.trim();
+      value = value.trim();
+      if (name.length + value.length > maxNameValuePairSize) {
+        return null;
       }
-      return response;
-    }
-    async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) {
-      assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed);
-      fetchParams.controller.connection = {
-        abort: null,
-        destroyed: false,
-        destroy(err) {
-          if (!this.destroyed) {
-            this.destroyed = true;
-            this.abort?.(err ?? new DOMException2("The operation was aborted.", "AbortError"));
-          }
-        }
+      return {
+        name,
+        value,
+        ...parseUnparsedAttributes(unparsedAttributes)
       };
-      const request2 = fetchParams.request;
-      let response = null;
-      const timingInfo = fetchParams.timingInfo;
-      const httpCache = null;
-      if (httpCache == null) {
-        request2.cache = "no-store";
+    }
+    function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) {
+      if (unparsedAttributes.length === 0) {
+        return cookieAttributeList;
       }
-      const newConnection = forceNewConnection ? "yes" : "no";
-      if (request2.mode === "websocket") {
+      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 requestBody = null;
-      if (request2.body == null && fetchParams.processRequestEndOfBody) {
-        queueMicrotask(() => fetchParams.processRequestEndOfBody());
-      } else if (request2.body != null) {
-        const processBodyChunk = async function* (bytes) {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          yield bytes;
-          fetchParams.processRequestBodyChunkLength?.(bytes.byteLength);
-        };
-        const processEndOfBody = () => {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          if (fetchParams.processRequestEndOfBody) {
-            fetchParams.processRequestEndOfBody();
-          }
-        };
-        const processBodyError = (e) => {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          if (e.name === "AbortError") {
-            fetchParams.controller.abort();
-          } else {
-            fetchParams.controller.terminate(e);
-          }
-        };
-        requestBody = (async function* () {
-          try {
-            for await (const bytes of request2.body.stream) {
-              yield* processBodyChunk(bytes);
-            }
-            processEndOfBody();
-          } catch (err) {
-            processBodyError(err);
-          }
-        })();
-      }
-      try {
-        const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
-        if (socket) {
-          response = makeResponse({ status, statusText, headersList, socket });
-        } else {
-          const iterator2 = body[Symbol.asyncIterator]();
-          fetchParams.controller.next = () => iterator2.next();
-          response = makeResponse({ status, statusText, headersList });
-        }
-      } catch (err) {
-        if (err.name === "AbortError") {
-          fetchParams.controller.connection.destroy();
-          return makeAppropriateNetworkError(fetchParams, err);
-        }
-        return makeNetworkError(err);
+      let attributeName = "";
+      let attributeValue = "";
+      if (cookieAv.includes("=")) {
+        const position = { position: 0 };
+        attributeName = collectASequenceOfCodePointsFast(
+          "=",
+          cookieAv,
+          position
+        );
+        attributeValue = cookieAv.slice(position.position + 1);
+      } else {
+        attributeName = cookieAv;
       }
-      const pullAlgorithm = () => {
-        fetchParams.controller.resume();
-      };
-      const cancelAlgorithm = (reason) => {
-        fetchParams.controller.abort(reason);
-      };
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+      attributeName = attributeName.trim();
+      attributeValue = attributeValue.trim();
+      if (attributeValue.length > maxAttributeValueSize) {
+        return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
       }
-      const stream2 = new ReadableStream2(
-        {
-          async start(controller) {
-            fetchParams.controller.controller = controller;
-          },
-          async pull(controller) {
-            await pullAlgorithm(controller);
-          },
-          async cancel(reason) {
-            await cancelAlgorithm(reason);
-          }
-        },
-        {
-          highWaterMark: 0,
-          size() {
-            return 1;
-          }
+      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);
         }
-      );
-      response.body = { stream: stream2 };
-      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;
-          }
-          fetchParams.controller.controller.enqueue(new Uint8Array(bytes));
-          if (isErrored(stream2)) {
-            fetchParams.controller.terminate();
-            return;
-          }
-          if (!fetchParams.controller.controller.desiredSize) {
-            return;
-          }
+        if (!/^\d+$/.test(attributeValue)) {
+          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
         }
-      };
-      function onAborted(reason) {
-        if (isAborted(fetchParams)) {
-          response.aborted = true;
-          if (isReadable(stream2)) {
-            fetchParams.controller.controller.error(
-              fetchParams.controller.serializedAbortReason
-            );
-          }
+        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 {
-          if (isReadable(stream2)) {
-            fetchParams.controller.controller.error(new TypeError("terminated", {
-              cause: isErrorLike(reason) ? reason : void 0
-            }));
-          }
+          cookiePath = attributeValue;
         }
-        fetchParams.controller.connection.destroy();
-      }
-      return response;
-      async function dispatch({ body }) {
-        const url = requestCurrentURL(request2);
-        const agent = fetchParams.controller.dispatcher;
-        return new Promise((resolve4, reject) => agent.dispatch(
-          {
-            path: url.pathname + url.search,
-            origin: url.origin,
-            method: request2.method,
-            body: fetchParams.controller.dispatcher.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
-            headers: request2.headersList.entries,
-            maxRedirections: 0,
-            upgrade: request2.mode === "websocket" ? "websocket" : void 0
-          },
-          {
-            body: null,
-            abort: null,
-            onConnect(abort) {
-              const { connection } = fetchParams.controller;
-              if (connection.destroyed) {
-                abort(new DOMException2("The operation was aborted.", "AbortError"));
-              } else {
-                fetchParams.controller.on("terminated", abort);
-                this.abort = connection.abort = abort;
-              }
-            },
-            onHeaders(status, headersList, resume, statusText) {
-              if (status < 200) {
-                return;
-              }
-              let codings = [];
-              let location = "";
-              const headers = new Headers();
-              if (Array.isArray(headersList)) {
-                for (let n = 0; n < headersList.length; n += 2) {
-                  const key = headersList[n + 0].toString("latin1");
-                  const val = headersList[n + 1].toString("latin1");
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim());
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
-              } else {
-                const keys = Object.keys(headersList);
-                for (const key of keys) {
-                  const val = headersList[key];
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim()).reverse();
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
-              }
-              this.body = new Readable2({ read: resume });
-              const decoders = [];
-              const willFollow = request2.redirect === "follow" && location && redirectStatusSet.has(status);
-              if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
-                for (const coding of codings) {
-                  if (coding === "x-gzip" || coding === "gzip") {
-                    decoders.push(zlib.createGunzip({
-                      // Be less strict when decoding compressed responses, since sometimes
-                      // servers send slightly invalid responses that are still accepted
-                      // by common browsers.
-                      // Always using Z_SYNC_FLUSH is what cURL does.
-                      flush: zlib.constants.Z_SYNC_FLUSH,
-                      finishFlush: zlib.constants.Z_SYNC_FLUSH
-                    }));
-                  } else if (coding === "deflate") {
-                    decoders.push(zlib.createInflate());
-                  } else if (coding === "br") {
-                    decoders.push(zlib.createBrotliDecompress());
-                  } else {
-                    decoders.length = 0;
-                    break;
-                  }
-                }
-              }
-              resolve4({
-                status,
-                statusText,
-                headersList: headers[kHeadersList],
-                body: decoders.length ? pipeline(this.body, ...decoders, () => {
-                }) : this.body.on("error", () => {
-                })
-              });
-              return true;
-            },
-            onData(chunk) {
-              if (fetchParams.controller.dump) {
-                return;
-              }
-              const bytes = chunk;
-              timingInfo.encodedBodySize += bytes.byteLength;
-              return this.body.push(bytes);
-            },
-            onComplete() {
-              if (this.abort) {
-                fetchParams.controller.off("terminated", this.abort);
-              }
-              fetchParams.controller.ended = true;
-              this.body.push(null);
-            },
-            onError(error3) {
-              if (this.abort) {
-                fetchParams.controller.off("terminated", this.abort);
-              }
-              this.body?.destroy(error3);
-              fetchParams.controller.terminate(error3);
-              reject(error3);
-            },
-            onUpgrade(status, headersList, socket) {
-              if (status !== 101) {
-                return;
-              }
-              const headers = new Headers();
-              for (let n = 0; n < headersList.length; n += 2) {
-                const key = headersList[n + 0].toString("latin1");
-                const val = headersList[n + 1].toString("latin1");
-                headers[kHeadersList].append(key, val);
-              }
-              resolve4({
-                status,
-                statusText: STATUS_CODES[status],
-                headersList: headers[kHeadersList],
-                socket
-              });
-              return true;
-            }
-          }
-        ));
+        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 = {
-      fetch,
-      Fetch,
-      fetching,
-      finalizeAndReportTiming
+      parseSetCookie,
+      parseUnparsedAttributes
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/symbols.js
-var require_symbols8 = __commonJS({
-  "node_modules/undici/lib/fileapi/symbols.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js
+var require_cookies2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js"(exports2, module2) {
     "use strict";
+    var { parseSetCookie } = require_parse2();
+    var { stringify } = require_util14();
+    var { webidl } = require_webidl2();
+    var { Headers } = require_headers2();
+    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 str2 = stringify(cookie);
+      if (str2) {
+        headers.append("Set-Cookie", str2);
+      }
+    }
+    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 = {
-      kState: /* @__PURE__ */ Symbol("FileReader state"),
-      kResult: /* @__PURE__ */ Symbol("FileReader result"),
-      kError: /* @__PURE__ */ Symbol("FileReader error"),
-      kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"),
-      kEvents: /* @__PURE__ */ Symbol("FileReader events"),
-      kAborted: /* @__PURE__ */ Symbol("FileReader aborted")
+      getCookies,
+      deleteCookie,
+      getSetCookies,
+      setCookie
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/progressevent.js
-var require_progressevent2 = __commonJS({
-  "node_modules/undici/lib/fileapi/progressevent.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js
+var require_events2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js"(exports2, module2) {
     "use strict";
     var { webidl } = require_webidl2();
-    var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
-    var ProgressEvent = class _ProgressEvent extends Event {
+    var { kEnumerableProperty } = require_util9();
+    var { kConstruct } = require_symbols6();
+    var { MessagePort } = require("node:worker_threads");
+    var MessageEvent = class _MessageEvent extends Event {
+      #eventInit;
       constructor(type2, eventInitDict = {}) {
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
+        if (type2 === kConstruct) {
+          super(arguments[1], arguments[2]);
+          webidl.util.markAsUncloneable(this);
+          return;
+        }
+        const prefix = "MessageEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.MessageEventInit(eventInitDict, prefix, "eventInitDict");
         super(type2, eventInitDict);
-        this[kState] = {
-          lengthComputable: eventInitDict.lengthComputable,
-          loaded: eventInitDict.loaded,
-          total: eventInitDict.total
-        };
+        this.#eventInit = eventInitDict;
+        webidl.util.markAsUncloneable(this);
       }
-      get lengthComputable() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].lengthComputable;
+      get data() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.data;
       }
-      get loaded() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].loaded;
+      get origin() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.origin;
       }
-      get total() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].total;
+      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(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
+        webidl.brandCheck(this, _MessageEvent);
+        webidl.argumentLengthCheck(arguments, 1, "MessageEvent.initMessageEvent");
+        return new _MessageEvent(type2, {
+          bubbles,
+          cancelable,
+          data,
+          origin,
+          lastEventId,
+          source,
+          ports
+        });
+      }
+      static createFastMessageEvent(type2, init) {
+        const messageEvent = new _MessageEvent(kConstruct, type2, 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(type2, eventInitDict = {}) {
+        const prefix = "CloseEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
+        super(type2, 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(type2, eventInitDict) {
+        const prefix = "ErrorEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        super(type2, eventInitDict);
+        webidl.util.markAsUncloneable(this);
+        type2 = webidl.converters.DOMString(type2, 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;
       }
     };
-    webidl.converters.ProgressEventInit = webidl.dictionaryConverter([
-      {
-        key: "lengthComputable",
-        converter: webidl.converters.boolean,
-        defaultValue: false
+    Object.defineProperties(MessageEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "MessageEvent",
+        configurable: true
       },
-      {
-        key: "loaded",
-        converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
+      data: kEnumerableProperty,
+      origin: kEnumerableProperty,
+      lastEventId: kEnumerableProperty,
+      source: kEnumerableProperty,
+      ports: kEnumerableProperty,
+      initMessageEvent: kEnumerableProperty
+    });
+    Object.defineProperties(CloseEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "CloseEvent",
+        configurable: true
       },
-      {
-        key: "total",
-        converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
+      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
+        defaultValue: () => false
       },
       {
         key: "cancelable",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "composed",
         converter: webidl.converters.boolean,
-        defaultValue: false
-      }
-    ]);
-    module2.exports = {
-      ProgressEvent
-    };
-  }
-});
-
-// node_modules/undici/lib/fileapi/encoding.js
-var require_encoding2 = __commonJS({
-  "node_modules/undici/lib/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/fileapi/util.js
-var require_util12 = __commonJS({
-  "node_modules/undici/lib/fileapi/util.js"(exports2, module2) {
-    "use strict";
-    var {
-      kState,
-      kError,
-      kResult,
-      kAborted,
-      kLastProgressEventFired
-    } = require_symbols8();
-    var { ProgressEvent } = require_progressevent2();
-    var { getEncoding } = require_encoding2();
-    var { DOMException: DOMException2 } = require_constants7();
-    var { serializeAMimeType, parseMIMEType } = require_dataURL();
-    var { types } = require("util");
-    var { StringDecoder } = require("string_decoder");
-    var { btoa: btoa2 } = require("buffer");
-    var staticPropertyDescriptors = {
-      enumerable: true,
-      writable: false,
-      configurable: false
-    };
-    function readOperation(fr, blob, type2, encodingName) {
-      if (fr[kState] === "loading") {
-        throw new DOMException2("Invalid state", "InvalidStateError");
-      }
-      fr[kState] = "loading";
-      fr[kResult] = null;
-      fr[kError] = null;
-      const stream2 = blob.stream();
-      const reader = stream2.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, type2, blob.type, encodingName);
-                  if (fr[kAborted]) {
-                    return;
-                  }
-                  fr[kResult] = result;
-                  fireAProgressEvent("load", fr);
-                } catch (error3) {
-                  fr[kError] = error3;
-                  fireAProgressEvent("error", fr);
-                }
-                if (fr[kState] !== "loading") {
-                  fireAProgressEvent("loadend", fr);
-                }
-              });
-              break;
-            }
-          } catch (error3) {
-            if (fr[kAborted]) {
-              return;
-            }
-            queueMicrotask(() => {
-              fr[kState] = "done";
-              fr[kError] = error3;
-              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, type2, mimeType, encodingName) {
-      switch (type2) {
-        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 += btoa2(decoder.write(chunk));
-          }
-          dataURL += btoa2(decoder.end());
-          return dataURL;
-        }
-        case "Text": {
-          let encoding = "failure";
-          if (encodingName) {
-            encoding = getEncoding(encodingName);
-          }
-          if (encoding === "failure" && mimeType) {
-            const type3 = parseMIMEType(mimeType);
-            if (type3 !== "failure") {
-              encoding = getEncoding(type3.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;
-        }
+        defaultValue: () => false
       }
-    }
-    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;
+    ];
+    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)
       }
-      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";
+    ]);
+    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: () => ""
       }
-      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));
-    }
+    ]);
+    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 = {
-      staticPropertyDescriptors,
-      readOperation,
-      fireAProgressEvent
+      MessageEvent,
+      CloseEvent,
+      ErrorEvent,
+      createFastMessageEvent
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/filereader.js
-var require_filereader2 = __commonJS({
-  "node_modules/undici/lib/fileapi/filereader.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js
+var require_constants10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js"(exports2, module2) {
     "use strict";
-    var {
+    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,
-      readOperation,
-      fireAProgressEvent
-    } = require_util12();
-    var {
-      kState,
-      kError,
-      kResult,
-      kEvents,
-      kAborted
-    } = require_symbols8();
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util9();
-    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, { header: "FileReader.readAsArrayBuffer" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "ArrayBuffer");
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#readAsBinaryString
-       * @param {import('buffer').Blob} blob
-       */
-      readAsBinaryString(blob) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsBinaryString" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "BinaryString");
-      }
-      /**
-       * @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, { header: "FileReader.readAsText" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        if (encoding !== void 0) {
-          encoding = webidl.converters.DOMString(encoding);
-        }
-        readOperation(this, blob, "Text", encoding);
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dfn-readAsDataURL
-       * @param {import('buffer').Blob} blob
-       */
-      readAsDataURL(blob) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsDataURL" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "DataURL");
+      states,
+      opcodes,
+      maxUnsigned16Bit,
+      parserStates,
+      emptyBuffer,
+      sendHints
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js
+var require_symbols10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
+      kReadyState: /* @__PURE__ */ Symbol("ready state"),
+      kController: /* @__PURE__ */ Symbol("controller"),
+      kResponse: /* @__PURE__ */ Symbol("response"),
+      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
+      kSentClose: /* @__PURE__ */ Symbol("sent close"),
+      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
+      kByteParser: /* @__PURE__ */ Symbol("byte parser")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js
+var require_util15 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js"(exports2, module2) {
+    "use strict";
+    var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols10();
+    var { states, opcodes } = require_constants10();
+    var { ErrorEvent, createFastMessageEvent } = require_events2();
+    var { isUtf8 } = require("node:buffer");
+    var { collectASequenceOfCodePointsFast, removeHTTPWhitespace } = require_data_url2();
+    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 = (type2, init) => new Event(type2, init), eventInitDict = {}) {
+      const event = eventFactory(e, eventInitDict);
+      target.dispatchEvent(event);
+    }
+    function websocketMessageReceived(ws, type2, data) {
+      if (ws[kReadyState] !== states.OPEN) {
+        return;
       }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dfn-abort
-       */
-      abort() {
-        if (this[kState] === "empty" || this[kState] === "done") {
-          this[kResult] = null;
+      let dataForEvent;
+      if (type2 === opcodes.TEXT) {
+        try {
+          dataForEvent = utf8Decode(data);
+        } catch {
+          failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
           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 if (type2 === opcodes.BINARY) {
+        if (ws[kBinaryType] === "blob") {
+          dataForEvent = new Blob([data]);
         } else {
-          this[kEvents].loadend = null;
+          dataForEvent = toArrayBuffer(data);
         }
       }
-      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;
-        }
+      fireEvent("message", ws, createFastMessageEvent, {
+        origin: ws[kWebSocketURL].origin,
+        data: dataForEvent
+      });
+    }
+    function toArrayBuffer(buffer) {
+      if (buffer.byteLength === buffer.buffer.byteLength) {
+        return buffer.buffer;
       }
-      get onloadstart() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].loadstart;
+      return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
+    }
+    function isValidSubprotocol(protocol) {
+      if (protocol.length === 0) {
+        return false;
       }
-      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;
+      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;
         }
       }
-      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;
-        }
+      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;
       }
-      get onload() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].load;
+      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();
       }
-      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;
-        }
+      if (reason) {
+        fireEvent("error", ws, (type2, init) => new ErrorEvent(type2, init), {
+          error: new Error(reason),
+          message: reason
+        });
       }
-      get onabort() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].abort;
+    }
+    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++;
       }
-      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;
+      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;
         }
       }
-    };
-    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
+      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");
       }
-    });
-    Object.defineProperties(FileReader, {
-      EMPTY: staticPropertyDescriptors,
-      LOADING: staticPropertyDescriptors,
-      DONE: staticPropertyDescriptors
-    });
-    module2.exports = {
-      FileReader
+      throw new TypeError("Invalid utf-8 received.");
     };
-  }
-});
-
-// node_modules/undici/lib/cache/symbols.js
-var require_symbols9 = __commonJS({
-  "node_modules/undici/lib/cache/symbols.js"(exports2, module2) {
-    "use strict";
     module2.exports = {
-      kConstruct: require_symbols6().kConstruct
+      isConnecting,
+      isEstablished,
+      isClosing,
+      isClosed,
+      fireEvent,
+      isValidSubprotocol,
+      isValidStatusCode,
+      failWebsocketConnection,
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isContinuationFrame,
+      isTextBinaryFrame,
+      isValidOpcode,
+      parseExtensions,
+      isValidClientWindowBits
     };
   }
 });
 
-// node_modules/undici/lib/cache/util.js
-var require_util13 = __commonJS({
-  "node_modules/undici/lib/cache/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js
+var require_frame2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { URLSerializer } = require_dataURL();
-    var { isValidHeaderName } = require_util10();
-    function urlEquals(A, B, excludeFragment = false) {
-      const serializedA = URLSerializer(A, excludeFragment);
-      const serializedB = URLSerializer(B, excludeFragment);
-      return serializedA === serializedB;
-    }
-    function fieldValues(header) {
-      assert(header !== null);
-      const values = [];
-      for (let value of header.split(",")) {
-        value = value.trim();
-        if (!value.length) {
-          continue;
-        } else if (!isValidHeaderName(value)) {
-          continue;
+    var { maxUnsigned16Bit } = require_constants10();
+    var BUFFER_SIZE = 16386;
+    var crypto2;
+    var buffer = null;
+    var bufIdx = BUFFER_SIZE;
+    try {
+      crypto2 = require("node:crypto");
+    } catch {
+      crypto2 = {
+        // not full compatibility, but minimum.
+        randomFillSync: function randomFillSync2(buffer2, _offset, _size) {
+          for (let i = 0; i < buffer2.length; ++i) {
+            buffer2[i] = Math.random() * 255 | 0;
+          }
+          return buffer2;
         }
-        values.push(value);
+      };
+    }
+    function generateMask() {
+      if (bufIdx === BUFFER_SIZE) {
+        bufIdx = 0;
+        crypto2.randomFillSync(buffer ??= Buffer.allocUnsafe(BUFFER_SIZE), 0, BUFFER_SIZE);
       }
-      return values;
+      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 = {
-      urlEquals,
-      fieldValues
+      WebsocketFrameSend
     };
   }
 });
 
-// node_modules/undici/lib/cache/cache.js
-var require_cache2 = __commonJS({
-  "node_modules/undici/lib/cache/cache.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js
+var require_connection2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js"(exports2, module2) {
     "use strict";
-    var { kConstruct } = require_symbols9();
-    var { urlEquals, fieldValues: getFieldValues } = require_util13();
-    var { kEnumerableProperty, isDisturbed } = require_util9();
-    var { kHeadersList } = require_symbols6();
-    var { webidl } = require_webidl2();
-    var { Response, cloneResponse } = require_response2();
-    var { Request } = require_request4();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
+    var { uid, states, sentCloseFrameState, emptyBuffer, opcodes } = require_constants10();
+    var {
+      kReadyState,
+      kSentClose,
+      kByteParser,
+      kReceivedClose,
+      kResponse
+    } = require_symbols10();
+    var { fireEvent, failWebsocketConnection, isClosing, isClosed, isEstablished, parseExtensions } = require_util15();
+    var { channels } = require_diagnostics2();
+    var { CloseEvent } = require_events2();
+    var { makeRequest } = require_request4();
     var { fetching } = require_fetch2();
-    var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util10();
-    var assert = require("assert");
-    var { getGlobalDispatcher } = require_global4();
-    var Cache = class _Cache {
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list
-       * @type {requestResponseList}
-       */
-      #relevantRequestResponseList;
-      constructor() {
-        if (arguments[0] !== kConstruct) {
-          webidl.illegalConstructor();
-        }
-        this.#relevantRequestResponseList = arguments[1];
+    var { Headers, getHeadersList } = require_headers2();
+    var { getDecodeSplit } = require_util10();
+    var { WebsocketFrameSend } = require_frame2();
+    var crypto2;
+    try {
+      crypto2 = 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;
       }
-      async match(request2, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.match" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        const p = await this.matchAll(request2, options);
-        if (p.length === 0) {
-          return;
-        }
-        return p[0];
+      const keyValue = crypto2.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);
       }
-      async matchAll(request2 = void 0, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(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 responses = [];
-        if (request2 === void 0) {
-          for (const requestResponse of this.#relevantRequestResponseList) {
-            responses.push(requestResponse[1]);
+      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;
           }
-        } else {
-          const requestResponses = this.#queryCache(r, options);
-          for (const requestResponse of requestResponses) {
-            responses.push(requestResponse[1]);
+          if (protocols.length !== 0 && !response.headersList.get("Sec-WebSocket-Protocol")) {
+            failWebsocketConnection(ws, "Server did not respond with sent protocols.");
+            return;
           }
-        }
-        const responseList = [];
-        for (const response of responses) {
-          const responseObject = new Response(response.body?.source ?? null);
-          const body = responseObject[kState].body;
-          responseObject[kState] = response;
-          responseObject[kState].body = body;
-          responseObject[kHeaders][kHeadersList] = response.headersList;
-          responseObject[kHeaders][kGuard] = "immutable";
-          responseList.push(responseObject);
-        }
-        return Object.freeze(responseList);
-      }
-      async add(request2) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.add" });
-        request2 = webidl.converters.RequestInfo(request2);
-        const requests = [request2];
-        const responseArrayPromise = this.addAll(requests);
-        return await responseArrayPromise;
-      }
-      async addAll(requests) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.addAll" });
-        requests = webidl.converters["sequence"](requests);
-        const responsePromises = [];
-        const requestList = [];
-        for (const request2 of requests) {
-          if (typeof request2 === "string") {
-            continue;
+          if (response.headersList.get("Upgrade")?.toLowerCase() !== "websocket") {
+            failWebsocketConnection(ws, 'Server did not set Upgrade header to "websocket".');
+            return;
           }
-          const r = request2[kState];
-          if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") {
-            throw webidl.errors.exception({
-              header: "Cache.addAll",
-              message: "Expected http/s scheme when method is not GET."
-            });
+          if (response.headersList.get("Connection")?.toLowerCase() !== "upgrade") {
+            failWebsocketConnection(ws, 'Server did not set Connection header to "upgrade".');
+            return;
           }
-        }
-        const fetchControllers = [];
-        for (const request2 of requests) {
-          const r = new Request(request2)[kState];
-          if (!urlIsHttpHttpsScheme(r.url)) {
-            throw webidl.errors.exception({
-              header: "Cache.addAll",
-              message: "Expected http/s scheme."
-            });
+          const secWSAccept = response.headersList.get("Sec-WebSocket-Accept");
+          const digest = crypto2.createHash("sha1").update(keyValue + uid).digest("base64");
+          if (secWSAccept !== digest) {
+            failWebsocketConnection(ws, "Incorrect hash received in Sec-WebSocket-Accept header.");
+            return;
           }
-          r.initiator = "fetch";
-          r.destination = "subresource";
-          requestList.push(r);
-          const responsePromise = createDeferredPromise();
-          fetchControllers.push(fetching({
-            request: r,
-            dispatcher: getGlobalDispatcher(),
-            processResponse(response) {
-              if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) {
-                responsePromise.reject(webidl.errors.exception({
-                  header: "Cache.addAll",
-                  message: "Received an invalid status code or the request failed."
-                }));
-              } else if (response.headersList.contains("vary")) {
-                const fieldValues = getFieldValues(response.headersList.get("vary"));
-                for (const fieldValue of fieldValues) {
-                  if (fieldValue === "*") {
-                    responsePromise.reject(webidl.errors.exception({
-                      header: "Cache.addAll",
-                      message: "invalid vary field value"
-                    }));
-                    for (const controller of fetchControllers) {
-                      controller.abort();
-                    }
-                    return;
-                  }
-                }
-              }
-            },
-            processResponseEndOfBody(response) {
-              if (response.aborted) {
-                responsePromise.reject(new DOMException("aborted", "AbortError"));
-                return;
-              }
-              responsePromise.resolve(response);
+          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;
             }
-          }));
-          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);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Cache.put" });
-        request2 = webidl.converters.RequestInfo(request2);
-        response = webidl.converters.Response(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: "Cache.put",
-            message: "Expected an http/s scheme when method is not GET"
-          });
-        }
-        const innerResponse = response[kState];
-        if (innerResponse.status === 206) {
-          throw webidl.errors.exception({
-            header: "Cache.put",
-            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: "Cache.put",
-                message: "Got * vary field value"
-              });
+          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);
         }
-        if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {
-          throw webidl.errors.exception({
-            header: "Cache.put",
-            message: "Response body is locked or disturbed"
-          });
-        }
-        const clonedResponse = cloneResponse(innerResponse);
-        const bodyReadPromise = createDeferredPromise();
-        if (innerResponse.body != null) {
-          const stream2 = innerResponse.body.stream;
-          const reader = stream2.getReader();
-          readAllBytes(reader).then(bodyReadPromise.resolve, bodyReadPromise.reject);
+      });
+      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 {
-          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;
+          frame.frameData = emptyBuffer;
         }
-        queueMicrotask(() => {
-          if (errorData === null) {
-            cacheJobPromise.resolve();
-          } else {
-            cacheJobPromise.reject(errorData);
-          }
-        });
-        return cacheJobPromise.promise;
+        const socket = ws[kResponse].socket;
+        socket.write(frame.createFrame(opcodes.CLOSE));
+        ws[kSentClose] = sentCloseFrameState.SENT;
+        ws[kReadyState] = states.CLOSING;
+      } else {
+        ws[kReadyState] = states.CLOSING;
       }
-      async delete(request2, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.delete" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(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);
-          }
+    }
+    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, (type2, init) => new CloseEvent(type2, init), {
+        wasClean,
+        code,
+        reason
+      });
+      if (channels.close.hasSubscribers) {
+        channels.close.publish({
+          websocket: ws,
+          code,
+          reason
         });
-        return cacheJobPromise.promise;
       }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys
-       * @param {any} request
-       * @param {import('../../types/cache').CacheQueryOptions} options
-       * @returns {readonly Request[]}
-       */
-      async keys(request2 = void 0, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        let r = null;
-        if (request2 !== void 0) {
-          if (request2 instanceof Request) {
-            r = request2[kState];
-            if (r.method !== "GET" && !options.ignoreMethod) {
-              return [];
+    }
+    function onSocketError(error3) {
+      const { ws } = this;
+      ws[kReadyState] = states.CLOSING;
+      if (channels.socketError.hasSubscribers) {
+        channels.socketError.publish(error3);
+      }
+      this.destroy();
+    }
+    module2.exports = {
+      establishWebSocketConnection,
+      closeWebSocketConnection
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js
+var require_permessage_deflate2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js"(exports2, module2) {
+    "use strict";
+    var { createInflateRaw, Z_DEFAULT_WINDOWBITS } = require("node:zlib");
+    var { isValidClientWindowBits } = require_util15();
+    var tail = Buffer.from([0, 0, 255, 255]);
+    var kBuffer = /* @__PURE__ */ Symbol("kBuffer");
+    var kLength = /* @__PURE__ */ 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;
             }
-          } else if (typeof request2 === "string") {
-            r = new Request(request2)[kState];
+            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);
+          });
         }
-        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]);
-          }
+        this.#inflate.write(chunk);
+        if (fin) {
+          this.#inflate.write(tail);
         }
-        queueMicrotask(() => {
-          const requestList = [];
-          for (const request3 of requests) {
-            const requestObject = new Request("https://a");
-            requestObject[kState] = request3;
-            requestObject[kHeaders][kHeadersList] = request3.headersList;
-            requestObject[kHeaders][kGuard] = "immutable";
-            requestObject[kRealm] = request3.client;
-            requestList.push(requestObject);
-          }
-          promise.resolve(Object.freeze(requestList));
+        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);
         });
-        return promise.promise;
+      }
+    };
+    module2.exports = { PerMessageDeflate };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/receiver.js
+var require_receiver2 = __commonJS({
+  "node_modules/@actions/github/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_constants10();
+    var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols10();
+    var { channels } = require_diagnostics2();
+    var {
+      isValidStatusCode,
+      isValidOpcode,
+      failWebsocketConnection,
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isTextBinaryFrame,
+      isContinuationFrame
+    } = require_util15();
+    var { WebsocketFrameSend } = require_frame2();
+    var { closeWebSocketConnection } = require_connection2();
+    var { PerMessageDeflate } = require_permessage_deflate2();
+    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));
+        }
       }
       /**
-       * @see https://w3c.github.io/ServiceWorker/#batch-cache-operations-algorithm
-       * @param {CacheBatchOperation[]} operations
-       * @returns {requestResponseList}
+       * @param {Buffer} chunk
+       * @param {() => void} callback
        */
-      #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"'
-              });
+      _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();
             }
-            if (operation.type === "delete" && operation.response != null) {
-              throw webidl.errors.exception({
-                header: "Cache.#batchCacheOperations",
-                message: "delete operation should not have an associated response"
-              });
+            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 (this.#queryCache(operation.request, operation.options, addedItems).length) {
-              throw new DOMException("???", "InvalidStateError");
+            if (masked) {
+              failWebsocketConnection(this.ws, "Frame cannot be masked");
+              return callback();
             }
-            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"
+            if (rsv1 !== 0 && !this.#extensions.has("permessage-deflate")) {
+              failWebsocketConnection(this.ws, "Expected RSV1 to be clear.");
+              return;
+            }
+            if (rsv2 !== 0 || rsv3 !== 0) {
+              failWebsocketConnection(this.ws, "RSV1, RSV2, RSV3 must be clear");
+              return;
+            }
+            if (fragmented && !isTextBinaryFrame(opcode)) {
+              failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
+              return;
+            }
+            if (isTextBinaryFrame(opcode) && this.#fragments.length > 0) {
+              failWebsocketConnection(this.ws, "Expected continuation frame");
+              return;
+            }
+            if (this.#info.fragmented && fragmented) {
+              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
+              return;
+            }
+            if ((payloadLength > 125 || fragmented) && isControlFrame(opcode)) {
+              failWebsocketConnection(this.ws, "Control frame either too large or fragmented");
+              return;
+            }
+            if (isContinuationFrame(opcode) && this.#fragments.length === 0 && !this.#info.compressed) {
+              failWebsocketConnection(this.ws, "Unexpected continuation frame");
+              return;
+            }
+            if (payloadLength <= 125) {
+              this.#info.payloadLength = payloadLength;
+              this.#state = parserStates.READ_DATA;
+            } else if (payloadLength === 126) {
+              this.#state = parserStates.PAYLOADLENGTH_16;
+            } else if (payloadLength === 127) {
+              this.#state = parserStates.PAYLOADLENGTH_64;
+            }
+            if (isTextBinaryFrame(opcode)) {
+              this.#info.binaryType = opcode;
+              this.#info.compressed = rsv1 !== 0;
+            }
+            this.#info.opcode = opcode;
+            this.#info.masked = masked;
+            this.#info.fin = fin;
+            this.#info.fragmented = fragmented;
+          } else if (this.#state === parserStates.PAYLOADLENGTH_16) {
+            if (this.#byteOffset < 2) {
+              return callback();
+            }
+            const buffer = this.consume(2);
+            this.#info.payloadLength = buffer.readUInt16BE(0);
+            this.#state = parserStates.READ_DATA;
+          } else if (this.#state === parserStates.PAYLOADLENGTH_64) {
+            if (this.#byteOffset < 8) {
+              return callback();
+            }
+            const buffer = this.consume(8);
+            const upper = buffer.readUInt32BE(0);
+            if (upper > 2 ** 31 - 1) {
+              failWebsocketConnection(this.ws, "Received payload length > 2^31 bytes.");
+              return;
+            }
+            const lower = buffer.readUInt32BE(4);
+            this.#info.payloadLength = (upper << 8) + lower;
+            this.#state = parserStates.READ_DATA;
+          } else if (this.#state === parserStates.READ_DATA) {
+            if (this.#byteOffset < this.#info.payloadLength) {
+              return callback();
+            }
+            const body = this.consume(this.#info.payloadLength);
+            if (isControlFrame(this.#info.opcode)) {
+              this.#loop = this.parseControlFrame(body);
+              this.#state = parserStates.INFO;
+            } else {
+              if (!this.#info.compressed) {
+                this.#fragments.push(body);
+                if (!this.#info.fragmented && this.#info.fin) {
+                  const fullMessage = Buffer.concat(this.#fragments);
+                  websocketMessageReceived(this.ws, this.#info.binaryType, fullMessage);
+                  this.#fragments.length = 0;
+                }
+                this.#state = parserStates.INFO;
+              } else {
+                this.#extensions.get("permessage-deflate").decompress(body, this.#info.fin, (error3, data) => {
+                  if (error3) {
+                    closeWebSocketConnection(this.ws, 1007, error3.message, error3.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;
               }
-              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}
+       * Take n bytes from the buffered Buffers
+       * @param {number} n
+       * @returns {Buffer}
        */
-      #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);
+      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;
           }
         }
-        return resultList;
+        this.#byteOffset -= n;
+        return buffer;
       }
-      /**
-       * @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 = "";
+      parseCloseBody(data) {
+        assert(data.length !== 1);
+        let code;
+        if (data.length >= 2) {
+          code = data.readUInt16BE(0);
         }
-        if (!urlEquals(queryURL, cachedURL, true)) {
-          return false;
+        if (code !== void 0 && !isValidStatusCode(code)) {
+          return { code: 1002, reason: "Invalid status code", error: true };
         }
-        if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) {
-          return true;
+        let reason = data.subarray(2);
+        if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
+          reason = reason.subarray(3);
         }
-        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;
-          }
+        try {
+          reason = utf8Decode(reason);
+        } catch {
+          return { code: 1007, reason: "Invalid UTF-8", error: true };
         }
-        return true;
-      }
-    };
-    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
+        return { code, reason, error: false };
       }
-    ]);
-    webidl.converters.Response = webidl.interfaceConverter(Response);
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.RequestInfo
-    );
-    module2.exports = {
-      Cache
-    };
-  }
-});
-
-// node_modules/undici/lib/cache/cachestorage.js
-var require_cachestorage2 = __commonJS({
-  "node_modules/undici/lib/cache/cachestorage.js"(exports2, module2) {
-    "use strict";
-    var { kConstruct } = require_symbols9();
-    var { Cache } = require_cache2();
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util9();
-    var CacheStorage = class _CacheStorage {
       /**
-       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
-       * @type {Map {
+                if (!err) {
+                  this.ws[kSentClose] = sentCloseFrameState.SENT;
+                }
+              }
+            );
+          }
+          this.ws[kReadyState] = states.CLOSING;
+          this.ws[kReceivedClose] = true;
+          return false;
+        } else if (opcode === opcodes.PING) {
+          if (!this.ws[kReceivedClose]) {
+            const frame = new WebsocketFrameSend(body);
+            this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
+            if (channels.ping.hasSubscribers) {
+              channels.ping.publish({
+                payload: body
+              });
             }
           }
+        } else if (opcode === opcodes.PONG) {
+          if (channels.pong.hasSubscribers) {
+            channels.pong.publish({
+              payload: body
+            });
+          }
         }
+        return true;
       }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#cache-storage-has
-       * @param {string} cacheName
-       * @returns {Promise}
-       */
-      async has(cacheName) {
-        webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.has" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        return this.#caches.has(cacheName);
-      }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open
-       * @param {string} cacheName
-       * @returns {Promise}
-       */
-      async open(cacheName) {
-        webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.open" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        if (this.#caches.has(cacheName)) {
-          const cache2 = this.#caches.get(cacheName);
-          return new Cache(kConstruct, cache2);
-        }
-        const 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);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.delete" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        return this.#caches.delete(cacheName);
-      }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys
-       * @returns {string[]}
-       */
-      async keys() {
-        webidl.brandCheck(this, _CacheStorage);
-        const keys = this.#caches.keys();
-        return [...keys];
+      get closingInfo() {
+        return this.#info.closeInfo;
       }
     };
-    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/cookies/constants.js
-var require_constants9 = __commonJS({
-  "node_modules/undici/lib/cookies/constants.js"(exports2, module2) {
-    "use strict";
-    var maxAttributeValueSize = 1024;
-    var maxNameValuePairSize = 4096;
     module2.exports = {
-      maxAttributeValueSize,
-      maxNameValuePairSize
+      ByteParser
     };
   }
 });
 
-// node_modules/undici/lib/cookies/util.js
-var require_util14 = __commonJS({
-  "node_modules/undici/lib/cookies/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js
+var require_sender2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js"(exports2, module2) {
     "use strict";
-    function isCTLExcludingHtab(value) {
-      if (value.length === 0) {
-        return false;
-      }
-      for (const char of value) {
-        const code = char.charCodeAt(0);
-        if (code >= 0 || code <= 8 || (code >= 10 || code <= 31) || code === 127) {
-          return false;
-        }
+    var { WebsocketFrameSend } = require_frame2();
+    var { opcodes, sendHints } = require_constants10();
+    var FixedQueue = require_fixed_queue2();
+    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;
       }
-    }
-    function validateCookieName(name) {
-      for (const char of name) {
-        const code = char.charCodeAt(0);
-        if (code <= 32 || code > 127 || char === "(" || char === ")" || char === ">" || char === "<" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}") {
-          throw new Error("Invalid cookie name");
+      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;
         }
-      }
-    }
-    function validateCookieValue(value) {
-      for (const char of value) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || // exclude CTLs (0-31)
-        code === 34 || code === 44 || code === 59 || code === 92 || code > 126) {
-          throw new Error("Invalid header value");
+        const 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();
         }
       }
-    }
-    function validateCookiePath(path8) {
-      for (const char of path8) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || char === ";") {
-          throw new Error("Invalid cookie path");
+      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 validateCookieDomain(domain) {
-      if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
-        throw new Error("Invalid cookie domain");
-      }
-    }
-    function toIMFDate(date) {
-      if (typeof date === "number") {
-        date = new Date(date);
-      }
-      const days = [
-        "Sun",
-        "Mon",
-        "Tue",
-        "Wed",
-        "Thu",
-        "Fri",
-        "Sat"
-      ];
-      const months = [
-        "Jan",
-        "Feb",
-        "Mar",
-        "Apr",
-        "May",
-        "Jun",
-        "Jul",
-        "Aug",
-        "Sep",
-        "Oct",
-        "Nov",
-        "Dec"
-      ];
-      const dayName = days[date.getUTCDay()];
-      const day = date.getUTCDate().toString().padStart(2, "0");
-      const month = months[date.getUTCMonth()];
-      const year = date.getUTCFullYear();
-      const hour = date.getUTCHours().toString().padStart(2, "0");
-      const minute = date.getUTCMinutes().toString().padStart(2, "0");
-      const second = date.getUTCSeconds().toString().padStart(2, "0");
-      return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`;
-    }
-    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("=")}`);
+    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);
       }
-      return out.join("; ");
     }
-    module2.exports = {
-      isCTLExcludingHtab,
-      validateCookieName,
-      validateCookiePath,
-      validateCookieValue,
-      toIMFDate,
-      stringify
-    };
+    module2.exports = { SendQueue };
   }
 });
 
-// node_modules/undici/lib/cookies/parse.js
-var require_parse2 = __commonJS({
-  "node_modules/undici/lib/cookies/parse.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js
+var require_websocket2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js"(exports2, module2) {
     "use strict";
-    var { maxNameValuePairSize, maxAttributeValueSize } = require_constants9();
-    var { isCTLExcludingHtab } = require_util14();
-    var { collectASequenceOfCodePointsFast } = require_dataURL();
-    var assert = require("assert");
-    function parseSetCookie(header) {
-      if (isCTLExcludingHtab(header)) {
-        return null;
-      }
-      let nameValuePair = "";
-      let unparsedAttributes = "";
-      let name = "";
-      let value = "";
-      if (header.includes(";")) {
-        const position = { position: 0 };
-        nameValuePair = collectASequenceOfCodePointsFast(";", header, position);
-        unparsedAttributes = header.slice(position.position);
-      } 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)
+    var { webidl } = require_webidl2();
+    var { URLSerializer } = require_data_url2();
+    var { environmentSettingsObject } = require_util10();
+    var { staticPropertyDescriptors, states, sentCloseFrameState, sendHints } = require_constants10();
+    var {
+      kWebSocketURL,
+      kReadyState,
+      kController,
+      kBinaryType,
+      kResponse,
+      kSentClose,
+      kByteParser
+    } = require_symbols10();
+    var {
+      isConnecting,
+      isEstablished,
+      isClosing,
+      isValidSubprotocol,
+      fireEvent
+    } = require_util15();
+    var { establishWebSocketConnection, closeWebSocketConnection } = require_connection2();
+    var { ByteParser } = require_receiver2();
+    var { kEnumerableProperty, isBlobLike } = require_util9();
+    var { getGlobalDispatcher } = require_global4();
+    var { types } = require("node:util");
+    var { ErrorEvent, CloseEvent } = require_events2();
+    var { SendQueue } = require_sender2();
+    var WebSocket = class _WebSocket extends EventTarget {
+      #events = {
+        open: null,
+        error: null,
+        close: null,
+        message: null
       };
-    }
-    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);
+      #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 (!/^\d+$/.test(attributeValue)) {
-          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
+        if (urlRecord.protocol === "http:") {
+          urlRecord.protocol = "ws:";
+        } else if (urlRecord.protocol === "https:") {
+          urlRecord.protocol = "wss:";
         }
-        const deltaSeconds = Number(attributeValue);
-        cookieAttributeList.maxAge = deltaSeconds;
-      } else if (attributeNameLowercase === "domain") {
-        let cookieDomain = attributeValue;
-        if (cookieDomain[0] === ".") {
-          cookieDomain = cookieDomain.slice(1);
+        if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") {
+          throw new DOMException(
+            `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
+            "SyntaxError"
+          );
         }
-        cookieDomain = cookieDomain.toLowerCase();
-        cookieAttributeList.domain = cookieDomain;
-      } else if (attributeNameLowercase === "path") {
-        let cookiePath = "";
-        if (attributeValue.length === 0 || attributeValue[0] !== "/") {
-          cookiePath = "/";
-        } else {
-          cookiePath = attributeValue;
+        if (urlRecord.hash || urlRecord.href.endsWith("#")) {
+          throw new DOMException("Got fragment", "SyntaxError");
         }
-        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 (typeof protocols === "string") {
+          protocols = [protocols];
         }
-        if (attributeValueLowercase.includes("strict")) {
-          enforcement = "Strict";
+        if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
+          throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
         }
-        if (attributeValueLowercase.includes("lax")) {
-          enforcement = "Lax";
+        if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
+          throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
         }
-        cookieAttributeList.sameSite = enforcement;
-      } else {
-        cookieAttributeList.unparsed ??= [];
-        cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`);
-      }
-      return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
-    }
-    module2.exports = {
-      parseSetCookie,
-      parseUnparsedAttributes
-    };
-  }
-});
-
-// node_modules/undici/lib/cookies/index.js
-var require_cookies2 = __commonJS({
-  "node_modules/undici/lib/cookies/index.js"(exports2, module2) {
-    "use strict";
-    var { parseSetCookie } = require_parse2();
-    var { stringify } = require_util14();
-    var { webidl } = require_webidl2();
-    var { Headers } = require_headers2();
-    function getCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "getCookies" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      const cookie = headers.get("cookie");
-      const out = {};
-      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.argumentLengthCheck(arguments, 2, { header: "deleteCookie" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      name = webidl.converters.DOMString(name);
-      attributes = webidl.converters.DeleteCookieAttributes(attributes);
-      setCookie(headers, {
-        name,
-        value: "",
-        expires: /* @__PURE__ */ new Date(0),
-        ...attributes
-      });
-    }
-    function getSetCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "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, { header: "setCookie" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      cookie = webidl.converters.Cookie(cookie);
-      const str2 = stringify(cookie);
-      if (str2) {
-        headers.append("Set-Cookie", stringify(cookie));
-      }
-    }
-    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
+        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";
       }
-    ]);
-    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);
+      /**
+       * @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");
           }
-          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: []
+        }
+        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);
       }
-    ]);
-    module2.exports = {
-      getCookies,
-      deleteCookie,
-      getSetCookies,
-      setCookie
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/constants.js
-var require_constants10 = __commonJS({
-  "node_modules/undici/lib/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 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);
-    module2.exports = {
-      uid,
-      staticPropertyDescriptors,
-      states,
-      opcodes,
-      maxUnsigned16Bit,
-      parserStates,
-      emptyBuffer
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/symbols.js
-var require_symbols10 = __commonJS({
-  "node_modules/undici/lib/websocket/symbols.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
-      kReadyState: /* @__PURE__ */ Symbol("ready state"),
-      kController: /* @__PURE__ */ Symbol("controller"),
-      kResponse: /* @__PURE__ */ Symbol("response"),
-      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
-      kSentClose: /* @__PURE__ */ Symbol("sent close"),
-      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
-      kByteParser: /* @__PURE__ */ Symbol("byte parser")
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/events.js
-var require_events2 = __commonJS({
-  "node_modules/undici/lib/websocket/events.js"(exports2, module2) {
-    "use strict";
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util9();
-    var { MessagePort } = require("worker_threads");
-    var MessageEvent = class _MessageEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.MessageEventInit(eventInitDict);
-        super(type2, eventInitDict);
-        this.#eventInit = eventInitDict;
+      /**
+       * @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 data() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.data;
+      get readyState() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kReadyState];
       }
-      get origin() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.origin;
+      get bufferedAmount() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#bufferedAmount;
       }
-      get lastEventId() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.lastEventId;
+      get url() {
+        webidl.brandCheck(this, _WebSocket);
+        return URLSerializer(this[kWebSocketURL]);
       }
-      get source() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.source;
+      get extensions() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#extensions;
       }
-      get ports() {
-        webidl.brandCheck(this, _MessageEvent);
-        if (!Object.isFrozen(this.#eventInit.ports)) {
-          Object.freeze(this.#eventInit.ports);
-        }
-        return this.#eventInit.ports;
+      get protocol() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#protocol;
       }
-      initMessageEvent(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
-        webidl.brandCheck(this, _MessageEvent);
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent.initMessageEvent" });
-        return new _MessageEvent(type2, {
-          bubbles,
-          cancelable,
-          data,
-          origin,
-          lastEventId,
-          source,
-          ports
-        });
+      get onopen() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.open;
       }
-    };
-    var CloseEvent = class _CloseEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
-        super(type2, eventInitDict);
-        this.#eventInit = eventInitDict;
+      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 wasClean() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.wasClean;
+      get onerror() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.error;
       }
-      get code() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.code;
+      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 reason() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.reason;
+      get onclose() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.close;
       }
-    };
-    var ErrorEvent = class _ErrorEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" });
-        super(type2, eventInitDict);
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});
-        this.#eventInit = eventInitDict;
+      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 message() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.message;
+      get onmessage() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.message;
       }
-      get filename() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.filename;
+      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 lineno() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.lineno;
+      get binaryType() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kBinaryType];
       }
-      get colno() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.colno;
+      set binaryType(type2) {
+        webidl.brandCheck(this, _WebSocket);
+        if (type2 !== "blob" && type2 !== "arraybuffer") {
+          this[kBinaryType] = "blob";
+        } else {
+          this[kBinaryType] = type2;
+        }
       }
-      get error() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.error;
+      /**
+       * @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);
       }
     };
-    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, {
+    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: "CloseEvent",
+        value: "WebSocket",
+        writable: false,
+        enumerable: false,
         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
+    Object.defineProperties(WebSocket, {
+      CONNECTING: staticPropertyDescriptors,
+      OPEN: staticPropertyDescriptors,
+      CLOSING: staticPropertyDescriptors,
+      CLOSED: staticPropertyDescriptors
     });
-    webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort);
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.MessagePort
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.DOMString
     );
-    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"],
-        get defaultValue() {
-          return [];
-        }
-      }
-    ]);
-    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["DOMString or sequence"] = function(V, prefix, argument) {
+      if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
+        return webidl.converters["sequence"](V);
       }
-    ]);
-    webidl.converters.ErrorEventInit = webidl.dictionaryConverter([
-      ...eventInit,
-      {
-        key: "message",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "filename",
-        converter: webidl.converters.USVString,
-        defaultValue: ""
-      },
+      return webidl.converters.DOMString(V, prefix, argument);
+    };
+    webidl.converters.WebSocketInit = webidl.dictionaryConverter([
       {
-        key: "lineno",
-        converter: webidl.converters["unsigned long"],
-        defaultValue: 0
+        key: "protocols",
+        converter: webidl.converters["DOMString or sequence"],
+        defaultValue: () => new Array(0)
       },
       {
-        key: "colno",
-        converter: webidl.converters["unsigned long"],
-        defaultValue: 0
+        key: "dispatcher",
+        converter: webidl.converters.any,
+        defaultValue: () => getGlobalDispatcher()
       },
-      {
-        key: "error",
-        converter: webidl.converters.any
-      }
-    ]);
-    module2.exports = {
-      MessageEvent,
-      CloseEvent,
-      ErrorEvent
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/util.js
-var require_util15 = __commonJS({
-  "node_modules/undici/lib/websocket/util.js"(exports2, module2) {
-    "use strict";
-    var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols10();
-    var { states, opcodes } = require_constants10();
-    var { MessageEvent, ErrorEvent } = require_events2();
-    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, eventConstructor = Event, eventInitDict) {
-      const event = new eventConstructor(e, eventInitDict);
-      target.dispatchEvent(event);
-    }
-    function websocketMessageReceived(ws, type2, data) {
-      if (ws[kReadyState] !== states.OPEN) {
-        return;
-      }
-      let dataForEvent;
-      if (type2 === opcodes.TEXT) {
-        try {
-          dataForEvent = new TextDecoder("utf-8", { fatal: true }).decode(data);
-        } catch {
-          failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
-          return;
-        }
-      } else if (type2 === opcodes.BINARY) {
-        if (ws[kBinaryType] === "blob") {
-          dataForEvent = new Blob([data]);
-        } else {
-          dataForEvent = new Uint8Array(data).buffer;
-        }
+      {
+        key: "headers",
+        converter: webidl.nullableConverter(webidl.converters.HeadersInit)
       }
-      fireEvent("message", ws, MessageEvent, {
-        origin: ws[kWebSocketURL].origin,
-        data: dataForEvent
-      });
-    }
-    function isValidSubprotocol(protocol) {
-      if (protocol.length === 0) {
-        return false;
+    ]);
+    webidl.converters["DOMString or sequence or WebSocketInit"] = function(V) {
+      if (webidl.util.Type(V) === "Object" && !(Symbol.iterator in V)) {
+        return webidl.converters.WebSocketInit(V);
       }
-      for (const char of protocol) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || code > 126 || char === "(" || char === ")" || char === "<" || char === ">" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}" || code === 32 || // SP
-        code === 9) {
-          return false;
+      return { 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 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;
+      return webidl.converters.USVString(V);
+    };
+    function onParserDrain() {
+      this.ws[kResponse].socket.resume();
     }
-    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, ErrorEvent, {
-          error: new Error(reason)
-        });
+    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 = {
-      isEstablished,
-      isClosing,
-      isClosed,
-      fireEvent,
-      isValidSubprotocol,
-      isValidStatusCode,
-      failWebsocketConnection,
-      websocketMessageReceived
+      WebSocket
     };
   }
 });
 
-// node_modules/undici/lib/websocket/connection.js
-var require_connection2 = __commonJS({
-  "node_modules/undici/lib/websocket/connection.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js
+var require_util16 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js"(exports2, module2) {
     "use strict";
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { uid, states } = require_constants10();
-    var {
-      kReadyState,
-      kSentClose,
-      kByteParser,
-      kReceivedClose
-    } = require_symbols10();
-    var { fireEvent, failWebsocketConnection } = require_util15();
-    var { CloseEvent } = require_events2();
-    var { makeRequest } = require_request4();
-    var { fetching } = require_fetch2();
-    var { Headers } = require_headers2();
-    var { getGlobalDispatcher } = require_global4();
-    var { kHeadersList } = require_symbols6();
-    var channels = {};
-    channels.open = diagnosticsChannel.channel("undici:websocket:open");
-    channels.close = diagnosticsChannel.channel("undici:websocket:close");
-    channels.socketError = diagnosticsChannel.channel("undici:websocket:socket_error");
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-    } catch {
-    }
-    function establishWebSocketConnection(url, protocols, ws, onEstablish, options) {
-      const requestURL = url;
-      requestURL.protocol = url.protocol === "ws:" ? "http:" : "https:";
-      const request2 = makeRequest({
-        urlList: [requestURL],
-        serviceWorkers: "none",
-        referrer: "no-referrer",
-        mode: "websocket",
-        credentials: "include",
-        cache: "no-store",
-        redirect: "error"
-      });
-      if (options.headers) {
-        const headersList = new Headers(options.headers)[kHeadersList];
-        request2.headersList = headersList;
-      }
-      const keyValue = crypto2.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 = "";
-      const controller = fetching({
-        request: request2,
-        useParallelQueue: true,
-        dispatcher: options.dispatcher ?? getGlobalDispatcher(),
-        processResponse(response) {
-          if (response.type === "error" || response.status !== 101) {
-            failWebsocketConnection(ws, "Received network error or non-101 status code.");
-            return;
-          }
-          if (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 = crypto2.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");
-          if (secExtension !== null && secExtension !== permessageDeflate) {
-            failWebsocketConnection(ws, "Received different permessage-deflate than the one set.");
-            return;
-          }
-          const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");
-          if (secProtocol !== null && secProtocol !== request2.headersList.get("Sec-WebSocket-Protocol")) {
-            failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");
-            return;
-          }
-          response.socket.on("data", onSocketData);
-          response.socket.on("close", onSocketClose);
-          response.socket.on("error", onSocketError);
-          if (channels.open.hasSubscribers) {
-            channels.open.publish({
-              address: response.socket.address(),
-              protocol: secProtocol,
-              extensions: secExtension
-            });
-          }
-          onEstablish(response);
-        }
-      });
-      return controller;
+    function isValidLastEventId(value) {
+      return value.indexOf("\0") === -1;
     }
-    function onSocketData(chunk) {
-      if (!this.ws[kByteParser].write(chunk)) {
-        this.pause();
+    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 onSocketClose() {
-      const { ws } = this;
-      const wasClean = ws[kSentClose] && ws[kReceivedClose];
-      let code = 1005;
-      let reason = "";
-      const result = ws[kByteParser].closingInfo;
-      if (result) {
-        code = result.code ?? 1005;
-        reason = result.reason;
-      } else if (!ws[kSentClose]) {
-        code = 1006;
-      }
-      ws[kReadyState] = states.CLOSED;
-      fireEvent("close", ws, CloseEvent, {
-        wasClean,
-        code,
-        reason
+    function delay2(ms) {
+      return new Promise((resolve4) => {
+        setTimeout(resolve4, ms).unref();
       });
-      if (channels.close.hasSubscribers) {
-        channels.close.publish({
-          websocket: ws,
-          code,
-          reason
-        });
-      }
-    }
-    function onSocketError(error3) {
-      const { ws } = this;
-      ws[kReadyState] = states.CLOSING;
-      if (channels.socketError.hasSubscribers) {
-        channels.socketError.publish(error3);
-      }
-      this.destroy();
     }
     module2.exports = {
-      establishWebSocketConnection
+      isValidLastEventId,
+      isASCIINumber,
+      delay: delay2
     };
   }
 });
 
-// node_modules/undici/lib/websocket/frame.js
-var require_frame2 = __commonJS({
-  "node_modules/undici/lib/websocket/frame.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js
+var require_eventsource_stream2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js"(exports2, module2) {
     "use strict";
-    var { maxUnsigned16Bit } = require_constants10();
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-    } catch {
-    }
-    var WebsocketFrameSend = class {
+    var { Transform } = require("node:stream");
+    var { isASCIINumber, isValidLastEventId } = require_util16();
+    var BOM = [239, 187, 191];
+    var LF = 10;
+    var CR = 13;
+    var COLON = 58;
+    var SPACE = 32;
+    var EventSourceStream = class extends Transform {
       /**
-       * @param {Buffer|undefined} data
+       * @type {eventSourceSettings}
        */
-      constructor(data) {
-        this.frameData = data;
-        this.maskKey = crypto2.randomBytes(4);
-      }
-      createFrame(opcode) {
-        const bodyLength = this.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 buffer = Buffer.allocUnsafe(bodyLength + offset);
-        buffer[0] = buffer[1] = 0;
-        buffer[0] |= 128;
-        buffer[0] = (buffer[0] & 240) + opcode;
-        buffer[offset - 4] = this.maskKey[0];
-        buffer[offset - 3] = this.maskKey[1];
-        buffer[offset - 2] = this.maskKey[2];
-        buffer[offset - 1] = this.maskKey[3];
-        buffer[1] = payloadLength;
-        if (payloadLength === 126) {
-          buffer.writeUInt16BE(bodyLength, 2);
-        } else if (payloadLength === 127) {
-          buffer[2] = buffer[3] = 0;
-          buffer.writeUIntBE(bodyLength, 4, 6);
-        }
-        buffer[1] |= 128;
-        for (let i = 0; i < bodyLength; i++) {
-          buffer[offset + i] = this.frameData[i] ^ this.maskKey[i % 4];
-        }
-        return buffer;
-      }
-    };
-    module2.exports = {
-      WebsocketFrameSend
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/receiver.js
-var require_receiver2 = __commonJS({
-  "node_modules/undici/lib/websocket/receiver.js"(exports2, module2) {
-    "use strict";
-    var { Writable } = require("stream");
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { parserStates, opcodes, states, emptyBuffer } = require_constants10();
-    var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols10();
-    var { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require_util15();
-    var { WebsocketFrameSend } = require_frame2();
-    var channels = {};
-    channels.ping = diagnosticsChannel.channel("undici:websocket:ping");
-    channels.pong = diagnosticsChannel.channel("undici:websocket:pong");
-    var ByteParser = class extends Writable {
-      #buffers = [];
-      #byteOffset = 0;
-      #state = parserStates.INFO;
-      #info = {};
-      #fragments = [];
-      constructor(ws) {
-        super();
-        this.ws = ws;
-      }
+      state = null;
       /**
-       * @param {Buffer} chunk
-       * @param {() => void} callback
+       * Leading byte-order-mark check.
+       * @type {boolean}
        */
-      _write(chunk, _, callback) {
-        this.#buffers.push(chunk);
-        this.#byteOffset += chunk.length;
-        this.run(callback);
+      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;
+        }
       }
       /**
-       * 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.
+       * @param {Buffer} chunk
+       * @param {string} _encoding
+       * @param {Function} callback
+       * @returns {void}
        */
-      run(callback) {
-        while (true) {
-          if (this.#state === parserStates.INFO) {
-            if (this.#byteOffset < 2) {
-              return callback();
-            }
-            const buffer = this.consume(2);
-            this.#info.fin = (buffer[0] & 128) !== 0;
-            this.#info.opcode = buffer[0] & 15;
-            this.#info.originalOpcode ??= this.#info.opcode;
-            this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION;
-            if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) {
-              failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
-              return;
-            }
-            const payloadLength = buffer[1] & 127;
-            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 (this.#info.fragmented && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
-              return;
-            } else if ((this.#info.opcode === opcodes.PING || this.#info.opcode === opcodes.PONG || this.#info.opcode === opcodes.CLOSE) && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Payload length for control frame exceeded 125 bytes.");
-              return;
-            } else if (this.#info.opcode === opcodes.CLOSE) {
-              if (payloadLength === 1) {
-                failWebsocketConnection(this.ws, "Received close frame with a 1-byte body.");
+      _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;
               }
-              const body = this.consume(payloadLength);
-              this.#info.closeInfo = this.parseCloseBody(false, body);
-              if (!this.ws[kSentClose]) {
-                const body2 = Buffer.allocUnsafe(2);
-                body2.writeUInt16BE(this.#info.closeInfo.code, 0);
-                const closeFrame = new WebsocketFrameSend(body2);
-                this.ws[kResponse].socket.write(
-                  closeFrame.createFrame(opcodes.CLOSE),
-                  (err) => {
-                    if (!err) {
-                      this.ws[kSentClose] = true;
-                    }
-                  }
-                );
-              }
-              this.ws[kReadyState] = states.CLOSING;
-              this.ws[kReceivedClose] = true;
-              this.end();
+              this.checkBOM = false;
+              callback();
               return;
-            } else if (this.#info.opcode === opcodes.PING) {
-              const body = this.consume(payloadLength);
-              if (!this.ws[kReceivedClose]) {
-                const frame = new WebsocketFrameSend(body);
-                this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
-                if (channels.ping.hasSubscribers) {
-                  channels.ping.publish({
-                    payload: body
-                  });
-                }
+            case 2:
+              if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1]) {
+                callback();
+                return;
               }
-              this.#state = parserStates.INFO;
-              if (this.#byteOffset > 0) {
-                continue;
-              } else {
+              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;
               }
-            } else if (this.#info.opcode === opcodes.PONG) {
-              const body = this.consume(payloadLength);
-              if (channels.pong.hasSubscribers) {
-                channels.pong.publish({
-                  payload: body
-                });
+              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);
               }
-              if (this.#byteOffset > 0) {
+              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;
-              } else {
-                callback();
-                return;
               }
+              this.crlfCheck = false;
             }
-          } 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();
-            } else if (this.#byteOffset >= this.#info.payloadLength) {
-              const body = this.consume(this.#info.payloadLength);
-              this.#fragments.push(body);
-              if (!this.#info.fragmented || this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) {
-                const fullMessage = Buffer.concat(this.#fragments);
-                websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage);
-                this.#info = {};
-                this.#fragments.length = 0;
+            if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) {
+              if (this.buffer[this.pos] === CR) {
+                this.crlfCheck = true;
               }
-              this.#state = parserStates.INFO;
+              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.#byteOffset > 0) {
+          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;
-          } else {
-            callback();
-            break;
           }
+          this.pos++;
         }
+        callback();
       }
       /**
-       * Take n bytes from the buffered Buffers
-       * @param {number} n
-       * @returns {Buffer|null}
+       * @param {Buffer} line
+       * @param {EventStreamEvent} event
        */
-      consume(n) {
-        if (n > this.#byteOffset) {
-          return null;
-        } else if (n === 0) {
-          return emptyBuffer;
+      parseLine(line, event) {
+        if (line.length === 0) {
+          return;
         }
-        if (this.#buffers[0].length === n) {
-          this.#byteOffset -= this.#buffers[0].length;
-          return this.#buffers.shift();
+        const colonPosition = line.indexOf(COLON);
+        if (colonPosition === 0) {
+          return;
         }
-        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);
+        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;
-          } else if (length + offset > n) {
-            buffer.set(next.subarray(0, n - offset), offset);
-            this.#buffers[0] = next.subarray(n - offset);
+          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;
-          } else {
-            buffer.set(this.#buffers.shift(), offset);
-            offset += next.length;
-          }
         }
-        this.#byteOffset -= n;
-        return buffer;
       }
-      parseCloseBody(onlyCode, data) {
-        let code;
-        if (data.length >= 2) {
-          code = data.readUInt16BE(0);
-        }
-        if (onlyCode) {
-          if (!isValidStatusCode(code)) {
-            return null;
-          }
-          return { code };
-        }
-        let reason = data.subarray(2);
-        if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
-          reason = reason.subarray(3);
+      /**
+       * @param {EventSourceStreamEvent} event
+       */
+      processEvent(event) {
+        if (event.retry && isASCIINumber(event.retry)) {
+          this.state.reconnectionTime = parseInt(event.retry, 10);
         }
-        if (code !== void 0 && !isValidStatusCode(code)) {
-          return null;
+        if (event.id && isValidLastEventId(event.id)) {
+          this.state.lastEventId = event.id;
         }
-        try {
-          reason = new TextDecoder("utf-8", { fatal: true }).decode(reason);
-        } catch {
-          return null;
+        if (event.data !== void 0) {
+          this.push({
+            type: event.event || "message",
+            options: {
+              data: event.data,
+              lastEventId: this.state.lastEventId,
+              origin: this.state.origin
+            }
+          });
         }
-        return { code, reason };
       }
-      get closingInfo() {
-        return this.#info.closeInfo;
+      clearEvent() {
+        this.event = {
+          data: void 0,
+          event: void 0,
+          id: void 0,
+          retry: void 0
+        };
       }
     };
     module2.exports = {
-      ByteParser
+      EventSourceStream
     };
   }
 });
 
-// node_modules/undici/lib/websocket/websocket.js
-var require_websocket2 = __commonJS({
-  "node_modules/undici/lib/websocket/websocket.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js
+var require_eventsource2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js"(exports2, module2) {
     "use strict";
+    var { pipeline } = require("node:stream");
+    var { fetching } = require_fetch2();
+    var { makeRequest } = require_request4();
     var { webidl } = require_webidl2();
-    var { DOMException: DOMException2 } = require_constants7();
-    var { URLSerializer } = require_dataURL();
-    var { getGlobalOrigin } = require_global3();
-    var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require_constants10();
-    var {
-      kWebSocketURL,
-      kReadyState,
-      kController,
-      kBinaryType,
-      kResponse,
-      kSentClose,
-      kByteParser
-    } = require_symbols10();
-    var { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require_util15();
-    var { establishWebSocketConnection } = require_connection2();
-    var { WebsocketFrameSend } = require_frame2();
-    var { ByteParser } = require_receiver2();
-    var { kEnumerableProperty, isBlobLike } = require_util9();
-    var { getGlobalDispatcher } = require_global4();
-    var { types } = require("util");
+    var { EventSourceStream } = require_eventsource_stream2();
+    var { parseMIMEType } = require_data_url2();
+    var { createFastMessageEvent } = require_events2();
+    var { isNetworkError } = require_response2();
+    var { delay: delay2 } = require_util16();
+    var { kEnumerableProperty } = require_util9();
+    var { environmentSettingsObject } = require_util10();
     var experimentalWarned = false;
-    var WebSocket = class _WebSocket extends EventTarget {
+    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,
-        close: null,
         message: null
       };
-      #bufferedAmount = 0;
-      #protocol = "";
-      #extensions = "";
+      #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 {string|string[]} protocols
+       * @param {EventSourceInit} [eventSourceInitDict]
+       * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#the-eventsource-interface
        */
-      constructor(url, protocols = []) {
+      constructor(url, eventSourceInitDict = {}) {
         super();
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket constructor" });
+        webidl.util.markAsUncloneable(this);
+        const prefix = "EventSource constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
         if (!experimentalWarned) {
           experimentalWarned = true;
-          process.emitWarning("WebSockets are experimental, expect them to change at any time.", {
-            code: "UNDICI-WS"
+          process.emitWarning("EventSource is experimental, expect them to change at any time.", {
+            code: "UNDICI-ES"
           });
         }
-        const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols);
-        url = webidl.converters.USVString(url);
-        protocols = options.protocols;
-        const baseURL = getGlobalOrigin();
+        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, baseURL);
+          urlRecord = new URL(url, settings.settingsObject.baseUrl);
+          this.#state.origin = urlRecord.origin;
         } catch (e) {
-          throw new DOMException2(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 DOMException2(
-            `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
-            "SyntaxError"
-          );
-        }
-        if (urlRecord.hash || urlRecord.href.endsWith("#")) {
-          throw new DOMException2("Got fragment", "SyntaxError");
-        }
-        if (typeof protocols === "string") {
-          protocols = [protocols];
-        }
-        if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
-          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+          throw new DOMException(e, "SyntaxError");
         }
-        if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
-          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+        this.#url = urlRecord.href;
+        let corsAttributeState = ANONYMOUS;
+        if (eventSourceInitDict.withCredentials) {
+          corsAttributeState = USE_CREDENTIALS;
+          this.#withCredentials = true;
         }
-        this[kWebSocketURL] = new URL(urlRecord.href);
-        this[kController] = establishWebSocketConnection(
-          urlRecord,
-          protocols,
-          this,
-          (response) => this.#onConnectionEstablished(response),
-          options
-        );
-        this[kReadyState] = _WebSocket.CONNECTING;
-        this[kBinaryType] = "blob";
+        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();
       }
       /**
-       * @see https://websockets.spec.whatwg.org/#dom-websocket-close
-       * @param {number|undefined} code
-       * @param {string|undefined} reason
+       * Returns the state of this EventSource object's connection. It can have the
+       * values described below.
+       * @returns {0|1|2}
+       * @readonly
        */
-      close(code = void 0, reason = void 0) {
-        webidl.brandCheck(this, _WebSocket);
-        if (code !== void 0) {
-          code = webidl.converters["unsigned short"](code, { clamp: true });
-        }
-        if (reason !== void 0) {
-          reason = webidl.converters.USVString(reason);
-        }
-        if (code !== void 0) {
-          if (code !== 1e3 && (code < 3e3 || code > 4999)) {
-            throw new DOMException2("invalid code", "InvalidAccessError");
+      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();
           }
-        }
-        let reasonByteLength = 0;
-        if (reason !== void 0) {
-          reasonByteLength = Buffer.byteLength(reason);
-          if (reasonByteLength > 123) {
-            throw new DOMException2(
-              `Reason must be less than 123 bytes; received ${reasonByteLength}`,
-              "SyntaxError"
-            );
+          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;
+            }
           }
-        }
-        if (this[kReadyState] === _WebSocket.CLOSING || this[kReadyState] === _WebSocket.CLOSED) {
-        } else if (!isEstablished(this)) {
-          failWebsocketConnection(this, "Connection was closed before it was established.");
-          this[kReadyState] = _WebSocket.CLOSING;
-        } else if (!isClosing(this)) {
-          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 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;
           }
-          const socket = this[kResponse].socket;
-          socket.write(frame.createFrame(opcodes.CLOSE), (err) => {
-            if (!err) {
-              this[kSentClose] = true;
+          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
+              ));
             }
           });
-          this[kReadyState] = states.CLOSING;
-        } else {
-          this[kReadyState] = _WebSocket.CLOSING;
-        }
+          pipeline(
+            response.body.stream,
+            eventSourceStream,
+            (error3) => {
+              if (error3?.aborted === false) {
+                this.close();
+                this.dispatchEvent(new Event("error"));
+              }
+            }
+          );
+        };
+        this.#controller = fetching(fetchParams);
       }
       /**
-       * @see https://websockets.spec.whatwg.org/#dom-websocket-send
-       * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data
+       * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#sse-processing-model
+       * @returns {Promise}
        */
-      send(data) {
-        webidl.brandCheck(this, _WebSocket);
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" });
-        data = webidl.converters.WebSocketSendData(data);
-        if (this[kReadyState] === _WebSocket.CONNECTING) {
-          throw new DOMException2("Sent before connected.", "InvalidStateError");
-        }
-        if (!isEstablished(this) || isClosing(this)) {
-          return;
-        }
-        const socket = this[kResponse].socket;
-        if (typeof data === "string") {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.TEXT);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
-        } else if (types.isArrayBuffer(data)) {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
-        } else if (ArrayBuffer.isView(data)) {
-          const ab = Buffer.from(data, data.byteOffset, data.byteLength);
-          const frame = new WebsocketFrameSend(ab);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += ab.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= ab.byteLength;
-          });
-        } else if (isBlobLike(data)) {
-          const frame = new WebsocketFrameSend();
-          data.arrayBuffer().then((ab) => {
-            const value = Buffer.from(ab);
-            frame.frameData = value;
-            const buffer = frame.createFrame(opcodes.BINARY);
-            this.#bufferedAmount += value.byteLength;
-            socket.write(buffer, () => {
-              this.#bufferedAmount -= value.byteLength;
-            });
-          });
+      async #reconnect() {
+        if (this.#readyState === CLOSED) return;
+        this.#readyState = CONNECTING;
+        this.dispatchEvent(new Event("error"));
+        await delay2(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();
       }
-      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;
+      /**
+       * 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() {
-        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);
         }
@@ -37998,44 +39575,10 @@ var require_websocket2 = __commonJS({
           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);
         }
@@ -38046,137 +39589,87 @@ var require_websocket2 = __commonJS({
           this.#events.message = null;
         }
       }
-      get binaryType() {
-        webidl.brandCheck(this, _WebSocket);
-        return this[kBinaryType];
+      get onerror() {
+        return this.#events.error;
       }
-      set binaryType(type2) {
-        webidl.brandCheck(this, _WebSocket);
-        if (type2 !== "blob" && type2 !== "arraybuffer") {
-          this[kBinaryType] = "blob";
+      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[kBinaryType] = type2;
+          this.#events.error = null;
         }
       }
-      /**
-       * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
-       */
-      #onConnectionEstablished(response) {
-        this[kResponse] = response;
-        const parser = new ByteParser(this);
-        parser.on("drain", function onParserDrain() {
-          this.ws[kResponse].socket.resume();
-        });
-        response.socket.ws = this;
-        this[kByteParser] = parser;
-        this[kReadyState] = states.OPEN;
-        const extensions = response.headersList.get("sec-websocket-extensions");
-        if (extensions !== null) {
-          this.#extensions = extensions;
-        }
-        const protocol = response.headersList.get("sec-websocket-protocol");
-        if (protocol !== null) {
-          this.#protocol = protocol;
-        }
-        fireEvent("open", this);
+    };
+    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
       }
     };
-    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,
+    Object.defineProperties(EventSource, constantsPropertyDescriptors);
+    Object.defineProperties(EventSource.prototype, constantsPropertyDescriptors);
+    Object.defineProperties(EventSource.prototype, {
       close: kEnumerableProperty,
+      onerror: 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
+      onopen: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      url: kEnumerableProperty,
+      withCredentials: kEnumerableProperty
     });
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.DOMString
-    );
-    webidl.converters["DOMString or sequence"] = function(V) {
-      if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
-        return webidl.converters["sequence"](V);
-      }
-      return webidl.converters.DOMString(V);
-    };
-    webidl.converters.WebSocketInit = webidl.dictionaryConverter([
+    webidl.converters.EventSourceInitDict = webidl.dictionaryConverter([
       {
-        key: "protocols",
-        converter: webidl.converters["DOMString or sequence"],
-        get defaultValue() {
-          return [];
-        }
+        key: "withCredentials",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
       },
       {
         key: "dispatcher",
-        converter: (V) => V,
-        get defaultValue() {
-          return getGlobalDispatcher();
-        }
-      },
-      {
-        key: "headers",
-        converter: webidl.nullableConverter(webidl.converters.HeadersInit)
+        // undici only
+        converter: webidl.converters.any
       }
     ]);
-    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.isAnyArrayBuffer(V)) {
-          return webidl.converters.BufferSource(V);
-        }
-      }
-      return webidl.converters.USVString(V);
-    };
     module2.exports = {
-      WebSocket
+      EventSource,
+      defaultReconnectionTime
     };
   }
 });
 
-// node_modules/undici/index.js
+// node_modules/@actions/github/node_modules/undici/index.js
 var require_undici2 = __commonJS({
-  "node_modules/undici/index.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/index.js"(exports2, module2) {
     "use strict";
     var Client = require_client2();
     var Dispatcher = require_dispatcher2();
-    var errors = require_errors2();
     var Pool = require_pool2();
     var BalancedPool = require_balanced_pool2();
     var Agent = require_agent2();
+    var ProxyAgent = require_proxy_agent2();
+    var EnvHttpProxyAgent = require_env_http_proxy_agent2();
+    var RetryAgent = require_retry_agent2();
+    var errors = require_errors2();
     var util = require_util9();
     var { InvalidArgumentError } = errors;
     var api = require_api2();
@@ -38185,19 +39678,11 @@ var require_undici2 = __commonJS({
     var MockAgent = require_mock_agent2();
     var MockPool = require_mock_pool2();
     var mockErrors = require_mock_errors2();
-    var ProxyAgent = require_proxy_agent2();
-    var RetryHandler = require_RetryHandler();
+    var RetryHandler = require_retry_handler2();
     var { getGlobalDispatcher, setGlobalDispatcher } = require_global4();
-    var DecoratorHandler = require_DecoratorHandler();
-    var RedirectHandler = require_RedirectHandler();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var hasCrypto;
-    try {
-      require("crypto");
-      hasCrypto = true;
-    } catch {
-      hasCrypto = false;
-    }
+    var DecoratorHandler = require_decorator_handler2();
+    var RedirectHandler = require_redirect_handler2();
+    var createRedirectInterceptor = require_redirect_interceptor2();
     Object.assign(Dispatcher.prototype, api);
     module2.exports.Dispatcher = Dispatcher;
     module2.exports.Client = Client;
@@ -38205,12 +39690,24 @@ var require_undici2 = __commonJS({
     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_redirect2(),
+      retry: require_retry2(),
+      dump: require_dump2(),
+      dns: require_dns2()
+    };
     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") {
@@ -38252,48 +39749,42 @@ var require_undici2 = __commonJS({
     }
     module2.exports.setGlobalDispatcher = setGlobalDispatcher;
     module2.exports.getGlobalDispatcher = getGlobalDispatcher;
-    if (util.nodeMajor > 16 || util.nodeMajor === 16 && util.nodeMinor >= 8) {
-      let fetchImpl = null;
-      module2.exports.fetch = async function fetch(resource) {
-        if (!fetchImpl) {
-          fetchImpl = require_fetch2().fetch;
-        }
-        try {
-          return await fetchImpl(...arguments);
-        } catch (err) {
-          if (typeof err === "object") {
-            Error.captureStackTrace(err, this);
-          }
-          throw err;
+    var fetchImpl = require_fetch2().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);
         }
-      };
-      module2.exports.Headers = require_headers2().Headers;
-      module2.exports.Response = require_response2().Response;
-      module2.exports.Request = require_request4().Request;
-      module2.exports.FormData = require_formdata2().FormData;
-      module2.exports.File = require_file2().File;
-      module2.exports.FileReader = require_filereader2().FileReader;
-      const { setGlobalOrigin, getGlobalOrigin } = require_global3();
-      module2.exports.setGlobalOrigin = setGlobalOrigin;
-      module2.exports.getGlobalOrigin = getGlobalOrigin;
-      const { CacheStorage } = require_cachestorage2();
-      const { kConstruct } = require_symbols9();
-      module2.exports.caches = new CacheStorage(kConstruct);
-    }
-    if (util.nodeMajor >= 16) {
-      const { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
-      module2.exports.deleteCookie = deleteCookie;
-      module2.exports.getCookies = getCookies;
-      module2.exports.getSetCookies = getSetCookies;
-      module2.exports.setCookie = setCookie;
-      const { parseMIMEType, serializeAMimeType } = require_dataURL();
-      module2.exports.parseMIMEType = parseMIMEType;
-      module2.exports.serializeAMimeType = serializeAMimeType;
-    }
-    if (util.nodeMajor >= 18 && hasCrypto) {
-      const { WebSocket } = require_websocket2();
-      module2.exports.WebSocket = WebSocket;
-    }
+        throw err;
+      }
+    };
+    module2.exports.Headers = require_headers2().Headers;
+    module2.exports.Response = require_response2().Response;
+    module2.exports.Request = require_request4().Request;
+    module2.exports.FormData = require_formdata2().FormData;
+    module2.exports.File = globalThis.File ?? require("node:buffer").File;
+    module2.exports.FileReader = require_filereader2().FileReader;
+    var { setGlobalOrigin, getGlobalOrigin } = require_global3();
+    module2.exports.setGlobalOrigin = setGlobalOrigin;
+    module2.exports.getGlobalOrigin = getGlobalOrigin;
+    var { CacheStorage } = require_cachestorage2();
+    var { kConstruct } = require_symbols9();
+    module2.exports.caches = new CacheStorage(kConstruct);
+    var { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
+    module2.exports.deleteCookie = deleteCookie;
+    module2.exports.getCookies = getCookies;
+    module2.exports.getSetCookies = getSetCookies;
+    module2.exports.setCookie = setCookie;
+    var { parseMIMEType, serializeAMimeType } = require_data_url2();
+    module2.exports.parseMIMEType = parseMIMEType;
+    module2.exports.serializeAMimeType = serializeAMimeType;
+    var { CloseEvent, ErrorEvent, MessageEvent } = require_events2();
+    module2.exports.WebSocket = require_websocket2().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);
@@ -38303,6 +39794,8 @@ var require_undici2 = __commonJS({
     module2.exports.MockPool = MockPool;
     module2.exports.MockAgent = MockAgent;
     module2.exports.mockErrors = mockErrors;
+    var { EventSource } = require_eventsource2();
+    module2.exports.EventSource = EventSource;
   }
 });
 
@@ -44522,7 +46015,7 @@ var require_package = __commonJS({
         "@actions/cache": "^5.0.5",
         "@actions/core": "^2.0.3",
         "@actions/exec": "^2.0.0",
-        "@actions/github": "^8.0.0",
+        "@actions/github": "^8.0.1",
         "@actions/glob": "^0.5.0",
         "@actions/http-client": "^3.0.0",
         "@actions/io": "^2.0.0",
@@ -44554,7 +46047,7 @@ var require_package = __commonJS({
         "@types/node-forge": "^1.3.14",
         "@types/semver": "^7.7.1",
         "@types/sinon": "^21.0.0",
-        "@typescript-eslint/eslint-plugin": "^8.53.1",
+        "@typescript-eslint/eslint-plugin": "^8.54.0",
         "@typescript-eslint/parser": "^8.48.0",
         ava: "^6.4.1",
         esbuild: "^0.27.2",
@@ -44563,7 +46056,7 @@ var require_package = __commonJS({
         "eslint-plugin-filenames": "^1.3.2",
         "eslint-plugin-github": "^5.1.8",
         "eslint-plugin-import": "2.29.1",
-        "eslint-plugin-jsdoc": "^62.3.0",
+        "eslint-plugin-jsdoc": "^62.4.1",
         "eslint-plugin-no-async-foreach": "^0.1.1",
         glob: "^11.1.0",
         nock: "^14.0.10",
@@ -53757,7 +55250,7 @@ var require_clientHelpers = __commonJS({
 });
 
 // node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js
-var require_multipart2 = __commonJS({
+var require_multipart = __commonJS({
   "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -53880,7 +55373,7 @@ var require_sendRequest = __commonJS({
     var pipelineRequest_js_1 = require_pipelineRequest();
     var clientHelpers_js_1 = require_clientHelpers();
     var typeGuards_js_1 = require_typeGuards();
-    var multipart_js_1 = require_multipart2();
+    var multipart_js_1 = require_multipart();
     async function sendRequest(method, url, pipeline, options = {}, customHttpClient) {
       const httpClient = customHttpClient ?? (0, clientHelpers_js_1.getCachedDefaultHttpsClient)();
       const request2 = buildPipelineRequest(method, url, options);
@@ -58578,7 +60071,7 @@ var require_commonjs8 = __commonJS({
 });
 
 // node_modules/@azure/core-http-compat/dist/commonjs/util.js
-var require_util16 = __commonJS({
+var require_util17 = __commonJS({
   "node_modules/@azure/core-http-compat/dist/commonjs/util.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -58833,7 +60326,7 @@ var require_response3 = __commonJS({
     exports2.toCompatResponse = toCompatResponse;
     exports2.toPipelineResponse = toPipelineResponse;
     var core_rest_pipeline_1 = require_commonjs6();
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     var originalResponse = /* @__PURE__ */ Symbol("Original FullOperationResponse");
     function toCompatResponse(response, options) {
       let request2 = (0, util_js_1.toWebResourceLike)(response.request);
@@ -58947,7 +60440,7 @@ var require_requestPolicyFactoryPolicy = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.requestPolicyFactoryPolicyName = exports2.HttpPipelineLogLevel = void 0;
     exports2.createRequestPolicyFactoryPolicy = createRequestPolicyFactoryPolicy;
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     var response_js_1 = require_response3();
     var HttpPipelineLogLevel;
     (function(HttpPipelineLogLevel2) {
@@ -58994,7 +60487,7 @@ var require_httpClientAdapter = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.convertHttpClient = convertHttpClient;
     var response_js_1 = require_response3();
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     function convertHttpClient(requestPolicyClient) {
       return {
         sendRequest: async (request2) => {
@@ -59034,7 +60527,7 @@ var require_commonjs9 = __commonJS({
     Object.defineProperty(exports2, "convertHttpClient", { enumerable: true, get: function() {
       return httpClientAdapter_js_1.convertHttpClient;
     } });
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     Object.defineProperty(exports2, "toHttpHeadersLike", { enumerable: true, get: function() {
       return util_js_1.toHttpHeadersLike;
     } });
@@ -95115,7 +96608,7 @@ var require_cache_twirp_client = __commonJS({
 });
 
 // node_modules/@actions/cache/lib/internal/shared/util.js
-var require_util17 = __commonJS({
+var require_util18 = __commonJS({
   "node_modules/@actions/cache/lib/internal/shared/util.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -95192,7 +96685,7 @@ var require_cacheTwirpClient = __commonJS({
     var auth_1 = require_auth();
     var http_client_1 = require_lib();
     var cache_twirp_client_1 = require_cache_twirp_client();
-    var util_1 = require_util17();
+    var util_1 = require_util18();
     var CacheServiceClient = class {
       constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) {
         this.maxAttempts = 5;
@@ -104978,11 +106471,11 @@ void runWrapper();
 /*! Bundled license information:
 
 undici/lib/web/fetch/body.js:
-undici/lib/fetch/body.js:
+undici/lib/web/fetch/body.js:
   (*! formdata-polyfill. MIT License. Jimmy Wärting  *)
 
 undici/lib/web/websocket/frame.js:
-undici/lib/websocket/frame.js:
+undici/lib/web/websocket/frame.js:
   (*! ws. MIT License. Einar Otto Stangvik  *)
 
 @octokit/request-error/dist-src/index.js:
diff --git a/lib/start-proxy-action-post.js b/lib/start-proxy-action-post.js
index 331b4d2503..a190c09f13 100644
--- a/lib/start-proxy-action-post.js
+++ b/lib/start-proxy-action-post.js
@@ -21549,9 +21549,9 @@ var require_context = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/core/symbols.js
 var require_symbols6 = __commonJS({
-  "node_modules/undici/lib/core/symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/symbols.js"(exports2, module2) {
     module2.exports = {
       kClose: /* @__PURE__ */ Symbol("close"),
       kDestroy: /* @__PURE__ */ Symbol("destroy"),
@@ -21562,7 +21562,6 @@ var require_symbols6 = __commonJS({
       kQueue: /* @__PURE__ */ Symbol("queue"),
       kConnect: /* @__PURE__ */ Symbol("connect"),
       kConnecting: /* @__PURE__ */ Symbol("connecting"),
-      kHeadersList: /* @__PURE__ */ Symbol("headers list"),
       kKeepAliveDefaultTimeout: /* @__PURE__ */ Symbol("default keep alive timeout"),
       kKeepAliveMaxTimeout: /* @__PURE__ */ Symbol("max keep alive timeout"),
       kKeepAliveTimeoutThreshold: /* @__PURE__ */ Symbol("keep alive timeout threshold"),
@@ -21575,6 +21574,7 @@ var require_symbols6 = __commonJS({
       kHost: /* @__PURE__ */ Symbol("host"),
       kNoRef: /* @__PURE__ */ Symbol("no ref"),
       kBodyUsed: /* @__PURE__ */ Symbol("used"),
+      kBody: /* @__PURE__ */ Symbol("abstracted request body"),
       kRunning: /* @__PURE__ */ Symbol("running"),
       kBlocking: /* @__PURE__ */ Symbol("blocking"),
       kPending: /* @__PURE__ */ Symbol("pending"),
@@ -21587,6 +21587,8 @@ var require_symbols6 = __commonJS({
       kNeedDrain: /* @__PURE__ */ Symbol("need drain"),
       kReset: /* @__PURE__ */ Symbol("reset"),
       kDestroyed: /* @__PURE__ */ Symbol.for("nodejs.stream.destroyed"),
+      kResume: /* @__PURE__ */ Symbol("resume"),
+      kOnError: /* @__PURE__ */ Symbol("on error"),
       kMaxHeadersSize: /* @__PURE__ */ Symbol("max headers size"),
       kRunningIdx: /* @__PURE__ */ Symbol("running index"),
       kPendingIdx: /* @__PURE__ */ Symbol("pending index"),
@@ -21608,67 +21610,90 @@ var require_symbols6 = __commonJS({
       kMaxResponseSize: /* @__PURE__ */ Symbol("max response size"),
       kHTTP2Session: /* @__PURE__ */ Symbol("http2Session"),
       kHTTP2SessionState: /* @__PURE__ */ Symbol("http2Session state"),
-      kHTTP2BuildRequest: /* @__PURE__ */ Symbol("http2 build request"),
-      kHTTP1BuildRequest: /* @__PURE__ */ Symbol("http1 build request"),
-      kHTTP2CopyHeaders: /* @__PURE__ */ Symbol("http2 copy headers"),
-      kHTTPConnVersion: /* @__PURE__ */ Symbol("http connection version"),
       kRetryHandlerDefaultRetry: /* @__PURE__ */ Symbol("retry agent default retry"),
-      kConstruct: /* @__PURE__ */ Symbol("constructable")
+      kConstruct: /* @__PURE__ */ Symbol("constructable"),
+      kListeners: /* @__PURE__ */ Symbol("listeners"),
+      kHTTPContext: /* @__PURE__ */ Symbol("http context"),
+      kMaxConcurrentStreams: /* @__PURE__ */ Symbol("max concurrent streams"),
+      kNoProxyAgent: /* @__PURE__ */ Symbol("no proxy agent"),
+      kHttpProxyAgent: /* @__PURE__ */ Symbol("http proxy agent"),
+      kHttpsProxyAgent: /* @__PURE__ */ Symbol("https proxy agent")
     };
   }
 });
 
-// node_modules/undici/lib/core/errors.js
+// node_modules/@actions/github/node_modules/undici/lib/core/errors.js
 var require_errors2 = __commonJS({
-  "node_modules/undici/lib/core/errors.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/errors.js"(exports2, module2) {
     "use strict";
+    var kUndiciError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR");
     var UndiciError = class extends Error {
       constructor(message) {
         super(message);
         this.name = "UndiciError";
         this.code = "UND_ERR";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kUndiciError] === true;
+      }
+      [kUndiciError] = true;
     };
-    var ConnectTimeoutError = class _ConnectTimeoutError extends UndiciError {
+    var kConnectTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT");
+    var ConnectTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ConnectTimeoutError);
         this.name = "ConnectTimeoutError";
         this.message = message || "Connect Timeout Error";
         this.code = "UND_ERR_CONNECT_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kConnectTimeoutError] === true;
+      }
+      [kConnectTimeoutError] = true;
     };
-    var HeadersTimeoutError = class _HeadersTimeoutError extends UndiciError {
+    var kHeadersTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT");
+    var HeadersTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersTimeoutError);
         this.name = "HeadersTimeoutError";
         this.message = message || "Headers Timeout Error";
         this.code = "UND_ERR_HEADERS_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersTimeoutError] === true;
+      }
+      [kHeadersTimeoutError] = true;
     };
-    var HeadersOverflowError = class _HeadersOverflowError extends UndiciError {
+    var kHeadersOverflowError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW");
+    var HeadersOverflowError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersOverflowError);
         this.name = "HeadersOverflowError";
         this.message = message || "Headers Overflow Error";
         this.code = "UND_ERR_HEADERS_OVERFLOW";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersOverflowError] === true;
+      }
+      [kHeadersOverflowError] = true;
     };
-    var BodyTimeoutError = class _BodyTimeoutError extends UndiciError {
+    var kBodyTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT");
+    var BodyTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _BodyTimeoutError);
         this.name = "BodyTimeoutError";
         this.message = message || "Body Timeout Error";
         this.code = "UND_ERR_BODY_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBodyTimeoutError] === true;
+      }
+      [kBodyTimeoutError] = true;
     };
-    var ResponseStatusCodeError = class _ResponseStatusCodeError extends UndiciError {
+    var kResponseStatusCodeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RESPONSE_STATUS_CODE");
+    var ResponseStatusCodeError = class extends UndiciError {
       constructor(message, statusCode, headers, body) {
         super(message);
-        Error.captureStackTrace(this, _ResponseStatusCodeError);
         this.name = "ResponseStatusCodeError";
         this.message = message || "Response Status Code Error";
         this.code = "UND_ERR_RESPONSE_STATUS_CODE";
@@ -21677,129 +21702,198 @@ var require_errors2 = __commonJS({
         this.statusCode = statusCode;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseStatusCodeError] === true;
+      }
+      [kResponseStatusCodeError] = true;
     };
-    var InvalidArgumentError = class _InvalidArgumentError extends UndiciError {
+    var kInvalidArgumentError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_ARG");
+    var InvalidArgumentError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidArgumentError);
         this.name = "InvalidArgumentError";
         this.message = message || "Invalid Argument Error";
         this.code = "UND_ERR_INVALID_ARG";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidArgumentError] === true;
+      }
+      [kInvalidArgumentError] = true;
     };
-    var InvalidReturnValueError = class _InvalidReturnValueError extends UndiciError {
+    var kInvalidReturnValueError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE");
+    var InvalidReturnValueError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidReturnValueError);
         this.name = "InvalidReturnValueError";
         this.message = message || "Invalid Return Value Error";
         this.code = "UND_ERR_INVALID_RETURN_VALUE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidReturnValueError] === true;
+      }
+      [kInvalidReturnValueError] = true;
     };
-    var RequestAbortedError = class _RequestAbortedError extends UndiciError {
+    var kAbortError = /* @__PURE__ */ 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";
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kAbortError] === true;
+      }
+      [kAbortError] = true;
+    };
+    var kRequestAbortedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_ABORTED");
+    var RequestAbortedError = class extends AbortError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestAbortedError);
         this.name = "AbortError";
         this.message = message || "Request aborted";
         this.code = "UND_ERR_ABORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestAbortedError] === true;
+      }
+      [kRequestAbortedError] = true;
     };
-    var InformationalError = class _InformationalError extends UndiciError {
+    var kInformationalError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INFO");
+    var InformationalError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InformationalError);
         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 RequestContentLengthMismatchError = class _RequestContentLengthMismatchError extends UndiciError {
+    var kRequestContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH");
+    var RequestContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestContentLengthMismatchError);
         this.name = "RequestContentLengthMismatchError";
         this.message = message || "Request body length does not match content-length header";
         this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestContentLengthMismatchError] === true;
+      }
+      [kRequestContentLengthMismatchError] = true;
     };
-    var ResponseContentLengthMismatchError = class _ResponseContentLengthMismatchError extends UndiciError {
+    var kResponseContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH");
+    var ResponseContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseContentLengthMismatchError);
         this.name = "ResponseContentLengthMismatchError";
         this.message = message || "Response body length does not match content-length header";
         this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseContentLengthMismatchError] === true;
+      }
+      [kResponseContentLengthMismatchError] = true;
     };
-    var ClientDestroyedError = class _ClientDestroyedError extends UndiciError {
+    var kClientDestroyedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_DESTROYED");
+    var ClientDestroyedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientDestroyedError);
         this.name = "ClientDestroyedError";
         this.message = message || "The client is destroyed";
         this.code = "UND_ERR_DESTROYED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientDestroyedError] === true;
+      }
+      [kClientDestroyedError] = true;
     };
-    var ClientClosedError = class _ClientClosedError extends UndiciError {
+    var kClientClosedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CLOSED");
+    var ClientClosedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientClosedError);
         this.name = "ClientClosedError";
         this.message = message || "The client is closed";
         this.code = "UND_ERR_CLOSED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientClosedError] === true;
+      }
+      [kClientClosedError] = true;
     };
-    var SocketError = class _SocketError extends UndiciError {
+    var kSocketError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_SOCKET");
+    var SocketError = class extends UndiciError {
       constructor(message, socket) {
         super(message);
-        Error.captureStackTrace(this, _SocketError);
         this.name = "SocketError";
         this.message = message || "Socket error";
         this.code = "UND_ERR_SOCKET";
         this.socket = socket;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kSocketError] === true;
+      }
+      [kSocketError] = true;
     };
-    var NotSupportedError = class _NotSupportedError extends UndiciError {
+    var kNotSupportedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED");
+    var NotSupportedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _NotSupportedError);
         this.name = "NotSupportedError";
         this.message = message || "Not supported error";
         this.code = "UND_ERR_NOT_SUPPORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kNotSupportedError] === true;
+      }
+      [kNotSupportedError] = true;
     };
+    var kBalancedPoolMissingUpstreamError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM");
     var BalancedPoolMissingUpstreamError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, NotSupportedError);
         this.name = "MissingUpstreamError";
         this.message = message || "No upstream has been added to the BalancedPool";
         this.code = "UND_ERR_BPL_MISSING_UPSTREAM";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBalancedPoolMissingUpstreamError] === true;
+      }
+      [kBalancedPoolMissingUpstreamError] = true;
     };
-    var HTTPParserError = class _HTTPParserError extends Error {
+    var kHTTPParserError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HTTP_PARSER");
+    var HTTPParserError = class extends Error {
       constructor(message, code, data) {
         super(message);
-        Error.captureStackTrace(this, _HTTPParserError);
         this.name = "HTTPParserError";
         this.code = code ? `HPE_${code}` : void 0;
         this.data = data ? data.toString() : void 0;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHTTPParserError] === true;
+      }
+      [kHTTPParserError] = true;
     };
-    var ResponseExceededMaxSizeError = class _ResponseExceededMaxSizeError extends UndiciError {
+    var kResponseExceededMaxSizeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE");
+    var ResponseExceededMaxSizeError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseExceededMaxSizeError);
         this.name = "ResponseExceededMaxSizeError";
         this.message = message || "Response content exceeded max size";
         this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseExceededMaxSizeError] === true;
+      }
+      [kResponseExceededMaxSizeError] = true;
     };
-    var RequestRetryError = class _RequestRetryError extends UndiciError {
+    var kRequestRetryError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_RETRY");
+    var RequestRetryError = class extends UndiciError {
       constructor(message, code, { headers, data }) {
         super(message);
-        Error.captureStackTrace(this, _RequestRetryError);
         this.name = "RequestRetryError";
         this.message = message || "Request retry error";
         this.code = "UND_ERR_REQ_RETRY";
@@ -21807,8 +21901,43 @@ var require_errors2 = __commonJS({
         this.data = data;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestRetryError] === true;
+      }
+      [kRequestRetryError] = true;
+    };
+    var kResponseError = /* @__PURE__ */ 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 = /* @__PURE__ */ 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,
@@ -21828,14 +21957,16 @@ var require_errors2 = __commonJS({
       ResponseContentLengthMismatchError,
       BalancedPoolMissingUpstreamError,
       ResponseExceededMaxSizeError,
-      RequestRetryError
+      RequestRetryError,
+      ResponseError,
+      SecureProxyConnectionError
     };
   }
 });
 
-// node_modules/undici/lib/core/constants.js
+// node_modules/@actions/github/node_modules/undici/lib/core/constants.js
 var require_constants6 = __commonJS({
-  "node_modules/undici/lib/core/constants.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/constants.js"(exports2, module2) {
     "use strict";
     var headerNameLowerCasedRecord = {};
     var wellknownHeaderNames = [
@@ -21948,28 +22079,212 @@ var require_constants6 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/util.js
+// node_modules/@actions/github/node_modules/undici/lib/core/tree.js
+var require_tree2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/tree.js"(exports2, module2) {
+    "use strict";
+    var {
+      wellknownHeaderNames,
+      headerNameLowerCasedRecord
+    } = require_constants6();
+    var TstNode = class _TstNode {
+      /** @type {any} */
+      value = null;
+      /** @type {null | TstNode} */
+      left = null;
+      /** @type {null | TstNode} */
+      middle = null;
+      /** @type {null | TstNode} */
+      right = null;
+      /** @type {number} */
+      code;
+      /**
+       * @param {string} key
+       * @param {any} value
+       * @param {number} index
+       */
+      constructor(key, value, index) {
+        if (index === void 0 || index >= key.length) {
+          throw new TypeError("Unreachable");
+        }
+        const code = this.code = key.charCodeAt(index);
+        if (code > 127) {
+          throw new TypeError("key must be ascii string");
+        }
+        if (key.length !== ++index) {
+          this.middle = new _TstNode(key, value, index);
+        } else {
+          this.value = value;
+        }
+      }
+      /**
+       * @param {string} key
+       * @param {any} value
+       */
+      add(key, value) {
+        const length = key.length;
+        if (length === 0) {
+          throw new TypeError("Unreachable");
+        }
+        let index = 0;
+        let node = this;
+        while (true) {
+          const code = key.charCodeAt(index);
+          if (code > 127) {
+            throw new TypeError("key must be ascii string");
+          }
+          if (node.code === code) {
+            if (length === ++index) {
+              node.value = value;
+              break;
+            } else if (node.middle !== null) {
+              node = node.middle;
+            } else {
+              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;
+          }
+        }
+      }
+      /**
+       * @param {Uint8Array} key
+       * @return {TstNode | null}
+       */
+      search(key) {
+        const keylength = key.length;
+        let index = 0;
+        let node = this;
+        while (node !== null && index < keylength) {
+          let code = key[index];
+          if (code <= 90 && code >= 65) {
+            code |= 32;
+          }
+          while (node !== null) {
+            if (code === node.code) {
+              if (keylength === ++index) {
+                return node;
+              }
+              node = node.middle;
+              break;
+            }
+            node = node.code < code ? node.left : node.right;
+          }
+        }
+        return null;
+      }
+    };
+    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);
+        }
+      }
+      /**
+       * @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/@actions/github/node_modules/undici/lib/core/util.js
 var require_util9 = __commonJS({
-  "node_modules/undici/lib/core/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/util.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { kDestroyed, kBodyUsed } = require_symbols6();
-    var { IncomingMessage } = require("http");
-    var stream = require("stream");
-    var net = require("net");
+    var assert = require("node:assert");
+    var { kDestroyed, kBodyUsed, kListeners, kBody } = require_symbols6();
+    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_errors2();
-    var { Blob: Blob2 } = require("buffer");
-    var nodeUtil = require("util");
-    var { stringify } = require("querystring");
     var { headerNameLowerCasedRecord } = require_constants6();
+    var { tree } = require_tree2();
     var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v) => Number(v));
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
+      }
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
+      }
+    };
+    function wrapRequestBody(body) {
+      if (isStream(body)) {
+        if (bodyLength(body) === 0) {
+          body.on("data", function() {
+            assert(false);
+          });
+        }
+        if (typeof body.readableDidRead !== "boolean") {
+          body[kBodyUsed] = false;
+          EE.prototype.on.call(body, "data", function() {
+            this[kBodyUsed] = true;
+          });
+        }
+        return body;
+      } else if (body && typeof body.pipeTo === "function") {
+        return new BodyAsyncIterable(body);
+      } else if (body && typeof body !== "string" && !ArrayBuffer.isView(body) && isIterable(body)) {
+        return new BodyAsyncIterable(body);
+      } else {
+        return body;
+      }
+    }
     function nop() {
     }
     function isStream(obj) {
       return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function";
     }
     function isBlobLike(object) {
-      return Blob2 && object instanceof Blob2 || object && typeof object === "object" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]);
+      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("#")) {
@@ -21981,10 +22296,17 @@ var require_util9 = __commonJS({
       }
       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 (!/^https?:/.test(url.origin || url.protocol)) {
+        if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {
           throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
         }
         return url;
@@ -21992,11 +22314,8 @@ var require_util9 = __commonJS({
       if (!url || typeof url !== "object") {
         throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object.");
       }
-      if (!/^https?:/.test(url.origin || url.protocol)) {
-        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
-      }
       if (!(url instanceof URL)) {
-        if (url.port != null && url.port !== "" && !Number.isFinite(parseInt(url.port))) {
+        if (url.port != null && url.port !== "" && isValidPort(url.port) === false) {
           throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer.");
         }
         if (url.path != null && typeof url.path !== "string") {
@@ -22011,16 +22330,22 @@ var require_util9 = __commonJS({
         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 origin = url.origin != null ? url.origin : `${url.protocol || ""}//${url.hostname || ""}:${port}`;
         let path4 = url.path != null ? url.path : `${url.pathname || ""}${url.search || ""}`;
-        if (origin.endsWith("/")) {
-          origin = origin.substring(0, origin.length - 1);
+        if (origin[origin.length - 1] === "/") {
+          origin = origin.slice(0, origin.length - 1);
         }
-        if (path4 && !path4.startsWith("/")) {
+        if (path4 && path4[0] !== "/") {
           path4 = `/${path4}`;
         }
-        url = new URL(origin + path4);
+        return new URL(`${origin}${path4}`);
+      }
+      if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {
+        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
       }
       return url;
     }
@@ -22045,7 +22370,7 @@ var require_util9 = __commonJS({
       if (!host) {
         return null;
       }
-      assert.strictEqual(typeof host, "string");
+      assert(typeof host === "string");
       const servername = getHostname(host);
       if (net.isIP(servername)) {
         return "";
@@ -22074,12 +22399,8 @@ var require_util9 = __commonJS({
       }
       return null;
     }
-    function isDestroyed(stream2) {
-      return !stream2 || !!(stream2.destroyed || stream2[kDestroyed]);
-    }
-    function isReadableAborted(stream2) {
-      const state = stream2 && stream2._readableState;
-      return isDestroyed(stream2) && state && !state.endEmitted;
+    function isDestroyed(body) {
+      return body && !!(body.destroyed || body[kDestroyed] || stream.isDestroyed?.(body));
     }
     function destroy(stream2, err) {
       if (stream2 == null || !isStream(stream2) || isDestroyed(stream2)) {
@@ -22091,9 +22412,9 @@ var require_util9 = __commonJS({
         }
         stream2.destroy(err);
       } else if (err) {
-        process.nextTick((stream3, err2) => {
-          stream3.emit("error", err2);
-        }, stream2, err);
+        queueMicrotask(() => {
+          stream2.emit("error", err);
+        });
       }
       if (stream2.destroyed !== true) {
         stream2[kDestroyed] = true;
@@ -22105,25 +22426,29 @@ var require_util9 = __commonJS({
       return m ? parseInt(m[1], 10) * 1e3 : null;
     }
     function headerNameToString(value) {
-      return headerNameLowerCasedRecord[value] || value.toLowerCase();
+      return typeof value === "string" ? headerNameLowerCasedRecord[value] ?? value.toLowerCase() : tree.lookup(value) ?? value.toString("latin1").toLowerCase();
     }
-    function parseHeaders(headers, obj = {}) {
-      if (!Array.isArray(headers)) return headers;
+    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 = headers[i].toString().toLowerCase();
+        const key = headerNameToString(headers[i]);
         let val = obj[key];
-        if (!val) {
-          if (Array.isArray(headers[i + 1])) {
-            obj[key] = headers[i + 1].map((x) => x.toString("utf8"));
-          } else {
-            obj[key] = headers[i + 1].toString("utf8");
-          }
-        } else {
-          if (!Array.isArray(val)) {
+        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");
+          }
         }
       }
       if ("content-length" in obj && "content-disposition" in obj) {
@@ -22132,20 +22457,26 @@ var require_util9 = __commonJS({
       return obj;
     }
     function parseRawHeaders(headers) {
-      const ret = [];
+      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) {
-        const key = headers[n + 0].toString();
-        const val = headers[n + 1].toString("utf8");
-        if (key.length === 14 && (key === "content-length" || key.toLowerCase() === "content-length")) {
-          ret.push(key, val);
+        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 (key.length === 19 && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
-          contentDispositionIdx = ret.push(key, val) - 1;
-        } else {
-          ret.push(key, val);
+        } else if (kLen === 19 && key[7] === "-" && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
+          contentDispositionIdx = n + 1;
         }
+        ret[n] = key;
+        ret[n + 1] = val;
       }
       if (hasContentLength && contentDispositionIdx !== -1) {
         ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1");
@@ -22185,17 +22516,13 @@ var require_util9 = __commonJS({
       }
     }
     function isDisturbed(body) {
-      return !!(body && (stream.isDisturbed ? stream.isDisturbed(body) || body[kBodyUsed] : body[kBodyUsed] || body.readableDidRead || body._readableState && body._readableState.dataEmitted || isReadableAborted(body)));
+      return !!(body && (stream.isDisturbed(body) || body[kBodyUsed]));
     }
     function isErrored(body) {
-      return !!(body && (stream.isErrored ? stream.isErrored(body) : /state: 'errored'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream.isErrored(body));
     }
     function isReadable(body) {
-      return !!(body && (stream.isReadable ? stream.isReadable(body) : /state: 'readable'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream.isReadable(body));
     }
     function getSocketInfo(socket) {
       return {
@@ -22209,21 +22536,9 @@ var require_util9 = __commonJS({
         bytesRead: socket.bytesRead
       };
     }
-    async function* convertIterableToBuffer(iterable) {
-      for await (const chunk of iterable) {
-        yield Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
-      }
-    }
-    var ReadableStream2;
     function ReadableStreamFrom(iterable) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      if (ReadableStream2.from) {
-        return ReadableStream2.from(convertIterableToBuffer(iterable));
-      }
       let iterator2;
-      return new ReadableStream2(
+      return new ReadableStream(
         {
           async start() {
             iterator2 = iterable[Symbol.asyncIterator]();
@@ -22233,37 +22548,26 @@ var require_util9 = __commonJS({
             if (done) {
               queueMicrotask(() => {
                 controller.close();
+                controller.byobRequest?.respond(0);
               });
             } else {
               const buf = Buffer.isBuffer(value) ? value : Buffer.from(value);
-              controller.enqueue(new Uint8Array(buf));
+              if (buf.byteLength) {
+                controller.enqueue(new Uint8Array(buf));
+              }
             }
             return controller.desiredSize > 0;
           },
           async cancel(reason) {
             await iterator2.return();
-          }
-        },
-        0
+          },
+          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 throwIfAborted(signal) {
-      if (!signal) {
-        return;
-      }
-      if (typeof signal.throwIfAborted === "function") {
-        signal.throwIfAborted();
-      } else {
-        if (signal.aborted) {
-          const err = new Error("The operation was aborted");
-          err.name = "AbortError";
-          throw err;
-        }
-      }
-    }
     function addAbortListener(signal, listener) {
       if ("addEventListener" in signal) {
         signal.addEventListener("abort", listener, { once: true });
@@ -22272,14 +22576,52 @@ var require_util9 = __commonJS({
       signal.addListener("abort", listener);
       return () => signal.removeListener("abort", listener);
     }
-    var hasToWellFormed = !!String.prototype.toWellFormed;
+    var hasToWellFormed = typeof String.prototype.toWellFormed === "function";
+    var hasIsWellFormed = typeof String.prototype.isWellFormed === "function";
     function toUSVString(val) {
-      if (hasToWellFormed) {
-        return `${val}`.toWellFormed();
-      } else if (nodeUtil.toUSVString) {
-        return nodeUtil.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;
       }
-      return `${val}`;
+    }
+    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 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 };
@@ -22290,8 +22632,49 @@ var require_util9 = __commonJS({
         size: m[3] ? parseInt(m[3]) : null
       } : null;
     }
+    function addListener(obj, name, listener) {
+      const listeners = obj[kListeners] ??= [];
+      listeners.push([name, listener]);
+      obj.on(name, listener);
+      return obj;
+    }
+    function removeAllListeners(obj) {
+      for (const [name, listener] of obj[kListeners] ?? []) {
+        obj.removeListener(name, listener);
+      }
+      obj[kListeners] = null;
+    }
+    function errorRequest2(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,
@@ -22299,7 +22682,7 @@ var require_util9 = __commonJS({
       isErrored,
       isReadable,
       toUSVString,
-      isReadableAborted,
+      isUSVString,
       isBlobLike,
       parseOrigin,
       parseURL,
@@ -22309,6 +22692,10 @@ var require_util9 = __commonJS({
       isAsyncIterable,
       isDestroyed,
       headerNameToString,
+      bufferToLowerCasedHeaderName,
+      addListener,
+      removeAllListeners,
+      errorRequest: errorRequest2,
       parseRawHeaders,
       parseHeaders,
       parseKeepAliveTimeout,
@@ -22321,2519 +22708,2736 @@ var require_util9 = __commonJS({
       getSocketInfo,
       isFormDataLike,
       buildURL,
-      throwIfAborted,
       addAbortListener,
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isTokenCharCode,
       parseRangeHeader,
+      normalizedMethodRecordsBase,
+      normalizedMethodRecords,
+      isValidPort,
+      isHttpOrHttpsPrefixed,
       nodeMajor,
       nodeMinor,
-      nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13,
-      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"]
+      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"],
+      wrapRequestBody
     };
   }
 });
 
-// node_modules/undici/lib/timers.js
-var require_timers2 = __commonJS({
-  "node_modules/undici/lib/timers.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js
+var require_diagnostics2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js"(exports2, module2) {
     "use strict";
-    var fastNow = Date.now();
-    var fastNowTimeout;
-    var fastTimers = [];
-    function onTimeout() {
-      fastNow = Date.now();
-      let len = fastTimers.length;
-      let idx = 0;
-      while (idx < len) {
-        const timer = fastTimers[idx];
-        if (timer.state === 0) {
-          timer.state = fastNow + timer.delay;
-        } else if (timer.state > 0 && fastNow >= timer.state) {
-          timer.state = -1;
-          timer.callback(timer.opaque);
-        }
-        if (timer.state === -1) {
-          timer.state = -2;
-          if (idx !== len - 1) {
-            fastTimers[idx] = fastTimers.pop();
-          } else {
-            fastTimers.pop();
-          }
-          len -= 1;
-        } else {
-          idx += 1;
-        }
-      }
-      if (fastTimers.length > 0) {
-        refreshTimeout();
-      }
+    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: error3
+        } = evt;
+        debuglog(
+          "connection to %s using %s%s errored - %s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version,
+          error3.message
+        );
+      });
+      diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+        const {
+          request: { method, path: path4, origin }
+        } = evt;
+        debuglog("sending request to %s %s/%s", method, origin, path4);
+      });
+      diagnosticsChannel.channel("undici:request:headers").subscribe((evt) => {
+        const {
+          request: { method, path: path4, origin },
+          response: { statusCode }
+        } = evt;
+        debuglog(
+          "received response to %s %s/%s - HTTP %d",
+          method,
+          origin,
+          path4,
+          statusCode
+        );
+      });
+      diagnosticsChannel.channel("undici:request:trailers").subscribe((evt) => {
+        const {
+          request: { method, path: path4, origin }
+        } = evt;
+        debuglog("trailers received from %s %s/%s", method, origin, path4);
+      });
+      diagnosticsChannel.channel("undici:request:error").subscribe((evt) => {
+        const {
+          request: { method, path: path4, origin },
+          error: error3
+        } = evt;
+        debuglog(
+          "request to %s %s/%s errored - %s",
+          method,
+          origin,
+          path4,
+          error3.message
+        );
+      });
+      isClientSet = true;
     }
-    function refreshTimeout() {
-      if (fastNowTimeout && fastNowTimeout.refresh) {
-        fastNowTimeout.refresh();
-      } else {
-        clearTimeout(fastNowTimeout);
-        fastNowTimeout = setTimeout(onTimeout, 1e3);
-        if (fastNowTimeout.unref) {
-          fastNowTimeout.unref();
-        }
+    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: error3
+          } = evt;
+          debuglog(
+            "connection to %s%s using %s%s errored - %s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version,
+            error3.message
+          );
+        });
+        diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+          const {
+            request: { method, path: path4, origin }
+          } = evt;
+          debuglog("sending request to %s %s/%s", method, origin, path4);
+        });
       }
+      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");
+      });
     }
-    var Timeout = class {
-      constructor(callback, delay, opaque) {
-        this.callback = callback;
-        this.delay = delay;
-        this.opaque = opaque;
-        this.state = -2;
-        this.refresh();
-      }
-      refresh() {
-        if (this.state === -2) {
-          fastTimers.push(this);
-          if (!fastNowTimeout || fastTimers.length === 1) {
-            refreshTimeout();
-          }
-        }
-        this.state = 0;
-      }
-      clear() {
-        this.state = -1;
-      }
-    };
     module2.exports = {
-      setTimeout(callback, delay, opaque) {
-        return delay < 1e3 ? setTimeout(callback, delay, opaque) : new Timeout(callback, delay, opaque);
-      },
-      clearTimeout(timeout) {
-        if (timeout instanceof Timeout) {
-          timeout.clear();
-        } else {
-          clearTimeout(timeout);
-        }
-      }
+      channels
     };
   }
 });
 
-// node_modules/@fastify/busboy/deps/streamsearch/sbmh.js
-var require_sbmh = __commonJS({
-  "node_modules/@fastify/busboy/deps/streamsearch/sbmh.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/request.js
+var require_request3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/request.js"(exports2, module2) {
     "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    function SBMH(needle) {
-      if (typeof needle === "string") {
-        needle = Buffer.from(needle);
-      }
-      if (!Buffer.isBuffer(needle)) {
-        throw new TypeError("The needle has to be a String or a Buffer.");
-      }
-      const needleLength = needle.length;
-      if (needleLength === 0) {
-        throw new Error("The needle cannot be an empty String/Buffer.");
-      }
-      if (needleLength > 256) {
-        throw new Error("The needle cannot have a length bigger than 256.");
-      }
-      this.maxMatches = Infinity;
-      this.matches = 0;
-      this._occ = new Array(256).fill(needleLength);
-      this._lookbehind_size = 0;
-      this._needle = needle;
-      this._bufpos = 0;
-      this._lookbehind = Buffer.alloc(needleLength);
-      for (var i = 0; i < needleLength - 1; ++i) {
-        this._occ[needle[i]] = needleLength - 1 - i;
-      }
-    }
-    inherits(SBMH, EventEmitter);
-    SBMH.prototype.reset = function() {
-      this._lookbehind_size = 0;
-      this.matches = 0;
-      this._bufpos = 0;
-    };
-    SBMH.prototype.push = function(chunk, pos) {
-      if (!Buffer.isBuffer(chunk)) {
-        chunk = Buffer.from(chunk, "binary");
-      }
-      const chlen = chunk.length;
-      this._bufpos = pos || 0;
-      let r;
-      while (r !== chlen && this.matches < this.maxMatches) {
-        r = this._sbmh_feed(chunk);
-      }
-      return r;
-    };
-    SBMH.prototype._sbmh_feed = function(data) {
-      const len = data.length;
-      const needle = this._needle;
-      const needleLength = needle.length;
-      const lastNeedleChar = needle[needleLength - 1];
-      let pos = -this._lookbehind_size;
-      let ch;
-      if (pos < 0) {
-        while (pos < 0 && pos <= len - needleLength) {
-          ch = this._sbmh_lookup_char(data, pos + needleLength - 1);
-          if (ch === lastNeedleChar && this._sbmh_memcmp(data, pos, needleLength - 1)) {
-            this._lookbehind_size = 0;
-            ++this.matches;
-            this.emit("info", true);
-            return this._bufpos = pos + needleLength;
-          }
-          pos += this._occ[ch];
-        }
-        if (pos < 0) {
-          while (pos < 0 && !this._sbmh_memcmp(data, pos, len - pos)) {
-            ++pos;
-          }
-        }
-        if (pos >= 0) {
-          this.emit("info", false, this._lookbehind, 0, this._lookbehind_size);
-          this._lookbehind_size = 0;
-        } else {
-          const bytesToCutOff = this._lookbehind_size + pos;
-          if (bytesToCutOff > 0) {
-            this.emit("info", false, this._lookbehind, 0, bytesToCutOff);
-          }
-          this._lookbehind.copy(
-            this._lookbehind,
-            0,
-            bytesToCutOff,
-            this._lookbehind_size - bytesToCutOff
-          );
-          this._lookbehind_size -= bytesToCutOff;
-          data.copy(this._lookbehind, this._lookbehind_size);
-          this._lookbehind_size += len;
-          this._bufpos = len;
-          return len;
-        }
-      }
-      pos += (pos >= 0) * this._bufpos;
-      if (data.indexOf(needle, pos) !== -1) {
-        pos = data.indexOf(needle, pos);
-        ++this.matches;
-        if (pos > 0) {
-          this.emit("info", true, data, this._bufpos, pos);
-        } else {
-          this.emit("info", true);
+    var {
+      InvalidArgumentError,
+      NotSupportedError
+    } = require_errors2();
+    var assert = require("node:assert");
+    var {
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isStream,
+      destroy,
+      isBuffer,
+      isFormDataLike,
+      isIterable,
+      isBlobLike,
+      buildURL,
+      validateHandler,
+      getServerName,
+      normalizedMethodRecords
+    } = require_util9();
+    var { channels } = require_diagnostics2();
+    var { headerNameLowerCasedRecord } = require_constants6();
+    var invalidPathRegex = /[^\u0021-\u00ff]/;
+    var kHandler = /* @__PURE__ */ Symbol("handler");
+    var Request = class {
+      constructor(origin, {
+        path: path4,
+        method,
+        body,
+        headers,
+        query,
+        idempotent,
+        blocking,
+        upgrade,
+        headersTimeout,
+        bodyTimeout,
+        reset,
+        throwOnError,
+        expectContinue,
+        servername
+      }, handler2) {
+        if (typeof path4 !== "string") {
+          throw new InvalidArgumentError("path must be a string");
+        } else if (path4[0] !== "/" && !(path4.startsWith("http://") || path4.startsWith("https://")) && method !== "CONNECT") {
+          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
+        } else if (invalidPathRegex.test(path4)) {
+          throw new InvalidArgumentError("invalid request path");
+        }
+        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 (body == null) {
+          this.body = null;
+        } else if (isStream(body)) {
+          this.body = body;
+          const rState = this.body._readableState;
+          if (!rState || !rState.autoDestroy) {
+            this.endHandler = function autoDestroy() {
+              destroy(this);
+            };
+            this.body.on("end", this.endHandler);
+          }
+          this.errorHandler = (err) => {
+            if (this.abort) {
+              this.abort(err);
+            } else {
+              this.error = err;
+            }
+          };
+          this.body.on("error", this.errorHandler);
+        } else if (isBuffer(body)) {
+          this.body = body.byteLength ? body : null;
+        } else if (ArrayBuffer.isView(body)) {
+          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
+        } else if (body instanceof ArrayBuffer) {
+          this.body = body.byteLength ? Buffer.from(body) : null;
+        } else if (typeof body === "string") {
+          this.body = body.length ? Buffer.from(body) : null;
+        } else if (isFormDataLike(body) || isIterable(body) || isBlobLike(body)) {
+          this.body = body;
+        } else {
+          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
+        }
+        this.completed = false;
+        this.aborted = false;
+        this.upgrade = upgrade || null;
+        this.path = query ? buildURL(path4, query) : path4;
+        this.origin = origin;
+        this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
+        this.blocking = blocking == null ? false : blocking;
+        this.reset = reset == null ? null : reset;
+        this.host = null;
+        this.contentLength = null;
+        this.contentType = null;
+        this.headers = [];
+        this.expectContinue = expectContinue != null ? expectContinue : false;
+        if (Array.isArray(headers)) {
+          if (headers.length % 2 !== 0) {
+            throw new InvalidArgumentError("headers array must be even");
+          }
+          for (let i = 0; i < headers.length; i += 2) {
+            processHeader(this, headers[i], headers[i + 1]);
+          }
+        } else if (headers && typeof headers === "object") {
+          if (headers[Symbol.iterator]) {
+            for (const header of headers) {
+              if (!Array.isArray(header) || header.length !== 2) {
+                throw new InvalidArgumentError("headers must be in key-value pair format");
+              }
+              processHeader(this, header[0], header[1]);
+            }
+          } else {
+            const keys = Object.keys(headers);
+            for (let i = 0; i < keys.length; ++i) {
+              processHeader(this, keys[i], headers[keys[i]]);
+            }
+          }
+        } else if (headers != null) {
+          throw new InvalidArgumentError("headers must be an object or an array");
+        }
+        validateHandler(handler2, method, upgrade);
+        this.servername = servername || getServerName(this.host);
+        this[kHandler] = handler2;
+        if (channels.create.hasSubscribers) {
+          channels.create.publish({ request: this });
         }
-        return this._bufpos = pos + needleLength;
-      } else {
-        pos = len - needleLength;
       }
-      while (pos < len && (data[pos] !== needle[0] || Buffer.compare(
-        data.subarray(pos, pos + len - pos),
-        needle.subarray(0, len - pos)
-      ) !== 0)) {
-        ++pos;
+      onBodySent(chunk) {
+        if (this[kHandler].onBodySent) {
+          try {
+            return this[kHandler].onBodySent(chunk);
+          } catch (err) {
+            this.abort(err);
+          }
+        }
       }
-      if (pos < len) {
-        data.copy(this._lookbehind, 0, pos, pos + (len - pos));
-        this._lookbehind_size = len - pos;
+      onRequestSent() {
+        if (channels.bodySent.hasSubscribers) {
+          channels.bodySent.publish({ request: this });
+        }
+        if (this[kHandler].onRequestSent) {
+          try {
+            return this[kHandler].onRequestSent();
+          } catch (err) {
+            this.abort(err);
+          }
+        }
       }
-      if (pos > 0) {
-        this.emit("info", false, data, this._bufpos, pos < len ? pos : len);
+      onConnect(abort) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (this.error) {
+          abort(this.error);
+        } else {
+          this.abort = abort;
+          return this[kHandler].onConnect(abort);
+        }
       }
-      this._bufpos = len;
-      return len;
-    };
-    SBMH.prototype._sbmh_lookup_char = function(data, pos) {
-      return pos < 0 ? this._lookbehind[this._lookbehind_size + pos] : data[pos];
-    };
-    SBMH.prototype._sbmh_memcmp = function(data, pos, len) {
-      for (var i = 0; i < len; ++i) {
-        if (this._sbmh_lookup_char(data, pos + i) !== this._needle[i]) {
+      onResponseStarted() {
+        return this[kHandler].onResponseStarted?.();
+      }
+      onHeaders(statusCode, headers, resume, statusText) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (channels.headers.hasSubscribers) {
+          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
+        }
+        try {
+          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
+        } catch (err) {
+          this.abort(err);
+        }
+      }
+      onData(chunk) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        try {
+          return this[kHandler].onData(chunk);
+        } catch (err) {
+          this.abort(err);
           return false;
         }
       }
-      return true;
-    };
-    module2.exports = SBMH;
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js
-var require_PartStream = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js"(exports2, module2) {
-    "use strict";
-    var inherits = require("node:util").inherits;
-    var ReadableStream2 = require("node:stream").Readable;
-    function PartStream(opts) {
-      ReadableStream2.call(this, opts);
-    }
-    inherits(PartStream, ReadableStream2);
-    PartStream.prototype._read = function(n) {
-    };
-    module2.exports = PartStream;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/getLimit.js
-var require_getLimit = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/getLimit.js"(exports2, module2) {
-    "use strict";
-    module2.exports = function getLimit(limits, name, defaultLimit) {
-      if (!limits || limits[name] === void 0 || limits[name] === null) {
-        return defaultLimit;
+      onUpgrade(statusCode, headers, socket) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        return this[kHandler].onUpgrade(statusCode, headers, socket);
       }
-      if (typeof limits[name] !== "number" || isNaN(limits[name])) {
-        throw new TypeError("Limit " + name + " is not a valid number");
+      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);
+        }
       }
-      return limits[name];
-    };
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js
-var require_HeaderParser = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    var getLimit = require_getLimit();
-    var StreamSearch = require_sbmh();
-    var B_DCRLF = Buffer.from("\r\n\r\n");
-    var RE_CRLF = /\r\n/g;
-    var RE_HDR = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/;
-    function HeaderParser(cfg) {
-      EventEmitter.call(this);
-      cfg = cfg || {};
-      const self2 = this;
-      this.nread = 0;
-      this.maxed = false;
-      this.npairs = 0;
-      this.maxHeaderPairs = getLimit(cfg, "maxHeaderPairs", 2e3);
-      this.maxHeaderSize = getLimit(cfg, "maxHeaderSize", 80 * 1024);
-      this.buffer = "";
-      this.header = {};
-      this.finished = false;
-      this.ss = new StreamSearch(B_DCRLF);
-      this.ss.on("info", function(isMatch, data, start, end) {
-        if (data && !self2.maxed) {
-          if (self2.nread + end - start >= self2.maxHeaderSize) {
-            end = self2.maxHeaderSize - self2.nread + start;
-            self2.nread = self2.maxHeaderSize;
-            self2.maxed = true;
-          } else {
-            self2.nread += end - start;
-          }
-          self2.buffer += data.toString("binary", start, end);
+      onError(error3) {
+        this.onFinally();
+        if (channels.error.hasSubscribers) {
+          channels.error.publish({ request: this, error: error3 });
         }
-        if (isMatch) {
-          self2._finish();
+        if (this.aborted) {
+          return;
         }
-      });
-    }
-    inherits(HeaderParser, EventEmitter);
-    HeaderParser.prototype.push = function(data) {
-      const r = this.ss.push(data);
-      if (this.finished) {
-        return r;
+        this.aborted = true;
+        return this[kHandler].onError(error3);
       }
-    };
-    HeaderParser.prototype.reset = function() {
-      this.finished = false;
-      this.buffer = "";
-      this.header = {};
-      this.ss.reset();
-    };
-    HeaderParser.prototype._finish = function() {
-      if (this.buffer) {
-        this._parseHeader();
+      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;
+        }
+      }
+      addHeader(key, value) {
+        processHeader(this, key, value);
+        return this;
       }
-      this.ss.matches = this.ss.maxMatches;
-      const header = this.header;
-      this.header = {};
-      this.buffer = "";
-      this.finished = true;
-      this.nread = this.npairs = 0;
-      this.maxed = false;
-      this.emit("header", header);
     };
-    HeaderParser.prototype._parseHeader = function() {
-      if (this.npairs === this.maxHeaderPairs) {
+    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;
       }
-      const lines = this.buffer.split(RE_CRLF);
-      const len = lines.length;
-      let m, h;
-      for (var i = 0; i < len; ++i) {
-        if (lines[i].length === 0) {
-          continue;
+      let headerName = headerNameLowerCasedRecord[key];
+      if (headerName === void 0) {
+        headerName = key.toLowerCase();
+        if (headerNameLowerCasedRecord[headerName] === void 0 && !isValidHTTPToken(headerName)) {
+          throw new InvalidArgumentError("invalid header key");
         }
-        if (lines[i][0] === "	" || lines[i][0] === " ") {
-          if (h) {
-            this.header[h][this.header[h].length - 1] += lines[i];
-            continue;
+      }
+      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]}`);
           }
         }
-        const posColon = lines[i].indexOf(":");
-        if (posColon === -1 || posColon === 0) {
-          return;
+        val = arr;
+      } else if (typeof val === "string") {
+        if (!isValidHeaderValue(val)) {
+          throw new InvalidArgumentError(`invalid ${key} header`);
         }
-        m = RE_HDR.exec(lines[i]);
-        h = m[1].toLowerCase();
-        this.header[h] = this.header[h] || [];
-        this.header[h].push(m[2] || "");
-        if (++this.npairs === this.maxHeaderPairs) {
-          break;
+      } else if (val === null) {
+        val = "";
+      } else {
+        val = `${val}`;
+      }
+      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);
       }
-    };
-    module2.exports = HeaderParser;
+    }
+    module2.exports = Request;
   }
 });
 
-// node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js
-var require_Dicer = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js
+var require_dispatcher2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js"(exports2, module2) {
     "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var inherits = require("node:util").inherits;
-    var StreamSearch = require_sbmh();
-    var PartStream = require_PartStream();
-    var HeaderParser = require_HeaderParser();
-    var DASH = 45;
-    var B_ONEDASH = Buffer.from("-");
-    var B_CRLF = Buffer.from("\r\n");
-    var EMPTY_FN = function() {
+    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);
+      }
     };
-    function Dicer(cfg) {
-      if (!(this instanceof Dicer)) {
-        return new Dicer(cfg);
+    var ComposedDispatcher = class extends Dispatcher {
+      #dispatcher = null;
+      #dispatch = null;
+      constructor(dispatcher, dispatch) {
+        super();
+        this.#dispatcher = dispatcher;
+        this.#dispatch = dispatch;
       }
-      WritableStream.call(this, cfg);
-      if (!cfg || !cfg.headerFirst && typeof cfg.boundary !== "string") {
-        throw new TypeError("Boundary required");
+      dispatch(...args) {
+        this.#dispatch(...args);
       }
-      if (typeof cfg.boundary === "string") {
-        this.setBoundary(cfg.boundary);
-      } else {
-        this._bparser = void 0;
+      close(...args) {
+        return this.#dispatcher.close(...args);
       }
-      this._headerFirst = cfg.headerFirst;
-      this._dashes = 0;
-      this._parts = 0;
-      this._finished = false;
-      this._realFinish = false;
-      this._isPreamble = true;
-      this._justMatched = false;
-      this._firstWrite = true;
-      this._inHeader = true;
-      this._part = void 0;
-      this._cb = void 0;
-      this._ignoreData = false;
-      this._partOpts = { highWaterMark: cfg.partHwm };
-      this._pause = false;
-      const self2 = this;
-      this._hparser = new HeaderParser(cfg);
-      this._hparser.on("header", function(header) {
-        self2._inHeader = false;
-        self2._part.emit("header", header);
-      });
-    }
-    inherits(Dicer, WritableStream);
-    Dicer.prototype.emit = function(ev) {
-      if (ev === "finish" && !this._realFinish) {
-        if (!this._finished) {
-          const self2 = this;
-          process.nextTick(function() {
-            self2.emit("error", new Error("Unexpected end of multipart data"));
-            if (self2._part && !self2._ignoreData) {
-              const type2 = self2._isPreamble ? "Preamble" : "Part";
-              self2._part.emit("error", new Error(type2 + " terminated early due to unexpected end of multipart data"));
-              self2._part.push(null);
-              process.nextTick(function() {
-                self2._realFinish = true;
-                self2.emit("finish");
-                self2._realFinish = false;
-              });
-              return;
-            }
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
-          });
-        }
-      } else {
-        WritableStream.prototype.emit.apply(this, arguments);
+      destroy(...args) {
+        return this.#dispatcher.destroy(...args);
       }
     };
-    Dicer.prototype._write = function(data, encoding, cb) {
-      if (!this._hparser && !this._bparser) {
-        return cb();
-      }
-      if (this._headerFirst && this._isPreamble) {
-        if (!this._part) {
-          this._part = new PartStream(this._partOpts);
-          if (this.listenerCount("preamble") !== 0) {
-            this.emit("preamble", this._part);
-          } else {
-            this._ignore();
-          }
-        }
-        const r = this._hparser.push(data);
-        if (!this._inHeader && r !== void 0 && r < data.length) {
-          data = data.slice(r);
-        } else {
-          return cb();
-        }
+    module2.exports = Dispatcher;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js
+var require_dispatcher_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js"(exports2, module2) {
+    "use strict";
+    var Dispatcher = require_dispatcher2();
+    var {
+      ClientDestroyedError,
+      ClientClosedError,
+      InvalidArgumentError
+    } = require_errors2();
+    var { kDestroy, kClose, kClosed, kDestroyed, kDispatch, kInterceptors } = require_symbols6();
+    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
+    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
+    var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
+    var DispatcherBase = class extends Dispatcher {
+      constructor() {
+        super();
+        this[kDestroyed] = false;
+        this[kOnDestroyed] = null;
+        this[kClosed] = false;
+        this[kOnClosed] = [];
       }
-      if (this._firstWrite) {
-        this._bparser.push(B_CRLF);
-        this._firstWrite = false;
+      get destroyed() {
+        return this[kDestroyed];
       }
-      this._bparser.push(data);
-      if (this._pause) {
-        this._cb = cb;
-      } else {
-        cb();
+      get closed() {
+        return this[kClosed];
       }
-    };
-    Dicer.prototype.reset = function() {
-      this._part = void 0;
-      this._bparser = void 0;
-      this._hparser = void 0;
-    };
-    Dicer.prototype.setBoundary = function(boundary) {
-      const self2 = this;
-      this._bparser = new StreamSearch("\r\n--" + boundary);
-      this._bparser.on("info", function(isMatch, data, start, end) {
-        self2._oninfo(isMatch, data, start, end);
-      });
-    };
-    Dicer.prototype._ignore = function() {
-      if (this._part && !this._ignoreData) {
-        this._ignoreData = true;
-        this._part.on("error", EMPTY_FN);
-        this._part.resume();
+      get interceptors() {
+        return this[kInterceptors];
       }
-    };
-    Dicer.prototype._oninfo = function(isMatch, data, start, end) {
-      let buf;
-      const self2 = this;
-      let i = 0;
-      let r;
-      let shouldWriteMore = true;
-      if (!this._part && this._justMatched && data) {
-        while (this._dashes < 2 && start + i < end) {
-          if (data[start + i] === DASH) {
-            ++i;
-            ++this._dashes;
-          } else {
-            if (this._dashes) {
-              buf = B_ONEDASH;
+      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");
             }
-            this._dashes = 0;
-            break;
           }
         }
-        if (this._dashes === 2) {
-          if (start + i < end && this.listenerCount("trailer") !== 0) {
-            this.emit("trailer", data.slice(start + i, end));
+        this[kInterceptors] = newInterceptors;
+      }
+      close(callback) {
+        if (callback === void 0) {
+          return new Promise((resolve3, reject) => {
+            this.close((err, data) => {
+              return err ? reject(err) : resolve3(data);
+            });
+          });
+        }
+        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));
           }
-          this.reset();
-          this._finished = true;
-          if (self2._parts === 0) {
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
+          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);
+        });
+      }
+      destroy(err, callback) {
+        if (typeof err === "function") {
+          callback = err;
+          err = null;
         }
-        if (this._dashes) {
+        if (callback === void 0) {
+          return new Promise((resolve3, reject) => {
+            this.destroy(err, (err2, data) => {
+              return err2 ? (
+                /* istanbul ignore next: should never error */
+                reject(err2)
+              ) : resolve3(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 (this._justMatched) {
-        this._justMatched = false;
-      }
-      if (!this._part) {
-        this._part = new PartStream(this._partOpts);
-        this._part._read = function(n) {
-          self2._unpause();
+        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);
+          }
         };
-        if (this._isPreamble && this.listenerCount("preamble") !== 0) {
-          this.emit("preamble", this._part);
-        } else if (this._isPreamble !== true && this.listenerCount("part") !== 0) {
-          this.emit("part", this._part);
-        } else {
-          this._ignore();
+        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);
         }
-        if (!this._isPreamble) {
-          this._inHeader = true;
+        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);
       }
-      if (data && start < end && !this._ignoreData) {
-        if (this._isPreamble || !this._inHeader) {
-          if (buf) {
-            shouldWriteMore = this._part.push(buf);
-          }
-          shouldWriteMore = this._part.push(data.slice(start, end));
-          if (!shouldWriteMore) {
-            this._pause = true;
+      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.");
           }
-        } else if (!this._isPreamble && this._inHeader) {
-          if (buf) {
-            this._hparser.push(buf);
+          if (this[kDestroyed] || this[kOnDestroyed]) {
+            throw new ClientDestroyedError();
           }
-          r = this._hparser.push(data.slice(start, end));
-          if (!this._inHeader && r !== void 0 && r < end) {
-            this._oninfo(false, data, start + r, end);
+          if (this[kClosed]) {
+            throw new ClientClosedError();
           }
-        }
-      }
-      if (isMatch) {
-        this._hparser.reset();
-        if (this._isPreamble) {
-          this._isPreamble = false;
-        } else {
-          if (start !== end) {
-            ++this._parts;
-            this._part.on("end", function() {
-              if (--self2._parts === 0) {
-                if (self2._finished) {
-                  self2._realFinish = true;
-                  self2.emit("finish");
-                  self2._realFinish = false;
-                } else {
-                  self2._unpause();
-                }
-              }
-            });
+          return this[kInterceptedDispatch](opts, handler2);
+        } catch (err) {
+          if (typeof handler2.onError !== "function") {
+            throw new InvalidArgumentError("invalid onError method");
           }
+          handler2.onError(err);
+          return false;
         }
-        this._part.push(null);
-        this._part = void 0;
-        this._ignoreData = false;
-        this._justMatched = true;
-        this._dashes = 0;
-      }
-    };
-    Dicer.prototype._unpause = function() {
-      if (!this._pause) {
-        return;
-      }
-      this._pause = false;
-      if (this._cb) {
-        const cb = this._cb;
-        this._cb = void 0;
-        cb();
       }
     };
-    module2.exports = Dicer;
+    module2.exports = DispatcherBase;
   }
 });
 
-// node_modules/@fastify/busboy/lib/utils/decodeText.js
-var require_decodeText = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/decodeText.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/util/timers.js
+var require_timers2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/util/timers.js"(exports2, module2) {
     "use strict";
-    var utf8Decoder = new TextDecoder("utf-8");
-    var textDecoders = /* @__PURE__ */ new Map([
-      ["utf-8", utf8Decoder],
-      ["utf8", utf8Decoder]
-    ]);
-    function getDecoder(charset) {
-      let lc;
-      while (true) {
-        switch (charset) {
-          case "utf-8":
-          case "utf8":
-            return decoders.utf8;
-          case "latin1":
-          case "ascii":
-          // TODO: Make these a separate, strict decoder?
-          case "us-ascii":
-          case "iso-8859-1":
-          case "iso8859-1":
-          case "iso88591":
-          case "iso_8859-1":
-          case "windows-1252":
-          case "iso_8859-1:1987":
-          case "cp1252":
-          case "x-cp1252":
-            return decoders.latin1;
-          case "utf16le":
-          case "utf-16le":
-          case "ucs2":
-          case "ucs-2":
-            return decoders.utf16le;
-          case "base64":
-            return decoders.base64;
-          default:
-            if (lc === void 0) {
-              lc = true;
-              charset = charset.toLowerCase();
-              continue;
-            }
-            return decoders.other.bind(charset);
+    var fastNow = 0;
+    var RESOLUTION_MS = 1e3;
+    var TICK_MS = (RESOLUTION_MS >> 1) - 1;
+    var fastNowTimeout;
+    var kFastTimer = /* @__PURE__ */ 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();
+      }
     }
-    var decoders = {
-      utf8: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
-        }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+    function refreshTimeout() {
+      if (fastNowTimeout) {
+        fastNowTimeout.refresh();
+      } else {
+        clearTimeout(fastNowTimeout);
+        fastNowTimeout = setTimeout(onTick, TICK_MS);
+        if (fastNowTimeout.unref) {
+          fastNowTimeout.unref();
         }
-        return data.utf8Slice(0, data.length);
-      },
-      latin1: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+      }
+    }
+    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 (typeof data === "string") {
-          return data;
+        if (!fastNowTimeout || fastTimers.length === 1) {
+          refreshTimeout();
         }
-        return data.latin1Slice(0, data.length);
+        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);
       },
-      utf16le: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
-        }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      /**
+       * 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);
         }
-        return data.ucs2Slice(0, data.length);
       },
-      base64: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+      /**
+       * 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/github/node_modules/undici/lib/core/connect.js
+var require_connect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/connect.js"(exports2, module2) {
+    "use strict";
+    var net = require("node:net");
+    var assert = require("node:assert");
+    var util = require_util9();
+    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
+    var timers = require_timers2();
+    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);
+            }
+          });
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+        get(sessionKey) {
+          const ref = this._sessionCache.get(sessionKey);
+          return ref ? ref.deref() : null;
         }
-        return data.base64Slice(0, data.length);
-      },
-      other: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
+          }
+          this._sessionCache.set(sessionKey, new WeakRef(session));
+          this._sessionRegistry.register(session, sessionKey);
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      };
+    } else {
+      SessionCache = class SimpleSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
         }
-        if (textDecoders.has(exports2.toString())) {
-          try {
-            return textDecoders.get(exports2).decode(data);
-          } catch {
+        get(sessionKey) {
+          return this._sessionCache.get(sessionKey);
+        }
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
+          }
+          if (this._sessionCache.size >= this._maxCachedSessions) {
+            const { value: oldestKey } = this._sessionCache.keys().next();
+            this._sessionCache.delete(oldestKey);
           }
+          this._sessionCache.set(sessionKey, session);
         }
-        return typeof data === "string" ? data : data.toString();
+      };
+    }
+    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");
+          }
+          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 decodeText(text, sourceEncoding, destEncoding) {
-      if (text) {
-        return getDecoder(destEncoding)(text, sourceEncoding);
+    function onConnectTimeout(socket, opts) {
+      if (socket == null) {
+        return;
       }
-      return text;
+      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 = decodeText;
+    module2.exports = buildConnector;
   }
 });
 
-// node_modules/@fastify/busboy/lib/utils/parseParams.js
-var require_parseParams = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/parseParams.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js
+var require_utils3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js"(exports2) {
     "use strict";
-    var decodeText = require_decodeText();
-    var RE_ENCODED = /%[a-fA-F0-9][a-fA-F0-9]/g;
-    var EncodedLookup = {
-      "%00": "\0",
-      "%01": "",
-      "%02": "",
-      "%03": "",
-      "%04": "",
-      "%05": "",
-      "%06": "",
-      "%07": "\x07",
-      "%08": "\b",
-      "%09": "	",
-      "%0a": "\n",
-      "%0A": "\n",
-      "%0b": "\v",
-      "%0B": "\v",
-      "%0c": "\f",
-      "%0C": "\f",
-      "%0d": "\r",
-      "%0D": "\r",
-      "%0e": "",
-      "%0E": "",
-      "%0f": "",
-      "%0F": "",
-      "%10": "",
-      "%11": "",
-      "%12": "",
-      "%13": "",
-      "%14": "",
-      "%15": "",
-      "%16": "",
-      "%17": "",
-      "%18": "",
-      "%19": "",
-      "%1a": "",
-      "%1A": "",
-      "%1b": "\x1B",
-      "%1B": "\x1B",
-      "%1c": "",
-      "%1C": "",
-      "%1d": "",
-      "%1D": "",
-      "%1e": "",
-      "%1E": "",
-      "%1f": "",
-      "%1F": "",
-      "%20": " ",
-      "%21": "!",
-      "%22": '"',
-      "%23": "#",
-      "%24": "$",
-      "%25": "%",
-      "%26": "&",
-      "%27": "'",
-      "%28": "(",
-      "%29": ")",
-      "%2a": "*",
-      "%2A": "*",
-      "%2b": "+",
-      "%2B": "+",
-      "%2c": ",",
-      "%2C": ",",
-      "%2d": "-",
-      "%2D": "-",
-      "%2e": ".",
-      "%2E": ".",
-      "%2f": "/",
-      "%2F": "/",
-      "%30": "0",
-      "%31": "1",
-      "%32": "2",
-      "%33": "3",
-      "%34": "4",
-      "%35": "5",
-      "%36": "6",
-      "%37": "7",
-      "%38": "8",
-      "%39": "9",
-      "%3a": ":",
-      "%3A": ":",
-      "%3b": ";",
-      "%3B": ";",
-      "%3c": "<",
-      "%3C": "<",
-      "%3d": "=",
-      "%3D": "=",
-      "%3e": ">",
-      "%3E": ">",
-      "%3f": "?",
-      "%3F": "?",
-      "%40": "@",
-      "%41": "A",
-      "%42": "B",
-      "%43": "C",
-      "%44": "D",
-      "%45": "E",
-      "%46": "F",
-      "%47": "G",
-      "%48": "H",
-      "%49": "I",
-      "%4a": "J",
-      "%4A": "J",
-      "%4b": "K",
-      "%4B": "K",
-      "%4c": "L",
-      "%4C": "L",
-      "%4d": "M",
-      "%4D": "M",
-      "%4e": "N",
-      "%4E": "N",
-      "%4f": "O",
-      "%4F": "O",
-      "%50": "P",
-      "%51": "Q",
-      "%52": "R",
-      "%53": "S",
-      "%54": "T",
-      "%55": "U",
-      "%56": "V",
-      "%57": "W",
-      "%58": "X",
-      "%59": "Y",
-      "%5a": "Z",
-      "%5A": "Z",
-      "%5b": "[",
-      "%5B": "[",
-      "%5c": "\\",
-      "%5C": "\\",
-      "%5d": "]",
-      "%5D": "]",
-      "%5e": "^",
-      "%5E": "^",
-      "%5f": "_",
-      "%5F": "_",
-      "%60": "`",
-      "%61": "a",
-      "%62": "b",
-      "%63": "c",
-      "%64": "d",
-      "%65": "e",
-      "%66": "f",
-      "%67": "g",
-      "%68": "h",
-      "%69": "i",
-      "%6a": "j",
-      "%6A": "j",
-      "%6b": "k",
-      "%6B": "k",
-      "%6c": "l",
-      "%6C": "l",
-      "%6d": "m",
-      "%6D": "m",
-      "%6e": "n",
-      "%6E": "n",
-      "%6f": "o",
-      "%6F": "o",
-      "%70": "p",
-      "%71": "q",
-      "%72": "r",
-      "%73": "s",
-      "%74": "t",
-      "%75": "u",
-      "%76": "v",
-      "%77": "w",
-      "%78": "x",
-      "%79": "y",
-      "%7a": "z",
-      "%7A": "z",
-      "%7b": "{",
-      "%7B": "{",
-      "%7c": "|",
-      "%7C": "|",
-      "%7d": "}",
-      "%7D": "}",
-      "%7e": "~",
-      "%7E": "~",
-      "%7f": "\x7F",
-      "%7F": "\x7F",
-      "%80": "\x80",
-      "%81": "\x81",
-      "%82": "\x82",
-      "%83": "\x83",
-      "%84": "\x84",
-      "%85": "\x85",
-      "%86": "\x86",
-      "%87": "\x87",
-      "%88": "\x88",
-      "%89": "\x89",
-      "%8a": "\x8A",
-      "%8A": "\x8A",
-      "%8b": "\x8B",
-      "%8B": "\x8B",
-      "%8c": "\x8C",
-      "%8C": "\x8C",
-      "%8d": "\x8D",
-      "%8D": "\x8D",
-      "%8e": "\x8E",
-      "%8E": "\x8E",
-      "%8f": "\x8F",
-      "%8F": "\x8F",
-      "%90": "\x90",
-      "%91": "\x91",
-      "%92": "\x92",
-      "%93": "\x93",
-      "%94": "\x94",
-      "%95": "\x95",
-      "%96": "\x96",
-      "%97": "\x97",
-      "%98": "\x98",
-      "%99": "\x99",
-      "%9a": "\x9A",
-      "%9A": "\x9A",
-      "%9b": "\x9B",
-      "%9B": "\x9B",
-      "%9c": "\x9C",
-      "%9C": "\x9C",
-      "%9d": "\x9D",
-      "%9D": "\x9D",
-      "%9e": "\x9E",
-      "%9E": "\x9E",
-      "%9f": "\x9F",
-      "%9F": "\x9F",
-      "%a0": "\xA0",
-      "%A0": "\xA0",
-      "%a1": "\xA1",
-      "%A1": "\xA1",
-      "%a2": "\xA2",
-      "%A2": "\xA2",
-      "%a3": "\xA3",
-      "%A3": "\xA3",
-      "%a4": "\xA4",
-      "%A4": "\xA4",
-      "%a5": "\xA5",
-      "%A5": "\xA5",
-      "%a6": "\xA6",
-      "%A6": "\xA6",
-      "%a7": "\xA7",
-      "%A7": "\xA7",
-      "%a8": "\xA8",
-      "%A8": "\xA8",
-      "%a9": "\xA9",
-      "%A9": "\xA9",
-      "%aa": "\xAA",
-      "%Aa": "\xAA",
-      "%aA": "\xAA",
-      "%AA": "\xAA",
-      "%ab": "\xAB",
-      "%Ab": "\xAB",
-      "%aB": "\xAB",
-      "%AB": "\xAB",
-      "%ac": "\xAC",
-      "%Ac": "\xAC",
-      "%aC": "\xAC",
-      "%AC": "\xAC",
-      "%ad": "\xAD",
-      "%Ad": "\xAD",
-      "%aD": "\xAD",
-      "%AD": "\xAD",
-      "%ae": "\xAE",
-      "%Ae": "\xAE",
-      "%aE": "\xAE",
-      "%AE": "\xAE",
-      "%af": "\xAF",
-      "%Af": "\xAF",
-      "%aF": "\xAF",
-      "%AF": "\xAF",
-      "%b0": "\xB0",
-      "%B0": "\xB0",
-      "%b1": "\xB1",
-      "%B1": "\xB1",
-      "%b2": "\xB2",
-      "%B2": "\xB2",
-      "%b3": "\xB3",
-      "%B3": "\xB3",
-      "%b4": "\xB4",
-      "%B4": "\xB4",
-      "%b5": "\xB5",
-      "%B5": "\xB5",
-      "%b6": "\xB6",
-      "%B6": "\xB6",
-      "%b7": "\xB7",
-      "%B7": "\xB7",
-      "%b8": "\xB8",
-      "%B8": "\xB8",
-      "%b9": "\xB9",
-      "%B9": "\xB9",
-      "%ba": "\xBA",
-      "%Ba": "\xBA",
-      "%bA": "\xBA",
-      "%BA": "\xBA",
-      "%bb": "\xBB",
-      "%Bb": "\xBB",
-      "%bB": "\xBB",
-      "%BB": "\xBB",
-      "%bc": "\xBC",
-      "%Bc": "\xBC",
-      "%bC": "\xBC",
-      "%BC": "\xBC",
-      "%bd": "\xBD",
-      "%Bd": "\xBD",
-      "%bD": "\xBD",
-      "%BD": "\xBD",
-      "%be": "\xBE",
-      "%Be": "\xBE",
-      "%bE": "\xBE",
-      "%BE": "\xBE",
-      "%bf": "\xBF",
-      "%Bf": "\xBF",
-      "%bF": "\xBF",
-      "%BF": "\xBF",
-      "%c0": "\xC0",
-      "%C0": "\xC0",
-      "%c1": "\xC1",
-      "%C1": "\xC1",
-      "%c2": "\xC2",
-      "%C2": "\xC2",
-      "%c3": "\xC3",
-      "%C3": "\xC3",
-      "%c4": "\xC4",
-      "%C4": "\xC4",
-      "%c5": "\xC5",
-      "%C5": "\xC5",
-      "%c6": "\xC6",
-      "%C6": "\xC6",
-      "%c7": "\xC7",
-      "%C7": "\xC7",
-      "%c8": "\xC8",
-      "%C8": "\xC8",
-      "%c9": "\xC9",
-      "%C9": "\xC9",
-      "%ca": "\xCA",
-      "%Ca": "\xCA",
-      "%cA": "\xCA",
-      "%CA": "\xCA",
-      "%cb": "\xCB",
-      "%Cb": "\xCB",
-      "%cB": "\xCB",
-      "%CB": "\xCB",
-      "%cc": "\xCC",
-      "%Cc": "\xCC",
-      "%cC": "\xCC",
-      "%CC": "\xCC",
-      "%cd": "\xCD",
-      "%Cd": "\xCD",
-      "%cD": "\xCD",
-      "%CD": "\xCD",
-      "%ce": "\xCE",
-      "%Ce": "\xCE",
-      "%cE": "\xCE",
-      "%CE": "\xCE",
-      "%cf": "\xCF",
-      "%Cf": "\xCF",
-      "%cF": "\xCF",
-      "%CF": "\xCF",
-      "%d0": "\xD0",
-      "%D0": "\xD0",
-      "%d1": "\xD1",
-      "%D1": "\xD1",
-      "%d2": "\xD2",
-      "%D2": "\xD2",
-      "%d3": "\xD3",
-      "%D3": "\xD3",
-      "%d4": "\xD4",
-      "%D4": "\xD4",
-      "%d5": "\xD5",
-      "%D5": "\xD5",
-      "%d6": "\xD6",
-      "%D6": "\xD6",
-      "%d7": "\xD7",
-      "%D7": "\xD7",
-      "%d8": "\xD8",
-      "%D8": "\xD8",
-      "%d9": "\xD9",
-      "%D9": "\xD9",
-      "%da": "\xDA",
-      "%Da": "\xDA",
-      "%dA": "\xDA",
-      "%DA": "\xDA",
-      "%db": "\xDB",
-      "%Db": "\xDB",
-      "%dB": "\xDB",
-      "%DB": "\xDB",
-      "%dc": "\xDC",
-      "%Dc": "\xDC",
-      "%dC": "\xDC",
-      "%DC": "\xDC",
-      "%dd": "\xDD",
-      "%Dd": "\xDD",
-      "%dD": "\xDD",
-      "%DD": "\xDD",
-      "%de": "\xDE",
-      "%De": "\xDE",
-      "%dE": "\xDE",
-      "%DE": "\xDE",
-      "%df": "\xDF",
-      "%Df": "\xDF",
-      "%dF": "\xDF",
-      "%DF": "\xDF",
-      "%e0": "\xE0",
-      "%E0": "\xE0",
-      "%e1": "\xE1",
-      "%E1": "\xE1",
-      "%e2": "\xE2",
-      "%E2": "\xE2",
-      "%e3": "\xE3",
-      "%E3": "\xE3",
-      "%e4": "\xE4",
-      "%E4": "\xE4",
-      "%e5": "\xE5",
-      "%E5": "\xE5",
-      "%e6": "\xE6",
-      "%E6": "\xE6",
-      "%e7": "\xE7",
-      "%E7": "\xE7",
-      "%e8": "\xE8",
-      "%E8": "\xE8",
-      "%e9": "\xE9",
-      "%E9": "\xE9",
-      "%ea": "\xEA",
-      "%Ea": "\xEA",
-      "%eA": "\xEA",
-      "%EA": "\xEA",
-      "%eb": "\xEB",
-      "%Eb": "\xEB",
-      "%eB": "\xEB",
-      "%EB": "\xEB",
-      "%ec": "\xEC",
-      "%Ec": "\xEC",
-      "%eC": "\xEC",
-      "%EC": "\xEC",
-      "%ed": "\xED",
-      "%Ed": "\xED",
-      "%eD": "\xED",
-      "%ED": "\xED",
-      "%ee": "\xEE",
-      "%Ee": "\xEE",
-      "%eE": "\xEE",
-      "%EE": "\xEE",
-      "%ef": "\xEF",
-      "%Ef": "\xEF",
-      "%eF": "\xEF",
-      "%EF": "\xEF",
-      "%f0": "\xF0",
-      "%F0": "\xF0",
-      "%f1": "\xF1",
-      "%F1": "\xF1",
-      "%f2": "\xF2",
-      "%F2": "\xF2",
-      "%f3": "\xF3",
-      "%F3": "\xF3",
-      "%f4": "\xF4",
-      "%F4": "\xF4",
-      "%f5": "\xF5",
-      "%F5": "\xF5",
-      "%f6": "\xF6",
-      "%F6": "\xF6",
-      "%f7": "\xF7",
-      "%F7": "\xF7",
-      "%f8": "\xF8",
-      "%F8": "\xF8",
-      "%f9": "\xF9",
-      "%F9": "\xF9",
-      "%fa": "\xFA",
-      "%Fa": "\xFA",
-      "%fA": "\xFA",
-      "%FA": "\xFA",
-      "%fb": "\xFB",
-      "%Fb": "\xFB",
-      "%fB": "\xFB",
-      "%FB": "\xFB",
-      "%fc": "\xFC",
-      "%Fc": "\xFC",
-      "%fC": "\xFC",
-      "%FC": "\xFC",
-      "%fd": "\xFD",
-      "%Fd": "\xFD",
-      "%fD": "\xFD",
-      "%FD": "\xFD",
-      "%fe": "\xFE",
-      "%Fe": "\xFE",
-      "%fE": "\xFE",
-      "%FE": "\xFE",
-      "%ff": "\xFF",
-      "%Ff": "\xFF",
-      "%fF": "\xFF",
-      "%FF": "\xFF"
-    };
-    function encodedReplacer(match) {
-      return EncodedLookup[match];
-    }
-    var STATE_KEY = 0;
-    var STATE_VALUE = 1;
-    var STATE_CHARSET = 2;
-    var STATE_LANG = 3;
-    function parseParams(str2) {
-      const res = [];
-      let state = STATE_KEY;
-      let charset = "";
-      let inquote = false;
-      let escaping = false;
-      let p = 0;
-      let tmp = "";
-      const len = str2.length;
-      for (var i = 0; i < len; ++i) {
-        const char = str2[i];
-        if (char === "\\" && inquote) {
-          if (escaping) {
-            escaping = false;
-          } else {
-            escaping = true;
-            continue;
-          }
-        } else if (char === '"') {
-          if (!escaping) {
-            if (inquote) {
-              inquote = false;
-              state = STATE_KEY;
-            } else {
-              inquote = true;
-            }
-            continue;
-          } else {
-            escaping = false;
-          }
-        } else {
-          if (escaping && inquote) {
-            tmp += "\\";
-          }
-          escaping = false;
-          if ((state === STATE_CHARSET || state === STATE_LANG) && char === "'") {
-            if (state === STATE_CHARSET) {
-              state = STATE_LANG;
-              charset = tmp.substring(1);
-            } else {
-              state = STATE_VALUE;
-            }
-            tmp = "";
-            continue;
-          } else if (state === STATE_KEY && (char === "*" || char === "=") && res.length) {
-            state = char === "*" ? STATE_CHARSET : STATE_VALUE;
-            res[p] = [tmp, void 0];
-            tmp = "";
-            continue;
-          } else if (!inquote && char === ";") {
-            state = STATE_KEY;
-            if (charset) {
-              if (tmp.length) {
-                tmp = decodeText(
-                  tmp.replace(RE_ENCODED, encodedReplacer),
-                  "binary",
-                  charset
-                );
-              }
-              charset = "";
-            } else if (tmp.length) {
-              tmp = decodeText(tmp, "binary", "utf8");
-            }
-            if (res[p] === void 0) {
-              res[p] = tmp;
-            } else {
-              res[p][1] = tmp;
-            }
-            tmp = "";
-            ++p;
-            continue;
-          } else if (!inquote && (char === " " || char === "	")) {
-            continue;
-          }
-        }
-        tmp += char;
-      }
-      if (charset && tmp.length) {
-        tmp = decodeText(
-          tmp.replace(RE_ENCODED, encodedReplacer),
-          "binary",
-          charset
-        );
-      } else if (tmp) {
-        tmp = decodeText(tmp, "binary", "utf8");
-      }
-      if (res[p] === void 0) {
-        if (tmp) {
-          res[p] = tmp;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.enumToMap = void 0;
+    function enumToMap(obj) {
+      const res = {};
+      Object.keys(obj).forEach((key) => {
+        const value = obj[key];
+        if (typeof value === "number") {
+          res[key] = value;
         }
-      } else {
-        res[p][1] = tmp;
-      }
+      });
       return res;
     }
-    module2.exports = parseParams;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/basename.js
-var require_basename = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/basename.js"(exports2, module2) {
-    "use strict";
-    module2.exports = function basename2(path4) {
-      if (typeof path4 !== "string") {
-        return "";
-      }
-      for (var i = path4.length - 1; i >= 0; --i) {
-        switch (path4.charCodeAt(i)) {
-          case 47:
-          // '/'
-          case 92:
-            path4 = path4.slice(i + 1);
-            return path4 === ".." || path4 === "." ? "" : path4;
-        }
-      }
-      return path4 === ".." || path4 === "." ? "" : path4;
-    };
+    exports2.enumToMap = enumToMap;
   }
 });
 
-// node_modules/@fastify/busboy/lib/types/multipart.js
-var require_multipart = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/multipart.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js
+var require_constants7 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js"(exports2) {
     "use strict";
-    var { Readable } = require("node:stream");
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var parseParams = require_parseParams();
-    var decodeText = require_decodeText();
-    var basename2 = require_basename();
-    var getLimit = require_getLimit();
-    var RE_BOUNDARY = /^boundary$/i;
-    var RE_FIELD = /^form-data$/i;
-    var RE_CHARSET = /^charset$/i;
-    var RE_FILENAME = /^filename$/i;
-    var RE_NAME = /^name$/i;
-    Multipart.detect = /^multipart\/form-data/i;
-    function Multipart(boy, cfg) {
-      let i;
-      let len;
-      const self2 = this;
-      let boundary;
-      const limits = cfg.limits;
-      const isPartAFile = cfg.isPartAFile || ((fieldName, contentType, fileName) => contentType === "application/octet-stream" || fileName !== void 0);
-      const parsedConType = cfg.parsedConType || [];
-      const defCharset = cfg.defCharset || "utf8";
-      const preservePath = cfg.preservePath;
-      const fileOpts = { highWaterMark: cfg.fileHwm };
-      for (i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_BOUNDARY.test(parsedConType[i][0])) {
-          boundary = parsedConType[i][1];
-          break;
-        }
-      }
-      function checkFinished() {
-        if (nends === 0 && finished && !boy._done) {
-          finished = false;
-          self2.end();
-        }
-      }
-      if (typeof boundary !== "string") {
-        throw new Error("Multipart: Boundary not found");
-      }
-      const fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      const fileSizeLimit = getLimit(limits, "fileSize", Infinity);
-      const filesLimit = getLimit(limits, "files", Infinity);
-      const fieldsLimit = getLimit(limits, "fields", Infinity);
-      const partsLimit = getLimit(limits, "parts", Infinity);
-      const headerPairsLimit = getLimit(limits, "headerPairs", 2e3);
-      const headerSizeLimit = getLimit(limits, "headerSize", 80 * 1024);
-      let nfiles = 0;
-      let nfields = 0;
-      let nends = 0;
-      let curFile;
-      let curField;
-      let finished = false;
-      this._needDrain = false;
-      this._pause = false;
-      this._cb = void 0;
-      this._nparts = 0;
-      this._boy = boy;
-      const parserCfg = {
-        boundary,
-        maxHeaderPairs: headerPairsLimit,
-        maxHeaderSize: headerSizeLimit,
-        partHwm: fileOpts.highWaterMark,
-        highWaterMark: cfg.highWaterMark
-      };
-      this.parser = new Dicer(parserCfg);
-      this.parser.on("drain", function() {
-        self2._needDrain = false;
-        if (self2._cb && !self2._pause) {
-          const cb = self2._cb;
-          self2._cb = void 0;
-          cb();
-        }
-      }).on("part", function onPart(part) {
-        if (++self2._nparts > partsLimit) {
-          self2.parser.removeListener("part", onPart);
-          self2.parser.on("part", skipPart);
-          boy.hitPartsLimit = true;
-          boy.emit("partsLimit");
-          return skipPart(part);
-        }
-        if (curField) {
-          const field = curField;
-          field.emit("end");
-          field.removeAllListeners("end");
-        }
-        part.on("header", function(header) {
-          let contype;
-          let fieldname;
-          let parsed;
-          let charset;
-          let encoding;
-          let filename;
-          let nsize = 0;
-          if (header["content-type"]) {
-            parsed = parseParams(header["content-type"][0]);
-            if (parsed[0]) {
-              contype = parsed[0].toLowerCase();
-              for (i = 0, len = parsed.length; i < len; ++i) {
-                if (RE_CHARSET.test(parsed[i][0])) {
-                  charset = parsed[i][1].toLowerCase();
-                  break;
-                }
-              }
-            }
-          }
-          if (contype === void 0) {
-            contype = "text/plain";
-          }
-          if (charset === void 0) {
-            charset = defCharset;
-          }
-          if (header["content-disposition"]) {
-            parsed = parseParams(header["content-disposition"][0]);
-            if (!RE_FIELD.test(parsed[0])) {
-              return skipPart(part);
-            }
-            for (i = 0, len = parsed.length; i < len; ++i) {
-              if (RE_NAME.test(parsed[i][0])) {
-                fieldname = parsed[i][1];
-              } else if (RE_FILENAME.test(parsed[i][0])) {
-                filename = parsed[i][1];
-                if (!preservePath) {
-                  filename = basename2(filename);
-                }
-              }
-            }
-          } else {
-            return skipPart(part);
-          }
-          if (header["content-transfer-encoding"]) {
-            encoding = header["content-transfer-encoding"][0].toLowerCase();
-          } else {
-            encoding = "7bit";
-          }
-          let onData, onEnd;
-          if (isPartAFile(fieldname, contype, filename)) {
-            if (nfiles === filesLimit) {
-              if (!boy.hitFilesLimit) {
-                boy.hitFilesLimit = true;
-                boy.emit("filesLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfiles;
-            if (boy.listenerCount("file") === 0) {
-              self2.parser._ignore();
-              return;
-            }
-            ++nends;
-            const file = new FileStream(fileOpts);
-            curFile = file;
-            file.on("end", function() {
-              --nends;
-              self2._pause = false;
-              checkFinished();
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            });
-            file._read = function(n) {
-              if (!self2._pause) {
-                return;
-              }
-              self2._pause = false;
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            };
-            boy.emit("file", fieldname, file, filename, encoding, contype);
-            onData = function(data) {
-              if ((nsize += data.length) > fileSizeLimit) {
-                const extralen = fileSizeLimit - nsize + data.length;
-                if (extralen > 0) {
-                  file.push(data.slice(0, extralen));
-                }
-                file.truncated = true;
-                file.bytesRead = fileSizeLimit;
-                part.removeAllListeners("data");
-                file.emit("limit");
-                return;
-              } else if (!file.push(data)) {
-                self2._pause = true;
-              }
-              file.bytesRead = nsize;
-            };
-            onEnd = function() {
-              curFile = void 0;
-              file.push(null);
-            };
-          } else {
-            if (nfields === fieldsLimit) {
-              if (!boy.hitFieldsLimit) {
-                boy.hitFieldsLimit = true;
-                boy.emit("fieldsLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfields;
-            ++nends;
-            let buffer = "";
-            let truncated = false;
-            curField = part;
-            onData = function(data) {
-              if ((nsize += data.length) > fieldSizeLimit) {
-                const extralen = fieldSizeLimit - (nsize - data.length);
-                buffer += data.toString("binary", 0, extralen);
-                truncated = true;
-                part.removeAllListeners("data");
-              } else {
-                buffer += data.toString("binary");
-              }
-            };
-            onEnd = function() {
-              curField = void 0;
-              if (buffer.length) {
-                buffer = decodeText(buffer, "binary", charset);
-              }
-              boy.emit("field", fieldname, buffer, false, truncated, encoding, contype);
-              --nends;
-              checkFinished();
-            };
-          }
-          part._readableState.sync = false;
-          part.on("data", onData);
-          part.on("end", onEnd);
-        }).on("error", function(err) {
-          if (curFile) {
-            curFile.emit("error", err);
-          }
-        });
-      }).on("error", function(err) {
-        boy.emit("error", err);
-      }).on("finish", function() {
-        finished = true;
-        checkFinished();
-      });
-    }
-    Multipart.prototype.write = function(chunk, cb) {
-      const r = this.parser.write(chunk);
-      if (r && !this._pause) {
-        cb();
-      } else {
-        this._needDrain = !r;
-        this._cb = cb;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
+    var utils_1 = require_utils3();
+    var ERROR;
+    (function(ERROR2) {
+      ERROR2[ERROR2["OK"] = 0] = "OK";
+      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
+      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
+      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
+      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
+      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
+      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
+      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
+      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
+      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
+      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
+      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
+      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
+      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
+      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
+      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
+      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
+      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
+      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
+      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
+      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
+      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
+      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
+      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
+      ERROR2[ERROR2["USER"] = 24] = "USER";
+    })(ERROR = 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];
       }
+    });
+    var FINISH;
+    (function(FINISH2) {
+      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
+      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
+      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
+    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
+    exports2.ALPHA = [];
+    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
+      exports2.ALPHA.push(String.fromCharCode(i));
+      exports2.ALPHA.push(String.fromCharCode(i + 32));
+    }
+    exports2.NUM_MAP = {
+      0: 0,
+      1: 1,
+      2: 2,
+      3: 3,
+      4: 4,
+      5: 5,
+      6: 6,
+      7: 7,
+      8: 8,
+      9: 9
     };
-    Multipart.prototype.end = function() {
-      const self2 = this;
-      if (self2.parser.writable) {
-        self2.parser.end();
-      } else if (!self2._boy._done) {
-        process.nextTick(function() {
-          self2._boy._done = true;
-          self2._boy.emit("finish");
-        });
-      }
+    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
     };
-    function skipPart(part) {
-      part.resume();
+    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);
     }
-    function FileStream(opts) {
-      Readable.call(this, opts);
-      this.bytesRead = 0;
-      this.truncated = false;
+    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);
+      }
     }
-    inherits(FileStream, Readable);
-    FileStream.prototype._read = function(n) {
+    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
     };
-    module2.exports = Multipart;
   }
 });
 
-// node_modules/@fastify/busboy/lib/utils/Decoder.js
-var require_Decoder = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/Decoder.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js
+var require_llhttp_wasm2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
     "use strict";
-    var RE_PLUS = /\+/g;
-    var HEX = [
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0
-    ];
-    function Decoder() {
-      this.buffer = void 0;
+    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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CABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv", "base64");
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
+var require_llhttp_simd_wasm2 = __commonJS({
+  "node_modules/@actions/github/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/@actions/github/node_modules/undici/lib/web/fetch/constants.js
+var require_constants8 = __commonJS({
+  "node_modules/@actions/github/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/@actions/github/node_modules/undici/lib/web/fetch/global.js
+var require_global3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/global.js"(exports2, module2) {
+    "use strict";
+    var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
+    function getGlobalOrigin() {
+      return globalThis[globalOrigin];
     }
-    Decoder.prototype.write = function(str2) {
-      str2 = str2.replace(RE_PLUS, " ");
-      let res = "";
-      let i = 0;
-      let p = 0;
-      const len = str2.length;
-      for (; i < len; ++i) {
-        if (this.buffer !== void 0) {
-          if (!HEX[str2.charCodeAt(i)]) {
-            res += "%" + this.buffer;
-            this.buffer = void 0;
-            --i;
-          } else {
-            this.buffer += str2[i];
-            ++p;
-            if (this.buffer.length === 2) {
-              res += String.fromCharCode(parseInt(this.buffer, 16));
-              this.buffer = void 0;
-            }
-          }
-        } else if (str2[i] === "%") {
-          if (i > p) {
-            res += str2.substring(p, i);
-            p = i;
-          }
-          this.buffer = "";
-          ++p;
-        }
+    function setGlobalOrigin(newOrigin) {
+      if (newOrigin === void 0) {
+        Object.defineProperty(globalThis, globalOrigin, {
+          value: void 0,
+          writable: true,
+          enumerable: false,
+          configurable: false
+        });
+        return;
       }
-      if (p < len && this.buffer === void 0) {
-        res += str2.substring(p);
+      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 res;
-    };
-    Decoder.prototype.reset = function() {
-      this.buffer = void 0;
+      Object.defineProperty(globalThis, globalOrigin, {
+        value: parsedURL,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
+    }
+    module2.exports = {
+      getGlobalOrigin,
+      setGlobalOrigin
     };
-    module2.exports = Decoder;
   }
 });
 
-// node_modules/@fastify/busboy/lib/types/urlencoded.js
-var require_urlencoded = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/urlencoded.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js
+var require_data_url2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js"(exports2, module2) {
     "use strict";
-    var Decoder = require_Decoder();
-    var decodeText = require_decodeText();
-    var getLimit = require_getLimit();
-    var RE_CHARSET = /^charset$/i;
-    UrlEncoded.detect = /^application\/x-www-form-urlencoded/i;
-    function UrlEncoded(boy, cfg) {
-      const limits = cfg.limits;
-      const parsedConType = cfg.parsedConType;
-      this.boy = boy;
-      this.fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      this.fieldNameSizeLimit = getLimit(limits, "fieldNameSize", 100);
-      this.fieldsLimit = getLimit(limits, "fields", Infinity);
-      let charset;
-      for (var i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_CHARSET.test(parsedConType[i][0])) {
-          charset = parsedConType[i][1].toLowerCase();
-          break;
+    var assert = require("node:assert");
+    var encoder = new TextEncoder();
+    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+\-.^_|~A-Za-z0-9]+$/;
+    var HTTP_WHITESPACE_REGEX = /[\u000A\u000D\u0009\u0020]/;
+    var ASCII_WHITESPACE_REPLACE_REGEX = /[\u0009\u000A\u000C\u000D\u0020]/g;
+    var HTTP_QUOTED_STRING_TOKENS = /^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;
+    function dataURLProcessor(dataURL) {
+      assert(dataURL.protocol === "data:");
+      let input = URLSerializer(dataURL, true);
+      input = input.slice(5);
+      const position = { position: 0 };
+      let mimeType = collectASequenceOfCodePointsFast(
+        ",",
+        input,
+        position
+      );
+      const mimeTypeLength = mimeType.length;
+      mimeType = removeASCIIWhitespace(mimeType, true, true);
+      if (position.position >= input.length) {
+        return "failure";
+      }
+      position.position++;
+      const encodedBody = input.slice(mimeTypeLength + 1);
+      let body = stringPercentDecode(encodedBody);
+      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
+        const stringBody = isomorphicDecode(body);
+        body = forgivingBase64(stringBody);
+        if (body === "failure") {
+          return "failure";
         }
+        mimeType = mimeType.slice(0, -6);
+        mimeType = mimeType.replace(/(\u0020)+$/, "");
+        mimeType = mimeType.slice(0, -1);
       }
-      if (charset === void 0) {
-        charset = cfg.defCharset || "utf8";
+      if (mimeType.startsWith(";")) {
+        mimeType = "text/plain" + mimeType;
       }
-      this.decoder = new Decoder();
-      this.charset = charset;
-      this._fields = 0;
-      this._state = "key";
-      this._checkingBytes = true;
-      this._bytesKey = 0;
-      this._bytesVal = 0;
-      this._key = "";
-      this._val = "";
-      this._keyTrunc = false;
-      this._valTrunc = false;
-      this._hitLimit = false;
+      let mimeTypeRecord = parseMIMEType(mimeType);
+      if (mimeTypeRecord === "failure") {
+        mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
+      }
+      return { mimeType: mimeTypeRecord, body };
     }
-    UrlEncoded.prototype.write = function(data, cb) {
-      if (this._fields === this.fieldsLimit) {
-        if (!this.boy.hitFieldsLimit) {
-          this.boy.hitFieldsLimit = true;
-          this.boy.emit("fieldsLimit");
+    function URLSerializer(url, excludeFragment = false) {
+      if (!excludeFragment) {
+        return url.href;
+      }
+      const href = url.href;
+      const hashLength = url.hash.length;
+      const serialized = hashLength === 0 ? href : href.substring(0, href.length - hashLength);
+      if (!hashLength && href.endsWith("#")) {
+        return serialized.slice(0, -1);
+      }
+      return serialized;
+    }
+    function collectASequenceOfCodePoints(condition, input, position) {
+      let result = "";
+      while (position.position < input.length && condition(input[position.position])) {
+        result += input[position.position];
+        position.position++;
+      }
+      return result;
+    }
+    function collectASequenceOfCodePointsFast(char, input, position) {
+      const idx = input.indexOf(char, position.position);
+      const start = position.position;
+      if (idx === -1) {
+        position.position = input.length;
+        return input.slice(start);
+      }
+      position.position = idx;
+      return input.slice(start, position.position);
+    }
+    function stringPercentDecode(input) {
+      const bytes = encoder.encode(input);
+      return percentDecode(bytes);
+    }
+    function isHexCharByte(byte) {
+      return byte >= 48 && byte <= 57 || byte >= 65 && byte <= 70 || byte >= 97 && byte <= 102;
+    }
+    function hexByteToNumber(byte) {
+      return (
+        // 0-9
+        byte >= 48 && byte <= 57 ? byte - 48 : (byte & 223) - 55
+      );
+    }
+    function 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 cb();
       }
-      let idxeq;
-      let idxamp;
-      let i;
-      let p = 0;
-      const len = data.length;
-      while (p < len) {
-        if (this._state === "key") {
-          idxeq = idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 61) {
-              idxeq = i;
-              break;
-            } else if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesKey === this.fieldNameSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesKey;
-            }
-          }
-          if (idxeq !== void 0) {
-            if (idxeq > p) {
-              this._key += this.decoder.write(data.toString("binary", p, idxeq));
-            }
-            this._state = "val";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._val = "";
-            this._bytesVal = 0;
-            this._valTrunc = false;
-            this.decoder.reset();
-            p = idxeq + 1;
-          } else if (idxamp !== void 0) {
-            ++this._fields;
-            let key;
-            const keyTrunc = this._keyTrunc;
-            if (idxamp > p) {
-              key = this._key += this.decoder.write(data.toString("binary", p, idxamp));
-            } else {
-              key = this._key;
-            }
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            if (key.length) {
-              this.boy.emit(
-                "field",
-                decodeText(key, "binary", this.charset),
-                "",
-                keyTrunc,
-                false
-              );
-            }
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._key += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if ((this._bytesKey = this._key.length) === this.fieldNameSizeLimit) {
-              this._checkingBytes = false;
-              this._keyTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._key += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+      return length === j ? output : output.subarray(0, j);
+    }
+    function parseMIMEType(input) {
+      input = removeHTTPWhitespace(input, true, true);
+      const position = { position: 0 };
+      const type2 = collectASequenceOfCodePointsFast(
+        "/",
+        input,
+        position
+      );
+      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
+        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 = type2.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 {
-          idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesVal === this.fieldSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesVal;
-            }
+          parameterValue = collectASequenceOfCodePointsFast(
+            ";",
+            input,
+            position
+          );
+          parameterValue = removeHTTPWhitespace(parameterValue, false, true);
+          if (parameterValue.length === 0) {
+            continue;
           }
-          if (idxamp !== void 0) {
-            ++this._fields;
-            if (idxamp > p) {
-              this._val += this.decoder.write(data.toString("binary", p, idxamp));
-            }
-            this.boy.emit(
-              "field",
-              decodeText(this._key, "binary", this.charset),
-              decodeText(this._val, "binary", this.charset),
-              this._keyTrunc,
-              this._valTrunc
-            );
-            this._state = "key";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._val += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if (this._val === "" && this.fieldSizeLimit === 0 || (this._bytesVal = this._val.length) === this.fieldSizeLimit) {
-              this._checkingBytes = false;
-              this._valTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._val += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+        }
+        if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {
+          mimeType.parameters.set(parameterName, parameterValue);
+        }
+      }
+      return mimeType;
+    }
+    function forgivingBase64(data) {
+      data = data.replace(ASCII_WHITESPACE_REPLACE_REGEX, "");
+      let dataLength = data.length;
+      if (dataLength % 4 === 0) {
+        if (data.charCodeAt(dataLength - 1) === 61) {
+          --dataLength;
+          if (data.charCodeAt(dataLength - 1) === 61) {
+            --dataLength;
           }
         }
       }
-      cb();
-    };
-    UrlEncoded.prototype.end = function() {
-      if (this.boy._done) {
-        return;
+      if (dataLength % 4 === 1) {
+        return "failure";
       }
-      if (this._state === "key" && this._key.length > 0) {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          "",
-          this._keyTrunc,
-          false
-        );
-      } else if (this._state === "val") {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          decodeText(this._val, "binary", this.charset),
-          this._keyTrunc,
-          this._valTrunc
+      if (/[^+/0-9A-Za-z]/.test(data.length === dataLength ? data : data.substring(0, dataLength))) {
+        return "failure";
+      }
+      const buffer = Buffer.from(data, "base64");
+      return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);
+    }
+    function collectAnHTTPQuotedString(input, position, extractValue) {
+      const positionStart = position.position;
+      let value = "";
+      assert(input[position.position] === '"');
+      position.position++;
+      while (true) {
+        value += collectASequenceOfCodePoints(
+          (char) => char !== '"' && char !== "\\",
+          input,
+          position
         );
+        if (position.position >= input.length) {
+          break;
+        }
+        const quoteOrBackslash = input[position.position];
+        position.position++;
+        if (quoteOrBackslash === "\\") {
+          if (position.position >= input.length) {
+            value += "\\";
+            break;
+          }
+          value += input[position.position];
+          position.position++;
+        } else {
+          assert(quoteOrBackslash === '"');
+          break;
+        }
       }
-      this.boy._done = true;
-      this.boy.emit("finish");
-    };
-    module2.exports = UrlEncoded;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/main.js
-var require_main = __commonJS({
-  "node_modules/@fastify/busboy/lib/main.js"(exports2, module2) {
-    "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var MultipartParser = require_multipart();
-    var UrlencodedParser = require_urlencoded();
-    var parseParams = require_parseParams();
-    function Busboy(opts) {
-      if (!(this instanceof Busboy)) {
-        return new Busboy(opts);
+      if (extractValue) {
+        return value;
       }
-      if (typeof opts !== "object") {
-        throw new TypeError("Busboy expected an options-Object.");
+      return input.slice(positionStart, position.position);
+    }
+    function serializeAMimeType(mimeType) {
+      assert(mimeType !== "failure");
+      const { parameters, essence } = mimeType;
+      let serialization = essence;
+      for (let [name, value] of parameters.entries()) {
+        serialization += ";";
+        serialization += name;
+        serialization += "=";
+        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
+          value = value.replace(/(\\|")/g, "\\$1");
+          value = '"' + value;
+          value += '"';
+        }
+        serialization += value;
       }
-      if (typeof opts.headers !== "object") {
-        throw new TypeError("Busboy expected an options-Object with headers-attribute.");
+      return serialization;
+    }
+    function isHTTPWhiteSpace(char) {
+      return char === 13 || char === 10 || char === 9 || char === 32;
+    }
+    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isHTTPWhiteSpace);
+    }
+    function isASCIIWhitespace(char) {
+      return char === 13 || char === 10 || char === 9 || char === 12 || char === 32;
+    }
+    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isASCIIWhitespace);
+    }
+    function removeChars(str2, leading, trailing, predicate) {
+      let lead = 0;
+      let trail = str2.length - 1;
+      if (leading) {
+        while (lead < str2.length && predicate(str2.charCodeAt(lead))) lead++;
       }
-      if (typeof opts.headers["content-type"] !== "string") {
-        throw new TypeError("Missing Content-Type-header.");
+      if (trailing) {
+        while (trail > 0 && predicate(str2.charCodeAt(trail))) trail--;
       }
-      const {
-        headers,
-        ...streamOptions
-      } = opts;
-      this.opts = {
-        autoDestroy: false,
-        ...streamOptions
-      };
-      WritableStream.call(this, this.opts);
-      this._done = false;
-      this._parser = this.getParserByHeaders(headers);
-      this._finished = false;
+      return lead === 0 && trail === str2.length - 1 ? str2 : str2.slice(lead, trail + 1);
     }
-    inherits(Busboy, WritableStream);
-    Busboy.prototype.emit = function(ev) {
-      if (ev === "finish") {
-        if (!this._done) {
-          this._parser?.end();
-          return;
-        } else if (this._finished) {
-          return;
+    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;
         }
-        this._finished = true;
+        result += String.fromCharCode.apply(null, input.subarray(i, i += addition));
       }
-      WritableStream.prototype.emit.apply(this, arguments);
-    };
-    Busboy.prototype.getParserByHeaders = function(headers) {
-      const parsed = parseParams(headers["content-type"]);
-      const cfg = {
-        defCharset: this.opts.defCharset,
-        fileHwm: this.opts.fileHwm,
-        headers,
-        highWaterMark: this.opts.highWaterMark,
-        isPartAFile: this.opts.isPartAFile,
-        limits: this.opts.limits,
-        parsedConType: parsed,
-        preservePath: this.opts.preservePath
-      };
-      if (MultipartParser.detect.test(parsed[0])) {
-        return new MultipartParser(this, cfg);
+      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 (UrlencodedParser.detect.test(parsed[0])) {
-        return new UrlencodedParser(this, cfg);
+      if (mimeType.subtype.endsWith("+json")) {
+        return "application/json";
       }
-      throw new Error("Unsupported Content-Type.");
-    };
-    Busboy.prototype._write = function(chunk, encoding, cb) {
-      this._parser.write(chunk, cb);
+      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
     };
-    module2.exports = Busboy;
-    module2.exports.default = Busboy;
-    module2.exports.Busboy = Busboy;
-    module2.exports.Dicer = Dicer;
   }
 });
 
-// node_modules/undici/lib/fetch/constants.js
-var require_constants7 = __commonJS({
-  "node_modules/undici/lib/fetch/constants.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/webidl.js
+var require_webidl2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/webidl.js"(exports2, module2) {
     "use strict";
-    var { MessageChannel, receiveMessageOnPort } = require("worker_threads");
-    var corsSafeListedMethods = ["GET", "HEAD", "POST"];
-    var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
-    var nullBodyStatus = [101, 204, 205, 304];
-    var redirectStatus = [301, 302, 303, 307, 308];
-    var redirectStatusSet = new Set(redirectStatus);
-    var badPorts = [
-      "1",
-      "7",
-      "9",
-      "11",
-      "13",
-      "15",
-      "17",
-      "19",
-      "20",
-      "21",
-      "22",
-      "23",
-      "25",
-      "37",
-      "42",
-      "43",
-      "53",
-      "69",
-      "77",
-      "79",
-      "87",
-      "95",
-      "101",
-      "102",
-      "103",
-      "104",
-      "109",
-      "110",
-      "111",
-      "113",
-      "115",
-      "117",
-      "119",
-      "123",
-      "135",
-      "137",
-      "139",
-      "143",
-      "161",
-      "179",
-      "389",
-      "427",
-      "465",
-      "512",
-      "513",
-      "514",
-      "515",
-      "526",
-      "530",
-      "531",
-      "532",
-      "540",
-      "548",
-      "554",
-      "556",
-      "563",
-      "587",
-      "601",
-      "636",
-      "989",
-      "990",
-      "993",
-      "995",
-      "1719",
-      "1720",
-      "1723",
-      "2049",
-      "3659",
-      "4045",
-      "5060",
-      "5061",
-      "6000",
-      "6566",
-      "6665",
-      "6666",
-      "6667",
-      "6668",
-      "6669",
-      "6697",
-      "10080"
-    ];
-    var badPortsSet = new Set(badPorts);
-    var referrerPolicy = [
-      "",
-      "no-referrer",
-      "no-referrer-when-downgrade",
-      "same-origin",
-      "origin",
-      "strict-origin",
-      "origin-when-cross-origin",
-      "strict-origin-when-cross-origin",
-      "unsafe-url"
-    ];
-    var referrerPolicySet = new Set(referrerPolicy);
-    var requestRedirect = ["follow", "manual", "error"];
-    var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"];
-    var safeMethodsSet = new Set(safeMethods);
-    var requestMode = ["navigate", "same-origin", "no-cors", "cors"];
-    var requestCredentials = ["omit", "same-origin", "include"];
-    var requestCache = [
-      "default",
-      "no-store",
-      "reload",
-      "no-cache",
-      "force-cache",
-      "only-if-cached"
-    ];
-    var requestBodyHeader = [
-      "content-encoding",
-      "content-language",
-      "content-location",
-      "content-type",
-      // See https://github.com/nodejs/undici/issues/2021
-      // 'Content-Length' is a forbidden header name, which is typically
-      // removed in the Headers implementation. However, undici doesn't
-      // filter out headers, so we add it here.
-      "content-length"
-    ];
-    var requestDuplex = [
-      "half"
-    ];
-    var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"];
-    var forbiddenMethodsSet = new Set(forbiddenMethods);
-    var subresource = [
-      "audio",
-      "audioworklet",
-      "font",
-      "image",
-      "manifest",
-      "paintworklet",
-      "script",
-      "style",
-      "track",
-      "video",
-      "xslt",
-      ""
-    ];
-    var subresourceSet = new Set(subresource);
-    var DOMException2 = globalThis.DOMException ?? (() => {
-      try {
-        atob("~");
-      } catch (err) {
-        return Object.getPrototypeOf(err).constructor;
-      }
-    })();
-    var channel;
-    var structuredClone = globalThis.structuredClone ?? // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js
-    // structuredClone was added in v17.0.0, but fetch supports v16.8
-    function structuredClone2(value, options = void 0) {
-      if (arguments.length === 0) {
-        throw new TypeError("missing argument");
-      }
-      if (!channel) {
-        channel = new MessageChannel();
-      }
-      channel.port1.unref();
-      channel.port2.unref();
-      channel.port1.postMessage(value, options?.transfer);
-      return receiveMessageOnPort(channel.port2).message;
+    var { types, inspect } = require("node:util");
+    var { markAsUncloneable } = require("node:worker_threads");
+    var { toUSVString } = require_util9();
+    var webidl = {};
+    webidl.converters = {};
+    webidl.util = {};
+    webidl.errors = {};
+    webidl.errors.exception = function(message) {
+      return new TypeError(`${message.header}: ${message.message}`);
     };
-    module2.exports = {
-      DOMException: DOMException2,
-      structuredClone,
-      subresource,
-      forbiddenMethods,
-      requestBodyHeader,
-      referrerPolicy,
-      requestRedirect,
-      requestMode,
-      requestCredentials,
-      requestCache,
-      redirectStatus,
-      corsSafeListedMethods,
-      nullBodyStatus,
-      safeMethods,
-      badPorts,
-      requestDuplex,
-      subresourceSet,
-      badPortsSet,
-      redirectStatusSet,
-      corsSafeListedMethodsSet,
-      safeMethodsSet,
-      forbiddenMethodsSet,
-      referrerPolicySet
+    webidl.errors.conversionFailed = function(context2) {
+      const plural = context2.types.length === 1 ? "" : " one of";
+      const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`;
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message
+      });
     };
-  }
-});
-
-// node_modules/undici/lib/fetch/global.js
-var require_global3 = __commonJS({
-  "node_modules/undici/lib/fetch/global.js"(exports2, module2) {
-    "use strict";
-    var globalOrigin = /* @__PURE__ */ 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;
+    webidl.errors.invalidArgument = function(context2) {
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message: `"${context2.value}" is an invalid ${context2.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;
+        }
       }
-      const parsedURL = new URL(newOrigin);
-      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
-        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
+    };
+    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
+        });
       }
-      Object.defineProperty(globalThis, globalOrigin, {
-        value: parsedURL,
-        writable: true,
-        enumerable: false,
-        configurable: false
+    };
+    webidl.illegalConstructor = function() {
+      throw webidl.errors.exception({
+        header: "TypeError",
+        message: "Illegal constructor"
       });
-    }
-    module2.exports = {
-      getGlobalOrigin,
-      setGlobalOrigin
     };
-  }
-});
-
-// node_modules/undici/lib/fetch/util.js
-var require_util10 = __commonJS({
-  "node_modules/undici/lib/fetch/util.js"(exports2, module2) {
-    "use strict";
-    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants7();
-    var { getGlobalOrigin } = require_global3();
-    var { performance: performance2 } = require("perf_hooks");
-    var { isBlobLike, toUSVString, ReadableStreamFrom } = require_util9();
-    var assert = require("assert");
-    var { isUint8Array } = require("util/types");
-    var supportedHashes = [];
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
-      supportedHashes = crypto2.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");
-      if (location !== null && isValidHeaderValue(location)) {
-        location = new URL(location, responseURL(response));
+    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";
+        }
       }
-      if (location && !location.hash) {
-        location.hash = requestFragment;
+    };
+    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;
       }
-      return location;
-    }
-    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";
+      let x = Number(V);
+      if (x === 0) {
+        x = 0;
       }
-      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;
+      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;
       }
-      return true;
-    }
-    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;
+      if (!Number.isNaN(x) && opts?.clamp === true) {
+        x = Math.min(Math.max(x, lowerBound), upperBound);
+        if (Math.floor(x) % 2 === 0) {
+          x = Math.floor(x);
+        } else {
+          x = Math.ceil(x);
+        }
+        return x;
       }
-    }
-    function isValidHTTPToken(characters) {
-      if (characters.length === 0) {
-        return false;
+      if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
+        return 0;
       }
-      for (let i = 0; i < characters.length; ++i) {
-        if (!isTokenCharCode(characters.charCodeAt(i))) {
-          return false;
-        }
+      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 true;
-    }
-    function isValidHeaderName(potentialValue) {
-      return isValidHTTPToken(potentialValue);
-    }
-    function isValidHeaderValue(potentialValue) {
-      if (potentialValue.startsWith("	") || potentialValue.startsWith(" ") || potentialValue.endsWith("	") || potentialValue.endsWith(" ")) {
-        return false;
+      return x;
+    };
+    webidl.util.IntegerPart = function(n) {
+      const r = Math.floor(Math.abs(n));
+      if (n < 0) {
+        return -1 * r;
       }
-      if (potentialValue.includes("\0") || potentialValue.includes("\r") || potentialValue.includes("\n")) {
-        return false;
+      return r;
+    };
+    webidl.util.Stringify = function(V) {
+      const type2 = webidl.util.Type(V);
+      switch (type2) {
+        case "Symbol":
+          return `Symbol(${V.description})`;
+        case "Object":
+          return inspect(V);
+        case "String":
+          return `"${V}"`;
+        default:
+          return `${V}`;
       }
-      return true;
-    }
-    function setRequestReferrerPolicyOnRedirect(request2, actualResponse) {
-      const { headersList } = actualResponse;
-      const policyHeader = (headersList.get("referrer-policy") ?? "").split(",");
-      let policy = "";
-      if (policyHeader.length > 0) {
-        for (let i = policyHeader.length; i !== 0; i--) {
-          const token = policyHeader[i - 1].trim();
-          if (referrerPolicyTokens.has(token)) {
-            policy = token;
+    };
+    webidl.sequenceConverter = function(converter) {
+      return (V, prefix, argument, Iterable) => {
+        if (webidl.util.Type(V) !== "Object") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `${argument} (${webidl.util.Stringify(V)}) is not iterable.`
+          });
+        }
+        const method = typeof Iterable === "function" ? Iterable() : V?.[Symbol.iterator]?.();
+        const seq2 = [];
+        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;
           }
+          seq2.push(converter(value, prefix, `${argument}[${index++}]`));
         }
-      }
-      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);
-    }
-    function appendRequestOriginHeader(request2) {
-      let serializedOrigin = request2.origin;
-      if (request2.responseTainting === "cors" || request2.mode === "websocket") {
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
+        return seq2;
+      };
+    };
+    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.`
+          });
         }
-      } else if (request2.method !== "GET" && request2.method !== "HEAD") {
-        switch (request2.referrerPolicy) {
-          case "no-referrer":
-            serializedOrigin = null;
-            break;
-          case "no-referrer-when-downgrade":
-          case "strict-origin":
-          case "strict-origin-when-cross-origin":
-            if (request2.origin && urlHasHttpsScheme(request2.origin) && !urlHasHttpsScheme(requestCurrentURL(request2))) {
-              serializedOrigin = null;
-            }
-            break;
-          case "same-origin":
-            if (!sameOrigin(request2, requestCurrentURL(request2))) {
-              serializedOrigin = null;
-            }
-            break;
-          default:
+        const 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;
         }
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
+        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;
+          }
         }
-      }
-    }
-    function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
-      return performance2.now();
-    }
-    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
+        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 type2 = webidl.util.Type(dictionary);
+        const dict = {};
+        if (type2 === "Null" || type2 === "Undefined") {
+          return dict;
+        } else if (type2 !== "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);
+    };
+    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/@actions/github/node_modules/undici/lib/web/fetch/util.js
+var require_util10 = __commonJS({
+  "node_modules/@actions/github/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_constants8();
+    var { getGlobalOrigin } = require_global3();
+    var { collectASequenceOfCodePoints, collectAnHTTPQuotedString, removeChars, parseMIMEType } = require_data_url2();
+    var { performance: performance2 } = require("node:perf_hooks");
+    var { isBlobLike, ReadableStreamFrom, isValidHTTPToken, normalizedMethodRecordsBase } = require_util9();
+    var assert = require("node:assert");
+    var { isUint8Array } = require("node:util/types");
+    var { webidl } = require_webidl2();
+    var supportedHashes = [];
+    var crypto2;
+    try {
+      crypto2 = require("node:crypto");
+      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
+      supportedHashes = crypto2.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 token = policyHeader[i - 1].trim();
+          if (referrerPolicyTokens.has(token)) {
+            policy = token;
+            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(timestamp2, crossOriginIsolatedCapability) {
+      return timestamp2;
+    }
+    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) {
@@ -24897,6 +25501,7 @@ var require_util10 = __commonJS({
     }
     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";
       }
@@ -25052,23 +25657,8 @@ var require_util10 = __commonJS({
     function isCancelled(fetchParams) {
       return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";
     }
-    var normalizeMethodRecord = {
-      delete: "DELETE",
-      DELETE: "DELETE",
-      get: "GET",
-      GET: "GET",
-      head: "HEAD",
-      HEAD: "HEAD",
-      options: "OPTIONS",
-      OPTIONS: "OPTIONS",
-      post: "POST",
-      POST: "POST",
-      put: "PUT",
-      PUT: "PUT"
-    };
-    Object.setPrototypeOf(normalizeMethodRecord, null);
     function normalizeMethod(method) {
-      return normalizeMethodRecord[method.toLowerCase()] ?? method;
+      return normalizedMethodRecordsBase[method.toLowerCase()] ?? method;
     }
     function serializeJavascriptValueToJSONString(value) {
       const result = JSON.stringify(value);
@@ -25079,98 +25669,164 @@ var require_util10 = __commonJS({
       return result;
     }
     var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
-    function makeIterator(iterator2, name, kind) {
-      const object = {
-        index: 0,
-        kind,
-        target: iterator2
-      };
-      const i = {
+    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 (Object.getPrototypeOf(this) !== i) {
+          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, kind: kind2, target } = object;
-          const values = target();
+          const index = this.#index;
+          const values = this.#target[kInternalIterator];
           const len = values.length;
           if (index >= len) {
-            return { value: void 0, done: true };
+            return {
+              value: void 0,
+              done: true
+            };
           }
-          const pair = values[index];
-          object.index = index + 1;
-          return iteratorResult(pair, kind2);
-        },
-        // The class string of an iterator prototype object for a given interface is the
-        // result of concatenating the identifier of the interface and the string " Iterator".
-        [Symbol.toStringTag]: `${name} Iterator`
-      };
-      Object.setPrototypeOf(i, esIteratorPrototype);
-      return Object.setPrototypeOf({}, i);
-    }
-    function iteratorResult(pair, kind) {
-      let result;
-      switch (kind) {
-        case "key": {
-          result = pair[0];
-          break;
-        }
-        case "value": {
-          result = pair[1];
-          break;
-        }
-        case "key+value": {
-          result = pair;
-          break;
+          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
+          };
         }
       }
-      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);
+      };
     }
-    async function fullyReadBody(body, processBody, processBodyError) {
-      const successSteps = processBody;
-      const errorSteps = processBodyError;
-      let reader;
-      try {
-        reader = body.stream.getReader();
+    function iteratorMixin(name, object, kInternalIterator, keyIndex = 0, valueIndex = 1) {
+      const makeIterator = createIterator(name, kInternalIterator, keyIndex, valueIndex);
+      const properties = {
+        keys: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function keys() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "key");
+          }
+        },
+        values: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function values() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "value");
+          }
+        },
+        entries: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function entries() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "key+value");
+          }
+        },
+        forEach: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function forEach(callbackfn, thisArg = globalThis) {
+            webidl.brandCheck(this, object);
+            webidl.argumentLengthCheck(arguments, 1, `${name}.forEach`);
+            if (typeof callbackfn !== "function") {
+              throw new TypeError(
+                `Failed to execute 'forEach' on '${name}': parameter 1 is not of type 'Function'.`
+              );
+            }
+            for (const { 0: key, 1: value } of makeIterator(this, "key+value")) {
+              callbackfn.call(thisArg, value, key, this);
+            }
+          }
+        }
+      };
+      return Object.defineProperties(object.prototype, {
+        ...properties,
+        [Symbol.iterator]: {
+          writable: true,
+          enumerable: false,
+          configurable: true,
+          value: properties.entries.value
+        }
+      });
+    }
+    async function fullyReadBody(body, processBody, processBodyError) {
+      const successSteps = processBody;
+      const errorSteps = processBodyError;
+      let reader;
+      try {
+        reader = body.stream.getReader();
       } catch (e) {
         errorSteps(e);
         return;
       }
       try {
-        const result = await readAllBytes(reader);
-        successSteps(result);
+        successSteps(await readAllBytes(reader));
       } catch (e) {
         errorSteps(e);
       }
     }
-    var ReadableStream2 = globalThis.ReadableStream;
     function isReadableStreamLike(stream) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      return stream instanceof ReadableStream2 || stream[Symbol.toStringTag] === "ReadableStream" && typeof stream.tee === "function";
-    }
-    var MAXIMUM_ARGUMENT_LENGTH = 65535;
-    function isomorphicDecode(input) {
-      if (input.length < MAXIMUM_ARGUMENT_LENGTH) {
-        return String.fromCharCode(...input);
-      }
-      return input.reduce((previous, current) => previous + String.fromCharCode(current), "");
+      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")) {
+        if (!err.message.includes("Controller is already closed") && !err.message.includes("ReadableStream is already closed")) {
           throw err;
         }
       }
     }
+    var invalidIsomorphicEncodeValueRegex = /[^\x00-\xFF]/;
     function isomorphicEncode(input) {
-      for (let i = 0; i < input.length; i++) {
-        assert(input.charCodeAt(i) <= 255);
-      }
+      assert(!invalidIsomorphicEncodeValueRegex.test(input));
       return input;
     }
     async function readAllBytes(reader) {
@@ -25194,24 +25850,223 @@ var require_util10 = __commonJS({
       return protocol === "about:" || protocol === "blob:" || protocol === "data:";
     }
     function urlHasHttpsScheme(url) {
-      if (typeof url === "string") {
-        return url.startsWith("https:");
-      }
-      return url.protocol === "https:";
+      return typeof url === "string" && url[5] === ":" && url[0] === "h" && url[1] === "t" && url[2] === "t" && url[3] === "p" && url[4] === "s" || url.protocol === "https:";
     }
     function urlIsHttpHttpsScheme(url) {
       assert("protocol" in url);
       const protocol = url.protocol;
       return protocol === "http:" || protocol === "https:";
     }
-    var hasOwn = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key));
+    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,
-      toUSVString,
       tryUpgradeRequestToAPotentiallyTrustworthyURL,
+      clampAndCoarsenConnectionTimingInfo,
       coarsenedSharedCurrentTime,
       determineRequestsReferrer,
       makePolicyContainer,
@@ -25234,2475 +26089,2391 @@ var require_util10 = __commonJS({
       sameOrigin,
       normalizeMethod,
       serializeJavascriptValueToJSONString,
-      makeIterator,
+      iteratorMixin,
+      createIterator,
       isValidHeaderName,
       isValidHeaderValue,
-      hasOwn,
       isErrorLike,
       fullyReadBody,
       bytesMatch,
       isReadableStreamLike,
       readableStreamClose,
       isomorphicEncode,
-      isomorphicDecode,
       urlIsLocal,
       urlHasHttpsScheme,
       urlIsHttpHttpsScheme,
       readAllBytes,
-      normalizeMethodRecord,
-      parseMetadata
+      simpleRangeHeaderValue,
+      buildContentRange,
+      parseMetadata,
+      createInflate,
+      extractMimeType,
+      getDecodeSplit,
+      utf8DecodeBytes,
+      environmentSettingsObject
     };
   }
 });
 
-// node_modules/undici/lib/fetch/symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js
 var require_symbols7 = __commonJS({
-  "node_modules/undici/lib/fetch/symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js"(exports2, module2) {
     "use strict";
     module2.exports = {
       kUrl: /* @__PURE__ */ Symbol("url"),
       kHeaders: /* @__PURE__ */ Symbol("headers"),
       kSignal: /* @__PURE__ */ Symbol("signal"),
       kState: /* @__PURE__ */ Symbol("state"),
-      kGuard: /* @__PURE__ */ Symbol("guard"),
-      kRealm: /* @__PURE__ */ Symbol("realm")
+      kDispatcher: /* @__PURE__ */ Symbol("dispatcher")
     };
   }
 });
 
-// node_modules/undici/lib/fetch/webidl.js
-var require_webidl2 = __commonJS({
-  "node_modules/undici/lib/fetch/webidl.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js
+var require_file2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js"(exports2, module2) {
     "use strict";
-    var { types } = require("util");
-    var { hasOwn, toUSVString } = require_util10();
-    var webidl = {};
-    webidl.converters = {};
-    webidl.util = {};
-    webidl.errors = {};
-    webidl.errors.exception = function(message) {
-      return new TypeError(`${message.header}: ${message.message}`);
-    };
-    webidl.errors.conversionFailed = function(context2) {
-      const plural = context2.types.length === 1 ? "" : " one of";
-      const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`;
-      return webidl.errors.exception({
-        header: context2.prefix,
-        message
-      });
-    };
-    webidl.errors.invalidArgument = function(context2) {
-      return webidl.errors.exception({
-        header: context2.prefix,
-        message: `"${context2.value}" is an invalid ${context2.type}.`
-      });
-    };
-    webidl.brandCheck = function(V, I, opts = void 0) {
-      if (opts?.strict !== false && !(V instanceof I)) {
-        throw new TypeError("Illegal invocation");
-      } else {
-        return V?.[Symbol.toStringTag] === I.prototype[Symbol.toStringTag];
+    var { Blob: Blob2, File: File2 } = require("node:buffer");
+    var { kState } = require_symbols7();
+    var { webidl } = require_webidl2();
+    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
+        };
       }
-    };
-    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.`,
-          ...ctx
-        });
+      stream(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.stream(...args);
       }
-    };
-    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";
-        }
+      arrayBuffer(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.arrayBuffer(...args);
       }
-    };
-    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;
+      slice(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.slice(...args);
       }
-      let x = Number(V);
-      if (x === 0) {
-        x = 0;
+      text(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.text(...args);
       }
-      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 ${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 size() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.size;
       }
-      if (!Number.isNaN(x) && opts.clamp === true) {
-        x = Math.min(Math.max(x, lowerBound), upperBound);
-        if (Math.floor(x) % 2 === 0) {
-          x = Math.floor(x);
-        } else {
-          x = Math.ceil(x);
-        }
-        return x;
+      get type() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.type;
       }
-      if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
-        return 0;
+      get name() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].name;
       }
-      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);
+      get lastModified() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].lastModified;
       }
-      return x;
-    };
-    webidl.util.IntegerPart = function(n) {
-      const r = Math.floor(Math.abs(n));
-      if (n < 0) {
-        return -1 * r;
+      get [Symbol.toStringTag]() {
+        return "File";
       }
-      return r;
     };
-    webidl.sequenceConverter = function(converter) {
-      return (V) => {
-        if (webidl.util.Type(V) !== "Object") {
-          throw webidl.errors.exception({
-            header: "Sequence",
-            message: `Value of type ${webidl.util.Type(V)} is not an Object.`
+    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
+    function isFileLike(object) {
+      return object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
+    }
+    module2.exports = { FileLike, isFileLike };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js
+var require_formdata2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js"(exports2, module2) {
+    "use strict";
+    var { isBlobLike, iteratorMixin } = require_util10();
+    var { kState } = require_symbols7();
+    var { kEnumerableProperty } = require_util9();
+    var { FileLike, isFileLike } = require_file2();
+    var { webidl } = require_webidl2();
+    var { File: NativeFile } = require("node:buffer");
+    var nodeUtil = require("node:util");
+    var File2 = globalThis.File ?? NativeFile;
+    var FormData2 = class _FormData {
+      constructor(form) {
+        webidl.util.markAsUncloneable(this);
+        if (form !== void 0) {
+          throw webidl.errors.conversionFailed({
+            prefix: "FormData constructor",
+            argument: "Argument 1",
+            types: ["undefined"]
           });
         }
-        const method = V?.[Symbol.iterator]?.();
-        const seq2 = [];
-        if (method === void 0 || typeof method.next !== "function") {
-          throw webidl.errors.exception({
-            header: "Sequence",
-            message: "Object is not an iterator."
-          });
-        }
-        while (true) {
-          const { done, value } = method.next();
-          if (done) {
-            break;
-          }
-          seq2.push(converter(value));
-        }
-        return seq2;
-      };
-    };
-    webidl.recordConverter = function(keyConverter, valueConverter) {
-      return (O) => {
-        if (webidl.util.Type(O) !== "Object") {
-          throw webidl.errors.exception({
-            header: "Record",
-            message: `Value of type ${webidl.util.Type(O)} is not an Object.`
-          });
-        }
-        const result = {};
-        if (!types.isProxy(O)) {
-          const keys2 = Object.keys(O);
-          for (const key of keys2) {
-            const typedKey = keyConverter(key);
-            const typedValue = valueConverter(O[key]);
-            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);
-            const typedValue = valueConverter(O[key]);
-            result[typedKey] = typedValue;
-          }
-        }
-        return result;
-      };
-    };
-    webidl.interfaceConverter = function(i) {
-      return (V, opts = {}) => {
-        if (opts.strict !== false && !(V instanceof i)) {
-          throw webidl.errors.exception({
-            header: i.name,
-            message: `Expected ${V} to be an instance of ${i.name}.`
-          });
-        }
-        return V;
-      };
-    };
-    webidl.dictionaryConverter = function(converters) {
-      return (dictionary) => {
-        const type2 = webidl.util.Type(dictionary);
-        const dict = {};
-        if (type2 === "Null" || type2 === "Undefined") {
-          return dict;
-        } else if (type2 !== "Object") {
-          throw webidl.errors.exception({
-            header: "Dictionary",
-            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 (!hasOwn(dictionary, key)) {
-              throw webidl.errors.exception({
-                header: "Dictionary",
-                message: `Missing required key "${key}".`
-              });
-            }
-          }
-          let value = dictionary[key];
-          const hasDefault = hasOwn(options, "defaultValue");
-          if (hasDefault && value !== null) {
-            value = value ?? defaultValue;
-          }
-          if (required || hasDefault || value !== void 0) {
-            value = converter(value);
-            if (options.allowedValues && !options.allowedValues.includes(value)) {
-              throw webidl.errors.exception({
-                header: "Dictionary",
-                message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
-              });
-            }
-            dict[key] = value;
-          }
-        }
-        return dict;
-      };
-    };
-    webidl.nullableConverter = function(converter) {
-      return (V) => {
-        if (V === null) {
-          return V;
-        }
-        return converter(V);
-      };
-    };
-    webidl.converters.DOMString = function(V, opts = {}) {
-      if (V === null && opts.legacyNullToEmptyString) {
-        return "";
-      }
-      if (typeof V === "symbol") {
-        throw new TypeError("Could not convert argument of type symbol to string.");
+        this[kState] = [];
       }
-      return String(V);
-    };
-    webidl.converters.ByteString = function(V) {
-      const x = webidl.converters.DOMString(V);
-      for (let index = 0; index < x.length; index++) {
-        if (x.charCodeAt(index) > 255) {
+      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(
-            `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${x.charCodeAt(index)} which is greater than 255.`
+            "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);
       }
-      return x;
-    };
-    webidl.converters.USVString = toUSVString;
-    webidl.converters.boolean = function(V) {
-      const x = Boolean(V);
-      return x;
-    };
-    webidl.converters.any = function(V) {
-      return V;
-    };
-    webidl.converters["long long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 64, "signed");
-      return x;
-    };
-    webidl.converters["unsigned long long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 64, "unsigned");
-      return x;
-    };
-    webidl.converters["unsigned long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 32, "unsigned");
-      return x;
-    };
-    webidl.converters["unsigned short"] = function(V, opts) {
-      const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts);
-      return x;
-    };
-    webidl.converters.ArrayBuffer = function(V, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {
-        throw webidl.errors.conversionFailed({
-          prefix: `${V}`,
-          argument: `${V}`,
-          types: ["ArrayBuffer"]
-        });
+      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);
       }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
+      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;
       }
-      return V;
-    };
-    webidl.converters.TypedArray = function(V, T, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {
-        throw webidl.errors.conversionFailed({
-          prefix: `${T.name}`,
-          argument: `${V}`,
-          types: [T.name]
-        });
+      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);
       }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
+      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;
       }
-      return V;
-    };
-    webidl.converters.DataView = function(V, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {
-        throw webidl.errors.exception({
-          header: "DataView",
-          message: "Object is not a DataView."
-        });
+      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);
+        }
       }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
+      [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)}`;
       }
-      return V;
     };
-    webidl.converters.BufferSource = function(V, opts = {}) {
-      if (types.isAnyArrayBuffer(V)) {
-        return webidl.converters.ArrayBuffer(V, opts);
-      }
-      if (types.isTypedArray(V)) {
-        return webidl.converters.TypedArray(V, V.constructor);
+    iteratorMixin("FormData", FormData2, kState, "name", "value");
+    Object.defineProperties(FormData2.prototype, {
+      append: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      get: kEnumerableProperty,
+      getAll: kEnumerableProperty,
+      has: kEnumerableProperty,
+      set: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "FormData",
+        configurable: true
       }
-      if (types.isDataView(V)) {
-        return webidl.converters.DataView(V, opts);
+    });
+    function makeEntry(name, value, filename) {
+      if (typeof value === "string") {
+      } else {
+        if (!isFileLike(value)) {
+          value = value instanceof Blob ? new File2([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 File2([value], filename, options) : new FileLike(value, filename, options);
+        }
       }
-      throw new TypeError(`Could not convert ${V} to a BufferSource.`);
-    };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.ByteString
-    );
-    webidl.converters["sequence>"] = webidl.sequenceConverter(
-      webidl.converters["sequence"]
-    );
-    webidl.converters["record"] = webidl.recordConverter(
-      webidl.converters.ByteString,
-      webidl.converters.ByteString
-    );
-    module2.exports = {
-      webidl
-    };
+      return { name, value };
+    }
+    module2.exports = { FormData: FormData2, makeEntry };
   }
 });
 
-// node_modules/undici/lib/fetch/dataURL.js
-var require_dataURL = __commonJS({
-  "node_modules/undici/lib/fetch/dataURL.js"(exports2, module2) {
-    var assert = require("assert");
-    var { atob: atob2 } = require("buffer");
-    var { isomorphicDecode } = require_util10();
-    var encoder = new TextEncoder();
-    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/;
-    var HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/;
-    var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/;
-    function dataURLProcessor(dataURL) {
-      assert(dataURL.protocol === "data:");
-      let input = URLSerializer(dataURL, true);
-      input = input.slice(5);
-      const position = { position: 0 };
-      let mimeType = collectASequenceOfCodePointsFast(
-        ",",
-        input,
-        position
-      );
-      const mimeTypeLength = mimeType.length;
-      mimeType = removeASCIIWhitespace(mimeType, true, true);
-      if (position.position >= input.length) {
-        return "failure";
-      }
-      position.position++;
-      const encodedBody = input.slice(mimeTypeLength + 1);
-      let body = stringPercentDecode(encodedBody);
-      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
-        const stringBody = isomorphicDecode(body);
-        body = forgivingBase64(stringBody);
-        if (body === "failure") {
-          return "failure";
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js
+var require_formdata_parser2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js"(exports2, module2) {
+    "use strict";
+    var { isUSVString, bufferToLowerCasedHeaderName } = require_util9();
+    var { utf8DecodeBytes } = require_util10();
+    var { HTTP_TOKEN_CODEPOINTS, isomorphicDecode } = require_data_url2();
+    var { isFileLike } = require_file2();
+    var { makeEntry } = require_formdata2();
+    var assert = require("node:assert");
+    var { File: NodeFile } = require("node:buffer");
+    var File2 = 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;
         }
-        mimeType = mimeType.slice(0, -6);
-        mimeType = mimeType.replace(/(\u0020)+$/, "");
-        mimeType = mimeType.slice(0, -1);
-      }
-      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 };
-    }
-    function URLSerializer(url, excludeFragment = false) {
-      if (!excludeFragment) {
-        return url.href;
-      }
-      const href = url.href;
-      const hashLength = url.hash.length;
-      return hashLength === 0 ? href : href.substring(0, href.length - hashLength);
-    }
-    function collectASequenceOfCodePoints(condition, input, position) {
-      let result = "";
-      while (position.position < input.length && condition(input[position.position])) {
-        result += input[position.position];
-        position.position++;
       }
-      return result;
+      return true;
     }
-    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);
+    function validateBoundary(boundary) {
+      const length = boundary.length;
+      if (length < 27 || length > 70) {
+        return false;
       }
-      position.position = idx;
-      return input.slice(start, position.position);
-    }
-    function stringPercentDecode(input) {
-      const bytes = encoder.encode(input);
-      return percentDecode(bytes);
-    }
-    function percentDecode(input) {
-      const output = [];
-      for (let i = 0; i < input.length; i++) {
-        const byte = input[i];
-        if (byte !== 37) {
-          output.push(byte);
-        } else if (byte === 37 && !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i + 1], input[i + 2]))) {
-          output.push(37);
-        } else {
-          const nextTwoBytes = String.fromCharCode(input[i + 1], input[i + 2]);
-          const bytePoint = Number.parseInt(nextTwoBytes, 16);
-          output.push(bytePoint);
-          i += 2;
+      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 Uint8Array.from(output);
+      return true;
     }
-    function parseMIMEType(input) {
-      input = removeHTTPWhitespace(input, true, true);
-      const position = { position: 0 };
-      const type2 = collectASequenceOfCodePointsFast(
-        "/",
-        input,
-        position
-      );
-      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
+    function multipartFormDataParser(input, mimeType) {
+      assert(mimeType !== "failure" && mimeType.essence === "multipart/form-data");
+      const boundaryString = mimeType.parameters.get("boundary");
+      if (boundaryString === void 0) {
         return "failure";
       }
-      if (position.position > input.length) {
-        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;
       }
-      position.position++;
-      let subtype = collectASequenceOfCodePointsFast(
-        ";",
-        input,
-        position
-      );
-      subtype = removeHTTPWhitespace(subtype, false, true);
-      if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {
-        return "failure";
+      let trailing = input.length;
+      while (input[trailing - 1] === 10 && input[trailing - 2] === 13) {
+        trailing -= 2;
       }
-      const typeLowercase = type2.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 (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) {
-          break;
+        if (position.position === input.length - 2 && bufferStartsWith(input, dd, position) || position.position === input.length - 4 && bufferStartsWith(input, ddcrlf, position)) {
+          return entryList;
         }
-        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 (input[position.position] !== 13 || input[position.position + 1] !== 10) {
+          return "failure";
+        }
+        position.position += 2;
+        const result = parseMultipartFormDataHeaders(input, position);
+        if (result === "failure") {
+          return "failure";
+        }
+        let { name, filename, contentType, encoding } = result;
+        position.position += 2;
+        let body;
+        {
+          const boundaryIndex = input.indexOf(boundary.subarray(2), position.position);
+          if (boundaryIndex === -1) {
+            return "failure";
+          }
+          body = input.subarray(position.position, boundaryIndex - 4);
+          position.position += body.length;
+          if (encoding === "base64") {
+            body = Buffer.from(body.toString(), "base64");
           }
         }
-        if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {
-          mimeType.parameters.set(parameterName, parameterValue);
+        if (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 File2([body], filename, { type: contentType });
+        } else {
+          value = utf8DecodeBytes(Buffer.from(body));
+        }
+        assert(isUSVString(name));
+        assert(typeof value === "string" && isUSVString(value) || isFileLike(value));
+        entryList.push(makeEntry(name, value, filename));
       }
-      return mimeType;
-    }
-    function forgivingBase64(data) {
-      data = data.replace(/[\u0009\u000A\u000C\u000D\u0020]/g, "");
-      if (data.length % 4 === 0) {
-        data = data.replace(/=?=$/, "");
-      }
-      if (data.length % 4 === 1) {
-        return "failure";
-      }
-      if (/[^+/0-9A-Za-z]/.test(data)) {
-        return "failure";
-      }
-      const binary2 = atob2(data);
-      const bytes = new Uint8Array(binary2.length);
-      for (let byte = 0; byte < binary2.length; byte++) {
-        bytes[byte] = binary2.charCodeAt(byte);
-      }
-      return bytes;
     }
-    function collectAnHTTPQuotedString(input, position, extractValue) {
-      const positionStart = position.position;
-      let value = "";
-      assert(input[position.position] === '"');
-      position.position++;
+    function parseMultipartFormDataHeaders(input, position) {
+      let name = null;
+      let filename = null;
+      let contentType = null;
+      let encoding = null;
       while (true) {
-        value += collectASequenceOfCodePoints(
-          (char) => char !== '"' && char !== "\\",
+        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
         );
-        if (position.position >= input.length) {
-          break;
+        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";
         }
-        const quoteOrBackslash = input[position.position];
         position.position++;
-        if (quoteOrBackslash === "\\") {
-          if (position.position >= input.length) {
-            value += "\\";
+        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;
           }
-          value += input[position.position];
-          position.position++;
+          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 {
-          assert(quoteOrBackslash === '"');
-          break;
+          position.position += 2;
         }
       }
-      if (extractValue) {
-        return value;
-      }
-      return input.slice(positionStart, position.position);
     }
-    function serializeAMimeType(mimeType) {
-      assert(mimeType !== "failure");
-      const { parameters, essence } = mimeType;
-      let serialization = essence;
-      for (let [name, value] of parameters.entries()) {
-        serialization += ";";
-        serialization += name;
-        serialization += "=";
-        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
-          value = value.replace(/(\\|")/g, "\\$1");
-          value = '"' + value;
-          value += '"';
-        }
-        serialization += value;
+    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++;
       }
-      return serialization;
+      name = new TextDecoder().decode(name).replace(/%0A/ig, "\n").replace(/%0D/ig, "\r").replace(/%22/g, '"');
+      return name;
     }
-    function isHTTPWhiteSpace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === " ";
+    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 removeHTTPWhitespace(str2, leading = true, trailing = true) {
+    function removeChars(buf, leading, trailing, predicate) {
       let lead = 0;
-      let trail = str2.length - 1;
+      let trail = buf.length - 1;
       if (leading) {
-        for (; lead < str2.length && isHTTPWhiteSpace(str2[lead]); lead++) ;
+        while (lead < buf.length && predicate(buf[lead])) lead++;
       }
       if (trailing) {
-        for (; trail > 0 && isHTTPWhiteSpace(str2[trail]); trail--) ;
+        while (trail > 0 && predicate(buf[trail])) trail--;
       }
-      return str2.slice(lead, trail + 1);
-    }
-    function isASCIIWhitespace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === "\f" || char === " ";
+      return lead === 0 && trail === buf.length - 1 ? buf : buf.subarray(lead, trail + 1);
     }
-    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
-      let lead = 0;
-      let trail = str2.length - 1;
-      if (leading) {
-        for (; lead < str2.length && isASCIIWhitespace(str2[lead]); lead++) ;
+    function bufferStartsWith(buffer, start, position) {
+      if (buffer.length < start.length) {
+        return false;
       }
-      if (trailing) {
-        for (; trail > 0 && isASCIIWhitespace(str2[trail]); trail--) ;
+      for (let i = 0; i < start.length; i++) {
+        if (start[i] !== buffer[position.position + i]) {
+          return false;
+        }
       }
-      return str2.slice(lead, trail + 1);
+      return true;
     }
     module2.exports = {
-      dataURLProcessor,
-      URLSerializer,
-      collectASequenceOfCodePoints,
-      collectASequenceOfCodePointsFast,
-      stringPercentDecode,
-      parseMIMEType,
-      collectAnHTTPQuotedString,
-      serializeAMimeType
+      multipartFormDataParser,
+      validateBoundary
     };
   }
 });
 
-// node_modules/undici/lib/fetch/file.js
-var require_file2 = __commonJS({
-  "node_modules/undici/lib/fetch/file.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js
+var require_body2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js"(exports2, module2) {
     "use strict";
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { types } = require("util");
+    var util = require_util9();
+    var {
+      ReadableStreamFrom,
+      isBlobLike,
+      isReadableStreamLike,
+      readableStreamClose,
+      createDeferredPromise,
+      fullyReadBody,
+      extractMimeType,
+      utf8DecodeBytes
+    } = require_util10();
+    var { FormData: FormData2 } = require_formdata2();
     var { kState } = require_symbols7();
-    var { isBlobLike } = require_util10();
     var { webidl } = require_webidl2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var { kEnumerableProperty } = require_util9();
-    var encoder = new TextEncoder();
-    var File2 = class _File extends Blob2 {
-      constructor(fileBits, fileName, options = {}) {
-        webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" });
-        fileBits = webidl.converters["sequence"](fileBits);
-        fileName = webidl.converters.USVString(fileName);
-        options = webidl.converters.FilePropertyBag(options);
-        const n = fileName;
-        let t = options.type;
-        let d;
-        substep: {
-          if (t) {
-            t = parseMIMEType(t);
-            if (t === "failure") {
-              t = "";
-              break substep;
+    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_url2();
+    var { multipartFormDataParser } = require_formdata_parser2();
+    var random;
+    try {
+      const crypto2 = require("node:crypto");
+      random = (max) => crypto2.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 type2 = null;
+      if (typeof object === "string") {
+        source = object;
+        type2 = "text/plain;charset=UTF-8";
+      } else if (object instanceof URLSearchParams) {
+        source = object.toString();
+        type2 = "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 = (str2) => str2.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;
             }
-            t = serializeAMimeType(t).toLowerCase();
           }
-          d = options.lastModified;
         }
-        super(processBlobParts(fileBits, options), { type: t });
-        this[kState] = {
-          name: n,
-          lastModified: d,
-          type: t
-        };
-      }
-      get name() {
-        webidl.brandCheck(this, _File);
-        return this[kState].name;
-      }
-      get lastModified() {
-        webidl.brandCheck(this, _File);
-        return this[kState].lastModified;
-      }
-      get type() {
-        webidl.brandCheck(this, _File);
-        return this[kState].type;
-      }
-    };
-    var FileLike = class _FileLike {
-      constructor(blobLike, fileName, options = {}) {
-        const n = fileName;
-        const t = options.type;
-        const d = options.lastModified ?? Date.now();
-        this[kState] = {
-          blobLike,
-          name: n,
-          type: t,
-          lastModified: d
+        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;
+            }
+          }
         };
+        type2 = `multipart/form-data; boundary=${boundary}`;
+      } else if (isBlobLike(object)) {
+        source = object;
+        length = object.size;
+        if (object.type) {
+          type2 = 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);
       }
-      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;
+      if (typeof source === "string" || util.isBuffer(source)) {
+        length = Buffer.byteLength(source);
       }
-      get name() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].name;
+      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"
+        });
       }
-      get lastModified() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].lastModified;
+      const body = { stream, source, length };
+      return [body, type2];
+    }
+    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.");
       }
-      get [Symbol.toStringTag]() {
-        return "File";
+      return extractBody(object, keepalive);
+    }
+    function cloneBody(instance, body) {
+      const [out1, out2] = body.stream.tee();
+      body.stream = out1;
+      return {
+        stream: out2,
+        length: body.length,
+        source: body.source
+      };
+    }
+    function throwIfAborted(state) {
+      if (state.aborted) {
+        throw new DOMException("The operation was aborted.", "AbortError");
       }
-    };
-    Object.defineProperties(File2.prototype, {
-      [Symbol.toStringTag]: {
-        value: "File",
-        configurable: true
-      },
-      name: kEnumerableProperty,
-      lastModified: kEnumerableProperty
-    });
-    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
-    webidl.converters.BlobPart = function(V, opts) {
-      if (webidl.util.Type(V) === "Object") {
-        if (isBlobLike(V)) {
-          return webidl.converters.Blob(V, { strict: false });
-        }
-        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
-          return webidl.converters.BufferSource(V, opts);
-        }
-      }
-      return webidl.converters.USVString(V, opts);
-    };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.BlobPart
-    );
-    webidl.converters.FilePropertyBag = webidl.dictionaryConverter([
-      {
-        key: "lastModified",
-        converter: webidl.converters["long long"],
-        get defaultValue() {
-          return Date.now();
-        }
-      },
-      {
-        key: "type",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "endings",
-        converter: (value) => {
-          value = webidl.converters.DOMString(value);
-          value = value.toLowerCase();
-          if (value !== "native") {
-            value = "transparent";
-          }
-          return value;
+    }
+    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);
         },
-        defaultValue: "transparent"
-      }
-    ]);
-    function processBlobParts(parts, options) {
-      const bytes = [];
-      for (const element of parts) {
-        if (typeof element === "string") {
-          let s = element;
-          if (options.endings === "native") {
-            s = convertLineEndingsNative(s);
-          }
-          bytes.push(encoder.encode(s));
-        } else if (types.isAnyArrayBuffer(element) || types.isTypedArray(element)) {
-          if (!element.buffer) {
-            bytes.push(new Uint8Array(element));
-          } else {
-            bytes.push(
-              new Uint8Array(element.buffer, element.byteOffset, element.byteLength)
+        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 FormData2();
+                  fd[kState] = parsed;
+                  return fd;
+                }
+                case "application/x-www-form-urlencoded": {
+                  const entries = new URLSearchParams(value.toString());
+                  const fd = new FormData2();
+                  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".'
             );
-          }
-        } else if (isBlobLike(element)) {
-          bytes.push(element);
+          }, instance);
+        },
+        bytes() {
+          return consumeBody(this, (bytes) => {
+            return new Uint8Array(bytes);
+          }, instance);
         }
-      }
-      return bytes;
+      };
+      return methods;
     }
-    function convertLineEndingsNative(s) {
-      let nativeLineEnding = "\n";
-      if (process.platform === "win32") {
-        nativeLineEnding = "\r\n";
+    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");
       }
-      return s.replace(/\r?\n/g, nativeLineEnding);
+      throwIfAborted(object[kState]);
+      const promise = createDeferredPromise();
+      const errorSteps = (error3) => promise.reject(error3);
+      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 isFileLike(object) {
-      return NativeFile && object instanceof NativeFile || object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
+    function bodyUnusable(object) {
+      const body = object[kState].body;
+      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
     }
-    module2.exports = { File: File2, FileLike, isFileLike };
+    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/fetch/formdata.js
-var require_formdata2 = __commonJS({
-  "node_modules/undici/lib/fetch/formdata.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js
+var require_client_h12 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js"(exports2, module2) {
     "use strict";
-    var { isBlobLike, toUSVString, makeIterator } = require_util10();
-    var { kState } = require_symbols7();
-    var { File: UndiciFile, FileLike, isFileLike } = require_file2();
-    var { webidl } = require_webidl2();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var File2 = NativeFile ?? UndiciFile;
-    var FormData2 = class _FormData {
-      constructor(form) {
-        if (form !== void 0) {
-          throw webidl.errors.conversionFailed({
-            prefix: "FormData constructor",
-            argument: "Argument 1",
-            types: ["undefined"]
-          });
+    var assert = require("node:assert");
+    var util = require_util9();
+    var { channels } = require_diagnostics2();
+    var timers = require_timers2();
+    var {
+      RequestContentLengthMismatchError,
+      ResponseContentLengthMismatchError,
+      RequestAbortedError,
+      HeadersTimeoutError,
+      HeadersOverflowError,
+      SocketError,
+      InformationalError,
+      BodyTimeoutError,
+      HTTPParserError,
+      ResponseExceededMaxSizeError
+    } = require_errors2();
+    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_symbols6();
+    var constants = require_constants7();
+    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_wasm2() : void 0;
+      let mod;
+      try {
+        mod = await WebAssembly.compile(require_llhttp_simd_wasm2());
+      } catch (e) {
+        mod = await WebAssembly.compile(llhttpWasmData || require_llhttp_wasm2());
+      }
+      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 */
         }
-        this[kState] = [];
+      });
+    }
+    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];
       }
-      append(name, value, filename = void 0) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" });
-        if (arguments.length === 3 && !isBlobLike(value)) {
-          throw new TypeError(
-            "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"
-          );
+      setTimeout(delay, type2) {
+        if (delay !== this.timeoutValue || type2 & USE_FAST_TIMER ^ this.timeoutType & USE_FAST_TIMER) {
+          if (this.timeout) {
+            timers.clearTimeout(this.timeout);
+            this.timeout = null;
+          }
+          if (delay) {
+            if (type2 & 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();
+          }
         }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0;
-        const entry = makeEntry(name, value, filename);
-        this[kState].push(entry);
+        this.timeoutType = type2;
       }
-      delete(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" });
-        name = webidl.converters.USVString(name);
-        this[kState] = this[kState].filter((entry) => entry.name !== name);
+      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();
       }
-      get(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" });
-        name = webidl.converters.USVString(name);
-        const idx = this[kState].findIndex((entry) => entry.name === name);
-        if (idx === -1) {
-          return null;
+      readMore() {
+        while (!this.paused && this.ptr) {
+          const chunk = this.socket.read();
+          if (chunk === null) {
+            break;
+          }
+          this.execute(chunk);
         }
-        return this[kState][idx].value;
       }
-      getAll(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" });
-        name = webidl.converters.USVString(name);
-        return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value);
+      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);
+        }
       }
-      has(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" });
-        name = webidl.converters.USVString(name);
-        return this[kState].findIndex((entry) => entry.name === name) !== -1;
+      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;
       }
-      set(name, value, filename = void 0) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" });
-        if (arguments.length === 3 && !isBlobLike(value)) {
-          throw new TypeError(
-            "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"
-          );
+      onStatus(buf) {
+        this.statusText = buf.toString();
+      }
+      onMessageBegin() {
+        const { socket, client } = this;
+        if (socket.destroyed) {
+          return -1;
         }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? toUSVString(filename) : void 0;
-        const entry = makeEntry(name, value, filename);
-        const idx = this[kState].findIndex((entry2) => entry2.name === name);
-        if (idx !== -1) {
-          this[kState] = [
-            ...this[kState].slice(0, idx),
-            entry,
-            ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name)
-          ];
-        } else {
-          this[kState].push(entry);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        if (!request2) {
+          return -1;
         }
+        request2.onResponseStarted();
       }
-      entries() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key+value"
-        );
+      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);
       }
-      keys() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key"
-        );
-      }
-      values() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "value"
-        );
-      }
-      /**
-       * @param {(value: string, key: string, self: FormData) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'."
-          );
+      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]);
         }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
+        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);
       }
-    };
-    FormData2.prototype[Symbol.iterator] = FormData2.prototype.entries;
-    Object.defineProperties(FormData2.prototype, {
-      [Symbol.toStringTag]: {
-        value: "FormData",
-        configurable: true
-      }
-    });
-    function makeEntry(name, value, filename) {
-      name = Buffer.from(name).toString("utf8");
-      if (typeof value === "string") {
-        value = Buffer.from(value).toString("utf8");
-      } else {
-        if (!isFileLike(value)) {
-          value = value instanceof Blob2 ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
-        }
-        if (filename !== void 0) {
-          const options = {
-            type: value.type,
-            lastModified: value.lastModified
-          };
-          value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
+      trackHeader(len) {
+        this.headersSize += len;
+        if (this.headersSize >= this.headersMaxSize) {
+          util.destroy(this.socket, new HeadersOverflowError());
         }
       }
-      return { name, value };
-    }
-    module2.exports = { FormData: FormData2 };
-  }
-});
-
-// node_modules/undici/lib/fetch/body.js
-var require_body2 = __commonJS({
-  "node_modules/undici/lib/fetch/body.js"(exports2, module2) {
-    "use strict";
-    var Busboy = require_main();
-    var util = require_util9();
-    var {
-      ReadableStreamFrom,
-      isBlobLike,
-      isReadableStreamLike,
-      readableStreamClose,
-      createDeferredPromise,
-      fullyReadBody
-    } = require_util10();
-    var { FormData: FormData2 } = require_formdata2();
-    var { kState } = require_symbols7();
-    var { webidl } = require_webidl2();
-    var { DOMException: DOMException2, structuredClone } = require_constants7();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
-    var { isErrored } = require_util9();
-    var { isUint8Array, isArrayBuffer } = require("util/types");
-    var { File: UndiciFile } = require_file2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var random;
-    try {
-      const crypto2 = require("node:crypto");
-      random = (max) => crypto2.randomInt(0, max);
-    } catch {
-      random = (max) => Math.floor(Math.random(max));
-    }
-    var ReadableStream2 = globalThis.ReadableStream;
-    var File2 = NativeFile ?? UndiciFile;
-    var textEncoder = new TextEncoder();
-    var textDecoder = new TextDecoder();
-    function extractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+      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]();
       }
-      let stream = null;
-      if (object instanceof ReadableStream2) {
-        stream = object;
-      } else if (isBlobLike(object)) {
-        stream = object.stream();
-      } else {
-        stream = new ReadableStream2({
-          async pull(controller) {
-            controller.enqueue(
-              typeof source === "string" ? textEncoder.encode(source) : source
+      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]
             );
-            queueMicrotask(() => readableStreamClose(controller));
-          },
-          start() {
-          },
-          type: void 0
-        });
-      }
-      assert(isReadableStreamLike(stream));
-      let action = null;
-      let source = null;
-      let length = null;
-      let type2 = null;
-      if (typeof object === "string") {
-        source = object;
-        type2 = "text/plain;charset=UTF-8";
-      } else if (object instanceof URLSearchParams) {
-        source = object.toString();
-        type2 = "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 = (str2) => str2.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;
+            if (timeout <= 0) {
+              socket[kReset] = true;
             } else {
-              hasUnknownSizeValue = true;
+              client[kKeepAliveTimeoutValue] = timeout;
             }
+          } else {
+            client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout];
           }
+        } else {
+          socket[kReset] = true;
         }
-        const chunk = textEncoder.encode(`--${boundary}--`);
-        blobParts.push(chunk);
-        length += chunk.byteLength;
-        if (hasUnknownSizeValue) {
-          length = null;
+        const pause = request2.onHeaders(statusCode, headers, this.resume, statusText) === false;
+        if (request2.aborted) {
+          return -1;
         }
-        source = object;
-        action = async function* () {
-          for (const part of blobParts) {
-            if (part.stream) {
-              yield* part.stream();
-            } else {
-              yield part;
-            }
+        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();
           }
-        };
-        type2 = "multipart/form-data; boundary=" + boundary;
-      } else if (isBlobLike(object)) {
-        source = object;
-        length = object.size;
-        if (object.type) {
-          type2 = object.type;
         }
-      } else if (typeof object[Symbol.asyncIterator] === "function") {
-        if (keepalive) {
-          throw new TypeError("keepalive");
+        assert(statusCode >= 200);
+        if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
+          util.destroy(socket, new ResponseExceededMaxSizeError());
+          return -1;
         }
-        if (util.isDisturbed(object) || object.locked) {
-          throw new TypeError(
-            "Response body object should not be disturbed or locked"
-          );
+        this.bytesRead += buf.length;
+        if (request2.onData(buf) === false) {
+          return constants.ERROR.PAUSED;
         }
-        stream = object instanceof ReadableStream2 ? object : ReadableStreamFrom(object);
       }
-      if (typeof source === "string" || util.isBuffer(source)) {
-        length = Buffer.byteLength(source);
+      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]();
+        }
       }
-      if (action != null) {
-        let iterator2;
-        stream = new ReadableStream2({
-          async start() {
-            iterator2 = action(object)[Symbol.asyncIterator]();
-          },
-          async pull(controller) {
-            const { value, done } = await iterator2.next();
-            if (done) {
-              queueMicrotask(() => {
-                controller.close();
-              });
-            } else {
-              if (!isErrored(stream)) {
-                controller.enqueue(new Uint8Array(value));
-              }
-            }
-            return controller.desiredSize > 0;
-          },
-          async cancel(reason) {
-            await iterator2.return();
-          },
-          type: void 0
-        });
+    };
+    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"));
       }
-      const body = { stream, source, length };
-      return [body, type2];
     }
-    function safelyExtractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      if (object instanceof ReadableStream2) {
-        assert(!util.isDisturbed(object), "The body has already been consumed.");
-        assert(!object.locked, "The stream is locked.");
+    async function connectH1(client, socket) {
+      client[kSocket] = socket;
+      if (!llhttpInstance) {
+        llhttpInstance = await llhttpPromise;
+        llhttpPromise = null;
       }
-      return extractBody(object, keepalive);
-    }
-    function cloneBody(body) {
-      const [out1, out2] = body.stream.tee();
-      const out2Clone = structuredClone(out2, { transfer: [out2] });
-      const [, finalClone] = out2Clone.tee();
-      body.stream = out1;
-      return {
-        stream: finalClone,
-        length: body.length,
-        source: body.source
-      };
-    }
-    async function* consumeBody(body) {
-      if (body) {
-        if (isUint8Array(body)) {
-          yield body;
-        } else {
-          const stream = body.stream;
-          if (util.isDisturbed(stream)) {
-            throw new TypeError("The body has already been consumed.");
+      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();
           }
-          if (stream.locked) {
-            throw new TypeError("The stream is locked.");
+          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);
           }
-          stream[kBodyUsed] = true;
-          yield* stream;
+        } 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);
         }
-      }
-    }
-    function throwIfAborted(state) {
-      if (state.aborted) {
-        throw new DOMException2("The operation was aborted.", "AbortError");
-      }
-    }
-    function bodyMixinMethods(instance) {
-      const methods = {
-        blob() {
-          return specConsumeBody(this, (bytes) => {
-            let mimeType = bodyMimeType(this);
-            if (mimeType === "failure") {
-              mimeType = "";
-            } else if (mimeType) {
-              mimeType = serializeAMimeType(mimeType);
-            }
-            return new Blob2([bytes], { type: mimeType });
-          }, instance);
-        },
-        arrayBuffer() {
-          return specConsumeBody(this, (bytes) => {
-            return new Uint8Array(bytes).buffer;
-          }, instance);
+        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);
         },
-        text() {
-          return specConsumeBody(this, utf8DecodeBytes, instance);
+        resume() {
+          resumeH1(client);
         },
-        json() {
-          return specConsumeBody(this, parseJSONFromBytes, instance);
+        destroy(err, callback) {
+          if (closed) {
+            queueMicrotask(callback);
+          } else {
+            socket.destroy(err).on("close", callback);
+          }
         },
-        async formData() {
-          webidl.brandCheck(this, instance);
-          throwIfAborted(this[kState]);
-          const contentType = this.headers.get("Content-Type");
-          if (/multipart\/form-data/.test(contentType)) {
-            const headers = {};
-            for (const [key, value] of this.headers) headers[key.toLowerCase()] = value;
-            const responseFormData = new FormData2();
-            let busboy;
-            try {
-              busboy = new Busboy({
-                headers,
-                preservePath: true
-              });
-            } catch (err) {
-              throw new DOMException2(`${err}`, "AbortError");
+        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;
             }
-            busboy.on("field", (name, value) => {
-              responseFormData.append(name, value);
-            });
-            busboy.on("file", (name, value, filename, encoding, mimeType) => {
-              const chunks = [];
-              if (encoding === "base64" || encoding.toLowerCase() === "base64") {
-                let base64chunk = "";
-                value.on("data", (chunk) => {
-                  base64chunk += chunk.toString().replace(/[\r\n]/gm, "");
-                  const end = base64chunk.length - base64chunk.length % 4;
-                  chunks.push(Buffer.from(base64chunk.slice(0, end), "base64"));
-                  base64chunk = base64chunk.slice(end);
-                });
-                value.on("end", () => {
-                  chunks.push(Buffer.from(base64chunk, "base64"));
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              } else {
-                value.on("data", (chunk) => {
-                  chunks.push(chunk);
-                });
-                value.on("end", () => {
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              }
-            });
-            const busboyResolve = new Promise((resolve3, reject) => {
-              busboy.on("finish", resolve3);
-              busboy.on("error", (err) => reject(new TypeError(err)));
-            });
-            if (this.body !== null) for await (const chunk of consumeBody(this[kState].body)) busboy.write(chunk);
-            busboy.end();
-            await busboyResolve;
-            return responseFormData;
-          } else if (/application\/x-www-form-urlencoded/.test(contentType)) {
-            let entries;
-            try {
-              let text = "";
-              const streamingDecoder = new TextDecoder("utf-8", { ignoreBOM: true });
-              for await (const chunk of consumeBody(this[kState].body)) {
-                if (!isUint8Array(chunk)) {
-                  throw new TypeError("Expected Uint8Array chunk");
-                }
-                text += streamingDecoder.decode(chunk, { stream: true });
-              }
-              text += streamingDecoder.decode();
-              entries = new URLSearchParams(text);
-            } catch (err) {
-              throw Object.assign(new TypeError(), { cause: err });
+            if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
+              return true;
             }
-            const formData = new FormData2();
-            for (const [name, value] of entries) {
-              formData.append(name, value);
+            if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body) || util.isFormDataLike(request2.body))) {
+              return true;
             }
-            return formData;
-          } else {
-            await Promise.resolve();
-            throwIfAborted(this[kState]);
-            throw webidl.errors.exception({
-              header: `${instance.name}.formData`,
-              message: "Could not parse content as FormData."
-            });
           }
+          return false;
         }
       };
-      return methods;
-    }
-    function mixinBody(prototype) {
-      Object.assign(prototype.prototype, bodyMixinMethods(prototype));
     }
-    async function specConsumeBody(object, convertBytesToJSValue, instance) {
-      webidl.brandCheck(object, instance);
-      throwIfAborted(object[kState]);
-      if (bodyUnusable(object[kState].body)) {
-        throw new TypeError("Body is unusable");
-      }
-      const promise = createDeferredPromise();
-      const errorSteps = (error3) => promise.reject(error3);
-      const successSteps = (data) => {
-        try {
-          promise.resolve(convertBytesToJSValue(data));
-        } catch (e) {
-          errorSteps(e);
+    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);
+          }
         }
-      };
-      if (object[kState].body == null) {
-        successSteps(new Uint8Array());
-        return promise.promise;
       }
-      await fullyReadBody(object[kState].body, successSteps, errorSteps);
-      return promise.promise;
     }
-    function bodyUnusable(body) {
-      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
+    function shouldSendContentLength(method) {
+      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
     }
-    function utf8DecodeBytes(buffer) {
-      if (buffer.length === 0) {
-        return "";
+    function writeH1(client, request2) {
+      const { method, path: path4, host, upgrade, blocking, reset } = request2;
+      let { body, headers, contentLength } = request2;
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH" || method === "QUERY" || method === "PROPFIND" || method === "PROPPATCH";
+      if (util.isFormDataLike(body)) {
+        if (!extractBody) {
+          extractBody = require_body2().extractBody;
+        }
+        const [bodyStream, contentType] = extractBody(body);
+        if (request2.contentType == null) {
+          headers.push("content-type", contentType);
+        }
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
+      } else if (util.isBlobLike(body) && request2.contentType == null && body.type) {
+        headers.push("content-type", body.type);
       }
-      if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
-        buffer = buffer.subarray(3);
+      if (body && typeof body.read === "function") {
+        body.read(0);
       }
-      const output = textDecoder.decode(buffer);
-      return output;
-    }
-    function parseJSONFromBytes(bytes) {
-      return JSON.parse(utf8DecodeBytes(bytes));
-    }
-    function bodyMimeType(object) {
-      const { headersList } = object[kState];
-      const contentType = headersList.get("content-type");
-      if (contentType === null) {
-        return "failure";
+      const bodyLength = util.bodyLength(body);
+      contentLength = bodyLength ?? contentLength;
+      if (contentLength === null) {
+        contentLength = request2.contentLength;
       }
-      return parseMIMEType(contentType);
-    }
-    module2.exports = {
-      extractBody,
-      safelyExtractBody,
-      cloneBody,
-      mixinBody
-    };
-  }
-});
-
-// node_modules/undici/lib/core/request.js
-var require_request3 = __commonJS({
-  "node_modules/undici/lib/core/request.js"(exports2, module2) {
-    "use strict";
-    var {
-      InvalidArgumentError,
-      NotSupportedError
-    } = require_errors2();
-    var assert = require("assert");
-    var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = require_symbols6();
-    var util = require_util9();
-    var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;
-    var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
-    var invalidPathRegex = /[^\u0021-\u00ff]/;
-    var kHandler = /* @__PURE__ */ Symbol("handler");
-    var channels = {};
-    var extractBody;
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.create = diagnosticsChannel.channel("undici:request:create");
-      channels.bodySent = diagnosticsChannel.channel("undici:request:bodySent");
-      channels.headers = diagnosticsChannel.channel("undici:request:headers");
-      channels.trailers = diagnosticsChannel.channel("undici:request:trailers");
-      channels.error = diagnosticsChannel.channel("undici:request:error");
-    } catch {
-      channels.create = { hasSubscribers: false };
-      channels.bodySent = { hasSubscribers: false };
-      channels.headers = { hasSubscribers: false };
-      channels.trailers = { hasSubscribers: false };
-      channels.error = { hasSubscribers: false };
-    }
-    var Request = class _Request {
-      constructor(origin, {
-        path: path4,
-        method,
-        body,
-        headers,
-        query,
-        idempotent,
-        blocking,
-        upgrade,
-        headersTimeout,
-        bodyTimeout,
-        reset,
-        throwOnError,
-        expectContinue
-      }, handler2) {
-        if (typeof path4 !== "string") {
-          throw new InvalidArgumentError("path must be a string");
-        } else if (path4[0] !== "/" && !(path4.startsWith("http://") || path4.startsWith("https://")) && method !== "CONNECT") {
-          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
-        } else if (invalidPathRegex.exec(path4) !== null) {
-          throw new InvalidArgumentError("invalid request path");
-        }
-        if (typeof method !== "string") {
-          throw new InvalidArgumentError("method must be a string");
-        } else if (tokenRegExp.exec(method) === null) {
-          throw new InvalidArgumentError("invalid request method");
-        }
-        if (upgrade && typeof upgrade !== "string") {
-          throw new InvalidArgumentError("upgrade must be a string");
-        }
-        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
-          throw new InvalidArgumentError("invalid headersTimeout");
-        }
-        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
-          throw new InvalidArgumentError("invalid bodyTimeout");
-        }
-        if (reset != null && typeof reset !== "boolean") {
-          throw new InvalidArgumentError("invalid reset");
-        }
-        if (expectContinue != null && typeof expectContinue !== "boolean") {
-          throw new InvalidArgumentError("invalid expectContinue");
-        }
-        this.headersTimeout = headersTimeout;
-        this.bodyTimeout = bodyTimeout;
-        this.throwOnError = throwOnError === true;
-        this.method = method;
-        this.abort = null;
-        if (body == null) {
-          this.body = null;
-        } else if (util.isStream(body)) {
-          this.body = body;
-          const rState = this.body._readableState;
-          if (!rState || !rState.autoDestroy) {
-            this.endHandler = function autoDestroy() {
-              util.destroy(this);
-            };
-            this.body.on("end", this.endHandler);
-          }
-          this.errorHandler = (err) => {
-            if (this.abort) {
-              this.abort(err);
-            } else {
-              this.error = err;
-            }
-          };
-          this.body.on("error", this.errorHandler);
-        } else if (util.isBuffer(body)) {
-          this.body = body.byteLength ? body : null;
-        } else if (ArrayBuffer.isView(body)) {
-          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
-        } else if (body instanceof ArrayBuffer) {
-          this.body = body.byteLength ? Buffer.from(body) : null;
-        } else if (typeof body === "string") {
-          this.body = body.length ? Buffer.from(body) : null;
-        } else if (util.isFormDataLike(body) || util.isIterable(body) || util.isBlobLike(body)) {
-          this.body = body;
-        } else {
-          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
+      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;
         }
-        this.completed = false;
-        this.aborted = false;
-        this.upgrade = upgrade || null;
-        this.path = query ? util.buildURL(path4, query) : path4;
-        this.origin = origin;
-        this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
-        this.blocking = blocking == null ? false : blocking;
-        this.reset = reset == null ? null : reset;
-        this.host = null;
-        this.contentLength = null;
-        this.contentType = null;
-        this.headers = "";
-        this.expectContinue = expectContinue != null ? expectContinue : false;
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
-          }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(this, headers[i], headers[i + 1]);
-          }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(this, key, headers[key]);
-          }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
+        process.emitWarning(new RequestContentLengthMismatchError());
+      }
+      const socket = client[kSocket];
+      const abort = (err) => {
+        if (request2.aborted || request2.completed) {
+          return;
         }
-        if (util.isFormDataLike(this.body)) {
-          if (util.nodeMajor < 16 || util.nodeMajor === 16 && util.nodeMinor < 8) {
-            throw new InvalidArgumentError("Form-Data bodies are only supported in node v16.8 and newer.");
-          }
-          if (!extractBody) {
-            extractBody = require_body2().extractBody;
-          }
-          const [bodyStream, contentType] = extractBody(body);
-          if (this.contentType == null) {
-            this.contentType = contentType;
-            this.headers += `content-type: ${contentType}\r
+        util.errorRequest(client, request2, err || new RequestAbortedError());
+        util.destroy(body);
+        util.destroy(socket, new InformationalError("aborted"));
+      };
+      try {
+        request2.onConnect(abort);
+      } catch (err) {
+        util.errorRequest(client, request2, err);
+      }
+      if (request2.aborted) {
+        return false;
+      }
+      if (method === "HEAD") {
+        socket[kReset] = true;
+      }
+      if (upgrade || method === "CONNECT") {
+        socket[kReset] = true;
+      }
+      if (reset != null) {
+        socket[kReset] = reset;
+      }
+      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
+        socket[kReset] = true;
+      }
+      if (blocking) {
+        socket[kBlocking] = true;
+      }
+      let header = `${method} ${path4} HTTP/1.1\r
 `;
-          }
-          this.body = bodyStream.stream;
-          this.contentLength = bodyStream.length;
-        } else if (util.isBlobLike(body) && this.contentType == null && body.type) {
-          this.contentType = body.type;
-          this.headers += `content-type: ${body.type}\r
+      if (typeof host === "string") {
+        header += `host: ${host}\r
 `;
-        }
-        util.validateHandler(handler2, method, upgrade);
-        this.servername = util.getServerName(this.host);
-        this[kHandler] = handler2;
-        if (channels.create.hasSubscribers) {
-          channels.create.publish({ request: this });
-        }
+      } else {
+        header += client[kHostHeader];
       }
-      onBodySent(chunk) {
-        if (this[kHandler].onBodySent) {
-          try {
-            return this[kHandler].onBodySent(chunk);
-          } catch (err) {
-            this.abort(err);
-          }
-        }
+      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";
       }
-      onRequestSent() {
-        if (channels.bodySent.hasSubscribers) {
-          channels.bodySent.publish({ request: this });
-        }
-        if (this[kHandler].onRequestSent) {
-          try {
-            return this[kHandler].onRequestSent();
-          } catch (err) {
-            this.abort(err);
+      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
+`;
           }
         }
       }
-      onConnect(abort) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (this.error) {
-          abort(this.error);
+      if (channels.sendHeaders.hasSubscribers) {
+        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      }
+      if (!body || bodyLength === 0) {
+        writeBuffer(abort, null, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isBuffer(body)) {
+        writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isBlobLike(body)) {
+        if (typeof body.stream === "function") {
+          writeIterable(abort, body.stream(), client, request2, socket, contentLength, header, expectsPayload);
         } else {
-          this.abort = abort;
-          return this[kHandler].onConnect(abort);
+          writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload);
         }
+      } else if (util.isStream(body)) {
+        writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isIterable(body)) {
+        writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else {
+        assert(false);
       }
-      onHeaders(statusCode, headers, resume, statusText) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (channels.headers.hasSubscribers) {
-          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
+      return true;
+    }
+    function writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      let finished = false;
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
+      const onData = function(chunk) {
+        if (finished) {
+          return;
         }
         try {
-          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
+          if (!writer.write(chunk) && this.pause) {
+            this.pause();
+          }
         } catch (err) {
-          this.abort(err);
+          util.destroy(this, err);
         }
-      }
-      onData(chunk) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        try {
-          return this[kHandler].onData(chunk);
-        } catch (err) {
-          this.abort(err);
-          return false;
-        }
-      }
-      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 });
+      };
+      const onDrain = function() {
+        if (finished) {
+          return;
         }
-        try {
-          return this[kHandler].onComplete(trailers);
-        } catch (err) {
-          this.onError(err);
+        if (body.resume) {
+          body.resume();
         }
-      }
-      onError(error3) {
-        this.onFinally();
-        if (channels.error.hasSubscribers) {
-          channels.error.publish({ request: this, error: error3 });
+      };
+      const onClose = function() {
+        queueMicrotask(() => {
+          body.removeListener("error", onFinished);
+        });
+        if (!finished) {
+          const err = new RequestAbortedError();
+          queueMicrotask(() => onFinished(err));
         }
-        if (this.aborted) {
+      };
+      const onFinished = function(err) {
+        if (finished) {
           return;
         }
-        this.aborted = true;
-        return this[kHandler].onError(error3);
-      }
-      onFinally() {
-        if (this.errorHandler) {
-          this.body.off("error", this.errorHandler);
-          this.errorHandler = null;
+        finished = true;
+        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
+        socket.off("drain", onDrain).off("error", onFinished);
+        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("close", onClose);
+        if (!err) {
+          try {
+            writer.end();
+          } catch (er) {
+            err = er;
+          }
         }
-        if (this.endHandler) {
-          this.body.off("end", this.endHandler);
-          this.endHandler = null;
+        writer.destroy(err);
+        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
+          util.destroy(body, err);
+        } else {
+          util.destroy(body);
         }
+      };
+      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onClose);
+      if (body.resume) {
+        body.resume();
       }
-      // TODO: adjust to support H2
-      addHeader(key, value) {
-        processHeader(this, key, value);
-        return this;
+      socket.on("drain", onDrain).on("error", onFinished);
+      if (body.errorEmitted ?? body.errored) {
+        setImmediate(() => onFinished(body.errored));
+      } else if (body.endEmitted ?? body.readableEnded) {
+        setImmediate(() => onFinished(null));
       }
-      static [kHTTP1BuildRequest](origin, opts, handler2) {
-        return new _Request(origin, opts, handler2);
+      if (body.closeEmitted ?? body.closed) {
+        setImmediate(onClose);
       }
-      static [kHTTP2BuildRequest](origin, opts, handler2) {
-        const headers = opts.headers;
-        opts = { ...opts, headers: null };
-        const request2 = new _Request(origin, opts, handler2);
-        request2.headers = {};
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
-          }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(request2, headers[i], headers[i + 1], true);
+    }
+    function writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      try {
+        if (!body) {
+          if (contentLength === 0) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
+          } else {
+            assert(contentLength === null, "no body must not have content length");
+            socket.write(`${header}\r
+`, "latin1");
           }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(request2, key, headers[key], true);
+        } else if (util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          socket.cork();
+          socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+          socket.write(body);
+          socket.uncork();
+          request2.onBodySent(body);
+          if (!expectsPayload && request2.reset !== false) {
+            socket[kReset] = true;
           }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
         }
-        return request2;
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      static [kHTTP2CopyHeaders](raw) {
-        const rawHeaders = raw.split("\r\n");
-        const headers = {};
-        for (const header of rawHeaders) {
-          const [key, value] = header.split(": ");
-          if (value == null || value.length === 0) continue;
-          if (headers[key]) headers[key] += `,${value}`;
-          else headers[key] = value;
+    }
+    async function writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength === body.size, "blob body must have content length");
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
         }
-        return headers;
-      }
-    };
-    function processHeaderValue(key, val, skipAppend) {
-      if (val && typeof val === "object") {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      }
-      val = val != null ? `${val}` : "";
-      if (headerCharRegex.exec(val) !== null) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
+        const buffer = Buffer.from(await body.arrayBuffer());
+        socket.cork();
+        socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+        socket.write(buffer);
+        socket.uncork();
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload && request2.reset !== false) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      return skipAppend ? val : `${key}: ${val}\r
-`;
     }
-    function processHeader(request2, key, val, skipAppend = false) {
-      if (val && (typeof val === "object" && !Array.isArray(val))) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      } else if (val === void 0) {
-        return;
-      }
-      if (request2.host === null && key.length === 4 && key.toLowerCase() === "host") {
-        if (headerCharRegex.exec(val) !== null) {
-          throw new InvalidArgumentError(`invalid ${key} header`);
-        }
-        request2.host = val;
-      } else if (request2.contentLength === null && key.length === 14 && key.toLowerCase() === "content-length") {
-        request2.contentLength = parseInt(val, 10);
-        if (!Number.isFinite(request2.contentLength)) {
-          throw new InvalidArgumentError("invalid content-length header");
+    async function writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
         }
-      } else if (request2.contentType === null && key.length === 12 && key.toLowerCase() === "content-type") {
-        request2.contentType = val;
-        if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-        else request2.headers += processHeaderValue(key, val);
-      } else if (key.length === 17 && key.toLowerCase() === "transfer-encoding") {
-        throw new InvalidArgumentError("invalid transfer-encoding header");
-      } else if (key.length === 10 && key.toLowerCase() === "connection") {
-        const value = typeof val === "string" ? val.toLowerCase() : null;
-        if (value !== "close" && value !== "keep-alive") {
-          throw new InvalidArgumentError("invalid connection header");
-        } else if (value === "close") {
-          request2.reset = true;
+      }
+      const waitForDrain = () => new Promise((resolve3, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve3;
         }
-      } else if (key.length === 10 && key.toLowerCase() === "keep-alive") {
-        throw new InvalidArgumentError("invalid keep-alive header");
-      } else if (key.length === 7 && key.toLowerCase() === "upgrade") {
-        throw new InvalidArgumentError("invalid upgrade header");
-      } else if (key.length === 6 && key.toLowerCase() === "expect") {
-        throw new NotSupportedError("expect header not supported");
-      } else if (tokenRegExp.exec(key) === null) {
-        throw new InvalidArgumentError("invalid header key");
-      } else {
-        if (Array.isArray(val)) {
-          for (let i = 0; i < val.length; i++) {
-            if (skipAppend) {
-              if (request2.headers[key]) request2.headers[key] += `,${processHeaderValue(key, val[i], skipAppend)}`;
-              else request2.headers[key] = processHeaderValue(key, val[i], skipAppend);
-            } else {
-              request2.headers += processHeaderValue(key, val[i]);
-            }
+      });
+      socket.on("close", onDrain).on("drain", onDrain);
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          if (!writer.write(chunk)) {
+            await waitForDrain();
           }
-        } else {
-          if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-          else request2.headers += processHeaderValue(key, val);
         }
+        writer.end();
+      } catch (err) {
+        writer.destroy(err);
+      } finally {
+        socket.off("close", onDrain).off("drain", onDrain);
       }
     }
-    module2.exports = Request;
-  }
-});
-
-// node_modules/undici/lib/dispatcher.js
-var require_dispatcher2 = __commonJS({
-  "node_modules/undici/lib/dispatcher.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("events");
-    var Dispatcher = class extends EventEmitter {
-      dispatch() {
-        throw new Error("not implemented");
-      }
-      close() {
-        throw new Error("not implemented");
-      }
-      destroy() {
-        throw new Error("not implemented");
-      }
-    };
-    module2.exports = Dispatcher;
-  }
-});
-
-// node_modules/undici/lib/dispatcher-base.js
-var require_dispatcher_base2 = __commonJS({
-  "node_modules/undici/lib/dispatcher-base.js"(exports2, module2) {
-    "use strict";
-    var Dispatcher = require_dispatcher2();
-    var {
-      ClientDestroyedError,
-      ClientClosedError,
-      InvalidArgumentError
-    } = require_errors2();
-    var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols6();
-    var kDestroyed = /* @__PURE__ */ Symbol("destroyed");
-    var kClosed = /* @__PURE__ */ Symbol("closed");
-    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
-    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
-    var kInterceptedDispatch = /* @__PURE__ */ 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];
+    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;
       }
-      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");
-            }
-          }
+      write(chunk) {
+        const { socket, request: request2, contentLength, client, bytesWritten, expectsPayload, header } = this;
+        if (socket[kError]) {
+          throw socket[kError];
         }
-        this[kInterceptors] = newInterceptors;
-      }
-      close(callback) {
-        if (callback === void 0) {
-          return new Promise((resolve3, reject) => {
-            this.close((err, data) => {
-              return err ? reject(err) : resolve3(data);
-            });
-          });
+        if (socket.destroyed) {
+          return false;
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        const len = Buffer.byteLength(chunk);
+        if (!len) {
+          return true;
         }
-        if (this[kDestroyed]) {
-          queueMicrotask(() => callback(new ClientDestroyedError(), null));
-          return;
+        if (contentLength !== null && bytesWritten + len > contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
+          }
+          process.emitWarning(new RequestContentLengthMismatchError());
         }
-        if (this[kClosed]) {
-          if (this[kOnClosed]) {
-            this[kOnClosed].push(callback);
+        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 {
-            queueMicrotask(() => callback(null, null));
+            socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
           }
-          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);
+        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();
+            }
           }
-        };
-        this[kClose]().then(() => this.destroy()).then(() => {
-          queueMicrotask(onClosed);
-        });
-      }
-      destroy(err, callback) {
-        if (typeof err === "function") {
-          callback = err;
-          err = null;
         }
-        if (callback === void 0) {
-          return new Promise((resolve3, reject) => {
-            this.destroy(err, (err2, data) => {
-              return err2 ? (
-                /* istanbul ignore next: should never error */
-                reject(err2)
-              ) : resolve3(data);
-            });
-          });
+        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 (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        if (socket.destroyed) {
+          return;
         }
-        if (this[kDestroyed]) {
-          if (this[kOnDestroyed]) {
-            this[kOnDestroyed].push(callback);
+        if (bytesWritten === 0) {
+          if (expectsPayload) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
           } else {
-            queueMicrotask(() => callback(null, null));
+            socket.write(`${header}\r
+`, "latin1");
           }
-          return;
-        }
-        if (!err) {
-          err = new ClientDestroyedError();
+        } else if (contentLength === null) {
+          socket.write("\r\n0\r\n\r\n", "latin1");
         }
-        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);
+        if (contentLength !== null && bytesWritten !== contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
+          } else {
+            process.emitWarning(new RequestContentLengthMismatchError());
           }
-        };
-        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);
+        if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
+          if (socket[kParser].timeout.refresh) {
+            socket[kParser].timeout.refresh();
+          }
         }
-        this[kInterceptedDispatch] = dispatch;
-        return dispatch(opts, handler2);
+        client[kResume]();
       }
-      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;
+      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 = DispatcherBase;
+    module2.exports = connectH1;
   }
 });
 
-// node_modules/undici/lib/core/connect.js
-var require_connect2 = __commonJS({
-  "node_modules/undici/lib/core/connect.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h2.js
+var require_client_h22 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h2.js"(exports2, module2) {
     "use strict";
-    var net = require("net");
-    var assert = require("assert");
+    var assert = require("node:assert");
+    var { pipeline } = require("node:stream");
     var util = require_util9();
-    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
-    var tls;
-    var SessionCache;
-    if (global.FinalizationRegistry && !process.env.NODE_V8_COVERAGE) {
-      SessionCache = class WeakSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
-          this._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);
-            }
-          });
-        }
-        get(sessionKey) {
-          const ref = this._sessionCache.get(sessionKey);
-          return ref ? ref.deref() : null;
-        }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
-            return;
+    var {
+      RequestContentLengthMismatchError,
+      RequestAbortedError,
+      SocketError,
+      InformationalError
+    } = require_errors2();
+    var {
+      kUrl,
+      kReset,
+      kClient,
+      kRunning,
+      kPending,
+      kQueue,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kSocket,
+      kStrictContentLength,
+      kOnError,
+      kMaxConcurrentStreams,
+      kHTTP2Session,
+      kResume,
+      kSize,
+      kHTTPContext
+    } = require_symbols6();
+    var kOpenStreams = /* @__PURE__ */ 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));
           }
-          this._sessionCache.set(sessionKey, new WeakRef(session));
-          this._sessionRegistry.register(session, sessionKey);
+        } else {
+          result.push(Buffer.from(name), Buffer.from(value));
         }
-      };
-    } else {
-      SessionCache = class SimpleSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
+      }
+      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);
+          }
         }
-        get(sessionKey) {
-          return this._sessionCache.get(sessionKey);
+      });
+      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);
         }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
-            return;
-          }
-          if (this._sessionCache.size >= this._maxCachedSessions) {
-            const { value: oldestKey } = this._sessionCache.keys().next();
-            this._sessionCache.delete(oldestKey);
+        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);
           }
-          this._sessionCache.set(sessionKey, session);
+        },
+        get destroyed() {
+          return socket.destroyed;
+        },
+        busy() {
+          return false;
         }
       };
     }
-    function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, ...opts }) {
-      if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
-        throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
+    function 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();
+        }
       }
-      const options = { path: socketPath, ...opts };
-      const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
-      timeout = timeout == null ? 1e4 : timeout;
-      allowH2 = allowH2 != null ? allowH2 : false;
-      return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
-        let socket;
-        if (protocol === "https:") {
-          if (!tls) {
-            tls = require("tls");
+    }
+    function onHttp2SessionError(err) {
+      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+      this[kSocket][kError] = err;
+      this[kClient][kOnError](err);
+    }
+    function onHttp2FrameError(type2, code, id) {
+      if (id === 0) {
+        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, 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: path4, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
+      let { body } = request2;
+      if (upgrade) {
+        util.errorRequest(client, request2, new Error("Upgrade not supported for H2"));
+        return false;
+      }
+      const headers = {};
+      for (let n = 0; n < reqHeaders.length; n += 2) {
+        const key = reqHeaders[n + 0];
+        const val = reqHeaders[n + 1];
+        if (Array.isArray(val)) {
+          for (let i = 0; i < val.length; i++) {
+            if (headers[key]) {
+              headers[key] += `,${val[i]}`;
+            } else {
+              headers[key] = val[i];
+            }
           }
-          servername = servername || options.servername || util.getServerName(host) || null;
-          const sessionKey = servername || hostname;
-          const session = sessionCache.get(sessionKey) || null;
-          assert(sessionKey);
-          socket = tls.connect({
-            highWaterMark: 16384,
-            // TLS in node can't have bigger HWM anyway...
-            ...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: port || 443,
-            host: hostname
-          });
-          socket.on("session", function(session2) {
-            sessionCache.set(sessionKey, session2);
-          });
         } else {
-          assert(!httpSocket, "httpSocket can only be sent on TLS update");
-          socket = net.connect({
-            highWaterMark: 64 * 1024,
-            // Same as nodejs fs streams.
-            ...options,
-            localAddress,
-            port: port || 80,
-            host: hostname
+          headers[key] = val;
+        }
+      }
+      let stream;
+      const { hostname, port } = client[kUrl];
+      headers[HTTP2_HEADER_AUTHORITY] = host || `${hostname}${port ? `:${port}` : ""}`;
+      headers[HTTP2_HEADER_METHOD] = method;
+      const abort = (err) => {
+        if (request2.aborted || request2.completed) {
+          return;
+        }
+        err = err || new RequestAbortedError();
+        util.errorRequest(client, request2, err);
+        if (stream != null) {
+          util.destroy(stream, err);
+        }
+        util.destroy(body, err);
+        client[kQueue][client[kRunningIdx]++] = null;
+        client[kResume]();
+      };
+      try {
+        request2.onConnect(abort);
+      } catch (err) {
+        util.errorRequest(client, request2, err);
+      }
+      if (request2.aborted) {
+        return false;
+      }
+      if (method === "CONNECT") {
+        session.ref();
+        stream = session.request(headers, { endStream: false, signal });
+        if (stream.id && !stream.pending) {
+          request2.onUpgrade(null, null, stream);
+          ++session[kOpenStreams];
+          client[kQueue][client[kRunningIdx]++] = null;
+        } else {
+          stream.once("ready", () => {
+            request2.onUpgrade(null, null, stream);
+            ++session[kOpenStreams];
+            client[kQueue][client[kRunningIdx]++] = null;
           });
         }
-        if (options.keepAlive == null || options.keepAlive) {
-          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
-          socket.setKeepAlive(true, keepAliveInitialDelay);
+        stream.once("close", () => {
+          session[kOpenStreams] -= 1;
+          if (session[kOpenStreams] === 0) session.unref();
+        });
+        return true;
+      }
+      headers[HTTP2_HEADER_PATH] = path4;
+      headers[HTTP2_HEADER_SCHEME] = "https";
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
+      if (body && typeof body.read === "function") {
+        body.read(0);
+      }
+      let contentLength = util.bodyLength(body);
+      if (util.isFormDataLike(body)) {
+        extractBody ??= require_body2().extractBody;
+        const [bodyStream, contentType] = extractBody(body);
+        headers["content-type"] = contentType;
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
+      }
+      if (contentLength == null) {
+        contentLength = request2.contentLength;
+      }
+      if (contentLength === 0 || !expectsPayload) {
+        contentLength = null;
+      }
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          util.errorRequest(client, request2, new RequestContentLengthMismatchError());
+          return false;
         }
-        const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout);
-        socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(null, this);
-          }
-        }).on("error", function(err) {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(err);
-          }
+        process.emitWarning(new RequestContentLengthMismatchError());
+      }
+      if (contentLength != null) {
+        assert(body, "no body must not have content length");
+        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
+      }
+      session.ref();
+      const shouldEndStream = method === "GET" || method === "HEAD" || body === null;
+      if (expectContinue) {
+        headers[HTTP2_HEADER_EXPECT] = "100-continue";
+        stream = session.request(headers, { endStream: shouldEndStream, signal });
+        stream.once("continue", writeBodyH2);
+      } else {
+        stream = session.request(headers, {
+          endStream: shouldEndStream,
+          signal
         });
-        return socket;
-      };
-    }
-    function setupTimeout(onConnectTimeout2, timeout) {
-      if (!timeout) {
-        return () => {
-        };
+        writeBodyH2();
       }
-      let s1 = null;
-      let s2 = null;
-      const timeoutId = setTimeout(() => {
-        s1 = setImmediate(() => {
-          if (process.platform === "win32") {
-            s2 = setImmediate(() => onConnectTimeout2());
-          } else {
-            onConnectTimeout2();
+      ++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();
           }
         });
-      }, timeout);
-      return () => {
-        clearTimeout(timeoutId);
-        clearImmediate(s1);
-        clearImmediate(s2);
-      };
-    }
-    function onConnectTimeout(socket) {
-      util.destroy(socket, new ConnectTimeoutError());
-    }
-    module2.exports = buildConnector;
-  }
-});
-
-// node_modules/undici/lib/llhttp/utils.js
-var require_utils3 = __commonJS({
-  "node_modules/undici/lib/llhttp/utils.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.enumToMap = void 0;
-    function enumToMap(obj) {
-      const res = {};
-      Object.keys(obj).forEach((key) => {
-        const value = obj[key];
-        if (typeof value === "number") {
-          res[key] = value;
+      });
+      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]();
       });
-      return res;
-    }
-    exports2.enumToMap = enumToMap;
-  }
-});
-
-// node_modules/undici/lib/llhttp/constants.js
-var require_constants8 = __commonJS({
-  "node_modules/undici/lib/llhttp/constants.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
-    var utils_1 = require_utils3();
-    var ERROR;
-    (function(ERROR2) {
-      ERROR2[ERROR2["OK"] = 0] = "OK";
-      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
-      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
-      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
-      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
-      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
-      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
-      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
-      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
-      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
-      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
-      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
-      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
-      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
-      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
-      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
-      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
-      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
-      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
-      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
-      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
-      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
-      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
-      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
-      ERROR2[ERROR2["USER"] = 24] = "USER";
-    })(ERROR = 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];
+      stream.once("close", () => {
+        session[kOpenStreams] -= 1;
+        if (session[kOpenStreams] === 0) {
+          session.unref();
+        }
+      });
+      stream.once("error", function(err) {
+        abort(err);
+      });
+      stream.once("frameError", (type2, code) => {
+        abort(new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`));
+      });
+      return true;
+      function writeBodyH2() {
+        if (!body || contentLength === 0) {
+          writeBuffer(
+            abort,
+            stream,
+            null,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else if (util.isBuffer(body)) {
+          writeBuffer(
+            abort,
+            stream,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else if (util.isBlobLike(body)) {
+          if (typeof body.stream === "function") {
+            writeIterable(
+              abort,
+              stream,
+              body.stream(),
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
+          } else {
+            writeBlob(
+              abort,
+              stream,
+              body,
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
+          }
+        } else if (util.isStream(body)) {
+          writeStream(
+            abort,
+            client[kSocket],
+            expectsPayload,
+            stream,
+            body,
+            client,
+            request2,
+            contentLength
+          );
+        } else if (util.isIterable(body)) {
+          writeIterable(
+            abort,
+            stream,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else {
+          assert(false);
+        }
       }
-    });
-    var FINISH;
-    (function(FINISH2) {
-      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
-      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
-      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
-    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
-    exports2.ALPHA = [];
-    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
-      exports2.ALPHA.push(String.fromCharCode(i));
-      exports2.ALPHA.push(String.fromCharCode(i + 32));
     }
-    exports2.NUM_MAP = {
-      0: 0,
-      1: 1,
-      2: 2,
-      3: 3,
-      4: 4,
-      5: 5,
-      6: 6,
-      7: 7,
-      8: 8,
-      9: 9
-    };
-    exports2.HEX_MAP = {
-      0: 0,
-      1: 1,
-      2: 2,
-      3: 3,
-      4: 4,
-      5: 5,
-      6: 6,
-      7: 7,
-      8: 8,
-      9: 9,
-      A: 10,
-      B: 11,
-      C: 12,
-      D: 13,
-      E: 14,
-      F: 15,
-      a: 10,
-      b: 11,
-      c: 12,
-      d: 13,
-      e: 14,
-      f: 15
-    };
-    exports2.NUM = [
-      "0",
-      "1",
-      "2",
-      "3",
-      "4",
-      "5",
-      "6",
-      "7",
-      "8",
-      "9"
-    ];
-    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
-    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
-    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
-    exports2.STRICT_URL_CHAR = [
-      "!",
-      '"',
-      "$",
-      "%",
-      "&",
-      "'",
-      "(",
-      ")",
-      "*",
-      "+",
-      ",",
-      "-",
-      ".",
-      "/",
-      ":",
-      ";",
-      "<",
-      "=",
-      ">",
-      "@",
-      "[",
-      "\\",
-      "]",
-      "^",
-      "_",
-      "`",
-      "{",
-      "|",
-      "}",
-      "~"
-    ].concat(exports2.ALPHANUM);
-    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
-    for (let i = 128; i <= 255; i++) {
-      exports2.URL_CHAR.push(i);
+    function writeBuffer(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      try {
+        if (body != null && util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          h2stream.cork();
+          h2stream.write(body);
+          h2stream.uncork();
+          h2stream.end();
+          request2.onBodySent(body);
+        }
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (error3) {
+        abort(error3);
+      }
     }
-    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);
+    function writeStream(abort, socket, expectsPayload, h2stream, body, client, request2, contentLength) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      const pipe = pipeline(
+        body,
+        h2stream,
+        (err) => {
+          if (err) {
+            util.destroy(pipe, err);
+            abort(err);
+          } else {
+            util.removeAllListeners(pipe);
+            request2.onRequestSent();
+            if (!expectsPayload) {
+              socket[kReset] = true;
+            }
+            client[kResume]();
+          }
+        }
+      );
+      util.addListener(pipe, "data", onPipeData);
+      function onPipeData(chunk) {
+        request2.onBodySent(chunk);
       }
     }
-    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
-    };
+    async function writeBlob(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength === body.size, "blob body must have content length");
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
+        }
+        const buffer = Buffer.from(await body.arrayBuffer());
+        h2stream.cork();
+        h2stream.write(buffer);
+        h2stream.uncork();
+        h2stream.end();
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
+      }
+    }
+    async function writeIterable(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
+        }
+      }
+      const waitForDrain = () => new Promise((resolve3, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve3;
+        }
+      });
+      h2stream.on("close", onDrain).on("drain", onDrain);
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          const res = h2stream.write(chunk);
+          request2.onBodySent(chunk);
+          if (!res) {
+            await waitForDrain();
+          }
+        }
+        h2stream.end();
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
+      } finally {
+        h2stream.off("close", onDrain).off("drain", onDrain);
+      }
+    }
+    module2.exports = connectH2;
   }
 });
 
-// node_modules/undici/lib/handler/RedirectHandler.js
-var require_RedirectHandler = __commonJS({
-  "node_modules/undici/lib/handler/RedirectHandler.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js
+var require_redirect_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js"(exports2, module2) {
     "use strict";
     var util = require_util9();
     var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
+    var assert = require("node:assert");
     var { InvalidArgumentError } = require_errors2();
-    var EE = require("events");
+    var EE = require("node:events");
     var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
     var kBody = /* @__PURE__ */ Symbol("body");
     var BodyAsyncIterable = class {
@@ -27729,6 +28500,7 @@ var require_RedirectHandler = __commonJS({
         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() {
@@ -27759,6 +28531,14 @@ var require_RedirectHandler = __commonJS({
       }
       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));
         }
@@ -27803,7 +28583,7 @@ var require_RedirectHandler = __commonJS({
         return null;
       }
       for (let i = 0; i < headers.length; i += 2) {
-        if (headers[i].toString().toLowerCase() === "location") {
+        if (headers[i].length === 8 && util.headerNameToString(headers[i]) === "location") {
           return headers[i + 1];
         }
       }
@@ -27844,11 +28624,11 @@ var require_RedirectHandler = __commonJS({
   }
 });
 
-// node_modules/undici/lib/interceptor/redirectInterceptor.js
-var require_redirectInterceptor = __commonJS({
-  "node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js
+var require_redirect_interceptor2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js"(exports2, module2) {
     "use strict";
-    var RedirectHandler = require_RedirectHandler();
+    var RedirectHandler = require_redirect_handler2();
     function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) {
       return (dispatch) => {
         return function Intercept(opts, handler2) {
@@ -27866,73 +28646,43 @@ var require_redirectInterceptor = __commonJS({
   }
 });
 
-// node_modules/undici/lib/llhttp/llhttp-wasm.js
-var require_llhttp_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8=";
-  }
-});
-
-// node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
-var require_llhttp_simd_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==";
-  }
-});
-
-// node_modules/undici/lib/client.js
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js
 var require_client2 = __commonJS({
-  "node_modules/undici/lib/client.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var net = require("net");
-    var http = require("http");
-    var { pipeline } = require("stream");
+    var assert = require("node:assert");
+    var net = require("node:net");
+    var http = require("node:http");
     var util = require_util9();
-    var timers = require_timers2();
+    var { channels } = require_diagnostics2();
     var Request = require_request3();
     var DispatcherBase = require_dispatcher_base2();
     var {
-      RequestContentLengthMismatchError,
-      ResponseContentLengthMismatchError,
       InvalidArgumentError,
-      RequestAbortedError,
-      HeadersTimeoutError,
-      HeadersOverflowError,
-      SocketError,
       InformationalError,
-      BodyTimeoutError,
-      HTTPParserError,
-      ResponseExceededMaxSizeError,
       ClientDestroyedError
     } = require_errors2();
     var buildConnector = require_connect2();
     var {
       kUrl,
-      kReset,
       kServerName,
       kClient,
       kBusy,
-      kParser,
       kConnect,
-      kBlocking,
       kResuming,
       kRunning,
       kPending,
       kSize,
-      kWriting,
       kQueue,
       kConnected,
       kConnecting,
       kNeedDrain,
-      kNoRef,
       kKeepAliveDefaultTimeout,
       kHostHeader,
       kPendingIdx,
       kRunningIdx,
       kError,
       kPipelining,
-      kSocket,
       kKeepAliveTimeoutValue,
       kMaxHeadersSize,
       kKeepAliveMaxTimeout,
@@ -27950,53 +28700,25 @@ var require_client2 = __commonJS({
       kInterceptors,
       kLocalAddress,
       kMaxResponseSize,
-      kHTTPConnVersion,
-      // HTTP2
-      kHost,
-      kHTTP2Session,
-      kHTTP2SessionState,
-      kHTTP2BuildRequest,
-      kHTTP2CopyHeaders,
-      kHTTP1BuildRequest
+      kOnError,
+      kHTTPContext,
+      kMaxConcurrentStreams,
+      kResume
     } = require_symbols6();
-    var http2;
-    try {
-      http2 = require("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;
-    var h2ExperimentalWarned = false;
-    var FastBuffer = Buffer[Symbol.species];
+    var connectH1 = require_client_h12();
+    var connectH2 = require_client_h22();
+    var deprecatedInterceptorWarned = false;
     var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
-    var channels = {};
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.sendHeaders = diagnosticsChannel.channel("undici:client:sendHeaders");
-      channels.beforeConnect = diagnosticsChannel.channel("undici:client:beforeConnect");
-      channels.connectError = diagnosticsChannel.channel("undici:client:connectError");
-      channels.connected = diagnosticsChannel.channel("undici:client:connected");
-    } catch {
-      channels.sendHeaders = { hasSubscribers: false };
-      channels.beforeConnect = { hasSubscribers: false };
-      channels.connectError = { hasSubscribers: false };
-      channels.connected = { hasSubscribers: false };
+    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').Client.Options} options
+       * @param {import('../../types/client.js').Client.Options} options
        */
       constructor(url, {
         interceptors,
@@ -28025,8 +28747,8 @@ var require_client2 = __commonJS({
         autoSelectFamily,
         autoSelectFamilyAttemptTimeout,
         // h2
-        allowH2,
-        maxConcurrentStreams
+        maxConcurrentStreams,
+        allowH2
       } = {}) {
         super();
         if (keepAlive !== void 0) {
@@ -28090,7 +28812,7 @@ var require_client2 = __commonJS({
           throw new InvalidArgumentError("allowH2 must be a valid boolean value");
         }
         if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) {
-          throw new InvalidArgumentError("maxConcurrentStreams must be a possitive integer, greater than 0");
+          throw new InvalidArgumentError("maxConcurrentStreams must be a positive integer, greater than 0");
         }
         if (typeof connect2 !== "function") {
           connect2 = buildConnector({
@@ -28099,19 +28821,28 @@ var require_client2 = __commonJS({
             allowH2,
             socketPath,
             timeout: connectTimeout,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
             ...connect2
           });
         }
-        this[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client) ? interceptors.Client : [createRedirectInterceptor({ maxRedirections })];
+        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[kSocket] = null;
         this[kPipelining] = pipelining != null ? pipelining : 1;
         this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize;
         this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;
         this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;
-        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold;
+        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 2e3 : keepAliveTimeoutThreshold;
         this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
         this[kServerName] = null;
         this[kLocalAddress] = localAddress != null ? localAddress : null;
@@ -28126,26 +28857,20 @@ var require_client2 = __commonJS({
         this[kMaxRequests] = maxRequestsPerClient;
         this[kClosedResolve] = null;
         this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
-        this[kHTTPConnVersion] = "h1";
-        this[kHTTP2Session] = null;
-        this[kHTTP2SessionState] = !allowH2 ? null : {
-          // streams: null, // Fixed queue of streams - For future support of `push`
-          openStreams: 0,
-          // Keep track of them to decide wether or not unref the session
-          maxConcurrentStreams: maxConcurrentStreams != null ? maxConcurrentStreams : 100
-          // Max peerConcurrentStreams for a Node h2 server
-        };
-        this[kHost] = `${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}`;
+        this[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;
-        resume(this, true);
+        this[kResume](true);
       }
       get [kPending]() {
         return this[kQueue].length - this[kPendingIdx];
@@ -28157,11 +28882,12 @@ var require_client2 = __commonJS({
         return this[kQueue].length - this[kRunningIdx];
       }
       get [kConnected]() {
-        return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed;
+        return !!this[kHTTPContext] && !this[kConnecting] && !this[kHTTPContext].destroyed;
       }
       get [kBusy]() {
-        const socket = this[kSocket];
-        return socket && (socket[kReset] || socket[kWriting] || socket[kBlocking]) || this[kSize] >= (this[kPipelining] || 1) || this[kPending] > 0;
+        return Boolean(
+          this[kHTTPContext]?.busy(null) || this[kSize] >= (getPipelining(this) || 1) || this[kPending] > 0
+        );
       }
       /* istanbul ignore: only used for test */
       [kConnect](cb) {
@@ -28170,14 +28896,14 @@ var require_client2 = __commonJS({
       }
       [kDispatch](opts, handler2) {
         const origin = opts.origin || this[kUrl].origin;
-        const request2 = this[kHTTPConnVersion] === "h2" ? Request[kHTTP2BuildRequest](origin, opts, handler2) : Request[kHTTP1BuildRequest](origin, opts, handler2);
+        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;
-          process.nextTick(resume, this);
+          queueMicrotask(() => resume(this));
         } else {
-          resume(this, true);
+          this[kResume](true);
         }
         if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
           this[kNeedDrain] = 2;
@@ -28186,10 +28912,10 @@ var require_client2 = __commonJS({
       }
       async [kClose]() {
         return new Promise((resolve3) => {
-          if (!this[kSize]) {
-            resolve3(null);
-          } else {
+          if (this[kSize]) {
             this[kClosedResolve] = resolve3;
+          } else {
+            resolve3(null);
           }
         });
       }
@@ -28198,2393 +28924,2110 @@ var require_client2 = __commonJS({
           const requests = this[kQueue].splice(this[kPendingIdx]);
           for (let i = 0; i < requests.length; i++) {
             const request2 = requests[i];
-            errorRequest2(this, request2, err);
+            util.errorRequest(this, request2, err);
           }
           const callback = () => {
             if (this[kClosedResolve]) {
               this[kClosedResolve]();
               this[kClosedResolve] = null;
             }
-            resolve3();
+            resolve3(null);
           };
-          if (this[kHTTP2Session] != null) {
-            util.destroy(this[kHTTP2Session], err);
-            this[kHTTP2Session] = null;
-            this[kHTTP2SessionState] = null;
-          }
-          if (!this[kSocket]) {
-            queueMicrotask(callback);
+          if (this[kHTTPContext]) {
+            this[kHTTPContext].destroy(err, callback);
+            this[kHTTPContext] = null;
           } else {
-            util.destroy(this[kSocket].on("close", callback), err);
+            queueMicrotask(callback);
           }
-          resume(this);
+          this[kResume]();
         });
       }
     };
-    function onHttp2SessionError(err) {
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      this[kSocket][kError] = err;
-      onError(this[kClient], err);
-    }
-    function onHttp2FrameError(type2, code, id) {
-      const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-      if (id === 0) {
-        this[kSocket][kError] = err;
-        onError(this[kClient], err);
-      }
-    }
-    function onHttp2SessionEnd() {
-      util.destroy(this, new SocketError("other side closed"));
-      util.destroy(this[kSocket], new SocketError("other side closed"));
-    }
-    function onHTTP2GoAway(code) {
-      const client = this[kClient];
-      const err = new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`);
-      client[kSocket] = null;
-      client[kHTTP2Session] = null;
-      if (client.destroyed) {
-        assert(this[kPending] === 0);
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    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];
-          errorRequest2(this, request2, err);
+          util.errorRequest(client, request2, err);
         }
-      } else if (client[kRunning] > 0) {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
+        assert(client[kSize] === 0);
       }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit(
-        "disconnect",
-        client[kUrl],
-        [client],
-        err
-      );
-      resume(client);
     }
-    var constants = require_constants8();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var EMPTY_BUF = Buffer.alloc(0);
-    async function lazyllhttp() {
-      const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm2() : void 0;
-      let mod;
-      try {
-        mod = await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm2(), "base64"));
-      } catch (e) {
-        mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require_llhttp_wasm2(), "base64"));
+    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;
       }
-      return await WebAssembly.instantiate(mod, {
-        env: {
-          /* eslint-disable camelcase */
-          wasm_on_url: (p, at, len) => {
-            return 0;
-          },
-          wasm_on_status: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_message_begin: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onMessageBegin() || 0;
-          },
-          wasm_on_header_field: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_header_value: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;
-          },
-          wasm_on_body: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+      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]
           },
-          wasm_on_message_complete: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onMessageComplete() || 0;
+          connector: client[kConnector]
+        });
+      }
+      try {
+        const socket = await new Promise((resolve3, reject) => {
+          client[kConnector]({
+            host,
+            hostname,
+            protocol,
+            port,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          }, (err, socket2) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve3(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);
           }
-          /* eslint-enable camelcase */
+        } else {
+          onError(client, err);
         }
-      });
+        client.emit("connectionError", client[kUrl], [client], err);
+      }
+      client[kResume]();
     }
-    var llhttpInstance = null;
-    var llhttpPromise = lazyllhttp();
-    llhttpPromise.catch();
-    var currentParser = null;
-    var currentBufferRef = null;
-    var currentBufferSize = 0;
-    var currentBufferPtr = null;
-    var TIMEOUT_HEADERS = 1;
-    var TIMEOUT_BODY = 2;
-    var TIMEOUT_IDLE = 3;
-    var Parser = class {
-      constructor(client, socket, { exports: 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];
+    function emitDrain(client) {
+      client[kNeedDrain] = 0;
+      client.emit("drain", client[kUrl], [client]);
+    }
+    function resume(client, sync) {
+      if (client[kResuming] === 2) {
+        return;
       }
-      setTimeout(value, type2) {
-        this.timeoutType = type2;
-        if (value !== this.timeoutValue) {
-          timers.clearTimeout(this.timeout);
-          if (value) {
-            this.timeout = timers.setTimeout(onParserTimeout, value, this);
-            if (this.timeout.unref) {
-              this.timeout.unref();
-            }
+      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 {
-            this.timeout = null;
-          }
-          this.timeoutValue = value;
-        } else if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
+            emitDrain(client);
           }
+          continue;
         }
-      }
-      resume() {
-        if (this.socket.destroyed || !this.paused) {
+        if (client[kPending] === 0) {
           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();
-          }
+        if (client[kRunning] >= (getPipelining(client) || 1)) {
+          return;
         }
-        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;
+        const request2 = client[kQueue][client[kPendingIdx]];
+        if (client[kUrl].protocol === "https:" && client[kServerName] !== request2.servername) {
+          if (client[kRunning] > 0) {
+            return;
           }
-          this.execute(chunk);
+          client[kServerName] = request2.servername;
+          client[kHTTPContext]?.destroy(new InformationalError("servername changed"), () => {
+            client[kHTTPContext] = null;
+            resume(client);
+          });
         }
-      }
-      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);
+        if (client[kConnecting]) {
+          return;
         }
-        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);
+        if (!client[kHTTPContext]) {
+          connect(client);
+          return;
         }
-      }
-      destroy() {
-        assert(this.ptr != null);
-        assert(currentParser == null);
-        this.llhttp.llhttp_free(this.ptr);
-        this.ptr = null;
-        timers.clearTimeout(this.timeout);
-        this.timeout = null;
-        this.timeoutValue = null;
-        this.timeoutType = null;
-        this.paused = false;
-      }
-      onStatus(buf) {
-        this.statusText = buf.toString();
-      }
-      onMessageBegin() {
-        const { socket, client } = this;
-        if (socket.destroyed) {
-          return -1;
+        if (client[kHTTPContext].destroyed) {
+          return;
         }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        if (!request2) {
-          return -1;
+        if (client[kHTTPContext].busy(request2)) {
+          return;
         }
-      }
-      onHeaderField(buf) {
-        const len = this.headers.length;
-        if ((len & 1) === 0) {
-          this.headers.push(buf);
+        if (!request2.aborted && client[kHTTPContext].write(request2)) {
+          client[kPendingIdx]++;
         } else {
-          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
+          client[kQueue].splice(client[kPendingIdx], 1);
         }
-        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 && key.toString().toLowerCase() === "keep-alive") {
-          this.keepAlive += buf.toString();
-        } else if (key.length === 10 && key.toString().toLowerCase() === "connection") {
-          this.connection += buf.toString();
-        } else if (key.length === 14 && key.toString().toLowerCase() === "content-length") {
-          this.contentLength += buf.toString();
-        }
-        this.trackHeader(buf.length);
+    }
+    module2.exports = Client;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/fixed-queue.js
+var require_fixed_queue2 = __commonJS({
+  "node_modules/@actions/github/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;
       }
-      trackHeader(len) {
-        this.headersSize += len;
-        if (this.headersSize >= this.headersMaxSize) {
-          util.destroy(this.socket, new HeadersOverflowError());
-        }
+      isEmpty() {
+        return this.top === this.bottom;
       }
-      onUpgrade(head) {
-        const { upgrade, client, socket, headers, statusCode } = this;
-        assert(upgrade);
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert(!socket.destroyed);
-        assert(socket === client[kSocket]);
-        assert(!this.paused);
-        assert(request2.upgrade || request2.method === "CONNECT");
-        this.statusCode = null;
-        this.statusText = "";
-        this.shouldKeepAlive = null;
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        socket.unshift(head);
-        socket[kParser].destroy();
-        socket[kParser] = null;
-        socket[kClient] = null;
-        socket[kError] = null;
-        socket.removeListener("error", onSocketError).removeListener("readable", onSocketReadable).removeListener("end", onSocketEnd).removeListener("close", onSocketClose);
-        client[kSocket] = null;
-        client[kQueue][client[kRunningIdx]++] = null;
-        client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
-        try {
-          request2.onUpgrade(statusCode, headers, socket);
-        } catch (err) {
-          util.destroy(socket, err);
-        }
-        resume(client);
+      isFull() {
+        return (this.top + 1 & kMask) === this.bottom;
       }
-      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.strictEqual(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;
+      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();
         }
-        if (upgrade) {
-          assert(client[kRunning] === 1);
-          this.upgrade = true;
-          return 2;
+        this.head.push(data);
+      }
+      shift() {
+        const tail = this.tail;
+        const next = tail.shift();
+        if (tail.isEmpty() && tail.next !== null) {
+          this.tail = tail.next;
         }
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        if (this.shouldKeepAlive && client[kPipelining]) {
-          const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null;
-          if (keepAliveTimeout != null) {
-            const timeout = Math.min(
-              keepAliveTimeout - client[kKeepAliveTimeoutThreshold],
-              client[kKeepAliveMaxTimeout]
-            );
-            if (timeout <= 0) {
-              socket[kReset] = true;
-            } else {
-              client[kKeepAliveTimeoutValue] = timeout;
+        return next;
+      }
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js
+var require_pool_stats2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js"(exports2, module2) {
+    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
+    var kPool = /* @__PURE__ */ 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/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js
+var require_pool_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js"(exports2, module2) {
+    "use strict";
+    var DispatcherBase = require_dispatcher_base2();
+    var FixedQueue = require_fixed_queue2();
+    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
+    var PoolStats = require_pool_stats2();
+    var kClients = /* @__PURE__ */ Symbol("clients");
+    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
+    var kQueue = /* @__PURE__ */ Symbol("queue");
+    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
+    var kAddClient = /* @__PURE__ */ Symbol("add client");
+    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
+    var kStats = /* @__PURE__ */ 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;
             }
-          } else {
-            client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout];
+            pool[kQueued]--;
+            needDrain = !this.dispatch(item.opts, item.handler);
           }
-        } 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;
-          resume(client);
-        }
-        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.strictEqual(this.timeoutType, TIMEOUT_BODY);
-        if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
+          this[kNeedDrain] = needDrain;
+          if (!this[kNeedDrain] && pool[kNeedDrain]) {
+            pool[kNeedDrain] = false;
+            pool.emit("drain", origin, [pool, ...targets]);
           }
-        }
-        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;
-        }
+          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);
       }
-      onMessageComplete() {
-        const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;
-        if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
-          return -1;
-        }
-        if (upgrade) {
-          return;
-        }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert(statusCode >= 100);
-        this.statusCode = null;
-        this.statusText = "";
-        this.bytesRead = 0;
-        this.contentLength = "";
-        this.keepAlive = "";
-        this.connection = "";
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        if (statusCode < 200) {
-          return;
-        }
-        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.strictEqual(client[kRunning], 0);
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (!shouldKeepAlive) {
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (socket[kReset] && client[kRunning] === 0) {
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (client[kPipelining] === 1) {
-          setImmediate(resume, client);
-        } else {
-          resume(client);
-        }
+      get [kBusy]() {
+        return this[kNeedDrain];
       }
-    };
-    function onParserTimeout(parser) {
-      const { socket, timeoutType, client } = parser;
-      if (timeoutType === TIMEOUT_HEADERS) {
-        if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
-          assert(!parser.paused, "cannot be paused while waiting for headers");
-          util.destroy(socket, new HeadersTimeoutError());
-        }
-      } else if (timeoutType === TIMEOUT_BODY) {
-        if (!parser.paused) {
-          util.destroy(socket, new BodyTimeoutError());
-        }
-      } else if (timeoutType === TIMEOUT_IDLE) {
-        assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
-        util.destroy(socket, new InformationalError("socket idle timeout"));
+      get [kConnected]() {
+        return this[kClients].filter((client) => client[kConnected]).length;
       }
-    }
-    function onSocketReadable() {
-      const { [kParser]: parser } = this;
-      if (parser) {
-        parser.readMore();
+      get [kFree]() {
+        return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;
       }
-    }
-    function onSocketError(err) {
-      const { [kClient]: client, [kParser]: parser } = this;
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      if (client[kHTTPConnVersion] !== "h2") {
-        if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-          return;
+      get [kPending]() {
+        let ret = this[kQueued];
+        for (const { [kPending]: pending } of this[kClients]) {
+          ret += pending;
         }
+        return ret;
       }
-      this[kError] = err;
-      onError(this[kClient], err);
-    }
-    function onError(client, err) {
-      if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
-        assert(client[kPendingIdx] === client[kRunningIdx]);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
+      get [kRunning]() {
+        let ret = 0;
+        for (const { [kRunning]: running } of this[kClients]) {
+          ret += running;
         }
-        assert(client[kSize] === 0);
+        return ret;
       }
-    }
-    function onSocketEnd() {
-      const { [kParser]: parser, [kClient]: client } = this;
-      if (client[kHTTPConnVersion] !== "h2") {
-        if (parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-          return;
+      get [kSize]() {
+        let ret = this[kQueued];
+        for (const { [kSize]: size } of this[kClients]) {
+          ret += size;
         }
+        return ret;
       }
-      util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
-    }
-    function onSocketClose() {
-      const { [kClient]: client, [kParser]: parser } = this;
-      if (client[kHTTPConnVersion] === "h1" && parser) {
-        if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-        }
-        this[kParser].destroy();
-        this[kParser] = null;
+      get stats() {
+        return this[kStats];
       }
-      const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
-      client[kSocket] = null;
-      if (client.destroyed) {
-        assert(client[kPending] === 0);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
+      async [kClose]() {
+        if (this[kQueue].isEmpty()) {
+          await Promise.all(this[kClients].map((c) => c.close()));
+        } else {
+          await new Promise((resolve3) => {
+            this[kClosedResolve] = resolve3;
+          });
         }
-      } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
       }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit("disconnect", client[kUrl], [client], err);
-      resume(client);
-    }
-    async function connect(client) {
-      assert(!client[kConnecting]);
-      assert(!client[kSocket]);
-      let { host, hostname, protocol, port } = client[kUrl];
-      if (hostname[0] === "[") {
-        const idx = hostname.indexOf("]");
-        assert(idx !== -1);
-        const ip = hostname.substring(1, idx);
-        assert(net.isIP(ip));
-        hostname = ip;
+      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)));
       }
-      client[kConnecting] = true;
-      if (channels.beforeConnect.hasSubscribers) {
-        channels.beforeConnect.publish({
-          connectParams: {
-            host,
-            hostname,
-            protocol,
-            port,
-            servername: client[kServerName],
-            localAddress: client[kLocalAddress]
-          },
-          connector: client[kConnector]
-        });
+      [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];
       }
-      try {
-        const socket = await new Promise((resolve3, reject) => {
-          client[kConnector]({
-            host,
-            hostname,
-            protocol,
-            port,
-            servername: client[kServerName],
-            localAddress: client[kLocalAddress]
-          }, (err, socket2) => {
-            if (err) {
-              reject(err);
-            } else {
-              resolve3(socket2);
+      [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]);
             }
           });
-        });
-        if (client.destroyed) {
-          util.destroy(socket.on("error", () => {
-          }), new ClientDestroyedError());
-          return;
         }
-        client[kConnecting] = false;
-        assert(socket);
-        const isH2 = socket.alpnProtocol === "h2";
-        if (isH2) {
-          if (!h2ExperimentalWarned) {
-            h2ExperimentalWarned = true;
-            process.emitWarning("H2 support is experimental, expect them to change at any time.", {
-              code: "UNDICI-H2"
-            });
-          }
-          const session = http2.connect(client[kUrl], {
-            createConnection: () => socket,
-            peerMaxConcurrentStreams: client[kHTTP2SessionState].maxConcurrentStreams
-          });
-          client[kHTTPConnVersion] = "h2";
-          session[kClient] = client;
-          session[kSocket] = socket;
-          session.on("error", onHttp2SessionError);
-          session.on("frameError", onHttp2FrameError);
-          session.on("end", onHttp2SessionEnd);
-          session.on("goaway", onHTTP2GoAway);
-          session.on("close", onSocketClose);
-          session.unref();
-          client[kHTTP2Session] = session;
-          socket[kHTTP2Session] = session;
-        } else {
-          if (!llhttpInstance) {
-            llhttpInstance = await llhttpPromise;
-            llhttpPromise = null;
+        return this;
+      }
+      [kRemoveClient](client) {
+        client.close(() => {
+          const idx = this[kClients].indexOf(client);
+          if (idx !== -1) {
+            this[kClients].splice(idx, 1);
           }
-          socket[kNoRef] = false;
-          socket[kWriting] = false;
-          socket[kReset] = false;
-          socket[kBlocking] = false;
-          socket[kParser] = new Parser(client, socket, llhttpInstance);
+        });
+        this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
+      }
+    };
+    module2.exports = {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js
+var require_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js"(exports2, module2) {
+    "use strict";
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kGetDispatcher
+    } = require_pool_base2();
+    var Client = require_client2();
+    var {
+      InvalidArgumentError
+    } = require_errors2();
+    var util = require_util9();
+    var { kUrl, kInterceptors } = require_symbols6();
+    var buildConnector = require_connect2();
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kConnections = /* @__PURE__ */ Symbol("connections");
+    var kFactory = /* @__PURE__ */ 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");
         }
-        socket[kCounter] = 0;
-        socket[kMaxRequests] = client[kMaxRequests];
-        socket[kClient] = client;
-        socket[kError] = null;
-        socket.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose);
-        client[kSocket] = socket;
-        if (channels.connected.hasSubscribers) {
-          channels.connected.publish({
-            connectParams: {
-              host,
-              hostname,
-              protocol,
-              port,
-              servername: client[kServerName],
-              localAddress: client[kLocalAddress]
-            },
-            connector: client[kConnector],
-            socket
-          });
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
         }
-        client.emit("connect", client[kUrl], [client]);
-      } catch (err) {
-        if (client.destroyed) {
-          return;
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
         }
-        client[kConnecting] = false;
-        if (channels.connectError.hasSubscribers) {
-          channels.connectError.publish({
-            connectParams: {
-              host,
-              hostname,
-              protocol,
-              port,
-              servername: client[kServerName],
-              localAddress: client[kLocalAddress]
-            },
-            connector: client[kConnector],
-            error: err
+        if (typeof connect !== "function") {
+          connect = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect
           });
         }
-        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]++];
-            errorRequest2(client, request2, err);
+        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, error3) => {
+          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;
           }
-        } else {
-          onError(client, err);
         }
-        client.emit("connectionError", client[kUrl], [client], err);
+        if (!this[kConnections] || this[kClients].length < this[kConnections]) {
+          const dispatcher = this[kFactory](this[kUrl], this[kOptions]);
+          this[kAddClient](dispatcher);
+          return dispatcher;
+        }
       }
-      resume(client);
+    };
+    module2.exports = Pool;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js
+var require_balanced_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js"(exports2, module2) {
+    "use strict";
+    var {
+      BalancedPoolMissingUpstreamError,
+      InvalidArgumentError
+    } = require_errors2();
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    } = require_pool_base2();
+    var Pool = require_pool2();
+    var { kUrl, kInterceptors } = require_symbols6();
+    var { parseOrigin } = require_util9();
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
+    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
+    var kIndex = /* @__PURE__ */ Symbol("kIndex");
+    var kWeight = /* @__PURE__ */ Symbol("kWeight");
+    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
+    var kErrorPenalty = /* @__PURE__ */ 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 emitDrain(client) {
-      client[kNeedDrain] = 0;
-      client.emit("drain", client[kUrl], [client]);
+    function defaultFactory(origin, opts) {
+      return new Pool(origin, opts);
     }
-    function resume(client, sync) {
-      if (client[kResuming] === 2) {
-        return;
+    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();
       }
-      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;
+      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;
       }
-    }
-    function _resume(client, sync) {
-      while (true) {
-        if (client.destroyed) {
-          assert(client[kPending] === 0);
+      _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;
         }
-        if (client[kClosedResolve] && !client[kSize]) {
-          client[kClosedResolve]();
-          client[kClosedResolve] = null;
+        const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b) => a && b, true);
+        if (allClientsBusy) {
           return;
         }
-        const socket = client[kSocket];
-        if (socket && !socket.destroyed && socket.alpnProtocol !== "h2") {
-          if (client[kSize] === 0) {
-            if (!socket[kNoRef] && socket.unref) {
-              socket.unref();
-              socket[kNoRef] = true;
-            }
-          } else if (socket[kNoRef] && socket.ref) {
-            socket.ref();
-            socket[kNoRef] = false;
+        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 (client[kSize] === 0) {
-            if (socket[kParser].timeoutType !== TIMEOUT_IDLE) {
-              socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE);
-            }
-          } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
-            if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
-              const request3 = client[kQueue][client[kRunningIdx]];
-              const headersTimeout = request3.headersTimeout != null ? request3.headersTimeout : client[kHeadersTimeout];
-              socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
+          if (this[kIndex] === 0) {
+            this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor];
+            if (this[kCurrentWeight] <= 0) {
+              this[kCurrentWeight] = this[kMaxWeightPerServer];
             }
           }
-        }
-        if (client[kBusy]) {
-          client[kNeedDrain] = 2;
-        } else if (client[kNeedDrain] === 2) {
-          if (sync) {
-            client[kNeedDrain] = 1;
-            process.nextTick(emitDrain, client);
-          } else {
-            emitDrain(client);
+          if (pool[kWeight] >= this[kCurrentWeight] && !pool[kNeedDrain]) {
+            return pool;
           }
-          continue;
         }
-        if (client[kPending] === 0) {
-          return;
-        }
-        if (client[kRunning] >= (client[kPipelining] || 1)) {
-          return;
+        this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight];
+        this[kIndex] = maxWeightIndex;
+        return this[kClients][maxWeightIndex];
+      }
+    };
+    module2.exports = BalancedPool;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js
+var require_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js"(exports2, module2) {
+    "use strict";
+    var { InvalidArgumentError } = require_errors2();
+    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
+    var DispatcherBase = require_dispatcher_base2();
+    var Pool = require_pool2();
+    var Client = require_client2();
+    var util = require_util9();
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ 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.");
         }
-        const request2 = client[kQueue][client[kPendingIdx]];
-        if (client[kUrl].protocol === "https:" && client[kServerName] !== request2.servername) {
-          if (client[kRunning] > 0) {
-            return;
-          }
-          client[kServerName] = request2.servername;
-          if (socket && socket.servername !== request2.servername) {
-            util.destroy(socket, new InformationalError("servername changed"));
-            return;
-          }
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
         }
-        if (client[kConnecting]) {
-          return;
+        if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
         }
-        if (!socket && !client[kHTTP2Session]) {
-          connect(client);
-          return;
+        if (connect && typeof connect !== "function") {
+          connect = { ...connect };
         }
-        if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) {
-          return;
+        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];
         }
-        if (client[kRunning] > 0 && !request2.idempotent) {
-          return;
+        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.");
         }
-        if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
-          return;
+        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);
         }
-        if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body))) {
-          return;
+        return dispatcher.dispatch(opts, handler2);
+      }
+      async [kClose]() {
+        const closePromises = [];
+        for (const client of this[kClients].values()) {
+          closePromises.push(client.close());
         }
-        if (!request2.aborted && write(client, request2)) {
-          client[kPendingIdx]++;
-        } else {
-          client[kQueue].splice(client[kPendingIdx], 1);
+        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/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js
+var require_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js"(exports2, module2) {
+    "use strict";
+    var { kProxy, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
+    var { URL: URL2 } = require("node:url");
+    var Agent = require_agent2();
+    var Pool = require_pool2();
+    var DispatcherBase = require_dispatcher_base2();
+    var { InvalidArgumentError, RequestAbortedError, SecureProxyConnectionError } = require_errors2();
+    var buildConnector = require_connect2();
+    var Client = require_client2();
+    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
+    var kClient = /* @__PURE__ */ Symbol("proxy client");
+    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
+    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
+    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
+    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
+    var kTunnelProxy = /* @__PURE__ */ Symbol("tunnel proxy");
+    function defaultProtocolPort(protocol) {
+      return protocol === "https:" ? 443 : 80;
     }
-    function shouldSendContentLength(method) {
-      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
+    function defaultFactory(origin, opts) {
+      return new Pool(origin, opts);
     }
-    function write(client, request2) {
-      if (client[kHTTPConnVersion] === "h2") {
-        writeH2(client, client[kHTTP2Session], request2);
-        return;
-      }
-      const { body, method, path: path4, host, upgrade, headers, blocking, reset } = request2;
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
-      if (body && typeof body.read === "function") {
-        body.read(0);
-      }
-      const bodyLength = util.bodyLength(body);
-      let contentLength = bodyLength;
-      if (contentLength === null) {
-        contentLength = request2.contentLength;
-      }
-      if (contentLength === 0 && !expectsPayload) {
-        contentLength = null;
+    var noop3 = () => {
+    };
+    function defaultAgentFactory(origin, opts) {
+      if (opts.connections === 1) {
+        return new Client(origin, opts);
       }
-      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
-        if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
-          return false;
+      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 });
         }
-        process.emitWarning(new RequestContentLengthMismatchError());
       }
-      const socket = client[kSocket];
-      try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
+      [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;
           }
-          errorRequest2(client, request2, err || new RequestAbortedError());
-          util.destroy(socket, new InformationalError("aborted"));
-        });
-      } catch (err) {
-        errorRequest2(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} ${path4} 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 (onHeaders) onHeaders.call(this, statusCode, data, resume);
+        };
+        const {
+          origin,
+          path: path4 = "/",
+          headers = {}
+        } = opts;
+        opts.path = origin + path4;
+        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);
       }
-      if (headers) {
-        header += headers;
+      async [kClose]() {
+        return this.#client.close();
       }
-      if (channels.sendHeaders.hasSubscribers) {
-        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      async [kDestroy](err) {
+        return this.#client.destroy(err);
       }
-      if (!body || bodyLength === 0) {
-        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");
+    };
+    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");
         }
-        request2.onRequestSent();
-      } else if (util.isBuffer(body)) {
-        assert(contentLength === body.byteLength, "buffer body must have content length");
-        socket.cork();
-        socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-        socket.write(body);
-        socket.uncork();
-        request2.onBodySent(body);
-        request2.onRequestSent();
-        if (!expectsPayload) {
-          socket[kReset] = true;
+        const { clientFactory = defaultFactory } = opts;
+        if (typeof clientFactory !== "function") {
+          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
         }
-      } else if (util.isBlobLike(body)) {
-        if (typeof body.stream === "function") {
-          writeIterable({ body: body.stream(), client, request: request2, socket, contentLength, header, expectsPayload });
-        } else {
-          writeBlob({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+        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")}`;
         }
-      } else if (util.isStream(body)) {
-        writeStream({ body, client, request: request2, socket, contentLength, header, expectsPayload });
-      } else if (util.isIterable(body)) {
-        writeIterable({ body, client, request: request2, socket, contentLength, header, expectsPayload });
-      } else {
-        assert(false);
-      }
-      return true;
-    }
-    function writeH2(client, session, request2) {
-      const { body, method, path: path4, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
-      let headers;
-      if (typeof reqHeaders === "string") headers = Request[kHTTP2CopyHeaders](reqHeaders.trim());
-      else headers = reqHeaders;
-      if (upgrade) {
-        errorRequest2(client, request2, new Error("Upgrade not supported for H2"));
-        return false;
-      }
-      try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
-            return;
+        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);
+              }
+            }
           }
-          errorRequest2(client, request2, err || new RequestAbortedError());
         });
-      } catch (err) {
-        errorRequest2(client, request2, err);
       }
-      if (request2.aborted) {
-        return false;
+      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
+        );
       }
-      let stream;
-      const h2State = client[kHTTP2SessionState];
-      headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost];
-      headers[HTTP2_HEADER_METHOD] = method;
-      if (method === "CONNECT") {
-        session.ref();
-        stream = session.request(headers, { endStream: false, signal });
-        if (stream.id && !stream.pending) {
-          request2.onUpgrade(null, null, stream);
-          ++h2State.openStreams;
+      /**
+       * @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 {
-          stream.once("ready", () => {
-            request2.onUpgrade(null, null, stream);
-            ++h2State.openStreams;
-          });
+          return new URL2(opts.uri);
         }
-        stream.once("close", () => {
-          h2State.openStreams -= 1;
-          if (h2State.openStreams === 0) session.unref();
-        });
-        return true;
       }
-      headers[HTTP2_HEADER_PATH] = path4;
-      headers[HTTP2_HEADER_SCHEME] = "https";
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
-      if (body && typeof body.read === "function") {
-        body.read(0);
+      async [kClose]() {
+        await this[kAgent].close();
+        await this[kClient].close();
       }
-      let contentLength = util.bodyLength(body);
-      if (contentLength == null) {
-        contentLength = request2.contentLength;
+      async [kDestroy]() {
+        await this[kAgent].destroy();
+        await this[kClient].destroy();
       }
-      if (contentLength === 0 || !expectsPayload) {
-        contentLength = null;
+    };
+    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;
       }
-      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
-        if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
-          return false;
+      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/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js
+var require_env_http_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js"(exports2, module2) {
+    "use strict";
+    var DispatcherBase = require_dispatcher_base2();
+    var { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require_symbols6();
+    var ProxyAgent = require_proxy_agent2();
+    var Agent = require_agent2();
+    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"
+          });
         }
-        process.emitWarning(new RequestContentLengthMismatchError());
+        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();
       }
-      if (contentLength != null) {
-        assert(body, "no body must not have content length");
-        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
+      [kDispatch](opts, handler2) {
+        const url = new URL(opts.origin);
+        const agent = this.#getProxyAgentForUrl(url);
+        return agent.dispatch(opts, handler2);
       }
-      session.ref();
-      const shouldEndStream = method === "GET" || method === "HEAD";
-      if (expectContinue) {
-        headers[HTTP2_HEADER_EXPECT] = "100-continue";
-        stream = session.request(headers, { endStream: shouldEndStream, signal });
-        stream.once("continue", writeBodyH2);
-      } else {
-        stream = session.request(headers, {
-          endStream: shouldEndStream,
-          signal
-        });
-        writeBodyH2();
+      async [kClose]() {
+        await this[kNoProxyAgent].close();
+        if (!this[kHttpProxyAgent][kClosed]) {
+          await this[kHttpProxyAgent].close();
+        }
+        if (!this[kHttpsProxyAgent][kClosed]) {
+          await this[kHttpsProxyAgent].close();
+        }
       }
-      ++h2State.openStreams;
-      stream.once("response", (headers2) => {
-        const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
-        if (request2.onHeaders(Number(statusCode), realHeaders, stream.resume.bind(stream), "") === false) {
-          stream.pause();
+      async [kDestroy](err) {
+        await this[kNoProxyAgent].destroy(err);
+        if (!this[kHttpProxyAgent][kDestroyed]) {
+          await this[kHttpProxyAgent].destroy(err);
         }
-      });
-      stream.once("end", () => {
-        request2.onComplete([]);
-      });
-      stream.on("data", (chunk) => {
-        if (request2.onData(chunk) === false) {
-          stream.pause();
+        if (!this[kHttpsProxyAgent][kDestroyed]) {
+          await this[kHttpsProxyAgent].destroy(err);
         }
-      });
-      stream.once("close", () => {
-        h2State.openStreams -= 1;
-        if (h2State.openStreams === 0) {
-          session.unref();
+      }
+      #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];
         }
-      });
-      stream.once("error", function(err) {
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream, err);
+        if (protocol === "https:") {
+          return this[kHttpsProxyAgent];
         }
-      });
-      stream.once("frameError", (type2, code) => {
-        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-        errorRequest2(client, request2, err);
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream, err);
+        return this[kHttpProxyAgent];
+      }
+      #shouldProxy(hostname, port) {
+        if (this.#noProxyChanged) {
+          this.#parseNoProxy();
         }
-      });
-      return true;
-      function writeBodyH2() {
-        if (!body) {
-          request2.onRequestSent();
-        } else if (util.isBuffer(body)) {
-          assert(contentLength === body.byteLength, "buffer body must have content length");
-          stream.cork();
-          stream.write(body);
-          stream.uncork();
-          stream.end();
-          request2.onBodySent(body);
-          request2.onRequestSent();
-        } else if (util.isBlobLike(body)) {
-          if (typeof body.stream === "function") {
-            writeIterable({
-              client,
-              request: request2,
-              contentLength,
-              h2stream: stream,
-              expectsPayload,
-              body: body.stream(),
-              socket: client[kSocket],
-              header: ""
-            });
+        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 {
-            writeBlob({
-              body,
-              client,
-              request: request2,
-              contentLength,
-              expectsPayload,
-              h2stream: stream,
-              header: "",
-              socket: client[kSocket]
-            });
+            if (hostname.endsWith(entry.hostname.replace(/^\*/, ""))) {
+              return false;
+            }
           }
-        } else if (util.isStream(body)) {
-          writeStream({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            socket: client[kSocket],
-            h2stream: stream,
-            header: ""
-          });
-        } else if (util.isIterable(body)) {
-          writeIterable({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            header: "",
-            h2stream: stream,
-            socket: client[kSocket]
-          });
-        } else {
-          assert(false);
         }
+        return true;
       }
-    }
-    function writeStream({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
-      if (client[kHTTPConnVersion] === "h2") {
-        let onPipeData = function(chunk) {
-          request2.onBodySent(chunk);
-        };
-        const pipe = pipeline(
-          body,
-          h2stream,
-          (err) => {
-            if (err) {
-              util.destroy(body, err);
-              util.destroy(h2stream, err);
-            } else {
-              request2.onRequestSent();
-            }
+      #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;
           }
-        );
-        pipe.on("data", onPipeData);
-        pipe.once("end", () => {
-          pipe.removeListener("data", onPipeData);
-          util.destroy(pipe);
-        });
-        return;
+          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;
       }
-      let finished = false;
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
-      const onData = function(chunk) {
-        if (finished) {
-          return;
+      get #noProxyChanged() {
+        if (this.#opts.noProxy !== void 0) {
+          return false;
         }
-        try {
-          if (!writer.write(chunk) && this.pause) {
-            this.pause();
+        return this.#noProxyValue !== this.#noProxyEnv;
+      }
+      get #noProxyEnv() {
+        return process.env.no_proxy ?? process.env.NO_PROXY ?? "";
+      }
+    };
+    module2.exports = EnvHttpProxyAgent;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/handler/retry-handler.js
+var require_retry_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/retry-handler.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { kRetryHandlerDefaultRetry } = require_symbols6();
+    var { RequestRetryError } = require_errors2();
+    var {
+      isDisturbed,
+      parseHeaders,
+      parseRangeHeader,
+      wrapRequestBody
+    } = require_util9();
+    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;
           }
-        } catch (err) {
-          util.destroy(this, err);
+        });
+      }
+      onRequestSent() {
+        if (this.handler.onRequestSent) {
+          this.handler.onRequestSent();
         }
-      };
-      const onDrain = function() {
-        if (finished) {
-          return;
+      }
+      onUpgrade(statusCode, headers, socket) {
+        if (this.handler.onUpgrade) {
+          this.handler.onUpgrade(statusCode, headers, socket);
         }
-        if (body.resume) {
-          body.resume();
+      }
+      onConnect(abort) {
+        if (this.aborted) {
+          abort(this.reason);
+        } else {
+          this.abort = abort;
         }
-      };
-      const onAbort = function() {
-        if (finished) {
+      }
+      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;
         }
-        const err = new RequestAbortedError();
-        queueMicrotask(() => onFinished(err));
-      };
-      const onFinished = function(err) {
-        if (finished) {
+        if (Array.isArray(methods) && !methods.includes(method)) {
+          cb(err);
           return;
         }
-        finished = true;
-        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
-        socket.off("drain", onDrain).off("error", onFinished);
-        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("error", onFinished).removeListener("close", onAbort);
-        if (!err) {
-          try {
-            writer.end();
-          } catch (er) {
-            err = er;
-          }
-        }
-        writer.destroy(err);
-        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
-          util.destroy(body, err);
-        } else {
-          util.destroy(body);
-        }
-      };
-      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onAbort);
-      if (body.resume) {
-        body.resume();
-      }
-      socket.on("drain", onDrain).on("error", onFinished);
-    }
-    async function writeBlob({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength === body.size, "blob body must have content length");
-      const isH2 = client[kHTTPConnVersion] === "h2";
-      try {
-        if (contentLength != null && contentLength !== body.size) {
-          throw new RequestContentLengthMismatchError();
-        }
-        const buffer = Buffer.from(await body.arrayBuffer());
-        if (isH2) {
-          h2stream.cork();
-          h2stream.write(buffer);
-          h2stream.uncork();
-        } else {
-          socket.cork();
-          socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-          socket.write(buffer);
-          socket.uncork();
+        if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) {
+          cb(err);
+          return;
         }
-        request2.onBodySent(buffer);
-        request2.onRequestSent();
-        if (!expectsPayload) {
-          socket[kReset] = true;
+        if (counter > maxRetries) {
+          cb(err);
+          return;
         }
-        resume(client);
-      } catch (err) {
-        util.destroy(isH2 ? h2stream : socket, err);
-      }
-    }
-    async function writeIterable({ h2stream, body, client, request: 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();
+        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);
       }
-      const waitForDrain = () => new Promise((resolve3, reject) => {
-        assert(callback === null);
-        if (socket[kError]) {
-          reject(socket[kError]);
-        } else {
-          callback = resolve3;
-        }
-      });
-      if (client[kHTTPConnVersion] === "h2") {
-        h2stream.on("close", onDrain).on("drain", onDrain);
-        try {
-          for await (const chunk of body) {
-            if (socket[kError]) {
-              throw socket[kError];
-            }
-            const res = h2stream.write(chunk);
-            request2.onBodySent(chunk);
-            if (!res) {
-              await waitForDrain();
-            }
+      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;
           }
-        } catch (err) {
-          h2stream.destroy(err);
-        } finally {
-          request2.onRequestSent();
-          h2stream.end();
-          h2stream.off("close", onDrain).off("drain", onDrain);
         }
-        return;
-      }
-      socket.on("close", onDrain).on("drain", onDrain);
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
-      try {
-        for await (const chunk of body) {
-          if (socket[kError]) {
-            throw socket[kError];
+        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;
           }
-          if (!writer.write(chunk)) {
-            await waitForDrain();
+          const contentRange = parseRangeHeader(headers["content-range"]);
+          if (!contentRange) {
+            this.abort(
+              new RequestRetryError("Content-Range mismatch", statusCode, {
+                headers,
+                data: { count: this.retryCount }
+              })
+            );
+            return false;
           }
-        }
-        writer.end();
-      } catch (err) {
-        writer.destroy(err);
-      } finally {
-        socket.off("close", onDrain).off("drain", onDrain);
-      }
-    }
-    var AsyncWriter = class {
-      constructor({ 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;
-        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();
+          if (this.etag != null && this.etag !== headers.etag) {
+            this.abort(
+              new RequestRetryError("ETag mismatch", statusCode, {
+                headers,
+                data: { count: this.retryCount }
+              })
+            );
+            return false;
           }
-          process.emitWarning(new RequestContentLengthMismatchError());
+          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;
         }
-        socket.cork();
-        if (bytesWritten === 0) {
-          if (!expectsPayload) {
-            socket[kReset] = 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 (contentLength === null) {
-            socket.write(`${header}transfer-encoding: chunked\r
-`, "latin1");
-          } else {
-            socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
+          if (this.end == null) {
+            const contentLength = headers["content-length"];
+            this.end = contentLength != null ? Number(contentLength) - 1 : null;
           }
-        }
-        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();
-            }
+          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
+          );
         }
-        return ret;
+        const err = new RequestRetryError("Request failed", statusCode, {
+          headers,
+          data: { count: this.retryCount }
+        });
+        this.abort(err);
+        return false;
       }
-      end() {
-        const { socket, contentLength, client, bytesWritten, expectsPayload, header, request: request2 } = this;
-        request2.onRequestSent();
-        socket[kWriting] = false;
-        if (socket[kError]) {
-          throw socket[kError];
+      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 (socket.destroyed) {
-          return;
+        if (this.retryCount - this.retryCountCheckpoint > 0) {
+          this.retryCount = this.retryCountCheckpoint + (this.retryCount - this.retryCountCheckpoint);
+        } else {
+          this.retryCount += 1;
         }
-        if (bytesWritten === 0) {
-          if (expectsPayload) {
-            socket.write(`${header}content-length: 0\r
-\r
-`, "latin1");
-          } else {
-            socket.write(`${header}\r
-`, "latin1");
+        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);
           }
-        } 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 (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
+              }
+            };
           }
-        }
-        if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
-          if (socket[kParser].timeout.refresh) {
-            socket[kParser].timeout.refresh();
+          try {
+            this.retryCountCheckpoint = this.retryCount;
+            this.dispatch(this.opts, this);
+          } catch (err3) {
+            this.handler.onError(err3);
           }
         }
-        resume(client);
-      }
-      destroy(err) {
-        const { socket, client } = this;
-        socket[kWriting] = false;
-        if (err) {
-          assert(client[kRunning] <= 1, "pipeline should only contain this request");
-          util.destroy(socket, err);
-        }
       }
     };
-    function errorRequest2(client, request2, err) {
-      try {
-        request2.onError(err);
-        assert(request2.aborted);
-      } catch (err2) {
-        client.emit("error", err2);
-      }
-    }
-    module2.exports = Client;
+    module2.exports = RetryHandler;
   }
 });
 
-// node_modules/undici/lib/node/fixed-queue.js
-var require_fixed_queue2 = __commonJS({
-  "node_modules/undici/lib/node/fixed-queue.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js
+var require_retry_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.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;
+    var Dispatcher = require_dispatcher2();
+    var RetryHandler = require_retry_handler2();
+    var RetryAgent = class extends Dispatcher {
+      #agent = null;
+      #options = null;
+      constructor(agent, options = {}) {
+        super(options);
+        this.#agent = agent;
+        this.#options = options;
       }
-      isFull() {
-        return (this.top + 1 & kMask) === this.bottom;
+      dispatch(opts, handler2) {
+        const retry2 = new RetryHandler({
+          ...opts,
+          retryOptions: this.#options
+        }, {
+          dispatch: this.#agent.dispatch.bind(this.#agent),
+          handler: handler2
+        });
+        return this.#agent.dispatch(opts, retry2);
       }
-      push(data) {
-        this.list[this.top] = data;
-        this.top = this.top + 1 & kMask;
+      close() {
+        return this.#agent.close();
       }
-      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;
+      destroy() {
+        return this.#agent.destroy();
       }
     };
-    module2.exports = class FixedQueue {
-      constructor() {
-        this.head = this.tail = new FixedCircularBuffer();
+    module2.exports = RetryAgent;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/readable.js
+var require_readable2 = __commonJS({
+  "node_modules/@actions/github/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_errors2();
+    var util = require_util9();
+    var { ReadableStreamFrom } = require_util9();
+    var kConsume = /* @__PURE__ */ Symbol("kConsume");
+    var kReading = /* @__PURE__ */ Symbol("kReading");
+    var kBody = /* @__PURE__ */ Symbol("kBody");
+    var kAbort = /* @__PURE__ */ Symbol("kAbort");
+    var kContentType = /* @__PURE__ */ Symbol("kContentType");
+    var kContentLength = /* @__PURE__ */ 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;
       }
-      isEmpty() {
-        return this.head.isEmpty();
+      destroy(err) {
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
+        }
+        if (err) {
+          this[kAbort]();
+        }
+        return super.destroy(err);
       }
-      push(data) {
-        if (this.head.isFull()) {
-          this.head = this.head.next = new FixedCircularBuffer();
+      _destroy(err, callback) {
+        if (!this[kReading]) {
+          setImmediate(() => {
+            callback(err);
+          });
+        } else {
+          callback(err);
         }
-        this.head.push(data);
       }
-      shift() {
-        const tail = this.tail;
-        const next = tail.shift();
-        if (tail.isEmpty() && tail.next !== null) {
-          this.tail = tail.next;
+      on(ev, ...args) {
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = true;
         }
-        return next;
+        return super.on(ev, ...args);
       }
-    };
-  }
-});
-
-// node_modules/undici/lib/pool-stats.js
-var require_pool_stats2 = __commonJS({
-  "node_modules/undici/lib/pool-stats.js"(exports2, module2) {
-    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
-    var kPool = /* @__PURE__ */ Symbol("pool");
-    var PoolStats = class {
-      constructor(pool) {
-        this[kPool] = pool;
+      addListener(ev, ...args) {
+        return this.on(ev, ...args);
       }
-      get connected() {
-        return this[kPool][kConnected];
+      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;
       }
-      get free() {
-        return this[kPool][kFree];
+      removeListener(ev, ...args) {
+        return this.off(ev, ...args);
       }
-      get pending() {
-        return this[kPool][kPending];
+      push(chunk) {
+        if (this[kConsume] && chunk !== null) {
+          consumePush(this[kConsume], chunk);
+          return this[kReading] ? super.push(chunk) : true;
+        }
+        return super.push(chunk);
       }
-      get queued() {
-        return this[kPool][kQueued];
+      // https://fetch.spec.whatwg.org/#dom-body-text
+      async text() {
+        return consume(this, "text");
       }
-      get running() {
-        return this[kPool][kRunning];
+      // https://fetch.spec.whatwg.org/#dom-body-json
+      async json() {
+        return consume(this, "json");
       }
-      get size() {
-        return this[kPool][kSize];
+      // https://fetch.spec.whatwg.org/#dom-body-blob
+      async blob() {
+        return consume(this, "blob");
       }
-    };
-    module2.exports = PoolStats;
-  }
-});
-
-// node_modules/undici/lib/pool-base.js
-var require_pool_base2 = __commonJS({
-  "node_modules/undici/lib/pool-base.js"(exports2, module2) {
-    "use strict";
-    var DispatcherBase = require_dispatcher_base2();
-    var FixedQueue = require_fixed_queue2();
-    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
-    var PoolStats = require_pool_stats2();
-    var kClients = /* @__PURE__ */ Symbol("clients");
-    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
-    var kQueue = /* @__PURE__ */ Symbol("queue");
-    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
-    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
-    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
-    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
-    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
-    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
-    var kAddClient = /* @__PURE__ */ Symbol("add client");
-    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
-    var kStats = /* @__PURE__ */ 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);
+      // https://fetch.spec.whatwg.org/#dom-body-bytes
+      async bytes() {
+        return consume(this, "bytes");
       }
-      get [kBusy]() {
-        return this[kNeedDrain];
+      // https://fetch.spec.whatwg.org/#dom-body-arraybuffer
+      async arrayBuffer() {
+        return consume(this, "arrayBuffer");
       }
-      get [kConnected]() {
-        return this[kClients].filter((client) => client[kConnected]).length;
+      // https://fetch.spec.whatwg.org/#dom-body-formdata
+      async formData() {
+        throw new NotSupportedError();
       }
-      get [kFree]() {
-        return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;
+      // https://fetch.spec.whatwg.org/#dom-body-bodyused
+      get bodyUsed() {
+        return util.isDisturbed(this);
       }
-      get [kPending]() {
-        let ret = this[kQueued];
-        for (const { [kPending]: pending } of this[kClients]) {
-          ret += pending;
+      // 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 ret;
+        return this[kBody];
       }
-      get [kRunning]() {
-        let ret = 0;
-        for (const { [kRunning]: running } of this[kClients]) {
-          ret += running;
+      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");
         }
-        return ret;
-      }
-      get [kSize]() {
-        let ret = this[kQueued];
-        for (const { [kSize]: size } of this[kClients]) {
-          ret += size;
+        signal?.throwIfAborted();
+        if (this._readableState.closeEmitted) {
+          return null;
         }
-        return ret;
-      }
-      get stats() {
-        return this[kStats];
+        return await new Promise((resolve3, 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 {
+              resolve3(null);
+            }
+          }).on("error", noop3).on("data", function(chunk) {
+            limit -= chunk.length;
+            if (limit <= 0) {
+              this.destroy();
+            }
+          }).resume();
+        });
       }
-      async [kClose]() {
-        if (this[kQueue].isEmpty()) {
-          return Promise.all(this[kClients].map((c) => c.close()));
+    };
+    function isLocked(self2) {
+      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
+    }
+    function isUnusable(self2) {
+      return util.isDisturbed(self2) || isLocked(self2);
+    }
+    async function consume(stream, type2) {
+      assert(!stream[kConsume]);
+      return new Promise((resolve3, 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 {
-          return new Promise((resolve3) => {
-            this[kClosedResolve] = resolve3;
+          queueMicrotask(() => {
+            stream[kConsume] = {
+              type: type2,
+              stream,
+              resolve: resolve3,
+              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;
       }
-      async [kDestroy](err) {
-        while (true) {
-          const item = this[kQueue].shift();
-          if (!item) {
-            break;
-          }
-          item.handler.onError(err);
+      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]);
         }
-        return 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]();
+      } else {
+        for (const chunk of state.buffer) {
+          consumePush(consume2, chunk);
         }
-        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]) {
-          process.nextTick(() => {
-            if (this[kNeedDrain]) {
-              this[kOnDrain](client[kUrl], [this, client]);
-            }
-          });
+      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: type2, body, resolve: resolve3, stream, length } = consume2;
+      try {
+        if (type2 === "text") {
+          resolve3(chunksDecode(body, length));
+        } else if (type2 === "json") {
+          resolve3(JSON.parse(chunksDecode(body, length)));
+        } else if (type2 === "arrayBuffer") {
+          resolve3(chunksConcat(body, length).buffer);
+        } else if (type2 === "blob") {
+          resolve3(new Blob(body, { type: stream[kContentType] }));
+        } else if (type2 === "bytes") {
+          resolve3(chunksConcat(body, length));
         }
-        return this;
+        consumeFinish(consume2);
+      } catch (err) {
+        stream.destroy(err);
       }
-      [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);
+    }
+    function consumePush(consume2, chunk) {
+      consume2.length += chunk.length;
+      consume2.body.push(chunk);
+    }
+    function consumeFinish(consume2, err) {
+      if (consume2.body === null) {
+        return;
       }
-    };
-    module2.exports = {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kRemoveClient,
-      kGetDispatcher
-    };
+      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/pool.js
-var require_pool2 = __commonJS({
-  "node_modules/undici/lib/pool.js"(exports2, module2) {
-    "use strict";
-    var {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kGetDispatcher
-    } = require_pool_base2();
-    var Client = require_client2();
+// node_modules/@actions/github/node_modules/undici/lib/api/util.js
+var require_util11 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/util.js"(exports2, module2) {
+    var assert = require("node:assert");
     var {
-      InvalidArgumentError
+      ResponseStatusCodeError
     } = require_errors2();
-    var util = require_util9();
-    var { kUrl, kInterceptors } = require_symbols6();
-    var buildConnector = require_connect2();
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    var kConnections = /* @__PURE__ */ Symbol("connections");
-    var kFactory = /* @__PURE__ */ 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,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
-            ...connect
-          });
-        }
-        this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
-        this[kConnections] = connections || null;
-        this[kUrl] = util.parseOrigin(origin);
-        this[kOptions] = { ...util.deepClone(options), connect, allowH2 };
-        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
-        this[kFactory] = factory;
-        this.on("connectionError", (origin2, targets, error3) => {
-          for (const target of targets) {
-            const idx = this[kClients].indexOf(target);
-            if (idx !== -1) {
-              this[kClients].splice(idx, 1);
-            }
+    var { chunksDecode } = require_readable2();
+    var CHUNK_LIMIT = 128 * 1024;
+    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
+      assert(body);
+      let chunks = [];
+      let length = 0;
+      try {
+        for await (const chunk of body) {
+          chunks.push(chunk);
+          length += chunk.length;
+          if (length > CHUNK_LIMIT) {
+            chunks = [];
+            length = 0;
+            break;
           }
-        });
-      }
-      [kGetDispatcher]() {
-        let dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain]);
-        if (dispatcher) {
-          return dispatcher;
         }
-        if (!this[kConnections] || this[kClients].length < this[kConnections]) {
-          dispatcher = this[kFactory](this[kUrl], this[kOptions]);
-          this[kAddClient](dispatcher);
+      } 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);
         }
-        return dispatcher;
+      } 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
     };
-    module2.exports = Pool;
   }
 });
 
-// node_modules/undici/lib/balanced-pool.js
-var require_balanced_pool2 = __commonJS({
-  "node_modules/undici/lib/balanced-pool.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/api/api-request.js
+var require_api_request2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-request.js"(exports2, module2) {
     "use strict";
-    var {
-      BalancedPoolMissingUpstreamError,
-      InvalidArgumentError
-    } = require_errors2();
-    var {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kRemoveClient,
-      kGetDispatcher
-    } = require_pool_base2();
-    var Pool = require_pool2();
-    var { kUrl, kInterceptors } = require_symbols6();
-    var { parseOrigin } = require_util9();
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
-    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
-    var kIndex = /* @__PURE__ */ Symbol("kIndex");
-    var kWeight = /* @__PURE__ */ Symbol("kWeight");
-    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
-    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
-    function getGreatestCommonDivisor(a, b) {
-      if (b === 0) return a;
-      return getGreatestCommonDivisor(b, a % b);
-    }
-    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];
+    var assert = require("node:assert");
+    var { Readable } = require_readable2();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
+    var util = require_util9();
+    var { getResolveErrorBodyCallback } = require_util11();
+    var { AsyncResource } = require("node:async_hooks");
+    var RequestHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        if (typeof factory !== "function") {
-          throw new InvalidArgumentError("factory must be a function.");
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
+        try {
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
+            throw new InvalidArgumentError("invalid highWaterMark");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
+          }
+          super("UNDICI_REQUEST");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
         }
-        this[kInterceptors] = opts.interceptors && opts.interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : [];
-        this[kFactory] = factory;
-        for (const upstream of upstreams) {
-          this.addUpstream(upstream);
+        this.method = method;
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.body = body;
+        this.trailers = {};
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError;
+        this.highWaterMark = highWaterMark;
+        this.signal = signal;
+        this.reason = null;
+        this.removeAbortListener = null;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
+        }
+        if (this.signal) {
+          if (this.signal.aborted) {
+            this.reason = this.signal.reason ?? new RequestAbortedError();
+          } else {
+            this.removeAbortListener = util.addAbortListener(this.signal, () => {
+              this.reason = this.signal.reason ?? new RequestAbortedError();
+              if (this.res) {
+                util.destroy(this.res.on("error", util.nop), this.reason);
+              } else if (this.abort) {
+                this.abort(this.reason);
+              }
+              if (this.removeAbortListener) {
+                this.res?.off("close", this.removeAbortListener);
+                this.removeAbortListener();
+                this.removeAbortListener = null;
+              }
+            });
+          }
         }
-        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;
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
-        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();
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
+      }
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { callback, opaque, abort, context: context2, 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
         });
-        for (const client of this[kClients]) {
-          client[kWeight] = this[kMaxWeightPerServer];
+        if (this.removeAbortListener) {
+          res.on("close", this.removeAbortListener);
         }
-        this._updateBalancedPoolStats();
-        return this;
-      }
-      _updateBalancedPoolStats() {
-        this[kGreatestCommonDivisor] = this[kClients].map((p) => p[kWeight]).reduce(getGreatestCommonDivisor, 0);
-      }
-      removeUpstream(upstream) {
-        const upstreamOrigin = parseOrigin(upstream).origin;
-        const pool = this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true);
-        if (pool) {
-          this[kRemoveClient](pool);
+        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: context2
+            });
+          }
         }
-        return this;
       }
-      get upstreams() {
-        return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin);
+      onData(chunk) {
+        return this.res.push(chunk);
       }
-      [kGetDispatcher]() {
-        if (this[kClients].length === 0) {
-          throw new BalancedPoolMissingUpstreamError();
+      onComplete(trailers) {
+        util.parseHeaders(trailers, this.trailers);
+        this.res.push(null);
+      }
+      onError(err) {
+        const { res, callback, body, opaque } = this;
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        const dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain] && dispatcher2.closed !== true && dispatcher2.destroyed !== true);
-        if (!dispatcher) {
-          return;
+        if (res) {
+          this.res = null;
+          queueMicrotask(() => {
+            util.destroy(res, err);
+          });
         }
-        const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b) => a && b, true);
-        if (allClientsBusy) {
-          return;
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
         }
-        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;
-          }
+        if (this.removeAbortListener) {
+          res?.off("close", this.removeAbortListener);
+          this.removeAbortListener();
+          this.removeAbortListener = null;
         }
-        this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight];
-        this[kIndex] = maxWeightIndex;
-        return this[kClients][maxWeightIndex];
       }
     };
-    module2.exports = BalancedPool;
+    function request2(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve3, reject) => {
+          request2.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve3(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/compat/dispatcher-weakref.js
-var require_dispatcher_weakref2 = __commonJS({
-  "node_modules/undici/lib/compat/dispatcher-weakref.js"(exports2, module2) {
-    "use strict";
-    var { kConnected, kSize } = require_symbols6();
-    var CompatWeakRef = class {
-      constructor(value) {
-        this.value = value;
+// node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js
+var require_abort_signal2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
+    var { addAbortListener } = require_util9();
+    var { RequestAbortedError } = require_errors2();
+    var kListener = /* @__PURE__ */ Symbol("kListener");
+    var kSignal = /* @__PURE__ */ Symbol("kSignal");
+    function abort(self2) {
+      if (self2.abort) {
+        self2.abort(self2[kSignal]?.reason);
+      } else {
+        self2.reason = self2[kSignal]?.reason ?? new RequestAbortedError();
       }
-      deref() {
-        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
+      removeSignal(self2);
+    }
+    function addSignal(self2, signal) {
+      self2.reason = null;
+      self2[kSignal] = null;
+      self2[kListener] = null;
+      if (!signal) {
+        return;
       }
-    };
-    var CompatFinalizer = class {
-      constructor(finalizer) {
-        this.finalizer = finalizer;
+      if (signal.aborted) {
+        abort(self2);
+        return;
       }
-      register(dispatcher, key) {
-        if (dispatcher.on) {
-          dispatcher.on("disconnect", () => {
-            if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {
-              this.finalizer(key);
-            }
-          });
-        }
+      self2[kSignal] = signal;
+      self2[kListener] = () => {
+        abort(self2);
+      };
+      addAbortListener(self2[kSignal], self2[kListener]);
+    }
+    function removeSignal(self2) {
+      if (!self2[kSignal]) {
+        return;
       }
-    };
-    module2.exports = function() {
-      if (process.env.NODE_V8_COVERAGE) {
-        return {
-          WeakRef: CompatWeakRef,
-          FinalizationRegistry: CompatFinalizer
-        };
+      if ("removeEventListener" in self2[kSignal]) {
+        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      } else {
+        self2[kSignal].removeListener("abort", self2[kListener]);
       }
-      return {
-        WeakRef: global.WeakRef || CompatWeakRef,
-        FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer
-      };
+      self2[kSignal] = null;
+      self2[kListener] = null;
+    }
+    module2.exports = {
+      addSignal,
+      removeSignal
     };
   }
 });
 
-// node_modules/undici/lib/agent.js
-var require_agent2 = __commonJS({
-  "node_modules/undici/lib/agent.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/api/api-stream.js
+var require_api_stream2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
     "use strict";
-    var { InvalidArgumentError } = require_errors2();
-    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
-    var DispatcherBase = require_dispatcher_base2();
-    var Pool = require_pool2();
-    var Client = require_client2();
+    var assert = require("node:assert");
+    var { finished, PassThrough } = require("node:stream");
+    var { InvalidArgumentError, InvalidReturnValueError } = require_errors2();
     var util = require_util9();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var { WeakRef: WeakRef2, FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
-    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
-    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
-    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
-    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
-    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    var kFinalizer = /* @__PURE__ */ Symbol("finalizer");
-    var kOptions = /* @__PURE__ */ 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 };
+    var { getResolveErrorBodyCallback } = require_util11();
+    var { AsyncResource } = require("node:async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var StreamHandler = class extends AsyncResource {
+      constructor(opts, factory, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        this[kInterceptors] = options.interceptors && options.interceptors.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
-        this[kOptions] = { ...util.deepClone(options), connect };
-        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
-        this[kMaxRedirections] = maxRedirections;
-        this[kFactory] = factory;
-        this[kClients] = /* @__PURE__ */ new Map();
-        this[kFinalizer] = new FinalizationRegistry2(
-          /* istanbul ignore next: gc is undeterministic */
-          (key) => {
-            const ref = this[kClients].get(key);
-            if (ref !== void 0 && ref.deref() === void 0) {
-              this[kClients].delete(key);
-            }
-          }
-        );
-        const agent = this;
-        this[kOnDrain] = (origin, targets) => {
-          agent.emit("drain", origin, [agent, ...targets]);
-        };
-        this[kOnConnect] = (origin, targets) => {
-          agent.emit("connect", origin, [agent, ...targets]);
-        };
-        this[kOnDisconnect] = (origin, targets, err) => {
-          agent.emit("disconnect", origin, [agent, ...targets], err);
-        };
-        this[kOnConnectionError] = (origin, targets, err) => {
-          agent.emit("connectionError", origin, [agent, ...targets], err);
-        };
-      }
-      get [kRunning]() {
-        let ret = 0;
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            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.");
-        }
-        const ref = this[kClients].get(key);
-        let dispatcher = ref ? ref.deref() : null;
-        if (!dispatcher) {
-          dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
-          this[kClients].set(key, new WeakRef2(dispatcher));
-          this[kFinalizer].register(dispatcher, key);
-        }
-        return dispatcher.dispatch(opts, handler2);
-      }
-      async [kClose]() {
-        const closePromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            closePromises.push(client.close());
-          }
-        }
-        await Promise.all(closePromises);
-      }
-      async [kDestroy](err) {
-        const destroyPromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            destroyPromises.push(client.destroy(err));
-          }
-        }
-        await Promise.all(destroyPromises);
-      }
-    };
-    module2.exports = Agent;
-  }
-});
-
-// node_modules/undici/lib/api/readable.js
-var require_readable2 = __commonJS({
-  "node_modules/undici/lib/api/readable.js"(exports2, module2) {
-    "use strict";
-    var assert = require("assert");
-    var { Readable } = require("stream");
-    var { RequestAbortedError, NotSupportedError, InvalidArgumentError } = require_errors2();
-    var util = require_util9();
-    var { ReadableStreamFrom, toUSVString } = require_util9();
-    var Blob2;
-    var kConsume = /* @__PURE__ */ Symbol("kConsume");
-    var kReading = /* @__PURE__ */ Symbol("kReading");
-    var kBody = /* @__PURE__ */ Symbol("kBody");
-    var kAbort = /* @__PURE__ */ Symbol("abort");
-    var kContentType = /* @__PURE__ */ Symbol("kContentType");
-    var noop3 = () => {
-    };
-    module2.exports = class BodyReadable extends Readable {
-      constructor({
-        resume,
-        abort,
-        contentType = "",
-        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[kReading] = false;
-      }
-      destroy(err) {
-        if (this.destroyed) {
-          return this;
-        }
-        if (!err && !this._readableState.endEmitted) {
-          err = new RequestAbortedError();
-        }
-        if (err) {
-          this[kAbort]();
-        }
-        return super.destroy(err);
-      }
-      emit(ev, ...args) {
-        if (ev === "data") {
-          this._readableState.dataEmitted = true;
-        } else if (ev === "error") {
-          this._readableState.errorEmitted = true;
-        }
-        return super.emit(ev, ...args);
-      }
-      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 && this.readableLength === 0) {
-          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-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];
-      }
-      dump(opts) {
-        let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144;
-        const signal = opts && opts.signal;
-        if (signal) {
-          try {
-            if (typeof signal !== "object" || !("aborted" in signal)) {
-              throw new InvalidArgumentError("signal must be an AbortSignal");
-            }
-            util.throwIfAborted(signal);
-          } catch (err) {
-            return Promise.reject(err);
-          }
-        }
-        if (this.closed) {
-          return Promise.resolve(null);
-        }
-        return new Promise((resolve3, reject) => {
-          const signalListenerCleanup = signal ? util.addAbortListener(signal, () => {
-            this.destroy();
-          }) : noop3;
-          this.on("close", function() {
-            signalListenerCleanup();
-            if (signal && signal.aborted) {
-              reject(signal.reason || Object.assign(new Error("The operation was aborted"), { name: "AbortError" }));
-            } else {
-              resolve3(null);
-            }
-          }).on("error", noop3).on("data", function(chunk) {
-            limit -= chunk.length;
-            if (limit <= 0) {
-              this.destroy();
-            }
-          }).resume();
-        });
-      }
-    };
-    function isLocked(self2) {
-      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
-    }
-    function isUnusable(self2) {
-      return util.isDisturbed(self2) || isLocked(self2);
-    }
-    async function consume(stream, type2) {
-      if (isUnusable(stream)) {
-        throw new TypeError("unusable");
-      }
-      assert(!stream[kConsume]);
-      return new Promise((resolve3, reject) => {
-        stream[kConsume] = {
-          type: type2,
-          stream,
-          resolve: resolve3,
-          reject,
-          length: 0,
-          body: []
-        };
-        stream.on("error", function(err) {
-          consumeFinish(this[kConsume], err);
-        }).on("close", function() {
-          if (this[kConsume].body !== null) {
-            consumeFinish(this[kConsume], new RequestAbortedError());
-          }
-        });
-        process.nextTick(consumeStart, stream[kConsume]);
-      });
-    }
-    function consumeStart(consume2) {
-      if (consume2.body === null) {
-        return;
-      }
-      const { _readableState: state } = consume2.stream;
-      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 consumeEnd(consume2) {
-      const { type: type2, body, resolve: resolve3, stream, length } = consume2;
-      try {
-        if (type2 === "text") {
-          resolve3(toUSVString(Buffer.concat(body)));
-        } else if (type2 === "json") {
-          resolve3(JSON.parse(Buffer.concat(body)));
-        } else if (type2 === "arrayBuffer") {
-          const dst = new Uint8Array(length);
-          let pos = 0;
-          for (const buf of body) {
-            dst.set(buf, pos);
-            pos += buf.byteLength;
-          }
-          resolve3(dst.buffer);
-        } else if (type2 === "blob") {
-          if (!Blob2) {
-            Blob2 = require("buffer").Blob;
-          }
-          resolve3(new Blob2(body, { type: stream[kContentType] }));
-        }
-        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;
-    }
-  }
-});
-
-// node_modules/undici/lib/api/util.js
-var require_util11 = __commonJS({
-  "node_modules/undici/lib/api/util.js"(exports2, module2) {
-    var assert = require("assert");
-    var {
-      ResponseStatusCodeError
-    } = require_errors2();
-    var { toUSVString } = require_util9();
-    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
-      assert(body);
-      let chunks = [];
-      let limit = 0;
-      for await (const chunk of body) {
-        chunks.push(chunk);
-        limit += chunk.length;
-        if (limit > 128 * 1024) {
-          chunks = null;
-          break;
-        }
-      }
-      if (statusCode === 204 || !contentType || !chunks) {
-        process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
-        return;
-      }
-      try {
-        if (contentType.startsWith("application/json")) {
-          const payload = JSON.parse(toUSVString(Buffer.concat(chunks)));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
-        }
-        if (contentType.startsWith("text/")) {
-          const payload = toUSVString(Buffer.concat(chunks));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
-        }
-      } catch (err) {
-      }
-      process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
-    }
-    module2.exports = { getResolveErrorBodyCallback };
-  }
-});
-
-// node_modules/undici/lib/api/abort-signal.js
-var require_abort_signal2 = __commonJS({
-  "node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
-    var { addAbortListener } = require_util9();
-    var { RequestAbortedError } = require_errors2();
-    var kListener = /* @__PURE__ */ Symbol("kListener");
-    var kSignal = /* @__PURE__ */ Symbol("kSignal");
-    function abort(self2) {
-      if (self2.abort) {
-        self2.abort();
-      } else {
-        self2.onError(new RequestAbortedError());
-      }
-    }
-    function addSignal(self2, signal) {
-      self2[kSignal] = null;
-      self2[kListener] = null;
-      if (!signal) {
-        return;
-      }
-      if (signal.aborted) {
-        abort(self2);
-        return;
-      }
-      self2[kSignal] = signal;
-      self2[kListener] = () => {
-        abort(self2);
-      };
-      addAbortListener(self2[kSignal], self2[kListener]);
-    }
-    function removeSignal(self2) {
-      if (!self2[kSignal]) {
-        return;
-      }
-      if ("removeEventListener" in self2[kSignal]) {
-        self2[kSignal].removeEventListener("abort", self2[kListener]);
-      } else {
-        self2[kSignal].removeListener("abort", self2[kListener]);
-      }
-      self2[kSignal] = null;
-      self2[kListener] = null;
-    }
-    module2.exports = {
-      addSignal,
-      removeSignal
-    };
-  }
-});
-
-// node_modules/undici/lib/api/api-request.js
-var require_api_request2 = __commonJS({
-  "node_modules/undici/lib/api/api-request.js"(exports2, module2) {
-    "use strict";
-    var Readable = require_readable2();
-    var {
-      InvalidArgumentError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { getResolveErrorBodyCallback } = require_util11();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var RequestHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
         try {
           if (typeof callback !== "function") {
             throw new InvalidArgumentError("invalid callback");
           }
-          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
-            throw new InvalidArgumentError("invalid highWaterMark");
+          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");
@@ -30595,7 +31038,7 @@ var require_api_request2 = __commonJS({
           if (onInfo && typeof onInfo !== "function") {
             throw new InvalidArgumentError("invalid onInfo callback");
           }
-          super("UNDICI_REQUEST");
+          super("UNDICI_STREAM");
         } catch (err) {
           if (util.isStream(body)) {
             util.destroy(body.on("error", util.nop), err);
@@ -30604,15 +31047,15 @@ var require_api_request2 = __commonJS({
         }
         this.responseHeaders = responseHeaders || null;
         this.opaque = opaque || null;
+        this.factory = factory;
         this.callback = callback;
         this.res = null;
         this.abort = null;
-        this.body = body;
-        this.trailers = {};
         this.context = null;
+        this.trailers = null;
+        this.body = body;
         this.onInfo = onInfo || null;
-        this.throwOnError = throwOnError;
-        this.highWaterMark = highWaterMark;
+        this.throwOnError = throwOnError || false;
         if (util.isStream(body)) {
           body.on("error", (err) => {
             this.onError(err);
@@ -30621,14 +31064,16 @@ var require_api_request2 = __commonJS({
         addSignal(this, signal);
       }
       onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
+        assert(this.callback);
         this.abort = abort;
         this.context = context2;
       }
       onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const { callback, opaque, abort, context: context2, responseHeaders, highWaterMark } = this;
+        const { factory, opaque, context: context2, callback, responseHeaders } = this;
         const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
         if (statusCode < 200) {
           if (this.onInfo) {
@@ -30636,167 +31081,12 @@ var require_api_request2 = __commonJS({
           }
           return;
         }
-        const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
-        const contentType = parsedHeaders["content-type"];
-        const body = new Readable({ resume, abort, contentType, highWaterMark });
-        this.callback = null;
-        this.res = body;
-        if (callback !== null) {
-          if (this.throwOnError && statusCode >= 400) {
-            this.runInAsyncScope(
-              getResolveErrorBodyCallback,
-              null,
-              { callback, body, contentType, statusCode, statusMessage, headers }
-            );
-          } else {
-            this.runInAsyncScope(callback, null, null, {
-              statusCode,
-              headers,
-              trailers: this.trailers,
-              opaque,
-              body,
-              context: context2
-            });
-          }
-        }
-      }
-      onData(chunk) {
-        const { res } = this;
-        return res.push(chunk);
-      }
-      onComplete(trailers) {
-        const { res } = this;
-        removeSignal(this);
-        util.parseHeaders(trailers, this.trailers);
-        res.push(null);
-      }
-      onError(err) {
-        const { res, callback, body, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
-        if (res) {
-          this.res = null;
-          queueMicrotask(() => {
-            util.destroy(res, err);
-          });
-        }
-        if (body) {
-          this.body = null;
-          util.destroy(body, err);
-        }
-      }
-    };
-    function request2(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve3, reject) => {
-          request2.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve3(data);
-          });
-        });
-      }
-      try {
-        this.dispatch(opts, new RequestHandler(opts, callback));
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
-        }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
-      }
-    }
-    module2.exports = request2;
-    module2.exports.RequestHandler = RequestHandler;
-  }
-});
-
-// node_modules/undici/lib/api/api-stream.js
-var require_api_stream2 = __commonJS({
-  "node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
-    "use strict";
-    var { finished, PassThrough } = require("stream");
-    var {
-      InvalidArgumentError,
-      InvalidReturnValueError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { getResolveErrorBodyCallback } = require_util11();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var StreamHandler = class extends AsyncResource {
-      constructor(opts, factory, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
-        try {
-          if (typeof callback !== "function") {
-            throw new InvalidArgumentError("invalid callback");
-          }
-          if (typeof factory !== "function") {
-            throw new InvalidArgumentError("invalid factory");
-          }
-          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-          }
-          if (method === "CONNECT") {
-            throw new InvalidArgumentError("invalid method");
-          }
-          if (onInfo && typeof onInfo !== "function") {
-            throw new InvalidArgumentError("invalid onInfo callback");
-          }
-          super("UNDICI_STREAM");
-        } catch (err) {
-          if (util.isStream(body)) {
-            util.destroy(body.on("error", util.nop), err);
-          }
-          throw err;
-        }
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.factory = factory;
-        this.callback = callback;
-        this.res = null;
-        this.abort = null;
-        this.context = null;
-        this.trailers = null;
-        this.body = body;
-        this.onInfo = onInfo || null;
-        this.throwOnError = throwOnError || false;
-        if (util.isStream(body)) {
-          body.on("error", (err) => {
-            this.onError(err);
-          });
-        }
-        addSignal(this, signal);
-      }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
-      }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const { factory, opaque, context: context2, 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.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,
@@ -30831,7 +31121,7 @@ var require_api_stream2 = __commonJS({
         }
         res.on("drain", resume);
         this.res = res;
-        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState && res._writableState.needDrain;
+        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState?.needDrain;
         return needDrain !== true;
       }
       onData(chunk) {
@@ -30880,7 +31170,7 @@ var require_api_stream2 = __commonJS({
         if (typeof callback !== "function") {
           throw err;
         }
-        const opaque = opts && opts.opaque;
+        const opaque = opts?.opaque;
         queueMicrotask(() => callback(err, { opaque }));
       }
     }
@@ -30888,24 +31178,24 @@ var require_api_stream2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/api/api-pipeline.js
+// node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js
 var require_api_pipeline2 = __commonJS({
-  "node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
     "use strict";
     var {
       Readable,
       Duplex,
       PassThrough
-    } = require("stream");
+    } = require("node:stream");
     var {
       InvalidArgumentError,
       InvalidReturnValueError,
       RequestAbortedError
     } = require_errors2();
     var util = require_util9();
-    var { AsyncResource } = require("async_hooks");
+    var { AsyncResource } = require("node:async_hooks");
     var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
+    var assert = require("node:assert");
     var kResume = /* @__PURE__ */ Symbol("resume");
     var PipelineRequest = class extends Readable {
       constructor() {
@@ -30970,7 +31260,7 @@ var require_api_pipeline2 = __commonJS({
           autoDestroy: true,
           read: () => {
             const { body } = this;
-            if (body && body.resume) {
+            if (body?.resume) {
               body.resume();
             }
           },
@@ -31005,10 +31295,12 @@ var require_api_pipeline2 = __commonJS({
       }
       onConnect(abort, context2) {
         const { ret, res } = this;
-        assert(!res, "pipeline cannot be retried");
-        if (ret.destroyed) {
-          throw new RequestAbortedError();
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
+        assert(!res, "pipeline cannot be retried");
+        assert(!ret.destroyed);
         this.abort = abort;
         this.context = context2;
       }
@@ -31086,15 +31378,15 @@ var require_api_pipeline2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/api/api-upgrade.js
+// node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js
 var require_api_upgrade2 = __commonJS({
-  "node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
     "use strict";
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
-    var { AsyncResource } = require("async_hooks");
+    var { InvalidArgumentError, SocketError } = require_errors2();
+    var { AsyncResource } = require("node:async_hooks");
     var util = require_util9();
     var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
+    var assert = require("node:assert");
     var UpgradeHandler = class extends AsyncResource {
       constructor(opts, callback) {
         if (!opts || typeof opts !== "object") {
@@ -31116,9 +31408,11 @@ var require_api_upgrade2 = __commonJS({
         addSignal(this, signal);
       }
       onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
+        assert(this.callback);
         this.abort = abort;
         this.context = null;
       }
@@ -31126,8 +31420,8 @@ var require_api_upgrade2 = __commonJS({
         throw new SocketError("bad upgrade", null);
       }
       onUpgrade(statusCode, rawHeaders, socket) {
+        assert(statusCode === 101);
         const { callback, opaque, context: context2 } = this;
-        assert.strictEqual(statusCode, 101);
         removeSignal(this);
         this.callback = null;
         const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
@@ -31168,7 +31462,7 @@ var require_api_upgrade2 = __commonJS({
         if (typeof callback !== "function") {
           throw err;
         }
-        const opaque = opts && opts.opaque;
+        const opaque = opts?.opaque;
         queueMicrotask(() => callback(err, { opaque }));
       }
     }
@@ -31176,12 +31470,13 @@ var require_api_upgrade2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/api/api-connect.js
+// node_modules/@actions/github/node_modules/undici/lib/api/api-connect.js
 var require_api_connect2 = __commonJS({
-  "node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
     "use strict";
-    var { AsyncResource } = require("async_hooks");
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
+    var assert = require("node:assert");
+    var { AsyncResource } = require("node:async_hooks");
+    var { InvalidArgumentError, SocketError } = require_errors2();
     var util = require_util9();
     var { addSignal, removeSignal } = require_abort_signal2();
     var ConnectHandler = class extends AsyncResource {
@@ -31204,9 +31499,11 @@ var require_api_connect2 = __commonJS({
         addSignal(this, signal);
       }
       onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
+        assert(this.callback);
         this.abort = abort;
         this.context = context2;
       }
@@ -31255,7 +31552,7 @@ var require_api_connect2 = __commonJS({
         if (typeof callback !== "function") {
           throw err;
         }
-        const opaque = opts && opts.opaque;
+        const opaque = opts?.opaque;
         queueMicrotask(() => callback(err, { opaque }));
       }
     }
@@ -31263,9 +31560,9 @@ var require_api_connect2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/api/index.js
+// node_modules/@actions/github/node_modules/undici/lib/api/index.js
 var require_api2 = __commonJS({
-  "node_modules/undici/lib/api/index.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/api/index.js"(exports2, module2) {
     "use strict";
     module2.exports.request = require_api_request2();
     module2.exports.stream = require_api_stream2();
@@ -31275,11 +31572,12 @@ var require_api2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/mock-errors.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js
 var require_mock_errors2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
     "use strict";
     var { UndiciError } = require_errors2();
+    var kMockNotMatchedError = /* @__PURE__ */ Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED");
     var MockNotMatchedError = class _MockNotMatchedError extends UndiciError {
       constructor(message) {
         super(message);
@@ -31288,6 +31586,10 @@ var require_mock_errors2 = __commonJS({
         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
@@ -31295,9 +31597,9 @@ var require_mock_errors2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/mock-symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js
 var require_mock_symbols2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
     "use strict";
     module2.exports = {
       kAgent: /* @__PURE__ */ Symbol("agent"),
@@ -31323,9 +31625,9 @@ var require_mock_symbols2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/mock-utils.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js
 var require_mock_utils2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
     "use strict";
     var { MockNotMatchedError } = require_mock_errors2();
     var {
@@ -31335,13 +31637,13 @@ var require_mock_utils2 = __commonJS({
       kOrigin,
       kGetNetConnect
     } = require_mock_symbols2();
-    var { buildURL, nop } = require_util9();
-    var { STATUS_CODES } = require("http");
+    var { buildURL } = require_util9();
+    var { STATUS_CODES } = require("node:http");
     var {
       types: {
         isPromise
       }
-    } = require("util");
+    } = require("node:util");
     function matchValue(match, value) {
       if (typeof match === "string") {
         return match === value;
@@ -31426,6 +31728,10 @@ var require_mock_utils2 = __commonJS({
     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 {
@@ -31441,15 +31747,16 @@ var require_mock_utils2 = __commonJS({
       }
       matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method));
       if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`);
+        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}' on path '${resolvedPath}'`);
       }
       matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
       if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`);
+        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) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers}'`);
+        const headers = typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers;
+        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${headers}' on path '${resolvedPath}'`);
       }
       return matchedMockDispatches[0];
     }
@@ -31482,11 +31789,21 @@ var require_mock_utils2 = __commonJS({
       };
     }
     function generateKeyValues(data) {
-      return Object.entries(data).reduce((keyValuePairs, [key, value]) => [
-        ...keyValuePairs,
-        Buffer.from(`${key}`),
-        Array.isArray(value) ? value.map((x) => Buffer.from(`${x}`)) : Buffer.from(`${value}`)
-      ], []);
+      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";
@@ -31531,10 +31848,10 @@ var require_mock_utils2 = __commonJS({
         const responseData = getResponseData2(body);
         const responseHeaders = generateKeyValues(headers);
         const responseTrailers = generateKeyValues(trailers);
-        handler2.abort = nop;
-        handler2.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode));
-        handler2.onData(Buffer.from(responseData));
-        handler2.onComplete(responseTrailers);
+        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() {
@@ -31598,14 +31915,15 @@ var require_mock_utils2 = __commonJS({
       buildMockDispatch,
       checkNetConnect,
       buildMockOptions,
-      getHeaderByName
+      getHeaderByName,
+      buildHeadersFromArray
     };
   }
 });
 
-// node_modules/undici/lib/mock/mock-interceptor.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js
 var require_mock_interceptor2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
     "use strict";
     var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils2();
     var {
@@ -31678,46 +31996,47 @@ var require_mock_interceptor2 = __commonJS({
         this[kDefaultTrailers] = {};
         this[kContentLength] = false;
       }
-      createMockScopeDispatchData(statusCode, data, responseOptions = {}) {
+      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(statusCode, data, responseOptions) {
-        if (typeof statusCode === "undefined") {
+      validateReplyParameters(replyParameters) {
+        if (typeof replyParameters.statusCode === "undefined") {
           throw new InvalidArgumentError("statusCode must be defined");
         }
-        if (typeof data === "undefined") {
-          throw new InvalidArgumentError("data must be defined");
-        }
-        if (typeof responseOptions !== "object") {
+        if (typeof replyParameters.responseOptions !== "object" || replyParameters.responseOptions === null) {
           throw new InvalidArgumentError("responseOptions must be an object");
         }
       }
       /**
        * Mock an undici request with a defined reply.
        */
-      reply(replyData) {
-        if (typeof replyData === "function") {
+      reply(replyOptionsCallbackOrStatusCode) {
+        if (typeof replyOptionsCallbackOrStatusCode === "function") {
           const wrappedDefaultsCallback = (opts) => {
-            const resolvedData = replyData(opts);
-            if (typeof resolvedData !== "object") {
+            const resolvedData = replyOptionsCallbackOrStatusCode(opts);
+            if (typeof resolvedData !== "object" || resolvedData === null) {
               throw new InvalidArgumentError("reply options callback must return an object");
             }
-            const { statusCode: statusCode2, data: data2 = "", responseOptions: responseOptions2 = {} } = resolvedData;
-            this.validateReplyParameters(statusCode2, data2, responseOptions2);
+            const replyParameters2 = { data: "", responseOptions: {}, ...resolvedData };
+            this.validateReplyParameters(replyParameters2);
             return {
-              ...this.createMockScopeDispatchData(statusCode2, data2, responseOptions2)
+              ...this.createMockScopeDispatchData(replyParameters2)
             };
           };
           const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback);
           return new MockScope(newMockDispatch2);
         }
-        const [statusCode, data = "", responseOptions = {}] = [...arguments];
-        this.validateReplyParameters(statusCode, data, responseOptions);
-        const dispatchData = this.createMockScopeDispatchData(statusCode, data, responseOptions);
+        const 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);
       }
@@ -31764,11 +32083,11 @@ var require_mock_interceptor2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/mock-client.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js
 var require_mock_client2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
     "use strict";
-    var { promisify } = require("util");
+    var { promisify } = require("node:util");
     var Client = require_client2();
     var { buildMockDispatch } = require_mock_utils2();
     var {
@@ -31817,11 +32136,11 @@ var require_mock_client2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/mock-pool.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js
 var require_mock_pool2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
     "use strict";
-    var { promisify } = require("util");
+    var { promisify } = require("node:util");
     var Pool = require_pool2();
     var { buildMockDispatch } = require_mock_utils2();
     var {
@@ -31870,9 +32189,9 @@ var require_mock_pool2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/pluralizer.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/pluralizer.js
 var require_pluralizer2 = __commonJS({
-  "node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) {
     "use strict";
     var singulars = {
       pronoun: "it",
@@ -31901,12 +32220,14 @@ var require_pluralizer2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/pending-interceptors-formatter.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js
 var require_pending_interceptors_formatter2 = __commonJS({
-  "node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
     "use strict";
-    var { Transform } = require("stream");
-    var { Console } = require("console");
+    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({
@@ -31928,7 +32249,7 @@ var require_pending_interceptors_formatter2 = __commonJS({
             Origin: origin,
             Path: path4,
             "Status code": statusCode,
-            Persistent: persist ? "\u2705" : "\u274C",
+            Persistent: persist ? PERSISTENT : NOT_PERSISTENT,
             Invocations: timesInvoked,
             Remaining: persist ? Infinity : times - timesInvoked
           })
@@ -31940,9 +32261,9 @@ var require_pending_interceptors_formatter2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/mock-agent.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js
 var require_mock_agent2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
     "use strict";
     var { kClients } = require_symbols6();
     var Agent = require_agent2();
@@ -31964,23 +32285,15 @@ var require_mock_agent2 = __commonJS({
     var Dispatcher = require_dispatcher2();
     var Pluralizer = require_pluralizer2();
     var PendingInterceptorsFormatter = require_pending_interceptors_formatter2();
-    var FakeWeakRef = class {
-      constructor(value) {
-        this.value = value;
-      }
-      deref() {
-        return this.value;
-      }
-    };
     var MockAgent = class extends Dispatcher {
       constructor(opts) {
         super(opts);
         this[kNetConnect] = true;
         this[kIsMockActive] = true;
-        if (opts && opts.agent && typeof opts.agent.dispatch !== "function") {
+        if (opts?.agent && typeof opts.agent.dispatch !== "function") {
           throw new InvalidArgumentError("Argument opts.agent must implement Agent");
         }
-        const agent = opts && opts.agent ? opts.agent : new Agent(opts);
+        const agent = opts?.agent ? opts.agent : new Agent(opts);
         this[kAgent] = agent;
         this[kClients] = agent[kClients];
         this[kOptions] = buildMockOptions(opts);
@@ -32029,24 +32342,23 @@ var require_mock_agent2 = __commonJS({
         return this[kIsMockActive];
       }
       [kMockAgentSet](origin, dispatcher) {
-        this[kClients].set(origin, new FakeWeakRef(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 ref = this[kClients].get(origin);
-        if (ref) {
-          return ref.deref();
+        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, nonExplicitRef] of Array.from(this[kClients])) {
-          const nonExplicitDispatcher = nonExplicitRef.deref();
+        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);
@@ -32060,7 +32372,7 @@ var require_mock_agent2 = __commonJS({
       }
       pendingInterceptors() {
         const mockAgentClients = this[kClients];
-        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope.deref()[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
+        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
       }
       assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) {
         const pending = this.pendingInterceptors();
@@ -32079,428 +32391,9 @@ ${pendingInterceptorsFormatter.format(pending)}
   }
 });
 
-// node_modules/undici/lib/proxy-agent.js
-var require_proxy_agent2 = __commonJS({
-  "node_modules/undici/lib/proxy-agent.js"(exports2, module2) {
-    "use strict";
-    var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols6();
-    var { URL: URL2 } = require("url");
-    var Agent = require_agent2();
-    var Pool = require_pool2();
-    var DispatcherBase = require_dispatcher_base2();
-    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
-    var buildConnector = require_connect2();
-    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
-    var kClient = /* @__PURE__ */ Symbol("proxy client");
-    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
-    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
-    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
-    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
-    function defaultProtocolPort(protocol) {
-      return protocol === "https:" ? 443 : 80;
-    }
-    function buildProxyOptions(opts) {
-      if (typeof opts === "string") {
-        opts = { uri: opts };
-      }
-      if (!opts || !opts.uri) {
-        throw new InvalidArgumentError("Proxy opts.uri is mandatory");
-      }
-      return {
-        uri: opts.uri,
-        protocol: opts.protocol || "https"
-      };
-    }
-    function defaultFactory(origin, opts) {
-      return new Pool(origin, opts);
-    }
-    var ProxyAgent = class extends DispatcherBase {
-      constructor(opts) {
-        super(opts);
-        this[kProxy] = buildProxyOptions(opts);
-        this[kAgent] = new Agent(opts);
-        this[kInterceptors] = opts.interceptors && opts.interceptors.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : [];
-        if (typeof opts === "string") {
-          opts = { uri: opts };
-        }
-        if (!opts || !opts.uri) {
-          throw new InvalidArgumentError("Proxy opts.uri is mandatory");
-        }
-        const { clientFactory = defaultFactory } = opts;
-        if (typeof clientFactory !== "function") {
-          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
-        }
-        this[kRequestTls] = opts.requestTls;
-        this[kProxyTls] = opts.proxyTls;
-        this[kProxyHeaders] = opts.headers || {};
-        const resolvedUrl = new URL2(opts.uri);
-        const { origin, port, host, username, password } = resolvedUrl;
-        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 });
-        this[kClient] = clientFactory(resolvedUrl, { connect });
-        this[kAgent] = new Agent({
-          ...opts,
-          connect: async (opts2, callback) => {
-            let requestedHost = opts2.host;
-            if (!opts2.port) {
-              requestedHost += `:${defaultProtocolPort(opts2.protocol)}`;
-            }
-            try {
-              const { socket, statusCode } = await this[kClient].connect({
-                origin,
-                port,
-                path: requestedHost,
-                signal: opts2.signal,
-                headers: {
-                  ...this[kProxyHeaders],
-                  host
-                }
-              });
-              if (statusCode !== 200) {
-                socket.on("error", () => {
-                }).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) {
-              callback(err);
-            }
-          }
-        });
-      }
-      dispatch(opts, handler2) {
-        const { host } = new URL2(opts.origin);
-        const headers = buildHeaders(opts.headers);
-        throwIfProxyAuthIsSent(headers);
-        return this[kAgent].dispatch(
-          {
-            ...opts,
-            headers: {
-              ...headers,
-              host
-            }
-          },
-          handler2
-        );
-      }
-      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/handler/RetryHandler.js
-var require_RetryHandler = __commonJS({
-  "node_modules/undici/lib/handler/RetryHandler.js"(exports2, module2) {
-    var assert = require("assert");
-    var { kRetryHandlerDefaultRetry } = require_symbols6();
-    var { RequestRetryError } = require_errors2();
-    var { isDisturbed, parseHeaders, parseRangeHeader } = require_util9();
-    function calculateRetryAfterHeader(retryAfter) {
-      const current = Date.now();
-      const diff = new Date(retryAfter).getTime() - current;
-      return diff;
-    }
-    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;
-        this.abort = null;
-        this.aborted = false;
-        this.retryOpts = {
-          retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry],
-          retryAfter: retryAfter ?? true,
-          maxTimeout: maxTimeout ?? 30 * 1e3,
-          // 30s,
-          timeout: 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"
-          ]
-        };
-        this.retryCount = 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,
-          timeout,
-          maxTimeout,
-          timeoutFactor,
-          statusCodes,
-          errorCodes,
-          methods
-        } = retryOptions;
-        let { counter, currentTimeout } = state;
-        currentTimeout = currentTimeout != null && currentTimeout > 0 ? currentTimeout : timeout;
-        if (code && code !== "UND_ERR_REQ_RETRY" && code !== "UND_ERR_SOCKET" && !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 != null && headers["retry-after"];
-        if (retryAfterHeader) {
-          retryAfterHeader = Number(retryAfterHeader);
-          retryAfterHeader = isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3;
-        }
-        const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(currentTimeout * timeoutFactor ** counter, maxTimeout);
-        state.currentTimeout = retryTimeout;
-        setTimeout(() => cb(null), retryTimeout);
-      }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const headers = parseHeaders(rawHeaders);
-        this.retryCount += 1;
-        if (statusCode >= 300) {
-          this.abort(
-            new RequestRetryError("Request failed", statusCode, {
-              headers,
-              count: this.retryCount
-            })
-          );
-          return false;
-        }
-        if (this.resume != null) {
-          this.resume = null;
-          if (statusCode !== 206) {
-            return true;
-          }
-          const contentRange = parseRangeHeader(headers["content-range"]);
-          if (!contentRange) {
-            this.abort(
-              new RequestRetryError("Content-Range mismatch", statusCode, {
-                headers,
-                count: this.retryCount
-              })
-            );
-            return false;
-          }
-          if (this.etag != null && this.etag !== headers.etag) {
-            this.abort(
-              new RequestRetryError("ETag mismatch", statusCode, {
-                headers,
-                count: this.retryCount
-              })
-            );
-            return false;
-          }
-          const { start, size, end = size } = 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 } = range;
-            assert(
-              start != null && Number.isFinite(start) && this.start !== start,
-              "content-range mismatch"
-            );
-            assert(Number.isFinite(start));
-            assert(
-              end != null && Number.isFinite(end) && this.end !== 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) : 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;
-          return this.handler.onHeaders(
-            statusCode,
-            rawHeaders,
-            resume,
-            statusMessage
-          );
-        }
-        const err = new RequestRetryError("Request failed", statusCode, {
-          headers,
-          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);
-        }
-        this.retryOpts.retry(
-          err,
-          {
-            state: { counter: this.retryCount++, currentTimeout: this.retryAfter },
-            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) {
-            this.opts = {
-              ...this.opts,
-              headers: {
-                ...this.opts.headers,
-                range: `bytes=${this.start}-${this.end ?? ""}`
-              }
-            };
-          }
-          try {
-            this.dispatch(this.opts, this);
-          } catch (err3) {
-            this.handler.onError(err3);
-          }
-        }
-      }
-    };
-    module2.exports = RetryHandler;
-  }
-});
-
-// node_modules/undici/lib/global.js
+// node_modules/@actions/github/node_modules/undici/lib/global.js
 var require_global4 = __commonJS({
-  "node_modules/undici/lib/global.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/global.js"(exports2, module2) {
     "use strict";
     var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
     var { InvalidArgumentError } = require_errors2();
@@ -32529,62 +32422,505 @@ var require_global4 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/handler/DecoratorHandler.js
-var require_DecoratorHandler = __commonJS({
-  "node_modules/undici/lib/handler/DecoratorHandler.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/handler/decorator-handler.js
+var require_decorator_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/decorator-handler.js"(exports2, module2) {
     "use strict";
     module2.exports = class DecoratorHandler {
+      #handler;
       constructor(handler2) {
-        this.handler = 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);
+        return this.#handler.onConnect?.(...args);
       }
       onError(...args) {
-        return this.handler.onError(...args);
+        return this.#handler.onError?.(...args);
       }
       onUpgrade(...args) {
-        return this.handler.onUpgrade(...args);
+        return this.#handler.onUpgrade?.(...args);
+      }
+      onResponseStarted(...args) {
+        return this.#handler.onResponseStarted?.(...args);
       }
       onHeaders(...args) {
-        return this.handler.onHeaders(...args);
+        return this.#handler.onHeaders?.(...args);
       }
       onData(...args) {
-        return this.handler.onData(...args);
+        return this.#handler.onData?.(...args);
       }
       onComplete(...args) {
-        return this.handler.onComplete(...args);
+        return this.#handler.onComplete?.(...args);
       }
       onBodySent(...args) {
-        return this.handler.onBodySent(...args);
+        return this.#handler.onBodySent?.(...args);
       }
     };
   }
 });
 
-// node_modules/undici/lib/fetch/headers.js
-var require_headers2 = __commonJS({
-  "node_modules/undici/lib/fetch/headers.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js
+var require_redirect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js"(exports2, module2) {
     "use strict";
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var { kGuard } = require_symbols7();
-    var { kEnumerableProperty } = require_util9();
-    var {
-      makeIterator,
-      isValidHeaderName,
-      isValidHeaderValue
-    } = require_util10();
-    var util = require("util");
-    var { webidl } = require_webidl2();
-    var assert = require("assert");
-    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
-    var kHeadersSortedMap = /* @__PURE__ */ 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;
+    var RedirectHandler = require_redirect_handler2();
+    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/@actions/github/node_modules/undici/lib/interceptor/retry.js
+var require_retry2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js"(exports2, module2) {
+    "use strict";
+    var RetryHandler = require_retry_handler2();
+    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/@actions/github/node_modules/undici/lib/interceptor/dump.js
+var require_dump2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/dump.js"(exports2, module2) {
+    "use strict";
+    var util = require_util9();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
+    var DecoratorHandler = require_decorator_handler2();
+    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/@actions/github/node_modules/undici/lib/interceptor/dns.js
+var require_dns2 = __commonJS({
+  "node_modules/@actions/github/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_handler2();
+    var { InvalidArgumentError, InformationalError } = require_errors2();
+    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 timestamp2 = Date.now();
+        const records = { records: { 4: null, 6: null } };
+        for (const record of addresses) {
+          record.timestamp = timestamp2;
+          if (typeof record.ttl === "number") {
+            record.ttl = Math.min(record.ttl, this.#maxTTL);
+          } else {
+            record.ttl = this.#maxTTL;
+          }
+          const familyRecords = records.records[record.family] ?? { ips: [] };
+          familyRecords.ips.push(record);
+          records.records[record.family] = familyRecords;
+        }
+        this.#records.set(origin.hostname, records);
+      }
+      getHandler(meta, opts) {
+        return new DNSDispatchHandler(this, meta, opts);
+      }
+    };
+    var DNSDispatchHandler = class extends DecoratorHandler {
+      #state = null;
+      #opts = null;
+      #dispatch = null;
+      #handler = null;
+      #origin = null;
+      constructor(state, { origin, handler: handler2, dispatch }, opts) {
+        super(handler2);
+        this.#origin = origin;
+        this.#handler = handler2;
+        this.#opts = { ...opts };
+        this.#state = state;
+        this.#dispatch = dispatch;
+      }
+      onError(err) {
+        switch (err.code) {
+          case "ETIMEDOUT":
+          case "ECONNREFUSED": {
+            if (this.#state.dualStack) {
+              this.#state.runLookup(this.#origin, this.#opts, (err2, newOrigin) => {
+                if (err2) {
+                  return this.#handler.onError(err2);
+                }
+                const dispatchOpts = {
+                  ...this.#opts,
+                  origin: newOrigin
+                };
+                this.#dispatch(dispatchOpts, this);
+              });
+              return;
+            }
+            this.#handler.onError(err);
+            return;
+          }
+          case "ENOTFOUND":
+            this.#state.deleteRecord(this.#origin);
+          // eslint-disable-next-line no-fallthrough
+          default:
+            this.#handler.onError(err);
+            break;
+        }
+      }
+    };
+    module2.exports = (interceptorOpts) => {
+      if (interceptorOpts?.maxTTL != null && (typeof interceptorOpts?.maxTTL !== "number" || interceptorOpts?.maxTTL < 0)) {
+        throw new InvalidArgumentError("Invalid maxTTL. Must be a positive number");
+      }
+      if (interceptorOpts?.maxItems != null && (typeof interceptorOpts?.maxItems !== "number" || interceptorOpts?.maxItems < 1)) {
+        throw new InvalidArgumentError(
+          "Invalid maxItems. Must be a positive number and greater than zero"
+        );
+      }
+      if (interceptorOpts?.affinity != null && interceptorOpts?.affinity !== 4 && interceptorOpts?.affinity !== 6) {
+        throw new InvalidArgumentError("Invalid affinity. Must be either 4 or 6");
+      }
+      if (interceptorOpts?.dualStack != null && typeof interceptorOpts?.dualStack !== "boolean") {
+        throw new InvalidArgumentError("Invalid dualStack. Must be a boolean");
+      }
+      if (interceptorOpts?.lookup != null && typeof interceptorOpts?.lookup !== "function") {
+        throw new InvalidArgumentError("Invalid lookup. Must be a function");
+      }
+      if (interceptorOpts?.pick != null && typeof interceptorOpts?.pick !== "function") {
+        throw new InvalidArgumentError("Invalid pick. Must be a function");
+      }
+      const dualStack = interceptorOpts?.dualStack ?? true;
+      let affinity;
+      if (dualStack) {
+        affinity = interceptorOpts?.affinity ?? null;
+      } else {
+        affinity = interceptorOpts?.affinity ?? 4;
+      }
+      const opts = {
+        maxTTL: interceptorOpts?.maxTTL ?? 1e4,
+        // Expressed in ms
+        lookup: interceptorOpts?.lookup ?? null,
+        pick: interceptorOpts?.pick ?? null,
+        dualStack,
+        affinity,
+        maxItems: interceptorOpts?.maxItems ?? Infinity
+      };
+      const instance = new DNSInstance(opts);
+      return (dispatch) => {
+        return function dnsInterceptor(origDispatchOpts, handler2) {
+          const origin = origDispatchOpts.origin.constructor === URL ? origDispatchOpts.origin : new URL(origDispatchOpts.origin);
+          if (isIP(origin.hostname) !== 0) {
+            return dispatch(origDispatchOpts, handler2);
+          }
+          instance.runLookup(origin, origDispatchOpts, (err, newOrigin) => {
+            if (err) {
+              return handler2.onError(err);
+            }
+            let dispatchOpts = null;
+            dispatchOpts = {
+              ...origDispatchOpts,
+              servername: origin.hostname,
+              // For SNI on TLS
+              origin: newOrigin,
+              headers: {
+                host: origin.hostname,
+                ...origDispatchOpts.headers
+              }
+            };
+            dispatch(
+              dispatchOpts,
+              instance.getHandler({ origin, dispatch, handler: handler2 }, origDispatchOpts)
+            );
+          });
+          return true;
+        };
+      };
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js
+var require_headers2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols6();
+    var { kEnumerableProperty } = require_util9();
+    var {
+      iteratorMixin,
+      isValidHeaderName,
+      isValidHeaderValue
+    } = require_util10();
+    var { webidl } = require_webidl2();
+    var assert = require("node:assert");
+    var util = require("node:util");
+    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
+    var kHeadersSortedMap = /* @__PURE__ */ 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);
@@ -32629,11 +32965,13 @@ var require_headers2 = __commonJS({
           type: "header value"
         });
       }
-      if (headers[kGuard] === "immutable") {
+      if (getHeadersGuard(headers) === "immutable") {
         throw new TypeError("immutable");
-      } else if (headers[kGuard] === "request-no-cors") {
       }
-      return headers[kHeadersList].append(name, value);
+      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} */
@@ -32648,20 +32986,28 @@ var require_headers2 = __commonJS({
           this[kHeadersSortedMap] = null;
         }
       }
-      // https://fetch.spec.whatwg.org/#header-list-contains
-      contains(name) {
-        name = name.toLowerCase();
-        return this[kHeadersMap].has(name);
+      /**
+       * @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;
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-append
-      append(name, value) {
+      /**
+       * @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 = name.toLowerCase();
+        const lowercaseName = isLowerCase ? name : name.toLowerCase();
         const exists = this[kHeadersMap].get(lowercaseName);
         if (exists) {
           const delimiter = lowercaseName === "cookie" ? "; " : ", ";
@@ -32673,73 +33019,155 @@ var require_headers2 = __commonJS({
           this[kHeadersMap].set(lowercaseName, { name, value });
         }
         if (lowercaseName === "set-cookie") {
-          this.cookies ??= [];
-          this.cookies.push(value);
+          (this.cookies ??= []).push(value);
         }
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-set
-      set(name, 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 = name.toLowerCase();
+        const lowercaseName = isLowerCase ? name : name.toLowerCase();
         if (lowercaseName === "set-cookie") {
           this.cookies = [value];
         }
         this[kHeadersMap].set(lowercaseName, { name, value });
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-delete
-      delete(name) {
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-delete
+       * @param {string} name
+       * @param {boolean} isLowerCase
+       */
+      delete(name, isLowerCase) {
         this[kHeadersSortedMap] = null;
-        name = name.toLowerCase();
+        if (!isLowerCase) name = name.toLowerCase();
         if (name === "set-cookie") {
           this.cookies = null;
         }
         this[kHeadersMap].delete(name);
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-get
-      get(name) {
-        const value = this[kHeadersMap].get(name.toLowerCase());
-        return value === void 0 ? null : value.value;
+      /**
+       * @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 [name, { value }] of this[kHeadersMap]) {
+        for (const { 0: name, 1: { value } } of this[kHeadersMap]) {
           yield [name, value];
         }
       }
       get entries() {
         const headers = {};
-        if (this[kHeadersMap].size) {
+        if (this[kHeadersMap].size !== 0) {
           for (const { name, value } of this[kHeadersMap].values()) {
             headers[name] = value;
           }
         }
         return headers;
       }
-    };
-    var Headers = class _Headers {
-      constructor(init = void 0) {
-        if (init === kConstruct) {
+      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[kHeadersList] = new HeadersList();
-        this[kGuard] = "none";
+        this.#headersList = new HeadersList();
+        this.#guard = "none";
         if (init !== void 0) {
-          init = webidl.converters.HeadersInit(init);
+          init = webidl.converters.HeadersInit(init, "Headers contructor", "init");
           fill(this, init);
         }
       }
       // https://fetch.spec.whatwg.org/#dom-headers-append
       append(name, value) {
         webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.append" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
+        webidl.argumentLengthCheck(arguments, 2, "Headers.append");
+        const prefix = "Headers.append";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        value = webidl.converters.ByteString(value, prefix, "value");
         return appendHeader(this, name, value);
       }
       // https://fetch.spec.whatwg.org/#dom-headers-delete
       delete(name) {
         webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.delete" });
-        name = webidl.converters.ByteString(name);
+        webidl.argumentLengthCheck(arguments, 1, "Headers.delete");
+        const prefix = "Headers.delete";
+        name = webidl.converters.ByteString(name, prefix, "name");
         if (!isValidHeaderName(name)) {
           throw webidl.errors.invalidArgument({
             prefix: "Headers.delete",
@@ -32747,73 +33175,74 @@ var require_headers2 = __commonJS({
             type: "header name"
           });
         }
-        if (this[kGuard] === "immutable") {
+        if (this.#guard === "immutable") {
           throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
         }
-        if (!this[kHeadersList].contains(name)) {
+        if (!this.#headersList.contains(name, false)) {
           return;
         }
-        this[kHeadersList].delete(name);
+        this.#headersList.delete(name, false);
       }
       // https://fetch.spec.whatwg.org/#dom-headers-get
       get(name) {
         webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.get" });
-        name = webidl.converters.ByteString(name);
+        webidl.argumentLengthCheck(arguments, 1, "Headers.get");
+        const prefix = "Headers.get";
+        name = webidl.converters.ByteString(name, prefix, "name");
         if (!isValidHeaderName(name)) {
           throw webidl.errors.invalidArgument({
-            prefix: "Headers.get",
+            prefix,
             value: name,
             type: "header name"
           });
         }
-        return this[kHeadersList].get(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, { header: "Headers.has" });
-        name = webidl.converters.ByteString(name);
+        webidl.argumentLengthCheck(arguments, 1, "Headers.has");
+        const prefix = "Headers.has";
+        name = webidl.converters.ByteString(name, prefix, "name");
         if (!isValidHeaderName(name)) {
           throw webidl.errors.invalidArgument({
-            prefix: "Headers.has",
+            prefix,
             value: name,
             type: "header name"
           });
         }
-        return this[kHeadersList].contains(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, { header: "Headers.set" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
+        webidl.argumentLengthCheck(arguments, 2, "Headers.set");
+        const prefix = "Headers.set";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        value = webidl.converters.ByteString(value, prefix, "value");
         value = headerValueNormalize(value);
         if (!isValidHeaderName(name)) {
           throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
+            prefix,
             value: name,
             type: "header name"
           });
         } else if (!isValidHeaderValue(value)) {
           throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
+            prefix,
             value,
             type: "header value"
           });
         }
-        if (this[kGuard] === "immutable") {
+        if (this.#guard === "immutable") {
           throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
         }
-        this[kHeadersList].set(name, value);
+        this.#headersList.set(name, value, false);
       }
       // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
       getSetCookie() {
         webidl.brandCheck(this, _Headers);
-        const list = this[kHeadersList].cookies;
+        const list = this.#headersList.cookies;
         if (list) {
           return [...list];
         }
@@ -32821,96 +33250,50 @@ var require_headers2 = __commonJS({
       }
       // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
       get [kHeadersSortedMap]() {
-        if (this[kHeadersList][kHeadersSortedMap]) {
-          return this[kHeadersList][kHeadersSortedMap];
+        if (this.#headersList[kHeadersSortedMap]) {
+          return this.#headersList[kHeadersSortedMap];
         }
         const headers = [];
-        const names = [...this[kHeadersList]].sort((a, b) => a[0] < b[0] ? -1 : 1);
-        const cookies = this[kHeadersList].cookies;
+        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 [name, value] = names[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 {
-            assert(value !== null);
             headers.push([name, value]);
           }
         }
-        this[kHeadersList][kHeadersSortedMap] = headers;
-        return headers;
+        return this.#headersList[kHeadersSortedMap] = headers;
       }
-      keys() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key"
-        );
+      [util.inspect.custom](depth, options) {
+        options.depth ??= depth;
+        return `Headers ${util.formatWithOptions(options, this.#headersList.entries)}`;
       }
-      values() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "value"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "value"
-        );
+      static getHeadersGuard(o) {
+        return o.#guard;
       }
-      entries() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key+value"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key+value"
-        );
+      static setHeadersGuard(o, guard) {
+        o.#guard = guard;
       }
-      /**
-       * @param {(value: string, key: string, self: Headers) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'."
-          );
-        }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
-        }
+      static getHeadersList(o) {
+        return o.#headersList;
       }
-      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")]() {
-        webidl.brandCheck(this, _Headers);
-        return this[kHeadersList];
+      static setHeadersList(o, list) {
+        o.#headersList = list;
       }
     };
-    Headers.prototype[Symbol.iterator] = Headers.prototype.entries;
+    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,
@@ -32918,11 +33301,6 @@ var require_headers2 = __commonJS({
       has: kEnumerableProperty,
       set: kEnumerableProperty,
       getSetCookie: kEnumerableProperty,
-      keys: kEnumerableProperty,
-      values: kEnumerableProperty,
-      entries: kEnumerableProperty,
-      forEach: kEnumerableProperty,
-      [Symbol.iterator]: { enumerable: false },
       [Symbol.toStringTag]: {
         value: "Headers",
         configurable: true
@@ -32931,12 +33309,19 @@ var require_headers2 = __commonJS({
         enumerable: false
       }
     });
-    webidl.converters.HeadersInit = function(V) {
+    webidl.converters.HeadersInit = function(V, prefix, argument) {
       if (webidl.util.Type(V) === "Object") {
-        if (V[Symbol.iterator]) {
-          return webidl.converters["sequence>"](V);
+        const iterator2 = Reflect.get(V, Symbol.iterator);
+        if (!util.types.isProxy(V) && iterator2 === Headers.prototype.entries) {
+          try {
+            return getHeadersList(V).entriesList;
+          } catch {
+          }
         }
-        return webidl.converters["record"](V);
+        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",
@@ -32946,19 +33331,26 @@ var require_headers2 = __commonJS({
     };
     module2.exports = {
       fill,
+      // for test.
+      compareHeaderName,
       Headers,
-      HeadersList
+      HeadersList,
+      getHeadersGuard,
+      setHeadersGuard,
+      setHeadersList,
+      getHeadersList
     };
   }
 });
 
-// node_modules/undici/lib/fetch/response.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js
 var require_response2 = __commonJS({
-  "node_modules/undici/lib/fetch/response.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js"(exports2, module2) {
     "use strict";
-    var { Headers, HeadersList, fill } = require_headers2();
-    var { extractBody, cloneBody, mixinBody } = require_body2();
+    var { Headers, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers2();
+    var { extractBody, cloneBody, mixinBody, hasFinalizationRegistry, streamRegistry, bodyUnusable } = require_body2();
     var util = require_util9();
+    var nodeUtil = require("node:util");
     var { kEnumerableProperty } = util;
     var {
       isValidReasonPhrase,
@@ -32967,38 +33359,30 @@ var require_response2 = __commonJS({
       isBlobLike,
       serializeJavascriptValueToJSONString,
       isErrorLike,
-      isomorphicEncode
+      isomorphicEncode,
+      environmentSettingsObject: relevantRealm
     } = require_util10();
     var {
       redirectStatusSet,
-      nullBodyStatus,
-      DOMException: DOMException2
-    } = require_constants7();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
+      nullBodyStatus
+    } = require_constants8();
+    var { kState, kHeaders } = require_symbols7();
     var { webidl } = require_webidl2();
     var { FormData: FormData2 } = require_formdata2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { types } = require("util");
-    var ReadableStream2 = globalThis.ReadableStream || require("stream/web").ReadableStream;
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    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 relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kState] = makeNetworkError();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = responseObject[kState].headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
+        const responseObject = fromInnerResponse(makeNetworkError(), "immutable");
         return responseObject;
       }
       // https://fetch.spec.whatwg.org/#dom-response-json
       static json(data, init = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.json" });
+        webidl.argumentLengthCheck(arguments, 1, "Response.json");
         if (init !== null) {
           init = webidl.converters.ResponseInit(init);
         }
@@ -33006,52 +33390,44 @@ var require_response2 = __commonJS({
           serializeJavascriptValueToJSONString(data)
         );
         const body = extractBody(bytes);
-        const relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "response";
-        responseObject[kHeaders][kRealm] = relevantRealm;
+        const responseObject = fromInnerResponse(makeResponse({}), "response");
         initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
         return responseObject;
       }
       // Creates a redirect Response that redirects to url with status status.
       static redirect(url, status = 302) {
-        const relevantRealm = { settingsObject: {} };
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.redirect" });
+        webidl.argumentLengthCheck(arguments, 1, "Response.redirect");
         url = webidl.converters.USVString(url);
         status = webidl.converters["unsigned short"](status);
         let parsedURL;
         try {
-          parsedURL = new URL(url, getGlobalOrigin());
+          parsedURL = new URL(url, relevantRealm.settingsObject.baseUrl);
         } catch (err) {
-          throw Object.assign(new TypeError("Failed to parse URL from " + url), {
-            cause: err
-          });
+          throw new TypeError(`Failed to parse URL from ${url}`, { cause: err });
         }
         if (!redirectStatusSet.has(status)) {
-          throw new RangeError("Invalid status code " + status);
+          throw new RangeError(`Invalid status code ${status}`);
         }
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
+        const responseObject = fromInnerResponse(makeResponse({}), "immutable");
         responseObject[kState].status = status;
         const value = isomorphicEncode(URLSerializer(parsedURL));
-        responseObject[kState].headersList.append("location", value);
+        responseObject[kState].headersList.append("location", value, true);
         return responseObject;
       }
       // https://fetch.spec.whatwg.org/#dom-response
       constructor(body = null, init = {}) {
+        webidl.util.markAsUncloneable(this);
+        if (body === kConstruct) {
+          return;
+        }
         if (body !== null) {
           body = webidl.converters.BodyInit(body);
         }
         init = webidl.converters.ResponseInit(init);
-        this[kRealm] = { settingsObject: {} };
         this[kState] = makeResponse({});
         this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kGuard] = "response";
-        this[kHeaders][kHeadersList] = this[kState].headersList;
-        this[kHeaders][kRealm] = this[kRealm];
+        setHeadersGuard(this[kHeaders], "response");
+        setHeadersList(this[kHeaders], this[kState].headersList);
         let bodyWithType = null;
         if (body != null) {
           const [extractedBody, type2] = extractBody(body);
@@ -33110,20 +33486,35 @@ var require_response2 = __commonJS({
       // Returns a clone of response.
       clone() {
         webidl.brandCheck(this, _Response);
-        if (this.bodyUsed || this.body && this.body.locked) {
+        if (bodyUnusable(this)) {
           throw webidl.errors.exception({
             header: "Response.clone",
             message: "Body has already been consumed."
           });
         }
         const clonedResponse = cloneResponse(this[kState]);
-        const clonedResponseObject = new _Response();
-        clonedResponseObject[kState] = clonedResponse;
-        clonedResponseObject[kRealm] = this[kRealm];
-        clonedResponseObject[kHeaders][kHeadersList] = clonedResponse.headersList;
-        clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm];
-        return clonedResponseObject;
+        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);
@@ -33157,7 +33548,7 @@ var require_response2 = __commonJS({
       }
       const newResponse = makeResponse({ ...response, body: null });
       if (response.body != null) {
-        newResponse.body = cloneBody(response.body);
+        newResponse.body = cloneBody(newResponse, response.body);
       }
       return newResponse;
     }
@@ -33173,8 +33564,8 @@ var require_response2 = __commonJS({
         cacheState: "",
         statusText: "",
         ...init,
-        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList(),
-        urlList: init.urlList ? [...init.urlList] : []
+        headersList: init?.headersList ? new HeadersList(init?.headersList) : new HeadersList(),
+        urlList: init?.urlList ? [...init.urlList] : []
       };
     }
     function makeNetworkError(reason) {
@@ -33186,6 +33577,13 @@ var require_response2 = __commonJS({
         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,
@@ -33235,7 +33633,7 @@ var require_response2 = __commonJS({
     }
     function makeAppropriateNetworkError(fetchParams, err = null) {
       assert(isCancelled(fetchParams));
-      return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException2("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException2("Request was cancelled."), { cause: err }));
+      return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException("Request was cancelled."), { cause: err }));
     }
     function initializeResponse(response, init, body) {
       if (init.status !== null && (init.status < 200 || init.status > 599)) {
@@ -33259,17 +33657,28 @@ var require_response2 = __commonJS({
         if (nullBodyStatus.includes(response.status)) {
           throw webidl.errors.exception({
             header: "Response constructor",
-            message: "Invalid response status code " + response.status
+            message: `Invalid response status code ${response.status}`
           });
         }
         response[kState].body = body.body;
-        if (body.type != null && !response[kState].headersList.contains("Content-Type")) {
-          response[kState].headersList.append("content-type", body.type);
+        if (body.type != null && !response[kState].headersList.contains("content-type", true)) {
+          response[kState].headersList.append("content-type", body.type, true);
         }
       }
     }
+    function fromInnerResponse(innerResponse, guard) {
+      const response = new Response(kConstruct);
+      response[kState] = innerResponse;
+      response[kHeaders] = new Headers(kConstruct);
+      setHeadersList(response[kHeaders], innerResponse.headersList);
+      setHeadersGuard(response[kHeaders], guard);
+      if (hasFinalizationRegistry && innerResponse.body?.stream) {
+        streamRegistry.register(response, new WeakRef(innerResponse.body.stream));
+      }
+      return response;
+    }
     webidl.converters.ReadableStream = webidl.interfaceConverter(
-      ReadableStream2
+      ReadableStream
     );
     webidl.converters.FormData = webidl.interfaceConverter(
       FormData2
@@ -33277,43 +33686,43 @@ var require_response2 = __commonJS({
     webidl.converters.URLSearchParams = webidl.interfaceConverter(
       URLSearchParams
     );
-    webidl.converters.XMLHttpRequestBodyInit = function(V) {
+    webidl.converters.XMLHttpRequestBodyInit = function(V, prefix, name) {
       if (typeof V === "string") {
-        return webidl.converters.USVString(V);
+        return webidl.converters.USVString(V, prefix, name);
       }
       if (isBlobLike(V)) {
-        return webidl.converters.Blob(V, { strict: false });
+        return webidl.converters.Blob(V, prefix, name, { strict: false });
       }
-      if (types.isArrayBuffer(V) || types.isTypedArray(V) || types.isDataView(V)) {
-        return webidl.converters.BufferSource(V);
+      if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) {
+        return webidl.converters.BufferSource(V, prefix, name);
       }
       if (util.isFormDataLike(V)) {
-        return webidl.converters.FormData(V, { strict: false });
+        return webidl.converters.FormData(V, prefix, name, { strict: false });
       }
       if (V instanceof URLSearchParams) {
-        return webidl.converters.URLSearchParams(V);
+        return webidl.converters.URLSearchParams(V, prefix, name);
       }
-      return webidl.converters.DOMString(V);
+      return webidl.converters.DOMString(V, prefix, name);
     };
-    webidl.converters.BodyInit = function(V) {
-      if (V instanceof ReadableStream2) {
-        return webidl.converters.ReadableStream(V);
+    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);
+      return webidl.converters.XMLHttpRequestBodyInit(V, prefix, argument);
     };
     webidl.converters.ResponseInit = webidl.dictionaryConverter([
       {
         key: "status",
         converter: webidl.converters["unsigned short"],
-        defaultValue: 200
+        defaultValue: () => 200
       },
       {
         key: "statusText",
         converter: webidl.converters.ByteString,
-        defaultValue: ""
+        defaultValue: () => ""
       },
       {
         key: "headers",
@@ -33321,30 +33730,73 @@ var require_response2 = __commonJS({
       }
     ]);
     module2.exports = {
+      isNetworkError,
       makeNetworkError,
       makeResponse,
       makeAppropriateNetworkError,
       filterResponse,
       Response,
-      cloneResponse
+      cloneResponse,
+      fromInnerResponse
     };
   }
 });
 
-// node_modules/undici/lib/fetch/request.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js
+var require_dispatcher_weakref2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js"(exports2, module2) {
+    "use strict";
+    var { kConnected, kSize } = require_symbols6();
+    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/@actions/github/node_modules/undici/lib/web/fetch/request.js
 var require_request4 = __commonJS({
-  "node_modules/undici/lib/fetch/request.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js"(exports2, module2) {
     "use strict";
-    var { extractBody, mixinBody, cloneBody } = require_body2();
-    var { Headers, fill: fillHeaders, HeadersList } = require_headers2();
+    var { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body2();
+    var { Headers, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers2();
     var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
     var util = require_util9();
+    var nodeUtil = require("node:util");
     var {
       isValidHTTPToken,
       sameOrigin,
-      normalizeMethod,
-      makePolicyContainer,
-      normalizeMethodRecord
+      environmentSettingsObject
     } = require_util10();
     var {
       forbiddenMethodsSet,
@@ -33355,43 +33807,61 @@ var require_request4 = __commonJS({
       requestCredentials,
       requestCache,
       requestDuplex
-    } = require_constants7();
-    var { kEnumerableProperty } = util;
-    var { kHeaders, kSignal, kState, kGuard, kRealm } = require_symbols7();
+    } = require_constants8();
+    var { kEnumerableProperty, normalizedMethodRecordsBase, normalizedMethodRecords } = util;
+    var { kHeaders, kSignal, kState, kDispatcher } = require_symbols7();
     var { webidl } = require_webidl2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events");
-    var TransformStream2 = globalThis.TransformStream;
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    var assert = require("node:assert");
+    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("node:events");
     var kAbortController = /* @__PURE__ */ 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;
         }
-        webidl.argumentLengthCheck(arguments, 1, { header: "Request constructor" });
-        input = webidl.converters.RequestInfo(input);
-        init = webidl.converters.RequestInit(init);
-        this[kRealm] = {
-          settingsObject: {
-            baseUrl: getGlobalOrigin(),
-            get origin() {
-              return this.baseUrl?.origin;
-            },
-            policyContainer: makePolicyContainer()
-          }
-        };
-        let request2 = null;
+        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 = this[kRealm].settingsObject.baseUrl;
+        const baseUrl = environmentSettingsObject.settingsObject.baseUrl;
         let signal = null;
         if (typeof input === "string") {
+          this[kDispatcher] = init.dispatcher;
           let parsedURL;
           try {
             parsedURL = new URL(input, baseUrl);
@@ -33406,11 +33876,12 @@ var require_request4 = __commonJS({
           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 = this[kRealm].settingsObject.origin;
+        const origin = environmentSettingsObject.settingsObject.origin;
         let window2 = "client";
         if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
           window2 = request2.window;
@@ -33432,7 +33903,7 @@ var require_request4 = __commonJS({
           // unsafe-request flag Set.
           unsafeRequest: request2.unsafeRequest,
           // client This’s relevant settings object.
-          client: this[kRealm].settingsObject,
+          client: environmentSettingsObject.settingsObject,
           // window window.
           window: window2,
           // priority request’s priority.
@@ -33488,7 +33959,7 @@ var require_request4 = __commonJS({
             } catch (err) {
               throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err });
             }
-            if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, this[kRealm].settingsObject.baseUrl)) {
+            if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, environmentSettingsObject.settingsObject.baseUrl)) {
               request2.referrer = "client";
             } else {
               request2.referrer = parsedReferrer;
@@ -33535,14 +34006,26 @@ var require_request4 = __commonJS({
         }
         if (init.method !== void 0) {
           let method = init.method;
-          if (!isValidHTTPToken(method)) {
-            throw new TypeError(`'${method}' is not a valid HTTP 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 (forbiddenMethodsSet.has(method.toUpperCase())) {
-            throw new TypeError(`'${method}' HTTP method is unsupported.`);
+          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;
           }
-          method = normalizeMethodRecord[method] ?? normalizeMethod(method);
-          request2.method = method;
         }
         if (init.signal !== void 0) {
           signal = init.signal;
@@ -33550,7 +34033,6 @@ var require_request4 = __commonJS({
         this[kState] = request2;
         const ac = new AbortController();
         this[kSignal] = ac.signal;
-        this[kSignal][kRealm] = this[kRealm];
         if (signal != null) {
           if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") {
             throw new TypeError(
@@ -33562,43 +34044,37 @@ var require_request4 = __commonJS({
           } else {
             this[kAbortController] = ac;
             const acRef = new WeakRef(ac);
-            const abort = function() {
-              const ac2 = acRef.deref();
-              if (ac2 !== void 0) {
-                ac2.abort(this.reason);
-              }
-            };
+            const abort = buildAbort(acRef);
             try {
               if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) {
-                setMaxListeners(100, signal);
+                setMaxListeners(1500, signal);
               } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) {
-                setMaxListeners(100, signal);
+                setMaxListeners(1500, signal);
               }
             } catch {
             }
             util.addAbortListener(signal, abort);
-            requestFinalizer.register(ac, { signal, abort });
+            requestFinalizer.register(ac, { signal, abort }, abort);
           }
         }
         this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kHeadersList] = request2.headersList;
-        this[kHeaders][kGuard] = "request";
-        this[kHeaders][kRealm] = this[kRealm];
+        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.`
             );
           }
-          this[kHeaders][kGuard] = "request-no-cors";
+          setHeadersGuard(this[kHeaders], "request-no-cors");
         }
         if (initHasKey) {
-          const headersList = this[kHeaders][kHeadersList];
+          const headersList = getHeadersList(this[kHeaders]);
           const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList);
           headersList.clear();
           if (headers instanceof HeadersList) {
-            for (const [key, val] of headers) {
-              headersList.append(key, val);
+            for (const { name, value } of headers.rawValues()) {
+              headersList.append(name, value, false);
             }
             headersList.cookies = headers.cookies;
           } else {
@@ -33616,7 +34092,7 @@ var require_request4 = __commonJS({
             request2.keepalive
           );
           initBody = extractedBody;
-          if (contentType && !this[kHeaders][kHeadersList].contains("content-type")) {
+          if (contentType && !getHeadersList(this[kHeaders]).contains("content-type", true)) {
             this[kHeaders].append("content-type", contentType);
           }
         }
@@ -33634,15 +34110,12 @@ var require_request4 = __commonJS({
         }
         let finalBody = inputOrInitBody;
         if (initBody == null && inputBody != null) {
-          if (util.isDisturbed(inputBody.stream) || inputBody.stream.locked) {
+          if (bodyUnusable(input)) {
             throw new TypeError(
               "Cannot construct a Request with a Request object that has already been used."
             );
           }
-          if (!TransformStream2) {
-            TransformStream2 = require("stream/web").TransformStream;
-          }
-          const identityTransform = new TransformStream2();
+          const identityTransform = new TransformStream();
           inputBody.stream.pipeThrough(identityTransform);
           finalBody = {
             source: inputBody.source,
@@ -33745,7 +34218,7 @@ var require_request4 = __commonJS({
         return this[kState].reloadNavigation;
       }
       // Returns a boolean indicating whether or not request is for a history
-      // navigation (a.k.a. back-foward navigation).
+      // navigation (a.k.a. back-forward navigation).
       get isHistoryNavigation() {
         webidl.brandCheck(this, _Request);
         return this[kState].historyNavigation;
@@ -33772,83 +34245,112 @@ var require_request4 = __commonJS({
       // Returns a clone of request.
       clone() {
         webidl.brandCheck(this, _Request);
-        if (this.bodyUsed || this.body?.locked) {
+        if (bodyUnusable(this)) {
           throw new TypeError("unusable");
         }
         const clonedRequest = cloneRequest(this[kState]);
-        const clonedRequestObject = new _Request(kConstruct);
-        clonedRequestObject[kState] = clonedRequest;
-        clonedRequestObject[kRealm] = this[kRealm];
-        clonedRequestObject[kHeaders] = new Headers(kConstruct);
-        clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList;
-        clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm];
         const ac = new AbortController();
         if (this.signal.aborted) {
           ac.abort(this.signal.reason);
         } 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(
-            this.signal,
-            () => {
-              ac.abort(this.signal.reason);
-            }
+            ac.signal,
+            buildAbort(acRef)
           );
         }
-        clonedRequestObject[kSignal] = ac.signal;
-        return clonedRequestObject;
+        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) {
-      const request2 = {
-        method: "GET",
-        localURLsOnly: false,
-        unsafeRequest: false,
-        body: null,
-        client: null,
-        reservedClient: null,
-        replacesClientId: "",
-        window: "client",
-        keepalive: false,
-        serviceWorkers: "all",
-        initiator: "",
-        destination: "",
-        priority: null,
-        origin: "client",
-        policyContainer: "client",
-        referrer: "client",
-        referrerPolicy: "",
-        mode: "no-cors",
-        useCORSPreflightFlag: false,
-        credentials: "same-origin",
-        useCredentials: false,
-        cache: "default",
-        redirect: "follow",
-        integrity: "",
-        cryptoGraphicsNonceMetadata: "",
-        parserMetadata: "",
-        reloadNavigation: false,
-        historyNavigation: false,
-        userActivation: false,
-        taintedOrigin: false,
-        redirectCount: 0,
-        responseTainting: "basic",
-        preventNoCacheCacheControlHeaderModification: false,
-        done: false,
-        timingAllowFailed: false,
-        ...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()
       };
-      request2.url = request2.urlList[0];
-      return request2;
     }
     function cloneRequest(request2) {
       const newRequest = makeRequest({ ...request2, body: null });
       if (request2.body != null) {
-        newRequest.body = cloneBody(request2.body);
+        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,
@@ -33878,14 +34380,14 @@ var require_request4 = __commonJS({
     webidl.converters.Request = webidl.interfaceConverter(
       Request
     );
-    webidl.converters.RequestInfo = function(V) {
+    webidl.converters.RequestInfo = function(V, prefix, argument) {
       if (typeof V === "string") {
-        return webidl.converters.USVString(V);
+        return webidl.converters.USVString(V, prefix, argument);
       }
       if (V instanceof Request) {
-        return webidl.converters.Request(V);
+        return webidl.converters.Request(V, prefix, argument);
       }
-      return webidl.converters.USVString(V);
+      return webidl.converters.USVString(V, prefix, argument);
     };
     webidl.converters.AbortSignal = webidl.interfaceConverter(
       AbortSignal
@@ -33952,6 +34454,8 @@ var require_request4 = __commonJS({
         converter: webidl.nullableConverter(
           (signal) => webidl.converters.AbortSignal(
             signal,
+            "RequestInit",
+            "signal",
             { strict: false }
           )
         )
@@ -33964,26 +34468,31 @@ var require_request4 = __commonJS({
         key: "duplex",
         converter: webidl.converters.DOMString,
         allowedValues: requestDuplex
+      },
+      {
+        key: "dispatcher",
+        // undici specific option
+        converter: webidl.converters.any
       }
     ]);
-    module2.exports = { Request, makeRequest };
+    module2.exports = { Request, makeRequest, fromInnerRequest, cloneRequest };
   }
 });
 
-// node_modules/undici/lib/fetch/index.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js
 var require_fetch2 = __commonJS({
-  "node_modules/undici/lib/fetch/index.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js"(exports2, module2) {
     "use strict";
     var {
-      Response,
       makeNetworkError,
       makeAppropriateNetworkError,
       filterResponse,
-      makeResponse
+      makeResponse,
+      fromInnerResponse
     } = require_response2();
-    var { Headers } = require_headers2();
-    var { Request, makeRequest } = require_request4();
-    var zlib = require("zlib");
+    var { HeadersList } = require_headers2();
+    var { Request, cloneRequest } = require_request4();
+    var zlib = require("node:zlib");
     var {
       bytesMatch,
       makePolicyContainer,
@@ -34012,31 +34521,33 @@ var require_fetch2 = __commonJS({
       isomorphicEncode,
       urlIsLocal,
       urlIsHttpHttpsScheme,
-      urlHasHttpsScheme
+      urlHasHttpsScheme,
+      clampAndCoarsenConnectionTimingInfo,
+      simpleRangeHeaderValue,
+      buildContentRange,
+      createInflate,
+      extractMimeType
     } = require_util10();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
-    var assert = require("assert");
-    var { safelyExtractBody } = require_body2();
+    var { kState, kDispatcher } = require_symbols7();
+    var assert = require("node:assert");
+    var { safelyExtractBody, extractBody } = require_body2();
     var {
       redirectStatusSet,
       nullBodyStatus,
       safeMethodsSet,
       requestBodyHeader,
-      subresourceSet,
-      DOMException: DOMException2
-    } = require_constants7();
-    var { kHeadersList } = require_symbols6();
-    var EE = require("events");
-    var { Readable, pipeline } = require("stream");
-    var { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require_util9();
-    var { dataURLProcessor, serializeAMimeType } = require_dataURL();
-    var { TransformStream: TransformStream2 } = require("stream/web");
+      subresourceSet
+    } = require_constants8();
+    var EE = require("node:events");
+    var { Readable, pipeline, finished } = require("node:stream");
+    var { addAbortListener, isErrored, isReadable, bufferToLowerCasedHeaderName } = require_util9();
+    var { dataURLProcessor, serializeAMimeType, minimizeSupportedMimeType } = require_data_url2();
     var { getGlobalDispatcher } = require_global4();
     var { webidl } = require_webidl2();
-    var { STATUS_CODES } = require("http");
+    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 ReadableStream2 = globalThis.ReadableStream;
     var Fetch = class extends EE {
       constructor(dispatcher) {
         super();
@@ -34044,7 +34555,6 @@ var require_fetch2 = __commonJS({
         this.connection = null;
         this.dump = false;
         this.state = "ongoing";
-        this.setMaxListeners(21);
       }
       terminate(reason) {
         if (this.state !== "ongoing") {
@@ -34061,16 +34571,19 @@ var require_fetch2 = __commonJS({
         }
         this.state = "aborted";
         if (!error3) {
-          error3 = new DOMException2("The operation was aborted.", "AbortError");
+          error3 = new DOMException("The operation was aborted.", "AbortError");
         }
         this.serializedAbortReason = error3;
         this.connection?.destroy(error3);
         this.emit("terminated", error3);
       }
     };
-    function fetch(input, init = {}) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "globalThis.fetch" });
-      const p = createDeferredPromise();
+    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);
@@ -34088,7 +34601,6 @@ var require_fetch2 = __commonJS({
         request2.serviceWorkers = "none";
       }
       let responseObject = null;
-      const relevantRealm = null;
       let locallyAborted = false;
       let controller = null;
       addAbortListener(
@@ -34097,37 +34609,31 @@ var require_fetch2 = __commonJS({
           locallyAborted = true;
           assert(controller != null);
           controller.abort(requestObject.signal.reason);
-          abortFetch(p, request2, responseObject, requestObject.signal.reason);
+          const realResponse = responseObject?.deref();
+          abortFetch(p, request2, realResponse, requestObject.signal.reason);
         }
       );
-      const handleFetchDone = (response) => finalizeAndReportTiming(response, "fetch");
       const processResponse = (response) => {
         if (locallyAborted) {
-          return Promise.resolve();
+          return;
         }
         if (response.aborted) {
           abortFetch(p, request2, responseObject, controller.serializedAbortReason);
-          return Promise.resolve();
+          return;
         }
         if (response.type === "error") {
-          p.reject(
-            Object.assign(new TypeError("fetch failed"), { cause: response.error })
-          );
-          return Promise.resolve();
+          p.reject(new TypeError("fetch failed", { cause: response.error }));
+          return;
         }
-        responseObject = new Response();
-        responseObject[kState] = response;
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = response.headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        p.resolve(responseObject);
+        responseObject = new WeakRef(fromInnerResponse(response, "immutable"));
+        p.resolve(responseObject.deref());
+        p = null;
       };
       controller = fetching({
         request: request2,
         processResponseEndOfBody: handleFetchDone,
         processResponse,
-        dispatcher: init.dispatcher ?? getGlobalDispatcher()
+        dispatcher: requestObject[kDispatcher]
         // undici
       });
       return p.promise;
@@ -34158,22 +34664,17 @@ var require_fetch2 = __commonJS({
       response.timingInfo = timingInfo;
       markResourceTiming(
         timingInfo,
-        originalURL,
+        originalURL.href,
         initiatorType,
         globalThis,
         cacheState
       );
     }
-    function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) {
-      if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) {
-        performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis2, cacheState);
-      }
-    }
+    var markResourceTiming = performance.markResourceTiming;
     function abortFetch(p, request2, responseObject, error3) {
-      if (!error3) {
-        error3 = new DOMException2("The operation was aborted.", "AbortError");
+      if (p) {
+        p.reject(error3);
       }
-      p.reject(error3);
       if (request2.body != null && isReadable(request2.body?.stream)) {
         request2.body.stream.cancel(error3).catch((err) => {
           if (err.code === "ERR_INVALID_STATE") {
@@ -34203,18 +34704,19 @@ var require_fetch2 = __commonJS({
       processResponseEndOfBody,
       processResponseConsumeBody,
       useParallelQueue = false,
-      dispatcher
+      dispatcher = getGlobalDispatcher()
       // undici
     }) {
+      assert(dispatcher);
       let taskDestination = null;
       let crossOriginIsolatedCapability = false;
       if (request2.client != null) {
         taskDestination = request2.client.globalObject;
         crossOriginIsolatedCapability = request2.client.crossOriginIsolatedCapability;
       }
-      const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
+      const currentTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
       const timingInfo = createOpaqueTimingInfo({
-        startTime: currenTime
+        startTime: currentTime
       });
       const fetchParams = {
         controller: new Fetch(dispatcher),
@@ -34233,7 +34735,7 @@ var require_fetch2 = __commonJS({
         request2.window = request2.client?.globalObject?.constructor?.name === "Window" ? request2.client : "no-window";
       }
       if (request2.origin === "client") {
-        request2.origin = request2.client?.origin;
+        request2.origin = request2.client.origin;
       }
       if (request2.policyContainer === "client") {
         if (request2.client != null) {
@@ -34244,12 +34746,12 @@ var require_fetch2 = __commonJS({
           request2.policyContainer = makePolicyContainer();
         }
       }
-      if (!request2.headersList.contains("accept")) {
+      if (!request2.headersList.contains("accept", true)) {
         const value = "*/*";
-        request2.headersList.append("accept", value);
+        request2.headersList.append("accept", value, true);
       }
-      if (!request2.headersList.contains("accept-language")) {
-        request2.headersList.append("accept-language", "*");
+      if (!request2.headersList.contains("accept-language", true)) {
+        request2.headersList.append("accept-language", "*", true);
       }
       if (request2.priority === null) {
       }
@@ -34331,7 +34833,7 @@ var require_fetch2 = __commonJS({
       if (!request2.timingAllowFailed) {
         response.timingAllowPassed = true;
       }
-      if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request2.headers.contains("range")) {
+      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))) {
@@ -34369,28 +34871,56 @@ var require_fetch2 = __commonJS({
         }
         case "blob:": {
           if (!resolveObjectURL) {
-            resolveObjectURL = require("buffer").resolveObjectURL;
+            resolveObjectURL = require("node:buffer").resolveObjectURL;
           }
           const blobURLEntry = requestCurrentURL(request2);
           if (blobURLEntry.search.length !== 0) {
             return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));
           }
-          const blobURLEntryObject = resolveObjectURL(blobURLEntry.toString());
-          if (request2.method !== "GET" || !isBlobLike(blobURLEntryObject)) {
+          const blob = resolveObjectURL(blobURLEntry.toString());
+          if (request2.method !== "GET" || !isBlobLike(blob)) {
             return Promise.resolve(makeNetworkError("invalid method"));
           }
-          const bodyWithType = safelyExtractBody(blobURLEntryObject);
-          const body = bodyWithType[0];
-          const length = isomorphicEncode(`${body.length}`);
-          const type2 = bodyWithType[1] ?? "";
-          const response = makeResponse({
-            statusText: "OK",
-            headersList: [
-              ["content-length", { name: "Content-Length", value: length }],
-              ["content-type", { name: "Content-Type", value: type2 }]
-            ]
-          });
-          response.body = body;
+          const response = makeResponse();
+          const fullLength = blob.size;
+          const serializedFullLength = isomorphicEncode(`${fullLength}`);
+          const type2 = 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", type2, 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, type2);
+            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", type2, true);
+            response.headersList.set("content-range", contentRange, true);
+          }
           return Promise.resolve(response);
         }
         case "data:": {
@@ -34427,52 +34957,59 @@ var require_fetch2 = __commonJS({
       }
     }
     function fetchFinale(fetchParams, response) {
-      if (response.type === "error") {
-        response.urlList = [fetchParams.request.urlList[0]];
-        response.timingInfo = createOpaqueTimingInfo({
-          startTime: fetchParams.timingInfo.startTime
-        });
-      }
+      let timingInfo = fetchParams.timingInfo;
       const processResponseEndOfBody = () => {
-        fetchParams.request.done = true;
-        if (fetchParams.processResponseEndOfBody != null) {
-          queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
+        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));
+        queueMicrotask(() => {
+          fetchParams.processResponse(response);
+          fetchParams.processResponse = null;
+        });
       }
-      if (response.body == null) {
+      const internalResponse = response.type === "error" ? response : response.internalResponse ?? response;
+      if (internalResponse.body == null) {
         processResponseEndOfBody();
       } else {
-        const identityTransformAlgorithm = (chunk, controller) => {
-          controller.enqueue(chunk);
-        };
-        const transformStream = new TransformStream2({
-          start() {
-          },
-          transform: identityTransformAlgorithm,
-          flush: processResponseEndOfBody
-        }, {
-          size() {
-            return 1;
-          }
-        }, {
-          size() {
-            return 1;
-          }
+        finished(internalResponse.body.stream, () => {
+          processResponseEndOfBody();
         });
-        response.body = { stream: response.body.stream.pipeThrough(transformStream) };
-      }
-      if (fetchParams.processResponseConsumeBody != null) {
-        const processBody = (nullOrBytes) => fetchParams.processResponseConsumeBody(response, nullOrBytes);
-        const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure);
-        if (response.body == null) {
-          queueMicrotask(() => processBody(null));
-        } else {
-          return fullyReadBody(response.body, processBody, processBodyError);
-        }
-        return Promise.resolve();
       }
     }
     async function httpFetch(fetchParams) {
@@ -34504,7 +35041,7 @@ var require_fetch2 = __commonJS({
       }
       if (redirectStatusSet.has(actualResponse.status)) {
         if (request2.redirect !== "manual") {
-          fetchParams.controller.connection.destroy();
+          fetchParams.controller.connection.destroy(void 0, false);
         }
         if (request2.redirect === "error") {
           response = makeNetworkError("unexpected redirect");
@@ -34560,10 +35097,10 @@ var require_fetch2 = __commonJS({
         }
       }
       if (!sameOrigin(requestCurrentURL(request2), locationURL)) {
-        request2.headersList.delete("authorization");
+        request2.headersList.delete("authorization", true);
         request2.headersList.delete("proxy-authorization", true);
-        request2.headersList.delete("cookie");
-        request2.headersList.delete("host");
+        request2.headersList.delete("cookie", true);
+        request2.headersList.delete("host", true);
       }
       if (request2.body != null) {
         assert(request2.body.source != null);
@@ -34589,7 +35126,7 @@ var require_fetch2 = __commonJS({
         httpFetchParams = fetchParams;
         httpRequest = request2;
       } else {
-        httpRequest = makeRequest(request2);
+        httpRequest = cloneRequest(request2);
         httpFetchParams = { ...fetchParams };
         httpFetchParams.request = httpRequest;
       }
@@ -34603,52 +35140,52 @@ var require_fetch2 = __commonJS({
         contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
       }
       if (contentLengthHeaderValue != null) {
-        httpRequest.headersList.append("content-length", contentLengthHeaderValue);
+        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));
+        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href), true);
       }
       appendRequestOriginHeader(httpRequest);
       appendFetchMetadata(httpRequest);
-      if (!httpRequest.headersList.contains("user-agent")) {
-        httpRequest.headersList.append("user-agent", typeof esbuildDetection === "undefined" ? "undici" : "node");
+      if (!httpRequest.headersList.contains("user-agent", true)) {
+        httpRequest.headersList.append("user-agent", defaultUserAgent);
       }
-      if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since") || httpRequest.headersList.contains("if-none-match") || httpRequest.headersList.contains("if-unmodified-since") || httpRequest.headersList.contains("if-match") || httpRequest.headersList.contains("if-range"))) {
+      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")) {
-        httpRequest.headersList.append("cache-control", "max-age=0");
+      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")) {
-          httpRequest.headersList.append("pragma", "no-cache");
+        if (!httpRequest.headersList.contains("pragma", true)) {
+          httpRequest.headersList.append("pragma", "no-cache", true);
         }
-        if (!httpRequest.headersList.contains("cache-control")) {
-          httpRequest.headersList.append("cache-control", "no-cache");
+        if (!httpRequest.headersList.contains("cache-control", true)) {
+          httpRequest.headersList.append("cache-control", "no-cache", true);
         }
       }
-      if (httpRequest.headersList.contains("range")) {
-        httpRequest.headersList.append("accept-encoding", "identity");
+      if (httpRequest.headersList.contains("range", true)) {
+        httpRequest.headersList.append("accept-encoding", "identity", true);
       }
-      if (!httpRequest.headersList.contains("accept-encoding")) {
+      if (!httpRequest.headersList.contains("accept-encoding", true)) {
         if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
-          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate");
+          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate", true);
         } else {
-          httpRequest.headersList.append("accept-encoding", "gzip, deflate");
+          httpRequest.headersList.append("accept-encoding", "gzip, deflate", true);
         }
       }
-      httpRequest.headersList.delete("host");
+      httpRequest.headersList.delete("host", true);
       if (includeCredentials) {
       }
       if (httpCache == null) {
         httpRequest.cache = "no-store";
       }
-      if (httpRequest.mode !== "no-store" && httpRequest.mode !== "reload") {
+      if (httpRequest.cache !== "no-store" && httpRequest.cache !== "reload") {
       }
       if (response == null) {
-        if (httpRequest.mode === "only-if-cached") {
+        if (httpRequest.cache === "only-if-cached") {
           return makeNetworkError("only if cached");
         }
         const forwardResponse = await httpNetworkFetch(
@@ -34665,7 +35202,7 @@ var require_fetch2 = __commonJS({
         }
       }
       response.urlList = [...httpRequest.urlList];
-      if (httpRequest.headersList.contains("range")) {
+      if (httpRequest.headersList.contains("range", true)) {
         response.rangeRequested = true;
       }
       response.requestIncludesCredentials = includeCredentials;
@@ -34703,10 +35240,12 @@ var require_fetch2 = __commonJS({
       fetchParams.controller.connection = {
         abort: null,
         destroyed: false,
-        destroy(err) {
+        destroy(err, abort = true) {
           if (!this.destroyed) {
             this.destroyed = true;
-            this.abort?.(err ?? new DOMException2("The operation was aborted.", "AbortError"));
+            if (abort) {
+              this.abort?.(err ?? new DOMException("The operation was aborted.", "AbortError"));
+            }
           }
         }
       };
@@ -34777,16 +35316,15 @@ var require_fetch2 = __commonJS({
         }
         return makeNetworkError(err);
       }
-      const pullAlgorithm = () => {
-        fetchParams.controller.resume();
+      const pullAlgorithm = async () => {
+        await fetchParams.controller.resume();
       };
       const cancelAlgorithm = (reason) => {
-        fetchParams.controller.abort(reason);
+        if (!isCancelled(fetchParams)) {
+          fetchParams.controller.abort(reason);
+        }
       };
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      const stream = new ReadableStream2(
+      const stream = new ReadableStream(
         {
           async start(controller) {
             fetchParams.controller.controller = controller;
@@ -34796,16 +35334,12 @@ var require_fetch2 = __commonJS({
           },
           async cancel(reason) {
             await cancelAlgorithm(reason);
-          }
-        },
-        {
-          highWaterMark: 0,
-          size() {
-            return 1;
-          }
+          },
+          type: "bytes"
         }
       );
-      response.body = { stream };
+      response.body = { stream, source: null, length: null };
+      fetchParams.controller.onAborted = onAborted;
       fetchParams.controller.on("terminated", onAborted);
       fetchParams.controller.resume = async () => {
         while (true) {
@@ -34835,12 +35369,15 @@ var require_fetch2 = __commonJS({
             fetchParams.controller.terminate(bytes);
             return;
           }
-          fetchParams.controller.controller.enqueue(new Uint8Array(bytes));
+          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) {
+          if (fetchParams.controller.controller.desiredSize <= 0) {
             return;
           }
         }
@@ -34863,7 +35400,7 @@ var require_fetch2 = __commonJS({
         fetchParams.controller.connection.destroy();
       }
       return response;
-      async function dispatch({ body }) {
+      function dispatch({ body }) {
         const url = requestCurrentURL(request2);
         const agent = fetchParams.controller.dispatcher;
         return new Promise((resolve3, reject) => agent.dispatch(
@@ -34871,7 +35408,7 @@ var require_fetch2 = __commonJS({
             path: url.pathname + url.search,
             origin: url.origin,
             method: request2.method,
-            body: fetchParams.controller.dispatcher.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
+            body: agent.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
             headers: request2.headersList.entries,
             maxRedirections: 0,
             upgrade: request2.mode === "websocket" ? "websocket" : void 0
@@ -34881,48 +35418,41 @@ var require_fetch2 = __commonJS({
             abort: null,
             onConnect(abort) {
               const { connection } = fetchParams.controller;
+              timingInfo.finalConnectionTimingInfo = clampAndCoarsenConnectionTimingInfo(void 0, timingInfo.postRedirectStartTime, fetchParams.crossOriginIsolatedCapability);
               if (connection.destroyed) {
-                abort(new DOMException2("The operation was aborted.", "AbortError"));
+                abort(new DOMException("The operation was aborted.", "AbortError"));
               } else {
                 fetchParams.controller.on("terminated", abort);
                 this.abort = connection.abort = abort;
               }
+              timingInfo.finalNetworkRequestStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
             },
-            onHeaders(status, headersList, resume, statusText) {
+            onResponseStarted() {
+              timingInfo.finalNetworkResponseStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+            },
+            onHeaders(status, rawHeaders, resume, statusText) {
               if (status < 200) {
                 return;
               }
-              let codings = [];
               let location = "";
-              const headers = new Headers();
-              if (Array.isArray(headersList)) {
-                for (let n = 0; n < headersList.length; n += 2) {
-                  const key = headersList[n + 0].toString("latin1");
-                  const val = headersList[n + 1].toString("latin1");
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim());
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
-              } else {
-                const keys = Object.keys(headersList);
-                for (const key of keys) {
-                  const val = headersList[key];
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim()).reverse();
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
+              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 = request2.redirect === "follow" && location && redirectStatusSet.has(status);
+              const willFollow = location && request2.redirect === "follow" && redirectStatusSet.has(status);
               if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
-                for (const coding of codings) {
+                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
@@ -34933,22 +35463,31 @@ var require_fetch2 = __commonJS({
                       finishFlush: zlib.constants.Z_SYNC_FLUSH
                     }));
                   } else if (coding === "deflate") {
-                    decoders.push(zlib.createInflate());
+                    decoders.push(createInflate({
+                      flush: zlib.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib.constants.Z_SYNC_FLUSH
+                    }));
                   } else if (coding === "br") {
-                    decoders.push(zlib.createBrotliDecompress());
+                    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);
               resolve3({
                 status,
                 statusText,
-                headersList: headers[kHeadersList],
-                body: decoders.length ? pipeline(this.body, ...decoders, () => {
-                }) : this.body.on("error", () => {
-                })
+                headersList,
+                body: decoders.length ? pipeline(this.body, ...decoders, (err) => {
+                  if (err) {
+                    this.onError(err);
+                  }
+                }).on("error", onError) : this.body.on("error", onError)
               });
               return true;
             },
@@ -34964,6 +35503,9 @@ var require_fetch2 = __commonJS({
               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);
             },
@@ -34975,20 +35517,18 @@ var require_fetch2 = __commonJS({
               fetchParams.controller.terminate(error3);
               reject(error3);
             },
-            onUpgrade(status, headersList, socket) {
+            onUpgrade(status, rawHeaders, socket) {
               if (status !== 101) {
                 return;
               }
-              const headers = new Headers();
-              for (let n = 0; n < headersList.length; n += 2) {
-                const key = headersList[n + 0].toString("latin1");
-                const val = headersList[n + 1].toString("latin1");
-                headers[kHeadersList].append(key, val);
+              const headersList = new HeadersList();
+              for (let i = 0; i < rawHeaders.length; i += 2) {
+                headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true);
               }
               resolve3({
                 status,
                 statusText: STATUS_CODES[status],
-                headersList: headers[kHeadersList],
+                headersList,
                 socket
               });
               return true;
@@ -35006,9 +35546,9 @@ var require_fetch2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/fileapi/symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js
 var require_symbols8 = __commonJS({
-  "node_modules/undici/lib/fileapi/symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js"(exports2, module2) {
     "use strict";
     module2.exports = {
       kState: /* @__PURE__ */ Symbol("FileReader state"),
@@ -35021,15 +35561,15 @@ var require_symbols8 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/fileapi/progressevent.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js
 var require_progressevent2 = __commonJS({
-  "node_modules/undici/lib/fileapi/progressevent.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js"(exports2, module2) {
     "use strict";
     var { webidl } = require_webidl2();
     var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
     var ProgressEvent = class _ProgressEvent extends Event {
       constructor(type2, eventInitDict = {}) {
-        type2 = webidl.converters.DOMString(type2);
+        type2 = webidl.converters.DOMString(type2, "ProgressEvent constructor", "type");
         eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
         super(type2, eventInitDict);
         this[kState] = {
@@ -35055,32 +35595,32 @@ var require_progressevent2 = __commonJS({
       {
         key: "lengthComputable",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "loaded",
         converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
+        defaultValue: () => 0
       },
       {
         key: "total",
         converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
+        defaultValue: () => 0
       },
       {
         key: "bubbles",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "cancelable",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "composed",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       }
     ]);
     module2.exports = {
@@ -35089,9 +35629,9 @@ var require_progressevent2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/fileapi/encoding.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js
 var require_encoding2 = __commonJS({
-  "node_modules/undici/lib/fileapi/encoding.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js"(exports2, module2) {
     "use strict";
     function getEncoding(label) {
       if (!label) {
@@ -35375,9 +35915,9 @@ var require_encoding2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/fileapi/util.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js
 var require_util12 = __commonJS({
-  "node_modules/undici/lib/fileapi/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js"(exports2, module2) {
     "use strict";
     var {
       kState,
@@ -35388,11 +35928,10 @@ var require_util12 = __commonJS({
     } = require_symbols8();
     var { ProgressEvent } = require_progressevent2();
     var { getEncoding } = require_encoding2();
-    var { DOMException: DOMException2 } = require_constants7();
-    var { serializeAMimeType, parseMIMEType } = require_dataURL();
-    var { types } = require("util");
+    var { serializeAMimeType, parseMIMEType } = require_data_url2();
+    var { types } = require("node:util");
     var { StringDecoder } = require("string_decoder");
-    var { btoa: btoa2 } = require("buffer");
+    var { btoa: btoa2 } = require("node:buffer");
     var staticPropertyDescriptors = {
       enumerable: true,
       writable: false,
@@ -35400,7 +35939,7 @@ var require_util12 = __commonJS({
     };
     function readOperation(fr, blob, type2, encodingName) {
       if (fr[kState] === "loading") {
-        throw new DOMException2("Invalid state", "InvalidStateError");
+        throw new DOMException("Invalid state", "InvalidStateError");
       }
       fr[kState] = "loading";
       fr[kResult] = null;
@@ -35561,9 +36100,9 @@ var require_util12 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/fileapi/filereader.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js
 var require_filereader2 = __commonJS({
-  "node_modules/undici/lib/fileapi/filereader.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js"(exports2, module2) {
     "use strict";
     var {
       staticPropertyDescriptors,
@@ -35600,7 +36139,7 @@ var require_filereader2 = __commonJS({
        */
       readAsArrayBuffer(blob) {
         webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsArrayBuffer" });
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsArrayBuffer");
         blob = webidl.converters.Blob(blob, { strict: false });
         readOperation(this, blob, "ArrayBuffer");
       }
@@ -35610,7 +36149,7 @@ var require_filereader2 = __commonJS({
        */
       readAsBinaryString(blob) {
         webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsBinaryString" });
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsBinaryString");
         blob = webidl.converters.Blob(blob, { strict: false });
         readOperation(this, blob, "BinaryString");
       }
@@ -35621,10 +36160,10 @@ var require_filereader2 = __commonJS({
        */
       readAsText(blob, encoding = void 0) {
         webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsText" });
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsText");
         blob = webidl.converters.Blob(blob, { strict: false });
         if (encoding !== void 0) {
-          encoding = webidl.converters.DOMString(encoding);
+          encoding = webidl.converters.DOMString(encoding, "FileReader.readAsText", "encoding");
         }
         readOperation(this, blob, "Text", encoding);
       }
@@ -35634,7 +36173,7 @@ var require_filereader2 = __commonJS({
        */
       readAsDataURL(blob) {
         webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsDataURL" });
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsDataURL");
         blob = webidl.converters.Blob(blob, { strict: false });
         readOperation(this, blob, "DataURL");
       }
@@ -35820,9 +36359,9 @@ var require_filereader2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/cache/symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/symbols.js
 var require_symbols9 = __commonJS({
-  "node_modules/undici/lib/cache/symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/symbols.js"(exports2, module2) {
     "use strict";
     module2.exports = {
       kConstruct: require_symbols6().kConstruct
@@ -35830,55 +36369,50 @@ var require_symbols9 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/cache/util.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js
 var require_util13 = __commonJS({
-  "node_modules/undici/lib/cache/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { URLSerializer } = require_dataURL();
+    var assert = require("node:assert");
+    var { URLSerializer } = require_data_url2();
     var { isValidHeaderName } = require_util10();
     function urlEquals(A, B, excludeFragment = false) {
       const serializedA = URLSerializer(A, excludeFragment);
       const serializedB = URLSerializer(B, excludeFragment);
       return serializedA === serializedB;
     }
-    function fieldValues(header) {
+    function getFieldValues(header) {
       assert(header !== null);
       const values = [];
       for (let value of header.split(",")) {
         value = value.trim();
-        if (!value.length) {
-          continue;
-        } else if (!isValidHeaderName(value)) {
-          continue;
+        if (isValidHeaderName(value)) {
+          values.push(value);
         }
-        values.push(value);
       }
       return values;
     }
     module2.exports = {
       urlEquals,
-      fieldValues
+      getFieldValues
     };
   }
 });
 
-// node_modules/undici/lib/cache/cache.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js
 var require_cache2 = __commonJS({
-  "node_modules/undici/lib/cache/cache.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js"(exports2, module2) {
     "use strict";
     var { kConstruct } = require_symbols9();
-    var { urlEquals, fieldValues: getFieldValues } = require_util13();
+    var { urlEquals, getFieldValues } = require_util13();
     var { kEnumerableProperty, isDisturbed } = require_util9();
-    var { kHeadersList } = require_symbols6();
     var { webidl } = require_webidl2();
-    var { Response, cloneResponse } = require_response2();
-    var { Request } = require_request4();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
+    var { Response, cloneResponse, fromInnerResponse } = require_response2();
+    var { Request, fromInnerRequest } = require_request4();
+    var { kState } = require_symbols7();
     var { fetching } = require_fetch2();
     var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util10();
-    var assert = require("assert");
-    var { getGlobalDispatcher } = require_global4();
+    var assert = require("node:assert");
     var Cache = class _Cache {
       /**
        * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list
@@ -35889,14 +36423,16 @@ var require_cache2 = __commonJS({
         if (arguments[0] !== kConstruct) {
           webidl.illegalConstructor();
         }
+        webidl.util.markAsUncloneable(this);
         this.#relevantRequestResponseList = arguments[1];
       }
       async match(request2, options = {}) {
         webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.match" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        const p = await this.matchAll(request2, options);
+        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;
         }
@@ -35904,64 +36440,42 @@ var require_cache2 = __commonJS({
       }
       async matchAll(request2 = void 0, options = {}) {
         webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(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 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 = new Response(response.body?.source ?? null);
-          const body = responseObject[kState].body;
-          responseObject[kState] = response;
-          responseObject[kState].body = body;
-          responseObject[kHeaders][kHeadersList] = response.headersList;
-          responseObject[kHeaders][kGuard] = "immutable";
-          responseList.push(responseObject);
-        }
-        return Object.freeze(responseList);
+        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);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.add" });
-        request2 = webidl.converters.RequestInfo(request2);
+        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);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.addAll" });
-        requests = webidl.converters["sequence"](requests);
+        const prefix = "Cache.addAll";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
         const responsePromises = [];
         const requestList = [];
-        for (const request2 of requests) {
+        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: "Cache.addAll",
+              header: prefix,
               message: "Expected http/s scheme when method is not GET."
             });
           }
@@ -35971,7 +36485,7 @@ var require_cache2 = __commonJS({
           const r = new Request(request2)[kState];
           if (!urlIsHttpHttpsScheme(r.url)) {
             throw webidl.errors.exception({
-              header: "Cache.addAll",
+              header: prefix,
               message: "Expected http/s scheme."
             });
           }
@@ -35981,7 +36495,6 @@ var require_cache2 = __commonJS({
           const responsePromise = createDeferredPromise();
           fetchControllers.push(fetching({
             request: r,
-            dispatcher: getGlobalDispatcher(),
             processResponse(response) {
               if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) {
                 responsePromise.reject(webidl.errors.exception({
@@ -36048,9 +36561,10 @@ var require_cache2 = __commonJS({
       }
       async put(request2, response) {
         webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Cache.put" });
-        request2 = webidl.converters.RequestInfo(request2);
-        response = webidl.converters.Response(response);
+        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];
@@ -36059,14 +36573,14 @@ var require_cache2 = __commonJS({
         }
         if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") {
           throw webidl.errors.exception({
-            header: "Cache.put",
+            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: "Cache.put",
+            header: prefix,
             message: "Got 206 status"
           });
         }
@@ -36075,7 +36589,7 @@ var require_cache2 = __commonJS({
           for (const fieldValue of fieldValues) {
             if (fieldValue === "*") {
               throw webidl.errors.exception({
-                header: "Cache.put",
+                header: prefix,
                 message: "Got * vary field value"
               });
             }
@@ -36083,7 +36597,7 @@ var require_cache2 = __commonJS({
         }
         if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {
           throw webidl.errors.exception({
-            header: "Cache.put",
+            header: prefix,
             message: "Response body is locked or disturbed"
           });
         }
@@ -36128,9 +36642,10 @@ var require_cache2 = __commonJS({
       }
       async delete(request2, options = {}) {
         webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.delete" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
+        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];
@@ -36169,12 +36684,13 @@ var require_cache2 = __commonJS({
        * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys
        * @param {any} request
        * @param {import('../../types/cache').CacheQueryOptions} options
-       * @returns {readonly Request[]}
+       * @returns {Promise}
        */
       async keys(request2 = void 0, options = {}) {
         webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
+        const prefix = "Cache.keys";
+        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
         let r = null;
         if (request2 !== void 0) {
           if (request2 instanceof Request) {
@@ -36201,11 +36717,11 @@ var require_cache2 = __commonJS({
         queueMicrotask(() => {
           const requestList = [];
           for (const request3 of requests) {
-            const requestObject = new Request("https://a");
-            requestObject[kState] = request3;
-            requestObject[kHeaders][kHeadersList] = request3.headersList;
-            requestObject[kHeaders][kGuard] = "immutable";
-            requestObject[kRealm] = request3.client;
+            const requestObject = fromInnerRequest(
+              request3,
+              new AbortController().signal,
+              "immutable"
+            );
             requestList.push(requestObject);
           }
           promise.resolve(Object.freeze(requestList));
@@ -36346,6 +36862,39 @@ var require_cache2 = __commonJS({
         }
         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]: {
@@ -36364,17 +36913,17 @@ var require_cache2 = __commonJS({
       {
         key: "ignoreSearch",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "ignoreMethod",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "ignoreVary",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       }
     ];
     webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters);
@@ -36395,9 +36944,9 @@ var require_cache2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/cache/cachestorage.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js
 var require_cachestorage2 = __commonJS({
-  "node_modules/undici/lib/cache/cachestorage.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js"(exports2, module2) {
     "use strict";
     var { kConstruct } = require_symbols9();
     var { Cache } = require_cache2();
@@ -36413,10 +36962,11 @@ var require_cachestorage2 = __commonJS({
         if (arguments[0] !== kConstruct) {
           webidl.illegalConstructor();
         }
+        webidl.util.markAsUncloneable(this);
       }
       async match(request2, options = {}) {
         webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.match" });
+        webidl.argumentLengthCheck(arguments, 1, "CacheStorage.match");
         request2 = webidl.converters.RequestInfo(request2);
         options = webidl.converters.MultiCacheQueryOptions(options);
         if (options.cacheName != null) {
@@ -36442,8 +36992,9 @@ var require_cachestorage2 = __commonJS({
        */
       async has(cacheName) {
         webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.has" });
-        cacheName = webidl.converters.DOMString(cacheName);
+        const prefix = "CacheStorage.has";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
         return this.#caches.has(cacheName);
       }
       /**
@@ -36453,8 +37004,9 @@ var require_cachestorage2 = __commonJS({
        */
       async open(cacheName) {
         webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.open" });
-        cacheName = webidl.converters.DOMString(cacheName);
+        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);
@@ -36470,13 +37022,14 @@ var require_cachestorage2 = __commonJS({
        */
       async delete(cacheName) {
         webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.delete" });
-        cacheName = webidl.converters.DOMString(cacheName);
+        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 {string[]}
+       * @returns {Promise}
        */
       async keys() {
         webidl.brandCheck(this, _CacheStorage);
@@ -36501,9 +37054,9 @@ var require_cachestorage2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/cookies/constants.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/constants.js
 var require_constants9 = __commonJS({
-  "node_modules/undici/lib/cookies/constants.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/constants.js"(exports2, module2) {
     "use strict";
     var maxAttributeValueSize = 1024;
     var maxNameValuePairSize = 4096;
@@ -36514,42 +37067,73 @@ var require_constants9 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/cookies/util.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/util.js
 var require_util14 = __commonJS({
-  "node_modules/undici/lib/cookies/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/util.js"(exports2, module2) {
     "use strict";
     function isCTLExcludingHtab(value) {
-      if (value.length === 0) {
-        return false;
-      }
-      for (const char of value) {
-        const code = char.charCodeAt(0);
-        if (code >= 0 || code <= 8 || (code >= 10 || code <= 31) || code === 127) {
-          return false;
+      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 (const char of name) {
-        const code = char.charCodeAt(0);
-        if (code <= 32 || code > 127 || char === "(" || char === ")" || char === ">" || char === "<" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}") {
+      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) {
-      for (const char of value) {
-        const code = char.charCodeAt(0);
+      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 === 34 || code === 44 || code === 59 || code === 92 || code > 126) {
-          throw new Error("Invalid header value");
+        code > 126 || // non-ascii and DEL (127)
+        code === 34 || // "
+        code === 44 || // ,
+        code === 59 || // ;
+        code === 92) {
+          throw new Error("Invalid cookie value");
         }
       }
     }
     function validateCookiePath(path4) {
-      for (const char of path4) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || char === ";") {
+      for (let i = 0; i < path4.length; ++i) {
+        const code = path4.charCodeAt(i);
+        if (code < 32 || // exclude CTLs (0-31)
+        code === 127 || // DEL
+        code === 59) {
           throw new Error("Invalid cookie path");
         }
       }
@@ -36559,41 +37143,35 @@ var require_util14 = __commonJS({
         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((_2, i) => i.toString().padStart(2, "0"));
     function toIMFDate(date) {
       if (typeof date === "number") {
         date = new Date(date);
       }
-      const days = [
-        "Sun",
-        "Mon",
-        "Tue",
-        "Wed",
-        "Thu",
-        "Fri",
-        "Sat"
-      ];
-      const months = [
-        "Jan",
-        "Feb",
-        "Mar",
-        "Apr",
-        "May",
-        "Jun",
-        "Jul",
-        "Aug",
-        "Sep",
-        "Oct",
-        "Nov",
-        "Dec"
-      ];
-      const dayName = days[date.getUTCDay()];
-      const day = date.getUTCDate().toString().padStart(2, "0");
-      const month = months[date.getUTCMonth()];
-      const year = date.getUTCFullYear();
-      const hour = date.getUTCHours().toString().padStart(2, "0");
-      const minute = date.getUTCMinutes().toString().padStart(2, "0");
-      const second = date.getUTCSeconds().toString().padStart(2, "0");
-      return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`;
+      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) {
@@ -36659,14 +37237,14 @@ var require_util14 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/cookies/parse.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js
 var require_parse2 = __commonJS({
-  "node_modules/undici/lib/cookies/parse.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js"(exports2, module2) {
     "use strict";
     var { maxNameValuePairSize, maxAttributeValueSize } = require_constants9();
     var { isCTLExcludingHtab } = require_util14();
-    var { collectASequenceOfCodePointsFast } = require_dataURL();
-    var assert = require("assert");
+    var { collectASequenceOfCodePointsFast } = require_data_url2();
+    var assert = require("node:assert");
     function parseSetCookie(header) {
       if (isCTLExcludingHtab(header)) {
         return null;
@@ -36799,16 +37377,16 @@ var require_parse2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/cookies/index.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js
 var require_cookies2 = __commonJS({
-  "node_modules/undici/lib/cookies/index.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js"(exports2, module2) {
     "use strict";
     var { parseSetCookie } = require_parse2();
     var { stringify } = require_util14();
     var { webidl } = require_webidl2();
     var { Headers } = require_headers2();
     function getCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "getCookies" });
+      webidl.argumentLengthCheck(arguments, 1, "getCookies");
       webidl.brandCheck(headers, Headers, { strict: false });
       const cookie = headers.get("cookie");
       const out = {};
@@ -36822,9 +37400,10 @@ var require_cookies2 = __commonJS({
       return out;
     }
     function deleteCookie(headers, name, attributes) {
-      webidl.argumentLengthCheck(arguments, 2, { header: "deleteCookie" });
       webidl.brandCheck(headers, Headers, { strict: false });
-      name = webidl.converters.DOMString(name);
+      const prefix = "deleteCookie";
+      webidl.argumentLengthCheck(arguments, 2, prefix);
+      name = webidl.converters.DOMString(name, prefix, "name");
       attributes = webidl.converters.DeleteCookieAttributes(attributes);
       setCookie(headers, {
         name,
@@ -36834,7 +37413,7 @@ var require_cookies2 = __commonJS({
       });
     }
     function getSetCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "getSetCookies" });
+      webidl.argumentLengthCheck(arguments, 1, "getSetCookies");
       webidl.brandCheck(headers, Headers, { strict: false });
       const cookies = headers.getSetCookie();
       if (!cookies) {
@@ -36843,24 +37422,24 @@ var require_cookies2 = __commonJS({
       return cookies.map((pair) => parseSetCookie(pair));
     }
     function setCookie(headers, cookie) {
-      webidl.argumentLengthCheck(arguments, 2, { header: "setCookie" });
+      webidl.argumentLengthCheck(arguments, 2, "setCookie");
       webidl.brandCheck(headers, Headers, { strict: false });
       cookie = webidl.converters.Cookie(cookie);
       const str2 = stringify(cookie);
       if (str2) {
-        headers.append("Set-Cookie", stringify(cookie));
+        headers.append("Set-Cookie", str2);
       }
     }
     webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([
       {
         converter: webidl.nullableConverter(webidl.converters.DOMString),
         key: "path",
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         converter: webidl.nullableConverter(webidl.converters.DOMString),
         key: "domain",
-        defaultValue: null
+        defaultValue: () => null
       }
     ]);
     webidl.converters.Cookie = webidl.dictionaryConverter([
@@ -36880,32 +37459,32 @@ var require_cookies2 = __commonJS({
           return new Date(value);
         }),
         key: "expires",
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         converter: webidl.nullableConverter(webidl.converters["long long"]),
         key: "maxAge",
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         converter: webidl.nullableConverter(webidl.converters.DOMString),
         key: "domain",
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         converter: webidl.nullableConverter(webidl.converters.DOMString),
         key: "path",
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         converter: webidl.nullableConverter(webidl.converters.boolean),
         key: "secure",
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         converter: webidl.nullableConverter(webidl.converters.boolean),
         key: "httpOnly",
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         converter: webidl.converters.USVString,
@@ -36915,7 +37494,7 @@ var require_cookies2 = __commonJS({
       {
         converter: webidl.sequenceConverter(webidl.converters.DOMString),
         key: "unparsed",
-        defaultValue: []
+        defaultValue: () => new Array(0)
       }
     ]);
     module2.exports = {
@@ -36927,82 +37506,29 @@ var require_cookies2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/websocket/constants.js
-var require_constants10 = __commonJS({
-  "node_modules/undici/lib/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 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);
-    module2.exports = {
-      uid,
-      staticPropertyDescriptors,
-      states,
-      opcodes,
-      maxUnsigned16Bit,
-      parserStates,
-      emptyBuffer
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/symbols.js
-var require_symbols10 = __commonJS({
-  "node_modules/undici/lib/websocket/symbols.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
-      kReadyState: /* @__PURE__ */ Symbol("ready state"),
-      kController: /* @__PURE__ */ Symbol("controller"),
-      kResponse: /* @__PURE__ */ Symbol("response"),
-      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
-      kSentClose: /* @__PURE__ */ Symbol("sent close"),
-      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
-      kByteParser: /* @__PURE__ */ Symbol("byte parser")
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/events.js
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js
 var require_events2 = __commonJS({
-  "node_modules/undici/lib/websocket/events.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js"(exports2, module2) {
     "use strict";
     var { webidl } = require_webidl2();
     var { kEnumerableProperty } = require_util9();
-    var { MessagePort } = require("worker_threads");
+    var { kConstruct } = require_symbols6();
+    var { MessagePort } = require("node:worker_threads");
     var MessageEvent = class _MessageEvent extends Event {
       #eventInit;
       constructor(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.MessageEventInit(eventInitDict);
+        if (type2 === kConstruct) {
+          super(arguments[1], arguments[2]);
+          webidl.util.markAsUncloneable(this);
+          return;
+        }
+        const prefix = "MessageEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.MessageEventInit(eventInitDict, prefix, "eventInitDict");
         super(type2, eventInitDict);
         this.#eventInit = eventInitDict;
+        webidl.util.markAsUncloneable(this);
       }
       get data() {
         webidl.brandCheck(this, _MessageEvent);
@@ -37029,7 +37555,7 @@ var require_events2 = __commonJS({
       }
       initMessageEvent(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
         webidl.brandCheck(this, _MessageEvent);
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent.initMessageEvent" });
+        webidl.argumentLengthCheck(arguments, 1, "MessageEvent.initMessageEvent");
         return new _MessageEvent(type2, {
           bubbles,
           cancelable,
@@ -37040,15 +37566,29 @@ var require_events2 = __commonJS({
           ports
         });
       }
+      static createFastMessageEvent(type2, init) {
+        const messageEvent = new _MessageEvent(kConstruct, type2, 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(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
+        const prefix = "CloseEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
         eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
         super(type2, eventInitDict);
         this.#eventInit = eventInitDict;
+        webidl.util.markAsUncloneable(this);
       }
       get wasClean() {
         webidl.brandCheck(this, _CloseEvent);
@@ -37066,9 +37606,11 @@ var require_events2 = __commonJS({
     var ErrorEvent = class _ErrorEvent extends Event {
       #eventInit;
       constructor(type2, eventInitDict) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" });
+        const prefix = "ErrorEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
         super(type2, eventInitDict);
-        type2 = webidl.converters.DOMString(type2);
+        webidl.util.markAsUncloneable(this);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
         eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});
         this.#eventInit = eventInitDict;
       }
@@ -37133,17 +37675,17 @@ var require_events2 = __commonJS({
       {
         key: "bubbles",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "cancelable",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "composed",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       }
     ];
     webidl.converters.MessageEventInit = webidl.dictionaryConverter([
@@ -37151,31 +37693,29 @@ var require_events2 = __commonJS({
       {
         key: "data",
         converter: webidl.converters.any,
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         key: "origin",
         converter: webidl.converters.USVString,
-        defaultValue: ""
+        defaultValue: () => ""
       },
       {
         key: "lastEventId",
         converter: webidl.converters.DOMString,
-        defaultValue: ""
+        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
+        defaultValue: () => null
       },
       {
         key: "ports",
         converter: webidl.converters["sequence"],
-        get defaultValue() {
-          return [];
-        }
+        defaultValue: () => new Array(0)
       }
     ]);
     webidl.converters.CloseEventInit = webidl.dictionaryConverter([
@@ -37183,17 +37723,17 @@ var require_events2 = __commonJS({
       {
         key: "wasClean",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "code",
         converter: webidl.converters["unsigned short"],
-        defaultValue: 0
+        defaultValue: () => 0
       },
       {
         key: "reason",
         converter: webidl.converters.USVString,
-        defaultValue: ""
+        defaultValue: () => ""
       }
     ]);
     webidl.converters.ErrorEventInit = webidl.dictionaryConverter([
@@ -37201,22 +37741,22 @@ var require_events2 = __commonJS({
       {
         key: "message",
         converter: webidl.converters.DOMString,
-        defaultValue: ""
+        defaultValue: () => ""
       },
       {
         key: "filename",
         converter: webidl.converters.USVString,
-        defaultValue: ""
+        defaultValue: () => ""
       },
       {
         key: "lineno",
         converter: webidl.converters["unsigned long"],
-        defaultValue: 0
+        defaultValue: () => 0
       },
       {
         key: "colno",
         converter: webidl.converters["unsigned long"],
-        defaultValue: 0
+        defaultValue: () => 0
       },
       {
         key: "error",
@@ -37226,18 +37766,98 @@ var require_events2 = __commonJS({
     module2.exports = {
       MessageEvent,
       CloseEvent,
-      ErrorEvent
+      ErrorEvent,
+      createFastMessageEvent
     };
   }
 });
 
-// node_modules/undici/lib/websocket/util.js
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js
+var require_constants10 = __commonJS({
+  "node_modules/@actions/github/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/@actions/github/node_modules/undici/lib/web/websocket/symbols.js
+var require_symbols10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
+      kReadyState: /* @__PURE__ */ Symbol("ready state"),
+      kController: /* @__PURE__ */ Symbol("controller"),
+      kResponse: /* @__PURE__ */ Symbol("response"),
+      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
+      kSentClose: /* @__PURE__ */ Symbol("sent close"),
+      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
+      kByteParser: /* @__PURE__ */ Symbol("byte parser")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js
 var require_util15 = __commonJS({
-  "node_modules/undici/lib/websocket/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js"(exports2, module2) {
     "use strict";
     var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols10();
     var { states, opcodes } = require_constants10();
-    var { MessageEvent, ErrorEvent } = require_events2();
+    var { ErrorEvent, createFastMessageEvent } = require_events2();
+    var { isUtf8 } = require("node:buffer");
+    var { collectASequenceOfCodePointsFast, removeHTTPWhitespace } = require_data_url2();
+    function isConnecting(ws) {
+      return ws[kReadyState] === states.CONNECTING;
+    }
     function isEstablished(ws) {
       return ws[kReadyState] === states.OPEN;
     }
@@ -37247,8 +37867,8 @@ var require_util15 = __commonJS({
     function isClosed(ws) {
       return ws[kReadyState] === states.CLOSED;
     }
-    function fireEvent(e, target, eventConstructor = Event, eventInitDict) {
-      const event = new eventConstructor(e, eventInitDict);
+    function fireEvent(e, target, eventFactory = (type2, init) => new Event(type2, init), eventInitDict = {}) {
+      const event = eventFactory(e, eventInitDict);
       target.dispatchEvent(event);
     }
     function websocketMessageReceived(ws, type2, data) {
@@ -37258,7 +37878,7 @@ var require_util15 = __commonJS({
       let dataForEvent;
       if (type2 === opcodes.TEXT) {
         try {
-          dataForEvent = new TextDecoder("utf-8", { fatal: true }).decode(data);
+          dataForEvent = utf8Decode(data);
         } catch {
           failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
           return;
@@ -37267,22 +37887,44 @@ var require_util15 = __commonJS({
         if (ws[kBinaryType] === "blob") {
           dataForEvent = new Blob([data]);
         } else {
-          dataForEvent = new Uint8Array(data).buffer;
+          dataForEvent = toArrayBuffer(data);
         }
       }
-      fireEvent("message", ws, MessageEvent, {
+      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 (const char of protocol) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || code > 126 || char === "(" || char === ")" || char === "<" || char === ">" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}" || code === 32 || // SP
-        code === 9) {
+      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;
         }
       }
@@ -37303,12 +37945,57 @@ var require_util15 = __commonJS({
         response.socket.destroy();
       }
       if (reason) {
-        fireEvent("error", ws, ErrorEvent, {
-          error: new Error(reason)
+        fireEvent("error", ws, (type2, init) => new ErrorEvent(type2, 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,
@@ -37316,44 +38003,126 @@ var require_util15 = __commonJS({
       isValidSubprotocol,
       isValidStatusCode,
       failWebsocketConnection,
-      websocketMessageReceived
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isContinuationFrame,
+      isTextBinaryFrame,
+      isValidOpcode,
+      parseExtensions,
+      isValidClientWindowBits
     };
   }
 });
 
-// node_modules/undici/lib/websocket/connection.js
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js
+var require_frame2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js"(exports2, module2) {
+    "use strict";
+    var { maxUnsigned16Bit } = require_constants10();
+    var BUFFER_SIZE = 16386;
+    var crypto2;
+    var buffer = null;
+    var bufIdx = BUFFER_SIZE;
+    try {
+      crypto2 = require("node:crypto");
+    } catch {
+      crypto2 = {
+        // 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;
+        crypto2.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/@actions/github/node_modules/undici/lib/web/websocket/connection.js
 var require_connection2 = __commonJS({
-  "node_modules/undici/lib/websocket/connection.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js"(exports2, module2) {
     "use strict";
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { uid, states } = require_constants10();
+    var { uid, states, sentCloseFrameState, emptyBuffer, opcodes } = require_constants10();
     var {
       kReadyState,
       kSentClose,
       kByteParser,
-      kReceivedClose
+      kReceivedClose,
+      kResponse
     } = require_symbols10();
-    var { fireEvent, failWebsocketConnection } = require_util15();
+    var { fireEvent, failWebsocketConnection, isClosing, isClosed, isEstablished, parseExtensions } = require_util15();
+    var { channels } = require_diagnostics2();
     var { CloseEvent } = require_events2();
     var { makeRequest } = require_request4();
     var { fetching } = require_fetch2();
-    var { Headers } = require_headers2();
-    var { getGlobalDispatcher } = require_global4();
-    var { kHeadersList } = require_symbols6();
-    var channels = {};
-    channels.open = diagnosticsChannel.channel("undici:websocket:open");
-    channels.close = diagnosticsChannel.channel("undici:websocket:close");
-    channels.socketError = diagnosticsChannel.channel("undici:websocket:socket_error");
+    var { Headers, getHeadersList } = require_headers2();
+    var { getDecodeSplit } = require_util10();
+    var { WebsocketFrameSend } = require_frame2();
     var crypto2;
     try {
-      crypto2 = require("crypto");
+      crypto2 = require("node:crypto");
     } catch {
     }
-    function establishWebSocketConnection(url, protocols, ws, onEstablish, options) {
+    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",
@@ -37362,7 +38131,7 @@ var require_connection2 = __commonJS({
         redirect: "error"
       });
       if (options.headers) {
-        const headersList = new Headers(options.headers)[kHeadersList];
+        const headersList = getHeadersList(new Headers(options.headers));
         request2.headersList = headersList;
       }
       const keyValue = crypto2.randomBytes(16).toString("base64");
@@ -37371,11 +38140,12 @@ var require_connection2 = __commonJS({
       for (const protocol of protocols) {
         request2.headersList.append("sec-websocket-protocol", protocol);
       }
-      const permessageDeflate = "";
+      const permessageDeflate = "permessage-deflate; client_max_window_bits";
+      request2.headersList.append("sec-websocket-extensions", permessageDeflate);
       const controller = fetching({
         request: request2,
         useParallelQueue: true,
-        dispatcher: options.dispatcher ?? getGlobalDispatcher(),
+        dispatcher: options.dispatcher,
         processResponse(response) {
           if (response.type === "error" || response.status !== 101) {
             failWebsocketConnection(ws, "Received network error or non-101 status code.");
@@ -37400,14 +38170,21 @@ var require_connection2 = __commonJS({
             return;
           }
           const secExtension = response.headersList.get("Sec-WebSocket-Extensions");
-          if (secExtension !== null && secExtension !== permessageDeflate) {
-            failWebsocketConnection(ws, "Received different permessage-deflate than the one set.");
-            return;
+          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 && secProtocol !== request2.headersList.get("Sec-WebSocket-Protocol")) {
-            failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");
-            return;
+          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);
@@ -37419,11 +38196,37 @@ var require_connection2 = __commonJS({
               extensions: secExtension
             });
           }
-          onEstablish(response);
+          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();
@@ -37431,18 +38234,22 @@ var require_connection2 = __commonJS({
     }
     function onSocketClose() {
       const { ws } = this;
-      const wasClean = ws[kSentClose] && ws[kReceivedClose];
+      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) {
+      if (result && !result.error) {
         code = result.code ?? 1005;
         reason = result.reason;
-      } else if (!ws[kSentClose]) {
+      } else if (!ws[kReceivedClose]) {
         code = 1006;
       }
       ws[kReadyState] = states.CLOSED;
-      fireEvent("close", ws, CloseEvent, {
+      fireEvent("close", ws, (type2, init) => new CloseEvent(type2, init), {
         wasClean,
         code,
         reason
@@ -37464,98 +38271,114 @@ var require_connection2 = __commonJS({
       this.destroy();
     }
     module2.exports = {
-      establishWebSocketConnection
+      establishWebSocketConnection,
+      closeWebSocketConnection
     };
   }
 });
 
-// node_modules/undici/lib/websocket/frame.js
-var require_frame2 = __commonJS({
-  "node_modules/undici/lib/websocket/frame.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js
+var require_permessage_deflate2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js"(exports2, module2) {
     "use strict";
-    var { maxUnsigned16Bit } = require_constants10();
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-    } catch {
-    }
-    var WebsocketFrameSend = class {
-      /**
-       * @param {Buffer|undefined} data
-       */
-      constructor(data) {
-        this.frameData = data;
-        this.maskKey = crypto2.randomBytes(4);
+    var { createInflateRaw, Z_DEFAULT_WINDOWBITS } = require("node:zlib");
+    var { isValidClientWindowBits } = require_util15();
+    var tail = Buffer.from([0, 0, 255, 255]);
+    var kBuffer = /* @__PURE__ */ Symbol("kBuffer");
+    var kLength = /* @__PURE__ */ 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");
       }
-      createFrame(opcode) {
-        const bodyLength = this.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 buffer = Buffer.allocUnsafe(bodyLength + offset);
-        buffer[0] = buffer[1] = 0;
-        buffer[0] |= 128;
-        buffer[0] = (buffer[0] & 240) + opcode;
-        buffer[offset - 4] = this.maskKey[0];
-        buffer[offset - 3] = this.maskKey[1];
-        buffer[offset - 2] = this.maskKey[2];
-        buffer[offset - 1] = this.maskKey[3];
-        buffer[1] = payloadLength;
-        if (payloadLength === 126) {
-          buffer.writeUInt16BE(bodyLength, 2);
-        } else if (payloadLength === 127) {
-          buffer[2] = buffer[3] = 0;
-          buffer.writeUIntBE(bodyLength, 4, 6);
+      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);
+          });
         }
-        buffer[1] |= 128;
-        for (let i = 0; i < bodyLength; i++) {
-          buffer[offset + i] = this.frameData[i] ^ this.maskKey[i % 4];
+        this.#inflate.write(chunk);
+        if (fin) {
+          this.#inflate.write(tail);
         }
-        return buffer;
+        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 = {
-      WebsocketFrameSend
-    };
+    module2.exports = { PerMessageDeflate };
   }
 });
 
-// node_modules/undici/lib/websocket/receiver.js
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/receiver.js
 var require_receiver2 = __commonJS({
-  "node_modules/undici/lib/websocket/receiver.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/receiver.js"(exports2, module2) {
     "use strict";
-    var { Writable } = require("stream");
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { parserStates, opcodes, states, emptyBuffer } = require_constants10();
+    var { Writable } = require("node:stream");
+    var assert = require("node:assert");
+    var { parserStates, opcodes, states, emptyBuffer, sentCloseFrameState } = require_constants10();
     var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols10();
-    var { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require_util15();
+    var { channels } = require_diagnostics2();
+    var {
+      isValidStatusCode,
+      isValidOpcode,
+      failWebsocketConnection,
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isTextBinaryFrame,
+      isContinuationFrame
+    } = require_util15();
     var { WebsocketFrameSend } = require_frame2();
-    var channels = {};
-    channels.ping = diagnosticsChannel.channel("undici:websocket:ping");
-    channels.pong = diagnosticsChannel.channel("undici:websocket:pong");
+    var { closeWebSocketConnection } = require_connection2();
+    var { PerMessageDeflate } = require_permessage_deflate2();
     var ByteParser = class extends Writable {
       #buffers = [];
       #byteOffset = 0;
+      #loop = false;
       #state = parserStates.INFO;
       #info = {};
       #fragments = [];
-      constructor(ws) {
+      /** @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, _2, callback) {
         this.#buffers.push(chunk);
         this.#byteOffset += chunk.length;
+        this.#loop = true;
         this.run(callback);
       }
       /**
@@ -37564,21 +38387,56 @@ var require_receiver2 = __commonJS({
        * or not enough bytes are buffered to parse.
        */
       run(callback) {
-        while (true) {
+        while (this.#loop) {
           if (this.#state === parserStates.INFO) {
             if (this.#byteOffset < 2) {
               return callback();
             }
             const buffer = this.consume(2);
-            this.#info.fin = (buffer[0] & 128) !== 0;
-            this.#info.opcode = buffer[0] & 15;
-            this.#info.originalOpcode ??= this.#info.opcode;
-            this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION;
-            if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) {
+            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;
             }
-            const payloadLength = buffer[1] & 127;
+            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;
@@ -37587,68 +38445,14 @@ var require_receiver2 = __commonJS({
             } else if (payloadLength === 127) {
               this.#state = parserStates.PAYLOADLENGTH_64;
             }
-            if (this.#info.fragmented && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
-              return;
-            } else if ((this.#info.opcode === opcodes.PING || this.#info.opcode === opcodes.PONG || this.#info.opcode === opcodes.CLOSE) && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Payload length for control frame exceeded 125 bytes.");
-              return;
-            } else if (this.#info.opcode === opcodes.CLOSE) {
-              if (payloadLength === 1) {
-                failWebsocketConnection(this.ws, "Received close frame with a 1-byte body.");
-                return;
-              }
-              const body = this.consume(payloadLength);
-              this.#info.closeInfo = this.parseCloseBody(false, body);
-              if (!this.ws[kSentClose]) {
-                const body2 = Buffer.allocUnsafe(2);
-                body2.writeUInt16BE(this.#info.closeInfo.code, 0);
-                const closeFrame = new WebsocketFrameSend(body2);
-                this.ws[kResponse].socket.write(
-                  closeFrame.createFrame(opcodes.CLOSE),
-                  (err) => {
-                    if (!err) {
-                      this.ws[kSentClose] = true;
-                    }
-                  }
-                );
-              }
-              this.ws[kReadyState] = states.CLOSING;
-              this.ws[kReceivedClose] = true;
-              this.end();
-              return;
-            } else if (this.#info.opcode === opcodes.PING) {
-              const body = this.consume(payloadLength);
-              if (!this.ws[kReceivedClose]) {
-                const frame = new WebsocketFrameSend(body);
-                this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
-                if (channels.ping.hasSubscribers) {
-                  channels.ping.publish({
-                    payload: body
-                  });
-                }
-              }
-              this.#state = parserStates.INFO;
-              if (this.#byteOffset > 0) {
-                continue;
-              } else {
-                callback();
-                return;
-              }
-            } else if (this.#info.opcode === opcodes.PONG) {
-              const body = this.consume(payloadLength);
-              if (channels.pong.hasSubscribers) {
-                channels.pong.publish({
-                  payload: body
-                });
-              }
-              if (this.#byteOffset > 0) {
-                continue;
-              } else {
-                callback();
-                return;
-              }
+            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();
@@ -37672,34 +38476,54 @@ var require_receiver2 = __commonJS({
           } else if (this.#state === parserStates.READ_DATA) {
             if (this.#byteOffset < this.#info.payloadLength) {
               return callback();
-            } else if (this.#byteOffset >= this.#info.payloadLength) {
-              const body = this.consume(this.#info.payloadLength);
-              this.#fragments.push(body);
-              if (!this.#info.fragmented || this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) {
-                const fullMessage = Buffer.concat(this.#fragments);
-                websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage);
-                this.#info = {};
-                this.#fragments.length = 0;
-              }
+            }
+            const body = this.consume(this.#info.payloadLength);
+            if (isControlFrame(this.#info.opcode)) {
+              this.#loop = this.parseControlFrame(body);
               this.#state = parserStates.INFO;
+            } else {
+              if (!this.#info.compressed) {
+                this.#fragments.push(body);
+                if (!this.#info.fragmented && this.#info.fin) {
+                  const fullMessage = Buffer.concat(this.#fragments);
+                  websocketMessageReceived(this.ws, this.#info.binaryType, fullMessage);
+                  this.#fragments.length = 0;
+                }
+                this.#state = parserStates.INFO;
+              } else {
+                this.#extensions.get("permessage-deflate").decompress(body, this.#info.fin, (error3, data) => {
+                  if (error3) {
+                    closeWebSocketConnection(this.ws, 1007, error3.message, error3.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;
+              }
             }
           }
-          if (this.#byteOffset > 0) {
-            continue;
-          } else {
-            callback();
-            break;
-          }
         }
       }
       /**
        * Take n bytes from the buffered Buffers
        * @param {number} n
-       * @returns {Buffer|null}
+       * @returns {Buffer}
        */
       consume(n) {
         if (n > this.#byteOffset) {
-          return null;
+          throw new Error("Called consume() before buffers satiated.");
         } else if (n === 0) {
           return emptyBuffer;
         }
@@ -37727,30 +38551,81 @@ var require_receiver2 = __commonJS({
         this.#byteOffset -= n;
         return buffer;
       }
-      parseCloseBody(onlyCode, data) {
+      parseCloseBody(data) {
+        assert(data.length !== 1);
         let code;
         if (data.length >= 2) {
           code = data.readUInt16BE(0);
         }
-        if (onlyCode) {
-          if (!isValidStatusCode(code)) {
-            return null;
-          }
-          return { code };
+        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);
         }
-        if (code !== void 0 && !isValidStatusCode(code)) {
-          return null;
-        }
         try {
-          reason = new TextDecoder("utf-8", { fatal: true }).decode(reason);
+          reason = utf8Decode(reason);
         } catch {
-          return null;
+          return { code: 1007, reason: "Invalid UTF-8", error: true };
         }
-        return { code, reason };
+        return { code, reason, error: false };
+      }
+      /**
+       * Parses control frames.
+       * @param {Buffer} body
+       */
+      parseControlFrame(body) {
+        const { opcode, payloadLength } = this.#info;
+        if (opcode === opcodes.CLOSE) {
+          if (payloadLength === 1) {
+            failWebsocketConnection(this.ws, "Received close frame with a 1-byte body.");
+            return false;
+          }
+          this.#info.closeInfo = this.parseCloseBody(body);
+          if (this.#info.closeInfo.error) {
+            const { code, reason } = this.#info.closeInfo;
+            closeWebSocketConnection(this.ws, code, reason, reason.length);
+            failWebsocketConnection(this.ws, reason);
+            return false;
+          }
+          if (this.ws[kSentClose] !== sentCloseFrameState.SENT) {
+            let body2 = emptyBuffer;
+            if (this.#info.closeInfo.code) {
+              body2 = Buffer.allocUnsafe(2);
+              body2.writeUInt16BE(this.#info.closeInfo.code, 0);
+            }
+            const closeFrame = new WebsocketFrameSend(body2);
+            this.ws[kResponse].socket.write(
+              closeFrame.createFrame(opcodes.CLOSE),
+              (err) => {
+                if (!err) {
+                  this.ws[kSentClose] = sentCloseFrameState.SENT;
+                }
+              }
+            );
+          }
+          this.ws[kReadyState] = states.CLOSING;
+          this.ws[kReceivedClose] = true;
+          return false;
+        } else if (opcode === opcodes.PING) {
+          if (!this.ws[kReceivedClose]) {
+            const frame = new WebsocketFrameSend(body);
+            this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
+            if (channels.ping.hasSubscribers) {
+              channels.ping.publish({
+                payload: body
+              });
+            }
+          }
+        } else if (opcode === opcodes.PONG) {
+          if (channels.pong.hasSubscribers) {
+            channels.pong.publish({
+              payload: body
+            });
+          }
+        }
+        return true;
       }
       get closingInfo() {
         return this.#info.closeInfo;
@@ -37762,15 +38637,96 @@ var require_receiver2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/websocket/websocket.js
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js
+var require_sender2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js"(exports2, module2) {
+    "use strict";
+    var { WebsocketFrameSend } = require_frame2();
+    var { opcodes, sendHints } = require_constants10();
+    var FixedQueue = require_fixed_queue2();
+    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/@actions/github/node_modules/undici/lib/web/websocket/websocket.js
 var require_websocket2 = __commonJS({
-  "node_modules/undici/lib/websocket/websocket.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js"(exports2, module2) {
     "use strict";
     var { webidl } = require_webidl2();
-    var { DOMException: DOMException2 } = require_constants7();
-    var { URLSerializer } = require_dataURL();
-    var { getGlobalOrigin } = require_global3();
-    var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require_constants10();
+    var { URLSerializer } = require_data_url2();
+    var { environmentSettingsObject } = require_util10();
+    var { staticPropertyDescriptors, states, sentCloseFrameState, sendHints } = require_constants10();
     var {
       kWebSocketURL,
       kReadyState,
@@ -37780,14 +38736,20 @@ var require_websocket2 = __commonJS({
       kSentClose,
       kByteParser
     } = require_symbols10();
-    var { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require_util15();
-    var { establishWebSocketConnection } = require_connection2();
-    var { WebsocketFrameSend } = require_frame2();
+    var {
+      isConnecting,
+      isEstablished,
+      isClosing,
+      isValidSubprotocol,
+      fireEvent
+    } = require_util15();
+    var { establishWebSocketConnection, closeWebSocketConnection } = require_connection2();
     var { ByteParser } = require_receiver2();
     var { kEnumerableProperty, isBlobLike } = require_util9();
     var { getGlobalDispatcher } = require_global4();
-    var { types } = require("util");
-    var experimentalWarned = false;
+    var { types } = require("node:util");
+    var { ErrorEvent, CloseEvent } = require_events2();
+    var { SendQueue } = require_sender2();
     var WebSocket = class _WebSocket extends EventTarget {
       #events = {
         open: null,
@@ -37798,28 +38760,26 @@ var require_websocket2 = __commonJS({
       #bufferedAmount = 0;
       #protocol = "";
       #extensions = "";
+      /** @type {SendQueue} */
+      #sendQueue;
       /**
        * @param {string} url
        * @param {string|string[]} protocols
        */
       constructor(url, protocols = []) {
         super();
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket constructor" });
-        if (!experimentalWarned) {
-          experimentalWarned = true;
-          process.emitWarning("WebSockets are experimental, expect them to change at any time.", {
-            code: "UNDICI-WS"
-          });
-        }
-        const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols);
-        url = webidl.converters.USVString(url);
+        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 = getGlobalOrigin();
+        const baseURL = environmentSettingsObject.settingsObject.baseUrl;
         let urlRecord;
         try {
           urlRecord = new URL(url, baseURL);
         } catch (e) {
-          throw new DOMException2(e, "SyntaxError");
+          throw new DOMException(e, "SyntaxError");
         }
         if (urlRecord.protocol === "http:") {
           urlRecord.protocol = "ws:";
@@ -37827,32 +38787,35 @@ var require_websocket2 = __commonJS({
           urlRecord.protocol = "wss:";
         }
         if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") {
-          throw new DOMException2(
+          throw new DOMException(
             `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
             "SyntaxError"
           );
         }
         if (urlRecord.hash || urlRecord.href.endsWith("#")) {
-          throw new DOMException2("Got fragment", "SyntaxError");
+          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 DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+          throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
         }
         if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
-          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+          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) => this.#onConnectionEstablished(response),
+          (response, extensions) => this.#onConnectionEstablished(response, extensions),
           options
         );
         this[kReadyState] = _WebSocket.CONNECTING;
+        this[kSentClose] = sentCloseFrameState.NOT_SENT;
         this[kBinaryType] = "blob";
       }
       /**
@@ -37862,53 +38825,29 @@ var require_websocket2 = __commonJS({
        */
       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, { clamp: true });
+          code = webidl.converters["unsigned short"](code, prefix, "code", { clamp: true });
         }
         if (reason !== void 0) {
-          reason = webidl.converters.USVString(reason);
+          reason = webidl.converters.USVString(reason, prefix, "reason");
         }
         if (code !== void 0) {
           if (code !== 1e3 && (code < 3e3 || code > 4999)) {
-            throw new DOMException2("invalid code", "InvalidAccessError");
+            throw new DOMException("invalid code", "InvalidAccessError");
           }
         }
         let reasonByteLength = 0;
         if (reason !== void 0) {
           reasonByteLength = Buffer.byteLength(reason);
           if (reasonByteLength > 123) {
-            throw new DOMException2(
+            throw new DOMException(
               `Reason must be less than 123 bytes; received ${reasonByteLength}`,
               "SyntaxError"
             );
           }
         }
-        if (this[kReadyState] === _WebSocket.CLOSING || this[kReadyState] === _WebSocket.CLOSED) {
-        } else if (!isEstablished(this)) {
-          failWebsocketConnection(this, "Connection was closed before it was established.");
-          this[kReadyState] = _WebSocket.CLOSING;
-        } else if (!isClosing(this)) {
-          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 = this[kResponse].socket;
-          socket.write(frame.createFrame(opcodes.CLOSE), (err) => {
-            if (!err) {
-              this[kSentClose] = true;
-            }
-          });
-          this[kReadyState] = states.CLOSING;
-        } else {
-          this[kReadyState] = _WebSocket.CLOSING;
-        }
+        closeWebSocketConnection(this, code, reason, reasonByteLength);
       }
       /**
        * @see https://websockets.spec.whatwg.org/#dom-websocket-send
@@ -37916,50 +38855,36 @@ var require_websocket2 = __commonJS({
        */
       send(data) {
         webidl.brandCheck(this, _WebSocket);
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" });
-        data = webidl.converters.WebSocketSendData(data);
-        if (this[kReadyState] === _WebSocket.CONNECTING) {
-          throw new DOMException2("Sent before connected.", "InvalidStateError");
+        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;
         }
-        const socket = this[kResponse].socket;
         if (typeof data === "string") {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.TEXT);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
+          const length = Buffer.byteLength(data);
+          this.#bufferedAmount += length;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= length;
+          }, sendHints.string);
         } else if (types.isArrayBuffer(data)) {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
+          this.#bufferedAmount += data.byteLength;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= data.byteLength;
+          }, sendHints.arrayBuffer);
         } else if (ArrayBuffer.isView(data)) {
-          const ab = Buffer.from(data, data.byteOffset, data.byteLength);
-          const frame = new WebsocketFrameSend(ab);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += ab.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= ab.byteLength;
-          });
+          this.#bufferedAmount += data.byteLength;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= data.byteLength;
+          }, sendHints.typedArray);
         } else if (isBlobLike(data)) {
-          const frame = new WebsocketFrameSend();
-          data.arrayBuffer().then((ab) => {
-            const value = Buffer.from(ab);
-            frame.frameData = value;
-            const buffer = frame.createFrame(opcodes.BINARY);
-            this.#bufferedAmount += value.byteLength;
-            socket.write(buffer, () => {
-              this.#bufferedAmount -= value.byteLength;
-            });
-          });
+          this.#bufferedAmount += data.size;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= data.size;
+          }, sendHints.blob);
         }
       }
       get readyState() {
@@ -38061,14 +38986,14 @@ var require_websocket2 = __commonJS({
       /**
        * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
        */
-      #onConnectionEstablished(response) {
+      #onConnectionEstablished(response, parsedExtensions) {
         this[kResponse] = response;
-        const parser = new ByteParser(this);
-        parser.on("drain", function onParserDrain() {
-          this.ws[kResponse].socket.resume();
-        });
+        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) {
@@ -38118,26 +39043,22 @@ var require_websocket2 = __commonJS({
     webidl.converters["sequence"] = webidl.sequenceConverter(
       webidl.converters.DOMString
     );
-    webidl.converters["DOMString or sequence"] = function(V) {
+    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);
+      return webidl.converters.DOMString(V, prefix, argument);
     };
     webidl.converters.WebSocketInit = webidl.dictionaryConverter([
       {
         key: "protocols",
         converter: webidl.converters["DOMString or sequence"],
-        get defaultValue() {
-          return [];
-        }
+        defaultValue: () => new Array(0)
       },
       {
         key: "dispatcher",
-        converter: (V) => V,
-        get defaultValue() {
-          return getGlobalDispatcher();
-        }
+        converter: webidl.converters.any,
+        defaultValue: () => getGlobalDispatcher()
       },
       {
         key: "headers",
@@ -38155,1081 +39076,977 @@ var require_websocket2 = __commonJS({
         if (isBlobLike(V)) {
           return webidl.converters.Blob(V, { strict: false });
         }
-        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
+        if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) {
           return webidl.converters.BufferSource(V);
         }
       }
       return webidl.converters.USVString(V);
     };
-    module2.exports = {
-      WebSocket
-    };
-  }
-});
-
-// node_modules/undici/index.js
-var require_undici2 = __commonJS({
-  "node_modules/undici/index.js"(exports2, module2) {
-    "use strict";
-    var Client = require_client2();
-    var Dispatcher = require_dispatcher2();
-    var errors = require_errors2();
-    var Pool = require_pool2();
-    var BalancedPool = require_balanced_pool2();
-    var Agent = require_agent2();
-    var util = require_util9();
-    var { InvalidArgumentError } = errors;
-    var api = require_api2();
-    var buildConnector = require_connect2();
-    var MockClient = require_mock_client2();
-    var MockAgent = require_mock_agent2();
-    var MockPool = require_mock_pool2();
-    var mockErrors = require_mock_errors2();
-    var ProxyAgent = require_proxy_agent2();
-    var RetryHandler = require_RetryHandler();
-    var { getGlobalDispatcher, setGlobalDispatcher } = require_global4();
-    var DecoratorHandler = require_DecoratorHandler();
-    var RedirectHandler = require_RedirectHandler();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var hasCrypto;
-    try {
-      require("crypto");
-      hasCrypto = true;
-    } catch {
-      hasCrypto = false;
+    function onParserDrain() {
+      this.ws[kResponse].socket.resume();
     }
-    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.RetryHandler = RetryHandler;
-    module2.exports.DecoratorHandler = DecoratorHandler;
-    module2.exports.RedirectHandler = RedirectHandler;
-    module2.exports.createRedirectInterceptor = createRedirectInterceptor;
-    module2.exports.buildConnector = buildConnector;
-    module2.exports.errors = errors;
-    function makeDispatcher(fn) {
-      return (url, opts, 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 path4 = opts.path;
-          if (!opts.path.startsWith("/")) {
-            path4 = `/${path4}`;
-          }
-          url = new URL(util.parseOrigin(url).origin + path4);
-        } 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);
-      };
+    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.setGlobalDispatcher = setGlobalDispatcher;
-    module2.exports.getGlobalDispatcher = getGlobalDispatcher;
-    if (util.nodeMajor > 16 || util.nodeMajor === 16 && util.nodeMinor >= 8) {
-      let fetchImpl = null;
-      module2.exports.fetch = async function fetch(resource) {
-        if (!fetchImpl) {
-          fetchImpl = require_fetch2().fetch;
-        }
-        try {
-          return await fetchImpl(...arguments);
-        } catch (err) {
-          if (typeof err === "object") {
-            Error.captureStackTrace(err, this);
-          }
-          throw err;
-        }
-      };
-      module2.exports.Headers = require_headers2().Headers;
-      module2.exports.Response = require_response2().Response;
-      module2.exports.Request = require_request4().Request;
-      module2.exports.FormData = require_formdata2().FormData;
-      module2.exports.File = require_file2().File;
-      module2.exports.FileReader = require_filereader2().FileReader;
-      const { setGlobalOrigin, getGlobalOrigin } = require_global3();
-      module2.exports.setGlobalOrigin = setGlobalOrigin;
-      module2.exports.getGlobalOrigin = getGlobalOrigin;
-      const { CacheStorage } = require_cachestorage2();
-      const { kConstruct } = require_symbols9();
-      module2.exports.caches = new CacheStorage(kConstruct);
+    module2.exports = {
+      WebSocket
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js
+var require_util16 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js"(exports2, module2) {
+    "use strict";
+    function isValidLastEventId(value) {
+      return value.indexOf("\0") === -1;
     }
-    if (util.nodeMajor >= 16) {
-      const { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
-      module2.exports.deleteCookie = deleteCookie;
-      module2.exports.getCookies = getCookies;
-      module2.exports.getSetCookies = getSetCookies;
-      module2.exports.setCookie = setCookie;
-      const { parseMIMEType, serializeAMimeType } = require_dataURL();
-      module2.exports.parseMIMEType = parseMIMEType;
-      module2.exports.serializeAMimeType = serializeAMimeType;
+    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;
     }
-    if (util.nodeMajor >= 18 && hasCrypto) {
-      const { WebSocket } = require_websocket2();
-      module2.exports.WebSocket = WebSocket;
+    function delay(ms) {
+      return new Promise((resolve3) => {
+        setTimeout(resolve3, ms).unref();
+      });
     }
-    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;
+    module2.exports = {
+      isValidLastEventId,
+      isASCIINumber,
+      delay
+    };
   }
 });
 
-// node_modules/@actions/github/lib/internal/utils.js
-var require_utils4 = __commonJS({
-  "node_modules/@actions/github/lib/internal/utils.js"(exports2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js
+var require_eventsource_stream2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js"(exports2, module2) {
     "use strict";
-    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = 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 ownKeys2(o);
+    var { Transform } = require("node:stream");
+    var { isASCIINumber, isValidLastEventId } = require_util16();
+    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
       };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+      /**
+       * @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;
         }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve3) {
-          resolve3(value);
-        });
       }
-      return new (P || (P = Promise))(function(resolve3, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
+      /**
+       * @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;
           }
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
+        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++;
         }
-        function step(result) {
-          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        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;
         }
-        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 = __importStar2(require_lib());
-    var undici_1 = require_undici2();
-    function getAuthString(token, options) {
-      if (!token && !options.auth) {
-        throw new Error("Parameter token or opts.auth is required");
-      } else if (token && options.auth) {
-        throw new Error("Parameters token and opts.auth may not both be specified");
       }
-      return typeof options.auth === "string" ? options.auth : `token ${token}`;
-    }
-    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) => __awaiter2(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/@octokit/core/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/@octokit/core/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"() {
+      /**
+       * @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/before-after-hook/lib/add.js
-function addHook(state, kind, name, hook2) {
-  const orig = hook2;
-  if (!state.registry[name]) {
-    state.registry[name] = [];
-  }
-  if (kind === "before") {
-    hook2 = (method, options) => {
-      return Promise.resolve().then(orig.bind(null, options)).then(method.bind(null, options));
-    };
-  }
-  if (kind === "after") {
-    hook2 = (method, options) => {
-      let result;
-      return Promise.resolve().then(method.bind(null, options)).then((result_) => {
-        result = result_;
-        return orig(result, options);
-      }).then(() => {
-        return result;
-      });
-    };
-  }
-  if (kind === "error") {
-    hook2 = (method, options) => {
-      return Promise.resolve().then(method.bind(null, options)).catch((error3) => {
-        return orig(error3, 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 = /* @__PURE__ */ 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/node_modules/universal-user-agent/index.js
-function getUserAgent2() {
-  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_agent2 = __esm({
-  "node_modules/@octokit/endpoint/node_modules/universal-user-agent/index.js"() {
-  }
-});
-
-// 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] });
-    }
-  });
-  return result;
-}
-function removeUndefinedProperties(obj) {
-  for (const key in obj) {
-    if (obj[key] === void 0) {
-      delete obj[key];
-    }
-  }
-  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);
-    }
-    mergedOptions.mediaType.previews = (mergedOptions.mediaType.previews || []).map((preview) => preview.replace(/-preview/, ""));
-  }
-  return mergedOptions;
-}
-function addQueryParameters(url, parameters) {
-  const separator = /\?/.test(url) ? "&" : "?";
-  const names = Object.keys(parameters);
-  if (names.length === 0) {
-    return url;
-  }
-  return url + separator + names.map((name) => {
-    if (name === "q") {
-      return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+");
-    }
-    return `${name}=${encodeURIComponent(parameters[name])}`;
-  }).join("&");
-}
-function removeNonChars(variableName) {
-  return variableName.replace(/(?:^\W+)|(?:(? a.concat(b), []);
-}
-function omit(object, keysToOmit) {
-  const result = { __proto__: null };
-  for (const key of Object.keys(object)) {
-    if (keysToOmit.indexOf(key) === -1) {
-      result[key] = object[key];
-    }
-  }
-  return result;
-}
-function encodeReserved(str2) {
-  return str2.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(str2) {
-  return encodeURIComponent(str2).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(context2, operator, key, modifier) {
-  var value = context2[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));
-            }
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js
+var require_eventsource2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js"(exports2, module2) {
+    "use strict";
+    var { pipeline } = require("node:stream");
+    var { fetching } = require_fetch2();
+    var { makeRequest } = require_request4();
+    var { webidl } = require_webidl2();
+    var { EventSourceStream } = require_eventsource_stream2();
+    var { parseMIMEType } = require_data_url2();
+    var { createFastMessageEvent } = require_events2();
+    var { isNetworkError } = require_response2();
+    var { delay } = require_util16();
+    var { kEnumerableProperty } = require_util9();
+    var { environmentSettingsObject } = require_util10();
+    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"
           });
         }
-      } 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()));
+        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,
+            (error3) => {
+              if (error3?.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);
         }
-        if (isKeyOperator(operator)) {
-          result.push(encodeUnreserved(key) + "=" + tmp.join(","));
-        } else if (tmp.length !== 0) {
-          result.push(tmp.join(","));
+        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;
         }
       }
-    }
-  } else {
-    if (operator === ";") {
-      if (isDefined(value)) {
-        result.push(encodeUnreserved(key));
+      get onmessage() {
+        return this.#events.message;
       }
-    } 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, context2) {
-  var operators = ["+", "#", ".", "/", ";", "?", "&"];
-  template = template.replace(
-    /\{([^\{\}]+)\}|([^\{\}]+)/g,
-    function(_2, expression, literal) {
-      if (expression) {
-        let operator = "";
-        const values = [];
-        if (operators.indexOf(expression.charAt(0)) !== -1) {
-          operator = expression.charAt(0);
-          expression = expression.substr(1);
+      set onmessage(fn) {
+        if (this.#events.message) {
+          this.removeEventListener("message", this.#events.message);
         }
-        expression.split(/,/g).forEach(function(variable) {
-          var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable);
-          values.push(getValues(context2, 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);
+        if (typeof fn === "function") {
+          this.#events.message = fn;
+          this.addEventListener("message", fn);
         } else {
-          return values.join(",");
+          this.#events.message = null;
         }
-      } else {
-        return encodeReserved(literal);
       }
-    }
-  );
-  if (template === "/") {
-    return template;
-  } else {
-    return template.replace(/\/$/, "");
-  }
-}
-function parse(options) {
-  let method = options.method.toUpperCase();
-  let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}");
-  let headers = Object.assign({}, options.headers);
-  let body;
-  let parameters = omit(options, [
-    "method",
-    "baseUrl",
-    "url",
-    "headers",
-    "request",
-    "mediaType"
-  ]);
-  const urlVariableNames = extractUrlVariableNames(url);
-  url = parseUrl(url).expand(parameters);
-  if (!/^http/.test(url)) {
-    url = options.baseUrl + url;
-  }
-  const omittedParameters = Object.keys(options).filter((option) => urlVariableNames.includes(option)).concat("baseUrl");
-  const remainingParameters = omit(parameters, omittedParameters);
-  const isBinaryRequest = /application\/octet-stream/i.test(headers.accept);
-  if (!isBinaryRequest) {
-    if (options.mediaType.format) {
-      headers.accept = headers.accept.split(/,/).map(
-        (format) => format.replace(
-          /application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,
-          `application/vnd$1$2.${options.mediaType.format}`
-        )
-      ).join(",");
-    }
-    if (url.endsWith("/graphql")) {
-      if (options.mediaType.previews?.length) {
-        const previewsFromAcceptHeader = headers.accept.match(/(? {
-          const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json";
-          return `application/vnd.github.${preview}-preview${format}`;
-        }).join(",");
+      get onerror() {
+        return this.#events.error;
       }
-    }
-  }
-  if (["GET", "HEAD"].includes(method)) {
-    url = addQueryParameters(url, remainingParameters);
-  } else {
-    if ("data" in remainingParameters) {
-      body = remainingParameters.data;
-    } else {
-      if (Object.keys(remainingParameters).length) {
-        body = remainingParameters;
+      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;
+        }
       }
-    }
-  }
-  if (!headers["content-type"] && typeof body !== "undefined") {
-    headers["content-type"] = "application/json; charset=utf-8";
-  }
-  if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") {
-    body = "";
-  }
-  return Object.assign(
-    { method, url, headers },
-    typeof body !== "undefined" ? { body } : null,
-    options.request ? { request: options.request } : null
-  );
-}
-function endpointWithDefaults(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_agent2();
-    VERSION = "0.0.0-development";
-    userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent2()}`;
-    DEFAULTS = {
-      method: "GET",
-      baseUrl: "https://api.github.com",
-      headers: {
-        accept: "application/vnd.github.v3+json",
-        "user-agent": userAgent
+    };
+    var constantsPropertyDescriptors = {
+      CONNECTING: {
+        __proto__: null,
+        configurable: false,
+        enumerable: true,
+        value: CONNECTING,
+        writable: false
       },
-      mediaType: {
-        format: ""
+      OPEN: {
+        __proto__: null,
+        configurable: false,
+        enumerable: true,
+        value: OPEN,
+        writable: false
+      },
+      CLOSED: {
+        __proto__: null,
+        configurable: false,
+        enumerable: true,
+        value: CLOSED,
+        writable: false
       }
     };
-    urlVariableRegex = /\{[^{}}]+\}/g;
-    endpoint = withDefaults(null, DEFAULTS);
-  }
-});
-
-// node_modules/@octokit/request/node_modules/universal-user-agent/index.js
-function getUserAgent3() {
-  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_agent3 = __esm({
-  "node_modules/@octokit/request/node_modules/universal-user-agent/index.js"() {
+    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/fast-content-type-parse/index.js
-var require_fast_content_type_parse = __commonJS({
-  "node_modules/fast-content-type-parse/index.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/index.js
+var require_undici2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/index.js"(exports2, module2) {
     "use strict";
-    var NullObject = function NullObject2() {
+    var Client = require_client2();
+    var Dispatcher = require_dispatcher2();
+    var Pool = require_pool2();
+    var BalancedPool = require_balanced_pool2();
+    var Agent = require_agent2();
+    var ProxyAgent = require_proxy_agent2();
+    var EnvHttpProxyAgent = require_env_http_proxy_agent2();
+    var RetryAgent = require_retry_agent2();
+    var errors = require_errors2();
+    var util = require_util9();
+    var { InvalidArgumentError } = errors;
+    var api = require_api2();
+    var buildConnector = require_connect2();
+    var MockClient = require_mock_client2();
+    var MockAgent = require_mock_agent2();
+    var MockPool = require_mock_pool2();
+    var mockErrors = require_mock_errors2();
+    var RetryHandler = require_retry_handler2();
+    var { getGlobalDispatcher, setGlobalDispatcher } = require_global4();
+    var DecoratorHandler = require_decorator_handler2();
+    var RedirectHandler = require_redirect_handler2();
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    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_redirect2(),
+      retry: require_retry2(),
+      dump: require_dump2(),
+      dns: require_dns2()
     };
-    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 type2 = index !== -1 ? header.slice(0, index).trim() : header.trim();
-      if (mediaTypeRE.test(type2) === false) {
-        throw new TypeError("invalid media type");
-      }
-      const result = {
-        type: type2.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");
+    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;
         }
-        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"));
+        if (!url || typeof url !== "string" && typeof url !== "object" && !(url instanceof URL)) {
+          throw new InvalidArgumentError("invalid url");
         }
-        result.parameters[key] = value;
-      }
-      if (index !== header.length) {
-        throw new TypeError("invalid parameter format");
-      }
-      return result;
+        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 path4 = opts.path;
+          if (!opts.path.startsWith("/")) {
+            path4 = `/${path4}`;
+          }
+          url = new URL(util.parseOrigin(url).origin + path4);
+        } 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);
+      };
     }
-    function safeParse2(header) {
-      if (typeof header !== "string") {
-        return defaultContentType;
+    module2.exports.setGlobalDispatcher = setGlobalDispatcher;
+    module2.exports.getGlobalDispatcher = getGlobalDispatcher;
+    var fetchImpl = require_fetch2().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;
       }
-      let index = header.indexOf(";");
-      const type2 = index !== -1 ? header.slice(0, index).trim() : header.trim();
-      if (mediaTypeRE.test(type2) === false) {
-        return defaultContentType;
+    };
+    module2.exports.Headers = require_headers2().Headers;
+    module2.exports.Response = require_response2().Response;
+    module2.exports.Request = require_request4().Request;
+    module2.exports.FormData = require_formdata2().FormData;
+    module2.exports.File = globalThis.File ?? require("node:buffer").File;
+    module2.exports.FileReader = require_filereader2().FileReader;
+    var { setGlobalOrigin, getGlobalOrigin } = require_global3();
+    module2.exports.setGlobalOrigin = setGlobalOrigin;
+    module2.exports.getGlobalOrigin = getGlobalOrigin;
+    var { CacheStorage } = require_cachestorage2();
+    var { kConstruct } = require_symbols9();
+    module2.exports.caches = new CacheStorage(kConstruct);
+    var { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
+    module2.exports.deleteCookie = deleteCookie;
+    module2.exports.getCookies = getCookies;
+    module2.exports.getSetCookies = getSetCookies;
+    module2.exports.setCookie = setCookie;
+    var { parseMIMEType, serializeAMimeType } = require_data_url2();
+    module2.exports.parseMIMEType = parseMIMEType;
+    module2.exports.serializeAMimeType = serializeAMimeType;
+    var { CloseEvent, ErrorEvent, MessageEvent } = require_events2();
+    module2.exports.WebSocket = require_websocket2().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_eventsource2();
+    module2.exports.EventSource = EventSource;
+  }
+});
+
+// node_modules/@actions/github/lib/internal/utils.js
+var require_utils4 = __commonJS({
+  "node_modules/@actions/github/lib/internal/utils.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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];
+        } };
       }
-      const result = {
-        type: type2.toLowerCase(),
-        parameters: new NullObject()
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = 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 ownKeys2(o);
       };
-      if (index === -1) {
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
         return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve3) {
+          resolve3(value);
+        });
       }
-      let key;
-      let match;
-      let value;
-      paramRE.lastIndex = index;
-      while (match = paramRE.exec(header)) {
-        if (match.index !== index) {
-          return defaultContentType;
+      return new (P || (P = Promise))(function(resolve3, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        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"));
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        result.parameters[key] = value;
-      }
-      if (index !== header.length) {
-        return defaultContentType;
+        function step(result) {
+          result.done ? resolve3(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 = __importStar2(require_lib());
+    var undici_1 = require_undici2();
+    function getAuthString(token, options) {
+      if (!token && !options.auth) {
+        throw new Error("Parameter token or opts.auth is required");
+      } else if (token && options.auth) {
+        throw new Error("Parameters token and opts.auth may not both be specified");
       }
-      return result;
+      return typeof options.auth === "string" ? options.auth : `token ${token}`;
+    }
+    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) => __awaiter2(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";
     }
-    module2.exports.default = { parse: parse2, safeParse: safeParse2 };
-    module2.exports.parse = parse2;
-    module2.exports.safeParse = safeParse2;
-    module2.exports.defaultContentType = defaultContentType;
   }
 });
 
-// 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, { cause: options.cause });
-        this.name = "HttpError";
-        this.status = Number.parseInt(statusCode);
-        if (Number.isNaN(this.status)) {
-          this.status = 0;
-        }
-        if ("response" in options) {
-          this.response = options.response;
-        }
-        const requestCopy = Object.assign({}, options.request);
-        if (options.request.headers.authorization) {
-          requestCopy.headers = Object.assign({}, options.request.headers, {
-            authorization: options.request.headers.authorization.replace(
-              /(?";
+}
+var init_universal_user_agent = __esm({
+  "node_modules/@octokit/core/node_modules/universal-user-agent/index.js"() {
   }
 });
 
-// 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 body = isPlainObject2(requestOptions.body) || Array.isArray(requestOptions.body) ? JSON.stringify(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,
-      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 (error3) {
-    let message = "Unknown Error";
-    if (error3 instanceof Error) {
-      if (error3.name === "AbortError") {
-        error3.status = 500;
-        throw error3;
-      }
-      message = error3.message;
-      if (error3.name === "TypeError" && "cause" in error3) {
-        if (error3.cause instanceof Error) {
-          message = error3.cause.message;
-        } else if (typeof error3.cause === "string") {
-          message = error3.cause;
-        }
-      }
-    }
-    const requestError = new RequestError(message, 500, {
-      request: requestOptions
-    });
-    requestError.cause = error3;
-    throw requestError;
-  }
-  const status = fetchResponse.status;
-  const url = fetchResponse.url;
-  const responseHeaders = {};
-  for (const [key, value] of fetchResponse.headers) {
-    responseHeaders[key] = value;
+// 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");
   }
-  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 (!options) {
+    options = {};
   }
-  if (status === 204 || status === 205) {
-    return octokitResponse;
+  if (Array.isArray(name)) {
+    return name.reverse().reduce((callback, name2) => {
+      return register.bind(null, state, name2, callback, options);
+    }, method)();
   }
-  if (requestOptions.method === "HEAD") {
-    if (status < 400) {
-      return octokitResponse;
+  return Promise.resolve().then(() => {
+    if (!state.registry[name]) {
+      return method(options);
     }
-    throw new RequestError(fetchResponse.statusText, status, {
-      response: octokitResponse,
-      request: requestOptions
-    });
+    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"() {
   }
-  if (status === 304) {
-    octokitResponse.data = await getResponseData(fetchResponse);
-    throw new RequestError("Not modified", status, {
-      response: octokitResponse,
-      request: requestOptions
-    });
+});
+
+// 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 (status >= 400) {
-    octokitResponse.data = await getResponseData(fetchResponse);
-    throw new RequestError(toErrorMessage(octokitResponse.data), status, {
-      response: octokitResponse,
-      request: requestOptions
-    });
+  if (kind === "before") {
+    hook2 = (method, options) => {
+      return Promise.resolve().then(orig.bind(null, options)).then(method.bind(null, options));
+    };
   }
-  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);
+  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;
+      });
+    };
   }
-  const mimetype = (0, import_fast_content_type_parse.safeParse)(contentType);
-  if (isJSONResponse(mimetype)) {
-    let text = "";
-    try {
-      text = await response.text();
-      return JSON.parse(text);
-    } catch (err) {
-      return text;
-    }
-  } else if (mimetype.type.startsWith("text/") || mimetype.parameters.charset?.toLowerCase() === "utf-8") {
-    return response.text().catch(noop);
-  } else {
-    return response.arrayBuffer().catch(
-      /* v8 ignore next -- @preserve */
-      () => new ArrayBuffer(0)
-    );
+  if (kind === "error") {
+    hook2 = (method, options) => {
+      return Promise.resolve().then(method.bind(null, options)).catch((error3) => {
+        return orig(error3, options);
+      });
+    };
   }
+  state.registry[name].push({
+    hook: hook2,
+    orig
+  });
 }
-function isJSONResponse(mimetype) {
-  return mimetype.type === "application/json" || mimetype.type === "application/scim+json";
-}
-function toErrorMessage(data) {
-  if (typeof data === "string") {
-    return data;
+var init_add = __esm({
+  "node_modules/before-after-hook/lib/add.js"() {
   }
-  if (data instanceof ArrayBuffer) {
-    return "Unknown error";
+});
+
+// node_modules/before-after-hook/lib/remove.js
+function removeHook(state, name, method) {
+  if (!state.registry[name]) {
+    return;
   }
-  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}`;
+  const index = state.registry[name].map((registered) => {
+    return registered.orig;
+  }).indexOf(method);
+  if (index === -1) {
+    return;
   }
-  return `Unknown error: ${JSON.stringify(data)}`;
+  state.registry[name].splice(index, 1);
 }
-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 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);
   });
 }
-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_agent3();
-    import_fast_content_type_parse = __toESM(require_fast_content_type_parse(), 1);
-    init_dist_src();
-    VERSION2 = "10.0.7";
-    defaults_default = {
-      headers: {
-        "user-agent": `octokit-request.js/${VERSION2} ${getUserAgent3()}`
-      }
-    };
-    noop = () => "";
-    request = withDefaults2(endpoint, defaults_default);
+function Singular() {
+  const singularHookName = /* @__PURE__ */ 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/graphql/node_modules/universal-user-agent/index.js
-function getUserAgent4() {
+// node_modules/@octokit/endpoint/node_modules/universal-user-agent/index.js
+function getUserAgent2() {
   if (typeof navigator === "object" && "userAgent" in navigator) {
     return navigator.userAgent;
   }
@@ -39238,363 +40055,1039 @@ function getUserAgent4() {
   }
   return "";
 }
-var init_universal_user_agent4 = __esm({
-  "node_modules/@octokit/graphql/node_modules/universal-user-agent/index.js"() {
+var init_universal_user_agent2 = __esm({
+  "node_modules/@octokit/endpoint/node_modules/universal-user-agent/index.js"() {
   }
 });
 
-// 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");
+// 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 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`)
-      );
+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] });
     }
-    for (const key in options) {
-      if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue;
-      return Promise.reject(
-        new Error(
-          `[@octokit/graphql] "${key}" cannot be used as variable name`
-        )
-      );
+  });
+  return result;
+}
+function removeUndefinedProperties(obj) {
+  for (const key in obj) {
+    if (obj[key] === void 0) {
+      delete obj[key];
     }
   }
-  const parsedOptions = typeof query === "string" ? Object.assign({ query }, options) : query;
-  const requestOptions = Object.keys(
-    parsedOptions
-  ).reduce((result, key) => {
-    if (NON_VARIABLE_OPTIONS.includes(key)) {
-      result[key] = parsedOptions[key];
-      return result;
+  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);
     }
-    if (!result.variables) {
-      result.variables = {};
+    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("+");
     }
-    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 `${name}=${encodeURIComponent(parameters[name])}`;
+  }).join("&");
+}
+function removeNonChars(variableName) {
+  return variableName.replace(/(?:^\W+)|(?:(? {
-    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 matches.map(removeNonChars).reduce((a, b) => 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 response.data.data;
-  });
+  }
+  return result;
 }
-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 encodeReserved(str2) {
+  return str2.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 withCustomRequest(customRequest) {
-  return withDefaults3(customRequest, {
-    method: "POST",
-    url: "/graphql"
+function encodeUnreserved(str2) {
+  return encodeURIComponent(str2).replace(/[!'()*]/g, function(c) {
+    return "%" + c.charCodeAt(0).toString(16).toUpperCase();
   });
 }
-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_agent4();
-    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.errors = response.errors;
-        this.data = response.data;
-        if (Error.captureStackTrace) {
-          Error.captureStackTrace(this, this.constructor);
-        }
-      }
-      name = "GraphqlResponseError";
-      errors;
-      data;
-    };
-    NON_VARIABLE_OPTIONS = [
-      "method",
-      "baseUrl",
-      "url",
-      "headers",
-      "request",
-      "query",
-      "mediaType",
-      "operationName"
-    ];
-    FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"];
-    GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/;
-    graphql2 = withDefaults3(request, {
-      headers: {
-        "user-agent": `octokit-graphql.js/${VERSION3} ${getUserAgent4()}`
-      },
-      method: "POST",
-      url: "/graphql"
-    });
+function encodeValue(operator, value, key) {
+  value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value);
+  if (key) {
+    return encodeUnreserved(key) + "=" + value;
+  } else {
+    return value;
   }
-});
-
-// node_modules/@octokit/auth-token/dist-bundle/index.js
-async function auth(token) {
-  const isApp = isJWT(token);
-  const isInstallation = token.startsWith("v1.") || token.startsWith("ghs_");
-  const isUserToServer = token.startsWith("ghu_");
-  const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth";
-  return {
-    type: "token",
-    token,
-    tokenType
-  };
 }
-function withAuthorizationPrefix(token) {
-  if (token.split(/\./).length === 3) {
-    return `bearer ${token}`;
-  }
-  return `token ${token}`;
+function isDefined(value) {
+  return value !== void 0 && value !== null;
 }
-async function hook(token, request2, route, parameters) {
-  const endpoint2 = request2.endpoint.merge(
-    route,
-    parameters
-  );
-  endpoint2.headers.authorization = withAuthorizationPrefix(token);
-  return request2(endpoint2);
+function isKeyOperator(operator) {
+  return operator === ";" || operator === "&" || operator === "?";
 }
-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(token) {
-      if (!token) {
-        throw new Error("[@octokit/auth-token] No token passed to createTokenAuth");
+function getValues(context2, operator, key, modifier) {
+  var value = context2[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));
       }
-      if (typeof token !== "string") {
-        throw new Error(
-          "[@octokit/auth-token] Token passed to createTokenAuth is not a string"
-        );
+      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(","));
+        }
       }
-      token = token.replace(/^(token|bearer) +/i, "");
-      return Object.assign(auth.bind(null, token), {
-        hook: hook.bind(null, token)
-      });
-    };
+    }
+  } else {
+    if (operator === ";") {
+      if (isDefined(value)) {
+        result.push(encodeUnreserved(key));
+      }
+    } else if (value === "" && (operator === "&" || operator === "?")) {
+      result.push(encodeUnreserved(key) + "=");
+    } else if (value === "") {
+      result.push("");
+    }
   }
-});
-
-// 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";
+  return result;
+}
+function parseUrl(template) {
+  return {
+    expand: expand.bind(null, template)
+  };
+}
+function expand(template, context2) {
+  var operators = ["+", "#", ".", "/", ";", "?", "&"];
+  template = template.replace(
+    /\{([^\{\}]+)\}|([^\{\}]+)/g,
+    function(_2, 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(context2, operator, tmp[1], tmp[2] || tmp[3]));
+        });
+        if (operator && operator !== "+") {
+          var separator = ",";
+          if (operator === "?") {
+            separator = "&";
+          } else if (operator !== "#") {
+            separator = operator;
+          }
+          return (values.length !== 0 ? operator : "") + values.join(separator);
+        } else {
+          return values.join(",");
+        }
+      } else {
+        return encodeReserved(literal);
+      }
+    }
+  );
+  if (template === "/") {
+    return template;
+  } else {
+    return template.replace(/\/$/, "");
   }
-});
-
-// 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;
+}
+function parse(options) {
+  let method = options.method.toUpperCase();
+  let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}");
+  let headers = Object.assign({}, options.headers);
+  let body;
+  let parameters = omit(options, [
+    "method",
+    "baseUrl",
+    "url",
+    "headers",
+    "request",
+    "mediaType"
+  ]);
+  const urlVariableNames = extractUrlVariableNames(url);
+  url = parseUrl(url).expand(parameters);
+  if (!/^http/.test(url)) {
+    url = options.baseUrl + url;
   }
-  if (typeof logger.info !== "function") {
-    logger.info = noop2;
+  const omittedParameters = Object.keys(options).filter((option) => urlVariableNames.includes(option)).concat("baseUrl");
+  const remainingParameters = omit(parameters, omittedParameters);
+  const isBinaryRequest = /application\/octet-stream/i.test(headers.accept);
+  if (!isBinaryRequest) {
+    if (options.mediaType.format) {
+      headers.accept = headers.accept.split(/,/).map(
+        (format) => format.replace(
+          /application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,
+          `application/vnd$1$2.${options.mediaType.format}`
+        )
+      ).join(",");
+    }
+    if (url.endsWith("/graphql")) {
+      if (options.mediaType.previews?.length) {
+        const previewsFromAcceptHeader = headers.accept.match(/(? {
+          const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json";
+          return `application/vnd.github.${preview}-preview${format}`;
+        }).join(",");
+      }
+    }
   }
-  if (typeof logger.warn !== "function") {
-    logger.warn = consoleWarn;
+  if (["GET", "HEAD"].includes(method)) {
+    url = addQueryParameters(url, remainingParameters);
+  } else {
+    if ("data" in remainingParameters) {
+      body = remainingParameters.data;
+    } else {
+      if (Object.keys(remainingParameters).length) {
+        body = remainingParameters;
+      }
+    }
   }
-  if (typeof logger.error !== "function") {
-    logger.error = consoleError;
+  if (!headers["content-type"] && typeof body !== "undefined") {
+    headers["content-type"] = "application/json; charset=utf-8";
   }
-  return logger;
+  if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") {
+    body = "";
+  }
+  return Object.assign(
+    { method, url, headers },
+    typeof body !== "undefined" ? { body } : null,
+    options.request ? { request: options.request } : null
+  );
 }
-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 = () => {
+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_agent2();
+    VERSION = "0.0.0-development";
+    userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent2()}`;
+    DEFAULTS = {
+      method: "GET",
+      baseUrl: "https://api.github.com",
+      headers: {
+        accept: "application/vnd.github.v3+json",
+        "user-agent": userAgent
+      },
+      mediaType: {
+        format: ""
+      }
     };
-    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;
+    urlVariableRegex = /\{[^{}}]+\}/g;
+    endpoint = withDefaults(null, DEFAULTS);
+  }
+});
+
+// node_modules/@octokit/request/node_modules/universal-user-agent/index.js
+function getUserAgent3() {
+  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_agent3 = __esm({
+  "node_modules/@octokit/request/node_modules/universal-user-agent/index.js"() {
+  }
+});
+
+// node_modules/fast-content-type-parse/index.js
+var require_fast_content_type_parse = __commonJS({
+  "node_modules/fast-content-type-parse/index.js"(exports2, module2) {
+    "use strict";
+    var NullObject = function NullObject2() {
+    };
+    NullObject.prototype = /* @__PURE__ */ Object.create(null);
+    var paramRE = /; *([!#$%&'*+.^\w`|~-]+)=("(?:[\v\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\v\u0020-\u00ff])*"|[!#$%&'*+.^\w`|~-]+) */gu;
+    var quotedPairRE = /\\([\v\u0020-\u00ff])/gu;
+    var mediaTypeRE = /^[!#$%&'*+.^\w|~-]+\/[!#$%&'*+.^\w|~-]+$/u;
+    var defaultContentType = { type: "", parameters: new NullObject() };
+    Object.freeze(defaultContentType.parameters);
+    Object.freeze(defaultContentType);
+    function parse2(header) {
+      if (typeof header !== "string") {
+        throw new TypeError("argument header is required and must be a string");
       }
-      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;
+      let index = header.indexOf(";");
+      const type2 = index !== -1 ? header.slice(0, index).trim() : header.trim();
+      if (mediaTypeRE.test(type2) === false) {
+        throw new TypeError("invalid media type");
       }
-      constructor(options = {}) {
-        const hook2 = new before_after_hook_default.Collection();
-        const requestDefaults = {
-          baseUrl: request.endpoint.DEFAULTS.baseUrl,
-          headers: {},
-          request: Object.assign({}, options.request, {
-            // @ts-ignore internal usage only, no need to type
-            hook: hook2.bind(null, "request")
-          }),
-          mediaType: {
-            previews: [],
-            format: ""
-          }
-        };
-        requestDefaults.headers["user-agent"] = options.userAgent ? `${options.userAgent} ${userAgentTrail}` : userAgentTrail;
-        if (options.baseUrl) {
-          requestDefaults.baseUrl = options.baseUrl;
-        }
-        if (options.previews) {
-          requestDefaults.mediaType.previews = options.previews;
+      const result = {
+        type: type2.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");
         }
-        if (options.timeZone) {
-          requestDefaults.headers["time-zone"] = options.timeZone;
+        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.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 auth2 = createTokenAuth(options.auth);
-            hook2.wrap("request", auth2.hook);
-            this.auth = auth2;
-          }
-        } else {
-          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
-            )
-          );
-          hook2.wrap("request", auth2.hook);
-          this.auth = auth2;
+        result.parameters[key] = value;
+      }
+      if (index !== header.length) {
+        throw new TypeError("invalid parameter format");
+      }
+      return result;
+    }
+    function safeParse2(header) {
+      if (typeof header !== "string") {
+        return defaultContentType;
+      }
+      let index = header.indexOf(";");
+      const type2 = index !== -1 ? header.slice(0, index).trim() : header.trim();
+      if (mediaTypeRE.test(type2) === false) {
+        return defaultContentType;
+      }
+      const result = {
+        type: type2.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;
         }
-        const classConstructor = this.constructor;
-        for (let i = 0; i < classConstructor.plugins.length; ++i) {
-          Object.assign(this, classConstructor.plugins[i](this, options));
+        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;
       }
-      // assigned during constructor
-      request;
-      graphql;
-      log;
-      hook;
-      // TODO: type `octokit.auth` based on passed options.authStrategy
-      auth;
-    };
+      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/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js
-var VERSION5;
-var init_version2 = __esm({
-  "node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js"() {
-    VERSION5 = "17.0.0";
+// 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, { cause: options.cause });
+        this.name = "HttpError";
+        this.status = Number.parseInt(statusCode);
+        if (Number.isNaN(this.status)) {
+          this.status = 0;
+        }
+        if ("response" in options) {
+          this.response = options.response;
+        }
+        const requestCopy = Object.assign({}, options.request);
+        if (options.request.headers.authorization) {
+          requestCopy.headers = Object.assign({}, options.request.headers, {
+            authorization: options.request.headers.authorization.replace(
+              /(? [
+      name,
+      String(value)
+    ])
+  );
+  let fetchResponse;
+  try {
+    fetchResponse = await fetch(requestOptions.url, {
+      method: requestOptions.method,
+      body,
+      redirect: requestOptions.request?.redirect,
+      headers: requestHeaders,
+      signal: requestOptions.request?.signal,
+      // duplex must be set if request.body is ReadableStream or Async Iterables.
+      // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex.
+      ...requestOptions.body && { duplex: "half" }
+    });
+  } catch (error3) {
+    let message = "Unknown Error";
+    if (error3 instanceof Error) {
+      if (error3.name === "AbortError") {
+        error3.status = 500;
+        throw error3;
+      }
+      message = error3.message;
+      if (error3.name === "TypeError" && "cause" in error3) {
+        if (error3.cause instanceof Error) {
+          message = error3.cause.message;
+        } else if (typeof error3.cause === "string") {
+          message = error3.cause;
+        }
+      }
+    }
+    const requestError = new RequestError(message, 500, {
+      request: requestOptions
+    });
+    requestError.cause = error3;
+    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 JSON.parse(text);
+    } catch (err) {
+      return text;
+    }
+  } else if (mimetype.type.startsWith("text/") || mimetype.parameters.charset?.toLowerCase() === "utf-8") {
+    return response.text().catch(noop);
+  } else {
+    return response.arrayBuffer().catch(
+      /* v8 ignore next -- @preserve */
+      () => new ArrayBuffer(0)
+    );
+  }
+}
+function isJSONResponse(mimetype) {
+  return mimetype.type === "application/json" || mimetype.type === "application/scim+json";
+}
+function toErrorMessage(data) {
+  if (typeof data === "string") {
+    return data;
+  }
+  if (data instanceof ArrayBuffer) {
+    return "Unknown error";
+  }
+  if ("message" in data) {
+    const suffix = "documentation_url" in data ? ` - ${data.documentation_url}` : "";
+    return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(", ")}${suffix}` : `${data.message}${suffix}`;
+  }
+  return `Unknown error: ${JSON.stringify(data)}`;
+}
+function withDefaults2(oldEndpoint, newDefaults) {
+  const endpoint2 = oldEndpoint.defaults(newDefaults);
+  const newApi = function(route, parameters) {
+    const endpointOptions = endpoint2.merge(route, parameters);
+    if (!endpointOptions.request || !endpointOptions.request.hook) {
+      return fetchWrapper(endpoint2.parse(endpointOptions));
+    }
+    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_agent3();
+    import_fast_content_type_parse = __toESM(require_fast_content_type_parse(), 1);
+    init_dist_src();
+    VERSION2 = "10.0.7";
+    defaults_default = {
+      headers: {
+        "user-agent": `octokit-request.js/${VERSION2} ${getUserAgent3()}`
+      }
+    };
+    noop = () => "";
+    request = withDefaults2(endpoint, defaults_default);
+  }
+});
+
+// node_modules/@octokit/graphql/node_modules/universal-user-agent/index.js
+function getUserAgent4() {
+  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_agent4 = __esm({
+  "node_modules/@octokit/graphql/node_modules/universal-user-agent/index.js"() {
+  }
+});
+
+// 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
+      );
+    }
+    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_agent4();
+    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.errors = response.errors;
+        this.data = response.data;
+        if (Error.captureStackTrace) {
+          Error.captureStackTrace(this, this.constructor);
+        }
+      }
+      name = "GraphqlResponseError";
+      errors;
+      data;
+    };
+    NON_VARIABLE_OPTIONS = [
+      "method",
+      "baseUrl",
+      "url",
+      "headers",
+      "request",
+      "query",
+      "mediaType",
+      "operationName"
+    ];
+    FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"];
+    GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/;
+    graphql2 = withDefaults3(request, {
+      headers: {
+        "user-agent": `octokit-graphql.js/${VERSION3} ${getUserAgent4()}`
+      },
+      method: "POST",
+      url: "/graphql"
+    });
+  }
+});
+
+// node_modules/@octokit/auth-token/dist-bundle/index.js
+async function auth(token) {
+  const isApp = isJWT(token);
+  const isInstallation = token.startsWith("v1.") || token.startsWith("ghs_");
+  const isUserToServer = token.startsWith("ghu_");
+  const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth";
+  return {
+    type: "token",
+    token,
+    tokenType
+  };
+}
+function withAuthorizationPrefix(token) {
+  if (token.split(/\./).length === 3) {
+    return `bearer ${token}`;
+  }
+  return `token ${token}`;
+}
+async function hook(token, request2, route, parameters) {
+  const endpoint2 = request2.endpoint.merge(
+    route,
+    parameters
+  );
+  endpoint2.headers.authorization = withAuthorizationPrefix(token);
+  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(token) {
+      if (!token) {
+        throw new Error("[@octokit/auth-token] No token passed to createTokenAuth");
+      }
+      if (typeof token !== "string") {
+        throw new Error(
+          "[@octokit/auth-token] Token passed to createTokenAuth is not a string"
+        );
+      }
+      token = token.replace(/^(token|bearer) +/i, "");
+      return Object.assign(auth.bind(null, token), {
+        hook: hook.bind(null, token)
+      });
+    };
+  }
+});
+
+// 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;
+      }
+      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;
+      }
+      constructor(options = {}) {
+        const hook2 = new before_after_hook_default.Collection();
+        const requestDefaults = {
+          baseUrl: request.endpoint.DEFAULTS.baseUrl,
+          headers: {},
+          request: Object.assign({}, options.request, {
+            // @ts-ignore internal usage only, no need to type
+            hook: hook2.bind(null, "request")
+          }),
+          mediaType: {
+            previews: [],
+            format: ""
+          }
+        };
+        requestDefaults.headers["user-agent"] = options.userAgent ? `${options.userAgent} ${userAgentTrail}` : userAgentTrail;
+        if (options.baseUrl) {
+          requestDefaults.baseUrl = options.baseUrl;
+        }
+        if (options.previews) {
+          requestDefaults.mediaType.previews = options.previews;
+        }
+        if (options.timeZone) {
+          requestDefaults.headers["time-zone"] = options.timeZone;
+        }
+        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 auth2 = createTokenAuth(options.auth);
+            hook2.wrap("request", auth2.hook);
+            this.auth = auth2;
+          }
+        } else {
+          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
+            )
+          );
+          hook2.wrap("request", auth2.hook);
+          this.auth = auth2;
+        }
+        const classConstructor = this.constructor;
+        for (let i = 0; i < classConstructor.plugins.length; ++i) {
+          Object.assign(this, classConstructor.plugins[i](this, options));
+        }
+      }
+      // assigned during constructor
+      request;
+      graphql;
+      log;
+      hook;
+      // TODO: type `octokit.auth` based on passed options.authStrategy
+      auth;
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js
+var VERSION5;
+var init_version2 = __esm({
+  "node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js"() {
+    VERSION5 = "17.0.0";
+  }
+});
+
+// node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js
+var Endpoints, endpoints_default;
+var init_endpoints = __esm({
+  "node_modules/@actions/github/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"
@@ -41621,58492 +43114,75845 @@ var init_endpoints = __esm({
         topics: ["GET /search/topics"],
         users: ["GET /search/users"]
       },
-      secretScanning: {
-        createPushProtectionBypass: [
-          "POST /repos/{owner}/{repo}/secret-scanning/push-protection-bypasses"
-        ],
-        getAlert: [
-          "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"
-        ],
-        getScanHistory: ["GET /repos/{owner}/{repo}/secret-scanning/scan-history"],
-        listAlertsForOrg: ["GET /orgs/{org}/secret-scanning/alerts"],
-        listAlertsForRepo: ["GET /repos/{owner}/{repo}/secret-scanning/alerts"],
-        listLocationsForAlert: [
-          "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"
-        ],
-        listOrgPatternConfigs: [
-          "GET /orgs/{org}/secret-scanning/pattern-configurations"
-        ],
-        updateAlert: [
-          "PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"
-        ],
-        updateOrgPatternConfigs: [
-          "PATCH /orgs/{org}/secret-scanning/pattern-configurations"
-        ]
+      secretScanning: {
+        createPushProtectionBypass: [
+          "POST /repos/{owner}/{repo}/secret-scanning/push-protection-bypasses"
+        ],
+        getAlert: [
+          "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"
+        ],
+        getScanHistory: ["GET /repos/{owner}/{repo}/secret-scanning/scan-history"],
+        listAlertsForOrg: ["GET /orgs/{org}/secret-scanning/alerts"],
+        listAlertsForRepo: ["GET /repos/{owner}/{repo}/secret-scanning/alerts"],
+        listLocationsForAlert: [
+          "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"
+        ],
+        listOrgPatternConfigs: [
+          "GET /orgs/{org}/secret-scanning/pattern-configurations"
+        ],
+        updateAlert: [
+          "PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"
+        ],
+        updateOrgPatternConfigs: [
+          "PATCH /orgs/{org}/secret-scanning/pattern-configurations"
+        ]
+      },
+      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}"
+        ],
+        addOrUpdateRepoPermissionsInOrg: [
+          "PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
+        ],
+        checkPermissionsForRepoInOrg: [
+          "GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
+        ],
+        create: ["POST /orgs/{org}/teams"],
+        createDiscussionCommentInOrg: [
+          "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"
+        ],
+        createDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions"],
+        deleteDiscussionCommentInOrg: [
+          "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"
+        ],
+        deleteDiscussionInOrg: [
+          "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"
+        ],
+        deleteInOrg: ["DELETE /orgs/{org}/teams/{team_slug}"],
+        getByName: ["GET /orgs/{org}/teams/{team_slug}"],
+        getDiscussionCommentInOrg: [
+          "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"
+        ],
+        getDiscussionInOrg: [
+          "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"
+        ],
+        getMembershipForUserInOrg: [
+          "GET /orgs/{org}/teams/{team_slug}/memberships/{username}"
+        ],
+        list: ["GET /orgs/{org}/teams"],
+        listChildInOrg: ["GET /orgs/{org}/teams/{team_slug}/teams"],
+        listDiscussionCommentsInOrg: [
+          "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"
+        ],
+        listDiscussionsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions"],
+        listForAuthenticatedUser: ["GET /user/teams"],
+        listMembersInOrg: ["GET /orgs/{org}/teams/{team_slug}/members"],
+        listPendingInvitationsInOrg: [
+          "GET /orgs/{org}/teams/{team_slug}/invitations"
+        ],
+        listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"],
+        removeMembershipForUserInOrg: [
+          "DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"
+        ],
+        removeRepoInOrg: [
+          "DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
+        ],
+        updateDiscussionCommentInOrg: [
+          "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"
+        ],
+        updateDiscussionInOrg: [
+          "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"
+        ],
+        updateInOrg: ["PATCH /orgs/{org}/teams/{team_slug}"]
+      },
+      users: {
+        addEmailForAuthenticated: [
+          "POST /user/emails",
+          {},
+          { renamed: ["users", "addEmailForAuthenticatedUser"] }
+        ],
+        addEmailForAuthenticatedUser: ["POST /user/emails"],
+        addSocialAccountForAuthenticatedUser: ["POST /user/social_accounts"],
+        block: ["PUT /user/blocks/{username}"],
+        checkBlocked: ["GET /user/blocks/{username}"],
+        checkFollowingForUser: ["GET /users/{username}/following/{target_user}"],
+        checkPersonIsFollowedByAuthenticated: ["GET /user/following/{username}"],
+        createGpgKeyForAuthenticated: [
+          "POST /user/gpg_keys",
+          {},
+          { renamed: ["users", "createGpgKeyForAuthenticatedUser"] }
+        ],
+        createGpgKeyForAuthenticatedUser: ["POST /user/gpg_keys"],
+        createPublicSshKeyForAuthenticated: [
+          "POST /user/keys",
+          {},
+          { renamed: ["users", "createPublicSshKeyForAuthenticatedUser"] }
+        ],
+        createPublicSshKeyForAuthenticatedUser: ["POST /user/keys"],
+        createSshSigningKeyForAuthenticatedUser: ["POST /user/ssh_signing_keys"],
+        deleteAttestationsBulk: [
+          "POST /users/{username}/attestations/delete-request"
+        ],
+        deleteAttestationsById: [
+          "DELETE /users/{username}/attestations/{attestation_id}"
+        ],
+        deleteAttestationsBySubjectDigest: [
+          "DELETE /users/{username}/attestations/digest/{subject_digest}"
+        ],
+        deleteEmailForAuthenticated: [
+          "DELETE /user/emails",
+          {},
+          { renamed: ["users", "deleteEmailForAuthenticatedUser"] }
+        ],
+        deleteEmailForAuthenticatedUser: ["DELETE /user/emails"],
+        deleteGpgKeyForAuthenticated: [
+          "DELETE /user/gpg_keys/{gpg_key_id}",
+          {},
+          { renamed: ["users", "deleteGpgKeyForAuthenticatedUser"] }
+        ],
+        deleteGpgKeyForAuthenticatedUser: ["DELETE /user/gpg_keys/{gpg_key_id}"],
+        deletePublicSshKeyForAuthenticated: [
+          "DELETE /user/keys/{key_id}",
+          {},
+          { renamed: ["users", "deletePublicSshKeyForAuthenticatedUser"] }
+        ],
+        deletePublicSshKeyForAuthenticatedUser: ["DELETE /user/keys/{key_id}"],
+        deleteSocialAccountForAuthenticatedUser: ["DELETE /user/social_accounts"],
+        deleteSshSigningKeyForAuthenticatedUser: [
+          "DELETE /user/ssh_signing_keys/{ssh_signing_key_id}"
+        ],
+        follow: ["PUT /user/following/{username}"],
+        getAuthenticated: ["GET /user"],
+        getById: ["GET /user/{account_id}"],
+        getByUsername: ["GET /users/{username}"],
+        getContextForUser: ["GET /users/{username}/hovercard"],
+        getGpgKeyForAuthenticated: [
+          "GET /user/gpg_keys/{gpg_key_id}",
+          {},
+          { renamed: ["users", "getGpgKeyForAuthenticatedUser"] }
+        ],
+        getGpgKeyForAuthenticatedUser: ["GET /user/gpg_keys/{gpg_key_id}"],
+        getPublicSshKeyForAuthenticated: [
+          "GET /user/keys/{key_id}",
+          {},
+          { renamed: ["users", "getPublicSshKeyForAuthenticatedUser"] }
+        ],
+        getPublicSshKeyForAuthenticatedUser: ["GET /user/keys/{key_id}"],
+        getSshSigningKeyForAuthenticatedUser: [
+          "GET /user/ssh_signing_keys/{ssh_signing_key_id}"
+        ],
+        list: ["GET /users"],
+        listAttestations: ["GET /users/{username}/attestations/{subject_digest}"],
+        listAttestationsBulk: [
+          "POST /users/{username}/attestations/bulk-list{?per_page,before,after}"
+        ],
+        listBlockedByAuthenticated: [
+          "GET /user/blocks",
+          {},
+          { renamed: ["users", "listBlockedByAuthenticatedUser"] }
+        ],
+        listBlockedByAuthenticatedUser: ["GET /user/blocks"],
+        listEmailsForAuthenticated: [
+          "GET /user/emails",
+          {},
+          { renamed: ["users", "listEmailsForAuthenticatedUser"] }
+        ],
+        listEmailsForAuthenticatedUser: ["GET /user/emails"],
+        listFollowedByAuthenticated: [
+          "GET /user/following",
+          {},
+          { renamed: ["users", "listFollowedByAuthenticatedUser"] }
+        ],
+        listFollowedByAuthenticatedUser: ["GET /user/following"],
+        listFollowersForAuthenticatedUser: ["GET /user/followers"],
+        listFollowersForUser: ["GET /users/{username}/followers"],
+        listFollowingForUser: ["GET /users/{username}/following"],
+        listGpgKeysForAuthenticated: [
+          "GET /user/gpg_keys",
+          {},
+          { renamed: ["users", "listGpgKeysForAuthenticatedUser"] }
+        ],
+        listGpgKeysForAuthenticatedUser: ["GET /user/gpg_keys"],
+        listGpgKeysForUser: ["GET /users/{username}/gpg_keys"],
+        listPublicEmailsForAuthenticated: [
+          "GET /user/public_emails",
+          {},
+          { renamed: ["users", "listPublicEmailsForAuthenticatedUser"] }
+        ],
+        listPublicEmailsForAuthenticatedUser: ["GET /user/public_emails"],
+        listPublicKeysForUser: ["GET /users/{username}/keys"],
+        listPublicSshKeysForAuthenticated: [
+          "GET /user/keys",
+          {},
+          { 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"] }
+        ],
+        setPrimaryEmailVisibilityForAuthenticatedUser: [
+          "PATCH /user/email/visibility"
+        ],
+        unblock: ["DELETE /user/blocks/{username}"],
+        unfollow: ["DELETE /user/following/{username}"],
+        updateAuthenticated: ["PATCH /user"]
+      }
+    };
+    endpoints_default = Endpoints;
+  }
+});
+
+// node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js
+function endpointsToMethods(octokit) {
+  const newMethods = {};
+  for (const scope of endpointMethodsMap.keys()) {
+    newMethods[scope] = new Proxy({ octokit, scope, cache: {} }, handler);
+  }
+  return newMethods;
+}
+function decorate(octokit, scope, methodName, defaults, decorations) {
+  const requestWithDefaults = octokit.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;
+      octokit.log.warn(
+        `octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`
+      );
+    }
+    if (decorations.deprecated) {
+      octokit.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) {
+          octokit.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);
+    }
+    return requestWithDefaults(...args);
+  }
+  return Object.assign(withDecorations, requestWithDefaults);
+}
+var endpointMethodsMap, handler;
+var init_endpoints_to_methods = __esm({
+  "node_modules/@actions/github/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());
+        }
+        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, scope, cache }, methodName) {
+        if (cache[methodName]) {
+          return cache[methodName];
+        }
+        const method = endpointMethodsMap.get(scope).get(methodName);
+        if (!method) {
+          return void 0;
+        }
+        const { endpointDefaults, decorations } = method;
+        if (decorations) {
+          cache[methodName] = decorate(
+            octokit,
+            scope,
+            methodName,
+            endpointDefaults,
+            decorations
+          );
+        } else {
+          cache[methodName] = octokit.request.defaults(endpointDefaults);
+        }
+        return cache[methodName];
+      }
+    };
+  }
+});
+
+// node_modules/@actions/github/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(octokit) {
+  const api = endpointsToMethods(octokit);
+  return {
+    rest: api
+  };
+}
+function legacyRestEndpointMethods(octokit) {
+  const api = endpointsToMethods(octokit);
+  return {
+    ...api,
+    rest: api
+  };
+}
+var init_dist_src3 = __esm({
+  "node_modules/@actions/github/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/@actions/github/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(octokit, route, parameters) {
+  const options = typeof route === "function" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters);
+  const requestMethod = typeof route === "function" ? route : octokit.request;
+  const method = options.method;
+  const headers = options.headers;
+  let url = options.url;
+  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();
+            }
+          }
+          return { value: normalizedResponse };
+        } catch (error3) {
+          if (error3.status !== 409) throw error3;
+          url = "";
+          return {
+            value: {
+              status: 200,
+              headers: {},
+              data: []
+            }
+          };
+        }
+      }
+    })
+  };
+}
+function paginate(octokit, route, parameters, mapFn) {
+  if (typeof parameters === "function") {
+    mapFn = parameters;
+    parameters = void 0;
+  }
+  return gather(
+    octokit,
+    [],
+    iterator(octokit, route, parameters)[Symbol.asyncIterator](),
+    mapFn
+  );
+}
+function gather(octokit, results, iterator2, mapFn) {
+  return iterator2.next().then((result) => {
+    if (result.done) {
+      return results;
+    }
+    let earlyExit = false;
+    function done() {
+      earlyExit = true;
+    }
+    results = results.concat(
+      mapFn ? mapFn(result.value, done) : result.value.data
+    );
+    if (earlyExit) {
+      return results;
+    }
+    return gather(octokit, results, iterator2, mapFn);
+  });
+}
+function isPaginatingEndpoint(arg) {
+  if (typeof arg === "string") {
+    return paginatingEndpoints.includes(arg);
+  } else {
+    return false;
+  }
+}
+function paginateRest(octokit) {
+  return {
+    paginate: Object.assign(paginate.bind(null, octokit), {
+      iterator: iterator.bind(null, octokit)
+    })
+  };
+}
+var VERSION6, composePaginateRest, paginatingEndpoints;
+var init_dist_bundle5 = __esm({
+  "node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-bundle/index.js"() {
+    VERSION6 = "0.0.0-development";
+    composePaginateRest = Object.assign(paginate, {
+      iterator
+    });
+    paginatingEndpoints = [
+      "GET /advisories",
+      "GET /app/hook/deliveries",
+      "GET /app/installation-requests",
+      "GET /app/installations",
+      "GET /assignments/{assignment_id}/accepted_assignments",
+      "GET /classrooms",
+      "GET /classrooms/{classroom_id}/assignments",
+      "GET /enterprises/{enterprise}/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",
+      "GET /gists/starred",
+      "GET /gists/{gist_id}/comments",
+      "GET /gists/{gist_id}/commits",
+      "GET /gists/{gist_id}/forks",
+      "GET /installation/repositories",
+      "GET /issues",
+      "GET /licenses",
+      "GET /marketplace_listing/plans",
+      "GET /marketplace_listing/plans/{plan_id}/accounts",
+      "GET /marketplace_listing/stubbed/plans",
+      "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts",
+      "GET /networks/{owner}/{repo}/events",
+      "GET /notifications",
+      "GET /organizations",
+      "GET /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}/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}/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}/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}/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",
+      "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions",
+      "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions",
+      "GET /orgs/{org}/teams/{team_slug}/invitations",
+      "GET /orgs/{org}/teams/{team_slug}/members",
+      "GET /orgs/{org}/teams/{team_slug}/projects",
+      "GET /orgs/{org}/teams/{team_slug}/repos",
+      "GET /orgs/{org}/teams/{team_slug}/teams",
+      "GET /projects/{project_id}/collaborators",
+      "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",
+      "GET /repos/{owner}/{repo}/code-scanning/alerts",
+      "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances",
+      "GET /repos/{owner}/{repo}/code-scanning/analyses",
+      "GET /repos/{owner}/{repo}/codespaces",
+      "GET /repos/{owner}/{repo}/codespaces/devcontainers",
+      "GET /repos/{owner}/{repo}/codespaces/secrets",
+      "GET /repos/{owner}/{repo}/collaborators",
+      "GET /repos/{owner}/{repo}/comments",
+      "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions",
+      "GET /repos/{owner}/{repo}/commits",
+      "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments",
+      "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls",
+      "GET /repos/{owner}/{repo}/commits/{ref}/check-runs",
+      "GET /repos/{owner}/{repo}/commits/{ref}/check-suites",
+      "GET /repos/{owner}/{repo}/commits/{ref}/status",
+      "GET /repos/{owner}/{repo}/commits/{ref}/statuses",
+      "GET /repos/{owner}/{repo}/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}/hooks",
+      "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries",
+      "GET /repos/{owner}/{repo}/invitations",
+      "GET /repos/{owner}/{repo}/issues",
+      "GET /repos/{owner}/{repo}/issues/comments",
+      "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions",
+      "GET /repos/{owner}/{repo}/issues/events",
+      "GET /repos/{owner}/{repo}/issues/{issue_number}/comments",
+      "GET /repos/{owner}/{repo}/issues/{issue_number}/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",
+      "GET /repos/{owner}/{repo}/milestones",
+      "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels",
+      "GET /repos/{owner}/{repo}/notifications",
+      "GET /repos/{owner}/{repo}/pages/builds",
+      "GET /repos/{owner}/{repo}/projects",
+      "GET /repos/{owner}/{repo}/pulls",
+      "GET /repos/{owner}/{repo}/pulls/comments",
+      "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions",
+      "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments",
+      "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits",
+      "GET /repos/{owner}/{repo}/pulls/{pull_number}/files",
+      "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews",
+      "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments",
+      "GET /repos/{owner}/{repo}/releases",
+      "GET /repos/{owner}/{repo}/releases/{release_id}/assets",
+      "GET /repos/{owner}/{repo}/releases/{release_id}/reactions",
+      "GET /repos/{owner}/{repo}/rules/branches/{branch}",
+      "GET /repos/{owner}/{repo}/rulesets",
+      "GET /repos/{owner}/{repo}/rulesets/rule-suites",
+      "GET /repos/{owner}/{repo}/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 /search/code",
+      "GET /search/commits",
+      "GET /search/issues",
+      "GET /search/labels",
+      "GET /search/repositories",
+      "GET /search/topics",
+      "GET /search/users",
+      "GET /teams/{team_id}/discussions",
+      "GET /teams/{team_id}/discussions/{discussion_number}/comments",
+      "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions",
+      "GET /teams/{team_id}/discussions/{discussion_number}/reactions",
+      "GET /teams/{team_id}/invitations",
+      "GET /teams/{team_id}/members",
+      "GET /teams/{team_id}/projects",
+      "GET /teams/{team_id}/repos",
+      "GET /teams/{team_id}/teams",
+      "GET /user/blocks",
+      "GET /user/codespaces",
+      "GET /user/codespaces/secrets",
+      "GET /user/emails",
+      "GET /user/followers",
+      "GET /user/following",
+      "GET /user/gpg_keys",
+      "GET /user/installations",
+      "GET /user/installations/{installation_id}/repositories",
+      "GET /user/issues",
+      "GET /user/keys",
+      "GET /user/marketplace_purchases",
+      "GET /user/marketplace_purchases/stubbed",
+      "GET /user/memberships/orgs",
+      "GET /user/migrations",
+      "GET /user/migrations/{migration_id}/repositories",
+      "GET /user/orgs",
+      "GET /user/packages",
+      "GET /user/packages/{package_type}/{package_name}/versions",
+      "GET /user/public_emails",
+      "GET /user/repos",
+      "GET /user/repository_invitations",
+      "GET /user/social_accounts",
+      "GET /user/ssh_signing_keys",
+      "GET /user/starred",
+      "GET /user/subscriptions",
+      "GET /user/teams",
+      "GET /users",
+      "GET /users/{username}/attestations/{subject_digest}",
+      "GET /users/{username}/events",
+      "GET /users/{username}/events/orgs/{org}",
+      "GET /users/{username}/events/public",
+      "GET /users/{username}/followers",
+      "GET /users/{username}/following",
+      "GET /users/{username}/gists",
+      "GET /users/{username}/gpg_keys",
+      "GET /users/{username}/keys",
+      "GET /users/{username}/orgs",
+      "GET /users/{username}/packages",
+      "GET /users/{username}/projects",
+      "GET /users/{username}/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"
+    ];
+    paginateRest.VERSION = VERSION6;
+  }
+});
+
+// node_modules/@actions/github/lib/utils.js
+var require_utils5 = __commonJS({
+  "node_modules/@actions/github/lib/utils.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = 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 ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.GitHub = exports2.defaults = exports2.context = void 0;
+    exports2.getOctokitOptions = getOctokitOptions2;
+    var Context = __importStar2(require_context());
+    var Utils = __importStar2(require_utils4());
+    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),
+        fetch: Utils.getProxyFetch(baseUrl)
+      }
+    };
+    exports2.GitHub = core_1.Octokit.plugin(plugin_rest_endpoint_methods_1.restEndpointMethods, plugin_paginate_rest_1.paginateRest).defaults(exports2.defaults);
+    function getOctokitOptions2(token, options) {
+      const opts = Object.assign({}, options || {});
+      const auth2 = Utils.getAuthString(token, opts);
+      if (auth2) {
+        opts.auth = auth2;
+      }
+      return opts;
+    }
+  }
+});
+
+// node_modules/@actions/github/lib/github.js
+var require_github = __commonJS({
+  "node_modules/@actions/github/lib/github.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = 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 ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.context = void 0;
+    exports2.getOctokit = getOctokit;
+    var Context = __importStar2(require_context());
+    var utils_1 = require_utils5();
+    exports2.context = new Context.Context();
+    function getOctokit(token, options, ...additionalPlugins) {
+      const GitHubWithPlugins = utils_1.GitHub.plugin(...additionalPlugins);
+      return new GitHubWithPlugins((0, utils_1.getOctokitOptions)(token, options));
+    }
+  }
+});
+
+// node_modules/semver/internal/constants.js
+var require_constants11 = __commonJS({
+  "node_modules/semver/internal/constants.js"(exports2, module2) {
+    "use strict";
+    var SEMVER_SPEC_VERSION = "2.0.0";
+    var MAX_LENGTH = 256;
+    var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */
+    9007199254740991;
+    var MAX_SAFE_COMPONENT_LENGTH = 16;
+    var MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6;
+    var RELEASE_TYPES = [
+      "major",
+      "premajor",
+      "minor",
+      "preminor",
+      "patch",
+      "prepatch",
+      "prerelease"
+    ];
+    module2.exports = {
+      MAX_LENGTH,
+      MAX_SAFE_COMPONENT_LENGTH,
+      MAX_SAFE_BUILD_LENGTH,
+      MAX_SAFE_INTEGER,
+      RELEASE_TYPES,
+      SEMVER_SPEC_VERSION,
+      FLAG_INCLUDE_PRERELEASE: 1,
+      FLAG_LOOSE: 2
+    };
+  }
+});
+
+// node_modules/semver/internal/debug.js
+var require_debug = __commonJS({
+  "node_modules/semver/internal/debug.js"(exports2, module2) {
+    "use strict";
+    var debug4 = typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error("SEMVER", ...args) : () => {
+    };
+    module2.exports = debug4;
+  }
+});
+
+// node_modules/semver/internal/re.js
+var require_re = __commonJS({
+  "node_modules/semver/internal/re.js"(exports2, module2) {
+    "use strict";
+    var {
+      MAX_SAFE_COMPONENT_LENGTH,
+      MAX_SAFE_BUILD_LENGTH,
+      MAX_LENGTH
+    } = require_constants11();
+    var debug4 = require_debug();
+    exports2 = module2.exports = {};
+    var re = exports2.re = [];
+    var safeRe = exports2.safeRe = [];
+    var src = exports2.src = [];
+    var safeSrc = exports2.safeSrc = [];
+    var t = exports2.t = {};
+    var R = 0;
+    var LETTERDASHNUMBER = "[a-zA-Z0-9-]";
+    var safeRegexReplacements = [
+      ["\\s", 1],
+      ["\\d", MAX_LENGTH],
+      [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH]
+    ];
+    var makeSafeRegex = (value) => {
+      for (const [token, max] of safeRegexReplacements) {
+        value = value.split(`${token}*`).join(`${token}{0,${max}}`).split(`${token}+`).join(`${token}{1,${max}}`);
+      }
+      return value;
+    };
+    var createToken = (name, value, isGlobal) => {
+      const safe = makeSafeRegex(value);
+      const index = R++;
+      debug4(name, index, value);
+      t[name] = index;
+      src[index] = value;
+      safeSrc[index] = safe;
+      re[index] = new RegExp(value, isGlobal ? "g" : void 0);
+      safeRe[index] = new RegExp(safe, isGlobal ? "g" : void 0);
+    };
+    createToken("NUMERICIDENTIFIER", "0|[1-9]\\d*");
+    createToken("NUMERICIDENTIFIERLOOSE", "\\d+");
+    createToken("NONNUMERICIDENTIFIER", `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);
+    createToken("MAINVERSION", `(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})`);
+    createToken("MAINVERSIONLOOSE", `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})`);
+    createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIER]})`);
+    createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIERLOOSE]})`);
+    createToken("PRERELEASE", `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`);
+    createToken("PRERELEASELOOSE", `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`);
+    createToken("BUILDIDENTIFIER", `${LETTERDASHNUMBER}+`);
+    createToken("BUILD", `(?:\\+(${src[t.BUILDIDENTIFIER]}(?:\\.${src[t.BUILDIDENTIFIER]})*))`);
+    createToken("FULLPLAIN", `v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`);
+    createToken("FULL", `^${src[t.FULLPLAIN]}$`);
+    createToken("LOOSEPLAIN", `[v=\\s]*${src[t.MAINVERSIONLOOSE]}${src[t.PRERELEASELOOSE]}?${src[t.BUILD]}?`);
+    createToken("LOOSE", `^${src[t.LOOSEPLAIN]}$`);
+    createToken("GTLT", "((?:<|>)?=?)");
+    createToken("XRANGEIDENTIFIERLOOSE", `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);
+    createToken("XRANGEIDENTIFIER", `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`);
+    createToken("XRANGEPLAIN", `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:${src[t.PRERELEASE]})?${src[t.BUILD]}?)?)?`);
+    createToken("XRANGEPLAINLOOSE", `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:${src[t.PRERELEASELOOSE]})?${src[t.BUILD]}?)?)?`);
+    createToken("XRANGE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`);
+    createToken("XRANGELOOSE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`);
+    createToken("COERCEPLAIN", `${"(^|[^\\d])(\\d{1,"}${MAX_SAFE_COMPONENT_LENGTH}})(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`);
+    createToken("COERCE", `${src[t.COERCEPLAIN]}(?:$|[^\\d])`);
+    createToken("COERCEFULL", src[t.COERCEPLAIN] + `(?:${src[t.PRERELEASE]})?(?:${src[t.BUILD]})?(?:$|[^\\d])`);
+    createToken("COERCERTL", src[t.COERCE], true);
+    createToken("COERCERTLFULL", src[t.COERCEFULL], true);
+    createToken("LONETILDE", "(?:~>?)");
+    createToken("TILDETRIM", `(\\s*)${src[t.LONETILDE]}\\s+`, true);
+    exports2.tildeTrimReplace = "$1~";
+    createToken("TILDE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`);
+    createToken("TILDELOOSE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`);
+    createToken("LONECARET", "(?:\\^)");
+    createToken("CARETTRIM", `(\\s*)${src[t.LONECARET]}\\s+`, true);
+    exports2.caretTrimReplace = "$1^";
+    createToken("CARET", `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`);
+    createToken("CARETLOOSE", `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`);
+    createToken("COMPARATORLOOSE", `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`);
+    createToken("COMPARATOR", `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`);
+    createToken("COMPARATORTRIM", `(\\s*)${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true);
+    exports2.comparatorTrimReplace = "$1$2$3";
+    createToken("HYPHENRANGE", `^\\s*(${src[t.XRANGEPLAIN]})\\s+-\\s+(${src[t.XRANGEPLAIN]})\\s*$`);
+    createToken("HYPHENRANGELOOSE", `^\\s*(${src[t.XRANGEPLAINLOOSE]})\\s+-\\s+(${src[t.XRANGEPLAINLOOSE]})\\s*$`);
+    createToken("STAR", "(<|>)?=?\\s*\\*");
+    createToken("GTE0", "^\\s*>=\\s*0\\.0\\.0\\s*$");
+    createToken("GTE0PRE", "^\\s*>=\\s*0\\.0\\.0-0\\s*$");
+  }
+});
+
+// node_modules/semver/internal/parse-options.js
+var require_parse_options = __commonJS({
+  "node_modules/semver/internal/parse-options.js"(exports2, module2) {
+    "use strict";
+    var looseOption = Object.freeze({ loose: true });
+    var emptyOpts = Object.freeze({});
+    var parseOptions = (options) => {
+      if (!options) {
+        return emptyOpts;
+      }
+      if (typeof options !== "object") {
+        return looseOption;
+      }
+      return options;
+    };
+    module2.exports = parseOptions;
+  }
+});
+
+// node_modules/semver/internal/identifiers.js
+var require_identifiers = __commonJS({
+  "node_modules/semver/internal/identifiers.js"(exports2, module2) {
+    "use strict";
+    var numeric = /^[0-9]+$/;
+    var compareIdentifiers = (a, b) => {
+      if (typeof a === "number" && typeof b === "number") {
+        return a === b ? 0 : a < b ? -1 : 1;
+      }
+      const anum = numeric.test(a);
+      const bnum = numeric.test(b);
+      if (anum && bnum) {
+        a = +a;
+        b = +b;
+      }
+      return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;
+    };
+    var rcompareIdentifiers = (a, b) => compareIdentifiers(b, a);
+    module2.exports = {
+      compareIdentifiers,
+      rcompareIdentifiers
+    };
+  }
+});
+
+// node_modules/semver/classes/semver.js
+var require_semver = __commonJS({
+  "node_modules/semver/classes/semver.js"(exports2, module2) {
+    "use strict";
+    var debug4 = require_debug();
+    var { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants11();
+    var { safeRe: re, t } = require_re();
+    var parseOptions = require_parse_options();
+    var { compareIdentifiers } = require_identifiers();
+    var SemVer = class _SemVer {
+      constructor(version, options) {
+        options = parseOptions(options);
+        if (version instanceof _SemVer) {
+          if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) {
+            return version;
+          } else {
+            version = version.version;
+          }
+        } else if (typeof version !== "string") {
+          throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version}".`);
+        }
+        if (version.length > MAX_LENGTH) {
+          throw new TypeError(
+            `version is longer than ${MAX_LENGTH} characters`
+          );
+        }
+        debug4("SemVer", version, options);
+        this.options = options;
+        this.loose = !!options.loose;
+        this.includePrerelease = !!options.includePrerelease;
+        const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]);
+        if (!m) {
+          throw new TypeError(`Invalid Version: ${version}`);
+        }
+        this.raw = version;
+        this.major = +m[1];
+        this.minor = +m[2];
+        this.patch = +m[3];
+        if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
+          throw new TypeError("Invalid major version");
+        }
+        if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
+          throw new TypeError("Invalid minor version");
+        }
+        if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
+          throw new TypeError("Invalid patch version");
+        }
+        if (!m[4]) {
+          this.prerelease = [];
+        } else {
+          this.prerelease = m[4].split(".").map((id) => {
+            if (/^[0-9]+$/.test(id)) {
+              const num = +id;
+              if (num >= 0 && num < MAX_SAFE_INTEGER) {
+                return num;
+              }
+            }
+            return id;
+          });
+        }
+        this.build = m[5] ? m[5].split(".") : [];
+        this.format();
+      }
+      format() {
+        this.version = `${this.major}.${this.minor}.${this.patch}`;
+        if (this.prerelease.length) {
+          this.version += `-${this.prerelease.join(".")}`;
+        }
+        return this.version;
+      }
+      toString() {
+        return this.version;
+      }
+      compare(other) {
+        debug4("SemVer.compare", this.version, this.options, other);
+        if (!(other instanceof _SemVer)) {
+          if (typeof other === "string" && other === this.version) {
+            return 0;
+          }
+          other = new _SemVer(other, this.options);
+        }
+        if (other.version === this.version) {
+          return 0;
+        }
+        return this.compareMain(other) || this.comparePre(other);
+      }
+      compareMain(other) {
+        if (!(other instanceof _SemVer)) {
+          other = new _SemVer(other, this.options);
+        }
+        if (this.major < other.major) {
+          return -1;
+        }
+        if (this.major > other.major) {
+          return 1;
+        }
+        if (this.minor < other.minor) {
+          return -1;
+        }
+        if (this.minor > other.minor) {
+          return 1;
+        }
+        if (this.patch < other.patch) {
+          return -1;
+        }
+        if (this.patch > other.patch) {
+          return 1;
+        }
+        return 0;
+      }
+      comparePre(other) {
+        if (!(other instanceof _SemVer)) {
+          other = new _SemVer(other, this.options);
+        }
+        if (this.prerelease.length && !other.prerelease.length) {
+          return -1;
+        } else if (!this.prerelease.length && other.prerelease.length) {
+          return 1;
+        } else if (!this.prerelease.length && !other.prerelease.length) {
+          return 0;
+        }
+        let i = 0;
+        do {
+          const a = this.prerelease[i];
+          const b = other.prerelease[i];
+          debug4("prerelease compare", i, a, b);
+          if (a === void 0 && b === void 0) {
+            return 0;
+          } else if (b === void 0) {
+            return 1;
+          } else if (a === void 0) {
+            return -1;
+          } else if (a === b) {
+            continue;
+          } else {
+            return compareIdentifiers(a, b);
+          }
+        } while (++i);
+      }
+      compareBuild(other) {
+        if (!(other instanceof _SemVer)) {
+          other = new _SemVer(other, this.options);
+        }
+        let i = 0;
+        do {
+          const a = this.build[i];
+          const b = other.build[i];
+          debug4("build compare", i, a, b);
+          if (a === void 0 && b === void 0) {
+            return 0;
+          } else if (b === void 0) {
+            return 1;
+          } else if (a === void 0) {
+            return -1;
+          } else if (a === b) {
+            continue;
+          } else {
+            return compareIdentifiers(a, b);
+          }
+        } while (++i);
+      }
+      // preminor will bump the version up to the next minor release, and immediately
+      // down to pre-release. premajor and prepatch work the same way.
+      inc(release, identifier, identifierBase) {
+        if (release.startsWith("pre")) {
+          if (!identifier && identifierBase === false) {
+            throw new Error("invalid increment argument: identifier is empty");
+          }
+          if (identifier) {
+            const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE]);
+            if (!match || match[1] !== identifier) {
+              throw new Error(`invalid identifier: ${identifier}`);
+            }
+          }
+        }
+        switch (release) {
+          case "premajor":
+            this.prerelease.length = 0;
+            this.patch = 0;
+            this.minor = 0;
+            this.major++;
+            this.inc("pre", identifier, identifierBase);
+            break;
+          case "preminor":
+            this.prerelease.length = 0;
+            this.patch = 0;
+            this.minor++;
+            this.inc("pre", identifier, identifierBase);
+            break;
+          case "prepatch":
+            this.prerelease.length = 0;
+            this.inc("patch", identifier, identifierBase);
+            this.inc("pre", identifier, identifierBase);
+            break;
+          // If the input is a non-prerelease version, this acts the same as
+          // prepatch.
+          case "prerelease":
+            if (this.prerelease.length === 0) {
+              this.inc("patch", identifier, identifierBase);
+            }
+            this.inc("pre", identifier, identifierBase);
+            break;
+          case "release":
+            if (this.prerelease.length === 0) {
+              throw new Error(`version ${this.raw} is not a prerelease`);
+            }
+            this.prerelease.length = 0;
+            break;
+          case "major":
+            if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
+              this.major++;
+            }
+            this.minor = 0;
+            this.patch = 0;
+            this.prerelease = [];
+            break;
+          case "minor":
+            if (this.patch !== 0 || this.prerelease.length === 0) {
+              this.minor++;
+            }
+            this.patch = 0;
+            this.prerelease = [];
+            break;
+          case "patch":
+            if (this.prerelease.length === 0) {
+              this.patch++;
+            }
+            this.prerelease = [];
+            break;
+          // This probably shouldn't be used publicly.
+          // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.
+          case "pre": {
+            const base = Number(identifierBase) ? 1 : 0;
+            if (this.prerelease.length === 0) {
+              this.prerelease = [base];
+            } else {
+              let i = this.prerelease.length;
+              while (--i >= 0) {
+                if (typeof this.prerelease[i] === "number") {
+                  this.prerelease[i]++;
+                  i = -2;
+                }
+              }
+              if (i === -1) {
+                if (identifier === this.prerelease.join(".") && identifierBase === false) {
+                  throw new Error("invalid increment argument: identifier already exists");
+                }
+                this.prerelease.push(base);
+              }
+            }
+            if (identifier) {
+              let prerelease = [identifier, base];
+              if (identifierBase === false) {
+                prerelease = [identifier];
+              }
+              if (compareIdentifiers(this.prerelease[0], identifier) === 0) {
+                if (isNaN(this.prerelease[1])) {
+                  this.prerelease = prerelease;
+                }
+              } else {
+                this.prerelease = prerelease;
+              }
+            }
+            break;
+          }
+          default:
+            throw new Error(`invalid increment argument: ${release}`);
+        }
+        this.raw = this.format();
+        if (this.build.length) {
+          this.raw += `+${this.build.join(".")}`;
+        }
+        return this;
+      }
+    };
+    module2.exports = SemVer;
+  }
+});
+
+// node_modules/semver/functions/parse.js
+var require_parse3 = __commonJS({
+  "node_modules/semver/functions/parse.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var parse2 = (version, options, throwErrors = false) => {
+      if (version instanceof SemVer) {
+        return version;
+      }
+      try {
+        return new SemVer(version, options);
+      } catch (er) {
+        if (!throwErrors) {
+          return null;
+        }
+        throw er;
+      }
+    };
+    module2.exports = parse2;
+  }
+});
+
+// node_modules/semver/functions/valid.js
+var require_valid = __commonJS({
+  "node_modules/semver/functions/valid.js"(exports2, module2) {
+    "use strict";
+    var parse2 = require_parse3();
+    var valid3 = (version, options) => {
+      const v = parse2(version, options);
+      return v ? v.version : null;
+    };
+    module2.exports = valid3;
+  }
+});
+
+// node_modules/semver/functions/clean.js
+var require_clean = __commonJS({
+  "node_modules/semver/functions/clean.js"(exports2, module2) {
+    "use strict";
+    var parse2 = require_parse3();
+    var clean3 = (version, options) => {
+      const s = parse2(version.trim().replace(/^[=v]+/, ""), options);
+      return s ? s.version : null;
+    };
+    module2.exports = clean3;
+  }
+});
+
+// node_modules/semver/functions/inc.js
+var require_inc = __commonJS({
+  "node_modules/semver/functions/inc.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var inc = (version, release, options, identifier, identifierBase) => {
+      if (typeof options === "string") {
+        identifierBase = identifier;
+        identifier = options;
+        options = void 0;
+      }
+      try {
+        return new SemVer(
+          version instanceof SemVer ? version.version : version,
+          options
+        ).inc(release, identifier, identifierBase).version;
+      } catch (er) {
+        return null;
+      }
+    };
+    module2.exports = inc;
+  }
+});
+
+// node_modules/semver/functions/diff.js
+var require_diff = __commonJS({
+  "node_modules/semver/functions/diff.js"(exports2, module2) {
+    "use strict";
+    var parse2 = require_parse3();
+    var diff = (version1, version2) => {
+      const v1 = parse2(version1, null, true);
+      const v2 = parse2(version2, null, true);
+      const comparison = v1.compare(v2);
+      if (comparison === 0) {
+        return null;
+      }
+      const v1Higher = comparison > 0;
+      const highVersion = v1Higher ? v1 : v2;
+      const lowVersion = v1Higher ? v2 : v1;
+      const highHasPre = !!highVersion.prerelease.length;
+      const lowHasPre = !!lowVersion.prerelease.length;
+      if (lowHasPre && !highHasPre) {
+        if (!lowVersion.patch && !lowVersion.minor) {
+          return "major";
+        }
+        if (lowVersion.compareMain(highVersion) === 0) {
+          if (lowVersion.minor && !lowVersion.patch) {
+            return "minor";
+          }
+          return "patch";
+        }
+      }
+      const prefix = highHasPre ? "pre" : "";
+      if (v1.major !== v2.major) {
+        return prefix + "major";
+      }
+      if (v1.minor !== v2.minor) {
+        return prefix + "minor";
+      }
+      if (v1.patch !== v2.patch) {
+        return prefix + "patch";
+      }
+      return "prerelease";
+    };
+    module2.exports = diff;
+  }
+});
+
+// node_modules/semver/functions/major.js
+var require_major = __commonJS({
+  "node_modules/semver/functions/major.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var major = (a, loose) => new SemVer(a, loose).major;
+    module2.exports = major;
+  }
+});
+
+// node_modules/semver/functions/minor.js
+var require_minor = __commonJS({
+  "node_modules/semver/functions/minor.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var minor = (a, loose) => new SemVer(a, loose).minor;
+    module2.exports = minor;
+  }
+});
+
+// node_modules/semver/functions/patch.js
+var require_patch = __commonJS({
+  "node_modules/semver/functions/patch.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var patch = (a, loose) => new SemVer(a, loose).patch;
+    module2.exports = patch;
+  }
+});
+
+// node_modules/semver/functions/prerelease.js
+var require_prerelease = __commonJS({
+  "node_modules/semver/functions/prerelease.js"(exports2, module2) {
+    "use strict";
+    var parse2 = require_parse3();
+    var prerelease = (version, options) => {
+      const parsed = parse2(version, options);
+      return parsed && parsed.prerelease.length ? parsed.prerelease : null;
+    };
+    module2.exports = prerelease;
+  }
+});
+
+// node_modules/semver/functions/compare.js
+var require_compare = __commonJS({
+  "node_modules/semver/functions/compare.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var compare2 = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose));
+    module2.exports = compare2;
+  }
+});
+
+// node_modules/semver/functions/rcompare.js
+var require_rcompare = __commonJS({
+  "node_modules/semver/functions/rcompare.js"(exports2, module2) {
+    "use strict";
+    var compare2 = require_compare();
+    var rcompare = (a, b, loose) => compare2(b, a, loose);
+    module2.exports = rcompare;
+  }
+});
+
+// node_modules/semver/functions/compare-loose.js
+var require_compare_loose = __commonJS({
+  "node_modules/semver/functions/compare-loose.js"(exports2, module2) {
+    "use strict";
+    var compare2 = require_compare();
+    var compareLoose = (a, b) => compare2(a, b, true);
+    module2.exports = compareLoose;
+  }
+});
+
+// node_modules/semver/functions/compare-build.js
+var require_compare_build = __commonJS({
+  "node_modules/semver/functions/compare-build.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var compareBuild = (a, b, loose) => {
+      const versionA = new SemVer(a, loose);
+      const versionB = new SemVer(b, loose);
+      return versionA.compare(versionB) || versionA.compareBuild(versionB);
+    };
+    module2.exports = compareBuild;
+  }
+});
+
+// node_modules/semver/functions/sort.js
+var require_sort = __commonJS({
+  "node_modules/semver/functions/sort.js"(exports2, module2) {
+    "use strict";
+    var compareBuild = require_compare_build();
+    var sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose));
+    module2.exports = sort;
+  }
+});
+
+// node_modules/semver/functions/rsort.js
+var require_rsort = __commonJS({
+  "node_modules/semver/functions/rsort.js"(exports2, module2) {
+    "use strict";
+    var compareBuild = require_compare_build();
+    var rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose));
+    module2.exports = rsort;
+  }
+});
+
+// node_modules/semver/functions/gt.js
+var require_gt = __commonJS({
+  "node_modules/semver/functions/gt.js"(exports2, module2) {
+    "use strict";
+    var compare2 = require_compare();
+    var gt = (a, b, loose) => compare2(a, b, loose) > 0;
+    module2.exports = gt;
+  }
+});
+
+// node_modules/semver/functions/lt.js
+var require_lt = __commonJS({
+  "node_modules/semver/functions/lt.js"(exports2, module2) {
+    "use strict";
+    var compare2 = require_compare();
+    var lt = (a, b, loose) => compare2(a, b, loose) < 0;
+    module2.exports = lt;
+  }
+});
+
+// node_modules/semver/functions/eq.js
+var require_eq = __commonJS({
+  "node_modules/semver/functions/eq.js"(exports2, module2) {
+    "use strict";
+    var compare2 = require_compare();
+    var eq = (a, b, loose) => compare2(a, b, loose) === 0;
+    module2.exports = eq;
+  }
+});
+
+// node_modules/semver/functions/neq.js
+var require_neq = __commonJS({
+  "node_modules/semver/functions/neq.js"(exports2, module2) {
+    "use strict";
+    var compare2 = require_compare();
+    var neq = (a, b, loose) => compare2(a, b, loose) !== 0;
+    module2.exports = neq;
+  }
+});
+
+// node_modules/semver/functions/gte.js
+var require_gte = __commonJS({
+  "node_modules/semver/functions/gte.js"(exports2, module2) {
+    "use strict";
+    var compare2 = require_compare();
+    var gte6 = (a, b, loose) => compare2(a, b, loose) >= 0;
+    module2.exports = gte6;
+  }
+});
+
+// node_modules/semver/functions/lte.js
+var require_lte = __commonJS({
+  "node_modules/semver/functions/lte.js"(exports2, module2) {
+    "use strict";
+    var compare2 = require_compare();
+    var lte = (a, b, loose) => compare2(a, b, loose) <= 0;
+    module2.exports = lte;
+  }
+});
+
+// node_modules/semver/functions/cmp.js
+var require_cmp = __commonJS({
+  "node_modules/semver/functions/cmp.js"(exports2, module2) {
+    "use strict";
+    var eq = require_eq();
+    var neq = require_neq();
+    var gt = require_gt();
+    var gte6 = require_gte();
+    var lt = require_lt();
+    var lte = require_lte();
+    var cmp = (a, op, b, loose) => {
+      switch (op) {
+        case "===":
+          if (typeof a === "object") {
+            a = a.version;
+          }
+          if (typeof b === "object") {
+            b = b.version;
+          }
+          return a === b;
+        case "!==":
+          if (typeof a === "object") {
+            a = a.version;
+          }
+          if (typeof b === "object") {
+            b = b.version;
+          }
+          return a !== b;
+        case "":
+        case "=":
+        case "==":
+          return eq(a, b, loose);
+        case "!=":
+          return neq(a, b, loose);
+        case ">":
+          return gt(a, b, loose);
+        case ">=":
+          return gte6(a, b, loose);
+        case "<":
+          return lt(a, b, loose);
+        case "<=":
+          return lte(a, b, loose);
+        default:
+          throw new TypeError(`Invalid operator: ${op}`);
+      }
+    };
+    module2.exports = cmp;
+  }
+});
+
+// node_modules/semver/functions/coerce.js
+var require_coerce = __commonJS({
+  "node_modules/semver/functions/coerce.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var parse2 = require_parse3();
+    var { safeRe: re, t } = require_re();
+    var coerce3 = (version, options) => {
+      if (version instanceof SemVer) {
+        return version;
+      }
+      if (typeof version === "number") {
+        version = String(version);
+      }
+      if (typeof version !== "string") {
+        return null;
+      }
+      options = options || {};
+      let match = null;
+      if (!options.rtl) {
+        match = version.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE]);
+      } else {
+        const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL];
+        let next;
+        while ((next = coerceRtlRegex.exec(version)) && (!match || match.index + match[0].length !== version.length)) {
+          if (!match || next.index + next[0].length !== match.index + match[0].length) {
+            match = next;
+          }
+          coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length;
+        }
+        coerceRtlRegex.lastIndex = -1;
+      }
+      if (match === null) {
+        return null;
+      }
+      const major = match[2];
+      const minor = match[3] || "0";
+      const patch = match[4] || "0";
+      const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : "";
+      const build = options.includePrerelease && match[6] ? `+${match[6]}` : "";
+      return parse2(`${major}.${minor}.${patch}${prerelease}${build}`, options);
+    };
+    module2.exports = coerce3;
+  }
+});
+
+// node_modules/semver/internal/lrucache.js
+var require_lrucache = __commonJS({
+  "node_modules/semver/internal/lrucache.js"(exports2, module2) {
+    "use strict";
+    var LRUCache = class {
+      constructor() {
+        this.max = 1e3;
+        this.map = /* @__PURE__ */ new Map();
+      }
+      get(key) {
+        const value = this.map.get(key);
+        if (value === void 0) {
+          return void 0;
+        } else {
+          this.map.delete(key);
+          this.map.set(key, value);
+          return value;
+        }
+      }
+      delete(key) {
+        return this.map.delete(key);
+      }
+      set(key, value) {
+        const deleted = this.delete(key);
+        if (!deleted && value !== void 0) {
+          if (this.map.size >= this.max) {
+            const firstKey = this.map.keys().next().value;
+            this.delete(firstKey);
+          }
+          this.map.set(key, value);
+        }
+        return this;
+      }
+    };
+    module2.exports = LRUCache;
+  }
+});
+
+// node_modules/semver/classes/range.js
+var require_range = __commonJS({
+  "node_modules/semver/classes/range.js"(exports2, module2) {
+    "use strict";
+    var SPACE_CHARACTERS = /\s+/g;
+    var Range2 = class _Range {
+      constructor(range, options) {
+        options = parseOptions(options);
+        if (range instanceof _Range) {
+          if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
+            return range;
+          } else {
+            return new _Range(range.raw, options);
+          }
+        }
+        if (range instanceof Comparator) {
+          this.raw = range.value;
+          this.set = [[range]];
+          this.formatted = void 0;
+          return this;
+        }
+        this.options = options;
+        this.loose = !!options.loose;
+        this.includePrerelease = !!options.includePrerelease;
+        this.raw = range.trim().replace(SPACE_CHARACTERS, " ");
+        this.set = this.raw.split("||").map((r) => this.parseRange(r.trim())).filter((c) => c.length);
+        if (!this.set.length) {
+          throw new TypeError(`Invalid SemVer Range: ${this.raw}`);
+        }
+        if (this.set.length > 1) {
+          const first = this.set[0];
+          this.set = this.set.filter((c) => !isNullSet(c[0]));
+          if (this.set.length === 0) {
+            this.set = [first];
+          } else if (this.set.length > 1) {
+            for (const c of this.set) {
+              if (c.length === 1 && isAny(c[0])) {
+                this.set = [c];
+                break;
+              }
+            }
+          }
+        }
+        this.formatted = void 0;
+      }
+      get range() {
+        if (this.formatted === void 0) {
+          this.formatted = "";
+          for (let i = 0; i < this.set.length; i++) {
+            if (i > 0) {
+              this.formatted += "||";
+            }
+            const comps = this.set[i];
+            for (let k = 0; k < comps.length; k++) {
+              if (k > 0) {
+                this.formatted += " ";
+              }
+              this.formatted += comps[k].toString().trim();
+            }
+          }
+        }
+        return this.formatted;
+      }
+      format() {
+        return this.range;
+      }
+      toString() {
+        return this.range;
+      }
+      parseRange(range) {
+        const memoOpts = (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | (this.options.loose && FLAG_LOOSE);
+        const memoKey = memoOpts + ":" + range;
+        const cached = cache.get(memoKey);
+        if (cached) {
+          return cached;
+        }
+        const loose = this.options.loose;
+        const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE];
+        range = range.replace(hr, hyphenReplace(this.options.includePrerelease));
+        debug4("hyphen replace", range);
+        range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace);
+        debug4("comparator trim", range);
+        range = range.replace(re[t.TILDETRIM], tildeTrimReplace);
+        debug4("tilde trim", range);
+        range = range.replace(re[t.CARETTRIM], caretTrimReplace);
+        debug4("caret trim", range);
+        let rangeList = range.split(" ").map((comp) => parseComparator(comp, this.options)).join(" ").split(/\s+/).map((comp) => replaceGTE0(comp, this.options));
+        if (loose) {
+          rangeList = rangeList.filter((comp) => {
+            debug4("loose invalid filter", comp, this.options);
+            return !!comp.match(re[t.COMPARATORLOOSE]);
+          });
+        }
+        debug4("range list", rangeList);
+        const rangeMap = /* @__PURE__ */ new Map();
+        const comparators = rangeList.map((comp) => new Comparator(comp, this.options));
+        for (const comp of comparators) {
+          if (isNullSet(comp)) {
+            return [comp];
+          }
+          rangeMap.set(comp.value, comp);
+        }
+        if (rangeMap.size > 1 && rangeMap.has("")) {
+          rangeMap.delete("");
+        }
+        const result = [...rangeMap.values()];
+        cache.set(memoKey, result);
+        return result;
+      }
+      intersects(range, options) {
+        if (!(range instanceof _Range)) {
+          throw new TypeError("a Range is required");
+        }
+        return this.set.some((thisComparators) => {
+          return isSatisfiable(thisComparators, options) && range.set.some((rangeComparators) => {
+            return isSatisfiable(rangeComparators, options) && thisComparators.every((thisComparator) => {
+              return rangeComparators.every((rangeComparator) => {
+                return thisComparator.intersects(rangeComparator, options);
+              });
+            });
+          });
+        });
+      }
+      // if ANY of the sets match ALL of its comparators, then pass
+      test(version) {
+        if (!version) {
+          return false;
+        }
+        if (typeof version === "string") {
+          try {
+            version = new SemVer(version, this.options);
+          } catch (er) {
+            return false;
+          }
+        }
+        for (let i = 0; i < this.set.length; i++) {
+          if (testSet(this.set[i], version, this.options)) {
+            return true;
+          }
+        }
+        return false;
+      }
+    };
+    module2.exports = Range2;
+    var LRU = require_lrucache();
+    var cache = new LRU();
+    var parseOptions = require_parse_options();
+    var Comparator = require_comparator();
+    var debug4 = require_debug();
+    var SemVer = require_semver();
+    var {
+      safeRe: re,
+      t,
+      comparatorTrimReplace,
+      tildeTrimReplace,
+      caretTrimReplace
+    } = require_re();
+    var { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require_constants11();
+    var isNullSet = (c) => c.value === "<0.0.0-0";
+    var isAny = (c) => c.value === "";
+    var isSatisfiable = (comparators, options) => {
+      let result = true;
+      const remainingComparators = comparators.slice();
+      let testComparator = remainingComparators.pop();
+      while (result && remainingComparators.length) {
+        result = remainingComparators.every((otherComparator) => {
+          return testComparator.intersects(otherComparator, options);
+        });
+        testComparator = remainingComparators.pop();
+      }
+      return result;
+    };
+    var parseComparator = (comp, options) => {
+      comp = comp.replace(re[t.BUILD], "");
+      debug4("comp", comp, options);
+      comp = replaceCarets(comp, options);
+      debug4("caret", comp);
+      comp = replaceTildes(comp, options);
+      debug4("tildes", comp);
+      comp = replaceXRanges(comp, options);
+      debug4("xrange", comp);
+      comp = replaceStars(comp, options);
+      debug4("stars", comp);
+      return comp;
+    };
+    var isX = (id) => !id || id.toLowerCase() === "x" || id === "*";
+    var replaceTildes = (comp, options) => {
+      return comp.trim().split(/\s+/).map((c) => replaceTilde(c, options)).join(" ");
+    };
+    var replaceTilde = (comp, options) => {
+      const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
+      return comp.replace(r, (_2, M, m, p, pr) => {
+        debug4("tilde", comp, _2, M, m, p, pr);
+        let ret;
+        if (isX(M)) {
+          ret = "";
+        } else if (isX(m)) {
+          ret = `>=${M}.0.0 <${+M + 1}.0.0-0`;
+        } else if (isX(p)) {
+          ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`;
+        } else if (pr) {
+          debug4("replaceTilde pr", pr);
+          ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
+        } else {
+          ret = `>=${M}.${m}.${p} <${M}.${+m + 1}.0-0`;
+        }
+        debug4("tilde return", ret);
+        return ret;
+      });
+    };
+    var replaceCarets = (comp, options) => {
+      return comp.trim().split(/\s+/).map((c) => replaceCaret(c, options)).join(" ");
+    };
+    var replaceCaret = (comp, options) => {
+      debug4("caret", comp, options);
+      const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET];
+      const z = options.includePrerelease ? "-0" : "";
+      return comp.replace(r, (_2, M, m, p, pr) => {
+        debug4("caret", comp, _2, M, m, p, pr);
+        let ret;
+        if (isX(M)) {
+          ret = "";
+        } else if (isX(m)) {
+          ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`;
+        } else if (isX(p)) {
+          if (M === "0") {
+            ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`;
+          } else {
+            ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`;
+          }
+        } else if (pr) {
+          debug4("replaceCaret pr", pr);
+          if (M === "0") {
+            if (m === "0") {
+              ret = `>=${M}.${m}.${p}-${pr} <${M}.${m}.${+p + 1}-0`;
+            } else {
+              ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
+            }
+          } else {
+            ret = `>=${M}.${m}.${p}-${pr} <${+M + 1}.0.0-0`;
+          }
+        } else {
+          debug4("no pr");
+          if (M === "0") {
+            if (m === "0") {
+              ret = `>=${M}.${m}.${p}${z} <${M}.${m}.${+p + 1}-0`;
+            } else {
+              ret = `>=${M}.${m}.${p}${z} <${M}.${+m + 1}.0-0`;
+            }
+          } else {
+            ret = `>=${M}.${m}.${p} <${+M + 1}.0.0-0`;
+          }
+        }
+        debug4("caret return", ret);
+        return ret;
+      });
+    };
+    var replaceXRanges = (comp, options) => {
+      debug4("replaceXRanges", comp, options);
+      return comp.split(/\s+/).map((c) => replaceXRange(c, options)).join(" ");
+    };
+    var replaceXRange = (comp, options) => {
+      comp = comp.trim();
+      const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
+      return comp.replace(r, (ret, gtlt, M, m, p, pr) => {
+        debug4("xRange", comp, ret, gtlt, M, m, p, pr);
+        const xM = isX(M);
+        const xm = xM || isX(m);
+        const xp = xm || isX(p);
+        const anyX = xp;
+        if (gtlt === "=" && anyX) {
+          gtlt = "";
+        }
+        pr = options.includePrerelease ? "-0" : "";
+        if (xM) {
+          if (gtlt === ">" || gtlt === "<") {
+            ret = "<0.0.0-0";
+          } else {
+            ret = "*";
+          }
+        } else if (gtlt && anyX) {
+          if (xm) {
+            m = 0;
+          }
+          p = 0;
+          if (gtlt === ">") {
+            gtlt = ">=";
+            if (xm) {
+              M = +M + 1;
+              m = 0;
+              p = 0;
+            } else {
+              m = +m + 1;
+              p = 0;
+            }
+          } else if (gtlt === "<=") {
+            gtlt = "<";
+            if (xm) {
+              M = +M + 1;
+            } else {
+              m = +m + 1;
+            }
+          }
+          if (gtlt === "<") {
+            pr = "-0";
+          }
+          ret = `${gtlt + M}.${m}.${p}${pr}`;
+        } else if (xm) {
+          ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`;
+        } else if (xp) {
+          ret = `>=${M}.${m}.0${pr} <${M}.${+m + 1}.0-0`;
+        }
+        debug4("xRange return", ret);
+        return ret;
+      });
+    };
+    var replaceStars = (comp, options) => {
+      debug4("replaceStars", comp, options);
+      return comp.trim().replace(re[t.STAR], "");
+    };
+    var replaceGTE0 = (comp, options) => {
+      debug4("replaceGTE0", comp, options);
+      return comp.trim().replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], "");
+    };
+    var hyphenReplace = (incPr) => ($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr) => {
+      if (isX(fM)) {
+        from = "";
+      } else if (isX(fm)) {
+        from = `>=${fM}.0.0${incPr ? "-0" : ""}`;
+      } else if (isX(fp)) {
+        from = `>=${fM}.${fm}.0${incPr ? "-0" : ""}`;
+      } else if (fpr) {
+        from = `>=${from}`;
+      } else {
+        from = `>=${from}${incPr ? "-0" : ""}`;
+      }
+      if (isX(tM)) {
+        to = "";
+      } else if (isX(tm)) {
+        to = `<${+tM + 1}.0.0-0`;
+      } else if (isX(tp)) {
+        to = `<${tM}.${+tm + 1}.0-0`;
+      } else if (tpr) {
+        to = `<=${tM}.${tm}.${tp}-${tpr}`;
+      } else if (incPr) {
+        to = `<${tM}.${tm}.${+tp + 1}-0`;
+      } else {
+        to = `<=${to}`;
+      }
+      return `${from} ${to}`.trim();
+    };
+    var testSet = (set2, version, options) => {
+      for (let i = 0; i < set2.length; i++) {
+        if (!set2[i].test(version)) {
+          return false;
+        }
+      }
+      if (version.prerelease.length && !options.includePrerelease) {
+        for (let i = 0; i < set2.length; i++) {
+          debug4(set2[i].semver);
+          if (set2[i].semver === Comparator.ANY) {
+            continue;
+          }
+          if (set2[i].semver.prerelease.length > 0) {
+            const allowed = set2[i].semver;
+            if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) {
+              return true;
+            }
+          }
+        }
+        return false;
+      }
+      return true;
+    };
+  }
+});
+
+// node_modules/semver/classes/comparator.js
+var require_comparator = __commonJS({
+  "node_modules/semver/classes/comparator.js"(exports2, module2) {
+    "use strict";
+    var ANY = /* @__PURE__ */ Symbol("SemVer ANY");
+    var Comparator = class _Comparator {
+      static get ANY() {
+        return ANY;
+      }
+      constructor(comp, options) {
+        options = parseOptions(options);
+        if (comp instanceof _Comparator) {
+          if (comp.loose === !!options.loose) {
+            return comp;
+          } else {
+            comp = comp.value;
+          }
+        }
+        comp = comp.trim().split(/\s+/).join(" ");
+        debug4("comparator", comp, options);
+        this.options = options;
+        this.loose = !!options.loose;
+        this.parse(comp);
+        if (this.semver === ANY) {
+          this.value = "";
+        } else {
+          this.value = this.operator + this.semver.version;
+        }
+        debug4("comp", this);
+      }
+      parse(comp) {
+        const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
+        const m = comp.match(r);
+        if (!m) {
+          throw new TypeError(`Invalid comparator: ${comp}`);
+        }
+        this.operator = m[1] !== void 0 ? m[1] : "";
+        if (this.operator === "=") {
+          this.operator = "";
+        }
+        if (!m[2]) {
+          this.semver = ANY;
+        } else {
+          this.semver = new SemVer(m[2], this.options.loose);
+        }
+      }
+      toString() {
+        return this.value;
+      }
+      test(version) {
+        debug4("Comparator.test", version, this.options.loose);
+        if (this.semver === ANY || version === ANY) {
+          return true;
+        }
+        if (typeof version === "string") {
+          try {
+            version = new SemVer(version, this.options);
+          } catch (er) {
+            return false;
+          }
+        }
+        return cmp(version, this.operator, this.semver, this.options);
+      }
+      intersects(comp, options) {
+        if (!(comp instanceof _Comparator)) {
+          throw new TypeError("a Comparator is required");
+        }
+        if (this.operator === "") {
+          if (this.value === "") {
+            return true;
+          }
+          return new Range2(comp.value, options).test(this.value);
+        } else if (comp.operator === "") {
+          if (comp.value === "") {
+            return true;
+          }
+          return new Range2(this.value, options).test(comp.semver);
+        }
+        options = parseOptions(options);
+        if (options.includePrerelease && (this.value === "<0.0.0-0" || comp.value === "<0.0.0-0")) {
+          return false;
+        }
+        if (!options.includePrerelease && (this.value.startsWith("<0.0.0") || comp.value.startsWith("<0.0.0"))) {
+          return false;
+        }
+        if (this.operator.startsWith(">") && comp.operator.startsWith(">")) {
+          return true;
+        }
+        if (this.operator.startsWith("<") && comp.operator.startsWith("<")) {
+          return true;
+        }
+        if (this.semver.version === comp.semver.version && this.operator.includes("=") && comp.operator.includes("=")) {
+          return true;
+        }
+        if (cmp(this.semver, "<", comp.semver, options) && this.operator.startsWith(">") && comp.operator.startsWith("<")) {
+          return true;
+        }
+        if (cmp(this.semver, ">", comp.semver, options) && this.operator.startsWith("<") && comp.operator.startsWith(">")) {
+          return true;
+        }
+        return false;
+      }
+    };
+    module2.exports = Comparator;
+    var parseOptions = require_parse_options();
+    var { safeRe: re, t } = require_re();
+    var cmp = require_cmp();
+    var debug4 = require_debug();
+    var SemVer = require_semver();
+    var Range2 = require_range();
+  }
+});
+
+// node_modules/semver/functions/satisfies.js
+var require_satisfies = __commonJS({
+  "node_modules/semver/functions/satisfies.js"(exports2, module2) {
+    "use strict";
+    var Range2 = require_range();
+    var satisfies2 = (version, range, options) => {
+      try {
+        range = new Range2(range, options);
+      } catch (er) {
+        return false;
+      }
+      return range.test(version);
+    };
+    module2.exports = satisfies2;
+  }
+});
+
+// node_modules/semver/ranges/to-comparators.js
+var require_to_comparators = __commonJS({
+  "node_modules/semver/ranges/to-comparators.js"(exports2, module2) {
+    "use strict";
+    var Range2 = require_range();
+    var toComparators = (range, options) => new Range2(range, options).set.map((comp) => comp.map((c) => c.value).join(" ").trim().split(" "));
+    module2.exports = toComparators;
+  }
+});
+
+// node_modules/semver/ranges/max-satisfying.js
+var require_max_satisfying = __commonJS({
+  "node_modules/semver/ranges/max-satisfying.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var Range2 = require_range();
+    var maxSatisfying = (versions, range, options) => {
+      let max = null;
+      let maxSV = null;
+      let rangeObj = null;
+      try {
+        rangeObj = new Range2(range, options);
+      } catch (er) {
+        return null;
+      }
+      versions.forEach((v) => {
+        if (rangeObj.test(v)) {
+          if (!max || maxSV.compare(v) === -1) {
+            max = v;
+            maxSV = new SemVer(max, options);
+          }
+        }
+      });
+      return max;
+    };
+    module2.exports = maxSatisfying;
+  }
+});
+
+// node_modules/semver/ranges/min-satisfying.js
+var require_min_satisfying = __commonJS({
+  "node_modules/semver/ranges/min-satisfying.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var Range2 = require_range();
+    var minSatisfying = (versions, range, options) => {
+      let min = null;
+      let minSV = null;
+      let rangeObj = null;
+      try {
+        rangeObj = new Range2(range, options);
+      } catch (er) {
+        return null;
+      }
+      versions.forEach((v) => {
+        if (rangeObj.test(v)) {
+          if (!min || minSV.compare(v) === 1) {
+            min = v;
+            minSV = new SemVer(min, options);
+          }
+        }
+      });
+      return min;
+    };
+    module2.exports = minSatisfying;
+  }
+});
+
+// node_modules/semver/ranges/min-version.js
+var require_min_version = __commonJS({
+  "node_modules/semver/ranges/min-version.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var Range2 = require_range();
+    var gt = require_gt();
+    var minVersion = (range, loose) => {
+      range = new Range2(range, loose);
+      let minver = new SemVer("0.0.0");
+      if (range.test(minver)) {
+        return minver;
+      }
+      minver = new SemVer("0.0.0-0");
+      if (range.test(minver)) {
+        return minver;
+      }
+      minver = null;
+      for (let i = 0; i < range.set.length; ++i) {
+        const comparators = range.set[i];
+        let setMin = null;
+        comparators.forEach((comparator) => {
+          const compver = new SemVer(comparator.semver.version);
+          switch (comparator.operator) {
+            case ">":
+              if (compver.prerelease.length === 0) {
+                compver.patch++;
+              } else {
+                compver.prerelease.push(0);
+              }
+              compver.raw = compver.format();
+            /* fallthrough */
+            case "":
+            case ">=":
+              if (!setMin || gt(compver, setMin)) {
+                setMin = compver;
+              }
+              break;
+            case "<":
+            case "<=":
+              break;
+            /* istanbul ignore next */
+            default:
+              throw new Error(`Unexpected operation: ${comparator.operator}`);
+          }
+        });
+        if (setMin && (!minver || gt(minver, setMin))) {
+          minver = setMin;
+        }
+      }
+      if (minver && range.test(minver)) {
+        return minver;
+      }
+      return null;
+    };
+    module2.exports = minVersion;
+  }
+});
+
+// node_modules/semver/ranges/valid.js
+var require_valid2 = __commonJS({
+  "node_modules/semver/ranges/valid.js"(exports2, module2) {
+    "use strict";
+    var Range2 = require_range();
+    var validRange = (range, options) => {
+      try {
+        return new Range2(range, options).range || "*";
+      } catch (er) {
+        return null;
+      }
+    };
+    module2.exports = validRange;
+  }
+});
+
+// node_modules/semver/ranges/outside.js
+var require_outside = __commonJS({
+  "node_modules/semver/ranges/outside.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var Comparator = require_comparator();
+    var { ANY } = Comparator;
+    var Range2 = require_range();
+    var satisfies2 = require_satisfies();
+    var gt = require_gt();
+    var lt = require_lt();
+    var lte = require_lte();
+    var gte6 = require_gte();
+    var outside = (version, range, hilo, options) => {
+      version = new SemVer(version, options);
+      range = new Range2(range, options);
+      let gtfn, ltefn, ltfn, comp, ecomp;
+      switch (hilo) {
+        case ">":
+          gtfn = gt;
+          ltefn = lte;
+          ltfn = lt;
+          comp = ">";
+          ecomp = ">=";
+          break;
+        case "<":
+          gtfn = lt;
+          ltefn = gte6;
+          ltfn = gt;
+          comp = "<";
+          ecomp = "<=";
+          break;
+        default:
+          throw new TypeError('Must provide a hilo val of "<" or ">"');
+      }
+      if (satisfies2(version, range, options)) {
+        return false;
+      }
+      for (let i = 0; i < range.set.length; ++i) {
+        const comparators = range.set[i];
+        let high = null;
+        let low = null;
+        comparators.forEach((comparator) => {
+          if (comparator.semver === ANY) {
+            comparator = new Comparator(">=0.0.0");
+          }
+          high = high || comparator;
+          low = low || comparator;
+          if (gtfn(comparator.semver, high.semver, options)) {
+            high = comparator;
+          } else if (ltfn(comparator.semver, low.semver, options)) {
+            low = comparator;
+          }
+        });
+        if (high.operator === comp || high.operator === ecomp) {
+          return false;
+        }
+        if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) {
+          return false;
+        } else if (low.operator === ecomp && ltfn(version, low.semver)) {
+          return false;
+        }
+      }
+      return true;
+    };
+    module2.exports = outside;
+  }
+});
+
+// node_modules/semver/ranges/gtr.js
+var require_gtr = __commonJS({
+  "node_modules/semver/ranges/gtr.js"(exports2, module2) {
+    "use strict";
+    var outside = require_outside();
+    var gtr = (version, range, options) => outside(version, range, ">", options);
+    module2.exports = gtr;
+  }
+});
+
+// node_modules/semver/ranges/ltr.js
+var require_ltr = __commonJS({
+  "node_modules/semver/ranges/ltr.js"(exports2, module2) {
+    "use strict";
+    var outside = require_outside();
+    var ltr = (version, range, options) => outside(version, range, "<", options);
+    module2.exports = ltr;
+  }
+});
+
+// node_modules/semver/ranges/intersects.js
+var require_intersects = __commonJS({
+  "node_modules/semver/ranges/intersects.js"(exports2, module2) {
+    "use strict";
+    var Range2 = require_range();
+    var intersects = (r1, r2, options) => {
+      r1 = new Range2(r1, options);
+      r2 = new Range2(r2, options);
+      return r1.intersects(r2, options);
+    };
+    module2.exports = intersects;
+  }
+});
+
+// node_modules/semver/ranges/simplify.js
+var require_simplify = __commonJS({
+  "node_modules/semver/ranges/simplify.js"(exports2, module2) {
+    "use strict";
+    var satisfies2 = require_satisfies();
+    var compare2 = require_compare();
+    module2.exports = (versions, range, options) => {
+      const set2 = [];
+      let first = null;
+      let prev = null;
+      const v = versions.sort((a, b) => compare2(a, b, options));
+      for (const version of v) {
+        const included = satisfies2(version, range, options);
+        if (included) {
+          prev = version;
+          if (!first) {
+            first = version;
+          }
+        } else {
+          if (prev) {
+            set2.push([first, prev]);
+          }
+          prev = null;
+          first = null;
+        }
+      }
+      if (first) {
+        set2.push([first, null]);
+      }
+      const ranges = [];
+      for (const [min, max] of set2) {
+        if (min === max) {
+          ranges.push(min);
+        } else if (!max && min === v[0]) {
+          ranges.push("*");
+        } else if (!max) {
+          ranges.push(`>=${min}`);
+        } else if (min === v[0]) {
+          ranges.push(`<=${max}`);
+        } else {
+          ranges.push(`${min} - ${max}`);
+        }
+      }
+      const simplified = ranges.join(" || ");
+      const original = typeof range.raw === "string" ? range.raw : String(range);
+      return simplified.length < original.length ? simplified : range;
+    };
+  }
+});
+
+// node_modules/semver/ranges/subset.js
+var require_subset = __commonJS({
+  "node_modules/semver/ranges/subset.js"(exports2, module2) {
+    "use strict";
+    var Range2 = require_range();
+    var Comparator = require_comparator();
+    var { ANY } = Comparator;
+    var satisfies2 = require_satisfies();
+    var compare2 = require_compare();
+    var subset = (sub, dom, options = {}) => {
+      if (sub === dom) {
+        return true;
+      }
+      sub = new Range2(sub, options);
+      dom = new Range2(dom, options);
+      let sawNonNull = false;
+      OUTER: for (const simpleSub of sub.set) {
+        for (const simpleDom of dom.set) {
+          const isSub = simpleSubset(simpleSub, simpleDom, options);
+          sawNonNull = sawNonNull || isSub !== null;
+          if (isSub) {
+            continue OUTER;
+          }
+        }
+        if (sawNonNull) {
+          return false;
+        }
+      }
+      return true;
+    };
+    var minimumVersionWithPreRelease = [new Comparator(">=0.0.0-0")];
+    var minimumVersion2 = [new Comparator(">=0.0.0")];
+    var simpleSubset = (sub, dom, options) => {
+      if (sub === dom) {
+        return true;
+      }
+      if (sub.length === 1 && sub[0].semver === ANY) {
+        if (dom.length === 1 && dom[0].semver === ANY) {
+          return true;
+        } else if (options.includePrerelease) {
+          sub = minimumVersionWithPreRelease;
+        } else {
+          sub = minimumVersion2;
+        }
+      }
+      if (dom.length === 1 && dom[0].semver === ANY) {
+        if (options.includePrerelease) {
+          return true;
+        } else {
+          dom = minimumVersion2;
+        }
+      }
+      const eqSet = /* @__PURE__ */ new Set();
+      let gt, lt;
+      for (const c of sub) {
+        if (c.operator === ">" || c.operator === ">=") {
+          gt = higherGT(gt, c, options);
+        } else if (c.operator === "<" || c.operator === "<=") {
+          lt = lowerLT(lt, c, options);
+        } else {
+          eqSet.add(c.semver);
+        }
+      }
+      if (eqSet.size > 1) {
+        return null;
+      }
+      let gtltComp;
+      if (gt && lt) {
+        gtltComp = compare2(gt.semver, lt.semver, options);
+        if (gtltComp > 0) {
+          return null;
+        } else if (gtltComp === 0 && (gt.operator !== ">=" || lt.operator !== "<=")) {
+          return null;
+        }
+      }
+      for (const eq of eqSet) {
+        if (gt && !satisfies2(eq, String(gt), options)) {
+          return null;
+        }
+        if (lt && !satisfies2(eq, String(lt), options)) {
+          return null;
+        }
+        for (const c of dom) {
+          if (!satisfies2(eq, String(c), options)) {
+            return false;
+          }
+        }
+        return true;
+      }
+      let higher, lower;
+      let hasDomLT, hasDomGT;
+      let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false;
+      let needDomGTPre = gt && !options.includePrerelease && gt.semver.prerelease.length ? gt.semver : false;
+      if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt.operator === "<" && needDomLTPre.prerelease[0] === 0) {
+        needDomLTPre = false;
+      }
+      for (const c of dom) {
+        hasDomGT = hasDomGT || c.operator === ">" || c.operator === ">=";
+        hasDomLT = hasDomLT || c.operator === "<" || c.operator === "<=";
+        if (gt) {
+          if (needDomGTPre) {
+            if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomGTPre.major && c.semver.minor === needDomGTPre.minor && c.semver.patch === needDomGTPre.patch) {
+              needDomGTPre = false;
+            }
+          }
+          if (c.operator === ">" || c.operator === ">=") {
+            higher = higherGT(gt, c, options);
+            if (higher === c && higher !== gt) {
+              return false;
+            }
+          } else if (gt.operator === ">=" && !satisfies2(gt.semver, String(c), options)) {
+            return false;
+          }
+        }
+        if (lt) {
+          if (needDomLTPre) {
+            if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomLTPre.major && c.semver.minor === needDomLTPre.minor && c.semver.patch === needDomLTPre.patch) {
+              needDomLTPre = false;
+            }
+          }
+          if (c.operator === "<" || c.operator === "<=") {
+            lower = lowerLT(lt, c, options);
+            if (lower === c && lower !== lt) {
+              return false;
+            }
+          } else if (lt.operator === "<=" && !satisfies2(lt.semver, String(c), options)) {
+            return false;
+          }
+        }
+        if (!c.operator && (lt || gt) && gtltComp !== 0) {
+          return false;
+        }
+      }
+      if (gt && hasDomLT && !lt && gtltComp !== 0) {
+        return false;
+      }
+      if (lt && hasDomGT && !gt && gtltComp !== 0) {
+        return false;
+      }
+      if (needDomGTPre || needDomLTPre) {
+        return false;
+      }
+      return true;
+    };
+    var higherGT = (a, b, options) => {
+      if (!a) {
+        return b;
+      }
+      const comp = compare2(a.semver, b.semver, options);
+      return comp > 0 ? a : comp < 0 ? b : b.operator === ">" && a.operator === ">=" ? b : a;
+    };
+    var lowerLT = (a, b, options) => {
+      if (!a) {
+        return b;
+      }
+      const comp = compare2(a.semver, b.semver, options);
+      return comp < 0 ? a : comp > 0 ? b : b.operator === "<" && a.operator === "<=" ? b : a;
+    };
+    module2.exports = subset;
+  }
+});
+
+// node_modules/semver/index.js
+var require_semver2 = __commonJS({
+  "node_modules/semver/index.js"(exports2, module2) {
+    "use strict";
+    var internalRe = require_re();
+    var constants = require_constants11();
+    var SemVer = require_semver();
+    var identifiers = require_identifiers();
+    var parse2 = require_parse3();
+    var valid3 = require_valid();
+    var clean3 = require_clean();
+    var inc = require_inc();
+    var diff = require_diff();
+    var major = require_major();
+    var minor = require_minor();
+    var patch = require_patch();
+    var prerelease = require_prerelease();
+    var compare2 = require_compare();
+    var rcompare = require_rcompare();
+    var compareLoose = require_compare_loose();
+    var compareBuild = require_compare_build();
+    var sort = require_sort();
+    var rsort = require_rsort();
+    var gt = require_gt();
+    var lt = require_lt();
+    var eq = require_eq();
+    var neq = require_neq();
+    var gte6 = require_gte();
+    var lte = require_lte();
+    var cmp = require_cmp();
+    var coerce3 = require_coerce();
+    var Comparator = require_comparator();
+    var Range2 = require_range();
+    var satisfies2 = require_satisfies();
+    var toComparators = require_to_comparators();
+    var maxSatisfying = require_max_satisfying();
+    var minSatisfying = require_min_satisfying();
+    var minVersion = require_min_version();
+    var validRange = require_valid2();
+    var outside = require_outside();
+    var gtr = require_gtr();
+    var ltr = require_ltr();
+    var intersects = require_intersects();
+    var simplifyRange = require_simplify();
+    var subset = require_subset();
+    module2.exports = {
+      parse: parse2,
+      valid: valid3,
+      clean: clean3,
+      inc,
+      diff,
+      major,
+      minor,
+      patch,
+      prerelease,
+      compare: compare2,
+      rcompare,
+      compareLoose,
+      compareBuild,
+      sort,
+      rsort,
+      gt,
+      lt,
+      eq,
+      neq,
+      gte: gte6,
+      lte,
+      cmp,
+      coerce: coerce3,
+      Comparator,
+      Range: Range2,
+      satisfies: satisfies2,
+      toComparators,
+      maxSatisfying,
+      minSatisfying,
+      minVersion,
+      validRange,
+      outside,
+      gtr,
+      ltr,
+      intersects,
+      simplifyRange,
+      subset,
+      SemVer,
+      re: internalRe.re,
+      src: internalRe.src,
+      tokens: internalRe.t,
+      SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,
+      RELEASE_TYPES: constants.RELEASE_TYPES,
+      compareIdentifiers: identifiers.compareIdentifiers,
+      rcompareIdentifiers: identifiers.rcompareIdentifiers
+    };
+  }
+});
+
+// package.json
+var require_package = __commonJS({
+  "package.json"(exports2, module2) {
+    module2.exports = {
+      name: "codeql",
+      version: "4.32.2",
+      private: true,
+      description: "CodeQL action",
+      scripts: {
+        _build_comment: "echo 'Run the full build so we typecheck the project and can reuse the transpiled files in npm test'",
+        build: "./scripts/check-node-modules.sh && npm run transpile && node build.mjs",
+        lint: "eslint --report-unused-disable-directives --max-warnings=0 .",
+        "lint-ci": "SARIF_ESLINT_IGNORE_SUPPRESSED=true eslint --report-unused-disable-directives --max-warnings=0 . --format @microsoft/eslint-formatter-sarif --output-file=eslint.sarif",
+        "lint-fix": "eslint --report-unused-disable-directives --max-warnings=0 . --fix",
+        ava: "npm run transpile && ava --serial --verbose",
+        test: "npm run ava -- src/",
+        "test-debug": "npm run test -- --timeout=20m",
+        transpile: "tsc --build --verbose"
+      },
+      ava: {
+        typescript: {
+          rewritePaths: {
+            "src/": "build/"
+          },
+          compile: false
+        }
       },
-      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}"
-        ]
+      license: "MIT",
+      dependencies: {
+        "@actions/artifact": "^5.0.3",
+        "@actions/artifact-legacy": "npm:@actions/artifact@^1.1.2",
+        "@actions/cache": "^5.0.5",
+        "@actions/core": "^2.0.3",
+        "@actions/exec": "^2.0.0",
+        "@actions/github": "^8.0.1",
+        "@actions/glob": "^0.5.0",
+        "@actions/http-client": "^3.0.0",
+        "@actions/io": "^2.0.0",
+        "@actions/tool-cache": "^3.0.1",
+        "@octokit/plugin-retry": "^8.0.0",
+        "@schemastore/package": "0.0.10",
+        archiver: "^7.0.1",
+        "fast-deep-equal": "^3.1.3",
+        "follow-redirects": "^1.15.11",
+        "get-folder-size": "^5.0.0",
+        "js-yaml": "^4.1.1",
+        jsonschema: "1.4.1",
+        long: "^5.3.2",
+        "node-forge": "^1.3.3",
+        semver: "^7.7.3",
+        uuid: "^13.0.0"
       },
-      teams: {
-        addOrUpdateMembershipForUserInOrg: [
-          "PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"
-        ],
-        addOrUpdateRepoPermissionsInOrg: [
-          "PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
-        ],
-        checkPermissionsForRepoInOrg: [
-          "GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
-        ],
-        create: ["POST /orgs/{org}/teams"],
-        createDiscussionCommentInOrg: [
-          "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"
-        ],
-        createDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions"],
-        deleteDiscussionCommentInOrg: [
-          "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"
-        ],
-        deleteDiscussionInOrg: [
-          "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"
-        ],
-        deleteInOrg: ["DELETE /orgs/{org}/teams/{team_slug}"],
-        getByName: ["GET /orgs/{org}/teams/{team_slug}"],
-        getDiscussionCommentInOrg: [
-          "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"
-        ],
-        getDiscussionInOrg: [
-          "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"
-        ],
-        getMembershipForUserInOrg: [
-          "GET /orgs/{org}/teams/{team_slug}/memberships/{username}"
-        ],
-        list: ["GET /orgs/{org}/teams"],
-        listChildInOrg: ["GET /orgs/{org}/teams/{team_slug}/teams"],
-        listDiscussionCommentsInOrg: [
-          "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"
-        ],
-        listDiscussionsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions"],
-        listForAuthenticatedUser: ["GET /user/teams"],
-        listMembersInOrg: ["GET /orgs/{org}/teams/{team_slug}/members"],
-        listPendingInvitationsInOrg: [
-          "GET /orgs/{org}/teams/{team_slug}/invitations"
-        ],
-        listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"],
-        removeMembershipForUserInOrg: [
-          "DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"
-        ],
-        removeRepoInOrg: [
-          "DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
-        ],
-        updateDiscussionCommentInOrg: [
-          "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"
-        ],
-        updateDiscussionInOrg: [
-          "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"
-        ],
-        updateInOrg: ["PATCH /orgs/{org}/teams/{team_slug}"]
+      devDependencies: {
+        "@ava/typescript": "6.0.0",
+        "@eslint/compat": "^2.0.1",
+        "@eslint/eslintrc": "^3.3.3",
+        "@eslint/js": "^9.39.2",
+        "@microsoft/eslint-formatter-sarif": "^3.1.0",
+        "@octokit/types": "^16.0.0",
+        "@types/archiver": "^7.0.0",
+        "@types/follow-redirects": "^1.14.4",
+        "@types/js-yaml": "^4.0.9",
+        "@types/node": "^20.19.9",
+        "@types/node-forge": "^1.3.14",
+        "@types/semver": "^7.7.1",
+        "@types/sinon": "^21.0.0",
+        "@typescript-eslint/eslint-plugin": "^8.54.0",
+        "@typescript-eslint/parser": "^8.48.0",
+        ava: "^6.4.1",
+        esbuild: "^0.27.2",
+        eslint: "^8.57.1",
+        "eslint-import-resolver-typescript": "^3.8.7",
+        "eslint-plugin-filenames": "^1.3.2",
+        "eslint-plugin-github": "^5.1.8",
+        "eslint-plugin-import": "2.29.1",
+        "eslint-plugin-jsdoc": "^62.4.1",
+        "eslint-plugin-no-async-foreach": "^0.1.1",
+        glob: "^11.1.0",
+        nock: "^14.0.10",
+        sinon: "^21.0.1",
+        typescript: "^5.9.3"
+      },
+      overrides: {
+        "@actions/tool-cache": {
+          semver: ">=6.3.1"
+        },
+        "@octokit/request-error": {
+          semver: ">=5.1.1"
+        },
+        "@octokit/request": {
+          semver: ">=8.4.1"
+        },
+        "@octokit/plugin-paginate-rest": {
+          semver: ">=9.2.2"
+        },
+        "eslint-plugin-import": {
+          semver: ">=6.3.1"
+        },
+        "eslint-plugin-jsx-a11y": {
+          semver: ">=6.3.1"
+        },
+        "brace-expansion@2.0.1": "2.0.2",
+        glob: "^11.1.0"
+      }
+    };
+  }
+});
+
+// node_modules/bottleneck/light.js
+var require_light = __commonJS({
+  "node_modules/bottleneck/light.js"(exports2, module2) {
+    (function(global2, factory) {
+      typeof exports2 === "object" && typeof module2 !== "undefined" ? module2.exports = factory() : typeof define === "function" && define.amd ? define(factory) : global2.Bottleneck = factory();
+    })(exports2, (function() {
+      "use strict";
+      var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
+      function getCjsExportFromNamespace(n) {
+        return n && n["default"] || n;
+      }
+      var load2 = function(received, defaults, onto = {}) {
+        var k, ref, v;
+        for (k in defaults) {
+          v = defaults[k];
+          onto[k] = (ref = received[k]) != null ? ref : v;
+        }
+        return onto;
+      };
+      var overwrite = function(received, defaults, onto = {}) {
+        var k, v;
+        for (k in received) {
+          v = received[k];
+          if (defaults[k] !== void 0) {
+            onto[k] = v;
+          }
+        }
+        return onto;
+      };
+      var parser = {
+        load: load2,
+        overwrite
+      };
+      var DLList;
+      DLList = class DLList {
+        constructor(incr, decr) {
+          this.incr = incr;
+          this.decr = decr;
+          this._first = null;
+          this._last = null;
+          this.length = 0;
+        }
+        push(value) {
+          var node;
+          this.length++;
+          if (typeof this.incr === "function") {
+            this.incr();
+          }
+          node = {
+            value,
+            prev: this._last,
+            next: null
+          };
+          if (this._last != null) {
+            this._last.next = node;
+            this._last = node;
+          } else {
+            this._first = this._last = node;
+          }
+          return void 0;
+        }
+        shift() {
+          var value;
+          if (this._first == null) {
+            return;
+          } else {
+            this.length--;
+            if (typeof this.decr === "function") {
+              this.decr();
+            }
+          }
+          value = this._first.value;
+          if ((this._first = this._first.next) != null) {
+            this._first.prev = null;
+          } else {
+            this._last = null;
+          }
+          return value;
+        }
+        first() {
+          if (this._first != null) {
+            return this._first.value;
+          }
+        }
+        getArray() {
+          var node, ref, results;
+          node = this._first;
+          results = [];
+          while (node != null) {
+            results.push((ref = node, node = node.next, ref.value));
+          }
+          return results;
+        }
+        forEachShift(cb) {
+          var node;
+          node = this.shift();
+          while (node != null) {
+            cb(node), node = this.shift();
+          }
+          return void 0;
+        }
+        debug() {
+          var node, ref, ref1, ref2, results;
+          node = this._first;
+          results = [];
+          while (node != null) {
+            results.push((ref = node, node = node.next, {
+              value: ref.value,
+              prev: (ref1 = ref.prev) != null ? ref1.value : void 0,
+              next: (ref2 = ref.next) != null ? ref2.value : void 0
+            }));
+          }
+          return results;
+        }
+      };
+      var DLList_1 = DLList;
+      var Events;
+      Events = class Events {
+        constructor(instance) {
+          this.instance = instance;
+          this._events = {};
+          if (this.instance.on != null || this.instance.once != null || this.instance.removeAllListeners != null) {
+            throw new Error("An Emitter already exists for this object");
+          }
+          this.instance.on = (name, cb) => {
+            return this._addListener(name, "many", cb);
+          };
+          this.instance.once = (name, cb) => {
+            return this._addListener(name, "once", cb);
+          };
+          this.instance.removeAllListeners = (name = null) => {
+            if (name != null) {
+              return delete this._events[name];
+            } else {
+              return this._events = {};
+            }
+          };
+        }
+        _addListener(name, status, cb) {
+          var base;
+          if ((base = this._events)[name] == null) {
+            base[name] = [];
+          }
+          this._events[name].push({ cb, status });
+          return this.instance;
+        }
+        listenerCount(name) {
+          if (this._events[name] != null) {
+            return this._events[name].length;
+          } else {
+            return 0;
+          }
+        }
+        async trigger(name, ...args) {
+          var e, promises;
+          try {
+            if (name !== "debug") {
+              this.trigger("debug", `Event triggered: ${name}`, args);
+            }
+            if (this._events[name] == null) {
+              return;
+            }
+            this._events[name] = this._events[name].filter(function(listener) {
+              return listener.status !== "none";
+            });
+            promises = this._events[name].map(async (listener) => {
+              var e2, returned;
+              if (listener.status === "none") {
+                return;
+              }
+              if (listener.status === "once") {
+                listener.status = "none";
+              }
+              try {
+                returned = typeof listener.cb === "function" ? listener.cb(...args) : void 0;
+                if (typeof (returned != null ? returned.then : void 0) === "function") {
+                  return await returned;
+                } else {
+                  return returned;
+                }
+              } catch (error3) {
+                e2 = error3;
+                {
+                  this.trigger("error", e2);
+                }
+                return null;
+              }
+            });
+            return (await Promise.all(promises)).find(function(x) {
+              return x != null;
+            });
+          } catch (error3) {
+            e = error3;
+            {
+              this.trigger("error", e);
+            }
+            return null;
+          }
+        }
+      };
+      var Events_1 = Events;
+      var DLList$1, Events$1, Queues;
+      DLList$1 = DLList_1;
+      Events$1 = Events_1;
+      Queues = class Queues {
+        constructor(num_priorities) {
+          var i;
+          this.Events = new Events$1(this);
+          this._length = 0;
+          this._lists = (function() {
+            var j, ref, results;
+            results = [];
+            for (i = j = 1, ref = num_priorities; 1 <= ref ? j <= ref : j >= ref; i = 1 <= ref ? ++j : --j) {
+              results.push(new DLList$1((() => {
+                return this.incr();
+              }), (() => {
+                return this.decr();
+              })));
+            }
+            return results;
+          }).call(this);
+        }
+        incr() {
+          if (this._length++ === 0) {
+            return this.Events.trigger("leftzero");
+          }
+        }
+        decr() {
+          if (--this._length === 0) {
+            return this.Events.trigger("zero");
+          }
+        }
+        push(job) {
+          return this._lists[job.options.priority].push(job);
+        }
+        queued(priority) {
+          if (priority != null) {
+            return this._lists[priority].length;
+          } else {
+            return this._length;
+          }
+        }
+        shiftAll(fn) {
+          return this._lists.forEach(function(list) {
+            return list.forEachShift(fn);
+          });
+        }
+        getFirst(arr = this._lists) {
+          var j, len, list;
+          for (j = 0, len = arr.length; j < len; j++) {
+            list = arr[j];
+            if (list.length > 0) {
+              return list;
+            }
+          }
+          return [];
+        }
+        shiftLastFrom(priority) {
+          return this.getFirst(this._lists.slice(priority).reverse()).shift();
+        }
+      };
+      var Queues_1 = Queues;
+      var BottleneckError;
+      BottleneckError = class BottleneckError extends Error {
+      };
+      var BottleneckError_1 = BottleneckError;
+      var BottleneckError$1, DEFAULT_PRIORITY, Job, NUM_PRIORITIES, parser$1;
+      NUM_PRIORITIES = 10;
+      DEFAULT_PRIORITY = 5;
+      parser$1 = parser;
+      BottleneckError$1 = BottleneckError_1;
+      Job = class Job {
+        constructor(task, args, options, jobDefaults, rejectOnDrop, Events2, _states, Promise2) {
+          this.task = task;
+          this.args = args;
+          this.rejectOnDrop = rejectOnDrop;
+          this.Events = Events2;
+          this._states = _states;
+          this.Promise = Promise2;
+          this.options = parser$1.load(options, jobDefaults);
+          this.options.priority = this._sanitizePriority(this.options.priority);
+          if (this.options.id === jobDefaults.id) {
+            this.options.id = `${this.options.id}-${this._randomIndex()}`;
+          }
+          this.promise = new this.Promise((_resolve, _reject) => {
+            this._resolve = _resolve;
+            this._reject = _reject;
+          });
+          this.retryCount = 0;
+        }
+        _sanitizePriority(priority) {
+          var sProperty;
+          sProperty = ~~priority !== priority ? DEFAULT_PRIORITY : priority;
+          if (sProperty < 0) {
+            return 0;
+          } else if (sProperty > NUM_PRIORITIES - 1) {
+            return NUM_PRIORITIES - 1;
+          } else {
+            return sProperty;
+          }
+        }
+        _randomIndex() {
+          return Math.random().toString(36).slice(2);
+        }
+        doDrop({ error: error3, message = "This job has been dropped by Bottleneck" } = {}) {
+          if (this._states.remove(this.options.id)) {
+            if (this.rejectOnDrop) {
+              this._reject(error3 != null ? error3 : new BottleneckError$1(message));
+            }
+            this.Events.trigger("dropped", { args: this.args, options: this.options, task: this.task, promise: this.promise });
+            return true;
+          } else {
+            return false;
+          }
+        }
+        _assertStatus(expected) {
+          var status;
+          status = this._states.jobStatus(this.options.id);
+          if (!(status === expected || expected === "DONE" && status === null)) {
+            throw new BottleneckError$1(`Invalid job status ${status}, expected ${expected}. Please open an issue at https://github.com/SGrondin/bottleneck/issues`);
+          }
+        }
+        doReceive() {
+          this._states.start(this.options.id);
+          return this.Events.trigger("received", { args: this.args, options: this.options });
+        }
+        doQueue(reachedHWM, blocked) {
+          this._assertStatus("RECEIVED");
+          this._states.next(this.options.id);
+          return this.Events.trigger("queued", { args: this.args, options: this.options, reachedHWM, blocked });
+        }
+        doRun() {
+          if (this.retryCount === 0) {
+            this._assertStatus("QUEUED");
+            this._states.next(this.options.id);
+          } else {
+            this._assertStatus("EXECUTING");
+          }
+          return this.Events.trigger("scheduled", { args: this.args, options: this.options });
+        }
+        async doExecute(chained, clearGlobalState, run, free) {
+          var error3, eventInfo, passed;
+          if (this.retryCount === 0) {
+            this._assertStatus("RUNNING");
+            this._states.next(this.options.id);
+          } else {
+            this._assertStatus("EXECUTING");
+          }
+          eventInfo = { args: this.args, options: this.options, retryCount: this.retryCount };
+          this.Events.trigger("executing", eventInfo);
+          try {
+            passed = await (chained != null ? chained.schedule(this.options, this.task, ...this.args) : this.task(...this.args));
+            if (clearGlobalState()) {
+              this.doDone(eventInfo);
+              await free(this.options, eventInfo);
+              this._assertStatus("DONE");
+              return this._resolve(passed);
+            }
+          } catch (error1) {
+            error3 = error1;
+            return this._onFailure(error3, eventInfo, clearGlobalState, run, free);
+          }
+        }
+        doExpire(clearGlobalState, run, free) {
+          var error3, eventInfo;
+          if (this._states.jobStatus(this.options.id === "RUNNING")) {
+            this._states.next(this.options.id);
+          }
+          this._assertStatus("EXECUTING");
+          eventInfo = { args: this.args, options: this.options, retryCount: this.retryCount };
+          error3 = new BottleneckError$1(`This job timed out after ${this.options.expiration} ms.`);
+          return this._onFailure(error3, eventInfo, clearGlobalState, run, free);
+        }
+        async _onFailure(error3, eventInfo, clearGlobalState, run, free) {
+          var retry2, retryAfter;
+          if (clearGlobalState()) {
+            retry2 = await this.Events.trigger("failed", error3, eventInfo);
+            if (retry2 != null) {
+              retryAfter = ~~retry2;
+              this.Events.trigger("retry", `Retrying ${this.options.id} after ${retryAfter} ms`, eventInfo);
+              this.retryCount++;
+              return run(retryAfter);
+            } else {
+              this.doDone(eventInfo);
+              await free(this.options, eventInfo);
+              this._assertStatus("DONE");
+              return this._reject(error3);
+            }
+          }
+        }
+        doDone(eventInfo) {
+          this._assertStatus("EXECUTING");
+          this._states.next(this.options.id);
+          return this.Events.trigger("done", eventInfo);
+        }
+      };
+      var Job_1 = Job;
+      var BottleneckError$2, LocalDatastore, parser$2;
+      parser$2 = parser;
+      BottleneckError$2 = BottleneckError_1;
+      LocalDatastore = class LocalDatastore {
+        constructor(instance, storeOptions, storeInstanceOptions) {
+          this.instance = instance;
+          this.storeOptions = storeOptions;
+          this.clientId = this.instance._randomIndex();
+          parser$2.load(storeInstanceOptions, storeInstanceOptions, this);
+          this._nextRequest = this._lastReservoirRefresh = this._lastReservoirIncrease = Date.now();
+          this._running = 0;
+          this._done = 0;
+          this._unblockTime = 0;
+          this.ready = this.Promise.resolve();
+          this.clients = {};
+          this._startHeartbeat();
+        }
+        _startHeartbeat() {
+          var base;
+          if (this.heartbeat == null && (this.storeOptions.reservoirRefreshInterval != null && this.storeOptions.reservoirRefreshAmount != null || this.storeOptions.reservoirIncreaseInterval != null && this.storeOptions.reservoirIncreaseAmount != null)) {
+            return typeof (base = this.heartbeat = setInterval(() => {
+              var amount, incr, maximum, now, reservoir;
+              now = Date.now();
+              if (this.storeOptions.reservoirRefreshInterval != null && now >= this._lastReservoirRefresh + this.storeOptions.reservoirRefreshInterval) {
+                this._lastReservoirRefresh = now;
+                this.storeOptions.reservoir = this.storeOptions.reservoirRefreshAmount;
+                this.instance._drainAll(this.computeCapacity());
+              }
+              if (this.storeOptions.reservoirIncreaseInterval != null && now >= this._lastReservoirIncrease + this.storeOptions.reservoirIncreaseInterval) {
+                ({
+                  reservoirIncreaseAmount: amount,
+                  reservoirIncreaseMaximum: maximum,
+                  reservoir
+                } = this.storeOptions);
+                this._lastReservoirIncrease = now;
+                incr = maximum != null ? Math.min(amount, maximum - reservoir) : amount;
+                if (incr > 0) {
+                  this.storeOptions.reservoir += incr;
+                  return this.instance._drainAll(this.computeCapacity());
+                }
+              }
+            }, this.heartbeatInterval)).unref === "function" ? base.unref() : void 0;
+          } else {
+            return clearInterval(this.heartbeat);
+          }
+        }
+        async __publish__(message) {
+          await this.yieldLoop();
+          return this.instance.Events.trigger("message", message.toString());
+        }
+        async __disconnect__(flush) {
+          await this.yieldLoop();
+          clearInterval(this.heartbeat);
+          return this.Promise.resolve();
+        }
+        yieldLoop(t = 0) {
+          return new this.Promise(function(resolve3, reject) {
+            return setTimeout(resolve3, t);
+          });
+        }
+        computePenalty() {
+          var ref;
+          return (ref = this.storeOptions.penalty) != null ? ref : 15 * this.storeOptions.minTime || 5e3;
+        }
+        async __updateSettings__(options) {
+          await this.yieldLoop();
+          parser$2.overwrite(options, options, this.storeOptions);
+          this._startHeartbeat();
+          this.instance._drainAll(this.computeCapacity());
+          return true;
+        }
+        async __running__() {
+          await this.yieldLoop();
+          return this._running;
+        }
+        async __queued__() {
+          await this.yieldLoop();
+          return this.instance.queued();
+        }
+        async __done__() {
+          await this.yieldLoop();
+          return this._done;
+        }
+        async __groupCheck__(time) {
+          await this.yieldLoop();
+          return this._nextRequest + this.timeout < time;
+        }
+        computeCapacity() {
+          var maxConcurrent, reservoir;
+          ({ maxConcurrent, reservoir } = this.storeOptions);
+          if (maxConcurrent != null && reservoir != null) {
+            return Math.min(maxConcurrent - this._running, reservoir);
+          } else if (maxConcurrent != null) {
+            return maxConcurrent - this._running;
+          } else if (reservoir != null) {
+            return reservoir;
+          } else {
+            return null;
+          }
+        }
+        conditionsCheck(weight) {
+          var capacity;
+          capacity = this.computeCapacity();
+          return capacity == null || weight <= capacity;
+        }
+        async __incrementReservoir__(incr) {
+          var reservoir;
+          await this.yieldLoop();
+          reservoir = this.storeOptions.reservoir += incr;
+          this.instance._drainAll(this.computeCapacity());
+          return reservoir;
+        }
+        async __currentReservoir__() {
+          await this.yieldLoop();
+          return this.storeOptions.reservoir;
+        }
+        isBlocked(now) {
+          return this._unblockTime >= now;
+        }
+        check(weight, now) {
+          return this.conditionsCheck(weight) && this._nextRequest - now <= 0;
+        }
+        async __check__(weight) {
+          var now;
+          await this.yieldLoop();
+          now = Date.now();
+          return this.check(weight, now);
+        }
+        async __register__(index, weight, expiration) {
+          var now, wait;
+          await this.yieldLoop();
+          now = Date.now();
+          if (this.conditionsCheck(weight)) {
+            this._running += weight;
+            if (this.storeOptions.reservoir != null) {
+              this.storeOptions.reservoir -= weight;
+            }
+            wait = Math.max(this._nextRequest - now, 0);
+            this._nextRequest = now + wait + this.storeOptions.minTime;
+            return {
+              success: true,
+              wait,
+              reservoir: this.storeOptions.reservoir
+            };
+          } else {
+            return {
+              success: false
+            };
+          }
+        }
+        strategyIsBlock() {
+          return this.storeOptions.strategy === 3;
+        }
+        async __submit__(queueLength, weight) {
+          var blocked, now, reachedHWM;
+          await this.yieldLoop();
+          if (this.storeOptions.maxConcurrent != null && weight > this.storeOptions.maxConcurrent) {
+            throw new BottleneckError$2(`Impossible to add a job having a weight of ${weight} to a limiter having a maxConcurrent setting of ${this.storeOptions.maxConcurrent}`);
+          }
+          now = Date.now();
+          reachedHWM = this.storeOptions.highWater != null && queueLength === this.storeOptions.highWater && !this.check(weight, now);
+          blocked = this.strategyIsBlock() && (reachedHWM || this.isBlocked(now));
+          if (blocked) {
+            this._unblockTime = now + this.computePenalty();
+            this._nextRequest = this._unblockTime + this.storeOptions.minTime;
+            this.instance._dropAllQueued();
+          }
+          return {
+            reachedHWM,
+            blocked,
+            strategy: this.storeOptions.strategy
+          };
+        }
+        async __free__(index, weight) {
+          await this.yieldLoop();
+          this._running -= weight;
+          this._done += weight;
+          this.instance._drainAll(this.computeCapacity());
+          return {
+            running: this._running
+          };
+        }
+      };
+      var LocalDatastore_1 = LocalDatastore;
+      var BottleneckError$3, States;
+      BottleneckError$3 = BottleneckError_1;
+      States = class States {
+        constructor(status1) {
+          this.status = status1;
+          this._jobs = {};
+          this.counts = this.status.map(function() {
+            return 0;
+          });
+        }
+        next(id) {
+          var current, next;
+          current = this._jobs[id];
+          next = current + 1;
+          if (current != null && next < this.status.length) {
+            this.counts[current]--;
+            this.counts[next]++;
+            return this._jobs[id]++;
+          } else if (current != null) {
+            this.counts[current]--;
+            return delete this._jobs[id];
+          }
+        }
+        start(id) {
+          var initial;
+          initial = 0;
+          this._jobs[id] = initial;
+          return this.counts[initial]++;
+        }
+        remove(id) {
+          var current;
+          current = this._jobs[id];
+          if (current != null) {
+            this.counts[current]--;
+            delete this._jobs[id];
+          }
+          return current != null;
+        }
+        jobStatus(id) {
+          var ref;
+          return (ref = this.status[this._jobs[id]]) != null ? ref : null;
+        }
+        statusJobs(status) {
+          var k, pos, ref, results, v;
+          if (status != null) {
+            pos = this.status.indexOf(status);
+            if (pos < 0) {
+              throw new BottleneckError$3(`status must be one of ${this.status.join(", ")}`);
+            }
+            ref = this._jobs;
+            results = [];
+            for (k in ref) {
+              v = ref[k];
+              if (v === pos) {
+                results.push(k);
+              }
+            }
+            return results;
+          } else {
+            return Object.keys(this._jobs);
+          }
+        }
+        statusCounts() {
+          return this.counts.reduce(((acc, v, i) => {
+            acc[this.status[i]] = v;
+            return acc;
+          }), {});
+        }
+      };
+      var States_1 = States;
+      var DLList$2, Sync;
+      DLList$2 = DLList_1;
+      Sync = class Sync {
+        constructor(name, Promise2) {
+          this.schedule = this.schedule.bind(this);
+          this.name = name;
+          this.Promise = Promise2;
+          this._running = 0;
+          this._queue = new DLList$2();
+        }
+        isEmpty() {
+          return this._queue.length === 0;
+        }
+        async _tryToRun() {
+          var args, cb, error3, reject, resolve3, returned, task;
+          if (this._running < 1 && this._queue.length > 0) {
+            this._running++;
+            ({ task, args, resolve: resolve3, reject } = this._queue.shift());
+            cb = await (async function() {
+              try {
+                returned = await task(...args);
+                return function() {
+                  return resolve3(returned);
+                };
+              } catch (error1) {
+                error3 = error1;
+                return function() {
+                  return reject(error3);
+                };
+              }
+            })();
+            this._running--;
+            this._tryToRun();
+            return cb();
+          }
+        }
+        schedule(task, ...args) {
+          var promise, reject, resolve3;
+          resolve3 = reject = null;
+          promise = new this.Promise(function(_resolve, _reject) {
+            resolve3 = _resolve;
+            return reject = _reject;
+          });
+          this._queue.push({ task, args, resolve: resolve3, reject });
+          this._tryToRun();
+          return promise;
+        }
+      };
+      var Sync_1 = Sync;
+      var version = "2.19.5";
+      var version$1 = {
+        version
+      };
+      var version$2 = /* @__PURE__ */ Object.freeze({
+        version,
+        default: version$1
+      });
+      var require$$2 = () => console.log("You must import the full version of Bottleneck in order to use this feature.");
+      var require$$3 = () => console.log("You must import the full version of Bottleneck in order to use this feature.");
+      var require$$4 = () => console.log("You must import the full version of Bottleneck in order to use this feature.");
+      var Events$2, Group, IORedisConnection$1, RedisConnection$1, Scripts$1, parser$3;
+      parser$3 = parser;
+      Events$2 = Events_1;
+      RedisConnection$1 = require$$2;
+      IORedisConnection$1 = require$$3;
+      Scripts$1 = require$$4;
+      Group = (function() {
+        class Group2 {
+          constructor(limiterOptions = {}) {
+            this.deleteKey = this.deleteKey.bind(this);
+            this.limiterOptions = limiterOptions;
+            parser$3.load(this.limiterOptions, this.defaults, this);
+            this.Events = new Events$2(this);
+            this.instances = {};
+            this.Bottleneck = Bottleneck_1;
+            this._startAutoCleanup();
+            this.sharedConnection = this.connection != null;
+            if (this.connection == null) {
+              if (this.limiterOptions.datastore === "redis") {
+                this.connection = new RedisConnection$1(Object.assign({}, this.limiterOptions, { Events: this.Events }));
+              } else if (this.limiterOptions.datastore === "ioredis") {
+                this.connection = new IORedisConnection$1(Object.assign({}, this.limiterOptions, { Events: this.Events }));
+              }
+            }
+          }
+          key(key = "") {
+            var ref;
+            return (ref = this.instances[key]) != null ? ref : (() => {
+              var limiter;
+              limiter = this.instances[key] = new this.Bottleneck(Object.assign(this.limiterOptions, {
+                id: `${this.id}-${key}`,
+                timeout: this.timeout,
+                connection: this.connection
+              }));
+              this.Events.trigger("created", limiter, key);
+              return limiter;
+            })();
+          }
+          async deleteKey(key = "") {
+            var deleted, instance;
+            instance = this.instances[key];
+            if (this.connection) {
+              deleted = await this.connection.__runCommand__(["del", ...Scripts$1.allKeys(`${this.id}-${key}`)]);
+            }
+            if (instance != null) {
+              delete this.instances[key];
+              await instance.disconnect();
+            }
+            return instance != null || deleted > 0;
+          }
+          limiters() {
+            var k, ref, results, v;
+            ref = this.instances;
+            results = [];
+            for (k in ref) {
+              v = ref[k];
+              results.push({
+                key: k,
+                limiter: v
+              });
+            }
+            return results;
+          }
+          keys() {
+            return Object.keys(this.instances);
+          }
+          async clusterKeys() {
+            var cursor, end, found, i, k, keys, len, next, start;
+            if (this.connection == null) {
+              return this.Promise.resolve(this.keys());
+            }
+            keys = [];
+            cursor = null;
+            start = `b_${this.id}-`.length;
+            end = "_settings".length;
+            while (cursor !== 0) {
+              [next, found] = await this.connection.__runCommand__(["scan", cursor != null ? cursor : 0, "match", `b_${this.id}-*_settings`, "count", 1e4]);
+              cursor = ~~next;
+              for (i = 0, len = found.length; i < len; i++) {
+                k = found[i];
+                keys.push(k.slice(start, -end));
+              }
+            }
+            return keys;
+          }
+          _startAutoCleanup() {
+            var base;
+            clearInterval(this.interval);
+            return typeof (base = this.interval = setInterval(async () => {
+              var e, k, ref, results, time, v;
+              time = Date.now();
+              ref = this.instances;
+              results = [];
+              for (k in ref) {
+                v = ref[k];
+                try {
+                  if (await v._store.__groupCheck__(time)) {
+                    results.push(this.deleteKey(k));
+                  } else {
+                    results.push(void 0);
+                  }
+                } catch (error3) {
+                  e = error3;
+                  results.push(v.Events.trigger("error", e));
+                }
+              }
+              return results;
+            }, this.timeout / 2)).unref === "function" ? base.unref() : void 0;
+          }
+          updateSettings(options = {}) {
+            parser$3.overwrite(options, this.defaults, this);
+            parser$3.overwrite(options, options, this.limiterOptions);
+            if (options.timeout != null) {
+              return this._startAutoCleanup();
+            }
+          }
+          disconnect(flush = true) {
+            var ref;
+            if (!this.sharedConnection) {
+              return (ref = this.connection) != null ? ref.disconnect(flush) : void 0;
+            }
+          }
+        }
+        Group2.prototype.defaults = {
+          timeout: 1e3 * 60 * 5,
+          connection: null,
+          Promise,
+          id: "group-key"
+        };
+        return Group2;
+      }).call(commonjsGlobal);
+      var Group_1 = Group;
+      var Batcher, Events$3, parser$4;
+      parser$4 = parser;
+      Events$3 = Events_1;
+      Batcher = (function() {
+        class Batcher2 {
+          constructor(options = {}) {
+            this.options = options;
+            parser$4.load(this.options, this.defaults, this);
+            this.Events = new Events$3(this);
+            this._arr = [];
+            this._resetPromise();
+            this._lastFlush = Date.now();
+          }
+          _resetPromise() {
+            return this._promise = new this.Promise((res, rej) => {
+              return this._resolve = res;
+            });
+          }
+          _flush() {
+            clearTimeout(this._timeout);
+            this._lastFlush = Date.now();
+            this._resolve();
+            this.Events.trigger("batch", this._arr);
+            this._arr = [];
+            return this._resetPromise();
+          }
+          add(data) {
+            var ret;
+            this._arr.push(data);
+            ret = this._promise;
+            if (this._arr.length === this.maxSize) {
+              this._flush();
+            } else if (this.maxTime != null && this._arr.length === 1) {
+              this._timeout = setTimeout(() => {
+                return this._flush();
+              }, this.maxTime);
+            }
+            return ret;
+          }
+        }
+        Batcher2.prototype.defaults = {
+          maxTime: null,
+          maxSize: null,
+          Promise
+        };
+        return Batcher2;
+      }).call(commonjsGlobal);
+      var Batcher_1 = Batcher;
+      var require$$4$1 = () => console.log("You must import the full version of Bottleneck in order to use this feature.");
+      var require$$8 = getCjsExportFromNamespace(version$2);
+      var Bottleneck2, DEFAULT_PRIORITY$1, Events$4, Job$1, LocalDatastore$1, NUM_PRIORITIES$1, Queues$1, RedisDatastore$1, States$1, Sync$1, parser$5, splice = [].splice;
+      NUM_PRIORITIES$1 = 10;
+      DEFAULT_PRIORITY$1 = 5;
+      parser$5 = parser;
+      Queues$1 = Queues_1;
+      Job$1 = Job_1;
+      LocalDatastore$1 = LocalDatastore_1;
+      RedisDatastore$1 = require$$4$1;
+      Events$4 = Events_1;
+      States$1 = States_1;
+      Sync$1 = Sync_1;
+      Bottleneck2 = (function() {
+        class Bottleneck3 {
+          constructor(options = {}, ...invalid) {
+            var storeInstanceOptions, storeOptions;
+            this._addToQueue = this._addToQueue.bind(this);
+            this._validateOptions(options, invalid);
+            parser$5.load(options, this.instanceDefaults, this);
+            this._queues = new Queues$1(NUM_PRIORITIES$1);
+            this._scheduled = {};
+            this._states = new States$1(["RECEIVED", "QUEUED", "RUNNING", "EXECUTING"].concat(this.trackDoneStatus ? ["DONE"] : []));
+            this._limiter = null;
+            this.Events = new Events$4(this);
+            this._submitLock = new Sync$1("submit", this.Promise);
+            this._registerLock = new Sync$1("register", this.Promise);
+            storeOptions = parser$5.load(options, this.storeDefaults, {});
+            this._store = (function() {
+              if (this.datastore === "redis" || this.datastore === "ioredis" || this.connection != null) {
+                storeInstanceOptions = parser$5.load(options, this.redisStoreDefaults, {});
+                return new RedisDatastore$1(this, storeOptions, storeInstanceOptions);
+              } else if (this.datastore === "local") {
+                storeInstanceOptions = parser$5.load(options, this.localStoreDefaults, {});
+                return new LocalDatastore$1(this, storeOptions, storeInstanceOptions);
+              } else {
+                throw new Bottleneck3.prototype.BottleneckError(`Invalid datastore type: ${this.datastore}`);
+              }
+            }).call(this);
+            this._queues.on("leftzero", () => {
+              var ref;
+              return (ref = this._store.heartbeat) != null ? typeof ref.ref === "function" ? ref.ref() : void 0 : void 0;
+            });
+            this._queues.on("zero", () => {
+              var ref;
+              return (ref = this._store.heartbeat) != null ? typeof ref.unref === "function" ? ref.unref() : void 0 : void 0;
+            });
+          }
+          _validateOptions(options, invalid) {
+            if (!(options != null && typeof options === "object" && invalid.length === 0)) {
+              throw new Bottleneck3.prototype.BottleneckError("Bottleneck v2 takes a single object argument. Refer to https://github.com/SGrondin/bottleneck#upgrading-to-v2 if you're upgrading from Bottleneck v1.");
+            }
+          }
+          ready() {
+            return this._store.ready;
+          }
+          clients() {
+            return this._store.clients;
+          }
+          channel() {
+            return `b_${this.id}`;
+          }
+          channel_client() {
+            return `b_${this.id}_${this._store.clientId}`;
+          }
+          publish(message) {
+            return this._store.__publish__(message);
+          }
+          disconnect(flush = true) {
+            return this._store.__disconnect__(flush);
+          }
+          chain(_limiter) {
+            this._limiter = _limiter;
+            return this;
+          }
+          queued(priority) {
+            return this._queues.queued(priority);
+          }
+          clusterQueued() {
+            return this._store.__queued__();
+          }
+          empty() {
+            return this.queued() === 0 && this._submitLock.isEmpty();
+          }
+          running() {
+            return this._store.__running__();
+          }
+          done() {
+            return this._store.__done__();
+          }
+          jobStatus(id) {
+            return this._states.jobStatus(id);
+          }
+          jobs(status) {
+            return this._states.statusJobs(status);
+          }
+          counts() {
+            return this._states.statusCounts();
+          }
+          _randomIndex() {
+            return Math.random().toString(36).slice(2);
+          }
+          check(weight = 1) {
+            return this._store.__check__(weight);
+          }
+          _clearGlobalState(index) {
+            if (this._scheduled[index] != null) {
+              clearTimeout(this._scheduled[index].expiration);
+              delete this._scheduled[index];
+              return true;
+            } else {
+              return false;
+            }
+          }
+          async _free(index, job, options, eventInfo) {
+            var e, running;
+            try {
+              ({ running } = await this._store.__free__(index, options.weight));
+              this.Events.trigger("debug", `Freed ${options.id}`, eventInfo);
+              if (running === 0 && this.empty()) {
+                return this.Events.trigger("idle");
+              }
+            } catch (error1) {
+              e = error1;
+              return this.Events.trigger("error", e);
+            }
+          }
+          _run(index, job, wait) {
+            var clearGlobalState, free, run;
+            job.doRun();
+            clearGlobalState = this._clearGlobalState.bind(this, index);
+            run = this._run.bind(this, index, job);
+            free = this._free.bind(this, index, job);
+            return this._scheduled[index] = {
+              timeout: setTimeout(() => {
+                return job.doExecute(this._limiter, clearGlobalState, run, free);
+              }, wait),
+              expiration: job.options.expiration != null ? setTimeout(function() {
+                return job.doExpire(clearGlobalState, run, free);
+              }, wait + job.options.expiration) : void 0,
+              job
+            };
+          }
+          _drainOne(capacity) {
+            return this._registerLock.schedule(() => {
+              var args, index, next, options, queue;
+              if (this.queued() === 0) {
+                return this.Promise.resolve(null);
+              }
+              queue = this._queues.getFirst();
+              ({ options, args } = next = queue.first());
+              if (capacity != null && options.weight > capacity) {
+                return this.Promise.resolve(null);
+              }
+              this.Events.trigger("debug", `Draining ${options.id}`, { args, options });
+              index = this._randomIndex();
+              return this._store.__register__(index, options.weight, options.expiration).then(({ success, wait, reservoir }) => {
+                var empty;
+                this.Events.trigger("debug", `Drained ${options.id}`, { success, args, options });
+                if (success) {
+                  queue.shift();
+                  empty = this.empty();
+                  if (empty) {
+                    this.Events.trigger("empty");
+                  }
+                  if (reservoir === 0) {
+                    this.Events.trigger("depleted", empty);
+                  }
+                  this._run(index, next, wait);
+                  return this.Promise.resolve(options.weight);
+                } else {
+                  return this.Promise.resolve(null);
+                }
+              });
+            });
+          }
+          _drainAll(capacity, total = 0) {
+            return this._drainOne(capacity).then((drained) => {
+              var newCapacity;
+              if (drained != null) {
+                newCapacity = capacity != null ? capacity - drained : capacity;
+                return this._drainAll(newCapacity, total + drained);
+              } else {
+                return this.Promise.resolve(total);
+              }
+            }).catch((e) => {
+              return this.Events.trigger("error", e);
+            });
+          }
+          _dropAllQueued(message) {
+            return this._queues.shiftAll(function(job) {
+              return job.doDrop({ message });
+            });
+          }
+          stop(options = {}) {
+            var done, waitForExecuting;
+            options = parser$5.load(options, this.stopDefaults);
+            waitForExecuting = (at) => {
+              var finished;
+              finished = () => {
+                var counts;
+                counts = this._states.counts;
+                return counts[0] + counts[1] + counts[2] + counts[3] === at;
+              };
+              return new this.Promise((resolve3, reject) => {
+                if (finished()) {
+                  return resolve3();
+                } else {
+                  return this.on("done", () => {
+                    if (finished()) {
+                      this.removeAllListeners("done");
+                      return resolve3();
+                    }
+                  });
+                }
+              });
+            };
+            done = options.dropWaitingJobs ? (this._run = function(index, next) {
+              return next.doDrop({
+                message: options.dropErrorMessage
+              });
+            }, this._drainOne = () => {
+              return this.Promise.resolve(null);
+            }, this._registerLock.schedule(() => {
+              return this._submitLock.schedule(() => {
+                var k, ref, v;
+                ref = this._scheduled;
+                for (k in ref) {
+                  v = ref[k];
+                  if (this.jobStatus(v.job.options.id) === "RUNNING") {
+                    clearTimeout(v.timeout);
+                    clearTimeout(v.expiration);
+                    v.job.doDrop({
+                      message: options.dropErrorMessage
+                    });
+                  }
+                }
+                this._dropAllQueued(options.dropErrorMessage);
+                return waitForExecuting(0);
+              });
+            })) : this.schedule({
+              priority: NUM_PRIORITIES$1 - 1,
+              weight: 0
+            }, () => {
+              return waitForExecuting(1);
+            });
+            this._receive = function(job) {
+              return job._reject(new Bottleneck3.prototype.BottleneckError(options.enqueueErrorMessage));
+            };
+            this.stop = () => {
+              return this.Promise.reject(new Bottleneck3.prototype.BottleneckError("stop() has already been called"));
+            };
+            return done;
+          }
+          async _addToQueue(job) {
+            var args, blocked, error3, options, reachedHWM, shifted, strategy;
+            ({ args, options } = job);
+            try {
+              ({ reachedHWM, blocked, strategy } = await this._store.__submit__(this.queued(), options.weight));
+            } catch (error1) {
+              error3 = error1;
+              this.Events.trigger("debug", `Could not queue ${options.id}`, { args, options, error: error3 });
+              job.doDrop({ error: error3 });
+              return false;
+            }
+            if (blocked) {
+              job.doDrop();
+              return true;
+            } else if (reachedHWM) {
+              shifted = strategy === Bottleneck3.prototype.strategy.LEAK ? this._queues.shiftLastFrom(options.priority) : strategy === Bottleneck3.prototype.strategy.OVERFLOW_PRIORITY ? this._queues.shiftLastFrom(options.priority + 1) : strategy === Bottleneck3.prototype.strategy.OVERFLOW ? job : void 0;
+              if (shifted != null) {
+                shifted.doDrop();
+              }
+              if (shifted == null || strategy === Bottleneck3.prototype.strategy.OVERFLOW) {
+                if (shifted == null) {
+                  job.doDrop();
+                }
+                return reachedHWM;
+              }
+            }
+            job.doQueue(reachedHWM, blocked);
+            this._queues.push(job);
+            await this._drainAll();
+            return reachedHWM;
+          }
+          _receive(job) {
+            if (this._states.jobStatus(job.options.id) != null) {
+              job._reject(new Bottleneck3.prototype.BottleneckError(`A job with the same id already exists (id=${job.options.id})`));
+              return false;
+            } else {
+              job.doReceive();
+              return this._submitLock.schedule(this._addToQueue, job);
+            }
+          }
+          submit(...args) {
+            var cb, fn, job, options, ref, ref1, task;
+            if (typeof args[0] === "function") {
+              ref = args, [fn, ...args] = ref, [cb] = splice.call(args, -1);
+              options = parser$5.load({}, this.jobDefaults);
+            } else {
+              ref1 = args, [options, fn, ...args] = ref1, [cb] = splice.call(args, -1);
+              options = parser$5.load(options, this.jobDefaults);
+            }
+            task = (...args2) => {
+              return new this.Promise(function(resolve3, reject) {
+                return fn(...args2, function(...args3) {
+                  return (args3[0] != null ? reject : resolve3)(args3);
+                });
+              });
+            };
+            job = new Job$1(task, args, options, this.jobDefaults, this.rejectOnDrop, this.Events, this._states, this.Promise);
+            job.promise.then(function(args2) {
+              return typeof cb === "function" ? cb(...args2) : void 0;
+            }).catch(function(args2) {
+              if (Array.isArray(args2)) {
+                return typeof cb === "function" ? cb(...args2) : void 0;
+              } else {
+                return typeof cb === "function" ? cb(args2) : void 0;
+              }
+            });
+            return this._receive(job);
+          }
+          schedule(...args) {
+            var job, options, task;
+            if (typeof args[0] === "function") {
+              [task, ...args] = args;
+              options = {};
+            } else {
+              [options, task, ...args] = args;
+            }
+            job = new Job$1(task, args, options, this.jobDefaults, this.rejectOnDrop, this.Events, this._states, this.Promise);
+            this._receive(job);
+            return job.promise;
+          }
+          wrap(fn) {
+            var schedule, wrapped;
+            schedule = this.schedule.bind(this);
+            wrapped = function(...args) {
+              return schedule(fn.bind(this), ...args);
+            };
+            wrapped.withOptions = function(options, ...args) {
+              return schedule(options, fn, ...args);
+            };
+            return wrapped;
+          }
+          async updateSettings(options = {}) {
+            await this._store.__updateSettings__(parser$5.overwrite(options, this.storeDefaults));
+            parser$5.overwrite(options, this.instanceDefaults, this);
+            return this;
+          }
+          currentReservoir() {
+            return this._store.__currentReservoir__();
+          }
+          incrementReservoir(incr = 0) {
+            return this._store.__incrementReservoir__(incr);
+          }
+        }
+        Bottleneck3.default = Bottleneck3;
+        Bottleneck3.Events = Events$4;
+        Bottleneck3.version = Bottleneck3.prototype.version = require$$8.version;
+        Bottleneck3.strategy = Bottleneck3.prototype.strategy = {
+          LEAK: 1,
+          OVERFLOW: 2,
+          OVERFLOW_PRIORITY: 4,
+          BLOCK: 3
+        };
+        Bottleneck3.BottleneckError = Bottleneck3.prototype.BottleneckError = BottleneckError_1;
+        Bottleneck3.Group = Bottleneck3.prototype.Group = Group_1;
+        Bottleneck3.RedisConnection = Bottleneck3.prototype.RedisConnection = require$$2;
+        Bottleneck3.IORedisConnection = Bottleneck3.prototype.IORedisConnection = require$$3;
+        Bottleneck3.Batcher = Bottleneck3.prototype.Batcher = Batcher_1;
+        Bottleneck3.prototype.jobDefaults = {
+          priority: DEFAULT_PRIORITY$1,
+          weight: 1,
+          expiration: null,
+          id: ""
+        };
+        Bottleneck3.prototype.storeDefaults = {
+          maxConcurrent: null,
+          minTime: 0,
+          highWater: null,
+          strategy: Bottleneck3.prototype.strategy.LEAK,
+          penalty: null,
+          reservoir: null,
+          reservoirRefreshInterval: null,
+          reservoirRefreshAmount: null,
+          reservoirIncreaseInterval: null,
+          reservoirIncreaseAmount: null,
+          reservoirIncreaseMaximum: null
+        };
+        Bottleneck3.prototype.localStoreDefaults = {
+          Promise,
+          timeout: null,
+          heartbeatInterval: 250
+        };
+        Bottleneck3.prototype.redisStoreDefaults = {
+          Promise,
+          timeout: null,
+          heartbeatInterval: 5e3,
+          clientTimeout: 1e4,
+          Redis: null,
+          clientOptions: {},
+          clusterNodes: null,
+          clearDatastore: false,
+          connection: null
+        };
+        Bottleneck3.prototype.instanceDefaults = {
+          datastore: "local",
+          connection: null,
+          id: "",
+          rejectOnDrop: true,
+          trackDoneStatus: false,
+          Promise
+        };
+        Bottleneck3.prototype.stopDefaults = {
+          enqueueErrorMessage: "This limiter has been stopped and cannot accept new jobs.",
+          dropWaitingJobs: true,
+          dropErrorMessage: "This limiter has been stopped."
+        };
+        return Bottleneck3;
+      }).call(commonjsGlobal);
+      var Bottleneck_1 = Bottleneck2;
+      var lib = Bottleneck_1;
+      return lib;
+    }));
+  }
+});
+
+// node_modules/jsonschema/lib/helpers.js
+var require_helpers = __commonJS({
+  "node_modules/jsonschema/lib/helpers.js"(exports2, module2) {
+    "use strict";
+    var uri = require("url");
+    var ValidationError = exports2.ValidationError = function ValidationError2(message, instance, schema2, path4, name, argument) {
+      if (Array.isArray(path4)) {
+        this.path = path4;
+        this.property = path4.reduce(function(sum, item) {
+          return sum + makeSuffix(item);
+        }, "instance");
+      } else if (path4 !== void 0) {
+        this.property = path4;
+      }
+      if (message) {
+        this.message = message;
+      }
+      if (schema2) {
+        var id = schema2.$id || schema2.id;
+        this.schema = id || schema2;
+      }
+      if (instance !== void 0) {
+        this.instance = instance;
+      }
+      this.name = name;
+      this.argument = argument;
+      this.stack = this.toString();
+    };
+    ValidationError.prototype.toString = function toString2() {
+      return this.property + " " + this.message;
+    };
+    var ValidatorResult = exports2.ValidatorResult = function ValidatorResult2(instance, schema2, options, ctx) {
+      this.instance = instance;
+      this.schema = schema2;
+      this.options = options;
+      this.path = ctx.path;
+      this.propertyPath = ctx.propertyPath;
+      this.errors = [];
+      this.throwError = options && options.throwError;
+      this.throwFirst = options && options.throwFirst;
+      this.throwAll = options && options.throwAll;
+      this.disableFormat = options && options.disableFormat === true;
+    };
+    ValidatorResult.prototype.addError = function addError(detail) {
+      var err;
+      if (typeof detail == "string") {
+        err = new ValidationError(detail, this.instance, this.schema, this.path);
+      } else {
+        if (!detail) throw new Error("Missing error detail");
+        if (!detail.message) throw new Error("Missing error message");
+        if (!detail.name) throw new Error("Missing validator type");
+        err = new ValidationError(detail.message, this.instance, this.schema, this.path, detail.name, detail.argument);
+      }
+      this.errors.push(err);
+      if (this.throwFirst) {
+        throw new ValidatorResultError(this);
+      } else if (this.throwError) {
+        throw err;
+      }
+      return err;
+    };
+    ValidatorResult.prototype.importErrors = function importErrors(res) {
+      if (typeof res == "string" || res && res.validatorType) {
+        this.addError(res);
+      } else if (res && res.errors) {
+        this.errors = this.errors.concat(res.errors);
+      }
+    };
+    function stringizer(v, i) {
+      return i + ": " + v.toString() + "\n";
+    }
+    ValidatorResult.prototype.toString = function toString2(res) {
+      return this.errors.map(stringizer).join("");
+    };
+    Object.defineProperty(ValidatorResult.prototype, "valid", { get: function() {
+      return !this.errors.length;
+    } });
+    module2.exports.ValidatorResultError = ValidatorResultError;
+    function ValidatorResultError(result) {
+      if (Error.captureStackTrace) {
+        Error.captureStackTrace(this, ValidatorResultError);
+      }
+      this.instance = result.instance;
+      this.schema = result.schema;
+      this.options = result.options;
+      this.errors = result.errors;
+    }
+    ValidatorResultError.prototype = new Error();
+    ValidatorResultError.prototype.constructor = ValidatorResultError;
+    ValidatorResultError.prototype.name = "Validation Error";
+    var SchemaError = exports2.SchemaError = function SchemaError2(msg, schema2) {
+      this.message = msg;
+      this.schema = schema2;
+      Error.call(this, msg);
+      Error.captureStackTrace(this, SchemaError2);
+    };
+    SchemaError.prototype = Object.create(
+      Error.prototype,
+      {
+        constructor: { value: SchemaError, enumerable: false },
+        name: { value: "SchemaError", enumerable: false }
+      }
+    );
+    var SchemaContext = exports2.SchemaContext = function SchemaContext2(schema2, options, path4, base, schemas) {
+      this.schema = schema2;
+      this.options = options;
+      if (Array.isArray(path4)) {
+        this.path = path4;
+        this.propertyPath = path4.reduce(function(sum, item) {
+          return sum + makeSuffix(item);
+        }, "instance");
+      } else {
+        this.propertyPath = path4;
+      }
+      this.base = base;
+      this.schemas = schemas;
+    };
+    SchemaContext.prototype.resolve = function resolve3(target) {
+      return uri.resolve(this.base, target);
+    };
+    SchemaContext.prototype.makeChild = function makeChild(schema2, propertyName) {
+      var path4 = propertyName === void 0 ? this.path : this.path.concat([propertyName]);
+      var id = schema2.$id || schema2.id;
+      var base = uri.resolve(this.base, id || "");
+      var ctx = new SchemaContext(schema2, this.options, path4, base, Object.create(this.schemas));
+      if (id && !ctx.schemas[base]) {
+        ctx.schemas[base] = schema2;
+      }
+      return ctx;
+    };
+    var FORMAT_REGEXPS = exports2.FORMAT_REGEXPS = {
+      // 7.3.1. Dates, Times, and Duration
+      "date-time": /^\d{4}-(?:0[0-9]{1}|1[0-2]{1})-(3[01]|0[1-9]|[12][0-9])[tT ](2[0-4]|[01][0-9]):([0-5][0-9]):(60|[0-5][0-9])(\.\d+)?([zZ]|[+-]([0-5][0-9]):(60|[0-5][0-9]))$/,
+      "date": /^\d{4}-(?:0[0-9]{1}|1[0-2]{1})-(3[01]|0[1-9]|[12][0-9])$/,
+      "time": /^(2[0-4]|[01][0-9]):([0-5][0-9]):(60|[0-5][0-9])$/,
+      "duration": /P(T\d+(H(\d+M(\d+S)?)?|M(\d+S)?|S)|\d+(D|M(\d+D)?|Y(\d+M(\d+D)?)?)(T\d+(H(\d+M(\d+S)?)?|M(\d+S)?|S))?|\d+W)/i,
+      // 7.3.2. Email Addresses
+      // TODO: fix the email production
+      "email": /^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(?:(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9\-](?!\.)){0,61}[a-zA-Z0-9]?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9\-](?!$)){0,61}[a-zA-Z0-9]?)|(?:\[(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/,
+      "idn-email": /^("(?:[!#-\[\]-\u{10FFFF}]|\\[\t -\u{10FFFF}])*"|[!#-'*+\-/-9=?A-Z\^-\u{10FFFF}](?:\.?[!#-'*+\-/-9=?A-Z\^-\u{10FFFF}])*)@([!#-'*+\-/-9=?A-Z\^-\u{10FFFF}](?:\.?[!#-'*+\-/-9=?A-Z\^-\u{10FFFF}])*|\[[!-Z\^-\u{10FFFF}]*\])$/u,
+      // 7.3.3. Hostnames
+      // 7.3.4. IP Addresses
+      "ip-address": /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,
+      // FIXME whitespace is invalid
+      "ipv6": /^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/,
+      // 7.3.5. Resource Identifiers
+      // TODO: A more accurate regular expression for "uri" goes:
+      // [A-Za-z][+\-.0-9A-Za-z]*:((/(/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?)?)?#(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|(/(/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?[/?]|[!$&-.0-;=?-Z_a-z~])|/?%[0-9A-Fa-f]{2}|[!$&-.0-;=?-Z_a-z~])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*(#(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*)?|/(/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+(:\d*)?|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?:\d*|\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)?)?
+      "uri": /^[a-zA-Z][a-zA-Z0-9+.-]*:[^\s]*$/,
+      "uri-reference": /^(((([A-Za-z][+\-.0-9A-Za-z]*(:%[0-9A-Fa-f]{2}|:[!$&-.0-;=?-Z_a-z~]|[/?])|\?)(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|([A-Za-z][+\-.0-9A-Za-z]*:?)?)|([A-Za-z][+\-.0-9A-Za-z]*:)?\/((%[0-9A-Fa-f]{2}|\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?[/?]|[!$&-.0-;=?-Z_a-z~])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|(\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?)?))#(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|(([A-Za-z][+\-.0-9A-Za-z]*)?%[0-9A-Fa-f]{2}|[!$&-.0-9;=@_~]|[A-Za-z][+\-.0-9A-Za-z]*[!$&-*,;=@_~])(%[0-9A-Fa-f]{2}|[!$&-.0-9;=@-Z_a-z~])*((([/?](%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*)?#|[/?])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*)?|([A-Za-z][+\-.0-9A-Za-z]*(:%[0-9A-Fa-f]{2}|:[!$&-.0-;=?-Z_a-z~]|[/?])|\?)(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|([A-Za-z][+\-.0-9A-Za-z]*:)?\/((%[0-9A-Fa-f]{2}|\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?[/?]|[!$&-.0-;=?-Z_a-z~])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+(:\d*)?|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?:\d*|\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)?|[A-Za-z][+\-.0-9A-Za-z]*:?)?$/,
+      "iri": /^[a-zA-Z][a-zA-Z0-9+.-]*:[^\s]*$/,
+      "iri-reference": /^(((([A-Za-z][+\-.0-9A-Za-z]*(:%[0-9A-Fa-f]{2}|:[!$&-.0-;=?-Z_a-z~-\u{10FFFF}]|[/?])|\?)(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\u{10FFFF}])*|([A-Za-z][+\-.0-9A-Za-z]*:?)?)|([A-Za-z][+\-.0-9A-Za-z]*:)?\/((%[0-9A-Fa-f]{2}|\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~-\u{10FFFF}])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~-\u{10FFFF}]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?[/?]|[!$&-.0-;=?-Z_a-z~-\u{10FFFF}])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\u{10FFFF}])*|(\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~-\u{10FFFF}])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~-\u{10FFFF}]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?)?))#(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\u{10FFFF}])*|(([A-Za-z][+\-.0-9A-Za-z]*)?%[0-9A-Fa-f]{2}|[!$&-.0-9;=@_~-\u{10FFFF}]|[A-Za-z][+\-.0-9A-Za-z]*[!$&-*,;=@_~-\u{10FFFF}])(%[0-9A-Fa-f]{2}|[!$&-.0-9;=@-Z_a-z~-\u{10FFFF}])*((([/?](%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\u{10FFFF}])*)?#|[/?])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\u{10FFFF}])*)?|([A-Za-z][+\-.0-9A-Za-z]*(:%[0-9A-Fa-f]{2}|:[!$&-.0-;=?-Z_a-z~-\u{10FFFF}]|[/?])|\?)(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\u{10FFFF}])*|([A-Za-z][+\-.0-9A-Za-z]*:)?\/((%[0-9A-Fa-f]{2}|\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~-\u{10FFFF}])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~-\u{10FFFF}]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?[/?]|[!$&-.0-;=?-Z_a-z~-\u{10FFFF}])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\u{10FFFF}])*|\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~-\u{10FFFF}])+(:\d*)?|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~-\u{10FFFF}]+)?|[.0-:A-Fa-f]+)\])?:\d*|\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~-\u{10FFFF}]+)?|[.0-:A-Fa-f]+)\])?)?|[A-Za-z][+\-.0-9A-Za-z]*:?)?$/u,
+      "uuid": /^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i,
+      // 7.3.6. uri-template
+      "uri-template": /(%[0-9a-f]{2}|[!#$&(-;=?@\[\]_a-z~]|\{[!#&+,./;=?@|]?(%[0-9a-f]{2}|[0-9_a-z])(\.?(%[0-9a-f]{2}|[0-9_a-z]))*(:[1-9]\d{0,3}|\*)?(,(%[0-9a-f]{2}|[0-9_a-z])(\.?(%[0-9a-f]{2}|[0-9_a-z]))*(:[1-9]\d{0,3}|\*)?)*\})*/iu,
+      // 7.3.7. JSON Pointers
+      "json-pointer": /^(\/([\x00-\x2e0-@\[-}\x7f]|~[01])*)*$/iu,
+      "relative-json-pointer": /^\d+(#|(\/([\x00-\x2e0-@\[-}\x7f]|~[01])*)*)$/iu,
+      // hostname regex from: http://stackoverflow.com/a/1420225/5628
+      "hostname": /^(?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?(?:\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?)*\.?$/,
+      "host-name": /^(?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?(?:\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?)*\.?$/,
+      "utc-millisec": function(input) {
+        return typeof input === "string" && parseFloat(input) === parseInt(input, 10) && !isNaN(input);
       },
-      users: {
-        addEmailForAuthenticated: [
-          "POST /user/emails",
-          {},
-          { renamed: ["users", "addEmailForAuthenticatedUser"] }
-        ],
-        addEmailForAuthenticatedUser: ["POST /user/emails"],
-        addSocialAccountForAuthenticatedUser: ["POST /user/social_accounts"],
-        block: ["PUT /user/blocks/{username}"],
-        checkBlocked: ["GET /user/blocks/{username}"],
-        checkFollowingForUser: ["GET /users/{username}/following/{target_user}"],
-        checkPersonIsFollowedByAuthenticated: ["GET /user/following/{username}"],
-        createGpgKeyForAuthenticated: [
-          "POST /user/gpg_keys",
-          {},
-          { renamed: ["users", "createGpgKeyForAuthenticatedUser"] }
-        ],
-        createGpgKeyForAuthenticatedUser: ["POST /user/gpg_keys"],
-        createPublicSshKeyForAuthenticated: [
-          "POST /user/keys",
-          {},
-          { renamed: ["users", "createPublicSshKeyForAuthenticatedUser"] }
-        ],
-        createPublicSshKeyForAuthenticatedUser: ["POST /user/keys"],
-        createSshSigningKeyForAuthenticatedUser: ["POST /user/ssh_signing_keys"],
-        deleteAttestationsBulk: [
-          "POST /users/{username}/attestations/delete-request"
-        ],
-        deleteAttestationsById: [
-          "DELETE /users/{username}/attestations/{attestation_id}"
-        ],
-        deleteAttestationsBySubjectDigest: [
-          "DELETE /users/{username}/attestations/digest/{subject_digest}"
-        ],
-        deleteEmailForAuthenticated: [
-          "DELETE /user/emails",
-          {},
-          { renamed: ["users", "deleteEmailForAuthenticatedUser"] }
-        ],
-        deleteEmailForAuthenticatedUser: ["DELETE /user/emails"],
-        deleteGpgKeyForAuthenticated: [
-          "DELETE /user/gpg_keys/{gpg_key_id}",
-          {},
-          { renamed: ["users", "deleteGpgKeyForAuthenticatedUser"] }
-        ],
-        deleteGpgKeyForAuthenticatedUser: ["DELETE /user/gpg_keys/{gpg_key_id}"],
-        deletePublicSshKeyForAuthenticated: [
-          "DELETE /user/keys/{key_id}",
-          {},
-          { renamed: ["users", "deletePublicSshKeyForAuthenticatedUser"] }
-        ],
-        deletePublicSshKeyForAuthenticatedUser: ["DELETE /user/keys/{key_id}"],
-        deleteSocialAccountForAuthenticatedUser: ["DELETE /user/social_accounts"],
-        deleteSshSigningKeyForAuthenticatedUser: [
-          "DELETE /user/ssh_signing_keys/{ssh_signing_key_id}"
-        ],
-        follow: ["PUT /user/following/{username}"],
-        getAuthenticated: ["GET /user"],
-        getById: ["GET /user/{account_id}"],
-        getByUsername: ["GET /users/{username}"],
-        getContextForUser: ["GET /users/{username}/hovercard"],
-        getGpgKeyForAuthenticated: [
-          "GET /user/gpg_keys/{gpg_key_id}",
-          {},
-          { renamed: ["users", "getGpgKeyForAuthenticatedUser"] }
-        ],
-        getGpgKeyForAuthenticatedUser: ["GET /user/gpg_keys/{gpg_key_id}"],
-        getPublicSshKeyForAuthenticated: [
-          "GET /user/keys/{key_id}",
-          {},
-          { renamed: ["users", "getPublicSshKeyForAuthenticatedUser"] }
-        ],
-        getPublicSshKeyForAuthenticatedUser: ["GET /user/keys/{key_id}"],
-        getSshSigningKeyForAuthenticatedUser: [
-          "GET /user/ssh_signing_keys/{ssh_signing_key_id}"
-        ],
-        list: ["GET /users"],
-        listAttestations: ["GET /users/{username}/attestations/{subject_digest}"],
-        listAttestationsBulk: [
-          "POST /users/{username}/attestations/bulk-list{?per_page,before,after}"
-        ],
-        listBlockedByAuthenticated: [
-          "GET /user/blocks",
-          {},
-          { renamed: ["users", "listBlockedByAuthenticatedUser"] }
-        ],
-        listBlockedByAuthenticatedUser: ["GET /user/blocks"],
-        listEmailsForAuthenticated: [
-          "GET /user/emails",
-          {},
-          { renamed: ["users", "listEmailsForAuthenticatedUser"] }
-        ],
-        listEmailsForAuthenticatedUser: ["GET /user/emails"],
-        listFollowedByAuthenticated: [
-          "GET /user/following",
-          {},
-          { renamed: ["users", "listFollowedByAuthenticatedUser"] }
-        ],
-        listFollowedByAuthenticatedUser: ["GET /user/following"],
-        listFollowersForAuthenticatedUser: ["GET /user/followers"],
-        listFollowersForUser: ["GET /users/{username}/followers"],
-        listFollowingForUser: ["GET /users/{username}/following"],
-        listGpgKeysForAuthenticated: [
-          "GET /user/gpg_keys",
-          {},
-          { renamed: ["users", "listGpgKeysForAuthenticatedUser"] }
-        ],
-        listGpgKeysForAuthenticatedUser: ["GET /user/gpg_keys"],
-        listGpgKeysForUser: ["GET /users/{username}/gpg_keys"],
-        listPublicEmailsForAuthenticated: [
-          "GET /user/public_emails",
-          {},
-          { renamed: ["users", "listPublicEmailsForAuthenticatedUser"] }
-        ],
-        listPublicEmailsForAuthenticatedUser: ["GET /user/public_emails"],
-        listPublicKeysForUser: ["GET /users/{username}/keys"],
-        listPublicSshKeysForAuthenticated: [
-          "GET /user/keys",
-          {},
-          { 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"] }
-        ],
-        setPrimaryEmailVisibilityForAuthenticatedUser: [
-          "PATCH /user/email/visibility"
-        ],
-        unblock: ["DELETE /user/blocks/{username}"],
-        unfollow: ["DELETE /user/following/{username}"],
-        updateAuthenticated: ["PATCH /user"]
+      // 7.3.8. regex
+      "regex": function(input) {
+        var result = true;
+        try {
+          new RegExp(input);
+        } catch (e) {
+          result = false;
+        }
+        return result;
+      },
+      // Other definitions
+      // "style" was removed from JSON Schema in draft-4 and is deprecated
+      "style": /[\r\n\t ]*[^\r\n\t ][^:]*:[\r\n\t ]*[^\r\n\t ;]*[\r\n\t ]*;?/,
+      // "color" was removed from JSON Schema in draft-4 and is deprecated
+      "color": /^(#?([0-9A-Fa-f]{3}){1,2}\b|aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow|(rgb\(\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*\))|(rgb\(\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*\)))$/,
+      "phone": /^\+(?:[0-9] ?){6,14}[0-9]$/,
+      "alpha": /^[a-zA-Z]+$/,
+      "alphanumeric": /^[a-zA-Z0-9]+$/
+    };
+    FORMAT_REGEXPS.regexp = FORMAT_REGEXPS.regex;
+    FORMAT_REGEXPS.pattern = FORMAT_REGEXPS.regex;
+    FORMAT_REGEXPS.ipv4 = FORMAT_REGEXPS["ip-address"];
+    exports2.isFormat = function isFormat(input, format, validator) {
+      if (typeof input === "string" && FORMAT_REGEXPS[format] !== void 0) {
+        if (FORMAT_REGEXPS[format] instanceof RegExp) {
+          return FORMAT_REGEXPS[format].test(input);
+        }
+        if (typeof FORMAT_REGEXPS[format] === "function") {
+          return FORMAT_REGEXPS[format](input);
+        }
+      } else if (validator && validator.customFormats && typeof validator.customFormats[format] === "function") {
+        return validator.customFormats[format](input);
+      }
+      return true;
+    };
+    var makeSuffix = exports2.makeSuffix = function makeSuffix2(key) {
+      key = key.toString();
+      if (!key.match(/[.\s\[\]]/) && !key.match(/^[\d]/)) {
+        return "." + key;
+      }
+      if (key.match(/^\d+$/)) {
+        return "[" + key + "]";
+      }
+      return "[" + JSON.stringify(key) + "]";
+    };
+    exports2.deepCompareStrict = function deepCompareStrict(a, b) {
+      if (typeof a !== typeof b) {
+        return false;
+      }
+      if (Array.isArray(a)) {
+        if (!Array.isArray(b)) {
+          return false;
+        }
+        if (a.length !== b.length) {
+          return false;
+        }
+        return a.every(function(v, i) {
+          return deepCompareStrict(a[i], b[i]);
+        });
+      }
+      if (typeof a === "object") {
+        if (!a || !b) {
+          return a === b;
+        }
+        var aKeys = Object.keys(a);
+        var bKeys = Object.keys(b);
+        if (aKeys.length !== bKeys.length) {
+          return false;
+        }
+        return aKeys.every(function(v) {
+          return deepCompareStrict(a[v], b[v]);
+        });
+      }
+      return a === b;
+    };
+    function deepMerger(target, dst, e, i) {
+      if (typeof e === "object") {
+        dst[i] = deepMerge(target[i], e);
+      } else {
+        if (target.indexOf(e) === -1) {
+          dst.push(e);
+        }
+      }
+    }
+    function copyist(src, dst, key) {
+      dst[key] = src[key];
+    }
+    function copyistWithDeepMerge(target, src, dst, key) {
+      if (typeof src[key] !== "object" || !src[key]) {
+        dst[key] = src[key];
+      } else {
+        if (!target[key]) {
+          dst[key] = src[key];
+        } else {
+          dst[key] = deepMerge(target[key], src[key]);
+        }
+      }
+    }
+    function deepMerge(target, src) {
+      var array = Array.isArray(src);
+      var dst = array && [] || {};
+      if (array) {
+        target = target || [];
+        dst = dst.concat(target);
+        src.forEach(deepMerger.bind(null, target, dst));
+      } else {
+        if (target && typeof target === "object") {
+          Object.keys(target).forEach(copyist.bind(null, target, dst));
+        }
+        Object.keys(src).forEach(copyistWithDeepMerge.bind(null, target, src, dst));
+      }
+      return dst;
+    }
+    module2.exports.deepMerge = deepMerge;
+    exports2.objectGetPath = function objectGetPath(o, s) {
+      var parts = s.split("/").slice(1);
+      var k;
+      while (typeof (k = parts.shift()) == "string") {
+        var n = decodeURIComponent(k.replace(/~0/, "~").replace(/~1/g, "/"));
+        if (!(n in o)) return;
+        o = o[n];
+      }
+      return o;
+    };
+    function pathEncoder(v) {
+      return "/" + encodeURIComponent(v).replace(/~/g, "%7E");
+    }
+    exports2.encodePath = function encodePointer(a) {
+      return a.map(pathEncoder).join("");
+    };
+    exports2.getDecimalPlaces = function getDecimalPlaces(number) {
+      var decimalPlaces = 0;
+      if (isNaN(number)) return decimalPlaces;
+      if (typeof number !== "number") {
+        number = Number(number);
+      }
+      var parts = number.toString().split("e");
+      if (parts.length === 2) {
+        if (parts[1][0] !== "-") {
+          return decimalPlaces;
+        } else {
+          decimalPlaces = Number(parts[1].slice(1));
+        }
+      }
+      var decimalParts = parts[0].split(".");
+      if (decimalParts.length === 2) {
+        decimalPlaces += decimalParts[1].length;
+      }
+      return decimalPlaces;
+    };
+    exports2.isSchema = function isSchema(val) {
+      return typeof val === "object" && val || typeof val === "boolean";
+    };
+  }
+});
+
+// node_modules/jsonschema/lib/attribute.js
+var require_attribute = __commonJS({
+  "node_modules/jsonschema/lib/attribute.js"(exports2, module2) {
+    "use strict";
+    var helpers = require_helpers();
+    var ValidatorResult = helpers.ValidatorResult;
+    var SchemaError = helpers.SchemaError;
+    var attribute = {};
+    attribute.ignoreProperties = {
+      // informative properties
+      "id": true,
+      "default": true,
+      "description": true,
+      "title": true,
+      // arguments to other properties
+      "additionalItems": true,
+      "then": true,
+      "else": true,
+      // special-handled properties
+      "$schema": true,
+      "$ref": true,
+      "extends": true
+    };
+    var validators = attribute.validators = {};
+    validators.type = function validateType(instance, schema2, options, ctx) {
+      if (instance === void 0) {
+        return null;
+      }
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      var types = Array.isArray(schema2.type) ? schema2.type : [schema2.type];
+      if (!types.some(this.testType.bind(this, instance, schema2, options, ctx))) {
+        var list = types.map(function(v) {
+          if (!v) return;
+          var id = v.$id || v.id;
+          return id ? "<" + id + ">" : v + "";
+        });
+        result.addError({
+          name: "type",
+          argument: list,
+          message: "is not of a type(s) " + list
+        });
+      }
+      return result;
+    };
+    function testSchemaNoThrow(instance, options, ctx, callback, schema2) {
+      var throwError2 = options.throwError;
+      var throwAll = options.throwAll;
+      options.throwError = false;
+      options.throwAll = false;
+      var res = this.validateSchema(instance, schema2, options, ctx);
+      options.throwError = throwError2;
+      options.throwAll = throwAll;
+      if (!res.valid && callback instanceof Function) {
+        callback(res);
+      }
+      return res.valid;
+    }
+    validators.anyOf = function validateAnyOf(instance, schema2, options, ctx) {
+      if (instance === void 0) {
+        return null;
+      }
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      var inner = new ValidatorResult(instance, schema2, options, ctx);
+      if (!Array.isArray(schema2.anyOf)) {
+        throw new SchemaError("anyOf must be an array");
+      }
+      if (!schema2.anyOf.some(
+        testSchemaNoThrow.bind(
+          this,
+          instance,
+          options,
+          ctx,
+          function(res) {
+            inner.importErrors(res);
+          }
+        )
+      )) {
+        var list = schema2.anyOf.map(function(v, i) {
+          var id = v.$id || v.id;
+          if (id) return "<" + id + ">";
+          return v.title && JSON.stringify(v.title) || v["$ref"] && "<" + v["$ref"] + ">" || "[subschema " + i + "]";
+        });
+        if (options.nestedErrors) {
+          result.importErrors(inner);
+        }
+        result.addError({
+          name: "anyOf",
+          argument: list,
+          message: "is not any of " + list.join(",")
+        });
+      }
+      return result;
+    };
+    validators.allOf = function validateAllOf(instance, schema2, options, ctx) {
+      if (instance === void 0) {
+        return null;
+      }
+      if (!Array.isArray(schema2.allOf)) {
+        throw new SchemaError("allOf must be an array");
+      }
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      var self2 = this;
+      schema2.allOf.forEach(function(v, i) {
+        var valid3 = self2.validateSchema(instance, v, options, ctx);
+        if (!valid3.valid) {
+          var id = v.$id || v.id;
+          var msg = id || v.title && JSON.stringify(v.title) || v["$ref"] && "<" + v["$ref"] + ">" || "[subschema " + i + "]";
+          result.addError({
+            name: "allOf",
+            argument: { id: msg, length: valid3.errors.length, valid: valid3 },
+            message: "does not match allOf schema " + msg + " with " + valid3.errors.length + " error[s]:"
+          });
+          result.importErrors(valid3);
+        }
+      });
+      return result;
+    };
+    validators.oneOf = function validateOneOf(instance, schema2, options, ctx) {
+      if (instance === void 0) {
+        return null;
+      }
+      if (!Array.isArray(schema2.oneOf)) {
+        throw new SchemaError("oneOf must be an array");
+      }
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      var inner = new ValidatorResult(instance, schema2, options, ctx);
+      var count = schema2.oneOf.filter(
+        testSchemaNoThrow.bind(
+          this,
+          instance,
+          options,
+          ctx,
+          function(res) {
+            inner.importErrors(res);
+          }
+        )
+      ).length;
+      var list = schema2.oneOf.map(function(v, i) {
+        var id = v.$id || v.id;
+        return id || v.title && JSON.stringify(v.title) || v["$ref"] && "<" + v["$ref"] + ">" || "[subschema " + i + "]";
+      });
+      if (count !== 1) {
+        if (options.nestedErrors) {
+          result.importErrors(inner);
+        }
+        result.addError({
+          name: "oneOf",
+          argument: list,
+          message: "is not exactly one from " + list.join(",")
+        });
+      }
+      return result;
+    };
+    validators.if = function validateIf(instance, schema2, options, ctx) {
+      if (instance === void 0) return null;
+      if (!helpers.isSchema(schema2.if)) throw new Error('Expected "if" keyword to be a schema');
+      var ifValid = testSchemaNoThrow.call(this, instance, options, ctx, null, schema2.if);
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      var res;
+      if (ifValid) {
+        if (schema2.then === void 0) return;
+        if (!helpers.isSchema(schema2.then)) throw new Error('Expected "then" keyword to be a schema');
+        res = this.validateSchema(instance, schema2.then, options, ctx.makeChild(schema2.then));
+        result.importErrors(res);
+      } else {
+        if (schema2.else === void 0) return;
+        if (!helpers.isSchema(schema2.else)) throw new Error('Expected "else" keyword to be a schema');
+        res = this.validateSchema(instance, schema2.else, options, ctx.makeChild(schema2.else));
+        result.importErrors(res);
+      }
+      return result;
+    };
+    function getEnumerableProperty(object, key) {
+      if (Object.hasOwnProperty.call(object, key)) return object[key];
+      if (!(key in object)) return;
+      while (object = Object.getPrototypeOf(object)) {
+        if (Object.propertyIsEnumerable.call(object, key)) return object[key];
+      }
+    }
+    validators.propertyNames = function validatePropertyNames(instance, schema2, options, ctx) {
+      if (!this.types.object(instance)) return;
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      var subschema = schema2.propertyNames !== void 0 ? schema2.propertyNames : {};
+      if (!helpers.isSchema(subschema)) throw new SchemaError('Expected "propertyNames" to be a schema (object or boolean)');
+      for (var property in instance) {
+        if (getEnumerableProperty(instance, property) !== void 0) {
+          var res = this.validateSchema(property, subschema, options, ctx.makeChild(subschema));
+          result.importErrors(res);
+        }
+      }
+      return result;
+    };
+    validators.properties = function validateProperties(instance, schema2, options, ctx) {
+      if (!this.types.object(instance)) return;
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      var properties = schema2.properties || {};
+      for (var property in properties) {
+        var subschema = properties[property];
+        if (subschema === void 0) {
+          continue;
+        } else if (subschema === null) {
+          throw new SchemaError('Unexpected null, expected schema in "properties"');
+        }
+        if (typeof options.preValidateProperty == "function") {
+          options.preValidateProperty(instance, property, subschema, options, ctx);
+        }
+        var prop = getEnumerableProperty(instance, property);
+        var res = this.validateSchema(prop, subschema, options, ctx.makeChild(subschema, property));
+        if (res.instance !== result.instance[property]) result.instance[property] = res.instance;
+        result.importErrors(res);
+      }
+      return result;
+    };
+    function testAdditionalProperty(instance, schema2, options, ctx, property, result) {
+      if (!this.types.object(instance)) return;
+      if (schema2.properties && schema2.properties[property] !== void 0) {
+        return;
+      }
+      if (schema2.additionalProperties === false) {
+        result.addError({
+          name: "additionalProperties",
+          argument: property,
+          message: "is not allowed to have the additional property " + JSON.stringify(property)
+        });
+      } else {
+        var additionalProperties = schema2.additionalProperties || {};
+        if (typeof options.preValidateProperty == "function") {
+          options.preValidateProperty(instance, property, additionalProperties, options, ctx);
+        }
+        var res = this.validateSchema(instance[property], additionalProperties, options, ctx.makeChild(additionalProperties, property));
+        if (res.instance !== result.instance[property]) result.instance[property] = res.instance;
+        result.importErrors(res);
+      }
+    }
+    validators.patternProperties = function validatePatternProperties(instance, schema2, options, ctx) {
+      if (!this.types.object(instance)) return;
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      var patternProperties = schema2.patternProperties || {};
+      for (var property in instance) {
+        var test = true;
+        for (var pattern in patternProperties) {
+          var subschema = patternProperties[pattern];
+          if (subschema === void 0) {
+            continue;
+          } else if (subschema === null) {
+            throw new SchemaError('Unexpected null, expected schema in "patternProperties"');
+          }
+          try {
+            var regexp = new RegExp(pattern, "u");
+          } catch (_e) {
+            regexp = new RegExp(pattern);
+          }
+          if (!regexp.test(property)) {
+            continue;
+          }
+          test = false;
+          if (typeof options.preValidateProperty == "function") {
+            options.preValidateProperty(instance, property, subschema, options, ctx);
+          }
+          var res = this.validateSchema(instance[property], subschema, options, ctx.makeChild(subschema, property));
+          if (res.instance !== result.instance[property]) result.instance[property] = res.instance;
+          result.importErrors(res);
+        }
+        if (test) {
+          testAdditionalProperty.call(this, instance, schema2, options, ctx, property, result);
+        }
+      }
+      return result;
+    };
+    validators.additionalProperties = function validateAdditionalProperties(instance, schema2, options, ctx) {
+      if (!this.types.object(instance)) return;
+      if (schema2.patternProperties) {
+        return null;
+      }
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      for (var property in instance) {
+        testAdditionalProperty.call(this, instance, schema2, options, ctx, property, result);
+      }
+      return result;
+    };
+    validators.minProperties = function validateMinProperties(instance, schema2, options, ctx) {
+      if (!this.types.object(instance)) return;
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      var keys = Object.keys(instance);
+      if (!(keys.length >= schema2.minProperties)) {
+        result.addError({
+          name: "minProperties",
+          argument: schema2.minProperties,
+          message: "does not meet minimum property length of " + schema2.minProperties
+        });
+      }
+      return result;
+    };
+    validators.maxProperties = function validateMaxProperties(instance, schema2, options, ctx) {
+      if (!this.types.object(instance)) return;
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      var keys = Object.keys(instance);
+      if (!(keys.length <= schema2.maxProperties)) {
+        result.addError({
+          name: "maxProperties",
+          argument: schema2.maxProperties,
+          message: "does not meet maximum property length of " + schema2.maxProperties
+        });
+      }
+      return result;
+    };
+    validators.items = function validateItems(instance, schema2, options, ctx) {
+      var self2 = this;
+      if (!this.types.array(instance)) return;
+      if (schema2.items === void 0) return;
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      instance.every(function(value, i) {
+        if (Array.isArray(schema2.items)) {
+          var items = schema2.items[i] === void 0 ? schema2.additionalItems : schema2.items[i];
+        } else {
+          var items = schema2.items;
+        }
+        if (items === void 0) {
+          return true;
+        }
+        if (items === false) {
+          result.addError({
+            name: "items",
+            message: "additionalItems not permitted"
+          });
+          return false;
+        }
+        var res = self2.validateSchema(value, items, options, ctx.makeChild(items, i));
+        if (res.instance !== result.instance[i]) result.instance[i] = res.instance;
+        result.importErrors(res);
+        return true;
+      });
+      return result;
+    };
+    validators.contains = function validateContains(instance, schema2, options, ctx) {
+      var self2 = this;
+      if (!this.types.array(instance)) return;
+      if (schema2.contains === void 0) return;
+      if (!helpers.isSchema(schema2.contains)) throw new Error('Expected "contains" keyword to be a schema');
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      var count = instance.some(function(value, i) {
+        var res = self2.validateSchema(value, schema2.contains, options, ctx.makeChild(schema2.contains, i));
+        return res.errors.length === 0;
+      });
+      if (count === false) {
+        result.addError({
+          name: "contains",
+          argument: schema2.contains,
+          message: "must contain an item matching given schema"
+        });
+      }
+      return result;
+    };
+    validators.minimum = function validateMinimum(instance, schema2, options, ctx) {
+      if (!this.types.number(instance)) return;
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      if (schema2.exclusiveMinimum && schema2.exclusiveMinimum === true) {
+        if (!(instance > schema2.minimum)) {
+          result.addError({
+            name: "minimum",
+            argument: schema2.minimum,
+            message: "must be greater than " + schema2.minimum
+          });
+        }
+      } else {
+        if (!(instance >= schema2.minimum)) {
+          result.addError({
+            name: "minimum",
+            argument: schema2.minimum,
+            message: "must be greater than or equal to " + schema2.minimum
+          });
+        }
+      }
+      return result;
+    };
+    validators.maximum = function validateMaximum(instance, schema2, options, ctx) {
+      if (!this.types.number(instance)) return;
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      if (schema2.exclusiveMaximum && schema2.exclusiveMaximum === true) {
+        if (!(instance < schema2.maximum)) {
+          result.addError({
+            name: "maximum",
+            argument: schema2.maximum,
+            message: "must be less than " + schema2.maximum
+          });
+        }
+      } else {
+        if (!(instance <= schema2.maximum)) {
+          result.addError({
+            name: "maximum",
+            argument: schema2.maximum,
+            message: "must be less than or equal to " + schema2.maximum
+          });
+        }
+      }
+      return result;
+    };
+    validators.exclusiveMinimum = function validateExclusiveMinimum(instance, schema2, options, ctx) {
+      if (typeof schema2.exclusiveMinimum === "boolean") return;
+      if (!this.types.number(instance)) return;
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      var valid3 = instance > schema2.exclusiveMinimum;
+      if (!valid3) {
+        result.addError({
+          name: "exclusiveMinimum",
+          argument: schema2.exclusiveMinimum,
+          message: "must be strictly greater than " + schema2.exclusiveMinimum
+        });
+      }
+      return result;
+    };
+    validators.exclusiveMaximum = function validateExclusiveMaximum(instance, schema2, options, ctx) {
+      if (typeof schema2.exclusiveMaximum === "boolean") return;
+      if (!this.types.number(instance)) return;
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      var valid3 = instance < schema2.exclusiveMaximum;
+      if (!valid3) {
+        result.addError({
+          name: "exclusiveMaximum",
+          argument: schema2.exclusiveMaximum,
+          message: "must be strictly less than " + schema2.exclusiveMaximum
+        });
+      }
+      return result;
+    };
+    var validateMultipleOfOrDivisbleBy = function validateMultipleOfOrDivisbleBy2(instance, schema2, options, ctx, validationType, errorMessage) {
+      if (!this.types.number(instance)) return;
+      var validationArgument = schema2[validationType];
+      if (validationArgument == 0) {
+        throw new SchemaError(validationType + " cannot be zero");
+      }
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      var instanceDecimals = helpers.getDecimalPlaces(instance);
+      var divisorDecimals = helpers.getDecimalPlaces(validationArgument);
+      var maxDecimals = Math.max(instanceDecimals, divisorDecimals);
+      var multiplier = Math.pow(10, maxDecimals);
+      if (Math.round(instance * multiplier) % Math.round(validationArgument * multiplier) !== 0) {
+        result.addError({
+          name: validationType,
+          argument: validationArgument,
+          message: errorMessage + JSON.stringify(validationArgument)
+        });
+      }
+      return result;
+    };
+    validators.multipleOf = function validateMultipleOf(instance, schema2, options, ctx) {
+      return validateMultipleOfOrDivisbleBy.call(this, instance, schema2, options, ctx, "multipleOf", "is not a multiple of (divisible by) ");
+    };
+    validators.divisibleBy = function validateDivisibleBy(instance, schema2, options, ctx) {
+      return validateMultipleOfOrDivisbleBy.call(this, instance, schema2, options, ctx, "divisibleBy", "is not divisible by (multiple of) ");
+    };
+    validators.required = function validateRequired(instance, schema2, options, ctx) {
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      if (instance === void 0 && schema2.required === true) {
+        result.addError({
+          name: "required",
+          message: "is required"
+        });
+      } else if (this.types.object(instance) && Array.isArray(schema2.required)) {
+        schema2.required.forEach(function(n) {
+          if (getEnumerableProperty(instance, n) === void 0) {
+            result.addError({
+              name: "required",
+              argument: n,
+              message: "requires property " + JSON.stringify(n)
+            });
+          }
+        });
+      }
+      return result;
+    };
+    validators.pattern = function validatePattern(instance, schema2, options, ctx) {
+      if (!this.types.string(instance)) return;
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      var pattern = schema2.pattern;
+      try {
+        var regexp = new RegExp(pattern, "u");
+      } catch (_e) {
+        regexp = new RegExp(pattern);
+      }
+      if (!instance.match(regexp)) {
+        result.addError({
+          name: "pattern",
+          argument: schema2.pattern,
+          message: "does not match pattern " + JSON.stringify(schema2.pattern.toString())
+        });
+      }
+      return result;
+    };
+    validators.format = function validateFormat(instance, schema2, options, ctx) {
+      if (instance === void 0) return;
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      if (!result.disableFormat && !helpers.isFormat(instance, schema2.format, this)) {
+        result.addError({
+          name: "format",
+          argument: schema2.format,
+          message: "does not conform to the " + JSON.stringify(schema2.format) + " format"
+        });
+      }
+      return result;
+    };
+    validators.minLength = function validateMinLength(instance, schema2, options, ctx) {
+      if (!this.types.string(instance)) return;
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      var hsp = instance.match(/[\uDC00-\uDFFF]/g);
+      var length = instance.length - (hsp ? hsp.length : 0);
+      if (!(length >= schema2.minLength)) {
+        result.addError({
+          name: "minLength",
+          argument: schema2.minLength,
+          message: "does not meet minimum length of " + schema2.minLength
+        });
+      }
+      return result;
+    };
+    validators.maxLength = function validateMaxLength(instance, schema2, options, ctx) {
+      if (!this.types.string(instance)) return;
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      var hsp = instance.match(/[\uDC00-\uDFFF]/g);
+      var length = instance.length - (hsp ? hsp.length : 0);
+      if (!(length <= schema2.maxLength)) {
+        result.addError({
+          name: "maxLength",
+          argument: schema2.maxLength,
+          message: "does not meet maximum length of " + schema2.maxLength
+        });
+      }
+      return result;
+    };
+    validators.minItems = function validateMinItems(instance, schema2, options, ctx) {
+      if (!this.types.array(instance)) return;
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      if (!(instance.length >= schema2.minItems)) {
+        result.addError({
+          name: "minItems",
+          argument: schema2.minItems,
+          message: "does not meet minimum length of " + schema2.minItems
+        });
+      }
+      return result;
+    };
+    validators.maxItems = function validateMaxItems(instance, schema2, options, ctx) {
+      if (!this.types.array(instance)) return;
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      if (!(instance.length <= schema2.maxItems)) {
+        result.addError({
+          name: "maxItems",
+          argument: schema2.maxItems,
+          message: "does not meet maximum length of " + schema2.maxItems
+        });
+      }
+      return result;
+    };
+    function testArrays(v, i, a) {
+      var j, len = a.length;
+      for (j = i + 1, len; j < len; j++) {
+        if (helpers.deepCompareStrict(v, a[j])) {
+          return false;
+        }
+      }
+      return true;
+    }
+    validators.uniqueItems = function validateUniqueItems(instance, schema2, options, ctx) {
+      if (schema2.uniqueItems !== true) return;
+      if (!this.types.array(instance)) return;
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      if (!instance.every(testArrays)) {
+        result.addError({
+          name: "uniqueItems",
+          message: "contains duplicate item"
+        });
+      }
+      return result;
+    };
+    validators.dependencies = function validateDependencies(instance, schema2, options, ctx) {
+      if (!this.types.object(instance)) return;
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      for (var property in schema2.dependencies) {
+        if (instance[property] === void 0) {
+          continue;
+        }
+        var dep = schema2.dependencies[property];
+        var childContext = ctx.makeChild(dep, property);
+        if (typeof dep == "string") {
+          dep = [dep];
+        }
+        if (Array.isArray(dep)) {
+          dep.forEach(function(prop) {
+            if (instance[prop] === void 0) {
+              result.addError({
+                // FIXME there's two different "dependencies" errors here with slightly different outputs
+                // Can we make these the same? Or should we create different error types?
+                name: "dependencies",
+                argument: childContext.propertyPath,
+                message: "property " + prop + " not found, required by " + childContext.propertyPath
+              });
+            }
+          });
+        } else {
+          var res = this.validateSchema(instance, dep, options, childContext);
+          if (result.instance !== res.instance) result.instance = res.instance;
+          if (res && res.errors.length) {
+            result.addError({
+              name: "dependencies",
+              argument: childContext.propertyPath,
+              message: "does not meet dependency required by " + childContext.propertyPath
+            });
+            result.importErrors(res);
+          }
+        }
+      }
+      return result;
+    };
+    validators["enum"] = function validateEnum(instance, schema2, options, ctx) {
+      if (instance === void 0) {
+        return null;
+      }
+      if (!Array.isArray(schema2["enum"])) {
+        throw new SchemaError("enum expects an array", schema2);
+      }
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      if (!schema2["enum"].some(helpers.deepCompareStrict.bind(null, instance))) {
+        result.addError({
+          name: "enum",
+          argument: schema2["enum"],
+          message: "is not one of enum values: " + schema2["enum"].map(String).join(",")
+        });
+      }
+      return result;
+    };
+    validators["const"] = function validateEnum(instance, schema2, options, ctx) {
+      if (instance === void 0) {
+        return null;
+      }
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      if (!helpers.deepCompareStrict(schema2["const"], instance)) {
+        result.addError({
+          name: "const",
+          argument: schema2["const"],
+          message: "does not exactly match expected constant: " + schema2["const"]
+        });
+      }
+      return result;
+    };
+    validators.not = validators.disallow = function validateNot(instance, schema2, options, ctx) {
+      var self2 = this;
+      if (instance === void 0) return null;
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      var notTypes = schema2.not || schema2.disallow;
+      if (!notTypes) return null;
+      if (!Array.isArray(notTypes)) notTypes = [notTypes];
+      notTypes.forEach(function(type2) {
+        if (self2.testType(instance, schema2, options, ctx, type2)) {
+          var id = type2 && (type2.$id || type2.id);
+          var schemaId = id || type2;
+          result.addError({
+            name: "not",
+            argument: schemaId,
+            message: "is of prohibited type " + schemaId
+          });
+        }
+      });
+      return result;
+    };
+    module2.exports = attribute;
+  }
+});
+
+// node_modules/jsonschema/lib/scan.js
+var require_scan = __commonJS({
+  "node_modules/jsonschema/lib/scan.js"(exports2, module2) {
+    "use strict";
+    var urilib = require("url");
+    var helpers = require_helpers();
+    module2.exports.SchemaScanResult = SchemaScanResult;
+    function SchemaScanResult(found, ref) {
+      this.id = found;
+      this.ref = ref;
+    }
+    module2.exports.scan = function scan(base, schema2) {
+      function scanSchema(baseuri, schema3) {
+        if (!schema3 || typeof schema3 != "object") return;
+        if (schema3.$ref) {
+          var resolvedUri = urilib.resolve(baseuri, schema3.$ref);
+          ref[resolvedUri] = ref[resolvedUri] ? ref[resolvedUri] + 1 : 0;
+          return;
+        }
+        var id = schema3.$id || schema3.id;
+        var ourBase = id ? urilib.resolve(baseuri, id) : baseuri;
+        if (ourBase) {
+          if (ourBase.indexOf("#") < 0) ourBase += "#";
+          if (found[ourBase]) {
+            if (!helpers.deepCompareStrict(found[ourBase], schema3)) {
+              throw new Error("Schema <" + ourBase + "> already exists with different definition");
+            }
+            return found[ourBase];
+          }
+          found[ourBase] = schema3;
+          if (ourBase[ourBase.length - 1] == "#") {
+            found[ourBase.substring(0, ourBase.length - 1)] = schema3;
+          }
+        }
+        scanArray(ourBase + "/items", Array.isArray(schema3.items) ? schema3.items : [schema3.items]);
+        scanArray(ourBase + "/extends", Array.isArray(schema3.extends) ? schema3.extends : [schema3.extends]);
+        scanSchema(ourBase + "/additionalItems", schema3.additionalItems);
+        scanObject(ourBase + "/properties", schema3.properties);
+        scanSchema(ourBase + "/additionalProperties", schema3.additionalProperties);
+        scanObject(ourBase + "/definitions", schema3.definitions);
+        scanObject(ourBase + "/patternProperties", schema3.patternProperties);
+        scanObject(ourBase + "/dependencies", schema3.dependencies);
+        scanArray(ourBase + "/disallow", schema3.disallow);
+        scanArray(ourBase + "/allOf", schema3.allOf);
+        scanArray(ourBase + "/anyOf", schema3.anyOf);
+        scanArray(ourBase + "/oneOf", schema3.oneOf);
+        scanSchema(ourBase + "/not", schema3.not);
+      }
+      function scanArray(baseuri, schemas) {
+        if (!Array.isArray(schemas)) return;
+        for (var i = 0; i < schemas.length; i++) {
+          scanSchema(baseuri + "/" + i, schemas[i]);
+        }
+      }
+      function scanObject(baseuri, schemas) {
+        if (!schemas || typeof schemas != "object") return;
+        for (var p in schemas) {
+          scanSchema(baseuri + "/" + p, schemas[p]);
+        }
+      }
+      var found = {};
+      var ref = {};
+      scanSchema(base, schema2);
+      return new SchemaScanResult(found, ref);
+    };
+  }
+});
+
+// node_modules/jsonschema/lib/validator.js
+var require_validator = __commonJS({
+  "node_modules/jsonschema/lib/validator.js"(exports2, module2) {
+    "use strict";
+    var urilib = require("url");
+    var attribute = require_attribute();
+    var helpers = require_helpers();
+    var scanSchema = require_scan().scan;
+    var ValidatorResult = helpers.ValidatorResult;
+    var ValidatorResultError = helpers.ValidatorResultError;
+    var SchemaError = helpers.SchemaError;
+    var SchemaContext = helpers.SchemaContext;
+    var anonymousBase = "/";
+    var Validator2 = function Validator3() {
+      this.customFormats = Object.create(Validator3.prototype.customFormats);
+      this.schemas = {};
+      this.unresolvedRefs = [];
+      this.types = Object.create(types);
+      this.attributes = Object.create(attribute.validators);
+    };
+    Validator2.prototype.customFormats = {};
+    Validator2.prototype.schemas = null;
+    Validator2.prototype.types = null;
+    Validator2.prototype.attributes = null;
+    Validator2.prototype.unresolvedRefs = null;
+    Validator2.prototype.addSchema = function addSchema(schema2, base) {
+      var self2 = this;
+      if (!schema2) {
+        return null;
+      }
+      var scan = scanSchema(base || anonymousBase, schema2);
+      var ourUri = base || schema2.$id || schema2.id;
+      for (var uri in scan.id) {
+        this.schemas[uri] = scan.id[uri];
+      }
+      for (var uri in scan.ref) {
+        this.unresolvedRefs.push(uri);
+      }
+      this.unresolvedRefs = this.unresolvedRefs.filter(function(uri2) {
+        return typeof self2.schemas[uri2] === "undefined";
+      });
+      return this.schemas[ourUri];
+    };
+    Validator2.prototype.addSubSchemaArray = function addSubSchemaArray(baseuri, schemas) {
+      if (!Array.isArray(schemas)) return;
+      for (var i = 0; i < schemas.length; i++) {
+        this.addSubSchema(baseuri, schemas[i]);
+      }
+    };
+    Validator2.prototype.addSubSchemaObject = function addSubSchemaArray(baseuri, schemas) {
+      if (!schemas || typeof schemas != "object") return;
+      for (var p in schemas) {
+        this.addSubSchema(baseuri, schemas[p]);
+      }
+    };
+    Validator2.prototype.setSchemas = function setSchemas(schemas) {
+      this.schemas = schemas;
+    };
+    Validator2.prototype.getSchema = function getSchema(urn) {
+      return this.schemas[urn];
+    };
+    Validator2.prototype.validate = function validate(instance, schema2, options, ctx) {
+      if (typeof schema2 !== "boolean" && typeof schema2 !== "object" || schema2 === null) {
+        throw new SchemaError("Expected `schema` to be an object or boolean");
+      }
+      if (!options) {
+        options = {};
+      }
+      var id = schema2.$id || schema2.id;
+      var base = urilib.resolve(options.base || anonymousBase, id || "");
+      if (!ctx) {
+        ctx = new SchemaContext(schema2, options, [], base, Object.create(this.schemas));
+        if (!ctx.schemas[base]) {
+          ctx.schemas[base] = schema2;
+        }
+        var found = scanSchema(base, schema2);
+        for (var n in found.id) {
+          var sch = found.id[n];
+          ctx.schemas[n] = sch;
+        }
+      }
+      if (options.required && instance === void 0) {
+        var result = new ValidatorResult(instance, schema2, options, ctx);
+        result.addError("is required, but is undefined");
+        return result;
+      }
+      var result = this.validateSchema(instance, schema2, options, ctx);
+      if (!result) {
+        throw new Error("Result undefined");
+      } else if (options.throwAll && result.errors.length) {
+        throw new ValidatorResultError(result);
+      }
+      return result;
+    };
+    function shouldResolve(schema2) {
+      var ref = typeof schema2 === "string" ? schema2 : schema2.$ref;
+      if (typeof ref == "string") return ref;
+      return false;
+    }
+    Validator2.prototype.validateSchema = function validateSchema(instance, schema2, options, ctx) {
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      if (typeof schema2 === "boolean") {
+        if (schema2 === true) {
+          schema2 = {};
+        } else if (schema2 === false) {
+          schema2 = { type: [] };
+        }
+      } else if (!schema2) {
+        throw new Error("schema is undefined");
+      }
+      if (schema2["extends"]) {
+        if (Array.isArray(schema2["extends"])) {
+          var schemaobj = { schema: schema2, ctx };
+          schema2["extends"].forEach(this.schemaTraverser.bind(this, schemaobj));
+          schema2 = schemaobj.schema;
+          schemaobj.schema = null;
+          schemaobj.ctx = null;
+          schemaobj = null;
+        } else {
+          schema2 = helpers.deepMerge(schema2, this.superResolve(schema2["extends"], ctx));
+        }
+      }
+      var switchSchema = shouldResolve(schema2);
+      if (switchSchema) {
+        var resolved = this.resolve(schema2, switchSchema, ctx);
+        var subctx = new SchemaContext(resolved.subschema, options, ctx.path, resolved.switchSchema, ctx.schemas);
+        return this.validateSchema(instance, resolved.subschema, options, subctx);
+      }
+      var skipAttributes = options && options.skipAttributes || [];
+      for (var key in schema2) {
+        if (!attribute.ignoreProperties[key] && skipAttributes.indexOf(key) < 0) {
+          var validatorErr = null;
+          var validator = this.attributes[key];
+          if (validator) {
+            validatorErr = validator.call(this, instance, schema2, options, ctx);
+          } else if (options.allowUnknownAttributes === false) {
+            throw new SchemaError("Unsupported attribute: " + key, schema2);
+          }
+          if (validatorErr) {
+            result.importErrors(validatorErr);
+          }
+        }
+      }
+      if (typeof options.rewrite == "function") {
+        var value = options.rewrite.call(this, instance, schema2, options, ctx);
+        result.instance = value;
+      }
+      return result;
+    };
+    Validator2.prototype.schemaTraverser = function schemaTraverser(schemaobj, s) {
+      schemaobj.schema = helpers.deepMerge(schemaobj.schema, this.superResolve(s, schemaobj.ctx));
+    };
+    Validator2.prototype.superResolve = function superResolve(schema2, ctx) {
+      var ref = shouldResolve(schema2);
+      if (ref) {
+        return this.resolve(schema2, ref, ctx).subschema;
+      }
+      return schema2;
+    };
+    Validator2.prototype.resolve = function resolve3(schema2, switchSchema, ctx) {
+      switchSchema = ctx.resolve(switchSchema);
+      if (ctx.schemas[switchSchema]) {
+        return { subschema: ctx.schemas[switchSchema], switchSchema };
+      }
+      var parsed = urilib.parse(switchSchema);
+      var fragment = parsed && parsed.hash;
+      var document2 = fragment && fragment.length && switchSchema.substr(0, switchSchema.length - fragment.length);
+      if (!document2 || !ctx.schemas[document2]) {
+        throw new SchemaError("no such schema <" + switchSchema + ">", schema2);
+      }
+      var subschema = helpers.objectGetPath(ctx.schemas[document2], fragment.substr(1));
+      if (subschema === void 0) {
+        throw new SchemaError("no such schema " + fragment + " located in <" + document2 + ">", schema2);
+      }
+      return { subschema, switchSchema };
+    };
+    Validator2.prototype.testType = function validateType(instance, schema2, options, ctx, type2) {
+      if (type2 === void 0) {
+        return;
+      } else if (type2 === null) {
+        throw new SchemaError('Unexpected null in "type" keyword');
+      }
+      if (typeof this.types[type2] == "function") {
+        return this.types[type2].call(this, instance);
+      }
+      if (type2 && typeof type2 == "object") {
+        var res = this.validateSchema(instance, type2, options, ctx);
+        return res === void 0 || !(res && res.errors.length);
+      }
+      return true;
+    };
+    var types = Validator2.prototype.types = {};
+    types.string = function testString(instance) {
+      return typeof instance == "string";
+    };
+    types.number = function testNumber(instance) {
+      return typeof instance == "number" && isFinite(instance);
+    };
+    types.integer = function testInteger(instance) {
+      return typeof instance == "number" && instance % 1 === 0;
+    };
+    types.boolean = function testBoolean(instance) {
+      return typeof instance == "boolean";
+    };
+    types.array = function testArray(instance) {
+      return Array.isArray(instance);
+    };
+    types["null"] = function testNull(instance) {
+      return instance === null;
+    };
+    types.date = function testDate(instance) {
+      return instance instanceof Date;
+    };
+    types.any = function testAny(instance) {
+      return true;
+    };
+    types.object = function testObject(instance) {
+      return instance && typeof instance === "object" && !Array.isArray(instance) && !(instance instanceof Date);
+    };
+    module2.exports = Validator2;
+  }
+});
+
+// node_modules/jsonschema/lib/index.js
+var require_lib2 = __commonJS({
+  "node_modules/jsonschema/lib/index.js"(exports2, module2) {
+    "use strict";
+    var Validator2 = module2.exports.Validator = require_validator();
+    module2.exports.ValidatorResult = require_helpers().ValidatorResult;
+    module2.exports.ValidatorResultError = require_helpers().ValidatorResultError;
+    module2.exports.ValidationError = require_helpers().ValidationError;
+    module2.exports.SchemaError = require_helpers().SchemaError;
+    module2.exports.SchemaScanResult = require_scan().SchemaScanResult;
+    module2.exports.scan = require_scan().scan;
+    module2.exports.validate = function(instance, schema2, options) {
+      var v = new Validator2();
+      return v.validate(instance, schema2, options);
+    };
+  }
+});
+
+// node_modules/@actions/glob/lib/internal-glob-options-helper.js
+var require_internal_glob_options_helper = __commonJS({
+  "node_modules/@actions/glob/lib/internal-glob-options-helper.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = 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 ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getOptions = getOptions;
+    var core14 = __importStar2(require_core());
+    function getOptions(copy) {
+      const result = {
+        followSymbolicLinks: true,
+        implicitDescendants: true,
+        matchDirectories: true,
+        omitBrokenSymbolicLinks: true,
+        excludeHiddenFiles: false
+      };
+      if (copy) {
+        if (typeof copy.followSymbolicLinks === "boolean") {
+          result.followSymbolicLinks = copy.followSymbolicLinks;
+          core14.debug(`followSymbolicLinks '${result.followSymbolicLinks}'`);
+        }
+        if (typeof copy.implicitDescendants === "boolean") {
+          result.implicitDescendants = copy.implicitDescendants;
+          core14.debug(`implicitDescendants '${result.implicitDescendants}'`);
+        }
+        if (typeof copy.matchDirectories === "boolean") {
+          result.matchDirectories = copy.matchDirectories;
+          core14.debug(`matchDirectories '${result.matchDirectories}'`);
+        }
+        if (typeof copy.omitBrokenSymbolicLinks === "boolean") {
+          result.omitBrokenSymbolicLinks = copy.omitBrokenSymbolicLinks;
+          core14.debug(`omitBrokenSymbolicLinks '${result.omitBrokenSymbolicLinks}'`);
+        }
+        if (typeof copy.excludeHiddenFiles === "boolean") {
+          result.excludeHiddenFiles = copy.excludeHiddenFiles;
+          core14.debug(`excludeHiddenFiles '${result.excludeHiddenFiles}'`);
+        }
+      }
+      return result;
+    }
+  }
+});
+
+// node_modules/@actions/glob/lib/internal-path-helper.js
+var require_internal_path_helper = __commonJS({
+  "node_modules/@actions/glob/lib/internal-path-helper.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = 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 ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
+      return mod && mod.__esModule ? mod : { "default": mod };
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.dirname = dirname3;
+    exports2.ensureAbsoluteRoot = ensureAbsoluteRoot;
+    exports2.hasAbsoluteRoot = hasAbsoluteRoot;
+    exports2.hasRoot = hasRoot;
+    exports2.normalizeSeparators = normalizeSeparators;
+    exports2.safeTrimTrailingSeparator = safeTrimTrailingSeparator;
+    var path4 = __importStar2(require("path"));
+    var assert_1 = __importDefault2(require("assert"));
+    var IS_WINDOWS = process.platform === "win32";
+    function dirname3(p) {
+      p = safeTrimTrailingSeparator(p);
+      if (IS_WINDOWS && /^\\\\[^\\]+(\\[^\\]+)?$/.test(p)) {
+        return p;
+      }
+      let result = path4.dirname(p);
+      if (IS_WINDOWS && /^\\\\[^\\]+\\[^\\]+\\$/.test(result)) {
+        result = safeTrimTrailingSeparator(result);
+      }
+      return result;
+    }
+    function ensureAbsoluteRoot(root, itemPath) {
+      (0, assert_1.default)(root, `ensureAbsoluteRoot parameter 'root' must not be empty`);
+      (0, assert_1.default)(itemPath, `ensureAbsoluteRoot parameter 'itemPath' must not be empty`);
+      if (hasAbsoluteRoot(itemPath)) {
+        return itemPath;
+      }
+      if (IS_WINDOWS) {
+        if (itemPath.match(/^[A-Z]:[^\\/]|^[A-Z]:$/i)) {
+          let cwd = process.cwd();
+          (0, assert_1.default)(cwd.match(/^[A-Z]:\\/i), `Expected current directory to start with an absolute drive root. Actual '${cwd}'`);
+          if (itemPath[0].toUpperCase() === cwd[0].toUpperCase()) {
+            if (itemPath.length === 2) {
+              return `${itemPath[0]}:\\${cwd.substr(3)}`;
+            } else {
+              if (!cwd.endsWith("\\")) {
+                cwd += "\\";
+              }
+              return `${itemPath[0]}:\\${cwd.substr(3)}${itemPath.substr(2)}`;
+            }
+          } else {
+            return `${itemPath[0]}:\\${itemPath.substr(2)}`;
+          }
+        } else if (normalizeSeparators(itemPath).match(/^\\$|^\\[^\\]/)) {
+          const cwd = process.cwd();
+          (0, assert_1.default)(cwd.match(/^[A-Z]:\\/i), `Expected current directory to start with an absolute drive root. Actual '${cwd}'`);
+          return `${cwd[0]}:\\${itemPath.substr(1)}`;
+        }
+      }
+      (0, assert_1.default)(hasAbsoluteRoot(root), `ensureAbsoluteRoot parameter 'root' must have an absolute root`);
+      if (root.endsWith("/") || IS_WINDOWS && root.endsWith("\\")) {
+      } else {
+        root += path4.sep;
+      }
+      return root + itemPath;
+    }
+    function hasAbsoluteRoot(itemPath) {
+      (0, assert_1.default)(itemPath, `hasAbsoluteRoot parameter 'itemPath' must not be empty`);
+      itemPath = normalizeSeparators(itemPath);
+      if (IS_WINDOWS) {
+        return itemPath.startsWith("\\\\") || /^[A-Z]:\\/i.test(itemPath);
+      }
+      return itemPath.startsWith("/");
+    }
+    function hasRoot(itemPath) {
+      (0, assert_1.default)(itemPath, `isRooted parameter 'itemPath' must not be empty`);
+      itemPath = normalizeSeparators(itemPath);
+      if (IS_WINDOWS) {
+        return itemPath.startsWith("\\") || /^[A-Z]:/i.test(itemPath);
+      }
+      return itemPath.startsWith("/");
+    }
+    function normalizeSeparators(p) {
+      p = p || "";
+      if (IS_WINDOWS) {
+        p = p.replace(/\//g, "\\");
+        const isUnc = /^\\\\+[^\\]/.test(p);
+        return (isUnc ? "\\" : "") + p.replace(/\\\\+/g, "\\");
+      }
+      return p.replace(/\/\/+/g, "/");
+    }
+    function safeTrimTrailingSeparator(p) {
+      if (!p) {
+        return "";
+      }
+      p = normalizeSeparators(p);
+      if (!p.endsWith(path4.sep)) {
+        return p;
+      }
+      if (p === path4.sep) {
+        return p;
+      }
+      if (IS_WINDOWS && /^[A-Z]:\\$/i.test(p)) {
+        return p;
+      }
+      return p.substr(0, p.length - 1);
+    }
+  }
+});
+
+// node_modules/@actions/glob/lib/internal-match-kind.js
+var require_internal_match_kind = __commonJS({
+  "node_modules/@actions/glob/lib/internal-match-kind.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.MatchKind = void 0;
+    var MatchKind;
+    (function(MatchKind2) {
+      MatchKind2[MatchKind2["None"] = 0] = "None";
+      MatchKind2[MatchKind2["Directory"] = 1] = "Directory";
+      MatchKind2[MatchKind2["File"] = 2] = "File";
+      MatchKind2[MatchKind2["All"] = 3] = "All";
+    })(MatchKind || (exports2.MatchKind = MatchKind = {}));
+  }
+});
+
+// node_modules/@actions/glob/lib/internal-pattern-helper.js
+var require_internal_pattern_helper = __commonJS({
+  "node_modules/@actions/glob/lib/internal-pattern-helper.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = 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 ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getSearchPaths = getSearchPaths;
+    exports2.match = match;
+    exports2.partialMatch = partialMatch;
+    var pathHelper = __importStar2(require_internal_path_helper());
+    var internal_match_kind_1 = require_internal_match_kind();
+    var IS_WINDOWS = process.platform === "win32";
+    function getSearchPaths(patterns) {
+      patterns = patterns.filter((x) => !x.negate);
+      const searchPathMap = {};
+      for (const pattern of patterns) {
+        const key = IS_WINDOWS ? pattern.searchPath.toUpperCase() : pattern.searchPath;
+        searchPathMap[key] = "candidate";
+      }
+      const result = [];
+      for (const pattern of patterns) {
+        const key = IS_WINDOWS ? pattern.searchPath.toUpperCase() : pattern.searchPath;
+        if (searchPathMap[key] === "included") {
+          continue;
+        }
+        let foundAncestor = false;
+        let tempKey = key;
+        let parent = pathHelper.dirname(tempKey);
+        while (parent !== tempKey) {
+          if (searchPathMap[parent]) {
+            foundAncestor = true;
+            break;
+          }
+          tempKey = parent;
+          parent = pathHelper.dirname(tempKey);
+        }
+        if (!foundAncestor) {
+          result.push(pattern.searchPath);
+          searchPathMap[key] = "included";
+        }
+      }
+      return result;
+    }
+    function match(patterns, itemPath) {
+      let result = internal_match_kind_1.MatchKind.None;
+      for (const pattern of patterns) {
+        if (pattern.negate) {
+          result &= ~pattern.match(itemPath);
+        } else {
+          result |= pattern.match(itemPath);
+        }
+      }
+      return result;
+    }
+    function partialMatch(patterns, itemPath) {
+      return patterns.some((x) => !x.negate && x.partialMatch(itemPath));
+    }
+  }
+});
+
+// node_modules/concat-map/index.js
+var require_concat_map = __commonJS({
+  "node_modules/concat-map/index.js"(exports2, module2) {
+    module2.exports = function(xs, fn) {
+      var res = [];
+      for (var i = 0; i < xs.length; i++) {
+        var x = fn(xs[i], i);
+        if (isArray(x)) res.push.apply(res, x);
+        else res.push(x);
+      }
+      return res;
+    };
+    var isArray = Array.isArray || function(xs) {
+      return Object.prototype.toString.call(xs) === "[object Array]";
+    };
+  }
+});
+
+// node_modules/balanced-match/index.js
+var require_balanced_match = __commonJS({
+  "node_modules/balanced-match/index.js"(exports2, module2) {
+    "use strict";
+    module2.exports = balanced;
+    function balanced(a, b, str2) {
+      if (a instanceof RegExp) a = maybeMatch(a, str2);
+      if (b instanceof RegExp) b = maybeMatch(b, str2);
+      var r = range(a, b, str2);
+      return r && {
+        start: r[0],
+        end: r[1],
+        pre: str2.slice(0, r[0]),
+        body: str2.slice(r[0] + a.length, r[1]),
+        post: str2.slice(r[1] + b.length)
+      };
+    }
+    function maybeMatch(reg, str2) {
+      var m = str2.match(reg);
+      return m ? m[0] : null;
+    }
+    balanced.range = range;
+    function range(a, b, str2) {
+      var begs, beg, left, right, result;
+      var ai = str2.indexOf(a);
+      var bi = str2.indexOf(b, ai + 1);
+      var i = ai;
+      if (ai >= 0 && bi > 0) {
+        begs = [];
+        left = str2.length;
+        while (i >= 0 && !result) {
+          if (i == ai) {
+            begs.push(i);
+            ai = str2.indexOf(a, i + 1);
+          } else if (begs.length == 1) {
+            result = [begs.pop(), bi];
+          } else {
+            beg = begs.pop();
+            if (beg < left) {
+              left = beg;
+              right = bi;
+            }
+            bi = str2.indexOf(b, i + 1);
+          }
+          i = ai < bi && ai >= 0 ? ai : bi;
+        }
+        if (begs.length) {
+          result = [left, right];
+        }
+      }
+      return result;
+    }
+  }
+});
+
+// node_modules/brace-expansion/index.js
+var require_brace_expansion = __commonJS({
+  "node_modules/brace-expansion/index.js"(exports2, module2) {
+    var concatMap = require_concat_map();
+    var balanced = require_balanced_match();
+    module2.exports = expandTop;
+    var escSlash = "\0SLASH" + Math.random() + "\0";
+    var escOpen = "\0OPEN" + Math.random() + "\0";
+    var escClose = "\0CLOSE" + Math.random() + "\0";
+    var escComma = "\0COMMA" + Math.random() + "\0";
+    var escPeriod = "\0PERIOD" + Math.random() + "\0";
+    function numeric(str2) {
+      return parseInt(str2, 10) == str2 ? parseInt(str2, 10) : str2.charCodeAt(0);
+    }
+    function escapeBraces(str2) {
+      return str2.split("\\\\").join(escSlash).split("\\{").join(escOpen).split("\\}").join(escClose).split("\\,").join(escComma).split("\\.").join(escPeriod);
+    }
+    function unescapeBraces(str2) {
+      return str2.split(escSlash).join("\\").split(escOpen).join("{").split(escClose).join("}").split(escComma).join(",").split(escPeriod).join(".");
+    }
+    function parseCommaParts(str2) {
+      if (!str2)
+        return [""];
+      var parts = [];
+      var m = balanced("{", "}", str2);
+      if (!m)
+        return str2.split(",");
+      var pre = m.pre;
+      var body = m.body;
+      var post = m.post;
+      var p = pre.split(",");
+      p[p.length - 1] += "{" + body + "}";
+      var postParts = parseCommaParts(post);
+      if (post.length) {
+        p[p.length - 1] += postParts.shift();
+        p.push.apply(p, postParts);
+      }
+      parts.push.apply(parts, p);
+      return parts;
+    }
+    function expandTop(str2) {
+      if (!str2)
+        return [];
+      if (str2.substr(0, 2) === "{}") {
+        str2 = "\\{\\}" + str2.substr(2);
+      }
+      return expand2(escapeBraces(str2), true).map(unescapeBraces);
+    }
+    function embrace(str2) {
+      return "{" + str2 + "}";
+    }
+    function isPadded(el) {
+      return /^-?0\d/.test(el);
+    }
+    function lte(i, y) {
+      return i <= y;
+    }
+    function gte6(i, y) {
+      return i >= y;
+    }
+    function expand2(str2, isTop) {
+      var expansions = [];
+      var m = balanced("{", "}", str2);
+      if (!m || /\$$/.test(m.pre)) return [str2];
+      var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
+      var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
+      var isSequence = isNumericSequence || isAlphaSequence;
+      var isOptions = m.body.indexOf(",") >= 0;
+      if (!isSequence && !isOptions) {
+        if (m.post.match(/,(?!,).*\}/)) {
+          str2 = m.pre + "{" + m.body + escClose + m.post;
+          return expand2(str2);
+        }
+        return [str2];
+      }
+      var n;
+      if (isSequence) {
+        n = m.body.split(/\.\./);
+      } else {
+        n = parseCommaParts(m.body);
+        if (n.length === 1) {
+          n = expand2(n[0], false).map(embrace);
+          if (n.length === 1) {
+            var post = m.post.length ? expand2(m.post, false) : [""];
+            return post.map(function(p) {
+              return m.pre + n[0] + p;
+            });
+          }
+        }
+      }
+      var pre = m.pre;
+      var post = m.post.length ? expand2(m.post, false) : [""];
+      var N;
+      if (isSequence) {
+        var x = numeric(n[0]);
+        var y = numeric(n[1]);
+        var width = Math.max(n[0].length, n[1].length);
+        var incr = n.length == 3 ? Math.abs(numeric(n[2])) : 1;
+        var test = lte;
+        var reverse = y < x;
+        if (reverse) {
+          incr *= -1;
+          test = gte6;
+        }
+        var pad = n.some(isPadded);
+        N = [];
+        for (var i = x; test(i, y); i += incr) {
+          var c;
+          if (isAlphaSequence) {
+            c = String.fromCharCode(i);
+            if (c === "\\")
+              c = "";
+          } else {
+            c = String(i);
+            if (pad) {
+              var need = width - c.length;
+              if (need > 0) {
+                var z = new Array(need + 1).join("0");
+                if (i < 0)
+                  c = "-" + z + c.slice(1);
+                else
+                  c = z + c;
+              }
+            }
+          }
+          N.push(c);
+        }
+      } else {
+        N = concatMap(n, function(el) {
+          return expand2(el, false);
+        });
+      }
+      for (var j = 0; j < N.length; j++) {
+        for (var k = 0; k < post.length; k++) {
+          var expansion = pre + N[j] + post[k];
+          if (!isTop || isSequence || expansion)
+            expansions.push(expansion);
+        }
+      }
+      return expansions;
+    }
+  }
+});
+
+// node_modules/minimatch/minimatch.js
+var require_minimatch = __commonJS({
+  "node_modules/minimatch/minimatch.js"(exports2, module2) {
+    module2.exports = minimatch;
+    minimatch.Minimatch = Minimatch;
+    var path4 = (function() {
+      try {
+        return require("path");
+      } catch (e) {
+      }
+    })() || {
+      sep: "/"
+    };
+    minimatch.sep = path4.sep;
+    var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {};
+    var expand2 = require_brace_expansion();
+    var plTypes = {
+      "!": { open: "(?:(?!(?:", close: "))[^/]*?)" },
+      "?": { open: "(?:", close: ")?" },
+      "+": { open: "(?:", close: ")+" },
+      "*": { open: "(?:", close: ")*" },
+      "@": { open: "(?:", close: ")" }
+    };
+    var qmark = "[^/]";
+    var star = qmark + "*?";
+    var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
+    var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
+    var reSpecials = charSet("().*{}+?[]^$\\!");
+    function charSet(s) {
+      return s.split("").reduce(function(set2, c) {
+        set2[c] = true;
+        return set2;
+      }, {});
+    }
+    var slashSplit = /\/+/;
+    minimatch.filter = filter;
+    function filter(pattern, options) {
+      options = options || {};
+      return function(p, i, list) {
+        return minimatch(p, pattern, options);
+      };
+    }
+    function ext(a, b) {
+      b = b || {};
+      var t = {};
+      Object.keys(a).forEach(function(k) {
+        t[k] = a[k];
+      });
+      Object.keys(b).forEach(function(k) {
+        t[k] = b[k];
+      });
+      return t;
+    }
+    minimatch.defaults = function(def) {
+      if (!def || typeof def !== "object" || !Object.keys(def).length) {
+        return minimatch;
+      }
+      var orig = minimatch;
+      var m = function minimatch2(p, pattern, options) {
+        return orig(p, pattern, ext(def, options));
+      };
+      m.Minimatch = function Minimatch2(pattern, options) {
+        return new orig.Minimatch(pattern, ext(def, options));
+      };
+      m.Minimatch.defaults = function defaults(options) {
+        return orig.defaults(ext(def, options)).Minimatch;
+      };
+      m.filter = function filter2(pattern, options) {
+        return orig.filter(pattern, ext(def, options));
+      };
+      m.defaults = function defaults(options) {
+        return orig.defaults(ext(def, options));
+      };
+      m.makeRe = function makeRe2(pattern, options) {
+        return orig.makeRe(pattern, ext(def, options));
+      };
+      m.braceExpand = function braceExpand2(pattern, options) {
+        return orig.braceExpand(pattern, ext(def, options));
+      };
+      m.match = function(list, pattern, options) {
+        return orig.match(list, pattern, ext(def, options));
+      };
+      return m;
+    };
+    Minimatch.defaults = function(def) {
+      return minimatch.defaults(def).Minimatch;
+    };
+    function minimatch(p, pattern, options) {
+      assertValidPattern(pattern);
+      if (!options) options = {};
+      if (!options.nocomment && pattern.charAt(0) === "#") {
+        return false;
+      }
+      return new Minimatch(pattern, options).match(p);
+    }
+    function Minimatch(pattern, options) {
+      if (!(this instanceof Minimatch)) {
+        return new Minimatch(pattern, options);
+      }
+      assertValidPattern(pattern);
+      if (!options) options = {};
+      pattern = pattern.trim();
+      if (!options.allowWindowsEscape && path4.sep !== "/") {
+        pattern = pattern.split(path4.sep).join("/");
+      }
+      this.options = options;
+      this.set = [];
+      this.pattern = pattern;
+      this.regexp = null;
+      this.negate = false;
+      this.comment = false;
+      this.empty = false;
+      this.partial = !!options.partial;
+      this.make();
+    }
+    Minimatch.prototype.debug = function() {
+    };
+    Minimatch.prototype.make = make;
+    function make() {
+      var pattern = this.pattern;
+      var options = this.options;
+      if (!options.nocomment && pattern.charAt(0) === "#") {
+        this.comment = true;
+        return;
+      }
+      if (!pattern) {
+        this.empty = true;
+        return;
+      }
+      this.parseNegate();
+      var set2 = this.globSet = this.braceExpand();
+      if (options.debug) this.debug = function debug4() {
+        console.error.apply(console, arguments);
+      };
+      this.debug(this.pattern, set2);
+      set2 = this.globParts = set2.map(function(s) {
+        return s.split(slashSplit);
+      });
+      this.debug(this.pattern, set2);
+      set2 = set2.map(function(s, si, set3) {
+        return s.map(this.parse, this);
+      }, this);
+      this.debug(this.pattern, set2);
+      set2 = set2.filter(function(s) {
+        return s.indexOf(false) === -1;
+      });
+      this.debug(this.pattern, set2);
+      this.set = set2;
+    }
+    Minimatch.prototype.parseNegate = parseNegate;
+    function parseNegate() {
+      var pattern = this.pattern;
+      var negate = false;
+      var options = this.options;
+      var negateOffset = 0;
+      if (options.nonegate) return;
+      for (var i = 0, l = pattern.length; i < l && pattern.charAt(i) === "!"; i++) {
+        negate = !negate;
+        negateOffset++;
+      }
+      if (negateOffset) this.pattern = pattern.substr(negateOffset);
+      this.negate = negate;
+    }
+    minimatch.braceExpand = function(pattern, options) {
+      return braceExpand(pattern, options);
+    };
+    Minimatch.prototype.braceExpand = braceExpand;
+    function braceExpand(pattern, options) {
+      if (!options) {
+        if (this instanceof Minimatch) {
+          options = this.options;
+        } else {
+          options = {};
+        }
+      }
+      pattern = typeof pattern === "undefined" ? this.pattern : pattern;
+      assertValidPattern(pattern);
+      if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
+        return [pattern];
+      }
+      return expand2(pattern);
+    }
+    var MAX_PATTERN_LENGTH = 1024 * 64;
+    var assertValidPattern = function(pattern) {
+      if (typeof pattern !== "string") {
+        throw new TypeError("invalid pattern");
+      }
+      if (pattern.length > MAX_PATTERN_LENGTH) {
+        throw new TypeError("pattern is too long");
+      }
+    };
+    Minimatch.prototype.parse = parse2;
+    var SUBPARSE = {};
+    function parse2(pattern, isSub) {
+      assertValidPattern(pattern);
+      var options = this.options;
+      if (pattern === "**") {
+        if (!options.noglobstar)
+          return GLOBSTAR;
+        else
+          pattern = "*";
+      }
+      if (pattern === "") return "";
+      var re = "";
+      var hasMagic = !!options.nocase;
+      var escaping = false;
+      var patternListStack = [];
+      var negativeLists = [];
+      var stateChar;
+      var inClass = false;
+      var reClassStart = -1;
+      var classStart = -1;
+      var patternStart = pattern.charAt(0) === "." ? "" : options.dot ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)";
+      var self2 = this;
+      function clearStateChar() {
+        if (stateChar) {
+          switch (stateChar) {
+            case "*":
+              re += star;
+              hasMagic = true;
+              break;
+            case "?":
+              re += qmark;
+              hasMagic = true;
+              break;
+            default:
+              re += "\\" + stateChar;
+              break;
+          }
+          self2.debug("clearStateChar %j %j", stateChar, re);
+          stateChar = false;
+        }
+      }
+      for (var i = 0, len = pattern.length, c; i < len && (c = pattern.charAt(i)); i++) {
+        this.debug("%s	%s %s %j", pattern, i, re, c);
+        if (escaping && reSpecials[c]) {
+          re += "\\" + c;
+          escaping = false;
+          continue;
+        }
+        switch (c) {
+          /* istanbul ignore next */
+          case "/": {
+            return false;
+          }
+          case "\\":
+            clearStateChar();
+            escaping = true;
+            continue;
+          // the various stateChar values
+          // for the "extglob" stuff.
+          case "?":
+          case "*":
+          case "+":
+          case "@":
+          case "!":
+            this.debug("%s	%s %s %j <-- stateChar", pattern, i, re, c);
+            if (inClass) {
+              this.debug("  in class");
+              if (c === "!" && i === classStart + 1) c = "^";
+              re += c;
+              continue;
+            }
+            self2.debug("call clearStateChar %j", stateChar);
+            clearStateChar();
+            stateChar = c;
+            if (options.noext) clearStateChar();
+            continue;
+          case "(":
+            if (inClass) {
+              re += "(";
+              continue;
+            }
+            if (!stateChar) {
+              re += "\\(";
+              continue;
+            }
+            patternListStack.push({
+              type: stateChar,
+              start: i - 1,
+              reStart: re.length,
+              open: plTypes[stateChar].open,
+              close: plTypes[stateChar].close
+            });
+            re += stateChar === "!" ? "(?:(?!(?:" : "(?:";
+            this.debug("plType %j %j", stateChar, re);
+            stateChar = false;
+            continue;
+          case ")":
+            if (inClass || !patternListStack.length) {
+              re += "\\)";
+              continue;
+            }
+            clearStateChar();
+            hasMagic = true;
+            var pl = patternListStack.pop();
+            re += pl.close;
+            if (pl.type === "!") {
+              negativeLists.push(pl);
+            }
+            pl.reEnd = re.length;
+            continue;
+          case "|":
+            if (inClass || !patternListStack.length || escaping) {
+              re += "\\|";
+              escaping = false;
+              continue;
+            }
+            clearStateChar();
+            re += "|";
+            continue;
+          // these are mostly the same in regexp and glob
+          case "[":
+            clearStateChar();
+            if (inClass) {
+              re += "\\" + c;
+              continue;
+            }
+            inClass = true;
+            classStart = i;
+            reClassStart = re.length;
+            re += c;
+            continue;
+          case "]":
+            if (i === classStart + 1 || !inClass) {
+              re += "\\" + c;
+              escaping = false;
+              continue;
+            }
+            var cs = pattern.substring(classStart + 1, i);
+            try {
+              RegExp("[" + cs + "]");
+            } catch (er) {
+              var sp = this.parse(cs, SUBPARSE);
+              re = re.substr(0, reClassStart) + "\\[" + sp[0] + "\\]";
+              hasMagic = hasMagic || sp[1];
+              inClass = false;
+              continue;
+            }
+            hasMagic = true;
+            inClass = false;
+            re += c;
+            continue;
+          default:
+            clearStateChar();
+            if (escaping) {
+              escaping = false;
+            } else if (reSpecials[c] && !(c === "^" && inClass)) {
+              re += "\\";
+            }
+            re += c;
+        }
+      }
+      if (inClass) {
+        cs = pattern.substr(classStart + 1);
+        sp = this.parse(cs, SUBPARSE);
+        re = re.substr(0, reClassStart) + "\\[" + sp[0];
+        hasMagic = hasMagic || sp[1];
+      }
+      for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {
+        var tail = re.slice(pl.reStart + pl.open.length);
+        this.debug("setting tail", re, pl);
+        tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, function(_2, $1, $2) {
+          if (!$2) {
+            $2 = "\\";
+          }
+          return $1 + $1 + $2 + "|";
+        });
+        this.debug("tail=%j\n   %s", tail, tail, pl, re);
+        var t = pl.type === "*" ? star : pl.type === "?" ? qmark : "\\" + pl.type;
+        hasMagic = true;
+        re = re.slice(0, pl.reStart) + t + "\\(" + tail;
+      }
+      clearStateChar();
+      if (escaping) {
+        re += "\\\\";
+      }
+      var addPatternStart = false;
+      switch (re.charAt(0)) {
+        case "[":
+        case ".":
+        case "(":
+          addPatternStart = true;
+      }
+      for (var n = negativeLists.length - 1; n > -1; n--) {
+        var nl = negativeLists[n];
+        var nlBefore = re.slice(0, nl.reStart);
+        var nlFirst = re.slice(nl.reStart, nl.reEnd - 8);
+        var nlLast = re.slice(nl.reEnd - 8, nl.reEnd);
+        var nlAfter = re.slice(nl.reEnd);
+        nlLast += nlAfter;
+        var openParensBefore = nlBefore.split("(").length - 1;
+        var cleanAfter = nlAfter;
+        for (i = 0; i < openParensBefore; i++) {
+          cleanAfter = cleanAfter.replace(/\)[+*?]?/, "");
+        }
+        nlAfter = cleanAfter;
+        var dollar = "";
+        if (nlAfter === "" && isSub !== SUBPARSE) {
+          dollar = "$";
+        }
+        var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast;
+        re = newRe;
+      }
+      if (re !== "" && hasMagic) {
+        re = "(?=.)" + re;
+      }
+      if (addPatternStart) {
+        re = patternStart + re;
+      }
+      if (isSub === SUBPARSE) {
+        return [re, hasMagic];
+      }
+      if (!hasMagic) {
+        return globUnescape(pattern);
+      }
+      var flags = options.nocase ? "i" : "";
+      try {
+        var regExp = new RegExp("^" + re + "$", flags);
+      } catch (er) {
+        return new RegExp("$.");
+      }
+      regExp._glob = pattern;
+      regExp._src = re;
+      return regExp;
+    }
+    minimatch.makeRe = function(pattern, options) {
+      return new Minimatch(pattern, options || {}).makeRe();
+    };
+    Minimatch.prototype.makeRe = makeRe;
+    function makeRe() {
+      if (this.regexp || this.regexp === false) return this.regexp;
+      var set2 = this.set;
+      if (!set2.length) {
+        this.regexp = false;
+        return this.regexp;
+      }
+      var options = this.options;
+      var twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
+      var flags = options.nocase ? "i" : "";
+      var re = set2.map(function(pattern) {
+        return pattern.map(function(p) {
+          return p === GLOBSTAR ? twoStar : typeof p === "string" ? regExpEscape(p) : p._src;
+        }).join("\\/");
+      }).join("|");
+      re = "^(?:" + re + ")$";
+      if (this.negate) re = "^(?!" + re + ").*$";
+      try {
+        this.regexp = new RegExp(re, flags);
+      } catch (ex) {
+        this.regexp = false;
+      }
+      return this.regexp;
+    }
+    minimatch.match = function(list, pattern, options) {
+      options = options || {};
+      var mm = new Minimatch(pattern, options);
+      list = list.filter(function(f) {
+        return mm.match(f);
+      });
+      if (mm.options.nonull && !list.length) {
+        list.push(pattern);
+      }
+      return list;
+    };
+    Minimatch.prototype.match = function match(f, partial) {
+      if (typeof partial === "undefined") partial = this.partial;
+      this.debug("match", f, this.pattern);
+      if (this.comment) return false;
+      if (this.empty) return f === "";
+      if (f === "/" && partial) return true;
+      var options = this.options;
+      if (path4.sep !== "/") {
+        f = f.split(path4.sep).join("/");
+      }
+      f = f.split(slashSplit);
+      this.debug(this.pattern, "split", f);
+      var set2 = this.set;
+      this.debug(this.pattern, "set", set2);
+      var filename;
+      var i;
+      for (i = f.length - 1; i >= 0; i--) {
+        filename = f[i];
+        if (filename) break;
+      }
+      for (i = 0; i < set2.length; i++) {
+        var pattern = set2[i];
+        var file = f;
+        if (options.matchBase && pattern.length === 1) {
+          file = [filename];
+        }
+        var hit = this.matchOne(file, pattern, partial);
+        if (hit) {
+          if (options.flipNegate) return true;
+          return !this.negate;
+        }
+      }
+      if (options.flipNegate) return false;
+      return this.negate;
+    };
+    Minimatch.prototype.matchOne = function(file, pattern, partial) {
+      var options = this.options;
+      this.debug(
+        "matchOne",
+        { "this": this, file, pattern }
+      );
+      this.debug("matchOne", file.length, pattern.length);
+      for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
+        this.debug("matchOne loop");
+        var p = pattern[pi];
+        var f = file[fi];
+        this.debug(pattern, p, f);
+        if (p === false) return false;
+        if (p === GLOBSTAR) {
+          this.debug("GLOBSTAR", [pattern, p, f]);
+          var fr = fi;
+          var pr = pi + 1;
+          if (pr === pl) {
+            this.debug("** at the end");
+            for (; fi < fl; fi++) {
+              if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".") return false;
+            }
+            return true;
+          }
+          while (fr < fl) {
+            var swallowee = file[fr];
+            this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
+            if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
+              this.debug("globstar found match!", fr, fl, swallowee);
+              return true;
+            } else {
+              if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
+                this.debug("dot detected!", file, fr, pattern, pr);
+                break;
+              }
+              this.debug("globstar swallow a segment, and continue");
+              fr++;
+            }
+          }
+          if (partial) {
+            this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
+            if (fr === fl) return true;
+          }
+          return false;
+        }
+        var hit;
+        if (typeof p === "string") {
+          hit = f === p;
+          this.debug("string match", p, f, hit);
+        } else {
+          hit = f.match(p);
+          this.debug("pattern match", p, f, hit);
+        }
+        if (!hit) return false;
+      }
+      if (fi === fl && pi === pl) {
+        return true;
+      } else if (fi === fl) {
+        return partial;
+      } else if (pi === pl) {
+        return fi === fl - 1 && file[fi] === "";
+      }
+      throw new Error("wtf?");
+    };
+    function globUnescape(s) {
+      return s.replace(/\\(.)/g, "$1");
+    }
+    function regExpEscape(s) {
+      return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
+    }
+  }
+});
+
+// node_modules/@actions/glob/lib/internal-path.js
+var require_internal_path = __commonJS({
+  "node_modules/@actions/glob/lib/internal-path.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = 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 ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
+      return mod && mod.__esModule ? mod : { "default": mod };
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Path = void 0;
+    var path4 = __importStar2(require("path"));
+    var pathHelper = __importStar2(require_internal_path_helper());
+    var assert_1 = __importDefault2(require("assert"));
+    var IS_WINDOWS = process.platform === "win32";
+    var Path = class {
+      /**
+       * Constructs a Path
+       * @param itemPath Path or array of segments
+       */
+      constructor(itemPath) {
+        this.segments = [];
+        if (typeof itemPath === "string") {
+          (0, assert_1.default)(itemPath, `Parameter 'itemPath' must not be empty`);
+          itemPath = pathHelper.safeTrimTrailingSeparator(itemPath);
+          if (!pathHelper.hasRoot(itemPath)) {
+            this.segments = itemPath.split(path4.sep);
+          } else {
+            let remaining = itemPath;
+            let dir = pathHelper.dirname(remaining);
+            while (dir !== remaining) {
+              const basename2 = path4.basename(remaining);
+              this.segments.unshift(basename2);
+              remaining = dir;
+              dir = pathHelper.dirname(remaining);
+            }
+            this.segments.unshift(remaining);
+          }
+        } else {
+          (0, assert_1.default)(itemPath.length > 0, `Parameter 'itemPath' must not be an empty array`);
+          for (let i = 0; i < itemPath.length; i++) {
+            let segment = itemPath[i];
+            (0, assert_1.default)(segment, `Parameter 'itemPath' must not contain any empty segments`);
+            segment = pathHelper.normalizeSeparators(itemPath[i]);
+            if (i === 0 && pathHelper.hasRoot(segment)) {
+              segment = pathHelper.safeTrimTrailingSeparator(segment);
+              (0, assert_1.default)(segment === pathHelper.dirname(segment), `Parameter 'itemPath' root segment contains information for multiple segments`);
+              this.segments.push(segment);
+            } else {
+              (0, assert_1.default)(!segment.includes(path4.sep), `Parameter 'itemPath' contains unexpected path separators`);
+              this.segments.push(segment);
+            }
+          }
+        }
+      }
+      /**
+       * Converts the path to it's string representation
+       */
+      toString() {
+        let result = this.segments[0];
+        let skipSlash = result.endsWith(path4.sep) || IS_WINDOWS && /^[A-Z]:$/i.test(result);
+        for (let i = 1; i < this.segments.length; i++) {
+          if (skipSlash) {
+            skipSlash = false;
+          } else {
+            result += path4.sep;
+          }
+          result += this.segments[i];
+        }
+        return result;
+      }
+    };
+    exports2.Path = Path;
+  }
+});
+
+// node_modules/@actions/glob/lib/internal-pattern.js
+var require_internal_pattern = __commonJS({
+  "node_modules/@actions/glob/lib/internal-pattern.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = 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 ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
+      return mod && mod.__esModule ? mod : { "default": mod };
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Pattern = void 0;
+    var os2 = __importStar2(require("os"));
+    var path4 = __importStar2(require("path"));
+    var pathHelper = __importStar2(require_internal_path_helper());
+    var assert_1 = __importDefault2(require("assert"));
+    var minimatch_1 = require_minimatch();
+    var internal_match_kind_1 = require_internal_match_kind();
+    var internal_path_1 = require_internal_path();
+    var IS_WINDOWS = process.platform === "win32";
+    var Pattern = class _Pattern {
+      constructor(patternOrNegate, isImplicitPattern = false, segments, homedir) {
+        this.negate = false;
+        let pattern;
+        if (typeof patternOrNegate === "string") {
+          pattern = patternOrNegate.trim();
+        } else {
+          segments = segments || [];
+          (0, assert_1.default)(segments.length, `Parameter 'segments' must not empty`);
+          const root = _Pattern.getLiteral(segments[0]);
+          (0, assert_1.default)(root && pathHelper.hasAbsoluteRoot(root), `Parameter 'segments' first element must be a root path`);
+          pattern = new internal_path_1.Path(segments).toString().trim();
+          if (patternOrNegate) {
+            pattern = `!${pattern}`;
+          }
+        }
+        while (pattern.startsWith("!")) {
+          this.negate = !this.negate;
+          pattern = pattern.substr(1).trim();
+        }
+        pattern = _Pattern.fixupPattern(pattern, homedir);
+        this.segments = new internal_path_1.Path(pattern).segments;
+        this.trailingSeparator = pathHelper.normalizeSeparators(pattern).endsWith(path4.sep);
+        pattern = pathHelper.safeTrimTrailingSeparator(pattern);
+        let foundGlob = false;
+        const searchSegments = this.segments.map((x) => _Pattern.getLiteral(x)).filter((x) => !foundGlob && !(foundGlob = x === ""));
+        this.searchPath = new internal_path_1.Path(searchSegments).toString();
+        this.rootRegExp = new RegExp(_Pattern.regExpEscape(searchSegments[0]), IS_WINDOWS ? "i" : "");
+        this.isImplicitPattern = isImplicitPattern;
+        const minimatchOptions = {
+          dot: true,
+          nobrace: true,
+          nocase: IS_WINDOWS,
+          nocomment: true,
+          noext: true,
+          nonegate: true
+        };
+        pattern = IS_WINDOWS ? pattern.replace(/\\/g, "/") : pattern;
+        this.minimatch = new minimatch_1.Minimatch(pattern, minimatchOptions);
+      }
+      /**
+       * Matches the pattern against the specified path
+       */
+      match(itemPath) {
+        if (this.segments[this.segments.length - 1] === "**") {
+          itemPath = pathHelper.normalizeSeparators(itemPath);
+          if (!itemPath.endsWith(path4.sep) && this.isImplicitPattern === false) {
+            itemPath = `${itemPath}${path4.sep}`;
+          }
+        } else {
+          itemPath = pathHelper.safeTrimTrailingSeparator(itemPath);
+        }
+        if (this.minimatch.match(itemPath)) {
+          return this.trailingSeparator ? internal_match_kind_1.MatchKind.Directory : internal_match_kind_1.MatchKind.All;
+        }
+        return internal_match_kind_1.MatchKind.None;
+      }
+      /**
+       * Indicates whether the pattern may match descendants of the specified path
+       */
+      partialMatch(itemPath) {
+        itemPath = pathHelper.safeTrimTrailingSeparator(itemPath);
+        if (pathHelper.dirname(itemPath) === itemPath) {
+          return this.rootRegExp.test(itemPath);
+        }
+        return this.minimatch.matchOne(itemPath.split(IS_WINDOWS ? /\\+/ : /\/+/), this.minimatch.set[0], true);
+      }
+      /**
+       * Escapes glob patterns within a path
+       */
+      static globEscape(s) {
+        return (IS_WINDOWS ? s : s.replace(/\\/g, "\\\\")).replace(/(\[)(?=[^/]+\])/g, "[[]").replace(/\?/g, "[?]").replace(/\*/g, "[*]");
+      }
+      /**
+       * Normalizes slashes and ensures absolute root
+       */
+      static fixupPattern(pattern, homedir) {
+        (0, assert_1.default)(pattern, "pattern cannot be empty");
+        const literalSegments = new internal_path_1.Path(pattern).segments.map((x) => _Pattern.getLiteral(x));
+        (0, assert_1.default)(literalSegments.every((x, i) => (x !== "." || i === 0) && x !== ".."), `Invalid pattern '${pattern}'. Relative pathing '.' and '..' is not allowed.`);
+        (0, assert_1.default)(!pathHelper.hasRoot(pattern) || literalSegments[0], `Invalid pattern '${pattern}'. Root segment must not contain globs.`);
+        pattern = pathHelper.normalizeSeparators(pattern);
+        if (pattern === "." || pattern.startsWith(`.${path4.sep}`)) {
+          pattern = _Pattern.globEscape(process.cwd()) + pattern.substr(1);
+        } else if (pattern === "~" || pattern.startsWith(`~${path4.sep}`)) {
+          homedir = homedir || os2.homedir();
+          (0, assert_1.default)(homedir, "Unable to determine HOME directory");
+          (0, assert_1.default)(pathHelper.hasAbsoluteRoot(homedir), `Expected HOME directory to be a rooted path. Actual '${homedir}'`);
+          pattern = _Pattern.globEscape(homedir) + pattern.substr(1);
+        } else if (IS_WINDOWS && (pattern.match(/^[A-Z]:$/i) || pattern.match(/^[A-Z]:[^\\]/i))) {
+          let root = pathHelper.ensureAbsoluteRoot("C:\\dummy-root", pattern.substr(0, 2));
+          if (pattern.length > 2 && !root.endsWith("\\")) {
+            root += "\\";
+          }
+          pattern = _Pattern.globEscape(root) + pattern.substr(2);
+        } else if (IS_WINDOWS && (pattern === "\\" || pattern.match(/^\\[^\\]/))) {
+          let root = pathHelper.ensureAbsoluteRoot("C:\\dummy-root", "\\");
+          if (!root.endsWith("\\")) {
+            root += "\\";
+          }
+          pattern = _Pattern.globEscape(root) + pattern.substr(1);
+        } else {
+          pattern = pathHelper.ensureAbsoluteRoot(_Pattern.globEscape(process.cwd()), pattern);
+        }
+        return pathHelper.normalizeSeparators(pattern);
+      }
+      /**
+       * Attempts to unescape a pattern segment to create a literal path segment.
+       * Otherwise returns empty string.
+       */
+      static getLiteral(segment) {
+        let literal = "";
+        for (let i = 0; i < segment.length; i++) {
+          const c = segment[i];
+          if (c === "\\" && !IS_WINDOWS && i + 1 < segment.length) {
+            literal += segment[++i];
+            continue;
+          } else if (c === "*" || c === "?") {
+            return "";
+          } else if (c === "[" && i + 1 < segment.length) {
+            let set2 = "";
+            let closed = -1;
+            for (let i2 = i + 1; i2 < segment.length; i2++) {
+              const c2 = segment[i2];
+              if (c2 === "\\" && !IS_WINDOWS && i2 + 1 < segment.length) {
+                set2 += segment[++i2];
+                continue;
+              } else if (c2 === "]") {
+                closed = i2;
+                break;
+              } else {
+                set2 += c2;
+              }
+            }
+            if (closed >= 0) {
+              if (set2.length > 1) {
+                return "";
+              }
+              if (set2) {
+                literal += set2;
+                i = closed;
+                continue;
+              }
+            }
+          }
+          literal += c;
+        }
+        return literal;
+      }
+      /**
+       * Escapes regexp special characters
+       * https://javascript.info/regexp-escaping
+       */
+      static regExpEscape(s) {
+        return s.replace(/[[\\^$.|?*+()]/g, "\\$&");
+      }
+    };
+    exports2.Pattern = Pattern;
+  }
+});
+
+// node_modules/@actions/glob/lib/internal-search-state.js
+var require_internal_search_state = __commonJS({
+  "node_modules/@actions/glob/lib/internal-search-state.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.SearchState = void 0;
+    var SearchState = class {
+      constructor(path4, level) {
+        this.path = path4;
+        this.level = level;
+      }
+    };
+    exports2.SearchState = SearchState;
+  }
+});
+
+// node_modules/@actions/glob/lib/internal-globber.js
+var require_internal_globber = __commonJS({
+  "node_modules/@actions/glob/lib/internal-globber.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = 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 ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve3) {
+          resolve3(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve3, 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 ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    var __asyncValues2 = exports2 && exports2.__asyncValues || function(o) {
+      if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+      var m = o[Symbol.asyncIterator], i;
+      return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() {
+        return this;
+      }, i);
+      function verb(n) {
+        i[n] = o[n] && function(v) {
+          return new Promise(function(resolve3, reject) {
+            v = o[n](v), settle(resolve3, reject, v.done, v.value);
+          });
+        };
+      }
+      function settle(resolve3, reject, d, v) {
+        Promise.resolve(v).then(function(v2) {
+          resolve3({ value: v2, done: d });
+        }, reject);
+      }
+    };
+    var __await2 = exports2 && exports2.__await || function(v) {
+      return this instanceof __await2 ? (this.v = v, this) : new __await2(v);
+    };
+    var __asyncGenerator2 = exports2 && exports2.__asyncGenerator || function(thisArg, _arguments, generator) {
+      if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+      var g = generator.apply(thisArg, _arguments || []), i, q = [];
+      return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function() {
+        return this;
+      }, i;
+      function awaitReturn(f) {
+        return function(v) {
+          return Promise.resolve(v).then(f, reject);
+        };
+      }
+      function verb(n, f) {
+        if (g[n]) {
+          i[n] = function(v) {
+            return new Promise(function(a, b) {
+              q.push([n, v, a, b]) > 1 || resume(n, v);
+            });
+          };
+          if (f) i[n] = f(i[n]);
+        }
+      }
+      function resume(n, v) {
+        try {
+          step(g[n](v));
+        } catch (e) {
+          settle(q[0][3], e);
+        }
+      }
+      function step(r) {
+        r.value instanceof __await2 ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);
+      }
+      function fulfill(value) {
+        resume("next", value);
+      }
+      function reject(value) {
+        resume("throw", value);
+      }
+      function settle(f, v) {
+        if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);
+      }
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.DefaultGlobber = void 0;
+    var core14 = __importStar2(require_core());
+    var fs3 = __importStar2(require("fs"));
+    var globOptionsHelper = __importStar2(require_internal_glob_options_helper());
+    var path4 = __importStar2(require("path"));
+    var patternHelper = __importStar2(require_internal_pattern_helper());
+    var internal_match_kind_1 = require_internal_match_kind();
+    var internal_pattern_1 = require_internal_pattern();
+    var internal_search_state_1 = require_internal_search_state();
+    var IS_WINDOWS = process.platform === "win32";
+    var DefaultGlobber = class _DefaultGlobber {
+      constructor(options) {
+        this.patterns = [];
+        this.searchPaths = [];
+        this.options = globOptionsHelper.getOptions(options);
+      }
+      getSearchPaths() {
+        return this.searchPaths.slice();
+      }
+      glob() {
+        return __awaiter2(this, void 0, void 0, function* () {
+          var _a, e_1, _b, _c;
+          const result = [];
+          try {
+            for (var _d = true, _e = __asyncValues2(this.globGenerator()), _f; _f = yield _e.next(), _a = _f.done, !_a; _d = true) {
+              _c = _f.value;
+              _d = false;
+              const itemPath = _c;
+              result.push(itemPath);
+            }
+          } catch (e_1_1) {
+            e_1 = { error: e_1_1 };
+          } finally {
+            try {
+              if (!_d && !_a && (_b = _e.return)) yield _b.call(_e);
+            } finally {
+              if (e_1) throw e_1.error;
+            }
+          }
+          return result;
+        });
+      }
+      globGenerator() {
+        return __asyncGenerator2(this, arguments, function* globGenerator_1() {
+          const options = globOptionsHelper.getOptions(this.options);
+          const patterns = [];
+          for (const pattern of this.patterns) {
+            patterns.push(pattern);
+            if (options.implicitDescendants && (pattern.trailingSeparator || pattern.segments[pattern.segments.length - 1] !== "**")) {
+              patterns.push(new internal_pattern_1.Pattern(pattern.negate, true, pattern.segments.concat("**")));
+            }
+          }
+          const stack = [];
+          for (const searchPath of patternHelper.getSearchPaths(patterns)) {
+            core14.debug(`Search path '${searchPath}'`);
+            try {
+              yield __await2(fs3.promises.lstat(searchPath));
+            } catch (err) {
+              if (err.code === "ENOENT") {
+                continue;
+              }
+              throw err;
+            }
+            stack.unshift(new internal_search_state_1.SearchState(searchPath, 1));
+          }
+          const traversalChain = [];
+          while (stack.length) {
+            const item = stack.pop();
+            const match = patternHelper.match(patterns, item.path);
+            const partialMatch = !!match || patternHelper.partialMatch(patterns, item.path);
+            if (!match && !partialMatch) {
+              continue;
+            }
+            const stats = yield __await2(
+              _DefaultGlobber.stat(item, options, traversalChain)
+              // Broken symlink, or symlink cycle detected, or no longer exists
+            );
+            if (!stats) {
+              continue;
+            }
+            if (options.excludeHiddenFiles && path4.basename(item.path).match(/^\./)) {
+              continue;
+            }
+            if (stats.isDirectory()) {
+              if (match & internal_match_kind_1.MatchKind.Directory && options.matchDirectories) {
+                yield yield __await2(item.path);
+              } else if (!partialMatch) {
+                continue;
+              }
+              const childLevel = item.level + 1;
+              const childItems = (yield __await2(fs3.promises.readdir(item.path))).map((x) => new internal_search_state_1.SearchState(path4.join(item.path, x), childLevel));
+              stack.push(...childItems.reverse());
+            } else if (match & internal_match_kind_1.MatchKind.File) {
+              yield yield __await2(item.path);
+            }
+          }
+        });
+      }
+      /**
+       * Constructs a DefaultGlobber
+       */
+      static create(patterns, options) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          const result = new _DefaultGlobber(options);
+          if (IS_WINDOWS) {
+            patterns = patterns.replace(/\r\n/g, "\n");
+            patterns = patterns.replace(/\r/g, "\n");
+          }
+          const lines = patterns.split("\n").map((x) => x.trim());
+          for (const line of lines) {
+            if (!line || line.startsWith("#")) {
+              continue;
+            } else {
+              result.patterns.push(new internal_pattern_1.Pattern(line));
+            }
+          }
+          result.searchPaths.push(...patternHelper.getSearchPaths(result.patterns));
+          return result;
+        });
+      }
+      static stat(item, options, traversalChain) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          let stats;
+          if (options.followSymbolicLinks) {
+            try {
+              stats = yield fs3.promises.stat(item.path);
+            } catch (err) {
+              if (err.code === "ENOENT") {
+                if (options.omitBrokenSymbolicLinks) {
+                  core14.debug(`Broken symlink '${item.path}'`);
+                  return void 0;
+                }
+                throw new Error(`No information found for the path '${item.path}'. This may indicate a broken symbolic link.`);
+              }
+              throw err;
+            }
+          } else {
+            stats = yield fs3.promises.lstat(item.path);
+          }
+          if (stats.isDirectory() && options.followSymbolicLinks) {
+            const realPath = yield fs3.promises.realpath(item.path);
+            while (traversalChain.length >= item.level) {
+              traversalChain.pop();
+            }
+            if (traversalChain.some((x) => x === realPath)) {
+              core14.debug(`Symlink cycle detected for path '${item.path}' and realpath '${realPath}'`);
+              return void 0;
+            }
+            traversalChain.push(realPath);
+          }
+          return stats;
+        });
+      }
+    };
+    exports2.DefaultGlobber = DefaultGlobber;
+  }
+});
+
+// node_modules/@actions/glob/lib/internal-hash-files.js
+var require_internal_hash_files = __commonJS({
+  "node_modules/@actions/glob/lib/internal-hash-files.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = 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 ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve3) {
+          resolve3(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve3, 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 ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    var __asyncValues2 = exports2 && exports2.__asyncValues || function(o) {
+      if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+      var m = o[Symbol.asyncIterator], i;
+      return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() {
+        return this;
+      }, i);
+      function verb(n) {
+        i[n] = o[n] && function(v) {
+          return new Promise(function(resolve3, reject) {
+            v = o[n](v), settle(resolve3, reject, v.done, v.value);
+          });
+        };
+      }
+      function settle(resolve3, reject, d, v) {
+        Promise.resolve(v).then(function(v2) {
+          resolve3({ value: v2, done: d });
+        }, reject);
+      }
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.hashFiles = hashFiles2;
+    var crypto2 = __importStar2(require("crypto"));
+    var core14 = __importStar2(require_core());
+    var fs3 = __importStar2(require("fs"));
+    var stream = __importStar2(require("stream"));
+    var util = __importStar2(require("util"));
+    var path4 = __importStar2(require("path"));
+    function hashFiles2(globber_1, currentWorkspace_1) {
+      return __awaiter2(this, arguments, void 0, function* (globber, currentWorkspace, verbose = false) {
+        var _a, e_1, _b, _c;
+        var _d;
+        const writeDelegate = verbose ? core14.info : core14.debug;
+        let hasMatch = false;
+        const githubWorkspace = currentWorkspace ? currentWorkspace : (_d = process.env["GITHUB_WORKSPACE"]) !== null && _d !== void 0 ? _d : process.cwd();
+        const result = crypto2.createHash("sha256");
+        let count = 0;
+        try {
+          for (var _e = true, _f = __asyncValues2(globber.globGenerator()), _g; _g = yield _f.next(), _a = _g.done, !_a; _e = true) {
+            _c = _g.value;
+            _e = false;
+            const file = _c;
+            writeDelegate(file);
+            if (!file.startsWith(`${githubWorkspace}${path4.sep}`)) {
+              writeDelegate(`Ignore '${file}' since it is not under GITHUB_WORKSPACE.`);
+              continue;
+            }
+            if (fs3.statSync(file).isDirectory()) {
+              writeDelegate(`Skip directory '${file}'.`);
+              continue;
+            }
+            const hash = crypto2.createHash("sha256");
+            const pipeline = util.promisify(stream.pipeline);
+            yield pipeline(fs3.createReadStream(file), hash);
+            result.write(hash.digest());
+            count++;
+            if (!hasMatch) {
+              hasMatch = true;
+            }
+          }
+        } catch (e_1_1) {
+          e_1 = { error: e_1_1 };
+        } finally {
+          try {
+            if (!_e && !_a && (_b = _f.return)) yield _b.call(_f);
+          } finally {
+            if (e_1) throw e_1.error;
+          }
+        }
+        result.end();
+        if (hasMatch) {
+          writeDelegate(`Found ${count} files to hash.`);
+          return result.digest("hex");
+        } else {
+          writeDelegate(`No matches found for glob`);
+          return "";
+        }
+      });
+    }
+  }
+});
+
+// node_modules/@actions/glob/lib/glob.js
+var require_glob = __commonJS({
+  "node_modules/@actions/glob/lib/glob.js"(exports2) {
+    "use strict";
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve3) {
+          resolve3(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve3, 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 ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.create = create3;
+    exports2.hashFiles = hashFiles2;
+    var internal_globber_1 = require_internal_globber();
+    var internal_hash_files_1 = require_internal_hash_files();
+    function create3(patterns, options) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        return yield internal_globber_1.DefaultGlobber.create(patterns, options);
+      });
+    }
+    function hashFiles2(patterns_1) {
+      return __awaiter2(this, arguments, void 0, function* (patterns, currentWorkspace = "", options, verbose = false) {
+        let followSymbolicLinks = true;
+        if (options && typeof options.followSymbolicLinks === "boolean") {
+          followSymbolicLinks = options.followSymbolicLinks;
+        }
+        const globber = yield create3(patterns, { followSymbolicLinks });
+        return (0, internal_hash_files_1.hashFiles)(globber, currentWorkspace, verbose);
+      });
+    }
+  }
+});
+
+// node_modules/@actions/cache/node_modules/semver/semver.js
+var require_semver3 = __commonJS({
+  "node_modules/@actions/cache/node_modules/semver/semver.js"(exports2, module2) {
+    exports2 = module2.exports = SemVer;
+    var debug4;
+    if (typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG)) {
+      debug4 = function() {
+        var args = Array.prototype.slice.call(arguments, 0);
+        args.unshift("SEMVER");
+        console.log.apply(console, args);
+      };
+    } else {
+      debug4 = function() {
+      };
+    }
+    exports2.SEMVER_SPEC_VERSION = "2.0.0";
+    var MAX_LENGTH = 256;
+    var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */
+    9007199254740991;
+    var MAX_SAFE_COMPONENT_LENGTH = 16;
+    var MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6;
+    var re = exports2.re = [];
+    var safeRe = exports2.safeRe = [];
+    var src = exports2.src = [];
+    var t = exports2.tokens = {};
+    var R = 0;
+    function tok(n) {
+      t[n] = R++;
+    }
+    var LETTERDASHNUMBER = "[a-zA-Z0-9-]";
+    var safeRegexReplacements = [
+      ["\\s", 1],
+      ["\\d", MAX_LENGTH],
+      [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH]
+    ];
+    function makeSafeRe(value) {
+      for (var i2 = 0; i2 < safeRegexReplacements.length; i2++) {
+        var token = safeRegexReplacements[i2][0];
+        var max = safeRegexReplacements[i2][1];
+        value = value.split(token + "*").join(token + "{0," + max + "}").split(token + "+").join(token + "{1," + max + "}");
+      }
+      return value;
+    }
+    tok("NUMERICIDENTIFIER");
+    src[t.NUMERICIDENTIFIER] = "0|[1-9]\\d*";
+    tok("NUMERICIDENTIFIERLOOSE");
+    src[t.NUMERICIDENTIFIERLOOSE] = "\\d+";
+    tok("NONNUMERICIDENTIFIER");
+    src[t.NONNUMERICIDENTIFIER] = "\\d*[a-zA-Z-]" + LETTERDASHNUMBER + "*";
+    tok("MAINVERSION");
+    src[t.MAINVERSION] = "(" + src[t.NUMERICIDENTIFIER] + ")\\.(" + src[t.NUMERICIDENTIFIER] + ")\\.(" + src[t.NUMERICIDENTIFIER] + ")";
+    tok("MAINVERSIONLOOSE");
+    src[t.MAINVERSIONLOOSE] = "(" + src[t.NUMERICIDENTIFIERLOOSE] + ")\\.(" + src[t.NUMERICIDENTIFIERLOOSE] + ")\\.(" + src[t.NUMERICIDENTIFIERLOOSE] + ")";
+    tok("PRERELEASEIDENTIFIER");
+    src[t.PRERELEASEIDENTIFIER] = "(?:" + src[t.NUMERICIDENTIFIER] + "|" + src[t.NONNUMERICIDENTIFIER] + ")";
+    tok("PRERELEASEIDENTIFIERLOOSE");
+    src[t.PRERELEASEIDENTIFIERLOOSE] = "(?:" + src[t.NUMERICIDENTIFIERLOOSE] + "|" + src[t.NONNUMERICIDENTIFIER] + ")";
+    tok("PRERELEASE");
+    src[t.PRERELEASE] = "(?:-(" + src[t.PRERELEASEIDENTIFIER] + "(?:\\." + src[t.PRERELEASEIDENTIFIER] + ")*))";
+    tok("PRERELEASELOOSE");
+    src[t.PRERELEASELOOSE] = "(?:-?(" + src[t.PRERELEASEIDENTIFIERLOOSE] + "(?:\\." + src[t.PRERELEASEIDENTIFIERLOOSE] + ")*))";
+    tok("BUILDIDENTIFIER");
+    src[t.BUILDIDENTIFIER] = LETTERDASHNUMBER + "+";
+    tok("BUILD");
+    src[t.BUILD] = "(?:\\+(" + src[t.BUILDIDENTIFIER] + "(?:\\." + src[t.BUILDIDENTIFIER] + ")*))";
+    tok("FULL");
+    tok("FULLPLAIN");
+    src[t.FULLPLAIN] = "v?" + src[t.MAINVERSION] + src[t.PRERELEASE] + "?" + src[t.BUILD] + "?";
+    src[t.FULL] = "^" + src[t.FULLPLAIN] + "$";
+    tok("LOOSEPLAIN");
+    src[t.LOOSEPLAIN] = "[v=\\s]*" + src[t.MAINVERSIONLOOSE] + src[t.PRERELEASELOOSE] + "?" + src[t.BUILD] + "?";
+    tok("LOOSE");
+    src[t.LOOSE] = "^" + src[t.LOOSEPLAIN] + "$";
+    tok("GTLT");
+    src[t.GTLT] = "((?:<|>)?=?)";
+    tok("XRANGEIDENTIFIERLOOSE");
+    src[t.XRANGEIDENTIFIERLOOSE] = src[t.NUMERICIDENTIFIERLOOSE] + "|x|X|\\*";
+    tok("XRANGEIDENTIFIER");
+    src[t.XRANGEIDENTIFIER] = src[t.NUMERICIDENTIFIER] + "|x|X|\\*";
+    tok("XRANGEPLAIN");
+    src[t.XRANGEPLAIN] = "[v=\\s]*(" + src[t.XRANGEIDENTIFIER] + ")(?:\\.(" + src[t.XRANGEIDENTIFIER] + ")(?:\\.(" + src[t.XRANGEIDENTIFIER] + ")(?:" + src[t.PRERELEASE] + ")?" + src[t.BUILD] + "?)?)?";
+    tok("XRANGEPLAINLOOSE");
+    src[t.XRANGEPLAINLOOSE] = "[v=\\s]*(" + src[t.XRANGEIDENTIFIERLOOSE] + ")(?:\\.(" + src[t.XRANGEIDENTIFIERLOOSE] + ")(?:\\.(" + src[t.XRANGEIDENTIFIERLOOSE] + ")(?:" + src[t.PRERELEASELOOSE] + ")?" + src[t.BUILD] + "?)?)?";
+    tok("XRANGE");
+    src[t.XRANGE] = "^" + src[t.GTLT] + "\\s*" + src[t.XRANGEPLAIN] + "$";
+    tok("XRANGELOOSE");
+    src[t.XRANGELOOSE] = "^" + src[t.GTLT] + "\\s*" + src[t.XRANGEPLAINLOOSE] + "$";
+    tok("COERCE");
+    src[t.COERCE] = "(^|[^\\d])(\\d{1," + MAX_SAFE_COMPONENT_LENGTH + "})(?:\\.(\\d{1," + MAX_SAFE_COMPONENT_LENGTH + "}))?(?:\\.(\\d{1," + MAX_SAFE_COMPONENT_LENGTH + "}))?(?:$|[^\\d])";
+    tok("COERCERTL");
+    re[t.COERCERTL] = new RegExp(src[t.COERCE], "g");
+    safeRe[t.COERCERTL] = new RegExp(makeSafeRe(src[t.COERCE]), "g");
+    tok("LONETILDE");
+    src[t.LONETILDE] = "(?:~>?)";
+    tok("TILDETRIM");
+    src[t.TILDETRIM] = "(\\s*)" + src[t.LONETILDE] + "\\s+";
+    re[t.TILDETRIM] = new RegExp(src[t.TILDETRIM], "g");
+    safeRe[t.TILDETRIM] = new RegExp(makeSafeRe(src[t.TILDETRIM]), "g");
+    var tildeTrimReplace = "$1~";
+    tok("TILDE");
+    src[t.TILDE] = "^" + src[t.LONETILDE] + src[t.XRANGEPLAIN] + "$";
+    tok("TILDELOOSE");
+    src[t.TILDELOOSE] = "^" + src[t.LONETILDE] + src[t.XRANGEPLAINLOOSE] + "$";
+    tok("LONECARET");
+    src[t.LONECARET] = "(?:\\^)";
+    tok("CARETTRIM");
+    src[t.CARETTRIM] = "(\\s*)" + src[t.LONECARET] + "\\s+";
+    re[t.CARETTRIM] = new RegExp(src[t.CARETTRIM], "g");
+    safeRe[t.CARETTRIM] = new RegExp(makeSafeRe(src[t.CARETTRIM]), "g");
+    var caretTrimReplace = "$1^";
+    tok("CARET");
+    src[t.CARET] = "^" + src[t.LONECARET] + src[t.XRANGEPLAIN] + "$";
+    tok("CARETLOOSE");
+    src[t.CARETLOOSE] = "^" + src[t.LONECARET] + src[t.XRANGEPLAINLOOSE] + "$";
+    tok("COMPARATORLOOSE");
+    src[t.COMPARATORLOOSE] = "^" + src[t.GTLT] + "\\s*(" + src[t.LOOSEPLAIN] + ")$|^$";
+    tok("COMPARATOR");
+    src[t.COMPARATOR] = "^" + src[t.GTLT] + "\\s*(" + src[t.FULLPLAIN] + ")$|^$";
+    tok("COMPARATORTRIM");
+    src[t.COMPARATORTRIM] = "(\\s*)" + src[t.GTLT] + "\\s*(" + src[t.LOOSEPLAIN] + "|" + src[t.XRANGEPLAIN] + ")";
+    re[t.COMPARATORTRIM] = new RegExp(src[t.COMPARATORTRIM], "g");
+    safeRe[t.COMPARATORTRIM] = new RegExp(makeSafeRe(src[t.COMPARATORTRIM]), "g");
+    var comparatorTrimReplace = "$1$2$3";
+    tok("HYPHENRANGE");
+    src[t.HYPHENRANGE] = "^\\s*(" + src[t.XRANGEPLAIN] + ")\\s+-\\s+(" + src[t.XRANGEPLAIN] + ")\\s*$";
+    tok("HYPHENRANGELOOSE");
+    src[t.HYPHENRANGELOOSE] = "^\\s*(" + src[t.XRANGEPLAINLOOSE] + ")\\s+-\\s+(" + src[t.XRANGEPLAINLOOSE] + ")\\s*$";
+    tok("STAR");
+    src[t.STAR] = "(<|>)?=?\\s*\\*";
+    for (i = 0; i < R; i++) {
+      debug4(i, src[i]);
+      if (!re[i]) {
+        re[i] = new RegExp(src[i]);
+        safeRe[i] = new RegExp(makeSafeRe(src[i]));
+      }
+    }
+    var i;
+    exports2.parse = parse2;
+    function parse2(version, options) {
+      if (!options || typeof options !== "object") {
+        options = {
+          loose: !!options,
+          includePrerelease: false
+        };
+      }
+      if (version instanceof SemVer) {
+        return version;
+      }
+      if (typeof version !== "string") {
+        return null;
+      }
+      if (version.length > MAX_LENGTH) {
+        return null;
+      }
+      var r = options.loose ? safeRe[t.LOOSE] : safeRe[t.FULL];
+      if (!r.test(version)) {
+        return null;
+      }
+      try {
+        return new SemVer(version, options);
+      } catch (er) {
+        return null;
+      }
+    }
+    exports2.valid = valid3;
+    function valid3(version, options) {
+      var v = parse2(version, options);
+      return v ? v.version : null;
+    }
+    exports2.clean = clean3;
+    function clean3(version, options) {
+      var s = parse2(version.trim().replace(/^[=v]+/, ""), options);
+      return s ? s.version : null;
+    }
+    exports2.SemVer = SemVer;
+    function SemVer(version, options) {
+      if (!options || typeof options !== "object") {
+        options = {
+          loose: !!options,
+          includePrerelease: false
+        };
+      }
+      if (version instanceof SemVer) {
+        if (version.loose === options.loose) {
+          return version;
+        } else {
+          version = version.version;
+        }
+      } else if (typeof version !== "string") {
+        throw new TypeError("Invalid Version: " + version);
+      }
+      if (version.length > MAX_LENGTH) {
+        throw new TypeError("version is longer than " + MAX_LENGTH + " characters");
+      }
+      if (!(this instanceof SemVer)) {
+        return new SemVer(version, options);
+      }
+      debug4("SemVer", version, options);
+      this.options = options;
+      this.loose = !!options.loose;
+      var m = version.trim().match(options.loose ? safeRe[t.LOOSE] : safeRe[t.FULL]);
+      if (!m) {
+        throw new TypeError("Invalid Version: " + version);
+      }
+      this.raw = version;
+      this.major = +m[1];
+      this.minor = +m[2];
+      this.patch = +m[3];
+      if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
+        throw new TypeError("Invalid major version");
+      }
+      if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
+        throw new TypeError("Invalid minor version");
+      }
+      if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
+        throw new TypeError("Invalid patch version");
+      }
+      if (!m[4]) {
+        this.prerelease = [];
+      } else {
+        this.prerelease = m[4].split(".").map(function(id) {
+          if (/^[0-9]+$/.test(id)) {
+            var num = +id;
+            if (num >= 0 && num < MAX_SAFE_INTEGER) {
+              return num;
+            }
+          }
+          return id;
+        });
+      }
+      this.build = m[5] ? m[5].split(".") : [];
+      this.format();
+    }
+    SemVer.prototype.format = function() {
+      this.version = this.major + "." + this.minor + "." + this.patch;
+      if (this.prerelease.length) {
+        this.version += "-" + this.prerelease.join(".");
+      }
+      return this.version;
+    };
+    SemVer.prototype.toString = function() {
+      return this.version;
+    };
+    SemVer.prototype.compare = function(other) {
+      debug4("SemVer.compare", this.version, this.options, other);
+      if (!(other instanceof SemVer)) {
+        other = new SemVer(other, this.options);
+      }
+      return this.compareMain(other) || this.comparePre(other);
+    };
+    SemVer.prototype.compareMain = function(other) {
+      if (!(other instanceof SemVer)) {
+        other = new SemVer(other, this.options);
+      }
+      return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);
+    };
+    SemVer.prototype.comparePre = function(other) {
+      if (!(other instanceof SemVer)) {
+        other = new SemVer(other, this.options);
+      }
+      if (this.prerelease.length && !other.prerelease.length) {
+        return -1;
+      } else if (!this.prerelease.length && other.prerelease.length) {
+        return 1;
+      } else if (!this.prerelease.length && !other.prerelease.length) {
+        return 0;
+      }
+      var i2 = 0;
+      do {
+        var a = this.prerelease[i2];
+        var b = other.prerelease[i2];
+        debug4("prerelease compare", i2, a, b);
+        if (a === void 0 && b === void 0) {
+          return 0;
+        } else if (b === void 0) {
+          return 1;
+        } else if (a === void 0) {
+          return -1;
+        } else if (a === b) {
+          continue;
+        } else {
+          return compareIdentifiers(a, b);
+        }
+      } while (++i2);
+    };
+    SemVer.prototype.compareBuild = function(other) {
+      if (!(other instanceof SemVer)) {
+        other = new SemVer(other, this.options);
+      }
+      var i2 = 0;
+      do {
+        var a = this.build[i2];
+        var b = other.build[i2];
+        debug4("prerelease compare", i2, a, b);
+        if (a === void 0 && b === void 0) {
+          return 0;
+        } else if (b === void 0) {
+          return 1;
+        } else if (a === void 0) {
+          return -1;
+        } else if (a === b) {
+          continue;
+        } else {
+          return compareIdentifiers(a, b);
+        }
+      } while (++i2);
+    };
+    SemVer.prototype.inc = function(release, identifier) {
+      switch (release) {
+        case "premajor":
+          this.prerelease.length = 0;
+          this.patch = 0;
+          this.minor = 0;
+          this.major++;
+          this.inc("pre", identifier);
+          break;
+        case "preminor":
+          this.prerelease.length = 0;
+          this.patch = 0;
+          this.minor++;
+          this.inc("pre", identifier);
+          break;
+        case "prepatch":
+          this.prerelease.length = 0;
+          this.inc("patch", identifier);
+          this.inc("pre", identifier);
+          break;
+        // If the input is a non-prerelease version, this acts the same as
+        // prepatch.
+        case "prerelease":
+          if (this.prerelease.length === 0) {
+            this.inc("patch", identifier);
+          }
+          this.inc("pre", identifier);
+          break;
+        case "major":
+          if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
+            this.major++;
+          }
+          this.minor = 0;
+          this.patch = 0;
+          this.prerelease = [];
+          break;
+        case "minor":
+          if (this.patch !== 0 || this.prerelease.length === 0) {
+            this.minor++;
+          }
+          this.patch = 0;
+          this.prerelease = [];
+          break;
+        case "patch":
+          if (this.prerelease.length === 0) {
+            this.patch++;
+          }
+          this.prerelease = [];
+          break;
+        // This probably shouldn't be used publicly.
+        // 1.0.0 "pre" would become 1.0.0-0 which is the wrong direction.
+        case "pre":
+          if (this.prerelease.length === 0) {
+            this.prerelease = [0];
+          } else {
+            var i2 = this.prerelease.length;
+            while (--i2 >= 0) {
+              if (typeof this.prerelease[i2] === "number") {
+                this.prerelease[i2]++;
+                i2 = -2;
+              }
+            }
+            if (i2 === -1) {
+              this.prerelease.push(0);
+            }
+          }
+          if (identifier) {
+            if (this.prerelease[0] === identifier) {
+              if (isNaN(this.prerelease[1])) {
+                this.prerelease = [identifier, 0];
+              }
+            } else {
+              this.prerelease = [identifier, 0];
+            }
+          }
+          break;
+        default:
+          throw new Error("invalid increment argument: " + release);
       }
+      this.format();
+      this.raw = this.version;
+      return this;
     };
-    endpoints_default = Endpoints;
-  }
-});
-
-// node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js
-function endpointsToMethods(octokit) {
-  const newMethods = {};
-  for (const scope of endpointMethodsMap.keys()) {
-    newMethods[scope] = new Proxy({ octokit, scope, cache: {} }, handler);
-  }
-  return newMethods;
-}
-function decorate(octokit, scope, methodName, defaults, decorations) {
-  const requestWithDefaults = octokit.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
+    exports2.inc = inc;
+    function inc(version, release, loose, identifier) {
+      if (typeof loose === "string") {
+        identifier = loose;
+        loose = void 0;
+      }
+      try {
+        return new SemVer(version, loose).inc(release, identifier).version;
+      } catch (er) {
+        return null;
+      }
+    }
+    exports2.diff = diff;
+    function diff(version1, version2) {
+      if (eq(version1, version2)) {
+        return null;
+      } else {
+        var v1 = parse2(version1);
+        var v2 = parse2(version2);
+        var prefix = "";
+        if (v1.prerelease.length || v2.prerelease.length) {
+          prefix = "pre";
+          var defaultResult = "prerelease";
+        }
+        for (var key in v1) {
+          if (key === "major" || key === "minor" || key === "patch") {
+            if (v1[key] !== v2[key]) {
+              return prefix + key;
+            }
+          }
+        }
+        return defaultResult;
+      }
+    }
+    exports2.compareIdentifiers = compareIdentifiers;
+    var numeric = /^[0-9]+$/;
+    function compareIdentifiers(a, b) {
+      var anum = numeric.test(a);
+      var bnum = numeric.test(b);
+      if (anum && bnum) {
+        a = +a;
+        b = +b;
+      }
+      return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;
+    }
+    exports2.rcompareIdentifiers = rcompareIdentifiers;
+    function rcompareIdentifiers(a, b) {
+      return compareIdentifiers(b, a);
+    }
+    exports2.major = major;
+    function major(a, loose) {
+      return new SemVer(a, loose).major;
+    }
+    exports2.minor = minor;
+    function minor(a, loose) {
+      return new SemVer(a, loose).minor;
+    }
+    exports2.patch = patch;
+    function patch(a, loose) {
+      return new SemVer(a, loose).patch;
+    }
+    exports2.compare = compare2;
+    function compare2(a, b, loose) {
+      return new SemVer(a, loose).compare(new SemVer(b, loose));
+    }
+    exports2.compareLoose = compareLoose;
+    function compareLoose(a, b) {
+      return compare2(a, b, true);
+    }
+    exports2.compareBuild = compareBuild;
+    function compareBuild(a, b, loose) {
+      var versionA = new SemVer(a, loose);
+      var versionB = new SemVer(b, loose);
+      return versionA.compare(versionB) || versionA.compareBuild(versionB);
+    }
+    exports2.rcompare = rcompare;
+    function rcompare(a, b, loose) {
+      return compare2(b, a, loose);
+    }
+    exports2.sort = sort;
+    function sort(list, loose) {
+      return list.sort(function(a, b) {
+        return exports2.compareBuild(a, b, loose);
       });
-      return requestWithDefaults(options);
     }
-    if (decorations.renamed) {
-      const [newScope, newMethodName] = decorations.renamed;
-      octokit.log.warn(
-        `octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`
-      );
+    exports2.rsort = rsort;
+    function rsort(list, loose) {
+      return list.sort(function(a, b) {
+        return exports2.compareBuild(b, a, loose);
+      });
     }
-    if (decorations.deprecated) {
-      octokit.log.warn(decorations.deprecated);
+    exports2.gt = gt;
+    function gt(a, b, loose) {
+      return compare2(a, b, loose) > 0;
     }
-    if (decorations.renamedParameters) {
-      const options2 = requestWithDefaults.endpoint.merge(...args);
-      for (const [name, alias] of Object.entries(
-        decorations.renamedParameters
-      )) {
-        if (name in options2) {
-          octokit.log.warn(
-            `"${name}" parameter is deprecated for "octokit.${scope}.${methodName}()". Use "${alias}" instead`
-          );
-          if (!(alias in options2)) {
-            options2[alias] = options2[name];
-          }
-          delete options2[name];
-        }
+    exports2.lt = lt;
+    function lt(a, b, loose) {
+      return compare2(a, b, loose) < 0;
+    }
+    exports2.eq = eq;
+    function eq(a, b, loose) {
+      return compare2(a, b, loose) === 0;
+    }
+    exports2.neq = neq;
+    function neq(a, b, loose) {
+      return compare2(a, b, loose) !== 0;
+    }
+    exports2.gte = gte6;
+    function gte6(a, b, loose) {
+      return compare2(a, b, loose) >= 0;
+    }
+    exports2.lte = lte;
+    function lte(a, b, loose) {
+      return compare2(a, b, loose) <= 0;
+    }
+    exports2.cmp = cmp;
+    function cmp(a, op, b, loose) {
+      switch (op) {
+        case "===":
+          if (typeof a === "object")
+            a = a.version;
+          if (typeof b === "object")
+            b = b.version;
+          return a === b;
+        case "!==":
+          if (typeof a === "object")
+            a = a.version;
+          if (typeof b === "object")
+            b = b.version;
+          return a !== b;
+        case "":
+        case "=":
+        case "==":
+          return eq(a, b, loose);
+        case "!=":
+          return neq(a, b, loose);
+        case ">":
+          return gt(a, b, loose);
+        case ">=":
+          return gte6(a, b, loose);
+        case "<":
+          return lt(a, b, loose);
+        case "<=":
+          return lte(a, b, loose);
+        default:
+          throw new TypeError("Invalid operator: " + op);
       }
-      return requestWithDefaults(options2);
     }
-    return requestWithDefaults(...args);
-  }
-  return Object.assign(withDecorations, requestWithDefaults);
-}
-var endpointMethodsMap, handler;
-var init_endpoints_to_methods = __esm({
-  "node_modules/@actions/github/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());
+    exports2.Comparator = Comparator;
+    function Comparator(comp, options) {
+      if (!options || typeof options !== "object") {
+        options = {
+          loose: !!options,
+          includePrerelease: false
+        };
+      }
+      if (comp instanceof Comparator) {
+        if (comp.loose === !!options.loose) {
+          return comp;
+        } else {
+          comp = comp.value;
         }
-        endpointMethodsMap.get(scope).set(methodName, {
-          scope,
-          methodName,
-          endpointDefaults,
-          decorations
-        });
       }
+      if (!(this instanceof Comparator)) {
+        return new Comparator(comp, options);
+      }
+      comp = comp.trim().split(/\s+/).join(" ");
+      debug4("comparator", comp, options);
+      this.options = options;
+      this.loose = !!options.loose;
+      this.parse(comp);
+      if (this.semver === ANY) {
+        this.value = "";
+      } else {
+        this.value = this.operator + this.semver.version;
+      }
+      debug4("comp", this);
     }
-    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];
+    var ANY = {};
+    Comparator.prototype.parse = function(comp) {
+      var r = this.options.loose ? safeRe[t.COMPARATORLOOSE] : safeRe[t.COMPARATOR];
+      var m = comp.match(r);
+      if (!m) {
+        throw new TypeError("Invalid comparator: " + comp);
+      }
+      this.operator = m[1] !== void 0 ? m[1] : "";
+      if (this.operator === "=") {
+        this.operator = "";
+      }
+      if (!m[2]) {
+        this.semver = ANY;
+      } else {
+        this.semver = new SemVer(m[2], this.options.loose);
+      }
+    };
+    Comparator.prototype.toString = function() {
+      return this.value;
+    };
+    Comparator.prototype.test = function(version) {
+      debug4("Comparator.test", version, this.options.loose);
+      if (this.semver === ANY || version === ANY) {
         return true;
-      },
-      ownKeys({ scope }) {
-        return [...endpointMethodsMap.get(scope).keys()];
-      },
-      set(target, methodName, value) {
-        return target.cache[methodName] = value;
-      },
-      get({ octokit, scope, cache }, methodName) {
-        if (cache[methodName]) {
-          return cache[methodName];
+      }
+      if (typeof version === "string") {
+        try {
+          version = new SemVer(version, this.options);
+        } catch (er) {
+          return false;
         }
-        const method = endpointMethodsMap.get(scope).get(methodName);
-        if (!method) {
-          return void 0;
+      }
+      return cmp(version, this.operator, this.semver, this.options);
+    };
+    Comparator.prototype.intersects = function(comp, options) {
+      if (!(comp instanceof Comparator)) {
+        throw new TypeError("a Comparator is required");
+      }
+      if (!options || typeof options !== "object") {
+        options = {
+          loose: !!options,
+          includePrerelease: false
+        };
+      }
+      var rangeTmp;
+      if (this.operator === "") {
+        if (this.value === "") {
+          return true;
         }
-        const { endpointDefaults, decorations } = method;
-        if (decorations) {
-          cache[methodName] = decorate(
-            octokit,
-            scope,
-            methodName,
-            endpointDefaults,
-            decorations
-          );
+        rangeTmp = new Range2(comp.value, options);
+        return satisfies2(this.value, rangeTmp, options);
+      } else if (comp.operator === "") {
+        if (comp.value === "") {
+          return true;
+        }
+        rangeTmp = new Range2(this.value, options);
+        return satisfies2(comp.semver, rangeTmp, options);
+      }
+      var sameDirectionIncreasing = (this.operator === ">=" || this.operator === ">") && (comp.operator === ">=" || comp.operator === ">");
+      var sameDirectionDecreasing = (this.operator === "<=" || this.operator === "<") && (comp.operator === "<=" || comp.operator === "<");
+      var sameSemVer = this.semver.version === comp.semver.version;
+      var differentDirectionsInclusive = (this.operator === ">=" || this.operator === "<=") && (comp.operator === ">=" || comp.operator === "<=");
+      var oppositeDirectionsLessThan = cmp(this.semver, "<", comp.semver, options) && ((this.operator === ">=" || this.operator === ">") && (comp.operator === "<=" || comp.operator === "<"));
+      var oppositeDirectionsGreaterThan = cmp(this.semver, ">", comp.semver, options) && ((this.operator === "<=" || this.operator === "<") && (comp.operator === ">=" || comp.operator === ">"));
+      return sameDirectionIncreasing || sameDirectionDecreasing || sameSemVer && differentDirectionsInclusive || oppositeDirectionsLessThan || oppositeDirectionsGreaterThan;
+    };
+    exports2.Range = Range2;
+    function Range2(range, options) {
+      if (!options || typeof options !== "object") {
+        options = {
+          loose: !!options,
+          includePrerelease: false
+        };
+      }
+      if (range instanceof Range2) {
+        if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
+          return range;
+        } else {
+          return new Range2(range.raw, options);
+        }
+      }
+      if (range instanceof Comparator) {
+        return new Range2(range.value, options);
+      }
+      if (!(this instanceof Range2)) {
+        return new Range2(range, options);
+      }
+      this.options = options;
+      this.loose = !!options.loose;
+      this.includePrerelease = !!options.includePrerelease;
+      this.raw = range.trim().split(/\s+/).join(" ");
+      this.set = this.raw.split("||").map(function(range2) {
+        return this.parseRange(range2.trim());
+      }, this).filter(function(c) {
+        return c.length;
+      });
+      if (!this.set.length) {
+        throw new TypeError("Invalid SemVer Range: " + this.raw);
+      }
+      this.format();
+    }
+    Range2.prototype.format = function() {
+      this.range = this.set.map(function(comps) {
+        return comps.join(" ").trim();
+      }).join("||").trim();
+      return this.range;
+    };
+    Range2.prototype.toString = function() {
+      return this.range;
+    };
+    Range2.prototype.parseRange = function(range) {
+      var loose = this.options.loose;
+      var hr = loose ? safeRe[t.HYPHENRANGELOOSE] : safeRe[t.HYPHENRANGE];
+      range = range.replace(hr, hyphenReplace);
+      debug4("hyphen replace", range);
+      range = range.replace(safeRe[t.COMPARATORTRIM], comparatorTrimReplace);
+      debug4("comparator trim", range, safeRe[t.COMPARATORTRIM]);
+      range = range.replace(safeRe[t.TILDETRIM], tildeTrimReplace);
+      range = range.replace(safeRe[t.CARETTRIM], caretTrimReplace);
+      range = range.split(/\s+/).join(" ");
+      var compRe = loose ? safeRe[t.COMPARATORLOOSE] : safeRe[t.COMPARATOR];
+      var set2 = range.split(" ").map(function(comp) {
+        return parseComparator(comp, this.options);
+      }, this).join(" ").split(/\s+/);
+      if (this.options.loose) {
+        set2 = set2.filter(function(comp) {
+          return !!comp.match(compRe);
+        });
+      }
+      set2 = set2.map(function(comp) {
+        return new Comparator(comp, this.options);
+      }, this);
+      return set2;
+    };
+    Range2.prototype.intersects = function(range, options) {
+      if (!(range instanceof Range2)) {
+        throw new TypeError("a Range is required");
+      }
+      return this.set.some(function(thisComparators) {
+        return isSatisfiable(thisComparators, options) && range.set.some(function(rangeComparators) {
+          return isSatisfiable(rangeComparators, options) && thisComparators.every(function(thisComparator) {
+            return rangeComparators.every(function(rangeComparator) {
+              return thisComparator.intersects(rangeComparator, options);
+            });
+          });
+        });
+      });
+    };
+    function isSatisfiable(comparators, options) {
+      var result = true;
+      var remainingComparators = comparators.slice();
+      var testComparator = remainingComparators.pop();
+      while (result && remainingComparators.length) {
+        result = remainingComparators.every(function(otherComparator) {
+          return testComparator.intersects(otherComparator, options);
+        });
+        testComparator = remainingComparators.pop();
+      }
+      return result;
+    }
+    exports2.toComparators = toComparators;
+    function toComparators(range, options) {
+      return new Range2(range, options).set.map(function(comp) {
+        return comp.map(function(c) {
+          return c.value;
+        }).join(" ").trim().split(" ");
+      });
+    }
+    function parseComparator(comp, options) {
+      debug4("comp", comp, options);
+      comp = replaceCarets(comp, options);
+      debug4("caret", comp);
+      comp = replaceTildes(comp, options);
+      debug4("tildes", comp);
+      comp = replaceXRanges(comp, options);
+      debug4("xrange", comp);
+      comp = replaceStars(comp, options);
+      debug4("stars", comp);
+      return comp;
+    }
+    function isX(id) {
+      return !id || id.toLowerCase() === "x" || id === "*";
+    }
+    function replaceTildes(comp, options) {
+      return comp.trim().split(/\s+/).map(function(comp2) {
+        return replaceTilde(comp2, options);
+      }).join(" ");
+    }
+    function replaceTilde(comp, options) {
+      var r = options.loose ? safeRe[t.TILDELOOSE] : safeRe[t.TILDE];
+      return comp.replace(r, function(_2, M, m, p, pr) {
+        debug4("tilde", comp, _2, M, m, p, pr);
+        var ret;
+        if (isX(M)) {
+          ret = "";
+        } else if (isX(m)) {
+          ret = ">=" + M + ".0.0 <" + (+M + 1) + ".0.0";
+        } else if (isX(p)) {
+          ret = ">=" + M + "." + m + ".0 <" + M + "." + (+m + 1) + ".0";
+        } else if (pr) {
+          debug4("replaceTilde pr", pr);
+          ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + M + "." + (+m + 1) + ".0";
         } else {
-          cache[methodName] = octokit.request.defaults(endpointDefaults);
+          ret = ">=" + M + "." + m + "." + p + " <" + M + "." + (+m + 1) + ".0";
         }
-        return cache[methodName];
-      }
-    };
-  }
-});
-
-// node_modules/@actions/github/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(octokit) {
-  const api = endpointsToMethods(octokit);
-  return {
-    rest: api
-  };
-}
-function legacyRestEndpointMethods(octokit) {
-  const api = endpointsToMethods(octokit);
-  return {
-    ...api,
-    rest: api
-  };
-}
-var init_dist_src3 = __esm({
-  "node_modules/@actions/github/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/@actions/github/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(octokit, route, parameters) {
-  const options = typeof route === "function" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters);
-  const requestMethod = typeof route === "function" ? route : octokit.request;
-  const method = options.method;
-  const headers = options.headers;
-  let url = options.url;
-  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();
+        debug4("tilde return", ret);
+        return ret;
+      });
+    }
+    function replaceCarets(comp, options) {
+      return comp.trim().split(/\s+/).map(function(comp2) {
+        return replaceCaret(comp2, options);
+      }).join(" ");
+    }
+    function replaceCaret(comp, options) {
+      debug4("caret", comp, options);
+      var r = options.loose ? safeRe[t.CARETLOOSE] : safeRe[t.CARET];
+      return comp.replace(r, function(_2, M, m, p, pr) {
+        debug4("caret", comp, _2, M, m, p, pr);
+        var ret;
+        if (isX(M)) {
+          ret = "";
+        } else if (isX(m)) {
+          ret = ">=" + M + ".0.0 <" + (+M + 1) + ".0.0";
+        } else if (isX(p)) {
+          if (M === "0") {
+            ret = ">=" + M + "." + m + ".0 <" + M + "." + (+m + 1) + ".0";
+          } else {
+            ret = ">=" + M + "." + m + ".0 <" + (+M + 1) + ".0.0";
+          }
+        } else if (pr) {
+          debug4("replaceCaret pr", pr);
+          if (M === "0") {
+            if (m === "0") {
+              ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + M + "." + m + "." + (+p + 1);
+            } else {
+              ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + M + "." + (+m + 1) + ".0";
             }
+          } else {
+            ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + (+M + 1) + ".0.0";
           }
-          return { value: normalizedResponse };
-        } catch (error3) {
-          if (error3.status !== 409) throw error3;
-          url = "";
-          return {
-            value: {
-              status: 200,
-              headers: {},
-              data: []
+        } else {
+          debug4("no pr");
+          if (M === "0") {
+            if (m === "0") {
+              ret = ">=" + M + "." + m + "." + p + " <" + M + "." + m + "." + (+p + 1);
+            } else {
+              ret = ">=" + M + "." + m + "." + p + " <" + M + "." + (+m + 1) + ".0";
             }
-          };
+          } else {
+            ret = ">=" + M + "." + m + "." + p + " <" + (+M + 1) + ".0.0";
+          }
         }
-      }
-    })
-  };
-}
-function paginate(octokit, route, parameters, mapFn) {
-  if (typeof parameters === "function") {
-    mapFn = parameters;
-    parameters = void 0;
-  }
-  return gather(
-    octokit,
-    [],
-    iterator(octokit, route, parameters)[Symbol.asyncIterator](),
-    mapFn
-  );
-}
-function gather(octokit, results, iterator2, mapFn) {
-  return iterator2.next().then((result) => {
-    if (result.done) {
-      return results;
-    }
-    let earlyExit = false;
-    function done() {
-      earlyExit = true;
+        debug4("caret return", ret);
+        return ret;
+      });
     }
-    results = results.concat(
-      mapFn ? mapFn(result.value, done) : result.value.data
-    );
-    if (earlyExit) {
-      return results;
+    function replaceXRanges(comp, options) {
+      debug4("replaceXRanges", comp, options);
+      return comp.split(/\s+/).map(function(comp2) {
+        return replaceXRange(comp2, options);
+      }).join(" ");
     }
-    return gather(octokit, results, iterator2, mapFn);
-  });
-}
-function isPaginatingEndpoint(arg) {
-  if (typeof arg === "string") {
-    return paginatingEndpoints.includes(arg);
-  } else {
-    return false;
-  }
-}
-function paginateRest(octokit) {
-  return {
-    paginate: Object.assign(paginate.bind(null, octokit), {
-      iterator: iterator.bind(null, octokit)
-    })
-  };
-}
-var VERSION6, composePaginateRest, paginatingEndpoints;
-var init_dist_bundle5 = __esm({
-  "node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-bundle/index.js"() {
-    VERSION6 = "0.0.0-development";
-    composePaginateRest = Object.assign(paginate, {
-      iterator
-    });
-    paginatingEndpoints = [
-      "GET /advisories",
-      "GET /app/hook/deliveries",
-      "GET /app/installation-requests",
-      "GET /app/installations",
-      "GET /assignments/{assignment_id}/accepted_assignments",
-      "GET /classrooms",
-      "GET /classrooms/{classroom_id}/assignments",
-      "GET /enterprises/{enterprise}/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",
-      "GET /gists/starred",
-      "GET /gists/{gist_id}/comments",
-      "GET /gists/{gist_id}/commits",
-      "GET /gists/{gist_id}/forks",
-      "GET /installation/repositories",
-      "GET /issues",
-      "GET /licenses",
-      "GET /marketplace_listing/plans",
-      "GET /marketplace_listing/plans/{plan_id}/accounts",
-      "GET /marketplace_listing/stubbed/plans",
-      "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts",
-      "GET /networks/{owner}/{repo}/events",
-      "GET /notifications",
-      "GET /organizations",
-      "GET /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}/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}/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}/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}/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",
-      "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions",
-      "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions",
-      "GET /orgs/{org}/teams/{team_slug}/invitations",
-      "GET /orgs/{org}/teams/{team_slug}/members",
-      "GET /orgs/{org}/teams/{team_slug}/projects",
-      "GET /orgs/{org}/teams/{team_slug}/repos",
-      "GET /orgs/{org}/teams/{team_slug}/teams",
-      "GET /projects/{project_id}/collaborators",
-      "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",
-      "GET /repos/{owner}/{repo}/code-scanning/alerts",
-      "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances",
-      "GET /repos/{owner}/{repo}/code-scanning/analyses",
-      "GET /repos/{owner}/{repo}/codespaces",
-      "GET /repos/{owner}/{repo}/codespaces/devcontainers",
-      "GET /repos/{owner}/{repo}/codespaces/secrets",
-      "GET /repos/{owner}/{repo}/collaborators",
-      "GET /repos/{owner}/{repo}/comments",
-      "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions",
-      "GET /repos/{owner}/{repo}/commits",
-      "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments",
-      "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls",
-      "GET /repos/{owner}/{repo}/commits/{ref}/check-runs",
-      "GET /repos/{owner}/{repo}/commits/{ref}/check-suites",
-      "GET /repos/{owner}/{repo}/commits/{ref}/status",
-      "GET /repos/{owner}/{repo}/commits/{ref}/statuses",
-      "GET /repos/{owner}/{repo}/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}/hooks",
-      "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries",
-      "GET /repos/{owner}/{repo}/invitations",
-      "GET /repos/{owner}/{repo}/issues",
-      "GET /repos/{owner}/{repo}/issues/comments",
-      "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions",
-      "GET /repos/{owner}/{repo}/issues/events",
-      "GET /repos/{owner}/{repo}/issues/{issue_number}/comments",
-      "GET /repos/{owner}/{repo}/issues/{issue_number}/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",
-      "GET /repos/{owner}/{repo}/milestones",
-      "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels",
-      "GET /repos/{owner}/{repo}/notifications",
-      "GET /repos/{owner}/{repo}/pages/builds",
-      "GET /repos/{owner}/{repo}/projects",
-      "GET /repos/{owner}/{repo}/pulls",
-      "GET /repos/{owner}/{repo}/pulls/comments",
-      "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions",
-      "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments",
-      "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits",
-      "GET /repos/{owner}/{repo}/pulls/{pull_number}/files",
-      "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews",
-      "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments",
-      "GET /repos/{owner}/{repo}/releases",
-      "GET /repos/{owner}/{repo}/releases/{release_id}/assets",
-      "GET /repos/{owner}/{repo}/releases/{release_id}/reactions",
-      "GET /repos/{owner}/{repo}/rules/branches/{branch}",
-      "GET /repos/{owner}/{repo}/rulesets",
-      "GET /repos/{owner}/{repo}/rulesets/rule-suites",
-      "GET /repos/{owner}/{repo}/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 /search/code",
-      "GET /search/commits",
-      "GET /search/issues",
-      "GET /search/labels",
-      "GET /search/repositories",
-      "GET /search/topics",
-      "GET /search/users",
-      "GET /teams/{team_id}/discussions",
-      "GET /teams/{team_id}/discussions/{discussion_number}/comments",
-      "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions",
-      "GET /teams/{team_id}/discussions/{discussion_number}/reactions",
-      "GET /teams/{team_id}/invitations",
-      "GET /teams/{team_id}/members",
-      "GET /teams/{team_id}/projects",
-      "GET /teams/{team_id}/repos",
-      "GET /teams/{team_id}/teams",
-      "GET /user/blocks",
-      "GET /user/codespaces",
-      "GET /user/codespaces/secrets",
-      "GET /user/emails",
-      "GET /user/followers",
-      "GET /user/following",
-      "GET /user/gpg_keys",
-      "GET /user/installations",
-      "GET /user/installations/{installation_id}/repositories",
-      "GET /user/issues",
-      "GET /user/keys",
-      "GET /user/marketplace_purchases",
-      "GET /user/marketplace_purchases/stubbed",
-      "GET /user/memberships/orgs",
-      "GET /user/migrations",
-      "GET /user/migrations/{migration_id}/repositories",
-      "GET /user/orgs",
-      "GET /user/packages",
-      "GET /user/packages/{package_type}/{package_name}/versions",
-      "GET /user/public_emails",
-      "GET /user/repos",
-      "GET /user/repository_invitations",
-      "GET /user/social_accounts",
-      "GET /user/ssh_signing_keys",
-      "GET /user/starred",
-      "GET /user/subscriptions",
-      "GET /user/teams",
-      "GET /users",
-      "GET /users/{username}/attestations/{subject_digest}",
-      "GET /users/{username}/events",
-      "GET /users/{username}/events/orgs/{org}",
-      "GET /users/{username}/events/public",
-      "GET /users/{username}/followers",
-      "GET /users/{username}/following",
-      "GET /users/{username}/gists",
-      "GET /users/{username}/gpg_keys",
-      "GET /users/{username}/keys",
-      "GET /users/{username}/orgs",
-      "GET /users/{username}/packages",
-      "GET /users/{username}/projects",
-      "GET /users/{username}/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"
-    ];
-    paginateRest.VERSION = VERSION6;
-  }
-});
-
-// node_modules/@actions/github/lib/utils.js
-var require_utils5 = __commonJS({
-  "node_modules/@actions/github/lib/utils.js"(exports2) {
-    "use strict";
-    var __createBinding2 = 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];
-        } };
+    function replaceXRange(comp, options) {
+      comp = comp.trim();
+      var r = options.loose ? safeRe[t.XRANGELOOSE] : safeRe[t.XRANGE];
+      return comp.replace(r, function(ret, gtlt, M, m, p, pr) {
+        debug4("xRange", comp, ret, gtlt, M, m, p, pr);
+        var xM = isX(M);
+        var xm = xM || isX(m);
+        var xp = xm || isX(p);
+        var anyX = xp;
+        if (gtlt === "=" && anyX) {
+          gtlt = "";
+        }
+        pr = options.includePrerelease ? "-0" : "";
+        if (xM) {
+          if (gtlt === ">" || gtlt === "<") {
+            ret = "<0.0.0-0";
+          } else {
+            ret = "*";
+          }
+        } else if (gtlt && anyX) {
+          if (xm) {
+            m = 0;
+          }
+          p = 0;
+          if (gtlt === ">") {
+            gtlt = ">=";
+            if (xm) {
+              M = +M + 1;
+              m = 0;
+              p = 0;
+            } else {
+              m = +m + 1;
+              p = 0;
+            }
+          } else if (gtlt === "<=") {
+            gtlt = "<";
+            if (xm) {
+              M = +M + 1;
+            } else {
+              m = +m + 1;
+            }
+          }
+          ret = gtlt + M + "." + m + "." + p + pr;
+        } else if (xm) {
+          ret = ">=" + M + ".0.0" + pr + " <" + (+M + 1) + ".0.0" + pr;
+        } else if (xp) {
+          ret = ">=" + M + "." + m + ".0" + pr + " <" + M + "." + (+m + 1) + ".0" + pr;
+        }
+        debug4("xRange return", ret);
+        return ret;
+      });
+    }
+    function replaceStars(comp, options) {
+      debug4("replaceStars", comp, options);
+      return comp.trim().replace(safeRe[t.STAR], "");
+    }
+    function hyphenReplace($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr, tb) {
+      if (isX(fM)) {
+        from = "";
+      } else if (isX(fm)) {
+        from = ">=" + fM + ".0.0";
+      } else if (isX(fp)) {
+        from = ">=" + fM + "." + fm + ".0";
+      } else {
+        from = ">=" + from;
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = 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 ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+      if (isX(tM)) {
+        to = "";
+      } else if (isX(tm)) {
+        to = "<" + (+tM + 1) + ".0.0";
+      } else if (isX(tp)) {
+        to = "<" + tM + "." + (+tm + 1) + ".0";
+      } else if (tpr) {
+        to = "<=" + tM + "." + tm + "." + tp + "-" + tpr;
+      } else {
+        to = "<=" + to;
+      }
+      return (from + " " + to).trim();
+    }
+    Range2.prototype.test = function(version) {
+      if (!version) {
+        return false;
+      }
+      if (typeof version === "string") {
+        try {
+          version = new SemVer(version, this.options);
+        } catch (er) {
+          return false;
+        }
+      }
+      for (var i2 = 0; i2 < this.set.length; i2++) {
+        if (testSet(this.set[i2], version, this.options)) {
+          return true;
         }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.GitHub = exports2.defaults = exports2.context = void 0;
-    exports2.getOctokitOptions = getOctokitOptions2;
-    var Context = __importStar2(require_context());
-    var Utils = __importStar2(require_utils4());
-    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),
-        fetch: Utils.getProxyFetch(baseUrl)
       }
+      return false;
     };
-    exports2.GitHub = core_1.Octokit.plugin(plugin_rest_endpoint_methods_1.restEndpointMethods, plugin_paginate_rest_1.paginateRest).defaults(exports2.defaults);
-    function getOctokitOptions2(token, options) {
-      const opts = Object.assign({}, options || {});
-      const auth2 = Utils.getAuthString(token, opts);
-      if (auth2) {
-        opts.auth = auth2;
+    function testSet(set2, version, options) {
+      for (var i2 = 0; i2 < set2.length; i2++) {
+        if (!set2[i2].test(version)) {
+          return false;
+        }
       }
-      return opts;
+      if (version.prerelease.length && !options.includePrerelease) {
+        for (i2 = 0; i2 < set2.length; i2++) {
+          debug4(set2[i2].semver);
+          if (set2[i2].semver === ANY) {
+            continue;
+          }
+          if (set2[i2].semver.prerelease.length > 0) {
+            var allowed = set2[i2].semver;
+            if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) {
+              return true;
+            }
+          }
+        }
+        return false;
+      }
+      return true;
     }
-  }
-});
-
-// node_modules/@actions/github/lib/github.js
-var require_github = __commonJS({
-  "node_modules/@actions/github/lib/github.js"(exports2) {
-    "use strict";
-    var __createBinding2 = 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];
-        } };
+    exports2.satisfies = satisfies2;
+    function satisfies2(version, range, options) {
+      try {
+        range = new Range2(range, options);
+      } catch (er) {
+        return false;
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = 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 ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+      return range.test(version);
+    }
+    exports2.maxSatisfying = maxSatisfying;
+    function maxSatisfying(versions, range, options) {
+      var max = null;
+      var maxSV = null;
+      try {
+        var rangeObj = new Range2(range, options);
+      } catch (er) {
+        return null;
+      }
+      versions.forEach(function(v) {
+        if (rangeObj.test(v)) {
+          if (!max || maxSV.compare(v) === -1) {
+            max = v;
+            maxSV = new SemVer(max, options);
+          }
         }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.context = void 0;
-    exports2.getOctokit = getOctokit;
-    var Context = __importStar2(require_context());
-    var utils_1 = require_utils5();
-    exports2.context = new Context.Context();
-    function getOctokit(token, options, ...additionalPlugins) {
-      const GitHubWithPlugins = utils_1.GitHub.plugin(...additionalPlugins);
-      return new GitHubWithPlugins((0, utils_1.getOctokitOptions)(token, options));
+      });
+      return max;
     }
-  }
-});
-
-// node_modules/semver/internal/constants.js
-var require_constants11 = __commonJS({
-  "node_modules/semver/internal/constants.js"(exports2, module2) {
-    "use strict";
-    var SEMVER_SPEC_VERSION = "2.0.0";
-    var MAX_LENGTH = 256;
-    var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */
-    9007199254740991;
-    var MAX_SAFE_COMPONENT_LENGTH = 16;
-    var MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6;
-    var RELEASE_TYPES = [
-      "major",
-      "premajor",
-      "minor",
-      "preminor",
-      "patch",
-      "prepatch",
-      "prerelease"
-    ];
-    module2.exports = {
-      MAX_LENGTH,
-      MAX_SAFE_COMPONENT_LENGTH,
-      MAX_SAFE_BUILD_LENGTH,
-      MAX_SAFE_INTEGER,
-      RELEASE_TYPES,
-      SEMVER_SPEC_VERSION,
-      FLAG_INCLUDE_PRERELEASE: 1,
-      FLAG_LOOSE: 2
-    };
-  }
-});
-
-// node_modules/semver/internal/debug.js
-var require_debug = __commonJS({
-  "node_modules/semver/internal/debug.js"(exports2, module2) {
-    "use strict";
-    var debug4 = typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error("SEMVER", ...args) : () => {
-    };
-    module2.exports = debug4;
-  }
-});
-
-// node_modules/semver/internal/re.js
-var require_re = __commonJS({
-  "node_modules/semver/internal/re.js"(exports2, module2) {
-    "use strict";
-    var {
-      MAX_SAFE_COMPONENT_LENGTH,
-      MAX_SAFE_BUILD_LENGTH,
-      MAX_LENGTH
-    } = require_constants11();
-    var debug4 = require_debug();
-    exports2 = module2.exports = {};
-    var re = exports2.re = [];
-    var safeRe = exports2.safeRe = [];
-    var src = exports2.src = [];
-    var safeSrc = exports2.safeSrc = [];
-    var t = exports2.t = {};
-    var R = 0;
-    var LETTERDASHNUMBER = "[a-zA-Z0-9-]";
-    var safeRegexReplacements = [
-      ["\\s", 1],
-      ["\\d", MAX_LENGTH],
-      [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH]
-    ];
-    var makeSafeRegex = (value) => {
-      for (const [token, max] of safeRegexReplacements) {
-        value = value.split(`${token}*`).join(`${token}{0,${max}}`).split(`${token}+`).join(`${token}{1,${max}}`);
+    exports2.minSatisfying = minSatisfying;
+    function minSatisfying(versions, range, options) {
+      var min = null;
+      var minSV = null;
+      try {
+        var rangeObj = new Range2(range, options);
+      } catch (er) {
+        return null;
       }
-      return value;
-    };
-    var createToken = (name, value, isGlobal) => {
-      const safe = makeSafeRegex(value);
-      const index = R++;
-      debug4(name, index, value);
-      t[name] = index;
-      src[index] = value;
-      safeSrc[index] = safe;
-      re[index] = new RegExp(value, isGlobal ? "g" : void 0);
-      safeRe[index] = new RegExp(safe, isGlobal ? "g" : void 0);
-    };
-    createToken("NUMERICIDENTIFIER", "0|[1-9]\\d*");
-    createToken("NUMERICIDENTIFIERLOOSE", "\\d+");
-    createToken("NONNUMERICIDENTIFIER", `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);
-    createToken("MAINVERSION", `(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})`);
-    createToken("MAINVERSIONLOOSE", `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})`);
-    createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIER]})`);
-    createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIERLOOSE]})`);
-    createToken("PRERELEASE", `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`);
-    createToken("PRERELEASELOOSE", `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`);
-    createToken("BUILDIDENTIFIER", `${LETTERDASHNUMBER}+`);
-    createToken("BUILD", `(?:\\+(${src[t.BUILDIDENTIFIER]}(?:\\.${src[t.BUILDIDENTIFIER]})*))`);
-    createToken("FULLPLAIN", `v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`);
-    createToken("FULL", `^${src[t.FULLPLAIN]}$`);
-    createToken("LOOSEPLAIN", `[v=\\s]*${src[t.MAINVERSIONLOOSE]}${src[t.PRERELEASELOOSE]}?${src[t.BUILD]}?`);
-    createToken("LOOSE", `^${src[t.LOOSEPLAIN]}$`);
-    createToken("GTLT", "((?:<|>)?=?)");
-    createToken("XRANGEIDENTIFIERLOOSE", `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);
-    createToken("XRANGEIDENTIFIER", `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`);
-    createToken("XRANGEPLAIN", `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:${src[t.PRERELEASE]})?${src[t.BUILD]}?)?)?`);
-    createToken("XRANGEPLAINLOOSE", `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:${src[t.PRERELEASELOOSE]})?${src[t.BUILD]}?)?)?`);
-    createToken("XRANGE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`);
-    createToken("XRANGELOOSE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`);
-    createToken("COERCEPLAIN", `${"(^|[^\\d])(\\d{1,"}${MAX_SAFE_COMPONENT_LENGTH}})(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`);
-    createToken("COERCE", `${src[t.COERCEPLAIN]}(?:$|[^\\d])`);
-    createToken("COERCEFULL", src[t.COERCEPLAIN] + `(?:${src[t.PRERELEASE]})?(?:${src[t.BUILD]})?(?:$|[^\\d])`);
-    createToken("COERCERTL", src[t.COERCE], true);
-    createToken("COERCERTLFULL", src[t.COERCEFULL], true);
-    createToken("LONETILDE", "(?:~>?)");
-    createToken("TILDETRIM", `(\\s*)${src[t.LONETILDE]}\\s+`, true);
-    exports2.tildeTrimReplace = "$1~";
-    createToken("TILDE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`);
-    createToken("TILDELOOSE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`);
-    createToken("LONECARET", "(?:\\^)");
-    createToken("CARETTRIM", `(\\s*)${src[t.LONECARET]}\\s+`, true);
-    exports2.caretTrimReplace = "$1^";
-    createToken("CARET", `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`);
-    createToken("CARETLOOSE", `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`);
-    createToken("COMPARATORLOOSE", `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`);
-    createToken("COMPARATOR", `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`);
-    createToken("COMPARATORTRIM", `(\\s*)${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true);
-    exports2.comparatorTrimReplace = "$1$2$3";
-    createToken("HYPHENRANGE", `^\\s*(${src[t.XRANGEPLAIN]})\\s+-\\s+(${src[t.XRANGEPLAIN]})\\s*$`);
-    createToken("HYPHENRANGELOOSE", `^\\s*(${src[t.XRANGEPLAINLOOSE]})\\s+-\\s+(${src[t.XRANGEPLAINLOOSE]})\\s*$`);
-    createToken("STAR", "(<|>)?=?\\s*\\*");
-    createToken("GTE0", "^\\s*>=\\s*0\\.0\\.0\\s*$");
-    createToken("GTE0PRE", "^\\s*>=\\s*0\\.0\\.0-0\\s*$");
-  }
-});
-
-// node_modules/semver/internal/parse-options.js
-var require_parse_options = __commonJS({
-  "node_modules/semver/internal/parse-options.js"(exports2, module2) {
-    "use strict";
-    var looseOption = Object.freeze({ loose: true });
-    var emptyOpts = Object.freeze({});
-    var parseOptions = (options) => {
-      if (!options) {
-        return emptyOpts;
+      versions.forEach(function(v) {
+        if (rangeObj.test(v)) {
+          if (!min || minSV.compare(v) === 1) {
+            min = v;
+            minSV = new SemVer(min, options);
+          }
+        }
+      });
+      return min;
+    }
+    exports2.minVersion = minVersion;
+    function minVersion(range, loose) {
+      range = new Range2(range, loose);
+      var minver = new SemVer("0.0.0");
+      if (range.test(minver)) {
+        return minver;
+      }
+      minver = new SemVer("0.0.0-0");
+      if (range.test(minver)) {
+        return minver;
+      }
+      minver = null;
+      for (var i2 = 0; i2 < range.set.length; ++i2) {
+        var comparators = range.set[i2];
+        comparators.forEach(function(comparator) {
+          var compver = new SemVer(comparator.semver.version);
+          switch (comparator.operator) {
+            case ">":
+              if (compver.prerelease.length === 0) {
+                compver.patch++;
+              } else {
+                compver.prerelease.push(0);
+              }
+              compver.raw = compver.format();
+            /* fallthrough */
+            case "":
+            case ">=":
+              if (!minver || gt(minver, compver)) {
+                minver = compver;
+              }
+              break;
+            case "<":
+            case "<=":
+              break;
+            /* istanbul ignore next */
+            default:
+              throw new Error("Unexpected operation: " + comparator.operator);
+          }
+        });
+      }
+      if (minver && range.test(minver)) {
+        return minver;
+      }
+      return null;
+    }
+    exports2.validRange = validRange;
+    function validRange(range, options) {
+      try {
+        return new Range2(range, options).range || "*";
+      } catch (er) {
+        return null;
+      }
+    }
+    exports2.ltr = ltr;
+    function ltr(version, range, options) {
+      return outside(version, range, "<", options);
+    }
+    exports2.gtr = gtr;
+    function gtr(version, range, options) {
+      return outside(version, range, ">", options);
+    }
+    exports2.outside = outside;
+    function outside(version, range, hilo, options) {
+      version = new SemVer(version, options);
+      range = new Range2(range, options);
+      var gtfn, ltefn, ltfn, comp, ecomp;
+      switch (hilo) {
+        case ">":
+          gtfn = gt;
+          ltefn = lte;
+          ltfn = lt;
+          comp = ">";
+          ecomp = ">=";
+          break;
+        case "<":
+          gtfn = lt;
+          ltefn = gte6;
+          ltfn = gt;
+          comp = "<";
+          ecomp = "<=";
+          break;
+        default:
+          throw new TypeError('Must provide a hilo val of "<" or ">"');
+      }
+      if (satisfies2(version, range, options)) {
+        return false;
+      }
+      for (var i2 = 0; i2 < range.set.length; ++i2) {
+        var comparators = range.set[i2];
+        var high = null;
+        var low = null;
+        comparators.forEach(function(comparator) {
+          if (comparator.semver === ANY) {
+            comparator = new Comparator(">=0.0.0");
+          }
+          high = high || comparator;
+          low = low || comparator;
+          if (gtfn(comparator.semver, high.semver, options)) {
+            high = comparator;
+          } else if (ltfn(comparator.semver, low.semver, options)) {
+            low = comparator;
+          }
+        });
+        if (high.operator === comp || high.operator === ecomp) {
+          return false;
+        }
+        if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) {
+          return false;
+        } else if (low.operator === ecomp && ltfn(version, low.semver)) {
+          return false;
+        }
+      }
+      return true;
+    }
+    exports2.prerelease = prerelease;
+    function prerelease(version, options) {
+      var parsed = parse2(version, options);
+      return parsed && parsed.prerelease.length ? parsed.prerelease : null;
+    }
+    exports2.intersects = intersects;
+    function intersects(r1, r2, options) {
+      r1 = new Range2(r1, options);
+      r2 = new Range2(r2, options);
+      return r1.intersects(r2);
+    }
+    exports2.coerce = coerce3;
+    function coerce3(version, options) {
+      if (version instanceof SemVer) {
+        return version;
       }
-      if (typeof options !== "object") {
-        return looseOption;
+      if (typeof version === "number") {
+        version = String(version);
       }
-      return options;
-    };
-    module2.exports = parseOptions;
+      if (typeof version !== "string") {
+        return null;
+      }
+      options = options || {};
+      var match = null;
+      if (!options.rtl) {
+        match = version.match(safeRe[t.COERCE]);
+      } else {
+        var next;
+        while ((next = safeRe[t.COERCERTL].exec(version)) && (!match || match.index + match[0].length !== version.length)) {
+          if (!match || next.index + next[0].length !== match.index + match[0].length) {
+            match = next;
+          }
+          safeRe[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length;
+        }
+        safeRe[t.COERCERTL].lastIndex = -1;
+      }
+      if (match === null) {
+        return null;
+      }
+      return parse2(match[2] + "." + (match[3] || "0") + "." + (match[4] || "0"), options);
+    }
   }
 });
 
-// node_modules/semver/internal/identifiers.js
-var require_identifiers = __commonJS({
-  "node_modules/semver/internal/identifiers.js"(exports2, module2) {
+// node_modules/@actions/cache/lib/internal/constants.js
+var require_constants12 = __commonJS({
+  "node_modules/@actions/cache/lib/internal/constants.js"(exports2) {
     "use strict";
-    var numeric = /^[0-9]+$/;
-    var compareIdentifiers = (a, b) => {
-      if (typeof a === "number" && typeof b === "number") {
-        return a === b ? 0 : a < b ? -1 : 1;
-      }
-      const anum = numeric.test(a);
-      const bnum = numeric.test(b);
-      if (anum && bnum) {
-        a = +a;
-        b = +b;
-      }
-      return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;
-    };
-    var rcompareIdentifiers = (a, b) => compareIdentifiers(b, a);
-    module2.exports = {
-      compareIdentifiers,
-      rcompareIdentifiers
-    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.CacheFileSizeLimit = exports2.ManifestFilename = exports2.TarFilename = exports2.SystemTarPathOnWindows = exports2.GnuTarPathOnWindows = exports2.SocketTimeout = exports2.DefaultRetryDelay = exports2.DefaultRetryAttempts = exports2.ArchiveToolType = exports2.CompressionMethod = exports2.CacheFilename = void 0;
+    var CacheFilename;
+    (function(CacheFilename2) {
+      CacheFilename2["Gzip"] = "cache.tgz";
+      CacheFilename2["Zstd"] = "cache.tzst";
+    })(CacheFilename || (exports2.CacheFilename = CacheFilename = {}));
+    var CompressionMethod;
+    (function(CompressionMethod2) {
+      CompressionMethod2["Gzip"] = "gzip";
+      CompressionMethod2["ZstdWithoutLong"] = "zstd-without-long";
+      CompressionMethod2["Zstd"] = "zstd";
+    })(CompressionMethod || (exports2.CompressionMethod = CompressionMethod = {}));
+    var ArchiveToolType;
+    (function(ArchiveToolType2) {
+      ArchiveToolType2["GNU"] = "gnu";
+      ArchiveToolType2["BSD"] = "bsd";
+    })(ArchiveToolType || (exports2.ArchiveToolType = ArchiveToolType = {}));
+    exports2.DefaultRetryAttempts = 2;
+    exports2.DefaultRetryDelay = 5e3;
+    exports2.SocketTimeout = 5e3;
+    exports2.GnuTarPathOnWindows = `${process.env["PROGRAMFILES"]}\\Git\\usr\\bin\\tar.exe`;
+    exports2.SystemTarPathOnWindows = `${process.env["SYSTEMDRIVE"]}\\Windows\\System32\\tar.exe`;
+    exports2.TarFilename = "cache.tar";
+    exports2.ManifestFilename = "manifest.txt";
+    exports2.CacheFileSizeLimit = 10 * Math.pow(1024, 3);
   }
 });
 
-// node_modules/semver/classes/semver.js
-var require_semver = __commonJS({
-  "node_modules/semver/classes/semver.js"(exports2, module2) {
+// node_modules/@actions/cache/lib/internal/cacheUtils.js
+var require_cacheUtils = __commonJS({
+  "node_modules/@actions/cache/lib/internal/cacheUtils.js"(exports2) {
     "use strict";
-    var debug4 = require_debug();
-    var { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants11();
-    var { safeRe: re, t } = require_re();
-    var parseOptions = require_parse_options();
-    var { compareIdentifiers } = require_identifiers();
-    var SemVer = class _SemVer {
-      constructor(version, options) {
-        options = parseOptions(options);
-        if (version instanceof _SemVer) {
-          if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) {
-            return version;
-          } else {
-            version = version.version;
-          }
-        } else if (typeof version !== "string") {
-          throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version}".`);
-        }
-        if (version.length > MAX_LENGTH) {
-          throw new TypeError(
-            `version is longer than ${MAX_LENGTH} characters`
-          );
-        }
-        debug4("SemVer", version, options);
-        this.options = options;
-        this.loose = !!options.loose;
-        this.includePrerelease = !!options.includePrerelease;
-        const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]);
-        if (!m) {
-          throw new TypeError(`Invalid Version: ${version}`);
-        }
-        this.raw = version;
-        this.major = +m[1];
-        this.minor = +m[2];
-        this.patch = +m[3];
-        if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
-          throw new TypeError("Invalid major version");
-        }
-        if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
-          throw new TypeError("Invalid minor version");
-        }
-        if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
-          throw new TypeError("Invalid patch version");
-        }
-        if (!m[4]) {
-          this.prerelease = [];
-        } else {
-          this.prerelease = m[4].split(".").map((id) => {
-            if (/^[0-9]+$/.test(id)) {
-              const num = +id;
-              if (num >= 0 && num < MAX_SAFE_INTEGER) {
-                return num;
-              }
-            }
-            return id;
-          });
-        }
-        this.build = m[5] ? m[5].split(".") : [];
-        this.format();
+    var __createBinding2 = 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];
+        } };
       }
-      format() {
-        this.version = `${this.major}.${this.minor}.${this.patch}`;
-        if (this.prerelease.length) {
-          this.version += `-${this.prerelease.join(".")}`;
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = 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 ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
         }
-        return this.version;
-      }
-      toString() {
-        return this.version;
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve3) {
+          resolve3(value);
+        });
       }
-      compare(other) {
-        debug4("SemVer.compare", this.version, this.options, other);
-        if (!(other instanceof _SemVer)) {
-          if (typeof other === "string" && other === this.version) {
-            return 0;
+      return new (P || (P = Promise))(function(resolve3, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
           }
-          other = new _SemVer(other, this.options);
-        }
-        if (other.version === this.version) {
-          return 0;
-        }
-        return this.compareMain(other) || this.comparePre(other);
-      }
-      compareMain(other) {
-        if (!(other instanceof _SemVer)) {
-          other = new _SemVer(other, this.options);
-        }
-        if (this.major < other.major) {
-          return -1;
-        }
-        if (this.major > other.major) {
-          return 1;
-        }
-        if (this.minor < other.minor) {
-          return -1;
         }
-        if (this.minor > other.minor) {
-          return 1;
-        }
-        if (this.patch < other.patch) {
-          return -1;
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        if (this.patch > other.patch) {
-          return 1;
+        function step(result) {
+          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
-        return 0;
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    var __asyncValues2 = exports2 && exports2.__asyncValues || function(o) {
+      if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+      var m = o[Symbol.asyncIterator], i;
+      return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() {
+        return this;
+      }, i);
+      function verb(n) {
+        i[n] = o[n] && function(v) {
+          return new Promise(function(resolve3, reject) {
+            v = o[n](v), settle(resolve3, reject, v.done, v.value);
+          });
+        };
       }
-      comparePre(other) {
-        if (!(other instanceof _SemVer)) {
-          other = new _SemVer(other, this.options);
-        }
-        if (this.prerelease.length && !other.prerelease.length) {
-          return -1;
-        } else if (!this.prerelease.length && other.prerelease.length) {
-          return 1;
-        } else if (!this.prerelease.length && !other.prerelease.length) {
-          return 0;
-        }
-        let i = 0;
-        do {
-          const a = this.prerelease[i];
-          const b = other.prerelease[i];
-          debug4("prerelease compare", i, a, b);
-          if (a === void 0 && b === void 0) {
-            return 0;
-          } else if (b === void 0) {
-            return 1;
-          } else if (a === void 0) {
-            return -1;
-          } else if (a === b) {
-            continue;
-          } else {
-            return compareIdentifiers(a, b);
-          }
-        } while (++i);
+      function settle(resolve3, reject, d, v) {
+        Promise.resolve(v).then(function(v2) {
+          resolve3({ value: v2, done: d });
+        }, reject);
       }
-      compareBuild(other) {
-        if (!(other instanceof _SemVer)) {
-          other = new _SemVer(other, this.options);
-        }
-        let i = 0;
-        do {
-          const a = this.build[i];
-          const b = other.build[i];
-          debug4("build compare", i, a, b);
-          if (a === void 0 && b === void 0) {
-            return 0;
-          } else if (b === void 0) {
-            return 1;
-          } else if (a === void 0) {
-            return -1;
-          } else if (a === b) {
-            continue;
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createTempDirectory = createTempDirectory;
+    exports2.getArchiveFileSizeInBytes = getArchiveFileSizeInBytes;
+    exports2.resolvePaths = resolvePaths;
+    exports2.unlinkFile = unlinkFile;
+    exports2.getCompressionMethod = getCompressionMethod;
+    exports2.getCacheFileName = getCacheFileName;
+    exports2.getGnuTarPathOnWindows = getGnuTarPathOnWindows;
+    exports2.assertDefined = assertDefined;
+    exports2.getCacheVersion = getCacheVersion;
+    exports2.getRuntimeToken = getRuntimeToken;
+    var core14 = __importStar2(require_core());
+    var exec3 = __importStar2(require_exec());
+    var glob2 = __importStar2(require_glob());
+    var io6 = __importStar2(require_io());
+    var crypto2 = __importStar2(require("crypto"));
+    var fs3 = __importStar2(require("fs"));
+    var path4 = __importStar2(require("path"));
+    var semver9 = __importStar2(require_semver3());
+    var util = __importStar2(require("util"));
+    var constants_1 = require_constants12();
+    var versionSalt = "1.0";
+    function createTempDirectory() {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const IS_WINDOWS = process.platform === "win32";
+        let tempDirectory = process.env["RUNNER_TEMP"] || "";
+        if (!tempDirectory) {
+          let baseLocation;
+          if (IS_WINDOWS) {
+            baseLocation = process.env["USERPROFILE"] || "C:\\";
           } else {
-            return compareIdentifiers(a, b);
-          }
-        } while (++i);
-      }
-      // preminor will bump the version up to the next minor release, and immediately
-      // down to pre-release. premajor and prepatch work the same way.
-      inc(release, identifier, identifierBase) {
-        if (release.startsWith("pre")) {
-          if (!identifier && identifierBase === false) {
-            throw new Error("invalid increment argument: identifier is empty");
-          }
-          if (identifier) {
-            const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE]);
-            if (!match || match[1] !== identifier) {
-              throw new Error(`invalid identifier: ${identifier}`);
+            if (process.platform === "darwin") {
+              baseLocation = "/Users";
+            } else {
+              baseLocation = "/home";
             }
           }
+          tempDirectory = path4.join(baseLocation, "actions", "temp");
         }
-        switch (release) {
-          case "premajor":
-            this.prerelease.length = 0;
-            this.patch = 0;
-            this.minor = 0;
-            this.major++;
-            this.inc("pre", identifier, identifierBase);
-            break;
-          case "preminor":
-            this.prerelease.length = 0;
-            this.patch = 0;
-            this.minor++;
-            this.inc("pre", identifier, identifierBase);
-            break;
-          case "prepatch":
-            this.prerelease.length = 0;
-            this.inc("patch", identifier, identifierBase);
-            this.inc("pre", identifier, identifierBase);
-            break;
-          // If the input is a non-prerelease version, this acts the same as
-          // prepatch.
-          case "prerelease":
-            if (this.prerelease.length === 0) {
-              this.inc("patch", identifier, identifierBase);
-            }
-            this.inc("pre", identifier, identifierBase);
-            break;
-          case "release":
-            if (this.prerelease.length === 0) {
-              throw new Error(`version ${this.raw} is not a prerelease`);
-            }
-            this.prerelease.length = 0;
-            break;
-          case "major":
-            if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
-              this.major++;
-            }
-            this.minor = 0;
-            this.patch = 0;
-            this.prerelease = [];
-            break;
-          case "minor":
-            if (this.patch !== 0 || this.prerelease.length === 0) {
-              this.minor++;
-            }
-            this.patch = 0;
-            this.prerelease = [];
-            break;
-          case "patch":
-            if (this.prerelease.length === 0) {
-              this.patch++;
-            }
-            this.prerelease = [];
-            break;
-          // This probably shouldn't be used publicly.
-          // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.
-          case "pre": {
-            const base = Number(identifierBase) ? 1 : 0;
-            if (this.prerelease.length === 0) {
-              this.prerelease = [base];
+        const dest = path4.join(tempDirectory, crypto2.randomUUID());
+        yield io6.mkdirP(dest);
+        return dest;
+      });
+    }
+    function getArchiveFileSizeInBytes(filePath) {
+      return fs3.statSync(filePath).size;
+    }
+    function resolvePaths(patterns) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        var _a, e_1, _b, _c;
+        var _d;
+        const paths = [];
+        const workspace = (_d = process.env["GITHUB_WORKSPACE"]) !== null && _d !== void 0 ? _d : process.cwd();
+        const globber = yield glob2.create(patterns.join("\n"), {
+          implicitDescendants: false
+        });
+        try {
+          for (var _e = true, _f = __asyncValues2(globber.globGenerator()), _g; _g = yield _f.next(), _a = _g.done, !_a; _e = true) {
+            _c = _g.value;
+            _e = false;
+            const file = _c;
+            const relativeFile = path4.relative(workspace, file).replace(new RegExp(`\\${path4.sep}`, "g"), "/");
+            core14.debug(`Matched: ${relativeFile}`);
+            if (relativeFile === "") {
+              paths.push(".");
             } else {
-              let i = this.prerelease.length;
-              while (--i >= 0) {
-                if (typeof this.prerelease[i] === "number") {
-                  this.prerelease[i]++;
-                  i = -2;
-                }
-              }
-              if (i === -1) {
-                if (identifier === this.prerelease.join(".") && identifierBase === false) {
-                  throw new Error("invalid increment argument: identifier already exists");
-                }
-                this.prerelease.push(base);
-              }
-            }
-            if (identifier) {
-              let prerelease = [identifier, base];
-              if (identifierBase === false) {
-                prerelease = [identifier];
-              }
-              if (compareIdentifiers(this.prerelease[0], identifier) === 0) {
-                if (isNaN(this.prerelease[1])) {
-                  this.prerelease = prerelease;
-                }
-              } else {
-                this.prerelease = prerelease;
-              }
+              paths.push(`${relativeFile}`);
             }
-            break;
           }
-          default:
-            throw new Error(`invalid increment argument: ${release}`);
+        } catch (e_1_1) {
+          e_1 = { error: e_1_1 };
+        } finally {
+          try {
+            if (!_e && !_a && (_b = _f.return)) yield _b.call(_f);
+          } finally {
+            if (e_1) throw e_1.error;
+          }
+        }
+        return paths;
+      });
+    }
+    function unlinkFile(filePath) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        return util.promisify(fs3.unlink)(filePath);
+      });
+    }
+    function getVersion(app_1) {
+      return __awaiter2(this, arguments, void 0, function* (app, additionalArgs = []) {
+        let versionOutput = "";
+        additionalArgs.push("--version");
+        core14.debug(`Checking ${app} ${additionalArgs.join(" ")}`);
+        try {
+          yield exec3.exec(`${app}`, additionalArgs, {
+            ignoreReturnCode: true,
+            silent: true,
+            listeners: {
+              stdout: (data) => versionOutput += data.toString(),
+              stderr: (data) => versionOutput += data.toString()
+            }
+          });
+        } catch (err) {
+          core14.debug(err.message);
+        }
+        versionOutput = versionOutput.trim();
+        core14.debug(versionOutput);
+        return versionOutput;
+      });
+    }
+    function getCompressionMethod() {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const versionOutput = yield getVersion("zstd", ["--quiet"]);
+        const version = semver9.clean(versionOutput);
+        core14.debug(`zstd version: ${version}`);
+        if (versionOutput === "") {
+          return constants_1.CompressionMethod.Gzip;
+        } else {
+          return constants_1.CompressionMethod.ZstdWithoutLong;
         }
-        this.raw = this.format();
-        if (this.build.length) {
-          this.raw += `+${this.build.join(".")}`;
+      });
+    }
+    function getCacheFileName(compressionMethod) {
+      return compressionMethod === constants_1.CompressionMethod.Gzip ? constants_1.CacheFilename.Gzip : constants_1.CacheFilename.Zstd;
+    }
+    function getGnuTarPathOnWindows() {
+      return __awaiter2(this, void 0, void 0, function* () {
+        if (fs3.existsSync(constants_1.GnuTarPathOnWindows)) {
+          return constants_1.GnuTarPathOnWindows;
         }
-        return this;
+        const versionOutput = yield getVersion("tar");
+        return versionOutput.toLowerCase().includes("gnu tar") ? io6.which("tar") : "";
+      });
+    }
+    function assertDefined(name, value) {
+      if (value === void 0) {
+        throw Error(`Expected ${name} but value was undefiend`);
       }
-    };
-    module2.exports = SemVer;
-  }
-});
-
-// node_modules/semver/functions/parse.js
-var require_parse3 = __commonJS({
-  "node_modules/semver/functions/parse.js"(exports2, module2) {
-    "use strict";
-    var SemVer = require_semver();
-    var parse2 = (version, options, throwErrors = false) => {
-      if (version instanceof SemVer) {
-        return version;
+      return value;
+    }
+    function getCacheVersion(paths, compressionMethod, enableCrossOsArchive = false) {
+      const components = paths.slice();
+      if (compressionMethod) {
+        components.push(compressionMethod);
       }
-      try {
-        return new SemVer(version, options);
-      } catch (er) {
-        if (!throwErrors) {
-          return null;
-        }
-        throw er;
+      if (process.platform === "win32" && !enableCrossOsArchive) {
+        components.push("windows-only");
       }
-    };
-    module2.exports = parse2;
+      components.push(versionSalt);
+      return crypto2.createHash("sha256").update(components.join("|")).digest("hex");
+    }
+    function getRuntimeToken() {
+      const token = process.env["ACTIONS_RUNTIME_TOKEN"];
+      if (!token) {
+        throw new Error("Unable to get the ACTIONS_RUNTIME_TOKEN env variable");
+      }
+      return token;
+    }
   }
 });
 
-// node_modules/semver/functions/valid.js
-var require_valid = __commonJS({
-  "node_modules/semver/functions/valid.js"(exports2, module2) {
-    "use strict";
-    var parse2 = require_parse3();
-    var valid3 = (version, options) => {
-      const v = parse2(version, options);
-      return v ? v.version : null;
-    };
-    module2.exports = valid3;
-  }
+// node_modules/tslib/tslib.es6.mjs
+var tslib_es6_exports = {};
+__export(tslib_es6_exports, {
+  __addDisposableResource: () => __addDisposableResource,
+  __assign: () => __assign,
+  __asyncDelegator: () => __asyncDelegator,
+  __asyncGenerator: () => __asyncGenerator,
+  __asyncValues: () => __asyncValues,
+  __await: () => __await,
+  __awaiter: () => __awaiter,
+  __classPrivateFieldGet: () => __classPrivateFieldGet,
+  __classPrivateFieldIn: () => __classPrivateFieldIn,
+  __classPrivateFieldSet: () => __classPrivateFieldSet,
+  __createBinding: () => __createBinding,
+  __decorate: () => __decorate,
+  __disposeResources: () => __disposeResources,
+  __esDecorate: () => __esDecorate,
+  __exportStar: () => __exportStar,
+  __extends: () => __extends,
+  __generator: () => __generator,
+  __importDefault: () => __importDefault,
+  __importStar: () => __importStar,
+  __makeTemplateObject: () => __makeTemplateObject,
+  __metadata: () => __metadata,
+  __param: () => __param,
+  __propKey: () => __propKey,
+  __read: () => __read,
+  __rest: () => __rest,
+  __rewriteRelativeImportExtension: () => __rewriteRelativeImportExtension,
+  __runInitializers: () => __runInitializers,
+  __setFunctionName: () => __setFunctionName,
+  __spread: () => __spread,
+  __spreadArray: () => __spreadArray,
+  __spreadArrays: () => __spreadArrays,
+  __values: () => __values2,
+  default: () => tslib_es6_default
 });
-
-// node_modules/semver/functions/clean.js
-var require_clean = __commonJS({
-  "node_modules/semver/functions/clean.js"(exports2, module2) {
-    "use strict";
-    var parse2 = require_parse3();
-    var clean3 = (version, options) => {
-      const s = parse2(version.trim().replace(/^[=v]+/, ""), options);
-      return s ? s.version : null;
+function __extends(d, b) {
+  if (typeof b !== "function" && b !== null)
+    throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
+  extendStatics(d, b);
+  function __() {
+    this.constructor = d;
+  }
+  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+}
+function __rest(s, e) {
+  var t = {};
+  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
+    t[p] = s[p];
+  if (s != null && typeof Object.getOwnPropertySymbols === "function")
+    for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
+      if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
+        t[p[i]] = s[p[i]];
+    }
+  return t;
+}
+function __decorate(decorators, target, key, desc) {
+  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+  return c > 3 && r && Object.defineProperty(target, key, r), r;
+}
+function __param(paramIndex, decorator) {
+  return function(target, key) {
+    decorator(target, key, paramIndex);
+  };
+}
+function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
+  function accept(f) {
+    if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected");
+    return f;
+  }
+  var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
+  var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
+  var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
+  var _2, done = false;
+  for (var i = decorators.length - 1; i >= 0; i--) {
+    var context2 = {};
+    for (var p in contextIn) context2[p] = p === "access" ? {} : contextIn[p];
+    for (var p in contextIn.access) context2.access[p] = contextIn.access[p];
+    context2.addInitializer = function(f) {
+      if (done) throw new TypeError("Cannot add initializers after decoration has completed");
+      extraInitializers.push(accept(f || null));
     };
-    module2.exports = clean3;
+    var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context2);
+    if (kind === "accessor") {
+      if (result === void 0) continue;
+      if (result === null || typeof result !== "object") throw new TypeError("Object expected");
+      if (_2 = accept(result.get)) descriptor.get = _2;
+      if (_2 = accept(result.set)) descriptor.set = _2;
+      if (_2 = accept(result.init)) initializers.unshift(_2);
+    } else if (_2 = accept(result)) {
+      if (kind === "field") initializers.unshift(_2);
+      else descriptor[key] = _2;
+    }
   }
-});
-
-// node_modules/semver/functions/inc.js
-var require_inc = __commonJS({
-  "node_modules/semver/functions/inc.js"(exports2, module2) {
-    "use strict";
-    var SemVer = require_semver();
-    var inc = (version, release, options, identifier, identifierBase) => {
-      if (typeof options === "string") {
-        identifierBase = identifier;
-        identifier = options;
-        options = void 0;
+  if (target) Object.defineProperty(target, contextIn.name, descriptor);
+  done = true;
+}
+function __runInitializers(thisArg, initializers, value) {
+  var useValue = arguments.length > 2;
+  for (var i = 0; i < initializers.length; i++) {
+    value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
+  }
+  return useValue ? value : void 0;
+}
+function __propKey(x) {
+  return typeof x === "symbol" ? x : "".concat(x);
+}
+function __setFunctionName(f, name, prefix) {
+  if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
+  return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
+}
+function __metadata(metadataKey, metadataValue) {
+  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
+}
+function __awaiter(thisArg, _arguments, P, generator) {
+  function adopt(value) {
+    return value instanceof P ? value : new P(function(resolve3) {
+      resolve3(value);
+    });
+  }
+  return new (P || (P = Promise))(function(resolve3, reject) {
+    function fulfilled(value) {
+      try {
+        step(generator.next(value));
+      } catch (e) {
+        reject(e);
       }
+    }
+    function rejected(value) {
       try {
-        return new SemVer(
-          version instanceof SemVer ? version.version : version,
-          options
-        ).inc(release, identifier, identifierBase).version;
-      } catch (er) {
-        return null;
+        step(generator["throw"](value));
+      } catch (e) {
+        reject(e);
       }
+    }
+    function step(result) {
+      result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+    }
+    step((generator = generator.apply(thisArg, _arguments || [])).next());
+  });
+}
+function __generator(thisArg, body) {
+  var _2 = { label: 0, sent: function() {
+    if (t[0] & 1) throw t[1];
+    return t[1];
+  }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
+  return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
+    return this;
+  }), g;
+  function verb(n) {
+    return function(v) {
+      return step([n, v]);
     };
-    module2.exports = inc;
   }
-});
-
-// node_modules/semver/functions/diff.js
-var require_diff = __commonJS({
-  "node_modules/semver/functions/diff.js"(exports2, module2) {
-    "use strict";
-    var parse2 = require_parse3();
-    var diff = (version1, version2) => {
-      const v1 = parse2(version1, null, true);
-      const v2 = parse2(version2, null, true);
-      const comparison = v1.compare(v2);
-      if (comparison === 0) {
-        return null;
-      }
-      const v1Higher = comparison > 0;
-      const highVersion = v1Higher ? v1 : v2;
-      const lowVersion = v1Higher ? v2 : v1;
-      const highHasPre = !!highVersion.prerelease.length;
-      const lowHasPre = !!lowVersion.prerelease.length;
-      if (lowHasPre && !highHasPre) {
-        if (!lowVersion.patch && !lowVersion.minor) {
-          return "major";
-        }
-        if (lowVersion.compareMain(highVersion) === 0) {
-          if (lowVersion.minor && !lowVersion.patch) {
-            return "minor";
+  function step(op) {
+    if (f) throw new TypeError("Generator is already executing.");
+    while (g && (g = 0, op[0] && (_2 = 0)), _2) try {
+      if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+      if (y = 0, t) op = [op[0] & 2, t.value];
+      switch (op[0]) {
+        case 0:
+        case 1:
+          t = op;
+          break;
+        case 4:
+          _2.label++;
+          return { value: op[1], done: false };
+        case 5:
+          _2.label++;
+          y = op[1];
+          op = [0];
+          continue;
+        case 7:
+          op = _2.ops.pop();
+          _2.trys.pop();
+          continue;
+        default:
+          if (!(t = _2.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
+            _2 = 0;
+            continue;
           }
-          return "patch";
-        }
-      }
-      const prefix = highHasPre ? "pre" : "";
-      if (v1.major !== v2.major) {
-        return prefix + "major";
-      }
-      if (v1.minor !== v2.minor) {
-        return prefix + "minor";
-      }
-      if (v1.patch !== v2.patch) {
-        return prefix + "patch";
+          if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
+            _2.label = op[1];
+            break;
+          }
+          if (op[0] === 6 && _2.label < t[1]) {
+            _2.label = t[1];
+            t = op;
+            break;
+          }
+          if (t && _2.label < t[2]) {
+            _2.label = t[2];
+            _2.ops.push(op);
+            break;
+          }
+          if (t[2]) _2.ops.pop();
+          _2.trys.pop();
+          continue;
       }
-      return "prerelease";
-    };
-    module2.exports = diff;
-  }
-});
-
-// node_modules/semver/functions/major.js
-var require_major = __commonJS({
-  "node_modules/semver/functions/major.js"(exports2, module2) {
-    "use strict";
-    var SemVer = require_semver();
-    var major = (a, loose) => new SemVer(a, loose).major;
-    module2.exports = major;
+      op = body.call(thisArg, _2);
+    } catch (e) {
+      op = [6, e];
+      y = 0;
+    } finally {
+      f = t = 0;
+    }
+    if (op[0] & 5) throw op[1];
+    return { value: op[0] ? op[1] : void 0, done: true };
   }
-});
-
-// node_modules/semver/functions/minor.js
-var require_minor = __commonJS({
-  "node_modules/semver/functions/minor.js"(exports2, module2) {
-    "use strict";
-    var SemVer = require_semver();
-    var minor = (a, loose) => new SemVer(a, loose).minor;
-    module2.exports = minor;
+}
+function __exportStar(m, o) {
+  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
+}
+function __values2(o) {
+  var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
+  if (m) return m.call(o);
+  if (o && typeof o.length === "number") return {
+    next: function() {
+      if (o && i >= o.length) o = void 0;
+      return { value: o && o[i++], done: !o };
+    }
+  };
+  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
+}
+function __read(o, n) {
+  var m = typeof Symbol === "function" && o[Symbol.iterator];
+  if (!m) return o;
+  var i = m.call(o), r, ar = [], e;
+  try {
+    while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
+  } catch (error3) {
+    e = { error: error3 };
+  } finally {
+    try {
+      if (r && !r.done && (m = i["return"])) m.call(i);
+    } finally {
+      if (e) throw e.error;
+    }
   }
-});
-
-// node_modules/semver/functions/patch.js
-var require_patch = __commonJS({
-  "node_modules/semver/functions/patch.js"(exports2, module2) {
-    "use strict";
-    var SemVer = require_semver();
-    var patch = (a, loose) => new SemVer(a, loose).patch;
-    module2.exports = patch;
+  return ar;
+}
+function __spread() {
+  for (var ar = [], i = 0; i < arguments.length; i++)
+    ar = ar.concat(__read(arguments[i]));
+  return ar;
+}
+function __spreadArrays() {
+  for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
+  for (var r = Array(s), k = 0, i = 0; i < il; i++)
+    for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
+      r[k] = a[j];
+  return r;
+}
+function __spreadArray(to, from, pack) {
+  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
+    if (ar || !(i in from)) {
+      if (!ar) ar = Array.prototype.slice.call(from, 0, i);
+      ar[i] = from[i];
+    }
   }
-});
-
-// node_modules/semver/functions/prerelease.js
-var require_prerelease = __commonJS({
-  "node_modules/semver/functions/prerelease.js"(exports2, module2) {
-    "use strict";
-    var parse2 = require_parse3();
-    var prerelease = (version, options) => {
-      const parsed = parse2(version, options);
-      return parsed && parsed.prerelease.length ? parsed.prerelease : null;
+  return to.concat(ar || Array.prototype.slice.call(from));
+}
+function __await(v) {
+  return this instanceof __await ? (this.v = v, this) : new __await(v);
+}
+function __asyncGenerator(thisArg, _arguments, generator) {
+  if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+  var g = generator.apply(thisArg, _arguments || []), i, q = [];
+  return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function() {
+    return this;
+  }, i;
+  function awaitReturn(f) {
+    return function(v) {
+      return Promise.resolve(v).then(f, reject);
     };
-    module2.exports = prerelease;
-  }
-});
-
-// node_modules/semver/functions/compare.js
-var require_compare = __commonJS({
-  "node_modules/semver/functions/compare.js"(exports2, module2) {
-    "use strict";
-    var SemVer = require_semver();
-    var compare2 = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose));
-    module2.exports = compare2;
   }
-});
-
-// node_modules/semver/functions/rcompare.js
-var require_rcompare = __commonJS({
-  "node_modules/semver/functions/rcompare.js"(exports2, module2) {
-    "use strict";
-    var compare2 = require_compare();
-    var rcompare = (a, b, loose) => compare2(b, a, loose);
-    module2.exports = rcompare;
+  function verb(n, f) {
+    if (g[n]) {
+      i[n] = function(v) {
+        return new Promise(function(a, b) {
+          q.push([n, v, a, b]) > 1 || resume(n, v);
+        });
+      };
+      if (f) i[n] = f(i[n]);
+    }
   }
-});
-
-// node_modules/semver/functions/compare-loose.js
-var require_compare_loose = __commonJS({
-  "node_modules/semver/functions/compare-loose.js"(exports2, module2) {
-    "use strict";
-    var compare2 = require_compare();
-    var compareLoose = (a, b) => compare2(a, b, true);
-    module2.exports = compareLoose;
+  function resume(n, v) {
+    try {
+      step(g[n](v));
+    } catch (e) {
+      settle(q[0][3], e);
+    }
   }
-});
-
-// node_modules/semver/functions/compare-build.js
-var require_compare_build = __commonJS({
-  "node_modules/semver/functions/compare-build.js"(exports2, module2) {
-    "use strict";
-    var SemVer = require_semver();
-    var compareBuild = (a, b, loose) => {
-      const versionA = new SemVer(a, loose);
-      const versionB = new SemVer(b, loose);
-      return versionA.compare(versionB) || versionA.compareBuild(versionB);
-    };
-    module2.exports = compareBuild;
+  function step(r) {
+    r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);
   }
-});
-
-// node_modules/semver/functions/sort.js
-var require_sort = __commonJS({
-  "node_modules/semver/functions/sort.js"(exports2, module2) {
-    "use strict";
-    var compareBuild = require_compare_build();
-    var sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose));
-    module2.exports = sort;
+  function fulfill(value) {
+    resume("next", value);
   }
-});
-
-// node_modules/semver/functions/rsort.js
-var require_rsort = __commonJS({
-  "node_modules/semver/functions/rsort.js"(exports2, module2) {
-    "use strict";
-    var compareBuild = require_compare_build();
-    var rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose));
-    module2.exports = rsort;
+  function reject(value) {
+    resume("throw", value);
   }
-});
-
-// node_modules/semver/functions/gt.js
-var require_gt = __commonJS({
-  "node_modules/semver/functions/gt.js"(exports2, module2) {
-    "use strict";
-    var compare2 = require_compare();
-    var gt = (a, b, loose) => compare2(a, b, loose) > 0;
-    module2.exports = gt;
+  function settle(f, v) {
+    if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);
   }
-});
-
-// node_modules/semver/functions/lt.js
-var require_lt = __commonJS({
-  "node_modules/semver/functions/lt.js"(exports2, module2) {
-    "use strict";
-    var compare2 = require_compare();
-    var lt = (a, b, loose) => compare2(a, b, loose) < 0;
-    module2.exports = lt;
+}
+function __asyncDelegator(o) {
+  var i, p;
+  return i = {}, verb("next"), verb("throw", function(e) {
+    throw e;
+  }), verb("return"), i[Symbol.iterator] = function() {
+    return this;
+  }, i;
+  function verb(n, f) {
+    i[n] = o[n] ? function(v) {
+      return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v;
+    } : f;
   }
-});
-
-// node_modules/semver/functions/eq.js
-var require_eq = __commonJS({
-  "node_modules/semver/functions/eq.js"(exports2, module2) {
-    "use strict";
-    var compare2 = require_compare();
-    var eq = (a, b, loose) => compare2(a, b, loose) === 0;
-    module2.exports = eq;
+}
+function __asyncValues(o) {
+  if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+  var m = o[Symbol.asyncIterator], i;
+  return m ? m.call(o) : (o = typeof __values2 === "function" ? __values2(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() {
+    return this;
+  }, i);
+  function verb(n) {
+    i[n] = o[n] && function(v) {
+      return new Promise(function(resolve3, reject) {
+        v = o[n](v), settle(resolve3, reject, v.done, v.value);
+      });
+    };
   }
-});
-
-// node_modules/semver/functions/neq.js
-var require_neq = __commonJS({
-  "node_modules/semver/functions/neq.js"(exports2, module2) {
-    "use strict";
-    var compare2 = require_compare();
-    var neq = (a, b, loose) => compare2(a, b, loose) !== 0;
-    module2.exports = neq;
+  function settle(resolve3, reject, d, v) {
+    Promise.resolve(v).then(function(v2) {
+      resolve3({ value: v2, done: d });
+    }, reject);
   }
-});
-
-// node_modules/semver/functions/gte.js
-var require_gte = __commonJS({
-  "node_modules/semver/functions/gte.js"(exports2, module2) {
-    "use strict";
-    var compare2 = require_compare();
-    var gte6 = (a, b, loose) => compare2(a, b, loose) >= 0;
-    module2.exports = gte6;
+}
+function __makeTemplateObject(cooked, raw) {
+  if (Object.defineProperty) {
+    Object.defineProperty(cooked, "raw", { value: raw });
+  } else {
+    cooked.raw = raw;
   }
-});
-
-// node_modules/semver/functions/lte.js
-var require_lte = __commonJS({
-  "node_modules/semver/functions/lte.js"(exports2, module2) {
-    "use strict";
-    var compare2 = require_compare();
-    var lte = (a, b, loose) => compare2(a, b, loose) <= 0;
-    module2.exports = lte;
+  return cooked;
+}
+function __importStar(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]);
   }
-});
-
-// node_modules/semver/functions/cmp.js
-var require_cmp = __commonJS({
-  "node_modules/semver/functions/cmp.js"(exports2, module2) {
-    "use strict";
-    var eq = require_eq();
-    var neq = require_neq();
-    var gt = require_gt();
-    var gte6 = require_gte();
-    var lt = require_lt();
-    var lte = require_lte();
-    var cmp = (a, op, b, loose) => {
-      switch (op) {
-        case "===":
-          if (typeof a === "object") {
-            a = a.version;
-          }
-          if (typeof b === "object") {
-            b = b.version;
-          }
-          return a === b;
-        case "!==":
-          if (typeof a === "object") {
-            a = a.version;
-          }
-          if (typeof b === "object") {
-            b = b.version;
-          }
-          return a !== b;
-        case "":
-        case "=":
-        case "==":
-          return eq(a, b, loose);
-        case "!=":
-          return neq(a, b, loose);
-        case ">":
-          return gt(a, b, loose);
-        case ">=":
-          return gte6(a, b, loose);
-        case "<":
-          return lt(a, b, loose);
-        case "<=":
-          return lte(a, b, loose);
-        default:
-          throw new TypeError(`Invalid operator: ${op}`);
+  __setModuleDefault(result, mod);
+  return result;
+}
+function __importDefault(mod) {
+  return mod && mod.__esModule ? mod : { default: mod };
+}
+function __classPrivateFieldGet(receiver, state, kind, f) {
+  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
+  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
+  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
+}
+function __classPrivateFieldSet(receiver, state, value, kind, f) {
+  if (kind === "m") throw new TypeError("Private method is not writable");
+  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
+  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
+  return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;
+}
+function __classPrivateFieldIn(state, receiver) {
+  if (receiver === null || typeof receiver !== "object" && typeof receiver !== "function") throw new TypeError("Cannot use 'in' operator on non-object");
+  return typeof state === "function" ? receiver === state : state.has(receiver);
+}
+function __addDisposableResource(env, value, async) {
+  if (value !== null && value !== void 0) {
+    if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
+    var dispose, inner;
+    if (async) {
+      if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
+      dispose = value[Symbol.asyncDispose];
+    }
+    if (dispose === void 0) {
+      if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
+      dispose = value[Symbol.dispose];
+      if (async) inner = dispose;
+    }
+    if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
+    if (inner) dispose = function() {
+      try {
+        inner.call(this);
+      } catch (e) {
+        return Promise.reject(e);
       }
     };
-    module2.exports = cmp;
+    env.stack.push({ value, dispose, async });
+  } else if (async) {
+    env.stack.push({ async: true });
   }
-});
-
-// node_modules/semver/functions/coerce.js
-var require_coerce = __commonJS({
-  "node_modules/semver/functions/coerce.js"(exports2, module2) {
-    "use strict";
-    var SemVer = require_semver();
-    var parse2 = require_parse3();
-    var { safeRe: re, t } = require_re();
-    var coerce3 = (version, options) => {
-      if (version instanceof SemVer) {
-        return version;
-      }
-      if (typeof version === "number") {
-        version = String(version);
-      }
-      if (typeof version !== "string") {
-        return null;
+  return value;
+}
+function __disposeResources(env) {
+  function fail(e) {
+    env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
+    env.hasError = true;
+  }
+  var r, s = 0;
+  function next() {
+    while (r = env.stack.pop()) {
+      try {
+        if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
+        if (r.dispose) {
+          var result = r.dispose.call(r.value);
+          if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {
+            fail(e);
+            return next();
+          });
+        } else s |= 1;
+      } catch (e) {
+        fail(e);
       }
-      options = options || {};
-      let match = null;
-      if (!options.rtl) {
-        match = version.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE]);
-      } else {
-        const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL];
-        let next;
-        while ((next = coerceRtlRegex.exec(version)) && (!match || match.index + match[0].length !== version.length)) {
-          if (!match || next.index + next[0].length !== match.index + match[0].length) {
-            match = next;
-          }
-          coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length;
+    }
+    if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
+    if (env.hasError) throw env.error;
+  }
+  return next();
+}
+function __rewriteRelativeImportExtension(path4, preserveJsx) {
+  if (typeof path4 === "string" && /^\.\.?\//.test(path4)) {
+    return path4.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function(m, tsx, d, ext, cm) {
+      return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : d + ext + "." + cm.toLowerCase() + "js";
+    });
+  }
+  return path4;
+}
+var extendStatics, __assign, __createBinding, __setModuleDefault, ownKeys, _SuppressedError, tslib_es6_default;
+var init_tslib_es6 = __esm({
+  "node_modules/tslib/tslib.es6.mjs"() {
+    extendStatics = function(d, b) {
+      extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
+        d2.__proto__ = b2;
+      } || function(d2, b2) {
+        for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
+      };
+      return extendStatics(d, b);
+    };
+    __assign = function() {
+      __assign = Object.assign || function __assign2(t) {
+        for (var s, i = 1, n = arguments.length; i < n; i++) {
+          s = arguments[i];
+          for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
         }
-        coerceRtlRegex.lastIndex = -1;
-      }
-      if (match === null) {
-        return null;
+        return t;
+      };
+      return __assign.apply(this, arguments);
+    };
+    __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];
+        } };
       }
-      const major = match[2];
-      const minor = match[3] || "0";
-      const patch = match[4] || "0";
-      const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : "";
-      const build = options.includePrerelease && match[6] ? `+${match[6]}` : "";
-      return parse2(`${major}.${minor}.${patch}${prerelease}${build}`, options);
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    });
+    __setModuleDefault = Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    };
+    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);
+    };
+    _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function(error3, suppressed, message) {
+      var e = new Error(message);
+      return e.name = "SuppressedError", e.error = error3, e.suppressed = suppressed, e;
+    };
+    tslib_es6_default = {
+      __extends,
+      __assign,
+      __rest,
+      __decorate,
+      __param,
+      __esDecorate,
+      __runInitializers,
+      __propKey,
+      __setFunctionName,
+      __metadata,
+      __awaiter,
+      __generator,
+      __createBinding,
+      __exportStar,
+      __values: __values2,
+      __read,
+      __spread,
+      __spreadArrays,
+      __spreadArray,
+      __await,
+      __asyncGenerator,
+      __asyncDelegator,
+      __asyncValues,
+      __makeTemplateObject,
+      __importStar,
+      __importDefault,
+      __classPrivateFieldGet,
+      __classPrivateFieldSet,
+      __classPrivateFieldIn,
+      __addDisposableResource,
+      __disposeResources,
+      __rewriteRelativeImportExtension
     };
-    module2.exports = coerce3;
   }
 });
 
-// node_modules/semver/internal/lrucache.js
-var require_lrucache = __commonJS({
-  "node_modules/semver/internal/lrucache.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/abort-controller/AbortError.js
+var require_AbortError = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/abort-controller/AbortError.js"(exports2) {
     "use strict";
-    var LRUCache = class {
-      constructor() {
-        this.max = 1e3;
-        this.map = /* @__PURE__ */ new Map();
-      }
-      get(key) {
-        const value = this.map.get(key);
-        if (value === void 0) {
-          return void 0;
-        } else {
-          this.map.delete(key);
-          this.map.set(key, value);
-          return value;
-        }
-      }
-      delete(key) {
-        return this.map.delete(key);
-      }
-      set(key, value) {
-        const deleted = this.delete(key);
-        if (!deleted && value !== void 0) {
-          if (this.map.size >= this.max) {
-            const firstKey = this.map.keys().next().value;
-            this.delete(firstKey);
-          }
-          this.map.set(key, value);
-        }
-        return this;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AbortError = void 0;
+    var AbortError = class extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "AbortError";
       }
     };
-    module2.exports = LRUCache;
+    exports2.AbortError = AbortError;
   }
 });
 
-// node_modules/semver/classes/range.js
-var require_range = __commonJS({
-  "node_modules/semver/classes/range.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/log.js
+var require_log = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/log.js"(exports2) {
     "use strict";
-    var SPACE_CHARACTERS = /\s+/g;
-    var Range2 = class _Range {
-      constructor(range, options) {
-        options = parseOptions(options);
-        if (range instanceof _Range) {
-          if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
-            return range;
-          } else {
-            return new _Range(range.raw, options);
-          }
-        }
-        if (range instanceof Comparator) {
-          this.raw = range.value;
-          this.set = [[range]];
-          this.formatted = void 0;
-          return this;
-        }
-        this.options = options;
-        this.loose = !!options.loose;
-        this.includePrerelease = !!options.includePrerelease;
-        this.raw = range.trim().replace(SPACE_CHARACTERS, " ");
-        this.set = this.raw.split("||").map((r) => this.parseRange(r.trim())).filter((c) => c.length);
-        if (!this.set.length) {
-          throw new TypeError(`Invalid SemVer Range: ${this.raw}`);
-        }
-        if (this.set.length > 1) {
-          const first = this.set[0];
-          this.set = this.set.filter((c) => !isNullSet(c[0]));
-          if (this.set.length === 0) {
-            this.set = [first];
-          } else if (this.set.length > 1) {
-            for (const c of this.set) {
-              if (c.length === 1 && isAny(c[0])) {
-                this.set = [c];
-                break;
-              }
-            }
-          }
-        }
-        this.formatted = void 0;
-      }
-      get range() {
-        if (this.formatted === void 0) {
-          this.formatted = "";
-          for (let i = 0; i < this.set.length; i++) {
-            if (i > 0) {
-              this.formatted += "||";
-            }
-            const comps = this.set[i];
-            for (let k = 0; k < comps.length; k++) {
-              if (k > 0) {
-                this.formatted += " ";
-              }
-              this.formatted += comps[k].toString().trim();
-            }
-          }
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.log = log;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var node_os_1 = require("node:os");
+    var node_util_1 = tslib_1.__importDefault(require("node:util"));
+    var node_process_1 = tslib_1.__importDefault(require("node:process"));
+    function log(message, ...args) {
+      node_process_1.default.stderr.write(`${node_util_1.default.format(message, ...args)}${node_os_1.EOL}`);
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/debug.js
+var require_debug2 = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/debug.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    var log_js_1 = require_log();
+    var debugEnvVariable = typeof process !== "undefined" && process.env && process.env.DEBUG || void 0;
+    var enabledString;
+    var enabledNamespaces = [];
+    var skippedNamespaces = [];
+    var debuggers = [];
+    if (debugEnvVariable) {
+      enable(debugEnvVariable);
+    }
+    var debugObj = Object.assign((namespace) => {
+      return createDebugger(namespace);
+    }, {
+      enable,
+      enabled,
+      disable,
+      log: log_js_1.log
+    });
+    function enable(namespaces) {
+      enabledString = namespaces;
+      enabledNamespaces = [];
+      skippedNamespaces = [];
+      const namespaceList = namespaces.split(",").map((ns) => ns.trim());
+      for (const ns of namespaceList) {
+        if (ns.startsWith("-")) {
+          skippedNamespaces.push(ns.substring(1));
+        } else {
+          enabledNamespaces.push(ns);
         }
-        return this.formatted;
       }
-      format() {
-        return this.range;
+      for (const instance of debuggers) {
+        instance.enabled = enabled(instance.namespace);
       }
-      toString() {
-        return this.range;
+    }
+    function enabled(namespace) {
+      if (namespace.endsWith("*")) {
+        return true;
       }
-      parseRange(range) {
-        const memoOpts = (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | (this.options.loose && FLAG_LOOSE);
-        const memoKey = memoOpts + ":" + range;
-        const cached = cache.get(memoKey);
-        if (cached) {
-          return cached;
-        }
-        const loose = this.options.loose;
-        const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE];
-        range = range.replace(hr, hyphenReplace(this.options.includePrerelease));
-        debug4("hyphen replace", range);
-        range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace);
-        debug4("comparator trim", range);
-        range = range.replace(re[t.TILDETRIM], tildeTrimReplace);
-        debug4("tilde trim", range);
-        range = range.replace(re[t.CARETTRIM], caretTrimReplace);
-        debug4("caret trim", range);
-        let rangeList = range.split(" ").map((comp) => parseComparator(comp, this.options)).join(" ").split(/\s+/).map((comp) => replaceGTE0(comp, this.options));
-        if (loose) {
-          rangeList = rangeList.filter((comp) => {
-            debug4("loose invalid filter", comp, this.options);
-            return !!comp.match(re[t.COMPARATORLOOSE]);
-          });
-        }
-        debug4("range list", rangeList);
-        const rangeMap = /* @__PURE__ */ new Map();
-        const comparators = rangeList.map((comp) => new Comparator(comp, this.options));
-        for (const comp of comparators) {
-          if (isNullSet(comp)) {
-            return [comp];
-          }
-          rangeMap.set(comp.value, comp);
-        }
-        if (rangeMap.size > 1 && rangeMap.has("")) {
-          rangeMap.delete("");
+      for (const skipped of skippedNamespaces) {
+        if (namespaceMatches(namespace, skipped)) {
+          return false;
         }
-        const result = [...rangeMap.values()];
-        cache.set(memoKey, result);
-        return result;
       }
-      intersects(range, options) {
-        if (!(range instanceof _Range)) {
-          throw new TypeError("a Range is required");
+      for (const enabledNamespace of enabledNamespaces) {
+        if (namespaceMatches(namespace, enabledNamespace)) {
+          return true;
         }
-        return this.set.some((thisComparators) => {
-          return isSatisfiable(thisComparators, options) && range.set.some((rangeComparators) => {
-            return isSatisfiable(rangeComparators, options) && thisComparators.every((thisComparator) => {
-              return rangeComparators.every((rangeComparator) => {
-                return thisComparator.intersects(rangeComparator, options);
-              });
-            });
-          });
-        });
       }
-      // if ANY of the sets match ALL of its comparators, then pass
-      test(version) {
-        if (!version) {
-          return false;
-        }
-        if (typeof version === "string") {
-          try {
-            version = new SemVer(version, this.options);
-          } catch (er) {
-            return false;
-          }
-        }
-        for (let i = 0; i < this.set.length; i++) {
-          if (testSet(this.set[i], version, this.options)) {
-            return true;
+      return false;
+    }
+    function namespaceMatches(namespace, patternToMatch) {
+      if (patternToMatch.indexOf("*") === -1) {
+        return namespace === patternToMatch;
+      }
+      let pattern = patternToMatch;
+      if (patternToMatch.indexOf("**") !== -1) {
+        const patternParts = [];
+        let lastCharacter = "";
+        for (const character of patternToMatch) {
+          if (character === "*" && lastCharacter === "*") {
+            continue;
+          } else {
+            lastCharacter = character;
+            patternParts.push(character);
           }
         }
-        return false;
-      }
-    };
-    module2.exports = Range2;
-    var LRU = require_lrucache();
-    var cache = new LRU();
-    var parseOptions = require_parse_options();
-    var Comparator = require_comparator();
-    var debug4 = require_debug();
-    var SemVer = require_semver();
-    var {
-      safeRe: re,
-      t,
-      comparatorTrimReplace,
-      tildeTrimReplace,
-      caretTrimReplace
-    } = require_re();
-    var { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require_constants11();
-    var isNullSet = (c) => c.value === "<0.0.0-0";
-    var isAny = (c) => c.value === "";
-    var isSatisfiable = (comparators, options) => {
-      let result = true;
-      const remainingComparators = comparators.slice();
-      let testComparator = remainingComparators.pop();
-      while (result && remainingComparators.length) {
-        result = remainingComparators.every((otherComparator) => {
-          return testComparator.intersects(otherComparator, options);
-        });
-        testComparator = remainingComparators.pop();
+        pattern = patternParts.join("");
       }
-      return result;
-    };
-    var parseComparator = (comp, options) => {
-      comp = comp.replace(re[t.BUILD], "");
-      debug4("comp", comp, options);
-      comp = replaceCarets(comp, options);
-      debug4("caret", comp);
-      comp = replaceTildes(comp, options);
-      debug4("tildes", comp);
-      comp = replaceXRanges(comp, options);
-      debug4("xrange", comp);
-      comp = replaceStars(comp, options);
-      debug4("stars", comp);
-      return comp;
-    };
-    var isX = (id) => !id || id.toLowerCase() === "x" || id === "*";
-    var replaceTildes = (comp, options) => {
-      return comp.trim().split(/\s+/).map((c) => replaceTilde(c, options)).join(" ");
-    };
-    var replaceTilde = (comp, options) => {
-      const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
-      return comp.replace(r, (_2, M, m, p, pr) => {
-        debug4("tilde", comp, _2, M, m, p, pr);
-        let ret;
-        if (isX(M)) {
-          ret = "";
-        } else if (isX(m)) {
-          ret = `>=${M}.0.0 <${+M + 1}.0.0-0`;
-        } else if (isX(p)) {
-          ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`;
-        } else if (pr) {
-          debug4("replaceTilde pr", pr);
-          ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
-        } else {
-          ret = `>=${M}.${m}.${p} <${M}.${+m + 1}.0-0`;
-        }
-        debug4("tilde return", ret);
-        return ret;
-      });
-    };
-    var replaceCarets = (comp, options) => {
-      return comp.trim().split(/\s+/).map((c) => replaceCaret(c, options)).join(" ");
-    };
-    var replaceCaret = (comp, options) => {
-      debug4("caret", comp, options);
-      const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET];
-      const z = options.includePrerelease ? "-0" : "";
-      return comp.replace(r, (_2, M, m, p, pr) => {
-        debug4("caret", comp, _2, M, m, p, pr);
-        let ret;
-        if (isX(M)) {
-          ret = "";
-        } else if (isX(m)) {
-          ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`;
-        } else if (isX(p)) {
-          if (M === "0") {
-            ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`;
-          } else {
-            ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`;
+      let namespaceIndex = 0;
+      let patternIndex = 0;
+      const patternLength = pattern.length;
+      const namespaceLength = namespace.length;
+      let lastWildcard = -1;
+      let lastWildcardNamespace = -1;
+      while (namespaceIndex < namespaceLength && patternIndex < patternLength) {
+        if (pattern[patternIndex] === "*") {
+          lastWildcard = patternIndex;
+          patternIndex++;
+          if (patternIndex === patternLength) {
+            return true;
           }
-        } else if (pr) {
-          debug4("replaceCaret pr", pr);
-          if (M === "0") {
-            if (m === "0") {
-              ret = `>=${M}.${m}.${p}-${pr} <${M}.${m}.${+p + 1}-0`;
-            } else {
-              ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
+          while (namespace[namespaceIndex] !== pattern[patternIndex]) {
+            namespaceIndex++;
+            if (namespaceIndex === namespaceLength) {
+              return false;
             }
-          } else {
-            ret = `>=${M}.${m}.${p}-${pr} <${+M + 1}.0.0-0`;
           }
-        } else {
-          debug4("no pr");
-          if (M === "0") {
-            if (m === "0") {
-              ret = `>=${M}.${m}.${p}${z} <${M}.${m}.${+p + 1}-0`;
-            } else {
-              ret = `>=${M}.${m}.${p}${z} <${M}.${+m + 1}.0-0`;
+          lastWildcardNamespace = namespaceIndex;
+          namespaceIndex++;
+          patternIndex++;
+          continue;
+        } else if (pattern[patternIndex] === namespace[namespaceIndex]) {
+          patternIndex++;
+          namespaceIndex++;
+        } else if (lastWildcard >= 0) {
+          patternIndex = lastWildcard + 1;
+          namespaceIndex = lastWildcardNamespace + 1;
+          if (namespaceIndex === namespaceLength) {
+            return false;
+          }
+          while (namespace[namespaceIndex] !== pattern[patternIndex]) {
+            namespaceIndex++;
+            if (namespaceIndex === namespaceLength) {
+              return false;
             }
-          } else {
-            ret = `>=${M}.${m}.${p} <${+M + 1}.0.0-0`;
           }
+          lastWildcardNamespace = namespaceIndex;
+          namespaceIndex++;
+          patternIndex++;
+          continue;
+        } else {
+          return false;
         }
-        debug4("caret return", ret);
-        return ret;
+      }
+      const namespaceDone = namespaceIndex === namespace.length;
+      const patternDone = patternIndex === pattern.length;
+      const trailingWildCard = patternIndex === pattern.length - 1 && pattern[patternIndex] === "*";
+      return namespaceDone && (patternDone || trailingWildCard);
+    }
+    function disable() {
+      const result = enabledString || "";
+      enable("");
+      return result;
+    }
+    function createDebugger(namespace) {
+      const newDebugger = Object.assign(debug4, {
+        enabled: enabled(namespace),
+        destroy,
+        log: debugObj.log,
+        namespace,
+        extend: extend3
       });
-    };
-    var replaceXRanges = (comp, options) => {
-      debug4("replaceXRanges", comp, options);
-      return comp.split(/\s+/).map((c) => replaceXRange(c, options)).join(" ");
-    };
-    var replaceXRange = (comp, options) => {
-      comp = comp.trim();
-      const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
-      return comp.replace(r, (ret, gtlt, M, m, p, pr) => {
-        debug4("xRange", comp, ret, gtlt, M, m, p, pr);
-        const xM = isX(M);
-        const xm = xM || isX(m);
-        const xp = xm || isX(p);
-        const anyX = xp;
-        if (gtlt === "=" && anyX) {
-          gtlt = "";
+      function debug4(...args) {
+        if (!newDebugger.enabled) {
+          return;
         }
-        pr = options.includePrerelease ? "-0" : "";
-        if (xM) {
-          if (gtlt === ">" || gtlt === "<") {
-            ret = "<0.0.0-0";
-          } else {
-            ret = "*";
-          }
-        } else if (gtlt && anyX) {
-          if (xm) {
-            m = 0;
-          }
-          p = 0;
-          if (gtlt === ">") {
-            gtlt = ">=";
-            if (xm) {
-              M = +M + 1;
-              m = 0;
-              p = 0;
-            } else {
-              m = +m + 1;
-              p = 0;
-            }
-          } else if (gtlt === "<=") {
-            gtlt = "<";
-            if (xm) {
-              M = +M + 1;
-            } else {
-              m = +m + 1;
-            }
-          }
-          if (gtlt === "<") {
-            pr = "-0";
-          }
-          ret = `${gtlt + M}.${m}.${p}${pr}`;
-        } else if (xm) {
-          ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`;
-        } else if (xp) {
-          ret = `>=${M}.${m}.0${pr} <${M}.${+m + 1}.0-0`;
+        if (args.length > 0) {
+          args[0] = `${namespace} ${args[0]}`;
         }
-        debug4("xRange return", ret);
-        return ret;
-      });
-    };
-    var replaceStars = (comp, options) => {
-      debug4("replaceStars", comp, options);
-      return comp.trim().replace(re[t.STAR], "");
-    };
-    var replaceGTE0 = (comp, options) => {
-      debug4("replaceGTE0", comp, options);
-      return comp.trim().replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], "");
-    };
-    var hyphenReplace = (incPr) => ($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr) => {
-      if (isX(fM)) {
-        from = "";
-      } else if (isX(fm)) {
-        from = `>=${fM}.0.0${incPr ? "-0" : ""}`;
-      } else if (isX(fp)) {
-        from = `>=${fM}.${fm}.0${incPr ? "-0" : ""}`;
-      } else if (fpr) {
-        from = `>=${from}`;
-      } else {
-        from = `>=${from}${incPr ? "-0" : ""}`;
+        newDebugger.log(...args);
       }
-      if (isX(tM)) {
-        to = "";
-      } else if (isX(tm)) {
-        to = `<${+tM + 1}.0.0-0`;
-      } else if (isX(tp)) {
-        to = `<${tM}.${+tm + 1}.0-0`;
-      } else if (tpr) {
-        to = `<=${tM}.${tm}.${tp}-${tpr}`;
-      } else if (incPr) {
-        to = `<${tM}.${tm}.${+tp + 1}-0`;
-      } else {
-        to = `<=${to}`;
+      debuggers.push(newDebugger);
+      return newDebugger;
+    }
+    function destroy() {
+      const index = debuggers.indexOf(this);
+      if (index >= 0) {
+        debuggers.splice(index, 1);
+        return true;
       }
-      return `${from} ${to}`.trim();
+      return false;
+    }
+    function extend3(namespace) {
+      const newDebugger = createDebugger(`${this.namespace}:${namespace}`);
+      newDebugger.log = this.log;
+      return newDebugger;
+    }
+    exports2.default = debugObj;
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/logger.js
+var require_logger = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/logger.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.TypeSpecRuntimeLogger = void 0;
+    exports2.createLoggerContext = createLoggerContext;
+    exports2.setLogLevel = setLogLevel;
+    exports2.getLogLevel = getLogLevel;
+    exports2.createClientLogger = createClientLogger;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var debug_js_1 = tslib_1.__importDefault(require_debug2());
+    var TYPESPEC_RUNTIME_LOG_LEVELS = ["verbose", "info", "warning", "error"];
+    var levelMap = {
+      verbose: 400,
+      info: 300,
+      warning: 200,
+      error: 100
     };
-    var testSet = (set2, version, options) => {
-      for (let i = 0; i < set2.length; i++) {
-        if (!set2[i].test(version)) {
-          return false;
+    function patchLogMethod(parent, child) {
+      child.log = (...args) => {
+        parent.log(...args);
+      };
+    }
+    function isTypeSpecRuntimeLogLevel(level) {
+      return TYPESPEC_RUNTIME_LOG_LEVELS.includes(level);
+    }
+    function createLoggerContext(options) {
+      const registeredLoggers = /* @__PURE__ */ new Set();
+      const logLevelFromEnv = typeof process !== "undefined" && process.env && process.env[options.logLevelEnvVarName] || void 0;
+      let logLevel;
+      const clientLogger = (0, debug_js_1.default)(options.namespace);
+      clientLogger.log = (...args) => {
+        debug_js_1.default.log(...args);
+      };
+      function contextSetLogLevel(level) {
+        if (level && !isTypeSpecRuntimeLogLevel(level)) {
+          throw new Error(`Unknown log level '${level}'. Acceptable values: ${TYPESPEC_RUNTIME_LOG_LEVELS.join(",")}`);
         }
-      }
-      if (version.prerelease.length && !options.includePrerelease) {
-        for (let i = 0; i < set2.length; i++) {
-          debug4(set2[i].semver);
-          if (set2[i].semver === Comparator.ANY) {
-            continue;
-          }
-          if (set2[i].semver.prerelease.length > 0) {
-            const allowed = set2[i].semver;
-            if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) {
-              return true;
-            }
+        logLevel = level;
+        const enabledNamespaces = [];
+        for (const logger of registeredLoggers) {
+          if (shouldEnable(logger)) {
+            enabledNamespaces.push(logger.namespace);
           }
         }
-        return false;
+        debug_js_1.default.enable(enabledNamespaces.join(","));
       }
-      return true;
-    };
+      if (logLevelFromEnv) {
+        if (isTypeSpecRuntimeLogLevel(logLevelFromEnv)) {
+          contextSetLogLevel(logLevelFromEnv);
+        } else {
+          console.error(`${options.logLevelEnvVarName} set to unknown log level '${logLevelFromEnv}'; logging is not enabled. Acceptable values: ${TYPESPEC_RUNTIME_LOG_LEVELS.join(", ")}.`);
+        }
+      }
+      function shouldEnable(logger) {
+        return Boolean(logLevel && levelMap[logger.level] <= levelMap[logLevel]);
+      }
+      function createLogger2(parent, level) {
+        const logger = Object.assign(parent.extend(level), {
+          level
+        });
+        patchLogMethod(parent, logger);
+        if (shouldEnable(logger)) {
+          const enabledNamespaces = debug_js_1.default.disable();
+          debug_js_1.default.enable(enabledNamespaces + "," + logger.namespace);
+        }
+        registeredLoggers.add(logger);
+        return logger;
+      }
+      function contextGetLogLevel() {
+        return logLevel;
+      }
+      function contextCreateClientLogger(namespace) {
+        const clientRootLogger = clientLogger.extend(namespace);
+        patchLogMethod(clientLogger, clientRootLogger);
+        return {
+          error: createLogger2(clientRootLogger, "error"),
+          warning: createLogger2(clientRootLogger, "warning"),
+          info: createLogger2(clientRootLogger, "info"),
+          verbose: createLogger2(clientRootLogger, "verbose")
+        };
+      }
+      return {
+        setLogLevel: contextSetLogLevel,
+        getLogLevel: contextGetLogLevel,
+        createClientLogger: contextCreateClientLogger,
+        logger: clientLogger
+      };
+    }
+    var context2 = createLoggerContext({
+      logLevelEnvVarName: "TYPESPEC_RUNTIME_LOG_LEVEL",
+      namespace: "typeSpecRuntime"
+    });
+    exports2.TypeSpecRuntimeLogger = context2.logger;
+    function setLogLevel(logLevel) {
+      context2.setLogLevel(logLevel);
+    }
+    function getLogLevel() {
+      return context2.getLogLevel();
+    }
+    function createClientLogger(namespace) {
+      return context2.createClientLogger(namespace);
+    }
   }
 });
 
-// node_modules/semver/classes/comparator.js
-var require_comparator = __commonJS({
-  "node_modules/semver/classes/comparator.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/httpHeaders.js
+var require_httpHeaders = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/httpHeaders.js"(exports2) {
     "use strict";
-    var ANY = /* @__PURE__ */ Symbol("SemVer ANY");
-    var Comparator = class _Comparator {
-      static get ANY() {
-        return ANY;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createHttpHeaders = createHttpHeaders;
+    function normalizeName(name) {
+      return name.toLowerCase();
+    }
+    function* headerIterator(map2) {
+      for (const entry of map2.values()) {
+        yield [entry.name, entry.value];
       }
-      constructor(comp, options) {
-        options = parseOptions(options);
-        if (comp instanceof _Comparator) {
-          if (comp.loose === !!options.loose) {
-            return comp;
-          } else {
-            comp = comp.value;
+    }
+    var HttpHeadersImpl = class {
+      _headersMap;
+      constructor(rawHeaders) {
+        this._headersMap = /* @__PURE__ */ new Map();
+        if (rawHeaders) {
+          for (const headerName of Object.keys(rawHeaders)) {
+            this.set(headerName, rawHeaders[headerName]);
           }
         }
-        comp = comp.trim().split(/\s+/).join(" ");
-        debug4("comparator", comp, options);
-        this.options = options;
-        this.loose = !!options.loose;
-        this.parse(comp);
-        if (this.semver === ANY) {
-          this.value = "";
-        } else {
-          this.value = this.operator + this.semver.version;
-        }
-        debug4("comp", this);
       }
-      parse(comp) {
-        const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
-        const m = comp.match(r);
-        if (!m) {
-          throw new TypeError(`Invalid comparator: ${comp}`);
-        }
-        this.operator = m[1] !== void 0 ? m[1] : "";
-        if (this.operator === "=") {
-          this.operator = "";
-        }
-        if (!m[2]) {
-          this.semver = ANY;
-        } else {
-          this.semver = new SemVer(m[2], this.options.loose);
-        }
+      /**
+       * Set a header in this collection with the provided name and value. The name is
+       * case-insensitive.
+       * @param name - The name of the header to set. This value is case-insensitive.
+       * @param value - The value of the header to set.
+       */
+      set(name, value) {
+        this._headersMap.set(normalizeName(name), { name, value: String(value).trim() });
       }
-      toString() {
-        return this.value;
+      /**
+       * Get the header value for the provided header name, or undefined if no header exists in this
+       * collection with the provided name.
+       * @param name - The name of the header. This value is case-insensitive.
+       */
+      get(name) {
+        return this._headersMap.get(normalizeName(name))?.value;
       }
-      test(version) {
-        debug4("Comparator.test", version, this.options.loose);
-        if (this.semver === ANY || version === ANY) {
-          return true;
-        }
-        if (typeof version === "string") {
-          try {
-            version = new SemVer(version, this.options);
-          } catch (er) {
-            return false;
-          }
-        }
-        return cmp(version, this.operator, this.semver, this.options);
+      /**
+       * Get whether or not this header collection contains a header entry for the provided header name.
+       * @param name - The name of the header to set. This value is case-insensitive.
+       */
+      has(name) {
+        return this._headersMap.has(normalizeName(name));
       }
-      intersects(comp, options) {
-        if (!(comp instanceof _Comparator)) {
-          throw new TypeError("a Comparator is required");
-        }
-        if (this.operator === "") {
-          if (this.value === "") {
-            return true;
+      /**
+       * Remove the header with the provided headerName.
+       * @param name - The name of the header to remove.
+       */
+      delete(name) {
+        this._headersMap.delete(normalizeName(name));
+      }
+      /**
+       * Get the JSON object representation of this HTTP header collection.
+       */
+      toJSON(options = {}) {
+        const result = {};
+        if (options.preserveCase) {
+          for (const entry of this._headersMap.values()) {
+            result[entry.name] = entry.value;
           }
-          return new Range2(comp.value, options).test(this.value);
-        } else if (comp.operator === "") {
-          if (comp.value === "") {
-            return true;
+        } else {
+          for (const [normalizedName, entry] of this._headersMap) {
+            result[normalizedName] = entry.value;
           }
-          return new Range2(this.value, options).test(comp.semver);
-        }
-        options = parseOptions(options);
-        if (options.includePrerelease && (this.value === "<0.0.0-0" || comp.value === "<0.0.0-0")) {
-          return false;
-        }
-        if (!options.includePrerelease && (this.value.startsWith("<0.0.0") || comp.value.startsWith("<0.0.0"))) {
-          return false;
-        }
-        if (this.operator.startsWith(">") && comp.operator.startsWith(">")) {
-          return true;
-        }
-        if (this.operator.startsWith("<") && comp.operator.startsWith("<")) {
-          return true;
         }
-        if (this.semver.version === comp.semver.version && this.operator.includes("=") && comp.operator.includes("=")) {
-          return true;
-        }
-        if (cmp(this.semver, "<", comp.semver, options) && this.operator.startsWith(">") && comp.operator.startsWith("<")) {
-          return true;
-        }
-        if (cmp(this.semver, ">", comp.semver, options) && this.operator.startsWith("<") && comp.operator.startsWith(">")) {
-          return true;
-        }
-        return false;
+        return result;
+      }
+      /**
+       * Get the string representation of this HTTP header collection.
+       */
+      toString() {
+        return JSON.stringify(this.toJSON({ preserveCase: true }));
+      }
+      /**
+       * Iterate over tuples of header [name, value] pairs.
+       */
+      [Symbol.iterator]() {
+        return headerIterator(this._headersMap);
       }
     };
-    module2.exports = Comparator;
-    var parseOptions = require_parse_options();
-    var { safeRe: re, t } = require_re();
-    var cmp = require_cmp();
-    var debug4 = require_debug();
-    var SemVer = require_semver();
-    var Range2 = require_range();
+    function createHttpHeaders(rawHeaders) {
+      return new HttpHeadersImpl(rawHeaders);
+    }
   }
 });
 
-// node_modules/semver/functions/satisfies.js
-var require_satisfies = __commonJS({
-  "node_modules/semver/functions/satisfies.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/schemes.js
+var require_schemes = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/schemes.js"(exports2) {
     "use strict";
-    var Range2 = require_range();
-    var satisfies2 = (version, range, options) => {
-      try {
-        range = new Range2(range, options);
-      } catch (er) {
-        return false;
-      }
-      return range.test(version);
-    };
-    module2.exports = satisfies2;
+    Object.defineProperty(exports2, "__esModule", { value: true });
   }
 });
 
-// node_modules/semver/ranges/to-comparators.js
-var require_to_comparators = __commonJS({
-  "node_modules/semver/ranges/to-comparators.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/oauth2Flows.js
+var require_oauth2Flows = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/oauth2Flows.js"(exports2) {
     "use strict";
-    var Range2 = require_range();
-    var toComparators = (range, options) => new Range2(range, options).set.map((comp) => comp.map((c) => c.value).join(" ").trim().split(" "));
-    module2.exports = toComparators;
+    Object.defineProperty(exports2, "__esModule", { value: true });
   }
 });
 
-// node_modules/semver/ranges/max-satisfying.js
-var require_max_satisfying = __commonJS({
-  "node_modules/semver/ranges/max-satisfying.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/uuidUtils.js
+var require_uuidUtils = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/uuidUtils.js"(exports2) {
     "use strict";
-    var SemVer = require_semver();
-    var Range2 = require_range();
-    var maxSatisfying = (versions, range, options) => {
-      let max = null;
-      let maxSV = null;
-      let rangeObj = null;
-      try {
-        rangeObj = new Range2(range, options);
-      } catch (er) {
-        return null;
-      }
-      versions.forEach((v) => {
-        if (rangeObj.test(v)) {
-          if (!max || maxSV.compare(v) === -1) {
-            max = v;
-            maxSV = new SemVer(max, options);
-          }
-        }
-      });
-      return max;
-    };
-    module2.exports = maxSatisfying;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.randomUUID = randomUUID;
+    function randomUUID() {
+      return crypto.randomUUID();
+    }
   }
 });
 
-// node_modules/semver/ranges/min-satisfying.js
-var require_min_satisfying = __commonJS({
-  "node_modules/semver/ranges/min-satisfying.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/pipelineRequest.js
+var require_pipelineRequest = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/pipelineRequest.js"(exports2) {
     "use strict";
-    var SemVer = require_semver();
-    var Range2 = require_range();
-    var minSatisfying = (versions, range, options) => {
-      let min = null;
-      let minSV = null;
-      let rangeObj = null;
-      try {
-        rangeObj = new Range2(range, options);
-      } catch (er) {
-        return null;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createPipelineRequest = createPipelineRequest;
+    var httpHeaders_js_1 = require_httpHeaders();
+    var uuidUtils_js_1 = require_uuidUtils();
+    var PipelineRequestImpl = class {
+      url;
+      method;
+      headers;
+      timeout;
+      withCredentials;
+      body;
+      multipartBody;
+      formData;
+      streamResponseStatusCodes;
+      enableBrowserStreams;
+      proxySettings;
+      disableKeepAlive;
+      abortSignal;
+      requestId;
+      allowInsecureConnection;
+      onUploadProgress;
+      onDownloadProgress;
+      requestOverrides;
+      authSchemes;
+      constructor(options) {
+        this.url = options.url;
+        this.body = options.body;
+        this.headers = options.headers ?? (0, httpHeaders_js_1.createHttpHeaders)();
+        this.method = options.method ?? "GET";
+        this.timeout = options.timeout ?? 0;
+        this.multipartBody = options.multipartBody;
+        this.formData = options.formData;
+        this.disableKeepAlive = options.disableKeepAlive ?? false;
+        this.proxySettings = options.proxySettings;
+        this.streamResponseStatusCodes = options.streamResponseStatusCodes;
+        this.withCredentials = options.withCredentials ?? false;
+        this.abortSignal = options.abortSignal;
+        this.onUploadProgress = options.onUploadProgress;
+        this.onDownloadProgress = options.onDownloadProgress;
+        this.requestId = options.requestId || (0, uuidUtils_js_1.randomUUID)();
+        this.allowInsecureConnection = options.allowInsecureConnection ?? false;
+        this.enableBrowserStreams = options.enableBrowserStreams ?? false;
+        this.requestOverrides = options.requestOverrides;
+        this.authSchemes = options.authSchemes;
       }
-      versions.forEach((v) => {
-        if (rangeObj.test(v)) {
-          if (!min || minSV.compare(v) === 1) {
-            min = v;
-            minSV = new SemVer(min, options);
-          }
-        }
-      });
-      return min;
     };
-    module2.exports = minSatisfying;
+    function createPipelineRequest(options) {
+      return new PipelineRequestImpl(options);
+    }
   }
 });
 
-// node_modules/semver/ranges/min-version.js
-var require_min_version = __commonJS({
-  "node_modules/semver/ranges/min-version.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/pipeline.js
+var require_pipeline = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/pipeline.js"(exports2) {
     "use strict";
-    var SemVer = require_semver();
-    var Range2 = require_range();
-    var gt = require_gt();
-    var minVersion = (range, loose) => {
-      range = new Range2(range, loose);
-      let minver = new SemVer("0.0.0");
-      if (range.test(minver)) {
-        return minver;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createEmptyPipeline = createEmptyPipeline;
+    var ValidPhaseNames = /* @__PURE__ */ new Set(["Deserialize", "Serialize", "Retry", "Sign"]);
+    var HttpPipeline = class _HttpPipeline {
+      _policies = [];
+      _orderedPolicies;
+      constructor(policies) {
+        this._policies = policies?.slice(0) ?? [];
+        this._orderedPolicies = void 0;
       }
-      minver = new SemVer("0.0.0-0");
-      if (range.test(minver)) {
-        return minver;
+      addPolicy(policy, options = {}) {
+        if (options.phase && options.afterPhase) {
+          throw new Error("Policies inside a phase cannot specify afterPhase.");
+        }
+        if (options.phase && !ValidPhaseNames.has(options.phase)) {
+          throw new Error(`Invalid phase name: ${options.phase}`);
+        }
+        if (options.afterPhase && !ValidPhaseNames.has(options.afterPhase)) {
+          throw new Error(`Invalid afterPhase name: ${options.afterPhase}`);
+        }
+        this._policies.push({
+          policy,
+          options
+        });
+        this._orderedPolicies = void 0;
       }
-      minver = null;
-      for (let i = 0; i < range.set.length; ++i) {
-        const comparators = range.set[i];
-        let setMin = null;
-        comparators.forEach((comparator) => {
-          const compver = new SemVer(comparator.semver.version);
-          switch (comparator.operator) {
-            case ">":
-              if (compver.prerelease.length === 0) {
-                compver.patch++;
-              } else {
-                compver.prerelease.push(0);
-              }
-              compver.raw = compver.format();
-            /* fallthrough */
-            case "":
-            case ">=":
-              if (!setMin || gt(compver, setMin)) {
-                setMin = compver;
-              }
-              break;
-            case "<":
-            case "<=":
-              break;
-            /* istanbul ignore next */
-            default:
-              throw new Error(`Unexpected operation: ${comparator.operator}`);
+      removePolicy(options) {
+        const removedPolicies = [];
+        this._policies = this._policies.filter((policyDescriptor) => {
+          if (options.name && policyDescriptor.policy.name === options.name || options.phase && policyDescriptor.options.phase === options.phase) {
+            removedPolicies.push(policyDescriptor.policy);
+            return false;
+          } else {
+            return true;
           }
         });
-        if (setMin && (!minver || gt(minver, setMin))) {
-          minver = setMin;
-        }
+        this._orderedPolicies = void 0;
+        return removedPolicies;
       }
-      if (minver && range.test(minver)) {
-        return minver;
+      sendRequest(httpClient, request2) {
+        const policies = this.getOrderedPolicies();
+        const pipeline = policies.reduceRight((next, policy) => {
+          return (req) => {
+            return policy.sendRequest(req, next);
+          };
+        }, (req) => httpClient.sendRequest(req));
+        return pipeline(request2);
       }
-      return null;
-    };
-    module2.exports = minVersion;
-  }
-});
-
-// node_modules/semver/ranges/valid.js
-var require_valid2 = __commonJS({
-  "node_modules/semver/ranges/valid.js"(exports2, module2) {
-    "use strict";
-    var Range2 = require_range();
-    var validRange = (range, options) => {
-      try {
-        return new Range2(range, options).range || "*";
-      } catch (er) {
-        return null;
+      getOrderedPolicies() {
+        if (!this._orderedPolicies) {
+          this._orderedPolicies = this.orderPolicies();
+        }
+        return this._orderedPolicies;
       }
-    };
-    module2.exports = validRange;
-  }
-});
-
-// node_modules/semver/ranges/outside.js
-var require_outside = __commonJS({
-  "node_modules/semver/ranges/outside.js"(exports2, module2) {
-    "use strict";
-    var SemVer = require_semver();
-    var Comparator = require_comparator();
-    var { ANY } = Comparator;
-    var Range2 = require_range();
-    var satisfies2 = require_satisfies();
-    var gt = require_gt();
-    var lt = require_lt();
-    var lte = require_lte();
-    var gte6 = require_gte();
-    var outside = (version, range, hilo, options) => {
-      version = new SemVer(version, options);
-      range = new Range2(range, options);
-      let gtfn, ltefn, ltfn, comp, ecomp;
-      switch (hilo) {
-        case ">":
-          gtfn = gt;
-          ltefn = lte;
-          ltfn = lt;
-          comp = ">";
-          ecomp = ">=";
-          break;
-        case "<":
-          gtfn = lt;
-          ltefn = gte6;
-          ltfn = gt;
-          comp = "<";
-          ecomp = "<=";
-          break;
-        default:
-          throw new TypeError('Must provide a hilo val of "<" or ">"');
+      clone() {
+        return new _HttpPipeline(this._policies);
       }
-      if (satisfies2(version, range, options)) {
-        return false;
+      static create() {
+        return new _HttpPipeline();
       }
-      for (let i = 0; i < range.set.length; ++i) {
-        const comparators = range.set[i];
-        let high = null;
-        let low = null;
-        comparators.forEach((comparator) => {
-          if (comparator.semver === ANY) {
-            comparator = new Comparator(">=0.0.0");
+      orderPolicies() {
+        const result = [];
+        const policyMap = /* @__PURE__ */ new Map();
+        function createPhase(name) {
+          return {
+            name,
+            policies: /* @__PURE__ */ new Set(),
+            hasRun: false,
+            hasAfterPolicies: false
+          };
+        }
+        const serializePhase = createPhase("Serialize");
+        const noPhase = createPhase("None");
+        const deserializePhase = createPhase("Deserialize");
+        const retryPhase = createPhase("Retry");
+        const signPhase = createPhase("Sign");
+        const orderedPhases = [serializePhase, noPhase, deserializePhase, retryPhase, signPhase];
+        function getPhase(phase) {
+          if (phase === "Retry") {
+            return retryPhase;
+          } else if (phase === "Serialize") {
+            return serializePhase;
+          } else if (phase === "Deserialize") {
+            return deserializePhase;
+          } else if (phase === "Sign") {
+            return signPhase;
+          } else {
+            return noPhase;
+          }
+        }
+        for (const descriptor of this._policies) {
+          const policy = descriptor.policy;
+          const options = descriptor.options;
+          const policyName = policy.name;
+          if (policyMap.has(policyName)) {
+            throw new Error("Duplicate policy names not allowed in pipeline");
+          }
+          const node = {
+            policy,
+            dependsOn: /* @__PURE__ */ new Set(),
+            dependants: /* @__PURE__ */ new Set()
+          };
+          if (options.afterPhase) {
+            node.afterPhase = getPhase(options.afterPhase);
+            node.afterPhase.hasAfterPolicies = true;
+          }
+          policyMap.set(policyName, node);
+          const phase = getPhase(options.phase);
+          phase.policies.add(node);
+        }
+        for (const descriptor of this._policies) {
+          const { policy, options } = descriptor;
+          const policyName = policy.name;
+          const node = policyMap.get(policyName);
+          if (!node) {
+            throw new Error(`Missing node for policy ${policyName}`);
           }
-          high = high || comparator;
-          low = low || comparator;
-          if (gtfn(comparator.semver, high.semver, options)) {
-            high = comparator;
-          } else if (ltfn(comparator.semver, low.semver, options)) {
-            low = comparator;
+          if (options.afterPolicies) {
+            for (const afterPolicyName of options.afterPolicies) {
+              const afterNode = policyMap.get(afterPolicyName);
+              if (afterNode) {
+                node.dependsOn.add(afterNode);
+                afterNode.dependants.add(node);
+              }
+            }
+          }
+          if (options.beforePolicies) {
+            for (const beforePolicyName of options.beforePolicies) {
+              const beforeNode = policyMap.get(beforePolicyName);
+              if (beforeNode) {
+                beforeNode.dependsOn.add(node);
+                node.dependants.add(beforeNode);
+              }
+            }
           }
-        });
-        if (high.operator === comp || high.operator === ecomp) {
-          return false;
         }
-        if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) {
-          return false;
-        } else if (low.operator === ecomp && ltfn(version, low.semver)) {
-          return false;
+        function walkPhase(phase) {
+          phase.hasRun = true;
+          for (const node of phase.policies) {
+            if (node.afterPhase && (!node.afterPhase.hasRun || node.afterPhase.policies.size)) {
+              continue;
+            }
+            if (node.dependsOn.size === 0) {
+              result.push(node.policy);
+              for (const dependant of node.dependants) {
+                dependant.dependsOn.delete(node);
+              }
+              policyMap.delete(node.policy.name);
+              phase.policies.delete(node);
+            }
+          }
+        }
+        function walkPhases() {
+          for (const phase of orderedPhases) {
+            walkPhase(phase);
+            if (phase.policies.size > 0 && phase !== noPhase) {
+              if (!noPhase.hasRun) {
+                walkPhase(noPhase);
+              }
+              return;
+            }
+            if (phase.hasAfterPolicies) {
+              walkPhase(noPhase);
+            }
+          }
+        }
+        let iteration = 0;
+        while (policyMap.size > 0) {
+          iteration++;
+          const initialResultLength = result.length;
+          walkPhases();
+          if (result.length <= initialResultLength && iteration > 1) {
+            throw new Error("Cannot satisfy policy dependencies due to requirements cycle.");
+          }
         }
+        return result;
       }
-      return true;
     };
-    module2.exports = outside;
+    function createEmptyPipeline() {
+      return HttpPipeline.create();
+    }
   }
 });
 
-// node_modules/semver/ranges/gtr.js
-var require_gtr = __commonJS({
-  "node_modules/semver/ranges/gtr.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/object.js
+var require_object = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/object.js"(exports2) {
     "use strict";
-    var outside = require_outside();
-    var gtr = (version, range, options) => outside(version, range, ">", options);
-    module2.exports = gtr;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isObject = isObject2;
+    function isObject2(input) {
+      return typeof input === "object" && input !== null && !Array.isArray(input) && !(input instanceof RegExp) && !(input instanceof Date);
+    }
   }
 });
 
-// node_modules/semver/ranges/ltr.js
-var require_ltr = __commonJS({
-  "node_modules/semver/ranges/ltr.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/error.js
+var require_error = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/error.js"(exports2) {
     "use strict";
-    var outside = require_outside();
-    var ltr = (version, range, options) => outside(version, range, "<", options);
-    module2.exports = ltr;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isError = isError;
+    var object_js_1 = require_object();
+    function isError(e) {
+      if ((0, object_js_1.isObject)(e)) {
+        const hasName = typeof e.name === "string";
+        const hasMessage = typeof e.message === "string";
+        return hasName && hasMessage;
+      }
+      return false;
+    }
   }
 });
 
-// node_modules/semver/ranges/intersects.js
-var require_intersects = __commonJS({
-  "node_modules/semver/ranges/intersects.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/inspect.js
+var require_inspect = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/inspect.js"(exports2) {
     "use strict";
-    var Range2 = require_range();
-    var intersects = (r1, r2, options) => {
-      r1 = new Range2(r1, options);
-      r2 = new Range2(r2, options);
-      return r1.intersects(r2, options);
-    };
-    module2.exports = intersects;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.custom = void 0;
+    var node_util_1 = require("node:util");
+    exports2.custom = node_util_1.inspect.custom;
   }
 });
 
-// node_modules/semver/ranges/simplify.js
-var require_simplify = __commonJS({
-  "node_modules/semver/ranges/simplify.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/sanitizer.js
+var require_sanitizer = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/sanitizer.js"(exports2) {
     "use strict";
-    var satisfies2 = require_satisfies();
-    var compare2 = require_compare();
-    module2.exports = (versions, range, options) => {
-      const set2 = [];
-      let first = null;
-      let prev = null;
-      const v = versions.sort((a, b) => compare2(a, b, options));
-      for (const version of v) {
-        const included = satisfies2(version, range, options);
-        if (included) {
-          prev = version;
-          if (!first) {
-            first = version;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Sanitizer = void 0;
+    var object_js_1 = require_object();
+    var RedactedString = "REDACTED";
+    var defaultAllowedHeaderNames = [
+      "x-ms-client-request-id",
+      "x-ms-return-client-request-id",
+      "x-ms-useragent",
+      "x-ms-correlation-request-id",
+      "x-ms-request-id",
+      "client-request-id",
+      "ms-cv",
+      "return-client-request-id",
+      "traceparent",
+      "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",
+      "Origin",
+      "Accept",
+      "Accept-Encoding",
+      "Cache-Control",
+      "Connection",
+      "Content-Length",
+      "Content-Type",
+      "Date",
+      "ETag",
+      "Expires",
+      "If-Match",
+      "If-Modified-Since",
+      "If-None-Match",
+      "If-Unmodified-Since",
+      "Last-Modified",
+      "Pragma",
+      "Request-Id",
+      "Retry-After",
+      "Server",
+      "Transfer-Encoding",
+      "User-Agent",
+      "WWW-Authenticate"
+    ];
+    var defaultAllowedQueryParameters = ["api-version"];
+    var Sanitizer = class {
+      allowedHeaderNames;
+      allowedQueryParameters;
+      constructor({ additionalAllowedHeaderNames: allowedHeaderNames = [], additionalAllowedQueryParameters: allowedQueryParameters = [] } = {}) {
+        allowedHeaderNames = defaultAllowedHeaderNames.concat(allowedHeaderNames);
+        allowedQueryParameters = defaultAllowedQueryParameters.concat(allowedQueryParameters);
+        this.allowedHeaderNames = new Set(allowedHeaderNames.map((n) => n.toLowerCase()));
+        this.allowedQueryParameters = new Set(allowedQueryParameters.map((p) => p.toLowerCase()));
+      }
+      /**
+       * Sanitizes an object for logging.
+       * @param obj - The object to sanitize
+       * @returns - The sanitized object as a string
+       */
+      sanitize(obj) {
+        const seen = /* @__PURE__ */ new Set();
+        return JSON.stringify(obj, (key, value) => {
+          if (value instanceof Error) {
+            return {
+              ...value,
+              name: value.name,
+              message: value.message
+            };
           }
-        } else {
-          if (prev) {
-            set2.push([first, prev]);
+          if (key === "headers") {
+            return this.sanitizeHeaders(value);
+          } else if (key === "url") {
+            return this.sanitizeUrl(value);
+          } else if (key === "query") {
+            return this.sanitizeQuery(value);
+          } else if (key === "body") {
+            return void 0;
+          } else if (key === "response") {
+            return void 0;
+          } else if (key === "operationSpec") {
+            return void 0;
+          } else if (Array.isArray(value) || (0, object_js_1.isObject)(value)) {
+            if (seen.has(value)) {
+              return "[Circular]";
+            }
+            seen.add(value);
+          }
+          return value;
+        }, 2);
+      }
+      /**
+       * Sanitizes a URL for logging.
+       * @param value - The URL to sanitize
+       * @returns - The sanitized URL as a string
+       */
+      sanitizeUrl(value) {
+        if (typeof value !== "string" || value === null || value === "") {
+          return value;
+        }
+        const url = new URL(value);
+        if (!url.search) {
+          return value;
+        }
+        for (const [key] of url.searchParams) {
+          if (!this.allowedQueryParameters.has(key.toLowerCase())) {
+            url.searchParams.set(key, RedactedString);
           }
-          prev = null;
-          first = null;
         }
+        return url.toString();
       }
-      if (first) {
-        set2.push([first, null]);
+      sanitizeHeaders(obj) {
+        const sanitized = {};
+        for (const key of Object.keys(obj)) {
+          if (this.allowedHeaderNames.has(key.toLowerCase())) {
+            sanitized[key] = obj[key];
+          } else {
+            sanitized[key] = RedactedString;
+          }
+        }
+        return sanitized;
       }
-      const ranges = [];
-      for (const [min, max] of set2) {
-        if (min === max) {
-          ranges.push(min);
-        } else if (!max && min === v[0]) {
-          ranges.push("*");
-        } else if (!max) {
-          ranges.push(`>=${min}`);
-        } else if (min === v[0]) {
-          ranges.push(`<=${max}`);
-        } else {
-          ranges.push(`${min} - ${max}`);
+      sanitizeQuery(value) {
+        if (typeof value !== "object" || value === null) {
+          return value;
+        }
+        const sanitized = {};
+        for (const k of Object.keys(value)) {
+          if (this.allowedQueryParameters.has(k.toLowerCase())) {
+            sanitized[k] = value[k];
+          } else {
+            sanitized[k] = RedactedString;
+          }
         }
+        return sanitized;
       }
-      const simplified = ranges.join(" || ");
-      const original = typeof range.raw === "string" ? range.raw : String(range);
-      return simplified.length < original.length ? simplified : range;
     };
+    exports2.Sanitizer = Sanitizer;
   }
 });
 
-// node_modules/semver/ranges/subset.js
-var require_subset = __commonJS({
-  "node_modules/semver/ranges/subset.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/restError.js
+var require_restError = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/restError.js"(exports2) {
     "use strict";
-    var Range2 = require_range();
-    var Comparator = require_comparator();
-    var { ANY } = Comparator;
-    var satisfies2 = require_satisfies();
-    var compare2 = require_compare();
-    var subset = (sub, dom, options = {}) => {
-      if (sub === dom) {
-        return true;
-      }
-      sub = new Range2(sub, options);
-      dom = new Range2(dom, options);
-      let sawNonNull = false;
-      OUTER: for (const simpleSub of sub.set) {
-        for (const simpleDom of dom.set) {
-          const isSub = simpleSubset(simpleSub, simpleDom, options);
-          sawNonNull = sawNonNull || isSub !== null;
-          if (isSub) {
-            continue OUTER;
-          }
-        }
-        if (sawNonNull) {
-          return false;
-        }
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.RestError = void 0;
+    exports2.isRestError = isRestError;
+    var error_js_1 = require_error();
+    var inspect_js_1 = require_inspect();
+    var sanitizer_js_1 = require_sanitizer();
+    var errorSanitizer = new sanitizer_js_1.Sanitizer();
+    var RestError = class _RestError extends Error {
+      /**
+       * Something went wrong when making the request.
+       * This means the actual request failed for some reason,
+       * such as a DNS issue or the connection being lost.
+       */
+      static REQUEST_SEND_ERROR = "REQUEST_SEND_ERROR";
+      /**
+       * This means that parsing the response from the server failed.
+       * It may have been malformed.
+       */
+      static PARSE_ERROR = "PARSE_ERROR";
+      /**
+       * The code of the error itself (use statics on RestError if possible.)
+       */
+      code;
+      /**
+       * The HTTP status code of the request (if applicable.)
+       */
+      statusCode;
+      /**
+       * The request that was made.
+       * This property is non-enumerable.
+       */
+      request;
+      /**
+       * The response received (if any.)
+       * This property is non-enumerable.
+       */
+      response;
+      /**
+       * Bonus property set by the throw site.
+       */
+      details;
+      constructor(message, options = {}) {
+        super(message);
+        this.name = "RestError";
+        this.code = options.code;
+        this.statusCode = options.statusCode;
+        Object.defineProperty(this, "request", { value: options.request, enumerable: false });
+        Object.defineProperty(this, "response", { value: options.response, enumerable: false });
+        const agent = this.request?.agent ? {
+          maxFreeSockets: this.request.agent.maxFreeSockets,
+          maxSockets: this.request.agent.maxSockets
+        } : void 0;
+        Object.defineProperty(this, inspect_js_1.custom, {
+          value: () => {
+            return `RestError: ${this.message} 
+ ${errorSanitizer.sanitize({
+              ...this,
+              request: { ...this.request, agent },
+              response: this.response
+            })}`;
+          },
+          enumerable: false
+        });
+        Object.setPrototypeOf(this, _RestError.prototype);
       }
-      return true;
     };
-    var minimumVersionWithPreRelease = [new Comparator(">=0.0.0-0")];
-    var minimumVersion2 = [new Comparator(">=0.0.0")];
-    var simpleSubset = (sub, dom, options) => {
-      if (sub === dom) {
+    exports2.RestError = RestError;
+    function isRestError(e) {
+      if (e instanceof RestError) {
         return true;
       }
-      if (sub.length === 1 && sub[0].semver === ANY) {
-        if (dom.length === 1 && dom[0].semver === ANY) {
-          return true;
-        } else if (options.includePrerelease) {
-          sub = minimumVersionWithPreRelease;
-        } else {
-          sub = minimumVersion2;
-        }
-      }
-      if (dom.length === 1 && dom[0].semver === ANY) {
-        if (options.includePrerelease) {
-          return true;
-        } else {
-          dom = minimumVersion2;
-        }
-      }
-      const eqSet = /* @__PURE__ */ new Set();
-      let gt, lt;
-      for (const c of sub) {
-        if (c.operator === ">" || c.operator === ">=") {
-          gt = higherGT(gt, c, options);
-        } else if (c.operator === "<" || c.operator === "<=") {
-          lt = lowerLT(lt, c, options);
-        } else {
-          eqSet.add(c.semver);
-        }
-      }
-      if (eqSet.size > 1) {
-        return null;
+      return (0, error_js_1.isError)(e) && e.name === "RestError";
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/bytesEncoding.js
+var require_bytesEncoding = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/bytesEncoding.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.uint8ArrayToString = uint8ArrayToString;
+    exports2.stringToUint8Array = stringToUint8Array;
+    function uint8ArrayToString(bytes, format) {
+      return Buffer.from(bytes).toString(format);
+    }
+    function stringToUint8Array(value, format) {
+      return Buffer.from(value, format);
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/log.js
+var require_log2 = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/log.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.logger = void 0;
+    var logger_js_1 = require_logger();
+    exports2.logger = (0, logger_js_1.createClientLogger)("ts-http-runtime");
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/nodeHttpClient.js
+var require_nodeHttpClient = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/nodeHttpClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getBodyLength = getBodyLength;
+    exports2.createNodeHttpClient = createNodeHttpClient;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var node_http_1 = tslib_1.__importDefault(require("node:http"));
+    var node_https_1 = tslib_1.__importDefault(require("node:https"));
+    var node_zlib_1 = tslib_1.__importDefault(require("node:zlib"));
+    var node_stream_1 = require("node:stream");
+    var AbortError_js_1 = require_AbortError();
+    var httpHeaders_js_1 = require_httpHeaders();
+    var restError_js_1 = require_restError();
+    var log_js_1 = require_log2();
+    var sanitizer_js_1 = require_sanitizer();
+    var DEFAULT_TLS_SETTINGS = {};
+    function isReadableStream(body) {
+      return body && typeof body.pipe === "function";
+    }
+    function isStreamComplete(stream) {
+      if (stream.readable === false) {
+        return Promise.resolve();
       }
-      let gtltComp;
-      if (gt && lt) {
-        gtltComp = compare2(gt.semver, lt.semver, options);
-        if (gtltComp > 0) {
-          return null;
-        } else if (gtltComp === 0 && (gt.operator !== ">=" || lt.operator !== "<=")) {
-          return null;
+      return new Promise((resolve3) => {
+        const handler2 = () => {
+          resolve3();
+          stream.removeListener("close", handler2);
+          stream.removeListener("end", handler2);
+          stream.removeListener("error", handler2);
+        };
+        stream.on("close", handler2);
+        stream.on("end", handler2);
+        stream.on("error", handler2);
+      });
+    }
+    function isArrayBuffer(body) {
+      return body && typeof body.byteLength === "number";
+    }
+    var ReportTransform = class extends node_stream_1.Transform {
+      loadedBytes = 0;
+      progressCallback;
+      // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
+      _transform(chunk, _encoding, callback) {
+        this.push(chunk);
+        this.loadedBytes += chunk.length;
+        try {
+          this.progressCallback({ loadedBytes: this.loadedBytes });
+          callback();
+        } catch (e) {
+          callback(e);
         }
       }
-      for (const eq of eqSet) {
-        if (gt && !satisfies2(eq, String(gt), options)) {
-          return null;
+      constructor(progressCallback) {
+        super();
+        this.progressCallback = progressCallback;
+      }
+    };
+    var NodeHttpClient = class {
+      cachedHttpAgent;
+      cachedHttpsAgents = /* @__PURE__ */ new WeakMap();
+      /**
+       * Makes a request over an underlying transport layer and returns the response.
+       * @param request - The request to be made.
+       */
+      async sendRequest(request2) {
+        const abortController = new AbortController();
+        let abortListener;
+        if (request2.abortSignal) {
+          if (request2.abortSignal.aborted) {
+            throw new AbortError_js_1.AbortError("The operation was aborted. Request has already been canceled.");
+          }
+          abortListener = (event) => {
+            if (event.type === "abort") {
+              abortController.abort();
+            }
+          };
+          request2.abortSignal.addEventListener("abort", abortListener);
         }
-        if (lt && !satisfies2(eq, String(lt), options)) {
-          return null;
+        let timeoutId;
+        if (request2.timeout > 0) {
+          timeoutId = setTimeout(() => {
+            const sanitizer = new sanitizer_js_1.Sanitizer();
+            log_js_1.logger.info(`request to '${sanitizer.sanitizeUrl(request2.url)}' timed out. canceling...`);
+            abortController.abort();
+          }, request2.timeout);
         }
-        for (const c of dom) {
-          if (!satisfies2(eq, String(c), options)) {
-            return false;
+        const acceptEncoding = request2.headers.get("Accept-Encoding");
+        const shouldDecompress = acceptEncoding?.includes("gzip") || acceptEncoding?.includes("deflate");
+        let body = typeof request2.body === "function" ? request2.body() : request2.body;
+        if (body && !request2.headers.has("Content-Length")) {
+          const bodyLength = getBodyLength(body);
+          if (bodyLength !== null) {
+            request2.headers.set("Content-Length", bodyLength);
           }
         }
-        return true;
-      }
-      let higher, lower;
-      let hasDomLT, hasDomGT;
-      let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false;
-      let needDomGTPre = gt && !options.includePrerelease && gt.semver.prerelease.length ? gt.semver : false;
-      if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt.operator === "<" && needDomLTPre.prerelease[0] === 0) {
-        needDomLTPre = false;
-      }
-      for (const c of dom) {
-        hasDomGT = hasDomGT || c.operator === ">" || c.operator === ">=";
-        hasDomLT = hasDomLT || c.operator === "<" || c.operator === "<=";
-        if (gt) {
-          if (needDomGTPre) {
-            if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomGTPre.major && c.semver.minor === needDomGTPre.minor && c.semver.patch === needDomGTPre.patch) {
-              needDomGTPre = false;
+        let responseStream;
+        try {
+          if (body && request2.onUploadProgress) {
+            const onUploadProgress = request2.onUploadProgress;
+            const uploadReportStream = new ReportTransform(onUploadProgress);
+            uploadReportStream.on("error", (e) => {
+              log_js_1.logger.error("Error in upload progress", e);
+            });
+            if (isReadableStream(body)) {
+              body.pipe(uploadReportStream);
+            } else {
+              uploadReportStream.end(body);
             }
+            body = uploadReportStream;
           }
-          if (c.operator === ">" || c.operator === ">=") {
-            higher = higherGT(gt, c, options);
-            if (higher === c && higher !== gt) {
-              return false;
-            }
-          } else if (gt.operator === ">=" && !satisfies2(gt.semver, String(c), options)) {
-            return false;
+          const res = await this.makeRequest(request2, abortController, body);
+          if (timeoutId !== void 0) {
+            clearTimeout(timeoutId);
           }
-        }
-        if (lt) {
-          if (needDomLTPre) {
-            if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomLTPre.major && c.semver.minor === needDomLTPre.minor && c.semver.patch === needDomLTPre.patch) {
-              needDomLTPre = false;
-            }
+          const headers = getResponseHeaders(res);
+          const status = res.statusCode ?? 0;
+          const response = {
+            status,
+            headers,
+            request: request2
+          };
+          if (request2.method === "HEAD") {
+            res.resume();
+            return response;
           }
-          if (c.operator === "<" || c.operator === "<=") {
-            lower = lowerLT(lt, c, options);
-            if (lower === c && lower !== lt) {
-              return false;
+          responseStream = shouldDecompress ? getDecodedResponseStream(res, headers) : res;
+          const onDownloadProgress = request2.onDownloadProgress;
+          if (onDownloadProgress) {
+            const downloadReportStream = new ReportTransform(onDownloadProgress);
+            downloadReportStream.on("error", (e) => {
+              log_js_1.logger.error("Error in download progress", e);
+            });
+            responseStream.pipe(downloadReportStream);
+            responseStream = downloadReportStream;
+          }
+          if (
+            // Value of POSITIVE_INFINITY in streamResponseStatusCodes is considered as any status code
+            request2.streamResponseStatusCodes?.has(Number.POSITIVE_INFINITY) || request2.streamResponseStatusCodes?.has(response.status)
+          ) {
+            response.readableStreamBody = responseStream;
+          } else {
+            response.bodyAsText = await streamToText(responseStream);
+          }
+          return response;
+        } finally {
+          if (request2.abortSignal && abortListener) {
+            let uploadStreamDone = Promise.resolve();
+            if (isReadableStream(body)) {
+              uploadStreamDone = isStreamComplete(body);
             }
-          } else if (lt.operator === "<=" && !satisfies2(lt.semver, String(c), options)) {
-            return false;
+            let downloadStreamDone = Promise.resolve();
+            if (isReadableStream(responseStream)) {
+              downloadStreamDone = isStreamComplete(responseStream);
+            }
+            Promise.all([uploadStreamDone, downloadStreamDone]).then(() => {
+              if (abortListener) {
+                request2.abortSignal?.removeEventListener("abort", abortListener);
+              }
+            }).catch((e) => {
+              log_js_1.logger.warning("Error when cleaning up abortListener on httpRequest", e);
+            });
           }
         }
-        if (!c.operator && (lt || gt) && gtltComp !== 0) {
-          return false;
-        }
       }
-      if (gt && hasDomLT && !lt && gtltComp !== 0) {
-        return false;
-      }
-      if (lt && hasDomGT && !gt && gtltComp !== 0) {
-        return false;
+      makeRequest(request2, abortController, body) {
+        const url = new URL(request2.url);
+        const isInsecure = url.protocol !== "https:";
+        if (isInsecure && !request2.allowInsecureConnection) {
+          throw new Error(`Cannot connect to ${request2.url} while allowInsecureConnection is false.`);
+        }
+        const agent = request2.agent ?? this.getOrCreateAgent(request2, isInsecure);
+        const options = {
+          agent,
+          hostname: url.hostname,
+          path: `${url.pathname}${url.search}`,
+          port: url.port,
+          method: request2.method,
+          headers: request2.headers.toJSON({ preserveCase: true }),
+          ...request2.requestOverrides
+        };
+        return new Promise((resolve3, reject) => {
+          const req = isInsecure ? node_http_1.default.request(options, resolve3) : node_https_1.default.request(options, resolve3);
+          req.once("error", (err) => {
+            reject(new restError_js_1.RestError(err.message, { code: err.code ?? restError_js_1.RestError.REQUEST_SEND_ERROR, request: request2 }));
+          });
+          abortController.signal.addEventListener("abort", () => {
+            const abortError = new AbortError_js_1.AbortError("The operation was aborted. Rejecting from abort signal callback while making request.");
+            req.destroy(abortError);
+            reject(abortError);
+          });
+          if (body && isReadableStream(body)) {
+            body.pipe(req);
+          } else if (body) {
+            if (typeof body === "string" || Buffer.isBuffer(body)) {
+              req.end(body);
+            } else if (isArrayBuffer(body)) {
+              req.end(ArrayBuffer.isView(body) ? Buffer.from(body.buffer) : Buffer.from(body));
+            } else {
+              log_js_1.logger.error("Unrecognized body type", body);
+              reject(new restError_js_1.RestError("Unrecognized body type"));
+            }
+          } else {
+            req.end();
+          }
+        });
       }
-      if (needDomGTPre || needDomLTPre) {
-        return false;
+      getOrCreateAgent(request2, isInsecure) {
+        const disableKeepAlive = request2.disableKeepAlive;
+        if (isInsecure) {
+          if (disableKeepAlive) {
+            return node_http_1.default.globalAgent;
+          }
+          if (!this.cachedHttpAgent) {
+            this.cachedHttpAgent = new node_http_1.default.Agent({ keepAlive: true });
+          }
+          return this.cachedHttpAgent;
+        } else {
+          if (disableKeepAlive && !request2.tlsSettings) {
+            return node_https_1.default.globalAgent;
+          }
+          const tlsSettings = request2.tlsSettings ?? DEFAULT_TLS_SETTINGS;
+          let agent = this.cachedHttpsAgents.get(tlsSettings);
+          if (agent && agent.options.keepAlive === !disableKeepAlive) {
+            return agent;
+          }
+          log_js_1.logger.info("No cached TLS Agent exist, creating a new Agent");
+          agent = new node_https_1.default.Agent({
+            // keepAlive is true if disableKeepAlive is false.
+            keepAlive: !disableKeepAlive,
+            // Since we are spreading, if no tslSettings were provided, nothing is added to the agent options.
+            ...tlsSettings
+          });
+          this.cachedHttpsAgents.set(tlsSettings, agent);
+          return agent;
+        }
       }
-      return true;
     };
-    var higherGT = (a, b, options) => {
-      if (!a) {
-        return b;
+    function getResponseHeaders(res) {
+      const headers = (0, httpHeaders_js_1.createHttpHeaders)();
+      for (const header of Object.keys(res.headers)) {
+        const value = res.headers[header];
+        if (Array.isArray(value)) {
+          if (value.length > 0) {
+            headers.set(header, value[0]);
+          }
+        } else if (value) {
+          headers.set(header, value);
+        }
       }
-      const comp = compare2(a.semver, b.semver, options);
-      return comp > 0 ? a : comp < 0 ? b : b.operator === ">" && a.operator === ">=" ? b : a;
-    };
-    var lowerLT = (a, b, options) => {
-      if (!a) {
-        return b;
+      return headers;
+    }
+    function getDecodedResponseStream(stream, headers) {
+      const contentEncoding = headers.get("Content-Encoding");
+      if (contentEncoding === "gzip") {
+        const unzip = node_zlib_1.default.createGunzip();
+        stream.pipe(unzip);
+        return unzip;
+      } else if (contentEncoding === "deflate") {
+        const inflate = node_zlib_1.default.createInflate();
+        stream.pipe(inflate);
+        return inflate;
       }
-      const comp = compare2(a.semver, b.semver, options);
-      return comp < 0 ? a : comp > 0 ? b : b.operator === "<" && a.operator === "<=" ? b : a;
-    };
-    module2.exports = subset;
+      return stream;
+    }
+    function streamToText(stream) {
+      return new Promise((resolve3, reject) => {
+        const buffer = [];
+        stream.on("data", (chunk) => {
+          if (Buffer.isBuffer(chunk)) {
+            buffer.push(chunk);
+          } else {
+            buffer.push(Buffer.from(chunk));
+          }
+        });
+        stream.on("end", () => {
+          resolve3(Buffer.concat(buffer).toString("utf8"));
+        });
+        stream.on("error", (e) => {
+          if (e && e?.name === "AbortError") {
+            reject(e);
+          } else {
+            reject(new restError_js_1.RestError(`Error reading response as text: ${e.message}`, {
+              code: restError_js_1.RestError.PARSE_ERROR
+            }));
+          }
+        });
+      });
+    }
+    function getBodyLength(body) {
+      if (!body) {
+        return 0;
+      } else if (Buffer.isBuffer(body)) {
+        return body.length;
+      } else if (isReadableStream(body)) {
+        return null;
+      } else if (isArrayBuffer(body)) {
+        return body.byteLength;
+      } else if (typeof body === "string") {
+        return Buffer.from(body).length;
+      } else {
+        return null;
+      }
+    }
+    function createNodeHttpClient() {
+      return new NodeHttpClient();
+    }
   }
 });
 
-// node_modules/semver/index.js
-var require_semver2 = __commonJS({
-  "node_modules/semver/index.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/defaultHttpClient.js
+var require_defaultHttpClient = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/defaultHttpClient.js"(exports2) {
     "use strict";
-    var internalRe = require_re();
-    var constants = require_constants11();
-    var SemVer = require_semver();
-    var identifiers = require_identifiers();
-    var parse2 = require_parse3();
-    var valid3 = require_valid();
-    var clean3 = require_clean();
-    var inc = require_inc();
-    var diff = require_diff();
-    var major = require_major();
-    var minor = require_minor();
-    var patch = require_patch();
-    var prerelease = require_prerelease();
-    var compare2 = require_compare();
-    var rcompare = require_rcompare();
-    var compareLoose = require_compare_loose();
-    var compareBuild = require_compare_build();
-    var sort = require_sort();
-    var rsort = require_rsort();
-    var gt = require_gt();
-    var lt = require_lt();
-    var eq = require_eq();
-    var neq = require_neq();
-    var gte6 = require_gte();
-    var lte = require_lte();
-    var cmp = require_cmp();
-    var coerce3 = require_coerce();
-    var Comparator = require_comparator();
-    var Range2 = require_range();
-    var satisfies2 = require_satisfies();
-    var toComparators = require_to_comparators();
-    var maxSatisfying = require_max_satisfying();
-    var minSatisfying = require_min_satisfying();
-    var minVersion = require_min_version();
-    var validRange = require_valid2();
-    var outside = require_outside();
-    var gtr = require_gtr();
-    var ltr = require_ltr();
-    var intersects = require_intersects();
-    var simplifyRange = require_simplify();
-    var subset = require_subset();
-    module2.exports = {
-      parse: parse2,
-      valid: valid3,
-      clean: clean3,
-      inc,
-      diff,
-      major,
-      minor,
-      patch,
-      prerelease,
-      compare: compare2,
-      rcompare,
-      compareLoose,
-      compareBuild,
-      sort,
-      rsort,
-      gt,
-      lt,
-      eq,
-      neq,
-      gte: gte6,
-      lte,
-      cmp,
-      coerce: coerce3,
-      Comparator,
-      Range: Range2,
-      satisfies: satisfies2,
-      toComparators,
-      maxSatisfying,
-      minSatisfying,
-      minVersion,
-      validRange,
-      outside,
-      gtr,
-      ltr,
-      intersects,
-      simplifyRange,
-      subset,
-      SemVer,
-      re: internalRe.re,
-      src: internalRe.src,
-      tokens: internalRe.t,
-      SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,
-      RELEASE_TYPES: constants.RELEASE_TYPES,
-      compareIdentifiers: identifiers.compareIdentifiers,
-      rcompareIdentifiers: identifiers.rcompareIdentifiers
-    };
-  }
-});
-
-// package.json
-var require_package = __commonJS({
-  "package.json"(exports2, module2) {
-    module2.exports = {
-      name: "codeql",
-      version: "4.32.2",
-      private: true,
-      description: "CodeQL action",
-      scripts: {
-        _build_comment: "echo 'Run the full build so we typecheck the project and can reuse the transpiled files in npm test'",
-        build: "./scripts/check-node-modules.sh && npm run transpile && node build.mjs",
-        lint: "eslint --report-unused-disable-directives --max-warnings=0 .",
-        "lint-ci": "SARIF_ESLINT_IGNORE_SUPPRESSED=true eslint --report-unused-disable-directives --max-warnings=0 . --format @microsoft/eslint-formatter-sarif --output-file=eslint.sarif",
-        "lint-fix": "eslint --report-unused-disable-directives --max-warnings=0 . --fix",
-        ava: "npm run transpile && ava --serial --verbose",
-        test: "npm run ava -- src/",
-        "test-debug": "npm run test -- --timeout=20m",
-        transpile: "tsc --build --verbose"
-      },
-      ava: {
-        typescript: {
-          rewritePaths: {
-            "src/": "build/"
-          },
-          compile: false
-        }
-      },
-      license: "MIT",
-      dependencies: {
-        "@actions/artifact": "^5.0.3",
-        "@actions/artifact-legacy": "npm:@actions/artifact@^1.1.2",
-        "@actions/cache": "^5.0.5",
-        "@actions/core": "^2.0.3",
-        "@actions/exec": "^2.0.0",
-        "@actions/github": "^8.0.0",
-        "@actions/glob": "^0.5.0",
-        "@actions/http-client": "^3.0.0",
-        "@actions/io": "^2.0.0",
-        "@actions/tool-cache": "^3.0.1",
-        "@octokit/plugin-retry": "^8.0.0",
-        "@schemastore/package": "0.0.10",
-        archiver: "^7.0.1",
-        "fast-deep-equal": "^3.1.3",
-        "follow-redirects": "^1.15.11",
-        "get-folder-size": "^5.0.0",
-        "js-yaml": "^4.1.1",
-        jsonschema: "1.4.1",
-        long: "^5.3.2",
-        "node-forge": "^1.3.3",
-        semver: "^7.7.3",
-        uuid: "^13.0.0"
-      },
-      devDependencies: {
-        "@ava/typescript": "6.0.0",
-        "@eslint/compat": "^2.0.1",
-        "@eslint/eslintrc": "^3.3.3",
-        "@eslint/js": "^9.39.2",
-        "@microsoft/eslint-formatter-sarif": "^3.1.0",
-        "@octokit/types": "^16.0.0",
-        "@types/archiver": "^7.0.0",
-        "@types/follow-redirects": "^1.14.4",
-        "@types/js-yaml": "^4.0.9",
-        "@types/node": "^20.19.9",
-        "@types/node-forge": "^1.3.14",
-        "@types/semver": "^7.7.1",
-        "@types/sinon": "^21.0.0",
-        "@typescript-eslint/eslint-plugin": "^8.53.1",
-        "@typescript-eslint/parser": "^8.48.0",
-        ava: "^6.4.1",
-        esbuild: "^0.27.2",
-        eslint: "^8.57.1",
-        "eslint-import-resolver-typescript": "^3.8.7",
-        "eslint-plugin-filenames": "^1.3.2",
-        "eslint-plugin-github": "^5.1.8",
-        "eslint-plugin-import": "2.29.1",
-        "eslint-plugin-jsdoc": "^62.3.0",
-        "eslint-plugin-no-async-foreach": "^0.1.1",
-        glob: "^11.1.0",
-        nock: "^14.0.10",
-        sinon: "^21.0.1",
-        typescript: "^5.9.3"
-      },
-      overrides: {
-        "@actions/tool-cache": {
-          semver: ">=6.3.1"
-        },
-        "@octokit/request-error": {
-          semver: ">=5.1.1"
-        },
-        "@octokit/request": {
-          semver: ">=8.4.1"
-        },
-        "@octokit/plugin-paginate-rest": {
-          semver: ">=9.2.2"
-        },
-        "eslint-plugin-import": {
-          semver: ">=6.3.1"
-        },
-        "eslint-plugin-jsx-a11y": {
-          semver: ">=6.3.1"
-        },
-        "brace-expansion@2.0.1": "2.0.2",
-        glob: "^11.1.0"
-      }
-    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createDefaultHttpClient = createDefaultHttpClient;
+    var nodeHttpClient_js_1 = require_nodeHttpClient();
+    function createDefaultHttpClient() {
+      return (0, nodeHttpClient_js_1.createNodeHttpClient)();
+    }
   }
 });
 
-// node_modules/bottleneck/light.js
-var require_light = __commonJS({
-  "node_modules/bottleneck/light.js"(exports2, module2) {
-    (function(global2, factory) {
-      typeof exports2 === "object" && typeof module2 !== "undefined" ? module2.exports = factory() : typeof define === "function" && define.amd ? define(factory) : global2.Bottleneck = factory();
-    })(exports2, (function() {
-      "use strict";
-      var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
-      function getCjsExportFromNamespace(n) {
-        return n && n["default"] || n;
-      }
-      var load2 = function(received, defaults, onto = {}) {
-        var k, ref, v;
-        for (k in defaults) {
-          v = defaults[k];
-          onto[k] = (ref = received[k]) != null ? ref : v;
-        }
-        return onto;
-      };
-      var overwrite = function(received, defaults, onto = {}) {
-        var k, v;
-        for (k in received) {
-          v = received[k];
-          if (defaults[k] !== void 0) {
-            onto[k] = v;
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/logPolicy.js
+var require_logPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/logPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.logPolicyName = void 0;
+    exports2.logPolicy = logPolicy;
+    var log_js_1 = require_log2();
+    var sanitizer_js_1 = require_sanitizer();
+    exports2.logPolicyName = "logPolicy";
+    function logPolicy(options = {}) {
+      const logger = options.logger ?? log_js_1.logger.info;
+      const sanitizer = new sanitizer_js_1.Sanitizer({
+        additionalAllowedHeaderNames: options.additionalAllowedHeaderNames,
+        additionalAllowedQueryParameters: options.additionalAllowedQueryParameters
+      });
+      return {
+        name: exports2.logPolicyName,
+        async sendRequest(request2, next) {
+          if (!logger.enabled) {
+            return next(request2);
           }
+          logger(`Request: ${sanitizer.sanitize(request2)}`);
+          const response = await next(request2);
+          logger(`Response status code: ${response.status}`);
+          logger(`Headers: ${sanitizer.sanitize(response.headers)}`);
+          return response;
         }
-        return onto;
       };
-      var parser = {
-        load: load2,
-        overwrite
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/redirectPolicy.js
+var require_redirectPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/redirectPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.redirectPolicyName = void 0;
+    exports2.redirectPolicy = redirectPolicy;
+    exports2.redirectPolicyName = "redirectPolicy";
+    var allowedRedirect = ["GET", "HEAD"];
+    function redirectPolicy(options = {}) {
+      const { maxRetries = 20 } = options;
+      return {
+        name: exports2.redirectPolicyName,
+        async sendRequest(request2, next) {
+          const response = await next(request2);
+          return handleRedirect(next, response, maxRetries);
+        }
       };
-      var DLList;
-      DLList = class DLList {
-        constructor(incr, decr) {
-          this.incr = incr;
-          this.decr = decr;
-          this._first = null;
-          this._last = null;
-          this.length = 0;
+    }
+    async function handleRedirect(next, response, maxRetries, currentRetries = 0) {
+      const { request: request2, status, headers } = response;
+      const locationHeader = headers.get("location");
+      if (locationHeader && (status === 300 || status === 301 && allowedRedirect.includes(request2.method) || status === 302 && allowedRedirect.includes(request2.method) || status === 303 && request2.method === "POST" || status === 307) && currentRetries < maxRetries) {
+        const url = new URL(locationHeader, request2.url);
+        request2.url = url.toString();
+        if (status === 303) {
+          request2.method = "GET";
+          request2.headers.delete("Content-Length");
+          delete request2.body;
         }
-        push(value) {
-          var node;
-          this.length++;
-          if (typeof this.incr === "function") {
-            this.incr();
-          }
-          node = {
-            value,
-            prev: this._last,
-            next: null
-          };
-          if (this._last != null) {
-            this._last.next = node;
-            this._last = node;
-          } else {
-            this._first = this._last = node;
-          }
-          return void 0;
+        request2.headers.delete("Authorization");
+        const res = await next(request2);
+        return handleRedirect(next, res, maxRetries, currentRetries + 1);
+      }
+      return response;
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/userAgentPlatform.js
+var require_userAgentPlatform = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/userAgentPlatform.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getHeaderName = getHeaderName;
+    exports2.setPlatformSpecificData = setPlatformSpecificData;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var node_os_1 = tslib_1.__importDefault(require("node:os"));
+    var node_process_1 = tslib_1.__importDefault(require("node:process"));
+    function getHeaderName() {
+      return "User-Agent";
+    }
+    async function setPlatformSpecificData(map2) {
+      if (node_process_1.default && node_process_1.default.versions) {
+        const osInfo = `${node_os_1.default.type()} ${node_os_1.default.release()}; ${node_os_1.default.arch()}`;
+        const versions = node_process_1.default.versions;
+        if (versions.bun) {
+          map2.set("Bun", `${versions.bun} (${osInfo})`);
+        } else if (versions.deno) {
+          map2.set("Deno", `${versions.deno} (${osInfo})`);
+        } else if (versions.node) {
+          map2.set("Node", `${versions.node} (${osInfo})`);
         }
-        shift() {
-          var value;
-          if (this._first == null) {
-            return;
-          } else {
-            this.length--;
-            if (typeof this.decr === "function") {
-              this.decr();
-            }
-          }
-          value = this._first.value;
-          if ((this._first = this._first.next) != null) {
-            this._first.prev = null;
-          } else {
-            this._last = null;
+      }
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/constants.js
+var require_constants13 = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/constants.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.DEFAULT_RETRY_POLICY_COUNT = exports2.SDK_VERSION = void 0;
+    exports2.SDK_VERSION = "0.3.2";
+    exports2.DEFAULT_RETRY_POLICY_COUNT = 3;
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/userAgent.js
+var require_userAgent = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/userAgent.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getUserAgentHeaderName = getUserAgentHeaderName;
+    exports2.getUserAgentValue = getUserAgentValue;
+    var userAgentPlatform_js_1 = require_userAgentPlatform();
+    var constants_js_1 = require_constants13();
+    function getUserAgentString(telemetryInfo) {
+      const parts = [];
+      for (const [key, value] of telemetryInfo) {
+        const token = value ? `${key}/${value}` : key;
+        parts.push(token);
+      }
+      return parts.join(" ");
+    }
+    function getUserAgentHeaderName() {
+      return (0, userAgentPlatform_js_1.getHeaderName)();
+    }
+    async function getUserAgentValue(prefix) {
+      const runtimeInfo = /* @__PURE__ */ new Map();
+      runtimeInfo.set("ts-http-runtime", constants_js_1.SDK_VERSION);
+      await (0, userAgentPlatform_js_1.setPlatformSpecificData)(runtimeInfo);
+      const defaultAgent = getUserAgentString(runtimeInfo);
+      const userAgentValue = prefix ? `${prefix} ${defaultAgent}` : defaultAgent;
+      return userAgentValue;
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/userAgentPolicy.js
+var require_userAgentPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/userAgentPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.userAgentPolicyName = void 0;
+    exports2.userAgentPolicy = userAgentPolicy;
+    var userAgent_js_1 = require_userAgent();
+    var UserAgentHeaderName = (0, userAgent_js_1.getUserAgentHeaderName)();
+    exports2.userAgentPolicyName = "userAgentPolicy";
+    function userAgentPolicy(options = {}) {
+      const userAgentValue = (0, userAgent_js_1.getUserAgentValue)(options.userAgentPrefix);
+      return {
+        name: exports2.userAgentPolicyName,
+        async sendRequest(request2, next) {
+          if (!request2.headers.has(UserAgentHeaderName)) {
+            request2.headers.set(UserAgentHeaderName, await userAgentValue);
           }
-          return value;
+          return next(request2);
         }
-        first() {
-          if (this._first != null) {
-            return this._first.value;
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/decompressResponsePolicy.js
+var require_decompressResponsePolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/decompressResponsePolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.decompressResponsePolicyName = void 0;
+    exports2.decompressResponsePolicy = decompressResponsePolicy;
+    exports2.decompressResponsePolicyName = "decompressResponsePolicy";
+    function decompressResponsePolicy() {
+      return {
+        name: exports2.decompressResponsePolicyName,
+        async sendRequest(request2, next) {
+          if (request2.method !== "HEAD") {
+            request2.headers.set("Accept-Encoding", "gzip,deflate");
           }
+          return next(request2);
         }
-        getArray() {
-          var node, ref, results;
-          node = this._first;
-          results = [];
-          while (node != null) {
-            results.push((ref = node, node = node.next, ref.value));
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/random.js
+var require_random = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/random.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getRandomIntegerInclusive = getRandomIntegerInclusive;
+    function getRandomIntegerInclusive(min, max) {
+      min = Math.ceil(min);
+      max = Math.floor(max);
+      const offset = Math.floor(Math.random() * (max - min + 1));
+      return offset + min;
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/delay.js
+var require_delay = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/delay.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.calculateRetryDelay = calculateRetryDelay;
+    var random_js_1 = require_random();
+    function calculateRetryDelay(retryAttempt, config) {
+      const exponentialDelay = config.retryDelayInMs * Math.pow(2, retryAttempt);
+      const clampedDelay = Math.min(config.maxRetryDelayInMs, exponentialDelay);
+      const retryAfterInMs = clampedDelay / 2 + (0, random_js_1.getRandomIntegerInclusive)(0, clampedDelay / 2);
+      return { retryAfterInMs };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/helpers.js
+var require_helpers2 = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/helpers.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.delay = delay;
+    exports2.parseHeaderValueAsNumber = parseHeaderValueAsNumber;
+    var AbortError_js_1 = require_AbortError();
+    var StandardAbortMessage = "The operation was aborted.";
+    function delay(delayInMs, value, options) {
+      return new Promise((resolve3, reject) => {
+        let timer = void 0;
+        let onAborted = void 0;
+        const rejectOnAbort = () => {
+          return reject(new AbortError_js_1.AbortError(options?.abortErrorMsg ? options?.abortErrorMsg : StandardAbortMessage));
+        };
+        const removeListeners = () => {
+          if (options?.abortSignal && onAborted) {
+            options.abortSignal.removeEventListener("abort", onAborted);
           }
-          return results;
-        }
-        forEachShift(cb) {
-          var node;
-          node = this.shift();
-          while (node != null) {
-            cb(node), node = this.shift();
+        };
+        onAborted = () => {
+          if (timer) {
+            clearTimeout(timer);
           }
-          return void 0;
+          removeListeners();
+          return rejectOnAbort();
+        };
+        if (options?.abortSignal && options.abortSignal.aborted) {
+          return rejectOnAbort();
         }
-        debug() {
-          var node, ref, ref1, ref2, results;
-          node = this._first;
-          results = [];
-          while (node != null) {
-            results.push((ref = node, node = node.next, {
-              value: ref.value,
-              prev: (ref1 = ref.prev) != null ? ref1.value : void 0,
-              next: (ref2 = ref.next) != null ? ref2.value : void 0
-            }));
+        timer = setTimeout(() => {
+          removeListeners();
+          resolve3(value);
+        }, delayInMs);
+        if (options?.abortSignal) {
+          options.abortSignal.addEventListener("abort", onAborted);
+        }
+      });
+    }
+    function parseHeaderValueAsNumber(response, headerName) {
+      const value = response.headers.get(headerName);
+      if (!value)
+        return;
+      const valueAsNum = Number(value);
+      if (Number.isNaN(valueAsNum))
+        return;
+      return valueAsNum;
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/retryStrategies/throttlingRetryStrategy.js
+var require_throttlingRetryStrategy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/retryStrategies/throttlingRetryStrategy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isThrottlingRetryResponse = isThrottlingRetryResponse;
+    exports2.throttlingRetryStrategy = throttlingRetryStrategy;
+    var helpers_js_1 = require_helpers2();
+    var RetryAfterHeader = "Retry-After";
+    var AllRetryAfterHeaders = ["retry-after-ms", "x-ms-retry-after-ms", RetryAfterHeader];
+    function getRetryAfterInMs(response) {
+      if (!(response && [429, 503].includes(response.status)))
+        return void 0;
+      try {
+        for (const header of AllRetryAfterHeaders) {
+          const retryAfterValue = (0, helpers_js_1.parseHeaderValueAsNumber)(response, header);
+          if (retryAfterValue === 0 || retryAfterValue) {
+            const multiplyingFactor = header === RetryAfterHeader ? 1e3 : 1;
+            return retryAfterValue * multiplyingFactor;
           }
-          return results;
         }
-      };
-      var DLList_1 = DLList;
-      var Events;
-      Events = class Events {
-        constructor(instance) {
-          this.instance = instance;
-          this._events = {};
-          if (this.instance.on != null || this.instance.once != null || this.instance.removeAllListeners != null) {
-            throw new Error("An Emitter already exists for this object");
+        const retryAfterHeader = response.headers.get(RetryAfterHeader);
+        if (!retryAfterHeader)
+          return;
+        const date = Date.parse(retryAfterHeader);
+        const diff = date - Date.now();
+        return Number.isFinite(diff) ? Math.max(0, diff) : void 0;
+      } catch {
+        return void 0;
+      }
+    }
+    function isThrottlingRetryResponse(response) {
+      return Number.isFinite(getRetryAfterInMs(response));
+    }
+    function throttlingRetryStrategy() {
+      return {
+        name: "throttlingRetryStrategy",
+        retry({ response }) {
+          const retryAfterInMs = getRetryAfterInMs(response);
+          if (!Number.isFinite(retryAfterInMs)) {
+            return { skipStrategy: true };
           }
-          this.instance.on = (name, cb) => {
-            return this._addListener(name, "many", cb);
-          };
-          this.instance.once = (name, cb) => {
-            return this._addListener(name, "once", cb);
-          };
-          this.instance.removeAllListeners = (name = null) => {
-            if (name != null) {
-              return delete this._events[name];
-            } else {
-              return this._events = {};
-            }
+          return {
+            retryAfterInMs
           };
         }
-        _addListener(name, status, cb) {
-          var base;
-          if ((base = this._events)[name] == null) {
-            base[name] = [];
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/retryStrategies/exponentialRetryStrategy.js
+var require_exponentialRetryStrategy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/retryStrategies/exponentialRetryStrategy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.exponentialRetryStrategy = exponentialRetryStrategy;
+    exports2.isExponentialRetryResponse = isExponentialRetryResponse;
+    exports2.isSystemError = isSystemError;
+    var delay_js_1 = require_delay();
+    var throttlingRetryStrategy_js_1 = require_throttlingRetryStrategy();
+    var DEFAULT_CLIENT_RETRY_INTERVAL = 1e3;
+    var DEFAULT_CLIENT_MAX_RETRY_INTERVAL = 1e3 * 64;
+    function exponentialRetryStrategy(options = {}) {
+      const retryInterval = options.retryDelayInMs ?? DEFAULT_CLIENT_RETRY_INTERVAL;
+      const maxRetryInterval = options.maxRetryDelayInMs ?? DEFAULT_CLIENT_MAX_RETRY_INTERVAL;
+      return {
+        name: "exponentialRetryStrategy",
+        retry({ retryCount, response, responseError }) {
+          const matchedSystemError = isSystemError(responseError);
+          const ignoreSystemErrors = matchedSystemError && options.ignoreSystemErrors;
+          const isExponential = isExponentialRetryResponse(response);
+          const ignoreExponentialResponse = isExponential && options.ignoreHttpStatusCodes;
+          const unknownResponse = response && ((0, throttlingRetryStrategy_js_1.isThrottlingRetryResponse)(response) || !isExponential);
+          if (unknownResponse || ignoreExponentialResponse || ignoreSystemErrors) {
+            return { skipStrategy: true };
           }
-          this._events[name].push({ cb, status });
-          return this.instance;
-        }
-        listenerCount(name) {
-          if (this._events[name] != null) {
-            return this._events[name].length;
-          } else {
-            return 0;
+          if (responseError && !matchedSystemError && !isExponential) {
+            return { errorToThrow: responseError };
           }
+          return (0, delay_js_1.calculateRetryDelay)(retryCount, {
+            retryDelayInMs: retryInterval,
+            maxRetryDelayInMs: maxRetryInterval
+          });
         }
-        async trigger(name, ...args) {
-          var e, promises;
-          try {
-            if (name !== "debug") {
-              this.trigger("debug", `Event triggered: ${name}`, args);
+      };
+    }
+    function isExponentialRetryResponse(response) {
+      return Boolean(response && response.status !== void 0 && (response.status >= 500 || response.status === 408) && response.status !== 501 && response.status !== 505);
+    }
+    function isSystemError(err) {
+      if (!err) {
+        return false;
+      }
+      return err.code === "ETIMEDOUT" || err.code === "ESOCKETTIMEDOUT" || err.code === "ECONNREFUSED" || err.code === "ECONNRESET" || err.code === "ENOENT" || err.code === "ENOTFOUND";
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/retryPolicy.js
+var require_retryPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/retryPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.retryPolicy = retryPolicy;
+    var helpers_js_1 = require_helpers2();
+    var AbortError_js_1 = require_AbortError();
+    var logger_js_1 = require_logger();
+    var constants_js_1 = require_constants13();
+    var retryPolicyLogger = (0, logger_js_1.createClientLogger)("ts-http-runtime retryPolicy");
+    var retryPolicyName = "retryPolicy";
+    function retryPolicy(strategies, options = { maxRetries: constants_js_1.DEFAULT_RETRY_POLICY_COUNT }) {
+      const logger = options.logger || retryPolicyLogger;
+      return {
+        name: retryPolicyName,
+        async sendRequest(request2, next) {
+          let response;
+          let responseError;
+          let retryCount = -1;
+          retryRequest: while (true) {
+            retryCount += 1;
+            response = void 0;
+            responseError = void 0;
+            try {
+              logger.info(`Retry ${retryCount}: Attempting to send request`, request2.requestId);
+              response = await next(request2);
+              logger.info(`Retry ${retryCount}: Received a response from request`, request2.requestId);
+            } catch (e) {
+              logger.error(`Retry ${retryCount}: Received an error from request`, request2.requestId);
+              responseError = e;
+              if (!e || responseError.name !== "RestError") {
+                throw e;
+              }
+              response = responseError.response;
             }
-            if (this._events[name] == null) {
-              return;
+            if (request2.abortSignal?.aborted) {
+              logger.error(`Retry ${retryCount}: Request aborted.`);
+              const abortError = new AbortError_js_1.AbortError();
+              throw abortError;
             }
-            this._events[name] = this._events[name].filter(function(listener) {
-              return listener.status !== "none";
-            });
-            promises = this._events[name].map(async (listener) => {
-              var e2, returned;
-              if (listener.status === "none") {
-                return;
+            if (retryCount >= (options.maxRetries ?? constants_js_1.DEFAULT_RETRY_POLICY_COUNT)) {
+              logger.info(`Retry ${retryCount}: Maximum retries reached. Returning the last received response, or throwing the last received error.`);
+              if (responseError) {
+                throw responseError;
+              } else if (response) {
+                return response;
+              } else {
+                throw new Error("Maximum retries reached with no response or error to throw");
               }
-              if (listener.status === "once") {
-                listener.status = "none";
+            }
+            logger.info(`Retry ${retryCount}: Processing ${strategies.length} retry strategies.`);
+            strategiesLoop: for (const strategy of strategies) {
+              const strategyLogger = strategy.logger || logger;
+              strategyLogger.info(`Retry ${retryCount}: Processing retry strategy ${strategy.name}.`);
+              const modifiers = strategy.retry({
+                retryCount,
+                response,
+                responseError
+              });
+              if (modifiers.skipStrategy) {
+                strategyLogger.info(`Retry ${retryCount}: Skipped.`);
+                continue strategiesLoop;
               }
-              try {
-                returned = typeof listener.cb === "function" ? listener.cb(...args) : void 0;
-                if (typeof (returned != null ? returned.then : void 0) === "function") {
-                  return await returned;
-                } else {
-                  return returned;
-                }
-              } catch (error3) {
-                e2 = error3;
-                {
-                  this.trigger("error", e2);
-                }
-                return null;
+              const { errorToThrow, retryAfterInMs, redirectTo } = modifiers;
+              if (errorToThrow) {
+                strategyLogger.error(`Retry ${retryCount}: Retry strategy ${strategy.name} throws error:`, errorToThrow);
+                throw errorToThrow;
+              }
+              if (retryAfterInMs || retryAfterInMs === 0) {
+                strategyLogger.info(`Retry ${retryCount}: Retry strategy ${strategy.name} retries after ${retryAfterInMs}`);
+                await (0, helpers_js_1.delay)(retryAfterInMs, void 0, { abortSignal: request2.abortSignal });
+                continue retryRequest;
+              }
+              if (redirectTo) {
+                strategyLogger.info(`Retry ${retryCount}: Retry strategy ${strategy.name} redirects to ${redirectTo}`);
+                request2.url = redirectTo;
+                continue retryRequest;
               }
-            });
-            return (await Promise.all(promises)).find(function(x) {
-              return x != null;
-            });
-          } catch (error3) {
-            e = error3;
-            {
-              this.trigger("error", e);
             }
-            return null;
+            if (responseError) {
+              logger.info(`None of the retry strategies could work with the received error. Throwing it.`);
+              throw responseError;
+            }
+            if (response) {
+              logger.info(`None of the retry strategies could work with the received response. Returning it.`);
+              return response;
+            }
           }
         }
       };
-      var Events_1 = Events;
-      var DLList$1, Events$1, Queues;
-      DLList$1 = DLList_1;
-      Events$1 = Events_1;
-      Queues = class Queues {
-        constructor(num_priorities) {
-          var i;
-          this.Events = new Events$1(this);
-          this._length = 0;
-          this._lists = (function() {
-            var j, ref, results;
-            results = [];
-            for (i = j = 1, ref = num_priorities; 1 <= ref ? j <= ref : j >= ref; i = 1 <= ref ? ++j : --j) {
-              results.push(new DLList$1((() => {
-                return this.incr();
-              }), (() => {
-                return this.decr();
-              })));
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/defaultRetryPolicy.js
+var require_defaultRetryPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/defaultRetryPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.defaultRetryPolicyName = void 0;
+    exports2.defaultRetryPolicy = defaultRetryPolicy;
+    var exponentialRetryStrategy_js_1 = require_exponentialRetryStrategy();
+    var throttlingRetryStrategy_js_1 = require_throttlingRetryStrategy();
+    var retryPolicy_js_1 = require_retryPolicy();
+    var constants_js_1 = require_constants13();
+    exports2.defaultRetryPolicyName = "defaultRetryPolicy";
+    function defaultRetryPolicy(options = {}) {
+      return {
+        name: exports2.defaultRetryPolicyName,
+        sendRequest: (0, retryPolicy_js_1.retryPolicy)([(0, throttlingRetryStrategy_js_1.throttlingRetryStrategy)(), (0, exponentialRetryStrategy_js_1.exponentialRetryStrategy)(options)], {
+          maxRetries: options.maxRetries ?? constants_js_1.DEFAULT_RETRY_POLICY_COUNT
+        }).sendRequest
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/checkEnvironment.js
+var require_checkEnvironment = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/checkEnvironment.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isReactNative = exports2.isNodeRuntime = exports2.isNodeLike = exports2.isBun = exports2.isDeno = exports2.isWebWorker = exports2.isBrowser = void 0;
+    exports2.isBrowser = typeof window !== "undefined" && typeof window.document !== "undefined";
+    exports2.isWebWorker = typeof self === "object" && typeof self?.importScripts === "function" && (self.constructor?.name === "DedicatedWorkerGlobalScope" || self.constructor?.name === "ServiceWorkerGlobalScope" || self.constructor?.name === "SharedWorkerGlobalScope");
+    exports2.isDeno = typeof Deno !== "undefined" && typeof Deno.version !== "undefined" && typeof Deno.version.deno !== "undefined";
+    exports2.isBun = typeof Bun !== "undefined" && typeof Bun.version !== "undefined";
+    exports2.isNodeLike = typeof globalThis.process !== "undefined" && Boolean(globalThis.process.version) && Boolean(globalThis.process.versions?.node);
+    exports2.isNodeRuntime = exports2.isNodeLike && !exports2.isBun && !exports2.isDeno;
+    exports2.isReactNative = typeof navigator !== "undefined" && navigator?.product === "ReactNative";
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/formDataPolicy.js
+var require_formDataPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/formDataPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.formDataPolicyName = void 0;
+    exports2.formDataPolicy = formDataPolicy;
+    var bytesEncoding_js_1 = require_bytesEncoding();
+    var checkEnvironment_js_1 = require_checkEnvironment();
+    var httpHeaders_js_1 = require_httpHeaders();
+    exports2.formDataPolicyName = "formDataPolicy";
+    function formDataToFormDataMap(formData) {
+      const formDataMap = {};
+      for (const [key, value] of formData.entries()) {
+        formDataMap[key] ??= [];
+        formDataMap[key].push(value);
+      }
+      return formDataMap;
+    }
+    function formDataPolicy() {
+      return {
+        name: exports2.formDataPolicyName,
+        async sendRequest(request2, next) {
+          if (checkEnvironment_js_1.isNodeLike && typeof FormData !== "undefined" && request2.body instanceof FormData) {
+            request2.formData = formDataToFormDataMap(request2.body);
+            request2.body = void 0;
+          }
+          if (request2.formData) {
+            const contentType = request2.headers.get("Content-Type");
+            if (contentType && contentType.indexOf("application/x-www-form-urlencoded") !== -1) {
+              request2.body = wwwFormUrlEncode(request2.formData);
+            } else {
+              await prepareFormData(request2.formData, request2);
             }
-            return results;
-          }).call(this);
-        }
-        incr() {
-          if (this._length++ === 0) {
-            return this.Events.trigger("leftzero");
+            request2.formData = void 0;
           }
+          return next(request2);
         }
-        decr() {
-          if (--this._length === 0) {
-            return this.Events.trigger("zero");
+      };
+    }
+    function wwwFormUrlEncode(formData) {
+      const urlSearchParams = new URLSearchParams();
+      for (const [key, value] of Object.entries(formData)) {
+        if (Array.isArray(value)) {
+          for (const subValue of value) {
+            urlSearchParams.append(key, subValue.toString());
           }
+        } else {
+          urlSearchParams.append(key, value.toString());
         }
-        push(job) {
-          return this._lists[job.options.priority].push(job);
-        }
-        queued(priority) {
-          if (priority != null) {
-            return this._lists[priority].length;
+      }
+      return urlSearchParams.toString();
+    }
+    async function prepareFormData(formData, request2) {
+      const contentType = request2.headers.get("Content-Type");
+      if (contentType && !contentType.startsWith("multipart/form-data")) {
+        return;
+      }
+      request2.headers.set("Content-Type", contentType ?? "multipart/form-data");
+      const parts = [];
+      for (const [fieldName, values] of Object.entries(formData)) {
+        for (const value of Array.isArray(values) ? values : [values]) {
+          if (typeof value === "string") {
+            parts.push({
+              headers: (0, httpHeaders_js_1.createHttpHeaders)({
+                "Content-Disposition": `form-data; name="${fieldName}"`
+              }),
+              body: (0, bytesEncoding_js_1.stringToUint8Array)(value, "utf-8")
+            });
+          } else if (value === void 0 || value === null || typeof value !== "object") {
+            throw new Error(`Unexpected value for key ${fieldName}: ${value}. Value should be serialized to string first.`);
           } else {
-            return this._length;
+            const fileName = value.name || "blob";
+            const headers = (0, httpHeaders_js_1.createHttpHeaders)();
+            headers.set("Content-Disposition", `form-data; name="${fieldName}"; filename="${fileName}"`);
+            headers.set("Content-Type", value.type || "application/octet-stream");
+            parts.push({
+              headers,
+              body: value
+            });
           }
         }
-        shiftAll(fn) {
-          return this._lists.forEach(function(list) {
-            return list.forEachShift(fn);
-          });
+      }
+      request2.multipartBody = { parts };
+    }
+  }
+});
+
+// node_modules/ms/index.js
+var require_ms = __commonJS({
+  "node_modules/ms/index.js"(exports2, module2) {
+    var s = 1e3;
+    var m = s * 60;
+    var h = m * 60;
+    var d = h * 24;
+    var w = d * 7;
+    var y = d * 365.25;
+    module2.exports = function(val, options) {
+      options = options || {};
+      var type2 = typeof val;
+      if (type2 === "string" && val.length > 0) {
+        return parse2(val);
+      } else if (type2 === "number" && isFinite(val)) {
+        return options.long ? fmtLong(val) : fmtShort(val);
+      }
+      throw new Error(
+        "val is not a non-empty string or a valid number. val=" + JSON.stringify(val)
+      );
+    };
+    function parse2(str2) {
+      str2 = String(str2);
+      if (str2.length > 100) {
+        return;
+      }
+      var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(
+        str2
+      );
+      if (!match) {
+        return;
+      }
+      var n = parseFloat(match[1]);
+      var type2 = (match[2] || "ms").toLowerCase();
+      switch (type2) {
+        case "years":
+        case "year":
+        case "yrs":
+        case "yr":
+        case "y":
+          return n * y;
+        case "weeks":
+        case "week":
+        case "w":
+          return n * w;
+        case "days":
+        case "day":
+        case "d":
+          return n * d;
+        case "hours":
+        case "hour":
+        case "hrs":
+        case "hr":
+        case "h":
+          return n * h;
+        case "minutes":
+        case "minute":
+        case "mins":
+        case "min":
+        case "m":
+          return n * m;
+        case "seconds":
+        case "second":
+        case "secs":
+        case "sec":
+        case "s":
+          return n * s;
+        case "milliseconds":
+        case "millisecond":
+        case "msecs":
+        case "msec":
+        case "ms":
+          return n;
+        default:
+          return void 0;
+      }
+    }
+    function fmtShort(ms) {
+      var msAbs = Math.abs(ms);
+      if (msAbs >= d) {
+        return Math.round(ms / d) + "d";
+      }
+      if (msAbs >= h) {
+        return Math.round(ms / h) + "h";
+      }
+      if (msAbs >= m) {
+        return Math.round(ms / m) + "m";
+      }
+      if (msAbs >= s) {
+        return Math.round(ms / s) + "s";
+      }
+      return ms + "ms";
+    }
+    function fmtLong(ms) {
+      var msAbs = Math.abs(ms);
+      if (msAbs >= d) {
+        return plural(ms, msAbs, d, "day");
+      }
+      if (msAbs >= h) {
+        return plural(ms, msAbs, h, "hour");
+      }
+      if (msAbs >= m) {
+        return plural(ms, msAbs, m, "minute");
+      }
+      if (msAbs >= s) {
+        return plural(ms, msAbs, s, "second");
+      }
+      return ms + " ms";
+    }
+    function plural(ms, msAbs, n, name) {
+      var isPlural = msAbs >= n * 1.5;
+      return Math.round(ms / n) + " " + name + (isPlural ? "s" : "");
+    }
+  }
+});
+
+// node_modules/debug/src/common.js
+var require_common = __commonJS({
+  "node_modules/debug/src/common.js"(exports2, module2) {
+    function setup(env) {
+      createDebug.debug = createDebug;
+      createDebug.default = createDebug;
+      createDebug.coerce = coerce3;
+      createDebug.disable = disable;
+      createDebug.enable = enable;
+      createDebug.enabled = enabled;
+      createDebug.humanize = require_ms();
+      createDebug.destroy = destroy;
+      Object.keys(env).forEach((key) => {
+        createDebug[key] = env[key];
+      });
+      createDebug.names = [];
+      createDebug.skips = [];
+      createDebug.formatters = {};
+      function selectColor(namespace) {
+        let hash = 0;
+        for (let i = 0; i < namespace.length; i++) {
+          hash = (hash << 5) - hash + namespace.charCodeAt(i);
+          hash |= 0;
         }
-        getFirst(arr = this._lists) {
-          var j, len, list;
-          for (j = 0, len = arr.length; j < len; j++) {
-            list = arr[j];
-            if (list.length > 0) {
-              return list;
-            }
+        return createDebug.colors[Math.abs(hash) % createDebug.colors.length];
+      }
+      createDebug.selectColor = selectColor;
+      function createDebug(namespace) {
+        let prevTime;
+        let enableOverride = null;
+        let namespacesCache;
+        let enabledCache;
+        function debug4(...args) {
+          if (!debug4.enabled) {
+            return;
           }
-          return [];
-        }
-        shiftLastFrom(priority) {
-          return this.getFirst(this._lists.slice(priority).reverse()).shift();
-        }
-      };
-      var Queues_1 = Queues;
-      var BottleneckError;
-      BottleneckError = class BottleneckError extends Error {
-      };
-      var BottleneckError_1 = BottleneckError;
-      var BottleneckError$1, DEFAULT_PRIORITY, Job, NUM_PRIORITIES, parser$1;
-      NUM_PRIORITIES = 10;
-      DEFAULT_PRIORITY = 5;
-      parser$1 = parser;
-      BottleneckError$1 = BottleneckError_1;
-      Job = class Job {
-        constructor(task, args, options, jobDefaults, rejectOnDrop, Events2, _states, Promise2) {
-          this.task = task;
-          this.args = args;
-          this.rejectOnDrop = rejectOnDrop;
-          this.Events = Events2;
-          this._states = _states;
-          this.Promise = Promise2;
-          this.options = parser$1.load(options, jobDefaults);
-          this.options.priority = this._sanitizePriority(this.options.priority);
-          if (this.options.id === jobDefaults.id) {
-            this.options.id = `${this.options.id}-${this._randomIndex()}`;
+          const self2 = debug4;
+          const curr = Number(/* @__PURE__ */ new Date());
+          const ms = curr - (prevTime || curr);
+          self2.diff = ms;
+          self2.prev = prevTime;
+          self2.curr = curr;
+          prevTime = curr;
+          args[0] = createDebug.coerce(args[0]);
+          if (typeof args[0] !== "string") {
+            args.unshift("%O");
           }
-          this.promise = new this.Promise((_resolve, _reject) => {
-            this._resolve = _resolve;
-            this._reject = _reject;
+          let index = 0;
+          args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {
+            if (match === "%%") {
+              return "%";
+            }
+            index++;
+            const formatter = createDebug.formatters[format];
+            if (typeof formatter === "function") {
+              const val = args[index];
+              match = formatter.call(self2, val);
+              args.splice(index, 1);
+              index--;
+            }
+            return match;
           });
-          this.retryCount = 0;
+          createDebug.formatArgs.call(self2, args);
+          const logFn = self2.log || createDebug.log;
+          logFn.apply(self2, args);
         }
-        _sanitizePriority(priority) {
-          var sProperty;
-          sProperty = ~~priority !== priority ? DEFAULT_PRIORITY : priority;
-          if (sProperty < 0) {
-            return 0;
-          } else if (sProperty > NUM_PRIORITIES - 1) {
-            return NUM_PRIORITIES - 1;
+        debug4.namespace = namespace;
+        debug4.useColors = createDebug.useColors();
+        debug4.color = createDebug.selectColor(namespace);
+        debug4.extend = extend3;
+        debug4.destroy = createDebug.destroy;
+        Object.defineProperty(debug4, "enabled", {
+          enumerable: true,
+          configurable: false,
+          get: () => {
+            if (enableOverride !== null) {
+              return enableOverride;
+            }
+            if (namespacesCache !== createDebug.namespaces) {
+              namespacesCache = createDebug.namespaces;
+              enabledCache = createDebug.enabled(namespace);
+            }
+            return enabledCache;
+          },
+          set: (v) => {
+            enableOverride = v;
+          }
+        });
+        if (typeof createDebug.init === "function") {
+          createDebug.init(debug4);
+        }
+        return debug4;
+      }
+      function extend3(namespace, delimiter) {
+        const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace);
+        newDebug.log = this.log;
+        return newDebug;
+      }
+      function enable(namespaces) {
+        createDebug.save(namespaces);
+        createDebug.namespaces = namespaces;
+        createDebug.names = [];
+        createDebug.skips = [];
+        const split = (typeof namespaces === "string" ? namespaces : "").trim().replace(/\s+/g, ",").split(",").filter(Boolean);
+        for (const ns of split) {
+          if (ns[0] === "-") {
+            createDebug.skips.push(ns.slice(1));
           } else {
-            return sProperty;
+            createDebug.names.push(ns);
           }
         }
-        _randomIndex() {
-          return Math.random().toString(36).slice(2);
-        }
-        doDrop({ error: error3, message = "This job has been dropped by Bottleneck" } = {}) {
-          if (this._states.remove(this.options.id)) {
-            if (this.rejectOnDrop) {
-              this._reject(error3 != null ? error3 : new BottleneckError$1(message));
+      }
+      function matchesTemplate(search, template) {
+        let searchIndex = 0;
+        let templateIndex = 0;
+        let starIndex = -1;
+        let matchIndex = 0;
+        while (searchIndex < search.length) {
+          if (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === "*")) {
+            if (template[templateIndex] === "*") {
+              starIndex = templateIndex;
+              matchIndex = searchIndex;
+              templateIndex++;
+            } else {
+              searchIndex++;
+              templateIndex++;
             }
-            this.Events.trigger("dropped", { args: this.args, options: this.options, task: this.task, promise: this.promise });
-            return true;
+          } else if (starIndex !== -1) {
+            templateIndex = starIndex + 1;
+            matchIndex++;
+            searchIndex = matchIndex;
           } else {
             return false;
           }
         }
-        _assertStatus(expected) {
-          var status;
-          status = this._states.jobStatus(this.options.id);
-          if (!(status === expected || expected === "DONE" && status === null)) {
-            throw new BottleneckError$1(`Invalid job status ${status}, expected ${expected}. Please open an issue at https://github.com/SGrondin/bottleneck/issues`);
+        while (templateIndex < template.length && template[templateIndex] === "*") {
+          templateIndex++;
+        }
+        return templateIndex === template.length;
+      }
+      function disable() {
+        const namespaces = [
+          ...createDebug.names,
+          ...createDebug.skips.map((namespace) => "-" + namespace)
+        ].join(",");
+        createDebug.enable("");
+        return namespaces;
+      }
+      function enabled(name) {
+        for (const skip of createDebug.skips) {
+          if (matchesTemplate(name, skip)) {
+            return false;
           }
         }
-        doReceive() {
-          this._states.start(this.options.id);
-          return this.Events.trigger("received", { args: this.args, options: this.options });
+        for (const ns of createDebug.names) {
+          if (matchesTemplate(name, ns)) {
+            return true;
+          }
         }
-        doQueue(reachedHWM, blocked) {
-          this._assertStatus("RECEIVED");
-          this._states.next(this.options.id);
-          return this.Events.trigger("queued", { args: this.args, options: this.options, reachedHWM, blocked });
+        return false;
+      }
+      function coerce3(val) {
+        if (val instanceof Error) {
+          return val.stack || val.message;
         }
-        doRun() {
-          if (this.retryCount === 0) {
-            this._assertStatus("QUEUED");
-            this._states.next(this.options.id);
-          } else {
-            this._assertStatus("EXECUTING");
-          }
-          return this.Events.trigger("scheduled", { args: this.args, options: this.options });
+        return val;
+      }
+      function destroy() {
+        console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
+      }
+      createDebug.enable(createDebug.load());
+      return createDebug;
+    }
+    module2.exports = setup;
+  }
+});
+
+// node_modules/debug/src/browser.js
+var require_browser = __commonJS({
+  "node_modules/debug/src/browser.js"(exports2, module2) {
+    exports2.formatArgs = formatArgs;
+    exports2.save = save;
+    exports2.load = load2;
+    exports2.useColors = useColors;
+    exports2.storage = localstorage();
+    exports2.destroy = /* @__PURE__ */ (() => {
+      let warned = false;
+      return () => {
+        if (!warned) {
+          warned = true;
+          console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
         }
-        async doExecute(chained, clearGlobalState, run, free) {
-          var error3, eventInfo, passed;
-          if (this.retryCount === 0) {
-            this._assertStatus("RUNNING");
-            this._states.next(this.options.id);
-          } else {
-            this._assertStatus("EXECUTING");
-          }
-          eventInfo = { args: this.args, options: this.options, retryCount: this.retryCount };
-          this.Events.trigger("executing", eventInfo);
-          try {
-            passed = await (chained != null ? chained.schedule(this.options, this.task, ...this.args) : this.task(...this.args));
-            if (clearGlobalState()) {
-              this.doDone(eventInfo);
-              await free(this.options, eventInfo);
-              this._assertStatus("DONE");
-              return this._resolve(passed);
-            }
-          } catch (error1) {
-            error3 = error1;
-            return this._onFailure(error3, eventInfo, clearGlobalState, run, free);
-          }
+      };
+    })();
+    exports2.colors = [
+      "#0000CC",
+      "#0000FF",
+      "#0033CC",
+      "#0033FF",
+      "#0066CC",
+      "#0066FF",
+      "#0099CC",
+      "#0099FF",
+      "#00CC00",
+      "#00CC33",
+      "#00CC66",
+      "#00CC99",
+      "#00CCCC",
+      "#00CCFF",
+      "#3300CC",
+      "#3300FF",
+      "#3333CC",
+      "#3333FF",
+      "#3366CC",
+      "#3366FF",
+      "#3399CC",
+      "#3399FF",
+      "#33CC00",
+      "#33CC33",
+      "#33CC66",
+      "#33CC99",
+      "#33CCCC",
+      "#33CCFF",
+      "#6600CC",
+      "#6600FF",
+      "#6633CC",
+      "#6633FF",
+      "#66CC00",
+      "#66CC33",
+      "#9900CC",
+      "#9900FF",
+      "#9933CC",
+      "#9933FF",
+      "#99CC00",
+      "#99CC33",
+      "#CC0000",
+      "#CC0033",
+      "#CC0066",
+      "#CC0099",
+      "#CC00CC",
+      "#CC00FF",
+      "#CC3300",
+      "#CC3333",
+      "#CC3366",
+      "#CC3399",
+      "#CC33CC",
+      "#CC33FF",
+      "#CC6600",
+      "#CC6633",
+      "#CC9900",
+      "#CC9933",
+      "#CCCC00",
+      "#CCCC33",
+      "#FF0000",
+      "#FF0033",
+      "#FF0066",
+      "#FF0099",
+      "#FF00CC",
+      "#FF00FF",
+      "#FF3300",
+      "#FF3333",
+      "#FF3366",
+      "#FF3399",
+      "#FF33CC",
+      "#FF33FF",
+      "#FF6600",
+      "#FF6633",
+      "#FF9900",
+      "#FF9933",
+      "#FFCC00",
+      "#FFCC33"
+    ];
+    function useColors() {
+      if (typeof window !== "undefined" && window.process && (window.process.type === "renderer" || window.process.__nwjs)) {
+        return true;
+      }
+      if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
+        return false;
+      }
+      let m;
+      return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // Is firebug? http://stackoverflow.com/a/398120/376773
+      typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31?
+      // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
+      typeof navigator !== "undefined" && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)) && parseInt(m[1], 10) >= 31 || // Double check webkit in userAgent just in case we are in a worker
+      typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);
+    }
+    function formatArgs(args) {
+      args[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args[0] + (this.useColors ? "%c " : " ") + "+" + module2.exports.humanize(this.diff);
+      if (!this.useColors) {
+        return;
+      }
+      const c = "color: " + this.color;
+      args.splice(1, 0, c, "color: inherit");
+      let index = 0;
+      let lastC = 0;
+      args[0].replace(/%[a-zA-Z%]/g, (match) => {
+        if (match === "%%") {
+          return;
         }
-        doExpire(clearGlobalState, run, free) {
-          var error3, eventInfo;
-          if (this._states.jobStatus(this.options.id === "RUNNING")) {
-            this._states.next(this.options.id);
-          }
-          this._assertStatus("EXECUTING");
-          eventInfo = { args: this.args, options: this.options, retryCount: this.retryCount };
-          error3 = new BottleneckError$1(`This job timed out after ${this.options.expiration} ms.`);
-          return this._onFailure(error3, eventInfo, clearGlobalState, run, free);
+        index++;
+        if (match === "%c") {
+          lastC = index;
         }
-        async _onFailure(error3, eventInfo, clearGlobalState, run, free) {
-          var retry2, retryAfter;
-          if (clearGlobalState()) {
-            retry2 = await this.Events.trigger("failed", error3, eventInfo);
-            if (retry2 != null) {
-              retryAfter = ~~retry2;
-              this.Events.trigger("retry", `Retrying ${this.options.id} after ${retryAfter} ms`, eventInfo);
-              this.retryCount++;
-              return run(retryAfter);
-            } else {
-              this.doDone(eventInfo);
-              await free(this.options, eventInfo);
-              this._assertStatus("DONE");
-              return this._reject(error3);
-            }
+      });
+      args.splice(lastC, 0, c);
+    }
+    exports2.log = console.debug || console.log || (() => {
+    });
+    function save(namespaces) {
+      try {
+        if (namespaces) {
+          exports2.storage.setItem("debug", namespaces);
+        } else {
+          exports2.storage.removeItem("debug");
+        }
+      } catch (error3) {
+      }
+    }
+    function load2() {
+      let r;
+      try {
+        r = exports2.storage.getItem("debug") || exports2.storage.getItem("DEBUG");
+      } catch (error3) {
+      }
+      if (!r && typeof process !== "undefined" && "env" in process) {
+        r = process.env.DEBUG;
+      }
+      return r;
+    }
+    function localstorage() {
+      try {
+        return localStorage;
+      } catch (error3) {
+      }
+    }
+    module2.exports = require_common()(exports2);
+    var { formatters } = module2.exports;
+    formatters.j = function(v) {
+      try {
+        return JSON.stringify(v);
+      } catch (error3) {
+        return "[UnexpectedJSONParseError]: " + error3.message;
+      }
+    };
+  }
+});
+
+// node_modules/has-flag/index.js
+var require_has_flag = __commonJS({
+  "node_modules/has-flag/index.js"(exports2, module2) {
+    "use strict";
+    module2.exports = (flag, argv = process.argv) => {
+      const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
+      const position = argv.indexOf(prefix + flag);
+      const terminatorPosition = argv.indexOf("--");
+      return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
+    };
+  }
+});
+
+// node_modules/supports-color/index.js
+var require_supports_color = __commonJS({
+  "node_modules/supports-color/index.js"(exports2, module2) {
+    "use strict";
+    var os2 = require("os");
+    var tty = require("tty");
+    var hasFlag = require_has_flag();
+    var { env } = process;
+    var forceColor;
+    if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
+      forceColor = 0;
+    } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
+      forceColor = 1;
+    }
+    if ("FORCE_COLOR" in env) {
+      if (env.FORCE_COLOR === "true") {
+        forceColor = 1;
+      } else if (env.FORCE_COLOR === "false") {
+        forceColor = 0;
+      } else {
+        forceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env.FORCE_COLOR, 10), 3);
+      }
+    }
+    function translateLevel(level) {
+      if (level === 0) {
+        return false;
+      }
+      return {
+        level,
+        hasBasic: true,
+        has256: level >= 2,
+        has16m: level >= 3
+      };
+    }
+    function supportsColor(haveStream, streamIsTTY) {
+      if (forceColor === 0) {
+        return 0;
+      }
+      if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
+        return 3;
+      }
+      if (hasFlag("color=256")) {
+        return 2;
+      }
+      if (haveStream && !streamIsTTY && forceColor === void 0) {
+        return 0;
+      }
+      const min = forceColor || 0;
+      if (env.TERM === "dumb") {
+        return min;
+      }
+      if (process.platform === "win32") {
+        const osRelease = os2.release().split(".");
+        if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
+          return Number(osRelease[2]) >= 14931 ? 3 : 2;
+        }
+        return 1;
+      }
+      if ("CI" in env) {
+        if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "GITHUB_ACTIONS", "BUILDKITE"].some((sign) => sign in env) || env.CI_NAME === "codeship") {
+          return 1;
+        }
+        return min;
+      }
+      if ("TEAMCITY_VERSION" in env) {
+        return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
+      }
+      if (env.COLORTERM === "truecolor") {
+        return 3;
+      }
+      if ("TERM_PROGRAM" in env) {
+        const version = parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
+        switch (env.TERM_PROGRAM) {
+          case "iTerm.app":
+            return version >= 3 ? 3 : 2;
+          case "Apple_Terminal":
+            return 2;
+        }
+      }
+      if (/-256(color)?$/i.test(env.TERM)) {
+        return 2;
+      }
+      if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
+        return 1;
+      }
+      if ("COLORTERM" in env) {
+        return 1;
+      }
+      return min;
+    }
+    function getSupportLevel(stream) {
+      const level = supportsColor(stream, stream && stream.isTTY);
+      return translateLevel(level);
+    }
+    module2.exports = {
+      supportsColor: getSupportLevel,
+      stdout: translateLevel(supportsColor(true, tty.isatty(1))),
+      stderr: translateLevel(supportsColor(true, tty.isatty(2)))
+    };
+  }
+});
+
+// node_modules/debug/src/node.js
+var require_node = __commonJS({
+  "node_modules/debug/src/node.js"(exports2, module2) {
+    var tty = require("tty");
+    var util = require("util");
+    exports2.init = init;
+    exports2.log = log;
+    exports2.formatArgs = formatArgs;
+    exports2.save = save;
+    exports2.load = load2;
+    exports2.useColors = useColors;
+    exports2.destroy = util.deprecate(
+      () => {
+      },
+      "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."
+    );
+    exports2.colors = [6, 2, 3, 4, 5, 1];
+    try {
+      const supportsColor = require_supports_color();
+      if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {
+        exports2.colors = [
+          20,
+          21,
+          26,
+          27,
+          32,
+          33,
+          38,
+          39,
+          40,
+          41,
+          42,
+          43,
+          44,
+          45,
+          56,
+          57,
+          62,
+          63,
+          68,
+          69,
+          74,
+          75,
+          76,
+          77,
+          78,
+          79,
+          80,
+          81,
+          92,
+          93,
+          98,
+          99,
+          112,
+          113,
+          128,
+          129,
+          134,
+          135,
+          148,
+          149,
+          160,
+          161,
+          162,
+          163,
+          164,
+          165,
+          166,
+          167,
+          168,
+          169,
+          170,
+          171,
+          172,
+          173,
+          178,
+          179,
+          184,
+          185,
+          196,
+          197,
+          198,
+          199,
+          200,
+          201,
+          202,
+          203,
+          204,
+          205,
+          206,
+          207,
+          208,
+          209,
+          214,
+          215,
+          220,
+          221
+        ];
+      }
+    } catch (error3) {
+    }
+    exports2.inspectOpts = Object.keys(process.env).filter((key) => {
+      return /^debug_/i.test(key);
+    }).reduce((obj, key) => {
+      const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_2, k) => {
+        return k.toUpperCase();
+      });
+      let val = process.env[key];
+      if (/^(yes|on|true|enabled)$/i.test(val)) {
+        val = true;
+      } else if (/^(no|off|false|disabled)$/i.test(val)) {
+        val = false;
+      } else if (val === "null") {
+        val = null;
+      } else {
+        val = Number(val);
+      }
+      obj[prop] = val;
+      return obj;
+    }, {});
+    function useColors() {
+      return "colors" in exports2.inspectOpts ? Boolean(exports2.inspectOpts.colors) : tty.isatty(process.stderr.fd);
+    }
+    function formatArgs(args) {
+      const { namespace: name, useColors: useColors2 } = this;
+      if (useColors2) {
+        const c = this.color;
+        const colorCode = "\x1B[3" + (c < 8 ? c : "8;5;" + c);
+        const prefix = `  ${colorCode};1m${name} \x1B[0m`;
+        args[0] = prefix + args[0].split("\n").join("\n" + prefix);
+        args.push(colorCode + "m+" + module2.exports.humanize(this.diff) + "\x1B[0m");
+      } else {
+        args[0] = getDate() + name + " " + args[0];
+      }
+    }
+    function getDate() {
+      if (exports2.inspectOpts.hideDate) {
+        return "";
+      }
+      return (/* @__PURE__ */ new Date()).toISOString() + " ";
+    }
+    function log(...args) {
+      return process.stderr.write(util.formatWithOptions(exports2.inspectOpts, ...args) + "\n");
+    }
+    function save(namespaces) {
+      if (namespaces) {
+        process.env.DEBUG = namespaces;
+      } else {
+        delete process.env.DEBUG;
+      }
+    }
+    function load2() {
+      return process.env.DEBUG;
+    }
+    function init(debug4) {
+      debug4.inspectOpts = {};
+      const keys = Object.keys(exports2.inspectOpts);
+      for (let i = 0; i < keys.length; i++) {
+        debug4.inspectOpts[keys[i]] = exports2.inspectOpts[keys[i]];
+      }
+    }
+    module2.exports = require_common()(exports2);
+    var { formatters } = module2.exports;
+    formatters.o = function(v) {
+      this.inspectOpts.colors = this.useColors;
+      return util.inspect(v, this.inspectOpts).split("\n").map((str2) => str2.trim()).join(" ");
+    };
+    formatters.O = function(v) {
+      this.inspectOpts.colors = this.useColors;
+      return util.inspect(v, this.inspectOpts);
+    };
+  }
+});
+
+// node_modules/debug/src/index.js
+var require_src = __commonJS({
+  "node_modules/debug/src/index.js"(exports2, module2) {
+    if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) {
+      module2.exports = require_browser();
+    } else {
+      module2.exports = require_node();
+    }
+  }
+});
+
+// node_modules/agent-base/dist/helpers.js
+var require_helpers3 = __commonJS({
+  "node_modules/agent-base/dist/helpers.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      }
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.req = exports2.json = exports2.toBuffer = void 0;
+    var http = __importStar2(require("http"));
+    var https2 = __importStar2(require("https"));
+    async function toBuffer(stream) {
+      let length = 0;
+      const chunks = [];
+      for await (const chunk of stream) {
+        length += chunk.length;
+        chunks.push(chunk);
+      }
+      return Buffer.concat(chunks, length);
+    }
+    exports2.toBuffer = toBuffer;
+    async function json2(stream) {
+      const buf = await toBuffer(stream);
+      const str2 = buf.toString("utf8");
+      try {
+        return JSON.parse(str2);
+      } catch (_err) {
+        const err = _err;
+        err.message += ` (input: ${str2})`;
+        throw err;
+      }
+    }
+    exports2.json = json2;
+    function req(url, opts = {}) {
+      const href = typeof url === "string" ? url : url.href;
+      const req2 = (href.startsWith("https:") ? https2 : http).request(url, opts);
+      const promise = new Promise((resolve3, reject) => {
+        req2.once("response", resolve3).once("error", reject).end();
+      });
+      req2.then = promise.then.bind(promise);
+      return req2;
+    }
+    exports2.req = req;
+  }
+});
+
+// node_modules/agent-base/dist/index.js
+var require_dist = __commonJS({
+  "node_modules/agent-base/dist/index.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      }
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
+      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p);
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Agent = void 0;
+    var net = __importStar2(require("net"));
+    var http = __importStar2(require("http"));
+    var https_1 = require("https");
+    __exportStar2(require_helpers3(), exports2);
+    var INTERNAL = /* @__PURE__ */ Symbol("AgentBaseInternalState");
+    var Agent = class extends http.Agent {
+      constructor(opts) {
+        super(opts);
+        this[INTERNAL] = {};
+      }
+      /**
+       * Determine whether this is an `http` or `https` request.
+       */
+      isSecureEndpoint(options) {
+        if (options) {
+          if (typeof options.secureEndpoint === "boolean") {
+            return options.secureEndpoint;
           }
-        }
-        doDone(eventInfo) {
-          this._assertStatus("EXECUTING");
-          this._states.next(this.options.id);
-          return this.Events.trigger("done", eventInfo);
-        }
-      };
-      var Job_1 = Job;
-      var BottleneckError$2, LocalDatastore, parser$2;
-      parser$2 = parser;
-      BottleneckError$2 = BottleneckError_1;
-      LocalDatastore = class LocalDatastore {
-        constructor(instance, storeOptions, storeInstanceOptions) {
-          this.instance = instance;
-          this.storeOptions = storeOptions;
-          this.clientId = this.instance._randomIndex();
-          parser$2.load(storeInstanceOptions, storeInstanceOptions, this);
-          this._nextRequest = this._lastReservoirRefresh = this._lastReservoirIncrease = Date.now();
-          this._running = 0;
-          this._done = 0;
-          this._unblockTime = 0;
-          this.ready = this.Promise.resolve();
-          this.clients = {};
-          this._startHeartbeat();
-        }
-        _startHeartbeat() {
-          var base;
-          if (this.heartbeat == null && (this.storeOptions.reservoirRefreshInterval != null && this.storeOptions.reservoirRefreshAmount != null || this.storeOptions.reservoirIncreaseInterval != null && this.storeOptions.reservoirIncreaseAmount != null)) {
-            return typeof (base = this.heartbeat = setInterval(() => {
-              var amount, incr, maximum, now, reservoir;
-              now = Date.now();
-              if (this.storeOptions.reservoirRefreshInterval != null && now >= this._lastReservoirRefresh + this.storeOptions.reservoirRefreshInterval) {
-                this._lastReservoirRefresh = now;
-                this.storeOptions.reservoir = this.storeOptions.reservoirRefreshAmount;
-                this.instance._drainAll(this.computeCapacity());
-              }
-              if (this.storeOptions.reservoirIncreaseInterval != null && now >= this._lastReservoirIncrease + this.storeOptions.reservoirIncreaseInterval) {
-                ({
-                  reservoirIncreaseAmount: amount,
-                  reservoirIncreaseMaximum: maximum,
-                  reservoir
-                } = this.storeOptions);
-                this._lastReservoirIncrease = now;
-                incr = maximum != null ? Math.min(amount, maximum - reservoir) : amount;
-                if (incr > 0) {
-                  this.storeOptions.reservoir += incr;
-                  return this.instance._drainAll(this.computeCapacity());
-                }
-              }
-            }, this.heartbeatInterval)).unref === "function" ? base.unref() : void 0;
-          } else {
-            return clearInterval(this.heartbeat);
+          if (typeof options.protocol === "string") {
+            return options.protocol === "https:";
           }
         }
-        async __publish__(message) {
-          await this.yieldLoop();
-          return this.instance.Events.trigger("message", message.toString());
-        }
-        async __disconnect__(flush) {
-          await this.yieldLoop();
-          clearInterval(this.heartbeat);
-          return this.Promise.resolve();
-        }
-        yieldLoop(t = 0) {
-          return new this.Promise(function(resolve3, reject) {
-            return setTimeout(resolve3, t);
-          });
-        }
-        computePenalty() {
-          var ref;
-          return (ref = this.storeOptions.penalty) != null ? ref : 15 * this.storeOptions.minTime || 5e3;
-        }
-        async __updateSettings__(options) {
-          await this.yieldLoop();
-          parser$2.overwrite(options, options, this.storeOptions);
-          this._startHeartbeat();
-          this.instance._drainAll(this.computeCapacity());
-          return true;
-        }
-        async __running__() {
-          await this.yieldLoop();
-          return this._running;
-        }
-        async __queued__() {
-          await this.yieldLoop();
-          return this.instance.queued();
+        const { stack } = new Error();
+        if (typeof stack !== "string")
+          return false;
+        return stack.split("\n").some((l) => l.indexOf("(https.js:") !== -1 || l.indexOf("node:https:") !== -1);
+      }
+      // In order to support async signatures in `connect()` and Node's native
+      // connection pooling in `http.Agent`, the array of sockets for each origin
+      // has to be updated synchronously. This is so the length of the array is
+      // accurate when `addRequest()` is next called. We achieve this by creating a
+      // fake socket and adding it to `sockets[origin]` and incrementing
+      // `totalSocketCount`.
+      incrementSockets(name) {
+        if (this.maxSockets === Infinity && this.maxTotalSockets === Infinity) {
+          return null;
         }
-        async __done__() {
-          await this.yieldLoop();
-          return this._done;
+        if (!this.sockets[name]) {
+          this.sockets[name] = [];
         }
-        async __groupCheck__(time) {
-          await this.yieldLoop();
-          return this._nextRequest + this.timeout < time;
+        const fakeSocket = new net.Socket({ writable: false });
+        this.sockets[name].push(fakeSocket);
+        this.totalSocketCount++;
+        return fakeSocket;
+      }
+      decrementSockets(name, socket) {
+        if (!this.sockets[name] || socket === null) {
+          return;
         }
-        computeCapacity() {
-          var maxConcurrent, reservoir;
-          ({ maxConcurrent, reservoir } = this.storeOptions);
-          if (maxConcurrent != null && reservoir != null) {
-            return Math.min(maxConcurrent - this._running, reservoir);
-          } else if (maxConcurrent != null) {
-            return maxConcurrent - this._running;
-          } else if (reservoir != null) {
-            return reservoir;
-          } else {
-            return null;
+        const sockets = this.sockets[name];
+        const index = sockets.indexOf(socket);
+        if (index !== -1) {
+          sockets.splice(index, 1);
+          this.totalSocketCount--;
+          if (sockets.length === 0) {
+            delete this.sockets[name];
           }
         }
-        conditionsCheck(weight) {
-          var capacity;
-          capacity = this.computeCapacity();
-          return capacity == null || weight <= capacity;
-        }
-        async __incrementReservoir__(incr) {
-          var reservoir;
-          await this.yieldLoop();
-          reservoir = this.storeOptions.reservoir += incr;
-          this.instance._drainAll(this.computeCapacity());
-          return reservoir;
-        }
-        async __currentReservoir__() {
-          await this.yieldLoop();
-          return this.storeOptions.reservoir;
-        }
-        isBlocked(now) {
-          return this._unblockTime >= now;
-        }
-        check(weight, now) {
-          return this.conditionsCheck(weight) && this._nextRequest - now <= 0;
-        }
-        async __check__(weight) {
-          var now;
-          await this.yieldLoop();
-          now = Date.now();
-          return this.check(weight, now);
+      }
+      // In order to properly update the socket pool, we need to call `getName()` on
+      // the core `https.Agent` if it is a secureEndpoint.
+      getName(options) {
+        const secureEndpoint = typeof options.secureEndpoint === "boolean" ? options.secureEndpoint : this.isSecureEndpoint(options);
+        if (secureEndpoint) {
+          return https_1.Agent.prototype.getName.call(this, options);
         }
-        async __register__(index, weight, expiration) {
-          var now, wait;
-          await this.yieldLoop();
-          now = Date.now();
-          if (this.conditionsCheck(weight)) {
-            this._running += weight;
-            if (this.storeOptions.reservoir != null) {
-              this.storeOptions.reservoir -= weight;
+        return super.getName(options);
+      }
+      createSocket(req, options, cb) {
+        const connectOpts = {
+          ...options,
+          secureEndpoint: this.isSecureEndpoint(options)
+        };
+        const name = this.getName(connectOpts);
+        const fakeSocket = this.incrementSockets(name);
+        Promise.resolve().then(() => this.connect(req, connectOpts)).then((socket) => {
+          this.decrementSockets(name, fakeSocket);
+          if (socket instanceof http.Agent) {
+            try {
+              return socket.addRequest(req, connectOpts);
+            } catch (err) {
+              return cb(err);
             }
-            wait = Math.max(this._nextRequest - now, 0);
-            this._nextRequest = now + wait + this.storeOptions.minTime;
-            return {
-              success: true,
-              wait,
-              reservoir: this.storeOptions.reservoir
-            };
-          } else {
-            return {
-              success: false
-            };
-          }
-        }
-        strategyIsBlock() {
-          return this.storeOptions.strategy === 3;
-        }
-        async __submit__(queueLength, weight) {
-          var blocked, now, reachedHWM;
-          await this.yieldLoop();
-          if (this.storeOptions.maxConcurrent != null && weight > this.storeOptions.maxConcurrent) {
-            throw new BottleneckError$2(`Impossible to add a job having a weight of ${weight} to a limiter having a maxConcurrent setting of ${this.storeOptions.maxConcurrent}`);
           }
-          now = Date.now();
-          reachedHWM = this.storeOptions.highWater != null && queueLength === this.storeOptions.highWater && !this.check(weight, now);
-          blocked = this.strategyIsBlock() && (reachedHWM || this.isBlocked(now));
-          if (blocked) {
-            this._unblockTime = now + this.computePenalty();
-            this._nextRequest = this._unblockTime + this.storeOptions.minTime;
-            this.instance._dropAllQueued();
-          }
-          return {
-            reachedHWM,
-            blocked,
-            strategy: this.storeOptions.strategy
-          };
+          this[INTERNAL].currentSocket = socket;
+          super.createSocket(req, options, cb);
+        }, (err) => {
+          this.decrementSockets(name, fakeSocket);
+          cb(err);
+        });
+      }
+      createConnection() {
+        const socket = this[INTERNAL].currentSocket;
+        this[INTERNAL].currentSocket = void 0;
+        if (!socket) {
+          throw new Error("No socket was returned in the `connect()` function");
         }
-        async __free__(index, weight) {
-          await this.yieldLoop();
-          this._running -= weight;
-          this._done += weight;
-          this.instance._drainAll(this.computeCapacity());
-          return {
-            running: this._running
-          };
+        return socket;
+      }
+      get defaultPort() {
+        return this[INTERNAL].defaultPort ?? (this.protocol === "https:" ? 443 : 80);
+      }
+      set defaultPort(v) {
+        if (this[INTERNAL]) {
+          this[INTERNAL].defaultPort = v;
         }
-      };
-      var LocalDatastore_1 = LocalDatastore;
-      var BottleneckError$3, States;
-      BottleneckError$3 = BottleneckError_1;
-      States = class States {
-        constructor(status1) {
-          this.status = status1;
-          this._jobs = {};
-          this.counts = this.status.map(function() {
-            return 0;
-          });
+      }
+      get protocol() {
+        return this[INTERNAL].protocol ?? (this.isSecureEndpoint() ? "https:" : "http:");
+      }
+      set protocol(v) {
+        if (this[INTERNAL]) {
+          this[INTERNAL].protocol = v;
         }
-        next(id) {
-          var current, next;
-          current = this._jobs[id];
-          next = current + 1;
-          if (current != null && next < this.status.length) {
-            this.counts[current]--;
-            this.counts[next]++;
-            return this._jobs[id]++;
-          } else if (current != null) {
-            this.counts[current]--;
-            return delete this._jobs[id];
-          }
+      }
+    };
+    exports2.Agent = Agent;
+  }
+});
+
+// node_modules/https-proxy-agent/dist/parse-proxy-response.js
+var require_parse_proxy_response = __commonJS({
+  "node_modules/https-proxy-agent/dist/parse-proxy-response.js"(exports2) {
+    "use strict";
+    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
+      return mod && mod.__esModule ? mod : { "default": mod };
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.parseProxyResponse = void 0;
+    var debug_1 = __importDefault2(require_src());
+    var debug4 = (0, debug_1.default)("https-proxy-agent:parse-proxy-response");
+    function parseProxyResponse(socket) {
+      return new Promise((resolve3, reject) => {
+        let buffersLength = 0;
+        const buffers = [];
+        function read() {
+          const b = socket.read();
+          if (b)
+            ondata(b);
+          else
+            socket.once("readable", read);
         }
-        start(id) {
-          var initial;
-          initial = 0;
-          this._jobs[id] = initial;
-          return this.counts[initial]++;
+        function cleanup() {
+          socket.removeListener("end", onend);
+          socket.removeListener("error", onerror);
+          socket.removeListener("readable", read);
         }
-        remove(id) {
-          var current;
-          current = this._jobs[id];
-          if (current != null) {
-            this.counts[current]--;
-            delete this._jobs[id];
-          }
-          return current != null;
+        function onend() {
+          cleanup();
+          debug4("onend");
+          reject(new Error("Proxy connection ended before receiving CONNECT response"));
         }
-        jobStatus(id) {
-          var ref;
-          return (ref = this.status[this._jobs[id]]) != null ? ref : null;
+        function onerror(err) {
+          cleanup();
+          debug4("onerror %o", err);
+          reject(err);
         }
-        statusJobs(status) {
-          var k, pos, ref, results, v;
-          if (status != null) {
-            pos = this.status.indexOf(status);
-            if (pos < 0) {
-              throw new BottleneckError$3(`status must be one of ${this.status.join(", ")}`);
+        function ondata(b) {
+          buffers.push(b);
+          buffersLength += b.length;
+          const buffered = Buffer.concat(buffers, buffersLength);
+          const endOfHeaders = buffered.indexOf("\r\n\r\n");
+          if (endOfHeaders === -1) {
+            debug4("have not received end of HTTP headers yet...");
+            read();
+            return;
+          }
+          const headerParts = buffered.slice(0, endOfHeaders).toString("ascii").split("\r\n");
+          const firstLine = headerParts.shift();
+          if (!firstLine) {
+            socket.destroy();
+            return reject(new Error("No header received from proxy CONNECT response"));
+          }
+          const firstLineParts = firstLine.split(" ");
+          const statusCode = +firstLineParts[1];
+          const statusText = firstLineParts.slice(2).join(" ");
+          const headers = {};
+          for (const header of headerParts) {
+            if (!header)
+              continue;
+            const firstColon = header.indexOf(":");
+            if (firstColon === -1) {
+              socket.destroy();
+              return reject(new Error(`Invalid header from proxy CONNECT response: "${header}"`));
             }
-            ref = this._jobs;
-            results = [];
-            for (k in ref) {
-              v = ref[k];
-              if (v === pos) {
-                results.push(k);
-              }
+            const key = header.slice(0, firstColon).toLowerCase();
+            const value = header.slice(firstColon + 1).trimStart();
+            const current = headers[key];
+            if (typeof current === "string") {
+              headers[key] = [current, value];
+            } else if (Array.isArray(current)) {
+              current.push(value);
+            } else {
+              headers[key] = value;
             }
-            return results;
-          } else {
-            return Object.keys(this._jobs);
           }
+          debug4("got proxy server response: %o %o", firstLine, headers);
+          cleanup();
+          resolve3({
+            connect: {
+              statusCode,
+              statusText,
+              headers
+            },
+            buffered
+          });
         }
-        statusCounts() {
-          return this.counts.reduce(((acc, v, i) => {
-            acc[this.status[i]] = v;
-            return acc;
-          }), {});
+        socket.on("error", onerror);
+        socket.on("end", onend);
+        read();
+      });
+    }
+    exports2.parseProxyResponse = parseProxyResponse;
+  }
+});
+
+// node_modules/https-proxy-agent/dist/index.js
+var require_dist2 = __commonJS({
+  "node_modules/https-proxy-agent/dist/index.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      }
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
+      return mod && mod.__esModule ? mod : { "default": mod };
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.HttpsProxyAgent = void 0;
+    var net = __importStar2(require("net"));
+    var tls = __importStar2(require("tls"));
+    var assert_1 = __importDefault2(require("assert"));
+    var debug_1 = __importDefault2(require_src());
+    var agent_base_1 = require_dist();
+    var url_1 = require("url");
+    var parse_proxy_response_1 = require_parse_proxy_response();
+    var debug4 = (0, debug_1.default)("https-proxy-agent");
+    var setServernameFromNonIpHost = (options) => {
+      if (options.servername === void 0 && options.host && !net.isIP(options.host)) {
+        return {
+          ...options,
+          servername: options.host
+        };
+      }
+      return options;
+    };
+    var HttpsProxyAgent = class extends agent_base_1.Agent {
+      constructor(proxy, opts) {
+        super(opts);
+        this.options = { path: void 0 };
+        this.proxy = typeof proxy === "string" ? new url_1.URL(proxy) : proxy;
+        this.proxyHeaders = opts?.headers ?? {};
+        debug4("Creating new HttpsProxyAgent instance: %o", this.proxy.href);
+        const host = (this.proxy.hostname || this.proxy.host).replace(/^\[|\]$/g, "");
+        const port = this.proxy.port ? parseInt(this.proxy.port, 10) : this.proxy.protocol === "https:" ? 443 : 80;
+        this.connectOpts = {
+          // Attempt to negotiate http/1.1 for proxy servers that support http/2
+          ALPNProtocols: ["http/1.1"],
+          ...opts ? omit2(opts, "headers") : null,
+          host,
+          port
+        };
+      }
+      /**
+       * Called when the node-core HTTP client library is creating a
+       * new HTTP request.
+       */
+      async connect(req, opts) {
+        const { proxy } = this;
+        if (!opts.host) {
+          throw new TypeError('No "host" provided');
         }
-      };
-      var States_1 = States;
-      var DLList$2, Sync;
-      DLList$2 = DLList_1;
-      Sync = class Sync {
-        constructor(name, Promise2) {
-          this.schedule = this.schedule.bind(this);
-          this.name = name;
-          this.Promise = Promise2;
-          this._running = 0;
-          this._queue = new DLList$2();
+        let socket;
+        if (proxy.protocol === "https:") {
+          debug4("Creating `tls.Socket`: %o", this.connectOpts);
+          socket = tls.connect(setServernameFromNonIpHost(this.connectOpts));
+        } else {
+          debug4("Creating `net.Socket`: %o", this.connectOpts);
+          socket = net.connect(this.connectOpts);
         }
-        isEmpty() {
-          return this._queue.length === 0;
+        const headers = typeof this.proxyHeaders === "function" ? this.proxyHeaders() : { ...this.proxyHeaders };
+        const host = net.isIPv6(opts.host) ? `[${opts.host}]` : opts.host;
+        let payload = `CONNECT ${host}:${opts.port} HTTP/1.1\r
+`;
+        if (proxy.username || proxy.password) {
+          const auth2 = `${decodeURIComponent(proxy.username)}:${decodeURIComponent(proxy.password)}`;
+          headers["Proxy-Authorization"] = `Basic ${Buffer.from(auth2).toString("base64")}`;
         }
-        async _tryToRun() {
-          var args, cb, error3, reject, resolve3, returned, task;
-          if (this._running < 1 && this._queue.length > 0) {
-            this._running++;
-            ({ task, args, resolve: resolve3, reject } = this._queue.shift());
-            cb = await (async function() {
-              try {
-                returned = await task(...args);
-                return function() {
-                  return resolve3(returned);
-                };
-              } catch (error1) {
-                error3 = error1;
-                return function() {
-                  return reject(error3);
-                };
-              }
-            })();
-            this._running--;
-            this._tryToRun();
-            return cb();
-          }
+        headers.Host = `${host}:${opts.port}`;
+        if (!headers["Proxy-Connection"]) {
+          headers["Proxy-Connection"] = this.keepAlive ? "Keep-Alive" : "close";
         }
-        schedule(task, ...args) {
-          var promise, reject, resolve3;
-          resolve3 = reject = null;
-          promise = new this.Promise(function(_resolve, _reject) {
-            resolve3 = _resolve;
-            return reject = _reject;
-          });
-          this._queue.push({ task, args, resolve: resolve3, reject });
-          this._tryToRun();
-          return promise;
+        for (const name of Object.keys(headers)) {
+          payload += `${name}: ${headers[name]}\r
+`;
         }
-      };
-      var Sync_1 = Sync;
-      var version = "2.19.5";
-      var version$1 = {
-        version
-      };
-      var version$2 = /* @__PURE__ */ Object.freeze({
-        version,
-        default: version$1
-      });
-      var require$$2 = () => console.log("You must import the full version of Bottleneck in order to use this feature.");
-      var require$$3 = () => console.log("You must import the full version of Bottleneck in order to use this feature.");
-      var require$$4 = () => console.log("You must import the full version of Bottleneck in order to use this feature.");
-      var Events$2, Group, IORedisConnection$1, RedisConnection$1, Scripts$1, parser$3;
-      parser$3 = parser;
-      Events$2 = Events_1;
-      RedisConnection$1 = require$$2;
-      IORedisConnection$1 = require$$3;
-      Scripts$1 = require$$4;
-      Group = (function() {
-        class Group2 {
-          constructor(limiterOptions = {}) {
-            this.deleteKey = this.deleteKey.bind(this);
-            this.limiterOptions = limiterOptions;
-            parser$3.load(this.limiterOptions, this.defaults, this);
-            this.Events = new Events$2(this);
-            this.instances = {};
-            this.Bottleneck = Bottleneck_1;
-            this._startAutoCleanup();
-            this.sharedConnection = this.connection != null;
-            if (this.connection == null) {
-              if (this.limiterOptions.datastore === "redis") {
-                this.connection = new RedisConnection$1(Object.assign({}, this.limiterOptions, { Events: this.Events }));
-              } else if (this.limiterOptions.datastore === "ioredis") {
-                this.connection = new IORedisConnection$1(Object.assign({}, this.limiterOptions, { Events: this.Events }));
-              }
-            }
-          }
-          key(key = "") {
-            var ref;
-            return (ref = this.instances[key]) != null ? ref : (() => {
-              var limiter;
-              limiter = this.instances[key] = new this.Bottleneck(Object.assign(this.limiterOptions, {
-                id: `${this.id}-${key}`,
-                timeout: this.timeout,
-                connection: this.connection
-              }));
-              this.Events.trigger("created", limiter, key);
-              return limiter;
-            })();
-          }
-          async deleteKey(key = "") {
-            var deleted, instance;
-            instance = this.instances[key];
-            if (this.connection) {
-              deleted = await this.connection.__runCommand__(["del", ...Scripts$1.allKeys(`${this.id}-${key}`)]);
-            }
-            if (instance != null) {
-              delete this.instances[key];
-              await instance.disconnect();
-            }
-            return instance != null || deleted > 0;
-          }
-          limiters() {
-            var k, ref, results, v;
-            ref = this.instances;
-            results = [];
-            for (k in ref) {
-              v = ref[k];
-              results.push({
-                key: k,
-                limiter: v
-              });
-            }
-            return results;
-          }
-          keys() {
-            return Object.keys(this.instances);
-          }
-          async clusterKeys() {
-            var cursor, end, found, i, k, keys, len, next, start;
-            if (this.connection == null) {
-              return this.Promise.resolve(this.keys());
-            }
-            keys = [];
-            cursor = null;
-            start = `b_${this.id}-`.length;
-            end = "_settings".length;
-            while (cursor !== 0) {
-              [next, found] = await this.connection.__runCommand__(["scan", cursor != null ? cursor : 0, "match", `b_${this.id}-*_settings`, "count", 1e4]);
-              cursor = ~~next;
-              for (i = 0, len = found.length; i < len; i++) {
-                k = found[i];
-                keys.push(k.slice(start, -end));
-              }
-            }
-            return keys;
+        const proxyResponsePromise = (0, parse_proxy_response_1.parseProxyResponse)(socket);
+        socket.write(`${payload}\r
+`);
+        const { connect, buffered } = await proxyResponsePromise;
+        req.emit("proxyConnect", connect);
+        this.emit("proxyConnect", connect, req);
+        if (connect.statusCode === 200) {
+          req.once("socket", resume);
+          if (opts.secureEndpoint) {
+            debug4("Upgrading socket connection to TLS");
+            return tls.connect({
+              ...omit2(setServernameFromNonIpHost(opts), "host", "path", "port"),
+              socket
+            });
           }
-          _startAutoCleanup() {
-            var base;
-            clearInterval(this.interval);
-            return typeof (base = this.interval = setInterval(async () => {
-              var e, k, ref, results, time, v;
-              time = Date.now();
-              ref = this.instances;
-              results = [];
-              for (k in ref) {
-                v = ref[k];
-                try {
-                  if (await v._store.__groupCheck__(time)) {
-                    results.push(this.deleteKey(k));
-                  } else {
-                    results.push(void 0);
-                  }
-                } catch (error3) {
-                  e = error3;
-                  results.push(v.Events.trigger("error", e));
-                }
-              }
-              return results;
-            }, this.timeout / 2)).unref === "function" ? base.unref() : void 0;
+          return socket;
+        }
+        socket.destroy();
+        const fakeSocket = new net.Socket({ writable: false });
+        fakeSocket.readable = true;
+        req.once("socket", (s) => {
+          debug4("Replaying proxy buffer for failed request");
+          (0, assert_1.default)(s.listenerCount("data") > 0);
+          s.push(buffered);
+          s.push(null);
+        });
+        return fakeSocket;
+      }
+    };
+    HttpsProxyAgent.protocols = ["http", "https"];
+    exports2.HttpsProxyAgent = HttpsProxyAgent;
+    function resume(socket) {
+      socket.resume();
+    }
+    function omit2(obj, ...keys) {
+      const ret = {};
+      let key;
+      for (key in obj) {
+        if (!keys.includes(key)) {
+          ret[key] = obj[key];
+        }
+      }
+      return ret;
+    }
+  }
+});
+
+// node_modules/http-proxy-agent/dist/index.js
+var require_dist3 = __commonJS({
+  "node_modules/http-proxy-agent/dist/index.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      }
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
+      return mod && mod.__esModule ? mod : { "default": mod };
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.HttpProxyAgent = void 0;
+    var net = __importStar2(require("net"));
+    var tls = __importStar2(require("tls"));
+    var debug_1 = __importDefault2(require_src());
+    var events_1 = require("events");
+    var agent_base_1 = require_dist();
+    var url_1 = require("url");
+    var debug4 = (0, debug_1.default)("http-proxy-agent");
+    var HttpProxyAgent = class extends agent_base_1.Agent {
+      constructor(proxy, opts) {
+        super(opts);
+        this.proxy = typeof proxy === "string" ? new url_1.URL(proxy) : proxy;
+        this.proxyHeaders = opts?.headers ?? {};
+        debug4("Creating new HttpProxyAgent instance: %o", this.proxy.href);
+        const host = (this.proxy.hostname || this.proxy.host).replace(/^\[|\]$/g, "");
+        const port = this.proxy.port ? parseInt(this.proxy.port, 10) : this.proxy.protocol === "https:" ? 443 : 80;
+        this.connectOpts = {
+          ...opts ? omit2(opts, "headers") : null,
+          host,
+          port
+        };
+      }
+      addRequest(req, opts) {
+        req._header = null;
+        this.setRequestProps(req, opts);
+        super.addRequest(req, opts);
+      }
+      setRequestProps(req, opts) {
+        const { proxy } = this;
+        const protocol = opts.secureEndpoint ? "https:" : "http:";
+        const hostname = req.getHeader("host") || "localhost";
+        const base = `${protocol}//${hostname}`;
+        const url = new url_1.URL(req.path, base);
+        if (opts.port !== 80) {
+          url.port = String(opts.port);
+        }
+        req.path = String(url);
+        const headers = typeof this.proxyHeaders === "function" ? this.proxyHeaders() : { ...this.proxyHeaders };
+        if (proxy.username || proxy.password) {
+          const auth2 = `${decodeURIComponent(proxy.username)}:${decodeURIComponent(proxy.password)}`;
+          headers["Proxy-Authorization"] = `Basic ${Buffer.from(auth2).toString("base64")}`;
+        }
+        if (!headers["Proxy-Connection"]) {
+          headers["Proxy-Connection"] = this.keepAlive ? "Keep-Alive" : "close";
+        }
+        for (const name of Object.keys(headers)) {
+          const value = headers[name];
+          if (value) {
+            req.setHeader(name, value);
           }
-          updateSettings(options = {}) {
-            parser$3.overwrite(options, this.defaults, this);
-            parser$3.overwrite(options, options, this.limiterOptions);
-            if (options.timeout != null) {
-              return this._startAutoCleanup();
+        }
+      }
+      async connect(req, opts) {
+        req._header = null;
+        if (!req.path.includes("://")) {
+          this.setRequestProps(req, opts);
+        }
+        let first;
+        let endOfHeaders;
+        debug4("Regenerating stored HTTP header string for request");
+        req._implicitHeader();
+        if (req.outputData && req.outputData.length > 0) {
+          debug4("Patching connection write() output buffer with updated header");
+          first = req.outputData[0].data;
+          endOfHeaders = first.indexOf("\r\n\r\n") + 4;
+          req.outputData[0].data = req._header + first.substring(endOfHeaders);
+          debug4("Output buffer: %o", req.outputData[0].data);
+        }
+        let socket;
+        if (this.proxy.protocol === "https:") {
+          debug4("Creating `tls.Socket`: %o", this.connectOpts);
+          socket = tls.connect(this.connectOpts);
+        } else {
+          debug4("Creating `net.Socket`: %o", this.connectOpts);
+          socket = net.connect(this.connectOpts);
+        }
+        await (0, events_1.once)(socket, "connect");
+        return socket;
+      }
+    };
+    HttpProxyAgent.protocols = ["http", "https"];
+    exports2.HttpProxyAgent = HttpProxyAgent;
+    function omit2(obj, ...keys) {
+      const ret = {};
+      let key;
+      for (key in obj) {
+        if (!keys.includes(key)) {
+          ret[key] = obj[key];
+        }
+      }
+      return ret;
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/proxyPolicy.js
+var require_proxyPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/proxyPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.globalNoProxyList = exports2.proxyPolicyName = void 0;
+    exports2.loadNoProxy = loadNoProxy;
+    exports2.getDefaultProxySettings = getDefaultProxySettings;
+    exports2.proxyPolicy = proxyPolicy;
+    var https_proxy_agent_1 = require_dist2();
+    var http_proxy_agent_1 = require_dist3();
+    var log_js_1 = require_log2();
+    var HTTPS_PROXY = "HTTPS_PROXY";
+    var HTTP_PROXY = "HTTP_PROXY";
+    var ALL_PROXY = "ALL_PROXY";
+    var NO_PROXY = "NO_PROXY";
+    exports2.proxyPolicyName = "proxyPolicy";
+    exports2.globalNoProxyList = [];
+    var noProxyListLoaded = false;
+    var globalBypassedMap = /* @__PURE__ */ new Map();
+    function getEnvironmentValue(name) {
+      if (process.env[name]) {
+        return process.env[name];
+      } else if (process.env[name.toLowerCase()]) {
+        return process.env[name.toLowerCase()];
+      }
+      return void 0;
+    }
+    function loadEnvironmentProxyValue() {
+      if (!process) {
+        return void 0;
+      }
+      const httpsProxy = getEnvironmentValue(HTTPS_PROXY);
+      const allProxy = getEnvironmentValue(ALL_PROXY);
+      const httpProxy = getEnvironmentValue(HTTP_PROXY);
+      return httpsProxy || allProxy || httpProxy;
+    }
+    function isBypassed(uri, noProxyList, bypassedMap) {
+      if (noProxyList.length === 0) {
+        return false;
+      }
+      const host = new URL(uri).hostname;
+      if (bypassedMap?.has(host)) {
+        return bypassedMap.get(host);
+      }
+      let isBypassedFlag = false;
+      for (const pattern of noProxyList) {
+        if (pattern[0] === ".") {
+          if (host.endsWith(pattern)) {
+            isBypassedFlag = true;
+          } else {
+            if (host.length === pattern.length - 1 && host === pattern.slice(1)) {
+              isBypassedFlag = true;
             }
           }
-          disconnect(flush = true) {
-            var ref;
-            if (!this.sharedConnection) {
-              return (ref = this.connection) != null ? ref.disconnect(flush) : void 0;
-            }
+        } else {
+          if (host === pattern) {
+            isBypassedFlag = true;
           }
         }
-        Group2.prototype.defaults = {
-          timeout: 1e3 * 60 * 5,
-          connection: null,
-          Promise,
-          id: "group-key"
-        };
-        return Group2;
-      }).call(commonjsGlobal);
-      var Group_1 = Group;
-      var Batcher, Events$3, parser$4;
-      parser$4 = parser;
-      Events$3 = Events_1;
-      Batcher = (function() {
-        class Batcher2 {
-          constructor(options = {}) {
-            this.options = options;
-            parser$4.load(this.options, this.defaults, this);
-            this.Events = new Events$3(this);
-            this._arr = [];
-            this._resetPromise();
-            this._lastFlush = Date.now();
-          }
-          _resetPromise() {
-            return this._promise = new this.Promise((res, rej) => {
-              return this._resolve = res;
-            });
+      }
+      bypassedMap?.set(host, isBypassedFlag);
+      return isBypassedFlag;
+    }
+    function loadNoProxy() {
+      const noProxy = getEnvironmentValue(NO_PROXY);
+      noProxyListLoaded = true;
+      if (noProxy) {
+        return noProxy.split(",").map((item) => item.trim()).filter((item) => item.length);
+      }
+      return [];
+    }
+    function getDefaultProxySettings(proxyUrl) {
+      if (!proxyUrl) {
+        proxyUrl = loadEnvironmentProxyValue();
+        if (!proxyUrl) {
+          return void 0;
+        }
+      }
+      const parsedUrl = new URL(proxyUrl);
+      const schema2 = parsedUrl.protocol ? parsedUrl.protocol + "//" : "";
+      return {
+        host: schema2 + parsedUrl.hostname,
+        port: Number.parseInt(parsedUrl.port || "80"),
+        username: parsedUrl.username,
+        password: parsedUrl.password
+      };
+    }
+    function getDefaultProxySettingsInternal() {
+      const envProxy = loadEnvironmentProxyValue();
+      return envProxy ? new URL(envProxy) : void 0;
+    }
+    function getUrlFromProxySettings(settings) {
+      let parsedProxyUrl;
+      try {
+        parsedProxyUrl = new URL(settings.host);
+      } catch {
+        throw new Error(`Expecting a valid host string in proxy settings, but found "${settings.host}".`);
+      }
+      parsedProxyUrl.port = String(settings.port);
+      if (settings.username) {
+        parsedProxyUrl.username = settings.username;
+      }
+      if (settings.password) {
+        parsedProxyUrl.password = settings.password;
+      }
+      return parsedProxyUrl;
+    }
+    function setProxyAgentOnRequest(request2, cachedAgents, proxyUrl) {
+      if (request2.agent) {
+        return;
+      }
+      const url = new URL(request2.url);
+      const isInsecure = url.protocol !== "https:";
+      if (request2.tlsSettings) {
+        log_js_1.logger.warning("TLS settings are not supported in combination with custom Proxy, certificates provided to the client will be ignored.");
+      }
+      const headers = request2.headers.toJSON();
+      if (isInsecure) {
+        if (!cachedAgents.httpProxyAgent) {
+          cachedAgents.httpProxyAgent = new http_proxy_agent_1.HttpProxyAgent(proxyUrl, { headers });
+        }
+        request2.agent = cachedAgents.httpProxyAgent;
+      } else {
+        if (!cachedAgents.httpsProxyAgent) {
+          cachedAgents.httpsProxyAgent = new https_proxy_agent_1.HttpsProxyAgent(proxyUrl, { headers });
+        }
+        request2.agent = cachedAgents.httpsProxyAgent;
+      }
+    }
+    function proxyPolicy(proxySettings, options) {
+      if (!noProxyListLoaded) {
+        exports2.globalNoProxyList.push(...loadNoProxy());
+      }
+      const defaultProxy = proxySettings ? getUrlFromProxySettings(proxySettings) : getDefaultProxySettingsInternal();
+      const cachedAgents = {};
+      return {
+        name: exports2.proxyPolicyName,
+        async sendRequest(request2, next) {
+          if (!request2.proxySettings && defaultProxy && !isBypassed(request2.url, options?.customNoProxyList ?? exports2.globalNoProxyList, options?.customNoProxyList ? void 0 : globalBypassedMap)) {
+            setProxyAgentOnRequest(request2, cachedAgents, defaultProxy);
+          } else if (request2.proxySettings) {
+            setProxyAgentOnRequest(request2, cachedAgents, getUrlFromProxySettings(request2.proxySettings));
           }
-          _flush() {
-            clearTimeout(this._timeout);
-            this._lastFlush = Date.now();
-            this._resolve();
-            this.Events.trigger("batch", this._arr);
-            this._arr = [];
-            return this._resetPromise();
+          return next(request2);
+        }
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/agentPolicy.js
+var require_agentPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/agentPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.agentPolicyName = void 0;
+    exports2.agentPolicy = agentPolicy;
+    exports2.agentPolicyName = "agentPolicy";
+    function agentPolicy(agent) {
+      return {
+        name: exports2.agentPolicyName,
+        sendRequest: async (req, next) => {
+          if (!req.agent) {
+            req.agent = agent;
           }
-          add(data) {
-            var ret;
-            this._arr.push(data);
-            ret = this._promise;
-            if (this._arr.length === this.maxSize) {
-              this._flush();
-            } else if (this.maxTime != null && this._arr.length === 1) {
-              this._timeout = setTimeout(() => {
-                return this._flush();
-              }, this.maxTime);
-            }
-            return ret;
+          return next(req);
+        }
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/tlsPolicy.js
+var require_tlsPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/tlsPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.tlsPolicyName = void 0;
+    exports2.tlsPolicy = tlsPolicy;
+    exports2.tlsPolicyName = "tlsPolicy";
+    function tlsPolicy(tlsSettings) {
+      return {
+        name: exports2.tlsPolicyName,
+        sendRequest: async (req, next) => {
+          if (!req.tlsSettings) {
+            req.tlsSettings = tlsSettings;
           }
+          return next(req);
         }
-        Batcher2.prototype.defaults = {
-          maxTime: null,
-          maxSize: null,
-          Promise
-        };
-        return Batcher2;
-      }).call(commonjsGlobal);
-      var Batcher_1 = Batcher;
-      var require$$4$1 = () => console.log("You must import the full version of Bottleneck in order to use this feature.");
-      var require$$8 = getCjsExportFromNamespace(version$2);
-      var Bottleneck2, DEFAULT_PRIORITY$1, Events$4, Job$1, LocalDatastore$1, NUM_PRIORITIES$1, Queues$1, RedisDatastore$1, States$1, Sync$1, parser$5, splice = [].splice;
-      NUM_PRIORITIES$1 = 10;
-      DEFAULT_PRIORITY$1 = 5;
-      parser$5 = parser;
-      Queues$1 = Queues_1;
-      Job$1 = Job_1;
-      LocalDatastore$1 = LocalDatastore_1;
-      RedisDatastore$1 = require$$4$1;
-      Events$4 = Events_1;
-      States$1 = States_1;
-      Sync$1 = Sync_1;
-      Bottleneck2 = (function() {
-        class Bottleneck3 {
-          constructor(options = {}, ...invalid) {
-            var storeInstanceOptions, storeOptions;
-            this._addToQueue = this._addToQueue.bind(this);
-            this._validateOptions(options, invalid);
-            parser$5.load(options, this.instanceDefaults, this);
-            this._queues = new Queues$1(NUM_PRIORITIES$1);
-            this._scheduled = {};
-            this._states = new States$1(["RECEIVED", "QUEUED", "RUNNING", "EXECUTING"].concat(this.trackDoneStatus ? ["DONE"] : []));
-            this._limiter = null;
-            this.Events = new Events$4(this);
-            this._submitLock = new Sync$1("submit", this.Promise);
-            this._registerLock = new Sync$1("register", this.Promise);
-            storeOptions = parser$5.load(options, this.storeDefaults, {});
-            this._store = (function() {
-              if (this.datastore === "redis" || this.datastore === "ioredis" || this.connection != null) {
-                storeInstanceOptions = parser$5.load(options, this.redisStoreDefaults, {});
-                return new RedisDatastore$1(this, storeOptions, storeInstanceOptions);
-              } else if (this.datastore === "local") {
-                storeInstanceOptions = parser$5.load(options, this.localStoreDefaults, {});
-                return new LocalDatastore$1(this, storeOptions, storeInstanceOptions);
-              } else {
-                throw new Bottleneck3.prototype.BottleneckError(`Invalid datastore type: ${this.datastore}`);
-              }
-            }).call(this);
-            this._queues.on("leftzero", () => {
-              var ref;
-              return (ref = this._store.heartbeat) != null ? typeof ref.ref === "function" ? ref.ref() : void 0 : void 0;
-            });
-            this._queues.on("zero", () => {
-              var ref;
-              return (ref = this._store.heartbeat) != null ? typeof ref.unref === "function" ? ref.unref() : void 0 : void 0;
-            });
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/typeGuards.js
+var require_typeGuards = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/typeGuards.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isNodeReadableStream = isNodeReadableStream;
+    exports2.isWebReadableStream = isWebReadableStream;
+    exports2.isBinaryBody = isBinaryBody;
+    exports2.isReadableStream = isReadableStream;
+    exports2.isBlob = isBlob;
+    function isNodeReadableStream(x) {
+      return Boolean(x && typeof x["pipe"] === "function");
+    }
+    function isWebReadableStream(x) {
+      return Boolean(x && typeof x.getReader === "function" && typeof x.tee === "function");
+    }
+    function isBinaryBody(body) {
+      return body !== void 0 && (body instanceof Uint8Array || isReadableStream(body) || typeof body === "function" || body instanceof Blob);
+    }
+    function isReadableStream(x) {
+      return isNodeReadableStream(x) || isWebReadableStream(x);
+    }
+    function isBlob(x) {
+      return typeof x.stream === "function";
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/concat.js
+var require_concat = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/concat.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.concat = concat;
+    var stream_1 = require("stream");
+    var typeGuards_js_1 = require_typeGuards();
+    async function* streamAsyncIterator() {
+      const reader = this.getReader();
+      try {
+        while (true) {
+          const { done, value } = await reader.read();
+          if (done) {
+            return;
           }
-          _validateOptions(options, invalid) {
-            if (!(options != null && typeof options === "object" && invalid.length === 0)) {
-              throw new Bottleneck3.prototype.BottleneckError("Bottleneck v2 takes a single object argument. Refer to https://github.com/SGrondin/bottleneck#upgrading-to-v2 if you're upgrading from Bottleneck v1.");
+          yield value;
+        }
+      } finally {
+        reader.releaseLock();
+      }
+    }
+    function makeAsyncIterable(webStream) {
+      if (!webStream[Symbol.asyncIterator]) {
+        webStream[Symbol.asyncIterator] = streamAsyncIterator.bind(webStream);
+      }
+      if (!webStream.values) {
+        webStream.values = streamAsyncIterator.bind(webStream);
+      }
+    }
+    function ensureNodeStream(stream) {
+      if (stream instanceof ReadableStream) {
+        makeAsyncIterable(stream);
+        return stream_1.Readable.fromWeb(stream);
+      } else {
+        return stream;
+      }
+    }
+    function toStream(source) {
+      if (source instanceof Uint8Array) {
+        return stream_1.Readable.from(Buffer.from(source));
+      } else if ((0, typeGuards_js_1.isBlob)(source)) {
+        return ensureNodeStream(source.stream());
+      } else {
+        return ensureNodeStream(source);
+      }
+    }
+    async function concat(sources) {
+      return function() {
+        const streams = sources.map((x) => typeof x === "function" ? x() : x).map(toStream);
+        return stream_1.Readable.from((async function* () {
+          for (const stream of streams) {
+            for await (const chunk of stream) {
+              yield chunk;
             }
           }
-          ready() {
-            return this._store.ready;
-          }
-          clients() {
-            return this._store.clients;
-          }
-          channel() {
-            return `b_${this.id}`;
-          }
-          channel_client() {
-            return `b_${this.id}_${this._store.clientId}`;
-          }
-          publish(message) {
-            return this._store.__publish__(message);
-          }
-          disconnect(flush = true) {
-            return this._store.__disconnect__(flush);
-          }
-          chain(_limiter) {
-            this._limiter = _limiter;
-            return this;
-          }
-          queued(priority) {
-            return this._queues.queued(priority);
-          }
-          clusterQueued() {
-            return this._store.__queued__();
-          }
-          empty() {
-            return this.queued() === 0 && this._submitLock.isEmpty();
-          }
-          running() {
-            return this._store.__running__();
-          }
-          done() {
-            return this._store.__done__();
-          }
-          jobStatus(id) {
-            return this._states.jobStatus(id);
-          }
-          jobs(status) {
-            return this._states.statusJobs(status);
+        })());
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/multipartPolicy.js
+var require_multipartPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/multipartPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.multipartPolicyName = void 0;
+    exports2.multipartPolicy = multipartPolicy;
+    var bytesEncoding_js_1 = require_bytesEncoding();
+    var typeGuards_js_1 = require_typeGuards();
+    var uuidUtils_js_1 = require_uuidUtils();
+    var concat_js_1 = require_concat();
+    function generateBoundary() {
+      return `----AzSDKFormBoundary${(0, uuidUtils_js_1.randomUUID)()}`;
+    }
+    function encodeHeaders(headers) {
+      let result = "";
+      for (const [key, value] of headers) {
+        result += `${key}: ${value}\r
+`;
+      }
+      return result;
+    }
+    function getLength(source) {
+      if (source instanceof Uint8Array) {
+        return source.byteLength;
+      } else if ((0, typeGuards_js_1.isBlob)(source)) {
+        return source.size === -1 ? void 0 : source.size;
+      } else {
+        return void 0;
+      }
+    }
+    function getTotalLength(sources) {
+      let total = 0;
+      for (const source of sources) {
+        const partLength = getLength(source);
+        if (partLength === void 0) {
+          return void 0;
+        } else {
+          total += partLength;
+        }
+      }
+      return total;
+    }
+    async function buildRequestBody(request2, parts, boundary) {
+      const sources = [
+        (0, bytesEncoding_js_1.stringToUint8Array)(`--${boundary}`, "utf-8"),
+        ...parts.flatMap((part) => [
+          (0, bytesEncoding_js_1.stringToUint8Array)("\r\n", "utf-8"),
+          (0, bytesEncoding_js_1.stringToUint8Array)(encodeHeaders(part.headers), "utf-8"),
+          (0, bytesEncoding_js_1.stringToUint8Array)("\r\n", "utf-8"),
+          part.body,
+          (0, bytesEncoding_js_1.stringToUint8Array)(`\r
+--${boundary}`, "utf-8")
+        ]),
+        (0, bytesEncoding_js_1.stringToUint8Array)("--\r\n\r\n", "utf-8")
+      ];
+      const contentLength = getTotalLength(sources);
+      if (contentLength) {
+        request2.headers.set("Content-Length", contentLength);
+      }
+      request2.body = await (0, concat_js_1.concat)(sources);
+    }
+    exports2.multipartPolicyName = "multipartPolicy";
+    var maxBoundaryLength = 70;
+    var validBoundaryCharacters = new Set(`abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'()+,-./:=?`);
+    function assertValidBoundary(boundary) {
+      if (boundary.length > maxBoundaryLength) {
+        throw new Error(`Multipart boundary "${boundary}" exceeds maximum length of 70 characters`);
+      }
+      if (Array.from(boundary).some((x) => !validBoundaryCharacters.has(x))) {
+        throw new Error(`Multipart boundary "${boundary}" contains invalid characters`);
+      }
+    }
+    function multipartPolicy() {
+      return {
+        name: exports2.multipartPolicyName,
+        async sendRequest(request2, next) {
+          if (!request2.multipartBody) {
+            return next(request2);
           }
-          counts() {
-            return this._states.statusCounts();
+          if (request2.body) {
+            throw new Error("multipartBody and regular body cannot be set at the same time");
           }
-          _randomIndex() {
-            return Math.random().toString(36).slice(2);
+          let boundary = request2.multipartBody.boundary;
+          const contentTypeHeader = request2.headers.get("Content-Type") ?? "multipart/mixed";
+          const parsedHeader = contentTypeHeader.match(/^(multipart\/[^ ;]+)(?:; *boundary=(.+))?$/);
+          if (!parsedHeader) {
+            throw new Error(`Got multipart request body, but content-type header was not multipart: ${contentTypeHeader}`);
           }
-          check(weight = 1) {
-            return this._store.__check__(weight);
+          const [, contentType, parsedBoundary] = parsedHeader;
+          if (parsedBoundary && boundary && parsedBoundary !== boundary) {
+            throw new Error(`Multipart boundary was specified as ${parsedBoundary} in the header, but got ${boundary} in the request body`);
           }
-          _clearGlobalState(index) {
-            if (this._scheduled[index] != null) {
-              clearTimeout(this._scheduled[index].expiration);
-              delete this._scheduled[index];
-              return true;
-            } else {
-              return false;
-            }
+          boundary ??= parsedBoundary;
+          if (boundary) {
+            assertValidBoundary(boundary);
+          } else {
+            boundary = generateBoundary();
           }
-          async _free(index, job, options, eventInfo) {
-            var e, running;
-            try {
-              ({ running } = await this._store.__free__(index, options.weight));
-              this.Events.trigger("debug", `Freed ${options.id}`, eventInfo);
-              if (running === 0 && this.empty()) {
-                return this.Events.trigger("idle");
-              }
-            } catch (error1) {
-              e = error1;
-              return this.Events.trigger("error", e);
-            }
+          request2.headers.set("Content-Type", `${contentType}; boundary=${boundary}`);
+          await buildRequestBody(request2, request2.multipartBody.parts, boundary);
+          request2.multipartBody = void 0;
+          return next(request2);
+        }
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/createPipelineFromOptions.js
+var require_createPipelineFromOptions = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/createPipelineFromOptions.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createPipelineFromOptions = createPipelineFromOptions;
+    var logPolicy_js_1 = require_logPolicy();
+    var pipeline_js_1 = require_pipeline();
+    var redirectPolicy_js_1 = require_redirectPolicy();
+    var userAgentPolicy_js_1 = require_userAgentPolicy();
+    var decompressResponsePolicy_js_1 = require_decompressResponsePolicy();
+    var defaultRetryPolicy_js_1 = require_defaultRetryPolicy();
+    var formDataPolicy_js_1 = require_formDataPolicy();
+    var checkEnvironment_js_1 = require_checkEnvironment();
+    var proxyPolicy_js_1 = require_proxyPolicy();
+    var agentPolicy_js_1 = require_agentPolicy();
+    var tlsPolicy_js_1 = require_tlsPolicy();
+    var multipartPolicy_js_1 = require_multipartPolicy();
+    function createPipelineFromOptions(options) {
+      const pipeline = (0, pipeline_js_1.createEmptyPipeline)();
+      if (checkEnvironment_js_1.isNodeLike) {
+        if (options.agent) {
+          pipeline.addPolicy((0, agentPolicy_js_1.agentPolicy)(options.agent));
+        }
+        if (options.tlsOptions) {
+          pipeline.addPolicy((0, tlsPolicy_js_1.tlsPolicy)(options.tlsOptions));
+        }
+        pipeline.addPolicy((0, proxyPolicy_js_1.proxyPolicy)(options.proxyOptions));
+        pipeline.addPolicy((0, decompressResponsePolicy_js_1.decompressResponsePolicy)());
+      }
+      pipeline.addPolicy((0, formDataPolicy_js_1.formDataPolicy)(), { beforePolicies: [multipartPolicy_js_1.multipartPolicyName] });
+      pipeline.addPolicy((0, userAgentPolicy_js_1.userAgentPolicy)(options.userAgentOptions));
+      pipeline.addPolicy((0, multipartPolicy_js_1.multipartPolicy)(), { afterPhase: "Deserialize" });
+      pipeline.addPolicy((0, defaultRetryPolicy_js_1.defaultRetryPolicy)(options.retryOptions), { phase: "Retry" });
+      if (checkEnvironment_js_1.isNodeLike) {
+        pipeline.addPolicy((0, redirectPolicy_js_1.redirectPolicy)(options.redirectOptions), { afterPhase: "Retry" });
+      }
+      pipeline.addPolicy((0, logPolicy_js_1.logPolicy)(options.loggingOptions), { afterPhase: "Sign" });
+      return pipeline;
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/apiVersionPolicy.js
+var require_apiVersionPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/apiVersionPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.apiVersionPolicyName = void 0;
+    exports2.apiVersionPolicy = apiVersionPolicy;
+    exports2.apiVersionPolicyName = "ApiVersionPolicy";
+    function apiVersionPolicy(options) {
+      return {
+        name: exports2.apiVersionPolicyName,
+        sendRequest: (req, next) => {
+          const url = new URL(req.url);
+          if (!url.searchParams.get("api-version") && options.apiVersion) {
+            req.url = `${req.url}${Array.from(url.searchParams.keys()).length > 0 ? "&" : "?"}api-version=${options.apiVersion}`;
           }
-          _run(index, job, wait) {
-            var clearGlobalState, free, run;
-            job.doRun();
-            clearGlobalState = this._clearGlobalState.bind(this, index);
-            run = this._run.bind(this, index, job);
-            free = this._free.bind(this, index, job);
-            return this._scheduled[index] = {
-              timeout: setTimeout(() => {
-                return job.doExecute(this._limiter, clearGlobalState, run, free);
-              }, wait),
-              expiration: job.options.expiration != null ? setTimeout(function() {
-                return job.doExpire(clearGlobalState, run, free);
-              }, wait + job.options.expiration) : void 0,
-              job
-            };
+          return next(req);
+        }
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/credentials.js
+var require_credentials = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/credentials.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isOAuth2TokenCredential = isOAuth2TokenCredential;
+    exports2.isBearerTokenCredential = isBearerTokenCredential;
+    exports2.isBasicCredential = isBasicCredential;
+    exports2.isApiKeyCredential = isApiKeyCredential;
+    function isOAuth2TokenCredential(credential) {
+      return "getOAuth2Token" in credential;
+    }
+    function isBearerTokenCredential(credential) {
+      return "getBearerToken" in credential;
+    }
+    function isBasicCredential(credential) {
+      return "username" in credential && "password" in credential;
+    }
+    function isApiKeyCredential(credential) {
+      return "key" in credential;
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/checkInsecureConnection.js
+var require_checkInsecureConnection = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/checkInsecureConnection.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ensureSecureConnection = ensureSecureConnection;
+    var log_js_1 = require_log2();
+    var insecureConnectionWarningEmmitted = false;
+    function allowInsecureConnection(request2, options) {
+      if (options.allowInsecureConnection && request2.allowInsecureConnection) {
+        const url = new URL(request2.url);
+        if (url.hostname === "localhost" || url.hostname === "127.0.0.1") {
+          return true;
+        }
+      }
+      return false;
+    }
+    function emitInsecureConnectionWarning() {
+      const warning9 = "Sending token over insecure transport. Assume any token issued is compromised.";
+      log_js_1.logger.warning(warning9);
+      if (typeof process?.emitWarning === "function" && !insecureConnectionWarningEmmitted) {
+        insecureConnectionWarningEmmitted = true;
+        process.emitWarning(warning9);
+      }
+    }
+    function ensureSecureConnection(request2, options) {
+      if (!request2.url.toLowerCase().startsWith("https://")) {
+        if (allowInsecureConnection(request2, options)) {
+          emitInsecureConnectionWarning();
+        } else {
+          throw new Error("Authentication is not permitted for non-TLS protected (non-https) URLs when allowInsecureConnection is false.");
+        }
+      }
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/apiKeyAuthenticationPolicy.js
+var require_apiKeyAuthenticationPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/apiKeyAuthenticationPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.apiKeyAuthenticationPolicyName = void 0;
+    exports2.apiKeyAuthenticationPolicy = apiKeyAuthenticationPolicy;
+    var checkInsecureConnection_js_1 = require_checkInsecureConnection();
+    exports2.apiKeyAuthenticationPolicyName = "apiKeyAuthenticationPolicy";
+    function apiKeyAuthenticationPolicy(options) {
+      return {
+        name: exports2.apiKeyAuthenticationPolicyName,
+        async sendRequest(request2, next) {
+          (0, checkInsecureConnection_js_1.ensureSecureConnection)(request2, options);
+          const scheme = (request2.authSchemes ?? options.authSchemes)?.find((x) => x.kind === "apiKey");
+          if (!scheme) {
+            return next(request2);
           }
-          _drainOne(capacity) {
-            return this._registerLock.schedule(() => {
-              var args, index, next, options, queue;
-              if (this.queued() === 0) {
-                return this.Promise.resolve(null);
-              }
-              queue = this._queues.getFirst();
-              ({ options, args } = next = queue.first());
-              if (capacity != null && options.weight > capacity) {
-                return this.Promise.resolve(null);
-              }
-              this.Events.trigger("debug", `Draining ${options.id}`, { args, options });
-              index = this._randomIndex();
-              return this._store.__register__(index, options.weight, options.expiration).then(({ success, wait, reservoir }) => {
-                var empty;
-                this.Events.trigger("debug", `Drained ${options.id}`, { success, args, options });
-                if (success) {
-                  queue.shift();
-                  empty = this.empty();
-                  if (empty) {
-                    this.Events.trigger("empty");
-                  }
-                  if (reservoir === 0) {
-                    this.Events.trigger("depleted", empty);
-                  }
-                  this._run(index, next, wait);
-                  return this.Promise.resolve(options.weight);
-                } else {
-                  return this.Promise.resolve(null);
-                }
-              });
-            });
+          if (scheme.apiKeyLocation !== "header") {
+            throw new Error(`Unsupported API key location: ${scheme.apiKeyLocation}`);
           }
-          _drainAll(capacity, total = 0) {
-            return this._drainOne(capacity).then((drained) => {
-              var newCapacity;
-              if (drained != null) {
-                newCapacity = capacity != null ? capacity - drained : capacity;
-                return this._drainAll(newCapacity, total + drained);
-              } else {
-                return this.Promise.resolve(total);
-              }
-            }).catch((e) => {
-              return this.Events.trigger("error", e);
-            });
+          request2.headers.set(scheme.name, options.credential.key);
+          return next(request2);
+        }
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/basicAuthenticationPolicy.js
+var require_basicAuthenticationPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/basicAuthenticationPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.basicAuthenticationPolicyName = void 0;
+    exports2.basicAuthenticationPolicy = basicAuthenticationPolicy;
+    var bytesEncoding_js_1 = require_bytesEncoding();
+    var checkInsecureConnection_js_1 = require_checkInsecureConnection();
+    exports2.basicAuthenticationPolicyName = "bearerAuthenticationPolicy";
+    function basicAuthenticationPolicy(options) {
+      return {
+        name: exports2.basicAuthenticationPolicyName,
+        async sendRequest(request2, next) {
+          (0, checkInsecureConnection_js_1.ensureSecureConnection)(request2, options);
+          const scheme = (request2.authSchemes ?? options.authSchemes)?.find((x) => x.kind === "http" && x.scheme === "basic");
+          if (!scheme) {
+            return next(request2);
           }
-          _dropAllQueued(message) {
-            return this._queues.shiftAll(function(job) {
-              return job.doDrop({ message });
-            });
+          const { username, password } = options.credential;
+          const headerValue = (0, bytesEncoding_js_1.uint8ArrayToString)((0, bytesEncoding_js_1.stringToUint8Array)(`${username}:${password}`, "utf-8"), "base64");
+          request2.headers.set("Authorization", `Basic ${headerValue}`);
+          return next(request2);
+        }
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/bearerAuthenticationPolicy.js
+var require_bearerAuthenticationPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/bearerAuthenticationPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.bearerAuthenticationPolicyName = void 0;
+    exports2.bearerAuthenticationPolicy = bearerAuthenticationPolicy;
+    var checkInsecureConnection_js_1 = require_checkInsecureConnection();
+    exports2.bearerAuthenticationPolicyName = "bearerAuthenticationPolicy";
+    function bearerAuthenticationPolicy(options) {
+      return {
+        name: exports2.bearerAuthenticationPolicyName,
+        async sendRequest(request2, next) {
+          (0, checkInsecureConnection_js_1.ensureSecureConnection)(request2, options);
+          const scheme = (request2.authSchemes ?? options.authSchemes)?.find((x) => x.kind === "http" && x.scheme === "bearer");
+          if (!scheme) {
+            return next(request2);
           }
-          stop(options = {}) {
-            var done, waitForExecuting;
-            options = parser$5.load(options, this.stopDefaults);
-            waitForExecuting = (at) => {
-              var finished;
-              finished = () => {
-                var counts;
-                counts = this._states.counts;
-                return counts[0] + counts[1] + counts[2] + counts[3] === at;
-              };
-              return new this.Promise((resolve3, reject) => {
-                if (finished()) {
-                  return resolve3();
-                } else {
-                  return this.on("done", () => {
-                    if (finished()) {
-                      this.removeAllListeners("done");
-                      return resolve3();
-                    }
-                  });
-                }
-              });
-            };
-            done = options.dropWaitingJobs ? (this._run = function(index, next) {
-              return next.doDrop({
-                message: options.dropErrorMessage
-              });
-            }, this._drainOne = () => {
-              return this.Promise.resolve(null);
-            }, this._registerLock.schedule(() => {
-              return this._submitLock.schedule(() => {
-                var k, ref, v;
-                ref = this._scheduled;
-                for (k in ref) {
-                  v = ref[k];
-                  if (this.jobStatus(v.job.options.id) === "RUNNING") {
-                    clearTimeout(v.timeout);
-                    clearTimeout(v.expiration);
-                    v.job.doDrop({
-                      message: options.dropErrorMessage
-                    });
-                  }
-                }
-                this._dropAllQueued(options.dropErrorMessage);
-                return waitForExecuting(0);
-              });
-            })) : this.schedule({
-              priority: NUM_PRIORITIES$1 - 1,
-              weight: 0
-            }, () => {
-              return waitForExecuting(1);
-            });
-            this._receive = function(job) {
-              return job._reject(new Bottleneck3.prototype.BottleneckError(options.enqueueErrorMessage));
-            };
-            this.stop = () => {
-              return this.Promise.reject(new Bottleneck3.prototype.BottleneckError("stop() has already been called"));
-            };
-            return done;
+          const token = await options.credential.getBearerToken({
+            abortSignal: request2.abortSignal
+          });
+          request2.headers.set("Authorization", `Bearer ${token}`);
+          return next(request2);
+        }
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/oauth2AuthenticationPolicy.js
+var require_oauth2AuthenticationPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/oauth2AuthenticationPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.oauth2AuthenticationPolicyName = void 0;
+    exports2.oauth2AuthenticationPolicy = oauth2AuthenticationPolicy;
+    var checkInsecureConnection_js_1 = require_checkInsecureConnection();
+    exports2.oauth2AuthenticationPolicyName = "oauth2AuthenticationPolicy";
+    function oauth2AuthenticationPolicy(options) {
+      return {
+        name: exports2.oauth2AuthenticationPolicyName,
+        async sendRequest(request2, next) {
+          (0, checkInsecureConnection_js_1.ensureSecureConnection)(request2, options);
+          const scheme = (request2.authSchemes ?? options.authSchemes)?.find((x) => x.kind === "oauth2");
+          if (!scheme) {
+            return next(request2);
           }
-          async _addToQueue(job) {
-            var args, blocked, error3, options, reachedHWM, shifted, strategy;
-            ({ args, options } = job);
-            try {
-              ({ reachedHWM, blocked, strategy } = await this._store.__submit__(this.queued(), options.weight));
-            } catch (error1) {
-              error3 = error1;
-              this.Events.trigger("debug", `Could not queue ${options.id}`, { args, options, error: error3 });
-              job.doDrop({ error: error3 });
-              return false;
-            }
-            if (blocked) {
-              job.doDrop();
-              return true;
-            } else if (reachedHWM) {
-              shifted = strategy === Bottleneck3.prototype.strategy.LEAK ? this._queues.shiftLastFrom(options.priority) : strategy === Bottleneck3.prototype.strategy.OVERFLOW_PRIORITY ? this._queues.shiftLastFrom(options.priority + 1) : strategy === Bottleneck3.prototype.strategy.OVERFLOW ? job : void 0;
-              if (shifted != null) {
-                shifted.doDrop();
-              }
-              if (shifted == null || strategy === Bottleneck3.prototype.strategy.OVERFLOW) {
-                if (shifted == null) {
-                  job.doDrop();
-                }
-                return reachedHWM;
-              }
-            }
-            job.doQueue(reachedHWM, blocked);
-            this._queues.push(job);
-            await this._drainAll();
-            return reachedHWM;
+          const token = await options.credential.getOAuth2Token(scheme.flows, {
+            abortSignal: request2.abortSignal
+          });
+          request2.headers.set("Authorization", `Bearer ${token}`);
+          return next(request2);
+        }
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/clientHelpers.js
+var require_clientHelpers = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/clientHelpers.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createDefaultPipeline = createDefaultPipeline;
+    exports2.getCachedDefaultHttpsClient = getCachedDefaultHttpsClient;
+    var defaultHttpClient_js_1 = require_defaultHttpClient();
+    var createPipelineFromOptions_js_1 = require_createPipelineFromOptions();
+    var apiVersionPolicy_js_1 = require_apiVersionPolicy();
+    var credentials_js_1 = require_credentials();
+    var apiKeyAuthenticationPolicy_js_1 = require_apiKeyAuthenticationPolicy();
+    var basicAuthenticationPolicy_js_1 = require_basicAuthenticationPolicy();
+    var bearerAuthenticationPolicy_js_1 = require_bearerAuthenticationPolicy();
+    var oauth2AuthenticationPolicy_js_1 = require_oauth2AuthenticationPolicy();
+    var cachedHttpClient;
+    function createDefaultPipeline(options = {}) {
+      const pipeline = (0, createPipelineFromOptions_js_1.createPipelineFromOptions)(options);
+      pipeline.addPolicy((0, apiVersionPolicy_js_1.apiVersionPolicy)(options));
+      const { credential, authSchemes, allowInsecureConnection } = options;
+      if (credential) {
+        if ((0, credentials_js_1.isApiKeyCredential)(credential)) {
+          pipeline.addPolicy((0, apiKeyAuthenticationPolicy_js_1.apiKeyAuthenticationPolicy)({ authSchemes, credential, allowInsecureConnection }));
+        } else if ((0, credentials_js_1.isBasicCredential)(credential)) {
+          pipeline.addPolicy((0, basicAuthenticationPolicy_js_1.basicAuthenticationPolicy)({ authSchemes, credential, allowInsecureConnection }));
+        } else if ((0, credentials_js_1.isBearerTokenCredential)(credential)) {
+          pipeline.addPolicy((0, bearerAuthenticationPolicy_js_1.bearerAuthenticationPolicy)({ authSchemes, credential, allowInsecureConnection }));
+        } else if ((0, credentials_js_1.isOAuth2TokenCredential)(credential)) {
+          pipeline.addPolicy((0, oauth2AuthenticationPolicy_js_1.oauth2AuthenticationPolicy)({ authSchemes, credential, allowInsecureConnection }));
+        }
+      }
+      return pipeline;
+    }
+    function getCachedDefaultHttpsClient() {
+      if (!cachedHttpClient) {
+        cachedHttpClient = (0, defaultHttpClient_js_1.createDefaultHttpClient)();
+      }
+      return cachedHttpClient;
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js
+var require_multipart = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.buildBodyPart = buildBodyPart;
+    exports2.buildMultipartBody = buildMultipartBody;
+    var restError_js_1 = require_restError();
+    var httpHeaders_js_1 = require_httpHeaders();
+    var bytesEncoding_js_1 = require_bytesEncoding();
+    var typeGuards_js_1 = require_typeGuards();
+    function getHeaderValue(descriptor, headerName) {
+      if (descriptor.headers) {
+        const actualHeaderName = Object.keys(descriptor.headers).find((x) => x.toLowerCase() === headerName.toLowerCase());
+        if (actualHeaderName) {
+          return descriptor.headers[actualHeaderName];
+        }
+      }
+      return void 0;
+    }
+    function getPartContentType(descriptor) {
+      const contentTypeHeader = getHeaderValue(descriptor, "content-type");
+      if (contentTypeHeader) {
+        return contentTypeHeader;
+      }
+      if (descriptor.contentType === null) {
+        return void 0;
+      }
+      if (descriptor.contentType) {
+        return descriptor.contentType;
+      }
+      const { body } = descriptor;
+      if (body === null || body === void 0) {
+        return void 0;
+      }
+      if (typeof body === "string" || typeof body === "number" || typeof body === "boolean") {
+        return "text/plain; charset=UTF-8";
+      }
+      if (body instanceof Blob) {
+        return body.type || "application/octet-stream";
+      }
+      if ((0, typeGuards_js_1.isBinaryBody)(body)) {
+        return "application/octet-stream";
+      }
+      return "application/json";
+    }
+    function escapeDispositionField(value) {
+      return JSON.stringify(value);
+    }
+    function getContentDisposition(descriptor) {
+      const contentDispositionHeader = getHeaderValue(descriptor, "content-disposition");
+      if (contentDispositionHeader) {
+        return contentDispositionHeader;
+      }
+      if (descriptor.dispositionType === void 0 && descriptor.name === void 0 && descriptor.filename === void 0) {
+        return void 0;
+      }
+      const dispositionType = descriptor.dispositionType ?? "form-data";
+      let disposition = dispositionType;
+      if (descriptor.name) {
+        disposition += `; name=${escapeDispositionField(descriptor.name)}`;
+      }
+      let filename = void 0;
+      if (descriptor.filename) {
+        filename = descriptor.filename;
+      } else if (typeof File !== "undefined" && descriptor.body instanceof File) {
+        const filenameFromFile = descriptor.body.name;
+        if (filenameFromFile !== "") {
+          filename = filenameFromFile;
+        }
+      }
+      if (filename) {
+        disposition += `; filename=${escapeDispositionField(filename)}`;
+      }
+      return disposition;
+    }
+    function normalizeBody(body, contentType) {
+      if (body === void 0) {
+        return new Uint8Array([]);
+      }
+      if ((0, typeGuards_js_1.isBinaryBody)(body)) {
+        return body;
+      }
+      if (typeof body === "string" || typeof body === "number" || typeof body === "boolean") {
+        return (0, bytesEncoding_js_1.stringToUint8Array)(String(body), "utf-8");
+      }
+      if (contentType && /application\/(.+\+)?json(;.+)?/i.test(String(contentType))) {
+        return (0, bytesEncoding_js_1.stringToUint8Array)(JSON.stringify(body), "utf-8");
+      }
+      throw new restError_js_1.RestError(`Unsupported body/content-type combination: ${body}, ${contentType}`);
+    }
+    function buildBodyPart(descriptor) {
+      const contentType = getPartContentType(descriptor);
+      const contentDisposition = getContentDisposition(descriptor);
+      const headers = (0, httpHeaders_js_1.createHttpHeaders)(descriptor.headers ?? {});
+      if (contentType) {
+        headers.set("content-type", contentType);
+      }
+      if (contentDisposition) {
+        headers.set("content-disposition", contentDisposition);
+      }
+      const body = normalizeBody(descriptor.body, contentType);
+      return {
+        headers,
+        body
+      };
+    }
+    function buildMultipartBody(parts) {
+      return { parts: parts.map(buildBodyPart) };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/sendRequest.js
+var require_sendRequest = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/sendRequest.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.sendRequest = sendRequest;
+    var restError_js_1 = require_restError();
+    var httpHeaders_js_1 = require_httpHeaders();
+    var pipelineRequest_js_1 = require_pipelineRequest();
+    var clientHelpers_js_1 = require_clientHelpers();
+    var typeGuards_js_1 = require_typeGuards();
+    var multipart_js_1 = require_multipart();
+    async function sendRequest(method, url, pipeline, options = {}, customHttpClient) {
+      const httpClient = customHttpClient ?? (0, clientHelpers_js_1.getCachedDefaultHttpsClient)();
+      const request2 = buildPipelineRequest(method, url, options);
+      try {
+        const response = await pipeline.sendRequest(httpClient, request2);
+        const headers = response.headers.toJSON();
+        const stream = response.readableStreamBody ?? response.browserStreamBody;
+        const parsedBody = options.responseAsStream || stream !== void 0 ? void 0 : getResponseBody(response);
+        const body = stream ?? parsedBody;
+        if (options?.onResponse) {
+          options.onResponse({ ...response, request: request2, rawHeaders: headers, parsedBody });
+        }
+        return {
+          request: request2,
+          headers,
+          status: `${response.status}`,
+          body
+        };
+      } catch (e) {
+        if ((0, restError_js_1.isRestError)(e) && e.response && options.onResponse) {
+          const { response } = e;
+          const rawHeaders = response.headers.toJSON();
+          options?.onResponse({ ...response, request: request2, rawHeaders }, e);
+        }
+        throw e;
+      }
+    }
+    function getRequestContentType(options = {}) {
+      return options.contentType ?? options.headers?.["content-type"] ?? getContentType(options.body);
+    }
+    function getContentType(body) {
+      if (ArrayBuffer.isView(body)) {
+        return "application/octet-stream";
+      }
+      if (typeof body === "string") {
+        try {
+          JSON.parse(body);
+          return "application/json";
+        } catch (error3) {
+          return void 0;
+        }
+      }
+      return "application/json";
+    }
+    function buildPipelineRequest(method, url, options = {}) {
+      const requestContentType = getRequestContentType(options);
+      const { body, multipartBody } = getRequestBody(options.body, requestContentType);
+      const hasContent = body !== void 0 || multipartBody !== void 0;
+      const headers = (0, httpHeaders_js_1.createHttpHeaders)({
+        ...options.headers ? options.headers : {},
+        accept: options.accept ?? options.headers?.accept ?? "application/json",
+        ...hasContent && requestContentType && {
+          "content-type": requestContentType
+        }
+      });
+      return (0, pipelineRequest_js_1.createPipelineRequest)({
+        url,
+        method,
+        body,
+        multipartBody,
+        headers,
+        allowInsecureConnection: options.allowInsecureConnection,
+        abortSignal: options.abortSignal,
+        onUploadProgress: options.onUploadProgress,
+        onDownloadProgress: options.onDownloadProgress,
+        timeout: options.timeout,
+        enableBrowserStreams: true,
+        streamResponseStatusCodes: options.responseAsStream ? /* @__PURE__ */ new Set([Number.POSITIVE_INFINITY]) : void 0
+      });
+    }
+    function getRequestBody(body, contentType = "") {
+      if (body === void 0) {
+        return { body: void 0 };
+      }
+      if (typeof FormData !== "undefined" && body instanceof FormData) {
+        return { body };
+      }
+      if ((0, typeGuards_js_1.isReadableStream)(body)) {
+        return { body };
+      }
+      if (ArrayBuffer.isView(body)) {
+        return { body: body instanceof Uint8Array ? body : JSON.stringify(body) };
+      }
+      const firstType = contentType.split(";")[0];
+      switch (firstType) {
+        case "application/json":
+          return { body: JSON.stringify(body) };
+        case "multipart/form-data":
+          if (Array.isArray(body)) {
+            return { multipartBody: (0, multipart_js_1.buildMultipartBody)(body) };
           }
-          _receive(job) {
-            if (this._states.jobStatus(job.options.id) != null) {
-              job._reject(new Bottleneck3.prototype.BottleneckError(`A job with the same id already exists (id=${job.options.id})`));
-              return false;
-            } else {
-              job.doReceive();
-              return this._submitLock.schedule(this._addToQueue, job);
-            }
+          return { body: JSON.stringify(body) };
+        case "text/plain":
+          return { body: String(body) };
+        default:
+          if (typeof body === "string") {
+            return { body };
           }
-          submit(...args) {
-            var cb, fn, job, options, ref, ref1, task;
-            if (typeof args[0] === "function") {
-              ref = args, [fn, ...args] = ref, [cb] = splice.call(args, -1);
-              options = parser$5.load({}, this.jobDefaults);
-            } else {
-              ref1 = args, [options, fn, ...args] = ref1, [cb] = splice.call(args, -1);
-              options = parser$5.load(options, this.jobDefaults);
+          return { body: JSON.stringify(body) };
+      }
+    }
+    function getResponseBody(response) {
+      const contentType = response.headers.get("content-type") ?? "";
+      const firstType = contentType.split(";")[0];
+      const bodyToParse = response.bodyAsText ?? "";
+      if (firstType === "text/plain") {
+        return String(bodyToParse);
+      }
+      try {
+        return bodyToParse ? JSON.parse(bodyToParse) : void 0;
+      } catch (error3) {
+        if (firstType === "application/json") {
+          throw createParseError(response, error3);
+        }
+        return String(bodyToParse);
+      }
+    }
+    function createParseError(response, err) {
+      const msg = `Error "${err}" occurred while parsing the response body - ${response.bodyAsText}.`;
+      const errCode = err.code ?? restError_js_1.RestError.PARSE_ERROR;
+      return new restError_js_1.RestError(msg, {
+        code: errCode,
+        statusCode: response.status,
+        request: response.request,
+        response
+      });
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/urlHelpers.js
+var require_urlHelpers = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/urlHelpers.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.buildRequestUrl = buildRequestUrl;
+    exports2.buildBaseUrl = buildBaseUrl;
+    exports2.replaceAll = replaceAll;
+    function isQueryParameterWithOptions(x) {
+      const value = x.value;
+      return value !== void 0 && value.toString !== void 0 && typeof value.toString === "function";
+    }
+    function buildRequestUrl(endpoint2, routePath, pathParameters, options = {}) {
+      if (routePath.startsWith("https://") || routePath.startsWith("http://")) {
+        return routePath;
+      }
+      endpoint2 = buildBaseUrl(endpoint2, options);
+      routePath = buildRoutePath(routePath, pathParameters, options);
+      const requestUrl = appendQueryParams(`${endpoint2}/${routePath}`, options);
+      const url = new URL(requestUrl);
+      return url.toString().replace(/([^:]\/)\/+/g, "$1");
+    }
+    function getQueryParamValue(key, allowReserved, style, param) {
+      let separator;
+      if (style === "pipeDelimited") {
+        separator = "|";
+      } else if (style === "spaceDelimited") {
+        separator = "%20";
+      } else {
+        separator = ",";
+      }
+      let paramValues;
+      if (Array.isArray(param)) {
+        paramValues = param;
+      } else if (typeof param === "object" && param.toString === Object.prototype.toString) {
+        paramValues = Object.entries(param).flat();
+      } else {
+        paramValues = [param];
+      }
+      const value = paramValues.map((p) => {
+        if (p === null || p === void 0) {
+          return "";
+        }
+        if (!p.toString || typeof p.toString !== "function") {
+          throw new Error(`Query parameters must be able to be represented as string, ${key} can't`);
+        }
+        const rawValue = p.toISOString !== void 0 ? p.toISOString() : p.toString();
+        return allowReserved ? rawValue : encodeURIComponent(rawValue);
+      }).join(separator);
+      return `${allowReserved ? key : encodeURIComponent(key)}=${value}`;
+    }
+    function appendQueryParams(url, options = {}) {
+      if (!options.queryParameters) {
+        return url;
+      }
+      const parsedUrl = new URL(url);
+      const queryParams = options.queryParameters;
+      const paramStrings = [];
+      for (const key of Object.keys(queryParams)) {
+        const param = queryParams[key];
+        if (param === void 0 || param === null) {
+          continue;
+        }
+        const hasMetadata = isQueryParameterWithOptions(param);
+        const rawValue = hasMetadata ? param.value : param;
+        const explode = hasMetadata ? param.explode ?? false : false;
+        const style = hasMetadata && param.style ? param.style : "form";
+        if (explode) {
+          if (Array.isArray(rawValue)) {
+            for (const item of rawValue) {
+              paramStrings.push(getQueryParamValue(key, options.skipUrlEncoding ?? false, style, item));
             }
-            task = (...args2) => {
-              return new this.Promise(function(resolve3, reject) {
-                return fn(...args2, function(...args3) {
-                  return (args3[0] != null ? reject : resolve3)(args3);
-                });
-              });
-            };
-            job = new Job$1(task, args, options, this.jobDefaults, this.rejectOnDrop, this.Events, this._states, this.Promise);
-            job.promise.then(function(args2) {
-              return typeof cb === "function" ? cb(...args2) : void 0;
-            }).catch(function(args2) {
-              if (Array.isArray(args2)) {
-                return typeof cb === "function" ? cb(...args2) : void 0;
-              } else {
-                return typeof cb === "function" ? cb(args2) : void 0;
-              }
-            });
-            return this._receive(job);
-          }
-          schedule(...args) {
-            var job, options, task;
-            if (typeof args[0] === "function") {
-              [task, ...args] = args;
-              options = {};
-            } else {
-              [options, task, ...args] = args;
+          } else if (typeof rawValue === "object") {
+            for (const [actualKey, value] of Object.entries(rawValue)) {
+              paramStrings.push(getQueryParamValue(actualKey, options.skipUrlEncoding ?? false, style, value));
             }
-            job = new Job$1(task, args, options, this.jobDefaults, this.rejectOnDrop, this.Events, this._states, this.Promise);
-            this._receive(job);
-            return job.promise;
-          }
-          wrap(fn) {
-            var schedule, wrapped;
-            schedule = this.schedule.bind(this);
-            wrapped = function(...args) {
-              return schedule(fn.bind(this), ...args);
-            };
-            wrapped.withOptions = function(options, ...args) {
-              return schedule(options, fn, ...args);
-            };
-            return wrapped;
+          } else {
+            throw new Error("explode can only be set to true for objects and arrays");
           }
-          async updateSettings(options = {}) {
-            await this._store.__updateSettings__(parser$5.overwrite(options, this.storeDefaults));
-            parser$5.overwrite(options, this.instanceDefaults, this);
-            return this;
+        } else {
+          paramStrings.push(getQueryParamValue(key, options.skipUrlEncoding ?? false, style, rawValue));
+        }
+      }
+      if (parsedUrl.search !== "") {
+        parsedUrl.search += "&";
+      }
+      parsedUrl.search += paramStrings.join("&");
+      return parsedUrl.toString();
+    }
+    function buildBaseUrl(endpoint2, options) {
+      if (!options.pathParameters) {
+        return endpoint2;
+      }
+      const pathParams = options.pathParameters;
+      for (const [key, param] of Object.entries(pathParams)) {
+        if (param === void 0 || param === null) {
+          throw new Error(`Path parameters ${key} must not be undefined or null`);
+        }
+        if (!param.toString || typeof param.toString !== "function") {
+          throw new Error(`Path parameters must be able to be represented as string, ${key} can't`);
+        }
+        let value = param.toISOString !== void 0 ? param.toISOString() : String(param);
+        if (!options.skipUrlEncoding) {
+          value = encodeURIComponent(param);
+        }
+        endpoint2 = replaceAll(endpoint2, `{${key}}`, value) ?? "";
+      }
+      return endpoint2;
+    }
+    function buildRoutePath(routePath, pathParameters, options = {}) {
+      for (const pathParam of pathParameters) {
+        const allowReserved = typeof pathParam === "object" && (pathParam.allowReserved ?? false);
+        let value = typeof pathParam === "object" ? pathParam.value : pathParam;
+        if (!options.skipUrlEncoding && !allowReserved) {
+          value = encodeURIComponent(value);
+        }
+        routePath = routePath.replace(/\{[\w-]+\}/, String(value));
+      }
+      return routePath;
+    }
+    function replaceAll(value, searchValue, replaceValue) {
+      return !value || !searchValue ? value : value.split(searchValue).join(replaceValue || "");
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/getClient.js
+var require_getClient = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/getClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getClient = getClient;
+    var clientHelpers_js_1 = require_clientHelpers();
+    var sendRequest_js_1 = require_sendRequest();
+    var urlHelpers_js_1 = require_urlHelpers();
+    var checkEnvironment_js_1 = require_checkEnvironment();
+    function getClient(endpoint2, clientOptions = {}) {
+      const pipeline = clientOptions.pipeline ?? (0, clientHelpers_js_1.createDefaultPipeline)(clientOptions);
+      if (clientOptions.additionalPolicies?.length) {
+        for (const { policy, position } of clientOptions.additionalPolicies) {
+          const afterPhase = position === "perRetry" ? "Sign" : void 0;
+          pipeline.addPolicy(policy, {
+            afterPhase
+          });
+        }
+      }
+      const { allowInsecureConnection, httpClient } = clientOptions;
+      const endpointUrl = clientOptions.endpoint ?? endpoint2;
+      const client = (path4, ...args) => {
+        const getUrl = (requestOptions) => (0, urlHelpers_js_1.buildRequestUrl)(endpointUrl, path4, args, { allowInsecureConnection, ...requestOptions });
+        return {
+          get: (requestOptions = {}) => {
+            return buildOperation("GET", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          },
+          post: (requestOptions = {}) => {
+            return buildOperation("POST", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          },
+          put: (requestOptions = {}) => {
+            return buildOperation("PUT", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          },
+          patch: (requestOptions = {}) => {
+            return buildOperation("PATCH", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          },
+          delete: (requestOptions = {}) => {
+            return buildOperation("DELETE", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          },
+          head: (requestOptions = {}) => {
+            return buildOperation("HEAD", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          },
+          options: (requestOptions = {}) => {
+            return buildOperation("OPTIONS", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          },
+          trace: (requestOptions = {}) => {
+            return buildOperation("TRACE", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
           }
-          currentReservoir() {
-            return this._store.__currentReservoir__();
+        };
+      };
+      return {
+        path: client,
+        pathUnchecked: client,
+        pipeline
+      };
+    }
+    function buildOperation(method, url, pipeline, options, allowInsecureConnection, httpClient) {
+      allowInsecureConnection = options.allowInsecureConnection ?? allowInsecureConnection;
+      return {
+        then: function(onFulfilled, onrejected) {
+          return (0, sendRequest_js_1.sendRequest)(method, url, pipeline, { ...options, allowInsecureConnection }, httpClient).then(onFulfilled, onrejected);
+        },
+        async asBrowserStream() {
+          if (checkEnvironment_js_1.isNodeLike) {
+            throw new Error("`asBrowserStream` is supported only in the browser environment. Use `asNodeStream` instead to obtain the response body stream. If you require a Web stream of the response in Node, consider using `Readable.toWeb` on the result of `asNodeStream`.");
+          } else {
+            return (0, sendRequest_js_1.sendRequest)(method, url, pipeline, { ...options, allowInsecureConnection, responseAsStream: true }, httpClient);
           }
-          incrementReservoir(incr = 0) {
-            return this._store.__incrementReservoir__(incr);
+        },
+        async asNodeStream() {
+          if (checkEnvironment_js_1.isNodeLike) {
+            return (0, sendRequest_js_1.sendRequest)(method, url, pipeline, { ...options, allowInsecureConnection, responseAsStream: true }, httpClient);
+          } else {
+            throw new Error("`isNodeStream` is not supported in the browser environment. Use `asBrowserStream` to obtain the response body stream.");
           }
         }
-        Bottleneck3.default = Bottleneck3;
-        Bottleneck3.Events = Events$4;
-        Bottleneck3.version = Bottleneck3.prototype.version = require$$8.version;
-        Bottleneck3.strategy = Bottleneck3.prototype.strategy = {
-          LEAK: 1,
-          OVERFLOW: 2,
-          OVERFLOW_PRIORITY: 4,
-          BLOCK: 3
-        };
-        Bottleneck3.BottleneckError = Bottleneck3.prototype.BottleneckError = BottleneckError_1;
-        Bottleneck3.Group = Bottleneck3.prototype.Group = Group_1;
-        Bottleneck3.RedisConnection = Bottleneck3.prototype.RedisConnection = require$$2;
-        Bottleneck3.IORedisConnection = Bottleneck3.prototype.IORedisConnection = require$$3;
-        Bottleneck3.Batcher = Bottleneck3.prototype.Batcher = Batcher_1;
-        Bottleneck3.prototype.jobDefaults = {
-          priority: DEFAULT_PRIORITY$1,
-          weight: 1,
-          expiration: null,
-          id: ""
-        };
-        Bottleneck3.prototype.storeDefaults = {
-          maxConcurrent: null,
-          minTime: 0,
-          highWater: null,
-          strategy: Bottleneck3.prototype.strategy.LEAK,
-          penalty: null,
-          reservoir: null,
-          reservoirRefreshInterval: null,
-          reservoirRefreshAmount: null,
-          reservoirIncreaseInterval: null,
-          reservoirIncreaseAmount: null,
-          reservoirIncreaseMaximum: null
-        };
-        Bottleneck3.prototype.localStoreDefaults = {
-          Promise,
-          timeout: null,
-          heartbeatInterval: 250
-        };
-        Bottleneck3.prototype.redisStoreDefaults = {
-          Promise,
-          timeout: null,
-          heartbeatInterval: 5e3,
-          clientTimeout: 1e4,
-          Redis: null,
-          clientOptions: {},
-          clusterNodes: null,
-          clearDatastore: false,
-          connection: null
-        };
-        Bottleneck3.prototype.instanceDefaults = {
-          datastore: "local",
-          connection: null,
-          id: "",
-          rejectOnDrop: true,
-          trackDoneStatus: false,
-          Promise
-        };
-        Bottleneck3.prototype.stopDefaults = {
-          enqueueErrorMessage: "This limiter has been stopped and cannot accept new jobs.",
-          dropWaitingJobs: true,
-          dropErrorMessage: "This limiter has been stopped."
-        };
-        return Bottleneck3;
-      }).call(commonjsGlobal);
-      var Bottleneck_1 = Bottleneck2;
-      var lib = Bottleneck_1;
-      return lib;
-    }));
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/operationOptionHelpers.js
+var require_operationOptionHelpers = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/operationOptionHelpers.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.operationOptionsToRequestParameters = operationOptionsToRequestParameters;
+    function operationOptionsToRequestParameters(options) {
+      return {
+        allowInsecureConnection: options.requestOptions?.allowInsecureConnection,
+        timeout: options.requestOptions?.timeout,
+        skipUrlEncoding: options.requestOptions?.skipUrlEncoding,
+        abortSignal: options.abortSignal,
+        onUploadProgress: options.requestOptions?.onUploadProgress,
+        onDownloadProgress: options.requestOptions?.onDownloadProgress,
+        headers: { ...options.requestOptions?.headers },
+        onResponse: options.onResponse
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/restError.js
+var require_restError2 = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/restError.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createRestError = createRestError;
+    var restError_js_1 = require_restError();
+    var httpHeaders_js_1 = require_httpHeaders();
+    function createRestError(messageOrResponse, response) {
+      const resp = typeof messageOrResponse === "string" ? response : messageOrResponse;
+      const internalError = resp.body?.error ?? resp.body;
+      const message = typeof messageOrResponse === "string" ? messageOrResponse : internalError?.message ?? `Unexpected status code: ${resp.status}`;
+      return new restError_js_1.RestError(message, {
+        statusCode: statusCodeToNumber(resp.status),
+        code: internalError?.code,
+        request: resp.request,
+        response: toPipelineResponse(resp)
+      });
+    }
+    function toPipelineResponse(response) {
+      return {
+        headers: (0, httpHeaders_js_1.createHttpHeaders)(response.headers),
+        request: response.request,
+        status: statusCodeToNumber(response.status) ?? -1
+      };
+    }
+    function statusCodeToNumber(statusCode) {
+      const status = Number.parseInt(statusCode);
+      return Number.isNaN(status) ? void 0 : status;
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/index.js
+var require_commonjs = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createRestError = exports2.operationOptionsToRequestParameters = exports2.getClient = exports2.createDefaultHttpClient = exports2.uint8ArrayToString = exports2.stringToUint8Array = exports2.isRestError = exports2.RestError = exports2.createEmptyPipeline = exports2.createPipelineRequest = exports2.createHttpHeaders = exports2.TypeSpecRuntimeLogger = exports2.setLogLevel = exports2.getLogLevel = exports2.createClientLogger = exports2.AbortError = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var AbortError_js_1 = require_AbortError();
+    Object.defineProperty(exports2, "AbortError", { enumerable: true, get: function() {
+      return AbortError_js_1.AbortError;
+    } });
+    var logger_js_1 = require_logger();
+    Object.defineProperty(exports2, "createClientLogger", { enumerable: true, get: function() {
+      return logger_js_1.createClientLogger;
+    } });
+    Object.defineProperty(exports2, "getLogLevel", { enumerable: true, get: function() {
+      return logger_js_1.getLogLevel;
+    } });
+    Object.defineProperty(exports2, "setLogLevel", { enumerable: true, get: function() {
+      return logger_js_1.setLogLevel;
+    } });
+    Object.defineProperty(exports2, "TypeSpecRuntimeLogger", { enumerable: true, get: function() {
+      return logger_js_1.TypeSpecRuntimeLogger;
+    } });
+    var httpHeaders_js_1 = require_httpHeaders();
+    Object.defineProperty(exports2, "createHttpHeaders", { enumerable: true, get: function() {
+      return httpHeaders_js_1.createHttpHeaders;
+    } });
+    tslib_1.__exportStar(require_schemes(), exports2);
+    tslib_1.__exportStar(require_oauth2Flows(), exports2);
+    var pipelineRequest_js_1 = require_pipelineRequest();
+    Object.defineProperty(exports2, "createPipelineRequest", { enumerable: true, get: function() {
+      return pipelineRequest_js_1.createPipelineRequest;
+    } });
+    var pipeline_js_1 = require_pipeline();
+    Object.defineProperty(exports2, "createEmptyPipeline", { enumerable: true, get: function() {
+      return pipeline_js_1.createEmptyPipeline;
+    } });
+    var restError_js_1 = require_restError();
+    Object.defineProperty(exports2, "RestError", { enumerable: true, get: function() {
+      return restError_js_1.RestError;
+    } });
+    Object.defineProperty(exports2, "isRestError", { enumerable: true, get: function() {
+      return restError_js_1.isRestError;
+    } });
+    var bytesEncoding_js_1 = require_bytesEncoding();
+    Object.defineProperty(exports2, "stringToUint8Array", { enumerable: true, get: function() {
+      return bytesEncoding_js_1.stringToUint8Array;
+    } });
+    Object.defineProperty(exports2, "uint8ArrayToString", { enumerable: true, get: function() {
+      return bytesEncoding_js_1.uint8ArrayToString;
+    } });
+    var defaultHttpClient_js_1 = require_defaultHttpClient();
+    Object.defineProperty(exports2, "createDefaultHttpClient", { enumerable: true, get: function() {
+      return defaultHttpClient_js_1.createDefaultHttpClient;
+    } });
+    var getClient_js_1 = require_getClient();
+    Object.defineProperty(exports2, "getClient", { enumerable: true, get: function() {
+      return getClient_js_1.getClient;
+    } });
+    var operationOptionHelpers_js_1 = require_operationOptionHelpers();
+    Object.defineProperty(exports2, "operationOptionsToRequestParameters", { enumerable: true, get: function() {
+      return operationOptionHelpers_js_1.operationOptionsToRequestParameters;
+    } });
+    var restError_js_2 = require_restError2();
+    Object.defineProperty(exports2, "createRestError", { enumerable: true, get: function() {
+      return restError_js_2.createRestError;
+    } });
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/pipeline.js
+var require_pipeline2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/pipeline.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createEmptyPipeline = createEmptyPipeline;
+    var ts_http_runtime_1 = require_commonjs();
+    function createEmptyPipeline() {
+      return (0, ts_http_runtime_1.createEmptyPipeline)();
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/internal.js
+var require_internal = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/internal.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createLoggerContext = void 0;
+    var logger_js_1 = require_logger();
+    Object.defineProperty(exports2, "createLoggerContext", { enumerable: true, get: function() {
+      return logger_js_1.createLoggerContext;
+    } });
+  }
+});
+
+// node_modules/@azure/logger/dist/commonjs/index.js
+var require_commonjs2 = __commonJS({
+  "node_modules/@azure/logger/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AzureLogger = void 0;
+    exports2.setLogLevel = setLogLevel;
+    exports2.getLogLevel = getLogLevel;
+    exports2.createClientLogger = createClientLogger;
+    var logger_1 = require_internal();
+    var context2 = (0, logger_1.createLoggerContext)({
+      logLevelEnvVarName: "AZURE_LOG_LEVEL",
+      namespace: "azure"
+    });
+    exports2.AzureLogger = context2.logger;
+    function setLogLevel(level) {
+      context2.setLogLevel(level);
+    }
+    function getLogLevel() {
+      return context2.getLogLevel();
+    }
+    function createClientLogger(namespace) {
+      return context2.createClientLogger(namespace);
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/log.js
+var require_log3 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/log.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.logger = void 0;
+    var logger_1 = require_commonjs2();
+    exports2.logger = (0, logger_1.createClientLogger)("core-rest-pipeline");
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/exponentialRetryPolicy.js
+var require_exponentialRetryPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/exponentialRetryPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.exponentialRetryPolicyName = void 0;
+    exports2.exponentialRetryPolicy = exponentialRetryPolicy;
+    var exponentialRetryStrategy_js_1 = require_exponentialRetryStrategy();
+    var retryPolicy_js_1 = require_retryPolicy();
+    var constants_js_1 = require_constants13();
+    exports2.exponentialRetryPolicyName = "exponentialRetryPolicy";
+    function exponentialRetryPolicy(options = {}) {
+      return (0, retryPolicy_js_1.retryPolicy)([
+        (0, exponentialRetryStrategy_js_1.exponentialRetryStrategy)({
+          ...options,
+          ignoreSystemErrors: true
+        })
+      ], {
+        maxRetries: options.maxRetries ?? constants_js_1.DEFAULT_RETRY_POLICY_COUNT
+      });
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/systemErrorRetryPolicy.js
+var require_systemErrorRetryPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/systemErrorRetryPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.systemErrorRetryPolicyName = void 0;
+    exports2.systemErrorRetryPolicy = systemErrorRetryPolicy;
+    var exponentialRetryStrategy_js_1 = require_exponentialRetryStrategy();
+    var retryPolicy_js_1 = require_retryPolicy();
+    var constants_js_1 = require_constants13();
+    exports2.systemErrorRetryPolicyName = "systemErrorRetryPolicy";
+    function systemErrorRetryPolicy(options = {}) {
+      return {
+        name: exports2.systemErrorRetryPolicyName,
+        sendRequest: (0, retryPolicy_js_1.retryPolicy)([
+          (0, exponentialRetryStrategy_js_1.exponentialRetryStrategy)({
+            ...options,
+            ignoreHttpStatusCodes: true
+          })
+        ], {
+          maxRetries: options.maxRetries ?? constants_js_1.DEFAULT_RETRY_POLICY_COUNT
+        }).sendRequest
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/throttlingRetryPolicy.js
+var require_throttlingRetryPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/throttlingRetryPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.throttlingRetryPolicyName = void 0;
+    exports2.throttlingRetryPolicy = throttlingRetryPolicy;
+    var throttlingRetryStrategy_js_1 = require_throttlingRetryStrategy();
+    var retryPolicy_js_1 = require_retryPolicy();
+    var constants_js_1 = require_constants13();
+    exports2.throttlingRetryPolicyName = "throttlingRetryPolicy";
+    function throttlingRetryPolicy(options = {}) {
+      return {
+        name: exports2.throttlingRetryPolicyName,
+        sendRequest: (0, retryPolicy_js_1.retryPolicy)([(0, throttlingRetryStrategy_js_1.throttlingRetryStrategy)()], {
+          maxRetries: options.maxRetries ?? constants_js_1.DEFAULT_RETRY_POLICY_COUNT
+        }).sendRequest
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/internal.js
+var require_internal2 = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/internal.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.userAgentPolicyName = exports2.userAgentPolicy = exports2.tlsPolicyName = exports2.tlsPolicy = exports2.redirectPolicyName = exports2.redirectPolicy = exports2.getDefaultProxySettings = exports2.proxyPolicyName = exports2.proxyPolicy = exports2.multipartPolicyName = exports2.multipartPolicy = exports2.logPolicyName = exports2.logPolicy = exports2.formDataPolicyName = exports2.formDataPolicy = exports2.throttlingRetryPolicyName = exports2.throttlingRetryPolicy = exports2.systemErrorRetryPolicyName = exports2.systemErrorRetryPolicy = exports2.retryPolicy = exports2.exponentialRetryPolicyName = exports2.exponentialRetryPolicy = exports2.defaultRetryPolicyName = exports2.defaultRetryPolicy = exports2.decompressResponsePolicyName = exports2.decompressResponsePolicy = exports2.agentPolicyName = exports2.agentPolicy = void 0;
+    var agentPolicy_js_1 = require_agentPolicy();
+    Object.defineProperty(exports2, "agentPolicy", { enumerable: true, get: function() {
+      return agentPolicy_js_1.agentPolicy;
+    } });
+    Object.defineProperty(exports2, "agentPolicyName", { enumerable: true, get: function() {
+      return agentPolicy_js_1.agentPolicyName;
+    } });
+    var decompressResponsePolicy_js_1 = require_decompressResponsePolicy();
+    Object.defineProperty(exports2, "decompressResponsePolicy", { enumerable: true, get: function() {
+      return decompressResponsePolicy_js_1.decompressResponsePolicy;
+    } });
+    Object.defineProperty(exports2, "decompressResponsePolicyName", { enumerable: true, get: function() {
+      return decompressResponsePolicy_js_1.decompressResponsePolicyName;
+    } });
+    var defaultRetryPolicy_js_1 = require_defaultRetryPolicy();
+    Object.defineProperty(exports2, "defaultRetryPolicy", { enumerable: true, get: function() {
+      return defaultRetryPolicy_js_1.defaultRetryPolicy;
+    } });
+    Object.defineProperty(exports2, "defaultRetryPolicyName", { enumerable: true, get: function() {
+      return defaultRetryPolicy_js_1.defaultRetryPolicyName;
+    } });
+    var exponentialRetryPolicy_js_1 = require_exponentialRetryPolicy();
+    Object.defineProperty(exports2, "exponentialRetryPolicy", { enumerable: true, get: function() {
+      return exponentialRetryPolicy_js_1.exponentialRetryPolicy;
+    } });
+    Object.defineProperty(exports2, "exponentialRetryPolicyName", { enumerable: true, get: function() {
+      return exponentialRetryPolicy_js_1.exponentialRetryPolicyName;
+    } });
+    var retryPolicy_js_1 = require_retryPolicy();
+    Object.defineProperty(exports2, "retryPolicy", { enumerable: true, get: function() {
+      return retryPolicy_js_1.retryPolicy;
+    } });
+    var systemErrorRetryPolicy_js_1 = require_systemErrorRetryPolicy();
+    Object.defineProperty(exports2, "systemErrorRetryPolicy", { enumerable: true, get: function() {
+      return systemErrorRetryPolicy_js_1.systemErrorRetryPolicy;
+    } });
+    Object.defineProperty(exports2, "systemErrorRetryPolicyName", { enumerable: true, get: function() {
+      return systemErrorRetryPolicy_js_1.systemErrorRetryPolicyName;
+    } });
+    var throttlingRetryPolicy_js_1 = require_throttlingRetryPolicy();
+    Object.defineProperty(exports2, "throttlingRetryPolicy", { enumerable: true, get: function() {
+      return throttlingRetryPolicy_js_1.throttlingRetryPolicy;
+    } });
+    Object.defineProperty(exports2, "throttlingRetryPolicyName", { enumerable: true, get: function() {
+      return throttlingRetryPolicy_js_1.throttlingRetryPolicyName;
+    } });
+    var formDataPolicy_js_1 = require_formDataPolicy();
+    Object.defineProperty(exports2, "formDataPolicy", { enumerable: true, get: function() {
+      return formDataPolicy_js_1.formDataPolicy;
+    } });
+    Object.defineProperty(exports2, "formDataPolicyName", { enumerable: true, get: function() {
+      return formDataPolicy_js_1.formDataPolicyName;
+    } });
+    var logPolicy_js_1 = require_logPolicy();
+    Object.defineProperty(exports2, "logPolicy", { enumerable: true, get: function() {
+      return logPolicy_js_1.logPolicy;
+    } });
+    Object.defineProperty(exports2, "logPolicyName", { enumerable: true, get: function() {
+      return logPolicy_js_1.logPolicyName;
+    } });
+    var multipartPolicy_js_1 = require_multipartPolicy();
+    Object.defineProperty(exports2, "multipartPolicy", { enumerable: true, get: function() {
+      return multipartPolicy_js_1.multipartPolicy;
+    } });
+    Object.defineProperty(exports2, "multipartPolicyName", { enumerable: true, get: function() {
+      return multipartPolicy_js_1.multipartPolicyName;
+    } });
+    var proxyPolicy_js_1 = require_proxyPolicy();
+    Object.defineProperty(exports2, "proxyPolicy", { enumerable: true, get: function() {
+      return proxyPolicy_js_1.proxyPolicy;
+    } });
+    Object.defineProperty(exports2, "proxyPolicyName", { enumerable: true, get: function() {
+      return proxyPolicy_js_1.proxyPolicyName;
+    } });
+    Object.defineProperty(exports2, "getDefaultProxySettings", { enumerable: true, get: function() {
+      return proxyPolicy_js_1.getDefaultProxySettings;
+    } });
+    var redirectPolicy_js_1 = require_redirectPolicy();
+    Object.defineProperty(exports2, "redirectPolicy", { enumerable: true, get: function() {
+      return redirectPolicy_js_1.redirectPolicy;
+    } });
+    Object.defineProperty(exports2, "redirectPolicyName", { enumerable: true, get: function() {
+      return redirectPolicy_js_1.redirectPolicyName;
+    } });
+    var tlsPolicy_js_1 = require_tlsPolicy();
+    Object.defineProperty(exports2, "tlsPolicy", { enumerable: true, get: function() {
+      return tlsPolicy_js_1.tlsPolicy;
+    } });
+    Object.defineProperty(exports2, "tlsPolicyName", { enumerable: true, get: function() {
+      return tlsPolicy_js_1.tlsPolicyName;
+    } });
+    var userAgentPolicy_js_1 = require_userAgentPolicy();
+    Object.defineProperty(exports2, "userAgentPolicy", { enumerable: true, get: function() {
+      return userAgentPolicy_js_1.userAgentPolicy;
+    } });
+    Object.defineProperty(exports2, "userAgentPolicyName", { enumerable: true, get: function() {
+      return userAgentPolicy_js_1.userAgentPolicyName;
+    } });
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/logPolicy.js
+var require_logPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/logPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.logPolicyName = void 0;
+    exports2.logPolicy = logPolicy;
+    var log_js_1 = require_log3();
+    var policies_1 = require_internal2();
+    exports2.logPolicyName = policies_1.logPolicyName;
+    function logPolicy(options = {}) {
+      return (0, policies_1.logPolicy)({
+        logger: log_js_1.logger.info,
+        ...options
+      });
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/redirectPolicy.js
+var require_redirectPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/redirectPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.redirectPolicyName = void 0;
+    exports2.redirectPolicy = redirectPolicy;
+    var policies_1 = require_internal2();
+    exports2.redirectPolicyName = policies_1.redirectPolicyName;
+    function redirectPolicy(options = {}) {
+      return (0, policies_1.redirectPolicy)(options);
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/util/userAgentPlatform.js
+var require_userAgentPlatform2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/util/userAgentPlatform.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getHeaderName = getHeaderName;
+    exports2.setPlatformSpecificData = setPlatformSpecificData;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var node_os_1 = tslib_1.__importDefault(require("node:os"));
+    var node_process_1 = tslib_1.__importDefault(require("node:process"));
+    function getHeaderName() {
+      return "User-Agent";
+    }
+    async function setPlatformSpecificData(map2) {
+      if (node_process_1.default && node_process_1.default.versions) {
+        const osInfo = `${node_os_1.default.type()} ${node_os_1.default.release()}; ${node_os_1.default.arch()}`;
+        const versions = node_process_1.default.versions;
+        if (versions.bun) {
+          map2.set("Bun", `${versions.bun} (${osInfo})`);
+        } else if (versions.deno) {
+          map2.set("Deno", `${versions.deno} (${osInfo})`);
+        } else if (versions.node) {
+          map2.set("Node", `${versions.node} (${osInfo})`);
+        }
+      }
+    }
   }
 });
 
-// node_modules/jsonschema/lib/helpers.js
-var require_helpers = __commonJS({
-  "node_modules/jsonschema/lib/helpers.js"(exports2, module2) {
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/constants.js
+var require_constants14 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/constants.js"(exports2) {
     "use strict";
-    var uri = require("url");
-    var ValidationError = exports2.ValidationError = function ValidationError2(message, instance, schema2, path4, name, argument) {
-      if (Array.isArray(path4)) {
-        this.path = path4;
-        this.property = path4.reduce(function(sum, item) {
-          return sum + makeSuffix(item);
-        }, "instance");
-      } else if (path4 !== void 0) {
-        this.property = path4;
-      }
-      if (message) {
-        this.message = message;
-      }
-      if (schema2) {
-        var id = schema2.$id || schema2.id;
-        this.schema = id || schema2;
-      }
-      if (instance !== void 0) {
-        this.instance = instance;
-      }
-      this.name = name;
-      this.argument = argument;
-      this.stack = this.toString();
-    };
-    ValidationError.prototype.toString = function toString2() {
-      return this.property + " " + this.message;
-    };
-    var ValidatorResult = exports2.ValidatorResult = function ValidatorResult2(instance, schema2, options, ctx) {
-      this.instance = instance;
-      this.schema = schema2;
-      this.options = options;
-      this.path = ctx.path;
-      this.propertyPath = ctx.propertyPath;
-      this.errors = [];
-      this.throwError = options && options.throwError;
-      this.throwFirst = options && options.throwFirst;
-      this.throwAll = options && options.throwAll;
-      this.disableFormat = options && options.disableFormat === true;
-    };
-    ValidatorResult.prototype.addError = function addError(detail) {
-      var err;
-      if (typeof detail == "string") {
-        err = new ValidationError(detail, this.instance, this.schema, this.path);
-      } else {
-        if (!detail) throw new Error("Missing error detail");
-        if (!detail.message) throw new Error("Missing error message");
-        if (!detail.name) throw new Error("Missing validator type");
-        err = new ValidationError(detail.message, this.instance, this.schema, this.path, detail.name, detail.argument);
-      }
-      this.errors.push(err);
-      if (this.throwFirst) {
-        throw new ValidatorResultError(this);
-      } else if (this.throwError) {
-        throw err;
-      }
-      return err;
-    };
-    ValidatorResult.prototype.importErrors = function importErrors(res) {
-      if (typeof res == "string" || res && res.validatorType) {
-        this.addError(res);
-      } else if (res && res.errors) {
-        this.errors = this.errors.concat(res.errors);
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.DEFAULT_RETRY_POLICY_COUNT = exports2.SDK_VERSION = void 0;
+    exports2.SDK_VERSION = "1.22.2";
+    exports2.DEFAULT_RETRY_POLICY_COUNT = 3;
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/util/userAgent.js
+var require_userAgent2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/util/userAgent.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getUserAgentHeaderName = getUserAgentHeaderName;
+    exports2.getUserAgentValue = getUserAgentValue;
+    var userAgentPlatform_js_1 = require_userAgentPlatform2();
+    var constants_js_1 = require_constants14();
+    function getUserAgentString(telemetryInfo) {
+      const parts = [];
+      for (const [key, value] of telemetryInfo) {
+        const token = value ? `${key}/${value}` : key;
+        parts.push(token);
       }
-    };
-    function stringizer(v, i) {
-      return i + ": " + v.toString() + "\n";
+      return parts.join(" ");
     }
-    ValidatorResult.prototype.toString = function toString2(res) {
-      return this.errors.map(stringizer).join("");
-    };
-    Object.defineProperty(ValidatorResult.prototype, "valid", { get: function() {
-      return !this.errors.length;
-    } });
-    module2.exports.ValidatorResultError = ValidatorResultError;
-    function ValidatorResultError(result) {
-      if (Error.captureStackTrace) {
-        Error.captureStackTrace(this, ValidatorResultError);
-      }
-      this.instance = result.instance;
-      this.schema = result.schema;
-      this.options = result.options;
-      this.errors = result.errors;
+    function getUserAgentHeaderName() {
+      return (0, userAgentPlatform_js_1.getHeaderName)();
     }
-    ValidatorResultError.prototype = new Error();
-    ValidatorResultError.prototype.constructor = ValidatorResultError;
-    ValidatorResultError.prototype.name = "Validation Error";
-    var SchemaError = exports2.SchemaError = function SchemaError2(msg, schema2) {
-      this.message = msg;
-      this.schema = schema2;
-      Error.call(this, msg);
-      Error.captureStackTrace(this, SchemaError2);
-    };
-    SchemaError.prototype = Object.create(
-      Error.prototype,
-      {
-        constructor: { value: SchemaError, enumerable: false },
-        name: { value: "SchemaError", enumerable: false }
-      }
-    );
-    var SchemaContext = exports2.SchemaContext = function SchemaContext2(schema2, options, path4, base, schemas) {
-      this.schema = schema2;
-      this.options = options;
-      if (Array.isArray(path4)) {
-        this.path = path4;
-        this.propertyPath = path4.reduce(function(sum, item) {
-          return sum + makeSuffix(item);
-        }, "instance");
-      } else {
-        this.propertyPath = path4;
-      }
-      this.base = base;
-      this.schemas = schemas;
-    };
-    SchemaContext.prototype.resolve = function resolve3(target) {
-      return uri.resolve(this.base, target);
-    };
-    SchemaContext.prototype.makeChild = function makeChild(schema2, propertyName) {
-      var path4 = propertyName === void 0 ? this.path : this.path.concat([propertyName]);
-      var id = schema2.$id || schema2.id;
-      var base = uri.resolve(this.base, id || "");
-      var ctx = new SchemaContext(schema2, this.options, path4, base, Object.create(this.schemas));
-      if (id && !ctx.schemas[base]) {
-        ctx.schemas[base] = schema2;
-      }
-      return ctx;
-    };
-    var FORMAT_REGEXPS = exports2.FORMAT_REGEXPS = {
-      // 7.3.1. Dates, Times, and Duration
-      "date-time": /^\d{4}-(?:0[0-9]{1}|1[0-2]{1})-(3[01]|0[1-9]|[12][0-9])[tT ](2[0-4]|[01][0-9]):([0-5][0-9]):(60|[0-5][0-9])(\.\d+)?([zZ]|[+-]([0-5][0-9]):(60|[0-5][0-9]))$/,
-      "date": /^\d{4}-(?:0[0-9]{1}|1[0-2]{1})-(3[01]|0[1-9]|[12][0-9])$/,
-      "time": /^(2[0-4]|[01][0-9]):([0-5][0-9]):(60|[0-5][0-9])$/,
-      "duration": /P(T\d+(H(\d+M(\d+S)?)?|M(\d+S)?|S)|\d+(D|M(\d+D)?|Y(\d+M(\d+D)?)?)(T\d+(H(\d+M(\d+S)?)?|M(\d+S)?|S))?|\d+W)/i,
-      // 7.3.2. Email Addresses
-      // TODO: fix the email production
-      "email": /^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(?:(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9\-](?!\.)){0,61}[a-zA-Z0-9]?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9\-](?!$)){0,61}[a-zA-Z0-9]?)|(?:\[(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/,
-      "idn-email": /^("(?:[!#-\[\]-\u{10FFFF}]|\\[\t -\u{10FFFF}])*"|[!#-'*+\-/-9=?A-Z\^-\u{10FFFF}](?:\.?[!#-'*+\-/-9=?A-Z\^-\u{10FFFF}])*)@([!#-'*+\-/-9=?A-Z\^-\u{10FFFF}](?:\.?[!#-'*+\-/-9=?A-Z\^-\u{10FFFF}])*|\[[!-Z\^-\u{10FFFF}]*\])$/u,
-      // 7.3.3. Hostnames
-      // 7.3.4. IP Addresses
-      "ip-address": /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,
-      // FIXME whitespace is invalid
-      "ipv6": /^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/,
-      // 7.3.5. Resource Identifiers
-      // TODO: A more accurate regular expression for "uri" goes:
-      // [A-Za-z][+\-.0-9A-Za-z]*:((/(/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?)?)?#(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|(/(/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?[/?]|[!$&-.0-;=?-Z_a-z~])|/?%[0-9A-Fa-f]{2}|[!$&-.0-;=?-Z_a-z~])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*(#(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*)?|/(/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+(:\d*)?|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?:\d*|\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)?)?
-      "uri": /^[a-zA-Z][a-zA-Z0-9+.-]*:[^\s]*$/,
-      "uri-reference": /^(((([A-Za-z][+\-.0-9A-Za-z]*(:%[0-9A-Fa-f]{2}|:[!$&-.0-;=?-Z_a-z~]|[/?])|\?)(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|([A-Za-z][+\-.0-9A-Za-z]*:?)?)|([A-Za-z][+\-.0-9A-Za-z]*:)?\/((%[0-9A-Fa-f]{2}|\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?[/?]|[!$&-.0-;=?-Z_a-z~])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|(\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?)?))#(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|(([A-Za-z][+\-.0-9A-Za-z]*)?%[0-9A-Fa-f]{2}|[!$&-.0-9;=@_~]|[A-Za-z][+\-.0-9A-Za-z]*[!$&-*,;=@_~])(%[0-9A-Fa-f]{2}|[!$&-.0-9;=@-Z_a-z~])*((([/?](%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*)?#|[/?])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*)?|([A-Za-z][+\-.0-9A-Za-z]*(:%[0-9A-Fa-f]{2}|:[!$&-.0-;=?-Z_a-z~]|[/?])|\?)(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|([A-Za-z][+\-.0-9A-Za-z]*:)?\/((%[0-9A-Fa-f]{2}|\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?[/?]|[!$&-.0-;=?-Z_a-z~])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+(:\d*)?|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?:\d*|\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)?|[A-Za-z][+\-.0-9A-Za-z]*:?)?$/,
-      "iri": /^[a-zA-Z][a-zA-Z0-9+.-]*:[^\s]*$/,
-      "iri-reference": /^(((([A-Za-z][+\-.0-9A-Za-z]*(:%[0-9A-Fa-f]{2}|:[!$&-.0-;=?-Z_a-z~-\u{10FFFF}]|[/?])|\?)(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\u{10FFFF}])*|([A-Za-z][+\-.0-9A-Za-z]*:?)?)|([A-Za-z][+\-.0-9A-Za-z]*:)?\/((%[0-9A-Fa-f]{2}|\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~-\u{10FFFF}])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~-\u{10FFFF}]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?[/?]|[!$&-.0-;=?-Z_a-z~-\u{10FFFF}])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\u{10FFFF}])*|(\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~-\u{10FFFF}])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~-\u{10FFFF}]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?)?))#(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\u{10FFFF}])*|(([A-Za-z][+\-.0-9A-Za-z]*)?%[0-9A-Fa-f]{2}|[!$&-.0-9;=@_~-\u{10FFFF}]|[A-Za-z][+\-.0-9A-Za-z]*[!$&-*,;=@_~-\u{10FFFF}])(%[0-9A-Fa-f]{2}|[!$&-.0-9;=@-Z_a-z~-\u{10FFFF}])*((([/?](%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\u{10FFFF}])*)?#|[/?])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\u{10FFFF}])*)?|([A-Za-z][+\-.0-9A-Za-z]*(:%[0-9A-Fa-f]{2}|:[!$&-.0-;=?-Z_a-z~-\u{10FFFF}]|[/?])|\?)(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\u{10FFFF}])*|([A-Za-z][+\-.0-9A-Za-z]*:)?\/((%[0-9A-Fa-f]{2}|\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~-\u{10FFFF}])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~-\u{10FFFF}]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?[/?]|[!$&-.0-;=?-Z_a-z~-\u{10FFFF}])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\u{10FFFF}])*|\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~-\u{10FFFF}])+(:\d*)?|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~-\u{10FFFF}]+)?|[.0-:A-Fa-f]+)\])?:\d*|\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~-\u{10FFFF}]+)?|[.0-:A-Fa-f]+)\])?)?|[A-Za-z][+\-.0-9A-Za-z]*:?)?$/u,
-      "uuid": /^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i,
-      // 7.3.6. uri-template
-      "uri-template": /(%[0-9a-f]{2}|[!#$&(-;=?@\[\]_a-z~]|\{[!#&+,./;=?@|]?(%[0-9a-f]{2}|[0-9_a-z])(\.?(%[0-9a-f]{2}|[0-9_a-z]))*(:[1-9]\d{0,3}|\*)?(,(%[0-9a-f]{2}|[0-9_a-z])(\.?(%[0-9a-f]{2}|[0-9_a-z]))*(:[1-9]\d{0,3}|\*)?)*\})*/iu,
-      // 7.3.7. JSON Pointers
-      "json-pointer": /^(\/([\x00-\x2e0-@\[-}\x7f]|~[01])*)*$/iu,
-      "relative-json-pointer": /^\d+(#|(\/([\x00-\x2e0-@\[-}\x7f]|~[01])*)*)$/iu,
-      // hostname regex from: http://stackoverflow.com/a/1420225/5628
-      "hostname": /^(?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?(?:\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?)*\.?$/,
-      "host-name": /^(?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?(?:\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?)*\.?$/,
-      "utc-millisec": function(input) {
-        return typeof input === "string" && parseFloat(input) === parseInt(input, 10) && !isNaN(input);
-      },
-      // 7.3.8. regex
-      "regex": function(input) {
-        var result = true;
-        try {
-          new RegExp(input);
-        } catch (e) {
-          result = false;
-        }
-        return result;
-      },
-      // Other definitions
-      // "style" was removed from JSON Schema in draft-4 and is deprecated
-      "style": /[\r\n\t ]*[^\r\n\t ][^:]*:[\r\n\t ]*[^\r\n\t ;]*[\r\n\t ]*;?/,
-      // "color" was removed from JSON Schema in draft-4 and is deprecated
-      "color": /^(#?([0-9A-Fa-f]{3}){1,2}\b|aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow|(rgb\(\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*\))|(rgb\(\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*\)))$/,
-      "phone": /^\+(?:[0-9] ?){6,14}[0-9]$/,
-      "alpha": /^[a-zA-Z]+$/,
-      "alphanumeric": /^[a-zA-Z0-9]+$/
-    };
-    FORMAT_REGEXPS.regexp = FORMAT_REGEXPS.regex;
-    FORMAT_REGEXPS.pattern = FORMAT_REGEXPS.regex;
-    FORMAT_REGEXPS.ipv4 = FORMAT_REGEXPS["ip-address"];
-    exports2.isFormat = function isFormat(input, format, validator) {
-      if (typeof input === "string" && FORMAT_REGEXPS[format] !== void 0) {
-        if (FORMAT_REGEXPS[format] instanceof RegExp) {
-          return FORMAT_REGEXPS[format].test(input);
-        }
-        if (typeof FORMAT_REGEXPS[format] === "function") {
-          return FORMAT_REGEXPS[format](input);
+    async function getUserAgentValue(prefix) {
+      const runtimeInfo = /* @__PURE__ */ new Map();
+      runtimeInfo.set("core-rest-pipeline", constants_js_1.SDK_VERSION);
+      await (0, userAgentPlatform_js_1.setPlatformSpecificData)(runtimeInfo);
+      const defaultAgent = getUserAgentString(runtimeInfo);
+      const userAgentValue = prefix ? `${prefix} ${defaultAgent}` : defaultAgent;
+      return userAgentValue;
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/userAgentPolicy.js
+var require_userAgentPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/userAgentPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.userAgentPolicyName = void 0;
+    exports2.userAgentPolicy = userAgentPolicy;
+    var userAgent_js_1 = require_userAgent2();
+    var UserAgentHeaderName = (0, userAgent_js_1.getUserAgentHeaderName)();
+    exports2.userAgentPolicyName = "userAgentPolicy";
+    function userAgentPolicy(options = {}) {
+      const userAgentValue = (0, userAgent_js_1.getUserAgentValue)(options.userAgentPrefix);
+      return {
+        name: exports2.userAgentPolicyName,
+        async sendRequest(request2, next) {
+          if (!request2.headers.has(UserAgentHeaderName)) {
+            request2.headers.set(UserAgentHeaderName, await userAgentValue);
+          }
+          return next(request2);
         }
-      } else if (validator && validator.customFormats && typeof validator.customFormats[format] === "function") {
-        return validator.customFormats[format](input);
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/sha256.js
+var require_sha256 = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/sha256.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.computeSha256Hmac = computeSha256Hmac;
+    exports2.computeSha256Hash = computeSha256Hash;
+    var node_crypto_1 = require("node:crypto");
+    async function computeSha256Hmac(key, stringToSign, encoding) {
+      const decodedKey = Buffer.from(key, "base64");
+      return (0, node_crypto_1.createHmac)("sha256", decodedKey).update(stringToSign).digest(encoding);
+    }
+    async function computeSha256Hash(content, encoding) {
+      return (0, node_crypto_1.createHash)("sha256").update(content).digest(encoding);
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/internal.js
+var require_internal3 = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/internal.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Sanitizer = exports2.uint8ArrayToString = exports2.stringToUint8Array = exports2.isWebWorker = exports2.isReactNative = exports2.isDeno = exports2.isNodeRuntime = exports2.isNodeLike = exports2.isBun = exports2.isBrowser = exports2.randomUUID = exports2.computeSha256Hmac = exports2.computeSha256Hash = exports2.isError = exports2.isObject = exports2.getRandomIntegerInclusive = exports2.calculateRetryDelay = void 0;
+    var delay_js_1 = require_delay();
+    Object.defineProperty(exports2, "calculateRetryDelay", { enumerable: true, get: function() {
+      return delay_js_1.calculateRetryDelay;
+    } });
+    var random_js_1 = require_random();
+    Object.defineProperty(exports2, "getRandomIntegerInclusive", { enumerable: true, get: function() {
+      return random_js_1.getRandomIntegerInclusive;
+    } });
+    var object_js_1 = require_object();
+    Object.defineProperty(exports2, "isObject", { enumerable: true, get: function() {
+      return object_js_1.isObject;
+    } });
+    var error_js_1 = require_error();
+    Object.defineProperty(exports2, "isError", { enumerable: true, get: function() {
+      return error_js_1.isError;
+    } });
+    var sha256_js_1 = require_sha256();
+    Object.defineProperty(exports2, "computeSha256Hash", { enumerable: true, get: function() {
+      return sha256_js_1.computeSha256Hash;
+    } });
+    Object.defineProperty(exports2, "computeSha256Hmac", { enumerable: true, get: function() {
+      return sha256_js_1.computeSha256Hmac;
+    } });
+    var uuidUtils_js_1 = require_uuidUtils();
+    Object.defineProperty(exports2, "randomUUID", { enumerable: true, get: function() {
+      return uuidUtils_js_1.randomUUID;
+    } });
+    var checkEnvironment_js_1 = require_checkEnvironment();
+    Object.defineProperty(exports2, "isBrowser", { enumerable: true, get: function() {
+      return checkEnvironment_js_1.isBrowser;
+    } });
+    Object.defineProperty(exports2, "isBun", { enumerable: true, get: function() {
+      return checkEnvironment_js_1.isBun;
+    } });
+    Object.defineProperty(exports2, "isNodeLike", { enumerable: true, get: function() {
+      return checkEnvironment_js_1.isNodeLike;
+    } });
+    Object.defineProperty(exports2, "isNodeRuntime", { enumerable: true, get: function() {
+      return checkEnvironment_js_1.isNodeRuntime;
+    } });
+    Object.defineProperty(exports2, "isDeno", { enumerable: true, get: function() {
+      return checkEnvironment_js_1.isDeno;
+    } });
+    Object.defineProperty(exports2, "isReactNative", { enumerable: true, get: function() {
+      return checkEnvironment_js_1.isReactNative;
+    } });
+    Object.defineProperty(exports2, "isWebWorker", { enumerable: true, get: function() {
+      return checkEnvironment_js_1.isWebWorker;
+    } });
+    var bytesEncoding_js_1 = require_bytesEncoding();
+    Object.defineProperty(exports2, "stringToUint8Array", { enumerable: true, get: function() {
+      return bytesEncoding_js_1.stringToUint8Array;
+    } });
+    Object.defineProperty(exports2, "uint8ArrayToString", { enumerable: true, get: function() {
+      return bytesEncoding_js_1.uint8ArrayToString;
+    } });
+    var sanitizer_js_1 = require_sanitizer();
+    Object.defineProperty(exports2, "Sanitizer", { enumerable: true, get: function() {
+      return sanitizer_js_1.Sanitizer;
+    } });
+  }
+});
+
+// node_modules/@azure/core-util/dist/commonjs/aborterUtils.js
+var require_aborterUtils = __commonJS({
+  "node_modules/@azure/core-util/dist/commonjs/aborterUtils.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.cancelablePromiseRace = cancelablePromiseRace;
+    async function cancelablePromiseRace(abortablePromiseBuilders, options) {
+      const aborter = new AbortController();
+      function abortHandler() {
+        aborter.abort();
       }
-      return true;
-    };
-    var makeSuffix = exports2.makeSuffix = function makeSuffix2(key) {
-      key = key.toString();
-      if (!key.match(/[.\s\[\]]/) && !key.match(/^[\d]/)) {
-        return "." + key;
+      options?.abortSignal?.addEventListener("abort", abortHandler);
+      try {
+        return await Promise.race(abortablePromiseBuilders.map((p) => p({ abortSignal: aborter.signal })));
+      } finally {
+        aborter.abort();
+        options?.abortSignal?.removeEventListener("abort", abortHandler);
       }
-      if (key.match(/^\d+$/)) {
-        return "[" + key + "]";
+    }
+  }
+});
+
+// node_modules/@azure/core-util/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js
+var require_AbortError2 = __commonJS({
+  "node_modules/@azure/core-util/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AbortError = void 0;
+    var AbortError = class extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "AbortError";
       }
-      return "[" + JSON.stringify(key) + "]";
     };
-    exports2.deepCompareStrict = function deepCompareStrict(a, b) {
-      if (typeof a !== typeof b) {
-        return false;
-      }
-      if (Array.isArray(a)) {
-        if (!Array.isArray(b)) {
-          return false;
+    exports2.AbortError = AbortError;
+  }
+});
+
+// node_modules/@azure/core-util/node_modules/@azure/abort-controller/dist/commonjs/index.js
+var require_commonjs3 = __commonJS({
+  "node_modules/@azure/core-util/node_modules/@azure/abort-controller/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AbortError = void 0;
+    var AbortError_js_1 = require_AbortError2();
+    Object.defineProperty(exports2, "AbortError", { enumerable: true, get: function() {
+      return AbortError_js_1.AbortError;
+    } });
+  }
+});
+
+// node_modules/@azure/core-util/dist/commonjs/createAbortablePromise.js
+var require_createAbortablePromise = __commonJS({
+  "node_modules/@azure/core-util/dist/commonjs/createAbortablePromise.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createAbortablePromise = createAbortablePromise;
+    var abort_controller_1 = require_commonjs3();
+    function createAbortablePromise(buildPromise, options) {
+      const { cleanupBeforeAbort, abortSignal, abortErrorMsg } = options ?? {};
+      return new Promise((resolve3, reject) => {
+        function rejectOnAbort() {
+          reject(new abort_controller_1.AbortError(abortErrorMsg ?? "The operation was aborted."));
         }
-        if (a.length !== b.length) {
-          return false;
+        function removeListeners() {
+          abortSignal?.removeEventListener("abort", onAbort);
         }
-        return a.every(function(v, i) {
-          return deepCompareStrict(a[i], b[i]);
-        });
-      }
-      if (typeof a === "object") {
-        if (!a || !b) {
-          return a === b;
+        function onAbort() {
+          cleanupBeforeAbort?.();
+          removeListeners();
+          rejectOnAbort();
         }
-        var aKeys = Object.keys(a);
-        var bKeys = Object.keys(b);
-        if (aKeys.length !== bKeys.length) {
-          return false;
+        if (abortSignal?.aborted) {
+          return rejectOnAbort();
         }
-        return aKeys.every(function(v) {
-          return deepCompareStrict(a[v], b[v]);
-        });
-      }
-      return a === b;
-    };
-    function deepMerger(target, dst, e, i) {
-      if (typeof e === "object") {
-        dst[i] = deepMerge(target[i], e);
+        try {
+          buildPromise((x) => {
+            removeListeners();
+            resolve3(x);
+          }, (x) => {
+            removeListeners();
+            reject(x);
+          });
+        } catch (err) {
+          reject(err);
+        }
+        abortSignal?.addEventListener("abort", onAbort);
+      });
+    }
+  }
+});
+
+// node_modules/@azure/core-util/dist/commonjs/delay.js
+var require_delay2 = __commonJS({
+  "node_modules/@azure/core-util/dist/commonjs/delay.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.delay = delay;
+    exports2.calculateRetryDelay = calculateRetryDelay;
+    var createAbortablePromise_js_1 = require_createAbortablePromise();
+    var util_1 = require_internal3();
+    var StandardAbortMessage = "The delay was aborted.";
+    function delay(timeInMs, options) {
+      let token;
+      const { abortSignal, abortErrorMsg } = options ?? {};
+      return (0, createAbortablePromise_js_1.createAbortablePromise)((resolve3) => {
+        token = setTimeout(resolve3, timeInMs);
+      }, {
+        cleanupBeforeAbort: () => clearTimeout(token),
+        abortSignal,
+        abortErrorMsg: abortErrorMsg ?? StandardAbortMessage
+      });
+    }
+    function calculateRetryDelay(retryAttempt, config) {
+      const exponentialDelay = config.retryDelayInMs * Math.pow(2, retryAttempt);
+      const clampedDelay = Math.min(config.maxRetryDelayInMs, exponentialDelay);
+      const retryAfterInMs = clampedDelay / 2 + (0, util_1.getRandomIntegerInclusive)(0, clampedDelay / 2);
+      return { retryAfterInMs };
+    }
+  }
+});
+
+// node_modules/@azure/core-util/dist/commonjs/error.js
+var require_error2 = __commonJS({
+  "node_modules/@azure/core-util/dist/commonjs/error.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getErrorMessage = getErrorMessage2;
+    var util_1 = require_internal3();
+    function getErrorMessage2(e) {
+      if ((0, util_1.isError)(e)) {
+        return e.message;
       } else {
-        if (target.indexOf(e) === -1) {
-          dst.push(e);
+        let stringified;
+        try {
+          if (typeof e === "object" && e) {
+            stringified = JSON.stringify(e);
+          } else {
+            stringified = String(e);
+          }
+        } catch (err) {
+          stringified = "[unable to stringify input]";
         }
+        return `Unknown error ${stringified}`;
       }
     }
-    function copyist(src, dst, key) {
-      dst[key] = src[key];
+  }
+});
+
+// node_modules/@azure/core-util/dist/commonjs/typeGuards.js
+var require_typeGuards2 = __commonJS({
+  "node_modules/@azure/core-util/dist/commonjs/typeGuards.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isDefined = isDefined3;
+    exports2.isObjectWithProperties = isObjectWithProperties;
+    exports2.objectHasProperty = objectHasProperty;
+    function isDefined3(thing) {
+      return typeof thing !== "undefined" && thing !== null;
     }
-    function copyistWithDeepMerge(target, src, dst, key) {
-      if (typeof src[key] !== "object" || !src[key]) {
-        dst[key] = src[key];
-      } else {
-        if (!target[key]) {
-          dst[key] = src[key];
-        } else {
-          dst[key] = deepMerge(target[key], src[key]);
-        }
+    function isObjectWithProperties(thing, properties) {
+      if (!isDefined3(thing) || typeof thing !== "object") {
+        return false;
       }
-    }
-    function deepMerge(target, src) {
-      var array = Array.isArray(src);
-      var dst = array && [] || {};
-      if (array) {
-        target = target || [];
-        dst = dst.concat(target);
-        src.forEach(deepMerger.bind(null, target, dst));
-      } else {
-        if (target && typeof target === "object") {
-          Object.keys(target).forEach(copyist.bind(null, target, dst));
+      for (const property of properties) {
+        if (!objectHasProperty(thing, property)) {
+          return false;
         }
-        Object.keys(src).forEach(copyistWithDeepMerge.bind(null, target, src, dst));
       }
-      return dst;
+      return true;
     }
-    module2.exports.deepMerge = deepMerge;
-    exports2.objectGetPath = function objectGetPath(o, s) {
-      var parts = s.split("/").slice(1);
-      var k;
-      while (typeof (k = parts.shift()) == "string") {
-        var n = decodeURIComponent(k.replace(/~0/, "~").replace(/~1/g, "/"));
-        if (!(n in o)) return;
-        o = o[n];
-      }
-      return o;
-    };
-    function pathEncoder(v) {
-      return "/" + encodeURIComponent(v).replace(/~/g, "%7E");
+    function objectHasProperty(thing, property) {
+      return isDefined3(thing) && typeof thing === "object" && property in thing;
     }
-    exports2.encodePath = function encodePointer(a) {
-      return a.map(pathEncoder).join("");
-    };
-    exports2.getDecimalPlaces = function getDecimalPlaces(number) {
-      var decimalPlaces = 0;
-      if (isNaN(number)) return decimalPlaces;
-      if (typeof number !== "number") {
-        number = Number(number);
-      }
-      var parts = number.toString().split("e");
-      if (parts.length === 2) {
-        if (parts[1][0] !== "-") {
-          return decimalPlaces;
-        } else {
-          decimalPlaces = Number(parts[1].slice(1));
-        }
-      }
-      var decimalParts = parts[0].split(".");
-      if (decimalParts.length === 2) {
-        decimalPlaces += decimalParts[1].length;
-      }
-      return decimalPlaces;
-    };
-    exports2.isSchema = function isSchema(val) {
-      return typeof val === "object" && val || typeof val === "boolean";
-    };
   }
 });
 
-// node_modules/jsonschema/lib/attribute.js
-var require_attribute = __commonJS({
-  "node_modules/jsonschema/lib/attribute.js"(exports2, module2) {
+// node_modules/@azure/core-util/dist/commonjs/index.js
+var require_commonjs4 = __commonJS({
+  "node_modules/@azure/core-util/dist/commonjs/index.js"(exports2) {
     "use strict";
-    var helpers = require_helpers();
-    var ValidatorResult = helpers.ValidatorResult;
-    var SchemaError = helpers.SchemaError;
-    var attribute = {};
-    attribute.ignoreProperties = {
-      // informative properties
-      "id": true,
-      "default": true,
-      "description": true,
-      "title": true,
-      // arguments to other properties
-      "additionalItems": true,
-      "then": true,
-      "else": true,
-      // special-handled properties
-      "$schema": true,
-      "$ref": true,
-      "extends": true
-    };
-    var validators = attribute.validators = {};
-    validators.type = function validateType(instance, schema2, options, ctx) {
-      if (instance === void 0) {
-        return null;
-      }
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      var types = Array.isArray(schema2.type) ? schema2.type : [schema2.type];
-      if (!types.some(this.testType.bind(this, instance, schema2, options, ctx))) {
-        var list = types.map(function(v) {
-          if (!v) return;
-          var id = v.$id || v.id;
-          return id ? "<" + id + ">" : v + "";
-        });
-        result.addError({
-          name: "type",
-          argument: list,
-          message: "is not of a type(s) " + list
-        });
-      }
-      return result;
-    };
-    function testSchemaNoThrow(instance, options, ctx, callback, schema2) {
-      var throwError2 = options.throwError;
-      var throwAll = options.throwAll;
-      options.throwError = false;
-      options.throwAll = false;
-      var res = this.validateSchema(instance, schema2, options, ctx);
-      options.throwError = throwError2;
-      options.throwAll = throwAll;
-      if (!res.valid && callback instanceof Function) {
-        callback(res);
-      }
-      return res.valid;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isWebWorker = exports2.isReactNative = exports2.isNodeRuntime = exports2.isNodeLike = exports2.isNode = exports2.isDeno = exports2.isBun = exports2.isBrowser = exports2.objectHasProperty = exports2.isObjectWithProperties = exports2.isDefined = exports2.getErrorMessage = exports2.delay = exports2.createAbortablePromise = exports2.cancelablePromiseRace = void 0;
+    exports2.calculateRetryDelay = calculateRetryDelay;
+    exports2.computeSha256Hash = computeSha256Hash;
+    exports2.computeSha256Hmac = computeSha256Hmac;
+    exports2.getRandomIntegerInclusive = getRandomIntegerInclusive;
+    exports2.isError = isError;
+    exports2.isObject = isObject2;
+    exports2.randomUUID = randomUUID;
+    exports2.uint8ArrayToString = uint8ArrayToString;
+    exports2.stringToUint8Array = stringToUint8Array;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var tspRuntime = tslib_1.__importStar(require_internal3());
+    var aborterUtils_js_1 = require_aborterUtils();
+    Object.defineProperty(exports2, "cancelablePromiseRace", { enumerable: true, get: function() {
+      return aborterUtils_js_1.cancelablePromiseRace;
+    } });
+    var createAbortablePromise_js_1 = require_createAbortablePromise();
+    Object.defineProperty(exports2, "createAbortablePromise", { enumerable: true, get: function() {
+      return createAbortablePromise_js_1.createAbortablePromise;
+    } });
+    var delay_js_1 = require_delay2();
+    Object.defineProperty(exports2, "delay", { enumerable: true, get: function() {
+      return delay_js_1.delay;
+    } });
+    var error_js_1 = require_error2();
+    Object.defineProperty(exports2, "getErrorMessage", { enumerable: true, get: function() {
+      return error_js_1.getErrorMessage;
+    } });
+    var typeGuards_js_1 = require_typeGuards2();
+    Object.defineProperty(exports2, "isDefined", { enumerable: true, get: function() {
+      return typeGuards_js_1.isDefined;
+    } });
+    Object.defineProperty(exports2, "isObjectWithProperties", { enumerable: true, get: function() {
+      return typeGuards_js_1.isObjectWithProperties;
+    } });
+    Object.defineProperty(exports2, "objectHasProperty", { enumerable: true, get: function() {
+      return typeGuards_js_1.objectHasProperty;
+    } });
+    function calculateRetryDelay(retryAttempt, config) {
+      return tspRuntime.calculateRetryDelay(retryAttempt, config);
     }
-    validators.anyOf = function validateAnyOf(instance, schema2, options, ctx) {
-      if (instance === void 0) {
-        return null;
-      }
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      var inner = new ValidatorResult(instance, schema2, options, ctx);
-      if (!Array.isArray(schema2.anyOf)) {
-        throw new SchemaError("anyOf must be an array");
-      }
-      if (!schema2.anyOf.some(
-        testSchemaNoThrow.bind(
-          this,
-          instance,
-          options,
-          ctx,
-          function(res) {
-            inner.importErrors(res);
-          }
-        )
-      )) {
-        var list = schema2.anyOf.map(function(v, i) {
-          var id = v.$id || v.id;
-          if (id) return "<" + id + ">";
-          return v.title && JSON.stringify(v.title) || v["$ref"] && "<" + v["$ref"] + ">" || "[subschema " + i + "]";
-        });
-        if (options.nestedErrors) {
-          result.importErrors(inner);
-        }
-        result.addError({
-          name: "anyOf",
-          argument: list,
-          message: "is not any of " + list.join(",")
-        });
-      }
-      return result;
-    };
-    validators.allOf = function validateAllOf(instance, schema2, options, ctx) {
-      if (instance === void 0) {
-        return null;
-      }
-      if (!Array.isArray(schema2.allOf)) {
-        throw new SchemaError("allOf must be an array");
+    function computeSha256Hash(content, encoding) {
+      return tspRuntime.computeSha256Hash(content, encoding);
+    }
+    function computeSha256Hmac(key, stringToSign, encoding) {
+      return tspRuntime.computeSha256Hmac(key, stringToSign, encoding);
+    }
+    function getRandomIntegerInclusive(min, max) {
+      return tspRuntime.getRandomIntegerInclusive(min, max);
+    }
+    function isError(e) {
+      return tspRuntime.isError(e);
+    }
+    function isObject2(input) {
+      return tspRuntime.isObject(input);
+    }
+    function randomUUID() {
+      return tspRuntime.randomUUID();
+    }
+    exports2.isBrowser = tspRuntime.isBrowser;
+    exports2.isBun = tspRuntime.isBun;
+    exports2.isDeno = tspRuntime.isDeno;
+    exports2.isNode = tspRuntime.isNodeLike;
+    exports2.isNodeLike = tspRuntime.isNodeLike;
+    exports2.isNodeRuntime = tspRuntime.isNodeRuntime;
+    exports2.isReactNative = tspRuntime.isReactNative;
+    exports2.isWebWorker = tspRuntime.isWebWorker;
+    function uint8ArrayToString(bytes, format) {
+      return tspRuntime.uint8ArrayToString(bytes, format);
+    }
+    function stringToUint8Array(value, format) {
+      return tspRuntime.stringToUint8Array(value, format);
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/util/file.js
+var require_file3 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/util/file.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.hasRawContent = hasRawContent;
+    exports2.getRawContent = getRawContent;
+    exports2.createFileFromStream = createFileFromStream;
+    exports2.createFile = createFile;
+    var core_util_1 = require_commonjs4();
+    function isNodeReadableStream(x) {
+      return Boolean(x && typeof x["pipe"] === "function");
+    }
+    var unimplementedMethods = {
+      arrayBuffer: () => {
+        throw new Error("Not implemented");
+      },
+      bytes: () => {
+        throw new Error("Not implemented");
+      },
+      slice: () => {
+        throw new Error("Not implemented");
+      },
+      text: () => {
+        throw new Error("Not implemented");
       }
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      var self2 = this;
-      schema2.allOf.forEach(function(v, i) {
-        var valid3 = self2.validateSchema(instance, v, options, ctx);
-        if (!valid3.valid) {
-          var id = v.$id || v.id;
-          var msg = id || v.title && JSON.stringify(v.title) || v["$ref"] && "<" + v["$ref"] + ">" || "[subschema " + i + "]";
-          result.addError({
-            name: "allOf",
-            argument: { id: msg, length: valid3.errors.length, valid: valid3 },
-            message: "does not match allOf schema " + msg + " with " + valid3.errors.length + " error[s]:"
-          });
-          result.importErrors(valid3);
-        }
-      });
-      return result;
     };
-    validators.oneOf = function validateOneOf(instance, schema2, options, ctx) {
-      if (instance === void 0) {
-        return null;
-      }
-      if (!Array.isArray(schema2.oneOf)) {
-        throw new SchemaError("oneOf must be an array");
+    var rawContent = /* @__PURE__ */ Symbol("rawContent");
+    function hasRawContent(x) {
+      return typeof x[rawContent] === "function";
+    }
+    function getRawContent(blob) {
+      if (hasRawContent(blob)) {
+        return blob[rawContent]();
+      } else {
+        return blob;
       }
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      var inner = new ValidatorResult(instance, schema2, options, ctx);
-      var count = schema2.oneOf.filter(
-        testSchemaNoThrow.bind(
-          this,
-          instance,
-          options,
-          ctx,
-          function(res) {
-            inner.importErrors(res);
+    }
+    function createFileFromStream(stream, name, options = {}) {
+      return {
+        ...unimplementedMethods,
+        type: options.type ?? "",
+        lastModified: options.lastModified ?? (/* @__PURE__ */ new Date()).getTime(),
+        webkitRelativePath: options.webkitRelativePath ?? "",
+        size: options.size ?? -1,
+        name,
+        stream: () => {
+          const s = stream();
+          if (isNodeReadableStream(s)) {
+            throw new Error("Not supported: a Node stream was provided as input to createFileFromStream.");
           }
-        )
-      ).length;
-      var list = schema2.oneOf.map(function(v, i) {
-        var id = v.$id || v.id;
-        return id || v.title && JSON.stringify(v.title) || v["$ref"] && "<" + v["$ref"] + ">" || "[subschema " + i + "]";
-      });
-      if (count !== 1) {
-        if (options.nestedErrors) {
-          result.importErrors(inner);
-        }
-        result.addError({
-          name: "oneOf",
-          argument: list,
-          message: "is not exactly one from " + list.join(",")
-        });
-      }
-      return result;
-    };
-    validators.if = function validateIf(instance, schema2, options, ctx) {
-      if (instance === void 0) return null;
-      if (!helpers.isSchema(schema2.if)) throw new Error('Expected "if" keyword to be a schema');
-      var ifValid = testSchemaNoThrow.call(this, instance, options, ctx, null, schema2.if);
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      var res;
-      if (ifValid) {
-        if (schema2.then === void 0) return;
-        if (!helpers.isSchema(schema2.then)) throw new Error('Expected "then" keyword to be a schema');
-        res = this.validateSchema(instance, schema2.then, options, ctx.makeChild(schema2.then));
-        result.importErrors(res);
+          return s;
+        },
+        [rawContent]: stream
+      };
+    }
+    function createFile(content, name, options = {}) {
+      if (core_util_1.isNodeLike) {
+        return {
+          ...unimplementedMethods,
+          type: options.type ?? "",
+          lastModified: options.lastModified ?? (/* @__PURE__ */ new Date()).getTime(),
+          webkitRelativePath: options.webkitRelativePath ?? "",
+          size: content.byteLength,
+          name,
+          arrayBuffer: async () => content.buffer,
+          stream: () => new Blob([toArrayBuffer(content)]).stream(),
+          [rawContent]: () => content
+        };
       } else {
-        if (schema2.else === void 0) return;
-        if (!helpers.isSchema(schema2.else)) throw new Error('Expected "else" keyword to be a schema');
-        res = this.validateSchema(instance, schema2.else, options, ctx.makeChild(schema2.else));
-        result.importErrors(res);
-      }
-      return result;
-    };
-    function getEnumerableProperty(object, key) {
-      if (Object.hasOwnProperty.call(object, key)) return object[key];
-      if (!(key in object)) return;
-      while (object = Object.getPrototypeOf(object)) {
-        if (Object.propertyIsEnumerable.call(object, key)) return object[key];
+        return new File([toArrayBuffer(content)], name, options);
       }
     }
-    validators.propertyNames = function validatePropertyNames(instance, schema2, options, ctx) {
-      if (!this.types.object(instance)) return;
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      var subschema = schema2.propertyNames !== void 0 ? schema2.propertyNames : {};
-      if (!helpers.isSchema(subschema)) throw new SchemaError('Expected "propertyNames" to be a schema (object or boolean)');
-      for (var property in instance) {
-        if (getEnumerableProperty(instance, property) !== void 0) {
-          var res = this.validateSchema(property, subschema, options, ctx.makeChild(subschema));
-          result.importErrors(res);
-        }
+    function toArrayBuffer(source) {
+      if ("resize" in source.buffer) {
+        return source;
       }
-      return result;
-    };
-    validators.properties = function validateProperties(instance, schema2, options, ctx) {
-      if (!this.types.object(instance)) return;
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      var properties = schema2.properties || {};
-      for (var property in properties) {
-        var subschema = properties[property];
-        if (subschema === void 0) {
-          continue;
-        } else if (subschema === null) {
-          throw new SchemaError('Unexpected null, expected schema in "properties"');
+      return source.map((x) => x);
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/multipartPolicy.js
+var require_multipartPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/multipartPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.multipartPolicyName = void 0;
+    exports2.multipartPolicy = multipartPolicy;
+    var policies_1 = require_internal2();
+    var file_js_1 = require_file3();
+    exports2.multipartPolicyName = policies_1.multipartPolicyName;
+    function multipartPolicy() {
+      const tspPolicy = (0, policies_1.multipartPolicy)();
+      return {
+        name: exports2.multipartPolicyName,
+        sendRequest: async (request2, next) => {
+          if (request2.multipartBody) {
+            for (const part of request2.multipartBody.parts) {
+              if ((0, file_js_1.hasRawContent)(part.body)) {
+                part.body = (0, file_js_1.getRawContent)(part.body);
+              }
+            }
+          }
+          return tspPolicy.sendRequest(request2, next);
         }
-        if (typeof options.preValidateProperty == "function") {
-          options.preValidateProperty(instance, property, subschema, options, ctx);
+      };
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/decompressResponsePolicy.js
+var require_decompressResponsePolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/decompressResponsePolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.decompressResponsePolicyName = void 0;
+    exports2.decompressResponsePolicy = decompressResponsePolicy;
+    var policies_1 = require_internal2();
+    exports2.decompressResponsePolicyName = policies_1.decompressResponsePolicyName;
+    function decompressResponsePolicy() {
+      return (0, policies_1.decompressResponsePolicy)();
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/defaultRetryPolicy.js
+var require_defaultRetryPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/defaultRetryPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.defaultRetryPolicyName = void 0;
+    exports2.defaultRetryPolicy = defaultRetryPolicy;
+    var policies_1 = require_internal2();
+    exports2.defaultRetryPolicyName = policies_1.defaultRetryPolicyName;
+    function defaultRetryPolicy(options = {}) {
+      return (0, policies_1.defaultRetryPolicy)(options);
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/formDataPolicy.js
+var require_formDataPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/formDataPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.formDataPolicyName = void 0;
+    exports2.formDataPolicy = formDataPolicy;
+    var policies_1 = require_internal2();
+    exports2.formDataPolicyName = policies_1.formDataPolicyName;
+    function formDataPolicy() {
+      return (0, policies_1.formDataPolicy)();
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/proxyPolicy.js
+var require_proxyPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/proxyPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.proxyPolicyName = void 0;
+    exports2.getDefaultProxySettings = getDefaultProxySettings;
+    exports2.proxyPolicy = proxyPolicy;
+    var policies_1 = require_internal2();
+    exports2.proxyPolicyName = policies_1.proxyPolicyName;
+    function getDefaultProxySettings(proxyUrl) {
+      return (0, policies_1.getDefaultProxySettings)(proxyUrl);
+    }
+    function proxyPolicy(proxySettings, options) {
+      return (0, policies_1.proxyPolicy)(proxySettings, options);
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/setClientRequestIdPolicy.js
+var require_setClientRequestIdPolicy = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/setClientRequestIdPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.setClientRequestIdPolicyName = void 0;
+    exports2.setClientRequestIdPolicy = setClientRequestIdPolicy;
+    exports2.setClientRequestIdPolicyName = "setClientRequestIdPolicy";
+    function setClientRequestIdPolicy(requestIdHeaderName = "x-ms-client-request-id") {
+      return {
+        name: exports2.setClientRequestIdPolicyName,
+        async sendRequest(request2, next) {
+          if (!request2.headers.has(requestIdHeaderName)) {
+            request2.headers.set(requestIdHeaderName, request2.requestId);
+          }
+          return next(request2);
         }
-        var prop = getEnumerableProperty(instance, property);
-        var res = this.validateSchema(prop, subschema, options, ctx.makeChild(subschema, property));
-        if (res.instance !== result.instance[property]) result.instance[property] = res.instance;
-        result.importErrors(res);
-      }
-      return result;
+      };
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/agentPolicy.js
+var require_agentPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/agentPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.agentPolicyName = void 0;
+    exports2.agentPolicy = agentPolicy;
+    var policies_1 = require_internal2();
+    exports2.agentPolicyName = policies_1.agentPolicyName;
+    function agentPolicy(agent) {
+      return (0, policies_1.agentPolicy)(agent);
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/tlsPolicy.js
+var require_tlsPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/tlsPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.tlsPolicyName = void 0;
+    exports2.tlsPolicy = tlsPolicy;
+    var policies_1 = require_internal2();
+    exports2.tlsPolicyName = policies_1.tlsPolicyName;
+    function tlsPolicy(tlsSettings) {
+      return (0, policies_1.tlsPolicy)(tlsSettings);
+    }
+  }
+});
+
+// node_modules/@azure/core-tracing/dist/commonjs/tracingContext.js
+var require_tracingContext = __commonJS({
+  "node_modules/@azure/core-tracing/dist/commonjs/tracingContext.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.TracingContextImpl = exports2.knownContextKeys = void 0;
+    exports2.createTracingContext = createTracingContext;
+    exports2.knownContextKeys = {
+      span: /* @__PURE__ */ Symbol.for("@azure/core-tracing span"),
+      namespace: /* @__PURE__ */ Symbol.for("@azure/core-tracing namespace")
     };
-    function testAdditionalProperty(instance, schema2, options, ctx, property, result) {
-      if (!this.types.object(instance)) return;
-      if (schema2.properties && schema2.properties[property] !== void 0) {
-        return;
+    function createTracingContext(options = {}) {
+      let context2 = new TracingContextImpl(options.parentContext);
+      if (options.span) {
+        context2 = context2.setValue(exports2.knownContextKeys.span, options.span);
       }
-      if (schema2.additionalProperties === false) {
-        result.addError({
-          name: "additionalProperties",
-          argument: property,
-          message: "is not allowed to have the additional property " + JSON.stringify(property)
-        });
-      } else {
-        var additionalProperties = schema2.additionalProperties || {};
-        if (typeof options.preValidateProperty == "function") {
-          options.preValidateProperty(instance, property, additionalProperties, options, ctx);
-        }
-        var res = this.validateSchema(instance[property], additionalProperties, options, ctx.makeChild(additionalProperties, property));
-        if (res.instance !== result.instance[property]) result.instance[property] = res.instance;
-        result.importErrors(res);
+      if (options.namespace) {
+        context2 = context2.setValue(exports2.knownContextKeys.namespace, options.namespace);
       }
+      return context2;
     }
-    validators.patternProperties = function validatePatternProperties(instance, schema2, options, ctx) {
-      if (!this.types.object(instance)) return;
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      var patternProperties = schema2.patternProperties || {};
-      for (var property in instance) {
-        var test = true;
-        for (var pattern in patternProperties) {
-          var subschema = patternProperties[pattern];
-          if (subschema === void 0) {
-            continue;
-          } else if (subschema === null) {
-            throw new SchemaError('Unexpected null, expected schema in "patternProperties"');
-          }
-          try {
-            var regexp = new RegExp(pattern, "u");
-          } catch (_e) {
-            regexp = new RegExp(pattern);
-          }
-          if (!regexp.test(property)) {
-            continue;
-          }
-          test = false;
-          if (typeof options.preValidateProperty == "function") {
-            options.preValidateProperty(instance, property, subschema, options, ctx);
-          }
-          var res = this.validateSchema(instance[property], subschema, options, ctx.makeChild(subschema, property));
-          if (res.instance !== result.instance[property]) result.instance[property] = res.instance;
-          result.importErrors(res);
-        }
-        if (test) {
-          testAdditionalProperty.call(this, instance, schema2, options, ctx, property, result);
-        }
+    var TracingContextImpl = class _TracingContextImpl {
+      _contextMap;
+      constructor(initialContext) {
+        this._contextMap = initialContext instanceof _TracingContextImpl ? new Map(initialContext._contextMap) : /* @__PURE__ */ new Map();
       }
-      return result;
-    };
-    validators.additionalProperties = function validateAdditionalProperties(instance, schema2, options, ctx) {
-      if (!this.types.object(instance)) return;
-      if (schema2.patternProperties) {
-        return null;
+      setValue(key, value) {
+        const newContext = new _TracingContextImpl(this);
+        newContext._contextMap.set(key, value);
+        return newContext;
       }
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      for (var property in instance) {
-        testAdditionalProperty.call(this, instance, schema2, options, ctx, property, result);
+      getValue(key) {
+        return this._contextMap.get(key);
       }
-      return result;
-    };
-    validators.minProperties = function validateMinProperties(instance, schema2, options, ctx) {
-      if (!this.types.object(instance)) return;
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      var keys = Object.keys(instance);
-      if (!(keys.length >= schema2.minProperties)) {
-        result.addError({
-          name: "minProperties",
-          argument: schema2.minProperties,
-          message: "does not meet minimum property length of " + schema2.minProperties
-        });
+      deleteValue(key) {
+        const newContext = new _TracingContextImpl(this);
+        newContext._contextMap.delete(key);
+        return newContext;
       }
-      return result;
     };
-    validators.maxProperties = function validateMaxProperties(instance, schema2, options, ctx) {
-      if (!this.types.object(instance)) return;
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      var keys = Object.keys(instance);
-      if (!(keys.length <= schema2.maxProperties)) {
-        result.addError({
-          name: "maxProperties",
-          argument: schema2.maxProperties,
-          message: "does not meet maximum property length of " + schema2.maxProperties
-        });
-      }
-      return result;
+    exports2.TracingContextImpl = TracingContextImpl;
+  }
+});
+
+// node_modules/@azure/core-tracing/dist/commonjs/state.js
+var require_state = __commonJS({
+  "node_modules/@azure/core-tracing/dist/commonjs/state.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.state = void 0;
+    exports2.state = {
+      instrumenterImplementation: void 0
     };
-    validators.items = function validateItems(instance, schema2, options, ctx) {
-      var self2 = this;
-      if (!this.types.array(instance)) return;
-      if (schema2.items === void 0) return;
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      instance.every(function(value, i) {
-        if (Array.isArray(schema2.items)) {
-          var items = schema2.items[i] === void 0 ? schema2.additionalItems : schema2.items[i];
-        } else {
-          var items = schema2.items;
-        }
-        if (items === void 0) {
-          return true;
+  }
+});
+
+// node_modules/@azure/core-tracing/dist/commonjs/instrumenter.js
+var require_instrumenter = __commonJS({
+  "node_modules/@azure/core-tracing/dist/commonjs/instrumenter.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createDefaultTracingSpan = createDefaultTracingSpan;
+    exports2.createDefaultInstrumenter = createDefaultInstrumenter;
+    exports2.useInstrumenter = useInstrumenter;
+    exports2.getInstrumenter = getInstrumenter;
+    var tracingContext_js_1 = require_tracingContext();
+    var state_js_1 = require_state();
+    function createDefaultTracingSpan() {
+      return {
+        end: () => {
+        },
+        isRecording: () => false,
+        recordException: () => {
+        },
+        setAttribute: () => {
+        },
+        setStatus: () => {
+        },
+        addEvent: () => {
         }
-        if (items === false) {
-          result.addError({
-            name: "items",
-            message: "additionalItems not permitted"
-          });
-          return false;
+      };
+    }
+    function createDefaultInstrumenter() {
+      return {
+        createRequestHeaders: () => {
+          return {};
+        },
+        parseTraceparentHeader: () => {
+          return void 0;
+        },
+        startSpan: (_name, spanOptions) => {
+          return {
+            span: createDefaultTracingSpan(),
+            tracingContext: (0, tracingContext_js_1.createTracingContext)({ parentContext: spanOptions.tracingContext })
+          };
+        },
+        withContext(_context, callback, ...callbackArgs) {
+          return callback(...callbackArgs);
         }
-        var res = self2.validateSchema(value, items, options, ctx.makeChild(items, i));
-        if (res.instance !== result.instance[i]) result.instance[i] = res.instance;
-        result.importErrors(res);
-        return true;
-      });
-      return result;
-    };
-    validators.contains = function validateContains(instance, schema2, options, ctx) {
-      var self2 = this;
-      if (!this.types.array(instance)) return;
-      if (schema2.contains === void 0) return;
-      if (!helpers.isSchema(schema2.contains)) throw new Error('Expected "contains" keyword to be a schema');
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      var count = instance.some(function(value, i) {
-        var res = self2.validateSchema(value, schema2.contains, options, ctx.makeChild(schema2.contains, i));
-        return res.errors.length === 0;
-      });
-      if (count === false) {
-        result.addError({
-          name: "contains",
-          argument: schema2.contains,
-          message: "must contain an item matching given schema"
-        });
+      };
+    }
+    function useInstrumenter(instrumenter) {
+      state_js_1.state.instrumenterImplementation = instrumenter;
+    }
+    function getInstrumenter() {
+      if (!state_js_1.state.instrumenterImplementation) {
+        state_js_1.state.instrumenterImplementation = createDefaultInstrumenter();
       }
-      return result;
-    };
-    validators.minimum = function validateMinimum(instance, schema2, options, ctx) {
-      if (!this.types.number(instance)) return;
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      if (schema2.exclusiveMinimum && schema2.exclusiveMinimum === true) {
-        if (!(instance > schema2.minimum)) {
-          result.addError({
-            name: "minimum",
-            argument: schema2.minimum,
-            message: "must be greater than " + schema2.minimum
-          });
-        }
-      } else {
-        if (!(instance >= schema2.minimum)) {
-          result.addError({
-            name: "minimum",
-            argument: schema2.minimum,
-            message: "must be greater than or equal to " + schema2.minimum
-          });
+      return state_js_1.state.instrumenterImplementation;
+    }
+  }
+});
+
+// node_modules/@azure/core-tracing/dist/commonjs/tracingClient.js
+var require_tracingClient = __commonJS({
+  "node_modules/@azure/core-tracing/dist/commonjs/tracingClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createTracingClient = createTracingClient;
+    var instrumenter_js_1 = require_instrumenter();
+    var tracingContext_js_1 = require_tracingContext();
+    function createTracingClient(options) {
+      const { namespace, packageName, packageVersion } = options;
+      function startSpan(name, operationOptions, spanOptions) {
+        const startSpanResult = (0, instrumenter_js_1.getInstrumenter)().startSpan(name, {
+          ...spanOptions,
+          packageName,
+          packageVersion,
+          tracingContext: operationOptions?.tracingOptions?.tracingContext
+        });
+        let tracingContext = startSpanResult.tracingContext;
+        const span = startSpanResult.span;
+        if (!tracingContext.getValue(tracingContext_js_1.knownContextKeys.namespace)) {
+          tracingContext = tracingContext.setValue(tracingContext_js_1.knownContextKeys.namespace, namespace);
         }
+        span.setAttribute("az.namespace", tracingContext.getValue(tracingContext_js_1.knownContextKeys.namespace));
+        const updatedOptions = Object.assign({}, operationOptions, {
+          tracingOptions: { ...operationOptions?.tracingOptions, tracingContext }
+        });
+        return {
+          span,
+          updatedOptions
+        };
       }
-      return result;
-    };
-    validators.maximum = function validateMaximum(instance, schema2, options, ctx) {
-      if (!this.types.number(instance)) return;
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      if (schema2.exclusiveMaximum && schema2.exclusiveMaximum === true) {
-        if (!(instance < schema2.maximum)) {
-          result.addError({
-            name: "maximum",
-            argument: schema2.maximum,
-            message: "must be less than " + schema2.maximum
-          });
-        }
-      } else {
-        if (!(instance <= schema2.maximum)) {
-          result.addError({
-            name: "maximum",
-            argument: schema2.maximum,
-            message: "must be less than or equal to " + schema2.maximum
-          });
+      async function withSpan(name, operationOptions, callback, spanOptions) {
+        const { span, updatedOptions } = startSpan(name, operationOptions, spanOptions);
+        try {
+          const result = await withContext(updatedOptions.tracingOptions.tracingContext, () => Promise.resolve(callback(updatedOptions, span)));
+          span.setStatus({ status: "success" });
+          return result;
+        } catch (err) {
+          span.setStatus({ status: "error", error: err });
+          throw err;
+        } finally {
+          span.end();
         }
       }
-      return result;
-    };
-    validators.exclusiveMinimum = function validateExclusiveMinimum(instance, schema2, options, ctx) {
-      if (typeof schema2.exclusiveMinimum === "boolean") return;
-      if (!this.types.number(instance)) return;
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      var valid3 = instance > schema2.exclusiveMinimum;
-      if (!valid3) {
-        result.addError({
-          name: "exclusiveMinimum",
-          argument: schema2.exclusiveMinimum,
-          message: "must be strictly greater than " + schema2.exclusiveMinimum
-        });
-      }
-      return result;
-    };
-    validators.exclusiveMaximum = function validateExclusiveMaximum(instance, schema2, options, ctx) {
-      if (typeof schema2.exclusiveMaximum === "boolean") return;
-      if (!this.types.number(instance)) return;
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      var valid3 = instance < schema2.exclusiveMaximum;
-      if (!valid3) {
-        result.addError({
-          name: "exclusiveMaximum",
-          argument: schema2.exclusiveMaximum,
-          message: "must be strictly less than " + schema2.exclusiveMaximum
-        });
+      function withContext(context2, callback, ...callbackArgs) {
+        return (0, instrumenter_js_1.getInstrumenter)().withContext(context2, callback, ...callbackArgs);
       }
-      return result;
-    };
-    var validateMultipleOfOrDivisbleBy = function validateMultipleOfOrDivisbleBy2(instance, schema2, options, ctx, validationType, errorMessage) {
-      if (!this.types.number(instance)) return;
-      var validationArgument = schema2[validationType];
-      if (validationArgument == 0) {
-        throw new SchemaError(validationType + " cannot be zero");
+      function parseTraceparentHeader(traceparentHeader) {
+        return (0, instrumenter_js_1.getInstrumenter)().parseTraceparentHeader(traceparentHeader);
       }
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      var instanceDecimals = helpers.getDecimalPlaces(instance);
-      var divisorDecimals = helpers.getDecimalPlaces(validationArgument);
-      var maxDecimals = Math.max(instanceDecimals, divisorDecimals);
-      var multiplier = Math.pow(10, maxDecimals);
-      if (Math.round(instance * multiplier) % Math.round(validationArgument * multiplier) !== 0) {
-        result.addError({
-          name: validationType,
-          argument: validationArgument,
-          message: errorMessage + JSON.stringify(validationArgument)
-        });
+      function createRequestHeaders(tracingContext) {
+        return (0, instrumenter_js_1.getInstrumenter)().createRequestHeaders(tracingContext);
       }
-      return result;
-    };
-    validators.multipleOf = function validateMultipleOf(instance, schema2, options, ctx) {
-      return validateMultipleOfOrDivisbleBy.call(this, instance, schema2, options, ctx, "multipleOf", "is not a multiple of (divisible by) ");
-    };
-    validators.divisibleBy = function validateDivisibleBy(instance, schema2, options, ctx) {
-      return validateMultipleOfOrDivisbleBy.call(this, instance, schema2, options, ctx, "divisibleBy", "is not divisible by (multiple of) ");
-    };
-    validators.required = function validateRequired(instance, schema2, options, ctx) {
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      if (instance === void 0 && schema2.required === true) {
-        result.addError({
-          name: "required",
-          message: "is required"
-        });
-      } else if (this.types.object(instance) && Array.isArray(schema2.required)) {
-        schema2.required.forEach(function(n) {
-          if (getEnumerableProperty(instance, n) === void 0) {
-            result.addError({
-              name: "required",
-              argument: n,
-              message: "requires property " + JSON.stringify(n)
-            });
+      return {
+        startSpan,
+        withSpan,
+        withContext,
+        parseTraceparentHeader,
+        createRequestHeaders
+      };
+    }
+  }
+});
+
+// node_modules/@azure/core-tracing/dist/commonjs/index.js
+var require_commonjs5 = __commonJS({
+  "node_modules/@azure/core-tracing/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createTracingClient = exports2.useInstrumenter = void 0;
+    var instrumenter_js_1 = require_instrumenter();
+    Object.defineProperty(exports2, "useInstrumenter", { enumerable: true, get: function() {
+      return instrumenter_js_1.useInstrumenter;
+    } });
+    var tracingClient_js_1 = require_tracingClient();
+    Object.defineProperty(exports2, "createTracingClient", { enumerable: true, get: function() {
+      return tracingClient_js_1.createTracingClient;
+    } });
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/restError.js
+var require_restError3 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/restError.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.RestError = void 0;
+    exports2.isRestError = isRestError;
+    var ts_http_runtime_1 = require_commonjs();
+    exports2.RestError = ts_http_runtime_1.RestError;
+    function isRestError(e) {
+      return (0, ts_http_runtime_1.isRestError)(e);
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/tracingPolicy.js
+var require_tracingPolicy = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/tracingPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.tracingPolicyName = void 0;
+    exports2.tracingPolicy = tracingPolicy;
+    var core_tracing_1 = require_commonjs5();
+    var constants_js_1 = require_constants14();
+    var userAgent_js_1 = require_userAgent2();
+    var log_js_1 = require_log3();
+    var core_util_1 = require_commonjs4();
+    var restError_js_1 = require_restError3();
+    var util_1 = require_internal3();
+    exports2.tracingPolicyName = "tracingPolicy";
+    function tracingPolicy(options = {}) {
+      const userAgentPromise = (0, userAgent_js_1.getUserAgentValue)(options.userAgentPrefix);
+      const sanitizer = new util_1.Sanitizer({
+        additionalAllowedQueryParameters: options.additionalAllowedQueryParameters
+      });
+      const tracingClient = tryCreateTracingClient();
+      return {
+        name: exports2.tracingPolicyName,
+        async sendRequest(request2, next) {
+          if (!tracingClient) {
+            return next(request2);
           }
-        });
-      }
-      return result;
-    };
-    validators.pattern = function validatePattern(instance, schema2, options, ctx) {
-      if (!this.types.string(instance)) return;
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      var pattern = schema2.pattern;
+          const userAgent2 = await userAgentPromise;
+          const spanAttributes = {
+            "http.url": sanitizer.sanitizeUrl(request2.url),
+            "http.method": request2.method,
+            "http.user_agent": userAgent2,
+            requestId: request2.requestId
+          };
+          if (userAgent2) {
+            spanAttributes["http.user_agent"] = userAgent2;
+          }
+          const { span, tracingContext } = tryCreateSpan(tracingClient, request2, spanAttributes) ?? {};
+          if (!span || !tracingContext) {
+            return next(request2);
+          }
+          try {
+            const response = await tracingClient.withContext(tracingContext, next, request2);
+            tryProcessResponse(span, response);
+            return response;
+          } catch (err) {
+            tryProcessError(span, err);
+            throw err;
+          }
+        }
+      };
+    }
+    function tryCreateTracingClient() {
       try {
-        var regexp = new RegExp(pattern, "u");
-      } catch (_e) {
-        regexp = new RegExp(pattern);
-      }
-      if (!instance.match(regexp)) {
-        result.addError({
-          name: "pattern",
-          argument: schema2.pattern,
-          message: "does not match pattern " + JSON.stringify(schema2.pattern.toString())
-        });
-      }
-      return result;
-    };
-    validators.format = function validateFormat(instance, schema2, options, ctx) {
-      if (instance === void 0) return;
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      if (!result.disableFormat && !helpers.isFormat(instance, schema2.format, this)) {
-        result.addError({
-          name: "format",
-          argument: schema2.format,
-          message: "does not conform to the " + JSON.stringify(schema2.format) + " format"
-        });
-      }
-      return result;
-    };
-    validators.minLength = function validateMinLength(instance, schema2, options, ctx) {
-      if (!this.types.string(instance)) return;
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      var hsp = instance.match(/[\uDC00-\uDFFF]/g);
-      var length = instance.length - (hsp ? hsp.length : 0);
-      if (!(length >= schema2.minLength)) {
-        result.addError({
-          name: "minLength",
-          argument: schema2.minLength,
-          message: "does not meet minimum length of " + schema2.minLength
-        });
-      }
-      return result;
-    };
-    validators.maxLength = function validateMaxLength(instance, schema2, options, ctx) {
-      if (!this.types.string(instance)) return;
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      var hsp = instance.match(/[\uDC00-\uDFFF]/g);
-      var length = instance.length - (hsp ? hsp.length : 0);
-      if (!(length <= schema2.maxLength)) {
-        result.addError({
-          name: "maxLength",
-          argument: schema2.maxLength,
-          message: "does not meet maximum length of " + schema2.maxLength
-        });
-      }
-      return result;
-    };
-    validators.minItems = function validateMinItems(instance, schema2, options, ctx) {
-      if (!this.types.array(instance)) return;
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      if (!(instance.length >= schema2.minItems)) {
-        result.addError({
-          name: "minItems",
-          argument: schema2.minItems,
-          message: "does not meet minimum length of " + schema2.minItems
+        return (0, core_tracing_1.createTracingClient)({
+          namespace: "",
+          packageName: "@azure/core-rest-pipeline",
+          packageVersion: constants_js_1.SDK_VERSION
         });
+      } catch (e) {
+        log_js_1.logger.warning(`Error when creating the TracingClient: ${(0, core_util_1.getErrorMessage)(e)}`);
+        return void 0;
       }
-      return result;
-    };
-    validators.maxItems = function validateMaxItems(instance, schema2, options, ctx) {
-      if (!this.types.array(instance)) return;
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      if (!(instance.length <= schema2.maxItems)) {
-        result.addError({
-          name: "maxItems",
-          argument: schema2.maxItems,
-          message: "does not meet maximum length of " + schema2.maxItems
+    }
+    function tryCreateSpan(tracingClient, request2, spanAttributes) {
+      try {
+        const { span, updatedOptions } = tracingClient.startSpan(`HTTP ${request2.method}`, { tracingOptions: request2.tracingOptions }, {
+          spanKind: "client",
+          spanAttributes
         });
-      }
-      return result;
-    };
-    function testArrays(v, i, a) {
-      var j, len = a.length;
-      for (j = i + 1, len; j < len; j++) {
-        if (helpers.deepCompareStrict(v, a[j])) {
-          return false;
+        if (!span.isRecording()) {
+          span.end();
+          return void 0;
+        }
+        const headers = tracingClient.createRequestHeaders(updatedOptions.tracingOptions.tracingContext);
+        for (const [key, value] of Object.entries(headers)) {
+          request2.headers.set(key, value);
         }
+        return { span, tracingContext: updatedOptions.tracingOptions.tracingContext };
+      } catch (e) {
+        log_js_1.logger.warning(`Skipping creating a tracing span due to an error: ${(0, core_util_1.getErrorMessage)(e)}`);
+        return void 0;
       }
-      return true;
     }
-    validators.uniqueItems = function validateUniqueItems(instance, schema2, options, ctx) {
-      if (schema2.uniqueItems !== true) return;
-      if (!this.types.array(instance)) return;
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      if (!instance.every(testArrays)) {
-        result.addError({
-          name: "uniqueItems",
-          message: "contains duplicate item"
+    function tryProcessError(span, error3) {
+      try {
+        span.setStatus({
+          status: "error",
+          error: (0, core_util_1.isError)(error3) ? error3 : void 0
         });
-      }
-      return result;
-    };
-    validators.dependencies = function validateDependencies(instance, schema2, options, ctx) {
-      if (!this.types.object(instance)) return;
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      for (var property in schema2.dependencies) {
-        if (instance[property] === void 0) {
-          continue;
+        if ((0, restError_js_1.isRestError)(error3) && error3.statusCode) {
+          span.setAttribute("http.status_code", error3.statusCode);
         }
-        var dep = schema2.dependencies[property];
-        var childContext = ctx.makeChild(dep, property);
-        if (typeof dep == "string") {
-          dep = [dep];
+        span.end();
+      } catch (e) {
+        log_js_1.logger.warning(`Skipping tracing span processing due to an error: ${(0, core_util_1.getErrorMessage)(e)}`);
+      }
+    }
+    function tryProcessResponse(span, response) {
+      try {
+        span.setAttribute("http.status_code", response.status);
+        const serviceRequestId = response.headers.get("x-ms-request-id");
+        if (serviceRequestId) {
+          span.setAttribute("serviceRequestId", serviceRequestId);
         }
-        if (Array.isArray(dep)) {
-          dep.forEach(function(prop) {
-            if (instance[prop] === void 0) {
-              result.addError({
-                // FIXME there's two different "dependencies" errors here with slightly different outputs
-                // Can we make these the same? Or should we create different error types?
-                name: "dependencies",
-                argument: childContext.propertyPath,
-                message: "property " + prop + " not found, required by " + childContext.propertyPath
-              });
-            }
+        if (response.status >= 400) {
+          span.setStatus({
+            status: "error"
           });
-        } else {
-          var res = this.validateSchema(instance, dep, options, childContext);
-          if (result.instance !== res.instance) result.instance = res.instance;
-          if (res && res.errors.length) {
-            result.addError({
-              name: "dependencies",
-              argument: childContext.propertyPath,
-              message: "does not meet dependency required by " + childContext.propertyPath
-            });
-            result.importErrors(res);
-          }
         }
+        span.end();
+      } catch (e) {
+        log_js_1.logger.warning(`Skipping tracing span processing due to an error: ${(0, core_util_1.getErrorMessage)(e)}`);
       }
-      return result;
-    };
-    validators["enum"] = function validateEnum(instance, schema2, options, ctx) {
-      if (instance === void 0) {
-        return null;
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/util/wrapAbortSignal.js
+var require_wrapAbortSignal = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/util/wrapAbortSignal.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.wrapAbortSignalLike = wrapAbortSignalLike;
+    function wrapAbortSignalLike(abortSignalLike) {
+      if (abortSignalLike instanceof AbortSignal) {
+        return { abortSignal: abortSignalLike };
       }
-      if (!Array.isArray(schema2["enum"])) {
-        throw new SchemaError("enum expects an array", schema2);
+      if (abortSignalLike.aborted) {
+        return { abortSignal: AbortSignal.abort(abortSignalLike.reason) };
       }
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      if (!schema2["enum"].some(helpers.deepCompareStrict.bind(null, instance))) {
-        result.addError({
-          name: "enum",
-          argument: schema2["enum"],
-          message: "is not one of enum values: " + schema2["enum"].map(String).join(",")
-        });
+      const controller = new AbortController();
+      let needsCleanup = true;
+      function cleanup() {
+        if (needsCleanup) {
+          abortSignalLike.removeEventListener("abort", listener);
+          needsCleanup = false;
+        }
       }
-      return result;
-    };
-    validators["const"] = function validateEnum(instance, schema2, options, ctx) {
-      if (instance === void 0) {
-        return null;
+      function listener() {
+        controller.abort(abortSignalLike.reason);
+        cleanup();
       }
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      if (!helpers.deepCompareStrict(schema2["const"], instance)) {
-        result.addError({
-          name: "const",
-          argument: schema2["const"],
-          message: "does not exactly match expected constant: " + schema2["const"]
-        });
+      abortSignalLike.addEventListener("abort", listener);
+      return { abortSignal: controller.signal, cleanup };
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/wrapAbortSignalLikePolicy.js
+var require_wrapAbortSignalLikePolicy = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/wrapAbortSignalLikePolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.wrapAbortSignalLikePolicyName = void 0;
+    exports2.wrapAbortSignalLikePolicy = wrapAbortSignalLikePolicy;
+    var wrapAbortSignal_js_1 = require_wrapAbortSignal();
+    exports2.wrapAbortSignalLikePolicyName = "wrapAbortSignalLikePolicy";
+    function wrapAbortSignalLikePolicy() {
+      return {
+        name: exports2.wrapAbortSignalLikePolicyName,
+        sendRequest: async (request2, next) => {
+          if (!request2.abortSignal) {
+            return next(request2);
+          }
+          const { abortSignal, cleanup } = (0, wrapAbortSignal_js_1.wrapAbortSignalLike)(request2.abortSignal);
+          request2.abortSignal = abortSignal;
+          try {
+            return await next(request2);
+          } finally {
+            cleanup?.();
+          }
+        }
+      };
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/createPipelineFromOptions.js
+var require_createPipelineFromOptions2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/createPipelineFromOptions.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createPipelineFromOptions = createPipelineFromOptions;
+    var logPolicy_js_1 = require_logPolicy2();
+    var pipeline_js_1 = require_pipeline2();
+    var redirectPolicy_js_1 = require_redirectPolicy2();
+    var userAgentPolicy_js_1 = require_userAgentPolicy2();
+    var multipartPolicy_js_1 = require_multipartPolicy2();
+    var decompressResponsePolicy_js_1 = require_decompressResponsePolicy2();
+    var defaultRetryPolicy_js_1 = require_defaultRetryPolicy2();
+    var formDataPolicy_js_1 = require_formDataPolicy2();
+    var core_util_1 = require_commonjs4();
+    var proxyPolicy_js_1 = require_proxyPolicy2();
+    var setClientRequestIdPolicy_js_1 = require_setClientRequestIdPolicy();
+    var agentPolicy_js_1 = require_agentPolicy2();
+    var tlsPolicy_js_1 = require_tlsPolicy2();
+    var tracingPolicy_js_1 = require_tracingPolicy();
+    var wrapAbortSignalLikePolicy_js_1 = require_wrapAbortSignalLikePolicy();
+    function createPipelineFromOptions(options) {
+      const pipeline = (0, pipeline_js_1.createEmptyPipeline)();
+      if (core_util_1.isNodeLike) {
+        if (options.agent) {
+          pipeline.addPolicy((0, agentPolicy_js_1.agentPolicy)(options.agent));
+        }
+        if (options.tlsOptions) {
+          pipeline.addPolicy((0, tlsPolicy_js_1.tlsPolicy)(options.tlsOptions));
+        }
+        pipeline.addPolicy((0, proxyPolicy_js_1.proxyPolicy)(options.proxyOptions));
+        pipeline.addPolicy((0, decompressResponsePolicy_js_1.decompressResponsePolicy)());
       }
-      return result;
+      pipeline.addPolicy((0, wrapAbortSignalLikePolicy_js_1.wrapAbortSignalLikePolicy)());
+      pipeline.addPolicy((0, formDataPolicy_js_1.formDataPolicy)(), { beforePolicies: [multipartPolicy_js_1.multipartPolicyName] });
+      pipeline.addPolicy((0, userAgentPolicy_js_1.userAgentPolicy)(options.userAgentOptions));
+      pipeline.addPolicy((0, setClientRequestIdPolicy_js_1.setClientRequestIdPolicy)(options.telemetryOptions?.clientRequestIdHeaderName));
+      pipeline.addPolicy((0, multipartPolicy_js_1.multipartPolicy)(), { afterPhase: "Deserialize" });
+      pipeline.addPolicy((0, defaultRetryPolicy_js_1.defaultRetryPolicy)(options.retryOptions), { phase: "Retry" });
+      pipeline.addPolicy((0, tracingPolicy_js_1.tracingPolicy)({ ...options.userAgentOptions, ...options.loggingOptions }), {
+        afterPhase: "Retry"
+      });
+      if (core_util_1.isNodeLike) {
+        pipeline.addPolicy((0, redirectPolicy_js_1.redirectPolicy)(options.redirectOptions), { afterPhase: "Retry" });
+      }
+      pipeline.addPolicy((0, logPolicy_js_1.logPolicy)(options.loggingOptions), { afterPhase: "Sign" });
+      return pipeline;
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/defaultHttpClient.js
+var require_defaultHttpClient2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/defaultHttpClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createDefaultHttpClient = createDefaultHttpClient;
+    var ts_http_runtime_1 = require_commonjs();
+    var wrapAbortSignal_js_1 = require_wrapAbortSignal();
+    function createDefaultHttpClient() {
+      const client = (0, ts_http_runtime_1.createDefaultHttpClient)();
+      return {
+        async sendRequest(request2) {
+          const { abortSignal, cleanup } = request2.abortSignal ? (0, wrapAbortSignal_js_1.wrapAbortSignalLike)(request2.abortSignal) : {};
+          try {
+            request2.abortSignal = abortSignal;
+            return await client.sendRequest(request2);
+          } finally {
+            cleanup?.();
+          }
+        }
+      };
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/httpHeaders.js
+var require_httpHeaders2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/httpHeaders.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createHttpHeaders = createHttpHeaders;
+    var ts_http_runtime_1 = require_commonjs();
+    function createHttpHeaders(rawHeaders) {
+      return (0, ts_http_runtime_1.createHttpHeaders)(rawHeaders);
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/pipelineRequest.js
+var require_pipelineRequest2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/pipelineRequest.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createPipelineRequest = createPipelineRequest;
+    var ts_http_runtime_1 = require_commonjs();
+    function createPipelineRequest(options) {
+      return (0, ts_http_runtime_1.createPipelineRequest)(options);
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/exponentialRetryPolicy.js
+var require_exponentialRetryPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/exponentialRetryPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.exponentialRetryPolicyName = void 0;
+    exports2.exponentialRetryPolicy = exponentialRetryPolicy;
+    var policies_1 = require_internal2();
+    exports2.exponentialRetryPolicyName = policies_1.exponentialRetryPolicyName;
+    function exponentialRetryPolicy(options = {}) {
+      return (0, policies_1.exponentialRetryPolicy)(options);
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/systemErrorRetryPolicy.js
+var require_systemErrorRetryPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/systemErrorRetryPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.systemErrorRetryPolicyName = void 0;
+    exports2.systemErrorRetryPolicy = systemErrorRetryPolicy;
+    var policies_1 = require_internal2();
+    exports2.systemErrorRetryPolicyName = policies_1.systemErrorRetryPolicyName;
+    function systemErrorRetryPolicy(options = {}) {
+      return (0, policies_1.systemErrorRetryPolicy)(options);
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/throttlingRetryPolicy.js
+var require_throttlingRetryPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/throttlingRetryPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.throttlingRetryPolicyName = void 0;
+    exports2.throttlingRetryPolicy = throttlingRetryPolicy;
+    var policies_1 = require_internal2();
+    exports2.throttlingRetryPolicyName = policies_1.throttlingRetryPolicyName;
+    function throttlingRetryPolicy(options = {}) {
+      return (0, policies_1.throttlingRetryPolicy)(options);
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/retryPolicy.js
+var require_retryPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/retryPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.retryPolicy = retryPolicy;
+    var logger_1 = require_commonjs2();
+    var constants_js_1 = require_constants14();
+    var policies_1 = require_internal2();
+    var retryPolicyLogger = (0, logger_1.createClientLogger)("core-rest-pipeline retryPolicy");
+    function retryPolicy(strategies, options = { maxRetries: constants_js_1.DEFAULT_RETRY_POLICY_COUNT }) {
+      return (0, policies_1.retryPolicy)(strategies, {
+        logger: retryPolicyLogger,
+        ...options
+      });
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/util/tokenCycler.js
+var require_tokenCycler = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/util/tokenCycler.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.DEFAULT_CYCLER_OPTIONS = void 0;
+    exports2.createTokenCycler = createTokenCycler;
+    var core_util_1 = require_commonjs4();
+    exports2.DEFAULT_CYCLER_OPTIONS = {
+      forcedRefreshWindowInMs: 1e3,
+      // Force waiting for a refresh 1s before the token expires
+      retryIntervalInMs: 3e3,
+      // Allow refresh attempts every 3s
+      refreshWindowInMs: 1e3 * 60 * 2
+      // Start refreshing 2m before expiry
     };
-    validators.not = validators.disallow = function validateNot(instance, schema2, options, ctx) {
-      var self2 = this;
-      if (instance === void 0) return null;
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      var notTypes = schema2.not || schema2.disallow;
-      if (!notTypes) return null;
-      if (!Array.isArray(notTypes)) notTypes = [notTypes];
-      notTypes.forEach(function(type2) {
-        if (self2.testType(instance, schema2, options, ctx, type2)) {
-          var id = type2 && (type2.$id || type2.id);
-          var schemaId = id || type2;
-          result.addError({
-            name: "not",
-            argument: schemaId,
-            message: "is of prohibited type " + schemaId
-          });
+    async function beginRefresh(getAccessToken, retryIntervalInMs, refreshTimeout) {
+      async function tryGetAccessToken() {
+        if (Date.now() < refreshTimeout) {
+          try {
+            return await getAccessToken();
+          } catch {
+            return null;
+          }
+        } else {
+          const finalToken = await getAccessToken();
+          if (finalToken === null) {
+            throw new Error("Failed to refresh access token.");
+          }
+          return finalToken;
         }
-      });
-      return result;
-    };
-    module2.exports = attribute;
-  }
-});
-
-// node_modules/jsonschema/lib/scan.js
-var require_scan = __commonJS({
-  "node_modules/jsonschema/lib/scan.js"(exports2, module2) {
-    "use strict";
-    var urilib = require("url");
-    var helpers = require_helpers();
-    module2.exports.SchemaScanResult = SchemaScanResult;
-    function SchemaScanResult(found, ref) {
-      this.id = found;
-      this.ref = ref;
+      }
+      let token = await tryGetAccessToken();
+      while (token === null) {
+        await (0, core_util_1.delay)(retryIntervalInMs);
+        token = await tryGetAccessToken();
+      }
+      return token;
     }
-    module2.exports.scan = function scan(base, schema2) {
-      function scanSchema(baseuri, schema3) {
-        if (!schema3 || typeof schema3 != "object") return;
-        if (schema3.$ref) {
-          var resolvedUri = urilib.resolve(baseuri, schema3.$ref);
-          ref[resolvedUri] = ref[resolvedUri] ? ref[resolvedUri] + 1 : 0;
-          return;
-        }
-        var id = schema3.$id || schema3.id;
-        var ourBase = id ? urilib.resolve(baseuri, id) : baseuri;
-        if (ourBase) {
-          if (ourBase.indexOf("#") < 0) ourBase += "#";
-          if (found[ourBase]) {
-            if (!helpers.deepCompareStrict(found[ourBase], schema3)) {
-              throw new Error("Schema <" + ourBase + "> already exists with different definition");
-            }
-            return found[ourBase];
+    function createTokenCycler(credential, tokenCyclerOptions) {
+      let refreshWorker = null;
+      let token = null;
+      let tenantId;
+      const options = {
+        ...exports2.DEFAULT_CYCLER_OPTIONS,
+        ...tokenCyclerOptions
+      };
+      const cycler = {
+        /**
+         * Produces true if a refresh job is currently in progress.
+         */
+        get isRefreshing() {
+          return refreshWorker !== null;
+        },
+        /**
+         * Produces true if the cycler SHOULD refresh (we are within the refresh
+         * window and not already refreshing)
+         */
+        get shouldRefresh() {
+          if (cycler.isRefreshing) {
+            return false;
           }
-          found[ourBase] = schema3;
-          if (ourBase[ourBase.length - 1] == "#") {
-            found[ourBase.substring(0, ourBase.length - 1)] = schema3;
+          if (token?.refreshAfterTimestamp && token.refreshAfterTimestamp < Date.now()) {
+            return true;
           }
+          return (token?.expiresOnTimestamp ?? 0) - options.refreshWindowInMs < Date.now();
+        },
+        /**
+         * Produces true if the cycler MUST refresh (null or nearly-expired
+         * token).
+         */
+        get mustRefresh() {
+          return token === null || token.expiresOnTimestamp - options.forcedRefreshWindowInMs < Date.now();
         }
-        scanArray(ourBase + "/items", Array.isArray(schema3.items) ? schema3.items : [schema3.items]);
-        scanArray(ourBase + "/extends", Array.isArray(schema3.extends) ? schema3.extends : [schema3.extends]);
-        scanSchema(ourBase + "/additionalItems", schema3.additionalItems);
-        scanObject(ourBase + "/properties", schema3.properties);
-        scanSchema(ourBase + "/additionalProperties", schema3.additionalProperties);
-        scanObject(ourBase + "/definitions", schema3.definitions);
-        scanObject(ourBase + "/patternProperties", schema3.patternProperties);
-        scanObject(ourBase + "/dependencies", schema3.dependencies);
-        scanArray(ourBase + "/disallow", schema3.disallow);
-        scanArray(ourBase + "/allOf", schema3.allOf);
-        scanArray(ourBase + "/anyOf", schema3.anyOf);
-        scanArray(ourBase + "/oneOf", schema3.oneOf);
-        scanSchema(ourBase + "/not", schema3.not);
-      }
-      function scanArray(baseuri, schemas) {
-        if (!Array.isArray(schemas)) return;
-        for (var i = 0; i < schemas.length; i++) {
-          scanSchema(baseuri + "/" + i, schemas[i]);
+      };
+      function refresh(scopes, getTokenOptions) {
+        if (!cycler.isRefreshing) {
+          const tryGetAccessToken = () => credential.getToken(scopes, getTokenOptions);
+          refreshWorker = beginRefresh(
+            tryGetAccessToken,
+            options.retryIntervalInMs,
+            // If we don't have a token, then we should timeout immediately
+            token?.expiresOnTimestamp ?? Date.now()
+          ).then((_token) => {
+            refreshWorker = null;
+            token = _token;
+            tenantId = getTokenOptions.tenantId;
+            return token;
+          }).catch((reason) => {
+            refreshWorker = null;
+            token = null;
+            tenantId = void 0;
+            throw reason;
+          });
         }
+        return refreshWorker;
       }
-      function scanObject(baseuri, schemas) {
-        if (!schemas || typeof schemas != "object") return;
-        for (var p in schemas) {
-          scanSchema(baseuri + "/" + p, schemas[p]);
+      return async (scopes, tokenOptions) => {
+        const hasClaimChallenge = Boolean(tokenOptions.claims);
+        const tenantIdChanged = tenantId !== tokenOptions.tenantId;
+        if (hasClaimChallenge) {
+          token = null;
         }
-      }
-      var found = {};
-      var ref = {};
-      scanSchema(base, schema2);
-      return new SchemaScanResult(found, ref);
-    };
+        const mustRefresh = tenantIdChanged || hasClaimChallenge || cycler.mustRefresh;
+        if (mustRefresh) {
+          return refresh(scopes, tokenOptions);
+        }
+        if (cycler.shouldRefresh) {
+          refresh(scopes, tokenOptions);
+        }
+        return token;
+      };
+    }
   }
 });
 
-// node_modules/jsonschema/lib/validator.js
-var require_validator = __commonJS({
-  "node_modules/jsonschema/lib/validator.js"(exports2, module2) {
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/bearerTokenAuthenticationPolicy.js
+var require_bearerTokenAuthenticationPolicy = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/bearerTokenAuthenticationPolicy.js"(exports2) {
     "use strict";
-    var urilib = require("url");
-    var attribute = require_attribute();
-    var helpers = require_helpers();
-    var scanSchema = require_scan().scan;
-    var ValidatorResult = helpers.ValidatorResult;
-    var ValidatorResultError = helpers.ValidatorResultError;
-    var SchemaError = helpers.SchemaError;
-    var SchemaContext = helpers.SchemaContext;
-    var anonymousBase = "/";
-    var Validator2 = function Validator3() {
-      this.customFormats = Object.create(Validator3.prototype.customFormats);
-      this.schemas = {};
-      this.unresolvedRefs = [];
-      this.types = Object.create(types);
-      this.attributes = Object.create(attribute.validators);
-    };
-    Validator2.prototype.customFormats = {};
-    Validator2.prototype.schemas = null;
-    Validator2.prototype.types = null;
-    Validator2.prototype.attributes = null;
-    Validator2.prototype.unresolvedRefs = null;
-    Validator2.prototype.addSchema = function addSchema(schema2, base) {
-      var self2 = this;
-      if (!schema2) {
-        return null;
-      }
-      var scan = scanSchema(base || anonymousBase, schema2);
-      var ourUri = base || schema2.$id || schema2.id;
-      for (var uri in scan.id) {
-        this.schemas[uri] = scan.id[uri];
-      }
-      for (var uri in scan.ref) {
-        this.unresolvedRefs.push(uri);
-      }
-      this.unresolvedRefs = this.unresolvedRefs.filter(function(uri2) {
-        return typeof self2.schemas[uri2] === "undefined";
-      });
-      return this.schemas[ourUri];
-    };
-    Validator2.prototype.addSubSchemaArray = function addSubSchemaArray(baseuri, schemas) {
-      if (!Array.isArray(schemas)) return;
-      for (var i = 0; i < schemas.length; i++) {
-        this.addSubSchema(baseuri, schemas[i]);
-      }
-    };
-    Validator2.prototype.addSubSchemaObject = function addSubSchemaArray(baseuri, schemas) {
-      if (!schemas || typeof schemas != "object") return;
-      for (var p in schemas) {
-        this.addSubSchema(baseuri, schemas[p]);
-      }
-    };
-    Validator2.prototype.setSchemas = function setSchemas(schemas) {
-      this.schemas = schemas;
-    };
-    Validator2.prototype.getSchema = function getSchema(urn) {
-      return this.schemas[urn];
-    };
-    Validator2.prototype.validate = function validate(instance, schema2, options, ctx) {
-      if (typeof schema2 !== "boolean" && typeof schema2 !== "object" || schema2 === null) {
-        throw new SchemaError("Expected `schema` to be an object or boolean");
-      }
-      if (!options) {
-        options = {};
-      }
-      var id = schema2.$id || schema2.id;
-      var base = urilib.resolve(options.base || anonymousBase, id || "");
-      if (!ctx) {
-        ctx = new SchemaContext(schema2, options, [], base, Object.create(this.schemas));
-        if (!ctx.schemas[base]) {
-          ctx.schemas[base] = schema2;
-        }
-        var found = scanSchema(base, schema2);
-        for (var n in found.id) {
-          var sch = found.id[n];
-          ctx.schemas[n] = sch;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.bearerTokenAuthenticationPolicyName = void 0;
+    exports2.bearerTokenAuthenticationPolicy = bearerTokenAuthenticationPolicy;
+    exports2.parseChallenges = parseChallenges;
+    var tokenCycler_js_1 = require_tokenCycler();
+    var log_js_1 = require_log3();
+    var restError_js_1 = require_restError3();
+    exports2.bearerTokenAuthenticationPolicyName = "bearerTokenAuthenticationPolicy";
+    async function trySendRequest(request2, next) {
+      try {
+        return [await next(request2), void 0];
+      } catch (e) {
+        if ((0, restError_js_1.isRestError)(e) && e.response) {
+          return [e.response, e];
+        } else {
+          throw e;
         }
       }
-      if (options.required && instance === void 0) {
-        var result = new ValidatorResult(instance, schema2, options, ctx);
-        result.addError("is required, but is undefined");
-        return result;
-      }
-      var result = this.validateSchema(instance, schema2, options, ctx);
-      if (!result) {
-        throw new Error("Result undefined");
-      } else if (options.throwAll && result.errors.length) {
-        throw new ValidatorResultError(result);
-      }
-      return result;
-    };
-    function shouldResolve(schema2) {
-      var ref = typeof schema2 === "string" ? schema2 : schema2.$ref;
-      if (typeof ref == "string") return ref;
-      return false;
     }
-    Validator2.prototype.validateSchema = function validateSchema(instance, schema2, options, ctx) {
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      if (typeof schema2 === "boolean") {
-        if (schema2 === true) {
-          schema2 = {};
-        } else if (schema2 === false) {
-          schema2 = { type: [] };
-        }
-      } else if (!schema2) {
-        throw new Error("schema is undefined");
-      }
-      if (schema2["extends"]) {
-        if (Array.isArray(schema2["extends"])) {
-          var schemaobj = { schema: schema2, ctx };
-          schema2["extends"].forEach(this.schemaTraverser.bind(this, schemaobj));
-          schema2 = schemaobj.schema;
-          schemaobj.schema = null;
-          schemaobj.ctx = null;
-          schemaobj = null;
-        } else {
-          schema2 = helpers.deepMerge(schema2, this.superResolve(schema2["extends"], ctx));
-        }
+    async function defaultAuthorizeRequest(options) {
+      const { scopes, getAccessToken, request: request2 } = options;
+      const getTokenOptions = {
+        abortSignal: request2.abortSignal,
+        tracingOptions: request2.tracingOptions,
+        enableCae: true
+      };
+      const accessToken = await getAccessToken(scopes, getTokenOptions);
+      if (accessToken) {
+        options.request.headers.set("Authorization", `Bearer ${accessToken.token}`);
       }
-      var switchSchema = shouldResolve(schema2);
-      if (switchSchema) {
-        var resolved = this.resolve(schema2, switchSchema, ctx);
-        var subctx = new SchemaContext(resolved.subschema, options, ctx.path, resolved.switchSchema, ctx.schemas);
-        return this.validateSchema(instance, resolved.subschema, options, subctx);
+    }
+    function isChallengeResponse(response) {
+      return response.status === 401 && response.headers.has("WWW-Authenticate");
+    }
+    async function authorizeRequestOnCaeChallenge(onChallengeOptions, caeClaims) {
+      const { scopes } = onChallengeOptions;
+      const accessToken = await onChallengeOptions.getAccessToken(scopes, {
+        enableCae: true,
+        claims: caeClaims
+      });
+      if (!accessToken) {
+        return false;
       }
-      var skipAttributes = options && options.skipAttributes || [];
-      for (var key in schema2) {
-        if (!attribute.ignoreProperties[key] && skipAttributes.indexOf(key) < 0) {
-          var validatorErr = null;
-          var validator = this.attributes[key];
-          if (validator) {
-            validatorErr = validator.call(this, instance, schema2, options, ctx);
-          } else if (options.allowUnknownAttributes === false) {
-            throw new SchemaError("Unsupported attribute: " + key, schema2);
+      onChallengeOptions.request.headers.set("Authorization", `${accessToken.tokenType ?? "Bearer"} ${accessToken.token}`);
+      return true;
+    }
+    function bearerTokenAuthenticationPolicy(options) {
+      const { credential, scopes, challengeCallbacks } = options;
+      const logger = options.logger || log_js_1.logger;
+      const callbacks = {
+        authorizeRequest: challengeCallbacks?.authorizeRequest?.bind(challengeCallbacks) ?? defaultAuthorizeRequest,
+        authorizeRequestOnChallenge: challengeCallbacks?.authorizeRequestOnChallenge?.bind(challengeCallbacks)
+      };
+      const getAccessToken = credential ? (0, tokenCycler_js_1.createTokenCycler)(
+        credential
+        /* , options */
+      ) : () => Promise.resolve(null);
+      return {
+        name: exports2.bearerTokenAuthenticationPolicyName,
+        /**
+         * If there's no challenge parameter:
+         * - It will try to retrieve the token using the cache, or the credential's getToken.
+         * - Then it will try the next policy with or without the retrieved token.
+         *
+         * It uses the challenge parameters to:
+         * - Skip a first attempt to get the token from the credential if there's no cached token,
+         *   since it expects the token to be retrievable only after the challenge.
+         * - Prepare the outgoing request if the `prepareRequest` method has been provided.
+         * - Send an initial request to receive the challenge if it fails.
+         * - Process a challenge if the response contains it.
+         * - Retrieve a token with the challenge information, then re-send the request.
+         */
+        async sendRequest(request2, next) {
+          if (!request2.url.toLowerCase().startsWith("https://")) {
+            throw new Error("Bearer token authentication is not permitted for non-TLS protected (non-https) URLs.");
           }
-          if (validatorErr) {
-            result.importErrors(validatorErr);
+          await callbacks.authorizeRequest({
+            scopes: Array.isArray(scopes) ? scopes : [scopes],
+            request: request2,
+            getAccessToken,
+            logger
+          });
+          let response;
+          let error3;
+          let shouldSendRequest;
+          [response, error3] = await trySendRequest(request2, next);
+          if (isChallengeResponse(response)) {
+            let claims = getCaeChallengeClaims(response.headers.get("WWW-Authenticate"));
+            if (claims) {
+              let parsedClaim;
+              try {
+                parsedClaim = atob(claims);
+              } catch (e) {
+                logger.warning(`The WWW-Authenticate header contains "claims" that cannot be parsed. Unable to perform the Continuous Access Evaluation authentication flow. Unparsable claims: ${claims}`);
+                return response;
+              }
+              shouldSendRequest = await authorizeRequestOnCaeChallenge({
+                scopes: Array.isArray(scopes) ? scopes : [scopes],
+                response,
+                request: request2,
+                getAccessToken,
+                logger
+              }, parsedClaim);
+              if (shouldSendRequest) {
+                [response, error3] = await trySendRequest(request2, next);
+              }
+            } else if (callbacks.authorizeRequestOnChallenge) {
+              shouldSendRequest = await callbacks.authorizeRequestOnChallenge({
+                scopes: Array.isArray(scopes) ? scopes : [scopes],
+                request: request2,
+                response,
+                getAccessToken,
+                logger
+              });
+              if (shouldSendRequest) {
+                [response, error3] = await trySendRequest(request2, next);
+              }
+              if (isChallengeResponse(response)) {
+                claims = getCaeChallengeClaims(response.headers.get("WWW-Authenticate"));
+                if (claims) {
+                  let parsedClaim;
+                  try {
+                    parsedClaim = atob(claims);
+                  } catch (e) {
+                    logger.warning(`The WWW-Authenticate header contains "claims" that cannot be parsed. Unable to perform the Continuous Access Evaluation authentication flow. Unparsable claims: ${claims}`);
+                    return response;
+                  }
+                  shouldSendRequest = await authorizeRequestOnCaeChallenge({
+                    scopes: Array.isArray(scopes) ? scopes : [scopes],
+                    response,
+                    request: request2,
+                    getAccessToken,
+                    logger
+                  }, parsedClaim);
+                  if (shouldSendRequest) {
+                    [response, error3] = await trySendRequest(request2, next);
+                  }
+                }
+              }
+            }
+          }
+          if (error3) {
+            throw error3;
+          } else {
+            return response;
           }
         }
+      };
+    }
+    function parseChallenges(challenges) {
+      const challengeRegex = /(\w+)\s+((?:\w+=(?:"[^"]*"|[^,]*),?\s*)+)/g;
+      const paramRegex = /(\w+)="([^"]*)"/g;
+      const parsedChallenges = [];
+      let match;
+      while ((match = challengeRegex.exec(challenges)) !== null) {
+        const scheme = match[1];
+        const paramsString = match[2];
+        const params = {};
+        let paramMatch;
+        while ((paramMatch = paramRegex.exec(paramsString)) !== null) {
+          params[paramMatch[1]] = paramMatch[2];
+        }
+        parsedChallenges.push({ scheme, params });
       }
-      if (typeof options.rewrite == "function") {
-        var value = options.rewrite.call(this, instance, schema2, options, ctx);
-        result.instance = value;
-      }
-      return result;
-    };
-    Validator2.prototype.schemaTraverser = function schemaTraverser(schemaobj, s) {
-      schemaobj.schema = helpers.deepMerge(schemaobj.schema, this.superResolve(s, schemaobj.ctx));
-    };
-    Validator2.prototype.superResolve = function superResolve(schema2, ctx) {
-      var ref = shouldResolve(schema2);
-      if (ref) {
-        return this.resolve(schema2, ref, ctx).subschema;
-      }
-      return schema2;
-    };
-    Validator2.prototype.resolve = function resolve3(schema2, switchSchema, ctx) {
-      switchSchema = ctx.resolve(switchSchema);
-      if (ctx.schemas[switchSchema]) {
-        return { subschema: ctx.schemas[switchSchema], switchSchema };
-      }
-      var parsed = urilib.parse(switchSchema);
-      var fragment = parsed && parsed.hash;
-      var document2 = fragment && fragment.length && switchSchema.substr(0, switchSchema.length - fragment.length);
-      if (!document2 || !ctx.schemas[document2]) {
-        throw new SchemaError("no such schema <" + switchSchema + ">", schema2);
-      }
-      var subschema = helpers.objectGetPath(ctx.schemas[document2], fragment.substr(1));
-      if (subschema === void 0) {
-        throw new SchemaError("no such schema " + fragment + " located in <" + document2 + ">", schema2);
-      }
-      return { subschema, switchSchema };
-    };
-    Validator2.prototype.testType = function validateType(instance, schema2, options, ctx, type2) {
-      if (type2 === void 0) {
+      return parsedChallenges;
+    }
+    function getCaeChallengeClaims(challenges) {
+      if (!challenges) {
         return;
-      } else if (type2 === null) {
-        throw new SchemaError('Unexpected null in "type" keyword');
-      }
-      if (typeof this.types[type2] == "function") {
-        return this.types[type2].call(this, instance);
-      }
-      if (type2 && typeof type2 == "object") {
-        var res = this.validateSchema(instance, type2, options, ctx);
-        return res === void 0 || !(res && res.errors.length);
       }
-      return true;
-    };
-    var types = Validator2.prototype.types = {};
-    types.string = function testString(instance) {
-      return typeof instance == "string";
-    };
-    types.number = function testNumber(instance) {
-      return typeof instance == "number" && isFinite(instance);
-    };
-    types.integer = function testInteger(instance) {
-      return typeof instance == "number" && instance % 1 === 0;
-    };
-    types.boolean = function testBoolean(instance) {
-      return typeof instance == "boolean";
-    };
-    types.array = function testArray(instance) {
-      return Array.isArray(instance);
-    };
-    types["null"] = function testNull(instance) {
-      return instance === null;
-    };
-    types.date = function testDate(instance) {
-      return instance instanceof Date;
-    };
-    types.any = function testAny(instance) {
-      return true;
-    };
-    types.object = function testObject(instance) {
-      return instance && typeof instance === "object" && !Array.isArray(instance) && !(instance instanceof Date);
-    };
-    module2.exports = Validator2;
+      const parsedChallenges = parseChallenges(challenges);
+      return parsedChallenges.find((x) => x.scheme === "Bearer" && x.params.claims && x.params.error === "insufficient_claims")?.params.claims;
+    }
   }
 });
 
-// node_modules/jsonschema/lib/index.js
-var require_lib2 = __commonJS({
-  "node_modules/jsonschema/lib/index.js"(exports2, module2) {
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/ndJsonPolicy.js
+var require_ndJsonPolicy = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/ndJsonPolicy.js"(exports2) {
     "use strict";
-    var Validator2 = module2.exports.Validator = require_validator();
-    module2.exports.ValidatorResult = require_helpers().ValidatorResult;
-    module2.exports.ValidatorResultError = require_helpers().ValidatorResultError;
-    module2.exports.ValidationError = require_helpers().ValidationError;
-    module2.exports.SchemaError = require_helpers().SchemaError;
-    module2.exports.SchemaScanResult = require_scan().SchemaScanResult;
-    module2.exports.scan = require_scan().scan;
-    module2.exports.validate = function(instance, schema2, options) {
-      var v = new Validator2();
-      return v.validate(instance, schema2, options);
-    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ndJsonPolicyName = void 0;
+    exports2.ndJsonPolicy = ndJsonPolicy;
+    exports2.ndJsonPolicyName = "ndJsonPolicy";
+    function ndJsonPolicy() {
+      return {
+        name: exports2.ndJsonPolicyName,
+        async sendRequest(request2, next) {
+          if (typeof request2.body === "string" && request2.body.startsWith("[")) {
+            const body = JSON.parse(request2.body);
+            if (Array.isArray(body)) {
+              request2.body = body.map((item) => JSON.stringify(item) + "\n").join("");
+            }
+          }
+          return next(request2);
+        }
+      };
+    }
   }
 });
 
-// node_modules/@actions/glob/lib/internal-glob-options-helper.js
-var require_internal_glob_options_helper = __commonJS({
-  "node_modules/@actions/glob/lib/internal-glob-options-helper.js"(exports2) {
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/auxiliaryAuthenticationHeaderPolicy.js
+var require_auxiliaryAuthenticationHeaderPolicy = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/auxiliaryAuthenticationHeaderPolicy.js"(exports2) {
     "use strict";
-    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = 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 ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
-        }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getOptions = getOptions;
-    var core14 = __importStar2(require_core());
-    function getOptions(copy) {
-      const result = {
-        followSymbolicLinks: true,
-        implicitDescendants: true,
-        matchDirectories: true,
-        omitBrokenSymbolicLinks: true,
-        excludeHiddenFiles: false
+    exports2.auxiliaryAuthenticationHeaderPolicyName = void 0;
+    exports2.auxiliaryAuthenticationHeaderPolicy = auxiliaryAuthenticationHeaderPolicy;
+    var tokenCycler_js_1 = require_tokenCycler();
+    var log_js_1 = require_log3();
+    exports2.auxiliaryAuthenticationHeaderPolicyName = "auxiliaryAuthenticationHeaderPolicy";
+    var AUTHORIZATION_AUXILIARY_HEADER = "x-ms-authorization-auxiliary";
+    async function sendAuthorizeRequest(options) {
+      const { scopes, getAccessToken, request: request2 } = options;
+      const getTokenOptions = {
+        abortSignal: request2.abortSignal,
+        tracingOptions: request2.tracingOptions
       };
-      if (copy) {
-        if (typeof copy.followSymbolicLinks === "boolean") {
-          result.followSymbolicLinks = copy.followSymbolicLinks;
-          core14.debug(`followSymbolicLinks '${result.followSymbolicLinks}'`);
-        }
-        if (typeof copy.implicitDescendants === "boolean") {
-          result.implicitDescendants = copy.implicitDescendants;
-          core14.debug(`implicitDescendants '${result.implicitDescendants}'`);
-        }
-        if (typeof copy.matchDirectories === "boolean") {
-          result.matchDirectories = copy.matchDirectories;
-          core14.debug(`matchDirectories '${result.matchDirectories}'`);
-        }
-        if (typeof copy.omitBrokenSymbolicLinks === "boolean") {
-          result.omitBrokenSymbolicLinks = copy.omitBrokenSymbolicLinks;
-          core14.debug(`omitBrokenSymbolicLinks '${result.omitBrokenSymbolicLinks}'`);
-        }
-        if (typeof copy.excludeHiddenFiles === "boolean") {
-          result.excludeHiddenFiles = copy.excludeHiddenFiles;
-          core14.debug(`excludeHiddenFiles '${result.excludeHiddenFiles}'`);
+      return (await getAccessToken(scopes, getTokenOptions))?.token ?? "";
+    }
+    function auxiliaryAuthenticationHeaderPolicy(options) {
+      const { credentials, scopes } = options;
+      const logger = options.logger || log_js_1.logger;
+      const tokenCyclerMap = /* @__PURE__ */ new WeakMap();
+      return {
+        name: exports2.auxiliaryAuthenticationHeaderPolicyName,
+        async sendRequest(request2, next) {
+          if (!request2.url.toLowerCase().startsWith("https://")) {
+            throw new Error("Bearer token authentication for auxiliary header is not permitted for non-TLS protected (non-https) URLs.");
+          }
+          if (!credentials || credentials.length === 0) {
+            logger.info(`${exports2.auxiliaryAuthenticationHeaderPolicyName} header will not be set due to empty credentials.`);
+            return next(request2);
+          }
+          const tokenPromises = [];
+          for (const credential of credentials) {
+            let getAccessToken = tokenCyclerMap.get(credential);
+            if (!getAccessToken) {
+              getAccessToken = (0, tokenCycler_js_1.createTokenCycler)(credential);
+              tokenCyclerMap.set(credential, getAccessToken);
+            }
+            tokenPromises.push(sendAuthorizeRequest({
+              scopes: Array.isArray(scopes) ? scopes : [scopes],
+              request: request2,
+              getAccessToken,
+              logger
+            }));
+          }
+          const auxiliaryTokens = (await Promise.all(tokenPromises)).filter((token) => Boolean(token));
+          if (auxiliaryTokens.length === 0) {
+            logger.warning(`None of the auxiliary tokens are valid. ${AUTHORIZATION_AUXILIARY_HEADER} header will not be set.`);
+            return next(request2);
+          }
+          request2.headers.set(AUTHORIZATION_AUXILIARY_HEADER, auxiliaryTokens.map((token) => `Bearer ${token}`).join(", "));
+          return next(request2);
         }
-      }
-      return result;
+      };
     }
   }
 });
 
-// node_modules/@actions/glob/lib/internal-path-helper.js
-var require_internal_path_helper = __commonJS({
-  "node_modules/@actions/glob/lib/internal-path-helper.js"(exports2) {
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/index.js
+var require_commonjs6 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/index.js"(exports2) {
     "use strict";
-    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = 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 ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
-        }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
-    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.dirname = dirname3;
-    exports2.ensureAbsoluteRoot = ensureAbsoluteRoot;
-    exports2.hasAbsoluteRoot = hasAbsoluteRoot;
-    exports2.hasRoot = hasRoot;
-    exports2.normalizeSeparators = normalizeSeparators;
-    exports2.safeTrimTrailingSeparator = safeTrimTrailingSeparator;
-    var path4 = __importStar2(require("path"));
-    var assert_1 = __importDefault2(require("assert"));
-    var IS_WINDOWS = process.platform === "win32";
-    function dirname3(p) {
-      p = safeTrimTrailingSeparator(p);
-      if (IS_WINDOWS && /^\\\\[^\\]+(\\[^\\]+)?$/.test(p)) {
-        return p;
-      }
-      let result = path4.dirname(p);
-      if (IS_WINDOWS && /^\\\\[^\\]+\\[^\\]+\\$/.test(result)) {
-        result = safeTrimTrailingSeparator(result);
-      }
-      return result;
-    }
-    function ensureAbsoluteRoot(root, itemPath) {
-      (0, assert_1.default)(root, `ensureAbsoluteRoot parameter 'root' must not be empty`);
-      (0, assert_1.default)(itemPath, `ensureAbsoluteRoot parameter 'itemPath' must not be empty`);
-      if (hasAbsoluteRoot(itemPath)) {
-        return itemPath;
+    exports2.createFileFromStream = exports2.createFile = exports2.agentPolicyName = exports2.agentPolicy = exports2.auxiliaryAuthenticationHeaderPolicyName = exports2.auxiliaryAuthenticationHeaderPolicy = exports2.ndJsonPolicyName = exports2.ndJsonPolicy = exports2.bearerTokenAuthenticationPolicyName = exports2.bearerTokenAuthenticationPolicy = exports2.formDataPolicyName = exports2.formDataPolicy = exports2.tlsPolicyName = exports2.tlsPolicy = exports2.userAgentPolicyName = exports2.userAgentPolicy = exports2.defaultRetryPolicy = exports2.tracingPolicyName = exports2.tracingPolicy = exports2.retryPolicy = exports2.throttlingRetryPolicyName = exports2.throttlingRetryPolicy = exports2.systemErrorRetryPolicyName = exports2.systemErrorRetryPolicy = exports2.redirectPolicyName = exports2.redirectPolicy = exports2.getDefaultProxySettings = exports2.proxyPolicyName = exports2.proxyPolicy = exports2.multipartPolicyName = exports2.multipartPolicy = exports2.logPolicyName = exports2.logPolicy = exports2.setClientRequestIdPolicyName = exports2.setClientRequestIdPolicy = exports2.exponentialRetryPolicyName = exports2.exponentialRetryPolicy = exports2.decompressResponsePolicyName = exports2.decompressResponsePolicy = exports2.isRestError = exports2.RestError = exports2.createPipelineRequest = exports2.createHttpHeaders = exports2.createDefaultHttpClient = exports2.createPipelineFromOptions = exports2.createEmptyPipeline = void 0;
+    var pipeline_js_1 = require_pipeline2();
+    Object.defineProperty(exports2, "createEmptyPipeline", { enumerable: true, get: function() {
+      return pipeline_js_1.createEmptyPipeline;
+    } });
+    var createPipelineFromOptions_js_1 = require_createPipelineFromOptions2();
+    Object.defineProperty(exports2, "createPipelineFromOptions", { enumerable: true, get: function() {
+      return createPipelineFromOptions_js_1.createPipelineFromOptions;
+    } });
+    var defaultHttpClient_js_1 = require_defaultHttpClient2();
+    Object.defineProperty(exports2, "createDefaultHttpClient", { enumerable: true, get: function() {
+      return defaultHttpClient_js_1.createDefaultHttpClient;
+    } });
+    var httpHeaders_js_1 = require_httpHeaders2();
+    Object.defineProperty(exports2, "createHttpHeaders", { enumerable: true, get: function() {
+      return httpHeaders_js_1.createHttpHeaders;
+    } });
+    var pipelineRequest_js_1 = require_pipelineRequest2();
+    Object.defineProperty(exports2, "createPipelineRequest", { enumerable: true, get: function() {
+      return pipelineRequest_js_1.createPipelineRequest;
+    } });
+    var restError_js_1 = require_restError3();
+    Object.defineProperty(exports2, "RestError", { enumerable: true, get: function() {
+      return restError_js_1.RestError;
+    } });
+    Object.defineProperty(exports2, "isRestError", { enumerable: true, get: function() {
+      return restError_js_1.isRestError;
+    } });
+    var decompressResponsePolicy_js_1 = require_decompressResponsePolicy2();
+    Object.defineProperty(exports2, "decompressResponsePolicy", { enumerable: true, get: function() {
+      return decompressResponsePolicy_js_1.decompressResponsePolicy;
+    } });
+    Object.defineProperty(exports2, "decompressResponsePolicyName", { enumerable: true, get: function() {
+      return decompressResponsePolicy_js_1.decompressResponsePolicyName;
+    } });
+    var exponentialRetryPolicy_js_1 = require_exponentialRetryPolicy2();
+    Object.defineProperty(exports2, "exponentialRetryPolicy", { enumerable: true, get: function() {
+      return exponentialRetryPolicy_js_1.exponentialRetryPolicy;
+    } });
+    Object.defineProperty(exports2, "exponentialRetryPolicyName", { enumerable: true, get: function() {
+      return exponentialRetryPolicy_js_1.exponentialRetryPolicyName;
+    } });
+    var setClientRequestIdPolicy_js_1 = require_setClientRequestIdPolicy();
+    Object.defineProperty(exports2, "setClientRequestIdPolicy", { enumerable: true, get: function() {
+      return setClientRequestIdPolicy_js_1.setClientRequestIdPolicy;
+    } });
+    Object.defineProperty(exports2, "setClientRequestIdPolicyName", { enumerable: true, get: function() {
+      return setClientRequestIdPolicy_js_1.setClientRequestIdPolicyName;
+    } });
+    var logPolicy_js_1 = require_logPolicy2();
+    Object.defineProperty(exports2, "logPolicy", { enumerable: true, get: function() {
+      return logPolicy_js_1.logPolicy;
+    } });
+    Object.defineProperty(exports2, "logPolicyName", { enumerable: true, get: function() {
+      return logPolicy_js_1.logPolicyName;
+    } });
+    var multipartPolicy_js_1 = require_multipartPolicy2();
+    Object.defineProperty(exports2, "multipartPolicy", { enumerable: true, get: function() {
+      return multipartPolicy_js_1.multipartPolicy;
+    } });
+    Object.defineProperty(exports2, "multipartPolicyName", { enumerable: true, get: function() {
+      return multipartPolicy_js_1.multipartPolicyName;
+    } });
+    var proxyPolicy_js_1 = require_proxyPolicy2();
+    Object.defineProperty(exports2, "proxyPolicy", { enumerable: true, get: function() {
+      return proxyPolicy_js_1.proxyPolicy;
+    } });
+    Object.defineProperty(exports2, "proxyPolicyName", { enumerable: true, get: function() {
+      return proxyPolicy_js_1.proxyPolicyName;
+    } });
+    Object.defineProperty(exports2, "getDefaultProxySettings", { enumerable: true, get: function() {
+      return proxyPolicy_js_1.getDefaultProxySettings;
+    } });
+    var redirectPolicy_js_1 = require_redirectPolicy2();
+    Object.defineProperty(exports2, "redirectPolicy", { enumerable: true, get: function() {
+      return redirectPolicy_js_1.redirectPolicy;
+    } });
+    Object.defineProperty(exports2, "redirectPolicyName", { enumerable: true, get: function() {
+      return redirectPolicy_js_1.redirectPolicyName;
+    } });
+    var systemErrorRetryPolicy_js_1 = require_systemErrorRetryPolicy2();
+    Object.defineProperty(exports2, "systemErrorRetryPolicy", { enumerable: true, get: function() {
+      return systemErrorRetryPolicy_js_1.systemErrorRetryPolicy;
+    } });
+    Object.defineProperty(exports2, "systemErrorRetryPolicyName", { enumerable: true, get: function() {
+      return systemErrorRetryPolicy_js_1.systemErrorRetryPolicyName;
+    } });
+    var throttlingRetryPolicy_js_1 = require_throttlingRetryPolicy2();
+    Object.defineProperty(exports2, "throttlingRetryPolicy", { enumerable: true, get: function() {
+      return throttlingRetryPolicy_js_1.throttlingRetryPolicy;
+    } });
+    Object.defineProperty(exports2, "throttlingRetryPolicyName", { enumerable: true, get: function() {
+      return throttlingRetryPolicy_js_1.throttlingRetryPolicyName;
+    } });
+    var retryPolicy_js_1 = require_retryPolicy2();
+    Object.defineProperty(exports2, "retryPolicy", { enumerable: true, get: function() {
+      return retryPolicy_js_1.retryPolicy;
+    } });
+    var tracingPolicy_js_1 = require_tracingPolicy();
+    Object.defineProperty(exports2, "tracingPolicy", { enumerable: true, get: function() {
+      return tracingPolicy_js_1.tracingPolicy;
+    } });
+    Object.defineProperty(exports2, "tracingPolicyName", { enumerable: true, get: function() {
+      return tracingPolicy_js_1.tracingPolicyName;
+    } });
+    var defaultRetryPolicy_js_1 = require_defaultRetryPolicy2();
+    Object.defineProperty(exports2, "defaultRetryPolicy", { enumerable: true, get: function() {
+      return defaultRetryPolicy_js_1.defaultRetryPolicy;
+    } });
+    var userAgentPolicy_js_1 = require_userAgentPolicy2();
+    Object.defineProperty(exports2, "userAgentPolicy", { enumerable: true, get: function() {
+      return userAgentPolicy_js_1.userAgentPolicy;
+    } });
+    Object.defineProperty(exports2, "userAgentPolicyName", { enumerable: true, get: function() {
+      return userAgentPolicy_js_1.userAgentPolicyName;
+    } });
+    var tlsPolicy_js_1 = require_tlsPolicy2();
+    Object.defineProperty(exports2, "tlsPolicy", { enumerable: true, get: function() {
+      return tlsPolicy_js_1.tlsPolicy;
+    } });
+    Object.defineProperty(exports2, "tlsPolicyName", { enumerable: true, get: function() {
+      return tlsPolicy_js_1.tlsPolicyName;
+    } });
+    var formDataPolicy_js_1 = require_formDataPolicy2();
+    Object.defineProperty(exports2, "formDataPolicy", { enumerable: true, get: function() {
+      return formDataPolicy_js_1.formDataPolicy;
+    } });
+    Object.defineProperty(exports2, "formDataPolicyName", { enumerable: true, get: function() {
+      return formDataPolicy_js_1.formDataPolicyName;
+    } });
+    var bearerTokenAuthenticationPolicy_js_1 = require_bearerTokenAuthenticationPolicy();
+    Object.defineProperty(exports2, "bearerTokenAuthenticationPolicy", { enumerable: true, get: function() {
+      return bearerTokenAuthenticationPolicy_js_1.bearerTokenAuthenticationPolicy;
+    } });
+    Object.defineProperty(exports2, "bearerTokenAuthenticationPolicyName", { enumerable: true, get: function() {
+      return bearerTokenAuthenticationPolicy_js_1.bearerTokenAuthenticationPolicyName;
+    } });
+    var ndJsonPolicy_js_1 = require_ndJsonPolicy();
+    Object.defineProperty(exports2, "ndJsonPolicy", { enumerable: true, get: function() {
+      return ndJsonPolicy_js_1.ndJsonPolicy;
+    } });
+    Object.defineProperty(exports2, "ndJsonPolicyName", { enumerable: true, get: function() {
+      return ndJsonPolicy_js_1.ndJsonPolicyName;
+    } });
+    var auxiliaryAuthenticationHeaderPolicy_js_1 = require_auxiliaryAuthenticationHeaderPolicy();
+    Object.defineProperty(exports2, "auxiliaryAuthenticationHeaderPolicy", { enumerable: true, get: function() {
+      return auxiliaryAuthenticationHeaderPolicy_js_1.auxiliaryAuthenticationHeaderPolicy;
+    } });
+    Object.defineProperty(exports2, "auxiliaryAuthenticationHeaderPolicyName", { enumerable: true, get: function() {
+      return auxiliaryAuthenticationHeaderPolicy_js_1.auxiliaryAuthenticationHeaderPolicyName;
+    } });
+    var agentPolicy_js_1 = require_agentPolicy2();
+    Object.defineProperty(exports2, "agentPolicy", { enumerable: true, get: function() {
+      return agentPolicy_js_1.agentPolicy;
+    } });
+    Object.defineProperty(exports2, "agentPolicyName", { enumerable: true, get: function() {
+      return agentPolicy_js_1.agentPolicyName;
+    } });
+    var file_js_1 = require_file3();
+    Object.defineProperty(exports2, "createFile", { enumerable: true, get: function() {
+      return file_js_1.createFile;
+    } });
+    Object.defineProperty(exports2, "createFileFromStream", { enumerable: true, get: function() {
+      return file_js_1.createFileFromStream;
+    } });
+  }
+});
+
+// node_modules/@azure/core-auth/dist/commonjs/azureKeyCredential.js
+var require_azureKeyCredential = __commonJS({
+  "node_modules/@azure/core-auth/dist/commonjs/azureKeyCredential.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AzureKeyCredential = void 0;
+    var AzureKeyCredential = class {
+      _key;
+      /**
+       * The value of the key to be used in authentication
+       */
+      get key() {
+        return this._key;
       }
-      if (IS_WINDOWS) {
-        if (itemPath.match(/^[A-Z]:[^\\/]|^[A-Z]:$/i)) {
-          let cwd = process.cwd();
-          (0, assert_1.default)(cwd.match(/^[A-Z]:\\/i), `Expected current directory to start with an absolute drive root. Actual '${cwd}'`);
-          if (itemPath[0].toUpperCase() === cwd[0].toUpperCase()) {
-            if (itemPath.length === 2) {
-              return `${itemPath[0]}:\\${cwd.substr(3)}`;
-            } else {
-              if (!cwd.endsWith("\\")) {
-                cwd += "\\";
-              }
-              return `${itemPath[0]}:\\${cwd.substr(3)}${itemPath.substr(2)}`;
-            }
-          } else {
-            return `${itemPath[0]}:\\${itemPath.substr(2)}`;
-          }
-        } else if (normalizeSeparators(itemPath).match(/^\\$|^\\[^\\]/)) {
-          const cwd = process.cwd();
-          (0, assert_1.default)(cwd.match(/^[A-Z]:\\/i), `Expected current directory to start with an absolute drive root. Actual '${cwd}'`);
-          return `${cwd[0]}:\\${itemPath.substr(1)}`;
+      /**
+       * Create an instance of an AzureKeyCredential for use
+       * with a service client.
+       *
+       * @param key - The initial value of the key to use in authentication
+       */
+      constructor(key) {
+        if (!key) {
+          throw new Error("key must be a non-empty string");
         }
+        this._key = key;
       }
-      (0, assert_1.default)(hasAbsoluteRoot(root), `ensureAbsoluteRoot parameter 'root' must have an absolute root`);
-      if (root.endsWith("/") || IS_WINDOWS && root.endsWith("\\")) {
-      } else {
-        root += path4.sep;
-      }
-      return root + itemPath;
-    }
-    function hasAbsoluteRoot(itemPath) {
-      (0, assert_1.default)(itemPath, `hasAbsoluteRoot parameter 'itemPath' must not be empty`);
-      itemPath = normalizeSeparators(itemPath);
-      if (IS_WINDOWS) {
-        return itemPath.startsWith("\\\\") || /^[A-Z]:\\/i.test(itemPath);
-      }
-      return itemPath.startsWith("/");
-    }
-    function hasRoot(itemPath) {
-      (0, assert_1.default)(itemPath, `isRooted parameter 'itemPath' must not be empty`);
-      itemPath = normalizeSeparators(itemPath);
-      if (IS_WINDOWS) {
-        return itemPath.startsWith("\\") || /^[A-Z]:/i.test(itemPath);
-      }
-      return itemPath.startsWith("/");
-    }
-    function normalizeSeparators(p) {
-      p = p || "";
-      if (IS_WINDOWS) {
-        p = p.replace(/\//g, "\\");
-        const isUnc = /^\\\\+[^\\]/.test(p);
-        return (isUnc ? "\\" : "") + p.replace(/\\\\+/g, "\\");
+      /**
+       * Change the value of the key.
+       *
+       * Updates will take effect upon the next request after
+       * updating the key value.
+       *
+       * @param newKey - The new key value to be used
+       */
+      update(newKey) {
+        this._key = newKey;
       }
-      return p.replace(/\/\/+/g, "/");
+    };
+    exports2.AzureKeyCredential = AzureKeyCredential;
+  }
+});
+
+// node_modules/@azure/core-auth/dist/commonjs/keyCredential.js
+var require_keyCredential = __commonJS({
+  "node_modules/@azure/core-auth/dist/commonjs/keyCredential.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isKeyCredential = isKeyCredential;
+    var core_util_1 = require_commonjs4();
+    function isKeyCredential(credential) {
+      return (0, core_util_1.isObjectWithProperties)(credential, ["key"]) && typeof credential.key === "string";
     }
-    function safeTrimTrailingSeparator(p) {
-      if (!p) {
-        return "";
+  }
+});
+
+// node_modules/@azure/core-auth/dist/commonjs/azureNamedKeyCredential.js
+var require_azureNamedKeyCredential = __commonJS({
+  "node_modules/@azure/core-auth/dist/commonjs/azureNamedKeyCredential.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AzureNamedKeyCredential = void 0;
+    exports2.isNamedKeyCredential = isNamedKeyCredential;
+    var core_util_1 = require_commonjs4();
+    var AzureNamedKeyCredential = class {
+      _key;
+      _name;
+      /**
+       * The value of the key to be used in authentication.
+       */
+      get key() {
+        return this._key;
       }
-      p = normalizeSeparators(p);
-      if (!p.endsWith(path4.sep)) {
-        return p;
+      /**
+       * The value of the name to be used in authentication.
+       */
+      get name() {
+        return this._name;
       }
-      if (p === path4.sep) {
-        return p;
+      /**
+       * Create an instance of an AzureNamedKeyCredential for use
+       * with a service client.
+       *
+       * @param name - The initial value of the name to use in authentication.
+       * @param key - The initial value of the key to use in authentication.
+       */
+      constructor(name, key) {
+        if (!name || !key) {
+          throw new TypeError("name and key must be non-empty strings");
+        }
+        this._name = name;
+        this._key = key;
       }
-      if (IS_WINDOWS && /^[A-Z]:\\$/i.test(p)) {
-        return p;
+      /**
+       * Change the value of the key.
+       *
+       * Updates will take effect upon the next request after
+       * updating the key value.
+       *
+       * @param newName - The new name value to be used.
+       * @param newKey - The new key value to be used.
+       */
+      update(newName, newKey) {
+        if (!newName || !newKey) {
+          throw new TypeError("newName and newKey must be non-empty strings");
+        }
+        this._name = newName;
+        this._key = newKey;
       }
-      return p.substr(0, p.length - 1);
+    };
+    exports2.AzureNamedKeyCredential = AzureNamedKeyCredential;
+    function isNamedKeyCredential(credential) {
+      return (0, core_util_1.isObjectWithProperties)(credential, ["name", "key"]) && typeof credential.key === "string" && typeof credential.name === "string";
     }
   }
 });
 
-// node_modules/@actions/glob/lib/internal-match-kind.js
-var require_internal_match_kind = __commonJS({
-  "node_modules/@actions/glob/lib/internal-match-kind.js"(exports2) {
+// node_modules/@azure/core-auth/dist/commonjs/azureSASCredential.js
+var require_azureSASCredential = __commonJS({
+  "node_modules/@azure/core-auth/dist/commonjs/azureSASCredential.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.MatchKind = void 0;
-    var MatchKind;
-    (function(MatchKind2) {
-      MatchKind2[MatchKind2["None"] = 0] = "None";
-      MatchKind2[MatchKind2["Directory"] = 1] = "Directory";
-      MatchKind2[MatchKind2["File"] = 2] = "File";
-      MatchKind2[MatchKind2["All"] = 3] = "All";
-    })(MatchKind || (exports2.MatchKind = MatchKind = {}));
-  }
-});
-
-// node_modules/@actions/glob/lib/internal-pattern-helper.js
-var require_internal_pattern_helper = __commonJS({
-  "node_modules/@actions/glob/lib/internal-pattern-helper.js"(exports2) {
-    "use strict";
-    var __createBinding2 = 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];
-        } };
+    exports2.AzureSASCredential = void 0;
+    exports2.isSASCredential = isSASCredential;
+    var core_util_1 = require_commonjs4();
+    var AzureSASCredential = class {
+      _signature;
+      /**
+       * The value of the shared access signature to be used in authentication
+       */
+      get signature() {
+        return this._signature;
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = 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 ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+      /**
+       * Create an instance of an AzureSASCredential for use
+       * with a service client.
+       *
+       * @param signature - The initial value of the shared access signature to use in authentication
+       */
+      constructor(signature) {
+        if (!signature) {
+          throw new Error("shared access signature must be a non-empty string");
         }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getSearchPaths = getSearchPaths;
-    exports2.match = match;
-    exports2.partialMatch = partialMatch;
-    var pathHelper = __importStar2(require_internal_path_helper());
-    var internal_match_kind_1 = require_internal_match_kind();
-    var IS_WINDOWS = process.platform === "win32";
-    function getSearchPaths(patterns) {
-      patterns = patterns.filter((x) => !x.negate);
-      const searchPathMap = {};
-      for (const pattern of patterns) {
-        const key = IS_WINDOWS ? pattern.searchPath.toUpperCase() : pattern.searchPath;
-        searchPathMap[key] = "candidate";
+        this._signature = signature;
       }
-      const result = [];
-      for (const pattern of patterns) {
-        const key = IS_WINDOWS ? pattern.searchPath.toUpperCase() : pattern.searchPath;
-        if (searchPathMap[key] === "included") {
-          continue;
-        }
-        let foundAncestor = false;
-        let tempKey = key;
-        let parent = pathHelper.dirname(tempKey);
-        while (parent !== tempKey) {
-          if (searchPathMap[parent]) {
-            foundAncestor = true;
-            break;
-          }
-          tempKey = parent;
-          parent = pathHelper.dirname(tempKey);
-        }
-        if (!foundAncestor) {
-          result.push(pattern.searchPath);
-          searchPathMap[key] = "included";
+      /**
+       * Change the value of the signature.
+       *
+       * Updates will take effect upon the next request after
+       * updating the signature value.
+       *
+       * @param newSignature - The new shared access signature value to be used
+       */
+      update(newSignature) {
+        if (!newSignature) {
+          throw new Error("shared access signature must be a non-empty string");
         }
+        this._signature = newSignature;
       }
-      return result;
+    };
+    exports2.AzureSASCredential = AzureSASCredential;
+    function isSASCredential(credential) {
+      return (0, core_util_1.isObjectWithProperties)(credential, ["signature"]) && typeof credential.signature === "string";
     }
-    function match(patterns, itemPath) {
-      let result = internal_match_kind_1.MatchKind.None;
-      for (const pattern of patterns) {
-        if (pattern.negate) {
-          result &= ~pattern.match(itemPath);
-        } else {
-          result |= pattern.match(itemPath);
-        }
-      }
-      return result;
+  }
+});
+
+// node_modules/@azure/core-auth/dist/commonjs/tokenCredential.js
+var require_tokenCredential = __commonJS({
+  "node_modules/@azure/core-auth/dist/commonjs/tokenCredential.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isBearerToken = isBearerToken;
+    exports2.isPopToken = isPopToken;
+    exports2.isTokenCredential = isTokenCredential;
+    function isBearerToken(accessToken) {
+      return !accessToken.tokenType || accessToken.tokenType === "Bearer";
     }
-    function partialMatch(patterns, itemPath) {
-      return patterns.some((x) => !x.negate && x.partialMatch(itemPath));
+    function isPopToken(accessToken) {
+      return accessToken.tokenType === "pop";
+    }
+    function isTokenCredential(credential) {
+      const castCredential = credential;
+      return castCredential && typeof castCredential.getToken === "function" && (castCredential.signRequest === void 0 || castCredential.getToken.length > 0);
     }
   }
 });
 
-// node_modules/concat-map/index.js
-var require_concat_map = __commonJS({
-  "node_modules/concat-map/index.js"(exports2, module2) {
-    module2.exports = function(xs, fn) {
-      var res = [];
-      for (var i = 0; i < xs.length; i++) {
-        var x = fn(xs[i], i);
-        if (isArray(x)) res.push.apply(res, x);
-        else res.push(x);
-      }
-      return res;
-    };
-    var isArray = Array.isArray || function(xs) {
-      return Object.prototype.toString.call(xs) === "[object Array]";
-    };
+// node_modules/@azure/core-auth/dist/commonjs/index.js
+var require_commonjs7 = __commonJS({
+  "node_modules/@azure/core-auth/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isTokenCredential = exports2.isSASCredential = exports2.AzureSASCredential = exports2.isNamedKeyCredential = exports2.AzureNamedKeyCredential = exports2.isKeyCredential = exports2.AzureKeyCredential = void 0;
+    var azureKeyCredential_js_1 = require_azureKeyCredential();
+    Object.defineProperty(exports2, "AzureKeyCredential", { enumerable: true, get: function() {
+      return azureKeyCredential_js_1.AzureKeyCredential;
+    } });
+    var keyCredential_js_1 = require_keyCredential();
+    Object.defineProperty(exports2, "isKeyCredential", { enumerable: true, get: function() {
+      return keyCredential_js_1.isKeyCredential;
+    } });
+    var azureNamedKeyCredential_js_1 = require_azureNamedKeyCredential();
+    Object.defineProperty(exports2, "AzureNamedKeyCredential", { enumerable: true, get: function() {
+      return azureNamedKeyCredential_js_1.AzureNamedKeyCredential;
+    } });
+    Object.defineProperty(exports2, "isNamedKeyCredential", { enumerable: true, get: function() {
+      return azureNamedKeyCredential_js_1.isNamedKeyCredential;
+    } });
+    var azureSASCredential_js_1 = require_azureSASCredential();
+    Object.defineProperty(exports2, "AzureSASCredential", { enumerable: true, get: function() {
+      return azureSASCredential_js_1.AzureSASCredential;
+    } });
+    Object.defineProperty(exports2, "isSASCredential", { enumerable: true, get: function() {
+      return azureSASCredential_js_1.isSASCredential;
+    } });
+    var tokenCredential_js_1 = require_tokenCredential();
+    Object.defineProperty(exports2, "isTokenCredential", { enumerable: true, get: function() {
+      return tokenCredential_js_1.isTokenCredential;
+    } });
   }
 });
 
-// node_modules/balanced-match/index.js
-var require_balanced_match = __commonJS({
-  "node_modules/balanced-match/index.js"(exports2, module2) {
+// node_modules/@azure/core-http-compat/dist/commonjs/policies/disableKeepAlivePolicy.js
+var require_disableKeepAlivePolicy = __commonJS({
+  "node_modules/@azure/core-http-compat/dist/commonjs/policies/disableKeepAlivePolicy.js"(exports2) {
     "use strict";
-    module2.exports = balanced;
-    function balanced(a, b, str2) {
-      if (a instanceof RegExp) a = maybeMatch(a, str2);
-      if (b instanceof RegExp) b = maybeMatch(b, str2);
-      var r = range(a, b, str2);
-      return r && {
-        start: r[0],
-        end: r[1],
-        pre: str2.slice(0, r[0]),
-        body: str2.slice(r[0] + a.length, r[1]),
-        post: str2.slice(r[1] + b.length)
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.disableKeepAlivePolicyName = void 0;
+    exports2.createDisableKeepAlivePolicy = createDisableKeepAlivePolicy;
+    exports2.pipelineContainsDisableKeepAlivePolicy = pipelineContainsDisableKeepAlivePolicy;
+    exports2.disableKeepAlivePolicyName = "DisableKeepAlivePolicy";
+    function createDisableKeepAlivePolicy() {
+      return {
+        name: exports2.disableKeepAlivePolicyName,
+        async sendRequest(request2, next) {
+          request2.disableKeepAlive = true;
+          return next(request2);
+        }
       };
     }
-    function maybeMatch(reg, str2) {
-      var m = str2.match(reg);
-      return m ? m[0] : null;
-    }
-    balanced.range = range;
-    function range(a, b, str2) {
-      var begs, beg, left, right, result;
-      var ai = str2.indexOf(a);
-      var bi = str2.indexOf(b, ai + 1);
-      var i = ai;
-      if (ai >= 0 && bi > 0) {
-        begs = [];
-        left = str2.length;
-        while (i >= 0 && !result) {
-          if (i == ai) {
-            begs.push(i);
-            ai = str2.indexOf(a, i + 1);
-          } else if (begs.length == 1) {
-            result = [begs.pop(), bi];
-          } else {
-            beg = begs.pop();
-            if (beg < left) {
-              left = beg;
-              right = bi;
-            }
-            bi = str2.indexOf(b, i + 1);
-          }
-          i = ai < bi && ai >= 0 ? ai : bi;
-        }
-        if (begs.length) {
-          result = [left, right];
-        }
-      }
-      return result;
+    function pipelineContainsDisableKeepAlivePolicy(pipeline) {
+      return pipeline.getOrderedPolicies().some((policy) => policy.name === exports2.disableKeepAlivePolicyName);
     }
   }
 });
 
-// node_modules/brace-expansion/index.js
-var require_brace_expansion = __commonJS({
-  "node_modules/brace-expansion/index.js"(exports2, module2) {
-    var concatMap = require_concat_map();
-    var balanced = require_balanced_match();
-    module2.exports = expandTop;
-    var escSlash = "\0SLASH" + Math.random() + "\0";
-    var escOpen = "\0OPEN" + Math.random() + "\0";
-    var escClose = "\0CLOSE" + Math.random() + "\0";
-    var escComma = "\0COMMA" + Math.random() + "\0";
-    var escPeriod = "\0PERIOD" + Math.random() + "\0";
-    function numeric(str2) {
-      return parseInt(str2, 10) == str2 ? parseInt(str2, 10) : str2.charCodeAt(0);
-    }
-    function escapeBraces(str2) {
-      return str2.split("\\\\").join(escSlash).split("\\{").join(escOpen).split("\\}").join(escClose).split("\\,").join(escComma).split("\\.").join(escPeriod);
-    }
-    function unescapeBraces(str2) {
-      return str2.split(escSlash).join("\\").split(escOpen).join("{").split(escClose).join("}").split(escComma).join(",").split(escPeriod).join(".");
-    }
-    function parseCommaParts(str2) {
-      if (!str2)
-        return [""];
-      var parts = [];
-      var m = balanced("{", "}", str2);
-      if (!m)
-        return str2.split(",");
-      var pre = m.pre;
-      var body = m.body;
-      var post = m.post;
-      var p = pre.split(",");
-      p[p.length - 1] += "{" + body + "}";
-      var postParts = parseCommaParts(post);
-      if (post.length) {
-        p[p.length - 1] += postParts.shift();
-        p.push.apply(p, postParts);
-      }
-      parts.push.apply(parts, p);
-      return parts;
-    }
-    function expandTop(str2) {
-      if (!str2)
-        return [];
-      if (str2.substr(0, 2) === "{}") {
-        str2 = "\\{\\}" + str2.substr(2);
-      }
-      return expand2(escapeBraces(str2), true).map(unescapeBraces);
-    }
-    function embrace(str2) {
-      return "{" + str2 + "}";
-    }
-    function isPadded(el) {
-      return /^-?0\d/.test(el);
+// node_modules/@azure/core-client/dist/commonjs/base64.js
+var require_base64 = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/base64.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.encodeString = encodeString;
+    exports2.encodeByteArray = encodeByteArray;
+    exports2.decodeString = decodeString;
+    exports2.decodeStringToString = decodeStringToString;
+    function encodeString(value) {
+      return Buffer.from(value).toString("base64");
     }
-    function lte(i, y) {
-      return i <= y;
+    function encodeByteArray(value) {
+      const bufferValue = value instanceof Buffer ? value : Buffer.from(value.buffer);
+      return bufferValue.toString("base64");
     }
-    function gte6(i, y) {
-      return i >= y;
+    function decodeString(value) {
+      return Buffer.from(value, "base64");
     }
-    function expand2(str2, isTop) {
-      var expansions = [];
-      var m = balanced("{", "}", str2);
-      if (!m || /\$$/.test(m.pre)) return [str2];
-      var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
-      var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
-      var isSequence = isNumericSequence || isAlphaSequence;
-      var isOptions = m.body.indexOf(",") >= 0;
-      if (!isSequence && !isOptions) {
-        if (m.post.match(/,(?!,).*\}/)) {
-          str2 = m.pre + "{" + m.body + escClose + m.post;
-          return expand2(str2);
-        }
-        return [str2];
-      }
-      var n;
-      if (isSequence) {
-        n = m.body.split(/\.\./);
-      } else {
-        n = parseCommaParts(m.body);
-        if (n.length === 1) {
-          n = expand2(n[0], false).map(embrace);
-          if (n.length === 1) {
-            var post = m.post.length ? expand2(m.post, false) : [""];
-            return post.map(function(p) {
-              return m.pre + n[0] + p;
-            });
-          }
-        }
-      }
-      var pre = m.pre;
-      var post = m.post.length ? expand2(m.post, false) : [""];
-      var N;
-      if (isSequence) {
-        var x = numeric(n[0]);
-        var y = numeric(n[1]);
-        var width = Math.max(n[0].length, n[1].length);
-        var incr = n.length == 3 ? Math.abs(numeric(n[2])) : 1;
-        var test = lte;
-        var reverse = y < x;
-        if (reverse) {
-          incr *= -1;
-          test = gte6;
-        }
-        var pad = n.some(isPadded);
-        N = [];
-        for (var i = x; test(i, y); i += incr) {
-          var c;
-          if (isAlphaSequence) {
-            c = String.fromCharCode(i);
-            if (c === "\\")
-              c = "";
-          } else {
-            c = String(i);
-            if (pad) {
-              var need = width - c.length;
-              if (need > 0) {
-                var z = new Array(need + 1).join("0");
-                if (i < 0)
-                  c = "-" + z + c.slice(1);
-                else
-                  c = z + c;
-              }
-            }
-          }
-          N.push(c);
-        }
-      } else {
-        N = concatMap(n, function(el) {
-          return expand2(el, false);
-        });
-      }
-      for (var j = 0; j < N.length; j++) {
-        for (var k = 0; k < post.length; k++) {
-          var expansion = pre + N[j] + post[k];
-          if (!isTop || isSequence || expansion)
-            expansions.push(expansion);
-        }
-      }
-      return expansions;
+    function decodeStringToString(value) {
+      return Buffer.from(value, "base64").toString();
     }
-  }
-});
-
-// node_modules/minimatch/minimatch.js
-var require_minimatch = __commonJS({
-  "node_modules/minimatch/minimatch.js"(exports2, module2) {
-    module2.exports = minimatch;
-    minimatch.Minimatch = Minimatch;
-    var path4 = (function() {
-      try {
-        return require("path");
-      } catch (e) {
-      }
-    })() || {
-      sep: "/"
-    };
-    minimatch.sep = path4.sep;
-    var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {};
-    var expand2 = require_brace_expansion();
-    var plTypes = {
-      "!": { open: "(?:(?!(?:", close: "))[^/]*?)" },
-      "?": { open: "(?:", close: ")?" },
-      "+": { open: "(?:", close: ")+" },
-      "*": { open: "(?:", close: ")*" },
-      "@": { open: "(?:", close: ")" }
-    };
-    var qmark = "[^/]";
-    var star = qmark + "*?";
-    var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
-    var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
-    var reSpecials = charSet("().*{}+?[]^$\\!");
-    function charSet(s) {
-      return s.split("").reduce(function(set2, c) {
-        set2[c] = true;
-        return set2;
-      }, {});
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/interfaces.js
+var require_interfaces = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/interfaces.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.XML_CHARKEY = exports2.XML_ATTRKEY = void 0;
+    exports2.XML_ATTRKEY = "$";
+    exports2.XML_CHARKEY = "_";
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/utils.js
+var require_utils6 = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/utils.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isPrimitiveBody = isPrimitiveBody;
+    exports2.isDuration = isDuration;
+    exports2.isValidUuid = isValidUuid;
+    exports2.flattenResponse = flattenResponse;
+    function isPrimitiveBody(value, mapperTypeName) {
+      return mapperTypeName !== "Composite" && mapperTypeName !== "Dictionary" && (typeof value === "string" || typeof value === "number" || typeof value === "boolean" || mapperTypeName?.match(/^(Date|DateTime|DateTimeRfc1123|UnixTime|ByteArray|Base64Url)$/i) !== null || value === void 0 || value === null);
     }
-    var slashSplit = /\/+/;
-    minimatch.filter = filter;
-    function filter(pattern, options) {
-      options = options || {};
-      return function(p, i, list) {
-        return minimatch(p, pattern, options);
-      };
+    var validateISODuration = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;
+    function isDuration(value) {
+      return validateISODuration.test(value);
     }
-    function ext(a, b) {
-      b = b || {};
-      var t = {};
-      Object.keys(a).forEach(function(k) {
-        t[k] = a[k];
-      });
-      Object.keys(b).forEach(function(k) {
-        t[k] = b[k];
-      });
-      return t;
+    var validUuidRegex = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/i;
+    function isValidUuid(uuid) {
+      return validUuidRegex.test(uuid);
     }
-    minimatch.defaults = function(def) {
-      if (!def || typeof def !== "object" || !Object.keys(def).length) {
-        return minimatch;
-      }
-      var orig = minimatch;
-      var m = function minimatch2(p, pattern, options) {
-        return orig(p, pattern, ext(def, options));
-      };
-      m.Minimatch = function Minimatch2(pattern, options) {
-        return new orig.Minimatch(pattern, ext(def, options));
-      };
-      m.Minimatch.defaults = function defaults(options) {
-        return orig.defaults(ext(def, options)).Minimatch;
-      };
-      m.filter = function filter2(pattern, options) {
-        return orig.filter(pattern, ext(def, options));
-      };
-      m.defaults = function defaults(options) {
-        return orig.defaults(ext(def, options));
-      };
-      m.makeRe = function makeRe2(pattern, options) {
-        return orig.makeRe(pattern, ext(def, options));
-      };
-      m.braceExpand = function braceExpand2(pattern, options) {
-        return orig.braceExpand(pattern, ext(def, options));
-      };
-      m.match = function(list, pattern, options) {
-        return orig.match(list, pattern, ext(def, options));
+    function handleNullableResponseAndWrappableBody(responseObject) {
+      const combinedHeadersAndBody = {
+        ...responseObject.headers,
+        ...responseObject.body
       };
-      return m;
-    };
-    Minimatch.defaults = function(def) {
-      return minimatch.defaults(def).Minimatch;
-    };
-    function minimatch(p, pattern, options) {
-      assertValidPattern(pattern);
-      if (!options) options = {};
-      if (!options.nocomment && pattern.charAt(0) === "#") {
-        return false;
+      if (responseObject.hasNullableType && Object.getOwnPropertyNames(combinedHeadersAndBody).length === 0) {
+        return responseObject.shouldWrapBody ? { body: null } : null;
+      } else {
+        return responseObject.shouldWrapBody ? {
+          ...responseObject.headers,
+          body: responseObject.body
+        } : combinedHeadersAndBody;
       }
-      return new Minimatch(pattern, options).match(p);
     }
-    function Minimatch(pattern, options) {
-      if (!(this instanceof Minimatch)) {
-        return new Minimatch(pattern, options);
-      }
-      assertValidPattern(pattern);
-      if (!options) options = {};
-      pattern = pattern.trim();
-      if (!options.allowWindowsEscape && path4.sep !== "/") {
-        pattern = pattern.split(path4.sep).join("/");
+    function flattenResponse(fullResponse, responseSpec) {
+      const parsedHeaders = fullResponse.parsedHeaders;
+      if (fullResponse.request.method === "HEAD") {
+        return {
+          ...parsedHeaders,
+          body: fullResponse.parsedBody
+        };
       }
-      this.options = options;
-      this.set = [];
-      this.pattern = pattern;
-      this.regexp = null;
-      this.negate = false;
-      this.comment = false;
-      this.empty = false;
-      this.partial = !!options.partial;
-      this.make();
-    }
-    Minimatch.prototype.debug = function() {
-    };
-    Minimatch.prototype.make = make;
-    function make() {
-      var pattern = this.pattern;
-      var options = this.options;
-      if (!options.nocomment && pattern.charAt(0) === "#") {
-        this.comment = true;
-        return;
+      const bodyMapper = responseSpec && responseSpec.bodyMapper;
+      const isNullable = Boolean(bodyMapper?.nullable);
+      const expectedBodyTypeName = bodyMapper?.type.name;
+      if (expectedBodyTypeName === "Stream") {
+        return {
+          ...parsedHeaders,
+          blobBody: fullResponse.blobBody,
+          readableStreamBody: fullResponse.readableStreamBody
+        };
       }
-      if (!pattern) {
-        this.empty = true;
-        return;
+      const modelProperties = expectedBodyTypeName === "Composite" && bodyMapper.type.modelProperties || {};
+      const isPageableResponse = Object.keys(modelProperties).some((k) => modelProperties[k].serializedName === "");
+      if (expectedBodyTypeName === "Sequence" || isPageableResponse) {
+        const arrayResponse = fullResponse.parsedBody ?? [];
+        for (const key of Object.keys(modelProperties)) {
+          if (modelProperties[key].serializedName) {
+            arrayResponse[key] = fullResponse.parsedBody?.[key];
+          }
+        }
+        if (parsedHeaders) {
+          for (const key of Object.keys(parsedHeaders)) {
+            arrayResponse[key] = parsedHeaders[key];
+          }
+        }
+        return isNullable && !fullResponse.parsedBody && !parsedHeaders && Object.getOwnPropertyNames(modelProperties).length === 0 ? null : arrayResponse;
       }
-      this.parseNegate();
-      var set2 = this.globSet = this.braceExpand();
-      if (options.debug) this.debug = function debug4() {
-        console.error.apply(console, arguments);
-      };
-      this.debug(this.pattern, set2);
-      set2 = this.globParts = set2.map(function(s) {
-        return s.split(slashSplit);
-      });
-      this.debug(this.pattern, set2);
-      set2 = set2.map(function(s, si, set3) {
-        return s.map(this.parse, this);
-      }, this);
-      this.debug(this.pattern, set2);
-      set2 = set2.filter(function(s) {
-        return s.indexOf(false) === -1;
+      return handleNullableResponseAndWrappableBody({
+        body: fullResponse.parsedBody,
+        headers: parsedHeaders,
+        hasNullableType: isNullable,
+        shouldWrapBody: isPrimitiveBody(fullResponse.parsedBody, expectedBodyTypeName)
       });
-      this.debug(this.pattern, set2);
-      this.set = set2;
     }
-    Minimatch.prototype.parseNegate = parseNegate;
-    function parseNegate() {
-      var pattern = this.pattern;
-      var negate = false;
-      var options = this.options;
-      var negateOffset = 0;
-      if (options.nonegate) return;
-      for (var i = 0, l = pattern.length; i < l && pattern.charAt(i) === "!"; i++) {
-        negate = !negate;
-        negateOffset++;
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/serializer.js
+var require_serializer = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/serializer.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.MapperTypeNames = void 0;
+    exports2.createSerializer = createSerializer;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var base64 = tslib_1.__importStar(require_base64());
+    var interfaces_js_1 = require_interfaces();
+    var utils_js_1 = require_utils6();
+    var SerializerImpl = class {
+      modelMappers;
+      isXML;
+      constructor(modelMappers = {}, isXML = false) {
+        this.modelMappers = modelMappers;
+        this.isXML = isXML;
       }
-      if (negateOffset) this.pattern = pattern.substr(negateOffset);
-      this.negate = negate;
-    }
-    minimatch.braceExpand = function(pattern, options) {
-      return braceExpand(pattern, options);
-    };
-    Minimatch.prototype.braceExpand = braceExpand;
-    function braceExpand(pattern, options) {
-      if (!options) {
-        if (this instanceof Minimatch) {
-          options = this.options;
-        } else {
-          options = {};
+      /**
+       * @deprecated Removing the constraints validation on client side.
+       */
+      validateConstraints(mapper, value, objectName) {
+        const failValidation = (constraintName, constraintValue) => {
+          throw new Error(`"${objectName}" with value "${value}" should satisfy the constraint "${constraintName}": ${constraintValue}.`);
+        };
+        if (mapper.constraints && value !== void 0 && value !== null) {
+          const { ExclusiveMaximum, ExclusiveMinimum, InclusiveMaximum, InclusiveMinimum, MaxItems, MaxLength, MinItems, MinLength, MultipleOf, Pattern, UniqueItems } = mapper.constraints;
+          if (ExclusiveMaximum !== void 0 && value >= ExclusiveMaximum) {
+            failValidation("ExclusiveMaximum", ExclusiveMaximum);
+          }
+          if (ExclusiveMinimum !== void 0 && value <= ExclusiveMinimum) {
+            failValidation("ExclusiveMinimum", ExclusiveMinimum);
+          }
+          if (InclusiveMaximum !== void 0 && value > InclusiveMaximum) {
+            failValidation("InclusiveMaximum", InclusiveMaximum);
+          }
+          if (InclusiveMinimum !== void 0 && value < InclusiveMinimum) {
+            failValidation("InclusiveMinimum", InclusiveMinimum);
+          }
+          if (MaxItems !== void 0 && value.length > MaxItems) {
+            failValidation("MaxItems", MaxItems);
+          }
+          if (MaxLength !== void 0 && value.length > MaxLength) {
+            failValidation("MaxLength", MaxLength);
+          }
+          if (MinItems !== void 0 && value.length < MinItems) {
+            failValidation("MinItems", MinItems);
+          }
+          if (MinLength !== void 0 && value.length < MinLength) {
+            failValidation("MinLength", MinLength);
+          }
+          if (MultipleOf !== void 0 && value % MultipleOf !== 0) {
+            failValidation("MultipleOf", MultipleOf);
+          }
+          if (Pattern) {
+            const pattern = typeof Pattern === "string" ? new RegExp(Pattern) : Pattern;
+            if (typeof value !== "string" || value.match(pattern) === null) {
+              failValidation("Pattern", Pattern);
+            }
+          }
+          if (UniqueItems && value.some((item, i, ar) => ar.indexOf(item) !== i)) {
+            failValidation("UniqueItems", UniqueItems);
+          }
         }
       }
-      pattern = typeof pattern === "undefined" ? this.pattern : pattern;
-      assertValidPattern(pattern);
-      if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
-        return [pattern];
-      }
-      return expand2(pattern);
-    }
-    var MAX_PATTERN_LENGTH = 1024 * 64;
-    var assertValidPattern = function(pattern) {
-      if (typeof pattern !== "string") {
-        throw new TypeError("invalid pattern");
-      }
-      if (pattern.length > MAX_PATTERN_LENGTH) {
-        throw new TypeError("pattern is too long");
-      }
-    };
-    Minimatch.prototype.parse = parse2;
-    var SUBPARSE = {};
-    function parse2(pattern, isSub) {
-      assertValidPattern(pattern);
-      var options = this.options;
-      if (pattern === "**") {
-        if (!options.noglobstar)
-          return GLOBSTAR;
-        else
-          pattern = "*";
-      }
-      if (pattern === "") return "";
-      var re = "";
-      var hasMagic = !!options.nocase;
-      var escaping = false;
-      var patternListStack = [];
-      var negativeLists = [];
-      var stateChar;
-      var inClass = false;
-      var reClassStart = -1;
-      var classStart = -1;
-      var patternStart = pattern.charAt(0) === "." ? "" : options.dot ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)";
-      var self2 = this;
-      function clearStateChar() {
-        if (stateChar) {
-          switch (stateChar) {
-            case "*":
-              re += star;
-              hasMagic = true;
-              break;
-            case "?":
-              re += qmark;
-              hasMagic = true;
-              break;
-            default:
-              re += "\\" + stateChar;
-              break;
+      /**
+       * Serialize the given object based on its metadata defined in the mapper
+       *
+       * @param mapper - The mapper which defines the metadata of the serializable object
+       *
+       * @param object - A valid Javascript object to be serialized
+       *
+       * @param objectName - Name of the serialized object
+       *
+       * @param options - additional options to serialization
+       *
+       * @returns A valid serialized Javascript object
+       */
+      serialize(mapper, object, objectName, options = { xml: {} }) {
+        const updatedOptions = {
+          xml: {
+            rootName: options.xml.rootName ?? "",
+            includeRoot: options.xml.includeRoot ?? false,
+            xmlCharKey: options.xml.xmlCharKey ?? interfaces_js_1.XML_CHARKEY
           }
-          self2.debug("clearStateChar %j %j", stateChar, re);
-          stateChar = false;
+        };
+        let payload = {};
+        const mapperType = mapper.type.name;
+        if (!objectName) {
+          objectName = mapper.serializedName;
         }
-      }
-      for (var i = 0, len = pattern.length, c; i < len && (c = pattern.charAt(i)); i++) {
-        this.debug("%s	%s %s %j", pattern, i, re, c);
-        if (escaping && reSpecials[c]) {
-          re += "\\" + c;
-          escaping = false;
-          continue;
+        if (mapperType.match(/^Sequence$/i) !== null) {
+          payload = [];
         }
-        switch (c) {
-          /* istanbul ignore next */
-          case "/": {
-            return false;
+        if (mapper.isConstant) {
+          object = mapper.defaultValue;
+        }
+        const { required, nullable } = mapper;
+        if (required && nullable && object === void 0) {
+          throw new Error(`${objectName} cannot be undefined.`);
+        }
+        if (required && !nullable && (object === void 0 || object === null)) {
+          throw new Error(`${objectName} cannot be null or undefined.`);
+        }
+        if (!required && nullable === false && object === null) {
+          throw new Error(`${objectName} cannot be null.`);
+        }
+        if (object === void 0 || object === null) {
+          payload = object;
+        } else {
+          if (mapperType.match(/^any$/i) !== null) {
+            payload = object;
+          } else if (mapperType.match(/^(Number|String|Boolean|Object|Stream|Uuid)$/i) !== null) {
+            payload = serializeBasicTypes(mapperType, objectName, object);
+          } else if (mapperType.match(/^Enum$/i) !== null) {
+            const enumMapper = mapper;
+            payload = serializeEnumType(objectName, enumMapper.type.allowedValues, object);
+          } else if (mapperType.match(/^(Date|DateTime|TimeSpan|DateTimeRfc1123|UnixTime)$/i) !== null) {
+            payload = serializeDateTypes(mapperType, object, objectName);
+          } else if (mapperType.match(/^ByteArray$/i) !== null) {
+            payload = serializeByteArrayType(objectName, object);
+          } else if (mapperType.match(/^Base64Url$/i) !== null) {
+            payload = serializeBase64UrlType(objectName, object);
+          } else if (mapperType.match(/^Sequence$/i) !== null) {
+            payload = serializeSequenceType(this, mapper, object, objectName, Boolean(this.isXML), updatedOptions);
+          } else if (mapperType.match(/^Dictionary$/i) !== null) {
+            payload = serializeDictionaryType(this, mapper, object, objectName, Boolean(this.isXML), updatedOptions);
+          } else if (mapperType.match(/^Composite$/i) !== null) {
+            payload = serializeCompositeType(this, mapper, object, objectName, Boolean(this.isXML), updatedOptions);
           }
-          case "\\":
-            clearStateChar();
-            escaping = true;
-            continue;
-          // the various stateChar values
-          // for the "extglob" stuff.
-          case "?":
-          case "*":
-          case "+":
-          case "@":
-          case "!":
-            this.debug("%s	%s %s %j <-- stateChar", pattern, i, re, c);
-            if (inClass) {
-              this.debug("  in class");
-              if (c === "!" && i === classStart + 1) c = "^";
-              re += c;
-              continue;
-            }
-            self2.debug("call clearStateChar %j", stateChar);
-            clearStateChar();
-            stateChar = c;
-            if (options.noext) clearStateChar();
-            continue;
-          case "(":
-            if (inClass) {
-              re += "(";
-              continue;
-            }
-            if (!stateChar) {
-              re += "\\(";
-              continue;
-            }
-            patternListStack.push({
-              type: stateChar,
-              start: i - 1,
-              reStart: re.length,
-              open: plTypes[stateChar].open,
-              close: plTypes[stateChar].close
-            });
-            re += stateChar === "!" ? "(?:(?!(?:" : "(?:";
-            this.debug("plType %j %j", stateChar, re);
-            stateChar = false;
-            continue;
-          case ")":
-            if (inClass || !patternListStack.length) {
-              re += "\\)";
-              continue;
-            }
-            clearStateChar();
-            hasMagic = true;
-            var pl = patternListStack.pop();
-            re += pl.close;
-            if (pl.type === "!") {
-              negativeLists.push(pl);
-            }
-            pl.reEnd = re.length;
-            continue;
-          case "|":
-            if (inClass || !patternListStack.length || escaping) {
-              re += "\\|";
-              escaping = false;
-              continue;
-            }
-            clearStateChar();
-            re += "|";
-            continue;
-          // these are mostly the same in regexp and glob
-          case "[":
-            clearStateChar();
-            if (inClass) {
-              re += "\\" + c;
-              continue;
-            }
-            inClass = true;
-            classStart = i;
-            reClassStart = re.length;
-            re += c;
-            continue;
-          case "]":
-            if (i === classStart + 1 || !inClass) {
-              re += "\\" + c;
-              escaping = false;
-              continue;
+        }
+        return payload;
+      }
+      /**
+       * Deserialize the given object based on its metadata defined in the mapper
+       *
+       * @param mapper - The mapper which defines the metadata of the serializable object
+       *
+       * @param responseBody - A valid Javascript entity to be deserialized
+       *
+       * @param objectName - Name of the deserialized object
+       *
+       * @param options - Controls behavior of XML parser and builder.
+       *
+       * @returns A valid deserialized Javascript object
+       */
+      deserialize(mapper, responseBody, objectName, options = { xml: {} }) {
+        const updatedOptions = {
+          xml: {
+            rootName: options.xml.rootName ?? "",
+            includeRoot: options.xml.includeRoot ?? false,
+            xmlCharKey: options.xml.xmlCharKey ?? interfaces_js_1.XML_CHARKEY
+          },
+          ignoreUnknownProperties: options.ignoreUnknownProperties ?? false
+        };
+        if (responseBody === void 0 || responseBody === null) {
+          if (this.isXML && mapper.type.name === "Sequence" && !mapper.xmlIsWrapped) {
+            responseBody = [];
+          }
+          if (mapper.defaultValue !== void 0) {
+            responseBody = mapper.defaultValue;
+          }
+          return responseBody;
+        }
+        let payload;
+        const mapperType = mapper.type.name;
+        if (!objectName) {
+          objectName = mapper.serializedName;
+        }
+        if (mapperType.match(/^Composite$/i) !== null) {
+          payload = deserializeCompositeType(this, mapper, responseBody, objectName, updatedOptions);
+        } else {
+          if (this.isXML) {
+            const xmlCharKey = updatedOptions.xml.xmlCharKey;
+            if (responseBody[interfaces_js_1.XML_ATTRKEY] !== void 0 && responseBody[xmlCharKey] !== void 0) {
+              responseBody = responseBody[xmlCharKey];
             }
-            var cs = pattern.substring(classStart + 1, i);
-            try {
-              RegExp("[" + cs + "]");
-            } catch (er) {
-              var sp = this.parse(cs, SUBPARSE);
-              re = re.substr(0, reClassStart) + "\\[" + sp[0] + "\\]";
-              hasMagic = hasMagic || sp[1];
-              inClass = false;
-              continue;
+          }
+          if (mapperType.match(/^Number$/i) !== null) {
+            payload = parseFloat(responseBody);
+            if (isNaN(payload)) {
+              payload = responseBody;
             }
-            hasMagic = true;
-            inClass = false;
-            re += c;
-            continue;
-          default:
-            clearStateChar();
-            if (escaping) {
-              escaping = false;
-            } else if (reSpecials[c] && !(c === "^" && inClass)) {
-              re += "\\";
+          } else if (mapperType.match(/^Boolean$/i) !== null) {
+            if (responseBody === "true") {
+              payload = true;
+            } else if (responseBody === "false") {
+              payload = false;
+            } else {
+              payload = responseBody;
             }
-            re += c;
+          } else if (mapperType.match(/^(String|Enum|Object|Stream|Uuid|TimeSpan|any)$/i) !== null) {
+            payload = responseBody;
+          } else if (mapperType.match(/^(Date|DateTime|DateTimeRfc1123)$/i) !== null) {
+            payload = new Date(responseBody);
+          } else if (mapperType.match(/^UnixTime$/i) !== null) {
+            payload = unixTimeToDate(responseBody);
+          } else if (mapperType.match(/^ByteArray$/i) !== null) {
+            payload = base64.decodeString(responseBody);
+          } else if (mapperType.match(/^Base64Url$/i) !== null) {
+            payload = base64UrlToByteArray(responseBody);
+          } else if (mapperType.match(/^Sequence$/i) !== null) {
+            payload = deserializeSequenceType(this, mapper, responseBody, objectName, updatedOptions);
+          } else if (mapperType.match(/^Dictionary$/i) !== null) {
+            payload = deserializeDictionaryType(this, mapper, responseBody, objectName, updatedOptions);
+          }
+        }
+        if (mapper.isConstant) {
+          payload = mapper.defaultValue;
         }
+        return payload;
       }
-      if (inClass) {
-        cs = pattern.substr(classStart + 1);
-        sp = this.parse(cs, SUBPARSE);
-        re = re.substr(0, reClassStart) + "\\[" + sp[0];
-        hasMagic = hasMagic || sp[1];
+    };
+    function createSerializer(modelMappers = {}, isXML = false) {
+      return new SerializerImpl(modelMappers, isXML);
+    }
+    function trimEnd(str2, ch) {
+      let len = str2.length;
+      while (len - 1 >= 0 && str2[len - 1] === ch) {
+        --len;
       }
-      for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {
-        var tail = re.slice(pl.reStart + pl.open.length);
-        this.debug("setting tail", re, pl);
-        tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, function(_2, $1, $2) {
-          if (!$2) {
-            $2 = "\\";
-          }
-          return $1 + $1 + $2 + "|";
-        });
-        this.debug("tail=%j\n   %s", tail, tail, pl, re);
-        var t = pl.type === "*" ? star : pl.type === "?" ? qmark : "\\" + pl.type;
-        hasMagic = true;
-        re = re.slice(0, pl.reStart) + t + "\\(" + tail;
+      return str2.substr(0, len);
+    }
+    function bufferToBase64Url(buffer) {
+      if (!buffer) {
+        return void 0;
       }
-      clearStateChar();
-      if (escaping) {
-        re += "\\\\";
+      if (!(buffer instanceof Uint8Array)) {
+        throw new Error(`Please provide an input of type Uint8Array for converting to Base64Url.`);
       }
-      var addPatternStart = false;
-      switch (re.charAt(0)) {
-        case "[":
-        case ".":
-        case "(":
-          addPatternStart = true;
+      const str2 = base64.encodeByteArray(buffer);
+      return trimEnd(str2, "=").replace(/\+/g, "-").replace(/\//g, "_");
+    }
+    function base64UrlToByteArray(str2) {
+      if (!str2) {
+        return void 0;
       }
-      for (var n = negativeLists.length - 1; n > -1; n--) {
-        var nl = negativeLists[n];
-        var nlBefore = re.slice(0, nl.reStart);
-        var nlFirst = re.slice(nl.reStart, nl.reEnd - 8);
-        var nlLast = re.slice(nl.reEnd - 8, nl.reEnd);
-        var nlAfter = re.slice(nl.reEnd);
-        nlLast += nlAfter;
-        var openParensBefore = nlBefore.split("(").length - 1;
-        var cleanAfter = nlAfter;
-        for (i = 0; i < openParensBefore; i++) {
-          cleanAfter = cleanAfter.replace(/\)[+*?]?/, "");
+      if (str2 && typeof str2.valueOf() !== "string") {
+        throw new Error("Please provide an input of type string for converting to Uint8Array");
+      }
+      str2 = str2.replace(/-/g, "+").replace(/_/g, "/");
+      return base64.decodeString(str2);
+    }
+    function splitSerializeName(prop) {
+      const classes = [];
+      let partialclass = "";
+      if (prop) {
+        const subwords = prop.split(".");
+        for (const item of subwords) {
+          if (item.charAt(item.length - 1) === "\\") {
+            partialclass += item.substr(0, item.length - 1) + ".";
+          } else {
+            partialclass += item;
+            classes.push(partialclass);
+            partialclass = "";
+          }
         }
-        nlAfter = cleanAfter;
-        var dollar = "";
-        if (nlAfter === "" && isSub !== SUBPARSE) {
-          dollar = "$";
+      }
+      return classes;
+    }
+    function dateToUnixTime(d) {
+      if (!d) {
+        return void 0;
+      }
+      if (typeof d.valueOf() === "string") {
+        d = new Date(d);
+      }
+      return Math.floor(d.getTime() / 1e3);
+    }
+    function unixTimeToDate(n) {
+      if (!n) {
+        return void 0;
+      }
+      return new Date(n * 1e3);
+    }
+    function serializeBasicTypes(typeName, objectName, value) {
+      if (value !== null && value !== void 0) {
+        if (typeName.match(/^Number$/i) !== null) {
+          if (typeof value !== "number") {
+            throw new Error(`${objectName} with value ${value} must be of type number.`);
+          }
+        } else if (typeName.match(/^String$/i) !== null) {
+          if (typeof value.valueOf() !== "string") {
+            throw new Error(`${objectName} with value "${value}" must be of type string.`);
+          }
+        } else if (typeName.match(/^Uuid$/i) !== null) {
+          if (!(typeof value.valueOf() === "string" && (0, utils_js_1.isValidUuid)(value))) {
+            throw new Error(`${objectName} with value "${value}" must be of type string and a valid uuid.`);
+          }
+        } else if (typeName.match(/^Boolean$/i) !== null) {
+          if (typeof value !== "boolean") {
+            throw new Error(`${objectName} with value ${value} must be of type boolean.`);
+          }
+        } else if (typeName.match(/^Stream$/i) !== null) {
+          const objectType = typeof value;
+          if (objectType !== "string" && typeof value.pipe !== "function" && // NodeJS.ReadableStream
+          typeof value.tee !== "function" && // browser ReadableStream
+          !(value instanceof ArrayBuffer) && !ArrayBuffer.isView(value) && // File objects count as a type of Blob, so we want to use instanceof explicitly
+          !((typeof Blob === "function" || typeof Blob === "object") && value instanceof Blob) && objectType !== "function") {
+            throw new Error(`${objectName} must be a string, Blob, ArrayBuffer, ArrayBufferView, ReadableStream, or () => ReadableStream.`);
+          }
         }
-        var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast;
-        re = newRe;
       }
-      if (re !== "" && hasMagic) {
-        re = "(?=.)" + re;
+      return value;
+    }
+    function serializeEnumType(objectName, allowedValues, value) {
+      if (!allowedValues) {
+        throw new Error(`Please provide a set of allowedValues to validate ${objectName} as an Enum Type.`);
       }
-      if (addPatternStart) {
-        re = patternStart + re;
+      const isPresent = allowedValues.some((item) => {
+        if (typeof item.valueOf() === "string") {
+          return item.toLowerCase() === value.toLowerCase();
+        }
+        return item === value;
+      });
+      if (!isPresent) {
+        throw new Error(`${value} is not a valid value for ${objectName}. The valid values are: ${JSON.stringify(allowedValues)}.`);
       }
-      if (isSub === SUBPARSE) {
-        return [re, hasMagic];
+      return value;
+    }
+    function serializeByteArrayType(objectName, value) {
+      if (value !== void 0 && value !== null) {
+        if (!(value instanceof Uint8Array)) {
+          throw new Error(`${objectName} must be of type Uint8Array.`);
+        }
+        value = base64.encodeByteArray(value);
       }
-      if (!hasMagic) {
-        return globUnescape(pattern);
+      return value;
+    }
+    function serializeBase64UrlType(objectName, value) {
+      if (value !== void 0 && value !== null) {
+        if (!(value instanceof Uint8Array)) {
+          throw new Error(`${objectName} must be of type Uint8Array.`);
+        }
+        value = bufferToBase64Url(value);
       }
-      var flags = options.nocase ? "i" : "";
-      try {
-        var regExp = new RegExp("^" + re + "$", flags);
-      } catch (er) {
-        return new RegExp("$.");
+      return value;
+    }
+    function serializeDateTypes(typeName, value, objectName) {
+      if (value !== void 0 && value !== null) {
+        if (typeName.match(/^Date$/i) !== null) {
+          if (!(value instanceof Date || typeof value.valueOf() === "string" && !isNaN(Date.parse(value)))) {
+            throw new Error(`${objectName} must be an instanceof Date or a string in ISO8601 format.`);
+          }
+          value = value instanceof Date ? value.toISOString().substring(0, 10) : new Date(value).toISOString().substring(0, 10);
+        } else if (typeName.match(/^DateTime$/i) !== null) {
+          if (!(value instanceof Date || typeof value.valueOf() === "string" && !isNaN(Date.parse(value)))) {
+            throw new Error(`${objectName} must be an instanceof Date or a string in ISO8601 format.`);
+          }
+          value = value instanceof Date ? value.toISOString() : new Date(value).toISOString();
+        } else if (typeName.match(/^DateTimeRfc1123$/i) !== null) {
+          if (!(value instanceof Date || typeof value.valueOf() === "string" && !isNaN(Date.parse(value)))) {
+            throw new Error(`${objectName} must be an instanceof Date or a string in RFC-1123 format.`);
+          }
+          value = value instanceof Date ? value.toUTCString() : new Date(value).toUTCString();
+        } else if (typeName.match(/^UnixTime$/i) !== null) {
+          if (!(value instanceof Date || typeof value.valueOf() === "string" && !isNaN(Date.parse(value)))) {
+            throw new Error(`${objectName} must be an instanceof Date or a string in RFC-1123/ISO8601 format for it to be serialized in UnixTime/Epoch format.`);
+          }
+          value = dateToUnixTime(value);
+        } else if (typeName.match(/^TimeSpan$/i) !== null) {
+          if (!(0, utils_js_1.isDuration)(value)) {
+            throw new Error(`${objectName} must be a string in ISO 8601 format. Instead was "${value}".`);
+          }
+        }
       }
-      regExp._glob = pattern;
-      regExp._src = re;
-      return regExp;
+      return value;
     }
-    minimatch.makeRe = function(pattern, options) {
-      return new Minimatch(pattern, options || {}).makeRe();
-    };
-    Minimatch.prototype.makeRe = makeRe;
-    function makeRe() {
-      if (this.regexp || this.regexp === false) return this.regexp;
-      var set2 = this.set;
-      if (!set2.length) {
-        this.regexp = false;
-        return this.regexp;
+    function serializeSequenceType(serializer, mapper, object, objectName, isXml, options) {
+      if (!Array.isArray(object)) {
+        throw new Error(`${objectName} must be of type Array.`);
       }
-      var options = this.options;
-      var twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
-      var flags = options.nocase ? "i" : "";
-      var re = set2.map(function(pattern) {
-        return pattern.map(function(p) {
-          return p === GLOBSTAR ? twoStar : typeof p === "string" ? regExpEscape(p) : p._src;
-        }).join("\\/");
-      }).join("|");
-      re = "^(?:" + re + ")$";
-      if (this.negate) re = "^(?!" + re + ").*$";
-      try {
-        this.regexp = new RegExp(re, flags);
-      } catch (ex) {
-        this.regexp = false;
+      let elementType = mapper.type.element;
+      if (!elementType || typeof elementType !== "object") {
+        throw new Error(`element" metadata for an Array must be defined in the mapper and it must of type "object" in ${objectName}.`);
       }
-      return this.regexp;
+      if (elementType.type.name === "Composite" && elementType.type.className) {
+        elementType = serializer.modelMappers[elementType.type.className] ?? elementType;
+      }
+      const tempArray = [];
+      for (let i = 0; i < object.length; i++) {
+        const serializedValue = serializer.serialize(elementType, object[i], objectName, options);
+        if (isXml && elementType.xmlNamespace) {
+          const xmlnsKey = elementType.xmlNamespacePrefix ? `xmlns:${elementType.xmlNamespacePrefix}` : "xmlns";
+          if (elementType.type.name === "Composite") {
+            tempArray[i] = { ...serializedValue };
+            tempArray[i][interfaces_js_1.XML_ATTRKEY] = { [xmlnsKey]: elementType.xmlNamespace };
+          } else {
+            tempArray[i] = {};
+            tempArray[i][options.xml.xmlCharKey] = serializedValue;
+            tempArray[i][interfaces_js_1.XML_ATTRKEY] = { [xmlnsKey]: elementType.xmlNamespace };
+          }
+        } else {
+          tempArray[i] = serializedValue;
+        }
+      }
+      return tempArray;
     }
-    minimatch.match = function(list, pattern, options) {
-      options = options || {};
-      var mm = new Minimatch(pattern, options);
-      list = list.filter(function(f) {
-        return mm.match(f);
-      });
-      if (mm.options.nonull && !list.length) {
-        list.push(pattern);
+    function serializeDictionaryType(serializer, mapper, object, objectName, isXml, options) {
+      if (typeof object !== "object") {
+        throw new Error(`${objectName} must be of type object.`);
       }
-      return list;
-    };
-    Minimatch.prototype.match = function match(f, partial) {
-      if (typeof partial === "undefined") partial = this.partial;
-      this.debug("match", f, this.pattern);
-      if (this.comment) return false;
-      if (this.empty) return f === "";
-      if (f === "/" && partial) return true;
-      var options = this.options;
-      if (path4.sep !== "/") {
-        f = f.split(path4.sep).join("/");
+      const valueType = mapper.type.value;
+      if (!valueType || typeof valueType !== "object") {
+        throw new Error(`"value" metadata for a Dictionary must be defined in the mapper and it must of type "object" in ${objectName}.`);
       }
-      f = f.split(slashSplit);
-      this.debug(this.pattern, "split", f);
-      var set2 = this.set;
-      this.debug(this.pattern, "set", set2);
-      var filename;
-      var i;
-      for (i = f.length - 1; i >= 0; i--) {
-        filename = f[i];
-        if (filename) break;
+      const tempDictionary = {};
+      for (const key of Object.keys(object)) {
+        const serializedValue = serializer.serialize(valueType, object[key], objectName, options);
+        tempDictionary[key] = getXmlObjectValue(valueType, serializedValue, isXml, options);
       }
-      for (i = 0; i < set2.length; i++) {
-        var pattern = set2[i];
-        var file = f;
-        if (options.matchBase && pattern.length === 1) {
-          file = [filename];
+      if (isXml && mapper.xmlNamespace) {
+        const xmlnsKey = mapper.xmlNamespacePrefix ? `xmlns:${mapper.xmlNamespacePrefix}` : "xmlns";
+        const result = tempDictionary;
+        result[interfaces_js_1.XML_ATTRKEY] = { [xmlnsKey]: mapper.xmlNamespace };
+        return result;
+      }
+      return tempDictionary;
+    }
+    function resolveAdditionalProperties(serializer, mapper, objectName) {
+      const additionalProperties = mapper.type.additionalProperties;
+      if (!additionalProperties && mapper.type.className) {
+        const modelMapper = resolveReferencedMapper(serializer, mapper, objectName);
+        return modelMapper?.type.additionalProperties;
+      }
+      return additionalProperties;
+    }
+    function resolveReferencedMapper(serializer, mapper, objectName) {
+      const className = mapper.type.className;
+      if (!className) {
+        throw new Error(`Class name for model "${objectName}" is not provided in the mapper "${JSON.stringify(mapper, void 0, 2)}".`);
+      }
+      return serializer.modelMappers[className];
+    }
+    function resolveModelProperties(serializer, mapper, objectName) {
+      let modelProps = mapper.type.modelProperties;
+      if (!modelProps) {
+        const modelMapper = resolveReferencedMapper(serializer, mapper, objectName);
+        if (!modelMapper) {
+          throw new Error(`mapper() cannot be null or undefined for model "${mapper.type.className}".`);
         }
-        var hit = this.matchOne(file, pattern, partial);
-        if (hit) {
-          if (options.flipNegate) return true;
-          return !this.negate;
+        modelProps = modelMapper?.type.modelProperties;
+        if (!modelProps) {
+          throw new Error(`modelProperties cannot be null or undefined in the mapper "${JSON.stringify(modelMapper)}" of type "${mapper.type.className}" for object "${objectName}".`);
         }
       }
-      if (options.flipNegate) return false;
-      return this.negate;
-    };
-    Minimatch.prototype.matchOne = function(file, pattern, partial) {
-      var options = this.options;
-      this.debug(
-        "matchOne",
-        { "this": this, file, pattern }
-      );
-      this.debug("matchOne", file.length, pattern.length);
-      for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
-        this.debug("matchOne loop");
-        var p = pattern[pi];
-        var f = file[fi];
-        this.debug(pattern, p, f);
-        if (p === false) return false;
-        if (p === GLOBSTAR) {
-          this.debug("GLOBSTAR", [pattern, p, f]);
-          var fr = fi;
-          var pr = pi + 1;
-          if (pr === pl) {
-            this.debug("** at the end");
-            for (; fi < fl; fi++) {
-              if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".") return false;
-            }
-            return true;
+      return modelProps;
+    }
+    function serializeCompositeType(serializer, mapper, object, objectName, isXml, options) {
+      if (getPolymorphicDiscriminatorRecursively(serializer, mapper)) {
+        mapper = getPolymorphicMapper(serializer, mapper, object, "clientName");
+      }
+      if (object !== void 0 && object !== null) {
+        const payload = {};
+        const modelProps = resolveModelProperties(serializer, mapper, objectName);
+        for (const key of Object.keys(modelProps)) {
+          const propertyMapper = modelProps[key];
+          if (propertyMapper.readOnly) {
+            continue;
           }
-          while (fr < fl) {
-            var swallowee = file[fr];
-            this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
-            if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
-              this.debug("globstar found match!", fr, fl, swallowee);
-              return true;
+          let propName;
+          let parentObject = payload;
+          if (serializer.isXML) {
+            if (propertyMapper.xmlIsWrapped) {
+              propName = propertyMapper.xmlName;
             } else {
-              if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
-                this.debug("dot detected!", file, fr, pattern, pr);
-                break;
+              propName = propertyMapper.xmlElementName || propertyMapper.xmlName;
+            }
+          } else {
+            const paths = splitSerializeName(propertyMapper.serializedName);
+            propName = paths.pop();
+            for (const pathName of paths) {
+              const childObject = parentObject[pathName];
+              if ((childObject === void 0 || childObject === null) && (object[key] !== void 0 && object[key] !== null || propertyMapper.defaultValue !== void 0)) {
+                parentObject[pathName] = {};
               }
-              this.debug("globstar swallow a segment, and continue");
-              fr++;
+              parentObject = parentObject[pathName];
             }
           }
-          if (partial) {
-            this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
-            if (fr === fl) return true;
+          if (parentObject !== void 0 && parentObject !== null) {
+            if (isXml && mapper.xmlNamespace) {
+              const xmlnsKey = mapper.xmlNamespacePrefix ? `xmlns:${mapper.xmlNamespacePrefix}` : "xmlns";
+              parentObject[interfaces_js_1.XML_ATTRKEY] = {
+                ...parentObject[interfaces_js_1.XML_ATTRKEY],
+                [xmlnsKey]: mapper.xmlNamespace
+              };
+            }
+            const propertyObjectName = propertyMapper.serializedName !== "" ? objectName + "." + propertyMapper.serializedName : objectName;
+            let toSerialize = object[key];
+            const polymorphicDiscriminator = getPolymorphicDiscriminatorRecursively(serializer, mapper);
+            if (polymorphicDiscriminator && polymorphicDiscriminator.clientName === key && (toSerialize === void 0 || toSerialize === null)) {
+              toSerialize = mapper.serializedName;
+            }
+            const serializedValue = serializer.serialize(propertyMapper, toSerialize, propertyObjectName, options);
+            if (serializedValue !== void 0 && propName !== void 0 && propName !== null) {
+              const value = getXmlObjectValue(propertyMapper, serializedValue, isXml, options);
+              if (isXml && propertyMapper.xmlIsAttribute) {
+                parentObject[interfaces_js_1.XML_ATTRKEY] = parentObject[interfaces_js_1.XML_ATTRKEY] || {};
+                parentObject[interfaces_js_1.XML_ATTRKEY][propName] = serializedValue;
+              } else if (isXml && propertyMapper.xmlIsWrapped) {
+                parentObject[propName] = { [propertyMapper.xmlElementName]: value };
+              } else {
+                parentObject[propName] = value;
+              }
+            }
           }
-          return false;
         }
-        var hit;
-        if (typeof p === "string") {
-          hit = f === p;
-          this.debug("string match", p, f, hit);
+        const additionalPropertiesMapper = resolveAdditionalProperties(serializer, mapper, objectName);
+        if (additionalPropertiesMapper) {
+          const propNames = Object.keys(modelProps);
+          for (const clientPropName in object) {
+            const isAdditionalProperty = propNames.every((pn) => pn !== clientPropName);
+            if (isAdditionalProperty) {
+              payload[clientPropName] = serializer.serialize(additionalPropertiesMapper, object[clientPropName], objectName + '["' + clientPropName + '"]', options);
+            }
+          }
+        }
+        return payload;
+      }
+      return object;
+    }
+    function getXmlObjectValue(propertyMapper, serializedValue, isXml, options) {
+      if (!isXml || !propertyMapper.xmlNamespace) {
+        return serializedValue;
+      }
+      const xmlnsKey = propertyMapper.xmlNamespacePrefix ? `xmlns:${propertyMapper.xmlNamespacePrefix}` : "xmlns";
+      const xmlNamespace = { [xmlnsKey]: propertyMapper.xmlNamespace };
+      if (["Composite"].includes(propertyMapper.type.name)) {
+        if (serializedValue[interfaces_js_1.XML_ATTRKEY]) {
+          return serializedValue;
         } else {
-          hit = f.match(p);
-          this.debug("pattern match", p, f, hit);
+          const result2 = { ...serializedValue };
+          result2[interfaces_js_1.XML_ATTRKEY] = xmlNamespace;
+          return result2;
         }
-        if (!hit) return false;
       }
-      if (fi === fl && pi === pl) {
-        return true;
-      } else if (fi === fl) {
-        return partial;
-      } else if (pi === pl) {
-        return fi === fl - 1 && file[fi] === "";
-      }
-      throw new Error("wtf?");
-    };
-    function globUnescape(s) {
-      return s.replace(/\\(.)/g, "$1");
+      const result = {};
+      result[options.xml.xmlCharKey] = serializedValue;
+      result[interfaces_js_1.XML_ATTRKEY] = xmlNamespace;
+      return result;
     }
-    function regExpEscape(s) {
-      return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
+    function isSpecialXmlProperty(propertyName, options) {
+      return [interfaces_js_1.XML_ATTRKEY, options.xml.xmlCharKey].includes(propertyName);
     }
-  }
-});
-
-// node_modules/@actions/glob/lib/internal-path.js
-var require_internal_path = __commonJS({
-  "node_modules/@actions/glob/lib/internal-path.js"(exports2) {
-    "use strict";
-    var __createBinding2 = 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];
-        } };
+    function deserializeCompositeType(serializer, mapper, responseBody, objectName, options) {
+      const xmlCharKey = options.xml.xmlCharKey ?? interfaces_js_1.XML_CHARKEY;
+      if (getPolymorphicDiscriminatorRecursively(serializer, mapper)) {
+        mapper = getPolymorphicMapper(serializer, mapper, responseBody, "serializedName");
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = 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 ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+      const modelProps = resolveModelProperties(serializer, mapper, objectName);
+      let instance = {};
+      const handledPropertyNames = [];
+      for (const key of Object.keys(modelProps)) {
+        const propertyMapper = modelProps[key];
+        const paths = splitSerializeName(modelProps[key].serializedName);
+        handledPropertyNames.push(paths[0]);
+        const { serializedName, xmlName, xmlElementName } = propertyMapper;
+        let propertyObjectName = objectName;
+        if (serializedName !== "" && serializedName !== void 0) {
+          propertyObjectName = objectName + "." + serializedName;
         }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Path = void 0;
-    var path4 = __importStar2(require("path"));
-    var pathHelper = __importStar2(require_internal_path_helper());
-    var assert_1 = __importDefault2(require("assert"));
-    var IS_WINDOWS = process.platform === "win32";
-    var Path = class {
-      /**
-       * Constructs a Path
-       * @param itemPath Path or array of segments
-       */
-      constructor(itemPath) {
-        this.segments = [];
-        if (typeof itemPath === "string") {
-          (0, assert_1.default)(itemPath, `Parameter 'itemPath' must not be empty`);
-          itemPath = pathHelper.safeTrimTrailingSeparator(itemPath);
-          if (!pathHelper.hasRoot(itemPath)) {
-            this.segments = itemPath.split(path4.sep);
+        const headerCollectionPrefix = propertyMapper.headerCollectionPrefix;
+        if (headerCollectionPrefix) {
+          const dictionary = {};
+          for (const headerKey of Object.keys(responseBody)) {
+            if (headerKey.startsWith(headerCollectionPrefix)) {
+              dictionary[headerKey.substring(headerCollectionPrefix.length)] = serializer.deserialize(propertyMapper.type.value, responseBody[headerKey], propertyObjectName, options);
+            }
+            handledPropertyNames.push(headerKey);
+          }
+          instance[key] = dictionary;
+        } else if (serializer.isXML) {
+          if (propertyMapper.xmlIsAttribute && responseBody[interfaces_js_1.XML_ATTRKEY]) {
+            instance[key] = serializer.deserialize(propertyMapper, responseBody[interfaces_js_1.XML_ATTRKEY][xmlName], propertyObjectName, options);
+          } else if (propertyMapper.xmlIsMsText) {
+            if (responseBody[xmlCharKey] !== void 0) {
+              instance[key] = responseBody[xmlCharKey];
+            } else if (typeof responseBody === "string") {
+              instance[key] = responseBody;
+            }
           } else {
-            let remaining = itemPath;
-            let dir = pathHelper.dirname(remaining);
-            while (dir !== remaining) {
-              const basename2 = path4.basename(remaining);
-              this.segments.unshift(basename2);
-              remaining = dir;
-              dir = pathHelper.dirname(remaining);
+            const propertyName = xmlElementName || xmlName || serializedName;
+            if (propertyMapper.xmlIsWrapped) {
+              const wrapped = responseBody[xmlName];
+              const elementList = wrapped?.[xmlElementName] ?? [];
+              instance[key] = serializer.deserialize(propertyMapper, elementList, propertyObjectName, options);
+              handledPropertyNames.push(xmlName);
+            } else {
+              const property = responseBody[propertyName];
+              instance[key] = serializer.deserialize(propertyMapper, property, propertyObjectName, options);
+              handledPropertyNames.push(propertyName);
             }
-            this.segments.unshift(remaining);
           }
         } else {
-          (0, assert_1.default)(itemPath.length > 0, `Parameter 'itemPath' must not be an empty array`);
-          for (let i = 0; i < itemPath.length; i++) {
-            let segment = itemPath[i];
-            (0, assert_1.default)(segment, `Parameter 'itemPath' must not contain any empty segments`);
-            segment = pathHelper.normalizeSeparators(itemPath[i]);
-            if (i === 0 && pathHelper.hasRoot(segment)) {
-              segment = pathHelper.safeTrimTrailingSeparator(segment);
-              (0, assert_1.default)(segment === pathHelper.dirname(segment), `Parameter 'itemPath' root segment contains information for multiple segments`);
-              this.segments.push(segment);
-            } else {
-              (0, assert_1.default)(!segment.includes(path4.sep), `Parameter 'itemPath' contains unexpected path separators`);
-              this.segments.push(segment);
+          let propertyInstance;
+          let res = responseBody;
+          let steps = 0;
+          for (const item of paths) {
+            if (!res)
+              break;
+            steps++;
+            res = res[item];
+          }
+          if (res === null && steps < paths.length) {
+            res = void 0;
+          }
+          propertyInstance = res;
+          const polymorphicDiscriminator = mapper.type.polymorphicDiscriminator;
+          if (polymorphicDiscriminator && key === polymorphicDiscriminator.clientName && (propertyInstance === void 0 || propertyInstance === null)) {
+            propertyInstance = mapper.serializedName;
+          }
+          let serializedValue;
+          if (Array.isArray(responseBody[key]) && modelProps[key].serializedName === "") {
+            propertyInstance = responseBody[key];
+            const arrayInstance = serializer.deserialize(propertyMapper, propertyInstance, propertyObjectName, options);
+            for (const [k, v] of Object.entries(instance)) {
+              if (!Object.prototype.hasOwnProperty.call(arrayInstance, k)) {
+                arrayInstance[k] = v;
+              }
             }
+            instance = arrayInstance;
+          } else if (propertyInstance !== void 0 || propertyMapper.defaultValue !== void 0) {
+            serializedValue = serializer.deserialize(propertyMapper, propertyInstance, propertyObjectName, options);
+            instance[key] = serializedValue;
           }
         }
       }
-      /**
-       * Converts the path to it's string representation
-       */
-      toString() {
-        let result = this.segments[0];
-        let skipSlash = result.endsWith(path4.sep) || IS_WINDOWS && /^[A-Z]:$/i.test(result);
-        for (let i = 1; i < this.segments.length; i++) {
-          if (skipSlash) {
-            skipSlash = false;
-          } else {
-            result += path4.sep;
+      const additionalPropertiesMapper = mapper.type.additionalProperties;
+      if (additionalPropertiesMapper) {
+        const isAdditionalProperty = (responsePropName) => {
+          for (const clientPropName in modelProps) {
+            const paths = splitSerializeName(modelProps[clientPropName].serializedName);
+            if (paths[0] === responsePropName) {
+              return false;
+            }
           }
-          result += this.segments[i];
-        }
-        return result;
-      }
-    };
-    exports2.Path = Path;
-  }
-});
-
-// node_modules/@actions/glob/lib/internal-pattern.js
-var require_internal_pattern = __commonJS({
-  "node_modules/@actions/glob/lib/internal-pattern.js"(exports2) {
-    "use strict";
-    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = 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 true;
         };
-        return ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        for (const responsePropName in responseBody) {
+          if (isAdditionalProperty(responsePropName)) {
+            instance[responsePropName] = serializer.deserialize(additionalPropertiesMapper, responseBody[responsePropName], objectName + '["' + responsePropName + '"]', options);
+          }
         }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Pattern = void 0;
-    var os2 = __importStar2(require("os"));
-    var path4 = __importStar2(require("path"));
-    var pathHelper = __importStar2(require_internal_path_helper());
-    var assert_1 = __importDefault2(require("assert"));
-    var minimatch_1 = require_minimatch();
-    var internal_match_kind_1 = require_internal_match_kind();
-    var internal_path_1 = require_internal_path();
-    var IS_WINDOWS = process.platform === "win32";
-    var Pattern = class _Pattern {
-      constructor(patternOrNegate, isImplicitPattern = false, segments, homedir) {
-        this.negate = false;
-        let pattern;
-        if (typeof patternOrNegate === "string") {
-          pattern = patternOrNegate.trim();
-        } else {
-          segments = segments || [];
-          (0, assert_1.default)(segments.length, `Parameter 'segments' must not empty`);
-          const root = _Pattern.getLiteral(segments[0]);
-          (0, assert_1.default)(root && pathHelper.hasAbsoluteRoot(root), `Parameter 'segments' first element must be a root path`);
-          pattern = new internal_path_1.Path(segments).toString().trim();
-          if (patternOrNegate) {
-            pattern = `!${pattern}`;
+      } else if (responseBody && !options.ignoreUnknownProperties) {
+        for (const key of Object.keys(responseBody)) {
+          if (instance[key] === void 0 && !handledPropertyNames.includes(key) && !isSpecialXmlProperty(key, options)) {
+            instance[key] = responseBody[key];
           }
         }
-        while (pattern.startsWith("!")) {
-          this.negate = !this.negate;
-          pattern = pattern.substr(1).trim();
+      }
+      return instance;
+    }
+    function deserializeDictionaryType(serializer, mapper, responseBody, objectName, options) {
+      const value = mapper.type.value;
+      if (!value || typeof value !== "object") {
+        throw new Error(`"value" metadata for a Dictionary must be defined in the mapper and it must of type "object" in ${objectName}`);
+      }
+      if (responseBody) {
+        const tempDictionary = {};
+        for (const key of Object.keys(responseBody)) {
+          tempDictionary[key] = serializer.deserialize(value, responseBody[key], objectName, options);
         }
-        pattern = _Pattern.fixupPattern(pattern, homedir);
-        this.segments = new internal_path_1.Path(pattern).segments;
-        this.trailingSeparator = pathHelper.normalizeSeparators(pattern).endsWith(path4.sep);
-        pattern = pathHelper.safeTrimTrailingSeparator(pattern);
-        let foundGlob = false;
-        const searchSegments = this.segments.map((x) => _Pattern.getLiteral(x)).filter((x) => !foundGlob && !(foundGlob = x === ""));
-        this.searchPath = new internal_path_1.Path(searchSegments).toString();
-        this.rootRegExp = new RegExp(_Pattern.regExpEscape(searchSegments[0]), IS_WINDOWS ? "i" : "");
-        this.isImplicitPattern = isImplicitPattern;
-        const minimatchOptions = {
-          dot: true,
-          nobrace: true,
-          nocase: IS_WINDOWS,
-          nocomment: true,
-          noext: true,
-          nonegate: true
-        };
-        pattern = IS_WINDOWS ? pattern.replace(/\\/g, "/") : pattern;
-        this.minimatch = new minimatch_1.Minimatch(pattern, minimatchOptions);
+        return tempDictionary;
       }
-      /**
-       * Matches the pattern against the specified path
-       */
-      match(itemPath) {
-        if (this.segments[this.segments.length - 1] === "**") {
-          itemPath = pathHelper.normalizeSeparators(itemPath);
-          if (!itemPath.endsWith(path4.sep) && this.isImplicitPattern === false) {
-            itemPath = `${itemPath}${path4.sep}`;
-          }
-        } else {
-          itemPath = pathHelper.safeTrimTrailingSeparator(itemPath);
+      return responseBody;
+    }
+    function deserializeSequenceType(serializer, mapper, responseBody, objectName, options) {
+      let element = mapper.type.element;
+      if (!element || typeof element !== "object") {
+        throw new Error(`element" metadata for an Array must be defined in the mapper and it must of type "object" in ${objectName}`);
+      }
+      if (responseBody) {
+        if (!Array.isArray(responseBody)) {
+          responseBody = [responseBody];
         }
-        if (this.minimatch.match(itemPath)) {
-          return this.trailingSeparator ? internal_match_kind_1.MatchKind.Directory : internal_match_kind_1.MatchKind.All;
+        if (element.type.name === "Composite" && element.type.className) {
+          element = serializer.modelMappers[element.type.className] ?? element;
         }
-        return internal_match_kind_1.MatchKind.None;
-      }
-      /**
-       * Indicates whether the pattern may match descendants of the specified path
-       */
-      partialMatch(itemPath) {
-        itemPath = pathHelper.safeTrimTrailingSeparator(itemPath);
-        if (pathHelper.dirname(itemPath) === itemPath) {
-          return this.rootRegExp.test(itemPath);
+        const tempArray = [];
+        for (let i = 0; i < responseBody.length; i++) {
+          tempArray[i] = serializer.deserialize(element, responseBody[i], `${objectName}[${i}]`, options);
         }
-        return this.minimatch.matchOne(itemPath.split(IS_WINDOWS ? /\\+/ : /\/+/), this.minimatch.set[0], true);
-      }
-      /**
-       * Escapes glob patterns within a path
-       */
-      static globEscape(s) {
-        return (IS_WINDOWS ? s : s.replace(/\\/g, "\\\\")).replace(/(\[)(?=[^/]+\])/g, "[[]").replace(/\?/g, "[?]").replace(/\*/g, "[*]");
+        return tempArray;
       }
-      /**
-       * Normalizes slashes and ensures absolute root
-       */
-      static fixupPattern(pattern, homedir) {
-        (0, assert_1.default)(pattern, "pattern cannot be empty");
-        const literalSegments = new internal_path_1.Path(pattern).segments.map((x) => _Pattern.getLiteral(x));
-        (0, assert_1.default)(literalSegments.every((x, i) => (x !== "." || i === 0) && x !== ".."), `Invalid pattern '${pattern}'. Relative pathing '.' and '..' is not allowed.`);
-        (0, assert_1.default)(!pathHelper.hasRoot(pattern) || literalSegments[0], `Invalid pattern '${pattern}'. Root segment must not contain globs.`);
-        pattern = pathHelper.normalizeSeparators(pattern);
-        if (pattern === "." || pattern.startsWith(`.${path4.sep}`)) {
-          pattern = _Pattern.globEscape(process.cwd()) + pattern.substr(1);
-        } else if (pattern === "~" || pattern.startsWith(`~${path4.sep}`)) {
-          homedir = homedir || os2.homedir();
-          (0, assert_1.default)(homedir, "Unable to determine HOME directory");
-          (0, assert_1.default)(pathHelper.hasAbsoluteRoot(homedir), `Expected HOME directory to be a rooted path. Actual '${homedir}'`);
-          pattern = _Pattern.globEscape(homedir) + pattern.substr(1);
-        } else if (IS_WINDOWS && (pattern.match(/^[A-Z]:$/i) || pattern.match(/^[A-Z]:[^\\]/i))) {
-          let root = pathHelper.ensureAbsoluteRoot("C:\\dummy-root", pattern.substr(0, 2));
-          if (pattern.length > 2 && !root.endsWith("\\")) {
-            root += "\\";
-          }
-          pattern = _Pattern.globEscape(root) + pattern.substr(2);
-        } else if (IS_WINDOWS && (pattern === "\\" || pattern.match(/^\\[^\\]/))) {
-          let root = pathHelper.ensureAbsoluteRoot("C:\\dummy-root", "\\");
-          if (!root.endsWith("\\")) {
-            root += "\\";
-          }
-          pattern = _Pattern.globEscape(root) + pattern.substr(1);
+      return responseBody;
+    }
+    function getIndexDiscriminator(discriminators, discriminatorValue, typeName) {
+      const typeNamesToCheck = [typeName];
+      while (typeNamesToCheck.length) {
+        const currentName = typeNamesToCheck.shift();
+        const indexDiscriminator = discriminatorValue === currentName ? discriminatorValue : currentName + "." + discriminatorValue;
+        if (Object.prototype.hasOwnProperty.call(discriminators, indexDiscriminator)) {
+          return discriminators[indexDiscriminator];
         } else {
-          pattern = pathHelper.ensureAbsoluteRoot(_Pattern.globEscape(process.cwd()), pattern);
+          for (const [name, mapper] of Object.entries(discriminators)) {
+            if (name.startsWith(currentName + ".") && mapper.type.uberParent === currentName && mapper.type.className) {
+              typeNamesToCheck.push(mapper.type.className);
+            }
+          }
         }
-        return pathHelper.normalizeSeparators(pattern);
       }
-      /**
-       * Attempts to unescape a pattern segment to create a literal path segment.
-       * Otherwise returns empty string.
-       */
-      static getLiteral(segment) {
-        let literal = "";
-        for (let i = 0; i < segment.length; i++) {
-          const c = segment[i];
-          if (c === "\\" && !IS_WINDOWS && i + 1 < segment.length) {
-            literal += segment[++i];
-            continue;
-          } else if (c === "*" || c === "?") {
-            return "";
-          } else if (c === "[" && i + 1 < segment.length) {
-            let set2 = "";
-            let closed = -1;
-            for (let i2 = i + 1; i2 < segment.length; i2++) {
-              const c2 = segment[i2];
-              if (c2 === "\\" && !IS_WINDOWS && i2 + 1 < segment.length) {
-                set2 += segment[++i2];
-                continue;
-              } else if (c2 === "]") {
-                closed = i2;
-                break;
-              } else {
-                set2 += c2;
-              }
-            }
-            if (closed >= 0) {
-              if (set2.length > 1) {
-                return "";
-              }
-              if (set2) {
-                literal += set2;
-                i = closed;
-                continue;
-              }
+      return void 0;
+    }
+    function getPolymorphicMapper(serializer, mapper, object, polymorphicPropertyName) {
+      const polymorphicDiscriminator = getPolymorphicDiscriminatorRecursively(serializer, mapper);
+      if (polymorphicDiscriminator) {
+        let discriminatorName = polymorphicDiscriminator[polymorphicPropertyName];
+        if (discriminatorName) {
+          if (polymorphicPropertyName === "serializedName") {
+            discriminatorName = discriminatorName.replace(/\\/gi, "");
+          }
+          const discriminatorValue = object[discriminatorName];
+          const typeName = mapper.type.uberParent ?? mapper.type.className;
+          if (typeof discriminatorValue === "string" && typeName) {
+            const polymorphicMapper = getIndexDiscriminator(serializer.modelMappers.discriminators, discriminatorValue, typeName);
+            if (polymorphicMapper) {
+              mapper = polymorphicMapper;
             }
           }
-          literal += c;
         }
-        return literal;
-      }
-      /**
-       * Escapes regexp special characters
-       * https://javascript.info/regexp-escaping
-       */
-      static regExpEscape(s) {
-        return s.replace(/[[\\^$.|?*+()]/g, "\\$&");
       }
+      return mapper;
+    }
+    function getPolymorphicDiscriminatorRecursively(serializer, mapper) {
+      return mapper.type.polymorphicDiscriminator || getPolymorphicDiscriminatorSafely(serializer, mapper.type.uberParent) || getPolymorphicDiscriminatorSafely(serializer, mapper.type.className);
+    }
+    function getPolymorphicDiscriminatorSafely(serializer, typeName) {
+      return typeName && serializer.modelMappers[typeName] && serializer.modelMappers[typeName].type.polymorphicDiscriminator;
+    }
+    exports2.MapperTypeNames = {
+      Base64Url: "Base64Url",
+      Boolean: "Boolean",
+      ByteArray: "ByteArray",
+      Composite: "Composite",
+      Date: "Date",
+      DateTime: "DateTime",
+      DateTimeRfc1123: "DateTimeRfc1123",
+      Dictionary: "Dictionary",
+      Enum: "Enum",
+      Number: "Number",
+      Object: "Object",
+      Sequence: "Sequence",
+      String: "String",
+      Stream: "Stream",
+      TimeSpan: "TimeSpan",
+      UnixTime: "UnixTime"
     };
-    exports2.Pattern = Pattern;
   }
 });
 
-// node_modules/@actions/glob/lib/internal-search-state.js
-var require_internal_search_state = __commonJS({
-  "node_modules/@actions/glob/lib/internal-search-state.js"(exports2) {
+// node_modules/@azure/core-client/dist/commonjs/state.js
+var require_state2 = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/state.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.SearchState = void 0;
-    var SearchState = class {
-      constructor(path4, level) {
-        this.path = path4;
-        this.level = level;
-      }
+    exports2.state = void 0;
+    exports2.state = {
+      operationRequestMap: /* @__PURE__ */ new WeakMap()
     };
-    exports2.SearchState = SearchState;
   }
 });
 
-// node_modules/@actions/glob/lib/internal-globber.js
-var require_internal_globber = __commonJS({
-  "node_modules/@actions/glob/lib/internal-globber.js"(exports2) {
+// node_modules/@azure/core-client/dist/commonjs/operationHelpers.js
+var require_operationHelpers = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/operationHelpers.js"(exports2) {
     "use strict";
-    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = 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 ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
-        }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve3) {
-          resolve3(value);
-        });
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getOperationArgumentValueFromParameter = getOperationArgumentValueFromParameter;
+    exports2.getOperationRequestInfo = getOperationRequestInfo;
+    var state_js_1 = require_state2();
+    function getOperationArgumentValueFromParameter(operationArguments, parameter, fallbackObject) {
+      let parameterPath = parameter.parameterPath;
+      const parameterMapper = parameter.mapper;
+      let value;
+      if (typeof parameterPath === "string") {
+        parameterPath = [parameterPath];
       }
-      return new (P || (P = Promise))(function(resolve3, 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);
+      if (Array.isArray(parameterPath)) {
+        if (parameterPath.length > 0) {
+          if (parameterMapper.isConstant) {
+            value = parameterMapper.defaultValue;
+          } else {
+            let propertySearchResult = getPropertyFromParameterPath(operationArguments, parameterPath);
+            if (!propertySearchResult.propertyFound && fallbackObject) {
+              propertySearchResult = getPropertyFromParameterPath(fallbackObject, parameterPath);
+            }
+            let useDefaultValue = false;
+            if (!propertySearchResult.propertyFound) {
+              useDefaultValue = parameterMapper.required || parameterPath[0] === "options" && parameterPath.length === 2;
+            }
+            value = useDefaultValue ? parameterMapper.defaultValue : propertySearchResult.propertyValue;
           }
         }
-        function step(result) {
-          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+      } else {
+        if (parameterMapper.required) {
+          value = {};
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    var __asyncValues2 = exports2 && exports2.__asyncValues || function(o) {
-      if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
-      var m = o[Symbol.asyncIterator], i;
-      return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() {
-        return this;
-      }, i);
-      function verb(n) {
-        i[n] = o[n] && function(v) {
-          return new Promise(function(resolve3, reject) {
-            v = o[n](v), settle(resolve3, reject, v.done, v.value);
-          });
-        };
-      }
-      function settle(resolve3, reject, d, v) {
-        Promise.resolve(v).then(function(v2) {
-          resolve3({ value: v2, done: d });
-        }, reject);
-      }
-    };
-    var __await2 = exports2 && exports2.__await || function(v) {
-      return this instanceof __await2 ? (this.v = v, this) : new __await2(v);
-    };
-    var __asyncGenerator2 = exports2 && exports2.__asyncGenerator || function(thisArg, _arguments, generator) {
-      if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
-      var g = generator.apply(thisArg, _arguments || []), i, q = [];
-      return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function() {
-        return this;
-      }, i;
-      function awaitReturn(f) {
-        return function(v) {
-          return Promise.resolve(v).then(f, reject);
-        };
-      }
-      function verb(n, f) {
-        if (g[n]) {
-          i[n] = function(v) {
-            return new Promise(function(a, b) {
-              q.push([n, v, a, b]) > 1 || resume(n, v);
-            });
-          };
-          if (f) i[n] = f(i[n]);
+        for (const propertyName in parameterPath) {
+          const propertyMapper = parameterMapper.type.modelProperties[propertyName];
+          const propertyPath = parameterPath[propertyName];
+          const propertyValue = getOperationArgumentValueFromParameter(operationArguments, {
+            parameterPath: propertyPath,
+            mapper: propertyMapper
+          }, fallbackObject);
+          if (propertyValue !== void 0) {
+            if (!value) {
+              value = {};
+            }
+            value[propertyName] = propertyValue;
+          }
         }
       }
-      function resume(n, v) {
-        try {
-          step(g[n](v));
-        } catch (e) {
-          settle(q[0][3], e);
+      return value;
+    }
+    function getPropertyFromParameterPath(parent, parameterPath) {
+      const result = { propertyFound: false };
+      let i = 0;
+      for (; i < parameterPath.length; ++i) {
+        const parameterPathPart = parameterPath[i];
+        if (parent && parameterPathPart in parent) {
+          parent = parent[parameterPathPart];
+        } else {
+          break;
         }
       }
-      function step(r) {
-        r.value instanceof __await2 ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);
-      }
-      function fulfill(value) {
-        resume("next", value);
+      if (i === parameterPath.length) {
+        result.propertyValue = parent;
+        result.propertyFound = true;
       }
-      function reject(value) {
-        resume("throw", value);
+      return result;
+    }
+    var originalRequestSymbol = /* @__PURE__ */ Symbol.for("@azure/core-client original request");
+    function hasOriginalRequest(request2) {
+      return originalRequestSymbol in request2;
+    }
+    function getOperationRequestInfo(request2) {
+      if (hasOriginalRequest(request2)) {
+        return getOperationRequestInfo(request2[originalRequestSymbol]);
       }
-      function settle(f, v) {
-        if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);
+      let info7 = state_js_1.state.operationRequestMap.get(request2);
+      if (!info7) {
+        info7 = {};
+        state_js_1.state.operationRequestMap.set(request2, info7);
       }
-    };
+      return info7;
+    }
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/deserializationPolicy.js
+var require_deserializationPolicy = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/deserializationPolicy.js"(exports2) {
+    "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.DefaultGlobber = void 0;
-    var core14 = __importStar2(require_core());
-    var fs3 = __importStar2(require("fs"));
-    var globOptionsHelper = __importStar2(require_internal_glob_options_helper());
-    var path4 = __importStar2(require("path"));
-    var patternHelper = __importStar2(require_internal_pattern_helper());
-    var internal_match_kind_1 = require_internal_match_kind();
-    var internal_pattern_1 = require_internal_pattern();
-    var internal_search_state_1 = require_internal_search_state();
-    var IS_WINDOWS = process.platform === "win32";
-    var DefaultGlobber = class _DefaultGlobber {
-      constructor(options) {
-        this.patterns = [];
-        this.searchPaths = [];
-        this.options = globOptionsHelper.getOptions(options);
+    exports2.deserializationPolicyName = void 0;
+    exports2.deserializationPolicy = deserializationPolicy;
+    var interfaces_js_1 = require_interfaces();
+    var core_rest_pipeline_1 = require_commonjs6();
+    var serializer_js_1 = require_serializer();
+    var operationHelpers_js_1 = require_operationHelpers();
+    var defaultJsonContentTypes = ["application/json", "text/json"];
+    var defaultXmlContentTypes = ["application/xml", "application/atom+xml"];
+    exports2.deserializationPolicyName = "deserializationPolicy";
+    function deserializationPolicy(options = {}) {
+      const jsonContentTypes = options.expectedContentTypes?.json ?? defaultJsonContentTypes;
+      const xmlContentTypes = options.expectedContentTypes?.xml ?? defaultXmlContentTypes;
+      const parseXML = options.parseXML;
+      const serializerOptions = options.serializerOptions;
+      const updatedOptions = {
+        xml: {
+          rootName: serializerOptions?.xml.rootName ?? "",
+          includeRoot: serializerOptions?.xml.includeRoot ?? false,
+          xmlCharKey: serializerOptions?.xml.xmlCharKey ?? interfaces_js_1.XML_CHARKEY
+        }
+      };
+      return {
+        name: exports2.deserializationPolicyName,
+        async sendRequest(request2, next) {
+          const response = await next(request2);
+          return deserializeResponseBody(jsonContentTypes, xmlContentTypes, response, updatedOptions, parseXML);
+        }
+      };
+    }
+    function getOperationResponseMap(parsedResponse) {
+      let result;
+      const request2 = parsedResponse.request;
+      const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(request2);
+      const operationSpec = operationInfo?.operationSpec;
+      if (operationSpec) {
+        if (!operationInfo?.operationResponseGetter) {
+          result = operationSpec.responses[parsedResponse.status];
+        } else {
+          result = operationInfo?.operationResponseGetter(operationSpec, parsedResponse);
+        }
       }
-      getSearchPaths() {
-        return this.searchPaths.slice();
+      return result;
+    }
+    function shouldDeserializeResponse(parsedResponse) {
+      const request2 = parsedResponse.request;
+      const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(request2);
+      const shouldDeserialize = operationInfo?.shouldDeserialize;
+      let result;
+      if (shouldDeserialize === void 0) {
+        result = true;
+      } else if (typeof shouldDeserialize === "boolean") {
+        result = shouldDeserialize;
+      } else {
+        result = shouldDeserialize(parsedResponse);
       }
-      glob() {
-        return __awaiter2(this, void 0, void 0, function* () {
-          var _a, e_1, _b, _c;
-          const result = [];
-          try {
-            for (var _d = true, _e = __asyncValues2(this.globGenerator()), _f; _f = yield _e.next(), _a = _f.done, !_a; _d = true) {
-              _c = _f.value;
-              _d = false;
-              const itemPath = _c;
-              result.push(itemPath);
-            }
-          } catch (e_1_1) {
-            e_1 = { error: e_1_1 };
-          } finally {
-            try {
-              if (!_d && !_a && (_b = _e.return)) yield _b.call(_e);
-            } finally {
-              if (e_1) throw e_1.error;
-            }
-          }
-          return result;
-        });
+      return result;
+    }
+    async function deserializeResponseBody(jsonContentTypes, xmlContentTypes, response, options, parseXML) {
+      const parsedResponse = await parse2(jsonContentTypes, xmlContentTypes, response, options, parseXML);
+      if (!shouldDeserializeResponse(parsedResponse)) {
+        return parsedResponse;
       }
-      globGenerator() {
-        return __asyncGenerator2(this, arguments, function* globGenerator_1() {
-          const options = globOptionsHelper.getOptions(this.options);
-          const patterns = [];
-          for (const pattern of this.patterns) {
-            patterns.push(pattern);
-            if (options.implicitDescendants && (pattern.trailingSeparator || pattern.segments[pattern.segments.length - 1] !== "**")) {
-              patterns.push(new internal_pattern_1.Pattern(pattern.negate, true, pattern.segments.concat("**")));
-            }
-          }
-          const stack = [];
-          for (const searchPath of patternHelper.getSearchPaths(patterns)) {
-            core14.debug(`Search path '${searchPath}'`);
-            try {
-              yield __await2(fs3.promises.lstat(searchPath));
-            } catch (err) {
-              if (err.code === "ENOENT") {
-                continue;
-              }
-              throw err;
-            }
-            stack.unshift(new internal_search_state_1.SearchState(searchPath, 1));
-          }
-          const traversalChain = [];
-          while (stack.length) {
-            const item = stack.pop();
-            const match = patternHelper.match(patterns, item.path);
-            const partialMatch = !!match || patternHelper.partialMatch(patterns, item.path);
-            if (!match && !partialMatch) {
-              continue;
-            }
-            const stats = yield __await2(
-              _DefaultGlobber.stat(item, options, traversalChain)
-              // Broken symlink, or symlink cycle detected, or no longer exists
-            );
-            if (!stats) {
-              continue;
-            }
-            if (options.excludeHiddenFiles && path4.basename(item.path).match(/^\./)) {
-              continue;
-            }
-            if (stats.isDirectory()) {
-              if (match & internal_match_kind_1.MatchKind.Directory && options.matchDirectories) {
-                yield yield __await2(item.path);
-              } else if (!partialMatch) {
-                continue;
-              }
-              const childLevel = item.level + 1;
-              const childItems = (yield __await2(fs3.promises.readdir(item.path))).map((x) => new internal_search_state_1.SearchState(path4.join(item.path, x), childLevel));
-              stack.push(...childItems.reverse());
-            } else if (match & internal_match_kind_1.MatchKind.File) {
-              yield yield __await2(item.path);
-            }
-          }
-        });
+      const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(parsedResponse.request);
+      const operationSpec = operationInfo?.operationSpec;
+      if (!operationSpec || !operationSpec.responses) {
+        return parsedResponse;
       }
-      /**
-       * Constructs a DefaultGlobber
-       */
-      static create(patterns, options) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          const result = new _DefaultGlobber(options);
-          if (IS_WINDOWS) {
-            patterns = patterns.replace(/\r\n/g, "\n");
-            patterns = patterns.replace(/\r/g, "\n");
-          }
-          const lines = patterns.split("\n").map((x) => x.trim());
-          for (const line of lines) {
-            if (!line || line.startsWith("#")) {
-              continue;
-            } else {
-              result.patterns.push(new internal_pattern_1.Pattern(line));
-            }
-          }
-          result.searchPaths.push(...patternHelper.getSearchPaths(result.patterns));
-          return result;
-        });
+      const responseSpec = getOperationResponseMap(parsedResponse);
+      const { error: error3, shouldReturnResponse } = handleErrorResponse(parsedResponse, operationSpec, responseSpec, options);
+      if (error3) {
+        throw error3;
+      } else if (shouldReturnResponse) {
+        return parsedResponse;
       }
-      static stat(item, options, traversalChain) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          let stats;
-          if (options.followSymbolicLinks) {
-            try {
-              stats = yield fs3.promises.stat(item.path);
-            } catch (err) {
-              if (err.code === "ENOENT") {
-                if (options.omitBrokenSymbolicLinks) {
-                  core14.debug(`Broken symlink '${item.path}'`);
-                  return void 0;
-                }
-                throw new Error(`No information found for the path '${item.path}'. This may indicate a broken symbolic link.`);
-              }
-              throw err;
-            }
-          } else {
-            stats = yield fs3.promises.lstat(item.path);
+      if (responseSpec) {
+        if (responseSpec.bodyMapper) {
+          let valueToDeserialize = parsedResponse.parsedBody;
+          if (operationSpec.isXML && responseSpec.bodyMapper.type.name === serializer_js_1.MapperTypeNames.Sequence) {
+            valueToDeserialize = typeof valueToDeserialize === "object" ? valueToDeserialize[responseSpec.bodyMapper.xmlElementName] : [];
           }
-          if (stats.isDirectory() && options.followSymbolicLinks) {
-            const realPath = yield fs3.promises.realpath(item.path);
-            while (traversalChain.length >= item.level) {
-              traversalChain.pop();
-            }
-            if (traversalChain.some((x) => x === realPath)) {
-              core14.debug(`Symlink cycle detected for path '${item.path}' and realpath '${realPath}'`);
-              return void 0;
-            }
-            traversalChain.push(realPath);
+          try {
+            parsedResponse.parsedBody = operationSpec.serializer.deserialize(responseSpec.bodyMapper, valueToDeserialize, "operationRes.parsedBody", options);
+          } catch (deserializeError) {
+            const restError = new core_rest_pipeline_1.RestError(`Error ${deserializeError} occurred in deserializing the responseBody - ${parsedResponse.bodyAsText}`, {
+              statusCode: parsedResponse.status,
+              request: parsedResponse.request,
+              response: parsedResponse
+            });
+            throw restError;
           }
-          return stats;
-        });
-      }
-    };
-    exports2.DefaultGlobber = DefaultGlobber;
-  }
-});
-
-// node_modules/@actions/glob/lib/internal-hash-files.js
-var require_internal_hash_files = __commonJS({
-  "node_modules/@actions/glob/lib/internal-hash-files.js"(exports2) {
-    "use strict";
-    var __createBinding2 = 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];
-        } };
+        } else if (operationSpec.httpMethod === "HEAD") {
+          parsedResponse.parsedBody = response.status >= 200 && response.status < 300;
+        }
+        if (responseSpec.headersMapper) {
+          parsedResponse.parsedHeaders = operationSpec.serializer.deserialize(responseSpec.headersMapper, parsedResponse.headers.toJSON(), "operationRes.parsedHeaders", { xml: {}, ignoreUnknownProperties: true });
+        }
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = 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 ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+      return parsedResponse;
+    }
+    function isOperationSpecEmpty(operationSpec) {
+      const expectedStatusCodes = Object.keys(operationSpec.responses);
+      return expectedStatusCodes.length === 0 || expectedStatusCodes.length === 1 && expectedStatusCodes[0] === "default";
+    }
+    function handleErrorResponse(parsedResponse, operationSpec, responseSpec, options) {
+      const isSuccessByStatus = 200 <= parsedResponse.status && parsedResponse.status < 300;
+      const isExpectedStatusCode = isOperationSpecEmpty(operationSpec) ? isSuccessByStatus : !!responseSpec;
+      if (isExpectedStatusCode) {
+        if (responseSpec) {
+          if (!responseSpec.isError) {
+            return { error: null, shouldReturnResponse: false };
+          }
+        } else {
+          return { error: null, shouldReturnResponse: false };
         }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve3) {
-          resolve3(value);
-        });
       }
-      return new (P || (P = Promise))(function(resolve3, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
+      const errorResponseSpec = responseSpec ?? operationSpec.responses.default;
+      const initialErrorMessage = parsedResponse.request.streamResponseStatusCodes?.has(parsedResponse.status) ? `Unexpected status code: ${parsedResponse.status}` : parsedResponse.bodyAsText;
+      const error3 = new core_rest_pipeline_1.RestError(initialErrorMessage, {
+        statusCode: parsedResponse.status,
+        request: parsedResponse.request,
+        response: parsedResponse
+      });
+      if (!errorResponseSpec && !(parsedResponse.parsedBody?.error?.code && parsedResponse.parsedBody?.error?.message)) {
+        throw error3;
+      }
+      const defaultBodyMapper = errorResponseSpec?.bodyMapper;
+      const defaultHeadersMapper = errorResponseSpec?.headersMapper;
+      try {
+        if (parsedResponse.parsedBody) {
+          const parsedBody = parsedResponse.parsedBody;
+          let deserializedError;
+          if (defaultBodyMapper) {
+            let valueToDeserialize = parsedBody;
+            if (operationSpec.isXML && defaultBodyMapper.type.name === serializer_js_1.MapperTypeNames.Sequence) {
+              valueToDeserialize = [];
+              const elementName = defaultBodyMapper.xmlElementName;
+              if (typeof parsedBody === "object" && elementName) {
+                valueToDeserialize = parsedBody[elementName];
+              }
+            }
+            deserializedError = operationSpec.serializer.deserialize(defaultBodyMapper, valueToDeserialize, "error.response.parsedBody", options);
           }
-        }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
+          const internalError = parsedBody.error || deserializedError || parsedBody;
+          error3.code = internalError.code;
+          if (internalError.message) {
+            error3.message = internalError.message;
+          }
+          if (defaultBodyMapper) {
+            error3.response.parsedBody = deserializedError;
           }
         }
-        function step(result) {
-          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        if (parsedResponse.headers && defaultHeadersMapper) {
+          error3.response.parsedHeaders = operationSpec.serializer.deserialize(defaultHeadersMapper, parsedResponse.headers.toJSON(), "operationRes.parsedHeaders");
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    var __asyncValues2 = exports2 && exports2.__asyncValues || function(o) {
-      if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
-      var m = o[Symbol.asyncIterator], i;
-      return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() {
-        return this;
-      }, i);
-      function verb(n) {
-        i[n] = o[n] && function(v) {
-          return new Promise(function(resolve3, reject) {
-            v = o[n](v), settle(resolve3, reject, v.done, v.value);
-          });
-        };
-      }
-      function settle(resolve3, reject, d, v) {
-        Promise.resolve(v).then(function(v2) {
-          resolve3({ value: v2, done: d });
-        }, reject);
+      } catch (defaultError) {
+        error3.message = `Error "${defaultError.message}" occurred in deserializing the responseBody - "${parsedResponse.bodyAsText}" for the default response.`;
       }
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.hashFiles = hashFiles2;
-    var crypto2 = __importStar2(require("crypto"));
-    var core14 = __importStar2(require_core());
-    var fs3 = __importStar2(require("fs"));
-    var stream = __importStar2(require("stream"));
-    var util = __importStar2(require("util"));
-    var path4 = __importStar2(require("path"));
-    function hashFiles2(globber_1, currentWorkspace_1) {
-      return __awaiter2(this, arguments, void 0, function* (globber, currentWorkspace, verbose = false) {
-        var _a, e_1, _b, _c;
-        var _d;
-        const writeDelegate = verbose ? core14.info : core14.debug;
-        let hasMatch = false;
-        const githubWorkspace = currentWorkspace ? currentWorkspace : (_d = process.env["GITHUB_WORKSPACE"]) !== null && _d !== void 0 ? _d : process.cwd();
-        const result = crypto2.createHash("sha256");
-        let count = 0;
+      return { error: error3, shouldReturnResponse: false };
+    }
+    async function parse2(jsonContentTypes, xmlContentTypes, operationResponse, opts, parseXML) {
+      if (!operationResponse.request.streamResponseStatusCodes?.has(operationResponse.status) && operationResponse.bodyAsText) {
+        const text = operationResponse.bodyAsText;
+        const contentType = operationResponse.headers.get("Content-Type") || "";
+        const contentComponents = !contentType ? [] : contentType.split(";").map((component) => component.toLowerCase());
         try {
-          for (var _e = true, _f = __asyncValues2(globber.globGenerator()), _g; _g = yield _f.next(), _a = _g.done, !_a; _e = true) {
-            _c = _g.value;
-            _e = false;
-            const file = _c;
-            writeDelegate(file);
-            if (!file.startsWith(`${githubWorkspace}${path4.sep}`)) {
-              writeDelegate(`Ignore '${file}' since it is not under GITHUB_WORKSPACE.`);
-              continue;
-            }
-            if (fs3.statSync(file).isDirectory()) {
-              writeDelegate(`Skip directory '${file}'.`);
-              continue;
-            }
-            const hash = crypto2.createHash("sha256");
-            const pipeline = util.promisify(stream.pipeline);
-            yield pipeline(fs3.createReadStream(file), hash);
-            result.write(hash.digest());
-            count++;
-            if (!hasMatch) {
-              hasMatch = true;
+          if (contentComponents.length === 0 || contentComponents.some((component) => jsonContentTypes.indexOf(component) !== -1)) {
+            operationResponse.parsedBody = JSON.parse(text);
+            return operationResponse;
+          } else if (contentComponents.some((component) => xmlContentTypes.indexOf(component) !== -1)) {
+            if (!parseXML) {
+              throw new Error("Parsing XML not supported.");
             }
+            const body = await parseXML(text, opts.xml);
+            operationResponse.parsedBody = body;
+            return operationResponse;
           }
-        } catch (e_1_1) {
-          e_1 = { error: e_1_1 };
-        } finally {
-          try {
-            if (!_e && !_a && (_b = _f.return)) yield _b.call(_f);
-          } finally {
-            if (e_1) throw e_1.error;
-          }
-        }
-        result.end();
-        if (hasMatch) {
-          writeDelegate(`Found ${count} files to hash.`);
-          return result.digest("hex");
-        } else {
-          writeDelegate(`No matches found for glob`);
-          return "";
+        } catch (err) {
+          const msg = `Error "${err}" occurred while parsing the response body - ${operationResponse.bodyAsText}.`;
+          const errCode = err.code || core_rest_pipeline_1.RestError.PARSE_ERROR;
+          const e = new core_rest_pipeline_1.RestError(msg, {
+            code: errCode,
+            statusCode: operationResponse.status,
+            request: operationResponse.request,
+            response: operationResponse
+          });
+          throw e;
         }
-      });
+      }
+      return operationResponse;
     }
   }
 });
 
-// node_modules/@actions/glob/lib/glob.js
-var require_glob = __commonJS({
-  "node_modules/@actions/glob/lib/glob.js"(exports2) {
+// node_modules/@azure/core-client/dist/commonjs/interfaceHelpers.js
+var require_interfaceHelpers = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/interfaceHelpers.js"(exports2) {
     "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve3) {
-          resolve3(value);
-        });
-      }
-      return new (P || (P = Promise))(function(resolve3, 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 ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.create = create3;
-    exports2.hashFiles = hashFiles2;
-    var internal_globber_1 = require_internal_globber();
-    var internal_hash_files_1 = require_internal_hash_files();
-    function create3(patterns, options) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        return yield internal_globber_1.DefaultGlobber.create(patterns, options);
-      });
-    }
-    function hashFiles2(patterns_1) {
-      return __awaiter2(this, arguments, void 0, function* (patterns, currentWorkspace = "", options, verbose = false) {
-        let followSymbolicLinks = true;
-        if (options && typeof options.followSymbolicLinks === "boolean") {
-          followSymbolicLinks = options.followSymbolicLinks;
+    exports2.getStreamingResponseStatusCodes = getStreamingResponseStatusCodes;
+    exports2.getPathStringFromParameter = getPathStringFromParameter;
+    var serializer_js_1 = require_serializer();
+    function getStreamingResponseStatusCodes(operationSpec) {
+      const result = /* @__PURE__ */ new Set();
+      for (const statusCode in operationSpec.responses) {
+        const operationResponse = operationSpec.responses[statusCode];
+        if (operationResponse.bodyMapper && operationResponse.bodyMapper.type.name === serializer_js_1.MapperTypeNames.Stream) {
+          result.add(Number(statusCode));
         }
-        const globber = yield create3(patterns, { followSymbolicLinks });
-        return (0, internal_hash_files_1.hashFiles)(globber, currentWorkspace, verbose);
-      });
+      }
+      return result;
+    }
+    function getPathStringFromParameter(parameter) {
+      const { parameterPath, mapper } = parameter;
+      let result;
+      if (typeof parameterPath === "string") {
+        result = parameterPath;
+      } else if (Array.isArray(parameterPath)) {
+        result = parameterPath.join(".");
+      } else {
+        result = mapper.serializedName;
+      }
+      return result;
     }
   }
 });
 
-// node_modules/@actions/cache/node_modules/semver/semver.js
-var require_semver3 = __commonJS({
-  "node_modules/@actions/cache/node_modules/semver/semver.js"(exports2, module2) {
-    exports2 = module2.exports = SemVer;
-    var debug4;
-    if (typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG)) {
-      debug4 = function() {
-        var args = Array.prototype.slice.call(arguments, 0);
-        args.unshift("SEMVER");
-        console.log.apply(console, args);
-      };
-    } else {
-      debug4 = function() {
+// node_modules/@azure/core-client/dist/commonjs/serializationPolicy.js
+var require_serializationPolicy = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/serializationPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.serializationPolicyName = void 0;
+    exports2.serializationPolicy = serializationPolicy;
+    exports2.serializeHeaders = serializeHeaders;
+    exports2.serializeRequestBody = serializeRequestBody;
+    var interfaces_js_1 = require_interfaces();
+    var operationHelpers_js_1 = require_operationHelpers();
+    var serializer_js_1 = require_serializer();
+    var interfaceHelpers_js_1 = require_interfaceHelpers();
+    exports2.serializationPolicyName = "serializationPolicy";
+    function serializationPolicy(options = {}) {
+      const stringifyXML = options.stringifyXML;
+      return {
+        name: exports2.serializationPolicyName,
+        async sendRequest(request2, next) {
+          const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(request2);
+          const operationSpec = operationInfo?.operationSpec;
+          const operationArguments = operationInfo?.operationArguments;
+          if (operationSpec && operationArguments) {
+            serializeHeaders(request2, operationArguments, operationSpec);
+            serializeRequestBody(request2, operationArguments, operationSpec, stringifyXML);
+          }
+          return next(request2);
+        }
       };
     }
-    exports2.SEMVER_SPEC_VERSION = "2.0.0";
-    var MAX_LENGTH = 256;
-    var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */
-    9007199254740991;
-    var MAX_SAFE_COMPONENT_LENGTH = 16;
-    var MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6;
-    var re = exports2.re = [];
-    var safeRe = exports2.safeRe = [];
-    var src = exports2.src = [];
-    var t = exports2.tokens = {};
-    var R = 0;
-    function tok(n) {
-      t[n] = R++;
-    }
-    var LETTERDASHNUMBER = "[a-zA-Z0-9-]";
-    var safeRegexReplacements = [
-      ["\\s", 1],
-      ["\\d", MAX_LENGTH],
-      [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH]
-    ];
-    function makeSafeRe(value) {
-      for (var i2 = 0; i2 < safeRegexReplacements.length; i2++) {
-        var token = safeRegexReplacements[i2][0];
-        var max = safeRegexReplacements[i2][1];
-        value = value.split(token + "*").join(token + "{0," + max + "}").split(token + "+").join(token + "{1," + max + "}");
+    function serializeHeaders(request2, operationArguments, operationSpec) {
+      if (operationSpec.headerParameters) {
+        for (const headerParameter of operationSpec.headerParameters) {
+          let headerValue = (0, operationHelpers_js_1.getOperationArgumentValueFromParameter)(operationArguments, headerParameter);
+          if (headerValue !== null && headerValue !== void 0 || headerParameter.mapper.required) {
+            headerValue = operationSpec.serializer.serialize(headerParameter.mapper, headerValue, (0, interfaceHelpers_js_1.getPathStringFromParameter)(headerParameter));
+            const headerCollectionPrefix = headerParameter.mapper.headerCollectionPrefix;
+            if (headerCollectionPrefix) {
+              for (const key of Object.keys(headerValue)) {
+                request2.headers.set(headerCollectionPrefix + key, headerValue[key]);
+              }
+            } else {
+              request2.headers.set(headerParameter.mapper.serializedName || (0, interfaceHelpers_js_1.getPathStringFromParameter)(headerParameter), headerValue);
+            }
+          }
+        }
       }
-      return value;
-    }
-    tok("NUMERICIDENTIFIER");
-    src[t.NUMERICIDENTIFIER] = "0|[1-9]\\d*";
-    tok("NUMERICIDENTIFIERLOOSE");
-    src[t.NUMERICIDENTIFIERLOOSE] = "\\d+";
-    tok("NONNUMERICIDENTIFIER");
-    src[t.NONNUMERICIDENTIFIER] = "\\d*[a-zA-Z-]" + LETTERDASHNUMBER + "*";
-    tok("MAINVERSION");
-    src[t.MAINVERSION] = "(" + src[t.NUMERICIDENTIFIER] + ")\\.(" + src[t.NUMERICIDENTIFIER] + ")\\.(" + src[t.NUMERICIDENTIFIER] + ")";
-    tok("MAINVERSIONLOOSE");
-    src[t.MAINVERSIONLOOSE] = "(" + src[t.NUMERICIDENTIFIERLOOSE] + ")\\.(" + src[t.NUMERICIDENTIFIERLOOSE] + ")\\.(" + src[t.NUMERICIDENTIFIERLOOSE] + ")";
-    tok("PRERELEASEIDENTIFIER");
-    src[t.PRERELEASEIDENTIFIER] = "(?:" + src[t.NUMERICIDENTIFIER] + "|" + src[t.NONNUMERICIDENTIFIER] + ")";
-    tok("PRERELEASEIDENTIFIERLOOSE");
-    src[t.PRERELEASEIDENTIFIERLOOSE] = "(?:" + src[t.NUMERICIDENTIFIERLOOSE] + "|" + src[t.NONNUMERICIDENTIFIER] + ")";
-    tok("PRERELEASE");
-    src[t.PRERELEASE] = "(?:-(" + src[t.PRERELEASEIDENTIFIER] + "(?:\\." + src[t.PRERELEASEIDENTIFIER] + ")*))";
-    tok("PRERELEASELOOSE");
-    src[t.PRERELEASELOOSE] = "(?:-?(" + src[t.PRERELEASEIDENTIFIERLOOSE] + "(?:\\." + src[t.PRERELEASEIDENTIFIERLOOSE] + ")*))";
-    tok("BUILDIDENTIFIER");
-    src[t.BUILDIDENTIFIER] = LETTERDASHNUMBER + "+";
-    tok("BUILD");
-    src[t.BUILD] = "(?:\\+(" + src[t.BUILDIDENTIFIER] + "(?:\\." + src[t.BUILDIDENTIFIER] + ")*))";
-    tok("FULL");
-    tok("FULLPLAIN");
-    src[t.FULLPLAIN] = "v?" + src[t.MAINVERSION] + src[t.PRERELEASE] + "?" + src[t.BUILD] + "?";
-    src[t.FULL] = "^" + src[t.FULLPLAIN] + "$";
-    tok("LOOSEPLAIN");
-    src[t.LOOSEPLAIN] = "[v=\\s]*" + src[t.MAINVERSIONLOOSE] + src[t.PRERELEASELOOSE] + "?" + src[t.BUILD] + "?";
-    tok("LOOSE");
-    src[t.LOOSE] = "^" + src[t.LOOSEPLAIN] + "$";
-    tok("GTLT");
-    src[t.GTLT] = "((?:<|>)?=?)";
-    tok("XRANGEIDENTIFIERLOOSE");
-    src[t.XRANGEIDENTIFIERLOOSE] = src[t.NUMERICIDENTIFIERLOOSE] + "|x|X|\\*";
-    tok("XRANGEIDENTIFIER");
-    src[t.XRANGEIDENTIFIER] = src[t.NUMERICIDENTIFIER] + "|x|X|\\*";
-    tok("XRANGEPLAIN");
-    src[t.XRANGEPLAIN] = "[v=\\s]*(" + src[t.XRANGEIDENTIFIER] + ")(?:\\.(" + src[t.XRANGEIDENTIFIER] + ")(?:\\.(" + src[t.XRANGEIDENTIFIER] + ")(?:" + src[t.PRERELEASE] + ")?" + src[t.BUILD] + "?)?)?";
-    tok("XRANGEPLAINLOOSE");
-    src[t.XRANGEPLAINLOOSE] = "[v=\\s]*(" + src[t.XRANGEIDENTIFIERLOOSE] + ")(?:\\.(" + src[t.XRANGEIDENTIFIERLOOSE] + ")(?:\\.(" + src[t.XRANGEIDENTIFIERLOOSE] + ")(?:" + src[t.PRERELEASELOOSE] + ")?" + src[t.BUILD] + "?)?)?";
-    tok("XRANGE");
-    src[t.XRANGE] = "^" + src[t.GTLT] + "\\s*" + src[t.XRANGEPLAIN] + "$";
-    tok("XRANGELOOSE");
-    src[t.XRANGELOOSE] = "^" + src[t.GTLT] + "\\s*" + src[t.XRANGEPLAINLOOSE] + "$";
-    tok("COERCE");
-    src[t.COERCE] = "(^|[^\\d])(\\d{1," + MAX_SAFE_COMPONENT_LENGTH + "})(?:\\.(\\d{1," + MAX_SAFE_COMPONENT_LENGTH + "}))?(?:\\.(\\d{1," + MAX_SAFE_COMPONENT_LENGTH + "}))?(?:$|[^\\d])";
-    tok("COERCERTL");
-    re[t.COERCERTL] = new RegExp(src[t.COERCE], "g");
-    safeRe[t.COERCERTL] = new RegExp(makeSafeRe(src[t.COERCE]), "g");
-    tok("LONETILDE");
-    src[t.LONETILDE] = "(?:~>?)";
-    tok("TILDETRIM");
-    src[t.TILDETRIM] = "(\\s*)" + src[t.LONETILDE] + "\\s+";
-    re[t.TILDETRIM] = new RegExp(src[t.TILDETRIM], "g");
-    safeRe[t.TILDETRIM] = new RegExp(makeSafeRe(src[t.TILDETRIM]), "g");
-    var tildeTrimReplace = "$1~";
-    tok("TILDE");
-    src[t.TILDE] = "^" + src[t.LONETILDE] + src[t.XRANGEPLAIN] + "$";
-    tok("TILDELOOSE");
-    src[t.TILDELOOSE] = "^" + src[t.LONETILDE] + src[t.XRANGEPLAINLOOSE] + "$";
-    tok("LONECARET");
-    src[t.LONECARET] = "(?:\\^)";
-    tok("CARETTRIM");
-    src[t.CARETTRIM] = "(\\s*)" + src[t.LONECARET] + "\\s+";
-    re[t.CARETTRIM] = new RegExp(src[t.CARETTRIM], "g");
-    safeRe[t.CARETTRIM] = new RegExp(makeSafeRe(src[t.CARETTRIM]), "g");
-    var caretTrimReplace = "$1^";
-    tok("CARET");
-    src[t.CARET] = "^" + src[t.LONECARET] + src[t.XRANGEPLAIN] + "$";
-    tok("CARETLOOSE");
-    src[t.CARETLOOSE] = "^" + src[t.LONECARET] + src[t.XRANGEPLAINLOOSE] + "$";
-    tok("COMPARATORLOOSE");
-    src[t.COMPARATORLOOSE] = "^" + src[t.GTLT] + "\\s*(" + src[t.LOOSEPLAIN] + ")$|^$";
-    tok("COMPARATOR");
-    src[t.COMPARATOR] = "^" + src[t.GTLT] + "\\s*(" + src[t.FULLPLAIN] + ")$|^$";
-    tok("COMPARATORTRIM");
-    src[t.COMPARATORTRIM] = "(\\s*)" + src[t.GTLT] + "\\s*(" + src[t.LOOSEPLAIN] + "|" + src[t.XRANGEPLAIN] + ")";
-    re[t.COMPARATORTRIM] = new RegExp(src[t.COMPARATORTRIM], "g");
-    safeRe[t.COMPARATORTRIM] = new RegExp(makeSafeRe(src[t.COMPARATORTRIM]), "g");
-    var comparatorTrimReplace = "$1$2$3";
-    tok("HYPHENRANGE");
-    src[t.HYPHENRANGE] = "^\\s*(" + src[t.XRANGEPLAIN] + ")\\s+-\\s+(" + src[t.XRANGEPLAIN] + ")\\s*$";
-    tok("HYPHENRANGELOOSE");
-    src[t.HYPHENRANGELOOSE] = "^\\s*(" + src[t.XRANGEPLAINLOOSE] + ")\\s+-\\s+(" + src[t.XRANGEPLAINLOOSE] + ")\\s*$";
-    tok("STAR");
-    src[t.STAR] = "(<|>)?=?\\s*\\*";
-    for (i = 0; i < R; i++) {
-      debug4(i, src[i]);
-      if (!re[i]) {
-        re[i] = new RegExp(src[i]);
-        safeRe[i] = new RegExp(makeSafeRe(src[i]));
+      const customHeaders = operationArguments.options?.requestOptions?.customHeaders;
+      if (customHeaders) {
+        for (const customHeaderName of Object.keys(customHeaders)) {
+          request2.headers.set(customHeaderName, customHeaders[customHeaderName]);
+        }
       }
     }
-    var i;
-    exports2.parse = parse2;
-    function parse2(version, options) {
-      if (!options || typeof options !== "object") {
-        options = {
-          loose: !!options,
-          includePrerelease: false
-        };
-      }
-      if (version instanceof SemVer) {
-        return version;
+    function serializeRequestBody(request2, operationArguments, operationSpec, stringifyXML = function() {
+      throw new Error("XML serialization unsupported!");
+    }) {
+      const serializerOptions = operationArguments.options?.serializerOptions;
+      const updatedOptions = {
+        xml: {
+          rootName: serializerOptions?.xml.rootName ?? "",
+          includeRoot: serializerOptions?.xml.includeRoot ?? false,
+          xmlCharKey: serializerOptions?.xml.xmlCharKey ?? interfaces_js_1.XML_CHARKEY
+        }
+      };
+      const xmlCharKey = updatedOptions.xml.xmlCharKey;
+      if (operationSpec.requestBody && operationSpec.requestBody.mapper) {
+        request2.body = (0, operationHelpers_js_1.getOperationArgumentValueFromParameter)(operationArguments, operationSpec.requestBody);
+        const bodyMapper = operationSpec.requestBody.mapper;
+        const { required, serializedName, xmlName, xmlElementName, xmlNamespace, xmlNamespacePrefix, nullable } = bodyMapper;
+        const typeName = bodyMapper.type.name;
+        try {
+          if (request2.body !== void 0 && request2.body !== null || nullable && request2.body === null || required) {
+            const requestBodyParameterPathString = (0, interfaceHelpers_js_1.getPathStringFromParameter)(operationSpec.requestBody);
+            request2.body = operationSpec.serializer.serialize(bodyMapper, request2.body, requestBodyParameterPathString, updatedOptions);
+            const isStream = typeName === serializer_js_1.MapperTypeNames.Stream;
+            if (operationSpec.isXML) {
+              const xmlnsKey = xmlNamespacePrefix ? `xmlns:${xmlNamespacePrefix}` : "xmlns";
+              const value = getXmlValueWithNamespace(xmlNamespace, xmlnsKey, typeName, request2.body, updatedOptions);
+              if (typeName === serializer_js_1.MapperTypeNames.Sequence) {
+                request2.body = stringifyXML(prepareXMLRootList(value, xmlElementName || xmlName || serializedName, xmlnsKey, xmlNamespace), { rootName: xmlName || serializedName, xmlCharKey });
+              } else if (!isStream) {
+                request2.body = stringifyXML(value, {
+                  rootName: xmlName || serializedName,
+                  xmlCharKey
+                });
+              }
+            } else if (typeName === serializer_js_1.MapperTypeNames.String && (operationSpec.contentType?.match("text/plain") || operationSpec.mediaType === "text")) {
+              return;
+            } else if (!isStream) {
+              request2.body = JSON.stringify(request2.body);
+            }
+          }
+        } catch (error3) {
+          throw new Error(`Error "${error3.message}" occurred in serializing the payload - ${JSON.stringify(serializedName, void 0, "  ")}.`);
+        }
+      } else if (operationSpec.formDataParameters && operationSpec.formDataParameters.length > 0) {
+        request2.formData = {};
+        for (const formDataParameter of operationSpec.formDataParameters) {
+          const formDataParameterValue = (0, operationHelpers_js_1.getOperationArgumentValueFromParameter)(operationArguments, formDataParameter);
+          if (formDataParameterValue !== void 0 && formDataParameterValue !== null) {
+            const formDataParameterPropertyName = formDataParameter.mapper.serializedName || (0, interfaceHelpers_js_1.getPathStringFromParameter)(formDataParameter);
+            request2.formData[formDataParameterPropertyName] = operationSpec.serializer.serialize(formDataParameter.mapper, formDataParameterValue, (0, interfaceHelpers_js_1.getPathStringFromParameter)(formDataParameter), updatedOptions);
+          }
+        }
       }
-      if (typeof version !== "string") {
-        return null;
+    }
+    function getXmlValueWithNamespace(xmlNamespace, xmlnsKey, typeName, serializedValue, options) {
+      if (xmlNamespace && !["Composite", "Sequence", "Dictionary"].includes(typeName)) {
+        const result = {};
+        result[options.xml.xmlCharKey] = serializedValue;
+        result[interfaces_js_1.XML_ATTRKEY] = { [xmlnsKey]: xmlNamespace };
+        return result;
       }
-      if (version.length > MAX_LENGTH) {
-        return null;
+      return serializedValue;
+    }
+    function prepareXMLRootList(obj, elementName, xmlNamespaceKey, xmlNamespace) {
+      if (!Array.isArray(obj)) {
+        obj = [obj];
       }
-      var r = options.loose ? safeRe[t.LOOSE] : safeRe[t.FULL];
-      if (!r.test(version)) {
-        return null;
+      if (!xmlNamespaceKey || !xmlNamespace) {
+        return { [elementName]: obj };
       }
-      try {
-        return new SemVer(version, options);
-      } catch (er) {
-        return null;
+      const result = { [elementName]: obj };
+      result[interfaces_js_1.XML_ATTRKEY] = { [xmlNamespaceKey]: xmlNamespace };
+      return result;
+    }
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/pipeline.js
+var require_pipeline3 = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/pipeline.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createClientPipeline = createClientPipeline;
+    var deserializationPolicy_js_1 = require_deserializationPolicy();
+    var core_rest_pipeline_1 = require_commonjs6();
+    var serializationPolicy_js_1 = require_serializationPolicy();
+    function createClientPipeline(options = {}) {
+      const pipeline = (0, core_rest_pipeline_1.createPipelineFromOptions)(options ?? {});
+      if (options.credentialOptions) {
+        pipeline.addPolicy((0, core_rest_pipeline_1.bearerTokenAuthenticationPolicy)({
+          credential: options.credentialOptions.credential,
+          scopes: options.credentialOptions.credentialScopes
+        }));
       }
+      pipeline.addPolicy((0, serializationPolicy_js_1.serializationPolicy)(options.serializationOptions), { phase: "Serialize" });
+      pipeline.addPolicy((0, deserializationPolicy_js_1.deserializationPolicy)(options.deserializationOptions), {
+        phase: "Deserialize"
+      });
+      return pipeline;
     }
-    exports2.valid = valid3;
-    function valid3(version, options) {
-      var v = parse2(version, options);
-      return v ? v.version : null;
-    }
-    exports2.clean = clean3;
-    function clean3(version, options) {
-      var s = parse2(version.trim().replace(/^[=v]+/, ""), options);
-      return s ? s.version : null;
-    }
-    exports2.SemVer = SemVer;
-    function SemVer(version, options) {
-      if (!options || typeof options !== "object") {
-        options = {
-          loose: !!options,
-          includePrerelease: false
-        };
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/httpClientCache.js
+var require_httpClientCache = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/httpClientCache.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getCachedDefaultHttpClient = getCachedDefaultHttpClient;
+    var core_rest_pipeline_1 = require_commonjs6();
+    var cachedHttpClient;
+    function getCachedDefaultHttpClient() {
+      if (!cachedHttpClient) {
+        cachedHttpClient = (0, core_rest_pipeline_1.createDefaultHttpClient)();
       }
-      if (version instanceof SemVer) {
-        if (version.loose === options.loose) {
-          return version;
+      return cachedHttpClient;
+    }
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/urlHelpers.js
+var require_urlHelpers2 = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/urlHelpers.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getRequestUrl = getRequestUrl;
+    exports2.appendQueryParams = appendQueryParams;
+    var operationHelpers_js_1 = require_operationHelpers();
+    var interfaceHelpers_js_1 = require_interfaceHelpers();
+    var CollectionFormatToDelimiterMap = {
+      CSV: ",",
+      SSV: " ",
+      Multi: "Multi",
+      TSV: "	",
+      Pipes: "|"
+    };
+    function getRequestUrl(baseUri, operationSpec, operationArguments, fallbackObject) {
+      const urlReplacements = calculateUrlReplacements(operationSpec, operationArguments, fallbackObject);
+      let isAbsolutePath = false;
+      let requestUrl = replaceAll(baseUri, urlReplacements);
+      if (operationSpec.path) {
+        let path4 = replaceAll(operationSpec.path, urlReplacements);
+        if (operationSpec.path === "/{nextLink}" && path4.startsWith("/")) {
+          path4 = path4.substring(1);
+        }
+        if (isAbsoluteUrl(path4)) {
+          requestUrl = path4;
+          isAbsolutePath = true;
         } else {
-          version = version.version;
+          requestUrl = appendPath(requestUrl, path4);
         }
-      } else if (typeof version !== "string") {
-        throw new TypeError("Invalid Version: " + version);
-      }
-      if (version.length > MAX_LENGTH) {
-        throw new TypeError("version is longer than " + MAX_LENGTH + " characters");
       }
-      if (!(this instanceof SemVer)) {
-        return new SemVer(version, options);
+      const { queryParams, sequenceParams } = calculateQueryParameters(operationSpec, operationArguments, fallbackObject);
+      requestUrl = appendQueryParams(requestUrl, queryParams, sequenceParams, isAbsolutePath);
+      return requestUrl;
+    }
+    function replaceAll(input, replacements) {
+      let result = input;
+      for (const [searchValue, replaceValue] of replacements) {
+        result = result.split(searchValue).join(replaceValue);
       }
-      debug4("SemVer", version, options);
-      this.options = options;
-      this.loose = !!options.loose;
-      var m = version.trim().match(options.loose ? safeRe[t.LOOSE] : safeRe[t.FULL]);
-      if (!m) {
-        throw new TypeError("Invalid Version: " + version);
+      return result;
+    }
+    function calculateUrlReplacements(operationSpec, operationArguments, fallbackObject) {
+      const result = /* @__PURE__ */ new Map();
+      if (operationSpec.urlParameters?.length) {
+        for (const urlParameter of operationSpec.urlParameters) {
+          let urlParameterValue = (0, operationHelpers_js_1.getOperationArgumentValueFromParameter)(operationArguments, urlParameter, fallbackObject);
+          const parameterPathString = (0, interfaceHelpers_js_1.getPathStringFromParameter)(urlParameter);
+          urlParameterValue = operationSpec.serializer.serialize(urlParameter.mapper, urlParameterValue, parameterPathString);
+          if (!urlParameter.skipEncoding) {
+            urlParameterValue = encodeURIComponent(urlParameterValue);
+          }
+          result.set(`{${urlParameter.mapper.serializedName || parameterPathString}}`, urlParameterValue);
+        }
       }
-      this.raw = version;
-      this.major = +m[1];
-      this.minor = +m[2];
-      this.patch = +m[3];
-      if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
-        throw new TypeError("Invalid major version");
+      return result;
+    }
+    function isAbsoluteUrl(url) {
+      return url.includes("://");
+    }
+    function appendPath(url, pathToAppend) {
+      if (!pathToAppend) {
+        return url;
       }
-      if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
-        throw new TypeError("Invalid minor version");
+      const parsedUrl = new URL(url);
+      let newPath = parsedUrl.pathname;
+      if (!newPath.endsWith("/")) {
+        newPath = `${newPath}/`;
       }
-      if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
-        throw new TypeError("Invalid patch version");
+      if (pathToAppend.startsWith("/")) {
+        pathToAppend = pathToAppend.substring(1);
       }
-      if (!m[4]) {
-        this.prerelease = [];
+      const searchStart = pathToAppend.indexOf("?");
+      if (searchStart !== -1) {
+        const path4 = pathToAppend.substring(0, searchStart);
+        const search = pathToAppend.substring(searchStart + 1);
+        newPath = newPath + path4;
+        if (search) {
+          parsedUrl.search = parsedUrl.search ? `${parsedUrl.search}&${search}` : search;
+        }
       } else {
-        this.prerelease = m[4].split(".").map(function(id) {
-          if (/^[0-9]+$/.test(id)) {
-            var num = +id;
-            if (num >= 0 && num < MAX_SAFE_INTEGER) {
-              return num;
+        newPath = newPath + pathToAppend;
+      }
+      parsedUrl.pathname = newPath;
+      return parsedUrl.toString();
+    }
+    function calculateQueryParameters(operationSpec, operationArguments, fallbackObject) {
+      const result = /* @__PURE__ */ new Map();
+      const sequenceParams = /* @__PURE__ */ new Set();
+      if (operationSpec.queryParameters?.length) {
+        for (const queryParameter of operationSpec.queryParameters) {
+          if (queryParameter.mapper.type.name === "Sequence" && queryParameter.mapper.serializedName) {
+            sequenceParams.add(queryParameter.mapper.serializedName);
+          }
+          let queryParameterValue = (0, operationHelpers_js_1.getOperationArgumentValueFromParameter)(operationArguments, queryParameter, fallbackObject);
+          if (queryParameterValue !== void 0 && queryParameterValue !== null || queryParameter.mapper.required) {
+            queryParameterValue = operationSpec.serializer.serialize(queryParameter.mapper, queryParameterValue, (0, interfaceHelpers_js_1.getPathStringFromParameter)(queryParameter));
+            const delimiter = queryParameter.collectionFormat ? CollectionFormatToDelimiterMap[queryParameter.collectionFormat] : "";
+            if (Array.isArray(queryParameterValue)) {
+              queryParameterValue = queryParameterValue.map((item) => {
+                if (item === null || item === void 0) {
+                  return "";
+                }
+                return item;
+              });
+            }
+            if (queryParameter.collectionFormat === "Multi" && queryParameterValue.length === 0) {
+              continue;
+            } else if (Array.isArray(queryParameterValue) && (queryParameter.collectionFormat === "SSV" || queryParameter.collectionFormat === "TSV")) {
+              queryParameterValue = queryParameterValue.join(delimiter);
+            }
+            if (!queryParameter.skipEncoding) {
+              if (Array.isArray(queryParameterValue)) {
+                queryParameterValue = queryParameterValue.map((item) => {
+                  return encodeURIComponent(item);
+                });
+              } else {
+                queryParameterValue = encodeURIComponent(queryParameterValue);
+              }
+            }
+            if (Array.isArray(queryParameterValue) && (queryParameter.collectionFormat === "CSV" || queryParameter.collectionFormat === "Pipes")) {
+              queryParameterValue = queryParameterValue.join(delimiter);
             }
+            result.set(queryParameter.mapper.serializedName || (0, interfaceHelpers_js_1.getPathStringFromParameter)(queryParameter), queryParameterValue);
           }
-          return id;
-        });
+        }
       }
-      this.build = m[5] ? m[5].split(".") : [];
-      this.format();
+      return {
+        queryParams: result,
+        sequenceParams
+      };
     }
-    SemVer.prototype.format = function() {
-      this.version = this.major + "." + this.minor + "." + this.patch;
-      if (this.prerelease.length) {
-        this.version += "-" + this.prerelease.join(".");
-      }
-      return this.version;
-    };
-    SemVer.prototype.toString = function() {
-      return this.version;
-    };
-    SemVer.prototype.compare = function(other) {
-      debug4("SemVer.compare", this.version, this.options, other);
-      if (!(other instanceof SemVer)) {
-        other = new SemVer(other, this.options);
-      }
-      return this.compareMain(other) || this.comparePre(other);
-    };
-    SemVer.prototype.compareMain = function(other) {
-      if (!(other instanceof SemVer)) {
-        other = new SemVer(other, this.options);
+    function simpleParseQueryParams(queryString) {
+      const result = /* @__PURE__ */ new Map();
+      if (!queryString || queryString[0] !== "?") {
+        return result;
       }
-      return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);
-    };
-    SemVer.prototype.comparePre = function(other) {
-      if (!(other instanceof SemVer)) {
-        other = new SemVer(other, this.options);
+      queryString = queryString.slice(1);
+      const pairs2 = queryString.split("&");
+      for (const pair of pairs2) {
+        const [name, value] = pair.split("=", 2);
+        const existingValue = result.get(name);
+        if (existingValue) {
+          if (Array.isArray(existingValue)) {
+            existingValue.push(value);
+          } else {
+            result.set(name, [existingValue, value]);
+          }
+        } else {
+          result.set(name, value);
+        }
       }
-      if (this.prerelease.length && !other.prerelease.length) {
-        return -1;
-      } else if (!this.prerelease.length && other.prerelease.length) {
-        return 1;
-      } else if (!this.prerelease.length && !other.prerelease.length) {
-        return 0;
+      return result;
+    }
+    function appendQueryParams(url, queryParams, sequenceParams, noOverwrite = false) {
+      if (queryParams.size === 0) {
+        return url;
       }
-      var i2 = 0;
-      do {
-        var a = this.prerelease[i2];
-        var b = other.prerelease[i2];
-        debug4("prerelease compare", i2, a, b);
-        if (a === void 0 && b === void 0) {
-          return 0;
-        } else if (b === void 0) {
-          return 1;
-        } else if (a === void 0) {
-          return -1;
-        } else if (a === b) {
-          continue;
+      const parsedUrl = new URL(url);
+      const combinedParams = simpleParseQueryParams(parsedUrl.search);
+      for (const [name, value] of queryParams) {
+        const existingValue = combinedParams.get(name);
+        if (Array.isArray(existingValue)) {
+          if (Array.isArray(value)) {
+            existingValue.push(...value);
+            const valueSet = new Set(existingValue);
+            combinedParams.set(name, Array.from(valueSet));
+          } else {
+            existingValue.push(value);
+          }
+        } else if (existingValue) {
+          if (Array.isArray(value)) {
+            value.unshift(existingValue);
+          } else if (sequenceParams.has(name)) {
+            combinedParams.set(name, [existingValue, value]);
+          }
+          if (!noOverwrite) {
+            combinedParams.set(name, value);
+          }
         } else {
-          return compareIdentifiers(a, b);
+          combinedParams.set(name, value);
         }
-      } while (++i2);
-    };
-    SemVer.prototype.compareBuild = function(other) {
-      if (!(other instanceof SemVer)) {
-        other = new SemVer(other, this.options);
       }
-      var i2 = 0;
-      do {
-        var a = this.build[i2];
-        var b = other.build[i2];
-        debug4("prerelease compare", i2, a, b);
-        if (a === void 0 && b === void 0) {
-          return 0;
-        } else if (b === void 0) {
-          return 1;
-        } else if (a === void 0) {
-          return -1;
-        } else if (a === b) {
-          continue;
+      const searchPieces = [];
+      for (const [name, value] of combinedParams) {
+        if (typeof value === "string") {
+          searchPieces.push(`${name}=${value}`);
+        } else if (Array.isArray(value)) {
+          for (const subValue of value) {
+            searchPieces.push(`${name}=${subValue}`);
+          }
         } else {
-          return compareIdentifiers(a, b);
+          searchPieces.push(`${name}=${value}`);
         }
-      } while (++i2);
-    };
-    SemVer.prototype.inc = function(release, identifier) {
-      switch (release) {
-        case "premajor":
-          this.prerelease.length = 0;
-          this.patch = 0;
-          this.minor = 0;
-          this.major++;
-          this.inc("pre", identifier);
-          break;
-        case "preminor":
-          this.prerelease.length = 0;
-          this.patch = 0;
-          this.minor++;
-          this.inc("pre", identifier);
-          break;
-        case "prepatch":
-          this.prerelease.length = 0;
-          this.inc("patch", identifier);
-          this.inc("pre", identifier);
-          break;
-        // If the input is a non-prerelease version, this acts the same as
-        // prepatch.
-        case "prerelease":
-          if (this.prerelease.length === 0) {
-            this.inc("patch", identifier);
+      }
+      parsedUrl.search = searchPieces.length ? `?${searchPieces.join("&")}` : "";
+      return parsedUrl.toString();
+    }
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/log.js
+var require_log4 = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/log.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.logger = void 0;
+    var logger_1 = require_commonjs2();
+    exports2.logger = (0, logger_1.createClientLogger)("core-client");
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/serviceClient.js
+var require_serviceClient = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/serviceClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ServiceClient = void 0;
+    var core_rest_pipeline_1 = require_commonjs6();
+    var pipeline_js_1 = require_pipeline3();
+    var utils_js_1 = require_utils6();
+    var httpClientCache_js_1 = require_httpClientCache();
+    var operationHelpers_js_1 = require_operationHelpers();
+    var urlHelpers_js_1 = require_urlHelpers2();
+    var interfaceHelpers_js_1 = require_interfaceHelpers();
+    var log_js_1 = require_log4();
+    var ServiceClient = class {
+      /**
+       * If specified, this is the base URI that requests will be made against for this ServiceClient.
+       * If it is not specified, then all OperationSpecs must contain a baseUrl property.
+       */
+      _endpoint;
+      /**
+       * The default request content type for the service.
+       * Used if no requestContentType is present on an OperationSpec.
+       */
+      _requestContentType;
+      /**
+       * Set to true if the request is sent over HTTP instead of HTTPS
+       */
+      _allowInsecureConnection;
+      /**
+       * The HTTP client that will be used to send requests.
+       */
+      _httpClient;
+      /**
+       * The pipeline used by this client to make requests
+       */
+      pipeline;
+      /**
+       * The ServiceClient constructor
+       * @param options - The service client options that govern the behavior of the client.
+       */
+      constructor(options = {}) {
+        this._requestContentType = options.requestContentType;
+        this._endpoint = options.endpoint ?? options.baseUri;
+        if (options.baseUri) {
+          log_js_1.logger.warning("The baseUri option for SDK Clients has been deprecated, please use endpoint instead.");
+        }
+        this._allowInsecureConnection = options.allowInsecureConnection;
+        this._httpClient = options.httpClient || (0, httpClientCache_js_1.getCachedDefaultHttpClient)();
+        this.pipeline = options.pipeline || createDefaultPipeline(options);
+        if (options.additionalPolicies?.length) {
+          for (const { policy, position } of options.additionalPolicies) {
+            const afterPhase = position === "perRetry" ? "Sign" : void 0;
+            this.pipeline.addPolicy(policy, {
+              afterPhase
+            });
           }
-          this.inc("pre", identifier);
-          break;
-        case "major":
-          if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
-            this.major++;
+        }
+      }
+      /**
+       * Send the provided httpRequest.
+       */
+      async sendRequest(request2) {
+        return this.pipeline.sendRequest(this._httpClient, request2);
+      }
+      /**
+       * Send an HTTP request that is populated using the provided OperationSpec.
+       * @typeParam T - The typed result of the request, based on the OperationSpec.
+       * @param operationArguments - The arguments that the HTTP request's templated values will be populated from.
+       * @param operationSpec - The OperationSpec to use to populate the httpRequest.
+       */
+      async sendOperationRequest(operationArguments, operationSpec) {
+        const endpoint2 = operationSpec.baseUrl || this._endpoint;
+        if (!endpoint2) {
+          throw new Error("If operationSpec.baseUrl is not specified, then the ServiceClient must have a endpoint string property that contains the base URL to use.");
+        }
+        const url = (0, urlHelpers_js_1.getRequestUrl)(endpoint2, operationSpec, operationArguments, this);
+        const request2 = (0, core_rest_pipeline_1.createPipelineRequest)({
+          url
+        });
+        request2.method = operationSpec.httpMethod;
+        const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(request2);
+        operationInfo.operationSpec = operationSpec;
+        operationInfo.operationArguments = operationArguments;
+        const contentType = operationSpec.contentType || this._requestContentType;
+        if (contentType && operationSpec.requestBody) {
+          request2.headers.set("Content-Type", contentType);
+        }
+        const options = operationArguments.options;
+        if (options) {
+          const requestOptions = options.requestOptions;
+          if (requestOptions) {
+            if (requestOptions.timeout) {
+              request2.timeout = requestOptions.timeout;
+            }
+            if (requestOptions.onUploadProgress) {
+              request2.onUploadProgress = requestOptions.onUploadProgress;
+            }
+            if (requestOptions.onDownloadProgress) {
+              request2.onDownloadProgress = requestOptions.onDownloadProgress;
+            }
+            if (requestOptions.shouldDeserialize !== void 0) {
+              operationInfo.shouldDeserialize = requestOptions.shouldDeserialize;
+            }
+            if (requestOptions.allowInsecureConnection) {
+              request2.allowInsecureConnection = true;
+            }
           }
-          this.minor = 0;
-          this.patch = 0;
-          this.prerelease = [];
-          break;
-        case "minor":
-          if (this.patch !== 0 || this.prerelease.length === 0) {
-            this.minor++;
+          if (options.abortSignal) {
+            request2.abortSignal = options.abortSignal;
           }
-          this.patch = 0;
-          this.prerelease = [];
-          break;
-        case "patch":
-          if (this.prerelease.length === 0) {
-            this.patch++;
+          if (options.tracingOptions) {
+            request2.tracingOptions = options.tracingOptions;
           }
-          this.prerelease = [];
-          break;
-        // This probably shouldn't be used publicly.
-        // 1.0.0 "pre" would become 1.0.0-0 which is the wrong direction.
-        case "pre":
-          if (this.prerelease.length === 0) {
-            this.prerelease = [0];
-          } else {
-            var i2 = this.prerelease.length;
-            while (--i2 >= 0) {
-              if (typeof this.prerelease[i2] === "number") {
-                this.prerelease[i2]++;
-                i2 = -2;
-              }
-            }
-            if (i2 === -1) {
-              this.prerelease.push(0);
-            }
+        }
+        if (this._allowInsecureConnection) {
+          request2.allowInsecureConnection = true;
+        }
+        if (request2.streamResponseStatusCodes === void 0) {
+          request2.streamResponseStatusCodes = (0, interfaceHelpers_js_1.getStreamingResponseStatusCodes)(operationSpec);
+        }
+        try {
+          const rawResponse = await this.sendRequest(request2);
+          const flatResponse = (0, utils_js_1.flattenResponse)(rawResponse, operationSpec.responses[rawResponse.status]);
+          if (options?.onResponse) {
+            options.onResponse(rawResponse, flatResponse);
           }
-          if (identifier) {
-            if (this.prerelease[0] === identifier) {
-              if (isNaN(this.prerelease[1])) {
-                this.prerelease = [identifier, 0];
-              }
-            } else {
-              this.prerelease = [identifier, 0];
+          return flatResponse;
+        } catch (error3) {
+          if (typeof error3 === "object" && error3?.response) {
+            const rawResponse = error3.response;
+            const flatResponse = (0, utils_js_1.flattenResponse)(rawResponse, operationSpec.responses[error3.statusCode] || operationSpec.responses["default"]);
+            error3.details = flatResponse;
+            if (options?.onResponse) {
+              options.onResponse(rawResponse, flatResponse, error3);
             }
           }
-          break;
-        default:
-          throw new Error("invalid increment argument: " + release);
+          throw error3;
+        }
       }
-      this.format();
-      this.raw = this.version;
-      return this;
     };
-    exports2.inc = inc;
-    function inc(version, release, loose, identifier) {
-      if (typeof loose === "string") {
-        identifier = loose;
-        loose = void 0;
+    exports2.ServiceClient = ServiceClient;
+    function createDefaultPipeline(options) {
+      const credentialScopes = getCredentialScopes(options);
+      const credentialOptions = options.credential && credentialScopes ? { credentialScopes, credential: options.credential } : void 0;
+      return (0, pipeline_js_1.createClientPipeline)({
+        ...options,
+        credentialOptions
+      });
+    }
+    function getCredentialScopes(options) {
+      if (options.credentialScopes) {
+        return options.credentialScopes;
       }
-      try {
-        return new SemVer(version, loose).inc(release, identifier).version;
-      } catch (er) {
-        return null;
+      if (options.endpoint) {
+        return `${options.endpoint}/.default`;
       }
-    }
-    exports2.diff = diff;
-    function diff(version1, version2) {
-      if (eq(version1, version2)) {
-        return null;
-      } else {
-        var v1 = parse2(version1);
-        var v2 = parse2(version2);
-        var prefix = "";
-        if (v1.prerelease.length || v2.prerelease.length) {
-          prefix = "pre";
-          var defaultResult = "prerelease";
-        }
-        for (var key in v1) {
-          if (key === "major" || key === "minor" || key === "patch") {
-            if (v1[key] !== v2[key]) {
-              return prefix + key;
-            }
-          }
-        }
-        return defaultResult;
+      if (options.baseUri) {
+        return `${options.baseUri}/.default`;
       }
-    }
-    exports2.compareIdentifiers = compareIdentifiers;
-    var numeric = /^[0-9]+$/;
-    function compareIdentifiers(a, b) {
-      var anum = numeric.test(a);
-      var bnum = numeric.test(b);
-      if (anum && bnum) {
-        a = +a;
-        b = +b;
+      if (options.credential && !options.credentialScopes) {
+        throw new Error(`When using credentials, the ServiceClientOptions must contain either a endpoint or a credentialScopes. Unable to create a bearerTokenAuthenticationPolicy`);
       }
-      return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;
-    }
-    exports2.rcompareIdentifiers = rcompareIdentifiers;
-    function rcompareIdentifiers(a, b) {
-      return compareIdentifiers(b, a);
-    }
-    exports2.major = major;
-    function major(a, loose) {
-      return new SemVer(a, loose).major;
-    }
-    exports2.minor = minor;
-    function minor(a, loose) {
-      return new SemVer(a, loose).minor;
-    }
-    exports2.patch = patch;
-    function patch(a, loose) {
-      return new SemVer(a, loose).patch;
+      return void 0;
     }
-    exports2.compare = compare2;
-    function compare2(a, b, loose) {
-      return new SemVer(a, loose).compare(new SemVer(b, loose));
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/authorizeRequestOnClaimChallenge.js
+var require_authorizeRequestOnClaimChallenge = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/authorizeRequestOnClaimChallenge.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.parseCAEChallenge = parseCAEChallenge;
+    exports2.authorizeRequestOnClaimChallenge = authorizeRequestOnClaimChallenge;
+    var log_js_1 = require_log4();
+    var base64_js_1 = require_base64();
+    function parseCAEChallenge(challenges) {
+      const bearerChallenges = `, ${challenges.trim()}`.split(", Bearer ").filter((x) => x);
+      return bearerChallenges.map((challenge) => {
+        const challengeParts = `${challenge.trim()}, `.split('", ').filter((x) => x);
+        const keyValuePairs = challengeParts.map((keyValue) => (([key, value]) => ({ [key]: value }))(keyValue.trim().split('="')));
+        return keyValuePairs.reduce((a, b) => ({ ...a, ...b }), {});
+      });
     }
-    exports2.compareLoose = compareLoose;
-    function compareLoose(a, b) {
-      return compare2(a, b, true);
+    async function authorizeRequestOnClaimChallenge(onChallengeOptions) {
+      const { scopes, response } = onChallengeOptions;
+      const logger = onChallengeOptions.logger || log_js_1.logger;
+      const challenge = response.headers.get("WWW-Authenticate");
+      if (!challenge) {
+        logger.info(`The WWW-Authenticate header was missing. Failed to perform the Continuous Access Evaluation authentication flow.`);
+        return false;
+      }
+      const challenges = parseCAEChallenge(challenge) || [];
+      const parsedChallenge = challenges.find((x) => x.claims);
+      if (!parsedChallenge) {
+        logger.info(`The WWW-Authenticate header was missing the necessary "claims" to perform the Continuous Access Evaluation authentication flow.`);
+        return false;
+      }
+      const accessToken = await onChallengeOptions.getAccessToken(parsedChallenge.scope ? [parsedChallenge.scope] : scopes, {
+        claims: (0, base64_js_1.decodeStringToString)(parsedChallenge.claims)
+      });
+      if (!accessToken) {
+        return false;
+      }
+      onChallengeOptions.request.headers.set("Authorization", `${accessToken.tokenType ?? "Bearer"} ${accessToken.token}`);
+      return true;
     }
-    exports2.compareBuild = compareBuild;
-    function compareBuild(a, b, loose) {
-      var versionA = new SemVer(a, loose);
-      var versionB = new SemVer(b, loose);
-      return versionA.compare(versionB) || versionA.compareBuild(versionB);
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/authorizeRequestOnTenantChallenge.js
+var require_authorizeRequestOnTenantChallenge = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/authorizeRequestOnTenantChallenge.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.authorizeRequestOnTenantChallenge = void 0;
+    var Constants = {
+      DefaultScope: "/.default",
+      /**
+       * Defines constants for use with HTTP headers.
+       */
+      HeaderConstants: {
+        /**
+         * The Authorization header.
+         */
+        AUTHORIZATION: "authorization"
+      }
+    };
+    function isUuid(text) {
+      return /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/.test(text);
     }
-    exports2.rcompare = rcompare;
-    function rcompare(a, b, loose) {
-      return compare2(b, a, loose);
+    var authorizeRequestOnTenantChallenge = async (challengeOptions) => {
+      const requestOptions = requestToOptions(challengeOptions.request);
+      const challenge = getChallenge(challengeOptions.response);
+      if (challenge) {
+        const challengeInfo = parseChallenge(challenge);
+        const challengeScopes = buildScopes(challengeOptions, challengeInfo);
+        const tenantId = extractTenantId(challengeInfo);
+        if (!tenantId) {
+          return false;
+        }
+        const accessToken = await challengeOptions.getAccessToken(challengeScopes, {
+          ...requestOptions,
+          tenantId
+        });
+        if (!accessToken) {
+          return false;
+        }
+        challengeOptions.request.headers.set(Constants.HeaderConstants.AUTHORIZATION, `${accessToken.tokenType ?? "Bearer"} ${accessToken.token}`);
+        return true;
+      }
+      return false;
+    };
+    exports2.authorizeRequestOnTenantChallenge = authorizeRequestOnTenantChallenge;
+    function extractTenantId(challengeInfo) {
+      const parsedAuthUri = new URL(challengeInfo.authorization_uri);
+      const pathSegments = parsedAuthUri.pathname.split("/");
+      const tenantId = pathSegments[1];
+      if (tenantId && isUuid(tenantId)) {
+        return tenantId;
+      }
+      return void 0;
     }
-    exports2.sort = sort;
-    function sort(list, loose) {
-      return list.sort(function(a, b) {
-        return exports2.compareBuild(a, b, loose);
-      });
+    function buildScopes(challengeOptions, challengeInfo) {
+      if (!challengeInfo.resource_id) {
+        return challengeOptions.scopes;
+      }
+      const challengeScopes = new URL(challengeInfo.resource_id);
+      challengeScopes.pathname = Constants.DefaultScope;
+      let scope = challengeScopes.toString();
+      if (scope === "https://disk.azure.com/.default") {
+        scope = "https://disk.azure.com//.default";
+      }
+      return [scope];
     }
-    exports2.rsort = rsort;
-    function rsort(list, loose) {
-      return list.sort(function(a, b) {
-        return exports2.compareBuild(b, a, loose);
-      });
+    function getChallenge(response) {
+      const challenge = response.headers.get("WWW-Authenticate");
+      if (response.status === 401 && challenge) {
+        return challenge;
+      }
+      return;
     }
-    exports2.gt = gt;
-    function gt(a, b, loose) {
-      return compare2(a, b, loose) > 0;
+    function parseChallenge(challenge) {
+      const bearerChallenge = challenge.slice("Bearer ".length);
+      const challengeParts = `${bearerChallenge.trim()} `.split(" ").filter((x) => x);
+      const keyValuePairs = challengeParts.map((keyValue) => (([key, value]) => ({ [key]: value }))(keyValue.trim().split("=")));
+      return keyValuePairs.reduce((a, b) => ({ ...a, ...b }), {});
     }
-    exports2.lt = lt;
-    function lt(a, b, loose) {
-      return compare2(a, b, loose) < 0;
+    function requestToOptions(request2) {
+      return {
+        abortSignal: request2.abortSignal,
+        requestOptions: {
+          timeout: request2.timeout
+        },
+        tracingOptions: request2.tracingOptions
+      };
     }
-    exports2.eq = eq;
-    function eq(a, b, loose) {
-      return compare2(a, b, loose) === 0;
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/index.js
+var require_commonjs8 = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.authorizeRequestOnTenantChallenge = exports2.authorizeRequestOnClaimChallenge = exports2.serializationPolicyName = exports2.serializationPolicy = exports2.deserializationPolicyName = exports2.deserializationPolicy = exports2.XML_CHARKEY = exports2.XML_ATTRKEY = exports2.createClientPipeline = exports2.ServiceClient = exports2.MapperTypeNames = exports2.createSerializer = void 0;
+    var serializer_js_1 = require_serializer();
+    Object.defineProperty(exports2, "createSerializer", { enumerable: true, get: function() {
+      return serializer_js_1.createSerializer;
+    } });
+    Object.defineProperty(exports2, "MapperTypeNames", { enumerable: true, get: function() {
+      return serializer_js_1.MapperTypeNames;
+    } });
+    var serviceClient_js_1 = require_serviceClient();
+    Object.defineProperty(exports2, "ServiceClient", { enumerable: true, get: function() {
+      return serviceClient_js_1.ServiceClient;
+    } });
+    var pipeline_js_1 = require_pipeline3();
+    Object.defineProperty(exports2, "createClientPipeline", { enumerable: true, get: function() {
+      return pipeline_js_1.createClientPipeline;
+    } });
+    var interfaces_js_1 = require_interfaces();
+    Object.defineProperty(exports2, "XML_ATTRKEY", { enumerable: true, get: function() {
+      return interfaces_js_1.XML_ATTRKEY;
+    } });
+    Object.defineProperty(exports2, "XML_CHARKEY", { enumerable: true, get: function() {
+      return interfaces_js_1.XML_CHARKEY;
+    } });
+    var deserializationPolicy_js_1 = require_deserializationPolicy();
+    Object.defineProperty(exports2, "deserializationPolicy", { enumerable: true, get: function() {
+      return deserializationPolicy_js_1.deserializationPolicy;
+    } });
+    Object.defineProperty(exports2, "deserializationPolicyName", { enumerable: true, get: function() {
+      return deserializationPolicy_js_1.deserializationPolicyName;
+    } });
+    var serializationPolicy_js_1 = require_serializationPolicy();
+    Object.defineProperty(exports2, "serializationPolicy", { enumerable: true, get: function() {
+      return serializationPolicy_js_1.serializationPolicy;
+    } });
+    Object.defineProperty(exports2, "serializationPolicyName", { enumerable: true, get: function() {
+      return serializationPolicy_js_1.serializationPolicyName;
+    } });
+    var authorizeRequestOnClaimChallenge_js_1 = require_authorizeRequestOnClaimChallenge();
+    Object.defineProperty(exports2, "authorizeRequestOnClaimChallenge", { enumerable: true, get: function() {
+      return authorizeRequestOnClaimChallenge_js_1.authorizeRequestOnClaimChallenge;
+    } });
+    var authorizeRequestOnTenantChallenge_js_1 = require_authorizeRequestOnTenantChallenge();
+    Object.defineProperty(exports2, "authorizeRequestOnTenantChallenge", { enumerable: true, get: function() {
+      return authorizeRequestOnTenantChallenge_js_1.authorizeRequestOnTenantChallenge;
+    } });
+  }
+});
+
+// node_modules/@azure/core-http-compat/dist/commonjs/util.js
+var require_util17 = __commonJS({
+  "node_modules/@azure/core-http-compat/dist/commonjs/util.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.HttpHeaders = void 0;
+    exports2.toPipelineRequest = toPipelineRequest;
+    exports2.toWebResourceLike = toWebResourceLike;
+    exports2.toHttpHeadersLike = toHttpHeadersLike;
+    var core_rest_pipeline_1 = require_commonjs6();
+    var originalRequestSymbol = /* @__PURE__ */ Symbol("Original PipelineRequest");
+    var originalClientRequestSymbol = /* @__PURE__ */ Symbol.for("@azure/core-client original request");
+    function toPipelineRequest(webResource, options = {}) {
+      const compatWebResource = webResource;
+      const request2 = compatWebResource[originalRequestSymbol];
+      const headers = (0, core_rest_pipeline_1.createHttpHeaders)(webResource.headers.toJson({ preserveCase: true }));
+      if (request2) {
+        request2.headers = headers;
+        return request2;
+      } else {
+        const newRequest = (0, core_rest_pipeline_1.createPipelineRequest)({
+          url: webResource.url,
+          method: webResource.method,
+          headers,
+          withCredentials: webResource.withCredentials,
+          timeout: webResource.timeout,
+          requestId: webResource.requestId,
+          abortSignal: webResource.abortSignal,
+          body: webResource.body,
+          formData: webResource.formData,
+          disableKeepAlive: !!webResource.keepAlive,
+          onDownloadProgress: webResource.onDownloadProgress,
+          onUploadProgress: webResource.onUploadProgress,
+          proxySettings: webResource.proxySettings,
+          streamResponseStatusCodes: webResource.streamResponseStatusCodes,
+          agent: webResource.agent,
+          requestOverrides: webResource.requestOverrides
+        });
+        if (options.originalRequest) {
+          newRequest[originalClientRequestSymbol] = options.originalRequest;
+        }
+        return newRequest;
+      }
     }
-    exports2.neq = neq;
-    function neq(a, b, loose) {
-      return compare2(a, b, loose) !== 0;
+    function toWebResourceLike(request2, options) {
+      const originalRequest = options?.originalRequest ?? request2;
+      const webResource = {
+        url: request2.url,
+        method: request2.method,
+        headers: toHttpHeadersLike(request2.headers),
+        withCredentials: request2.withCredentials,
+        timeout: request2.timeout,
+        requestId: request2.headers.get("x-ms-client-request-id") || request2.requestId,
+        abortSignal: request2.abortSignal,
+        body: request2.body,
+        formData: request2.formData,
+        keepAlive: !!request2.disableKeepAlive,
+        onDownloadProgress: request2.onDownloadProgress,
+        onUploadProgress: request2.onUploadProgress,
+        proxySettings: request2.proxySettings,
+        streamResponseStatusCodes: request2.streamResponseStatusCodes,
+        agent: request2.agent,
+        requestOverrides: request2.requestOverrides,
+        clone() {
+          throw new Error("Cannot clone a non-proxied WebResourceLike");
+        },
+        prepare() {
+          throw new Error("WebResourceLike.prepare() is not supported by @azure/core-http-compat");
+        },
+        validateRequestProperties() {
+        }
+      };
+      if (options?.createProxy) {
+        return new Proxy(webResource, {
+          get(target, prop, receiver) {
+            if (prop === originalRequestSymbol) {
+              return request2;
+            } else if (prop === "clone") {
+              return () => {
+                return toWebResourceLike(toPipelineRequest(webResource, { originalRequest }), {
+                  createProxy: true,
+                  originalRequest
+                });
+              };
+            }
+            return Reflect.get(target, prop, receiver);
+          },
+          set(target, prop, value, receiver) {
+            if (prop === "keepAlive") {
+              request2.disableKeepAlive = !value;
+            }
+            const passThroughProps = [
+              "url",
+              "method",
+              "withCredentials",
+              "timeout",
+              "requestId",
+              "abortSignal",
+              "body",
+              "formData",
+              "onDownloadProgress",
+              "onUploadProgress",
+              "proxySettings",
+              "streamResponseStatusCodes",
+              "agent",
+              "requestOverrides"
+            ];
+            if (typeof prop === "string" && passThroughProps.includes(prop)) {
+              request2[prop] = value;
+            }
+            return Reflect.set(target, prop, value, receiver);
+          }
+        });
+      } else {
+        return webResource;
+      }
     }
-    exports2.gte = gte6;
-    function gte6(a, b, loose) {
-      return compare2(a, b, loose) >= 0;
+    function toHttpHeadersLike(headers) {
+      return new HttpHeaders(headers.toJSON({ preserveCase: true }));
     }
-    exports2.lte = lte;
-    function lte(a, b, loose) {
-      return compare2(a, b, loose) <= 0;
+    function getHeaderKey(headerName) {
+      return headerName.toLowerCase();
     }
-    exports2.cmp = cmp;
-    function cmp(a, op, b, loose) {
-      switch (op) {
-        case "===":
-          if (typeof a === "object")
-            a = a.version;
-          if (typeof b === "object")
-            b = b.version;
-          return a === b;
-        case "!==":
-          if (typeof a === "object")
-            a = a.version;
-          if (typeof b === "object")
-            b = b.version;
-          return a !== b;
-        case "":
-        case "=":
-        case "==":
-          return eq(a, b, loose);
-        case "!=":
-          return neq(a, b, loose);
-        case ">":
-          return gt(a, b, loose);
-        case ">=":
-          return gte6(a, b, loose);
-        case "<":
-          return lt(a, b, loose);
-        case "<=":
-          return lte(a, b, loose);
-        default:
-          throw new TypeError("Invalid operator: " + op);
+    var HttpHeaders = class _HttpHeaders {
+      _headersMap;
+      constructor(rawHeaders) {
+        this._headersMap = {};
+        if (rawHeaders) {
+          for (const headerName in rawHeaders) {
+            this.set(headerName, rawHeaders[headerName]);
+          }
+        }
+      }
+      /**
+       * Set a header in this collection with the provided name and value. The name is
+       * case-insensitive.
+       * @param headerName - The name of the header to set. This value is case-insensitive.
+       * @param headerValue - The value of the header to set.
+       */
+      set(headerName, headerValue) {
+        this._headersMap[getHeaderKey(headerName)] = {
+          name: headerName,
+          value: headerValue.toString()
+        };
+      }
+      /**
+       * Get the header value for the provided header name, or undefined if no header exists in this
+       * collection with the provided name.
+       * @param headerName - The name of the header.
+       */
+      get(headerName) {
+        const header = this._headersMap[getHeaderKey(headerName)];
+        return !header ? void 0 : header.value;
+      }
+      /**
+       * Get whether or not this header collection contains a header entry for the provided header name.
+       */
+      contains(headerName) {
+        return !!this._headersMap[getHeaderKey(headerName)];
       }
-    }
-    exports2.Comparator = Comparator;
-    function Comparator(comp, options) {
-      if (!options || typeof options !== "object") {
-        options = {
-          loose: !!options,
-          includePrerelease: false
-        };
+      /**
+       * Remove the header with the provided headerName. Return whether or not the header existed and
+       * was removed.
+       * @param headerName - The name of the header to remove.
+       */
+      remove(headerName) {
+        const result = this.contains(headerName);
+        delete this._headersMap[getHeaderKey(headerName)];
+        return result;
       }
-      if (comp instanceof Comparator) {
-        if (comp.loose === !!options.loose) {
-          return comp;
+      /**
+       * Get the headers that are contained this collection as an object.
+       */
+      rawHeaders() {
+        return this.toJson({ preserveCase: true });
+      }
+      /**
+       * Get the headers that are contained in this collection as an array.
+       */
+      headersArray() {
+        const headers = [];
+        for (const headerKey in this._headersMap) {
+          headers.push(this._headersMap[headerKey]);
+        }
+        return headers;
+      }
+      /**
+       * Get the header names that are contained in this collection.
+       */
+      headerNames() {
+        const headerNames = [];
+        const headers = this.headersArray();
+        for (let i = 0; i < headers.length; ++i) {
+          headerNames.push(headers[i].name);
+        }
+        return headerNames;
+      }
+      /**
+       * Get the header values that are contained in this collection.
+       */
+      headerValues() {
+        const headerValues = [];
+        const headers = this.headersArray();
+        for (let i = 0; i < headers.length; ++i) {
+          headerValues.push(headers[i].value);
+        }
+        return headerValues;
+      }
+      /**
+       * Get the JSON object representation of this HTTP header collection.
+       */
+      toJson(options = {}) {
+        const result = {};
+        if (options.preserveCase) {
+          for (const headerKey in this._headersMap) {
+            const header = this._headersMap[headerKey];
+            result[header.name] = header.value;
+          }
         } else {
-          comp = comp.value;
+          for (const headerKey in this._headersMap) {
+            const header = this._headersMap[headerKey];
+            result[getHeaderKey(header.name)] = header.value;
+          }
         }
+        return result;
       }
-      if (!(this instanceof Comparator)) {
-        return new Comparator(comp, options);
+      /**
+       * Get the string representation of this HTTP header collection.
+       */
+      toString() {
+        return JSON.stringify(this.toJson({ preserveCase: true }));
       }
-      comp = comp.trim().split(/\s+/).join(" ");
-      debug4("comparator", comp, options);
-      this.options = options;
-      this.loose = !!options.loose;
-      this.parse(comp);
-      if (this.semver === ANY) {
-        this.value = "";
+      /**
+       * Create a deep clone/copy of this HttpHeaders collection.
+       */
+      clone() {
+        const resultPreservingCasing = {};
+        for (const headerKey in this._headersMap) {
+          const header = this._headersMap[headerKey];
+          resultPreservingCasing[header.name] = header.value;
+        }
+        return new _HttpHeaders(resultPreservingCasing);
+      }
+    };
+    exports2.HttpHeaders = HttpHeaders;
+  }
+});
+
+// node_modules/@azure/core-http-compat/dist/commonjs/response.js
+var require_response3 = __commonJS({
+  "node_modules/@azure/core-http-compat/dist/commonjs/response.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.toCompatResponse = toCompatResponse;
+    exports2.toPipelineResponse = toPipelineResponse;
+    var core_rest_pipeline_1 = require_commonjs6();
+    var util_js_1 = require_util17();
+    var originalResponse = /* @__PURE__ */ Symbol("Original FullOperationResponse");
+    function toCompatResponse(response, options) {
+      let request2 = (0, util_js_1.toWebResourceLike)(response.request);
+      let headers = (0, util_js_1.toHttpHeadersLike)(response.headers);
+      if (options?.createProxy) {
+        return new Proxy(response, {
+          get(target, prop, receiver) {
+            if (prop === "headers") {
+              return headers;
+            } else if (prop === "request") {
+              return request2;
+            } else if (prop === originalResponse) {
+              return response;
+            }
+            return Reflect.get(target, prop, receiver);
+          },
+          set(target, prop, value, receiver) {
+            if (prop === "headers") {
+              headers = value;
+            } else if (prop === "request") {
+              request2 = value;
+            }
+            return Reflect.set(target, prop, value, receiver);
+          }
+        });
       } else {
-        this.value = this.operator + this.semver.version;
+        return {
+          ...response,
+          request: request2,
+          headers
+        };
       }
-      debug4("comp", this);
     }
-    var ANY = {};
-    Comparator.prototype.parse = function(comp) {
-      var r = this.options.loose ? safeRe[t.COMPARATORLOOSE] : safeRe[t.COMPARATOR];
-      var m = comp.match(r);
-      if (!m) {
-        throw new TypeError("Invalid comparator: " + comp);
+    function toPipelineResponse(compatResponse) {
+      const extendedCompatResponse = compatResponse;
+      const response = extendedCompatResponse[originalResponse];
+      const headers = (0, core_rest_pipeline_1.createHttpHeaders)(compatResponse.headers.toJson({ preserveCase: true }));
+      if (response) {
+        response.headers = headers;
+        return response;
+      } else {
+        return {
+          ...compatResponse,
+          headers,
+          request: (0, util_js_1.toPipelineRequest)(compatResponse.request)
+        };
       }
-      this.operator = m[1] !== void 0 ? m[1] : "";
-      if (this.operator === "=") {
-        this.operator = "";
+    }
+  }
+});
+
+// node_modules/@azure/core-http-compat/dist/commonjs/extendedClient.js
+var require_extendedClient = __commonJS({
+  "node_modules/@azure/core-http-compat/dist/commonjs/extendedClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ExtendedServiceClient = void 0;
+    var disableKeepAlivePolicy_js_1 = require_disableKeepAlivePolicy();
+    var core_rest_pipeline_1 = require_commonjs6();
+    var core_client_1 = require_commonjs8();
+    var response_js_1 = require_response3();
+    var ExtendedServiceClient = class extends core_client_1.ServiceClient {
+      constructor(options) {
+        super(options);
+        if (options.keepAliveOptions?.enable === false && !(0, disableKeepAlivePolicy_js_1.pipelineContainsDisableKeepAlivePolicy)(this.pipeline)) {
+          this.pipeline.addPolicy((0, disableKeepAlivePolicy_js_1.createDisableKeepAlivePolicy)());
+        }
+        if (options.redirectOptions?.handleRedirects === false) {
+          this.pipeline.removePolicy({
+            name: core_rest_pipeline_1.redirectPolicyName
+          });
+        }
       }
-      if (!m[2]) {
-        this.semver = ANY;
-      } else {
-        this.semver = new SemVer(m[2], this.options.loose);
+      /**
+       * Compatible send operation request function.
+       *
+       * @param operationArguments - Operation arguments
+       * @param operationSpec - Operation Spec
+       * @returns
+       */
+      async sendOperationRequest(operationArguments, operationSpec) {
+        const userProvidedCallBack = operationArguments?.options?.onResponse;
+        let lastResponse;
+        function onResponse(rawResponse, flatResponse, error3) {
+          lastResponse = rawResponse;
+          if (userProvidedCallBack) {
+            userProvidedCallBack(rawResponse, flatResponse, error3);
+          }
+        }
+        operationArguments.options = {
+          ...operationArguments.options,
+          onResponse
+        };
+        const result = await super.sendOperationRequest(operationArguments, operationSpec);
+        if (lastResponse) {
+          Object.defineProperty(result, "_response", {
+            value: (0, response_js_1.toCompatResponse)(lastResponse)
+          });
+        }
+        return result;
       }
     };
-    Comparator.prototype.toString = function() {
-      return this.value;
-    };
-    Comparator.prototype.test = function(version) {
-      debug4("Comparator.test", version, this.options.loose);
-      if (this.semver === ANY || version === ANY) {
-        return true;
+    exports2.ExtendedServiceClient = ExtendedServiceClient;
+  }
+});
+
+// node_modules/@azure/core-http-compat/dist/commonjs/policies/requestPolicyFactoryPolicy.js
+var require_requestPolicyFactoryPolicy = __commonJS({
+  "node_modules/@azure/core-http-compat/dist/commonjs/policies/requestPolicyFactoryPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.requestPolicyFactoryPolicyName = exports2.HttpPipelineLogLevel = void 0;
+    exports2.createRequestPolicyFactoryPolicy = createRequestPolicyFactoryPolicy;
+    var util_js_1 = require_util17();
+    var response_js_1 = require_response3();
+    var HttpPipelineLogLevel;
+    (function(HttpPipelineLogLevel2) {
+      HttpPipelineLogLevel2[HttpPipelineLogLevel2["ERROR"] = 1] = "ERROR";
+      HttpPipelineLogLevel2[HttpPipelineLogLevel2["INFO"] = 3] = "INFO";
+      HttpPipelineLogLevel2[HttpPipelineLogLevel2["OFF"] = 0] = "OFF";
+      HttpPipelineLogLevel2[HttpPipelineLogLevel2["WARNING"] = 2] = "WARNING";
+    })(HttpPipelineLogLevel || (exports2.HttpPipelineLogLevel = HttpPipelineLogLevel = {}));
+    var mockRequestPolicyOptions = {
+      log(_logLevel, _message) {
+      },
+      shouldLog(_logLevel) {
+        return false;
       }
-      if (typeof version === "string") {
-        try {
-          version = new SemVer(version, this.options);
-        } catch (er) {
-          return false;
+    };
+    exports2.requestPolicyFactoryPolicyName = "RequestPolicyFactoryPolicy";
+    function createRequestPolicyFactoryPolicy(factories) {
+      const orderedFactories = factories.slice().reverse();
+      return {
+        name: exports2.requestPolicyFactoryPolicyName,
+        async sendRequest(request2, next) {
+          let httpPipeline = {
+            async sendRequest(httpRequest) {
+              const response2 = await next((0, util_js_1.toPipelineRequest)(httpRequest));
+              return (0, response_js_1.toCompatResponse)(response2, { createProxy: true });
+            }
+          };
+          for (const factory of orderedFactories) {
+            httpPipeline = factory.create(httpPipeline, mockRequestPolicyOptions);
+          }
+          const webResourceLike = (0, util_js_1.toWebResourceLike)(request2, { createProxy: true });
+          const response = await httpPipeline.sendRequest(webResourceLike);
+          return (0, response_js_1.toPipelineResponse)(response);
+        }
+      };
+    }
+  }
+});
+
+// node_modules/@azure/core-http-compat/dist/commonjs/httpClientAdapter.js
+var require_httpClientAdapter = __commonJS({
+  "node_modules/@azure/core-http-compat/dist/commonjs/httpClientAdapter.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.convertHttpClient = convertHttpClient;
+    var response_js_1 = require_response3();
+    var util_js_1 = require_util17();
+    function convertHttpClient(requestPolicyClient) {
+      return {
+        sendRequest: async (request2) => {
+          const response = await requestPolicyClient.sendRequest((0, util_js_1.toWebResourceLike)(request2, { createProxy: true }));
+          return (0, response_js_1.toPipelineResponse)(response);
+        }
+      };
+    }
+  }
+});
+
+// node_modules/@azure/core-http-compat/dist/commonjs/index.js
+var require_commonjs9 = __commonJS({
+  "node_modules/@azure/core-http-compat/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.toHttpHeadersLike = exports2.convertHttpClient = exports2.disableKeepAlivePolicyName = exports2.HttpPipelineLogLevel = exports2.createRequestPolicyFactoryPolicy = exports2.requestPolicyFactoryPolicyName = exports2.ExtendedServiceClient = void 0;
+    var extendedClient_js_1 = require_extendedClient();
+    Object.defineProperty(exports2, "ExtendedServiceClient", { enumerable: true, get: function() {
+      return extendedClient_js_1.ExtendedServiceClient;
+    } });
+    var requestPolicyFactoryPolicy_js_1 = require_requestPolicyFactoryPolicy();
+    Object.defineProperty(exports2, "requestPolicyFactoryPolicyName", { enumerable: true, get: function() {
+      return requestPolicyFactoryPolicy_js_1.requestPolicyFactoryPolicyName;
+    } });
+    Object.defineProperty(exports2, "createRequestPolicyFactoryPolicy", { enumerable: true, get: function() {
+      return requestPolicyFactoryPolicy_js_1.createRequestPolicyFactoryPolicy;
+    } });
+    Object.defineProperty(exports2, "HttpPipelineLogLevel", { enumerable: true, get: function() {
+      return requestPolicyFactoryPolicy_js_1.HttpPipelineLogLevel;
+    } });
+    var disableKeepAlivePolicy_js_1 = require_disableKeepAlivePolicy();
+    Object.defineProperty(exports2, "disableKeepAlivePolicyName", { enumerable: true, get: function() {
+      return disableKeepAlivePolicy_js_1.disableKeepAlivePolicyName;
+    } });
+    var httpClientAdapter_js_1 = require_httpClientAdapter();
+    Object.defineProperty(exports2, "convertHttpClient", { enumerable: true, get: function() {
+      return httpClientAdapter_js_1.convertHttpClient;
+    } });
+    var util_js_1 = require_util17();
+    Object.defineProperty(exports2, "toHttpHeadersLike", { enumerable: true, get: function() {
+      return util_js_1.toHttpHeadersLike;
+    } });
+  }
+});
+
+// node_modules/fast-xml-parser/lib/fxp.cjs
+var require_fxp = __commonJS({
+  "node_modules/fast-xml-parser/lib/fxp.cjs"(exports2, module2) {
+    (() => {
+      "use strict";
+      var t = { d: (e2, i2) => {
+        for (var n2 in i2) t.o(i2, n2) && !t.o(e2, n2) && Object.defineProperty(e2, n2, { enumerable: true, get: i2[n2] });
+      }, o: (t2, e2) => Object.prototype.hasOwnProperty.call(t2, e2), r: (t2) => {
+        "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t2, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(t2, "__esModule", { value: true });
+      } }, e = {};
+      t.r(e), t.d(e, { XMLBuilder: () => ut, XMLParser: () => et, XMLValidator: () => ft });
+      const i = ":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD", n = new RegExp("^[" + i + "][" + i + "\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$");
+      function s(t2, e2) {
+        const i2 = [];
+        let n2 = e2.exec(t2);
+        for (; n2; ) {
+          const s2 = [];
+          s2.startIndex = e2.lastIndex - n2[0].length;
+          const r2 = n2.length;
+          for (let t3 = 0; t3 < r2; t3++) s2.push(n2[t3]);
+          i2.push(s2), n2 = e2.exec(t2);
         }
+        return i2;
       }
-      return cmp(version, this.operator, this.semver, this.options);
-    };
-    Comparator.prototype.intersects = function(comp, options) {
-      if (!(comp instanceof Comparator)) {
-        throw new TypeError("a Comparator is required");
+      const r = function(t2) {
+        return !(null == n.exec(t2));
+      }, o = { allowBooleanAttributes: false, unpairedTags: [] };
+      function a(t2, e2) {
+        e2 = Object.assign({}, o, e2);
+        const i2 = [];
+        let n2 = false, s2 = false;
+        "\uFEFF" === t2[0] && (t2 = t2.substr(1));
+        for (let o2 = 0; o2 < t2.length; o2++) if ("<" === t2[o2] && "?" === t2[o2 + 1]) {
+          if (o2 += 2, o2 = u(t2, o2), o2.err) return o2;
+        } else {
+          if ("<" !== t2[o2]) {
+            if (l(t2[o2])) continue;
+            return x("InvalidChar", "char '" + t2[o2] + "' is not expected.", b(t2, o2));
+          }
+          {
+            let a2 = o2;
+            if (o2++, "!" === t2[o2]) {
+              o2 = h(t2, o2);
+              continue;
+            }
+            {
+              let d2 = false;
+              "/" === t2[o2] && (d2 = true, o2++);
+              let p2 = "";
+              for (; o2 < t2.length && ">" !== t2[o2] && " " !== t2[o2] && "	" !== t2[o2] && "\n" !== t2[o2] && "\r" !== t2[o2]; o2++) p2 += t2[o2];
+              if (p2 = p2.trim(), "/" === p2[p2.length - 1] && (p2 = p2.substring(0, p2.length - 1), o2--), !r(p2)) {
+                let e3;
+                return e3 = 0 === p2.trim().length ? "Invalid space after '<'." : "Tag '" + p2 + "' is an invalid name.", x("InvalidTag", e3, b(t2, o2));
+              }
+              const c2 = f(t2, o2);
+              if (false === c2) return x("InvalidAttr", "Attributes for '" + p2 + "' have open quote.", b(t2, o2));
+              let N2 = c2.value;
+              if (o2 = c2.index, "/" === N2[N2.length - 1]) {
+                const i3 = o2 - N2.length;
+                N2 = N2.substring(0, N2.length - 1);
+                const s3 = g(N2, e2);
+                if (true !== s3) return x(s3.err.code, s3.err.msg, b(t2, i3 + s3.err.line));
+                n2 = true;
+              } else if (d2) {
+                if (!c2.tagClosed) return x("InvalidTag", "Closing tag '" + p2 + "' doesn't have proper closing.", b(t2, o2));
+                if (N2.trim().length > 0) return x("InvalidTag", "Closing tag '" + p2 + "' can't have attributes or invalid starting.", b(t2, a2));
+                if (0 === i2.length) return x("InvalidTag", "Closing tag '" + p2 + "' has not been opened.", b(t2, a2));
+                {
+                  const e3 = i2.pop();
+                  if (p2 !== e3.tagName) {
+                    let i3 = b(t2, e3.tagStartPos);
+                    return x("InvalidTag", "Expected closing tag '" + e3.tagName + "' (opened in line " + i3.line + ", col " + i3.col + ") instead of closing tag '" + p2 + "'.", b(t2, a2));
+                  }
+                  0 == i2.length && (s2 = true);
+                }
+              } else {
+                const r2 = g(N2, e2);
+                if (true !== r2) return x(r2.err.code, r2.err.msg, b(t2, o2 - N2.length + r2.err.line));
+                if (true === s2) return x("InvalidXml", "Multiple possible root nodes found.", b(t2, o2));
+                -1 !== e2.unpairedTags.indexOf(p2) || i2.push({ tagName: p2, tagStartPos: a2 }), n2 = true;
+              }
+              for (o2++; o2 < t2.length; o2++) if ("<" === t2[o2]) {
+                if ("!" === t2[o2 + 1]) {
+                  o2++, o2 = h(t2, o2);
+                  continue;
+                }
+                if ("?" !== t2[o2 + 1]) break;
+                if (o2 = u(t2, ++o2), o2.err) return o2;
+              } else if ("&" === t2[o2]) {
+                const e3 = m(t2, o2);
+                if (-1 == e3) return x("InvalidChar", "char '&' is not expected.", b(t2, o2));
+                o2 = e3;
+              } else if (true === s2 && !l(t2[o2])) return x("InvalidXml", "Extra text at the end", b(t2, o2));
+              "<" === t2[o2] && o2--;
+            }
+          }
+        }
+        return n2 ? 1 == i2.length ? x("InvalidTag", "Unclosed tag '" + i2[0].tagName + "'.", b(t2, i2[0].tagStartPos)) : !(i2.length > 0) || x("InvalidXml", "Invalid '" + JSON.stringify(i2.map(((t3) => t3.tagName)), null, 4).replace(/\r?\n/g, "") + "' found.", { line: 1, col: 1 }) : x("InvalidXml", "Start tag expected.", 1);
       }
-      if (!options || typeof options !== "object") {
-        options = {
-          loose: !!options,
-          includePrerelease: false
-        };
+      function l(t2) {
+        return " " === t2 || "	" === t2 || "\n" === t2 || "\r" === t2;
       }
-      var rangeTmp;
-      if (this.operator === "") {
-        if (this.value === "") {
-          return true;
+      function u(t2, e2) {
+        const i2 = e2;
+        for (; e2 < t2.length; e2++) if ("?" != t2[e2] && " " != t2[e2]) ;
+        else {
+          const n2 = t2.substr(i2, e2 - i2);
+          if (e2 > 5 && "xml" === n2) return x("InvalidXml", "XML declaration allowed only at the start of the document.", b(t2, e2));
+          if ("?" == t2[e2] && ">" == t2[e2 + 1]) {
+            e2++;
+            break;
+          }
         }
-        rangeTmp = new Range2(comp.value, options);
-        return satisfies2(this.value, rangeTmp, options);
-      } else if (comp.operator === "") {
-        if (comp.value === "") {
-          return true;
+        return e2;
+      }
+      function h(t2, e2) {
+        if (t2.length > e2 + 5 && "-" === t2[e2 + 1] && "-" === t2[e2 + 2]) {
+          for (e2 += 3; e2 < t2.length; e2++) if ("-" === t2[e2] && "-" === t2[e2 + 1] && ">" === t2[e2 + 2]) {
+            e2 += 2;
+            break;
+          }
+        } else if (t2.length > e2 + 8 && "D" === t2[e2 + 1] && "O" === t2[e2 + 2] && "C" === t2[e2 + 3] && "T" === t2[e2 + 4] && "Y" === t2[e2 + 5] && "P" === t2[e2 + 6] && "E" === t2[e2 + 7]) {
+          let i2 = 1;
+          for (e2 += 8; e2 < t2.length; e2++) if ("<" === t2[e2]) i2++;
+          else if (">" === t2[e2] && (i2--, 0 === i2)) break;
+        } else if (t2.length > e2 + 9 && "[" === t2[e2 + 1] && "C" === t2[e2 + 2] && "D" === t2[e2 + 3] && "A" === t2[e2 + 4] && "T" === t2[e2 + 5] && "A" === t2[e2 + 6] && "[" === t2[e2 + 7]) {
+          for (e2 += 8; e2 < t2.length; e2++) if ("]" === t2[e2] && "]" === t2[e2 + 1] && ">" === t2[e2 + 2]) {
+            e2 += 2;
+            break;
+          }
         }
-        rangeTmp = new Range2(this.value, options);
-        return satisfies2(comp.semver, rangeTmp, options);
+        return e2;
       }
-      var sameDirectionIncreasing = (this.operator === ">=" || this.operator === ">") && (comp.operator === ">=" || comp.operator === ">");
-      var sameDirectionDecreasing = (this.operator === "<=" || this.operator === "<") && (comp.operator === "<=" || comp.operator === "<");
-      var sameSemVer = this.semver.version === comp.semver.version;
-      var differentDirectionsInclusive = (this.operator === ">=" || this.operator === "<=") && (comp.operator === ">=" || comp.operator === "<=");
-      var oppositeDirectionsLessThan = cmp(this.semver, "<", comp.semver, options) && ((this.operator === ">=" || this.operator === ">") && (comp.operator === "<=" || comp.operator === "<"));
-      var oppositeDirectionsGreaterThan = cmp(this.semver, ">", comp.semver, options) && ((this.operator === "<=" || this.operator === "<") && (comp.operator === ">=" || comp.operator === ">"));
-      return sameDirectionIncreasing || sameDirectionDecreasing || sameSemVer && differentDirectionsInclusive || oppositeDirectionsLessThan || oppositeDirectionsGreaterThan;
-    };
-    exports2.Range = Range2;
-    function Range2(range, options) {
-      if (!options || typeof options !== "object") {
-        options = {
-          loose: !!options,
-          includePrerelease: false
-        };
+      const d = '"', p = "'";
+      function f(t2, e2) {
+        let i2 = "", n2 = "", s2 = false;
+        for (; e2 < t2.length; e2++) {
+          if (t2[e2] === d || t2[e2] === p) "" === n2 ? n2 = t2[e2] : n2 !== t2[e2] || (n2 = "");
+          else if (">" === t2[e2] && "" === n2) {
+            s2 = true;
+            break;
+          }
+          i2 += t2[e2];
+        }
+        return "" === n2 && { value: i2, index: e2, tagClosed: s2 };
       }
-      if (range instanceof Range2) {
-        if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
-          return range;
-        } else {
-          return new Range2(range.raw, options);
+      const c = new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`, "g");
+      function g(t2, e2) {
+        const i2 = s(t2, c), n2 = {};
+        for (let t3 = 0; t3 < i2.length; t3++) {
+          if (0 === i2[t3][1].length) return x("InvalidAttr", "Attribute '" + i2[t3][2] + "' has no space in starting.", E(i2[t3]));
+          if (void 0 !== i2[t3][3] && void 0 === i2[t3][4]) return x("InvalidAttr", "Attribute '" + i2[t3][2] + "' is without value.", E(i2[t3]));
+          if (void 0 === i2[t3][3] && !e2.allowBooleanAttributes) return x("InvalidAttr", "boolean attribute '" + i2[t3][2] + "' is not allowed.", E(i2[t3]));
+          const s2 = i2[t3][2];
+          if (!N(s2)) return x("InvalidAttr", "Attribute '" + s2 + "' is an invalid name.", E(i2[t3]));
+          if (n2.hasOwnProperty(s2)) return x("InvalidAttr", "Attribute '" + s2 + "' is repeated.", E(i2[t3]));
+          n2[s2] = 1;
         }
+        return true;
       }
-      if (range instanceof Comparator) {
-        return new Range2(range.value, options);
+      function m(t2, e2) {
+        if (";" === t2[++e2]) return -1;
+        if ("#" === t2[e2]) return (function(t3, e3) {
+          let i3 = /\d/;
+          for ("x" === t3[e3] && (e3++, i3 = /[\da-fA-F]/); e3 < t3.length; e3++) {
+            if (";" === t3[e3]) return e3;
+            if (!t3[e3].match(i3)) break;
+          }
+          return -1;
+        })(t2, ++e2);
+        let i2 = 0;
+        for (; e2 < t2.length; e2++, i2++) if (!(t2[e2].match(/\w/) && i2 < 20)) {
+          if (";" === t2[e2]) break;
+          return -1;
+        }
+        return e2;
       }
-      if (!(this instanceof Range2)) {
-        return new Range2(range, options);
+      function x(t2, e2, i2) {
+        return { err: { code: t2, msg: e2, line: i2.line || i2, col: i2.col } };
       }
-      this.options = options;
-      this.loose = !!options.loose;
-      this.includePrerelease = !!options.includePrerelease;
-      this.raw = range.trim().split(/\s+/).join(" ");
-      this.set = this.raw.split("||").map(function(range2) {
-        return this.parseRange(range2.trim());
-      }, this).filter(function(c) {
-        return c.length;
-      });
-      if (!this.set.length) {
-        throw new TypeError("Invalid SemVer Range: " + this.raw);
+      function N(t2) {
+        return r(t2);
       }
-      this.format();
-    }
-    Range2.prototype.format = function() {
-      this.range = this.set.map(function(comps) {
-        return comps.join(" ").trim();
-      }).join("||").trim();
-      return this.range;
-    };
-    Range2.prototype.toString = function() {
-      return this.range;
-    };
-    Range2.prototype.parseRange = function(range) {
-      var loose = this.options.loose;
-      var hr = loose ? safeRe[t.HYPHENRANGELOOSE] : safeRe[t.HYPHENRANGE];
-      range = range.replace(hr, hyphenReplace);
-      debug4("hyphen replace", range);
-      range = range.replace(safeRe[t.COMPARATORTRIM], comparatorTrimReplace);
-      debug4("comparator trim", range, safeRe[t.COMPARATORTRIM]);
-      range = range.replace(safeRe[t.TILDETRIM], tildeTrimReplace);
-      range = range.replace(safeRe[t.CARETTRIM], caretTrimReplace);
-      range = range.split(/\s+/).join(" ");
-      var compRe = loose ? safeRe[t.COMPARATORLOOSE] : safeRe[t.COMPARATOR];
-      var set2 = range.split(" ").map(function(comp) {
-        return parseComparator(comp, this.options);
-      }, this).join(" ").split(/\s+/);
-      if (this.options.loose) {
-        set2 = set2.filter(function(comp) {
-          return !!comp.match(compRe);
-        });
+      function b(t2, e2) {
+        const i2 = t2.substring(0, e2).split(/\r?\n/);
+        return { line: i2.length, col: i2[i2.length - 1].length + 1 };
       }
-      set2 = set2.map(function(comp) {
-        return new Comparator(comp, this.options);
-      }, this);
-      return set2;
-    };
-    Range2.prototype.intersects = function(range, options) {
-      if (!(range instanceof Range2)) {
-        throw new TypeError("a Range is required");
+      function E(t2) {
+        return t2.startIndex + t2[1].length;
       }
-      return this.set.some(function(thisComparators) {
-        return isSatisfiable(thisComparators, options) && range.set.some(function(rangeComparators) {
-          return isSatisfiable(rangeComparators, options) && thisComparators.every(function(thisComparator) {
-            return rangeComparators.every(function(rangeComparator) {
-              return thisComparator.intersects(rangeComparator, options);
-            });
-          });
-        });
-      });
-    };
-    function isSatisfiable(comparators, options) {
-      var result = true;
-      var remainingComparators = comparators.slice();
-      var testComparator = remainingComparators.pop();
-      while (result && remainingComparators.length) {
-        result = remainingComparators.every(function(otherComparator) {
-          return testComparator.intersects(otherComparator, options);
-        });
-        testComparator = remainingComparators.pop();
+      const v = { preserveOrder: false, attributeNamePrefix: "@_", attributesGroupName: false, textNodeName: "#text", ignoreAttributes: true, removeNSPrefix: false, allowBooleanAttributes: false, parseTagValue: true, parseAttributeValue: false, trimValues: true, cdataPropName: false, numberParseOptions: { hex: true, leadingZeros: true, eNotation: true }, tagValueProcessor: function(t2, e2) {
+        return e2;
+      }, attributeValueProcessor: function(t2, e2) {
+        return e2;
+      }, stopNodes: [], alwaysCreateTextNode: false, isArray: () => false, commentPropName: false, unpairedTags: [], processEntities: true, htmlEntities: false, ignoreDeclaration: false, ignorePiTags: false, transformTagName: false, transformAttributeName: false, updateTag: function(t2, e2, i2) {
+        return t2;
+      }, captureMetaData: false };
+      let T;
+      T = "function" != typeof Symbol ? "@@xmlMetadata" : /* @__PURE__ */ Symbol("XML Node Metadata");
+      class y {
+        constructor(t2) {
+          this.tagname = t2, this.child = [], this[":@"] = {};
+        }
+        add(t2, e2) {
+          "__proto__" === t2 && (t2 = "#__proto__"), this.child.push({ [t2]: e2 });
+        }
+        addChild(t2, e2) {
+          "__proto__" === t2.tagname && (t2.tagname = "#__proto__"), t2[":@"] && Object.keys(t2[":@"]).length > 0 ? this.child.push({ [t2.tagname]: t2.child, ":@": t2[":@"] }) : this.child.push({ [t2.tagname]: t2.child }), void 0 !== e2 && (this.child[this.child.length - 1][T] = { startIndex: e2 });
+        }
+        static getMetaDataSymbol() {
+          return T;
+        }
       }
-      return result;
-    }
-    exports2.toComparators = toComparators;
-    function toComparators(range, options) {
-      return new Range2(range, options).set.map(function(comp) {
-        return comp.map(function(c) {
-          return c.value;
-        }).join(" ").trim().split(" ");
-      });
-    }
-    function parseComparator(comp, options) {
-      debug4("comp", comp, options);
-      comp = replaceCarets(comp, options);
-      debug4("caret", comp);
-      comp = replaceTildes(comp, options);
-      debug4("tildes", comp);
-      comp = replaceXRanges(comp, options);
-      debug4("xrange", comp);
-      comp = replaceStars(comp, options);
-      debug4("stars", comp);
-      return comp;
-    }
-    function isX(id) {
-      return !id || id.toLowerCase() === "x" || id === "*";
-    }
-    function replaceTildes(comp, options) {
-      return comp.trim().split(/\s+/).map(function(comp2) {
-        return replaceTilde(comp2, options);
-      }).join(" ");
-    }
-    function replaceTilde(comp, options) {
-      var r = options.loose ? safeRe[t.TILDELOOSE] : safeRe[t.TILDE];
-      return comp.replace(r, function(_2, M, m, p, pr) {
-        debug4("tilde", comp, _2, M, m, p, pr);
-        var ret;
-        if (isX(M)) {
-          ret = "";
-        } else if (isX(m)) {
-          ret = ">=" + M + ".0.0 <" + (+M + 1) + ".0.0";
-        } else if (isX(p)) {
-          ret = ">=" + M + "." + m + ".0 <" + M + "." + (+m + 1) + ".0";
-        } else if (pr) {
-          debug4("replaceTilde pr", pr);
-          ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + M + "." + (+m + 1) + ".0";
-        } else {
-          ret = ">=" + M + "." + m + "." + p + " <" + M + "." + (+m + 1) + ".0";
+      class w {
+        constructor(t2) {
+          this.suppressValidationErr = !t2;
         }
-        debug4("tilde return", ret);
-        return ret;
-      });
-    }
-    function replaceCarets(comp, options) {
-      return comp.trim().split(/\s+/).map(function(comp2) {
-        return replaceCaret(comp2, options);
-      }).join(" ");
-    }
-    function replaceCaret(comp, options) {
-      debug4("caret", comp, options);
-      var r = options.loose ? safeRe[t.CARETLOOSE] : safeRe[t.CARET];
-      return comp.replace(r, function(_2, M, m, p, pr) {
-        debug4("caret", comp, _2, M, m, p, pr);
-        var ret;
-        if (isX(M)) {
-          ret = "";
-        } else if (isX(m)) {
-          ret = ">=" + M + ".0.0 <" + (+M + 1) + ".0.0";
-        } else if (isX(p)) {
-          if (M === "0") {
-            ret = ">=" + M + "." + m + ".0 <" + M + "." + (+m + 1) + ".0";
-          } else {
-            ret = ">=" + M + "." + m + ".0 <" + (+M + 1) + ".0.0";
+        readDocType(t2, e2) {
+          const i2 = {};
+          if ("O" !== t2[e2 + 3] || "C" !== t2[e2 + 4] || "T" !== t2[e2 + 5] || "Y" !== t2[e2 + 6] || "P" !== t2[e2 + 7] || "E" !== t2[e2 + 8]) throw new Error("Invalid Tag instead of DOCTYPE");
+          {
+            e2 += 9;
+            let n2 = 1, s2 = false, r2 = false, o2 = "";
+            for (; e2 < t2.length; e2++) if ("<" !== t2[e2] || r2) if (">" === t2[e2]) {
+              if (r2 ? "-" === t2[e2 - 1] && "-" === t2[e2 - 2] && (r2 = false, n2--) : n2--, 0 === n2) break;
+            } else "[" === t2[e2] ? s2 = true : o2 += t2[e2];
+            else {
+              if (s2 && P(t2, "!ENTITY", e2)) {
+                let n3, s3;
+                e2 += 7, [n3, s3, e2] = this.readEntityExp(t2, e2 + 1, this.suppressValidationErr), -1 === s3.indexOf("&") && (i2[n3] = { regx: RegExp(`&${n3};`, "g"), val: s3 });
+              } else if (s2 && P(t2, "!ELEMENT", e2)) {
+                e2 += 8;
+                const { index: i3 } = this.readElementExp(t2, e2 + 1);
+                e2 = i3;
+              } else if (s2 && P(t2, "!ATTLIST", e2)) e2 += 8;
+              else if (s2 && P(t2, "!NOTATION", e2)) {
+                e2 += 9;
+                const { index: i3 } = this.readNotationExp(t2, e2 + 1, this.suppressValidationErr);
+                e2 = i3;
+              } else {
+                if (!P(t2, "!--", e2)) throw new Error("Invalid DOCTYPE");
+                r2 = true;
+              }
+              n2++, o2 = "";
+            }
+            if (0 !== n2) throw new Error("Unclosed DOCTYPE");
           }
-        } else if (pr) {
-          debug4("replaceCaret pr", pr);
-          if (M === "0") {
-            if (m === "0") {
-              ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + M + "." + m + "." + (+p + 1);
-            } else {
-              ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + M + "." + (+m + 1) + ".0";
+          return { entities: i2, i: e2 };
+        }
+        readEntityExp(t2, e2) {
+          e2 = I(t2, e2);
+          let i2 = "";
+          for (; e2 < t2.length && !/\s/.test(t2[e2]) && '"' !== t2[e2] && "'" !== t2[e2]; ) i2 += t2[e2], e2++;
+          if (O(i2), e2 = I(t2, e2), !this.suppressValidationErr) {
+            if ("SYSTEM" === t2.substring(e2, e2 + 6).toUpperCase()) throw new Error("External entities are not supported");
+            if ("%" === t2[e2]) throw new Error("Parameter entities are not supported");
+          }
+          let n2 = "";
+          return [e2, n2] = this.readIdentifierVal(t2, e2, "entity"), [i2, n2, --e2];
+        }
+        readNotationExp(t2, e2) {
+          e2 = I(t2, e2);
+          let i2 = "";
+          for (; e2 < t2.length && !/\s/.test(t2[e2]); ) i2 += t2[e2], e2++;
+          !this.suppressValidationErr && O(i2), e2 = I(t2, e2);
+          const n2 = t2.substring(e2, e2 + 6).toUpperCase();
+          if (!this.suppressValidationErr && "SYSTEM" !== n2 && "PUBLIC" !== n2) throw new Error(`Expected SYSTEM or PUBLIC, found "${n2}"`);
+          e2 += n2.length, e2 = I(t2, e2);
+          let s2 = null, r2 = null;
+          if ("PUBLIC" === n2) [e2, s2] = this.readIdentifierVal(t2, e2, "publicIdentifier"), '"' !== t2[e2 = I(t2, e2)] && "'" !== t2[e2] || ([e2, r2] = this.readIdentifierVal(t2, e2, "systemIdentifier"));
+          else if ("SYSTEM" === n2 && ([e2, r2] = this.readIdentifierVal(t2, e2, "systemIdentifier"), !this.suppressValidationErr && !r2)) throw new Error("Missing mandatory system identifier for SYSTEM notation");
+          return { notationName: i2, publicIdentifier: s2, systemIdentifier: r2, index: --e2 };
+        }
+        readIdentifierVal(t2, e2, i2) {
+          let n2 = "";
+          const s2 = t2[e2];
+          if ('"' !== s2 && "'" !== s2) throw new Error(`Expected quoted string, found "${s2}"`);
+          for (e2++; e2 < t2.length && t2[e2] !== s2; ) n2 += t2[e2], e2++;
+          if (t2[e2] !== s2) throw new Error(`Unterminated ${i2} value`);
+          return [++e2, n2];
+        }
+        readElementExp(t2, e2) {
+          e2 = I(t2, e2);
+          let i2 = "";
+          for (; e2 < t2.length && !/\s/.test(t2[e2]); ) i2 += t2[e2], e2++;
+          if (!this.suppressValidationErr && !r(i2)) throw new Error(`Invalid element name: "${i2}"`);
+          let n2 = "";
+          if ("E" === t2[e2 = I(t2, e2)] && P(t2, "MPTY", e2)) e2 += 4;
+          else if ("A" === t2[e2] && P(t2, "NY", e2)) e2 += 2;
+          else if ("(" === t2[e2]) {
+            for (e2++; e2 < t2.length && ")" !== t2[e2]; ) n2 += t2[e2], e2++;
+            if (")" !== t2[e2]) throw new Error("Unterminated content model");
+          } else if (!this.suppressValidationErr) throw new Error(`Invalid Element Expression, found "${t2[e2]}"`);
+          return { elementName: i2, contentModel: n2.trim(), index: e2 };
+        }
+        readAttlistExp(t2, e2) {
+          e2 = I(t2, e2);
+          let i2 = "";
+          for (; e2 < t2.length && !/\s/.test(t2[e2]); ) i2 += t2[e2], e2++;
+          O(i2), e2 = I(t2, e2);
+          let n2 = "";
+          for (; e2 < t2.length && !/\s/.test(t2[e2]); ) n2 += t2[e2], e2++;
+          if (!O(n2)) throw new Error(`Invalid attribute name: "${n2}"`);
+          e2 = I(t2, e2);
+          let s2 = "";
+          if ("NOTATION" === t2.substring(e2, e2 + 8).toUpperCase()) {
+            if (s2 = "NOTATION", "(" !== t2[e2 = I(t2, e2 += 8)]) throw new Error(`Expected '(', found "${t2[e2]}"`);
+            e2++;
+            let i3 = [];
+            for (; e2 < t2.length && ")" !== t2[e2]; ) {
+              let n3 = "";
+              for (; e2 < t2.length && "|" !== t2[e2] && ")" !== t2[e2]; ) n3 += t2[e2], e2++;
+              if (n3 = n3.trim(), !O(n3)) throw new Error(`Invalid notation name: "${n3}"`);
+              i3.push(n3), "|" === t2[e2] && (e2++, e2 = I(t2, e2));
             }
+            if (")" !== t2[e2]) throw new Error("Unterminated list of notations");
+            e2++, s2 += " (" + i3.join("|") + ")";
           } else {
-            ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + (+M + 1) + ".0.0";
+            for (; e2 < t2.length && !/\s/.test(t2[e2]); ) s2 += t2[e2], e2++;
+            const i3 = ["CDATA", "ID", "IDREF", "IDREFS", "ENTITY", "ENTITIES", "NMTOKEN", "NMTOKENS"];
+            if (!this.suppressValidationErr && !i3.includes(s2.toUpperCase())) throw new Error(`Invalid attribute type: "${s2}"`);
           }
-        } else {
-          debug4("no pr");
-          if (M === "0") {
-            if (m === "0") {
-              ret = ">=" + M + "." + m + "." + p + " <" + M + "." + m + "." + (+p + 1);
-            } else {
-              ret = ">=" + M + "." + m + "." + p + " <" + M + "." + (+m + 1) + ".0";
+          e2 = I(t2, e2);
+          let r2 = "";
+          return "#REQUIRED" === t2.substring(e2, e2 + 8).toUpperCase() ? (r2 = "#REQUIRED", e2 += 8) : "#IMPLIED" === t2.substring(e2, e2 + 7).toUpperCase() ? (r2 = "#IMPLIED", e2 += 7) : [e2, r2] = this.readIdentifierVal(t2, e2, "ATTLIST"), { elementName: i2, attributeName: n2, attributeType: s2, defaultValue: r2, index: e2 };
+        }
+      }
+      const I = (t2, e2) => {
+        for (; e2 < t2.length && /\s/.test(t2[e2]); ) e2++;
+        return e2;
+      };
+      function P(t2, e2, i2) {
+        for (let n2 = 0; n2 < e2.length; n2++) if (e2[n2] !== t2[i2 + n2 + 1]) return false;
+        return true;
+      }
+      function O(t2) {
+        if (r(t2)) return t2;
+        throw new Error(`Invalid entity name ${t2}`);
+      }
+      const A = /^[-+]?0x[a-fA-F0-9]+$/, S = /^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/, C = { hex: true, leadingZeros: true, decimalPoint: ".", eNotation: true };
+      const V = /^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/;
+      function $(t2) {
+        return "function" == typeof t2 ? t2 : Array.isArray(t2) ? (e2) => {
+          for (const i2 of t2) {
+            if ("string" == typeof i2 && e2 === i2) return true;
+            if (i2 instanceof RegExp && i2.test(e2)) return true;
+          }
+        } : () => false;
+      }
+      class D {
+        constructor(t2) {
+          if (this.options = t2, this.currentNode = null, this.tagsNodeStack = [], this.docTypeEntities = {}, this.lastEntities = { apos: { regex: /&(apos|#39|#x27);/g, val: "'" }, gt: { regex: /&(gt|#62|#x3E);/g, val: ">" }, lt: { regex: /&(lt|#60|#x3C);/g, val: "<" }, quot: { regex: /&(quot|#34|#x22);/g, val: '"' } }, this.ampEntity = { regex: /&(amp|#38|#x26);/g, val: "&" }, this.htmlEntities = { space: { regex: /&(nbsp|#160);/g, val: " " }, cent: { regex: /&(cent|#162);/g, val: "\xA2" }, pound: { regex: /&(pound|#163);/g, val: "\xA3" }, yen: { regex: /&(yen|#165);/g, val: "\xA5" }, euro: { regex: /&(euro|#8364);/g, val: "\u20AC" }, copyright: { regex: /&(copy|#169);/g, val: "\xA9" }, reg: { regex: /&(reg|#174);/g, val: "\xAE" }, inr: { regex: /&(inr|#8377);/g, val: "\u20B9" }, num_dec: { regex: /&#([0-9]{1,7});/g, val: (t3, e2) => Z(e2, 10, "&#") }, num_hex: { regex: /&#x([0-9a-fA-F]{1,6});/g, val: (t3, e2) => Z(e2, 16, "&#x") } }, this.addExternalEntities = j, this.parseXml = L, this.parseTextData = M, this.resolveNameSpace = F, this.buildAttributesMap = k, this.isItStopNode = Y, this.replaceEntitiesValue = B, this.readStopNodeData = W, this.saveTextToParentTag = R, this.addChild = U, this.ignoreAttributesFn = $(this.options.ignoreAttributes), this.options.stopNodes && this.options.stopNodes.length > 0) {
+            this.stopNodesExact = /* @__PURE__ */ new Set(), this.stopNodesWildcard = /* @__PURE__ */ new Set();
+            for (let t3 = 0; t3 < this.options.stopNodes.length; t3++) {
+              const e2 = this.options.stopNodes[t3];
+              "string" == typeof e2 && (e2.startsWith("*.") ? this.stopNodesWildcard.add(e2.substring(2)) : this.stopNodesExact.add(e2));
             }
-          } else {
-            ret = ">=" + M + "." + m + "." + p + " <" + (+M + 1) + ".0.0";
           }
         }
-        debug4("caret return", ret);
-        return ret;
-      });
-    }
-    function replaceXRanges(comp, options) {
-      debug4("replaceXRanges", comp, options);
-      return comp.split(/\s+/).map(function(comp2) {
-        return replaceXRange(comp2, options);
-      }).join(" ");
-    }
-    function replaceXRange(comp, options) {
-      comp = comp.trim();
-      var r = options.loose ? safeRe[t.XRANGELOOSE] : safeRe[t.XRANGE];
-      return comp.replace(r, function(ret, gtlt, M, m, p, pr) {
-        debug4("xRange", comp, ret, gtlt, M, m, p, pr);
-        var xM = isX(M);
-        var xm = xM || isX(m);
-        var xp = xm || isX(p);
-        var anyX = xp;
-        if (gtlt === "=" && anyX) {
-          gtlt = "";
+      }
+      function j(t2) {
+        const e2 = Object.keys(t2);
+        for (let i2 = 0; i2 < e2.length; i2++) {
+          const n2 = e2[i2];
+          this.lastEntities[n2] = { regex: new RegExp("&" + n2 + ";", "g"), val: t2[n2] };
         }
-        pr = options.includePrerelease ? "-0" : "";
-        if (xM) {
-          if (gtlt === ">" || gtlt === "<") {
-            ret = "<0.0.0-0";
-          } else {
-            ret = "*";
+      }
+      function M(t2, e2, i2, n2, s2, r2, o2) {
+        if (void 0 !== t2 && (this.options.trimValues && !n2 && (t2 = t2.trim()), t2.length > 0)) {
+          o2 || (t2 = this.replaceEntitiesValue(t2));
+          const n3 = this.options.tagValueProcessor(e2, t2, i2, s2, r2);
+          return null == n3 ? t2 : typeof n3 != typeof t2 || n3 !== t2 ? n3 : this.options.trimValues || t2.trim() === t2 ? q(t2, this.options.parseTagValue, this.options.numberParseOptions) : t2;
+        }
+      }
+      function F(t2) {
+        if (this.options.removeNSPrefix) {
+          const e2 = t2.split(":"), i2 = "/" === t2.charAt(0) ? "/" : "";
+          if ("xmlns" === e2[0]) return "";
+          2 === e2.length && (t2 = i2 + e2[1]);
+        }
+        return t2;
+      }
+      const _2 = new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`, "gm");
+      function k(t2, e2) {
+        if (true !== this.options.ignoreAttributes && "string" == typeof t2) {
+          const i2 = s(t2, _2), n2 = i2.length, r2 = {};
+          for (let t3 = 0; t3 < n2; t3++) {
+            const n3 = this.resolveNameSpace(i2[t3][1]);
+            if (this.ignoreAttributesFn(n3, e2)) continue;
+            let s2 = i2[t3][4], o2 = this.options.attributeNamePrefix + n3;
+            if (n3.length) if (this.options.transformAttributeName && (o2 = this.options.transformAttributeName(o2)), "__proto__" === o2 && (o2 = "#__proto__"), void 0 !== s2) {
+              this.options.trimValues && (s2 = s2.trim()), s2 = this.replaceEntitiesValue(s2);
+              const t4 = this.options.attributeValueProcessor(n3, s2, e2);
+              r2[o2] = null == t4 ? s2 : typeof t4 != typeof s2 || t4 !== s2 ? t4 : q(s2, this.options.parseAttributeValue, this.options.numberParseOptions);
+            } else this.options.allowBooleanAttributes && (r2[o2] = true);
           }
-        } else if (gtlt && anyX) {
-          if (xm) {
-            m = 0;
+          if (!Object.keys(r2).length) return;
+          if (this.options.attributesGroupName) {
+            const t3 = {};
+            return t3[this.options.attributesGroupName] = r2, t3;
           }
-          p = 0;
-          if (gtlt === ">") {
-            gtlt = ">=";
-            if (xm) {
-              M = +M + 1;
-              m = 0;
-              p = 0;
-            } else {
-              m = +m + 1;
-              p = 0;
+          return r2;
+        }
+      }
+      const L = function(t2) {
+        t2 = t2.replace(/\r\n?/g, "\n");
+        const e2 = new y("!xml");
+        let i2 = e2, n2 = "", s2 = "";
+        const r2 = new w(this.options.processEntities);
+        for (let o2 = 0; o2 < t2.length; o2++) if ("<" === t2[o2]) if ("/" === t2[o2 + 1]) {
+          const e3 = G(t2, ">", o2, "Closing Tag is not closed.");
+          let r3 = t2.substring(o2 + 2, e3).trim();
+          if (this.options.removeNSPrefix) {
+            const t3 = r3.indexOf(":");
+            -1 !== t3 && (r3 = r3.substr(t3 + 1));
+          }
+          this.options.transformTagName && (r3 = this.options.transformTagName(r3)), i2 && (n2 = this.saveTextToParentTag(n2, i2, s2));
+          const a2 = s2.substring(s2.lastIndexOf(".") + 1);
+          if (r3 && -1 !== this.options.unpairedTags.indexOf(r3)) throw new Error(`Unpaired tag can not be used as closing tag: `);
+          let l2 = 0;
+          a2 && -1 !== this.options.unpairedTags.indexOf(a2) ? (l2 = s2.lastIndexOf(".", s2.lastIndexOf(".") - 1), this.tagsNodeStack.pop()) : l2 = s2.lastIndexOf("."), s2 = s2.substring(0, l2), i2 = this.tagsNodeStack.pop(), n2 = "", o2 = e3;
+        } else if ("?" === t2[o2 + 1]) {
+          let e3 = X(t2, o2, false, "?>");
+          if (!e3) throw new Error("Pi Tag is not closed.");
+          if (n2 = this.saveTextToParentTag(n2, i2, s2), this.options.ignoreDeclaration && "?xml" === e3.tagName || this.options.ignorePiTags) ;
+          else {
+            const t3 = new y(e3.tagName);
+            t3.add(this.options.textNodeName, ""), e3.tagName !== e3.tagExp && e3.attrExpPresent && (t3[":@"] = this.buildAttributesMap(e3.tagExp, s2)), this.addChild(i2, t3, s2, o2);
+          }
+          o2 = e3.closeIndex + 1;
+        } else if ("!--" === t2.substr(o2 + 1, 3)) {
+          const e3 = G(t2, "-->", o2 + 4, "Comment is not closed.");
+          if (this.options.commentPropName) {
+            const r3 = t2.substring(o2 + 4, e3 - 2);
+            n2 = this.saveTextToParentTag(n2, i2, s2), i2.add(this.options.commentPropName, [{ [this.options.textNodeName]: r3 }]);
+          }
+          o2 = e3;
+        } else if ("!D" === t2.substr(o2 + 1, 2)) {
+          const e3 = r2.readDocType(t2, o2);
+          this.docTypeEntities = e3.entities, o2 = e3.i;
+        } else if ("![" === t2.substr(o2 + 1, 2)) {
+          const e3 = G(t2, "]]>", o2, "CDATA is not closed.") - 2, r3 = t2.substring(o2 + 9, e3);
+          n2 = this.saveTextToParentTag(n2, i2, s2);
+          let a2 = this.parseTextData(r3, i2.tagname, s2, true, false, true, true);
+          null == a2 && (a2 = ""), this.options.cdataPropName ? i2.add(this.options.cdataPropName, [{ [this.options.textNodeName]: r3 }]) : i2.add(this.options.textNodeName, a2), o2 = e3 + 2;
+        } else {
+          let r3 = X(t2, o2, this.options.removeNSPrefix), a2 = r3.tagName;
+          const l2 = r3.rawTagName;
+          let u2 = r3.tagExp, h2 = r3.attrExpPresent, d2 = r3.closeIndex;
+          if (this.options.transformTagName) {
+            const t3 = this.options.transformTagName(a2);
+            u2 === a2 && (u2 = t3), a2 = t3;
+          }
+          i2 && n2 && "!xml" !== i2.tagname && (n2 = this.saveTextToParentTag(n2, i2, s2, false));
+          const p2 = i2;
+          p2 && -1 !== this.options.unpairedTags.indexOf(p2.tagname) && (i2 = this.tagsNodeStack.pop(), s2 = s2.substring(0, s2.lastIndexOf("."))), a2 !== e2.tagname && (s2 += s2 ? "." + a2 : a2);
+          const f2 = o2;
+          if (this.isItStopNode(this.stopNodesExact, this.stopNodesWildcard, s2, a2)) {
+            let e3 = "";
+            if (u2.length > 0 && u2.lastIndexOf("/") === u2.length - 1) "/" === a2[a2.length - 1] ? (a2 = a2.substr(0, a2.length - 1), s2 = s2.substr(0, s2.length - 1), u2 = a2) : u2 = u2.substr(0, u2.length - 1), o2 = r3.closeIndex;
+            else if (-1 !== this.options.unpairedTags.indexOf(a2)) o2 = r3.closeIndex;
+            else {
+              const i3 = this.readStopNodeData(t2, l2, d2 + 1);
+              if (!i3) throw new Error(`Unexpected end of ${l2}`);
+              o2 = i3.i, e3 = i3.tagContent;
             }
-          } else if (gtlt === "<=") {
-            gtlt = "<";
-            if (xm) {
-              M = +M + 1;
+            const n3 = new y(a2);
+            a2 !== u2 && h2 && (n3[":@"] = this.buildAttributesMap(u2, s2)), e3 && (e3 = this.parseTextData(e3, a2, s2, true, h2, true, true)), s2 = s2.substr(0, s2.lastIndexOf(".")), n3.add(this.options.textNodeName, e3), this.addChild(i2, n3, s2, f2);
+          } else {
+            if (u2.length > 0 && u2.lastIndexOf("/") === u2.length - 1) {
+              if ("/" === a2[a2.length - 1] ? (a2 = a2.substr(0, a2.length - 1), s2 = s2.substr(0, s2.length - 1), u2 = a2) : u2 = u2.substr(0, u2.length - 1), this.options.transformTagName) {
+                const t4 = this.options.transformTagName(a2);
+                u2 === a2 && (u2 = t4), a2 = t4;
+              }
+              const t3 = new y(a2);
+              a2 !== u2 && h2 && (t3[":@"] = this.buildAttributesMap(u2, s2)), this.addChild(i2, t3, s2, f2), s2 = s2.substr(0, s2.lastIndexOf("."));
             } else {
-              m = +m + 1;
+              const t3 = new y(a2);
+              this.tagsNodeStack.push(i2), a2 !== u2 && h2 && (t3[":@"] = this.buildAttributesMap(u2, s2)), this.addChild(i2, t3, s2, f2), i2 = t3;
             }
+            n2 = "", o2 = d2;
           }
-          ret = gtlt + M + "." + m + "." + p + pr;
-        } else if (xm) {
-          ret = ">=" + M + ".0.0" + pr + " <" + (+M + 1) + ".0.0" + pr;
-        } else if (xp) {
-          ret = ">=" + M + "." + m + ".0" + pr + " <" + M + "." + (+m + 1) + ".0" + pr;
         }
-        debug4("xRange return", ret);
-        return ret;
-      });
-    }
-    function replaceStars(comp, options) {
-      debug4("replaceStars", comp, options);
-      return comp.trim().replace(safeRe[t.STAR], "");
-    }
-    function hyphenReplace($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr, tb) {
-      if (isX(fM)) {
-        from = "";
-      } else if (isX(fm)) {
-        from = ">=" + fM + ".0.0";
-      } else if (isX(fp)) {
-        from = ">=" + fM + "." + fm + ".0";
-      } else {
-        from = ">=" + from;
+        else n2 += t2[o2];
+        return e2.child;
+      };
+      function U(t2, e2, i2, n2) {
+        this.options.captureMetaData || (n2 = void 0);
+        const s2 = this.options.updateTag(e2.tagname, i2, e2[":@"]);
+        false === s2 || ("string" == typeof s2 ? (e2.tagname = s2, t2.addChild(e2, n2)) : t2.addChild(e2, n2));
       }
-      if (isX(tM)) {
-        to = "";
-      } else if (isX(tm)) {
-        to = "<" + (+tM + 1) + ".0.0";
-      } else if (isX(tp)) {
-        to = "<" + tM + "." + (+tm + 1) + ".0";
-      } else if (tpr) {
-        to = "<=" + tM + "." + tm + "." + tp + "-" + tpr;
-      } else {
-        to = "<=" + to;
+      const B = function(t2) {
+        if (this.options.processEntities) {
+          for (let e2 in this.docTypeEntities) {
+            const i2 = this.docTypeEntities[e2];
+            t2 = t2.replace(i2.regx, i2.val);
+          }
+          for (let e2 in this.lastEntities) {
+            const i2 = this.lastEntities[e2];
+            t2 = t2.replace(i2.regex, i2.val);
+          }
+          if (this.options.htmlEntities) for (let e2 in this.htmlEntities) {
+            const i2 = this.htmlEntities[e2];
+            t2 = t2.replace(i2.regex, i2.val);
+          }
+          t2 = t2.replace(this.ampEntity.regex, this.ampEntity.val);
+        }
+        return t2;
+      };
+      function R(t2, e2, i2, n2) {
+        return t2 && (void 0 === n2 && (n2 = 0 === e2.child.length), void 0 !== (t2 = this.parseTextData(t2, e2.tagname, i2, false, !!e2[":@"] && 0 !== Object.keys(e2[":@"]).length, n2)) && "" !== t2 && e2.add(this.options.textNodeName, t2), t2 = ""), t2;
       }
-      return (from + " " + to).trim();
-    }
-    Range2.prototype.test = function(version) {
-      if (!version) {
-        return false;
+      function Y(t2, e2, i2, n2) {
+        return !(!e2 || !e2.has(n2)) || !(!t2 || !t2.has(i2));
       }
-      if (typeof version === "string") {
-        try {
-          version = new SemVer(version, this.options);
-        } catch (er) {
-          return false;
+      function G(t2, e2, i2, n2) {
+        const s2 = t2.indexOf(e2, i2);
+        if (-1 === s2) throw new Error(n2);
+        return s2 + e2.length - 1;
+      }
+      function X(t2, e2, i2, n2 = ">") {
+        const s2 = (function(t3, e3, i3 = ">") {
+          let n3, s3 = "";
+          for (let r3 = e3; r3 < t3.length; r3++) {
+            let e4 = t3[r3];
+            if (n3) e4 === n3 && (n3 = "");
+            else if ('"' === e4 || "'" === e4) n3 = e4;
+            else if (e4 === i3[0]) {
+              if (!i3[1]) return { data: s3, index: r3 };
+              if (t3[r3 + 1] === i3[1]) return { data: s3, index: r3 };
+            } else "	" === e4 && (e4 = " ");
+            s3 += e4;
+          }
+        })(t2, e2 + 1, n2);
+        if (!s2) return;
+        let r2 = s2.data;
+        const o2 = s2.index, a2 = r2.search(/\s/);
+        let l2 = r2, u2 = true;
+        -1 !== a2 && (l2 = r2.substring(0, a2), r2 = r2.substring(a2 + 1).trimStart());
+        const h2 = l2;
+        if (i2) {
+          const t3 = l2.indexOf(":");
+          -1 !== t3 && (l2 = l2.substr(t3 + 1), u2 = l2 !== s2.data.substr(t3 + 1));
         }
+        return { tagName: l2, tagExp: r2, closeIndex: o2, attrExpPresent: u2, rawTagName: h2 };
       }
-      for (var i2 = 0; i2 < this.set.length; i2++) {
-        if (testSet(this.set[i2], version, this.options)) {
-          return true;
+      function W(t2, e2, i2) {
+        const n2 = i2;
+        let s2 = 1;
+        for (; i2 < t2.length; i2++) if ("<" === t2[i2]) if ("/" === t2[i2 + 1]) {
+          const r2 = G(t2, ">", i2, `${e2} is not closed`);
+          if (t2.substring(i2 + 2, r2).trim() === e2 && (s2--, 0 === s2)) return { tagContent: t2.substring(n2, i2), i: r2 };
+          i2 = r2;
+        } else if ("?" === t2[i2 + 1]) i2 = G(t2, "?>", i2 + 1, "StopNode is not closed.");
+        else if ("!--" === t2.substr(i2 + 1, 3)) i2 = G(t2, "-->", i2 + 3, "StopNode is not closed.");
+        else if ("![" === t2.substr(i2 + 1, 2)) i2 = G(t2, "]]>", i2, "StopNode is not closed.") - 2;
+        else {
+          const n3 = X(t2, i2, ">");
+          n3 && ((n3 && n3.tagName) === e2 && "/" !== n3.tagExp[n3.tagExp.length - 1] && s2++, i2 = n3.closeIndex);
         }
       }
-      return false;
-    };
-    function testSet(set2, version, options) {
-      for (var i2 = 0; i2 < set2.length; i2++) {
-        if (!set2[i2].test(version)) {
-          return false;
+      function q(t2, e2, i2) {
+        if (e2 && "string" == typeof t2) {
+          const e3 = t2.trim();
+          return "true" === e3 || "false" !== e3 && (function(t3, e4 = {}) {
+            if (e4 = Object.assign({}, C, e4), !t3 || "string" != typeof t3) return t3;
+            let i3 = t3.trim();
+            if (void 0 !== e4.skipLike && e4.skipLike.test(i3)) return t3;
+            if ("0" === t3) return 0;
+            if (e4.hex && A.test(i3)) return (function(t4) {
+              if (parseInt) return parseInt(t4, 16);
+              if (Number.parseInt) return Number.parseInt(t4, 16);
+              if (window && window.parseInt) return window.parseInt(t4, 16);
+              throw new Error("parseInt, Number.parseInt, window.parseInt are not supported");
+            })(i3);
+            if (-1 !== i3.search(/.+[eE].+/)) return (function(t4, e5, i4) {
+              if (!i4.eNotation) return t4;
+              const n3 = e5.match(V);
+              if (n3) {
+                let s2 = n3[1] || "";
+                const r2 = -1 === n3[3].indexOf("e") ? "E" : "e", o2 = n3[2], a2 = s2 ? t4[o2.length + 1] === r2 : t4[o2.length] === r2;
+                return o2.length > 1 && a2 ? t4 : 1 !== o2.length || !n3[3].startsWith(`.${r2}`) && n3[3][0] !== r2 ? i4.leadingZeros && !a2 ? (e5 = (n3[1] || "") + n3[3], Number(e5)) : t4 : Number(e5);
+              }
+              return t4;
+            })(t3, i3, e4);
+            {
+              const s2 = S.exec(i3);
+              if (s2) {
+                const r2 = s2[1] || "", o2 = s2[2];
+                let a2 = (n2 = s2[3]) && -1 !== n2.indexOf(".") ? ("." === (n2 = n2.replace(/0+$/, "")) ? n2 = "0" : "." === n2[0] ? n2 = "0" + n2 : "." === n2[n2.length - 1] && (n2 = n2.substring(0, n2.length - 1)), n2) : n2;
+                const l2 = r2 ? "." === t3[o2.length + 1] : "." === t3[o2.length];
+                if (!e4.leadingZeros && (o2.length > 1 || 1 === o2.length && !l2)) return t3;
+                {
+                  const n3 = Number(i3), s3 = String(n3);
+                  if (0 === n3 || -0 === n3) return n3;
+                  if (-1 !== s3.search(/[eE]/)) return e4.eNotation ? n3 : t3;
+                  if (-1 !== i3.indexOf(".")) return "0" === s3 || s3 === a2 || s3 === `${r2}${a2}` ? n3 : t3;
+                  let l3 = o2 ? a2 : i3;
+                  return o2 ? l3 === s3 || r2 + l3 === s3 ? n3 : t3 : l3 === s3 || l3 === r2 + s3 ? n3 : t3;
+                }
+              }
+              return t3;
+            }
+            var n2;
+          })(t2, i2);
         }
+        return void 0 !== t2 ? t2 : "";
       }
-      if (version.prerelease.length && !options.includePrerelease) {
-        for (i2 = 0; i2 < set2.length; i2++) {
-          debug4(set2[i2].semver);
-          if (set2[i2].semver === ANY) {
-            continue;
-          }
-          if (set2[i2].semver.prerelease.length > 0) {
-            var allowed = set2[i2].semver;
-            if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) {
-              return true;
+      function Z(t2, e2, i2) {
+        const n2 = Number.parseInt(t2, e2);
+        return n2 >= 0 && n2 <= 1114111 ? String.fromCodePoint(n2) : i2 + t2 + ";";
+      }
+      const K = y.getMetaDataSymbol();
+      function Q(t2, e2) {
+        return z(t2, e2);
+      }
+      function z(t2, e2, i2) {
+        let n2;
+        const s2 = {};
+        for (let r2 = 0; r2 < t2.length; r2++) {
+          const o2 = t2[r2], a2 = J(o2);
+          let l2 = "";
+          if (l2 = void 0 === i2 ? a2 : i2 + "." + a2, a2 === e2.textNodeName) void 0 === n2 ? n2 = o2[a2] : n2 += "" + o2[a2];
+          else {
+            if (void 0 === a2) continue;
+            if (o2[a2]) {
+              let t3 = z(o2[a2], e2, l2);
+              const i3 = tt(t3, e2);
+              void 0 !== o2[K] && (t3[K] = o2[K]), o2[":@"] ? H(t3, o2[":@"], l2, e2) : 1 !== Object.keys(t3).length || void 0 === t3[e2.textNodeName] || e2.alwaysCreateTextNode ? 0 === Object.keys(t3).length && (e2.alwaysCreateTextNode ? t3[e2.textNodeName] = "" : t3 = "") : t3 = t3[e2.textNodeName], void 0 !== s2[a2] && s2.hasOwnProperty(a2) ? (Array.isArray(s2[a2]) || (s2[a2] = [s2[a2]]), s2[a2].push(t3)) : e2.isArray(a2, l2, i3) ? s2[a2] = [t3] : s2[a2] = t3;
             }
           }
         }
-        return false;
-      }
-      return true;
-    }
-    exports2.satisfies = satisfies2;
-    function satisfies2(version, range, options) {
-      try {
-        range = new Range2(range, options);
-      } catch (er) {
-        return false;
+        return "string" == typeof n2 ? n2.length > 0 && (s2[e2.textNodeName] = n2) : void 0 !== n2 && (s2[e2.textNodeName] = n2), s2;
       }
-      return range.test(version);
-    }
-    exports2.maxSatisfying = maxSatisfying;
-    function maxSatisfying(versions, range, options) {
-      var max = null;
-      var maxSV = null;
-      try {
-        var rangeObj = new Range2(range, options);
-      } catch (er) {
-        return null;
+      function J(t2) {
+        const e2 = Object.keys(t2);
+        for (let t3 = 0; t3 < e2.length; t3++) {
+          const i2 = e2[t3];
+          if (":@" !== i2) return i2;
+        }
       }
-      versions.forEach(function(v) {
-        if (rangeObj.test(v)) {
-          if (!max || maxSV.compare(v) === -1) {
-            max = v;
-            maxSV = new SemVer(max, options);
+      function H(t2, e2, i2, n2) {
+        if (e2) {
+          const s2 = Object.keys(e2), r2 = s2.length;
+          for (let o2 = 0; o2 < r2; o2++) {
+            const r3 = s2[o2];
+            n2.isArray(r3, i2 + "." + r3, true, true) ? t2[r3] = [e2[r3]] : t2[r3] = e2[r3];
           }
         }
-      });
-      return max;
-    }
-    exports2.minSatisfying = minSatisfying;
-    function minSatisfying(versions, range, options) {
-      var min = null;
-      var minSV = null;
-      try {
-        var rangeObj = new Range2(range, options);
-      } catch (er) {
-        return null;
       }
-      versions.forEach(function(v) {
-        if (rangeObj.test(v)) {
-          if (!min || minSV.compare(v) === 1) {
-            min = v;
-            minSV = new SemVer(min, options);
+      function tt(t2, e2) {
+        const { textNodeName: i2 } = e2, n2 = Object.keys(t2).length;
+        return 0 === n2 || !(1 !== n2 || !t2[i2] && "boolean" != typeof t2[i2] && 0 !== t2[i2]);
+      }
+      class et {
+        constructor(t2) {
+          this.externalEntities = {}, this.options = (function(t3) {
+            return Object.assign({}, v, t3);
+          })(t2);
+        }
+        parse(t2, e2) {
+          if ("string" != typeof t2 && t2.toString) t2 = t2.toString();
+          else if ("string" != typeof t2) throw new Error("XML data is accepted in String or Bytes[] form.");
+          if (e2) {
+            true === e2 && (e2 = {});
+            const i3 = a(t2, e2);
+            if (true !== i3) throw Error(`${i3.err.msg}:${i3.err.line}:${i3.err.col}`);
           }
+          const i2 = new D(this.options);
+          i2.addExternalEntities(this.externalEntities);
+          const n2 = i2.parseXml(t2);
+          return this.options.preserveOrder || void 0 === n2 ? n2 : Q(n2, this.options);
+        }
+        addEntity(t2, e2) {
+          if (-1 !== e2.indexOf("&")) throw new Error("Entity value can't have '&'");
+          if (-1 !== t2.indexOf("&") || -1 !== t2.indexOf(";")) throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '
'");
+          if ("&" === e2) throw new Error("An entity with value '&' is not permitted");
+          this.externalEntities[t2] = e2;
+        }
+        static getMetaDataSymbol() {
+          return y.getMetaDataSymbol();
         }
-      });
-      return min;
-    }
-    exports2.minVersion = minVersion;
-    function minVersion(range, loose) {
-      range = new Range2(range, loose);
-      var minver = new SemVer("0.0.0");
-      if (range.test(minver)) {
-        return minver;
       }
-      minver = new SemVer("0.0.0-0");
-      if (range.test(minver)) {
-        return minver;
+      function it(t2, e2) {
+        let i2 = "";
+        return e2.format && e2.indentBy.length > 0 && (i2 = "\n"), nt(t2, e2, "", i2);
       }
-      minver = null;
-      for (var i2 = 0; i2 < range.set.length; ++i2) {
-        var comparators = range.set[i2];
-        comparators.forEach(function(comparator) {
-          var compver = new SemVer(comparator.semver.version);
-          switch (comparator.operator) {
-            case ">":
-              if (compver.prerelease.length === 0) {
-                compver.patch++;
-              } else {
-                compver.prerelease.push(0);
-              }
-              compver.raw = compver.format();
-            /* fallthrough */
-            case "":
-            case ">=":
-              if (!minver || gt(minver, compver)) {
-                minver = compver;
-              }
-              break;
-            case "<":
-            case "<=":
-              break;
-            /* istanbul ignore next */
-            default:
-              throw new Error("Unexpected operation: " + comparator.operator);
+      function nt(t2, e2, i2, n2) {
+        let s2 = "", r2 = false;
+        for (let o2 = 0; o2 < t2.length; o2++) {
+          const a2 = t2[o2], l2 = st(a2);
+          if (void 0 === l2) continue;
+          let u2 = "";
+          if (u2 = 0 === i2.length ? l2 : `${i2}.${l2}`, l2 === e2.textNodeName) {
+            let t3 = a2[l2];
+            ot(u2, e2) || (t3 = e2.tagValueProcessor(l2, t3), t3 = at(t3, e2)), r2 && (s2 += n2), s2 += t3, r2 = false;
+            continue;
           }
-        });
+          if (l2 === e2.cdataPropName) {
+            r2 && (s2 += n2), s2 += ``, r2 = false;
+            continue;
+          }
+          if (l2 === e2.commentPropName) {
+            s2 += n2 + ``, r2 = true;
+            continue;
+          }
+          if ("?" === l2[0]) {
+            const t3 = rt(a2[":@"], e2), i3 = "?xml" === l2 ? "" : n2;
+            let o3 = a2[l2][0][e2.textNodeName];
+            o3 = 0 !== o3.length ? " " + o3 : "", s2 += i3 + `<${l2}${o3}${t3}?>`, r2 = true;
+            continue;
+          }
+          let h2 = n2;
+          "" !== h2 && (h2 += e2.indentBy);
+          const d2 = n2 + `<${l2}${rt(a2[":@"], e2)}`, p2 = nt(a2[l2], e2, u2, h2);
+          -1 !== e2.unpairedTags.indexOf(l2) ? e2.suppressUnpairedNode ? s2 += d2 + ">" : s2 += d2 + "/>" : p2 && 0 !== p2.length || !e2.suppressEmptyNode ? p2 && p2.endsWith(">") ? s2 += d2 + `>${p2}${n2}` : (s2 += d2 + ">", p2 && "" !== n2 && (p2.includes("/>") || p2.includes("`) : s2 += d2 + "/>", r2 = true;
+        }
+        return s2;
       }
-      if (minver && range.test(minver)) {
-        return minver;
+      function st(t2) {
+        const e2 = Object.keys(t2);
+        for (let i2 = 0; i2 < e2.length; i2++) {
+          const n2 = e2[i2];
+          if (t2.hasOwnProperty(n2) && ":@" !== n2) return n2;
+        }
       }
-      return null;
+      function rt(t2, e2) {
+        let i2 = "";
+        if (t2 && !e2.ignoreAttributes) for (let n2 in t2) {
+          if (!t2.hasOwnProperty(n2)) continue;
+          let s2 = e2.attributeValueProcessor(n2, t2[n2]);
+          s2 = at(s2, e2), true === s2 && e2.suppressBooleanAttributes ? i2 += ` ${n2.substr(e2.attributeNamePrefix.length)}` : i2 += ` ${n2.substr(e2.attributeNamePrefix.length)}="${s2}"`;
+        }
+        return i2;
+      }
+      function ot(t2, e2) {
+        let i2 = (t2 = t2.substr(0, t2.length - e2.textNodeName.length - 1)).substr(t2.lastIndexOf(".") + 1);
+        for (let n2 in e2.stopNodes) if (e2.stopNodes[n2] === t2 || e2.stopNodes[n2] === "*." + i2) return true;
+        return false;
+      }
+      function at(t2, e2) {
+        if (t2 && t2.length > 0 && e2.processEntities) for (let i2 = 0; i2 < e2.entities.length; i2++) {
+          const n2 = e2.entities[i2];
+          t2 = t2.replace(n2.regex, n2.val);
+        }
+        return t2;
+      }
+      const lt = { attributeNamePrefix: "@_", attributesGroupName: false, textNodeName: "#text", ignoreAttributes: true, cdataPropName: false, format: false, indentBy: "  ", suppressEmptyNode: false, suppressUnpairedNode: true, suppressBooleanAttributes: true, tagValueProcessor: function(t2, e2) {
+        return e2;
+      }, attributeValueProcessor: function(t2, e2) {
+        return e2;
+      }, preserveOrder: false, commentPropName: false, unpairedTags: [], entities: [{ regex: new RegExp("&", "g"), val: "&" }, { regex: new RegExp(">", "g"), val: ">" }, { regex: new RegExp("<", "g"), val: "<" }, { regex: new RegExp("'", "g"), val: "'" }, { regex: new RegExp('"', "g"), val: """ }], processEntities: true, stopNodes: [], oneListGroup: false };
+      function ut(t2) {
+        this.options = Object.assign({}, lt, t2), true === this.options.ignoreAttributes || this.options.attributesGroupName ? this.isAttribute = function() {
+          return false;
+        } : (this.ignoreAttributesFn = $(this.options.ignoreAttributes), this.attrPrefixLen = this.options.attributeNamePrefix.length, this.isAttribute = pt), this.processTextOrObjNode = ht, this.options.format ? (this.indentate = dt, this.tagEndChar = ">\n", this.newLine = "\n") : (this.indentate = function() {
+          return "";
+        }, this.tagEndChar = ">", this.newLine = "");
+      }
+      function ht(t2, e2, i2, n2) {
+        const s2 = this.j2x(t2, i2 + 1, n2.concat(e2));
+        return void 0 !== t2[this.options.textNodeName] && 1 === Object.keys(t2).length ? this.buildTextValNode(t2[this.options.textNodeName], e2, s2.attrStr, i2) : this.buildObjectNode(s2.val, e2, s2.attrStr, i2);
+      }
+      function dt(t2) {
+        return this.options.indentBy.repeat(t2);
+      }
+      function pt(t2) {
+        return !(!t2.startsWith(this.options.attributeNamePrefix) || t2 === this.options.textNodeName) && t2.substr(this.attrPrefixLen);
+      }
+      ut.prototype.build = function(t2) {
+        return this.options.preserveOrder ? it(t2, this.options) : (Array.isArray(t2) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1 && (t2 = { [this.options.arrayNodeName]: t2 }), this.j2x(t2, 0, []).val);
+      }, ut.prototype.j2x = function(t2, e2, i2) {
+        let n2 = "", s2 = "";
+        const r2 = i2.join(".");
+        for (let o2 in t2) if (Object.prototype.hasOwnProperty.call(t2, o2)) if (void 0 === t2[o2]) this.isAttribute(o2) && (s2 += "");
+        else if (null === t2[o2]) this.isAttribute(o2) || o2 === this.options.cdataPropName ? s2 += "" : "?" === o2[0] ? s2 += this.indentate(e2) + "<" + o2 + "?" + this.tagEndChar : s2 += this.indentate(e2) + "<" + o2 + "/" + this.tagEndChar;
+        else if (t2[o2] instanceof Date) s2 += this.buildTextValNode(t2[o2], o2, "", e2);
+        else if ("object" != typeof t2[o2]) {
+          const i3 = this.isAttribute(o2);
+          if (i3 && !this.ignoreAttributesFn(i3, r2)) n2 += this.buildAttrPairStr(i3, "" + t2[o2]);
+          else if (!i3) if (o2 === this.options.textNodeName) {
+            let e3 = this.options.tagValueProcessor(o2, "" + t2[o2]);
+            s2 += this.replaceEntitiesValue(e3);
+          } else s2 += this.buildTextValNode(t2[o2], o2, "", e2);
+        } else if (Array.isArray(t2[o2])) {
+          const n3 = t2[o2].length;
+          let r3 = "", a2 = "";
+          for (let l2 = 0; l2 < n3; l2++) {
+            const n4 = t2[o2][l2];
+            if (void 0 === n4) ;
+            else if (null === n4) "?" === o2[0] ? s2 += this.indentate(e2) + "<" + o2 + "?" + this.tagEndChar : s2 += this.indentate(e2) + "<" + o2 + "/" + this.tagEndChar;
+            else if ("object" == typeof n4) if (this.options.oneListGroup) {
+              const t3 = this.j2x(n4, e2 + 1, i2.concat(o2));
+              r3 += t3.val, this.options.attributesGroupName && n4.hasOwnProperty(this.options.attributesGroupName) && (a2 += t3.attrStr);
+            } else r3 += this.processTextOrObjNode(n4, o2, e2, i2);
+            else if (this.options.oneListGroup) {
+              let t3 = this.options.tagValueProcessor(o2, n4);
+              t3 = this.replaceEntitiesValue(t3), r3 += t3;
+            } else r3 += this.buildTextValNode(n4, o2, "", e2);
+          }
+          this.options.oneListGroup && (r3 = this.buildObjectNode(r3, o2, a2, e2)), s2 += r3;
+        } else if (this.options.attributesGroupName && o2 === this.options.attributesGroupName) {
+          const e3 = Object.keys(t2[o2]), i3 = e3.length;
+          for (let s3 = 0; s3 < i3; s3++) n2 += this.buildAttrPairStr(e3[s3], "" + t2[o2][e3[s3]]);
+        } else s2 += this.processTextOrObjNode(t2[o2], o2, e2, i2);
+        return { attrStr: n2, val: s2 };
+      }, ut.prototype.buildAttrPairStr = function(t2, e2) {
+        return e2 = this.options.attributeValueProcessor(t2, "" + e2), e2 = this.replaceEntitiesValue(e2), this.options.suppressBooleanAttributes && "true" === e2 ? " " + t2 : " " + t2 + '="' + e2 + '"';
+      }, ut.prototype.buildObjectNode = function(t2, e2, i2, n2) {
+        if ("" === t2) return "?" === e2[0] ? this.indentate(n2) + "<" + e2 + i2 + "?" + this.tagEndChar : this.indentate(n2) + "<" + e2 + i2 + this.closeTag(e2) + this.tagEndChar;
+        {
+          let s2 = "` + this.newLine : this.indentate(n2) + "<" + e2 + i2 + r2 + this.tagEndChar + t2 + this.indentate(n2) + s2 : this.indentate(n2) + "<" + e2 + i2 + r2 + ">" + t2 + s2;
+        }
+      }, ut.prototype.closeTag = function(t2) {
+        let e2 = "";
+        return -1 !== this.options.unpairedTags.indexOf(t2) ? this.options.suppressUnpairedNode || (e2 = "/") : e2 = this.options.suppressEmptyNode ? "/" : `>` + this.newLine;
+        if (false !== this.options.commentPropName && e2 === this.options.commentPropName) return this.indentate(n2) + `` + this.newLine;
+        if ("?" === e2[0]) return this.indentate(n2) + "<" + e2 + i2 + "?" + this.tagEndChar;
+        {
+          let s2 = this.options.tagValueProcessor(e2, t2);
+          return s2 = this.replaceEntitiesValue(s2), "" === s2 ? this.indentate(n2) + "<" + e2 + i2 + this.closeTag(e2) + this.tagEndChar : this.indentate(n2) + "<" + e2 + i2 + ">" + s2 + " 0 && this.options.processEntities) for (let e2 = 0; e2 < this.options.entities.length; e2++) {
+          const i2 = this.options.entities[e2];
+          t2 = t2.replace(i2.regex, i2.val);
+        }
+        return t2;
+      };
+      const ft = { validate: a };
+      module2.exports = e;
+    })();
+  }
+});
+
+// node_modules/@azure/core-xml/dist/commonjs/xml.common.js
+var require_xml_common = __commonJS({
+  "node_modules/@azure/core-xml/dist/commonjs/xml.common.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.XML_CHARKEY = exports2.XML_ATTRKEY = void 0;
+    exports2.XML_ATTRKEY = "$";
+    exports2.XML_CHARKEY = "_";
+  }
+});
+
+// node_modules/@azure/core-xml/dist/commonjs/xml.js
+var require_xml = __commonJS({
+  "node_modules/@azure/core-xml/dist/commonjs/xml.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.stringifyXML = stringifyXML;
+    exports2.parseXML = parseXML;
+    var fast_xml_parser_1 = require_fxp();
+    var xml_common_js_1 = require_xml_common();
+    function getCommonOptions(options) {
+      var _a;
+      return {
+        attributesGroupName: xml_common_js_1.XML_ATTRKEY,
+        textNodeName: (_a = options.xmlCharKey) !== null && _a !== void 0 ? _a : xml_common_js_1.XML_CHARKEY,
+        ignoreAttributes: false,
+        suppressBooleanAttributes: false
+      };
     }
-    exports2.validRange = validRange;
-    function validRange(range, options) {
-      try {
-        return new Range2(range, options).range || "*";
-      } catch (er) {
-        return null;
-      }
+    function getSerializerOptions(options = {}) {
+      var _a, _b;
+      return Object.assign(Object.assign({}, getCommonOptions(options)), { attributeNamePrefix: "@_", format: true, suppressEmptyNode: true, indentBy: "", rootNodeName: (_a = options.rootName) !== null && _a !== void 0 ? _a : "root", cdataPropName: (_b = options.cdataPropName) !== null && _b !== void 0 ? _b : "__cdata" });
     }
-    exports2.ltr = ltr;
-    function ltr(version, range, options) {
-      return outside(version, range, "<", options);
+    function getParserOptions(options = {}) {
+      return Object.assign(Object.assign({}, getCommonOptions(options)), { parseAttributeValue: false, parseTagValue: false, attributeNamePrefix: "", stopNodes: options.stopNodes, processEntities: true, trimValues: false });
     }
-    exports2.gtr = gtr;
-    function gtr(version, range, options) {
-      return outside(version, range, ">", options);
+    function stringifyXML(obj, opts = {}) {
+      const parserOptions = getSerializerOptions(opts);
+      const j2x = new fast_xml_parser_1.XMLBuilder(parserOptions);
+      const node = { [parserOptions.rootNodeName]: obj };
+      const xmlData = j2x.build(node);
+      return `${xmlData}`.replace(/\n/g, "");
     }
-    exports2.outside = outside;
-    function outside(version, range, hilo, options) {
-      version = new SemVer(version, options);
-      range = new Range2(range, options);
-      var gtfn, ltefn, ltfn, comp, ecomp;
-      switch (hilo) {
-        case ">":
-          gtfn = gt;
-          ltefn = lte;
-          ltfn = lt;
-          comp = ">";
-          ecomp = ">=";
-          break;
-        case "<":
-          gtfn = lt;
-          ltefn = gte6;
-          ltfn = gt;
-          comp = "<";
-          ecomp = "<=";
-          break;
-        default:
-          throw new TypeError('Must provide a hilo val of "<" or ">"');
+    async function parseXML(str2, opts = {}) {
+      if (!str2) {
+        throw new Error("Document is empty");
       }
-      if (satisfies2(version, range, options)) {
-        return false;
+      const validation = fast_xml_parser_1.XMLValidator.validate(str2);
+      if (validation !== true) {
+        throw validation;
       }
-      for (var i2 = 0; i2 < range.set.length; ++i2) {
-        var comparators = range.set[i2];
-        var high = null;
-        var low = null;
-        comparators.forEach(function(comparator) {
-          if (comparator.semver === ANY) {
-            comparator = new Comparator(">=0.0.0");
-          }
-          high = high || comparator;
-          low = low || comparator;
-          if (gtfn(comparator.semver, high.semver, options)) {
-            high = comparator;
-          } else if (ltfn(comparator.semver, low.semver, options)) {
-            low = comparator;
-          }
-        });
-        if (high.operator === comp || high.operator === ecomp) {
-          return false;
-        }
-        if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) {
-          return false;
-        } else if (low.operator === ecomp && ltfn(version, low.semver)) {
-          return false;
+      const parser = new fast_xml_parser_1.XMLParser(getParserOptions(opts));
+      const parsedXml = parser.parse(str2);
+      if (parsedXml["?xml"]) {
+        delete parsedXml["?xml"];
+      }
+      if (!opts.includeRoot) {
+        for (const key of Object.keys(parsedXml)) {
+          const value = parsedXml[key];
+          return typeof value === "object" ? Object.assign({}, value) : value;
         }
       }
-      return true;
-    }
-    exports2.prerelease = prerelease;
-    function prerelease(version, options) {
-      var parsed = parse2(version, options);
-      return parsed && parsed.prerelease.length ? parsed.prerelease : null;
-    }
-    exports2.intersects = intersects;
-    function intersects(r1, r2, options) {
-      r1 = new Range2(r1, options);
-      r2 = new Range2(r2, options);
-      return r1.intersects(r2);
+      return parsedXml;
     }
-    exports2.coerce = coerce3;
-    function coerce3(version, options) {
-      if (version instanceof SemVer) {
-        return version;
-      }
-      if (typeof version === "number") {
-        version = String(version);
+  }
+});
+
+// node_modules/@azure/core-xml/dist/commonjs/index.js
+var require_commonjs10 = __commonJS({
+  "node_modules/@azure/core-xml/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.XML_CHARKEY = exports2.XML_ATTRKEY = exports2.parseXML = exports2.stringifyXML = void 0;
+    var xml_js_1 = require_xml();
+    Object.defineProperty(exports2, "stringifyXML", { enumerable: true, get: function() {
+      return xml_js_1.stringifyXML;
+    } });
+    Object.defineProperty(exports2, "parseXML", { enumerable: true, get: function() {
+      return xml_js_1.parseXML;
+    } });
+    var xml_common_js_1 = require_xml_common();
+    Object.defineProperty(exports2, "XML_ATTRKEY", { enumerable: true, get: function() {
+      return xml_common_js_1.XML_ATTRKEY;
+    } });
+    Object.defineProperty(exports2, "XML_CHARKEY", { enumerable: true, get: function() {
+      return xml_common_js_1.XML_CHARKEY;
+    } });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/log.js
+var require_log5 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/log.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.logger = void 0;
+    var logger_1 = require_commonjs2();
+    exports2.logger = (0, logger_1.createClientLogger)("storage-blob");
+  }
+});
+
+// node_modules/@azure/storage-blob/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js
+var require_AbortError3 = __commonJS({
+  "node_modules/@azure/storage-blob/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AbortError = void 0;
+    var AbortError = class extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "AbortError";
       }
-      if (typeof version !== "string") {
-        return null;
+    };
+    exports2.AbortError = AbortError;
+  }
+});
+
+// node_modules/@azure/storage-blob/node_modules/@azure/abort-controller/dist/commonjs/index.js
+var require_commonjs11 = __commonJS({
+  "node_modules/@azure/storage-blob/node_modules/@azure/abort-controller/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AbortError = void 0;
+    var AbortError_js_1 = require_AbortError3();
+    Object.defineProperty(exports2, "AbortError", { enumerable: true, get: function() {
+      return AbortError_js_1.AbortError;
+    } });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/policies/RequestPolicy.js
+var require_RequestPolicy = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/RequestPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BaseRequestPolicy = void 0;
+    var BaseRequestPolicy = class {
+      _nextPolicy;
+      _options;
+      /**
+       * The main method to implement that manipulates a request/response.
+       */
+      constructor(_nextPolicy, _options) {
+        this._nextPolicy = _nextPolicy;
+        this._options = _options;
       }
-      options = options || {};
-      var match = null;
-      if (!options.rtl) {
-        match = version.match(safeRe[t.COERCE]);
-      } else {
-        var next;
-        while ((next = safeRe[t.COERCERTL].exec(version)) && (!match || match.index + match[0].length !== version.length)) {
-          if (!match || next.index + next[0].length !== match.index + match[0].length) {
-            match = next;
-          }
-          safeRe[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length;
-        }
-        safeRe[t.COERCERTL].lastIndex = -1;
+      /**
+       * Get whether or not a log with the provided log level should be logged.
+       * @param logLevel - The log level of the log that will be logged.
+       * @returns Whether or not a log with the provided log level should be logged.
+       */
+      shouldLog(logLevel) {
+        return this._options.shouldLog(logLevel);
       }
-      if (match === null) {
-        return null;
+      /**
+       * Attempt to log the provided message to the provided logger. If no logger was provided or if
+       * the log level does not meat the logger's threshold, then nothing will be logged.
+       * @param logLevel - The log level of this log.
+       * @param message - The message of this log.
+       */
+      log(logLevel, message) {
+        this._options.log(logLevel, message);
       }
-      return parse2(match[2] + "." + (match[3] || "0") + "." + (match[4] || "0"), options);
-    }
+    };
+    exports2.BaseRequestPolicy = BaseRequestPolicy;
   }
 });
 
-// node_modules/@actions/cache/lib/internal/constants.js
-var require_constants12 = __commonJS({
-  "node_modules/@actions/cache/lib/internal/constants.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/utils/constants.js
+var require_constants15 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/constants.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.CacheFileSizeLimit = exports2.ManifestFilename = exports2.TarFilename = exports2.SystemTarPathOnWindows = exports2.GnuTarPathOnWindows = exports2.SocketTimeout = exports2.DefaultRetryDelay = exports2.DefaultRetryAttempts = exports2.ArchiveToolType = exports2.CompressionMethod = exports2.CacheFilename = void 0;
-    var CacheFilename;
-    (function(CacheFilename2) {
-      CacheFilename2["Gzip"] = "cache.tgz";
-      CacheFilename2["Zstd"] = "cache.tzst";
-    })(CacheFilename || (exports2.CacheFilename = CacheFilename = {}));
-    var CompressionMethod;
-    (function(CompressionMethod2) {
-      CompressionMethod2["Gzip"] = "gzip";
-      CompressionMethod2["ZstdWithoutLong"] = "zstd-without-long";
-      CompressionMethod2["Zstd"] = "zstd";
-    })(CompressionMethod || (exports2.CompressionMethod = CompressionMethod = {}));
-    var ArchiveToolType;
-    (function(ArchiveToolType2) {
-      ArchiveToolType2["GNU"] = "gnu";
-      ArchiveToolType2["BSD"] = "bsd";
-    })(ArchiveToolType || (exports2.ArchiveToolType = ArchiveToolType = {}));
-    exports2.DefaultRetryAttempts = 2;
-    exports2.DefaultRetryDelay = 5e3;
-    exports2.SocketTimeout = 5e3;
-    exports2.GnuTarPathOnWindows = `${process.env["PROGRAMFILES"]}\\Git\\usr\\bin\\tar.exe`;
-    exports2.SystemTarPathOnWindows = `${process.env["SYSTEMDRIVE"]}\\Windows\\System32\\tar.exe`;
-    exports2.TarFilename = "cache.tar";
-    exports2.ManifestFilename = "manifest.txt";
-    exports2.CacheFileSizeLimit = 10 * Math.pow(1024, 3);
+    exports2.PathStylePorts = exports2.BlobDoesNotUseCustomerSpecifiedEncryption = exports2.BlobUsesCustomerSpecifiedEncryptionMsg = exports2.StorageBlobLoggingAllowedQueryParameters = exports2.StorageBlobLoggingAllowedHeaderNames = exports2.DevelopmentConnectionString = exports2.EncryptionAlgorithmAES25 = exports2.HTTP_VERSION_1_1 = exports2.HTTP_LINE_ENDING = exports2.BATCH_MAX_PAYLOAD_IN_BYTES = exports2.BATCH_MAX_REQUEST = exports2.SIZE_1_MB = exports2.ETagAny = exports2.ETagNone = exports2.HeaderConstants = exports2.HTTPURLConnection = exports2.URLConstants = exports2.StorageOAuthScopes = exports2.REQUEST_TIMEOUT = exports2.DEFAULT_MAX_DOWNLOAD_RETRY_REQUESTS = exports2.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES = exports2.DEFAULT_BLOCK_BUFFER_SIZE_BYTES = exports2.BLOCK_BLOB_MAX_BLOCKS = exports2.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES = exports2.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES = exports2.SERVICE_VERSION = exports2.SDK_VERSION = void 0;
+    exports2.SDK_VERSION = "12.29.1";
+    exports2.SERVICE_VERSION = "2025-11-05";
+    exports2.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES = 256 * 1024 * 1024;
+    exports2.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES = 4e3 * 1024 * 1024;
+    exports2.BLOCK_BLOB_MAX_BLOCKS = 5e4;
+    exports2.DEFAULT_BLOCK_BUFFER_SIZE_BYTES = 8 * 1024 * 1024;
+    exports2.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES = 4 * 1024 * 1024;
+    exports2.DEFAULT_MAX_DOWNLOAD_RETRY_REQUESTS = 5;
+    exports2.REQUEST_TIMEOUT = 100 * 1e3;
+    exports2.StorageOAuthScopes = "https://storage.azure.com/.default";
+    exports2.URLConstants = {
+      Parameters: {
+        FORCE_BROWSER_NO_CACHE: "_",
+        SIGNATURE: "sig",
+        SNAPSHOT: "snapshot",
+        VERSIONID: "versionid",
+        TIMEOUT: "timeout"
+      }
+    };
+    exports2.HTTPURLConnection = {
+      HTTP_ACCEPTED: 202,
+      HTTP_CONFLICT: 409,
+      HTTP_NOT_FOUND: 404,
+      HTTP_PRECON_FAILED: 412,
+      HTTP_RANGE_NOT_SATISFIABLE: 416
+    };
+    exports2.HeaderConstants = {
+      AUTHORIZATION: "Authorization",
+      AUTHORIZATION_SCHEME: "Bearer",
+      CONTENT_ENCODING: "Content-Encoding",
+      CONTENT_ID: "Content-ID",
+      CONTENT_LANGUAGE: "Content-Language",
+      CONTENT_LENGTH: "Content-Length",
+      CONTENT_MD5: "Content-Md5",
+      CONTENT_TRANSFER_ENCODING: "Content-Transfer-Encoding",
+      CONTENT_TYPE: "Content-Type",
+      COOKIE: "Cookie",
+      DATE: "date",
+      IF_MATCH: "if-match",
+      IF_MODIFIED_SINCE: "if-modified-since",
+      IF_NONE_MATCH: "if-none-match",
+      IF_UNMODIFIED_SINCE: "if-unmodified-since",
+      PREFIX_FOR_STORAGE: "x-ms-",
+      RANGE: "Range",
+      USER_AGENT: "User-Agent",
+      X_MS_CLIENT_REQUEST_ID: "x-ms-client-request-id",
+      X_MS_COPY_SOURCE: "x-ms-copy-source",
+      X_MS_DATE: "x-ms-date",
+      X_MS_ERROR_CODE: "x-ms-error-code",
+      X_MS_VERSION: "x-ms-version",
+      X_MS_CopySourceErrorCode: "x-ms-copy-source-error-code"
+    };
+    exports2.ETagNone = "";
+    exports2.ETagAny = "*";
+    exports2.SIZE_1_MB = 1 * 1024 * 1024;
+    exports2.BATCH_MAX_REQUEST = 256;
+    exports2.BATCH_MAX_PAYLOAD_IN_BYTES = 4 * exports2.SIZE_1_MB;
+    exports2.HTTP_LINE_ENDING = "\r\n";
+    exports2.HTTP_VERSION_1_1 = "HTTP/1.1";
+    exports2.EncryptionAlgorithmAES25 = "AES256";
+    exports2.DevelopmentConnectionString = `DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;`;
+    exports2.StorageBlobLoggingAllowedHeaderNames = [
+      "Access-Control-Allow-Origin",
+      "Cache-Control",
+      "Content-Length",
+      "Content-Type",
+      "Date",
+      "Request-Id",
+      "traceparent",
+      "Transfer-Encoding",
+      "User-Agent",
+      "x-ms-client-request-id",
+      "x-ms-date",
+      "x-ms-error-code",
+      "x-ms-request-id",
+      "x-ms-return-client-request-id",
+      "x-ms-version",
+      "Accept-Ranges",
+      "Content-Disposition",
+      "Content-Encoding",
+      "Content-Language",
+      "Content-MD5",
+      "Content-Range",
+      "ETag",
+      "Last-Modified",
+      "Server",
+      "Vary",
+      "x-ms-content-crc64",
+      "x-ms-copy-action",
+      "x-ms-copy-completion-time",
+      "x-ms-copy-id",
+      "x-ms-copy-progress",
+      "x-ms-copy-status",
+      "x-ms-has-immutability-policy",
+      "x-ms-has-legal-hold",
+      "x-ms-lease-state",
+      "x-ms-lease-status",
+      "x-ms-range",
+      "x-ms-request-server-encrypted",
+      "x-ms-server-encrypted",
+      "x-ms-snapshot",
+      "x-ms-source-range",
+      "If-Match",
+      "If-Modified-Since",
+      "If-None-Match",
+      "If-Unmodified-Since",
+      "x-ms-access-tier",
+      "x-ms-access-tier-change-time",
+      "x-ms-access-tier-inferred",
+      "x-ms-account-kind",
+      "x-ms-archive-status",
+      "x-ms-blob-append-offset",
+      "x-ms-blob-cache-control",
+      "x-ms-blob-committed-block-count",
+      "x-ms-blob-condition-appendpos",
+      "x-ms-blob-condition-maxsize",
+      "x-ms-blob-content-disposition",
+      "x-ms-blob-content-encoding",
+      "x-ms-blob-content-language",
+      "x-ms-blob-content-length",
+      "x-ms-blob-content-md5",
+      "x-ms-blob-content-type",
+      "x-ms-blob-public-access",
+      "x-ms-blob-sequence-number",
+      "x-ms-blob-type",
+      "x-ms-copy-destination-snapshot",
+      "x-ms-creation-time",
+      "x-ms-default-encryption-scope",
+      "x-ms-delete-snapshots",
+      "x-ms-delete-type-permanent",
+      "x-ms-deny-encryption-scope-override",
+      "x-ms-encryption-algorithm",
+      "x-ms-if-sequence-number-eq",
+      "x-ms-if-sequence-number-le",
+      "x-ms-if-sequence-number-lt",
+      "x-ms-incremental-copy",
+      "x-ms-lease-action",
+      "x-ms-lease-break-period",
+      "x-ms-lease-duration",
+      "x-ms-lease-id",
+      "x-ms-lease-time",
+      "x-ms-page-write",
+      "x-ms-proposed-lease-id",
+      "x-ms-range-get-content-md5",
+      "x-ms-rehydrate-priority",
+      "x-ms-sequence-number-action",
+      "x-ms-sku-name",
+      "x-ms-source-content-md5",
+      "x-ms-source-if-match",
+      "x-ms-source-if-modified-since",
+      "x-ms-source-if-none-match",
+      "x-ms-source-if-unmodified-since",
+      "x-ms-tag-count",
+      "x-ms-encryption-key-sha256",
+      "x-ms-copy-source-error-code",
+      "x-ms-copy-source-status-code",
+      "x-ms-if-tags",
+      "x-ms-source-if-tags"
+    ];
+    exports2.StorageBlobLoggingAllowedQueryParameters = [
+      "comp",
+      "maxresults",
+      "rscc",
+      "rscd",
+      "rsce",
+      "rscl",
+      "rsct",
+      "se",
+      "si",
+      "sip",
+      "sp",
+      "spr",
+      "sr",
+      "srt",
+      "ss",
+      "st",
+      "sv",
+      "include",
+      "marker",
+      "prefix",
+      "copyid",
+      "restype",
+      "blockid",
+      "blocklisttype",
+      "delimiter",
+      "prevsnapshot",
+      "ske",
+      "skoid",
+      "sks",
+      "skt",
+      "sktid",
+      "skv",
+      "snapshot"
+    ];
+    exports2.BlobUsesCustomerSpecifiedEncryptionMsg = "BlobUsesCustomerSpecifiedEncryption";
+    exports2.BlobDoesNotUseCustomerSpecifiedEncryption = "BlobDoesNotUseCustomerSpecifiedEncryption";
+    exports2.PathStylePorts = [
+      "10000",
+      "10001",
+      "10002",
+      "10003",
+      "10004",
+      "10100",
+      "10101",
+      "10102",
+      "10103",
+      "10104",
+      "11000",
+      "11001",
+      "11002",
+      "11003",
+      "11004",
+      "11100",
+      "11101",
+      "11102",
+      "11103",
+      "11104"
+    ];
   }
 });
 
-// node_modules/@actions/cache/lib/internal/cacheUtils.js
-var require_cacheUtils = __commonJS({
-  "node_modules/@actions/cache/lib/internal/cacheUtils.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/utils/utils.common.js
+var require_utils_common = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/utils.common.js"(exports2) {
     "use strict";
-    var __createBinding2 = 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(exports2, "__esModule", { value: true });
+    exports2.escapeURLPath = escapeURLPath;
+    exports2.getValueInConnString = getValueInConnString;
+    exports2.extractConnectionStringParts = extractConnectionStringParts;
+    exports2.appendToURLPath = appendToURLPath;
+    exports2.setURLParameter = setURLParameter;
+    exports2.getURLParameter = getURLParameter;
+    exports2.setURLHost = setURLHost;
+    exports2.getURLPath = getURLPath;
+    exports2.getURLScheme = getURLScheme;
+    exports2.getURLPathAndQuery = getURLPathAndQuery;
+    exports2.getURLQueries = getURLQueries;
+    exports2.appendToURLQuery = appendToURLQuery;
+    exports2.truncatedISO8061Date = truncatedISO8061Date;
+    exports2.base64encode = base64encode;
+    exports2.base64decode = base64decode;
+    exports2.generateBlockID = generateBlockID;
+    exports2.delay = delay;
+    exports2.padStart = padStart2;
+    exports2.sanitizeURL = sanitizeURL;
+    exports2.sanitizeHeaders = sanitizeHeaders;
+    exports2.iEqual = iEqual;
+    exports2.getAccountNameFromUrl = getAccountNameFromUrl;
+    exports2.isIpEndpointStyle = isIpEndpointStyle;
+    exports2.toBlobTagsString = toBlobTagsString;
+    exports2.toBlobTags = toBlobTags;
+    exports2.toTags = toTags;
+    exports2.toQuerySerialization = toQuerySerialization;
+    exports2.parseObjectReplicationRecord = parseObjectReplicationRecord;
+    exports2.attachCredential = attachCredential;
+    exports2.httpAuthorizationToString = httpAuthorizationToString;
+    exports2.BlobNameToString = BlobNameToString;
+    exports2.ConvertInternalResponseOfListBlobFlat = ConvertInternalResponseOfListBlobFlat;
+    exports2.ConvertInternalResponseOfListBlobHierarchy = ConvertInternalResponseOfListBlobHierarchy;
+    exports2.ExtractPageRangeInfoItems = ExtractPageRangeInfoItems;
+    exports2.EscapePath = EscapePath;
+    exports2.assertResponse = assertResponse;
+    var core_rest_pipeline_1 = require_commonjs6();
+    var core_util_1 = require_commonjs4();
+    var constants_js_1 = require_constants15();
+    function escapeURLPath(url) {
+      const urlParsed = new URL(url);
+      let path4 = urlParsed.pathname;
+      path4 = path4 || "/";
+      path4 = escape(path4);
+      urlParsed.pathname = path4;
+      return urlParsed.toString();
+    }
+    function getProxyUriFromDevConnString(connectionString) {
+      let proxyUri = "";
+      if (connectionString.search("DevelopmentStorageProxyUri=") !== -1) {
+        const matchCredentials = connectionString.split(";");
+        for (const element of matchCredentials) {
+          if (element.trim().startsWith("DevelopmentStorageProxyUri=")) {
+            proxyUri = element.trim().match("DevelopmentStorageProxyUri=(.*)")[1];
+          }
+        }
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = 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 ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+      return proxyUri;
+    }
+    function getValueInConnString(connectionString, argument) {
+      const elements = connectionString.split(";");
+      for (const element of elements) {
+        if (element.trim().startsWith(argument)) {
+          return element.trim().match(argument + "=(.*)")[1];
         }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve3) {
-          resolve3(value);
-        });
       }
-      return new (P || (P = Promise))(function(resolve3, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
+      return "";
+    }
+    function extractConnectionStringParts(connectionString) {
+      let proxyUri = "";
+      if (connectionString.startsWith("UseDevelopmentStorage=true")) {
+        proxyUri = getProxyUriFromDevConnString(connectionString);
+        connectionString = constants_js_1.DevelopmentConnectionString;
+      }
+      let blobEndpoint = getValueInConnString(connectionString, "BlobEndpoint");
+      blobEndpoint = blobEndpoint.endsWith("/") ? blobEndpoint.slice(0, -1) : blobEndpoint;
+      if (connectionString.search("DefaultEndpointsProtocol=") !== -1 && connectionString.search("AccountKey=") !== -1) {
+        let defaultEndpointsProtocol = "";
+        let accountName = "";
+        let accountKey = Buffer.from("accountKey", "base64");
+        let endpointSuffix = "";
+        accountName = getValueInConnString(connectionString, "AccountName");
+        accountKey = Buffer.from(getValueInConnString(connectionString, "AccountKey"), "base64");
+        if (!blobEndpoint) {
+          defaultEndpointsProtocol = getValueInConnString(connectionString, "DefaultEndpointsProtocol");
+          const protocol = defaultEndpointsProtocol.toLowerCase();
+          if (protocol !== "https" && protocol !== "http") {
+            throw new Error("Invalid DefaultEndpointsProtocol in the provided Connection String. Expecting 'https' or 'http'");
           }
-        }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
+          endpointSuffix = getValueInConnString(connectionString, "EndpointSuffix");
+          if (!endpointSuffix) {
+            throw new Error("Invalid EndpointSuffix in the provided Connection String");
           }
+          blobEndpoint = `${defaultEndpointsProtocol}://${accountName}.blob.${endpointSuffix}`;
         }
-        function step(result) {
-          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        if (!accountName) {
+          throw new Error("Invalid AccountName in the provided Connection String");
+        } else if (accountKey.length === 0) {
+          throw new Error("Invalid AccountKey in the provided Connection String");
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    var __asyncValues2 = exports2 && exports2.__asyncValues || function(o) {
-      if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
-      var m = o[Symbol.asyncIterator], i;
-      return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() {
-        return this;
-      }, i);
-      function verb(n) {
-        i[n] = o[n] && function(v) {
-          return new Promise(function(resolve3, reject) {
-            v = o[n](v), settle(resolve3, reject, v.done, v.value);
-          });
+        return {
+          kind: "AccountConnString",
+          url: blobEndpoint,
+          accountName,
+          accountKey,
+          proxyUri
         };
-      }
-      function settle(resolve3, reject, d, v) {
-        Promise.resolve(v).then(function(v2) {
-          resolve3({ value: v2, done: d });
-        }, reject);
-      }
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createTempDirectory = createTempDirectory;
-    exports2.getArchiveFileSizeInBytes = getArchiveFileSizeInBytes;
-    exports2.resolvePaths = resolvePaths;
-    exports2.unlinkFile = unlinkFile;
-    exports2.getCompressionMethod = getCompressionMethod;
-    exports2.getCacheFileName = getCacheFileName;
-    exports2.getGnuTarPathOnWindows = getGnuTarPathOnWindows;
-    exports2.assertDefined = assertDefined;
-    exports2.getCacheVersion = getCacheVersion;
-    exports2.getRuntimeToken = getRuntimeToken;
-    var core14 = __importStar2(require_core());
-    var exec3 = __importStar2(require_exec());
-    var glob2 = __importStar2(require_glob());
-    var io6 = __importStar2(require_io());
-    var crypto2 = __importStar2(require("crypto"));
-    var fs3 = __importStar2(require("fs"));
-    var path4 = __importStar2(require("path"));
-    var semver9 = __importStar2(require_semver3());
-    var util = __importStar2(require("util"));
-    var constants_1 = require_constants12();
-    var versionSalt = "1.0";
-    function createTempDirectory() {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const IS_WINDOWS = process.platform === "win32";
-        let tempDirectory = process.env["RUNNER_TEMP"] || "";
-        if (!tempDirectory) {
-          let baseLocation;
-          if (IS_WINDOWS) {
-            baseLocation = process.env["USERPROFILE"] || "C:\\";
-          } else {
-            if (process.platform === "darwin") {
-              baseLocation = "/Users";
-            } else {
-              baseLocation = "/home";
-            }
-          }
-          tempDirectory = path4.join(baseLocation, "actions", "temp");
+      } else {
+        let accountSas = getValueInConnString(connectionString, "SharedAccessSignature");
+        let accountName = getValueInConnString(connectionString, "AccountName");
+        if (!accountName) {
+          accountName = getAccountNameFromUrl(blobEndpoint);
         }
-        const dest = path4.join(tempDirectory, crypto2.randomUUID());
-        yield io6.mkdirP(dest);
-        return dest;
-      });
-    }
-    function getArchiveFileSizeInBytes(filePath) {
-      return fs3.statSync(filePath).size;
-    }
-    function resolvePaths(patterns) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        var _a, e_1, _b, _c;
-        var _d;
-        const paths = [];
-        const workspace = (_d = process.env["GITHUB_WORKSPACE"]) !== null && _d !== void 0 ? _d : process.cwd();
-        const globber = yield glob2.create(patterns.join("\n"), {
-          implicitDescendants: false
-        });
-        try {
-          for (var _e = true, _f = __asyncValues2(globber.globGenerator()), _g; _g = yield _f.next(), _a = _g.done, !_a; _e = true) {
-            _c = _g.value;
-            _e = false;
-            const file = _c;
-            const relativeFile = path4.relative(workspace, file).replace(new RegExp(`\\${path4.sep}`, "g"), "/");
-            core14.debug(`Matched: ${relativeFile}`);
-            if (relativeFile === "") {
-              paths.push(".");
-            } else {
-              paths.push(`${relativeFile}`);
-            }
-          }
-        } catch (e_1_1) {
-          e_1 = { error: e_1_1 };
-        } finally {
-          try {
-            if (!_e && !_a && (_b = _f.return)) yield _b.call(_f);
-          } finally {
-            if (e_1) throw e_1.error;
-          }
+        if (!blobEndpoint) {
+          throw new Error("Invalid BlobEndpoint in the provided SAS Connection String");
+        } else if (!accountSas) {
+          throw new Error("Invalid SharedAccessSignature in the provided SAS Connection String");
         }
-        return paths;
-      });
-    }
-    function unlinkFile(filePath) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        return util.promisify(fs3.unlink)(filePath);
-      });
-    }
-    function getVersion(app_1) {
-      return __awaiter2(this, arguments, void 0, function* (app, additionalArgs = []) {
-        let versionOutput = "";
-        additionalArgs.push("--version");
-        core14.debug(`Checking ${app} ${additionalArgs.join(" ")}`);
-        try {
-          yield exec3.exec(`${app}`, additionalArgs, {
-            ignoreReturnCode: true,
-            silent: true,
-            listeners: {
-              stdout: (data) => versionOutput += data.toString(),
-              stderr: (data) => versionOutput += data.toString()
-            }
-          });
-        } catch (err) {
-          core14.debug(err.message);
+        if (accountSas.startsWith("?")) {
+          accountSas = accountSas.substring(1);
         }
-        versionOutput = versionOutput.trim();
-        core14.debug(versionOutput);
-        return versionOutput;
-      });
+        return { kind: "SASConnString", url: blobEndpoint, accountName, accountSas };
+      }
     }
-    function getCompressionMethod() {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const versionOutput = yield getVersion("zstd", ["--quiet"]);
-        const version = semver9.clean(versionOutput);
-        core14.debug(`zstd version: ${version}`);
-        if (versionOutput === "") {
-          return constants_1.CompressionMethod.Gzip;
-        } else {
-          return constants_1.CompressionMethod.ZstdWithoutLong;
-        }
-      });
+    function escape(text) {
+      return encodeURIComponent(text).replace(/%2F/g, "/").replace(/'/g, "%27").replace(/\+/g, "%20").replace(/%25/g, "%");
     }
-    function getCacheFileName(compressionMethod) {
-      return compressionMethod === constants_1.CompressionMethod.Gzip ? constants_1.CacheFilename.Gzip : constants_1.CacheFilename.Zstd;
+    function appendToURLPath(url, name) {
+      const urlParsed = new URL(url);
+      let path4 = urlParsed.pathname;
+      path4 = path4 ? path4.endsWith("/") ? `${path4}${name}` : `${path4}/${name}` : name;
+      urlParsed.pathname = path4;
+      return urlParsed.toString();
     }
-    function getGnuTarPathOnWindows() {
-      return __awaiter2(this, void 0, void 0, function* () {
-        if (fs3.existsSync(constants_1.GnuTarPathOnWindows)) {
-          return constants_1.GnuTarPathOnWindows;
+    function setURLParameter(url, name, value) {
+      const urlParsed = new URL(url);
+      const encodedName = encodeURIComponent(name);
+      const encodedValue = value ? encodeURIComponent(value) : void 0;
+      const searchString = urlParsed.search === "" ? "?" : urlParsed.search;
+      const searchPieces = [];
+      for (const pair of searchString.slice(1).split("&")) {
+        if (pair) {
+          const [key] = pair.split("=", 2);
+          if (key !== encodedName) {
+            searchPieces.push(pair);
+          }
         }
-        const versionOutput = yield getVersion("tar");
-        return versionOutput.toLowerCase().includes("gnu tar") ? io6.which("tar") : "";
-      });
-    }
-    function assertDefined(name, value) {
-      if (value === void 0) {
-        throw Error(`Expected ${name} but value was undefiend`);
-      }
-      return value;
-    }
-    function getCacheVersion(paths, compressionMethod, enableCrossOsArchive = false) {
-      const components = paths.slice();
-      if (compressionMethod) {
-        components.push(compressionMethod);
-      }
-      if (process.platform === "win32" && !enableCrossOsArchive) {
-        components.push("windows-only");
       }
-      components.push(versionSalt);
-      return crypto2.createHash("sha256").update(components.join("|")).digest("hex");
-    }
-    function getRuntimeToken() {
-      const token = process.env["ACTIONS_RUNTIME_TOKEN"];
-      if (!token) {
-        throw new Error("Unable to get the ACTIONS_RUNTIME_TOKEN env variable");
+      if (encodedValue) {
+        searchPieces.push(`${encodedName}=${encodedValue}`);
       }
-      return token;
+      urlParsed.search = searchPieces.length ? `?${searchPieces.join("&")}` : "";
+      return urlParsed.toString();
     }
-  }
-});
-
-// node_modules/tslib/tslib.es6.mjs
-var tslib_es6_exports = {};
-__export(tslib_es6_exports, {
-  __addDisposableResource: () => __addDisposableResource,
-  __assign: () => __assign,
-  __asyncDelegator: () => __asyncDelegator,
-  __asyncGenerator: () => __asyncGenerator,
-  __asyncValues: () => __asyncValues,
-  __await: () => __await,
-  __awaiter: () => __awaiter,
-  __classPrivateFieldGet: () => __classPrivateFieldGet,
-  __classPrivateFieldIn: () => __classPrivateFieldIn,
-  __classPrivateFieldSet: () => __classPrivateFieldSet,
-  __createBinding: () => __createBinding,
-  __decorate: () => __decorate,
-  __disposeResources: () => __disposeResources,
-  __esDecorate: () => __esDecorate,
-  __exportStar: () => __exportStar,
-  __extends: () => __extends,
-  __generator: () => __generator,
-  __importDefault: () => __importDefault,
-  __importStar: () => __importStar,
-  __makeTemplateObject: () => __makeTemplateObject,
-  __metadata: () => __metadata,
-  __param: () => __param,
-  __propKey: () => __propKey,
-  __read: () => __read,
-  __rest: () => __rest,
-  __rewriteRelativeImportExtension: () => __rewriteRelativeImportExtension,
-  __runInitializers: () => __runInitializers,
-  __setFunctionName: () => __setFunctionName,
-  __spread: () => __spread,
-  __spreadArray: () => __spreadArray,
-  __spreadArrays: () => __spreadArrays,
-  __values: () => __values2,
-  default: () => tslib_es6_default
-});
-function __extends(d, b) {
-  if (typeof b !== "function" && b !== null)
-    throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
-  extendStatics(d, b);
-  function __() {
-    this.constructor = d;
-  }
-  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
-}
-function __rest(s, e) {
-  var t = {};
-  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
-    t[p] = s[p];
-  if (s != null && typeof Object.getOwnPropertySymbols === "function")
-    for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
-      if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
-        t[p[i]] = s[p[i]];
+    function getURLParameter(url, name) {
+      const urlParsed = new URL(url);
+      return urlParsed.searchParams.get(name) ?? void 0;
     }
-  return t;
-}
-function __decorate(decorators, target, key, desc) {
-  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
-  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
-  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
-  return c > 3 && r && Object.defineProperty(target, key, r), r;
-}
-function __param(paramIndex, decorator) {
-  return function(target, key) {
-    decorator(target, key, paramIndex);
-  };
-}
-function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
-  function accept(f) {
-    if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected");
-    return f;
-  }
-  var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
-  var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
-  var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
-  var _2, done = false;
-  for (var i = decorators.length - 1; i >= 0; i--) {
-    var context2 = {};
-    for (var p in contextIn) context2[p] = p === "access" ? {} : contextIn[p];
-    for (var p in contextIn.access) context2.access[p] = contextIn.access[p];
-    context2.addInitializer = function(f) {
-      if (done) throw new TypeError("Cannot add initializers after decoration has completed");
-      extraInitializers.push(accept(f || null));
-    };
-    var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context2);
-    if (kind === "accessor") {
-      if (result === void 0) continue;
-      if (result === null || typeof result !== "object") throw new TypeError("Object expected");
-      if (_2 = accept(result.get)) descriptor.get = _2;
-      if (_2 = accept(result.set)) descriptor.set = _2;
-      if (_2 = accept(result.init)) initializers.unshift(_2);
-    } else if (_2 = accept(result)) {
-      if (kind === "field") initializers.unshift(_2);
-      else descriptor[key] = _2;
+    function setURLHost(url, host) {
+      const urlParsed = new URL(url);
+      urlParsed.hostname = host;
+      return urlParsed.toString();
     }
-  }
-  if (target) Object.defineProperty(target, contextIn.name, descriptor);
-  done = true;
-}
-function __runInitializers(thisArg, initializers, value) {
-  var useValue = arguments.length > 2;
-  for (var i = 0; i < initializers.length; i++) {
-    value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
-  }
-  return useValue ? value : void 0;
-}
-function __propKey(x) {
-  return typeof x === "symbol" ? x : "".concat(x);
-}
-function __setFunctionName(f, name, prefix) {
-  if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
-  return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
-}
-function __metadata(metadataKey, metadataValue) {
-  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
-}
-function __awaiter(thisArg, _arguments, P, generator) {
-  function adopt(value) {
-    return value instanceof P ? value : new P(function(resolve3) {
-      resolve3(value);
-    });
-  }
-  return new (P || (P = Promise))(function(resolve3, reject) {
-    function fulfilled(value) {
+    function getURLPath(url) {
       try {
-        step(generator.next(value));
+        const urlParsed = new URL(url);
+        return urlParsed.pathname;
       } catch (e) {
-        reject(e);
+        return void 0;
       }
     }
-    function rejected(value) {
+    function getURLScheme(url) {
       try {
-        step(generator["throw"](value));
+        const urlParsed = new URL(url);
+        return urlParsed.protocol.endsWith(":") ? urlParsed.protocol.slice(0, -1) : urlParsed.protocol;
       } catch (e) {
-        reject(e);
+        return void 0;
+      }
+    }
+    function getURLPathAndQuery(url) {
+      const urlParsed = new URL(url);
+      const pathString = urlParsed.pathname;
+      if (!pathString) {
+        throw new RangeError("Invalid url without valid path.");
+      }
+      let queryString = urlParsed.search || "";
+      queryString = queryString.trim();
+      if (queryString !== "") {
+        queryString = queryString.startsWith("?") ? queryString : `?${queryString}`;
+      }
+      return `${pathString}${queryString}`;
+    }
+    function getURLQueries(url) {
+      let queryString = new URL(url).search;
+      if (!queryString) {
+        return {};
+      }
+      queryString = queryString.trim();
+      queryString = queryString.startsWith("?") ? queryString.substring(1) : queryString;
+      let querySubStrings = queryString.split("&");
+      querySubStrings = querySubStrings.filter((value) => {
+        const indexOfEqual = value.indexOf("=");
+        const lastIndexOfEqual = value.lastIndexOf("=");
+        return indexOfEqual > 0 && indexOfEqual === lastIndexOfEqual && lastIndexOfEqual < value.length - 1;
+      });
+      const queries = {};
+      for (const querySubString of querySubStrings) {
+        const splitResults = querySubString.split("=");
+        const key = splitResults[0];
+        const value = splitResults[1];
+        queries[key] = value;
+      }
+      return queries;
+    }
+    function appendToURLQuery(url, queryParts) {
+      const urlParsed = new URL(url);
+      let query = urlParsed.search;
+      if (query) {
+        query += "&" + queryParts;
+      } else {
+        query = queryParts;
       }
+      urlParsed.search = query;
+      return urlParsed.toString();
     }
-    function step(result) {
-      result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+    function truncatedISO8061Date(date, withMilliseconds = true) {
+      const dateString = date.toISOString();
+      return withMilliseconds ? dateString.substring(0, dateString.length - 1) + "0000Z" : dateString.substring(0, dateString.length - 5) + "Z";
     }
-    step((generator = generator.apply(thisArg, _arguments || [])).next());
-  });
-}
-function __generator(thisArg, body) {
-  var _2 = { label: 0, sent: function() {
-    if (t[0] & 1) throw t[1];
-    return t[1];
-  }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
-  return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
-    return this;
-  }), g;
-  function verb(n) {
-    return function(v) {
-      return step([n, v]);
-    };
-  }
-  function step(op) {
-    if (f) throw new TypeError("Generator is already executing.");
-    while (g && (g = 0, op[0] && (_2 = 0)), _2) try {
-      if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
-      if (y = 0, t) op = [op[0] & 2, t.value];
-      switch (op[0]) {
-        case 0:
-        case 1:
-          t = op;
-          break;
-        case 4:
-          _2.label++;
-          return { value: op[1], done: false };
-        case 5:
-          _2.label++;
-          y = op[1];
-          op = [0];
-          continue;
-        case 7:
-          op = _2.ops.pop();
-          _2.trys.pop();
-          continue;
-        default:
-          if (!(t = _2.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
-            _2 = 0;
-            continue;
-          }
-          if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
-            _2.label = op[1];
-            break;
-          }
-          if (op[0] === 6 && _2.label < t[1]) {
-            _2.label = t[1];
-            t = op;
-            break;
+    function base64encode(content) {
+      return !core_util_1.isNodeLike ? btoa(content) : Buffer.from(content).toString("base64");
+    }
+    function base64decode(encodedString) {
+      return !core_util_1.isNodeLike ? atob(encodedString) : Buffer.from(encodedString, "base64").toString();
+    }
+    function generateBlockID(blockIDPrefix, blockIndex) {
+      const maxSourceStringLength = 48;
+      const maxBlockIndexLength = 6;
+      const maxAllowedBlockIDPrefixLength = maxSourceStringLength - maxBlockIndexLength;
+      if (blockIDPrefix.length > maxAllowedBlockIDPrefixLength) {
+        blockIDPrefix = blockIDPrefix.slice(0, maxAllowedBlockIDPrefixLength);
+      }
+      const res = blockIDPrefix + padStart2(blockIndex.toString(), maxSourceStringLength - blockIDPrefix.length, "0");
+      return base64encode(res);
+    }
+    async function delay(timeInMs, aborter, abortError) {
+      return new Promise((resolve3, reject) => {
+        let timeout;
+        const abortHandler = () => {
+          if (timeout !== void 0) {
+            clearTimeout(timeout);
           }
-          if (t && _2.label < t[2]) {
-            _2.label = t[2];
-            _2.ops.push(op);
-            break;
+          reject(abortError);
+        };
+        const resolveHandler = () => {
+          if (aborter !== void 0) {
+            aborter.removeEventListener("abort", abortHandler);
           }
-          if (t[2]) _2.ops.pop();
-          _2.trys.pop();
-          continue;
+          resolve3();
+        };
+        timeout = setTimeout(resolveHandler, timeInMs);
+        if (aborter !== void 0) {
+          aborter.addEventListener("abort", abortHandler);
+        }
+      });
+    }
+    function padStart2(currentString, targetLength, padString = " ") {
+      if (String.prototype.padStart) {
+        return currentString.padStart(targetLength, padString);
+      }
+      padString = padString || " ";
+      if (currentString.length > targetLength) {
+        return currentString;
+      } else {
+        targetLength = targetLength - currentString.length;
+        if (targetLength > padString.length) {
+          padString += padString.repeat(targetLength / padString.length);
+        }
+        return padString.slice(0, targetLength) + currentString;
       }
-      op = body.call(thisArg, _2);
-    } catch (e) {
-      op = [6, e];
-      y = 0;
-    } finally {
-      f = t = 0;
     }
-    if (op[0] & 5) throw op[1];
-    return { value: op[0] ? op[1] : void 0, done: true };
-  }
-}
-function __exportStar(m, o) {
-  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
-}
-function __values2(o) {
-  var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
-  if (m) return m.call(o);
-  if (o && typeof o.length === "number") return {
-    next: function() {
-      if (o && i >= o.length) o = void 0;
-      return { value: o && o[i++], done: !o };
+    function sanitizeURL(url) {
+      let safeURL = url;
+      if (getURLParameter(safeURL, constants_js_1.URLConstants.Parameters.SIGNATURE)) {
+        safeURL = setURLParameter(safeURL, constants_js_1.URLConstants.Parameters.SIGNATURE, "*****");
+      }
+      return safeURL;
     }
-  };
-  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
-}
-function __read(o, n) {
-  var m = typeof Symbol === "function" && o[Symbol.iterator];
-  if (!m) return o;
-  var i = m.call(o), r, ar = [], e;
-  try {
-    while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
-  } catch (error3) {
-    e = { error: error3 };
-  } finally {
-    try {
-      if (r && !r.done && (m = i["return"])) m.call(i);
-    } finally {
-      if (e) throw e.error;
+    function sanitizeHeaders(originalHeader) {
+      const headers = (0, core_rest_pipeline_1.createHttpHeaders)();
+      for (const [name, value] of originalHeader) {
+        if (name.toLowerCase() === constants_js_1.HeaderConstants.AUTHORIZATION.toLowerCase()) {
+          headers.set(name, "*****");
+        } else if (name.toLowerCase() === constants_js_1.HeaderConstants.X_MS_COPY_SOURCE) {
+          headers.set(name, sanitizeURL(value));
+        } else {
+          headers.set(name, value);
+        }
+      }
+      return headers;
     }
-  }
-  return ar;
-}
-function __spread() {
-  for (var ar = [], i = 0; i < arguments.length; i++)
-    ar = ar.concat(__read(arguments[i]));
-  return ar;
-}
-function __spreadArrays() {
-  for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
-  for (var r = Array(s), k = 0, i = 0; i < il; i++)
-    for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
-      r[k] = a[j];
-  return r;
-}
-function __spreadArray(to, from, pack) {
-  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
-    if (ar || !(i in from)) {
-      if (!ar) ar = Array.prototype.slice.call(from, 0, i);
-      ar[i] = from[i];
+    function iEqual(str1, str2) {
+      return str1.toLocaleLowerCase() === str2.toLocaleLowerCase();
     }
-  }
-  return to.concat(ar || Array.prototype.slice.call(from));
-}
-function __await(v) {
-  return this instanceof __await ? (this.v = v, this) : new __await(v);
-}
-function __asyncGenerator(thisArg, _arguments, generator) {
-  if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
-  var g = generator.apply(thisArg, _arguments || []), i, q = [];
-  return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function() {
-    return this;
-  }, i;
-  function awaitReturn(f) {
-    return function(v) {
-      return Promise.resolve(v).then(f, reject);
-    };
-  }
-  function verb(n, f) {
-    if (g[n]) {
-      i[n] = function(v) {
-        return new Promise(function(a, b) {
-          q.push([n, v, a, b]) > 1 || resume(n, v);
-        });
-      };
-      if (f) i[n] = f(i[n]);
+    function getAccountNameFromUrl(url) {
+      const parsedUrl = new URL(url);
+      let accountName;
+      try {
+        if (parsedUrl.hostname.split(".")[1] === "blob") {
+          accountName = parsedUrl.hostname.split(".")[0];
+        } else if (isIpEndpointStyle(parsedUrl)) {
+          accountName = parsedUrl.pathname.split("/")[1];
+        } else {
+          accountName = "";
+        }
+        return accountName;
+      } catch (error3) {
+        throw new Error("Unable to extract accountName with provided information.");
+      }
     }
-  }
-  function resume(n, v) {
-    try {
-      step(g[n](v));
-    } catch (e) {
-      settle(q[0][3], e);
+    function isIpEndpointStyle(parsedUrl) {
+      const host = parsedUrl.host;
+      return /^.*:.*:.*$|^(localhost|host.docker.internal)(:[0-9]+)?$|^(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])){3}(:[0-9]+)?$/.test(host) || Boolean(parsedUrl.port) && constants_js_1.PathStylePorts.includes(parsedUrl.port);
     }
-  }
-  function step(r) {
-    r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);
-  }
-  function fulfill(value) {
-    resume("next", value);
-  }
-  function reject(value) {
-    resume("throw", value);
-  }
-  function settle(f, v) {
-    if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);
-  }
-}
-function __asyncDelegator(o) {
-  var i, p;
-  return i = {}, verb("next"), verb("throw", function(e) {
-    throw e;
-  }), verb("return"), i[Symbol.iterator] = function() {
-    return this;
-  }, i;
-  function verb(n, f) {
-    i[n] = o[n] ? function(v) {
-      return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v;
-    } : f;
-  }
-}
-function __asyncValues(o) {
-  if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
-  var m = o[Symbol.asyncIterator], i;
-  return m ? m.call(o) : (o = typeof __values2 === "function" ? __values2(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() {
-    return this;
-  }, i);
-  function verb(n) {
-    i[n] = o[n] && function(v) {
-      return new Promise(function(resolve3, reject) {
-        v = o[n](v), settle(resolve3, reject, v.done, v.value);
-      });
-    };
-  }
-  function settle(resolve3, reject, d, v) {
-    Promise.resolve(v).then(function(v2) {
-      resolve3({ value: v2, done: d });
-    }, reject);
-  }
-}
-function __makeTemplateObject(cooked, raw) {
-  if (Object.defineProperty) {
-    Object.defineProperty(cooked, "raw", { value: raw });
-  } else {
-    cooked.raw = raw;
-  }
-  return cooked;
-}
-function __importStar(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;
-}
-function __importDefault(mod) {
-  return mod && mod.__esModule ? mod : { default: mod };
-}
-function __classPrivateFieldGet(receiver, state, kind, f) {
-  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-}
-function __classPrivateFieldSet(receiver, state, value, kind, f) {
-  if (kind === "m") throw new TypeError("Private method is not writable");
-  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-  return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;
-}
-function __classPrivateFieldIn(state, receiver) {
-  if (receiver === null || typeof receiver !== "object" && typeof receiver !== "function") throw new TypeError("Cannot use 'in' operator on non-object");
-  return typeof state === "function" ? receiver === state : state.has(receiver);
-}
-function __addDisposableResource(env, value, async) {
-  if (value !== null && value !== void 0) {
-    if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
-    var dispose, inner;
-    if (async) {
-      if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
-      dispose = value[Symbol.asyncDispose];
+    function toBlobTagsString(tags) {
+      if (tags === void 0) {
+        return void 0;
+      }
+      const tagPairs = [];
+      for (const key in tags) {
+        if (Object.prototype.hasOwnProperty.call(tags, key)) {
+          const value = tags[key];
+          tagPairs.push(`${encodeURIComponent(key)}=${encodeURIComponent(value)}`);
+        }
+      }
+      return tagPairs.join("&");
     }
-    if (dispose === void 0) {
-      if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
-      dispose = value[Symbol.dispose];
-      if (async) inner = dispose;
+    function toBlobTags(tags) {
+      if (tags === void 0) {
+        return void 0;
+      }
+      const res = {
+        blobTagSet: []
+      };
+      for (const key in tags) {
+        if (Object.prototype.hasOwnProperty.call(tags, key)) {
+          const value = tags[key];
+          res.blobTagSet.push({
+            key,
+            value
+          });
+        }
+      }
+      return res;
     }
-    if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
-    if (inner) dispose = function() {
-      try {
-        inner.call(this);
-      } catch (e) {
-        return Promise.reject(e);
+    function toTags(tags) {
+      if (tags === void 0) {
+        return void 0;
       }
-    };
-    env.stack.push({ value, dispose, async });
-  } else if (async) {
-    env.stack.push({ async: true });
-  }
-  return value;
-}
-function __disposeResources(env) {
-  function fail(e) {
-    env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
-    env.hasError = true;
-  }
-  var r, s = 0;
-  function next() {
-    while (r = env.stack.pop()) {
-      try {
-        if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
-        if (r.dispose) {
-          var result = r.dispose.call(r.value);
-          if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {
-            fail(e);
-            return next();
+      const res = {};
+      for (const blobTag of tags.blobTagSet) {
+        res[blobTag.key] = blobTag.value;
+      }
+      return res;
+    }
+    function toQuerySerialization(textConfiguration) {
+      if (textConfiguration === void 0) {
+        return void 0;
+      }
+      switch (textConfiguration.kind) {
+        case "csv":
+          return {
+            format: {
+              type: "delimited",
+              delimitedTextConfiguration: {
+                columnSeparator: textConfiguration.columnSeparator || ",",
+                fieldQuote: textConfiguration.fieldQuote || "",
+                recordSeparator: textConfiguration.recordSeparator,
+                escapeChar: textConfiguration.escapeCharacter || "",
+                headersPresent: textConfiguration.hasHeaders || false
+              }
+            }
+          };
+        case "json":
+          return {
+            format: {
+              type: "json",
+              jsonTextConfiguration: {
+                recordSeparator: textConfiguration.recordSeparator
+              }
+            }
+          };
+        case "arrow":
+          return {
+            format: {
+              type: "arrow",
+              arrowConfiguration: {
+                schema: textConfiguration.schema
+              }
+            }
+          };
+        case "parquet":
+          return {
+            format: {
+              type: "parquet"
+            }
+          };
+        default:
+          throw Error("Invalid BlobQueryTextConfiguration.");
+      }
+    }
+    function parseObjectReplicationRecord(objectReplicationRecord) {
+      if (!objectReplicationRecord) {
+        return void 0;
+      }
+      if ("policy-id" in objectReplicationRecord) {
+        return void 0;
+      }
+      const orProperties = [];
+      for (const key in objectReplicationRecord) {
+        const ids = key.split("_");
+        const policyPrefix = "or-";
+        if (ids[0].startsWith(policyPrefix)) {
+          ids[0] = ids[0].substring(policyPrefix.length);
+        }
+        const rule = {
+          ruleId: ids[1],
+          replicationStatus: objectReplicationRecord[key]
+        };
+        const policyIndex = orProperties.findIndex((policy) => policy.policyId === ids[0]);
+        if (policyIndex > -1) {
+          orProperties[policyIndex].rules.push(rule);
+        } else {
+          orProperties.push({
+            policyId: ids[0],
+            rules: [rule]
           });
-        } else s |= 1;
-      } catch (e) {
-        fail(e);
+        }
       }
+      return orProperties;
     }
-    if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
-    if (env.hasError) throw env.error;
-  }
-  return next();
-}
-function __rewriteRelativeImportExtension(path4, preserveJsx) {
-  if (typeof path4 === "string" && /^\.\.?\//.test(path4)) {
-    return path4.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function(m, tsx, d, ext, cm) {
-      return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : d + ext + "." + cm.toLowerCase() + "js";
-    });
-  }
-  return path4;
-}
-var extendStatics, __assign, __createBinding, __setModuleDefault, ownKeys, _SuppressedError, tslib_es6_default;
-var init_tslib_es6 = __esm({
-  "node_modules/tslib/tslib.es6.mjs"() {
-    extendStatics = function(d, b) {
-      extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
-        d2.__proto__ = b2;
-      } || function(d2, b2) {
-        for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
+    function attachCredential(thing, credential) {
+      thing.credential = credential;
+      return thing;
+    }
+    function httpAuthorizationToString(httpAuthorization) {
+      return httpAuthorization ? httpAuthorization.scheme + " " + httpAuthorization.value : void 0;
+    }
+    function BlobNameToString(name) {
+      if (name.encoded) {
+        return decodeURIComponent(name.content);
+      } else {
+        return name.content;
+      }
+    }
+    function ConvertInternalResponseOfListBlobFlat(internalResponse) {
+      return {
+        ...internalResponse,
+        segment: {
+          blobItems: internalResponse.segment.blobItems.map((blobItemInteral) => {
+            const blobItem = {
+              ...blobItemInteral,
+              name: BlobNameToString(blobItemInteral.name)
+            };
+            return blobItem;
+          })
+        }
       };
-      return extendStatics(d, b);
-    };
-    __assign = function() {
-      __assign = Object.assign || function __assign2(t) {
-        for (var s, i = 1, n = arguments.length; i < n; i++) {
-          s = arguments[i];
-          for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
+    }
+    function ConvertInternalResponseOfListBlobHierarchy(internalResponse) {
+      return {
+        ...internalResponse,
+        segment: {
+          blobPrefixes: internalResponse.segment.blobPrefixes?.map((blobPrefixInternal) => {
+            const blobPrefix = {
+              ...blobPrefixInternal,
+              name: BlobNameToString(blobPrefixInternal.name)
+            };
+            return blobPrefix;
+          }),
+          blobItems: internalResponse.segment.blobItems.map((blobItemInteral) => {
+            const blobItem = {
+              ...blobItemInteral,
+              name: BlobNameToString(blobItemInteral.name)
+            };
+            return blobItem;
+          })
         }
-        return t;
       };
-      return __assign.apply(this, arguments);
-    };
-    __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];
-        } };
+    }
+    function* ExtractPageRangeInfoItems(getPageRangesSegment) {
+      let pageRange = [];
+      let clearRange = [];
+      if (getPageRangesSegment.pageRange)
+        pageRange = getPageRangesSegment.pageRange;
+      if (getPageRangesSegment.clearRange)
+        clearRange = getPageRangesSegment.clearRange;
+      let pageRangeIndex = 0;
+      let clearRangeIndex = 0;
+      while (pageRangeIndex < pageRange.length && clearRangeIndex < clearRange.length) {
+        if (pageRange[pageRangeIndex].start < clearRange[clearRangeIndex].start) {
+          yield {
+            start: pageRange[pageRangeIndex].start,
+            end: pageRange[pageRangeIndex].end,
+            isClear: false
+          };
+          ++pageRangeIndex;
+        } else {
+          yield {
+            start: clearRange[clearRangeIndex].start,
+            end: clearRange[clearRangeIndex].end,
+            isClear: true
+          };
+          ++clearRangeIndex;
+        }
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    });
-    __setModuleDefault = Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    };
-    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);
-    };
-    _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function(error3, suppressed, message) {
-      var e = new Error(message);
-      return e.name = "SuppressedError", e.error = error3, e.suppressed = suppressed, e;
-    };
-    tslib_es6_default = {
-      __extends,
-      __assign,
-      __rest,
-      __decorate,
-      __param,
-      __esDecorate,
-      __runInitializers,
-      __propKey,
-      __setFunctionName,
-      __metadata,
-      __awaiter,
-      __generator,
-      __createBinding,
-      __exportStar,
-      __values: __values2,
-      __read,
-      __spread,
-      __spreadArrays,
-      __spreadArray,
-      __await,
-      __asyncGenerator,
-      __asyncDelegator,
-      __asyncValues,
-      __makeTemplateObject,
-      __importStar,
-      __importDefault,
-      __classPrivateFieldGet,
-      __classPrivateFieldSet,
-      __classPrivateFieldIn,
-      __addDisposableResource,
-      __disposeResources,
-      __rewriteRelativeImportExtension
-    };
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/abort-controller/AbortError.js
-var require_AbortError = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/abort-controller/AbortError.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AbortError = void 0;
-    var AbortError = class extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "AbortError";
+      for (; pageRangeIndex < pageRange.length; ++pageRangeIndex) {
+        yield {
+          start: pageRange[pageRangeIndex].start,
+          end: pageRange[pageRangeIndex].end,
+          isClear: false
+        };
       }
-    };
-    exports2.AbortError = AbortError;
+      for (; clearRangeIndex < clearRange.length; ++clearRangeIndex) {
+        yield {
+          start: clearRange[clearRangeIndex].start,
+          end: clearRange[clearRangeIndex].end,
+          isClear: true
+        };
+      }
+    }
+    function EscapePath(blobName) {
+      const split = blobName.split("/");
+      for (let i = 0; i < split.length; i++) {
+        split[i] = encodeURIComponent(split[i]);
+      }
+      return split.join("/");
+    }
+    function assertResponse(response) {
+      if (`_response` in response) {
+        return response;
+      }
+      throw new TypeError(`Unexpected response object ${response}`);
+    }
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/log.js
-var require_log = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/log.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicyType.js
+var require_StorageRetryPolicyType = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicyType.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.log = log;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var node_os_1 = require("node:os");
-    var node_util_1 = tslib_1.__importDefault(require("node:util"));
-    var node_process_1 = tslib_1.__importDefault(require("node:process"));
-    function log(message, ...args) {
-      node_process_1.default.stderr.write(`${node_util_1.default.format(message, ...args)}${node_os_1.EOL}`);
-    }
+    exports2.StorageRetryPolicyType = void 0;
+    var StorageRetryPolicyType;
+    (function(StorageRetryPolicyType2) {
+      StorageRetryPolicyType2[StorageRetryPolicyType2["EXPONENTIAL"] = 0] = "EXPONENTIAL";
+      StorageRetryPolicyType2[StorageRetryPolicyType2["FIXED"] = 1] = "FIXED";
+    })(StorageRetryPolicyType || (exports2.StorageRetryPolicyType = StorageRetryPolicyType = {}));
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/debug.js
-var require_debug2 = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/debug.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicy.js
+var require_StorageRetryPolicy = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicy.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    var log_js_1 = require_log();
-    var debugEnvVariable = typeof process !== "undefined" && process.env && process.env.DEBUG || void 0;
-    var enabledString;
-    var enabledNamespaces = [];
-    var skippedNamespaces = [];
-    var debuggers = [];
-    if (debugEnvVariable) {
-      enable(debugEnvVariable);
-    }
-    var debugObj = Object.assign((namespace) => {
-      return createDebugger(namespace);
-    }, {
-      enable,
-      enabled,
-      disable,
-      log: log_js_1.log
-    });
-    function enable(namespaces) {
-      enabledString = namespaces;
-      enabledNamespaces = [];
-      skippedNamespaces = [];
-      const namespaceList = namespaces.split(",").map((ns) => ns.trim());
-      for (const ns of namespaceList) {
-        if (ns.startsWith("-")) {
-          skippedNamespaces.push(ns.substring(1));
-        } else {
-          enabledNamespaces.push(ns);
+    exports2.StorageRetryPolicy = void 0;
+    exports2.NewRetryPolicyFactory = NewRetryPolicyFactory;
+    var abort_controller_1 = require_commonjs11();
+    var RequestPolicy_js_1 = require_RequestPolicy();
+    var constants_js_1 = require_constants15();
+    var utils_common_js_1 = require_utils_common();
+    var log_js_1 = require_log5();
+    var StorageRetryPolicyType_js_1 = require_StorageRetryPolicyType();
+    function NewRetryPolicyFactory(retryOptions) {
+      return {
+        create: (nextPolicy, options) => {
+          return new StorageRetryPolicy(nextPolicy, options, retryOptions);
         }
-      }
-      for (const instance of debuggers) {
-        instance.enabled = enabled(instance.namespace);
-      }
+      };
     }
-    function enabled(namespace) {
-      if (namespace.endsWith("*")) {
-        return true;
+    var DEFAULT_RETRY_OPTIONS = {
+      maxRetryDelayInMs: 120 * 1e3,
+      maxTries: 4,
+      retryDelayInMs: 4 * 1e3,
+      retryPolicyType: StorageRetryPolicyType_js_1.StorageRetryPolicyType.EXPONENTIAL,
+      secondaryHost: "",
+      tryTimeoutInMs: void 0
+      // Use server side default timeout strategy
+    };
+    var RETRY_ABORT_ERROR = new abort_controller_1.AbortError("The operation was aborted.");
+    var StorageRetryPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
+      /**
+       * RetryOptions.
+       */
+      retryOptions;
+      /**
+       * Creates an instance of RetryPolicy.
+       *
+       * @param nextPolicy -
+       * @param options -
+       * @param retryOptions -
+       */
+      constructor(nextPolicy, options, retryOptions = DEFAULT_RETRY_OPTIONS) {
+        super(nextPolicy, options);
+        this.retryOptions = {
+          retryPolicyType: retryOptions.retryPolicyType ? retryOptions.retryPolicyType : DEFAULT_RETRY_OPTIONS.retryPolicyType,
+          maxTries: retryOptions.maxTries && retryOptions.maxTries >= 1 ? Math.floor(retryOptions.maxTries) : DEFAULT_RETRY_OPTIONS.maxTries,
+          tryTimeoutInMs: retryOptions.tryTimeoutInMs && retryOptions.tryTimeoutInMs >= 0 ? retryOptions.tryTimeoutInMs : DEFAULT_RETRY_OPTIONS.tryTimeoutInMs,
+          retryDelayInMs: retryOptions.retryDelayInMs && retryOptions.retryDelayInMs >= 0 ? Math.min(retryOptions.retryDelayInMs, retryOptions.maxRetryDelayInMs ? retryOptions.maxRetryDelayInMs : DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs) : DEFAULT_RETRY_OPTIONS.retryDelayInMs,
+          maxRetryDelayInMs: retryOptions.maxRetryDelayInMs && retryOptions.maxRetryDelayInMs >= 0 ? retryOptions.maxRetryDelayInMs : DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs,
+          secondaryHost: retryOptions.secondaryHost ? retryOptions.secondaryHost : DEFAULT_RETRY_OPTIONS.secondaryHost
+        };
       }
-      for (const skipped of skippedNamespaces) {
-        if (namespaceMatches(namespace, skipped)) {
-          return false;
-        }
+      /**
+       * Sends request.
+       *
+       * @param request -
+       */
+      async sendRequest(request2) {
+        return this.attemptSendRequest(request2, false, 1);
       }
-      for (const enabledNamespace of enabledNamespaces) {
-        if (namespaceMatches(namespace, enabledNamespace)) {
-          return true;
+      /**
+       * Decide and perform next retry. Won't mutate request parameter.
+       *
+       * @param request -
+       * @param secondaryHas404 -  If attempt was against the secondary & it returned a StatusNotFound (404), then
+       *                                   the resource was not found. This may be due to replication delay. So, in this
+       *                                   case, we'll never try the secondary again for this operation.
+       * @param attempt -           How many retries has been attempted to performed, starting from 1, which includes
+       *                                   the attempt will be performed by this method call.
+       */
+      async attemptSendRequest(request2, secondaryHas404, attempt) {
+        const newRequest = request2.clone();
+        const isPrimaryRetry = secondaryHas404 || !this.retryOptions.secondaryHost || !(request2.method === "GET" || request2.method === "HEAD" || request2.method === "OPTIONS") || attempt % 2 === 1;
+        if (!isPrimaryRetry) {
+          newRequest.url = (0, utils_common_js_1.setURLHost)(newRequest.url, this.retryOptions.secondaryHost);
         }
-      }
-      return false;
-    }
-    function namespaceMatches(namespace, patternToMatch) {
-      if (patternToMatch.indexOf("*") === -1) {
-        return namespace === patternToMatch;
-      }
-      let pattern = patternToMatch;
-      if (patternToMatch.indexOf("**") !== -1) {
-        const patternParts = [];
-        let lastCharacter = "";
-        for (const character of patternToMatch) {
-          if (character === "*" && lastCharacter === "*") {
-            continue;
-          } else {
-            lastCharacter = character;
-            patternParts.push(character);
+        if (this.retryOptions.tryTimeoutInMs) {
+          newRequest.url = (0, utils_common_js_1.setURLParameter)(newRequest.url, constants_js_1.URLConstants.Parameters.TIMEOUT, Math.floor(this.retryOptions.tryTimeoutInMs / 1e3).toString());
+        }
+        let response;
+        try {
+          log_js_1.logger.info(`RetryPolicy: =====> Try=${attempt} ${isPrimaryRetry ? "Primary" : "Secondary"}`);
+          response = await this._nextPolicy.sendRequest(newRequest);
+          if (!this.shouldRetry(isPrimaryRetry, attempt, response)) {
+            return response;
+          }
+          secondaryHas404 = secondaryHas404 || !isPrimaryRetry && response.status === 404;
+        } catch (err) {
+          log_js_1.logger.error(`RetryPolicy: Caught error, message: ${err.message}, code: ${err.code}`);
+          if (!this.shouldRetry(isPrimaryRetry, attempt, response, err)) {
+            throw err;
           }
         }
-        pattern = patternParts.join("");
+        await this.delay(isPrimaryRetry, attempt, request2.abortSignal);
+        return this.attemptSendRequest(request2, secondaryHas404, ++attempt);
       }
-      let namespaceIndex = 0;
-      let patternIndex = 0;
-      const patternLength = pattern.length;
-      const namespaceLength = namespace.length;
-      let lastWildcard = -1;
-      let lastWildcardNamespace = -1;
-      while (namespaceIndex < namespaceLength && patternIndex < patternLength) {
-        if (pattern[patternIndex] === "*") {
-          lastWildcard = patternIndex;
-          patternIndex++;
-          if (patternIndex === patternLength) {
-            return true;
-          }
-          while (namespace[namespaceIndex] !== pattern[patternIndex]) {
-            namespaceIndex++;
-            if (namespaceIndex === namespaceLength) {
-              return false;
+      /**
+       * Decide whether to retry according to last HTTP response and retry counters.
+       *
+       * @param isPrimaryRetry -
+       * @param attempt -
+       * @param response -
+       * @param err -
+       */
+      shouldRetry(isPrimaryRetry, attempt, response, err) {
+        if (attempt >= this.retryOptions.maxTries) {
+          log_js_1.logger.info(`RetryPolicy: Attempt(s) ${attempt} >= maxTries ${this.retryOptions.maxTries}, no further try.`);
+          return false;
+        }
+        const retriableErrors = [
+          "ETIMEDOUT",
+          "ESOCKETTIMEDOUT",
+          "ECONNREFUSED",
+          "ECONNRESET",
+          "ENOENT",
+          "ENOTFOUND",
+          "TIMEOUT",
+          "EPIPE",
+          "REQUEST_SEND_ERROR"
+          // For default xhr based http client provided in ms-rest-js
+        ];
+        if (err) {
+          for (const retriableError of retriableErrors) {
+            if (err.name.toUpperCase().includes(retriableError) || err.message.toUpperCase().includes(retriableError) || err.code && err.code.toString().toUpperCase() === retriableError) {
+              log_js_1.logger.info(`RetryPolicy: Network error ${retriableError} found, will retry.`);
+              return true;
             }
           }
-          lastWildcardNamespace = namespaceIndex;
-          namespaceIndex++;
-          patternIndex++;
-          continue;
-        } else if (pattern[patternIndex] === namespace[namespaceIndex]) {
-          patternIndex++;
-          namespaceIndex++;
-        } else if (lastWildcard >= 0) {
-          patternIndex = lastWildcard + 1;
-          namespaceIndex = lastWildcardNamespace + 1;
-          if (namespaceIndex === namespaceLength) {
-            return false;
+        }
+        if (response || err) {
+          const statusCode = response ? response.status : err ? err.statusCode : 0;
+          if (!isPrimaryRetry && statusCode === 404) {
+            log_js_1.logger.info(`RetryPolicy: Secondary access with 404, will retry.`);
+            return true;
           }
-          while (namespace[namespaceIndex] !== pattern[patternIndex]) {
-            namespaceIndex++;
-            if (namespaceIndex === namespaceLength) {
-              return false;
+          if (statusCode === 503 || statusCode === 500) {
+            log_js_1.logger.info(`RetryPolicy: Will retry for status code ${statusCode}.`);
+            return true;
+          }
+        }
+        if (response) {
+          if (response?.status >= 400) {
+            const copySourceError = response.headers.get(constants_js_1.HeaderConstants.X_MS_CopySourceErrorCode);
+            if (copySourceError !== void 0) {
+              switch (copySourceError) {
+                case "InternalError":
+                case "OperationTimedOut":
+                case "ServerBusy":
+                  return true;
+              }
             }
           }
-          lastWildcardNamespace = namespaceIndex;
-          namespaceIndex++;
-          patternIndex++;
-          continue;
-        } else {
-          return false;
         }
-      }
-      const namespaceDone = namespaceIndex === namespace.length;
-      const patternDone = patternIndex === pattern.length;
-      const trailingWildCard = patternIndex === pattern.length - 1 && pattern[patternIndex] === "*";
-      return namespaceDone && (patternDone || trailingWildCard);
-    }
-    function disable() {
-      const result = enabledString || "";
-      enable("");
-      return result;
-    }
-    function createDebugger(namespace) {
-      const newDebugger = Object.assign(debug4, {
-        enabled: enabled(namespace),
-        destroy,
-        log: debugObj.log,
-        namespace,
-        extend: extend3
-      });
-      function debug4(...args) {
-        if (!newDebugger.enabled) {
-          return;
+        if (err?.code === "PARSE_ERROR" && err?.message.startsWith(`Error "Error: Unclosed root tag`)) {
+          log_js_1.logger.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry.");
+          return true;
         }
-        if (args.length > 0) {
-          args[0] = `${namespace} ${args[0]}`;
+        return false;
+      }
+      /**
+       * Delay a calculated time between retries.
+       *
+       * @param isPrimaryRetry -
+       * @param attempt -
+       * @param abortSignal -
+       */
+      async delay(isPrimaryRetry, attempt, abortSignal) {
+        let delayTimeInMs = 0;
+        if (isPrimaryRetry) {
+          switch (this.retryOptions.retryPolicyType) {
+            case StorageRetryPolicyType_js_1.StorageRetryPolicyType.EXPONENTIAL:
+              delayTimeInMs = Math.min((Math.pow(2, attempt - 1) - 1) * this.retryOptions.retryDelayInMs, this.retryOptions.maxRetryDelayInMs);
+              break;
+            case StorageRetryPolicyType_js_1.StorageRetryPolicyType.FIXED:
+              delayTimeInMs = this.retryOptions.retryDelayInMs;
+              break;
+          }
+        } else {
+          delayTimeInMs = Math.random() * 1e3;
         }
-        newDebugger.log(...args);
+        log_js_1.logger.info(`RetryPolicy: Delay for ${delayTimeInMs}ms`);
+        return (0, utils_common_js_1.delay)(delayTimeInMs, abortSignal, RETRY_ABORT_ERROR);
       }
-      debuggers.push(newDebugger);
-      return newDebugger;
-    }
-    function destroy() {
-      const index = debuggers.indexOf(this);
-      if (index >= 0) {
-        debuggers.splice(index, 1);
-        return true;
+    };
+    exports2.StorageRetryPolicy = StorageRetryPolicy;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/StorageRetryPolicyFactory.js
+var require_StorageRetryPolicyFactory = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/StorageRetryPolicyFactory.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageRetryPolicyFactory = exports2.StorageRetryPolicy = exports2.StorageRetryPolicyType = void 0;
+    var StorageRetryPolicy_js_1 = require_StorageRetryPolicy();
+    Object.defineProperty(exports2, "StorageRetryPolicy", { enumerable: true, get: function() {
+      return StorageRetryPolicy_js_1.StorageRetryPolicy;
+    } });
+    var StorageRetryPolicyType_js_1 = require_StorageRetryPolicyType();
+    Object.defineProperty(exports2, "StorageRetryPolicyType", { enumerable: true, get: function() {
+      return StorageRetryPolicyType_js_1.StorageRetryPolicyType;
+    } });
+    var StorageRetryPolicyFactory = class {
+      retryOptions;
+      /**
+       * Creates an instance of StorageRetryPolicyFactory.
+       * @param retryOptions -
+       */
+      constructor(retryOptions) {
+        this.retryOptions = retryOptions;
       }
-      return false;
-    }
-    function extend3(namespace) {
-      const newDebugger = createDebugger(`${this.namespace}:${namespace}`);
-      newDebugger.log = this.log;
-      return newDebugger;
-    }
-    exports2.default = debugObj;
+      /**
+       * Creates a StorageRetryPolicy object.
+       *
+       * @param nextPolicy -
+       * @param options -
+       */
+      create(nextPolicy, options) {
+        return new StorageRetryPolicy_js_1.StorageRetryPolicy(nextPolicy, options, this.retryOptions);
+      }
+    };
+    exports2.StorageRetryPolicyFactory = StorageRetryPolicyFactory;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/logger.js
-var require_logger = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/logger.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/policies/CredentialPolicy.js
+var require_CredentialPolicy = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/CredentialPolicy.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.TypeSpecRuntimeLogger = void 0;
-    exports2.createLoggerContext = createLoggerContext;
-    exports2.setLogLevel = setLogLevel;
-    exports2.getLogLevel = getLogLevel;
-    exports2.createClientLogger = createClientLogger;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var debug_js_1 = tslib_1.__importDefault(require_debug2());
-    var TYPESPEC_RUNTIME_LOG_LEVELS = ["verbose", "info", "warning", "error"];
-    var levelMap = {
-      verbose: 400,
-      info: 300,
-      warning: 200,
-      error: 100
+    exports2.CredentialPolicy = void 0;
+    var RequestPolicy_js_1 = require_RequestPolicy();
+    var CredentialPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
+      /**
+       * Sends out request.
+       *
+       * @param request -
+       */
+      sendRequest(request2) {
+        return this._nextPolicy.sendRequest(this.signRequest(request2));
+      }
+      /**
+       * Child classes must implement this method with request signing. This method
+       * will be executed in {@link sendRequest}.
+       *
+       * @param request -
+       */
+      signRequest(request2) {
+        return request2;
+      }
     };
-    function patchLogMethod(parent, child) {
-      child.log = (...args) => {
-        parent.log(...args);
-      };
-    }
-    function isTypeSpecRuntimeLogLevel(level) {
-      return TYPESPEC_RUNTIME_LOG_LEVELS.includes(level);
+    exports2.CredentialPolicy = CredentialPolicy;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/utils/SharedKeyComparator.js
+var require_SharedKeyComparator = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/SharedKeyComparator.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.compareHeader = compareHeader;
+    var table_lv0 = new Uint32Array([
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      1820,
+      0,
+      1823,
+      1825,
+      1827,
+      1829,
+      0,
+      0,
+      0,
+      1837,
+      2051,
+      0,
+      0,
+      1843,
+      0,
+      3331,
+      3354,
+      3356,
+      3358,
+      3360,
+      3362,
+      3364,
+      3366,
+      3368,
+      3370,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      3586,
+      3593,
+      3594,
+      3610,
+      3617,
+      3619,
+      3621,
+      3628,
+      3634,
+      3637,
+      3638,
+      3656,
+      3665,
+      3696,
+      3708,
+      3710,
+      3721,
+      3722,
+      3729,
+      3737,
+      3743,
+      3746,
+      3748,
+      3750,
+      3751,
+      3753,
+      0,
+      0,
+      0,
+      1859,
+      1860,
+      1864,
+      3586,
+      3593,
+      3594,
+      3610,
+      3617,
+      3619,
+      3621,
+      3628,
+      3634,
+      3637,
+      3638,
+      3656,
+      3665,
+      3696,
+      3708,
+      3710,
+      3721,
+      3722,
+      3729,
+      3737,
+      3743,
+      3746,
+      3748,
+      3750,
+      3751,
+      3753,
+      0,
+      1868,
+      0,
+      1872,
+      0
+    ]);
+    var table_lv2 = new Uint32Array([
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0
+    ]);
+    var table_lv4 = new Uint32Array([
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      32786,
+      0,
+      0,
+      0,
+      0,
+      0,
+      33298,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0
+    ]);
+    function compareHeader(lhs, rhs) {
+      if (isLessThan(lhs, rhs))
+        return -1;
+      return 1;
     }
-    function createLoggerContext(options) {
-      const registeredLoggers = /* @__PURE__ */ new Set();
-      const logLevelFromEnv = typeof process !== "undefined" && process.env && process.env[options.logLevelEnvVarName] || void 0;
-      let logLevel;
-      const clientLogger = (0, debug_js_1.default)(options.namespace);
-      clientLogger.log = (...args) => {
-        debug_js_1.default.log(...args);
-      };
-      function contextSetLogLevel(level) {
-        if (level && !isTypeSpecRuntimeLogLevel(level)) {
-          throw new Error(`Unknown log level '${level}'. Acceptable values: ${TYPESPEC_RUNTIME_LOG_LEVELS.join(",")}`);
-        }
-        logLevel = level;
-        const enabledNamespaces = [];
-        for (const logger of registeredLoggers) {
-          if (shouldEnable(logger)) {
-            enabledNamespaces.push(logger.namespace);
-          }
+    function isLessThan(lhs, rhs) {
+      const tables = [table_lv0, table_lv2, table_lv4];
+      let curr_level = 0;
+      let i = 0;
+      let j = 0;
+      while (curr_level < tables.length) {
+        if (curr_level === tables.length - 1 && i !== j) {
+          return i > j;
         }
-        debug_js_1.default.enable(enabledNamespaces.join(","));
-      }
-      if (logLevelFromEnv) {
-        if (isTypeSpecRuntimeLogLevel(logLevelFromEnv)) {
-          contextSetLogLevel(logLevelFromEnv);
+        const weight1 = i < lhs.length ? tables[curr_level][lhs[i].charCodeAt(0)] : 1;
+        const weight2 = j < rhs.length ? tables[curr_level][rhs[j].charCodeAt(0)] : 1;
+        if (weight1 === 1 && weight2 === 1) {
+          i = 0;
+          j = 0;
+          ++curr_level;
+        } else if (weight1 === weight2) {
+          ++i;
+          ++j;
+        } else if (weight1 === 0) {
+          ++i;
+        } else if (weight2 === 0) {
+          ++j;
         } else {
-          console.error(`${options.logLevelEnvVarName} set to unknown log level '${logLevelFromEnv}'; logging is not enabled. Acceptable values: ${TYPESPEC_RUNTIME_LOG_LEVELS.join(", ")}.`);
-        }
-      }
-      function shouldEnable(logger) {
-        return Boolean(logLevel && levelMap[logger.level] <= levelMap[logLevel]);
-      }
-      function createLogger2(parent, level) {
-        const logger = Object.assign(parent.extend(level), {
-          level
-        });
-        patchLogMethod(parent, logger);
-        if (shouldEnable(logger)) {
-          const enabledNamespaces = debug_js_1.default.disable();
-          debug_js_1.default.enable(enabledNamespaces + "," + logger.namespace);
+          return weight1 < weight2;
         }
-        registeredLoggers.add(logger);
-        return logger;
-      }
-      function contextGetLogLevel() {
-        return logLevel;
-      }
-      function contextCreateClientLogger(namespace) {
-        const clientRootLogger = clientLogger.extend(namespace);
-        patchLogMethod(clientLogger, clientRootLogger);
-        return {
-          error: createLogger2(clientRootLogger, "error"),
-          warning: createLogger2(clientRootLogger, "warning"),
-          info: createLogger2(clientRootLogger, "info"),
-          verbose: createLogger2(clientRootLogger, "verbose")
-        };
       }
-      return {
-        setLogLevel: contextSetLogLevel,
-        getLogLevel: contextGetLogLevel,
-        createClientLogger: contextCreateClientLogger,
-        logger: clientLogger
-      };
-    }
-    var context2 = createLoggerContext({
-      logLevelEnvVarName: "TYPESPEC_RUNTIME_LOG_LEVEL",
-      namespace: "typeSpecRuntime"
-    });
-    exports2.TypeSpecRuntimeLogger = context2.logger;
-    function setLogLevel(logLevel) {
-      context2.setLogLevel(logLevel);
-    }
-    function getLogLevel() {
-      return context2.getLogLevel();
-    }
-    function createClientLogger(namespace) {
-      return context2.createClientLogger(namespace);
+      return false;
     }
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/httpHeaders.js
-var require_httpHeaders = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/httpHeaders.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageSharedKeyCredentialPolicy.js
+var require_StorageSharedKeyCredentialPolicy = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageSharedKeyCredentialPolicy.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createHttpHeaders = createHttpHeaders;
-    function normalizeName(name) {
-      return name.toLowerCase();
-    }
-    function* headerIterator(map2) {
-      for (const entry of map2.values()) {
-        yield [entry.name, entry.value];
-      }
-    }
-    var HttpHeadersImpl = class {
-      _headersMap;
-      constructor(rawHeaders) {
-        this._headersMap = /* @__PURE__ */ new Map();
-        if (rawHeaders) {
-          for (const headerName of Object.keys(rawHeaders)) {
-            this.set(headerName, rawHeaders[headerName]);
-          }
-        }
-      }
-      /**
-       * Set a header in this collection with the provided name and value. The name is
-       * case-insensitive.
-       * @param name - The name of the header to set. This value is case-insensitive.
-       * @param value - The value of the header to set.
-       */
-      set(name, value) {
-        this._headersMap.set(normalizeName(name), { name, value: String(value).trim() });
-      }
+    exports2.StorageSharedKeyCredentialPolicy = void 0;
+    var constants_js_1 = require_constants15();
+    var utils_common_js_1 = require_utils_common();
+    var CredentialPolicy_js_1 = require_CredentialPolicy();
+    var SharedKeyComparator_js_1 = require_SharedKeyComparator();
+    var StorageSharedKeyCredentialPolicy = class extends CredentialPolicy_js_1.CredentialPolicy {
       /**
-       * Get the header value for the provided header name, or undefined if no header exists in this
-       * collection with the provided name.
-       * @param name - The name of the header. This value is case-insensitive.
+       * Reference to StorageSharedKeyCredential which generates StorageSharedKeyCredentialPolicy
        */
-      get(name) {
-        return this._headersMap.get(normalizeName(name))?.value;
-      }
+      factory;
       /**
-       * Get whether or not this header collection contains a header entry for the provided header name.
-       * @param name - The name of the header to set. This value is case-insensitive.
+       * Creates an instance of StorageSharedKeyCredentialPolicy.
+       * @param nextPolicy -
+       * @param options -
+       * @param factory -
        */
-      has(name) {
-        return this._headersMap.has(normalizeName(name));
+      constructor(nextPolicy, options, factory) {
+        super(nextPolicy, options);
+        this.factory = factory;
       }
       /**
-       * Remove the header with the provided headerName.
-       * @param name - The name of the header to remove.
+       * Signs request.
+       *
+       * @param request -
        */
-      delete(name) {
-        this._headersMap.delete(normalizeName(name));
+      signRequest(request2) {
+        request2.headers.set(constants_js_1.HeaderConstants.X_MS_DATE, (/* @__PURE__ */ new Date()).toUTCString());
+        if (request2.body && (typeof request2.body === "string" || request2.body !== void 0) && request2.body.length > 0) {
+          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
+        }
+        const stringToSign = [
+          request2.method.toUpperCase(),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LANGUAGE),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_ENCODING),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LENGTH),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_MD5),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_TYPE),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.DATE),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MODIFIED_SINCE),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MATCH),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_NONE_MATCH),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_UNMODIFIED_SINCE),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.RANGE)
+        ].join("\n") + "\n" + this.getCanonicalizedHeadersString(request2) + this.getCanonicalizedResourceString(request2);
+        const signature = this.factory.computeHMACSHA256(stringToSign);
+        request2.headers.set(constants_js_1.HeaderConstants.AUTHORIZATION, `SharedKey ${this.factory.accountName}:${signature}`);
+        return request2;
       }
       /**
-       * Get the JSON object representation of this HTTP header collection.
+       * Retrieve header value according to shared key sign rules.
+       * @see https://learn.microsoft.com/rest/api/storageservices/authenticate-with-shared-key
+       *
+       * @param request -
+       * @param headerName -
        */
-      toJSON(options = {}) {
-        const result = {};
-        if (options.preserveCase) {
-          for (const entry of this._headersMap.values()) {
-            result[entry.name] = entry.value;
-          }
-        } else {
-          for (const [normalizedName, entry] of this._headersMap) {
-            result[normalizedName] = entry.value;
-          }
+      getHeaderValueToSign(request2, headerName) {
+        const value = request2.headers.get(headerName);
+        if (!value) {
+          return "";
         }
-        return result;
+        if (headerName === constants_js_1.HeaderConstants.CONTENT_LENGTH && value === "0") {
+          return "";
+        }
+        return value;
       }
       /**
-       * Get the string representation of this HTTP header collection.
+       * To construct the CanonicalizedHeaders portion of the signature string, follow these steps:
+       * 1. Retrieve all headers for the resource that begin with x-ms-, including the x-ms-date header.
+       * 2. Convert each HTTP header name to lowercase.
+       * 3. Sort the headers lexicographically by header name, in ascending order.
+       *    Each header may appear only once in the string.
+       * 4. Replace any linear whitespace in the header value with a single space.
+       * 5. Trim any whitespace around the colon in the header.
+       * 6. Finally, append a new-line character to each canonicalized header in the resulting list.
+       *    Construct the CanonicalizedHeaders string by concatenating all headers in this list into a single string.
+       *
+       * @param request -
        */
-      toString() {
-        return JSON.stringify(this.toJSON({ preserveCase: true }));
+      getCanonicalizedHeadersString(request2) {
+        let headersArray = request2.headers.headersArray().filter((value) => {
+          return value.name.toLowerCase().startsWith(constants_js_1.HeaderConstants.PREFIX_FOR_STORAGE);
+        });
+        headersArray.sort((a, b) => {
+          return (0, SharedKeyComparator_js_1.compareHeader)(a.name.toLowerCase(), b.name.toLowerCase());
+        });
+        headersArray = headersArray.filter((value, index, array) => {
+          if (index > 0 && value.name.toLowerCase() === array[index - 1].name.toLowerCase()) {
+            return false;
+          }
+          return true;
+        });
+        let canonicalizedHeadersStringToSign = "";
+        headersArray.forEach((header) => {
+          canonicalizedHeadersStringToSign += `${header.name.toLowerCase().trimRight()}:${header.value.trimLeft()}
+`;
+        });
+        return canonicalizedHeadersStringToSign;
       }
       /**
-       * Iterate over tuples of header [name, value] pairs.
+       * Retrieves the webResource canonicalized resource string.
+       *
+       * @param request -
        */
-      [Symbol.iterator]() {
-        return headerIterator(this._headersMap);
+      getCanonicalizedResourceString(request2) {
+        const path4 = (0, utils_common_js_1.getURLPath)(request2.url) || "/";
+        let canonicalizedResourceString = "";
+        canonicalizedResourceString += `/${this.factory.accountName}${path4}`;
+        const queries = (0, utils_common_js_1.getURLQueries)(request2.url);
+        const lowercaseQueries = {};
+        if (queries) {
+          const queryKeys = [];
+          for (const key in queries) {
+            if (Object.prototype.hasOwnProperty.call(queries, key)) {
+              const lowercaseKey = key.toLowerCase();
+              lowercaseQueries[lowercaseKey] = queries[key];
+              queryKeys.push(lowercaseKey);
+            }
+          }
+          queryKeys.sort();
+          for (const key of queryKeys) {
+            canonicalizedResourceString += `
+${key}:${decodeURIComponent(lowercaseQueries[key])}`;
+          }
+        }
+        return canonicalizedResourceString;
       }
     };
-    function createHttpHeaders(rawHeaders) {
-      return new HttpHeadersImpl(rawHeaders);
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/schemes.js
-var require_schemes = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/schemes.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/oauth2Flows.js
-var require_oauth2Flows = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/oauth2Flows.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/uuidUtils.js
-var require_uuidUtils = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/uuidUtils.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.randomUUID = randomUUID;
-    function randomUUID() {
-      return crypto.randomUUID();
-    }
+    exports2.StorageSharedKeyCredentialPolicy = StorageSharedKeyCredentialPolicy;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/pipelineRequest.js
-var require_pipelineRequest = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/pipelineRequest.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/credentials/Credential.js
+var require_Credential = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/credentials/Credential.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createPipelineRequest = createPipelineRequest;
-    var httpHeaders_js_1 = require_httpHeaders();
-    var uuidUtils_js_1 = require_uuidUtils();
-    var PipelineRequestImpl = class {
-      url;
-      method;
-      headers;
-      timeout;
-      withCredentials;
-      body;
-      multipartBody;
-      formData;
-      streamResponseStatusCodes;
-      enableBrowserStreams;
-      proxySettings;
-      disableKeepAlive;
-      abortSignal;
-      requestId;
-      allowInsecureConnection;
-      onUploadProgress;
-      onDownloadProgress;
-      requestOverrides;
-      authSchemes;
-      constructor(options) {
-        this.url = options.url;
-        this.body = options.body;
-        this.headers = options.headers ?? (0, httpHeaders_js_1.createHttpHeaders)();
-        this.method = options.method ?? "GET";
-        this.timeout = options.timeout ?? 0;
-        this.multipartBody = options.multipartBody;
-        this.formData = options.formData;
-        this.disableKeepAlive = options.disableKeepAlive ?? false;
-        this.proxySettings = options.proxySettings;
-        this.streamResponseStatusCodes = options.streamResponseStatusCodes;
-        this.withCredentials = options.withCredentials ?? false;
-        this.abortSignal = options.abortSignal;
-        this.onUploadProgress = options.onUploadProgress;
-        this.onDownloadProgress = options.onDownloadProgress;
-        this.requestId = options.requestId || (0, uuidUtils_js_1.randomUUID)();
-        this.allowInsecureConnection = options.allowInsecureConnection ?? false;
-        this.enableBrowserStreams = options.enableBrowserStreams ?? false;
-        this.requestOverrides = options.requestOverrides;
-        this.authSchemes = options.authSchemes;
+    exports2.Credential = void 0;
+    var Credential = class {
+      /**
+       * Creates a RequestPolicy object.
+       *
+       * @param _nextPolicy -
+       * @param _options -
+       */
+      create(_nextPolicy, _options) {
+        throw new Error("Method should be implemented in children classes.");
       }
     };
-    function createPipelineRequest(options) {
-      return new PipelineRequestImpl(options);
-    }
+    exports2.Credential = Credential;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/pipeline.js
-var require_pipeline = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/pipeline.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/credentials/StorageSharedKeyCredential.js
+var require_StorageSharedKeyCredential = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/credentials/StorageSharedKeyCredential.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createEmptyPipeline = createEmptyPipeline;
-    var ValidPhaseNames = /* @__PURE__ */ new Set(["Deserialize", "Serialize", "Retry", "Sign"]);
-    var HttpPipeline = class _HttpPipeline {
-      _policies = [];
-      _orderedPolicies;
-      constructor(policies) {
-        this._policies = policies?.slice(0) ?? [];
-        this._orderedPolicies = void 0;
-      }
-      addPolicy(policy, options = {}) {
-        if (options.phase && options.afterPhase) {
-          throw new Error("Policies inside a phase cannot specify afterPhase.");
-        }
-        if (options.phase && !ValidPhaseNames.has(options.phase)) {
-          throw new Error(`Invalid phase name: ${options.phase}`);
-        }
-        if (options.afterPhase && !ValidPhaseNames.has(options.afterPhase)) {
-          throw new Error(`Invalid afterPhase name: ${options.afterPhase}`);
-        }
-        this._policies.push({
-          policy,
-          options
-        });
-        this._orderedPolicies = void 0;
-      }
-      removePolicy(options) {
-        const removedPolicies = [];
-        this._policies = this._policies.filter((policyDescriptor) => {
-          if (options.name && policyDescriptor.policy.name === options.name || options.phase && policyDescriptor.options.phase === options.phase) {
-            removedPolicies.push(policyDescriptor.policy);
-            return false;
-          } else {
-            return true;
-          }
-        });
-        this._orderedPolicies = void 0;
-        return removedPolicies;
-      }
-      sendRequest(httpClient, request2) {
-        const policies = this.getOrderedPolicies();
-        const pipeline = policies.reduceRight((next, policy) => {
-          return (req) => {
-            return policy.sendRequest(req, next);
-          };
-        }, (req) => httpClient.sendRequest(req));
-        return pipeline(request2);
-      }
-      getOrderedPolicies() {
-        if (!this._orderedPolicies) {
-          this._orderedPolicies = this.orderPolicies();
-        }
-        return this._orderedPolicies;
-      }
-      clone() {
-        return new _HttpPipeline(this._policies);
-      }
-      static create() {
-        return new _HttpPipeline();
-      }
-      orderPolicies() {
-        const result = [];
-        const policyMap = /* @__PURE__ */ new Map();
-        function createPhase(name) {
-          return {
-            name,
-            policies: /* @__PURE__ */ new Set(),
-            hasRun: false,
-            hasAfterPolicies: false
-          };
-        }
-        const serializePhase = createPhase("Serialize");
-        const noPhase = createPhase("None");
-        const deserializePhase = createPhase("Deserialize");
-        const retryPhase = createPhase("Retry");
-        const signPhase = createPhase("Sign");
-        const orderedPhases = [serializePhase, noPhase, deserializePhase, retryPhase, signPhase];
-        function getPhase(phase) {
-          if (phase === "Retry") {
-            return retryPhase;
-          } else if (phase === "Serialize") {
-            return serializePhase;
-          } else if (phase === "Deserialize") {
-            return deserializePhase;
-          } else if (phase === "Sign") {
-            return signPhase;
-          } else {
-            return noPhase;
-          }
-        }
-        for (const descriptor of this._policies) {
-          const policy = descriptor.policy;
-          const options = descriptor.options;
-          const policyName = policy.name;
-          if (policyMap.has(policyName)) {
-            throw new Error("Duplicate policy names not allowed in pipeline");
-          }
-          const node = {
-            policy,
-            dependsOn: /* @__PURE__ */ new Set(),
-            dependants: /* @__PURE__ */ new Set()
-          };
-          if (options.afterPhase) {
-            node.afterPhase = getPhase(options.afterPhase);
-            node.afterPhase.hasAfterPolicies = true;
-          }
-          policyMap.set(policyName, node);
-          const phase = getPhase(options.phase);
-          phase.policies.add(node);
-        }
-        for (const descriptor of this._policies) {
-          const { policy, options } = descriptor;
-          const policyName = policy.name;
-          const node = policyMap.get(policyName);
-          if (!node) {
-            throw new Error(`Missing node for policy ${policyName}`);
-          }
-          if (options.afterPolicies) {
-            for (const afterPolicyName of options.afterPolicies) {
-              const afterNode = policyMap.get(afterPolicyName);
-              if (afterNode) {
-                node.dependsOn.add(afterNode);
-                afterNode.dependants.add(node);
-              }
-            }
-          }
-          if (options.beforePolicies) {
-            for (const beforePolicyName of options.beforePolicies) {
-              const beforeNode = policyMap.get(beforePolicyName);
-              if (beforeNode) {
-                beforeNode.dependsOn.add(node);
-                node.dependants.add(beforeNode);
-              }
-            }
-          }
-        }
-        function walkPhase(phase) {
-          phase.hasRun = true;
-          for (const node of phase.policies) {
-            if (node.afterPhase && (!node.afterPhase.hasRun || node.afterPhase.policies.size)) {
-              continue;
-            }
-            if (node.dependsOn.size === 0) {
-              result.push(node.policy);
-              for (const dependant of node.dependants) {
-                dependant.dependsOn.delete(node);
-              }
-              policyMap.delete(node.policy.name);
-              phase.policies.delete(node);
-            }
-          }
-        }
-        function walkPhases() {
-          for (const phase of orderedPhases) {
-            walkPhase(phase);
-            if (phase.policies.size > 0 && phase !== noPhase) {
-              if (!noPhase.hasRun) {
-                walkPhase(noPhase);
-              }
-              return;
-            }
-            if (phase.hasAfterPolicies) {
-              walkPhase(noPhase);
-            }
-          }
-        }
-        let iteration = 0;
-        while (policyMap.size > 0) {
-          iteration++;
-          const initialResultLength = result.length;
-          walkPhases();
-          if (result.length <= initialResultLength && iteration > 1) {
-            throw new Error("Cannot satisfy policy dependencies due to requirements cycle.");
-          }
-        }
-        return result;
+    exports2.StorageSharedKeyCredential = void 0;
+    var node_crypto_1 = require("node:crypto");
+    var StorageSharedKeyCredentialPolicy_js_1 = require_StorageSharedKeyCredentialPolicy();
+    var Credential_js_1 = require_Credential();
+    var StorageSharedKeyCredential = class extends Credential_js_1.Credential {
+      /**
+       * Azure Storage account name; readonly.
+       */
+      accountName;
+      /**
+       * Azure Storage account key; readonly.
+       */
+      accountKey;
+      /**
+       * Creates an instance of StorageSharedKeyCredential.
+       * @param accountName -
+       * @param accountKey -
+       */
+      constructor(accountName, accountKey) {
+        super();
+        this.accountName = accountName;
+        this.accountKey = Buffer.from(accountKey, "base64");
+      }
+      /**
+       * Creates a StorageSharedKeyCredentialPolicy object.
+       *
+       * @param nextPolicy -
+       * @param options -
+       */
+      create(nextPolicy, options) {
+        return new StorageSharedKeyCredentialPolicy_js_1.StorageSharedKeyCredentialPolicy(nextPolicy, options, this);
+      }
+      /**
+       * Generates a hash signature for an HTTP request or for a SAS.
+       *
+       * @param stringToSign -
+       */
+      computeHMACSHA256(stringToSign) {
+        return (0, node_crypto_1.createHmac)("sha256", this.accountKey).update(stringToSign, "utf8").digest("base64");
       }
     };
-    function createEmptyPipeline() {
-      return HttpPipeline.create();
-    }
+    exports2.StorageSharedKeyCredential = StorageSharedKeyCredential;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/object.js
-var require_object = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/object.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/policies/AnonymousCredentialPolicy.js
+var require_AnonymousCredentialPolicy = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/AnonymousCredentialPolicy.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isObject = isObject2;
-    function isObject2(input) {
-      return typeof input === "object" && input !== null && !Array.isArray(input) && !(input instanceof RegExp) && !(input instanceof Date);
-    }
+    exports2.AnonymousCredentialPolicy = void 0;
+    var CredentialPolicy_js_1 = require_CredentialPolicy();
+    var AnonymousCredentialPolicy = class extends CredentialPolicy_js_1.CredentialPolicy {
+      /**
+       * Creates an instance of AnonymousCredentialPolicy.
+       * @param nextPolicy -
+       * @param options -
+       */
+      // The base class has a protected constructor. Adding a public one to enable constructing of this class.
+      /* eslint-disable-next-line @typescript-eslint/no-useless-constructor*/
+      constructor(nextPolicy, options) {
+        super(nextPolicy, options);
+      }
+    };
+    exports2.AnonymousCredentialPolicy = AnonymousCredentialPolicy;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/error.js
-var require_error = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/error.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/credentials/AnonymousCredential.js
+var require_AnonymousCredential = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/credentials/AnonymousCredential.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isError = isError;
-    var object_js_1 = require_object();
-    function isError(e) {
-      if ((0, object_js_1.isObject)(e)) {
-        const hasName = typeof e.name === "string";
-        const hasMessage = typeof e.message === "string";
-        return hasName && hasMessage;
+    exports2.AnonymousCredential = void 0;
+    var AnonymousCredentialPolicy_js_1 = require_AnonymousCredentialPolicy();
+    var Credential_js_1 = require_Credential();
+    var AnonymousCredential = class extends Credential_js_1.Credential {
+      /**
+       * Creates an {@link AnonymousCredentialPolicy} object.
+       *
+       * @param nextPolicy -
+       * @param options -
+       */
+      create(nextPolicy, options) {
+        return new AnonymousCredentialPolicy_js_1.AnonymousCredentialPolicy(nextPolicy, options);
       }
-      return false;
-    }
+    };
+    exports2.AnonymousCredential = AnonymousCredential;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/inspect.js
-var require_inspect = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/inspect.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/BuffersStream.js
+var require_BuffersStream = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/BuffersStream.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.custom = void 0;
-    var node_util_1 = require("node:util");
-    exports2.custom = node_util_1.inspect.custom;
+    exports2.BuffersStream = void 0;
+    var node_stream_1 = require("node:stream");
+    var BuffersStream = class extends node_stream_1.Readable {
+      buffers;
+      byteLength;
+      /**
+       * The offset of data to be read in the current buffer.
+       */
+      byteOffsetInCurrentBuffer;
+      /**
+       * The index of buffer to be read in the array of buffers.
+       */
+      bufferIndex;
+      /**
+       * The total length of data already read.
+       */
+      pushedBytesLength;
+      /**
+       * Creates an instance of BuffersStream that will emit the data
+       * contained in the array of buffers.
+       *
+       * @param buffers - Array of buffers containing the data
+       * @param byteLength - The total length of data contained in the buffers
+       */
+      constructor(buffers, byteLength, options) {
+        super(options);
+        this.buffers = buffers;
+        this.byteLength = byteLength;
+        this.byteOffsetInCurrentBuffer = 0;
+        this.bufferIndex = 0;
+        this.pushedBytesLength = 0;
+        let buffersLength = 0;
+        for (const buf of this.buffers) {
+          buffersLength += buf.byteLength;
+        }
+        if (buffersLength < this.byteLength) {
+          throw new Error("Data size shouldn't be larger than the total length of buffers.");
+        }
+      }
+      /**
+       * Internal _read() that will be called when the stream wants to pull more data in.
+       *
+       * @param size - Optional. The size of data to be read
+       */
+      _read(size) {
+        if (this.pushedBytesLength >= this.byteLength) {
+          this.push(null);
+        }
+        if (!size) {
+          size = this.readableHighWaterMark;
+        }
+        const outBuffers = [];
+        let i = 0;
+        while (i < size && this.pushedBytesLength < this.byteLength) {
+          const remainingDataInAllBuffers = this.byteLength - this.pushedBytesLength;
+          const remainingCapacityInThisBuffer = this.buffers[this.bufferIndex].byteLength - this.byteOffsetInCurrentBuffer;
+          const remaining = Math.min(remainingCapacityInThisBuffer, remainingDataInAllBuffers);
+          if (remaining > size - i) {
+            const end = this.byteOffsetInCurrentBuffer + size - i;
+            outBuffers.push(this.buffers[this.bufferIndex].slice(this.byteOffsetInCurrentBuffer, end));
+            this.pushedBytesLength += size - i;
+            this.byteOffsetInCurrentBuffer = end;
+            i = size;
+            break;
+          } else {
+            const end = this.byteOffsetInCurrentBuffer + remaining;
+            outBuffers.push(this.buffers[this.bufferIndex].slice(this.byteOffsetInCurrentBuffer, end));
+            if (remaining === remainingCapacityInThisBuffer) {
+              this.byteOffsetInCurrentBuffer = 0;
+              this.bufferIndex++;
+            } else {
+              this.byteOffsetInCurrentBuffer = end;
+            }
+            this.pushedBytesLength += remaining;
+            i += remaining;
+          }
+        }
+        if (outBuffers.length > 1) {
+          this.push(Buffer.concat(outBuffers));
+        } else if (outBuffers.length === 1) {
+          this.push(outBuffers[0]);
+        }
+      }
+    };
+    exports2.BuffersStream = BuffersStream;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/sanitizer.js
-var require_sanitizer = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/sanitizer.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/PooledBuffer.js
+var require_PooledBuffer = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/PooledBuffer.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Sanitizer = void 0;
-    var object_js_1 = require_object();
-    var RedactedString = "REDACTED";
-    var defaultAllowedHeaderNames = [
-      "x-ms-client-request-id",
-      "x-ms-return-client-request-id",
-      "x-ms-useragent",
-      "x-ms-correlation-request-id",
-      "x-ms-request-id",
-      "client-request-id",
-      "ms-cv",
-      "return-client-request-id",
-      "traceparent",
-      "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",
-      "Origin",
-      "Accept",
-      "Accept-Encoding",
-      "Cache-Control",
-      "Connection",
-      "Content-Length",
-      "Content-Type",
-      "Date",
-      "ETag",
-      "Expires",
-      "If-Match",
-      "If-Modified-Since",
-      "If-None-Match",
-      "If-Unmodified-Since",
-      "Last-Modified",
-      "Pragma",
-      "Request-Id",
-      "Retry-After",
-      "Server",
-      "Transfer-Encoding",
-      "User-Agent",
-      "WWW-Authenticate"
-    ];
-    var defaultAllowedQueryParameters = ["api-version"];
-    var Sanitizer = class {
-      allowedHeaderNames;
-      allowedQueryParameters;
-      constructor({ additionalAllowedHeaderNames: allowedHeaderNames = [], additionalAllowedQueryParameters: allowedQueryParameters = [] } = {}) {
-        allowedHeaderNames = defaultAllowedHeaderNames.concat(allowedHeaderNames);
-        allowedQueryParameters = defaultAllowedQueryParameters.concat(allowedQueryParameters);
-        this.allowedHeaderNames = new Set(allowedHeaderNames.map((n) => n.toLowerCase()));
-        this.allowedQueryParameters = new Set(allowedQueryParameters.map((p) => p.toLowerCase()));
+    exports2.PooledBuffer = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var BuffersStream_js_1 = require_BuffersStream();
+    var node_buffer_1 = tslib_1.__importDefault(require("node:buffer"));
+    var maxBufferLength = node_buffer_1.default.constants.MAX_LENGTH;
+    var PooledBuffer = class {
+      /**
+       * Internal buffers used to keep the data.
+       * Each buffer has a length of the maxBufferLength except last one.
+       */
+      buffers = [];
+      /**
+       * The total size of internal buffers.
+       */
+      capacity;
+      /**
+       * The total size of data contained in internal buffers.
+       */
+      _size;
+      /**
+       * The size of the data contained in the pooled buffers.
+       */
+      get size() {
+        return this._size;
+      }
+      constructor(capacity, buffers, totalLength) {
+        this.capacity = capacity;
+        this._size = 0;
+        const bufferNum = Math.ceil(capacity / maxBufferLength);
+        for (let i = 0; i < bufferNum; i++) {
+          let len = i === bufferNum - 1 ? capacity % maxBufferLength : maxBufferLength;
+          if (len === 0) {
+            len = maxBufferLength;
+          }
+          this.buffers.push(Buffer.allocUnsafe(len));
+        }
+        if (buffers) {
+          this.fill(buffers, totalLength);
+        }
       }
       /**
-       * Sanitizes an object for logging.
-       * @param obj - The object to sanitize
-       * @returns - The sanitized object as a string
+       * Fill the internal buffers with data in the input buffers serially
+       * with respect to the total length and the total capacity of the internal buffers.
+       * Data copied will be shift out of the input buffers.
+       *
+       * @param buffers - Input buffers containing the data to be filled in the pooled buffer
+       * @param totalLength - Total length of the data to be filled in.
+       *
        */
-      sanitize(obj) {
-        const seen = /* @__PURE__ */ new Set();
-        return JSON.stringify(obj, (key, value) => {
-          if (value instanceof Error) {
-            return {
-              ...value,
-              name: value.name,
-              message: value.message
-            };
+      fill(buffers, totalLength) {
+        this._size = Math.min(this.capacity, totalLength);
+        let i = 0, j = 0, targetOffset = 0, sourceOffset = 0, totalCopiedNum = 0;
+        while (totalCopiedNum < this._size) {
+          const source = buffers[i];
+          const target = this.buffers[j];
+          const copiedNum = source.copy(target, targetOffset, sourceOffset);
+          totalCopiedNum += copiedNum;
+          sourceOffset += copiedNum;
+          targetOffset += copiedNum;
+          if (sourceOffset === source.length) {
+            i++;
+            sourceOffset = 0;
           }
-          if (key === "headers") {
-            return this.sanitizeHeaders(value);
-          } else if (key === "url") {
-            return this.sanitizeUrl(value);
-          } else if (key === "query") {
-            return this.sanitizeQuery(value);
-          } else if (key === "body") {
-            return void 0;
-          } else if (key === "response") {
-            return void 0;
-          } else if (key === "operationSpec") {
-            return void 0;
-          } else if (Array.isArray(value) || (0, object_js_1.isObject)(value)) {
-            if (seen.has(value)) {
-              return "[Circular]";
-            }
-            seen.add(value);
+          if (targetOffset === target.length) {
+            j++;
+            targetOffset = 0;
           }
-          return value;
-        }, 2);
+        }
+        buffers.splice(0, i);
+        if (buffers.length > 0) {
+          buffers[0] = buffers[0].slice(sourceOffset);
+        }
+      }
+      /**
+       * Get the readable stream assembled from all the data in the internal buffers.
+       *
+       */
+      getReadableStream() {
+        return new BuffersStream_js_1.BuffersStream(this.buffers, this.size);
+      }
+    };
+    exports2.PooledBuffer = PooledBuffer;
+  }
+});
+
+// node_modules/@azure/storage-common/dist/commonjs/BufferScheduler.js
+var require_BufferScheduler = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/BufferScheduler.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BufferScheduler = void 0;
+    var events_1 = require("events");
+    var PooledBuffer_js_1 = require_PooledBuffer();
+    var BufferScheduler = class {
+      /**
+       * Size of buffers in incoming and outgoing queues. This class will try to align
+       * data read from Readable stream into buffer chunks with bufferSize defined.
+       */
+      bufferSize;
+      /**
+       * How many buffers can be created or maintained.
+       */
+      maxBuffers;
+      /**
+       * A Node.js Readable stream.
+       */
+      readable;
+      /**
+       * OutgoingHandler is an async function triggered by BufferScheduler when there
+       * are available buffers in outgoing array.
+       */
+      outgoingHandler;
+      /**
+       * An internal event emitter.
+       */
+      emitter = new events_1.EventEmitter();
+      /**
+       * Concurrency of executing outgoingHandlers. (0 lesser than concurrency lesser than or equal to maxBuffers)
+       */
+      concurrency;
+      /**
+       * An internal offset marker to track data offset in bytes of next outgoingHandler.
+       */
+      offset = 0;
+      /**
+       * An internal marker to track whether stream is end.
+       */
+      isStreamEnd = false;
+      /**
+       * An internal marker to track whether stream or outgoingHandler returns error.
+       */
+      isError = false;
+      /**
+       * How many handlers are executing.
+       */
+      executingOutgoingHandlers = 0;
+      /**
+       * Encoding of the input Readable stream which has string data type instead of Buffer.
+       */
+      encoding;
+      /**
+       * How many buffers have been allocated.
+       */
+      numBuffers = 0;
+      /**
+       * Because this class doesn't know how much data every time stream pops, which
+       * is defined by highWaterMarker of the stream. So BufferScheduler will cache
+       * data received from the stream, when data in unresolvedDataArray exceeds the
+       * blockSize defined, it will try to concat a blockSize of buffer, fill into available
+       * buffers from incoming and push to outgoing array.
+       */
+      unresolvedDataArray = [];
+      /**
+       * How much data consisted in unresolvedDataArray.
+       */
+      unresolvedLength = 0;
+      /**
+       * The array includes all the available buffers can be used to fill data from stream.
+       */
+      incoming = [];
+      /**
+       * The array (queue) includes all the buffers filled from stream data.
+       */
+      outgoing = [];
+      /**
+       * Creates an instance of BufferScheduler.
+       *
+       * @param readable - A Node.js Readable stream
+       * @param bufferSize - Buffer size of every maintained buffer
+       * @param maxBuffers - How many buffers can be allocated
+       * @param outgoingHandler - An async function scheduled to be
+       *                                          triggered when a buffer fully filled
+       *                                          with stream data
+       * @param concurrency - Concurrency of executing outgoingHandlers (>0)
+       * @param encoding - [Optional] Encoding of Readable stream when it's a string stream
+       */
+      constructor(readable, bufferSize, maxBuffers, outgoingHandler, concurrency, encoding) {
+        if (bufferSize <= 0) {
+          throw new RangeError(`bufferSize must be larger than 0, current is ${bufferSize}`);
+        }
+        if (maxBuffers <= 0) {
+          throw new RangeError(`maxBuffers must be larger than 0, current is ${maxBuffers}`);
+        }
+        if (concurrency <= 0) {
+          throw new RangeError(`concurrency must be larger than 0, current is ${concurrency}`);
+        }
+        this.bufferSize = bufferSize;
+        this.maxBuffers = maxBuffers;
+        this.readable = readable;
+        this.outgoingHandler = outgoingHandler;
+        this.concurrency = concurrency;
+        this.encoding = encoding;
+      }
+      /**
+       * Start the scheduler, will return error when stream of any of the outgoingHandlers
+       * returns error.
+       *
+       */
+      async do() {
+        return new Promise((resolve3, reject) => {
+          this.readable.on("data", (data) => {
+            data = typeof data === "string" ? Buffer.from(data, this.encoding) : data;
+            this.appendUnresolvedData(data);
+            if (!this.resolveData()) {
+              this.readable.pause();
+            }
+          });
+          this.readable.on("error", (err) => {
+            this.emitter.emit("error", err);
+          });
+          this.readable.on("end", () => {
+            this.isStreamEnd = true;
+            this.emitter.emit("checkEnd");
+          });
+          this.emitter.on("error", (err) => {
+            this.isError = true;
+            this.readable.pause();
+            reject(err);
+          });
+          this.emitter.on("checkEnd", () => {
+            if (this.outgoing.length > 0) {
+              this.triggerOutgoingHandlers();
+              return;
+            }
+            if (this.isStreamEnd && this.executingOutgoingHandlers === 0) {
+              if (this.unresolvedLength > 0 && this.unresolvedLength < this.bufferSize) {
+                const buffer = this.shiftBufferFromUnresolvedDataArray();
+                this.outgoingHandler(() => buffer.getReadableStream(), buffer.size, this.offset).then(resolve3).catch(reject);
+              } else if (this.unresolvedLength >= this.bufferSize) {
+                return;
+              } else {
+                resolve3();
+              }
+            }
+          });
+        });
+      }
+      /**
+       * Insert a new data into unresolved array.
+       *
+       * @param data -
+       */
+      appendUnresolvedData(data) {
+        this.unresolvedDataArray.push(data);
+        this.unresolvedLength += data.length;
       }
       /**
-       * Sanitizes a URL for logging.
-       * @param value - The URL to sanitize
-       * @returns - The sanitized URL as a string
+       * Try to shift a buffer with size in blockSize. The buffer returned may be less
+       * than blockSize when data in unresolvedDataArray is less than bufferSize.
+       *
        */
-      sanitizeUrl(value) {
-        if (typeof value !== "string" || value === null || value === "") {
-          return value;
-        }
-        const url = new URL(value);
-        if (!url.search) {
-          return value;
-        }
-        for (const [key] of url.searchParams) {
-          if (!this.allowedQueryParameters.has(key.toLowerCase())) {
-            url.searchParams.set(key, RedactedString);
-          }
+      shiftBufferFromUnresolvedDataArray(buffer) {
+        if (!buffer) {
+          buffer = new PooledBuffer_js_1.PooledBuffer(this.bufferSize, this.unresolvedDataArray, this.unresolvedLength);
+        } else {
+          buffer.fill(this.unresolvedDataArray, this.unresolvedLength);
         }
-        return url.toString();
+        this.unresolvedLength -= buffer.size;
+        return buffer;
       }
-      sanitizeHeaders(obj) {
-        const sanitized = {};
-        for (const key of Object.keys(obj)) {
-          if (this.allowedHeaderNames.has(key.toLowerCase())) {
-            sanitized[key] = obj[key];
+      /**
+       * Resolve data in unresolvedDataArray. For every buffer with size in blockSize
+       * shifted, it will try to get (or allocate a buffer) from incoming, and fill it,
+       * then push it into outgoing to be handled by outgoing handler.
+       *
+       * Return false when available buffers in incoming are not enough, else true.
+       *
+       * @returns Return false when buffers in incoming are not enough, else true.
+       */
+      resolveData() {
+        while (this.unresolvedLength >= this.bufferSize) {
+          let buffer;
+          if (this.incoming.length > 0) {
+            buffer = this.incoming.shift();
+            this.shiftBufferFromUnresolvedDataArray(buffer);
           } else {
-            sanitized[key] = RedactedString;
+            if (this.numBuffers < this.maxBuffers) {
+              buffer = this.shiftBufferFromUnresolvedDataArray();
+              this.numBuffers++;
+            } else {
+              return false;
+            }
           }
+          this.outgoing.push(buffer);
+          this.triggerOutgoingHandlers();
         }
-        return sanitized;
+        return true;
       }
-      sanitizeQuery(value) {
-        if (typeof value !== "object" || value === null) {
-          return value;
-        }
-        const sanitized = {};
-        for (const k of Object.keys(value)) {
-          if (this.allowedQueryParameters.has(k.toLowerCase())) {
-            sanitized[k] = value[k];
-          } else {
-            sanitized[k] = RedactedString;
+      /**
+       * Try to trigger a outgoing handler for every buffer in outgoing. Stop when
+       * concurrency reaches.
+       */
+      async triggerOutgoingHandlers() {
+        let buffer;
+        do {
+          if (this.executingOutgoingHandlers >= this.concurrency) {
+            return;
+          }
+          buffer = this.outgoing.shift();
+          if (buffer) {
+            this.triggerOutgoingHandler(buffer);
           }
+        } while (buffer);
+      }
+      /**
+       * Trigger a outgoing handler for a buffer shifted from outgoing.
+       *
+       * @param buffer -
+       */
+      async triggerOutgoingHandler(buffer) {
+        const bufferLength = buffer.size;
+        this.executingOutgoingHandlers++;
+        this.offset += bufferLength;
+        try {
+          await this.outgoingHandler(() => buffer.getReadableStream(), bufferLength, this.offset - bufferLength);
+        } catch (err) {
+          this.emitter.emit("error", err);
+          return;
+        }
+        this.executingOutgoingHandlers--;
+        this.reuseBuffer(buffer);
+        this.emitter.emit("checkEnd");
+      }
+      /**
+       * Return buffer used by outgoing handler into incoming.
+       *
+       * @param buffer -
+       */
+      reuseBuffer(buffer) {
+        this.incoming.push(buffer);
+        if (!this.isError && this.resolveData() && !this.isStreamEnd) {
+          this.readable.resume();
         }
-        return sanitized;
       }
     };
-    exports2.Sanitizer = Sanitizer;
+    exports2.BufferScheduler = BufferScheduler;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/restError.js
-var require_restError = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/restError.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/cache.js
+var require_cache3 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/cache.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.RestError = void 0;
-    exports2.isRestError = isRestError;
-    var error_js_1 = require_error();
-    var inspect_js_1 = require_inspect();
-    var sanitizer_js_1 = require_sanitizer();
-    var errorSanitizer = new sanitizer_js_1.Sanitizer();
-    var RestError = class _RestError extends Error {
-      /**
-       * Something went wrong when making the request.
-       * This means the actual request failed for some reason,
-       * such as a DNS issue or the connection being lost.
-       */
-      static REQUEST_SEND_ERROR = "REQUEST_SEND_ERROR";
-      /**
-       * This means that parsing the response from the server failed.
-       * It may have been malformed.
-       */
-      static PARSE_ERROR = "PARSE_ERROR";
-      /**
-       * The code of the error itself (use statics on RestError if possible.)
-       */
-      code;
-      /**
-       * The HTTP status code of the request (if applicable.)
-       */
-      statusCode;
+    exports2.getCachedDefaultHttpClient = getCachedDefaultHttpClient;
+    var core_rest_pipeline_1 = require_commonjs6();
+    var _defaultHttpClient;
+    function getCachedDefaultHttpClient() {
+      if (!_defaultHttpClient) {
+        _defaultHttpClient = (0, core_rest_pipeline_1.createDefaultHttpClient)();
+      }
+      return _defaultHttpClient;
+    }
+  }
+});
+
+// node_modules/@azure/storage-common/dist/commonjs/policies/RequestPolicy.js
+var require_RequestPolicy2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/RequestPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BaseRequestPolicy = void 0;
+    var BaseRequestPolicy = class {
+      _nextPolicy;
+      _options;
       /**
-       * The request that was made.
-       * This property is non-enumerable.
+       * The main method to implement that manipulates a request/response.
        */
-      request;
+      constructor(_nextPolicy, _options) {
+        this._nextPolicy = _nextPolicy;
+        this._options = _options;
+      }
       /**
-       * The response received (if any.)
-       * This property is non-enumerable.
+       * Get whether or not a log with the provided log level should be logged.
+       * @param logLevel - The log level of the log that will be logged.
+       * @returns Whether or not a log with the provided log level should be logged.
        */
-      response;
+      shouldLog(logLevel) {
+        return this._options.shouldLog(logLevel);
+      }
       /**
-       * Bonus property set by the throw site.
+       * Attempt to log the provided message to the provided logger. If no logger was provided or if
+       * the log level does not meat the logger's threshold, then nothing will be logged.
+       * @param logLevel - The log level of this log.
+       * @param message - The message of this log.
        */
-      details;
-      constructor(message, options = {}) {
-        super(message);
-        this.name = "RestError";
-        this.code = options.code;
-        this.statusCode = options.statusCode;
-        Object.defineProperty(this, "request", { value: options.request, enumerable: false });
-        Object.defineProperty(this, "response", { value: options.response, enumerable: false });
-        const agent = this.request?.agent ? {
-          maxFreeSockets: this.request.agent.maxFreeSockets,
-          maxSockets: this.request.agent.maxSockets
-        } : void 0;
-        Object.defineProperty(this, inspect_js_1.custom, {
-          value: () => {
-            return `RestError: ${this.message} 
- ${errorSanitizer.sanitize({
-              ...this,
-              request: { ...this.request, agent },
-              response: this.response
-            })}`;
-          },
-          enumerable: false
-        });
-        Object.setPrototypeOf(this, _RestError.prototype);
+      log(logLevel, message) {
+        this._options.log(logLevel, message);
       }
     };
-    exports2.RestError = RestError;
-    function isRestError(e) {
-      if (e instanceof RestError) {
-        return true;
-      }
-      return (0, error_js_1.isError)(e) && e.name === "RestError";
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/bytesEncoding.js
-var require_bytesEncoding = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/bytesEncoding.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.uint8ArrayToString = uint8ArrayToString;
-    exports2.stringToUint8Array = stringToUint8Array;
-    function uint8ArrayToString(bytes, format) {
-      return Buffer.from(bytes).toString(format);
-    }
-    function stringToUint8Array(value, format) {
-      return Buffer.from(value, format);
-    }
+    exports2.BaseRequestPolicy = BaseRequestPolicy;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/log.js
-var require_log2 = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/log.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/utils/constants.js
+var require_constants16 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/utils/constants.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.logger = void 0;
-    var logger_js_1 = require_logger();
-    exports2.logger = (0, logger_js_1.createClientLogger)("ts-http-runtime");
+    exports2.PathStylePorts = exports2.DevelopmentConnectionString = exports2.HeaderConstants = exports2.URLConstants = exports2.SDK_VERSION = void 0;
+    exports2.SDK_VERSION = "1.0.0";
+    exports2.URLConstants = {
+      Parameters: {
+        FORCE_BROWSER_NO_CACHE: "_",
+        SIGNATURE: "sig",
+        SNAPSHOT: "snapshot",
+        VERSIONID: "versionid",
+        TIMEOUT: "timeout"
+      }
+    };
+    exports2.HeaderConstants = {
+      AUTHORIZATION: "Authorization",
+      AUTHORIZATION_SCHEME: "Bearer",
+      CONTENT_ENCODING: "Content-Encoding",
+      CONTENT_ID: "Content-ID",
+      CONTENT_LANGUAGE: "Content-Language",
+      CONTENT_LENGTH: "Content-Length",
+      CONTENT_MD5: "Content-Md5",
+      CONTENT_TRANSFER_ENCODING: "Content-Transfer-Encoding",
+      CONTENT_TYPE: "Content-Type",
+      COOKIE: "Cookie",
+      DATE: "date",
+      IF_MATCH: "if-match",
+      IF_MODIFIED_SINCE: "if-modified-since",
+      IF_NONE_MATCH: "if-none-match",
+      IF_UNMODIFIED_SINCE: "if-unmodified-since",
+      PREFIX_FOR_STORAGE: "x-ms-",
+      RANGE: "Range",
+      USER_AGENT: "User-Agent",
+      X_MS_CLIENT_REQUEST_ID: "x-ms-client-request-id",
+      X_MS_COPY_SOURCE: "x-ms-copy-source",
+      X_MS_DATE: "x-ms-date",
+      X_MS_ERROR_CODE: "x-ms-error-code",
+      X_MS_VERSION: "x-ms-version",
+      X_MS_CopySourceErrorCode: "x-ms-copy-source-error-code"
+    };
+    exports2.DevelopmentConnectionString = `DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;`;
+    exports2.PathStylePorts = [
+      "10000",
+      "10001",
+      "10002",
+      "10003",
+      "10004",
+      "10100",
+      "10101",
+      "10102",
+      "10103",
+      "10104",
+      "11000",
+      "11001",
+      "11002",
+      "11003",
+      "11004",
+      "11100",
+      "11101",
+      "11102",
+      "11103",
+      "11104"
+    ];
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/nodeHttpClient.js
-var require_nodeHttpClient = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/nodeHttpClient.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/utils/utils.common.js
+var require_utils_common2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/utils/utils.common.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getBodyLength = getBodyLength;
-    exports2.createNodeHttpClient = createNodeHttpClient;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var node_http_1 = tslib_1.__importDefault(require("node:http"));
-    var node_https_1 = tslib_1.__importDefault(require("node:https"));
-    var node_zlib_1 = tslib_1.__importDefault(require("node:zlib"));
-    var node_stream_1 = require("node:stream");
-    var AbortError_js_1 = require_AbortError();
-    var httpHeaders_js_1 = require_httpHeaders();
-    var restError_js_1 = require_restError();
-    var log_js_1 = require_log2();
-    var sanitizer_js_1 = require_sanitizer();
-    var DEFAULT_TLS_SETTINGS = {};
-    function isReadableStream(body) {
-      return body && typeof body.pipe === "function";
-    }
-    function isStreamComplete(stream) {
-      if (stream.readable === false) {
-        return Promise.resolve();
-      }
-      return new Promise((resolve3) => {
-        const handler2 = () => {
-          resolve3();
-          stream.removeListener("close", handler2);
-          stream.removeListener("end", handler2);
-          stream.removeListener("error", handler2);
-        };
-        stream.on("close", handler2);
-        stream.on("end", handler2);
-        stream.on("error", handler2);
-      });
-    }
-    function isArrayBuffer(body) {
-      return body && typeof body.byteLength === "number";
+    exports2.escapeURLPath = escapeURLPath;
+    exports2.getValueInConnString = getValueInConnString;
+    exports2.extractConnectionStringParts = extractConnectionStringParts;
+    exports2.appendToURLPath = appendToURLPath;
+    exports2.setURLParameter = setURLParameter;
+    exports2.getURLParameter = getURLParameter;
+    exports2.setURLHost = setURLHost;
+    exports2.getURLPath = getURLPath;
+    exports2.getURLScheme = getURLScheme;
+    exports2.getURLPathAndQuery = getURLPathAndQuery;
+    exports2.getURLQueries = getURLQueries;
+    exports2.appendToURLQuery = appendToURLQuery;
+    exports2.truncatedISO8061Date = truncatedISO8061Date;
+    exports2.base64encode = base64encode;
+    exports2.base64decode = base64decode;
+    exports2.generateBlockID = generateBlockID;
+    exports2.delay = delay;
+    exports2.padStart = padStart2;
+    exports2.sanitizeURL = sanitizeURL;
+    exports2.sanitizeHeaders = sanitizeHeaders;
+    exports2.iEqual = iEqual;
+    exports2.getAccountNameFromUrl = getAccountNameFromUrl;
+    exports2.isIpEndpointStyle = isIpEndpointStyle;
+    exports2.attachCredential = attachCredential;
+    exports2.httpAuthorizationToString = httpAuthorizationToString;
+    exports2.EscapePath = EscapePath;
+    exports2.assertResponse = assertResponse;
+    var core_rest_pipeline_1 = require_commonjs6();
+    var core_util_1 = require_commonjs4();
+    var constants_js_1 = require_constants16();
+    function escapeURLPath(url) {
+      const urlParsed = new URL(url);
+      let path4 = urlParsed.pathname;
+      path4 = path4 || "/";
+      path4 = escape(path4);
+      urlParsed.pathname = path4;
+      return urlParsed.toString();
     }
-    var ReportTransform = class extends node_stream_1.Transform {
-      loadedBytes = 0;
-      progressCallback;
-      // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
-      _transform(chunk, _encoding, callback) {
-        this.push(chunk);
-        this.loadedBytes += chunk.length;
-        try {
-          this.progressCallback({ loadedBytes: this.loadedBytes });
-          callback();
-        } catch (e) {
-          callback(e);
-        }
-      }
-      constructor(progressCallback) {
-        super();
-        this.progressCallback = progressCallback;
-      }
-    };
-    var NodeHttpClient = class {
-      cachedHttpAgent;
-      cachedHttpsAgents = /* @__PURE__ */ new WeakMap();
-      /**
-       * Makes a request over an underlying transport layer and returns the response.
-       * @param request - The request to be made.
-       */
-      async sendRequest(request2) {
-        const abortController = new AbortController();
-        let abortListener;
-        if (request2.abortSignal) {
-          if (request2.abortSignal.aborted) {
-            throw new AbortError_js_1.AbortError("The operation was aborted. Request has already been canceled.");
-          }
-          abortListener = (event) => {
-            if (event.type === "abort") {
-              abortController.abort();
-            }
-          };
-          request2.abortSignal.addEventListener("abort", abortListener);
-        }
-        let timeoutId;
-        if (request2.timeout > 0) {
-          timeoutId = setTimeout(() => {
-            const sanitizer = new sanitizer_js_1.Sanitizer();
-            log_js_1.logger.info(`request to '${sanitizer.sanitizeUrl(request2.url)}' timed out. canceling...`);
-            abortController.abort();
-          }, request2.timeout);
-        }
-        const acceptEncoding = request2.headers.get("Accept-Encoding");
-        const shouldDecompress = acceptEncoding?.includes("gzip") || acceptEncoding?.includes("deflate");
-        let body = typeof request2.body === "function" ? request2.body() : request2.body;
-        if (body && !request2.headers.has("Content-Length")) {
-          const bodyLength = getBodyLength(body);
-          if (bodyLength !== null) {
-            request2.headers.set("Content-Length", bodyLength);
-          }
-        }
-        let responseStream;
-        try {
-          if (body && request2.onUploadProgress) {
-            const onUploadProgress = request2.onUploadProgress;
-            const uploadReportStream = new ReportTransform(onUploadProgress);
-            uploadReportStream.on("error", (e) => {
-              log_js_1.logger.error("Error in upload progress", e);
-            });
-            if (isReadableStream(body)) {
-              body.pipe(uploadReportStream);
-            } else {
-              uploadReportStream.end(body);
-            }
-            body = uploadReportStream;
-          }
-          const res = await this.makeRequest(request2, abortController, body);
-          if (timeoutId !== void 0) {
-            clearTimeout(timeoutId);
-          }
-          const headers = getResponseHeaders(res);
-          const status = res.statusCode ?? 0;
-          const response = {
-            status,
-            headers,
-            request: request2
-          };
-          if (request2.method === "HEAD") {
-            res.resume();
-            return response;
-          }
-          responseStream = shouldDecompress ? getDecodedResponseStream(res, headers) : res;
-          const onDownloadProgress = request2.onDownloadProgress;
-          if (onDownloadProgress) {
-            const downloadReportStream = new ReportTransform(onDownloadProgress);
-            downloadReportStream.on("error", (e) => {
-              log_js_1.logger.error("Error in download progress", e);
-            });
-            responseStream.pipe(downloadReportStream);
-            responseStream = downloadReportStream;
-          }
-          if (
-            // Value of POSITIVE_INFINITY in streamResponseStatusCodes is considered as any status code
-            request2.streamResponseStatusCodes?.has(Number.POSITIVE_INFINITY) || request2.streamResponseStatusCodes?.has(response.status)
-          ) {
-            response.readableStreamBody = responseStream;
-          } else {
-            response.bodyAsText = await streamToText(responseStream);
-          }
-          return response;
-        } finally {
-          if (request2.abortSignal && abortListener) {
-            let uploadStreamDone = Promise.resolve();
-            if (isReadableStream(body)) {
-              uploadStreamDone = isStreamComplete(body);
-            }
-            let downloadStreamDone = Promise.resolve();
-            if (isReadableStream(responseStream)) {
-              downloadStreamDone = isStreamComplete(responseStream);
-            }
-            Promise.all([uploadStreamDone, downloadStreamDone]).then(() => {
-              if (abortListener) {
-                request2.abortSignal?.removeEventListener("abort", abortListener);
-              }
-            }).catch((e) => {
-              log_js_1.logger.warning("Error when cleaning up abortListener on httpRequest", e);
-            });
+    function getProxyUriFromDevConnString(connectionString) {
+      let proxyUri = "";
+      if (connectionString.search("DevelopmentStorageProxyUri=") !== -1) {
+        const matchCredentials = connectionString.split(";");
+        for (const element of matchCredentials) {
+          if (element.trim().startsWith("DevelopmentStorageProxyUri=")) {
+            proxyUri = element.trim().match("DevelopmentStorageProxyUri=(.*)")[1];
           }
         }
       }
-      makeRequest(request2, abortController, body) {
-        const url = new URL(request2.url);
-        const isInsecure = url.protocol !== "https:";
-        if (isInsecure && !request2.allowInsecureConnection) {
-          throw new Error(`Cannot connect to ${request2.url} while allowInsecureConnection is false.`);
+      return proxyUri;
+    }
+    function getValueInConnString(connectionString, argument) {
+      const elements = connectionString.split(";");
+      for (const element of elements) {
+        if (element.trim().startsWith(argument)) {
+          return element.trim().match(argument + "=(.*)")[1];
         }
-        const agent = request2.agent ?? this.getOrCreateAgent(request2, isInsecure);
-        const options = {
-          agent,
-          hostname: url.hostname,
-          path: `${url.pathname}${url.search}`,
-          port: url.port,
-          method: request2.method,
-          headers: request2.headers.toJSON({ preserveCase: true }),
-          ...request2.requestOverrides
-        };
-        return new Promise((resolve3, reject) => {
-          const req = isInsecure ? node_http_1.default.request(options, resolve3) : node_https_1.default.request(options, resolve3);
-          req.once("error", (err) => {
-            reject(new restError_js_1.RestError(err.message, { code: err.code ?? restError_js_1.RestError.REQUEST_SEND_ERROR, request: request2 }));
-          });
-          abortController.signal.addEventListener("abort", () => {
-            const abortError = new AbortError_js_1.AbortError("The operation was aborted. Rejecting from abort signal callback while making request.");
-            req.destroy(abortError);
-            reject(abortError);
-          });
-          if (body && isReadableStream(body)) {
-            body.pipe(req);
-          } else if (body) {
-            if (typeof body === "string" || Buffer.isBuffer(body)) {
-              req.end(body);
-            } else if (isArrayBuffer(body)) {
-              req.end(ArrayBuffer.isView(body) ? Buffer.from(body.buffer) : Buffer.from(body));
-            } else {
-              log_js_1.logger.error("Unrecognized body type", body);
-              reject(new restError_js_1.RestError("Unrecognized body type"));
-            }
-          } else {
-            req.end();
-          }
-        });
       }
-      getOrCreateAgent(request2, isInsecure) {
-        const disableKeepAlive = request2.disableKeepAlive;
-        if (isInsecure) {
-          if (disableKeepAlive) {
-            return node_http_1.default.globalAgent;
-          }
-          if (!this.cachedHttpAgent) {
-            this.cachedHttpAgent = new node_http_1.default.Agent({ keepAlive: true });
-          }
-          return this.cachedHttpAgent;
-        } else {
-          if (disableKeepAlive && !request2.tlsSettings) {
-            return node_https_1.default.globalAgent;
+      return "";
+    }
+    function extractConnectionStringParts(connectionString) {
+      let proxyUri = "";
+      if (connectionString.startsWith("UseDevelopmentStorage=true")) {
+        proxyUri = getProxyUriFromDevConnString(connectionString);
+        connectionString = constants_js_1.DevelopmentConnectionString;
+      }
+      let blobEndpoint = getValueInConnString(connectionString, "BlobEndpoint");
+      blobEndpoint = blobEndpoint.endsWith("/") ? blobEndpoint.slice(0, -1) : blobEndpoint;
+      if (connectionString.search("DefaultEndpointsProtocol=") !== -1 && connectionString.search("AccountKey=") !== -1) {
+        let defaultEndpointsProtocol = "";
+        let accountName = "";
+        let accountKey = Buffer.from("accountKey", "base64");
+        let endpointSuffix = "";
+        accountName = getValueInConnString(connectionString, "AccountName");
+        accountKey = Buffer.from(getValueInConnString(connectionString, "AccountKey"), "base64");
+        if (!blobEndpoint) {
+          defaultEndpointsProtocol = getValueInConnString(connectionString, "DefaultEndpointsProtocol");
+          const protocol = defaultEndpointsProtocol.toLowerCase();
+          if (protocol !== "https" && protocol !== "http") {
+            throw new Error("Invalid DefaultEndpointsProtocol in the provided Connection String. Expecting 'https' or 'http'");
           }
-          const tlsSettings = request2.tlsSettings ?? DEFAULT_TLS_SETTINGS;
-          let agent = this.cachedHttpsAgents.get(tlsSettings);
-          if (agent && agent.options.keepAlive === !disableKeepAlive) {
-            return agent;
+          endpointSuffix = getValueInConnString(connectionString, "EndpointSuffix");
+          if (!endpointSuffix) {
+            throw new Error("Invalid EndpointSuffix in the provided Connection String");
           }
-          log_js_1.logger.info("No cached TLS Agent exist, creating a new Agent");
-          agent = new node_https_1.default.Agent({
-            // keepAlive is true if disableKeepAlive is false.
-            keepAlive: !disableKeepAlive,
-            // Since we are spreading, if no tslSettings were provided, nothing is added to the agent options.
-            ...tlsSettings
-          });
-          this.cachedHttpsAgents.set(tlsSettings, agent);
-          return agent;
+          blobEndpoint = `${defaultEndpointsProtocol}://${accountName}.blob.${endpointSuffix}`;
+        }
+        if (!accountName) {
+          throw new Error("Invalid AccountName in the provided Connection String");
+        } else if (accountKey.length === 0) {
+          throw new Error("Invalid AccountKey in the provided Connection String");
+        }
+        return {
+          kind: "AccountConnString",
+          url: blobEndpoint,
+          accountName,
+          accountKey,
+          proxyUri
+        };
+      } else {
+        let accountSas = getValueInConnString(connectionString, "SharedAccessSignature");
+        let accountName = getValueInConnString(connectionString, "AccountName");
+        if (!accountName) {
+          accountName = getAccountNameFromUrl(blobEndpoint);
+        }
+        if (!blobEndpoint) {
+          throw new Error("Invalid BlobEndpoint in the provided SAS Connection String");
+        } else if (!accountSas) {
+          throw new Error("Invalid SharedAccessSignature in the provided SAS Connection String");
+        }
+        if (accountSas.startsWith("?")) {
+          accountSas = accountSas.substring(1);
         }
+        return { kind: "SASConnString", url: blobEndpoint, accountName, accountSas };
       }
-    };
-    function getResponseHeaders(res) {
-      const headers = (0, httpHeaders_js_1.createHttpHeaders)();
-      for (const header of Object.keys(res.headers)) {
-        const value = res.headers[header];
-        if (Array.isArray(value)) {
-          if (value.length > 0) {
-            headers.set(header, value[0]);
+    }
+    function escape(text) {
+      return encodeURIComponent(text).replace(/%2F/g, "/").replace(/'/g, "%27").replace(/\+/g, "%20").replace(/%25/g, "%");
+    }
+    function appendToURLPath(url, name) {
+      const urlParsed = new URL(url);
+      let path4 = urlParsed.pathname;
+      path4 = path4 ? path4.endsWith("/") ? `${path4}${name}` : `${path4}/${name}` : name;
+      urlParsed.pathname = path4;
+      return urlParsed.toString();
+    }
+    function setURLParameter(url, name, value) {
+      const urlParsed = new URL(url);
+      const encodedName = encodeURIComponent(name);
+      const encodedValue = value ? encodeURIComponent(value) : void 0;
+      const searchString = urlParsed.search === "" ? "?" : urlParsed.search;
+      const searchPieces = [];
+      for (const pair of searchString.slice(1).split("&")) {
+        if (pair) {
+          const [key] = pair.split("=", 2);
+          if (key !== encodedName) {
+            searchPieces.push(pair);
           }
-        } else if (value) {
-          headers.set(header, value);
         }
       }
-      return headers;
+      if (encodedValue) {
+        searchPieces.push(`${encodedName}=${encodedValue}`);
+      }
+      urlParsed.search = searchPieces.length ? `?${searchPieces.join("&")}` : "";
+      return urlParsed.toString();
     }
-    function getDecodedResponseStream(stream, headers) {
-      const contentEncoding = headers.get("Content-Encoding");
-      if (contentEncoding === "gzip") {
-        const unzip = node_zlib_1.default.createGunzip();
-        stream.pipe(unzip);
-        return unzip;
-      } else if (contentEncoding === "deflate") {
-        const inflate = node_zlib_1.default.createInflate();
-        stream.pipe(inflate);
-        return inflate;
+    function getURLParameter(url, name) {
+      const urlParsed = new URL(url);
+      return urlParsed.searchParams.get(name) ?? void 0;
+    }
+    function setURLHost(url, host) {
+      const urlParsed = new URL(url);
+      urlParsed.hostname = host;
+      return urlParsed.toString();
+    }
+    function getURLPath(url) {
+      try {
+        const urlParsed = new URL(url);
+        return urlParsed.pathname;
+      } catch (e) {
+        return void 0;
       }
-      return stream;
     }
-    function streamToText(stream) {
+    function getURLScheme(url) {
+      try {
+        const urlParsed = new URL(url);
+        return urlParsed.protocol.endsWith(":") ? urlParsed.protocol.slice(0, -1) : urlParsed.protocol;
+      } catch (e) {
+        return void 0;
+      }
+    }
+    function getURLPathAndQuery(url) {
+      const urlParsed = new URL(url);
+      const pathString = urlParsed.pathname;
+      if (!pathString) {
+        throw new RangeError("Invalid url without valid path.");
+      }
+      let queryString = urlParsed.search || "";
+      queryString = queryString.trim();
+      if (queryString !== "") {
+        queryString = queryString.startsWith("?") ? queryString : `?${queryString}`;
+      }
+      return `${pathString}${queryString}`;
+    }
+    function getURLQueries(url) {
+      let queryString = new URL(url).search;
+      if (!queryString) {
+        return {};
+      }
+      queryString = queryString.trim();
+      queryString = queryString.startsWith("?") ? queryString.substring(1) : queryString;
+      let querySubStrings = queryString.split("&");
+      querySubStrings = querySubStrings.filter((value) => {
+        const indexOfEqual = value.indexOf("=");
+        const lastIndexOfEqual = value.lastIndexOf("=");
+        return indexOfEqual > 0 && indexOfEqual === lastIndexOfEqual && lastIndexOfEqual < value.length - 1;
+      });
+      const queries = {};
+      for (const querySubString of querySubStrings) {
+        const splitResults = querySubString.split("=");
+        const key = splitResults[0];
+        const value = splitResults[1];
+        queries[key] = value;
+      }
+      return queries;
+    }
+    function appendToURLQuery(url, queryParts) {
+      const urlParsed = new URL(url);
+      let query = urlParsed.search;
+      if (query) {
+        query += "&" + queryParts;
+      } else {
+        query = queryParts;
+      }
+      urlParsed.search = query;
+      return urlParsed.toString();
+    }
+    function truncatedISO8061Date(date, withMilliseconds = true) {
+      const dateString = date.toISOString();
+      return withMilliseconds ? dateString.substring(0, dateString.length - 1) + "0000Z" : dateString.substring(0, dateString.length - 5) + "Z";
+    }
+    function base64encode(content) {
+      return !core_util_1.isNodeLike ? btoa(content) : Buffer.from(content).toString("base64");
+    }
+    function base64decode(encodedString) {
+      return !core_util_1.isNodeLike ? atob(encodedString) : Buffer.from(encodedString, "base64").toString();
+    }
+    function generateBlockID(blockIDPrefix, blockIndex) {
+      const maxSourceStringLength = 48;
+      const maxBlockIndexLength = 6;
+      const maxAllowedBlockIDPrefixLength = maxSourceStringLength - maxBlockIndexLength;
+      if (blockIDPrefix.length > maxAllowedBlockIDPrefixLength) {
+        blockIDPrefix = blockIDPrefix.slice(0, maxAllowedBlockIDPrefixLength);
+      }
+      const res = blockIDPrefix + padStart2(blockIndex.toString(), maxSourceStringLength - blockIDPrefix.length, "0");
+      return base64encode(res);
+    }
+    async function delay(timeInMs, aborter, abortError) {
       return new Promise((resolve3, reject) => {
-        const buffer = [];
-        stream.on("data", (chunk) => {
-          if (Buffer.isBuffer(chunk)) {
-            buffer.push(chunk);
-          } else {
-            buffer.push(Buffer.from(chunk));
+        let timeout;
+        const abortHandler = () => {
+          if (timeout !== void 0) {
+            clearTimeout(timeout);
           }
-        });
-        stream.on("end", () => {
-          resolve3(Buffer.concat(buffer).toString("utf8"));
-        });
-        stream.on("error", (e) => {
-          if (e && e?.name === "AbortError") {
-            reject(e);
-          } else {
-            reject(new restError_js_1.RestError(`Error reading response as text: ${e.message}`, {
-              code: restError_js_1.RestError.PARSE_ERROR
-            }));
+          reject(abortError);
+        };
+        const resolveHandler = () => {
+          if (aborter !== void 0) {
+            aborter.removeEventListener("abort", abortHandler);
           }
-        });
+          resolve3();
+        };
+        timeout = setTimeout(resolveHandler, timeInMs);
+        if (aborter !== void 0) {
+          aborter.addEventListener("abort", abortHandler);
+        }
       });
     }
-    function getBodyLength(body) {
-      if (!body) {
-        return 0;
-      } else if (Buffer.isBuffer(body)) {
-        return body.length;
-      } else if (isReadableStream(body)) {
-        return null;
-      } else if (isArrayBuffer(body)) {
-        return body.byteLength;
-      } else if (typeof body === "string") {
-        return Buffer.from(body).length;
+    function padStart2(currentString, targetLength, padString = " ") {
+      if (String.prototype.padStart) {
+        return currentString.padStart(targetLength, padString);
+      }
+      padString = padString || " ";
+      if (currentString.length > targetLength) {
+        return currentString;
       } else {
-        return null;
+        targetLength = targetLength - currentString.length;
+        if (targetLength > padString.length) {
+          padString += padString.repeat(targetLength / padString.length);
+        }
+        return padString.slice(0, targetLength) + currentString;
       }
     }
-    function createNodeHttpClient() {
-      return new NodeHttpClient();
+    function sanitizeURL(url) {
+      let safeURL = url;
+      if (getURLParameter(safeURL, constants_js_1.URLConstants.Parameters.SIGNATURE)) {
+        safeURL = setURLParameter(safeURL, constants_js_1.URLConstants.Parameters.SIGNATURE, "*****");
+      }
+      return safeURL;
+    }
+    function sanitizeHeaders(originalHeader) {
+      const headers = (0, core_rest_pipeline_1.createHttpHeaders)();
+      for (const [name, value] of originalHeader) {
+        if (name.toLowerCase() === constants_js_1.HeaderConstants.AUTHORIZATION.toLowerCase()) {
+          headers.set(name, "*****");
+        } else if (name.toLowerCase() === constants_js_1.HeaderConstants.X_MS_COPY_SOURCE) {
+          headers.set(name, sanitizeURL(value));
+        } else {
+          headers.set(name, value);
+        }
+      }
+      return headers;
+    }
+    function iEqual(str1, str2) {
+      return str1.toLocaleLowerCase() === str2.toLocaleLowerCase();
+    }
+    function getAccountNameFromUrl(url) {
+      const parsedUrl = new URL(url);
+      let accountName;
+      try {
+        if (parsedUrl.hostname.split(".")[1] === "blob") {
+          accountName = parsedUrl.hostname.split(".")[0];
+        } else if (isIpEndpointStyle(parsedUrl)) {
+          accountName = parsedUrl.pathname.split("/")[1];
+        } else {
+          accountName = "";
+        }
+        return accountName;
+      } catch (error3) {
+        throw new Error("Unable to extract accountName with provided information.");
+      }
+    }
+    function isIpEndpointStyle(parsedUrl) {
+      const host = parsedUrl.host;
+      return /^.*:.*:.*$|^(localhost|host.docker.internal)(:[0-9]+)?$|^(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])){3}(:[0-9]+)?$/.test(host) || Boolean(parsedUrl.port) && constants_js_1.PathStylePorts.includes(parsedUrl.port);
+    }
+    function attachCredential(thing, credential) {
+      thing.credential = credential;
+      return thing;
+    }
+    function httpAuthorizationToString(httpAuthorization) {
+      return httpAuthorization ? httpAuthorization.scheme + " " + httpAuthorization.value : void 0;
+    }
+    function EscapePath(blobName) {
+      const split = blobName.split("/");
+      for (let i = 0; i < split.length; i++) {
+        split[i] = encodeURIComponent(split[i]);
+      }
+      return split.join("/");
+    }
+    function assertResponse(response) {
+      if (`_response` in response) {
+        return response;
+      }
+      throw new TypeError(`Unexpected response object ${response}`);
     }
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/defaultHttpClient.js
-var require_defaultHttpClient = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/defaultHttpClient.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/policies/StorageBrowserPolicy.js
+var require_StorageBrowserPolicy = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageBrowserPolicy.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createDefaultHttpClient = createDefaultHttpClient;
-    var nodeHttpClient_js_1 = require_nodeHttpClient();
-    function createDefaultHttpClient() {
-      return (0, nodeHttpClient_js_1.createNodeHttpClient)();
-    }
+    exports2.StorageBrowserPolicy = void 0;
+    var RequestPolicy_js_1 = require_RequestPolicy2();
+    var core_util_1 = require_commonjs4();
+    var constants_js_1 = require_constants16();
+    var utils_common_js_1 = require_utils_common2();
+    var StorageBrowserPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
+      /**
+       * Creates an instance of StorageBrowserPolicy.
+       * @param nextPolicy -
+       * @param options -
+       */
+      // The base class has a protected constructor. Adding a public one to enable constructing of this class.
+      /* eslint-disable-next-line @typescript-eslint/no-useless-constructor*/
+      constructor(nextPolicy, options) {
+        super(nextPolicy, options);
+      }
+      /**
+       * Sends out request.
+       *
+       * @param request -
+       */
+      async sendRequest(request2) {
+        if (core_util_1.isNodeLike) {
+          return this._nextPolicy.sendRequest(request2);
+        }
+        if (request2.method.toUpperCase() === "GET" || request2.method.toUpperCase() === "HEAD") {
+          request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.FORCE_BROWSER_NO_CACHE, (/* @__PURE__ */ new Date()).getTime().toString());
+        }
+        request2.headers.remove(constants_js_1.HeaderConstants.COOKIE);
+        request2.headers.remove(constants_js_1.HeaderConstants.CONTENT_LENGTH);
+        return this._nextPolicy.sendRequest(request2);
+      }
+    };
+    exports2.StorageBrowserPolicy = StorageBrowserPolicy;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/logPolicy.js
-var require_logPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/logPolicy.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/StorageBrowserPolicyFactory.js
+var require_StorageBrowserPolicyFactory = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/StorageBrowserPolicyFactory.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.logPolicyName = void 0;
-    exports2.logPolicy = logPolicy;
-    var log_js_1 = require_log2();
-    var sanitizer_js_1 = require_sanitizer();
-    exports2.logPolicyName = "logPolicy";
-    function logPolicy(options = {}) {
-      const logger = options.logger ?? log_js_1.logger.info;
-      const sanitizer = new sanitizer_js_1.Sanitizer({
-        additionalAllowedHeaderNames: options.additionalAllowedHeaderNames,
-        additionalAllowedQueryParameters: options.additionalAllowedQueryParameters
-      });
-      return {
-        name: exports2.logPolicyName,
-        async sendRequest(request2, next) {
-          if (!logger.enabled) {
-            return next(request2);
-          }
-          logger(`Request: ${sanitizer.sanitize(request2)}`);
-          const response = await next(request2);
-          logger(`Response status code: ${response.status}`);
-          logger(`Headers: ${sanitizer.sanitize(response.headers)}`);
-          return response;
-        }
-      };
-    }
+    exports2.StorageBrowserPolicyFactory = exports2.StorageBrowserPolicy = void 0;
+    var StorageBrowserPolicy_js_1 = require_StorageBrowserPolicy();
+    Object.defineProperty(exports2, "StorageBrowserPolicy", { enumerable: true, get: function() {
+      return StorageBrowserPolicy_js_1.StorageBrowserPolicy;
+    } });
+    var StorageBrowserPolicyFactory = class {
+      /**
+       * Creates a StorageBrowserPolicyFactory object.
+       *
+       * @param nextPolicy -
+       * @param options -
+       */
+      create(nextPolicy, options) {
+        return new StorageBrowserPolicy_js_1.StorageBrowserPolicy(nextPolicy, options);
+      }
+    };
+    exports2.StorageBrowserPolicyFactory = StorageBrowserPolicyFactory;
+  }
+});
+
+// node_modules/@azure/storage-common/dist/commonjs/policies/CredentialPolicy.js
+var require_CredentialPolicy2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/CredentialPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.CredentialPolicy = void 0;
+    var RequestPolicy_js_1 = require_RequestPolicy2();
+    var CredentialPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
+      /**
+       * Sends out request.
+       *
+       * @param request -
+       */
+      sendRequest(request2) {
+        return this._nextPolicy.sendRequest(this.signRequest(request2));
+      }
+      /**
+       * Child classes must implement this method with request signing. This method
+       * will be executed in {@link sendRequest}.
+       *
+       * @param request -
+       */
+      signRequest(request2) {
+        return request2;
+      }
+    };
+    exports2.CredentialPolicy = CredentialPolicy;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/redirectPolicy.js
-var require_redirectPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/redirectPolicy.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/policies/AnonymousCredentialPolicy.js
+var require_AnonymousCredentialPolicy2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/AnonymousCredentialPolicy.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.redirectPolicyName = void 0;
-    exports2.redirectPolicy = redirectPolicy;
-    exports2.redirectPolicyName = "redirectPolicy";
-    var allowedRedirect = ["GET", "HEAD"];
-    function redirectPolicy(options = {}) {
-      const { maxRetries = 20 } = options;
-      return {
-        name: exports2.redirectPolicyName,
-        async sendRequest(request2, next) {
-          const response = await next(request2);
-          return handleRedirect(next, response, maxRetries);
-        }
-      };
-    }
-    async function handleRedirect(next, response, maxRetries, currentRetries = 0) {
-      const { request: request2, status, headers } = response;
-      const locationHeader = headers.get("location");
-      if (locationHeader && (status === 300 || status === 301 && allowedRedirect.includes(request2.method) || status === 302 && allowedRedirect.includes(request2.method) || status === 303 && request2.method === "POST" || status === 307) && currentRetries < maxRetries) {
-        const url = new URL(locationHeader, request2.url);
-        request2.url = url.toString();
-        if (status === 303) {
-          request2.method = "GET";
-          request2.headers.delete("Content-Length");
-          delete request2.body;
-        }
-        request2.headers.delete("Authorization");
-        const res = await next(request2);
-        return handleRedirect(next, res, maxRetries, currentRetries + 1);
+    exports2.AnonymousCredentialPolicy = void 0;
+    var CredentialPolicy_js_1 = require_CredentialPolicy2();
+    var AnonymousCredentialPolicy = class extends CredentialPolicy_js_1.CredentialPolicy {
+      /**
+       * Creates an instance of AnonymousCredentialPolicy.
+       * @param nextPolicy -
+       * @param options -
+       */
+      // The base class has a protected constructor. Adding a public one to enable constructing of this class.
+      /* eslint-disable-next-line @typescript-eslint/no-useless-constructor*/
+      constructor(nextPolicy, options) {
+        super(nextPolicy, options);
       }
-      return response;
-    }
+    };
+    exports2.AnonymousCredentialPolicy = AnonymousCredentialPolicy;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/userAgentPlatform.js
-var require_userAgentPlatform = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/userAgentPlatform.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/credentials/Credential.js
+var require_Credential2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/credentials/Credential.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getHeaderName = getHeaderName;
-    exports2.setPlatformSpecificData = setPlatformSpecificData;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var node_os_1 = tslib_1.__importDefault(require("node:os"));
-    var node_process_1 = tslib_1.__importDefault(require("node:process"));
-    function getHeaderName() {
-      return "User-Agent";
-    }
-    async function setPlatformSpecificData(map2) {
-      if (node_process_1.default && node_process_1.default.versions) {
-        const osInfo = `${node_os_1.default.type()} ${node_os_1.default.release()}; ${node_os_1.default.arch()}`;
-        const versions = node_process_1.default.versions;
-        if (versions.bun) {
-          map2.set("Bun", `${versions.bun} (${osInfo})`);
-        } else if (versions.deno) {
-          map2.set("Deno", `${versions.deno} (${osInfo})`);
-        } else if (versions.node) {
-          map2.set("Node", `${versions.node} (${osInfo})`);
-        }
+    exports2.Credential = void 0;
+    var Credential = class {
+      /**
+       * Creates a RequestPolicy object.
+       *
+       * @param _nextPolicy -
+       * @param _options -
+       */
+      create(_nextPolicy, _options) {
+        throw new Error("Method should be implemented in children classes.");
       }
-    }
+    };
+    exports2.Credential = Credential;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/constants.js
-var require_constants13 = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/constants.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/credentials/AnonymousCredential.js
+var require_AnonymousCredential2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/credentials/AnonymousCredential.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.DEFAULT_RETRY_POLICY_COUNT = exports2.SDK_VERSION = void 0;
-    exports2.SDK_VERSION = "0.3.2";
-    exports2.DEFAULT_RETRY_POLICY_COUNT = 3;
+    exports2.AnonymousCredential = void 0;
+    var AnonymousCredentialPolicy_js_1 = require_AnonymousCredentialPolicy2();
+    var Credential_js_1 = require_Credential2();
+    var AnonymousCredential = class extends Credential_js_1.Credential {
+      /**
+       * Creates an {@link AnonymousCredentialPolicy} object.
+       *
+       * @param nextPolicy -
+       * @param options -
+       */
+      create(nextPolicy, options) {
+        return new AnonymousCredentialPolicy_js_1.AnonymousCredentialPolicy(nextPolicy, options);
+      }
+    };
+    exports2.AnonymousCredential = AnonymousCredential;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/userAgent.js
-var require_userAgent = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/userAgent.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/utils/SharedKeyComparator.js
+var require_SharedKeyComparator2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/utils/SharedKeyComparator.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getUserAgentHeaderName = getUserAgentHeaderName;
-    exports2.getUserAgentValue = getUserAgentValue;
-    var userAgentPlatform_js_1 = require_userAgentPlatform();
-    var constants_js_1 = require_constants13();
-    function getUserAgentString(telemetryInfo) {
-      const parts = [];
-      for (const [key, value] of telemetryInfo) {
-        const token = value ? `${key}/${value}` : key;
-        parts.push(token);
-      }
-      return parts.join(" ");
-    }
-    function getUserAgentHeaderName() {
-      return (0, userAgentPlatform_js_1.getHeaderName)();
-    }
-    async function getUserAgentValue(prefix) {
-      const runtimeInfo = /* @__PURE__ */ new Map();
-      runtimeInfo.set("ts-http-runtime", constants_js_1.SDK_VERSION);
-      await (0, userAgentPlatform_js_1.setPlatformSpecificData)(runtimeInfo);
-      const defaultAgent = getUserAgentString(runtimeInfo);
-      const userAgentValue = prefix ? `${prefix} ${defaultAgent}` : defaultAgent;
-      return userAgentValue;
+    exports2.compareHeader = compareHeader;
+    var table_lv0 = new Uint32Array([
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      1820,
+      0,
+      1823,
+      1825,
+      1827,
+      1829,
+      0,
+      0,
+      0,
+      1837,
+      2051,
+      0,
+      0,
+      1843,
+      0,
+      3331,
+      3354,
+      3356,
+      3358,
+      3360,
+      3362,
+      3364,
+      3366,
+      3368,
+      3370,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      3586,
+      3593,
+      3594,
+      3610,
+      3617,
+      3619,
+      3621,
+      3628,
+      3634,
+      3637,
+      3638,
+      3656,
+      3665,
+      3696,
+      3708,
+      3710,
+      3721,
+      3722,
+      3729,
+      3737,
+      3743,
+      3746,
+      3748,
+      3750,
+      3751,
+      3753,
+      0,
+      0,
+      0,
+      1859,
+      1860,
+      1864,
+      3586,
+      3593,
+      3594,
+      3610,
+      3617,
+      3619,
+      3621,
+      3628,
+      3634,
+      3637,
+      3638,
+      3656,
+      3665,
+      3696,
+      3708,
+      3710,
+      3721,
+      3722,
+      3729,
+      3737,
+      3743,
+      3746,
+      3748,
+      3750,
+      3751,
+      3753,
+      0,
+      1868,
+      0,
+      1872,
+      0
+    ]);
+    var table_lv2 = new Uint32Array([
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0
+    ]);
+    var table_lv4 = new Uint32Array([
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      32786,
+      0,
+      0,
+      0,
+      0,
+      0,
+      33298,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0
+    ]);
+    function compareHeader(lhs, rhs) {
+      if (isLessThan(lhs, rhs))
+        return -1;
+      return 1;
     }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/userAgentPolicy.js
-var require_userAgentPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/userAgentPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.userAgentPolicyName = void 0;
-    exports2.userAgentPolicy = userAgentPolicy;
-    var userAgent_js_1 = require_userAgent();
-    var UserAgentHeaderName = (0, userAgent_js_1.getUserAgentHeaderName)();
-    exports2.userAgentPolicyName = "userAgentPolicy";
-    function userAgentPolicy(options = {}) {
-      const userAgentValue = (0, userAgent_js_1.getUserAgentValue)(options.userAgentPrefix);
-      return {
-        name: exports2.userAgentPolicyName,
-        async sendRequest(request2, next) {
-          if (!request2.headers.has(UserAgentHeaderName)) {
-            request2.headers.set(UserAgentHeaderName, await userAgentValue);
-          }
-          return next(request2);
+    function isLessThan(lhs, rhs) {
+      const tables = [table_lv0, table_lv2, table_lv4];
+      let curr_level = 0;
+      let i = 0;
+      let j = 0;
+      while (curr_level < tables.length) {
+        if (curr_level === tables.length - 1 && i !== j) {
+          return i > j;
         }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/decompressResponsePolicy.js
-var require_decompressResponsePolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/decompressResponsePolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.decompressResponsePolicyName = void 0;
-    exports2.decompressResponsePolicy = decompressResponsePolicy;
-    exports2.decompressResponsePolicyName = "decompressResponsePolicy";
-    function decompressResponsePolicy() {
-      return {
-        name: exports2.decompressResponsePolicyName,
-        async sendRequest(request2, next) {
-          if (request2.method !== "HEAD") {
-            request2.headers.set("Accept-Encoding", "gzip,deflate");
-          }
-          return next(request2);
+        const weight1 = i < lhs.length ? tables[curr_level][lhs[i].charCodeAt(0)] : 1;
+        const weight2 = j < rhs.length ? tables[curr_level][rhs[j].charCodeAt(0)] : 1;
+        if (weight1 === 1 && weight2 === 1) {
+          i = 0;
+          j = 0;
+          ++curr_level;
+        } else if (weight1 === weight2) {
+          ++i;
+          ++j;
+        } else if (weight1 === 0) {
+          ++i;
+        } else if (weight2 === 0) {
+          ++j;
+        } else {
+          return weight1 < weight2;
         }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/random.js
-var require_random = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/random.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getRandomIntegerInclusive = getRandomIntegerInclusive;
-    function getRandomIntegerInclusive(min, max) {
-      min = Math.ceil(min);
-      max = Math.floor(max);
-      const offset = Math.floor(Math.random() * (max - min + 1));
-      return offset + min;
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/delay.js
-var require_delay = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/delay.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.calculateRetryDelay = calculateRetryDelay;
-    var random_js_1 = require_random();
-    function calculateRetryDelay(retryAttempt, config) {
-      const exponentialDelay = config.retryDelayInMs * Math.pow(2, retryAttempt);
-      const clampedDelay = Math.min(config.maxRetryDelayInMs, exponentialDelay);
-      const retryAfterInMs = clampedDelay / 2 + (0, random_js_1.getRandomIntegerInclusive)(0, clampedDelay / 2);
-      return { retryAfterInMs };
+      }
+      return false;
     }
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/helpers.js
-var require_helpers2 = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/helpers.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/policies/StorageSharedKeyCredentialPolicy.js
+var require_StorageSharedKeyCredentialPolicy2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageSharedKeyCredentialPolicy.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.delay = delay;
-    exports2.parseHeaderValueAsNumber = parseHeaderValueAsNumber;
-    var AbortError_js_1 = require_AbortError();
-    var StandardAbortMessage = "The operation was aborted.";
-    function delay(delayInMs, value, options) {
-      return new Promise((resolve3, reject) => {
-        let timer = void 0;
-        let onAborted = void 0;
-        const rejectOnAbort = () => {
-          return reject(new AbortError_js_1.AbortError(options?.abortErrorMsg ? options?.abortErrorMsg : StandardAbortMessage));
-        };
-        const removeListeners = () => {
-          if (options?.abortSignal && onAborted) {
-            options.abortSignal.removeEventListener("abort", onAborted);
-          }
-        };
-        onAborted = () => {
-          if (timer) {
-            clearTimeout(timer);
-          }
-          removeListeners();
-          return rejectOnAbort();
-        };
-        if (options?.abortSignal && options.abortSignal.aborted) {
-          return rejectOnAbort();
+    exports2.StorageSharedKeyCredentialPolicy = void 0;
+    var constants_js_1 = require_constants16();
+    var utils_common_js_1 = require_utils_common2();
+    var CredentialPolicy_js_1 = require_CredentialPolicy2();
+    var SharedKeyComparator_js_1 = require_SharedKeyComparator2();
+    var StorageSharedKeyCredentialPolicy = class extends CredentialPolicy_js_1.CredentialPolicy {
+      /**
+       * Reference to StorageSharedKeyCredential which generates StorageSharedKeyCredentialPolicy
+       */
+      factory;
+      /**
+       * Creates an instance of StorageSharedKeyCredentialPolicy.
+       * @param nextPolicy -
+       * @param options -
+       * @param factory -
+       */
+      constructor(nextPolicy, options, factory) {
+        super(nextPolicy, options);
+        this.factory = factory;
+      }
+      /**
+       * Signs request.
+       *
+       * @param request -
+       */
+      signRequest(request2) {
+        request2.headers.set(constants_js_1.HeaderConstants.X_MS_DATE, (/* @__PURE__ */ new Date()).toUTCString());
+        if (request2.body && (typeof request2.body === "string" || request2.body !== void 0) && request2.body.length > 0) {
+          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
         }
-        timer = setTimeout(() => {
-          removeListeners();
-          resolve3(value);
-        }, delayInMs);
-        if (options?.abortSignal) {
-          options.abortSignal.addEventListener("abort", onAborted);
+        const stringToSign = [
+          request2.method.toUpperCase(),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LANGUAGE),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_ENCODING),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LENGTH),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_MD5),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_TYPE),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.DATE),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MODIFIED_SINCE),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MATCH),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_NONE_MATCH),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_UNMODIFIED_SINCE),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.RANGE)
+        ].join("\n") + "\n" + this.getCanonicalizedHeadersString(request2) + this.getCanonicalizedResourceString(request2);
+        const signature = this.factory.computeHMACSHA256(stringToSign);
+        request2.headers.set(constants_js_1.HeaderConstants.AUTHORIZATION, `SharedKey ${this.factory.accountName}:${signature}`);
+        return request2;
+      }
+      /**
+       * Retrieve header value according to shared key sign rules.
+       * @see https://learn.microsoft.com/en-us/rest/api/storageservices/authenticate-with-shared-key
+       *
+       * @param request -
+       * @param headerName -
+       */
+      getHeaderValueToSign(request2, headerName) {
+        const value = request2.headers.get(headerName);
+        if (!value) {
+          return "";
         }
-      });
-    }
-    function parseHeaderValueAsNumber(response, headerName) {
-      const value = response.headers.get(headerName);
-      if (!value)
-        return;
-      const valueAsNum = Number(value);
-      if (Number.isNaN(valueAsNum))
-        return;
-      return valueAsNum;
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/retryStrategies/throttlingRetryStrategy.js
-var require_throttlingRetryStrategy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/retryStrategies/throttlingRetryStrategy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isThrottlingRetryResponse = isThrottlingRetryResponse;
-    exports2.throttlingRetryStrategy = throttlingRetryStrategy;
-    var helpers_js_1 = require_helpers2();
-    var RetryAfterHeader = "Retry-After";
-    var AllRetryAfterHeaders = ["retry-after-ms", "x-ms-retry-after-ms", RetryAfterHeader];
-    function getRetryAfterInMs(response) {
-      if (!(response && [429, 503].includes(response.status)))
-        return void 0;
-      try {
-        for (const header of AllRetryAfterHeaders) {
-          const retryAfterValue = (0, helpers_js_1.parseHeaderValueAsNumber)(response, header);
-          if (retryAfterValue === 0 || retryAfterValue) {
-            const multiplyingFactor = header === RetryAfterHeader ? 1e3 : 1;
-            return retryAfterValue * multiplyingFactor;
-          }
+        if (headerName === constants_js_1.HeaderConstants.CONTENT_LENGTH && value === "0") {
+          return "";
         }
-        const retryAfterHeader = response.headers.get(RetryAfterHeader);
-        if (!retryAfterHeader)
-          return;
-        const date = Date.parse(retryAfterHeader);
-        const diff = date - Date.now();
-        return Number.isFinite(diff) ? Math.max(0, diff) : void 0;
-      } catch {
-        return void 0;
+        return value;
       }
-    }
-    function isThrottlingRetryResponse(response) {
-      return Number.isFinite(getRetryAfterInMs(response));
-    }
-    function throttlingRetryStrategy() {
-      return {
-        name: "throttlingRetryStrategy",
-        retry({ response }) {
-          const retryAfterInMs = getRetryAfterInMs(response);
-          if (!Number.isFinite(retryAfterInMs)) {
-            return { skipStrategy: true };
+      /**
+       * To construct the CanonicalizedHeaders portion of the signature string, follow these steps:
+       * 1. Retrieve all headers for the resource that begin with x-ms-, including the x-ms-date header.
+       * 2. Convert each HTTP header name to lowercase.
+       * 3. Sort the headers lexicographically by header name, in ascending order.
+       *    Each header may appear only once in the string.
+       * 4. Replace any linear whitespace in the header value with a single space.
+       * 5. Trim any whitespace around the colon in the header.
+       * 6. Finally, append a new-line character to each canonicalized header in the resulting list.
+       *    Construct the CanonicalizedHeaders string by concatenating all headers in this list into a single string.
+       *
+       * @param request -
+       */
+      getCanonicalizedHeadersString(request2) {
+        let headersArray = request2.headers.headersArray().filter((value) => {
+          return value.name.toLowerCase().startsWith(constants_js_1.HeaderConstants.PREFIX_FOR_STORAGE);
+        });
+        headersArray.sort((a, b) => {
+          return (0, SharedKeyComparator_js_1.compareHeader)(a.name.toLowerCase(), b.name.toLowerCase());
+        });
+        headersArray = headersArray.filter((value, index, array) => {
+          if (index > 0 && value.name.toLowerCase() === array[index - 1].name.toLowerCase()) {
+            return false;
           }
-          return {
-            retryAfterInMs
-          };
-        }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/retryStrategies/exponentialRetryStrategy.js
-var require_exponentialRetryStrategy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/retryStrategies/exponentialRetryStrategy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.exponentialRetryStrategy = exponentialRetryStrategy;
-    exports2.isExponentialRetryResponse = isExponentialRetryResponse;
-    exports2.isSystemError = isSystemError;
-    var delay_js_1 = require_delay();
-    var throttlingRetryStrategy_js_1 = require_throttlingRetryStrategy();
-    var DEFAULT_CLIENT_RETRY_INTERVAL = 1e3;
-    var DEFAULT_CLIENT_MAX_RETRY_INTERVAL = 1e3 * 64;
-    function exponentialRetryStrategy(options = {}) {
-      const retryInterval = options.retryDelayInMs ?? DEFAULT_CLIENT_RETRY_INTERVAL;
-      const maxRetryInterval = options.maxRetryDelayInMs ?? DEFAULT_CLIENT_MAX_RETRY_INTERVAL;
-      return {
-        name: "exponentialRetryStrategy",
-        retry({ retryCount, response, responseError }) {
-          const matchedSystemError = isSystemError(responseError);
-          const ignoreSystemErrors = matchedSystemError && options.ignoreSystemErrors;
-          const isExponential = isExponentialRetryResponse(response);
-          const ignoreExponentialResponse = isExponential && options.ignoreHttpStatusCodes;
-          const unknownResponse = response && ((0, throttlingRetryStrategy_js_1.isThrottlingRetryResponse)(response) || !isExponential);
-          if (unknownResponse || ignoreExponentialResponse || ignoreSystemErrors) {
-            return { skipStrategy: true };
+          return true;
+        });
+        let canonicalizedHeadersStringToSign = "";
+        headersArray.forEach((header) => {
+          canonicalizedHeadersStringToSign += `${header.name.toLowerCase().trimRight()}:${header.value.trimLeft()}
+`;
+        });
+        return canonicalizedHeadersStringToSign;
+      }
+      /**
+       * Retrieves the webResource canonicalized resource string.
+       *
+       * @param request -
+       */
+      getCanonicalizedResourceString(request2) {
+        const path4 = (0, utils_common_js_1.getURLPath)(request2.url) || "/";
+        let canonicalizedResourceString = "";
+        canonicalizedResourceString += `/${this.factory.accountName}${path4}`;
+        const queries = (0, utils_common_js_1.getURLQueries)(request2.url);
+        const lowercaseQueries = {};
+        if (queries) {
+          const queryKeys = [];
+          for (const key in queries) {
+            if (Object.prototype.hasOwnProperty.call(queries, key)) {
+              const lowercaseKey = key.toLowerCase();
+              lowercaseQueries[lowercaseKey] = queries[key];
+              queryKeys.push(lowercaseKey);
+            }
           }
-          if (responseError && !matchedSystemError && !isExponential) {
-            return { errorToThrow: responseError };
+          queryKeys.sort();
+          for (const key of queryKeys) {
+            canonicalizedResourceString += `
+${key}:${decodeURIComponent(lowercaseQueries[key])}`;
           }
-          return (0, delay_js_1.calculateRetryDelay)(retryCount, {
-            retryDelayInMs: retryInterval,
-            maxRetryDelayInMs: maxRetryInterval
-          });
         }
-      };
-    }
-    function isExponentialRetryResponse(response) {
-      return Boolean(response && response.status !== void 0 && (response.status >= 500 || response.status === 408) && response.status !== 501 && response.status !== 505);
-    }
-    function isSystemError(err) {
-      if (!err) {
-        return false;
+        return canonicalizedResourceString;
       }
-      return err.code === "ETIMEDOUT" || err.code === "ESOCKETTIMEDOUT" || err.code === "ECONNREFUSED" || err.code === "ECONNRESET" || err.code === "ENOENT" || err.code === "ENOTFOUND";
-    }
+    };
+    exports2.StorageSharedKeyCredentialPolicy = StorageSharedKeyCredentialPolicy;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/retryPolicy.js
-var require_retryPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/retryPolicy.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/credentials/StorageSharedKeyCredential.js
+var require_StorageSharedKeyCredential2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/credentials/StorageSharedKeyCredential.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.retryPolicy = retryPolicy;
-    var helpers_js_1 = require_helpers2();
-    var AbortError_js_1 = require_AbortError();
-    var logger_js_1 = require_logger();
-    var constants_js_1 = require_constants13();
-    var retryPolicyLogger = (0, logger_js_1.createClientLogger)("ts-http-runtime retryPolicy");
-    var retryPolicyName = "retryPolicy";
-    function retryPolicy(strategies, options = { maxRetries: constants_js_1.DEFAULT_RETRY_POLICY_COUNT }) {
-      const logger = options.logger || retryPolicyLogger;
-      return {
-        name: retryPolicyName,
-        async sendRequest(request2, next) {
-          let response;
-          let responseError;
-          let retryCount = -1;
-          retryRequest: while (true) {
-            retryCount += 1;
-            response = void 0;
-            responseError = void 0;
-            try {
-              logger.info(`Retry ${retryCount}: Attempting to send request`, request2.requestId);
-              response = await next(request2);
-              logger.info(`Retry ${retryCount}: Received a response from request`, request2.requestId);
-            } catch (e) {
-              logger.error(`Retry ${retryCount}: Received an error from request`, request2.requestId);
-              responseError = e;
-              if (!e || responseError.name !== "RestError") {
-                throw e;
-              }
-              response = responseError.response;
-            }
-            if (request2.abortSignal?.aborted) {
-              logger.error(`Retry ${retryCount}: Request aborted.`);
-              const abortError = new AbortError_js_1.AbortError();
-              throw abortError;
-            }
-            if (retryCount >= (options.maxRetries ?? constants_js_1.DEFAULT_RETRY_POLICY_COUNT)) {
-              logger.info(`Retry ${retryCount}: Maximum retries reached. Returning the last received response, or throwing the last received error.`);
-              if (responseError) {
-                throw responseError;
-              } else if (response) {
-                return response;
-              } else {
-                throw new Error("Maximum retries reached with no response or error to throw");
-              }
-            }
-            logger.info(`Retry ${retryCount}: Processing ${strategies.length} retry strategies.`);
-            strategiesLoop: for (const strategy of strategies) {
-              const strategyLogger = strategy.logger || logger;
-              strategyLogger.info(`Retry ${retryCount}: Processing retry strategy ${strategy.name}.`);
-              const modifiers = strategy.retry({
-                retryCount,
-                response,
-                responseError
-              });
-              if (modifiers.skipStrategy) {
-                strategyLogger.info(`Retry ${retryCount}: Skipped.`);
-                continue strategiesLoop;
-              }
-              const { errorToThrow, retryAfterInMs, redirectTo } = modifiers;
-              if (errorToThrow) {
-                strategyLogger.error(`Retry ${retryCount}: Retry strategy ${strategy.name} throws error:`, errorToThrow);
-                throw errorToThrow;
-              }
-              if (retryAfterInMs || retryAfterInMs === 0) {
-                strategyLogger.info(`Retry ${retryCount}: Retry strategy ${strategy.name} retries after ${retryAfterInMs}`);
-                await (0, helpers_js_1.delay)(retryAfterInMs, void 0, { abortSignal: request2.abortSignal });
-                continue retryRequest;
-              }
-              if (redirectTo) {
-                strategyLogger.info(`Retry ${retryCount}: Retry strategy ${strategy.name} redirects to ${redirectTo}`);
-                request2.url = redirectTo;
-                continue retryRequest;
-              }
-            }
-            if (responseError) {
-              logger.info(`None of the retry strategies could work with the received error. Throwing it.`);
-              throw responseError;
-            }
-            if (response) {
-              logger.info(`None of the retry strategies could work with the received response. Returning it.`);
-              return response;
-            }
-          }
-        }
-      };
-    }
+    exports2.StorageSharedKeyCredential = void 0;
+    var node_crypto_1 = require("node:crypto");
+    var StorageSharedKeyCredentialPolicy_js_1 = require_StorageSharedKeyCredentialPolicy2();
+    var Credential_js_1 = require_Credential2();
+    var StorageSharedKeyCredential = class extends Credential_js_1.Credential {
+      /**
+       * Azure Storage account name; readonly.
+       */
+      accountName;
+      /**
+       * Azure Storage account key; readonly.
+       */
+      accountKey;
+      /**
+       * Creates an instance of StorageSharedKeyCredential.
+       * @param accountName -
+       * @param accountKey -
+       */
+      constructor(accountName, accountKey) {
+        super();
+        this.accountName = accountName;
+        this.accountKey = Buffer.from(accountKey, "base64");
+      }
+      /**
+       * Creates a StorageSharedKeyCredentialPolicy object.
+       *
+       * @param nextPolicy -
+       * @param options -
+       */
+      create(nextPolicy, options) {
+        return new StorageSharedKeyCredentialPolicy_js_1.StorageSharedKeyCredentialPolicy(nextPolicy, options, this);
+      }
+      /**
+       * Generates a hash signature for an HTTP request or for a SAS.
+       *
+       * @param stringToSign -
+       */
+      computeHMACSHA256(stringToSign) {
+        return (0, node_crypto_1.createHmac)("sha256", this.accountKey).update(stringToSign, "utf8").digest("base64");
+      }
+    };
+    exports2.StorageSharedKeyCredential = StorageSharedKeyCredential;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/defaultRetryPolicy.js
-var require_defaultRetryPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/defaultRetryPolicy.js"(exports2) {
+// node_modules/@azure/storage-common/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js
+var require_AbortError4 = __commonJS({
+  "node_modules/@azure/storage-common/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.defaultRetryPolicyName = void 0;
-    exports2.defaultRetryPolicy = defaultRetryPolicy;
-    var exponentialRetryStrategy_js_1 = require_exponentialRetryStrategy();
-    var throttlingRetryStrategy_js_1 = require_throttlingRetryStrategy();
-    var retryPolicy_js_1 = require_retryPolicy();
-    var constants_js_1 = require_constants13();
-    exports2.defaultRetryPolicyName = "defaultRetryPolicy";
-    function defaultRetryPolicy(options = {}) {
-      return {
-        name: exports2.defaultRetryPolicyName,
-        sendRequest: (0, retryPolicy_js_1.retryPolicy)([(0, throttlingRetryStrategy_js_1.throttlingRetryStrategy)(), (0, exponentialRetryStrategy_js_1.exponentialRetryStrategy)(options)], {
-          maxRetries: options.maxRetries ?? constants_js_1.DEFAULT_RETRY_POLICY_COUNT
-        }).sendRequest
-      };
-    }
+    exports2.AbortError = void 0;
+    var AbortError = class extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "AbortError";
+      }
+    };
+    exports2.AbortError = AbortError;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/checkEnvironment.js
-var require_checkEnvironment = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/checkEnvironment.js"(exports2) {
+// node_modules/@azure/storage-common/node_modules/@azure/abort-controller/dist/commonjs/index.js
+var require_commonjs12 = __commonJS({
+  "node_modules/@azure/storage-common/node_modules/@azure/abort-controller/dist/commonjs/index.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isReactNative = exports2.isNodeRuntime = exports2.isNodeLike = exports2.isBun = exports2.isDeno = exports2.isWebWorker = exports2.isBrowser = void 0;
-    exports2.isBrowser = typeof window !== "undefined" && typeof window.document !== "undefined";
-    exports2.isWebWorker = typeof self === "object" && typeof self?.importScripts === "function" && (self.constructor?.name === "DedicatedWorkerGlobalScope" || self.constructor?.name === "ServiceWorkerGlobalScope" || self.constructor?.name === "SharedWorkerGlobalScope");
-    exports2.isDeno = typeof Deno !== "undefined" && typeof Deno.version !== "undefined" && typeof Deno.version.deno !== "undefined";
-    exports2.isBun = typeof Bun !== "undefined" && typeof Bun.version !== "undefined";
-    exports2.isNodeLike = typeof globalThis.process !== "undefined" && Boolean(globalThis.process.version) && Boolean(globalThis.process.versions?.node);
-    exports2.isNodeRuntime = exports2.isNodeLike && !exports2.isBun && !exports2.isDeno;
-    exports2.isReactNative = typeof navigator !== "undefined" && navigator?.product === "ReactNative";
+    exports2.AbortError = void 0;
+    var AbortError_js_1 = require_AbortError4();
+    Object.defineProperty(exports2, "AbortError", { enumerable: true, get: function() {
+      return AbortError_js_1.AbortError;
+    } });
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/formDataPolicy.js
-var require_formDataPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/formDataPolicy.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/log.js
+var require_log6 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/log.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.formDataPolicyName = void 0;
-    exports2.formDataPolicy = formDataPolicy;
-    var bytesEncoding_js_1 = require_bytesEncoding();
-    var checkEnvironment_js_1 = require_checkEnvironment();
-    var httpHeaders_js_1 = require_httpHeaders();
-    exports2.formDataPolicyName = "formDataPolicy";
-    function formDataToFormDataMap(formData) {
-      const formDataMap = {};
-      for (const [key, value] of formData.entries()) {
-        formDataMap[key] ??= [];
-        formDataMap[key].push(value);
-      }
-      return formDataMap;
-    }
-    function formDataPolicy() {
+    exports2.logger = void 0;
+    var logger_1 = require_commonjs2();
+    exports2.logger = (0, logger_1.createClientLogger)("storage-common");
+  }
+});
+
+// node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicyType.js
+var require_StorageRetryPolicyType2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicyType.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageRetryPolicyType = void 0;
+    var StorageRetryPolicyType;
+    (function(StorageRetryPolicyType2) {
+      StorageRetryPolicyType2[StorageRetryPolicyType2["EXPONENTIAL"] = 0] = "EXPONENTIAL";
+      StorageRetryPolicyType2[StorageRetryPolicyType2["FIXED"] = 1] = "FIXED";
+    })(StorageRetryPolicyType || (exports2.StorageRetryPolicyType = StorageRetryPolicyType = {}));
+  }
+});
+
+// node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicy.js
+var require_StorageRetryPolicy2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageRetryPolicy = void 0;
+    exports2.NewRetryPolicyFactory = NewRetryPolicyFactory;
+    var abort_controller_1 = require_commonjs12();
+    var RequestPolicy_js_1 = require_RequestPolicy2();
+    var constants_js_1 = require_constants16();
+    var utils_common_js_1 = require_utils_common2();
+    var log_js_1 = require_log6();
+    var StorageRetryPolicyType_js_1 = require_StorageRetryPolicyType2();
+    function NewRetryPolicyFactory(retryOptions) {
       return {
-        name: exports2.formDataPolicyName,
-        async sendRequest(request2, next) {
-          if (checkEnvironment_js_1.isNodeLike && typeof FormData !== "undefined" && request2.body instanceof FormData) {
-            request2.formData = formDataToFormDataMap(request2.body);
-            request2.body = void 0;
-          }
-          if (request2.formData) {
-            const contentType = request2.headers.get("Content-Type");
-            if (contentType && contentType.indexOf("application/x-www-form-urlencoded") !== -1) {
-              request2.body = wwwFormUrlEncode(request2.formData);
-            } else {
-              await prepareFormData(request2.formData, request2);
-            }
-            request2.formData = void 0;
-          }
-          return next(request2);
+        create: (nextPolicy, options) => {
+          return new StorageRetryPolicy(nextPolicy, options, retryOptions);
         }
       };
     }
-    function wwwFormUrlEncode(formData) {
-      const urlSearchParams = new URLSearchParams();
-      for (const [key, value] of Object.entries(formData)) {
-        if (Array.isArray(value)) {
-          for (const subValue of value) {
-            urlSearchParams.append(key, subValue.toString());
+    var DEFAULT_RETRY_OPTIONS = {
+      maxRetryDelayInMs: 120 * 1e3,
+      maxTries: 4,
+      retryDelayInMs: 4 * 1e3,
+      retryPolicyType: StorageRetryPolicyType_js_1.StorageRetryPolicyType.EXPONENTIAL,
+      secondaryHost: "",
+      tryTimeoutInMs: void 0
+      // Use server side default timeout strategy
+    };
+    var RETRY_ABORT_ERROR = new abort_controller_1.AbortError("The operation was aborted.");
+    var StorageRetryPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
+      /**
+       * RetryOptions.
+       */
+      retryOptions;
+      /**
+       * Creates an instance of RetryPolicy.
+       *
+       * @param nextPolicy -
+       * @param options -
+       * @param retryOptions -
+       */
+      constructor(nextPolicy, options, retryOptions = DEFAULT_RETRY_OPTIONS) {
+        super(nextPolicy, options);
+        this.retryOptions = {
+          retryPolicyType: retryOptions.retryPolicyType ? retryOptions.retryPolicyType : DEFAULT_RETRY_OPTIONS.retryPolicyType,
+          maxTries: retryOptions.maxTries && retryOptions.maxTries >= 1 ? Math.floor(retryOptions.maxTries) : DEFAULT_RETRY_OPTIONS.maxTries,
+          tryTimeoutInMs: retryOptions.tryTimeoutInMs && retryOptions.tryTimeoutInMs >= 0 ? retryOptions.tryTimeoutInMs : DEFAULT_RETRY_OPTIONS.tryTimeoutInMs,
+          retryDelayInMs: retryOptions.retryDelayInMs && retryOptions.retryDelayInMs >= 0 ? Math.min(retryOptions.retryDelayInMs, retryOptions.maxRetryDelayInMs ? retryOptions.maxRetryDelayInMs : DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs) : DEFAULT_RETRY_OPTIONS.retryDelayInMs,
+          maxRetryDelayInMs: retryOptions.maxRetryDelayInMs && retryOptions.maxRetryDelayInMs >= 0 ? retryOptions.maxRetryDelayInMs : DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs,
+          secondaryHost: retryOptions.secondaryHost ? retryOptions.secondaryHost : DEFAULT_RETRY_OPTIONS.secondaryHost
+        };
+      }
+      /**
+       * Sends request.
+       *
+       * @param request -
+       */
+      async sendRequest(request2) {
+        return this.attemptSendRequest(request2, false, 1);
+      }
+      /**
+       * Decide and perform next retry. Won't mutate request parameter.
+       *
+       * @param request -
+       * @param secondaryHas404 -  If attempt was against the secondary & it returned a StatusNotFound (404), then
+       *                                   the resource was not found. This may be due to replication delay. So, in this
+       *                                   case, we'll never try the secondary again for this operation.
+       * @param attempt -           How many retries has been attempted to performed, starting from 1, which includes
+       *                                   the attempt will be performed by this method call.
+       */
+      async attemptSendRequest(request2, secondaryHas404, attempt) {
+        const newRequest = request2.clone();
+        const isPrimaryRetry = secondaryHas404 || !this.retryOptions.secondaryHost || !(request2.method === "GET" || request2.method === "HEAD" || request2.method === "OPTIONS") || attempt % 2 === 1;
+        if (!isPrimaryRetry) {
+          newRequest.url = (0, utils_common_js_1.setURLHost)(newRequest.url, this.retryOptions.secondaryHost);
+        }
+        if (this.retryOptions.tryTimeoutInMs) {
+          newRequest.url = (0, utils_common_js_1.setURLParameter)(newRequest.url, constants_js_1.URLConstants.Parameters.TIMEOUT, Math.floor(this.retryOptions.tryTimeoutInMs / 1e3).toString());
+        }
+        let response;
+        try {
+          log_js_1.logger.info(`RetryPolicy: =====> Try=${attempt} ${isPrimaryRetry ? "Primary" : "Secondary"}`);
+          response = await this._nextPolicy.sendRequest(newRequest);
+          if (!this.shouldRetry(isPrimaryRetry, attempt, response)) {
+            return response;
+          }
+          secondaryHas404 = secondaryHas404 || !isPrimaryRetry && response.status === 404;
+        } catch (err) {
+          log_js_1.logger.error(`RetryPolicy: Caught error, message: ${err.message}, code: ${err.code}`);
+          if (!this.shouldRetry(isPrimaryRetry, attempt, response, err)) {
+            throw err;
           }
-        } else {
-          urlSearchParams.append(key, value.toString());
         }
+        await this.delay(isPrimaryRetry, attempt, request2.abortSignal);
+        return this.attemptSendRequest(request2, secondaryHas404, ++attempt);
       }
-      return urlSearchParams.toString();
-    }
-    async function prepareFormData(formData, request2) {
-      const contentType = request2.headers.get("Content-Type");
-      if (contentType && !contentType.startsWith("multipart/form-data")) {
-        return;
+      /**
+       * Decide whether to retry according to last HTTP response and retry counters.
+       *
+       * @param isPrimaryRetry -
+       * @param attempt -
+       * @param response -
+       * @param err -
+       */
+      shouldRetry(isPrimaryRetry, attempt, response, err) {
+        if (attempt >= this.retryOptions.maxTries) {
+          log_js_1.logger.info(`RetryPolicy: Attempt(s) ${attempt} >= maxTries ${this.retryOptions.maxTries}, no further try.`);
+          return false;
+        }
+        const retriableErrors = [
+          "ETIMEDOUT",
+          "ESOCKETTIMEDOUT",
+          "ECONNREFUSED",
+          "ECONNRESET",
+          "ENOENT",
+          "ENOTFOUND",
+          "TIMEOUT",
+          "EPIPE",
+          "REQUEST_SEND_ERROR"
+          // For default xhr based http client provided in ms-rest-js
+        ];
+        if (err) {
+          for (const retriableError of retriableErrors) {
+            if (err.name.toUpperCase().includes(retriableError) || err.message.toUpperCase().includes(retriableError) || err.code && err.code.toString().toUpperCase() === retriableError) {
+              log_js_1.logger.info(`RetryPolicy: Network error ${retriableError} found, will retry.`);
+              return true;
+            }
+          }
+        }
+        if (response || err) {
+          const statusCode = response ? response.status : err ? err.statusCode : 0;
+          if (!isPrimaryRetry && statusCode === 404) {
+            log_js_1.logger.info(`RetryPolicy: Secondary access with 404, will retry.`);
+            return true;
+          }
+          if (statusCode === 503 || statusCode === 500) {
+            log_js_1.logger.info(`RetryPolicy: Will retry for status code ${statusCode}.`);
+            return true;
+          }
+        }
+        if (response) {
+          if (response?.status >= 400) {
+            const copySourceError = response.headers.get(constants_js_1.HeaderConstants.X_MS_CopySourceErrorCode);
+            if (copySourceError !== void 0) {
+              switch (copySourceError) {
+                case "InternalError":
+                case "OperationTimedOut":
+                case "ServerBusy":
+                  return true;
+              }
+            }
+          }
+        }
+        if (err?.code === "PARSE_ERROR" && err?.message.startsWith(`Error "Error: Unclosed root tag`)) {
+          log_js_1.logger.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry.");
+          return true;
+        }
+        return false;
       }
-      request2.headers.set("Content-Type", contentType ?? "multipart/form-data");
-      const parts = [];
-      for (const [fieldName, values] of Object.entries(formData)) {
-        for (const value of Array.isArray(values) ? values : [values]) {
-          if (typeof value === "string") {
-            parts.push({
-              headers: (0, httpHeaders_js_1.createHttpHeaders)({
-                "Content-Disposition": `form-data; name="${fieldName}"`
-              }),
-              body: (0, bytesEncoding_js_1.stringToUint8Array)(value, "utf-8")
-            });
-          } else if (value === void 0 || value === null || typeof value !== "object") {
-            throw new Error(`Unexpected value for key ${fieldName}: ${value}. Value should be serialized to string first.`);
-          } else {
-            const fileName = value.name || "blob";
-            const headers = (0, httpHeaders_js_1.createHttpHeaders)();
-            headers.set("Content-Disposition", `form-data; name="${fieldName}"; filename="${fileName}"`);
-            headers.set("Content-Type", value.type || "application/octet-stream");
-            parts.push({
-              headers,
-              body: value
-            });
+      /**
+       * Delay a calculated time between retries.
+       *
+       * @param isPrimaryRetry -
+       * @param attempt -
+       * @param abortSignal -
+       */
+      async delay(isPrimaryRetry, attempt, abortSignal) {
+        let delayTimeInMs = 0;
+        if (isPrimaryRetry) {
+          switch (this.retryOptions.retryPolicyType) {
+            case StorageRetryPolicyType_js_1.StorageRetryPolicyType.EXPONENTIAL:
+              delayTimeInMs = Math.min((Math.pow(2, attempt - 1) - 1) * this.retryOptions.retryDelayInMs, this.retryOptions.maxRetryDelayInMs);
+              break;
+            case StorageRetryPolicyType_js_1.StorageRetryPolicyType.FIXED:
+              delayTimeInMs = this.retryOptions.retryDelayInMs;
+              break;
           }
+        } else {
+          delayTimeInMs = Math.random() * 1e3;
         }
+        log_js_1.logger.info(`RetryPolicy: Delay for ${delayTimeInMs}ms`);
+        return (0, utils_common_js_1.delay)(delayTimeInMs, abortSignal, RETRY_ABORT_ERROR);
       }
-      request2.multipartBody = { parts };
-    }
+    };
+    exports2.StorageRetryPolicy = StorageRetryPolicy;
   }
 });
 
-// node_modules/ms/index.js
-var require_ms = __commonJS({
-  "node_modules/ms/index.js"(exports2, module2) {
-    var s = 1e3;
-    var m = s * 60;
-    var h = m * 60;
-    var d = h * 24;
-    var w = d * 7;
-    var y = d * 365.25;
-    module2.exports = function(val, options) {
-      options = options || {};
-      var type2 = typeof val;
-      if (type2 === "string" && val.length > 0) {
-        return parse2(val);
-      } else if (type2 === "number" && isFinite(val)) {
-        return options.long ? fmtLong(val) : fmtShort(val);
-      }
-      throw new Error(
-        "val is not a non-empty string or a valid number. val=" + JSON.stringify(val)
-      );
-    };
-    function parse2(str2) {
-      str2 = String(str2);
-      if (str2.length > 100) {
-        return;
-      }
-      var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(
-        str2
-      );
-      if (!match) {
-        return;
-      }
-      var n = parseFloat(match[1]);
-      var type2 = (match[2] || "ms").toLowerCase();
-      switch (type2) {
-        case "years":
-        case "year":
-        case "yrs":
-        case "yr":
-        case "y":
-          return n * y;
-        case "weeks":
-        case "week":
-        case "w":
-          return n * w;
-        case "days":
-        case "day":
-        case "d":
-          return n * d;
-        case "hours":
-        case "hour":
-        case "hrs":
-        case "hr":
-        case "h":
-          return n * h;
-        case "minutes":
-        case "minute":
-        case "mins":
-        case "min":
-        case "m":
-          return n * m;
-        case "seconds":
-        case "second":
-        case "secs":
-        case "sec":
-        case "s":
-          return n * s;
-        case "milliseconds":
-        case "millisecond":
-        case "msecs":
-        case "msec":
-        case "ms":
-          return n;
-        default:
-          return void 0;
-      }
-    }
-    function fmtShort(ms) {
-      var msAbs = Math.abs(ms);
-      if (msAbs >= d) {
-        return Math.round(ms / d) + "d";
-      }
-      if (msAbs >= h) {
-        return Math.round(ms / h) + "h";
-      }
-      if (msAbs >= m) {
-        return Math.round(ms / m) + "m";
+// node_modules/@azure/storage-common/dist/commonjs/StorageRetryPolicyFactory.js
+var require_StorageRetryPolicyFactory2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/StorageRetryPolicyFactory.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageRetryPolicyFactory = exports2.StorageRetryPolicy = exports2.StorageRetryPolicyType = void 0;
+    var StorageRetryPolicy_js_1 = require_StorageRetryPolicy2();
+    Object.defineProperty(exports2, "StorageRetryPolicy", { enumerable: true, get: function() {
+      return StorageRetryPolicy_js_1.StorageRetryPolicy;
+    } });
+    var StorageRetryPolicyType_js_1 = require_StorageRetryPolicyType2();
+    Object.defineProperty(exports2, "StorageRetryPolicyType", { enumerable: true, get: function() {
+      return StorageRetryPolicyType_js_1.StorageRetryPolicyType;
+    } });
+    var StorageRetryPolicyFactory = class {
+      retryOptions;
+      /**
+       * Creates an instance of StorageRetryPolicyFactory.
+       * @param retryOptions -
+       */
+      constructor(retryOptions) {
+        this.retryOptions = retryOptions;
       }
-      if (msAbs >= s) {
-        return Math.round(ms / s) + "s";
+      /**
+       * Creates a StorageRetryPolicy object.
+       *
+       * @param nextPolicy -
+       * @param options -
+       */
+      create(nextPolicy, options) {
+        return new StorageRetryPolicy_js_1.StorageRetryPolicy(nextPolicy, options, this.retryOptions);
       }
-      return ms + "ms";
+    };
+    exports2.StorageRetryPolicyFactory = StorageRetryPolicyFactory;
+  }
+});
+
+// node_modules/@azure/storage-common/dist/commonjs/policies/StorageBrowserPolicyV2.js
+var require_StorageBrowserPolicyV2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageBrowserPolicyV2.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.storageBrowserPolicyName = void 0;
+    exports2.storageBrowserPolicy = storageBrowserPolicy;
+    var core_util_1 = require_commonjs4();
+    var constants_js_1 = require_constants16();
+    var utils_common_js_1 = require_utils_common2();
+    exports2.storageBrowserPolicyName = "storageBrowserPolicy";
+    function storageBrowserPolicy() {
+      return {
+        name: exports2.storageBrowserPolicyName,
+        async sendRequest(request2, next) {
+          if (core_util_1.isNodeLike) {
+            return next(request2);
+          }
+          if (request2.method === "GET" || request2.method === "HEAD") {
+            request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.FORCE_BROWSER_NO_CACHE, (/* @__PURE__ */ new Date()).getTime().toString());
+          }
+          request2.headers.delete(constants_js_1.HeaderConstants.COOKIE);
+          request2.headers.delete(constants_js_1.HeaderConstants.CONTENT_LENGTH);
+          return next(request2);
+        }
+      };
     }
-    function fmtLong(ms) {
-      var msAbs = Math.abs(ms);
-      if (msAbs >= d) {
-        return plural(ms, msAbs, d, "day");
-      }
-      if (msAbs >= h) {
-        return plural(ms, msAbs, h, "hour");
-      }
-      if (msAbs >= m) {
-        return plural(ms, msAbs, m, "minute");
-      }
-      if (msAbs >= s) {
-        return plural(ms, msAbs, s, "second");
+  }
+});
+
+// node_modules/@azure/storage-common/dist/commonjs/policies/StorageCorrectContentLengthPolicy.js
+var require_StorageCorrectContentLengthPolicy = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageCorrectContentLengthPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.storageCorrectContentLengthPolicyName = void 0;
+    exports2.storageCorrectContentLengthPolicy = storageCorrectContentLengthPolicy;
+    var constants_js_1 = require_constants16();
+    exports2.storageCorrectContentLengthPolicyName = "StorageCorrectContentLengthPolicy";
+    function storageCorrectContentLengthPolicy() {
+      function correctContentLength(request2) {
+        if (request2.body && (typeof request2.body === "string" || Buffer.isBuffer(request2.body)) && request2.body.length > 0) {
+          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
+        }
       }
-      return ms + " ms";
-    }
-    function plural(ms, msAbs, n, name) {
-      var isPlural = msAbs >= n * 1.5;
-      return Math.round(ms / n) + " " + name + (isPlural ? "s" : "");
+      return {
+        name: exports2.storageCorrectContentLengthPolicyName,
+        async sendRequest(request2, next) {
+          correctContentLength(request2);
+          return next(request2);
+        }
+      };
     }
   }
 });
 
-// node_modules/debug/src/common.js
-var require_common = __commonJS({
-  "node_modules/debug/src/common.js"(exports2, module2) {
-    function setup(env) {
-      createDebug.debug = createDebug;
-      createDebug.default = createDebug;
-      createDebug.coerce = coerce3;
-      createDebug.disable = disable;
-      createDebug.enable = enable;
-      createDebug.enabled = enabled;
-      createDebug.humanize = require_ms();
-      createDebug.destroy = destroy;
-      Object.keys(env).forEach((key) => {
-        createDebug[key] = env[key];
-      });
-      createDebug.names = [];
-      createDebug.skips = [];
-      createDebug.formatters = {};
-      function selectColor(namespace) {
-        let hash = 0;
-        for (let i = 0; i < namespace.length; i++) {
-          hash = (hash << 5) - hash + namespace.charCodeAt(i);
-          hash |= 0;
+// node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicyV2.js
+var require_StorageRetryPolicyV2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicyV2.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.storageRetryPolicyName = void 0;
+    exports2.storageRetryPolicy = storageRetryPolicy;
+    var abort_controller_1 = require_commonjs12();
+    var core_rest_pipeline_1 = require_commonjs6();
+    var core_util_1 = require_commonjs4();
+    var StorageRetryPolicyFactory_js_1 = require_StorageRetryPolicyFactory2();
+    var constants_js_1 = require_constants16();
+    var utils_common_js_1 = require_utils_common2();
+    var log_js_1 = require_log6();
+    exports2.storageRetryPolicyName = "storageRetryPolicy";
+    var DEFAULT_RETRY_OPTIONS = {
+      maxRetryDelayInMs: 120 * 1e3,
+      maxTries: 4,
+      retryDelayInMs: 4 * 1e3,
+      retryPolicyType: StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.EXPONENTIAL,
+      secondaryHost: "",
+      tryTimeoutInMs: void 0
+      // Use server side default timeout strategy
+    };
+    var retriableErrors = [
+      "ETIMEDOUT",
+      "ESOCKETTIMEDOUT",
+      "ECONNREFUSED",
+      "ECONNRESET",
+      "ENOENT",
+      "ENOTFOUND",
+      "TIMEOUT",
+      "EPIPE",
+      "REQUEST_SEND_ERROR"
+    ];
+    var RETRY_ABORT_ERROR = new abort_controller_1.AbortError("The operation was aborted.");
+    function storageRetryPolicy(options = {}) {
+      const retryPolicyType = options.retryPolicyType ?? DEFAULT_RETRY_OPTIONS.retryPolicyType;
+      const maxTries = options.maxTries ?? DEFAULT_RETRY_OPTIONS.maxTries;
+      const retryDelayInMs = options.retryDelayInMs ?? DEFAULT_RETRY_OPTIONS.retryDelayInMs;
+      const maxRetryDelayInMs = options.maxRetryDelayInMs ?? DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs;
+      const secondaryHost = options.secondaryHost ?? DEFAULT_RETRY_OPTIONS.secondaryHost;
+      const tryTimeoutInMs = options.tryTimeoutInMs ?? DEFAULT_RETRY_OPTIONS.tryTimeoutInMs;
+      function shouldRetry({ isPrimaryRetry, attempt, response, error: error3 }) {
+        if (attempt >= maxTries) {
+          log_js_1.logger.info(`RetryPolicy: Attempt(s) ${attempt} >= maxTries ${maxTries}, no further try.`);
+          return false;
         }
-        return createDebug.colors[Math.abs(hash) % createDebug.colors.length];
-      }
-      createDebug.selectColor = selectColor;
-      function createDebug(namespace) {
-        let prevTime;
-        let enableOverride = null;
-        let namespacesCache;
-        let enabledCache;
-        function debug4(...args) {
-          if (!debug4.enabled) {
-            return;
+        if (error3) {
+          for (const retriableError of retriableErrors) {
+            if (error3.name.toUpperCase().includes(retriableError) || error3.message.toUpperCase().includes(retriableError) || error3.code && error3.code.toString().toUpperCase() === retriableError) {
+              log_js_1.logger.info(`RetryPolicy: Network error ${retriableError} found, will retry.`);
+              return true;
+            }
           }
-          const self2 = debug4;
-          const curr = Number(/* @__PURE__ */ new Date());
-          const ms = curr - (prevTime || curr);
-          self2.diff = ms;
-          self2.prev = prevTime;
-          self2.curr = curr;
-          prevTime = curr;
-          args[0] = createDebug.coerce(args[0]);
-          if (typeof args[0] !== "string") {
-            args.unshift("%O");
+          if (error3?.code === "PARSE_ERROR" && error3?.message.startsWith(`Error "Error: Unclosed root tag`)) {
+            log_js_1.logger.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry.");
+            return true;
           }
-          let index = 0;
-          args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {
-            if (match === "%%") {
-              return "%";
-            }
-            index++;
-            const formatter = createDebug.formatters[format];
-            if (typeof formatter === "function") {
-              const val = args[index];
-              match = formatter.call(self2, val);
-              args.splice(index, 1);
-              index--;
-            }
-            return match;
-          });
-          createDebug.formatArgs.call(self2, args);
-          const logFn = self2.log || createDebug.log;
-          logFn.apply(self2, args);
         }
-        debug4.namespace = namespace;
-        debug4.useColors = createDebug.useColors();
-        debug4.color = createDebug.selectColor(namespace);
-        debug4.extend = extend3;
-        debug4.destroy = createDebug.destroy;
-        Object.defineProperty(debug4, "enabled", {
-          enumerable: true,
-          configurable: false,
-          get: () => {
-            if (enableOverride !== null) {
-              return enableOverride;
-            }
-            if (namespacesCache !== createDebug.namespaces) {
-              namespacesCache = createDebug.namespaces;
-              enabledCache = createDebug.enabled(namespace);
-            }
-            return enabledCache;
-          },
-          set: (v) => {
-            enableOverride = v;
+        if (response || error3) {
+          const statusCode = response?.status ?? error3?.statusCode ?? 0;
+          if (!isPrimaryRetry && statusCode === 404) {
+            log_js_1.logger.info(`RetryPolicy: Secondary access with 404, will retry.`);
+            return true;
           }
-        });
-        if (typeof createDebug.init === "function") {
-          createDebug.init(debug4);
-        }
-        return debug4;
-      }
-      function extend3(namespace, delimiter) {
-        const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace);
-        newDebug.log = this.log;
-        return newDebug;
-      }
-      function enable(namespaces) {
-        createDebug.save(namespaces);
-        createDebug.namespaces = namespaces;
-        createDebug.names = [];
-        createDebug.skips = [];
-        const split = (typeof namespaces === "string" ? namespaces : "").trim().replace(/\s+/g, ",").split(",").filter(Boolean);
-        for (const ns of split) {
-          if (ns[0] === "-") {
-            createDebug.skips.push(ns.slice(1));
-          } else {
-            createDebug.names.push(ns);
+          if (statusCode === 503 || statusCode === 500) {
+            log_js_1.logger.info(`RetryPolicy: Will retry for status code ${statusCode}.`);
+            return true;
           }
         }
-      }
-      function matchesTemplate(search, template) {
-        let searchIndex = 0;
-        let templateIndex = 0;
-        let starIndex = -1;
-        let matchIndex = 0;
-        while (searchIndex < search.length) {
-          if (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === "*")) {
-            if (template[templateIndex] === "*") {
-              starIndex = templateIndex;
-              matchIndex = searchIndex;
-              templateIndex++;
-            } else {
-              searchIndex++;
-              templateIndex++;
+        if (response) {
+          if (response?.status >= 400) {
+            const copySourceError = response.headers.get(constants_js_1.HeaderConstants.X_MS_CopySourceErrorCode);
+            if (copySourceError !== void 0) {
+              switch (copySourceError) {
+                case "InternalError":
+                case "OperationTimedOut":
+                case "ServerBusy":
+                  return true;
+              }
             }
-          } else if (starIndex !== -1) {
-            templateIndex = starIndex + 1;
-            matchIndex++;
-            searchIndex = matchIndex;
-          } else {
-            return false;
           }
         }
-        while (templateIndex < template.length && template[templateIndex] === "*") {
-          templateIndex++;
-        }
-        return templateIndex === template.length;
-      }
-      function disable() {
-        const namespaces = [
-          ...createDebug.names,
-          ...createDebug.skips.map((namespace) => "-" + namespace)
-        ].join(",");
-        createDebug.enable("");
-        return namespaces;
+        return false;
       }
-      function enabled(name) {
-        for (const skip of createDebug.skips) {
-          if (matchesTemplate(name, skip)) {
-            return false;
-          }
-        }
-        for (const ns of createDebug.names) {
-          if (matchesTemplate(name, ns)) {
-            return true;
+      function calculateDelay(isPrimaryRetry, attempt) {
+        let delayTimeInMs = 0;
+        if (isPrimaryRetry) {
+          switch (retryPolicyType) {
+            case StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.EXPONENTIAL:
+              delayTimeInMs = Math.min((Math.pow(2, attempt - 1) - 1) * retryDelayInMs, maxRetryDelayInMs);
+              break;
+            case StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.FIXED:
+              delayTimeInMs = retryDelayInMs;
+              break;
           }
+        } else {
+          delayTimeInMs = Math.random() * 1e3;
         }
-        return false;
+        log_js_1.logger.info(`RetryPolicy: Delay for ${delayTimeInMs}ms`);
+        return delayTimeInMs;
       }
-      function coerce3(val) {
-        if (val instanceof Error) {
-          return val.stack || val.message;
+      return {
+        name: exports2.storageRetryPolicyName,
+        async sendRequest(request2, next) {
+          if (tryTimeoutInMs) {
+            request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.TIMEOUT, String(Math.floor(tryTimeoutInMs / 1e3)));
+          }
+          const primaryUrl = request2.url;
+          const secondaryUrl = secondaryHost ? (0, utils_common_js_1.setURLHost)(request2.url, secondaryHost) : void 0;
+          let secondaryHas404 = false;
+          let attempt = 1;
+          let retryAgain = true;
+          let response;
+          let error3;
+          while (retryAgain) {
+            const isPrimaryRetry = secondaryHas404 || !secondaryUrl || !["GET", "HEAD", "OPTIONS"].includes(request2.method) || attempt % 2 === 1;
+            request2.url = isPrimaryRetry ? primaryUrl : secondaryUrl;
+            response = void 0;
+            error3 = void 0;
+            try {
+              log_js_1.logger.info(`RetryPolicy: =====> Try=${attempt} ${isPrimaryRetry ? "Primary" : "Secondary"}`);
+              response = await next(request2);
+              secondaryHas404 = secondaryHas404 || !isPrimaryRetry && response.status === 404;
+            } catch (e) {
+              if ((0, core_rest_pipeline_1.isRestError)(e)) {
+                log_js_1.logger.error(`RetryPolicy: Caught error, message: ${e.message}, code: ${e.code}`);
+                error3 = e;
+              } else {
+                log_js_1.logger.error(`RetryPolicy: Caught error, message: ${(0, core_util_1.getErrorMessage)(e)}`);
+                throw e;
+              }
+            }
+            retryAgain = shouldRetry({ isPrimaryRetry, attempt, response, error: error3 });
+            if (retryAgain) {
+              await (0, utils_common_js_1.delay)(calculateDelay(isPrimaryRetry, attempt), request2.abortSignal, RETRY_ABORT_ERROR);
+            }
+            attempt++;
+          }
+          if (response) {
+            return response;
+          }
+          throw error3 ?? new core_rest_pipeline_1.RestError("RetryPolicy failed without known error.");
         }
-        return val;
-      }
-      function destroy() {
-        console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
-      }
-      createDebug.enable(createDebug.load());
-      return createDebug;
+      };
     }
-    module2.exports = setup;
   }
 });
 
-// node_modules/debug/src/browser.js
-var require_browser = __commonJS({
-  "node_modules/debug/src/browser.js"(exports2, module2) {
-    exports2.formatArgs = formatArgs;
-    exports2.save = save;
-    exports2.load = load2;
-    exports2.useColors = useColors;
-    exports2.storage = localstorage();
-    exports2.destroy = /* @__PURE__ */ (() => {
-      let warned = false;
-      return () => {
-        if (!warned) {
-          warned = true;
-          console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
+// node_modules/@azure/storage-common/dist/commonjs/policies/StorageSharedKeyCredentialPolicyV2.js
+var require_StorageSharedKeyCredentialPolicyV2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageSharedKeyCredentialPolicyV2.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.storageSharedKeyCredentialPolicyName = void 0;
+    exports2.storageSharedKeyCredentialPolicy = storageSharedKeyCredentialPolicy;
+    var node_crypto_1 = require("node:crypto");
+    var constants_js_1 = require_constants16();
+    var utils_common_js_1 = require_utils_common2();
+    var SharedKeyComparator_js_1 = require_SharedKeyComparator2();
+    exports2.storageSharedKeyCredentialPolicyName = "storageSharedKeyCredentialPolicy";
+    function storageSharedKeyCredentialPolicy(options) {
+      function signRequest(request2) {
+        request2.headers.set(constants_js_1.HeaderConstants.X_MS_DATE, (/* @__PURE__ */ new Date()).toUTCString());
+        if (request2.body && (typeof request2.body === "string" || Buffer.isBuffer(request2.body)) && request2.body.length > 0) {
+          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
         }
-      };
-    })();
-    exports2.colors = [
-      "#0000CC",
-      "#0000FF",
-      "#0033CC",
-      "#0033FF",
-      "#0066CC",
-      "#0066FF",
-      "#0099CC",
-      "#0099FF",
-      "#00CC00",
-      "#00CC33",
-      "#00CC66",
-      "#00CC99",
-      "#00CCCC",
-      "#00CCFF",
-      "#3300CC",
-      "#3300FF",
-      "#3333CC",
-      "#3333FF",
-      "#3366CC",
-      "#3366FF",
-      "#3399CC",
-      "#3399FF",
-      "#33CC00",
-      "#33CC33",
-      "#33CC66",
-      "#33CC99",
-      "#33CCCC",
-      "#33CCFF",
-      "#6600CC",
-      "#6600FF",
-      "#6633CC",
-      "#6633FF",
-      "#66CC00",
-      "#66CC33",
-      "#9900CC",
-      "#9900FF",
-      "#9933CC",
-      "#9933FF",
-      "#99CC00",
-      "#99CC33",
-      "#CC0000",
-      "#CC0033",
-      "#CC0066",
-      "#CC0099",
-      "#CC00CC",
-      "#CC00FF",
-      "#CC3300",
-      "#CC3333",
-      "#CC3366",
-      "#CC3399",
-      "#CC33CC",
-      "#CC33FF",
-      "#CC6600",
-      "#CC6633",
-      "#CC9900",
-      "#CC9933",
-      "#CCCC00",
-      "#CCCC33",
-      "#FF0000",
-      "#FF0033",
-      "#FF0066",
-      "#FF0099",
-      "#FF00CC",
-      "#FF00FF",
-      "#FF3300",
-      "#FF3333",
-      "#FF3366",
-      "#FF3399",
-      "#FF33CC",
-      "#FF33FF",
-      "#FF6600",
-      "#FF6633",
-      "#FF9900",
-      "#FF9933",
-      "#FFCC00",
-      "#FFCC33"
-    ];
-    function useColors() {
-      if (typeof window !== "undefined" && window.process && (window.process.type === "renderer" || window.process.__nwjs)) {
-        return true;
-      }
-      if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
-        return false;
-      }
-      let m;
-      return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // Is firebug? http://stackoverflow.com/a/398120/376773
-      typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31?
-      // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
-      typeof navigator !== "undefined" && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)) && parseInt(m[1], 10) >= 31 || // Double check webkit in userAgent just in case we are in a worker
-      typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);
-    }
-    function formatArgs(args) {
-      args[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args[0] + (this.useColors ? "%c " : " ") + "+" + module2.exports.humanize(this.diff);
-      if (!this.useColors) {
-        return;
+        const stringToSign = [
+          request2.method.toUpperCase(),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LANGUAGE),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_ENCODING),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LENGTH),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_MD5),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_TYPE),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.DATE),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MODIFIED_SINCE),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MATCH),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_NONE_MATCH),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_UNMODIFIED_SINCE),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.RANGE)
+        ].join("\n") + "\n" + getCanonicalizedHeadersString(request2) + getCanonicalizedResourceString(request2);
+        const signature = (0, node_crypto_1.createHmac)("sha256", options.accountKey).update(stringToSign, "utf8").digest("base64");
+        request2.headers.set(constants_js_1.HeaderConstants.AUTHORIZATION, `SharedKey ${options.accountName}:${signature}`);
       }
-      const c = "color: " + this.color;
-      args.splice(1, 0, c, "color: inherit");
-      let index = 0;
-      let lastC = 0;
-      args[0].replace(/%[a-zA-Z%]/g, (match) => {
-        if (match === "%%") {
-          return;
+      function getHeaderValueToSign(request2, headerName) {
+        const value = request2.headers.get(headerName);
+        if (!value) {
+          return "";
         }
-        index++;
-        if (match === "%c") {
-          lastC = index;
+        if (headerName === constants_js_1.HeaderConstants.CONTENT_LENGTH && value === "0") {
+          return "";
         }
-      });
-      args.splice(lastC, 0, c);
-    }
-    exports2.log = console.debug || console.log || (() => {
-    });
-    function save(namespaces) {
-      try {
-        if (namespaces) {
-          exports2.storage.setItem("debug", namespaces);
-        } else {
-          exports2.storage.removeItem("debug");
+        return value;
+      }
+      function getCanonicalizedHeadersString(request2) {
+        let headersArray = [];
+        for (const [name, value] of request2.headers) {
+          if (name.toLowerCase().startsWith(constants_js_1.HeaderConstants.PREFIX_FOR_STORAGE)) {
+            headersArray.push({ name, value });
+          }
+        }
+        headersArray.sort((a, b) => {
+          return (0, SharedKeyComparator_js_1.compareHeader)(a.name.toLowerCase(), b.name.toLowerCase());
+        });
+        headersArray = headersArray.filter((value, index, array) => {
+          if (index > 0 && value.name.toLowerCase() === array[index - 1].name.toLowerCase()) {
+            return false;
+          }
+          return true;
+        });
+        let canonicalizedHeadersStringToSign = "";
+        headersArray.forEach((header) => {
+          canonicalizedHeadersStringToSign += `${header.name.toLowerCase().trimRight()}:${header.value.trimLeft()}
+`;
+        });
+        return canonicalizedHeadersStringToSign;
+      }
+      function getCanonicalizedResourceString(request2) {
+        const path4 = (0, utils_common_js_1.getURLPath)(request2.url) || "/";
+        let canonicalizedResourceString = "";
+        canonicalizedResourceString += `/${options.accountName}${path4}`;
+        const queries = (0, utils_common_js_1.getURLQueries)(request2.url);
+        const lowercaseQueries = {};
+        if (queries) {
+          const queryKeys = [];
+          for (const key in queries) {
+            if (Object.prototype.hasOwnProperty.call(queries, key)) {
+              const lowercaseKey = key.toLowerCase();
+              lowercaseQueries[lowercaseKey] = queries[key];
+              queryKeys.push(lowercaseKey);
+            }
+          }
+          queryKeys.sort();
+          for (const key of queryKeys) {
+            canonicalizedResourceString += `
+${key}:${decodeURIComponent(lowercaseQueries[key])}`;
+          }
         }
-      } catch (error3) {
-      }
-    }
-    function load2() {
-      let r;
-      try {
-        r = exports2.storage.getItem("debug") || exports2.storage.getItem("DEBUG");
-      } catch (error3) {
-      }
-      if (!r && typeof process !== "undefined" && "env" in process) {
-        r = process.env.DEBUG;
+        return canonicalizedResourceString;
       }
-      return r;
+      return {
+        name: exports2.storageSharedKeyCredentialPolicyName,
+        async sendRequest(request2, next) {
+          signRequest(request2);
+          return next(request2);
+        }
+      };
     }
-    function localstorage() {
-      try {
-        return localStorage;
-      } catch (error3) {
-      }
+  }
+});
+
+// node_modules/@azure/storage-common/dist/commonjs/policies/StorageRequestFailureDetailsParserPolicy.js
+var require_StorageRequestFailureDetailsParserPolicy = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageRequestFailureDetailsParserPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.storageRequestFailureDetailsParserPolicyName = void 0;
+    exports2.storageRequestFailureDetailsParserPolicy = storageRequestFailureDetailsParserPolicy;
+    exports2.storageRequestFailureDetailsParserPolicyName = "storageRequestFailureDetailsParserPolicy";
+    function storageRequestFailureDetailsParserPolicy() {
+      return {
+        name: exports2.storageRequestFailureDetailsParserPolicyName,
+        async sendRequest(request2, next) {
+          try {
+            const response = await next(request2);
+            return response;
+          } catch (err) {
+            if (typeof err === "object" && err !== null && err.response && err.response.parsedBody) {
+              if (err.response.parsedBody.code === "InvalidHeaderValue" && err.response.parsedBody.HeaderName === "x-ms-version") {
+                err.message = "The provided service version is not enabled on this storage account. Please see https://learn.microsoft.com/rest/api/storageservices/versioning-for-the-azure-storage-services for additional information.\n";
+              }
+            }
+            throw err;
+          }
+        }
+      };
     }
-    module2.exports = require_common()(exports2);
-    var { formatters } = module2.exports;
-    formatters.j = function(v) {
-      try {
-        return JSON.stringify(v);
-      } catch (error3) {
-        return "[UnexpectedJSONParseError]: " + error3.message;
-      }
-    };
   }
 });
 
-// node_modules/has-flag/index.js
-var require_has_flag = __commonJS({
-  "node_modules/has-flag/index.js"(exports2, module2) {
+// node_modules/@azure/storage-common/dist/commonjs/index.js
+var require_commonjs13 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/index.js"(exports2) {
     "use strict";
-    module2.exports = (flag, argv = process.argv) => {
-      const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
-      const position = argv.indexOf(prefix + flag);
-      const terminatorPosition = argv.indexOf("--");
-      return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
-    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BaseRequestPolicy = exports2.getCachedDefaultHttpClient = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    tslib_1.__exportStar(require_BufferScheduler(), exports2);
+    var cache_js_1 = require_cache3();
+    Object.defineProperty(exports2, "getCachedDefaultHttpClient", { enumerable: true, get: function() {
+      return cache_js_1.getCachedDefaultHttpClient;
+    } });
+    tslib_1.__exportStar(require_StorageBrowserPolicyFactory(), exports2);
+    tslib_1.__exportStar(require_AnonymousCredential2(), exports2);
+    tslib_1.__exportStar(require_Credential2(), exports2);
+    tslib_1.__exportStar(require_StorageSharedKeyCredential2(), exports2);
+    tslib_1.__exportStar(require_StorageRetryPolicyFactory2(), exports2);
+    var RequestPolicy_js_1 = require_RequestPolicy2();
+    Object.defineProperty(exports2, "BaseRequestPolicy", { enumerable: true, get: function() {
+      return RequestPolicy_js_1.BaseRequestPolicy;
+    } });
+    tslib_1.__exportStar(require_AnonymousCredentialPolicy2(), exports2);
+    tslib_1.__exportStar(require_CredentialPolicy2(), exports2);
+    tslib_1.__exportStar(require_StorageBrowserPolicy(), exports2);
+    tslib_1.__exportStar(require_StorageBrowserPolicyV2(), exports2);
+    tslib_1.__exportStar(require_StorageCorrectContentLengthPolicy(), exports2);
+    tslib_1.__exportStar(require_StorageRetryPolicyType2(), exports2);
+    tslib_1.__exportStar(require_StorageRetryPolicy2(), exports2);
+    tslib_1.__exportStar(require_StorageRetryPolicyV2(), exports2);
+    tslib_1.__exportStar(require_StorageSharedKeyCredentialPolicy2(), exports2);
+    tslib_1.__exportStar(require_StorageSharedKeyCredentialPolicyV2(), exports2);
+    tslib_1.__exportStar(require_StorageRetryPolicyFactory2(), exports2);
+    tslib_1.__exportStar(require_StorageRequestFailureDetailsParserPolicy(), exports2);
   }
 });
 
-// node_modules/supports-color/index.js
-var require_supports_color = __commonJS({
-  "node_modules/supports-color/index.js"(exports2, module2) {
+// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageBrowserPolicyV2.js
+var require_StorageBrowserPolicyV22 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageBrowserPolicyV2.js"(exports2) {
     "use strict";
-    var os2 = require("os");
-    var tty = require("tty");
-    var hasFlag = require_has_flag();
-    var { env } = process;
-    var forceColor;
-    if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
-      forceColor = 0;
-    } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
-      forceColor = 1;
-    }
-    if ("FORCE_COLOR" in env) {
-      if (env.FORCE_COLOR === "true") {
-        forceColor = 1;
-      } else if (env.FORCE_COLOR === "false") {
-        forceColor = 0;
-      } else {
-        forceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env.FORCE_COLOR, 10), 3);
-      }
-    }
-    function translateLevel(level) {
-      if (level === 0) {
-        return false;
-      }
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.storageBrowserPolicyName = void 0;
+    exports2.storageBrowserPolicy = storageBrowserPolicy;
+    var core_util_1 = require_commonjs4();
+    var constants_js_1 = require_constants15();
+    var utils_common_js_1 = require_utils_common();
+    exports2.storageBrowserPolicyName = "storageBrowserPolicy";
+    function storageBrowserPolicy() {
       return {
-        level,
-        hasBasic: true,
-        has256: level >= 2,
-        has16m: level >= 3
+        name: exports2.storageBrowserPolicyName,
+        async sendRequest(request2, next) {
+          if (core_util_1.isNodeLike) {
+            return next(request2);
+          }
+          if (request2.method === "GET" || request2.method === "HEAD") {
+            request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.FORCE_BROWSER_NO_CACHE, (/* @__PURE__ */ new Date()).getTime().toString());
+          }
+          request2.headers.delete(constants_js_1.HeaderConstants.COOKIE);
+          request2.headers.delete(constants_js_1.HeaderConstants.CONTENT_LENGTH);
+          return next(request2);
+        }
       };
     }
-    function supportsColor(haveStream, streamIsTTY) {
-      if (forceColor === 0) {
-        return 0;
-      }
-      if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
-        return 3;
-      }
-      if (hasFlag("color=256")) {
-        return 2;
-      }
-      if (haveStream && !streamIsTTY && forceColor === void 0) {
-        return 0;
-      }
-      const min = forceColor || 0;
-      if (env.TERM === "dumb") {
-        return min;
-      }
-      if (process.platform === "win32") {
-        const osRelease = os2.release().split(".");
-        if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
-          return Number(osRelease[2]) >= 14931 ? 3 : 2;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicyV2.js
+var require_StorageRetryPolicyV22 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicyV2.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.storageRetryPolicyName = void 0;
+    exports2.storageRetryPolicy = storageRetryPolicy;
+    var abort_controller_1 = require_commonjs11();
+    var core_rest_pipeline_1 = require_commonjs6();
+    var core_util_1 = require_commonjs4();
+    var StorageRetryPolicyFactory_js_1 = require_StorageRetryPolicyFactory();
+    var constants_js_1 = require_constants15();
+    var utils_common_js_1 = require_utils_common();
+    var log_js_1 = require_log5();
+    exports2.storageRetryPolicyName = "storageRetryPolicy";
+    var DEFAULT_RETRY_OPTIONS = {
+      maxRetryDelayInMs: 120 * 1e3,
+      maxTries: 4,
+      retryDelayInMs: 4 * 1e3,
+      retryPolicyType: StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.EXPONENTIAL,
+      secondaryHost: "",
+      tryTimeoutInMs: void 0
+      // Use server side default timeout strategy
+    };
+    var retriableErrors = [
+      "ETIMEDOUT",
+      "ESOCKETTIMEDOUT",
+      "ECONNREFUSED",
+      "ECONNRESET",
+      "ENOENT",
+      "ENOTFOUND",
+      "TIMEOUT",
+      "EPIPE",
+      "REQUEST_SEND_ERROR"
+    ];
+    var RETRY_ABORT_ERROR = new abort_controller_1.AbortError("The operation was aborted.");
+    function storageRetryPolicy(options = {}) {
+      const retryPolicyType = options.retryPolicyType ?? DEFAULT_RETRY_OPTIONS.retryPolicyType;
+      const maxTries = options.maxTries ?? DEFAULT_RETRY_OPTIONS.maxTries;
+      const retryDelayInMs = options.retryDelayInMs ?? DEFAULT_RETRY_OPTIONS.retryDelayInMs;
+      const maxRetryDelayInMs = options.maxRetryDelayInMs ?? DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs;
+      const secondaryHost = options.secondaryHost ?? DEFAULT_RETRY_OPTIONS.secondaryHost;
+      const tryTimeoutInMs = options.tryTimeoutInMs ?? DEFAULT_RETRY_OPTIONS.tryTimeoutInMs;
+      function shouldRetry({ isPrimaryRetry, attempt, response, error: error3 }) {
+        if (attempt >= maxTries) {
+          log_js_1.logger.info(`RetryPolicy: Attempt(s) ${attempt} >= maxTries ${maxTries}, no further try.`);
+          return false;
         }
-        return 1;
-      }
-      if ("CI" in env) {
-        if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "GITHUB_ACTIONS", "BUILDKITE"].some((sign) => sign in env) || env.CI_NAME === "codeship") {
-          return 1;
+        if (error3) {
+          for (const retriableError of retriableErrors) {
+            if (error3.name.toUpperCase().includes(retriableError) || error3.message.toUpperCase().includes(retriableError) || error3.code && error3.code.toString().toUpperCase() === retriableError) {
+              log_js_1.logger.info(`RetryPolicy: Network error ${retriableError} found, will retry.`);
+              return true;
+            }
+          }
+          if (error3?.code === "PARSE_ERROR" && error3?.message.startsWith(`Error "Error: Unclosed root tag`)) {
+            log_js_1.logger.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry.");
+            return true;
+          }
         }
-        return min;
-      }
-      if ("TEAMCITY_VERSION" in env) {
-        return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
-      }
-      if (env.COLORTERM === "truecolor") {
-        return 3;
-      }
-      if ("TERM_PROGRAM" in env) {
-        const version = parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
-        switch (env.TERM_PROGRAM) {
-          case "iTerm.app":
-            return version >= 3 ? 3 : 2;
-          case "Apple_Terminal":
-            return 2;
+        if (response || error3) {
+          const statusCode = response?.status ?? error3?.statusCode ?? 0;
+          if (!isPrimaryRetry && statusCode === 404) {
+            log_js_1.logger.info(`RetryPolicy: Secondary access with 404, will retry.`);
+            return true;
+          }
+          if (statusCode === 503 || statusCode === 500) {
+            log_js_1.logger.info(`RetryPolicy: Will retry for status code ${statusCode}.`);
+            return true;
+          }
         }
+        if (response) {
+          if (response?.status >= 400) {
+            const copySourceError = response.headers.get(constants_js_1.HeaderConstants.X_MS_CopySourceErrorCode);
+            if (copySourceError !== void 0) {
+              switch (copySourceError) {
+                case "InternalError":
+                case "OperationTimedOut":
+                case "ServerBusy":
+                  return true;
+              }
+            }
+          }
+        }
+        return false;
       }
-      if (/-256(color)?$/i.test(env.TERM)) {
-        return 2;
-      }
-      if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
-        return 1;
-      }
-      if ("COLORTERM" in env) {
-        return 1;
+      function calculateDelay(isPrimaryRetry, attempt) {
+        let delayTimeInMs = 0;
+        if (isPrimaryRetry) {
+          switch (retryPolicyType) {
+            case StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.EXPONENTIAL:
+              delayTimeInMs = Math.min((Math.pow(2, attempt - 1) - 1) * retryDelayInMs, maxRetryDelayInMs);
+              break;
+            case StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.FIXED:
+              delayTimeInMs = retryDelayInMs;
+              break;
+          }
+        } else {
+          delayTimeInMs = Math.random() * 1e3;
+        }
+        log_js_1.logger.info(`RetryPolicy: Delay for ${delayTimeInMs}ms`);
+        return delayTimeInMs;
       }
-      return min;
-    }
-    function getSupportLevel(stream) {
-      const level = supportsColor(stream, stream && stream.isTTY);
-      return translateLevel(level);
+      return {
+        name: exports2.storageRetryPolicyName,
+        async sendRequest(request2, next) {
+          if (tryTimeoutInMs) {
+            request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.TIMEOUT, String(Math.floor(tryTimeoutInMs / 1e3)));
+          }
+          const primaryUrl = request2.url;
+          const secondaryUrl = secondaryHost ? (0, utils_common_js_1.setURLHost)(request2.url, secondaryHost) : void 0;
+          let secondaryHas404 = false;
+          let attempt = 1;
+          let retryAgain = true;
+          let response;
+          let error3;
+          while (retryAgain) {
+            const isPrimaryRetry = secondaryHas404 || !secondaryUrl || !["GET", "HEAD", "OPTIONS"].includes(request2.method) || attempt % 2 === 1;
+            request2.url = isPrimaryRetry ? primaryUrl : secondaryUrl;
+            response = void 0;
+            error3 = void 0;
+            try {
+              log_js_1.logger.info(`RetryPolicy: =====> Try=${attempt} ${isPrimaryRetry ? "Primary" : "Secondary"}`);
+              response = await next(request2);
+              secondaryHas404 = secondaryHas404 || !isPrimaryRetry && response.status === 404;
+            } catch (e) {
+              if ((0, core_rest_pipeline_1.isRestError)(e)) {
+                log_js_1.logger.error(`RetryPolicy: Caught error, message: ${e.message}, code: ${e.code}`);
+                error3 = e;
+              } else {
+                log_js_1.logger.error(`RetryPolicy: Caught error, message: ${(0, core_util_1.getErrorMessage)(e)}`);
+                throw e;
+              }
+            }
+            retryAgain = shouldRetry({ isPrimaryRetry, attempt, response, error: error3 });
+            if (retryAgain) {
+              await (0, utils_common_js_1.delay)(calculateDelay(isPrimaryRetry, attempt), request2.abortSignal, RETRY_ABORT_ERROR);
+            }
+            attempt++;
+          }
+          if (response) {
+            return response;
+          }
+          throw error3 ?? new core_rest_pipeline_1.RestError("RetryPolicy failed without known error.");
+        }
+      };
     }
-    module2.exports = {
-      supportsColor: getSupportLevel,
-      stdout: translateLevel(supportsColor(true, tty.isatty(1))),
-      stderr: translateLevel(supportsColor(true, tty.isatty(2)))
-    };
   }
 });
 
-// node_modules/debug/src/node.js
-var require_node = __commonJS({
-  "node_modules/debug/src/node.js"(exports2, module2) {
-    var tty = require("tty");
-    var util = require("util");
-    exports2.init = init;
-    exports2.log = log;
-    exports2.formatArgs = formatArgs;
-    exports2.save = save;
-    exports2.load = load2;
-    exports2.useColors = useColors;
-    exports2.destroy = util.deprecate(
-      () => {
-      },
-      "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."
-    );
-    exports2.colors = [6, 2, 3, 4, 5, 1];
-    try {
-      const supportsColor = require_supports_color();
-      if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {
-        exports2.colors = [
-          20,
-          21,
-          26,
-          27,
-          32,
-          33,
-          38,
-          39,
-          40,
-          41,
-          42,
-          43,
-          44,
-          45,
-          56,
-          57,
-          62,
-          63,
-          68,
-          69,
-          74,
-          75,
-          76,
-          77,
-          78,
-          79,
-          80,
-          81,
-          92,
-          93,
-          98,
-          99,
-          112,
-          113,
-          128,
-          129,
-          134,
-          135,
-          148,
-          149,
-          160,
-          161,
-          162,
-          163,
-          164,
-          165,
-          166,
-          167,
-          168,
-          169,
-          170,
-          171,
-          172,
-          173,
-          178,
-          179,
-          184,
-          185,
-          196,
-          197,
-          198,
-          199,
-          200,
-          201,
-          202,
-          203,
-          204,
-          205,
-          206,
-          207,
-          208,
-          209,
-          214,
-          215,
-          220,
-          221
-        ];
-      }
-    } catch (error3) {
-    }
-    exports2.inspectOpts = Object.keys(process.env).filter((key) => {
-      return /^debug_/i.test(key);
-    }).reduce((obj, key) => {
-      const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_2, k) => {
-        return k.toUpperCase();
-      });
-      let val = process.env[key];
-      if (/^(yes|on|true|enabled)$/i.test(val)) {
-        val = true;
-      } else if (/^(no|off|false|disabled)$/i.test(val)) {
-        val = false;
-      } else if (val === "null") {
-        val = null;
-      } else {
-        val = Number(val);
-      }
-      obj[prop] = val;
-      return obj;
-    }, {});
-    function useColors() {
-      return "colors" in exports2.inspectOpts ? Boolean(exports2.inspectOpts.colors) : tty.isatty(process.stderr.fd);
-    }
-    function formatArgs(args) {
-      const { namespace: name, useColors: useColors2 } = this;
-      if (useColors2) {
-        const c = this.color;
-        const colorCode = "\x1B[3" + (c < 8 ? c : "8;5;" + c);
-        const prefix = `  ${colorCode};1m${name} \x1B[0m`;
-        args[0] = prefix + args[0].split("\n").join("\n" + prefix);
-        args.push(colorCode + "m+" + module2.exports.humanize(this.diff) + "\x1B[0m");
-      } else {
-        args[0] = getDate() + name + " " + args[0];
+// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageSharedKeyCredentialPolicyV2.js
+var require_StorageSharedKeyCredentialPolicyV22 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageSharedKeyCredentialPolicyV2.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.storageSharedKeyCredentialPolicyName = void 0;
+    exports2.storageSharedKeyCredentialPolicy = storageSharedKeyCredentialPolicy;
+    var node_crypto_1 = require("node:crypto");
+    var constants_js_1 = require_constants15();
+    var utils_common_js_1 = require_utils_common();
+    var SharedKeyComparator_js_1 = require_SharedKeyComparator();
+    exports2.storageSharedKeyCredentialPolicyName = "storageSharedKeyCredentialPolicy";
+    function storageSharedKeyCredentialPolicy(options) {
+      function signRequest(request2) {
+        request2.headers.set(constants_js_1.HeaderConstants.X_MS_DATE, (/* @__PURE__ */ new Date()).toUTCString());
+        if (request2.body && (typeof request2.body === "string" || Buffer.isBuffer(request2.body)) && request2.body.length > 0) {
+          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
+        }
+        const stringToSign = [
+          request2.method.toUpperCase(),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LANGUAGE),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_ENCODING),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LENGTH),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_MD5),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_TYPE),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.DATE),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MODIFIED_SINCE),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MATCH),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_NONE_MATCH),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_UNMODIFIED_SINCE),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.RANGE)
+        ].join("\n") + "\n" + getCanonicalizedHeadersString(request2) + getCanonicalizedResourceString(request2);
+        const signature = (0, node_crypto_1.createHmac)("sha256", options.accountKey).update(stringToSign, "utf8").digest("base64");
+        request2.headers.set(constants_js_1.HeaderConstants.AUTHORIZATION, `SharedKey ${options.accountName}:${signature}`);
       }
-    }
-    function getDate() {
-      if (exports2.inspectOpts.hideDate) {
-        return "";
+      function getHeaderValueToSign(request2, headerName) {
+        const value = request2.headers.get(headerName);
+        if (!value) {
+          return "";
+        }
+        if (headerName === constants_js_1.HeaderConstants.CONTENT_LENGTH && value === "0") {
+          return "";
+        }
+        return value;
       }
-      return (/* @__PURE__ */ new Date()).toISOString() + " ";
-    }
-    function log(...args) {
-      return process.stderr.write(util.formatWithOptions(exports2.inspectOpts, ...args) + "\n");
-    }
-    function save(namespaces) {
-      if (namespaces) {
-        process.env.DEBUG = namespaces;
-      } else {
-        delete process.env.DEBUG;
+      function getCanonicalizedHeadersString(request2) {
+        let headersArray = [];
+        for (const [name, value] of request2.headers) {
+          if (name.toLowerCase().startsWith(constants_js_1.HeaderConstants.PREFIX_FOR_STORAGE)) {
+            headersArray.push({ name, value });
+          }
+        }
+        headersArray.sort((a, b) => {
+          return (0, SharedKeyComparator_js_1.compareHeader)(a.name.toLowerCase(), b.name.toLowerCase());
+        });
+        headersArray = headersArray.filter((value, index, array) => {
+          if (index > 0 && value.name.toLowerCase() === array[index - 1].name.toLowerCase()) {
+            return false;
+          }
+          return true;
+        });
+        let canonicalizedHeadersStringToSign = "";
+        headersArray.forEach((header) => {
+          canonicalizedHeadersStringToSign += `${header.name.toLowerCase().trimRight()}:${header.value.trimLeft()}
+`;
+        });
+        return canonicalizedHeadersStringToSign;
       }
-    }
-    function load2() {
-      return process.env.DEBUG;
-    }
-    function init(debug4) {
-      debug4.inspectOpts = {};
-      const keys = Object.keys(exports2.inspectOpts);
-      for (let i = 0; i < keys.length; i++) {
-        debug4.inspectOpts[keys[i]] = exports2.inspectOpts[keys[i]];
+      function getCanonicalizedResourceString(request2) {
+        const path4 = (0, utils_common_js_1.getURLPath)(request2.url) || "/";
+        let canonicalizedResourceString = "";
+        canonicalizedResourceString += `/${options.accountName}${path4}`;
+        const queries = (0, utils_common_js_1.getURLQueries)(request2.url);
+        const lowercaseQueries = {};
+        if (queries) {
+          const queryKeys = [];
+          for (const key in queries) {
+            if (Object.prototype.hasOwnProperty.call(queries, key)) {
+              const lowercaseKey = key.toLowerCase();
+              lowercaseQueries[lowercaseKey] = queries[key];
+              queryKeys.push(lowercaseKey);
+            }
+          }
+          queryKeys.sort();
+          for (const key of queryKeys) {
+            canonicalizedResourceString += `
+${key}:${decodeURIComponent(lowercaseQueries[key])}`;
+          }
+        }
+        return canonicalizedResourceString;
       }
+      return {
+        name: exports2.storageSharedKeyCredentialPolicyName,
+        async sendRequest(request2, next) {
+          signRequest(request2);
+          return next(request2);
+        }
+      };
     }
-    module2.exports = require_common()(exports2);
-    var { formatters } = module2.exports;
-    formatters.o = function(v) {
-      this.inspectOpts.colors = this.useColors;
-      return util.inspect(v, this.inspectOpts).split("\n").map((str2) => str2.trim()).join(" ");
-    };
-    formatters.O = function(v) {
-      this.inspectOpts.colors = this.useColors;
-      return util.inspect(v, this.inspectOpts);
-    };
   }
 });
 
-// node_modules/debug/src/index.js
-var require_src = __commonJS({
-  "node_modules/debug/src/index.js"(exports2, module2) {
-    if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) {
-      module2.exports = require_browser();
-    } else {
-      module2.exports = require_node();
-    }
+// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageBrowserPolicy.js
+var require_StorageBrowserPolicy2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageBrowserPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageBrowserPolicy = void 0;
+    var RequestPolicy_js_1 = require_RequestPolicy();
+    var core_util_1 = require_commonjs4();
+    var constants_js_1 = require_constants15();
+    var utils_common_js_1 = require_utils_common();
+    var StorageBrowserPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
+      /**
+       * Creates an instance of StorageBrowserPolicy.
+       * @param nextPolicy -
+       * @param options -
+       */
+      // The base class has a protected constructor. Adding a public one to enable constructing of this class.
+      /* eslint-disable-next-line @typescript-eslint/no-useless-constructor*/
+      constructor(nextPolicy, options) {
+        super(nextPolicy, options);
+      }
+      /**
+       * Sends out request.
+       *
+       * @param request -
+       */
+      async sendRequest(request2) {
+        if (core_util_1.isNodeLike) {
+          return this._nextPolicy.sendRequest(request2);
+        }
+        if (request2.method.toUpperCase() === "GET" || request2.method.toUpperCase() === "HEAD") {
+          request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.FORCE_BROWSER_NO_CACHE, (/* @__PURE__ */ new Date()).getTime().toString());
+        }
+        request2.headers.remove(constants_js_1.HeaderConstants.COOKIE);
+        request2.headers.remove(constants_js_1.HeaderConstants.CONTENT_LENGTH);
+        return this._nextPolicy.sendRequest(request2);
+      }
+    };
+    exports2.StorageBrowserPolicy = StorageBrowserPolicy;
   }
 });
 
-// node_modules/agent-base/dist/helpers.js
-var require_helpers3 = __commonJS({
-  "node_modules/agent-base/dist/helpers.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/StorageBrowserPolicyFactory.js
+var require_StorageBrowserPolicyFactory2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/StorageBrowserPolicyFactory.js"(exports2) {
     "use strict";
-    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageBrowserPolicyFactory = exports2.StorageBrowserPolicy = void 0;
+    var StorageBrowserPolicy_js_1 = require_StorageBrowserPolicy2();
+    Object.defineProperty(exports2, "StorageBrowserPolicy", { enumerable: true, get: function() {
+      return StorageBrowserPolicy_js_1.StorageBrowserPolicy;
+    } });
+    var StorageBrowserPolicyFactory = class {
+      /**
+       * Creates a StorageBrowserPolicyFactory object.
+       *
+       * @param nextPolicy -
+       * @param options -
+       */
+      create(nextPolicy, options) {
+        return new StorageBrowserPolicy_js_1.StorageBrowserPolicy(nextPolicy, options);
       }
-      __setModuleDefault2(result, mod);
-      return result;
     };
+    exports2.StorageBrowserPolicyFactory = StorageBrowserPolicyFactory;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageCorrectContentLengthPolicy.js
+var require_StorageCorrectContentLengthPolicy2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageCorrectContentLengthPolicy.js"(exports2) {
+    "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.req = exports2.json = exports2.toBuffer = void 0;
-    var http = __importStar2(require("http"));
-    var https2 = __importStar2(require("https"));
-    async function toBuffer(stream) {
-      let length = 0;
-      const chunks = [];
-      for await (const chunk of stream) {
-        length += chunk.length;
-        chunks.push(chunk);
-      }
-      return Buffer.concat(chunks, length);
-    }
-    exports2.toBuffer = toBuffer;
-    async function json2(stream) {
-      const buf = await toBuffer(stream);
-      const str2 = buf.toString("utf8");
-      try {
-        return JSON.parse(str2);
-      } catch (_err) {
-        const err = _err;
-        err.message += ` (input: ${str2})`;
-        throw err;
+    exports2.storageCorrectContentLengthPolicyName = void 0;
+    exports2.storageCorrectContentLengthPolicy = storageCorrectContentLengthPolicy;
+    var constants_js_1 = require_constants15();
+    exports2.storageCorrectContentLengthPolicyName = "StorageCorrectContentLengthPolicy";
+    function storageCorrectContentLengthPolicy() {
+      function correctContentLength(request2) {
+        if (request2.body && (typeof request2.body === "string" || Buffer.isBuffer(request2.body)) && request2.body.length > 0) {
+          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
+        }
       }
+      return {
+        name: exports2.storageCorrectContentLengthPolicyName,
+        async sendRequest(request2, next) {
+          correctContentLength(request2);
+          return next(request2);
+        }
+      };
     }
-    exports2.json = json2;
-    function req(url, opts = {}) {
-      const href = typeof url === "string" ? url : url.href;
-      const req2 = (href.startsWith("https:") ? https2 : http).request(url, opts);
-      const promise = new Promise((resolve3, reject) => {
-        req2.once("response", resolve3).once("error", reject).end();
-      });
-      req2.then = promise.then.bind(promise);
-      return req2;
-    }
-    exports2.req = req;
   }
 });
 
-// node_modules/agent-base/dist/index.js
-var require_dist = __commonJS({
-  "node_modules/agent-base/dist/index.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/Pipeline.js
+var require_Pipeline = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/Pipeline.js"(exports2) {
     "use strict";
-    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
-      }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
-      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p);
-    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Agent = void 0;
-    var net = __importStar2(require("net"));
-    var http = __importStar2(require("http"));
-    var https_1 = require("https");
-    __exportStar2(require_helpers3(), exports2);
-    var INTERNAL = /* @__PURE__ */ Symbol("AgentBaseInternalState");
-    var Agent = class extends http.Agent {
-      constructor(opts) {
-        super(opts);
-        this[INTERNAL] = {};
+    exports2.Pipeline = exports2.StorageOAuthScopes = void 0;
+    exports2.isPipelineLike = isPipelineLike;
+    exports2.newPipeline = newPipeline;
+    exports2.getCoreClientOptions = getCoreClientOptions;
+    exports2.getCredentialFromPipeline = getCredentialFromPipeline;
+    var core_http_compat_1 = require_commonjs9();
+    var core_rest_pipeline_1 = require_commonjs6();
+    var core_client_1 = require_commonjs8();
+    var core_xml_1 = require_commonjs10();
+    var core_auth_1 = require_commonjs7();
+    var log_js_1 = require_log5();
+    var StorageRetryPolicyFactory_js_1 = require_StorageRetryPolicyFactory();
+    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
+    var AnonymousCredential_js_1 = require_AnonymousCredential();
+    var constants_js_1 = require_constants15();
+    Object.defineProperty(exports2, "StorageOAuthScopes", { enumerable: true, get: function() {
+      return constants_js_1.StorageOAuthScopes;
+    } });
+    var storage_common_1 = require_commonjs13();
+    var StorageBrowserPolicyV2_js_1 = require_StorageBrowserPolicyV22();
+    var StorageRetryPolicyV2_js_1 = require_StorageRetryPolicyV22();
+    var StorageSharedKeyCredentialPolicyV2_js_1 = require_StorageSharedKeyCredentialPolicyV22();
+    var StorageBrowserPolicyFactory_js_1 = require_StorageBrowserPolicyFactory2();
+    var StorageCorrectContentLengthPolicy_js_1 = require_StorageCorrectContentLengthPolicy2();
+    function isPipelineLike(pipeline) {
+      if (!pipeline || typeof pipeline !== "object") {
+        return false;
       }
+      const castPipeline = pipeline;
+      return Array.isArray(castPipeline.factories) && typeof castPipeline.options === "object" && typeof castPipeline.toServiceClientOptions === "function";
+    }
+    var Pipeline = class {
       /**
-       * Determine whether this is an `http` or `https` request.
+       * A list of chained request policy factories.
        */
-      isSecureEndpoint(options) {
-        if (options) {
-          if (typeof options.secureEndpoint === "boolean") {
-            return options.secureEndpoint;
-          }
-          if (typeof options.protocol === "string") {
-            return options.protocol === "https:";
-          }
+      factories;
+      /**
+       * Configures pipeline logger and HTTP client.
+       */
+      options;
+      /**
+       * Creates an instance of Pipeline. Customize HTTPClient by implementing IHttpClient interface.
+       *
+       * @param factories -
+       * @param options -
+       */
+      constructor(factories, options = {}) {
+        this.factories = factories;
+        this.options = options;
+      }
+      /**
+       * Transfer Pipeline object to ServiceClientOptions object which is required by
+       * ServiceClient constructor.
+       *
+       * @returns The ServiceClientOptions object from this Pipeline.
+       */
+      toServiceClientOptions() {
+        return {
+          httpClient: this.options.httpClient,
+          requestPolicyFactories: this.factories
+        };
+      }
+    };
+    exports2.Pipeline = Pipeline;
+    function newPipeline(credential, pipelineOptions = {}) {
+      if (!credential) {
+        credential = new AnonymousCredential_js_1.AnonymousCredential();
+      }
+      const pipeline = new Pipeline([], pipelineOptions);
+      pipeline._credential = credential;
+      return pipeline;
+    }
+    function processDownlevelPipeline(pipeline) {
+      const knownFactoryFunctions = [
+        isAnonymousCredential,
+        isStorageSharedKeyCredential,
+        isCoreHttpBearerTokenFactory,
+        isStorageBrowserPolicyFactory,
+        isStorageRetryPolicyFactory,
+        isStorageTelemetryPolicyFactory,
+        isCoreHttpPolicyFactory
+      ];
+      if (pipeline.factories.length) {
+        const novelFactories = pipeline.factories.filter((factory) => {
+          return !knownFactoryFunctions.some((knownFactory) => knownFactory(factory));
+        });
+        if (novelFactories.length) {
+          const hasInjector = novelFactories.some((factory) => isInjectorPolicyFactory(factory));
+          return {
+            wrappedPolicies: (0, core_http_compat_1.createRequestPolicyFactoryPolicy)(novelFactories),
+            afterRetry: hasInjector
+          };
         }
-        const { stack } = new Error();
-        if (typeof stack !== "string")
-          return false;
-        return stack.split("\n").some((l) => l.indexOf("(https.js:") !== -1 || l.indexOf("node:https:") !== -1);
       }
-      // In order to support async signatures in `connect()` and Node's native
-      // connection pooling in `http.Agent`, the array of sockets for each origin
-      // has to be updated synchronously. This is so the length of the array is
-      // accurate when `addRequest()` is next called. We achieve this by creating a
-      // fake socket and adding it to `sockets[origin]` and incrementing
-      // `totalSocketCount`.
-      incrementSockets(name) {
-        if (this.maxSockets === Infinity && this.maxTotalSockets === Infinity) {
-          return null;
+      return void 0;
+    }
+    function getCoreClientOptions(pipeline) {
+      const { httpClient: v1Client, ...restOptions } = pipeline.options;
+      let httpClient = pipeline._coreHttpClient;
+      if (!httpClient) {
+        httpClient = v1Client ? (0, core_http_compat_1.convertHttpClient)(v1Client) : (0, storage_common_1.getCachedDefaultHttpClient)();
+        pipeline._coreHttpClient = httpClient;
+      }
+      let corePipeline = pipeline._corePipeline;
+      if (!corePipeline) {
+        const packageDetails = `azsdk-js-azure-storage-blob/${constants_js_1.SDK_VERSION}`;
+        const userAgentPrefix = restOptions.userAgentOptions && restOptions.userAgentOptions.userAgentPrefix ? `${restOptions.userAgentOptions.userAgentPrefix} ${packageDetails}` : `${packageDetails}`;
+        corePipeline = (0, core_client_1.createClientPipeline)({
+          ...restOptions,
+          loggingOptions: {
+            additionalAllowedHeaderNames: constants_js_1.StorageBlobLoggingAllowedHeaderNames,
+            additionalAllowedQueryParameters: constants_js_1.StorageBlobLoggingAllowedQueryParameters,
+            logger: log_js_1.logger.info
+          },
+          userAgentOptions: {
+            userAgentPrefix
+          },
+          serializationOptions: {
+            stringifyXML: core_xml_1.stringifyXML,
+            serializerOptions: {
+              xml: {
+                // Use customized XML char key of "#" so we can deserialize metadata
+                // with "_" key
+                xmlCharKey: "#"
+              }
+            }
+          },
+          deserializationOptions: {
+            parseXML: core_xml_1.parseXML,
+            serializerOptions: {
+              xml: {
+                // Use customized XML char key of "#" so we can deserialize metadata
+                // with "_" key
+                xmlCharKey: "#"
+              }
+            }
+          }
+        });
+        corePipeline.removePolicy({ phase: "Retry" });
+        corePipeline.removePolicy({ name: core_rest_pipeline_1.decompressResponsePolicyName });
+        corePipeline.addPolicy((0, StorageCorrectContentLengthPolicy_js_1.storageCorrectContentLengthPolicy)());
+        corePipeline.addPolicy((0, StorageRetryPolicyV2_js_1.storageRetryPolicy)(restOptions.retryOptions), { phase: "Retry" });
+        corePipeline.addPolicy((0, storage_common_1.storageRequestFailureDetailsParserPolicy)());
+        corePipeline.addPolicy((0, StorageBrowserPolicyV2_js_1.storageBrowserPolicy)());
+        const downlevelResults = processDownlevelPipeline(pipeline);
+        if (downlevelResults) {
+          corePipeline.addPolicy(downlevelResults.wrappedPolicies, downlevelResults.afterRetry ? { afterPhase: "Retry" } : void 0);
         }
-        if (!this.sockets[name]) {
-          this.sockets[name] = [];
+        const credential = getCredentialFromPipeline(pipeline);
+        if ((0, core_auth_1.isTokenCredential)(credential)) {
+          corePipeline.addPolicy((0, core_rest_pipeline_1.bearerTokenAuthenticationPolicy)({
+            credential,
+            scopes: restOptions.audience ?? constants_js_1.StorageOAuthScopes,
+            challengeCallbacks: { authorizeRequestOnChallenge: core_client_1.authorizeRequestOnTenantChallenge }
+          }), { phase: "Sign" });
+        } else if (credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential) {
+          corePipeline.addPolicy((0, StorageSharedKeyCredentialPolicyV2_js_1.storageSharedKeyCredentialPolicy)({
+            accountName: credential.accountName,
+            accountKey: credential.accountKey
+          }), { phase: "Sign" });
         }
-        const fakeSocket = new net.Socket({ writable: false });
-        this.sockets[name].push(fakeSocket);
-        this.totalSocketCount++;
-        return fakeSocket;
+        pipeline._corePipeline = corePipeline;
       }
-      decrementSockets(name, socket) {
-        if (!this.sockets[name] || socket === null) {
-          return;
-        }
-        const sockets = this.sockets[name];
-        const index = sockets.indexOf(socket);
-        if (index !== -1) {
-          sockets.splice(index, 1);
-          this.totalSocketCount--;
-          if (sockets.length === 0) {
-            delete this.sockets[name];
-          }
+      return {
+        ...restOptions,
+        allowInsecureConnection: true,
+        httpClient,
+        pipeline: corePipeline
+      };
+    }
+    function getCredentialFromPipeline(pipeline) {
+      if (pipeline._credential) {
+        return pipeline._credential;
+      }
+      let credential = new AnonymousCredential_js_1.AnonymousCredential();
+      for (const factory of pipeline.factories) {
+        if ((0, core_auth_1.isTokenCredential)(factory.credential)) {
+          credential = factory.credential;
+        } else if (isStorageSharedKeyCredential(factory)) {
+          return factory;
         }
       }
-      // In order to properly update the socket pool, we need to call `getName()` on
-      // the core `https.Agent` if it is a secureEndpoint.
-      getName(options) {
-        const secureEndpoint = typeof options.secureEndpoint === "boolean" ? options.secureEndpoint : this.isSecureEndpoint(options);
-        if (secureEndpoint) {
-          return https_1.Agent.prototype.getName.call(this, options);
-        }
-        return super.getName(options);
+      return credential;
+    }
+    function isStorageSharedKeyCredential(factory) {
+      if (factory instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential) {
+        return true;
       }
-      createSocket(req, options, cb) {
-        const connectOpts = {
-          ...options,
-          secureEndpoint: this.isSecureEndpoint(options)
-        };
-        const name = this.getName(connectOpts);
-        const fakeSocket = this.incrementSockets(name);
-        Promise.resolve().then(() => this.connect(req, connectOpts)).then((socket) => {
-          this.decrementSockets(name, fakeSocket);
-          if (socket instanceof http.Agent) {
-            try {
-              return socket.addRequest(req, connectOpts);
-            } catch (err) {
-              return cb(err);
-            }
-          }
-          this[INTERNAL].currentSocket = socket;
-          super.createSocket(req, options, cb);
-        }, (err) => {
-          this.decrementSockets(name, fakeSocket);
-          cb(err);
-        });
+      return factory.constructor.name === "StorageSharedKeyCredential";
+    }
+    function isAnonymousCredential(factory) {
+      if (factory instanceof AnonymousCredential_js_1.AnonymousCredential) {
+        return true;
       }
-      createConnection() {
-        const socket = this[INTERNAL].currentSocket;
-        this[INTERNAL].currentSocket = void 0;
-        if (!socket) {
-          throw new Error("No socket was returned in the `connect()` function");
-        }
-        return socket;
+      return factory.constructor.name === "AnonymousCredential";
+    }
+    function isCoreHttpBearerTokenFactory(factory) {
+      return (0, core_auth_1.isTokenCredential)(factory.credential);
+    }
+    function isStorageBrowserPolicyFactory(factory) {
+      if (factory instanceof StorageBrowserPolicyFactory_js_1.StorageBrowserPolicyFactory) {
+        return true;
       }
-      get defaultPort() {
-        return this[INTERNAL].defaultPort ?? (this.protocol === "https:" ? 443 : 80);
+      return factory.constructor.name === "StorageBrowserPolicyFactory";
+    }
+    function isStorageRetryPolicyFactory(factory) {
+      if (factory instanceof StorageRetryPolicyFactory_js_1.StorageRetryPolicyFactory) {
+        return true;
       }
-      set defaultPort(v) {
-        if (this[INTERNAL]) {
-          this[INTERNAL].defaultPort = v;
+      return factory.constructor.name === "StorageRetryPolicyFactory";
+    }
+    function isStorageTelemetryPolicyFactory(factory) {
+      return factory.constructor.name === "TelemetryPolicyFactory";
+    }
+    function isInjectorPolicyFactory(factory) {
+      return factory.constructor.name === "InjectorPolicyFactory";
+    }
+    function isCoreHttpPolicyFactory(factory) {
+      const knownPolicies = [
+        "GenerateClientRequestIdPolicy",
+        "TracingPolicy",
+        "LogPolicy",
+        "ProxyPolicy",
+        "DisableResponseDecompressionPolicy",
+        "KeepAlivePolicy",
+        "DeserializationPolicy"
+      ];
+      const mockHttpClient = {
+        sendRequest: async (request2) => {
+          return {
+            request: request2,
+            headers: request2.headers.clone(),
+            status: 500
+          };
         }
-      }
-      get protocol() {
-        return this[INTERNAL].protocol ?? (this.isSecureEndpoint() ? "https:" : "http:");
-      }
-      set protocol(v) {
-        if (this[INTERNAL]) {
-          this[INTERNAL].protocol = v;
+      };
+      const mockRequestPolicyOptions = {
+        log(_logLevel, _message) {
+        },
+        shouldLog(_logLevel) {
+          return false;
         }
-      }
-    };
-    exports2.Agent = Agent;
+      };
+      const policyInstance = factory.create(mockHttpClient, mockRequestPolicyOptions);
+      const policyName = policyInstance.constructor.name;
+      return knownPolicies.some((knownPolicyName) => {
+        return policyName.startsWith(knownPolicyName);
+      });
+    }
   }
 });
 
-// node_modules/https-proxy-agent/dist/parse-proxy-response.js
-var require_parse_proxy_response = __commonJS({
-  "node_modules/https-proxy-agent/dist/parse-proxy-response.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/index.js
+var require_models = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/index.js"(exports2) {
     "use strict";
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
-    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.parseProxyResponse = void 0;
-    var debug_1 = __importDefault2(require_src());
-    var debug4 = (0, debug_1.default)("https-proxy-agent:parse-proxy-response");
-    function parseProxyResponse(socket) {
-      return new Promise((resolve3, reject) => {
-        let buffersLength = 0;
-        const buffers = [];
-        function read() {
-          const b = socket.read();
-          if (b)
-            ondata(b);
-          else
-            socket.once("readable", read);
-        }
-        function cleanup() {
-          socket.removeListener("end", onend);
-          socket.removeListener("error", onerror);
-          socket.removeListener("readable", read);
-        }
-        function onend() {
-          cleanup();
-          debug4("onend");
-          reject(new Error("Proxy connection ended before receiving CONNECT response"));
-        }
-        function onerror(err) {
-          cleanup();
-          debug4("onerror %o", err);
-          reject(err);
-        }
-        function ondata(b) {
-          buffers.push(b);
-          buffersLength += b.length;
-          const buffered = Buffer.concat(buffers, buffersLength);
-          const endOfHeaders = buffered.indexOf("\r\n\r\n");
-          if (endOfHeaders === -1) {
-            debug4("have not received end of HTTP headers yet...");
-            read();
-            return;
-          }
-          const headerParts = buffered.slice(0, endOfHeaders).toString("ascii").split("\r\n");
-          const firstLine = headerParts.shift();
-          if (!firstLine) {
-            socket.destroy();
-            return reject(new Error("No header received from proxy CONNECT response"));
-          }
-          const firstLineParts = firstLine.split(" ");
-          const statusCode = +firstLineParts[1];
-          const statusText = firstLineParts.slice(2).join(" ");
-          const headers = {};
-          for (const header of headerParts) {
-            if (!header)
-              continue;
-            const firstColon = header.indexOf(":");
-            if (firstColon === -1) {
-              socket.destroy();
-              return reject(new Error(`Invalid header from proxy CONNECT response: "${header}"`));
-            }
-            const key = header.slice(0, firstColon).toLowerCase();
-            const value = header.slice(firstColon + 1).trimStart();
-            const current = headers[key];
-            if (typeof current === "string") {
-              headers[key] = [current, value];
-            } else if (Array.isArray(current)) {
-              current.push(value);
-            } else {
-              headers[key] = value;
-            }
-          }
-          debug4("got proxy server response: %o %o", firstLine, headers);
-          cleanup();
-          resolve3({
-            connect: {
-              statusCode,
-              statusText,
-              headers
-            },
-            buffered
-          });
-        }
-        socket.on("error", onerror);
-        socket.on("end", onend);
-        read();
-      });
-    }
-    exports2.parseProxyResponse = parseProxyResponse;
+    exports2.KnownStorageErrorCode = exports2.KnownBlobExpiryOptions = exports2.KnownFileShareTokenIntent = exports2.KnownEncryptionAlgorithmType = void 0;
+    var KnownEncryptionAlgorithmType;
+    (function(KnownEncryptionAlgorithmType2) {
+      KnownEncryptionAlgorithmType2["AES256"] = "AES256";
+    })(KnownEncryptionAlgorithmType || (exports2.KnownEncryptionAlgorithmType = KnownEncryptionAlgorithmType = {}));
+    var KnownFileShareTokenIntent;
+    (function(KnownFileShareTokenIntent2) {
+      KnownFileShareTokenIntent2["Backup"] = "backup";
+    })(KnownFileShareTokenIntent || (exports2.KnownFileShareTokenIntent = KnownFileShareTokenIntent = {}));
+    var KnownBlobExpiryOptions;
+    (function(KnownBlobExpiryOptions2) {
+      KnownBlobExpiryOptions2["NeverExpire"] = "NeverExpire";
+      KnownBlobExpiryOptions2["RelativeToCreation"] = "RelativeToCreation";
+      KnownBlobExpiryOptions2["RelativeToNow"] = "RelativeToNow";
+      KnownBlobExpiryOptions2["Absolute"] = "Absolute";
+    })(KnownBlobExpiryOptions || (exports2.KnownBlobExpiryOptions = KnownBlobExpiryOptions = {}));
+    var KnownStorageErrorCode;
+    (function(KnownStorageErrorCode2) {
+      KnownStorageErrorCode2["AccountAlreadyExists"] = "AccountAlreadyExists";
+      KnownStorageErrorCode2["AccountBeingCreated"] = "AccountBeingCreated";
+      KnownStorageErrorCode2["AccountIsDisabled"] = "AccountIsDisabled";
+      KnownStorageErrorCode2["AuthenticationFailed"] = "AuthenticationFailed";
+      KnownStorageErrorCode2["AuthorizationFailure"] = "AuthorizationFailure";
+      KnownStorageErrorCode2["ConditionHeadersNotSupported"] = "ConditionHeadersNotSupported";
+      KnownStorageErrorCode2["ConditionNotMet"] = "ConditionNotMet";
+      KnownStorageErrorCode2["EmptyMetadataKey"] = "EmptyMetadataKey";
+      KnownStorageErrorCode2["InsufficientAccountPermissions"] = "InsufficientAccountPermissions";
+      KnownStorageErrorCode2["InternalError"] = "InternalError";
+      KnownStorageErrorCode2["InvalidAuthenticationInfo"] = "InvalidAuthenticationInfo";
+      KnownStorageErrorCode2["InvalidHeaderValue"] = "InvalidHeaderValue";
+      KnownStorageErrorCode2["InvalidHttpVerb"] = "InvalidHttpVerb";
+      KnownStorageErrorCode2["InvalidInput"] = "InvalidInput";
+      KnownStorageErrorCode2["InvalidMd5"] = "InvalidMd5";
+      KnownStorageErrorCode2["InvalidMetadata"] = "InvalidMetadata";
+      KnownStorageErrorCode2["InvalidQueryParameterValue"] = "InvalidQueryParameterValue";
+      KnownStorageErrorCode2["InvalidRange"] = "InvalidRange";
+      KnownStorageErrorCode2["InvalidResourceName"] = "InvalidResourceName";
+      KnownStorageErrorCode2["InvalidUri"] = "InvalidUri";
+      KnownStorageErrorCode2["InvalidXmlDocument"] = "InvalidXmlDocument";
+      KnownStorageErrorCode2["InvalidXmlNodeValue"] = "InvalidXmlNodeValue";
+      KnownStorageErrorCode2["Md5Mismatch"] = "Md5Mismatch";
+      KnownStorageErrorCode2["MetadataTooLarge"] = "MetadataTooLarge";
+      KnownStorageErrorCode2["MissingContentLengthHeader"] = "MissingContentLengthHeader";
+      KnownStorageErrorCode2["MissingRequiredQueryParameter"] = "MissingRequiredQueryParameter";
+      KnownStorageErrorCode2["MissingRequiredHeader"] = "MissingRequiredHeader";
+      KnownStorageErrorCode2["MissingRequiredXmlNode"] = "MissingRequiredXmlNode";
+      KnownStorageErrorCode2["MultipleConditionHeadersNotSupported"] = "MultipleConditionHeadersNotSupported";
+      KnownStorageErrorCode2["OperationTimedOut"] = "OperationTimedOut";
+      KnownStorageErrorCode2["OutOfRangeInput"] = "OutOfRangeInput";
+      KnownStorageErrorCode2["OutOfRangeQueryParameterValue"] = "OutOfRangeQueryParameterValue";
+      KnownStorageErrorCode2["RequestBodyTooLarge"] = "RequestBodyTooLarge";
+      KnownStorageErrorCode2["ResourceTypeMismatch"] = "ResourceTypeMismatch";
+      KnownStorageErrorCode2["RequestUrlFailedToParse"] = "RequestUrlFailedToParse";
+      KnownStorageErrorCode2["ResourceAlreadyExists"] = "ResourceAlreadyExists";
+      KnownStorageErrorCode2["ResourceNotFound"] = "ResourceNotFound";
+      KnownStorageErrorCode2["ServerBusy"] = "ServerBusy";
+      KnownStorageErrorCode2["UnsupportedHeader"] = "UnsupportedHeader";
+      KnownStorageErrorCode2["UnsupportedXmlNode"] = "UnsupportedXmlNode";
+      KnownStorageErrorCode2["UnsupportedQueryParameter"] = "UnsupportedQueryParameter";
+      KnownStorageErrorCode2["UnsupportedHttpVerb"] = "UnsupportedHttpVerb";
+      KnownStorageErrorCode2["AppendPositionConditionNotMet"] = "AppendPositionConditionNotMet";
+      KnownStorageErrorCode2["BlobAlreadyExists"] = "BlobAlreadyExists";
+      KnownStorageErrorCode2["BlobImmutableDueToPolicy"] = "BlobImmutableDueToPolicy";
+      KnownStorageErrorCode2["BlobNotFound"] = "BlobNotFound";
+      KnownStorageErrorCode2["BlobOverwritten"] = "BlobOverwritten";
+      KnownStorageErrorCode2["BlobTierInadequateForContentLength"] = "BlobTierInadequateForContentLength";
+      KnownStorageErrorCode2["BlobUsesCustomerSpecifiedEncryption"] = "BlobUsesCustomerSpecifiedEncryption";
+      KnownStorageErrorCode2["BlockCountExceedsLimit"] = "BlockCountExceedsLimit";
+      KnownStorageErrorCode2["BlockListTooLong"] = "BlockListTooLong";
+      KnownStorageErrorCode2["CannotChangeToLowerTier"] = "CannotChangeToLowerTier";
+      KnownStorageErrorCode2["CannotVerifyCopySource"] = "CannotVerifyCopySource";
+      KnownStorageErrorCode2["ContainerAlreadyExists"] = "ContainerAlreadyExists";
+      KnownStorageErrorCode2["ContainerBeingDeleted"] = "ContainerBeingDeleted";
+      KnownStorageErrorCode2["ContainerDisabled"] = "ContainerDisabled";
+      KnownStorageErrorCode2["ContainerNotFound"] = "ContainerNotFound";
+      KnownStorageErrorCode2["ContentLengthLargerThanTierLimit"] = "ContentLengthLargerThanTierLimit";
+      KnownStorageErrorCode2["CopyAcrossAccountsNotSupported"] = "CopyAcrossAccountsNotSupported";
+      KnownStorageErrorCode2["CopyIdMismatch"] = "CopyIdMismatch";
+      KnownStorageErrorCode2["FeatureVersionMismatch"] = "FeatureVersionMismatch";
+      KnownStorageErrorCode2["IncrementalCopyBlobMismatch"] = "IncrementalCopyBlobMismatch";
+      KnownStorageErrorCode2["IncrementalCopyOfEarlierVersionSnapshotNotAllowed"] = "IncrementalCopyOfEarlierVersionSnapshotNotAllowed";
+      KnownStorageErrorCode2["IncrementalCopySourceMustBeSnapshot"] = "IncrementalCopySourceMustBeSnapshot";
+      KnownStorageErrorCode2["InfiniteLeaseDurationRequired"] = "InfiniteLeaseDurationRequired";
+      KnownStorageErrorCode2["InvalidBlobOrBlock"] = "InvalidBlobOrBlock";
+      KnownStorageErrorCode2["InvalidBlobTier"] = "InvalidBlobTier";
+      KnownStorageErrorCode2["InvalidBlobType"] = "InvalidBlobType";
+      KnownStorageErrorCode2["InvalidBlockId"] = "InvalidBlockId";
+      KnownStorageErrorCode2["InvalidBlockList"] = "InvalidBlockList";
+      KnownStorageErrorCode2["InvalidOperation"] = "InvalidOperation";
+      KnownStorageErrorCode2["InvalidPageRange"] = "InvalidPageRange";
+      KnownStorageErrorCode2["InvalidSourceBlobType"] = "InvalidSourceBlobType";
+      KnownStorageErrorCode2["InvalidSourceBlobUrl"] = "InvalidSourceBlobUrl";
+      KnownStorageErrorCode2["InvalidVersionForPageBlobOperation"] = "InvalidVersionForPageBlobOperation";
+      KnownStorageErrorCode2["LeaseAlreadyPresent"] = "LeaseAlreadyPresent";
+      KnownStorageErrorCode2["LeaseAlreadyBroken"] = "LeaseAlreadyBroken";
+      KnownStorageErrorCode2["LeaseIdMismatchWithBlobOperation"] = "LeaseIdMismatchWithBlobOperation";
+      KnownStorageErrorCode2["LeaseIdMismatchWithContainerOperation"] = "LeaseIdMismatchWithContainerOperation";
+      KnownStorageErrorCode2["LeaseIdMismatchWithLeaseOperation"] = "LeaseIdMismatchWithLeaseOperation";
+      KnownStorageErrorCode2["LeaseIdMissing"] = "LeaseIdMissing";
+      KnownStorageErrorCode2["LeaseIsBreakingAndCannotBeAcquired"] = "LeaseIsBreakingAndCannotBeAcquired";
+      KnownStorageErrorCode2["LeaseIsBreakingAndCannotBeChanged"] = "LeaseIsBreakingAndCannotBeChanged";
+      KnownStorageErrorCode2["LeaseIsBrokenAndCannotBeRenewed"] = "LeaseIsBrokenAndCannotBeRenewed";
+      KnownStorageErrorCode2["LeaseLost"] = "LeaseLost";
+      KnownStorageErrorCode2["LeaseNotPresentWithBlobOperation"] = "LeaseNotPresentWithBlobOperation";
+      KnownStorageErrorCode2["LeaseNotPresentWithContainerOperation"] = "LeaseNotPresentWithContainerOperation";
+      KnownStorageErrorCode2["LeaseNotPresentWithLeaseOperation"] = "LeaseNotPresentWithLeaseOperation";
+      KnownStorageErrorCode2["MaxBlobSizeConditionNotMet"] = "MaxBlobSizeConditionNotMet";
+      KnownStorageErrorCode2["NoAuthenticationInformation"] = "NoAuthenticationInformation";
+      KnownStorageErrorCode2["NoPendingCopyOperation"] = "NoPendingCopyOperation";
+      KnownStorageErrorCode2["OperationNotAllowedOnIncrementalCopyBlob"] = "OperationNotAllowedOnIncrementalCopyBlob";
+      KnownStorageErrorCode2["PendingCopyOperation"] = "PendingCopyOperation";
+      KnownStorageErrorCode2["PreviousSnapshotCannotBeNewer"] = "PreviousSnapshotCannotBeNewer";
+      KnownStorageErrorCode2["PreviousSnapshotNotFound"] = "PreviousSnapshotNotFound";
+      KnownStorageErrorCode2["PreviousSnapshotOperationNotSupported"] = "PreviousSnapshotOperationNotSupported";
+      KnownStorageErrorCode2["SequenceNumberConditionNotMet"] = "SequenceNumberConditionNotMet";
+      KnownStorageErrorCode2["SequenceNumberIncrementTooLarge"] = "SequenceNumberIncrementTooLarge";
+      KnownStorageErrorCode2["SnapshotCountExceeded"] = "SnapshotCountExceeded";
+      KnownStorageErrorCode2["SnapshotOperationRateExceeded"] = "SnapshotOperationRateExceeded";
+      KnownStorageErrorCode2["SnapshotsPresent"] = "SnapshotsPresent";
+      KnownStorageErrorCode2["SourceConditionNotMet"] = "SourceConditionNotMet";
+      KnownStorageErrorCode2["SystemInUse"] = "SystemInUse";
+      KnownStorageErrorCode2["TargetConditionNotMet"] = "TargetConditionNotMet";
+      KnownStorageErrorCode2["UnauthorizedBlobOverwrite"] = "UnauthorizedBlobOverwrite";
+      KnownStorageErrorCode2["BlobBeingRehydrated"] = "BlobBeingRehydrated";
+      KnownStorageErrorCode2["BlobArchived"] = "BlobArchived";
+      KnownStorageErrorCode2["BlobNotArchived"] = "BlobNotArchived";
+      KnownStorageErrorCode2["AuthorizationSourceIPMismatch"] = "AuthorizationSourceIPMismatch";
+      KnownStorageErrorCode2["AuthorizationProtocolMismatch"] = "AuthorizationProtocolMismatch";
+      KnownStorageErrorCode2["AuthorizationPermissionMismatch"] = "AuthorizationPermissionMismatch";
+      KnownStorageErrorCode2["AuthorizationServiceMismatch"] = "AuthorizationServiceMismatch";
+      KnownStorageErrorCode2["AuthorizationResourceTypeMismatch"] = "AuthorizationResourceTypeMismatch";
+      KnownStorageErrorCode2["BlobAccessTierNotSupportedForAccountType"] = "BlobAccessTierNotSupportedForAccountType";
+    })(KnownStorageErrorCode || (exports2.KnownStorageErrorCode = KnownStorageErrorCode = {}));
   }
 });
 
-// node_modules/https-proxy-agent/dist/index.js
-var require_dist2 = __commonJS({
-  "node_modules/https-proxy-agent/dist/index.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/mappers.js
+var require_mappers = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/mappers.js"(exports2) {
     "use strict";
-    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
-      }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
-    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.HttpsProxyAgent = void 0;
-    var net = __importStar2(require("net"));
-    var tls = __importStar2(require("tls"));
-    var assert_1 = __importDefault2(require("assert"));
-    var debug_1 = __importDefault2(require_src());
-    var agent_base_1 = require_dist();
-    var url_1 = require("url");
-    var parse_proxy_response_1 = require_parse_proxy_response();
-    var debug4 = (0, debug_1.default)("https-proxy-agent");
-    var setServernameFromNonIpHost = (options) => {
-      if (options.servername === void 0 && options.host && !net.isIP(options.host)) {
-        return {
-          ...options,
-          servername: options.host
-        };
-      }
-      return options;
-    };
-    var HttpsProxyAgent = class extends agent_base_1.Agent {
-      constructor(proxy, opts) {
-        super(opts);
-        this.options = { path: void 0 };
-        this.proxy = typeof proxy === "string" ? new url_1.URL(proxy) : proxy;
-        this.proxyHeaders = opts?.headers ?? {};
-        debug4("Creating new HttpsProxyAgent instance: %o", this.proxy.href);
-        const host = (this.proxy.hostname || this.proxy.host).replace(/^\[|\]$/g, "");
-        const port = this.proxy.port ? parseInt(this.proxy.port, 10) : this.proxy.protocol === "https:" ? 443 : 80;
-        this.connectOpts = {
-          // Attempt to negotiate http/1.1 for proxy servers that support http/2
-          ALPNProtocols: ["http/1.1"],
-          ...opts ? omit2(opts, "headers") : null,
-          host,
-          port
-        };
-      }
-      /**
-       * Called when the node-core HTTP client library is creating a
-       * new HTTP request.
-       */
-      async connect(req, opts) {
-        const { proxy } = this;
-        if (!opts.host) {
-          throw new TypeError('No "host" provided');
-        }
-        let socket;
-        if (proxy.protocol === "https:") {
-          debug4("Creating `tls.Socket`: %o", this.connectOpts);
-          socket = tls.connect(setServernameFromNonIpHost(this.connectOpts));
-        } else {
-          debug4("Creating `net.Socket`: %o", this.connectOpts);
-          socket = net.connect(this.connectOpts);
-        }
-        const headers = typeof this.proxyHeaders === "function" ? this.proxyHeaders() : { ...this.proxyHeaders };
-        const host = net.isIPv6(opts.host) ? `[${opts.host}]` : opts.host;
-        let payload = `CONNECT ${host}:${opts.port} HTTP/1.1\r
-`;
-        if (proxy.username || proxy.password) {
-          const auth2 = `${decodeURIComponent(proxy.username)}:${decodeURIComponent(proxy.password)}`;
-          headers["Proxy-Authorization"] = `Basic ${Buffer.from(auth2).toString("base64")}`;
-        }
-        headers.Host = `${host}:${opts.port}`;
-        if (!headers["Proxy-Connection"]) {
-          headers["Proxy-Connection"] = this.keepAlive ? "Keep-Alive" : "close";
-        }
-        for (const name of Object.keys(headers)) {
-          payload += `${name}: ${headers[name]}\r
-`;
-        }
-        const proxyResponsePromise = (0, parse_proxy_response_1.parseProxyResponse)(socket);
-        socket.write(`${payload}\r
-`);
-        const { connect, buffered } = await proxyResponsePromise;
-        req.emit("proxyConnect", connect);
-        this.emit("proxyConnect", connect, req);
-        if (connect.statusCode === 200) {
-          req.once("socket", resume);
-          if (opts.secureEndpoint) {
-            debug4("Upgrading socket connection to TLS");
-            return tls.connect({
-              ...omit2(setServernameFromNonIpHost(opts), "host", "path", "port"),
-              socket
-            });
+    exports2.ServiceGetUserDelegationKeyHeaders = exports2.ServiceListContainersSegmentExceptionHeaders = exports2.ServiceListContainersSegmentHeaders = exports2.ServiceGetStatisticsExceptionHeaders = exports2.ServiceGetStatisticsHeaders = exports2.ServiceGetPropertiesExceptionHeaders = exports2.ServiceGetPropertiesHeaders = exports2.ServiceSetPropertiesExceptionHeaders = exports2.ServiceSetPropertiesHeaders = exports2.ArrowField = exports2.ArrowConfiguration = exports2.JsonTextConfiguration = exports2.DelimitedTextConfiguration = exports2.QueryFormat = exports2.QuerySerialization = exports2.QueryRequest = exports2.ClearRange = exports2.PageRange = exports2.PageList = exports2.Block = exports2.BlockList = exports2.BlockLookupList = exports2.BlobPrefix = exports2.BlobHierarchyListSegment = exports2.ListBlobsHierarchySegmentResponse = exports2.BlobPropertiesInternal = exports2.BlobName = exports2.BlobItemInternal = exports2.BlobFlatListSegment = exports2.ListBlobsFlatSegmentResponse = exports2.AccessPolicy = exports2.SignedIdentifier = exports2.BlobTag = exports2.BlobTags = exports2.FilterBlobItem = exports2.FilterBlobSegment = exports2.UserDelegationKey = exports2.KeyInfo = exports2.ContainerProperties = exports2.ContainerItem = exports2.ListContainersSegmentResponse = exports2.GeoReplication = exports2.BlobServiceStatistics = exports2.StorageError = exports2.StaticWebsite = exports2.CorsRule = exports2.Metrics = exports2.RetentionPolicy = exports2.Logging = exports2.BlobServiceProperties = void 0;
+    exports2.BlobUndeleteHeaders = exports2.BlobDeleteExceptionHeaders = exports2.BlobDeleteHeaders = exports2.BlobGetPropertiesExceptionHeaders = exports2.BlobGetPropertiesHeaders = exports2.BlobDownloadExceptionHeaders = exports2.BlobDownloadHeaders = exports2.ContainerGetAccountInfoExceptionHeaders = exports2.ContainerGetAccountInfoHeaders = exports2.ContainerListBlobHierarchySegmentExceptionHeaders = exports2.ContainerListBlobHierarchySegmentHeaders = exports2.ContainerListBlobFlatSegmentExceptionHeaders = exports2.ContainerListBlobFlatSegmentHeaders = exports2.ContainerChangeLeaseExceptionHeaders = exports2.ContainerChangeLeaseHeaders = exports2.ContainerBreakLeaseExceptionHeaders = exports2.ContainerBreakLeaseHeaders = exports2.ContainerRenewLeaseExceptionHeaders = exports2.ContainerRenewLeaseHeaders = exports2.ContainerReleaseLeaseExceptionHeaders = exports2.ContainerReleaseLeaseHeaders = exports2.ContainerAcquireLeaseExceptionHeaders = exports2.ContainerAcquireLeaseHeaders = exports2.ContainerFilterBlobsExceptionHeaders = exports2.ContainerFilterBlobsHeaders = exports2.ContainerSubmitBatchExceptionHeaders = exports2.ContainerSubmitBatchHeaders = exports2.ContainerRenameExceptionHeaders = exports2.ContainerRenameHeaders = exports2.ContainerRestoreExceptionHeaders = exports2.ContainerRestoreHeaders = exports2.ContainerSetAccessPolicyExceptionHeaders = exports2.ContainerSetAccessPolicyHeaders = exports2.ContainerGetAccessPolicyExceptionHeaders = exports2.ContainerGetAccessPolicyHeaders = exports2.ContainerSetMetadataExceptionHeaders = exports2.ContainerSetMetadataHeaders = exports2.ContainerDeleteExceptionHeaders = exports2.ContainerDeleteHeaders = exports2.ContainerGetPropertiesExceptionHeaders = exports2.ContainerGetPropertiesHeaders = exports2.ContainerCreateExceptionHeaders = exports2.ContainerCreateHeaders = exports2.ServiceFilterBlobsExceptionHeaders = exports2.ServiceFilterBlobsHeaders = exports2.ServiceSubmitBatchExceptionHeaders = exports2.ServiceSubmitBatchHeaders = exports2.ServiceGetAccountInfoExceptionHeaders = exports2.ServiceGetAccountInfoHeaders = exports2.ServiceGetUserDelegationKeyExceptionHeaders = void 0;
+    exports2.PageBlobGetPageRangesHeaders = exports2.PageBlobUploadPagesFromURLExceptionHeaders = exports2.PageBlobUploadPagesFromURLHeaders = exports2.PageBlobClearPagesExceptionHeaders = exports2.PageBlobClearPagesHeaders = exports2.PageBlobUploadPagesExceptionHeaders = exports2.PageBlobUploadPagesHeaders = exports2.PageBlobCreateExceptionHeaders = exports2.PageBlobCreateHeaders = exports2.BlobSetTagsExceptionHeaders = exports2.BlobSetTagsHeaders = exports2.BlobGetTagsExceptionHeaders = exports2.BlobGetTagsHeaders = exports2.BlobQueryExceptionHeaders = exports2.BlobQueryHeaders = exports2.BlobGetAccountInfoExceptionHeaders = exports2.BlobGetAccountInfoHeaders = exports2.BlobSetTierExceptionHeaders = exports2.BlobSetTierHeaders = exports2.BlobAbortCopyFromURLExceptionHeaders = exports2.BlobAbortCopyFromURLHeaders = exports2.BlobCopyFromURLExceptionHeaders = exports2.BlobCopyFromURLHeaders = exports2.BlobStartCopyFromURLExceptionHeaders = exports2.BlobStartCopyFromURLHeaders = exports2.BlobCreateSnapshotExceptionHeaders = exports2.BlobCreateSnapshotHeaders = exports2.BlobBreakLeaseExceptionHeaders = exports2.BlobBreakLeaseHeaders = exports2.BlobChangeLeaseExceptionHeaders = exports2.BlobChangeLeaseHeaders = exports2.BlobRenewLeaseExceptionHeaders = exports2.BlobRenewLeaseHeaders = exports2.BlobReleaseLeaseExceptionHeaders = exports2.BlobReleaseLeaseHeaders = exports2.BlobAcquireLeaseExceptionHeaders = exports2.BlobAcquireLeaseHeaders = exports2.BlobSetMetadataExceptionHeaders = exports2.BlobSetMetadataHeaders = exports2.BlobSetLegalHoldExceptionHeaders = exports2.BlobSetLegalHoldHeaders = exports2.BlobDeleteImmutabilityPolicyExceptionHeaders = exports2.BlobDeleteImmutabilityPolicyHeaders = exports2.BlobSetImmutabilityPolicyExceptionHeaders = exports2.BlobSetImmutabilityPolicyHeaders = exports2.BlobSetHttpHeadersExceptionHeaders = exports2.BlobSetHttpHeadersHeaders = exports2.BlobSetExpiryExceptionHeaders = exports2.BlobSetExpiryHeaders = exports2.BlobUndeleteExceptionHeaders = void 0;
+    exports2.BlockBlobGetBlockListExceptionHeaders = exports2.BlockBlobGetBlockListHeaders = exports2.BlockBlobCommitBlockListExceptionHeaders = exports2.BlockBlobCommitBlockListHeaders = exports2.BlockBlobStageBlockFromURLExceptionHeaders = exports2.BlockBlobStageBlockFromURLHeaders = exports2.BlockBlobStageBlockExceptionHeaders = exports2.BlockBlobStageBlockHeaders = exports2.BlockBlobPutBlobFromUrlExceptionHeaders = exports2.BlockBlobPutBlobFromUrlHeaders = exports2.BlockBlobUploadExceptionHeaders = exports2.BlockBlobUploadHeaders = exports2.AppendBlobSealExceptionHeaders = exports2.AppendBlobSealHeaders = exports2.AppendBlobAppendBlockFromUrlExceptionHeaders = exports2.AppendBlobAppendBlockFromUrlHeaders = exports2.AppendBlobAppendBlockExceptionHeaders = exports2.AppendBlobAppendBlockHeaders = exports2.AppendBlobCreateExceptionHeaders = exports2.AppendBlobCreateHeaders = exports2.PageBlobCopyIncrementalExceptionHeaders = exports2.PageBlobCopyIncrementalHeaders = exports2.PageBlobUpdateSequenceNumberExceptionHeaders = exports2.PageBlobUpdateSequenceNumberHeaders = exports2.PageBlobResizeExceptionHeaders = exports2.PageBlobResizeHeaders = exports2.PageBlobGetPageRangesDiffExceptionHeaders = exports2.PageBlobGetPageRangesDiffHeaders = exports2.PageBlobGetPageRangesExceptionHeaders = void 0;
+    exports2.BlobServiceProperties = {
+      serializedName: "BlobServiceProperties",
+      xmlName: "StorageServiceProperties",
+      type: {
+        name: "Composite",
+        className: "BlobServiceProperties",
+        modelProperties: {
+          blobAnalyticsLogging: {
+            serializedName: "Logging",
+            xmlName: "Logging",
+            type: {
+              name: "Composite",
+              className: "Logging"
+            }
+          },
+          hourMetrics: {
+            serializedName: "HourMetrics",
+            xmlName: "HourMetrics",
+            type: {
+              name: "Composite",
+              className: "Metrics"
+            }
+          },
+          minuteMetrics: {
+            serializedName: "MinuteMetrics",
+            xmlName: "MinuteMetrics",
+            type: {
+              name: "Composite",
+              className: "Metrics"
+            }
+          },
+          cors: {
+            serializedName: "Cors",
+            xmlName: "Cors",
+            xmlIsWrapped: true,
+            xmlElementName: "CorsRule",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "CorsRule"
+                }
+              }
+            }
+          },
+          defaultServiceVersion: {
+            serializedName: "DefaultServiceVersion",
+            xmlName: "DefaultServiceVersion",
+            type: {
+              name: "String"
+            }
+          },
+          deleteRetentionPolicy: {
+            serializedName: "DeleteRetentionPolicy",
+            xmlName: "DeleteRetentionPolicy",
+            type: {
+              name: "Composite",
+              className: "RetentionPolicy"
+            }
+          },
+          staticWebsite: {
+            serializedName: "StaticWebsite",
+            xmlName: "StaticWebsite",
+            type: {
+              name: "Composite",
+              className: "StaticWebsite"
+            }
           }
-          return socket;
         }
-        socket.destroy();
-        const fakeSocket = new net.Socket({ writable: false });
-        fakeSocket.readable = true;
-        req.once("socket", (s) => {
-          debug4("Replaying proxy buffer for failed request");
-          (0, assert_1.default)(s.listenerCount("data") > 0);
-          s.push(buffered);
-          s.push(null);
-        });
-        return fakeSocket;
       }
     };
-    HttpsProxyAgent.protocols = ["http", "https"];
-    exports2.HttpsProxyAgent = HttpsProxyAgent;
-    function resume(socket) {
-      socket.resume();
-    }
-    function omit2(obj, ...keys) {
-      const ret = {};
-      let key;
-      for (key in obj) {
-        if (!keys.includes(key)) {
-          ret[key] = obj[key];
+    exports2.Logging = {
+      serializedName: "Logging",
+      type: {
+        name: "Composite",
+        className: "Logging",
+        modelProperties: {
+          version: {
+            serializedName: "Version",
+            required: true,
+            xmlName: "Version",
+            type: {
+              name: "String"
+            }
+          },
+          deleteProperty: {
+            serializedName: "Delete",
+            required: true,
+            xmlName: "Delete",
+            type: {
+              name: "Boolean"
+            }
+          },
+          read: {
+            serializedName: "Read",
+            required: true,
+            xmlName: "Read",
+            type: {
+              name: "Boolean"
+            }
+          },
+          write: {
+            serializedName: "Write",
+            required: true,
+            xmlName: "Write",
+            type: {
+              name: "Boolean"
+            }
+          },
+          retentionPolicy: {
+            serializedName: "RetentionPolicy",
+            xmlName: "RetentionPolicy",
+            type: {
+              name: "Composite",
+              className: "RetentionPolicy"
+            }
+          }
         }
       }
-      return ret;
-    }
-  }
-});
-
-// node_modules/http-proxy-agent/dist/index.js
-var require_dist3 = __commonJS({
-  "node_modules/http-proxy-agent/dist/index.js"(exports2) {
-    "use strict";
-    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
-      }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
     };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.HttpProxyAgent = void 0;
-    var net = __importStar2(require("net"));
-    var tls = __importStar2(require("tls"));
-    var debug_1 = __importDefault2(require_src());
-    var events_1 = require("events");
-    var agent_base_1 = require_dist();
-    var url_1 = require("url");
-    var debug4 = (0, debug_1.default)("http-proxy-agent");
-    var HttpProxyAgent = class extends agent_base_1.Agent {
-      constructor(proxy, opts) {
-        super(opts);
-        this.proxy = typeof proxy === "string" ? new url_1.URL(proxy) : proxy;
-        this.proxyHeaders = opts?.headers ?? {};
-        debug4("Creating new HttpProxyAgent instance: %o", this.proxy.href);
-        const host = (this.proxy.hostname || this.proxy.host).replace(/^\[|\]$/g, "");
-        const port = this.proxy.port ? parseInt(this.proxy.port, 10) : this.proxy.protocol === "https:" ? 443 : 80;
-        this.connectOpts = {
-          ...opts ? omit2(opts, "headers") : null,
-          host,
-          port
-        };
-      }
-      addRequest(req, opts) {
-        req._header = null;
-        this.setRequestProps(req, opts);
-        super.addRequest(req, opts);
-      }
-      setRequestProps(req, opts) {
-        const { proxy } = this;
-        const protocol = opts.secureEndpoint ? "https:" : "http:";
-        const hostname = req.getHeader("host") || "localhost";
-        const base = `${protocol}//${hostname}`;
-        const url = new url_1.URL(req.path, base);
-        if (opts.port !== 80) {
-          url.port = String(opts.port);
-        }
-        req.path = String(url);
-        const headers = typeof this.proxyHeaders === "function" ? this.proxyHeaders() : { ...this.proxyHeaders };
-        if (proxy.username || proxy.password) {
-          const auth2 = `${decodeURIComponent(proxy.username)}:${decodeURIComponent(proxy.password)}`;
-          headers["Proxy-Authorization"] = `Basic ${Buffer.from(auth2).toString("base64")}`;
-        }
-        if (!headers["Proxy-Connection"]) {
-          headers["Proxy-Connection"] = this.keepAlive ? "Keep-Alive" : "close";
-        }
-        for (const name of Object.keys(headers)) {
-          const value = headers[name];
-          if (value) {
-            req.setHeader(name, value);
+    exports2.RetentionPolicy = {
+      serializedName: "RetentionPolicy",
+      type: {
+        name: "Composite",
+        className: "RetentionPolicy",
+        modelProperties: {
+          enabled: {
+            serializedName: "Enabled",
+            required: true,
+            xmlName: "Enabled",
+            type: {
+              name: "Boolean"
+            }
+          },
+          days: {
+            constraints: {
+              InclusiveMinimum: 1
+            },
+            serializedName: "Days",
+            xmlName: "Days",
+            type: {
+              name: "Number"
+            }
           }
         }
       }
-      async connect(req, opts) {
-        req._header = null;
-        if (!req.path.includes("://")) {
-          this.setRequestProps(req, opts);
-        }
-        let first;
-        let endOfHeaders;
-        debug4("Regenerating stored HTTP header string for request");
-        req._implicitHeader();
-        if (req.outputData && req.outputData.length > 0) {
-          debug4("Patching connection write() output buffer with updated header");
-          first = req.outputData[0].data;
-          endOfHeaders = first.indexOf("\r\n\r\n") + 4;
-          req.outputData[0].data = req._header + first.substring(endOfHeaders);
-          debug4("Output buffer: %o", req.outputData[0].data);
-        }
-        let socket;
-        if (this.proxy.protocol === "https:") {
-          debug4("Creating `tls.Socket`: %o", this.connectOpts);
-          socket = tls.connect(this.connectOpts);
-        } else {
-          debug4("Creating `net.Socket`: %o", this.connectOpts);
-          socket = net.connect(this.connectOpts);
-        }
-        await (0, events_1.once)(socket, "connect");
-        return socket;
-      }
     };
-    HttpProxyAgent.protocols = ["http", "https"];
-    exports2.HttpProxyAgent = HttpProxyAgent;
-    function omit2(obj, ...keys) {
-      const ret = {};
-      let key;
-      for (key in obj) {
-        if (!keys.includes(key)) {
-          ret[key] = obj[key];
+    exports2.Metrics = {
+      serializedName: "Metrics",
+      type: {
+        name: "Composite",
+        className: "Metrics",
+        modelProperties: {
+          version: {
+            serializedName: "Version",
+            xmlName: "Version",
+            type: {
+              name: "String"
+            }
+          },
+          enabled: {
+            serializedName: "Enabled",
+            required: true,
+            xmlName: "Enabled",
+            type: {
+              name: "Boolean"
+            }
+          },
+          includeAPIs: {
+            serializedName: "IncludeAPIs",
+            xmlName: "IncludeAPIs",
+            type: {
+              name: "Boolean"
+            }
+          },
+          retentionPolicy: {
+            serializedName: "RetentionPolicy",
+            xmlName: "RetentionPolicy",
+            type: {
+              name: "Composite",
+              className: "RetentionPolicy"
+            }
+          }
         }
       }
-      return ret;
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/proxyPolicy.js
-var require_proxyPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/proxyPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.globalNoProxyList = exports2.proxyPolicyName = void 0;
-    exports2.loadNoProxy = loadNoProxy;
-    exports2.getDefaultProxySettings = getDefaultProxySettings;
-    exports2.proxyPolicy = proxyPolicy;
-    var https_proxy_agent_1 = require_dist2();
-    var http_proxy_agent_1 = require_dist3();
-    var log_js_1 = require_log2();
-    var HTTPS_PROXY = "HTTPS_PROXY";
-    var HTTP_PROXY = "HTTP_PROXY";
-    var ALL_PROXY = "ALL_PROXY";
-    var NO_PROXY = "NO_PROXY";
-    exports2.proxyPolicyName = "proxyPolicy";
-    exports2.globalNoProxyList = [];
-    var noProxyListLoaded = false;
-    var globalBypassedMap = /* @__PURE__ */ new Map();
-    function getEnvironmentValue(name) {
-      if (process.env[name]) {
-        return process.env[name];
-      } else if (process.env[name.toLowerCase()]) {
-        return process.env[name.toLowerCase()];
-      }
-      return void 0;
-    }
-    function loadEnvironmentProxyValue() {
-      if (!process) {
-        return void 0;
-      }
-      const httpsProxy = getEnvironmentValue(HTTPS_PROXY);
-      const allProxy = getEnvironmentValue(ALL_PROXY);
-      const httpProxy = getEnvironmentValue(HTTP_PROXY);
-      return httpsProxy || allProxy || httpProxy;
-    }
-    function isBypassed(uri, noProxyList, bypassedMap) {
-      if (noProxyList.length === 0) {
-        return false;
-      }
-      const host = new URL(uri).hostname;
-      if (bypassedMap?.has(host)) {
-        return bypassedMap.get(host);
-      }
-      let isBypassedFlag = false;
-      for (const pattern of noProxyList) {
-        if (pattern[0] === ".") {
-          if (host.endsWith(pattern)) {
-            isBypassedFlag = true;
-          } else {
-            if (host.length === pattern.length - 1 && host === pattern.slice(1)) {
-              isBypassedFlag = true;
+    };
+    exports2.CorsRule = {
+      serializedName: "CorsRule",
+      type: {
+        name: "Composite",
+        className: "CorsRule",
+        modelProperties: {
+          allowedOrigins: {
+            serializedName: "AllowedOrigins",
+            required: true,
+            xmlName: "AllowedOrigins",
+            type: {
+              name: "String"
+            }
+          },
+          allowedMethods: {
+            serializedName: "AllowedMethods",
+            required: true,
+            xmlName: "AllowedMethods",
+            type: {
+              name: "String"
+            }
+          },
+          allowedHeaders: {
+            serializedName: "AllowedHeaders",
+            required: true,
+            xmlName: "AllowedHeaders",
+            type: {
+              name: "String"
+            }
+          },
+          exposedHeaders: {
+            serializedName: "ExposedHeaders",
+            required: true,
+            xmlName: "ExposedHeaders",
+            type: {
+              name: "String"
+            }
+          },
+          maxAgeInSeconds: {
+            constraints: {
+              InclusiveMinimum: 0
+            },
+            serializedName: "MaxAgeInSeconds",
+            required: true,
+            xmlName: "MaxAgeInSeconds",
+            type: {
+              name: "Number"
             }
-          }
-        } else {
-          if (host === pattern) {
-            isBypassedFlag = true;
           }
         }
       }
-      bypassedMap?.set(host, isBypassedFlag);
-      return isBypassedFlag;
-    }
-    function loadNoProxy() {
-      const noProxy = getEnvironmentValue(NO_PROXY);
-      noProxyListLoaded = true;
-      if (noProxy) {
-        return noProxy.split(",").map((item) => item.trim()).filter((item) => item.length);
-      }
-      return [];
-    }
-    function getDefaultProxySettings(proxyUrl) {
-      if (!proxyUrl) {
-        proxyUrl = loadEnvironmentProxyValue();
-        if (!proxyUrl) {
-          return void 0;
+    };
+    exports2.StaticWebsite = {
+      serializedName: "StaticWebsite",
+      type: {
+        name: "Composite",
+        className: "StaticWebsite",
+        modelProperties: {
+          enabled: {
+            serializedName: "Enabled",
+            required: true,
+            xmlName: "Enabled",
+            type: {
+              name: "Boolean"
+            }
+          },
+          indexDocument: {
+            serializedName: "IndexDocument",
+            xmlName: "IndexDocument",
+            type: {
+              name: "String"
+            }
+          },
+          errorDocument404Path: {
+            serializedName: "ErrorDocument404Path",
+            xmlName: "ErrorDocument404Path",
+            type: {
+              name: "String"
+            }
+          },
+          defaultIndexDocumentPath: {
+            serializedName: "DefaultIndexDocumentPath",
+            xmlName: "DefaultIndexDocumentPath",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-      const parsedUrl = new URL(proxyUrl);
-      const schema2 = parsedUrl.protocol ? parsedUrl.protocol + "//" : "";
-      return {
-        host: schema2 + parsedUrl.hostname,
-        port: Number.parseInt(parsedUrl.port || "80"),
-        username: parsedUrl.username,
-        password: parsedUrl.password
-      };
-    }
-    function getDefaultProxySettingsInternal() {
-      const envProxy = loadEnvironmentProxyValue();
-      return envProxy ? new URL(envProxy) : void 0;
-    }
-    function getUrlFromProxySettings(settings) {
-      let parsedProxyUrl;
-      try {
-        parsedProxyUrl = new URL(settings.host);
-      } catch {
-        throw new Error(`Expecting a valid host string in proxy settings, but found "${settings.host}".`);
-      }
-      parsedProxyUrl.port = String(settings.port);
-      if (settings.username) {
-        parsedProxyUrl.username = settings.username;
-      }
-      if (settings.password) {
-        parsedProxyUrl.password = settings.password;
-      }
-      return parsedProxyUrl;
-    }
-    function setProxyAgentOnRequest(request2, cachedAgents, proxyUrl) {
-      if (request2.agent) {
-        return;
+    };
+    exports2.StorageError = {
+      serializedName: "StorageError",
+      type: {
+        name: "Composite",
+        className: "StorageError",
+        modelProperties: {
+          message: {
+            serializedName: "Message",
+            xmlName: "Message",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceStatusCode: {
+            serializedName: "CopySourceStatusCode",
+            xmlName: "CopySourceStatusCode",
+            type: {
+              name: "Number"
+            }
+          },
+          copySourceErrorCode: {
+            serializedName: "CopySourceErrorCode",
+            xmlName: "CopySourceErrorCode",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceErrorMessage: {
+            serializedName: "CopySourceErrorMessage",
+            xmlName: "CopySourceErrorMessage",
+            type: {
+              name: "String"
+            }
+          },
+          code: {
+            serializedName: "Code",
+            xmlName: "Code",
+            type: {
+              name: "String"
+            }
+          },
+          authenticationErrorDetail: {
+            serializedName: "AuthenticationErrorDetail",
+            xmlName: "AuthenticationErrorDetail",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      const url = new URL(request2.url);
-      const isInsecure = url.protocol !== "https:";
-      if (request2.tlsSettings) {
-        log_js_1.logger.warning("TLS settings are not supported in combination with custom Proxy, certificates provided to the client will be ignored.");
+    };
+    exports2.BlobServiceStatistics = {
+      serializedName: "BlobServiceStatistics",
+      xmlName: "StorageServiceStats",
+      type: {
+        name: "Composite",
+        className: "BlobServiceStatistics",
+        modelProperties: {
+          geoReplication: {
+            serializedName: "GeoReplication",
+            xmlName: "GeoReplication",
+            type: {
+              name: "Composite",
+              className: "GeoReplication"
+            }
+          }
+        }
       }
-      const headers = request2.headers.toJSON();
-      if (isInsecure) {
-        if (!cachedAgents.httpProxyAgent) {
-          cachedAgents.httpProxyAgent = new http_proxy_agent_1.HttpProxyAgent(proxyUrl, { headers });
+    };
+    exports2.GeoReplication = {
+      serializedName: "GeoReplication",
+      type: {
+        name: "Composite",
+        className: "GeoReplication",
+        modelProperties: {
+          status: {
+            serializedName: "Status",
+            required: true,
+            xmlName: "Status",
+            type: {
+              name: "Enum",
+              allowedValues: ["live", "bootstrap", "unavailable"]
+            }
+          },
+          lastSyncOn: {
+            serializedName: "LastSyncTime",
+            required: true,
+            xmlName: "LastSyncTime",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          }
         }
-        request2.agent = cachedAgents.httpProxyAgent;
-      } else {
-        if (!cachedAgents.httpsProxyAgent) {
-          cachedAgents.httpsProxyAgent = new https_proxy_agent_1.HttpsProxyAgent(proxyUrl, { headers });
+      }
+    };
+    exports2.ListContainersSegmentResponse = {
+      serializedName: "ListContainersSegmentResponse",
+      xmlName: "EnumerationResults",
+      type: {
+        name: "Composite",
+        className: "ListContainersSegmentResponse",
+        modelProperties: {
+          serviceEndpoint: {
+            serializedName: "ServiceEndpoint",
+            required: true,
+            xmlName: "ServiceEndpoint",
+            xmlIsAttribute: true,
+            type: {
+              name: "String"
+            }
+          },
+          prefix: {
+            serializedName: "Prefix",
+            xmlName: "Prefix",
+            type: {
+              name: "String"
+            }
+          },
+          marker: {
+            serializedName: "Marker",
+            xmlName: "Marker",
+            type: {
+              name: "String"
+            }
+          },
+          maxPageSize: {
+            serializedName: "MaxResults",
+            xmlName: "MaxResults",
+            type: {
+              name: "Number"
+            }
+          },
+          containerItems: {
+            serializedName: "ContainerItems",
+            required: true,
+            xmlName: "Containers",
+            xmlIsWrapped: true,
+            xmlElementName: "Container",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "ContainerItem"
+                }
+              }
+            }
+          },
+          continuationToken: {
+            serializedName: "NextMarker",
+            xmlName: "NextMarker",
+            type: {
+              name: "String"
+            }
+          }
         }
-        request2.agent = cachedAgents.httpsProxyAgent;
       }
-    }
-    function proxyPolicy(proxySettings, options) {
-      if (!noProxyListLoaded) {
-        exports2.globalNoProxyList.push(...loadNoProxy());
+    };
+    exports2.ContainerItem = {
+      serializedName: "ContainerItem",
+      xmlName: "Container",
+      type: {
+        name: "Composite",
+        className: "ContainerItem",
+        modelProperties: {
+          name: {
+            serializedName: "Name",
+            required: true,
+            xmlName: "Name",
+            type: {
+              name: "String"
+            }
+          },
+          deleted: {
+            serializedName: "Deleted",
+            xmlName: "Deleted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          version: {
+            serializedName: "Version",
+            xmlName: "Version",
+            type: {
+              name: "String"
+            }
+          },
+          properties: {
+            serializedName: "Properties",
+            xmlName: "Properties",
+            type: {
+              name: "Composite",
+              className: "ContainerProperties"
+            }
+          },
+          metadata: {
+            serializedName: "Metadata",
+            xmlName: "Metadata",
+            type: {
+              name: "Dictionary",
+              value: { type: { name: "String" } }
+            }
+          }
+        }
       }
-      const defaultProxy = proxySettings ? getUrlFromProxySettings(proxySettings) : getDefaultProxySettingsInternal();
-      const cachedAgents = {};
-      return {
-        name: exports2.proxyPolicyName,
-        async sendRequest(request2, next) {
-          if (!request2.proxySettings && defaultProxy && !isBypassed(request2.url, options?.customNoProxyList ?? exports2.globalNoProxyList, options?.customNoProxyList ? void 0 : globalBypassedMap)) {
-            setProxyAgentOnRequest(request2, cachedAgents, defaultProxy);
-          } else if (request2.proxySettings) {
-            setProxyAgentOnRequest(request2, cachedAgents, getUrlFromProxySettings(request2.proxySettings));
+    };
+    exports2.ContainerProperties = {
+      serializedName: "ContainerProperties",
+      type: {
+        name: "Composite",
+        className: "ContainerProperties",
+        modelProperties: {
+          lastModified: {
+            serializedName: "Last-Modified",
+            required: true,
+            xmlName: "Last-Modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          etag: {
+            serializedName: "Etag",
+            required: true,
+            xmlName: "Etag",
+            type: {
+              name: "String"
+            }
+          },
+          leaseStatus: {
+            serializedName: "LeaseStatus",
+            xmlName: "LeaseStatus",
+            type: {
+              name: "Enum",
+              allowedValues: ["locked", "unlocked"]
+            }
+          },
+          leaseState: {
+            serializedName: "LeaseState",
+            xmlName: "LeaseState",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "available",
+                "leased",
+                "expired",
+                "breaking",
+                "broken"
+              ]
+            }
+          },
+          leaseDuration: {
+            serializedName: "LeaseDuration",
+            xmlName: "LeaseDuration",
+            type: {
+              name: "Enum",
+              allowedValues: ["infinite", "fixed"]
+            }
+          },
+          publicAccess: {
+            serializedName: "PublicAccess",
+            xmlName: "PublicAccess",
+            type: {
+              name: "Enum",
+              allowedValues: ["container", "blob"]
+            }
+          },
+          hasImmutabilityPolicy: {
+            serializedName: "HasImmutabilityPolicy",
+            xmlName: "HasImmutabilityPolicy",
+            type: {
+              name: "Boolean"
+            }
+          },
+          hasLegalHold: {
+            serializedName: "HasLegalHold",
+            xmlName: "HasLegalHold",
+            type: {
+              name: "Boolean"
+            }
+          },
+          defaultEncryptionScope: {
+            serializedName: "DefaultEncryptionScope",
+            xmlName: "DefaultEncryptionScope",
+            type: {
+              name: "String"
+            }
+          },
+          preventEncryptionScopeOverride: {
+            serializedName: "DenyEncryptionScopeOverride",
+            xmlName: "DenyEncryptionScopeOverride",
+            type: {
+              name: "Boolean"
+            }
+          },
+          deletedOn: {
+            serializedName: "DeletedTime",
+            xmlName: "DeletedTime",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          remainingRetentionDays: {
+            serializedName: "RemainingRetentionDays",
+            xmlName: "RemainingRetentionDays",
+            type: {
+              name: "Number"
+            }
+          },
+          isImmutableStorageWithVersioningEnabled: {
+            serializedName: "ImmutableStorageWithVersioningEnabled",
+            xmlName: "ImmutableStorageWithVersioningEnabled",
+            type: {
+              name: "Boolean"
+            }
           }
-          return next(request2);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/agentPolicy.js
-var require_agentPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/agentPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.agentPolicyName = void 0;
-    exports2.agentPolicy = agentPolicy;
-    exports2.agentPolicyName = "agentPolicy";
-    function agentPolicy(agent) {
-      return {
-        name: exports2.agentPolicyName,
-        sendRequest: async (req, next) => {
-          if (!req.agent) {
-            req.agent = agent;
+      }
+    };
+    exports2.KeyInfo = {
+      serializedName: "KeyInfo",
+      type: {
+        name: "Composite",
+        className: "KeyInfo",
+        modelProperties: {
+          startsOn: {
+            serializedName: "Start",
+            required: true,
+            xmlName: "Start",
+            type: {
+              name: "String"
+            }
+          },
+          expiresOn: {
+            serializedName: "Expiry",
+            required: true,
+            xmlName: "Expiry",
+            type: {
+              name: "String"
+            }
           }
-          return next(req);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/tlsPolicy.js
-var require_tlsPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/tlsPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.tlsPolicyName = void 0;
-    exports2.tlsPolicy = tlsPolicy;
-    exports2.tlsPolicyName = "tlsPolicy";
-    function tlsPolicy(tlsSettings) {
-      return {
-        name: exports2.tlsPolicyName,
-        sendRequest: async (req, next) => {
-          if (!req.tlsSettings) {
-            req.tlsSettings = tlsSettings;
+      }
+    };
+    exports2.UserDelegationKey = {
+      serializedName: "UserDelegationKey",
+      type: {
+        name: "Composite",
+        className: "UserDelegationKey",
+        modelProperties: {
+          signedObjectId: {
+            serializedName: "SignedOid",
+            required: true,
+            xmlName: "SignedOid",
+            type: {
+              name: "String"
+            }
+          },
+          signedTenantId: {
+            serializedName: "SignedTid",
+            required: true,
+            xmlName: "SignedTid",
+            type: {
+              name: "String"
+            }
+          },
+          signedStartsOn: {
+            serializedName: "SignedStart",
+            required: true,
+            xmlName: "SignedStart",
+            type: {
+              name: "String"
+            }
+          },
+          signedExpiresOn: {
+            serializedName: "SignedExpiry",
+            required: true,
+            xmlName: "SignedExpiry",
+            type: {
+              name: "String"
+            }
+          },
+          signedService: {
+            serializedName: "SignedService",
+            required: true,
+            xmlName: "SignedService",
+            type: {
+              name: "String"
+            }
+          },
+          signedVersion: {
+            serializedName: "SignedVersion",
+            required: true,
+            xmlName: "SignedVersion",
+            type: {
+              name: "String"
+            }
+          },
+          value: {
+            serializedName: "Value",
+            required: true,
+            xmlName: "Value",
+            type: {
+              name: "String"
+            }
           }
-          return next(req);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/typeGuards.js
-var require_typeGuards = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/typeGuards.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isNodeReadableStream = isNodeReadableStream;
-    exports2.isWebReadableStream = isWebReadableStream;
-    exports2.isBinaryBody = isBinaryBody;
-    exports2.isReadableStream = isReadableStream;
-    exports2.isBlob = isBlob;
-    function isNodeReadableStream(x) {
-      return Boolean(x && typeof x["pipe"] === "function");
-    }
-    function isWebReadableStream(x) {
-      return Boolean(x && typeof x.getReader === "function" && typeof x.tee === "function");
-    }
-    function isBinaryBody(body) {
-      return body !== void 0 && (body instanceof Uint8Array || isReadableStream(body) || typeof body === "function" || body instanceof Blob);
-    }
-    function isReadableStream(x) {
-      return isNodeReadableStream(x) || isWebReadableStream(x);
-    }
-    function isBlob(x) {
-      return typeof x.stream === "function";
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/concat.js
-var require_concat = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/concat.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.concat = concat;
-    var stream_1 = require("stream");
-    var typeGuards_js_1 = require_typeGuards();
-    async function* streamAsyncIterator() {
-      const reader = this.getReader();
-      try {
-        while (true) {
-          const { done, value } = await reader.read();
-          if (done) {
-            return;
+      }
+    };
+    exports2.FilterBlobSegment = {
+      serializedName: "FilterBlobSegment",
+      xmlName: "EnumerationResults",
+      type: {
+        name: "Composite",
+        className: "FilterBlobSegment",
+        modelProperties: {
+          serviceEndpoint: {
+            serializedName: "ServiceEndpoint",
+            required: true,
+            xmlName: "ServiceEndpoint",
+            xmlIsAttribute: true,
+            type: {
+              name: "String"
+            }
+          },
+          where: {
+            serializedName: "Where",
+            required: true,
+            xmlName: "Where",
+            type: {
+              name: "String"
+            }
+          },
+          blobs: {
+            serializedName: "Blobs",
+            required: true,
+            xmlName: "Blobs",
+            xmlIsWrapped: true,
+            xmlElementName: "Blob",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "FilterBlobItem"
+                }
+              }
+            }
+          },
+          continuationToken: {
+            serializedName: "NextMarker",
+            xmlName: "NextMarker",
+            type: {
+              name: "String"
+            }
           }
-          yield value;
         }
-      } finally {
-        reader.releaseLock();
-      }
-    }
-    function makeAsyncIterable(webStream) {
-      if (!webStream[Symbol.asyncIterator]) {
-        webStream[Symbol.asyncIterator] = streamAsyncIterator.bind(webStream);
-      }
-      if (!webStream.values) {
-        webStream.values = streamAsyncIterator.bind(webStream);
-      }
-    }
-    function ensureNodeStream(stream) {
-      if (stream instanceof ReadableStream) {
-        makeAsyncIterable(stream);
-        return stream_1.Readable.fromWeb(stream);
-      } else {
-        return stream;
-      }
-    }
-    function toStream(source) {
-      if (source instanceof Uint8Array) {
-        return stream_1.Readable.from(Buffer.from(source));
-      } else if ((0, typeGuards_js_1.isBlob)(source)) {
-        return ensureNodeStream(source.stream());
-      } else {
-        return ensureNodeStream(source);
       }
-    }
-    async function concat(sources) {
-      return function() {
-        const streams = sources.map((x) => typeof x === "function" ? x() : x).map(toStream);
-        return stream_1.Readable.from((async function* () {
-          for (const stream of streams) {
-            for await (const chunk of stream) {
-              yield chunk;
+    };
+    exports2.FilterBlobItem = {
+      serializedName: "FilterBlobItem",
+      xmlName: "Blob",
+      type: {
+        name: "Composite",
+        className: "FilterBlobItem",
+        modelProperties: {
+          name: {
+            serializedName: "Name",
+            required: true,
+            xmlName: "Name",
+            type: {
+              name: "String"
+            }
+          },
+          containerName: {
+            serializedName: "ContainerName",
+            required: true,
+            xmlName: "ContainerName",
+            type: {
+              name: "String"
+            }
+          },
+          tags: {
+            serializedName: "Tags",
+            xmlName: "Tags",
+            type: {
+              name: "Composite",
+              className: "BlobTags"
             }
           }
-        })());
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/multipartPolicy.js
-var require_multipartPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/multipartPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.multipartPolicyName = void 0;
-    exports2.multipartPolicy = multipartPolicy;
-    var bytesEncoding_js_1 = require_bytesEncoding();
-    var typeGuards_js_1 = require_typeGuards();
-    var uuidUtils_js_1 = require_uuidUtils();
-    var concat_js_1 = require_concat();
-    function generateBoundary() {
-      return `----AzSDKFormBoundary${(0, uuidUtils_js_1.randomUUID)()}`;
-    }
-    function encodeHeaders(headers) {
-      let result = "";
-      for (const [key, value] of headers) {
-        result += `${key}: ${value}\r
-`;
-      }
-      return result;
-    }
-    function getLength(source) {
-      if (source instanceof Uint8Array) {
-        return source.byteLength;
-      } else if ((0, typeGuards_js_1.isBlob)(source)) {
-        return source.size === -1 ? void 0 : source.size;
-      } else {
-        return void 0;
-      }
-    }
-    function getTotalLength(sources) {
-      let total = 0;
-      for (const source of sources) {
-        const partLength = getLength(source);
-        if (partLength === void 0) {
-          return void 0;
-        } else {
-          total += partLength;
         }
       }
-      return total;
-    }
-    async function buildRequestBody(request2, parts, boundary) {
-      const sources = [
-        (0, bytesEncoding_js_1.stringToUint8Array)(`--${boundary}`, "utf-8"),
-        ...parts.flatMap((part) => [
-          (0, bytesEncoding_js_1.stringToUint8Array)("\r\n", "utf-8"),
-          (0, bytesEncoding_js_1.stringToUint8Array)(encodeHeaders(part.headers), "utf-8"),
-          (0, bytesEncoding_js_1.stringToUint8Array)("\r\n", "utf-8"),
-          part.body,
-          (0, bytesEncoding_js_1.stringToUint8Array)(`\r
---${boundary}`, "utf-8")
-        ]),
-        (0, bytesEncoding_js_1.stringToUint8Array)("--\r\n\r\n", "utf-8")
-      ];
-      const contentLength = getTotalLength(sources);
-      if (contentLength) {
-        request2.headers.set("Content-Length", contentLength);
-      }
-      request2.body = await (0, concat_js_1.concat)(sources);
-    }
-    exports2.multipartPolicyName = "multipartPolicy";
-    var maxBoundaryLength = 70;
-    var validBoundaryCharacters = new Set(`abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'()+,-./:=?`);
-    function assertValidBoundary(boundary) {
-      if (boundary.length > maxBoundaryLength) {
-        throw new Error(`Multipart boundary "${boundary}" exceeds maximum length of 70 characters`);
-      }
-      if (Array.from(boundary).some((x) => !validBoundaryCharacters.has(x))) {
-        throw new Error(`Multipart boundary "${boundary}" contains invalid characters`);
-      }
-    }
-    function multipartPolicy() {
-      return {
-        name: exports2.multipartPolicyName,
-        async sendRequest(request2, next) {
-          if (!request2.multipartBody) {
-            return next(request2);
-          }
-          if (request2.body) {
-            throw new Error("multipartBody and regular body cannot be set at the same time");
-          }
-          let boundary = request2.multipartBody.boundary;
-          const contentTypeHeader = request2.headers.get("Content-Type") ?? "multipart/mixed";
-          const parsedHeader = contentTypeHeader.match(/^(multipart\/[^ ;]+)(?:; *boundary=(.+))?$/);
-          if (!parsedHeader) {
-            throw new Error(`Got multipart request body, but content-type header was not multipart: ${contentTypeHeader}`);
-          }
-          const [, contentType, parsedBoundary] = parsedHeader;
-          if (parsedBoundary && boundary && parsedBoundary !== boundary) {
-            throw new Error(`Multipart boundary was specified as ${parsedBoundary} in the header, but got ${boundary} in the request body`);
+    };
+    exports2.BlobTags = {
+      serializedName: "BlobTags",
+      xmlName: "Tags",
+      type: {
+        name: "Composite",
+        className: "BlobTags",
+        modelProperties: {
+          blobTagSet: {
+            serializedName: "BlobTagSet",
+            required: true,
+            xmlName: "TagSet",
+            xmlIsWrapped: true,
+            xmlElementName: "Tag",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "BlobTag"
+                }
+              }
+            }
           }
-          boundary ??= parsedBoundary;
-          if (boundary) {
-            assertValidBoundary(boundary);
-          } else {
-            boundary = generateBoundary();
+        }
+      }
+    };
+    exports2.BlobTag = {
+      serializedName: "BlobTag",
+      xmlName: "Tag",
+      type: {
+        name: "Composite",
+        className: "BlobTag",
+        modelProperties: {
+          key: {
+            serializedName: "Key",
+            required: true,
+            xmlName: "Key",
+            type: {
+              name: "String"
+            }
+          },
+          value: {
+            serializedName: "Value",
+            required: true,
+            xmlName: "Value",
+            type: {
+              name: "String"
+            }
           }
-          request2.headers.set("Content-Type", `${contentType}; boundary=${boundary}`);
-          await buildRequestBody(request2, request2.multipartBody.parts, boundary);
-          request2.multipartBody = void 0;
-          return next(request2);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/createPipelineFromOptions.js
-var require_createPipelineFromOptions = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/createPipelineFromOptions.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createPipelineFromOptions = createPipelineFromOptions;
-    var logPolicy_js_1 = require_logPolicy();
-    var pipeline_js_1 = require_pipeline();
-    var redirectPolicy_js_1 = require_redirectPolicy();
-    var userAgentPolicy_js_1 = require_userAgentPolicy();
-    var decompressResponsePolicy_js_1 = require_decompressResponsePolicy();
-    var defaultRetryPolicy_js_1 = require_defaultRetryPolicy();
-    var formDataPolicy_js_1 = require_formDataPolicy();
-    var checkEnvironment_js_1 = require_checkEnvironment();
-    var proxyPolicy_js_1 = require_proxyPolicy();
-    var agentPolicy_js_1 = require_agentPolicy();
-    var tlsPolicy_js_1 = require_tlsPolicy();
-    var multipartPolicy_js_1 = require_multipartPolicy();
-    function createPipelineFromOptions(options) {
-      const pipeline = (0, pipeline_js_1.createEmptyPipeline)();
-      if (checkEnvironment_js_1.isNodeLike) {
-        if (options.agent) {
-          pipeline.addPolicy((0, agentPolicy_js_1.agentPolicy)(options.agent));
+      }
+    };
+    exports2.SignedIdentifier = {
+      serializedName: "SignedIdentifier",
+      xmlName: "SignedIdentifier",
+      type: {
+        name: "Composite",
+        className: "SignedIdentifier",
+        modelProperties: {
+          id: {
+            serializedName: "Id",
+            required: true,
+            xmlName: "Id",
+            type: {
+              name: "String"
+            }
+          },
+          accessPolicy: {
+            serializedName: "AccessPolicy",
+            xmlName: "AccessPolicy",
+            type: {
+              name: "Composite",
+              className: "AccessPolicy"
+            }
+          }
         }
-        if (options.tlsOptions) {
-          pipeline.addPolicy((0, tlsPolicy_js_1.tlsPolicy)(options.tlsOptions));
+      }
+    };
+    exports2.AccessPolicy = {
+      serializedName: "AccessPolicy",
+      type: {
+        name: "Composite",
+        className: "AccessPolicy",
+        modelProperties: {
+          startsOn: {
+            serializedName: "Start",
+            xmlName: "Start",
+            type: {
+              name: "String"
+            }
+          },
+          expiresOn: {
+            serializedName: "Expiry",
+            xmlName: "Expiry",
+            type: {
+              name: "String"
+            }
+          },
+          permissions: {
+            serializedName: "Permission",
+            xmlName: "Permission",
+            type: {
+              name: "String"
+            }
+          }
         }
-        pipeline.addPolicy((0, proxyPolicy_js_1.proxyPolicy)(options.proxyOptions));
-        pipeline.addPolicy((0, decompressResponsePolicy_js_1.decompressResponsePolicy)());
       }
-      pipeline.addPolicy((0, formDataPolicy_js_1.formDataPolicy)(), { beforePolicies: [multipartPolicy_js_1.multipartPolicyName] });
-      pipeline.addPolicy((0, userAgentPolicy_js_1.userAgentPolicy)(options.userAgentOptions));
-      pipeline.addPolicy((0, multipartPolicy_js_1.multipartPolicy)(), { afterPhase: "Deserialize" });
-      pipeline.addPolicy((0, defaultRetryPolicy_js_1.defaultRetryPolicy)(options.retryOptions), { phase: "Retry" });
-      if (checkEnvironment_js_1.isNodeLike) {
-        pipeline.addPolicy((0, redirectPolicy_js_1.redirectPolicy)(options.redirectOptions), { afterPhase: "Retry" });
+    };
+    exports2.ListBlobsFlatSegmentResponse = {
+      serializedName: "ListBlobsFlatSegmentResponse",
+      xmlName: "EnumerationResults",
+      type: {
+        name: "Composite",
+        className: "ListBlobsFlatSegmentResponse",
+        modelProperties: {
+          serviceEndpoint: {
+            serializedName: "ServiceEndpoint",
+            required: true,
+            xmlName: "ServiceEndpoint",
+            xmlIsAttribute: true,
+            type: {
+              name: "String"
+            }
+          },
+          containerName: {
+            serializedName: "ContainerName",
+            required: true,
+            xmlName: "ContainerName",
+            xmlIsAttribute: true,
+            type: {
+              name: "String"
+            }
+          },
+          prefix: {
+            serializedName: "Prefix",
+            xmlName: "Prefix",
+            type: {
+              name: "String"
+            }
+          },
+          marker: {
+            serializedName: "Marker",
+            xmlName: "Marker",
+            type: {
+              name: "String"
+            }
+          },
+          maxPageSize: {
+            serializedName: "MaxResults",
+            xmlName: "MaxResults",
+            type: {
+              name: "Number"
+            }
+          },
+          segment: {
+            serializedName: "Segment",
+            xmlName: "Blobs",
+            type: {
+              name: "Composite",
+              className: "BlobFlatListSegment"
+            }
+          },
+          continuationToken: {
+            serializedName: "NextMarker",
+            xmlName: "NextMarker",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      pipeline.addPolicy((0, logPolicy_js_1.logPolicy)(options.loggingOptions), { afterPhase: "Sign" });
-      return pipeline;
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/apiVersionPolicy.js
-var require_apiVersionPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/apiVersionPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.apiVersionPolicyName = void 0;
-    exports2.apiVersionPolicy = apiVersionPolicy;
-    exports2.apiVersionPolicyName = "ApiVersionPolicy";
-    function apiVersionPolicy(options) {
-      return {
-        name: exports2.apiVersionPolicyName,
-        sendRequest: (req, next) => {
-          const url = new URL(req.url);
-          if (!url.searchParams.get("api-version") && options.apiVersion) {
-            req.url = `${req.url}${Array.from(url.searchParams.keys()).length > 0 ? "&" : "?"}api-version=${options.apiVersion}`;
+    };
+    exports2.BlobFlatListSegment = {
+      serializedName: "BlobFlatListSegment",
+      xmlName: "Blobs",
+      type: {
+        name: "Composite",
+        className: "BlobFlatListSegment",
+        modelProperties: {
+          blobItems: {
+            serializedName: "BlobItems",
+            required: true,
+            xmlName: "BlobItems",
+            xmlElementName: "Blob",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "BlobItemInternal"
+                }
+              }
+            }
           }
-          return next(req);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/credentials.js
-var require_credentials = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/credentials.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isOAuth2TokenCredential = isOAuth2TokenCredential;
-    exports2.isBearerTokenCredential = isBearerTokenCredential;
-    exports2.isBasicCredential = isBasicCredential;
-    exports2.isApiKeyCredential = isApiKeyCredential;
-    function isOAuth2TokenCredential(credential) {
-      return "getOAuth2Token" in credential;
-    }
-    function isBearerTokenCredential(credential) {
-      return "getBearerToken" in credential;
-    }
-    function isBasicCredential(credential) {
-      return "username" in credential && "password" in credential;
-    }
-    function isApiKeyCredential(credential) {
-      return "key" in credential;
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/checkInsecureConnection.js
-var require_checkInsecureConnection = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/checkInsecureConnection.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ensureSecureConnection = ensureSecureConnection;
-    var log_js_1 = require_log2();
-    var insecureConnectionWarningEmmitted = false;
-    function allowInsecureConnection(request2, options) {
-      if (options.allowInsecureConnection && request2.allowInsecureConnection) {
-        const url = new URL(request2.url);
-        if (url.hostname === "localhost" || url.hostname === "127.0.0.1") {
-          return true;
+      }
+    };
+    exports2.BlobItemInternal = {
+      serializedName: "BlobItemInternal",
+      xmlName: "Blob",
+      type: {
+        name: "Composite",
+        className: "BlobItemInternal",
+        modelProperties: {
+          name: {
+            serializedName: "Name",
+            xmlName: "Name",
+            type: {
+              name: "Composite",
+              className: "BlobName"
+            }
+          },
+          deleted: {
+            serializedName: "Deleted",
+            required: true,
+            xmlName: "Deleted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          snapshot: {
+            serializedName: "Snapshot",
+            required: true,
+            xmlName: "Snapshot",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "VersionId",
+            xmlName: "VersionId",
+            type: {
+              name: "String"
+            }
+          },
+          isCurrentVersion: {
+            serializedName: "IsCurrentVersion",
+            xmlName: "IsCurrentVersion",
+            type: {
+              name: "Boolean"
+            }
+          },
+          properties: {
+            serializedName: "Properties",
+            xmlName: "Properties",
+            type: {
+              name: "Composite",
+              className: "BlobPropertiesInternal"
+            }
+          },
+          metadata: {
+            serializedName: "Metadata",
+            xmlName: "Metadata",
+            type: {
+              name: "Dictionary",
+              value: { type: { name: "String" } }
+            }
+          },
+          blobTags: {
+            serializedName: "BlobTags",
+            xmlName: "Tags",
+            type: {
+              name: "Composite",
+              className: "BlobTags"
+            }
+          },
+          objectReplicationMetadata: {
+            serializedName: "ObjectReplicationMetadata",
+            xmlName: "OrMetadata",
+            type: {
+              name: "Dictionary",
+              value: { type: { name: "String" } }
+            }
+          },
+          hasVersionsOnly: {
+            serializedName: "HasVersionsOnly",
+            xmlName: "HasVersionsOnly",
+            type: {
+              name: "Boolean"
+            }
+          }
         }
       }
-      return false;
-    }
-    function emitInsecureConnectionWarning() {
-      const warning9 = "Sending token over insecure transport. Assume any token issued is compromised.";
-      log_js_1.logger.warning(warning9);
-      if (typeof process?.emitWarning === "function" && !insecureConnectionWarningEmmitted) {
-        insecureConnectionWarningEmmitted = true;
-        process.emitWarning(warning9);
-      }
-    }
-    function ensureSecureConnection(request2, options) {
-      if (!request2.url.toLowerCase().startsWith("https://")) {
-        if (allowInsecureConnection(request2, options)) {
-          emitInsecureConnectionWarning();
-        } else {
-          throw new Error("Authentication is not permitted for non-TLS protected (non-https) URLs when allowInsecureConnection is false.");
+    };
+    exports2.BlobName = {
+      serializedName: "BlobName",
+      type: {
+        name: "Composite",
+        className: "BlobName",
+        modelProperties: {
+          encoded: {
+            serializedName: "Encoded",
+            xmlName: "Encoded",
+            xmlIsAttribute: true,
+            type: {
+              name: "Boolean"
+            }
+          },
+          content: {
+            serializedName: "content",
+            xmlName: "content",
+            xmlIsMsText: true,
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/apiKeyAuthenticationPolicy.js
-var require_apiKeyAuthenticationPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/apiKeyAuthenticationPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.apiKeyAuthenticationPolicyName = void 0;
-    exports2.apiKeyAuthenticationPolicy = apiKeyAuthenticationPolicy;
-    var checkInsecureConnection_js_1 = require_checkInsecureConnection();
-    exports2.apiKeyAuthenticationPolicyName = "apiKeyAuthenticationPolicy";
-    function apiKeyAuthenticationPolicy(options) {
-      return {
-        name: exports2.apiKeyAuthenticationPolicyName,
-        async sendRequest(request2, next) {
-          (0, checkInsecureConnection_js_1.ensureSecureConnection)(request2, options);
-          const scheme = (request2.authSchemes ?? options.authSchemes)?.find((x) => x.kind === "apiKey");
-          if (!scheme) {
-            return next(request2);
-          }
-          if (scheme.apiKeyLocation !== "header") {
-            throw new Error(`Unsupported API key location: ${scheme.apiKeyLocation}`);
+    };
+    exports2.BlobPropertiesInternal = {
+      serializedName: "BlobPropertiesInternal",
+      xmlName: "Properties",
+      type: {
+        name: "Composite",
+        className: "BlobPropertiesInternal",
+        modelProperties: {
+          createdOn: {
+            serializedName: "Creation-Time",
+            xmlName: "Creation-Time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          lastModified: {
+            serializedName: "Last-Modified",
+            required: true,
+            xmlName: "Last-Modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          etag: {
+            serializedName: "Etag",
+            required: true,
+            xmlName: "Etag",
+            type: {
+              name: "String"
+            }
+          },
+          contentLength: {
+            serializedName: "Content-Length",
+            xmlName: "Content-Length",
+            type: {
+              name: "Number"
+            }
+          },
+          contentType: {
+            serializedName: "Content-Type",
+            xmlName: "Content-Type",
+            type: {
+              name: "String"
+            }
+          },
+          contentEncoding: {
+            serializedName: "Content-Encoding",
+            xmlName: "Content-Encoding",
+            type: {
+              name: "String"
+            }
+          },
+          contentLanguage: {
+            serializedName: "Content-Language",
+            xmlName: "Content-Language",
+            type: {
+              name: "String"
+            }
+          },
+          contentMD5: {
+            serializedName: "Content-MD5",
+            xmlName: "Content-MD5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          contentDisposition: {
+            serializedName: "Content-Disposition",
+            xmlName: "Content-Disposition",
+            type: {
+              name: "String"
+            }
+          },
+          cacheControl: {
+            serializedName: "Cache-Control",
+            xmlName: "Cache-Control",
+            type: {
+              name: "String"
+            }
+          },
+          blobSequenceNumber: {
+            serializedName: "x-ms-blob-sequence-number",
+            xmlName: "x-ms-blob-sequence-number",
+            type: {
+              name: "Number"
+            }
+          },
+          blobType: {
+            serializedName: "BlobType",
+            xmlName: "BlobType",
+            type: {
+              name: "Enum",
+              allowedValues: ["BlockBlob", "PageBlob", "AppendBlob"]
+            }
+          },
+          leaseStatus: {
+            serializedName: "LeaseStatus",
+            xmlName: "LeaseStatus",
+            type: {
+              name: "Enum",
+              allowedValues: ["locked", "unlocked"]
+            }
+          },
+          leaseState: {
+            serializedName: "LeaseState",
+            xmlName: "LeaseState",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "available",
+                "leased",
+                "expired",
+                "breaking",
+                "broken"
+              ]
+            }
+          },
+          leaseDuration: {
+            serializedName: "LeaseDuration",
+            xmlName: "LeaseDuration",
+            type: {
+              name: "Enum",
+              allowedValues: ["infinite", "fixed"]
+            }
+          },
+          copyId: {
+            serializedName: "CopyId",
+            xmlName: "CopyId",
+            type: {
+              name: "String"
+            }
+          },
+          copyStatus: {
+            serializedName: "CopyStatus",
+            xmlName: "CopyStatus",
+            type: {
+              name: "Enum",
+              allowedValues: ["pending", "success", "aborted", "failed"]
+            }
+          },
+          copySource: {
+            serializedName: "CopySource",
+            xmlName: "CopySource",
+            type: {
+              name: "String"
+            }
+          },
+          copyProgress: {
+            serializedName: "CopyProgress",
+            xmlName: "CopyProgress",
+            type: {
+              name: "String"
+            }
+          },
+          copyCompletedOn: {
+            serializedName: "CopyCompletionTime",
+            xmlName: "CopyCompletionTime",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          copyStatusDescription: {
+            serializedName: "CopyStatusDescription",
+            xmlName: "CopyStatusDescription",
+            type: {
+              name: "String"
+            }
+          },
+          serverEncrypted: {
+            serializedName: "ServerEncrypted",
+            xmlName: "ServerEncrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          incrementalCopy: {
+            serializedName: "IncrementalCopy",
+            xmlName: "IncrementalCopy",
+            type: {
+              name: "Boolean"
+            }
+          },
+          destinationSnapshot: {
+            serializedName: "DestinationSnapshot",
+            xmlName: "DestinationSnapshot",
+            type: {
+              name: "String"
+            }
+          },
+          deletedOn: {
+            serializedName: "DeletedTime",
+            xmlName: "DeletedTime",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          remainingRetentionDays: {
+            serializedName: "RemainingRetentionDays",
+            xmlName: "RemainingRetentionDays",
+            type: {
+              name: "Number"
+            }
+          },
+          accessTier: {
+            serializedName: "AccessTier",
+            xmlName: "AccessTier",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "P4",
+                "P6",
+                "P10",
+                "P15",
+                "P20",
+                "P30",
+                "P40",
+                "P50",
+                "P60",
+                "P70",
+                "P80",
+                "Hot",
+                "Cool",
+                "Archive",
+                "Cold"
+              ]
+            }
+          },
+          accessTierInferred: {
+            serializedName: "AccessTierInferred",
+            xmlName: "AccessTierInferred",
+            type: {
+              name: "Boolean"
+            }
+          },
+          archiveStatus: {
+            serializedName: "ArchiveStatus",
+            xmlName: "ArchiveStatus",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "rehydrate-pending-to-hot",
+                "rehydrate-pending-to-cool",
+                "rehydrate-pending-to-cold"
+              ]
+            }
+          },
+          customerProvidedKeySha256: {
+            serializedName: "CustomerProvidedKeySha256",
+            xmlName: "CustomerProvidedKeySha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "EncryptionScope",
+            xmlName: "EncryptionScope",
+            type: {
+              name: "String"
+            }
+          },
+          accessTierChangedOn: {
+            serializedName: "AccessTierChangeTime",
+            xmlName: "AccessTierChangeTime",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          tagCount: {
+            serializedName: "TagCount",
+            xmlName: "TagCount",
+            type: {
+              name: "Number"
+            }
+          },
+          expiresOn: {
+            serializedName: "Expiry-Time",
+            xmlName: "Expiry-Time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isSealed: {
+            serializedName: "Sealed",
+            xmlName: "Sealed",
+            type: {
+              name: "Boolean"
+            }
+          },
+          rehydratePriority: {
+            serializedName: "RehydratePriority",
+            xmlName: "RehydratePriority",
+            type: {
+              name: "Enum",
+              allowedValues: ["High", "Standard"]
+            }
+          },
+          lastAccessedOn: {
+            serializedName: "LastAccessTime",
+            xmlName: "LastAccessTime",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          immutabilityPolicyExpiresOn: {
+            serializedName: "ImmutabilityPolicyUntilDate",
+            xmlName: "ImmutabilityPolicyUntilDate",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          immutabilityPolicyMode: {
+            serializedName: "ImmutabilityPolicyMode",
+            xmlName: "ImmutabilityPolicyMode",
+            type: {
+              name: "Enum",
+              allowedValues: ["Mutable", "Unlocked", "Locked"]
+            }
+          },
+          legalHold: {
+            serializedName: "LegalHold",
+            xmlName: "LegalHold",
+            type: {
+              name: "Boolean"
+            }
           }
-          request2.headers.set(scheme.name, options.credential.key);
-          return next(request2);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/basicAuthenticationPolicy.js
-var require_basicAuthenticationPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/basicAuthenticationPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.basicAuthenticationPolicyName = void 0;
-    exports2.basicAuthenticationPolicy = basicAuthenticationPolicy;
-    var bytesEncoding_js_1 = require_bytesEncoding();
-    var checkInsecureConnection_js_1 = require_checkInsecureConnection();
-    exports2.basicAuthenticationPolicyName = "bearerAuthenticationPolicy";
-    function basicAuthenticationPolicy(options) {
-      return {
-        name: exports2.basicAuthenticationPolicyName,
-        async sendRequest(request2, next) {
-          (0, checkInsecureConnection_js_1.ensureSecureConnection)(request2, options);
-          const scheme = (request2.authSchemes ?? options.authSchemes)?.find((x) => x.kind === "http" && x.scheme === "basic");
-          if (!scheme) {
-            return next(request2);
+      }
+    };
+    exports2.ListBlobsHierarchySegmentResponse = {
+      serializedName: "ListBlobsHierarchySegmentResponse",
+      xmlName: "EnumerationResults",
+      type: {
+        name: "Composite",
+        className: "ListBlobsHierarchySegmentResponse",
+        modelProperties: {
+          serviceEndpoint: {
+            serializedName: "ServiceEndpoint",
+            required: true,
+            xmlName: "ServiceEndpoint",
+            xmlIsAttribute: true,
+            type: {
+              name: "String"
+            }
+          },
+          containerName: {
+            serializedName: "ContainerName",
+            required: true,
+            xmlName: "ContainerName",
+            xmlIsAttribute: true,
+            type: {
+              name: "String"
+            }
+          },
+          prefix: {
+            serializedName: "Prefix",
+            xmlName: "Prefix",
+            type: {
+              name: "String"
+            }
+          },
+          marker: {
+            serializedName: "Marker",
+            xmlName: "Marker",
+            type: {
+              name: "String"
+            }
+          },
+          maxPageSize: {
+            serializedName: "MaxResults",
+            xmlName: "MaxResults",
+            type: {
+              name: "Number"
+            }
+          },
+          delimiter: {
+            serializedName: "Delimiter",
+            xmlName: "Delimiter",
+            type: {
+              name: "String"
+            }
+          },
+          segment: {
+            serializedName: "Segment",
+            xmlName: "Blobs",
+            type: {
+              name: "Composite",
+              className: "BlobHierarchyListSegment"
+            }
+          },
+          continuationToken: {
+            serializedName: "NextMarker",
+            xmlName: "NextMarker",
+            type: {
+              name: "String"
+            }
           }
-          const { username, password } = options.credential;
-          const headerValue = (0, bytesEncoding_js_1.uint8ArrayToString)((0, bytesEncoding_js_1.stringToUint8Array)(`${username}:${password}`, "utf-8"), "base64");
-          request2.headers.set("Authorization", `Basic ${headerValue}`);
-          return next(request2);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/bearerAuthenticationPolicy.js
-var require_bearerAuthenticationPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/bearerAuthenticationPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.bearerAuthenticationPolicyName = void 0;
-    exports2.bearerAuthenticationPolicy = bearerAuthenticationPolicy;
-    var checkInsecureConnection_js_1 = require_checkInsecureConnection();
-    exports2.bearerAuthenticationPolicyName = "bearerAuthenticationPolicy";
-    function bearerAuthenticationPolicy(options) {
-      return {
-        name: exports2.bearerAuthenticationPolicyName,
-        async sendRequest(request2, next) {
-          (0, checkInsecureConnection_js_1.ensureSecureConnection)(request2, options);
-          const scheme = (request2.authSchemes ?? options.authSchemes)?.find((x) => x.kind === "http" && x.scheme === "bearer");
-          if (!scheme) {
-            return next(request2);
+      }
+    };
+    exports2.BlobHierarchyListSegment = {
+      serializedName: "BlobHierarchyListSegment",
+      xmlName: "Blobs",
+      type: {
+        name: "Composite",
+        className: "BlobHierarchyListSegment",
+        modelProperties: {
+          blobPrefixes: {
+            serializedName: "BlobPrefixes",
+            xmlName: "BlobPrefixes",
+            xmlElementName: "BlobPrefix",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "BlobPrefix"
+                }
+              }
+            }
+          },
+          blobItems: {
+            serializedName: "BlobItems",
+            required: true,
+            xmlName: "BlobItems",
+            xmlElementName: "Blob",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "BlobItemInternal"
+                }
+              }
+            }
           }
-          const token = await options.credential.getBearerToken({
-            abortSignal: request2.abortSignal
-          });
-          request2.headers.set("Authorization", `Bearer ${token}`);
-          return next(request2);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/oauth2AuthenticationPolicy.js
-var require_oauth2AuthenticationPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/oauth2AuthenticationPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.oauth2AuthenticationPolicyName = void 0;
-    exports2.oauth2AuthenticationPolicy = oauth2AuthenticationPolicy;
-    var checkInsecureConnection_js_1 = require_checkInsecureConnection();
-    exports2.oauth2AuthenticationPolicyName = "oauth2AuthenticationPolicy";
-    function oauth2AuthenticationPolicy(options) {
-      return {
-        name: exports2.oauth2AuthenticationPolicyName,
-        async sendRequest(request2, next) {
-          (0, checkInsecureConnection_js_1.ensureSecureConnection)(request2, options);
-          const scheme = (request2.authSchemes ?? options.authSchemes)?.find((x) => x.kind === "oauth2");
-          if (!scheme) {
-            return next(request2);
+      }
+    };
+    exports2.BlobPrefix = {
+      serializedName: "BlobPrefix",
+      type: {
+        name: "Composite",
+        className: "BlobPrefix",
+        modelProperties: {
+          name: {
+            serializedName: "Name",
+            xmlName: "Name",
+            type: {
+              name: "Composite",
+              className: "BlobName"
+            }
           }
-          const token = await options.credential.getOAuth2Token(scheme.flows, {
-            abortSignal: request2.abortSignal
-          });
-          request2.headers.set("Authorization", `Bearer ${token}`);
-          return next(request2);
-        }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/clientHelpers.js
-var require_clientHelpers = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/clientHelpers.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createDefaultPipeline = createDefaultPipeline;
-    exports2.getCachedDefaultHttpsClient = getCachedDefaultHttpsClient;
-    var defaultHttpClient_js_1 = require_defaultHttpClient();
-    var createPipelineFromOptions_js_1 = require_createPipelineFromOptions();
-    var apiVersionPolicy_js_1 = require_apiVersionPolicy();
-    var credentials_js_1 = require_credentials();
-    var apiKeyAuthenticationPolicy_js_1 = require_apiKeyAuthenticationPolicy();
-    var basicAuthenticationPolicy_js_1 = require_basicAuthenticationPolicy();
-    var bearerAuthenticationPolicy_js_1 = require_bearerAuthenticationPolicy();
-    var oauth2AuthenticationPolicy_js_1 = require_oauth2AuthenticationPolicy();
-    var cachedHttpClient;
-    function createDefaultPipeline(options = {}) {
-      const pipeline = (0, createPipelineFromOptions_js_1.createPipelineFromOptions)(options);
-      pipeline.addPolicy((0, apiVersionPolicy_js_1.apiVersionPolicy)(options));
-      const { credential, authSchemes, allowInsecureConnection } = options;
-      if (credential) {
-        if ((0, credentials_js_1.isApiKeyCredential)(credential)) {
-          pipeline.addPolicy((0, apiKeyAuthenticationPolicy_js_1.apiKeyAuthenticationPolicy)({ authSchemes, credential, allowInsecureConnection }));
-        } else if ((0, credentials_js_1.isBasicCredential)(credential)) {
-          pipeline.addPolicy((0, basicAuthenticationPolicy_js_1.basicAuthenticationPolicy)({ authSchemes, credential, allowInsecureConnection }));
-        } else if ((0, credentials_js_1.isBearerTokenCredential)(credential)) {
-          pipeline.addPolicy((0, bearerAuthenticationPolicy_js_1.bearerAuthenticationPolicy)({ authSchemes, credential, allowInsecureConnection }));
-        } else if ((0, credentials_js_1.isOAuth2TokenCredential)(credential)) {
-          pipeline.addPolicy((0, oauth2AuthenticationPolicy_js_1.oauth2AuthenticationPolicy)({ authSchemes, credential, allowInsecureConnection }));
         }
       }
-      return pipeline;
-    }
-    function getCachedDefaultHttpsClient() {
-      if (!cachedHttpClient) {
-        cachedHttpClient = (0, defaultHttpClient_js_1.createDefaultHttpClient)();
-      }
-      return cachedHttpClient;
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js
-var require_multipart2 = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.buildBodyPart = buildBodyPart;
-    exports2.buildMultipartBody = buildMultipartBody;
-    var restError_js_1 = require_restError();
-    var httpHeaders_js_1 = require_httpHeaders();
-    var bytesEncoding_js_1 = require_bytesEncoding();
-    var typeGuards_js_1 = require_typeGuards();
-    function getHeaderValue(descriptor, headerName) {
-      if (descriptor.headers) {
-        const actualHeaderName = Object.keys(descriptor.headers).find((x) => x.toLowerCase() === headerName.toLowerCase());
-        if (actualHeaderName) {
-          return descriptor.headers[actualHeaderName];
+    };
+    exports2.BlockLookupList = {
+      serializedName: "BlockLookupList",
+      xmlName: "BlockList",
+      type: {
+        name: "Composite",
+        className: "BlockLookupList",
+        modelProperties: {
+          committed: {
+            serializedName: "Committed",
+            xmlName: "Committed",
+            xmlElementName: "Committed",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "String"
+                }
+              }
+            }
+          },
+          uncommitted: {
+            serializedName: "Uncommitted",
+            xmlName: "Uncommitted",
+            xmlElementName: "Uncommitted",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "String"
+                }
+              }
+            }
+          },
+          latest: {
+            serializedName: "Latest",
+            xmlName: "Latest",
+            xmlElementName: "Latest",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "String"
+                }
+              }
+            }
+          }
         }
       }
-      return void 0;
-    }
-    function getPartContentType(descriptor) {
-      const contentTypeHeader = getHeaderValue(descriptor, "content-type");
-      if (contentTypeHeader) {
-        return contentTypeHeader;
-      }
-      if (descriptor.contentType === null) {
-        return void 0;
-      }
-      if (descriptor.contentType) {
-        return descriptor.contentType;
-      }
-      const { body } = descriptor;
-      if (body === null || body === void 0) {
-        return void 0;
-      }
-      if (typeof body === "string" || typeof body === "number" || typeof body === "boolean") {
-        return "text/plain; charset=UTF-8";
-      }
-      if (body instanceof Blob) {
-        return body.type || "application/octet-stream";
-      }
-      if ((0, typeGuards_js_1.isBinaryBody)(body)) {
-        return "application/octet-stream";
-      }
-      return "application/json";
-    }
-    function escapeDispositionField(value) {
-      return JSON.stringify(value);
-    }
-    function getContentDisposition(descriptor) {
-      const contentDispositionHeader = getHeaderValue(descriptor, "content-disposition");
-      if (contentDispositionHeader) {
-        return contentDispositionHeader;
-      }
-      if (descriptor.dispositionType === void 0 && descriptor.name === void 0 && descriptor.filename === void 0) {
-        return void 0;
-      }
-      const dispositionType = descriptor.dispositionType ?? "form-data";
-      let disposition = dispositionType;
-      if (descriptor.name) {
-        disposition += `; name=${escapeDispositionField(descriptor.name)}`;
-      }
-      let filename = void 0;
-      if (descriptor.filename) {
-        filename = descriptor.filename;
-      } else if (typeof File !== "undefined" && descriptor.body instanceof File) {
-        const filenameFromFile = descriptor.body.name;
-        if (filenameFromFile !== "") {
-          filename = filenameFromFile;
+    };
+    exports2.BlockList = {
+      serializedName: "BlockList",
+      type: {
+        name: "Composite",
+        className: "BlockList",
+        modelProperties: {
+          committedBlocks: {
+            serializedName: "CommittedBlocks",
+            xmlName: "CommittedBlocks",
+            xmlIsWrapped: true,
+            xmlElementName: "Block",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "Block"
+                }
+              }
+            }
+          },
+          uncommittedBlocks: {
+            serializedName: "UncommittedBlocks",
+            xmlName: "UncommittedBlocks",
+            xmlIsWrapped: true,
+            xmlElementName: "Block",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "Block"
+                }
+              }
+            }
+          }
         }
       }
-      if (filename) {
-        disposition += `; filename=${escapeDispositionField(filename)}`;
-      }
-      return disposition;
-    }
-    function normalizeBody(body, contentType) {
-      if (body === void 0) {
-        return new Uint8Array([]);
-      }
-      if ((0, typeGuards_js_1.isBinaryBody)(body)) {
-        return body;
-      }
-      if (typeof body === "string" || typeof body === "number" || typeof body === "boolean") {
-        return (0, bytesEncoding_js_1.stringToUint8Array)(String(body), "utf-8");
-      }
-      if (contentType && /application\/(.+\+)?json(;.+)?/i.test(String(contentType))) {
-        return (0, bytesEncoding_js_1.stringToUint8Array)(JSON.stringify(body), "utf-8");
+    };
+    exports2.Block = {
+      serializedName: "Block",
+      type: {
+        name: "Composite",
+        className: "Block",
+        modelProperties: {
+          name: {
+            serializedName: "Name",
+            required: true,
+            xmlName: "Name",
+            type: {
+              name: "String"
+            }
+          },
+          size: {
+            serializedName: "Size",
+            required: true,
+            xmlName: "Size",
+            type: {
+              name: "Number"
+            }
+          }
+        }
       }
-      throw new restError_js_1.RestError(`Unsupported body/content-type combination: ${body}, ${contentType}`);
-    }
-    function buildBodyPart(descriptor) {
-      const contentType = getPartContentType(descriptor);
-      const contentDisposition = getContentDisposition(descriptor);
-      const headers = (0, httpHeaders_js_1.createHttpHeaders)(descriptor.headers ?? {});
-      if (contentType) {
-        headers.set("content-type", contentType);
+    };
+    exports2.PageList = {
+      serializedName: "PageList",
+      type: {
+        name: "Composite",
+        className: "PageList",
+        modelProperties: {
+          pageRange: {
+            serializedName: "PageRange",
+            xmlName: "PageRange",
+            xmlElementName: "PageRange",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "PageRange"
+                }
+              }
+            }
+          },
+          clearRange: {
+            serializedName: "ClearRange",
+            xmlName: "ClearRange",
+            xmlElementName: "ClearRange",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "ClearRange"
+                }
+              }
+            }
+          },
+          continuationToken: {
+            serializedName: "NextMarker",
+            xmlName: "NextMarker",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      if (contentDisposition) {
-        headers.set("content-disposition", contentDisposition);
+    };
+    exports2.PageRange = {
+      serializedName: "PageRange",
+      xmlName: "PageRange",
+      type: {
+        name: "Composite",
+        className: "PageRange",
+        modelProperties: {
+          start: {
+            serializedName: "Start",
+            required: true,
+            xmlName: "Start",
+            type: {
+              name: "Number"
+            }
+          },
+          end: {
+            serializedName: "End",
+            required: true,
+            xmlName: "End",
+            type: {
+              name: "Number"
+            }
+          }
+        }
       }
-      const body = normalizeBody(descriptor.body, contentType);
-      return {
-        headers,
-        body
-      };
-    }
-    function buildMultipartBody(parts) {
-      return { parts: parts.map(buildBodyPart) };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/sendRequest.js
-var require_sendRequest = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/sendRequest.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.sendRequest = sendRequest;
-    var restError_js_1 = require_restError();
-    var httpHeaders_js_1 = require_httpHeaders();
-    var pipelineRequest_js_1 = require_pipelineRequest();
-    var clientHelpers_js_1 = require_clientHelpers();
-    var typeGuards_js_1 = require_typeGuards();
-    var multipart_js_1 = require_multipart2();
-    async function sendRequest(method, url, pipeline, options = {}, customHttpClient) {
-      const httpClient = customHttpClient ?? (0, clientHelpers_js_1.getCachedDefaultHttpsClient)();
-      const request2 = buildPipelineRequest(method, url, options);
-      try {
-        const response = await pipeline.sendRequest(httpClient, request2);
-        const headers = response.headers.toJSON();
-        const stream = response.readableStreamBody ?? response.browserStreamBody;
-        const parsedBody = options.responseAsStream || stream !== void 0 ? void 0 : getResponseBody(response);
-        const body = stream ?? parsedBody;
-        if (options?.onResponse) {
-          options.onResponse({ ...response, request: request2, rawHeaders: headers, parsedBody });
+    };
+    exports2.ClearRange = {
+      serializedName: "ClearRange",
+      xmlName: "ClearRange",
+      type: {
+        name: "Composite",
+        className: "ClearRange",
+        modelProperties: {
+          start: {
+            serializedName: "Start",
+            required: true,
+            xmlName: "Start",
+            type: {
+              name: "Number"
+            }
+          },
+          end: {
+            serializedName: "End",
+            required: true,
+            xmlName: "End",
+            type: {
+              name: "Number"
+            }
+          }
         }
-        return {
-          request: request2,
-          headers,
-          status: `${response.status}`,
-          body
-        };
-      } catch (e) {
-        if ((0, restError_js_1.isRestError)(e) && e.response && options.onResponse) {
-          const { response } = e;
-          const rawHeaders = response.headers.toJSON();
-          options?.onResponse({ ...response, request: request2, rawHeaders }, e);
+      }
+    };
+    exports2.QueryRequest = {
+      serializedName: "QueryRequest",
+      xmlName: "QueryRequest",
+      type: {
+        name: "Composite",
+        className: "QueryRequest",
+        modelProperties: {
+          queryType: {
+            serializedName: "QueryType",
+            required: true,
+            xmlName: "QueryType",
+            type: {
+              name: "String"
+            }
+          },
+          expression: {
+            serializedName: "Expression",
+            required: true,
+            xmlName: "Expression",
+            type: {
+              name: "String"
+            }
+          },
+          inputSerialization: {
+            serializedName: "InputSerialization",
+            xmlName: "InputSerialization",
+            type: {
+              name: "Composite",
+              className: "QuerySerialization"
+            }
+          },
+          outputSerialization: {
+            serializedName: "OutputSerialization",
+            xmlName: "OutputSerialization",
+            type: {
+              name: "Composite",
+              className: "QuerySerialization"
+            }
+          }
         }
-        throw e;
       }
-    }
-    function getRequestContentType(options = {}) {
-      return options.contentType ?? options.headers?.["content-type"] ?? getContentType(options.body);
-    }
-    function getContentType(body) {
-      if (ArrayBuffer.isView(body)) {
-        return "application/octet-stream";
+    };
+    exports2.QuerySerialization = {
+      serializedName: "QuerySerialization",
+      type: {
+        name: "Composite",
+        className: "QuerySerialization",
+        modelProperties: {
+          format: {
+            serializedName: "Format",
+            xmlName: "Format",
+            type: {
+              name: "Composite",
+              className: "QueryFormat"
+            }
+          }
+        }
       }
-      if (typeof body === "string") {
-        try {
-          JSON.parse(body);
-          return "application/json";
-        } catch (error3) {
-          return void 0;
+    };
+    exports2.QueryFormat = {
+      serializedName: "QueryFormat",
+      type: {
+        name: "Composite",
+        className: "QueryFormat",
+        modelProperties: {
+          type: {
+            serializedName: "Type",
+            required: true,
+            xmlName: "Type",
+            type: {
+              name: "Enum",
+              allowedValues: ["delimited", "json", "arrow", "parquet"]
+            }
+          },
+          delimitedTextConfiguration: {
+            serializedName: "DelimitedTextConfiguration",
+            xmlName: "DelimitedTextConfiguration",
+            type: {
+              name: "Composite",
+              className: "DelimitedTextConfiguration"
+            }
+          },
+          jsonTextConfiguration: {
+            serializedName: "JsonTextConfiguration",
+            xmlName: "JsonTextConfiguration",
+            type: {
+              name: "Composite",
+              className: "JsonTextConfiguration"
+            }
+          },
+          arrowConfiguration: {
+            serializedName: "ArrowConfiguration",
+            xmlName: "ArrowConfiguration",
+            type: {
+              name: "Composite",
+              className: "ArrowConfiguration"
+            }
+          },
+          parquetTextConfiguration: {
+            serializedName: "ParquetTextConfiguration",
+            xmlName: "ParquetTextConfiguration",
+            type: {
+              name: "Dictionary",
+              value: { type: { name: "any" } }
+            }
+          }
         }
       }
-      return "application/json";
-    }
-    function buildPipelineRequest(method, url, options = {}) {
-      const requestContentType = getRequestContentType(options);
-      const { body, multipartBody } = getRequestBody(options.body, requestContentType);
-      const hasContent = body !== void 0 || multipartBody !== void 0;
-      const headers = (0, httpHeaders_js_1.createHttpHeaders)({
-        ...options.headers ? options.headers : {},
-        accept: options.accept ?? options.headers?.accept ?? "application/json",
-        ...hasContent && requestContentType && {
-          "content-type": requestContentType
+    };
+    exports2.DelimitedTextConfiguration = {
+      serializedName: "DelimitedTextConfiguration",
+      xmlName: "DelimitedTextConfiguration",
+      type: {
+        name: "Composite",
+        className: "DelimitedTextConfiguration",
+        modelProperties: {
+          columnSeparator: {
+            serializedName: "ColumnSeparator",
+            xmlName: "ColumnSeparator",
+            type: {
+              name: "String"
+            }
+          },
+          fieldQuote: {
+            serializedName: "FieldQuote",
+            xmlName: "FieldQuote",
+            type: {
+              name: "String"
+            }
+          },
+          recordSeparator: {
+            serializedName: "RecordSeparator",
+            xmlName: "RecordSeparator",
+            type: {
+              name: "String"
+            }
+          },
+          escapeChar: {
+            serializedName: "EscapeChar",
+            xmlName: "EscapeChar",
+            type: {
+              name: "String"
+            }
+          },
+          headersPresent: {
+            serializedName: "HeadersPresent",
+            xmlName: "HasHeaders",
+            type: {
+              name: "Boolean"
+            }
+          }
         }
-      });
-      return (0, pipelineRequest_js_1.createPipelineRequest)({
-        url,
-        method,
-        body,
-        multipartBody,
-        headers,
-        allowInsecureConnection: options.allowInsecureConnection,
-        abortSignal: options.abortSignal,
-        onUploadProgress: options.onUploadProgress,
-        onDownloadProgress: options.onDownloadProgress,
-        timeout: options.timeout,
-        enableBrowserStreams: true,
-        streamResponseStatusCodes: options.responseAsStream ? /* @__PURE__ */ new Set([Number.POSITIVE_INFINITY]) : void 0
-      });
-    }
-    function getRequestBody(body, contentType = "") {
-      if (body === void 0) {
-        return { body: void 0 };
       }
-      if (typeof FormData !== "undefined" && body instanceof FormData) {
-        return { body };
+    };
+    exports2.JsonTextConfiguration = {
+      serializedName: "JsonTextConfiguration",
+      xmlName: "JsonTextConfiguration",
+      type: {
+        name: "Composite",
+        className: "JsonTextConfiguration",
+        modelProperties: {
+          recordSeparator: {
+            serializedName: "RecordSeparator",
+            xmlName: "RecordSeparator",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      if ((0, typeGuards_js_1.isReadableStream)(body)) {
-        return { body };
+    };
+    exports2.ArrowConfiguration = {
+      serializedName: "ArrowConfiguration",
+      xmlName: "ArrowConfiguration",
+      type: {
+        name: "Composite",
+        className: "ArrowConfiguration",
+        modelProperties: {
+          schema: {
+            serializedName: "Schema",
+            required: true,
+            xmlName: "Schema",
+            xmlIsWrapped: true,
+            xmlElementName: "Field",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "ArrowField"
+                }
+              }
+            }
+          }
+        }
       }
-      if (ArrayBuffer.isView(body)) {
-        return { body: body instanceof Uint8Array ? body : JSON.stringify(body) };
+    };
+    exports2.ArrowField = {
+      serializedName: "ArrowField",
+      xmlName: "Field",
+      type: {
+        name: "Composite",
+        className: "ArrowField",
+        modelProperties: {
+          type: {
+            serializedName: "Type",
+            required: true,
+            xmlName: "Type",
+            type: {
+              name: "String"
+            }
+          },
+          name: {
+            serializedName: "Name",
+            xmlName: "Name",
+            type: {
+              name: "String"
+            }
+          },
+          precision: {
+            serializedName: "Precision",
+            xmlName: "Precision",
+            type: {
+              name: "Number"
+            }
+          },
+          scale: {
+            serializedName: "Scale",
+            xmlName: "Scale",
+            type: {
+              name: "Number"
+            }
+          }
+        }
       }
-      const firstType = contentType.split(";")[0];
-      switch (firstType) {
-        case "application/json":
-          return { body: JSON.stringify(body) };
-        case "multipart/form-data":
-          if (Array.isArray(body)) {
-            return { multipartBody: (0, multipart_js_1.buildMultipartBody)(body) };
+    };
+    exports2.ServiceSetPropertiesHeaders = {
+      serializedName: "Service_setPropertiesHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceSetPropertiesHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          return { body: JSON.stringify(body) };
-        case "text/plain":
-          return { body: String(body) };
-        default:
-          if (typeof body === "string") {
-            return { body };
+        }
+      }
+    };
+    exports2.ServiceSetPropertiesExceptionHeaders = {
+      serializedName: "Service_setPropertiesExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceSetPropertiesExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          return { body: JSON.stringify(body) };
+        }
       }
-    }
-    function getResponseBody(response) {
-      const contentType = response.headers.get("content-type") ?? "";
-      const firstType = contentType.split(";")[0];
-      const bodyToParse = response.bodyAsText ?? "";
-      if (firstType === "text/plain") {
-        return String(bodyToParse);
+    };
+    exports2.ServiceGetPropertiesHeaders = {
+      serializedName: "Service_getPropertiesHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceGetPropertiesHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      try {
-        return bodyToParse ? JSON.parse(bodyToParse) : void 0;
-      } catch (error3) {
-        if (firstType === "application/json") {
-          throw createParseError(response, error3);
+    };
+    exports2.ServiceGetPropertiesExceptionHeaders = {
+      serializedName: "Service_getPropertiesExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceGetPropertiesExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        return String(bodyToParse);
       }
-    }
-    function createParseError(response, err) {
-      const msg = `Error "${err}" occurred while parsing the response body - ${response.bodyAsText}.`;
-      const errCode = err.code ?? restError_js_1.RestError.PARSE_ERROR;
-      return new restError_js_1.RestError(msg, {
-        code: errCode,
-        statusCode: response.status,
-        request: response.request,
-        response
-      });
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/urlHelpers.js
-var require_urlHelpers = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/urlHelpers.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.buildRequestUrl = buildRequestUrl;
-    exports2.buildBaseUrl = buildBaseUrl;
-    exports2.replaceAll = replaceAll;
-    function isQueryParameterWithOptions(x) {
-      const value = x.value;
-      return value !== void 0 && value.toString !== void 0 && typeof value.toString === "function";
-    }
-    function buildRequestUrl(endpoint2, routePath, pathParameters, options = {}) {
-      if (routePath.startsWith("https://") || routePath.startsWith("http://")) {
-        return routePath;
+    };
+    exports2.ServiceGetStatisticsHeaders = {
+      serializedName: "Service_getStatisticsHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceGetStatisticsHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      endpoint2 = buildBaseUrl(endpoint2, options);
-      routePath = buildRoutePath(routePath, pathParameters, options);
-      const requestUrl = appendQueryParams(`${endpoint2}/${routePath}`, options);
-      const url = new URL(requestUrl);
-      return url.toString().replace(/([^:]\/)\/+/g, "$1");
-    }
-    function getQueryParamValue(key, allowReserved, style, param) {
-      let separator;
-      if (style === "pipeDelimited") {
-        separator = "|";
-      } else if (style === "spaceDelimited") {
-        separator = "%20";
-      } else {
-        separator = ",";
+    };
+    exports2.ServiceGetStatisticsExceptionHeaders = {
+      serializedName: "Service_getStatisticsExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceGetStatisticsExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      let paramValues;
-      if (Array.isArray(param)) {
-        paramValues = param;
-      } else if (typeof param === "object" && param.toString === Object.prototype.toString) {
-        paramValues = Object.entries(param).flat();
-      } else {
-        paramValues = [param];
+    };
+    exports2.ServiceListContainersSegmentHeaders = {
+      serializedName: "Service_listContainersSegmentHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceListContainersSegmentHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      const value = paramValues.map((p) => {
-        if (p === null || p === void 0) {
-          return "";
+    };
+    exports2.ServiceListContainersSegmentExceptionHeaders = {
+      serializedName: "Service_listContainersSegmentExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceListContainersSegmentExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        if (!p.toString || typeof p.toString !== "function") {
-          throw new Error(`Query parameters must be able to be represented as string, ${key} can't`);
+      }
+    };
+    exports2.ServiceGetUserDelegationKeyHeaders = {
+      serializedName: "Service_getUserDelegationKeyHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceGetUserDelegationKeyHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        const rawValue = p.toISOString !== void 0 ? p.toISOString() : p.toString();
-        return allowReserved ? rawValue : encodeURIComponent(rawValue);
-      }).join(separator);
-      return `${allowReserved ? key : encodeURIComponent(key)}=${value}`;
-    }
-    function appendQueryParams(url, options = {}) {
-      if (!options.queryParameters) {
-        return url;
       }
-      const parsedUrl = new URL(url);
-      const queryParams = options.queryParameters;
-      const paramStrings = [];
-      for (const key of Object.keys(queryParams)) {
-        const param = queryParams[key];
-        if (param === void 0 || param === null) {
-          continue;
+    };
+    exports2.ServiceGetUserDelegationKeyExceptionHeaders = {
+      serializedName: "Service_getUserDelegationKeyExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceGetUserDelegationKeyExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        const hasMetadata = isQueryParameterWithOptions(param);
-        const rawValue = hasMetadata ? param.value : param;
-        const explode = hasMetadata ? param.explode ?? false : false;
-        const style = hasMetadata && param.style ? param.style : "form";
-        if (explode) {
-          if (Array.isArray(rawValue)) {
-            for (const item of rawValue) {
-              paramStrings.push(getQueryParamValue(key, options.skipUrlEncoding ?? false, style, item));
+      }
+    };
+    exports2.ServiceGetAccountInfoHeaders = {
+      serializedName: "Service_getAccountInfoHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceGetAccountInfoHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
             }
-          } else if (typeof rawValue === "object") {
-            for (const [actualKey, value] of Object.entries(rawValue)) {
-              paramStrings.push(getQueryParamValue(actualKey, options.skipUrlEncoding ?? false, style, value));
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          skuName: {
+            serializedName: "x-ms-sku-name",
+            xmlName: "x-ms-sku-name",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "Standard_LRS",
+                "Standard_GRS",
+                "Standard_RAGRS",
+                "Standard_ZRS",
+                "Premium_LRS"
+              ]
+            }
+          },
+          accountKind: {
+            serializedName: "x-ms-account-kind",
+            xmlName: "x-ms-account-kind",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "Storage",
+                "BlobStorage",
+                "StorageV2",
+                "FileStorage",
+                "BlockBlobStorage"
+              ]
+            }
+          },
+          isHierarchicalNamespaceEnabled: {
+            serializedName: "x-ms-is-hns-enabled",
+            xmlName: "x-ms-is-hns-enabled",
+            type: {
+              name: "Boolean"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
-          } else {
-            throw new Error("explode can only be set to true for objects and arrays");
           }
-        } else {
-          paramStrings.push(getQueryParamValue(key, options.skipUrlEncoding ?? false, style, rawValue));
         }
       }
-      if (parsedUrl.search !== "") {
-        parsedUrl.search += "&";
+    };
+    exports2.ServiceGetAccountInfoExceptionHeaders = {
+      serializedName: "Service_getAccountInfoExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceGetAccountInfoExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      parsedUrl.search += paramStrings.join("&");
-      return parsedUrl.toString();
-    }
-    function buildBaseUrl(endpoint2, options) {
-      if (!options.pathParameters) {
-        return endpoint2;
+    };
+    exports2.ServiceSubmitBatchHeaders = {
+      serializedName: "Service_submitBatchHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceSubmitBatchHeaders",
+        modelProperties: {
+          contentType: {
+            serializedName: "content-type",
+            xmlName: "content-type",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      const pathParams = options.pathParameters;
-      for (const [key, param] of Object.entries(pathParams)) {
-        if (param === void 0 || param === null) {
-          throw new Error(`Path parameters ${key} must not be undefined or null`);
+    };
+    exports2.ServiceSubmitBatchExceptionHeaders = {
+      serializedName: "Service_submitBatchExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceSubmitBatchExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        if (!param.toString || typeof param.toString !== "function") {
-          throw new Error(`Path parameters must be able to be represented as string, ${key} can't`);
+      }
+    };
+    exports2.ServiceFilterBlobsHeaders = {
+      serializedName: "Service_filterBlobsHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceFilterBlobsHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        let value = param.toISOString !== void 0 ? param.toISOString() : String(param);
-        if (!options.skipUrlEncoding) {
-          value = encodeURIComponent(param);
+      }
+    };
+    exports2.ServiceFilterBlobsExceptionHeaders = {
+      serializedName: "Service_filterBlobsExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceFilterBlobsExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        endpoint2 = replaceAll(endpoint2, `{${key}}`, value) ?? "";
       }
-      return endpoint2;
-    }
-    function buildRoutePath(routePath, pathParameters, options = {}) {
-      for (const pathParam of pathParameters) {
-        const allowReserved = typeof pathParam === "object" && (pathParam.allowReserved ?? false);
-        let value = typeof pathParam === "object" ? pathParam.value : pathParam;
-        if (!options.skipUrlEncoding && !allowReserved) {
-          value = encodeURIComponent(value);
+    };
+    exports2.ContainerCreateHeaders = {
+      serializedName: "Container_createHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerCreateHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        routePath = routePath.replace(/\{[\w-]+\}/, String(value));
       }
-      return routePath;
-    }
-    function replaceAll(value, searchValue, replaceValue) {
-      return !value || !searchValue ? value : value.split(searchValue).join(replaceValue || "");
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/getClient.js
-var require_getClient = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/getClient.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getClient = getClient;
-    var clientHelpers_js_1 = require_clientHelpers();
-    var sendRequest_js_1 = require_sendRequest();
-    var urlHelpers_js_1 = require_urlHelpers();
-    var checkEnvironment_js_1 = require_checkEnvironment();
-    function getClient(endpoint2, clientOptions = {}) {
-      const pipeline = clientOptions.pipeline ?? (0, clientHelpers_js_1.createDefaultPipeline)(clientOptions);
-      if (clientOptions.additionalPolicies?.length) {
-        for (const { policy, position } of clientOptions.additionalPolicies) {
-          const afterPhase = position === "perRetry" ? "Sign" : void 0;
-          pipeline.addPolicy(policy, {
-            afterPhase
-          });
+    };
+    exports2.ContainerCreateExceptionHeaders = {
+      serializedName: "Container_createExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerCreateExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-      const { allowInsecureConnection, httpClient } = clientOptions;
-      const endpointUrl = clientOptions.endpoint ?? endpoint2;
-      const client = (path4, ...args) => {
-        const getUrl = (requestOptions) => (0, urlHelpers_js_1.buildRequestUrl)(endpointUrl, path4, args, { allowInsecureConnection, ...requestOptions });
-        return {
-          get: (requestOptions = {}) => {
-            return buildOperation("GET", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+    };
+    exports2.ContainerGetPropertiesHeaders = {
+      serializedName: "Container_getPropertiesHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerGetPropertiesHeaders",
+        modelProperties: {
+          metadata: {
+            serializedName: "x-ms-meta",
+            headerCollectionPrefix: "x-ms-meta-",
+            xmlName: "x-ms-meta",
+            type: {
+              name: "Dictionary",
+              value: { type: { name: "String" } }
+            }
           },
-          post: (requestOptions = {}) => {
-            return buildOperation("POST", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          leaseDuration: {
+            serializedName: "x-ms-lease-duration",
+            xmlName: "x-ms-lease-duration",
+            type: {
+              name: "Enum",
+              allowedValues: ["infinite", "fixed"]
+            }
+          },
+          leaseState: {
+            serializedName: "x-ms-lease-state",
+            xmlName: "x-ms-lease-state",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "available",
+                "leased",
+                "expired",
+                "breaking",
+                "broken"
+              ]
+            }
           },
-          put: (requestOptions = {}) => {
-            return buildOperation("PUT", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          leaseStatus: {
+            serializedName: "x-ms-lease-status",
+            xmlName: "x-ms-lease-status",
+            type: {
+              name: "Enum",
+              allowedValues: ["locked", "unlocked"]
+            }
           },
-          patch: (requestOptions = {}) => {
-            return buildOperation("PATCH", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
           },
-          delete: (requestOptions = {}) => {
-            return buildOperation("DELETE", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
           },
-          head: (requestOptions = {}) => {
-            return buildOperation("HEAD", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
           },
-          options: (requestOptions = {}) => {
-            return buildOperation("OPTIONS", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
           },
-          trace: (requestOptions = {}) => {
-            return buildOperation("TRACE", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
-          }
-        };
-      };
-      return {
-        path: client,
-        pathUnchecked: client,
-        pipeline
-      };
-    }
-    function buildOperation(method, url, pipeline, options, allowInsecureConnection, httpClient) {
-      allowInsecureConnection = options.allowInsecureConnection ?? allowInsecureConnection;
-      return {
-        then: function(onFulfilled, onrejected) {
-          return (0, sendRequest_js_1.sendRequest)(method, url, pipeline, { ...options, allowInsecureConnection }, httpClient).then(onFulfilled, onrejected);
-        },
-        async asBrowserStream() {
-          if (checkEnvironment_js_1.isNodeLike) {
-            throw new Error("`asBrowserStream` is supported only in the browser environment. Use `asNodeStream` instead to obtain the response body stream. If you require a Web stream of the response in Node, consider using `Readable.toWeb` on the result of `asNodeStream`.");
-          } else {
-            return (0, sendRequest_js_1.sendRequest)(method, url, pipeline, { ...options, allowInsecureConnection, responseAsStream: true }, httpClient);
-          }
-        },
-        async asNodeStream() {
-          if (checkEnvironment_js_1.isNodeLike) {
-            return (0, sendRequest_js_1.sendRequest)(method, url, pipeline, { ...options, allowInsecureConnection, responseAsStream: true }, httpClient);
-          } else {
-            throw new Error("`isNodeStream` is not supported in the browser environment. Use `asBrowserStream` to obtain the response body stream.");
-          }
-        }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/operationOptionHelpers.js
-var require_operationOptionHelpers = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/operationOptionHelpers.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.operationOptionsToRequestParameters = operationOptionsToRequestParameters;
-    function operationOptionsToRequestParameters(options) {
-      return {
-        allowInsecureConnection: options.requestOptions?.allowInsecureConnection,
-        timeout: options.requestOptions?.timeout,
-        skipUrlEncoding: options.requestOptions?.skipUrlEncoding,
-        abortSignal: options.abortSignal,
-        onUploadProgress: options.requestOptions?.onUploadProgress,
-        onDownloadProgress: options.requestOptions?.onDownloadProgress,
-        headers: { ...options.requestOptions?.headers },
-        onResponse: options.onResponse
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/restError.js
-var require_restError2 = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/restError.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createRestError = createRestError;
-    var restError_js_1 = require_restError();
-    var httpHeaders_js_1 = require_httpHeaders();
-    function createRestError(messageOrResponse, response) {
-      const resp = typeof messageOrResponse === "string" ? response : messageOrResponse;
-      const internalError = resp.body?.error ?? resp.body;
-      const message = typeof messageOrResponse === "string" ? messageOrResponse : internalError?.message ?? `Unexpected status code: ${resp.status}`;
-      return new restError_js_1.RestError(message, {
-        statusCode: statusCodeToNumber(resp.status),
-        code: internalError?.code,
-        request: resp.request,
-        response: toPipelineResponse(resp)
-      });
-    }
-    function toPipelineResponse(response) {
-      return {
-        headers: (0, httpHeaders_js_1.createHttpHeaders)(response.headers),
-        request: response.request,
-        status: statusCodeToNumber(response.status) ?? -1
-      };
-    }
-    function statusCodeToNumber(statusCode) {
-      const status = Number.parseInt(statusCode);
-      return Number.isNaN(status) ? void 0 : status;
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/index.js
-var require_commonjs = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createRestError = exports2.operationOptionsToRequestParameters = exports2.getClient = exports2.createDefaultHttpClient = exports2.uint8ArrayToString = exports2.stringToUint8Array = exports2.isRestError = exports2.RestError = exports2.createEmptyPipeline = exports2.createPipelineRequest = exports2.createHttpHeaders = exports2.TypeSpecRuntimeLogger = exports2.setLogLevel = exports2.getLogLevel = exports2.createClientLogger = exports2.AbortError = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var AbortError_js_1 = require_AbortError();
-    Object.defineProperty(exports2, "AbortError", { enumerable: true, get: function() {
-      return AbortError_js_1.AbortError;
-    } });
-    var logger_js_1 = require_logger();
-    Object.defineProperty(exports2, "createClientLogger", { enumerable: true, get: function() {
-      return logger_js_1.createClientLogger;
-    } });
-    Object.defineProperty(exports2, "getLogLevel", { enumerable: true, get: function() {
-      return logger_js_1.getLogLevel;
-    } });
-    Object.defineProperty(exports2, "setLogLevel", { enumerable: true, get: function() {
-      return logger_js_1.setLogLevel;
-    } });
-    Object.defineProperty(exports2, "TypeSpecRuntimeLogger", { enumerable: true, get: function() {
-      return logger_js_1.TypeSpecRuntimeLogger;
-    } });
-    var httpHeaders_js_1 = require_httpHeaders();
-    Object.defineProperty(exports2, "createHttpHeaders", { enumerable: true, get: function() {
-      return httpHeaders_js_1.createHttpHeaders;
-    } });
-    tslib_1.__exportStar(require_schemes(), exports2);
-    tslib_1.__exportStar(require_oauth2Flows(), exports2);
-    var pipelineRequest_js_1 = require_pipelineRequest();
-    Object.defineProperty(exports2, "createPipelineRequest", { enumerable: true, get: function() {
-      return pipelineRequest_js_1.createPipelineRequest;
-    } });
-    var pipeline_js_1 = require_pipeline();
-    Object.defineProperty(exports2, "createEmptyPipeline", { enumerable: true, get: function() {
-      return pipeline_js_1.createEmptyPipeline;
-    } });
-    var restError_js_1 = require_restError();
-    Object.defineProperty(exports2, "RestError", { enumerable: true, get: function() {
-      return restError_js_1.RestError;
-    } });
-    Object.defineProperty(exports2, "isRestError", { enumerable: true, get: function() {
-      return restError_js_1.isRestError;
-    } });
-    var bytesEncoding_js_1 = require_bytesEncoding();
-    Object.defineProperty(exports2, "stringToUint8Array", { enumerable: true, get: function() {
-      return bytesEncoding_js_1.stringToUint8Array;
-    } });
-    Object.defineProperty(exports2, "uint8ArrayToString", { enumerable: true, get: function() {
-      return bytesEncoding_js_1.uint8ArrayToString;
-    } });
-    var defaultHttpClient_js_1 = require_defaultHttpClient();
-    Object.defineProperty(exports2, "createDefaultHttpClient", { enumerable: true, get: function() {
-      return defaultHttpClient_js_1.createDefaultHttpClient;
-    } });
-    var getClient_js_1 = require_getClient();
-    Object.defineProperty(exports2, "getClient", { enumerable: true, get: function() {
-      return getClient_js_1.getClient;
-    } });
-    var operationOptionHelpers_js_1 = require_operationOptionHelpers();
-    Object.defineProperty(exports2, "operationOptionsToRequestParameters", { enumerable: true, get: function() {
-      return operationOptionHelpers_js_1.operationOptionsToRequestParameters;
-    } });
-    var restError_js_2 = require_restError2();
-    Object.defineProperty(exports2, "createRestError", { enumerable: true, get: function() {
-      return restError_js_2.createRestError;
-    } });
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/pipeline.js
-var require_pipeline2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/pipeline.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createEmptyPipeline = createEmptyPipeline;
-    var ts_http_runtime_1 = require_commonjs();
-    function createEmptyPipeline() {
-      return (0, ts_http_runtime_1.createEmptyPipeline)();
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/internal.js
-var require_internal = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/internal.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createLoggerContext = void 0;
-    var logger_js_1 = require_logger();
-    Object.defineProperty(exports2, "createLoggerContext", { enumerable: true, get: function() {
-      return logger_js_1.createLoggerContext;
-    } });
-  }
-});
-
-// node_modules/@azure/logger/dist/commonjs/index.js
-var require_commonjs2 = __commonJS({
-  "node_modules/@azure/logger/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AzureLogger = void 0;
-    exports2.setLogLevel = setLogLevel;
-    exports2.getLogLevel = getLogLevel;
-    exports2.createClientLogger = createClientLogger;
-    var logger_1 = require_internal();
-    var context2 = (0, logger_1.createLoggerContext)({
-      logLevelEnvVarName: "AZURE_LOG_LEVEL",
-      namespace: "azure"
-    });
-    exports2.AzureLogger = context2.logger;
-    function setLogLevel(level) {
-      context2.setLogLevel(level);
-    }
-    function getLogLevel() {
-      return context2.getLogLevel();
-    }
-    function createClientLogger(namespace) {
-      return context2.createClientLogger(namespace);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/log.js
-var require_log3 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/log.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.logger = void 0;
-    var logger_1 = require_commonjs2();
-    exports2.logger = (0, logger_1.createClientLogger)("core-rest-pipeline");
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/exponentialRetryPolicy.js
-var require_exponentialRetryPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/exponentialRetryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.exponentialRetryPolicyName = void 0;
-    exports2.exponentialRetryPolicy = exponentialRetryPolicy;
-    var exponentialRetryStrategy_js_1 = require_exponentialRetryStrategy();
-    var retryPolicy_js_1 = require_retryPolicy();
-    var constants_js_1 = require_constants13();
-    exports2.exponentialRetryPolicyName = "exponentialRetryPolicy";
-    function exponentialRetryPolicy(options = {}) {
-      return (0, retryPolicy_js_1.retryPolicy)([
-        (0, exponentialRetryStrategy_js_1.exponentialRetryStrategy)({
-          ...options,
-          ignoreSystemErrors: true
-        })
-      ], {
-        maxRetries: options.maxRetries ?? constants_js_1.DEFAULT_RETRY_POLICY_COUNT
-      });
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/systemErrorRetryPolicy.js
-var require_systemErrorRetryPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/systemErrorRetryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.systemErrorRetryPolicyName = void 0;
-    exports2.systemErrorRetryPolicy = systemErrorRetryPolicy;
-    var exponentialRetryStrategy_js_1 = require_exponentialRetryStrategy();
-    var retryPolicy_js_1 = require_retryPolicy();
-    var constants_js_1 = require_constants13();
-    exports2.systemErrorRetryPolicyName = "systemErrorRetryPolicy";
-    function systemErrorRetryPolicy(options = {}) {
-      return {
-        name: exports2.systemErrorRetryPolicyName,
-        sendRequest: (0, retryPolicy_js_1.retryPolicy)([
-          (0, exponentialRetryStrategy_js_1.exponentialRetryStrategy)({
-            ...options,
-            ignoreHttpStatusCodes: true
-          })
-        ], {
-          maxRetries: options.maxRetries ?? constants_js_1.DEFAULT_RETRY_POLICY_COUNT
-        }).sendRequest
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/throttlingRetryPolicy.js
-var require_throttlingRetryPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/throttlingRetryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.throttlingRetryPolicyName = void 0;
-    exports2.throttlingRetryPolicy = throttlingRetryPolicy;
-    var throttlingRetryStrategy_js_1 = require_throttlingRetryStrategy();
-    var retryPolicy_js_1 = require_retryPolicy();
-    var constants_js_1 = require_constants13();
-    exports2.throttlingRetryPolicyName = "throttlingRetryPolicy";
-    function throttlingRetryPolicy(options = {}) {
-      return {
-        name: exports2.throttlingRetryPolicyName,
-        sendRequest: (0, retryPolicy_js_1.retryPolicy)([(0, throttlingRetryStrategy_js_1.throttlingRetryStrategy)()], {
-          maxRetries: options.maxRetries ?? constants_js_1.DEFAULT_RETRY_POLICY_COUNT
-        }).sendRequest
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/internal.js
-var require_internal2 = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/internal.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.userAgentPolicyName = exports2.userAgentPolicy = exports2.tlsPolicyName = exports2.tlsPolicy = exports2.redirectPolicyName = exports2.redirectPolicy = exports2.getDefaultProxySettings = exports2.proxyPolicyName = exports2.proxyPolicy = exports2.multipartPolicyName = exports2.multipartPolicy = exports2.logPolicyName = exports2.logPolicy = exports2.formDataPolicyName = exports2.formDataPolicy = exports2.throttlingRetryPolicyName = exports2.throttlingRetryPolicy = exports2.systemErrorRetryPolicyName = exports2.systemErrorRetryPolicy = exports2.retryPolicy = exports2.exponentialRetryPolicyName = exports2.exponentialRetryPolicy = exports2.defaultRetryPolicyName = exports2.defaultRetryPolicy = exports2.decompressResponsePolicyName = exports2.decompressResponsePolicy = exports2.agentPolicyName = exports2.agentPolicy = void 0;
-    var agentPolicy_js_1 = require_agentPolicy();
-    Object.defineProperty(exports2, "agentPolicy", { enumerable: true, get: function() {
-      return agentPolicy_js_1.agentPolicy;
-    } });
-    Object.defineProperty(exports2, "agentPolicyName", { enumerable: true, get: function() {
-      return agentPolicy_js_1.agentPolicyName;
-    } });
-    var decompressResponsePolicy_js_1 = require_decompressResponsePolicy();
-    Object.defineProperty(exports2, "decompressResponsePolicy", { enumerable: true, get: function() {
-      return decompressResponsePolicy_js_1.decompressResponsePolicy;
-    } });
-    Object.defineProperty(exports2, "decompressResponsePolicyName", { enumerable: true, get: function() {
-      return decompressResponsePolicy_js_1.decompressResponsePolicyName;
-    } });
-    var defaultRetryPolicy_js_1 = require_defaultRetryPolicy();
-    Object.defineProperty(exports2, "defaultRetryPolicy", { enumerable: true, get: function() {
-      return defaultRetryPolicy_js_1.defaultRetryPolicy;
-    } });
-    Object.defineProperty(exports2, "defaultRetryPolicyName", { enumerable: true, get: function() {
-      return defaultRetryPolicy_js_1.defaultRetryPolicyName;
-    } });
-    var exponentialRetryPolicy_js_1 = require_exponentialRetryPolicy();
-    Object.defineProperty(exports2, "exponentialRetryPolicy", { enumerable: true, get: function() {
-      return exponentialRetryPolicy_js_1.exponentialRetryPolicy;
-    } });
-    Object.defineProperty(exports2, "exponentialRetryPolicyName", { enumerable: true, get: function() {
-      return exponentialRetryPolicy_js_1.exponentialRetryPolicyName;
-    } });
-    var retryPolicy_js_1 = require_retryPolicy();
-    Object.defineProperty(exports2, "retryPolicy", { enumerable: true, get: function() {
-      return retryPolicy_js_1.retryPolicy;
-    } });
-    var systemErrorRetryPolicy_js_1 = require_systemErrorRetryPolicy();
-    Object.defineProperty(exports2, "systemErrorRetryPolicy", { enumerable: true, get: function() {
-      return systemErrorRetryPolicy_js_1.systemErrorRetryPolicy;
-    } });
-    Object.defineProperty(exports2, "systemErrorRetryPolicyName", { enumerable: true, get: function() {
-      return systemErrorRetryPolicy_js_1.systemErrorRetryPolicyName;
-    } });
-    var throttlingRetryPolicy_js_1 = require_throttlingRetryPolicy();
-    Object.defineProperty(exports2, "throttlingRetryPolicy", { enumerable: true, get: function() {
-      return throttlingRetryPolicy_js_1.throttlingRetryPolicy;
-    } });
-    Object.defineProperty(exports2, "throttlingRetryPolicyName", { enumerable: true, get: function() {
-      return throttlingRetryPolicy_js_1.throttlingRetryPolicyName;
-    } });
-    var formDataPolicy_js_1 = require_formDataPolicy();
-    Object.defineProperty(exports2, "formDataPolicy", { enumerable: true, get: function() {
-      return formDataPolicy_js_1.formDataPolicy;
-    } });
-    Object.defineProperty(exports2, "formDataPolicyName", { enumerable: true, get: function() {
-      return formDataPolicy_js_1.formDataPolicyName;
-    } });
-    var logPolicy_js_1 = require_logPolicy();
-    Object.defineProperty(exports2, "logPolicy", { enumerable: true, get: function() {
-      return logPolicy_js_1.logPolicy;
-    } });
-    Object.defineProperty(exports2, "logPolicyName", { enumerable: true, get: function() {
-      return logPolicy_js_1.logPolicyName;
-    } });
-    var multipartPolicy_js_1 = require_multipartPolicy();
-    Object.defineProperty(exports2, "multipartPolicy", { enumerable: true, get: function() {
-      return multipartPolicy_js_1.multipartPolicy;
-    } });
-    Object.defineProperty(exports2, "multipartPolicyName", { enumerable: true, get: function() {
-      return multipartPolicy_js_1.multipartPolicyName;
-    } });
-    var proxyPolicy_js_1 = require_proxyPolicy();
-    Object.defineProperty(exports2, "proxyPolicy", { enumerable: true, get: function() {
-      return proxyPolicy_js_1.proxyPolicy;
-    } });
-    Object.defineProperty(exports2, "proxyPolicyName", { enumerable: true, get: function() {
-      return proxyPolicy_js_1.proxyPolicyName;
-    } });
-    Object.defineProperty(exports2, "getDefaultProxySettings", { enumerable: true, get: function() {
-      return proxyPolicy_js_1.getDefaultProxySettings;
-    } });
-    var redirectPolicy_js_1 = require_redirectPolicy();
-    Object.defineProperty(exports2, "redirectPolicy", { enumerable: true, get: function() {
-      return redirectPolicy_js_1.redirectPolicy;
-    } });
-    Object.defineProperty(exports2, "redirectPolicyName", { enumerable: true, get: function() {
-      return redirectPolicy_js_1.redirectPolicyName;
-    } });
-    var tlsPolicy_js_1 = require_tlsPolicy();
-    Object.defineProperty(exports2, "tlsPolicy", { enumerable: true, get: function() {
-      return tlsPolicy_js_1.tlsPolicy;
-    } });
-    Object.defineProperty(exports2, "tlsPolicyName", { enumerable: true, get: function() {
-      return tlsPolicy_js_1.tlsPolicyName;
-    } });
-    var userAgentPolicy_js_1 = require_userAgentPolicy();
-    Object.defineProperty(exports2, "userAgentPolicy", { enumerable: true, get: function() {
-      return userAgentPolicy_js_1.userAgentPolicy;
-    } });
-    Object.defineProperty(exports2, "userAgentPolicyName", { enumerable: true, get: function() {
-      return userAgentPolicy_js_1.userAgentPolicyName;
-    } });
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/logPolicy.js
-var require_logPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/logPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.logPolicyName = void 0;
-    exports2.logPolicy = logPolicy;
-    var log_js_1 = require_log3();
-    var policies_1 = require_internal2();
-    exports2.logPolicyName = policies_1.logPolicyName;
-    function logPolicy(options = {}) {
-      return (0, policies_1.logPolicy)({
-        logger: log_js_1.logger.info,
-        ...options
-      });
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/redirectPolicy.js
-var require_redirectPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/redirectPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.redirectPolicyName = void 0;
-    exports2.redirectPolicy = redirectPolicy;
-    var policies_1 = require_internal2();
-    exports2.redirectPolicyName = policies_1.redirectPolicyName;
-    function redirectPolicy(options = {}) {
-      return (0, policies_1.redirectPolicy)(options);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/util/userAgentPlatform.js
-var require_userAgentPlatform2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/util/userAgentPlatform.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getHeaderName = getHeaderName;
-    exports2.setPlatformSpecificData = setPlatformSpecificData;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var node_os_1 = tslib_1.__importDefault(require("node:os"));
-    var node_process_1 = tslib_1.__importDefault(require("node:process"));
-    function getHeaderName() {
-      return "User-Agent";
-    }
-    async function setPlatformSpecificData(map2) {
-      if (node_process_1.default && node_process_1.default.versions) {
-        const osInfo = `${node_os_1.default.type()} ${node_os_1.default.release()}; ${node_os_1.default.arch()}`;
-        const versions = node_process_1.default.versions;
-        if (versions.bun) {
-          map2.set("Bun", `${versions.bun} (${osInfo})`);
-        } else if (versions.deno) {
-          map2.set("Deno", `${versions.deno} (${osInfo})`);
-        } else if (versions.node) {
-          map2.set("Node", `${versions.node} (${osInfo})`);
+          blobPublicAccess: {
+            serializedName: "x-ms-blob-public-access",
+            xmlName: "x-ms-blob-public-access",
+            type: {
+              name: "Enum",
+              allowedValues: ["container", "blob"]
+            }
+          },
+          hasImmutabilityPolicy: {
+            serializedName: "x-ms-has-immutability-policy",
+            xmlName: "x-ms-has-immutability-policy",
+            type: {
+              name: "Boolean"
+            }
+          },
+          hasLegalHold: {
+            serializedName: "x-ms-has-legal-hold",
+            xmlName: "x-ms-has-legal-hold",
+            type: {
+              name: "Boolean"
+            }
+          },
+          defaultEncryptionScope: {
+            serializedName: "x-ms-default-encryption-scope",
+            xmlName: "x-ms-default-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          denyEncryptionScopeOverride: {
+            serializedName: "x-ms-deny-encryption-scope-override",
+            xmlName: "x-ms-deny-encryption-scope-override",
+            type: {
+              name: "Boolean"
+            }
+          },
+          isImmutableStorageWithVersioningEnabled: {
+            serializedName: "x-ms-immutable-storage-with-versioning-enabled",
+            xmlName: "x-ms-immutable-storage-with-versioning-enabled",
+            type: {
+              name: "Boolean"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/constants.js
-var require_constants14 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/constants.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.DEFAULT_RETRY_POLICY_COUNT = exports2.SDK_VERSION = void 0;
-    exports2.SDK_VERSION = "1.22.2";
-    exports2.DEFAULT_RETRY_POLICY_COUNT = 3;
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/util/userAgent.js
-var require_userAgent2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/util/userAgent.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getUserAgentHeaderName = getUserAgentHeaderName;
-    exports2.getUserAgentValue = getUserAgentValue;
-    var userAgentPlatform_js_1 = require_userAgentPlatform2();
-    var constants_js_1 = require_constants14();
-    function getUserAgentString(telemetryInfo) {
-      const parts = [];
-      for (const [key, value] of telemetryInfo) {
-        const token = value ? `${key}/${value}` : key;
-        parts.push(token);
-      }
-      return parts.join(" ");
-    }
-    function getUserAgentHeaderName() {
-      return (0, userAgentPlatform_js_1.getHeaderName)();
-    }
-    async function getUserAgentValue(prefix) {
-      const runtimeInfo = /* @__PURE__ */ new Map();
-      runtimeInfo.set("core-rest-pipeline", constants_js_1.SDK_VERSION);
-      await (0, userAgentPlatform_js_1.setPlatformSpecificData)(runtimeInfo);
-      const defaultAgent = getUserAgentString(runtimeInfo);
-      const userAgentValue = prefix ? `${prefix} ${defaultAgent}` : defaultAgent;
-      return userAgentValue;
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/userAgentPolicy.js
-var require_userAgentPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/userAgentPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.userAgentPolicyName = void 0;
-    exports2.userAgentPolicy = userAgentPolicy;
-    var userAgent_js_1 = require_userAgent2();
-    var UserAgentHeaderName = (0, userAgent_js_1.getUserAgentHeaderName)();
-    exports2.userAgentPolicyName = "userAgentPolicy";
-    function userAgentPolicy(options = {}) {
-      const userAgentValue = (0, userAgent_js_1.getUserAgentValue)(options.userAgentPrefix);
-      return {
-        name: exports2.userAgentPolicyName,
-        async sendRequest(request2, next) {
-          if (!request2.headers.has(UserAgentHeaderName)) {
-            request2.headers.set(UserAgentHeaderName, await userAgentValue);
+    };
+    exports2.ContainerGetPropertiesExceptionHeaders = {
+      serializedName: "Container_getPropertiesExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerGetPropertiesExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          return next(request2);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/sha256.js
-var require_sha256 = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/sha256.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.computeSha256Hmac = computeSha256Hmac;
-    exports2.computeSha256Hash = computeSha256Hash;
-    var node_crypto_1 = require("node:crypto");
-    async function computeSha256Hmac(key, stringToSign, encoding) {
-      const decodedKey = Buffer.from(key, "base64");
-      return (0, node_crypto_1.createHmac)("sha256", decodedKey).update(stringToSign).digest(encoding);
-    }
-    async function computeSha256Hash(content, encoding) {
-      return (0, node_crypto_1.createHash)("sha256").update(content).digest(encoding);
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/internal.js
-var require_internal3 = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/internal.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Sanitizer = exports2.uint8ArrayToString = exports2.stringToUint8Array = exports2.isWebWorker = exports2.isReactNative = exports2.isDeno = exports2.isNodeRuntime = exports2.isNodeLike = exports2.isBun = exports2.isBrowser = exports2.randomUUID = exports2.computeSha256Hmac = exports2.computeSha256Hash = exports2.isError = exports2.isObject = exports2.getRandomIntegerInclusive = exports2.calculateRetryDelay = void 0;
-    var delay_js_1 = require_delay();
-    Object.defineProperty(exports2, "calculateRetryDelay", { enumerable: true, get: function() {
-      return delay_js_1.calculateRetryDelay;
-    } });
-    var random_js_1 = require_random();
-    Object.defineProperty(exports2, "getRandomIntegerInclusive", { enumerable: true, get: function() {
-      return random_js_1.getRandomIntegerInclusive;
-    } });
-    var object_js_1 = require_object();
-    Object.defineProperty(exports2, "isObject", { enumerable: true, get: function() {
-      return object_js_1.isObject;
-    } });
-    var error_js_1 = require_error();
-    Object.defineProperty(exports2, "isError", { enumerable: true, get: function() {
-      return error_js_1.isError;
-    } });
-    var sha256_js_1 = require_sha256();
-    Object.defineProperty(exports2, "computeSha256Hash", { enumerable: true, get: function() {
-      return sha256_js_1.computeSha256Hash;
-    } });
-    Object.defineProperty(exports2, "computeSha256Hmac", { enumerable: true, get: function() {
-      return sha256_js_1.computeSha256Hmac;
-    } });
-    var uuidUtils_js_1 = require_uuidUtils();
-    Object.defineProperty(exports2, "randomUUID", { enumerable: true, get: function() {
-      return uuidUtils_js_1.randomUUID;
-    } });
-    var checkEnvironment_js_1 = require_checkEnvironment();
-    Object.defineProperty(exports2, "isBrowser", { enumerable: true, get: function() {
-      return checkEnvironment_js_1.isBrowser;
-    } });
-    Object.defineProperty(exports2, "isBun", { enumerable: true, get: function() {
-      return checkEnvironment_js_1.isBun;
-    } });
-    Object.defineProperty(exports2, "isNodeLike", { enumerable: true, get: function() {
-      return checkEnvironment_js_1.isNodeLike;
-    } });
-    Object.defineProperty(exports2, "isNodeRuntime", { enumerable: true, get: function() {
-      return checkEnvironment_js_1.isNodeRuntime;
-    } });
-    Object.defineProperty(exports2, "isDeno", { enumerable: true, get: function() {
-      return checkEnvironment_js_1.isDeno;
-    } });
-    Object.defineProperty(exports2, "isReactNative", { enumerable: true, get: function() {
-      return checkEnvironment_js_1.isReactNative;
-    } });
-    Object.defineProperty(exports2, "isWebWorker", { enumerable: true, get: function() {
-      return checkEnvironment_js_1.isWebWorker;
-    } });
-    var bytesEncoding_js_1 = require_bytesEncoding();
-    Object.defineProperty(exports2, "stringToUint8Array", { enumerable: true, get: function() {
-      return bytesEncoding_js_1.stringToUint8Array;
-    } });
-    Object.defineProperty(exports2, "uint8ArrayToString", { enumerable: true, get: function() {
-      return bytesEncoding_js_1.uint8ArrayToString;
-    } });
-    var sanitizer_js_1 = require_sanitizer();
-    Object.defineProperty(exports2, "Sanitizer", { enumerable: true, get: function() {
-      return sanitizer_js_1.Sanitizer;
-    } });
-  }
-});
-
-// node_modules/@azure/core-util/dist/commonjs/aborterUtils.js
-var require_aborterUtils = __commonJS({
-  "node_modules/@azure/core-util/dist/commonjs/aborterUtils.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.cancelablePromiseRace = cancelablePromiseRace;
-    async function cancelablePromiseRace(abortablePromiseBuilders, options) {
-      const aborter = new AbortController();
-      function abortHandler() {
-        aborter.abort();
       }
-      options?.abortSignal?.addEventListener("abort", abortHandler);
-      try {
-        return await Promise.race(abortablePromiseBuilders.map((p) => p({ abortSignal: aborter.signal })));
-      } finally {
-        aborter.abort();
-        options?.abortSignal?.removeEventListener("abort", abortHandler);
+    };
+    exports2.ContainerDeleteHeaders = {
+      serializedName: "Container_deleteHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerDeleteHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-    }
-  }
-});
-
-// node_modules/@azure/core-util/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js
-var require_AbortError2 = __commonJS({
-  "node_modules/@azure/core-util/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AbortError = void 0;
-    var AbortError = class extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "AbortError";
+    };
+    exports2.ContainerDeleteExceptionHeaders = {
+      serializedName: "Container_deleteExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerDeleteExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
     };
-    exports2.AbortError = AbortError;
-  }
-});
-
-// node_modules/@azure/core-util/node_modules/@azure/abort-controller/dist/commonjs/index.js
-var require_commonjs3 = __commonJS({
-  "node_modules/@azure/core-util/node_modules/@azure/abort-controller/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AbortError = void 0;
-    var AbortError_js_1 = require_AbortError2();
-    Object.defineProperty(exports2, "AbortError", { enumerable: true, get: function() {
-      return AbortError_js_1.AbortError;
-    } });
-  }
-});
-
-// node_modules/@azure/core-util/dist/commonjs/createAbortablePromise.js
-var require_createAbortablePromise = __commonJS({
-  "node_modules/@azure/core-util/dist/commonjs/createAbortablePromise.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createAbortablePromise = createAbortablePromise;
-    var abort_controller_1 = require_commonjs3();
-    function createAbortablePromise(buildPromise, options) {
-      const { cleanupBeforeAbort, abortSignal, abortErrorMsg } = options ?? {};
-      return new Promise((resolve3, reject) => {
-        function rejectOnAbort() {
-          reject(new abort_controller_1.AbortError(abortErrorMsg ?? "The operation was aborted."));
+    exports2.ContainerSetMetadataHeaders = {
+      serializedName: "Container_setMetadataHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerSetMetadataHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        function removeListeners() {
-          abortSignal?.removeEventListener("abort", onAbort);
+      }
+    };
+    exports2.ContainerSetMetadataExceptionHeaders = {
+      serializedName: "Container_setMetadataExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerSetMetadataExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        function onAbort() {
-          cleanupBeforeAbort?.();
-          removeListeners();
-          rejectOnAbort();
+      }
+    };
+    exports2.ContainerGetAccessPolicyHeaders = {
+      serializedName: "Container_getAccessPolicyHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerGetAccessPolicyHeaders",
+        modelProperties: {
+          blobPublicAccess: {
+            serializedName: "x-ms-blob-public-access",
+            xmlName: "x-ms-blob-public-access",
+            type: {
+              name: "Enum",
+              allowedValues: ["container", "blob"]
+            }
+          },
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        if (abortSignal?.aborted) {
-          return rejectOnAbort();
+      }
+    };
+    exports2.ContainerGetAccessPolicyExceptionHeaders = {
+      serializedName: "Container_getAccessPolicyExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerGetAccessPolicyExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        try {
-          buildPromise((x) => {
-            removeListeners();
-            resolve3(x);
-          }, (x) => {
-            removeListeners();
-            reject(x);
-          });
-        } catch (err) {
-          reject(err);
+      }
+    };
+    exports2.ContainerSetAccessPolicyHeaders = {
+      serializedName: "Container_setAccessPolicyHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerSetAccessPolicyHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        abortSignal?.addEventListener("abort", onAbort);
-      });
-    }
-  }
-});
-
-// node_modules/@azure/core-util/dist/commonjs/delay.js
-var require_delay2 = __commonJS({
-  "node_modules/@azure/core-util/dist/commonjs/delay.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.delay = delay;
-    exports2.calculateRetryDelay = calculateRetryDelay;
-    var createAbortablePromise_js_1 = require_createAbortablePromise();
-    var util_1 = require_internal3();
-    var StandardAbortMessage = "The delay was aborted.";
-    function delay(timeInMs, options) {
-      let token;
-      const { abortSignal, abortErrorMsg } = options ?? {};
-      return (0, createAbortablePromise_js_1.createAbortablePromise)((resolve3) => {
-        token = setTimeout(resolve3, timeInMs);
-      }, {
-        cleanupBeforeAbort: () => clearTimeout(token),
-        abortSignal,
-        abortErrorMsg: abortErrorMsg ?? StandardAbortMessage
-      });
-    }
-    function calculateRetryDelay(retryAttempt, config) {
-      const exponentialDelay = config.retryDelayInMs * Math.pow(2, retryAttempt);
-      const clampedDelay = Math.min(config.maxRetryDelayInMs, exponentialDelay);
-      const retryAfterInMs = clampedDelay / 2 + (0, util_1.getRandomIntegerInclusive)(0, clampedDelay / 2);
-      return { retryAfterInMs };
-    }
-  }
-});
-
-// node_modules/@azure/core-util/dist/commonjs/error.js
-var require_error2 = __commonJS({
-  "node_modules/@azure/core-util/dist/commonjs/error.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getErrorMessage = getErrorMessage2;
-    var util_1 = require_internal3();
-    function getErrorMessage2(e) {
-      if ((0, util_1.isError)(e)) {
-        return e.message;
-      } else {
-        let stringified;
-        try {
-          if (typeof e === "object" && e) {
-            stringified = JSON.stringify(e);
-          } else {
-            stringified = String(e);
+      }
+    };
+    exports2.ContainerSetAccessPolicyExceptionHeaders = {
+      serializedName: "Container_setAccessPolicyExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerSetAccessPolicyExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-        } catch (err) {
-          stringified = "[unable to stringify input]";
         }
-        return `Unknown error ${stringified}`;
       }
-    }
-  }
-});
-
-// node_modules/@azure/core-util/dist/commonjs/typeGuards.js
-var require_typeGuards2 = __commonJS({
-  "node_modules/@azure/core-util/dist/commonjs/typeGuards.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isDefined = isDefined3;
-    exports2.isObjectWithProperties = isObjectWithProperties;
-    exports2.objectHasProperty = objectHasProperty;
-    function isDefined3(thing) {
-      return typeof thing !== "undefined" && thing !== null;
-    }
-    function isObjectWithProperties(thing, properties) {
-      if (!isDefined3(thing) || typeof thing !== "object") {
-        return false;
+    };
+    exports2.ContainerRestoreHeaders = {
+      serializedName: "Container_restoreHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerRestoreHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      for (const property of properties) {
-        if (!objectHasProperty(thing, property)) {
-          return false;
+    };
+    exports2.ContainerRestoreExceptionHeaders = {
+      serializedName: "Container_restoreExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerRestoreExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-      return true;
-    }
-    function objectHasProperty(thing, property) {
-      return isDefined3(thing) && typeof thing === "object" && property in thing;
-    }
-  }
-});
-
-// node_modules/@azure/core-util/dist/commonjs/index.js
-var require_commonjs4 = __commonJS({
-  "node_modules/@azure/core-util/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isWebWorker = exports2.isReactNative = exports2.isNodeRuntime = exports2.isNodeLike = exports2.isNode = exports2.isDeno = exports2.isBun = exports2.isBrowser = exports2.objectHasProperty = exports2.isObjectWithProperties = exports2.isDefined = exports2.getErrorMessage = exports2.delay = exports2.createAbortablePromise = exports2.cancelablePromiseRace = void 0;
-    exports2.calculateRetryDelay = calculateRetryDelay;
-    exports2.computeSha256Hash = computeSha256Hash;
-    exports2.computeSha256Hmac = computeSha256Hmac;
-    exports2.getRandomIntegerInclusive = getRandomIntegerInclusive;
-    exports2.isError = isError;
-    exports2.isObject = isObject2;
-    exports2.randomUUID = randomUUID;
-    exports2.uint8ArrayToString = uint8ArrayToString;
-    exports2.stringToUint8Array = stringToUint8Array;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var tspRuntime = tslib_1.__importStar(require_internal3());
-    var aborterUtils_js_1 = require_aborterUtils();
-    Object.defineProperty(exports2, "cancelablePromiseRace", { enumerable: true, get: function() {
-      return aborterUtils_js_1.cancelablePromiseRace;
-    } });
-    var createAbortablePromise_js_1 = require_createAbortablePromise();
-    Object.defineProperty(exports2, "createAbortablePromise", { enumerable: true, get: function() {
-      return createAbortablePromise_js_1.createAbortablePromise;
-    } });
-    var delay_js_1 = require_delay2();
-    Object.defineProperty(exports2, "delay", { enumerable: true, get: function() {
-      return delay_js_1.delay;
-    } });
-    var error_js_1 = require_error2();
-    Object.defineProperty(exports2, "getErrorMessage", { enumerable: true, get: function() {
-      return error_js_1.getErrorMessage;
-    } });
-    var typeGuards_js_1 = require_typeGuards2();
-    Object.defineProperty(exports2, "isDefined", { enumerable: true, get: function() {
-      return typeGuards_js_1.isDefined;
-    } });
-    Object.defineProperty(exports2, "isObjectWithProperties", { enumerable: true, get: function() {
-      return typeGuards_js_1.isObjectWithProperties;
-    } });
-    Object.defineProperty(exports2, "objectHasProperty", { enumerable: true, get: function() {
-      return typeGuards_js_1.objectHasProperty;
-    } });
-    function calculateRetryDelay(retryAttempt, config) {
-      return tspRuntime.calculateRetryDelay(retryAttempt, config);
-    }
-    function computeSha256Hash(content, encoding) {
-      return tspRuntime.computeSha256Hash(content, encoding);
-    }
-    function computeSha256Hmac(key, stringToSign, encoding) {
-      return tspRuntime.computeSha256Hmac(key, stringToSign, encoding);
-    }
-    function getRandomIntegerInclusive(min, max) {
-      return tspRuntime.getRandomIntegerInclusive(min, max);
-    }
-    function isError(e) {
-      return tspRuntime.isError(e);
-    }
-    function isObject2(input) {
-      return tspRuntime.isObject(input);
-    }
-    function randomUUID() {
-      return tspRuntime.randomUUID();
-    }
-    exports2.isBrowser = tspRuntime.isBrowser;
-    exports2.isBun = tspRuntime.isBun;
-    exports2.isDeno = tspRuntime.isDeno;
-    exports2.isNode = tspRuntime.isNodeLike;
-    exports2.isNodeLike = tspRuntime.isNodeLike;
-    exports2.isNodeRuntime = tspRuntime.isNodeRuntime;
-    exports2.isReactNative = tspRuntime.isReactNative;
-    exports2.isWebWorker = tspRuntime.isWebWorker;
-    function uint8ArrayToString(bytes, format) {
-      return tspRuntime.uint8ArrayToString(bytes, format);
-    }
-    function stringToUint8Array(value, format) {
-      return tspRuntime.stringToUint8Array(value, format);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/util/file.js
-var require_file3 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/util/file.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.hasRawContent = hasRawContent;
-    exports2.getRawContent = getRawContent;
-    exports2.createFileFromStream = createFileFromStream;
-    exports2.createFile = createFile;
-    var core_util_1 = require_commonjs4();
-    function isNodeReadableStream(x) {
-      return Boolean(x && typeof x["pipe"] === "function");
-    }
-    var unimplementedMethods = {
-      arrayBuffer: () => {
-        throw new Error("Not implemented");
-      },
-      bytes: () => {
-        throw new Error("Not implemented");
-      },
-      slice: () => {
-        throw new Error("Not implemented");
-      },
-      text: () => {
-        throw new Error("Not implemented");
+    };
+    exports2.ContainerRenameHeaders = {
+      serializedName: "Container_renameHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerRenameHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
     };
-    var rawContent = /* @__PURE__ */ Symbol("rawContent");
-    function hasRawContent(x) {
-      return typeof x[rawContent] === "function";
-    }
-    function getRawContent(blob) {
-      if (hasRawContent(blob)) {
-        return blob[rawContent]();
-      } else {
-        return blob;
+    exports2.ContainerRenameExceptionHeaders = {
+      serializedName: "Container_renameExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerRenameExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-    }
-    function createFileFromStream(stream, name, options = {}) {
-      return {
-        ...unimplementedMethods,
-        type: options.type ?? "",
-        lastModified: options.lastModified ?? (/* @__PURE__ */ new Date()).getTime(),
-        webkitRelativePath: options.webkitRelativePath ?? "",
-        size: options.size ?? -1,
-        name,
-        stream: () => {
-          const s = stream();
-          if (isNodeReadableStream(s)) {
-            throw new Error("Not supported: a Node stream was provided as input to createFileFromStream.");
+    };
+    exports2.ContainerSubmitBatchHeaders = {
+      serializedName: "Container_submitBatchHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerSubmitBatchHeaders",
+        modelProperties: {
+          contentType: {
+            serializedName: "content-type",
+            xmlName: "content-type",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
           }
-          return s;
-        },
-        [rawContent]: stream
-      };
-    }
-    function createFile(content, name, options = {}) {
-      if (core_util_1.isNodeLike) {
-        return {
-          ...unimplementedMethods,
-          type: options.type ?? "",
-          lastModified: options.lastModified ?? (/* @__PURE__ */ new Date()).getTime(),
-          webkitRelativePath: options.webkitRelativePath ?? "",
-          size: content.byteLength,
-          name,
-          arrayBuffer: async () => content.buffer,
-          stream: () => new Blob([toArrayBuffer(content)]).stream(),
-          [rawContent]: () => content
-        };
-      } else {
-        return new File([toArrayBuffer(content)], name, options);
+        }
       }
-    }
-    function toArrayBuffer(source) {
-      if ("resize" in source.buffer) {
-        return source;
+    };
+    exports2.ContainerSubmitBatchExceptionHeaders = {
+      serializedName: "Container_submitBatchExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerSubmitBatchExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      return source.map((x) => x);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/multipartPolicy.js
-var require_multipartPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/multipartPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.multipartPolicyName = void 0;
-    exports2.multipartPolicy = multipartPolicy;
-    var policies_1 = require_internal2();
-    var file_js_1 = require_file3();
-    exports2.multipartPolicyName = policies_1.multipartPolicyName;
-    function multipartPolicy() {
-      const tspPolicy = (0, policies_1.multipartPolicy)();
-      return {
-        name: exports2.multipartPolicyName,
-        sendRequest: async (request2, next) => {
-          if (request2.multipartBody) {
-            for (const part of request2.multipartBody.parts) {
-              if ((0, file_js_1.hasRawContent)(part.body)) {
-                part.body = (0, file_js_1.getRawContent)(part.body);
-              }
+    };
+    exports2.ContainerFilterBlobsHeaders = {
+      serializedName: "Container_filterBlobsHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerFilterBlobsHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          }
+        }
+      }
+    };
+    exports2.ContainerFilterBlobsExceptionHeaders = {
+      serializedName: "Container_filterBlobsExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerFilterBlobsExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
           }
-          return tspPolicy.sendRequest(request2, next);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/decompressResponsePolicy.js
-var require_decompressResponsePolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/decompressResponsePolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.decompressResponsePolicyName = void 0;
-    exports2.decompressResponsePolicy = decompressResponsePolicy;
-    var policies_1 = require_internal2();
-    exports2.decompressResponsePolicyName = policies_1.decompressResponsePolicyName;
-    function decompressResponsePolicy() {
-      return (0, policies_1.decompressResponsePolicy)();
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/defaultRetryPolicy.js
-var require_defaultRetryPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/defaultRetryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.defaultRetryPolicyName = void 0;
-    exports2.defaultRetryPolicy = defaultRetryPolicy;
-    var policies_1 = require_internal2();
-    exports2.defaultRetryPolicyName = policies_1.defaultRetryPolicyName;
-    function defaultRetryPolicy(options = {}) {
-      return (0, policies_1.defaultRetryPolicy)(options);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/formDataPolicy.js
-var require_formDataPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/formDataPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.formDataPolicyName = void 0;
-    exports2.formDataPolicy = formDataPolicy;
-    var policies_1 = require_internal2();
-    exports2.formDataPolicyName = policies_1.formDataPolicyName;
-    function formDataPolicy() {
-      return (0, policies_1.formDataPolicy)();
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/proxyPolicy.js
-var require_proxyPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/proxyPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.proxyPolicyName = void 0;
-    exports2.getDefaultProxySettings = getDefaultProxySettings;
-    exports2.proxyPolicy = proxyPolicy;
-    var policies_1 = require_internal2();
-    exports2.proxyPolicyName = policies_1.proxyPolicyName;
-    function getDefaultProxySettings(proxyUrl) {
-      return (0, policies_1.getDefaultProxySettings)(proxyUrl);
-    }
-    function proxyPolicy(proxySettings, options) {
-      return (0, policies_1.proxyPolicy)(proxySettings, options);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/setClientRequestIdPolicy.js
-var require_setClientRequestIdPolicy = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/setClientRequestIdPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.setClientRequestIdPolicyName = void 0;
-    exports2.setClientRequestIdPolicy = setClientRequestIdPolicy;
-    exports2.setClientRequestIdPolicyName = "setClientRequestIdPolicy";
-    function setClientRequestIdPolicy(requestIdHeaderName = "x-ms-client-request-id") {
-      return {
-        name: exports2.setClientRequestIdPolicyName,
-        async sendRequest(request2, next) {
-          if (!request2.headers.has(requestIdHeaderName)) {
-            request2.headers.set(requestIdHeaderName, request2.requestId);
+      }
+    };
+    exports2.ContainerAcquireLeaseHeaders = {
+      serializedName: "Container_acquireLeaseHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerAcquireLeaseHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          leaseId: {
+            serializedName: "x-ms-lease-id",
+            xmlName: "x-ms-lease-id",
+            type: {
+              name: "String"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
           }
-          return next(request2);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/agentPolicy.js
-var require_agentPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/agentPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.agentPolicyName = void 0;
-    exports2.agentPolicy = agentPolicy;
-    var policies_1 = require_internal2();
-    exports2.agentPolicyName = policies_1.agentPolicyName;
-    function agentPolicy(agent) {
-      return (0, policies_1.agentPolicy)(agent);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/tlsPolicy.js
-var require_tlsPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/tlsPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.tlsPolicyName = void 0;
-    exports2.tlsPolicy = tlsPolicy;
-    var policies_1 = require_internal2();
-    exports2.tlsPolicyName = policies_1.tlsPolicyName;
-    function tlsPolicy(tlsSettings) {
-      return (0, policies_1.tlsPolicy)(tlsSettings);
-    }
-  }
-});
-
-// node_modules/@azure/core-tracing/dist/commonjs/tracingContext.js
-var require_tracingContext = __commonJS({
-  "node_modules/@azure/core-tracing/dist/commonjs/tracingContext.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.TracingContextImpl = exports2.knownContextKeys = void 0;
-    exports2.createTracingContext = createTracingContext;
-    exports2.knownContextKeys = {
-      span: /* @__PURE__ */ Symbol.for("@azure/core-tracing span"),
-      namespace: /* @__PURE__ */ Symbol.for("@azure/core-tracing namespace")
-    };
-    function createTracingContext(options = {}) {
-      let context2 = new TracingContextImpl(options.parentContext);
-      if (options.span) {
-        context2 = context2.setValue(exports2.knownContextKeys.span, options.span);
       }
-      if (options.namespace) {
-        context2 = context2.setValue(exports2.knownContextKeys.namespace, options.namespace);
+    };
+    exports2.ContainerAcquireLeaseExceptionHeaders = {
+      serializedName: "Container_acquireLeaseExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerAcquireLeaseExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      return context2;
-    }
-    var TracingContextImpl = class _TracingContextImpl {
-      _contextMap;
-      constructor(initialContext) {
-        this._contextMap = initialContext instanceof _TracingContextImpl ? new Map(initialContext._contextMap) : /* @__PURE__ */ new Map();
+    };
+    exports2.ContainerReleaseLeaseHeaders = {
+      serializedName: "Container_releaseLeaseHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerReleaseLeaseHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          }
+        }
       }
-      setValue(key, value) {
-        const newContext = new _TracingContextImpl(this);
-        newContext._contextMap.set(key, value);
-        return newContext;
+    };
+    exports2.ContainerReleaseLeaseExceptionHeaders = {
+      serializedName: "Container_releaseLeaseExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerReleaseLeaseExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      getValue(key) {
-        return this._contextMap.get(key);
+    };
+    exports2.ContainerRenewLeaseHeaders = {
+      serializedName: "Container_renewLeaseHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerRenewLeaseHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          leaseId: {
+            serializedName: "x-ms-lease-id",
+            xmlName: "x-ms-lease-id",
+            type: {
+              name: "String"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          }
+        }
       }
-      deleteValue(key) {
-        const newContext = new _TracingContextImpl(this);
-        newContext._contextMap.delete(key);
-        return newContext;
+    };
+    exports2.ContainerRenewLeaseExceptionHeaders = {
+      serializedName: "Container_renewLeaseExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerRenewLeaseExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
     };
-    exports2.TracingContextImpl = TracingContextImpl;
-  }
-});
-
-// node_modules/@azure/core-tracing/dist/commonjs/state.js
-var require_state = __commonJS({
-  "node_modules/@azure/core-tracing/dist/commonjs/state.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.state = void 0;
-    exports2.state = {
-      instrumenterImplementation: void 0
+    exports2.ContainerBreakLeaseHeaders = {
+      serializedName: "Container_breakLeaseHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerBreakLeaseHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          leaseTime: {
+            serializedName: "x-ms-lease-time",
+            xmlName: "x-ms-lease-time",
+            type: {
+              name: "Number"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          }
+        }
+      }
     };
-  }
-});
-
-// node_modules/@azure/core-tracing/dist/commonjs/instrumenter.js
-var require_instrumenter = __commonJS({
-  "node_modules/@azure/core-tracing/dist/commonjs/instrumenter.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createDefaultTracingSpan = createDefaultTracingSpan;
-    exports2.createDefaultInstrumenter = createDefaultInstrumenter;
-    exports2.useInstrumenter = useInstrumenter;
-    exports2.getInstrumenter = getInstrumenter;
-    var tracingContext_js_1 = require_tracingContext();
-    var state_js_1 = require_state();
-    function createDefaultTracingSpan() {
-      return {
-        end: () => {
-        },
-        isRecording: () => false,
-        recordException: () => {
-        },
-        setAttribute: () => {
-        },
-        setStatus: () => {
-        },
-        addEvent: () => {
+    exports2.ContainerBreakLeaseExceptionHeaders = {
+      serializedName: "Container_breakLeaseExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerBreakLeaseExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-      };
-    }
-    function createDefaultInstrumenter() {
-      return {
-        createRequestHeaders: () => {
-          return {};
-        },
-        parseTraceparentHeader: () => {
-          return void 0;
-        },
-        startSpan: (_name, spanOptions) => {
-          return {
-            span: createDefaultTracingSpan(),
-            tracingContext: (0, tracingContext_js_1.createTracingContext)({ parentContext: spanOptions.tracingContext })
-          };
-        },
-        withContext(_context, callback, ...callbackArgs) {
-          return callback(...callbackArgs);
+      }
+    };
+    exports2.ContainerChangeLeaseHeaders = {
+      serializedName: "Container_changeLeaseHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerChangeLeaseHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          leaseId: {
+            serializedName: "x-ms-lease-id",
+            xmlName: "x-ms-lease-id",
+            type: {
+              name: "String"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          }
         }
-      };
-    }
-    function useInstrumenter(instrumenter) {
-      state_js_1.state.instrumenterImplementation = instrumenter;
-    }
-    function getInstrumenter() {
-      if (!state_js_1.state.instrumenterImplementation) {
-        state_js_1.state.instrumenterImplementation = createDefaultInstrumenter();
       }
-      return state_js_1.state.instrumenterImplementation;
-    }
-  }
-});
-
-// node_modules/@azure/core-tracing/dist/commonjs/tracingClient.js
-var require_tracingClient = __commonJS({
-  "node_modules/@azure/core-tracing/dist/commonjs/tracingClient.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createTracingClient = createTracingClient;
-    var instrumenter_js_1 = require_instrumenter();
-    var tracingContext_js_1 = require_tracingContext();
-    function createTracingClient(options) {
-      const { namespace, packageName, packageVersion } = options;
-      function startSpan(name, operationOptions, spanOptions) {
-        const startSpanResult = (0, instrumenter_js_1.getInstrumenter)().startSpan(name, {
-          ...spanOptions,
-          packageName,
-          packageVersion,
-          tracingContext: operationOptions?.tracingOptions?.tracingContext
-        });
-        let tracingContext = startSpanResult.tracingContext;
-        const span = startSpanResult.span;
-        if (!tracingContext.getValue(tracingContext_js_1.knownContextKeys.namespace)) {
-          tracingContext = tracingContext.setValue(tracingContext_js_1.knownContextKeys.namespace, namespace);
+    };
+    exports2.ContainerChangeLeaseExceptionHeaders = {
+      serializedName: "Container_changeLeaseExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerChangeLeaseExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        span.setAttribute("az.namespace", tracingContext.getValue(tracingContext_js_1.knownContextKeys.namespace));
-        const updatedOptions = Object.assign({}, operationOptions, {
-          tracingOptions: { ...operationOptions?.tracingOptions, tracingContext }
-        });
-        return {
-          span,
-          updatedOptions
-        };
       }
-      async function withSpan(name, operationOptions, callback, spanOptions) {
-        const { span, updatedOptions } = startSpan(name, operationOptions, spanOptions);
-        try {
-          const result = await withContext(updatedOptions.tracingOptions.tracingContext, () => Promise.resolve(callback(updatedOptions, span)));
-          span.setStatus({ status: "success" });
-          return result;
-        } catch (err) {
-          span.setStatus({ status: "error", error: err });
-          throw err;
-        } finally {
-          span.end();
+    };
+    exports2.ContainerListBlobFlatSegmentHeaders = {
+      serializedName: "Container_listBlobFlatSegmentHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerListBlobFlatSegmentHeaders",
+        modelProperties: {
+          contentType: {
+            serializedName: "content-type",
+            xmlName: "content-type",
+            type: {
+              name: "String"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-      function withContext(context2, callback, ...callbackArgs) {
-        return (0, instrumenter_js_1.getInstrumenter)().withContext(context2, callback, ...callbackArgs);
-      }
-      function parseTraceparentHeader(traceparentHeader) {
-        return (0, instrumenter_js_1.getInstrumenter)().parseTraceparentHeader(traceparentHeader);
+    };
+    exports2.ContainerListBlobFlatSegmentExceptionHeaders = {
+      serializedName: "Container_listBlobFlatSegmentExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerListBlobFlatSegmentExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      function createRequestHeaders(tracingContext) {
-        return (0, instrumenter_js_1.getInstrumenter)().createRequestHeaders(tracingContext);
+    };
+    exports2.ContainerListBlobHierarchySegmentHeaders = {
+      serializedName: "Container_listBlobHierarchySegmentHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerListBlobHierarchySegmentHeaders",
+        modelProperties: {
+          contentType: {
+            serializedName: "content-type",
+            xmlName: "content-type",
+            type: {
+              name: "String"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      return {
-        startSpan,
-        withSpan,
-        withContext,
-        parseTraceparentHeader,
-        createRequestHeaders
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-tracing/dist/commonjs/index.js
-var require_commonjs5 = __commonJS({
-  "node_modules/@azure/core-tracing/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createTracingClient = exports2.useInstrumenter = void 0;
-    var instrumenter_js_1 = require_instrumenter();
-    Object.defineProperty(exports2, "useInstrumenter", { enumerable: true, get: function() {
-      return instrumenter_js_1.useInstrumenter;
-    } });
-    var tracingClient_js_1 = require_tracingClient();
-    Object.defineProperty(exports2, "createTracingClient", { enumerable: true, get: function() {
-      return tracingClient_js_1.createTracingClient;
-    } });
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/restError.js
-var require_restError3 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/restError.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.RestError = void 0;
-    exports2.isRestError = isRestError;
-    var ts_http_runtime_1 = require_commonjs();
-    exports2.RestError = ts_http_runtime_1.RestError;
-    function isRestError(e) {
-      return (0, ts_http_runtime_1.isRestError)(e);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/tracingPolicy.js
-var require_tracingPolicy = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/tracingPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.tracingPolicyName = void 0;
-    exports2.tracingPolicy = tracingPolicy;
-    var core_tracing_1 = require_commonjs5();
-    var constants_js_1 = require_constants14();
-    var userAgent_js_1 = require_userAgent2();
-    var log_js_1 = require_log3();
-    var core_util_1 = require_commonjs4();
-    var restError_js_1 = require_restError3();
-    var util_1 = require_internal3();
-    exports2.tracingPolicyName = "tracingPolicy";
-    function tracingPolicy(options = {}) {
-      const userAgentPromise = (0, userAgent_js_1.getUserAgentValue)(options.userAgentPrefix);
-      const sanitizer = new util_1.Sanitizer({
-        additionalAllowedQueryParameters: options.additionalAllowedQueryParameters
-      });
-      const tracingClient = tryCreateTracingClient();
-      return {
-        name: exports2.tracingPolicyName,
-        async sendRequest(request2, next) {
-          if (!tracingClient) {
-            return next(request2);
+    };
+    exports2.ContainerListBlobHierarchySegmentExceptionHeaders = {
+      serializedName: "Container_listBlobHierarchySegmentExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerListBlobHierarchySegmentExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          const userAgent2 = await userAgentPromise;
-          const spanAttributes = {
-            "http.url": sanitizer.sanitizeUrl(request2.url),
-            "http.method": request2.method,
-            "http.user_agent": userAgent2,
-            requestId: request2.requestId
-          };
-          if (userAgent2) {
-            spanAttributes["http.user_agent"] = userAgent2;
+        }
+      }
+    };
+    exports2.ContainerGetAccountInfoHeaders = {
+      serializedName: "Container_getAccountInfoHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerGetAccountInfoHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          skuName: {
+            serializedName: "x-ms-sku-name",
+            xmlName: "x-ms-sku-name",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "Standard_LRS",
+                "Standard_GRS",
+                "Standard_RAGRS",
+                "Standard_ZRS",
+                "Premium_LRS"
+              ]
+            }
+          },
+          accountKind: {
+            serializedName: "x-ms-account-kind",
+            xmlName: "x-ms-account-kind",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "Storage",
+                "BlobStorage",
+                "StorageV2",
+                "FileStorage",
+                "BlockBlobStorage"
+              ]
+            }
+          },
+          isHierarchicalNamespaceEnabled: {
+            serializedName: "x-ms-is-hns-enabled",
+            xmlName: "x-ms-is-hns-enabled",
+            type: {
+              name: "Boolean"
+            }
           }
-          const { span, tracingContext } = tryCreateSpan(tracingClient, request2, spanAttributes) ?? {};
-          if (!span || !tracingContext) {
-            return next(request2);
+        }
+      }
+    };
+    exports2.ContainerGetAccountInfoExceptionHeaders = {
+      serializedName: "Container_getAccountInfoExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerGetAccountInfoExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          try {
-            const response = await tracingClient.withContext(tracingContext, next, request2);
-            tryProcessResponse(span, response);
-            return response;
-          } catch (err) {
-            tryProcessError(span, err);
-            throw err;
+        }
+      }
+    };
+    exports2.BlobDownloadHeaders = {
+      serializedName: "Blob_downloadHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobDownloadHeaders",
+        modelProperties: {
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          createdOn: {
+            serializedName: "x-ms-creation-time",
+            xmlName: "x-ms-creation-time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          metadata: {
+            serializedName: "x-ms-meta",
+            headerCollectionPrefix: "x-ms-meta-",
+            xmlName: "x-ms-meta",
+            type: {
+              name: "Dictionary",
+              value: { type: { name: "String" } }
+            }
+          },
+          objectReplicationPolicyId: {
+            serializedName: "x-ms-or-policy-id",
+            xmlName: "x-ms-or-policy-id",
+            type: {
+              name: "String"
+            }
+          },
+          objectReplicationRules: {
+            serializedName: "x-ms-or",
+            headerCollectionPrefix: "x-ms-or-",
+            xmlName: "x-ms-or",
+            type: {
+              name: "Dictionary",
+              value: { type: { name: "String" } }
+            }
+          },
+          contentLength: {
+            serializedName: "content-length",
+            xmlName: "content-length",
+            type: {
+              name: "Number"
+            }
+          },
+          contentType: {
+            serializedName: "content-type",
+            xmlName: "content-type",
+            type: {
+              name: "String"
+            }
+          },
+          contentRange: {
+            serializedName: "content-range",
+            xmlName: "content-range",
+            type: {
+              name: "String"
+            }
+          },
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          contentEncoding: {
+            serializedName: "content-encoding",
+            xmlName: "content-encoding",
+            type: {
+              name: "String"
+            }
+          },
+          cacheControl: {
+            serializedName: "cache-control",
+            xmlName: "cache-control",
+            type: {
+              name: "String"
+            }
+          },
+          contentDisposition: {
+            serializedName: "content-disposition",
+            xmlName: "content-disposition",
+            type: {
+              name: "String"
+            }
+          },
+          contentLanguage: {
+            serializedName: "content-language",
+            xmlName: "content-language",
+            type: {
+              name: "String"
+            }
+          },
+          blobSequenceNumber: {
+            serializedName: "x-ms-blob-sequence-number",
+            xmlName: "x-ms-blob-sequence-number",
+            type: {
+              name: "Number"
+            }
+          },
+          blobType: {
+            serializedName: "x-ms-blob-type",
+            xmlName: "x-ms-blob-type",
+            type: {
+              name: "Enum",
+              allowedValues: ["BlockBlob", "PageBlob", "AppendBlob"]
+            }
+          },
+          copyCompletedOn: {
+            serializedName: "x-ms-copy-completion-time",
+            xmlName: "x-ms-copy-completion-time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          copyStatusDescription: {
+            serializedName: "x-ms-copy-status-description",
+            xmlName: "x-ms-copy-status-description",
+            type: {
+              name: "String"
+            }
+          },
+          copyId: {
+            serializedName: "x-ms-copy-id",
+            xmlName: "x-ms-copy-id",
+            type: {
+              name: "String"
+            }
+          },
+          copyProgress: {
+            serializedName: "x-ms-copy-progress",
+            xmlName: "x-ms-copy-progress",
+            type: {
+              name: "String"
+            }
+          },
+          copySource: {
+            serializedName: "x-ms-copy-source",
+            xmlName: "x-ms-copy-source",
+            type: {
+              name: "String"
+            }
+          },
+          copyStatus: {
+            serializedName: "x-ms-copy-status",
+            xmlName: "x-ms-copy-status",
+            type: {
+              name: "Enum",
+              allowedValues: ["pending", "success", "aborted", "failed"]
+            }
+          },
+          leaseDuration: {
+            serializedName: "x-ms-lease-duration",
+            xmlName: "x-ms-lease-duration",
+            type: {
+              name: "Enum",
+              allowedValues: ["infinite", "fixed"]
+            }
+          },
+          leaseState: {
+            serializedName: "x-ms-lease-state",
+            xmlName: "x-ms-lease-state",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "available",
+                "leased",
+                "expired",
+                "breaking",
+                "broken"
+              ]
+            }
+          },
+          leaseStatus: {
+            serializedName: "x-ms-lease-status",
+            xmlName: "x-ms-lease-status",
+            type: {
+              name: "Enum",
+              allowedValues: ["locked", "unlocked"]
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          isCurrentVersion: {
+            serializedName: "x-ms-is-current-version",
+            xmlName: "x-ms-is-current-version",
+            type: {
+              name: "Boolean"
+            }
+          },
+          acceptRanges: {
+            serializedName: "accept-ranges",
+            xmlName: "accept-ranges",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          blobCommittedBlockCount: {
+            serializedName: "x-ms-blob-committed-block-count",
+            xmlName: "x-ms-blob-committed-block-count",
+            type: {
+              name: "Number"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-server-encrypted",
+            xmlName: "x-ms-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          blobContentMD5: {
+            serializedName: "x-ms-blob-content-md5",
+            xmlName: "x-ms-blob-content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          tagCount: {
+            serializedName: "x-ms-tag-count",
+            xmlName: "x-ms-tag-count",
+            type: {
+              name: "Number"
+            }
+          },
+          isSealed: {
+            serializedName: "x-ms-blob-sealed",
+            xmlName: "x-ms-blob-sealed",
+            type: {
+              name: "Boolean"
+            }
+          },
+          lastAccessed: {
+            serializedName: "x-ms-last-access-time",
+            xmlName: "x-ms-last-access-time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          immutabilityPolicyExpiresOn: {
+            serializedName: "x-ms-immutability-policy-until-date",
+            xmlName: "x-ms-immutability-policy-until-date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          immutabilityPolicyMode: {
+            serializedName: "x-ms-immutability-policy-mode",
+            xmlName: "x-ms-immutability-policy-mode",
+            type: {
+              name: "Enum",
+              allowedValues: ["Mutable", "Unlocked", "Locked"]
+            }
+          },
+          legalHold: {
+            serializedName: "x-ms-legal-hold",
+            xmlName: "x-ms-legal-hold",
+            type: {
+              name: "Boolean"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          contentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
+            }
           }
         }
-      };
-    }
-    function tryCreateTracingClient() {
-      try {
-        return (0, core_tracing_1.createTracingClient)({
-          namespace: "",
-          packageName: "@azure/core-rest-pipeline",
-          packageVersion: constants_js_1.SDK_VERSION
-        });
-      } catch (e) {
-        log_js_1.logger.warning(`Error when creating the TracingClient: ${(0, core_util_1.getErrorMessage)(e)}`);
-        return void 0;
-      }
-    }
-    function tryCreateSpan(tracingClient, request2, spanAttributes) {
-      try {
-        const { span, updatedOptions } = tracingClient.startSpan(`HTTP ${request2.method}`, { tracingOptions: request2.tracingOptions }, {
-          spanKind: "client",
-          spanAttributes
-        });
-        if (!span.isRecording()) {
-          span.end();
-          return void 0;
-        }
-        const headers = tracingClient.createRequestHeaders(updatedOptions.tracingOptions.tracingContext);
-        for (const [key, value] of Object.entries(headers)) {
-          request2.headers.set(key, value);
-        }
-        return { span, tracingContext: updatedOptions.tracingOptions.tracingContext };
-      } catch (e) {
-        log_js_1.logger.warning(`Skipping creating a tracing span due to an error: ${(0, core_util_1.getErrorMessage)(e)}`);
-        return void 0;
-      }
-    }
-    function tryProcessError(span, error3) {
-      try {
-        span.setStatus({
-          status: "error",
-          error: (0, core_util_1.isError)(error3) ? error3 : void 0
-        });
-        if ((0, restError_js_1.isRestError)(error3) && error3.statusCode) {
-          span.setAttribute("http.status_code", error3.statusCode);
-        }
-        span.end();
-      } catch (e) {
-        log_js_1.logger.warning(`Skipping tracing span processing due to an error: ${(0, core_util_1.getErrorMessage)(e)}`);
-      }
-    }
-    function tryProcessResponse(span, response) {
-      try {
-        span.setAttribute("http.status_code", response.status);
-        const serviceRequestId = response.headers.get("x-ms-request-id");
-        if (serviceRequestId) {
-          span.setAttribute("serviceRequestId", serviceRequestId);
-        }
-        if (response.status >= 400) {
-          span.setStatus({
-            status: "error"
-          });
-        }
-        span.end();
-      } catch (e) {
-        log_js_1.logger.warning(`Skipping tracing span processing due to an error: ${(0, core_util_1.getErrorMessage)(e)}`);
-      }
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/util/wrapAbortSignal.js
-var require_wrapAbortSignal = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/util/wrapAbortSignal.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.wrapAbortSignalLike = wrapAbortSignalLike;
-    function wrapAbortSignalLike(abortSignalLike) {
-      if (abortSignalLike instanceof AbortSignal) {
-        return { abortSignal: abortSignalLike };
       }
-      if (abortSignalLike.aborted) {
-        return { abortSignal: AbortSignal.abort(abortSignalLike.reason) };
-      }
-      const controller = new AbortController();
-      let needsCleanup = true;
-      function cleanup() {
-        if (needsCleanup) {
-          abortSignalLike.removeEventListener("abort", listener);
-          needsCleanup = false;
+    };
+    exports2.BlobDownloadExceptionHeaders = {
+      serializedName: "Blob_downloadExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobDownloadExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-      function listener() {
-        controller.abort(abortSignalLike.reason);
-        cleanup();
-      }
-      abortSignalLike.addEventListener("abort", listener);
-      return { abortSignal: controller.signal, cleanup };
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/wrapAbortSignalLikePolicy.js
-var require_wrapAbortSignalLikePolicy = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/wrapAbortSignalLikePolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.wrapAbortSignalLikePolicyName = void 0;
-    exports2.wrapAbortSignalLikePolicy = wrapAbortSignalLikePolicy;
-    var wrapAbortSignal_js_1 = require_wrapAbortSignal();
-    exports2.wrapAbortSignalLikePolicyName = "wrapAbortSignalLikePolicy";
-    function wrapAbortSignalLikePolicy() {
-      return {
-        name: exports2.wrapAbortSignalLikePolicyName,
-        sendRequest: async (request2, next) => {
-          if (!request2.abortSignal) {
-            return next(request2);
-          }
-          const { abortSignal, cleanup } = (0, wrapAbortSignal_js_1.wrapAbortSignalLike)(request2.abortSignal);
-          request2.abortSignal = abortSignal;
-          try {
-            return await next(request2);
-          } finally {
-            cleanup?.();
+    };
+    exports2.BlobGetPropertiesHeaders = {
+      serializedName: "Blob_getPropertiesHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobGetPropertiesHeaders",
+        modelProperties: {
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          createdOn: {
+            serializedName: "x-ms-creation-time",
+            xmlName: "x-ms-creation-time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          metadata: {
+            serializedName: "x-ms-meta",
+            headerCollectionPrefix: "x-ms-meta-",
+            xmlName: "x-ms-meta",
+            type: {
+              name: "Dictionary",
+              value: { type: { name: "String" } }
+            }
+          },
+          objectReplicationPolicyId: {
+            serializedName: "x-ms-or-policy-id",
+            xmlName: "x-ms-or-policy-id",
+            type: {
+              name: "String"
+            }
+          },
+          objectReplicationRules: {
+            serializedName: "x-ms-or",
+            headerCollectionPrefix: "x-ms-or-",
+            xmlName: "x-ms-or",
+            type: {
+              name: "Dictionary",
+              value: { type: { name: "String" } }
+            }
+          },
+          blobType: {
+            serializedName: "x-ms-blob-type",
+            xmlName: "x-ms-blob-type",
+            type: {
+              name: "Enum",
+              allowedValues: ["BlockBlob", "PageBlob", "AppendBlob"]
+            }
+          },
+          copyCompletedOn: {
+            serializedName: "x-ms-copy-completion-time",
+            xmlName: "x-ms-copy-completion-time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          copyStatusDescription: {
+            serializedName: "x-ms-copy-status-description",
+            xmlName: "x-ms-copy-status-description",
+            type: {
+              name: "String"
+            }
+          },
+          copyId: {
+            serializedName: "x-ms-copy-id",
+            xmlName: "x-ms-copy-id",
+            type: {
+              name: "String"
+            }
+          },
+          copyProgress: {
+            serializedName: "x-ms-copy-progress",
+            xmlName: "x-ms-copy-progress",
+            type: {
+              name: "String"
+            }
+          },
+          copySource: {
+            serializedName: "x-ms-copy-source",
+            xmlName: "x-ms-copy-source",
+            type: {
+              name: "String"
+            }
+          },
+          copyStatus: {
+            serializedName: "x-ms-copy-status",
+            xmlName: "x-ms-copy-status",
+            type: {
+              name: "Enum",
+              allowedValues: ["pending", "success", "aborted", "failed"]
+            }
+          },
+          isIncrementalCopy: {
+            serializedName: "x-ms-incremental-copy",
+            xmlName: "x-ms-incremental-copy",
+            type: {
+              name: "Boolean"
+            }
+          },
+          destinationSnapshot: {
+            serializedName: "x-ms-copy-destination-snapshot",
+            xmlName: "x-ms-copy-destination-snapshot",
+            type: {
+              name: "String"
+            }
+          },
+          leaseDuration: {
+            serializedName: "x-ms-lease-duration",
+            xmlName: "x-ms-lease-duration",
+            type: {
+              name: "Enum",
+              allowedValues: ["infinite", "fixed"]
+            }
+          },
+          leaseState: {
+            serializedName: "x-ms-lease-state",
+            xmlName: "x-ms-lease-state",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "available",
+                "leased",
+                "expired",
+                "breaking",
+                "broken"
+              ]
+            }
+          },
+          leaseStatus: {
+            serializedName: "x-ms-lease-status",
+            xmlName: "x-ms-lease-status",
+            type: {
+              name: "Enum",
+              allowedValues: ["locked", "unlocked"]
+            }
+          },
+          contentLength: {
+            serializedName: "content-length",
+            xmlName: "content-length",
+            type: {
+              name: "Number"
+            }
+          },
+          contentType: {
+            serializedName: "content-type",
+            xmlName: "content-type",
+            type: {
+              name: "String"
+            }
+          },
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          contentEncoding: {
+            serializedName: "content-encoding",
+            xmlName: "content-encoding",
+            type: {
+              name: "String"
+            }
+          },
+          contentDisposition: {
+            serializedName: "content-disposition",
+            xmlName: "content-disposition",
+            type: {
+              name: "String"
+            }
+          },
+          contentLanguage: {
+            serializedName: "content-language",
+            xmlName: "content-language",
+            type: {
+              name: "String"
+            }
+          },
+          cacheControl: {
+            serializedName: "cache-control",
+            xmlName: "cache-control",
+            type: {
+              name: "String"
+            }
+          },
+          blobSequenceNumber: {
+            serializedName: "x-ms-blob-sequence-number",
+            xmlName: "x-ms-blob-sequence-number",
+            type: {
+              name: "Number"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          acceptRanges: {
+            serializedName: "accept-ranges",
+            xmlName: "accept-ranges",
+            type: {
+              name: "String"
+            }
+          },
+          blobCommittedBlockCount: {
+            serializedName: "x-ms-blob-committed-block-count",
+            xmlName: "x-ms-blob-committed-block-count",
+            type: {
+              name: "Number"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-server-encrypted",
+            xmlName: "x-ms-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          accessTier: {
+            serializedName: "x-ms-access-tier",
+            xmlName: "x-ms-access-tier",
+            type: {
+              name: "String"
+            }
+          },
+          accessTierInferred: {
+            serializedName: "x-ms-access-tier-inferred",
+            xmlName: "x-ms-access-tier-inferred",
+            type: {
+              name: "Boolean"
+            }
+          },
+          archiveStatus: {
+            serializedName: "x-ms-archive-status",
+            xmlName: "x-ms-archive-status",
+            type: {
+              name: "String"
+            }
+          },
+          accessTierChangedOn: {
+            serializedName: "x-ms-access-tier-change-time",
+            xmlName: "x-ms-access-tier-change-time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          isCurrentVersion: {
+            serializedName: "x-ms-is-current-version",
+            xmlName: "x-ms-is-current-version",
+            type: {
+              name: "Boolean"
+            }
+          },
+          tagCount: {
+            serializedName: "x-ms-tag-count",
+            xmlName: "x-ms-tag-count",
+            type: {
+              name: "Number"
+            }
+          },
+          expiresOn: {
+            serializedName: "x-ms-expiry-time",
+            xmlName: "x-ms-expiry-time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isSealed: {
+            serializedName: "x-ms-blob-sealed",
+            xmlName: "x-ms-blob-sealed",
+            type: {
+              name: "Boolean"
+            }
+          },
+          rehydratePriority: {
+            serializedName: "x-ms-rehydrate-priority",
+            xmlName: "x-ms-rehydrate-priority",
+            type: {
+              name: "Enum",
+              allowedValues: ["High", "Standard"]
+            }
+          },
+          lastAccessed: {
+            serializedName: "x-ms-last-access-time",
+            xmlName: "x-ms-last-access-time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          immutabilityPolicyExpiresOn: {
+            serializedName: "x-ms-immutability-policy-until-date",
+            xmlName: "x-ms-immutability-policy-until-date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          immutabilityPolicyMode: {
+            serializedName: "x-ms-immutability-policy-mode",
+            xmlName: "x-ms-immutability-policy-mode",
+            type: {
+              name: "Enum",
+              allowedValues: ["Mutable", "Unlocked", "Locked"]
+            }
+          },
+          legalHold: {
+            serializedName: "x-ms-legal-hold",
+            xmlName: "x-ms-legal-hold",
+            type: {
+              name: "Boolean"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/createPipelineFromOptions.js
-var require_createPipelineFromOptions2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/createPipelineFromOptions.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createPipelineFromOptions = createPipelineFromOptions;
-    var logPolicy_js_1 = require_logPolicy2();
-    var pipeline_js_1 = require_pipeline2();
-    var redirectPolicy_js_1 = require_redirectPolicy2();
-    var userAgentPolicy_js_1 = require_userAgentPolicy2();
-    var multipartPolicy_js_1 = require_multipartPolicy2();
-    var decompressResponsePolicy_js_1 = require_decompressResponsePolicy2();
-    var defaultRetryPolicy_js_1 = require_defaultRetryPolicy2();
-    var formDataPolicy_js_1 = require_formDataPolicy2();
-    var core_util_1 = require_commonjs4();
-    var proxyPolicy_js_1 = require_proxyPolicy2();
-    var setClientRequestIdPolicy_js_1 = require_setClientRequestIdPolicy();
-    var agentPolicy_js_1 = require_agentPolicy2();
-    var tlsPolicy_js_1 = require_tlsPolicy2();
-    var tracingPolicy_js_1 = require_tracingPolicy();
-    var wrapAbortSignalLikePolicy_js_1 = require_wrapAbortSignalLikePolicy();
-    function createPipelineFromOptions(options) {
-      const pipeline = (0, pipeline_js_1.createEmptyPipeline)();
-      if (core_util_1.isNodeLike) {
-        if (options.agent) {
-          pipeline.addPolicy((0, agentPolicy_js_1.agentPolicy)(options.agent));
-        }
-        if (options.tlsOptions) {
-          pipeline.addPolicy((0, tlsPolicy_js_1.tlsPolicy)(options.tlsOptions));
-        }
-        pipeline.addPolicy((0, proxyPolicy_js_1.proxyPolicy)(options.proxyOptions));
-        pipeline.addPolicy((0, decompressResponsePolicy_js_1.decompressResponsePolicy)());
-      }
-      pipeline.addPolicy((0, wrapAbortSignalLikePolicy_js_1.wrapAbortSignalLikePolicy)());
-      pipeline.addPolicy((0, formDataPolicy_js_1.formDataPolicy)(), { beforePolicies: [multipartPolicy_js_1.multipartPolicyName] });
-      pipeline.addPolicy((0, userAgentPolicy_js_1.userAgentPolicy)(options.userAgentOptions));
-      pipeline.addPolicy((0, setClientRequestIdPolicy_js_1.setClientRequestIdPolicy)(options.telemetryOptions?.clientRequestIdHeaderName));
-      pipeline.addPolicy((0, multipartPolicy_js_1.multipartPolicy)(), { afterPhase: "Deserialize" });
-      pipeline.addPolicy((0, defaultRetryPolicy_js_1.defaultRetryPolicy)(options.retryOptions), { phase: "Retry" });
-      pipeline.addPolicy((0, tracingPolicy_js_1.tracingPolicy)({ ...options.userAgentOptions, ...options.loggingOptions }), {
-        afterPhase: "Retry"
-      });
-      if (core_util_1.isNodeLike) {
-        pipeline.addPolicy((0, redirectPolicy_js_1.redirectPolicy)(options.redirectOptions), { afterPhase: "Retry" });
       }
-      pipeline.addPolicy((0, logPolicy_js_1.logPolicy)(options.loggingOptions), { afterPhase: "Sign" });
-      return pipeline;
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/defaultHttpClient.js
-var require_defaultHttpClient2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/defaultHttpClient.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createDefaultHttpClient = createDefaultHttpClient;
-    var ts_http_runtime_1 = require_commonjs();
-    var wrapAbortSignal_js_1 = require_wrapAbortSignal();
-    function createDefaultHttpClient() {
-      const client = (0, ts_http_runtime_1.createDefaultHttpClient)();
-      return {
-        async sendRequest(request2) {
-          const { abortSignal, cleanup } = request2.abortSignal ? (0, wrapAbortSignal_js_1.wrapAbortSignalLike)(request2.abortSignal) : {};
-          try {
-            request2.abortSignal = abortSignal;
-            return await client.sendRequest(request2);
-          } finally {
-            cleanup?.();
-          }
-        }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/httpHeaders.js
-var require_httpHeaders2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/httpHeaders.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createHttpHeaders = createHttpHeaders;
-    var ts_http_runtime_1 = require_commonjs();
-    function createHttpHeaders(rawHeaders) {
-      return (0, ts_http_runtime_1.createHttpHeaders)(rawHeaders);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/pipelineRequest.js
-var require_pipelineRequest2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/pipelineRequest.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createPipelineRequest = createPipelineRequest;
-    var ts_http_runtime_1 = require_commonjs();
-    function createPipelineRequest(options) {
-      return (0, ts_http_runtime_1.createPipelineRequest)(options);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/exponentialRetryPolicy.js
-var require_exponentialRetryPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/exponentialRetryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.exponentialRetryPolicyName = void 0;
-    exports2.exponentialRetryPolicy = exponentialRetryPolicy;
-    var policies_1 = require_internal2();
-    exports2.exponentialRetryPolicyName = policies_1.exponentialRetryPolicyName;
-    function exponentialRetryPolicy(options = {}) {
-      return (0, policies_1.exponentialRetryPolicy)(options);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/systemErrorRetryPolicy.js
-var require_systemErrorRetryPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/systemErrorRetryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.systemErrorRetryPolicyName = void 0;
-    exports2.systemErrorRetryPolicy = systemErrorRetryPolicy;
-    var policies_1 = require_internal2();
-    exports2.systemErrorRetryPolicyName = policies_1.systemErrorRetryPolicyName;
-    function systemErrorRetryPolicy(options = {}) {
-      return (0, policies_1.systemErrorRetryPolicy)(options);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/throttlingRetryPolicy.js
-var require_throttlingRetryPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/throttlingRetryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.throttlingRetryPolicyName = void 0;
-    exports2.throttlingRetryPolicy = throttlingRetryPolicy;
-    var policies_1 = require_internal2();
-    exports2.throttlingRetryPolicyName = policies_1.throttlingRetryPolicyName;
-    function throttlingRetryPolicy(options = {}) {
-      return (0, policies_1.throttlingRetryPolicy)(options);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/retryPolicy.js
-var require_retryPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/retryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.retryPolicy = retryPolicy;
-    var logger_1 = require_commonjs2();
-    var constants_js_1 = require_constants14();
-    var policies_1 = require_internal2();
-    var retryPolicyLogger = (0, logger_1.createClientLogger)("core-rest-pipeline retryPolicy");
-    function retryPolicy(strategies, options = { maxRetries: constants_js_1.DEFAULT_RETRY_POLICY_COUNT }) {
-      return (0, policies_1.retryPolicy)(strategies, {
-        logger: retryPolicyLogger,
-        ...options
-      });
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/util/tokenCycler.js
-var require_tokenCycler = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/util/tokenCycler.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.DEFAULT_CYCLER_OPTIONS = void 0;
-    exports2.createTokenCycler = createTokenCycler;
-    var core_util_1 = require_commonjs4();
-    exports2.DEFAULT_CYCLER_OPTIONS = {
-      forcedRefreshWindowInMs: 1e3,
-      // Force waiting for a refresh 1s before the token expires
-      retryIntervalInMs: 3e3,
-      // Allow refresh attempts every 3s
-      refreshWindowInMs: 1e3 * 60 * 2
-      // Start refreshing 2m before expiry
     };
-    async function beginRefresh(getAccessToken, retryIntervalInMs, refreshTimeout) {
-      async function tryGetAccessToken() {
-        if (Date.now() < refreshTimeout) {
-          try {
-            return await getAccessToken();
-          } catch {
-            return null;
-          }
-        } else {
-          const finalToken = await getAccessToken();
-          if (finalToken === null) {
-            throw new Error("Failed to refresh access token.");
+    exports2.BlobGetPropertiesExceptionHeaders = {
+      serializedName: "Blob_getPropertiesExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobGetPropertiesExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          return finalToken;
         }
       }
-      let token = await tryGetAccessToken();
-      while (token === null) {
-        await (0, core_util_1.delay)(retryIntervalInMs);
-        token = await tryGetAccessToken();
-      }
-      return token;
-    }
-    function createTokenCycler(credential, tokenCyclerOptions) {
-      let refreshWorker = null;
-      let token = null;
-      let tenantId;
-      const options = {
-        ...exports2.DEFAULT_CYCLER_OPTIONS,
-        ...tokenCyclerOptions
-      };
-      const cycler = {
-        /**
-         * Produces true if a refresh job is currently in progress.
-         */
-        get isRefreshing() {
-          return refreshWorker !== null;
-        },
-        /**
-         * Produces true if the cycler SHOULD refresh (we are within the refresh
-         * window and not already refreshing)
-         */
-        get shouldRefresh() {
-          if (cycler.isRefreshing) {
-            return false;
-          }
-          if (token?.refreshAfterTimestamp && token.refreshAfterTimestamp < Date.now()) {
-            return true;
+    };
+    exports2.BlobDeleteHeaders = {
+      serializedName: "Blob_deleteHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobDeleteHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          return (token?.expiresOnTimestamp ?? 0) - options.refreshWindowInMs < Date.now();
-        },
-        /**
-         * Produces true if the cycler MUST refresh (null or nearly-expired
-         * token).
-         */
-        get mustRefresh() {
-          return token === null || token.expiresOnTimestamp - options.forcedRefreshWindowInMs < Date.now();
         }
-      };
-      function refresh(scopes, getTokenOptions) {
-        if (!cycler.isRefreshing) {
-          const tryGetAccessToken = () => credential.getToken(scopes, getTokenOptions);
-          refreshWorker = beginRefresh(
-            tryGetAccessToken,
-            options.retryIntervalInMs,
-            // If we don't have a token, then we should timeout immediately
-            token?.expiresOnTimestamp ?? Date.now()
-          ).then((_token) => {
-            refreshWorker = null;
-            token = _token;
-            tenantId = getTokenOptions.tenantId;
-            return token;
-          }).catch((reason) => {
-            refreshWorker = null;
-            token = null;
-            tenantId = void 0;
-            throw reason;
-          });
+      }
+    };
+    exports2.BlobDeleteExceptionHeaders = {
+      serializedName: "Blob_deleteExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobDeleteExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        return refreshWorker;
       }
-      return async (scopes, tokenOptions) => {
-        const hasClaimChallenge = Boolean(tokenOptions.claims);
-        const tenantIdChanged = tenantId !== tokenOptions.tenantId;
-        if (hasClaimChallenge) {
-          token = null;
+    };
+    exports2.BlobUndeleteHeaders = {
+      serializedName: "Blob_undeleteHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobUndeleteHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        const mustRefresh = tenantIdChanged || hasClaimChallenge || cycler.mustRefresh;
-        if (mustRefresh) {
-          return refresh(scopes, tokenOptions);
+      }
+    };
+    exports2.BlobUndeleteExceptionHeaders = {
+      serializedName: "Blob_undeleteExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobUndeleteExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        if (cycler.shouldRefresh) {
-          refresh(scopes, tokenOptions);
+      }
+    };
+    exports2.BlobSetExpiryHeaders = {
+      serializedName: "Blob_setExpiryHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetExpiryHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          }
         }
-        return token;
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/bearerTokenAuthenticationPolicy.js
-var require_bearerTokenAuthenticationPolicy = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/bearerTokenAuthenticationPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.bearerTokenAuthenticationPolicyName = void 0;
-    exports2.bearerTokenAuthenticationPolicy = bearerTokenAuthenticationPolicy;
-    exports2.parseChallenges = parseChallenges;
-    var tokenCycler_js_1 = require_tokenCycler();
-    var log_js_1 = require_log3();
-    var restError_js_1 = require_restError3();
-    exports2.bearerTokenAuthenticationPolicyName = "bearerTokenAuthenticationPolicy";
-    async function trySendRequest(request2, next) {
-      try {
-        return [await next(request2), void 0];
-      } catch (e) {
-        if ((0, restError_js_1.isRestError)(e) && e.response) {
-          return [e.response, e];
-        } else {
-          throw e;
+      }
+    };
+    exports2.BlobSetExpiryExceptionHeaders = {
+      serializedName: "Blob_setExpiryExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetExpiryExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-    }
-    async function defaultAuthorizeRequest(options) {
-      const { scopes, getAccessToken, request: request2 } = options;
-      const getTokenOptions = {
-        abortSignal: request2.abortSignal,
-        tracingOptions: request2.tracingOptions,
-        enableCae: true
-      };
-      const accessToken = await getAccessToken(scopes, getTokenOptions);
-      if (accessToken) {
-        options.request.headers.set("Authorization", `Bearer ${accessToken.token}`);
+    };
+    exports2.BlobSetHttpHeadersHeaders = {
+      serializedName: "Blob_setHttpHeadersHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetHttpHeadersHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          blobSequenceNumber: {
+            serializedName: "x-ms-blob-sequence-number",
+            xmlName: "x-ms-blob-sequence-number",
+            type: {
+              name: "Number"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-    }
-    function isChallengeResponse(response) {
-      return response.status === 401 && response.headers.has("WWW-Authenticate");
-    }
-    async function authorizeRequestOnCaeChallenge(onChallengeOptions, caeClaims) {
-      const { scopes } = onChallengeOptions;
-      const accessToken = await onChallengeOptions.getAccessToken(scopes, {
-        enableCae: true,
-        claims: caeClaims
-      });
-      if (!accessToken) {
-        return false;
+    };
+    exports2.BlobSetHttpHeadersExceptionHeaders = {
+      serializedName: "Blob_setHttpHeadersExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetHttpHeadersExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      onChallengeOptions.request.headers.set("Authorization", `${accessToken.tokenType ?? "Bearer"} ${accessToken.token}`);
-      return true;
-    }
-    function bearerTokenAuthenticationPolicy(options) {
-      const { credential, scopes, challengeCallbacks } = options;
-      const logger = options.logger || log_js_1.logger;
-      const callbacks = {
-        authorizeRequest: challengeCallbacks?.authorizeRequest?.bind(challengeCallbacks) ?? defaultAuthorizeRequest,
-        authorizeRequestOnChallenge: challengeCallbacks?.authorizeRequestOnChallenge?.bind(challengeCallbacks)
-      };
-      const getAccessToken = credential ? (0, tokenCycler_js_1.createTokenCycler)(
-        credential
-        /* , options */
-      ) : () => Promise.resolve(null);
-      return {
-        name: exports2.bearerTokenAuthenticationPolicyName,
-        /**
-         * If there's no challenge parameter:
-         * - It will try to retrieve the token using the cache, or the credential's getToken.
-         * - Then it will try the next policy with or without the retrieved token.
-         *
-         * It uses the challenge parameters to:
-         * - Skip a first attempt to get the token from the credential if there's no cached token,
-         *   since it expects the token to be retrievable only after the challenge.
-         * - Prepare the outgoing request if the `prepareRequest` method has been provided.
-         * - Send an initial request to receive the challenge if it fails.
-         * - Process a challenge if the response contains it.
-         * - Retrieve a token with the challenge information, then re-send the request.
-         */
-        async sendRequest(request2, next) {
-          if (!request2.url.toLowerCase().startsWith("https://")) {
-            throw new Error("Bearer token authentication is not permitted for non-TLS protected (non-https) URLs.");
+    };
+    exports2.BlobSetImmutabilityPolicyHeaders = {
+      serializedName: "Blob_setImmutabilityPolicyHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetImmutabilityPolicyHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          immutabilityPolicyExpiry: {
+            serializedName: "x-ms-immutability-policy-until-date",
+            xmlName: "x-ms-immutability-policy-until-date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          immutabilityPolicyMode: {
+            serializedName: "x-ms-immutability-policy-mode",
+            xmlName: "x-ms-immutability-policy-mode",
+            type: {
+              name: "Enum",
+              allowedValues: ["Mutable", "Unlocked", "Locked"]
+            }
           }
-          await callbacks.authorizeRequest({
-            scopes: Array.isArray(scopes) ? scopes : [scopes],
-            request: request2,
-            getAccessToken,
-            logger
-          });
-          let response;
-          let error3;
-          let shouldSendRequest;
-          [response, error3] = await trySendRequest(request2, next);
-          if (isChallengeResponse(response)) {
-            let claims = getCaeChallengeClaims(response.headers.get("WWW-Authenticate"));
-            if (claims) {
-              let parsedClaim;
-              try {
-                parsedClaim = atob(claims);
-              } catch (e) {
-                logger.warning(`The WWW-Authenticate header contains "claims" that cannot be parsed. Unable to perform the Continuous Access Evaluation authentication flow. Unparsable claims: ${claims}`);
-                return response;
-              }
-              shouldSendRequest = await authorizeRequestOnCaeChallenge({
-                scopes: Array.isArray(scopes) ? scopes : [scopes],
-                response,
-                request: request2,
-                getAccessToken,
-                logger
-              }, parsedClaim);
-              if (shouldSendRequest) {
-                [response, error3] = await trySendRequest(request2, next);
-              }
-            } else if (callbacks.authorizeRequestOnChallenge) {
-              shouldSendRequest = await callbacks.authorizeRequestOnChallenge({
-                scopes: Array.isArray(scopes) ? scopes : [scopes],
-                request: request2,
-                response,
-                getAccessToken,
-                logger
-              });
-              if (shouldSendRequest) {
-                [response, error3] = await trySendRequest(request2, next);
-              }
-              if (isChallengeResponse(response)) {
-                claims = getCaeChallengeClaims(response.headers.get("WWW-Authenticate"));
-                if (claims) {
-                  let parsedClaim;
-                  try {
-                    parsedClaim = atob(claims);
-                  } catch (e) {
-                    logger.warning(`The WWW-Authenticate header contains "claims" that cannot be parsed. Unable to perform the Continuous Access Evaluation authentication flow. Unparsable claims: ${claims}`);
-                    return response;
-                  }
-                  shouldSendRequest = await authorizeRequestOnCaeChallenge({
-                    scopes: Array.isArray(scopes) ? scopes : [scopes],
-                    response,
-                    request: request2,
-                    getAccessToken,
-                    logger
-                  }, parsedClaim);
-                  if (shouldSendRequest) {
-                    [response, error3] = await trySendRequest(request2, next);
-                  }
-                }
-              }
+        }
+      }
+    };
+    exports2.BlobSetImmutabilityPolicyExceptionHeaders = {
+      serializedName: "Blob_setImmutabilityPolicyExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetImmutabilityPolicyExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
           }
-          if (error3) {
-            throw error3;
-          } else {
-            return response;
+        }
+      }
+    };
+    exports2.BlobDeleteImmutabilityPolicyHeaders = {
+      serializedName: "Blob_deleteImmutabilityPolicyHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobDeleteImmutabilityPolicyHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
           }
         }
-      };
-    }
-    function parseChallenges(challenges) {
-      const challengeRegex = /(\w+)\s+((?:\w+=(?:"[^"]*"|[^,]*),?\s*)+)/g;
-      const paramRegex = /(\w+)="([^"]*)"/g;
-      const parsedChallenges = [];
-      let match;
-      while ((match = challengeRegex.exec(challenges)) !== null) {
-        const scheme = match[1];
-        const paramsString = match[2];
-        const params = {};
-        let paramMatch;
-        while ((paramMatch = paramRegex.exec(paramsString)) !== null) {
-          params[paramMatch[1]] = paramMatch[2];
-        }
-        parsedChallenges.push({ scheme, params });
-      }
-      return parsedChallenges;
-    }
-    function getCaeChallengeClaims(challenges) {
-      if (!challenges) {
-        return;
       }
-      const parsedChallenges = parseChallenges(challenges);
-      return parsedChallenges.find((x) => x.scheme === "Bearer" && x.params.claims && x.params.error === "insufficient_claims")?.params.claims;
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/ndJsonPolicy.js
-var require_ndJsonPolicy = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/ndJsonPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ndJsonPolicyName = void 0;
-    exports2.ndJsonPolicy = ndJsonPolicy;
-    exports2.ndJsonPolicyName = "ndJsonPolicy";
-    function ndJsonPolicy() {
-      return {
-        name: exports2.ndJsonPolicyName,
-        async sendRequest(request2, next) {
-          if (typeof request2.body === "string" && request2.body.startsWith("[")) {
-            const body = JSON.parse(request2.body);
-            if (Array.isArray(body)) {
-              request2.body = body.map((item) => JSON.stringify(item) + "\n").join("");
+    };
+    exports2.BlobDeleteImmutabilityPolicyExceptionHeaders = {
+      serializedName: "Blob_deleteImmutabilityPolicyExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobDeleteImmutabilityPolicyExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
           }
-          return next(request2);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/auxiliaryAuthenticationHeaderPolicy.js
-var require_auxiliaryAuthenticationHeaderPolicy = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/auxiliaryAuthenticationHeaderPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.auxiliaryAuthenticationHeaderPolicyName = void 0;
-    exports2.auxiliaryAuthenticationHeaderPolicy = auxiliaryAuthenticationHeaderPolicy;
-    var tokenCycler_js_1 = require_tokenCycler();
-    var log_js_1 = require_log3();
-    exports2.auxiliaryAuthenticationHeaderPolicyName = "auxiliaryAuthenticationHeaderPolicy";
-    var AUTHORIZATION_AUXILIARY_HEADER = "x-ms-authorization-auxiliary";
-    async function sendAuthorizeRequest(options) {
-      const { scopes, getAccessToken, request: request2 } = options;
-      const getTokenOptions = {
-        abortSignal: request2.abortSignal,
-        tracingOptions: request2.tracingOptions
-      };
-      return (await getAccessToken(scopes, getTokenOptions))?.token ?? "";
-    }
-    function auxiliaryAuthenticationHeaderPolicy(options) {
-      const { credentials, scopes } = options;
-      const logger = options.logger || log_js_1.logger;
-      const tokenCyclerMap = /* @__PURE__ */ new WeakMap();
-      return {
-        name: exports2.auxiliaryAuthenticationHeaderPolicyName,
-        async sendRequest(request2, next) {
-          if (!request2.url.toLowerCase().startsWith("https://")) {
-            throw new Error("Bearer token authentication for auxiliary header is not permitted for non-TLS protected (non-https) URLs.");
-          }
-          if (!credentials || credentials.length === 0) {
-            logger.info(`${exports2.auxiliaryAuthenticationHeaderPolicyName} header will not be set due to empty credentials.`);
-            return next(request2);
-          }
-          const tokenPromises = [];
-          for (const credential of credentials) {
-            let getAccessToken = tokenCyclerMap.get(credential);
-            if (!getAccessToken) {
-              getAccessToken = (0, tokenCycler_js_1.createTokenCycler)(credential);
-              tokenCyclerMap.set(credential, getAccessToken);
+      }
+    };
+    exports2.BlobSetLegalHoldHeaders = {
+      serializedName: "Blob_setLegalHoldHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetLegalHoldHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          legalHold: {
+            serializedName: "x-ms-legal-hold",
+            xmlName: "x-ms-legal-hold",
+            type: {
+              name: "Boolean"
             }
-            tokenPromises.push(sendAuthorizeRequest({
-              scopes: Array.isArray(scopes) ? scopes : [scopes],
-              request: request2,
-              getAccessToken,
-              logger
-            }));
-          }
-          const auxiliaryTokens = (await Promise.all(tokenPromises)).filter((token) => Boolean(token));
-          if (auxiliaryTokens.length === 0) {
-            logger.warning(`None of the auxiliary tokens are valid. ${AUTHORIZATION_AUXILIARY_HEADER} header will not be set.`);
-            return next(request2);
           }
-          request2.headers.set(AUTHORIZATION_AUXILIARY_HEADER, auxiliaryTokens.map((token) => `Bearer ${token}`).join(", "));
-          return next(request2);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/index.js
-var require_commonjs6 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createFileFromStream = exports2.createFile = exports2.agentPolicyName = exports2.agentPolicy = exports2.auxiliaryAuthenticationHeaderPolicyName = exports2.auxiliaryAuthenticationHeaderPolicy = exports2.ndJsonPolicyName = exports2.ndJsonPolicy = exports2.bearerTokenAuthenticationPolicyName = exports2.bearerTokenAuthenticationPolicy = exports2.formDataPolicyName = exports2.formDataPolicy = exports2.tlsPolicyName = exports2.tlsPolicy = exports2.userAgentPolicyName = exports2.userAgentPolicy = exports2.defaultRetryPolicy = exports2.tracingPolicyName = exports2.tracingPolicy = exports2.retryPolicy = exports2.throttlingRetryPolicyName = exports2.throttlingRetryPolicy = exports2.systemErrorRetryPolicyName = exports2.systemErrorRetryPolicy = exports2.redirectPolicyName = exports2.redirectPolicy = exports2.getDefaultProxySettings = exports2.proxyPolicyName = exports2.proxyPolicy = exports2.multipartPolicyName = exports2.multipartPolicy = exports2.logPolicyName = exports2.logPolicy = exports2.setClientRequestIdPolicyName = exports2.setClientRequestIdPolicy = exports2.exponentialRetryPolicyName = exports2.exponentialRetryPolicy = exports2.decompressResponsePolicyName = exports2.decompressResponsePolicy = exports2.isRestError = exports2.RestError = exports2.createPipelineRequest = exports2.createHttpHeaders = exports2.createDefaultHttpClient = exports2.createPipelineFromOptions = exports2.createEmptyPipeline = void 0;
-    var pipeline_js_1 = require_pipeline2();
-    Object.defineProperty(exports2, "createEmptyPipeline", { enumerable: true, get: function() {
-      return pipeline_js_1.createEmptyPipeline;
-    } });
-    var createPipelineFromOptions_js_1 = require_createPipelineFromOptions2();
-    Object.defineProperty(exports2, "createPipelineFromOptions", { enumerable: true, get: function() {
-      return createPipelineFromOptions_js_1.createPipelineFromOptions;
-    } });
-    var defaultHttpClient_js_1 = require_defaultHttpClient2();
-    Object.defineProperty(exports2, "createDefaultHttpClient", { enumerable: true, get: function() {
-      return defaultHttpClient_js_1.createDefaultHttpClient;
-    } });
-    var httpHeaders_js_1 = require_httpHeaders2();
-    Object.defineProperty(exports2, "createHttpHeaders", { enumerable: true, get: function() {
-      return httpHeaders_js_1.createHttpHeaders;
-    } });
-    var pipelineRequest_js_1 = require_pipelineRequest2();
-    Object.defineProperty(exports2, "createPipelineRequest", { enumerable: true, get: function() {
-      return pipelineRequest_js_1.createPipelineRequest;
-    } });
-    var restError_js_1 = require_restError3();
-    Object.defineProperty(exports2, "RestError", { enumerable: true, get: function() {
-      return restError_js_1.RestError;
-    } });
-    Object.defineProperty(exports2, "isRestError", { enumerable: true, get: function() {
-      return restError_js_1.isRestError;
-    } });
-    var decompressResponsePolicy_js_1 = require_decompressResponsePolicy2();
-    Object.defineProperty(exports2, "decompressResponsePolicy", { enumerable: true, get: function() {
-      return decompressResponsePolicy_js_1.decompressResponsePolicy;
-    } });
-    Object.defineProperty(exports2, "decompressResponsePolicyName", { enumerable: true, get: function() {
-      return decompressResponsePolicy_js_1.decompressResponsePolicyName;
-    } });
-    var exponentialRetryPolicy_js_1 = require_exponentialRetryPolicy2();
-    Object.defineProperty(exports2, "exponentialRetryPolicy", { enumerable: true, get: function() {
-      return exponentialRetryPolicy_js_1.exponentialRetryPolicy;
-    } });
-    Object.defineProperty(exports2, "exponentialRetryPolicyName", { enumerable: true, get: function() {
-      return exponentialRetryPolicy_js_1.exponentialRetryPolicyName;
-    } });
-    var setClientRequestIdPolicy_js_1 = require_setClientRequestIdPolicy();
-    Object.defineProperty(exports2, "setClientRequestIdPolicy", { enumerable: true, get: function() {
-      return setClientRequestIdPolicy_js_1.setClientRequestIdPolicy;
-    } });
-    Object.defineProperty(exports2, "setClientRequestIdPolicyName", { enumerable: true, get: function() {
-      return setClientRequestIdPolicy_js_1.setClientRequestIdPolicyName;
-    } });
-    var logPolicy_js_1 = require_logPolicy2();
-    Object.defineProperty(exports2, "logPolicy", { enumerable: true, get: function() {
-      return logPolicy_js_1.logPolicy;
-    } });
-    Object.defineProperty(exports2, "logPolicyName", { enumerable: true, get: function() {
-      return logPolicy_js_1.logPolicyName;
-    } });
-    var multipartPolicy_js_1 = require_multipartPolicy2();
-    Object.defineProperty(exports2, "multipartPolicy", { enumerable: true, get: function() {
-      return multipartPolicy_js_1.multipartPolicy;
-    } });
-    Object.defineProperty(exports2, "multipartPolicyName", { enumerable: true, get: function() {
-      return multipartPolicy_js_1.multipartPolicyName;
-    } });
-    var proxyPolicy_js_1 = require_proxyPolicy2();
-    Object.defineProperty(exports2, "proxyPolicy", { enumerable: true, get: function() {
-      return proxyPolicy_js_1.proxyPolicy;
-    } });
-    Object.defineProperty(exports2, "proxyPolicyName", { enumerable: true, get: function() {
-      return proxyPolicy_js_1.proxyPolicyName;
-    } });
-    Object.defineProperty(exports2, "getDefaultProxySettings", { enumerable: true, get: function() {
-      return proxyPolicy_js_1.getDefaultProxySettings;
-    } });
-    var redirectPolicy_js_1 = require_redirectPolicy2();
-    Object.defineProperty(exports2, "redirectPolicy", { enumerable: true, get: function() {
-      return redirectPolicy_js_1.redirectPolicy;
-    } });
-    Object.defineProperty(exports2, "redirectPolicyName", { enumerable: true, get: function() {
-      return redirectPolicy_js_1.redirectPolicyName;
-    } });
-    var systemErrorRetryPolicy_js_1 = require_systemErrorRetryPolicy2();
-    Object.defineProperty(exports2, "systemErrorRetryPolicy", { enumerable: true, get: function() {
-      return systemErrorRetryPolicy_js_1.systemErrorRetryPolicy;
-    } });
-    Object.defineProperty(exports2, "systemErrorRetryPolicyName", { enumerable: true, get: function() {
-      return systemErrorRetryPolicy_js_1.systemErrorRetryPolicyName;
-    } });
-    var throttlingRetryPolicy_js_1 = require_throttlingRetryPolicy2();
-    Object.defineProperty(exports2, "throttlingRetryPolicy", { enumerable: true, get: function() {
-      return throttlingRetryPolicy_js_1.throttlingRetryPolicy;
-    } });
-    Object.defineProperty(exports2, "throttlingRetryPolicyName", { enumerable: true, get: function() {
-      return throttlingRetryPolicy_js_1.throttlingRetryPolicyName;
-    } });
-    var retryPolicy_js_1 = require_retryPolicy2();
-    Object.defineProperty(exports2, "retryPolicy", { enumerable: true, get: function() {
-      return retryPolicy_js_1.retryPolicy;
-    } });
-    var tracingPolicy_js_1 = require_tracingPolicy();
-    Object.defineProperty(exports2, "tracingPolicy", { enumerable: true, get: function() {
-      return tracingPolicy_js_1.tracingPolicy;
-    } });
-    Object.defineProperty(exports2, "tracingPolicyName", { enumerable: true, get: function() {
-      return tracingPolicy_js_1.tracingPolicyName;
-    } });
-    var defaultRetryPolicy_js_1 = require_defaultRetryPolicy2();
-    Object.defineProperty(exports2, "defaultRetryPolicy", { enumerable: true, get: function() {
-      return defaultRetryPolicy_js_1.defaultRetryPolicy;
-    } });
-    var userAgentPolicy_js_1 = require_userAgentPolicy2();
-    Object.defineProperty(exports2, "userAgentPolicy", { enumerable: true, get: function() {
-      return userAgentPolicy_js_1.userAgentPolicy;
-    } });
-    Object.defineProperty(exports2, "userAgentPolicyName", { enumerable: true, get: function() {
-      return userAgentPolicy_js_1.userAgentPolicyName;
-    } });
-    var tlsPolicy_js_1 = require_tlsPolicy2();
-    Object.defineProperty(exports2, "tlsPolicy", { enumerable: true, get: function() {
-      return tlsPolicy_js_1.tlsPolicy;
-    } });
-    Object.defineProperty(exports2, "tlsPolicyName", { enumerable: true, get: function() {
-      return tlsPolicy_js_1.tlsPolicyName;
-    } });
-    var formDataPolicy_js_1 = require_formDataPolicy2();
-    Object.defineProperty(exports2, "formDataPolicy", { enumerable: true, get: function() {
-      return formDataPolicy_js_1.formDataPolicy;
-    } });
-    Object.defineProperty(exports2, "formDataPolicyName", { enumerable: true, get: function() {
-      return formDataPolicy_js_1.formDataPolicyName;
-    } });
-    var bearerTokenAuthenticationPolicy_js_1 = require_bearerTokenAuthenticationPolicy();
-    Object.defineProperty(exports2, "bearerTokenAuthenticationPolicy", { enumerable: true, get: function() {
-      return bearerTokenAuthenticationPolicy_js_1.bearerTokenAuthenticationPolicy;
-    } });
-    Object.defineProperty(exports2, "bearerTokenAuthenticationPolicyName", { enumerable: true, get: function() {
-      return bearerTokenAuthenticationPolicy_js_1.bearerTokenAuthenticationPolicyName;
-    } });
-    var ndJsonPolicy_js_1 = require_ndJsonPolicy();
-    Object.defineProperty(exports2, "ndJsonPolicy", { enumerable: true, get: function() {
-      return ndJsonPolicy_js_1.ndJsonPolicy;
-    } });
-    Object.defineProperty(exports2, "ndJsonPolicyName", { enumerable: true, get: function() {
-      return ndJsonPolicy_js_1.ndJsonPolicyName;
-    } });
-    var auxiliaryAuthenticationHeaderPolicy_js_1 = require_auxiliaryAuthenticationHeaderPolicy();
-    Object.defineProperty(exports2, "auxiliaryAuthenticationHeaderPolicy", { enumerable: true, get: function() {
-      return auxiliaryAuthenticationHeaderPolicy_js_1.auxiliaryAuthenticationHeaderPolicy;
-    } });
-    Object.defineProperty(exports2, "auxiliaryAuthenticationHeaderPolicyName", { enumerable: true, get: function() {
-      return auxiliaryAuthenticationHeaderPolicy_js_1.auxiliaryAuthenticationHeaderPolicyName;
-    } });
-    var agentPolicy_js_1 = require_agentPolicy2();
-    Object.defineProperty(exports2, "agentPolicy", { enumerable: true, get: function() {
-      return agentPolicy_js_1.agentPolicy;
-    } });
-    Object.defineProperty(exports2, "agentPolicyName", { enumerable: true, get: function() {
-      return agentPolicy_js_1.agentPolicyName;
-    } });
-    var file_js_1 = require_file3();
-    Object.defineProperty(exports2, "createFile", { enumerable: true, get: function() {
-      return file_js_1.createFile;
-    } });
-    Object.defineProperty(exports2, "createFileFromStream", { enumerable: true, get: function() {
-      return file_js_1.createFileFromStream;
-    } });
-  }
-});
-
-// node_modules/@azure/core-auth/dist/commonjs/azureKeyCredential.js
-var require_azureKeyCredential = __commonJS({
-  "node_modules/@azure/core-auth/dist/commonjs/azureKeyCredential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AzureKeyCredential = void 0;
-    var AzureKeyCredential = class {
-      _key;
-      /**
-       * The value of the key to be used in authentication
-       */
-      get key() {
-        return this._key;
       }
-      /**
-       * Create an instance of an AzureKeyCredential for use
-       * with a service client.
-       *
-       * @param key - The initial value of the key to use in authentication
-       */
-      constructor(key) {
-        if (!key) {
-          throw new Error("key must be a non-empty string");
+    };
+    exports2.BlobSetLegalHoldExceptionHeaders = {
+      serializedName: "Blob_setLegalHoldExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetLegalHoldExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        this._key = key;
-      }
-      /**
-       * Change the value of the key.
-       *
-       * Updates will take effect upon the next request after
-       * updating the key value.
-       *
-       * @param newKey - The new key value to be used
-       */
-      update(newKey) {
-        this._key = newKey;
       }
     };
-    exports2.AzureKeyCredential = AzureKeyCredential;
-  }
-});
-
-// node_modules/@azure/core-auth/dist/commonjs/keyCredential.js
-var require_keyCredential = __commonJS({
-  "node_modules/@azure/core-auth/dist/commonjs/keyCredential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isKeyCredential = isKeyCredential;
-    var core_util_1 = require_commonjs4();
-    function isKeyCredential(credential) {
-      return (0, core_util_1.isObjectWithProperties)(credential, ["key"]) && typeof credential.key === "string";
-    }
-  }
-});
-
-// node_modules/@azure/core-auth/dist/commonjs/azureNamedKeyCredential.js
-var require_azureNamedKeyCredential = __commonJS({
-  "node_modules/@azure/core-auth/dist/commonjs/azureNamedKeyCredential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AzureNamedKeyCredential = void 0;
-    exports2.isNamedKeyCredential = isNamedKeyCredential;
-    var core_util_1 = require_commonjs4();
-    var AzureNamedKeyCredential = class {
-      _key;
-      _name;
-      /**
-       * The value of the key to be used in authentication.
-       */
-      get key() {
-        return this._key;
-      }
-      /**
-       * The value of the name to be used in authentication.
-       */
-      get name() {
-        return this._name;
-      }
-      /**
-       * Create an instance of an AzureNamedKeyCredential for use
-       * with a service client.
-       *
-       * @param name - The initial value of the name to use in authentication.
-       * @param key - The initial value of the key to use in authentication.
-       */
-      constructor(name, key) {
-        if (!name || !key) {
-          throw new TypeError("name and key must be non-empty strings");
+    exports2.BlobSetMetadataHeaders = {
+      serializedName: "Blob_setMetadataHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetMetadataHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        this._name = name;
-        this._key = key;
       }
-      /**
-       * Change the value of the key.
-       *
-       * Updates will take effect upon the next request after
-       * updating the key value.
-       *
-       * @param newName - The new name value to be used.
-       * @param newKey - The new key value to be used.
-       */
-      update(newName, newKey) {
-        if (!newName || !newKey) {
-          throw new TypeError("newName and newKey must be non-empty strings");
+    };
+    exports2.BlobSetMetadataExceptionHeaders = {
+      serializedName: "Blob_setMetadataExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetMetadataExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        this._name = newName;
-        this._key = newKey;
       }
     };
-    exports2.AzureNamedKeyCredential = AzureNamedKeyCredential;
-    function isNamedKeyCredential(credential) {
-      return (0, core_util_1.isObjectWithProperties)(credential, ["name", "key"]) && typeof credential.key === "string" && typeof credential.name === "string";
-    }
-  }
-});
-
-// node_modules/@azure/core-auth/dist/commonjs/azureSASCredential.js
-var require_azureSASCredential = __commonJS({
-  "node_modules/@azure/core-auth/dist/commonjs/azureSASCredential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AzureSASCredential = void 0;
-    exports2.isSASCredential = isSASCredential;
-    var core_util_1 = require_commonjs4();
-    var AzureSASCredential = class {
-      _signature;
-      /**
-       * The value of the shared access signature to be used in authentication
-       */
-      get signature() {
-        return this._signature;
+    exports2.BlobAcquireLeaseHeaders = {
+      serializedName: "Blob_acquireLeaseHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobAcquireLeaseHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          leaseId: {
+            serializedName: "x-ms-lease-id",
+            xmlName: "x-ms-lease-id",
+            type: {
+              name: "String"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          }
+        }
       }
-      /**
-       * Create an instance of an AzureSASCredential for use
-       * with a service client.
-       *
-       * @param signature - The initial value of the shared access signature to use in authentication
-       */
-      constructor(signature) {
-        if (!signature) {
-          throw new Error("shared access signature must be a non-empty string");
+    };
+    exports2.BlobAcquireLeaseExceptionHeaders = {
+      serializedName: "Blob_acquireLeaseExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobAcquireLeaseExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        this._signature = signature;
       }
-      /**
-       * Change the value of the signature.
-       *
-       * Updates will take effect upon the next request after
-       * updating the signature value.
-       *
-       * @param newSignature - The new shared access signature value to be used
-       */
-      update(newSignature) {
-        if (!newSignature) {
-          throw new Error("shared access signature must be a non-empty string");
+    };
+    exports2.BlobReleaseLeaseHeaders = {
+      serializedName: "Blob_releaseLeaseHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobReleaseLeaseHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          }
         }
-        this._signature = newSignature;
       }
     };
-    exports2.AzureSASCredential = AzureSASCredential;
-    function isSASCredential(credential) {
-      return (0, core_util_1.isObjectWithProperties)(credential, ["signature"]) && typeof credential.signature === "string";
-    }
-  }
-});
-
-// node_modules/@azure/core-auth/dist/commonjs/tokenCredential.js
-var require_tokenCredential = __commonJS({
-  "node_modules/@azure/core-auth/dist/commonjs/tokenCredential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isBearerToken = isBearerToken;
-    exports2.isPopToken = isPopToken;
-    exports2.isTokenCredential = isTokenCredential;
-    function isBearerToken(accessToken) {
-      return !accessToken.tokenType || accessToken.tokenType === "Bearer";
-    }
-    function isPopToken(accessToken) {
-      return accessToken.tokenType === "pop";
-    }
-    function isTokenCredential(credential) {
-      const castCredential = credential;
-      return castCredential && typeof castCredential.getToken === "function" && (castCredential.signRequest === void 0 || castCredential.getToken.length > 0);
-    }
-  }
-});
-
-// node_modules/@azure/core-auth/dist/commonjs/index.js
-var require_commonjs7 = __commonJS({
-  "node_modules/@azure/core-auth/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isTokenCredential = exports2.isSASCredential = exports2.AzureSASCredential = exports2.isNamedKeyCredential = exports2.AzureNamedKeyCredential = exports2.isKeyCredential = exports2.AzureKeyCredential = void 0;
-    var azureKeyCredential_js_1 = require_azureKeyCredential();
-    Object.defineProperty(exports2, "AzureKeyCredential", { enumerable: true, get: function() {
-      return azureKeyCredential_js_1.AzureKeyCredential;
-    } });
-    var keyCredential_js_1 = require_keyCredential();
-    Object.defineProperty(exports2, "isKeyCredential", { enumerable: true, get: function() {
-      return keyCredential_js_1.isKeyCredential;
-    } });
-    var azureNamedKeyCredential_js_1 = require_azureNamedKeyCredential();
-    Object.defineProperty(exports2, "AzureNamedKeyCredential", { enumerable: true, get: function() {
-      return azureNamedKeyCredential_js_1.AzureNamedKeyCredential;
-    } });
-    Object.defineProperty(exports2, "isNamedKeyCredential", { enumerable: true, get: function() {
-      return azureNamedKeyCredential_js_1.isNamedKeyCredential;
-    } });
-    var azureSASCredential_js_1 = require_azureSASCredential();
-    Object.defineProperty(exports2, "AzureSASCredential", { enumerable: true, get: function() {
-      return azureSASCredential_js_1.AzureSASCredential;
-    } });
-    Object.defineProperty(exports2, "isSASCredential", { enumerable: true, get: function() {
-      return azureSASCredential_js_1.isSASCredential;
-    } });
-    var tokenCredential_js_1 = require_tokenCredential();
-    Object.defineProperty(exports2, "isTokenCredential", { enumerable: true, get: function() {
-      return tokenCredential_js_1.isTokenCredential;
-    } });
-  }
-});
-
-// node_modules/@azure/core-http-compat/dist/commonjs/policies/disableKeepAlivePolicy.js
-var require_disableKeepAlivePolicy = __commonJS({
-  "node_modules/@azure/core-http-compat/dist/commonjs/policies/disableKeepAlivePolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.disableKeepAlivePolicyName = void 0;
-    exports2.createDisableKeepAlivePolicy = createDisableKeepAlivePolicy;
-    exports2.pipelineContainsDisableKeepAlivePolicy = pipelineContainsDisableKeepAlivePolicy;
-    exports2.disableKeepAlivePolicyName = "DisableKeepAlivePolicy";
-    function createDisableKeepAlivePolicy() {
-      return {
-        name: exports2.disableKeepAlivePolicyName,
-        async sendRequest(request2, next) {
-          request2.disableKeepAlive = true;
-          return next(request2);
+    exports2.BlobReleaseLeaseExceptionHeaders = {
+      serializedName: "Blob_releaseLeaseExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobReleaseLeaseExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-      };
-    }
-    function pipelineContainsDisableKeepAlivePolicy(pipeline) {
-      return pipeline.getOrderedPolicies().some((policy) => policy.name === exports2.disableKeepAlivePolicyName);
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/base64.js
-var require_base64 = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/base64.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.encodeString = encodeString;
-    exports2.encodeByteArray = encodeByteArray;
-    exports2.decodeString = decodeString;
-    exports2.decodeStringToString = decodeStringToString;
-    function encodeString(value) {
-      return Buffer.from(value).toString("base64");
-    }
-    function encodeByteArray(value) {
-      const bufferValue = value instanceof Buffer ? value : Buffer.from(value.buffer);
-      return bufferValue.toString("base64");
-    }
-    function decodeString(value) {
-      return Buffer.from(value, "base64");
-    }
-    function decodeStringToString(value) {
-      return Buffer.from(value, "base64").toString();
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/interfaces.js
-var require_interfaces = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/interfaces.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.XML_CHARKEY = exports2.XML_ATTRKEY = void 0;
-    exports2.XML_ATTRKEY = "$";
-    exports2.XML_CHARKEY = "_";
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/utils.js
-var require_utils6 = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/utils.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isPrimitiveBody = isPrimitiveBody;
-    exports2.isDuration = isDuration;
-    exports2.isValidUuid = isValidUuid;
-    exports2.flattenResponse = flattenResponse;
-    function isPrimitiveBody(value, mapperTypeName) {
-      return mapperTypeName !== "Composite" && mapperTypeName !== "Dictionary" && (typeof value === "string" || typeof value === "number" || typeof value === "boolean" || mapperTypeName?.match(/^(Date|DateTime|DateTimeRfc1123|UnixTime|ByteArray|Base64Url)$/i) !== null || value === void 0 || value === null);
-    }
-    var validateISODuration = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;
-    function isDuration(value) {
-      return validateISODuration.test(value);
-    }
-    var validUuidRegex = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/i;
-    function isValidUuid(uuid) {
-      return validUuidRegex.test(uuid);
-    }
-    function handleNullableResponseAndWrappableBody(responseObject) {
-      const combinedHeadersAndBody = {
-        ...responseObject.headers,
-        ...responseObject.body
-      };
-      if (responseObject.hasNullableType && Object.getOwnPropertyNames(combinedHeadersAndBody).length === 0) {
-        return responseObject.shouldWrapBody ? { body: null } : null;
-      } else {
-        return responseObject.shouldWrapBody ? {
-          ...responseObject.headers,
-          body: responseObject.body
-        } : combinedHeadersAndBody;
       }
-    }
-    function flattenResponse(fullResponse, responseSpec) {
-      const parsedHeaders = fullResponse.parsedHeaders;
-      if (fullResponse.request.method === "HEAD") {
-        return {
-          ...parsedHeaders,
-          body: fullResponse.parsedBody
-        };
+    };
+    exports2.BlobRenewLeaseHeaders = {
+      serializedName: "Blob_renewLeaseHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobRenewLeaseHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          leaseId: {
+            serializedName: "x-ms-lease-id",
+            xmlName: "x-ms-lease-id",
+            type: {
+              name: "String"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          }
+        }
       }
-      const bodyMapper = responseSpec && responseSpec.bodyMapper;
-      const isNullable = Boolean(bodyMapper?.nullable);
-      const expectedBodyTypeName = bodyMapper?.type.name;
-      if (expectedBodyTypeName === "Stream") {
-        return {
-          ...parsedHeaders,
-          blobBody: fullResponse.blobBody,
-          readableStreamBody: fullResponse.readableStreamBody
-        };
+    };
+    exports2.BlobRenewLeaseExceptionHeaders = {
+      serializedName: "Blob_renewLeaseExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobRenewLeaseExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      const modelProperties = expectedBodyTypeName === "Composite" && bodyMapper.type.modelProperties || {};
-      const isPageableResponse = Object.keys(modelProperties).some((k) => modelProperties[k].serializedName === "");
-      if (expectedBodyTypeName === "Sequence" || isPageableResponse) {
-        const arrayResponse = fullResponse.parsedBody ?? [];
-        for (const key of Object.keys(modelProperties)) {
-          if (modelProperties[key].serializedName) {
-            arrayResponse[key] = fullResponse.parsedBody?.[key];
+    };
+    exports2.BlobChangeLeaseHeaders = {
+      serializedName: "Blob_changeLeaseHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobChangeLeaseHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          leaseId: {
+            serializedName: "x-ms-lease-id",
+            xmlName: "x-ms-lease-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
           }
         }
-        if (parsedHeaders) {
-          for (const key of Object.keys(parsedHeaders)) {
-            arrayResponse[key] = parsedHeaders[key];
+      }
+    };
+    exports2.BlobChangeLeaseExceptionHeaders = {
+      serializedName: "Blob_changeLeaseExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobChangeLeaseExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
-        return isNullable && !fullResponse.parsedBody && !parsedHeaders && Object.getOwnPropertyNames(modelProperties).length === 0 ? null : arrayResponse;
-      }
-      return handleNullableResponseAndWrappableBody({
-        body: fullResponse.parsedBody,
-        headers: parsedHeaders,
-        hasNullableType: isNullable,
-        shouldWrapBody: isPrimitiveBody(fullResponse.parsedBody, expectedBodyTypeName)
-      });
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/serializer.js
-var require_serializer = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/serializer.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.MapperTypeNames = void 0;
-    exports2.createSerializer = createSerializer;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var base64 = tslib_1.__importStar(require_base64());
-    var interfaces_js_1 = require_interfaces();
-    var utils_js_1 = require_utils6();
-    var SerializerImpl = class {
-      modelMappers;
-      isXML;
-      constructor(modelMappers = {}, isXML = false) {
-        this.modelMappers = modelMappers;
-        this.isXML = isXML;
       }
-      /**
-       * @deprecated Removing the constraints validation on client side.
-       */
-      validateConstraints(mapper, value, objectName) {
-        const failValidation = (constraintName, constraintValue) => {
-          throw new Error(`"${objectName}" with value "${value}" should satisfy the constraint "${constraintName}": ${constraintValue}.`);
-        };
-        if (mapper.constraints && value !== void 0 && value !== null) {
-          const { ExclusiveMaximum, ExclusiveMinimum, InclusiveMaximum, InclusiveMinimum, MaxItems, MaxLength, MinItems, MinLength, MultipleOf, Pattern, UniqueItems } = mapper.constraints;
-          if (ExclusiveMaximum !== void 0 && value >= ExclusiveMaximum) {
-            failValidation("ExclusiveMaximum", ExclusiveMaximum);
-          }
-          if (ExclusiveMinimum !== void 0 && value <= ExclusiveMinimum) {
-            failValidation("ExclusiveMinimum", ExclusiveMinimum);
+    };
+    exports2.BlobBreakLeaseHeaders = {
+      serializedName: "Blob_breakLeaseHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobBreakLeaseHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          leaseTime: {
+            serializedName: "x-ms-lease-time",
+            xmlName: "x-ms-lease-time",
+            type: {
+              name: "Number"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
           }
-          if (InclusiveMaximum !== void 0 && value > InclusiveMaximum) {
-            failValidation("InclusiveMaximum", InclusiveMaximum);
+        }
+      }
+    };
+    exports2.BlobBreakLeaseExceptionHeaders = {
+      serializedName: "Blob_breakLeaseExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobBreakLeaseExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          if (InclusiveMinimum !== void 0 && value < InclusiveMinimum) {
-            failValidation("InclusiveMinimum", InclusiveMinimum);
+        }
+      }
+    };
+    exports2.BlobCreateSnapshotHeaders = {
+      serializedName: "Blob_createSnapshotHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobCreateSnapshotHeaders",
+        modelProperties: {
+          snapshot: {
+            serializedName: "x-ms-snapshot",
+            xmlName: "x-ms-snapshot",
+            type: {
+              name: "String"
+            }
+          },
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          if (MaxItems !== void 0 && value.length > MaxItems) {
-            failValidation("MaxItems", MaxItems);
+        }
+      }
+    };
+    exports2.BlobCreateSnapshotExceptionHeaders = {
+      serializedName: "Blob_createSnapshotExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobCreateSnapshotExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          if (MaxLength !== void 0 && value.length > MaxLength) {
-            failValidation("MaxLength", MaxLength);
+        }
+      }
+    };
+    exports2.BlobStartCopyFromURLHeaders = {
+      serializedName: "Blob_startCopyFromURLHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobStartCopyFromURLHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          copyId: {
+            serializedName: "x-ms-copy-id",
+            xmlName: "x-ms-copy-id",
+            type: {
+              name: "String"
+            }
+          },
+          copyStatus: {
+            serializedName: "x-ms-copy-status",
+            xmlName: "x-ms-copy-status",
+            type: {
+              name: "Enum",
+              allowedValues: ["pending", "success", "aborted", "failed"]
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          if (MinItems !== void 0 && value.length < MinItems) {
-            failValidation("MinItems", MinItems);
+        }
+      }
+    };
+    exports2.BlobStartCopyFromURLExceptionHeaders = {
+      serializedName: "Blob_startCopyFromURLExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobStartCopyFromURLExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceErrorCode: {
+            serializedName: "x-ms-copy-source-error-code",
+            xmlName: "x-ms-copy-source-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceStatusCode: {
+            serializedName: "x-ms-copy-source-status-code",
+            xmlName: "x-ms-copy-source-status-code",
+            type: {
+              name: "Number"
+            }
           }
-          if (MinLength !== void 0 && value.length < MinLength) {
-            failValidation("MinLength", MinLength);
+        }
+      }
+    };
+    exports2.BlobCopyFromURLHeaders = {
+      serializedName: "Blob_copyFromURLHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobCopyFromURLHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          copyId: {
+            serializedName: "x-ms-copy-id",
+            xmlName: "x-ms-copy-id",
+            type: {
+              name: "String"
+            }
+          },
+          copyStatus: {
+            defaultValue: "success",
+            isConstant: true,
+            serializedName: "x-ms-copy-status",
+            type: {
+              name: "String"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          xMsContentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          if (MultipleOf !== void 0 && value % MultipleOf !== 0) {
-            failValidation("MultipleOf", MultipleOf);
+        }
+      }
+    };
+    exports2.BlobCopyFromURLExceptionHeaders = {
+      serializedName: "Blob_copyFromURLExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobCopyFromURLExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceErrorCode: {
+            serializedName: "x-ms-copy-source-error-code",
+            xmlName: "x-ms-copy-source-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceStatusCode: {
+            serializedName: "x-ms-copy-source-status-code",
+            xmlName: "x-ms-copy-source-status-code",
+            type: {
+              name: "Number"
+            }
           }
-          if (Pattern) {
-            const pattern = typeof Pattern === "string" ? new RegExp(Pattern) : Pattern;
-            if (typeof value !== "string" || value.match(pattern) === null) {
-              failValidation("Pattern", Pattern);
+        }
+      }
+    };
+    exports2.BlobAbortCopyFromURLHeaders = {
+      serializedName: "Blob_abortCopyFromURLHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobAbortCopyFromURLHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
-          }
-          if (UniqueItems && value.some((item, i, ar) => ar.indexOf(item) !== i)) {
-            failValidation("UniqueItems", UniqueItems);
           }
         }
       }
-      /**
-       * Serialize the given object based on its metadata defined in the mapper
-       *
-       * @param mapper - The mapper which defines the metadata of the serializable object
-       *
-       * @param object - A valid Javascript object to be serialized
-       *
-       * @param objectName - Name of the serialized object
-       *
-       * @param options - additional options to serialization
-       *
-       * @returns A valid serialized Javascript object
-       */
-      serialize(mapper, object, objectName, options = { xml: {} }) {
-        const updatedOptions = {
-          xml: {
-            rootName: options.xml.rootName ?? "",
-            includeRoot: options.xml.includeRoot ?? false,
-            xmlCharKey: options.xml.xmlCharKey ?? interfaces_js_1.XML_CHARKEY
+    };
+    exports2.BlobAbortCopyFromURLExceptionHeaders = {
+      serializedName: "Blob_abortCopyFromURLExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobAbortCopyFromURLExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-        };
-        let payload = {};
-        const mapperType = mapper.type.name;
-        if (!objectName) {
-          objectName = mapper.serializedName;
-        }
-        if (mapperType.match(/^Sequence$/i) !== null) {
-          payload = [];
-        }
-        if (mapper.isConstant) {
-          object = mapper.defaultValue;
         }
-        const { required, nullable } = mapper;
-        if (required && nullable && object === void 0) {
-          throw new Error(`${objectName} cannot be undefined.`);
-        }
-        if (required && !nullable && (object === void 0 || object === null)) {
-          throw new Error(`${objectName} cannot be null or undefined.`);
-        }
-        if (!required && nullable === false && object === null) {
-          throw new Error(`${objectName} cannot be null.`);
+      }
+    };
+    exports2.BlobSetTierHeaders = {
+      serializedName: "Blob_setTierHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetTierHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        if (object === void 0 || object === null) {
-          payload = object;
-        } else {
-          if (mapperType.match(/^any$/i) !== null) {
-            payload = object;
-          } else if (mapperType.match(/^(Number|String|Boolean|Object|Stream|Uuid)$/i) !== null) {
-            payload = serializeBasicTypes(mapperType, objectName, object);
-          } else if (mapperType.match(/^Enum$/i) !== null) {
-            const enumMapper = mapper;
-            payload = serializeEnumType(objectName, enumMapper.type.allowedValues, object);
-          } else if (mapperType.match(/^(Date|DateTime|TimeSpan|DateTimeRfc1123|UnixTime)$/i) !== null) {
-            payload = serializeDateTypes(mapperType, object, objectName);
-          } else if (mapperType.match(/^ByteArray$/i) !== null) {
-            payload = serializeByteArrayType(objectName, object);
-          } else if (mapperType.match(/^Base64Url$/i) !== null) {
-            payload = serializeBase64UrlType(objectName, object);
-          } else if (mapperType.match(/^Sequence$/i) !== null) {
-            payload = serializeSequenceType(this, mapper, object, objectName, Boolean(this.isXML), updatedOptions);
-          } else if (mapperType.match(/^Dictionary$/i) !== null) {
-            payload = serializeDictionaryType(this, mapper, object, objectName, Boolean(this.isXML), updatedOptions);
-          } else if (mapperType.match(/^Composite$/i) !== null) {
-            payload = serializeCompositeType(this, mapper, object, objectName, Boolean(this.isXML), updatedOptions);
+      }
+    };
+    exports2.BlobSetTierExceptionHeaders = {
+      serializedName: "Blob_setTierExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetTierExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
-        return payload;
       }
-      /**
-       * Deserialize the given object based on its metadata defined in the mapper
-       *
-       * @param mapper - The mapper which defines the metadata of the serializable object
-       *
-       * @param responseBody - A valid Javascript entity to be deserialized
-       *
-       * @param objectName - Name of the deserialized object
-       *
-       * @param options - Controls behavior of XML parser and builder.
-       *
-       * @returns A valid deserialized Javascript object
-       */
-      deserialize(mapper, responseBody, objectName, options = { xml: {} }) {
-        const updatedOptions = {
-          xml: {
-            rootName: options.xml.rootName ?? "",
-            includeRoot: options.xml.includeRoot ?? false,
-            xmlCharKey: options.xml.xmlCharKey ?? interfaces_js_1.XML_CHARKEY
+    };
+    exports2.BlobGetAccountInfoHeaders = {
+      serializedName: "Blob_getAccountInfoHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobGetAccountInfoHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
           },
-          ignoreUnknownProperties: options.ignoreUnknownProperties ?? false
-        };
-        if (responseBody === void 0 || responseBody === null) {
-          if (this.isXML && mapper.type.name === "Sequence" && !mapper.xmlIsWrapped) {
-            responseBody = [];
-          }
-          if (mapper.defaultValue !== void 0) {
-            responseBody = mapper.defaultValue;
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          skuName: {
+            serializedName: "x-ms-sku-name",
+            xmlName: "x-ms-sku-name",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "Standard_LRS",
+                "Standard_GRS",
+                "Standard_RAGRS",
+                "Standard_ZRS",
+                "Premium_LRS"
+              ]
+            }
+          },
+          accountKind: {
+            serializedName: "x-ms-account-kind",
+            xmlName: "x-ms-account-kind",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "Storage",
+                "BlobStorage",
+                "StorageV2",
+                "FileStorage",
+                "BlockBlobStorage"
+              ]
+            }
+          },
+          isHierarchicalNamespaceEnabled: {
+            serializedName: "x-ms-is-hns-enabled",
+            xmlName: "x-ms-is-hns-enabled",
+            type: {
+              name: "Boolean"
+            }
           }
-          return responseBody;
-        }
-        let payload;
-        const mapperType = mapper.type.name;
-        if (!objectName) {
-          objectName = mapper.serializedName;
         }
-        if (mapperType.match(/^Composite$/i) !== null) {
-          payload = deserializeCompositeType(this, mapper, responseBody, objectName, updatedOptions);
-        } else {
-          if (this.isXML) {
-            const xmlCharKey = updatedOptions.xml.xmlCharKey;
-            if (responseBody[interfaces_js_1.XML_ATTRKEY] !== void 0 && responseBody[xmlCharKey] !== void 0) {
-              responseBody = responseBody[xmlCharKey];
+      }
+    };
+    exports2.BlobGetAccountInfoExceptionHeaders = {
+      serializedName: "Blob_getAccountInfoExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobGetAccountInfoExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
           }
-          if (mapperType.match(/^Number$/i) !== null) {
-            payload = parseFloat(responseBody);
-            if (isNaN(payload)) {
-              payload = responseBody;
+        }
+      }
+    };
+    exports2.BlobQueryHeaders = {
+      serializedName: "Blob_queryHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobQueryHeaders",
+        modelProperties: {
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          metadata: {
+            serializedName: "x-ms-meta",
+            headerCollectionPrefix: "x-ms-meta-",
+            xmlName: "x-ms-meta",
+            type: {
+              name: "Dictionary",
+              value: { type: { name: "String" } }
+            }
+          },
+          contentLength: {
+            serializedName: "content-length",
+            xmlName: "content-length",
+            type: {
+              name: "Number"
+            }
+          },
+          contentType: {
+            serializedName: "content-type",
+            xmlName: "content-type",
+            type: {
+              name: "String"
+            }
+          },
+          contentRange: {
+            serializedName: "content-range",
+            xmlName: "content-range",
+            type: {
+              name: "String"
+            }
+          },
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          contentEncoding: {
+            serializedName: "content-encoding",
+            xmlName: "content-encoding",
+            type: {
+              name: "String"
+            }
+          },
+          cacheControl: {
+            serializedName: "cache-control",
+            xmlName: "cache-control",
+            type: {
+              name: "String"
+            }
+          },
+          contentDisposition: {
+            serializedName: "content-disposition",
+            xmlName: "content-disposition",
+            type: {
+              name: "String"
+            }
+          },
+          contentLanguage: {
+            serializedName: "content-language",
+            xmlName: "content-language",
+            type: {
+              name: "String"
+            }
+          },
+          blobSequenceNumber: {
+            serializedName: "x-ms-blob-sequence-number",
+            xmlName: "x-ms-blob-sequence-number",
+            type: {
+              name: "Number"
+            }
+          },
+          blobType: {
+            serializedName: "x-ms-blob-type",
+            xmlName: "x-ms-blob-type",
+            type: {
+              name: "Enum",
+              allowedValues: ["BlockBlob", "PageBlob", "AppendBlob"]
+            }
+          },
+          copyCompletionTime: {
+            serializedName: "x-ms-copy-completion-time",
+            xmlName: "x-ms-copy-completion-time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          copyStatusDescription: {
+            serializedName: "x-ms-copy-status-description",
+            xmlName: "x-ms-copy-status-description",
+            type: {
+              name: "String"
+            }
+          },
+          copyId: {
+            serializedName: "x-ms-copy-id",
+            xmlName: "x-ms-copy-id",
+            type: {
+              name: "String"
+            }
+          },
+          copyProgress: {
+            serializedName: "x-ms-copy-progress",
+            xmlName: "x-ms-copy-progress",
+            type: {
+              name: "String"
+            }
+          },
+          copySource: {
+            serializedName: "x-ms-copy-source",
+            xmlName: "x-ms-copy-source",
+            type: {
+              name: "String"
+            }
+          },
+          copyStatus: {
+            serializedName: "x-ms-copy-status",
+            xmlName: "x-ms-copy-status",
+            type: {
+              name: "Enum",
+              allowedValues: ["pending", "success", "aborted", "failed"]
+            }
+          },
+          leaseDuration: {
+            serializedName: "x-ms-lease-duration",
+            xmlName: "x-ms-lease-duration",
+            type: {
+              name: "Enum",
+              allowedValues: ["infinite", "fixed"]
+            }
+          },
+          leaseState: {
+            serializedName: "x-ms-lease-state",
+            xmlName: "x-ms-lease-state",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "available",
+                "leased",
+                "expired",
+                "breaking",
+                "broken"
+              ]
+            }
+          },
+          leaseStatus: {
+            serializedName: "x-ms-lease-status",
+            xmlName: "x-ms-lease-status",
+            type: {
+              name: "Enum",
+              allowedValues: ["locked", "unlocked"]
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          acceptRanges: {
+            serializedName: "accept-ranges",
+            xmlName: "accept-ranges",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          blobCommittedBlockCount: {
+            serializedName: "x-ms-blob-committed-block-count",
+            xmlName: "x-ms-blob-committed-block-count",
+            type: {
+              name: "Number"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-server-encrypted",
+            xmlName: "x-ms-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          blobContentMD5: {
+            serializedName: "x-ms-blob-content-md5",
+            xmlName: "x-ms-blob-content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
-          } else if (mapperType.match(/^Boolean$/i) !== null) {
-            if (responseBody === "true") {
-              payload = true;
-            } else if (responseBody === "false") {
-              payload = false;
-            } else {
-              payload = responseBody;
+          },
+          contentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
             }
-          } else if (mapperType.match(/^(String|Enum|Object|Stream|Uuid|TimeSpan|any)$/i) !== null) {
-            payload = responseBody;
-          } else if (mapperType.match(/^(Date|DateTime|DateTimeRfc1123)$/i) !== null) {
-            payload = new Date(responseBody);
-          } else if (mapperType.match(/^UnixTime$/i) !== null) {
-            payload = unixTimeToDate(responseBody);
-          } else if (mapperType.match(/^ByteArray$/i) !== null) {
-            payload = base64.decodeString(responseBody);
-          } else if (mapperType.match(/^Base64Url$/i) !== null) {
-            payload = base64UrlToByteArray(responseBody);
-          } else if (mapperType.match(/^Sequence$/i) !== null) {
-            payload = deserializeSequenceType(this, mapper, responseBody, objectName, updatedOptions);
-          } else if (mapperType.match(/^Dictionary$/i) !== null) {
-            payload = deserializeDictionaryType(this, mapper, responseBody, objectName, updatedOptions);
           }
         }
-        if (mapper.isConstant) {
-          payload = mapper.defaultValue;
-        }
-        return payload;
       }
     };
-    function createSerializer(modelMappers = {}, isXML = false) {
-      return new SerializerImpl(modelMappers, isXML);
-    }
-    function trimEnd(str2, ch) {
-      let len = str2.length;
-      while (len - 1 >= 0 && str2[len - 1] === ch) {
-        --len;
-      }
-      return str2.substr(0, len);
-    }
-    function bufferToBase64Url(buffer) {
-      if (!buffer) {
-        return void 0;
-      }
-      if (!(buffer instanceof Uint8Array)) {
-        throw new Error(`Please provide an input of type Uint8Array for converting to Base64Url.`);
-      }
-      const str2 = base64.encodeByteArray(buffer);
-      return trimEnd(str2, "=").replace(/\+/g, "-").replace(/\//g, "_");
-    }
-    function base64UrlToByteArray(str2) {
-      if (!str2) {
-        return void 0;
-      }
-      if (str2 && typeof str2.valueOf() !== "string") {
-        throw new Error("Please provide an input of type string for converting to Uint8Array");
-      }
-      str2 = str2.replace(/-/g, "+").replace(/_/g, "/");
-      return base64.decodeString(str2);
-    }
-    function splitSerializeName(prop) {
-      const classes = [];
-      let partialclass = "";
-      if (prop) {
-        const subwords = prop.split(".");
-        for (const item of subwords) {
-          if (item.charAt(item.length - 1) === "\\") {
-            partialclass += item.substr(0, item.length - 1) + ".";
-          } else {
-            partialclass += item;
-            classes.push(partialclass);
-            partialclass = "";
+    exports2.BlobQueryExceptionHeaders = {
+      serializedName: "Blob_queryExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobQueryExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
       }
-      return classes;
-    }
-    function dateToUnixTime(d) {
-      if (!d) {
-        return void 0;
-      }
-      if (typeof d.valueOf() === "string") {
-        d = new Date(d);
-      }
-      return Math.floor(d.getTime() / 1e3);
-    }
-    function unixTimeToDate(n) {
-      if (!n) {
-        return void 0;
-      }
-      return new Date(n * 1e3);
-    }
-    function serializeBasicTypes(typeName, objectName, value) {
-      if (value !== null && value !== void 0) {
-        if (typeName.match(/^Number$/i) !== null) {
-          if (typeof value !== "number") {
-            throw new Error(`${objectName} with value ${value} must be of type number.`);
-          }
-        } else if (typeName.match(/^String$/i) !== null) {
-          if (typeof value.valueOf() !== "string") {
-            throw new Error(`${objectName} with value "${value}" must be of type string.`);
-          }
-        } else if (typeName.match(/^Uuid$/i) !== null) {
-          if (!(typeof value.valueOf() === "string" && (0, utils_js_1.isValidUuid)(value))) {
-            throw new Error(`${objectName} with value "${value}" must be of type string and a valid uuid.`);
-          }
-        } else if (typeName.match(/^Boolean$/i) !== null) {
-          if (typeof value !== "boolean") {
-            throw new Error(`${objectName} with value ${value} must be of type boolean.`);
-          }
-        } else if (typeName.match(/^Stream$/i) !== null) {
-          const objectType = typeof value;
-          if (objectType !== "string" && typeof value.pipe !== "function" && // NodeJS.ReadableStream
-          typeof value.tee !== "function" && // browser ReadableStream
-          !(value instanceof ArrayBuffer) && !ArrayBuffer.isView(value) && // File objects count as a type of Blob, so we want to use instanceof explicitly
-          !((typeof Blob === "function" || typeof Blob === "object") && value instanceof Blob) && objectType !== "function") {
-            throw new Error(`${objectName} must be a string, Blob, ArrayBuffer, ArrayBufferView, ReadableStream, or () => ReadableStream.`);
+    };
+    exports2.BlobGetTagsHeaders = {
+      serializedName: "Blob_getTagsHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobGetTagsHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
       }
-      return value;
-    }
-    function serializeEnumType(objectName, allowedValues, value) {
-      if (!allowedValues) {
-        throw new Error(`Please provide a set of allowedValues to validate ${objectName} as an Enum Type.`);
-      }
-      const isPresent = allowedValues.some((item) => {
-        if (typeof item.valueOf() === "string") {
-          return item.toLowerCase() === value.toLowerCase();
+    };
+    exports2.BlobGetTagsExceptionHeaders = {
+      serializedName: "Blob_getTagsExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobGetTagsExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        return item === value;
-      });
-      if (!isPresent) {
-        throw new Error(`${value} is not a valid value for ${objectName}. The valid values are: ${JSON.stringify(allowedValues)}.`);
       }
-      return value;
-    }
-    function serializeByteArrayType(objectName, value) {
-      if (value !== void 0 && value !== null) {
-        if (!(value instanceof Uint8Array)) {
-          throw new Error(`${objectName} must be of type Uint8Array.`);
+    };
+    exports2.BlobSetTagsHeaders = {
+      serializedName: "Blob_setTagsHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetTagsHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        value = base64.encodeByteArray(value);
       }
-      return value;
-    }
-    function serializeBase64UrlType(objectName, value) {
-      if (value !== void 0 && value !== null) {
-        if (!(value instanceof Uint8Array)) {
-          throw new Error(`${objectName} must be of type Uint8Array.`);
+    };
+    exports2.BlobSetTagsExceptionHeaders = {
+      serializedName: "Blob_setTagsExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetTagsExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        value = bufferToBase64Url(value);
       }
-      return value;
-    }
-    function serializeDateTypes(typeName, value, objectName) {
-      if (value !== void 0 && value !== null) {
-        if (typeName.match(/^Date$/i) !== null) {
-          if (!(value instanceof Date || typeof value.valueOf() === "string" && !isNaN(Date.parse(value)))) {
-            throw new Error(`${objectName} must be an instanceof Date or a string in ISO8601 format.`);
-          }
-          value = value instanceof Date ? value.toISOString().substring(0, 10) : new Date(value).toISOString().substring(0, 10);
-        } else if (typeName.match(/^DateTime$/i) !== null) {
-          if (!(value instanceof Date || typeof value.valueOf() === "string" && !isNaN(Date.parse(value)))) {
-            throw new Error(`${objectName} must be an instanceof Date or a string in ISO8601 format.`);
-          }
-          value = value instanceof Date ? value.toISOString() : new Date(value).toISOString();
-        } else if (typeName.match(/^DateTimeRfc1123$/i) !== null) {
-          if (!(value instanceof Date || typeof value.valueOf() === "string" && !isNaN(Date.parse(value)))) {
-            throw new Error(`${objectName} must be an instanceof Date or a string in RFC-1123 format.`);
-          }
-          value = value instanceof Date ? value.toUTCString() : new Date(value).toUTCString();
-        } else if (typeName.match(/^UnixTime$/i) !== null) {
-          if (!(value instanceof Date || typeof value.valueOf() === "string" && !isNaN(Date.parse(value)))) {
-            throw new Error(`${objectName} must be an instanceof Date or a string in RFC-1123/ISO8601 format for it to be serialized in UnixTime/Epoch format.`);
-          }
-          value = dateToUnixTime(value);
-        } else if (typeName.match(/^TimeSpan$/i) !== null) {
-          if (!(0, utils_js_1.isDuration)(value)) {
-            throw new Error(`${objectName} must be a string in ISO 8601 format. Instead was "${value}".`);
+    };
+    exports2.PageBlobCreateHeaders = {
+      serializedName: "PageBlob_createHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobCreateHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
       }
-      return value;
-    }
-    function serializeSequenceType(serializer, mapper, object, objectName, isXml, options) {
-      if (!Array.isArray(object)) {
-        throw new Error(`${objectName} must be of type Array.`);
-      }
-      let elementType = mapper.type.element;
-      if (!elementType || typeof elementType !== "object") {
-        throw new Error(`element" metadata for an Array must be defined in the mapper and it must of type "object" in ${objectName}.`);
-      }
-      if (elementType.type.name === "Composite" && elementType.type.className) {
-        elementType = serializer.modelMappers[elementType.type.className] ?? elementType;
+    };
+    exports2.PageBlobCreateExceptionHeaders = {
+      serializedName: "PageBlob_createExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobCreateExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      const tempArray = [];
-      for (let i = 0; i < object.length; i++) {
-        const serializedValue = serializer.serialize(elementType, object[i], objectName, options);
-        if (isXml && elementType.xmlNamespace) {
-          const xmlnsKey = elementType.xmlNamespacePrefix ? `xmlns:${elementType.xmlNamespacePrefix}` : "xmlns";
-          if (elementType.type.name === "Composite") {
-            tempArray[i] = { ...serializedValue };
-            tempArray[i][interfaces_js_1.XML_ATTRKEY] = { [xmlnsKey]: elementType.xmlNamespace };
-          } else {
-            tempArray[i] = {};
-            tempArray[i][options.xml.xmlCharKey] = serializedValue;
-            tempArray[i][interfaces_js_1.XML_ATTRKEY] = { [xmlnsKey]: elementType.xmlNamespace };
+    };
+    exports2.PageBlobUploadPagesHeaders = {
+      serializedName: "PageBlob_uploadPagesHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobUploadPagesHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          xMsContentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          blobSequenceNumber: {
+            serializedName: "x-ms-blob-sequence-number",
+            xmlName: "x-ms-blob-sequence-number",
+            type: {
+              name: "Number"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-        } else {
-          tempArray[i] = serializedValue;
         }
       }
-      return tempArray;
-    }
-    function serializeDictionaryType(serializer, mapper, object, objectName, isXml, options) {
-      if (typeof object !== "object") {
-        throw new Error(`${objectName} must be of type object.`);
-      }
-      const valueType = mapper.type.value;
-      if (!valueType || typeof valueType !== "object") {
-        throw new Error(`"value" metadata for a Dictionary must be defined in the mapper and it must of type "object" in ${objectName}.`);
-      }
-      const tempDictionary = {};
-      for (const key of Object.keys(object)) {
-        const serializedValue = serializer.serialize(valueType, object[key], objectName, options);
-        tempDictionary[key] = getXmlObjectValue(valueType, serializedValue, isXml, options);
-      }
-      if (isXml && mapper.xmlNamespace) {
-        const xmlnsKey = mapper.xmlNamespacePrefix ? `xmlns:${mapper.xmlNamespacePrefix}` : "xmlns";
-        const result = tempDictionary;
-        result[interfaces_js_1.XML_ATTRKEY] = { [xmlnsKey]: mapper.xmlNamespace };
-        return result;
-      }
-      return tempDictionary;
-    }
-    function resolveAdditionalProperties(serializer, mapper, objectName) {
-      const additionalProperties = mapper.type.additionalProperties;
-      if (!additionalProperties && mapper.type.className) {
-        const modelMapper = resolveReferencedMapper(serializer, mapper, objectName);
-        return modelMapper?.type.additionalProperties;
-      }
-      return additionalProperties;
-    }
-    function resolveReferencedMapper(serializer, mapper, objectName) {
-      const className = mapper.type.className;
-      if (!className) {
-        throw new Error(`Class name for model "${objectName}" is not provided in the mapper "${JSON.stringify(mapper, void 0, 2)}".`);
-      }
-      return serializer.modelMappers[className];
-    }
-    function resolveModelProperties(serializer, mapper, objectName) {
-      let modelProps = mapper.type.modelProperties;
-      if (!modelProps) {
-        const modelMapper = resolveReferencedMapper(serializer, mapper, objectName);
-        if (!modelMapper) {
-          throw new Error(`mapper() cannot be null or undefined for model "${mapper.type.className}".`);
-        }
-        modelProps = modelMapper?.type.modelProperties;
-        if (!modelProps) {
-          throw new Error(`modelProperties cannot be null or undefined in the mapper "${JSON.stringify(modelMapper)}" of type "${mapper.type.className}" for object "${objectName}".`);
+    };
+    exports2.PageBlobUploadPagesExceptionHeaders = {
+      serializedName: "PageBlob_uploadPagesExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobUploadPagesExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-      return modelProps;
-    }
-    function serializeCompositeType(serializer, mapper, object, objectName, isXml, options) {
-      if (getPolymorphicDiscriminatorRecursively(serializer, mapper)) {
-        mapper = getPolymorphicMapper(serializer, mapper, object, "clientName");
-      }
-      if (object !== void 0 && object !== null) {
-        const payload = {};
-        const modelProps = resolveModelProperties(serializer, mapper, objectName);
-        for (const key of Object.keys(modelProps)) {
-          const propertyMapper = modelProps[key];
-          if (propertyMapper.readOnly) {
-            continue;
-          }
-          let propName;
-          let parentObject = payload;
-          if (serializer.isXML) {
-            if (propertyMapper.xmlIsWrapped) {
-              propName = propertyMapper.xmlName;
-            } else {
-              propName = propertyMapper.xmlElementName || propertyMapper.xmlName;
+    };
+    exports2.PageBlobClearPagesHeaders = {
+      serializedName: "PageBlob_clearPagesHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobClearPagesHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
             }
-          } else {
-            const paths = splitSerializeName(propertyMapper.serializedName);
-            propName = paths.pop();
-            for (const pathName of paths) {
-              const childObject = parentObject[pathName];
-              if ((childObject === void 0 || childObject === null) && (object[key] !== void 0 && object[key] !== null || propertyMapper.defaultValue !== void 0)) {
-                parentObject[pathName] = {};
-              }
-              parentObject = parentObject[pathName];
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
             }
-          }
-          if (parentObject !== void 0 && parentObject !== null) {
-            if (isXml && mapper.xmlNamespace) {
-              const xmlnsKey = mapper.xmlNamespacePrefix ? `xmlns:${mapper.xmlNamespacePrefix}` : "xmlns";
-              parentObject[interfaces_js_1.XML_ATTRKEY] = {
-                ...parentObject[interfaces_js_1.XML_ATTRKEY],
-                [xmlnsKey]: mapper.xmlNamespace
-              };
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
             }
-            const propertyObjectName = propertyMapper.serializedName !== "" ? objectName + "." + propertyMapper.serializedName : objectName;
-            let toSerialize = object[key];
-            const polymorphicDiscriminator = getPolymorphicDiscriminatorRecursively(serializer, mapper);
-            if (polymorphicDiscriminator && polymorphicDiscriminator.clientName === key && (toSerialize === void 0 || toSerialize === null)) {
-              toSerialize = mapper.serializedName;
+          },
+          xMsContentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
             }
-            const serializedValue = serializer.serialize(propertyMapper, toSerialize, propertyObjectName, options);
-            if (serializedValue !== void 0 && propName !== void 0 && propName !== null) {
-              const value = getXmlObjectValue(propertyMapper, serializedValue, isXml, options);
-              if (isXml && propertyMapper.xmlIsAttribute) {
-                parentObject[interfaces_js_1.XML_ATTRKEY] = parentObject[interfaces_js_1.XML_ATTRKEY] || {};
-                parentObject[interfaces_js_1.XML_ATTRKEY][propName] = serializedValue;
-              } else if (isXml && propertyMapper.xmlIsWrapped) {
-                parentObject[propName] = { [propertyMapper.xmlElementName]: value };
-              } else {
-                parentObject[propName] = value;
-              }
+          },
+          blobSequenceNumber: {
+            serializedName: "x-ms-blob-sequence-number",
+            xmlName: "x-ms-blob-sequence-number",
+            type: {
+              name: "Number"
             }
-          }
-        }
-        const additionalPropertiesMapper = resolveAdditionalProperties(serializer, mapper, objectName);
-        if (additionalPropertiesMapper) {
-          const propNames = Object.keys(modelProps);
-          for (const clientPropName in object) {
-            const isAdditionalProperty = propNames.every((pn) => pn !== clientPropName);
-            if (isAdditionalProperty) {
-              payload[clientPropName] = serializer.serialize(additionalPropertiesMapper, object[clientPropName], objectName + '["' + clientPropName + '"]', options);
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
           }
         }
-        return payload;
-      }
-      return object;
-    }
-    function getXmlObjectValue(propertyMapper, serializedValue, isXml, options) {
-      if (!isXml || !propertyMapper.xmlNamespace) {
-        return serializedValue;
       }
-      const xmlnsKey = propertyMapper.xmlNamespacePrefix ? `xmlns:${propertyMapper.xmlNamespacePrefix}` : "xmlns";
-      const xmlNamespace = { [xmlnsKey]: propertyMapper.xmlNamespace };
-      if (["Composite"].includes(propertyMapper.type.name)) {
-        if (serializedValue[interfaces_js_1.XML_ATTRKEY]) {
-          return serializedValue;
-        } else {
-          const result2 = { ...serializedValue };
-          result2[interfaces_js_1.XML_ATTRKEY] = xmlNamespace;
-          return result2;
+    };
+    exports2.PageBlobClearPagesExceptionHeaders = {
+      serializedName: "PageBlob_clearPagesExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobClearPagesExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-      const result = {};
-      result[options.xml.xmlCharKey] = serializedValue;
-      result[interfaces_js_1.XML_ATTRKEY] = xmlNamespace;
-      return result;
-    }
-    function isSpecialXmlProperty(propertyName, options) {
-      return [interfaces_js_1.XML_ATTRKEY, options.xml.xmlCharKey].includes(propertyName);
-    }
-    function deserializeCompositeType(serializer, mapper, responseBody, objectName, options) {
-      const xmlCharKey = options.xml.xmlCharKey ?? interfaces_js_1.XML_CHARKEY;
-      if (getPolymorphicDiscriminatorRecursively(serializer, mapper)) {
-        mapper = getPolymorphicMapper(serializer, mapper, responseBody, "serializedName");
-      }
-      const modelProps = resolveModelProperties(serializer, mapper, objectName);
-      let instance = {};
-      const handledPropertyNames = [];
-      for (const key of Object.keys(modelProps)) {
-        const propertyMapper = modelProps[key];
-        const paths = splitSerializeName(modelProps[key].serializedName);
-        handledPropertyNames.push(paths[0]);
-        const { serializedName, xmlName, xmlElementName } = propertyMapper;
-        let propertyObjectName = objectName;
-        if (serializedName !== "" && serializedName !== void 0) {
-          propertyObjectName = objectName + "." + serializedName;
-        }
-        const headerCollectionPrefix = propertyMapper.headerCollectionPrefix;
-        if (headerCollectionPrefix) {
-          const dictionary = {};
-          for (const headerKey of Object.keys(responseBody)) {
-            if (headerKey.startsWith(headerCollectionPrefix)) {
-              dictionary[headerKey.substring(headerCollectionPrefix.length)] = serializer.deserialize(propertyMapper.type.value, responseBody[headerKey], propertyObjectName, options);
+    };
+    exports2.PageBlobUploadPagesFromURLHeaders = {
+      serializedName: "PageBlob_uploadPagesFromURLHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobUploadPagesFromURLHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
             }
-            handledPropertyNames.push(headerKey);
-          }
-          instance[key] = dictionary;
-        } else if (serializer.isXML) {
-          if (propertyMapper.xmlIsAttribute && responseBody[interfaces_js_1.XML_ATTRKEY]) {
-            instance[key] = serializer.deserialize(propertyMapper, responseBody[interfaces_js_1.XML_ATTRKEY][xmlName], propertyObjectName, options);
-          } else if (propertyMapper.xmlIsMsText) {
-            if (responseBody[xmlCharKey] !== void 0) {
-              instance[key] = responseBody[xmlCharKey];
-            } else if (typeof responseBody === "string") {
-              instance[key] = responseBody;
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
             }
-          } else {
-            const propertyName = xmlElementName || xmlName || serializedName;
-            if (propertyMapper.xmlIsWrapped) {
-              const wrapped = responseBody[xmlName];
-              const elementList = wrapped?.[xmlElementName] ?? [];
-              instance[key] = serializer.deserialize(propertyMapper, elementList, propertyObjectName, options);
-              handledPropertyNames.push(xmlName);
-            } else {
-              const property = responseBody[propertyName];
-              instance[key] = serializer.deserialize(propertyMapper, property, propertyObjectName, options);
-              handledPropertyNames.push(propertyName);
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
             }
-          }
-        } else {
-          let propertyInstance;
-          let res = responseBody;
-          let steps = 0;
-          for (const item of paths) {
-            if (!res)
-              break;
-            steps++;
-            res = res[item];
-          }
-          if (res === null && steps < paths.length) {
-            res = void 0;
-          }
-          propertyInstance = res;
-          const polymorphicDiscriminator = mapper.type.polymorphicDiscriminator;
-          if (polymorphicDiscriminator && key === polymorphicDiscriminator.clientName && (propertyInstance === void 0 || propertyInstance === null)) {
-            propertyInstance = mapper.serializedName;
-          }
-          let serializedValue;
-          if (Array.isArray(responseBody[key]) && modelProps[key].serializedName === "") {
-            propertyInstance = responseBody[key];
-            const arrayInstance = serializer.deserialize(propertyMapper, propertyInstance, propertyObjectName, options);
-            for (const [k, v] of Object.entries(instance)) {
-              if (!Object.prototype.hasOwnProperty.call(arrayInstance, k)) {
-                arrayInstance[k] = v;
-              }
+          },
+          xMsContentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          blobSequenceNumber: {
+            serializedName: "x-ms-blob-sequence-number",
+            xmlName: "x-ms-blob-sequence-number",
+            type: {
+              name: "Number"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
-            instance = arrayInstance;
-          } else if (propertyInstance !== void 0 || propertyMapper.defaultValue !== void 0) {
-            serializedValue = serializer.deserialize(propertyMapper, propertyInstance, propertyObjectName, options);
-            instance[key] = serializedValue;
           }
         }
       }
-      const additionalPropertiesMapper = mapper.type.additionalProperties;
-      if (additionalPropertiesMapper) {
-        const isAdditionalProperty = (responsePropName) => {
-          for (const clientPropName in modelProps) {
-            const paths = splitSerializeName(modelProps[clientPropName].serializedName);
-            if (paths[0] === responsePropName) {
-              return false;
+    };
+    exports2.PageBlobUploadPagesFromURLExceptionHeaders = {
+      serializedName: "PageBlob_uploadPagesFromURLExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobUploadPagesFromURLExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceErrorCode: {
+            serializedName: "x-ms-copy-source-error-code",
+            xmlName: "x-ms-copy-source-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceStatusCode: {
+            serializedName: "x-ms-copy-source-status-code",
+            xmlName: "x-ms-copy-source-status-code",
+            type: {
+              name: "Number"
             }
           }
-          return true;
-        };
-        for (const responsePropName in responseBody) {
-          if (isAdditionalProperty(responsePropName)) {
-            instance[responsePropName] = serializer.deserialize(additionalPropertiesMapper, responseBody[responsePropName], objectName + '["' + responsePropName + '"]', options);
-          }
-        }
-      } else if (responseBody && !options.ignoreUnknownProperties) {
-        for (const key of Object.keys(responseBody)) {
-          if (instance[key] === void 0 && !handledPropertyNames.includes(key) && !isSpecialXmlProperty(key, options)) {
-            instance[key] = responseBody[key];
-          }
-        }
-      }
-      return instance;
-    }
-    function deserializeDictionaryType(serializer, mapper, responseBody, objectName, options) {
-      const value = mapper.type.value;
-      if (!value || typeof value !== "object") {
-        throw new Error(`"value" metadata for a Dictionary must be defined in the mapper and it must of type "object" in ${objectName}`);
-      }
-      if (responseBody) {
-        const tempDictionary = {};
-        for (const key of Object.keys(responseBody)) {
-          tempDictionary[key] = serializer.deserialize(value, responseBody[key], objectName, options);
-        }
-        return tempDictionary;
-      }
-      return responseBody;
-    }
-    function deserializeSequenceType(serializer, mapper, responseBody, objectName, options) {
-      let element = mapper.type.element;
-      if (!element || typeof element !== "object") {
-        throw new Error(`element" metadata for an Array must be defined in the mapper and it must of type "object" in ${objectName}`);
-      }
-      if (responseBody) {
-        if (!Array.isArray(responseBody)) {
-          responseBody = [responseBody];
-        }
-        if (element.type.name === "Composite" && element.type.className) {
-          element = serializer.modelMappers[element.type.className] ?? element;
-        }
-        const tempArray = [];
-        for (let i = 0; i < responseBody.length; i++) {
-          tempArray[i] = serializer.deserialize(element, responseBody[i], `${objectName}[${i}]`, options);
         }
-        return tempArray;
       }
-      return responseBody;
-    }
-    function getIndexDiscriminator(discriminators, discriminatorValue, typeName) {
-      const typeNamesToCheck = [typeName];
-      while (typeNamesToCheck.length) {
-        const currentName = typeNamesToCheck.shift();
-        const indexDiscriminator = discriminatorValue === currentName ? discriminatorValue : currentName + "." + discriminatorValue;
-        if (Object.prototype.hasOwnProperty.call(discriminators, indexDiscriminator)) {
-          return discriminators[indexDiscriminator];
-        } else {
-          for (const [name, mapper] of Object.entries(discriminators)) {
-            if (name.startsWith(currentName + ".") && mapper.type.uberParent === currentName && mapper.type.className) {
-              typeNamesToCheck.push(mapper.type.className);
+    };
+    exports2.PageBlobGetPageRangesHeaders = {
+      serializedName: "PageBlob_getPageRangesHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobGetPageRangesHeaders",
+        modelProperties: {
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          blobContentLength: {
+            serializedName: "x-ms-blob-content-length",
+            xmlName: "x-ms-blob-content-length",
+            type: {
+              name: "Number"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
           }
         }
       }
-      return void 0;
-    }
-    function getPolymorphicMapper(serializer, mapper, object, polymorphicPropertyName) {
-      const polymorphicDiscriminator = getPolymorphicDiscriminatorRecursively(serializer, mapper);
-      if (polymorphicDiscriminator) {
-        let discriminatorName = polymorphicDiscriminator[polymorphicPropertyName];
-        if (discriminatorName) {
-          if (polymorphicPropertyName === "serializedName") {
-            discriminatorName = discriminatorName.replace(/\\/gi, "");
-          }
-          const discriminatorValue = object[discriminatorName];
-          const typeName = mapper.type.uberParent ?? mapper.type.className;
-          if (typeof discriminatorValue === "string" && typeName) {
-            const polymorphicMapper = getIndexDiscriminator(serializer.modelMappers.discriminators, discriminatorValue, typeName);
-            if (polymorphicMapper) {
-              mapper = polymorphicMapper;
+    };
+    exports2.PageBlobGetPageRangesExceptionHeaders = {
+      serializedName: "PageBlob_getPageRangesExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobGetPageRangesExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
           }
         }
       }
-      return mapper;
-    }
-    function getPolymorphicDiscriminatorRecursively(serializer, mapper) {
-      return mapper.type.polymorphicDiscriminator || getPolymorphicDiscriminatorSafely(serializer, mapper.type.uberParent) || getPolymorphicDiscriminatorSafely(serializer, mapper.type.className);
-    }
-    function getPolymorphicDiscriminatorSafely(serializer, typeName) {
-      return typeName && serializer.modelMappers[typeName] && serializer.modelMappers[typeName].type.polymorphicDiscriminator;
-    }
-    exports2.MapperTypeNames = {
-      Base64Url: "Base64Url",
-      Boolean: "Boolean",
-      ByteArray: "ByteArray",
-      Composite: "Composite",
-      Date: "Date",
-      DateTime: "DateTime",
-      DateTimeRfc1123: "DateTimeRfc1123",
-      Dictionary: "Dictionary",
-      Enum: "Enum",
-      Number: "Number",
-      Object: "Object",
-      Sequence: "Sequence",
-      String: "String",
-      Stream: "Stream",
-      TimeSpan: "TimeSpan",
-      UnixTime: "UnixTime"
-    };
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/state.js
-var require_state2 = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/state.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.state = void 0;
-    exports2.state = {
-      operationRequestMap: /* @__PURE__ */ new WeakMap()
     };
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/operationHelpers.js
-var require_operationHelpers = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/operationHelpers.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getOperationArgumentValueFromParameter = getOperationArgumentValueFromParameter;
-    exports2.getOperationRequestInfo = getOperationRequestInfo;
-    var state_js_1 = require_state2();
-    function getOperationArgumentValueFromParameter(operationArguments, parameter, fallbackObject) {
-      let parameterPath = parameter.parameterPath;
-      const parameterMapper = parameter.mapper;
-      let value;
-      if (typeof parameterPath === "string") {
-        parameterPath = [parameterPath];
-      }
-      if (Array.isArray(parameterPath)) {
-        if (parameterPath.length > 0) {
-          if (parameterMapper.isConstant) {
-            value = parameterMapper.defaultValue;
-          } else {
-            let propertySearchResult = getPropertyFromParameterPath(operationArguments, parameterPath);
-            if (!propertySearchResult.propertyFound && fallbackObject) {
-              propertySearchResult = getPropertyFromParameterPath(fallbackObject, parameterPath);
+    exports2.PageBlobGetPageRangesDiffHeaders = {
+      serializedName: "PageBlob_getPageRangesDiffHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobGetPageRangesDiffHeaders",
+        modelProperties: {
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
             }
-            let useDefaultValue = false;
-            if (!propertySearchResult.propertyFound) {
-              useDefaultValue = parameterMapper.required || parameterPath[0] === "options" && parameterPath.length === 2;
+          },
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
             }
-            value = useDefaultValue ? parameterMapper.defaultValue : propertySearchResult.propertyValue;
-          }
-        }
-      } else {
-        if (parameterMapper.required) {
-          value = {};
-        }
-        for (const propertyName in parameterPath) {
-          const propertyMapper = parameterMapper.type.modelProperties[propertyName];
-          const propertyPath = parameterPath[propertyName];
-          const propertyValue = getOperationArgumentValueFromParameter(operationArguments, {
-            parameterPath: propertyPath,
-            mapper: propertyMapper
-          }, fallbackObject);
-          if (propertyValue !== void 0) {
-            if (!value) {
-              value = {};
+          },
+          blobContentLength: {
+            serializedName: "x-ms-blob-content-length",
+            xmlName: "x-ms-blob-content-length",
+            type: {
+              name: "Number"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
-            value[propertyName] = propertyValue;
           }
         }
       }
-      return value;
-    }
-    function getPropertyFromParameterPath(parent, parameterPath) {
-      const result = { propertyFound: false };
-      let i = 0;
-      for (; i < parameterPath.length; ++i) {
-        const parameterPathPart = parameterPath[i];
-        if (parent && parameterPathPart in parent) {
-          parent = parent[parameterPathPart];
-        } else {
-          break;
+    };
+    exports2.PageBlobGetPageRangesDiffExceptionHeaders = {
+      serializedName: "PageBlob_getPageRangesDiffExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobGetPageRangesDiffExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-      if (i === parameterPath.length) {
-        result.propertyValue = parent;
-        result.propertyFound = true;
-      }
-      return result;
-    }
-    var originalRequestSymbol = /* @__PURE__ */ Symbol.for("@azure/core-client original request");
-    function hasOriginalRequest(request2) {
-      return originalRequestSymbol in request2;
-    }
-    function getOperationRequestInfo(request2) {
-      if (hasOriginalRequest(request2)) {
-        return getOperationRequestInfo(request2[originalRequestSymbol]);
-      }
-      let info7 = state_js_1.state.operationRequestMap.get(request2);
-      if (!info7) {
-        info7 = {};
-        state_js_1.state.operationRequestMap.set(request2, info7);
-      }
-      return info7;
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/deserializationPolicy.js
-var require_deserializationPolicy = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/deserializationPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.deserializationPolicyName = void 0;
-    exports2.deserializationPolicy = deserializationPolicy;
-    var interfaces_js_1 = require_interfaces();
-    var core_rest_pipeline_1 = require_commonjs6();
-    var serializer_js_1 = require_serializer();
-    var operationHelpers_js_1 = require_operationHelpers();
-    var defaultJsonContentTypes = ["application/json", "text/json"];
-    var defaultXmlContentTypes = ["application/xml", "application/atom+xml"];
-    exports2.deserializationPolicyName = "deserializationPolicy";
-    function deserializationPolicy(options = {}) {
-      const jsonContentTypes = options.expectedContentTypes?.json ?? defaultJsonContentTypes;
-      const xmlContentTypes = options.expectedContentTypes?.xml ?? defaultXmlContentTypes;
-      const parseXML = options.parseXML;
-      const serializerOptions = options.serializerOptions;
-      const updatedOptions = {
-        xml: {
-          rootName: serializerOptions?.xml.rootName ?? "",
-          includeRoot: serializerOptions?.xml.includeRoot ?? false,
-          xmlCharKey: serializerOptions?.xml.xmlCharKey ?? interfaces_js_1.XML_CHARKEY
-        }
-      };
-      return {
-        name: exports2.deserializationPolicyName,
-        async sendRequest(request2, next) {
-          const response = await next(request2);
-          return deserializeResponseBody(jsonContentTypes, xmlContentTypes, response, updatedOptions, parseXML);
-        }
-      };
-    }
-    function getOperationResponseMap(parsedResponse) {
-      let result;
-      const request2 = parsedResponse.request;
-      const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(request2);
-      const operationSpec = operationInfo?.operationSpec;
-      if (operationSpec) {
-        if (!operationInfo?.operationResponseGetter) {
-          result = operationSpec.responses[parsedResponse.status];
-        } else {
-          result = operationInfo?.operationResponseGetter(operationSpec, parsedResponse);
+    };
+    exports2.PageBlobResizeHeaders = {
+      serializedName: "PageBlob_resizeHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobResizeHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          blobSequenceNumber: {
+            serializedName: "x-ms-blob-sequence-number",
+            xmlName: "x-ms-blob-sequence-number",
+            type: {
+              name: "Number"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-      return result;
-    }
-    function shouldDeserializeResponse(parsedResponse) {
-      const request2 = parsedResponse.request;
-      const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(request2);
-      const shouldDeserialize = operationInfo?.shouldDeserialize;
-      let result;
-      if (shouldDeserialize === void 0) {
-        result = true;
-      } else if (typeof shouldDeserialize === "boolean") {
-        result = shouldDeserialize;
-      } else {
-        result = shouldDeserialize(parsedResponse);
-      }
-      return result;
-    }
-    async function deserializeResponseBody(jsonContentTypes, xmlContentTypes, response, options, parseXML) {
-      const parsedResponse = await parse2(jsonContentTypes, xmlContentTypes, response, options, parseXML);
-      if (!shouldDeserializeResponse(parsedResponse)) {
-        return parsedResponse;
-      }
-      const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(parsedResponse.request);
-      const operationSpec = operationInfo?.operationSpec;
-      if (!operationSpec || !operationSpec.responses) {
-        return parsedResponse;
-      }
-      const responseSpec = getOperationResponseMap(parsedResponse);
-      const { error: error3, shouldReturnResponse } = handleErrorResponse(parsedResponse, operationSpec, responseSpec, options);
-      if (error3) {
-        throw error3;
-      } else if (shouldReturnResponse) {
-        return parsedResponse;
-      }
-      if (responseSpec) {
-        if (responseSpec.bodyMapper) {
-          let valueToDeserialize = parsedResponse.parsedBody;
-          if (operationSpec.isXML && responseSpec.bodyMapper.type.name === serializer_js_1.MapperTypeNames.Sequence) {
-            valueToDeserialize = typeof valueToDeserialize === "object" ? valueToDeserialize[responseSpec.bodyMapper.xmlElementName] : [];
-          }
-          try {
-            parsedResponse.parsedBody = operationSpec.serializer.deserialize(responseSpec.bodyMapper, valueToDeserialize, "operationRes.parsedBody", options);
-          } catch (deserializeError) {
-            const restError = new core_rest_pipeline_1.RestError(`Error ${deserializeError} occurred in deserializing the responseBody - ${parsedResponse.bodyAsText}`, {
-              statusCode: parsedResponse.status,
-              request: parsedResponse.request,
-              response: parsedResponse
-            });
-            throw restError;
+    };
+    exports2.PageBlobResizeExceptionHeaders = {
+      serializedName: "PageBlob_resizeExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobResizeExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-        } else if (operationSpec.httpMethod === "HEAD") {
-          parsedResponse.parsedBody = response.status >= 200 && response.status < 300;
-        }
-        if (responseSpec.headersMapper) {
-          parsedResponse.parsedHeaders = operationSpec.serializer.deserialize(responseSpec.headersMapper, parsedResponse.headers.toJSON(), "operationRes.parsedHeaders", { xml: {}, ignoreUnknownProperties: true });
         }
       }
-      return parsedResponse;
-    }
-    function isOperationSpecEmpty(operationSpec) {
-      const expectedStatusCodes = Object.keys(operationSpec.responses);
-      return expectedStatusCodes.length === 0 || expectedStatusCodes.length === 1 && expectedStatusCodes[0] === "default";
-    }
-    function handleErrorResponse(parsedResponse, operationSpec, responseSpec, options) {
-      const isSuccessByStatus = 200 <= parsedResponse.status && parsedResponse.status < 300;
-      const isExpectedStatusCode = isOperationSpecEmpty(operationSpec) ? isSuccessByStatus : !!responseSpec;
-      if (isExpectedStatusCode) {
-        if (responseSpec) {
-          if (!responseSpec.isError) {
-            return { error: null, shouldReturnResponse: false };
+    };
+    exports2.PageBlobUpdateSequenceNumberHeaders = {
+      serializedName: "PageBlob_updateSequenceNumberHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobUpdateSequenceNumberHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          blobSequenceNumber: {
+            serializedName: "x-ms-blob-sequence-number",
+            xmlName: "x-ms-blob-sequence-number",
+            type: {
+              name: "Number"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-        } else {
-          return { error: null, shouldReturnResponse: false };
         }
       }
-      const errorResponseSpec = responseSpec ?? operationSpec.responses.default;
-      const initialErrorMessage = parsedResponse.request.streamResponseStatusCodes?.has(parsedResponse.status) ? `Unexpected status code: ${parsedResponse.status}` : parsedResponse.bodyAsText;
-      const error3 = new core_rest_pipeline_1.RestError(initialErrorMessage, {
-        statusCode: parsedResponse.status,
-        request: parsedResponse.request,
-        response: parsedResponse
-      });
-      if (!errorResponseSpec && !(parsedResponse.parsedBody?.error?.code && parsedResponse.parsedBody?.error?.message)) {
-        throw error3;
-      }
-      const defaultBodyMapper = errorResponseSpec?.bodyMapper;
-      const defaultHeadersMapper = errorResponseSpec?.headersMapper;
-      try {
-        if (parsedResponse.parsedBody) {
-          const parsedBody = parsedResponse.parsedBody;
-          let deserializedError;
-          if (defaultBodyMapper) {
-            let valueToDeserialize = parsedBody;
-            if (operationSpec.isXML && defaultBodyMapper.type.name === serializer_js_1.MapperTypeNames.Sequence) {
-              valueToDeserialize = [];
-              const elementName = defaultBodyMapper.xmlElementName;
-              if (typeof parsedBody === "object" && elementName) {
-                valueToDeserialize = parsedBody[elementName];
-              }
+    };
+    exports2.PageBlobUpdateSequenceNumberExceptionHeaders = {
+      serializedName: "PageBlob_updateSequenceNumberExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobUpdateSequenceNumberExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
-            deserializedError = operationSpec.serializer.deserialize(defaultBodyMapper, valueToDeserialize, "error.response.parsedBody", options);
           }
-          const internalError = parsedBody.error || deserializedError || parsedBody;
-          error3.code = internalError.code;
-          if (internalError.message) {
-            error3.message = internalError.message;
-          }
-          if (defaultBodyMapper) {
-            error3.response.parsedBody = deserializedError;
+        }
+      }
+    };
+    exports2.PageBlobCopyIncrementalHeaders = {
+      serializedName: "PageBlob_copyIncrementalHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobCopyIncrementalHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          copyId: {
+            serializedName: "x-ms-copy-id",
+            xmlName: "x-ms-copy-id",
+            type: {
+              name: "String"
+            }
+          },
+          copyStatus: {
+            serializedName: "x-ms-copy-status",
+            xmlName: "x-ms-copy-status",
+            type: {
+              name: "Enum",
+              allowedValues: ["pending", "success", "aborted", "failed"]
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
-        if (parsedResponse.headers && defaultHeadersMapper) {
-          error3.response.parsedHeaders = operationSpec.serializer.deserialize(defaultHeadersMapper, parsedResponse.headers.toJSON(), "operationRes.parsedHeaders");
+      }
+    };
+    exports2.PageBlobCopyIncrementalExceptionHeaders = {
+      serializedName: "PageBlob_copyIncrementalExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobCopyIncrementalExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-      } catch (defaultError) {
-        error3.message = `Error "${defaultError.message}" occurred in deserializing the responseBody - "${parsedResponse.bodyAsText}" for the default response.`;
       }
-      return { error: error3, shouldReturnResponse: false };
-    }
-    async function parse2(jsonContentTypes, xmlContentTypes, operationResponse, opts, parseXML) {
-      if (!operationResponse.request.streamResponseStatusCodes?.has(operationResponse.status) && operationResponse.bodyAsText) {
-        const text = operationResponse.bodyAsText;
-        const contentType = operationResponse.headers.get("Content-Type") || "";
-        const contentComponents = !contentType ? [] : contentType.split(";").map((component) => component.toLowerCase());
-        try {
-          if (contentComponents.length === 0 || contentComponents.some((component) => jsonContentTypes.indexOf(component) !== -1)) {
-            operationResponse.parsedBody = JSON.parse(text);
-            return operationResponse;
-          } else if (contentComponents.some((component) => xmlContentTypes.indexOf(component) !== -1)) {
-            if (!parseXML) {
-              throw new Error("Parsing XML not supported.");
+    };
+    exports2.AppendBlobCreateHeaders = {
+      serializedName: "AppendBlob_createHeaders",
+      type: {
+        name: "Composite",
+        className: "AppendBlobCreateHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
-            const body = await parseXML(text, opts.xml);
-            operationResponse.parsedBody = body;
-            return operationResponse;
           }
-        } catch (err) {
-          const msg = `Error "${err}" occurred while parsing the response body - ${operationResponse.bodyAsText}.`;
-          const errCode = err.code || core_rest_pipeline_1.RestError.PARSE_ERROR;
-          const e = new core_rest_pipeline_1.RestError(msg, {
-            code: errCode,
-            statusCode: operationResponse.status,
-            request: operationResponse.request,
-            response: operationResponse
-          });
-          throw e;
         }
       }
-      return operationResponse;
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/interfaceHelpers.js
-var require_interfaceHelpers = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/interfaceHelpers.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getStreamingResponseStatusCodes = getStreamingResponseStatusCodes;
-    exports2.getPathStringFromParameter = getPathStringFromParameter;
-    var serializer_js_1 = require_serializer();
-    function getStreamingResponseStatusCodes(operationSpec) {
-      const result = /* @__PURE__ */ new Set();
-      for (const statusCode in operationSpec.responses) {
-        const operationResponse = operationSpec.responses[statusCode];
-        if (operationResponse.bodyMapper && operationResponse.bodyMapper.type.name === serializer_js_1.MapperTypeNames.Stream) {
-          result.add(Number(statusCode));
+    };
+    exports2.AppendBlobCreateExceptionHeaders = {
+      serializedName: "AppendBlob_createExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "AppendBlobCreateExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-      return result;
-    }
-    function getPathStringFromParameter(parameter) {
-      const { parameterPath, mapper } = parameter;
-      let result;
-      if (typeof parameterPath === "string") {
-        result = parameterPath;
-      } else if (Array.isArray(parameterPath)) {
-        result = parameterPath.join(".");
-      } else {
-        result = mapper.serializedName;
+    };
+    exports2.AppendBlobAppendBlockHeaders = {
+      serializedName: "AppendBlob_appendBlockHeaders",
+      type: {
+        name: "Composite",
+        className: "AppendBlobAppendBlockHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          xMsContentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          blobAppendOffset: {
+            serializedName: "x-ms-blob-append-offset",
+            xmlName: "x-ms-blob-append-offset",
+            type: {
+              name: "String"
+            }
+          },
+          blobCommittedBlockCount: {
+            serializedName: "x-ms-blob-committed-block-count",
+            xmlName: "x-ms-blob-committed-block-count",
+            type: {
+              name: "Number"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      return result;
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/serializationPolicy.js
-var require_serializationPolicy = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/serializationPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.serializationPolicyName = void 0;
-    exports2.serializationPolicy = serializationPolicy;
-    exports2.serializeHeaders = serializeHeaders;
-    exports2.serializeRequestBody = serializeRequestBody;
-    var interfaces_js_1 = require_interfaces();
-    var operationHelpers_js_1 = require_operationHelpers();
-    var serializer_js_1 = require_serializer();
-    var interfaceHelpers_js_1 = require_interfaceHelpers();
-    exports2.serializationPolicyName = "serializationPolicy";
-    function serializationPolicy(options = {}) {
-      const stringifyXML = options.stringifyXML;
-      return {
-        name: exports2.serializationPolicyName,
-        async sendRequest(request2, next) {
-          const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(request2);
-          const operationSpec = operationInfo?.operationSpec;
-          const operationArguments = operationInfo?.operationArguments;
-          if (operationSpec && operationArguments) {
-            serializeHeaders(request2, operationArguments, operationSpec);
-            serializeRequestBody(request2, operationArguments, operationSpec, stringifyXML);
+    };
+    exports2.AppendBlobAppendBlockExceptionHeaders = {
+      serializedName: "AppendBlob_appendBlockExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "AppendBlobAppendBlockExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          return next(request2);
         }
-      };
-    }
-    function serializeHeaders(request2, operationArguments, operationSpec) {
-      if (operationSpec.headerParameters) {
-        for (const headerParameter of operationSpec.headerParameters) {
-          let headerValue = (0, operationHelpers_js_1.getOperationArgumentValueFromParameter)(operationArguments, headerParameter);
-          if (headerValue !== null && headerValue !== void 0 || headerParameter.mapper.required) {
-            headerValue = operationSpec.serializer.serialize(headerParameter.mapper, headerValue, (0, interfaceHelpers_js_1.getPathStringFromParameter)(headerParameter));
-            const headerCollectionPrefix = headerParameter.mapper.headerCollectionPrefix;
-            if (headerCollectionPrefix) {
-              for (const key of Object.keys(headerValue)) {
-                request2.headers.set(headerCollectionPrefix + key, headerValue[key]);
-              }
-            } else {
-              request2.headers.set(headerParameter.mapper.serializedName || (0, interfaceHelpers_js_1.getPathStringFromParameter)(headerParameter), headerValue);
+      }
+    };
+    exports2.AppendBlobAppendBlockFromUrlHeaders = {
+      serializedName: "AppendBlob_appendBlockFromUrlHeaders",
+      type: {
+        name: "Composite",
+        className: "AppendBlobAppendBlockFromUrlHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          xMsContentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          blobAppendOffset: {
+            serializedName: "x-ms-blob-append-offset",
+            xmlName: "x-ms-blob-append-offset",
+            type: {
+              name: "String"
+            }
+          },
+          blobCommittedBlockCount: {
+            serializedName: "x-ms-blob-committed-block-count",
+            xmlName: "x-ms-blob-committed-block-count",
+            type: {
+              name: "Number"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
           }
         }
       }
-      const customHeaders = operationArguments.options?.requestOptions?.customHeaders;
-      if (customHeaders) {
-        for (const customHeaderName of Object.keys(customHeaders)) {
-          request2.headers.set(customHeaderName, customHeaders[customHeaderName]);
+    };
+    exports2.AppendBlobAppendBlockFromUrlExceptionHeaders = {
+      serializedName: "AppendBlob_appendBlockFromUrlExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "AppendBlobAppendBlockFromUrlExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceErrorCode: {
+            serializedName: "x-ms-copy-source-error-code",
+            xmlName: "x-ms-copy-source-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceStatusCode: {
+            serializedName: "x-ms-copy-source-status-code",
+            xmlName: "x-ms-copy-source-status-code",
+            type: {
+              name: "Number"
+            }
+          }
         }
       }
-    }
-    function serializeRequestBody(request2, operationArguments, operationSpec, stringifyXML = function() {
-      throw new Error("XML serialization unsupported!");
-    }) {
-      const serializerOptions = operationArguments.options?.serializerOptions;
-      const updatedOptions = {
-        xml: {
-          rootName: serializerOptions?.xml.rootName ?? "",
-          includeRoot: serializerOptions?.xml.includeRoot ?? false,
-          xmlCharKey: serializerOptions?.xml.xmlCharKey ?? interfaces_js_1.XML_CHARKEY
-        }
-      };
-      const xmlCharKey = updatedOptions.xml.xmlCharKey;
-      if (operationSpec.requestBody && operationSpec.requestBody.mapper) {
-        request2.body = (0, operationHelpers_js_1.getOperationArgumentValueFromParameter)(operationArguments, operationSpec.requestBody);
-        const bodyMapper = operationSpec.requestBody.mapper;
-        const { required, serializedName, xmlName, xmlElementName, xmlNamespace, xmlNamespacePrefix, nullable } = bodyMapper;
-        const typeName = bodyMapper.type.name;
-        try {
-          if (request2.body !== void 0 && request2.body !== null || nullable && request2.body === null || required) {
-            const requestBodyParameterPathString = (0, interfaceHelpers_js_1.getPathStringFromParameter)(operationSpec.requestBody);
-            request2.body = operationSpec.serializer.serialize(bodyMapper, request2.body, requestBodyParameterPathString, updatedOptions);
-            const isStream = typeName === serializer_js_1.MapperTypeNames.Stream;
-            if (operationSpec.isXML) {
-              const xmlnsKey = xmlNamespacePrefix ? `xmlns:${xmlNamespacePrefix}` : "xmlns";
-              const value = getXmlValueWithNamespace(xmlNamespace, xmlnsKey, typeName, request2.body, updatedOptions);
-              if (typeName === serializer_js_1.MapperTypeNames.Sequence) {
-                request2.body = stringifyXML(prepareXMLRootList(value, xmlElementName || xmlName || serializedName, xmlnsKey, xmlNamespace), { rootName: xmlName || serializedName, xmlCharKey });
-              } else if (!isStream) {
-                request2.body = stringifyXML(value, {
-                  rootName: xmlName || serializedName,
-                  xmlCharKey
-                });
-              }
-            } else if (typeName === serializer_js_1.MapperTypeNames.String && (operationSpec.contentType?.match("text/plain") || operationSpec.mediaType === "text")) {
-              return;
-            } else if (!isStream) {
-              request2.body = JSON.stringify(request2.body);
+    };
+    exports2.AppendBlobSealHeaders = {
+      serializedName: "AppendBlob_sealHeaders",
+      type: {
+        name: "Composite",
+        className: "AppendBlobSealHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isSealed: {
+            serializedName: "x-ms-blob-sealed",
+            xmlName: "x-ms-blob-sealed",
+            type: {
+              name: "Boolean"
             }
           }
-        } catch (error3) {
-          throw new Error(`Error "${error3.message}" occurred in serializing the payload - ${JSON.stringify(serializedName, void 0, "  ")}.`);
         }
-      } else if (operationSpec.formDataParameters && operationSpec.formDataParameters.length > 0) {
-        request2.formData = {};
-        for (const formDataParameter of operationSpec.formDataParameters) {
-          const formDataParameterValue = (0, operationHelpers_js_1.getOperationArgumentValueFromParameter)(operationArguments, formDataParameter);
-          if (formDataParameterValue !== void 0 && formDataParameterValue !== null) {
-            const formDataParameterPropertyName = formDataParameter.mapper.serializedName || (0, interfaceHelpers_js_1.getPathStringFromParameter)(formDataParameter);
-            request2.formData[formDataParameterPropertyName] = operationSpec.serializer.serialize(formDataParameter.mapper, formDataParameterValue, (0, interfaceHelpers_js_1.getPathStringFromParameter)(formDataParameter), updatedOptions);
+      }
+    };
+    exports2.AppendBlobSealExceptionHeaders = {
+      serializedName: "AppendBlob_sealExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "AppendBlobSealExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
       }
-    }
-    function getXmlValueWithNamespace(xmlNamespace, xmlnsKey, typeName, serializedValue, options) {
-      if (xmlNamespace && !["Composite", "Sequence", "Dictionary"].includes(typeName)) {
-        const result = {};
-        result[options.xml.xmlCharKey] = serializedValue;
-        result[interfaces_js_1.XML_ATTRKEY] = { [xmlnsKey]: xmlNamespace };
-        return result;
-      }
-      return serializedValue;
-    }
-    function prepareXMLRootList(obj, elementName, xmlNamespaceKey, xmlNamespace) {
-      if (!Array.isArray(obj)) {
-        obj = [obj];
-      }
-      if (!xmlNamespaceKey || !xmlNamespace) {
-        return { [elementName]: obj };
-      }
-      const result = { [elementName]: obj };
-      result[interfaces_js_1.XML_ATTRKEY] = { [xmlNamespaceKey]: xmlNamespace };
-      return result;
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/pipeline.js
-var require_pipeline3 = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/pipeline.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createClientPipeline = createClientPipeline;
-    var deserializationPolicy_js_1 = require_deserializationPolicy();
-    var core_rest_pipeline_1 = require_commonjs6();
-    var serializationPolicy_js_1 = require_serializationPolicy();
-    function createClientPipeline(options = {}) {
-      const pipeline = (0, core_rest_pipeline_1.createPipelineFromOptions)(options ?? {});
-      if (options.credentialOptions) {
-        pipeline.addPolicy((0, core_rest_pipeline_1.bearerTokenAuthenticationPolicy)({
-          credential: options.credentialOptions.credential,
-          scopes: options.credentialOptions.credentialScopes
-        }));
-      }
-      pipeline.addPolicy((0, serializationPolicy_js_1.serializationPolicy)(options.serializationOptions), { phase: "Serialize" });
-      pipeline.addPolicy((0, deserializationPolicy_js_1.deserializationPolicy)(options.deserializationOptions), {
-        phase: "Deserialize"
-      });
-      return pipeline;
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/httpClientCache.js
-var require_httpClientCache = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/httpClientCache.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getCachedDefaultHttpClient = getCachedDefaultHttpClient;
-    var core_rest_pipeline_1 = require_commonjs6();
-    var cachedHttpClient;
-    function getCachedDefaultHttpClient() {
-      if (!cachedHttpClient) {
-        cachedHttpClient = (0, core_rest_pipeline_1.createDefaultHttpClient)();
-      }
-      return cachedHttpClient;
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/urlHelpers.js
-var require_urlHelpers2 = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/urlHelpers.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getRequestUrl = getRequestUrl;
-    exports2.appendQueryParams = appendQueryParams;
-    var operationHelpers_js_1 = require_operationHelpers();
-    var interfaceHelpers_js_1 = require_interfaceHelpers();
-    var CollectionFormatToDelimiterMap = {
-      CSV: ",",
-      SSV: " ",
-      Multi: "Multi",
-      TSV: "	",
-      Pipes: "|"
     };
-    function getRequestUrl(baseUri, operationSpec, operationArguments, fallbackObject) {
-      const urlReplacements = calculateUrlReplacements(operationSpec, operationArguments, fallbackObject);
-      let isAbsolutePath = false;
-      let requestUrl = replaceAll(baseUri, urlReplacements);
-      if (operationSpec.path) {
-        let path4 = replaceAll(operationSpec.path, urlReplacements);
-        if (operationSpec.path === "/{nextLink}" && path4.startsWith("/")) {
-          path4 = path4.substring(1);
-        }
-        if (isAbsoluteUrl(path4)) {
-          requestUrl = path4;
-          isAbsolutePath = true;
-        } else {
-          requestUrl = appendPath(requestUrl, path4);
+    exports2.BlockBlobUploadHeaders = {
+      serializedName: "BlockBlob_uploadHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobUploadHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-      const { queryParams, sequenceParams } = calculateQueryParameters(operationSpec, operationArguments, fallbackObject);
-      requestUrl = appendQueryParams(requestUrl, queryParams, sequenceParams, isAbsolutePath);
-      return requestUrl;
-    }
-    function replaceAll(input, replacements) {
-      let result = input;
-      for (const [searchValue, replaceValue] of replacements) {
-        result = result.split(searchValue).join(replaceValue);
-      }
-      return result;
-    }
-    function calculateUrlReplacements(operationSpec, operationArguments, fallbackObject) {
-      const result = /* @__PURE__ */ new Map();
-      if (operationSpec.urlParameters?.length) {
-        for (const urlParameter of operationSpec.urlParameters) {
-          let urlParameterValue = (0, operationHelpers_js_1.getOperationArgumentValueFromParameter)(operationArguments, urlParameter, fallbackObject);
-          const parameterPathString = (0, interfaceHelpers_js_1.getPathStringFromParameter)(urlParameter);
-          urlParameterValue = operationSpec.serializer.serialize(urlParameter.mapper, urlParameterValue, parameterPathString);
-          if (!urlParameter.skipEncoding) {
-            urlParameterValue = encodeURIComponent(urlParameterValue);
+    };
+    exports2.BlockBlobUploadExceptionHeaders = {
+      serializedName: "BlockBlob_uploadExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobUploadExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          result.set(`{${urlParameter.mapper.serializedName || parameterPathString}}`, urlParameterValue);
         }
       }
-      return result;
-    }
-    function isAbsoluteUrl(url) {
-      return url.includes("://");
-    }
-    function appendPath(url, pathToAppend) {
-      if (!pathToAppend) {
-        return url;
-      }
-      const parsedUrl = new URL(url);
-      let newPath = parsedUrl.pathname;
-      if (!newPath.endsWith("/")) {
-        newPath = `${newPath}/`;
-      }
-      if (pathToAppend.startsWith("/")) {
-        pathToAppend = pathToAppend.substring(1);
-      }
-      const searchStart = pathToAppend.indexOf("?");
-      if (searchStart !== -1) {
-        const path4 = pathToAppend.substring(0, searchStart);
-        const search = pathToAppend.substring(searchStart + 1);
-        newPath = newPath + path4;
-        if (search) {
-          parsedUrl.search = parsedUrl.search ? `${parsedUrl.search}&${search}` : search;
+    };
+    exports2.BlockBlobPutBlobFromUrlHeaders = {
+      serializedName: "BlockBlob_putBlobFromUrlHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobPutBlobFromUrlHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-      } else {
-        newPath = newPath + pathToAppend;
       }
-      parsedUrl.pathname = newPath;
-      return parsedUrl.toString();
-    }
-    function calculateQueryParameters(operationSpec, operationArguments, fallbackObject) {
-      const result = /* @__PURE__ */ new Map();
-      const sequenceParams = /* @__PURE__ */ new Set();
-      if (operationSpec.queryParameters?.length) {
-        for (const queryParameter of operationSpec.queryParameters) {
-          if (queryParameter.mapper.type.name === "Sequence" && queryParameter.mapper.serializedName) {
-            sequenceParams.add(queryParameter.mapper.serializedName);
+    };
+    exports2.BlockBlobPutBlobFromUrlExceptionHeaders = {
+      serializedName: "BlockBlob_putBlobFromUrlExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobPutBlobFromUrlExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceErrorCode: {
+            serializedName: "x-ms-copy-source-error-code",
+            xmlName: "x-ms-copy-source-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceStatusCode: {
+            serializedName: "x-ms-copy-source-status-code",
+            xmlName: "x-ms-copy-source-status-code",
+            type: {
+              name: "Number"
+            }
           }
-          let queryParameterValue = (0, operationHelpers_js_1.getOperationArgumentValueFromParameter)(operationArguments, queryParameter, fallbackObject);
-          if (queryParameterValue !== void 0 && queryParameterValue !== null || queryParameter.mapper.required) {
-            queryParameterValue = operationSpec.serializer.serialize(queryParameter.mapper, queryParameterValue, (0, interfaceHelpers_js_1.getPathStringFromParameter)(queryParameter));
-            const delimiter = queryParameter.collectionFormat ? CollectionFormatToDelimiterMap[queryParameter.collectionFormat] : "";
-            if (Array.isArray(queryParameterValue)) {
-              queryParameterValue = queryParameterValue.map((item) => {
-                if (item === null || item === void 0) {
-                  return "";
-                }
-                return item;
-              });
+        }
+      }
+    };
+    exports2.BlockBlobStageBlockHeaders = {
+      serializedName: "BlockBlob_stageBlockHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobStageBlockHeaders",
+        modelProperties: {
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
             }
-            if (queryParameter.collectionFormat === "Multi" && queryParameterValue.length === 0) {
-              continue;
-            } else if (Array.isArray(queryParameterValue) && (queryParameter.collectionFormat === "SSV" || queryParameter.collectionFormat === "TSV")) {
-              queryParameterValue = queryParameterValue.join(delimiter);
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
             }
-            if (!queryParameter.skipEncoding) {
-              if (Array.isArray(queryParameterValue)) {
-                queryParameterValue = queryParameterValue.map((item) => {
-                  return encodeURIComponent(item);
-                });
-              } else {
-                queryParameterValue = encodeURIComponent(queryParameterValue);
-              }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
             }
-            if (Array.isArray(queryParameterValue) && (queryParameter.collectionFormat === "CSV" || queryParameter.collectionFormat === "Pipes")) {
-              queryParameterValue = queryParameterValue.join(delimiter);
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          xMsContentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
-            result.set(queryParameter.mapper.serializedName || (0, interfaceHelpers_js_1.getPathStringFromParameter)(queryParameter), queryParameterValue);
           }
         }
       }
-      return {
-        queryParams: result,
-        sequenceParams
-      };
-    }
-    function simpleParseQueryParams(queryString) {
-      const result = /* @__PURE__ */ new Map();
-      if (!queryString || queryString[0] !== "?") {
-        return result;
-      }
-      queryString = queryString.slice(1);
-      const pairs2 = queryString.split("&");
-      for (const pair of pairs2) {
-        const [name, value] = pair.split("=", 2);
-        const existingValue = result.get(name);
-        if (existingValue) {
-          if (Array.isArray(existingValue)) {
-            existingValue.push(value);
-          } else {
-            result.set(name, [existingValue, value]);
+    };
+    exports2.BlockBlobStageBlockExceptionHeaders = {
+      serializedName: "BlockBlob_stageBlockExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobStageBlockExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-        } else {
-          result.set(name, value);
         }
       }
-      return result;
-    }
-    function appendQueryParams(url, queryParams, sequenceParams, noOverwrite = false) {
-      if (queryParams.size === 0) {
-        return url;
-      }
-      const parsedUrl = new URL(url);
-      const combinedParams = simpleParseQueryParams(parsedUrl.search);
-      for (const [name, value] of queryParams) {
-        const existingValue = combinedParams.get(name);
-        if (Array.isArray(existingValue)) {
-          if (Array.isArray(value)) {
-            existingValue.push(...value);
-            const valueSet = new Set(existingValue);
-            combinedParams.set(name, Array.from(valueSet));
-          } else {
-            existingValue.push(value);
-          }
-        } else if (existingValue) {
-          if (Array.isArray(value)) {
-            value.unshift(existingValue);
-          } else if (sequenceParams.has(name)) {
-            combinedParams.set(name, [existingValue, value]);
-          }
-          if (!noOverwrite) {
-            combinedParams.set(name, value);
+    };
+    exports2.BlockBlobStageBlockFromURLHeaders = {
+      serializedName: "BlockBlob_stageBlockFromURLHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobStageBlockFromURLHeaders",
+        modelProperties: {
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          xMsContentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-        } else {
-          combinedParams.set(name, value);
         }
       }
-      const searchPieces = [];
-      for (const [name, value] of combinedParams) {
-        if (typeof value === "string") {
-          searchPieces.push(`${name}=${value}`);
-        } else if (Array.isArray(value)) {
-          for (const subValue of value) {
-            searchPieces.push(`${name}=${subValue}`);
+    };
+    exports2.BlockBlobStageBlockFromURLExceptionHeaders = {
+      serializedName: "BlockBlob_stageBlockFromURLExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobStageBlockFromURLExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceErrorCode: {
+            serializedName: "x-ms-copy-source-error-code",
+            xmlName: "x-ms-copy-source-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceStatusCode: {
+            serializedName: "x-ms-copy-source-status-code",
+            xmlName: "x-ms-copy-source-status-code",
+            type: {
+              name: "Number"
+            }
           }
-        } else {
-          searchPieces.push(`${name}=${value}`);
         }
       }
-      parsedUrl.search = searchPieces.length ? `?${searchPieces.join("&")}` : "";
-      return parsedUrl.toString();
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/log.js
-var require_log4 = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/log.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.logger = void 0;
-    var logger_1 = require_commonjs2();
-    exports2.logger = (0, logger_1.createClientLogger)("core-client");
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/serviceClient.js
-var require_serviceClient = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/serviceClient.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ServiceClient = void 0;
-    var core_rest_pipeline_1 = require_commonjs6();
-    var pipeline_js_1 = require_pipeline3();
-    var utils_js_1 = require_utils6();
-    var httpClientCache_js_1 = require_httpClientCache();
-    var operationHelpers_js_1 = require_operationHelpers();
-    var urlHelpers_js_1 = require_urlHelpers2();
-    var interfaceHelpers_js_1 = require_interfaceHelpers();
-    var log_js_1 = require_log4();
-    var ServiceClient = class {
-      /**
-       * If specified, this is the base URI that requests will be made against for this ServiceClient.
-       * If it is not specified, then all OperationSpecs must contain a baseUrl property.
-       */
-      _endpoint;
-      /**
-       * The default request content type for the service.
-       * Used if no requestContentType is present on an OperationSpec.
-       */
-      _requestContentType;
-      /**
-       * Set to true if the request is sent over HTTP instead of HTTPS
-       */
-      _allowInsecureConnection;
-      /**
-       * The HTTP client that will be used to send requests.
-       */
-      _httpClient;
-      /**
-       * The pipeline used by this client to make requests
-       */
-      pipeline;
-      /**
-       * The ServiceClient constructor
-       * @param options - The service client options that govern the behavior of the client.
-       */
-      constructor(options = {}) {
-        this._requestContentType = options.requestContentType;
-        this._endpoint = options.endpoint ?? options.baseUri;
-        if (options.baseUri) {
-          log_js_1.logger.warning("The baseUri option for SDK Clients has been deprecated, please use endpoint instead.");
+    };
+    exports2.BlockBlobCommitBlockListHeaders = {
+      serializedName: "BlockBlob_commitBlockListHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobCommitBlockListHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          xMsContentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        this._allowInsecureConnection = options.allowInsecureConnection;
-        this._httpClient = options.httpClient || (0, httpClientCache_js_1.getCachedDefaultHttpClient)();
-        this.pipeline = options.pipeline || createDefaultPipeline(options);
-        if (options.additionalPolicies?.length) {
-          for (const { policy, position } of options.additionalPolicies) {
-            const afterPhase = position === "perRetry" ? "Sign" : void 0;
-            this.pipeline.addPolicy(policy, {
-              afterPhase
-            });
+      }
+    };
+    exports2.BlockBlobCommitBlockListExceptionHeaders = {
+      serializedName: "BlockBlob_commitBlockListExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobCommitBlockListExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
       }
-      /**
-       * Send the provided httpRequest.
-       */
-      async sendRequest(request2) {
-        return this.pipeline.sendRequest(this._httpClient, request2);
-      }
-      /**
-       * Send an HTTP request that is populated using the provided OperationSpec.
-       * @typeParam T - The typed result of the request, based on the OperationSpec.
-       * @param operationArguments - The arguments that the HTTP request's templated values will be populated from.
-       * @param operationSpec - The OperationSpec to use to populate the httpRequest.
-       */
-      async sendOperationRequest(operationArguments, operationSpec) {
-        const endpoint2 = operationSpec.baseUrl || this._endpoint;
-        if (!endpoint2) {
-          throw new Error("If operationSpec.baseUrl is not specified, then the ServiceClient must have a endpoint string property that contains the base URL to use.");
-        }
-        const url = (0, urlHelpers_js_1.getRequestUrl)(endpoint2, operationSpec, operationArguments, this);
-        const request2 = (0, core_rest_pipeline_1.createPipelineRequest)({
-          url
-        });
-        request2.method = operationSpec.httpMethod;
-        const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(request2);
-        operationInfo.operationSpec = operationSpec;
-        operationInfo.operationArguments = operationArguments;
-        const contentType = operationSpec.contentType || this._requestContentType;
-        if (contentType && operationSpec.requestBody) {
-          request2.headers.set("Content-Type", contentType);
-        }
-        const options = operationArguments.options;
-        if (options) {
-          const requestOptions = options.requestOptions;
-          if (requestOptions) {
-            if (requestOptions.timeout) {
-              request2.timeout = requestOptions.timeout;
+    };
+    exports2.BlockBlobGetBlockListHeaders = {
+      serializedName: "BlockBlob_getBlockListHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobGetBlockListHeaders",
+        modelProperties: {
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
             }
-            if (requestOptions.onUploadProgress) {
-              request2.onUploadProgress = requestOptions.onUploadProgress;
+          },
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
             }
-            if (requestOptions.onDownloadProgress) {
-              request2.onDownloadProgress = requestOptions.onDownloadProgress;
+          },
+          contentType: {
+            serializedName: "content-type",
+            xmlName: "content-type",
+            type: {
+              name: "String"
             }
-            if (requestOptions.shouldDeserialize !== void 0) {
-              operationInfo.shouldDeserialize = requestOptions.shouldDeserialize;
+          },
+          blobContentLength: {
+            serializedName: "x-ms-blob-content-length",
+            xmlName: "x-ms-blob-content-length",
+            type: {
+              name: "Number"
             }
-            if (requestOptions.allowInsecureConnection) {
-              request2.allowInsecureConnection = true;
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
           }
-          if (options.abortSignal) {
-            request2.abortSignal = options.abortSignal;
-          }
-          if (options.tracingOptions) {
-            request2.tracingOptions = options.tracingOptions;
-          }
-        }
-        if (this._allowInsecureConnection) {
-          request2.allowInsecureConnection = true;
         }
-        if (request2.streamResponseStatusCodes === void 0) {
-          request2.streamResponseStatusCodes = (0, interfaceHelpers_js_1.getStreamingResponseStatusCodes)(operationSpec);
-        }
-        try {
-          const rawResponse = await this.sendRequest(request2);
-          const flatResponse = (0, utils_js_1.flattenResponse)(rawResponse, operationSpec.responses[rawResponse.status]);
-          if (options?.onResponse) {
-            options.onResponse(rawResponse, flatResponse);
-          }
-          return flatResponse;
-        } catch (error3) {
-          if (typeof error3 === "object" && error3?.response) {
-            const rawResponse = error3.response;
-            const flatResponse = (0, utils_js_1.flattenResponse)(rawResponse, operationSpec.responses[error3.statusCode] || operationSpec.responses["default"]);
-            error3.details = flatResponse;
-            if (options?.onResponse) {
-              options.onResponse(rawResponse, flatResponse, error3);
+      }
+    };
+    exports2.BlockBlobGetBlockListExceptionHeaders = {
+      serializedName: "BlockBlob_getBlockListExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobGetBlockListExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
           }
-          throw error3;
         }
       }
     };
-    exports2.ServiceClient = ServiceClient;
-    function createDefaultPipeline(options) {
-      const credentialScopes = getCredentialScopes(options);
-      const credentialOptions = options.credential && credentialScopes ? { credentialScopes, credential: options.credential } : void 0;
-      return (0, pipeline_js_1.createClientPipeline)({
-        ...options,
-        credentialOptions
-      });
-    }
-    function getCredentialScopes(options) {
-      if (options.credentialScopes) {
-        return options.credentialScopes;
-      }
-      if (options.endpoint) {
-        return `${options.endpoint}/.default`;
-      }
-      if (options.baseUri) {
-        return `${options.baseUri}/.default`;
-      }
-      if (options.credential && !options.credentialScopes) {
-        throw new Error(`When using credentials, the ServiceClientOptions must contain either a endpoint or a credentialScopes. Unable to create a bearerTokenAuthenticationPolicy`);
-      }
-      return void 0;
-    }
   }
 });
 
-// node_modules/@azure/core-client/dist/commonjs/authorizeRequestOnClaimChallenge.js
-var require_authorizeRequestOnClaimChallenge = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/authorizeRequestOnClaimChallenge.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/parameters.js
+var require_parameters = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/parameters.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.parseCAEChallenge = parseCAEChallenge;
-    exports2.authorizeRequestOnClaimChallenge = authorizeRequestOnClaimChallenge;
-    var log_js_1 = require_log4();
-    var base64_js_1 = require_base64();
-    function parseCAEChallenge(challenges) {
-      const bearerChallenges = `, ${challenges.trim()}`.split(", Bearer ").filter((x) => x);
-      return bearerChallenges.map((challenge) => {
-        const challengeParts = `${challenge.trim()}, `.split('", ').filter((x) => x);
-        const keyValuePairs = challengeParts.map((keyValue) => (([key, value]) => ({ [key]: value }))(keyValue.trim().split('="')));
-        return keyValuePairs.reduce((a, b) => ({ ...a, ...b }), {});
-      });
-    }
-    async function authorizeRequestOnClaimChallenge(onChallengeOptions) {
-      const { scopes, response } = onChallengeOptions;
-      const logger = onChallengeOptions.logger || log_js_1.logger;
-      const challenge = response.headers.get("WWW-Authenticate");
-      if (!challenge) {
-        logger.info(`The WWW-Authenticate header was missing. Failed to perform the Continuous Access Evaluation authentication flow.`);
-        return false;
+    exports2.action3 = exports2.action2 = exports2.leaseId1 = exports2.action1 = exports2.proposedLeaseId = exports2.duration = exports2.action = exports2.comp10 = exports2.sourceLeaseId = exports2.sourceContainerName = exports2.comp9 = exports2.deletedContainerVersion = exports2.deletedContainerName = exports2.comp8 = exports2.containerAcl = exports2.comp7 = exports2.comp6 = exports2.ifUnmodifiedSince = exports2.ifModifiedSince = exports2.leaseId = exports2.preventEncryptionScopeOverride = exports2.defaultEncryptionScope = exports2.access = exports2.metadata = exports2.restype2 = exports2.where = exports2.comp5 = exports2.multipartContentType = exports2.contentLength = exports2.comp4 = exports2.body = exports2.restype1 = exports2.comp3 = exports2.keyInfo = exports2.include = exports2.maxPageSize = exports2.marker = exports2.prefix = exports2.comp2 = exports2.comp1 = exports2.accept1 = exports2.requestId = exports2.version = exports2.timeoutInSeconds = exports2.comp = exports2.restype = exports2.url = exports2.accept = exports2.blobServiceProperties = exports2.contentType = void 0;
+    exports2.fileRequestIntent = exports2.copySourceTags = exports2.copySourceAuthorization = exports2.sourceContentMD5 = exports2.xMsRequiresSync = exports2.legalHold1 = exports2.sealBlob = exports2.blobTagsString = exports2.copySource = exports2.sourceIfTags = exports2.sourceIfNoneMatch = exports2.sourceIfMatch = exports2.sourceIfUnmodifiedSince = exports2.sourceIfModifiedSince = exports2.rehydratePriority = exports2.tier = exports2.comp14 = exports2.encryptionScope = exports2.legalHold = exports2.comp13 = exports2.immutabilityPolicyMode = exports2.immutabilityPolicyExpiry = exports2.comp12 = exports2.blobContentDisposition = exports2.blobContentLanguage = exports2.blobContentEncoding = exports2.blobContentMD5 = exports2.blobContentType = exports2.blobCacheControl = exports2.expiresOn = exports2.expiryOptions = exports2.comp11 = exports2.blobDeleteType = exports2.deleteSnapshots = exports2.ifTags = exports2.ifNoneMatch = exports2.ifMatch = exports2.encryptionAlgorithm = exports2.encryptionKeySha256 = exports2.encryptionKey = exports2.rangeGetContentCRC64 = exports2.rangeGetContentMD5 = exports2.range = exports2.versionId = exports2.snapshot = exports2.delimiter = exports2.include1 = exports2.proposedLeaseId1 = exports2.action4 = exports2.breakPeriod = void 0;
+    exports2.listType = exports2.comp25 = exports2.blocks = exports2.blockId = exports2.comp24 = exports2.copySourceBlobProperties = exports2.blobType2 = exports2.comp23 = exports2.sourceRange1 = exports2.appendPosition = exports2.maxSize = exports2.comp22 = exports2.blobType1 = exports2.comp21 = exports2.sequenceNumberAction = exports2.prevSnapshotUrl = exports2.prevsnapshot = exports2.comp20 = exports2.range1 = exports2.sourceContentCrc64 = exports2.sourceRange = exports2.sourceUrl = exports2.pageWrite1 = exports2.ifSequenceNumberEqualTo = exports2.ifSequenceNumberLessThan = exports2.ifSequenceNumberLessThanOrEqualTo = exports2.pageWrite = exports2.comp19 = exports2.accept2 = exports2.body1 = exports2.contentType1 = exports2.blobSequenceNumber = exports2.blobContentLength = exports2.blobType = exports2.transactionalContentCrc64 = exports2.transactionalContentMD5 = exports2.tags = exports2.comp18 = exports2.comp17 = exports2.queryRequest = exports2.tier1 = exports2.comp16 = exports2.copyId = exports2.copyActionAbortConstant = exports2.comp15 = void 0;
+    var mappers_js_1 = require_mappers();
+    exports2.contentType = {
+      parameterPath: ["options", "contentType"],
+      mapper: {
+        defaultValue: "application/xml",
+        isConstant: true,
+        serializedName: "Content-Type",
+        type: {
+          name: "String"
+        }
       }
-      const challenges = parseCAEChallenge(challenge) || [];
-      const parsedChallenge = challenges.find((x) => x.claims);
-      if (!parsedChallenge) {
-        logger.info(`The WWW-Authenticate header was missing the necessary "claims" to perform the Continuous Access Evaluation authentication flow.`);
-        return false;
+    };
+    exports2.blobServiceProperties = {
+      parameterPath: "blobServiceProperties",
+      mapper: mappers_js_1.BlobServiceProperties
+    };
+    exports2.accept = {
+      parameterPath: "accept",
+      mapper: {
+        defaultValue: "application/xml",
+        isConstant: true,
+        serializedName: "Accept",
+        type: {
+          name: "String"
+        }
       }
-      const accessToken = await onChallengeOptions.getAccessToken(parsedChallenge.scope ? [parsedChallenge.scope] : scopes, {
-        claims: (0, base64_js_1.decodeStringToString)(parsedChallenge.claims)
-      });
-      if (!accessToken) {
-        return false;
+    };
+    exports2.url = {
+      parameterPath: "url",
+      mapper: {
+        serializedName: "url",
+        required: true,
+        xmlName: "url",
+        type: {
+          name: "String"
+        }
+      },
+      skipEncoding: true
+    };
+    exports2.restype = {
+      parameterPath: "restype",
+      mapper: {
+        defaultValue: "service",
+        isConstant: true,
+        serializedName: "restype",
+        type: {
+          name: "String"
+        }
       }
-      onChallengeOptions.request.headers.set("Authorization", `${accessToken.tokenType ?? "Bearer"} ${accessToken.token}`);
-      return true;
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/authorizeRequestOnTenantChallenge.js
-var require_authorizeRequestOnTenantChallenge = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/authorizeRequestOnTenantChallenge.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.authorizeRequestOnTenantChallenge = void 0;
-    var Constants = {
-      DefaultScope: "/.default",
-      /**
-       * Defines constants for use with HTTP headers.
-       */
-      HeaderConstants: {
-        /**
-         * The Authorization header.
-         */
-        AUTHORIZATION: "authorization"
+    };
+    exports2.comp = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "properties",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
       }
     };
-    function isUuid(text) {
-      return /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/.test(text);
-    }
-    var authorizeRequestOnTenantChallenge = async (challengeOptions) => {
-      const requestOptions = requestToOptions(challengeOptions.request);
-      const challenge = getChallenge(challengeOptions.response);
-      if (challenge) {
-        const challengeInfo = parseChallenge(challenge);
-        const challengeScopes = buildScopes(challengeOptions, challengeInfo);
-        const tenantId = extractTenantId(challengeInfo);
-        if (!tenantId) {
-          return false;
+    exports2.timeoutInSeconds = {
+      parameterPath: ["options", "timeoutInSeconds"],
+      mapper: {
+        constraints: {
+          InclusiveMinimum: 0
+        },
+        serializedName: "timeout",
+        xmlName: "timeout",
+        type: {
+          name: "Number"
         }
-        const accessToken = await challengeOptions.getAccessToken(challengeScopes, {
-          ...requestOptions,
-          tenantId
-        });
-        if (!accessToken) {
-          return false;
+      }
+    };
+    exports2.version = {
+      parameterPath: "version",
+      mapper: {
+        defaultValue: "2025-11-05",
+        isConstant: true,
+        serializedName: "x-ms-version",
+        type: {
+          name: "String"
         }
-        challengeOptions.request.headers.set(Constants.HeaderConstants.AUTHORIZATION, `${accessToken.tokenType ?? "Bearer"} ${accessToken.token}`);
-        return true;
       }
-      return false;
     };
-    exports2.authorizeRequestOnTenantChallenge = authorizeRequestOnTenantChallenge;
-    function extractTenantId(challengeInfo) {
-      const parsedAuthUri = new URL(challengeInfo.authorization_uri);
-      const pathSegments = parsedAuthUri.pathname.split("/");
-      const tenantId = pathSegments[1];
-      if (tenantId && isUuid(tenantId)) {
-        return tenantId;
+    exports2.requestId = {
+      parameterPath: ["options", "requestId"],
+      mapper: {
+        serializedName: "x-ms-client-request-id",
+        xmlName: "x-ms-client-request-id",
+        type: {
+          name: "String"
+        }
       }
-      return void 0;
-    }
-    function buildScopes(challengeOptions, challengeInfo) {
-      if (!challengeInfo.resource_id) {
-        return challengeOptions.scopes;
+    };
+    exports2.accept1 = {
+      parameterPath: "accept",
+      mapper: {
+        defaultValue: "application/xml",
+        isConstant: true,
+        serializedName: "Accept",
+        type: {
+          name: "String"
+        }
       }
-      const challengeScopes = new URL(challengeInfo.resource_id);
-      challengeScopes.pathname = Constants.DefaultScope;
-      let scope = challengeScopes.toString();
-      if (scope === "https://disk.azure.com/.default") {
-        scope = "https://disk.azure.com//.default";
+    };
+    exports2.comp1 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "stats",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
       }
-      return [scope];
-    }
-    function getChallenge(response) {
-      const challenge = response.headers.get("WWW-Authenticate");
-      if (response.status === 401 && challenge) {
-        return challenge;
+    };
+    exports2.comp2 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "list",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
       }
-      return;
-    }
-    function parseChallenge(challenge) {
-      const bearerChallenge = challenge.slice("Bearer ".length);
-      const challengeParts = `${bearerChallenge.trim()} `.split(" ").filter((x) => x);
-      const keyValuePairs = challengeParts.map((keyValue) => (([key, value]) => ({ [key]: value }))(keyValue.trim().split("=")));
-      return keyValuePairs.reduce((a, b) => ({ ...a, ...b }), {});
-    }
-    function requestToOptions(request2) {
-      return {
-        abortSignal: request2.abortSignal,
-        requestOptions: {
-          timeout: request2.timeout
-        },
-        tracingOptions: request2.tracingOptions
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/index.js
-var require_commonjs8 = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.authorizeRequestOnTenantChallenge = exports2.authorizeRequestOnClaimChallenge = exports2.serializationPolicyName = exports2.serializationPolicy = exports2.deserializationPolicyName = exports2.deserializationPolicy = exports2.XML_CHARKEY = exports2.XML_ATTRKEY = exports2.createClientPipeline = exports2.ServiceClient = exports2.MapperTypeNames = exports2.createSerializer = void 0;
-    var serializer_js_1 = require_serializer();
-    Object.defineProperty(exports2, "createSerializer", { enumerable: true, get: function() {
-      return serializer_js_1.createSerializer;
-    } });
-    Object.defineProperty(exports2, "MapperTypeNames", { enumerable: true, get: function() {
-      return serializer_js_1.MapperTypeNames;
-    } });
-    var serviceClient_js_1 = require_serviceClient();
-    Object.defineProperty(exports2, "ServiceClient", { enumerable: true, get: function() {
-      return serviceClient_js_1.ServiceClient;
-    } });
-    var pipeline_js_1 = require_pipeline3();
-    Object.defineProperty(exports2, "createClientPipeline", { enumerable: true, get: function() {
-      return pipeline_js_1.createClientPipeline;
-    } });
-    var interfaces_js_1 = require_interfaces();
-    Object.defineProperty(exports2, "XML_ATTRKEY", { enumerable: true, get: function() {
-      return interfaces_js_1.XML_ATTRKEY;
-    } });
-    Object.defineProperty(exports2, "XML_CHARKEY", { enumerable: true, get: function() {
-      return interfaces_js_1.XML_CHARKEY;
-    } });
-    var deserializationPolicy_js_1 = require_deserializationPolicy();
-    Object.defineProperty(exports2, "deserializationPolicy", { enumerable: true, get: function() {
-      return deserializationPolicy_js_1.deserializationPolicy;
-    } });
-    Object.defineProperty(exports2, "deserializationPolicyName", { enumerable: true, get: function() {
-      return deserializationPolicy_js_1.deserializationPolicyName;
-    } });
-    var serializationPolicy_js_1 = require_serializationPolicy();
-    Object.defineProperty(exports2, "serializationPolicy", { enumerable: true, get: function() {
-      return serializationPolicy_js_1.serializationPolicy;
-    } });
-    Object.defineProperty(exports2, "serializationPolicyName", { enumerable: true, get: function() {
-      return serializationPolicy_js_1.serializationPolicyName;
-    } });
-    var authorizeRequestOnClaimChallenge_js_1 = require_authorizeRequestOnClaimChallenge();
-    Object.defineProperty(exports2, "authorizeRequestOnClaimChallenge", { enumerable: true, get: function() {
-      return authorizeRequestOnClaimChallenge_js_1.authorizeRequestOnClaimChallenge;
-    } });
-    var authorizeRequestOnTenantChallenge_js_1 = require_authorizeRequestOnTenantChallenge();
-    Object.defineProperty(exports2, "authorizeRequestOnTenantChallenge", { enumerable: true, get: function() {
-      return authorizeRequestOnTenantChallenge_js_1.authorizeRequestOnTenantChallenge;
-    } });
-  }
-});
-
-// node_modules/@azure/core-http-compat/dist/commonjs/util.js
-var require_util16 = __commonJS({
-  "node_modules/@azure/core-http-compat/dist/commonjs/util.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.HttpHeaders = void 0;
-    exports2.toPipelineRequest = toPipelineRequest;
-    exports2.toWebResourceLike = toWebResourceLike;
-    exports2.toHttpHeadersLike = toHttpHeadersLike;
-    var core_rest_pipeline_1 = require_commonjs6();
-    var originalRequestSymbol = /* @__PURE__ */ Symbol("Original PipelineRequest");
-    var originalClientRequestSymbol = /* @__PURE__ */ Symbol.for("@azure/core-client original request");
-    function toPipelineRequest(webResource, options = {}) {
-      const compatWebResource = webResource;
-      const request2 = compatWebResource[originalRequestSymbol];
-      const headers = (0, core_rest_pipeline_1.createHttpHeaders)(webResource.headers.toJson({ preserveCase: true }));
-      if (request2) {
-        request2.headers = headers;
-        return request2;
-      } else {
-        const newRequest = (0, core_rest_pipeline_1.createPipelineRequest)({
-          url: webResource.url,
-          method: webResource.method,
-          headers,
-          withCredentials: webResource.withCredentials,
-          timeout: webResource.timeout,
-          requestId: webResource.requestId,
-          abortSignal: webResource.abortSignal,
-          body: webResource.body,
-          formData: webResource.formData,
-          disableKeepAlive: !!webResource.keepAlive,
-          onDownloadProgress: webResource.onDownloadProgress,
-          onUploadProgress: webResource.onUploadProgress,
-          proxySettings: webResource.proxySettings,
-          streamResponseStatusCodes: webResource.streamResponseStatusCodes,
-          agent: webResource.agent,
-          requestOverrides: webResource.requestOverrides
-        });
-        if (options.originalRequest) {
-          newRequest[originalClientRequestSymbol] = options.originalRequest;
+    };
+    exports2.prefix = {
+      parameterPath: ["options", "prefix"],
+      mapper: {
+        serializedName: "prefix",
+        xmlName: "prefix",
+        type: {
+          name: "String"
         }
-        return newRequest;
       }
-    }
-    function toWebResourceLike(request2, options) {
-      const originalRequest = options?.originalRequest ?? request2;
-      const webResource = {
-        url: request2.url,
-        method: request2.method,
-        headers: toHttpHeadersLike(request2.headers),
-        withCredentials: request2.withCredentials,
-        timeout: request2.timeout,
-        requestId: request2.headers.get("x-ms-client-request-id") || request2.requestId,
-        abortSignal: request2.abortSignal,
-        body: request2.body,
-        formData: request2.formData,
-        keepAlive: !!request2.disableKeepAlive,
-        onDownloadProgress: request2.onDownloadProgress,
-        onUploadProgress: request2.onUploadProgress,
-        proxySettings: request2.proxySettings,
-        streamResponseStatusCodes: request2.streamResponseStatusCodes,
-        agent: request2.agent,
-        requestOverrides: request2.requestOverrides,
-        clone() {
-          throw new Error("Cannot clone a non-proxied WebResourceLike");
-        },
-        prepare() {
-          throw new Error("WebResourceLike.prepare() is not supported by @azure/core-http-compat");
+    };
+    exports2.marker = {
+      parameterPath: ["options", "marker"],
+      mapper: {
+        serializedName: "marker",
+        xmlName: "marker",
+        type: {
+          name: "String"
+        }
+      }
+    };
+    exports2.maxPageSize = {
+      parameterPath: ["options", "maxPageSize"],
+      mapper: {
+        constraints: {
+          InclusiveMinimum: 1
         },
-        validateRequestProperties() {
+        serializedName: "maxresults",
+        xmlName: "maxresults",
+        type: {
+          name: "Number"
         }
-      };
-      if (options?.createProxy) {
-        return new Proxy(webResource, {
-          get(target, prop, receiver) {
-            if (prop === originalRequestSymbol) {
-              return request2;
-            } else if (prop === "clone") {
-              return () => {
-                return toWebResourceLike(toPipelineRequest(webResource, { originalRequest }), {
-                  createProxy: true,
-                  originalRequest
-                });
-              };
-            }
-            return Reflect.get(target, prop, receiver);
-          },
-          set(target, prop, value, receiver) {
-            if (prop === "keepAlive") {
-              request2.disableKeepAlive = !value;
-            }
-            const passThroughProps = [
-              "url",
-              "method",
-              "withCredentials",
-              "timeout",
-              "requestId",
-              "abortSignal",
-              "body",
-              "formData",
-              "onDownloadProgress",
-              "onUploadProgress",
-              "proxySettings",
-              "streamResponseStatusCodes",
-              "agent",
-              "requestOverrides"
-            ];
-            if (typeof prop === "string" && passThroughProps.includes(prop)) {
-              request2[prop] = value;
-            }
-            return Reflect.set(target, prop, value, receiver);
-          }
-        });
-      } else {
-        return webResource;
       }
-    }
-    function toHttpHeadersLike(headers) {
-      return new HttpHeaders(headers.toJSON({ preserveCase: true }));
-    }
-    function getHeaderKey(headerName) {
-      return headerName.toLowerCase();
-    }
-    var HttpHeaders = class _HttpHeaders {
-      _headersMap;
-      constructor(rawHeaders) {
-        this._headersMap = {};
-        if (rawHeaders) {
-          for (const headerName in rawHeaders) {
-            this.set(headerName, rawHeaders[headerName]);
+    };
+    exports2.include = {
+      parameterPath: ["options", "include"],
+      mapper: {
+        serializedName: "include",
+        xmlName: "include",
+        xmlElementName: "ListContainersIncludeType",
+        type: {
+          name: "Sequence",
+          element: {
+            type: {
+              name: "Enum",
+              allowedValues: ["metadata", "deleted", "system"]
+            }
           }
         }
+      },
+      collectionFormat: "CSV"
+    };
+    exports2.keyInfo = {
+      parameterPath: "keyInfo",
+      mapper: mappers_js_1.KeyInfo
+    };
+    exports2.comp3 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "userdelegationkey",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
       }
-      /**
-       * Set a header in this collection with the provided name and value. The name is
-       * case-insensitive.
-       * @param headerName - The name of the header to set. This value is case-insensitive.
-       * @param headerValue - The value of the header to set.
-       */
-      set(headerName, headerValue) {
-        this._headersMap[getHeaderKey(headerName)] = {
-          name: headerName,
-          value: headerValue.toString()
-        };
-      }
-      /**
-       * Get the header value for the provided header name, or undefined if no header exists in this
-       * collection with the provided name.
-       * @param headerName - The name of the header.
-       */
-      get(headerName) {
-        const header = this._headersMap[getHeaderKey(headerName)];
-        return !header ? void 0 : header.value;
-      }
-      /**
-       * Get whether or not this header collection contains a header entry for the provided header name.
-       */
-      contains(headerName) {
-        return !!this._headersMap[getHeaderKey(headerName)];
+    };
+    exports2.restype1 = {
+      parameterPath: "restype",
+      mapper: {
+        defaultValue: "account",
+        isConstant: true,
+        serializedName: "restype",
+        type: {
+          name: "String"
+        }
       }
-      /**
-       * Remove the header with the provided headerName. Return whether or not the header existed and
-       * was removed.
-       * @param headerName - The name of the header to remove.
-       */
-      remove(headerName) {
-        const result = this.contains(headerName);
-        delete this._headersMap[getHeaderKey(headerName)];
-        return result;
+    };
+    exports2.body = {
+      parameterPath: "body",
+      mapper: {
+        serializedName: "body",
+        required: true,
+        xmlName: "body",
+        type: {
+          name: "Stream"
+        }
       }
-      /**
-       * Get the headers that are contained this collection as an object.
-       */
-      rawHeaders() {
-        return this.toJson({ preserveCase: true });
+    };
+    exports2.comp4 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "batch",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
       }
-      /**
-       * Get the headers that are contained in this collection as an array.
-       */
-      headersArray() {
-        const headers = [];
-        for (const headerKey in this._headersMap) {
-          headers.push(this._headersMap[headerKey]);
+    };
+    exports2.contentLength = {
+      parameterPath: "contentLength",
+      mapper: {
+        serializedName: "Content-Length",
+        required: true,
+        xmlName: "Content-Length",
+        type: {
+          name: "Number"
         }
-        return headers;
       }
-      /**
-       * Get the header names that are contained in this collection.
-       */
-      headerNames() {
-        const headerNames = [];
-        const headers = this.headersArray();
-        for (let i = 0; i < headers.length; ++i) {
-          headerNames.push(headers[i].name);
+    };
+    exports2.multipartContentType = {
+      parameterPath: "multipartContentType",
+      mapper: {
+        serializedName: "Content-Type",
+        required: true,
+        xmlName: "Content-Type",
+        type: {
+          name: "String"
         }
-        return headerNames;
       }
-      /**
-       * Get the header values that are contained in this collection.
-       */
-      headerValues() {
-        const headerValues = [];
-        const headers = this.headersArray();
-        for (let i = 0; i < headers.length; ++i) {
-          headerValues.push(headers[i].value);
+    };
+    exports2.comp5 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "blobs",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
-        return headerValues;
       }
-      /**
-       * Get the JSON object representation of this HTTP header collection.
-       */
-      toJson(options = {}) {
-        const result = {};
-        if (options.preserveCase) {
-          for (const headerKey in this._headersMap) {
-            const header = this._headersMap[headerKey];
-            result[header.name] = header.value;
-          }
-        } else {
-          for (const headerKey in this._headersMap) {
-            const header = this._headersMap[headerKey];
-            result[getHeaderKey(header.name)] = header.value;
-          }
+    };
+    exports2.where = {
+      parameterPath: ["options", "where"],
+      mapper: {
+        serializedName: "where",
+        xmlName: "where",
+        type: {
+          name: "String"
         }
-        return result;
       }
-      /**
-       * Get the string representation of this HTTP header collection.
-       */
-      toString() {
-        return JSON.stringify(this.toJson({ preserveCase: true }));
+    };
+    exports2.restype2 = {
+      parameterPath: "restype",
+      mapper: {
+        defaultValue: "container",
+        isConstant: true,
+        serializedName: "restype",
+        type: {
+          name: "String"
+        }
       }
-      /**
-       * Create a deep clone/copy of this HttpHeaders collection.
-       */
-      clone() {
-        const resultPreservingCasing = {};
-        for (const headerKey in this._headersMap) {
-          const header = this._headersMap[headerKey];
-          resultPreservingCasing[header.name] = header.value;
+    };
+    exports2.metadata = {
+      parameterPath: ["options", "metadata"],
+      mapper: {
+        serializedName: "x-ms-meta",
+        xmlName: "x-ms-meta",
+        headerCollectionPrefix: "x-ms-meta-",
+        type: {
+          name: "Dictionary",
+          value: { type: { name: "String" } }
         }
-        return new _HttpHeaders(resultPreservingCasing);
       }
     };
-    exports2.HttpHeaders = HttpHeaders;
-  }
-});
-
-// node_modules/@azure/core-http-compat/dist/commonjs/response.js
-var require_response3 = __commonJS({
-  "node_modules/@azure/core-http-compat/dist/commonjs/response.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.toCompatResponse = toCompatResponse;
-    exports2.toPipelineResponse = toPipelineResponse;
-    var core_rest_pipeline_1 = require_commonjs6();
-    var util_js_1 = require_util16();
-    var originalResponse = /* @__PURE__ */ Symbol("Original FullOperationResponse");
-    function toCompatResponse(response, options) {
-      let request2 = (0, util_js_1.toWebResourceLike)(response.request);
-      let headers = (0, util_js_1.toHttpHeadersLike)(response.headers);
-      if (options?.createProxy) {
-        return new Proxy(response, {
-          get(target, prop, receiver) {
-            if (prop === "headers") {
-              return headers;
-            } else if (prop === "request") {
-              return request2;
-            } else if (prop === originalResponse) {
-              return response;
-            }
-            return Reflect.get(target, prop, receiver);
-          },
-          set(target, prop, value, receiver) {
-            if (prop === "headers") {
-              headers = value;
-            } else if (prop === "request") {
-              request2 = value;
-            }
-            return Reflect.set(target, prop, value, receiver);
-          }
-        });
-      } else {
-        return {
-          ...response,
-          request: request2,
-          headers
-        };
+    exports2.access = {
+      parameterPath: ["options", "access"],
+      mapper: {
+        serializedName: "x-ms-blob-public-access",
+        xmlName: "x-ms-blob-public-access",
+        type: {
+          name: "Enum",
+          allowedValues: ["container", "blob"]
+        }
       }
-    }
-    function toPipelineResponse(compatResponse) {
-      const extendedCompatResponse = compatResponse;
-      const response = extendedCompatResponse[originalResponse];
-      const headers = (0, core_rest_pipeline_1.createHttpHeaders)(compatResponse.headers.toJson({ preserveCase: true }));
-      if (response) {
-        response.headers = headers;
-        return response;
-      } else {
-        return {
-          ...compatResponse,
-          headers,
-          request: (0, util_js_1.toPipelineRequest)(compatResponse.request)
-        };
+    };
+    exports2.defaultEncryptionScope = {
+      parameterPath: [
+        "options",
+        "containerEncryptionScope",
+        "defaultEncryptionScope"
+      ],
+      mapper: {
+        serializedName: "x-ms-default-encryption-scope",
+        xmlName: "x-ms-default-encryption-scope",
+        type: {
+          name: "String"
+        }
       }
-    }
-  }
-});
-
-// node_modules/@azure/core-http-compat/dist/commonjs/extendedClient.js
-var require_extendedClient = __commonJS({
-  "node_modules/@azure/core-http-compat/dist/commonjs/extendedClient.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ExtendedServiceClient = void 0;
-    var disableKeepAlivePolicy_js_1 = require_disableKeepAlivePolicy();
-    var core_rest_pipeline_1 = require_commonjs6();
-    var core_client_1 = require_commonjs8();
-    var response_js_1 = require_response3();
-    var ExtendedServiceClient = class extends core_client_1.ServiceClient {
-      constructor(options) {
-        super(options);
-        if (options.keepAliveOptions?.enable === false && !(0, disableKeepAlivePolicy_js_1.pipelineContainsDisableKeepAlivePolicy)(this.pipeline)) {
-          this.pipeline.addPolicy((0, disableKeepAlivePolicy_js_1.createDisableKeepAlivePolicy)());
+    };
+    exports2.preventEncryptionScopeOverride = {
+      parameterPath: [
+        "options",
+        "containerEncryptionScope",
+        "preventEncryptionScopeOverride"
+      ],
+      mapper: {
+        serializedName: "x-ms-deny-encryption-scope-override",
+        xmlName: "x-ms-deny-encryption-scope-override",
+        type: {
+          name: "Boolean"
         }
-        if (options.redirectOptions?.handleRedirects === false) {
-          this.pipeline.removePolicy({
-            name: core_rest_pipeline_1.redirectPolicyName
-          });
+      }
+    };
+    exports2.leaseId = {
+      parameterPath: ["options", "leaseAccessConditions", "leaseId"],
+      mapper: {
+        serializedName: "x-ms-lease-id",
+        xmlName: "x-ms-lease-id",
+        type: {
+          name: "String"
         }
       }
-      /**
-       * Compatible send operation request function.
-       *
-       * @param operationArguments - Operation arguments
-       * @param operationSpec - Operation Spec
-       * @returns
-       */
-      async sendOperationRequest(operationArguments, operationSpec) {
-        const userProvidedCallBack = operationArguments?.options?.onResponse;
-        let lastResponse;
-        function onResponse(rawResponse, flatResponse, error3) {
-          lastResponse = rawResponse;
-          if (userProvidedCallBack) {
-            userProvidedCallBack(rawResponse, flatResponse, error3);
-          }
+    };
+    exports2.ifModifiedSince = {
+      parameterPath: ["options", "modifiedAccessConditions", "ifModifiedSince"],
+      mapper: {
+        serializedName: "If-Modified-Since",
+        xmlName: "If-Modified-Since",
+        type: {
+          name: "DateTimeRfc1123"
         }
-        operationArguments.options = {
-          ...operationArguments.options,
-          onResponse
-        };
-        const result = await super.sendOperationRequest(operationArguments, operationSpec);
-        if (lastResponse) {
-          Object.defineProperty(result, "_response", {
-            value: (0, response_js_1.toCompatResponse)(lastResponse)
-          });
+      }
+    };
+    exports2.ifUnmodifiedSince = {
+      parameterPath: ["options", "modifiedAccessConditions", "ifUnmodifiedSince"],
+      mapper: {
+        serializedName: "If-Unmodified-Since",
+        xmlName: "If-Unmodified-Since",
+        type: {
+          name: "DateTimeRfc1123"
         }
-        return result;
       }
     };
-    exports2.ExtendedServiceClient = ExtendedServiceClient;
-  }
-});
-
-// node_modules/@azure/core-http-compat/dist/commonjs/policies/requestPolicyFactoryPolicy.js
-var require_requestPolicyFactoryPolicy = __commonJS({
-  "node_modules/@azure/core-http-compat/dist/commonjs/policies/requestPolicyFactoryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.requestPolicyFactoryPolicyName = exports2.HttpPipelineLogLevel = void 0;
-    exports2.createRequestPolicyFactoryPolicy = createRequestPolicyFactoryPolicy;
-    var util_js_1 = require_util16();
-    var response_js_1 = require_response3();
-    var HttpPipelineLogLevel;
-    (function(HttpPipelineLogLevel2) {
-      HttpPipelineLogLevel2[HttpPipelineLogLevel2["ERROR"] = 1] = "ERROR";
-      HttpPipelineLogLevel2[HttpPipelineLogLevel2["INFO"] = 3] = "INFO";
-      HttpPipelineLogLevel2[HttpPipelineLogLevel2["OFF"] = 0] = "OFF";
-      HttpPipelineLogLevel2[HttpPipelineLogLevel2["WARNING"] = 2] = "WARNING";
-    })(HttpPipelineLogLevel || (exports2.HttpPipelineLogLevel = HttpPipelineLogLevel = {}));
-    var mockRequestPolicyOptions = {
-      log(_logLevel, _message) {
-      },
-      shouldLog(_logLevel) {
-        return false;
+    exports2.comp6 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "metadata",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
       }
     };
-    exports2.requestPolicyFactoryPolicyName = "RequestPolicyFactoryPolicy";
-    function createRequestPolicyFactoryPolicy(factories) {
-      const orderedFactories = factories.slice().reverse();
-      return {
-        name: exports2.requestPolicyFactoryPolicyName,
-        async sendRequest(request2, next) {
-          let httpPipeline = {
-            async sendRequest(httpRequest) {
-              const response2 = await next((0, util_js_1.toPipelineRequest)(httpRequest));
-              return (0, response_js_1.toCompatResponse)(response2, { createProxy: true });
+    exports2.comp7 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "acl",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
+      }
+    };
+    exports2.containerAcl = {
+      parameterPath: ["options", "containerAcl"],
+      mapper: {
+        serializedName: "containerAcl",
+        xmlName: "SignedIdentifiers",
+        xmlIsWrapped: true,
+        xmlElementName: "SignedIdentifier",
+        type: {
+          name: "Sequence",
+          element: {
+            type: {
+              name: "Composite",
+              className: "SignedIdentifier"
             }
-          };
-          for (const factory of orderedFactories) {
-            httpPipeline = factory.create(httpPipeline, mockRequestPolicyOptions);
           }
-          const webResourceLike = (0, util_js_1.toWebResourceLike)(request2, { createProxy: true });
-          const response = await httpPipeline.sendRequest(webResourceLike);
-          return (0, response_js_1.toPipelineResponse)(response);
-        }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-http-compat/dist/commonjs/httpClientAdapter.js
-var require_httpClientAdapter = __commonJS({
-  "node_modules/@azure/core-http-compat/dist/commonjs/httpClientAdapter.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.convertHttpClient = convertHttpClient;
-    var response_js_1 = require_response3();
-    var util_js_1 = require_util16();
-    function convertHttpClient(requestPolicyClient) {
-      return {
-        sendRequest: async (request2) => {
-          const response = await requestPolicyClient.sendRequest((0, util_js_1.toWebResourceLike)(request2, { createProxy: true }));
-          return (0, response_js_1.toPipelineResponse)(response);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-http-compat/dist/commonjs/index.js
-var require_commonjs9 = __commonJS({
-  "node_modules/@azure/core-http-compat/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.toHttpHeadersLike = exports2.convertHttpClient = exports2.disableKeepAlivePolicyName = exports2.HttpPipelineLogLevel = exports2.createRequestPolicyFactoryPolicy = exports2.requestPolicyFactoryPolicyName = exports2.ExtendedServiceClient = void 0;
-    var extendedClient_js_1 = require_extendedClient();
-    Object.defineProperty(exports2, "ExtendedServiceClient", { enumerable: true, get: function() {
-      return extendedClient_js_1.ExtendedServiceClient;
-    } });
-    var requestPolicyFactoryPolicy_js_1 = require_requestPolicyFactoryPolicy();
-    Object.defineProperty(exports2, "requestPolicyFactoryPolicyName", { enumerable: true, get: function() {
-      return requestPolicyFactoryPolicy_js_1.requestPolicyFactoryPolicyName;
-    } });
-    Object.defineProperty(exports2, "createRequestPolicyFactoryPolicy", { enumerable: true, get: function() {
-      return requestPolicyFactoryPolicy_js_1.createRequestPolicyFactoryPolicy;
-    } });
-    Object.defineProperty(exports2, "HttpPipelineLogLevel", { enumerable: true, get: function() {
-      return requestPolicyFactoryPolicy_js_1.HttpPipelineLogLevel;
-    } });
-    var disableKeepAlivePolicy_js_1 = require_disableKeepAlivePolicy();
-    Object.defineProperty(exports2, "disableKeepAlivePolicyName", { enumerable: true, get: function() {
-      return disableKeepAlivePolicy_js_1.disableKeepAlivePolicyName;
-    } });
-    var httpClientAdapter_js_1 = require_httpClientAdapter();
-    Object.defineProperty(exports2, "convertHttpClient", { enumerable: true, get: function() {
-      return httpClientAdapter_js_1.convertHttpClient;
-    } });
-    var util_js_1 = require_util16();
-    Object.defineProperty(exports2, "toHttpHeadersLike", { enumerable: true, get: function() {
-      return util_js_1.toHttpHeadersLike;
-    } });
-  }
-});
-
-// node_modules/fast-xml-parser/lib/fxp.cjs
-var require_fxp = __commonJS({
-  "node_modules/fast-xml-parser/lib/fxp.cjs"(exports2, module2) {
-    (() => {
-      "use strict";
-      var t = { d: (e2, i2) => {
-        for (var n2 in i2) t.o(i2, n2) && !t.o(e2, n2) && Object.defineProperty(e2, n2, { enumerable: true, get: i2[n2] });
-      }, o: (t2, e2) => Object.prototype.hasOwnProperty.call(t2, e2), r: (t2) => {
-        "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t2, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(t2, "__esModule", { value: true });
-      } }, e = {};
-      t.r(e), t.d(e, { XMLBuilder: () => ut, XMLParser: () => et, XMLValidator: () => ft });
-      const i = ":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD", n = new RegExp("^[" + i + "][" + i + "\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$");
-      function s(t2, e2) {
-        const i2 = [];
-        let n2 = e2.exec(t2);
-        for (; n2; ) {
-          const s2 = [];
-          s2.startIndex = e2.lastIndex - n2[0].length;
-          const r2 = n2.length;
-          for (let t3 = 0; t3 < r2; t3++) s2.push(n2[t3]);
-          i2.push(s2), n2 = e2.exec(t2);
+      }
+    };
+    exports2.comp8 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "undelete",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
-        return i2;
       }
-      const r = function(t2) {
-        return !(null == n.exec(t2));
-      }, o = { allowBooleanAttributes: false, unpairedTags: [] };
-      function a(t2, e2) {
-        e2 = Object.assign({}, o, e2);
-        const i2 = [];
-        let n2 = false, s2 = false;
-        "\uFEFF" === t2[0] && (t2 = t2.substr(1));
-        for (let o2 = 0; o2 < t2.length; o2++) if ("<" === t2[o2] && "?" === t2[o2 + 1]) {
-          if (o2 += 2, o2 = u(t2, o2), o2.err) return o2;
-        } else {
-          if ("<" !== t2[o2]) {
-            if (l(t2[o2])) continue;
-            return x("InvalidChar", "char '" + t2[o2] + "' is not expected.", b(t2, o2));
-          }
-          {
-            let a2 = o2;
-            if (o2++, "!" === t2[o2]) {
-              o2 = h(t2, o2);
-              continue;
-            }
-            {
-              let d2 = false;
-              "/" === t2[o2] && (d2 = true, o2++);
-              let p2 = "";
-              for (; o2 < t2.length && ">" !== t2[o2] && " " !== t2[o2] && "	" !== t2[o2] && "\n" !== t2[o2] && "\r" !== t2[o2]; o2++) p2 += t2[o2];
-              if (p2 = p2.trim(), "/" === p2[p2.length - 1] && (p2 = p2.substring(0, p2.length - 1), o2--), !r(p2)) {
-                let e3;
-                return e3 = 0 === p2.trim().length ? "Invalid space after '<'." : "Tag '" + p2 + "' is an invalid name.", x("InvalidTag", e3, b(t2, o2));
-              }
-              const c2 = f(t2, o2);
-              if (false === c2) return x("InvalidAttr", "Attributes for '" + p2 + "' have open quote.", b(t2, o2));
-              let N2 = c2.value;
-              if (o2 = c2.index, "/" === N2[N2.length - 1]) {
-                const i3 = o2 - N2.length;
-                N2 = N2.substring(0, N2.length - 1);
-                const s3 = g(N2, e2);
-                if (true !== s3) return x(s3.err.code, s3.err.msg, b(t2, i3 + s3.err.line));
-                n2 = true;
-              } else if (d2) {
-                if (!c2.tagClosed) return x("InvalidTag", "Closing tag '" + p2 + "' doesn't have proper closing.", b(t2, o2));
-                if (N2.trim().length > 0) return x("InvalidTag", "Closing tag '" + p2 + "' can't have attributes or invalid starting.", b(t2, a2));
-                if (0 === i2.length) return x("InvalidTag", "Closing tag '" + p2 + "' has not been opened.", b(t2, a2));
-                {
-                  const e3 = i2.pop();
-                  if (p2 !== e3.tagName) {
-                    let i3 = b(t2, e3.tagStartPos);
-                    return x("InvalidTag", "Expected closing tag '" + e3.tagName + "' (opened in line " + i3.line + ", col " + i3.col + ") instead of closing tag '" + p2 + "'.", b(t2, a2));
-                  }
-                  0 == i2.length && (s2 = true);
-                }
-              } else {
-                const r2 = g(N2, e2);
-                if (true !== r2) return x(r2.err.code, r2.err.msg, b(t2, o2 - N2.length + r2.err.line));
-                if (true === s2) return x("InvalidXml", "Multiple possible root nodes found.", b(t2, o2));
-                -1 !== e2.unpairedTags.indexOf(p2) || i2.push({ tagName: p2, tagStartPos: a2 }), n2 = true;
-              }
-              for (o2++; o2 < t2.length; o2++) if ("<" === t2[o2]) {
-                if ("!" === t2[o2 + 1]) {
-                  o2++, o2 = h(t2, o2);
-                  continue;
-                }
-                if ("?" !== t2[o2 + 1]) break;
-                if (o2 = u(t2, ++o2), o2.err) return o2;
-              } else if ("&" === t2[o2]) {
-                const e3 = m(t2, o2);
-                if (-1 == e3) return x("InvalidChar", "char '&' is not expected.", b(t2, o2));
-                o2 = e3;
-              } else if (true === s2 && !l(t2[o2])) return x("InvalidXml", "Extra text at the end", b(t2, o2));
-              "<" === t2[o2] && o2--;
-            }
-          }
+    };
+    exports2.deletedContainerName = {
+      parameterPath: ["options", "deletedContainerName"],
+      mapper: {
+        serializedName: "x-ms-deleted-container-name",
+        xmlName: "x-ms-deleted-container-name",
+        type: {
+          name: "String"
         }
-        return n2 ? 1 == i2.length ? x("InvalidTag", "Unclosed tag '" + i2[0].tagName + "'.", b(t2, i2[0].tagStartPos)) : !(i2.length > 0) || x("InvalidXml", "Invalid '" + JSON.stringify(i2.map(((t3) => t3.tagName)), null, 4).replace(/\r?\n/g, "") + "' found.", { line: 1, col: 1 }) : x("InvalidXml", "Start tag expected.", 1);
       }
-      function l(t2) {
-        return " " === t2 || "	" === t2 || "\n" === t2 || "\r" === t2;
+    };
+    exports2.deletedContainerVersion = {
+      parameterPath: ["options", "deletedContainerVersion"],
+      mapper: {
+        serializedName: "x-ms-deleted-container-version",
+        xmlName: "x-ms-deleted-container-version",
+        type: {
+          name: "String"
+        }
       }
-      function u(t2, e2) {
-        const i2 = e2;
-        for (; e2 < t2.length; e2++) if ("?" != t2[e2] && " " != t2[e2]) ;
-        else {
-          const n2 = t2.substr(i2, e2 - i2);
-          if (e2 > 5 && "xml" === n2) return x("InvalidXml", "XML declaration allowed only at the start of the document.", b(t2, e2));
-          if ("?" == t2[e2] && ">" == t2[e2 + 1]) {
-            e2++;
-            break;
-          }
+    };
+    exports2.comp9 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "rename",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
-        return e2;
       }
-      function h(t2, e2) {
-        if (t2.length > e2 + 5 && "-" === t2[e2 + 1] && "-" === t2[e2 + 2]) {
-          for (e2 += 3; e2 < t2.length; e2++) if ("-" === t2[e2] && "-" === t2[e2 + 1] && ">" === t2[e2 + 2]) {
-            e2 += 2;
-            break;
-          }
-        } else if (t2.length > e2 + 8 && "D" === t2[e2 + 1] && "O" === t2[e2 + 2] && "C" === t2[e2 + 3] && "T" === t2[e2 + 4] && "Y" === t2[e2 + 5] && "P" === t2[e2 + 6] && "E" === t2[e2 + 7]) {
-          let i2 = 1;
-          for (e2 += 8; e2 < t2.length; e2++) if ("<" === t2[e2]) i2++;
-          else if (">" === t2[e2] && (i2--, 0 === i2)) break;
-        } else if (t2.length > e2 + 9 && "[" === t2[e2 + 1] && "C" === t2[e2 + 2] && "D" === t2[e2 + 3] && "A" === t2[e2 + 4] && "T" === t2[e2 + 5] && "A" === t2[e2 + 6] && "[" === t2[e2 + 7]) {
-          for (e2 += 8; e2 < t2.length; e2++) if ("]" === t2[e2] && "]" === t2[e2 + 1] && ">" === t2[e2 + 2]) {
-            e2 += 2;
-            break;
-          }
+    };
+    exports2.sourceContainerName = {
+      parameterPath: "sourceContainerName",
+      mapper: {
+        serializedName: "x-ms-source-container-name",
+        required: true,
+        xmlName: "x-ms-source-container-name",
+        type: {
+          name: "String"
         }
-        return e2;
       }
-      const d = '"', p = "'";
-      function f(t2, e2) {
-        let i2 = "", n2 = "", s2 = false;
-        for (; e2 < t2.length; e2++) {
-          if (t2[e2] === d || t2[e2] === p) "" === n2 ? n2 = t2[e2] : n2 !== t2[e2] || (n2 = "");
-          else if (">" === t2[e2] && "" === n2) {
-            s2 = true;
-            break;
-          }
-          i2 += t2[e2];
+    };
+    exports2.sourceLeaseId = {
+      parameterPath: ["options", "sourceLeaseId"],
+      mapper: {
+        serializedName: "x-ms-source-lease-id",
+        xmlName: "x-ms-source-lease-id",
+        type: {
+          name: "String"
         }
-        return "" === n2 && { value: i2, index: e2, tagClosed: s2 };
       }
-      const c = new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`, "g");
-      function g(t2, e2) {
-        const i2 = s(t2, c), n2 = {};
-        for (let t3 = 0; t3 < i2.length; t3++) {
-          if (0 === i2[t3][1].length) return x("InvalidAttr", "Attribute '" + i2[t3][2] + "' has no space in starting.", E(i2[t3]));
-          if (void 0 !== i2[t3][3] && void 0 === i2[t3][4]) return x("InvalidAttr", "Attribute '" + i2[t3][2] + "' is without value.", E(i2[t3]));
-          if (void 0 === i2[t3][3] && !e2.allowBooleanAttributes) return x("InvalidAttr", "boolean attribute '" + i2[t3][2] + "' is not allowed.", E(i2[t3]));
-          const s2 = i2[t3][2];
-          if (!N(s2)) return x("InvalidAttr", "Attribute '" + s2 + "' is an invalid name.", E(i2[t3]));
-          if (n2.hasOwnProperty(s2)) return x("InvalidAttr", "Attribute '" + s2 + "' is repeated.", E(i2[t3]));
-          n2[s2] = 1;
+    };
+    exports2.comp10 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "lease",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
-        return true;
       }
-      function m(t2, e2) {
-        if (";" === t2[++e2]) return -1;
-        if ("#" === t2[e2]) return (function(t3, e3) {
-          let i3 = /\d/;
-          for ("x" === t3[e3] && (e3++, i3 = /[\da-fA-F]/); e3 < t3.length; e3++) {
-            if (";" === t3[e3]) return e3;
-            if (!t3[e3].match(i3)) break;
-          }
-          return -1;
-        })(t2, ++e2);
-        let i2 = 0;
-        for (; e2 < t2.length; e2++, i2++) if (!(t2[e2].match(/\w/) && i2 < 20)) {
-          if (";" === t2[e2]) break;
-          return -1;
+    };
+    exports2.action = {
+      parameterPath: "action",
+      mapper: {
+        defaultValue: "acquire",
+        isConstant: true,
+        serializedName: "x-ms-lease-action",
+        type: {
+          name: "String"
         }
-        return e2;
       }
-      function x(t2, e2, i2) {
-        return { err: { code: t2, msg: e2, line: i2.line || i2, col: i2.col } };
+    };
+    exports2.duration = {
+      parameterPath: ["options", "duration"],
+      mapper: {
+        serializedName: "x-ms-lease-duration",
+        xmlName: "x-ms-lease-duration",
+        type: {
+          name: "Number"
+        }
       }
-      function N(t2) {
-        return r(t2);
+    };
+    exports2.proposedLeaseId = {
+      parameterPath: ["options", "proposedLeaseId"],
+      mapper: {
+        serializedName: "x-ms-proposed-lease-id",
+        xmlName: "x-ms-proposed-lease-id",
+        type: {
+          name: "String"
+        }
       }
-      function b(t2, e2) {
-        const i2 = t2.substring(0, e2).split(/\r?\n/);
-        return { line: i2.length, col: i2[i2.length - 1].length + 1 };
+    };
+    exports2.action1 = {
+      parameterPath: "action",
+      mapper: {
+        defaultValue: "release",
+        isConstant: true,
+        serializedName: "x-ms-lease-action",
+        type: {
+          name: "String"
+        }
       }
-      function E(t2) {
-        return t2.startIndex + t2[1].length;
+    };
+    exports2.leaseId1 = {
+      parameterPath: "leaseId",
+      mapper: {
+        serializedName: "x-ms-lease-id",
+        required: true,
+        xmlName: "x-ms-lease-id",
+        type: {
+          name: "String"
+        }
       }
-      const v = { preserveOrder: false, attributeNamePrefix: "@_", attributesGroupName: false, textNodeName: "#text", ignoreAttributes: true, removeNSPrefix: false, allowBooleanAttributes: false, parseTagValue: true, parseAttributeValue: false, trimValues: true, cdataPropName: false, numberParseOptions: { hex: true, leadingZeros: true, eNotation: true }, tagValueProcessor: function(t2, e2) {
-        return e2;
-      }, attributeValueProcessor: function(t2, e2) {
-        return e2;
-      }, stopNodes: [], alwaysCreateTextNode: false, isArray: () => false, commentPropName: false, unpairedTags: [], processEntities: true, htmlEntities: false, ignoreDeclaration: false, ignorePiTags: false, transformTagName: false, transformAttributeName: false, updateTag: function(t2, e2, i2) {
-        return t2;
-      }, captureMetaData: false };
-      let T;
-      T = "function" != typeof Symbol ? "@@xmlMetadata" : /* @__PURE__ */ Symbol("XML Node Metadata");
-      class y {
-        constructor(t2) {
-          this.tagname = t2, this.child = [], this[":@"] = {};
+    };
+    exports2.action2 = {
+      parameterPath: "action",
+      mapper: {
+        defaultValue: "renew",
+        isConstant: true,
+        serializedName: "x-ms-lease-action",
+        type: {
+          name: "String"
         }
-        add(t2, e2) {
-          "__proto__" === t2 && (t2 = "#__proto__"), this.child.push({ [t2]: e2 });
+      }
+    };
+    exports2.action3 = {
+      parameterPath: "action",
+      mapper: {
+        defaultValue: "break",
+        isConstant: true,
+        serializedName: "x-ms-lease-action",
+        type: {
+          name: "String"
         }
-        addChild(t2, e2) {
-          "__proto__" === t2.tagname && (t2.tagname = "#__proto__"), t2[":@"] && Object.keys(t2[":@"]).length > 0 ? this.child.push({ [t2.tagname]: t2.child, ":@": t2[":@"] }) : this.child.push({ [t2.tagname]: t2.child }), void 0 !== e2 && (this.child[this.child.length - 1][T] = { startIndex: e2 });
+      }
+    };
+    exports2.breakPeriod = {
+      parameterPath: ["options", "breakPeriod"],
+      mapper: {
+        serializedName: "x-ms-lease-break-period",
+        xmlName: "x-ms-lease-break-period",
+        type: {
+          name: "Number"
         }
-        static getMetaDataSymbol() {
-          return T;
+      }
+    };
+    exports2.action4 = {
+      parameterPath: "action",
+      mapper: {
+        defaultValue: "change",
+        isConstant: true,
+        serializedName: "x-ms-lease-action",
+        type: {
+          name: "String"
         }
       }
-      class w {
-        constructor(t2) {
-          this.suppressValidationErr = !t2;
+    };
+    exports2.proposedLeaseId1 = {
+      parameterPath: "proposedLeaseId",
+      mapper: {
+        serializedName: "x-ms-proposed-lease-id",
+        required: true,
+        xmlName: "x-ms-proposed-lease-id",
+        type: {
+          name: "String"
         }
-        readDocType(t2, e2) {
-          const i2 = {};
-          if ("O" !== t2[e2 + 3] || "C" !== t2[e2 + 4] || "T" !== t2[e2 + 5] || "Y" !== t2[e2 + 6] || "P" !== t2[e2 + 7] || "E" !== t2[e2 + 8]) throw new Error("Invalid Tag instead of DOCTYPE");
-          {
-            e2 += 9;
-            let n2 = 1, s2 = false, r2 = false, o2 = "";
-            for (; e2 < t2.length; e2++) if ("<" !== t2[e2] || r2) if (">" === t2[e2]) {
-              if (r2 ? "-" === t2[e2 - 1] && "-" === t2[e2 - 2] && (r2 = false, n2--) : n2--, 0 === n2) break;
-            } else "[" === t2[e2] ? s2 = true : o2 += t2[e2];
-            else {
-              if (s2 && P(t2, "!ENTITY", e2)) {
-                let n3, s3;
-                e2 += 7, [n3, s3, e2] = this.readEntityExp(t2, e2 + 1, this.suppressValidationErr), -1 === s3.indexOf("&") && (i2[n3] = { regx: RegExp(`&${n3};`, "g"), val: s3 });
-              } else if (s2 && P(t2, "!ELEMENT", e2)) {
-                e2 += 8;
-                const { index: i3 } = this.readElementExp(t2, e2 + 1);
-                e2 = i3;
-              } else if (s2 && P(t2, "!ATTLIST", e2)) e2 += 8;
-              else if (s2 && P(t2, "!NOTATION", e2)) {
-                e2 += 9;
-                const { index: i3 } = this.readNotationExp(t2, e2 + 1, this.suppressValidationErr);
-                e2 = i3;
-              } else {
-                if (!P(t2, "!--", e2)) throw new Error("Invalid DOCTYPE");
-                r2 = true;
-              }
-              n2++, o2 = "";
+      }
+    };
+    exports2.include1 = {
+      parameterPath: ["options", "include"],
+      mapper: {
+        serializedName: "include",
+        xmlName: "include",
+        xmlElementName: "ListBlobsIncludeItem",
+        type: {
+          name: "Sequence",
+          element: {
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "copy",
+                "deleted",
+                "metadata",
+                "snapshots",
+                "uncommittedblobs",
+                "versions",
+                "tags",
+                "immutabilitypolicy",
+                "legalhold",
+                "deletedwithversions"
+              ]
             }
-            if (0 !== n2) throw new Error("Unclosed DOCTYPE");
           }
-          return { entities: i2, i: e2 };
         }
-        readEntityExp(t2, e2) {
-          e2 = I(t2, e2);
-          let i2 = "";
-          for (; e2 < t2.length && !/\s/.test(t2[e2]) && '"' !== t2[e2] && "'" !== t2[e2]; ) i2 += t2[e2], e2++;
-          if (O(i2), e2 = I(t2, e2), !this.suppressValidationErr) {
-            if ("SYSTEM" === t2.substring(e2, e2 + 6).toUpperCase()) throw new Error("External entities are not supported");
-            if ("%" === t2[e2]) throw new Error("Parameter entities are not supported");
-          }
-          let n2 = "";
-          return [e2, n2] = this.readIdentifierVal(t2, e2, "entity"), [i2, n2, --e2];
+      },
+      collectionFormat: "CSV"
+    };
+    exports2.delimiter = {
+      parameterPath: "delimiter",
+      mapper: {
+        serializedName: "delimiter",
+        required: true,
+        xmlName: "delimiter",
+        type: {
+          name: "String"
+        }
+      }
+    };
+    exports2.snapshot = {
+      parameterPath: ["options", "snapshot"],
+      mapper: {
+        serializedName: "snapshot",
+        xmlName: "snapshot",
+        type: {
+          name: "String"
         }
-        readNotationExp(t2, e2) {
-          e2 = I(t2, e2);
-          let i2 = "";
-          for (; e2 < t2.length && !/\s/.test(t2[e2]); ) i2 += t2[e2], e2++;
-          !this.suppressValidationErr && O(i2), e2 = I(t2, e2);
-          const n2 = t2.substring(e2, e2 + 6).toUpperCase();
-          if (!this.suppressValidationErr && "SYSTEM" !== n2 && "PUBLIC" !== n2) throw new Error(`Expected SYSTEM or PUBLIC, found "${n2}"`);
-          e2 += n2.length, e2 = I(t2, e2);
-          let s2 = null, r2 = null;
-          if ("PUBLIC" === n2) [e2, s2] = this.readIdentifierVal(t2, e2, "publicIdentifier"), '"' !== t2[e2 = I(t2, e2)] && "'" !== t2[e2] || ([e2, r2] = this.readIdentifierVal(t2, e2, "systemIdentifier"));
-          else if ("SYSTEM" === n2 && ([e2, r2] = this.readIdentifierVal(t2, e2, "systemIdentifier"), !this.suppressValidationErr && !r2)) throw new Error("Missing mandatory system identifier for SYSTEM notation");
-          return { notationName: i2, publicIdentifier: s2, systemIdentifier: r2, index: --e2 };
+      }
+    };
+    exports2.versionId = {
+      parameterPath: ["options", "versionId"],
+      mapper: {
+        serializedName: "versionid",
+        xmlName: "versionid",
+        type: {
+          name: "String"
         }
-        readIdentifierVal(t2, e2, i2) {
-          let n2 = "";
-          const s2 = t2[e2];
-          if ('"' !== s2 && "'" !== s2) throw new Error(`Expected quoted string, found "${s2}"`);
-          for (e2++; e2 < t2.length && t2[e2] !== s2; ) n2 += t2[e2], e2++;
-          if (t2[e2] !== s2) throw new Error(`Unterminated ${i2} value`);
-          return [++e2, n2];
+      }
+    };
+    exports2.range = {
+      parameterPath: ["options", "range"],
+      mapper: {
+        serializedName: "x-ms-range",
+        xmlName: "x-ms-range",
+        type: {
+          name: "String"
         }
-        readElementExp(t2, e2) {
-          e2 = I(t2, e2);
-          let i2 = "";
-          for (; e2 < t2.length && !/\s/.test(t2[e2]); ) i2 += t2[e2], e2++;
-          if (!this.suppressValidationErr && !r(i2)) throw new Error(`Invalid element name: "${i2}"`);
-          let n2 = "";
-          if ("E" === t2[e2 = I(t2, e2)] && P(t2, "MPTY", e2)) e2 += 4;
-          else if ("A" === t2[e2] && P(t2, "NY", e2)) e2 += 2;
-          else if ("(" === t2[e2]) {
-            for (e2++; e2 < t2.length && ")" !== t2[e2]; ) n2 += t2[e2], e2++;
-            if (")" !== t2[e2]) throw new Error("Unterminated content model");
-          } else if (!this.suppressValidationErr) throw new Error(`Invalid Element Expression, found "${t2[e2]}"`);
-          return { elementName: i2, contentModel: n2.trim(), index: e2 };
+      }
+    };
+    exports2.rangeGetContentMD5 = {
+      parameterPath: ["options", "rangeGetContentMD5"],
+      mapper: {
+        serializedName: "x-ms-range-get-content-md5",
+        xmlName: "x-ms-range-get-content-md5",
+        type: {
+          name: "Boolean"
         }
-        readAttlistExp(t2, e2) {
-          e2 = I(t2, e2);
-          let i2 = "";
-          for (; e2 < t2.length && !/\s/.test(t2[e2]); ) i2 += t2[e2], e2++;
-          O(i2), e2 = I(t2, e2);
-          let n2 = "";
-          for (; e2 < t2.length && !/\s/.test(t2[e2]); ) n2 += t2[e2], e2++;
-          if (!O(n2)) throw new Error(`Invalid attribute name: "${n2}"`);
-          e2 = I(t2, e2);
-          let s2 = "";
-          if ("NOTATION" === t2.substring(e2, e2 + 8).toUpperCase()) {
-            if (s2 = "NOTATION", "(" !== t2[e2 = I(t2, e2 += 8)]) throw new Error(`Expected '(', found "${t2[e2]}"`);
-            e2++;
-            let i3 = [];
-            for (; e2 < t2.length && ")" !== t2[e2]; ) {
-              let n3 = "";
-              for (; e2 < t2.length && "|" !== t2[e2] && ")" !== t2[e2]; ) n3 += t2[e2], e2++;
-              if (n3 = n3.trim(), !O(n3)) throw new Error(`Invalid notation name: "${n3}"`);
-              i3.push(n3), "|" === t2[e2] && (e2++, e2 = I(t2, e2));
-            }
-            if (")" !== t2[e2]) throw new Error("Unterminated list of notations");
-            e2++, s2 += " (" + i3.join("|") + ")";
-          } else {
-            for (; e2 < t2.length && !/\s/.test(t2[e2]); ) s2 += t2[e2], e2++;
-            const i3 = ["CDATA", "ID", "IDREF", "IDREFS", "ENTITY", "ENTITIES", "NMTOKEN", "NMTOKENS"];
-            if (!this.suppressValidationErr && !i3.includes(s2.toUpperCase())) throw new Error(`Invalid attribute type: "${s2}"`);
-          }
-          e2 = I(t2, e2);
-          let r2 = "";
-          return "#REQUIRED" === t2.substring(e2, e2 + 8).toUpperCase() ? (r2 = "#REQUIRED", e2 += 8) : "#IMPLIED" === t2.substring(e2, e2 + 7).toUpperCase() ? (r2 = "#IMPLIED", e2 += 7) : [e2, r2] = this.readIdentifierVal(t2, e2, "ATTLIST"), { elementName: i2, attributeName: n2, attributeType: s2, defaultValue: r2, index: e2 };
+      }
+    };
+    exports2.rangeGetContentCRC64 = {
+      parameterPath: ["options", "rangeGetContentCRC64"],
+      mapper: {
+        serializedName: "x-ms-range-get-content-crc64",
+        xmlName: "x-ms-range-get-content-crc64",
+        type: {
+          name: "Boolean"
         }
       }
-      const I = (t2, e2) => {
-        for (; e2 < t2.length && /\s/.test(t2[e2]); ) e2++;
-        return e2;
-      };
-      function P(t2, e2, i2) {
-        for (let n2 = 0; n2 < e2.length; n2++) if (e2[n2] !== t2[i2 + n2 + 1]) return false;
-        return true;
+    };
+    exports2.encryptionKey = {
+      parameterPath: ["options", "cpkInfo", "encryptionKey"],
+      mapper: {
+        serializedName: "x-ms-encryption-key",
+        xmlName: "x-ms-encryption-key",
+        type: {
+          name: "String"
+        }
       }
-      function O(t2) {
-        if (r(t2)) return t2;
-        throw new Error(`Invalid entity name ${t2}`);
+    };
+    exports2.encryptionKeySha256 = {
+      parameterPath: ["options", "cpkInfo", "encryptionKeySha256"],
+      mapper: {
+        serializedName: "x-ms-encryption-key-sha256",
+        xmlName: "x-ms-encryption-key-sha256",
+        type: {
+          name: "String"
+        }
       }
-      const A = /^[-+]?0x[a-fA-F0-9]+$/, S = /^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/, C = { hex: true, leadingZeros: true, decimalPoint: ".", eNotation: true };
-      const V = /^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/;
-      function $(t2) {
-        return "function" == typeof t2 ? t2 : Array.isArray(t2) ? (e2) => {
-          for (const i2 of t2) {
-            if ("string" == typeof i2 && e2 === i2) return true;
-            if (i2 instanceof RegExp && i2.test(e2)) return true;
-          }
-        } : () => false;
+    };
+    exports2.encryptionAlgorithm = {
+      parameterPath: ["options", "cpkInfo", "encryptionAlgorithm"],
+      mapper: {
+        serializedName: "x-ms-encryption-algorithm",
+        xmlName: "x-ms-encryption-algorithm",
+        type: {
+          name: "String"
+        }
       }
-      class D {
-        constructor(t2) {
-          if (this.options = t2, this.currentNode = null, this.tagsNodeStack = [], this.docTypeEntities = {}, this.lastEntities = { apos: { regex: /&(apos|#39|#x27);/g, val: "'" }, gt: { regex: /&(gt|#62|#x3E);/g, val: ">" }, lt: { regex: /&(lt|#60|#x3C);/g, val: "<" }, quot: { regex: /&(quot|#34|#x22);/g, val: '"' } }, this.ampEntity = { regex: /&(amp|#38|#x26);/g, val: "&" }, this.htmlEntities = { space: { regex: /&(nbsp|#160);/g, val: " " }, cent: { regex: /&(cent|#162);/g, val: "\xA2" }, pound: { regex: /&(pound|#163);/g, val: "\xA3" }, yen: { regex: /&(yen|#165);/g, val: "\xA5" }, euro: { regex: /&(euro|#8364);/g, val: "\u20AC" }, copyright: { regex: /&(copy|#169);/g, val: "\xA9" }, reg: { regex: /&(reg|#174);/g, val: "\xAE" }, inr: { regex: /&(inr|#8377);/g, val: "\u20B9" }, num_dec: { regex: /&#([0-9]{1,7});/g, val: (t3, e2) => Z(e2, 10, "&#") }, num_hex: { regex: /&#x([0-9a-fA-F]{1,6});/g, val: (t3, e2) => Z(e2, 16, "&#x") } }, this.addExternalEntities = j, this.parseXml = L, this.parseTextData = M, this.resolveNameSpace = F, this.buildAttributesMap = k, this.isItStopNode = Y, this.replaceEntitiesValue = B, this.readStopNodeData = W, this.saveTextToParentTag = R, this.addChild = U, this.ignoreAttributesFn = $(this.options.ignoreAttributes), this.options.stopNodes && this.options.stopNodes.length > 0) {
-            this.stopNodesExact = /* @__PURE__ */ new Set(), this.stopNodesWildcard = /* @__PURE__ */ new Set();
-            for (let t3 = 0; t3 < this.options.stopNodes.length; t3++) {
-              const e2 = this.options.stopNodes[t3];
-              "string" == typeof e2 && (e2.startsWith("*.") ? this.stopNodesWildcard.add(e2.substring(2)) : this.stopNodesExact.add(e2));
-            }
-          }
+    };
+    exports2.ifMatch = {
+      parameterPath: ["options", "modifiedAccessConditions", "ifMatch"],
+      mapper: {
+        serializedName: "If-Match",
+        xmlName: "If-Match",
+        type: {
+          name: "String"
         }
       }
-      function j(t2) {
-        const e2 = Object.keys(t2);
-        for (let i2 = 0; i2 < e2.length; i2++) {
-          const n2 = e2[i2];
-          this.lastEntities[n2] = { regex: new RegExp("&" + n2 + ";", "g"), val: t2[n2] };
+    };
+    exports2.ifNoneMatch = {
+      parameterPath: ["options", "modifiedAccessConditions", "ifNoneMatch"],
+      mapper: {
+        serializedName: "If-None-Match",
+        xmlName: "If-None-Match",
+        type: {
+          name: "String"
         }
       }
-      function M(t2, e2, i2, n2, s2, r2, o2) {
-        if (void 0 !== t2 && (this.options.trimValues && !n2 && (t2 = t2.trim()), t2.length > 0)) {
-          o2 || (t2 = this.replaceEntitiesValue(t2));
-          const n3 = this.options.tagValueProcessor(e2, t2, i2, s2, r2);
-          return null == n3 ? t2 : typeof n3 != typeof t2 || n3 !== t2 ? n3 : this.options.trimValues || t2.trim() === t2 ? q(t2, this.options.parseTagValue, this.options.numberParseOptions) : t2;
+    };
+    exports2.ifTags = {
+      parameterPath: ["options", "modifiedAccessConditions", "ifTags"],
+      mapper: {
+        serializedName: "x-ms-if-tags",
+        xmlName: "x-ms-if-tags",
+        type: {
+          name: "String"
         }
       }
-      function F(t2) {
-        if (this.options.removeNSPrefix) {
-          const e2 = t2.split(":"), i2 = "/" === t2.charAt(0) ? "/" : "";
-          if ("xmlns" === e2[0]) return "";
-          2 === e2.length && (t2 = i2 + e2[1]);
+    };
+    exports2.deleteSnapshots = {
+      parameterPath: ["options", "deleteSnapshots"],
+      mapper: {
+        serializedName: "x-ms-delete-snapshots",
+        xmlName: "x-ms-delete-snapshots",
+        type: {
+          name: "Enum",
+          allowedValues: ["include", "only"]
         }
-        return t2;
       }
-      const _2 = new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`, "gm");
-      function k(t2, e2) {
-        if (true !== this.options.ignoreAttributes && "string" == typeof t2) {
-          const i2 = s(t2, _2), n2 = i2.length, r2 = {};
-          for (let t3 = 0; t3 < n2; t3++) {
-            const n3 = this.resolveNameSpace(i2[t3][1]);
-            if (this.ignoreAttributesFn(n3, e2)) continue;
-            let s2 = i2[t3][4], o2 = this.options.attributeNamePrefix + n3;
-            if (n3.length) if (this.options.transformAttributeName && (o2 = this.options.transformAttributeName(o2)), "__proto__" === o2 && (o2 = "#__proto__"), void 0 !== s2) {
-              this.options.trimValues && (s2 = s2.trim()), s2 = this.replaceEntitiesValue(s2);
-              const t4 = this.options.attributeValueProcessor(n3, s2, e2);
-              r2[o2] = null == t4 ? s2 : typeof t4 != typeof s2 || t4 !== s2 ? t4 : q(s2, this.options.parseAttributeValue, this.options.numberParseOptions);
-            } else this.options.allowBooleanAttributes && (r2[o2] = true);
-          }
-          if (!Object.keys(r2).length) return;
-          if (this.options.attributesGroupName) {
-            const t3 = {};
-            return t3[this.options.attributesGroupName] = r2, t3;
-          }
-          return r2;
+    };
+    exports2.blobDeleteType = {
+      parameterPath: ["options", "blobDeleteType"],
+      mapper: {
+        serializedName: "deletetype",
+        xmlName: "deletetype",
+        type: {
+          name: "String"
         }
       }
-      const L = function(t2) {
-        t2 = t2.replace(/\r\n?/g, "\n");
-        const e2 = new y("!xml");
-        let i2 = e2, n2 = "", s2 = "";
-        const r2 = new w(this.options.processEntities);
-        for (let o2 = 0; o2 < t2.length; o2++) if ("<" === t2[o2]) if ("/" === t2[o2 + 1]) {
-          const e3 = G(t2, ">", o2, "Closing Tag is not closed.");
-          let r3 = t2.substring(o2 + 2, e3).trim();
-          if (this.options.removeNSPrefix) {
-            const t3 = r3.indexOf(":");
-            -1 !== t3 && (r3 = r3.substr(t3 + 1));
-          }
-          this.options.transformTagName && (r3 = this.options.transformTagName(r3)), i2 && (n2 = this.saveTextToParentTag(n2, i2, s2));
-          const a2 = s2.substring(s2.lastIndexOf(".") + 1);
-          if (r3 && -1 !== this.options.unpairedTags.indexOf(r3)) throw new Error(`Unpaired tag can not be used as closing tag: `);
-          let l2 = 0;
-          a2 && -1 !== this.options.unpairedTags.indexOf(a2) ? (l2 = s2.lastIndexOf(".", s2.lastIndexOf(".") - 1), this.tagsNodeStack.pop()) : l2 = s2.lastIndexOf("."), s2 = s2.substring(0, l2), i2 = this.tagsNodeStack.pop(), n2 = "", o2 = e3;
-        } else if ("?" === t2[o2 + 1]) {
-          let e3 = X(t2, o2, false, "?>");
-          if (!e3) throw new Error("Pi Tag is not closed.");
-          if (n2 = this.saveTextToParentTag(n2, i2, s2), this.options.ignoreDeclaration && "?xml" === e3.tagName || this.options.ignorePiTags) ;
-          else {
-            const t3 = new y(e3.tagName);
-            t3.add(this.options.textNodeName, ""), e3.tagName !== e3.tagExp && e3.attrExpPresent && (t3[":@"] = this.buildAttributesMap(e3.tagExp, s2)), this.addChild(i2, t3, s2, o2);
-          }
-          o2 = e3.closeIndex + 1;
-        } else if ("!--" === t2.substr(o2 + 1, 3)) {
-          const e3 = G(t2, "-->", o2 + 4, "Comment is not closed.");
-          if (this.options.commentPropName) {
-            const r3 = t2.substring(o2 + 4, e3 - 2);
-            n2 = this.saveTextToParentTag(n2, i2, s2), i2.add(this.options.commentPropName, [{ [this.options.textNodeName]: r3 }]);
-          }
-          o2 = e3;
-        } else if ("!D" === t2.substr(o2 + 1, 2)) {
-          const e3 = r2.readDocType(t2, o2);
-          this.docTypeEntities = e3.entities, o2 = e3.i;
-        } else if ("![" === t2.substr(o2 + 1, 2)) {
-          const e3 = G(t2, "]]>", o2, "CDATA is not closed.") - 2, r3 = t2.substring(o2 + 9, e3);
-          n2 = this.saveTextToParentTag(n2, i2, s2);
-          let a2 = this.parseTextData(r3, i2.tagname, s2, true, false, true, true);
-          null == a2 && (a2 = ""), this.options.cdataPropName ? i2.add(this.options.cdataPropName, [{ [this.options.textNodeName]: r3 }]) : i2.add(this.options.textNodeName, a2), o2 = e3 + 2;
-        } else {
-          let r3 = X(t2, o2, this.options.removeNSPrefix), a2 = r3.tagName;
-          const l2 = r3.rawTagName;
-          let u2 = r3.tagExp, h2 = r3.attrExpPresent, d2 = r3.closeIndex;
-          if (this.options.transformTagName) {
-            const t3 = this.options.transformTagName(a2);
-            u2 === a2 && (u2 = t3), a2 = t3;
-          }
-          i2 && n2 && "!xml" !== i2.tagname && (n2 = this.saveTextToParentTag(n2, i2, s2, false));
-          const p2 = i2;
-          p2 && -1 !== this.options.unpairedTags.indexOf(p2.tagname) && (i2 = this.tagsNodeStack.pop(), s2 = s2.substring(0, s2.lastIndexOf("."))), a2 !== e2.tagname && (s2 += s2 ? "." + a2 : a2);
-          const f2 = o2;
-          if (this.isItStopNode(this.stopNodesExact, this.stopNodesWildcard, s2, a2)) {
-            let e3 = "";
-            if (u2.length > 0 && u2.lastIndexOf("/") === u2.length - 1) "/" === a2[a2.length - 1] ? (a2 = a2.substr(0, a2.length - 1), s2 = s2.substr(0, s2.length - 1), u2 = a2) : u2 = u2.substr(0, u2.length - 1), o2 = r3.closeIndex;
-            else if (-1 !== this.options.unpairedTags.indexOf(a2)) o2 = r3.closeIndex;
-            else {
-              const i3 = this.readStopNodeData(t2, l2, d2 + 1);
-              if (!i3) throw new Error(`Unexpected end of ${l2}`);
-              o2 = i3.i, e3 = i3.tagContent;
-            }
-            const n3 = new y(a2);
-            a2 !== u2 && h2 && (n3[":@"] = this.buildAttributesMap(u2, s2)), e3 && (e3 = this.parseTextData(e3, a2, s2, true, h2, true, true)), s2 = s2.substr(0, s2.lastIndexOf(".")), n3.add(this.options.textNodeName, e3), this.addChild(i2, n3, s2, f2);
-          } else {
-            if (u2.length > 0 && u2.lastIndexOf("/") === u2.length - 1) {
-              if ("/" === a2[a2.length - 1] ? (a2 = a2.substr(0, a2.length - 1), s2 = s2.substr(0, s2.length - 1), u2 = a2) : u2 = u2.substr(0, u2.length - 1), this.options.transformTagName) {
-                const t4 = this.options.transformTagName(a2);
-                u2 === a2 && (u2 = t4), a2 = t4;
-              }
-              const t3 = new y(a2);
-              a2 !== u2 && h2 && (t3[":@"] = this.buildAttributesMap(u2, s2)), this.addChild(i2, t3, s2, f2), s2 = s2.substr(0, s2.lastIndexOf("."));
-            } else {
-              const t3 = new y(a2);
-              this.tagsNodeStack.push(i2), a2 !== u2 && h2 && (t3[":@"] = this.buildAttributesMap(u2, s2)), this.addChild(i2, t3, s2, f2), i2 = t3;
-            }
-            n2 = "", o2 = d2;
-          }
+    };
+    exports2.comp11 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "expiry",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
-        else n2 += t2[o2];
-        return e2.child;
-      };
-      function U(t2, e2, i2, n2) {
-        this.options.captureMetaData || (n2 = void 0);
-        const s2 = this.options.updateTag(e2.tagname, i2, e2[":@"]);
-        false === s2 || ("string" == typeof s2 ? (e2.tagname = s2, t2.addChild(e2, n2)) : t2.addChild(e2, n2));
       }
-      const B = function(t2) {
-        if (this.options.processEntities) {
-          for (let e2 in this.docTypeEntities) {
-            const i2 = this.docTypeEntities[e2];
-            t2 = t2.replace(i2.regx, i2.val);
-          }
-          for (let e2 in this.lastEntities) {
-            const i2 = this.lastEntities[e2];
-            t2 = t2.replace(i2.regex, i2.val);
-          }
-          if (this.options.htmlEntities) for (let e2 in this.htmlEntities) {
-            const i2 = this.htmlEntities[e2];
-            t2 = t2.replace(i2.regex, i2.val);
-          }
-          t2 = t2.replace(this.ampEntity.regex, this.ampEntity.val);
+    };
+    exports2.expiryOptions = {
+      parameterPath: "expiryOptions",
+      mapper: {
+        serializedName: "x-ms-expiry-option",
+        required: true,
+        xmlName: "x-ms-expiry-option",
+        type: {
+          name: "String"
         }
-        return t2;
-      };
-      function R(t2, e2, i2, n2) {
-        return t2 && (void 0 === n2 && (n2 = 0 === e2.child.length), void 0 !== (t2 = this.parseTextData(t2, e2.tagname, i2, false, !!e2[":@"] && 0 !== Object.keys(e2[":@"]).length, n2)) && "" !== t2 && e2.add(this.options.textNodeName, t2), t2 = ""), t2;
       }
-      function Y(t2, e2, i2, n2) {
-        return !(!e2 || !e2.has(n2)) || !(!t2 || !t2.has(i2));
+    };
+    exports2.expiresOn = {
+      parameterPath: ["options", "expiresOn"],
+      mapper: {
+        serializedName: "x-ms-expiry-time",
+        xmlName: "x-ms-expiry-time",
+        type: {
+          name: "String"
+        }
       }
-      function G(t2, e2, i2, n2) {
-        const s2 = t2.indexOf(e2, i2);
-        if (-1 === s2) throw new Error(n2);
-        return s2 + e2.length - 1;
+    };
+    exports2.blobCacheControl = {
+      parameterPath: ["options", "blobHttpHeaders", "blobCacheControl"],
+      mapper: {
+        serializedName: "x-ms-blob-cache-control",
+        xmlName: "x-ms-blob-cache-control",
+        type: {
+          name: "String"
+        }
       }
-      function X(t2, e2, i2, n2 = ">") {
-        const s2 = (function(t3, e3, i3 = ">") {
-          let n3, s3 = "";
-          for (let r3 = e3; r3 < t3.length; r3++) {
-            let e4 = t3[r3];
-            if (n3) e4 === n3 && (n3 = "");
-            else if ('"' === e4 || "'" === e4) n3 = e4;
-            else if (e4 === i3[0]) {
-              if (!i3[1]) return { data: s3, index: r3 };
-              if (t3[r3 + 1] === i3[1]) return { data: s3, index: r3 };
-            } else "	" === e4 && (e4 = " ");
-            s3 += e4;
-          }
-        })(t2, e2 + 1, n2);
-        if (!s2) return;
-        let r2 = s2.data;
-        const o2 = s2.index, a2 = r2.search(/\s/);
-        let l2 = r2, u2 = true;
-        -1 !== a2 && (l2 = r2.substring(0, a2), r2 = r2.substring(a2 + 1).trimStart());
-        const h2 = l2;
-        if (i2) {
-          const t3 = l2.indexOf(":");
-          -1 !== t3 && (l2 = l2.substr(t3 + 1), u2 = l2 !== s2.data.substr(t3 + 1));
+    };
+    exports2.blobContentType = {
+      parameterPath: ["options", "blobHttpHeaders", "blobContentType"],
+      mapper: {
+        serializedName: "x-ms-blob-content-type",
+        xmlName: "x-ms-blob-content-type",
+        type: {
+          name: "String"
         }
-        return { tagName: l2, tagExp: r2, closeIndex: o2, attrExpPresent: u2, rawTagName: h2 };
       }
-      function W(t2, e2, i2) {
-        const n2 = i2;
-        let s2 = 1;
-        for (; i2 < t2.length; i2++) if ("<" === t2[i2]) if ("/" === t2[i2 + 1]) {
-          const r2 = G(t2, ">", i2, `${e2} is not closed`);
-          if (t2.substring(i2 + 2, r2).trim() === e2 && (s2--, 0 === s2)) return { tagContent: t2.substring(n2, i2), i: r2 };
-          i2 = r2;
-        } else if ("?" === t2[i2 + 1]) i2 = G(t2, "?>", i2 + 1, "StopNode is not closed.");
-        else if ("!--" === t2.substr(i2 + 1, 3)) i2 = G(t2, "-->", i2 + 3, "StopNode is not closed.");
-        else if ("![" === t2.substr(i2 + 1, 2)) i2 = G(t2, "]]>", i2, "StopNode is not closed.") - 2;
-        else {
-          const n3 = X(t2, i2, ">");
-          n3 && ((n3 && n3.tagName) === e2 && "/" !== n3.tagExp[n3.tagExp.length - 1] && s2++, i2 = n3.closeIndex);
+    };
+    exports2.blobContentMD5 = {
+      parameterPath: ["options", "blobHttpHeaders", "blobContentMD5"],
+      mapper: {
+        serializedName: "x-ms-blob-content-md5",
+        xmlName: "x-ms-blob-content-md5",
+        type: {
+          name: "ByteArray"
         }
       }
-      function q(t2, e2, i2) {
-        if (e2 && "string" == typeof t2) {
-          const e3 = t2.trim();
-          return "true" === e3 || "false" !== e3 && (function(t3, e4 = {}) {
-            if (e4 = Object.assign({}, C, e4), !t3 || "string" != typeof t3) return t3;
-            let i3 = t3.trim();
-            if (void 0 !== e4.skipLike && e4.skipLike.test(i3)) return t3;
-            if ("0" === t3) return 0;
-            if (e4.hex && A.test(i3)) return (function(t4) {
-              if (parseInt) return parseInt(t4, 16);
-              if (Number.parseInt) return Number.parseInt(t4, 16);
-              if (window && window.parseInt) return window.parseInt(t4, 16);
-              throw new Error("parseInt, Number.parseInt, window.parseInt are not supported");
-            })(i3);
-            if (-1 !== i3.search(/.+[eE].+/)) return (function(t4, e5, i4) {
-              if (!i4.eNotation) return t4;
-              const n3 = e5.match(V);
-              if (n3) {
-                let s2 = n3[1] || "";
-                const r2 = -1 === n3[3].indexOf("e") ? "E" : "e", o2 = n3[2], a2 = s2 ? t4[o2.length + 1] === r2 : t4[o2.length] === r2;
-                return o2.length > 1 && a2 ? t4 : 1 !== o2.length || !n3[3].startsWith(`.${r2}`) && n3[3][0] !== r2 ? i4.leadingZeros && !a2 ? (e5 = (n3[1] || "") + n3[3], Number(e5)) : t4 : Number(e5);
-              }
-              return t4;
-            })(t3, i3, e4);
-            {
-              const s2 = S.exec(i3);
-              if (s2) {
-                const r2 = s2[1] || "", o2 = s2[2];
-                let a2 = (n2 = s2[3]) && -1 !== n2.indexOf(".") ? ("." === (n2 = n2.replace(/0+$/, "")) ? n2 = "0" : "." === n2[0] ? n2 = "0" + n2 : "." === n2[n2.length - 1] && (n2 = n2.substring(0, n2.length - 1)), n2) : n2;
-                const l2 = r2 ? "." === t3[o2.length + 1] : "." === t3[o2.length];
-                if (!e4.leadingZeros && (o2.length > 1 || 1 === o2.length && !l2)) return t3;
-                {
-                  const n3 = Number(i3), s3 = String(n3);
-                  if (0 === n3 || -0 === n3) return n3;
-                  if (-1 !== s3.search(/[eE]/)) return e4.eNotation ? n3 : t3;
-                  if (-1 !== i3.indexOf(".")) return "0" === s3 || s3 === a2 || s3 === `${r2}${a2}` ? n3 : t3;
-                  let l3 = o2 ? a2 : i3;
-                  return o2 ? l3 === s3 || r2 + l3 === s3 ? n3 : t3 : l3 === s3 || l3 === r2 + s3 ? n3 : t3;
-                }
-              }
-              return t3;
-            }
-            var n2;
-          })(t2, i2);
+    };
+    exports2.blobContentEncoding = {
+      parameterPath: ["options", "blobHttpHeaders", "blobContentEncoding"],
+      mapper: {
+        serializedName: "x-ms-blob-content-encoding",
+        xmlName: "x-ms-blob-content-encoding",
+        type: {
+          name: "String"
+        }
+      }
+    };
+    exports2.blobContentLanguage = {
+      parameterPath: ["options", "blobHttpHeaders", "blobContentLanguage"],
+      mapper: {
+        serializedName: "x-ms-blob-content-language",
+        xmlName: "x-ms-blob-content-language",
+        type: {
+          name: "String"
         }
-        return void 0 !== t2 ? t2 : "";
       }
-      function Z(t2, e2, i2) {
-        const n2 = Number.parseInt(t2, e2);
-        return n2 >= 0 && n2 <= 1114111 ? String.fromCodePoint(n2) : i2 + t2 + ";";
+    };
+    exports2.blobContentDisposition = {
+      parameterPath: ["options", "blobHttpHeaders", "blobContentDisposition"],
+      mapper: {
+        serializedName: "x-ms-blob-content-disposition",
+        xmlName: "x-ms-blob-content-disposition",
+        type: {
+          name: "String"
+        }
       }
-      const K = y.getMetaDataSymbol();
-      function Q(t2, e2) {
-        return z(t2, e2);
+    };
+    exports2.comp12 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "immutabilityPolicies",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
       }
-      function z(t2, e2, i2) {
-        let n2;
-        const s2 = {};
-        for (let r2 = 0; r2 < t2.length; r2++) {
-          const o2 = t2[r2], a2 = J(o2);
-          let l2 = "";
-          if (l2 = void 0 === i2 ? a2 : i2 + "." + a2, a2 === e2.textNodeName) void 0 === n2 ? n2 = o2[a2] : n2 += "" + o2[a2];
-          else {
-            if (void 0 === a2) continue;
-            if (o2[a2]) {
-              let t3 = z(o2[a2], e2, l2);
-              const i3 = tt(t3, e2);
-              void 0 !== o2[K] && (t3[K] = o2[K]), o2[":@"] ? H(t3, o2[":@"], l2, e2) : 1 !== Object.keys(t3).length || void 0 === t3[e2.textNodeName] || e2.alwaysCreateTextNode ? 0 === Object.keys(t3).length && (e2.alwaysCreateTextNode ? t3[e2.textNodeName] = "" : t3 = "") : t3 = t3[e2.textNodeName], void 0 !== s2[a2] && s2.hasOwnProperty(a2) ? (Array.isArray(s2[a2]) || (s2[a2] = [s2[a2]]), s2[a2].push(t3)) : e2.isArray(a2, l2, i3) ? s2[a2] = [t3] : s2[a2] = t3;
-            }
-          }
+    };
+    exports2.immutabilityPolicyExpiry = {
+      parameterPath: ["options", "immutabilityPolicyExpiry"],
+      mapper: {
+        serializedName: "x-ms-immutability-policy-until-date",
+        xmlName: "x-ms-immutability-policy-until-date",
+        type: {
+          name: "DateTimeRfc1123"
         }
-        return "string" == typeof n2 ? n2.length > 0 && (s2[e2.textNodeName] = n2) : void 0 !== n2 && (s2[e2.textNodeName] = n2), s2;
       }
-      function J(t2) {
-        const e2 = Object.keys(t2);
-        for (let t3 = 0; t3 < e2.length; t3++) {
-          const i2 = e2[t3];
-          if (":@" !== i2) return i2;
+    };
+    exports2.immutabilityPolicyMode = {
+      parameterPath: ["options", "immutabilityPolicyMode"],
+      mapper: {
+        serializedName: "x-ms-immutability-policy-mode",
+        xmlName: "x-ms-immutability-policy-mode",
+        type: {
+          name: "Enum",
+          allowedValues: ["Mutable", "Unlocked", "Locked"]
         }
       }
-      function H(t2, e2, i2, n2) {
-        if (e2) {
-          const s2 = Object.keys(e2), r2 = s2.length;
-          for (let o2 = 0; o2 < r2; o2++) {
-            const r3 = s2[o2];
-            n2.isArray(r3, i2 + "." + r3, true, true) ? t2[r3] = [e2[r3]] : t2[r3] = e2[r3];
-          }
+    };
+    exports2.comp13 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "legalhold",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
       }
-      function tt(t2, e2) {
-        const { textNodeName: i2 } = e2, n2 = Object.keys(t2).length;
-        return 0 === n2 || !(1 !== n2 || !t2[i2] && "boolean" != typeof t2[i2] && 0 !== t2[i2]);
+    };
+    exports2.legalHold = {
+      parameterPath: "legalHold",
+      mapper: {
+        serializedName: "x-ms-legal-hold",
+        required: true,
+        xmlName: "x-ms-legal-hold",
+        type: {
+          name: "Boolean"
+        }
       }
-      class et {
-        constructor(t2) {
-          this.externalEntities = {}, this.options = (function(t3) {
-            return Object.assign({}, v, t3);
-          })(t2);
+    };
+    exports2.encryptionScope = {
+      parameterPath: ["options", "encryptionScope"],
+      mapper: {
+        serializedName: "x-ms-encryption-scope",
+        xmlName: "x-ms-encryption-scope",
+        type: {
+          name: "String"
         }
-        parse(t2, e2) {
-          if ("string" != typeof t2 && t2.toString) t2 = t2.toString();
-          else if ("string" != typeof t2) throw new Error("XML data is accepted in String or Bytes[] form.");
-          if (e2) {
-            true === e2 && (e2 = {});
-            const i3 = a(t2, e2);
-            if (true !== i3) throw Error(`${i3.err.msg}:${i3.err.line}:${i3.err.col}`);
-          }
-          const i2 = new D(this.options);
-          i2.addExternalEntities(this.externalEntities);
-          const n2 = i2.parseXml(t2);
-          return this.options.preserveOrder || void 0 === n2 ? n2 : Q(n2, this.options);
+      }
+    };
+    exports2.comp14 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "snapshot",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
-        addEntity(t2, e2) {
-          if (-1 !== e2.indexOf("&")) throw new Error("Entity value can't have '&'");
-          if (-1 !== t2.indexOf("&") || -1 !== t2.indexOf(";")) throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '
'");
-          if ("&" === e2) throw new Error("An entity with value '&' is not permitted");
-          this.externalEntities[t2] = e2;
+      }
+    };
+    exports2.tier = {
+      parameterPath: ["options", "tier"],
+      mapper: {
+        serializedName: "x-ms-access-tier",
+        xmlName: "x-ms-access-tier",
+        type: {
+          name: "Enum",
+          allowedValues: [
+            "P4",
+            "P6",
+            "P10",
+            "P15",
+            "P20",
+            "P30",
+            "P40",
+            "P50",
+            "P60",
+            "P70",
+            "P80",
+            "Hot",
+            "Cool",
+            "Archive",
+            "Cold"
+          ]
         }
-        static getMetaDataSymbol() {
-          return y.getMetaDataSymbol();
+      }
+    };
+    exports2.rehydratePriority = {
+      parameterPath: ["options", "rehydratePriority"],
+      mapper: {
+        serializedName: "x-ms-rehydrate-priority",
+        xmlName: "x-ms-rehydrate-priority",
+        type: {
+          name: "Enum",
+          allowedValues: ["High", "Standard"]
         }
       }
-      function it(t2, e2) {
-        let i2 = "";
-        return e2.format && e2.indentBy.length > 0 && (i2 = "\n"), nt(t2, e2, "", i2);
+    };
+    exports2.sourceIfModifiedSince = {
+      parameterPath: [
+        "options",
+        "sourceModifiedAccessConditions",
+        "sourceIfModifiedSince"
+      ],
+      mapper: {
+        serializedName: "x-ms-source-if-modified-since",
+        xmlName: "x-ms-source-if-modified-since",
+        type: {
+          name: "DateTimeRfc1123"
+        }
       }
-      function nt(t2, e2, i2, n2) {
-        let s2 = "", r2 = false;
-        for (let o2 = 0; o2 < t2.length; o2++) {
-          const a2 = t2[o2], l2 = st(a2);
-          if (void 0 === l2) continue;
-          let u2 = "";
-          if (u2 = 0 === i2.length ? l2 : `${i2}.${l2}`, l2 === e2.textNodeName) {
-            let t3 = a2[l2];
-            ot(u2, e2) || (t3 = e2.tagValueProcessor(l2, t3), t3 = at(t3, e2)), r2 && (s2 += n2), s2 += t3, r2 = false;
-            continue;
-          }
-          if (l2 === e2.cdataPropName) {
-            r2 && (s2 += n2), s2 += ``, r2 = false;
-            continue;
-          }
-          if (l2 === e2.commentPropName) {
-            s2 += n2 + ``, r2 = true;
-            continue;
-          }
-          if ("?" === l2[0]) {
-            const t3 = rt(a2[":@"], e2), i3 = "?xml" === l2 ? "" : n2;
-            let o3 = a2[l2][0][e2.textNodeName];
-            o3 = 0 !== o3.length ? " " + o3 : "", s2 += i3 + `<${l2}${o3}${t3}?>`, r2 = true;
-            continue;
-          }
-          let h2 = n2;
-          "" !== h2 && (h2 += e2.indentBy);
-          const d2 = n2 + `<${l2}${rt(a2[":@"], e2)}`, p2 = nt(a2[l2], e2, u2, h2);
-          -1 !== e2.unpairedTags.indexOf(l2) ? e2.suppressUnpairedNode ? s2 += d2 + ">" : s2 += d2 + "/>" : p2 && 0 !== p2.length || !e2.suppressEmptyNode ? p2 && p2.endsWith(">") ? s2 += d2 + `>${p2}${n2}` : (s2 += d2 + ">", p2 && "" !== n2 && (p2.includes("/>") || p2.includes("`) : s2 += d2 + "/>", r2 = true;
+    };
+    exports2.sourceIfUnmodifiedSince = {
+      parameterPath: [
+        "options",
+        "sourceModifiedAccessConditions",
+        "sourceIfUnmodifiedSince"
+      ],
+      mapper: {
+        serializedName: "x-ms-source-if-unmodified-since",
+        xmlName: "x-ms-source-if-unmodified-since",
+        type: {
+          name: "DateTimeRfc1123"
         }
-        return s2;
       }
-      function st(t2) {
-        const e2 = Object.keys(t2);
-        for (let i2 = 0; i2 < e2.length; i2++) {
-          const n2 = e2[i2];
-          if (t2.hasOwnProperty(n2) && ":@" !== n2) return n2;
+    };
+    exports2.sourceIfMatch = {
+      parameterPath: ["options", "sourceModifiedAccessConditions", "sourceIfMatch"],
+      mapper: {
+        serializedName: "x-ms-source-if-match",
+        xmlName: "x-ms-source-if-match",
+        type: {
+          name: "String"
         }
       }
-      function rt(t2, e2) {
-        let i2 = "";
-        if (t2 && !e2.ignoreAttributes) for (let n2 in t2) {
-          if (!t2.hasOwnProperty(n2)) continue;
-          let s2 = e2.attributeValueProcessor(n2, t2[n2]);
-          s2 = at(s2, e2), true === s2 && e2.suppressBooleanAttributes ? i2 += ` ${n2.substr(e2.attributeNamePrefix.length)}` : i2 += ` ${n2.substr(e2.attributeNamePrefix.length)}="${s2}"`;
+    };
+    exports2.sourceIfNoneMatch = {
+      parameterPath: [
+        "options",
+        "sourceModifiedAccessConditions",
+        "sourceIfNoneMatch"
+      ],
+      mapper: {
+        serializedName: "x-ms-source-if-none-match",
+        xmlName: "x-ms-source-if-none-match",
+        type: {
+          name: "String"
         }
-        return i2;
       }
-      function ot(t2, e2) {
-        let i2 = (t2 = t2.substr(0, t2.length - e2.textNodeName.length - 1)).substr(t2.lastIndexOf(".") + 1);
-        for (let n2 in e2.stopNodes) if (e2.stopNodes[n2] === t2 || e2.stopNodes[n2] === "*." + i2) return true;
-        return false;
+    };
+    exports2.sourceIfTags = {
+      parameterPath: ["options", "sourceModifiedAccessConditions", "sourceIfTags"],
+      mapper: {
+        serializedName: "x-ms-source-if-tags",
+        xmlName: "x-ms-source-if-tags",
+        type: {
+          name: "String"
+        }
       }
-      function at(t2, e2) {
-        if (t2 && t2.length > 0 && e2.processEntities) for (let i2 = 0; i2 < e2.entities.length; i2++) {
-          const n2 = e2.entities[i2];
-          t2 = t2.replace(n2.regex, n2.val);
+    };
+    exports2.copySource = {
+      parameterPath: "copySource",
+      mapper: {
+        serializedName: "x-ms-copy-source",
+        required: true,
+        xmlName: "x-ms-copy-source",
+        type: {
+          name: "String"
         }
-        return t2;
       }
-      const lt = { attributeNamePrefix: "@_", attributesGroupName: false, textNodeName: "#text", ignoreAttributes: true, cdataPropName: false, format: false, indentBy: "  ", suppressEmptyNode: false, suppressUnpairedNode: true, suppressBooleanAttributes: true, tagValueProcessor: function(t2, e2) {
-        return e2;
-      }, attributeValueProcessor: function(t2, e2) {
-        return e2;
-      }, preserveOrder: false, commentPropName: false, unpairedTags: [], entities: [{ regex: new RegExp("&", "g"), val: "&" }, { regex: new RegExp(">", "g"), val: ">" }, { regex: new RegExp("<", "g"), val: "<" }, { regex: new RegExp("'", "g"), val: "'" }, { regex: new RegExp('"', "g"), val: """ }], processEntities: true, stopNodes: [], oneListGroup: false };
-      function ut(t2) {
-        this.options = Object.assign({}, lt, t2), true === this.options.ignoreAttributes || this.options.attributesGroupName ? this.isAttribute = function() {
-          return false;
-        } : (this.ignoreAttributesFn = $(this.options.ignoreAttributes), this.attrPrefixLen = this.options.attributeNamePrefix.length, this.isAttribute = pt), this.processTextOrObjNode = ht, this.options.format ? (this.indentate = dt, this.tagEndChar = ">\n", this.newLine = "\n") : (this.indentate = function() {
-          return "";
-        }, this.tagEndChar = ">", this.newLine = "");
+    };
+    exports2.blobTagsString = {
+      parameterPath: ["options", "blobTagsString"],
+      mapper: {
+        serializedName: "x-ms-tags",
+        xmlName: "x-ms-tags",
+        type: {
+          name: "String"
+        }
       }
-      function ht(t2, e2, i2, n2) {
-        const s2 = this.j2x(t2, i2 + 1, n2.concat(e2));
-        return void 0 !== t2[this.options.textNodeName] && 1 === Object.keys(t2).length ? this.buildTextValNode(t2[this.options.textNodeName], e2, s2.attrStr, i2) : this.buildObjectNode(s2.val, e2, s2.attrStr, i2);
+    };
+    exports2.sealBlob = {
+      parameterPath: ["options", "sealBlob"],
+      mapper: {
+        serializedName: "x-ms-seal-blob",
+        xmlName: "x-ms-seal-blob",
+        type: {
+          name: "Boolean"
+        }
       }
-      function dt(t2) {
-        return this.options.indentBy.repeat(t2);
+    };
+    exports2.legalHold1 = {
+      parameterPath: ["options", "legalHold"],
+      mapper: {
+        serializedName: "x-ms-legal-hold",
+        xmlName: "x-ms-legal-hold",
+        type: {
+          name: "Boolean"
+        }
       }
-      function pt(t2) {
-        return !(!t2.startsWith(this.options.attributeNamePrefix) || t2 === this.options.textNodeName) && t2.substr(this.attrPrefixLen);
+    };
+    exports2.xMsRequiresSync = {
+      parameterPath: "xMsRequiresSync",
+      mapper: {
+        defaultValue: "true",
+        isConstant: true,
+        serializedName: "x-ms-requires-sync",
+        type: {
+          name: "String"
+        }
       }
-      ut.prototype.build = function(t2) {
-        return this.options.preserveOrder ? it(t2, this.options) : (Array.isArray(t2) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1 && (t2 = { [this.options.arrayNodeName]: t2 }), this.j2x(t2, 0, []).val);
-      }, ut.prototype.j2x = function(t2, e2, i2) {
-        let n2 = "", s2 = "";
-        const r2 = i2.join(".");
-        for (let o2 in t2) if (Object.prototype.hasOwnProperty.call(t2, o2)) if (void 0 === t2[o2]) this.isAttribute(o2) && (s2 += "");
-        else if (null === t2[o2]) this.isAttribute(o2) || o2 === this.options.cdataPropName ? s2 += "" : "?" === o2[0] ? s2 += this.indentate(e2) + "<" + o2 + "?" + this.tagEndChar : s2 += this.indentate(e2) + "<" + o2 + "/" + this.tagEndChar;
-        else if (t2[o2] instanceof Date) s2 += this.buildTextValNode(t2[o2], o2, "", e2);
-        else if ("object" != typeof t2[o2]) {
-          const i3 = this.isAttribute(o2);
-          if (i3 && !this.ignoreAttributesFn(i3, r2)) n2 += this.buildAttrPairStr(i3, "" + t2[o2]);
-          else if (!i3) if (o2 === this.options.textNodeName) {
-            let e3 = this.options.tagValueProcessor(o2, "" + t2[o2]);
-            s2 += this.replaceEntitiesValue(e3);
-          } else s2 += this.buildTextValNode(t2[o2], o2, "", e2);
-        } else if (Array.isArray(t2[o2])) {
-          const n3 = t2[o2].length;
-          let r3 = "", a2 = "";
-          for (let l2 = 0; l2 < n3; l2++) {
-            const n4 = t2[o2][l2];
-            if (void 0 === n4) ;
-            else if (null === n4) "?" === o2[0] ? s2 += this.indentate(e2) + "<" + o2 + "?" + this.tagEndChar : s2 += this.indentate(e2) + "<" + o2 + "/" + this.tagEndChar;
-            else if ("object" == typeof n4) if (this.options.oneListGroup) {
-              const t3 = this.j2x(n4, e2 + 1, i2.concat(o2));
-              r3 += t3.val, this.options.attributesGroupName && n4.hasOwnProperty(this.options.attributesGroupName) && (a2 += t3.attrStr);
-            } else r3 += this.processTextOrObjNode(n4, o2, e2, i2);
-            else if (this.options.oneListGroup) {
-              let t3 = this.options.tagValueProcessor(o2, n4);
-              t3 = this.replaceEntitiesValue(t3), r3 += t3;
-            } else r3 += this.buildTextValNode(n4, o2, "", e2);
-          }
-          this.options.oneListGroup && (r3 = this.buildObjectNode(r3, o2, a2, e2)), s2 += r3;
-        } else if (this.options.attributesGroupName && o2 === this.options.attributesGroupName) {
-          const e3 = Object.keys(t2[o2]), i3 = e3.length;
-          for (let s3 = 0; s3 < i3; s3++) n2 += this.buildAttrPairStr(e3[s3], "" + t2[o2][e3[s3]]);
-        } else s2 += this.processTextOrObjNode(t2[o2], o2, e2, i2);
-        return { attrStr: n2, val: s2 };
-      }, ut.prototype.buildAttrPairStr = function(t2, e2) {
-        return e2 = this.options.attributeValueProcessor(t2, "" + e2), e2 = this.replaceEntitiesValue(e2), this.options.suppressBooleanAttributes && "true" === e2 ? " " + t2 : " " + t2 + '="' + e2 + '"';
-      }, ut.prototype.buildObjectNode = function(t2, e2, i2, n2) {
-        if ("" === t2) return "?" === e2[0] ? this.indentate(n2) + "<" + e2 + i2 + "?" + this.tagEndChar : this.indentate(n2) + "<" + e2 + i2 + this.closeTag(e2) + this.tagEndChar;
-        {
-          let s2 = "` + this.newLine : this.indentate(n2) + "<" + e2 + i2 + r2 + this.tagEndChar + t2 + this.indentate(n2) + s2 : this.indentate(n2) + "<" + e2 + i2 + r2 + ">" + t2 + s2;
+    };
+    exports2.sourceContentMD5 = {
+      parameterPath: ["options", "sourceContentMD5"],
+      mapper: {
+        serializedName: "x-ms-source-content-md5",
+        xmlName: "x-ms-source-content-md5",
+        type: {
+          name: "ByteArray"
         }
-      }, ut.prototype.closeTag = function(t2) {
-        let e2 = "";
-        return -1 !== this.options.unpairedTags.indexOf(t2) ? this.options.suppressUnpairedNode || (e2 = "/") : e2 = this.options.suppressEmptyNode ? "/" : `>` + this.newLine;
-        if (false !== this.options.commentPropName && e2 === this.options.commentPropName) return this.indentate(n2) + `` + this.newLine;
-        if ("?" === e2[0]) return this.indentate(n2) + "<" + e2 + i2 + "?" + this.tagEndChar;
-        {
-          let s2 = this.options.tagValueProcessor(e2, t2);
-          return s2 = this.replaceEntitiesValue(s2), "" === s2 ? this.indentate(n2) + "<" + e2 + i2 + this.closeTag(e2) + this.tagEndChar : this.indentate(n2) + "<" + e2 + i2 + ">" + s2 + " 0 && this.options.processEntities) for (let e2 = 0; e2 < this.options.entities.length; e2++) {
-          const i2 = this.options.entities[e2];
-          t2 = t2.replace(i2.regex, i2.val);
+      }
+    };
+    exports2.copySourceTags = {
+      parameterPath: ["options", "copySourceTags"],
+      mapper: {
+        serializedName: "x-ms-copy-source-tag-option",
+        xmlName: "x-ms-copy-source-tag-option",
+        type: {
+          name: "Enum",
+          allowedValues: ["REPLACE", "COPY"]
         }
-        return t2;
-      };
-      const ft = { validate: a };
-      module2.exports = e;
-    })();
-  }
-});
-
-// node_modules/@azure/core-xml/dist/commonjs/xml.common.js
-var require_xml_common = __commonJS({
-  "node_modules/@azure/core-xml/dist/commonjs/xml.common.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.XML_CHARKEY = exports2.XML_ATTRKEY = void 0;
-    exports2.XML_ATTRKEY = "$";
-    exports2.XML_CHARKEY = "_";
-  }
-});
-
-// node_modules/@azure/core-xml/dist/commonjs/xml.js
-var require_xml = __commonJS({
-  "node_modules/@azure/core-xml/dist/commonjs/xml.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.stringifyXML = stringifyXML;
-    exports2.parseXML = parseXML;
-    var fast_xml_parser_1 = require_fxp();
-    var xml_common_js_1 = require_xml_common();
-    function getCommonOptions(options) {
-      var _a;
-      return {
-        attributesGroupName: xml_common_js_1.XML_ATTRKEY,
-        textNodeName: (_a = options.xmlCharKey) !== null && _a !== void 0 ? _a : xml_common_js_1.XML_CHARKEY,
-        ignoreAttributes: false,
-        suppressBooleanAttributes: false
-      };
-    }
-    function getSerializerOptions(options = {}) {
-      var _a, _b;
-      return Object.assign(Object.assign({}, getCommonOptions(options)), { attributeNamePrefix: "@_", format: true, suppressEmptyNode: true, indentBy: "", rootNodeName: (_a = options.rootName) !== null && _a !== void 0 ? _a : "root", cdataPropName: (_b = options.cdataPropName) !== null && _b !== void 0 ? _b : "__cdata" });
-    }
-    function getParserOptions(options = {}) {
-      return Object.assign(Object.assign({}, getCommonOptions(options)), { parseAttributeValue: false, parseTagValue: false, attributeNamePrefix: "", stopNodes: options.stopNodes, processEntities: true, trimValues: false });
-    }
-    function stringifyXML(obj, opts = {}) {
-      const parserOptions = getSerializerOptions(opts);
-      const j2x = new fast_xml_parser_1.XMLBuilder(parserOptions);
-      const node = { [parserOptions.rootNodeName]: obj };
-      const xmlData = j2x.build(node);
-      return `${xmlData}`.replace(/\n/g, "");
-    }
-    async function parseXML(str2, opts = {}) {
-      if (!str2) {
-        throw new Error("Document is empty");
       }
-      const validation = fast_xml_parser_1.XMLValidator.validate(str2);
-      if (validation !== true) {
-        throw validation;
+    };
+    exports2.fileRequestIntent = {
+      parameterPath: ["options", "fileRequestIntent"],
+      mapper: {
+        serializedName: "x-ms-file-request-intent",
+        xmlName: "x-ms-file-request-intent",
+        type: {
+          name: "String"
+        }
+      }
+    };
+    exports2.comp15 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "copy",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
+      }
+    };
+    exports2.copyActionAbortConstant = {
+      parameterPath: "copyActionAbortConstant",
+      mapper: {
+        defaultValue: "abort",
+        isConstant: true,
+        serializedName: "x-ms-copy-action",
+        type: {
+          name: "String"
+        }
       }
-      const parser = new fast_xml_parser_1.XMLParser(getParserOptions(opts));
-      const parsedXml = parser.parse(str2);
-      if (parsedXml["?xml"]) {
-        delete parsedXml["?xml"];
+    };
+    exports2.copyId = {
+      parameterPath: "copyId",
+      mapper: {
+        serializedName: "copyid",
+        required: true,
+        xmlName: "copyid",
+        type: {
+          name: "String"
+        }
       }
-      if (!opts.includeRoot) {
-        for (const key of Object.keys(parsedXml)) {
-          const value = parsedXml[key];
-          return typeof value === "object" ? Object.assign({}, value) : value;
+    };
+    exports2.comp16 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "tier",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
       }
-      return parsedXml;
-    }
-  }
-});
-
-// node_modules/@azure/core-xml/dist/commonjs/index.js
-var require_commonjs10 = __commonJS({
-  "node_modules/@azure/core-xml/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.XML_CHARKEY = exports2.XML_ATTRKEY = exports2.parseXML = exports2.stringifyXML = void 0;
-    var xml_js_1 = require_xml();
-    Object.defineProperty(exports2, "stringifyXML", { enumerable: true, get: function() {
-      return xml_js_1.stringifyXML;
-    } });
-    Object.defineProperty(exports2, "parseXML", { enumerable: true, get: function() {
-      return xml_js_1.parseXML;
-    } });
-    var xml_common_js_1 = require_xml_common();
-    Object.defineProperty(exports2, "XML_ATTRKEY", { enumerable: true, get: function() {
-      return xml_common_js_1.XML_ATTRKEY;
-    } });
-    Object.defineProperty(exports2, "XML_CHARKEY", { enumerable: true, get: function() {
-      return xml_common_js_1.XML_CHARKEY;
-    } });
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/log.js
-var require_log5 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/log.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.logger = void 0;
-    var logger_1 = require_commonjs2();
-    exports2.logger = (0, logger_1.createClientLogger)("storage-blob");
-  }
-});
-
-// node_modules/@azure/storage-blob/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js
-var require_AbortError3 = __commonJS({
-  "node_modules/@azure/storage-blob/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AbortError = void 0;
-    var AbortError = class extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "AbortError";
+    };
+    exports2.tier1 = {
+      parameterPath: "tier",
+      mapper: {
+        serializedName: "x-ms-access-tier",
+        required: true,
+        xmlName: "x-ms-access-tier",
+        type: {
+          name: "Enum",
+          allowedValues: [
+            "P4",
+            "P6",
+            "P10",
+            "P15",
+            "P20",
+            "P30",
+            "P40",
+            "P50",
+            "P60",
+            "P70",
+            "P80",
+            "Hot",
+            "Cool",
+            "Archive",
+            "Cold"
+          ]
+        }
       }
     };
-    exports2.AbortError = AbortError;
-  }
-});
-
-// node_modules/@azure/storage-blob/node_modules/@azure/abort-controller/dist/commonjs/index.js
-var require_commonjs11 = __commonJS({
-  "node_modules/@azure/storage-blob/node_modules/@azure/abort-controller/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AbortError = void 0;
-    var AbortError_js_1 = require_AbortError3();
-    Object.defineProperty(exports2, "AbortError", { enumerable: true, get: function() {
-      return AbortError_js_1.AbortError;
-    } });
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/policies/RequestPolicy.js
-var require_RequestPolicy = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/RequestPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BaseRequestPolicy = void 0;
-    var BaseRequestPolicy = class {
-      _nextPolicy;
-      _options;
-      /**
-       * The main method to implement that manipulates a request/response.
-       */
-      constructor(_nextPolicy, _options) {
-        this._nextPolicy = _nextPolicy;
-        this._options = _options;
+    exports2.queryRequest = {
+      parameterPath: ["options", "queryRequest"],
+      mapper: mappers_js_1.QueryRequest
+    };
+    exports2.comp17 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "query",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
       }
-      /**
-       * Get whether or not a log with the provided log level should be logged.
-       * @param logLevel - The log level of the log that will be logged.
-       * @returns Whether or not a log with the provided log level should be logged.
-       */
-      shouldLog(logLevel) {
-        return this._options.shouldLog(logLevel);
+    };
+    exports2.comp18 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "tags",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
       }
-      /**
-       * Attempt to log the provided message to the provided logger. If no logger was provided or if
-       * the log level does not meat the logger's threshold, then nothing will be logged.
-       * @param logLevel - The log level of this log.
-       * @param message - The message of this log.
-       */
-      log(logLevel, message) {
-        this._options.log(logLevel, message);
+    };
+    exports2.tags = {
+      parameterPath: ["options", "tags"],
+      mapper: mappers_js_1.BlobTags
+    };
+    exports2.transactionalContentMD5 = {
+      parameterPath: ["options", "transactionalContentMD5"],
+      mapper: {
+        serializedName: "Content-MD5",
+        xmlName: "Content-MD5",
+        type: {
+          name: "ByteArray"
+        }
       }
     };
-    exports2.BaseRequestPolicy = BaseRequestPolicy;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/utils/constants.js
-var require_constants15 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/constants.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.PathStylePorts = exports2.BlobDoesNotUseCustomerSpecifiedEncryption = exports2.BlobUsesCustomerSpecifiedEncryptionMsg = exports2.StorageBlobLoggingAllowedQueryParameters = exports2.StorageBlobLoggingAllowedHeaderNames = exports2.DevelopmentConnectionString = exports2.EncryptionAlgorithmAES25 = exports2.HTTP_VERSION_1_1 = exports2.HTTP_LINE_ENDING = exports2.BATCH_MAX_PAYLOAD_IN_BYTES = exports2.BATCH_MAX_REQUEST = exports2.SIZE_1_MB = exports2.ETagAny = exports2.ETagNone = exports2.HeaderConstants = exports2.HTTPURLConnection = exports2.URLConstants = exports2.StorageOAuthScopes = exports2.REQUEST_TIMEOUT = exports2.DEFAULT_MAX_DOWNLOAD_RETRY_REQUESTS = exports2.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES = exports2.DEFAULT_BLOCK_BUFFER_SIZE_BYTES = exports2.BLOCK_BLOB_MAX_BLOCKS = exports2.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES = exports2.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES = exports2.SERVICE_VERSION = exports2.SDK_VERSION = void 0;
-    exports2.SDK_VERSION = "12.29.1";
-    exports2.SERVICE_VERSION = "2025-11-05";
-    exports2.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES = 256 * 1024 * 1024;
-    exports2.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES = 4e3 * 1024 * 1024;
-    exports2.BLOCK_BLOB_MAX_BLOCKS = 5e4;
-    exports2.DEFAULT_BLOCK_BUFFER_SIZE_BYTES = 8 * 1024 * 1024;
-    exports2.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES = 4 * 1024 * 1024;
-    exports2.DEFAULT_MAX_DOWNLOAD_RETRY_REQUESTS = 5;
-    exports2.REQUEST_TIMEOUT = 100 * 1e3;
-    exports2.StorageOAuthScopes = "https://storage.azure.com/.default";
-    exports2.URLConstants = {
-      Parameters: {
-        FORCE_BROWSER_NO_CACHE: "_",
-        SIGNATURE: "sig",
-        SNAPSHOT: "snapshot",
-        VERSIONID: "versionid",
-        TIMEOUT: "timeout"
+    exports2.transactionalContentCrc64 = {
+      parameterPath: ["options", "transactionalContentCrc64"],
+      mapper: {
+        serializedName: "x-ms-content-crc64",
+        xmlName: "x-ms-content-crc64",
+        type: {
+          name: "ByteArray"
+        }
       }
     };
-    exports2.HTTPURLConnection = {
-      HTTP_ACCEPTED: 202,
-      HTTP_CONFLICT: 409,
-      HTTP_NOT_FOUND: 404,
-      HTTP_PRECON_FAILED: 412,
-      HTTP_RANGE_NOT_SATISFIABLE: 416
+    exports2.blobType = {
+      parameterPath: "blobType",
+      mapper: {
+        defaultValue: "PageBlob",
+        isConstant: true,
+        serializedName: "x-ms-blob-type",
+        type: {
+          name: "String"
+        }
+      }
     };
-    exports2.HeaderConstants = {
-      AUTHORIZATION: "Authorization",
-      AUTHORIZATION_SCHEME: "Bearer",
-      CONTENT_ENCODING: "Content-Encoding",
-      CONTENT_ID: "Content-ID",
-      CONTENT_LANGUAGE: "Content-Language",
-      CONTENT_LENGTH: "Content-Length",
-      CONTENT_MD5: "Content-Md5",
-      CONTENT_TRANSFER_ENCODING: "Content-Transfer-Encoding",
-      CONTENT_TYPE: "Content-Type",
-      COOKIE: "Cookie",
-      DATE: "date",
-      IF_MATCH: "if-match",
-      IF_MODIFIED_SINCE: "if-modified-since",
-      IF_NONE_MATCH: "if-none-match",
-      IF_UNMODIFIED_SINCE: "if-unmodified-since",
-      PREFIX_FOR_STORAGE: "x-ms-",
-      RANGE: "Range",
-      USER_AGENT: "User-Agent",
-      X_MS_CLIENT_REQUEST_ID: "x-ms-client-request-id",
-      X_MS_COPY_SOURCE: "x-ms-copy-source",
-      X_MS_DATE: "x-ms-date",
-      X_MS_ERROR_CODE: "x-ms-error-code",
-      X_MS_VERSION: "x-ms-version",
-      X_MS_CopySourceErrorCode: "x-ms-copy-source-error-code"
+    exports2.blobContentLength = {
+      parameterPath: "blobContentLength",
+      mapper: {
+        serializedName: "x-ms-blob-content-length",
+        required: true,
+        xmlName: "x-ms-blob-content-length",
+        type: {
+          name: "Number"
+        }
+      }
     };
-    exports2.ETagNone = "";
-    exports2.ETagAny = "*";
-    exports2.SIZE_1_MB = 1 * 1024 * 1024;
-    exports2.BATCH_MAX_REQUEST = 256;
-    exports2.BATCH_MAX_PAYLOAD_IN_BYTES = 4 * exports2.SIZE_1_MB;
-    exports2.HTTP_LINE_ENDING = "\r\n";
-    exports2.HTTP_VERSION_1_1 = "HTTP/1.1";
-    exports2.EncryptionAlgorithmAES25 = "AES256";
-    exports2.DevelopmentConnectionString = `DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;`;
-    exports2.StorageBlobLoggingAllowedHeaderNames = [
-      "Access-Control-Allow-Origin",
-      "Cache-Control",
-      "Content-Length",
-      "Content-Type",
-      "Date",
-      "Request-Id",
-      "traceparent",
-      "Transfer-Encoding",
-      "User-Agent",
-      "x-ms-client-request-id",
-      "x-ms-date",
-      "x-ms-error-code",
-      "x-ms-request-id",
-      "x-ms-return-client-request-id",
-      "x-ms-version",
-      "Accept-Ranges",
-      "Content-Disposition",
-      "Content-Encoding",
-      "Content-Language",
-      "Content-MD5",
-      "Content-Range",
-      "ETag",
-      "Last-Modified",
-      "Server",
-      "Vary",
-      "x-ms-content-crc64",
-      "x-ms-copy-action",
-      "x-ms-copy-completion-time",
-      "x-ms-copy-id",
-      "x-ms-copy-progress",
-      "x-ms-copy-status",
-      "x-ms-has-immutability-policy",
-      "x-ms-has-legal-hold",
-      "x-ms-lease-state",
-      "x-ms-lease-status",
-      "x-ms-range",
-      "x-ms-request-server-encrypted",
-      "x-ms-server-encrypted",
-      "x-ms-snapshot",
-      "x-ms-source-range",
-      "If-Match",
-      "If-Modified-Since",
-      "If-None-Match",
-      "If-Unmodified-Since",
-      "x-ms-access-tier",
-      "x-ms-access-tier-change-time",
-      "x-ms-access-tier-inferred",
-      "x-ms-account-kind",
-      "x-ms-archive-status",
-      "x-ms-blob-append-offset",
-      "x-ms-blob-cache-control",
-      "x-ms-blob-committed-block-count",
-      "x-ms-blob-condition-appendpos",
-      "x-ms-blob-condition-maxsize",
-      "x-ms-blob-content-disposition",
-      "x-ms-blob-content-encoding",
-      "x-ms-blob-content-language",
-      "x-ms-blob-content-length",
-      "x-ms-blob-content-md5",
-      "x-ms-blob-content-type",
-      "x-ms-blob-public-access",
-      "x-ms-blob-sequence-number",
-      "x-ms-blob-type",
-      "x-ms-copy-destination-snapshot",
-      "x-ms-creation-time",
-      "x-ms-default-encryption-scope",
-      "x-ms-delete-snapshots",
-      "x-ms-delete-type-permanent",
-      "x-ms-deny-encryption-scope-override",
-      "x-ms-encryption-algorithm",
-      "x-ms-if-sequence-number-eq",
-      "x-ms-if-sequence-number-le",
-      "x-ms-if-sequence-number-lt",
-      "x-ms-incremental-copy",
-      "x-ms-lease-action",
-      "x-ms-lease-break-period",
-      "x-ms-lease-duration",
-      "x-ms-lease-id",
-      "x-ms-lease-time",
-      "x-ms-page-write",
-      "x-ms-proposed-lease-id",
-      "x-ms-range-get-content-md5",
-      "x-ms-rehydrate-priority",
-      "x-ms-sequence-number-action",
-      "x-ms-sku-name",
-      "x-ms-source-content-md5",
-      "x-ms-source-if-match",
-      "x-ms-source-if-modified-since",
-      "x-ms-source-if-none-match",
-      "x-ms-source-if-unmodified-since",
-      "x-ms-tag-count",
-      "x-ms-encryption-key-sha256",
-      "x-ms-copy-source-error-code",
-      "x-ms-copy-source-status-code",
-      "x-ms-if-tags",
-      "x-ms-source-if-tags"
-    ];
-    exports2.StorageBlobLoggingAllowedQueryParameters = [
-      "comp",
-      "maxresults",
-      "rscc",
-      "rscd",
-      "rsce",
-      "rscl",
-      "rsct",
-      "se",
-      "si",
-      "sip",
-      "sp",
-      "spr",
-      "sr",
-      "srt",
-      "ss",
-      "st",
-      "sv",
-      "include",
-      "marker",
-      "prefix",
-      "copyid",
-      "restype",
-      "blockid",
-      "blocklisttype",
-      "delimiter",
-      "prevsnapshot",
-      "ske",
-      "skoid",
-      "sks",
-      "skt",
-      "sktid",
-      "skv",
-      "snapshot"
-    ];
-    exports2.BlobUsesCustomerSpecifiedEncryptionMsg = "BlobUsesCustomerSpecifiedEncryption";
-    exports2.BlobDoesNotUseCustomerSpecifiedEncryption = "BlobDoesNotUseCustomerSpecifiedEncryption";
-    exports2.PathStylePorts = [
-      "10000",
-      "10001",
-      "10002",
-      "10003",
-      "10004",
-      "10100",
-      "10101",
-      "10102",
-      "10103",
-      "10104",
-      "11000",
-      "11001",
-      "11002",
-      "11003",
-      "11004",
-      "11100",
-      "11101",
-      "11102",
-      "11103",
-      "11104"
-    ];
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/utils/utils.common.js
-var require_utils_common = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/utils.common.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.escapeURLPath = escapeURLPath;
-    exports2.getValueInConnString = getValueInConnString;
-    exports2.extractConnectionStringParts = extractConnectionStringParts;
-    exports2.appendToURLPath = appendToURLPath;
-    exports2.setURLParameter = setURLParameter;
-    exports2.getURLParameter = getURLParameter;
-    exports2.setURLHost = setURLHost;
-    exports2.getURLPath = getURLPath;
-    exports2.getURLScheme = getURLScheme;
-    exports2.getURLPathAndQuery = getURLPathAndQuery;
-    exports2.getURLQueries = getURLQueries;
-    exports2.appendToURLQuery = appendToURLQuery;
-    exports2.truncatedISO8061Date = truncatedISO8061Date;
-    exports2.base64encode = base64encode;
-    exports2.base64decode = base64decode;
-    exports2.generateBlockID = generateBlockID;
-    exports2.delay = delay;
-    exports2.padStart = padStart2;
-    exports2.sanitizeURL = sanitizeURL;
-    exports2.sanitizeHeaders = sanitizeHeaders;
-    exports2.iEqual = iEqual;
-    exports2.getAccountNameFromUrl = getAccountNameFromUrl;
-    exports2.isIpEndpointStyle = isIpEndpointStyle;
-    exports2.toBlobTagsString = toBlobTagsString;
-    exports2.toBlobTags = toBlobTags;
-    exports2.toTags = toTags;
-    exports2.toQuerySerialization = toQuerySerialization;
-    exports2.parseObjectReplicationRecord = parseObjectReplicationRecord;
-    exports2.attachCredential = attachCredential;
-    exports2.httpAuthorizationToString = httpAuthorizationToString;
-    exports2.BlobNameToString = BlobNameToString;
-    exports2.ConvertInternalResponseOfListBlobFlat = ConvertInternalResponseOfListBlobFlat;
-    exports2.ConvertInternalResponseOfListBlobHierarchy = ConvertInternalResponseOfListBlobHierarchy;
-    exports2.ExtractPageRangeInfoItems = ExtractPageRangeInfoItems;
-    exports2.EscapePath = EscapePath;
-    exports2.assertResponse = assertResponse;
-    var core_rest_pipeline_1 = require_commonjs6();
-    var core_util_1 = require_commonjs4();
-    var constants_js_1 = require_constants15();
-    function escapeURLPath(url) {
-      const urlParsed = new URL(url);
-      let path4 = urlParsed.pathname;
-      path4 = path4 || "/";
-      path4 = escape(path4);
-      urlParsed.pathname = path4;
-      return urlParsed.toString();
-    }
-    function getProxyUriFromDevConnString(connectionString) {
-      let proxyUri = "";
-      if (connectionString.search("DevelopmentStorageProxyUri=") !== -1) {
-        const matchCredentials = connectionString.split(";");
-        for (const element of matchCredentials) {
-          if (element.trim().startsWith("DevelopmentStorageProxyUri=")) {
-            proxyUri = element.trim().match("DevelopmentStorageProxyUri=(.*)")[1];
-          }
+    exports2.blobSequenceNumber = {
+      parameterPath: ["options", "blobSequenceNumber"],
+      mapper: {
+        defaultValue: 0,
+        serializedName: "x-ms-blob-sequence-number",
+        xmlName: "x-ms-blob-sequence-number",
+        type: {
+          name: "Number"
         }
       }
-      return proxyUri;
-    }
-    function getValueInConnString(connectionString, argument) {
-      const elements = connectionString.split(";");
-      for (const element of elements) {
-        if (element.trim().startsWith(argument)) {
-          return element.trim().match(argument + "=(.*)")[1];
+    };
+    exports2.contentType1 = {
+      parameterPath: ["options", "contentType"],
+      mapper: {
+        defaultValue: "application/octet-stream",
+        isConstant: true,
+        serializedName: "Content-Type",
+        type: {
+          name: "String"
         }
       }
-      return "";
-    }
-    function extractConnectionStringParts(connectionString) {
-      let proxyUri = "";
-      if (connectionString.startsWith("UseDevelopmentStorage=true")) {
-        proxyUri = getProxyUriFromDevConnString(connectionString);
-        connectionString = constants_js_1.DevelopmentConnectionString;
+    };
+    exports2.body1 = {
+      parameterPath: "body",
+      mapper: {
+        serializedName: "body",
+        required: true,
+        xmlName: "body",
+        type: {
+          name: "Stream"
+        }
       }
-      let blobEndpoint = getValueInConnString(connectionString, "BlobEndpoint");
-      blobEndpoint = blobEndpoint.endsWith("/") ? blobEndpoint.slice(0, -1) : blobEndpoint;
-      if (connectionString.search("DefaultEndpointsProtocol=") !== -1 && connectionString.search("AccountKey=") !== -1) {
-        let defaultEndpointsProtocol = "";
-        let accountName = "";
-        let accountKey = Buffer.from("accountKey", "base64");
-        let endpointSuffix = "";
-        accountName = getValueInConnString(connectionString, "AccountName");
-        accountKey = Buffer.from(getValueInConnString(connectionString, "AccountKey"), "base64");
-        if (!blobEndpoint) {
-          defaultEndpointsProtocol = getValueInConnString(connectionString, "DefaultEndpointsProtocol");
-          const protocol = defaultEndpointsProtocol.toLowerCase();
-          if (protocol !== "https" && protocol !== "http") {
-            throw new Error("Invalid DefaultEndpointsProtocol in the provided Connection String. Expecting 'https' or 'http'");
-          }
-          endpointSuffix = getValueInConnString(connectionString, "EndpointSuffix");
-          if (!endpointSuffix) {
-            throw new Error("Invalid EndpointSuffix in the provided Connection String");
-          }
-          blobEndpoint = `${defaultEndpointsProtocol}://${accountName}.blob.${endpointSuffix}`;
+    };
+    exports2.accept2 = {
+      parameterPath: "accept",
+      mapper: {
+        defaultValue: "application/xml",
+        isConstant: true,
+        serializedName: "Accept",
+        type: {
+          name: "String"
         }
-        if (!accountName) {
-          throw new Error("Invalid AccountName in the provided Connection String");
-        } else if (accountKey.length === 0) {
-          throw new Error("Invalid AccountKey in the provided Connection String");
+      }
+    };
+    exports2.comp19 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "page",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
-        return {
-          kind: "AccountConnString",
-          url: blobEndpoint,
-          accountName,
-          accountKey,
-          proxyUri
-        };
-      } else {
-        let accountSas = getValueInConnString(connectionString, "SharedAccessSignature");
-        let accountName = getValueInConnString(connectionString, "AccountName");
-        if (!accountName) {
-          accountName = getAccountNameFromUrl(blobEndpoint);
+      }
+    };
+    exports2.pageWrite = {
+      parameterPath: "pageWrite",
+      mapper: {
+        defaultValue: "update",
+        isConstant: true,
+        serializedName: "x-ms-page-write",
+        type: {
+          name: "String"
         }
-        if (!blobEndpoint) {
-          throw new Error("Invalid BlobEndpoint in the provided SAS Connection String");
-        } else if (!accountSas) {
-          throw new Error("Invalid SharedAccessSignature in the provided SAS Connection String");
+      }
+    };
+    exports2.ifSequenceNumberLessThanOrEqualTo = {
+      parameterPath: [
+        "options",
+        "sequenceNumberAccessConditions",
+        "ifSequenceNumberLessThanOrEqualTo"
+      ],
+      mapper: {
+        serializedName: "x-ms-if-sequence-number-le",
+        xmlName: "x-ms-if-sequence-number-le",
+        type: {
+          name: "Number"
         }
-        if (accountSas.startsWith("?")) {
-          accountSas = accountSas.substring(1);
+      }
+    };
+    exports2.ifSequenceNumberLessThan = {
+      parameterPath: [
+        "options",
+        "sequenceNumberAccessConditions",
+        "ifSequenceNumberLessThan"
+      ],
+      mapper: {
+        serializedName: "x-ms-if-sequence-number-lt",
+        xmlName: "x-ms-if-sequence-number-lt",
+        type: {
+          name: "Number"
         }
-        return { kind: "SASConnString", url: blobEndpoint, accountName, accountSas };
       }
-    }
-    function escape(text) {
-      return encodeURIComponent(text).replace(/%2F/g, "/").replace(/'/g, "%27").replace(/\+/g, "%20").replace(/%25/g, "%");
-    }
-    function appendToURLPath(url, name) {
-      const urlParsed = new URL(url);
-      let path4 = urlParsed.pathname;
-      path4 = path4 ? path4.endsWith("/") ? `${path4}${name}` : `${path4}/${name}` : name;
-      urlParsed.pathname = path4;
-      return urlParsed.toString();
-    }
-    function setURLParameter(url, name, value) {
-      const urlParsed = new URL(url);
-      const encodedName = encodeURIComponent(name);
-      const encodedValue = value ? encodeURIComponent(value) : void 0;
-      const searchString = urlParsed.search === "" ? "?" : urlParsed.search;
-      const searchPieces = [];
-      for (const pair of searchString.slice(1).split("&")) {
-        if (pair) {
-          const [key] = pair.split("=", 2);
-          if (key !== encodedName) {
-            searchPieces.push(pair);
-          }
+    };
+    exports2.ifSequenceNumberEqualTo = {
+      parameterPath: [
+        "options",
+        "sequenceNumberAccessConditions",
+        "ifSequenceNumberEqualTo"
+      ],
+      mapper: {
+        serializedName: "x-ms-if-sequence-number-eq",
+        xmlName: "x-ms-if-sequence-number-eq",
+        type: {
+          name: "Number"
         }
       }
-      if (encodedValue) {
-        searchPieces.push(`${encodedName}=${encodedValue}`);
+    };
+    exports2.pageWrite1 = {
+      parameterPath: "pageWrite",
+      mapper: {
+        defaultValue: "clear",
+        isConstant: true,
+        serializedName: "x-ms-page-write",
+        type: {
+          name: "String"
+        }
       }
-      urlParsed.search = searchPieces.length ? `?${searchPieces.join("&")}` : "";
-      return urlParsed.toString();
-    }
-    function getURLParameter(url, name) {
-      const urlParsed = new URL(url);
-      return urlParsed.searchParams.get(name) ?? void 0;
-    }
-    function setURLHost(url, host) {
-      const urlParsed = new URL(url);
-      urlParsed.hostname = host;
-      return urlParsed.toString();
-    }
-    function getURLPath(url) {
-      try {
-        const urlParsed = new URL(url);
-        return urlParsed.pathname;
-      } catch (e) {
-        return void 0;
+    };
+    exports2.sourceUrl = {
+      parameterPath: "sourceUrl",
+      mapper: {
+        serializedName: "x-ms-copy-source",
+        required: true,
+        xmlName: "x-ms-copy-source",
+        type: {
+          name: "String"
+        }
       }
-    }
-    function getURLScheme(url) {
-      try {
-        const urlParsed = new URL(url);
-        return urlParsed.protocol.endsWith(":") ? urlParsed.protocol.slice(0, -1) : urlParsed.protocol;
-      } catch (e) {
-        return void 0;
+    };
+    exports2.sourceRange = {
+      parameterPath: "sourceRange",
+      mapper: {
+        serializedName: "x-ms-source-range",
+        required: true,
+        xmlName: "x-ms-source-range",
+        type: {
+          name: "String"
+        }
       }
-    }
-    function getURLPathAndQuery(url) {
-      const urlParsed = new URL(url);
-      const pathString = urlParsed.pathname;
-      if (!pathString) {
-        throw new RangeError("Invalid url without valid path.");
+    };
+    exports2.sourceContentCrc64 = {
+      parameterPath: ["options", "sourceContentCrc64"],
+      mapper: {
+        serializedName: "x-ms-source-content-crc64",
+        xmlName: "x-ms-source-content-crc64",
+        type: {
+          name: "ByteArray"
+        }
       }
-      let queryString = urlParsed.search || "";
-      queryString = queryString.trim();
-      if (queryString !== "") {
-        queryString = queryString.startsWith("?") ? queryString : `?${queryString}`;
+    };
+    exports2.range1 = {
+      parameterPath: "range",
+      mapper: {
+        serializedName: "x-ms-range",
+        required: true,
+        xmlName: "x-ms-range",
+        type: {
+          name: "String"
+        }
       }
-      return `${pathString}${queryString}`;
-    }
-    function getURLQueries(url) {
-      let queryString = new URL(url).search;
-      if (!queryString) {
-        return {};
+    };
+    exports2.comp20 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "pagelist",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
       }
-      queryString = queryString.trim();
-      queryString = queryString.startsWith("?") ? queryString.substring(1) : queryString;
-      let querySubStrings = queryString.split("&");
-      querySubStrings = querySubStrings.filter((value) => {
-        const indexOfEqual = value.indexOf("=");
-        const lastIndexOfEqual = value.lastIndexOf("=");
-        return indexOfEqual > 0 && indexOfEqual === lastIndexOfEqual && lastIndexOfEqual < value.length - 1;
-      });
-      const queries = {};
-      for (const querySubString of querySubStrings) {
-        const splitResults = querySubString.split("=");
-        const key = splitResults[0];
-        const value = splitResults[1];
-        queries[key] = value;
+    };
+    exports2.prevsnapshot = {
+      parameterPath: ["options", "prevsnapshot"],
+      mapper: {
+        serializedName: "prevsnapshot",
+        xmlName: "prevsnapshot",
+        type: {
+          name: "String"
+        }
       }
-      return queries;
-    }
-    function appendToURLQuery(url, queryParts) {
-      const urlParsed = new URL(url);
-      let query = urlParsed.search;
-      if (query) {
-        query += "&" + queryParts;
-      } else {
-        query = queryParts;
+    };
+    exports2.prevSnapshotUrl = {
+      parameterPath: ["options", "prevSnapshotUrl"],
+      mapper: {
+        serializedName: "x-ms-previous-snapshot-url",
+        xmlName: "x-ms-previous-snapshot-url",
+        type: {
+          name: "String"
+        }
       }
-      urlParsed.search = query;
-      return urlParsed.toString();
-    }
-    function truncatedISO8061Date(date, withMilliseconds = true) {
-      const dateString = date.toISOString();
-      return withMilliseconds ? dateString.substring(0, dateString.length - 1) + "0000Z" : dateString.substring(0, dateString.length - 5) + "Z";
-    }
-    function base64encode(content) {
-      return !core_util_1.isNodeLike ? btoa(content) : Buffer.from(content).toString("base64");
-    }
-    function base64decode(encodedString) {
-      return !core_util_1.isNodeLike ? atob(encodedString) : Buffer.from(encodedString, "base64").toString();
-    }
-    function generateBlockID(blockIDPrefix, blockIndex) {
-      const maxSourceStringLength = 48;
-      const maxBlockIndexLength = 6;
-      const maxAllowedBlockIDPrefixLength = maxSourceStringLength - maxBlockIndexLength;
-      if (blockIDPrefix.length > maxAllowedBlockIDPrefixLength) {
-        blockIDPrefix = blockIDPrefix.slice(0, maxAllowedBlockIDPrefixLength);
+    };
+    exports2.sequenceNumberAction = {
+      parameterPath: "sequenceNumberAction",
+      mapper: {
+        serializedName: "x-ms-sequence-number-action",
+        required: true,
+        xmlName: "x-ms-sequence-number-action",
+        type: {
+          name: "Enum",
+          allowedValues: ["max", "update", "increment"]
+        }
       }
-      const res = blockIDPrefix + padStart2(blockIndex.toString(), maxSourceStringLength - blockIDPrefix.length, "0");
-      return base64encode(res);
-    }
-    async function delay(timeInMs, aborter, abortError) {
-      return new Promise((resolve3, reject) => {
-        let timeout;
-        const abortHandler = () => {
-          if (timeout !== void 0) {
-            clearTimeout(timeout);
-          }
-          reject(abortError);
-        };
-        const resolveHandler = () => {
-          if (aborter !== void 0) {
-            aborter.removeEventListener("abort", abortHandler);
-          }
-          resolve3();
-        };
-        timeout = setTimeout(resolveHandler, timeInMs);
-        if (aborter !== void 0) {
-          aborter.addEventListener("abort", abortHandler);
+    };
+    exports2.comp21 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "incrementalcopy",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
-      });
-    }
-    function padStart2(currentString, targetLength, padString = " ") {
-      if (String.prototype.padStart) {
-        return currentString.padStart(targetLength, padString);
       }
-      padString = padString || " ";
-      if (currentString.length > targetLength) {
-        return currentString;
-      } else {
-        targetLength = targetLength - currentString.length;
-        if (targetLength > padString.length) {
-          padString += padString.repeat(targetLength / padString.length);
+    };
+    exports2.blobType1 = {
+      parameterPath: "blobType",
+      mapper: {
+        defaultValue: "AppendBlob",
+        isConstant: true,
+        serializedName: "x-ms-blob-type",
+        type: {
+          name: "String"
         }
-        return padString.slice(0, targetLength) + currentString;
       }
-    }
-    function sanitizeURL(url) {
-      let safeURL = url;
-      if (getURLParameter(safeURL, constants_js_1.URLConstants.Parameters.SIGNATURE)) {
-        safeURL = setURLParameter(safeURL, constants_js_1.URLConstants.Parameters.SIGNATURE, "*****");
+    };
+    exports2.comp22 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "appendblock",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
       }
-      return safeURL;
-    }
-    function sanitizeHeaders(originalHeader) {
-      const headers = (0, core_rest_pipeline_1.createHttpHeaders)();
-      for (const [name, value] of originalHeader) {
-        if (name.toLowerCase() === constants_js_1.HeaderConstants.AUTHORIZATION.toLowerCase()) {
-          headers.set(name, "*****");
-        } else if (name.toLowerCase() === constants_js_1.HeaderConstants.X_MS_COPY_SOURCE) {
-          headers.set(name, sanitizeURL(value));
-        } else {
-          headers.set(name, value);
+    };
+    exports2.maxSize = {
+      parameterPath: ["options", "appendPositionAccessConditions", "maxSize"],
+      mapper: {
+        serializedName: "x-ms-blob-condition-maxsize",
+        xmlName: "x-ms-blob-condition-maxsize",
+        type: {
+          name: "Number"
         }
       }
-      return headers;
-    }
-    function iEqual(str1, str2) {
-      return str1.toLocaleLowerCase() === str2.toLocaleLowerCase();
-    }
-    function getAccountNameFromUrl(url) {
-      const parsedUrl = new URL(url);
-      let accountName;
-      try {
-        if (parsedUrl.hostname.split(".")[1] === "blob") {
-          accountName = parsedUrl.hostname.split(".")[0];
-        } else if (isIpEndpointStyle(parsedUrl)) {
-          accountName = parsedUrl.pathname.split("/")[1];
-        } else {
-          accountName = "";
+    };
+    exports2.appendPosition = {
+      parameterPath: [
+        "options",
+        "appendPositionAccessConditions",
+        "appendPosition"
+      ],
+      mapper: {
+        serializedName: "x-ms-blob-condition-appendpos",
+        xmlName: "x-ms-blob-condition-appendpos",
+        type: {
+          name: "Number"
+        }
+      }
+    };
+    exports2.sourceRange1 = {
+      parameterPath: ["options", "sourceRange"],
+      mapper: {
+        serializedName: "x-ms-source-range",
+        xmlName: "x-ms-source-range",
+        type: {
+          name: "String"
+        }
+      }
+    };
+    exports2.comp23 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "seal",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
+      }
+    };
+    exports2.blobType2 = {
+      parameterPath: "blobType",
+      mapper: {
+        defaultValue: "BlockBlob",
+        isConstant: true,
+        serializedName: "x-ms-blob-type",
+        type: {
+          name: "String"
+        }
+      }
+    };
+    exports2.copySourceBlobProperties = {
+      parameterPath: ["options", "copySourceBlobProperties"],
+      mapper: {
+        serializedName: "x-ms-copy-source-blob-properties",
+        xmlName: "x-ms-copy-source-blob-properties",
+        type: {
+          name: "Boolean"
+        }
+      }
+    };
+    exports2.comp24 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "block",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
+      }
+    };
+    exports2.blockId = {
+      parameterPath: "blockId",
+      mapper: {
+        serializedName: "blockid",
+        required: true,
+        xmlName: "blockid",
+        type: {
+          name: "String"
         }
-        return accountName;
-      } catch (error3) {
-        throw new Error("Unable to extract accountName with provided information.");
       }
-    }
-    function isIpEndpointStyle(parsedUrl) {
-      const host = parsedUrl.host;
-      return /^.*:.*:.*$|^(localhost|host.docker.internal)(:[0-9]+)?$|^(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])){3}(:[0-9]+)?$/.test(host) || Boolean(parsedUrl.port) && constants_js_1.PathStylePorts.includes(parsedUrl.port);
-    }
-    function toBlobTagsString(tags) {
-      if (tags === void 0) {
-        return void 0;
+    };
+    exports2.blocks = {
+      parameterPath: "blocks",
+      mapper: mappers_js_1.BlockLookupList
+    };
+    exports2.comp25 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "blocklist",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
       }
-      const tagPairs = [];
-      for (const key in tags) {
-        if (Object.prototype.hasOwnProperty.call(tags, key)) {
-          const value = tags[key];
-          tagPairs.push(`${encodeURIComponent(key)}=${encodeURIComponent(value)}`);
+    };
+    exports2.listType = {
+      parameterPath: "listType",
+      mapper: {
+        defaultValue: "committed",
+        serializedName: "blocklisttype",
+        required: true,
+        xmlName: "blocklisttype",
+        type: {
+          name: "Enum",
+          allowedValues: ["committed", "uncommitted", "all"]
         }
       }
-      return tagPairs.join("&");
-    }
-    function toBlobTags(tags) {
-      if (tags === void 0) {
-        return void 0;
+    };
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/service.js
+var require_service = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/service.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ServiceImpl = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var coreClient = tslib_1.__importStar(require_commonjs8());
+    var Mappers = tslib_1.__importStar(require_mappers());
+    var Parameters = tslib_1.__importStar(require_parameters());
+    var ServiceImpl = class {
+      client;
+      /**
+       * Initialize a new instance of the class Service class.
+       * @param client Reference to the service client
+       */
+      constructor(client) {
+        this.client = client;
       }
-      const res = {
-        blobTagSet: []
-      };
-      for (const key in tags) {
-        if (Object.prototype.hasOwnProperty.call(tags, key)) {
-          const value = tags[key];
-          res.blobTagSet.push({
-            key,
-            value
-          });
-        }
+      /**
+       * Sets properties for a storage account's Blob service endpoint, including properties for Storage
+       * Analytics and CORS (Cross-Origin Resource Sharing) rules
+       * @param blobServiceProperties The StorageService properties.
+       * @param options The options parameters.
+       */
+      setProperties(blobServiceProperties, options) {
+        return this.client.sendOperationRequest({ blobServiceProperties, options }, setPropertiesOperationSpec);
       }
-      return res;
-    }
-    function toTags(tags) {
-      if (tags === void 0) {
-        return void 0;
+      /**
+       * gets the properties of a storage account's Blob service, including properties for Storage Analytics
+       * and CORS (Cross-Origin Resource Sharing) rules.
+       * @param options The options parameters.
+       */
+      getProperties(options) {
+        return this.client.sendOperationRequest({ options }, getPropertiesOperationSpec);
       }
-      const res = {};
-      for (const blobTag of tags.blobTagSet) {
-        res[blobTag.key] = blobTag.value;
+      /**
+       * Retrieves statistics related to replication for the Blob service. It is only available on the
+       * secondary location endpoint when read-access geo-redundant replication is enabled for the storage
+       * account.
+       * @param options The options parameters.
+       */
+      getStatistics(options) {
+        return this.client.sendOperationRequest({ options }, getStatisticsOperationSpec);
       }
-      return res;
-    }
-    function toQuerySerialization(textConfiguration) {
-      if (textConfiguration === void 0) {
-        return void 0;
+      /**
+       * The List Containers Segment operation returns a list of the containers under the specified account
+       * @param options The options parameters.
+       */
+      listContainersSegment(options) {
+        return this.client.sendOperationRequest({ options }, listContainersSegmentOperationSpec);
       }
-      switch (textConfiguration.kind) {
-        case "csv":
-          return {
-            format: {
-              type: "delimited",
-              delimitedTextConfiguration: {
-                columnSeparator: textConfiguration.columnSeparator || ",",
-                fieldQuote: textConfiguration.fieldQuote || "",
-                recordSeparator: textConfiguration.recordSeparator,
-                escapeChar: textConfiguration.escapeCharacter || "",
-                headersPresent: textConfiguration.hasHeaders || false
-              }
-            }
-          };
-        case "json":
-          return {
-            format: {
-              type: "json",
-              jsonTextConfiguration: {
-                recordSeparator: textConfiguration.recordSeparator
-              }
-            }
-          };
-        case "arrow":
-          return {
-            format: {
-              type: "arrow",
-              arrowConfiguration: {
-                schema: textConfiguration.schema
-              }
-            }
-          };
-        case "parquet":
-          return {
-            format: {
-              type: "parquet"
-            }
-          };
-        default:
-          throw Error("Invalid BlobQueryTextConfiguration.");
+      /**
+       * Retrieves a user delegation key for the Blob service. This is only a valid operation when using
+       * bearer token authentication.
+       * @param keyInfo Key information
+       * @param options The options parameters.
+       */
+      getUserDelegationKey(keyInfo, options) {
+        return this.client.sendOperationRequest({ keyInfo, options }, getUserDelegationKeyOperationSpec);
       }
-    }
-    function parseObjectReplicationRecord(objectReplicationRecord) {
-      if (!objectReplicationRecord) {
-        return void 0;
+      /**
+       * Returns the sku name and account kind
+       * @param options The options parameters.
+       */
+      getAccountInfo(options) {
+        return this.client.sendOperationRequest({ options }, getAccountInfoOperationSpec);
       }
-      if ("policy-id" in objectReplicationRecord) {
-        return void 0;
+      /**
+       * The Batch operation allows multiple API calls to be embedded into a single HTTP request.
+       * @param contentLength The length of the request.
+       * @param multipartContentType Required. The value of this header must be multipart/mixed with a batch
+       *                             boundary. Example header value: multipart/mixed; boundary=batch_
+       * @param body Initial data
+       * @param options The options parameters.
+       */
+      submitBatch(contentLength, multipartContentType, body, options) {
+        return this.client.sendOperationRequest({ contentLength, multipartContentType, body, options }, submitBatchOperationSpec);
       }
-      const orProperties = [];
-      for (const key in objectReplicationRecord) {
-        const ids = key.split("_");
-        const policyPrefix = "or-";
-        if (ids[0].startsWith(policyPrefix)) {
-          ids[0] = ids[0].substring(policyPrefix.length);
+      /**
+       * The Filter Blobs operation enables callers to list blobs across all containers whose tags match a
+       * given search expression.  Filter blobs searches across all containers within a storage account but
+       * can be scoped within the expression to a single container.
+       * @param options The options parameters.
+       */
+      filterBlobs(options) {
+        return this.client.sendOperationRequest({ options }, filterBlobsOperationSpec);
+      }
+    };
+    exports2.ServiceImpl = ServiceImpl;
+    var xmlSerializer = coreClient.createSerializer(
+      Mappers,
+      /* isXml */
+      true
+    );
+    var setPropertiesOperationSpec = {
+      path: "/",
+      httpMethod: "PUT",
+      responses: {
+        202: {
+          headersMapper: Mappers.ServiceSetPropertiesHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ServiceSetPropertiesExceptionHeaders
         }
-        const rule = {
-          ruleId: ids[1],
-          replicationStatus: objectReplicationRecord[key]
-        };
-        const policyIndex = orProperties.findIndex((policy) => policy.policyId === ids[0]);
-        if (policyIndex > -1) {
-          orProperties[policyIndex].rules.push(rule);
-        } else {
-          orProperties.push({
-            policyId: ids[0],
-            rules: [rule]
-          });
+      },
+      requestBody: Parameters.blobServiceProperties,
+      queryParameters: [
+        Parameters.restype,
+        Parameters.comp,
+        Parameters.timeoutInSeconds
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.contentType,
+        Parameters.accept,
+        Parameters.version,
+        Parameters.requestId
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "xml",
+      serializer: xmlSerializer
+    };
+    var getPropertiesOperationSpec = {
+      path: "/",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.BlobServiceProperties,
+          headersMapper: Mappers.ServiceGetPropertiesHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ServiceGetPropertiesExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.restype,
+        Parameters.comp,
+        Parameters.timeoutInSeconds
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var getStatisticsOperationSpec = {
+      path: "/",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.BlobServiceStatistics,
+          headersMapper: Mappers.ServiceGetStatisticsHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ServiceGetStatisticsExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.restype,
+        Parameters.timeoutInSeconds,
+        Parameters.comp1
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var listContainersSegmentOperationSpec = {
+      path: "/",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.ListContainersSegmentResponse,
+          headersMapper: Mappers.ServiceListContainersSegmentHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ServiceListContainersSegmentExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.comp2,
+        Parameters.prefix,
+        Parameters.marker,
+        Parameters.maxPageSize,
+        Parameters.include
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var getUserDelegationKeyOperationSpec = {
+      path: "/",
+      httpMethod: "POST",
+      responses: {
+        200: {
+          bodyMapper: Mappers.UserDelegationKey,
+          headersMapper: Mappers.ServiceGetUserDelegationKeyHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ServiceGetUserDelegationKeyExceptionHeaders
+        }
+      },
+      requestBody: Parameters.keyInfo,
+      queryParameters: [
+        Parameters.restype,
+        Parameters.timeoutInSeconds,
+        Parameters.comp3
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.contentType,
+        Parameters.accept,
+        Parameters.version,
+        Parameters.requestId
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "xml",
+      serializer: xmlSerializer
+    };
+    var getAccountInfoOperationSpec = {
+      path: "/",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          headersMapper: Mappers.ServiceGetAccountInfoHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ServiceGetAccountInfoExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.comp,
+        Parameters.timeoutInSeconds,
+        Parameters.restype1
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var submitBatchOperationSpec = {
+      path: "/",
+      httpMethod: "POST",
+      responses: {
+        202: {
+          bodyMapper: {
+            type: { name: "Stream" },
+            serializedName: "parsedResponse"
+          },
+          headersMapper: Mappers.ServiceSubmitBatchHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ServiceSubmitBatchExceptionHeaders
+        }
+      },
+      requestBody: Parameters.body,
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp4],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.accept,
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.contentLength,
+        Parameters.multipartContentType
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "xml",
+      serializer: xmlSerializer
+    };
+    var filterBlobsOperationSpec = {
+      path: "/",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.FilterBlobSegment,
+          headersMapper: Mappers.ServiceFilterBlobsHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ServiceFilterBlobsExceptionHeaders
         }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.marker,
+        Parameters.maxPageSize,
+        Parameters.comp5,
+        Parameters.where
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/container.js
+var require_container = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/container.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ContainerImpl = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var coreClient = tslib_1.__importStar(require_commonjs8());
+    var Mappers = tslib_1.__importStar(require_mappers());
+    var Parameters = tslib_1.__importStar(require_parameters());
+    var ContainerImpl = class {
+      client;
+      /**
+       * Initialize a new instance of the class Container class.
+       * @param client Reference to the service client
+       */
+      constructor(client) {
+        this.client = client;
+      }
+      /**
+       * creates a new container under the specified account. If the container with the same name already
+       * exists, the operation fails
+       * @param options The options parameters.
+       */
+      create(options) {
+        return this.client.sendOperationRequest({ options }, createOperationSpec);
+      }
+      /**
+       * returns all user-defined metadata and system properties for the specified container. The data
+       * returned does not include the container's list of blobs
+       * @param options The options parameters.
+       */
+      getProperties(options) {
+        return this.client.sendOperationRequest({ options }, getPropertiesOperationSpec);
+      }
+      /**
+       * operation marks the specified container for deletion. The container and any blobs contained within
+       * it are later deleted during garbage collection
+       * @param options The options parameters.
+       */
+      delete(options) {
+        return this.client.sendOperationRequest({ options }, deleteOperationSpec);
+      }
+      /**
+       * operation sets one or more user-defined name-value pairs for the specified container.
+       * @param options The options parameters.
+       */
+      setMetadata(options) {
+        return this.client.sendOperationRequest({ options }, setMetadataOperationSpec);
       }
-      return orProperties;
-    }
-    function attachCredential(thing, credential) {
-      thing.credential = credential;
-      return thing;
-    }
-    function httpAuthorizationToString(httpAuthorization) {
-      return httpAuthorization ? httpAuthorization.scheme + " " + httpAuthorization.value : void 0;
-    }
-    function BlobNameToString(name) {
-      if (name.encoded) {
-        return decodeURIComponent(name.content);
-      } else {
-        return name.content;
+      /**
+       * gets the permissions for the specified container. The permissions indicate whether container data
+       * may be accessed publicly.
+       * @param options The options parameters.
+       */
+      getAccessPolicy(options) {
+        return this.client.sendOperationRequest({ options }, getAccessPolicyOperationSpec);
       }
-    }
-    function ConvertInternalResponseOfListBlobFlat(internalResponse) {
-      return {
-        ...internalResponse,
-        segment: {
-          blobItems: internalResponse.segment.blobItems.map((blobItemInteral) => {
-            const blobItem = {
-              ...blobItemInteral,
-              name: BlobNameToString(blobItemInteral.name)
-            };
-            return blobItem;
-          })
-        }
-      };
-    }
-    function ConvertInternalResponseOfListBlobHierarchy(internalResponse) {
-      return {
-        ...internalResponse,
-        segment: {
-          blobPrefixes: internalResponse.segment.blobPrefixes?.map((blobPrefixInternal) => {
-            const blobPrefix = {
-              ...blobPrefixInternal,
-              name: BlobNameToString(blobPrefixInternal.name)
-            };
-            return blobPrefix;
-          }),
-          blobItems: internalResponse.segment.blobItems.map((blobItemInteral) => {
-            const blobItem = {
-              ...blobItemInteral,
-              name: BlobNameToString(blobItemInteral.name)
-            };
-            return blobItem;
-          })
-        }
-      };
-    }
-    function* ExtractPageRangeInfoItems(getPageRangesSegment) {
-      let pageRange = [];
-      let clearRange = [];
-      if (getPageRangesSegment.pageRange)
-        pageRange = getPageRangesSegment.pageRange;
-      if (getPageRangesSegment.clearRange)
-        clearRange = getPageRangesSegment.clearRange;
-      let pageRangeIndex = 0;
-      let clearRangeIndex = 0;
-      while (pageRangeIndex < pageRange.length && clearRangeIndex < clearRange.length) {
-        if (pageRange[pageRangeIndex].start < clearRange[clearRangeIndex].start) {
-          yield {
-            start: pageRange[pageRangeIndex].start,
-            end: pageRange[pageRangeIndex].end,
-            isClear: false
-          };
-          ++pageRangeIndex;
-        } else {
-          yield {
-            start: clearRange[clearRangeIndex].start,
-            end: clearRange[clearRangeIndex].end,
-            isClear: true
-          };
-          ++clearRangeIndex;
-        }
+      /**
+       * sets the permissions for the specified container. The permissions indicate whether blobs in a
+       * container may be accessed publicly.
+       * @param options The options parameters.
+       */
+      setAccessPolicy(options) {
+        return this.client.sendOperationRequest({ options }, setAccessPolicyOperationSpec);
       }
-      for (; pageRangeIndex < pageRange.length; ++pageRangeIndex) {
-        yield {
-          start: pageRange[pageRangeIndex].start,
-          end: pageRange[pageRangeIndex].end,
-          isClear: false
-        };
+      /**
+       * Restores a previously-deleted container.
+       * @param options The options parameters.
+       */
+      restore(options) {
+        return this.client.sendOperationRequest({ options }, restoreOperationSpec);
       }
-      for (; clearRangeIndex < clearRange.length; ++clearRangeIndex) {
-        yield {
-          start: clearRange[clearRangeIndex].start,
-          end: clearRange[clearRangeIndex].end,
-          isClear: true
-        };
+      /**
+       * Renames an existing container.
+       * @param sourceContainerName Required.  Specifies the name of the container to rename.
+       * @param options The options parameters.
+       */
+      rename(sourceContainerName, options) {
+        return this.client.sendOperationRequest({ sourceContainerName, options }, renameOperationSpec);
       }
-    }
-    function EscapePath(blobName) {
-      const split = blobName.split("/");
-      for (let i = 0; i < split.length; i++) {
-        split[i] = encodeURIComponent(split[i]);
+      /**
+       * The Batch operation allows multiple API calls to be embedded into a single HTTP request.
+       * @param contentLength The length of the request.
+       * @param multipartContentType Required. The value of this header must be multipart/mixed with a batch
+       *                             boundary. Example header value: multipart/mixed; boundary=batch_
+       * @param body Initial data
+       * @param options The options parameters.
+       */
+      submitBatch(contentLength, multipartContentType, body, options) {
+        return this.client.sendOperationRequest({ contentLength, multipartContentType, body, options }, submitBatchOperationSpec);
       }
-      return split.join("/");
-    }
-    function assertResponse(response) {
-      if (`_response` in response) {
-        return response;
+      /**
+       * The Filter Blobs operation enables callers to list blobs in a container whose tags match a given
+       * search expression.  Filter blobs searches within the given container.
+       * @param options The options parameters.
+       */
+      filterBlobs(options) {
+        return this.client.sendOperationRequest({ options }, filterBlobsOperationSpec);
       }
-      throw new TypeError(`Unexpected response object ${response}`);
-    }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicyType.js
-var require_StorageRetryPolicyType = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicyType.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageRetryPolicyType = void 0;
-    var StorageRetryPolicyType;
-    (function(StorageRetryPolicyType2) {
-      StorageRetryPolicyType2[StorageRetryPolicyType2["EXPONENTIAL"] = 0] = "EXPONENTIAL";
-      StorageRetryPolicyType2[StorageRetryPolicyType2["FIXED"] = 1] = "FIXED";
-    })(StorageRetryPolicyType || (exports2.StorageRetryPolicyType = StorageRetryPolicyType = {}));
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicy.js
-var require_StorageRetryPolicy = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageRetryPolicy = void 0;
-    exports2.NewRetryPolicyFactory = NewRetryPolicyFactory;
-    var abort_controller_1 = require_commonjs11();
-    var RequestPolicy_js_1 = require_RequestPolicy();
-    var constants_js_1 = require_constants15();
-    var utils_common_js_1 = require_utils_common();
-    var log_js_1 = require_log5();
-    var StorageRetryPolicyType_js_1 = require_StorageRetryPolicyType();
-    function NewRetryPolicyFactory(retryOptions) {
-      return {
-        create: (nextPolicy, options) => {
-          return new StorageRetryPolicy(nextPolicy, options, retryOptions);
-        }
-      };
-    }
-    var DEFAULT_RETRY_OPTIONS = {
-      maxRetryDelayInMs: 120 * 1e3,
-      maxTries: 4,
-      retryDelayInMs: 4 * 1e3,
-      retryPolicyType: StorageRetryPolicyType_js_1.StorageRetryPolicyType.EXPONENTIAL,
-      secondaryHost: "",
-      tryTimeoutInMs: void 0
-      // Use server side default timeout strategy
-    };
-    var RETRY_ABORT_ERROR = new abort_controller_1.AbortError("The operation was aborted.");
-    var StorageRetryPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
       /**
-       * RetryOptions.
+       * [Update] establishes and manages a lock on a container for delete operations. The lock duration can
+       * be 15 to 60 seconds, or can be infinite
+       * @param options The options parameters.
        */
-      retryOptions;
+      acquireLease(options) {
+        return this.client.sendOperationRequest({ options }, acquireLeaseOperationSpec);
+      }
       /**
-       * Creates an instance of RetryPolicy.
-       *
-       * @param nextPolicy -
-       * @param options -
-       * @param retryOptions -
+       * [Update] establishes and manages a lock on a container for delete operations. The lock duration can
+       * be 15 to 60 seconds, or can be infinite
+       * @param leaseId Specifies the current lease ID on the resource.
+       * @param options The options parameters.
        */
-      constructor(nextPolicy, options, retryOptions = DEFAULT_RETRY_OPTIONS) {
-        super(nextPolicy, options);
-        this.retryOptions = {
-          retryPolicyType: retryOptions.retryPolicyType ? retryOptions.retryPolicyType : DEFAULT_RETRY_OPTIONS.retryPolicyType,
-          maxTries: retryOptions.maxTries && retryOptions.maxTries >= 1 ? Math.floor(retryOptions.maxTries) : DEFAULT_RETRY_OPTIONS.maxTries,
-          tryTimeoutInMs: retryOptions.tryTimeoutInMs && retryOptions.tryTimeoutInMs >= 0 ? retryOptions.tryTimeoutInMs : DEFAULT_RETRY_OPTIONS.tryTimeoutInMs,
-          retryDelayInMs: retryOptions.retryDelayInMs && retryOptions.retryDelayInMs >= 0 ? Math.min(retryOptions.retryDelayInMs, retryOptions.maxRetryDelayInMs ? retryOptions.maxRetryDelayInMs : DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs) : DEFAULT_RETRY_OPTIONS.retryDelayInMs,
-          maxRetryDelayInMs: retryOptions.maxRetryDelayInMs && retryOptions.maxRetryDelayInMs >= 0 ? retryOptions.maxRetryDelayInMs : DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs,
-          secondaryHost: retryOptions.secondaryHost ? retryOptions.secondaryHost : DEFAULT_RETRY_OPTIONS.secondaryHost
-        };
+      releaseLease(leaseId, options) {
+        return this.client.sendOperationRequest({ leaseId, options }, releaseLeaseOperationSpec);
       }
       /**
-       * Sends request.
-       *
-       * @param request -
+       * [Update] establishes and manages a lock on a container for delete operations. The lock duration can
+       * be 15 to 60 seconds, or can be infinite
+       * @param leaseId Specifies the current lease ID on the resource.
+       * @param options The options parameters.
        */
-      async sendRequest(request2) {
-        return this.attemptSendRequest(request2, false, 1);
+      renewLease(leaseId, options) {
+        return this.client.sendOperationRequest({ leaseId, options }, renewLeaseOperationSpec);
       }
       /**
-       * Decide and perform next retry. Won't mutate request parameter.
-       *
-       * @param request -
-       * @param secondaryHas404 -  If attempt was against the secondary & it returned a StatusNotFound (404), then
-       *                                   the resource was not found. This may be due to replication delay. So, in this
-       *                                   case, we'll never try the secondary again for this operation.
-       * @param attempt -           How many retries has been attempted to performed, starting from 1, which includes
-       *                                   the attempt will be performed by this method call.
+       * [Update] establishes and manages a lock on a container for delete operations. The lock duration can
+       * be 15 to 60 seconds, or can be infinite
+       * @param options The options parameters.
        */
-      async attemptSendRequest(request2, secondaryHas404, attempt) {
-        const newRequest = request2.clone();
-        const isPrimaryRetry = secondaryHas404 || !this.retryOptions.secondaryHost || !(request2.method === "GET" || request2.method === "HEAD" || request2.method === "OPTIONS") || attempt % 2 === 1;
-        if (!isPrimaryRetry) {
-          newRequest.url = (0, utils_common_js_1.setURLHost)(newRequest.url, this.retryOptions.secondaryHost);
-        }
-        if (this.retryOptions.tryTimeoutInMs) {
-          newRequest.url = (0, utils_common_js_1.setURLParameter)(newRequest.url, constants_js_1.URLConstants.Parameters.TIMEOUT, Math.floor(this.retryOptions.tryTimeoutInMs / 1e3).toString());
-        }
-        let response;
-        try {
-          log_js_1.logger.info(`RetryPolicy: =====> Try=${attempt} ${isPrimaryRetry ? "Primary" : "Secondary"}`);
-          response = await this._nextPolicy.sendRequest(newRequest);
-          if (!this.shouldRetry(isPrimaryRetry, attempt, response)) {
-            return response;
-          }
-          secondaryHas404 = secondaryHas404 || !isPrimaryRetry && response.status === 404;
-        } catch (err) {
-          log_js_1.logger.error(`RetryPolicy: Caught error, message: ${err.message}, code: ${err.code}`);
-          if (!this.shouldRetry(isPrimaryRetry, attempt, response, err)) {
-            throw err;
-          }
-        }
-        await this.delay(isPrimaryRetry, attempt, request2.abortSignal);
-        return this.attemptSendRequest(request2, secondaryHas404, ++attempt);
+      breakLease(options) {
+        return this.client.sendOperationRequest({ options }, breakLeaseOperationSpec);
       }
       /**
-       * Decide whether to retry according to last HTTP response and retry counters.
-       *
-       * @param isPrimaryRetry -
-       * @param attempt -
-       * @param response -
-       * @param err -
+       * [Update] establishes and manages a lock on a container for delete operations. The lock duration can
+       * be 15 to 60 seconds, or can be infinite
+       * @param leaseId Specifies the current lease ID on the resource.
+       * @param proposedLeaseId Proposed lease ID, in a GUID string format. The Blob service returns 400
+       *                        (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor
+       *                        (String) for a list of valid GUID string formats.
+       * @param options The options parameters.
        */
-      shouldRetry(isPrimaryRetry, attempt, response, err) {
-        if (attempt >= this.retryOptions.maxTries) {
-          log_js_1.logger.info(`RetryPolicy: Attempt(s) ${attempt} >= maxTries ${this.retryOptions.maxTries}, no further try.`);
-          return false;
-        }
-        const retriableErrors = [
-          "ETIMEDOUT",
-          "ESOCKETTIMEDOUT",
-          "ECONNREFUSED",
-          "ECONNRESET",
-          "ENOENT",
-          "ENOTFOUND",
-          "TIMEOUT",
-          "EPIPE",
-          "REQUEST_SEND_ERROR"
-          // For default xhr based http client provided in ms-rest-js
-        ];
-        if (err) {
-          for (const retriableError of retriableErrors) {
-            if (err.name.toUpperCase().includes(retriableError) || err.message.toUpperCase().includes(retriableError) || err.code && err.code.toString().toUpperCase() === retriableError) {
-              log_js_1.logger.info(`RetryPolicy: Network error ${retriableError} found, will retry.`);
-              return true;
-            }
-          }
-        }
-        if (response || err) {
-          const statusCode = response ? response.status : err ? err.statusCode : 0;
-          if (!isPrimaryRetry && statusCode === 404) {
-            log_js_1.logger.info(`RetryPolicy: Secondary access with 404, will retry.`);
-            return true;
-          }
-          if (statusCode === 503 || statusCode === 500) {
-            log_js_1.logger.info(`RetryPolicy: Will retry for status code ${statusCode}.`);
-            return true;
-          }
-        }
-        if (response) {
-          if (response?.status >= 400) {
-            const copySourceError = response.headers.get(constants_js_1.HeaderConstants.X_MS_CopySourceErrorCode);
-            if (copySourceError !== void 0) {
-              switch (copySourceError) {
-                case "InternalError":
-                case "OperationTimedOut":
-                case "ServerBusy":
-                  return true;
-              }
-            }
-          }
-        }
-        if (err?.code === "PARSE_ERROR" && err?.message.startsWith(`Error "Error: Unclosed root tag`)) {
-          log_js_1.logger.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry.");
-          return true;
-        }
-        return false;
+      changeLease(leaseId, proposedLeaseId, options) {
+        return this.client.sendOperationRequest({ leaseId, proposedLeaseId, options }, changeLeaseOperationSpec);
       }
       /**
-       * Delay a calculated time between retries.
-       *
-       * @param isPrimaryRetry -
-       * @param attempt -
-       * @param abortSignal -
+       * [Update] The List Blobs operation returns a list of the blobs under the specified container
+       * @param options The options parameters.
        */
-      async delay(isPrimaryRetry, attempt, abortSignal) {
-        let delayTimeInMs = 0;
-        if (isPrimaryRetry) {
-          switch (this.retryOptions.retryPolicyType) {
-            case StorageRetryPolicyType_js_1.StorageRetryPolicyType.EXPONENTIAL:
-              delayTimeInMs = Math.min((Math.pow(2, attempt - 1) - 1) * this.retryOptions.retryDelayInMs, this.retryOptions.maxRetryDelayInMs);
-              break;
-            case StorageRetryPolicyType_js_1.StorageRetryPolicyType.FIXED:
-              delayTimeInMs = this.retryOptions.retryDelayInMs;
-              break;
-          }
-        } else {
-          delayTimeInMs = Math.random() * 1e3;
-        }
-        log_js_1.logger.info(`RetryPolicy: Delay for ${delayTimeInMs}ms`);
-        return (0, utils_common_js_1.delay)(delayTimeInMs, abortSignal, RETRY_ABORT_ERROR);
+      listBlobFlatSegment(options) {
+        return this.client.sendOperationRequest({ options }, listBlobFlatSegmentOperationSpec);
       }
-    };
-    exports2.StorageRetryPolicy = StorageRetryPolicy;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/StorageRetryPolicyFactory.js
-var require_StorageRetryPolicyFactory = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/StorageRetryPolicyFactory.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageRetryPolicyFactory = exports2.StorageRetryPolicy = exports2.StorageRetryPolicyType = void 0;
-    var StorageRetryPolicy_js_1 = require_StorageRetryPolicy();
-    Object.defineProperty(exports2, "StorageRetryPolicy", { enumerable: true, get: function() {
-      return StorageRetryPolicy_js_1.StorageRetryPolicy;
-    } });
-    var StorageRetryPolicyType_js_1 = require_StorageRetryPolicyType();
-    Object.defineProperty(exports2, "StorageRetryPolicyType", { enumerable: true, get: function() {
-      return StorageRetryPolicyType_js_1.StorageRetryPolicyType;
-    } });
-    var StorageRetryPolicyFactory = class {
-      retryOptions;
       /**
-       * Creates an instance of StorageRetryPolicyFactory.
-       * @param retryOptions -
+       * [Update] The List Blobs operation returns a list of the blobs under the specified container
+       * @param delimiter When the request includes this parameter, the operation returns a BlobPrefix
+       *                  element in the response body that acts as a placeholder for all blobs whose names begin with the
+       *                  same substring up to the appearance of the delimiter character. The delimiter may be a single
+       *                  character or a string.
+       * @param options The options parameters.
        */
-      constructor(retryOptions) {
-        this.retryOptions = retryOptions;
+      listBlobHierarchySegment(delimiter, options) {
+        return this.client.sendOperationRequest({ delimiter, options }, listBlobHierarchySegmentOperationSpec);
       }
       /**
-       * Creates a StorageRetryPolicy object.
-       *
-       * @param nextPolicy -
-       * @param options -
+       * Returns the sku name and account kind
+       * @param options The options parameters.
        */
-      create(nextPolicy, options) {
-        return new StorageRetryPolicy_js_1.StorageRetryPolicy(nextPolicy, options, this.retryOptions);
+      getAccountInfo(options) {
+        return this.client.sendOperationRequest({ options }, getAccountInfoOperationSpec);
       }
     };
-    exports2.StorageRetryPolicyFactory = StorageRetryPolicyFactory;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/policies/CredentialPolicy.js
-var require_CredentialPolicy = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/CredentialPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.CredentialPolicy = void 0;
-    var RequestPolicy_js_1 = require_RequestPolicy();
-    var CredentialPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
-      /**
-       * Sends out request.
-       *
-       * @param request -
-       */
-      sendRequest(request2) {
-        return this._nextPolicy.sendRequest(this.signRequest(request2));
-      }
-      /**
-       * Child classes must implement this method with request signing. This method
-       * will be executed in {@link sendRequest}.
-       *
-       * @param request -
-       */
-      signRequest(request2) {
-        return request2;
-      }
+    exports2.ContainerImpl = ContainerImpl;
+    var xmlSerializer = coreClient.createSerializer(
+      Mappers,
+      /* isXml */
+      true
+    );
+    var createOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.ContainerCreateHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerCreateExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.restype2],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.metadata,
+        Parameters.access,
+        Parameters.defaultEncryptionScope,
+        Parameters.preventEncryptionScopeOverride
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var getPropertiesOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          headersMapper: Mappers.ContainerGetPropertiesHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerGetPropertiesExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.restype2],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var deleteOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "DELETE",
+      responses: {
+        202: {
+          headersMapper: Mappers.ContainerDeleteHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerDeleteExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.restype2],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var setMetadataOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.ContainerSetMetadataHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerSetMetadataExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.restype2,
+        Parameters.comp6
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var getAccessPolicyOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: {
+            type: {
+              name: "Sequence",
+              element: {
+                type: { name: "Composite", className: "SignedIdentifier" }
+              }
+            },
+            serializedName: "SignedIdentifiers",
+            xmlName: "SignedIdentifiers",
+            xmlIsWrapped: true,
+            xmlElementName: "SignedIdentifier"
+          },
+          headersMapper: Mappers.ContainerGetAccessPolicyHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerGetAccessPolicyExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.restype2,
+        Parameters.comp7
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId
+      ],
+      isXML: true,
+      serializer: xmlSerializer
     };
-    exports2.CredentialPolicy = CredentialPolicy;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/utils/SharedKeyComparator.js
-var require_SharedKeyComparator = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/SharedKeyComparator.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.compareHeader = compareHeader;
-    var table_lv0 = new Uint32Array([
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1820,
-      0,
-      1823,
-      1825,
-      1827,
-      1829,
-      0,
-      0,
-      0,
-      1837,
-      2051,
-      0,
-      0,
-      1843,
-      0,
-      3331,
-      3354,
-      3356,
-      3358,
-      3360,
-      3362,
-      3364,
-      3366,
-      3368,
-      3370,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      3586,
-      3593,
-      3594,
-      3610,
-      3617,
-      3619,
-      3621,
-      3628,
-      3634,
-      3637,
-      3638,
-      3656,
-      3665,
-      3696,
-      3708,
-      3710,
-      3721,
-      3722,
-      3729,
-      3737,
-      3743,
-      3746,
-      3748,
-      3750,
-      3751,
-      3753,
-      0,
-      0,
-      0,
-      1859,
-      1860,
-      1864,
-      3586,
-      3593,
-      3594,
-      3610,
-      3617,
-      3619,
-      3621,
-      3628,
-      3634,
-      3637,
-      3638,
-      3656,
-      3665,
-      3696,
-      3708,
-      3710,
-      3721,
-      3722,
-      3729,
-      3737,
-      3743,
-      3746,
-      3748,
-      3750,
-      3751,
-      3753,
-      0,
-      1868,
-      0,
-      1872,
-      0
-    ]);
-    var table_lv2 = new Uint32Array([
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0
-    ]);
-    var table_lv4 = new Uint32Array([
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      32786,
-      0,
-      0,
-      0,
-      0,
-      0,
-      33298,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0
-    ]);
-    function compareHeader(lhs, rhs) {
-      if (isLessThan(lhs, rhs))
-        return -1;
-      return 1;
-    }
-    function isLessThan(lhs, rhs) {
-      const tables = [table_lv0, table_lv2, table_lv4];
-      let curr_level = 0;
-      let i = 0;
-      let j = 0;
-      while (curr_level < tables.length) {
-        if (curr_level === tables.length - 1 && i !== j) {
-          return i > j;
+    var setAccessPolicyOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.ContainerSetAccessPolicyHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerSetAccessPolicyExceptionHeaders
+        }
+      },
+      requestBody: Parameters.containerAcl,
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.restype2,
+        Parameters.comp7
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.contentType,
+        Parameters.accept,
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.access,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "xml",
+      serializer: xmlSerializer
+    };
+    var restoreOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.ContainerRestoreHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerRestoreExceptionHeaders
         }
-        const weight1 = i < lhs.length ? tables[curr_level][lhs[i].charCodeAt(0)] : 1;
-        const weight2 = j < rhs.length ? tables[curr_level][rhs[j].charCodeAt(0)] : 1;
-        if (weight1 === 1 && weight2 === 1) {
-          i = 0;
-          j = 0;
-          ++curr_level;
-        } else if (weight1 === weight2) {
-          ++i;
-          ++j;
-        } else if (weight1 === 0) {
-          ++i;
-        } else if (weight2 === 0) {
-          ++j;
-        } else {
-          return weight1 < weight2;
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.restype2,
+        Parameters.comp8
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.deletedContainerName,
+        Parameters.deletedContainerVersion
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var renameOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.ContainerRenameHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerRenameExceptionHeaders
         }
-      }
-      return false;
-    }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageSharedKeyCredentialPolicy.js
-var require_StorageSharedKeyCredentialPolicy = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageSharedKeyCredentialPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageSharedKeyCredentialPolicy = void 0;
-    var constants_js_1 = require_constants15();
-    var utils_common_js_1 = require_utils_common();
-    var CredentialPolicy_js_1 = require_CredentialPolicy();
-    var SharedKeyComparator_js_1 = require_SharedKeyComparator();
-    var StorageSharedKeyCredentialPolicy = class extends CredentialPolicy_js_1.CredentialPolicy {
-      /**
-       * Reference to StorageSharedKeyCredential which generates StorageSharedKeyCredentialPolicy
-       */
-      factory;
-      /**
-       * Creates an instance of StorageSharedKeyCredentialPolicy.
-       * @param nextPolicy -
-       * @param options -
-       * @param factory -
-       */
-      constructor(nextPolicy, options, factory) {
-        super(nextPolicy, options);
-        this.factory = factory;
-      }
-      /**
-       * Signs request.
-       *
-       * @param request -
-       */
-      signRequest(request2) {
-        request2.headers.set(constants_js_1.HeaderConstants.X_MS_DATE, (/* @__PURE__ */ new Date()).toUTCString());
-        if (request2.body && (typeof request2.body === "string" || request2.body !== void 0) && request2.body.length > 0) {
-          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.restype2,
+        Parameters.comp9
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.sourceContainerName,
+        Parameters.sourceLeaseId
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var submitBatchOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "POST",
+      responses: {
+        202: {
+          bodyMapper: {
+            type: { name: "Stream" },
+            serializedName: "parsedResponse"
+          },
+          headersMapper: Mappers.ContainerSubmitBatchHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerSubmitBatchExceptionHeaders
         }
-        const stringToSign = [
-          request2.method.toUpperCase(),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LANGUAGE),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_ENCODING),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LENGTH),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_MD5),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_TYPE),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.DATE),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MODIFIED_SINCE),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MATCH),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_NONE_MATCH),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_UNMODIFIED_SINCE),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.RANGE)
-        ].join("\n") + "\n" + this.getCanonicalizedHeadersString(request2) + this.getCanonicalizedResourceString(request2);
-        const signature = this.factory.computeHMACSHA256(stringToSign);
-        request2.headers.set(constants_js_1.HeaderConstants.AUTHORIZATION, `SharedKey ${this.factory.accountName}:${signature}`);
-        return request2;
-      }
-      /**
-       * Retrieve header value according to shared key sign rules.
-       * @see https://learn.microsoft.com/rest/api/storageservices/authenticate-with-shared-key
-       *
-       * @param request -
-       * @param headerName -
-       */
-      getHeaderValueToSign(request2, headerName) {
-        const value = request2.headers.get(headerName);
-        if (!value) {
-          return "";
+      },
+      requestBody: Parameters.body,
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.comp4,
+        Parameters.restype2
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.accept,
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.contentLength,
+        Parameters.multipartContentType
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "xml",
+      serializer: xmlSerializer
+    };
+    var filterBlobsOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.FilterBlobSegment,
+          headersMapper: Mappers.ContainerFilterBlobsHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerFilterBlobsExceptionHeaders
         }
-        if (headerName === constants_js_1.HeaderConstants.CONTENT_LENGTH && value === "0") {
-          return "";
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.marker,
+        Parameters.maxPageSize,
+        Parameters.comp5,
+        Parameters.where,
+        Parameters.restype2
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var acquireLeaseOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.ContainerAcquireLeaseHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerAcquireLeaseExceptionHeaders
         }
-        return value;
-      }
-      /**
-       * To construct the CanonicalizedHeaders portion of the signature string, follow these steps:
-       * 1. Retrieve all headers for the resource that begin with x-ms-, including the x-ms-date header.
-       * 2. Convert each HTTP header name to lowercase.
-       * 3. Sort the headers lexicographically by header name, in ascending order.
-       *    Each header may appear only once in the string.
-       * 4. Replace any linear whitespace in the header value with a single space.
-       * 5. Trim any whitespace around the colon in the header.
-       * 6. Finally, append a new-line character to each canonicalized header in the resulting list.
-       *    Construct the CanonicalizedHeaders string by concatenating all headers in this list into a single string.
-       *
-       * @param request -
-       */
-      getCanonicalizedHeadersString(request2) {
-        let headersArray = request2.headers.headersArray().filter((value) => {
-          return value.name.toLowerCase().startsWith(constants_js_1.HeaderConstants.PREFIX_FOR_STORAGE);
-        });
-        headersArray.sort((a, b) => {
-          return (0, SharedKeyComparator_js_1.compareHeader)(a.name.toLowerCase(), b.name.toLowerCase());
-        });
-        headersArray = headersArray.filter((value, index, array) => {
-          if (index > 0 && value.name.toLowerCase() === array[index - 1].name.toLowerCase()) {
-            return false;
-          }
-          return true;
-        });
-        let canonicalizedHeadersStringToSign = "";
-        headersArray.forEach((header) => {
-          canonicalizedHeadersStringToSign += `${header.name.toLowerCase().trimRight()}:${header.value.trimLeft()}
-`;
-        });
-        return canonicalizedHeadersStringToSign;
-      }
-      /**
-       * Retrieves the webResource canonicalized resource string.
-       *
-       * @param request -
-       */
-      getCanonicalizedResourceString(request2) {
-        const path4 = (0, utils_common_js_1.getURLPath)(request2.url) || "/";
-        let canonicalizedResourceString = "";
-        canonicalizedResourceString += `/${this.factory.accountName}${path4}`;
-        const queries = (0, utils_common_js_1.getURLQueries)(request2.url);
-        const lowercaseQueries = {};
-        if (queries) {
-          const queryKeys = [];
-          for (const key in queries) {
-            if (Object.prototype.hasOwnProperty.call(queries, key)) {
-              const lowercaseKey = key.toLowerCase();
-              lowercaseQueries[lowercaseKey] = queries[key];
-              queryKeys.push(lowercaseKey);
-            }
-          }
-          queryKeys.sort();
-          for (const key of queryKeys) {
-            canonicalizedResourceString += `
-${key}:${decodeURIComponent(lowercaseQueries[key])}`;
-          }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.restype2,
+        Parameters.comp10
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.action,
+        Parameters.duration,
+        Parameters.proposedLeaseId
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var releaseLeaseOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.ContainerReleaseLeaseHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerReleaseLeaseExceptionHeaders
         }
-        return canonicalizedResourceString;
-      }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.restype2,
+        Parameters.comp10
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.action1,
+        Parameters.leaseId1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
     };
-    exports2.StorageSharedKeyCredentialPolicy = StorageSharedKeyCredentialPolicy;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/credentials/Credential.js
-var require_Credential = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/credentials/Credential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Credential = void 0;
-    var Credential = class {
-      /**
-       * Creates a RequestPolicy object.
-       *
-       * @param _nextPolicy -
-       * @param _options -
-       */
-      create(_nextPolicy, _options) {
-        throw new Error("Method should be implemented in children classes.");
-      }
+    var renewLeaseOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.ContainerRenewLeaseHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerRenewLeaseExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.restype2,
+        Parameters.comp10
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.leaseId1,
+        Parameters.action2
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var breakLeaseOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "PUT",
+      responses: {
+        202: {
+          headersMapper: Mappers.ContainerBreakLeaseHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerBreakLeaseExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.restype2,
+        Parameters.comp10
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.action3,
+        Parameters.breakPeriod
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var changeLeaseOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.ContainerChangeLeaseHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerChangeLeaseExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.restype2,
+        Parameters.comp10
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.leaseId1,
+        Parameters.action4,
+        Parameters.proposedLeaseId1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var listBlobFlatSegmentOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.ListBlobsFlatSegmentResponse,
+          headersMapper: Mappers.ContainerListBlobFlatSegmentHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerListBlobFlatSegmentExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.comp2,
+        Parameters.prefix,
+        Parameters.marker,
+        Parameters.maxPageSize,
+        Parameters.restype2,
+        Parameters.include1
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var listBlobHierarchySegmentOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.ListBlobsHierarchySegmentResponse,
+          headersMapper: Mappers.ContainerListBlobHierarchySegmentHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerListBlobHierarchySegmentExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.comp2,
+        Parameters.prefix,
+        Parameters.marker,
+        Parameters.maxPageSize,
+        Parameters.restype2,
+        Parameters.include1,
+        Parameters.delimiter
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var getAccountInfoOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          headersMapper: Mappers.ContainerGetAccountInfoHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerGetAccountInfoExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.comp,
+        Parameters.timeoutInSeconds,
+        Parameters.restype1
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
     };
-    exports2.Credential = Credential;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/credentials/StorageSharedKeyCredential.js
-var require_StorageSharedKeyCredential = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/credentials/StorageSharedKeyCredential.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blob.js
+var require_blob = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blob.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageSharedKeyCredential = void 0;
-    var node_crypto_1 = require("node:crypto");
-    var StorageSharedKeyCredentialPolicy_js_1 = require_StorageSharedKeyCredentialPolicy();
-    var Credential_js_1 = require_Credential();
-    var StorageSharedKeyCredential = class extends Credential_js_1.Credential {
-      /**
-       * Azure Storage account name; readonly.
-       */
-      accountName;
-      /**
-       * Azure Storage account key; readonly.
-       */
-      accountKey;
+    exports2.BlobImpl = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var coreClient = tslib_1.__importStar(require_commonjs8());
+    var Mappers = tslib_1.__importStar(require_mappers());
+    var Parameters = tslib_1.__importStar(require_parameters());
+    var BlobImpl = class {
+      client;
       /**
-       * Creates an instance of StorageSharedKeyCredential.
-       * @param accountName -
-       * @param accountKey -
+       * Initialize a new instance of the class Blob class.
+       * @param client Reference to the service client
        */
-      constructor(accountName, accountKey) {
-        super();
-        this.accountName = accountName;
-        this.accountKey = Buffer.from(accountKey, "base64");
+      constructor(client) {
+        this.client = client;
       }
       /**
-       * Creates a StorageSharedKeyCredentialPolicy object.
-       *
-       * @param nextPolicy -
-       * @param options -
+       * The Download operation reads or downloads a blob from the system, including its metadata and
+       * properties. You can also call Download to read a snapshot.
+       * @param options The options parameters.
        */
-      create(nextPolicy, options) {
-        return new StorageSharedKeyCredentialPolicy_js_1.StorageSharedKeyCredentialPolicy(nextPolicy, options, this);
+      download(options) {
+        return this.client.sendOperationRequest({ options }, downloadOperationSpec);
       }
       /**
-       * Generates a hash signature for an HTTP request or for a SAS.
-       *
-       * @param stringToSign -
+       * The Get Properties operation returns all user-defined metadata, standard HTTP properties, and system
+       * properties for the blob. It does not return the content of the blob.
+       * @param options The options parameters.
        */
-      computeHMACSHA256(stringToSign) {
-        return (0, node_crypto_1.createHmac)("sha256", this.accountKey).update(stringToSign, "utf8").digest("base64");
+      getProperties(options) {
+        return this.client.sendOperationRequest({ options }, getPropertiesOperationSpec);
       }
-    };
-    exports2.StorageSharedKeyCredential = StorageSharedKeyCredential;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/policies/AnonymousCredentialPolicy.js
-var require_AnonymousCredentialPolicy = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/AnonymousCredentialPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AnonymousCredentialPolicy = void 0;
-    var CredentialPolicy_js_1 = require_CredentialPolicy();
-    var AnonymousCredentialPolicy = class extends CredentialPolicy_js_1.CredentialPolicy {
       /**
-       * Creates an instance of AnonymousCredentialPolicy.
-       * @param nextPolicy -
-       * @param options -
+       * If the storage account's soft delete feature is disabled then, when a blob is deleted, it is
+       * permanently removed from the storage account. If the storage account's soft delete feature is
+       * enabled, then, when a blob is deleted, it is marked for deletion and becomes inaccessible
+       * immediately. However, the blob service retains the blob or snapshot for the number of days specified
+       * by the DeleteRetentionPolicy section of [Storage service properties]
+       * (Set-Blob-Service-Properties.md). After the specified number of days has passed, the blob's data is
+       * permanently removed from the storage account. Note that you continue to be charged for the
+       * soft-deleted blob's storage until it is permanently removed. Use the List Blobs API and specify the
+       * "include=deleted" query parameter to discover which blobs and snapshots have been soft deleted. You
+       * can then use the Undelete Blob API to restore a soft-deleted blob. All other operations on a
+       * soft-deleted blob or snapshot causes the service to return an HTTP status code of 404
+       * (ResourceNotFound).
+       * @param options The options parameters.
        */
-      // The base class has a protected constructor. Adding a public one to enable constructing of this class.
-      /* eslint-disable-next-line @typescript-eslint/no-useless-constructor*/
-      constructor(nextPolicy, options) {
-        super(nextPolicy, options);
+      delete(options) {
+        return this.client.sendOperationRequest({ options }, deleteOperationSpec);
       }
-    };
-    exports2.AnonymousCredentialPolicy = AnonymousCredentialPolicy;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/credentials/AnonymousCredential.js
-var require_AnonymousCredential = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/credentials/AnonymousCredential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AnonymousCredential = void 0;
-    var AnonymousCredentialPolicy_js_1 = require_AnonymousCredentialPolicy();
-    var Credential_js_1 = require_Credential();
-    var AnonymousCredential = class extends Credential_js_1.Credential {
       /**
-       * Creates an {@link AnonymousCredentialPolicy} object.
-       *
-       * @param nextPolicy -
-       * @param options -
+       * Undelete a blob that was previously soft deleted
+       * @param options The options parameters.
        */
-      create(nextPolicy, options) {
-        return new AnonymousCredentialPolicy_js_1.AnonymousCredentialPolicy(nextPolicy, options);
+      undelete(options) {
+        return this.client.sendOperationRequest({ options }, undeleteOperationSpec);
       }
-    };
-    exports2.AnonymousCredential = AnonymousCredential;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/BuffersStream.js
-var require_BuffersStream = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/BuffersStream.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BuffersStream = void 0;
-    var node_stream_1 = require("node:stream");
-    var BuffersStream = class extends node_stream_1.Readable {
-      buffers;
-      byteLength;
-      /**
-       * The offset of data to be read in the current buffer.
-       */
-      byteOffsetInCurrentBuffer;
-      /**
-       * The index of buffer to be read in the array of buffers.
-       */
-      bufferIndex;
-      /**
-       * The total length of data already read.
-       */
-      pushedBytesLength;
       /**
-       * Creates an instance of BuffersStream that will emit the data
-       * contained in the array of buffers.
-       *
-       * @param buffers - Array of buffers containing the data
-       * @param byteLength - The total length of data contained in the buffers
+       * Sets the time a blob will expire and be deleted.
+       * @param expiryOptions Required. Indicates mode of the expiry time
+       * @param options The options parameters.
        */
-      constructor(buffers, byteLength, options) {
-        super(options);
-        this.buffers = buffers;
-        this.byteLength = byteLength;
-        this.byteOffsetInCurrentBuffer = 0;
-        this.bufferIndex = 0;
-        this.pushedBytesLength = 0;
-        let buffersLength = 0;
-        for (const buf of this.buffers) {
-          buffersLength += buf.byteLength;
-        }
-        if (buffersLength < this.byteLength) {
-          throw new Error("Data size shouldn't be larger than the total length of buffers.");
-        }
+      setExpiry(expiryOptions, options) {
+        return this.client.sendOperationRequest({ expiryOptions, options }, setExpiryOperationSpec);
       }
       /**
-       * Internal _read() that will be called when the stream wants to pull more data in.
-       *
-       * @param size - Optional. The size of data to be read
+       * The Set HTTP Headers operation sets system properties on the blob
+       * @param options The options parameters.
        */
-      _read(size) {
-        if (this.pushedBytesLength >= this.byteLength) {
-          this.push(null);
-        }
-        if (!size) {
-          size = this.readableHighWaterMark;
-        }
-        const outBuffers = [];
-        let i = 0;
-        while (i < size && this.pushedBytesLength < this.byteLength) {
-          const remainingDataInAllBuffers = this.byteLength - this.pushedBytesLength;
-          const remainingCapacityInThisBuffer = this.buffers[this.bufferIndex].byteLength - this.byteOffsetInCurrentBuffer;
-          const remaining = Math.min(remainingCapacityInThisBuffer, remainingDataInAllBuffers);
-          if (remaining > size - i) {
-            const end = this.byteOffsetInCurrentBuffer + size - i;
-            outBuffers.push(this.buffers[this.bufferIndex].slice(this.byteOffsetInCurrentBuffer, end));
-            this.pushedBytesLength += size - i;
-            this.byteOffsetInCurrentBuffer = end;
-            i = size;
-            break;
-          } else {
-            const end = this.byteOffsetInCurrentBuffer + remaining;
-            outBuffers.push(this.buffers[this.bufferIndex].slice(this.byteOffsetInCurrentBuffer, end));
-            if (remaining === remainingCapacityInThisBuffer) {
-              this.byteOffsetInCurrentBuffer = 0;
-              this.bufferIndex++;
-            } else {
-              this.byteOffsetInCurrentBuffer = end;
-            }
-            this.pushedBytesLength += remaining;
-            i += remaining;
-          }
-        }
-        if (outBuffers.length > 1) {
-          this.push(Buffer.concat(outBuffers));
-        } else if (outBuffers.length === 1) {
-          this.push(outBuffers[0]);
-        }
+      setHttpHeaders(options) {
+        return this.client.sendOperationRequest({ options }, setHttpHeadersOperationSpec);
       }
-    };
-    exports2.BuffersStream = BuffersStream;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/PooledBuffer.js
-var require_PooledBuffer = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/PooledBuffer.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.PooledBuffer = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var BuffersStream_js_1 = require_BuffersStream();
-    var node_buffer_1 = tslib_1.__importDefault(require("node:buffer"));
-    var maxBufferLength = node_buffer_1.default.constants.MAX_LENGTH;
-    var PooledBuffer = class {
-      /**
-       * Internal buffers used to keep the data.
-       * Each buffer has a length of the maxBufferLength except last one.
-       */
-      buffers = [];
-      /**
-       * The total size of internal buffers.
-       */
-      capacity;
-      /**
-       * The total size of data contained in internal buffers.
-       */
-      _size;
       /**
-       * The size of the data contained in the pooled buffers.
+       * The Set Immutability Policy operation sets the immutability policy on the blob
+       * @param options The options parameters.
        */
-      get size() {
-        return this._size;
-      }
-      constructor(capacity, buffers, totalLength) {
-        this.capacity = capacity;
-        this._size = 0;
-        const bufferNum = Math.ceil(capacity / maxBufferLength);
-        for (let i = 0; i < bufferNum; i++) {
-          let len = i === bufferNum - 1 ? capacity % maxBufferLength : maxBufferLength;
-          if (len === 0) {
-            len = maxBufferLength;
-          }
-          this.buffers.push(Buffer.allocUnsafe(len));
-        }
-        if (buffers) {
-          this.fill(buffers, totalLength);
-        }
+      setImmutabilityPolicy(options) {
+        return this.client.sendOperationRequest({ options }, setImmutabilityPolicyOperationSpec);
       }
       /**
-       * Fill the internal buffers with data in the input buffers serially
-       * with respect to the total length and the total capacity of the internal buffers.
-       * Data copied will be shift out of the input buffers.
-       *
-       * @param buffers - Input buffers containing the data to be filled in the pooled buffer
-       * @param totalLength - Total length of the data to be filled in.
-       *
+       * The Delete Immutability Policy operation deletes the immutability policy on the blob
+       * @param options The options parameters.
        */
-      fill(buffers, totalLength) {
-        this._size = Math.min(this.capacity, totalLength);
-        let i = 0, j = 0, targetOffset = 0, sourceOffset = 0, totalCopiedNum = 0;
-        while (totalCopiedNum < this._size) {
-          const source = buffers[i];
-          const target = this.buffers[j];
-          const copiedNum = source.copy(target, targetOffset, sourceOffset);
-          totalCopiedNum += copiedNum;
-          sourceOffset += copiedNum;
-          targetOffset += copiedNum;
-          if (sourceOffset === source.length) {
-            i++;
-            sourceOffset = 0;
-          }
-          if (targetOffset === target.length) {
-            j++;
-            targetOffset = 0;
-          }
-        }
-        buffers.splice(0, i);
-        if (buffers.length > 0) {
-          buffers[0] = buffers[0].slice(sourceOffset);
-        }
+      deleteImmutabilityPolicy(options) {
+        return this.client.sendOperationRequest({ options }, deleteImmutabilityPolicyOperationSpec);
       }
       /**
-       * Get the readable stream assembled from all the data in the internal buffers.
-       *
+       * The Set Legal Hold operation sets a legal hold on the blob.
+       * @param legalHold Specified if a legal hold should be set on the blob.
+       * @param options The options parameters.
        */
-      getReadableStream() {
-        return new BuffersStream_js_1.BuffersStream(this.buffers, this.size);
+      setLegalHold(legalHold, options) {
+        return this.client.sendOperationRequest({ legalHold, options }, setLegalHoldOperationSpec);
       }
-    };
-    exports2.PooledBuffer = PooledBuffer;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/BufferScheduler.js
-var require_BufferScheduler = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/BufferScheduler.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BufferScheduler = void 0;
-    var events_1 = require("events");
-    var PooledBuffer_js_1 = require_PooledBuffer();
-    var BufferScheduler = class {
-      /**
-       * Size of buffers in incoming and outgoing queues. This class will try to align
-       * data read from Readable stream into buffer chunks with bufferSize defined.
-       */
-      bufferSize;
-      /**
-       * How many buffers can be created or maintained.
-       */
-      maxBuffers;
-      /**
-       * A Node.js Readable stream.
-       */
-      readable;
-      /**
-       * OutgoingHandler is an async function triggered by BufferScheduler when there
-       * are available buffers in outgoing array.
-       */
-      outgoingHandler;
-      /**
-       * An internal event emitter.
-       */
-      emitter = new events_1.EventEmitter();
-      /**
-       * Concurrency of executing outgoingHandlers. (0 lesser than concurrency lesser than or equal to maxBuffers)
-       */
-      concurrency;
-      /**
-       * An internal offset marker to track data offset in bytes of next outgoingHandler.
-       */
-      offset = 0;
-      /**
-       * An internal marker to track whether stream is end.
-       */
-      isStreamEnd = false;
-      /**
-       * An internal marker to track whether stream or outgoingHandler returns error.
-       */
-      isError = false;
-      /**
-       * How many handlers are executing.
-       */
-      executingOutgoingHandlers = 0;
-      /**
-       * Encoding of the input Readable stream which has string data type instead of Buffer.
-       */
-      encoding;
-      /**
-       * How many buffers have been allocated.
-       */
-      numBuffers = 0;
-      /**
-       * Because this class doesn't know how much data every time stream pops, which
-       * is defined by highWaterMarker of the stream. So BufferScheduler will cache
-       * data received from the stream, when data in unresolvedDataArray exceeds the
-       * blockSize defined, it will try to concat a blockSize of buffer, fill into available
-       * buffers from incoming and push to outgoing array.
-       */
-      unresolvedDataArray = [];
       /**
-       * How much data consisted in unresolvedDataArray.
+       * The Set Blob Metadata operation sets user-defined metadata for the specified blob as one or more
+       * name-value pairs
+       * @param options The options parameters.
        */
-      unresolvedLength = 0;
+      setMetadata(options) {
+        return this.client.sendOperationRequest({ options }, setMetadataOperationSpec);
+      }
       /**
-       * The array includes all the available buffers can be used to fill data from stream.
+       * [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
+       * operations
+       * @param options The options parameters.
        */
-      incoming = [];
+      acquireLease(options) {
+        return this.client.sendOperationRequest({ options }, acquireLeaseOperationSpec);
+      }
       /**
-       * The array (queue) includes all the buffers filled from stream data.
+       * [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
+       * operations
+       * @param leaseId Specifies the current lease ID on the resource.
+       * @param options The options parameters.
        */
-      outgoing = [];
+      releaseLease(leaseId, options) {
+        return this.client.sendOperationRequest({ leaseId, options }, releaseLeaseOperationSpec);
+      }
       /**
-       * Creates an instance of BufferScheduler.
-       *
-       * @param readable - A Node.js Readable stream
-       * @param bufferSize - Buffer size of every maintained buffer
-       * @param maxBuffers - How many buffers can be allocated
-       * @param outgoingHandler - An async function scheduled to be
-       *                                          triggered when a buffer fully filled
-       *                                          with stream data
-       * @param concurrency - Concurrency of executing outgoingHandlers (>0)
-       * @param encoding - [Optional] Encoding of Readable stream when it's a string stream
+       * [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
+       * operations
+       * @param leaseId Specifies the current lease ID on the resource.
+       * @param options The options parameters.
        */
-      constructor(readable, bufferSize, maxBuffers, outgoingHandler, concurrency, encoding) {
-        if (bufferSize <= 0) {
-          throw new RangeError(`bufferSize must be larger than 0, current is ${bufferSize}`);
-        }
-        if (maxBuffers <= 0) {
-          throw new RangeError(`maxBuffers must be larger than 0, current is ${maxBuffers}`);
-        }
-        if (concurrency <= 0) {
-          throw new RangeError(`concurrency must be larger than 0, current is ${concurrency}`);
-        }
-        this.bufferSize = bufferSize;
-        this.maxBuffers = maxBuffers;
-        this.readable = readable;
-        this.outgoingHandler = outgoingHandler;
-        this.concurrency = concurrency;
-        this.encoding = encoding;
+      renewLease(leaseId, options) {
+        return this.client.sendOperationRequest({ leaseId, options }, renewLeaseOperationSpec);
       }
       /**
-       * Start the scheduler, will return error when stream of any of the outgoingHandlers
-       * returns error.
-       *
+       * [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
+       * operations
+       * @param leaseId Specifies the current lease ID on the resource.
+       * @param proposedLeaseId Proposed lease ID, in a GUID string format. The Blob service returns 400
+       *                        (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor
+       *                        (String) for a list of valid GUID string formats.
+       * @param options The options parameters.
        */
-      async do() {
-        return new Promise((resolve3, reject) => {
-          this.readable.on("data", (data) => {
-            data = typeof data === "string" ? Buffer.from(data, this.encoding) : data;
-            this.appendUnresolvedData(data);
-            if (!this.resolveData()) {
-              this.readable.pause();
-            }
-          });
-          this.readable.on("error", (err) => {
-            this.emitter.emit("error", err);
-          });
-          this.readable.on("end", () => {
-            this.isStreamEnd = true;
-            this.emitter.emit("checkEnd");
-          });
-          this.emitter.on("error", (err) => {
-            this.isError = true;
-            this.readable.pause();
-            reject(err);
-          });
-          this.emitter.on("checkEnd", () => {
-            if (this.outgoing.length > 0) {
-              this.triggerOutgoingHandlers();
-              return;
-            }
-            if (this.isStreamEnd && this.executingOutgoingHandlers === 0) {
-              if (this.unresolvedLength > 0 && this.unresolvedLength < this.bufferSize) {
-                const buffer = this.shiftBufferFromUnresolvedDataArray();
-                this.outgoingHandler(() => buffer.getReadableStream(), buffer.size, this.offset).then(resolve3).catch(reject);
-              } else if (this.unresolvedLength >= this.bufferSize) {
-                return;
-              } else {
-                resolve3();
-              }
-            }
-          });
-        });
+      changeLease(leaseId, proposedLeaseId, options) {
+        return this.client.sendOperationRequest({ leaseId, proposedLeaseId, options }, changeLeaseOperationSpec);
       }
       /**
-       * Insert a new data into unresolved array.
-       *
-       * @param data -
-       */
-      appendUnresolvedData(data) {
-        this.unresolvedDataArray.push(data);
-        this.unresolvedLength += data.length;
+       * [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
+       * operations
+       * @param options The options parameters.
+       */
+      breakLease(options) {
+        return this.client.sendOperationRequest({ options }, breakLeaseOperationSpec);
       }
       /**
-       * Try to shift a buffer with size in blockSize. The buffer returned may be less
-       * than blockSize when data in unresolvedDataArray is less than bufferSize.
-       *
+       * The Create Snapshot operation creates a read-only snapshot of a blob
+       * @param options The options parameters.
        */
-      shiftBufferFromUnresolvedDataArray(buffer) {
-        if (!buffer) {
-          buffer = new PooledBuffer_js_1.PooledBuffer(this.bufferSize, this.unresolvedDataArray, this.unresolvedLength);
-        } else {
-          buffer.fill(this.unresolvedDataArray, this.unresolvedLength);
-        }
-        this.unresolvedLength -= buffer.size;
-        return buffer;
+      createSnapshot(options) {
+        return this.client.sendOperationRequest({ options }, createSnapshotOperationSpec);
       }
       /**
-       * Resolve data in unresolvedDataArray. For every buffer with size in blockSize
-       * shifted, it will try to get (or allocate a buffer) from incoming, and fill it,
-       * then push it into outgoing to be handled by outgoing handler.
-       *
-       * Return false when available buffers in incoming are not enough, else true.
-       *
-       * @returns Return false when buffers in incoming are not enough, else true.
+       * The Start Copy From URL operation copies a blob or an internet resource to a new blob.
+       * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to
+       *                   2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would
+       *                   appear in a request URI. The source blob must either be public or must be authenticated via a shared
+       *                   access signature.
+       * @param options The options parameters.
        */
-      resolveData() {
-        while (this.unresolvedLength >= this.bufferSize) {
-          let buffer;
-          if (this.incoming.length > 0) {
-            buffer = this.incoming.shift();
-            this.shiftBufferFromUnresolvedDataArray(buffer);
-          } else {
-            if (this.numBuffers < this.maxBuffers) {
-              buffer = this.shiftBufferFromUnresolvedDataArray();
-              this.numBuffers++;
-            } else {
-              return false;
-            }
-          }
-          this.outgoing.push(buffer);
-          this.triggerOutgoingHandlers();
-        }
-        return true;
+      startCopyFromURL(copySource, options) {
+        return this.client.sendOperationRequest({ copySource, options }, startCopyFromURLOperationSpec);
       }
       /**
-       * Try to trigger a outgoing handler for every buffer in outgoing. Stop when
-       * concurrency reaches.
+       * The Copy From URL operation copies a blob or an internet resource to a new blob. It will not return
+       * a response until the copy is complete.
+       * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to
+       *                   2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would
+       *                   appear in a request URI. The source blob must either be public or must be authenticated via a shared
+       *                   access signature.
+       * @param options The options parameters.
        */
-      async triggerOutgoingHandlers() {
-        let buffer;
-        do {
-          if (this.executingOutgoingHandlers >= this.concurrency) {
-            return;
-          }
-          buffer = this.outgoing.shift();
-          if (buffer) {
-            this.triggerOutgoingHandler(buffer);
-          }
-        } while (buffer);
+      copyFromURL(copySource, options) {
+        return this.client.sendOperationRequest({ copySource, options }, copyFromURLOperationSpec);
       }
       /**
-       * Trigger a outgoing handler for a buffer shifted from outgoing.
-       *
-       * @param buffer -
+       * The Abort Copy From URL operation aborts a pending Copy From URL operation, and leaves a destination
+       * blob with zero length and full metadata.
+       * @param copyId The copy identifier provided in the x-ms-copy-id header of the original Copy Blob
+       *               operation.
+       * @param options The options parameters.
        */
-      async triggerOutgoingHandler(buffer) {
-        const bufferLength = buffer.size;
-        this.executingOutgoingHandlers++;
-        this.offset += bufferLength;
-        try {
-          await this.outgoingHandler(() => buffer.getReadableStream(), bufferLength, this.offset - bufferLength);
-        } catch (err) {
-          this.emitter.emit("error", err);
-          return;
-        }
-        this.executingOutgoingHandlers--;
-        this.reuseBuffer(buffer);
-        this.emitter.emit("checkEnd");
+      abortCopyFromURL(copyId, options) {
+        return this.client.sendOperationRequest({ copyId, options }, abortCopyFromURLOperationSpec);
       }
       /**
-       * Return buffer used by outgoing handler into incoming.
-       *
-       * @param buffer -
+       * The Set Tier operation sets the tier on a blob. The operation is allowed on a page blob in a premium
+       * storage account and on a block blob in a blob storage account (locally redundant storage only). A
+       * premium page blob's tier determines the allowed size, IOPS, and bandwidth of the blob. A block
+       * blob's tier determines Hot/Cool/Archive storage type. This operation does not update the blob's
+       * ETag.
+       * @param tier Indicates the tier to be set on the blob.
+       * @param options The options parameters.
        */
-      reuseBuffer(buffer) {
-        this.incoming.push(buffer);
-        if (!this.isError && this.resolveData() && !this.isStreamEnd) {
-          this.readable.resume();
-        }
+      setTier(tier, options) {
+        return this.client.sendOperationRequest({ tier, options }, setTierOperationSpec);
       }
-    };
-    exports2.BufferScheduler = BufferScheduler;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/cache.js
-var require_cache3 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/cache.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getCachedDefaultHttpClient = getCachedDefaultHttpClient;
-    var core_rest_pipeline_1 = require_commonjs6();
-    var _defaultHttpClient;
-    function getCachedDefaultHttpClient() {
-      if (!_defaultHttpClient) {
-        _defaultHttpClient = (0, core_rest_pipeline_1.createDefaultHttpClient)();
+      /**
+       * Returns the sku name and account kind
+       * @param options The options parameters.
+       */
+      getAccountInfo(options) {
+        return this.client.sendOperationRequest({ options }, getAccountInfoOperationSpec);
       }
-      return _defaultHttpClient;
-    }
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/policies/RequestPolicy.js
-var require_RequestPolicy2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/RequestPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BaseRequestPolicy = void 0;
-    var BaseRequestPolicy = class {
-      _nextPolicy;
-      _options;
       /**
-       * The main method to implement that manipulates a request/response.
+       * The Query operation enables users to select/project on blob data by providing simple query
+       * expressions.
+       * @param options The options parameters.
        */
-      constructor(_nextPolicy, _options) {
-        this._nextPolicy = _nextPolicy;
-        this._options = _options;
+      query(options) {
+        return this.client.sendOperationRequest({ options }, queryOperationSpec);
       }
       /**
-       * Get whether or not a log with the provided log level should be logged.
-       * @param logLevel - The log level of the log that will be logged.
-       * @returns Whether or not a log with the provided log level should be logged.
+       * The Get Tags operation enables users to get the tags associated with a blob.
+       * @param options The options parameters.
        */
-      shouldLog(logLevel) {
-        return this._options.shouldLog(logLevel);
+      getTags(options) {
+        return this.client.sendOperationRequest({ options }, getTagsOperationSpec);
       }
       /**
-       * Attempt to log the provided message to the provided logger. If no logger was provided or if
-       * the log level does not meat the logger's threshold, then nothing will be logged.
-       * @param logLevel - The log level of this log.
-       * @param message - The message of this log.
+       * The Set Tags operation enables users to set tags on a blob.
+       * @param options The options parameters.
        */
-      log(logLevel, message) {
-        this._options.log(logLevel, message);
+      setTags(options) {
+        return this.client.sendOperationRequest({ options }, setTagsOperationSpec);
       }
     };
-    exports2.BaseRequestPolicy = BaseRequestPolicy;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/utils/constants.js
-var require_constants16 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/utils/constants.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.PathStylePorts = exports2.DevelopmentConnectionString = exports2.HeaderConstants = exports2.URLConstants = exports2.SDK_VERSION = void 0;
-    exports2.SDK_VERSION = "1.0.0";
-    exports2.URLConstants = {
-      Parameters: {
-        FORCE_BROWSER_NO_CACHE: "_",
-        SIGNATURE: "sig",
-        SNAPSHOT: "snapshot",
-        VERSIONID: "versionid",
-        TIMEOUT: "timeout"
-      }
+    exports2.BlobImpl = BlobImpl;
+    var xmlSerializer = coreClient.createSerializer(
+      Mappers,
+      /* isXml */
+      true
+    );
+    var downloadOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: {
+            type: { name: "Stream" },
+            serializedName: "parsedResponse"
+          },
+          headersMapper: Mappers.BlobDownloadHeaders
+        },
+        206: {
+          bodyMapper: {
+            type: { name: "Stream" },
+            serializedName: "parsedResponse"
+          },
+          headersMapper: Mappers.BlobDownloadHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobDownloadExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.versionId
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.range,
+        Parameters.rangeGetContentMD5,
+        Parameters.rangeGetContentCRC64,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
     };
-    exports2.HeaderConstants = {
-      AUTHORIZATION: "Authorization",
-      AUTHORIZATION_SCHEME: "Bearer",
-      CONTENT_ENCODING: "Content-Encoding",
-      CONTENT_ID: "Content-ID",
-      CONTENT_LANGUAGE: "Content-Language",
-      CONTENT_LENGTH: "Content-Length",
-      CONTENT_MD5: "Content-Md5",
-      CONTENT_TRANSFER_ENCODING: "Content-Transfer-Encoding",
-      CONTENT_TYPE: "Content-Type",
-      COOKIE: "Cookie",
-      DATE: "date",
-      IF_MATCH: "if-match",
-      IF_MODIFIED_SINCE: "if-modified-since",
-      IF_NONE_MATCH: "if-none-match",
-      IF_UNMODIFIED_SINCE: "if-unmodified-since",
-      PREFIX_FOR_STORAGE: "x-ms-",
-      RANGE: "Range",
-      USER_AGENT: "User-Agent",
-      X_MS_CLIENT_REQUEST_ID: "x-ms-client-request-id",
-      X_MS_COPY_SOURCE: "x-ms-copy-source",
-      X_MS_DATE: "x-ms-date",
-      X_MS_ERROR_CODE: "x-ms-error-code",
-      X_MS_VERSION: "x-ms-version",
-      X_MS_CopySourceErrorCode: "x-ms-copy-source-error-code"
+    var getPropertiesOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "HEAD",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobGetPropertiesHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobGetPropertiesExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.versionId
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
     };
-    exports2.DevelopmentConnectionString = `DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;`;
-    exports2.PathStylePorts = [
-      "10000",
-      "10001",
-      "10002",
-      "10003",
-      "10004",
-      "10100",
-      "10101",
-      "10102",
-      "10103",
-      "10104",
-      "11000",
-      "11001",
-      "11002",
-      "11003",
-      "11004",
-      "11100",
-      "11101",
-      "11102",
-      "11103",
-      "11104"
-    ];
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/utils/utils.common.js
-var require_utils_common2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/utils/utils.common.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.escapeURLPath = escapeURLPath;
-    exports2.getValueInConnString = getValueInConnString;
-    exports2.extractConnectionStringParts = extractConnectionStringParts;
-    exports2.appendToURLPath = appendToURLPath;
-    exports2.setURLParameter = setURLParameter;
-    exports2.getURLParameter = getURLParameter;
-    exports2.setURLHost = setURLHost;
-    exports2.getURLPath = getURLPath;
-    exports2.getURLScheme = getURLScheme;
-    exports2.getURLPathAndQuery = getURLPathAndQuery;
-    exports2.getURLQueries = getURLQueries;
-    exports2.appendToURLQuery = appendToURLQuery;
-    exports2.truncatedISO8061Date = truncatedISO8061Date;
-    exports2.base64encode = base64encode;
-    exports2.base64decode = base64decode;
-    exports2.generateBlockID = generateBlockID;
-    exports2.delay = delay;
-    exports2.padStart = padStart2;
-    exports2.sanitizeURL = sanitizeURL;
-    exports2.sanitizeHeaders = sanitizeHeaders;
-    exports2.iEqual = iEqual;
-    exports2.getAccountNameFromUrl = getAccountNameFromUrl;
-    exports2.isIpEndpointStyle = isIpEndpointStyle;
-    exports2.attachCredential = attachCredential;
-    exports2.httpAuthorizationToString = httpAuthorizationToString;
-    exports2.EscapePath = EscapePath;
-    exports2.assertResponse = assertResponse;
-    var core_rest_pipeline_1 = require_commonjs6();
-    var core_util_1 = require_commonjs4();
-    var constants_js_1 = require_constants16();
-    function escapeURLPath(url) {
-      const urlParsed = new URL(url);
-      let path4 = urlParsed.pathname;
-      path4 = path4 || "/";
-      path4 = escape(path4);
-      urlParsed.pathname = path4;
-      return urlParsed.toString();
-    }
-    function getProxyUriFromDevConnString(connectionString) {
-      let proxyUri = "";
-      if (connectionString.search("DevelopmentStorageProxyUri=") !== -1) {
-        const matchCredentials = connectionString.split(";");
-        for (const element of matchCredentials) {
-          if (element.trim().startsWith("DevelopmentStorageProxyUri=")) {
-            proxyUri = element.trim().match("DevelopmentStorageProxyUri=(.*)")[1];
-          }
+    var deleteOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "DELETE",
+      responses: {
+        202: {
+          headersMapper: Mappers.BlobDeleteHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobDeleteExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.versionId,
+        Parameters.blobDeleteType
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.deleteSnapshots
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var undeleteOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobUndeleteHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobUndeleteExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp8],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var setExpiryOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobSetExpiryHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobSetExpiryExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp11],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.expiryOptions,
+        Parameters.expiresOn
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var setHttpHeadersOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobSetHttpHeadersHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobSetHttpHeadersExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.comp, Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.blobCacheControl,
+        Parameters.blobContentType,
+        Parameters.blobContentMD5,
+        Parameters.blobContentEncoding,
+        Parameters.blobContentLanguage,
+        Parameters.blobContentDisposition
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var setImmutabilityPolicyOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobSetImmutabilityPolicyHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobSetImmutabilityPolicyExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.versionId,
+        Parameters.comp12
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifUnmodifiedSince,
+        Parameters.immutabilityPolicyExpiry,
+        Parameters.immutabilityPolicyMode
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var deleteImmutabilityPolicyOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "DELETE",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobDeleteImmutabilityPolicyHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobDeleteImmutabilityPolicyExceptionHeaders
         }
-      }
-      return proxyUri;
-    }
-    function getValueInConnString(connectionString, argument) {
-      const elements = connectionString.split(";");
-      for (const element of elements) {
-        if (element.trim().startsWith(argument)) {
-          return element.trim().match(argument + "=(.*)")[1];
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.versionId,
+        Parameters.comp12
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var setLegalHoldOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobSetLegalHoldHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobSetLegalHoldExceptionHeaders
         }
-      }
-      return "";
-    }
-    function extractConnectionStringParts(connectionString) {
-      let proxyUri = "";
-      if (connectionString.startsWith("UseDevelopmentStorage=true")) {
-        proxyUri = getProxyUriFromDevConnString(connectionString);
-        connectionString = constants_js_1.DevelopmentConnectionString;
-      }
-      let blobEndpoint = getValueInConnString(connectionString, "BlobEndpoint");
-      blobEndpoint = blobEndpoint.endsWith("/") ? blobEndpoint.slice(0, -1) : blobEndpoint;
-      if (connectionString.search("DefaultEndpointsProtocol=") !== -1 && connectionString.search("AccountKey=") !== -1) {
-        let defaultEndpointsProtocol = "";
-        let accountName = "";
-        let accountKey = Buffer.from("accountKey", "base64");
-        let endpointSuffix = "";
-        accountName = getValueInConnString(connectionString, "AccountName");
-        accountKey = Buffer.from(getValueInConnString(connectionString, "AccountKey"), "base64");
-        if (!blobEndpoint) {
-          defaultEndpointsProtocol = getValueInConnString(connectionString, "DefaultEndpointsProtocol");
-          const protocol = defaultEndpointsProtocol.toLowerCase();
-          if (protocol !== "https" && protocol !== "http") {
-            throw new Error("Invalid DefaultEndpointsProtocol in the provided Connection String. Expecting 'https' or 'http'");
-          }
-          endpointSuffix = getValueInConnString(connectionString, "EndpointSuffix");
-          if (!endpointSuffix) {
-            throw new Error("Invalid EndpointSuffix in the provided Connection String");
-          }
-          blobEndpoint = `${defaultEndpointsProtocol}://${accountName}.blob.${endpointSuffix}`;
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.versionId,
+        Parameters.comp13
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.legalHold
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var setMetadataOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobSetMetadataHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobSetMetadataExceptionHeaders
         }
-        if (!accountName) {
-          throw new Error("Invalid AccountName in the provided Connection String");
-        } else if (accountKey.length === 0) {
-          throw new Error("Invalid AccountKey in the provided Connection String");
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp6],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var acquireLeaseOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.BlobAcquireLeaseHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobAcquireLeaseExceptionHeaders
         }
-        return {
-          kind: "AccountConnString",
-          url: blobEndpoint,
-          accountName,
-          accountKey,
-          proxyUri
-        };
-      } else {
-        let accountSas = getValueInConnString(connectionString, "SharedAccessSignature");
-        let accountName = getValueInConnString(connectionString, "AccountName");
-        if (!accountName) {
-          accountName = getAccountNameFromUrl(blobEndpoint);
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp10],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.action,
+        Parameters.duration,
+        Parameters.proposedLeaseId,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var releaseLeaseOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobReleaseLeaseHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobReleaseLeaseExceptionHeaders
         }
-        if (!blobEndpoint) {
-          throw new Error("Invalid BlobEndpoint in the provided SAS Connection String");
-        } else if (!accountSas) {
-          throw new Error("Invalid SharedAccessSignature in the provided SAS Connection String");
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp10],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.action1,
+        Parameters.leaseId1,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var renewLeaseOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobRenewLeaseHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobRenewLeaseExceptionHeaders
         }
-        if (accountSas.startsWith("?")) {
-          accountSas = accountSas.substring(1);
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp10],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.leaseId1,
+        Parameters.action2,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var changeLeaseOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobChangeLeaseHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobChangeLeaseExceptionHeaders
         }
-        return { kind: "SASConnString", url: blobEndpoint, accountName, accountSas };
-      }
-    }
-    function escape(text) {
-      return encodeURIComponent(text).replace(/%2F/g, "/").replace(/'/g, "%27").replace(/\+/g, "%20").replace(/%25/g, "%");
-    }
-    function appendToURLPath(url, name) {
-      const urlParsed = new URL(url);
-      let path4 = urlParsed.pathname;
-      path4 = path4 ? path4.endsWith("/") ? `${path4}${name}` : `${path4}/${name}` : name;
-      urlParsed.pathname = path4;
-      return urlParsed.toString();
-    }
-    function setURLParameter(url, name, value) {
-      const urlParsed = new URL(url);
-      const encodedName = encodeURIComponent(name);
-      const encodedValue = value ? encodeURIComponent(value) : void 0;
-      const searchString = urlParsed.search === "" ? "?" : urlParsed.search;
-      const searchPieces = [];
-      for (const pair of searchString.slice(1).split("&")) {
-        if (pair) {
-          const [key] = pair.split("=", 2);
-          if (key !== encodedName) {
-            searchPieces.push(pair);
-          }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp10],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.leaseId1,
+        Parameters.action4,
+        Parameters.proposedLeaseId1,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var breakLeaseOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        202: {
+          headersMapper: Mappers.BlobBreakLeaseHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobBreakLeaseExceptionHeaders
         }
-      }
-      if (encodedValue) {
-        searchPieces.push(`${encodedName}=${encodedValue}`);
-      }
-      urlParsed.search = searchPieces.length ? `?${searchPieces.join("&")}` : "";
-      return urlParsed.toString();
-    }
-    function getURLParameter(url, name) {
-      const urlParsed = new URL(url);
-      return urlParsed.searchParams.get(name) ?? void 0;
-    }
-    function setURLHost(url, host) {
-      const urlParsed = new URL(url);
-      urlParsed.hostname = host;
-      return urlParsed.toString();
-    }
-    function getURLPath(url) {
-      try {
-        const urlParsed = new URL(url);
-        return urlParsed.pathname;
-      } catch (e) {
-        return void 0;
-      }
-    }
-    function getURLScheme(url) {
-      try {
-        const urlParsed = new URL(url);
-        return urlParsed.protocol.endsWith(":") ? urlParsed.protocol.slice(0, -1) : urlParsed.protocol;
-      } catch (e) {
-        return void 0;
-      }
-    }
-    function getURLPathAndQuery(url) {
-      const urlParsed = new URL(url);
-      const pathString = urlParsed.pathname;
-      if (!pathString) {
-        throw new RangeError("Invalid url without valid path.");
-      }
-      let queryString = urlParsed.search || "";
-      queryString = queryString.trim();
-      if (queryString !== "") {
-        queryString = queryString.startsWith("?") ? queryString : `?${queryString}`;
-      }
-      return `${pathString}${queryString}`;
-    }
-    function getURLQueries(url) {
-      let queryString = new URL(url).search;
-      if (!queryString) {
-        return {};
-      }
-      queryString = queryString.trim();
-      queryString = queryString.startsWith("?") ? queryString.substring(1) : queryString;
-      let querySubStrings = queryString.split("&");
-      querySubStrings = querySubStrings.filter((value) => {
-        const indexOfEqual = value.indexOf("=");
-        const lastIndexOfEqual = value.lastIndexOf("=");
-        return indexOfEqual > 0 && indexOfEqual === lastIndexOfEqual && lastIndexOfEqual < value.length - 1;
-      });
-      const queries = {};
-      for (const querySubString of querySubStrings) {
-        const splitResults = querySubString.split("=");
-        const key = splitResults[0];
-        const value = splitResults[1];
-        queries[key] = value;
-      }
-      return queries;
-    }
-    function appendToURLQuery(url, queryParts) {
-      const urlParsed = new URL(url);
-      let query = urlParsed.search;
-      if (query) {
-        query += "&" + queryParts;
-      } else {
-        query = queryParts;
-      }
-      urlParsed.search = query;
-      return urlParsed.toString();
-    }
-    function truncatedISO8061Date(date, withMilliseconds = true) {
-      const dateString = date.toISOString();
-      return withMilliseconds ? dateString.substring(0, dateString.length - 1) + "0000Z" : dateString.substring(0, dateString.length - 5) + "Z";
-    }
-    function base64encode(content) {
-      return !core_util_1.isNodeLike ? btoa(content) : Buffer.from(content).toString("base64");
-    }
-    function base64decode(encodedString) {
-      return !core_util_1.isNodeLike ? atob(encodedString) : Buffer.from(encodedString, "base64").toString();
-    }
-    function generateBlockID(blockIDPrefix, blockIndex) {
-      const maxSourceStringLength = 48;
-      const maxBlockIndexLength = 6;
-      const maxAllowedBlockIDPrefixLength = maxSourceStringLength - maxBlockIndexLength;
-      if (blockIDPrefix.length > maxAllowedBlockIDPrefixLength) {
-        blockIDPrefix = blockIDPrefix.slice(0, maxAllowedBlockIDPrefixLength);
-      }
-      const res = blockIDPrefix + padStart2(blockIndex.toString(), maxSourceStringLength - blockIDPrefix.length, "0");
-      return base64encode(res);
-    }
-    async function delay(timeInMs, aborter, abortError) {
-      return new Promise((resolve3, reject) => {
-        let timeout;
-        const abortHandler = () => {
-          if (timeout !== void 0) {
-            clearTimeout(timeout);
-          }
-          reject(abortError);
-        };
-        const resolveHandler = () => {
-          if (aborter !== void 0) {
-            aborter.removeEventListener("abort", abortHandler);
-          }
-          resolve3();
-        };
-        timeout = setTimeout(resolveHandler, timeInMs);
-        if (aborter !== void 0) {
-          aborter.addEventListener("abort", abortHandler);
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp10],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.action3,
+        Parameters.breakPeriod,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var createSnapshotOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.BlobCreateSnapshotHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobCreateSnapshotExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp14],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var startCopyFromURLOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        202: {
+          headersMapper: Mappers.BlobStartCopyFromURLHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobStartCopyFromURLExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.immutabilityPolicyExpiry,
+        Parameters.immutabilityPolicyMode,
+        Parameters.tier,
+        Parameters.rehydratePriority,
+        Parameters.sourceIfModifiedSince,
+        Parameters.sourceIfUnmodifiedSince,
+        Parameters.sourceIfMatch,
+        Parameters.sourceIfNoneMatch,
+        Parameters.sourceIfTags,
+        Parameters.copySource,
+        Parameters.blobTagsString,
+        Parameters.sealBlob,
+        Parameters.legalHold1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var copyFromURLOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        202: {
+          headersMapper: Mappers.BlobCopyFromURLHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobCopyFromURLExceptionHeaders
         }
-      });
-    }
-    function padStart2(currentString, targetLength, padString = " ") {
-      if (String.prototype.padStart) {
-        return currentString.padStart(targetLength, padString);
-      }
-      padString = padString || " ";
-      if (currentString.length > targetLength) {
-        return currentString;
-      } else {
-        targetLength = targetLength - currentString.length;
-        if (targetLength > padString.length) {
-          padString += padString.repeat(targetLength / padString.length);
+      },
+      queryParameters: [Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.immutabilityPolicyExpiry,
+        Parameters.immutabilityPolicyMode,
+        Parameters.encryptionScope,
+        Parameters.tier,
+        Parameters.sourceIfModifiedSince,
+        Parameters.sourceIfUnmodifiedSince,
+        Parameters.sourceIfMatch,
+        Parameters.sourceIfNoneMatch,
+        Parameters.copySource,
+        Parameters.blobTagsString,
+        Parameters.legalHold1,
+        Parameters.xMsRequiresSync,
+        Parameters.sourceContentMD5,
+        Parameters.copySourceAuthorization,
+        Parameters.copySourceTags,
+        Parameters.fileRequestIntent
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var abortCopyFromURLOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        204: {
+          headersMapper: Mappers.BlobAbortCopyFromURLHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobAbortCopyFromURLExceptionHeaders
         }
-        return padString.slice(0, targetLength) + currentString;
-      }
-    }
-    function sanitizeURL(url) {
-      let safeURL = url;
-      if (getURLParameter(safeURL, constants_js_1.URLConstants.Parameters.SIGNATURE)) {
-        safeURL = setURLParameter(safeURL, constants_js_1.URLConstants.Parameters.SIGNATURE, "*****");
-      }
-      return safeURL;
-    }
-    function sanitizeHeaders(originalHeader) {
-      const headers = (0, core_rest_pipeline_1.createHttpHeaders)();
-      for (const [name, value] of originalHeader) {
-        if (name.toLowerCase() === constants_js_1.HeaderConstants.AUTHORIZATION.toLowerCase()) {
-          headers.set(name, "*****");
-        } else if (name.toLowerCase() === constants_js_1.HeaderConstants.X_MS_COPY_SOURCE) {
-          headers.set(name, sanitizeURL(value));
-        } else {
-          headers.set(name, value);
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.comp15,
+        Parameters.copyId
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.copyActionAbortConstant
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var setTierOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobSetTierHeaders
+        },
+        202: {
+          headersMapper: Mappers.BlobSetTierHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobSetTierExceptionHeaders
         }
-      }
-      return headers;
-    }
-    function iEqual(str1, str2) {
-      return str1.toLocaleLowerCase() === str2.toLocaleLowerCase();
-    }
-    function getAccountNameFromUrl(url) {
-      const parsedUrl = new URL(url);
-      let accountName;
-      try {
-        if (parsedUrl.hostname.split(".")[1] === "blob") {
-          accountName = parsedUrl.hostname.split(".")[0];
-        } else if (isIpEndpointStyle(parsedUrl)) {
-          accountName = parsedUrl.pathname.split("/")[1];
-        } else {
-          accountName = "";
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.versionId,
+        Parameters.comp16
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifTags,
+        Parameters.rehydratePriority,
+        Parameters.tier1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var getAccountInfoOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobGetAccountInfoHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobGetAccountInfoExceptionHeaders
         }
-        return accountName;
-      } catch (error3) {
-        throw new Error("Unable to extract accountName with provided information.");
-      }
-    }
-    function isIpEndpointStyle(parsedUrl) {
-      const host = parsedUrl.host;
-      return /^.*:.*:.*$|^(localhost|host.docker.internal)(:[0-9]+)?$|^(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])){3}(:[0-9]+)?$/.test(host) || Boolean(parsedUrl.port) && constants_js_1.PathStylePorts.includes(parsedUrl.port);
-    }
-    function attachCredential(thing, credential) {
-      thing.credential = credential;
-      return thing;
-    }
-    function httpAuthorizationToString(httpAuthorization) {
-      return httpAuthorization ? httpAuthorization.scheme + " " + httpAuthorization.value : void 0;
-    }
-    function EscapePath(blobName) {
-      const split = blobName.split("/");
-      for (let i = 0; i < split.length; i++) {
-        split[i] = encodeURIComponent(split[i]);
-      }
-      return split.join("/");
-    }
-    function assertResponse(response) {
-      if (`_response` in response) {
-        return response;
-      }
-      throw new TypeError(`Unexpected response object ${response}`);
-    }
+      },
+      queryParameters: [
+        Parameters.comp,
+        Parameters.timeoutInSeconds,
+        Parameters.restype1
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var queryOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "POST",
+      responses: {
+        200: {
+          bodyMapper: {
+            type: { name: "Stream" },
+            serializedName: "parsedResponse"
+          },
+          headersMapper: Mappers.BlobQueryHeaders
+        },
+        206: {
+          bodyMapper: {
+            type: { name: "Stream" },
+            serializedName: "parsedResponse"
+          },
+          headersMapper: Mappers.BlobQueryHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobQueryExceptionHeaders
+        }
+      },
+      requestBody: Parameters.queryRequest,
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.comp17
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.contentType,
+        Parameters.accept,
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "xml",
+      serializer: xmlSerializer
+    };
+    var getTagsOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.BlobTags,
+          headersMapper: Mappers.BlobGetTagsHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobGetTagsExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.versionId,
+        Parameters.comp18
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var setTagsOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        204: {
+          headersMapper: Mappers.BlobSetTagsHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobSetTagsExceptionHeaders
+        }
+      },
+      requestBody: Parameters.tags,
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.versionId,
+        Parameters.comp18
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.contentType,
+        Parameters.accept,
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.leaseId,
+        Parameters.ifTags,
+        Parameters.transactionalContentMD5,
+        Parameters.transactionalContentCrc64
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "xml",
+      serializer: xmlSerializer
+    };
   }
 });
 
-// node_modules/@azure/storage-common/dist/commonjs/policies/StorageBrowserPolicy.js
-var require_StorageBrowserPolicy = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageBrowserPolicy.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/pageBlob.js
+var require_pageBlob = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/pageBlob.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageBrowserPolicy = void 0;
-    var RequestPolicy_js_1 = require_RequestPolicy2();
-    var core_util_1 = require_commonjs4();
-    var constants_js_1 = require_constants16();
-    var utils_common_js_1 = require_utils_common2();
-    var StorageBrowserPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
+    exports2.PageBlobImpl = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var coreClient = tslib_1.__importStar(require_commonjs8());
+    var Mappers = tslib_1.__importStar(require_mappers());
+    var Parameters = tslib_1.__importStar(require_parameters());
+    var PageBlobImpl = class {
+      client;
       /**
-       * Creates an instance of StorageBrowserPolicy.
-       * @param nextPolicy -
-       * @param options -
+       * Initialize a new instance of the class PageBlob class.
+       * @param client Reference to the service client
        */
-      // The base class has a protected constructor. Adding a public one to enable constructing of this class.
-      /* eslint-disable-next-line @typescript-eslint/no-useless-constructor*/
-      constructor(nextPolicy, options) {
-        super(nextPolicy, options);
+      constructor(client) {
+        this.client = client;
       }
       /**
-       * Sends out request.
-       *
-       * @param request -
+       * The Create operation creates a new page blob.
+       * @param contentLength The length of the request.
+       * @param blobContentLength This header specifies the maximum size for the page blob, up to 1 TB. The
+       *                          page blob size must be aligned to a 512-byte boundary.
+       * @param options The options parameters.
        */
-      async sendRequest(request2) {
-        if (core_util_1.isNodeLike) {
-          return this._nextPolicy.sendRequest(request2);
-        }
-        if (request2.method.toUpperCase() === "GET" || request2.method.toUpperCase() === "HEAD") {
-          request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.FORCE_BROWSER_NO_CACHE, (/* @__PURE__ */ new Date()).getTime().toString());
-        }
-        request2.headers.remove(constants_js_1.HeaderConstants.COOKIE);
-        request2.headers.remove(constants_js_1.HeaderConstants.CONTENT_LENGTH);
-        return this._nextPolicy.sendRequest(request2);
+      create(contentLength, blobContentLength, options) {
+        return this.client.sendOperationRequest({ contentLength, blobContentLength, options }, createOperationSpec);
       }
-    };
-    exports2.StorageBrowserPolicy = StorageBrowserPolicy;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/StorageBrowserPolicyFactory.js
-var require_StorageBrowserPolicyFactory = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/StorageBrowserPolicyFactory.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageBrowserPolicyFactory = exports2.StorageBrowserPolicy = void 0;
-    var StorageBrowserPolicy_js_1 = require_StorageBrowserPolicy();
-    Object.defineProperty(exports2, "StorageBrowserPolicy", { enumerable: true, get: function() {
-      return StorageBrowserPolicy_js_1.StorageBrowserPolicy;
-    } });
-    var StorageBrowserPolicyFactory = class {
       /**
-       * Creates a StorageBrowserPolicyFactory object.
-       *
-       * @param nextPolicy -
-       * @param options -
+       * The Upload Pages operation writes a range of pages to a page blob
+       * @param contentLength The length of the request.
+       * @param body Initial data
+       * @param options The options parameters.
        */
-      create(nextPolicy, options) {
-        return new StorageBrowserPolicy_js_1.StorageBrowserPolicy(nextPolicy, options);
+      uploadPages(contentLength, body, options) {
+        return this.client.sendOperationRequest({ contentLength, body, options }, uploadPagesOperationSpec);
       }
-    };
-    exports2.StorageBrowserPolicyFactory = StorageBrowserPolicyFactory;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/policies/CredentialPolicy.js
-var require_CredentialPolicy2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/CredentialPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.CredentialPolicy = void 0;
-    var RequestPolicy_js_1 = require_RequestPolicy2();
-    var CredentialPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
       /**
-       * Sends out request.
-       *
-       * @param request -
+       * The Clear Pages operation clears a set of pages from a page blob
+       * @param contentLength The length of the request.
+       * @param options The options parameters.
        */
-      sendRequest(request2) {
-        return this._nextPolicy.sendRequest(this.signRequest(request2));
+      clearPages(contentLength, options) {
+        return this.client.sendOperationRequest({ contentLength, options }, clearPagesOperationSpec);
       }
       /**
-       * Child classes must implement this method with request signing. This method
-       * will be executed in {@link sendRequest}.
-       *
-       * @param request -
+       * The Upload Pages operation writes a range of pages to a page blob where the contents are read from a
+       * URL
+       * @param sourceUrl Specify a URL to the copy source.
+       * @param sourceRange Bytes of source data in the specified range. The length of this range should
+       *                    match the ContentLength header and x-ms-range/Range destination range header.
+       * @param contentLength The length of the request.
+       * @param range The range of bytes to which the source range would be written. The range should be 512
+       *              aligned and range-end is required.
+       * @param options The options parameters.
        */
-      signRequest(request2) {
-        return request2;
+      uploadPagesFromURL(sourceUrl, sourceRange, contentLength, range, options) {
+        return this.client.sendOperationRequest({ sourceUrl, sourceRange, contentLength, range, options }, uploadPagesFromURLOperationSpec);
       }
-    };
-    exports2.CredentialPolicy = CredentialPolicy;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/policies/AnonymousCredentialPolicy.js
-var require_AnonymousCredentialPolicy2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/AnonymousCredentialPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AnonymousCredentialPolicy = void 0;
-    var CredentialPolicy_js_1 = require_CredentialPolicy2();
-    var AnonymousCredentialPolicy = class extends CredentialPolicy_js_1.CredentialPolicy {
       /**
-       * Creates an instance of AnonymousCredentialPolicy.
-       * @param nextPolicy -
-       * @param options -
+       * The Get Page Ranges operation returns the list of valid page ranges for a page blob or snapshot of a
+       * page blob
+       * @param options The options parameters.
        */
-      // The base class has a protected constructor. Adding a public one to enable constructing of this class.
-      /* eslint-disable-next-line @typescript-eslint/no-useless-constructor*/
-      constructor(nextPolicy, options) {
-        super(nextPolicy, options);
+      getPageRanges(options) {
+        return this.client.sendOperationRequest({ options }, getPageRangesOperationSpec);
       }
-    };
-    exports2.AnonymousCredentialPolicy = AnonymousCredentialPolicy;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/credentials/Credential.js
-var require_Credential2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/credentials/Credential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Credential = void 0;
-    var Credential = class {
       /**
-       * Creates a RequestPolicy object.
-       *
-       * @param _nextPolicy -
-       * @param _options -
+       * The Get Page Ranges Diff operation returns the list of valid page ranges for a page blob that were
+       * changed between target blob and previous snapshot.
+       * @param options The options parameters.
        */
-      create(_nextPolicy, _options) {
-        throw new Error("Method should be implemented in children classes.");
+      getPageRangesDiff(options) {
+        return this.client.sendOperationRequest({ options }, getPageRangesDiffOperationSpec);
+      }
+      /**
+       * Resize the Blob
+       * @param blobContentLength This header specifies the maximum size for the page blob, up to 1 TB. The
+       *                          page blob size must be aligned to a 512-byte boundary.
+       * @param options The options parameters.
+       */
+      resize(blobContentLength, options) {
+        return this.client.sendOperationRequest({ blobContentLength, options }, resizeOperationSpec);
+      }
+      /**
+       * Update the sequence number of the blob
+       * @param sequenceNumberAction Required if the x-ms-blob-sequence-number header is set for the request.
+       *                             This property applies to page blobs only. This property indicates how the service should modify the
+       *                             blob's sequence number
+       * @param options The options parameters.
+       */
+      updateSequenceNumber(sequenceNumberAction, options) {
+        return this.client.sendOperationRequest({ sequenceNumberAction, options }, updateSequenceNumberOperationSpec);
       }
-    };
-    exports2.Credential = Credential;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/credentials/AnonymousCredential.js
-var require_AnonymousCredential2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/credentials/AnonymousCredential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AnonymousCredential = void 0;
-    var AnonymousCredentialPolicy_js_1 = require_AnonymousCredentialPolicy2();
-    var Credential_js_1 = require_Credential2();
-    var AnonymousCredential = class extends Credential_js_1.Credential {
       /**
-       * Creates an {@link AnonymousCredentialPolicy} object.
-       *
-       * @param nextPolicy -
-       * @param options -
+       * The Copy Incremental operation copies a snapshot of the source page blob to a destination page blob.
+       * The snapshot is copied such that only the differential changes between the previously copied
+       * snapshot are transferred to the destination. The copied snapshots are complete copies of the
+       * original snapshot and can be read or copied from as usual. This API is supported since REST version
+       * 2016-05-31.
+       * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to
+       *                   2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would
+       *                   appear in a request URI. The source blob must either be public or must be authenticated via a shared
+       *                   access signature.
+       * @param options The options parameters.
        */
-      create(nextPolicy, options) {
-        return new AnonymousCredentialPolicy_js_1.AnonymousCredentialPolicy(nextPolicy, options);
+      copyIncremental(copySource, options) {
+        return this.client.sendOperationRequest({ copySource, options }, copyIncrementalOperationSpec);
       }
     };
-    exports2.AnonymousCredential = AnonymousCredential;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/utils/SharedKeyComparator.js
-var require_SharedKeyComparator2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/utils/SharedKeyComparator.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.compareHeader = compareHeader;
-    var table_lv0 = new Uint32Array([
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1820,
-      0,
-      1823,
-      1825,
-      1827,
-      1829,
-      0,
-      0,
-      0,
-      1837,
-      2051,
-      0,
-      0,
-      1843,
-      0,
-      3331,
-      3354,
-      3356,
-      3358,
-      3360,
-      3362,
-      3364,
-      3366,
-      3368,
-      3370,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      3586,
-      3593,
-      3594,
-      3610,
-      3617,
-      3619,
-      3621,
-      3628,
-      3634,
-      3637,
-      3638,
-      3656,
-      3665,
-      3696,
-      3708,
-      3710,
-      3721,
-      3722,
-      3729,
-      3737,
-      3743,
-      3746,
-      3748,
-      3750,
-      3751,
-      3753,
-      0,
-      0,
-      0,
-      1859,
-      1860,
-      1864,
-      3586,
-      3593,
-      3594,
-      3610,
-      3617,
-      3619,
-      3621,
-      3628,
-      3634,
-      3637,
-      3638,
-      3656,
-      3665,
-      3696,
-      3708,
-      3710,
-      3721,
-      3722,
-      3729,
-      3737,
-      3743,
-      3746,
-      3748,
-      3750,
-      3751,
-      3753,
-      0,
-      1868,
-      0,
-      1872,
-      0
-    ]);
-    var table_lv2 = new Uint32Array([
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0
-    ]);
-    var table_lv4 = new Uint32Array([
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      32786,
-      0,
-      0,
-      0,
-      0,
-      0,
-      33298,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0
-    ]);
-    function compareHeader(lhs, rhs) {
-      if (isLessThan(lhs, rhs))
-        return -1;
-      return 1;
-    }
-    function isLessThan(lhs, rhs) {
-      const tables = [table_lv0, table_lv2, table_lv4];
-      let curr_level = 0;
-      let i = 0;
-      let j = 0;
-      while (curr_level < tables.length) {
-        if (curr_level === tables.length - 1 && i !== j) {
-          return i > j;
+    exports2.PageBlobImpl = PageBlobImpl;
+    var xmlSerializer = coreClient.createSerializer(
+      Mappers,
+      /* isXml */
+      true
+    );
+    var createOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.PageBlobCreateHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobCreateExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.contentLength,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.blobCacheControl,
+        Parameters.blobContentType,
+        Parameters.blobContentMD5,
+        Parameters.blobContentEncoding,
+        Parameters.blobContentLanguage,
+        Parameters.blobContentDisposition,
+        Parameters.immutabilityPolicyExpiry,
+        Parameters.immutabilityPolicyMode,
+        Parameters.encryptionScope,
+        Parameters.tier,
+        Parameters.blobTagsString,
+        Parameters.legalHold1,
+        Parameters.blobType,
+        Parameters.blobContentLength,
+        Parameters.blobSequenceNumber
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var uploadPagesOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.PageBlobUploadPagesHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobUploadPagesExceptionHeaders
+        }
+      },
+      requestBody: Parameters.body1,
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.contentLength,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.range,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope,
+        Parameters.transactionalContentMD5,
+        Parameters.transactionalContentCrc64,
+        Parameters.contentType1,
+        Parameters.accept2,
+        Parameters.pageWrite,
+        Parameters.ifSequenceNumberLessThanOrEqualTo,
+        Parameters.ifSequenceNumberLessThan,
+        Parameters.ifSequenceNumberEqualTo
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "binary",
+      serializer: xmlSerializer
+    };
+    var clearPagesOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.PageBlobClearPagesHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobClearPagesExceptionHeaders
         }
-        const weight1 = i < lhs.length ? tables[curr_level][lhs[i].charCodeAt(0)] : 1;
-        const weight2 = j < rhs.length ? tables[curr_level][rhs[j].charCodeAt(0)] : 1;
-        if (weight1 === 1 && weight2 === 1) {
-          i = 0;
-          j = 0;
-          ++curr_level;
-        } else if (weight1 === weight2) {
-          ++i;
-          ++j;
-        } else if (weight1 === 0) {
-          ++i;
-        } else if (weight2 === 0) {
-          ++j;
-        } else {
-          return weight1 < weight2;
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.contentLength,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.range,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope,
+        Parameters.ifSequenceNumberLessThanOrEqualTo,
+        Parameters.ifSequenceNumberLessThan,
+        Parameters.ifSequenceNumberEqualTo,
+        Parameters.pageWrite1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var uploadPagesFromURLOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.PageBlobUploadPagesFromURLHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobUploadPagesFromURLExceptionHeaders
         }
-      }
-      return false;
-    }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.contentLength,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope,
+        Parameters.sourceIfModifiedSince,
+        Parameters.sourceIfUnmodifiedSince,
+        Parameters.sourceIfMatch,
+        Parameters.sourceIfNoneMatch,
+        Parameters.sourceContentMD5,
+        Parameters.copySourceAuthorization,
+        Parameters.fileRequestIntent,
+        Parameters.pageWrite,
+        Parameters.ifSequenceNumberLessThanOrEqualTo,
+        Parameters.ifSequenceNumberLessThan,
+        Parameters.ifSequenceNumberEqualTo,
+        Parameters.sourceUrl,
+        Parameters.sourceRange,
+        Parameters.sourceContentCrc64,
+        Parameters.range1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var getPageRangesOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.PageList,
+          headersMapper: Mappers.PageBlobGetPageRangesHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobGetPageRangesExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.marker,
+        Parameters.maxPageSize,
+        Parameters.snapshot,
+        Parameters.comp20
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.range,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var getPageRangesDiffOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.PageList,
+          headersMapper: Mappers.PageBlobGetPageRangesDiffHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobGetPageRangesDiffExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.marker,
+        Parameters.maxPageSize,
+        Parameters.snapshot,
+        Parameters.comp20,
+        Parameters.prevsnapshot
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.range,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.prevSnapshotUrl
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var resizeOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.PageBlobResizeHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobResizeExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.comp, Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope,
+        Parameters.blobContentLength
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var updateSequenceNumberOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.PageBlobUpdateSequenceNumberHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobUpdateSequenceNumberExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.comp, Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.blobSequenceNumber,
+        Parameters.sequenceNumberAction
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var copyIncrementalOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        202: {
+          headersMapper: Mappers.PageBlobCopyIncrementalHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobCopyIncrementalExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp21],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.copySource
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
   }
 });
 
-// node_modules/@azure/storage-common/dist/commonjs/policies/StorageSharedKeyCredentialPolicy.js
-var require_StorageSharedKeyCredentialPolicy2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageSharedKeyCredentialPolicy.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/appendBlob.js
+var require_appendBlob = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/appendBlob.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageSharedKeyCredentialPolicy = void 0;
-    var constants_js_1 = require_constants16();
-    var utils_common_js_1 = require_utils_common2();
-    var CredentialPolicy_js_1 = require_CredentialPolicy2();
-    var SharedKeyComparator_js_1 = require_SharedKeyComparator2();
-    var StorageSharedKeyCredentialPolicy = class extends CredentialPolicy_js_1.CredentialPolicy {
-      /**
-       * Reference to StorageSharedKeyCredential which generates StorageSharedKeyCredentialPolicy
-       */
-      factory;
+    exports2.AppendBlobImpl = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var coreClient = tslib_1.__importStar(require_commonjs8());
+    var Mappers = tslib_1.__importStar(require_mappers());
+    var Parameters = tslib_1.__importStar(require_parameters());
+    var AppendBlobImpl = class {
+      client;
       /**
-       * Creates an instance of StorageSharedKeyCredentialPolicy.
-       * @param nextPolicy -
-       * @param options -
-       * @param factory -
+       * Initialize a new instance of the class AppendBlob class.
+       * @param client Reference to the service client
        */
-      constructor(nextPolicy, options, factory) {
-        super(nextPolicy, options);
-        this.factory = factory;
+      constructor(client) {
+        this.client = client;
       }
       /**
-       * Signs request.
-       *
-       * @param request -
+       * The Create Append Blob operation creates a new append blob.
+       * @param contentLength The length of the request.
+       * @param options The options parameters.
        */
-      signRequest(request2) {
-        request2.headers.set(constants_js_1.HeaderConstants.X_MS_DATE, (/* @__PURE__ */ new Date()).toUTCString());
-        if (request2.body && (typeof request2.body === "string" || request2.body !== void 0) && request2.body.length > 0) {
-          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
-        }
-        const stringToSign = [
-          request2.method.toUpperCase(),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LANGUAGE),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_ENCODING),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LENGTH),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_MD5),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_TYPE),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.DATE),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MODIFIED_SINCE),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MATCH),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_NONE_MATCH),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_UNMODIFIED_SINCE),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.RANGE)
-        ].join("\n") + "\n" + this.getCanonicalizedHeadersString(request2) + this.getCanonicalizedResourceString(request2);
-        const signature = this.factory.computeHMACSHA256(stringToSign);
-        request2.headers.set(constants_js_1.HeaderConstants.AUTHORIZATION, `SharedKey ${this.factory.accountName}:${signature}`);
-        return request2;
+      create(contentLength, options) {
+        return this.client.sendOperationRequest({ contentLength, options }, createOperationSpec);
       }
       /**
-       * Retrieve header value according to shared key sign rules.
-       * @see https://learn.microsoft.com/en-us/rest/api/storageservices/authenticate-with-shared-key
-       *
-       * @param request -
-       * @param headerName -
+       * The Append Block operation commits a new block of data to the end of an existing append blob. The
+       * Append Block operation is permitted only if the blob was created with x-ms-blob-type set to
+       * AppendBlob. Append Block is supported only on version 2015-02-21 version or later.
+       * @param contentLength The length of the request.
+       * @param body Initial data
+       * @param options The options parameters.
        */
-      getHeaderValueToSign(request2, headerName) {
-        const value = request2.headers.get(headerName);
-        if (!value) {
-          return "";
-        }
-        if (headerName === constants_js_1.HeaderConstants.CONTENT_LENGTH && value === "0") {
-          return "";
-        }
-        return value;
+      appendBlock(contentLength, body, options) {
+        return this.client.sendOperationRequest({ contentLength, body, options }, appendBlockOperationSpec);
       }
       /**
-       * To construct the CanonicalizedHeaders portion of the signature string, follow these steps:
-       * 1. Retrieve all headers for the resource that begin with x-ms-, including the x-ms-date header.
-       * 2. Convert each HTTP header name to lowercase.
-       * 3. Sort the headers lexicographically by header name, in ascending order.
-       *    Each header may appear only once in the string.
-       * 4. Replace any linear whitespace in the header value with a single space.
-       * 5. Trim any whitespace around the colon in the header.
-       * 6. Finally, append a new-line character to each canonicalized header in the resulting list.
-       *    Construct the CanonicalizedHeaders string by concatenating all headers in this list into a single string.
-       *
-       * @param request -
+       * The Append Block operation commits a new block of data to the end of an existing append blob where
+       * the contents are read from a source url. The Append Block operation is permitted only if the blob
+       * was created with x-ms-blob-type set to AppendBlob. Append Block is supported only on version
+       * 2015-02-21 version or later.
+       * @param sourceUrl Specify a URL to the copy source.
+       * @param contentLength The length of the request.
+       * @param options The options parameters.
        */
-      getCanonicalizedHeadersString(request2) {
-        let headersArray = request2.headers.headersArray().filter((value) => {
-          return value.name.toLowerCase().startsWith(constants_js_1.HeaderConstants.PREFIX_FOR_STORAGE);
-        });
-        headersArray.sort((a, b) => {
-          return (0, SharedKeyComparator_js_1.compareHeader)(a.name.toLowerCase(), b.name.toLowerCase());
-        });
-        headersArray = headersArray.filter((value, index, array) => {
-          if (index > 0 && value.name.toLowerCase() === array[index - 1].name.toLowerCase()) {
-            return false;
-          }
-          return true;
-        });
-        let canonicalizedHeadersStringToSign = "";
-        headersArray.forEach((header) => {
-          canonicalizedHeadersStringToSign += `${header.name.toLowerCase().trimRight()}:${header.value.trimLeft()}
-`;
-        });
-        return canonicalizedHeadersStringToSign;
+      appendBlockFromUrl(sourceUrl, contentLength, options) {
+        return this.client.sendOperationRequest({ sourceUrl, contentLength, options }, appendBlockFromUrlOperationSpec);
       }
       /**
-       * Retrieves the webResource canonicalized resource string.
-       *
-       * @param request -
+       * The Seal operation seals the Append Blob to make it read-only. Seal is supported only on version
+       * 2019-12-12 version or later.
+       * @param options The options parameters.
        */
-      getCanonicalizedResourceString(request2) {
-        const path4 = (0, utils_common_js_1.getURLPath)(request2.url) || "/";
-        let canonicalizedResourceString = "";
-        canonicalizedResourceString += `/${this.factory.accountName}${path4}`;
-        const queries = (0, utils_common_js_1.getURLQueries)(request2.url);
-        const lowercaseQueries = {};
-        if (queries) {
-          const queryKeys = [];
-          for (const key in queries) {
-            if (Object.prototype.hasOwnProperty.call(queries, key)) {
-              const lowercaseKey = key.toLowerCase();
-              lowercaseQueries[lowercaseKey] = queries[key];
-              queryKeys.push(lowercaseKey);
-            }
-          }
-          queryKeys.sort();
-          for (const key of queryKeys) {
-            canonicalizedResourceString += `
-${key}:${decodeURIComponent(lowercaseQueries[key])}`;
-          }
+      seal(options) {
+        return this.client.sendOperationRequest({ options }, sealOperationSpec);
+      }
+    };
+    exports2.AppendBlobImpl = AppendBlobImpl;
+    var xmlSerializer = coreClient.createSerializer(
+      Mappers,
+      /* isXml */
+      true
+    );
+    var createOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.AppendBlobCreateHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.AppendBlobCreateExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.contentLength,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.blobCacheControl,
+        Parameters.blobContentType,
+        Parameters.blobContentMD5,
+        Parameters.blobContentEncoding,
+        Parameters.blobContentLanguage,
+        Parameters.blobContentDisposition,
+        Parameters.immutabilityPolicyExpiry,
+        Parameters.immutabilityPolicyMode,
+        Parameters.encryptionScope,
+        Parameters.blobTagsString,
+        Parameters.legalHold1,
+        Parameters.blobType1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var appendBlockOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.AppendBlobAppendBlockHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.AppendBlobAppendBlockExceptionHeaders
         }
-        return canonicalizedResourceString;
-      }
+      },
+      requestBody: Parameters.body1,
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp22],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.contentLength,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope,
+        Parameters.transactionalContentMD5,
+        Parameters.transactionalContentCrc64,
+        Parameters.contentType1,
+        Parameters.accept2,
+        Parameters.maxSize,
+        Parameters.appendPosition
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "binary",
+      serializer: xmlSerializer
+    };
+    var appendBlockFromUrlOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.AppendBlobAppendBlockFromUrlHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.AppendBlobAppendBlockFromUrlExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp22],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.contentLength,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope,
+        Parameters.sourceIfModifiedSince,
+        Parameters.sourceIfUnmodifiedSince,
+        Parameters.sourceIfMatch,
+        Parameters.sourceIfNoneMatch,
+        Parameters.sourceContentMD5,
+        Parameters.copySourceAuthorization,
+        Parameters.fileRequestIntent,
+        Parameters.transactionalContentMD5,
+        Parameters.sourceUrl,
+        Parameters.sourceContentCrc64,
+        Parameters.maxSize,
+        Parameters.appendPosition,
+        Parameters.sourceRange1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var sealOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.AppendBlobSealHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.AppendBlobSealExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp23],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.appendPosition
+      ],
+      isXML: true,
+      serializer: xmlSerializer
     };
-    exports2.StorageSharedKeyCredentialPolicy = StorageSharedKeyCredentialPolicy;
   }
 });
 
-// node_modules/@azure/storage-common/dist/commonjs/credentials/StorageSharedKeyCredential.js
-var require_StorageSharedKeyCredential2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/credentials/StorageSharedKeyCredential.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blockBlob.js
+var require_blockBlob = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blockBlob.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageSharedKeyCredential = void 0;
-    var node_crypto_1 = require("node:crypto");
-    var StorageSharedKeyCredentialPolicy_js_1 = require_StorageSharedKeyCredentialPolicy2();
-    var Credential_js_1 = require_Credential2();
-    var StorageSharedKeyCredential = class extends Credential_js_1.Credential {
-      /**
-       * Azure Storage account name; readonly.
-       */
-      accountName;
-      /**
-       * Azure Storage account key; readonly.
-       */
-      accountKey;
+    exports2.BlockBlobImpl = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var coreClient = tslib_1.__importStar(require_commonjs8());
+    var Mappers = tslib_1.__importStar(require_mappers());
+    var Parameters = tslib_1.__importStar(require_parameters());
+    var BlockBlobImpl = class {
+      client;
       /**
-       * Creates an instance of StorageSharedKeyCredential.
-       * @param accountName -
-       * @param accountKey -
+       * Initialize a new instance of the class BlockBlob class.
+       * @param client Reference to the service client
        */
-      constructor(accountName, accountKey) {
-        super();
-        this.accountName = accountName;
-        this.accountKey = Buffer.from(accountKey, "base64");
+      constructor(client) {
+        this.client = client;
       }
       /**
-       * Creates a StorageSharedKeyCredentialPolicy object.
-       *
-       * @param nextPolicy -
-       * @param options -
+       * The Upload Block Blob operation updates the content of an existing block blob. Updating an existing
+       * block blob overwrites any existing metadata on the blob. Partial updates are not supported with Put
+       * Blob; the content of the existing blob is overwritten with the content of the new blob. To perform a
+       * partial update of the content of a block blob, use the Put Block List operation.
+       * @param contentLength The length of the request.
+       * @param body Initial data
+       * @param options The options parameters.
        */
-      create(nextPolicy, options) {
-        return new StorageSharedKeyCredentialPolicy_js_1.StorageSharedKeyCredentialPolicy(nextPolicy, options, this);
+      upload(contentLength, body, options) {
+        return this.client.sendOperationRequest({ contentLength, body, options }, uploadOperationSpec);
       }
       /**
-       * Generates a hash signature for an HTTP request or for a SAS.
-       *
-       * @param stringToSign -
+       * The Put Blob from URL operation creates a new Block Blob where the contents of the blob are read
+       * from a given URL.  This API is supported beginning with the 2020-04-08 version. Partial updates are
+       * not supported with Put Blob from URL; the content of an existing blob is overwritten with the
+       * content of the new blob.  To perform partial updates to a block blob’s contents using a source URL,
+       * use the Put Block from URL API in conjunction with Put Block List.
+       * @param contentLength The length of the request.
+       * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to
+       *                   2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would
+       *                   appear in a request URI. The source blob must either be public or must be authenticated via a shared
+       *                   access signature.
+       * @param options The options parameters.
        */
-      computeHMACSHA256(stringToSign) {
-        return (0, node_crypto_1.createHmac)("sha256", this.accountKey).update(stringToSign, "utf8").digest("base64");
-      }
-    };
-    exports2.StorageSharedKeyCredential = StorageSharedKeyCredential;
-  }
-});
-
-// node_modules/@azure/storage-common/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js
-var require_AbortError4 = __commonJS({
-  "node_modules/@azure/storage-common/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AbortError = void 0;
-    var AbortError = class extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "AbortError";
+      putBlobFromUrl(contentLength, copySource, options) {
+        return this.client.sendOperationRequest({ contentLength, copySource, options }, putBlobFromUrlOperationSpec);
       }
-    };
-    exports2.AbortError = AbortError;
-  }
-});
-
-// node_modules/@azure/storage-common/node_modules/@azure/abort-controller/dist/commonjs/index.js
-var require_commonjs12 = __commonJS({
-  "node_modules/@azure/storage-common/node_modules/@azure/abort-controller/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AbortError = void 0;
-    var AbortError_js_1 = require_AbortError4();
-    Object.defineProperty(exports2, "AbortError", { enumerable: true, get: function() {
-      return AbortError_js_1.AbortError;
-    } });
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/log.js
-var require_log6 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/log.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.logger = void 0;
-    var logger_1 = require_commonjs2();
-    exports2.logger = (0, logger_1.createClientLogger)("storage-common");
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicyType.js
-var require_StorageRetryPolicyType2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicyType.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageRetryPolicyType = void 0;
-    var StorageRetryPolicyType;
-    (function(StorageRetryPolicyType2) {
-      StorageRetryPolicyType2[StorageRetryPolicyType2["EXPONENTIAL"] = 0] = "EXPONENTIAL";
-      StorageRetryPolicyType2[StorageRetryPolicyType2["FIXED"] = 1] = "FIXED";
-    })(StorageRetryPolicyType || (exports2.StorageRetryPolicyType = StorageRetryPolicyType = {}));
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicy.js
-var require_StorageRetryPolicy2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageRetryPolicy = void 0;
-    exports2.NewRetryPolicyFactory = NewRetryPolicyFactory;
-    var abort_controller_1 = require_commonjs12();
-    var RequestPolicy_js_1 = require_RequestPolicy2();
-    var constants_js_1 = require_constants16();
-    var utils_common_js_1 = require_utils_common2();
-    var log_js_1 = require_log6();
-    var StorageRetryPolicyType_js_1 = require_StorageRetryPolicyType2();
-    function NewRetryPolicyFactory(retryOptions) {
-      return {
-        create: (nextPolicy, options) => {
-          return new StorageRetryPolicy(nextPolicy, options, retryOptions);
-        }
-      };
-    }
-    var DEFAULT_RETRY_OPTIONS = {
-      maxRetryDelayInMs: 120 * 1e3,
-      maxTries: 4,
-      retryDelayInMs: 4 * 1e3,
-      retryPolicyType: StorageRetryPolicyType_js_1.StorageRetryPolicyType.EXPONENTIAL,
-      secondaryHost: "",
-      tryTimeoutInMs: void 0
-      // Use server side default timeout strategy
-    };
-    var RETRY_ABORT_ERROR = new abort_controller_1.AbortError("The operation was aborted.");
-    var StorageRetryPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
-      /**
-       * RetryOptions.
-       */
-      retryOptions;
       /**
-       * Creates an instance of RetryPolicy.
-       *
-       * @param nextPolicy -
-       * @param options -
-       * @param retryOptions -
+       * The Stage Block operation creates a new block to be committed as part of a blob
+       * @param blockId A valid Base64 string value that identifies the block. Prior to encoding, the string
+       *                must be less than or equal to 64 bytes in size. For a given blob, the length of the value specified
+       *                for the blockid parameter must be the same size for each block.
+       * @param contentLength The length of the request.
+       * @param body Initial data
+       * @param options The options parameters.
        */
-      constructor(nextPolicy, options, retryOptions = DEFAULT_RETRY_OPTIONS) {
-        super(nextPolicy, options);
-        this.retryOptions = {
-          retryPolicyType: retryOptions.retryPolicyType ? retryOptions.retryPolicyType : DEFAULT_RETRY_OPTIONS.retryPolicyType,
-          maxTries: retryOptions.maxTries && retryOptions.maxTries >= 1 ? Math.floor(retryOptions.maxTries) : DEFAULT_RETRY_OPTIONS.maxTries,
-          tryTimeoutInMs: retryOptions.tryTimeoutInMs && retryOptions.tryTimeoutInMs >= 0 ? retryOptions.tryTimeoutInMs : DEFAULT_RETRY_OPTIONS.tryTimeoutInMs,
-          retryDelayInMs: retryOptions.retryDelayInMs && retryOptions.retryDelayInMs >= 0 ? Math.min(retryOptions.retryDelayInMs, retryOptions.maxRetryDelayInMs ? retryOptions.maxRetryDelayInMs : DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs) : DEFAULT_RETRY_OPTIONS.retryDelayInMs,
-          maxRetryDelayInMs: retryOptions.maxRetryDelayInMs && retryOptions.maxRetryDelayInMs >= 0 ? retryOptions.maxRetryDelayInMs : DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs,
-          secondaryHost: retryOptions.secondaryHost ? retryOptions.secondaryHost : DEFAULT_RETRY_OPTIONS.secondaryHost
-        };
+      stageBlock(blockId, contentLength, body, options) {
+        return this.client.sendOperationRequest({ blockId, contentLength, body, options }, stageBlockOperationSpec);
       }
       /**
-       * Sends request.
-       *
-       * @param request -
+       * The Stage Block operation creates a new block to be committed as part of a blob where the contents
+       * are read from a URL.
+       * @param blockId A valid Base64 string value that identifies the block. Prior to encoding, the string
+       *                must be less than or equal to 64 bytes in size. For a given blob, the length of the value specified
+       *                for the blockid parameter must be the same size for each block.
+       * @param contentLength The length of the request.
+       * @param sourceUrl Specify a URL to the copy source.
+       * @param options The options parameters.
        */
-      async sendRequest(request2) {
-        return this.attemptSendRequest(request2, false, 1);
+      stageBlockFromURL(blockId, contentLength, sourceUrl, options) {
+        return this.client.sendOperationRequest({ blockId, contentLength, sourceUrl, options }, stageBlockFromURLOperationSpec);
       }
       /**
-       * Decide and perform next retry. Won't mutate request parameter.
-       *
-       * @param request -
-       * @param secondaryHas404 -  If attempt was against the secondary & it returned a StatusNotFound (404), then
-       *                                   the resource was not found. This may be due to replication delay. So, in this
-       *                                   case, we'll never try the secondary again for this operation.
-       * @param attempt -           How many retries has been attempted to performed, starting from 1, which includes
-       *                                   the attempt will be performed by this method call.
+       * The Commit Block List operation writes a blob by specifying the list of block IDs that make up the
+       * blob. In order to be written as part of a blob, a block must have been successfully written to the
+       * server in a prior Put Block operation. You can call Put Block List to update a blob by uploading
+       * only those blocks that have changed, then committing the new and existing blocks together. You can
+       * do this by specifying whether to commit a block from the committed block list or from the
+       * uncommitted block list, or to commit the most recently uploaded version of the block, whichever list
+       * it may belong to.
+       * @param blocks Blob Blocks.
+       * @param options The options parameters.
        */
-      async attemptSendRequest(request2, secondaryHas404, attempt) {
-        const newRequest = request2.clone();
-        const isPrimaryRetry = secondaryHas404 || !this.retryOptions.secondaryHost || !(request2.method === "GET" || request2.method === "HEAD" || request2.method === "OPTIONS") || attempt % 2 === 1;
-        if (!isPrimaryRetry) {
-          newRequest.url = (0, utils_common_js_1.setURLHost)(newRequest.url, this.retryOptions.secondaryHost);
-        }
-        if (this.retryOptions.tryTimeoutInMs) {
-          newRequest.url = (0, utils_common_js_1.setURLParameter)(newRequest.url, constants_js_1.URLConstants.Parameters.TIMEOUT, Math.floor(this.retryOptions.tryTimeoutInMs / 1e3).toString());
-        }
-        let response;
-        try {
-          log_js_1.logger.info(`RetryPolicy: =====> Try=${attempt} ${isPrimaryRetry ? "Primary" : "Secondary"}`);
-          response = await this._nextPolicy.sendRequest(newRequest);
-          if (!this.shouldRetry(isPrimaryRetry, attempt, response)) {
-            return response;
-          }
-          secondaryHas404 = secondaryHas404 || !isPrimaryRetry && response.status === 404;
-        } catch (err) {
-          log_js_1.logger.error(`RetryPolicy: Caught error, message: ${err.message}, code: ${err.code}`);
-          if (!this.shouldRetry(isPrimaryRetry, attempt, response, err)) {
-            throw err;
-          }
-        }
-        await this.delay(isPrimaryRetry, attempt, request2.abortSignal);
-        return this.attemptSendRequest(request2, secondaryHas404, ++attempt);
+      commitBlockList(blocks, options) {
+        return this.client.sendOperationRequest({ blocks, options }, commitBlockListOperationSpec);
       }
       /**
-       * Decide whether to retry according to last HTTP response and retry counters.
-       *
-       * @param isPrimaryRetry -
-       * @param attempt -
-       * @param response -
-       * @param err -
+       * The Get Block List operation retrieves the list of blocks that have been uploaded as part of a block
+       * blob
+       * @param listType Specifies whether to return the list of committed blocks, the list of uncommitted
+       *                 blocks, or both lists together.
+       * @param options The options parameters.
        */
-      shouldRetry(isPrimaryRetry, attempt, response, err) {
-        if (attempt >= this.retryOptions.maxTries) {
-          log_js_1.logger.info(`RetryPolicy: Attempt(s) ${attempt} >= maxTries ${this.retryOptions.maxTries}, no further try.`);
-          return false;
-        }
-        const retriableErrors = [
-          "ETIMEDOUT",
-          "ESOCKETTIMEDOUT",
-          "ECONNREFUSED",
-          "ECONNRESET",
-          "ENOENT",
-          "ENOTFOUND",
-          "TIMEOUT",
-          "EPIPE",
-          "REQUEST_SEND_ERROR"
-          // For default xhr based http client provided in ms-rest-js
-        ];
-        if (err) {
-          for (const retriableError of retriableErrors) {
-            if (err.name.toUpperCase().includes(retriableError) || err.message.toUpperCase().includes(retriableError) || err.code && err.code.toString().toUpperCase() === retriableError) {
-              log_js_1.logger.info(`RetryPolicy: Network error ${retriableError} found, will retry.`);
-              return true;
-            }
-          }
-        }
-        if (response || err) {
-          const statusCode = response ? response.status : err ? err.statusCode : 0;
-          if (!isPrimaryRetry && statusCode === 404) {
-            log_js_1.logger.info(`RetryPolicy: Secondary access with 404, will retry.`);
-            return true;
-          }
-          if (statusCode === 503 || statusCode === 500) {
-            log_js_1.logger.info(`RetryPolicy: Will retry for status code ${statusCode}.`);
-            return true;
-          }
-        }
-        if (response) {
-          if (response?.status >= 400) {
-            const copySourceError = response.headers.get(constants_js_1.HeaderConstants.X_MS_CopySourceErrorCode);
-            if (copySourceError !== void 0) {
-              switch (copySourceError) {
-                case "InternalError":
-                case "OperationTimedOut":
-                case "ServerBusy":
-                  return true;
-              }
-            }
-          }
-        }
-        if (err?.code === "PARSE_ERROR" && err?.message.startsWith(`Error "Error: Unclosed root tag`)) {
-          log_js_1.logger.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry.");
-          return true;
-        }
-        return false;
+      getBlockList(listType, options) {
+        return this.client.sendOperationRequest({ listType, options }, getBlockListOperationSpec);
       }
-      /**
-       * Delay a calculated time between retries.
-       *
-       * @param isPrimaryRetry -
-       * @param attempt -
-       * @param abortSignal -
-       */
-      async delay(isPrimaryRetry, attempt, abortSignal) {
-        let delayTimeInMs = 0;
-        if (isPrimaryRetry) {
-          switch (this.retryOptions.retryPolicyType) {
-            case StorageRetryPolicyType_js_1.StorageRetryPolicyType.EXPONENTIAL:
-              delayTimeInMs = Math.min((Math.pow(2, attempt - 1) - 1) * this.retryOptions.retryDelayInMs, this.retryOptions.maxRetryDelayInMs);
-              break;
-            case StorageRetryPolicyType_js_1.StorageRetryPolicyType.FIXED:
-              delayTimeInMs = this.retryOptions.retryDelayInMs;
-              break;
-          }
-        } else {
-          delayTimeInMs = Math.random() * 1e3;
+    };
+    exports2.BlockBlobImpl = BlockBlobImpl;
+    var xmlSerializer = coreClient.createSerializer(
+      Mappers,
+      /* isXml */
+      true
+    );
+    var uploadOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.BlockBlobUploadHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlockBlobUploadExceptionHeaders
+        }
+      },
+      requestBody: Parameters.body1,
+      queryParameters: [Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.contentLength,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.blobCacheControl,
+        Parameters.blobContentType,
+        Parameters.blobContentMD5,
+        Parameters.blobContentEncoding,
+        Parameters.blobContentLanguage,
+        Parameters.blobContentDisposition,
+        Parameters.immutabilityPolicyExpiry,
+        Parameters.immutabilityPolicyMode,
+        Parameters.encryptionScope,
+        Parameters.tier,
+        Parameters.blobTagsString,
+        Parameters.legalHold1,
+        Parameters.transactionalContentMD5,
+        Parameters.transactionalContentCrc64,
+        Parameters.contentType1,
+        Parameters.accept2,
+        Parameters.blobType2
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "binary",
+      serializer: xmlSerializer
+    };
+    var putBlobFromUrlOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.BlockBlobPutBlobFromUrlHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlockBlobPutBlobFromUrlExceptionHeaders
         }
-        log_js_1.logger.info(`RetryPolicy: Delay for ${delayTimeInMs}ms`);
-        return (0, utils_common_js_1.delay)(delayTimeInMs, abortSignal, RETRY_ABORT_ERROR);
-      }
+      },
+      queryParameters: [Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.contentLength,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.blobCacheControl,
+        Parameters.blobContentType,
+        Parameters.blobContentMD5,
+        Parameters.blobContentEncoding,
+        Parameters.blobContentLanguage,
+        Parameters.blobContentDisposition,
+        Parameters.encryptionScope,
+        Parameters.tier,
+        Parameters.sourceIfModifiedSince,
+        Parameters.sourceIfUnmodifiedSince,
+        Parameters.sourceIfMatch,
+        Parameters.sourceIfNoneMatch,
+        Parameters.sourceIfTags,
+        Parameters.copySource,
+        Parameters.blobTagsString,
+        Parameters.sourceContentMD5,
+        Parameters.copySourceAuthorization,
+        Parameters.copySourceTags,
+        Parameters.fileRequestIntent,
+        Parameters.transactionalContentMD5,
+        Parameters.blobType2,
+        Parameters.copySourceBlobProperties
+      ],
+      isXML: true,
+      serializer: xmlSerializer
     };
-    exports2.StorageRetryPolicy = StorageRetryPolicy;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/StorageRetryPolicyFactory.js
-var require_StorageRetryPolicyFactory2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/StorageRetryPolicyFactory.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageRetryPolicyFactory = exports2.StorageRetryPolicy = exports2.StorageRetryPolicyType = void 0;
-    var StorageRetryPolicy_js_1 = require_StorageRetryPolicy2();
-    Object.defineProperty(exports2, "StorageRetryPolicy", { enumerable: true, get: function() {
-      return StorageRetryPolicy_js_1.StorageRetryPolicy;
-    } });
-    var StorageRetryPolicyType_js_1 = require_StorageRetryPolicyType2();
-    Object.defineProperty(exports2, "StorageRetryPolicyType", { enumerable: true, get: function() {
-      return StorageRetryPolicyType_js_1.StorageRetryPolicyType;
-    } });
-    var StorageRetryPolicyFactory = class {
-      retryOptions;
-      /**
-       * Creates an instance of StorageRetryPolicyFactory.
-       * @param retryOptions -
-       */
-      constructor(retryOptions) {
-        this.retryOptions = retryOptions;
-      }
-      /**
-       * Creates a StorageRetryPolicy object.
-       *
-       * @param nextPolicy -
-       * @param options -
-       */
-      create(nextPolicy, options) {
-        return new StorageRetryPolicy_js_1.StorageRetryPolicy(nextPolicy, options, this.retryOptions);
-      }
+    var stageBlockOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.BlockBlobStageBlockHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlockBlobStageBlockExceptionHeaders
+        }
+      },
+      requestBody: Parameters.body1,
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.comp24,
+        Parameters.blockId
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.contentLength,
+        Parameters.leaseId,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.encryptionScope,
+        Parameters.transactionalContentMD5,
+        Parameters.transactionalContentCrc64,
+        Parameters.contentType1,
+        Parameters.accept2
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "binary",
+      serializer: xmlSerializer
     };
-    exports2.StorageRetryPolicyFactory = StorageRetryPolicyFactory;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/policies/StorageBrowserPolicyV2.js
-var require_StorageBrowserPolicyV2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageBrowserPolicyV2.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.storageBrowserPolicyName = void 0;
-    exports2.storageBrowserPolicy = storageBrowserPolicy;
-    var core_util_1 = require_commonjs4();
-    var constants_js_1 = require_constants16();
-    var utils_common_js_1 = require_utils_common2();
-    exports2.storageBrowserPolicyName = "storageBrowserPolicy";
-    function storageBrowserPolicy() {
-      return {
-        name: exports2.storageBrowserPolicyName,
-        async sendRequest(request2, next) {
-          if (core_util_1.isNodeLike) {
-            return next(request2);
-          }
-          if (request2.method === "GET" || request2.method === "HEAD") {
-            request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.FORCE_BROWSER_NO_CACHE, (/* @__PURE__ */ new Date()).getTime().toString());
-          }
-          request2.headers.delete(constants_js_1.HeaderConstants.COOKIE);
-          request2.headers.delete(constants_js_1.HeaderConstants.CONTENT_LENGTH);
-          return next(request2);
+    var stageBlockFromURLOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.BlockBlobStageBlockFromURLHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlockBlobStageBlockFromURLExceptionHeaders
         }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/policies/StorageCorrectContentLengthPolicy.js
-var require_StorageCorrectContentLengthPolicy = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageCorrectContentLengthPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.storageCorrectContentLengthPolicyName = void 0;
-    exports2.storageCorrectContentLengthPolicy = storageCorrectContentLengthPolicy;
-    var constants_js_1 = require_constants16();
-    exports2.storageCorrectContentLengthPolicyName = "StorageCorrectContentLengthPolicy";
-    function storageCorrectContentLengthPolicy() {
-      function correctContentLength(request2) {
-        if (request2.body && (typeof request2.body === "string" || Buffer.isBuffer(request2.body)) && request2.body.length > 0) {
-          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.comp24,
+        Parameters.blockId
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.contentLength,
+        Parameters.leaseId,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.encryptionScope,
+        Parameters.sourceIfModifiedSince,
+        Parameters.sourceIfUnmodifiedSince,
+        Parameters.sourceIfMatch,
+        Parameters.sourceIfNoneMatch,
+        Parameters.sourceContentMD5,
+        Parameters.copySourceAuthorization,
+        Parameters.fileRequestIntent,
+        Parameters.sourceUrl,
+        Parameters.sourceContentCrc64,
+        Parameters.sourceRange1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var commitBlockListOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.BlockBlobCommitBlockListHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlockBlobCommitBlockListExceptionHeaders
         }
-      }
-      return {
-        name: exports2.storageCorrectContentLengthPolicyName,
-        async sendRequest(request2, next) {
-          correctContentLength(request2);
-          return next(request2);
+      },
+      requestBody: Parameters.blocks,
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp25],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.contentType,
+        Parameters.accept,
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.blobCacheControl,
+        Parameters.blobContentType,
+        Parameters.blobContentMD5,
+        Parameters.blobContentEncoding,
+        Parameters.blobContentLanguage,
+        Parameters.blobContentDisposition,
+        Parameters.immutabilityPolicyExpiry,
+        Parameters.immutabilityPolicyMode,
+        Parameters.encryptionScope,
+        Parameters.tier,
+        Parameters.blobTagsString,
+        Parameters.legalHold1,
+        Parameters.transactionalContentMD5,
+        Parameters.transactionalContentCrc64
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "xml",
+      serializer: xmlSerializer
+    };
+    var getBlockListOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.BlockList,
+          headersMapper: Mappers.BlockBlobGetBlockListHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlockBlobGetBlockListExceptionHeaders
         }
-      };
-    }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.comp25,
+        Parameters.listType
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
   }
 });
 
-// node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicyV2.js
-var require_StorageRetryPolicyV2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicyV2.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/index.js
+var require_operations = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/index.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.storageRetryPolicyName = void 0;
-    exports2.storageRetryPolicy = storageRetryPolicy;
-    var abort_controller_1 = require_commonjs12();
-    var core_rest_pipeline_1 = require_commonjs6();
-    var core_util_1 = require_commonjs4();
-    var StorageRetryPolicyFactory_js_1 = require_StorageRetryPolicyFactory2();
-    var constants_js_1 = require_constants16();
-    var utils_common_js_1 = require_utils_common2();
-    var log_js_1 = require_log6();
-    exports2.storageRetryPolicyName = "storageRetryPolicy";
-    var DEFAULT_RETRY_OPTIONS = {
-      maxRetryDelayInMs: 120 * 1e3,
-      maxTries: 4,
-      retryDelayInMs: 4 * 1e3,
-      retryPolicyType: StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.EXPONENTIAL,
-      secondaryHost: "",
-      tryTimeoutInMs: void 0
-      // Use server side default timeout strategy
-    };
-    var retriableErrors = [
-      "ETIMEDOUT",
-      "ESOCKETTIMEDOUT",
-      "ECONNREFUSED",
-      "ECONNRESET",
-      "ENOENT",
-      "ENOTFOUND",
-      "TIMEOUT",
-      "EPIPE",
-      "REQUEST_SEND_ERROR"
-    ];
-    var RETRY_ABORT_ERROR = new abort_controller_1.AbortError("The operation was aborted.");
-    function storageRetryPolicy(options = {}) {
-      const retryPolicyType = options.retryPolicyType ?? DEFAULT_RETRY_OPTIONS.retryPolicyType;
-      const maxTries = options.maxTries ?? DEFAULT_RETRY_OPTIONS.maxTries;
-      const retryDelayInMs = options.retryDelayInMs ?? DEFAULT_RETRY_OPTIONS.retryDelayInMs;
-      const maxRetryDelayInMs = options.maxRetryDelayInMs ?? DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs;
-      const secondaryHost = options.secondaryHost ?? DEFAULT_RETRY_OPTIONS.secondaryHost;
-      const tryTimeoutInMs = options.tryTimeoutInMs ?? DEFAULT_RETRY_OPTIONS.tryTimeoutInMs;
-      function shouldRetry({ isPrimaryRetry, attempt, response, error: error3 }) {
-        if (attempt >= maxTries) {
-          log_js_1.logger.info(`RetryPolicy: Attempt(s) ${attempt} >= maxTries ${maxTries}, no further try.`);
-          return false;
-        }
-        if (error3) {
-          for (const retriableError of retriableErrors) {
-            if (error3.name.toUpperCase().includes(retriableError) || error3.message.toUpperCase().includes(retriableError) || error3.code && error3.code.toString().toUpperCase() === retriableError) {
-              log_js_1.logger.info(`RetryPolicy: Network error ${retriableError} found, will retry.`);
-              return true;
-            }
-          }
-          if (error3?.code === "PARSE_ERROR" && error3?.message.startsWith(`Error "Error: Unclosed root tag`)) {
-            log_js_1.logger.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry.");
-            return true;
-          }
-        }
-        if (response || error3) {
-          const statusCode = response?.status ?? error3?.statusCode ?? 0;
-          if (!isPrimaryRetry && statusCode === 404) {
-            log_js_1.logger.info(`RetryPolicy: Secondary access with 404, will retry.`);
-            return true;
-          }
-          if (statusCode === 503 || statusCode === 500) {
-            log_js_1.logger.info(`RetryPolicy: Will retry for status code ${statusCode}.`);
-            return true;
-          }
-        }
-        if (response) {
-          if (response?.status >= 400) {
-            const copySourceError = response.headers.get(constants_js_1.HeaderConstants.X_MS_CopySourceErrorCode);
-            if (copySourceError !== void 0) {
-              switch (copySourceError) {
-                case "InternalError":
-                case "OperationTimedOut":
-                case "ServerBusy":
-                  return true;
-              }
-            }
-          }
-        }
-        return false;
-      }
-      function calculateDelay(isPrimaryRetry, attempt) {
-        let delayTimeInMs = 0;
-        if (isPrimaryRetry) {
-          switch (retryPolicyType) {
-            case StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.EXPONENTIAL:
-              delayTimeInMs = Math.min((Math.pow(2, attempt - 1) - 1) * retryDelayInMs, maxRetryDelayInMs);
-              break;
-            case StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.FIXED:
-              delayTimeInMs = retryDelayInMs;
-              break;
-          }
-        } else {
-          delayTimeInMs = Math.random() * 1e3;
-        }
-        log_js_1.logger.info(`RetryPolicy: Delay for ${delayTimeInMs}ms`);
-        return delayTimeInMs;
-      }
-      return {
-        name: exports2.storageRetryPolicyName,
-        async sendRequest(request2, next) {
-          if (tryTimeoutInMs) {
-            request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.TIMEOUT, String(Math.floor(tryTimeoutInMs / 1e3)));
-          }
-          const primaryUrl = request2.url;
-          const secondaryUrl = secondaryHost ? (0, utils_common_js_1.setURLHost)(request2.url, secondaryHost) : void 0;
-          let secondaryHas404 = false;
-          let attempt = 1;
-          let retryAgain = true;
-          let response;
-          let error3;
-          while (retryAgain) {
-            const isPrimaryRetry = secondaryHas404 || !secondaryUrl || !["GET", "HEAD", "OPTIONS"].includes(request2.method) || attempt % 2 === 1;
-            request2.url = isPrimaryRetry ? primaryUrl : secondaryUrl;
-            response = void 0;
-            error3 = void 0;
-            try {
-              log_js_1.logger.info(`RetryPolicy: =====> Try=${attempt} ${isPrimaryRetry ? "Primary" : "Secondary"}`);
-              response = await next(request2);
-              secondaryHas404 = secondaryHas404 || !isPrimaryRetry && response.status === 404;
-            } catch (e) {
-              if ((0, core_rest_pipeline_1.isRestError)(e)) {
-                log_js_1.logger.error(`RetryPolicy: Caught error, message: ${e.message}, code: ${e.code}`);
-                error3 = e;
-              } else {
-                log_js_1.logger.error(`RetryPolicy: Caught error, message: ${(0, core_util_1.getErrorMessage)(e)}`);
-                throw e;
-              }
-            }
-            retryAgain = shouldRetry({ isPrimaryRetry, attempt, response, error: error3 });
-            if (retryAgain) {
-              await (0, utils_common_js_1.delay)(calculateDelay(isPrimaryRetry, attempt), request2.abortSignal, RETRY_ABORT_ERROR);
-            }
-            attempt++;
-          }
-          if (response) {
-            return response;
-          }
-          throw error3 ?? new core_rest_pipeline_1.RestError("RetryPolicy failed without known error.");
-        }
-      };
-    }
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    tslib_1.__exportStar(require_service(), exports2);
+    tslib_1.__exportStar(require_container(), exports2);
+    tslib_1.__exportStar(require_blob(), exports2);
+    tslib_1.__exportStar(require_pageBlob(), exports2);
+    tslib_1.__exportStar(require_appendBlob(), exports2);
+    tslib_1.__exportStar(require_blockBlob(), exports2);
   }
 });
 
-// node_modules/@azure/storage-common/dist/commonjs/policies/StorageSharedKeyCredentialPolicyV2.js
-var require_StorageSharedKeyCredentialPolicyV2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageSharedKeyCredentialPolicyV2.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/storageClient.js
+var require_storageClient = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/storageClient.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.storageSharedKeyCredentialPolicyName = void 0;
-    exports2.storageSharedKeyCredentialPolicy = storageSharedKeyCredentialPolicy;
-    var node_crypto_1 = require("node:crypto");
-    var constants_js_1 = require_constants16();
-    var utils_common_js_1 = require_utils_common2();
-    var SharedKeyComparator_js_1 = require_SharedKeyComparator2();
-    exports2.storageSharedKeyCredentialPolicyName = "storageSharedKeyCredentialPolicy";
-    function storageSharedKeyCredentialPolicy(options) {
-      function signRequest(request2) {
-        request2.headers.set(constants_js_1.HeaderConstants.X_MS_DATE, (/* @__PURE__ */ new Date()).toUTCString());
-        if (request2.body && (typeof request2.body === "string" || Buffer.isBuffer(request2.body)) && request2.body.length > 0) {
-          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
-        }
-        const stringToSign = [
-          request2.method.toUpperCase(),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LANGUAGE),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_ENCODING),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LENGTH),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_MD5),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_TYPE),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.DATE),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MODIFIED_SINCE),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MATCH),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_NONE_MATCH),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_UNMODIFIED_SINCE),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.RANGE)
-        ].join("\n") + "\n" + getCanonicalizedHeadersString(request2) + getCanonicalizedResourceString(request2);
-        const signature = (0, node_crypto_1.createHmac)("sha256", options.accountKey).update(stringToSign, "utf8").digest("base64");
-        request2.headers.set(constants_js_1.HeaderConstants.AUTHORIZATION, `SharedKey ${options.accountName}:${signature}`);
-      }
-      function getHeaderValueToSign(request2, headerName) {
-        const value = request2.headers.get(headerName);
-        if (!value) {
-          return "";
-        }
-        if (headerName === constants_js_1.HeaderConstants.CONTENT_LENGTH && value === "0") {
-          return "";
-        }
-        return value;
-      }
-      function getCanonicalizedHeadersString(request2) {
-        let headersArray = [];
-        for (const [name, value] of request2.headers) {
-          if (name.toLowerCase().startsWith(constants_js_1.HeaderConstants.PREFIX_FOR_STORAGE)) {
-            headersArray.push({ name, value });
-          }
+    exports2.StorageClient = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var coreHttpCompat = tslib_1.__importStar(require_commonjs9());
+    var index_js_1 = require_operations();
+    var StorageClient = class extends coreHttpCompat.ExtendedServiceClient {
+      url;
+      version;
+      /**
+       * Initializes a new instance of the StorageClient class.
+       * @param url The URL of the service account, container, or blob that is the target of the desired
+       *            operation.
+       * @param options The parameter options
+       */
+      constructor(url, options) {
+        if (url === void 0) {
+          throw new Error("'url' cannot be null");
         }
-        headersArray.sort((a, b) => {
-          return (0, SharedKeyComparator_js_1.compareHeader)(a.name.toLowerCase(), b.name.toLowerCase());
-        });
-        headersArray = headersArray.filter((value, index, array) => {
-          if (index > 0 && value.name.toLowerCase() === array[index - 1].name.toLowerCase()) {
-            return false;
-          }
-          return true;
-        });
-        let canonicalizedHeadersStringToSign = "";
-        headersArray.forEach((header) => {
-          canonicalizedHeadersStringToSign += `${header.name.toLowerCase().trimRight()}:${header.value.trimLeft()}
-`;
-        });
-        return canonicalizedHeadersStringToSign;
-      }
-      function getCanonicalizedResourceString(request2) {
-        const path4 = (0, utils_common_js_1.getURLPath)(request2.url) || "/";
-        let canonicalizedResourceString = "";
-        canonicalizedResourceString += `/${options.accountName}${path4}`;
-        const queries = (0, utils_common_js_1.getURLQueries)(request2.url);
-        const lowercaseQueries = {};
-        if (queries) {
-          const queryKeys = [];
-          for (const key in queries) {
-            if (Object.prototype.hasOwnProperty.call(queries, key)) {
-              const lowercaseKey = key.toLowerCase();
-              lowercaseQueries[lowercaseKey] = queries[key];
-              queryKeys.push(lowercaseKey);
-            }
-          }
-          queryKeys.sort();
-          for (const key of queryKeys) {
-            canonicalizedResourceString += `
-${key}:${decodeURIComponent(lowercaseQueries[key])}`;
-          }
+        if (!options) {
+          options = {};
         }
-        return canonicalizedResourceString;
+        const defaults = {
+          requestContentType: "application/json; charset=utf-8"
+        };
+        const packageDetails = `azsdk-js-azure-storage-blob/12.29.1`;
+        const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` : `${packageDetails}`;
+        const optionsWithDefaults = {
+          ...defaults,
+          ...options,
+          userAgentOptions: {
+            userAgentPrefix
+          },
+          endpoint: options.endpoint ?? options.baseUri ?? "{url}"
+        };
+        super(optionsWithDefaults);
+        this.url = url;
+        this.version = options.version || "2025-11-05";
+        this.service = new index_js_1.ServiceImpl(this);
+        this.container = new index_js_1.ContainerImpl(this);
+        this.blob = new index_js_1.BlobImpl(this);
+        this.pageBlob = new index_js_1.PageBlobImpl(this);
+        this.appendBlob = new index_js_1.AppendBlobImpl(this);
+        this.blockBlob = new index_js_1.BlockBlobImpl(this);
       }
-      return {
-        name: exports2.storageSharedKeyCredentialPolicyName,
-        async sendRequest(request2, next) {
-          signRequest(request2);
-          return next(request2);
-        }
-      };
-    }
+      service;
+      container;
+      blob;
+      pageBlob;
+      appendBlob;
+      blockBlob;
+    };
+    exports2.StorageClient = StorageClient;
   }
 });
 
-// node_modules/@azure/storage-common/dist/commonjs/policies/StorageRequestFailureDetailsParserPolicy.js
-var require_StorageRequestFailureDetailsParserPolicy = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageRequestFailureDetailsParserPolicy.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/service.js
+var require_service2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/service.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.storageRequestFailureDetailsParserPolicyName = void 0;
-    exports2.storageRequestFailureDetailsParserPolicy = storageRequestFailureDetailsParserPolicy;
-    exports2.storageRequestFailureDetailsParserPolicyName = "storageRequestFailureDetailsParserPolicy";
-    function storageRequestFailureDetailsParserPolicy() {
-      return {
-        name: exports2.storageRequestFailureDetailsParserPolicyName,
-        async sendRequest(request2, next) {
-          try {
-            const response = await next(request2);
-            return response;
-          } catch (err) {
-            if (typeof err === "object" && err !== null && err.response && err.response.parsedBody) {
-              if (err.response.parsedBody.code === "InvalidHeaderValue" && err.response.parsedBody.HeaderName === "x-ms-version") {
-                err.message = "The provided service version is not enabled on this storage account. Please see https://learn.microsoft.com/rest/api/storageservices/versioning-for-the-azure-storage-services for additional information.\n";
-              }
-            }
-            throw err;
-          }
-        }
-      };
-    }
   }
 });
 
-// node_modules/@azure/storage-common/dist/commonjs/index.js
-var require_commonjs13 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/index.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/container.js
+var require_container2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/container.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BaseRequestPolicy = exports2.getCachedDefaultHttpClient = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    tslib_1.__exportStar(require_BufferScheduler(), exports2);
-    var cache_js_1 = require_cache3();
-    Object.defineProperty(exports2, "getCachedDefaultHttpClient", { enumerable: true, get: function() {
-      return cache_js_1.getCachedDefaultHttpClient;
-    } });
-    tslib_1.__exportStar(require_StorageBrowserPolicyFactory(), exports2);
-    tslib_1.__exportStar(require_AnonymousCredential2(), exports2);
-    tslib_1.__exportStar(require_Credential2(), exports2);
-    tslib_1.__exportStar(require_StorageSharedKeyCredential2(), exports2);
-    tslib_1.__exportStar(require_StorageRetryPolicyFactory2(), exports2);
-    var RequestPolicy_js_1 = require_RequestPolicy2();
-    Object.defineProperty(exports2, "BaseRequestPolicy", { enumerable: true, get: function() {
-      return RequestPolicy_js_1.BaseRequestPolicy;
-    } });
-    tslib_1.__exportStar(require_AnonymousCredentialPolicy2(), exports2);
-    tslib_1.__exportStar(require_CredentialPolicy2(), exports2);
-    tslib_1.__exportStar(require_StorageBrowserPolicy(), exports2);
-    tslib_1.__exportStar(require_StorageBrowserPolicyV2(), exports2);
-    tslib_1.__exportStar(require_StorageCorrectContentLengthPolicy(), exports2);
-    tslib_1.__exportStar(require_StorageRetryPolicyType2(), exports2);
-    tslib_1.__exportStar(require_StorageRetryPolicy2(), exports2);
-    tslib_1.__exportStar(require_StorageRetryPolicyV2(), exports2);
-    tslib_1.__exportStar(require_StorageSharedKeyCredentialPolicy2(), exports2);
-    tslib_1.__exportStar(require_StorageSharedKeyCredentialPolicyV2(), exports2);
-    tslib_1.__exportStar(require_StorageRetryPolicyFactory2(), exports2);
-    tslib_1.__exportStar(require_StorageRequestFailureDetailsParserPolicy(), exports2);
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageBrowserPolicyV2.js
-var require_StorageBrowserPolicyV22 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageBrowserPolicyV2.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blob.js
+var require_blob2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blob.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.storageBrowserPolicyName = void 0;
-    exports2.storageBrowserPolicy = storageBrowserPolicy;
-    var core_util_1 = require_commonjs4();
-    var constants_js_1 = require_constants15();
-    var utils_common_js_1 = require_utils_common();
-    exports2.storageBrowserPolicyName = "storageBrowserPolicy";
-    function storageBrowserPolicy() {
-      return {
-        name: exports2.storageBrowserPolicyName,
-        async sendRequest(request2, next) {
-          if (core_util_1.isNodeLike) {
-            return next(request2);
-          }
-          if (request2.method === "GET" || request2.method === "HEAD") {
-            request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.FORCE_BROWSER_NO_CACHE, (/* @__PURE__ */ new Date()).getTime().toString());
-          }
-          request2.headers.delete(constants_js_1.HeaderConstants.COOKIE);
-          request2.headers.delete(constants_js_1.HeaderConstants.CONTENT_LENGTH);
-          return next(request2);
-        }
-      };
-    }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicyV2.js
-var require_StorageRetryPolicyV22 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicyV2.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/pageBlob.js
+var require_pageBlob2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/pageBlob.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.storageRetryPolicyName = void 0;
-    exports2.storageRetryPolicy = storageRetryPolicy;
-    var abort_controller_1 = require_commonjs11();
-    var core_rest_pipeline_1 = require_commonjs6();
-    var core_util_1 = require_commonjs4();
-    var StorageRetryPolicyFactory_js_1 = require_StorageRetryPolicyFactory();
-    var constants_js_1 = require_constants15();
-    var utils_common_js_1 = require_utils_common();
-    var log_js_1 = require_log5();
-    exports2.storageRetryPolicyName = "storageRetryPolicy";
-    var DEFAULT_RETRY_OPTIONS = {
-      maxRetryDelayInMs: 120 * 1e3,
-      maxTries: 4,
-      retryDelayInMs: 4 * 1e3,
-      retryPolicyType: StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.EXPONENTIAL,
-      secondaryHost: "",
-      tryTimeoutInMs: void 0
-      // Use server side default timeout strategy
-    };
-    var retriableErrors = [
-      "ETIMEDOUT",
-      "ESOCKETTIMEDOUT",
-      "ECONNREFUSED",
-      "ECONNRESET",
-      "ENOENT",
-      "ENOTFOUND",
-      "TIMEOUT",
-      "EPIPE",
-      "REQUEST_SEND_ERROR"
-    ];
-    var RETRY_ABORT_ERROR = new abort_controller_1.AbortError("The operation was aborted.");
-    function storageRetryPolicy(options = {}) {
-      const retryPolicyType = options.retryPolicyType ?? DEFAULT_RETRY_OPTIONS.retryPolicyType;
-      const maxTries = options.maxTries ?? DEFAULT_RETRY_OPTIONS.maxTries;
-      const retryDelayInMs = options.retryDelayInMs ?? DEFAULT_RETRY_OPTIONS.retryDelayInMs;
-      const maxRetryDelayInMs = options.maxRetryDelayInMs ?? DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs;
-      const secondaryHost = options.secondaryHost ?? DEFAULT_RETRY_OPTIONS.secondaryHost;
-      const tryTimeoutInMs = options.tryTimeoutInMs ?? DEFAULT_RETRY_OPTIONS.tryTimeoutInMs;
-      function shouldRetry({ isPrimaryRetry, attempt, response, error: error3 }) {
-        if (attempt >= maxTries) {
-          log_js_1.logger.info(`RetryPolicy: Attempt(s) ${attempt} >= maxTries ${maxTries}, no further try.`);
-          return false;
-        }
-        if (error3) {
-          for (const retriableError of retriableErrors) {
-            if (error3.name.toUpperCase().includes(retriableError) || error3.message.toUpperCase().includes(retriableError) || error3.code && error3.code.toString().toUpperCase() === retriableError) {
-              log_js_1.logger.info(`RetryPolicy: Network error ${retriableError} found, will retry.`);
-              return true;
-            }
-          }
-          if (error3?.code === "PARSE_ERROR" && error3?.message.startsWith(`Error "Error: Unclosed root tag`)) {
-            log_js_1.logger.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry.");
-            return true;
-          }
-        }
-        if (response || error3) {
-          const statusCode = response?.status ?? error3?.statusCode ?? 0;
-          if (!isPrimaryRetry && statusCode === 404) {
-            log_js_1.logger.info(`RetryPolicy: Secondary access with 404, will retry.`);
-            return true;
-          }
-          if (statusCode === 503 || statusCode === 500) {
-            log_js_1.logger.info(`RetryPolicy: Will retry for status code ${statusCode}.`);
-            return true;
-          }
-        }
-        if (response) {
-          if (response?.status >= 400) {
-            const copySourceError = response.headers.get(constants_js_1.HeaderConstants.X_MS_CopySourceErrorCode);
-            if (copySourceError !== void 0) {
-              switch (copySourceError) {
-                case "InternalError":
-                case "OperationTimedOut":
-                case "ServerBusy":
-                  return true;
-              }
-            }
-          }
-        }
-        return false;
-      }
-      function calculateDelay(isPrimaryRetry, attempt) {
-        let delayTimeInMs = 0;
-        if (isPrimaryRetry) {
-          switch (retryPolicyType) {
-            case StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.EXPONENTIAL:
-              delayTimeInMs = Math.min((Math.pow(2, attempt - 1) - 1) * retryDelayInMs, maxRetryDelayInMs);
-              break;
-            case StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.FIXED:
-              delayTimeInMs = retryDelayInMs;
-              break;
-          }
-        } else {
-          delayTimeInMs = Math.random() * 1e3;
-        }
-        log_js_1.logger.info(`RetryPolicy: Delay for ${delayTimeInMs}ms`);
-        return delayTimeInMs;
-      }
-      return {
-        name: exports2.storageRetryPolicyName,
-        async sendRequest(request2, next) {
-          if (tryTimeoutInMs) {
-            request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.TIMEOUT, String(Math.floor(tryTimeoutInMs / 1e3)));
-          }
-          const primaryUrl = request2.url;
-          const secondaryUrl = secondaryHost ? (0, utils_common_js_1.setURLHost)(request2.url, secondaryHost) : void 0;
-          let secondaryHas404 = false;
-          let attempt = 1;
-          let retryAgain = true;
-          let response;
-          let error3;
-          while (retryAgain) {
-            const isPrimaryRetry = secondaryHas404 || !secondaryUrl || !["GET", "HEAD", "OPTIONS"].includes(request2.method) || attempt % 2 === 1;
-            request2.url = isPrimaryRetry ? primaryUrl : secondaryUrl;
-            response = void 0;
-            error3 = void 0;
-            try {
-              log_js_1.logger.info(`RetryPolicy: =====> Try=${attempt} ${isPrimaryRetry ? "Primary" : "Secondary"}`);
-              response = await next(request2);
-              secondaryHas404 = secondaryHas404 || !isPrimaryRetry && response.status === 404;
-            } catch (e) {
-              if ((0, core_rest_pipeline_1.isRestError)(e)) {
-                log_js_1.logger.error(`RetryPolicy: Caught error, message: ${e.message}, code: ${e.code}`);
-                error3 = e;
-              } else {
-                log_js_1.logger.error(`RetryPolicy: Caught error, message: ${(0, core_util_1.getErrorMessage)(e)}`);
-                throw e;
-              }
-            }
-            retryAgain = shouldRetry({ isPrimaryRetry, attempt, response, error: error3 });
-            if (retryAgain) {
-              await (0, utils_common_js_1.delay)(calculateDelay(isPrimaryRetry, attempt), request2.abortSignal, RETRY_ABORT_ERROR);
-            }
-            attempt++;
-          }
-          if (response) {
-            return response;
-          }
-          throw error3 ?? new core_rest_pipeline_1.RestError("RetryPolicy failed without known error.");
-        }
-      };
-    }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageSharedKeyCredentialPolicyV2.js
-var require_StorageSharedKeyCredentialPolicyV22 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageSharedKeyCredentialPolicyV2.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/appendBlob.js
+var require_appendBlob2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/appendBlob.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.storageSharedKeyCredentialPolicyName = void 0;
-    exports2.storageSharedKeyCredentialPolicy = storageSharedKeyCredentialPolicy;
-    var node_crypto_1 = require("node:crypto");
-    var constants_js_1 = require_constants15();
-    var utils_common_js_1 = require_utils_common();
-    var SharedKeyComparator_js_1 = require_SharedKeyComparator();
-    exports2.storageSharedKeyCredentialPolicyName = "storageSharedKeyCredentialPolicy";
-    function storageSharedKeyCredentialPolicy(options) {
-      function signRequest(request2) {
-        request2.headers.set(constants_js_1.HeaderConstants.X_MS_DATE, (/* @__PURE__ */ new Date()).toUTCString());
-        if (request2.body && (typeof request2.body === "string" || Buffer.isBuffer(request2.body)) && request2.body.length > 0) {
-          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
-        }
-        const stringToSign = [
-          request2.method.toUpperCase(),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LANGUAGE),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_ENCODING),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LENGTH),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_MD5),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_TYPE),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.DATE),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MODIFIED_SINCE),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MATCH),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_NONE_MATCH),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_UNMODIFIED_SINCE),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.RANGE)
-        ].join("\n") + "\n" + getCanonicalizedHeadersString(request2) + getCanonicalizedResourceString(request2);
-        const signature = (0, node_crypto_1.createHmac)("sha256", options.accountKey).update(stringToSign, "utf8").digest("base64");
-        request2.headers.set(constants_js_1.HeaderConstants.AUTHORIZATION, `SharedKey ${options.accountName}:${signature}`);
-      }
-      function getHeaderValueToSign(request2, headerName) {
-        const value = request2.headers.get(headerName);
-        if (!value) {
-          return "";
-        }
-        if (headerName === constants_js_1.HeaderConstants.CONTENT_LENGTH && value === "0") {
-          return "";
-        }
-        return value;
-      }
-      function getCanonicalizedHeadersString(request2) {
-        let headersArray = [];
-        for (const [name, value] of request2.headers) {
-          if (name.toLowerCase().startsWith(constants_js_1.HeaderConstants.PREFIX_FOR_STORAGE)) {
-            headersArray.push({ name, value });
-          }
-        }
-        headersArray.sort((a, b) => {
-          return (0, SharedKeyComparator_js_1.compareHeader)(a.name.toLowerCase(), b.name.toLowerCase());
-        });
-        headersArray = headersArray.filter((value, index, array) => {
-          if (index > 0 && value.name.toLowerCase() === array[index - 1].name.toLowerCase()) {
-            return false;
-          }
-          return true;
-        });
-        let canonicalizedHeadersStringToSign = "";
-        headersArray.forEach((header) => {
-          canonicalizedHeadersStringToSign += `${header.name.toLowerCase().trimRight()}:${header.value.trimLeft()}
-`;
-        });
-        return canonicalizedHeadersStringToSign;
-      }
-      function getCanonicalizedResourceString(request2) {
-        const path4 = (0, utils_common_js_1.getURLPath)(request2.url) || "/";
-        let canonicalizedResourceString = "";
-        canonicalizedResourceString += `/${options.accountName}${path4}`;
-        const queries = (0, utils_common_js_1.getURLQueries)(request2.url);
-        const lowercaseQueries = {};
-        if (queries) {
-          const queryKeys = [];
-          for (const key in queries) {
-            if (Object.prototype.hasOwnProperty.call(queries, key)) {
-              const lowercaseKey = key.toLowerCase();
-              lowercaseQueries[lowercaseKey] = queries[key];
-              queryKeys.push(lowercaseKey);
-            }
-          }
-          queryKeys.sort();
-          for (const key of queryKeys) {
-            canonicalizedResourceString += `
-${key}:${decodeURIComponent(lowercaseQueries[key])}`;
-          }
-        }
-        return canonicalizedResourceString;
-      }
-      return {
-        name: exports2.storageSharedKeyCredentialPolicyName,
-        async sendRequest(request2, next) {
-          signRequest(request2);
-          return next(request2);
-        }
-      };
-    }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageBrowserPolicy.js
-var require_StorageBrowserPolicy2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageBrowserPolicy.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blockBlob.js
+var require_blockBlob2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blockBlob.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageBrowserPolicy = void 0;
-    var RequestPolicy_js_1 = require_RequestPolicy();
-    var core_util_1 = require_commonjs4();
-    var constants_js_1 = require_constants15();
-    var utils_common_js_1 = require_utils_common();
-    var StorageBrowserPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
-      /**
-       * Creates an instance of StorageBrowserPolicy.
-       * @param nextPolicy -
-       * @param options -
-       */
-      // The base class has a protected constructor. Adding a public one to enable constructing of this class.
-      /* eslint-disable-next-line @typescript-eslint/no-useless-constructor*/
-      constructor(nextPolicy, options) {
-        super(nextPolicy, options);
-      }
-      /**
-       * Sends out request.
-       *
-       * @param request -
-       */
-      async sendRequest(request2) {
-        if (core_util_1.isNodeLike) {
-          return this._nextPolicy.sendRequest(request2);
-        }
-        if (request2.method.toUpperCase() === "GET" || request2.method.toUpperCase() === "HEAD") {
-          request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.FORCE_BROWSER_NO_CACHE, (/* @__PURE__ */ new Date()).getTime().toString());
-        }
-        request2.headers.remove(constants_js_1.HeaderConstants.COOKIE);
-        request2.headers.remove(constants_js_1.HeaderConstants.CONTENT_LENGTH);
-        return this._nextPolicy.sendRequest(request2);
-      }
-    };
-    exports2.StorageBrowserPolicy = StorageBrowserPolicy;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/StorageBrowserPolicyFactory.js
-var require_StorageBrowserPolicyFactory2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/StorageBrowserPolicyFactory.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/index.js
+var require_operationsInterfaces = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/index.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageBrowserPolicyFactory = exports2.StorageBrowserPolicy = void 0;
-    var StorageBrowserPolicy_js_1 = require_StorageBrowserPolicy2();
-    Object.defineProperty(exports2, "StorageBrowserPolicy", { enumerable: true, get: function() {
-      return StorageBrowserPolicy_js_1.StorageBrowserPolicy;
-    } });
-    var StorageBrowserPolicyFactory = class {
-      /**
-       * Creates a StorageBrowserPolicyFactory object.
-       *
-       * @param nextPolicy -
-       * @param options -
-       */
-      create(nextPolicy, options) {
-        return new StorageBrowserPolicy_js_1.StorageBrowserPolicy(nextPolicy, options);
-      }
-    };
-    exports2.StorageBrowserPolicyFactory = StorageBrowserPolicyFactory;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    tslib_1.__exportStar(require_service2(), exports2);
+    tslib_1.__exportStar(require_container2(), exports2);
+    tslib_1.__exportStar(require_blob2(), exports2);
+    tslib_1.__exportStar(require_pageBlob2(), exports2);
+    tslib_1.__exportStar(require_appendBlob2(), exports2);
+    tslib_1.__exportStar(require_blockBlob2(), exports2);
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageCorrectContentLengthPolicy.js
-var require_StorageCorrectContentLengthPolicy2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageCorrectContentLengthPolicy.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/index.js
+var require_src2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/index.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.storageCorrectContentLengthPolicyName = void 0;
-    exports2.storageCorrectContentLengthPolicy = storageCorrectContentLengthPolicy;
-    var constants_js_1 = require_constants15();
-    exports2.storageCorrectContentLengthPolicyName = "StorageCorrectContentLengthPolicy";
-    function storageCorrectContentLengthPolicy() {
-      function correctContentLength(request2) {
-        if (request2.body && (typeof request2.body === "string" || Buffer.isBuffer(request2.body)) && request2.body.length > 0) {
-          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
+    exports2.StorageClient = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    tslib_1.__exportStar(require_models(), exports2);
+    var storageClient_js_1 = require_storageClient();
+    Object.defineProperty(exports2, "StorageClient", { enumerable: true, get: function() {
+      return storageClient_js_1.StorageClient;
+    } });
+    tslib_1.__exportStar(require_operationsInterfaces(), exports2);
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/StorageContextClient.js
+var require_StorageContextClient = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/StorageContextClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageContextClient = void 0;
+    var index_js_1 = require_src2();
+    var StorageContextClient = class extends index_js_1.StorageClient {
+      async sendOperationRequest(operationArguments, operationSpec) {
+        const operationSpecToSend = { ...operationSpec };
+        if (operationSpecToSend.path === "/{containerName}" || operationSpecToSend.path === "/{containerName}/{blob}") {
+          operationSpecToSend.path = "";
         }
+        return super.sendOperationRequest(operationArguments, operationSpecToSend);
       }
-      return {
-        name: exports2.storageCorrectContentLengthPolicyName,
-        async sendRequest(request2, next) {
-          correctContentLength(request2);
-          return next(request2);
-        }
-      };
-    }
+    };
+    exports2.StorageContextClient = StorageContextClient;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/Pipeline.js
-var require_Pipeline = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/Pipeline.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/StorageClient.js
+var require_StorageClient = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/StorageClient.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Pipeline = exports2.StorageOAuthScopes = void 0;
-    exports2.isPipelineLike = isPipelineLike;
-    exports2.newPipeline = newPipeline;
-    exports2.getCoreClientOptions = getCoreClientOptions;
-    exports2.getCredentialFromPipeline = getCredentialFromPipeline;
-    var core_http_compat_1 = require_commonjs9();
-    var core_rest_pipeline_1 = require_commonjs6();
-    var core_client_1 = require_commonjs8();
-    var core_xml_1 = require_commonjs10();
-    var core_auth_1 = require_commonjs7();
-    var log_js_1 = require_log5();
-    var StorageRetryPolicyFactory_js_1 = require_StorageRetryPolicyFactory();
-    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
-    var AnonymousCredential_js_1 = require_AnonymousCredential();
-    var constants_js_1 = require_constants15();
-    Object.defineProperty(exports2, "StorageOAuthScopes", { enumerable: true, get: function() {
-      return constants_js_1.StorageOAuthScopes;
-    } });
-    var storage_common_1 = require_commonjs13();
-    var StorageBrowserPolicyV2_js_1 = require_StorageBrowserPolicyV22();
-    var StorageRetryPolicyV2_js_1 = require_StorageRetryPolicyV22();
-    var StorageSharedKeyCredentialPolicyV2_js_1 = require_StorageSharedKeyCredentialPolicyV22();
-    var StorageBrowserPolicyFactory_js_1 = require_StorageBrowserPolicyFactory2();
-    var StorageCorrectContentLengthPolicy_js_1 = require_StorageCorrectContentLengthPolicy2();
-    function isPipelineLike(pipeline) {
-      if (!pipeline || typeof pipeline !== "object") {
-        return false;
-      }
-      const castPipeline = pipeline;
-      return Array.isArray(castPipeline.factories) && typeof castPipeline.options === "object" && typeof castPipeline.toServiceClientOptions === "function";
-    }
-    var Pipeline = class {
+    exports2.StorageClient = void 0;
+    var StorageContextClient_js_1 = require_StorageContextClient();
+    var Pipeline_js_1 = require_Pipeline();
+    var utils_common_js_1 = require_utils_common();
+    var StorageClient = class {
       /**
-       * A list of chained request policy factories.
+       * Encoded URL string value.
        */
-      factories;
+      url;
+      accountName;
       /**
-       * Configures pipeline logger and HTTP client.
+       * Request policy pipeline.
+       *
+       * @internal
        */
-      options;
+      pipeline;
       /**
-       * Creates an instance of Pipeline. Customize HTTPClient by implementing IHttpClient interface.
-       *
-       * @param factories -
-       * @param options -
+       * Such as AnonymousCredential, StorageSharedKeyCredential or any credential from the `@azure/identity` package to authenticate requests to the service. You can also provide an object that implements the TokenCredential interface. If not specified, AnonymousCredential is used.
        */
-      constructor(factories, options = {}) {
-        this.factories = factories;
-        this.options = options;
-      }
+      credential;
       /**
-       * Transfer Pipeline object to ServiceClientOptions object which is required by
-       * ServiceClient constructor.
-       *
-       * @returns The ServiceClientOptions object from this Pipeline.
+       * StorageClient is a reference to protocol layer operations entry, which is
+       * generated by AutoRest generator.
        */
-      toServiceClientOptions() {
-        return {
-          httpClient: this.options.httpClient,
-          requestPolicyFactories: this.factories
-        };
+      storageClientContext;
+      /**
+       */
+      isHttps;
+      /**
+       * Creates an instance of StorageClient.
+       * @param url - url to resource
+       * @param pipeline - request policy pipeline.
+       */
+      constructor(url, pipeline) {
+        this.url = (0, utils_common_js_1.escapeURLPath)(url);
+        this.accountName = (0, utils_common_js_1.getAccountNameFromUrl)(url);
+        this.pipeline = pipeline;
+        this.storageClientContext = new StorageContextClient_js_1.StorageContextClient(this.url, (0, Pipeline_js_1.getCoreClientOptions)(pipeline));
+        this.isHttps = (0, utils_common_js_1.iEqual)((0, utils_common_js_1.getURLScheme)(this.url) || "", "https");
+        this.credential = (0, Pipeline_js_1.getCredentialFromPipeline)(pipeline);
+        const storageClientContext = this.storageClientContext;
+        storageClientContext.requestContentType = void 0;
       }
     };
-    exports2.Pipeline = Pipeline;
-    function newPipeline(credential, pipelineOptions = {}) {
-      if (!credential) {
-        credential = new AnonymousCredential_js_1.AnonymousCredential();
-      }
-      const pipeline = new Pipeline([], pipelineOptions);
-      pipeline._credential = credential;
-      return pipeline;
-    }
-    function processDownlevelPipeline(pipeline) {
-      const knownFactoryFunctions = [
-        isAnonymousCredential,
-        isStorageSharedKeyCredential,
-        isCoreHttpBearerTokenFactory,
-        isStorageBrowserPolicyFactory,
-        isStorageRetryPolicyFactory,
-        isStorageTelemetryPolicyFactory,
-        isCoreHttpPolicyFactory
-      ];
-      if (pipeline.factories.length) {
-        const novelFactories = pipeline.factories.filter((factory) => {
-          return !knownFactoryFunctions.some((knownFactory) => knownFactory(factory));
-        });
-        if (novelFactories.length) {
-          const hasInjector = novelFactories.some((factory) => isInjectorPolicyFactory(factory));
-          return {
-            wrappedPolicies: (0, core_http_compat_1.createRequestPolicyFactoryPolicy)(novelFactories),
-            afterRetry: hasInjector
-          };
-        }
-      }
-      return void 0;
-    }
-    function getCoreClientOptions(pipeline) {
-      const { httpClient: v1Client, ...restOptions } = pipeline.options;
-      let httpClient = pipeline._coreHttpClient;
-      if (!httpClient) {
-        httpClient = v1Client ? (0, core_http_compat_1.convertHttpClient)(v1Client) : (0, storage_common_1.getCachedDefaultHttpClient)();
-        pipeline._coreHttpClient = httpClient;
-      }
-      let corePipeline = pipeline._corePipeline;
-      if (!corePipeline) {
-        const packageDetails = `azsdk-js-azure-storage-blob/${constants_js_1.SDK_VERSION}`;
-        const userAgentPrefix = restOptions.userAgentOptions && restOptions.userAgentOptions.userAgentPrefix ? `${restOptions.userAgentOptions.userAgentPrefix} ${packageDetails}` : `${packageDetails}`;
-        corePipeline = (0, core_client_1.createClientPipeline)({
-          ...restOptions,
-          loggingOptions: {
-            additionalAllowedHeaderNames: constants_js_1.StorageBlobLoggingAllowedHeaderNames,
-            additionalAllowedQueryParameters: constants_js_1.StorageBlobLoggingAllowedQueryParameters,
-            logger: log_js_1.logger.info
-          },
-          userAgentOptions: {
-            userAgentPrefix
-          },
-          serializationOptions: {
-            stringifyXML: core_xml_1.stringifyXML,
-            serializerOptions: {
-              xml: {
-                // Use customized XML char key of "#" so we can deserialize metadata
-                // with "_" key
-                xmlCharKey: "#"
-              }
-            }
-          },
-          deserializationOptions: {
-            parseXML: core_xml_1.parseXML,
-            serializerOptions: {
-              xml: {
-                // Use customized XML char key of "#" so we can deserialize metadata
-                // with "_" key
-                xmlCharKey: "#"
-              }
-            }
-          }
-        });
-        corePipeline.removePolicy({ phase: "Retry" });
-        corePipeline.removePolicy({ name: core_rest_pipeline_1.decompressResponsePolicyName });
-        corePipeline.addPolicy((0, StorageCorrectContentLengthPolicy_js_1.storageCorrectContentLengthPolicy)());
-        corePipeline.addPolicy((0, StorageRetryPolicyV2_js_1.storageRetryPolicy)(restOptions.retryOptions), { phase: "Retry" });
-        corePipeline.addPolicy((0, storage_common_1.storageRequestFailureDetailsParserPolicy)());
-        corePipeline.addPolicy((0, StorageBrowserPolicyV2_js_1.storageBrowserPolicy)());
-        const downlevelResults = processDownlevelPipeline(pipeline);
-        if (downlevelResults) {
-          corePipeline.addPolicy(downlevelResults.wrappedPolicies, downlevelResults.afterRetry ? { afterPhase: "Retry" } : void 0);
-        }
-        const credential = getCredentialFromPipeline(pipeline);
-        if ((0, core_auth_1.isTokenCredential)(credential)) {
-          corePipeline.addPolicy((0, core_rest_pipeline_1.bearerTokenAuthenticationPolicy)({
-            credential,
-            scopes: restOptions.audience ?? constants_js_1.StorageOAuthScopes,
-            challengeCallbacks: { authorizeRequestOnChallenge: core_client_1.authorizeRequestOnTenantChallenge }
-          }), { phase: "Sign" });
-        } else if (credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential) {
-          corePipeline.addPolicy((0, StorageSharedKeyCredentialPolicyV2_js_1.storageSharedKeyCredentialPolicy)({
-            accountName: credential.accountName,
-            accountKey: credential.accountKey
-          }), { phase: "Sign" });
-        }
-        pipeline._corePipeline = corePipeline;
-      }
-      return {
-        ...restOptions,
-        allowInsecureConnection: true,
-        httpClient,
-        pipeline: corePipeline
-      };
-    }
-    function getCredentialFromPipeline(pipeline) {
-      if (pipeline._credential) {
-        return pipeline._credential;
-      }
-      let credential = new AnonymousCredential_js_1.AnonymousCredential();
-      for (const factory of pipeline.factories) {
-        if ((0, core_auth_1.isTokenCredential)(factory.credential)) {
-          credential = factory.credential;
-        } else if (isStorageSharedKeyCredential(factory)) {
-          return factory;
-        }
-      }
-      return credential;
-    }
-    function isStorageSharedKeyCredential(factory) {
-      if (factory instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential) {
-        return true;
-      }
-      return factory.constructor.name === "StorageSharedKeyCredential";
-    }
-    function isAnonymousCredential(factory) {
-      if (factory instanceof AnonymousCredential_js_1.AnonymousCredential) {
-        return true;
-      }
-      return factory.constructor.name === "AnonymousCredential";
-    }
-    function isCoreHttpBearerTokenFactory(factory) {
-      return (0, core_auth_1.isTokenCredential)(factory.credential);
-    }
-    function isStorageBrowserPolicyFactory(factory) {
-      if (factory instanceof StorageBrowserPolicyFactory_js_1.StorageBrowserPolicyFactory) {
-        return true;
-      }
-      return factory.constructor.name === "StorageBrowserPolicyFactory";
-    }
-    function isStorageRetryPolicyFactory(factory) {
-      if (factory instanceof StorageRetryPolicyFactory_js_1.StorageRetryPolicyFactory) {
-        return true;
-      }
-      return factory.constructor.name === "StorageRetryPolicyFactory";
-    }
-    function isStorageTelemetryPolicyFactory(factory) {
-      return factory.constructor.name === "TelemetryPolicyFactory";
-    }
-    function isInjectorPolicyFactory(factory) {
-      return factory.constructor.name === "InjectorPolicyFactory";
-    }
-    function isCoreHttpPolicyFactory(factory) {
-      const knownPolicies = [
-        "GenerateClientRequestIdPolicy",
-        "TracingPolicy",
-        "LogPolicy",
-        "ProxyPolicy",
-        "DisableResponseDecompressionPolicy",
-        "KeepAlivePolicy",
-        "DeserializationPolicy"
-      ];
-      const mockHttpClient = {
-        sendRequest: async (request2) => {
-          return {
-            request: request2,
-            headers: request2.headers.clone(),
-            status: 500
-          };
-        }
-      };
-      const mockRequestPolicyOptions = {
-        log(_logLevel, _message) {
-        },
-        shouldLog(_logLevel) {
-          return false;
-        }
-      };
-      const policyInstance = factory.create(mockHttpClient, mockRequestPolicyOptions);
-      const policyName = policyInstance.constructor.name;
-      return knownPolicies.some((knownPolicyName) => {
-        return policyName.startsWith(knownPolicyName);
-      });
-    }
+    exports2.StorageClient = StorageClient;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/index.js
-var require_models = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/index.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/utils/tracing.js
+var require_tracing = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/tracing.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.KnownStorageErrorCode = exports2.KnownBlobExpiryOptions = exports2.KnownFileShareTokenIntent = exports2.KnownEncryptionAlgorithmType = void 0;
-    var KnownEncryptionAlgorithmType;
-    (function(KnownEncryptionAlgorithmType2) {
-      KnownEncryptionAlgorithmType2["AES256"] = "AES256";
-    })(KnownEncryptionAlgorithmType || (exports2.KnownEncryptionAlgorithmType = KnownEncryptionAlgorithmType = {}));
-    var KnownFileShareTokenIntent;
-    (function(KnownFileShareTokenIntent2) {
-      KnownFileShareTokenIntent2["Backup"] = "backup";
-    })(KnownFileShareTokenIntent || (exports2.KnownFileShareTokenIntent = KnownFileShareTokenIntent = {}));
-    var KnownBlobExpiryOptions;
-    (function(KnownBlobExpiryOptions2) {
-      KnownBlobExpiryOptions2["NeverExpire"] = "NeverExpire";
-      KnownBlobExpiryOptions2["RelativeToCreation"] = "RelativeToCreation";
-      KnownBlobExpiryOptions2["RelativeToNow"] = "RelativeToNow";
-      KnownBlobExpiryOptions2["Absolute"] = "Absolute";
-    })(KnownBlobExpiryOptions || (exports2.KnownBlobExpiryOptions = KnownBlobExpiryOptions = {}));
-    var KnownStorageErrorCode;
-    (function(KnownStorageErrorCode2) {
-      KnownStorageErrorCode2["AccountAlreadyExists"] = "AccountAlreadyExists";
-      KnownStorageErrorCode2["AccountBeingCreated"] = "AccountBeingCreated";
-      KnownStorageErrorCode2["AccountIsDisabled"] = "AccountIsDisabled";
-      KnownStorageErrorCode2["AuthenticationFailed"] = "AuthenticationFailed";
-      KnownStorageErrorCode2["AuthorizationFailure"] = "AuthorizationFailure";
-      KnownStorageErrorCode2["ConditionHeadersNotSupported"] = "ConditionHeadersNotSupported";
-      KnownStorageErrorCode2["ConditionNotMet"] = "ConditionNotMet";
-      KnownStorageErrorCode2["EmptyMetadataKey"] = "EmptyMetadataKey";
-      KnownStorageErrorCode2["InsufficientAccountPermissions"] = "InsufficientAccountPermissions";
-      KnownStorageErrorCode2["InternalError"] = "InternalError";
-      KnownStorageErrorCode2["InvalidAuthenticationInfo"] = "InvalidAuthenticationInfo";
-      KnownStorageErrorCode2["InvalidHeaderValue"] = "InvalidHeaderValue";
-      KnownStorageErrorCode2["InvalidHttpVerb"] = "InvalidHttpVerb";
-      KnownStorageErrorCode2["InvalidInput"] = "InvalidInput";
-      KnownStorageErrorCode2["InvalidMd5"] = "InvalidMd5";
-      KnownStorageErrorCode2["InvalidMetadata"] = "InvalidMetadata";
-      KnownStorageErrorCode2["InvalidQueryParameterValue"] = "InvalidQueryParameterValue";
-      KnownStorageErrorCode2["InvalidRange"] = "InvalidRange";
-      KnownStorageErrorCode2["InvalidResourceName"] = "InvalidResourceName";
-      KnownStorageErrorCode2["InvalidUri"] = "InvalidUri";
-      KnownStorageErrorCode2["InvalidXmlDocument"] = "InvalidXmlDocument";
-      KnownStorageErrorCode2["InvalidXmlNodeValue"] = "InvalidXmlNodeValue";
-      KnownStorageErrorCode2["Md5Mismatch"] = "Md5Mismatch";
-      KnownStorageErrorCode2["MetadataTooLarge"] = "MetadataTooLarge";
-      KnownStorageErrorCode2["MissingContentLengthHeader"] = "MissingContentLengthHeader";
-      KnownStorageErrorCode2["MissingRequiredQueryParameter"] = "MissingRequiredQueryParameter";
-      KnownStorageErrorCode2["MissingRequiredHeader"] = "MissingRequiredHeader";
-      KnownStorageErrorCode2["MissingRequiredXmlNode"] = "MissingRequiredXmlNode";
-      KnownStorageErrorCode2["MultipleConditionHeadersNotSupported"] = "MultipleConditionHeadersNotSupported";
-      KnownStorageErrorCode2["OperationTimedOut"] = "OperationTimedOut";
-      KnownStorageErrorCode2["OutOfRangeInput"] = "OutOfRangeInput";
-      KnownStorageErrorCode2["OutOfRangeQueryParameterValue"] = "OutOfRangeQueryParameterValue";
-      KnownStorageErrorCode2["RequestBodyTooLarge"] = "RequestBodyTooLarge";
-      KnownStorageErrorCode2["ResourceTypeMismatch"] = "ResourceTypeMismatch";
-      KnownStorageErrorCode2["RequestUrlFailedToParse"] = "RequestUrlFailedToParse";
-      KnownStorageErrorCode2["ResourceAlreadyExists"] = "ResourceAlreadyExists";
-      KnownStorageErrorCode2["ResourceNotFound"] = "ResourceNotFound";
-      KnownStorageErrorCode2["ServerBusy"] = "ServerBusy";
-      KnownStorageErrorCode2["UnsupportedHeader"] = "UnsupportedHeader";
-      KnownStorageErrorCode2["UnsupportedXmlNode"] = "UnsupportedXmlNode";
-      KnownStorageErrorCode2["UnsupportedQueryParameter"] = "UnsupportedQueryParameter";
-      KnownStorageErrorCode2["UnsupportedHttpVerb"] = "UnsupportedHttpVerb";
-      KnownStorageErrorCode2["AppendPositionConditionNotMet"] = "AppendPositionConditionNotMet";
-      KnownStorageErrorCode2["BlobAlreadyExists"] = "BlobAlreadyExists";
-      KnownStorageErrorCode2["BlobImmutableDueToPolicy"] = "BlobImmutableDueToPolicy";
-      KnownStorageErrorCode2["BlobNotFound"] = "BlobNotFound";
-      KnownStorageErrorCode2["BlobOverwritten"] = "BlobOverwritten";
-      KnownStorageErrorCode2["BlobTierInadequateForContentLength"] = "BlobTierInadequateForContentLength";
-      KnownStorageErrorCode2["BlobUsesCustomerSpecifiedEncryption"] = "BlobUsesCustomerSpecifiedEncryption";
-      KnownStorageErrorCode2["BlockCountExceedsLimit"] = "BlockCountExceedsLimit";
-      KnownStorageErrorCode2["BlockListTooLong"] = "BlockListTooLong";
-      KnownStorageErrorCode2["CannotChangeToLowerTier"] = "CannotChangeToLowerTier";
-      KnownStorageErrorCode2["CannotVerifyCopySource"] = "CannotVerifyCopySource";
-      KnownStorageErrorCode2["ContainerAlreadyExists"] = "ContainerAlreadyExists";
-      KnownStorageErrorCode2["ContainerBeingDeleted"] = "ContainerBeingDeleted";
-      KnownStorageErrorCode2["ContainerDisabled"] = "ContainerDisabled";
-      KnownStorageErrorCode2["ContainerNotFound"] = "ContainerNotFound";
-      KnownStorageErrorCode2["ContentLengthLargerThanTierLimit"] = "ContentLengthLargerThanTierLimit";
-      KnownStorageErrorCode2["CopyAcrossAccountsNotSupported"] = "CopyAcrossAccountsNotSupported";
-      KnownStorageErrorCode2["CopyIdMismatch"] = "CopyIdMismatch";
-      KnownStorageErrorCode2["FeatureVersionMismatch"] = "FeatureVersionMismatch";
-      KnownStorageErrorCode2["IncrementalCopyBlobMismatch"] = "IncrementalCopyBlobMismatch";
-      KnownStorageErrorCode2["IncrementalCopyOfEarlierVersionSnapshotNotAllowed"] = "IncrementalCopyOfEarlierVersionSnapshotNotAllowed";
-      KnownStorageErrorCode2["IncrementalCopySourceMustBeSnapshot"] = "IncrementalCopySourceMustBeSnapshot";
-      KnownStorageErrorCode2["InfiniteLeaseDurationRequired"] = "InfiniteLeaseDurationRequired";
-      KnownStorageErrorCode2["InvalidBlobOrBlock"] = "InvalidBlobOrBlock";
-      KnownStorageErrorCode2["InvalidBlobTier"] = "InvalidBlobTier";
-      KnownStorageErrorCode2["InvalidBlobType"] = "InvalidBlobType";
-      KnownStorageErrorCode2["InvalidBlockId"] = "InvalidBlockId";
-      KnownStorageErrorCode2["InvalidBlockList"] = "InvalidBlockList";
-      KnownStorageErrorCode2["InvalidOperation"] = "InvalidOperation";
-      KnownStorageErrorCode2["InvalidPageRange"] = "InvalidPageRange";
-      KnownStorageErrorCode2["InvalidSourceBlobType"] = "InvalidSourceBlobType";
-      KnownStorageErrorCode2["InvalidSourceBlobUrl"] = "InvalidSourceBlobUrl";
-      KnownStorageErrorCode2["InvalidVersionForPageBlobOperation"] = "InvalidVersionForPageBlobOperation";
-      KnownStorageErrorCode2["LeaseAlreadyPresent"] = "LeaseAlreadyPresent";
-      KnownStorageErrorCode2["LeaseAlreadyBroken"] = "LeaseAlreadyBroken";
-      KnownStorageErrorCode2["LeaseIdMismatchWithBlobOperation"] = "LeaseIdMismatchWithBlobOperation";
-      KnownStorageErrorCode2["LeaseIdMismatchWithContainerOperation"] = "LeaseIdMismatchWithContainerOperation";
-      KnownStorageErrorCode2["LeaseIdMismatchWithLeaseOperation"] = "LeaseIdMismatchWithLeaseOperation";
-      KnownStorageErrorCode2["LeaseIdMissing"] = "LeaseIdMissing";
-      KnownStorageErrorCode2["LeaseIsBreakingAndCannotBeAcquired"] = "LeaseIsBreakingAndCannotBeAcquired";
-      KnownStorageErrorCode2["LeaseIsBreakingAndCannotBeChanged"] = "LeaseIsBreakingAndCannotBeChanged";
-      KnownStorageErrorCode2["LeaseIsBrokenAndCannotBeRenewed"] = "LeaseIsBrokenAndCannotBeRenewed";
-      KnownStorageErrorCode2["LeaseLost"] = "LeaseLost";
-      KnownStorageErrorCode2["LeaseNotPresentWithBlobOperation"] = "LeaseNotPresentWithBlobOperation";
-      KnownStorageErrorCode2["LeaseNotPresentWithContainerOperation"] = "LeaseNotPresentWithContainerOperation";
-      KnownStorageErrorCode2["LeaseNotPresentWithLeaseOperation"] = "LeaseNotPresentWithLeaseOperation";
-      KnownStorageErrorCode2["MaxBlobSizeConditionNotMet"] = "MaxBlobSizeConditionNotMet";
-      KnownStorageErrorCode2["NoAuthenticationInformation"] = "NoAuthenticationInformation";
-      KnownStorageErrorCode2["NoPendingCopyOperation"] = "NoPendingCopyOperation";
-      KnownStorageErrorCode2["OperationNotAllowedOnIncrementalCopyBlob"] = "OperationNotAllowedOnIncrementalCopyBlob";
-      KnownStorageErrorCode2["PendingCopyOperation"] = "PendingCopyOperation";
-      KnownStorageErrorCode2["PreviousSnapshotCannotBeNewer"] = "PreviousSnapshotCannotBeNewer";
-      KnownStorageErrorCode2["PreviousSnapshotNotFound"] = "PreviousSnapshotNotFound";
-      KnownStorageErrorCode2["PreviousSnapshotOperationNotSupported"] = "PreviousSnapshotOperationNotSupported";
-      KnownStorageErrorCode2["SequenceNumberConditionNotMet"] = "SequenceNumberConditionNotMet";
-      KnownStorageErrorCode2["SequenceNumberIncrementTooLarge"] = "SequenceNumberIncrementTooLarge";
-      KnownStorageErrorCode2["SnapshotCountExceeded"] = "SnapshotCountExceeded";
-      KnownStorageErrorCode2["SnapshotOperationRateExceeded"] = "SnapshotOperationRateExceeded";
-      KnownStorageErrorCode2["SnapshotsPresent"] = "SnapshotsPresent";
-      KnownStorageErrorCode2["SourceConditionNotMet"] = "SourceConditionNotMet";
-      KnownStorageErrorCode2["SystemInUse"] = "SystemInUse";
-      KnownStorageErrorCode2["TargetConditionNotMet"] = "TargetConditionNotMet";
-      KnownStorageErrorCode2["UnauthorizedBlobOverwrite"] = "UnauthorizedBlobOverwrite";
-      KnownStorageErrorCode2["BlobBeingRehydrated"] = "BlobBeingRehydrated";
-      KnownStorageErrorCode2["BlobArchived"] = "BlobArchived";
-      KnownStorageErrorCode2["BlobNotArchived"] = "BlobNotArchived";
-      KnownStorageErrorCode2["AuthorizationSourceIPMismatch"] = "AuthorizationSourceIPMismatch";
-      KnownStorageErrorCode2["AuthorizationProtocolMismatch"] = "AuthorizationProtocolMismatch";
-      KnownStorageErrorCode2["AuthorizationPermissionMismatch"] = "AuthorizationPermissionMismatch";
-      KnownStorageErrorCode2["AuthorizationServiceMismatch"] = "AuthorizationServiceMismatch";
-      KnownStorageErrorCode2["AuthorizationResourceTypeMismatch"] = "AuthorizationResourceTypeMismatch";
-      KnownStorageErrorCode2["BlobAccessTierNotSupportedForAccountType"] = "BlobAccessTierNotSupportedForAccountType";
-    })(KnownStorageErrorCode || (exports2.KnownStorageErrorCode = KnownStorageErrorCode = {}));
+    exports2.tracingClient = void 0;
+    var core_tracing_1 = require_commonjs5();
+    var constants_js_1 = require_constants15();
+    exports2.tracingClient = (0, core_tracing_1.createTracingClient)({
+      packageName: "@azure/storage-blob",
+      packageVersion: constants_js_1.SDK_VERSION,
+      namespace: "Microsoft.Storage"
+    });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASPermissions.js
+var require_BlobSASPermissions = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASPermissions.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobSASPermissions = void 0;
+    var BlobSASPermissions = class _BlobSASPermissions {
+      /**
+       * Creates a {@link BlobSASPermissions} from the specified permissions string. This method will throw an
+       * Error if it encounters a character that does not correspond to a valid permission.
+       *
+       * @param permissions -
+       */
+      static parse(permissions) {
+        const blobSASPermissions = new _BlobSASPermissions();
+        for (const char of permissions) {
+          switch (char) {
+            case "r":
+              blobSASPermissions.read = true;
+              break;
+            case "a":
+              blobSASPermissions.add = true;
+              break;
+            case "c":
+              blobSASPermissions.create = true;
+              break;
+            case "w":
+              blobSASPermissions.write = true;
+              break;
+            case "d":
+              blobSASPermissions.delete = true;
+              break;
+            case "x":
+              blobSASPermissions.deleteVersion = true;
+              break;
+            case "t":
+              blobSASPermissions.tag = true;
+              break;
+            case "m":
+              blobSASPermissions.move = true;
+              break;
+            case "e":
+              blobSASPermissions.execute = true;
+              break;
+            case "i":
+              blobSASPermissions.setImmutabilityPolicy = true;
+              break;
+            case "y":
+              blobSASPermissions.permanentDelete = true;
+              break;
+            default:
+              throw new RangeError(`Invalid permission: ${char}`);
+          }
+        }
+        return blobSASPermissions;
+      }
+      /**
+       * Creates a {@link BlobSASPermissions} from a raw object which contains same keys as it
+       * and boolean values for them.
+       *
+       * @param permissionLike -
+       */
+      static from(permissionLike) {
+        const blobSASPermissions = new _BlobSASPermissions();
+        if (permissionLike.read) {
+          blobSASPermissions.read = true;
+        }
+        if (permissionLike.add) {
+          blobSASPermissions.add = true;
+        }
+        if (permissionLike.create) {
+          blobSASPermissions.create = true;
+        }
+        if (permissionLike.write) {
+          blobSASPermissions.write = true;
+        }
+        if (permissionLike.delete) {
+          blobSASPermissions.delete = true;
+        }
+        if (permissionLike.deleteVersion) {
+          blobSASPermissions.deleteVersion = true;
+        }
+        if (permissionLike.tag) {
+          blobSASPermissions.tag = true;
+        }
+        if (permissionLike.move) {
+          blobSASPermissions.move = true;
+        }
+        if (permissionLike.execute) {
+          blobSASPermissions.execute = true;
+        }
+        if (permissionLike.setImmutabilityPolicy) {
+          blobSASPermissions.setImmutabilityPolicy = true;
+        }
+        if (permissionLike.permanentDelete) {
+          blobSASPermissions.permanentDelete = true;
+        }
+        return blobSASPermissions;
+      }
+      /**
+       * Specifies Read access granted.
+       */
+      read = false;
+      /**
+       * Specifies Add access granted.
+       */
+      add = false;
+      /**
+       * Specifies Create access granted.
+       */
+      create = false;
+      /**
+       * Specifies Write access granted.
+       */
+      write = false;
+      /**
+       * Specifies Delete access granted.
+       */
+      delete = false;
+      /**
+       * Specifies Delete version access granted.
+       */
+      deleteVersion = false;
+      /**
+       * Specfies Tag access granted.
+       */
+      tag = false;
+      /**
+       * Specifies Move access granted.
+       */
+      move = false;
+      /**
+       * Specifies Execute access granted.
+       */
+      execute = false;
+      /**
+       * Specifies SetImmutabilityPolicy access granted.
+       */
+      setImmutabilityPolicy = false;
+      /**
+       * Specifies that Permanent Delete is permitted.
+       */
+      permanentDelete = false;
+      /**
+       * Converts the given permissions to a string. Using this method will guarantee the permissions are in an
+       * order accepted by the service.
+       *
+       * @returns A string which represents the BlobSASPermissions
+       */
+      toString() {
+        const permissions = [];
+        if (this.read) {
+          permissions.push("r");
+        }
+        if (this.add) {
+          permissions.push("a");
+        }
+        if (this.create) {
+          permissions.push("c");
+        }
+        if (this.write) {
+          permissions.push("w");
+        }
+        if (this.delete) {
+          permissions.push("d");
+        }
+        if (this.deleteVersion) {
+          permissions.push("x");
+        }
+        if (this.tag) {
+          permissions.push("t");
+        }
+        if (this.move) {
+          permissions.push("m");
+        }
+        if (this.execute) {
+          permissions.push("e");
+        }
+        if (this.setImmutabilityPolicy) {
+          permissions.push("i");
+        }
+        if (this.permanentDelete) {
+          permissions.push("y");
+        }
+        return permissions.join("");
+      }
+    };
+    exports2.BlobSASPermissions = BlobSASPermissions;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/mappers.js
-var require_mappers = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/mappers.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/sas/ContainerSASPermissions.js
+var require_ContainerSASPermissions = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/ContainerSASPermissions.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ServiceGetUserDelegationKeyHeaders = exports2.ServiceListContainersSegmentExceptionHeaders = exports2.ServiceListContainersSegmentHeaders = exports2.ServiceGetStatisticsExceptionHeaders = exports2.ServiceGetStatisticsHeaders = exports2.ServiceGetPropertiesExceptionHeaders = exports2.ServiceGetPropertiesHeaders = exports2.ServiceSetPropertiesExceptionHeaders = exports2.ServiceSetPropertiesHeaders = exports2.ArrowField = exports2.ArrowConfiguration = exports2.JsonTextConfiguration = exports2.DelimitedTextConfiguration = exports2.QueryFormat = exports2.QuerySerialization = exports2.QueryRequest = exports2.ClearRange = exports2.PageRange = exports2.PageList = exports2.Block = exports2.BlockList = exports2.BlockLookupList = exports2.BlobPrefix = exports2.BlobHierarchyListSegment = exports2.ListBlobsHierarchySegmentResponse = exports2.BlobPropertiesInternal = exports2.BlobName = exports2.BlobItemInternal = exports2.BlobFlatListSegment = exports2.ListBlobsFlatSegmentResponse = exports2.AccessPolicy = exports2.SignedIdentifier = exports2.BlobTag = exports2.BlobTags = exports2.FilterBlobItem = exports2.FilterBlobSegment = exports2.UserDelegationKey = exports2.KeyInfo = exports2.ContainerProperties = exports2.ContainerItem = exports2.ListContainersSegmentResponse = exports2.GeoReplication = exports2.BlobServiceStatistics = exports2.StorageError = exports2.StaticWebsite = exports2.CorsRule = exports2.Metrics = exports2.RetentionPolicy = exports2.Logging = exports2.BlobServiceProperties = void 0;
-    exports2.BlobUndeleteHeaders = exports2.BlobDeleteExceptionHeaders = exports2.BlobDeleteHeaders = exports2.BlobGetPropertiesExceptionHeaders = exports2.BlobGetPropertiesHeaders = exports2.BlobDownloadExceptionHeaders = exports2.BlobDownloadHeaders = exports2.ContainerGetAccountInfoExceptionHeaders = exports2.ContainerGetAccountInfoHeaders = exports2.ContainerListBlobHierarchySegmentExceptionHeaders = exports2.ContainerListBlobHierarchySegmentHeaders = exports2.ContainerListBlobFlatSegmentExceptionHeaders = exports2.ContainerListBlobFlatSegmentHeaders = exports2.ContainerChangeLeaseExceptionHeaders = exports2.ContainerChangeLeaseHeaders = exports2.ContainerBreakLeaseExceptionHeaders = exports2.ContainerBreakLeaseHeaders = exports2.ContainerRenewLeaseExceptionHeaders = exports2.ContainerRenewLeaseHeaders = exports2.ContainerReleaseLeaseExceptionHeaders = exports2.ContainerReleaseLeaseHeaders = exports2.ContainerAcquireLeaseExceptionHeaders = exports2.ContainerAcquireLeaseHeaders = exports2.ContainerFilterBlobsExceptionHeaders = exports2.ContainerFilterBlobsHeaders = exports2.ContainerSubmitBatchExceptionHeaders = exports2.ContainerSubmitBatchHeaders = exports2.ContainerRenameExceptionHeaders = exports2.ContainerRenameHeaders = exports2.ContainerRestoreExceptionHeaders = exports2.ContainerRestoreHeaders = exports2.ContainerSetAccessPolicyExceptionHeaders = exports2.ContainerSetAccessPolicyHeaders = exports2.ContainerGetAccessPolicyExceptionHeaders = exports2.ContainerGetAccessPolicyHeaders = exports2.ContainerSetMetadataExceptionHeaders = exports2.ContainerSetMetadataHeaders = exports2.ContainerDeleteExceptionHeaders = exports2.ContainerDeleteHeaders = exports2.ContainerGetPropertiesExceptionHeaders = exports2.ContainerGetPropertiesHeaders = exports2.ContainerCreateExceptionHeaders = exports2.ContainerCreateHeaders = exports2.ServiceFilterBlobsExceptionHeaders = exports2.ServiceFilterBlobsHeaders = exports2.ServiceSubmitBatchExceptionHeaders = exports2.ServiceSubmitBatchHeaders = exports2.ServiceGetAccountInfoExceptionHeaders = exports2.ServiceGetAccountInfoHeaders = exports2.ServiceGetUserDelegationKeyExceptionHeaders = void 0;
-    exports2.PageBlobGetPageRangesHeaders = exports2.PageBlobUploadPagesFromURLExceptionHeaders = exports2.PageBlobUploadPagesFromURLHeaders = exports2.PageBlobClearPagesExceptionHeaders = exports2.PageBlobClearPagesHeaders = exports2.PageBlobUploadPagesExceptionHeaders = exports2.PageBlobUploadPagesHeaders = exports2.PageBlobCreateExceptionHeaders = exports2.PageBlobCreateHeaders = exports2.BlobSetTagsExceptionHeaders = exports2.BlobSetTagsHeaders = exports2.BlobGetTagsExceptionHeaders = exports2.BlobGetTagsHeaders = exports2.BlobQueryExceptionHeaders = exports2.BlobQueryHeaders = exports2.BlobGetAccountInfoExceptionHeaders = exports2.BlobGetAccountInfoHeaders = exports2.BlobSetTierExceptionHeaders = exports2.BlobSetTierHeaders = exports2.BlobAbortCopyFromURLExceptionHeaders = exports2.BlobAbortCopyFromURLHeaders = exports2.BlobCopyFromURLExceptionHeaders = exports2.BlobCopyFromURLHeaders = exports2.BlobStartCopyFromURLExceptionHeaders = exports2.BlobStartCopyFromURLHeaders = exports2.BlobCreateSnapshotExceptionHeaders = exports2.BlobCreateSnapshotHeaders = exports2.BlobBreakLeaseExceptionHeaders = exports2.BlobBreakLeaseHeaders = exports2.BlobChangeLeaseExceptionHeaders = exports2.BlobChangeLeaseHeaders = exports2.BlobRenewLeaseExceptionHeaders = exports2.BlobRenewLeaseHeaders = exports2.BlobReleaseLeaseExceptionHeaders = exports2.BlobReleaseLeaseHeaders = exports2.BlobAcquireLeaseExceptionHeaders = exports2.BlobAcquireLeaseHeaders = exports2.BlobSetMetadataExceptionHeaders = exports2.BlobSetMetadataHeaders = exports2.BlobSetLegalHoldExceptionHeaders = exports2.BlobSetLegalHoldHeaders = exports2.BlobDeleteImmutabilityPolicyExceptionHeaders = exports2.BlobDeleteImmutabilityPolicyHeaders = exports2.BlobSetImmutabilityPolicyExceptionHeaders = exports2.BlobSetImmutabilityPolicyHeaders = exports2.BlobSetHttpHeadersExceptionHeaders = exports2.BlobSetHttpHeadersHeaders = exports2.BlobSetExpiryExceptionHeaders = exports2.BlobSetExpiryHeaders = exports2.BlobUndeleteExceptionHeaders = void 0;
-    exports2.BlockBlobGetBlockListExceptionHeaders = exports2.BlockBlobGetBlockListHeaders = exports2.BlockBlobCommitBlockListExceptionHeaders = exports2.BlockBlobCommitBlockListHeaders = exports2.BlockBlobStageBlockFromURLExceptionHeaders = exports2.BlockBlobStageBlockFromURLHeaders = exports2.BlockBlobStageBlockExceptionHeaders = exports2.BlockBlobStageBlockHeaders = exports2.BlockBlobPutBlobFromUrlExceptionHeaders = exports2.BlockBlobPutBlobFromUrlHeaders = exports2.BlockBlobUploadExceptionHeaders = exports2.BlockBlobUploadHeaders = exports2.AppendBlobSealExceptionHeaders = exports2.AppendBlobSealHeaders = exports2.AppendBlobAppendBlockFromUrlExceptionHeaders = exports2.AppendBlobAppendBlockFromUrlHeaders = exports2.AppendBlobAppendBlockExceptionHeaders = exports2.AppendBlobAppendBlockHeaders = exports2.AppendBlobCreateExceptionHeaders = exports2.AppendBlobCreateHeaders = exports2.PageBlobCopyIncrementalExceptionHeaders = exports2.PageBlobCopyIncrementalHeaders = exports2.PageBlobUpdateSequenceNumberExceptionHeaders = exports2.PageBlobUpdateSequenceNumberHeaders = exports2.PageBlobResizeExceptionHeaders = exports2.PageBlobResizeHeaders = exports2.PageBlobGetPageRangesDiffExceptionHeaders = exports2.PageBlobGetPageRangesDiffHeaders = exports2.PageBlobGetPageRangesExceptionHeaders = void 0;
-    exports2.BlobServiceProperties = {
-      serializedName: "BlobServiceProperties",
-      xmlName: "StorageServiceProperties",
-      type: {
-        name: "Composite",
-        className: "BlobServiceProperties",
-        modelProperties: {
-          blobAnalyticsLogging: {
-            serializedName: "Logging",
-            xmlName: "Logging",
-            type: {
-              name: "Composite",
-              className: "Logging"
-            }
-          },
-          hourMetrics: {
-            serializedName: "HourMetrics",
-            xmlName: "HourMetrics",
-            type: {
-              name: "Composite",
-              className: "Metrics"
-            }
-          },
-          minuteMetrics: {
-            serializedName: "MinuteMetrics",
-            xmlName: "MinuteMetrics",
-            type: {
-              name: "Composite",
-              className: "Metrics"
-            }
-          },
-          cors: {
-            serializedName: "Cors",
-            xmlName: "Cors",
-            xmlIsWrapped: true,
-            xmlElementName: "CorsRule",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "CorsRule"
-                }
-              }
-            }
-          },
-          defaultServiceVersion: {
-            serializedName: "DefaultServiceVersion",
-            xmlName: "DefaultServiceVersion",
-            type: {
-              name: "String"
-            }
-          },
-          deleteRetentionPolicy: {
-            serializedName: "DeleteRetentionPolicy",
-            xmlName: "DeleteRetentionPolicy",
-            type: {
-              name: "Composite",
-              className: "RetentionPolicy"
-            }
-          },
-          staticWebsite: {
-            serializedName: "StaticWebsite",
-            xmlName: "StaticWebsite",
-            type: {
-              name: "Composite",
-              className: "StaticWebsite"
-            }
+    exports2.ContainerSASPermissions = void 0;
+    var ContainerSASPermissions = class _ContainerSASPermissions {
+      /**
+       * Creates an {@link ContainerSASPermissions} from the specified permissions string. This method will throw an
+       * Error if it encounters a character that does not correspond to a valid permission.
+       *
+       * @param permissions -
+       */
+      static parse(permissions) {
+        const containerSASPermissions = new _ContainerSASPermissions();
+        for (const char of permissions) {
+          switch (char) {
+            case "r":
+              containerSASPermissions.read = true;
+              break;
+            case "a":
+              containerSASPermissions.add = true;
+              break;
+            case "c":
+              containerSASPermissions.create = true;
+              break;
+            case "w":
+              containerSASPermissions.write = true;
+              break;
+            case "d":
+              containerSASPermissions.delete = true;
+              break;
+            case "l":
+              containerSASPermissions.list = true;
+              break;
+            case "t":
+              containerSASPermissions.tag = true;
+              break;
+            case "x":
+              containerSASPermissions.deleteVersion = true;
+              break;
+            case "m":
+              containerSASPermissions.move = true;
+              break;
+            case "e":
+              containerSASPermissions.execute = true;
+              break;
+            case "i":
+              containerSASPermissions.setImmutabilityPolicy = true;
+              break;
+            case "y":
+              containerSASPermissions.permanentDelete = true;
+              break;
+            case "f":
+              containerSASPermissions.filterByTags = true;
+              break;
+            default:
+              throw new RangeError(`Invalid permission ${char}`);
           }
         }
+        return containerSASPermissions;
       }
-    };
-    exports2.Logging = {
-      serializedName: "Logging",
-      type: {
-        name: "Composite",
-        className: "Logging",
-        modelProperties: {
-          version: {
-            serializedName: "Version",
-            required: true,
-            xmlName: "Version",
-            type: {
-              name: "String"
-            }
-          },
-          deleteProperty: {
-            serializedName: "Delete",
-            required: true,
-            xmlName: "Delete",
-            type: {
-              name: "Boolean"
-            }
-          },
-          read: {
-            serializedName: "Read",
-            required: true,
-            xmlName: "Read",
-            type: {
-              name: "Boolean"
-            }
-          },
-          write: {
-            serializedName: "Write",
-            required: true,
-            xmlName: "Write",
-            type: {
-              name: "Boolean"
-            }
-          },
-          retentionPolicy: {
-            serializedName: "RetentionPolicy",
-            xmlName: "RetentionPolicy",
-            type: {
-              name: "Composite",
-              className: "RetentionPolicy"
-            }
-          }
+      /**
+       * Creates a {@link ContainerSASPermissions} from a raw object which contains same keys as it
+       * and boolean values for them.
+       *
+       * @param permissionLike -
+       */
+      static from(permissionLike) {
+        const containerSASPermissions = new _ContainerSASPermissions();
+        if (permissionLike.read) {
+          containerSASPermissions.read = true;
         }
-      }
-    };
-    exports2.RetentionPolicy = {
-      serializedName: "RetentionPolicy",
-      type: {
-        name: "Composite",
-        className: "RetentionPolicy",
-        modelProperties: {
-          enabled: {
-            serializedName: "Enabled",
-            required: true,
-            xmlName: "Enabled",
-            type: {
-              name: "Boolean"
-            }
-          },
-          days: {
-            constraints: {
-              InclusiveMinimum: 1
-            },
-            serializedName: "Days",
-            xmlName: "Days",
-            type: {
-              name: "Number"
-            }
-          }
+        if (permissionLike.add) {
+          containerSASPermissions.add = true;
+        }
+        if (permissionLike.create) {
+          containerSASPermissions.create = true;
+        }
+        if (permissionLike.write) {
+          containerSASPermissions.write = true;
         }
+        if (permissionLike.delete) {
+          containerSASPermissions.delete = true;
+        }
+        if (permissionLike.list) {
+          containerSASPermissions.list = true;
+        }
+        if (permissionLike.deleteVersion) {
+          containerSASPermissions.deleteVersion = true;
+        }
+        if (permissionLike.tag) {
+          containerSASPermissions.tag = true;
+        }
+        if (permissionLike.move) {
+          containerSASPermissions.move = true;
+        }
+        if (permissionLike.execute) {
+          containerSASPermissions.execute = true;
+        }
+        if (permissionLike.setImmutabilityPolicy) {
+          containerSASPermissions.setImmutabilityPolicy = true;
+        }
+        if (permissionLike.permanentDelete) {
+          containerSASPermissions.permanentDelete = true;
+        }
+        if (permissionLike.filterByTags) {
+          containerSASPermissions.filterByTags = true;
+        }
+        return containerSASPermissions;
       }
-    };
-    exports2.Metrics = {
-      serializedName: "Metrics",
-      type: {
-        name: "Composite",
-        className: "Metrics",
-        modelProperties: {
-          version: {
-            serializedName: "Version",
-            xmlName: "Version",
-            type: {
-              name: "String"
-            }
-          },
-          enabled: {
-            serializedName: "Enabled",
-            required: true,
-            xmlName: "Enabled",
-            type: {
-              name: "Boolean"
-            }
-          },
-          includeAPIs: {
-            serializedName: "IncludeAPIs",
-            xmlName: "IncludeAPIs",
-            type: {
-              name: "Boolean"
-            }
-          },
-          retentionPolicy: {
-            serializedName: "RetentionPolicy",
-            xmlName: "RetentionPolicy",
-            type: {
-              name: "Composite",
-              className: "RetentionPolicy"
-            }
-          }
+      /**
+       * Specifies Read access granted.
+       */
+      read = false;
+      /**
+       * Specifies Add access granted.
+       */
+      add = false;
+      /**
+       * Specifies Create access granted.
+       */
+      create = false;
+      /**
+       * Specifies Write access granted.
+       */
+      write = false;
+      /**
+       * Specifies Delete access granted.
+       */
+      delete = false;
+      /**
+       * Specifies Delete version access granted.
+       */
+      deleteVersion = false;
+      /**
+       * Specifies List access granted.
+       */
+      list = false;
+      /**
+       * Specfies Tag access granted.
+       */
+      tag = false;
+      /**
+       * Specifies Move access granted.
+       */
+      move = false;
+      /**
+       * Specifies Execute access granted.
+       */
+      execute = false;
+      /**
+       * Specifies SetImmutabilityPolicy access granted.
+       */
+      setImmutabilityPolicy = false;
+      /**
+       * Specifies that Permanent Delete is permitted.
+       */
+      permanentDelete = false;
+      /**
+       * Specifies that Filter Blobs by Tags is permitted.
+       */
+      filterByTags = false;
+      /**
+       * Converts the given permissions to a string. Using this method will guarantee the permissions are in an
+       * order accepted by the service.
+       *
+       * The order of the characters should be as specified here to ensure correctness.
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       */
+      toString() {
+        const permissions = [];
+        if (this.read) {
+          permissions.push("r");
+        }
+        if (this.add) {
+          permissions.push("a");
+        }
+        if (this.create) {
+          permissions.push("c");
+        }
+        if (this.write) {
+          permissions.push("w");
+        }
+        if (this.delete) {
+          permissions.push("d");
+        }
+        if (this.deleteVersion) {
+          permissions.push("x");
+        }
+        if (this.list) {
+          permissions.push("l");
+        }
+        if (this.tag) {
+          permissions.push("t");
+        }
+        if (this.move) {
+          permissions.push("m");
+        }
+        if (this.execute) {
+          permissions.push("e");
+        }
+        if (this.setImmutabilityPolicy) {
+          permissions.push("i");
+        }
+        if (this.permanentDelete) {
+          permissions.push("y");
+        }
+        if (this.filterByTags) {
+          permissions.push("f");
         }
+        return permissions.join("");
       }
     };
-    exports2.CorsRule = {
-      serializedName: "CorsRule",
-      type: {
-        name: "Composite",
-        className: "CorsRule",
-        modelProperties: {
-          allowedOrigins: {
-            serializedName: "AllowedOrigins",
-            required: true,
-            xmlName: "AllowedOrigins",
-            type: {
-              name: "String"
-            }
-          },
-          allowedMethods: {
-            serializedName: "AllowedMethods",
-            required: true,
-            xmlName: "AllowedMethods",
-            type: {
-              name: "String"
-            }
-          },
-          allowedHeaders: {
-            serializedName: "AllowedHeaders",
-            required: true,
-            xmlName: "AllowedHeaders",
-            type: {
-              name: "String"
-            }
-          },
-          exposedHeaders: {
-            serializedName: "ExposedHeaders",
-            required: true,
-            xmlName: "ExposedHeaders",
-            type: {
-              name: "String"
-            }
-          },
-          maxAgeInSeconds: {
-            constraints: {
-              InclusiveMinimum: 0
-            },
-            serializedName: "MaxAgeInSeconds",
-            required: true,
-            xmlName: "MaxAgeInSeconds",
-            type: {
-              name: "Number"
-            }
-          }
-        }
+    exports2.ContainerSASPermissions = ContainerSASPermissions;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/credentials/UserDelegationKeyCredential.js
+var require_UserDelegationKeyCredential = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/credentials/UserDelegationKeyCredential.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.UserDelegationKeyCredential = void 0;
+    var node_crypto_1 = require("node:crypto");
+    var UserDelegationKeyCredential = class {
+      /**
+       * Azure Storage account name; readonly.
+       */
+      accountName;
+      /**
+       * Azure Storage user delegation key; readonly.
+       */
+      userDelegationKey;
+      /**
+       * Key value in Buffer type.
+       */
+      key;
+      /**
+       * Creates an instance of UserDelegationKeyCredential.
+       * @param accountName -
+       * @param userDelegationKey -
+       */
+      constructor(accountName, userDelegationKey) {
+        this.accountName = accountName;
+        this.userDelegationKey = userDelegationKey;
+        this.key = Buffer.from(userDelegationKey.value, "base64");
+      }
+      /**
+       * Generates a hash signature for an HTTP request or for a SAS.
+       *
+       * @param stringToSign -
+       */
+      computeHMACSHA256(stringToSign) {
+        return (0, node_crypto_1.createHmac)("sha256", this.key).update(stringToSign, "utf8").digest("base64");
       }
     };
-    exports2.StaticWebsite = {
-      serializedName: "StaticWebsite",
-      type: {
-        name: "Composite",
-        className: "StaticWebsite",
-        modelProperties: {
-          enabled: {
-            serializedName: "Enabled",
-            required: true,
-            xmlName: "Enabled",
-            type: {
-              name: "Boolean"
-            }
-          },
-          indexDocument: {
-            serializedName: "IndexDocument",
-            xmlName: "IndexDocument",
-            type: {
-              name: "String"
-            }
-          },
-          errorDocument404Path: {
-            serializedName: "ErrorDocument404Path",
-            xmlName: "ErrorDocument404Path",
-            type: {
-              name: "String"
-            }
-          },
-          defaultIndexDocumentPath: {
-            serializedName: "DefaultIndexDocumentPath",
-            xmlName: "DefaultIndexDocumentPath",
-            type: {
-              name: "String"
-            }
-          }
+    exports2.UserDelegationKeyCredential = UserDelegationKeyCredential;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/SasIPRange.js
+var require_SasIPRange = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/SasIPRange.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ipRangeToString = ipRangeToString;
+    function ipRangeToString(ipRange) {
+      return ipRange.end ? `${ipRange.start}-${ipRange.end}` : ipRange.start;
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/SASQueryParameters.js
+var require_SASQueryParameters = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/SASQueryParameters.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.SASQueryParameters = exports2.SASProtocol = void 0;
+    var SasIPRange_js_1 = require_SasIPRange();
+    var utils_common_js_1 = require_utils_common();
+    var SASProtocol;
+    (function(SASProtocol2) {
+      SASProtocol2["Https"] = "https";
+      SASProtocol2["HttpsAndHttp"] = "https,http";
+    })(SASProtocol || (exports2.SASProtocol = SASProtocol = {}));
+    var SASQueryParameters = class {
+      /**
+       * The storage API version.
+       */
+      version;
+      /**
+       * Optional. The allowed HTTP protocol(s).
+       */
+      protocol;
+      /**
+       * Optional. The start time for this SAS token.
+       */
+      startsOn;
+      /**
+       * Optional only when identifier is provided. The expiry time for this SAS token.
+       */
+      expiresOn;
+      /**
+       * Optional only when identifier is provided.
+       * Please refer to {@link AccountSASPermissions}, {@link BlobSASPermissions}, or {@link ContainerSASPermissions} for
+       * more details.
+       */
+      permissions;
+      /**
+       * Optional. The storage services being accessed (only for Account SAS). Please refer to {@link AccountSASServices}
+       * for more details.
+       */
+      services;
+      /**
+       * Optional. The storage resource types being accessed (only for Account SAS). Please refer to
+       * {@link AccountSASResourceTypes} for more details.
+       */
+      resourceTypes;
+      /**
+       * Optional. The signed identifier (only for {@link BlobSASSignatureValues}).
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/establishing-a-stored-access-policy
+       */
+      identifier;
+      /**
+       * Optional. Encryption scope to use when sending requests authorized with this SAS URI.
+       */
+      encryptionScope;
+      /**
+       * Optional. Specifies which resources are accessible via the SAS (only for {@link BlobSASSignatureValues}).
+       * @see https://learn.microsoft.com/rest/api/storageservices/create-service-sas#specifying-the-signed-resource-blob-service-only
+       */
+      resource;
+      /**
+       * The signature for the SAS token.
+       */
+      signature;
+      /**
+       * Value for cache-control header in Blob/File Service SAS.
+       */
+      cacheControl;
+      /**
+       * Value for content-disposition header in Blob/File Service SAS.
+       */
+      contentDisposition;
+      /**
+       * Value for content-encoding header in Blob/File Service SAS.
+       */
+      contentEncoding;
+      /**
+       * Value for content-length header in Blob/File Service SAS.
+       */
+      contentLanguage;
+      /**
+       * Value for content-type header in Blob/File Service SAS.
+       */
+      contentType;
+      /**
+       * Inner value of getter ipRange.
+       */
+      ipRangeInner;
+      /**
+       * The Azure Active Directory object ID in GUID format.
+       * Property of user delegation key.
+       */
+      signedOid;
+      /**
+       * The Azure Active Directory tenant ID in GUID format.
+       * Property of user delegation key.
+       */
+      signedTenantId;
+      /**
+       * The date-time the key is active.
+       * Property of user delegation key.
+       */
+      signedStartsOn;
+      /**
+       * The date-time the key expires.
+       * Property of user delegation key.
+       */
+      signedExpiresOn;
+      /**
+       * Abbreviation of the Azure Storage service that accepts the user delegation key.
+       * Property of user delegation key.
+       */
+      signedService;
+      /**
+       * The service version that created the user delegation key.
+       * Property of user delegation key.
+       */
+      signedVersion;
+      /**
+       * Authorized AAD Object ID in GUID format. The AAD Object ID of a user authorized by the owner of the User Delegation Key
+       * to perform the action granted by the SAS. The Azure Storage service will ensure that the owner of the user delegation key
+       * has the required permissions before granting access but no additional permission check for the user specified in
+       * this value will be performed. This is only used for User Delegation SAS.
+       */
+      preauthorizedAgentObjectId;
+      /**
+       * A GUID value that will be logged in the storage diagnostic logs and can be used to correlate SAS generation with storage resource access.
+       * This is only used for User Delegation SAS.
+       */
+      correlationId;
+      /**
+       * Optional. IP range allowed for this SAS.
+       *
+       * @readonly
+       */
+      get ipRange() {
+        if (this.ipRangeInner) {
+          return {
+            end: this.ipRangeInner.end,
+            start: this.ipRangeInner.start
+          };
         }
+        return void 0;
       }
-    };
-    exports2.StorageError = {
-      serializedName: "StorageError",
-      type: {
-        name: "Composite",
-        className: "StorageError",
-        modelProperties: {
-          message: {
-            serializedName: "Message",
-            xmlName: "Message",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceStatusCode: {
-            serializedName: "CopySourceStatusCode",
-            xmlName: "CopySourceStatusCode",
-            type: {
-              name: "Number"
-            }
-          },
-          copySourceErrorCode: {
-            serializedName: "CopySourceErrorCode",
-            xmlName: "CopySourceErrorCode",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceErrorMessage: {
-            serializedName: "CopySourceErrorMessage",
-            xmlName: "CopySourceErrorMessage",
-            type: {
-              name: "String"
-            }
-          },
-          code: {
-            serializedName: "Code",
-            xmlName: "Code",
-            type: {
-              name: "String"
-            }
-          },
-          authenticationErrorDetail: {
-            serializedName: "AuthenticationErrorDetail",
-            xmlName: "AuthenticationErrorDetail",
-            type: {
-              name: "String"
-            }
+      constructor(version, signature, permissionsOrOptions, services, resourceTypes, protocol, startsOn, expiresOn, ipRange, identifier, resource, cacheControl, contentDisposition, contentEncoding, contentLanguage, contentType, userDelegationKey, preauthorizedAgentObjectId, correlationId, encryptionScope) {
+        this.version = version;
+        this.signature = signature;
+        if (permissionsOrOptions !== void 0 && typeof permissionsOrOptions !== "string") {
+          this.permissions = permissionsOrOptions.permissions;
+          this.services = permissionsOrOptions.services;
+          this.resourceTypes = permissionsOrOptions.resourceTypes;
+          this.protocol = permissionsOrOptions.protocol;
+          this.startsOn = permissionsOrOptions.startsOn;
+          this.expiresOn = permissionsOrOptions.expiresOn;
+          this.ipRangeInner = permissionsOrOptions.ipRange;
+          this.identifier = permissionsOrOptions.identifier;
+          this.encryptionScope = permissionsOrOptions.encryptionScope;
+          this.resource = permissionsOrOptions.resource;
+          this.cacheControl = permissionsOrOptions.cacheControl;
+          this.contentDisposition = permissionsOrOptions.contentDisposition;
+          this.contentEncoding = permissionsOrOptions.contentEncoding;
+          this.contentLanguage = permissionsOrOptions.contentLanguage;
+          this.contentType = permissionsOrOptions.contentType;
+          if (permissionsOrOptions.userDelegationKey) {
+            this.signedOid = permissionsOrOptions.userDelegationKey.signedObjectId;
+            this.signedTenantId = permissionsOrOptions.userDelegationKey.signedTenantId;
+            this.signedStartsOn = permissionsOrOptions.userDelegationKey.signedStartsOn;
+            this.signedExpiresOn = permissionsOrOptions.userDelegationKey.signedExpiresOn;
+            this.signedService = permissionsOrOptions.userDelegationKey.signedService;
+            this.signedVersion = permissionsOrOptions.userDelegationKey.signedVersion;
+            this.preauthorizedAgentObjectId = permissionsOrOptions.preauthorizedAgentObjectId;
+            this.correlationId = permissionsOrOptions.correlationId;
+          }
+        } else {
+          this.services = services;
+          this.resourceTypes = resourceTypes;
+          this.expiresOn = expiresOn;
+          this.permissions = permissionsOrOptions;
+          this.protocol = protocol;
+          this.startsOn = startsOn;
+          this.ipRangeInner = ipRange;
+          this.encryptionScope = encryptionScope;
+          this.identifier = identifier;
+          this.resource = resource;
+          this.cacheControl = cacheControl;
+          this.contentDisposition = contentDisposition;
+          this.contentEncoding = contentEncoding;
+          this.contentLanguage = contentLanguage;
+          this.contentType = contentType;
+          if (userDelegationKey) {
+            this.signedOid = userDelegationKey.signedObjectId;
+            this.signedTenantId = userDelegationKey.signedTenantId;
+            this.signedStartsOn = userDelegationKey.signedStartsOn;
+            this.signedExpiresOn = userDelegationKey.signedExpiresOn;
+            this.signedService = userDelegationKey.signedService;
+            this.signedVersion = userDelegationKey.signedVersion;
+            this.preauthorizedAgentObjectId = preauthorizedAgentObjectId;
+            this.correlationId = correlationId;
           }
         }
       }
-    };
-    exports2.BlobServiceStatistics = {
-      serializedName: "BlobServiceStatistics",
-      xmlName: "StorageServiceStats",
-      type: {
-        name: "Composite",
-        className: "BlobServiceStatistics",
-        modelProperties: {
-          geoReplication: {
-            serializedName: "GeoReplication",
-            xmlName: "GeoReplication",
-            type: {
-              name: "Composite",
-              className: "GeoReplication"
-            }
+      /**
+       * Encodes all SAS query parameters into a string that can be appended to a URL.
+       *
+       */
+      toString() {
+        const params = [
+          "sv",
+          "ss",
+          "srt",
+          "spr",
+          "st",
+          "se",
+          "sip",
+          "si",
+          "ses",
+          "skoid",
+          // Signed object ID
+          "sktid",
+          // Signed tenant ID
+          "skt",
+          // Signed key start time
+          "ske",
+          // Signed key expiry time
+          "sks",
+          // Signed key service
+          "skv",
+          // Signed key version
+          "sr",
+          "sp",
+          "sig",
+          "rscc",
+          "rscd",
+          "rsce",
+          "rscl",
+          "rsct",
+          "saoid",
+          "scid"
+        ];
+        const queries = [];
+        for (const param of params) {
+          switch (param) {
+            case "sv":
+              this.tryAppendQueryParameter(queries, param, this.version);
+              break;
+            case "ss":
+              this.tryAppendQueryParameter(queries, param, this.services);
+              break;
+            case "srt":
+              this.tryAppendQueryParameter(queries, param, this.resourceTypes);
+              break;
+            case "spr":
+              this.tryAppendQueryParameter(queries, param, this.protocol);
+              break;
+            case "st":
+              this.tryAppendQueryParameter(queries, param, this.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.startsOn, false) : void 0);
+              break;
+            case "se":
+              this.tryAppendQueryParameter(queries, param, this.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.expiresOn, false) : void 0);
+              break;
+            case "sip":
+              this.tryAppendQueryParameter(queries, param, this.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(this.ipRange) : void 0);
+              break;
+            case "si":
+              this.tryAppendQueryParameter(queries, param, this.identifier);
+              break;
+            case "ses":
+              this.tryAppendQueryParameter(queries, param, this.encryptionScope);
+              break;
+            case "skoid":
+              this.tryAppendQueryParameter(queries, param, this.signedOid);
+              break;
+            case "sktid":
+              this.tryAppendQueryParameter(queries, param, this.signedTenantId);
+              break;
+            case "skt":
+              this.tryAppendQueryParameter(queries, param, this.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.signedStartsOn, false) : void 0);
+              break;
+            case "ske":
+              this.tryAppendQueryParameter(queries, param, this.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.signedExpiresOn, false) : void 0);
+              break;
+            case "sks":
+              this.tryAppendQueryParameter(queries, param, this.signedService);
+              break;
+            case "skv":
+              this.tryAppendQueryParameter(queries, param, this.signedVersion);
+              break;
+            case "sr":
+              this.tryAppendQueryParameter(queries, param, this.resource);
+              break;
+            case "sp":
+              this.tryAppendQueryParameter(queries, param, this.permissions);
+              break;
+            case "sig":
+              this.tryAppendQueryParameter(queries, param, this.signature);
+              break;
+            case "rscc":
+              this.tryAppendQueryParameter(queries, param, this.cacheControl);
+              break;
+            case "rscd":
+              this.tryAppendQueryParameter(queries, param, this.contentDisposition);
+              break;
+            case "rsce":
+              this.tryAppendQueryParameter(queries, param, this.contentEncoding);
+              break;
+            case "rscl":
+              this.tryAppendQueryParameter(queries, param, this.contentLanguage);
+              break;
+            case "rsct":
+              this.tryAppendQueryParameter(queries, param, this.contentType);
+              break;
+            case "saoid":
+              this.tryAppendQueryParameter(queries, param, this.preauthorizedAgentObjectId);
+              break;
+            case "scid":
+              this.tryAppendQueryParameter(queries, param, this.correlationId);
+              break;
           }
         }
+        return queries.join("&");
       }
-    };
-    exports2.GeoReplication = {
-      serializedName: "GeoReplication",
-      type: {
-        name: "Composite",
-        className: "GeoReplication",
-        modelProperties: {
-          status: {
-            serializedName: "Status",
-            required: true,
-            xmlName: "Status",
-            type: {
-              name: "Enum",
-              allowedValues: ["live", "bootstrap", "unavailable"]
-            }
-          },
-          lastSyncOn: {
-            serializedName: "LastSyncTime",
-            required: true,
-            xmlName: "LastSyncTime",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          }
+      /**
+       * A private helper method used to filter and append query key/value pairs into an array.
+       *
+       * @param queries -
+       * @param key -
+       * @param value -
+       */
+      tryAppendQueryParameter(queries, key, value) {
+        if (!value) {
+          return;
+        }
+        key = encodeURIComponent(key);
+        value = encodeURIComponent(value);
+        if (key.length > 0 && value.length > 0) {
+          queries.push(`${key}=${value}`);
         }
       }
     };
-    exports2.ListContainersSegmentResponse = {
-      serializedName: "ListContainersSegmentResponse",
-      xmlName: "EnumerationResults",
-      type: {
-        name: "Composite",
-        className: "ListContainersSegmentResponse",
-        modelProperties: {
-          serviceEndpoint: {
-            serializedName: "ServiceEndpoint",
-            required: true,
-            xmlName: "ServiceEndpoint",
-            xmlIsAttribute: true,
-            type: {
-              name: "String"
-            }
-          },
-          prefix: {
-            serializedName: "Prefix",
-            xmlName: "Prefix",
-            type: {
-              name: "String"
-            }
-          },
-          marker: {
-            serializedName: "Marker",
-            xmlName: "Marker",
-            type: {
-              name: "String"
-            }
-          },
-          maxPageSize: {
-            serializedName: "MaxResults",
-            xmlName: "MaxResults",
-            type: {
-              name: "Number"
-            }
-          },
-          containerItems: {
-            serializedName: "ContainerItems",
-            required: true,
-            xmlName: "Containers",
-            xmlIsWrapped: true,
-            xmlElementName: "Container",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "ContainerItem"
-                }
-              }
-            }
-          },
-          continuationToken: {
-            serializedName: "NextMarker",
-            xmlName: "NextMarker",
-            type: {
-              name: "String"
-            }
+    exports2.SASQueryParameters = SASQueryParameters;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASSignatureValues.js
+var require_BlobSASSignatureValues = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASSignatureValues.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.generateBlobSASQueryParameters = generateBlobSASQueryParameters;
+    exports2.generateBlobSASQueryParametersInternal = generateBlobSASQueryParametersInternal;
+    var BlobSASPermissions_js_1 = require_BlobSASPermissions();
+    var ContainerSASPermissions_js_1 = require_ContainerSASPermissions();
+    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
+    var UserDelegationKeyCredential_js_1 = require_UserDelegationKeyCredential();
+    var SasIPRange_js_1 = require_SasIPRange();
+    var SASQueryParameters_js_1 = require_SASQueryParameters();
+    var constants_js_1 = require_constants15();
+    var utils_common_js_1 = require_utils_common();
+    function generateBlobSASQueryParameters(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName) {
+      return generateBlobSASQueryParametersInternal(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName).sasQueryParameters;
+    }
+    function generateBlobSASQueryParametersInternal(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName) {
+      const version = blobSASSignatureValues.version ? blobSASSignatureValues.version : constants_js_1.SERVICE_VERSION;
+      const sharedKeyCredential = sharedKeyCredentialOrUserDelegationKey instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential ? sharedKeyCredentialOrUserDelegationKey : void 0;
+      let userDelegationKeyCredential;
+      if (sharedKeyCredential === void 0 && accountName !== void 0) {
+        userDelegationKeyCredential = new UserDelegationKeyCredential_js_1.UserDelegationKeyCredential(accountName, sharedKeyCredentialOrUserDelegationKey);
+      }
+      if (sharedKeyCredential === void 0 && userDelegationKeyCredential === void 0) {
+        throw TypeError("Invalid sharedKeyCredential, userDelegationKey or accountName.");
+      }
+      if (version >= "2020-12-06") {
+        if (sharedKeyCredential !== void 0) {
+          return generateBlobSASQueryParameters20201206(blobSASSignatureValues, sharedKeyCredential);
+        } else {
+          if (version >= "2025-07-05") {
+            return generateBlobSASQueryParametersUDK20250705(blobSASSignatureValues, userDelegationKeyCredential);
+          } else {
+            return generateBlobSASQueryParametersUDK20201206(blobSASSignatureValues, userDelegationKeyCredential);
           }
         }
       }
-    };
-    exports2.ContainerItem = {
-      serializedName: "ContainerItem",
-      xmlName: "Container",
-      type: {
-        name: "Composite",
-        className: "ContainerItem",
-        modelProperties: {
-          name: {
-            serializedName: "Name",
-            required: true,
-            xmlName: "Name",
-            type: {
-              name: "String"
-            }
-          },
-          deleted: {
-            serializedName: "Deleted",
-            xmlName: "Deleted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          version: {
-            serializedName: "Version",
-            xmlName: "Version",
-            type: {
-              name: "String"
-            }
-          },
-          properties: {
-            serializedName: "Properties",
-            xmlName: "Properties",
-            type: {
-              name: "Composite",
-              className: "ContainerProperties"
-            }
-          },
-          metadata: {
-            serializedName: "Metadata",
-            xmlName: "Metadata",
-            type: {
-              name: "Dictionary",
-              value: { type: { name: "String" } }
-            }
+      if (version >= "2018-11-09") {
+        if (sharedKeyCredential !== void 0) {
+          return generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKeyCredential);
+        } else {
+          if (version >= "2020-02-10") {
+            return generateBlobSASQueryParametersUDK20200210(blobSASSignatureValues, userDelegationKeyCredential);
+          } else {
+            return generateBlobSASQueryParametersUDK20181109(blobSASSignatureValues, userDelegationKeyCredential);
           }
         }
       }
-    };
-    exports2.ContainerProperties = {
-      serializedName: "ContainerProperties",
-      type: {
-        name: "Composite",
-        className: "ContainerProperties",
-        modelProperties: {
-          lastModified: {
-            serializedName: "Last-Modified",
-            required: true,
-            xmlName: "Last-Modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          etag: {
-            serializedName: "Etag",
-            required: true,
-            xmlName: "Etag",
-            type: {
-              name: "String"
-            }
-          },
-          leaseStatus: {
-            serializedName: "LeaseStatus",
-            xmlName: "LeaseStatus",
-            type: {
-              name: "Enum",
-              allowedValues: ["locked", "unlocked"]
-            }
-          },
-          leaseState: {
-            serializedName: "LeaseState",
-            xmlName: "LeaseState",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "available",
-                "leased",
-                "expired",
-                "breaking",
-                "broken"
-              ]
-            }
-          },
-          leaseDuration: {
-            serializedName: "LeaseDuration",
-            xmlName: "LeaseDuration",
-            type: {
-              name: "Enum",
-              allowedValues: ["infinite", "fixed"]
-            }
-          },
-          publicAccess: {
-            serializedName: "PublicAccess",
-            xmlName: "PublicAccess",
-            type: {
-              name: "Enum",
-              allowedValues: ["container", "blob"]
-            }
-          },
-          hasImmutabilityPolicy: {
-            serializedName: "HasImmutabilityPolicy",
-            xmlName: "HasImmutabilityPolicy",
-            type: {
-              name: "Boolean"
-            }
-          },
-          hasLegalHold: {
-            serializedName: "HasLegalHold",
-            xmlName: "HasLegalHold",
-            type: {
-              name: "Boolean"
-            }
-          },
-          defaultEncryptionScope: {
-            serializedName: "DefaultEncryptionScope",
-            xmlName: "DefaultEncryptionScope",
-            type: {
-              name: "String"
-            }
-          },
-          preventEncryptionScopeOverride: {
-            serializedName: "DenyEncryptionScopeOverride",
-            xmlName: "DenyEncryptionScopeOverride",
-            type: {
-              name: "Boolean"
-            }
-          },
-          deletedOn: {
-            serializedName: "DeletedTime",
-            xmlName: "DeletedTime",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          remainingRetentionDays: {
-            serializedName: "RemainingRetentionDays",
-            xmlName: "RemainingRetentionDays",
-            type: {
-              name: "Number"
-            }
-          },
-          isImmutableStorageWithVersioningEnabled: {
-            serializedName: "ImmutableStorageWithVersioningEnabled",
-            xmlName: "ImmutableStorageWithVersioningEnabled",
-            type: {
-              name: "Boolean"
-            }
-          }
+      if (version >= "2015-04-05") {
+        if (sharedKeyCredential !== void 0) {
+          return generateBlobSASQueryParameters20150405(blobSASSignatureValues, sharedKeyCredential);
+        } else {
+          throw new RangeError("'version' must be >= '2018-11-09' when generating user delegation SAS using user delegation key.");
         }
       }
-    };
-    exports2.KeyInfo = {
-      serializedName: "KeyInfo",
-      type: {
-        name: "Composite",
-        className: "KeyInfo",
-        modelProperties: {
-          startsOn: {
-            serializedName: "Start",
-            required: true,
-            xmlName: "Start",
-            type: {
-              name: "String"
-            }
-          },
-          expiresOn: {
-            serializedName: "Expiry",
-            required: true,
-            xmlName: "Expiry",
-            type: {
-              name: "String"
-            }
-          }
+      throw new RangeError("'version' must be >= '2015-04-05'.");
+    }
+    function generateBlobSASQueryParameters20150405(blobSASSignatureValues, sharedKeyCredential) {
+      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
+      if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
+        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
+      }
+      let resource = "c";
+      if (blobSASSignatureValues.blobName) {
+        resource = "b";
+      }
+      let verifiedPermissions;
+      if (blobSASSignatureValues.permissions) {
+        if (blobSASSignatureValues.blobName) {
+          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        } else {
+          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
         }
       }
-    };
-    exports2.UserDelegationKey = {
-      serializedName: "UserDelegationKey",
-      type: {
-        name: "Composite",
-        className: "UserDelegationKey",
-        modelProperties: {
-          signedObjectId: {
-            serializedName: "SignedOid",
-            required: true,
-            xmlName: "SignedOid",
-            type: {
-              name: "String"
-            }
-          },
-          signedTenantId: {
-            serializedName: "SignedTid",
-            required: true,
-            xmlName: "SignedTid",
-            type: {
-              name: "String"
-            }
-          },
-          signedStartsOn: {
-            serializedName: "SignedStart",
-            required: true,
-            xmlName: "SignedStart",
-            type: {
-              name: "String"
-            }
-          },
-          signedExpiresOn: {
-            serializedName: "SignedExpiry",
-            required: true,
-            xmlName: "SignedExpiry",
-            type: {
-              name: "String"
-            }
-          },
-          signedService: {
-            serializedName: "SignedService",
-            required: true,
-            xmlName: "SignedService",
-            type: {
-              name: "String"
-            }
-          },
-          signedVersion: {
-            serializedName: "SignedVersion",
-            required: true,
-            xmlName: "SignedVersion",
-            type: {
-              name: "String"
-            }
-          },
-          value: {
-            serializedName: "Value",
-            required: true,
-            xmlName: "Value",
-            type: {
-              name: "String"
-            }
-          }
+      const stringToSign = [
+        verifiedPermissions ? verifiedPermissions : "",
+        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
+        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
+        getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
+        blobSASSignatureValues.identifier,
+        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
+        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
+        blobSASSignatureValues.version,
+        blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
+        blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
+        blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
+        blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
+        blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : ""
+      ].join("\n");
+      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType),
+        stringToSign
+      };
+    }
+    function generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKeyCredential) {
+      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
+      if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
+        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
+      }
+      let resource = "c";
+      let timestamp2 = blobSASSignatureValues.snapshotTime;
+      if (blobSASSignatureValues.blobName) {
+        resource = "b";
+        if (blobSASSignatureValues.snapshotTime) {
+          resource = "bs";
+        } else if (blobSASSignatureValues.versionId) {
+          resource = "bv";
+          timestamp2 = blobSASSignatureValues.versionId;
         }
       }
-    };
-    exports2.FilterBlobSegment = {
-      serializedName: "FilterBlobSegment",
-      xmlName: "EnumerationResults",
-      type: {
-        name: "Composite",
-        className: "FilterBlobSegment",
-        modelProperties: {
-          serviceEndpoint: {
-            serializedName: "ServiceEndpoint",
-            required: true,
-            xmlName: "ServiceEndpoint",
-            xmlIsAttribute: true,
-            type: {
-              name: "String"
-            }
-          },
-          where: {
-            serializedName: "Where",
-            required: true,
-            xmlName: "Where",
-            type: {
-              name: "String"
-            }
-          },
-          blobs: {
-            serializedName: "Blobs",
-            required: true,
-            xmlName: "Blobs",
-            xmlIsWrapped: true,
-            xmlElementName: "Blob",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "FilterBlobItem"
-                }
-              }
-            }
-          },
-          continuationToken: {
-            serializedName: "NextMarker",
-            xmlName: "NextMarker",
-            type: {
-              name: "String"
-            }
-          }
+      let verifiedPermissions;
+      if (blobSASSignatureValues.permissions) {
+        if (blobSASSignatureValues.blobName) {
+          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        } else {
+          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        }
+      }
+      const stringToSign = [
+        verifiedPermissions ? verifiedPermissions : "",
+        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
+        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
+        getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
+        blobSASSignatureValues.identifier,
+        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
+        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
+        blobSASSignatureValues.version,
+        resource,
+        timestamp2,
+        blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
+        blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
+        blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
+        blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
+        blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : ""
+      ].join("\n");
+      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType),
+        stringToSign
+      };
+    }
+    function generateBlobSASQueryParameters20201206(blobSASSignatureValues, sharedKeyCredential) {
+      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
+      if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
+        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
+      }
+      let resource = "c";
+      let timestamp2 = blobSASSignatureValues.snapshotTime;
+      if (blobSASSignatureValues.blobName) {
+        resource = "b";
+        if (blobSASSignatureValues.snapshotTime) {
+          resource = "bs";
+        } else if (blobSASSignatureValues.versionId) {
+          resource = "bv";
+          timestamp2 = blobSASSignatureValues.versionId;
         }
       }
-    };
-    exports2.FilterBlobItem = {
-      serializedName: "FilterBlobItem",
-      xmlName: "Blob",
-      type: {
-        name: "Composite",
-        className: "FilterBlobItem",
-        modelProperties: {
-          name: {
-            serializedName: "Name",
-            required: true,
-            xmlName: "Name",
-            type: {
-              name: "String"
-            }
-          },
-          containerName: {
-            serializedName: "ContainerName",
-            required: true,
-            xmlName: "ContainerName",
-            type: {
-              name: "String"
-            }
-          },
-          tags: {
-            serializedName: "Tags",
-            xmlName: "Tags",
-            type: {
-              name: "Composite",
-              className: "BlobTags"
-            }
-          }
+      let verifiedPermissions;
+      if (blobSASSignatureValues.permissions) {
+        if (blobSASSignatureValues.blobName) {
+          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        } else {
+          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
         }
       }
-    };
-    exports2.BlobTags = {
-      serializedName: "BlobTags",
-      xmlName: "Tags",
-      type: {
-        name: "Composite",
-        className: "BlobTags",
-        modelProperties: {
-          blobTagSet: {
-            serializedName: "BlobTagSet",
-            required: true,
-            xmlName: "TagSet",
-            xmlIsWrapped: true,
-            xmlElementName: "Tag",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "BlobTag"
-                }
-              }
-            }
-          }
+      const stringToSign = [
+        verifiedPermissions ? verifiedPermissions : "",
+        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
+        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
+        getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
+        blobSASSignatureValues.identifier,
+        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
+        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
+        blobSASSignatureValues.version,
+        resource,
+        timestamp2,
+        blobSASSignatureValues.encryptionScope,
+        blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
+        blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
+        blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
+        blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
+        blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : ""
+      ].join("\n");
+      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, void 0, void 0, void 0, blobSASSignatureValues.encryptionScope),
+        stringToSign
+      };
+    }
+    function generateBlobSASQueryParametersUDK20181109(blobSASSignatureValues, userDelegationKeyCredential) {
+      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
+      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
+        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
+      }
+      let resource = "c";
+      let timestamp2 = blobSASSignatureValues.snapshotTime;
+      if (blobSASSignatureValues.blobName) {
+        resource = "b";
+        if (blobSASSignatureValues.snapshotTime) {
+          resource = "bs";
+        } else if (blobSASSignatureValues.versionId) {
+          resource = "bv";
+          timestamp2 = blobSASSignatureValues.versionId;
         }
       }
-    };
-    exports2.BlobTag = {
-      serializedName: "BlobTag",
-      xmlName: "Tag",
-      type: {
-        name: "Composite",
-        className: "BlobTag",
-        modelProperties: {
-          key: {
-            serializedName: "Key",
-            required: true,
-            xmlName: "Key",
-            type: {
-              name: "String"
-            }
-          },
-          value: {
-            serializedName: "Value",
-            required: true,
-            xmlName: "Value",
-            type: {
-              name: "String"
-            }
-          }
+      let verifiedPermissions;
+      if (blobSASSignatureValues.permissions) {
+        if (blobSASSignatureValues.blobName) {
+          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        } else {
+          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
         }
       }
-    };
-    exports2.SignedIdentifier = {
-      serializedName: "SignedIdentifier",
-      xmlName: "SignedIdentifier",
-      type: {
-        name: "Composite",
-        className: "SignedIdentifier",
-        modelProperties: {
-          id: {
-            serializedName: "Id",
-            required: true,
-            xmlName: "Id",
-            type: {
-              name: "String"
-            }
-          },
-          accessPolicy: {
-            serializedName: "AccessPolicy",
-            xmlName: "AccessPolicy",
-            type: {
-              name: "Composite",
-              className: "AccessPolicy"
-            }
-          }
+      const stringToSign = [
+        verifiedPermissions ? verifiedPermissions : "",
+        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
+        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
+        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
+        userDelegationKeyCredential.userDelegationKey.signedObjectId,
+        userDelegationKeyCredential.userDelegationKey.signedTenantId,
+        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedService,
+        userDelegationKeyCredential.userDelegationKey.signedVersion,
+        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
+        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
+        blobSASSignatureValues.version,
+        resource,
+        timestamp2,
+        blobSASSignatureValues.cacheControl,
+        blobSASSignatureValues.contentDisposition,
+        blobSASSignatureValues.contentEncoding,
+        blobSASSignatureValues.contentLanguage,
+        blobSASSignatureValues.contentType
+      ].join("\n");
+      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey),
+        stringToSign
+      };
+    }
+    function generateBlobSASQueryParametersUDK20200210(blobSASSignatureValues, userDelegationKeyCredential) {
+      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
+      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
+        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
+      }
+      let resource = "c";
+      let timestamp2 = blobSASSignatureValues.snapshotTime;
+      if (blobSASSignatureValues.blobName) {
+        resource = "b";
+        if (blobSASSignatureValues.snapshotTime) {
+          resource = "bs";
+        } else if (blobSASSignatureValues.versionId) {
+          resource = "bv";
+          timestamp2 = blobSASSignatureValues.versionId;
         }
       }
-    };
-    exports2.AccessPolicy = {
-      serializedName: "AccessPolicy",
-      type: {
-        name: "Composite",
-        className: "AccessPolicy",
-        modelProperties: {
-          startsOn: {
-            serializedName: "Start",
-            xmlName: "Start",
-            type: {
-              name: "String"
-            }
-          },
-          expiresOn: {
-            serializedName: "Expiry",
-            xmlName: "Expiry",
-            type: {
-              name: "String"
-            }
-          },
-          permissions: {
-            serializedName: "Permission",
-            xmlName: "Permission",
-            type: {
-              name: "String"
-            }
-          }
+      let verifiedPermissions;
+      if (blobSASSignatureValues.permissions) {
+        if (blobSASSignatureValues.blobName) {
+          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        } else {
+          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
         }
       }
-    };
-    exports2.ListBlobsFlatSegmentResponse = {
-      serializedName: "ListBlobsFlatSegmentResponse",
-      xmlName: "EnumerationResults",
-      type: {
-        name: "Composite",
-        className: "ListBlobsFlatSegmentResponse",
-        modelProperties: {
-          serviceEndpoint: {
-            serializedName: "ServiceEndpoint",
-            required: true,
-            xmlName: "ServiceEndpoint",
-            xmlIsAttribute: true,
-            type: {
-              name: "String"
-            }
-          },
-          containerName: {
-            serializedName: "ContainerName",
-            required: true,
-            xmlName: "ContainerName",
-            xmlIsAttribute: true,
-            type: {
-              name: "String"
-            }
-          },
-          prefix: {
-            serializedName: "Prefix",
-            xmlName: "Prefix",
-            type: {
-              name: "String"
-            }
-          },
-          marker: {
-            serializedName: "Marker",
-            xmlName: "Marker",
-            type: {
-              name: "String"
-            }
-          },
-          maxPageSize: {
-            serializedName: "MaxResults",
-            xmlName: "MaxResults",
-            type: {
-              name: "Number"
-            }
-          },
-          segment: {
-            serializedName: "Segment",
-            xmlName: "Blobs",
-            type: {
-              name: "Composite",
-              className: "BlobFlatListSegment"
-            }
-          },
-          continuationToken: {
-            serializedName: "NextMarker",
-            xmlName: "NextMarker",
-            type: {
-              name: "String"
-            }
-          }
+      const stringToSign = [
+        verifiedPermissions ? verifiedPermissions : "",
+        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
+        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
+        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
+        userDelegationKeyCredential.userDelegationKey.signedObjectId,
+        userDelegationKeyCredential.userDelegationKey.signedTenantId,
+        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedService,
+        userDelegationKeyCredential.userDelegationKey.signedVersion,
+        blobSASSignatureValues.preauthorizedAgentObjectId,
+        void 0,
+        // agentObjectId
+        blobSASSignatureValues.correlationId,
+        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
+        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
+        blobSASSignatureValues.version,
+        resource,
+        timestamp2,
+        blobSASSignatureValues.cacheControl,
+        blobSASSignatureValues.contentDisposition,
+        blobSASSignatureValues.contentEncoding,
+        blobSASSignatureValues.contentLanguage,
+        blobSASSignatureValues.contentType
+      ].join("\n");
+      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId),
+        stringToSign
+      };
+    }
+    function generateBlobSASQueryParametersUDK20201206(blobSASSignatureValues, userDelegationKeyCredential) {
+      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
+      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
+        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
+      }
+      let resource = "c";
+      let timestamp2 = blobSASSignatureValues.snapshotTime;
+      if (blobSASSignatureValues.blobName) {
+        resource = "b";
+        if (blobSASSignatureValues.snapshotTime) {
+          resource = "bs";
+        } else if (blobSASSignatureValues.versionId) {
+          resource = "bv";
+          timestamp2 = blobSASSignatureValues.versionId;
         }
       }
-    };
-    exports2.BlobFlatListSegment = {
-      serializedName: "BlobFlatListSegment",
-      xmlName: "Blobs",
-      type: {
-        name: "Composite",
-        className: "BlobFlatListSegment",
-        modelProperties: {
-          blobItems: {
-            serializedName: "BlobItems",
-            required: true,
-            xmlName: "BlobItems",
-            xmlElementName: "Blob",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "BlobItemInternal"
-                }
-              }
-            }
-          }
+      let verifiedPermissions;
+      if (blobSASSignatureValues.permissions) {
+        if (blobSASSignatureValues.blobName) {
+          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        } else {
+          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
         }
       }
-    };
-    exports2.BlobItemInternal = {
-      serializedName: "BlobItemInternal",
-      xmlName: "Blob",
-      type: {
-        name: "Composite",
-        className: "BlobItemInternal",
-        modelProperties: {
-          name: {
-            serializedName: "Name",
-            xmlName: "Name",
-            type: {
-              name: "Composite",
-              className: "BlobName"
-            }
-          },
-          deleted: {
-            serializedName: "Deleted",
-            required: true,
-            xmlName: "Deleted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          snapshot: {
-            serializedName: "Snapshot",
-            required: true,
-            xmlName: "Snapshot",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "VersionId",
-            xmlName: "VersionId",
-            type: {
-              name: "String"
-            }
-          },
-          isCurrentVersion: {
-            serializedName: "IsCurrentVersion",
-            xmlName: "IsCurrentVersion",
-            type: {
-              name: "Boolean"
-            }
-          },
-          properties: {
-            serializedName: "Properties",
-            xmlName: "Properties",
-            type: {
-              name: "Composite",
-              className: "BlobPropertiesInternal"
-            }
-          },
-          metadata: {
-            serializedName: "Metadata",
-            xmlName: "Metadata",
-            type: {
-              name: "Dictionary",
-              value: { type: { name: "String" } }
-            }
-          },
-          blobTags: {
-            serializedName: "BlobTags",
-            xmlName: "Tags",
-            type: {
-              name: "Composite",
-              className: "BlobTags"
-            }
-          },
-          objectReplicationMetadata: {
-            serializedName: "ObjectReplicationMetadata",
-            xmlName: "OrMetadata",
-            type: {
-              name: "Dictionary",
-              value: { type: { name: "String" } }
-            }
-          },
-          hasVersionsOnly: {
-            serializedName: "HasVersionsOnly",
-            xmlName: "HasVersionsOnly",
-            type: {
-              name: "Boolean"
-            }
-          }
+      const stringToSign = [
+        verifiedPermissions ? verifiedPermissions : "",
+        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
+        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
+        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
+        userDelegationKeyCredential.userDelegationKey.signedObjectId,
+        userDelegationKeyCredential.userDelegationKey.signedTenantId,
+        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedService,
+        userDelegationKeyCredential.userDelegationKey.signedVersion,
+        blobSASSignatureValues.preauthorizedAgentObjectId,
+        void 0,
+        // agentObjectId
+        blobSASSignatureValues.correlationId,
+        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
+        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
+        blobSASSignatureValues.version,
+        resource,
+        timestamp2,
+        blobSASSignatureValues.encryptionScope,
+        blobSASSignatureValues.cacheControl,
+        blobSASSignatureValues.contentDisposition,
+        blobSASSignatureValues.contentEncoding,
+        blobSASSignatureValues.contentLanguage,
+        blobSASSignatureValues.contentType
+      ].join("\n");
+      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId, blobSASSignatureValues.encryptionScope),
+        stringToSign
+      };
+    }
+    function generateBlobSASQueryParametersUDK20250705(blobSASSignatureValues, userDelegationKeyCredential) {
+      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
+      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
+        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
+      }
+      let resource = "c";
+      let timestamp2 = blobSASSignatureValues.snapshotTime;
+      if (blobSASSignatureValues.blobName) {
+        resource = "b";
+        if (blobSASSignatureValues.snapshotTime) {
+          resource = "bs";
+        } else if (blobSASSignatureValues.versionId) {
+          resource = "bv";
+          timestamp2 = blobSASSignatureValues.versionId;
         }
       }
-    };
-    exports2.BlobName = {
-      serializedName: "BlobName",
-      type: {
-        name: "Composite",
-        className: "BlobName",
-        modelProperties: {
-          encoded: {
-            serializedName: "Encoded",
-            xmlName: "Encoded",
-            xmlIsAttribute: true,
-            type: {
-              name: "Boolean"
-            }
-          },
-          content: {
-            serializedName: "content",
-            xmlName: "content",
-            xmlIsMsText: true,
-            type: {
-              name: "String"
-            }
-          }
+      let verifiedPermissions;
+      if (blobSASSignatureValues.permissions) {
+        if (blobSASSignatureValues.blobName) {
+          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        } else {
+          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
         }
       }
-    };
-    exports2.BlobPropertiesInternal = {
-      serializedName: "BlobPropertiesInternal",
-      xmlName: "Properties",
-      type: {
-        name: "Composite",
-        className: "BlobPropertiesInternal",
-        modelProperties: {
-          createdOn: {
-            serializedName: "Creation-Time",
-            xmlName: "Creation-Time",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          lastModified: {
-            serializedName: "Last-Modified",
-            required: true,
-            xmlName: "Last-Modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          etag: {
-            serializedName: "Etag",
-            required: true,
-            xmlName: "Etag",
-            type: {
-              name: "String"
-            }
-          },
-          contentLength: {
-            serializedName: "Content-Length",
-            xmlName: "Content-Length",
-            type: {
-              name: "Number"
-            }
-          },
-          contentType: {
-            serializedName: "Content-Type",
-            xmlName: "Content-Type",
-            type: {
-              name: "String"
-            }
-          },
-          contentEncoding: {
-            serializedName: "Content-Encoding",
-            xmlName: "Content-Encoding",
-            type: {
-              name: "String"
-            }
-          },
-          contentLanguage: {
-            serializedName: "Content-Language",
-            xmlName: "Content-Language",
-            type: {
-              name: "String"
-            }
-          },
-          contentMD5: {
-            serializedName: "Content-MD5",
-            xmlName: "Content-MD5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          contentDisposition: {
-            serializedName: "Content-Disposition",
-            xmlName: "Content-Disposition",
-            type: {
-              name: "String"
-            }
-          },
-          cacheControl: {
-            serializedName: "Cache-Control",
-            xmlName: "Cache-Control",
-            type: {
-              name: "String"
-            }
-          },
-          blobSequenceNumber: {
-            serializedName: "x-ms-blob-sequence-number",
-            xmlName: "x-ms-blob-sequence-number",
-            type: {
-              name: "Number"
-            }
-          },
-          blobType: {
-            serializedName: "BlobType",
-            xmlName: "BlobType",
-            type: {
-              name: "Enum",
-              allowedValues: ["BlockBlob", "PageBlob", "AppendBlob"]
-            }
-          },
-          leaseStatus: {
-            serializedName: "LeaseStatus",
-            xmlName: "LeaseStatus",
-            type: {
-              name: "Enum",
-              allowedValues: ["locked", "unlocked"]
-            }
-          },
-          leaseState: {
-            serializedName: "LeaseState",
-            xmlName: "LeaseState",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "available",
-                "leased",
-                "expired",
-                "breaking",
-                "broken"
-              ]
-            }
-          },
-          leaseDuration: {
-            serializedName: "LeaseDuration",
-            xmlName: "LeaseDuration",
-            type: {
-              name: "Enum",
-              allowedValues: ["infinite", "fixed"]
-            }
-          },
-          copyId: {
-            serializedName: "CopyId",
-            xmlName: "CopyId",
-            type: {
-              name: "String"
-            }
-          },
-          copyStatus: {
-            serializedName: "CopyStatus",
-            xmlName: "CopyStatus",
-            type: {
-              name: "Enum",
-              allowedValues: ["pending", "success", "aborted", "failed"]
-            }
-          },
-          copySource: {
-            serializedName: "CopySource",
-            xmlName: "CopySource",
-            type: {
-              name: "String"
-            }
-          },
-          copyProgress: {
-            serializedName: "CopyProgress",
-            xmlName: "CopyProgress",
-            type: {
-              name: "String"
-            }
-          },
-          copyCompletedOn: {
-            serializedName: "CopyCompletionTime",
-            xmlName: "CopyCompletionTime",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          copyStatusDescription: {
-            serializedName: "CopyStatusDescription",
-            xmlName: "CopyStatusDescription",
-            type: {
-              name: "String"
-            }
-          },
-          serverEncrypted: {
-            serializedName: "ServerEncrypted",
-            xmlName: "ServerEncrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          incrementalCopy: {
-            serializedName: "IncrementalCopy",
-            xmlName: "IncrementalCopy",
-            type: {
-              name: "Boolean"
-            }
-          },
-          destinationSnapshot: {
-            serializedName: "DestinationSnapshot",
-            xmlName: "DestinationSnapshot",
-            type: {
-              name: "String"
-            }
-          },
-          deletedOn: {
-            serializedName: "DeletedTime",
-            xmlName: "DeletedTime",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          remainingRetentionDays: {
-            serializedName: "RemainingRetentionDays",
-            xmlName: "RemainingRetentionDays",
-            type: {
-              name: "Number"
-            }
-          },
-          accessTier: {
-            serializedName: "AccessTier",
-            xmlName: "AccessTier",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "P4",
-                "P6",
-                "P10",
-                "P15",
-                "P20",
-                "P30",
-                "P40",
-                "P50",
-                "P60",
-                "P70",
-                "P80",
-                "Hot",
-                "Cool",
-                "Archive",
-                "Cold"
-              ]
-            }
-          },
-          accessTierInferred: {
-            serializedName: "AccessTierInferred",
-            xmlName: "AccessTierInferred",
-            type: {
-              name: "Boolean"
-            }
-          },
-          archiveStatus: {
-            serializedName: "ArchiveStatus",
-            xmlName: "ArchiveStatus",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "rehydrate-pending-to-hot",
-                "rehydrate-pending-to-cool",
-                "rehydrate-pending-to-cold"
-              ]
-            }
-          },
-          customerProvidedKeySha256: {
-            serializedName: "CustomerProvidedKeySha256",
-            xmlName: "CustomerProvidedKeySha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "EncryptionScope",
-            xmlName: "EncryptionScope",
-            type: {
-              name: "String"
-            }
-          },
-          accessTierChangedOn: {
-            serializedName: "AccessTierChangeTime",
-            xmlName: "AccessTierChangeTime",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          tagCount: {
-            serializedName: "TagCount",
-            xmlName: "TagCount",
-            type: {
-              name: "Number"
-            }
-          },
-          expiresOn: {
-            serializedName: "Expiry-Time",
-            xmlName: "Expiry-Time",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isSealed: {
-            serializedName: "Sealed",
-            xmlName: "Sealed",
-            type: {
-              name: "Boolean"
-            }
-          },
-          rehydratePriority: {
-            serializedName: "RehydratePriority",
-            xmlName: "RehydratePriority",
-            type: {
-              name: "Enum",
-              allowedValues: ["High", "Standard"]
-            }
-          },
-          lastAccessedOn: {
-            serializedName: "LastAccessTime",
-            xmlName: "LastAccessTime",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          immutabilityPolicyExpiresOn: {
-            serializedName: "ImmutabilityPolicyUntilDate",
-            xmlName: "ImmutabilityPolicyUntilDate",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          immutabilityPolicyMode: {
-            serializedName: "ImmutabilityPolicyMode",
-            xmlName: "ImmutabilityPolicyMode",
-            type: {
-              name: "Enum",
-              allowedValues: ["Mutable", "Unlocked", "Locked"]
-            }
-          },
-          legalHold: {
-            serializedName: "LegalHold",
-            xmlName: "LegalHold",
-            type: {
-              name: "Boolean"
-            }
-          }
+      const stringToSign = [
+        verifiedPermissions ? verifiedPermissions : "",
+        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
+        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
+        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
+        userDelegationKeyCredential.userDelegationKey.signedObjectId,
+        userDelegationKeyCredential.userDelegationKey.signedTenantId,
+        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedService,
+        userDelegationKeyCredential.userDelegationKey.signedVersion,
+        blobSASSignatureValues.preauthorizedAgentObjectId,
+        void 0,
+        // agentObjectId
+        blobSASSignatureValues.correlationId,
+        void 0,
+        // SignedKeyDelegatedUserTenantId, will be added in a future release.
+        void 0,
+        // SignedDelegatedUserObjectId, will be added in future release.
+        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
+        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
+        blobSASSignatureValues.version,
+        resource,
+        timestamp2,
+        blobSASSignatureValues.encryptionScope,
+        blobSASSignatureValues.cacheControl,
+        blobSASSignatureValues.contentDisposition,
+        blobSASSignatureValues.contentEncoding,
+        blobSASSignatureValues.contentLanguage,
+        blobSASSignatureValues.contentType
+      ].join("\n");
+      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId, blobSASSignatureValues.encryptionScope),
+        stringToSign
+      };
+    }
+    function getCanonicalName(accountName, containerName, blobName) {
+      const elements = [`/blob/${accountName}/${containerName}`];
+      if (blobName) {
+        elements.push(`/${blobName}`);
+      }
+      return elements.join("");
+    }
+    function SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues) {
+      const version = blobSASSignatureValues.version ? blobSASSignatureValues.version : constants_js_1.SERVICE_VERSION;
+      if (blobSASSignatureValues.snapshotTime && version < "2018-11-09") {
+        throw RangeError("'version' must be >= '2018-11-09' when providing 'snapshotTime'.");
+      }
+      if (blobSASSignatureValues.blobName === void 0 && blobSASSignatureValues.snapshotTime) {
+        throw RangeError("Must provide 'blobName' when providing 'snapshotTime'.");
+      }
+      if (blobSASSignatureValues.versionId && version < "2019-10-10") {
+        throw RangeError("'version' must be >= '2019-10-10' when providing 'versionId'.");
+      }
+      if (blobSASSignatureValues.blobName === void 0 && blobSASSignatureValues.versionId) {
+        throw RangeError("Must provide 'blobName' when providing 'versionId'.");
+      }
+      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.setImmutabilityPolicy && version < "2020-08-04") {
+        throw RangeError("'version' must be >= '2020-08-04' when provided 'i' permission.");
+      }
+      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.deleteVersion && version < "2019-10-10") {
+        throw RangeError("'version' must be >= '2019-10-10' when providing 'x' permission.");
+      }
+      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.permanentDelete && version < "2019-10-10") {
+        throw RangeError("'version' must be >= '2019-10-10' when providing 'y' permission.");
+      }
+      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.tag && version < "2019-12-12") {
+        throw RangeError("'version' must be >= '2019-12-12' when providing 't' permission.");
+      }
+      if (version < "2020-02-10" && blobSASSignatureValues.permissions && (blobSASSignatureValues.permissions.move || blobSASSignatureValues.permissions.execute)) {
+        throw RangeError("'version' must be >= '2020-02-10' when providing the 'm' or 'e' permission.");
+      }
+      if (version < "2021-04-10" && blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.filterByTags) {
+        throw RangeError("'version' must be >= '2021-04-10' when providing the 'f' permission.");
+      }
+      if (version < "2020-02-10" && (blobSASSignatureValues.preauthorizedAgentObjectId || blobSASSignatureValues.correlationId)) {
+        throw RangeError("'version' must be >= '2020-02-10' when providing 'preauthorizedAgentObjectId' or 'correlationId'.");
+      }
+      if (blobSASSignatureValues.encryptionScope && version < "2020-12-06") {
+        throw RangeError("'version' must be >= '2020-12-06' when provided 'encryptionScope' in SAS.");
+      }
+      blobSASSignatureValues.version = version;
+      return blobSASSignatureValues;
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BlobLeaseClient.js
+var require_BlobLeaseClient = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BlobLeaseClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobLeaseClient = void 0;
+    var core_util_1 = require_commonjs4();
+    var constants_js_1 = require_constants15();
+    var tracing_js_1 = require_tracing();
+    var utils_common_js_1 = require_utils_common();
+    var BlobLeaseClient = class {
+      _leaseId;
+      _url;
+      _containerOrBlobOperation;
+      _isContainer;
+      /**
+       * Gets the lease Id.
+       *
+       * @readonly
+       */
+      get leaseId() {
+        return this._leaseId;
+      }
+      /**
+       * Gets the url.
+       *
+       * @readonly
+       */
+      get url() {
+        return this._url;
+      }
+      /**
+       * Creates an instance of BlobLeaseClient.
+       * @param client - The client to make the lease operation requests.
+       * @param leaseId - Initial proposed lease id.
+       */
+      constructor(client, leaseId) {
+        const clientContext = client.storageClientContext;
+        this._url = client.url;
+        if (client.name === void 0) {
+          this._isContainer = true;
+          this._containerOrBlobOperation = clientContext.container;
+        } else {
+          this._isContainer = false;
+          this._containerOrBlobOperation = clientContext.blob;
         }
+        if (!leaseId) {
+          leaseId = (0, core_util_1.randomUUID)();
+        }
+        this._leaseId = leaseId;
       }
-    };
-    exports2.ListBlobsHierarchySegmentResponse = {
-      serializedName: "ListBlobsHierarchySegmentResponse",
-      xmlName: "EnumerationResults",
-      type: {
-        name: "Composite",
-        className: "ListBlobsHierarchySegmentResponse",
-        modelProperties: {
-          serviceEndpoint: {
-            serializedName: "ServiceEndpoint",
-            required: true,
-            xmlName: "ServiceEndpoint",
-            xmlIsAttribute: true,
-            type: {
-              name: "String"
-            }
-          },
-          containerName: {
-            serializedName: "ContainerName",
-            required: true,
-            xmlName: "ContainerName",
-            xmlIsAttribute: true,
-            type: {
-              name: "String"
-            }
-          },
-          prefix: {
-            serializedName: "Prefix",
-            xmlName: "Prefix",
-            type: {
-              name: "String"
-            }
-          },
-          marker: {
-            serializedName: "Marker",
-            xmlName: "Marker",
-            type: {
-              name: "String"
-            }
-          },
-          maxPageSize: {
-            serializedName: "MaxResults",
-            xmlName: "MaxResults",
-            type: {
-              name: "Number"
-            }
-          },
-          delimiter: {
-            serializedName: "Delimiter",
-            xmlName: "Delimiter",
-            type: {
-              name: "String"
-            }
-          },
-          segment: {
-            serializedName: "Segment",
-            xmlName: "Blobs",
-            type: {
-              name: "Composite",
-              className: "BlobHierarchyListSegment"
-            }
-          },
-          continuationToken: {
-            serializedName: "NextMarker",
-            xmlName: "NextMarker",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       * Establishes and manages a lock on a container for delete operations, or on a blob
+       * for write and delete operations.
+       * The lock duration can be 15 to 60 seconds, or can be infinite.
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
+       * and
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
+       *
+       * @param duration - Must be between 15 to 60 seconds, or infinite (-1)
+       * @param options - option to configure lease management operations.
+       * @returns Response data for acquire lease operation.
+       */
+      async acquireLease(duration, options = {}) {
+        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
+          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
+        }
+        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-acquireLease", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.acquireLease({
+            abortSignal: options.abortSignal,
+            duration,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            proposedLeaseId: this._leaseId,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * To change the ID of the lease.
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
+       * and
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
+       *
+       * @param proposedLeaseId - the proposed new lease Id.
+       * @param options - option to configure lease management operations.
+       * @returns Response data for change lease operation.
+       */
+      async changeLease(proposedLeaseId, options = {}) {
+        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
+          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
+        }
+        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-changeLease", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.changeLease(this._leaseId, proposedLeaseId, {
+            abortSignal: options.abortSignal,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          this._leaseId = proposedLeaseId;
+          return response;
+        });
+      }
+      /**
+       * To free the lease if it is no longer needed so that another client may
+       * immediately acquire a lease against the container or the blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
+       * and
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
+       *
+       * @param options - option to configure lease management operations.
+       * @returns Response data for release lease operation.
+       */
+      async releaseLease(options = {}) {
+        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
+          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
+        }
+        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-releaseLease", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.releaseLease(this._leaseId, {
+            abortSignal: options.abortSignal,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * To renew the lease.
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
+       * and
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
+       *
+       * @param options - Optional option to configure lease management operations.
+       * @returns Response data for renew lease operation.
+       */
+      async renewLease(options = {}) {
+        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
+          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
+        }
+        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-renewLease", options, async (updatedOptions) => {
+          return this._containerOrBlobOperation.renewLease(this._leaseId, {
+            abortSignal: options.abortSignal,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          });
+        });
+      }
+      /**
+       * To end the lease but ensure that another client cannot acquire a new lease
+       * until the current lease period has expired.
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
+       * and
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
+       *
+       * @param breakPeriod - Break period
+       * @param options - Optional options to configure lease management operations.
+       * @returns Response data for break lease operation.
+       */
+      async breakLease(breakPeriod, options = {}) {
+        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
+          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
         }
+        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-breakLease", options, async (updatedOptions) => {
+          const operationOptions = {
+            abortSignal: options.abortSignal,
+            breakPeriod,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          };
+          return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.breakLease(operationOptions));
+        });
       }
     };
-    exports2.BlobHierarchyListSegment = {
-      serializedName: "BlobHierarchyListSegment",
-      xmlName: "Blobs",
-      type: {
-        name: "Composite",
-        className: "BlobHierarchyListSegment",
-        modelProperties: {
-          blobPrefixes: {
-            serializedName: "BlobPrefixes",
-            xmlName: "BlobPrefixes",
-            xmlElementName: "BlobPrefix",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "BlobPrefix"
-                }
-              }
-            }
-          },
-          blobItems: {
-            serializedName: "BlobItems",
-            required: true,
-            xmlName: "BlobItems",
-            xmlElementName: "Blob",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "BlobItemInternal"
-                }
-              }
-            }
+    exports2.BlobLeaseClient = BlobLeaseClient;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/utils/RetriableReadableStream.js
+var require_RetriableReadableStream = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/RetriableReadableStream.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.RetriableReadableStream = void 0;
+    var abort_controller_1 = require_commonjs11();
+    var node_stream_1 = require("node:stream");
+    var RetriableReadableStream = class extends node_stream_1.Readable {
+      start;
+      offset;
+      end;
+      getter;
+      source;
+      retries = 0;
+      maxRetryRequests;
+      onProgress;
+      options;
+      /**
+       * Creates an instance of RetriableReadableStream.
+       *
+       * @param source - The current ReadableStream returned from getter
+       * @param getter - A method calling downloading request returning
+       *                                      a new ReadableStream from specified offset
+       * @param offset - Offset position in original data source to read
+       * @param count - How much data in original data source to read
+       * @param options -
+       */
+      constructor(source, getter, offset, count, options = {}) {
+        super({ highWaterMark: options.highWaterMark });
+        this.getter = getter;
+        this.source = source;
+        this.start = offset;
+        this.offset = offset;
+        this.end = offset + count - 1;
+        this.maxRetryRequests = options.maxRetryRequests && options.maxRetryRequests >= 0 ? options.maxRetryRequests : 0;
+        this.onProgress = options.onProgress;
+        this.options = options;
+        this.setSourceEventHandlers();
+      }
+      _read() {
+        this.source.resume();
+      }
+      setSourceEventHandlers() {
+        this.source.on("data", this.sourceDataHandler);
+        this.source.on("end", this.sourceErrorOrEndHandler);
+        this.source.on("error", this.sourceErrorOrEndHandler);
+        this.source.on("aborted", this.sourceAbortedHandler);
+      }
+      removeSourceEventHandlers() {
+        this.source.removeListener("data", this.sourceDataHandler);
+        this.source.removeListener("end", this.sourceErrorOrEndHandler);
+        this.source.removeListener("error", this.sourceErrorOrEndHandler);
+        this.source.removeListener("aborted", this.sourceAbortedHandler);
+      }
+      sourceDataHandler = (data) => {
+        if (this.options.doInjectErrorOnce) {
+          this.options.doInjectErrorOnce = void 0;
+          this.source.pause();
+          this.sourceErrorOrEndHandler();
+          this.source.destroy();
+          return;
+        }
+        this.offset += data.length;
+        if (this.onProgress) {
+          this.onProgress({ loadedBytes: this.offset - this.start });
+        }
+        if (!this.push(data)) {
+          this.source.pause();
+        }
+      };
+      sourceAbortedHandler = () => {
+        const abortError = new abort_controller_1.AbortError("The operation was aborted.");
+        this.destroy(abortError);
+      };
+      sourceErrorOrEndHandler = (err) => {
+        if (err && err.name === "AbortError") {
+          this.destroy(err);
+          return;
+        }
+        this.removeSourceEventHandlers();
+        if (this.offset - 1 === this.end) {
+          this.push(null);
+        } else if (this.offset <= this.end) {
+          if (this.retries < this.maxRetryRequests) {
+            this.retries += 1;
+            this.getter(this.offset).then((newSource) => {
+              this.source = newSource;
+              this.setSourceEventHandlers();
+              return;
+            }).catch((error3) => {
+              this.destroy(error3);
+            });
+          } else {
+            this.destroy(new Error(`Data corruption failure: received less data than required and reached maxRetires limitation. Received data offset: ${this.offset - 1}, data needed offset: ${this.end}, retries: ${this.retries}, max retries: ${this.maxRetryRequests}`));
           }
+        } else {
+          this.destroy(new Error(`Data corruption failure: Received more data than original request, data needed offset is ${this.end}, received offset: ${this.offset - 1}`));
         }
+      };
+      _destroy(error3, callback) {
+        this.removeSourceEventHandlers();
+        this.source.destroy();
+        callback(error3 === null ? void 0 : error3);
+      }
+    };
+    exports2.RetriableReadableStream = RetriableReadableStream;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BlobDownloadResponse.js
+var require_BlobDownloadResponse = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BlobDownloadResponse.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobDownloadResponse = void 0;
+    var core_util_1 = require_commonjs4();
+    var RetriableReadableStream_js_1 = require_RetriableReadableStream();
+    var BlobDownloadResponse = class {
+      /**
+       * Indicates that the service supports
+       * requests for partial file content.
+       *
+       * @readonly
+       */
+      get acceptRanges() {
+        return this.originalResponse.acceptRanges;
+      }
+      /**
+       * Returns if it was previously specified
+       * for the file.
+       *
+       * @readonly
+       */
+      get cacheControl() {
+        return this.originalResponse.cacheControl;
+      }
+      /**
+       * Returns the value that was specified
+       * for the 'x-ms-content-disposition' header and specifies how to process the
+       * response.
+       *
+       * @readonly
+       */
+      get contentDisposition() {
+        return this.originalResponse.contentDisposition;
+      }
+      /**
+       * Returns the value that was specified
+       * for the Content-Encoding request header.
+       *
+       * @readonly
+       */
+      get contentEncoding() {
+        return this.originalResponse.contentEncoding;
+      }
+      /**
+       * Returns the value that was specified
+       * for the Content-Language request header.
+       *
+       * @readonly
+       */
+      get contentLanguage() {
+        return this.originalResponse.contentLanguage;
+      }
+      /**
+       * The current sequence number for a
+       * page blob. This header is not returned for block blobs or append blobs.
+       *
+       * @readonly
+       */
+      get blobSequenceNumber() {
+        return this.originalResponse.blobSequenceNumber;
+      }
+      /**
+       * The blob's type. Possible values include:
+       * 'BlockBlob', 'PageBlob', 'AppendBlob'.
+       *
+       * @readonly
+       */
+      get blobType() {
+        return this.originalResponse.blobType;
+      }
+      /**
+       * The number of bytes present in the
+       * response body.
+       *
+       * @readonly
+       */
+      get contentLength() {
+        return this.originalResponse.contentLength;
+      }
+      /**
+       * If the file has an MD5 hash and the
+       * request is to read the full file, this response header is returned so that
+       * the client can check for message content integrity. If the request is to
+       * read a specified range and the 'x-ms-range-get-content-md5' is set to
+       * true, then the request returns an MD5 hash for the range, as long as the
+       * range size is less than or equal to 4 MB. If neither of these sets of
+       * conditions is true, then no value is returned for the 'Content-MD5'
+       * header.
+       *
+       * @readonly
+       */
+      get contentMD5() {
+        return this.originalResponse.contentMD5;
+      }
+      /**
+       * Indicates the range of bytes returned if
+       * the client requested a subset of the file by setting the Range request
+       * header.
+       *
+       * @readonly
+       */
+      get contentRange() {
+        return this.originalResponse.contentRange;
+      }
+      /**
+       * The content type specified for the file.
+       * The default content type is 'application/octet-stream'
+       *
+       * @readonly
+       */
+      get contentType() {
+        return this.originalResponse.contentType;
+      }
+      /**
+       * Conclusion time of the last attempted
+       * Copy File operation where this file was the destination file. This value
+       * can specify the time of a completed, aborted, or failed copy attempt.
+       *
+       * @readonly
+       */
+      get copyCompletedOn() {
+        return this.originalResponse.copyCompletedOn;
+      }
+      /**
+       * String identifier for the last attempted Copy
+       * File operation where this file was the destination file.
+       *
+       * @readonly
+       */
+      get copyId() {
+        return this.originalResponse.copyId;
+      }
+      /**
+       * Contains the number of bytes copied and
+       * the total bytes in the source in the last attempted Copy File operation
+       * where this file was the destination file. Can show between 0 and
+       * Content-Length bytes copied.
+       *
+       * @readonly
+       */
+      get copyProgress() {
+        return this.originalResponse.copyProgress;
+      }
+      /**
+       * URL up to 2KB in length that specifies the
+       * source file used in the last attempted Copy File operation where this file
+       * was the destination file.
+       *
+       * @readonly
+       */
+      get copySource() {
+        return this.originalResponse.copySource;
+      }
+      /**
+       * State of the copy operation
+       * identified by 'x-ms-copy-id'. Possible values include: 'pending',
+       * 'success', 'aborted', 'failed'
+       *
+       * @readonly
+       */
+      get copyStatus() {
+        return this.originalResponse.copyStatus;
       }
-    };
-    exports2.BlobPrefix = {
-      serializedName: "BlobPrefix",
-      type: {
-        name: "Composite",
-        className: "BlobPrefix",
-        modelProperties: {
-          name: {
-            serializedName: "Name",
-            xmlName: "Name",
-            type: {
-              name: "Composite",
-              className: "BlobName"
-            }
-          }
-        }
+      /**
+       * Only appears when
+       * x-ms-copy-status is failed or pending. Describes cause of fatal or
+       * non-fatal copy operation failure.
+       *
+       * @readonly
+       */
+      get copyStatusDescription() {
+        return this.originalResponse.copyStatusDescription;
       }
-    };
-    exports2.BlockLookupList = {
-      serializedName: "BlockLookupList",
-      xmlName: "BlockList",
-      type: {
-        name: "Composite",
-        className: "BlockLookupList",
-        modelProperties: {
-          committed: {
-            serializedName: "Committed",
-            xmlName: "Committed",
-            xmlElementName: "Committed",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "String"
-                }
-              }
-            }
-          },
-          uncommitted: {
-            serializedName: "Uncommitted",
-            xmlName: "Uncommitted",
-            xmlElementName: "Uncommitted",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "String"
-                }
-              }
-            }
-          },
-          latest: {
-            serializedName: "Latest",
-            xmlName: "Latest",
-            xmlElementName: "Latest",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "String"
-                }
-              }
-            }
-          }
-        }
+      /**
+       * When a blob is leased,
+       * specifies whether the lease is of infinite or fixed duration. Possible
+       * values include: 'infinite', 'fixed'.
+       *
+       * @readonly
+       */
+      get leaseDuration() {
+        return this.originalResponse.leaseDuration;
       }
-    };
-    exports2.BlockList = {
-      serializedName: "BlockList",
-      type: {
-        name: "Composite",
-        className: "BlockList",
-        modelProperties: {
-          committedBlocks: {
-            serializedName: "CommittedBlocks",
-            xmlName: "CommittedBlocks",
-            xmlIsWrapped: true,
-            xmlElementName: "Block",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "Block"
-                }
-              }
-            }
-          },
-          uncommittedBlocks: {
-            serializedName: "UncommittedBlocks",
-            xmlName: "UncommittedBlocks",
-            xmlIsWrapped: true,
-            xmlElementName: "Block",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "Block"
-                }
-              }
-            }
-          }
-        }
+      /**
+       * Lease state of the blob. Possible
+       * values include: 'available', 'leased', 'expired', 'breaking', 'broken'.
+       *
+       * @readonly
+       */
+      get leaseState() {
+        return this.originalResponse.leaseState;
       }
-    };
-    exports2.Block = {
-      serializedName: "Block",
-      type: {
-        name: "Composite",
-        className: "Block",
-        modelProperties: {
-          name: {
-            serializedName: "Name",
-            required: true,
-            xmlName: "Name",
-            type: {
-              name: "String"
-            }
-          },
-          size: {
-            serializedName: "Size",
-            required: true,
-            xmlName: "Size",
-            type: {
-              name: "Number"
-            }
-          }
-        }
+      /**
+       * The current lease status of the
+       * blob. Possible values include: 'locked', 'unlocked'.
+       *
+       * @readonly
+       */
+      get leaseStatus() {
+        return this.originalResponse.leaseStatus;
       }
-    };
-    exports2.PageList = {
-      serializedName: "PageList",
-      type: {
-        name: "Composite",
-        className: "PageList",
-        modelProperties: {
-          pageRange: {
-            serializedName: "PageRange",
-            xmlName: "PageRange",
-            xmlElementName: "PageRange",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "PageRange"
-                }
-              }
-            }
-          },
-          clearRange: {
-            serializedName: "ClearRange",
-            xmlName: "ClearRange",
-            xmlElementName: "ClearRange",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "ClearRange"
-                }
-              }
-            }
-          },
-          continuationToken: {
-            serializedName: "NextMarker",
-            xmlName: "NextMarker",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * A UTC date/time value generated by the service that
+       * indicates the time at which the response was initiated.
+       *
+       * @readonly
+       */
+      get date() {
+        return this.originalResponse.date;
       }
-    };
-    exports2.PageRange = {
-      serializedName: "PageRange",
-      xmlName: "PageRange",
-      type: {
-        name: "Composite",
-        className: "PageRange",
-        modelProperties: {
-          start: {
-            serializedName: "Start",
-            required: true,
-            xmlName: "Start",
-            type: {
-              name: "Number"
-            }
-          },
-          end: {
-            serializedName: "End",
-            required: true,
-            xmlName: "End",
-            type: {
-              name: "Number"
-            }
-          }
-        }
+      /**
+       * The number of committed blocks
+       * present in the blob. This header is returned only for append blobs.
+       *
+       * @readonly
+       */
+      get blobCommittedBlockCount() {
+        return this.originalResponse.blobCommittedBlockCount;
       }
-    };
-    exports2.ClearRange = {
-      serializedName: "ClearRange",
-      xmlName: "ClearRange",
-      type: {
-        name: "Composite",
-        className: "ClearRange",
-        modelProperties: {
-          start: {
-            serializedName: "Start",
-            required: true,
-            xmlName: "Start",
-            type: {
-              name: "Number"
-            }
-          },
-          end: {
-            serializedName: "End",
-            required: true,
-            xmlName: "End",
-            type: {
-              name: "Number"
-            }
-          }
-        }
+      /**
+       * The ETag contains a value that you can use to
+       * perform operations conditionally, in quotes.
+       *
+       * @readonly
+       */
+      get etag() {
+        return this.originalResponse.etag;
       }
-    };
-    exports2.QueryRequest = {
-      serializedName: "QueryRequest",
-      xmlName: "QueryRequest",
-      type: {
-        name: "Composite",
-        className: "QueryRequest",
-        modelProperties: {
-          queryType: {
-            serializedName: "QueryType",
-            required: true,
-            xmlName: "QueryType",
-            type: {
-              name: "String"
-            }
-          },
-          expression: {
-            serializedName: "Expression",
-            required: true,
-            xmlName: "Expression",
-            type: {
-              name: "String"
-            }
-          },
-          inputSerialization: {
-            serializedName: "InputSerialization",
-            xmlName: "InputSerialization",
-            type: {
-              name: "Composite",
-              className: "QuerySerialization"
-            }
-          },
-          outputSerialization: {
-            serializedName: "OutputSerialization",
-            xmlName: "OutputSerialization",
-            type: {
-              name: "Composite",
-              className: "QuerySerialization"
-            }
-          }
-        }
+      /**
+       * The number of tags associated with the blob
+       *
+       * @readonly
+       */
+      get tagCount() {
+        return this.originalResponse.tagCount;
       }
-    };
-    exports2.QuerySerialization = {
-      serializedName: "QuerySerialization",
-      type: {
-        name: "Composite",
-        className: "QuerySerialization",
-        modelProperties: {
-          format: {
-            serializedName: "Format",
-            xmlName: "Format",
-            type: {
-              name: "Composite",
-              className: "QueryFormat"
-            }
-          }
-        }
+      /**
+       * The error code.
+       *
+       * @readonly
+       */
+      get errorCode() {
+        return this.originalResponse.errorCode;
       }
-    };
-    exports2.QueryFormat = {
-      serializedName: "QueryFormat",
-      type: {
-        name: "Composite",
-        className: "QueryFormat",
-        modelProperties: {
-          type: {
-            serializedName: "Type",
-            required: true,
-            xmlName: "Type",
-            type: {
-              name: "Enum",
-              allowedValues: ["delimited", "json", "arrow", "parquet"]
-            }
-          },
-          delimitedTextConfiguration: {
-            serializedName: "DelimitedTextConfiguration",
-            xmlName: "DelimitedTextConfiguration",
-            type: {
-              name: "Composite",
-              className: "DelimitedTextConfiguration"
-            }
-          },
-          jsonTextConfiguration: {
-            serializedName: "JsonTextConfiguration",
-            xmlName: "JsonTextConfiguration",
-            type: {
-              name: "Composite",
-              className: "JsonTextConfiguration"
-            }
-          },
-          arrowConfiguration: {
-            serializedName: "ArrowConfiguration",
-            xmlName: "ArrowConfiguration",
-            type: {
-              name: "Composite",
-              className: "ArrowConfiguration"
-            }
-          },
-          parquetTextConfiguration: {
-            serializedName: "ParquetTextConfiguration",
-            xmlName: "ParquetTextConfiguration",
-            type: {
-              name: "Dictionary",
-              value: { type: { name: "any" } }
-            }
-          }
-        }
+      /**
+       * The value of this header is set to
+       * true if the file data and application metadata are completely encrypted
+       * using the specified algorithm. Otherwise, the value is set to false (when
+       * the file is unencrypted, or if only parts of the file/application metadata
+       * are encrypted).
+       *
+       * @readonly
+       */
+      get isServerEncrypted() {
+        return this.originalResponse.isServerEncrypted;
       }
-    };
-    exports2.DelimitedTextConfiguration = {
-      serializedName: "DelimitedTextConfiguration",
-      xmlName: "DelimitedTextConfiguration",
-      type: {
-        name: "Composite",
-        className: "DelimitedTextConfiguration",
-        modelProperties: {
-          columnSeparator: {
-            serializedName: "ColumnSeparator",
-            xmlName: "ColumnSeparator",
-            type: {
-              name: "String"
-            }
-          },
-          fieldQuote: {
-            serializedName: "FieldQuote",
-            xmlName: "FieldQuote",
-            type: {
-              name: "String"
-            }
-          },
-          recordSeparator: {
-            serializedName: "RecordSeparator",
-            xmlName: "RecordSeparator",
-            type: {
-              name: "String"
-            }
-          },
-          escapeChar: {
-            serializedName: "EscapeChar",
-            xmlName: "EscapeChar",
-            type: {
-              name: "String"
-            }
-          },
-          headersPresent: {
-            serializedName: "HeadersPresent",
-            xmlName: "HasHeaders",
-            type: {
-              name: "Boolean"
-            }
-          }
-        }
+      /**
+       * If the blob has a MD5 hash, and if
+       * request contains range header (Range or x-ms-range), this response header
+       * is returned with the value of the whole blob's MD5 value. This value may
+       * or may not be equal to the value returned in Content-MD5 header, with the
+       * latter calculated from the requested range.
+       *
+       * @readonly
+       */
+      get blobContentMD5() {
+        return this.originalResponse.blobContentMD5;
       }
-    };
-    exports2.JsonTextConfiguration = {
-      serializedName: "JsonTextConfiguration",
-      xmlName: "JsonTextConfiguration",
-      type: {
-        name: "Composite",
-        className: "JsonTextConfiguration",
-        modelProperties: {
-          recordSeparator: {
-            serializedName: "RecordSeparator",
-            xmlName: "RecordSeparator",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Returns the date and time the file was last
+       * modified. Any operation that modifies the file or its properties updates
+       * the last modified time.
+       *
+       * @readonly
+       */
+      get lastModified() {
+        return this.originalResponse.lastModified;
+      }
+      /**
+       * Returns the UTC date and time generated by the service that indicates the time at which the blob was
+       * last read or written to.
+       *
+       * @readonly
+       */
+      get lastAccessed() {
+        return this.originalResponse.lastAccessed;
+      }
+      /**
+       * Returns the date and time the blob was created.
+       *
+       * @readonly
+       */
+      get createdOn() {
+        return this.originalResponse.createdOn;
+      }
+      /**
+       * A name-value pair
+       * to associate with a file storage object.
+       *
+       * @readonly
+       */
+      get metadata() {
+        return this.originalResponse.metadata;
       }
-    };
-    exports2.ArrowConfiguration = {
-      serializedName: "ArrowConfiguration",
-      xmlName: "ArrowConfiguration",
-      type: {
-        name: "Composite",
-        className: "ArrowConfiguration",
-        modelProperties: {
-          schema: {
-            serializedName: "Schema",
-            required: true,
-            xmlName: "Schema",
-            xmlIsWrapped: true,
-            xmlElementName: "Field",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "ArrowField"
-                }
-              }
-            }
-          }
-        }
+      /**
+       * This header uniquely identifies the request
+       * that was made and can be used for troubleshooting the request.
+       *
+       * @readonly
+       */
+      get requestId() {
+        return this.originalResponse.requestId;
       }
-    };
-    exports2.ArrowField = {
-      serializedName: "ArrowField",
-      xmlName: "Field",
-      type: {
-        name: "Composite",
-        className: "ArrowField",
-        modelProperties: {
-          type: {
-            serializedName: "Type",
-            required: true,
-            xmlName: "Type",
-            type: {
-              name: "String"
-            }
-          },
-          name: {
-            serializedName: "Name",
-            xmlName: "Name",
-            type: {
-              name: "String"
-            }
-          },
-          precision: {
-            serializedName: "Precision",
-            xmlName: "Precision",
-            type: {
-              name: "Number"
-            }
-          },
-          scale: {
-            serializedName: "Scale",
-            xmlName: "Scale",
-            type: {
-              name: "Number"
-            }
-          }
-        }
+      /**
+       * If a client request id header is sent in the request, this header will be present in the
+       * response with the same value.
+       *
+       * @readonly
+       */
+      get clientRequestId() {
+        return this.originalResponse.clientRequestId;
       }
-    };
-    exports2.ServiceSetPropertiesHeaders = {
-      serializedName: "Service_setPropertiesHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceSetPropertiesHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Indicates the version of the Blob service used
+       * to execute the request.
+       *
+       * @readonly
+       */
+      get version() {
+        return this.originalResponse.version;
       }
-    };
-    exports2.ServiceSetPropertiesExceptionHeaders = {
-      serializedName: "Service_setPropertiesExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceSetPropertiesExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Indicates the versionId of the downloaded blob version.
+       *
+       * @readonly
+       */
+      get versionId() {
+        return this.originalResponse.versionId;
       }
-    };
-    exports2.ServiceGetPropertiesHeaders = {
-      serializedName: "Service_getPropertiesHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceGetPropertiesHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Indicates whether version of this blob is a current version.
+       *
+       * @readonly
+       */
+      get isCurrentVersion() {
+        return this.originalResponse.isCurrentVersion;
       }
-    };
-    exports2.ServiceGetPropertiesExceptionHeaders = {
-      serializedName: "Service_getPropertiesExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceGetPropertiesExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * The SHA-256 hash of the encryption key used to encrypt the blob. This value is only returned
+       * when the blob was encrypted with a customer-provided key.
+       *
+       * @readonly
+       */
+      get encryptionKeySha256() {
+        return this.originalResponse.encryptionKeySha256;
       }
-    };
-    exports2.ServiceGetStatisticsHeaders = {
-      serializedName: "Service_getStatisticsHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceGetStatisticsHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * If the request is to read a specified range and the x-ms-range-get-content-crc64 is set to
+       * true, then the request returns a crc64 for the range, as long as the range size is less than
+       * or equal to 4 MB. If both x-ms-range-get-content-crc64 & x-ms-range-get-content-md5 is
+       * specified in the same request, it will fail with 400(Bad Request)
+       */
+      get contentCrc64() {
+        return this.originalResponse.contentCrc64;
       }
-    };
-    exports2.ServiceGetStatisticsExceptionHeaders = {
-      serializedName: "Service_getStatisticsExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceGetStatisticsExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Object Replication Policy Id of the destination blob.
+       *
+       * @readonly
+       */
+      get objectReplicationDestinationPolicyId() {
+        return this.originalResponse.objectReplicationDestinationPolicyId;
       }
-    };
-    exports2.ServiceListContainersSegmentHeaders = {
-      serializedName: "Service_listContainersSegmentHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceListContainersSegmentHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Parsed Object Replication Policy Id, Rule Id(s) and status of the source blob.
+       *
+       * @readonly
+       */
+      get objectReplicationSourceProperties() {
+        return this.originalResponse.objectReplicationSourceProperties;
       }
-    };
-    exports2.ServiceListContainersSegmentExceptionHeaders = {
-      serializedName: "Service_listContainersSegmentExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceListContainersSegmentExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * If this blob has been sealed.
+       *
+       * @readonly
+       */
+      get isSealed() {
+        return this.originalResponse.isSealed;
       }
-    };
-    exports2.ServiceGetUserDelegationKeyHeaders = {
-      serializedName: "Service_getUserDelegationKeyHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceGetUserDelegationKeyHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * UTC date/time value generated by the service that indicates the time at which the blob immutability policy will expire.
+       *
+       * @readonly
+       */
+      get immutabilityPolicyExpiresOn() {
+        return this.originalResponse.immutabilityPolicyExpiresOn;
       }
-    };
-    exports2.ServiceGetUserDelegationKeyExceptionHeaders = {
-      serializedName: "Service_getUserDelegationKeyExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceGetUserDelegationKeyExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Indicates immutability policy mode.
+       *
+       * @readonly
+       */
+      get immutabilityPolicyMode() {
+        return this.originalResponse.immutabilityPolicyMode;
       }
-    };
-    exports2.ServiceGetAccountInfoHeaders = {
-      serializedName: "Service_getAccountInfoHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceGetAccountInfoHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          skuName: {
-            serializedName: "x-ms-sku-name",
-            xmlName: "x-ms-sku-name",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "Standard_LRS",
-                "Standard_GRS",
-                "Standard_RAGRS",
-                "Standard_ZRS",
-                "Premium_LRS"
-              ]
-            }
-          },
-          accountKind: {
-            serializedName: "x-ms-account-kind",
-            xmlName: "x-ms-account-kind",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "Storage",
-                "BlobStorage",
-                "StorageV2",
-                "FileStorage",
-                "BlockBlobStorage"
-              ]
-            }
-          },
-          isHierarchicalNamespaceEnabled: {
-            serializedName: "x-ms-is-hns-enabled",
-            xmlName: "x-ms-is-hns-enabled",
-            type: {
-              name: "Boolean"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Indicates if a legal hold is present on the blob.
+       *
+       * @readonly
+       */
+      get legalHold() {
+        return this.originalResponse.legalHold;
       }
-    };
-    exports2.ServiceGetAccountInfoExceptionHeaders = {
-      serializedName: "Service_getAccountInfoExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceGetAccountInfoExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * The response body as a browser Blob.
+       * Always undefined in node.js.
+       *
+       * @readonly
+       */
+      get contentAsBlob() {
+        return this.originalResponse.blobBody;
       }
-    };
-    exports2.ServiceSubmitBatchHeaders = {
-      serializedName: "Service_submitBatchHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceSubmitBatchHeaders",
-        modelProperties: {
-          contentType: {
-            serializedName: "content-type",
-            xmlName: "content-type",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * The response body as a node.js Readable stream.
+       * Always undefined in the browser.
+       *
+       * It will automatically retry when internal read stream unexpected ends.
+       *
+       * @readonly
+       */
+      get readableStreamBody() {
+        return core_util_1.isNodeLike ? this.blobDownloadStream : void 0;
       }
-    };
-    exports2.ServiceSubmitBatchExceptionHeaders = {
-      serializedName: "Service_submitBatchExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceSubmitBatchExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * The HTTP response.
+       */
+      get _response() {
+        return this.originalResponse._response;
+      }
+      originalResponse;
+      blobDownloadStream;
+      /**
+       * Creates an instance of BlobDownloadResponse.
+       *
+       * @param originalResponse -
+       * @param getter -
+       * @param offset -
+       * @param count -
+       * @param options -
+       */
+      constructor(originalResponse, getter, offset, count, options = {}) {
+        this.originalResponse = originalResponse;
+        this.blobDownloadStream = new RetriableReadableStream_js_1.RetriableReadableStream(this.originalResponse.readableStreamBody, getter, offset, count, options);
       }
     };
-    exports2.ServiceFilterBlobsHeaders = {
-      serializedName: "Service_filterBlobsHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceFilterBlobsHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+    exports2.BlobDownloadResponse = BlobDownloadResponse;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroConstants.js
+var require_AvroConstants = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroConstants.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AVRO_SCHEMA_KEY = exports2.AVRO_CODEC_KEY = exports2.AVRO_INIT_BYTES = exports2.AVRO_SYNC_MARKER_SIZE = void 0;
+    exports2.AVRO_SYNC_MARKER_SIZE = 16;
+    exports2.AVRO_INIT_BYTES = new Uint8Array([79, 98, 106, 1]);
+    exports2.AVRO_CODEC_KEY = "avro.codec";
+    exports2.AVRO_SCHEMA_KEY = "avro.schema";
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroParser.js
+var require_AvroParser = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroParser.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AvroType = exports2.AvroParser = void 0;
+    var AvroParser = class _AvroParser {
+      /**
+       * Reads a fixed number of bytes from the stream.
+       *
+       * @param stream -
+       * @param length -
+       * @param options -
+       */
+      static async readFixedBytes(stream, length, options = {}) {
+        const bytes = await stream.read(length, { abortSignal: options.abortSignal });
+        if (bytes.length !== length) {
+          throw new Error("Hit stream end.");
         }
+        return bytes;
       }
-    };
-    exports2.ServiceFilterBlobsExceptionHeaders = {
-      serializedName: "Service_filterBlobsExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceFilterBlobsExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      /**
+       * Reads a single byte from the stream.
+       *
+       * @param stream -
+       * @param options -
+       */
+      static async readByte(stream, options = {}) {
+        const buf = await _AvroParser.readFixedBytes(stream, 1, options);
+        return buf[0];
+      }
+      // int and long are stored in variable-length zig-zag coding.
+      // variable-length: https://lucene.apache.org/core/3_5_0/fileformats.html#VInt
+      // zig-zag: https://developers.google.com/protocol-buffers/docs/encoding?csw=1#types
+      static async readZigZagLong(stream, options = {}) {
+        let zigZagEncoded = 0;
+        let significanceInBit = 0;
+        let byte, haveMoreByte, significanceInFloat;
+        do {
+          byte = await _AvroParser.readByte(stream, options);
+          haveMoreByte = byte & 128;
+          zigZagEncoded |= (byte & 127) << significanceInBit;
+          significanceInBit += 7;
+        } while (haveMoreByte && significanceInBit < 28);
+        if (haveMoreByte) {
+          zigZagEncoded = zigZagEncoded;
+          significanceInFloat = 268435456;
+          do {
+            byte = await _AvroParser.readByte(stream, options);
+            zigZagEncoded += (byte & 127) * significanceInFloat;
+            significanceInFloat *= 128;
+          } while (byte & 128);
+          const res = (zigZagEncoded % 2 ? -(zigZagEncoded + 1) : zigZagEncoded) / 2;
+          if (res < Number.MIN_SAFE_INTEGER || res > Number.MAX_SAFE_INTEGER) {
+            throw new Error("Integer overflow.");
           }
+          return res;
         }
+        return zigZagEncoded >> 1 ^ -(zigZagEncoded & 1);
       }
-    };
-    exports2.ContainerCreateHeaders = {
-      serializedName: "Container_createHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerCreateHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      static async readLong(stream, options = {}) {
+        return _AvroParser.readZigZagLong(stream, options);
+      }
+      static async readInt(stream, options = {}) {
+        return _AvroParser.readZigZagLong(stream, options);
+      }
+      static async readNull() {
+        return null;
+      }
+      static async readBoolean(stream, options = {}) {
+        const b = await _AvroParser.readByte(stream, options);
+        if (b === 1) {
+          return true;
+        } else if (b === 0) {
+          return false;
+        } else {
+          throw new Error("Byte was not a boolean.");
         }
       }
-    };
-    exports2.ContainerCreateExceptionHeaders = {
-      serializedName: "Container_createExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerCreateExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      static async readFloat(stream, options = {}) {
+        const u8arr = await _AvroParser.readFixedBytes(stream, 4, options);
+        const view = new DataView(u8arr.buffer, u8arr.byteOffset, u8arr.byteLength);
+        return view.getFloat32(0, true);
+      }
+      static async readDouble(stream, options = {}) {
+        const u8arr = await _AvroParser.readFixedBytes(stream, 8, options);
+        const view = new DataView(u8arr.buffer, u8arr.byteOffset, u8arr.byteLength);
+        return view.getFloat64(0, true);
+      }
+      static async readBytes(stream, options = {}) {
+        const size = await _AvroParser.readLong(stream, options);
+        if (size < 0) {
+          throw new Error("Bytes size was negative.");
         }
+        return stream.read(size, { abortSignal: options.abortSignal });
       }
-    };
-    exports2.ContainerGetPropertiesHeaders = {
-      serializedName: "Container_getPropertiesHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerGetPropertiesHeaders",
-        modelProperties: {
-          metadata: {
-            serializedName: "x-ms-meta",
-            headerCollectionPrefix: "x-ms-meta-",
-            xmlName: "x-ms-meta",
-            type: {
-              name: "Dictionary",
-              value: { type: { name: "String" } }
-            }
-          },
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          leaseDuration: {
-            serializedName: "x-ms-lease-duration",
-            xmlName: "x-ms-lease-duration",
-            type: {
-              name: "Enum",
-              allowedValues: ["infinite", "fixed"]
-            }
-          },
-          leaseState: {
-            serializedName: "x-ms-lease-state",
-            xmlName: "x-ms-lease-state",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "available",
-                "leased",
-                "expired",
-                "breaking",
-                "broken"
-              ]
-            }
-          },
-          leaseStatus: {
-            serializedName: "x-ms-lease-status",
-            xmlName: "x-ms-lease-status",
-            type: {
-              name: "Enum",
-              allowedValues: ["locked", "unlocked"]
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          blobPublicAccess: {
-            serializedName: "x-ms-blob-public-access",
-            xmlName: "x-ms-blob-public-access",
-            type: {
-              name: "Enum",
-              allowedValues: ["container", "blob"]
-            }
-          },
-          hasImmutabilityPolicy: {
-            serializedName: "x-ms-has-immutability-policy",
-            xmlName: "x-ms-has-immutability-policy",
-            type: {
-              name: "Boolean"
-            }
-          },
-          hasLegalHold: {
-            serializedName: "x-ms-has-legal-hold",
-            xmlName: "x-ms-has-legal-hold",
-            type: {
-              name: "Boolean"
-            }
-          },
-          defaultEncryptionScope: {
-            serializedName: "x-ms-default-encryption-scope",
-            xmlName: "x-ms-default-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          denyEncryptionScopeOverride: {
-            serializedName: "x-ms-deny-encryption-scope-override",
-            xmlName: "x-ms-deny-encryption-scope-override",
-            type: {
-              name: "Boolean"
-            }
-          },
-          isImmutableStorageWithVersioningEnabled: {
-            serializedName: "x-ms-immutable-storage-with-versioning-enabled",
-            xmlName: "x-ms-immutable-storage-with-versioning-enabled",
-            type: {
-              name: "Boolean"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      static async readString(stream, options = {}) {
+        const u8arr = await _AvroParser.readBytes(stream, options);
+        const utf8decoder = new TextDecoder();
+        return utf8decoder.decode(u8arr);
+      }
+      static async readMapPair(stream, readItemMethod, options = {}) {
+        const key = await _AvroParser.readString(stream, options);
+        const value = await readItemMethod(stream, options);
+        return { key, value };
+      }
+      static async readMap(stream, readItemMethod, options = {}) {
+        const readPairMethod = (s, opts = {}) => {
+          return _AvroParser.readMapPair(s, readItemMethod, opts);
+        };
+        const pairs2 = await _AvroParser.readArray(stream, readPairMethod, options);
+        const dict = {};
+        for (const pair of pairs2) {
+          dict[pair.key] = pair.value;
         }
+        return dict;
       }
-    };
-    exports2.ContainerGetPropertiesExceptionHeaders = {
-      serializedName: "Container_getPropertiesExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerGetPropertiesExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      static async readArray(stream, readItemMethod, options = {}) {
+        const items = [];
+        for (let count = await _AvroParser.readLong(stream, options); count !== 0; count = await _AvroParser.readLong(stream, options)) {
+          if (count < 0) {
+            await _AvroParser.readLong(stream, options);
+            count = -count;
+          }
+          while (count--) {
+            const item = await readItemMethod(stream, options);
+            items.push(item);
           }
         }
+        return items;
       }
     };
-    exports2.ContainerDeleteHeaders = {
-      serializedName: "Container_deleteHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerDeleteHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+    exports2.AvroParser = AvroParser;
+    var AvroComplex;
+    (function(AvroComplex2) {
+      AvroComplex2["RECORD"] = "record";
+      AvroComplex2["ENUM"] = "enum";
+      AvroComplex2["ARRAY"] = "array";
+      AvroComplex2["MAP"] = "map";
+      AvroComplex2["UNION"] = "union";
+      AvroComplex2["FIXED"] = "fixed";
+    })(AvroComplex || (AvroComplex = {}));
+    var AvroPrimitive;
+    (function(AvroPrimitive2) {
+      AvroPrimitive2["NULL"] = "null";
+      AvroPrimitive2["BOOLEAN"] = "boolean";
+      AvroPrimitive2["INT"] = "int";
+      AvroPrimitive2["LONG"] = "long";
+      AvroPrimitive2["FLOAT"] = "float";
+      AvroPrimitive2["DOUBLE"] = "double";
+      AvroPrimitive2["BYTES"] = "bytes";
+      AvroPrimitive2["STRING"] = "string";
+    })(AvroPrimitive || (AvroPrimitive = {}));
+    var AvroType = class _AvroType {
+      /**
+       * Determines the AvroType from the Avro Schema.
+       */
+      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
+      static fromSchema(schema2) {
+        if (typeof schema2 === "string") {
+          return _AvroType.fromStringSchema(schema2);
+        } else if (Array.isArray(schema2)) {
+          return _AvroType.fromArraySchema(schema2);
+        } else {
+          return _AvroType.fromObjectSchema(schema2);
         }
       }
-    };
-    exports2.ContainerDeleteExceptionHeaders = {
-      serializedName: "Container_deleteExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerDeleteExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      static fromStringSchema(schema2) {
+        switch (schema2) {
+          case AvroPrimitive.NULL:
+          case AvroPrimitive.BOOLEAN:
+          case AvroPrimitive.INT:
+          case AvroPrimitive.LONG:
+          case AvroPrimitive.FLOAT:
+          case AvroPrimitive.DOUBLE:
+          case AvroPrimitive.BYTES:
+          case AvroPrimitive.STRING:
+            return new AvroPrimitiveType(schema2);
+          default:
+            throw new Error(`Unexpected Avro type ${schema2}`);
         }
       }
-    };
-    exports2.ContainerSetMetadataHeaders = {
-      serializedName: "Container_setMetadataHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerSetMetadataHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
+      static fromArraySchema(schema2) {
+        return new AvroUnionType(schema2.map(_AvroType.fromSchema));
+      }
+      static fromObjectSchema(schema2) {
+        const type2 = schema2.type;
+        try {
+          return _AvroType.fromStringSchema(type2);
+        } catch {
+        }
+        switch (type2) {
+          case AvroComplex.RECORD:
+            if (schema2.aliases) {
+              throw new Error(`aliases currently is not supported, schema: ${schema2}`);
             }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
+            if (!schema2.name) {
+              throw new Error(`Required attribute 'name' doesn't exist on schema: ${schema2}`);
             }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
+            const fields = {};
+            if (!schema2.fields) {
+              throw new Error(`Required attribute 'fields' doesn't exist on schema: ${schema2}`);
             }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
+            for (const field of schema2.fields) {
+              fields[field.name] = _AvroType.fromSchema(field.type);
             }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
+            return new AvroRecordType(fields, schema2.name);
+          case AvroComplex.ENUM:
+            if (schema2.aliases) {
+              throw new Error(`aliases currently is not supported, schema: ${schema2}`);
             }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
+            if (!schema2.symbols) {
+              throw new Error(`Required attribute 'symbols' doesn't exist on schema: ${schema2}`);
             }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+            return new AvroEnumType(schema2.symbols);
+          case AvroComplex.MAP:
+            if (!schema2.values) {
+              throw new Error(`Required attribute 'values' doesn't exist on schema: ${schema2}`);
             }
-          }
+            return new AvroMapType(_AvroType.fromSchema(schema2.values));
+          case AvroComplex.ARRAY:
+          // Unused today
+          case AvroComplex.FIXED:
+          // Unused today
+          default:
+            throw new Error(`Unexpected Avro type ${type2} in ${schema2}`);
         }
       }
     };
-    exports2.ContainerSetMetadataExceptionHeaders = {
-      serializedName: "Container_setMetadataExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerSetMetadataExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+    exports2.AvroType = AvroType;
+    var AvroPrimitiveType = class extends AvroType {
+      _primitive;
+      constructor(primitive) {
+        super();
+        this._primitive = primitive;
+      }
+      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
+      read(stream, options = {}) {
+        switch (this._primitive) {
+          case AvroPrimitive.NULL:
+            return AvroParser.readNull();
+          case AvroPrimitive.BOOLEAN:
+            return AvroParser.readBoolean(stream, options);
+          case AvroPrimitive.INT:
+            return AvroParser.readInt(stream, options);
+          case AvroPrimitive.LONG:
+            return AvroParser.readLong(stream, options);
+          case AvroPrimitive.FLOAT:
+            return AvroParser.readFloat(stream, options);
+          case AvroPrimitive.DOUBLE:
+            return AvroParser.readDouble(stream, options);
+          case AvroPrimitive.BYTES:
+            return AvroParser.readBytes(stream, options);
+          case AvroPrimitive.STRING:
+            return AvroParser.readString(stream, options);
+          default:
+            throw new Error("Unknown Avro Primitive");
         }
       }
     };
-    exports2.ContainerGetAccessPolicyHeaders = {
-      serializedName: "Container_getAccessPolicyHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerGetAccessPolicyHeaders",
-        modelProperties: {
-          blobPublicAccess: {
-            serializedName: "x-ms-blob-public-access",
-            xmlName: "x-ms-blob-public-access",
-            type: {
-              name: "Enum",
-              allowedValues: ["container", "blob"]
-            }
-          },
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+    var AvroEnumType = class extends AvroType {
+      _symbols;
+      constructor(symbols) {
+        super();
+        this._symbols = symbols;
+      }
+      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
+      async read(stream, options = {}) {
+        const value = await AvroParser.readInt(stream, options);
+        return this._symbols[value];
+      }
+    };
+    var AvroUnionType = class extends AvroType {
+      _types;
+      constructor(types) {
+        super();
+        this._types = types;
+      }
+      async read(stream, options = {}) {
+        const typeIndex = await AvroParser.readInt(stream, options);
+        return this._types[typeIndex].read(stream, options);
+      }
+    };
+    var AvroMapType = class extends AvroType {
+      _itemType;
+      constructor(itemType) {
+        super();
+        this._itemType = itemType;
+      }
+      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
+      read(stream, options = {}) {
+        const readItemMethod = (s, opts) => {
+          return this._itemType.read(s, opts);
+        };
+        return AvroParser.readMap(stream, readItemMethod, options);
+      }
+    };
+    var AvroRecordType = class extends AvroType {
+      _name;
+      _fields;
+      constructor(fields, name) {
+        super();
+        this._fields = fields;
+        this._name = name;
+      }
+      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
+      async read(stream, options = {}) {
+        const record = {};
+        record["$schema"] = this._name;
+        for (const key in this._fields) {
+          if (Object.prototype.hasOwnProperty.call(this._fields, key)) {
+            record[key] = await this._fields[key].read(stream, options);
           }
         }
+        return record;
       }
     };
-    exports2.ContainerGetAccessPolicyExceptionHeaders = {
-      serializedName: "Container_getAccessPolicyExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerGetAccessPolicyExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/utils/utils.common.js
+var require_utils_common3 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/utils/utils.common.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.arraysEqual = arraysEqual;
+    function arraysEqual(a, b) {
+      if (a === b)
+        return true;
+      if (a == null || b == null)
+        return false;
+      if (a.length !== b.length)
+        return false;
+      for (let i = 0; i < a.length; ++i) {
+        if (a[i] !== b[i])
+          return false;
+      }
+      return true;
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReader.js
+var require_AvroReader = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReader.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AvroReader = void 0;
+    var AvroConstants_js_1 = require_AvroConstants();
+    var AvroParser_js_1 = require_AvroParser();
+    var utils_common_js_1 = require_utils_common3();
+    var AvroReader = class {
+      _dataStream;
+      _headerStream;
+      _syncMarker;
+      _metadata;
+      _itemType;
+      _itemsRemainingInBlock;
+      // Remembers where we started if partial data stream was provided.
+      _initialBlockOffset;
+      /// The byte offset within the Avro file (both header and data)
+      /// of the start of the current block.
+      _blockOffset;
+      get blockOffset() {
+        return this._blockOffset;
+      }
+      _objectIndex;
+      get objectIndex() {
+        return this._objectIndex;
+      }
+      _initialized;
+      constructor(dataStream, headerStream, currentBlockOffset, indexWithinCurrentBlock) {
+        this._dataStream = dataStream;
+        this._headerStream = headerStream || dataStream;
+        this._initialized = false;
+        this._blockOffset = currentBlockOffset || 0;
+        this._objectIndex = indexWithinCurrentBlock || 0;
+        this._initialBlockOffset = currentBlockOffset || 0;
+      }
+      async initialize(options = {}) {
+        const header = await AvroParser_js_1.AvroParser.readFixedBytes(this._headerStream, AvroConstants_js_1.AVRO_INIT_BYTES.length, {
+          abortSignal: options.abortSignal
+        });
+        if (!(0, utils_common_js_1.arraysEqual)(header, AvroConstants_js_1.AVRO_INIT_BYTES)) {
+          throw new Error("Stream is not an Avro file.");
+        }
+        this._metadata = await AvroParser_js_1.AvroParser.readMap(this._headerStream, AvroParser_js_1.AvroParser.readString, {
+          abortSignal: options.abortSignal
+        });
+        const codec = this._metadata[AvroConstants_js_1.AVRO_CODEC_KEY];
+        if (!(codec === void 0 || codec === null || codec === "null")) {
+          throw new Error("Codecs are not supported");
+        }
+        this._syncMarker = await AvroParser_js_1.AvroParser.readFixedBytes(this._headerStream, AvroConstants_js_1.AVRO_SYNC_MARKER_SIZE, {
+          abortSignal: options.abortSignal
+        });
+        const schema2 = JSON.parse(this._metadata[AvroConstants_js_1.AVRO_SCHEMA_KEY]);
+        this._itemType = AvroParser_js_1.AvroType.fromSchema(schema2);
+        if (this._blockOffset === 0) {
+          this._blockOffset = this._initialBlockOffset + this._dataStream.position;
+        }
+        this._itemsRemainingInBlock = await AvroParser_js_1.AvroParser.readLong(this._dataStream, {
+          abortSignal: options.abortSignal
+        });
+        await AvroParser_js_1.AvroParser.readLong(this._dataStream, { abortSignal: options.abortSignal });
+        this._initialized = true;
+        if (this._objectIndex && this._objectIndex > 0) {
+          for (let i = 0; i < this._objectIndex; i++) {
+            await this._itemType.read(this._dataStream, { abortSignal: options.abortSignal });
+            this._itemsRemainingInBlock--;
           }
         }
       }
-    };
-    exports2.ContainerSetAccessPolicyHeaders = {
-      serializedName: "Container_setAccessPolicyHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerSetAccessPolicyHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
+      hasNext() {
+        return !this._initialized || this._itemsRemainingInBlock > 0;
+      }
+      async *parseObjects(options = {}) {
+        if (!this._initialized) {
+          await this.initialize(options);
+        }
+        while (this.hasNext()) {
+          const result = await this._itemType.read(this._dataStream, {
+            abortSignal: options.abortSignal
+          });
+          this._itemsRemainingInBlock--;
+          this._objectIndex++;
+          if (this._itemsRemainingInBlock === 0) {
+            const marker = await AvroParser_js_1.AvroParser.readFixedBytes(this._dataStream, AvroConstants_js_1.AVRO_SYNC_MARKER_SIZE, {
+              abortSignal: options.abortSignal
+            });
+            this._blockOffset = this._initialBlockOffset + this._dataStream.position;
+            this._objectIndex = 0;
+            if (!(0, utils_common_js_1.arraysEqual)(this._syncMarker, marker)) {
+              throw new Error("Stream is not a valid Avro file.");
             }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
+            try {
+              this._itemsRemainingInBlock = await AvroParser_js_1.AvroParser.readLong(this._dataStream, {
+                abortSignal: options.abortSignal
+              });
+            } catch {
+              this._itemsRemainingInBlock = 0;
             }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+            if (this._itemsRemainingInBlock > 0) {
+              await AvroParser_js_1.AvroParser.readLong(this._dataStream, { abortSignal: options.abortSignal });
             }
           }
+          yield result;
         }
       }
     };
-    exports2.ContainerSetAccessPolicyExceptionHeaders = {
-      serializedName: "Container_setAccessPolicyExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerSetAccessPolicyExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+    exports2.AvroReader = AvroReader;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadable.js
+var require_AvroReadable = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadable.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AvroReadable = void 0;
+    var AvroReadable = class {
+    };
+    exports2.AvroReadable = AvroReadable;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadableFromStream.js
+var require_AvroReadableFromStream = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadableFromStream.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AvroReadableFromStream = void 0;
+    var AvroReadable_js_1 = require_AvroReadable();
+    var abort_controller_1 = require_commonjs11();
+    var buffer_1 = require("buffer");
+    var ABORT_ERROR = new abort_controller_1.AbortError("Reading from the avro stream was aborted.");
+    var AvroReadableFromStream = class extends AvroReadable_js_1.AvroReadable {
+      _position;
+      _readable;
+      toUint8Array(data) {
+        if (typeof data === "string") {
+          return buffer_1.Buffer.from(data);
+        }
+        return data;
+      }
+      constructor(readable) {
+        super();
+        this._readable = readable;
+        this._position = 0;
+      }
+      get position() {
+        return this._position;
+      }
+      async read(size, options = {}) {
+        if (options.abortSignal?.aborted) {
+          throw ABORT_ERROR;
+        }
+        if (size < 0) {
+          throw new Error(`size parameter should be positive: ${size}`);
+        }
+        if (size === 0) {
+          return new Uint8Array();
+        }
+        if (!this._readable.readable) {
+          throw new Error("Stream no longer readable.");
+        }
+        const chunk = this._readable.read(size);
+        if (chunk) {
+          this._position += chunk.length;
+          return this.toUint8Array(chunk);
+        } else {
+          return new Promise((resolve3, reject) => {
+            const cleanUp = () => {
+              this._readable.removeListener("readable", readableCallback);
+              this._readable.removeListener("error", rejectCallback);
+              this._readable.removeListener("end", rejectCallback);
+              this._readable.removeListener("close", rejectCallback);
+              if (options.abortSignal) {
+                options.abortSignal.removeEventListener("abort", abortHandler);
+              }
+            };
+            const readableCallback = () => {
+              const callbackChunk = this._readable.read(size);
+              if (callbackChunk) {
+                this._position += callbackChunk.length;
+                cleanUp();
+                resolve3(this.toUint8Array(callbackChunk));
+              }
+            };
+            const rejectCallback = () => {
+              cleanUp();
+              reject();
+            };
+            const abortHandler = () => {
+              cleanUp();
+              reject(ABORT_ERROR);
+            };
+            this._readable.on("readable", readableCallback);
+            this._readable.once("error", rejectCallback);
+            this._readable.once("end", rejectCallback);
+            this._readable.once("close", rejectCallback);
+            if (options.abortSignal) {
+              options.abortSignal.addEventListener("abort", abortHandler);
             }
-          }
+          });
         }
       }
     };
-    exports2.ContainerRestoreHeaders = {
-      serializedName: "Container_restoreHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerRestoreHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+    exports2.AvroReadableFromStream = AvroReadableFromStream;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/index.js
+var require_internal_avro = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AvroReadableFromStream = exports2.AvroReadable = exports2.AvroReader = void 0;
+    var AvroReader_js_1 = require_AvroReader();
+    Object.defineProperty(exports2, "AvroReader", { enumerable: true, get: function() {
+      return AvroReader_js_1.AvroReader;
+    } });
+    var AvroReadable_js_1 = require_AvroReadable();
+    Object.defineProperty(exports2, "AvroReadable", { enumerable: true, get: function() {
+      return AvroReadable_js_1.AvroReadable;
+    } });
+    var AvroReadableFromStream_js_1 = require_AvroReadableFromStream();
+    Object.defineProperty(exports2, "AvroReadableFromStream", { enumerable: true, get: function() {
+      return AvroReadableFromStream_js_1.AvroReadableFromStream;
+    } });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/utils/BlobQuickQueryStream.js
+var require_BlobQuickQueryStream = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/BlobQuickQueryStream.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobQuickQueryStream = void 0;
+    var node_stream_1 = require("node:stream");
+    var index_js_1 = require_internal_avro();
+    var BlobQuickQueryStream = class extends node_stream_1.Readable {
+      source;
+      avroReader;
+      avroIter;
+      avroPaused = true;
+      onProgress;
+      onError;
+      /**
+       * Creates an instance of BlobQuickQueryStream.
+       *
+       * @param source - The current ReadableStream returned from getter
+       * @param options -
+       */
+      constructor(source, options = {}) {
+        super();
+        this.source = source;
+        this.onProgress = options.onProgress;
+        this.onError = options.onError;
+        this.avroReader = new index_js_1.AvroReader(new index_js_1.AvroReadableFromStream(this.source));
+        this.avroIter = this.avroReader.parseObjects({ abortSignal: options.abortSignal });
+      }
+      _read() {
+        if (this.avroPaused) {
+          this.readInternal().catch((err) => {
+            this.emit("error", err);
+          });
         }
       }
-    };
-    exports2.ContainerRestoreExceptionHeaders = {
-      serializedName: "Container_restoreExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerRestoreExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      async readInternal() {
+        this.avroPaused = false;
+        let avroNext;
+        do {
+          avroNext = await this.avroIter.next();
+          if (avroNext.done) {
+            break;
+          }
+          const obj = avroNext.value;
+          const schema2 = obj.$schema;
+          if (typeof schema2 !== "string") {
+            throw Error("Missing schema in avro record.");
+          }
+          switch (schema2) {
+            case "com.microsoft.azure.storage.queryBlobContents.resultData":
+              {
+                const data = obj.data;
+                if (data instanceof Uint8Array === false) {
+                  throw Error("Invalid data in avro result record.");
+                }
+                if (!this.push(Buffer.from(data))) {
+                  this.avroPaused = true;
+                }
+              }
+              break;
+            case "com.microsoft.azure.storage.queryBlobContents.progress":
+              {
+                const bytesScanned = obj.bytesScanned;
+                if (typeof bytesScanned !== "number") {
+                  throw Error("Invalid bytesScanned in avro progress record.");
+                }
+                if (this.onProgress) {
+                  this.onProgress({ loadedBytes: bytesScanned });
+                }
+              }
+              break;
+            case "com.microsoft.azure.storage.queryBlobContents.end":
+              if (this.onProgress) {
+                const totalBytes = obj.totalBytes;
+                if (typeof totalBytes !== "number") {
+                  throw Error("Invalid totalBytes in avro end record.");
+                }
+                this.onProgress({ loadedBytes: totalBytes });
+              }
+              this.push(null);
+              break;
+            case "com.microsoft.azure.storage.queryBlobContents.error":
+              if (this.onError) {
+                const fatal = obj.fatal;
+                if (typeof fatal !== "boolean") {
+                  throw Error("Invalid fatal in avro error record.");
+                }
+                const name = obj.name;
+                if (typeof name !== "string") {
+                  throw Error("Invalid name in avro error record.");
+                }
+                const description = obj.description;
+                if (typeof description !== "string") {
+                  throw Error("Invalid description in avro error record.");
+                }
+                const position = obj.position;
+                if (typeof position !== "number") {
+                  throw Error("Invalid position in avro error record.");
+                }
+                this.onError({
+                  position,
+                  name,
+                  isFatal: fatal,
+                  description
+                });
+              }
+              break;
+            default:
+              throw Error(`Unknown schema ${schema2} in avro progress record.`);
+          }
+        } while (!avroNext.done && !this.avroPaused);
+      }
+    };
+    exports2.BlobQuickQueryStream = BlobQuickQueryStream;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BlobQueryResponse.js
+var require_BlobQueryResponse = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BlobQueryResponse.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobQueryResponse = void 0;
+    var core_util_1 = require_commonjs4();
+    var BlobQuickQueryStream_js_1 = require_BlobQuickQueryStream();
+    var BlobQueryResponse = class {
+      /**
+       * Indicates that the service supports
+       * requests for partial file content.
+       *
+       * @readonly
+       */
+      get acceptRanges() {
+        return this.originalResponse.acceptRanges;
+      }
+      /**
+       * Returns if it was previously specified
+       * for the file.
+       *
+       * @readonly
+       */
+      get cacheControl() {
+        return this.originalResponse.cacheControl;
+      }
+      /**
+       * Returns the value that was specified
+       * for the 'x-ms-content-disposition' header and specifies how to process the
+       * response.
+       *
+       * @readonly
+       */
+      get contentDisposition() {
+        return this.originalResponse.contentDisposition;
+      }
+      /**
+       * Returns the value that was specified
+       * for the Content-Encoding request header.
+       *
+       * @readonly
+       */
+      get contentEncoding() {
+        return this.originalResponse.contentEncoding;
+      }
+      /**
+       * Returns the value that was specified
+       * for the Content-Language request header.
+       *
+       * @readonly
+       */
+      get contentLanguage() {
+        return this.originalResponse.contentLanguage;
+      }
+      /**
+       * The current sequence number for a
+       * page blob. This header is not returned for block blobs or append blobs.
+       *
+       * @readonly
+       */
+      get blobSequenceNumber() {
+        return this.originalResponse.blobSequenceNumber;
+      }
+      /**
+       * The blob's type. Possible values include:
+       * 'BlockBlob', 'PageBlob', 'AppendBlob'.
+       *
+       * @readonly
+       */
+      get blobType() {
+        return this.originalResponse.blobType;
+      }
+      /**
+       * The number of bytes present in the
+       * response body.
+       *
+       * @readonly
+       */
+      get contentLength() {
+        return this.originalResponse.contentLength;
+      }
+      /**
+       * If the file has an MD5 hash and the
+       * request is to read the full file, this response header is returned so that
+       * the client can check for message content integrity. If the request is to
+       * read a specified range and the 'x-ms-range-get-content-md5' is set to
+       * true, then the request returns an MD5 hash for the range, as long as the
+       * range size is less than or equal to 4 MB. If neither of these sets of
+       * conditions is true, then no value is returned for the 'Content-MD5'
+       * header.
+       *
+       * @readonly
+       */
+      get contentMD5() {
+        return this.originalResponse.contentMD5;
+      }
+      /**
+       * Indicates the range of bytes returned if
+       * the client requested a subset of the file by setting the Range request
+       * header.
+       *
+       * @readonly
+       */
+      get contentRange() {
+        return this.originalResponse.contentRange;
+      }
+      /**
+       * The content type specified for the file.
+       * The default content type is 'application/octet-stream'
+       *
+       * @readonly
+       */
+      get contentType() {
+        return this.originalResponse.contentType;
+      }
+      /**
+       * Conclusion time of the last attempted
+       * Copy File operation where this file was the destination file. This value
+       * can specify the time of a completed, aborted, or failed copy attempt.
+       *
+       * @readonly
+       */
+      get copyCompletedOn() {
+        return void 0;
+      }
+      /**
+       * String identifier for the last attempted Copy
+       * File operation where this file was the destination file.
+       *
+       * @readonly
+       */
+      get copyId() {
+        return this.originalResponse.copyId;
+      }
+      /**
+       * Contains the number of bytes copied and
+       * the total bytes in the source in the last attempted Copy File operation
+       * where this file was the destination file. Can show between 0 and
+       * Content-Length bytes copied.
+       *
+       * @readonly
+       */
+      get copyProgress() {
+        return this.originalResponse.copyProgress;
+      }
+      /**
+       * URL up to 2KB in length that specifies the
+       * source file used in the last attempted Copy File operation where this file
+       * was the destination file.
+       *
+       * @readonly
+       */
+      get copySource() {
+        return this.originalResponse.copySource;
+      }
+      /**
+       * State of the copy operation
+       * identified by 'x-ms-copy-id'. Possible values include: 'pending',
+       * 'success', 'aborted', 'failed'
+       *
+       * @readonly
+       */
+      get copyStatus() {
+        return this.originalResponse.copyStatus;
+      }
+      /**
+       * Only appears when
+       * x-ms-copy-status is failed or pending. Describes cause of fatal or
+       * non-fatal copy operation failure.
+       *
+       * @readonly
+       */
+      get copyStatusDescription() {
+        return this.originalResponse.copyStatusDescription;
+      }
+      /**
+       * When a blob is leased,
+       * specifies whether the lease is of infinite or fixed duration. Possible
+       * values include: 'infinite', 'fixed'.
+       *
+       * @readonly
+       */
+      get leaseDuration() {
+        return this.originalResponse.leaseDuration;
+      }
+      /**
+       * Lease state of the blob. Possible
+       * values include: 'available', 'leased', 'expired', 'breaking', 'broken'.
+       *
+       * @readonly
+       */
+      get leaseState() {
+        return this.originalResponse.leaseState;
+      }
+      /**
+       * The current lease status of the
+       * blob. Possible values include: 'locked', 'unlocked'.
+       *
+       * @readonly
+       */
+      get leaseStatus() {
+        return this.originalResponse.leaseStatus;
+      }
+      /**
+       * A UTC date/time value generated by the service that
+       * indicates the time at which the response was initiated.
+       *
+       * @readonly
+       */
+      get date() {
+        return this.originalResponse.date;
       }
-    };
-    exports2.ContainerRenameHeaders = {
-      serializedName: "Container_renameHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerRenameHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * The number of committed blocks
+       * present in the blob. This header is returned only for append blobs.
+       *
+       * @readonly
+       */
+      get blobCommittedBlockCount() {
+        return this.originalResponse.blobCommittedBlockCount;
       }
-    };
-    exports2.ContainerRenameExceptionHeaders = {
-      serializedName: "Container_renameExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerRenameExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * The ETag contains a value that you can use to
+       * perform operations conditionally, in quotes.
+       *
+       * @readonly
+       */
+      get etag() {
+        return this.originalResponse.etag;
       }
-    };
-    exports2.ContainerSubmitBatchHeaders = {
-      serializedName: "Container_submitBatchHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerSubmitBatchHeaders",
-        modelProperties: {
-          contentType: {
-            serializedName: "content-type",
-            xmlName: "content-type",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * The error code.
+       *
+       * @readonly
+       */
+      get errorCode() {
+        return this.originalResponse.errorCode;
       }
-    };
-    exports2.ContainerSubmitBatchExceptionHeaders = {
-      serializedName: "Container_submitBatchExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerSubmitBatchExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * The value of this header is set to
+       * true if the file data and application metadata are completely encrypted
+       * using the specified algorithm. Otherwise, the value is set to false (when
+       * the file is unencrypted, or if only parts of the file/application metadata
+       * are encrypted).
+       *
+       * @readonly
+       */
+      get isServerEncrypted() {
+        return this.originalResponse.isServerEncrypted;
       }
-    };
-    exports2.ContainerFilterBlobsHeaders = {
-      serializedName: "Container_filterBlobsHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerFilterBlobsHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          }
-        }
+      /**
+       * If the blob has a MD5 hash, and if
+       * request contains range header (Range or x-ms-range), this response header
+       * is returned with the value of the whole blob's MD5 value. This value may
+       * or may not be equal to the value returned in Content-MD5 header, with the
+       * latter calculated from the requested range.
+       *
+       * @readonly
+       */
+      get blobContentMD5() {
+        return this.originalResponse.blobContentMD5;
       }
-    };
-    exports2.ContainerFilterBlobsExceptionHeaders = {
-      serializedName: "Container_filterBlobsExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerFilterBlobsExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Returns the date and time the file was last
+       * modified. Any operation that modifies the file or its properties updates
+       * the last modified time.
+       *
+       * @readonly
+       */
+      get lastModified() {
+        return this.originalResponse.lastModified;
       }
-    };
-    exports2.ContainerAcquireLeaseHeaders = {
-      serializedName: "Container_acquireLeaseHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerAcquireLeaseHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          leaseId: {
-            serializedName: "x-ms-lease-id",
-            xmlName: "x-ms-lease-id",
-            type: {
-              name: "String"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          }
-        }
+      /**
+       * A name-value pair
+       * to associate with a file storage object.
+       *
+       * @readonly
+       */
+      get metadata() {
+        return this.originalResponse.metadata;
       }
-    };
-    exports2.ContainerAcquireLeaseExceptionHeaders = {
-      serializedName: "Container_acquireLeaseExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerAcquireLeaseExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * This header uniquely identifies the request
+       * that was made and can be used for troubleshooting the request.
+       *
+       * @readonly
+       */
+      get requestId() {
+        return this.originalResponse.requestId;
       }
-    };
-    exports2.ContainerReleaseLeaseHeaders = {
-      serializedName: "Container_releaseLeaseHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerReleaseLeaseHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          }
-        }
+      /**
+       * If a client request id header is sent in the request, this header will be present in the
+       * response with the same value.
+       *
+       * @readonly
+       */
+      get clientRequestId() {
+        return this.originalResponse.clientRequestId;
       }
-    };
-    exports2.ContainerReleaseLeaseExceptionHeaders = {
-      serializedName: "Container_releaseLeaseExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerReleaseLeaseExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Indicates the version of the File service used
+       * to execute the request.
+       *
+       * @readonly
+       */
+      get version() {
+        return this.originalResponse.version;
       }
-    };
-    exports2.ContainerRenewLeaseHeaders = {
-      serializedName: "Container_renewLeaseHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerRenewLeaseHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          leaseId: {
-            serializedName: "x-ms-lease-id",
-            xmlName: "x-ms-lease-id",
-            type: {
-              name: "String"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          }
-        }
+      /**
+       * The SHA-256 hash of the encryption key used to encrypt the blob. This value is only returned
+       * when the blob was encrypted with a customer-provided key.
+       *
+       * @readonly
+       */
+      get encryptionKeySha256() {
+        return this.originalResponse.encryptionKeySha256;
+      }
+      /**
+       * If the request is to read a specified range and the x-ms-range-get-content-crc64 is set to
+       * true, then the request returns a crc64 for the range, as long as the range size is less than
+       * or equal to 4 MB. If both x-ms-range-get-content-crc64 & x-ms-range-get-content-md5 is
+       * specified in the same request, it will fail with 400(Bad Request)
+       */
+      get contentCrc64() {
+        return this.originalResponse.contentCrc64;
+      }
+      /**
+       * The response body as a browser Blob.
+       * Always undefined in node.js.
+       *
+       * @readonly
+       */
+      get blobBody() {
+        return void 0;
+      }
+      /**
+       * The response body as a node.js Readable stream.
+       * Always undefined in the browser.
+       *
+       * It will parse avor data returned by blob query.
+       *
+       * @readonly
+       */
+      get readableStreamBody() {
+        return core_util_1.isNodeLike ? this.blobDownloadStream : void 0;
+      }
+      /**
+       * The HTTP response.
+       */
+      get _response() {
+        return this.originalResponse._response;
+      }
+      originalResponse;
+      blobDownloadStream;
+      /**
+       * Creates an instance of BlobQueryResponse.
+       *
+       * @param originalResponse -
+       * @param options -
+       */
+      constructor(originalResponse, options = {}) {
+        this.originalResponse = originalResponse;
+        this.blobDownloadStream = new BlobQuickQueryStream_js_1.BlobQuickQueryStream(this.originalResponse.readableStreamBody, options);
       }
     };
-    exports2.ContainerRenewLeaseExceptionHeaders = {
-      serializedName: "Container_renewLeaseExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerRenewLeaseExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+    exports2.BlobQueryResponse = BlobQueryResponse;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/models.js
+var require_models2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/models.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageBlobAudience = exports2.PremiumPageBlobTier = exports2.BlockBlobTier = void 0;
+    exports2.toAccessTier = toAccessTier;
+    exports2.ensureCpkIfSpecified = ensureCpkIfSpecified;
+    exports2.getBlobServiceAccountAudience = getBlobServiceAccountAudience;
+    var constants_js_1 = require_constants15();
+    var BlockBlobTier;
+    (function(BlockBlobTier2) {
+      BlockBlobTier2["Hot"] = "Hot";
+      BlockBlobTier2["Cool"] = "Cool";
+      BlockBlobTier2["Cold"] = "Cold";
+      BlockBlobTier2["Archive"] = "Archive";
+    })(BlockBlobTier || (exports2.BlockBlobTier = BlockBlobTier = {}));
+    var PremiumPageBlobTier;
+    (function(PremiumPageBlobTier2) {
+      PremiumPageBlobTier2["P4"] = "P4";
+      PremiumPageBlobTier2["P6"] = "P6";
+      PremiumPageBlobTier2["P10"] = "P10";
+      PremiumPageBlobTier2["P15"] = "P15";
+      PremiumPageBlobTier2["P20"] = "P20";
+      PremiumPageBlobTier2["P30"] = "P30";
+      PremiumPageBlobTier2["P40"] = "P40";
+      PremiumPageBlobTier2["P50"] = "P50";
+      PremiumPageBlobTier2["P60"] = "P60";
+      PremiumPageBlobTier2["P70"] = "P70";
+      PremiumPageBlobTier2["P80"] = "P80";
+    })(PremiumPageBlobTier || (exports2.PremiumPageBlobTier = PremiumPageBlobTier = {}));
+    function toAccessTier(tier) {
+      if (tier === void 0) {
+        return void 0;
       }
-    };
-    exports2.ContainerBreakLeaseHeaders = {
-      serializedName: "Container_breakLeaseHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerBreakLeaseHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          leaseTime: {
-            serializedName: "x-ms-lease-time",
-            xmlName: "x-ms-lease-time",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          }
-        }
+      return tier;
+    }
+    function ensureCpkIfSpecified(cpk, isHttps) {
+      if (cpk && !isHttps) {
+        throw new RangeError("Customer-provided encryption key must be used over HTTPS.");
       }
-    };
-    exports2.ContainerBreakLeaseExceptionHeaders = {
-      serializedName: "Container_breakLeaseExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerBreakLeaseExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      if (cpk && !cpk.encryptionAlgorithm) {
+        cpk.encryptionAlgorithm = constants_js_1.EncryptionAlgorithmAES25;
       }
-    };
-    exports2.ContainerChangeLeaseHeaders = {
-      serializedName: "Container_changeLeaseHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerChangeLeaseHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          leaseId: {
-            serializedName: "x-ms-lease-id",
-            xmlName: "x-ms-lease-id",
-            type: {
-              name: "String"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
+    }
+    var StorageBlobAudience;
+    (function(StorageBlobAudience2) {
+      StorageBlobAudience2["StorageOAuthScopes"] = "https://storage.azure.com/.default";
+      StorageBlobAudience2["DiskComputeOAuthScopes"] = "https://disk.compute.azure.com/.default";
+    })(StorageBlobAudience || (exports2.StorageBlobAudience = StorageBlobAudience = {}));
+    function getBlobServiceAccountAudience(storageAccountName) {
+      return `https://${storageAccountName}.blob.core.windows.net/.default`;
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/PageBlobRangeResponse.js
+var require_PageBlobRangeResponse = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/PageBlobRangeResponse.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.rangeResponseFromModel = rangeResponseFromModel;
+    function rangeResponseFromModel(response) {
+      const pageRange = (response._response.parsedBody.pageRange || []).map((x) => ({
+        offset: x.start,
+        count: x.end - x.start
+      }));
+      const clearRange = (response._response.parsedBody.clearRange || []).map((x) => ({
+        offset: x.start,
+        count: x.end - x.start
+      }));
+      return {
+        ...response,
+        pageRange,
+        clearRange,
+        _response: {
+          ...response._response,
+          parsedBody: {
+            pageRange,
+            clearRange
           }
         }
+      };
+    }
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/logger.js
+var require_logger2 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/logger.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.logger = void 0;
+    var logger_1 = require_commonjs2();
+    exports2.logger = (0, logger_1.createClientLogger)("core-lro");
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/poller/constants.js
+var require_constants17 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/poller/constants.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.terminalStates = exports2.POLL_INTERVAL_IN_MS = void 0;
+    exports2.POLL_INTERVAL_IN_MS = 2e3;
+    exports2.terminalStates = ["succeeded", "canceled", "failed"];
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/poller/operation.js
+var require_operation = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/poller/operation.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.pollOperation = exports2.initOperation = exports2.deserializeState = void 0;
+    var logger_js_1 = require_logger2();
+    var constants_js_1 = require_constants17();
+    function deserializeState(serializedState) {
+      try {
+        return JSON.parse(serializedState).state;
+      } catch (e) {
+        throw new Error(`Unable to deserialize input state: ${serializedState}`);
       }
-    };
-    exports2.ContainerChangeLeaseExceptionHeaders = {
-      serializedName: "Container_changeLeaseExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerChangeLeaseExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+    }
+    exports2.deserializeState = deserializeState;
+    function setStateError(inputs) {
+      const { state, stateProxy, isOperationError } = inputs;
+      return (error3) => {
+        if (isOperationError(error3)) {
+          stateProxy.setError(state, error3);
+          stateProxy.setFailed(state);
         }
+        throw error3;
+      };
+    }
+    function appendReadableErrorMessage(currentMessage, innerMessage) {
+      let message = currentMessage;
+      if (message.slice(-1) !== ".") {
+        message = message + ".";
       }
-    };
-    exports2.ContainerListBlobFlatSegmentHeaders = {
-      serializedName: "Container_listBlobFlatSegmentHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerListBlobFlatSegmentHeaders",
-        modelProperties: {
-          contentType: {
-            serializedName: "content-type",
-            xmlName: "content-type",
-            type: {
-              name: "String"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      return message + " " + innerMessage;
+    }
+    function simplifyError(err) {
+      let message = err.message;
+      let code = err.code;
+      let curErr = err;
+      while (curErr.innererror) {
+        curErr = curErr.innererror;
+        code = curErr.code;
+        message = appendReadableErrorMessage(message, curErr.message);
+      }
+      return {
+        code,
+        message
+      };
+    }
+    function processOperationStatus(result) {
+      const { state, stateProxy, status, isDone, processResult, getError, response, setErrorAsResult } = result;
+      switch (status) {
+        case "succeeded": {
+          stateProxy.setSucceeded(state);
+          break;
+        }
+        case "failed": {
+          const err = getError === null || getError === void 0 ? void 0 : getError(response);
+          let postfix = "";
+          if (err) {
+            const { code, message } = simplifyError(err);
+            postfix = `. ${code}. ${message}`;
           }
+          const errStr = `The long-running operation has failed${postfix}`;
+          stateProxy.setError(state, new Error(errStr));
+          stateProxy.setFailed(state);
+          logger_js_1.logger.warning(errStr);
+          break;
+        }
+        case "canceled": {
+          stateProxy.setCanceled(state);
+          break;
         }
       }
-    };
-    exports2.ContainerListBlobFlatSegmentExceptionHeaders = {
-      serializedName: "Container_listBlobFlatSegmentExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerListBlobFlatSegmentExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      if ((isDone === null || isDone === void 0 ? void 0 : isDone(response, state)) || isDone === void 0 && ["succeeded", "canceled"].concat(setErrorAsResult ? [] : ["failed"]).includes(status)) {
+        stateProxy.setResult(state, buildResult({
+          response,
+          state,
+          processResult
+        }));
+      }
+    }
+    function buildResult(inputs) {
+      const { processResult, response, state } = inputs;
+      return processResult ? processResult(response, state) : response;
+    }
+    async function initOperation(inputs) {
+      const { init, stateProxy, processResult, getOperationStatus, withOperationLocation, setErrorAsResult } = inputs;
+      const { operationLocation, resourceLocation, metadata, response } = await init();
+      if (operationLocation)
+        withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(operationLocation, false);
+      const config = {
+        metadata,
+        operationLocation,
+        resourceLocation
+      };
+      logger_js_1.logger.verbose(`LRO: Operation description:`, config);
+      const state = stateProxy.initState(config);
+      const status = getOperationStatus({ response, state, operationLocation });
+      processOperationStatus({ state, status, stateProxy, response, setErrorAsResult, processResult });
+      return state;
+    }
+    exports2.initOperation = initOperation;
+    async function pollOperationHelper(inputs) {
+      const { poll, state, stateProxy, operationLocation, getOperationStatus, getResourceLocation, isOperationError, options } = inputs;
+      const response = await poll(operationLocation, options).catch(setStateError({
+        state,
+        stateProxy,
+        isOperationError
+      }));
+      const status = getOperationStatus(response, state);
+      logger_js_1.logger.verbose(`LRO: Status:
+	Polling from: ${state.config.operationLocation}
+	Operation status: ${status}
+	Polling status: ${constants_js_1.terminalStates.includes(status) ? "Stopped" : "Running"}`);
+      if (status === "succeeded") {
+        const resourceLocation = getResourceLocation(response, state);
+        if (resourceLocation !== void 0) {
+          return {
+            response: await poll(resourceLocation).catch(setStateError({ state, stateProxy, isOperationError })),
+            status
+          };
         }
       }
-    };
-    exports2.ContainerListBlobHierarchySegmentHeaders = {
-      serializedName: "Container_listBlobHierarchySegmentHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerListBlobHierarchySegmentHeaders",
-        modelProperties: {
-          contentType: {
-            serializedName: "content-type",
-            xmlName: "content-type",
-            type: {
-              name: "String"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      return { response, status };
+    }
+    async function pollOperation(inputs) {
+      const { poll, state, stateProxy, options, getOperationStatus, getResourceLocation, getOperationLocation, isOperationError, withOperationLocation, getPollingInterval, processResult, getError, updateState, setDelay, isDone, setErrorAsResult } = inputs;
+      const { operationLocation } = state.config;
+      if (operationLocation !== void 0) {
+        const { response, status } = await pollOperationHelper({
+          poll,
+          getOperationStatus,
+          state,
+          stateProxy,
+          operationLocation,
+          getResourceLocation,
+          isOperationError,
+          options
+        });
+        processOperationStatus({
+          status,
+          response,
+          state,
+          stateProxy,
+          isDone,
+          processResult,
+          getError,
+          setErrorAsResult
+        });
+        if (!constants_js_1.terminalStates.includes(status)) {
+          const intervalInMs = getPollingInterval === null || getPollingInterval === void 0 ? void 0 : getPollingInterval(response);
+          if (intervalInMs)
+            setDelay(intervalInMs);
+          const location = getOperationLocation === null || getOperationLocation === void 0 ? void 0 : getOperationLocation(response, state);
+          if (location !== void 0) {
+            const isUpdated = operationLocation !== location;
+            state.config.operationLocation = location;
+            withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(location, isUpdated);
+          } else
+            withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(operationLocation, false);
         }
+        updateState === null || updateState === void 0 ? void 0 : updateState(state, response);
       }
-    };
-    exports2.ContainerListBlobHierarchySegmentExceptionHeaders = {
-      serializedName: "Container_listBlobHierarchySegmentExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerListBlobHierarchySegmentExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+    }
+    exports2.pollOperation = pollOperation;
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/http/operation.js
+var require_operation2 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/http/operation.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.pollHttpOperation = exports2.isOperationError = exports2.getResourceLocation = exports2.getOperationStatus = exports2.getOperationLocation = exports2.initHttpOperation = exports2.getStatusFromInitialResponse = exports2.getErrorFromResponse = exports2.parseRetryAfter = exports2.inferLroMode = void 0;
+    var operation_js_1 = require_operation();
+    var logger_js_1 = require_logger2();
+    function getOperationLocationPollingUrl(inputs) {
+      const { azureAsyncOperation, operationLocation } = inputs;
+      return operationLocation !== null && operationLocation !== void 0 ? operationLocation : azureAsyncOperation;
+    }
+    function getLocationHeader(rawResponse) {
+      return rawResponse.headers["location"];
+    }
+    function getOperationLocationHeader(rawResponse) {
+      return rawResponse.headers["operation-location"];
+    }
+    function getAzureAsyncOperationHeader(rawResponse) {
+      return rawResponse.headers["azure-asyncoperation"];
+    }
+    function findResourceLocation(inputs) {
+      var _a;
+      const { location, requestMethod, requestPath, resourceLocationConfig } = inputs;
+      switch (requestMethod) {
+        case "PUT": {
+          return requestPath;
         }
-      }
-    };
-    exports2.ContainerGetAccountInfoHeaders = {
-      serializedName: "Container_getAccountInfoHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerGetAccountInfoHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          skuName: {
-            serializedName: "x-ms-sku-name",
-            xmlName: "x-ms-sku-name",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "Standard_LRS",
-                "Standard_GRS",
-                "Standard_RAGRS",
-                "Standard_ZRS",
-                "Premium_LRS"
-              ]
-            }
-          },
-          accountKind: {
-            serializedName: "x-ms-account-kind",
-            xmlName: "x-ms-account-kind",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "Storage",
-                "BlobStorage",
-                "StorageV2",
-                "FileStorage",
-                "BlockBlobStorage"
-              ]
-            }
-          },
-          isHierarchicalNamespaceEnabled: {
-            serializedName: "x-ms-is-hns-enabled",
-            xmlName: "x-ms-is-hns-enabled",
-            type: {
-              name: "Boolean"
-            }
-          }
+        case "DELETE": {
+          return void 0;
+        }
+        case "PATCH": {
+          return (_a = getDefault()) !== null && _a !== void 0 ? _a : requestPath;
+        }
+        default: {
+          return getDefault();
         }
       }
-    };
-    exports2.ContainerGetAccountInfoExceptionHeaders = {
-      serializedName: "Container_getAccountInfoExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerGetAccountInfoExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      function getDefault() {
+        switch (resourceLocationConfig) {
+          case "azure-async-operation": {
+            return void 0;
+          }
+          case "original-uri": {
+            return requestPath;
+          }
+          case "location":
+          default: {
+            return location;
           }
         }
       }
-    };
-    exports2.BlobDownloadHeaders = {
-      serializedName: "Blob_downloadHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobDownloadHeaders",
-        modelProperties: {
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          createdOn: {
-            serializedName: "x-ms-creation-time",
-            xmlName: "x-ms-creation-time",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          metadata: {
-            serializedName: "x-ms-meta",
-            headerCollectionPrefix: "x-ms-meta-",
-            xmlName: "x-ms-meta",
-            type: {
-              name: "Dictionary",
-              value: { type: { name: "String" } }
-            }
-          },
-          objectReplicationPolicyId: {
-            serializedName: "x-ms-or-policy-id",
-            xmlName: "x-ms-or-policy-id",
-            type: {
-              name: "String"
-            }
-          },
-          objectReplicationRules: {
-            serializedName: "x-ms-or",
-            headerCollectionPrefix: "x-ms-or-",
-            xmlName: "x-ms-or",
-            type: {
-              name: "Dictionary",
-              value: { type: { name: "String" } }
-            }
-          },
-          contentLength: {
-            serializedName: "content-length",
-            xmlName: "content-length",
-            type: {
-              name: "Number"
-            }
-          },
-          contentType: {
-            serializedName: "content-type",
-            xmlName: "content-type",
-            type: {
-              name: "String"
-            }
-          },
-          contentRange: {
-            serializedName: "content-range",
-            xmlName: "content-range",
-            type: {
-              name: "String"
-            }
-          },
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          contentEncoding: {
-            serializedName: "content-encoding",
-            xmlName: "content-encoding",
-            type: {
-              name: "String"
-            }
-          },
-          cacheControl: {
-            serializedName: "cache-control",
-            xmlName: "cache-control",
-            type: {
-              name: "String"
-            }
-          },
-          contentDisposition: {
-            serializedName: "content-disposition",
-            xmlName: "content-disposition",
-            type: {
-              name: "String"
-            }
-          },
-          contentLanguage: {
-            serializedName: "content-language",
-            xmlName: "content-language",
-            type: {
-              name: "String"
-            }
-          },
-          blobSequenceNumber: {
-            serializedName: "x-ms-blob-sequence-number",
-            xmlName: "x-ms-blob-sequence-number",
-            type: {
-              name: "Number"
-            }
-          },
-          blobType: {
-            serializedName: "x-ms-blob-type",
-            xmlName: "x-ms-blob-type",
-            type: {
-              name: "Enum",
-              allowedValues: ["BlockBlob", "PageBlob", "AppendBlob"]
-            }
-          },
-          copyCompletedOn: {
-            serializedName: "x-ms-copy-completion-time",
-            xmlName: "x-ms-copy-completion-time",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          copyStatusDescription: {
-            serializedName: "x-ms-copy-status-description",
-            xmlName: "x-ms-copy-status-description",
-            type: {
-              name: "String"
-            }
-          },
-          copyId: {
-            serializedName: "x-ms-copy-id",
-            xmlName: "x-ms-copy-id",
-            type: {
-              name: "String"
-            }
-          },
-          copyProgress: {
-            serializedName: "x-ms-copy-progress",
-            xmlName: "x-ms-copy-progress",
-            type: {
-              name: "String"
-            }
-          },
-          copySource: {
-            serializedName: "x-ms-copy-source",
-            xmlName: "x-ms-copy-source",
-            type: {
-              name: "String"
-            }
-          },
-          copyStatus: {
-            serializedName: "x-ms-copy-status",
-            xmlName: "x-ms-copy-status",
-            type: {
-              name: "Enum",
-              allowedValues: ["pending", "success", "aborted", "failed"]
-            }
-          },
-          leaseDuration: {
-            serializedName: "x-ms-lease-duration",
-            xmlName: "x-ms-lease-duration",
-            type: {
-              name: "Enum",
-              allowedValues: ["infinite", "fixed"]
-            }
-          },
-          leaseState: {
-            serializedName: "x-ms-lease-state",
-            xmlName: "x-ms-lease-state",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "available",
-                "leased",
-                "expired",
-                "breaking",
-                "broken"
-              ]
-            }
-          },
-          leaseStatus: {
-            serializedName: "x-ms-lease-status",
-            xmlName: "x-ms-lease-status",
-            type: {
-              name: "Enum",
-              allowedValues: ["locked", "unlocked"]
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          isCurrentVersion: {
-            serializedName: "x-ms-is-current-version",
-            xmlName: "x-ms-is-current-version",
-            type: {
-              name: "Boolean"
-            }
-          },
-          acceptRanges: {
-            serializedName: "accept-ranges",
-            xmlName: "accept-ranges",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          blobCommittedBlockCount: {
-            serializedName: "x-ms-blob-committed-block-count",
-            xmlName: "x-ms-blob-committed-block-count",
-            type: {
-              name: "Number"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-server-encrypted",
-            xmlName: "x-ms-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          blobContentMD5: {
-            serializedName: "x-ms-blob-content-md5",
-            xmlName: "x-ms-blob-content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          tagCount: {
-            serializedName: "x-ms-tag-count",
-            xmlName: "x-ms-tag-count",
-            type: {
-              name: "Number"
-            }
-          },
-          isSealed: {
-            serializedName: "x-ms-blob-sealed",
-            xmlName: "x-ms-blob-sealed",
-            type: {
-              name: "Boolean"
-            }
-          },
-          lastAccessed: {
-            serializedName: "x-ms-last-access-time",
-            xmlName: "x-ms-last-access-time",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          immutabilityPolicyExpiresOn: {
-            serializedName: "x-ms-immutability-policy-until-date",
-            xmlName: "x-ms-immutability-policy-until-date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          immutabilityPolicyMode: {
-            serializedName: "x-ms-immutability-policy-mode",
-            xmlName: "x-ms-immutability-policy-mode",
-            type: {
-              name: "Enum",
-              allowedValues: ["Mutable", "Unlocked", "Locked"]
-            }
-          },
-          legalHold: {
-            serializedName: "x-ms-legal-hold",
-            xmlName: "x-ms-legal-hold",
-            type: {
-              name: "Boolean"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          contentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
-          }
+    }
+    function inferLroMode(inputs) {
+      const { rawResponse, requestMethod, requestPath, resourceLocationConfig } = inputs;
+      const operationLocation = getOperationLocationHeader(rawResponse);
+      const azureAsyncOperation = getAzureAsyncOperationHeader(rawResponse);
+      const pollingUrl = getOperationLocationPollingUrl({ operationLocation, azureAsyncOperation });
+      const location = getLocationHeader(rawResponse);
+      const normalizedRequestMethod = requestMethod === null || requestMethod === void 0 ? void 0 : requestMethod.toLocaleUpperCase();
+      if (pollingUrl !== void 0) {
+        return {
+          mode: "OperationLocation",
+          operationLocation: pollingUrl,
+          resourceLocation: findResourceLocation({
+            requestMethod: normalizedRequestMethod,
+            location,
+            requestPath,
+            resourceLocationConfig
+          })
+        };
+      } else if (location !== void 0) {
+        return {
+          mode: "ResourceLocation",
+          operationLocation: location
+        };
+      } else if (normalizedRequestMethod === "PUT" && requestPath) {
+        return {
+          mode: "Body",
+          operationLocation: requestPath
+        };
+      } else {
+        return void 0;
+      }
+    }
+    exports2.inferLroMode = inferLroMode;
+    function transformStatus(inputs) {
+      const { status, statusCode } = inputs;
+      if (typeof status !== "string" && status !== void 0) {
+        throw new Error(`Polling was unsuccessful. Expected status to have a string value or no value but it has instead: ${status}. This doesn't necessarily indicate the operation has failed. Check your Azure subscription or resource status for more information.`);
+      }
+      switch (status === null || status === void 0 ? void 0 : status.toLocaleLowerCase()) {
+        case void 0:
+          return toOperationStatus(statusCode);
+        case "succeeded":
+          return "succeeded";
+        case "failed":
+          return "failed";
+        case "running":
+        case "accepted":
+        case "started":
+        case "canceling":
+        case "cancelling":
+          return "running";
+        case "canceled":
+        case "cancelled":
+          return "canceled";
+        default: {
+          logger_js_1.logger.verbose(`LRO: unrecognized operation status: ${status}`);
+          return status;
         }
       }
-    };
-    exports2.BlobDownloadExceptionHeaders = {
-      serializedName: "Blob_downloadExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobDownloadExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+    }
+    function getStatus(rawResponse) {
+      var _a;
+      const { status } = (_a = rawResponse.body) !== null && _a !== void 0 ? _a : {};
+      return transformStatus({ status, statusCode: rawResponse.statusCode });
+    }
+    function getProvisioningState(rawResponse) {
+      var _a, _b;
+      const { properties, provisioningState } = (_a = rawResponse.body) !== null && _a !== void 0 ? _a : {};
+      const status = (_b = properties === null || properties === void 0 ? void 0 : properties.provisioningState) !== null && _b !== void 0 ? _b : provisioningState;
+      return transformStatus({ status, statusCode: rawResponse.statusCode });
+    }
+    function toOperationStatus(statusCode) {
+      if (statusCode === 202) {
+        return "running";
+      } else if (statusCode < 300) {
+        return "succeeded";
+      } else {
+        return "failed";
+      }
+    }
+    function parseRetryAfter({ rawResponse }) {
+      const retryAfter = rawResponse.headers["retry-after"];
+      if (retryAfter !== void 0) {
+        const retryAfterInSeconds = parseInt(retryAfter);
+        return isNaN(retryAfterInSeconds) ? calculatePollingIntervalFromDate(new Date(retryAfter)) : retryAfterInSeconds * 1e3;
+      }
+      return void 0;
+    }
+    exports2.parseRetryAfter = parseRetryAfter;
+    function getErrorFromResponse(response) {
+      const error3 = accessBodyProperty(response, "error");
+      if (!error3) {
+        logger_js_1.logger.warning(`The long-running operation failed but there is no error property in the response's body`);
+        return;
+      }
+      if (!error3.code || !error3.message) {
+        logger_js_1.logger.warning(`The long-running operation failed but the error property in the response's body doesn't contain code or message`);
+        return;
+      }
+      return error3;
+    }
+    exports2.getErrorFromResponse = getErrorFromResponse;
+    function calculatePollingIntervalFromDate(retryAfterDate) {
+      const timeNow = Math.floor((/* @__PURE__ */ new Date()).getTime());
+      const retryAfterTime = retryAfterDate.getTime();
+      if (timeNow < retryAfterTime) {
+        return retryAfterTime - timeNow;
+      }
+      return void 0;
+    }
+    function getStatusFromInitialResponse(inputs) {
+      const { response, state, operationLocation } = inputs;
+      function helper() {
+        var _a;
+        const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"];
+        switch (mode) {
+          case void 0:
+            return toOperationStatus(response.rawResponse.statusCode);
+          case "Body":
+            return getOperationStatus(response, state);
+          default:
+            return "running";
         }
       }
-    };
-    exports2.BlobGetPropertiesHeaders = {
-      serializedName: "Blob_getPropertiesHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobGetPropertiesHeaders",
-        modelProperties: {
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          createdOn: {
-            serializedName: "x-ms-creation-time",
-            xmlName: "x-ms-creation-time",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          metadata: {
-            serializedName: "x-ms-meta",
-            headerCollectionPrefix: "x-ms-meta-",
-            xmlName: "x-ms-meta",
-            type: {
-              name: "Dictionary",
-              value: { type: { name: "String" } }
-            }
-          },
-          objectReplicationPolicyId: {
-            serializedName: "x-ms-or-policy-id",
-            xmlName: "x-ms-or-policy-id",
-            type: {
-              name: "String"
-            }
-          },
-          objectReplicationRules: {
-            serializedName: "x-ms-or",
-            headerCollectionPrefix: "x-ms-or-",
-            xmlName: "x-ms-or",
-            type: {
-              name: "Dictionary",
-              value: { type: { name: "String" } }
-            }
-          },
-          blobType: {
-            serializedName: "x-ms-blob-type",
-            xmlName: "x-ms-blob-type",
-            type: {
-              name: "Enum",
-              allowedValues: ["BlockBlob", "PageBlob", "AppendBlob"]
-            }
-          },
-          copyCompletedOn: {
-            serializedName: "x-ms-copy-completion-time",
-            xmlName: "x-ms-copy-completion-time",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          copyStatusDescription: {
-            serializedName: "x-ms-copy-status-description",
-            xmlName: "x-ms-copy-status-description",
-            type: {
-              name: "String"
-            }
-          },
-          copyId: {
-            serializedName: "x-ms-copy-id",
-            xmlName: "x-ms-copy-id",
-            type: {
-              name: "String"
-            }
-          },
-          copyProgress: {
-            serializedName: "x-ms-copy-progress",
-            xmlName: "x-ms-copy-progress",
-            type: {
-              name: "String"
-            }
-          },
-          copySource: {
-            serializedName: "x-ms-copy-source",
-            xmlName: "x-ms-copy-source",
-            type: {
-              name: "String"
-            }
-          },
-          copyStatus: {
-            serializedName: "x-ms-copy-status",
-            xmlName: "x-ms-copy-status",
-            type: {
-              name: "Enum",
-              allowedValues: ["pending", "success", "aborted", "failed"]
-            }
-          },
-          isIncrementalCopy: {
-            serializedName: "x-ms-incremental-copy",
-            xmlName: "x-ms-incremental-copy",
-            type: {
-              name: "Boolean"
-            }
-          },
-          destinationSnapshot: {
-            serializedName: "x-ms-copy-destination-snapshot",
-            xmlName: "x-ms-copy-destination-snapshot",
-            type: {
-              name: "String"
-            }
-          },
-          leaseDuration: {
-            serializedName: "x-ms-lease-duration",
-            xmlName: "x-ms-lease-duration",
-            type: {
-              name: "Enum",
-              allowedValues: ["infinite", "fixed"]
-            }
-          },
-          leaseState: {
-            serializedName: "x-ms-lease-state",
-            xmlName: "x-ms-lease-state",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "available",
-                "leased",
-                "expired",
-                "breaking",
-                "broken"
-              ]
-            }
-          },
-          leaseStatus: {
-            serializedName: "x-ms-lease-status",
-            xmlName: "x-ms-lease-status",
-            type: {
-              name: "Enum",
-              allowedValues: ["locked", "unlocked"]
-            }
-          },
-          contentLength: {
-            serializedName: "content-length",
-            xmlName: "content-length",
-            type: {
-              name: "Number"
-            }
-          },
-          contentType: {
-            serializedName: "content-type",
-            xmlName: "content-type",
-            type: {
-              name: "String"
-            }
-          },
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          contentEncoding: {
-            serializedName: "content-encoding",
-            xmlName: "content-encoding",
-            type: {
-              name: "String"
-            }
-          },
-          contentDisposition: {
-            serializedName: "content-disposition",
-            xmlName: "content-disposition",
-            type: {
-              name: "String"
-            }
-          },
-          contentLanguage: {
-            serializedName: "content-language",
-            xmlName: "content-language",
-            type: {
-              name: "String"
-            }
-          },
-          cacheControl: {
-            serializedName: "cache-control",
-            xmlName: "cache-control",
-            type: {
-              name: "String"
-            }
-          },
-          blobSequenceNumber: {
-            serializedName: "x-ms-blob-sequence-number",
-            xmlName: "x-ms-blob-sequence-number",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          acceptRanges: {
-            serializedName: "accept-ranges",
-            xmlName: "accept-ranges",
-            type: {
-              name: "String"
-            }
-          },
-          blobCommittedBlockCount: {
-            serializedName: "x-ms-blob-committed-block-count",
-            xmlName: "x-ms-blob-committed-block-count",
-            type: {
-              name: "Number"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-server-encrypted",
-            xmlName: "x-ms-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          accessTier: {
-            serializedName: "x-ms-access-tier",
-            xmlName: "x-ms-access-tier",
-            type: {
-              name: "String"
-            }
-          },
-          accessTierInferred: {
-            serializedName: "x-ms-access-tier-inferred",
-            xmlName: "x-ms-access-tier-inferred",
-            type: {
-              name: "Boolean"
-            }
-          },
-          archiveStatus: {
-            serializedName: "x-ms-archive-status",
-            xmlName: "x-ms-archive-status",
-            type: {
-              name: "String"
-            }
-          },
-          accessTierChangedOn: {
-            serializedName: "x-ms-access-tier-change-time",
-            xmlName: "x-ms-access-tier-change-time",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          isCurrentVersion: {
-            serializedName: "x-ms-is-current-version",
-            xmlName: "x-ms-is-current-version",
-            type: {
-              name: "Boolean"
-            }
-          },
-          tagCount: {
-            serializedName: "x-ms-tag-count",
-            xmlName: "x-ms-tag-count",
-            type: {
-              name: "Number"
-            }
-          },
-          expiresOn: {
-            serializedName: "x-ms-expiry-time",
-            xmlName: "x-ms-expiry-time",
-            type: {
-              name: "DateTimeRfc1123"
-            }
+      const status = helper();
+      return status === "running" && operationLocation === void 0 ? "succeeded" : status;
+    }
+    exports2.getStatusFromInitialResponse = getStatusFromInitialResponse;
+    async function initHttpOperation(inputs) {
+      const { stateProxy, resourceLocationConfig, processResult, lro, setErrorAsResult } = inputs;
+      return (0, operation_js_1.initOperation)({
+        init: async () => {
+          const response = await lro.sendInitialRequest();
+          const config = inferLroMode({
+            rawResponse: response.rawResponse,
+            requestPath: lro.requestPath,
+            requestMethod: lro.requestMethod,
+            resourceLocationConfig
+          });
+          return Object.assign({ response, operationLocation: config === null || config === void 0 ? void 0 : config.operationLocation, resourceLocation: config === null || config === void 0 ? void 0 : config.resourceLocation }, (config === null || config === void 0 ? void 0 : config.mode) ? { metadata: { mode: config.mode } } : {});
+        },
+        stateProxy,
+        processResult: processResult ? ({ flatResponse }, state) => processResult(flatResponse, state) : ({ flatResponse }) => flatResponse,
+        getOperationStatus: getStatusFromInitialResponse,
+        setErrorAsResult
+      });
+    }
+    exports2.initHttpOperation = initHttpOperation;
+    function getOperationLocation({ rawResponse }, state) {
+      var _a;
+      const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"];
+      switch (mode) {
+        case "OperationLocation": {
+          return getOperationLocationPollingUrl({
+            operationLocation: getOperationLocationHeader(rawResponse),
+            azureAsyncOperation: getAzureAsyncOperationHeader(rawResponse)
+          });
+        }
+        case "ResourceLocation": {
+          return getLocationHeader(rawResponse);
+        }
+        case "Body":
+        default: {
+          return void 0;
+        }
+      }
+    }
+    exports2.getOperationLocation = getOperationLocation;
+    function getOperationStatus({ rawResponse }, state) {
+      var _a;
+      const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"];
+      switch (mode) {
+        case "OperationLocation": {
+          return getStatus(rawResponse);
+        }
+        case "ResourceLocation": {
+          return toOperationStatus(rawResponse.statusCode);
+        }
+        case "Body": {
+          return getProvisioningState(rawResponse);
+        }
+        default:
+          throw new Error(`Internal error: Unexpected operation mode: ${mode}`);
+      }
+    }
+    exports2.getOperationStatus = getOperationStatus;
+    function accessBodyProperty({ flatResponse, rawResponse }, prop) {
+      var _a, _b;
+      return (_a = flatResponse === null || flatResponse === void 0 ? void 0 : flatResponse[prop]) !== null && _a !== void 0 ? _a : (_b = rawResponse.body) === null || _b === void 0 ? void 0 : _b[prop];
+    }
+    function getResourceLocation(res, state) {
+      const loc = accessBodyProperty(res, "resourceLocation");
+      if (loc && typeof loc === "string") {
+        state.config.resourceLocation = loc;
+      }
+      return state.config.resourceLocation;
+    }
+    exports2.getResourceLocation = getResourceLocation;
+    function isOperationError(e) {
+      return e.name === "RestError";
+    }
+    exports2.isOperationError = isOperationError;
+    async function pollHttpOperation(inputs) {
+      const { lro, stateProxy, options, processResult, updateState, setDelay, state, setErrorAsResult } = inputs;
+      return (0, operation_js_1.pollOperation)({
+        state,
+        stateProxy,
+        setDelay,
+        processResult: processResult ? ({ flatResponse }, inputState) => processResult(flatResponse, inputState) : ({ flatResponse }) => flatResponse,
+        getError: getErrorFromResponse,
+        updateState,
+        getPollingInterval: parseRetryAfter,
+        getOperationLocation,
+        getOperationStatus,
+        isOperationError,
+        getResourceLocation,
+        options,
+        /**
+         * The expansion here is intentional because `lro` could be an object that
+         * references an inner this, so we need to preserve a reference to it.
+         */
+        poll: async (location, inputOptions) => lro.sendPollRequest(location, inputOptions),
+        setErrorAsResult
+      });
+    }
+    exports2.pollHttpOperation = pollHttpOperation;
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/poller/poller.js
+var require_poller = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/poller/poller.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.buildCreatePoller = void 0;
+    var operation_js_1 = require_operation();
+    var constants_js_1 = require_constants17();
+    var core_util_1 = require_commonjs4();
+    var createStateProxy = () => ({
+      /**
+       * The state at this point is created to be of type OperationState.
+       * It will be updated later to be of type TState when the
+       * customer-provided callback, `updateState`, is called during polling.
+       */
+      initState: (config) => ({ status: "running", config }),
+      setCanceled: (state) => state.status = "canceled",
+      setError: (state, error3) => state.error = error3,
+      setResult: (state, result) => state.result = result,
+      setRunning: (state) => state.status = "running",
+      setSucceeded: (state) => state.status = "succeeded",
+      setFailed: (state) => state.status = "failed",
+      getError: (state) => state.error,
+      getResult: (state) => state.result,
+      isCanceled: (state) => state.status === "canceled",
+      isFailed: (state) => state.status === "failed",
+      isRunning: (state) => state.status === "running",
+      isSucceeded: (state) => state.status === "succeeded"
+    });
+    function buildCreatePoller(inputs) {
+      const { getOperationLocation, getStatusFromInitialResponse, getStatusFromPollResponse, isOperationError, getResourceLocation, getPollingInterval, getError, resolveOnUnsuccessful } = inputs;
+      return async ({ init, poll }, options) => {
+        const { processResult, updateState, withOperationLocation: withOperationLocationCallback, intervalInMs = constants_js_1.POLL_INTERVAL_IN_MS, restoreFrom } = options || {};
+        const stateProxy = createStateProxy();
+        const withOperationLocation = withOperationLocationCallback ? /* @__PURE__ */ (() => {
+          let called = false;
+          return (operationLocation, isUpdated) => {
+            if (isUpdated)
+              withOperationLocationCallback(operationLocation);
+            else if (!called)
+              withOperationLocationCallback(operationLocation);
+            called = true;
+          };
+        })() : void 0;
+        const state = restoreFrom ? (0, operation_js_1.deserializeState)(restoreFrom) : await (0, operation_js_1.initOperation)({
+          init,
+          stateProxy,
+          processResult,
+          getOperationStatus: getStatusFromInitialResponse,
+          withOperationLocation,
+          setErrorAsResult: !resolveOnUnsuccessful
+        });
+        let resultPromise;
+        const abortController = new AbortController();
+        const handlers = /* @__PURE__ */ new Map();
+        const handleProgressEvents = async () => handlers.forEach((h) => h(state));
+        const cancelErrMsg = "Operation was canceled";
+        let currentPollIntervalInMs = intervalInMs;
+        const poller = {
+          getOperationState: () => state,
+          getResult: () => state.result,
+          isDone: () => ["succeeded", "failed", "canceled"].includes(state.status),
+          isStopped: () => resultPromise === void 0,
+          stopPolling: () => {
+            abortController.abort();
           },
-          isSealed: {
-            serializedName: "x-ms-blob-sealed",
-            xmlName: "x-ms-blob-sealed",
-            type: {
-              name: "Boolean"
-            }
+          toString: () => JSON.stringify({
+            state
+          }),
+          onProgress: (callback) => {
+            const s = /* @__PURE__ */ Symbol();
+            handlers.set(s, callback);
+            return () => handlers.delete(s);
           },
-          rehydratePriority: {
-            serializedName: "x-ms-rehydrate-priority",
-            xmlName: "x-ms-rehydrate-priority",
-            type: {
-              name: "Enum",
-              allowedValues: ["High", "Standard"]
+          pollUntilDone: (pollOptions) => resultPromise !== null && resultPromise !== void 0 ? resultPromise : resultPromise = (async () => {
+            const { abortSignal: inputAbortSignal } = pollOptions || {};
+            function abortListener() {
+              abortController.abort();
             }
-          },
-          lastAccessed: {
-            serializedName: "x-ms-last-access-time",
-            xmlName: "x-ms-last-access-time",
-            type: {
-              name: "DateTimeRfc1123"
+            const abortSignal = abortController.signal;
+            if (inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.aborted) {
+              abortController.abort();
+            } else if (!abortSignal.aborted) {
+              inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.addEventListener("abort", abortListener, { once: true });
             }
-          },
-          immutabilityPolicyExpiresOn: {
-            serializedName: "x-ms-immutability-policy-until-date",
-            xmlName: "x-ms-immutability-policy-until-date",
-            type: {
-              name: "DateTimeRfc1123"
+            try {
+              if (!poller.isDone()) {
+                await poller.poll({ abortSignal });
+                while (!poller.isDone()) {
+                  await (0, core_util_1.delay)(currentPollIntervalInMs, { abortSignal });
+                  await poller.poll({ abortSignal });
+                }
+              }
+            } finally {
+              inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.removeEventListener("abort", abortListener);
             }
-          },
-          immutabilityPolicyMode: {
-            serializedName: "x-ms-immutability-policy-mode",
-            xmlName: "x-ms-immutability-policy-mode",
-            type: {
-              name: "Enum",
-              allowedValues: ["Mutable", "Unlocked", "Locked"]
+            if (resolveOnUnsuccessful) {
+              return poller.getResult();
+            } else {
+              switch (state.status) {
+                case "succeeded":
+                  return poller.getResult();
+                case "canceled":
+                  throw new Error(cancelErrMsg);
+                case "failed":
+                  throw state.error;
+                case "notStarted":
+                case "running":
+                  throw new Error(`Polling completed without succeeding or failing`);
+              }
             }
-          },
-          legalHold: {
-            serializedName: "x-ms-legal-hold",
-            xmlName: "x-ms-legal-hold",
-            type: {
-              name: "Boolean"
+          })().finally(() => {
+            resultPromise = void 0;
+          }),
+          async poll(pollOptions) {
+            if (resolveOnUnsuccessful) {
+              if (poller.isDone())
+                return;
+            } else {
+              switch (state.status) {
+                case "succeeded":
+                  return;
+                case "canceled":
+                  throw new Error(cancelErrMsg);
+                case "failed":
+                  throw state.error;
+              }
             }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+            await (0, operation_js_1.pollOperation)({
+              poll,
+              state,
+              stateProxy,
+              getOperationLocation,
+              isOperationError,
+              withOperationLocation,
+              getPollingInterval,
+              getOperationStatus: getStatusFromPollResponse,
+              getResourceLocation,
+              processResult,
+              getError,
+              updateState,
+              options: pollOptions,
+              setDelay: (pollIntervalInMs) => {
+                currentPollIntervalInMs = pollIntervalInMs;
+              },
+              setErrorAsResult: !resolveOnUnsuccessful
+            });
+            await handleProgressEvents();
+            if (!resolveOnUnsuccessful) {
+              switch (state.status) {
+                case "canceled":
+                  throw new Error(cancelErrMsg);
+                case "failed":
+                  throw state.error;
+              }
             }
           }
+        };
+        return poller;
+      };
+    }
+    exports2.buildCreatePoller = buildCreatePoller;
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/http/poller.js
+var require_poller2 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/http/poller.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createHttpPoller = void 0;
+    var operation_js_1 = require_operation2();
+    var poller_js_1 = require_poller();
+    async function createHttpPoller(lro, options) {
+      const { resourceLocationConfig, intervalInMs, processResult, restoreFrom, updateState, withOperationLocation, resolveOnUnsuccessful = false } = options || {};
+      return (0, poller_js_1.buildCreatePoller)({
+        getStatusFromInitialResponse: operation_js_1.getStatusFromInitialResponse,
+        getStatusFromPollResponse: operation_js_1.getOperationStatus,
+        isOperationError: operation_js_1.isOperationError,
+        getOperationLocation: operation_js_1.getOperationLocation,
+        getResourceLocation: operation_js_1.getResourceLocation,
+        getPollingInterval: operation_js_1.parseRetryAfter,
+        getError: operation_js_1.getErrorFromResponse,
+        resolveOnUnsuccessful
+      })({
+        init: async () => {
+          const response = await lro.sendInitialRequest();
+          const config = (0, operation_js_1.inferLroMode)({
+            rawResponse: response.rawResponse,
+            requestPath: lro.requestPath,
+            requestMethod: lro.requestMethod,
+            resourceLocationConfig
+          });
+          return Object.assign({ response, operationLocation: config === null || config === void 0 ? void 0 : config.operationLocation, resourceLocation: config === null || config === void 0 ? void 0 : config.resourceLocation }, (config === null || config === void 0 ? void 0 : config.mode) ? { metadata: { mode: config.mode } } : {});
+        },
+        poll: lro.sendPollRequest
+      }, {
+        intervalInMs,
+        withOperationLocation,
+        restoreFrom,
+        updateState,
+        processResult: processResult ? ({ flatResponse }, state) => processResult(flatResponse, state) : ({ flatResponse }) => flatResponse
+      });
+    }
+    exports2.createHttpPoller = createHttpPoller;
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/operation.js
+var require_operation3 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/operation.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.GenericPollOperation = void 0;
+    var operation_js_1 = require_operation2();
+    var logger_js_1 = require_logger2();
+    var createStateProxy = () => ({
+      initState: (config) => ({ config, isStarted: true }),
+      setCanceled: (state) => state.isCancelled = true,
+      setError: (state, error3) => state.error = error3,
+      setResult: (state, result) => state.result = result,
+      setRunning: (state) => state.isStarted = true,
+      setSucceeded: (state) => state.isCompleted = true,
+      setFailed: () => {
+      },
+      getError: (state) => state.error,
+      getResult: (state) => state.result,
+      isCanceled: (state) => !!state.isCancelled,
+      isFailed: (state) => !!state.error,
+      isRunning: (state) => !!state.isStarted,
+      isSucceeded: (state) => Boolean(state.isCompleted && !state.isCancelled && !state.error)
+    });
+    var GenericPollOperation = class {
+      constructor(state, lro, setErrorAsResult, lroResourceLocationConfig, processResult, updateState, isDone) {
+        this.state = state;
+        this.lro = lro;
+        this.setErrorAsResult = setErrorAsResult;
+        this.lroResourceLocationConfig = lroResourceLocationConfig;
+        this.processResult = processResult;
+        this.updateState = updateState;
+        this.isDone = isDone;
+      }
+      setPollerConfig(pollerConfig) {
+        this.pollerConfig = pollerConfig;
+      }
+      async update(options) {
+        var _a;
+        const stateProxy = createStateProxy();
+        if (!this.state.isStarted) {
+          this.state = Object.assign(Object.assign({}, this.state), await (0, operation_js_1.initHttpOperation)({
+            lro: this.lro,
+            stateProxy,
+            resourceLocationConfig: this.lroResourceLocationConfig,
+            processResult: this.processResult,
+            setErrorAsResult: this.setErrorAsResult
+          }));
+        }
+        const updateState = this.updateState;
+        const isDone = this.isDone;
+        if (!this.state.isCompleted && this.state.error === void 0) {
+          await (0, operation_js_1.pollHttpOperation)({
+            lro: this.lro,
+            state: this.state,
+            stateProxy,
+            processResult: this.processResult,
+            updateState: updateState ? (state, { rawResponse }) => updateState(state, rawResponse) : void 0,
+            isDone: isDone ? ({ flatResponse }, state) => isDone(flatResponse, state) : void 0,
+            options,
+            setDelay: (intervalInMs) => {
+              this.pollerConfig.intervalInMs = intervalInMs;
+            },
+            setErrorAsResult: this.setErrorAsResult
+          });
         }
+        (_a = options === null || options === void 0 ? void 0 : options.fireProgress) === null || _a === void 0 ? void 0 : _a.call(options, this.state);
+        return this;
+      }
+      async cancel() {
+        logger_js_1.logger.error("`cancelOperation` is deprecated because it wasn't implemented");
+        return this;
+      }
+      /**
+       * Serializes the Poller operation.
+       */
+      toString() {
+        return JSON.stringify({
+          state: this.state
+        });
       }
     };
-    exports2.BlobGetPropertiesExceptionHeaders = {
-      serializedName: "Blob_getPropertiesExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobGetPropertiesExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+    exports2.GenericPollOperation = GenericPollOperation;
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/legacy/poller.js
+var require_poller3 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/legacy/poller.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Poller = exports2.PollerCancelledError = exports2.PollerStoppedError = void 0;
+    var PollerStoppedError = class _PollerStoppedError extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "PollerStoppedError";
+        Object.setPrototypeOf(this, _PollerStoppedError.prototype);
       }
     };
-    exports2.BlobDeleteHeaders = {
-      serializedName: "Blob_deleteHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobDeleteHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+    exports2.PollerStoppedError = PollerStoppedError;
+    var PollerCancelledError = class _PollerCancelledError extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "PollerCancelledError";
+        Object.setPrototypeOf(this, _PollerCancelledError.prototype);
+      }
+    };
+    exports2.PollerCancelledError = PollerCancelledError;
+    var Poller = class {
+      /**
+       * A poller needs to be initialized by passing in at least the basic properties of the `PollOperation`.
+       *
+       * When writing an implementation of a Poller, this implementation needs to deal with the initialization
+       * of any custom state beyond the basic definition of the poller. The basic poller assumes that the poller's
+       * operation has already been defined, at least its basic properties. The code below shows how to approach
+       * the definition of the constructor of a new custom poller.
+       *
+       * ```ts
+       * export class MyPoller extends Poller {
+       *   constructor({
+       *     // Anything you might need outside of the basics
+       *   }) {
+       *     let state: MyOperationState = {
+       *       privateProperty: private,
+       *       publicProperty: public,
+       *     };
+       *
+       *     const operation = {
+       *       state,
+       *       update,
+       *       cancel,
+       *       toString
+       *     }
+       *
+       *     // Sending the operation to the parent's constructor.
+       *     super(operation);
+       *
+       *     // You can assign more local properties here.
+       *   }
+       * }
+       * ```
+       *
+       * Inside of this constructor, a new promise is created. This will be used to
+       * tell the user when the poller finishes (see `pollUntilDone()`). The promise's
+       * resolve and reject methods are also used internally to control when to resolve
+       * or reject anyone waiting for the poller to finish.
+       *
+       * The constructor of a custom implementation of a poller is where any serialized version of
+       * a previous poller's operation should be deserialized into the operation sent to the
+       * base constructor. For example:
+       *
+       * ```ts
+       * export class MyPoller extends Poller {
+       *   constructor(
+       *     baseOperation: string | undefined
+       *   ) {
+       *     let state: MyOperationState = {};
+       *     if (baseOperation) {
+       *       state = {
+       *         ...JSON.parse(baseOperation).state,
+       *         ...state
+       *       };
+       *     }
+       *     const operation = {
+       *       state,
+       *       // ...
+       *     }
+       *     super(operation);
+       *   }
+       * }
+       * ```
+       *
+       * @param operation - Must contain the basic properties of `PollOperation`.
+       */
+      constructor(operation) {
+        this.resolveOnUnsuccessful = false;
+        this.stopped = true;
+        this.pollProgressCallbacks = [];
+        this.operation = operation;
+        this.promise = new Promise((resolve3, reject) => {
+          this.resolve = resolve3;
+          this.reject = reject;
+        });
+        this.promise.catch(() => {
+        });
       }
-    };
-    exports2.BlobDeleteExceptionHeaders = {
-      serializedName: "Blob_deleteExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobDeleteExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       * Starts a loop that will break only if the poller is done
+       * or if the poller is stopped.
+       */
+      async startPolling(pollOptions = {}) {
+        if (this.stopped) {
+          this.stopped = false;
         }
-      }
-    };
-    exports2.BlobUndeleteHeaders = {
-      serializedName: "Blob_undeleteHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobUndeleteHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+        while (!this.isStopped() && !this.isDone()) {
+          await this.poll(pollOptions);
+          await this.delay();
         }
       }
-    };
-    exports2.BlobUndeleteExceptionHeaders = {
-      serializedName: "Blob_undeleteExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobUndeleteExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       * pollOnce does one polling, by calling to the update method of the underlying
+       * poll operation to make any relevant change effective.
+       *
+       * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike.
+       *
+       * @param options - Optional properties passed to the operation's update method.
+       */
+      async pollOnce(options = {}) {
+        if (!this.isDone()) {
+          this.operation = await this.operation.update({
+            abortSignal: options.abortSignal,
+            fireProgress: this.fireProgress.bind(this)
+          });
         }
+        this.processUpdatedState();
       }
-    };
-    exports2.BlobSetExpiryHeaders = {
-      serializedName: "Blob_setExpiryHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetExpiryHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          }
+      /**
+       * fireProgress calls the functions passed in via onProgress the method of the poller.
+       *
+       * It loops over all of the callbacks received from onProgress, and executes them, sending them
+       * the current operation state.
+       *
+       * @param state - The current operation state.
+       */
+      fireProgress(state) {
+        for (const callback of this.pollProgressCallbacks) {
+          callback(state);
         }
       }
-    };
-    exports2.BlobSetExpiryExceptionHeaders = {
-      serializedName: "Blob_setExpiryExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetExpiryExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       * Invokes the underlying operation's cancel method.
+       */
+      async cancelOnce(options = {}) {
+        this.operation = await this.operation.cancel(options);
+      }
+      /**
+       * Returns a promise that will resolve once a single polling request finishes.
+       * It does this by calling the update method of the Poller's operation.
+       *
+       * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike.
+       *
+       * @param options - Optional properties passed to the operation's update method.
+       */
+      poll(options = {}) {
+        if (!this.pollOncePromise) {
+          this.pollOncePromise = this.pollOnce(options);
+          const clearPollOncePromise = () => {
+            this.pollOncePromise = void 0;
+          };
+          this.pollOncePromise.then(clearPollOncePromise, clearPollOncePromise).catch(this.reject);
         }
+        return this.pollOncePromise;
       }
-    };
-    exports2.BlobSetHttpHeadersHeaders = {
-      serializedName: "Blob_setHttpHeadersHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetHttpHeadersHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          blobSequenceNumber: {
-            serializedName: "x-ms-blob-sequence-number",
-            xmlName: "x-ms-blob-sequence-number",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      processUpdatedState() {
+        if (this.operation.state.error) {
+          this.stopped = true;
+          if (!this.resolveOnUnsuccessful) {
+            this.reject(this.operation.state.error);
+            throw this.operation.state.error;
           }
         }
-      }
-    };
-    exports2.BlobSetHttpHeadersExceptionHeaders = {
-      serializedName: "Blob_setHttpHeadersExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetHttpHeadersExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+        if (this.operation.state.isCancelled) {
+          this.stopped = true;
+          if (!this.resolveOnUnsuccessful) {
+            const error3 = new PollerCancelledError("Operation was canceled");
+            this.reject(error3);
+            throw error3;
           }
         }
+        if (this.isDone() && this.resolve) {
+          this.resolve(this.getResult());
+        }
       }
-    };
-    exports2.BlobSetImmutabilityPolicyHeaders = {
-      serializedName: "Blob_setImmutabilityPolicyHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetImmutabilityPolicyHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          immutabilityPolicyExpiry: {
-            serializedName: "x-ms-immutability-policy-until-date",
-            xmlName: "x-ms-immutability-policy-until-date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          immutabilityPolicyMode: {
-            serializedName: "x-ms-immutability-policy-mode",
-            xmlName: "x-ms-immutability-policy-mode",
-            type: {
-              name: "Enum",
-              allowedValues: ["Mutable", "Unlocked", "Locked"]
-            }
-          }
+      /**
+       * Returns a promise that will resolve once the underlying operation is completed.
+       */
+      async pollUntilDone(pollOptions = {}) {
+        if (this.stopped) {
+          this.startPolling(pollOptions).catch(this.reject);
         }
+        this.processUpdatedState();
+        return this.promise;
       }
-    };
-    exports2.BlobSetImmutabilityPolicyExceptionHeaders = {
-      serializedName: "Blob_setImmutabilityPolicyExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetImmutabilityPolicyExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      /**
+       * Invokes the provided callback after each polling is completed,
+       * sending the current state of the poller's operation.
+       *
+       * It returns a method that can be used to stop receiving updates on the given callback function.
+       */
+      onProgress(callback) {
+        this.pollProgressCallbacks.push(callback);
+        return () => {
+          this.pollProgressCallbacks = this.pollProgressCallbacks.filter((c) => c !== callback);
+        };
+      }
+      /**
+       * Returns true if the poller has finished polling.
+       */
+      isDone() {
+        const state = this.operation.state;
+        return Boolean(state.isCompleted || state.isCancelled || state.error);
+      }
+      /**
+       * Stops the poller from continuing to poll.
+       */
+      stopPolling() {
+        if (!this.stopped) {
+          this.stopped = true;
+          if (this.reject) {
+            this.reject(new PollerStoppedError("This poller is already stopped"));
           }
         }
       }
-    };
-    exports2.BlobDeleteImmutabilityPolicyHeaders = {
-      serializedName: "Blob_deleteImmutabilityPolicyHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobDeleteImmutabilityPolicyHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          }
+      /**
+       * Returns true if the poller is stopped.
+       */
+      isStopped() {
+        return this.stopped;
+      }
+      /**
+       * Attempts to cancel the underlying operation.
+       *
+       * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike.
+       *
+       * If it's called again before it finishes, it will throw an error.
+       *
+       * @param options - Optional properties passed to the operation's update method.
+       */
+      cancelOperation(options = {}) {
+        if (!this.cancelPromise) {
+          this.cancelPromise = this.cancelOnce(options);
+        } else if (options.abortSignal) {
+          throw new Error("A cancel request is currently pending");
         }
+        return this.cancelPromise;
+      }
+      /**
+       * Returns the state of the operation.
+       *
+       * Even though TState will be the same type inside any of the methods of any extension of the Poller class,
+       * implementations of the pollers can customize what's shared with the public by writing their own
+       * version of the `getOperationState` method, and by defining two types, one representing the internal state of the poller
+       * and a public type representing a safe to share subset of the properties of the internal state.
+       * Their definition of getOperationState can then return their public type.
+       *
+       * Example:
+       *
+       * ```ts
+       * // Let's say we have our poller's operation state defined as:
+       * interface MyOperationState extends PollOperationState {
+       *   privateProperty?: string;
+       *   publicProperty?: string;
+       * }
+       *
+       * // To allow us to have a true separation of public and private state, we have to define another interface:
+       * interface PublicState extends PollOperationState {
+       *   publicProperty?: string;
+       * }
+       *
+       * // Then, we define our Poller as follows:
+       * export class MyPoller extends Poller {
+       *   // ... More content is needed here ...
+       *
+       *   public getOperationState(): PublicState {
+       *     const state: PublicState = this.operation.state;
+       *     return {
+       *       // Properties from PollOperationState
+       *       isStarted: state.isStarted,
+       *       isCompleted: state.isCompleted,
+       *       isCancelled: state.isCancelled,
+       *       error: state.error,
+       *       result: state.result,
+       *
+       *       // The only other property needed by PublicState.
+       *       publicProperty: state.publicProperty
+       *     }
+       *   }
+       * }
+       * ```
+       *
+       * You can see this in the tests of this repository, go to the file:
+       * `../test/utils/testPoller.ts`
+       * and look for the getOperationState implementation.
+       */
+      getOperationState() {
+        return this.operation.state;
+      }
+      /**
+       * Returns the result value of the operation,
+       * regardless of the state of the poller.
+       * It can return undefined or an incomplete form of the final TResult value
+       * depending on the implementation.
+       */
+      getResult() {
+        const state = this.operation.state;
+        return state.result;
+      }
+      /**
+       * Returns a serialized version of the poller's operation
+       * by invoking the operation's toString method.
+       */
+      toString() {
+        return this.operation.toString();
       }
     };
-    exports2.BlobDeleteImmutabilityPolicyExceptionHeaders = {
-      serializedName: "Blob_deleteImmutabilityPolicyExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobDeleteImmutabilityPolicyExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+    exports2.Poller = Poller;
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/lroEngine.js
+var require_lroEngine = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/lroEngine.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.LroEngine = void 0;
+    var operation_js_1 = require_operation3();
+    var constants_js_1 = require_constants17();
+    var poller_js_1 = require_poller3();
+    var operation_js_2 = require_operation();
+    var LroEngine = class extends poller_js_1.Poller {
+      constructor(lro, options) {
+        const { intervalInMs = constants_js_1.POLL_INTERVAL_IN_MS, resumeFrom, resolveOnUnsuccessful = false, isDone, lroResourceLocationConfig, processResult, updateState } = options || {};
+        const state = resumeFrom ? (0, operation_js_2.deserializeState)(resumeFrom) : {};
+        const operation = new operation_js_1.GenericPollOperation(state, lro, !resolveOnUnsuccessful, lroResourceLocationConfig, processResult, updateState, isDone);
+        super(operation);
+        this.resolveOnUnsuccessful = resolveOnUnsuccessful;
+        this.config = { intervalInMs };
+        operation.setPollerConfig(this.config);
       }
-    };
-    exports2.BlobSetLegalHoldHeaders = {
-      serializedName: "Blob_setLegalHoldHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetLegalHoldHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          legalHold: {
-            serializedName: "x-ms-legal-hold",
-            xmlName: "x-ms-legal-hold",
-            type: {
-              name: "Boolean"
-            }
-          }
-        }
+      /**
+       * The method used by the poller to wait before attempting to update its operation.
+       */
+      delay() {
+        return new Promise((resolve3) => setTimeout(() => resolve3(), this.config.intervalInMs));
       }
     };
-    exports2.BlobSetLegalHoldExceptionHeaders = {
-      serializedName: "Blob_setLegalHoldExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetLegalHoldExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+    exports2.LroEngine = LroEngine;
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/index.js
+var require_lroEngine2 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.LroEngine = void 0;
+    var lroEngine_js_1 = require_lroEngine();
+    Object.defineProperty(exports2, "LroEngine", { enumerable: true, get: function() {
+      return lroEngine_js_1.LroEngine;
+    } });
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/legacy/pollOperation.js
+var require_pollOperation = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/legacy/pollOperation.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/index.js
+var require_commonjs14 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createHttpPoller = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var poller_js_1 = require_poller2();
+    Object.defineProperty(exports2, "createHttpPoller", { enumerable: true, get: function() {
+      return poller_js_1.createHttpPoller;
+    } });
+    tslib_1.__exportStar(require_lroEngine2(), exports2);
+    tslib_1.__exportStar(require_poller3(), exports2);
+    tslib_1.__exportStar(require_pollOperation(), exports2);
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/pollers/BlobStartCopyFromUrlPoller.js
+var require_BlobStartCopyFromUrlPoller = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/pollers/BlobStartCopyFromUrlPoller.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobBeginCopyFromUrlPoller = void 0;
+    var core_util_1 = require_commonjs4();
+    var core_lro_1 = require_commonjs14();
+    var BlobBeginCopyFromUrlPoller = class extends core_lro_1.Poller {
+      intervalInMs;
+      constructor(options) {
+        const { blobClient, copySource, intervalInMs = 15e3, onProgress, resumeFrom, startCopyFromURLOptions } = options;
+        let state;
+        if (resumeFrom) {
+          state = JSON.parse(resumeFrom).state;
         }
-      }
-    };
-    exports2.BlobSetMetadataHeaders = {
-      serializedName: "Blob_setMetadataHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetMetadataHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+        const operation = makeBlobBeginCopyFromURLPollOperation({
+          ...state,
+          blobClient,
+          copySource,
+          startCopyFromURLOptions
+        });
+        super(operation);
+        if (typeof onProgress === "function") {
+          this.onProgress(onProgress);
         }
+        this.intervalInMs = intervalInMs;
+      }
+      delay() {
+        return (0, core_util_1.delay)(this.intervalInMs);
       }
     };
-    exports2.BlobSetMetadataExceptionHeaders = {
-      serializedName: "Blob_setMetadataExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetMetadataExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+    exports2.BlobBeginCopyFromUrlPoller = BlobBeginCopyFromUrlPoller;
+    var cancel = async function cancel2(options = {}) {
+      const state = this.state;
+      const { copyId } = state;
+      if (state.isCompleted) {
+        return makeBlobBeginCopyFromURLPollOperation(state);
+      }
+      if (!copyId) {
+        state.isCancelled = true;
+        return makeBlobBeginCopyFromURLPollOperation(state);
       }
+      await state.blobClient.abortCopyFromURL(copyId, {
+        abortSignal: options.abortSignal
+      });
+      state.isCancelled = true;
+      return makeBlobBeginCopyFromURLPollOperation(state);
     };
-    exports2.BlobAcquireLeaseHeaders = {
-      serializedName: "Blob_acquireLeaseHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobAcquireLeaseHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          leaseId: {
-            serializedName: "x-ms-lease-id",
-            xmlName: "x-ms-lease-id",
-            type: {
-              name: "String"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
+    var update = async function update2(options = {}) {
+      const state = this.state;
+      const { blobClient, copySource, startCopyFromURLOptions } = state;
+      if (!state.isStarted) {
+        state.isStarted = true;
+        const result = await blobClient.startCopyFromURL(copySource, startCopyFromURLOptions);
+        state.copyId = result.copyId;
+        if (result.copyStatus === "success") {
+          state.result = result;
+          state.isCompleted = true;
+        }
+      } else if (!state.isCompleted) {
+        try {
+          const result = await state.blobClient.getProperties({ abortSignal: options.abortSignal });
+          const { copyStatus, copyProgress } = result;
+          const prevCopyProgress = state.copyProgress;
+          if (copyProgress) {
+            state.copyProgress = copyProgress;
+          }
+          if (copyStatus === "pending" && copyProgress !== prevCopyProgress && typeof options.fireProgress === "function") {
+            options.fireProgress(state);
+          } else if (copyStatus === "success") {
+            state.result = result;
+            state.isCompleted = true;
+          } else if (copyStatus === "failed") {
+            state.error = new Error(`Blob copy failed with reason: "${result.copyStatusDescription || "unknown"}"`);
+            state.isCompleted = true;
           }
+        } catch (err) {
+          state.error = err;
+          state.isCompleted = true;
         }
       }
+      return makeBlobBeginCopyFromURLPollOperation(state);
     };
-    exports2.BlobAcquireLeaseExceptionHeaders = {
-      serializedName: "Blob_acquireLeaseExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobAcquireLeaseExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+    var toString2 = function toString3() {
+      return JSON.stringify({ state: this.state }, (key, value) => {
+        if (key === "blobClient") {
+          return void 0;
         }
-      }
+        return value;
+      });
     };
-    exports2.BlobReleaseLeaseHeaders = {
-      serializedName: "Blob_releaseLeaseHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobReleaseLeaseHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          }
+    function makeBlobBeginCopyFromURLPollOperation(state) {
+      return {
+        state: { ...state },
+        cancel,
+        toString: toString2,
+        update
+      };
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/Range.js
+var require_Range = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/Range.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.rangeToString = rangeToString;
+    function rangeToString(iRange) {
+      if (iRange.offset < 0) {
+        throw new RangeError(`Range.offset cannot be smaller than 0.`);
+      }
+      if (iRange.count && iRange.count <= 0) {
+        throw new RangeError(`Range.count must be larger than 0. Leave it undefined if you want a range from offset to the end.`);
+      }
+      return iRange.count ? `bytes=${iRange.offset}-${iRange.offset + iRange.count - 1}` : `bytes=${iRange.offset}-`;
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/utils/Batch.js
+var require_Batch = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/Batch.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Batch = void 0;
+    var events_1 = require("events");
+    var BatchStates;
+    (function(BatchStates2) {
+      BatchStates2[BatchStates2["Good"] = 0] = "Good";
+      BatchStates2[BatchStates2["Error"] = 1] = "Error";
+    })(BatchStates || (BatchStates = {}));
+    var Batch = class {
+      /**
+       * Concurrency. Must be lager than 0.
+       */
+      concurrency;
+      /**
+       * Number of active operations under execution.
+       */
+      actives = 0;
+      /**
+       * Number of completed operations under execution.
+       */
+      completed = 0;
+      /**
+       * Offset of next operation to be executed.
+       */
+      offset = 0;
+      /**
+       * Operation array to be executed.
+       */
+      operations = [];
+      /**
+       * States of Batch. When an error happens, state will turn into error.
+       * Batch will stop execute left operations.
+       */
+      state = BatchStates.Good;
+      /**
+       * A private emitter used to pass events inside this class.
+       */
+      emitter;
+      /**
+       * Creates an instance of Batch.
+       * @param concurrency -
+       */
+      constructor(concurrency = 5) {
+        if (concurrency < 1) {
+          throw new RangeError("concurrency must be larger than 0");
         }
+        this.concurrency = concurrency;
+        this.emitter = new events_1.EventEmitter();
       }
-    };
-    exports2.BlobReleaseLeaseExceptionHeaders = {
-      serializedName: "Blob_releaseLeaseExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobReleaseLeaseExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      /**
+       * Add a operation into queue.
+       *
+       * @param operation -
+       */
+      addOperation(operation) {
+        this.operations.push(async () => {
+          try {
+            this.actives++;
+            await operation();
+            this.actives--;
+            this.completed++;
+            this.parallelExecute();
+          } catch (error3) {
+            this.emitter.emit("error", error3);
           }
-        }
+        });
       }
-    };
-    exports2.BlobRenewLeaseHeaders = {
-      serializedName: "Blob_renewLeaseHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobRenewLeaseHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          leaseId: {
-            serializedName: "x-ms-lease-id",
-            xmlName: "x-ms-lease-id",
-            type: {
-              name: "String"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          }
+      /**
+       * Start execute operations in the queue.
+       *
+       */
+      async do() {
+        if (this.operations.length === 0) {
+          return Promise.resolve();
         }
+        this.parallelExecute();
+        return new Promise((resolve3, reject) => {
+          this.emitter.on("finish", resolve3);
+          this.emitter.on("error", (error3) => {
+            this.state = BatchStates.Error;
+            reject(error3);
+          });
+        });
       }
-    };
-    exports2.BlobRenewLeaseExceptionHeaders = {
-      serializedName: "Blob_renewLeaseExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobRenewLeaseExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       * Get next operation to be executed. Return null when reaching ends.
+       *
+       */
+      nextOperation() {
+        if (this.offset < this.operations.length) {
+          return this.operations[this.offset++];
         }
+        return null;
       }
-    };
-    exports2.BlobChangeLeaseHeaders = {
-      serializedName: "Blob_changeLeaseHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobChangeLeaseHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          leaseId: {
-            serializedName: "x-ms-lease-id",
-            xmlName: "x-ms-lease-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          }
+      /**
+       * Start execute operations. One one the most important difference between
+       * this method with do() is that do() wraps as an sync method.
+       *
+       */
+      parallelExecute() {
+        if (this.state === BatchStates.Error) {
+          return;
         }
-      }
-    };
-    exports2.BlobChangeLeaseExceptionHeaders = {
-      serializedName: "Blob_changeLeaseExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobChangeLeaseExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+        if (this.completed >= this.operations.length) {
+          this.emitter.emit("finish");
+          return;
         }
-      }
-    };
-    exports2.BlobBreakLeaseHeaders = {
-      serializedName: "Blob_breakLeaseHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobBreakLeaseHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          leaseTime: {
-            serializedName: "x-ms-lease-time",
-            xmlName: "x-ms-lease-time",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
+        while (this.actives < this.concurrency) {
+          const operation = this.nextOperation();
+          if (operation) {
+            operation();
+          } else {
+            return;
           }
         }
       }
     };
-    exports2.BlobBreakLeaseExceptionHeaders = {
-      serializedName: "Blob_breakLeaseExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobBreakLeaseExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+    exports2.Batch = Batch;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/utils/utils.js
+var require_utils7 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/utils.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.fsCreateReadStream = exports2.fsStat = void 0;
+    exports2.streamToBuffer = streamToBuffer;
+    exports2.streamToBuffer2 = streamToBuffer2;
+    exports2.streamToBuffer3 = streamToBuffer3;
+    exports2.readStreamToLocalFile = readStreamToLocalFile;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var node_fs_1 = tslib_1.__importDefault(require("node:fs"));
+    var node_util_1 = tslib_1.__importDefault(require("node:util"));
+    var constants_js_1 = require_constants15();
+    async function streamToBuffer(stream, buffer, offset, end, encoding) {
+      let pos = 0;
+      const count = end - offset;
+      return new Promise((resolve3, reject) => {
+        const timeout = setTimeout(() => reject(new Error(`The operation cannot be completed in timeout.`)), constants_js_1.REQUEST_TIMEOUT);
+        stream.on("readable", () => {
+          if (pos >= count) {
+            clearTimeout(timeout);
+            resolve3();
+            return;
           }
-        }
-      }
-    };
-    exports2.BlobCreateSnapshotHeaders = {
-      serializedName: "Blob_createSnapshotHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobCreateSnapshotHeaders",
-        modelProperties: {
-          snapshot: {
-            serializedName: "x-ms-snapshot",
-            xmlName: "x-ms-snapshot",
-            type: {
-              name: "String"
-            }
-          },
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+          let chunk = stream.read();
+          if (!chunk) {
+            return;
           }
-        }
+          if (typeof chunk === "string") {
+            chunk = Buffer.from(chunk, encoding);
+          }
+          const chunkLength = pos + chunk.length > count ? count - pos : chunk.length;
+          buffer.fill(chunk.slice(0, chunkLength), offset + pos, offset + pos + chunkLength);
+          pos += chunkLength;
+        });
+        stream.on("end", () => {
+          clearTimeout(timeout);
+          if (pos < count) {
+            reject(new Error(`Stream drains before getting enough data needed. Data read: ${pos}, data need: ${count}`));
+          }
+          resolve3();
+        });
+        stream.on("error", (msg) => {
+          clearTimeout(timeout);
+          reject(msg);
+        });
+      });
+    }
+    async function streamToBuffer2(stream, buffer, encoding) {
+      let pos = 0;
+      const bufferSize = buffer.length;
+      return new Promise((resolve3, reject) => {
+        stream.on("readable", () => {
+          let chunk = stream.read();
+          if (!chunk) {
+            return;
+          }
+          if (typeof chunk === "string") {
+            chunk = Buffer.from(chunk, encoding);
+          }
+          if (pos + chunk.length > bufferSize) {
+            reject(new Error(`Stream exceeds buffer size. Buffer size: ${bufferSize}`));
+            return;
+          }
+          buffer.fill(chunk, pos, pos + chunk.length);
+          pos += chunk.length;
+        });
+        stream.on("end", () => {
+          resolve3(pos);
+        });
+        stream.on("error", reject);
+      });
+    }
+    async function streamToBuffer3(readableStream, encoding) {
+      return new Promise((resolve3, reject) => {
+        const chunks = [];
+        readableStream.on("data", (data) => {
+          chunks.push(typeof data === "string" ? Buffer.from(data, encoding) : data);
+        });
+        readableStream.on("end", () => {
+          resolve3(Buffer.concat(chunks));
+        });
+        readableStream.on("error", reject);
+      });
+    }
+    async function readStreamToLocalFile(rs, file) {
+      return new Promise((resolve3, reject) => {
+        const ws = node_fs_1.default.createWriteStream(file);
+        rs.on("error", (err) => {
+          reject(err);
+        });
+        ws.on("error", (err) => {
+          reject(err);
+        });
+        ws.on("close", resolve3);
+        rs.pipe(ws);
+      });
+    }
+    exports2.fsStat = node_util_1.default.promisify(node_fs_1.default.stat);
+    exports2.fsCreateReadStream = node_fs_1.default.createReadStream;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/Clients.js
+var require_Clients = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/Clients.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.PageBlobClient = exports2.BlockBlobClient = exports2.AppendBlobClient = exports2.BlobClient = void 0;
+    var core_rest_pipeline_1 = require_commonjs6();
+    var core_auth_1 = require_commonjs7();
+    var core_util_1 = require_commonjs4();
+    var core_util_2 = require_commonjs4();
+    var BlobDownloadResponse_js_1 = require_BlobDownloadResponse();
+    var BlobQueryResponse_js_1 = require_BlobQueryResponse();
+    var AnonymousCredential_js_1 = require_AnonymousCredential();
+    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
+    var models_js_1 = require_models2();
+    var PageBlobRangeResponse_js_1 = require_PageBlobRangeResponse();
+    var Pipeline_js_1 = require_Pipeline();
+    var BlobStartCopyFromUrlPoller_js_1 = require_BlobStartCopyFromUrlPoller();
+    var Range_js_1 = require_Range();
+    var StorageClient_js_1 = require_StorageClient();
+    var Batch_js_1 = require_Batch();
+    var storage_common_1 = require_commonjs13();
+    var constants_js_1 = require_constants15();
+    var tracing_js_1 = require_tracing();
+    var utils_common_js_1 = require_utils_common();
+    var utils_js_1 = require_utils7();
+    var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues();
+    var BlobLeaseClient_js_1 = require_BlobLeaseClient();
+    var BlobClient = class _BlobClient extends StorageClient_js_1.StorageClient {
+      /**
+       * blobContext provided by protocol layer.
+       */
+      blobContext;
+      _name;
+      _containerName;
+      _versionId;
+      _snapshot;
+      /**
+       * The name of the blob.
+       */
+      get name() {
+        return this._name;
       }
-    };
-    exports2.BlobCreateSnapshotExceptionHeaders = {
-      serializedName: "Blob_createSnapshotExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobCreateSnapshotExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * The name of the storage container the blob is associated with.
+       */
+      get containerName() {
+        return this._containerName;
       }
-    };
-    exports2.BlobStartCopyFromURLHeaders = {
-      serializedName: "Blob_startCopyFromURLHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobStartCopyFromURLHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          copyId: {
-            serializedName: "x-ms-copy-id",
-            xmlName: "x-ms-copy-id",
-            type: {
-              name: "String"
-            }
-          },
-          copyStatus: {
-            serializedName: "x-ms-copy-status",
-            xmlName: "x-ms-copy-status",
-            type: {
-              name: "Enum",
-              allowedValues: ["pending", "success", "aborted", "failed"]
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
+        options = options || {};
+        let pipeline;
+        let url;
+        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
+          url = urlOrConnectionString;
+          pipeline = credentialOrPipelineOrContainerName;
+        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
+          url = urlOrConnectionString;
+          options = blobNameOrOptions;
+          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
+        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
+          url = urlOrConnectionString;
+          if (blobNameOrOptions && typeof blobNameOrOptions !== "string") {
+            options = blobNameOrOptions;
           }
-        }
-      }
-    };
-    exports2.BlobStartCopyFromURLExceptionHeaders = {
-      serializedName: "Blob_startCopyFromURLExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobStartCopyFromURLExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceErrorCode: {
-            serializedName: "x-ms-copy-source-error-code",
-            xmlName: "x-ms-copy-source-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceStatusCode: {
-            serializedName: "x-ms-copy-source-status-code",
-            xmlName: "x-ms-copy-source-status-code",
-            type: {
-              name: "Number"
+          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
+          const containerName = credentialOrPipelineOrContainerName;
+          const blobName = blobNameOrOptions;
+          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
+          if (extractedCreds.kind === "AccountConnString") {
+            if (core_util_1.isNodeLike) {
+              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
+              url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
+              if (!options.proxyOptions) {
+                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+              }
+              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+            } else {
+              throw new Error("Account connection string is only supported in Node.js environment");
             }
+          } else if (extractedCreds.kind === "SASConnString") {
+            url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
+            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+          } else {
+            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
           }
+        } else {
+          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
         }
+        super(url, pipeline);
+        ({ blobName: this._name, containerName: this._containerName } = this.getBlobAndContainerNamesFromUrl());
+        this.blobContext = this.storageClientContext.blob;
+        this._snapshot = (0, utils_common_js_1.getURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT);
+        this._versionId = (0, utils_common_js_1.getURLParameter)(this.url, constants_js_1.URLConstants.Parameters.VERSIONID);
       }
-    };
-    exports2.BlobCopyFromURLHeaders = {
-      serializedName: "Blob_copyFromURLHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobCopyFromURLHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          copyId: {
-            serializedName: "x-ms-copy-id",
-            xmlName: "x-ms-copy-id",
-            type: {
-              name: "String"
-            }
-          },
-          copyStatus: {
-            defaultValue: "success",
-            isConstant: true,
-            serializedName: "x-ms-copy-status",
-            type: {
-              name: "String"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          xMsContentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Creates a new BlobClient object identical to the source but with the specified snapshot timestamp.
+       * Provide "" will remove the snapshot and return a Client to the base blob.
+       *
+       * @param snapshot - The snapshot timestamp.
+       * @returns A new BlobClient object identical to the source but with the specified snapshot timestamp
+       */
+      withSnapshot(snapshot) {
+        return new _BlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
       }
-    };
-    exports2.BlobCopyFromURLExceptionHeaders = {
-      serializedName: "Blob_copyFromURLExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobCopyFromURLExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceErrorCode: {
-            serializedName: "x-ms-copy-source-error-code",
-            xmlName: "x-ms-copy-source-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceStatusCode: {
-            serializedName: "x-ms-copy-source-status-code",
-            xmlName: "x-ms-copy-source-status-code",
-            type: {
-              name: "Number"
-            }
-          }
-        }
+      /**
+       * Creates a new BlobClient object pointing to a version of this blob.
+       * Provide "" will remove the versionId and return a Client to the base blob.
+       *
+       * @param versionId - The versionId.
+       * @returns A new BlobClient object pointing to the version of this blob.
+       */
+      withVersion(versionId) {
+        return new _BlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.VERSIONID, versionId.length === 0 ? void 0 : versionId), this.pipeline);
       }
-    };
-    exports2.BlobAbortCopyFromURLHeaders = {
-      serializedName: "Blob_abortCopyFromURLHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobAbortCopyFromURLHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+      /**
+       * Creates a AppendBlobClient object.
+       *
+       */
+      getAppendBlobClient() {
+        return new AppendBlobClient(this.url, this.pipeline);
+      }
+      /**
+       * Creates a BlockBlobClient object.
+       *
+       */
+      getBlockBlobClient() {
+        return new BlockBlobClient(this.url, this.pipeline);
+      }
+      /**
+       * Creates a PageBlobClient object.
+       *
+       */
+      getPageBlobClient() {
+        return new PageBlobClient(this.url, this.pipeline);
+      }
+      /**
+       * Reads or downloads a blob from the system, including its metadata and properties.
+       * You can also call Get Blob to read a snapshot.
+       *
+       * * In Node.js, data returns in a Readable stream readableStreamBody
+       * * In browsers, data returns in a promise blobBody
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob
+       *
+       * @param offset - From which position of the blob to download, greater than or equal to 0
+       * @param count - How much data to be downloaded, greater than 0. Will download to the end when undefined
+       * @param options - Optional options to Blob Download operation.
+       *
+       *
+       * Example usage (Node.js):
+       *
+       * ```ts snippet:ReadmeSampleDownloadBlob_Node
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blobClient = containerClient.getBlobClient(blobName);
+       *
+       * // Get blob content from position 0 to the end
+       * // In Node.js, get downloaded data by accessing downloadBlockBlobResponse.readableStreamBody
+       * const downloadBlockBlobResponse = await blobClient.download();
+       * if (downloadBlockBlobResponse.readableStreamBody) {
+       *   const downloaded = await streamToString(downloadBlockBlobResponse.readableStreamBody);
+       *   console.log(`Downloaded blob content: ${downloaded}`);
+       * }
+       *
+       * async function streamToString(stream: NodeJS.ReadableStream): Promise {
+       *   const result = await new Promise>((resolve, reject) => {
+       *     const chunks: Buffer[] = [];
+       *     stream.on("data", (data) => {
+       *       chunks.push(Buffer.isBuffer(data) ? data : Buffer.from(data));
+       *     });
+       *     stream.on("end", () => {
+       *       resolve(Buffer.concat(chunks));
+       *     });
+       *     stream.on("error", reject);
+       *   });
+       *   return result.toString();
+       * }
+       * ```
+       *
+       * Example usage (browser):
+       *
+       * ```ts snippet:ReadmeSampleDownloadBlob_Browser
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blobClient = containerClient.getBlobClient(blobName);
+       *
+       * // Get blob content from position 0 to the end
+       * // In browsers, get downloaded data by accessing downloadBlockBlobResponse.blobBody
+       * const downloadBlockBlobResponse = await blobClient.download();
+       * const blobBody = await downloadBlockBlobResponse.blobBody;
+       * if (blobBody) {
+       *   const downloaded = await blobBody.text();
+       *   console.log(`Downloaded blob content: ${downloaded}`);
+       * }
+       * ```
+       */
+      async download(offset = 0, count, options = {}) {
+        options.conditions = options.conditions || {};
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlobClient-download", options, async (updatedOptions) => {
+          const res = (0, utils_common_js_1.assertResponse)(await this.blobContext.download({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            requestOptions: {
+              onDownloadProgress: core_util_1.isNodeLike ? void 0 : options.onProgress
+              // for Node.js, progress is reported by RetriableReadableStream
+            },
+            range: offset === 0 && !count ? void 0 : (0, Range_js_1.rangeToString)({ offset, count }),
+            rangeGetContentMD5: options.rangeGetContentMD5,
+            rangeGetContentCRC64: options.rangeGetContentCrc64,
+            snapshot: options.snapshot,
+            cpkInfo: options.customerProvidedKey,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const wrappedRes = {
+            ...res,
+            _response: res._response,
+            // _response is made non-enumerable
+            objectReplicationDestinationPolicyId: res.objectReplicationPolicyId,
+            objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(res.objectReplicationRules)
+          };
+          if (!core_util_1.isNodeLike) {
+            return wrappedRes;
+          }
+          if (options.maxRetryRequests === void 0 || options.maxRetryRequests < 0) {
+            options.maxRetryRequests = constants_js_1.DEFAULT_MAX_DOWNLOAD_RETRY_REQUESTS;
+          }
+          if (res.contentLength === void 0) {
+            throw new RangeError(`File download response doesn't contain valid content length header`);
+          }
+          if (!res.etag) {
+            throw new RangeError(`File download response doesn't contain valid etag header`);
+          }
+          return new BlobDownloadResponse_js_1.BlobDownloadResponse(wrappedRes, async (start) => {
+            const updatedDownloadOptions = {
+              leaseAccessConditions: options.conditions,
+              modifiedAccessConditions: {
+                ifMatch: options.conditions.ifMatch || res.etag,
+                ifModifiedSince: options.conditions.ifModifiedSince,
+                ifNoneMatch: options.conditions.ifNoneMatch,
+                ifUnmodifiedSince: options.conditions.ifUnmodifiedSince,
+                ifTags: options.conditions?.tagConditions
+              },
+              range: (0, Range_js_1.rangeToString)({
+                count: offset + res.contentLength - start,
+                offset: start
+              }),
+              rangeGetContentMD5: options.rangeGetContentMD5,
+              rangeGetContentCRC64: options.rangeGetContentCrc64,
+              snapshot: options.snapshot,
+              cpkInfo: options.customerProvidedKey
+            };
+            return (await this.blobContext.download({
+              abortSignal: options.abortSignal,
+              ...updatedDownloadOptions
+            })).readableStreamBody;
+          }, offset, res.contentLength, {
+            maxRetryRequests: options.maxRetryRequests,
+            onProgress: options.onProgress
+          });
+        });
+      }
+      /**
+       * Returns true if the Azure blob resource represented by this client exists; false otherwise.
+       *
+       * NOTE: use this function with care since an existing blob might be deleted by other clients or
+       * applications. Vice versa new blobs might be added by other clients or applications after this
+       * function completes.
+       *
+       * @param options - options to Exists operation.
+       */
+      async exists(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-exists", options, async (updatedOptions) => {
+          try {
+            (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+            await this.getProperties({
+              abortSignal: options.abortSignal,
+              customerProvidedKey: options.customerProvidedKey,
+              conditions: options.conditions,
+              tracingOptions: updatedOptions.tracingOptions
+            });
+            return true;
+          } catch (e) {
+            if (e.statusCode === 404) {
+              return false;
+            } else if (e.statusCode === 409 && (e.details.errorCode === constants_js_1.BlobUsesCustomerSpecifiedEncryptionMsg || e.details.errorCode === constants_js_1.BlobDoesNotUseCustomerSpecifiedEncryption)) {
+              return true;
             }
+            throw e;
           }
-        }
+        });
       }
-    };
-    exports2.BlobAbortCopyFromURLExceptionHeaders = {
-      serializedName: "Blob_abortCopyFromURLExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobAbortCopyFromURLExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+      /**
+       * Returns all user-defined metadata, standard HTTP properties, and system properties
+       * for the blob. It does not return the content of the blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-properties
+       *
+       * WARNING: The `metadata` object returned in the response will have its keys in lowercase, even if
+       * they originally contained uppercase characters. This differs from the metadata keys returned by
+       * the methods of {@link ContainerClient} that list blobs using the `includeMetadata` option, which
+       * will retain their original casing.
+       *
+       * @param options - Optional options to Get Properties operation.
+       */
+      async getProperties(options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlobClient-getProperties", options, async (updatedOptions) => {
+          const res = (0, utils_common_js_1.assertResponse)(await this.blobContext.getProperties({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          return {
+            ...res,
+            _response: res._response,
+            // _response is made non-enumerable
+            objectReplicationDestinationPolicyId: res.objectReplicationPolicyId,
+            objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(res.objectReplicationRules)
+          };
+        });
+      }
+      /**
+       * Marks the specified blob or snapshot for deletion. The blob is later deleted
+       * during garbage collection. Note that in order to delete a blob, you must delete
+       * all of its snapshots. You can delete both at the same time with the Delete
+       * Blob operation.
+       * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob
+       *
+       * @param options - Optional options to Blob Delete operation.
+       */
+      async delete(options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("BlobClient-delete", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.delete({
+            abortSignal: options.abortSignal,
+            deleteSnapshots: options.deleteSnapshots,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Marks the specified blob or snapshot for deletion if it exists. The blob is later deleted
+       * during garbage collection. Note that in order to delete a blob, you must delete
+       * all of its snapshots. You can delete both at the same time with the Delete
+       * Blob operation.
+       * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob
+       *
+       * @param options - Optional options to Blob Delete operation.
+       */
+      async deleteIfExists(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-deleteIfExists", options, async (updatedOptions) => {
+          try {
+            const res = (0, utils_common_js_1.assertResponse)(await this.delete(updatedOptions));
+            return {
+              succeeded: true,
+              ...res,
+              _response: res._response
+              // _response is made non-enumerable
+            };
+          } catch (e) {
+            if (e.details?.errorCode === "BlobNotFound") {
+              return {
+                succeeded: false,
+                ...e.response?.parsedHeaders,
+                _response: e.response
+              };
             }
+            throw e;
           }
-        }
+        });
       }
-    };
-    exports2.BlobSetTierHeaders = {
-      serializedName: "Blob_setTierHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetTierHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+      /**
+       * Restores the contents and metadata of soft deleted blob and any associated
+       * soft deleted snapshots. Undelete Blob is supported only on version 2017-07-29
+       * or later.
+       * @see https://learn.microsoft.com/rest/api/storageservices/undelete-blob
+       *
+       * @param options - Optional options to Blob Undelete operation.
+       */
+      async undelete(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-undelete", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.undelete({
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Sets system properties on the blob.
+       *
+       * If no value provided, or no value provided for the specified blob HTTP headers,
+       * these blob HTTP headers without a value will be cleared.
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties
+       *
+       * @param blobHTTPHeaders - If no value provided, or no value provided for
+       *                                                   the specified blob HTTP headers, these blob HTTP
+       *                                                   headers without a value will be cleared.
+       *                                                   A common header to set is `blobContentType`
+       *                                                   enabling the browser to provide functionality
+       *                                                   based on file type.
+       * @param options - Optional options to Blob Set HTTP Headers operation.
+       */
+      async setHTTPHeaders(blobHTTPHeaders, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlobClient-setHTTPHeaders", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setHttpHeaders({
+            abortSignal: options.abortSignal,
+            blobHttpHeaders: blobHTTPHeaders,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            // cpkInfo: options.customerProvidedKey, // CPK is not included in Swagger, should change this back when this issue is fixed in Swagger.
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Sets user-defined metadata for the specified blob as one or more name-value pairs.
+       *
+       * If no option provided, or no metadata defined in the parameter, the blob
+       * metadata will be removed.
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-metadata
+       *
+       * @param metadata - Replace existing metadata with this value.
+       *                               If no value provided the existing metadata will be removed.
+       * @param options - Optional options to Set Metadata operation.
+       */
+      async setMetadata(metadata, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlobClient-setMetadata", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setMetadata({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            metadata,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Sets tags on the underlying blob.
+       * A blob can have up to 10 tags. Tag keys must be between 1 and 128 characters.  Tag values must be between 0 and 256 characters.
+       * Valid tag key and value characters include lower and upper case letters, digits (0-9),
+       * space (' '), plus ('+'), minus ('-'), period ('.'), foward slash ('/'), colon (':'), equals ('='), and underscore ('_').
+       *
+       * @param tags -
+       * @param options -
+       */
+      async setTags(tags, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-setTags", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setTags({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions,
+            tags: (0, utils_common_js_1.toBlobTags)(tags)
+          }));
+        });
+      }
+      /**
+       * Gets the tags associated with the underlying blob.
+       *
+       * @param options -
+       */
+      async getTags(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-getTags", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this.blobContext.getTags({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const wrappedResponse = {
+            ...response,
+            _response: response._response,
+            // _response is made non-enumerable
+            tags: (0, utils_common_js_1.toTags)({ blobTagSet: response.blobTagSet }) || {}
+          };
+          return wrappedResponse;
+        });
+      }
+      /**
+       * Get a {@link BlobLeaseClient} that manages leases on the blob.
+       *
+       * @param proposeLeaseId - Initial proposed lease Id.
+       * @returns A new BlobLeaseClient object for managing leases on the blob.
+       */
+      getBlobLeaseClient(proposeLeaseId) {
+        return new BlobLeaseClient_js_1.BlobLeaseClient(this, proposeLeaseId);
+      }
+      /**
+       * Creates a read-only snapshot of a blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/snapshot-blob
+       *
+       * @param options - Optional options to the Blob Create Snapshot operation.
+       */
+      async createSnapshot(options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlobClient-createSnapshot", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.createSnapshot({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            metadata: options.metadata,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Asynchronously copies a blob to a destination within the storage account.
+       * This method returns a long running operation poller that allows you to wait
+       * indefinitely until the copy is completed.
+       * You can also cancel a copy before it is completed by calling `cancelOperation` on the poller.
+       * Note that the onProgress callback will not be invoked if the operation completes in the first
+       * request, and attempting to cancel a completed copy will result in an error being thrown.
+       *
+       * In version 2012-02-12 and later, the source for a Copy Blob operation can be
+       * a committed blob in any Azure storage account.
+       * Beginning with version 2015-02-21, the source for a Copy Blob operation can be
+       * an Azure file in any Azure storage account.
+       * Only storage accounts created on or after June 7th, 2012 allow the Copy Blob
+       * operation to copy from another storage account.
+       * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob
+       *
+       * ```ts snippet:ClientsBeginCopyFromURL
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blobClient = containerClient.getBlobClient(blobName);
+       *
+       * // Example using automatic polling
+       * const automaticCopyPoller = await blobClient.beginCopyFromURL("url");
+       * const automaticResult = await automaticCopyPoller.pollUntilDone();
+       *
+       * // Example using manual polling
+       * const manualCopyPoller = await blobClient.beginCopyFromURL("url");
+       * while (!manualCopyPoller.isDone()) {
+       *   await manualCopyPoller.poll();
+       * }
+       * const manualResult = manualCopyPoller.getResult();
+       *
+       * // Example using progress updates
+       * const progressUpdatesCopyPoller = await blobClient.beginCopyFromURL("url", {
+       *   onProgress(state) {
+       *     console.log(`Progress: ${state.copyProgress}`);
+       *   },
+       * });
+       * const progressUpdatesResult = await progressUpdatesCopyPoller.pollUntilDone();
+       *
+       * // Example using a changing polling interval (default 15 seconds)
+       * const pollingIntervalCopyPoller = await blobClient.beginCopyFromURL("url", {
+       *   intervalInMs: 1000, // poll blob every 1 second for copy progress
+       * });
+       * const pollingIntervalResult = await pollingIntervalCopyPoller.pollUntilDone();
+       *
+       * // Example using copy cancellation:
+       * const cancelCopyPoller = await blobClient.beginCopyFromURL("url");
+       * // cancel operation after starting it.
+       * try {
+       *   await cancelCopyPoller.cancelOperation();
+       *   // calls to get the result now throw PollerCancelledError
+       *   cancelCopyPoller.getResult();
+       * } catch (err: any) {
+       *   if (err.name === "PollerCancelledError") {
+       *     console.log("The copy was cancelled.");
+       *   }
+       * }
+       * ```
+       *
+       * @param copySource - url to the source Azure Blob/File.
+       * @param options - Optional options to the Blob Start Copy From URL operation.
+       */
+      async beginCopyFromURL(copySource, options = {}) {
+        const client = {
+          abortCopyFromURL: (...args) => this.abortCopyFromURL(...args),
+          getProperties: (...args) => this.getProperties(...args),
+          startCopyFromURL: (...args) => this.startCopyFromURL(...args)
+        };
+        const poller = new BlobStartCopyFromUrlPoller_js_1.BlobBeginCopyFromUrlPoller({
+          blobClient: client,
+          copySource,
+          intervalInMs: options.intervalInMs,
+          onProgress: options.onProgress,
+          resumeFrom: options.resumeFrom,
+          startCopyFromURLOptions: options
+        });
+        await poller.poll();
+        return poller;
+      }
+      /**
+       * Aborts a pending asynchronous Copy Blob operation, and leaves a destination blob with zero
+       * length and full metadata. Version 2012-02-12 and newer.
+       * @see https://learn.microsoft.com/rest/api/storageservices/abort-copy-blob
+       *
+       * @param copyId - Id of the Copy From URL operation.
+       * @param options - Optional options to the Blob Abort Copy From URL operation.
+       */
+      async abortCopyFromURL(copyId, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-abortCopyFromURL", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.abortCopyFromURL(copyId, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * The synchronous Copy From URL operation copies a blob or an internet resource to a new blob. It will not
+       * return a response until the copy is complete.
+       * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob-from-url
+       *
+       * @param copySource - The source URL to copy from, Shared Access Signature(SAS) maybe needed for authentication
+       * @param options -
+       */
+      async syncCopyFromURL(copySource, options = {}) {
+        options.conditions = options.conditions || {};
+        options.sourceConditions = options.sourceConditions || {};
+        return tracing_js_1.tracingClient.withSpan("BlobClient-syncCopyFromURL", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.copyFromURL(copySource, {
+            abortSignal: options.abortSignal,
+            metadata: options.metadata,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            sourceModifiedAccessConditions: {
+              sourceIfMatch: options.sourceConditions?.ifMatch,
+              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
+              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
+              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince
+            },
+            sourceContentMD5: options.sourceContentMD5,
+            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
+            tier: (0, models_js_1.toAccessTier)(options.tier),
+            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
+            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
+            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
+            legalHold: options.legalHold,
+            encryptionScope: options.encryptionScope,
+            copySourceTags: options.copySourceTags,
+            fileRequestIntent: options.sourceShareTokenIntent,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Sets the tier on a blob. The operation is allowed on a page blob in a premium
+       * storage account and on a block blob in a blob storage account (locally redundant
+       * storage only). A premium page blob's tier determines the allowed size, IOPS,
+       * and bandwidth of the blob. A block blob's tier determines Hot/Cool/Archive
+       * storage type. This operation does not update the blob's ETag.
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-tier
+       *
+       * @param tier - The tier to be set on the blob. Valid values are Hot, Cool, or Archive.
+       * @param options - Optional options to the Blob Set Tier operation.
+       */
+      async setAccessTier(tier, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-setAccessTier", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setTier((0, models_js_1.toAccessTier)(tier), {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            rehydratePriority: options.rehydratePriority,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      async downloadToBuffer(param1, param2, param3, param4 = {}) {
+        let buffer;
+        let offset = 0;
+        let count = 0;
+        let options = param4;
+        if (param1 instanceof Buffer) {
+          buffer = param1;
+          offset = param2 || 0;
+          count = typeof param3 === "number" ? param3 : 0;
+        } else {
+          offset = typeof param1 === "number" ? param1 : 0;
+          count = typeof param2 === "number" ? param2 : 0;
+          options = param3 || {};
+        }
+        let blockSize = options.blockSize ?? 0;
+        if (blockSize < 0) {
+          throw new RangeError("blockSize option must be >= 0");
+        }
+        if (blockSize === 0) {
+          blockSize = constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES;
+        }
+        if (offset < 0) {
+          throw new RangeError("offset option must be >= 0");
+        }
+        if (count && count <= 0) {
+          throw new RangeError("count option must be greater than 0");
+        }
+        if (!options.conditions) {
+          options.conditions = {};
+        }
+        return tracing_js_1.tracingClient.withSpan("BlobClient-downloadToBuffer", options, async (updatedOptions) => {
+          if (!count) {
+            const response = await this.getProperties({
+              ...options,
+              tracingOptions: updatedOptions.tracingOptions
+            });
+            count = response.contentLength - offset;
+            if (count < 0) {
+              throw new RangeError(`offset ${offset} shouldn't be larger than blob size ${response.contentLength}`);
             }
           }
-        }
-      }
-    };
-    exports2.BlobSetTierExceptionHeaders = {
-      serializedName: "Blob_setTierExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetTierExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+          if (!buffer) {
+            try {
+              buffer = Buffer.alloc(count);
+            } catch (error3) {
+              throw new Error(`Unable to allocate the buffer of size: ${count}(in bytes). Please try passing your own buffer to the "downloadToBuffer" method or try using other methods like "download" or "downloadToFile".	 ${error3.message}`);
             }
           }
-        }
+          if (buffer.length < count) {
+            throw new RangeError(`The buffer's size should be equal to or larger than the request count of bytes: ${count}`);
+          }
+          let transferProgress = 0;
+          const batch = new Batch_js_1.Batch(options.concurrency);
+          for (let off = offset; off < offset + count; off = off + blockSize) {
+            batch.addOperation(async () => {
+              let chunkEnd = offset + count;
+              if (off + blockSize < chunkEnd) {
+                chunkEnd = off + blockSize;
+              }
+              const response = await this.download(off, chunkEnd - off, {
+                abortSignal: options.abortSignal,
+                conditions: options.conditions,
+                maxRetryRequests: options.maxRetryRequestsPerBlock,
+                customerProvidedKey: options.customerProvidedKey,
+                tracingOptions: updatedOptions.tracingOptions
+              });
+              const stream = response.readableStreamBody;
+              await (0, utils_js_1.streamToBuffer)(stream, buffer, off - offset, chunkEnd - offset);
+              transferProgress += chunkEnd - off;
+              if (options.onProgress) {
+                options.onProgress({ loadedBytes: transferProgress });
+              }
+            });
+          }
+          await batch.do();
+          return buffer;
+        });
       }
-    };
-    exports2.BlobGetAccountInfoHeaders = {
-      serializedName: "Blob_getAccountInfoHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobGetAccountInfoHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          skuName: {
-            serializedName: "x-ms-sku-name",
-            xmlName: "x-ms-sku-name",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "Standard_LRS",
-                "Standard_GRS",
-                "Standard_RAGRS",
-                "Standard_ZRS",
-                "Premium_LRS"
-              ]
-            }
-          },
-          accountKind: {
-            serializedName: "x-ms-account-kind",
-            xmlName: "x-ms-account-kind",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "Storage",
-                "BlobStorage",
-                "StorageV2",
-                "FileStorage",
-                "BlockBlobStorage"
-              ]
-            }
-          },
-          isHierarchicalNamespaceEnabled: {
-            serializedName: "x-ms-is-hns-enabled",
-            xmlName: "x-ms-is-hns-enabled",
-            type: {
-              name: "Boolean"
-            }
+      /**
+       * ONLY AVAILABLE IN NODE.JS RUNTIME.
+       *
+       * Downloads an Azure Blob to a local file.
+       * Fails if the the given file path already exits.
+       * Offset and count are optional, pass 0 and undefined respectively to download the entire blob.
+       *
+       * @param filePath -
+       * @param offset - From which position of the block blob to download.
+       * @param count - How much data to be downloaded. Will download to the end when passing undefined.
+       * @param options - Options to Blob download options.
+       * @returns The response data for blob download operation,
+       *                                                 but with readableStreamBody set to undefined since its
+       *                                                 content is already read and written into a local file
+       *                                                 at the specified path.
+       */
+      async downloadToFile(filePath, offset = 0, count, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-downloadToFile", options, async (updatedOptions) => {
+          const response = await this.download(offset, count, {
+            ...options,
+            tracingOptions: updatedOptions.tracingOptions
+          });
+          if (response.readableStreamBody) {
+            await (0, utils_js_1.readStreamToLocalFile)(response.readableStreamBody, filePath);
           }
-        }
+          response.blobDownloadStream = void 0;
+          return response;
+        });
       }
-    };
-    exports2.BlobGetAccountInfoExceptionHeaders = {
-      serializedName: "Blob_getAccountInfoExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobGetAccountInfoExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      getBlobAndContainerNamesFromUrl() {
+        let containerName;
+        let blobName;
+        try {
+          const parsedUrl = new URL(this.url);
+          if (parsedUrl.host.split(".")[1] === "blob") {
+            const pathComponents = parsedUrl.pathname.match("/([^/]*)(/(.*))?");
+            containerName = pathComponents[1];
+            blobName = pathComponents[3];
+          } else if ((0, utils_common_js_1.isIpEndpointStyle)(parsedUrl)) {
+            const pathComponents = parsedUrl.pathname.match("/([^/]*)/([^/]*)(/(.*))?");
+            containerName = pathComponents[2];
+            blobName = pathComponents[4];
+          } else {
+            const pathComponents = parsedUrl.pathname.match("/([^/]*)(/(.*))?");
+            containerName = pathComponents[1];
+            blobName = pathComponents[3];
+          }
+          containerName = decodeURIComponent(containerName);
+          blobName = decodeURIComponent(blobName);
+          blobName = blobName.replace(/\\/g, "/");
+          if (!containerName) {
+            throw new Error("Provided containerName is invalid.");
           }
+          return { blobName, containerName };
+        } catch (error3) {
+          throw new Error("Unable to extract blobName and containerName with provided information.");
         }
       }
-    };
-    exports2.BlobQueryHeaders = {
-      serializedName: "Blob_queryHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobQueryHeaders",
-        modelProperties: {
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          metadata: {
-            serializedName: "x-ms-meta",
-            headerCollectionPrefix: "x-ms-meta-",
-            xmlName: "x-ms-meta",
-            type: {
-              name: "Dictionary",
-              value: { type: { name: "String" } }
-            }
-          },
-          contentLength: {
-            serializedName: "content-length",
-            xmlName: "content-length",
-            type: {
-              name: "Number"
-            }
-          },
-          contentType: {
-            serializedName: "content-type",
-            xmlName: "content-type",
-            type: {
-              name: "String"
-            }
-          },
-          contentRange: {
-            serializedName: "content-range",
-            xmlName: "content-range",
-            type: {
-              name: "String"
-            }
-          },
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          contentEncoding: {
-            serializedName: "content-encoding",
-            xmlName: "content-encoding",
-            type: {
-              name: "String"
-            }
-          },
-          cacheControl: {
-            serializedName: "cache-control",
-            xmlName: "cache-control",
-            type: {
-              name: "String"
-            }
-          },
-          contentDisposition: {
-            serializedName: "content-disposition",
-            xmlName: "content-disposition",
-            type: {
-              name: "String"
-            }
-          },
-          contentLanguage: {
-            serializedName: "content-language",
-            xmlName: "content-language",
-            type: {
-              name: "String"
-            }
-          },
-          blobSequenceNumber: {
-            serializedName: "x-ms-blob-sequence-number",
-            xmlName: "x-ms-blob-sequence-number",
-            type: {
-              name: "Number"
-            }
-          },
-          blobType: {
-            serializedName: "x-ms-blob-type",
-            xmlName: "x-ms-blob-type",
-            type: {
-              name: "Enum",
-              allowedValues: ["BlockBlob", "PageBlob", "AppendBlob"]
-            }
-          },
-          copyCompletionTime: {
-            serializedName: "x-ms-copy-completion-time",
-            xmlName: "x-ms-copy-completion-time",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          copyStatusDescription: {
-            serializedName: "x-ms-copy-status-description",
-            xmlName: "x-ms-copy-status-description",
-            type: {
-              name: "String"
-            }
-          },
-          copyId: {
-            serializedName: "x-ms-copy-id",
-            xmlName: "x-ms-copy-id",
-            type: {
-              name: "String"
-            }
-          },
-          copyProgress: {
-            serializedName: "x-ms-copy-progress",
-            xmlName: "x-ms-copy-progress",
-            type: {
-              name: "String"
-            }
-          },
-          copySource: {
-            serializedName: "x-ms-copy-source",
-            xmlName: "x-ms-copy-source",
-            type: {
-              name: "String"
-            }
-          },
-          copyStatus: {
-            serializedName: "x-ms-copy-status",
-            xmlName: "x-ms-copy-status",
-            type: {
-              name: "Enum",
-              allowedValues: ["pending", "success", "aborted", "failed"]
-            }
-          },
-          leaseDuration: {
-            serializedName: "x-ms-lease-duration",
-            xmlName: "x-ms-lease-duration",
-            type: {
-              name: "Enum",
-              allowedValues: ["infinite", "fixed"]
-            }
-          },
-          leaseState: {
-            serializedName: "x-ms-lease-state",
-            xmlName: "x-ms-lease-state",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "available",
-                "leased",
-                "expired",
-                "breaking",
-                "broken"
-              ]
-            }
-          },
-          leaseStatus: {
-            serializedName: "x-ms-lease-status",
-            xmlName: "x-ms-lease-status",
-            type: {
-              name: "Enum",
-              allowedValues: ["locked", "unlocked"]
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          acceptRanges: {
-            serializedName: "accept-ranges",
-            xmlName: "accept-ranges",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          blobCommittedBlockCount: {
-            serializedName: "x-ms-blob-committed-block-count",
-            xmlName: "x-ms-blob-committed-block-count",
-            type: {
-              name: "Number"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-server-encrypted",
-            xmlName: "x-ms-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          blobContentMD5: {
-            serializedName: "x-ms-blob-content-md5",
-            xmlName: "x-ms-blob-content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          contentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
+      /**
+       * Asynchronously copies a blob to a destination within the storage account.
+       * In version 2012-02-12 and later, the source for a Copy Blob operation can be
+       * a committed blob in any Azure storage account.
+       * Beginning with version 2015-02-21, the source for a Copy Blob operation can be
+       * an Azure file in any Azure storage account.
+       * Only storage accounts created on or after June 7th, 2012 allow the Copy Blob
+       * operation to copy from another storage account.
+       * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob
+       *
+       * @param copySource - url to the source Azure Blob/File.
+       * @param options - Optional options to the Blob Start Copy From URL operation.
+       */
+      async startCopyFromURL(copySource, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-startCopyFromURL", options, async (updatedOptions) => {
+          options.conditions = options.conditions || {};
+          options.sourceConditions = options.sourceConditions || {};
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.startCopyFromURL(copySource, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            metadata: options.metadata,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            sourceModifiedAccessConditions: {
+              sourceIfMatch: options.sourceConditions.ifMatch,
+              sourceIfModifiedSince: options.sourceConditions.ifModifiedSince,
+              sourceIfNoneMatch: options.sourceConditions.ifNoneMatch,
+              sourceIfUnmodifiedSince: options.sourceConditions.ifUnmodifiedSince,
+              sourceIfTags: options.sourceConditions.tagConditions
+            },
+            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
+            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
+            legalHold: options.legalHold,
+            rehydratePriority: options.rehydratePriority,
+            tier: (0, models_js_1.toAccessTier)(options.tier),
+            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
+            sealBlob: options.sealBlob,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Only available for BlobClient constructed with a shared key credential.
+       *
+       * Generates a Blob Service Shared Access Signature (SAS) URI based on the client properties
+       * and parameters passed in. The SAS is signed by the shared key credential of the client.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateSasUrl(options) {
+        return new Promise((resolve3) => {
+          if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
+            throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
           }
+          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
+            containerName: this._containerName,
+            blobName: this._name,
+            snapshotTime: this._snapshot,
+            versionId: this._versionId,
+            ...options
+          }, this.credential).toString();
+          resolve3((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
+        });
+      }
+      /**
+       * Only available for BlobClient constructed with a shared key credential.
+       *
+       * Generates string to sign for a Blob Service Shared Access Signature (SAS) URI based on
+       * the client properties and parameters passed in. The SAS is signed by the shared key credential of the client.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/
+      generateSasStringToSign(options) {
+        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
+          throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
         }
+        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
+          containerName: this._containerName,
+          blobName: this._name,
+          snapshotTime: this._snapshot,
+          versionId: this._versionId,
+          ...options
+        }, this.credential).stringToSign;
+      }
+      /**
+       *
+       * Generates a Blob Service Shared Access Signature (SAS) URI based on
+       * the client properties and parameters passed in. The SAS is signed by the input user delegation key.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateUserDelegationSasUrl(options, userDelegationKey) {
+        return new Promise((resolve3) => {
+          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
+            containerName: this._containerName,
+            blobName: this._name,
+            snapshotTime: this._snapshot,
+            versionId: this._versionId,
+            ...options
+          }, userDelegationKey, this.accountName).toString();
+          resolve3((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
+        });
+      }
+      /**
+       * Only available for BlobClient constructed with a shared key credential.
+       *
+       * Generates string to sign for a Blob Service Shared Access Signature (SAS) URI based on
+       * the client properties and parameters passed in. The SAS is signed by the input user delegation key.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateUserDelegationSasStringToSign(options, userDelegationKey) {
+        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
+          containerName: this._containerName,
+          blobName: this._name,
+          snapshotTime: this._snapshot,
+          versionId: this._versionId,
+          ...options
+        }, userDelegationKey, this.accountName).stringToSign;
+      }
+      /**
+       * Delete the immutablility policy on the blob.
+       *
+       * @param options - Optional options to delete immutability policy on the blob.
+       */
+      async deleteImmutabilityPolicy(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-deleteImmutabilityPolicy", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.deleteImmutabilityPolicy({
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Set immutability policy on the blob.
+       *
+       * @param options - Optional options to set immutability policy on the blob.
+       */
+      async setImmutabilityPolicy(immutabilityPolicy, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-setImmutabilityPolicy", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setImmutabilityPolicy({
+            immutabilityPolicyExpiry: immutabilityPolicy.expiriesOn,
+            immutabilityPolicyMode: immutabilityPolicy.policyMode,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Set legal hold on the blob.
+       *
+       * @param options - Optional options to set legal hold on the blob.
+       */
+      async setLegalHold(legalHoldEnabled, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-setLegalHold", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setLegalHold(legalHoldEnabled, {
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * The Get Account Information operation returns the sku name and account kind
+       * for the specified account.
+       * The Get Account Information operation is available on service versions beginning
+       * with version 2018-03-28.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information
+       *
+       * @param options - Options to the Service Get Account Info operation.
+       * @returns Response data for the Service Get Account Info operation.
+       */
+      async getAccountInfo(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-getAccountInfo", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.getAccountInfo({
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
     };
-    exports2.BlobQueryExceptionHeaders = {
-      serializedName: "Blob_queryExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobQueryExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+    exports2.BlobClient = BlobClient;
+    var AppendBlobClient = class _AppendBlobClient extends BlobClient {
+      /**
+       * appendBlobsContext provided by protocol layer.
+       */
+      appendBlobContext;
+      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
+        let pipeline;
+        let url;
+        options = options || {};
+        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
+          url = urlOrConnectionString;
+          pipeline = credentialOrPipelineOrContainerName;
+        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
+          url = urlOrConnectionString;
+          options = blobNameOrOptions;
+          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
+        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
+          url = urlOrConnectionString;
+          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
+          const containerName = credentialOrPipelineOrContainerName;
+          const blobName = blobNameOrOptions;
+          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
+          if (extractedCreds.kind === "AccountConnString") {
+            if (core_util_1.isNodeLike) {
+              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
+              url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
+              if (!options.proxyOptions) {
+                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+              }
+              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+            } else {
+              throw new Error("Account connection string is only supported in Node.js environment");
             }
+          } else if (extractedCreds.kind === "SASConnString") {
+            url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
+            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+          } else {
+            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
           }
+        } else {
+          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
         }
+        super(url, pipeline);
+        this.appendBlobContext = this.storageClientContext.appendBlob;
       }
-    };
-    exports2.BlobGetTagsHeaders = {
-      serializedName: "Blob_getTagsHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobGetTagsHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+      /**
+       * Creates a new AppendBlobClient object identical to the source but with the
+       * specified snapshot timestamp.
+       * Provide "" will remove the snapshot and return a Client to the base blob.
+       *
+       * @param snapshot - The snapshot timestamp.
+       * @returns A new AppendBlobClient object identical to the source but with the specified snapshot timestamp.
+       */
+      withSnapshot(snapshot) {
+        return new _AppendBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
+      }
+      /**
+       * Creates a 0-length append blob. Call AppendBlock to append data to an append blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
+       *
+       * @param options - Options to the Append Block Create operation.
+       *
+       *
+       * Example usage:
+       *
+       * ```ts snippet:ClientsCreateAppendBlob
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       *
+       * const appendBlobClient = containerClient.getAppendBlobClient(blobName);
+       * await appendBlobClient.create();
+       * ```
+       */
+      async create(options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-create", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.create(0, {
+            abortSignal: options.abortSignal,
+            blobHttpHeaders: options.blobHTTPHeaders,
+            leaseAccessConditions: options.conditions,
+            metadata: options.metadata,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
+            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
+            legalHold: options.legalHold,
+            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Creates a 0-length append blob. Call AppendBlock to append data to an append blob.
+       * If the blob with the same name already exists, the content of the existing blob will remain unchanged.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
+       *
+       * @param options -
+       */
+      async createIfNotExists(options = {}) {
+        const conditions = { ifNoneMatch: constants_js_1.ETagAny };
+        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-createIfNotExists", options, async (updatedOptions) => {
+          try {
+            const res = (0, utils_common_js_1.assertResponse)(await this.create({
+              ...updatedOptions,
+              conditions
+            }));
+            return {
+              succeeded: true,
+              ...res,
+              _response: res._response
+              // _response is made non-enumerable
+            };
+          } catch (e) {
+            if (e.details?.errorCode === "BlobAlreadyExists") {
+              return {
+                succeeded: false,
+                ...e.response?.parsedHeaders,
+                _response: e.response
+              };
             }
+            throw e;
           }
-        }
+        });
+      }
+      /**
+       * Seals the append blob, making it read only.
+       *
+       * @param options -
+       */
+      async seal(options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-seal", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.seal({
+            abortSignal: options.abortSignal,
+            appendPositionAccessConditions: options.conditions,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Commits a new block of data to the end of the existing append blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/append-block
+       *
+       * @param body - Data to be appended.
+       * @param contentLength - Length of the body in bytes.
+       * @param options - Options to the Append Block operation.
+       *
+       *
+       * Example usage:
+       *
+       * ```ts snippet:ClientsAppendBlock
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       *
+       * const content = "Hello World!";
+       *
+       * // Create a new append blob and append data to the blob.
+       * const newAppendBlobClient = containerClient.getAppendBlobClient(blobName);
+       * await newAppendBlobClient.create();
+       * await newAppendBlobClient.appendBlock(content, content.length);
+       *
+       * // Append data to an existing append blob.
+       * const existingAppendBlobClient = containerClient.getAppendBlobClient(blobName);
+       * await existingAppendBlobClient.appendBlock(content, content.length);
+       * ```
+       */
+      async appendBlock(body, contentLength, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-appendBlock", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.appendBlock(contentLength, body, {
+            abortSignal: options.abortSignal,
+            appendPositionAccessConditions: options.conditions,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            requestOptions: {
+              onUploadProgress: options.onProgress
+            },
+            transactionalContentMD5: options.transactionalContentMD5,
+            transactionalContentCrc64: options.transactionalContentCrc64,
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * The Append Block operation commits a new block of data to the end of an existing append blob
+       * where the contents are read from a source url.
+       * @see https://learn.microsoft.com/rest/api/storageservices/append-block-from-url
+       *
+       * @param sourceURL -
+       *                 The url to the blob that will be the source of the copy. A source blob in the same storage account can
+       *                 be authenticated via Shared Key. However, if the source is a blob in another account, the source blob
+       *                 must either be public or must be authenticated via a shared access signature. If the source blob is
+       *                 public, no authentication is required to perform the operation.
+       * @param sourceOffset - Offset in source to be appended
+       * @param count - Number of bytes to be appended as a block
+       * @param options -
+       */
+      async appendBlockFromURL(sourceURL, sourceOffset, count, options = {}) {
+        options.conditions = options.conditions || {};
+        options.sourceConditions = options.sourceConditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-appendBlockFromURL", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.appendBlockFromUrl(sourceURL, 0, {
+            abortSignal: options.abortSignal,
+            sourceRange: (0, Range_js_1.rangeToString)({ offset: sourceOffset, count }),
+            sourceContentMD5: options.sourceContentMD5,
+            sourceContentCrc64: options.sourceContentCrc64,
+            leaseAccessConditions: options.conditions,
+            appendPositionAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            sourceModifiedAccessConditions: {
+              sourceIfMatch: options.sourceConditions?.ifMatch,
+              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
+              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
+              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince
+            },
+            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            fileRequestIntent: options.sourceShareTokenIntent,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
     };
-    exports2.BlobGetTagsExceptionHeaders = {
-      serializedName: "Blob_getTagsExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobGetTagsExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+    exports2.AppendBlobClient = AppendBlobClient;
+    var BlockBlobClient = class _BlockBlobClient extends BlobClient {
+      /**
+       * blobContext provided by protocol layer.
+       *
+       * Note. Ideally BlobClient should set BlobClient.blobContext to protected. However, API
+       * extractor has issue blocking that. Here we redecelare _blobContext in BlockBlobClient.
+       */
+      _blobContext;
+      /**
+       * blockBlobContext provided by protocol layer.
+       */
+      blockBlobContext;
+      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
+        let pipeline;
+        let url;
+        options = options || {};
+        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
+          url = urlOrConnectionString;
+          pipeline = credentialOrPipelineOrContainerName;
+        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
+          url = urlOrConnectionString;
+          options = blobNameOrOptions;
+          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
+        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
+          url = urlOrConnectionString;
+          if (blobNameOrOptions && typeof blobNameOrOptions !== "string") {
+            options = blobNameOrOptions;
+          }
+          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
+          const containerName = credentialOrPipelineOrContainerName;
+          const blobName = blobNameOrOptions;
+          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
+          if (extractedCreds.kind === "AccountConnString") {
+            if (core_util_1.isNodeLike) {
+              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
+              url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
+              if (!options.proxyOptions) {
+                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+              }
+              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+            } else {
+              throw new Error("Account connection string is only supported in Node.js environment");
             }
+          } else if (extractedCreds.kind === "SASConnString") {
+            url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
+            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+          } else {
+            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
           }
+        } else {
+          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
         }
+        super(url, pipeline);
+        this.blockBlobContext = this.storageClientContext.blockBlob;
+        this._blobContext = this.storageClientContext.blob;
       }
-    };
-    exports2.BlobSetTagsHeaders = {
-      serializedName: "Blob_setTagsHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetTagsHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       * Creates a new BlockBlobClient object identical to the source but with the
+       * specified snapshot timestamp.
+       * Provide "" will remove the snapshot and return a URL to the base blob.
+       *
+       * @param snapshot - The snapshot timestamp.
+       * @returns A new BlockBlobClient object identical to the source but with the specified snapshot timestamp.
+       */
+      withSnapshot(snapshot) {
+        return new _BlockBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
+      }
+      /**
+       * ONLY AVAILABLE IN NODE.JS RUNTIME.
+       *
+       * Quick query for a JSON or CSV formatted blob.
+       *
+       * Example usage (Node.js):
+       *
+       * ```ts snippet:ClientsQuery
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blockBlobClient = containerClient.getBlockBlobClient(blobName);
+       *
+       * // Query and convert a blob to a string
+       * const queryBlockBlobResponse = await blockBlobClient.query("select from BlobStorage");
+       * if (queryBlockBlobResponse.readableStreamBody) {
+       *   const downloadedBuffer = await streamToBuffer(queryBlockBlobResponse.readableStreamBody);
+       *   const downloaded = downloadedBuffer.toString();
+       *   console.log(`Query blob content: ${downloaded}`);
+       * }
+       *
+       * async function streamToBuffer(readableStream: NodeJS.ReadableStream): Promise {
+       *   return new Promise((resolve, reject) => {
+       *     const chunks: Buffer[] = [];
+       *     readableStream.on("data", (data) => {
+       *       chunks.push(data instanceof Buffer ? data : Buffer.from(data));
+       *     });
+       *     readableStream.on("end", () => {
+       *       resolve(Buffer.concat(chunks));
+       *     });
+       *     readableStream.on("error", reject);
+       *   });
+       * }
+       * ```
+       *
+       * @param query -
+       * @param options -
+       */
+      async query(query, options = {}) {
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        if (!core_util_1.isNodeLike) {
+          throw new Error("This operation currently is only supported in Node.js.");
         }
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-query", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this._blobContext.query({
+            abortSignal: options.abortSignal,
+            queryRequest: {
+              queryType: "SQL",
+              expression: query,
+              inputSerialization: (0, utils_common_js_1.toQuerySerialization)(options.inputTextConfiguration),
+              outputSerialization: (0, utils_common_js_1.toQuerySerialization)(options.outputTextConfiguration)
+            },
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          return new BlobQueryResponse_js_1.BlobQueryResponse(response, {
+            abortSignal: options.abortSignal,
+            onProgress: options.onProgress,
+            onError: options.onError
+          });
+        });
       }
-    };
-    exports2.BlobSetTagsExceptionHeaders = {
-      serializedName: "Blob_setTagsExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetTagsExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      /**
+       * Creates a new block blob, or updates the content of an existing block blob.
+       * Updating an existing block blob overwrites any existing metadata on the blob.
+       * Partial updates are not supported; the content of the existing blob is
+       * overwritten with the new content. To perform a partial update of a block blob's,
+       * use {@link stageBlock} and {@link commitBlockList}.
+       *
+       * This is a non-parallel uploading method, please use {@link uploadFile},
+       * {@link uploadStream} or {@link uploadBrowserData} for better performance
+       * with concurrency uploading.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
+       *
+       * @param body - Blob, string, ArrayBuffer, ArrayBufferView or a function
+       *                               which returns a new Readable stream whose offset is from data source beginning.
+       * @param contentLength - Length of body in bytes. Use Buffer.byteLength() to calculate body length for a
+       *                               string including non non-Base64/Hex-encoded characters.
+       * @param options - Options to the Block Blob Upload operation.
+       * @returns Response data for the Block Blob Upload operation.
+       *
+       * Example usage:
+       *
+       * ```ts snippet:ClientsUpload
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blockBlobClient = containerClient.getBlockBlobClient(blobName);
+       *
+       * const content = "Hello world!";
+       * const uploadBlobResponse = await blockBlobClient.upload(content, content.length);
+       * ```
+       */
+      async upload(body, contentLength, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-upload", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.upload(contentLength, body, {
+            abortSignal: options.abortSignal,
+            blobHttpHeaders: options.blobHTTPHeaders,
+            leaseAccessConditions: options.conditions,
+            metadata: options.metadata,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            requestOptions: {
+              onUploadProgress: options.onProgress
+            },
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
+            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
+            legalHold: options.legalHold,
+            tier: (0, models_js_1.toAccessTier)(options.tier),
+            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Creates a new Block Blob where the contents of the blob are read from a given URL.
+       * This API is supported beginning with the 2020-04-08 version. Partial updates
+       * are not supported with Put Blob from URL; the content of an existing blob is overwritten with
+       * the content of the new blob.  To perform partial updates to a block blob’s contents using a
+       * source URL, use {@link stageBlockFromURL} and {@link commitBlockList}.
+       *
+       * @param sourceURL - Specifies the URL of the blob. The value
+       *                           may be a URL of up to 2 KB in length that specifies a blob.
+       *                           The value should be URL-encoded as it would appear
+       *                           in a request URI. The source blob must either be public
+       *                           or must be authenticated via a shared access signature.
+       *                           If the source blob is public, no authentication is required
+       *                           to perform the operation. Here are some examples of source object URLs:
+       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob
+       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=
+       * @param options - Optional parameters.
+       */
+      async syncUploadFromURL(sourceURL, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-syncUploadFromURL", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.putBlobFromUrl(0, sourceURL, {
+            ...options,
+            blobHttpHeaders: options.blobHTTPHeaders,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            sourceModifiedAccessConditions: {
+              sourceIfMatch: options.sourceConditions?.ifMatch,
+              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
+              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
+              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince,
+              sourceIfTags: options.sourceConditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
+            tier: (0, models_js_1.toAccessTier)(options.tier),
+            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
+            copySourceTags: options.copySourceTags,
+            fileRequestIntent: options.sourceShareTokenIntent,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Uploads the specified block to the block blob's "staging area" to be later
+       * committed by a call to commitBlockList.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-block
+       *
+       * @param blockId - A 64-byte value that is base64-encoded
+       * @param body - Data to upload to the staging area.
+       * @param contentLength - Number of bytes to upload.
+       * @param options - Options to the Block Blob Stage Block operation.
+       * @returns Response data for the Block Blob Stage Block operation.
+       */
+      async stageBlock(blockId, body, contentLength, options = {}) {
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-stageBlock", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.stageBlock(blockId, contentLength, body, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            requestOptions: {
+              onUploadProgress: options.onProgress
+            },
+            transactionalContentMD5: options.transactionalContentMD5,
+            transactionalContentCrc64: options.transactionalContentCrc64,
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * The Stage Block From URL operation creates a new block to be committed as part
+       * of a blob where the contents are read from a URL.
+       * This API is available starting in version 2018-03-28.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-block-from-url
+       *
+       * @param blockId - A 64-byte value that is base64-encoded
+       * @param sourceURL - Specifies the URL of the blob. The value
+       *                           may be a URL of up to 2 KB in length that specifies a blob.
+       *                           The value should be URL-encoded as it would appear
+       *                           in a request URI. The source blob must either be public
+       *                           or must be authenticated via a shared access signature.
+       *                           If the source blob is public, no authentication is required
+       *                           to perform the operation. Here are some examples of source object URLs:
+       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob
+       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=
+       * @param offset - From which position of the blob to download, greater than or equal to 0
+       * @param count - How much data to be downloaded, greater than 0. Will download to the end when undefined
+       * @param options - Options to the Block Blob Stage Block From URL operation.
+       * @returns Response data for the Block Blob Stage Block From URL operation.
+       */
+      async stageBlockFromURL(blockId, sourceURL, offset = 0, count, options = {}) {
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-stageBlockFromURL", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.stageBlockFromURL(blockId, 0, sourceURL, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            sourceContentMD5: options.sourceContentMD5,
+            sourceContentCrc64: options.sourceContentCrc64,
+            sourceRange: offset === 0 && !count ? void 0 : (0, Range_js_1.rangeToString)({ offset, count }),
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
+            fileRequestIntent: options.sourceShareTokenIntent,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Writes a blob by specifying the list of block IDs that make up the blob.
+       * In order to be written as part of a blob, a block must have been successfully written
+       * to the server in a prior {@link stageBlock} operation. You can call {@link commitBlockList} to
+       * update a blob by uploading only those blocks that have changed, then committing the new and existing
+       * blocks together. Any blocks not specified in the block list and permanently deleted.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-block-list
+       *
+       * @param blocks -  Array of 64-byte value that is base64-encoded
+       * @param options - Options to the Block Blob Commit Block List operation.
+       * @returns Response data for the Block Blob Commit Block List operation.
+       */
+      async commitBlockList(blocks, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-commitBlockList", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.commitBlockList({ latest: blocks }, {
+            abortSignal: options.abortSignal,
+            blobHttpHeaders: options.blobHTTPHeaders,
+            leaseAccessConditions: options.conditions,
+            metadata: options.metadata,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
+            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
+            legalHold: options.legalHold,
+            tier: (0, models_js_1.toAccessTier)(options.tier),
+            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Returns the list of blocks that have been uploaded as part of a block blob
+       * using the specified block list filter.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-block-list
+       *
+       * @param listType - Specifies whether to return the list of committed blocks,
+       *                                        the list of uncommitted blocks, or both lists together.
+       * @param options - Options to the Block Blob Get Block List operation.
+       * @returns Response data for the Block Blob Get Block List operation.
+       */
+      async getBlockList(listType, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-getBlockList", options, async (updatedOptions) => {
+          const res = (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.getBlockList(listType, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          if (!res.committedBlocks) {
+            res.committedBlocks = [];
           }
-        }
+          if (!res.uncommittedBlocks) {
+            res.uncommittedBlocks = [];
+          }
+          return res;
+        });
       }
-    };
-    exports2.PageBlobCreateHeaders = {
-      serializedName: "PageBlob_createHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobCreateHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+      // High level functions
+      /**
+       * Uploads a Buffer(Node.js)/Blob(browsers)/ArrayBuffer/ArrayBufferView object to a BlockBlob.
+       *
+       * When data length is no more than the specifiled {@link BlockBlobParallelUploadOptions.maxSingleShotSize} (default is
+       * {@link BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}), this method will use 1 {@link upload} call to finish the upload.
+       * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call {@link commitBlockList}
+       * to commit the block list.
+       *
+       * A common {@link BlockBlobParallelUploadOptions.blobHTTPHeaders} option to set is
+       * `blobContentType`, enabling the browser to provide
+       * functionality based on file type.
+       *
+       * @param data - Buffer(Node.js), Blob, ArrayBuffer or ArrayBufferView
+       * @param options -
+       */
+      async uploadData(data, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadData", options, async (updatedOptions) => {
+          if (core_util_1.isNodeLike) {
+            let buffer;
+            if (data instanceof Buffer) {
+              buffer = data;
+            } else if (data instanceof ArrayBuffer) {
+              buffer = Buffer.from(data);
+            } else {
+              data = data;
+              buffer = Buffer.from(data.buffer, data.byteOffset, data.byteLength);
             }
+            return this.uploadSeekableInternal((offset, size) => buffer.slice(offset, offset + size), buffer.byteLength, updatedOptions);
+          } else {
+            const browserBlob = new Blob([data]);
+            return this.uploadSeekableInternal((offset, size) => browserBlob.slice(offset, offset + size), browserBlob.size, updatedOptions);
           }
-        }
+        });
       }
-    };
-    exports2.PageBlobCreateExceptionHeaders = {
-      serializedName: "PageBlob_createExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobCreateExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * ONLY AVAILABLE IN BROWSERS.
+       *
+       * Uploads a browser Blob/File/ArrayBuffer/ArrayBufferView object to block blob.
+       *
+       * When buffer length lesser than or equal to 256MB, this method will use 1 upload call to finish the upload.
+       * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call
+       * {@link commitBlockList} to commit the block list.
+       *
+       * A common {@link BlockBlobParallelUploadOptions.blobHTTPHeaders} option to set is
+       * `blobContentType`, enabling the browser to provide
+       * functionality based on file type.
+       *
+       * @deprecated Use {@link uploadData} instead.
+       *
+       * @param browserData - Blob, File, ArrayBuffer or ArrayBufferView
+       * @param options - Options to upload browser data.
+       * @returns Response data for the Blob Upload operation.
+       */
+      async uploadBrowserData(browserData, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadBrowserData", options, async (updatedOptions) => {
+          const browserBlob = new Blob([browserData]);
+          return this.uploadSeekableInternal((offset, size) => browserBlob.slice(offset, offset + size), browserBlob.size, updatedOptions);
+        });
       }
-    };
-    exports2.PageBlobUploadPagesHeaders = {
-      serializedName: "PageBlob_uploadPagesHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobUploadPagesHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          xMsContentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          blobSequenceNumber: {
-            serializedName: "x-ms-blob-sequence-number",
-            xmlName: "x-ms-blob-sequence-number",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       *
+       * Uploads data to block blob. Requires a bodyFactory as the data source,
+       * which need to return a {@link HttpRequestBody} object with the offset and size provided.
+       *
+       * When data length is no more than the specified {@link BlockBlobParallelUploadOptions.maxSingleShotSize} (default is
+       * {@link BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}), this method will use 1 {@link upload} call to finish the upload.
+       * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call {@link commitBlockList}
+       * to commit the block list.
+       *
+       * @param bodyFactory -
+       * @param size - size of the data to upload.
+       * @param options - Options to Upload to Block Blob operation.
+       * @returns Response data for the Blob Upload operation.
+       */
+      async uploadSeekableInternal(bodyFactory, size, options = {}) {
+        let blockSize = options.blockSize ?? 0;
+        if (blockSize < 0 || blockSize > constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES) {
+          throw new RangeError(`blockSize option must be >= 0 and <= ${constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES}`);
         }
-      }
-    };
-    exports2.PageBlobUploadPagesExceptionHeaders = {
-      serializedName: "PageBlob_uploadPagesExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobUploadPagesExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+        const maxSingleShotSize = options.maxSingleShotSize ?? constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES;
+        if (maxSingleShotSize < 0 || maxSingleShotSize > constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES) {
+          throw new RangeError(`maxSingleShotSize option must be >= 0 and <= ${constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}`);
         }
-      }
-    };
-    exports2.PageBlobClearPagesHeaders = {
-      serializedName: "PageBlob_clearPagesHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobClearPagesHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          xMsContentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          blobSequenceNumber: {
-            serializedName: "x-ms-blob-sequence-number",
-            xmlName: "x-ms-blob-sequence-number",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+        if (blockSize === 0) {
+          if (size > constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES * constants_js_1.BLOCK_BLOB_MAX_BLOCKS) {
+            throw new RangeError(`${size} is too larger to upload to a block blob.`);
+          }
+          if (size > maxSingleShotSize) {
+            blockSize = Math.ceil(size / constants_js_1.BLOCK_BLOB_MAX_BLOCKS);
+            if (blockSize < constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES) {
+              blockSize = constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES;
             }
           }
         }
-      }
-    };
-    exports2.PageBlobClearPagesExceptionHeaders = {
-      serializedName: "PageBlob_clearPagesExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobClearPagesExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+        if (!options.blobHTTPHeaders) {
+          options.blobHTTPHeaders = {};
+        }
+        if (!options.conditions) {
+          options.conditions = {};
+        }
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadSeekableInternal", options, async (updatedOptions) => {
+          if (size <= maxSingleShotSize) {
+            return (0, utils_common_js_1.assertResponse)(await this.upload(bodyFactory(0, size), size, updatedOptions));
+          }
+          const numBlocks = Math.floor((size - 1) / blockSize) + 1;
+          if (numBlocks > constants_js_1.BLOCK_BLOB_MAX_BLOCKS) {
+            throw new RangeError(`The buffer's size is too big or the BlockSize is too small;the number of blocks must be <= ${constants_js_1.BLOCK_BLOB_MAX_BLOCKS}`);
+          }
+          const blockList = [];
+          const blockIDPrefix = (0, core_util_2.randomUUID)();
+          let transferProgress = 0;
+          const batch = new Batch_js_1.Batch(options.concurrency);
+          for (let i = 0; i < numBlocks; i++) {
+            batch.addOperation(async () => {
+              const blockID = (0, utils_common_js_1.generateBlockID)(blockIDPrefix, i);
+              const start = blockSize * i;
+              const end = i === numBlocks - 1 ? size : start + blockSize;
+              const contentLength = end - start;
+              blockList.push(blockID);
+              await this.stageBlock(blockID, bodyFactory(start, contentLength), contentLength, {
+                abortSignal: options.abortSignal,
+                conditions: options.conditions,
+                encryptionScope: options.encryptionScope,
+                tracingOptions: updatedOptions.tracingOptions
+              });
+              transferProgress += contentLength;
+              if (options.onProgress) {
+                options.onProgress({
+                  loadedBytes: transferProgress
+                });
+              }
+            });
           }
+          await batch.do();
+          return this.commitBlockList(blockList, updatedOptions);
+        });
+      }
+      /**
+       * ONLY AVAILABLE IN NODE.JS RUNTIME.
+       *
+       * Uploads a local file in blocks to a block blob.
+       *
+       * When file size lesser than or equal to 256MB, this method will use 1 upload call to finish the upload.
+       * Otherwise, this method will call stageBlock to upload blocks, and finally call commitBlockList
+       * to commit the block list.
+       *
+       * @param filePath - Full path of local file
+       * @param options - Options to Upload to Block Blob operation.
+       * @returns Response data for the Blob Upload operation.
+       */
+      async uploadFile(filePath, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadFile", options, async (updatedOptions) => {
+          const size = (await (0, utils_js_1.fsStat)(filePath)).size;
+          return this.uploadSeekableInternal((offset, count) => {
+            return () => (0, utils_js_1.fsCreateReadStream)(filePath, {
+              autoClose: true,
+              end: count ? offset + count - 1 : Infinity,
+              start: offset
+            });
+          }, size, {
+            ...options,
+            tracingOptions: updatedOptions.tracingOptions
+          });
+        });
+      }
+      /**
+       * ONLY AVAILABLE IN NODE.JS RUNTIME.
+       *
+       * Uploads a Node.js Readable stream into block blob.
+       *
+       * PERFORMANCE IMPROVEMENT TIPS:
+       * * Input stream highWaterMark is better to set a same value with bufferSize
+       *    parameter, which will avoid Buffer.concat() operations.
+       *
+       * @param stream - Node.js Readable stream
+       * @param bufferSize - Size of every buffer allocated, also the block size in the uploaded block blob. Default value is 8MB
+       * @param maxConcurrency -  Max concurrency indicates the max number of buffers that can be allocated,
+       *                                 positive correlation with max uploading concurrency. Default value is 5
+       * @param options - Options to Upload Stream to Block Blob operation.
+       * @returns Response data for the Blob Upload operation.
+       */
+      async uploadStream(stream, bufferSize = constants_js_1.DEFAULT_BLOCK_BUFFER_SIZE_BYTES, maxConcurrency = 5, options = {}) {
+        if (!options.blobHTTPHeaders) {
+          options.blobHTTPHeaders = {};
+        }
+        if (!options.conditions) {
+          options.conditions = {};
         }
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadStream", options, async (updatedOptions) => {
+          let blockNum = 0;
+          const blockIDPrefix = (0, core_util_2.randomUUID)();
+          let transferProgress = 0;
+          const blockList = [];
+          const scheduler = new storage_common_1.BufferScheduler(
+            stream,
+            bufferSize,
+            maxConcurrency,
+            async (body, length) => {
+              const blockID = (0, utils_common_js_1.generateBlockID)(blockIDPrefix, blockNum);
+              blockList.push(blockID);
+              blockNum++;
+              await this.stageBlock(blockID, body, length, {
+                customerProvidedKey: options.customerProvidedKey,
+                conditions: options.conditions,
+                encryptionScope: options.encryptionScope,
+                tracingOptions: updatedOptions.tracingOptions
+              });
+              transferProgress += length;
+              if (options.onProgress) {
+                options.onProgress({ loadedBytes: transferProgress });
+              }
+            },
+            // concurrency should set a smaller value than maxConcurrency, which is helpful to
+            // reduce the possibility when a outgoing handler waits for stream data, in
+            // this situation, outgoing handlers are blocked.
+            // Outgoing queue shouldn't be empty.
+            Math.ceil(maxConcurrency / 4 * 3)
+          );
+          await scheduler.do();
+          return (0, utils_common_js_1.assertResponse)(await this.commitBlockList(blockList, {
+            ...options,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
     };
-    exports2.PageBlobUploadPagesFromURLHeaders = {
-      serializedName: "PageBlob_uploadPagesFromURLHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobUploadPagesFromURLHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          xMsContentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          blobSequenceNumber: {
-            serializedName: "x-ms-blob-sequence-number",
-            xmlName: "x-ms-blob-sequence-number",
-            type: {
-              name: "Number"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+    exports2.BlockBlobClient = BlockBlobClient;
+    var PageBlobClient = class _PageBlobClient extends BlobClient {
+      /**
+       * pageBlobsContext provided by protocol layer.
+       */
+      pageBlobContext;
+      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
+        let pipeline;
+        let url;
+        options = options || {};
+        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
+          url = urlOrConnectionString;
+          pipeline = credentialOrPipelineOrContainerName;
+        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
+          url = urlOrConnectionString;
+          options = blobNameOrOptions;
+          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
+        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
+          url = urlOrConnectionString;
+          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
+          const containerName = credentialOrPipelineOrContainerName;
+          const blobName = blobNameOrOptions;
+          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
+          if (extractedCreds.kind === "AccountConnString") {
+            if (core_util_1.isNodeLike) {
+              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
+              url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
+              if (!options.proxyOptions) {
+                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+              }
+              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+            } else {
+              throw new Error("Account connection string is only supported in Node.js environment");
             }
+          } else if (extractedCreds.kind === "SASConnString") {
+            url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
+            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+          } else {
+            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
           }
+        } else {
+          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
         }
+        super(url, pipeline);
+        this.pageBlobContext = this.storageClientContext.pageBlob;
       }
-    };
-    exports2.PageBlobUploadPagesFromURLExceptionHeaders = {
-      serializedName: "PageBlob_uploadPagesFromURLExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobUploadPagesFromURLExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceErrorCode: {
-            serializedName: "x-ms-copy-source-error-code",
-            xmlName: "x-ms-copy-source-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceStatusCode: {
-            serializedName: "x-ms-copy-source-status-code",
-            xmlName: "x-ms-copy-source-status-code",
-            type: {
-              name: "Number"
+      /**
+       * Creates a new PageBlobClient object identical to the source but with the
+       * specified snapshot timestamp.
+       * Provide "" will remove the snapshot and return a Client to the base blob.
+       *
+       * @param snapshot - The snapshot timestamp.
+       * @returns A new PageBlobClient object identical to the source but with the specified snapshot timestamp.
+       */
+      withSnapshot(snapshot) {
+        return new _PageBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
+      }
+      /**
+       * Creates a page blob of the specified length. Call uploadPages to upload data
+       * data to a page blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
+       *
+       * @param size - size of the page blob.
+       * @param options - Options to the Page Blob Create operation.
+       * @returns Response data for the Page Blob Create operation.
+       */
+      async create(size, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-create", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.create(0, size, {
+            abortSignal: options.abortSignal,
+            blobHttpHeaders: options.blobHTTPHeaders,
+            blobSequenceNumber: options.blobSequenceNumber,
+            leaseAccessConditions: options.conditions,
+            metadata: options.metadata,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
+            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
+            legalHold: options.legalHold,
+            tier: (0, models_js_1.toAccessTier)(options.tier),
+            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Creates a page blob of the specified length. Call uploadPages to upload data
+       * data to a page blob. If the blob with the same name already exists, the content
+       * of the existing blob will remain unchanged.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
+       *
+       * @param size - size of the page blob.
+       * @param options -
+       */
+      async createIfNotExists(size, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-createIfNotExists", options, async (updatedOptions) => {
+          try {
+            const conditions = { ifNoneMatch: constants_js_1.ETagAny };
+            const res = (0, utils_common_js_1.assertResponse)(await this.create(size, {
+              ...options,
+              conditions,
+              tracingOptions: updatedOptions.tracingOptions
+            }));
+            return {
+              succeeded: true,
+              ...res,
+              _response: res._response
+              // _response is made non-enumerable
+            };
+          } catch (e) {
+            if (e.details?.errorCode === "BlobAlreadyExists") {
+              return {
+                succeeded: false,
+                ...e.response?.parsedHeaders,
+                _response: e.response
+              };
             }
+            throw e;
           }
+        });
+      }
+      /**
+       * Writes 1 or more pages to the page blob. The start and end offsets must be a multiple of 512.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-page
+       *
+       * @param body - Data to upload
+       * @param offset - Offset of destination page blob
+       * @param count - Content length of the body, also number of bytes to be uploaded
+       * @param options - Options to the Page Blob Upload Pages operation.
+       * @returns Response data for the Page Blob Upload Pages operation.
+       */
+      async uploadPages(body, offset, count, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-uploadPages", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.uploadPages(count, body, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            requestOptions: {
+              onUploadProgress: options.onProgress
+            },
+            range: (0, Range_js_1.rangeToString)({ offset, count }),
+            sequenceNumberAccessConditions: options.conditions,
+            transactionalContentMD5: options.transactionalContentMD5,
+            transactionalContentCrc64: options.transactionalContentCrc64,
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * The Upload Pages operation writes a range of pages to a page blob where the
+       * contents are read from a URL.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-page-from-url
+       *
+       * @param sourceURL - Specify a URL to the copy source, Shared Access Signature(SAS) maybe needed for authentication
+       * @param sourceOffset - The source offset to copy from. Pass 0 to copy from the beginning of source page blob
+       * @param destOffset - Offset of destination page blob
+       * @param count - Number of bytes to be uploaded from source page blob
+       * @param options -
+       */
+      async uploadPagesFromURL(sourceURL, sourceOffset, destOffset, count, options = {}) {
+        options.conditions = options.conditions || {};
+        options.sourceConditions = options.sourceConditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-uploadPagesFromURL", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.uploadPagesFromURL(sourceURL, (0, Range_js_1.rangeToString)({ offset: sourceOffset, count }), 0, (0, Range_js_1.rangeToString)({ offset: destOffset, count }), {
+            abortSignal: options.abortSignal,
+            sourceContentMD5: options.sourceContentMD5,
+            sourceContentCrc64: options.sourceContentCrc64,
+            leaseAccessConditions: options.conditions,
+            sequenceNumberAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            sourceModifiedAccessConditions: {
+              sourceIfMatch: options.sourceConditions?.ifMatch,
+              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
+              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
+              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince
+            },
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
+            fileRequestIntent: options.sourceShareTokenIntent,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Frees the specified pages from the page blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-page
+       *
+       * @param offset - Starting byte position of the pages to clear.
+       * @param count - Number of bytes to clear.
+       * @param options - Options to the Page Blob Clear Pages operation.
+       * @returns Response data for the Page Blob Clear Pages operation.
+       */
+      async clearPages(offset = 0, count, options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-clearPages", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.clearPages(0, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            range: (0, Range_js_1.rangeToString)({ offset, count }),
+            sequenceNumberAccessConditions: options.conditions,
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Returns the list of valid page ranges for a page blob or snapshot of a page blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param options - Options to the Page Blob Get Ranges operation.
+       * @returns Response data for the Page Blob Get Ranges operation.
+       */
+      async getPageRanges(offset = 0, count, options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRanges", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRanges({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            range: (0, Range_js_1.rangeToString)({ offset, count }),
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(response);
+        });
+      }
+      /**
+       * getPageRangesSegment returns a single segment of page ranges starting from the
+       * specified Marker. Use an empty Marker to start enumeration from the beginning.
+       * After getting a segment, process it, and then call getPageRangesSegment again
+       * (passing the the previously-returned Marker) to get the next segment.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param marker - A string value that identifies the portion of the list to be returned with the next list operation.
+       * @param options - Options to PageBlob Get Page Ranges Segment operation.
+       */
+      async listPageRangesSegment(offset = 0, count, marker, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesSegment", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRanges({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            range: (0, Range_js_1.rangeToString)({ offset, count }),
+            marker,
+            maxPageSize: options.maxPageSize,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Returns an AsyncIterableIterator for {@link PageBlobGetPageRangesResponseModel}
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param marker - A string value that identifies the portion of
+       *                          the get of page ranges to be returned with the next getting operation. The
+       *                          operation returns the ContinuationToken value within the response body if the
+       *                          getting operation did not return all page ranges remaining within the current page.
+       *                          The ContinuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of get
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to List Page Ranges operation.
+       */
+      async *listPageRangeItemSegments(offset = 0, count, marker, options = {}) {
+        let getPageRangeItemSegmentsResponse;
+        if (!!marker || marker === void 0) {
+          do {
+            getPageRangeItemSegmentsResponse = await this.listPageRangesSegment(offset, count, marker, options);
+            marker = getPageRangeItemSegmentsResponse.continuationToken;
+            yield await getPageRangeItemSegmentsResponse;
+          } while (marker);
         }
       }
-    };
-    exports2.PageBlobGetPageRangesHeaders = {
-      serializedName: "PageBlob_getPageRangesHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobGetPageRangesHeaders",
-        modelProperties: {
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          blobContentLength: {
-            serializedName: "x-ms-blob-content-length",
-            xmlName: "x-ms-blob-content-length",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
+      /**
+       * Returns an AsyncIterableIterator of {@link PageRangeInfo} objects
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param options - Options to List Page Ranges operation.
+       */
+      async *listPageRangeItems(offset = 0, count, options = {}) {
+        let marker;
+        for await (const getPageRangesSegment of this.listPageRangeItemSegments(offset, count, marker, options)) {
+          yield* (0, utils_common_js_1.ExtractPageRangeInfoItems)(getPageRangesSegment);
+        }
+      }
+      /**
+       * Returns an async iterable iterator to list of page ranges for a page blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
+       *
+       *  .byPage() returns an async iterable iterator to list of page ranges for a page blob.
+       *
+       * ```ts snippet:ClientsListPageBlobs
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const pageBlobClient = containerClient.getPageBlobClient(blobName);
+       *
+       * // Example using `for await` syntax
+       * let i = 1;
+       * for await (const pageRange of pageBlobClient.listPageRanges()) {
+       *   console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       * }
+       *
+       * // Example using `iter.next()` syntax
+       * i = 1;
+       * const iter = pageBlobClient.listPageRanges();
+       * let { value, done } = await iter.next();
+       * while (!done) {
+       *   console.log(`Page range ${i++}: ${value.start} - ${value.end}`);
+       *   ({ value, done } = await iter.next());
+       * }
+       *
+       * // Example using `byPage()` syntax
+       * i = 1;
+       * for await (const page of pageBlobClient.listPageRanges().byPage({ maxPageSize: 20 })) {
+       *   for (const pageRange of page.pageRange || []) {
+       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       *   }
+       * }
+       *
+       * // Example using paging with a marker
+       * i = 1;
+       * let iterator = pageBlobClient.listPageRanges().byPage({ maxPageSize: 2 });
+       * let response = (await iterator.next()).value;
+       * // Prints 2 page ranges
+       * if (response.pageRange) {
+       *   for (const pageRange of response.pageRange) {
+       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       *   }
+       * }
+       * // Gets next marker
+       * let marker = response.continuationToken;
+       * // Passing next marker as continuationToken
+       * iterator = pageBlobClient.listPageRanges().byPage({ continuationToken: marker, maxPageSize: 10 });
+       * response = (await iterator.next()).value;
+       * // Prints 10 page ranges
+       * if (response.pageRange) {
+       *   for (const pageRange of response.pageRange) {
+       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       *   }
+       * }
+       * ```
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param options - Options to the Page Blob Get Ranges operation.
+       * @returns An asyncIterableIterator that supports paging.
+       */
+      listPageRanges(offset = 0, count, options = {}) {
+        options.conditions = options.conditions || {};
+        const iter = this.listPageRangeItems(offset, count, options);
+        return {
+          /**
+           * The next method, part of the iteration protocol
+           */
+          next() {
+            return iter.next();
           },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
+          /**
+           * The connection to the async iterator, part of the iteration protocol
+           */
+          [Symbol.asyncIterator]() {
+            return this;
           },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+          /**
+           * Return an AsyncIterableIterator that works a page at a time
+           */
+          byPage: (settings = {}) => {
+            return this.listPageRangeItemSegments(offset, count, settings.continuationToken, {
+              maxPageSize: settings.maxPageSize,
+              ...options
+            });
           }
+        };
+      }
+      /**
+       * Gets the collection of page ranges that differ between a specified snapshot and this page blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
+       *
+       * @param offset - Starting byte position of the page blob
+       * @param count - Number of bytes to get ranges diff.
+       * @param prevSnapshot - Timestamp of snapshot to retrieve the difference.
+       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
+       * @returns Response data for the Page Blob Get Page Range Diff operation.
+       */
+      async getPageRangesDiff(offset, count, prevSnapshot, options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesDiff", options, async (updatedOptions) => {
+          const result = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            prevsnapshot: prevSnapshot,
+            range: (0, Range_js_1.rangeToString)({ offset, count }),
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(result);
+        });
+      }
+      /**
+       * getPageRangesDiffSegment returns a single segment of page ranges starting from the
+       * specified Marker for difference between previous snapshot and the target page blob.
+       * Use an empty Marker to start enumeration from the beginning.
+       * After getting a segment, process it, and then call getPageRangesDiffSegment again
+       * (passing the the previously-returned Marker) to get the next segment.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference.
+       * @param marker - A string value that identifies the portion of the get to be returned with the next get operation.
+       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
+       */
+      async listPageRangesDiffSegment(offset, count, prevSnapshotOrUrl, marker, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesDiffSegment", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({
+            abortSignal: options?.abortSignal,
+            leaseAccessConditions: options?.conditions,
+            modifiedAccessConditions: {
+              ...options?.conditions,
+              ifTags: options?.conditions?.tagConditions
+            },
+            prevsnapshot: prevSnapshotOrUrl,
+            range: (0, Range_js_1.rangeToString)({
+              offset,
+              count
+            }),
+            marker,
+            maxPageSize: options?.maxPageSize,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Returns an AsyncIterableIterator for {@link PageBlobGetPageRangesDiffResponseModel}
+       *
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference.
+       * @param marker - A string value that identifies the portion of
+       *                          the get of page ranges to be returned with the next getting operation. The
+       *                          operation returns the ContinuationToken value within the response body if the
+       *                          getting operation did not return all page ranges remaining within the current page.
+       *                          The ContinuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of get
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
+       */
+      async *listPageRangeDiffItemSegments(offset, count, prevSnapshotOrUrl, marker, options) {
+        let getPageRangeItemSegmentsResponse;
+        if (!!marker || marker === void 0) {
+          do {
+            getPageRangeItemSegmentsResponse = await this.listPageRangesDiffSegment(offset, count, prevSnapshotOrUrl, marker, options);
+            marker = getPageRangeItemSegmentsResponse.continuationToken;
+            yield await getPageRangeItemSegmentsResponse;
+          } while (marker);
         }
       }
-    };
-    exports2.PageBlobGetPageRangesExceptionHeaders = {
-      serializedName: "PageBlob_getPageRangesExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobGetPageRangesExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       * Returns an AsyncIterableIterator of {@link PageRangeInfo} objects
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference.
+       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
+       */
+      async *listPageRangeDiffItems(offset, count, prevSnapshotOrUrl, options) {
+        let marker;
+        for await (const getPageRangesSegment of this.listPageRangeDiffItemSegments(offset, count, prevSnapshotOrUrl, marker, options)) {
+          yield* (0, utils_common_js_1.ExtractPageRangeInfoItems)(getPageRangesSegment);
         }
       }
-    };
-    exports2.PageBlobGetPageRangesDiffHeaders = {
-      serializedName: "PageBlob_getPageRangesDiffHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobGetPageRangesDiffHeaders",
-        modelProperties: {
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          blobContentLength: {
-            serializedName: "x-ms-blob-content-length",
-            xmlName: "x-ms-blob-content-length",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
+      /**
+       * Returns an async iterable iterator to list of page ranges that differ between a specified snapshot and this page blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
+       *
+       *  .byPage() returns an async iterable iterator to list of page ranges that differ between a specified snapshot and this page blob.
+       *
+       * ```ts snippet:ClientsListPageBlobsDiff
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const pageBlobClient = containerClient.getPageBlobClient(blobName);
+       *
+       * const offset = 0;
+       * const count = 1024;
+       * const previousSnapshot = "";
+       * // Example using `for await` syntax
+       * let i = 1;
+       * for await (const pageRange of pageBlobClient.listPageRangesDiff(offset, count, previousSnapshot)) {
+       *   console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       * }
+       *
+       * // Example using `iter.next()` syntax
+       * i = 1;
+       * const iter = pageBlobClient.listPageRangesDiff(offset, count, previousSnapshot);
+       * let { value, done } = await iter.next();
+       * while (!done) {
+       *   console.log(`Page range ${i++}: ${value.start} - ${value.end}`);
+       *   ({ value, done } = await iter.next());
+       * }
+       *
+       * // Example using `byPage()` syntax
+       * i = 1;
+       * for await (const page of pageBlobClient
+       *   .listPageRangesDiff(offset, count, previousSnapshot)
+       *   .byPage({ maxPageSize: 20 })) {
+       *   for (const pageRange of page.pageRange || []) {
+       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       *   }
+       * }
+       *
+       * // Example using paging with a marker
+       * i = 1;
+       * let iterator = pageBlobClient
+       *   .listPageRangesDiff(offset, count, previousSnapshot)
+       *   .byPage({ maxPageSize: 2 });
+       * let response = (await iterator.next()).value;
+       * // Prints 2 page ranges
+       * if (response.pageRange) {
+       *   for (const pageRange of response.pageRange) {
+       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       *   }
+       * }
+       * // Gets next marker
+       * let marker = response.continuationToken;
+       * // Passing next marker as continuationToken
+       * iterator = pageBlobClient
+       *   .listPageRangesDiff(offset, count, previousSnapshot)
+       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
+       * response = (await iterator.next()).value;
+       * // Prints 10 page ranges
+       * if (response.pageRange) {
+       *   for (const pageRange of response.pageRange) {
+       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       *   }
+       * }
+       * ```
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param prevSnapshot - Timestamp of snapshot to retrieve the difference.
+       * @param options - Options to the Page Blob Get Ranges operation.
+       * @returns An asyncIterableIterator that supports paging.
+       */
+      listPageRangesDiff(offset, count, prevSnapshot, options = {}) {
+        options.conditions = options.conditions || {};
+        const iter = this.listPageRangeDiffItems(offset, count, prevSnapshot, {
+          ...options
+        });
+        return {
+          /**
+           * The next method, part of the iteration protocol
+           */
+          next() {
+            return iter.next();
           },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
+          /**
+           * The connection to the async iterator, part of the iteration protocol
+           */
+          [Symbol.asyncIterator]() {
+            return this;
           },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+          /**
+           * Return an AsyncIterableIterator that works a page at a time
+           */
+          byPage: (settings = {}) => {
+            return this.listPageRangeDiffItemSegments(offset, count, prevSnapshot, settings.continuationToken, {
+              maxPageSize: settings.maxPageSize,
+              ...options
+            });
           }
-        }
+        };
+      }
+      /**
+       * Gets the collection of page ranges that differ between a specified snapshot and this page blob for managed disks.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
+       *
+       * @param offset - Starting byte position of the page blob
+       * @param count - Number of bytes to get ranges diff.
+       * @param prevSnapshotUrl - URL of snapshot to retrieve the difference.
+       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
+       * @returns Response data for the Page Blob Get Page Range Diff operation.
+       */
+      async getPageRangesDiffForManagedDisks(offset, count, prevSnapshotUrl, options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-GetPageRangesDiffForManagedDisks", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            prevSnapshotUrl,
+            range: (0, Range_js_1.rangeToString)({ offset, count }),
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(response);
+        });
+      }
+      /**
+       * Resizes the page blob to the specified size (which must be a multiple of 512).
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties
+       *
+       * @param size - Target size
+       * @param options - Options to the Page Blob Resize operation.
+       * @returns Response data for the Page Blob Resize operation.
+       */
+      async resize(size, options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-resize", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.resize(size, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            encryptionScope: options.encryptionScope,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Sets a page blob's sequence number.
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties
+       *
+       * @param sequenceNumberAction - Indicates how the service should modify the blob's sequence number.
+       * @param sequenceNumber - Required if sequenceNumberAction is max or update
+       * @param options - Options to the Page Blob Update Sequence Number operation.
+       * @returns Response data for the Page Blob Update Sequence Number operation.
+       */
+      async updateSequenceNumber(sequenceNumberAction, sequenceNumber, options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-updateSequenceNumber", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.updateSequenceNumber(sequenceNumberAction, {
+            abortSignal: options.abortSignal,
+            blobSequenceNumber: sequenceNumber,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Begins an operation to start an incremental copy from one page blob's snapshot to this page blob.
+       * The snapshot is copied such that only the differential changes between the previously
+       * copied snapshot are transferred to the destination.
+       * The copied snapshots are complete copies of the original snapshot and can be read or copied from as usual.
+       * @see https://learn.microsoft.com/rest/api/storageservices/incremental-copy-blob
+       * @see https://learn.microsoft.com/azure/virtual-machines/windows/incremental-snapshots
+       *
+       * @param copySource - Specifies the name of the source page blob snapshot. For example,
+       *                            https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=
+       * @param options - Options to the Page Blob Copy Incremental operation.
+       * @returns Response data for the Page Blob Copy Incremental operation.
+       */
+      async startCopyIncremental(copySource, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-startCopyIncremental", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.copyIncremental(copySource, {
+            abortSignal: options.abortSignal,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
     };
-    exports2.PageBlobGetPageRangesDiffExceptionHeaders = {
-      serializedName: "PageBlob_getPageRangesDiffExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobGetPageRangesDiffExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+    exports2.PageBlobClient = PageBlobClient;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BatchUtils.js
+var require_BatchUtils = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BatchUtils.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getBodyAsText = getBodyAsText;
+    exports2.utf8ByteLength = utf8ByteLength;
+    var utils_js_1 = require_utils7();
+    var constants_js_1 = require_constants15();
+    async function getBodyAsText(batchResponse) {
+      let buffer = Buffer.alloc(constants_js_1.BATCH_MAX_PAYLOAD_IN_BYTES);
+      const responseLength = await (0, utils_js_1.streamToBuffer2)(batchResponse.readableStreamBody, buffer);
+      buffer = buffer.slice(0, responseLength);
+      return buffer.toString();
+    }
+    function utf8ByteLength(str2) {
+      return Buffer.byteLength(str2);
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BatchResponseParser.js
+var require_BatchResponseParser = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BatchResponseParser.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BatchResponseParser = void 0;
+    var core_rest_pipeline_1 = require_commonjs6();
+    var core_http_compat_1 = require_commonjs9();
+    var constants_js_1 = require_constants15();
+    var BatchUtils_js_1 = require_BatchUtils();
+    var log_js_1 = require_log5();
+    var HTTP_HEADER_DELIMITER = ": ";
+    var SPACE_DELIMITER = " ";
+    var NOT_FOUND = -1;
+    var BatchResponseParser = class {
+      batchResponse;
+      responseBatchBoundary;
+      perResponsePrefix;
+      batchResponseEnding;
+      subRequests;
+      constructor(batchResponse, subRequests) {
+        if (!batchResponse || !batchResponse.contentType) {
+          throw new RangeError("batchResponse is malformed or doesn't contain valid content-type.");
         }
+        if (!subRequests || subRequests.size === 0) {
+          throw new RangeError("Invalid state: subRequests is not provided or size is 0.");
+        }
+        this.batchResponse = batchResponse;
+        this.subRequests = subRequests;
+        this.responseBatchBoundary = this.batchResponse.contentType.split("=")[1];
+        this.perResponsePrefix = `--${this.responseBatchBoundary}${constants_js_1.HTTP_LINE_ENDING}`;
+        this.batchResponseEnding = `--${this.responseBatchBoundary}--`;
       }
-    };
-    exports2.PageBlobResizeHeaders = {
-      serializedName: "PageBlob_resizeHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobResizeHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          blobSequenceNumber: {
-            serializedName: "x-ms-blob-sequence-number",
-            xmlName: "x-ms-blob-sequence-number",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
+      // For example of response, please refer to https://learn.microsoft.com/rest/api/storageservices/blob-batch#response
+      async parseBatchResponse() {
+        if (this.batchResponse._response.status !== constants_js_1.HTTPURLConnection.HTTP_ACCEPTED) {
+          throw new Error(`Invalid state: batch request failed with status: '${this.batchResponse._response.status}'.`);
+        }
+        const responseBodyAsText = await (0, BatchUtils_js_1.getBodyAsText)(this.batchResponse);
+        const subResponses = responseBodyAsText.split(this.batchResponseEnding)[0].split(this.perResponsePrefix).slice(1);
+        const subResponseCount = subResponses.length;
+        if (subResponseCount !== this.subRequests.size && subResponseCount !== 1) {
+          throw new Error("Invalid state: sub responses' count is not equal to sub requests' count.");
+        }
+        const deserializedSubResponses = new Array(subResponseCount);
+        let subResponsesSucceededCount = 0;
+        let subResponsesFailedCount = 0;
+        for (let index = 0; index < subResponseCount; index++) {
+          const subResponse = subResponses[index];
+          const deserializedSubResponse = {};
+          deserializedSubResponse.headers = (0, core_http_compat_1.toHttpHeadersLike)((0, core_rest_pipeline_1.createHttpHeaders)());
+          const responseLines = subResponse.split(`${constants_js_1.HTTP_LINE_ENDING}`);
+          let subRespHeaderStartFound = false;
+          let subRespHeaderEndFound = false;
+          let subRespFailed = false;
+          let contentId = NOT_FOUND;
+          for (const responseLine of responseLines) {
+            if (!subRespHeaderStartFound) {
+              if (responseLine.startsWith(constants_js_1.HeaderConstants.CONTENT_ID)) {
+                contentId = parseInt(responseLine.split(HTTP_HEADER_DELIMITER)[1]);
+              }
+              if (responseLine.startsWith(constants_js_1.HTTP_VERSION_1_1)) {
+                subRespHeaderStartFound = true;
+                const tokens = responseLine.split(SPACE_DELIMITER);
+                deserializedSubResponse.status = parseInt(tokens[1]);
+                deserializedSubResponse.statusMessage = tokens.slice(2).join(SPACE_DELIMITER);
+              }
+              continue;
             }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+            if (responseLine.trim() === "") {
+              if (!subRespHeaderEndFound) {
+                subRespHeaderEndFound = true;
+              }
+              continue;
+            }
+            if (!subRespHeaderEndFound) {
+              if (responseLine.indexOf(HTTP_HEADER_DELIMITER) === -1) {
+                throw new Error(`Invalid state: find non-empty line '${responseLine}' without HTTP header delimiter '${HTTP_HEADER_DELIMITER}'.`);
+              }
+              const tokens = responseLine.split(HTTP_HEADER_DELIMITER);
+              deserializedSubResponse.headers.set(tokens[0], tokens[1]);
+              if (tokens[0] === constants_js_1.HeaderConstants.X_MS_ERROR_CODE) {
+                deserializedSubResponse.errorCode = tokens[1];
+                subRespFailed = true;
+              }
+            } else {
+              if (!deserializedSubResponse.bodyAsText) {
+                deserializedSubResponse.bodyAsText = "";
+              }
+              deserializedSubResponse.bodyAsText += responseLine;
             }
           }
+          if (contentId !== NOT_FOUND && Number.isInteger(contentId) && contentId >= 0 && contentId < this.subRequests.size && deserializedSubResponses[contentId] === void 0) {
+            deserializedSubResponse._request = this.subRequests.get(contentId);
+            deserializedSubResponses[contentId] = deserializedSubResponse;
+          } else {
+            log_js_1.logger.error(`subResponses[${index}] is dropped as the Content-ID is not found or invalid, Content-ID: ${contentId}`);
+          }
+          if (subRespFailed) {
+            subResponsesFailedCount++;
+          } else {
+            subResponsesSucceededCount++;
+          }
         }
+        return {
+          subResponses: deserializedSubResponses,
+          subResponsesSucceededCount,
+          subResponsesFailedCount
+        };
       }
     };
-    exports2.PageBlobResizeExceptionHeaders = {
-      serializedName: "PageBlob_resizeExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobResizeExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+    exports2.BatchResponseParser = BatchResponseParser;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/utils/Mutex.js
+var require_Mutex = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/Mutex.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Mutex = void 0;
+    var MutexLockStatus;
+    (function(MutexLockStatus2) {
+      MutexLockStatus2[MutexLockStatus2["LOCKED"] = 0] = "LOCKED";
+      MutexLockStatus2[MutexLockStatus2["UNLOCKED"] = 1] = "UNLOCKED";
+    })(MutexLockStatus || (MutexLockStatus = {}));
+    var Mutex = class {
+      /**
+       * Lock for a specific key. If the lock has been acquired by another customer, then
+       * will wait until getting the lock.
+       *
+       * @param key - lock key
+       */
+      static async lock(key) {
+        return new Promise((resolve3) => {
+          if (this.keys[key] === void 0 || this.keys[key] === MutexLockStatus.UNLOCKED) {
+            this.keys[key] = MutexLockStatus.LOCKED;
+            resolve3();
+          } else {
+            this.onUnlockEvent(key, () => {
+              this.keys[key] = MutexLockStatus.LOCKED;
+              resolve3();
+            });
           }
-        }
+        });
       }
-    };
-    exports2.PageBlobUpdateSequenceNumberHeaders = {
-      serializedName: "PageBlob_updateSequenceNumberHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobUpdateSequenceNumberHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          blobSequenceNumber: {
-            serializedName: "x-ms-blob-sequence-number",
-            xmlName: "x-ms-blob-sequence-number",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      /**
+       * Unlock a key.
+       *
+       * @param key -
+       */
+      static async unlock(key) {
+        return new Promise((resolve3) => {
+          if (this.keys[key] === MutexLockStatus.LOCKED) {
+            this.emitUnlockEvent(key);
           }
+          delete this.keys[key];
+          resolve3();
+        });
+      }
+      static keys = {};
+      static listeners = {};
+      static onUnlockEvent(key, handler2) {
+        if (this.listeners[key] === void 0) {
+          this.listeners[key] = [handler2];
+        } else {
+          this.listeners[key].push(handler2);
         }
       }
-    };
-    exports2.PageBlobUpdateSequenceNumberExceptionHeaders = {
-      serializedName: "PageBlob_updateSequenceNumberExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobUpdateSequenceNumberExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      static emitUnlockEvent(key) {
+        if (this.listeners[key] !== void 0 && this.listeners[key].length > 0) {
+          const handler2 = this.listeners[key].shift();
+          setImmediate(() => {
+            handler2.call(this);
+          });
         }
       }
     };
-    exports2.PageBlobCopyIncrementalHeaders = {
-      serializedName: "PageBlob_copyIncrementalHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobCopyIncrementalHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          copyId: {
-            serializedName: "x-ms-copy-id",
-            xmlName: "x-ms-copy-id",
-            type: {
-              name: "String"
-            }
-          },
-          copyStatus: {
-            serializedName: "x-ms-copy-status",
-            xmlName: "x-ms-copy-status",
-            type: {
-              name: "Enum",
-              allowedValues: ["pending", "success", "aborted", "failed"]
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+    exports2.Mutex = Mutex;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BlobBatch.js
+var require_BlobBatch = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BlobBatch.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobBatch = void 0;
+    var core_util_1 = require_commonjs4();
+    var core_auth_1 = require_commonjs7();
+    var core_rest_pipeline_1 = require_commonjs6();
+    var core_util_2 = require_commonjs4();
+    var AnonymousCredential_js_1 = require_AnonymousCredential();
+    var Clients_js_1 = require_Clients();
+    var Mutex_js_1 = require_Mutex();
+    var Pipeline_js_1 = require_Pipeline();
+    var utils_common_js_1 = require_utils_common();
+    var core_xml_1 = require_commonjs10();
+    var constants_js_1 = require_constants15();
+    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
+    var tracing_js_1 = require_tracing();
+    var core_client_1 = require_commonjs8();
+    var StorageSharedKeyCredentialPolicyV2_js_1 = require_StorageSharedKeyCredentialPolicyV22();
+    var BlobBatch = class {
+      batchRequest;
+      batch = "batch";
+      batchType;
+      constructor() {
+        this.batchRequest = new InnerBatchRequest();
+      }
+      /**
+       * Get the value of Content-Type for a batch request.
+       * The value must be multipart/mixed with a batch boundary.
+       * Example: multipart/mixed; boundary=batch_a81786c8-e301-4e42-a729-a32ca24ae252
+       */
+      getMultiPartContentType() {
+        return this.batchRequest.getMultipartContentType();
+      }
+      /**
+       * Get assembled HTTP request body for sub requests.
+       */
+      getHttpRequestBody() {
+        return this.batchRequest.getHttpRequestBody();
+      }
+      /**
+       * Get sub requests that are added into the batch request.
+       */
+      getSubRequests() {
+        return this.batchRequest.getSubRequests();
+      }
+      async addSubRequestInternal(subRequest, assembleSubRequestFunc) {
+        await Mutex_js_1.Mutex.lock(this.batch);
+        try {
+          this.batchRequest.preAddSubRequest(subRequest);
+          await assembleSubRequestFunc();
+          this.batchRequest.postAddSubRequest(subRequest);
+        } finally {
+          await Mutex_js_1.Mutex.unlock(this.batch);
         }
       }
-    };
-    exports2.PageBlobCopyIncrementalExceptionHeaders = {
-      serializedName: "PageBlob_copyIncrementalExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobCopyIncrementalExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      setBatchType(batchType) {
+        if (!this.batchType) {
+          this.batchType = batchType;
+        }
+        if (this.batchType !== batchType) {
+          throw new RangeError(`BlobBatch only supports one operation type per batch and it already is being used for ${this.batchType} operations.`);
+        }
+      }
+      async deleteBlob(urlOrBlobClient, credentialOrOptions, options) {
+        let url;
+        let credential;
+        if (typeof urlOrBlobClient === "string" && (core_util_2.isNodeLike && credentialOrOptions instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrOptions instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrOptions))) {
+          url = urlOrBlobClient;
+          credential = credentialOrOptions;
+        } else if (urlOrBlobClient instanceof Clients_js_1.BlobClient) {
+          url = urlOrBlobClient.url;
+          credential = urlOrBlobClient.credential;
+          options = credentialOrOptions;
+        } else {
+          throw new RangeError("Invalid arguments. Either url and credential, or BlobClient need be provided.");
+        }
+        if (!options) {
+          options = {};
+        }
+        return tracing_js_1.tracingClient.withSpan("BatchDeleteRequest-addSubRequest", options, async (updatedOptions) => {
+          this.setBatchType("delete");
+          await this.addSubRequestInternal({
+            url,
+            credential
+          }, async () => {
+            await new Clients_js_1.BlobClient(url, this.batchRequest.createPipeline(credential)).delete(updatedOptions);
+          });
+        });
+      }
+      async setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions, options) {
+        let url;
+        let credential;
+        let tier;
+        if (typeof urlOrBlobClient === "string" && (core_util_2.isNodeLike && credentialOrTier instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrTier instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrTier))) {
+          url = urlOrBlobClient;
+          credential = credentialOrTier;
+          tier = tierOrOptions;
+        } else if (urlOrBlobClient instanceof Clients_js_1.BlobClient) {
+          url = urlOrBlobClient.url;
+          credential = urlOrBlobClient.credential;
+          tier = credentialOrTier;
+          options = tierOrOptions;
+        } else {
+          throw new RangeError("Invalid arguments. Either url and credential, or BlobClient need be provided.");
+        }
+        if (!options) {
+          options = {};
         }
+        return tracing_js_1.tracingClient.withSpan("BatchSetTierRequest-addSubRequest", options, async (updatedOptions) => {
+          this.setBatchType("setAccessTier");
+          await this.addSubRequestInternal({
+            url,
+            credential
+          }, async () => {
+            await new Clients_js_1.BlobClient(url, this.batchRequest.createPipeline(credential)).setAccessTier(tier, updatedOptions);
+          });
+        });
       }
     };
-    exports2.AppendBlobCreateHeaders = {
-      serializedName: "AppendBlob_createHeaders",
-      type: {
-        name: "Composite",
-        className: "AppendBlobCreateHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+    exports2.BlobBatch = BlobBatch;
+    var InnerBatchRequest = class {
+      operationCount;
+      body;
+      subRequests;
+      boundary;
+      subRequestPrefix;
+      multipartContentType;
+      batchRequestEnding;
+      constructor() {
+        this.operationCount = 0;
+        this.body = "";
+        const tempGuid = (0, core_util_1.randomUUID)();
+        this.boundary = `batch_${tempGuid}`;
+        this.subRequestPrefix = `--${this.boundary}${constants_js_1.HTTP_LINE_ENDING}${constants_js_1.HeaderConstants.CONTENT_TYPE}: application/http${constants_js_1.HTTP_LINE_ENDING}${constants_js_1.HeaderConstants.CONTENT_TRANSFER_ENCODING}: binary`;
+        this.multipartContentType = `multipart/mixed; boundary=${this.boundary}`;
+        this.batchRequestEnding = `--${this.boundary}--`;
+        this.subRequests = /* @__PURE__ */ new Map();
+      }
+      /**
+       * Create pipeline to assemble sub requests. The idea here is to use existing
+       * credential and serialization/deserialization components, with additional policies to
+       * filter unnecessary headers, assemble sub requests into request's body
+       * and intercept request from going to wire.
+       * @param credential -  Such as AnonymousCredential, StorageSharedKeyCredential or any credential from the `@azure/identity` package to authenticate requests to the service. You can also provide an object that implements the TokenCredential interface. If not specified, AnonymousCredential is used.
+       */
+      createPipeline(credential) {
+        const corePipeline = (0, core_rest_pipeline_1.createEmptyPipeline)();
+        corePipeline.addPolicy((0, core_client_1.serializationPolicy)({
+          stringifyXML: core_xml_1.stringifyXML,
+          serializerOptions: {
+            xml: {
+              xmlCharKey: "#"
             }
           }
+        }), { phase: "Serialize" });
+        corePipeline.addPolicy(batchHeaderFilterPolicy());
+        corePipeline.addPolicy(batchRequestAssemblePolicy(this), { afterPhase: "Sign" });
+        if ((0, core_auth_1.isTokenCredential)(credential)) {
+          corePipeline.addPolicy((0, core_rest_pipeline_1.bearerTokenAuthenticationPolicy)({
+            credential,
+            scopes: constants_js_1.StorageOAuthScopes,
+            challengeCallbacks: { authorizeRequestOnChallenge: core_client_1.authorizeRequestOnTenantChallenge }
+          }), { phase: "Sign" });
+        } else if (credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential) {
+          corePipeline.addPolicy((0, StorageSharedKeyCredentialPolicyV2_js_1.storageSharedKeyCredentialPolicy)({
+            accountName: credential.accountName,
+            accountKey: credential.accountKey
+          }), { phase: "Sign" });
+        }
+        const pipeline = new Pipeline_js_1.Pipeline([]);
+        pipeline._credential = credential;
+        pipeline._corePipeline = corePipeline;
+        return pipeline;
+      }
+      appendSubRequestToBody(request2) {
+        this.body += [
+          this.subRequestPrefix,
+          // sub request constant prefix
+          `${constants_js_1.HeaderConstants.CONTENT_ID}: ${this.operationCount}`,
+          // sub request's content ID
+          "",
+          // empty line after sub request's content ID
+          `${request2.method.toString()} ${(0, utils_common_js_1.getURLPathAndQuery)(request2.url)} ${constants_js_1.HTTP_VERSION_1_1}${constants_js_1.HTTP_LINE_ENDING}`
+          // sub request start line with method
+        ].join(constants_js_1.HTTP_LINE_ENDING);
+        for (const [name, value] of request2.headers) {
+          this.body += `${name}: ${value}${constants_js_1.HTTP_LINE_ENDING}`;
+        }
+        this.body += constants_js_1.HTTP_LINE_ENDING;
+      }
+      preAddSubRequest(subRequest) {
+        if (this.operationCount >= constants_js_1.BATCH_MAX_REQUEST) {
+          throw new RangeError(`Cannot exceed ${constants_js_1.BATCH_MAX_REQUEST} sub requests in a single batch`);
+        }
+        const path4 = (0, utils_common_js_1.getURLPath)(subRequest.url);
+        if (!path4 || path4 === "") {
+          throw new RangeError(`Invalid url for sub request: '${subRequest.url}'`);
         }
       }
+      postAddSubRequest(subRequest) {
+        this.subRequests.set(this.operationCount, subRequest);
+        this.operationCount++;
+      }
+      // Return the http request body with assembling the ending line to the sub request body.
+      getHttpRequestBody() {
+        return `${this.body}${this.batchRequestEnding}${constants_js_1.HTTP_LINE_ENDING}`;
+      }
+      getMultipartContentType() {
+        return this.multipartContentType;
+      }
+      getSubRequests() {
+        return this.subRequests;
+      }
     };
-    exports2.AppendBlobCreateExceptionHeaders = {
-      serializedName: "AppendBlob_createExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "AppendBlobCreateExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+    function batchRequestAssemblePolicy(batchRequest) {
+      return {
+        name: "batchRequestAssemblePolicy",
+        async sendRequest(request2) {
+          batchRequest.appendSubRequestToBody(request2);
+          return {
+            request: request2,
+            status: 200,
+            headers: (0, core_rest_pipeline_1.createHttpHeaders)()
+          };
+        }
+      };
+    }
+    function batchHeaderFilterPolicy() {
+      return {
+        name: "batchHeaderFilterPolicy",
+        async sendRequest(request2, next) {
+          let xMsHeaderName = "";
+          for (const [name] of request2.headers) {
+            if ((0, utils_common_js_1.iEqual)(name, constants_js_1.HeaderConstants.X_MS_VERSION)) {
+              xMsHeaderName = name;
             }
           }
+          if (xMsHeaderName !== "") {
+            request2.headers.delete(xMsHeaderName);
+          }
+          return next(request2);
+        }
+      };
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BlobBatchClient.js
+var require_BlobBatchClient = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BlobBatchClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobBatchClient = void 0;
+    var BatchResponseParser_js_1 = require_BatchResponseParser();
+    var BatchUtils_js_1 = require_BatchUtils();
+    var BlobBatch_js_1 = require_BlobBatch();
+    var tracing_js_1 = require_tracing();
+    var AnonymousCredential_js_1 = require_AnonymousCredential();
+    var StorageContextClient_js_1 = require_StorageContextClient();
+    var Pipeline_js_1 = require_Pipeline();
+    var utils_common_js_1 = require_utils_common();
+    var BlobBatchClient = class {
+      serviceOrContainerContext;
+      constructor(url, credentialOrPipeline, options) {
+        let pipeline;
+        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipeline)) {
+          pipeline = credentialOrPipeline;
+        } else if (!credentialOrPipeline) {
+          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+        } else {
+          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipeline, options);
+        }
+        const storageClientContext = new StorageContextClient_js_1.StorageContextClient(url, (0, Pipeline_js_1.getCoreClientOptions)(pipeline));
+        const path4 = (0, utils_common_js_1.getURLPath)(url);
+        if (path4 && path4 !== "/") {
+          this.serviceOrContainerContext = storageClientContext.container;
+        } else {
+          this.serviceOrContainerContext = storageClientContext.service;
         }
       }
-    };
-    exports2.AppendBlobAppendBlockHeaders = {
-      serializedName: "AppendBlob_appendBlockHeaders",
-      type: {
-        name: "Composite",
-        className: "AppendBlobAppendBlockHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          xMsContentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          blobAppendOffset: {
-            serializedName: "x-ms-blob-append-offset",
-            xmlName: "x-ms-blob-append-offset",
-            type: {
-              name: "String"
-            }
-          },
-          blobCommittedBlockCount: {
-            serializedName: "x-ms-blob-committed-block-count",
-            xmlName: "x-ms-blob-committed-block-count",
-            type: {
-              name: "Number"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      /**
+       * Creates a {@link BlobBatch}.
+       * A BlobBatch represents an aggregated set of operations on blobs.
+       */
+      createBatch() {
+        return new BlobBatch_js_1.BlobBatch();
+      }
+      async deleteBlobs(urlsOrBlobClients, credentialOrOptions, options) {
+        const batch = new BlobBatch_js_1.BlobBatch();
+        for (const urlOrBlobClient of urlsOrBlobClients) {
+          if (typeof urlOrBlobClient === "string") {
+            await batch.deleteBlob(urlOrBlobClient, credentialOrOptions, options);
+          } else {
+            await batch.deleteBlob(urlOrBlobClient, credentialOrOptions);
           }
         }
+        return this.submitBatch(batch);
       }
-    };
-    exports2.AppendBlobAppendBlockExceptionHeaders = {
-      serializedName: "AppendBlob_appendBlockExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "AppendBlobAppendBlockExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      async setBlobsAccessTier(urlsOrBlobClients, credentialOrTier, tierOrOptions, options) {
+        const batch = new BlobBatch_js_1.BlobBatch();
+        for (const urlOrBlobClient of urlsOrBlobClients) {
+          if (typeof urlOrBlobClient === "string") {
+            await batch.setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions, options);
+          } else {
+            await batch.setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions);
           }
         }
+        return this.submitBatch(batch);
+      }
+      /**
+       * Submit batch request which consists of multiple subrequests.
+       *
+       * Get `blobBatchClient` and other details before running the snippets.
+       * `blobServiceClient.getBlobBatchClient()` gives the `blobBatchClient`
+       *
+       * Example usage:
+       *
+       * ```ts snippet:BlobBatchClientSubmitBatch
+       * import { DefaultAzureCredential } from "@azure/identity";
+       * import { BlobServiceClient, BlobBatch } from "@azure/storage-blob";
+       *
+       * const account = "";
+       * const credential = new DefaultAzureCredential();
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   credential,
+       * );
+       *
+       * const containerName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blobBatchClient = containerClient.getBlobBatchClient();
+       *
+       * const batchRequest = new BlobBatch();
+       * await batchRequest.deleteBlob("", credential);
+       * await batchRequest.deleteBlob("", credential, {
+       *   deleteSnapshots: "include",
+       * });
+       * const batchResp = await blobBatchClient.submitBatch(batchRequest);
+       * console.log(batchResp.subResponsesSucceededCount);
+       * ```
+       *
+       * Example using a lease:
+       *
+       * ```ts snippet:BlobBatchClientSubmitBatchWithLease
+       * import { DefaultAzureCredential } from "@azure/identity";
+       * import { BlobServiceClient, BlobBatch } from "@azure/storage-blob";
+       *
+       * const account = "";
+       * const credential = new DefaultAzureCredential();
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   credential,
+       * );
+       *
+       * const containerName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blobBatchClient = containerClient.getBlobBatchClient();
+       * const blobClient = containerClient.getBlobClient("");
+       *
+       * const batchRequest = new BlobBatch();
+       * await batchRequest.setBlobAccessTier(blobClient, "Cool");
+       * await batchRequest.setBlobAccessTier(blobClient, "Cool", {
+       *   conditions: { leaseId: "" },
+       * });
+       * const batchResp = await blobBatchClient.submitBatch(batchRequest);
+       * console.log(batchResp.subResponsesSucceededCount);
+       * ```
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch
+       *
+       * @param batchRequest - A set of Delete or SetTier operations.
+       * @param options -
+       */
+      async submitBatch(batchRequest, options = {}) {
+        if (!batchRequest || batchRequest.getSubRequests().size === 0) {
+          throw new RangeError("Batch request should contain one or more sub requests.");
+        }
+        return tracing_js_1.tracingClient.withSpan("BlobBatchClient-submitBatch", options, async (updatedOptions) => {
+          const batchRequestBody = batchRequest.getHttpRequestBody();
+          const rawBatchResponse = (0, utils_common_js_1.assertResponse)(await this.serviceOrContainerContext.submitBatch((0, BatchUtils_js_1.utf8ByteLength)(batchRequestBody), batchRequest.getMultiPartContentType(), batchRequestBody, {
+            ...updatedOptions
+          }));
+          const batchResponseParser = new BatchResponseParser_js_1.BatchResponseParser(rawBatchResponse, batchRequest.getSubRequests());
+          const responseSummary = await batchResponseParser.parseBatchResponse();
+          const res = {
+            _response: rawBatchResponse._response,
+            contentType: rawBatchResponse.contentType,
+            errorCode: rawBatchResponse.errorCode,
+            requestId: rawBatchResponse.requestId,
+            clientRequestId: rawBatchResponse.clientRequestId,
+            version: rawBatchResponse.version,
+            subResponses: responseSummary.subResponses,
+            subResponsesSucceededCount: responseSummary.subResponsesSucceededCount,
+            subResponsesFailedCount: responseSummary.subResponsesFailedCount
+          };
+          return res;
+        });
       }
     };
-    exports2.AppendBlobAppendBlockFromUrlHeaders = {
-      serializedName: "AppendBlob_appendBlockFromUrlHeaders",
-      type: {
-        name: "Composite",
-        className: "AppendBlobAppendBlockFromUrlHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          xMsContentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          blobAppendOffset: {
-            serializedName: "x-ms-blob-append-offset",
-            xmlName: "x-ms-blob-append-offset",
-            type: {
-              name: "String"
-            }
-          },
-          blobCommittedBlockCount: {
-            serializedName: "x-ms-blob-committed-block-count",
-            xmlName: "x-ms-blob-committed-block-count",
-            type: {
-              name: "Number"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+    exports2.BlobBatchClient = BlobBatchClient;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/ContainerClient.js
+var require_ContainerClient = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/ContainerClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ContainerClient = void 0;
+    var core_rest_pipeline_1 = require_commonjs6();
+    var core_util_1 = require_commonjs4();
+    var core_auth_1 = require_commonjs7();
+    var AnonymousCredential_js_1 = require_AnonymousCredential();
+    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
+    var Pipeline_js_1 = require_Pipeline();
+    var StorageClient_js_1 = require_StorageClient();
+    var tracing_js_1 = require_tracing();
+    var utils_common_js_1 = require_utils_common();
+    var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues();
+    var BlobLeaseClient_js_1 = require_BlobLeaseClient();
+    var Clients_js_1 = require_Clients();
+    var BlobBatchClient_js_1 = require_BlobBatchClient();
+    var ContainerClient = class extends StorageClient_js_1.StorageClient {
+      /**
+       * containerContext provided by protocol layer.
+       */
+      containerContext;
+      _containerName;
+      /**
+       * The name of the container.
+       */
+      get containerName() {
+        return this._containerName;
+      }
+      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, options) {
+        let pipeline;
+        let url;
+        options = options || {};
+        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
+          url = urlOrConnectionString;
+          pipeline = credentialOrPipelineOrContainerName;
+        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
+          url = urlOrConnectionString;
+          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
+        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
+          url = urlOrConnectionString;
+          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string") {
+          const containerName = credentialOrPipelineOrContainerName;
+          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
+          if (extractedCreds.kind === "AccountConnString") {
+            if (core_util_1.isNodeLike) {
+              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
+              url = (0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName));
+              if (!options.proxyOptions) {
+                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+              }
+              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+            } else {
+              throw new Error("Account connection string is only supported in Node.js environment");
             }
+          } else if (extractedCreds.kind === "SASConnString") {
+            url = (0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)) + "?" + extractedCreds.accountSas;
+            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+          } else {
+            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
           }
+        } else {
+          throw new Error("Expecting non-empty strings for containerName parameter");
         }
+        super(url, pipeline);
+        this._containerName = this.getContainerNameFromUrl();
+        this.containerContext = this.storageClientContext.container;
       }
-    };
-    exports2.AppendBlobAppendBlockFromUrlExceptionHeaders = {
-      serializedName: "AppendBlob_appendBlockFromUrlExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "AppendBlobAppendBlockFromUrlExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceErrorCode: {
-            serializedName: "x-ms-copy-source-error-code",
-            xmlName: "x-ms-copy-source-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceStatusCode: {
-            serializedName: "x-ms-copy-source-status-code",
-            xmlName: "x-ms-copy-source-status-code",
-            type: {
-              name: "Number"
+      /**
+       * Creates a new container under the specified account. If the container with
+       * the same name already exists, the operation fails.
+       * @see https://learn.microsoft.com/rest/api/storageservices/create-container
+       * Naming rules: @see https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata
+       *
+       * @param options - Options to Container Create operation.
+       *
+       *
+       * Example usage:
+       *
+       * ```ts snippet:ContainerClientCreate
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const createContainerResponse = await containerClient.create();
+       * console.log("Container was created successfully", createContainerResponse.requestId);
+       * ```
+       */
+      async create(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-create", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.containerContext.create(updatedOptions));
+        });
+      }
+      /**
+       * Creates a new container under the specified account. If the container with
+       * the same name already exists, it is not changed.
+       * @see https://learn.microsoft.com/rest/api/storageservices/create-container
+       * Naming rules: @see https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata
+       *
+       * @param options -
+       */
+      async createIfNotExists(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-createIfNotExists", options, async (updatedOptions) => {
+          try {
+            const res = await this.create(updatedOptions);
+            return {
+              succeeded: true,
+              ...res,
+              _response: res._response
+              // _response is made non-enumerable
+            };
+          } catch (e) {
+            if (e.details?.errorCode === "ContainerAlreadyExists") {
+              return {
+                succeeded: false,
+                ...e.response?.parsedHeaders,
+                _response: e.response
+              };
+            } else {
+              throw e;
             }
           }
-        }
+        });
       }
-    };
-    exports2.AppendBlobSealHeaders = {
-      serializedName: "AppendBlob_sealHeaders",
-      type: {
-        name: "Composite",
-        className: "AppendBlobSealHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isSealed: {
-            serializedName: "x-ms-blob-sealed",
-            xmlName: "x-ms-blob-sealed",
-            type: {
-              name: "Boolean"
+      /**
+       * Returns true if the Azure container resource represented by this client exists; false otherwise.
+       *
+       * NOTE: use this function with care since an existing container might be deleted by other clients or
+       * applications. Vice versa new containers with the same name might be added by other clients or
+       * applications after this function completes.
+       *
+       * @param options -
+       */
+      async exists(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-exists", options, async (updatedOptions) => {
+          try {
+            await this.getProperties({
+              abortSignal: options.abortSignal,
+              tracingOptions: updatedOptions.tracingOptions
+            });
+            return true;
+          } catch (e) {
+            if (e.statusCode === 404) {
+              return false;
             }
+            throw e;
           }
+        });
+      }
+      /**
+       * Creates a {@link BlobClient}
+       *
+       * @param blobName - A blob name
+       * @returns A new BlobClient object for the given blob name.
+       */
+      getBlobClient(blobName) {
+        return new Clients_js_1.BlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
+      }
+      /**
+       * Creates an {@link AppendBlobClient}
+       *
+       * @param blobName - An append blob name
+       */
+      getAppendBlobClient(blobName) {
+        return new Clients_js_1.AppendBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
+      }
+      /**
+       * Creates a {@link BlockBlobClient}
+       *
+       * @param blobName - A block blob name
+       *
+       *
+       * Example usage:
+       *
+       * ```ts snippet:ClientsUpload
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blockBlobClient = containerClient.getBlockBlobClient(blobName);
+       *
+       * const content = "Hello world!";
+       * const uploadBlobResponse = await blockBlobClient.upload(content, content.length);
+       * ```
+       */
+      getBlockBlobClient(blobName) {
+        return new Clients_js_1.BlockBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
+      }
+      /**
+       * Creates a {@link PageBlobClient}
+       *
+       * @param blobName - A page blob name
+       */
+      getPageBlobClient(blobName) {
+        return new Clients_js_1.PageBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
+      }
+      /**
+       * Returns all user-defined metadata and system properties for the specified
+       * container. The data returned does not include the container's list of blobs.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-container-properties
+       *
+       * WARNING: The `metadata` object returned in the response will have its keys in lowercase, even if
+       * they originally contained uppercase characters. This differs from the metadata keys returned by
+       * the `listContainers` method of {@link BlobServiceClient} using the `includeMetadata` option, which
+       * will retain their original casing.
+       *
+       * @param options - Options to Container Get Properties operation.
+       */
+      async getProperties(options = {}) {
+        if (!options.conditions) {
+          options.conditions = {};
         }
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-getProperties", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.containerContext.getProperties({
+            abortSignal: options.abortSignal,
+            ...options.conditions,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.AppendBlobSealExceptionHeaders = {
-      serializedName: "AppendBlob_sealExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "AppendBlobSealExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+      /**
+       * Marks the specified container for deletion. The container and any blobs
+       * contained within it are later deleted during garbage collection.
+       * @see https://learn.microsoft.com/rest/api/storageservices/delete-container
+       *
+       * @param options - Options to Container Delete operation.
+       */
+      async delete(options = {}) {
+        if (!options.conditions) {
+          options.conditions = {};
+        }
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-delete", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.containerContext.delete({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: options.conditions,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Marks the specified container for deletion if it exists. The container and any blobs
+       * contained within it are later deleted during garbage collection.
+       * @see https://learn.microsoft.com/rest/api/storageservices/delete-container
+       *
+       * @param options - Options to Container Delete operation.
+       */
+      async deleteIfExists(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-deleteIfExists", options, async (updatedOptions) => {
+          try {
+            const res = await this.delete(updatedOptions);
+            return {
+              succeeded: true,
+              ...res,
+              _response: res._response
+            };
+          } catch (e) {
+            if (e.details?.errorCode === "ContainerNotFound") {
+              return {
+                succeeded: false,
+                ...e.response?.parsedHeaders,
+                _response: e.response
+              };
             }
+            throw e;
           }
+        });
+      }
+      /**
+       * Sets one or more user-defined name-value pairs for the specified container.
+       *
+       * If no option provided, or no metadata defined in the parameter, the container
+       * metadata will be removed.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-container-metadata
+       *
+       * @param metadata - Replace existing metadata with this value.
+       *                            If no value provided the existing metadata will be removed.
+       * @param options - Options to Container Set Metadata operation.
+       */
+      async setMetadata(metadata, options = {}) {
+        if (!options.conditions) {
+          options.conditions = {};
+        }
+        if (options.conditions.ifUnmodifiedSince) {
+          throw new RangeError("the IfUnmodifiedSince must have their default values because they are ignored by the blob service");
         }
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-setMetadata", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.containerContext.setMetadata({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            metadata,
+            modifiedAccessConditions: options.conditions,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.BlockBlobUploadHeaders = {
-      serializedName: "BlockBlob_uploadHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobUploadHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+      /**
+       * Gets the permissions for the specified container. The permissions indicate
+       * whether container data may be accessed publicly.
+       *
+       * WARNING: JavaScript Date will potentially lose precision when parsing startsOn and expiresOn strings.
+       * For example, new Date("2018-12-31T03:44:23.8827891Z").toISOString() will get "2018-12-31T03:44:23.882Z".
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-container-acl
+       *
+       * @param options - Options to Container Get Access Policy operation.
+       */
+      async getAccessPolicy(options = {}) {
+        if (!options.conditions) {
+          options.conditions = {};
+        }
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-getAccessPolicy", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.getAccessPolicy({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const res = {
+            _response: response._response,
+            blobPublicAccess: response.blobPublicAccess,
+            date: response.date,
+            etag: response.etag,
+            errorCode: response.errorCode,
+            lastModified: response.lastModified,
+            requestId: response.requestId,
+            clientRequestId: response.clientRequestId,
+            signedIdentifiers: [],
+            version: response.version
+          };
+          for (const identifier of response) {
+            let accessPolicy = void 0;
+            if (identifier.accessPolicy) {
+              accessPolicy = {
+                permissions: identifier.accessPolicy.permissions
+              };
+              if (identifier.accessPolicy.expiresOn) {
+                accessPolicy.expiresOn = new Date(identifier.accessPolicy.expiresOn);
+              }
+              if (identifier.accessPolicy.startsOn) {
+                accessPolicy.startsOn = new Date(identifier.accessPolicy.startsOn);
+              }
             }
+            res.signedIdentifiers.push({
+              accessPolicy,
+              id: identifier.id
+            });
           }
-        }
+          return res;
+        });
+      }
+      /**
+       * Sets the permissions for the specified container. The permissions indicate
+       * whether blobs in a container may be accessed publicly.
+       *
+       * When you set permissions for a container, the existing permissions are replaced.
+       * If no access or containerAcl provided, the existing container ACL will be
+       * removed.
+       *
+       * When you establish a stored access policy on a container, it may take up to 30 seconds to take effect.
+       * During this interval, a shared access signature that is associated with the stored access policy will
+       * fail with status code 403 (Forbidden), until the access policy becomes active.
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-container-acl
+       *
+       * @param access - The level of public access to data in the container.
+       * @param containerAcl - Array of elements each having a unique Id and details of the access policy.
+       * @param options - Options to Container Set Access Policy operation.
+       */
+      async setAccessPolicy(access, containerAcl, options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-setAccessPolicy", options, async (updatedOptions) => {
+          const acl = [];
+          for (const identifier of containerAcl || []) {
+            acl.push({
+              accessPolicy: {
+                expiresOn: identifier.accessPolicy.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(identifier.accessPolicy.expiresOn) : "",
+                permissions: identifier.accessPolicy.permissions,
+                startsOn: identifier.accessPolicy.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(identifier.accessPolicy.startsOn) : ""
+              },
+              id: identifier.id
+            });
+          }
+          return (0, utils_common_js_1.assertResponse)(await this.containerContext.setAccessPolicy({
+            abortSignal: options.abortSignal,
+            access,
+            containerAcl: acl,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: options.conditions,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.BlockBlobUploadExceptionHeaders = {
-      serializedName: "BlockBlob_uploadExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobUploadExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      /**
+       * Get a {@link BlobLeaseClient} that manages leases on the container.
+       *
+       * @param proposeLeaseId - Initial proposed lease Id.
+       * @returns A new BlobLeaseClient object for managing leases on the container.
+       */
+      getBlobLeaseClient(proposeLeaseId) {
+        return new BlobLeaseClient_js_1.BlobLeaseClient(this, proposeLeaseId);
+      }
+      /**
+       * Creates a new block blob, or updates the content of an existing block blob.
+       *
+       * Updating an existing block blob overwrites any existing metadata on the blob.
+       * Partial updates are not supported; the content of the existing blob is
+       * overwritten with the new content. To perform a partial update of a block blob's,
+       * use {@link BlockBlobClient.stageBlock} and {@link BlockBlobClient.commitBlockList}.
+       *
+       * This is a non-parallel uploading method, please use {@link BlockBlobClient.uploadFile},
+       * {@link BlockBlobClient.uploadStream} or {@link BlockBlobClient.uploadBrowserData} for better
+       * performance with concurrency uploading.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
+       *
+       * @param blobName - Name of the block blob to create or update.
+       * @param body - Blob, string, ArrayBuffer, ArrayBufferView or a function
+       *                               which returns a new Readable stream whose offset is from data source beginning.
+       * @param contentLength - Length of body in bytes. Use Buffer.byteLength() to calculate body length for a
+       *                               string including non non-Base64/Hex-encoded characters.
+       * @param options - Options to configure the Block Blob Upload operation.
+       * @returns Block Blob upload response data and the corresponding BlockBlobClient instance.
+       */
+      async uploadBlockBlob(blobName, body, contentLength, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-uploadBlockBlob", options, async (updatedOptions) => {
+          const blockBlobClient = this.getBlockBlobClient(blobName);
+          const response = await blockBlobClient.upload(body, contentLength, updatedOptions);
+          return {
+            blockBlobClient,
+            response
+          };
+        });
+      }
+      /**
+       * Marks the specified blob or snapshot for deletion. The blob is later deleted
+       * during garbage collection. Note that in order to delete a blob, you must delete
+       * all of its snapshots. You can delete both at the same time with the Delete
+       * Blob operation.
+       * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob
+       *
+       * @param blobName -
+       * @param options - Options to Blob Delete operation.
+       * @returns Block blob deletion response data.
+       */
+      async deleteBlob(blobName, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-deleteBlob", options, async (updatedOptions) => {
+          let blobClient = this.getBlobClient(blobName);
+          if (options.versionId) {
+            blobClient = blobClient.withVersion(options.versionId);
           }
-        }
+          return blobClient.delete(updatedOptions);
+        });
       }
-    };
-    exports2.BlockBlobPutBlobFromUrlHeaders = {
-      serializedName: "BlockBlob_putBlobFromUrlHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobPutBlobFromUrlHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
+      /**
+       * listBlobFlatSegment returns a single segment of blobs starting from the
+       * specified Marker. Use an empty Marker to start enumeration from the beginning.
+       * After getting a segment, process it, and then call listBlobsFlatSegment again
+       * (passing the the previously-returned Marker) to get the next segment.
+       * @see https://learn.microsoft.com/rest/api/storageservices/list-blobs
+       *
+       * @param marker - A string value that identifies the portion of the list to be returned with the next list operation.
+       * @param options - Options to Container List Blob Flat Segment operation.
+       */
+      async listBlobFlatSegment(marker, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-listBlobFlatSegment", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.listBlobFlatSegment({
+            marker,
+            ...options,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const wrappedResponse = {
+            ...response,
+            _response: {
+              ...response._response,
+              parsedBody: (0, utils_common_js_1.ConvertInternalResponseOfListBlobFlat)(response._response.parsedBody)
+            },
+            // _response is made non-enumerable
+            segment: {
+              ...response.segment,
+              blobItems: response.segment.blobItems.map((blobItemInternal) => {
+                const blobItem = {
+                  ...blobItemInternal,
+                  name: (0, utils_common_js_1.BlobNameToString)(blobItemInternal.name),
+                  tags: (0, utils_common_js_1.toTags)(blobItemInternal.blobTags),
+                  objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(blobItemInternal.objectReplicationMetadata)
+                };
+                return blobItem;
+              })
             }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+          };
+          return wrappedResponse;
+        });
+      }
+      /**
+       * listBlobHierarchySegment returns a single segment of blobs starting from
+       * the specified Marker. Use an empty Marker to start enumeration from the
+       * beginning. After getting a segment, process it, and then call listBlobsHierarchicalSegment
+       * again (passing the the previously-returned Marker) to get the next segment.
+       * @see https://learn.microsoft.com/rest/api/storageservices/list-blobs
+       *
+       * @param delimiter - The character or string used to define the virtual hierarchy
+       * @param marker - A string value that identifies the portion of the list to be returned with the next list operation.
+       * @param options - Options to Container List Blob Hierarchy Segment operation.
+       */
+      async listBlobHierarchySegment(delimiter, marker, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-listBlobHierarchySegment", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.listBlobHierarchySegment(delimiter, {
+            marker,
+            ...options,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const wrappedResponse = {
+            ...response,
+            _response: {
+              ...response._response,
+              parsedBody: (0, utils_common_js_1.ConvertInternalResponseOfListBlobHierarchy)(response._response.parsedBody)
+            },
+            // _response is made non-enumerable
+            segment: {
+              ...response.segment,
+              blobItems: response.segment.blobItems.map((blobItemInternal) => {
+                const blobItem = {
+                  ...blobItemInternal,
+                  name: (0, utils_common_js_1.BlobNameToString)(blobItemInternal.name),
+                  tags: (0, utils_common_js_1.toTags)(blobItemInternal.blobTags),
+                  objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(blobItemInternal.objectReplicationMetadata)
+                };
+                return blobItem;
+              }),
+              blobPrefixes: response.segment.blobPrefixes?.map((blobPrefixInternal) => {
+                const blobPrefix = {
+                  ...blobPrefixInternal,
+                  name: (0, utils_common_js_1.BlobNameToString)(blobPrefixInternal.name)
+                };
+                return blobPrefix;
+              })
             }
-          }
+          };
+          return wrappedResponse;
+        });
+      }
+      /**
+       * Returns an AsyncIterableIterator for ContainerListBlobFlatSegmentResponse
+       *
+       * @param marker - A string value that identifies the portion of
+       *                          the list of blobs to be returned with the next listing operation. The
+       *                          operation returns the ContinuationToken value within the response body if the
+       *                          listing operation did not return all blobs remaining to be listed
+       *                          with the current page. The ContinuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of list
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to list blobs operation.
+       */
+      async *listSegments(marker, options = {}) {
+        let listBlobsFlatSegmentResponse;
+        if (!!marker || marker === void 0) {
+          do {
+            listBlobsFlatSegmentResponse = await this.listBlobFlatSegment(marker, options);
+            marker = listBlobsFlatSegmentResponse.continuationToken;
+            yield await listBlobsFlatSegmentResponse;
+          } while (marker);
         }
       }
-    };
-    exports2.BlockBlobPutBlobFromUrlExceptionHeaders = {
-      serializedName: "BlockBlob_putBlobFromUrlExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobPutBlobFromUrlExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceErrorCode: {
-            serializedName: "x-ms-copy-source-error-code",
-            xmlName: "x-ms-copy-source-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceStatusCode: {
-            serializedName: "x-ms-copy-source-status-code",
-            xmlName: "x-ms-copy-source-status-code",
-            type: {
-              name: "Number"
-            }
-          }
+      /**
+       * Returns an AsyncIterableIterator of {@link BlobItem} objects
+       *
+       * @param options - Options to list blobs operation.
+       */
+      async *listItems(options = {}) {
+        let marker;
+        for await (const listBlobsFlatSegmentResponse of this.listSegments(marker, options)) {
+          yield* listBlobsFlatSegmentResponse.segment.blobItems;
         }
       }
-    };
-    exports2.BlockBlobStageBlockHeaders = {
-      serializedName: "BlockBlob_stageBlockHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobStageBlockHeaders",
-        modelProperties: {
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          xMsContentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
+      /**
+       * Returns an async iterable iterator to list all the blobs
+       * under the specified account.
+       *
+       * .byPage() returns an async iterable iterator to list the blobs in pages.
+       *
+       * ```ts snippet:ReadmeSampleListBlobs_Multiple
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       *
+       * // Example using `for await` syntax
+       * let i = 1;
+       * const blobs = containerClient.listBlobsFlat();
+       * for await (const blob of blobs) {
+       *   console.log(`Blob ${i++}: ${blob.name}`);
+       * }
+       *
+       * // Example using `iter.next()` syntax
+       * i = 1;
+       * const iter = containerClient.listBlobsFlat();
+       * let { value, done } = await iter.next();
+       * while (!done) {
+       *   console.log(`Blob ${i++}: ${value.name}`);
+       *   ({ value, done } = await iter.next());
+       * }
+       *
+       * // Example using `byPage()` syntax
+       * i = 1;
+       * for await (const page of containerClient.listBlobsFlat().byPage({ maxPageSize: 20 })) {
+       *   for (const blob of page.segment.blobItems) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       *
+       * // Example using paging with a marker
+       * i = 1;
+       * let iterator = containerClient.listBlobsFlat().byPage({ maxPageSize: 2 });
+       * let response = (await iterator.next()).value;
+       * // Prints 2 blob names
+       * if (response.segment.blobItems) {
+       *   for (const blob of response.segment.blobItems) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       * // Gets next marker
+       * let marker = response.continuationToken;
+       * // Passing next marker as continuationToken
+       * iterator = containerClient.listBlobsFlat().byPage({ continuationToken: marker, maxPageSize: 10 });
+       * response = (await iterator.next()).value;
+       * // Prints 10 blob names
+       * if (response.segment.blobItems) {
+       *   for (const blob of response.segment.blobItems) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       * ```
+       *
+       * @param options - Options to list blobs.
+       * @returns An asyncIterableIterator that supports paging.
+       */
+      listBlobsFlat(options = {}) {
+        const include = [];
+        if (options.includeCopy) {
+          include.push("copy");
+        }
+        if (options.includeDeleted) {
+          include.push("deleted");
+        }
+        if (options.includeMetadata) {
+          include.push("metadata");
+        }
+        if (options.includeSnapshots) {
+          include.push("snapshots");
+        }
+        if (options.includeVersions) {
+          include.push("versions");
+        }
+        if (options.includeUncommitedBlobs) {
+          include.push("uncommittedblobs");
+        }
+        if (options.includeTags) {
+          include.push("tags");
+        }
+        if (options.includeDeletedWithVersions) {
+          include.push("deletedwithversions");
+        }
+        if (options.includeImmutabilityPolicy) {
+          include.push("immutabilitypolicy");
+        }
+        if (options.includeLegalHold) {
+          include.push("legalhold");
+        }
+        if (options.prefix === "") {
+          options.prefix = void 0;
+        }
+        const updatedOptions = {
+          ...options,
+          ...include.length > 0 ? { include } : {}
+        };
+        const iter = this.listItems(updatedOptions);
+        return {
+          /**
+           * The next method, part of the iteration protocol
+           */
+          next() {
+            return iter.next();
           },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
+          /**
+           * The connection to the async iterator, part of the iteration protocol
+           */
+          [Symbol.asyncIterator]() {
+            return this;
           },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+          /**
+           * Return an AsyncIterableIterator that works a page at a time
+           */
+          byPage: (settings = {}) => {
+            return this.listSegments(settings.continuationToken, {
+              maxPageSize: settings.maxPageSize,
+              ...updatedOptions
+            });
           }
+        };
+      }
+      /**
+       * Returns an AsyncIterableIterator for ContainerListBlobHierarchySegmentResponse
+       *
+       * @param delimiter - The character or string used to define the virtual hierarchy
+       * @param marker - A string value that identifies the portion of
+       *                          the list of blobs to be returned with the next listing operation. The
+       *                          operation returns the ContinuationToken value within the response body if the
+       *                          listing operation did not return all blobs remaining to be listed
+       *                          with the current page. The ContinuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of list
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to list blobs operation.
+       */
+      async *listHierarchySegments(delimiter, marker, options = {}) {
+        let listBlobsHierarchySegmentResponse;
+        if (!!marker || marker === void 0) {
+          do {
+            listBlobsHierarchySegmentResponse = await this.listBlobHierarchySegment(delimiter, marker, options);
+            marker = listBlobsHierarchySegmentResponse.continuationToken;
+            yield await listBlobsHierarchySegmentResponse;
+          } while (marker);
         }
       }
-    };
-    exports2.BlockBlobStageBlockExceptionHeaders = {
-      serializedName: "BlockBlob_stageBlockExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobStageBlockExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+      /**
+       * Returns an AsyncIterableIterator for {@link BlobPrefix} and {@link BlobItem} objects.
+       *
+       * @param delimiter - The character or string used to define the virtual hierarchy
+       * @param options - Options to list blobs operation.
+       */
+      async *listItemsByHierarchy(delimiter, options = {}) {
+        let marker;
+        for await (const listBlobsHierarchySegmentResponse of this.listHierarchySegments(delimiter, marker, options)) {
+          const segment = listBlobsHierarchySegmentResponse.segment;
+          if (segment.blobPrefixes) {
+            for (const prefix of segment.blobPrefixes) {
+              yield {
+                kind: "prefix",
+                ...prefix
+              };
             }
           }
+          for (const blob of segment.blobItems) {
+            yield { kind: "blob", ...blob };
+          }
         }
       }
-    };
-    exports2.BlockBlobStageBlockFromURLHeaders = {
-      serializedName: "BlockBlob_stageBlockFromURLHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobStageBlockFromURLHeaders",
-        modelProperties: {
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          xMsContentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
+      /**
+       * Returns an async iterable iterator to list all the blobs by hierarchy.
+       * under the specified account.
+       *
+       * .byPage() returns an async iterable iterator to list the blobs by hierarchy in pages.
+       *
+       * ```ts snippet:ReadmeSampleListBlobsByHierarchy
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       *
+       * // Example using `for await` syntax
+       * let i = 1;
+       * const blobs = containerClient.listBlobsByHierarchy("/");
+       * for await (const blob of blobs) {
+       *   if (blob.kind === "prefix") {
+       *     console.log(`\tBlobPrefix: ${blob.name}`);
+       *   } else {
+       *     console.log(`\tBlobItem: name - ${blob.name}`);
+       *   }
+       * }
+       *
+       * // Example using `iter.next()` syntax
+       * i = 1;
+       * const iter = containerClient.listBlobsByHierarchy("/");
+       * let { value, done } = await iter.next();
+       * while (!done) {
+       *   if (value.kind === "prefix") {
+       *     console.log(`\tBlobPrefix: ${value.name}`);
+       *   } else {
+       *     console.log(`\tBlobItem: name - ${value.name}`);
+       *   }
+       *   ({ value, done } = await iter.next());
+       * }
+       *
+       * // Example using `byPage()` syntax
+       * i = 1;
+       * for await (const page of containerClient.listBlobsByHierarchy("/").byPage({ maxPageSize: 20 })) {
+       *   const segment = page.segment;
+       *   if (segment.blobPrefixes) {
+       *     for (const prefix of segment.blobPrefixes) {
+       *       console.log(`\tBlobPrefix: ${prefix.name}`);
+       *     }
+       *   }
+       *   for (const blob of page.segment.blobItems) {
+       *     console.log(`\tBlobItem: name - ${blob.name}`);
+       *   }
+       * }
+       *
+       * // Example using paging with a marker
+       * i = 1;
+       * let iterator = containerClient.listBlobsByHierarchy("/").byPage({ maxPageSize: 2 });
+       * let response = (await iterator.next()).value;
+       * // Prints 2 blob names
+       * if (response.blobPrefixes) {
+       *   for (const prefix of response.blobPrefixes) {
+       *     console.log(`\tBlobPrefix: ${prefix.name}`);
+       *   }
+       * }
+       * if (response.segment.blobItems) {
+       *   for (const blob of response.segment.blobItems) {
+       *     console.log(`\tBlobItem: name - ${blob.name}`);
+       *   }
+       * }
+       * // Gets next marker
+       * let marker = response.continuationToken;
+       * // Passing next marker as continuationToken
+       * iterator = containerClient
+       *   .listBlobsByHierarchy("/")
+       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
+       * response = (await iterator.next()).value;
+       * // Prints 10 blob names
+       * if (response.blobPrefixes) {
+       *   for (const prefix of response.blobPrefixes) {
+       *     console.log(`\tBlobPrefix: ${prefix.name}`);
+       *   }
+       * }
+       * if (response.segment.blobItems) {
+       *   for (const blob of response.segment.blobItems) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       * ```
+       *
+       * @param delimiter - The character or string used to define the virtual hierarchy
+       * @param options - Options to list blobs operation.
+       */
+      listBlobsByHierarchy(delimiter, options = {}) {
+        if (delimiter === "") {
+          throw new RangeError("delimiter should contain one or more characters");
+        }
+        const include = [];
+        if (options.includeCopy) {
+          include.push("copy");
+        }
+        if (options.includeDeleted) {
+          include.push("deleted");
+        }
+        if (options.includeMetadata) {
+          include.push("metadata");
+        }
+        if (options.includeSnapshots) {
+          include.push("snapshots");
+        }
+        if (options.includeVersions) {
+          include.push("versions");
+        }
+        if (options.includeUncommitedBlobs) {
+          include.push("uncommittedblobs");
+        }
+        if (options.includeTags) {
+          include.push("tags");
+        }
+        if (options.includeDeletedWithVersions) {
+          include.push("deletedwithversions");
+        }
+        if (options.includeImmutabilityPolicy) {
+          include.push("immutabilitypolicy");
+        }
+        if (options.includeLegalHold) {
+          include.push("legalhold");
+        }
+        if (options.prefix === "") {
+          options.prefix = void 0;
+        }
+        const updatedOptions = {
+          ...options,
+          ...include.length > 0 ? { include } : {}
+        };
+        const iter = this.listItemsByHierarchy(delimiter, updatedOptions);
+        return {
+          /**
+           * The next method, part of the iteration protocol
+           */
+          async next() {
+            return iter.next();
           },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
+          /**
+           * The connection to the async iterator, part of the iteration protocol
+           */
+          [Symbol.asyncIterator]() {
+            return this;
           },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+          /**
+           * Return an AsyncIterableIterator that works a page at a time
+           */
+          byPage: (settings = {}) => {
+            return this.listHierarchySegments(delimiter, settings.continuationToken, {
+              maxPageSize: settings.maxPageSize,
+              ...updatedOptions
+            });
           }
+        };
+      }
+      /**
+       * The Filter Blobs operation enables callers to list blobs in the container whose tags
+       * match a given search expression.
+       *
+       * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                        The given expression must evaluate to true for a blob to be returned in the results.
+       *                                        The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                        however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param marker - A string value that identifies the portion of
+       *                          the list of blobs to be returned with the next listing operation. The
+       *                          operation returns the continuationToken value within the response body if the
+       *                          listing operation did not return all blobs remaining to be listed
+       *                          with the current page. The continuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of list
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to find blobs by tags.
+       */
+      async findBlobsByTagsSegment(tagFilterSqlExpression, marker, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-findBlobsByTagsSegment", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.filterBlobs({
+            abortSignal: options.abortSignal,
+            where: tagFilterSqlExpression,
+            marker,
+            maxPageSize: options.maxPageSize,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const wrappedResponse = {
+            ...response,
+            _response: response._response,
+            // _response is made non-enumerable
+            blobs: response.blobs.map((blob) => {
+              let tagValue = "";
+              if (blob.tags?.blobTagSet.length === 1) {
+                tagValue = blob.tags.blobTagSet[0].value;
+              }
+              return { ...blob, tags: (0, utils_common_js_1.toTags)(blob.tags), tagValue };
+            })
+          };
+          return wrappedResponse;
+        });
+      }
+      /**
+       * Returns an AsyncIterableIterator for ContainerFindBlobsByTagsSegmentResponse.
+       *
+       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                         The given expression must evaluate to true for a blob to be returned in the results.
+       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param marker - A string value that identifies the portion of
+       *                          the list of blobs to be returned with the next listing operation. The
+       *                          operation returns the continuationToken value within the response body if the
+       *                          listing operation did not return all blobs remaining to be listed
+       *                          with the current page. The continuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of list
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to find blobs by tags.
+       */
+      async *findBlobsByTagsSegments(tagFilterSqlExpression, marker, options = {}) {
+        let response;
+        if (!!marker || marker === void 0) {
+          do {
+            response = await this.findBlobsByTagsSegment(tagFilterSqlExpression, marker, options);
+            response.blobs = response.blobs || [];
+            marker = response.continuationToken;
+            yield response;
+          } while (marker);
         }
       }
-    };
-    exports2.BlockBlobStageBlockFromURLExceptionHeaders = {
-      serializedName: "BlockBlob_stageBlockFromURLExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobStageBlockFromURLExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceErrorCode: {
-            serializedName: "x-ms-copy-source-error-code",
-            xmlName: "x-ms-copy-source-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceStatusCode: {
-            serializedName: "x-ms-copy-source-status-code",
-            xmlName: "x-ms-copy-source-status-code",
-            type: {
-              name: "Number"
-            }
-          }
+      /**
+       * Returns an AsyncIterableIterator for blobs.
+       *
+       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                         The given expression must evaluate to true for a blob to be returned in the results.
+       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param options - Options to findBlobsByTagsItems.
+       */
+      async *findBlobsByTagsItems(tagFilterSqlExpression, options = {}) {
+        let marker;
+        for await (const segment of this.findBlobsByTagsSegments(tagFilterSqlExpression, marker, options)) {
+          yield* segment.blobs;
         }
       }
-    };
-    exports2.BlockBlobCommitBlockListHeaders = {
-      serializedName: "BlockBlob_commitBlockListHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobCommitBlockListHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          xMsContentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
+      /**
+       * Returns an async iterable iterator to find all blobs with specified tag
+       * under the specified container.
+       *
+       * .byPage() returns an async iterable iterator to list the blobs in pages.
+       *
+       * Example using `for await` syntax:
+       *
+       * ```ts snippet:ReadmeSampleFindBlobsByTags
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       *
+       * // Example using `for await` syntax
+       * let i = 1;
+       * for await (const blob of containerClient.findBlobsByTags("tagkey='tagvalue'")) {
+       *   console.log(`Blob ${i++}: ${blob.name}`);
+       * }
+       *
+       * // Example using `iter.next()` syntax
+       * i = 1;
+       * const iter = containerClient.findBlobsByTags("tagkey='tagvalue'");
+       * let { value, done } = await iter.next();
+       * while (!done) {
+       *   console.log(`Blob ${i++}: ${value.name}`);
+       *   ({ value, done } = await iter.next());
+       * }
+       *
+       * // Example using `byPage()` syntax
+       * i = 1;
+       * for await (const page of containerClient
+       *   .findBlobsByTags("tagkey='tagvalue'")
+       *   .byPage({ maxPageSize: 20 })) {
+       *   for (const blob of page.blobs) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       *
+       * // Example using paging with a marker
+       * i = 1;
+       * let iterator = containerClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 2 });
+       * let response = (await iterator.next()).value;
+       * // Prints 2 blob names
+       * if (response.blobs) {
+       *   for (const blob of response.blobs) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       * // Gets next marker
+       * let marker = response.continuationToken;
+       * // Passing next marker as continuationToken
+       * iterator = containerClient
+       *   .findBlobsByTags("tagkey='tagvalue'")
+       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
+       * response = (await iterator.next()).value;
+       * // Prints 10 blob names
+       * if (response.blobs) {
+       *   for (const blob of response.blobs) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       * ```
+       *
+       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                         The given expression must evaluate to true for a blob to be returned in the results.
+       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param options - Options to find blobs by tags.
+       */
+      findBlobsByTags(tagFilterSqlExpression, options = {}) {
+        const listSegmentOptions = {
+          ...options
+        };
+        const iter = this.findBlobsByTagsItems(tagFilterSqlExpression, listSegmentOptions);
+        return {
+          /**
+           * The next method, part of the iteration protocol
+           */
+          next() {
+            return iter.next();
           },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
+          /**
+           * The connection to the async iterator, part of the iteration protocol
+           */
+          [Symbol.asyncIterator]() {
+            return this;
           },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+          /**
+           * Return an AsyncIterableIterator that works a page at a time
+           */
+          byPage: (settings = {}) => {
+            return this.findBlobsByTagsSegments(tagFilterSqlExpression, settings.continuationToken, {
+              maxPageSize: settings.maxPageSize,
+              ...listSegmentOptions
+            });
           }
-        }
+        };
       }
-    };
-    exports2.BlockBlobCommitBlockListExceptionHeaders = {
-      serializedName: "BlockBlob_commitBlockListExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobCommitBlockListExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      /**
+       * The Get Account Information operation returns the sku name and account kind
+       * for the specified account.
+       * The Get Account Information operation is available on service versions beginning
+       * with version 2018-03-28.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information
+       *
+       * @param options - Options to the Service Get Account Info operation.
+       * @returns Response data for the Service Get Account Info operation.
+       */
+      async getAccountInfo(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-getAccountInfo", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.containerContext.getAccountInfo({
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      getContainerNameFromUrl() {
+        let containerName;
+        try {
+          const parsedUrl = new URL(this.url);
+          if (parsedUrl.hostname.split(".")[1] === "blob") {
+            containerName = parsedUrl.pathname.split("/")[1];
+          } else if ((0, utils_common_js_1.isIpEndpointStyle)(parsedUrl)) {
+            containerName = parsedUrl.pathname.split("/")[2];
+          } else {
+            containerName = parsedUrl.pathname.split("/")[1];
+          }
+          containerName = decodeURIComponent(containerName);
+          if (!containerName) {
+            throw new Error("Provided containerName is invalid.");
           }
+          return containerName;
+        } catch (error3) {
+          throw new Error("Unable to extract containerName with provided information.");
         }
       }
-    };
-    exports2.BlockBlobGetBlockListHeaders = {
-      serializedName: "BlockBlob_getBlockListHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobGetBlockListHeaders",
-        modelProperties: {
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          contentType: {
-            serializedName: "content-type",
-            xmlName: "content-type",
-            type: {
-              name: "String"
-            }
-          },
-          blobContentLength: {
-            serializedName: "x-ms-blob-content-length",
-            xmlName: "x-ms-blob-content-length",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      /**
+       * Only available for ContainerClient constructed with a shared key credential.
+       *
+       * Generates a Blob Container Service Shared Access Signature (SAS) URI based on the client properties
+       * and parameters passed in. The SAS is signed by the shared key credential of the client.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateSasUrl(options) {
+        return new Promise((resolve3) => {
+          if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
+            throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
           }
+          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
+            containerName: this._containerName,
+            ...options
+          }, this.credential).toString();
+          resolve3((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
+        });
+      }
+      /**
+       * Only available for ContainerClient constructed with a shared key credential.
+       *
+       * Generates string to sign for a Blob Container Service Shared Access Signature (SAS) URI
+       * based on the client properties and parameters passed in. The SAS is signed by the shared key credential of the client.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/
+      generateSasStringToSign(options) {
+        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
+          throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
         }
+        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
+          containerName: this._containerName,
+          ...options
+        }, this.credential).stringToSign;
+      }
+      /**
+       * Generates a Blob Container Service Shared Access Signature (SAS) URI based on the client properties
+       * and parameters passed in. The SAS is signed by the input user delegation key.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateUserDelegationSasUrl(options, userDelegationKey) {
+        return new Promise((resolve3) => {
+          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
+            containerName: this._containerName,
+            ...options
+          }, userDelegationKey, this.accountName).toString();
+          resolve3((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
+        });
+      }
+      /**
+       * Generates string to sign for a Blob Container Service Shared Access Signature (SAS) URI
+       * based on the client properties and parameters passed in. The SAS is signed by the input user delegation key.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateUserDelegationSasStringToSign(options, userDelegationKey) {
+        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
+          containerName: this._containerName,
+          ...options
+        }, userDelegationKey, this.accountName).stringToSign;
+      }
+      /**
+       * Creates a BlobBatchClient object to conduct batch operations.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch
+       *
+       * @returns A new BlobBatchClient object for this container.
+       */
+      getBlobBatchClient() {
+        return new BlobBatchClient_js_1.BlobBatchClient(this.url, this.pipeline);
       }
     };
-    exports2.BlockBlobGetBlockListExceptionHeaders = {
-      serializedName: "BlockBlob_getBlockListExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobGetBlockListExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+    exports2.ContainerClient = ContainerClient;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASPermissions.js
+var require_AccountSASPermissions = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASPermissions.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AccountSASPermissions = void 0;
+    var AccountSASPermissions = class _AccountSASPermissions {
+      /**
+       * Parse initializes the AccountSASPermissions fields from a string.
+       *
+       * @param permissions -
+       */
+      static parse(permissions) {
+        const accountSASPermissions = new _AccountSASPermissions();
+        for (const c of permissions) {
+          switch (c) {
+            case "r":
+              accountSASPermissions.read = true;
+              break;
+            case "w":
+              accountSASPermissions.write = true;
+              break;
+            case "d":
+              accountSASPermissions.delete = true;
+              break;
+            case "x":
+              accountSASPermissions.deleteVersion = true;
+              break;
+            case "l":
+              accountSASPermissions.list = true;
+              break;
+            case "a":
+              accountSASPermissions.add = true;
+              break;
+            case "c":
+              accountSASPermissions.create = true;
+              break;
+            case "u":
+              accountSASPermissions.update = true;
+              break;
+            case "p":
+              accountSASPermissions.process = true;
+              break;
+            case "t":
+              accountSASPermissions.tag = true;
+              break;
+            case "f":
+              accountSASPermissions.filter = true;
+              break;
+            case "i":
+              accountSASPermissions.setImmutabilityPolicy = true;
+              break;
+            case "y":
+              accountSASPermissions.permanentDelete = true;
+              break;
+            default:
+              throw new RangeError(`Invalid permission character: ${c}`);
           }
         }
+        return accountSASPermissions;
+      }
+      /**
+       * Creates a {@link AccountSASPermissions} from a raw object which contains same keys as it
+       * and boolean values for them.
+       *
+       * @param permissionLike -
+       */
+      static from(permissionLike) {
+        const accountSASPermissions = new _AccountSASPermissions();
+        if (permissionLike.read) {
+          accountSASPermissions.read = true;
+        }
+        if (permissionLike.write) {
+          accountSASPermissions.write = true;
+        }
+        if (permissionLike.delete) {
+          accountSASPermissions.delete = true;
+        }
+        if (permissionLike.deleteVersion) {
+          accountSASPermissions.deleteVersion = true;
+        }
+        if (permissionLike.filter) {
+          accountSASPermissions.filter = true;
+        }
+        if (permissionLike.tag) {
+          accountSASPermissions.tag = true;
+        }
+        if (permissionLike.list) {
+          accountSASPermissions.list = true;
+        }
+        if (permissionLike.add) {
+          accountSASPermissions.add = true;
+        }
+        if (permissionLike.create) {
+          accountSASPermissions.create = true;
+        }
+        if (permissionLike.update) {
+          accountSASPermissions.update = true;
+        }
+        if (permissionLike.process) {
+          accountSASPermissions.process = true;
+        }
+        if (permissionLike.setImmutabilityPolicy) {
+          accountSASPermissions.setImmutabilityPolicy = true;
+        }
+        if (permissionLike.permanentDelete) {
+          accountSASPermissions.permanentDelete = true;
+        }
+        return accountSASPermissions;
+      }
+      /**
+       * Permission to read resources and list queues and tables granted.
+       */
+      read = false;
+      /**
+       * Permission to write resources granted.
+       */
+      write = false;
+      /**
+       * Permission to delete blobs and files granted.
+       */
+      delete = false;
+      /**
+       * Permission to delete versions granted.
+       */
+      deleteVersion = false;
+      /**
+       * Permission to list blob containers, blobs, shares, directories, and files granted.
+       */
+      list = false;
+      /**
+       * Permission to add messages, table entities, and append to blobs granted.
+       */
+      add = false;
+      /**
+       * Permission to create blobs and files granted.
+       */
+      create = false;
+      /**
+       * Permissions to update messages and table entities granted.
+       */
+      update = false;
+      /**
+       * Permission to get and delete messages granted.
+       */
+      process = false;
+      /**
+       * Specfies Tag access granted.
+       */
+      tag = false;
+      /**
+       * Permission to filter blobs.
+       */
+      filter = false;
+      /**
+       * Permission to set immutability policy.
+       */
+      setImmutabilityPolicy = false;
+      /**
+       * Specifies that Permanent Delete is permitted.
+       */
+      permanentDelete = false;
+      /**
+       * Produces the SAS permissions string for an Azure Storage account.
+       * Call this method to set AccountSASSignatureValues Permissions field.
+       *
+       * Using this method will guarantee the resource types are in
+       * an order accepted by the service.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas
+       *
+       */
+      toString() {
+        const permissions = [];
+        if (this.read) {
+          permissions.push("r");
+        }
+        if (this.write) {
+          permissions.push("w");
+        }
+        if (this.delete) {
+          permissions.push("d");
+        }
+        if (this.deleteVersion) {
+          permissions.push("x");
+        }
+        if (this.filter) {
+          permissions.push("f");
+        }
+        if (this.tag) {
+          permissions.push("t");
+        }
+        if (this.list) {
+          permissions.push("l");
+        }
+        if (this.add) {
+          permissions.push("a");
+        }
+        if (this.create) {
+          permissions.push("c");
+        }
+        if (this.update) {
+          permissions.push("u");
+        }
+        if (this.process) {
+          permissions.push("p");
+        }
+        if (this.setImmutabilityPolicy) {
+          permissions.push("i");
+        }
+        if (this.permanentDelete) {
+          permissions.push("y");
+        }
+        return permissions.join("");
       }
     };
+    exports2.AccountSASPermissions = AccountSASPermissions;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/parameters.js
-var require_parameters = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/parameters.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASResourceTypes.js
+var require_AccountSASResourceTypes = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASResourceTypes.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.action3 = exports2.action2 = exports2.leaseId1 = exports2.action1 = exports2.proposedLeaseId = exports2.duration = exports2.action = exports2.comp10 = exports2.sourceLeaseId = exports2.sourceContainerName = exports2.comp9 = exports2.deletedContainerVersion = exports2.deletedContainerName = exports2.comp8 = exports2.containerAcl = exports2.comp7 = exports2.comp6 = exports2.ifUnmodifiedSince = exports2.ifModifiedSince = exports2.leaseId = exports2.preventEncryptionScopeOverride = exports2.defaultEncryptionScope = exports2.access = exports2.metadata = exports2.restype2 = exports2.where = exports2.comp5 = exports2.multipartContentType = exports2.contentLength = exports2.comp4 = exports2.body = exports2.restype1 = exports2.comp3 = exports2.keyInfo = exports2.include = exports2.maxPageSize = exports2.marker = exports2.prefix = exports2.comp2 = exports2.comp1 = exports2.accept1 = exports2.requestId = exports2.version = exports2.timeoutInSeconds = exports2.comp = exports2.restype = exports2.url = exports2.accept = exports2.blobServiceProperties = exports2.contentType = void 0;
-    exports2.fileRequestIntent = exports2.copySourceTags = exports2.copySourceAuthorization = exports2.sourceContentMD5 = exports2.xMsRequiresSync = exports2.legalHold1 = exports2.sealBlob = exports2.blobTagsString = exports2.copySource = exports2.sourceIfTags = exports2.sourceIfNoneMatch = exports2.sourceIfMatch = exports2.sourceIfUnmodifiedSince = exports2.sourceIfModifiedSince = exports2.rehydratePriority = exports2.tier = exports2.comp14 = exports2.encryptionScope = exports2.legalHold = exports2.comp13 = exports2.immutabilityPolicyMode = exports2.immutabilityPolicyExpiry = exports2.comp12 = exports2.blobContentDisposition = exports2.blobContentLanguage = exports2.blobContentEncoding = exports2.blobContentMD5 = exports2.blobContentType = exports2.blobCacheControl = exports2.expiresOn = exports2.expiryOptions = exports2.comp11 = exports2.blobDeleteType = exports2.deleteSnapshots = exports2.ifTags = exports2.ifNoneMatch = exports2.ifMatch = exports2.encryptionAlgorithm = exports2.encryptionKeySha256 = exports2.encryptionKey = exports2.rangeGetContentCRC64 = exports2.rangeGetContentMD5 = exports2.range = exports2.versionId = exports2.snapshot = exports2.delimiter = exports2.include1 = exports2.proposedLeaseId1 = exports2.action4 = exports2.breakPeriod = void 0;
-    exports2.listType = exports2.comp25 = exports2.blocks = exports2.blockId = exports2.comp24 = exports2.copySourceBlobProperties = exports2.blobType2 = exports2.comp23 = exports2.sourceRange1 = exports2.appendPosition = exports2.maxSize = exports2.comp22 = exports2.blobType1 = exports2.comp21 = exports2.sequenceNumberAction = exports2.prevSnapshotUrl = exports2.prevsnapshot = exports2.comp20 = exports2.range1 = exports2.sourceContentCrc64 = exports2.sourceRange = exports2.sourceUrl = exports2.pageWrite1 = exports2.ifSequenceNumberEqualTo = exports2.ifSequenceNumberLessThan = exports2.ifSequenceNumberLessThanOrEqualTo = exports2.pageWrite = exports2.comp19 = exports2.accept2 = exports2.body1 = exports2.contentType1 = exports2.blobSequenceNumber = exports2.blobContentLength = exports2.blobType = exports2.transactionalContentCrc64 = exports2.transactionalContentMD5 = exports2.tags = exports2.comp18 = exports2.comp17 = exports2.queryRequest = exports2.tier1 = exports2.comp16 = exports2.copyId = exports2.copyActionAbortConstant = exports2.comp15 = void 0;
-    var mappers_js_1 = require_mappers();
-    exports2.contentType = {
-      parameterPath: ["options", "contentType"],
-      mapper: {
-        defaultValue: "application/xml",
-        isConstant: true,
-        serializedName: "Content-Type",
-        type: {
-          name: "String"
+    exports2.AccountSASResourceTypes = void 0;
+    var AccountSASResourceTypes = class _AccountSASResourceTypes {
+      /**
+       * Creates an {@link AccountSASResourceTypes} from the specified resource types string. This method will throw an
+       * Error if it encounters a character that does not correspond to a valid resource type.
+       *
+       * @param resourceTypes -
+       */
+      static parse(resourceTypes) {
+        const accountSASResourceTypes = new _AccountSASResourceTypes();
+        for (const c of resourceTypes) {
+          switch (c) {
+            case "s":
+              accountSASResourceTypes.service = true;
+              break;
+            case "c":
+              accountSASResourceTypes.container = true;
+              break;
+            case "o":
+              accountSASResourceTypes.object = true;
+              break;
+            default:
+              throw new RangeError(`Invalid resource type: ${c}`);
+          }
         }
+        return accountSASResourceTypes;
       }
-    };
-    exports2.blobServiceProperties = {
-      parameterPath: "blobServiceProperties",
-      mapper: mappers_js_1.BlobServiceProperties
-    };
-    exports2.accept = {
-      parameterPath: "accept",
-      mapper: {
-        defaultValue: "application/xml",
-        isConstant: true,
-        serializedName: "Accept",
-        type: {
-          name: "String"
+      /**
+       * Permission to access service level APIs granted.
+       */
+      service = false;
+      /**
+       * Permission to access container level APIs (Blob Containers, Tables, Queues, File Shares) granted.
+       */
+      container = false;
+      /**
+       * Permission to access object level APIs (Blobs, Table Entities, Queue Messages, Files) granted.
+       */
+      object = false;
+      /**
+       * Converts the given resource types to a string.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas
+       *
+       */
+      toString() {
+        const resourceTypes = [];
+        if (this.service) {
+          resourceTypes.push("s");
         }
-      }
-    };
-    exports2.url = {
-      parameterPath: "url",
-      mapper: {
-        serializedName: "url",
-        required: true,
-        xmlName: "url",
-        type: {
-          name: "String"
+        if (this.container) {
+          resourceTypes.push("c");
         }
-      },
-      skipEncoding: true
-    };
-    exports2.restype = {
-      parameterPath: "restype",
-      mapper: {
-        defaultValue: "service",
-        isConstant: true,
-        serializedName: "restype",
-        type: {
-          name: "String"
+        if (this.object) {
+          resourceTypes.push("o");
         }
+        return resourceTypes.join("");
       }
     };
-    exports2.comp = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "properties",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+    exports2.AccountSASResourceTypes = AccountSASResourceTypes;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASServices.js
+var require_AccountSASServices = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASServices.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AccountSASServices = void 0;
+    var AccountSASServices = class _AccountSASServices {
+      /**
+       * Creates an {@link AccountSASServices} from the specified services string. This method will throw an
+       * Error if it encounters a character that does not correspond to a valid service.
+       *
+       * @param services -
+       */
+      static parse(services) {
+        const accountSASServices = new _AccountSASServices();
+        for (const c of services) {
+          switch (c) {
+            case "b":
+              accountSASServices.blob = true;
+              break;
+            case "f":
+              accountSASServices.file = true;
+              break;
+            case "q":
+              accountSASServices.queue = true;
+              break;
+            case "t":
+              accountSASServices.table = true;
+              break;
+            default:
+              throw new RangeError(`Invalid service character: ${c}`);
+          }
         }
+        return accountSASServices;
       }
-    };
-    exports2.timeoutInSeconds = {
-      parameterPath: ["options", "timeoutInSeconds"],
-      mapper: {
-        constraints: {
-          InclusiveMinimum: 0
-        },
-        serializedName: "timeout",
-        xmlName: "timeout",
-        type: {
-          name: "Number"
+      /**
+       * Permission to access blob resources granted.
+       */
+      blob = false;
+      /**
+       * Permission to access file resources granted.
+       */
+      file = false;
+      /**
+       * Permission to access queue resources granted.
+       */
+      queue = false;
+      /**
+       * Permission to access table resources granted.
+       */
+      table = false;
+      /**
+       * Converts the given services to a string.
+       *
+       */
+      toString() {
+        const services = [];
+        if (this.blob) {
+          services.push("b");
         }
-      }
-    };
-    exports2.version = {
-      parameterPath: "version",
-      mapper: {
-        defaultValue: "2025-11-05",
-        isConstant: true,
-        serializedName: "x-ms-version",
-        type: {
-          name: "String"
+        if (this.table) {
+          services.push("t");
         }
-      }
-    };
-    exports2.requestId = {
-      parameterPath: ["options", "requestId"],
-      mapper: {
-        serializedName: "x-ms-client-request-id",
-        xmlName: "x-ms-client-request-id",
-        type: {
-          name: "String"
+        if (this.queue) {
+          services.push("q");
+        }
+        if (this.file) {
+          services.push("f");
         }
+        return services.join("");
       }
     };
-    exports2.accept1 = {
-      parameterPath: "accept",
-      mapper: {
-        defaultValue: "application/xml",
-        isConstant: true,
-        serializedName: "Accept",
-        type: {
-          name: "String"
+    exports2.AccountSASServices = AccountSASServices;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASSignatureValues.js
+var require_AccountSASSignatureValues = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASSignatureValues.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.generateAccountSASQueryParameters = generateAccountSASQueryParameters;
+    exports2.generateAccountSASQueryParametersInternal = generateAccountSASQueryParametersInternal;
+    var AccountSASPermissions_js_1 = require_AccountSASPermissions();
+    var AccountSASResourceTypes_js_1 = require_AccountSASResourceTypes();
+    var AccountSASServices_js_1 = require_AccountSASServices();
+    var SasIPRange_js_1 = require_SasIPRange();
+    var SASQueryParameters_js_1 = require_SASQueryParameters();
+    var constants_js_1 = require_constants15();
+    var utils_common_js_1 = require_utils_common();
+    function generateAccountSASQueryParameters(accountSASSignatureValues, sharedKeyCredential) {
+      return generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential).sasQueryParameters;
+    }
+    function generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential) {
+      const version = accountSASSignatureValues.version ? accountSASSignatureValues.version : constants_js_1.SERVICE_VERSION;
+      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.setImmutabilityPolicy && version < "2020-08-04") {
+        throw RangeError("'version' must be >= '2020-08-04' when provided 'i' permission.");
+      }
+      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.deleteVersion && version < "2019-10-10") {
+        throw RangeError("'version' must be >= '2019-10-10' when provided 'x' permission.");
+      }
+      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.permanentDelete && version < "2019-10-10") {
+        throw RangeError("'version' must be >= '2019-10-10' when provided 'y' permission.");
+      }
+      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.tag && version < "2019-12-12") {
+        throw RangeError("'version' must be >= '2019-12-12' when provided 't' permission.");
+      }
+      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.filter && version < "2019-12-12") {
+        throw RangeError("'version' must be >= '2019-12-12' when provided 'f' permission.");
+      }
+      if (accountSASSignatureValues.encryptionScope && version < "2020-12-06") {
+        throw RangeError("'version' must be >= '2020-12-06' when provided 'encryptionScope' in SAS.");
+      }
+      const parsedPermissions = AccountSASPermissions_js_1.AccountSASPermissions.parse(accountSASSignatureValues.permissions.toString());
+      const parsedServices = AccountSASServices_js_1.AccountSASServices.parse(accountSASSignatureValues.services).toString();
+      const parsedResourceTypes = AccountSASResourceTypes_js_1.AccountSASResourceTypes.parse(accountSASSignatureValues.resourceTypes).toString();
+      let stringToSign;
+      if (version >= "2020-12-06") {
+        stringToSign = [
+          sharedKeyCredential.accountName,
+          parsedPermissions,
+          parsedServices,
+          parsedResourceTypes,
+          accountSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.startsOn, false) : "",
+          (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.expiresOn, false),
+          accountSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(accountSASSignatureValues.ipRange) : "",
+          accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : "",
+          version,
+          accountSASSignatureValues.encryptionScope ? accountSASSignatureValues.encryptionScope : "",
+          ""
+          // Account SAS requires an additional newline character
+        ].join("\n");
+      } else {
+        stringToSign = [
+          sharedKeyCredential.accountName,
+          parsedPermissions,
+          parsedServices,
+          parsedResourceTypes,
+          accountSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.startsOn, false) : "",
+          (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.expiresOn, false),
+          accountSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(accountSASSignatureValues.ipRange) : "",
+          accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : "",
+          version,
+          ""
+          // Account SAS requires an additional newline character
+        ].join("\n");
+      }
+      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(version, signature, parsedPermissions.toString(), parsedServices, parsedResourceTypes, accountSASSignatureValues.protocol, accountSASSignatureValues.startsOn, accountSASSignatureValues.expiresOn, accountSASSignatureValues.ipRange, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, accountSASSignatureValues.encryptionScope),
+        stringToSign
+      };
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BlobServiceClient.js
+var require_BlobServiceClient = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BlobServiceClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobServiceClient = void 0;
+    var core_auth_1 = require_commonjs7();
+    var core_rest_pipeline_1 = require_commonjs6();
+    var core_util_1 = require_commonjs4();
+    var Pipeline_js_1 = require_Pipeline();
+    var ContainerClient_js_1 = require_ContainerClient();
+    var utils_common_js_1 = require_utils_common();
+    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
+    var AnonymousCredential_js_1 = require_AnonymousCredential();
+    var utils_common_js_2 = require_utils_common();
+    var tracing_js_1 = require_tracing();
+    var BlobBatchClient_js_1 = require_BlobBatchClient();
+    var StorageClient_js_1 = require_StorageClient();
+    var AccountSASPermissions_js_1 = require_AccountSASPermissions();
+    var AccountSASSignatureValues_js_1 = require_AccountSASSignatureValues();
+    var AccountSASServices_js_1 = require_AccountSASServices();
+    var BlobServiceClient = class _BlobServiceClient extends StorageClient_js_1.StorageClient {
+      /**
+       * serviceContext provided by protocol layer.
+       */
+      serviceContext;
+      /**
+       *
+       * Creates an instance of BlobServiceClient from connection string.
+       *
+       * @param connectionString - Account connection string or a SAS connection string of an Azure storage account.
+       *                                  [ Note - Account connection string can only be used in NODE.JS runtime. ]
+       *                                  Account connection string example -
+       *                                  `DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=accountKey;EndpointSuffix=core.windows.net`
+       *                                  SAS connection string example -
+       *                                  `BlobEndpoint=https://myaccount.blob.core.windows.net/;QueueEndpoint=https://myaccount.queue.core.windows.net/;FileEndpoint=https://myaccount.file.core.windows.net/;TableEndpoint=https://myaccount.table.core.windows.net/;SharedAccessSignature=sasString`
+       * @param options - Optional. Options to configure the HTTP pipeline.
+       */
+      static fromConnectionString(connectionString, options) {
+        options = options || {};
+        const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(connectionString);
+        if (extractedCreds.kind === "AccountConnString") {
+          if (core_util_1.isNodeLike) {
+            const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
+            if (!options.proxyOptions) {
+              options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+            }
+            const pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+            return new _BlobServiceClient(extractedCreds.url, pipeline);
+          } else {
+            throw new Error("Account connection string is only supported in Node.js environment");
+          }
+        } else if (extractedCreds.kind === "SASConnString") {
+          const pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+          return new _BlobServiceClient(extractedCreds.url + "?" + extractedCreds.accountSas, pipeline);
+        } else {
+          throw new Error("Connection string must be either an Account connection string or a SAS connection string");
         }
       }
-    };
-    exports2.comp1 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "stats",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+      constructor(url, credentialOrPipeline, options) {
+        let pipeline;
+        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipeline)) {
+          pipeline = credentialOrPipeline;
+        } else if (core_util_1.isNodeLike && credentialOrPipeline instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipeline instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipeline)) {
+          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipeline, options);
+        } else {
+          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
         }
+        super(url, pipeline);
+        this.serviceContext = this.storageClientContext.service;
+      }
+      /**
+       * Creates a {@link ContainerClient} object
+       *
+       * @param containerName - A container name
+       * @returns A new ContainerClient object for the given container name.
+       *
+       * Example usage:
+       *
+       * ```ts snippet:BlobServiceClientGetContainerClient
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerClient = blobServiceClient.getContainerClient("");
+       * ```
+       */
+      getContainerClient(containerName) {
+        return new ContainerClient_js_1.ContainerClient((0, utils_common_js_1.appendToURLPath)(this.url, encodeURIComponent(containerName)), this.pipeline);
+      }
+      /**
+       * Create a Blob container. @see https://learn.microsoft.com/rest/api/storageservices/create-container
+       *
+       * @param containerName - Name of the container to create.
+       * @param options - Options to configure Container Create operation.
+       * @returns Container creation response and the corresponding container client.
+       */
+      async createContainer(containerName, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-createContainer", options, async (updatedOptions) => {
+          const containerClient = this.getContainerClient(containerName);
+          const containerCreateResponse = await containerClient.create(updatedOptions);
+          return {
+            containerClient,
+            containerCreateResponse
+          };
+        });
+      }
+      /**
+       * Deletes a Blob container.
+       *
+       * @param containerName - Name of the container to delete.
+       * @param options - Options to configure Container Delete operation.
+       * @returns Container deletion response.
+       */
+      async deleteContainer(containerName, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-deleteContainer", options, async (updatedOptions) => {
+          const containerClient = this.getContainerClient(containerName);
+          return containerClient.delete(updatedOptions);
+        });
+      }
+      /**
+       * Restore a previously deleted Blob container.
+       * This API is only functional if Container Soft Delete is enabled for the storage account associated with the container.
+       *
+       * @param deletedContainerName - Name of the previously deleted container.
+       * @param deletedContainerVersion - Version of the previously deleted container, used to uniquely identify the deleted container.
+       * @param options - Options to configure Container Restore operation.
+       * @returns Container deletion response.
+       */
+      async undeleteContainer(deletedContainerName, deletedContainerVersion, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-undeleteContainer", options, async (updatedOptions) => {
+          const containerClient = this.getContainerClient(options.destinationContainerName || deletedContainerName);
+          const containerContext = containerClient["storageClientContext"].container;
+          const containerUndeleteResponse = (0, utils_common_js_2.assertResponse)(await containerContext.restore({
+            deletedContainerName,
+            deletedContainerVersion,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          return { containerClient, containerUndeleteResponse };
+        });
+      }
+      /**
+       * Gets the properties of a storage account’s Blob service, including properties
+       * for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-properties
+       *
+       * @param options - Options to the Service Get Properties operation.
+       * @returns Response data for the Service Get Properties operation.
+       */
+      async getProperties(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getProperties", options, async (updatedOptions) => {
+          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getProperties({
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Sets properties for a storage account’s Blob service endpoint, including properties
+       * for Storage Analytics, CORS (Cross-Origin Resource Sharing) rules and soft delete settings.
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-service-properties
+       *
+       * @param properties -
+       * @param options - Options to the Service Set Properties operation.
+       * @returns Response data for the Service Set Properties operation.
+       */
+      async setProperties(properties, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-setProperties", options, async (updatedOptions) => {
+          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.setProperties(properties, {
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Retrieves statistics related to replication for the Blob service. It is only
+       * available on the secondary location endpoint when read-access geo-redundant
+       * replication is enabled for the storage account.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-stats
+       *
+       * @param options - Options to the Service Get Statistics operation.
+       * @returns Response data for the Service Get Statistics operation.
+       */
+      async getStatistics(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getStatistics", options, async (updatedOptions) => {
+          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getStatistics({
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * The Get Account Information operation returns the sku name and account kind
+       * for the specified account.
+       * The Get Account Information operation is available on service versions beginning
+       * with version 2018-03-28.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information
+       *
+       * @param options - Options to the Service Get Account Info operation.
+       * @returns Response data for the Service Get Account Info operation.
+       */
+      async getAccountInfo(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getAccountInfo", options, async (updatedOptions) => {
+          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getAccountInfo({
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.comp2 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "list",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
-        }
+      /**
+       * Returns a list of the containers under the specified account.
+       * @see https://learn.microsoft.com/rest/api/storageservices/list-containers2
+       *
+       * @param marker - A string value that identifies the portion of
+       *                        the list of containers to be returned with the next listing operation. The
+       *                        operation returns the continuationToken value within the response body if the
+       *                        listing operation did not return all containers remaining to be listed
+       *                        with the current page. The continuationToken value can be used as the value for
+       *                        the marker parameter in a subsequent call to request the next page of list
+       *                        items. The marker value is opaque to the client.
+       * @param options - Options to the Service List Container Segment operation.
+       * @returns Response data for the Service List Container Segment operation.
+       */
+      async listContainersSegment(marker, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-listContainersSegment", options, async (updatedOptions) => {
+          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.listContainersSegment({
+            abortSignal: options.abortSignal,
+            marker,
+            ...options,
+            include: typeof options.include === "string" ? [options.include] : options.include,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.prefix = {
-      parameterPath: ["options", "prefix"],
-      mapper: {
-        serializedName: "prefix",
-        xmlName: "prefix",
-        type: {
-          name: "String"
-        }
+      /**
+       * The Filter Blobs operation enables callers to list blobs across all containers whose tags
+       * match a given search expression. Filter blobs searches across all containers within a
+       * storage account but can be scoped within the expression to a single container.
+       *
+       * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                        The given expression must evaluate to true for a blob to be returned in the results.
+       *                                        The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                        however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param marker - A string value that identifies the portion of
+       *                          the list of blobs to be returned with the next listing operation. The
+       *                          operation returns the continuationToken value within the response body if the
+       *                          listing operation did not return all blobs remaining to be listed
+       *                          with the current page. The continuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of list
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to find blobs by tags.
+       */
+      async findBlobsByTagsSegment(tagFilterSqlExpression, marker, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-findBlobsByTagsSegment", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_2.assertResponse)(await this.serviceContext.filterBlobs({
+            abortSignal: options.abortSignal,
+            where: tagFilterSqlExpression,
+            marker,
+            maxPageSize: options.maxPageSize,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const wrappedResponse = {
+            ...response,
+            _response: response._response,
+            // _response is made non-enumerable
+            blobs: response.blobs.map((blob) => {
+              let tagValue = "";
+              if (blob.tags?.blobTagSet.length === 1) {
+                tagValue = blob.tags.blobTagSet[0].value;
+              }
+              return { ...blob, tags: (0, utils_common_js_1.toTags)(blob.tags), tagValue };
+            })
+          };
+          return wrappedResponse;
+        });
       }
-    };
-    exports2.marker = {
-      parameterPath: ["options", "marker"],
-      mapper: {
-        serializedName: "marker",
-        xmlName: "marker",
-        type: {
-          name: "String"
+      /**
+       * Returns an AsyncIterableIterator for ServiceFindBlobsByTagsSegmentResponse.
+       *
+       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                         The given expression must evaluate to true for a blob to be returned in the results.
+       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param marker - A string value that identifies the portion of
+       *                          the list of blobs to be returned with the next listing operation. The
+       *                          operation returns the continuationToken value within the response body if the
+       *                          listing operation did not return all blobs remaining to be listed
+       *                          with the current page. The continuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of list
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to find blobs by tags.
+       */
+      async *findBlobsByTagsSegments(tagFilterSqlExpression, marker, options = {}) {
+        let response;
+        if (!!marker || marker === void 0) {
+          do {
+            response = await this.findBlobsByTagsSegment(tagFilterSqlExpression, marker, options);
+            response.blobs = response.blobs || [];
+            marker = response.continuationToken;
+            yield response;
+          } while (marker);
         }
       }
-    };
-    exports2.maxPageSize = {
-      parameterPath: ["options", "maxPageSize"],
-      mapper: {
-        constraints: {
-          InclusiveMinimum: 1
-        },
-        serializedName: "maxresults",
-        xmlName: "maxresults",
-        type: {
-          name: "Number"
+      /**
+       * Returns an AsyncIterableIterator for blobs.
+       *
+       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                         The given expression must evaluate to true for a blob to be returned in the results.
+       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param options - Options to findBlobsByTagsItems.
+       */
+      async *findBlobsByTagsItems(tagFilterSqlExpression, options = {}) {
+        let marker;
+        for await (const segment of this.findBlobsByTagsSegments(tagFilterSqlExpression, marker, options)) {
+          yield* segment.blobs;
         }
       }
-    };
-    exports2.include = {
-      parameterPath: ["options", "include"],
-      mapper: {
-        serializedName: "include",
-        xmlName: "include",
-        xmlElementName: "ListContainersIncludeType",
-        type: {
-          name: "Sequence",
-          element: {
-            type: {
-              name: "Enum",
-              allowedValues: ["metadata", "deleted", "system"]
-            }
+      /**
+       * Returns an async iterable iterator to find all blobs with specified tag
+       * under the specified account.
+       *
+       * .byPage() returns an async iterable iterator to list the blobs in pages.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-properties
+       *
+       * ```ts snippet:BlobServiceClientFindBlobsByTags
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * // Use for await to iterate the blobs
+       * let i = 1;
+       * for await (const blob of blobServiceClient.findBlobsByTags("tagkey='tagvalue'")) {
+       *   console.log(`Blob ${i++}: ${blob.name}`);
+       * }
+       *
+       * // Use iter.next() to iterate the blobs
+       * i = 1;
+       * const iter = blobServiceClient.findBlobsByTags("tagkey='tagvalue'");
+       * let { value, done } = await iter.next();
+       * while (!done) {
+       *   console.log(`Blob ${i++}: ${value.name}`);
+       *   ({ value, done } = await iter.next());
+       * }
+       *
+       * // Use byPage() to iterate the blobs
+       * i = 1;
+       * for await (const page of blobServiceClient
+       *   .findBlobsByTags("tagkey='tagvalue'")
+       *   .byPage({ maxPageSize: 20 })) {
+       *   for (const blob of page.blobs) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       *
+       * // Use paging with a marker
+       * i = 1;
+       * let iterator = blobServiceClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 2 });
+       * let response = (await iterator.next()).value;
+       * // Prints 2 blob names
+       * if (response.blobs) {
+       *   for (const blob of response.blobs) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       * // Gets next marker
+       * let marker = response.continuationToken;
+       * // Passing next marker as continuationToken
+       * iterator = blobServiceClient
+       *   .findBlobsByTags("tagkey='tagvalue'")
+       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
+       * response = (await iterator.next()).value;
+       *
+       * // Prints blob names
+       * if (response.blobs) {
+       *   for (const blob of response.blobs) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       * ```
+       *
+       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                         The given expression must evaluate to true for a blob to be returned in the results.
+       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param options - Options to find blobs by tags.
+       */
+      findBlobsByTags(tagFilterSqlExpression, options = {}) {
+        const listSegmentOptions = {
+          ...options
+        };
+        const iter = this.findBlobsByTagsItems(tagFilterSqlExpression, listSegmentOptions);
+        return {
+          /**
+           * The next method, part of the iteration protocol
+           */
+          next() {
+            return iter.next();
+          },
+          /**
+           * The connection to the async iterator, part of the iteration protocol
+           */
+          [Symbol.asyncIterator]() {
+            return this;
+          },
+          /**
+           * Return an AsyncIterableIterator that works a page at a time
+           */
+          byPage: (settings = {}) => {
+            return this.findBlobsByTagsSegments(tagFilterSqlExpression, settings.continuationToken, {
+              maxPageSize: settings.maxPageSize,
+              ...listSegmentOptions
+            });
           }
-        }
-      },
-      collectionFormat: "CSV"
-    };
-    exports2.keyInfo = {
-      parameterPath: "keyInfo",
-      mapper: mappers_js_1.KeyInfo
-    };
-    exports2.comp3 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "userdelegationkey",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
-        }
+        };
       }
-    };
-    exports2.restype1 = {
-      parameterPath: "restype",
-      mapper: {
-        defaultValue: "account",
-        isConstant: true,
-        serializedName: "restype",
-        type: {
-          name: "String"
+      /**
+       * Returns an AsyncIterableIterator for ServiceListContainersSegmentResponses
+       *
+       * @param marker - A string value that identifies the portion of
+       *                        the list of containers to be returned with the next listing operation. The
+       *                        operation returns the continuationToken value within the response body if the
+       *                        listing operation did not return all containers remaining to be listed
+       *                        with the current page. The continuationToken value can be used as the value for
+       *                        the marker parameter in a subsequent call to request the next page of list
+       *                        items. The marker value is opaque to the client.
+       * @param options - Options to list containers operation.
+       */
+      async *listSegments(marker, options = {}) {
+        let listContainersSegmentResponse;
+        if (!!marker || marker === void 0) {
+          do {
+            listContainersSegmentResponse = await this.listContainersSegment(marker, options);
+            listContainersSegmentResponse.containerItems = listContainersSegmentResponse.containerItems || [];
+            marker = listContainersSegmentResponse.continuationToken;
+            yield await listContainersSegmentResponse;
+          } while (marker);
         }
       }
-    };
-    exports2.body = {
-      parameterPath: "body",
-      mapper: {
-        serializedName: "body",
-        required: true,
-        xmlName: "body",
-        type: {
-          name: "Stream"
+      /**
+       * Returns an AsyncIterableIterator for Container Items
+       *
+       * @param options - Options to list containers operation.
+       */
+      async *listItems(options = {}) {
+        let marker;
+        for await (const segment of this.listSegments(marker, options)) {
+          yield* segment.containerItems;
         }
       }
-    };
-    exports2.comp4 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "batch",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+      /**
+       * Returns an async iterable iterator to list all the containers
+       * under the specified account.
+       *
+       * .byPage() returns an async iterable iterator to list the containers in pages.
+       *
+       * ```ts snippet:BlobServiceClientListContainers
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * // Use for await to iterate the containers
+       * let i = 1;
+       * for await (const container of blobServiceClient.listContainers()) {
+       *   console.log(`Container ${i++}: ${container.name}`);
+       * }
+       *
+       * // Use iter.next() to iterate the containers
+       * i = 1;
+       * const iter = blobServiceClient.listContainers();
+       * let { value, done } = await iter.next();
+       * while (!done) {
+       *   console.log(`Container ${i++}: ${value.name}`);
+       *   ({ value, done } = await iter.next());
+       * }
+       *
+       * // Use byPage() to iterate the containers
+       * i = 1;
+       * for await (const page of blobServiceClient.listContainers().byPage({ maxPageSize: 20 })) {
+       *   for (const container of page.containerItems) {
+       *     console.log(`Container ${i++}: ${container.name}`);
+       *   }
+       * }
+       *
+       * // Use paging with a marker
+       * i = 1;
+       * let iterator = blobServiceClient.listContainers().byPage({ maxPageSize: 2 });
+       * let response = (await iterator.next()).value;
+       *
+       * // Prints 2 container names
+       * if (response.containerItems) {
+       *   for (const container of response.containerItems) {
+       *     console.log(`Container ${i++}: ${container.name}`);
+       *   }
+       * }
+       *
+       * // Gets next marker
+       * let marker = response.continuationToken;
+       * // Passing next marker as continuationToken
+       * iterator = blobServiceClient
+       *   .listContainers()
+       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
+       * response = (await iterator.next()).value;
+       *
+       * // Prints 10 container names
+       * if (response.containerItems) {
+       *   for (const container of response.containerItems) {
+       *     console.log(`Container ${i++}: ${container.name}`);
+       *   }
+       * }
+       * ```
+       *
+       * @param options - Options to list containers.
+       * @returns An asyncIterableIterator that supports paging.
+       */
+      listContainers(options = {}) {
+        if (options.prefix === "") {
+          options.prefix = void 0;
         }
-      }
-    };
-    exports2.contentLength = {
-      parameterPath: "contentLength",
-      mapper: {
-        serializedName: "Content-Length",
-        required: true,
-        xmlName: "Content-Length",
-        type: {
-          name: "Number"
+        const include = [];
+        if (options.includeDeleted) {
+          include.push("deleted");
         }
-      }
-    };
-    exports2.multipartContentType = {
-      parameterPath: "multipartContentType",
-      mapper: {
-        serializedName: "Content-Type",
-        required: true,
-        xmlName: "Content-Type",
-        type: {
-          name: "String"
+        if (options.includeMetadata) {
+          include.push("metadata");
         }
-      }
-    };
-    exports2.comp5 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "blobs",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+        if (options.includeSystem) {
+          include.push("system");
         }
+        const listSegmentOptions = {
+          ...options,
+          ...include.length > 0 ? { include } : {}
+        };
+        const iter = this.listItems(listSegmentOptions);
+        return {
+          /**
+           * The next method, part of the iteration protocol
+           */
+          next() {
+            return iter.next();
+          },
+          /**
+           * The connection to the async iterator, part of the iteration protocol
+           */
+          [Symbol.asyncIterator]() {
+            return this;
+          },
+          /**
+           * Return an AsyncIterableIterator that works a page at a time
+           */
+          byPage: (settings = {}) => {
+            return this.listSegments(settings.continuationToken, {
+              maxPageSize: settings.maxPageSize,
+              ...listSegmentOptions
+            });
+          }
+        };
+      }
+      /**
+       * ONLY AVAILABLE WHEN USING BEARER TOKEN AUTHENTICATION (TokenCredential).
+       *
+       * Retrieves a user delegation key for the Blob service. This is only a valid operation when using
+       * bearer token authentication.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-user-delegation-key
+       *
+       * @param startsOn -      The start time for the user delegation SAS. Must be within 7 days of the current time
+       * @param expiresOn -     The end time for the user delegation SAS. Must be within 7 days of the current time
+       */
+      async getUserDelegationKey(startsOn, expiresOn, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getUserDelegationKey", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_2.assertResponse)(await this.serviceContext.getUserDelegationKey({
+            startsOn: (0, utils_common_js_2.truncatedISO8061Date)(startsOn, false),
+            expiresOn: (0, utils_common_js_2.truncatedISO8061Date)(expiresOn, false)
+          }, {
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const userDelegationKey = {
+            signedObjectId: response.signedObjectId,
+            signedTenantId: response.signedTenantId,
+            signedStartsOn: new Date(response.signedStartsOn),
+            signedExpiresOn: new Date(response.signedExpiresOn),
+            signedService: response.signedService,
+            signedVersion: response.signedVersion,
+            value: response.value
+          };
+          const res = {
+            _response: response._response,
+            requestId: response.requestId,
+            clientRequestId: response.clientRequestId,
+            version: response.version,
+            date: response.date,
+            errorCode: response.errorCode,
+            ...userDelegationKey
+          };
+          return res;
+        });
       }
-    };
-    exports2.where = {
-      parameterPath: ["options", "where"],
-      mapper: {
-        serializedName: "where",
-        xmlName: "where",
-        type: {
-          name: "String"
-        }
+      /**
+       * Creates a BlobBatchClient object to conduct batch operations.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch
+       *
+       * @returns A new BlobBatchClient object for this service.
+       */
+      getBlobBatchClient() {
+        return new BlobBatchClient_js_1.BlobBatchClient(this.url, this.pipeline);
       }
-    };
-    exports2.restype2 = {
-      parameterPath: "restype",
-      mapper: {
-        defaultValue: "container",
-        isConstant: true,
-        serializedName: "restype",
-        type: {
-          name: "String"
+      /**
+       * Only available for BlobServiceClient constructed with a shared key credential.
+       *
+       * Generates a Blob account Shared Access Signature (SAS) URI based on the client properties
+       * and parameters passed in. The SAS is signed by the shared key credential of the client.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/create-account-sas
+       *
+       * @param expiresOn - Optional. The time at which the shared access signature becomes invalid. Default to an hour later if not provided.
+       * @param permissions - Specifies the list of permissions to be associated with the SAS.
+       * @param resourceTypes - Specifies the resource types associated with the shared access signature.
+       * @param options - Optional parameters.
+       * @returns An account SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateAccountSasUrl(expiresOn, permissions = AccountSASPermissions_js_1.AccountSASPermissions.parse("r"), resourceTypes = "sco", options = {}) {
+        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
+          throw RangeError("Can only generate the account SAS when the client is initialized with a shared key credential");
         }
-      }
-    };
-    exports2.metadata = {
-      parameterPath: ["options", "metadata"],
-      mapper: {
-        serializedName: "x-ms-meta",
-        xmlName: "x-ms-meta",
-        headerCollectionPrefix: "x-ms-meta-",
-        type: {
-          name: "Dictionary",
-          value: { type: { name: "String" } }
+        if (expiresOn === void 0) {
+          const now = /* @__PURE__ */ new Date();
+          expiresOn = new Date(now.getTime() + 3600 * 1e3);
         }
+        const sas = (0, AccountSASSignatureValues_js_1.generateAccountSASQueryParameters)({
+          permissions,
+          expiresOn,
+          resourceTypes,
+          services: AccountSASServices_js_1.AccountSASServices.parse("b").toString(),
+          ...options
+        }, this.credential).toString();
+        return (0, utils_common_js_1.appendToURLQuery)(this.url, sas);
       }
-    };
-    exports2.access = {
-      parameterPath: ["options", "access"],
-      mapper: {
-        serializedName: "x-ms-blob-public-access",
-        xmlName: "x-ms-blob-public-access",
-        type: {
-          name: "Enum",
-          allowedValues: ["container", "blob"]
+      /**
+       * Only available for BlobServiceClient constructed with a shared key credential.
+       *
+       * Generates string to sign for a Blob account Shared Access Signature (SAS) URI based on
+       * the client properties and parameters passed in. The SAS is signed by the shared key credential of the client.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/create-account-sas
+       *
+       * @param expiresOn - Optional. The time at which the shared access signature becomes invalid. Default to an hour later if not provided.
+       * @param permissions - Specifies the list of permissions to be associated with the SAS.
+       * @param resourceTypes - Specifies the resource types associated with the shared access signature.
+       * @param options - Optional parameters.
+       * @returns An account SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateSasStringToSign(expiresOn, permissions = AccountSASPermissions_js_1.AccountSASPermissions.parse("r"), resourceTypes = "sco", options = {}) {
+        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
+          throw RangeError("Can only generate the account SAS when the client is initialized with a shared key credential");
         }
-      }
-    };
-    exports2.defaultEncryptionScope = {
-      parameterPath: [
-        "options",
-        "containerEncryptionScope",
-        "defaultEncryptionScope"
-      ],
-      mapper: {
-        serializedName: "x-ms-default-encryption-scope",
-        xmlName: "x-ms-default-encryption-scope",
-        type: {
-          name: "String"
+        if (expiresOn === void 0) {
+          const now = /* @__PURE__ */ new Date();
+          expiresOn = new Date(now.getTime() + 3600 * 1e3);
         }
+        return (0, AccountSASSignatureValues_js_1.generateAccountSASQueryParametersInternal)({
+          permissions,
+          expiresOn,
+          resourceTypes,
+          services: AccountSASServices_js_1.AccountSASServices.parse("b").toString(),
+          ...options
+        }, this.credential).stringToSign;
       }
     };
-    exports2.preventEncryptionScopeOverride = {
-      parameterPath: [
-        "options",
-        "containerEncryptionScope",
-        "preventEncryptionScopeOverride"
-      ],
-      mapper: {
-        serializedName: "x-ms-deny-encryption-scope-override",
-        xmlName: "x-ms-deny-encryption-scope-override",
-        type: {
-          name: "Boolean"
+    exports2.BlobServiceClient = BlobServiceClient;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BatchResponse.js
+var require_BatchResponse = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BatchResponse.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generatedModels.js
+var require_generatedModels = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generatedModels.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.KnownEncryptionAlgorithmType = void 0;
+    var KnownEncryptionAlgorithmType;
+    (function(KnownEncryptionAlgorithmType2) {
+      KnownEncryptionAlgorithmType2["AES256"] = "AES256";
+    })(KnownEncryptionAlgorithmType || (exports2.KnownEncryptionAlgorithmType = KnownEncryptionAlgorithmType = {}));
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/index.js
+var require_commonjs15 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.logger = exports2.RestError = exports2.BaseRequestPolicy = exports2.StorageOAuthScopes = exports2.newPipeline = exports2.isPipelineLike = exports2.Pipeline = exports2.getBlobServiceAccountAudience = exports2.StorageBlobAudience = exports2.PremiumPageBlobTier = exports2.BlockBlobTier = exports2.generateBlobSASQueryParameters = exports2.generateAccountSASQueryParameters = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var core_rest_pipeline_1 = require_commonjs6();
+    Object.defineProperty(exports2, "RestError", { enumerable: true, get: function() {
+      return core_rest_pipeline_1.RestError;
+    } });
+    tslib_1.__exportStar(require_BlobServiceClient(), exports2);
+    tslib_1.__exportStar(require_Clients(), exports2);
+    tslib_1.__exportStar(require_ContainerClient(), exports2);
+    tslib_1.__exportStar(require_BlobLeaseClient(), exports2);
+    tslib_1.__exportStar(require_AccountSASPermissions(), exports2);
+    tslib_1.__exportStar(require_AccountSASResourceTypes(), exports2);
+    tslib_1.__exportStar(require_AccountSASServices(), exports2);
+    var AccountSASSignatureValues_js_1 = require_AccountSASSignatureValues();
+    Object.defineProperty(exports2, "generateAccountSASQueryParameters", { enumerable: true, get: function() {
+      return AccountSASSignatureValues_js_1.generateAccountSASQueryParameters;
+    } });
+    tslib_1.__exportStar(require_BlobBatch(), exports2);
+    tslib_1.__exportStar(require_BlobBatchClient(), exports2);
+    tslib_1.__exportStar(require_BatchResponse(), exports2);
+    tslib_1.__exportStar(require_BlobSASPermissions(), exports2);
+    var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues();
+    Object.defineProperty(exports2, "generateBlobSASQueryParameters", { enumerable: true, get: function() {
+      return BlobSASSignatureValues_js_1.generateBlobSASQueryParameters;
+    } });
+    tslib_1.__exportStar(require_StorageBrowserPolicyFactory2(), exports2);
+    tslib_1.__exportStar(require_ContainerSASPermissions(), exports2);
+    tslib_1.__exportStar(require_AnonymousCredential(), exports2);
+    tslib_1.__exportStar(require_Credential(), exports2);
+    tslib_1.__exportStar(require_StorageSharedKeyCredential(), exports2);
+    var models_js_1 = require_models2();
+    Object.defineProperty(exports2, "BlockBlobTier", { enumerable: true, get: function() {
+      return models_js_1.BlockBlobTier;
+    } });
+    Object.defineProperty(exports2, "PremiumPageBlobTier", { enumerable: true, get: function() {
+      return models_js_1.PremiumPageBlobTier;
+    } });
+    Object.defineProperty(exports2, "StorageBlobAudience", { enumerable: true, get: function() {
+      return models_js_1.StorageBlobAudience;
+    } });
+    Object.defineProperty(exports2, "getBlobServiceAccountAudience", { enumerable: true, get: function() {
+      return models_js_1.getBlobServiceAccountAudience;
+    } });
+    var Pipeline_js_1 = require_Pipeline();
+    Object.defineProperty(exports2, "Pipeline", { enumerable: true, get: function() {
+      return Pipeline_js_1.Pipeline;
+    } });
+    Object.defineProperty(exports2, "isPipelineLike", { enumerable: true, get: function() {
+      return Pipeline_js_1.isPipelineLike;
+    } });
+    Object.defineProperty(exports2, "newPipeline", { enumerable: true, get: function() {
+      return Pipeline_js_1.newPipeline;
+    } });
+    Object.defineProperty(exports2, "StorageOAuthScopes", { enumerable: true, get: function() {
+      return Pipeline_js_1.StorageOAuthScopes;
+    } });
+    tslib_1.__exportStar(require_StorageRetryPolicyFactory(), exports2);
+    var RequestPolicy_js_1 = require_RequestPolicy();
+    Object.defineProperty(exports2, "BaseRequestPolicy", { enumerable: true, get: function() {
+      return RequestPolicy_js_1.BaseRequestPolicy;
+    } });
+    tslib_1.__exportStar(require_AnonymousCredentialPolicy(), exports2);
+    tslib_1.__exportStar(require_CredentialPolicy(), exports2);
+    tslib_1.__exportStar(require_StorageRetryPolicyFactory(), exports2);
+    tslib_1.__exportStar(require_StorageSharedKeyCredentialPolicy(), exports2);
+    tslib_1.__exportStar(require_SASQueryParameters(), exports2);
+    tslib_1.__exportStar(require_generatedModels(), exports2);
+    var log_js_1 = require_log5();
+    Object.defineProperty(exports2, "logger", { enumerable: true, get: function() {
+      return log_js_1.logger;
+    } });
+  }
+});
+
+// node_modules/@actions/cache/lib/internal/shared/errors.js
+var require_errors3 = __commonJS({
+  "node_modules/@actions/cache/lib/internal/shared/errors.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.RateLimitError = exports2.UsageError = exports2.NetworkError = exports2.GHESNotSupportedError = exports2.CacheNotFoundError = exports2.InvalidResponseError = exports2.FilesNotFoundError = void 0;
+    var FilesNotFoundError = class extends Error {
+      constructor(files = []) {
+        let message = "No files were found to upload";
+        if (files.length > 0) {
+          message += `: ${files.join(", ")}`;
         }
+        super(message);
+        this.files = files;
+        this.name = "FilesNotFoundError";
       }
     };
-    exports2.leaseId = {
-      parameterPath: ["options", "leaseAccessConditions", "leaseId"],
-      mapper: {
-        serializedName: "x-ms-lease-id",
-        xmlName: "x-ms-lease-id",
-        type: {
-          name: "String"
-        }
+    exports2.FilesNotFoundError = FilesNotFoundError;
+    var InvalidResponseError = class extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "InvalidResponseError";
       }
     };
-    exports2.ifModifiedSince = {
-      parameterPath: ["options", "modifiedAccessConditions", "ifModifiedSince"],
-      mapper: {
-        serializedName: "If-Modified-Since",
-        xmlName: "If-Modified-Since",
-        type: {
-          name: "DateTimeRfc1123"
-        }
+    exports2.InvalidResponseError = InvalidResponseError;
+    var CacheNotFoundError = class extends Error {
+      constructor(message = "Cache not found") {
+        super(message);
+        this.name = "CacheNotFoundError";
       }
     };
-    exports2.ifUnmodifiedSince = {
-      parameterPath: ["options", "modifiedAccessConditions", "ifUnmodifiedSince"],
-      mapper: {
-        serializedName: "If-Unmodified-Since",
-        xmlName: "If-Unmodified-Since",
-        type: {
-          name: "DateTimeRfc1123"
-        }
+    exports2.CacheNotFoundError = CacheNotFoundError;
+    var GHESNotSupportedError = class extends Error {
+      constructor(message = "@actions/cache v4.1.4+, actions/cache/save@v4+ and actions/cache/restore@v4+ are not currently supported on GHES.") {
+        super(message);
+        this.name = "GHESNotSupportedError";
       }
     };
-    exports2.comp6 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "metadata",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
-        }
+    exports2.GHESNotSupportedError = GHESNotSupportedError;
+    var NetworkError = class extends Error {
+      constructor(code) {
+        const message = `Unable to make request: ${code}
+If you are using self-hosted runners, please make sure your runner has access to all GitHub endpoints: https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#communication-between-self-hosted-runners-and-github`;
+        super(message);
+        this.code = code;
+        this.name = "NetworkError";
       }
     };
-    exports2.comp7 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "acl",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
-        }
-      }
+    exports2.NetworkError = NetworkError;
+    NetworkError.isNetworkErrorCode = (code) => {
+      if (!code)
+        return false;
+      return [
+        "ECONNRESET",
+        "ENOTFOUND",
+        "ETIMEDOUT",
+        "ECONNREFUSED",
+        "EHOSTUNREACH"
+      ].includes(code);
     };
-    exports2.containerAcl = {
-      parameterPath: ["options", "containerAcl"],
-      mapper: {
-        serializedName: "containerAcl",
-        xmlName: "SignedIdentifiers",
-        xmlIsWrapped: true,
-        xmlElementName: "SignedIdentifier",
-        type: {
-          name: "Sequence",
-          element: {
-            type: {
-              name: "Composite",
-              className: "SignedIdentifier"
-            }
-          }
-        }
+    var UsageError = class extends Error {
+      constructor() {
+        const message = `Cache storage quota has been hit. Unable to upload any new cache entries. Usage is recalculated every 6-12 hours.
+More info on storage limits: https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#calculating-minute-and-storage-spending`;
+        super(message);
+        this.name = "UsageError";
       }
     };
-    exports2.comp8 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "undelete",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
-        }
-      }
+    exports2.UsageError = UsageError;
+    UsageError.isUsageErrorMessage = (msg) => {
+      if (!msg)
+        return false;
+      return msg.includes("insufficient usage");
     };
-    exports2.deletedContainerName = {
-      parameterPath: ["options", "deletedContainerName"],
-      mapper: {
-        serializedName: "x-ms-deleted-container-name",
-        xmlName: "x-ms-deleted-container-name",
-        type: {
-          name: "String"
-        }
+    var RateLimitError = class extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "RateLimitError";
       }
     };
-    exports2.deletedContainerVersion = {
-      parameterPath: ["options", "deletedContainerVersion"],
-      mapper: {
-        serializedName: "x-ms-deleted-container-version",
-        xmlName: "x-ms-deleted-container-version",
-        type: {
-          name: "String"
-        }
+    exports2.RateLimitError = RateLimitError;
+  }
+});
+
+// node_modules/@actions/cache/lib/internal/uploadUtils.js
+var require_uploadUtils = __commonJS({
+  "node_modules/@actions/cache/lib/internal/uploadUtils.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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];
+        } };
       }
-    };
-    exports2.comp9 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "rename",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = 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 ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
         }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve3) {
+          resolve3(value);
+        });
       }
-    };
-    exports2.sourceContainerName = {
-      parameterPath: "sourceContainerName",
-      mapper: {
-        serializedName: "x-ms-source-container-name",
-        required: true,
-        xmlName: "x-ms-source-container-name",
-        type: {
-          name: "String"
+      return new (P || (P = Promise))(function(resolve3, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
         }
-      }
-    };
-    exports2.sourceLeaseId = {
-      parameterPath: ["options", "sourceLeaseId"],
-      mapper: {
-        serializedName: "x-ms-source-lease-id",
-        xmlName: "x-ms-source-lease-id",
-        type: {
-          name: "String"
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
         }
-      }
-    };
-    exports2.comp10 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "lease",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+        function step(result) {
+          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
-      }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
     };
-    exports2.action = {
-      parameterPath: "action",
-      mapper: {
-        defaultValue: "acquire",
-        isConstant: true,
-        serializedName: "x-ms-lease-action",
-        type: {
-          name: "String"
-        }
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.UploadProgress = void 0;
+    exports2.uploadCacheArchiveSDK = uploadCacheArchiveSDK;
+    var core14 = __importStar2(require_core());
+    var storage_blob_1 = require_commonjs15();
+    var errors_1 = require_errors3();
+    var UploadProgress = class {
+      constructor(contentLength) {
+        this.contentLength = contentLength;
+        this.sentBytes = 0;
+        this.displayedComplete = false;
+        this.startTime = Date.now();
       }
-    };
-    exports2.duration = {
-      parameterPath: ["options", "duration"],
-      mapper: {
-        serializedName: "x-ms-lease-duration",
-        xmlName: "x-ms-lease-duration",
-        type: {
-          name: "Number"
-        }
+      /**
+       * Sets the number of bytes sent
+       *
+       * @param sentBytes the number of bytes sent
+       */
+      setSentBytes(sentBytes) {
+        this.sentBytes = sentBytes;
       }
-    };
-    exports2.proposedLeaseId = {
-      parameterPath: ["options", "proposedLeaseId"],
-      mapper: {
-        serializedName: "x-ms-proposed-lease-id",
-        xmlName: "x-ms-proposed-lease-id",
-        type: {
-          name: "String"
-        }
+      /**
+       * Returns the total number of bytes transferred.
+       */
+      getTransferredBytes() {
+        return this.sentBytes;
       }
-    };
-    exports2.action1 = {
-      parameterPath: "action",
-      mapper: {
-        defaultValue: "release",
-        isConstant: true,
-        serializedName: "x-ms-lease-action",
-        type: {
-          name: "String"
-        }
+      /**
+       * Returns true if the upload is complete.
+       */
+      isDone() {
+        return this.getTransferredBytes() === this.contentLength;
       }
-    };
-    exports2.leaseId1 = {
-      parameterPath: "leaseId",
-      mapper: {
-        serializedName: "x-ms-lease-id",
-        required: true,
-        xmlName: "x-ms-lease-id",
-        type: {
-          name: "String"
+      /**
+       * Prints the current upload stats. Once the upload completes, this will print one
+       * last line and then stop.
+       */
+      display() {
+        if (this.displayedComplete) {
+          return;
         }
-      }
-    };
-    exports2.action2 = {
-      parameterPath: "action",
-      mapper: {
-        defaultValue: "renew",
-        isConstant: true,
-        serializedName: "x-ms-lease-action",
-        type: {
-          name: "String"
+        const transferredBytes = this.sentBytes;
+        const percentage = (100 * (transferredBytes / this.contentLength)).toFixed(1);
+        const elapsedTime = Date.now() - this.startTime;
+        const uploadSpeed = (transferredBytes / (1024 * 1024) / (elapsedTime / 1e3)).toFixed(1);
+        core14.info(`Sent ${transferredBytes} of ${this.contentLength} (${percentage}%), ${uploadSpeed} MBs/sec`);
+        if (this.isDone()) {
+          this.displayedComplete = true;
         }
       }
-    };
-    exports2.action3 = {
-      parameterPath: "action",
-      mapper: {
-        defaultValue: "break",
-        isConstant: true,
-        serializedName: "x-ms-lease-action",
-        type: {
-          name: "String"
-        }
+      /**
+       * Returns a function used to handle TransferProgressEvents.
+       */
+      onProgress() {
+        return (progress) => {
+          this.setSentBytes(progress.loadedBytes);
+        };
       }
-    };
-    exports2.breakPeriod = {
-      parameterPath: ["options", "breakPeriod"],
-      mapper: {
-        serializedName: "x-ms-lease-break-period",
-        xmlName: "x-ms-lease-break-period",
-        type: {
-          name: "Number"
+      /**
+       * Starts the timer that displays the stats.
+       *
+       * @param delayInMs the delay between each write
+       */
+      startDisplayTimer(delayInMs = 1e3) {
+        const displayCallback = () => {
+          this.display();
+          if (!this.isDone()) {
+            this.timeoutHandle = setTimeout(displayCallback, delayInMs);
+          }
+        };
+        this.timeoutHandle = setTimeout(displayCallback, delayInMs);
+      }
+      /**
+       * Stops the timer that displays the stats. As this typically indicates the upload
+       * is complete, this will display one last line, unless the last line has already
+       * been written.
+       */
+      stopDisplayTimer() {
+        if (this.timeoutHandle) {
+          clearTimeout(this.timeoutHandle);
+          this.timeoutHandle = void 0;
         }
+        this.display();
       }
     };
-    exports2.action4 = {
-      parameterPath: "action",
-      mapper: {
-        defaultValue: "change",
-        isConstant: true,
-        serializedName: "x-ms-lease-action",
-        type: {
-          name: "String"
+    exports2.UploadProgress = UploadProgress;
+    function uploadCacheArchiveSDK(signedUploadURL, archivePath, options) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        var _a;
+        const blobClient = new storage_blob_1.BlobClient(signedUploadURL);
+        const blockBlobClient = blobClient.getBlockBlobClient();
+        const uploadProgress = new UploadProgress((_a = options === null || options === void 0 ? void 0 : options.archiveSizeBytes) !== null && _a !== void 0 ? _a : 0);
+        const uploadOptions = {
+          blockSize: options === null || options === void 0 ? void 0 : options.uploadChunkSize,
+          concurrency: options === null || options === void 0 ? void 0 : options.uploadConcurrency,
+          // maximum number of parallel transfer workers
+          maxSingleShotSize: 128 * 1024 * 1024,
+          // 128 MiB initial transfer size
+          onProgress: uploadProgress.onProgress()
+        };
+        try {
+          uploadProgress.startDisplayTimer();
+          core14.debug(`BlobClient: ${blobClient.name}:${blobClient.accountName}:${blobClient.containerName}`);
+          const response = yield blockBlobClient.uploadFile(archivePath, uploadOptions);
+          if (response._response.status >= 400) {
+            throw new errors_1.InvalidResponseError(`uploadCacheArchiveSDK: upload failed with status code ${response._response.status}`);
+          }
+          return response;
+        } catch (error3) {
+          core14.warning(`uploadCacheArchiveSDK: internal error uploading cache archive: ${error3.message}`);
+          throw error3;
+        } finally {
+          uploadProgress.stopDisplayTimer();
         }
+      });
+    }
+  }
+});
+
+// node_modules/@actions/cache/lib/internal/requestUtils.js
+var require_requestUtils = __commonJS({
+  "node_modules/@actions/cache/lib/internal/requestUtils.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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];
+        } };
       }
-    };
-    exports2.proposedLeaseId1 = {
-      parameterPath: "proposedLeaseId",
-      mapper: {
-        serializedName: "x-ms-proposed-lease-id",
-        required: true,
-        xmlName: "x-ms-proposed-lease-id",
-        type: {
-          name: "String"
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = 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 ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
         }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve3) {
+          resolve3(value);
+        });
       }
-    };
-    exports2.include1 = {
-      parameterPath: ["options", "include"],
-      mapper: {
-        serializedName: "include",
-        xmlName: "include",
-        xmlElementName: "ListBlobsIncludeItem",
-        type: {
-          name: "Sequence",
-          element: {
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "copy",
-                "deleted",
-                "metadata",
-                "snapshots",
-                "uncommittedblobs",
-                "versions",
-                "tags",
-                "immutabilitypolicy",
-                "legalhold",
-                "deletedwithversions"
-              ]
-            }
+      return new (P || (P = Promise))(function(resolve3, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
           }
         }
-      },
-      collectionFormat: "CSV"
-    };
-    exports2.delimiter = {
-      parameterPath: "delimiter",
-      mapper: {
-        serializedName: "delimiter",
-        required: true,
-        xmlName: "delimiter",
-        type: {
-          name: "String"
-        }
-      }
-    };
-    exports2.snapshot = {
-      parameterPath: ["options", "snapshot"],
-      mapper: {
-        serializedName: "snapshot",
-        xmlName: "snapshot",
-        type: {
-          name: "String"
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
         }
-      }
-    };
-    exports2.versionId = {
-      parameterPath: ["options", "versionId"],
-      mapper: {
-        serializedName: "versionid",
-        xmlName: "versionid",
-        type: {
-          name: "String"
+        function step(result) {
+          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
-      }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
     };
-    exports2.range = {
-      parameterPath: ["options", "range"],
-      mapper: {
-        serializedName: "x-ms-range",
-        xmlName: "x-ms-range",
-        type: {
-          name: "String"
-        }
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isSuccessStatusCode = isSuccessStatusCode;
+    exports2.isServerErrorStatusCode = isServerErrorStatusCode;
+    exports2.isRetryableStatusCode = isRetryableStatusCode;
+    exports2.retry = retry2;
+    exports2.retryTypedResponse = retryTypedResponse;
+    exports2.retryHttpClientResponse = retryHttpClientResponse;
+    var core14 = __importStar2(require_core());
+    var http_client_1 = require_lib();
+    var constants_1 = require_constants12();
+    function isSuccessStatusCode(statusCode) {
+      if (!statusCode) {
+        return false;
       }
-    };
-    exports2.rangeGetContentMD5 = {
-      parameterPath: ["options", "rangeGetContentMD5"],
-      mapper: {
-        serializedName: "x-ms-range-get-content-md5",
-        xmlName: "x-ms-range-get-content-md5",
-        type: {
-          name: "Boolean"
-        }
+      return statusCode >= 200 && statusCode < 300;
+    }
+    function isServerErrorStatusCode(statusCode) {
+      if (!statusCode) {
+        return true;
       }
-    };
-    exports2.rangeGetContentCRC64 = {
-      parameterPath: ["options", "rangeGetContentCRC64"],
-      mapper: {
-        serializedName: "x-ms-range-get-content-crc64",
-        xmlName: "x-ms-range-get-content-crc64",
-        type: {
-          name: "Boolean"
-        }
+      return statusCode >= 500;
+    }
+    function isRetryableStatusCode(statusCode) {
+      if (!statusCode) {
+        return false;
       }
-    };
-    exports2.encryptionKey = {
-      parameterPath: ["options", "cpkInfo", "encryptionKey"],
-      mapper: {
-        serializedName: "x-ms-encryption-key",
-        xmlName: "x-ms-encryption-key",
-        type: {
-          name: "String"
+      const retryableStatusCodes = [
+        http_client_1.HttpCodes.BadGateway,
+        http_client_1.HttpCodes.ServiceUnavailable,
+        http_client_1.HttpCodes.GatewayTimeout
+      ];
+      return retryableStatusCodes.includes(statusCode);
+    }
+    function sleep(milliseconds) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        return new Promise((resolve3) => setTimeout(resolve3, milliseconds));
+      });
+    }
+    function retry2(name_1, method_1, getStatusCode_1) {
+      return __awaiter2(this, arguments, void 0, function* (name, method, getStatusCode, maxAttempts = constants_1.DefaultRetryAttempts, delay = constants_1.DefaultRetryDelay, onError = void 0) {
+        let errorMessage = "";
+        let attempt = 1;
+        while (attempt <= maxAttempts) {
+          let response = void 0;
+          let statusCode = void 0;
+          let isRetryable = false;
+          try {
+            response = yield method();
+          } catch (error3) {
+            if (onError) {
+              response = onError(error3);
+            }
+            isRetryable = true;
+            errorMessage = error3.message;
+          }
+          if (response) {
+            statusCode = getStatusCode(response);
+            if (!isServerErrorStatusCode(statusCode)) {
+              return response;
+            }
+          }
+          if (statusCode) {
+            isRetryable = isRetryableStatusCode(statusCode);
+            errorMessage = `Cache service responded with ${statusCode}`;
+          }
+          core14.debug(`${name} - Attempt ${attempt} of ${maxAttempts} failed with error: ${errorMessage}`);
+          if (!isRetryable) {
+            core14.debug(`${name} - Error is not retryable`);
+            break;
+          }
+          yield sleep(delay);
+          attempt++;
         }
+        throw Error(`${name} failed: ${errorMessage}`);
+      });
+    }
+    function retryTypedResponse(name_1, method_1) {
+      return __awaiter2(this, arguments, void 0, function* (name, method, maxAttempts = constants_1.DefaultRetryAttempts, delay = constants_1.DefaultRetryDelay) {
+        return yield retry2(
+          name,
+          method,
+          (response) => response.statusCode,
+          maxAttempts,
+          delay,
+          // If the error object contains the statusCode property, extract it and return
+          // an TypedResponse so it can be processed by the retry logic.
+          (error3) => {
+            if (error3 instanceof http_client_1.HttpClientError) {
+              return {
+                statusCode: error3.statusCode,
+                result: null,
+                headers: {},
+                error: error3
+              };
+            } else {
+              return void 0;
+            }
+          }
+        );
+      });
+    }
+    function retryHttpClientResponse(name_1, method_1) {
+      return __awaiter2(this, arguments, void 0, function* (name, method, maxAttempts = constants_1.DefaultRetryAttempts, delay = constants_1.DefaultRetryDelay) {
+        return yield retry2(name, method, (response) => response.message.statusCode, maxAttempts, delay);
+      });
+    }
+  }
+});
+
+// node_modules/@azure/abort-controller/dist/index.js
+var require_dist4 = __commonJS({
+  "node_modules/@azure/abort-controller/dist/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    var listenersMap = /* @__PURE__ */ new WeakMap();
+    var abortedMap = /* @__PURE__ */ new WeakMap();
+    var AbortSignal2 = class _AbortSignal {
+      constructor() {
+        this.onabort = null;
+        listenersMap.set(this, []);
+        abortedMap.set(this, false);
       }
-    };
-    exports2.encryptionKeySha256 = {
-      parameterPath: ["options", "cpkInfo", "encryptionKeySha256"],
-      mapper: {
-        serializedName: "x-ms-encryption-key-sha256",
-        xmlName: "x-ms-encryption-key-sha256",
-        type: {
-          name: "String"
+      /**
+       * Status of whether aborted or not.
+       *
+       * @readonly
+       */
+      get aborted() {
+        if (!abortedMap.has(this)) {
+          throw new TypeError("Expected `this` to be an instance of AbortSignal.");
         }
+        return abortedMap.get(this);
       }
-    };
-    exports2.encryptionAlgorithm = {
-      parameterPath: ["options", "cpkInfo", "encryptionAlgorithm"],
-      mapper: {
-        serializedName: "x-ms-encryption-algorithm",
-        xmlName: "x-ms-encryption-algorithm",
-        type: {
-          name: "String"
-        }
+      /**
+       * Creates a new AbortSignal instance that will never be aborted.
+       *
+       * @readonly
+       */
+      static get none() {
+        return new _AbortSignal();
       }
-    };
-    exports2.ifMatch = {
-      parameterPath: ["options", "modifiedAccessConditions", "ifMatch"],
-      mapper: {
-        serializedName: "If-Match",
-        xmlName: "If-Match",
-        type: {
-          name: "String"
+      /**
+       * Added new "abort" event listener, only support "abort" event.
+       *
+       * @param _type - Only support "abort" event
+       * @param listener - The listener to be added
+       */
+      addEventListener(_type, listener) {
+        if (!listenersMap.has(this)) {
+          throw new TypeError("Expected `this` to be an instance of AbortSignal.");
         }
+        const listeners = listenersMap.get(this);
+        listeners.push(listener);
       }
-    };
-    exports2.ifNoneMatch = {
-      parameterPath: ["options", "modifiedAccessConditions", "ifNoneMatch"],
-      mapper: {
-        serializedName: "If-None-Match",
-        xmlName: "If-None-Match",
-        type: {
-          name: "String"
+      /**
+       * Remove "abort" event listener, only support "abort" event.
+       *
+       * @param _type - Only support "abort" event
+       * @param listener - The listener to be removed
+       */
+      removeEventListener(_type, listener) {
+        if (!listenersMap.has(this)) {
+          throw new TypeError("Expected `this` to be an instance of AbortSignal.");
         }
-      }
-    };
-    exports2.ifTags = {
-      parameterPath: ["options", "modifiedAccessConditions", "ifTags"],
-      mapper: {
-        serializedName: "x-ms-if-tags",
-        xmlName: "x-ms-if-tags",
-        type: {
-          name: "String"
+        const listeners = listenersMap.get(this);
+        const index = listeners.indexOf(listener);
+        if (index > -1) {
+          listeners.splice(index, 1);
         }
       }
-    };
-    exports2.deleteSnapshots = {
-      parameterPath: ["options", "deleteSnapshots"],
-      mapper: {
-        serializedName: "x-ms-delete-snapshots",
-        xmlName: "x-ms-delete-snapshots",
-        type: {
-          name: "Enum",
-          allowedValues: ["include", "only"]
-        }
+      /**
+       * Dispatches a synthetic event to the AbortSignal.
+       */
+      dispatchEvent(_event) {
+        throw new Error("This is a stub dispatchEvent implementation that should not be used.  It only exists for type-checking purposes.");
       }
     };
-    exports2.blobDeleteType = {
-      parameterPath: ["options", "blobDeleteType"],
-      mapper: {
-        serializedName: "deletetype",
-        xmlName: "deletetype",
-        type: {
-          name: "String"
-        }
+    function abortSignal(signal) {
+      if (signal.aborted) {
+        return;
       }
-    };
-    exports2.comp11 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "expiry",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
-        }
+      if (signal.onabort) {
+        signal.onabort.call(signal);
       }
-    };
-    exports2.expiryOptions = {
-      parameterPath: "expiryOptions",
-      mapper: {
-        serializedName: "x-ms-expiry-option",
-        required: true,
-        xmlName: "x-ms-expiry-option",
-        type: {
-          name: "String"
-        }
+      const listeners = listenersMap.get(signal);
+      if (listeners) {
+        listeners.slice().forEach((listener) => {
+          listener.call(signal, { type: "abort" });
+        });
       }
-    };
-    exports2.expiresOn = {
-      parameterPath: ["options", "expiresOn"],
-      mapper: {
-        serializedName: "x-ms-expiry-time",
-        xmlName: "x-ms-expiry-time",
-        type: {
-          name: "String"
-        }
+      abortedMap.set(signal, true);
+    }
+    var AbortError = class extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "AbortError";
       }
     };
-    exports2.blobCacheControl = {
-      parameterPath: ["options", "blobHttpHeaders", "blobCacheControl"],
-      mapper: {
-        serializedName: "x-ms-blob-cache-control",
-        xmlName: "x-ms-blob-cache-control",
-        type: {
-          name: "String"
+    var AbortController2 = class {
+      // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
+      constructor(parentSignals) {
+        this._signal = new AbortSignal2();
+        if (!parentSignals) {
+          return;
         }
-      }
-    };
-    exports2.blobContentType = {
-      parameterPath: ["options", "blobHttpHeaders", "blobContentType"],
-      mapper: {
-        serializedName: "x-ms-blob-content-type",
-        xmlName: "x-ms-blob-content-type",
-        type: {
-          name: "String"
+        if (!Array.isArray(parentSignals)) {
+          parentSignals = arguments;
         }
-      }
-    };
-    exports2.blobContentMD5 = {
-      parameterPath: ["options", "blobHttpHeaders", "blobContentMD5"],
-      mapper: {
-        serializedName: "x-ms-blob-content-md5",
-        xmlName: "x-ms-blob-content-md5",
-        type: {
-          name: "ByteArray"
+        for (const parentSignal of parentSignals) {
+          if (parentSignal.aborted) {
+            this.abort();
+          } else {
+            parentSignal.addEventListener("abort", () => {
+              this.abort();
+            });
+          }
         }
       }
-    };
-    exports2.blobContentEncoding = {
-      parameterPath: ["options", "blobHttpHeaders", "blobContentEncoding"],
-      mapper: {
-        serializedName: "x-ms-blob-content-encoding",
-        xmlName: "x-ms-blob-content-encoding",
-        type: {
-          name: "String"
-        }
+      /**
+       * The AbortSignal associated with this controller that will signal aborted
+       * when the abort method is called on this controller.
+       *
+       * @readonly
+       */
+      get signal() {
+        return this._signal;
       }
-    };
-    exports2.blobContentLanguage = {
-      parameterPath: ["options", "blobHttpHeaders", "blobContentLanguage"],
-      mapper: {
-        serializedName: "x-ms-blob-content-language",
-        xmlName: "x-ms-blob-content-language",
-        type: {
-          name: "String"
-        }
+      /**
+       * Signal that any operations passed this controller's associated abort signal
+       * to cancel any remaining work and throw an `AbortError`.
+       */
+      abort() {
+        abortSignal(this._signal);
       }
-    };
-    exports2.blobContentDisposition = {
-      parameterPath: ["options", "blobHttpHeaders", "blobContentDisposition"],
-      mapper: {
-        serializedName: "x-ms-blob-content-disposition",
-        xmlName: "x-ms-blob-content-disposition",
-        type: {
-          name: "String"
+      /**
+       * Creates a new AbortSignal instance that will abort after the provided ms.
+       * @param ms - Elapsed time in milliseconds to trigger an abort.
+       */
+      static timeout(ms) {
+        const signal = new AbortSignal2();
+        const timer = setTimeout(abortSignal, ms, signal);
+        if (typeof timer.unref === "function") {
+          timer.unref();
         }
+        return signal;
       }
     };
-    exports2.comp12 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "immutabilityPolicies",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
-        }
+    exports2.AbortController = AbortController2;
+    exports2.AbortError = AbortError;
+    exports2.AbortSignal = AbortSignal2;
+  }
+});
+
+// node_modules/@actions/cache/lib/internal/downloadUtils.js
+var require_downloadUtils = __commonJS({
+  "node_modules/@actions/cache/lib/internal/downloadUtils.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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];
+        } };
       }
-    };
-    exports2.immutabilityPolicyExpiry = {
-      parameterPath: ["options", "immutabilityPolicyExpiry"],
-      mapper: {
-        serializedName: "x-ms-immutability-policy-until-date",
-        xmlName: "x-ms-immutability-policy-until-date",
-        type: {
-          name: "DateTimeRfc1123"
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = 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 ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
         }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve3) {
+          resolve3(value);
+        });
       }
-    };
-    exports2.immutabilityPolicyMode = {
-      parameterPath: ["options", "immutabilityPolicyMode"],
-      mapper: {
-        serializedName: "x-ms-immutability-policy-mode",
-        xmlName: "x-ms-immutability-policy-mode",
-        type: {
-          name: "Enum",
-          allowedValues: ["Mutable", "Unlocked", "Locked"]
+      return new (P || (P = Promise))(function(resolve3, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
         }
-      }
-    };
-    exports2.comp13 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "legalhold",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
         }
-      }
-    };
-    exports2.legalHold = {
-      parameterPath: "legalHold",
-      mapper: {
-        serializedName: "x-ms-legal-hold",
-        required: true,
-        xmlName: "x-ms-legal-hold",
-        type: {
-          name: "Boolean"
+        function step(result) {
+          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
-      }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
     };
-    exports2.encryptionScope = {
-      parameterPath: ["options", "encryptionScope"],
-      mapper: {
-        serializedName: "x-ms-encryption-scope",
-        xmlName: "x-ms-encryption-scope",
-        type: {
-          name: "String"
-        }
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.DownloadProgress = void 0;
+    exports2.downloadCacheHttpClient = downloadCacheHttpClient;
+    exports2.downloadCacheHttpClientConcurrent = downloadCacheHttpClientConcurrent;
+    exports2.downloadCacheStorageSDK = downloadCacheStorageSDK;
+    var core14 = __importStar2(require_core());
+    var http_client_1 = require_lib();
+    var storage_blob_1 = require_commonjs15();
+    var buffer = __importStar2(require("buffer"));
+    var fs3 = __importStar2(require("fs"));
+    var stream = __importStar2(require("stream"));
+    var util = __importStar2(require("util"));
+    var utils = __importStar2(require_cacheUtils());
+    var constants_1 = require_constants12();
+    var requestUtils_1 = require_requestUtils();
+    var abort_controller_1 = require_dist4();
+    function pipeResponseToStream(response, output) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const pipeline = util.promisify(stream.pipeline);
+        yield pipeline(response.message, output);
+      });
+    }
+    var DownloadProgress = class {
+      constructor(contentLength) {
+        this.contentLength = contentLength;
+        this.segmentIndex = 0;
+        this.segmentSize = 0;
+        this.segmentOffset = 0;
+        this.receivedBytes = 0;
+        this.displayedComplete = false;
+        this.startTime = Date.now();
       }
-    };
-    exports2.comp14 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "snapshot",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
-        }
+      /**
+       * Progress to the next segment. Only call this method when the previous segment
+       * is complete.
+       *
+       * @param segmentSize the length of the next segment
+       */
+      nextSegment(segmentSize) {
+        this.segmentOffset = this.segmentOffset + this.segmentSize;
+        this.segmentIndex = this.segmentIndex + 1;
+        this.segmentSize = segmentSize;
+        this.receivedBytes = 0;
+        core14.debug(`Downloading segment at offset ${this.segmentOffset} with length ${this.segmentSize}...`);
       }
-    };
-    exports2.tier = {
-      parameterPath: ["options", "tier"],
-      mapper: {
-        serializedName: "x-ms-access-tier",
-        xmlName: "x-ms-access-tier",
-        type: {
-          name: "Enum",
-          allowedValues: [
-            "P4",
-            "P6",
-            "P10",
-            "P15",
-            "P20",
-            "P30",
-            "P40",
-            "P50",
-            "P60",
-            "P70",
-            "P80",
-            "Hot",
-            "Cool",
-            "Archive",
-            "Cold"
-          ]
-        }
+      /**
+       * Sets the number of bytes received for the current segment.
+       *
+       * @param receivedBytes the number of bytes received
+       */
+      setReceivedBytes(receivedBytes) {
+        this.receivedBytes = receivedBytes;
       }
-    };
-    exports2.rehydratePriority = {
-      parameterPath: ["options", "rehydratePriority"],
-      mapper: {
-        serializedName: "x-ms-rehydrate-priority",
-        xmlName: "x-ms-rehydrate-priority",
-        type: {
-          name: "Enum",
-          allowedValues: ["High", "Standard"]
-        }
+      /**
+       * Returns the total number of bytes transferred.
+       */
+      getTransferredBytes() {
+        return this.segmentOffset + this.receivedBytes;
       }
-    };
-    exports2.sourceIfModifiedSince = {
-      parameterPath: [
-        "options",
-        "sourceModifiedAccessConditions",
-        "sourceIfModifiedSince"
-      ],
-      mapper: {
-        serializedName: "x-ms-source-if-modified-since",
-        xmlName: "x-ms-source-if-modified-since",
-        type: {
-          name: "DateTimeRfc1123"
+      /**
+       * Returns true if the download is complete.
+       */
+      isDone() {
+        return this.getTransferredBytes() === this.contentLength;
+      }
+      /**
+       * Prints the current download stats. Once the download completes, this will print one
+       * last line and then stop.
+       */
+      display() {
+        if (this.displayedComplete) {
+          return;
+        }
+        const transferredBytes = this.segmentOffset + this.receivedBytes;
+        const percentage = (100 * (transferredBytes / this.contentLength)).toFixed(1);
+        const elapsedTime = Date.now() - this.startTime;
+        const downloadSpeed = (transferredBytes / (1024 * 1024) / (elapsedTime / 1e3)).toFixed(1);
+        core14.info(`Received ${transferredBytes} of ${this.contentLength} (${percentage}%), ${downloadSpeed} MBs/sec`);
+        if (this.isDone()) {
+          this.displayedComplete = true;
         }
       }
-    };
-    exports2.sourceIfUnmodifiedSince = {
-      parameterPath: [
-        "options",
-        "sourceModifiedAccessConditions",
-        "sourceIfUnmodifiedSince"
-      ],
-      mapper: {
-        serializedName: "x-ms-source-if-unmodified-since",
-        xmlName: "x-ms-source-if-unmodified-since",
-        type: {
-          name: "DateTimeRfc1123"
+      /**
+       * Returns a function used to handle TransferProgressEvents.
+       */
+      onProgress() {
+        return (progress) => {
+          this.setReceivedBytes(progress.loadedBytes);
+        };
+      }
+      /**
+       * Starts the timer that displays the stats.
+       *
+       * @param delayInMs the delay between each write
+       */
+      startDisplayTimer(delayInMs = 1e3) {
+        const displayCallback = () => {
+          this.display();
+          if (!this.isDone()) {
+            this.timeoutHandle = setTimeout(displayCallback, delayInMs);
+          }
+        };
+        this.timeoutHandle = setTimeout(displayCallback, delayInMs);
+      }
+      /**
+       * Stops the timer that displays the stats. As this typically indicates the download
+       * is complete, this will display one last line, unless the last line has already
+       * been written.
+       */
+      stopDisplayTimer() {
+        if (this.timeoutHandle) {
+          clearTimeout(this.timeoutHandle);
+          this.timeoutHandle = void 0;
         }
+        this.display();
       }
     };
-    exports2.sourceIfMatch = {
-      parameterPath: ["options", "sourceModifiedAccessConditions", "sourceIfMatch"],
-      mapper: {
-        serializedName: "x-ms-source-if-match",
-        xmlName: "x-ms-source-if-match",
-        type: {
-          name: "String"
+    exports2.DownloadProgress = DownloadProgress;
+    function downloadCacheHttpClient(archiveLocation, archivePath) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const writeStream = fs3.createWriteStream(archivePath);
+        const httpClient = new http_client_1.HttpClient("actions/cache");
+        const downloadResponse = yield (0, requestUtils_1.retryHttpClientResponse)("downloadCache", () => __awaiter2(this, void 0, void 0, function* () {
+          return httpClient.get(archiveLocation);
+        }));
+        downloadResponse.message.socket.setTimeout(constants_1.SocketTimeout, () => {
+          downloadResponse.message.destroy();
+          core14.debug(`Aborting download, socket timed out after ${constants_1.SocketTimeout} ms`);
+        });
+        yield pipeResponseToStream(downloadResponse, writeStream);
+        const contentLengthHeader = downloadResponse.message.headers["content-length"];
+        if (contentLengthHeader) {
+          const expectedLength = parseInt(contentLengthHeader);
+          const actualLength = utils.getArchiveFileSizeInBytes(archivePath);
+          if (actualLength !== expectedLength) {
+            throw new Error(`Incomplete download. Expected file size: ${expectedLength}, actual file size: ${actualLength}`);
+          }
+        } else {
+          core14.debug("Unable to validate download, no Content-Length header");
+        }
+      });
+    }
+    function downloadCacheHttpClientConcurrent(archiveLocation, archivePath, options) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        var _a;
+        const archiveDescriptor = yield fs3.promises.open(archivePath, "w");
+        const httpClient = new http_client_1.HttpClient("actions/cache", void 0, {
+          socketTimeout: options.timeoutInMs,
+          keepAlive: true
+        });
+        try {
+          const res = yield (0, requestUtils_1.retryHttpClientResponse)("downloadCacheMetadata", () => __awaiter2(this, void 0, void 0, function* () {
+            return yield httpClient.request("HEAD", archiveLocation, null, {});
+          }));
+          const lengthHeader = res.message.headers["content-length"];
+          if (lengthHeader === void 0 || lengthHeader === null) {
+            throw new Error("Content-Length not found on blob response");
+          }
+          const length = parseInt(lengthHeader);
+          if (Number.isNaN(length)) {
+            throw new Error(`Could not interpret Content-Length: ${length}`);
+          }
+          const downloads = [];
+          const blockSize = 4 * 1024 * 1024;
+          for (let offset = 0; offset < length; offset += blockSize) {
+            const count = Math.min(blockSize, length - offset);
+            downloads.push({
+              offset,
+              promiseGetter: () => __awaiter2(this, void 0, void 0, function* () {
+                return yield downloadSegmentRetry(httpClient, archiveLocation, offset, count);
+              })
+            });
+          }
+          downloads.reverse();
+          let actives = 0;
+          let bytesDownloaded = 0;
+          const progress = new DownloadProgress(length);
+          progress.startDisplayTimer();
+          const progressFn = progress.onProgress();
+          const activeDownloads = [];
+          let nextDownload;
+          const waitAndWrite = () => __awaiter2(this, void 0, void 0, function* () {
+            const segment = yield Promise.race(Object.values(activeDownloads));
+            yield archiveDescriptor.write(segment.buffer, 0, segment.count, segment.offset);
+            actives--;
+            delete activeDownloads[segment.offset];
+            bytesDownloaded += segment.count;
+            progressFn({ loadedBytes: bytesDownloaded });
+          });
+          while (nextDownload = downloads.pop()) {
+            activeDownloads[nextDownload.offset] = nextDownload.promiseGetter();
+            actives++;
+            if (actives >= ((_a = options.downloadConcurrency) !== null && _a !== void 0 ? _a : 10)) {
+              yield waitAndWrite();
+            }
+          }
+          while (actives > 0) {
+            yield waitAndWrite();
+          }
+        } finally {
+          httpClient.dispose();
+          yield archiveDescriptor.close();
         }
-      }
-    };
-    exports2.sourceIfNoneMatch = {
-      parameterPath: [
-        "options",
-        "sourceModifiedAccessConditions",
-        "sourceIfNoneMatch"
-      ],
-      mapper: {
-        serializedName: "x-ms-source-if-none-match",
-        xmlName: "x-ms-source-if-none-match",
-        type: {
-          name: "String"
+      });
+    }
+    function downloadSegmentRetry(httpClient, archiveLocation, offset, count) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const retries = 5;
+        let failures = 0;
+        while (true) {
+          try {
+            const timeout = 3e4;
+            const result = yield promiseWithTimeout(timeout, downloadSegment(httpClient, archiveLocation, offset, count));
+            if (typeof result === "string") {
+              throw new Error("downloadSegmentRetry failed due to timeout");
+            }
+            return result;
+          } catch (err) {
+            if (failures >= retries) {
+              throw err;
+            }
+            failures++;
+          }
         }
-      }
-    };
-    exports2.sourceIfTags = {
-      parameterPath: ["options", "sourceModifiedAccessConditions", "sourceIfTags"],
-      mapper: {
-        serializedName: "x-ms-source-if-tags",
-        xmlName: "x-ms-source-if-tags",
-        type: {
-          name: "String"
+      });
+    }
+    function downloadSegment(httpClient, archiveLocation, offset, count) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const partRes = yield (0, requestUtils_1.retryHttpClientResponse)("downloadCachePart", () => __awaiter2(this, void 0, void 0, function* () {
+          return yield httpClient.get(archiveLocation, {
+            Range: `bytes=${offset}-${offset + count - 1}`
+          });
+        }));
+        if (!partRes.readBodyBuffer) {
+          throw new Error("Expected HttpClientResponse to implement readBodyBuffer");
         }
-      }
-    };
-    exports2.copySource = {
-      parameterPath: "copySource",
-      mapper: {
-        serializedName: "x-ms-copy-source",
-        required: true,
-        xmlName: "x-ms-copy-source",
-        type: {
-          name: "String"
+        return {
+          offset,
+          count,
+          buffer: yield partRes.readBodyBuffer()
+        };
+      });
+    }
+    function downloadCacheStorageSDK(archiveLocation, archivePath, options) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        var _a;
+        const client = new storage_blob_1.BlockBlobClient(archiveLocation, void 0, {
+          retryOptions: {
+            // Override the timeout used when downloading each 4 MB chunk
+            // The default is 2 min / MB, which is way too slow
+            tryTimeoutInMs: options.timeoutInMs
+          }
+        });
+        const properties = yield client.getProperties();
+        const contentLength = (_a = properties.contentLength) !== null && _a !== void 0 ? _a : -1;
+        if (contentLength < 0) {
+          core14.debug("Unable to determine content length, downloading file with http-client...");
+          yield downloadCacheHttpClient(archiveLocation, archivePath);
+        } else {
+          const maxSegmentSize = Math.min(134217728, buffer.constants.MAX_LENGTH);
+          const downloadProgress = new DownloadProgress(contentLength);
+          const fd = fs3.openSync(archivePath, "w");
+          try {
+            downloadProgress.startDisplayTimer();
+            const controller = new abort_controller_1.AbortController();
+            const abortSignal = controller.signal;
+            while (!downloadProgress.isDone()) {
+              const segmentStart = downloadProgress.segmentOffset + downloadProgress.segmentSize;
+              const segmentSize = Math.min(maxSegmentSize, contentLength - segmentStart);
+              downloadProgress.nextSegment(segmentSize);
+              const result = yield promiseWithTimeout(options.segmentTimeoutInMs || 36e5, client.downloadToBuffer(segmentStart, segmentSize, {
+                abortSignal,
+                concurrency: options.downloadConcurrency,
+                onProgress: downloadProgress.onProgress()
+              }));
+              if (result === "timeout") {
+                controller.abort();
+                throw new Error("Aborting cache download as the download time exceeded the timeout.");
+              } else if (Buffer.isBuffer(result)) {
+                fs3.writeFileSync(fd, result);
+              }
+            }
+          } finally {
+            downloadProgress.stopDisplayTimer();
+            fs3.closeSync(fd);
+          }
         }
+      });
+    }
+    var promiseWithTimeout = (timeoutMs, promise) => __awaiter2(void 0, void 0, void 0, function* () {
+      let timeoutHandle;
+      const timeoutPromise = new Promise((resolve3) => {
+        timeoutHandle = setTimeout(() => resolve3("timeout"), timeoutMs);
+      });
+      return Promise.race([promise, timeoutPromise]).then((result) => {
+        clearTimeout(timeoutHandle);
+        return result;
+      });
+    });
+  }
+});
+
+// node_modules/@actions/cache/lib/options.js
+var require_options = __commonJS({
+  "node_modules/@actions/cache/lib/options.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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];
+        } };
       }
-    };
-    exports2.blobTagsString = {
-      parameterPath: ["options", "blobTagsString"],
-      mapper: {
-        serializedName: "x-ms-tags",
-        xmlName: "x-ms-tags",
-        type: {
-          name: "String"
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = 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 ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
         }
-      }
-    };
-    exports2.sealBlob = {
-      parameterPath: ["options", "sealBlob"],
-      mapper: {
-        serializedName: "x-ms-seal-blob",
-        xmlName: "x-ms-seal-blob",
-        type: {
-          name: "Boolean"
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getUploadOptions = getUploadOptions;
+    exports2.getDownloadOptions = getDownloadOptions;
+    var core14 = __importStar2(require_core());
+    function getUploadOptions(copy) {
+      const result = {
+        useAzureSdk: false,
+        uploadConcurrency: 4,
+        uploadChunkSize: 32 * 1024 * 1024
+      };
+      if (copy) {
+        if (typeof copy.useAzureSdk === "boolean") {
+          result.useAzureSdk = copy.useAzureSdk;
         }
-      }
-    };
-    exports2.legalHold1 = {
-      parameterPath: ["options", "legalHold"],
-      mapper: {
-        serializedName: "x-ms-legal-hold",
-        xmlName: "x-ms-legal-hold",
-        type: {
-          name: "Boolean"
+        if (typeof copy.uploadConcurrency === "number") {
+          result.uploadConcurrency = copy.uploadConcurrency;
         }
-      }
-    };
-    exports2.xMsRequiresSync = {
-      parameterPath: "xMsRequiresSync",
-      mapper: {
-        defaultValue: "true",
-        isConstant: true,
-        serializedName: "x-ms-requires-sync",
-        type: {
-          name: "String"
+        if (typeof copy.uploadChunkSize === "number") {
+          result.uploadChunkSize = copy.uploadChunkSize;
         }
       }
-    };
-    exports2.sourceContentMD5 = {
-      parameterPath: ["options", "sourceContentMD5"],
-      mapper: {
-        serializedName: "x-ms-source-content-md5",
-        xmlName: "x-ms-source-content-md5",
-        type: {
-          name: "ByteArray"
+      result.uploadConcurrency = !isNaN(Number(process.env["CACHE_UPLOAD_CONCURRENCY"])) ? Math.min(32, Number(process.env["CACHE_UPLOAD_CONCURRENCY"])) : result.uploadConcurrency;
+      result.uploadChunkSize = !isNaN(Number(process.env["CACHE_UPLOAD_CHUNK_SIZE"])) ? Math.min(128 * 1024 * 1024, Number(process.env["CACHE_UPLOAD_CHUNK_SIZE"]) * 1024 * 1024) : result.uploadChunkSize;
+      core14.debug(`Use Azure SDK: ${result.useAzureSdk}`);
+      core14.debug(`Upload concurrency: ${result.uploadConcurrency}`);
+      core14.debug(`Upload chunk size: ${result.uploadChunkSize}`);
+      return result;
+    }
+    function getDownloadOptions(copy) {
+      const result = {
+        useAzureSdk: false,
+        concurrentBlobDownloads: true,
+        downloadConcurrency: 8,
+        timeoutInMs: 3e4,
+        segmentTimeoutInMs: 6e5,
+        lookupOnly: false
+      };
+      if (copy) {
+        if (typeof copy.useAzureSdk === "boolean") {
+          result.useAzureSdk = copy.useAzureSdk;
         }
-      }
-    };
-    exports2.copySourceAuthorization = {
-      parameterPath: ["options", "copySourceAuthorization"],
-      mapper: {
-        serializedName: "x-ms-copy-source-authorization",
-        xmlName: "x-ms-copy-source-authorization",
-        type: {
-          name: "String"
+        if (typeof copy.concurrentBlobDownloads === "boolean") {
+          result.concurrentBlobDownloads = copy.concurrentBlobDownloads;
         }
-      }
-    };
-    exports2.copySourceTags = {
-      parameterPath: ["options", "copySourceTags"],
-      mapper: {
-        serializedName: "x-ms-copy-source-tag-option",
-        xmlName: "x-ms-copy-source-tag-option",
-        type: {
-          name: "Enum",
-          allowedValues: ["REPLACE", "COPY"]
+        if (typeof copy.downloadConcurrency === "number") {
+          result.downloadConcurrency = copy.downloadConcurrency;
         }
-      }
-    };
-    exports2.fileRequestIntent = {
-      parameterPath: ["options", "fileRequestIntent"],
-      mapper: {
-        serializedName: "x-ms-file-request-intent",
-        xmlName: "x-ms-file-request-intent",
-        type: {
-          name: "String"
+        if (typeof copy.timeoutInMs === "number") {
+          result.timeoutInMs = copy.timeoutInMs;
         }
-      }
-    };
-    exports2.comp15 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "copy",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+        if (typeof copy.segmentTimeoutInMs === "number") {
+          result.segmentTimeoutInMs = copy.segmentTimeoutInMs;
         }
-      }
-    };
-    exports2.copyActionAbortConstant = {
-      parameterPath: "copyActionAbortConstant",
-      mapper: {
-        defaultValue: "abort",
-        isConstant: true,
-        serializedName: "x-ms-copy-action",
-        type: {
-          name: "String"
+        if (typeof copy.lookupOnly === "boolean") {
+          result.lookupOnly = copy.lookupOnly;
         }
       }
-    };
-    exports2.copyId = {
-      parameterPath: "copyId",
-      mapper: {
-        serializedName: "copyid",
-        required: true,
-        xmlName: "copyid",
-        type: {
-          name: "String"
-        }
+      const segmentDownloadTimeoutMins = process.env["SEGMENT_DOWNLOAD_TIMEOUT_MINS"];
+      if (segmentDownloadTimeoutMins && !isNaN(Number(segmentDownloadTimeoutMins)) && isFinite(Number(segmentDownloadTimeoutMins))) {
+        result.segmentTimeoutInMs = Number(segmentDownloadTimeoutMins) * 60 * 1e3;
       }
-    };
-    exports2.comp16 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "tier",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
-        }
+      core14.debug(`Use Azure SDK: ${result.useAzureSdk}`);
+      core14.debug(`Download concurrency: ${result.downloadConcurrency}`);
+      core14.debug(`Request timeout (ms): ${result.timeoutInMs}`);
+      core14.debug(`Cache segment download timeout mins env var: ${process.env["SEGMENT_DOWNLOAD_TIMEOUT_MINS"]}`);
+      core14.debug(`Segment download timeout (ms): ${result.segmentTimeoutInMs}`);
+      core14.debug(`Lookup only: ${result.lookupOnly}`);
+      return result;
+    }
+  }
+});
+
+// node_modules/@actions/cache/lib/internal/config.js
+var require_config = __commonJS({
+  "node_modules/@actions/cache/lib/internal/config.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isGhes = isGhes;
+    exports2.getCacheServiceVersion = getCacheServiceVersion;
+    exports2.getCacheServiceURL = getCacheServiceURL;
+    function isGhes() {
+      const ghUrl = new URL(process.env["GITHUB_SERVER_URL"] || "https://github.com");
+      const hostname = ghUrl.hostname.trimEnd().toUpperCase();
+      const isGitHubHost = hostname === "GITHUB.COM";
+      const isGheHost = hostname.endsWith(".GHE.COM");
+      const isLocalHost = hostname.endsWith(".LOCALHOST");
+      return !isGitHubHost && !isGheHost && !isLocalHost;
+    }
+    function getCacheServiceVersion() {
+      if (isGhes())
+        return "v1";
+      return process.env["ACTIONS_CACHE_SERVICE_V2"] ? "v2" : "v1";
+    }
+    function getCacheServiceURL() {
+      const version = getCacheServiceVersion();
+      switch (version) {
+        case "v1":
+          return process.env["ACTIONS_CACHE_URL"] || process.env["ACTIONS_RESULTS_URL"] || "";
+        case "v2":
+          return process.env["ACTIONS_RESULTS_URL"] || "";
+        default:
+          throw new Error(`Unsupported cache service version: ${version}`);
       }
-    };
-    exports2.tier1 = {
-      parameterPath: "tier",
-      mapper: {
-        serializedName: "x-ms-access-tier",
-        required: true,
-        xmlName: "x-ms-access-tier",
-        type: {
-          name: "Enum",
-          allowedValues: [
-            "P4",
-            "P6",
-            "P10",
-            "P15",
-            "P20",
-            "P30",
-            "P40",
-            "P50",
-            "P60",
-            "P70",
-            "P80",
-            "Hot",
-            "Cool",
-            "Archive",
-            "Cold"
-          ]
-        }
+    }
+  }
+});
+
+// node_modules/@actions/cache/package.json
+var require_package2 = __commonJS({
+  "node_modules/@actions/cache/package.json"(exports2, module2) {
+    module2.exports = {
+      name: "@actions/cache",
+      version: "5.0.5",
+      preview: true,
+      description: "Actions cache lib",
+      keywords: [
+        "github",
+        "actions",
+        "cache"
+      ],
+      homepage: "https://github.com/actions/toolkit/tree/main/packages/cache",
+      license: "MIT",
+      main: "lib/cache.js",
+      types: "lib/cache.d.ts",
+      directories: {
+        lib: "lib",
+        test: "__tests__"
+      },
+      files: [
+        "lib",
+        "!.DS_Store"
+      ],
+      publishConfig: {
+        access: "public"
+      },
+      repository: {
+        type: "git",
+        url: "git+https://github.com/actions/toolkit.git",
+        directory: "packages/cache"
+      },
+      scripts: {
+        "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json",
+        test: 'echo "Error: run tests from root" && exit 1',
+        tsc: "tsc"
+      },
+      bugs: {
+        url: "https://github.com/actions/toolkit/issues"
+      },
+      dependencies: {
+        "@actions/core": "^2.0.0",
+        "@actions/exec": "^2.0.0",
+        "@actions/glob": "^0.5.1",
+        "@protobuf-ts/runtime-rpc": "^2.11.1",
+        "@actions/http-client": "^3.0.2",
+        "@actions/io": "^2.0.0",
+        "@azure/abort-controller": "^1.1.0",
+        "@azure/core-rest-pipeline": "^1.22.0",
+        "@azure/storage-blob": "^12.29.1",
+        semver: "^6.3.1"
+      },
+      devDependencies: {
+        "@types/node": "^24.1.0",
+        "@types/semver": "^6.0.0",
+        "@protobuf-ts/plugin": "^2.9.4",
+        typescript: "^5.2.2"
+      },
+      overrides: {
+        "uri-js": "npm:uri-js-replace@^1.0.1",
+        "node-fetch": "^3.3.2"
       }
     };
-    exports2.queryRequest = {
-      parameterPath: ["options", "queryRequest"],
-      mapper: mappers_js_1.QueryRequest
-    };
-    exports2.comp17 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "query",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
-        }
+  }
+});
+
+// node_modules/@actions/cache/lib/internal/shared/user-agent.js
+var require_user_agent = __commonJS({
+  "node_modules/@actions/cache/lib/internal/shared/user-agent.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getUserAgentString = getUserAgentString;
+    var packageJson = require_package2();
+    function getUserAgentString() {
+      return `@actions/cache-${packageJson.version}`;
+    }
+  }
+});
+
+// node_modules/@actions/cache/lib/internal/cacheHttpClient.js
+var require_cacheHttpClient = __commonJS({
+  "node_modules/@actions/cache/lib/internal/cacheHttpClient.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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];
+        } };
       }
-    };
-    exports2.comp18 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "tags",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = 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 ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
         }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve3) {
+          resolve3(value);
+        });
       }
-    };
-    exports2.tags = {
-      parameterPath: ["options", "tags"],
-      mapper: mappers_js_1.BlobTags
-    };
-    exports2.transactionalContentMD5 = {
-      parameterPath: ["options", "transactionalContentMD5"],
-      mapper: {
-        serializedName: "Content-MD5",
-        xmlName: "Content-MD5",
-        type: {
-          name: "ByteArray"
+      return new (P || (P = Promise))(function(resolve3, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
         }
-      }
-    };
-    exports2.transactionalContentCrc64 = {
-      parameterPath: ["options", "transactionalContentCrc64"],
-      mapper: {
-        serializedName: "x-ms-content-crc64",
-        xmlName: "x-ms-content-crc64",
-        type: {
-          name: "ByteArray"
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
         }
-      }
-    };
-    exports2.blobType = {
-      parameterPath: "blobType",
-      mapper: {
-        defaultValue: "PageBlob",
-        isConstant: true,
-        serializedName: "x-ms-blob-type",
-        type: {
-          name: "String"
+        function step(result) {
+          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
-      }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
     };
-    exports2.blobContentLength = {
-      parameterPath: "blobContentLength",
-      mapper: {
-        serializedName: "x-ms-blob-content-length",
-        required: true,
-        xmlName: "x-ms-blob-content-length",
-        type: {
-          name: "Number"
-        }
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getCacheEntry = getCacheEntry;
+    exports2.downloadCache = downloadCache;
+    exports2.reserveCache = reserveCache;
+    exports2.saveCache = saveCache4;
+    var core14 = __importStar2(require_core());
+    var http_client_1 = require_lib();
+    var auth_1 = require_auth();
+    var fs3 = __importStar2(require("fs"));
+    var url_1 = require("url");
+    var utils = __importStar2(require_cacheUtils());
+    var uploadUtils_1 = require_uploadUtils();
+    var downloadUtils_1 = require_downloadUtils();
+    var options_1 = require_options();
+    var requestUtils_1 = require_requestUtils();
+    var config_1 = require_config();
+    var user_agent_1 = require_user_agent();
+    function getCacheApiUrl(resource) {
+      const baseUrl = (0, config_1.getCacheServiceURL)();
+      if (!baseUrl) {
+        throw new Error("Cache Service Url not found, unable to restore cache.");
       }
-    };
-    exports2.blobSequenceNumber = {
-      parameterPath: ["options", "blobSequenceNumber"],
-      mapper: {
-        defaultValue: 0,
-        serializedName: "x-ms-blob-sequence-number",
-        xmlName: "x-ms-blob-sequence-number",
-        type: {
-          name: "Number"
+      const url = `${baseUrl}_apis/artifactcache/${resource}`;
+      core14.debug(`Resource Url: ${url}`);
+      return url;
+    }
+    function createAcceptHeader(type2, apiVersion) {
+      return `${type2};api-version=${apiVersion}`;
+    }
+    function getRequestOptions() {
+      const requestOptions = {
+        headers: {
+          Accept: createAcceptHeader("application/json", "6.0-preview.1")
         }
-      }
-    };
-    exports2.contentType1 = {
-      parameterPath: ["options", "contentType"],
-      mapper: {
-        defaultValue: "application/octet-stream",
-        isConstant: true,
-        serializedName: "Content-Type",
-        type: {
-          name: "String"
+      };
+      return requestOptions;
+    }
+    function createHttpClient() {
+      const token = process.env["ACTIONS_RUNTIME_TOKEN"] || "";
+      const bearerCredentialHandler = new auth_1.BearerCredentialHandler(token);
+      return new http_client_1.HttpClient((0, user_agent_1.getUserAgentString)(), [bearerCredentialHandler], getRequestOptions());
+    }
+    function getCacheEntry(keys, paths, options) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const httpClient = createHttpClient();
+        const version = utils.getCacheVersion(paths, options === null || options === void 0 ? void 0 : options.compressionMethod, options === null || options === void 0 ? void 0 : options.enableCrossOsArchive);
+        const resource = `cache?keys=${encodeURIComponent(keys.join(","))}&version=${version}`;
+        const response = yield (0, requestUtils_1.retryTypedResponse)("getCacheEntry", () => __awaiter2(this, void 0, void 0, function* () {
+          return httpClient.getJson(getCacheApiUrl(resource));
+        }));
+        if (response.statusCode === 204) {
+          if (core14.isDebug()) {
+            yield printCachesListForDiagnostics(keys[0], httpClient, version);
+          }
+          return null;
         }
-      }
-    };
-    exports2.body1 = {
-      parameterPath: "body",
-      mapper: {
-        serializedName: "body",
-        required: true,
-        xmlName: "body",
-        type: {
-          name: "Stream"
+        if (!(0, requestUtils_1.isSuccessStatusCode)(response.statusCode)) {
+          throw new Error(`Cache service responded with ${response.statusCode}`);
         }
-      }
-    };
-    exports2.accept2 = {
-      parameterPath: "accept",
-      mapper: {
-        defaultValue: "application/xml",
-        isConstant: true,
-        serializedName: "Accept",
-        type: {
-          name: "String"
+        const cacheResult = response.result;
+        const cacheDownloadUrl = cacheResult === null || cacheResult === void 0 ? void 0 : cacheResult.archiveLocation;
+        if (!cacheDownloadUrl) {
+          throw new Error("Cache not found.");
         }
-      }
-    };
-    exports2.comp19 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "page",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+        core14.setSecret(cacheDownloadUrl);
+        core14.debug(`Cache Result:`);
+        core14.debug(JSON.stringify(cacheResult));
+        return cacheResult;
+      });
+    }
+    function printCachesListForDiagnostics(key, httpClient, version) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const resource = `caches?key=${encodeURIComponent(key)}`;
+        const response = yield (0, requestUtils_1.retryTypedResponse)("listCache", () => __awaiter2(this, void 0, void 0, function* () {
+          return httpClient.getJson(getCacheApiUrl(resource));
+        }));
+        if (response.statusCode === 200) {
+          const cacheListResult = response.result;
+          const totalCount = cacheListResult === null || cacheListResult === void 0 ? void 0 : cacheListResult.totalCount;
+          if (totalCount && totalCount > 0) {
+            core14.debug(`No matching cache found for cache key '${key}', version '${version} and scope ${process.env["GITHUB_REF"]}. There exist one or more cache(s) with similar key but they have different version or scope. See more info on cache matching here: https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#matching-a-cache-key 
+Other caches with similar key:`);
+            for (const cacheEntry of (cacheListResult === null || cacheListResult === void 0 ? void 0 : cacheListResult.artifactCaches) || []) {
+              core14.debug(`Cache Key: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.cacheKey}, Cache Version: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.cacheVersion}, Cache Scope: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.scope}, Cache Created: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.creationTime}`);
+            }
+          }
         }
-      }
-    };
-    exports2.pageWrite = {
-      parameterPath: "pageWrite",
-      mapper: {
-        defaultValue: "update",
-        isConstant: true,
-        serializedName: "x-ms-page-write",
-        type: {
-          name: "String"
+      });
+    }
+    function downloadCache(archiveLocation, archivePath, options) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const archiveUrl = new url_1.URL(archiveLocation);
+        const downloadOptions = (0, options_1.getDownloadOptions)(options);
+        if (archiveUrl.hostname.endsWith(".blob.core.windows.net")) {
+          if (downloadOptions.useAzureSdk) {
+            yield (0, downloadUtils_1.downloadCacheStorageSDK)(archiveLocation, archivePath, downloadOptions);
+          } else if (downloadOptions.concurrentBlobDownloads) {
+            yield (0, downloadUtils_1.downloadCacheHttpClientConcurrent)(archiveLocation, archivePath, downloadOptions);
+          } else {
+            yield (0, downloadUtils_1.downloadCacheHttpClient)(archiveLocation, archivePath);
+          }
+        } else {
+          yield (0, downloadUtils_1.downloadCacheHttpClient)(archiveLocation, archivePath);
         }
-      }
-    };
-    exports2.ifSequenceNumberLessThanOrEqualTo = {
-      parameterPath: [
-        "options",
-        "sequenceNumberAccessConditions",
-        "ifSequenceNumberLessThanOrEqualTo"
-      ],
-      mapper: {
-        serializedName: "x-ms-if-sequence-number-le",
-        xmlName: "x-ms-if-sequence-number-le",
-        type: {
-          name: "Number"
+      });
+    }
+    function reserveCache(key, paths, options) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const httpClient = createHttpClient();
+        const version = utils.getCacheVersion(paths, options === null || options === void 0 ? void 0 : options.compressionMethod, options === null || options === void 0 ? void 0 : options.enableCrossOsArchive);
+        const reserveCacheRequest = {
+          key,
+          version,
+          cacheSize: options === null || options === void 0 ? void 0 : options.cacheSize
+        };
+        const response = yield (0, requestUtils_1.retryTypedResponse)("reserveCache", () => __awaiter2(this, void 0, void 0, function* () {
+          return httpClient.postJson(getCacheApiUrl("caches"), reserveCacheRequest);
+        }));
+        return response;
+      });
+    }
+    function getContentRange(start, end) {
+      return `bytes ${start}-${end}/*`;
+    }
+    function uploadChunk(httpClient, resourceUrl, openStream, start, end) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        core14.debug(`Uploading chunk of size ${end - start + 1} bytes at offset ${start} with content range: ${getContentRange(start, end)}`);
+        const additionalHeaders = {
+          "Content-Type": "application/octet-stream",
+          "Content-Range": getContentRange(start, end)
+        };
+        const uploadChunkResponse = yield (0, requestUtils_1.retryHttpClientResponse)(`uploadChunk (start: ${start}, end: ${end})`, () => __awaiter2(this, void 0, void 0, function* () {
+          return httpClient.sendStream("PATCH", resourceUrl, openStream(), additionalHeaders);
+        }));
+        if (!(0, requestUtils_1.isSuccessStatusCode)(uploadChunkResponse.message.statusCode)) {
+          throw new Error(`Cache service responded with ${uploadChunkResponse.message.statusCode} during upload chunk.`);
         }
-      }
-    };
-    exports2.ifSequenceNumberLessThan = {
-      parameterPath: [
-        "options",
-        "sequenceNumberAccessConditions",
-        "ifSequenceNumberLessThan"
-      ],
-      mapper: {
-        serializedName: "x-ms-if-sequence-number-lt",
-        xmlName: "x-ms-if-sequence-number-lt",
-        type: {
-          name: "Number"
+      });
+    }
+    function uploadFile(httpClient, cacheId, archivePath, options) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const fileSize = utils.getArchiveFileSizeInBytes(archivePath);
+        const resourceUrl = getCacheApiUrl(`caches/${cacheId.toString()}`);
+        const fd = fs3.openSync(archivePath, "r");
+        const uploadOptions = (0, options_1.getUploadOptions)(options);
+        const concurrency = utils.assertDefined("uploadConcurrency", uploadOptions.uploadConcurrency);
+        const maxChunkSize = utils.assertDefined("uploadChunkSize", uploadOptions.uploadChunkSize);
+        const parallelUploads = [...new Array(concurrency).keys()];
+        core14.debug("Awaiting all uploads");
+        let offset = 0;
+        try {
+          yield Promise.all(parallelUploads.map(() => __awaiter2(this, void 0, void 0, function* () {
+            while (offset < fileSize) {
+              const chunkSize = Math.min(fileSize - offset, maxChunkSize);
+              const start = offset;
+              const end = offset + chunkSize - 1;
+              offset += maxChunkSize;
+              yield uploadChunk(httpClient, resourceUrl, () => fs3.createReadStream(archivePath, {
+                fd,
+                start,
+                end,
+                autoClose: false
+              }).on("error", (error3) => {
+                throw new Error(`Cache upload failed because file read failed with ${error3.message}`);
+              }), start, end);
+            }
+          })));
+        } finally {
+          fs3.closeSync(fd);
+        }
+        return;
+      });
+    }
+    function commitCache(httpClient, cacheId, filesize) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const commitCacheRequest = { size: filesize };
+        return yield (0, requestUtils_1.retryTypedResponse)("commitCache", () => __awaiter2(this, void 0, void 0, function* () {
+          return httpClient.postJson(getCacheApiUrl(`caches/${cacheId.toString()}`), commitCacheRequest);
+        }));
+      });
+    }
+    function saveCache4(cacheId, archivePath, signedUploadURL, options) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const uploadOptions = (0, options_1.getUploadOptions)(options);
+        if (uploadOptions.useAzureSdk) {
+          if (!signedUploadURL) {
+            throw new Error("Azure Storage SDK can only be used when a signed URL is provided.");
+          }
+          yield (0, uploadUtils_1.uploadCacheArchiveSDK)(signedUploadURL, archivePath, options);
+        } else {
+          const httpClient = createHttpClient();
+          core14.debug("Upload cache");
+          yield uploadFile(httpClient, cacheId, archivePath, options);
+          core14.debug("Commiting cache");
+          const cacheSize = utils.getArchiveFileSizeInBytes(archivePath);
+          core14.info(`Cache Size: ~${Math.round(cacheSize / (1024 * 1024))} MB (${cacheSize} B)`);
+          const commitCacheResponse = yield commitCache(httpClient, cacheId, cacheSize);
+          if (!(0, requestUtils_1.isSuccessStatusCode)(commitCacheResponse.statusCode)) {
+            throw new Error(`Cache service responded with ${commitCacheResponse.statusCode} during commit cache.`);
+          }
+          core14.info("Cache saved successfully");
         }
+      });
+    }
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/json-typings.js
+var require_json_typings = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/json-typings.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isJsonObject = exports2.typeofJsonValue = void 0;
+    function typeofJsonValue(value) {
+      let t = typeof value;
+      if (t == "object") {
+        if (Array.isArray(value))
+          return "array";
+        if (value === null)
+          return "null";
       }
-    };
-    exports2.ifSequenceNumberEqualTo = {
-      parameterPath: [
-        "options",
-        "sequenceNumberAccessConditions",
-        "ifSequenceNumberEqualTo"
-      ],
-      mapper: {
-        serializedName: "x-ms-if-sequence-number-eq",
-        xmlName: "x-ms-if-sequence-number-eq",
-        type: {
-          name: "Number"
+      return t;
+    }
+    exports2.typeofJsonValue = typeofJsonValue;
+    function isJsonObject(value) {
+      return value !== null && typeof value == "object" && !Array.isArray(value);
+    }
+    exports2.isJsonObject = isJsonObject;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/base64.js
+var require_base642 = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/base64.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.base64encode = exports2.base64decode = void 0;
+    var encTable = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");
+    var decTable = [];
+    for (let i = 0; i < encTable.length; i++)
+      decTable[encTable[i].charCodeAt(0)] = i;
+    decTable["-".charCodeAt(0)] = encTable.indexOf("+");
+    decTable["_".charCodeAt(0)] = encTable.indexOf("/");
+    function base64decode(base64Str) {
+      let es = base64Str.length * 3 / 4;
+      if (base64Str[base64Str.length - 2] == "=")
+        es -= 2;
+      else if (base64Str[base64Str.length - 1] == "=")
+        es -= 1;
+      let bytes = new Uint8Array(es), bytePos = 0, groupPos = 0, b, p = 0;
+      for (let i = 0; i < base64Str.length; i++) {
+        b = decTable[base64Str.charCodeAt(i)];
+        if (b === void 0) {
+          switch (base64Str[i]) {
+            case "=":
+              groupPos = 0;
+            // reset state when padding found
+            case "\n":
+            case "\r":
+            case "	":
+            case " ":
+              continue;
+            // skip white-space, and padding
+            default:
+              throw Error(`invalid base64 string.`);
+          }
+        }
+        switch (groupPos) {
+          case 0:
+            p = b;
+            groupPos = 1;
+            break;
+          case 1:
+            bytes[bytePos++] = p << 2 | (b & 48) >> 4;
+            p = b;
+            groupPos = 2;
+            break;
+          case 2:
+            bytes[bytePos++] = (p & 15) << 4 | (b & 60) >> 2;
+            p = b;
+            groupPos = 3;
+            break;
+          case 3:
+            bytes[bytePos++] = (p & 3) << 6 | b;
+            groupPos = 0;
+            break;
         }
       }
-    };
-    exports2.pageWrite1 = {
-      parameterPath: "pageWrite",
-      mapper: {
-        defaultValue: "clear",
-        isConstant: true,
-        serializedName: "x-ms-page-write",
-        type: {
-          name: "String"
+      if (groupPos == 1)
+        throw Error(`invalid base64 string.`);
+      return bytes.subarray(0, bytePos);
+    }
+    exports2.base64decode = base64decode;
+    function base64encode(bytes) {
+      let base64 = "", groupPos = 0, b, p = 0;
+      for (let i = 0; i < bytes.length; i++) {
+        b = bytes[i];
+        switch (groupPos) {
+          case 0:
+            base64 += encTable[b >> 2];
+            p = (b & 3) << 4;
+            groupPos = 1;
+            break;
+          case 1:
+            base64 += encTable[p | b >> 4];
+            p = (b & 15) << 2;
+            groupPos = 2;
+            break;
+          case 2:
+            base64 += encTable[p | b >> 6];
+            base64 += encTable[b & 63];
+            groupPos = 0;
+            break;
         }
       }
-    };
-    exports2.sourceUrl = {
-      parameterPath: "sourceUrl",
-      mapper: {
-        serializedName: "x-ms-copy-source",
-        required: true,
-        xmlName: "x-ms-copy-source",
-        type: {
-          name: "String"
-        }
+      if (groupPos) {
+        base64 += encTable[p];
+        base64 += "=";
+        if (groupPos == 1)
+          base64 += "=";
       }
-    };
-    exports2.sourceRange = {
-      parameterPath: "sourceRange",
-      mapper: {
-        serializedName: "x-ms-source-range",
-        required: true,
-        xmlName: "x-ms-source-range",
-        type: {
-          name: "String"
+      return base64;
+    }
+    exports2.base64encode = base64encode;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/protobufjs-utf8.js
+var require_protobufjs_utf8 = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/protobufjs-utf8.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.utf8read = void 0;
+    var fromCharCodes = (chunk) => String.fromCharCode.apply(String, chunk);
+    function utf8read(bytes) {
+      if (bytes.length < 1)
+        return "";
+      let pos = 0, parts = [], chunk = [], i = 0, t;
+      let len = bytes.length;
+      while (pos < len) {
+        t = bytes[pos++];
+        if (t < 128)
+          chunk[i++] = t;
+        else if (t > 191 && t < 224)
+          chunk[i++] = (t & 31) << 6 | bytes[pos++] & 63;
+        else if (t > 239 && t < 365) {
+          t = ((t & 7) << 18 | (bytes[pos++] & 63) << 12 | (bytes[pos++] & 63) << 6 | bytes[pos++] & 63) - 65536;
+          chunk[i++] = 55296 + (t >> 10);
+          chunk[i++] = 56320 + (t & 1023);
+        } else
+          chunk[i++] = (t & 15) << 12 | (bytes[pos++] & 63) << 6 | bytes[pos++] & 63;
+        if (i > 8191) {
+          parts.push(fromCharCodes(chunk));
+          i = 0;
         }
       }
-    };
-    exports2.sourceContentCrc64 = {
-      parameterPath: ["options", "sourceContentCrc64"],
-      mapper: {
-        serializedName: "x-ms-source-content-crc64",
-        xmlName: "x-ms-source-content-crc64",
-        type: {
-          name: "ByteArray"
-        }
+      if (parts.length) {
+        if (i)
+          parts.push(fromCharCodes(chunk.slice(0, i)));
+        return parts.join("");
       }
-    };
-    exports2.range1 = {
-      parameterPath: "range",
-      mapper: {
-        serializedName: "x-ms-range",
-        required: true,
-        xmlName: "x-ms-range",
-        type: {
-          name: "String"
+      return fromCharCodes(chunk.slice(0, i));
+    }
+    exports2.utf8read = utf8read;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/binary-format-contract.js
+var require_binary_format_contract = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/binary-format-contract.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.WireType = exports2.mergeBinaryOptions = exports2.UnknownFieldHandler = void 0;
+    var UnknownFieldHandler;
+    (function(UnknownFieldHandler2) {
+      UnknownFieldHandler2.symbol = /* @__PURE__ */ Symbol.for("protobuf-ts/unknown");
+      UnknownFieldHandler2.onRead = (typeName, message, fieldNo, wireType, data) => {
+        let container = is(message) ? message[UnknownFieldHandler2.symbol] : message[UnknownFieldHandler2.symbol] = [];
+        container.push({ no: fieldNo, wireType, data });
+      };
+      UnknownFieldHandler2.onWrite = (typeName, message, writer) => {
+        for (let { no, wireType, data } of UnknownFieldHandler2.list(message))
+          writer.tag(no, wireType).raw(data);
+      };
+      UnknownFieldHandler2.list = (message, fieldNo) => {
+        if (is(message)) {
+          let all = message[UnknownFieldHandler2.symbol];
+          return fieldNo ? all.filter((uf) => uf.no == fieldNo) : all;
         }
-      }
-    };
-    exports2.comp20 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "pagelist",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+        return [];
+      };
+      UnknownFieldHandler2.last = (message, fieldNo) => UnknownFieldHandler2.list(message, fieldNo).slice(-1)[0];
+      const is = (message) => message && Array.isArray(message[UnknownFieldHandler2.symbol]);
+    })(UnknownFieldHandler = exports2.UnknownFieldHandler || (exports2.UnknownFieldHandler = {}));
+    function mergeBinaryOptions(a, b) {
+      return Object.assign(Object.assign({}, a), b);
+    }
+    exports2.mergeBinaryOptions = mergeBinaryOptions;
+    var WireType;
+    (function(WireType2) {
+      WireType2[WireType2["Varint"] = 0] = "Varint";
+      WireType2[WireType2["Bit64"] = 1] = "Bit64";
+      WireType2[WireType2["LengthDelimited"] = 2] = "LengthDelimited";
+      WireType2[WireType2["StartGroup"] = 3] = "StartGroup";
+      WireType2[WireType2["EndGroup"] = 4] = "EndGroup";
+      WireType2[WireType2["Bit32"] = 5] = "Bit32";
+    })(WireType = exports2.WireType || (exports2.WireType = {}));
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/goog-varint.js
+var require_goog_varint = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/goog-varint.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.varint32read = exports2.varint32write = exports2.int64toString = exports2.int64fromString = exports2.varint64write = exports2.varint64read = void 0;
+    function varint64read() {
+      let lowBits = 0;
+      let highBits = 0;
+      for (let shift = 0; shift < 28; shift += 7) {
+        let b = this.buf[this.pos++];
+        lowBits |= (b & 127) << shift;
+        if ((b & 128) == 0) {
+          this.assertBounds();
+          return [lowBits, highBits];
         }
       }
-    };
-    exports2.prevsnapshot = {
-      parameterPath: ["options", "prevsnapshot"],
-      mapper: {
-        serializedName: "prevsnapshot",
-        xmlName: "prevsnapshot",
-        type: {
-          name: "String"
-        }
+      let middleByte = this.buf[this.pos++];
+      lowBits |= (middleByte & 15) << 28;
+      highBits = (middleByte & 112) >> 4;
+      if ((middleByte & 128) == 0) {
+        this.assertBounds();
+        return [lowBits, highBits];
       }
-    };
-    exports2.prevSnapshotUrl = {
-      parameterPath: ["options", "prevSnapshotUrl"],
-      mapper: {
-        serializedName: "x-ms-previous-snapshot-url",
-        xmlName: "x-ms-previous-snapshot-url",
-        type: {
-          name: "String"
+      for (let shift = 3; shift <= 31; shift += 7) {
+        let b = this.buf[this.pos++];
+        highBits |= (b & 127) << shift;
+        if ((b & 128) == 0) {
+          this.assertBounds();
+          return [lowBits, highBits];
         }
       }
-    };
-    exports2.sequenceNumberAction = {
-      parameterPath: "sequenceNumberAction",
-      mapper: {
-        serializedName: "x-ms-sequence-number-action",
-        required: true,
-        xmlName: "x-ms-sequence-number-action",
-        type: {
-          name: "Enum",
-          allowedValues: ["max", "update", "increment"]
+      throw new Error("invalid varint");
+    }
+    exports2.varint64read = varint64read;
+    function varint64write(lo, hi, bytes) {
+      for (let i = 0; i < 28; i = i + 7) {
+        const shift = lo >>> i;
+        const hasNext = !(shift >>> 7 == 0 && hi == 0);
+        const byte = (hasNext ? shift | 128 : shift) & 255;
+        bytes.push(byte);
+        if (!hasNext) {
+          return;
         }
       }
-    };
-    exports2.comp21 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "incrementalcopy",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
-        }
+      const splitBits = lo >>> 28 & 15 | (hi & 7) << 4;
+      const hasMoreBits = !(hi >> 3 == 0);
+      bytes.push((hasMoreBits ? splitBits | 128 : splitBits) & 255);
+      if (!hasMoreBits) {
+        return;
       }
-    };
-    exports2.blobType1 = {
-      parameterPath: "blobType",
-      mapper: {
-        defaultValue: "AppendBlob",
-        isConstant: true,
-        serializedName: "x-ms-blob-type",
-        type: {
-          name: "String"
+      for (let i = 3; i < 31; i = i + 7) {
+        const shift = hi >>> i;
+        const hasNext = !(shift >>> 7 == 0);
+        const byte = (hasNext ? shift | 128 : shift) & 255;
+        bytes.push(byte);
+        if (!hasNext) {
+          return;
         }
       }
-    };
-    exports2.comp22 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "appendblock",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+      bytes.push(hi >>> 31 & 1);
+    }
+    exports2.varint64write = varint64write;
+    var TWO_PWR_32_DBL = (1 << 16) * (1 << 16);
+    function int64fromString(dec) {
+      let minus = dec[0] == "-";
+      if (minus)
+        dec = dec.slice(1);
+      const base = 1e6;
+      let lowBits = 0;
+      let highBits = 0;
+      function add1e6digit(begin, end) {
+        const digit1e6 = Number(dec.slice(begin, end));
+        highBits *= base;
+        lowBits = lowBits * base + digit1e6;
+        if (lowBits >= TWO_PWR_32_DBL) {
+          highBits = highBits + (lowBits / TWO_PWR_32_DBL | 0);
+          lowBits = lowBits % TWO_PWR_32_DBL;
         }
       }
-    };
-    exports2.maxSize = {
-      parameterPath: ["options", "appendPositionAccessConditions", "maxSize"],
-      mapper: {
-        serializedName: "x-ms-blob-condition-maxsize",
-        xmlName: "x-ms-blob-condition-maxsize",
-        type: {
-          name: "Number"
-        }
+      add1e6digit(-24, -18);
+      add1e6digit(-18, -12);
+      add1e6digit(-12, -6);
+      add1e6digit(-6);
+      return [minus, lowBits, highBits];
+    }
+    exports2.int64fromString = int64fromString;
+    function int64toString(bitsLow, bitsHigh) {
+      if (bitsHigh >>> 0 <= 2097151) {
+        return "" + (TWO_PWR_32_DBL * bitsHigh + (bitsLow >>> 0));
       }
-    };
-    exports2.appendPosition = {
-      parameterPath: [
-        "options",
-        "appendPositionAccessConditions",
-        "appendPosition"
-      ],
-      mapper: {
-        serializedName: "x-ms-blob-condition-appendpos",
-        xmlName: "x-ms-blob-condition-appendpos",
-        type: {
-          name: "Number"
-        }
+      let low = bitsLow & 16777215;
+      let mid = (bitsLow >>> 24 | bitsHigh << 8) >>> 0 & 16777215;
+      let high = bitsHigh >> 16 & 65535;
+      let digitA = low + mid * 6777216 + high * 6710656;
+      let digitB = mid + high * 8147497;
+      let digitC = high * 2;
+      let base = 1e7;
+      if (digitA >= base) {
+        digitB += Math.floor(digitA / base);
+        digitA %= base;
       }
-    };
-    exports2.sourceRange1 = {
-      parameterPath: ["options", "sourceRange"],
-      mapper: {
-        serializedName: "x-ms-source-range",
-        xmlName: "x-ms-source-range",
-        type: {
-          name: "String"
-        }
+      if (digitB >= base) {
+        digitC += Math.floor(digitB / base);
+        digitB %= base;
       }
-    };
-    exports2.comp23 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "seal",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+      function decimalFrom1e7(digit1e7, needLeadingZeros) {
+        let partial = digit1e7 ? String(digit1e7) : "";
+        if (needLeadingZeros) {
+          return "0000000".slice(partial.length) + partial;
         }
+        return partial;
       }
-    };
-    exports2.blobType2 = {
-      parameterPath: "blobType",
-      mapper: {
-        defaultValue: "BlockBlob",
-        isConstant: true,
-        serializedName: "x-ms-blob-type",
-        type: {
-          name: "String"
+      return decimalFrom1e7(
+        digitC,
+        /*needLeadingZeros=*/
+        0
+      ) + decimalFrom1e7(
+        digitB,
+        /*needLeadingZeros=*/
+        digitC
+      ) + // If the final 1e7 digit didn't need leading zeros, we would have
+      // returned via the trivial code path at the top.
+      decimalFrom1e7(
+        digitA,
+        /*needLeadingZeros=*/
+        1
+      );
+    }
+    exports2.int64toString = int64toString;
+    function varint32write(value, bytes) {
+      if (value >= 0) {
+        while (value > 127) {
+          bytes.push(value & 127 | 128);
+          value = value >>> 7;
         }
-      }
-    };
-    exports2.copySourceBlobProperties = {
-      parameterPath: ["options", "copySourceBlobProperties"],
-      mapper: {
-        serializedName: "x-ms-copy-source-blob-properties",
-        xmlName: "x-ms-copy-source-blob-properties",
-        type: {
-          name: "Boolean"
+        bytes.push(value);
+      } else {
+        for (let i = 0; i < 9; i++) {
+          bytes.push(value & 127 | 128);
+          value = value >> 7;
         }
+        bytes.push(1);
       }
-    };
-    exports2.comp24 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "block",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
-        }
+    }
+    exports2.varint32write = varint32write;
+    function varint32read() {
+      let b = this.buf[this.pos++];
+      let result = b & 127;
+      if ((b & 128) == 0) {
+        this.assertBounds();
+        return result;
       }
-    };
-    exports2.blockId = {
-      parameterPath: "blockId",
-      mapper: {
-        serializedName: "blockid",
-        required: true,
-        xmlName: "blockid",
-        type: {
-          name: "String"
-        }
+      b = this.buf[this.pos++];
+      result |= (b & 127) << 7;
+      if ((b & 128) == 0) {
+        this.assertBounds();
+        return result;
       }
-    };
-    exports2.blocks = {
-      parameterPath: "blocks",
-      mapper: mappers_js_1.BlockLookupList
-    };
-    exports2.comp25 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "blocklist",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
-        }
+      b = this.buf[this.pos++];
+      result |= (b & 127) << 14;
+      if ((b & 128) == 0) {
+        this.assertBounds();
+        return result;
       }
-    };
-    exports2.listType = {
-      parameterPath: "listType",
-      mapper: {
-        defaultValue: "committed",
-        serializedName: "blocklisttype",
-        required: true,
-        xmlName: "blocklisttype",
-        type: {
-          name: "Enum",
-          allowedValues: ["committed", "uncommitted", "all"]
-        }
+      b = this.buf[this.pos++];
+      result |= (b & 127) << 21;
+      if ((b & 128) == 0) {
+        this.assertBounds();
+        return result;
       }
-    };
+      b = this.buf[this.pos++];
+      result |= (b & 15) << 28;
+      for (let readBytes = 5; (b & 128) !== 0 && readBytes < 10; readBytes++)
+        b = this.buf[this.pos++];
+      if ((b & 128) != 0)
+        throw new Error("invalid varint");
+      this.assertBounds();
+      return result >>> 0;
+    }
+    exports2.varint32read = varint32read;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/service.js
-var require_service = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/service.js"(exports2) {
+// node_modules/@protobuf-ts/runtime/build/commonjs/pb-long.js
+var require_pb_long = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/pb-long.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ServiceImpl = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var coreClient = tslib_1.__importStar(require_commonjs8());
-    var Mappers = tslib_1.__importStar(require_mappers());
-    var Parameters = tslib_1.__importStar(require_parameters());
-    var ServiceImpl = class {
-      client;
+    exports2.PbLong = exports2.PbULong = exports2.detectBi = void 0;
+    var goog_varint_1 = require_goog_varint();
+    var BI;
+    function detectBi() {
+      const dv = new DataView(new ArrayBuffer(8));
+      const ok = globalThis.BigInt !== void 0 && typeof dv.getBigInt64 === "function" && typeof dv.getBigUint64 === "function" && typeof dv.setBigInt64 === "function" && typeof dv.setBigUint64 === "function";
+      BI = ok ? {
+        MIN: BigInt("-9223372036854775808"),
+        MAX: BigInt("9223372036854775807"),
+        UMIN: BigInt("0"),
+        UMAX: BigInt("18446744073709551615"),
+        C: BigInt,
+        V: dv
+      } : void 0;
+    }
+    exports2.detectBi = detectBi;
+    detectBi();
+    function assertBi(bi) {
+      if (!bi)
+        throw new Error("BigInt unavailable, see https://github.com/timostamm/protobuf-ts/blob/v1.0.8/MANUAL.md#bigint-support");
+    }
+    var RE_DECIMAL_STR = /^-?[0-9]+$/;
+    var TWO_PWR_32_DBL = 4294967296;
+    var HALF_2_PWR_32 = 2147483648;
+    var SharedPbLong = class {
       /**
-       * Initialize a new instance of the class Service class.
-       * @param client Reference to the service client
+       * Create a new instance with the given bits.
        */
-      constructor(client) {
-        this.client = client;
+      constructor(lo, hi) {
+        this.lo = lo | 0;
+        this.hi = hi | 0;
       }
       /**
-       * Sets properties for a storage account's Blob service endpoint, including properties for Storage
-       * Analytics and CORS (Cross-Origin Resource Sharing) rules
-       * @param blobServiceProperties The StorageService properties.
-       * @param options The options parameters.
+       * Is this instance equal to 0?
        */
-      setProperties(blobServiceProperties, options) {
-        return this.client.sendOperationRequest({ blobServiceProperties, options }, setPropertiesOperationSpec);
+      isZero() {
+        return this.lo == 0 && this.hi == 0;
       }
       /**
-       * gets the properties of a storage account's Blob service, including properties for Storage Analytics
-       * and CORS (Cross-Origin Resource Sharing) rules.
-       * @param options The options parameters.
+       * Convert to a native number.
        */
-      getProperties(options) {
-        return this.client.sendOperationRequest({ options }, getPropertiesOperationSpec);
+      toNumber() {
+        let result = this.hi * TWO_PWR_32_DBL + (this.lo >>> 0);
+        if (!Number.isSafeInteger(result))
+          throw new Error("cannot convert to safe number");
+        return result;
       }
+    };
+    var PbULong = class _PbULong extends SharedPbLong {
       /**
-       * Retrieves statistics related to replication for the Blob service. It is only available on the
-       * secondary location endpoint when read-access geo-redundant replication is enabled for the storage
-       * account.
-       * @param options The options parameters.
+       * Create instance from a `string`, `number` or `bigint`.
        */
-      getStatistics(options) {
-        return this.client.sendOperationRequest({ options }, getStatisticsOperationSpec);
+      static from(value) {
+        if (BI)
+          switch (typeof value) {
+            case "string":
+              if (value == "0")
+                return this.ZERO;
+              if (value == "")
+                throw new Error("string is no integer");
+              value = BI.C(value);
+            case "number":
+              if (value === 0)
+                return this.ZERO;
+              value = BI.C(value);
+            case "bigint":
+              if (!value)
+                return this.ZERO;
+              if (value < BI.UMIN)
+                throw new Error("signed value for ulong");
+              if (value > BI.UMAX)
+                throw new Error("ulong too large");
+              BI.V.setBigUint64(0, value, true);
+              return new _PbULong(BI.V.getInt32(0, true), BI.V.getInt32(4, true));
+          }
+        else
+          switch (typeof value) {
+            case "string":
+              if (value == "0")
+                return this.ZERO;
+              value = value.trim();
+              if (!RE_DECIMAL_STR.test(value))
+                throw new Error("string is no integer");
+              let [minus, lo, hi] = goog_varint_1.int64fromString(value);
+              if (minus)
+                throw new Error("signed value for ulong");
+              return new _PbULong(lo, hi);
+            case "number":
+              if (value == 0)
+                return this.ZERO;
+              if (!Number.isSafeInteger(value))
+                throw new Error("number is no integer");
+              if (value < 0)
+                throw new Error("signed value for ulong");
+              return new _PbULong(value, value / TWO_PWR_32_DBL);
+          }
+        throw new Error("unknown value " + typeof value);
       }
       /**
-       * The List Containers Segment operation returns a list of the containers under the specified account
-       * @param options The options parameters.
+       * Convert to decimal string.
        */
-      listContainersSegment(options) {
-        return this.client.sendOperationRequest({ options }, listContainersSegmentOperationSpec);
+      toString() {
+        return BI ? this.toBigInt().toString() : goog_varint_1.int64toString(this.lo, this.hi);
       }
       /**
-       * Retrieves a user delegation key for the Blob service. This is only a valid operation when using
-       * bearer token authentication.
-       * @param keyInfo Key information
-       * @param options The options parameters.
+       * Convert to native bigint.
        */
-      getUserDelegationKey(keyInfo, options) {
-        return this.client.sendOperationRequest({ keyInfo, options }, getUserDelegationKeyOperationSpec);
+      toBigInt() {
+        assertBi(BI);
+        BI.V.setInt32(0, this.lo, true);
+        BI.V.setInt32(4, this.hi, true);
+        return BI.V.getBigUint64(0, true);
       }
+    };
+    exports2.PbULong = PbULong;
+    PbULong.ZERO = new PbULong(0, 0);
+    var PbLong = class _PbLong extends SharedPbLong {
       /**
-       * Returns the sku name and account kind
-       * @param options The options parameters.
+       * Create instance from a `string`, `number` or `bigint`.
        */
-      getAccountInfo(options) {
-        return this.client.sendOperationRequest({ options }, getAccountInfoOperationSpec);
+      static from(value) {
+        if (BI)
+          switch (typeof value) {
+            case "string":
+              if (value == "0")
+                return this.ZERO;
+              if (value == "")
+                throw new Error("string is no integer");
+              value = BI.C(value);
+            case "number":
+              if (value === 0)
+                return this.ZERO;
+              value = BI.C(value);
+            case "bigint":
+              if (!value)
+                return this.ZERO;
+              if (value < BI.MIN)
+                throw new Error("signed long too small");
+              if (value > BI.MAX)
+                throw new Error("signed long too large");
+              BI.V.setBigInt64(0, value, true);
+              return new _PbLong(BI.V.getInt32(0, true), BI.V.getInt32(4, true));
+          }
+        else
+          switch (typeof value) {
+            case "string":
+              if (value == "0")
+                return this.ZERO;
+              value = value.trim();
+              if (!RE_DECIMAL_STR.test(value))
+                throw new Error("string is no integer");
+              let [minus, lo, hi] = goog_varint_1.int64fromString(value);
+              if (minus) {
+                if (hi > HALF_2_PWR_32 || hi == HALF_2_PWR_32 && lo != 0)
+                  throw new Error("signed long too small");
+              } else if (hi >= HALF_2_PWR_32)
+                throw new Error("signed long too large");
+              let pbl = new _PbLong(lo, hi);
+              return minus ? pbl.negate() : pbl;
+            case "number":
+              if (value == 0)
+                return this.ZERO;
+              if (!Number.isSafeInteger(value))
+                throw new Error("number is no integer");
+              return value > 0 ? new _PbLong(value, value / TWO_PWR_32_DBL) : new _PbLong(-value, -value / TWO_PWR_32_DBL).negate();
+          }
+        throw new Error("unknown value " + typeof value);
       }
       /**
-       * The Batch operation allows multiple API calls to be embedded into a single HTTP request.
-       * @param contentLength The length of the request.
-       * @param multipartContentType Required. The value of this header must be multipart/mixed with a batch
-       *                             boundary. Example header value: multipart/mixed; boundary=batch_
-       * @param body Initial data
-       * @param options The options parameters.
+       * Do we have a minus sign?
        */
-      submitBatch(contentLength, multipartContentType, body, options) {
-        return this.client.sendOperationRequest({ contentLength, multipartContentType, body, options }, submitBatchOperationSpec);
+      isNegative() {
+        return (this.hi & HALF_2_PWR_32) !== 0;
       }
       /**
-       * The Filter Blobs operation enables callers to list blobs across all containers whose tags match a
-       * given search expression.  Filter blobs searches across all containers within a storage account but
-       * can be scoped within the expression to a single container.
-       * @param options The options parameters.
+       * Negate two's complement.
+       * Invert all the bits and add one to the result.
        */
-      filterBlobs(options) {
-        return this.client.sendOperationRequest({ options }, filterBlobsOperationSpec);
+      negate() {
+        let hi = ~this.hi, lo = this.lo;
+        if (lo)
+          lo = ~lo + 1;
+        else
+          hi += 1;
+        return new _PbLong(lo, hi);
       }
-    };
-    exports2.ServiceImpl = ServiceImpl;
-    var xmlSerializer = coreClient.createSerializer(
-      Mappers,
-      /* isXml */
-      true
-    );
-    var setPropertiesOperationSpec = {
-      path: "/",
-      httpMethod: "PUT",
-      responses: {
-        202: {
-          headersMapper: Mappers.ServiceSetPropertiesHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ServiceSetPropertiesExceptionHeaders
-        }
-      },
-      requestBody: Parameters.blobServiceProperties,
-      queryParameters: [
-        Parameters.restype,
-        Parameters.comp,
-        Parameters.timeoutInSeconds
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.contentType,
-        Parameters.accept,
-        Parameters.version,
-        Parameters.requestId
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "xml",
-      serializer: xmlSerializer
-    };
-    var getPropertiesOperationSpec = {
-      path: "/",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.BlobServiceProperties,
-          headersMapper: Mappers.ServiceGetPropertiesHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ServiceGetPropertiesExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.restype,
-        Parameters.comp,
-        Parameters.timeoutInSeconds
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var getStatisticsOperationSpec = {
-      path: "/",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.BlobServiceStatistics,
-          headersMapper: Mappers.ServiceGetStatisticsHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ServiceGetStatisticsExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.restype,
-        Parameters.timeoutInSeconds,
-        Parameters.comp1
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var listContainersSegmentOperationSpec = {
-      path: "/",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.ListContainersSegmentResponse,
-          headersMapper: Mappers.ServiceListContainersSegmentHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ServiceListContainersSegmentExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.comp2,
-        Parameters.prefix,
-        Parameters.marker,
-        Parameters.maxPageSize,
-        Parameters.include
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var getUserDelegationKeyOperationSpec = {
-      path: "/",
-      httpMethod: "POST",
-      responses: {
-        200: {
-          bodyMapper: Mappers.UserDelegationKey,
-          headersMapper: Mappers.ServiceGetUserDelegationKeyHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ServiceGetUserDelegationKeyExceptionHeaders
-        }
-      },
-      requestBody: Parameters.keyInfo,
-      queryParameters: [
-        Parameters.restype,
-        Parameters.timeoutInSeconds,
-        Parameters.comp3
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.contentType,
-        Parameters.accept,
-        Parameters.version,
-        Parameters.requestId
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "xml",
-      serializer: xmlSerializer
-    };
-    var getAccountInfoOperationSpec = {
-      path: "/",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          headersMapper: Mappers.ServiceGetAccountInfoHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ServiceGetAccountInfoExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.comp,
-        Parameters.timeoutInSeconds,
-        Parameters.restype1
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var submitBatchOperationSpec = {
-      path: "/",
-      httpMethod: "POST",
-      responses: {
-        202: {
-          bodyMapper: {
-            type: { name: "Stream" },
-            serializedName: "parsedResponse"
-          },
-          headersMapper: Mappers.ServiceSubmitBatchHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ServiceSubmitBatchExceptionHeaders
-        }
-      },
-      requestBody: Parameters.body,
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp4],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.accept,
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.contentLength,
-        Parameters.multipartContentType
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "xml",
-      serializer: xmlSerializer
-    };
-    var filterBlobsOperationSpec = {
-      path: "/",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.FilterBlobSegment,
-          headersMapper: Mappers.ServiceFilterBlobsHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ServiceFilterBlobsExceptionHeaders
+      /**
+       * Convert to decimal string.
+       */
+      toString() {
+        if (BI)
+          return this.toBigInt().toString();
+        if (this.isNegative()) {
+          let n = this.negate();
+          return "-" + goog_varint_1.int64toString(n.lo, n.hi);
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.marker,
-        Parameters.maxPageSize,
-        Parameters.comp5,
-        Parameters.where
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+        return goog_varint_1.int64toString(this.lo, this.hi);
+      }
+      /**
+       * Convert to native bigint.
+       */
+      toBigInt() {
+        assertBi(BI);
+        BI.V.setInt32(0, this.lo, true);
+        BI.V.setInt32(4, this.hi, true);
+        return BI.V.getBigInt64(0, true);
+      }
     };
+    exports2.PbLong = PbLong;
+    PbLong.ZERO = new PbLong(0, 0);
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/container.js
-var require_container = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/container.js"(exports2) {
+// node_modules/@protobuf-ts/runtime/build/commonjs/binary-reader.js
+var require_binary_reader = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/binary-reader.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ContainerImpl = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var coreClient = tslib_1.__importStar(require_commonjs8());
-    var Mappers = tslib_1.__importStar(require_mappers());
-    var Parameters = tslib_1.__importStar(require_parameters());
-    var ContainerImpl = class {
-      client;
-      /**
-       * Initialize a new instance of the class Container class.
-       * @param client Reference to the service client
-       */
-      constructor(client) {
-        this.client = client;
-      }
-      /**
-       * creates a new container under the specified account. If the container with the same name already
-       * exists, the operation fails
-       * @param options The options parameters.
-       */
-      create(options) {
-        return this.client.sendOperationRequest({ options }, createOperationSpec);
-      }
-      /**
-       * returns all user-defined metadata and system properties for the specified container. The data
-       * returned does not include the container's list of blobs
-       * @param options The options parameters.
-       */
-      getProperties(options) {
-        return this.client.sendOperationRequest({ options }, getPropertiesOperationSpec);
-      }
-      /**
-       * operation marks the specified container for deletion. The container and any blobs contained within
-       * it are later deleted during garbage collection
-       * @param options The options parameters.
-       */
-      delete(options) {
-        return this.client.sendOperationRequest({ options }, deleteOperationSpec);
-      }
-      /**
-       * operation sets one or more user-defined name-value pairs for the specified container.
-       * @param options The options parameters.
-       */
-      setMetadata(options) {
-        return this.client.sendOperationRequest({ options }, setMetadataOperationSpec);
+    exports2.BinaryReader = exports2.binaryReadOptions = void 0;
+    var binary_format_contract_1 = require_binary_format_contract();
+    var pb_long_1 = require_pb_long();
+    var goog_varint_1 = require_goog_varint();
+    var defaultsRead = {
+      readUnknownField: true,
+      readerFactory: (bytes) => new BinaryReader(bytes)
+    };
+    function binaryReadOptions(options) {
+      return options ? Object.assign(Object.assign({}, defaultsRead), options) : defaultsRead;
+    }
+    exports2.binaryReadOptions = binaryReadOptions;
+    var BinaryReader = class {
+      constructor(buf, textDecoder) {
+        this.varint64 = goog_varint_1.varint64read;
+        this.uint32 = goog_varint_1.varint32read;
+        this.buf = buf;
+        this.len = buf.length;
+        this.pos = 0;
+        this.view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
+        this.textDecoder = textDecoder !== null && textDecoder !== void 0 ? textDecoder : new TextDecoder("utf-8", {
+          fatal: true,
+          ignoreBOM: true
+        });
       }
       /**
-       * gets the permissions for the specified container. The permissions indicate whether container data
-       * may be accessed publicly.
-       * @param options The options parameters.
+       * Reads a tag - field number and wire type.
        */
-      getAccessPolicy(options) {
-        return this.client.sendOperationRequest({ options }, getAccessPolicyOperationSpec);
+      tag() {
+        let tag = this.uint32(), fieldNo = tag >>> 3, wireType = tag & 7;
+        if (fieldNo <= 0 || wireType < 0 || wireType > 5)
+          throw new Error("illegal tag: field no " + fieldNo + " wire type " + wireType);
+        return [fieldNo, wireType];
       }
       /**
-       * sets the permissions for the specified container. The permissions indicate whether blobs in a
-       * container may be accessed publicly.
-       * @param options The options parameters.
+       * Skip one element on the wire and return the skipped data.
+       * Supports WireType.StartGroup since v2.0.0-alpha.23.
        */
-      setAccessPolicy(options) {
-        return this.client.sendOperationRequest({ options }, setAccessPolicyOperationSpec);
+      skip(wireType) {
+        let start = this.pos;
+        switch (wireType) {
+          case binary_format_contract_1.WireType.Varint:
+            while (this.buf[this.pos++] & 128) {
+            }
+            break;
+          case binary_format_contract_1.WireType.Bit64:
+            this.pos += 4;
+          case binary_format_contract_1.WireType.Bit32:
+            this.pos += 4;
+            break;
+          case binary_format_contract_1.WireType.LengthDelimited:
+            let len = this.uint32();
+            this.pos += len;
+            break;
+          case binary_format_contract_1.WireType.StartGroup:
+            let t;
+            while ((t = this.tag()[1]) !== binary_format_contract_1.WireType.EndGroup) {
+              this.skip(t);
+            }
+            break;
+          default:
+            throw new Error("cant skip wire type " + wireType);
+        }
+        this.assertBounds();
+        return this.buf.subarray(start, this.pos);
       }
       /**
-       * Restores a previously-deleted container.
-       * @param options The options parameters.
+       * Throws error if position in byte array is out of range.
        */
-      restore(options) {
-        return this.client.sendOperationRequest({ options }, restoreOperationSpec);
+      assertBounds() {
+        if (this.pos > this.len)
+          throw new RangeError("premature EOF");
       }
       /**
-       * Renames an existing container.
-       * @param sourceContainerName Required.  Specifies the name of the container to rename.
-       * @param options The options parameters.
+       * Read a `int32` field, a signed 32 bit varint.
        */
-      rename(sourceContainerName, options) {
-        return this.client.sendOperationRequest({ sourceContainerName, options }, renameOperationSpec);
+      int32() {
+        return this.uint32() | 0;
       }
       /**
-       * The Batch operation allows multiple API calls to be embedded into a single HTTP request.
-       * @param contentLength The length of the request.
-       * @param multipartContentType Required. The value of this header must be multipart/mixed with a batch
-       *                             boundary. Example header value: multipart/mixed; boundary=batch_
-       * @param body Initial data
-       * @param options The options parameters.
+       * Read a `sint32` field, a signed, zigzag-encoded 32-bit varint.
        */
-      submitBatch(contentLength, multipartContentType, body, options) {
-        return this.client.sendOperationRequest({ contentLength, multipartContentType, body, options }, submitBatchOperationSpec);
+      sint32() {
+        let zze = this.uint32();
+        return zze >>> 1 ^ -(zze & 1);
       }
       /**
-       * The Filter Blobs operation enables callers to list blobs in a container whose tags match a given
-       * search expression.  Filter blobs searches within the given container.
-       * @param options The options parameters.
+       * Read a `int64` field, a signed 64-bit varint.
        */
-      filterBlobs(options) {
-        return this.client.sendOperationRequest({ options }, filterBlobsOperationSpec);
+      int64() {
+        return new pb_long_1.PbLong(...this.varint64());
       }
       /**
-       * [Update] establishes and manages a lock on a container for delete operations. The lock duration can
-       * be 15 to 60 seconds, or can be infinite
-       * @param options The options parameters.
+       * Read a `uint64` field, an unsigned 64-bit varint.
        */
-      acquireLease(options) {
-        return this.client.sendOperationRequest({ options }, acquireLeaseOperationSpec);
+      uint64() {
+        return new pb_long_1.PbULong(...this.varint64());
       }
       /**
-       * [Update] establishes and manages a lock on a container for delete operations. The lock duration can
-       * be 15 to 60 seconds, or can be infinite
-       * @param leaseId Specifies the current lease ID on the resource.
-       * @param options The options parameters.
+       * Read a `sint64` field, a signed, zig-zag-encoded 64-bit varint.
        */
-      releaseLease(leaseId, options) {
-        return this.client.sendOperationRequest({ leaseId, options }, releaseLeaseOperationSpec);
+      sint64() {
+        let [lo, hi] = this.varint64();
+        let s = -(lo & 1);
+        lo = (lo >>> 1 | (hi & 1) << 31) ^ s;
+        hi = hi >>> 1 ^ s;
+        return new pb_long_1.PbLong(lo, hi);
       }
       /**
-       * [Update] establishes and manages a lock on a container for delete operations. The lock duration can
-       * be 15 to 60 seconds, or can be infinite
-       * @param leaseId Specifies the current lease ID on the resource.
-       * @param options The options parameters.
+       * Read a `bool` field, a variant.
        */
-      renewLease(leaseId, options) {
-        return this.client.sendOperationRequest({ leaseId, options }, renewLeaseOperationSpec);
+      bool() {
+        let [lo, hi] = this.varint64();
+        return lo !== 0 || hi !== 0;
       }
       /**
-       * [Update] establishes and manages a lock on a container for delete operations. The lock duration can
-       * be 15 to 60 seconds, or can be infinite
-       * @param options The options parameters.
+       * Read a `fixed32` field, an unsigned, fixed-length 32-bit integer.
        */
-      breakLease(options) {
-        return this.client.sendOperationRequest({ options }, breakLeaseOperationSpec);
+      fixed32() {
+        return this.view.getUint32((this.pos += 4) - 4, true);
       }
       /**
-       * [Update] establishes and manages a lock on a container for delete operations. The lock duration can
-       * be 15 to 60 seconds, or can be infinite
-       * @param leaseId Specifies the current lease ID on the resource.
-       * @param proposedLeaseId Proposed lease ID, in a GUID string format. The Blob service returns 400
-       *                        (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor
-       *                        (String) for a list of valid GUID string formats.
-       * @param options The options parameters.
+       * Read a `sfixed32` field, a signed, fixed-length 32-bit integer.
        */
-      changeLease(leaseId, proposedLeaseId, options) {
-        return this.client.sendOperationRequest({ leaseId, proposedLeaseId, options }, changeLeaseOperationSpec);
+      sfixed32() {
+        return this.view.getInt32((this.pos += 4) - 4, true);
       }
       /**
-       * [Update] The List Blobs operation returns a list of the blobs under the specified container
-       * @param options The options parameters.
+       * Read a `fixed64` field, an unsigned, fixed-length 64 bit integer.
        */
-      listBlobFlatSegment(options) {
-        return this.client.sendOperationRequest({ options }, listBlobFlatSegmentOperationSpec);
+      fixed64() {
+        return new pb_long_1.PbULong(this.sfixed32(), this.sfixed32());
       }
       /**
-       * [Update] The List Blobs operation returns a list of the blobs under the specified container
-       * @param delimiter When the request includes this parameter, the operation returns a BlobPrefix
-       *                  element in the response body that acts as a placeholder for all blobs whose names begin with the
-       *                  same substring up to the appearance of the delimiter character. The delimiter may be a single
-       *                  character or a string.
-       * @param options The options parameters.
+       * Read a `fixed64` field, a signed, fixed-length 64-bit integer.
        */
-      listBlobHierarchySegment(delimiter, options) {
-        return this.client.sendOperationRequest({ delimiter, options }, listBlobHierarchySegmentOperationSpec);
+      sfixed64() {
+        return new pb_long_1.PbLong(this.sfixed32(), this.sfixed32());
       }
       /**
-       * Returns the sku name and account kind
-       * @param options The options parameters.
-       */
-      getAccountInfo(options) {
-        return this.client.sendOperationRequest({ options }, getAccountInfoOperationSpec);
-      }
-    };
-    exports2.ContainerImpl = ContainerImpl;
-    var xmlSerializer = coreClient.createSerializer(
-      Mappers,
-      /* isXml */
-      true
-    );
-    var createOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.ContainerCreateHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerCreateExceptionHeaders
-        }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.restype2],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.metadata,
-        Parameters.access,
-        Parameters.defaultEncryptionScope,
-        Parameters.preventEncryptionScopeOverride
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var getPropertiesOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          headersMapper: Mappers.ContainerGetPropertiesHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerGetPropertiesExceptionHeaders
-        }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.restype2],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var deleteOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "DELETE",
-      responses: {
-        202: {
-          headersMapper: Mappers.ContainerDeleteHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerDeleteExceptionHeaders
-        }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.restype2],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var setMetadataOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.ContainerSetMetadataHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerSetMetadataExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.restype2,
-        Parameters.comp6
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var getAccessPolicyOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: {
-            type: {
-              name: "Sequence",
-              element: {
-                type: { name: "Composite", className: "SignedIdentifier" }
-              }
-            },
-            serializedName: "SignedIdentifiers",
-            xmlName: "SignedIdentifiers",
-            xmlIsWrapped: true,
-            xmlElementName: "SignedIdentifier"
-          },
-          headersMapper: Mappers.ContainerGetAccessPolicyHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerGetAccessPolicyExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.restype2,
-        Parameters.comp7
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var setAccessPolicyOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.ContainerSetAccessPolicyHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerSetAccessPolicyExceptionHeaders
-        }
-      },
-      requestBody: Parameters.containerAcl,
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.restype2,
-        Parameters.comp7
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.contentType,
-        Parameters.accept,
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.access,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "xml",
-      serializer: xmlSerializer
-    };
-    var restoreOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.ContainerRestoreHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerRestoreExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.restype2,
-        Parameters.comp8
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.deletedContainerName,
-        Parameters.deletedContainerVersion
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var renameOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.ContainerRenameHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerRenameExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.restype2,
-        Parameters.comp9
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.sourceContainerName,
-        Parameters.sourceLeaseId
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var submitBatchOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "POST",
-      responses: {
-        202: {
-          bodyMapper: {
-            type: { name: "Stream" },
-            serializedName: "parsedResponse"
-          },
-          headersMapper: Mappers.ContainerSubmitBatchHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerSubmitBatchExceptionHeaders
-        }
-      },
-      requestBody: Parameters.body,
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.comp4,
-        Parameters.restype2
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.accept,
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.contentLength,
-        Parameters.multipartContentType
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "xml",
-      serializer: xmlSerializer
-    };
-    var filterBlobsOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.FilterBlobSegment,
-          headersMapper: Mappers.ContainerFilterBlobsHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerFilterBlobsExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.marker,
-        Parameters.maxPageSize,
-        Parameters.comp5,
-        Parameters.where,
-        Parameters.restype2
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var acquireLeaseOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.ContainerAcquireLeaseHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerAcquireLeaseExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.restype2,
-        Parameters.comp10
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.action,
-        Parameters.duration,
-        Parameters.proposedLeaseId
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+       * Read a `float` field, 32-bit floating point number.
+       */
+      float() {
+        return this.view.getFloat32((this.pos += 4) - 4, true);
+      }
+      /**
+       * Read a `double` field, a 64-bit floating point number.
+       */
+      double() {
+        return this.view.getFloat64((this.pos += 8) - 8, true);
+      }
+      /**
+       * Read a `bytes` field, length-delimited arbitrary data.
+       */
+      bytes() {
+        let len = this.uint32();
+        let start = this.pos;
+        this.pos += len;
+        this.assertBounds();
+        return this.buf.subarray(start, start + len);
+      }
+      /**
+       * Read a `string` field, length-delimited data converted to UTF-8 text.
+       */
+      string() {
+        return this.textDecoder.decode(this.bytes());
+      }
     };
-    var releaseLeaseOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.ContainerReleaseLeaseHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerReleaseLeaseExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.restype2,
-        Parameters.comp10
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.action1,
-        Parameters.leaseId1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+    exports2.BinaryReader = BinaryReader;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/assert.js
+var require_assert = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/assert.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.assertFloat32 = exports2.assertUInt32 = exports2.assertInt32 = exports2.assertNever = exports2.assert = void 0;
+    function assert(condition, msg) {
+      if (!condition) {
+        throw new Error(msg);
+      }
+    }
+    exports2.assert = assert;
+    function assertNever2(value, msg) {
+      throw new Error(msg !== null && msg !== void 0 ? msg : "Unexpected object: " + value);
+    }
+    exports2.assertNever = assertNever2;
+    var FLOAT32_MAX = 34028234663852886e22;
+    var FLOAT32_MIN = -34028234663852886e22;
+    var UINT32_MAX = 4294967295;
+    var INT32_MAX = 2147483647;
+    var INT32_MIN = -2147483648;
+    function assertInt32(arg) {
+      if (typeof arg !== "number")
+        throw new Error("invalid int 32: " + typeof arg);
+      if (!Number.isInteger(arg) || arg > INT32_MAX || arg < INT32_MIN)
+        throw new Error("invalid int 32: " + arg);
+    }
+    exports2.assertInt32 = assertInt32;
+    function assertUInt32(arg) {
+      if (typeof arg !== "number")
+        throw new Error("invalid uint 32: " + typeof arg);
+      if (!Number.isInteger(arg) || arg > UINT32_MAX || arg < 0)
+        throw new Error("invalid uint 32: " + arg);
+    }
+    exports2.assertUInt32 = assertUInt32;
+    function assertFloat32(arg) {
+      if (typeof arg !== "number")
+        throw new Error("invalid float 32: " + typeof arg);
+      if (!Number.isFinite(arg))
+        return;
+      if (arg > FLOAT32_MAX || arg < FLOAT32_MIN)
+        throw new Error("invalid float 32: " + arg);
+    }
+    exports2.assertFloat32 = assertFloat32;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/binary-writer.js
+var require_binary_writer = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/binary-writer.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BinaryWriter = exports2.binaryWriteOptions = void 0;
+    var pb_long_1 = require_pb_long();
+    var goog_varint_1 = require_goog_varint();
+    var assert_1 = require_assert();
+    var defaultsWrite = {
+      writeUnknownFields: true,
+      writerFactory: () => new BinaryWriter()
     };
-    var renewLeaseOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.ContainerRenewLeaseHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerRenewLeaseExceptionHeaders
+    function binaryWriteOptions(options) {
+      return options ? Object.assign(Object.assign({}, defaultsWrite), options) : defaultsWrite;
+    }
+    exports2.binaryWriteOptions = binaryWriteOptions;
+    var BinaryWriter = class {
+      constructor(textEncoder) {
+        this.stack = [];
+        this.textEncoder = textEncoder !== null && textEncoder !== void 0 ? textEncoder : new TextEncoder();
+        this.chunks = [];
+        this.buf = [];
+      }
+      /**
+       * Return all bytes written and reset this writer.
+       */
+      finish() {
+        this.chunks.push(new Uint8Array(this.buf));
+        let len = 0;
+        for (let i = 0; i < this.chunks.length; i++)
+          len += this.chunks[i].length;
+        let bytes = new Uint8Array(len);
+        let offset = 0;
+        for (let i = 0; i < this.chunks.length; i++) {
+          bytes.set(this.chunks[i], offset);
+          offset += this.chunks[i].length;
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.restype2,
-        Parameters.comp10
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.leaseId1,
-        Parameters.action2
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var breakLeaseOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "PUT",
-      responses: {
-        202: {
-          headersMapper: Mappers.ContainerBreakLeaseHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerBreakLeaseExceptionHeaders
+        this.chunks = [];
+        return bytes;
+      }
+      /**
+       * Start a new fork for length-delimited data like a message
+       * or a packed repeated field.
+       *
+       * Must be joined later with `join()`.
+       */
+      fork() {
+        this.stack.push({ chunks: this.chunks, buf: this.buf });
+        this.chunks = [];
+        this.buf = [];
+        return this;
+      }
+      /**
+       * Join the last fork. Write its length and bytes, then
+       * return to the previous state.
+       */
+      join() {
+        let chunk = this.finish();
+        let prev = this.stack.pop();
+        if (!prev)
+          throw new Error("invalid state, fork stack empty");
+        this.chunks = prev.chunks;
+        this.buf = prev.buf;
+        this.uint32(chunk.byteLength);
+        return this.raw(chunk);
+      }
+      /**
+       * Writes a tag (field number and wire type).
+       *
+       * Equivalent to `uint32( (fieldNo << 3 | type) >>> 0 )`.
+       *
+       * Generated code should compute the tag ahead of time and call `uint32()`.
+       */
+      tag(fieldNo, type2) {
+        return this.uint32((fieldNo << 3 | type2) >>> 0);
+      }
+      /**
+       * Write a chunk of raw bytes.
+       */
+      raw(chunk) {
+        if (this.buf.length) {
+          this.chunks.push(new Uint8Array(this.buf));
+          this.buf = [];
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.restype2,
-        Parameters.comp10
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.action3,
-        Parameters.breakPeriod
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var changeLeaseOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.ContainerChangeLeaseHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerChangeLeaseExceptionHeaders
+        this.chunks.push(chunk);
+        return this;
+      }
+      /**
+       * Write a `uint32` value, an unsigned 32 bit varint.
+       */
+      uint32(value) {
+        assert_1.assertUInt32(value);
+        while (value > 127) {
+          this.buf.push(value & 127 | 128);
+          value = value >>> 7;
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.restype2,
-        Parameters.comp10
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.leaseId1,
-        Parameters.action4,
-        Parameters.proposedLeaseId1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+        this.buf.push(value);
+        return this;
+      }
+      /**
+       * Write a `int32` value, a signed 32 bit varint.
+       */
+      int32(value) {
+        assert_1.assertInt32(value);
+        goog_varint_1.varint32write(value, this.buf);
+        return this;
+      }
+      /**
+       * Write a `bool` value, a variant.
+       */
+      bool(value) {
+        this.buf.push(value ? 1 : 0);
+        return this;
+      }
+      /**
+       * Write a `bytes` value, length-delimited arbitrary data.
+       */
+      bytes(value) {
+        this.uint32(value.byteLength);
+        return this.raw(value);
+      }
+      /**
+       * Write a `string` value, length-delimited data converted to UTF-8 text.
+       */
+      string(value) {
+        let chunk = this.textEncoder.encode(value);
+        this.uint32(chunk.byteLength);
+        return this.raw(chunk);
+      }
+      /**
+       * Write a `float` value, 32-bit floating point number.
+       */
+      float(value) {
+        assert_1.assertFloat32(value);
+        let chunk = new Uint8Array(4);
+        new DataView(chunk.buffer).setFloat32(0, value, true);
+        return this.raw(chunk);
+      }
+      /**
+       * Write a `double` value, a 64-bit floating point number.
+       */
+      double(value) {
+        let chunk = new Uint8Array(8);
+        new DataView(chunk.buffer).setFloat64(0, value, true);
+        return this.raw(chunk);
+      }
+      /**
+       * Write a `fixed32` value, an unsigned, fixed-length 32-bit integer.
+       */
+      fixed32(value) {
+        assert_1.assertUInt32(value);
+        let chunk = new Uint8Array(4);
+        new DataView(chunk.buffer).setUint32(0, value, true);
+        return this.raw(chunk);
+      }
+      /**
+       * Write a `sfixed32` value, a signed, fixed-length 32-bit integer.
+       */
+      sfixed32(value) {
+        assert_1.assertInt32(value);
+        let chunk = new Uint8Array(4);
+        new DataView(chunk.buffer).setInt32(0, value, true);
+        return this.raw(chunk);
+      }
+      /**
+       * Write a `sint32` value, a signed, zigzag-encoded 32-bit varint.
+       */
+      sint32(value) {
+        assert_1.assertInt32(value);
+        value = (value << 1 ^ value >> 31) >>> 0;
+        goog_varint_1.varint32write(value, this.buf);
+        return this;
+      }
+      /**
+       * Write a `fixed64` value, a signed, fixed-length 64-bit integer.
+       */
+      sfixed64(value) {
+        let chunk = new Uint8Array(8);
+        let view = new DataView(chunk.buffer);
+        let long = pb_long_1.PbLong.from(value);
+        view.setInt32(0, long.lo, true);
+        view.setInt32(4, long.hi, true);
+        return this.raw(chunk);
+      }
+      /**
+       * Write a `fixed64` value, an unsigned, fixed-length 64 bit integer.
+       */
+      fixed64(value) {
+        let chunk = new Uint8Array(8);
+        let view = new DataView(chunk.buffer);
+        let long = pb_long_1.PbULong.from(value);
+        view.setInt32(0, long.lo, true);
+        view.setInt32(4, long.hi, true);
+        return this.raw(chunk);
+      }
+      /**
+       * Write a `int64` value, a signed 64-bit varint.
+       */
+      int64(value) {
+        let long = pb_long_1.PbLong.from(value);
+        goog_varint_1.varint64write(long.lo, long.hi, this.buf);
+        return this;
+      }
+      /**
+       * Write a `sint64` value, a signed, zig-zag-encoded 64-bit varint.
+       */
+      sint64(value) {
+        let long = pb_long_1.PbLong.from(value), sign = long.hi >> 31, lo = long.lo << 1 ^ sign, hi = (long.hi << 1 | long.lo >>> 31) ^ sign;
+        goog_varint_1.varint64write(lo, hi, this.buf);
+        return this;
+      }
+      /**
+       * Write a `uint64` value, an unsigned 64-bit varint.
+       */
+      uint64(value) {
+        let long = pb_long_1.PbULong.from(value);
+        goog_varint_1.varint64write(long.lo, long.hi, this.buf);
+        return this;
+      }
     };
-    var listBlobFlatSegmentOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.ListBlobsFlatSegmentResponse,
-          headersMapper: Mappers.ContainerListBlobFlatSegmentHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerListBlobFlatSegmentExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.comp2,
-        Parameters.prefix,
-        Parameters.marker,
-        Parameters.maxPageSize,
-        Parameters.restype2,
-        Parameters.include1
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+    exports2.BinaryWriter = BinaryWriter;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/json-format-contract.js
+var require_json_format_contract = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/json-format-contract.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.mergeJsonOptions = exports2.jsonWriteOptions = exports2.jsonReadOptions = void 0;
+    var defaultsWrite = {
+      emitDefaultValues: false,
+      enumAsInteger: false,
+      useProtoFieldName: false,
+      prettySpaces: 0
     };
-    var listBlobHierarchySegmentOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.ListBlobsHierarchySegmentResponse,
-          headersMapper: Mappers.ContainerListBlobHierarchySegmentHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerListBlobHierarchySegmentExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.comp2,
-        Parameters.prefix,
-        Parameters.marker,
-        Parameters.maxPageSize,
-        Parameters.restype2,
-        Parameters.include1,
-        Parameters.delimiter
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+    var defaultsRead = {
+      ignoreUnknownFields: false
     };
-    var getAccountInfoOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          headersMapper: Mappers.ContainerGetAccountInfoHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerGetAccountInfoExceptionHeaders
+    function jsonReadOptions(options) {
+      return options ? Object.assign(Object.assign({}, defaultsRead), options) : defaultsRead;
+    }
+    exports2.jsonReadOptions = jsonReadOptions;
+    function jsonWriteOptions(options) {
+      return options ? Object.assign(Object.assign({}, defaultsWrite), options) : defaultsWrite;
+    }
+    exports2.jsonWriteOptions = jsonWriteOptions;
+    function mergeJsonOptions(a, b) {
+      var _a, _b;
+      let c = Object.assign(Object.assign({}, a), b);
+      c.typeRegistry = [...(_a = a === null || a === void 0 ? void 0 : a.typeRegistry) !== null && _a !== void 0 ? _a : [], ...(_b = b === null || b === void 0 ? void 0 : b.typeRegistry) !== null && _b !== void 0 ? _b : []];
+      return c;
+    }
+    exports2.mergeJsonOptions = mergeJsonOptions;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/message-type-contract.js
+var require_message_type_contract = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/message-type-contract.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.MESSAGE_TYPE = void 0;
+    exports2.MESSAGE_TYPE = /* @__PURE__ */ Symbol.for("protobuf-ts/message-type");
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/lower-camel-case.js
+var require_lower_camel_case = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/lower-camel-case.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.lowerCamelCase = void 0;
+    function lowerCamelCase(snakeCase) {
+      let capNext = false;
+      const sb = [];
+      for (let i = 0; i < snakeCase.length; i++) {
+        let next = snakeCase.charAt(i);
+        if (next == "_") {
+          capNext = true;
+        } else if (/\d/.test(next)) {
+          sb.push(next);
+          capNext = true;
+        } else if (capNext) {
+          sb.push(next.toUpperCase());
+          capNext = false;
+        } else if (i == 0) {
+          sb.push(next.toLowerCase());
+        } else {
+          sb.push(next);
         }
-      },
-      queryParameters: [
-        Parameters.comp,
-        Parameters.timeoutInSeconds,
-        Parameters.restype1
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
+      }
+      return sb.join("");
+    }
+    exports2.lowerCamelCase = lowerCamelCase;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blob.js
-var require_blob = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blob.js"(exports2) {
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-info.js
+var require_reflection_info = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-info.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobImpl = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var coreClient = tslib_1.__importStar(require_commonjs8());
-    var Mappers = tslib_1.__importStar(require_mappers());
-    var Parameters = tslib_1.__importStar(require_parameters());
-    var BlobImpl = class {
-      client;
-      /**
-       * Initialize a new instance of the class Blob class.
-       * @param client Reference to the service client
-       */
-      constructor(client) {
-        this.client = client;
+    exports2.readMessageOption = exports2.readFieldOption = exports2.readFieldOptions = exports2.normalizeFieldInfo = exports2.RepeatType = exports2.LongType = exports2.ScalarType = void 0;
+    var lower_camel_case_1 = require_lower_camel_case();
+    var ScalarType;
+    (function(ScalarType2) {
+      ScalarType2[ScalarType2["DOUBLE"] = 1] = "DOUBLE";
+      ScalarType2[ScalarType2["FLOAT"] = 2] = "FLOAT";
+      ScalarType2[ScalarType2["INT64"] = 3] = "INT64";
+      ScalarType2[ScalarType2["UINT64"] = 4] = "UINT64";
+      ScalarType2[ScalarType2["INT32"] = 5] = "INT32";
+      ScalarType2[ScalarType2["FIXED64"] = 6] = "FIXED64";
+      ScalarType2[ScalarType2["FIXED32"] = 7] = "FIXED32";
+      ScalarType2[ScalarType2["BOOL"] = 8] = "BOOL";
+      ScalarType2[ScalarType2["STRING"] = 9] = "STRING";
+      ScalarType2[ScalarType2["BYTES"] = 12] = "BYTES";
+      ScalarType2[ScalarType2["UINT32"] = 13] = "UINT32";
+      ScalarType2[ScalarType2["SFIXED32"] = 15] = "SFIXED32";
+      ScalarType2[ScalarType2["SFIXED64"] = 16] = "SFIXED64";
+      ScalarType2[ScalarType2["SINT32"] = 17] = "SINT32";
+      ScalarType2[ScalarType2["SINT64"] = 18] = "SINT64";
+    })(ScalarType = exports2.ScalarType || (exports2.ScalarType = {}));
+    var LongType;
+    (function(LongType2) {
+      LongType2[LongType2["BIGINT"] = 0] = "BIGINT";
+      LongType2[LongType2["STRING"] = 1] = "STRING";
+      LongType2[LongType2["NUMBER"] = 2] = "NUMBER";
+    })(LongType = exports2.LongType || (exports2.LongType = {}));
+    var RepeatType;
+    (function(RepeatType2) {
+      RepeatType2[RepeatType2["NO"] = 0] = "NO";
+      RepeatType2[RepeatType2["PACKED"] = 1] = "PACKED";
+      RepeatType2[RepeatType2["UNPACKED"] = 2] = "UNPACKED";
+    })(RepeatType = exports2.RepeatType || (exports2.RepeatType = {}));
+    function normalizeFieldInfo(field) {
+      var _a, _b, _c, _d;
+      field.localName = (_a = field.localName) !== null && _a !== void 0 ? _a : lower_camel_case_1.lowerCamelCase(field.name);
+      field.jsonName = (_b = field.jsonName) !== null && _b !== void 0 ? _b : lower_camel_case_1.lowerCamelCase(field.name);
+      field.repeat = (_c = field.repeat) !== null && _c !== void 0 ? _c : RepeatType.NO;
+      field.opt = (_d = field.opt) !== null && _d !== void 0 ? _d : field.repeat ? false : field.oneof ? false : field.kind == "message";
+      return field;
+    }
+    exports2.normalizeFieldInfo = normalizeFieldInfo;
+    function readFieldOptions(messageType, fieldName, extensionName, extensionType) {
+      var _a;
+      const options = (_a = messageType.fields.find((m, i) => m.localName == fieldName || i == fieldName)) === null || _a === void 0 ? void 0 : _a.options;
+      return options && options[extensionName] ? extensionType.fromJson(options[extensionName]) : void 0;
+    }
+    exports2.readFieldOptions = readFieldOptions;
+    function readFieldOption(messageType, fieldName, extensionName, extensionType) {
+      var _a;
+      const options = (_a = messageType.fields.find((m, i) => m.localName == fieldName || i == fieldName)) === null || _a === void 0 ? void 0 : _a.options;
+      if (!options) {
+        return void 0;
       }
-      /**
-       * The Download operation reads or downloads a blob from the system, including its metadata and
-       * properties. You can also call Download to read a snapshot.
-       * @param options The options parameters.
-       */
-      download(options) {
-        return this.client.sendOperationRequest({ options }, downloadOperationSpec);
+      const optionVal = options[extensionName];
+      if (optionVal === void 0) {
+        return optionVal;
       }
-      /**
-       * The Get Properties operation returns all user-defined metadata, standard HTTP properties, and system
-       * properties for the blob. It does not return the content of the blob.
-       * @param options The options parameters.
-       */
-      getProperties(options) {
-        return this.client.sendOperationRequest({ options }, getPropertiesOperationSpec);
+      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
+    }
+    exports2.readFieldOption = readFieldOption;
+    function readMessageOption(messageType, extensionName, extensionType) {
+      const options = messageType.options;
+      const optionVal = options[extensionName];
+      if (optionVal === void 0) {
+        return optionVal;
       }
-      /**
-       * If the storage account's soft delete feature is disabled then, when a blob is deleted, it is
-       * permanently removed from the storage account. If the storage account's soft delete feature is
-       * enabled, then, when a blob is deleted, it is marked for deletion and becomes inaccessible
-       * immediately. However, the blob service retains the blob or snapshot for the number of days specified
-       * by the DeleteRetentionPolicy section of [Storage service properties]
-       * (Set-Blob-Service-Properties.md). After the specified number of days has passed, the blob's data is
-       * permanently removed from the storage account. Note that you continue to be charged for the
-       * soft-deleted blob's storage until it is permanently removed. Use the List Blobs API and specify the
-       * "include=deleted" query parameter to discover which blobs and snapshots have been soft deleted. You
-       * can then use the Undelete Blob API to restore a soft-deleted blob. All other operations on a
-       * soft-deleted blob or snapshot causes the service to return an HTTP status code of 404
-       * (ResourceNotFound).
-       * @param options The options parameters.
-       */
-      delete(options) {
-        return this.client.sendOperationRequest({ options }, deleteOperationSpec);
+      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
+    }
+    exports2.readMessageOption = readMessageOption;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/oneof.js
+var require_oneof = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/oneof.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getSelectedOneofValue = exports2.clearOneofValue = exports2.setUnknownOneofValue = exports2.setOneofValue = exports2.getOneofValue = exports2.isOneofGroup = void 0;
+    function isOneofGroup(any) {
+      if (typeof any != "object" || any === null || !any.hasOwnProperty("oneofKind")) {
+        return false;
       }
-      /**
-       * Undelete a blob that was previously soft deleted
-       * @param options The options parameters.
-       */
-      undelete(options) {
-        return this.client.sendOperationRequest({ options }, undeleteOperationSpec);
+      switch (typeof any.oneofKind) {
+        case "string":
+          if (any[any.oneofKind] === void 0)
+            return false;
+          return Object.keys(any).length == 2;
+        case "undefined":
+          return Object.keys(any).length == 1;
+        default:
+          return false;
       }
-      /**
-       * Sets the time a blob will expire and be deleted.
-       * @param expiryOptions Required. Indicates mode of the expiry time
-       * @param options The options parameters.
-       */
-      setExpiry(expiryOptions, options) {
-        return this.client.sendOperationRequest({ expiryOptions, options }, setExpiryOperationSpec);
+    }
+    exports2.isOneofGroup = isOneofGroup;
+    function getOneofValue(oneof, kind) {
+      return oneof[kind];
+    }
+    exports2.getOneofValue = getOneofValue;
+    function setOneofValue(oneof, kind, value) {
+      if (oneof.oneofKind !== void 0) {
+        delete oneof[oneof.oneofKind];
       }
-      /**
-       * The Set HTTP Headers operation sets system properties on the blob
-       * @param options The options parameters.
-       */
-      setHttpHeaders(options) {
-        return this.client.sendOperationRequest({ options }, setHttpHeadersOperationSpec);
+      oneof.oneofKind = kind;
+      if (value !== void 0) {
+        oneof[kind] = value;
       }
-      /**
-       * The Set Immutability Policy operation sets the immutability policy on the blob
-       * @param options The options parameters.
-       */
-      setImmutabilityPolicy(options) {
-        return this.client.sendOperationRequest({ options }, setImmutabilityPolicyOperationSpec);
+    }
+    exports2.setOneofValue = setOneofValue;
+    function setUnknownOneofValue(oneof, kind, value) {
+      if (oneof.oneofKind !== void 0) {
+        delete oneof[oneof.oneofKind];
+      }
+      oneof.oneofKind = kind;
+      if (value !== void 0 && kind !== void 0) {
+        oneof[kind] = value;
+      }
+    }
+    exports2.setUnknownOneofValue = setUnknownOneofValue;
+    function clearOneofValue(oneof) {
+      if (oneof.oneofKind !== void 0) {
+        delete oneof[oneof.oneofKind];
+      }
+      oneof.oneofKind = void 0;
+    }
+    exports2.clearOneofValue = clearOneofValue;
+    function getSelectedOneofValue(oneof) {
+      if (oneof.oneofKind === void 0) {
+        return void 0;
+      }
+      return oneof[oneof.oneofKind];
+    }
+    exports2.getSelectedOneofValue = getSelectedOneofValue;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-type-check.js
+var require_reflection_type_check = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-type-check.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ReflectionTypeCheck = void 0;
+    var reflection_info_1 = require_reflection_info();
+    var oneof_1 = require_oneof();
+    var ReflectionTypeCheck = class {
+      constructor(info7) {
+        var _a;
+        this.fields = (_a = info7.fields) !== null && _a !== void 0 ? _a : [];
+      }
+      prepare() {
+        if (this.data)
+          return;
+        const req = [], known = [], oneofs = [];
+        for (let field of this.fields) {
+          if (field.oneof) {
+            if (!oneofs.includes(field.oneof)) {
+              oneofs.push(field.oneof);
+              req.push(field.oneof);
+              known.push(field.oneof);
+            }
+          } else {
+            known.push(field.localName);
+            switch (field.kind) {
+              case "scalar":
+              case "enum":
+                if (!field.opt || field.repeat)
+                  req.push(field.localName);
+                break;
+              case "message":
+                if (field.repeat)
+                  req.push(field.localName);
+                break;
+              case "map":
+                req.push(field.localName);
+                break;
+            }
+          }
+        }
+        this.data = { req, known, oneofs: Object.values(oneofs) };
       }
       /**
-       * The Delete Immutability Policy operation deletes the immutability policy on the blob
-       * @param options The options parameters.
+       * Is the argument a valid message as specified by the
+       * reflection information?
+       *
+       * Checks all field types recursively. The `depth`
+       * specifies how deep into the structure the check will be.
+       *
+       * With a depth of 0, only the presence of fields
+       * is checked.
+       *
+       * With a depth of 1 or more, the field types are checked.
+       *
+       * With a depth of 2 or more, the members of map, repeated
+       * and message fields are checked.
+       *
+       * Message fields will be checked recursively with depth - 1.
+       *
+       * The number of map entries / repeated values being checked
+       * is < depth.
        */
-      deleteImmutabilityPolicy(options) {
-        return this.client.sendOperationRequest({ options }, deleteImmutabilityPolicyOperationSpec);
+      is(message, depth, allowExcessProperties = false) {
+        if (depth < 0)
+          return true;
+        if (message === null || message === void 0 || typeof message != "object")
+          return false;
+        this.prepare();
+        let keys = Object.keys(message), data = this.data;
+        if (keys.length < data.req.length || data.req.some((n) => !keys.includes(n)))
+          return false;
+        if (!allowExcessProperties) {
+          if (keys.some((k) => !data.known.includes(k)))
+            return false;
+        }
+        if (depth < 1) {
+          return true;
+        }
+        for (const name of data.oneofs) {
+          const group = message[name];
+          if (!oneof_1.isOneofGroup(group))
+            return false;
+          if (group.oneofKind === void 0)
+            continue;
+          const field = this.fields.find((f) => f.localName === group.oneofKind);
+          if (!field)
+            return false;
+          if (!this.field(group[group.oneofKind], field, allowExcessProperties, depth))
+            return false;
+        }
+        for (const field of this.fields) {
+          if (field.oneof !== void 0)
+            continue;
+          if (!this.field(message[field.localName], field, allowExcessProperties, depth))
+            return false;
+        }
+        return true;
+      }
+      field(arg, field, allowExcessProperties, depth) {
+        let repeated = field.repeat;
+        switch (field.kind) {
+          case "scalar":
+            if (arg === void 0)
+              return field.opt;
+            if (repeated)
+              return this.scalars(arg, field.T, depth, field.L);
+            return this.scalar(arg, field.T, field.L);
+          case "enum":
+            if (arg === void 0)
+              return field.opt;
+            if (repeated)
+              return this.scalars(arg, reflection_info_1.ScalarType.INT32, depth);
+            return this.scalar(arg, reflection_info_1.ScalarType.INT32);
+          case "message":
+            if (arg === void 0)
+              return true;
+            if (repeated)
+              return this.messages(arg, field.T(), allowExcessProperties, depth);
+            return this.message(arg, field.T(), allowExcessProperties, depth);
+          case "map":
+            if (typeof arg != "object" || arg === null)
+              return false;
+            if (depth < 2)
+              return true;
+            if (!this.mapKeys(arg, field.K, depth))
+              return false;
+            switch (field.V.kind) {
+              case "scalar":
+                return this.scalars(Object.values(arg), field.V.T, depth, field.V.L);
+              case "enum":
+                return this.scalars(Object.values(arg), reflection_info_1.ScalarType.INT32, depth);
+              case "message":
+                return this.messages(Object.values(arg), field.V.T(), allowExcessProperties, depth);
+            }
+            break;
+        }
+        return true;
+      }
+      message(arg, type2, allowExcessProperties, depth) {
+        if (allowExcessProperties) {
+          return type2.isAssignable(arg, depth);
+        }
+        return type2.is(arg, depth);
+      }
+      messages(arg, type2, allowExcessProperties, depth) {
+        if (!Array.isArray(arg))
+          return false;
+        if (depth < 2)
+          return true;
+        if (allowExcessProperties) {
+          for (let i = 0; i < arg.length && i < depth; i++)
+            if (!type2.isAssignable(arg[i], depth - 1))
+              return false;
+        } else {
+          for (let i = 0; i < arg.length && i < depth; i++)
+            if (!type2.is(arg[i], depth - 1))
+              return false;
+        }
+        return true;
+      }
+      scalar(arg, type2, longType) {
+        let argType = typeof arg;
+        switch (type2) {
+          case reflection_info_1.ScalarType.UINT64:
+          case reflection_info_1.ScalarType.FIXED64:
+          case reflection_info_1.ScalarType.INT64:
+          case reflection_info_1.ScalarType.SFIXED64:
+          case reflection_info_1.ScalarType.SINT64:
+            switch (longType) {
+              case reflection_info_1.LongType.BIGINT:
+                return argType == "bigint";
+              case reflection_info_1.LongType.NUMBER:
+                return argType == "number" && !isNaN(arg);
+              default:
+                return argType == "string";
+            }
+          case reflection_info_1.ScalarType.BOOL:
+            return argType == "boolean";
+          case reflection_info_1.ScalarType.STRING:
+            return argType == "string";
+          case reflection_info_1.ScalarType.BYTES:
+            return arg instanceof Uint8Array;
+          case reflection_info_1.ScalarType.DOUBLE:
+          case reflection_info_1.ScalarType.FLOAT:
+            return argType == "number" && !isNaN(arg);
+          default:
+            return argType == "number" && Number.isInteger(arg);
+        }
+      }
+      scalars(arg, type2, depth, longType) {
+        if (!Array.isArray(arg))
+          return false;
+        if (depth < 2)
+          return true;
+        if (Array.isArray(arg)) {
+          for (let i = 0; i < arg.length && i < depth; i++)
+            if (!this.scalar(arg[i], type2, longType))
+              return false;
+        }
+        return true;
+      }
+      mapKeys(map2, type2, depth) {
+        let keys = Object.keys(map2);
+        switch (type2) {
+          case reflection_info_1.ScalarType.INT32:
+          case reflection_info_1.ScalarType.FIXED32:
+          case reflection_info_1.ScalarType.SFIXED32:
+          case reflection_info_1.ScalarType.SINT32:
+          case reflection_info_1.ScalarType.UINT32:
+            return this.scalars(keys.slice(0, depth).map((k) => parseInt(k)), type2, depth);
+          case reflection_info_1.ScalarType.BOOL:
+            return this.scalars(keys.slice(0, depth).map((k) => k == "true" ? true : k == "false" ? false : k), type2, depth);
+          default:
+            return this.scalars(keys, type2, depth, reflection_info_1.LongType.STRING);
+        }
+      }
+    };
+    exports2.ReflectionTypeCheck = ReflectionTypeCheck;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-long-convert.js
+var require_reflection_long_convert = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-long-convert.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.reflectionLongConvert = void 0;
+    var reflection_info_1 = require_reflection_info();
+    function reflectionLongConvert(long, type2) {
+      switch (type2) {
+        case reflection_info_1.LongType.BIGINT:
+          return long.toBigInt();
+        case reflection_info_1.LongType.NUMBER:
+          return long.toNumber();
+        default:
+          return long.toString();
+      }
+    }
+    exports2.reflectionLongConvert = reflectionLongConvert;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-reader.js
+var require_reflection_json_reader = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-reader.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ReflectionJsonReader = void 0;
+    var json_typings_1 = require_json_typings();
+    var base64_1 = require_base642();
+    var reflection_info_1 = require_reflection_info();
+    var pb_long_1 = require_pb_long();
+    var assert_1 = require_assert();
+    var reflection_long_convert_1 = require_reflection_long_convert();
+    var ReflectionJsonReader = class {
+      constructor(info7) {
+        this.info = info7;
       }
-      /**
-       * The Set Legal Hold operation sets a legal hold on the blob.
-       * @param legalHold Specified if a legal hold should be set on the blob.
-       * @param options The options parameters.
-       */
-      setLegalHold(legalHold, options) {
-        return this.client.sendOperationRequest({ legalHold, options }, setLegalHoldOperationSpec);
+      prepare() {
+        var _a;
+        if (this.fMap === void 0) {
+          this.fMap = {};
+          const fieldsInput = (_a = this.info.fields) !== null && _a !== void 0 ? _a : [];
+          for (const field of fieldsInput) {
+            this.fMap[field.name] = field;
+            this.fMap[field.jsonName] = field;
+            this.fMap[field.localName] = field;
+          }
+        }
       }
-      /**
-       * The Set Blob Metadata operation sets user-defined metadata for the specified blob as one or more
-       * name-value pairs
-       * @param options The options parameters.
-       */
-      setMetadata(options) {
-        return this.client.sendOperationRequest({ options }, setMetadataOperationSpec);
+      // Cannot parse JSON  for #.
+      assert(condition, fieldName, jsonValue) {
+        if (!condition) {
+          let what = json_typings_1.typeofJsonValue(jsonValue);
+          if (what == "number" || what == "boolean")
+            what = jsonValue.toString();
+          throw new Error(`Cannot parse JSON ${what} for ${this.info.typeName}#${fieldName}`);
+        }
       }
       /**
-       * [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
-       * operations
-       * @param options The options parameters.
+       * Reads a message from canonical JSON format into the target message.
+       *
+       * Repeated fields are appended. Map entries are added, overwriting
+       * existing keys.
+       *
+       * If a message field is already present, it will be merged with the
+       * new data.
        */
-      acquireLease(options) {
-        return this.client.sendOperationRequest({ options }, acquireLeaseOperationSpec);
+      read(input, message, options) {
+        this.prepare();
+        const oneofsHandled = [];
+        for (const [jsonKey, jsonValue] of Object.entries(input)) {
+          const field = this.fMap[jsonKey];
+          if (!field) {
+            if (!options.ignoreUnknownFields)
+              throw new Error(`Found unknown field while reading ${this.info.typeName} from JSON format. JSON key: ${jsonKey}`);
+            continue;
+          }
+          const localName = field.localName;
+          let target;
+          if (field.oneof) {
+            if (jsonValue === null && (field.kind !== "enum" || field.T()[0] !== "google.protobuf.NullValue")) {
+              continue;
+            }
+            if (oneofsHandled.includes(field.oneof))
+              throw new Error(`Multiple members of the oneof group "${field.oneof}" of ${this.info.typeName} are present in JSON.`);
+            oneofsHandled.push(field.oneof);
+            target = message[field.oneof] = {
+              oneofKind: localName
+            };
+          } else {
+            target = message;
+          }
+          if (field.kind == "map") {
+            if (jsonValue === null) {
+              continue;
+            }
+            this.assert(json_typings_1.isJsonObject(jsonValue), field.name, jsonValue);
+            const fieldObj = target[localName];
+            for (const [jsonObjKey, jsonObjValue] of Object.entries(jsonValue)) {
+              this.assert(jsonObjValue !== null, field.name + " map value", null);
+              let val;
+              switch (field.V.kind) {
+                case "message":
+                  val = field.V.T().internalJsonRead(jsonObjValue, options);
+                  break;
+                case "enum":
+                  val = this.enum(field.V.T(), jsonObjValue, field.name, options.ignoreUnknownFields);
+                  if (val === false)
+                    continue;
+                  break;
+                case "scalar":
+                  val = this.scalar(jsonObjValue, field.V.T, field.V.L, field.name);
+                  break;
+              }
+              this.assert(val !== void 0, field.name + " map value", jsonObjValue);
+              let key = jsonObjKey;
+              if (field.K == reflection_info_1.ScalarType.BOOL)
+                key = key == "true" ? true : key == "false" ? false : key;
+              key = this.scalar(key, field.K, reflection_info_1.LongType.STRING, field.name).toString();
+              fieldObj[key] = val;
+            }
+          } else if (field.repeat) {
+            if (jsonValue === null)
+              continue;
+            this.assert(Array.isArray(jsonValue), field.name, jsonValue);
+            const fieldArr = target[localName];
+            for (const jsonItem of jsonValue) {
+              this.assert(jsonItem !== null, field.name, null);
+              let val;
+              switch (field.kind) {
+                case "message":
+                  val = field.T().internalJsonRead(jsonItem, options);
+                  break;
+                case "enum":
+                  val = this.enum(field.T(), jsonItem, field.name, options.ignoreUnknownFields);
+                  if (val === false)
+                    continue;
+                  break;
+                case "scalar":
+                  val = this.scalar(jsonItem, field.T, field.L, field.name);
+                  break;
+              }
+              this.assert(val !== void 0, field.name, jsonValue);
+              fieldArr.push(val);
+            }
+          } else {
+            switch (field.kind) {
+              case "message":
+                if (jsonValue === null && field.T().typeName != "google.protobuf.Value") {
+                  this.assert(field.oneof === void 0, field.name + " (oneof member)", null);
+                  continue;
+                }
+                target[localName] = field.T().internalJsonRead(jsonValue, options, target[localName]);
+                break;
+              case "enum":
+                if (jsonValue === null)
+                  continue;
+                let val = this.enum(field.T(), jsonValue, field.name, options.ignoreUnknownFields);
+                if (val === false)
+                  continue;
+                target[localName] = val;
+                break;
+              case "scalar":
+                if (jsonValue === null)
+                  continue;
+                target[localName] = this.scalar(jsonValue, field.T, field.L, field.name);
+                break;
+            }
+          }
+        }
       }
       /**
-       * [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
-       * operations
-       * @param leaseId Specifies the current lease ID on the resource.
-       * @param options The options parameters.
+       * Returns `false` for unrecognized string representations.
+       *
+       * google.protobuf.NullValue accepts only JSON `null` (or the old `"NULL_VALUE"`).
        */
-      releaseLease(leaseId, options) {
-        return this.client.sendOperationRequest({ leaseId, options }, releaseLeaseOperationSpec);
+      enum(type2, json2, fieldName, ignoreUnknownFields) {
+        if (type2[0] == "google.protobuf.NullValue")
+          assert_1.assert(json2 === null || json2 === "NULL_VALUE", `Unable to parse field ${this.info.typeName}#${fieldName}, enum ${type2[0]} only accepts null.`);
+        if (json2 === null)
+          return 0;
+        switch (typeof json2) {
+          case "number":
+            assert_1.assert(Number.isInteger(json2), `Unable to parse field ${this.info.typeName}#${fieldName}, enum can only be integral number, got ${json2}.`);
+            return json2;
+          case "string":
+            let localEnumName = json2;
+            if (type2[2] && json2.substring(0, type2[2].length) === type2[2])
+              localEnumName = json2.substring(type2[2].length);
+            let enumNumber = type2[1][localEnumName];
+            if (typeof enumNumber === "undefined" && ignoreUnknownFields) {
+              return false;
+            }
+            assert_1.assert(typeof enumNumber == "number", `Unable to parse field ${this.info.typeName}#${fieldName}, enum ${type2[0]} has no value for "${json2}".`);
+            return enumNumber;
+        }
+        assert_1.assert(false, `Unable to parse field ${this.info.typeName}#${fieldName}, cannot parse enum value from ${typeof json2}".`);
       }
-      /**
-       * [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
-       * operations
-       * @param leaseId Specifies the current lease ID on the resource.
-       * @param options The options parameters.
-       */
-      renewLease(leaseId, options) {
-        return this.client.sendOperationRequest({ leaseId, options }, renewLeaseOperationSpec);
+      scalar(json2, type2, longType, fieldName) {
+        let e;
+        try {
+          switch (type2) {
+            // float, double: JSON value will be a number or one of the special string values "NaN", "Infinity", and "-Infinity".
+            // Either numbers or strings are accepted. Exponent notation is also accepted.
+            case reflection_info_1.ScalarType.DOUBLE:
+            case reflection_info_1.ScalarType.FLOAT:
+              if (json2 === null)
+                return 0;
+              if (json2 === "NaN")
+                return Number.NaN;
+              if (json2 === "Infinity")
+                return Number.POSITIVE_INFINITY;
+              if (json2 === "-Infinity")
+                return Number.NEGATIVE_INFINITY;
+              if (json2 === "") {
+                e = "empty string";
+                break;
+              }
+              if (typeof json2 == "string" && json2.trim().length !== json2.length) {
+                e = "extra whitespace";
+                break;
+              }
+              if (typeof json2 != "string" && typeof json2 != "number") {
+                break;
+              }
+              let float2 = Number(json2);
+              if (Number.isNaN(float2)) {
+                e = "not a number";
+                break;
+              }
+              if (!Number.isFinite(float2)) {
+                e = "too large or small";
+                break;
+              }
+              if (type2 == reflection_info_1.ScalarType.FLOAT)
+                assert_1.assertFloat32(float2);
+              return float2;
+            // int32, fixed32, uint32: JSON value will be a decimal number. Either numbers or strings are accepted.
+            case reflection_info_1.ScalarType.INT32:
+            case reflection_info_1.ScalarType.FIXED32:
+            case reflection_info_1.ScalarType.SFIXED32:
+            case reflection_info_1.ScalarType.SINT32:
+            case reflection_info_1.ScalarType.UINT32:
+              if (json2 === null)
+                return 0;
+              let int32;
+              if (typeof json2 == "number")
+                int32 = json2;
+              else if (json2 === "")
+                e = "empty string";
+              else if (typeof json2 == "string") {
+                if (json2.trim().length !== json2.length)
+                  e = "extra whitespace";
+                else
+                  int32 = Number(json2);
+              }
+              if (int32 === void 0)
+                break;
+              if (type2 == reflection_info_1.ScalarType.UINT32)
+                assert_1.assertUInt32(int32);
+              else
+                assert_1.assertInt32(int32);
+              return int32;
+            // int64, fixed64, uint64: JSON value will be a decimal string. Either numbers or strings are accepted.
+            case reflection_info_1.ScalarType.INT64:
+            case reflection_info_1.ScalarType.SFIXED64:
+            case reflection_info_1.ScalarType.SINT64:
+              if (json2 === null)
+                return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.ZERO, longType);
+              if (typeof json2 != "number" && typeof json2 != "string")
+                break;
+              return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.from(json2), longType);
+            case reflection_info_1.ScalarType.FIXED64:
+            case reflection_info_1.ScalarType.UINT64:
+              if (json2 === null)
+                return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.ZERO, longType);
+              if (typeof json2 != "number" && typeof json2 != "string")
+                break;
+              return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.from(json2), longType);
+            // bool:
+            case reflection_info_1.ScalarType.BOOL:
+              if (json2 === null)
+                return false;
+              if (typeof json2 !== "boolean")
+                break;
+              return json2;
+            // string:
+            case reflection_info_1.ScalarType.STRING:
+              if (json2 === null)
+                return "";
+              if (typeof json2 !== "string") {
+                e = "extra whitespace";
+                break;
+              }
+              try {
+                encodeURIComponent(json2);
+              } catch (e2) {
+                e2 = "invalid UTF8";
+                break;
+              }
+              return json2;
+            // bytes: JSON value will be the data encoded as a string using standard base64 encoding with paddings.
+            // Either standard or URL-safe base64 encoding with/without paddings are accepted.
+            case reflection_info_1.ScalarType.BYTES:
+              if (json2 === null || json2 === "")
+                return new Uint8Array(0);
+              if (typeof json2 !== "string")
+                break;
+              return base64_1.base64decode(json2);
+          }
+        } catch (error3) {
+          e = error3.message;
+        }
+        this.assert(false, fieldName + (e ? " - " + e : ""), json2);
       }
-      /**
-       * [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
-       * operations
-       * @param leaseId Specifies the current lease ID on the resource.
-       * @param proposedLeaseId Proposed lease ID, in a GUID string format. The Blob service returns 400
-       *                        (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor
-       *                        (String) for a list of valid GUID string formats.
-       * @param options The options parameters.
-       */
-      changeLease(leaseId, proposedLeaseId, options) {
-        return this.client.sendOperationRequest({ leaseId, proposedLeaseId, options }, changeLeaseOperationSpec);
+    };
+    exports2.ReflectionJsonReader = ReflectionJsonReader;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-writer.js
+var require_reflection_json_writer = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-writer.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ReflectionJsonWriter = void 0;
+    var base64_1 = require_base642();
+    var pb_long_1 = require_pb_long();
+    var reflection_info_1 = require_reflection_info();
+    var assert_1 = require_assert();
+    var ReflectionJsonWriter = class {
+      constructor(info7) {
+        var _a;
+        this.fields = (_a = info7.fields) !== null && _a !== void 0 ? _a : [];
       }
       /**
-       * [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
-       * operations
-       * @param options The options parameters.
+       * Converts the message to a JSON object, based on the field descriptors.
        */
-      breakLease(options) {
-        return this.client.sendOperationRequest({ options }, breakLeaseOperationSpec);
+      write(message, options) {
+        const json2 = {}, source = message;
+        for (const field of this.fields) {
+          if (!field.oneof) {
+            let jsonValue2 = this.field(field, source[field.localName], options);
+            if (jsonValue2 !== void 0)
+              json2[options.useProtoFieldName ? field.name : field.jsonName] = jsonValue2;
+            continue;
+          }
+          const group = source[field.oneof];
+          if (group.oneofKind !== field.localName)
+            continue;
+          const opt = field.kind == "scalar" || field.kind == "enum" ? Object.assign(Object.assign({}, options), { emitDefaultValues: true }) : options;
+          let jsonValue = this.field(field, group[field.localName], opt);
+          assert_1.assert(jsonValue !== void 0);
+          json2[options.useProtoFieldName ? field.name : field.jsonName] = jsonValue;
+        }
+        return json2;
       }
-      /**
-       * The Create Snapshot operation creates a read-only snapshot of a blob
-       * @param options The options parameters.
-       */
-      createSnapshot(options) {
-        return this.client.sendOperationRequest({ options }, createSnapshotOperationSpec);
+      field(field, value, options) {
+        let jsonValue = void 0;
+        if (field.kind == "map") {
+          assert_1.assert(typeof value == "object" && value !== null);
+          const jsonObj = {};
+          switch (field.V.kind) {
+            case "scalar":
+              for (const [entryKey, entryValue] of Object.entries(value)) {
+                const val = this.scalar(field.V.T, entryValue, field.name, false, true);
+                assert_1.assert(val !== void 0);
+                jsonObj[entryKey.toString()] = val;
+              }
+              break;
+            case "message":
+              const messageType = field.V.T();
+              for (const [entryKey, entryValue] of Object.entries(value)) {
+                const val = this.message(messageType, entryValue, field.name, options);
+                assert_1.assert(val !== void 0);
+                jsonObj[entryKey.toString()] = val;
+              }
+              break;
+            case "enum":
+              const enumInfo = field.V.T();
+              for (const [entryKey, entryValue] of Object.entries(value)) {
+                assert_1.assert(entryValue === void 0 || typeof entryValue == "number");
+                const val = this.enum(enumInfo, entryValue, field.name, false, true, options.enumAsInteger);
+                assert_1.assert(val !== void 0);
+                jsonObj[entryKey.toString()] = val;
+              }
+              break;
+          }
+          if (options.emitDefaultValues || Object.keys(jsonObj).length > 0)
+            jsonValue = jsonObj;
+        } else if (field.repeat) {
+          assert_1.assert(Array.isArray(value));
+          const jsonArr = [];
+          switch (field.kind) {
+            case "scalar":
+              for (let i = 0; i < value.length; i++) {
+                const val = this.scalar(field.T, value[i], field.name, field.opt, true);
+                assert_1.assert(val !== void 0);
+                jsonArr.push(val);
+              }
+              break;
+            case "enum":
+              const enumInfo = field.T();
+              for (let i = 0; i < value.length; i++) {
+                assert_1.assert(value[i] === void 0 || typeof value[i] == "number");
+                const val = this.enum(enumInfo, value[i], field.name, field.opt, true, options.enumAsInteger);
+                assert_1.assert(val !== void 0);
+                jsonArr.push(val);
+              }
+              break;
+            case "message":
+              const messageType = field.T();
+              for (let i = 0; i < value.length; i++) {
+                const val = this.message(messageType, value[i], field.name, options);
+                assert_1.assert(val !== void 0);
+                jsonArr.push(val);
+              }
+              break;
+          }
+          if (options.emitDefaultValues || jsonArr.length > 0 || options.emitDefaultValues)
+            jsonValue = jsonArr;
+        } else {
+          switch (field.kind) {
+            case "scalar":
+              jsonValue = this.scalar(field.T, value, field.name, field.opt, options.emitDefaultValues);
+              break;
+            case "enum":
+              jsonValue = this.enum(field.T(), value, field.name, field.opt, options.emitDefaultValues, options.enumAsInteger);
+              break;
+            case "message":
+              jsonValue = this.message(field.T(), value, field.name, options);
+              break;
+          }
+        }
+        return jsonValue;
       }
       /**
-       * The Start Copy From URL operation copies a blob or an internet resource to a new blob.
-       * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to
-       *                   2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would
-       *                   appear in a request URI. The source blob must either be public or must be authenticated via a shared
-       *                   access signature.
-       * @param options The options parameters.
+       * Returns `null` as the default for google.protobuf.NullValue.
        */
-      startCopyFromURL(copySource, options) {
-        return this.client.sendOperationRequest({ copySource, options }, startCopyFromURLOperationSpec);
+      enum(type2, value, fieldName, optional, emitDefaultValues, enumAsInteger) {
+        if (type2[0] == "google.protobuf.NullValue")
+          return !emitDefaultValues && !optional ? void 0 : null;
+        if (value === void 0) {
+          assert_1.assert(optional);
+          return void 0;
+        }
+        if (value === 0 && !emitDefaultValues && !optional)
+          return void 0;
+        assert_1.assert(typeof value == "number");
+        assert_1.assert(Number.isInteger(value));
+        if (enumAsInteger || !type2[1].hasOwnProperty(value))
+          return value;
+        if (type2[2])
+          return type2[2] + type2[1][value];
+        return type2[1][value];
       }
-      /**
-       * The Copy From URL operation copies a blob or an internet resource to a new blob. It will not return
-       * a response until the copy is complete.
-       * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to
-       *                   2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would
-       *                   appear in a request URI. The source blob must either be public or must be authenticated via a shared
-       *                   access signature.
-       * @param options The options parameters.
-       */
-      copyFromURL(copySource, options) {
-        return this.client.sendOperationRequest({ copySource, options }, copyFromURLOperationSpec);
+      message(type2, value, fieldName, options) {
+        if (value === void 0)
+          return options.emitDefaultValues ? null : void 0;
+        return type2.internalJsonWrite(value, options);
       }
-      /**
-       * The Abort Copy From URL operation aborts a pending Copy From URL operation, and leaves a destination
-       * blob with zero length and full metadata.
-       * @param copyId The copy identifier provided in the x-ms-copy-id header of the original Copy Blob
-       *               operation.
-       * @param options The options parameters.
-       */
-      abortCopyFromURL(copyId, options) {
-        return this.client.sendOperationRequest({ copyId, options }, abortCopyFromURLOperationSpec);
+      scalar(type2, value, fieldName, optional, emitDefaultValues) {
+        if (value === void 0) {
+          assert_1.assert(optional);
+          return void 0;
+        }
+        const ed = emitDefaultValues || optional;
+        switch (type2) {
+          // int32, fixed32, uint32: JSON value will be a decimal number. Either numbers or strings are accepted.
+          case reflection_info_1.ScalarType.INT32:
+          case reflection_info_1.ScalarType.SFIXED32:
+          case reflection_info_1.ScalarType.SINT32:
+            if (value === 0)
+              return ed ? 0 : void 0;
+            assert_1.assertInt32(value);
+            return value;
+          case reflection_info_1.ScalarType.FIXED32:
+          case reflection_info_1.ScalarType.UINT32:
+            if (value === 0)
+              return ed ? 0 : void 0;
+            assert_1.assertUInt32(value);
+            return value;
+          // float, double: JSON value will be a number or one of the special string values "NaN", "Infinity", and "-Infinity".
+          // Either numbers or strings are accepted. Exponent notation is also accepted.
+          case reflection_info_1.ScalarType.FLOAT:
+            assert_1.assertFloat32(value);
+          case reflection_info_1.ScalarType.DOUBLE:
+            if (value === 0)
+              return ed ? 0 : void 0;
+            assert_1.assert(typeof value == "number");
+            if (Number.isNaN(value))
+              return "NaN";
+            if (value === Number.POSITIVE_INFINITY)
+              return "Infinity";
+            if (value === Number.NEGATIVE_INFINITY)
+              return "-Infinity";
+            return value;
+          // string:
+          case reflection_info_1.ScalarType.STRING:
+            if (value === "")
+              return ed ? "" : void 0;
+            assert_1.assert(typeof value == "string");
+            return value;
+          // bool:
+          case reflection_info_1.ScalarType.BOOL:
+            if (value === false)
+              return ed ? false : void 0;
+            assert_1.assert(typeof value == "boolean");
+            return value;
+          // JSON value will be a decimal string. Either numbers or strings are accepted.
+          case reflection_info_1.ScalarType.UINT64:
+          case reflection_info_1.ScalarType.FIXED64:
+            assert_1.assert(typeof value == "number" || typeof value == "string" || typeof value == "bigint");
+            let ulong = pb_long_1.PbULong.from(value);
+            if (ulong.isZero() && !ed)
+              return void 0;
+            return ulong.toString();
+          // JSON value will be a decimal string. Either numbers or strings are accepted.
+          case reflection_info_1.ScalarType.INT64:
+          case reflection_info_1.ScalarType.SFIXED64:
+          case reflection_info_1.ScalarType.SINT64:
+            assert_1.assert(typeof value == "number" || typeof value == "string" || typeof value == "bigint");
+            let long = pb_long_1.PbLong.from(value);
+            if (long.isZero() && !ed)
+              return void 0;
+            return long.toString();
+          // bytes: JSON value will be the data encoded as a string using standard base64 encoding with paddings.
+          // Either standard or URL-safe base64 encoding with/without paddings are accepted.
+          case reflection_info_1.ScalarType.BYTES:
+            assert_1.assert(value instanceof Uint8Array);
+            if (!value.byteLength)
+              return ed ? "" : void 0;
+            return base64_1.base64encode(value);
+        }
       }
-      /**
-       * The Set Tier operation sets the tier on a blob. The operation is allowed on a page blob in a premium
-       * storage account and on a block blob in a blob storage account (locally redundant storage only). A
-       * premium page blob's tier determines the allowed size, IOPS, and bandwidth of the blob. A block
-       * blob's tier determines Hot/Cool/Archive storage type. This operation does not update the blob's
-       * ETag.
-       * @param tier Indicates the tier to be set on the blob.
-       * @param options The options parameters.
-       */
-      setTier(tier, options) {
-        return this.client.sendOperationRequest({ tier, options }, setTierOperationSpec);
+    };
+    exports2.ReflectionJsonWriter = ReflectionJsonWriter;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-scalar-default.js
+var require_reflection_scalar_default = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-scalar-default.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.reflectionScalarDefault = void 0;
+    var reflection_info_1 = require_reflection_info();
+    var reflection_long_convert_1 = require_reflection_long_convert();
+    var pb_long_1 = require_pb_long();
+    function reflectionScalarDefault(type2, longType = reflection_info_1.LongType.STRING) {
+      switch (type2) {
+        case reflection_info_1.ScalarType.BOOL:
+          return false;
+        case reflection_info_1.ScalarType.UINT64:
+        case reflection_info_1.ScalarType.FIXED64:
+          return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.ZERO, longType);
+        case reflection_info_1.ScalarType.INT64:
+        case reflection_info_1.ScalarType.SFIXED64:
+        case reflection_info_1.ScalarType.SINT64:
+          return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.ZERO, longType);
+        case reflection_info_1.ScalarType.DOUBLE:
+        case reflection_info_1.ScalarType.FLOAT:
+          return 0;
+        case reflection_info_1.ScalarType.BYTES:
+          return new Uint8Array(0);
+        case reflection_info_1.ScalarType.STRING:
+          return "";
+        default:
+          return 0;
       }
-      /**
-       * Returns the sku name and account kind
-       * @param options The options parameters.
-       */
-      getAccountInfo(options) {
-        return this.client.sendOperationRequest({ options }, getAccountInfoOperationSpec);
+    }
+    exports2.reflectionScalarDefault = reflectionScalarDefault;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-reader.js
+var require_reflection_binary_reader = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-reader.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ReflectionBinaryReader = void 0;
+    var binary_format_contract_1 = require_binary_format_contract();
+    var reflection_info_1 = require_reflection_info();
+    var reflection_long_convert_1 = require_reflection_long_convert();
+    var reflection_scalar_default_1 = require_reflection_scalar_default();
+    var ReflectionBinaryReader = class {
+      constructor(info7) {
+        this.info = info7;
       }
-      /**
-       * The Query operation enables users to select/project on blob data by providing simple query
-       * expressions.
-       * @param options The options parameters.
-       */
-      query(options) {
-        return this.client.sendOperationRequest({ options }, queryOperationSpec);
+      prepare() {
+        var _a;
+        if (!this.fieldNoToField) {
+          const fieldsInput = (_a = this.info.fields) !== null && _a !== void 0 ? _a : [];
+          this.fieldNoToField = new Map(fieldsInput.map((field) => [field.no, field]));
+        }
       }
       /**
-       * The Get Tags operation enables users to get the tags associated with a blob.
-       * @param options The options parameters.
+       * Reads a message from binary format into the target message.
+       *
+       * Repeated fields are appended. Map entries are added, overwriting
+       * existing keys.
+       *
+       * If a message field is already present, it will be merged with the
+       * new data.
        */
-      getTags(options) {
-        return this.client.sendOperationRequest({ options }, getTagsOperationSpec);
+      read(reader, message, options, length) {
+        this.prepare();
+        const end = length === void 0 ? reader.len : reader.pos + length;
+        while (reader.pos < end) {
+          const [fieldNo, wireType] = reader.tag(), field = this.fieldNoToField.get(fieldNo);
+          if (!field) {
+            let u = options.readUnknownField;
+            if (u == "throw")
+              throw new Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.info.typeName}`);
+            let d = reader.skip(wireType);
+            if (u !== false)
+              (u === true ? binary_format_contract_1.UnknownFieldHandler.onRead : u)(this.info.typeName, message, fieldNo, wireType, d);
+            continue;
+          }
+          let target = message, repeated = field.repeat, localName = field.localName;
+          if (field.oneof) {
+            target = target[field.oneof];
+            if (target.oneofKind !== localName)
+              target = message[field.oneof] = {
+                oneofKind: localName
+              };
+          }
+          switch (field.kind) {
+            case "scalar":
+            case "enum":
+              let T = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T;
+              let L = field.kind == "scalar" ? field.L : void 0;
+              if (repeated) {
+                let arr = target[localName];
+                if (wireType == binary_format_contract_1.WireType.LengthDelimited && T != reflection_info_1.ScalarType.STRING && T != reflection_info_1.ScalarType.BYTES) {
+                  let e = reader.uint32() + reader.pos;
+                  while (reader.pos < e)
+                    arr.push(this.scalar(reader, T, L));
+                } else
+                  arr.push(this.scalar(reader, T, L));
+              } else
+                target[localName] = this.scalar(reader, T, L);
+              break;
+            case "message":
+              if (repeated) {
+                let arr = target[localName];
+                let msg = field.T().internalBinaryRead(reader, reader.uint32(), options);
+                arr.push(msg);
+              } else
+                target[localName] = field.T().internalBinaryRead(reader, reader.uint32(), options, target[localName]);
+              break;
+            case "map":
+              let [mapKey, mapVal] = this.mapEntry(field, reader, options);
+              target[localName][mapKey] = mapVal;
+              break;
+          }
+        }
       }
       /**
-       * The Set Tags operation enables users to set tags on a blob.
-       * @param options The options parameters.
+       * Read a map field, expecting key field = 1, value field = 2
        */
-      setTags(options) {
-        return this.client.sendOperationRequest({ options }, setTagsOperationSpec);
-      }
-    };
-    exports2.BlobImpl = BlobImpl;
-    var xmlSerializer = coreClient.createSerializer(
-      Mappers,
-      /* isXml */
-      true
-    );
-    var downloadOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: {
-            type: { name: "Stream" },
-            serializedName: "parsedResponse"
-          },
-          headersMapper: Mappers.BlobDownloadHeaders
-        },
-        206: {
-          bodyMapper: {
-            type: { name: "Stream" },
-            serializedName: "parsedResponse"
-          },
-          headersMapper: Mappers.BlobDownloadHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobDownloadExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.versionId
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.range,
-        Parameters.rangeGetContentMD5,
-        Parameters.rangeGetContentCRC64,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var getPropertiesOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "HEAD",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobGetPropertiesHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobGetPropertiesExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.versionId
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var deleteOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "DELETE",
-      responses: {
-        202: {
-          headersMapper: Mappers.BlobDeleteHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobDeleteExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.versionId,
-        Parameters.blobDeleteType
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.deleteSnapshots
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var undeleteOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobUndeleteHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobUndeleteExceptionHeaders
-        }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp8],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var setExpiryOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobSetExpiryHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobSetExpiryExceptionHeaders
-        }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp11],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.expiryOptions,
-        Parameters.expiresOn
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var setHttpHeadersOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobSetHttpHeadersHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobSetHttpHeadersExceptionHeaders
-        }
-      },
-      queryParameters: [Parameters.comp, Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.blobCacheControl,
-        Parameters.blobContentType,
-        Parameters.blobContentMD5,
-        Parameters.blobContentEncoding,
-        Parameters.blobContentLanguage,
-        Parameters.blobContentDisposition
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var setImmutabilityPolicyOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobSetImmutabilityPolicyHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobSetImmutabilityPolicyExceptionHeaders
+      mapEntry(field, reader, options) {
+        let length = reader.uint32();
+        let end = reader.pos + length;
+        let key = void 0;
+        let val = void 0;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case 1:
+              if (field.K == reflection_info_1.ScalarType.BOOL)
+                key = reader.bool().toString();
+              else
+                key = this.scalar(reader, field.K, reflection_info_1.LongType.STRING);
+              break;
+            case 2:
+              switch (field.V.kind) {
+                case "scalar":
+                  val = this.scalar(reader, field.V.T, field.V.L);
+                  break;
+                case "enum":
+                  val = reader.int32();
+                  break;
+                case "message":
+                  val = field.V.T().internalBinaryRead(reader, reader.uint32(), options);
+                  break;
+              }
+              break;
+            default:
+              throw new Error(`Unknown field ${fieldNo} (wire type ${wireType}) in map entry for ${this.info.typeName}#${field.name}`);
+          }
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.versionId,
-        Parameters.comp12
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifUnmodifiedSince,
-        Parameters.immutabilityPolicyExpiry,
-        Parameters.immutabilityPolicyMode
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var deleteImmutabilityPolicyOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "DELETE",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobDeleteImmutabilityPolicyHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobDeleteImmutabilityPolicyExceptionHeaders
+        if (key === void 0) {
+          let keyRaw = reflection_scalar_default_1.reflectionScalarDefault(field.K);
+          key = field.K == reflection_info_1.ScalarType.BOOL ? keyRaw.toString() : keyRaw;
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.versionId,
-        Parameters.comp12
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var setLegalHoldOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobSetLegalHoldHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobSetLegalHoldExceptionHeaders
+        if (val === void 0)
+          switch (field.V.kind) {
+            case "scalar":
+              val = reflection_scalar_default_1.reflectionScalarDefault(field.V.T, field.V.L);
+              break;
+            case "enum":
+              val = 0;
+              break;
+            case "message":
+              val = field.V.T().create();
+              break;
+          }
+        return [key, val];
+      }
+      scalar(reader, type2, longType) {
+        switch (type2) {
+          case reflection_info_1.ScalarType.INT32:
+            return reader.int32();
+          case reflection_info_1.ScalarType.STRING:
+            return reader.string();
+          case reflection_info_1.ScalarType.BOOL:
+            return reader.bool();
+          case reflection_info_1.ScalarType.DOUBLE:
+            return reader.double();
+          case reflection_info_1.ScalarType.FLOAT:
+            return reader.float();
+          case reflection_info_1.ScalarType.INT64:
+            return reflection_long_convert_1.reflectionLongConvert(reader.int64(), longType);
+          case reflection_info_1.ScalarType.UINT64:
+            return reflection_long_convert_1.reflectionLongConvert(reader.uint64(), longType);
+          case reflection_info_1.ScalarType.FIXED64:
+            return reflection_long_convert_1.reflectionLongConvert(reader.fixed64(), longType);
+          case reflection_info_1.ScalarType.FIXED32:
+            return reader.fixed32();
+          case reflection_info_1.ScalarType.BYTES:
+            return reader.bytes();
+          case reflection_info_1.ScalarType.UINT32:
+            return reader.uint32();
+          case reflection_info_1.ScalarType.SFIXED32:
+            return reader.sfixed32();
+          case reflection_info_1.ScalarType.SFIXED64:
+            return reflection_long_convert_1.reflectionLongConvert(reader.sfixed64(), longType);
+          case reflection_info_1.ScalarType.SINT32:
+            return reader.sint32();
+          case reflection_info_1.ScalarType.SINT64:
+            return reflection_long_convert_1.reflectionLongConvert(reader.sint64(), longType);
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.versionId,
-        Parameters.comp13
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.legalHold
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+      }
     };
-    var setMetadataOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobSetMetadataHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobSetMetadataExceptionHeaders
+    exports2.ReflectionBinaryReader = ReflectionBinaryReader;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-writer.js
+var require_reflection_binary_writer = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-writer.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ReflectionBinaryWriter = void 0;
+    var binary_format_contract_1 = require_binary_format_contract();
+    var reflection_info_1 = require_reflection_info();
+    var assert_1 = require_assert();
+    var pb_long_1 = require_pb_long();
+    var ReflectionBinaryWriter = class {
+      constructor(info7) {
+        this.info = info7;
+      }
+      prepare() {
+        if (!this.fields) {
+          const fieldsInput = this.info.fields ? this.info.fields.concat() : [];
+          this.fields = fieldsInput.sort((a, b) => a.no - b.no);
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp6],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var acquireLeaseOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.BlobAcquireLeaseHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobAcquireLeaseExceptionHeaders
+      }
+      /**
+       * Writes the message to binary format.
+       */
+      write(message, writer, options) {
+        this.prepare();
+        for (const field of this.fields) {
+          let value, emitDefault, repeated = field.repeat, localName = field.localName;
+          if (field.oneof) {
+            const group = message[field.oneof];
+            if (group.oneofKind !== localName)
+              continue;
+            value = group[localName];
+            emitDefault = true;
+          } else {
+            value = message[localName];
+            emitDefault = false;
+          }
+          switch (field.kind) {
+            case "scalar":
+            case "enum":
+              let T = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T;
+              if (repeated) {
+                assert_1.assert(Array.isArray(value));
+                if (repeated == reflection_info_1.RepeatType.PACKED)
+                  this.packed(writer, T, field.no, value);
+                else
+                  for (const item of value)
+                    this.scalar(writer, T, field.no, item, true);
+              } else if (value === void 0)
+                assert_1.assert(field.opt);
+              else
+                this.scalar(writer, T, field.no, value, emitDefault || field.opt);
+              break;
+            case "message":
+              if (repeated) {
+                assert_1.assert(Array.isArray(value));
+                for (const item of value)
+                  this.message(writer, options, field.T(), field.no, item);
+              } else {
+                this.message(writer, options, field.T(), field.no, value);
+              }
+              break;
+            case "map":
+              assert_1.assert(typeof value == "object" && value !== null);
+              for (const [key, val] of Object.entries(value))
+                this.mapEntry(writer, options, field, key, val);
+              break;
+          }
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp10],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.action,
-        Parameters.duration,
-        Parameters.proposedLeaseId,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var releaseLeaseOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobReleaseLeaseHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobReleaseLeaseExceptionHeaders
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u === true ? binary_format_contract_1.UnknownFieldHandler.onWrite : u)(this.info.typeName, message, writer);
+      }
+      mapEntry(writer, options, field, key, value) {
+        writer.tag(field.no, binary_format_contract_1.WireType.LengthDelimited);
+        writer.fork();
+        let keyValue = key;
+        switch (field.K) {
+          case reflection_info_1.ScalarType.INT32:
+          case reflection_info_1.ScalarType.FIXED32:
+          case reflection_info_1.ScalarType.UINT32:
+          case reflection_info_1.ScalarType.SFIXED32:
+          case reflection_info_1.ScalarType.SINT32:
+            keyValue = Number.parseInt(key);
+            break;
+          case reflection_info_1.ScalarType.BOOL:
+            assert_1.assert(key == "true" || key == "false");
+            keyValue = key == "true";
+            break;
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp10],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.action1,
-        Parameters.leaseId1,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var renewLeaseOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobRenewLeaseHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobRenewLeaseExceptionHeaders
+        this.scalar(writer, field.K, 1, keyValue, true);
+        switch (field.V.kind) {
+          case "scalar":
+            this.scalar(writer, field.V.T, 2, value, true);
+            break;
+          case "enum":
+            this.scalar(writer, reflection_info_1.ScalarType.INT32, 2, value, true);
+            break;
+          case "message":
+            this.message(writer, options, field.V.T(), 2, value);
+            break;
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp10],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.leaseId1,
-        Parameters.action2,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var changeLeaseOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobChangeLeaseHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobChangeLeaseExceptionHeaders
+        writer.join();
+      }
+      message(writer, options, handler2, fieldNo, value) {
+        if (value === void 0)
+          return;
+        handler2.internalBinaryWrite(value, writer.tag(fieldNo, binary_format_contract_1.WireType.LengthDelimited).fork(), options);
+        writer.join();
+      }
+      /**
+       * Write a single scalar value.
+       */
+      scalar(writer, type2, fieldNo, value, emitDefault) {
+        let [wireType, method, isDefault] = this.scalarInfo(type2, value);
+        if (!isDefault || emitDefault) {
+          writer.tag(fieldNo, wireType);
+          writer[method](value);
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp10],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.leaseId1,
-        Parameters.action4,
-        Parameters.proposedLeaseId1,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var breakLeaseOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        202: {
-          headersMapper: Mappers.BlobBreakLeaseHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobBreakLeaseExceptionHeaders
+      }
+      /**
+       * Write an array of scalar values in packed format.
+       */
+      packed(writer, type2, fieldNo, value) {
+        if (!value.length)
+          return;
+        assert_1.assert(type2 !== reflection_info_1.ScalarType.BYTES && type2 !== reflection_info_1.ScalarType.STRING);
+        writer.tag(fieldNo, binary_format_contract_1.WireType.LengthDelimited);
+        writer.fork();
+        let [, method] = this.scalarInfo(type2);
+        for (let i = 0; i < value.length; i++)
+          writer[method](value[i]);
+        writer.join();
+      }
+      /**
+       * Get information for writing a scalar value.
+       *
+       * Returns tuple:
+       * [0]: appropriate WireType
+       * [1]: name of the appropriate method of IBinaryWriter
+       * [2]: whether the given value is a default value
+       *
+       * If argument `value` is omitted, [2] is always false.
+       */
+      scalarInfo(type2, value) {
+        let t = binary_format_contract_1.WireType.Varint;
+        let m;
+        let i = value === void 0;
+        let d = value === 0;
+        switch (type2) {
+          case reflection_info_1.ScalarType.INT32:
+            m = "int32";
+            break;
+          case reflection_info_1.ScalarType.STRING:
+            d = i || !value.length;
+            t = binary_format_contract_1.WireType.LengthDelimited;
+            m = "string";
+            break;
+          case reflection_info_1.ScalarType.BOOL:
+            d = value === false;
+            m = "bool";
+            break;
+          case reflection_info_1.ScalarType.UINT32:
+            m = "uint32";
+            break;
+          case reflection_info_1.ScalarType.DOUBLE:
+            t = binary_format_contract_1.WireType.Bit64;
+            m = "double";
+            break;
+          case reflection_info_1.ScalarType.FLOAT:
+            t = binary_format_contract_1.WireType.Bit32;
+            m = "float";
+            break;
+          case reflection_info_1.ScalarType.INT64:
+            d = i || pb_long_1.PbLong.from(value).isZero();
+            m = "int64";
+            break;
+          case reflection_info_1.ScalarType.UINT64:
+            d = i || pb_long_1.PbULong.from(value).isZero();
+            m = "uint64";
+            break;
+          case reflection_info_1.ScalarType.FIXED64:
+            d = i || pb_long_1.PbULong.from(value).isZero();
+            t = binary_format_contract_1.WireType.Bit64;
+            m = "fixed64";
+            break;
+          case reflection_info_1.ScalarType.BYTES:
+            d = i || !value.byteLength;
+            t = binary_format_contract_1.WireType.LengthDelimited;
+            m = "bytes";
+            break;
+          case reflection_info_1.ScalarType.FIXED32:
+            t = binary_format_contract_1.WireType.Bit32;
+            m = "fixed32";
+            break;
+          case reflection_info_1.ScalarType.SFIXED32:
+            t = binary_format_contract_1.WireType.Bit32;
+            m = "sfixed32";
+            break;
+          case reflection_info_1.ScalarType.SFIXED64:
+            d = i || pb_long_1.PbLong.from(value).isZero();
+            t = binary_format_contract_1.WireType.Bit64;
+            m = "sfixed64";
+            break;
+          case reflection_info_1.ScalarType.SINT32:
+            m = "sint32";
+            break;
+          case reflection_info_1.ScalarType.SINT64:
+            d = i || pb_long_1.PbLong.from(value).isZero();
+            m = "sint64";
+            break;
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp10],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.action3,
-        Parameters.breakPeriod,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+        return [t, m, i || d];
+      }
     };
-    var createSnapshotOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.BlobCreateSnapshotHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobCreateSnapshotExceptionHeaders
+    exports2.ReflectionBinaryWriter = ReflectionBinaryWriter;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-create.js
+var require_reflection_create = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-create.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.reflectionCreate = void 0;
+    var reflection_scalar_default_1 = require_reflection_scalar_default();
+    var message_type_contract_1 = require_message_type_contract();
+    function reflectionCreate(type2) {
+      const msg = type2.messagePrototype ? Object.create(type2.messagePrototype) : Object.defineProperty({}, message_type_contract_1.MESSAGE_TYPE, { value: type2 });
+      for (let field of type2.fields) {
+        let name = field.localName;
+        if (field.opt)
+          continue;
+        if (field.oneof)
+          msg[field.oneof] = { oneofKind: void 0 };
+        else if (field.repeat)
+          msg[name] = [];
+        else
+          switch (field.kind) {
+            case "scalar":
+              msg[name] = reflection_scalar_default_1.reflectionScalarDefault(field.T, field.L);
+              break;
+            case "enum":
+              msg[name] = 0;
+              break;
+            case "map":
+              msg[name] = {};
+              break;
+          }
+      }
+      return msg;
+    }
+    exports2.reflectionCreate = reflectionCreate;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-merge-partial.js
+var require_reflection_merge_partial = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-merge-partial.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.reflectionMergePartial = void 0;
+    function reflectionMergePartial(info7, target, source) {
+      let fieldValue, input = source, output;
+      for (let field of info7.fields) {
+        let name = field.localName;
+        if (field.oneof) {
+          const group = input[field.oneof];
+          if ((group === null || group === void 0 ? void 0 : group.oneofKind) == void 0) {
+            continue;
+          }
+          fieldValue = group[name];
+          output = target[field.oneof];
+          output.oneofKind = group.oneofKind;
+          if (fieldValue == void 0) {
+            delete output[name];
+            continue;
+          }
+        } else {
+          fieldValue = input[name];
+          output = target;
+          if (fieldValue == void 0) {
+            continue;
+          }
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp14],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var startCopyFromURLOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        202: {
-          headersMapper: Mappers.BlobStartCopyFromURLHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobStartCopyFromURLExceptionHeaders
+        if (field.repeat)
+          output[name].length = fieldValue.length;
+        switch (field.kind) {
+          case "scalar":
+          case "enum":
+            if (field.repeat)
+              for (let i = 0; i < fieldValue.length; i++)
+                output[name][i] = fieldValue[i];
+            else
+              output[name] = fieldValue;
+            break;
+          case "message":
+            let T = field.T();
+            if (field.repeat)
+              for (let i = 0; i < fieldValue.length; i++)
+                output[name][i] = T.create(fieldValue[i]);
+            else if (output[name] === void 0)
+              output[name] = T.create(fieldValue);
+            else
+              T.mergePartial(output[name], fieldValue);
+            break;
+          case "map":
+            switch (field.V.kind) {
+              case "scalar":
+              case "enum":
+                Object.assign(output[name], fieldValue);
+                break;
+              case "message":
+                let T2 = field.V.T();
+                for (let k of Object.keys(fieldValue))
+                  output[name][k] = T2.create(fieldValue[k]);
+                break;
+            }
+            break;
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.immutabilityPolicyExpiry,
-        Parameters.immutabilityPolicyMode,
-        Parameters.tier,
-        Parameters.rehydratePriority,
-        Parameters.sourceIfModifiedSince,
-        Parameters.sourceIfUnmodifiedSince,
-        Parameters.sourceIfMatch,
-        Parameters.sourceIfNoneMatch,
-        Parameters.sourceIfTags,
-        Parameters.copySource,
-        Parameters.blobTagsString,
-        Parameters.sealBlob,
-        Parameters.legalHold1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var copyFromURLOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        202: {
-          headersMapper: Mappers.BlobCopyFromURLHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobCopyFromURLExceptionHeaders
+      }
+    }
+    exports2.reflectionMergePartial = reflectionMergePartial;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-equals.js
+var require_reflection_equals = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-equals.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.reflectionEquals = void 0;
+    var reflection_info_1 = require_reflection_info();
+    function reflectionEquals(info7, a, b) {
+      if (a === b)
+        return true;
+      if (!a || !b)
+        return false;
+      for (let field of info7.fields) {
+        let localName = field.localName;
+        let val_a = field.oneof ? a[field.oneof][localName] : a[localName];
+        let val_b = field.oneof ? b[field.oneof][localName] : b[localName];
+        switch (field.kind) {
+          case "enum":
+          case "scalar":
+            let t = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T;
+            if (!(field.repeat ? repeatedPrimitiveEq(t, val_a, val_b) : primitiveEq(t, val_a, val_b)))
+              return false;
+            break;
+          case "map":
+            if (!(field.V.kind == "message" ? repeatedMsgEq(field.V.T(), objectValues(val_a), objectValues(val_b)) : repeatedPrimitiveEq(field.V.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.V.T, objectValues(val_a), objectValues(val_b))))
+              return false;
+            break;
+          case "message":
+            let T = field.T();
+            if (!(field.repeat ? repeatedMsgEq(T, val_a, val_b) : T.equals(val_a, val_b)))
+              return false;
+            break;
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.immutabilityPolicyExpiry,
-        Parameters.immutabilityPolicyMode,
-        Parameters.encryptionScope,
-        Parameters.tier,
-        Parameters.sourceIfModifiedSince,
-        Parameters.sourceIfUnmodifiedSince,
-        Parameters.sourceIfMatch,
-        Parameters.sourceIfNoneMatch,
-        Parameters.copySource,
-        Parameters.blobTagsString,
-        Parameters.legalHold1,
-        Parameters.xMsRequiresSync,
-        Parameters.sourceContentMD5,
-        Parameters.copySourceAuthorization,
-        Parameters.copySourceTags,
-        Parameters.fileRequestIntent
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var abortCopyFromURLOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        204: {
-          headersMapper: Mappers.BlobAbortCopyFromURLHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobAbortCopyFromURLExceptionHeaders
+      }
+      return true;
+    }
+    exports2.reflectionEquals = reflectionEquals;
+    var objectValues = Object.values;
+    function primitiveEq(type2, a, b) {
+      if (a === b)
+        return true;
+      if (type2 !== reflection_info_1.ScalarType.BYTES)
+        return false;
+      let ba = a;
+      let bb = b;
+      if (ba.length !== bb.length)
+        return false;
+      for (let i = 0; i < ba.length; i++)
+        if (ba[i] != bb[i])
+          return false;
+      return true;
+    }
+    function repeatedPrimitiveEq(type2, a, b) {
+      if (a.length !== b.length)
+        return false;
+      for (let i = 0; i < a.length; i++)
+        if (!primitiveEq(type2, a[i], b[i]))
+          return false;
+      return true;
+    }
+    function repeatedMsgEq(type2, a, b) {
+      if (a.length !== b.length)
+        return false;
+      for (let i = 0; i < a.length; i++)
+        if (!type2.equals(a[i], b[i]))
+          return false;
+      return true;
+    }
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/message-type.js
+var require_message_type = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/message-type.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.MessageType = void 0;
+    var message_type_contract_1 = require_message_type_contract();
+    var reflection_info_1 = require_reflection_info();
+    var reflection_type_check_1 = require_reflection_type_check();
+    var reflection_json_reader_1 = require_reflection_json_reader();
+    var reflection_json_writer_1 = require_reflection_json_writer();
+    var reflection_binary_reader_1 = require_reflection_binary_reader();
+    var reflection_binary_writer_1 = require_reflection_binary_writer();
+    var reflection_create_1 = require_reflection_create();
+    var reflection_merge_partial_1 = require_reflection_merge_partial();
+    var json_typings_1 = require_json_typings();
+    var json_format_contract_1 = require_json_format_contract();
+    var reflection_equals_1 = require_reflection_equals();
+    var binary_writer_1 = require_binary_writer();
+    var binary_reader_1 = require_binary_reader();
+    var baseDescriptors = Object.getOwnPropertyDescriptors(Object.getPrototypeOf({}));
+    var messageTypeDescriptor = baseDescriptors[message_type_contract_1.MESSAGE_TYPE] = {};
+    var MessageType = class {
+      constructor(name, fields, options) {
+        this.defaultCheckDepth = 16;
+        this.typeName = name;
+        this.fields = fields.map(reflection_info_1.normalizeFieldInfo);
+        this.options = options !== null && options !== void 0 ? options : {};
+        messageTypeDescriptor.value = this;
+        this.messagePrototype = Object.create(null, baseDescriptors);
+        this.refTypeCheck = new reflection_type_check_1.ReflectionTypeCheck(this);
+        this.refJsonReader = new reflection_json_reader_1.ReflectionJsonReader(this);
+        this.refJsonWriter = new reflection_json_writer_1.ReflectionJsonWriter(this);
+        this.refBinReader = new reflection_binary_reader_1.ReflectionBinaryReader(this);
+        this.refBinWriter = new reflection_binary_writer_1.ReflectionBinaryWriter(this);
+      }
+      create(value) {
+        let message = reflection_create_1.reflectionCreate(this);
+        if (value !== void 0) {
+          reflection_merge_partial_1.reflectionMergePartial(this, message, value);
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.comp15,
-        Parameters.copyId
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.copyActionAbortConstant
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var setTierOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobSetTierHeaders
-        },
-        202: {
-          headersMapper: Mappers.BlobSetTierHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobSetTierExceptionHeaders
+        return message;
+      }
+      /**
+       * Clone the message.
+       *
+       * Unknown fields are discarded.
+       */
+      clone(message) {
+        let copy = this.create();
+        reflection_merge_partial_1.reflectionMergePartial(this, copy, message);
+        return copy;
+      }
+      /**
+       * Determines whether two message of the same type have the same field values.
+       * Checks for deep equality, traversing repeated fields, oneof groups, maps
+       * and messages recursively.
+       * Will also return true if both messages are `undefined`.
+       */
+      equals(a, b) {
+        return reflection_equals_1.reflectionEquals(this, a, b);
+      }
+      /**
+       * Is the given value assignable to our message type
+       * and contains no [excess properties](https://www.typescriptlang.org/docs/handbook/interfaces.html#excess-property-checks)?
+       */
+      is(arg, depth = this.defaultCheckDepth) {
+        return this.refTypeCheck.is(arg, depth, false);
+      }
+      /**
+       * Is the given value assignable to our message type,
+       * regardless of [excess properties](https://www.typescriptlang.org/docs/handbook/interfaces.html#excess-property-checks)?
+       */
+      isAssignable(arg, depth = this.defaultCheckDepth) {
+        return this.refTypeCheck.is(arg, depth, true);
+      }
+      /**
+       * Copy partial data into the target message.
+       */
+      mergePartial(target, source) {
+        reflection_merge_partial_1.reflectionMergePartial(this, target, source);
+      }
+      /**
+       * Create a new message from binary format.
+       */
+      fromBinary(data, options) {
+        let opt = binary_reader_1.binaryReadOptions(options);
+        return this.internalBinaryRead(opt.readerFactory(data), data.byteLength, opt);
+      }
+      /**
+       * Read a new message from a JSON value.
+       */
+      fromJson(json2, options) {
+        return this.internalJsonRead(json2, json_format_contract_1.jsonReadOptions(options));
+      }
+      /**
+       * Read a new message from a JSON string.
+       * This is equivalent to `T.fromJson(JSON.parse(json))`.
+       */
+      fromJsonString(json2, options) {
+        let value = JSON.parse(json2);
+        return this.fromJson(value, options);
+      }
+      /**
+       * Write the message to canonical JSON value.
+       */
+      toJson(message, options) {
+        return this.internalJsonWrite(message, json_format_contract_1.jsonWriteOptions(options));
+      }
+      /**
+       * Convert the message to canonical JSON string.
+       * This is equivalent to `JSON.stringify(T.toJson(t))`
+       */
+      toJsonString(message, options) {
+        var _a;
+        let value = this.toJson(message, options);
+        return JSON.stringify(value, null, (_a = options === null || options === void 0 ? void 0 : options.prettySpaces) !== null && _a !== void 0 ? _a : 0);
+      }
+      /**
+       * Write the message to binary format.
+       */
+      toBinary(message, options) {
+        let opt = binary_writer_1.binaryWriteOptions(options);
+        return this.internalBinaryWrite(message, opt.writerFactory(), opt).finish();
+      }
+      /**
+       * This is an internal method. If you just want to read a message from
+       * JSON, use `fromJson()` or `fromJsonString()`.
+       *
+       * Reads JSON value and merges the fields into the target
+       * according to protobuf rules. If the target is omitted,
+       * a new instance is created first.
+       */
+      internalJsonRead(json2, options, target) {
+        if (json2 !== null && typeof json2 == "object" && !Array.isArray(json2)) {
+          let message = target !== null && target !== void 0 ? target : this.create();
+          this.refJsonReader.read(json2, message, options);
+          return message;
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.versionId,
-        Parameters.comp16
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifTags,
-        Parameters.rehydratePriority,
-        Parameters.tier1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+        throw new Error(`Unable to parse message ${this.typeName} from JSON ${json_typings_1.typeofJsonValue(json2)}.`);
+      }
+      /**
+       * This is an internal method. If you just want to write a message
+       * to JSON, use `toJson()` or `toJsonString().
+       *
+       * Writes JSON value and returns it.
+       */
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.write(message, options);
+      }
+      /**
+       * This is an internal method. If you just want to write a message
+       * in binary format, use `toBinary()`.
+       *
+       * Serializes the message in binary format and appends it to the given
+       * writer. Returns passed writer.
+       */
+      internalBinaryWrite(message, writer, options) {
+        this.refBinWriter.write(message, writer, options);
+        return writer;
+      }
+      /**
+       * This is an internal method. If you just want to read a message from
+       * binary data, use `fromBinary()`.
+       *
+       * Reads data from binary format and merges the fields into
+       * the target according to protobuf rules. If the target is
+       * omitted, a new instance is created first.
+       */
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create();
+        this.refBinReader.read(reader, message, options, length);
+        return message;
+      }
     };
-    var getAccountInfoOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobGetAccountInfoHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobGetAccountInfoExceptionHeaders
+    exports2.MessageType = MessageType;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-contains-message-type.js
+var require_reflection_contains_message_type = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-contains-message-type.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.containsMessageType = void 0;
+    var message_type_contract_1 = require_message_type_contract();
+    function containsMessageType(msg) {
+      return msg[message_type_contract_1.MESSAGE_TYPE] != null;
+    }
+    exports2.containsMessageType = containsMessageType;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/enum-object.js
+var require_enum_object = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/enum-object.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.listEnumNumbers = exports2.listEnumNames = exports2.listEnumValues = exports2.isEnumObject = void 0;
+    function isEnumObject(arg) {
+      if (typeof arg != "object" || arg === null) {
+        return false;
+      }
+      if (!arg.hasOwnProperty(0)) {
+        return false;
+      }
+      for (let k of Object.keys(arg)) {
+        let num = parseInt(k);
+        if (!Number.isNaN(num)) {
+          let nam = arg[num];
+          if (nam === void 0)
+            return false;
+          if (arg[nam] !== num)
+            return false;
+        } else {
+          let num2 = arg[k];
+          if (num2 === void 0)
+            return false;
+          if (typeof num2 !== "number")
+            return false;
+          if (arg[num2] === void 0)
+            return false;
         }
-      },
-      queryParameters: [
-        Parameters.comp,
-        Parameters.timeoutInSeconds,
-        Parameters.restype1
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+      }
+      return true;
+    }
+    exports2.isEnumObject = isEnumObject;
+    function listEnumValues(enumObject) {
+      if (!isEnumObject(enumObject))
+        throw new Error("not a typescript enum object");
+      let values = [];
+      for (let [name, number] of Object.entries(enumObject))
+        if (typeof number == "number")
+          values.push({ name, number });
+      return values;
+    }
+    exports2.listEnumValues = listEnumValues;
+    function listEnumNames(enumObject) {
+      return listEnumValues(enumObject).map((val) => val.name);
+    }
+    exports2.listEnumNames = listEnumNames;
+    function listEnumNumbers(enumObject) {
+      return listEnumValues(enumObject).map((val) => val.number).filter((num, index, arr) => arr.indexOf(num) == index);
+    }
+    exports2.listEnumNumbers = listEnumNumbers;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/index.js
+var require_commonjs16 = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    var json_typings_1 = require_json_typings();
+    Object.defineProperty(exports2, "typeofJsonValue", { enumerable: true, get: function() {
+      return json_typings_1.typeofJsonValue;
+    } });
+    Object.defineProperty(exports2, "isJsonObject", { enumerable: true, get: function() {
+      return json_typings_1.isJsonObject;
+    } });
+    var base64_1 = require_base642();
+    Object.defineProperty(exports2, "base64decode", { enumerable: true, get: function() {
+      return base64_1.base64decode;
+    } });
+    Object.defineProperty(exports2, "base64encode", { enumerable: true, get: function() {
+      return base64_1.base64encode;
+    } });
+    var protobufjs_utf8_1 = require_protobufjs_utf8();
+    Object.defineProperty(exports2, "utf8read", { enumerable: true, get: function() {
+      return protobufjs_utf8_1.utf8read;
+    } });
+    var binary_format_contract_1 = require_binary_format_contract();
+    Object.defineProperty(exports2, "WireType", { enumerable: true, get: function() {
+      return binary_format_contract_1.WireType;
+    } });
+    Object.defineProperty(exports2, "mergeBinaryOptions", { enumerable: true, get: function() {
+      return binary_format_contract_1.mergeBinaryOptions;
+    } });
+    Object.defineProperty(exports2, "UnknownFieldHandler", { enumerable: true, get: function() {
+      return binary_format_contract_1.UnknownFieldHandler;
+    } });
+    var binary_reader_1 = require_binary_reader();
+    Object.defineProperty(exports2, "BinaryReader", { enumerable: true, get: function() {
+      return binary_reader_1.BinaryReader;
+    } });
+    Object.defineProperty(exports2, "binaryReadOptions", { enumerable: true, get: function() {
+      return binary_reader_1.binaryReadOptions;
+    } });
+    var binary_writer_1 = require_binary_writer();
+    Object.defineProperty(exports2, "BinaryWriter", { enumerable: true, get: function() {
+      return binary_writer_1.BinaryWriter;
+    } });
+    Object.defineProperty(exports2, "binaryWriteOptions", { enumerable: true, get: function() {
+      return binary_writer_1.binaryWriteOptions;
+    } });
+    var pb_long_1 = require_pb_long();
+    Object.defineProperty(exports2, "PbLong", { enumerable: true, get: function() {
+      return pb_long_1.PbLong;
+    } });
+    Object.defineProperty(exports2, "PbULong", { enumerable: true, get: function() {
+      return pb_long_1.PbULong;
+    } });
+    var json_format_contract_1 = require_json_format_contract();
+    Object.defineProperty(exports2, "jsonReadOptions", { enumerable: true, get: function() {
+      return json_format_contract_1.jsonReadOptions;
+    } });
+    Object.defineProperty(exports2, "jsonWriteOptions", { enumerable: true, get: function() {
+      return json_format_contract_1.jsonWriteOptions;
+    } });
+    Object.defineProperty(exports2, "mergeJsonOptions", { enumerable: true, get: function() {
+      return json_format_contract_1.mergeJsonOptions;
+    } });
+    var message_type_contract_1 = require_message_type_contract();
+    Object.defineProperty(exports2, "MESSAGE_TYPE", { enumerable: true, get: function() {
+      return message_type_contract_1.MESSAGE_TYPE;
+    } });
+    var message_type_1 = require_message_type();
+    Object.defineProperty(exports2, "MessageType", { enumerable: true, get: function() {
+      return message_type_1.MessageType;
+    } });
+    var reflection_info_1 = require_reflection_info();
+    Object.defineProperty(exports2, "ScalarType", { enumerable: true, get: function() {
+      return reflection_info_1.ScalarType;
+    } });
+    Object.defineProperty(exports2, "LongType", { enumerable: true, get: function() {
+      return reflection_info_1.LongType;
+    } });
+    Object.defineProperty(exports2, "RepeatType", { enumerable: true, get: function() {
+      return reflection_info_1.RepeatType;
+    } });
+    Object.defineProperty(exports2, "normalizeFieldInfo", { enumerable: true, get: function() {
+      return reflection_info_1.normalizeFieldInfo;
+    } });
+    Object.defineProperty(exports2, "readFieldOptions", { enumerable: true, get: function() {
+      return reflection_info_1.readFieldOptions;
+    } });
+    Object.defineProperty(exports2, "readFieldOption", { enumerable: true, get: function() {
+      return reflection_info_1.readFieldOption;
+    } });
+    Object.defineProperty(exports2, "readMessageOption", { enumerable: true, get: function() {
+      return reflection_info_1.readMessageOption;
+    } });
+    var reflection_type_check_1 = require_reflection_type_check();
+    Object.defineProperty(exports2, "ReflectionTypeCheck", { enumerable: true, get: function() {
+      return reflection_type_check_1.ReflectionTypeCheck;
+    } });
+    var reflection_create_1 = require_reflection_create();
+    Object.defineProperty(exports2, "reflectionCreate", { enumerable: true, get: function() {
+      return reflection_create_1.reflectionCreate;
+    } });
+    var reflection_scalar_default_1 = require_reflection_scalar_default();
+    Object.defineProperty(exports2, "reflectionScalarDefault", { enumerable: true, get: function() {
+      return reflection_scalar_default_1.reflectionScalarDefault;
+    } });
+    var reflection_merge_partial_1 = require_reflection_merge_partial();
+    Object.defineProperty(exports2, "reflectionMergePartial", { enumerable: true, get: function() {
+      return reflection_merge_partial_1.reflectionMergePartial;
+    } });
+    var reflection_equals_1 = require_reflection_equals();
+    Object.defineProperty(exports2, "reflectionEquals", { enumerable: true, get: function() {
+      return reflection_equals_1.reflectionEquals;
+    } });
+    var reflection_binary_reader_1 = require_reflection_binary_reader();
+    Object.defineProperty(exports2, "ReflectionBinaryReader", { enumerable: true, get: function() {
+      return reflection_binary_reader_1.ReflectionBinaryReader;
+    } });
+    var reflection_binary_writer_1 = require_reflection_binary_writer();
+    Object.defineProperty(exports2, "ReflectionBinaryWriter", { enumerable: true, get: function() {
+      return reflection_binary_writer_1.ReflectionBinaryWriter;
+    } });
+    var reflection_json_reader_1 = require_reflection_json_reader();
+    Object.defineProperty(exports2, "ReflectionJsonReader", { enumerable: true, get: function() {
+      return reflection_json_reader_1.ReflectionJsonReader;
+    } });
+    var reflection_json_writer_1 = require_reflection_json_writer();
+    Object.defineProperty(exports2, "ReflectionJsonWriter", { enumerable: true, get: function() {
+      return reflection_json_writer_1.ReflectionJsonWriter;
+    } });
+    var reflection_contains_message_type_1 = require_reflection_contains_message_type();
+    Object.defineProperty(exports2, "containsMessageType", { enumerable: true, get: function() {
+      return reflection_contains_message_type_1.containsMessageType;
+    } });
+    var oneof_1 = require_oneof();
+    Object.defineProperty(exports2, "isOneofGroup", { enumerable: true, get: function() {
+      return oneof_1.isOneofGroup;
+    } });
+    Object.defineProperty(exports2, "setOneofValue", { enumerable: true, get: function() {
+      return oneof_1.setOneofValue;
+    } });
+    Object.defineProperty(exports2, "getOneofValue", { enumerable: true, get: function() {
+      return oneof_1.getOneofValue;
+    } });
+    Object.defineProperty(exports2, "clearOneofValue", { enumerable: true, get: function() {
+      return oneof_1.clearOneofValue;
+    } });
+    Object.defineProperty(exports2, "getSelectedOneofValue", { enumerable: true, get: function() {
+      return oneof_1.getSelectedOneofValue;
+    } });
+    var enum_object_1 = require_enum_object();
+    Object.defineProperty(exports2, "listEnumValues", { enumerable: true, get: function() {
+      return enum_object_1.listEnumValues;
+    } });
+    Object.defineProperty(exports2, "listEnumNames", { enumerable: true, get: function() {
+      return enum_object_1.listEnumNames;
+    } });
+    Object.defineProperty(exports2, "listEnumNumbers", { enumerable: true, get: function() {
+      return enum_object_1.listEnumNumbers;
+    } });
+    Object.defineProperty(exports2, "isEnumObject", { enumerable: true, get: function() {
+      return enum_object_1.isEnumObject;
+    } });
+    var lower_camel_case_1 = require_lower_camel_case();
+    Object.defineProperty(exports2, "lowerCamelCase", { enumerable: true, get: function() {
+      return lower_camel_case_1.lowerCamelCase;
+    } });
+    var assert_1 = require_assert();
+    Object.defineProperty(exports2, "assert", { enumerable: true, get: function() {
+      return assert_1.assert;
+    } });
+    Object.defineProperty(exports2, "assertNever", { enumerable: true, get: function() {
+      return assert_1.assertNever;
+    } });
+    Object.defineProperty(exports2, "assertInt32", { enumerable: true, get: function() {
+      return assert_1.assertInt32;
+    } });
+    Object.defineProperty(exports2, "assertUInt32", { enumerable: true, get: function() {
+      return assert_1.assertUInt32;
+    } });
+    Object.defineProperty(exports2, "assertFloat32", { enumerable: true, get: function() {
+      return assert_1.assertFloat32;
+    } });
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/reflection-info.js
+var require_reflection_info2 = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/reflection-info.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.readServiceOption = exports2.readMethodOption = exports2.readMethodOptions = exports2.normalizeMethodInfo = void 0;
+    var runtime_1 = require_commonjs16();
+    function normalizeMethodInfo(method, service) {
+      var _a, _b, _c;
+      let m = method;
+      m.service = service;
+      m.localName = (_a = m.localName) !== null && _a !== void 0 ? _a : runtime_1.lowerCamelCase(m.name);
+      m.serverStreaming = !!m.serverStreaming;
+      m.clientStreaming = !!m.clientStreaming;
+      m.options = (_b = m.options) !== null && _b !== void 0 ? _b : {};
+      m.idempotency = (_c = m.idempotency) !== null && _c !== void 0 ? _c : void 0;
+      return m;
+    }
+    exports2.normalizeMethodInfo = normalizeMethodInfo;
+    function readMethodOptions(service, methodName, extensionName, extensionType) {
+      var _a;
+      const options = (_a = service.methods.find((m, i) => m.localName === methodName || i === methodName)) === null || _a === void 0 ? void 0 : _a.options;
+      return options && options[extensionName] ? extensionType.fromJson(options[extensionName]) : void 0;
+    }
+    exports2.readMethodOptions = readMethodOptions;
+    function readMethodOption(service, methodName, extensionName, extensionType) {
+      var _a;
+      const options = (_a = service.methods.find((m, i) => m.localName === methodName || i === methodName)) === null || _a === void 0 ? void 0 : _a.options;
+      if (!options) {
+        return void 0;
+      }
+      const optionVal = options[extensionName];
+      if (optionVal === void 0) {
+        return optionVal;
+      }
+      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
+    }
+    exports2.readMethodOption = readMethodOption;
+    function readServiceOption(service, extensionName, extensionType) {
+      const options = service.options;
+      if (!options) {
+        return void 0;
+      }
+      const optionVal = options[extensionName];
+      if (optionVal === void 0) {
+        return optionVal;
+      }
+      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
+    }
+    exports2.readServiceOption = readServiceOption;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/service-type.js
+var require_service_type = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/service-type.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ServiceType = void 0;
+    var reflection_info_1 = require_reflection_info2();
+    var ServiceType = class {
+      constructor(typeName, methods, options) {
+        this.typeName = typeName;
+        this.methods = methods.map((i) => reflection_info_1.normalizeMethodInfo(i, this));
+        this.options = options !== null && options !== void 0 ? options : {};
+      }
     };
-    var queryOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "POST",
-      responses: {
-        200: {
-          bodyMapper: {
-            type: { name: "Stream" },
-            serializedName: "parsedResponse"
-          },
-          headersMapper: Mappers.BlobQueryHeaders
-        },
-        206: {
-          bodyMapper: {
-            type: { name: "Stream" },
-            serializedName: "parsedResponse"
-          },
-          headersMapper: Mappers.BlobQueryHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobQueryExceptionHeaders
+    exports2.ServiceType = ServiceType;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-error.js
+var require_rpc_error = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-error.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.RpcError = void 0;
+    var RpcError = class extends Error {
+      constructor(message, code = "UNKNOWN", meta) {
+        super(message);
+        this.name = "RpcError";
+        Object.setPrototypeOf(this, new.target.prototype);
+        this.code = code;
+        this.meta = meta !== null && meta !== void 0 ? meta : {};
+      }
+      toString() {
+        const l = [this.name + ": " + this.message];
+        if (this.code) {
+          l.push("");
+          l.push("Code: " + this.code);
         }
-      },
-      requestBody: Parameters.queryRequest,
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.comp17
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.contentType,
-        Parameters.accept,
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "xml",
-      serializer: xmlSerializer
-    };
-    var getTagsOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.BlobTags,
-          headersMapper: Mappers.BlobGetTagsHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobGetTagsExceptionHeaders
+        if (this.serviceName && this.methodName) {
+          l.push("Method: " + this.serviceName + "/" + this.methodName);
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.versionId,
-        Parameters.comp18
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var setTagsOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        204: {
-          headersMapper: Mappers.BlobSetTagsHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobSetTagsExceptionHeaders
+        let m = Object.entries(this.meta);
+        if (m.length) {
+          l.push("");
+          l.push("Meta:");
+          for (let [k, v] of m) {
+            l.push(`  ${k}: ${v}`);
+          }
         }
-      },
-      requestBody: Parameters.tags,
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.versionId,
-        Parameters.comp18
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.contentType,
-        Parameters.accept,
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.leaseId,
-        Parameters.ifTags,
-        Parameters.transactionalContentMD5,
-        Parameters.transactionalContentCrc64
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "xml",
-      serializer: xmlSerializer
+        return l.join("\n");
+      }
     };
+    exports2.RpcError = RpcError;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/pageBlob.js
-var require_pageBlob = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/pageBlob.js"(exports2) {
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-options.js
+var require_rpc_options = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-options.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.PageBlobImpl = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var coreClient = tslib_1.__importStar(require_commonjs8());
-    var Mappers = tslib_1.__importStar(require_mappers());
-    var Parameters = tslib_1.__importStar(require_parameters());
-    var PageBlobImpl = class {
-      client;
-      /**
-       * Initialize a new instance of the class PageBlob class.
-       * @param client Reference to the service client
-       */
-      constructor(client) {
-        this.client = client;
-      }
-      /**
-       * The Create operation creates a new page blob.
-       * @param contentLength The length of the request.
-       * @param blobContentLength This header specifies the maximum size for the page blob, up to 1 TB. The
-       *                          page blob size must be aligned to a 512-byte boundary.
-       * @param options The options parameters.
-       */
-      create(contentLength, blobContentLength, options) {
-        return this.client.sendOperationRequest({ contentLength, blobContentLength, options }, createOperationSpec);
+    exports2.mergeRpcOptions = void 0;
+    var runtime_1 = require_commonjs16();
+    function mergeRpcOptions(defaults, options) {
+      if (!options)
+        return defaults;
+      let o = {};
+      copy(defaults, o);
+      copy(options, o);
+      for (let key of Object.keys(options)) {
+        let val = options[key];
+        switch (key) {
+          case "jsonOptions":
+            o.jsonOptions = runtime_1.mergeJsonOptions(defaults.jsonOptions, o.jsonOptions);
+            break;
+          case "binaryOptions":
+            o.binaryOptions = runtime_1.mergeBinaryOptions(defaults.binaryOptions, o.binaryOptions);
+            break;
+          case "meta":
+            o.meta = {};
+            copy(defaults.meta, o.meta);
+            copy(options.meta, o.meta);
+            break;
+          case "interceptors":
+            o.interceptors = defaults.interceptors ? defaults.interceptors.concat(val) : val.concat();
+            break;
+        }
       }
-      /**
-       * The Upload Pages operation writes a range of pages to a page blob
-       * @param contentLength The length of the request.
-       * @param body Initial data
-       * @param options The options parameters.
-       */
-      uploadPages(contentLength, body, options) {
-        return this.client.sendOperationRequest({ contentLength, body, options }, uploadPagesOperationSpec);
+      return o;
+    }
+    exports2.mergeRpcOptions = mergeRpcOptions;
+    function copy(a, into) {
+      if (!a)
+        return;
+      let c = into;
+      for (let [k, v] of Object.entries(a)) {
+        if (v instanceof Date)
+          c[k] = new Date(v.getTime());
+        else if (Array.isArray(v))
+          c[k] = v.concat();
+        else
+          c[k] = v;
       }
+    }
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/deferred.js
+var require_deferred = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/deferred.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Deferred = exports2.DeferredState = void 0;
+    var DeferredState;
+    (function(DeferredState2) {
+      DeferredState2[DeferredState2["PENDING"] = 0] = "PENDING";
+      DeferredState2[DeferredState2["REJECTED"] = 1] = "REJECTED";
+      DeferredState2[DeferredState2["RESOLVED"] = 2] = "RESOLVED";
+    })(DeferredState = exports2.DeferredState || (exports2.DeferredState = {}));
+    var Deferred = class {
       /**
-       * The Clear Pages operation clears a set of pages from a page blob
-       * @param contentLength The length of the request.
-       * @param options The options parameters.
+       * @param preventUnhandledRejectionWarning - prevents the warning
+       * "Unhandled Promise rejection" by adding a noop rejection handler.
+       * Working with calls returned from the runtime-rpc package in an
+       * async function usually means awaiting one call property after
+       * the other. This means that the "status" is not being awaited when
+       * an earlier await for the "headers" is rejected. This causes the
+       * "unhandled promise reject" warning. A more correct behaviour for
+       * calls might be to become aware whether at least one of the
+       * promises is handled and swallow the rejection warning for the
+       * others.
        */
-      clearPages(contentLength, options) {
-        return this.client.sendOperationRequest({ contentLength, options }, clearPagesOperationSpec);
+      constructor(preventUnhandledRejectionWarning = true) {
+        this._state = DeferredState.PENDING;
+        this._promise = new Promise((resolve3, reject) => {
+          this._resolve = resolve3;
+          this._reject = reject;
+        });
+        if (preventUnhandledRejectionWarning) {
+          this._promise.catch((_2) => {
+          });
+        }
       }
       /**
-       * The Upload Pages operation writes a range of pages to a page blob where the contents are read from a
-       * URL
-       * @param sourceUrl Specify a URL to the copy source.
-       * @param sourceRange Bytes of source data in the specified range. The length of this range should
-       *                    match the ContentLength header and x-ms-range/Range destination range header.
-       * @param contentLength The length of the request.
-       * @param range The range of bytes to which the source range would be written. The range should be 512
-       *              aligned and range-end is required.
-       * @param options The options parameters.
+       * Get the current state of the promise.
        */
-      uploadPagesFromURL(sourceUrl, sourceRange, contentLength, range, options) {
-        return this.client.sendOperationRequest({ sourceUrl, sourceRange, contentLength, range, options }, uploadPagesFromURLOperationSpec);
+      get state() {
+        return this._state;
       }
       /**
-       * The Get Page Ranges operation returns the list of valid page ranges for a page blob or snapshot of a
-       * page blob
-       * @param options The options parameters.
+       * Get the deferred promise.
        */
-      getPageRanges(options) {
-        return this.client.sendOperationRequest({ options }, getPageRangesOperationSpec);
+      get promise() {
+        return this._promise;
       }
       /**
-       * The Get Page Ranges Diff operation returns the list of valid page ranges for a page blob that were
-       * changed between target blob and previous snapshot.
-       * @param options The options parameters.
+       * Resolve the promise. Throws if the promise is already resolved or rejected.
        */
-      getPageRangesDiff(options) {
-        return this.client.sendOperationRequest({ options }, getPageRangesDiffOperationSpec);
+      resolve(value) {
+        if (this.state !== DeferredState.PENDING)
+          throw new Error(`cannot resolve ${DeferredState[this.state].toLowerCase()}`);
+        this._resolve(value);
+        this._state = DeferredState.RESOLVED;
       }
       /**
-       * Resize the Blob
-       * @param blobContentLength This header specifies the maximum size for the page blob, up to 1 TB. The
-       *                          page blob size must be aligned to a 512-byte boundary.
-       * @param options The options parameters.
+       * Reject the promise. Throws if the promise is already resolved or rejected.
        */
-      resize(blobContentLength, options) {
-        return this.client.sendOperationRequest({ blobContentLength, options }, resizeOperationSpec);
+      reject(reason) {
+        if (this.state !== DeferredState.PENDING)
+          throw new Error(`cannot reject ${DeferredState[this.state].toLowerCase()}`);
+        this._reject(reason);
+        this._state = DeferredState.REJECTED;
       }
       /**
-       * Update the sequence number of the blob
-       * @param sequenceNumberAction Required if the x-ms-blob-sequence-number header is set for the request.
-       *                             This property applies to page blobs only. This property indicates how the service should modify the
-       *                             blob's sequence number
-       * @param options The options parameters.
+       * Resolve the promise. Ignore if not pending.
        */
-      updateSequenceNumber(sequenceNumberAction, options) {
-        return this.client.sendOperationRequest({ sequenceNumberAction, options }, updateSequenceNumberOperationSpec);
+      resolvePending(val) {
+        if (this._state === DeferredState.PENDING)
+          this.resolve(val);
       }
       /**
-       * The Copy Incremental operation copies a snapshot of the source page blob to a destination page blob.
-       * The snapshot is copied such that only the differential changes between the previously copied
-       * snapshot are transferred to the destination. The copied snapshots are complete copies of the
-       * original snapshot and can be read or copied from as usual. This API is supported since REST version
-       * 2016-05-31.
-       * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to
-       *                   2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would
-       *                   appear in a request URI. The source blob must either be public or must be authenticated via a shared
-       *                   access signature.
-       * @param options The options parameters.
+       * Reject the promise. Ignore if not pending.
        */
-      copyIncremental(copySource, options) {
-        return this.client.sendOperationRequest({ copySource, options }, copyIncrementalOperationSpec);
+      rejectPending(reason) {
+        if (this._state === DeferredState.PENDING)
+          this.reject(reason);
       }
     };
-    exports2.PageBlobImpl = PageBlobImpl;
-    var xmlSerializer = coreClient.createSerializer(
-      Mappers,
-      /* isXml */
-      true
-    );
-    var createOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.PageBlobCreateHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobCreateExceptionHeaders
-        }
-      },
-      queryParameters: [Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.contentLength,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.blobCacheControl,
-        Parameters.blobContentType,
-        Parameters.blobContentMD5,
-        Parameters.blobContentEncoding,
-        Parameters.blobContentLanguage,
-        Parameters.blobContentDisposition,
-        Parameters.immutabilityPolicyExpiry,
-        Parameters.immutabilityPolicyMode,
-        Parameters.encryptionScope,
-        Parameters.tier,
-        Parameters.blobTagsString,
-        Parameters.legalHold1,
-        Parameters.blobType,
-        Parameters.blobContentLength,
-        Parameters.blobSequenceNumber
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var uploadPagesOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.PageBlobUploadPagesHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobUploadPagesExceptionHeaders
-        }
-      },
-      requestBody: Parameters.body1,
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.contentLength,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.range,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope,
-        Parameters.transactionalContentMD5,
-        Parameters.transactionalContentCrc64,
-        Parameters.contentType1,
-        Parameters.accept2,
-        Parameters.pageWrite,
-        Parameters.ifSequenceNumberLessThanOrEqualTo,
-        Parameters.ifSequenceNumberLessThan,
-        Parameters.ifSequenceNumberEqualTo
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "binary",
-      serializer: xmlSerializer
-    };
-    var clearPagesOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.PageBlobClearPagesHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobClearPagesExceptionHeaders
-        }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.contentLength,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.range,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope,
-        Parameters.ifSequenceNumberLessThanOrEqualTo,
-        Parameters.ifSequenceNumberLessThan,
-        Parameters.ifSequenceNumberEqualTo,
-        Parameters.pageWrite1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var uploadPagesFromURLOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.PageBlobUploadPagesFromURLHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobUploadPagesFromURLExceptionHeaders
-        }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.contentLength,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope,
-        Parameters.sourceIfModifiedSince,
-        Parameters.sourceIfUnmodifiedSince,
-        Parameters.sourceIfMatch,
-        Parameters.sourceIfNoneMatch,
-        Parameters.sourceContentMD5,
-        Parameters.copySourceAuthorization,
-        Parameters.fileRequestIntent,
-        Parameters.pageWrite,
-        Parameters.ifSequenceNumberLessThanOrEqualTo,
-        Parameters.ifSequenceNumberLessThan,
-        Parameters.ifSequenceNumberEqualTo,
-        Parameters.sourceUrl,
-        Parameters.sourceRange,
-        Parameters.sourceContentCrc64,
-        Parameters.range1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var getPageRangesOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.PageList,
-          headersMapper: Mappers.PageBlobGetPageRangesHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobGetPageRangesExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.marker,
-        Parameters.maxPageSize,
-        Parameters.snapshot,
-        Parameters.comp20
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.range,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var getPageRangesDiffOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.PageList,
-          headersMapper: Mappers.PageBlobGetPageRangesDiffHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobGetPageRangesDiffExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.marker,
-        Parameters.maxPageSize,
-        Parameters.snapshot,
-        Parameters.comp20,
-        Parameters.prevsnapshot
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.range,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.prevSnapshotUrl
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var resizeOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.PageBlobResizeHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobResizeExceptionHeaders
-        }
-      },
-      queryParameters: [Parameters.comp, Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope,
-        Parameters.blobContentLength
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var updateSequenceNumberOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.PageBlobUpdateSequenceNumberHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobUpdateSequenceNumberExceptionHeaders
-        }
-      },
-      queryParameters: [Parameters.comp, Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.blobSequenceNumber,
-        Parameters.sequenceNumberAction
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var copyIncrementalOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        202: {
-          headersMapper: Mappers.PageBlobCopyIncrementalHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobCopyIncrementalExceptionHeaders
-        }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp21],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.copySource
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
+    exports2.Deferred = Deferred;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/appendBlob.js
-var require_appendBlob = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/appendBlob.js"(exports2) {
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-output-stream.js
+var require_rpc_output_stream = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-output-stream.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AppendBlobImpl = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var coreClient = tslib_1.__importStar(require_commonjs8());
-    var Mappers = tslib_1.__importStar(require_mappers());
-    var Parameters = tslib_1.__importStar(require_parameters());
-    var AppendBlobImpl = class {
-      client;
+    exports2.RpcOutputStreamController = void 0;
+    var deferred_1 = require_deferred();
+    var runtime_1 = require_commonjs16();
+    var RpcOutputStreamController = class {
+      constructor() {
+        this._lis = {
+          nxt: [],
+          msg: [],
+          err: [],
+          cmp: []
+        };
+        this._closed = false;
+        this._itState = { q: [] };
+      }
+      // --- RpcOutputStream callback API
+      onNext(callback) {
+        return this.addLis(callback, this._lis.nxt);
+      }
+      onMessage(callback) {
+        return this.addLis(callback, this._lis.msg);
+      }
+      onError(callback) {
+        return this.addLis(callback, this._lis.err);
+      }
+      onComplete(callback) {
+        return this.addLis(callback, this._lis.cmp);
+      }
+      addLis(callback, list) {
+        list.push(callback);
+        return () => {
+          let i = list.indexOf(callback);
+          if (i >= 0)
+            list.splice(i, 1);
+        };
+      }
+      // remove all listeners
+      clearLis() {
+        for (let l of Object.values(this._lis))
+          l.splice(0, l.length);
+      }
+      // --- Controller API
       /**
-       * Initialize a new instance of the class AppendBlob class.
-       * @param client Reference to the service client
+       * Is this stream already closed by a completion or error?
        */
-      constructor(client) {
-        this.client = client;
+      get closed() {
+        return this._closed !== false;
       }
       /**
-       * The Create Append Blob operation creates a new append blob.
-       * @param contentLength The length of the request.
-       * @param options The options parameters.
+       * Emit message, close with error, or close successfully, but only one
+       * at a time.
+       * Can be used to wrap a stream by using the other stream's `onNext`.
        */
-      create(contentLength, options) {
-        return this.client.sendOperationRequest({ contentLength, options }, createOperationSpec);
+      notifyNext(message, error3, complete) {
+        runtime_1.assert((message ? 1 : 0) + (error3 ? 1 : 0) + (complete ? 1 : 0) <= 1, "only one emission at a time");
+        if (message)
+          this.notifyMessage(message);
+        if (error3)
+          this.notifyError(error3);
+        if (complete)
+          this.notifyComplete();
       }
       /**
-       * The Append Block operation commits a new block of data to the end of an existing append blob. The
-       * Append Block operation is permitted only if the blob was created with x-ms-blob-type set to
-       * AppendBlob. Append Block is supported only on version 2015-02-21 version or later.
-       * @param contentLength The length of the request.
-       * @param body Initial data
-       * @param options The options parameters.
+       * Emits a new message. Throws if stream is closed.
+       *
+       * Triggers onNext and onMessage callbacks.
        */
-      appendBlock(contentLength, body, options) {
-        return this.client.sendOperationRequest({ contentLength, body, options }, appendBlockOperationSpec);
+      notifyMessage(message) {
+        runtime_1.assert(!this.closed, "stream is closed");
+        this.pushIt({ value: message, done: false });
+        this._lis.msg.forEach((l) => l(message));
+        this._lis.nxt.forEach((l) => l(message, void 0, false));
       }
       /**
-       * The Append Block operation commits a new block of data to the end of an existing append blob where
-       * the contents are read from a source url. The Append Block operation is permitted only if the blob
-       * was created with x-ms-blob-type set to AppendBlob. Append Block is supported only on version
-       * 2015-02-21 version or later.
-       * @param sourceUrl Specify a URL to the copy source.
-       * @param contentLength The length of the request.
-       * @param options The options parameters.
+       * Closes the stream with an error. Throws if stream is closed.
+       *
+       * Triggers onNext and onError callbacks.
        */
-      appendBlockFromUrl(sourceUrl, contentLength, options) {
-        return this.client.sendOperationRequest({ sourceUrl, contentLength, options }, appendBlockFromUrlOperationSpec);
+      notifyError(error3) {
+        runtime_1.assert(!this.closed, "stream is closed");
+        this._closed = error3;
+        this.pushIt(error3);
+        this._lis.err.forEach((l) => l(error3));
+        this._lis.nxt.forEach((l) => l(void 0, error3, false));
+        this.clearLis();
       }
       /**
-       * The Seal operation seals the Append Blob to make it read-only. Seal is supported only on version
-       * 2019-12-12 version or later.
-       * @param options The options parameters.
+       * Closes the stream successfully. Throws if stream is closed.
+       *
+       * Triggers onNext and onComplete callbacks.
        */
-      seal(options) {
-        return this.client.sendOperationRequest({ options }, sealOperationSpec);
+      notifyComplete() {
+        runtime_1.assert(!this.closed, "stream is closed");
+        this._closed = true;
+        this.pushIt({ value: null, done: true });
+        this._lis.cmp.forEach((l) => l());
+        this._lis.nxt.forEach((l) => l(void 0, void 0, true));
+        this.clearLis();
       }
-    };
-    exports2.AppendBlobImpl = AppendBlobImpl;
-    var xmlSerializer = coreClient.createSerializer(
-      Mappers,
-      /* isXml */
-      true
-    );
-    var createOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.AppendBlobCreateHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.AppendBlobCreateExceptionHeaders
+      /**
+       * Creates an async iterator (that can be used with `for await {...}`)
+       * to consume the stream.
+       *
+       * Some things to note:
+       * - If an error occurs, the `for await` will throw it.
+       * - If an error occurred before the `for await` was started, `for await`
+       *   will re-throw it.
+       * - If the stream is already complete, the `for await` will be empty.
+       * - If your `for await` consumes slower than the stream produces,
+       *   for example because you are relaying messages in a slow operation,
+       *   messages are queued.
+       */
+      [Symbol.asyncIterator]() {
+        if (this._closed === true)
+          this.pushIt({ value: null, done: true });
+        else if (this._closed !== false)
+          this.pushIt(this._closed);
+        return {
+          next: () => {
+            let state = this._itState;
+            runtime_1.assert(state, "bad state");
+            runtime_1.assert(!state.p, "iterator contract broken");
+            let first = state.q.shift();
+            if (first)
+              return "value" in first ? Promise.resolve(first) : Promise.reject(first);
+            state.p = new deferred_1.Deferred();
+            return state.p.promise;
+          }
+        };
+      }
+      // "push" a new iterator result.
+      // this either resolves a pending promise, or enqueues the result.
+      pushIt(result) {
+        let state = this._itState;
+        if (state.p) {
+          const p = state.p;
+          runtime_1.assert(p.state == deferred_1.DeferredState.PENDING, "iterator contract broken");
+          "value" in result ? p.resolve(result) : p.reject(result);
+          delete state.p;
+        } else {
+          state.q.push(result);
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.contentLength,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.blobCacheControl,
-        Parameters.blobContentType,
-        Parameters.blobContentMD5,
-        Parameters.blobContentEncoding,
-        Parameters.blobContentLanguage,
-        Parameters.blobContentDisposition,
-        Parameters.immutabilityPolicyExpiry,
-        Parameters.immutabilityPolicyMode,
-        Parameters.encryptionScope,
-        Parameters.blobTagsString,
-        Parameters.legalHold1,
-        Parameters.blobType1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+      }
     };
-    var appendBlockOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.AppendBlobAppendBlockHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.AppendBlobAppendBlockExceptionHeaders
+    exports2.RpcOutputStreamController = RpcOutputStreamController;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/unary-call.js
+var require_unary_call = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/unary-call.js"(exports2) {
+    "use strict";
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve3) {
+          resolve3(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve3, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
         }
-      },
-      requestBody: Parameters.body1,
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp22],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.contentLength,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope,
-        Parameters.transactionalContentMD5,
-        Parameters.transactionalContentCrc64,
-        Parameters.contentType1,
-        Parameters.accept2,
-        Parameters.maxSize,
-        Parameters.appendPosition
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "binary",
-      serializer: xmlSerializer
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function step(result) {
+          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
     };
-    var appendBlockFromUrlOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.AppendBlobAppendBlockFromUrlHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.AppendBlobAppendBlockFromUrlExceptionHeaders
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.UnaryCall = void 0;
+    var UnaryCall = class {
+      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
+        this.method = method;
+        this.requestHeaders = requestHeaders;
+        this.request = request2;
+        this.headers = headers;
+        this.response = response;
+        this.status = status;
+        this.trailers = trailers;
+      }
+      /**
+       * If you are only interested in the final outcome of this call,
+       * you can await it to receive a `FinishedUnaryCall`.
+       */
+      then(onfulfilled, onrejected) {
+        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
+      }
+      promiseFinished() {
+        return __awaiter2(this, void 0, void 0, function* () {
+          let [headers, response, status, trailers] = yield Promise.all([this.headers, this.response, this.status, this.trailers]);
+          return {
+            method: this.method,
+            requestHeaders: this.requestHeaders,
+            request: this.request,
+            headers,
+            response,
+            status,
+            trailers
+          };
+        });
+      }
+    };
+    exports2.UnaryCall = UnaryCall;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-streaming-call.js
+var require_server_streaming_call = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-streaming-call.js"(exports2) {
+    "use strict";
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve3) {
+          resolve3(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve3, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp22],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.contentLength,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope,
-        Parameters.sourceIfModifiedSince,
-        Parameters.sourceIfUnmodifiedSince,
-        Parameters.sourceIfMatch,
-        Parameters.sourceIfNoneMatch,
-        Parameters.sourceContentMD5,
-        Parameters.copySourceAuthorization,
-        Parameters.fileRequestIntent,
-        Parameters.transactionalContentMD5,
-        Parameters.sourceUrl,
-        Parameters.sourceContentCrc64,
-        Parameters.maxSize,
-        Parameters.appendPosition,
-        Parameters.sourceRange1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function step(result) {
+          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
     };
-    var sealOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.AppendBlobSealHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.AppendBlobSealExceptionHeaders
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ServerStreamingCall = void 0;
+    var ServerStreamingCall = class {
+      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
+        this.method = method;
+        this.requestHeaders = requestHeaders;
+        this.request = request2;
+        this.headers = headers;
+        this.responses = response;
+        this.status = status;
+        this.trailers = trailers;
+      }
+      /**
+       * Instead of awaiting the response status and trailers, you can
+       * just as well await this call itself to receive the server outcome.
+       * You should first setup some listeners to the `request` to
+       * see the actual messages the server replied with.
+       */
+      then(onfulfilled, onrejected) {
+        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
+      }
+      promiseFinished() {
+        return __awaiter2(this, void 0, void 0, function* () {
+          let [headers, status, trailers] = yield Promise.all([this.headers, this.status, this.trailers]);
+          return {
+            method: this.method,
+            requestHeaders: this.requestHeaders,
+            request: this.request,
+            headers,
+            status,
+            trailers
+          };
+        });
+      }
+    };
+    exports2.ServerStreamingCall = ServerStreamingCall;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/client-streaming-call.js
+var require_client_streaming_call = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/client-streaming-call.js"(exports2) {
+    "use strict";
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve3) {
+          resolve3(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve3, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp23],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.appendPosition
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function step(result) {
+          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ClientStreamingCall = void 0;
+    var ClientStreamingCall = class {
+      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
+        this.method = method;
+        this.requestHeaders = requestHeaders;
+        this.requests = request2;
+        this.headers = headers;
+        this.response = response;
+        this.status = status;
+        this.trailers = trailers;
+      }
+      /**
+       * Instead of awaiting the response status and trailers, you can
+       * just as well await this call itself to receive the server outcome.
+       * Note that it may still be valid to send more request messages.
+       */
+      then(onfulfilled, onrejected) {
+        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
+      }
+      promiseFinished() {
+        return __awaiter2(this, void 0, void 0, function* () {
+          let [headers, response, status, trailers] = yield Promise.all([this.headers, this.response, this.status, this.trailers]);
+          return {
+            method: this.method,
+            requestHeaders: this.requestHeaders,
+            headers,
+            response,
+            status,
+            trailers
+          };
+        });
+      }
+    };
+    exports2.ClientStreamingCall = ClientStreamingCall;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/duplex-streaming-call.js
+var require_duplex_streaming_call = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/duplex-streaming-call.js"(exports2) {
+    "use strict";
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve3) {
+          resolve3(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve3, 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 ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.DuplexStreamingCall = void 0;
+    var DuplexStreamingCall = class {
+      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
+        this.method = method;
+        this.requestHeaders = requestHeaders;
+        this.requests = request2;
+        this.headers = headers;
+        this.responses = response;
+        this.status = status;
+        this.trailers = trailers;
+      }
+      /**
+       * Instead of awaiting the response status and trailers, you can
+       * just as well await this call itself to receive the server outcome.
+       * Note that it may still be valid to send more request messages.
+       */
+      then(onfulfilled, onrejected) {
+        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
+      }
+      promiseFinished() {
+        return __awaiter2(this, void 0, void 0, function* () {
+          let [headers, status, trailers] = yield Promise.all([this.headers, this.status, this.trailers]);
+          return {
+            method: this.method,
+            requestHeaders: this.requestHeaders,
+            headers,
+            status,
+            trailers
+          };
+        });
+      }
     };
+    exports2.DuplexStreamingCall = DuplexStreamingCall;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blockBlob.js
-var require_blockBlob = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blockBlob.js"(exports2) {
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/test-transport.js
+var require_test_transport = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/test-transport.js"(exports2) {
     "use strict";
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve3) {
+          resolve3(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve3, 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 ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlockBlobImpl = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var coreClient = tslib_1.__importStar(require_commonjs8());
-    var Mappers = tslib_1.__importStar(require_mappers());
-    var Parameters = tslib_1.__importStar(require_parameters());
-    var BlockBlobImpl = class {
-      client;
+    exports2.TestTransport = void 0;
+    var rpc_error_1 = require_rpc_error();
+    var runtime_1 = require_commonjs16();
+    var rpc_output_stream_1 = require_rpc_output_stream();
+    var rpc_options_1 = require_rpc_options();
+    var unary_call_1 = require_unary_call();
+    var server_streaming_call_1 = require_server_streaming_call();
+    var client_streaming_call_1 = require_client_streaming_call();
+    var duplex_streaming_call_1 = require_duplex_streaming_call();
+    var TestTransport = class _TestTransport {
       /**
-       * Initialize a new instance of the class BlockBlob class.
-       * @param client Reference to the service client
+       * Initialize with mock data. Omitted fields have default value.
        */
-      constructor(client) {
-        this.client = client;
+      constructor(data) {
+        this.suppressUncaughtRejections = true;
+        this.headerDelay = 10;
+        this.responseDelay = 50;
+        this.betweenResponseDelay = 10;
+        this.afterResponseDelay = 10;
+        this.data = data !== null && data !== void 0 ? data : {};
       }
       /**
-       * The Upload Block Blob operation updates the content of an existing block blob. Updating an existing
-       * block blob overwrites any existing metadata on the blob. Partial updates are not supported with Put
-       * Blob; the content of the existing blob is overwritten with the content of the new blob. To perform a
-       * partial update of the content of a block blob, use the Put Block List operation.
-       * @param contentLength The length of the request.
-       * @param body Initial data
-       * @param options The options parameters.
+       * Sent message(s) during the last operation.
        */
-      upload(contentLength, body, options) {
-        return this.client.sendOperationRequest({ contentLength, body, options }, uploadOperationSpec);
+      get sentMessages() {
+        if (this.lastInput instanceof TestInputStream) {
+          return this.lastInput.sent;
+        } else if (typeof this.lastInput == "object") {
+          return [this.lastInput.single];
+        }
+        return [];
       }
       /**
-       * The Put Blob from URL operation creates a new Block Blob where the contents of the blob are read
-       * from a given URL.  This API is supported beginning with the 2020-04-08 version. Partial updates are
-       * not supported with Put Blob from URL; the content of an existing blob is overwritten with the
-       * content of the new blob.  To perform partial updates to a block blob’s contents using a source URL,
-       * use the Put Block from URL API in conjunction with Put Block List.
-       * @param contentLength The length of the request.
-       * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to
-       *                   2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would
-       *                   appear in a request URI. The source blob must either be public or must be authenticated via a shared
-       *                   access signature.
-       * @param options The options parameters.
+       * Sending message(s) completed?
        */
-      putBlobFromUrl(contentLength, copySource, options) {
-        return this.client.sendOperationRequest({ contentLength, copySource, options }, putBlobFromUrlOperationSpec);
+      get sendComplete() {
+        if (this.lastInput instanceof TestInputStream) {
+          return this.lastInput.completed;
+        } else if (typeof this.lastInput == "object") {
+          return true;
+        }
+        return false;
       }
-      /**
-       * The Stage Block operation creates a new block to be committed as part of a blob
-       * @param blockId A valid Base64 string value that identifies the block. Prior to encoding, the string
-       *                must be less than or equal to 64 bytes in size. For a given blob, the length of the value specified
-       *                for the blockid parameter must be the same size for each block.
-       * @param contentLength The length of the request.
-       * @param body Initial data
-       * @param options The options parameters.
-       */
-      stageBlock(blockId, contentLength, body, options) {
-        return this.client.sendOperationRequest({ blockId, contentLength, body, options }, stageBlockOperationSpec);
+      // Creates a promise for response headers from the mock data.
+      promiseHeaders() {
+        var _a;
+        const headers = (_a = this.data.headers) !== null && _a !== void 0 ? _a : _TestTransport.defaultHeaders;
+        return headers instanceof rpc_error_1.RpcError ? Promise.reject(headers) : Promise.resolve(headers);
       }
-      /**
-       * The Stage Block operation creates a new block to be committed as part of a blob where the contents
-       * are read from a URL.
-       * @param blockId A valid Base64 string value that identifies the block. Prior to encoding, the string
-       *                must be less than or equal to 64 bytes in size. For a given blob, the length of the value specified
-       *                for the blockid parameter must be the same size for each block.
-       * @param contentLength The length of the request.
-       * @param sourceUrl Specify a URL to the copy source.
-       * @param options The options parameters.
-       */
-      stageBlockFromURL(blockId, contentLength, sourceUrl, options) {
-        return this.client.sendOperationRequest({ blockId, contentLength, sourceUrl, options }, stageBlockFromURLOperationSpec);
+      // Creates a promise for a single, valid, message from the mock data.
+      promiseSingleResponse(method) {
+        if (this.data.response instanceof rpc_error_1.RpcError) {
+          return Promise.reject(this.data.response);
+        }
+        let r;
+        if (Array.isArray(this.data.response)) {
+          runtime_1.assert(this.data.response.length > 0);
+          r = this.data.response[0];
+        } else if (this.data.response !== void 0) {
+          r = this.data.response;
+        } else {
+          r = method.O.create();
+        }
+        runtime_1.assert(method.O.is(r));
+        return Promise.resolve(r);
       }
       /**
-       * The Commit Block List operation writes a blob by specifying the list of block IDs that make up the
-       * blob. In order to be written as part of a blob, a block must have been successfully written to the
-       * server in a prior Put Block operation. You can call Put Block List to update a blob by uploading
-       * only those blocks that have changed, then committing the new and existing blocks together. You can
-       * do this by specifying whether to commit a block from the committed block list or from the
-       * uncommitted block list, or to commit the most recently uploaded version of the block, whichever list
-       * it may belong to.
-       * @param blocks Blob Blocks.
-       * @param options The options parameters.
+       * Pushes response messages from the mock data to the output stream.
+       * If an error response, status or trailers are mocked, the stream is
+       * closed with the respective error.
+       * Otherwise, stream is completed successfully.
+       *
+       * The returned promise resolves when the stream is closed. It should
+       * not reject. If it does, code is broken.
        */
-      commitBlockList(blocks, options) {
-        return this.client.sendOperationRequest({ blocks, options }, commitBlockListOperationSpec);
+      streamResponses(method, stream, abort) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          const messages = [];
+          if (this.data.response === void 0) {
+            messages.push(method.O.create());
+          } else if (Array.isArray(this.data.response)) {
+            for (let msg of this.data.response) {
+              runtime_1.assert(method.O.is(msg));
+              messages.push(msg);
+            }
+          } else if (!(this.data.response instanceof rpc_error_1.RpcError)) {
+            runtime_1.assert(method.O.is(this.data.response));
+            messages.push(this.data.response);
+          }
+          try {
+            yield delay(this.responseDelay, abort)(void 0);
+          } catch (error3) {
+            stream.notifyError(error3);
+            return;
+          }
+          if (this.data.response instanceof rpc_error_1.RpcError) {
+            stream.notifyError(this.data.response);
+            return;
+          }
+          for (let msg of messages) {
+            stream.notifyMessage(msg);
+            try {
+              yield delay(this.betweenResponseDelay, abort)(void 0);
+            } catch (error3) {
+              stream.notifyError(error3);
+              return;
+            }
+          }
+          if (this.data.status instanceof rpc_error_1.RpcError) {
+            stream.notifyError(this.data.status);
+            return;
+          }
+          if (this.data.trailers instanceof rpc_error_1.RpcError) {
+            stream.notifyError(this.data.trailers);
+            return;
+          }
+          stream.notifyComplete();
+        });
       }
-      /**
-       * The Get Block List operation retrieves the list of blocks that have been uploaded as part of a block
-       * blob
-       * @param listType Specifies whether to return the list of committed blocks, the list of uncommitted
-       *                 blocks, or both lists together.
-       * @param options The options parameters.
-       */
-      getBlockList(listType, options) {
-        return this.client.sendOperationRequest({ listType, options }, getBlockListOperationSpec);
+      // Creates a promise for response status from the mock data.
+      promiseStatus() {
+        var _a;
+        const status = (_a = this.data.status) !== null && _a !== void 0 ? _a : _TestTransport.defaultStatus;
+        return status instanceof rpc_error_1.RpcError ? Promise.reject(status) : Promise.resolve(status);
       }
-    };
-    exports2.BlockBlobImpl = BlockBlobImpl;
-    var xmlSerializer = coreClient.createSerializer(
-      Mappers,
-      /* isXml */
-      true
-    );
-    var uploadOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.BlockBlobUploadHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlockBlobUploadExceptionHeaders
-        }
-      },
-      requestBody: Parameters.body1,
-      queryParameters: [Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.contentLength,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.blobCacheControl,
-        Parameters.blobContentType,
-        Parameters.blobContentMD5,
-        Parameters.blobContentEncoding,
-        Parameters.blobContentLanguage,
-        Parameters.blobContentDisposition,
-        Parameters.immutabilityPolicyExpiry,
-        Parameters.immutabilityPolicyMode,
-        Parameters.encryptionScope,
-        Parameters.tier,
-        Parameters.blobTagsString,
-        Parameters.legalHold1,
-        Parameters.transactionalContentMD5,
-        Parameters.transactionalContentCrc64,
-        Parameters.contentType1,
-        Parameters.accept2,
-        Parameters.blobType2
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "binary",
-      serializer: xmlSerializer
-    };
-    var putBlobFromUrlOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.BlockBlobPutBlobFromUrlHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlockBlobPutBlobFromUrlExceptionHeaders
+      // Creates a promise for response trailers from the mock data.
+      promiseTrailers() {
+        var _a;
+        const trailers = (_a = this.data.trailers) !== null && _a !== void 0 ? _a : _TestTransport.defaultTrailers;
+        return trailers instanceof rpc_error_1.RpcError ? Promise.reject(trailers) : Promise.resolve(trailers);
+      }
+      maybeSuppressUncaught(...promise) {
+        if (this.suppressUncaughtRejections) {
+          for (let p of promise) {
+            p.catch(() => {
+            });
+          }
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.contentLength,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.blobCacheControl,
-        Parameters.blobContentType,
-        Parameters.blobContentMD5,
-        Parameters.blobContentEncoding,
-        Parameters.blobContentLanguage,
-        Parameters.blobContentDisposition,
-        Parameters.encryptionScope,
-        Parameters.tier,
-        Parameters.sourceIfModifiedSince,
-        Parameters.sourceIfUnmodifiedSince,
-        Parameters.sourceIfMatch,
-        Parameters.sourceIfNoneMatch,
-        Parameters.sourceIfTags,
-        Parameters.copySource,
-        Parameters.blobTagsString,
-        Parameters.sourceContentMD5,
-        Parameters.copySourceAuthorization,
-        Parameters.copySourceTags,
-        Parameters.fileRequestIntent,
-        Parameters.transactionalContentMD5,
-        Parameters.blobType2,
-        Parameters.copySourceBlobProperties
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+      }
+      mergeOptions(options) {
+        return rpc_options_1.mergeRpcOptions({}, options);
+      }
+      unary(method, input, options) {
+        var _a;
+        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), responsePromise = headersPromise.catch((_2) => {
+        }).then(delay(this.responseDelay, options.abort)).then((_2) => this.promiseSingleResponse(method)), statusPromise = responsePromise.catch((_2) => {
+        }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseStatus()), trailersPromise = responsePromise.catch((_2) => {
+        }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseTrailers());
+        this.maybeSuppressUncaught(statusPromise, trailersPromise);
+        this.lastInput = { single: input };
+        return new unary_call_1.UnaryCall(method, requestHeaders, input, headersPromise, responsePromise, statusPromise, trailersPromise);
+      }
+      serverStreaming(method, input, options) {
+        var _a;
+        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), outputStream = new rpc_output_stream_1.RpcOutputStreamController(), responseStreamClosedPromise = headersPromise.then(delay(this.responseDelay, options.abort)).catch(() => {
+        }).then(() => this.streamResponses(method, outputStream, options.abort)).then(delay(this.afterResponseDelay, options.abort)), statusPromise = responseStreamClosedPromise.then(() => this.promiseStatus()), trailersPromise = responseStreamClosedPromise.then(() => this.promiseTrailers());
+        this.maybeSuppressUncaught(statusPromise, trailersPromise);
+        this.lastInput = { single: input };
+        return new server_streaming_call_1.ServerStreamingCall(method, requestHeaders, input, headersPromise, outputStream, statusPromise, trailersPromise);
+      }
+      clientStreaming(method, options) {
+        var _a;
+        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), responsePromise = headersPromise.catch((_2) => {
+        }).then(delay(this.responseDelay, options.abort)).then((_2) => this.promiseSingleResponse(method)), statusPromise = responsePromise.catch((_2) => {
+        }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseStatus()), trailersPromise = responsePromise.catch((_2) => {
+        }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseTrailers());
+        this.maybeSuppressUncaught(statusPromise, trailersPromise);
+        this.lastInput = new TestInputStream(this.data, options.abort);
+        return new client_streaming_call_1.ClientStreamingCall(method, requestHeaders, this.lastInput, headersPromise, responsePromise, statusPromise, trailersPromise);
+      }
+      duplex(method, options) {
+        var _a;
+        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), outputStream = new rpc_output_stream_1.RpcOutputStreamController(), responseStreamClosedPromise = headersPromise.then(delay(this.responseDelay, options.abort)).catch(() => {
+        }).then(() => this.streamResponses(method, outputStream, options.abort)).then(delay(this.afterResponseDelay, options.abort)), statusPromise = responseStreamClosedPromise.then(() => this.promiseStatus()), trailersPromise = responseStreamClosedPromise.then(() => this.promiseTrailers());
+        this.maybeSuppressUncaught(statusPromise, trailersPromise);
+        this.lastInput = new TestInputStream(this.data, options.abort);
+        return new duplex_streaming_call_1.DuplexStreamingCall(method, requestHeaders, this.lastInput, headersPromise, outputStream, statusPromise, trailersPromise);
+      }
     };
-    var stageBlockOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.BlockBlobStageBlockHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlockBlobStageBlockExceptionHeaders
-        }
-      },
-      requestBody: Parameters.body1,
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.comp24,
-        Parameters.blockId
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.contentLength,
-        Parameters.leaseId,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.encryptionScope,
-        Parameters.transactionalContentMD5,
-        Parameters.transactionalContentCrc64,
-        Parameters.contentType1,
-        Parameters.accept2
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "binary",
-      serializer: xmlSerializer
+    exports2.TestTransport = TestTransport;
+    TestTransport.defaultHeaders = {
+      responseHeader: "test"
     };
-    var stageBlockFromURLOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.BlockBlobStageBlockFromURLHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlockBlobStageBlockFromURLExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.comp24,
-        Parameters.blockId
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.contentLength,
-        Parameters.leaseId,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.encryptionScope,
-        Parameters.sourceIfModifiedSince,
-        Parameters.sourceIfUnmodifiedSince,
-        Parameters.sourceIfMatch,
-        Parameters.sourceIfNoneMatch,
-        Parameters.sourceContentMD5,
-        Parameters.copySourceAuthorization,
-        Parameters.fileRequestIntent,
-        Parameters.sourceUrl,
-        Parameters.sourceContentCrc64,
-        Parameters.sourceRange1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+    TestTransport.defaultStatus = {
+      code: "OK",
+      detail: "all good"
     };
-    var commitBlockListOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.BlockBlobCommitBlockListHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlockBlobCommitBlockListExceptionHeaders
-        }
-      },
-      requestBody: Parameters.blocks,
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp25],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.contentType,
-        Parameters.accept,
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.blobCacheControl,
-        Parameters.blobContentType,
-        Parameters.blobContentMD5,
-        Parameters.blobContentEncoding,
-        Parameters.blobContentLanguage,
-        Parameters.blobContentDisposition,
-        Parameters.immutabilityPolicyExpiry,
-        Parameters.immutabilityPolicyMode,
-        Parameters.encryptionScope,
-        Parameters.tier,
-        Parameters.blobTagsString,
-        Parameters.legalHold1,
-        Parameters.transactionalContentMD5,
-        Parameters.transactionalContentCrc64
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "xml",
-      serializer: xmlSerializer
+    TestTransport.defaultTrailers = {
+      responseTrailer: "test"
     };
-    var getBlockListOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.BlockList,
-          headersMapper: Mappers.BlockBlobGetBlockListHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlockBlobGetBlockListExceptionHeaders
+    function delay(ms, abort) {
+      return (v) => new Promise((resolve3, reject) => {
+        if (abort === null || abort === void 0 ? void 0 : abort.aborted) {
+          reject(new rpc_error_1.RpcError("user cancel", "CANCELLED"));
+        } else {
+          const id = setTimeout(() => resolve3(v), ms);
+          if (abort) {
+            abort.addEventListener("abort", (ev) => {
+              clearTimeout(id);
+              reject(new rpc_error_1.RpcError("user cancel", "CANCELLED"));
+            });
+          }
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.comp25,
-        Parameters.listType
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+      });
+    }
+    var TestInputStream = class {
+      constructor(data, abort) {
+        this._completed = false;
+        this._sent = [];
+        this.data = data;
+        this.abort = abort;
+      }
+      get sent() {
+        return this._sent;
+      }
+      get completed() {
+        return this._completed;
+      }
+      send(message) {
+        if (this.data.inputMessage instanceof rpc_error_1.RpcError) {
+          return Promise.reject(this.data.inputMessage);
+        }
+        const delayMs = this.data.inputMessage === void 0 ? 10 : this.data.inputMessage;
+        return Promise.resolve(void 0).then(() => {
+          this._sent.push(message);
+        }).then(delay(delayMs, this.abort));
+      }
+      complete() {
+        if (this.data.inputComplete instanceof rpc_error_1.RpcError) {
+          return Promise.reject(this.data.inputComplete);
+        }
+        const delayMs = this.data.inputComplete === void 0 ? 10 : this.data.inputComplete;
+        return Promise.resolve(void 0).then(() => {
+          this._completed = true;
+        }).then(delay(delayMs, this.abort));
+      }
     };
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/index.js
-var require_operations = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/index.js"(exports2) {
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-interceptor.js
+var require_rpc_interceptor = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-interceptor.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    tslib_1.__exportStar(require_service(), exports2);
-    tslib_1.__exportStar(require_container(), exports2);
-    tslib_1.__exportStar(require_blob(), exports2);
-    tslib_1.__exportStar(require_pageBlob(), exports2);
-    tslib_1.__exportStar(require_appendBlob(), exports2);
-    tslib_1.__exportStar(require_blockBlob(), exports2);
+    exports2.stackDuplexStreamingInterceptors = exports2.stackClientStreamingInterceptors = exports2.stackServerStreamingInterceptors = exports2.stackUnaryInterceptors = exports2.stackIntercept = void 0;
+    var runtime_1 = require_commonjs16();
+    function stackIntercept(kind, transport, method, options, input) {
+      var _a, _b, _c, _d;
+      if (kind == "unary") {
+        let tail = (mtd, inp, opt) => transport.unary(mtd, inp, opt);
+        for (const curr of ((_a = options.interceptors) !== null && _a !== void 0 ? _a : []).filter((i) => i.interceptUnary).reverse()) {
+          const next = tail;
+          tail = (mtd, inp, opt) => curr.interceptUnary(next, mtd, inp, opt);
+        }
+        return tail(method, input, options);
+      }
+      if (kind == "serverStreaming") {
+        let tail = (mtd, inp, opt) => transport.serverStreaming(mtd, inp, opt);
+        for (const curr of ((_b = options.interceptors) !== null && _b !== void 0 ? _b : []).filter((i) => i.interceptServerStreaming).reverse()) {
+          const next = tail;
+          tail = (mtd, inp, opt) => curr.interceptServerStreaming(next, mtd, inp, opt);
+        }
+        return tail(method, input, options);
+      }
+      if (kind == "clientStreaming") {
+        let tail = (mtd, opt) => transport.clientStreaming(mtd, opt);
+        for (const curr of ((_c = options.interceptors) !== null && _c !== void 0 ? _c : []).filter((i) => i.interceptClientStreaming).reverse()) {
+          const next = tail;
+          tail = (mtd, opt) => curr.interceptClientStreaming(next, mtd, opt);
+        }
+        return tail(method, options);
+      }
+      if (kind == "duplex") {
+        let tail = (mtd, opt) => transport.duplex(mtd, opt);
+        for (const curr of ((_d = options.interceptors) !== null && _d !== void 0 ? _d : []).filter((i) => i.interceptDuplex).reverse()) {
+          const next = tail;
+          tail = (mtd, opt) => curr.interceptDuplex(next, mtd, opt);
+        }
+        return tail(method, options);
+      }
+      runtime_1.assertNever(kind);
+    }
+    exports2.stackIntercept = stackIntercept;
+    function stackUnaryInterceptors(transport, method, input, options) {
+      return stackIntercept("unary", transport, method, options, input);
+    }
+    exports2.stackUnaryInterceptors = stackUnaryInterceptors;
+    function stackServerStreamingInterceptors(transport, method, input, options) {
+      return stackIntercept("serverStreaming", transport, method, options, input);
+    }
+    exports2.stackServerStreamingInterceptors = stackServerStreamingInterceptors;
+    function stackClientStreamingInterceptors(transport, method, options) {
+      return stackIntercept("clientStreaming", transport, method, options);
+    }
+    exports2.stackClientStreamingInterceptors = stackClientStreamingInterceptors;
+    function stackDuplexStreamingInterceptors(transport, method, options) {
+      return stackIntercept("duplex", transport, method, options);
+    }
+    exports2.stackDuplexStreamingInterceptors = stackDuplexStreamingInterceptors;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/storageClient.js
-var require_storageClient = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/storageClient.js"(exports2) {
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-call-context.js
+var require_server_call_context = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-call-context.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageClient = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var coreHttpCompat = tslib_1.__importStar(require_commonjs9());
-    var index_js_1 = require_operations();
-    var StorageClient = class extends coreHttpCompat.ExtendedServiceClient {
-      url;
-      version;
+    exports2.ServerCallContextController = void 0;
+    var ServerCallContextController = class {
+      constructor(method, headers, deadline, sendResponseHeadersFn, defaultStatus = { code: "OK", detail: "" }) {
+        this._cancelled = false;
+        this._listeners = [];
+        this.method = method;
+        this.headers = headers;
+        this.deadline = deadline;
+        this.trailers = {};
+        this._sendRH = sendResponseHeadersFn;
+        this.status = defaultStatus;
+      }
       /**
-       * Initializes a new instance of the StorageClient class.
-       * @param url The URL of the service account, container, or blob that is the target of the desired
-       *            operation.
-       * @param options The parameter options
+       * Set the call cancelled.
+       *
+       * Invokes all callbacks registered with onCancel() and
+       * sets `cancelled = true`.
        */
-      constructor(url, options) {
-        if (url === void 0) {
-          throw new Error("'url' cannot be null");
-        }
-        if (!options) {
-          options = {};
+      notifyCancelled() {
+        if (!this._cancelled) {
+          this._cancelled = true;
+          for (let l of this._listeners) {
+            l();
+          }
         }
-        const defaults = {
-          requestContentType: "application/json; charset=utf-8"
-        };
-        const packageDetails = `azsdk-js-azure-storage-blob/12.29.1`;
-        const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` : `${packageDetails}`;
-        const optionsWithDefaults = {
-          ...defaults,
-          ...options,
-          userAgentOptions: {
-            userAgentPrefix
-          },
-          endpoint: options.endpoint ?? options.baseUri ?? "{url}"
+      }
+      /**
+       * Send response headers.
+       */
+      sendResponseHeaders(data) {
+        this._sendRH(data);
+      }
+      /**
+       * Is the call cancelled?
+       *
+       * When the client closes the connection before the server
+       * is done, the call is cancelled.
+       *
+       * If you want to cancel a request on the server, throw a
+       * RpcError with the CANCELLED status code.
+       */
+      get cancelled() {
+        return this._cancelled;
+      }
+      /**
+       * Add a callback for cancellation.
+       */
+      onCancel(callback) {
+        const l = this._listeners;
+        l.push(callback);
+        return () => {
+          let i = l.indexOf(callback);
+          if (i >= 0)
+            l.splice(i, 1);
         };
-        super(optionsWithDefaults);
-        this.url = url;
-        this.version = options.version || "2025-11-05";
-        this.service = new index_js_1.ServiceImpl(this);
-        this.container = new index_js_1.ContainerImpl(this);
-        this.blob = new index_js_1.BlobImpl(this);
-        this.pageBlob = new index_js_1.PageBlobImpl(this);
-        this.appendBlob = new index_js_1.AppendBlobImpl(this);
-        this.blockBlob = new index_js_1.BlockBlobImpl(this);
       }
-      service;
-      container;
-      blob;
-      pageBlob;
-      appendBlob;
-      blockBlob;
     };
-    exports2.StorageClient = StorageClient;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/service.js
-var require_service2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/service.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/container.js
-var require_container2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/container.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blob.js
-var require_blob2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blob.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/pageBlob.js
-var require_pageBlob2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/pageBlob.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/appendBlob.js
-var require_appendBlob2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/appendBlob.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blockBlob.js
-var require_blockBlob2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blockBlob.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/index.js
-var require_operationsInterfaces = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    tslib_1.__exportStar(require_service2(), exports2);
-    tslib_1.__exportStar(require_container2(), exports2);
-    tslib_1.__exportStar(require_blob2(), exports2);
-    tslib_1.__exportStar(require_pageBlob2(), exports2);
-    tslib_1.__exportStar(require_appendBlob2(), exports2);
-    tslib_1.__exportStar(require_blockBlob2(), exports2);
+    exports2.ServerCallContextController = ServerCallContextController;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/index.js
-var require_src2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/index.js"(exports2) {
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/index.js
+var require_commonjs17 = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/index.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageClient = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    tslib_1.__exportStar(require_models(), exports2);
-    var storageClient_js_1 = require_storageClient();
-    Object.defineProperty(exports2, "StorageClient", { enumerable: true, get: function() {
-      return storageClient_js_1.StorageClient;
+    var service_type_1 = require_service_type();
+    Object.defineProperty(exports2, "ServiceType", { enumerable: true, get: function() {
+      return service_type_1.ServiceType;
+    } });
+    var reflection_info_1 = require_reflection_info2();
+    Object.defineProperty(exports2, "readMethodOptions", { enumerable: true, get: function() {
+      return reflection_info_1.readMethodOptions;
+    } });
+    Object.defineProperty(exports2, "readMethodOption", { enumerable: true, get: function() {
+      return reflection_info_1.readMethodOption;
+    } });
+    Object.defineProperty(exports2, "readServiceOption", { enumerable: true, get: function() {
+      return reflection_info_1.readServiceOption;
+    } });
+    var rpc_error_1 = require_rpc_error();
+    Object.defineProperty(exports2, "RpcError", { enumerable: true, get: function() {
+      return rpc_error_1.RpcError;
+    } });
+    var rpc_options_1 = require_rpc_options();
+    Object.defineProperty(exports2, "mergeRpcOptions", { enumerable: true, get: function() {
+      return rpc_options_1.mergeRpcOptions;
+    } });
+    var rpc_output_stream_1 = require_rpc_output_stream();
+    Object.defineProperty(exports2, "RpcOutputStreamController", { enumerable: true, get: function() {
+      return rpc_output_stream_1.RpcOutputStreamController;
+    } });
+    var test_transport_1 = require_test_transport();
+    Object.defineProperty(exports2, "TestTransport", { enumerable: true, get: function() {
+      return test_transport_1.TestTransport;
+    } });
+    var deferred_1 = require_deferred();
+    Object.defineProperty(exports2, "Deferred", { enumerable: true, get: function() {
+      return deferred_1.Deferred;
+    } });
+    Object.defineProperty(exports2, "DeferredState", { enumerable: true, get: function() {
+      return deferred_1.DeferredState;
+    } });
+    var duplex_streaming_call_1 = require_duplex_streaming_call();
+    Object.defineProperty(exports2, "DuplexStreamingCall", { enumerable: true, get: function() {
+      return duplex_streaming_call_1.DuplexStreamingCall;
+    } });
+    var client_streaming_call_1 = require_client_streaming_call();
+    Object.defineProperty(exports2, "ClientStreamingCall", { enumerable: true, get: function() {
+      return client_streaming_call_1.ClientStreamingCall;
+    } });
+    var server_streaming_call_1 = require_server_streaming_call();
+    Object.defineProperty(exports2, "ServerStreamingCall", { enumerable: true, get: function() {
+      return server_streaming_call_1.ServerStreamingCall;
+    } });
+    var unary_call_1 = require_unary_call();
+    Object.defineProperty(exports2, "UnaryCall", { enumerable: true, get: function() {
+      return unary_call_1.UnaryCall;
+    } });
+    var rpc_interceptor_1 = require_rpc_interceptor();
+    Object.defineProperty(exports2, "stackIntercept", { enumerable: true, get: function() {
+      return rpc_interceptor_1.stackIntercept;
+    } });
+    Object.defineProperty(exports2, "stackDuplexStreamingInterceptors", { enumerable: true, get: function() {
+      return rpc_interceptor_1.stackDuplexStreamingInterceptors;
+    } });
+    Object.defineProperty(exports2, "stackClientStreamingInterceptors", { enumerable: true, get: function() {
+      return rpc_interceptor_1.stackClientStreamingInterceptors;
+    } });
+    Object.defineProperty(exports2, "stackServerStreamingInterceptors", { enumerable: true, get: function() {
+      return rpc_interceptor_1.stackServerStreamingInterceptors;
+    } });
+    Object.defineProperty(exports2, "stackUnaryInterceptors", { enumerable: true, get: function() {
+      return rpc_interceptor_1.stackUnaryInterceptors;
+    } });
+    var server_call_context_1 = require_server_call_context();
+    Object.defineProperty(exports2, "ServerCallContextController", { enumerable: true, get: function() {
+      return server_call_context_1.ServerCallContextController;
     } });
-    tslib_1.__exportStar(require_operationsInterfaces(), exports2);
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/StorageContextClient.js
-var require_StorageContextClient = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/StorageContextClient.js"(exports2) {
+// node_modules/@actions/cache/lib/generated/results/entities/v1/cachescope.js
+var require_cachescope = __commonJS({
+  "node_modules/@actions/cache/lib/generated/results/entities/v1/cachescope.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageContextClient = void 0;
-    var index_js_1 = require_src2();
-    var StorageContextClient = class extends index_js_1.StorageClient {
-      async sendOperationRequest(operationArguments, operationSpec) {
-        const operationSpecToSend = { ...operationSpec };
-        if (operationSpecToSend.path === "/{containerName}" || operationSpecToSend.path === "/{containerName}/{blob}") {
-          operationSpecToSend.path = "";
+    exports2.CacheScope = void 0;
+    var runtime_1 = require_commonjs16();
+    var runtime_2 = require_commonjs16();
+    var runtime_3 = require_commonjs16();
+    var runtime_4 = require_commonjs16();
+    var runtime_5 = require_commonjs16();
+    var CacheScope$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.entities.v1.CacheScope", [
+          {
+            no: 1,
+            name: "scope",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "permission",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { scope: "", permission: "0" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string scope */
+            1:
+              message.scope = reader.string();
+              break;
+            case /* int64 permission */
+            2:
+              message.permission = reader.int64().toString();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
         }
-        return super.sendOperationRequest(operationArguments, operationSpecToSend);
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.scope !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.scope);
+        if (message.permission !== "0")
+          writer.tag(2, runtime_1.WireType.Varint).int64(message.permission);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
     };
-    exports2.StorageContextClient = StorageContextClient;
+    exports2.CacheScope = new CacheScope$Type();
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/StorageClient.js
-var require_StorageClient = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/StorageClient.js"(exports2) {
+// node_modules/@actions/cache/lib/generated/results/entities/v1/cachemetadata.js
+var require_cachemetadata = __commonJS({
+  "node_modules/@actions/cache/lib/generated/results/entities/v1/cachemetadata.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageClient = void 0;
-    var StorageContextClient_js_1 = require_StorageContextClient();
-    var Pipeline_js_1 = require_Pipeline();
-    var utils_common_js_1 = require_utils_common();
-    var StorageClient = class {
-      /**
-       * Encoded URL string value.
-       */
-      url;
-      accountName;
-      /**
-       * Request policy pipeline.
-       *
-       * @internal
-       */
-      pipeline;
-      /**
-       * Such as AnonymousCredential, StorageSharedKeyCredential or any credential from the `@azure/identity` package to authenticate requests to the service. You can also provide an object that implements the TokenCredential interface. If not specified, AnonymousCredential is used.
-       */
-      credential;
-      /**
-       * StorageClient is a reference to protocol layer operations entry, which is
-       * generated by AutoRest generator.
-       */
-      storageClientContext;
-      /**
-       */
-      isHttps;
-      /**
-       * Creates an instance of StorageClient.
-       * @param url - url to resource
-       * @param pipeline - request policy pipeline.
-       */
-      constructor(url, pipeline) {
-        this.url = (0, utils_common_js_1.escapeURLPath)(url);
-        this.accountName = (0, utils_common_js_1.getAccountNameFromUrl)(url);
-        this.pipeline = pipeline;
-        this.storageClientContext = new StorageContextClient_js_1.StorageContextClient(this.url, (0, Pipeline_js_1.getCoreClientOptions)(pipeline));
-        this.isHttps = (0, utils_common_js_1.iEqual)((0, utils_common_js_1.getURLScheme)(this.url) || "", "https");
-        this.credential = (0, Pipeline_js_1.getCredentialFromPipeline)(pipeline);
-        const storageClientContext = this.storageClientContext;
-        storageClientContext.requestContentType = void 0;
+    exports2.CacheMetadata = void 0;
+    var runtime_1 = require_commonjs16();
+    var runtime_2 = require_commonjs16();
+    var runtime_3 = require_commonjs16();
+    var runtime_4 = require_commonjs16();
+    var runtime_5 = require_commonjs16();
+    var cachescope_1 = require_cachescope();
+    var CacheMetadata$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.entities.v1.CacheMetadata", [
+          {
+            no: 1,
+            name: "repository_id",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          },
+          { no: 2, name: "scope", kind: "message", repeat: 1, T: () => cachescope_1.CacheScope }
+        ]);
+      }
+      create(value) {
+        const message = { repositoryId: "0", scope: [] };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* int64 repository_id */
+            1:
+              message.repositoryId = reader.int64().toString();
+              break;
+            case /* repeated github.actions.results.entities.v1.CacheScope scope */
+            2:
+              message.scope.push(cachescope_1.CacheScope.internalBinaryRead(reader, reader.uint32(), options));
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.repositoryId !== "0")
+          writer.tag(1, runtime_1.WireType.Varint).int64(message.repositoryId);
+        for (let i = 0; i < message.scope.length; i++)
+          cachescope_1.CacheScope.internalBinaryWrite(message.scope[i], writer.tag(2, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
     };
-    exports2.StorageClient = StorageClient;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/utils/tracing.js
-var require_tracing = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/tracing.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.tracingClient = void 0;
-    var core_tracing_1 = require_commonjs5();
-    var constants_js_1 = require_constants15();
-    exports2.tracingClient = (0, core_tracing_1.createTracingClient)({
-      packageName: "@azure/storage-blob",
-      packageVersion: constants_js_1.SDK_VERSION,
-      namespace: "Microsoft.Storage"
-    });
+    exports2.CacheMetadata = new CacheMetadata$Type();
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASPermissions.js
-var require_BlobSASPermissions = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASPermissions.js"(exports2) {
+// node_modules/@actions/cache/lib/generated/results/api/v1/cache.js
+var require_cache4 = __commonJS({
+  "node_modules/@actions/cache/lib/generated/results/api/v1/cache.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobSASPermissions = void 0;
-    var BlobSASPermissions = class _BlobSASPermissions {
-      /**
-       * Creates a {@link BlobSASPermissions} from the specified permissions string. This method will throw an
-       * Error if it encounters a character that does not correspond to a valid permission.
-       *
-       * @param permissions -
-       */
-      static parse(permissions) {
-        const blobSASPermissions = new _BlobSASPermissions();
-        for (const char of permissions) {
-          switch (char) {
-            case "r":
-              blobSASPermissions.read = true;
+    exports2.CacheService = exports2.GetCacheEntryDownloadURLResponse = exports2.GetCacheEntryDownloadURLRequest = exports2.FinalizeCacheEntryUploadResponse = exports2.FinalizeCacheEntryUploadRequest = exports2.CreateCacheEntryResponse = exports2.CreateCacheEntryRequest = void 0;
+    var runtime_rpc_1 = require_commonjs17();
+    var runtime_1 = require_commonjs16();
+    var runtime_2 = require_commonjs16();
+    var runtime_3 = require_commonjs16();
+    var runtime_4 = require_commonjs16();
+    var runtime_5 = require_commonjs16();
+    var cachemetadata_1 = require_cachemetadata();
+    var CreateCacheEntryRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.CreateCacheEntryRequest", [
+          { no: 1, name: "metadata", kind: "message", T: () => cachemetadata_1.CacheMetadata },
+          {
+            no: 2,
+            name: "key",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "version",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { key: "", version: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* github.actions.results.entities.v1.CacheMetadata metadata */
+            1:
+              message.metadata = cachemetadata_1.CacheMetadata.internalBinaryRead(reader, reader.uint32(), options, message.metadata);
               break;
-            case "a":
-              blobSASPermissions.add = true;
+            case /* string key */
+            2:
+              message.key = reader.string();
               break;
-            case "c":
-              blobSASPermissions.create = true;
+            case /* string version */
+            3:
+              message.version = reader.string();
               break;
-            case "w":
-              blobSASPermissions.write = true;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.metadata)
+          cachemetadata_1.CacheMetadata.internalBinaryWrite(message.metadata, writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        if (message.key !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.key);
+        if (message.version !== "")
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.version);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.CreateCacheEntryRequest = new CreateCacheEntryRequest$Type();
+    var CreateCacheEntryResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.CreateCacheEntryResponse", [
+          {
+            no: 1,
+            name: "ok",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          },
+          {
+            no: 2,
+            name: "signed_upload_url",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "message",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { ok: false, signedUploadUrl: "", message: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool ok */
+            1:
+              message.ok = reader.bool();
               break;
-            case "d":
-              blobSASPermissions.delete = true;
+            case /* string signed_upload_url */
+            2:
+              message.signedUploadUrl = reader.string();
+              break;
+            case /* string message */
+            3:
+              message.message = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.ok !== false)
+          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
+        if (message.signedUploadUrl !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl);
+        if (message.message !== "")
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.message);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.CreateCacheEntryResponse = new CreateCacheEntryResponse$Type();
+    var FinalizeCacheEntryUploadRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.FinalizeCacheEntryUploadRequest", [
+          { no: 1, name: "metadata", kind: "message", T: () => cachemetadata_1.CacheMetadata },
+          {
+            no: 2,
+            name: "key",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "size_bytes",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          },
+          {
+            no: 4,
+            name: "version",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { key: "", sizeBytes: "0", version: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* github.actions.results.entities.v1.CacheMetadata metadata */
+            1:
+              message.metadata = cachemetadata_1.CacheMetadata.internalBinaryRead(reader, reader.uint32(), options, message.metadata);
+              break;
+            case /* string key */
+            2:
+              message.key = reader.string();
+              break;
+            case /* int64 size_bytes */
+            3:
+              message.sizeBytes = reader.int64().toString();
+              break;
+            case /* string version */
+            4:
+              message.version = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.metadata)
+          cachemetadata_1.CacheMetadata.internalBinaryWrite(message.metadata, writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        if (message.key !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.key);
+        if (message.sizeBytes !== "0")
+          writer.tag(3, runtime_1.WireType.Varint).int64(message.sizeBytes);
+        if (message.version !== "")
+          writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.version);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.FinalizeCacheEntryUploadRequest = new FinalizeCacheEntryUploadRequest$Type();
+    var FinalizeCacheEntryUploadResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.FinalizeCacheEntryUploadResponse", [
+          {
+            no: 1,
+            name: "ok",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          },
+          {
+            no: 2,
+            name: "entry_id",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          },
+          {
+            no: 3,
+            name: "message",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { ok: false, entryId: "0", message: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool ok */
+            1:
+              message.ok = reader.bool();
+              break;
+            case /* int64 entry_id */
+            2:
+              message.entryId = reader.int64().toString();
+              break;
+            case /* string message */
+            3:
+              message.message = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.ok !== false)
+          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
+        if (message.entryId !== "0")
+          writer.tag(2, runtime_1.WireType.Varint).int64(message.entryId);
+        if (message.message !== "")
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.message);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.FinalizeCacheEntryUploadResponse = new FinalizeCacheEntryUploadResponse$Type();
+    var GetCacheEntryDownloadURLRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.GetCacheEntryDownloadURLRequest", [
+          { no: 1, name: "metadata", kind: "message", T: () => cachemetadata_1.CacheMetadata },
+          {
+            no: 2,
+            name: "key",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "restore_keys",
+            kind: "scalar",
+            repeat: 2,
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 4,
+            name: "version",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { key: "", restoreKeys: [], version: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* github.actions.results.entities.v1.CacheMetadata metadata */
+            1:
+              message.metadata = cachemetadata_1.CacheMetadata.internalBinaryRead(reader, reader.uint32(), options, message.metadata);
               break;
-            case "x":
-              blobSASPermissions.deleteVersion = true;
+            case /* string key */
+            2:
+              message.key = reader.string();
               break;
-            case "t":
-              blobSASPermissions.tag = true;
+            case /* repeated string restore_keys */
+            3:
+              message.restoreKeys.push(reader.string());
               break;
-            case "m":
-              blobSASPermissions.move = true;
+            case /* string version */
+            4:
+              message.version = reader.string();
               break;
-            case "e":
-              blobSASPermissions.execute = true;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.metadata)
+          cachemetadata_1.CacheMetadata.internalBinaryWrite(message.metadata, writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        if (message.key !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.key);
+        for (let i = 0; i < message.restoreKeys.length; i++)
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.restoreKeys[i]);
+        if (message.version !== "")
+          writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.version);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.GetCacheEntryDownloadURLRequest = new GetCacheEntryDownloadURLRequest$Type();
+    var GetCacheEntryDownloadURLResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.GetCacheEntryDownloadURLResponse", [
+          {
+            no: 1,
+            name: "ok",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          },
+          {
+            no: 2,
+            name: "signed_download_url",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "matched_key",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { ok: false, signedDownloadUrl: "", matchedKey: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool ok */
+            1:
+              message.ok = reader.bool();
               break;
-            case "i":
-              blobSASPermissions.setImmutabilityPolicy = true;
+            case /* string signed_download_url */
+            2:
+              message.signedDownloadUrl = reader.string();
               break;
-            case "y":
-              blobSASPermissions.permanentDelete = true;
+            case /* string matched_key */
+            3:
+              message.matchedKey = reader.string();
               break;
             default:
-              throw new RangeError(`Invalid permission: ${char}`);
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
           }
         }
-        return blobSASPermissions;
-      }
-      /**
-       * Creates a {@link BlobSASPermissions} from a raw object which contains same keys as it
-       * and boolean values for them.
-       *
-       * @param permissionLike -
-       */
-      static from(permissionLike) {
-        const blobSASPermissions = new _BlobSASPermissions();
-        if (permissionLike.read) {
-          blobSASPermissions.read = true;
-        }
-        if (permissionLike.add) {
-          blobSASPermissions.add = true;
-        }
-        if (permissionLike.create) {
-          blobSASPermissions.create = true;
-        }
-        if (permissionLike.write) {
-          blobSASPermissions.write = true;
-        }
-        if (permissionLike.delete) {
-          blobSASPermissions.delete = true;
-        }
-        if (permissionLike.deleteVersion) {
-          blobSASPermissions.deleteVersion = true;
-        }
-        if (permissionLike.tag) {
-          blobSASPermissions.tag = true;
-        }
-        if (permissionLike.move) {
-          blobSASPermissions.move = true;
-        }
-        if (permissionLike.execute) {
-          blobSASPermissions.execute = true;
-        }
-        if (permissionLike.setImmutabilityPolicy) {
-          blobSASPermissions.setImmutabilityPolicy = true;
-        }
-        if (permissionLike.permanentDelete) {
-          blobSASPermissions.permanentDelete = true;
-        }
-        return blobSASPermissions;
+        return message;
       }
-      /**
-       * Specifies Read access granted.
-       */
-      read = false;
-      /**
-       * Specifies Add access granted.
-       */
-      add = false;
-      /**
-       * Specifies Create access granted.
-       */
-      create = false;
-      /**
-       * Specifies Write access granted.
-       */
-      write = false;
-      /**
-       * Specifies Delete access granted.
-       */
-      delete = false;
-      /**
-       * Specifies Delete version access granted.
-       */
-      deleteVersion = false;
-      /**
-       * Specfies Tag access granted.
-       */
-      tag = false;
-      /**
-       * Specifies Move access granted.
-       */
-      move = false;
-      /**
-       * Specifies Execute access granted.
-       */
-      execute = false;
-      /**
-       * Specifies SetImmutabilityPolicy access granted.
-       */
-      setImmutabilityPolicy = false;
-      /**
-       * Specifies that Permanent Delete is permitted.
-       */
-      permanentDelete = false;
-      /**
-       * Converts the given permissions to a string. Using this method will guarantee the permissions are in an
-       * order accepted by the service.
-       *
-       * @returns A string which represents the BlobSASPermissions
-       */
-      toString() {
-        const permissions = [];
-        if (this.read) {
-          permissions.push("r");
-        }
-        if (this.add) {
-          permissions.push("a");
-        }
-        if (this.create) {
-          permissions.push("c");
-        }
-        if (this.write) {
-          permissions.push("w");
-        }
-        if (this.delete) {
-          permissions.push("d");
-        }
-        if (this.deleteVersion) {
-          permissions.push("x");
-        }
-        if (this.tag) {
-          permissions.push("t");
-        }
-        if (this.move) {
-          permissions.push("m");
-        }
-        if (this.execute) {
-          permissions.push("e");
-        }
-        if (this.setImmutabilityPolicy) {
-          permissions.push("i");
-        }
-        if (this.permanentDelete) {
-          permissions.push("y");
-        }
-        return permissions.join("");
+      internalBinaryWrite(message, writer, options) {
+        if (message.ok !== false)
+          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
+        if (message.signedDownloadUrl !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedDownloadUrl);
+        if (message.matchedKey !== "")
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.matchedKey);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
     };
-    exports2.BlobSASPermissions = BlobSASPermissions;
+    exports2.GetCacheEntryDownloadURLResponse = new GetCacheEntryDownloadURLResponse$Type();
+    exports2.CacheService = new runtime_rpc_1.ServiceType("github.actions.results.api.v1.CacheService", [
+      { name: "CreateCacheEntry", options: {}, I: exports2.CreateCacheEntryRequest, O: exports2.CreateCacheEntryResponse },
+      { name: "FinalizeCacheEntryUpload", options: {}, I: exports2.FinalizeCacheEntryUploadRequest, O: exports2.FinalizeCacheEntryUploadResponse },
+      { name: "GetCacheEntryDownloadURL", options: {}, I: exports2.GetCacheEntryDownloadURLRequest, O: exports2.GetCacheEntryDownloadURLResponse }
+    ]);
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/sas/ContainerSASPermissions.js
-var require_ContainerSASPermissions = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/ContainerSASPermissions.js"(exports2) {
+// node_modules/@actions/cache/lib/generated/results/api/v1/cache.twirp-client.js
+var require_cache_twirp_client = __commonJS({
+  "node_modules/@actions/cache/lib/generated/results/api/v1/cache.twirp-client.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ContainerSASPermissions = void 0;
-    var ContainerSASPermissions = class _ContainerSASPermissions {
-      /**
-       * Creates an {@link ContainerSASPermissions} from the specified permissions string. This method will throw an
-       * Error if it encounters a character that does not correspond to a valid permission.
-       *
-       * @param permissions -
-       */
-      static parse(permissions) {
-        const containerSASPermissions = new _ContainerSASPermissions();
-        for (const char of permissions) {
-          switch (char) {
-            case "r":
-              containerSASPermissions.read = true;
-              break;
-            case "a":
-              containerSASPermissions.add = true;
-              break;
-            case "c":
-              containerSASPermissions.create = true;
-              break;
-            case "w":
-              containerSASPermissions.write = true;
-              break;
-            case "d":
-              containerSASPermissions.delete = true;
-              break;
-            case "l":
-              containerSASPermissions.list = true;
-              break;
-            case "t":
-              containerSASPermissions.tag = true;
-              break;
-            case "x":
-              containerSASPermissions.deleteVersion = true;
-              break;
-            case "m":
-              containerSASPermissions.move = true;
-              break;
-            case "e":
-              containerSASPermissions.execute = true;
-              break;
-            case "i":
-              containerSASPermissions.setImmutabilityPolicy = true;
-              break;
-            case "y":
-              containerSASPermissions.permanentDelete = true;
-              break;
-            case "f":
-              containerSASPermissions.filterByTags = true;
-              break;
-            default:
-              throw new RangeError(`Invalid permission ${char}`);
-          }
-        }
-        return containerSASPermissions;
+    exports2.CacheServiceClientProtobuf = exports2.CacheServiceClientJSON = void 0;
+    var cache_1 = require_cache4();
+    var CacheServiceClientJSON = class {
+      constructor(rpc) {
+        this.rpc = rpc;
+        this.CreateCacheEntry.bind(this);
+        this.FinalizeCacheEntryUpload.bind(this);
+        this.GetCacheEntryDownloadURL.bind(this);
       }
-      /**
-       * Creates a {@link ContainerSASPermissions} from a raw object which contains same keys as it
-       * and boolean values for them.
-       *
-       * @param permissionLike -
-       */
-      static from(permissionLike) {
-        const containerSASPermissions = new _ContainerSASPermissions();
-        if (permissionLike.read) {
-          containerSASPermissions.read = true;
-        }
-        if (permissionLike.add) {
-          containerSASPermissions.add = true;
-        }
-        if (permissionLike.create) {
-          containerSASPermissions.create = true;
-        }
-        if (permissionLike.write) {
-          containerSASPermissions.write = true;
-        }
-        if (permissionLike.delete) {
-          containerSASPermissions.delete = true;
-        }
-        if (permissionLike.list) {
-          containerSASPermissions.list = true;
-        }
-        if (permissionLike.deleteVersion) {
-          containerSASPermissions.deleteVersion = true;
-        }
-        if (permissionLike.tag) {
-          containerSASPermissions.tag = true;
-        }
-        if (permissionLike.move) {
-          containerSASPermissions.move = true;
-        }
-        if (permissionLike.execute) {
-          containerSASPermissions.execute = true;
-        }
-        if (permissionLike.setImmutabilityPolicy) {
-          containerSASPermissions.setImmutabilityPolicy = true;
-        }
-        if (permissionLike.permanentDelete) {
-          containerSASPermissions.permanentDelete = true;
-        }
-        if (permissionLike.filterByTags) {
-          containerSASPermissions.filterByTags = true;
-        }
-        return containerSASPermissions;
+      CreateCacheEntry(request2) {
+        const data = cache_1.CreateCacheEntryRequest.toJson(request2, {
+          useProtoFieldName: true,
+          emitDefaultValues: false
+        });
+        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "CreateCacheEntry", "application/json", data);
+        return promise.then((data2) => cache_1.CreateCacheEntryResponse.fromJson(data2, {
+          ignoreUnknownFields: true
+        }));
       }
-      /**
-       * Specifies Read access granted.
-       */
-      read = false;
-      /**
-       * Specifies Add access granted.
-       */
-      add = false;
-      /**
-       * Specifies Create access granted.
-       */
-      create = false;
-      /**
-       * Specifies Write access granted.
-       */
-      write = false;
-      /**
-       * Specifies Delete access granted.
-       */
-      delete = false;
-      /**
-       * Specifies Delete version access granted.
-       */
-      deleteVersion = false;
-      /**
-       * Specifies List access granted.
-       */
-      list = false;
-      /**
-       * Specfies Tag access granted.
-       */
-      tag = false;
-      /**
-       * Specifies Move access granted.
-       */
-      move = false;
-      /**
-       * Specifies Execute access granted.
-       */
-      execute = false;
-      /**
-       * Specifies SetImmutabilityPolicy access granted.
-       */
-      setImmutabilityPolicy = false;
-      /**
-       * Specifies that Permanent Delete is permitted.
-       */
-      permanentDelete = false;
-      /**
-       * Specifies that Filter Blobs by Tags is permitted.
-       */
-      filterByTags = false;
-      /**
-       * Converts the given permissions to a string. Using this method will guarantee the permissions are in an
-       * order accepted by the service.
-       *
-       * The order of the characters should be as specified here to ensure correctness.
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       */
-      toString() {
-        const permissions = [];
-        if (this.read) {
-          permissions.push("r");
-        }
-        if (this.add) {
-          permissions.push("a");
-        }
-        if (this.create) {
-          permissions.push("c");
-        }
-        if (this.write) {
-          permissions.push("w");
-        }
-        if (this.delete) {
-          permissions.push("d");
-        }
-        if (this.deleteVersion) {
-          permissions.push("x");
-        }
-        if (this.list) {
-          permissions.push("l");
-        }
-        if (this.tag) {
-          permissions.push("t");
-        }
-        if (this.move) {
-          permissions.push("m");
-        }
-        if (this.execute) {
-          permissions.push("e");
-        }
-        if (this.setImmutabilityPolicy) {
-          permissions.push("i");
-        }
-        if (this.permanentDelete) {
-          permissions.push("y");
-        }
-        if (this.filterByTags) {
-          permissions.push("f");
-        }
-        return permissions.join("");
+      FinalizeCacheEntryUpload(request2) {
+        const data = cache_1.FinalizeCacheEntryUploadRequest.toJson(request2, {
+          useProtoFieldName: true,
+          emitDefaultValues: false
+        });
+        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "FinalizeCacheEntryUpload", "application/json", data);
+        return promise.then((data2) => cache_1.FinalizeCacheEntryUploadResponse.fromJson(data2, {
+          ignoreUnknownFields: true
+        }));
+      }
+      GetCacheEntryDownloadURL(request2) {
+        const data = cache_1.GetCacheEntryDownloadURLRequest.toJson(request2, {
+          useProtoFieldName: true,
+          emitDefaultValues: false
+        });
+        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "GetCacheEntryDownloadURL", "application/json", data);
+        return promise.then((data2) => cache_1.GetCacheEntryDownloadURLResponse.fromJson(data2, {
+          ignoreUnknownFields: true
+        }));
+      }
+    };
+    exports2.CacheServiceClientJSON = CacheServiceClientJSON;
+    var CacheServiceClientProtobuf = class {
+      constructor(rpc) {
+        this.rpc = rpc;
+        this.CreateCacheEntry.bind(this);
+        this.FinalizeCacheEntryUpload.bind(this);
+        this.GetCacheEntryDownloadURL.bind(this);
+      }
+      CreateCacheEntry(request2) {
+        const data = cache_1.CreateCacheEntryRequest.toBinary(request2);
+        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "CreateCacheEntry", "application/protobuf", data);
+        return promise.then((data2) => cache_1.CreateCacheEntryResponse.fromBinary(data2));
+      }
+      FinalizeCacheEntryUpload(request2) {
+        const data = cache_1.FinalizeCacheEntryUploadRequest.toBinary(request2);
+        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "FinalizeCacheEntryUpload", "application/protobuf", data);
+        return promise.then((data2) => cache_1.FinalizeCacheEntryUploadResponse.fromBinary(data2));
+      }
+      GetCacheEntryDownloadURL(request2) {
+        const data = cache_1.GetCacheEntryDownloadURLRequest.toBinary(request2);
+        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "GetCacheEntryDownloadURL", "application/protobuf", data);
+        return promise.then((data2) => cache_1.GetCacheEntryDownloadURLResponse.fromBinary(data2));
       }
     };
-    exports2.ContainerSASPermissions = ContainerSASPermissions;
+    exports2.CacheServiceClientProtobuf = CacheServiceClientProtobuf;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/credentials/UserDelegationKeyCredential.js
-var require_UserDelegationKeyCredential = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/credentials/UserDelegationKeyCredential.js"(exports2) {
+// node_modules/@actions/cache/lib/internal/shared/util.js
+var require_util18 = __commonJS({
+  "node_modules/@actions/cache/lib/internal/shared/util.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.UserDelegationKeyCredential = void 0;
-    var node_crypto_1 = require("node:crypto");
-    var UserDelegationKeyCredential = class {
-      /**
-       * Azure Storage account name; readonly.
-       */
-      accountName;
-      /**
-       * Azure Storage user delegation key; readonly.
-       */
-      userDelegationKey;
-      /**
-       * Key value in Buffer type.
-       */
-      key;
-      /**
-       * Creates an instance of UserDelegationKeyCredential.
-       * @param accountName -
-       * @param userDelegationKey -
-       */
-      constructor(accountName, userDelegationKey) {
-        this.accountName = accountName;
-        this.userDelegationKey = userDelegationKey;
-        this.key = Buffer.from(userDelegationKey.value, "base64");
+    exports2.maskSigUrl = maskSigUrl;
+    exports2.maskSecretUrls = maskSecretUrls;
+    var core_1 = require_core();
+    function maskSigUrl(url) {
+      if (!url)
+        return;
+      try {
+        const parsedUrl = new URL(url);
+        const signature = parsedUrl.searchParams.get("sig");
+        if (signature) {
+          (0, core_1.setSecret)(signature);
+          (0, core_1.setSecret)(encodeURIComponent(signature));
+        }
+      } catch (error3) {
+        (0, core_1.debug)(`Failed to parse URL: ${url} ${error3 instanceof Error ? error3.message : String(error3)}`);
       }
-      /**
-       * Generates a hash signature for an HTTP request or for a SAS.
-       *
-       * @param stringToSign -
-       */
-      computeHMACSHA256(stringToSign) {
-        return (0, node_crypto_1.createHmac)("sha256", this.key).update(stringToSign, "utf8").digest("base64");
+    }
+    function maskSecretUrls(body) {
+      if (typeof body !== "object" || body === null) {
+        (0, core_1.debug)("body is not an object or is null");
+        return;
       }
-    };
-    exports2.UserDelegationKeyCredential = UserDelegationKeyCredential;
+      if ("signed_upload_url" in body && typeof body.signed_upload_url === "string") {
+        maskSigUrl(body.signed_upload_url);
+      }
+      if ("signed_download_url" in body && typeof body.signed_download_url === "string") {
+        maskSigUrl(body.signed_download_url);
+      }
+    }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/sas/SasIPRange.js
-var require_SasIPRange = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/SasIPRange.js"(exports2) {
+// node_modules/@actions/cache/lib/internal/shared/cacheTwirpClient.js
+var require_cacheTwirpClient = __commonJS({
+  "node_modules/@actions/cache/lib/internal/shared/cacheTwirpClient.js"(exports2) {
     "use strict";
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve3) {
+          resolve3(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve3, 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 ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ipRangeToString = ipRangeToString;
-    function ipRangeToString(ipRange) {
-      return ipRange.end ? `${ipRange.start}-${ipRange.end}` : ipRange.start;
+    exports2.internalCacheTwirpClient = internalCacheTwirpClient;
+    var core_1 = require_core();
+    var user_agent_1 = require_user_agent();
+    var errors_1 = require_errors3();
+    var config_1 = require_config();
+    var cacheUtils_1 = require_cacheUtils();
+    var auth_1 = require_auth();
+    var http_client_1 = require_lib();
+    var cache_twirp_client_1 = require_cache_twirp_client();
+    var util_1 = require_util18();
+    var CacheServiceClient = class {
+      constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) {
+        this.maxAttempts = 5;
+        this.baseRetryIntervalMilliseconds = 3e3;
+        this.retryMultiplier = 1.5;
+        const token = (0, cacheUtils_1.getRuntimeToken)();
+        this.baseUrl = (0, config_1.getCacheServiceURL)();
+        if (maxAttempts) {
+          this.maxAttempts = maxAttempts;
+        }
+        if (baseRetryIntervalMilliseconds) {
+          this.baseRetryIntervalMilliseconds = baseRetryIntervalMilliseconds;
+        }
+        if (retryMultiplier) {
+          this.retryMultiplier = retryMultiplier;
+        }
+        this.httpClient = new http_client_1.HttpClient(userAgent2, [
+          new auth_1.BearerCredentialHandler(token)
+        ]);
+      }
+      // This function satisfies the Rpc interface. It is compatible with the JSON
+      // JSON generated client.
+      request(service, method, contentType, data) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          const url = new URL(`/twirp/${service}/${method}`, this.baseUrl).href;
+          (0, core_1.debug)(`[Request] ${method} ${url}`);
+          const headers = {
+            "Content-Type": contentType
+          };
+          try {
+            const { body } = yield this.retryableRequest(() => __awaiter2(this, void 0, void 0, function* () {
+              return this.httpClient.post(url, JSON.stringify(data), headers);
+            }));
+            return body;
+          } catch (error3) {
+            throw new Error(`Failed to ${method}: ${error3.message}`);
+          }
+        });
+      }
+      retryableRequest(operation) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          let attempt = 0;
+          let errorMessage = "";
+          let rawBody = "";
+          while (attempt < this.maxAttempts) {
+            let isRetryable = false;
+            try {
+              const response = yield operation();
+              const statusCode = response.message.statusCode;
+              rawBody = yield response.readBody();
+              (0, core_1.debug)(`[Response] - ${response.message.statusCode}`);
+              (0, core_1.debug)(`Headers: ${JSON.stringify(response.message.headers, null, 2)}`);
+              const body = JSON.parse(rawBody);
+              (0, util_1.maskSecretUrls)(body);
+              (0, core_1.debug)(`Body: ${JSON.stringify(body, null, 2)}`);
+              if (this.isSuccessStatusCode(statusCode)) {
+                return { response, body };
+              }
+              isRetryable = this.isRetryableHttpStatusCode(statusCode);
+              errorMessage = `Failed request: (${statusCode}) ${response.message.statusMessage}`;
+              if (body.msg) {
+                if (errors_1.UsageError.isUsageErrorMessage(body.msg)) {
+                  throw new errors_1.UsageError();
+                }
+                errorMessage = `${errorMessage}: ${body.msg}`;
+              }
+              if (statusCode === http_client_1.HttpCodes.TooManyRequests) {
+                const retryAfterHeader = response.message.headers["retry-after"];
+                if (retryAfterHeader) {
+                  const parsedSeconds = parseInt(retryAfterHeader, 10);
+                  if (!isNaN(parsedSeconds) && parsedSeconds > 0) {
+                    (0, core_1.warning)(`You've hit a rate limit, your rate limit will reset in ${parsedSeconds} seconds`);
+                  }
+                }
+                throw new errors_1.RateLimitError(`Rate limited: ${errorMessage}`);
+              }
+            } catch (error3) {
+              if (error3 instanceof SyntaxError) {
+                (0, core_1.debug)(`Raw Body: ${rawBody}`);
+              }
+              if (error3 instanceof errors_1.UsageError) {
+                throw error3;
+              }
+              if (error3 instanceof errors_1.RateLimitError) {
+                throw error3;
+              }
+              if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) {
+                throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code);
+              }
+              isRetryable = true;
+              errorMessage = error3.message;
+            }
+            if (!isRetryable) {
+              throw new Error(`Received non-retryable error: ${errorMessage}`);
+            }
+            if (attempt + 1 === this.maxAttempts) {
+              throw new Error(`Failed to make request after ${this.maxAttempts} attempts: ${errorMessage}`);
+            }
+            const retryTimeMilliseconds = this.getExponentialRetryTimeMilliseconds(attempt);
+            (0, core_1.info)(`Attempt ${attempt + 1} of ${this.maxAttempts} failed with error: ${errorMessage}. Retrying request in ${retryTimeMilliseconds} ms...`);
+            yield this.sleep(retryTimeMilliseconds);
+            attempt++;
+          }
+          throw new Error(`Request failed`);
+        });
+      }
+      isSuccessStatusCode(statusCode) {
+        if (!statusCode)
+          return false;
+        return statusCode >= 200 && statusCode < 300;
+      }
+      isRetryableHttpStatusCode(statusCode) {
+        if (!statusCode)
+          return false;
+        const retryableStatusCodes = [
+          http_client_1.HttpCodes.BadGateway,
+          http_client_1.HttpCodes.GatewayTimeout,
+          http_client_1.HttpCodes.InternalServerError,
+          http_client_1.HttpCodes.ServiceUnavailable
+        ];
+        return retryableStatusCodes.includes(statusCode);
+      }
+      sleep(milliseconds) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          return new Promise((resolve3) => setTimeout(resolve3, milliseconds));
+        });
+      }
+      getExponentialRetryTimeMilliseconds(attempt) {
+        if (attempt < 0) {
+          throw new Error("attempt should be a positive integer");
+        }
+        if (attempt === 0) {
+          return this.baseRetryIntervalMilliseconds;
+        }
+        const minTime = this.baseRetryIntervalMilliseconds * Math.pow(this.retryMultiplier, attempt);
+        const maxTime = minTime * this.retryMultiplier;
+        return Math.trunc(Math.random() * (maxTime - minTime) + minTime);
+      }
+    };
+    function internalCacheTwirpClient(options) {
+      const client = new CacheServiceClient((0, user_agent_1.getUserAgentString)(), options === null || options === void 0 ? void 0 : options.maxAttempts, options === null || options === void 0 ? void 0 : options.retryIntervalMs, options === null || options === void 0 ? void 0 : options.retryMultiplier);
+      return new cache_twirp_client_1.CacheServiceClientJSON(client);
     }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/sas/SASQueryParameters.js
-var require_SASQueryParameters = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/SASQueryParameters.js"(exports2) {
+// node_modules/@actions/cache/lib/internal/tar.js
+var require_tar = __commonJS({
+  "node_modules/@actions/cache/lib/internal/tar.js"(exports2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.SASQueryParameters = exports2.SASProtocol = void 0;
-    var SasIPRange_js_1 = require_SasIPRange();
-    var utils_common_js_1 = require_utils_common();
-    var SASProtocol;
-    (function(SASProtocol2) {
-      SASProtocol2["Https"] = "https";
-      SASProtocol2["HttpsAndHttp"] = "https,http";
-    })(SASProtocol || (exports2.SASProtocol = SASProtocol = {}));
-    var SASQueryParameters = class {
-      /**
-       * The storage API version.
-       */
-      version;
-      /**
-       * Optional. The allowed HTTP protocol(s).
-       */
-      protocol;
-      /**
-       * Optional. The start time for this SAS token.
-       */
-      startsOn;
-      /**
-       * Optional only when identifier is provided. The expiry time for this SAS token.
-       */
-      expiresOn;
-      /**
-       * Optional only when identifier is provided.
-       * Please refer to {@link AccountSASPermissions}, {@link BlobSASPermissions}, or {@link ContainerSASPermissions} for
-       * more details.
-       */
-      permissions;
-      /**
-       * Optional. The storage services being accessed (only for Account SAS). Please refer to {@link AccountSASServices}
-       * for more details.
-       */
-      services;
-      /**
-       * Optional. The storage resource types being accessed (only for Account SAS). Please refer to
-       * {@link AccountSASResourceTypes} for more details.
-       */
-      resourceTypes;
-      /**
-       * Optional. The signed identifier (only for {@link BlobSASSignatureValues}).
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/establishing-a-stored-access-policy
-       */
-      identifier;
-      /**
-       * Optional. Encryption scope to use when sending requests authorized with this SAS URI.
-       */
-      encryptionScope;
-      /**
-       * Optional. Specifies which resources are accessible via the SAS (only for {@link BlobSASSignatureValues}).
-       * @see https://learn.microsoft.com/rest/api/storageservices/create-service-sas#specifying-the-signed-resource-blob-service-only
-       */
-      resource;
-      /**
-       * The signature for the SAS token.
-       */
-      signature;
-      /**
-       * Value for cache-control header in Blob/File Service SAS.
-       */
-      cacheControl;
-      /**
-       * Value for content-disposition header in Blob/File Service SAS.
-       */
-      contentDisposition;
-      /**
-       * Value for content-encoding header in Blob/File Service SAS.
-       */
-      contentEncoding;
-      /**
-       * Value for content-length header in Blob/File Service SAS.
-       */
-      contentLanguage;
-      /**
-       * Value for content-type header in Blob/File Service SAS.
-       */
-      contentType;
-      /**
-       * Inner value of getter ipRange.
-       */
-      ipRangeInner;
-      /**
-       * The Azure Active Directory object ID in GUID format.
-       * Property of user delegation key.
-       */
-      signedOid;
-      /**
-       * The Azure Active Directory tenant ID in GUID format.
-       * Property of user delegation key.
-       */
-      signedTenantId;
-      /**
-       * The date-time the key is active.
-       * Property of user delegation key.
-       */
-      signedStartsOn;
-      /**
-       * The date-time the key expires.
-       * Property of user delegation key.
-       */
-      signedExpiresOn;
-      /**
-       * Abbreviation of the Azure Storage service that accepts the user delegation key.
-       * Property of user delegation key.
-       */
-      signedService;
-      /**
-       * The service version that created the user delegation key.
-       * Property of user delegation key.
-       */
-      signedVersion;
-      /**
-       * Authorized AAD Object ID in GUID format. The AAD Object ID of a user authorized by the owner of the User Delegation Key
-       * to perform the action granted by the SAS. The Azure Storage service will ensure that the owner of the user delegation key
-       * has the required permissions before granting access but no additional permission check for the user specified in
-       * this value will be performed. This is only used for User Delegation SAS.
-       */
-      preauthorizedAgentObjectId;
-      /**
-       * A GUID value that will be logged in the storage diagnostic logs and can be used to correlate SAS generation with storage resource access.
-       * This is only used for User Delegation SAS.
-       */
-      correlationId;
-      /**
-       * Optional. IP range allowed for this SAS.
-       *
-       * @readonly
-       */
-      get ipRange() {
-        if (this.ipRangeInner) {
-          return {
-            end: this.ipRangeInner.end,
-            start: this.ipRangeInner.start
-          };
+    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = 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 ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
         }
-        return void 0;
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve3) {
+          resolve3(value);
+        });
       }
-      constructor(version, signature, permissionsOrOptions, services, resourceTypes, protocol, startsOn, expiresOn, ipRange, identifier, resource, cacheControl, contentDisposition, contentEncoding, contentLanguage, contentType, userDelegationKey, preauthorizedAgentObjectId, correlationId, encryptionScope) {
-        this.version = version;
-        this.signature = signature;
-        if (permissionsOrOptions !== void 0 && typeof permissionsOrOptions !== "string") {
-          this.permissions = permissionsOrOptions.permissions;
-          this.services = permissionsOrOptions.services;
-          this.resourceTypes = permissionsOrOptions.resourceTypes;
-          this.protocol = permissionsOrOptions.protocol;
-          this.startsOn = permissionsOrOptions.startsOn;
-          this.expiresOn = permissionsOrOptions.expiresOn;
-          this.ipRangeInner = permissionsOrOptions.ipRange;
-          this.identifier = permissionsOrOptions.identifier;
-          this.encryptionScope = permissionsOrOptions.encryptionScope;
-          this.resource = permissionsOrOptions.resource;
-          this.cacheControl = permissionsOrOptions.cacheControl;
-          this.contentDisposition = permissionsOrOptions.contentDisposition;
-          this.contentEncoding = permissionsOrOptions.contentEncoding;
-          this.contentLanguage = permissionsOrOptions.contentLanguage;
-          this.contentType = permissionsOrOptions.contentType;
-          if (permissionsOrOptions.userDelegationKey) {
-            this.signedOid = permissionsOrOptions.userDelegationKey.signedObjectId;
-            this.signedTenantId = permissionsOrOptions.userDelegationKey.signedTenantId;
-            this.signedStartsOn = permissionsOrOptions.userDelegationKey.signedStartsOn;
-            this.signedExpiresOn = permissionsOrOptions.userDelegationKey.signedExpiresOn;
-            this.signedService = permissionsOrOptions.userDelegationKey.signedService;
-            this.signedVersion = permissionsOrOptions.userDelegationKey.signedVersion;
-            this.preauthorizedAgentObjectId = permissionsOrOptions.preauthorizedAgentObjectId;
-            this.correlationId = permissionsOrOptions.correlationId;
+      return new (P || (P = Promise))(function(resolve3, 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 ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.listTar = listTar;
+    exports2.extractTar = extractTar2;
+    exports2.createTar = createTar;
+    var exec_1 = require_exec();
+    var io6 = __importStar2(require_io());
+    var fs_1 = require("fs");
+    var path4 = __importStar2(require("path"));
+    var utils = __importStar2(require_cacheUtils());
+    var constants_1 = require_constants12();
+    var IS_WINDOWS = process.platform === "win32";
+    function getTarPath() {
+      return __awaiter2(this, void 0, void 0, function* () {
+        switch (process.platform) {
+          case "win32": {
+            const gnuTar = yield utils.getGnuTarPathOnWindows();
+            const systemTar = constants_1.SystemTarPathOnWindows;
+            if (gnuTar) {
+              return { path: gnuTar, type: constants_1.ArchiveToolType.GNU };
+            } else if ((0, fs_1.existsSync)(systemTar)) {
+              return { path: systemTar, type: constants_1.ArchiveToolType.BSD };
+            }
+            break;
           }
-        } else {
-          this.services = services;
-          this.resourceTypes = resourceTypes;
-          this.expiresOn = expiresOn;
-          this.permissions = permissionsOrOptions;
-          this.protocol = protocol;
-          this.startsOn = startsOn;
-          this.ipRangeInner = ipRange;
-          this.encryptionScope = encryptionScope;
-          this.identifier = identifier;
-          this.resource = resource;
-          this.cacheControl = cacheControl;
-          this.contentDisposition = contentDisposition;
-          this.contentEncoding = contentEncoding;
-          this.contentLanguage = contentLanguage;
-          this.contentType = contentType;
-          if (userDelegationKey) {
-            this.signedOid = userDelegationKey.signedObjectId;
-            this.signedTenantId = userDelegationKey.signedTenantId;
-            this.signedStartsOn = userDelegationKey.signedStartsOn;
-            this.signedExpiresOn = userDelegationKey.signedExpiresOn;
-            this.signedService = userDelegationKey.signedService;
-            this.signedVersion = userDelegationKey.signedVersion;
-            this.preauthorizedAgentObjectId = preauthorizedAgentObjectId;
-            this.correlationId = correlationId;
+          case "darwin": {
+            const gnuTar = yield io6.which("gtar", false);
+            if (gnuTar) {
+              return { path: gnuTar, type: constants_1.ArchiveToolType.GNU };
+            } else {
+              return {
+                path: yield io6.which("tar", true),
+                type: constants_1.ArchiveToolType.BSD
+              };
+            }
           }
+          default:
+            break;
         }
-      }
-      /**
-       * Encodes all SAS query parameters into a string that can be appended to a URL.
-       *
-       */
-      toString() {
-        const params = [
-          "sv",
-          "ss",
-          "srt",
-          "spr",
-          "st",
-          "se",
-          "sip",
-          "si",
-          "ses",
-          "skoid",
-          // Signed object ID
-          "sktid",
-          // Signed tenant ID
-          "skt",
-          // Signed key start time
-          "ske",
-          // Signed key expiry time
-          "sks",
-          // Signed key service
-          "skv",
-          // Signed key version
-          "sr",
-          "sp",
-          "sig",
-          "rscc",
-          "rscd",
-          "rsce",
-          "rscl",
-          "rsct",
-          "saoid",
-          "scid"
-        ];
-        const queries = [];
-        for (const param of params) {
-          switch (param) {
-            case "sv":
-              this.tryAppendQueryParameter(queries, param, this.version);
-              break;
-            case "ss":
-              this.tryAppendQueryParameter(queries, param, this.services);
-              break;
-            case "srt":
-              this.tryAppendQueryParameter(queries, param, this.resourceTypes);
-              break;
-            case "spr":
-              this.tryAppendQueryParameter(queries, param, this.protocol);
-              break;
-            case "st":
-              this.tryAppendQueryParameter(queries, param, this.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.startsOn, false) : void 0);
-              break;
-            case "se":
-              this.tryAppendQueryParameter(queries, param, this.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.expiresOn, false) : void 0);
-              break;
-            case "sip":
-              this.tryAppendQueryParameter(queries, param, this.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(this.ipRange) : void 0);
-              break;
-            case "si":
-              this.tryAppendQueryParameter(queries, param, this.identifier);
-              break;
-            case "ses":
-              this.tryAppendQueryParameter(queries, param, this.encryptionScope);
-              break;
-            case "skoid":
-              this.tryAppendQueryParameter(queries, param, this.signedOid);
-              break;
-            case "sktid":
-              this.tryAppendQueryParameter(queries, param, this.signedTenantId);
-              break;
-            case "skt":
-              this.tryAppendQueryParameter(queries, param, this.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.signedStartsOn, false) : void 0);
-              break;
-            case "ske":
-              this.tryAppendQueryParameter(queries, param, this.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.signedExpiresOn, false) : void 0);
-              break;
-            case "sks":
-              this.tryAppendQueryParameter(queries, param, this.signedService);
-              break;
-            case "skv":
-              this.tryAppendQueryParameter(queries, param, this.signedVersion);
-              break;
-            case "sr":
-              this.tryAppendQueryParameter(queries, param, this.resource);
-              break;
-            case "sp":
-              this.tryAppendQueryParameter(queries, param, this.permissions);
-              break;
-            case "sig":
-              this.tryAppendQueryParameter(queries, param, this.signature);
-              break;
-            case "rscc":
-              this.tryAppendQueryParameter(queries, param, this.cacheControl);
-              break;
-            case "rscd":
-              this.tryAppendQueryParameter(queries, param, this.contentDisposition);
-              break;
-            case "rsce":
-              this.tryAppendQueryParameter(queries, param, this.contentEncoding);
-              break;
-            case "rscl":
-              this.tryAppendQueryParameter(queries, param, this.contentLanguage);
-              break;
-            case "rsct":
-              this.tryAppendQueryParameter(queries, param, this.contentType);
-              break;
-            case "saoid":
-              this.tryAppendQueryParameter(queries, param, this.preauthorizedAgentObjectId);
+        return {
+          path: yield io6.which("tar", true),
+          type: constants_1.ArchiveToolType.GNU
+        };
+      });
+    }
+    function getTarArgs(tarPath_1, compressionMethod_1, type_1) {
+      return __awaiter2(this, arguments, void 0, function* (tarPath, compressionMethod, type2, archivePath = "") {
+        const args = [`"${tarPath.path}"`];
+        const cacheFileName = utils.getCacheFileName(compressionMethod);
+        const tarFile = "cache.tar";
+        const workingDirectory = getWorkingDirectory();
+        const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS;
+        switch (type2) {
+          case "create":
+            args.push("--posix", "-cf", BSD_TAR_ZSTD ? tarFile : cacheFileName.replace(new RegExp(`\\${path4.sep}`, "g"), "/"), "--exclude", BSD_TAR_ZSTD ? tarFile : cacheFileName.replace(new RegExp(`\\${path4.sep}`, "g"), "/"), "-P", "-C", workingDirectory.replace(new RegExp(`\\${path4.sep}`, "g"), "/"), "--files-from", constants_1.ManifestFilename);
+            break;
+          case "extract":
+            args.push("-xf", BSD_TAR_ZSTD ? tarFile : archivePath.replace(new RegExp(`\\${path4.sep}`, "g"), "/"), "-P", "-C", workingDirectory.replace(new RegExp(`\\${path4.sep}`, "g"), "/"));
+            break;
+          case "list":
+            args.push("-tf", BSD_TAR_ZSTD ? tarFile : archivePath.replace(new RegExp(`\\${path4.sep}`, "g"), "/"), "-P");
+            break;
+        }
+        if (tarPath.type === constants_1.ArchiveToolType.GNU) {
+          switch (process.platform) {
+            case "win32":
+              args.push("--force-local");
               break;
-            case "scid":
-              this.tryAppendQueryParameter(queries, param, this.correlationId);
+            case "darwin":
+              args.push("--delay-directory-restore");
               break;
           }
         }
-        return queries.join("&");
-      }
-      /**
-       * A private helper method used to filter and append query key/value pairs into an array.
-       *
-       * @param queries -
-       * @param key -
-       * @param value -
-       */
-      tryAppendQueryParameter(queries, key, value) {
-        if (!value) {
-          return;
+        return args;
+      });
+    }
+    function getCommands(compressionMethod_1, type_1) {
+      return __awaiter2(this, arguments, void 0, function* (compressionMethod, type2, archivePath = "") {
+        let args;
+        const tarPath = yield getTarPath();
+        const tarArgs = yield getTarArgs(tarPath, compressionMethod, type2, archivePath);
+        const compressionArgs = type2 !== "create" ? yield getDecompressionProgram(tarPath, compressionMethod, archivePath) : yield getCompressionProgram(tarPath, compressionMethod);
+        const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS;
+        if (BSD_TAR_ZSTD && type2 !== "create") {
+          args = [[...compressionArgs].join(" "), [...tarArgs].join(" ")];
+        } else {
+          args = [[...tarArgs].join(" "), [...compressionArgs].join(" ")];
         }
-        key = encodeURIComponent(key);
-        value = encodeURIComponent(value);
-        if (key.length > 0 && value.length > 0) {
-          queries.push(`${key}=${value}`);
+        if (BSD_TAR_ZSTD) {
+          return args;
         }
-      }
-    };
-    exports2.SASQueryParameters = SASQueryParameters;
+        return [args.join(" ")];
+      });
+    }
+    function getWorkingDirectory() {
+      var _a;
+      return (_a = process.env["GITHUB_WORKSPACE"]) !== null && _a !== void 0 ? _a : process.cwd();
+    }
+    function getDecompressionProgram(tarPath, compressionMethod, archivePath) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS;
+        switch (compressionMethod) {
+          case constants_1.CompressionMethod.Zstd:
+            return BSD_TAR_ZSTD ? [
+              "zstd -d --long=30 --force -o",
+              constants_1.TarFilename,
+              archivePath.replace(new RegExp(`\\${path4.sep}`, "g"), "/")
+            ] : [
+              "--use-compress-program",
+              IS_WINDOWS ? '"zstd -d --long=30"' : "unzstd --long=30"
+            ];
+          case constants_1.CompressionMethod.ZstdWithoutLong:
+            return BSD_TAR_ZSTD ? [
+              "zstd -d --force -o",
+              constants_1.TarFilename,
+              archivePath.replace(new RegExp(`\\${path4.sep}`, "g"), "/")
+            ] : ["--use-compress-program", IS_WINDOWS ? '"zstd -d"' : "unzstd"];
+          default:
+            return ["-z"];
+        }
+      });
+    }
+    function getCompressionProgram(tarPath, compressionMethod) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const cacheFileName = utils.getCacheFileName(compressionMethod);
+        const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS;
+        switch (compressionMethod) {
+          case constants_1.CompressionMethod.Zstd:
+            return BSD_TAR_ZSTD ? [
+              "zstd -T0 --long=30 --force -o",
+              cacheFileName.replace(new RegExp(`\\${path4.sep}`, "g"), "/"),
+              constants_1.TarFilename
+            ] : [
+              "--use-compress-program",
+              IS_WINDOWS ? '"zstd -T0 --long=30"' : "zstdmt --long=30"
+            ];
+          case constants_1.CompressionMethod.ZstdWithoutLong:
+            return BSD_TAR_ZSTD ? [
+              "zstd -T0 --force -o",
+              cacheFileName.replace(new RegExp(`\\${path4.sep}`, "g"), "/"),
+              constants_1.TarFilename
+            ] : ["--use-compress-program", IS_WINDOWS ? '"zstd -T0"' : "zstdmt"];
+          default:
+            return ["-z"];
+        }
+      });
+    }
+    function execCommands(commands, cwd) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        for (const command of commands) {
+          try {
+            yield (0, exec_1.exec)(command, void 0, {
+              cwd,
+              env: Object.assign(Object.assign({}, process.env), { MSYS: "winsymlinks:nativestrict" })
+            });
+          } catch (error3) {
+            throw new Error(`${command.split(" ")[0]} failed with error: ${error3 === null || error3 === void 0 ? void 0 : error3.message}`);
+          }
+        }
+      });
+    }
+    function listTar(archivePath, compressionMethod) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const commands = yield getCommands(compressionMethod, "list", archivePath);
+        yield execCommands(commands);
+      });
+    }
+    function extractTar2(archivePath, compressionMethod) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const workingDirectory = getWorkingDirectory();
+        yield io6.mkdirP(workingDirectory);
+        const commands = yield getCommands(compressionMethod, "extract", archivePath);
+        yield execCommands(commands);
+      });
+    }
+    function createTar(archiveFolder, sourceDirectories, compressionMethod) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        (0, fs_1.writeFileSync)(path4.join(archiveFolder, constants_1.ManifestFilename), sourceDirectories.join("\n"));
+        const commands = yield getCommands(compressionMethod, "create");
+        yield execCommands(commands, archiveFolder);
+      });
+    }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASSignatureValues.js
-var require_BlobSASSignatureValues = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASSignatureValues.js"(exports2) {
+// node_modules/@actions/cache/lib/cache.js
+var require_cache5 = __commonJS({
+  "node_modules/@actions/cache/lib/cache.js"(exports2) {
     "use strict";
+    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = 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 ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve3) {
+          resolve3(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve3, 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 ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.generateBlobSASQueryParameters = generateBlobSASQueryParameters;
-    exports2.generateBlobSASQueryParametersInternal = generateBlobSASQueryParametersInternal;
-    var BlobSASPermissions_js_1 = require_BlobSASPermissions();
-    var ContainerSASPermissions_js_1 = require_ContainerSASPermissions();
-    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
-    var UserDelegationKeyCredential_js_1 = require_UserDelegationKeyCredential();
-    var SasIPRange_js_1 = require_SasIPRange();
-    var SASQueryParameters_js_1 = require_SASQueryParameters();
-    var constants_js_1 = require_constants15();
-    var utils_common_js_1 = require_utils_common();
-    function generateBlobSASQueryParameters(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName) {
-      return generateBlobSASQueryParametersInternal(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName).sasQueryParameters;
+    exports2.FinalizeCacheError = exports2.ReserveCacheError = exports2.ValidationError = void 0;
+    exports2.isFeatureAvailable = isFeatureAvailable;
+    exports2.restoreCache = restoreCache4;
+    exports2.saveCache = saveCache4;
+    var core14 = __importStar2(require_core());
+    var path4 = __importStar2(require("path"));
+    var utils = __importStar2(require_cacheUtils());
+    var cacheHttpClient = __importStar2(require_cacheHttpClient());
+    var cacheTwirpClient = __importStar2(require_cacheTwirpClient());
+    var config_1 = require_config();
+    var tar_1 = require_tar();
+    var http_client_1 = require_lib();
+    var ValidationError = class _ValidationError extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "ValidationError";
+        Object.setPrototypeOf(this, _ValidationError.prototype);
+      }
+    };
+    exports2.ValidationError = ValidationError;
+    var ReserveCacheError2 = class _ReserveCacheError extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "ReserveCacheError";
+        Object.setPrototypeOf(this, _ReserveCacheError.prototype);
+      }
+    };
+    exports2.ReserveCacheError = ReserveCacheError2;
+    var FinalizeCacheError = class _FinalizeCacheError extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "FinalizeCacheError";
+        Object.setPrototypeOf(this, _FinalizeCacheError.prototype);
+      }
+    };
+    exports2.FinalizeCacheError = FinalizeCacheError;
+    function checkPaths(paths) {
+      if (!paths || paths.length === 0) {
+        throw new ValidationError(`Path Validation Error: At least one directory or file path is required`);
+      }
     }
-    function generateBlobSASQueryParametersInternal(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName) {
-      const version = blobSASSignatureValues.version ? blobSASSignatureValues.version : constants_js_1.SERVICE_VERSION;
-      const sharedKeyCredential = sharedKeyCredentialOrUserDelegationKey instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential ? sharedKeyCredentialOrUserDelegationKey : void 0;
-      let userDelegationKeyCredential;
-      if (sharedKeyCredential === void 0 && accountName !== void 0) {
-        userDelegationKeyCredential = new UserDelegationKeyCredential_js_1.UserDelegationKeyCredential(accountName, sharedKeyCredentialOrUserDelegationKey);
+    function checkKey(key) {
+      if (key.length > 512) {
+        throw new ValidationError(`Key Validation Error: ${key} cannot be larger than 512 characters.`);
       }
-      if (sharedKeyCredential === void 0 && userDelegationKeyCredential === void 0) {
-        throw TypeError("Invalid sharedKeyCredential, userDelegationKey or accountName.");
+      const regex = /^[^,]*$/;
+      if (!regex.test(key)) {
+        throw new ValidationError(`Key Validation Error: ${key} cannot contain commas.`);
       }
-      if (version >= "2020-12-06") {
-        if (sharedKeyCredential !== void 0) {
-          return generateBlobSASQueryParameters20201206(blobSASSignatureValues, sharedKeyCredential);
-        } else {
-          if (version >= "2025-07-05") {
-            return generateBlobSASQueryParametersUDK20250705(blobSASSignatureValues, userDelegationKeyCredential);
-          } else {
-            return generateBlobSASQueryParametersUDK20201206(blobSASSignatureValues, userDelegationKeyCredential);
+    }
+    function isFeatureAvailable() {
+      const cacheServiceVersion = (0, config_1.getCacheServiceVersion)();
+      switch (cacheServiceVersion) {
+        case "v2":
+          return !!process.env["ACTIONS_RESULTS_URL"];
+        case "v1":
+        default:
+          return !!process.env["ACTIONS_CACHE_URL"];
+      }
+    }
+    function restoreCache4(paths_1, primaryKey_1, restoreKeys_1, options_1) {
+      return __awaiter2(this, arguments, void 0, function* (paths, primaryKey, restoreKeys, options, enableCrossOsArchive = false) {
+        const cacheServiceVersion = (0, config_1.getCacheServiceVersion)();
+        core14.debug(`Cache service version: ${cacheServiceVersion}`);
+        checkPaths(paths);
+        switch (cacheServiceVersion) {
+          case "v2":
+            return yield restoreCacheV2(paths, primaryKey, restoreKeys, options, enableCrossOsArchive);
+          case "v1":
+          default:
+            return yield restoreCacheV1(paths, primaryKey, restoreKeys, options, enableCrossOsArchive);
+        }
+      });
+    }
+    function restoreCacheV1(paths_1, primaryKey_1, restoreKeys_1, options_1) {
+      return __awaiter2(this, arguments, void 0, function* (paths, primaryKey, restoreKeys, options, enableCrossOsArchive = false) {
+        restoreKeys = restoreKeys || [];
+        const keys = [primaryKey, ...restoreKeys];
+        core14.debug("Resolved Keys:");
+        core14.debug(JSON.stringify(keys));
+        if (keys.length > 10) {
+          throw new ValidationError(`Key Validation Error: Keys are limited to a maximum of 10.`);
+        }
+        for (const key of keys) {
+          checkKey(key);
+        }
+        const compressionMethod = yield utils.getCompressionMethod();
+        let archivePath = "";
+        try {
+          const cacheEntry = yield cacheHttpClient.getCacheEntry(keys, paths, {
+            compressionMethod,
+            enableCrossOsArchive
+          });
+          if (!(cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.archiveLocation)) {
+            return void 0;
           }
-        }
-      }
-      if (version >= "2018-11-09") {
-        if (sharedKeyCredential !== void 0) {
-          return generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKeyCredential);
-        } else {
-          if (version >= "2020-02-10") {
-            return generateBlobSASQueryParametersUDK20200210(blobSASSignatureValues, userDelegationKeyCredential);
+          if (options === null || options === void 0 ? void 0 : options.lookupOnly) {
+            core14.info("Lookup only - skipping download");
+            return cacheEntry.cacheKey;
+          }
+          archivePath = path4.join(yield utils.createTempDirectory(), utils.getCacheFileName(compressionMethod));
+          core14.debug(`Archive Path: ${archivePath}`);
+          yield cacheHttpClient.downloadCache(cacheEntry.archiveLocation, archivePath, options);
+          if (core14.isDebug()) {
+            yield (0, tar_1.listTar)(archivePath, compressionMethod);
+          }
+          const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
+          core14.info(`Cache Size: ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B)`);
+          yield (0, tar_1.extractTar)(archivePath, compressionMethod);
+          core14.info("Cache restored successfully");
+          return cacheEntry.cacheKey;
+        } catch (error3) {
+          const typedError = error3;
+          if (typedError.name === ValidationError.name) {
+            throw error3;
           } else {
-            return generateBlobSASQueryParametersUDK20181109(blobSASSignatureValues, userDelegationKeyCredential);
+            if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) {
+              core14.error(`Failed to restore: ${error3.message}`);
+            } else {
+              core14.warning(`Failed to restore: ${error3.message}`);
+            }
+          }
+        } finally {
+          try {
+            yield utils.unlinkFile(archivePath);
+          } catch (error3) {
+            core14.debug(`Failed to delete archive: ${error3}`);
           }
         }
-      }
-      if (version >= "2015-04-05") {
-        if (sharedKeyCredential !== void 0) {
-          return generateBlobSASQueryParameters20150405(blobSASSignatureValues, sharedKeyCredential);
-        } else {
-          throw new RangeError("'version' must be >= '2018-11-09' when generating user delegation SAS using user delegation key.");
-        }
-      }
-      throw new RangeError("'version' must be >= '2015-04-05'.");
+        return void 0;
+      });
     }
-    function generateBlobSASQueryParameters20150405(blobSASSignatureValues, sharedKeyCredential) {
-      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
-      if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
-        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
-      }
-      let resource = "c";
-      if (blobSASSignatureValues.blobName) {
-        resource = "b";
-      }
-      let verifiedPermissions;
-      if (blobSASSignatureValues.permissions) {
-        if (blobSASSignatureValues.blobName) {
-          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        } else {
-          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+    function restoreCacheV2(paths_1, primaryKey_1, restoreKeys_1, options_1) {
+      return __awaiter2(this, arguments, void 0, function* (paths, primaryKey, restoreKeys, options, enableCrossOsArchive = false) {
+        options = Object.assign(Object.assign({}, options), { useAzureSdk: true });
+        restoreKeys = restoreKeys || [];
+        const keys = [primaryKey, ...restoreKeys];
+        core14.debug("Resolved Keys:");
+        core14.debug(JSON.stringify(keys));
+        if (keys.length > 10) {
+          throw new ValidationError(`Key Validation Error: Keys are limited to a maximum of 10.`);
         }
-      }
-      const stringToSign = [
-        verifiedPermissions ? verifiedPermissions : "",
-        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
-        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
-        getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
-        blobSASSignatureValues.identifier,
-        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
-        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
-        blobSASSignatureValues.version,
-        blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
-        blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
-        blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
-        blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
-        blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : ""
-      ].join("\n");
-      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType),
-        stringToSign
-      };
-    }
-    function generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKeyCredential) {
-      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
-      if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
-        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
-      }
-      let resource = "c";
-      let timestamp2 = blobSASSignatureValues.snapshotTime;
-      if (blobSASSignatureValues.blobName) {
-        resource = "b";
-        if (blobSASSignatureValues.snapshotTime) {
-          resource = "bs";
-        } else if (blobSASSignatureValues.versionId) {
-          resource = "bv";
-          timestamp2 = blobSASSignatureValues.versionId;
+        for (const key of keys) {
+          checkKey(key);
         }
-      }
-      let verifiedPermissions;
-      if (blobSASSignatureValues.permissions) {
-        if (blobSASSignatureValues.blobName) {
-          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        } else {
-          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        let archivePath = "";
+        try {
+          const twirpClient = cacheTwirpClient.internalCacheTwirpClient();
+          const compressionMethod = yield utils.getCompressionMethod();
+          const request2 = {
+            key: primaryKey,
+            restoreKeys,
+            version: utils.getCacheVersion(paths, compressionMethod, enableCrossOsArchive)
+          };
+          const response = yield twirpClient.GetCacheEntryDownloadURL(request2);
+          if (!response.ok) {
+            core14.debug(`Cache not found for version ${request2.version} of keys: ${keys.join(", ")}`);
+            return void 0;
+          }
+          const isRestoreKeyMatch = request2.key !== response.matchedKey;
+          if (isRestoreKeyMatch) {
+            core14.info(`Cache hit for restore-key: ${response.matchedKey}`);
+          } else {
+            core14.info(`Cache hit for: ${response.matchedKey}`);
+          }
+          if (options === null || options === void 0 ? void 0 : options.lookupOnly) {
+            core14.info("Lookup only - skipping download");
+            return response.matchedKey;
+          }
+          archivePath = path4.join(yield utils.createTempDirectory(), utils.getCacheFileName(compressionMethod));
+          core14.debug(`Archive path: ${archivePath}`);
+          core14.debug(`Starting download of archive to: ${archivePath}`);
+          yield cacheHttpClient.downloadCache(response.signedDownloadUrl, archivePath, options);
+          const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
+          core14.info(`Cache Size: ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B)`);
+          if (core14.isDebug()) {
+            yield (0, tar_1.listTar)(archivePath, compressionMethod);
+          }
+          yield (0, tar_1.extractTar)(archivePath, compressionMethod);
+          core14.info("Cache restored successfully");
+          return response.matchedKey;
+        } catch (error3) {
+          const typedError = error3;
+          if (typedError.name === ValidationError.name) {
+            throw error3;
+          } else {
+            if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) {
+              core14.error(`Failed to restore: ${error3.message}`);
+            } else {
+              core14.warning(`Failed to restore: ${error3.message}`);
+            }
+          }
+        } finally {
+          try {
+            if (archivePath) {
+              yield utils.unlinkFile(archivePath);
+            }
+          } catch (error3) {
+            core14.debug(`Failed to delete archive: ${error3}`);
+          }
         }
-      }
-      const stringToSign = [
-        verifiedPermissions ? verifiedPermissions : "",
-        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
-        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
-        getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
-        blobSASSignatureValues.identifier,
-        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
-        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
-        blobSASSignatureValues.version,
-        resource,
-        timestamp2,
-        blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
-        blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
-        blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
-        blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
-        blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : ""
-      ].join("\n");
-      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType),
-        stringToSign
-      };
+        return void 0;
+      });
     }
-    function generateBlobSASQueryParameters20201206(blobSASSignatureValues, sharedKeyCredential) {
-      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
-      if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
-        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
-      }
-      let resource = "c";
-      let timestamp2 = blobSASSignatureValues.snapshotTime;
-      if (blobSASSignatureValues.blobName) {
-        resource = "b";
-        if (blobSASSignatureValues.snapshotTime) {
-          resource = "bs";
-        } else if (blobSASSignatureValues.versionId) {
-          resource = "bv";
-          timestamp2 = blobSASSignatureValues.versionId;
-        }
-      }
-      let verifiedPermissions;
-      if (blobSASSignatureValues.permissions) {
-        if (blobSASSignatureValues.blobName) {
-          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        } else {
-          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+    function saveCache4(paths_1, key_1, options_1) {
+      return __awaiter2(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) {
+        const cacheServiceVersion = (0, config_1.getCacheServiceVersion)();
+        core14.debug(`Cache service version: ${cacheServiceVersion}`);
+        checkPaths(paths);
+        checkKey(key);
+        switch (cacheServiceVersion) {
+          case "v2":
+            return yield saveCacheV2(paths, key, options, enableCrossOsArchive);
+          case "v1":
+          default:
+            return yield saveCacheV1(paths, key, options, enableCrossOsArchive);
         }
-      }
-      const stringToSign = [
-        verifiedPermissions ? verifiedPermissions : "",
-        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
-        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
-        getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
-        blobSASSignatureValues.identifier,
-        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
-        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
-        blobSASSignatureValues.version,
-        resource,
-        timestamp2,
-        blobSASSignatureValues.encryptionScope,
-        blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
-        blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
-        blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
-        blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
-        blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : ""
-      ].join("\n");
-      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, void 0, void 0, void 0, blobSASSignatureValues.encryptionScope),
-        stringToSign
-      };
+      });
     }
-    function generateBlobSASQueryParametersUDK20181109(blobSASSignatureValues, userDelegationKeyCredential) {
-      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
-      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
-        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
-      }
-      let resource = "c";
-      let timestamp2 = blobSASSignatureValues.snapshotTime;
-      if (blobSASSignatureValues.blobName) {
-        resource = "b";
-        if (blobSASSignatureValues.snapshotTime) {
-          resource = "bs";
-        } else if (blobSASSignatureValues.versionId) {
-          resource = "bv";
-          timestamp2 = blobSASSignatureValues.versionId;
+    function saveCacheV1(paths_1, key_1, options_1) {
+      return __awaiter2(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) {
+        var _a, _b, _c, _d, _e;
+        const compressionMethod = yield utils.getCompressionMethod();
+        let cacheId = -1;
+        const cachePaths = yield utils.resolvePaths(paths);
+        core14.debug("Cache Paths:");
+        core14.debug(`${JSON.stringify(cachePaths)}`);
+        if (cachePaths.length === 0) {
+          throw new Error(`Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved.`);
         }
-      }
-      let verifiedPermissions;
-      if (blobSASSignatureValues.permissions) {
-        if (blobSASSignatureValues.blobName) {
-          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        } else {
-          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        const archiveFolder = yield utils.createTempDirectory();
+        const archivePath = path4.join(archiveFolder, utils.getCacheFileName(compressionMethod));
+        core14.debug(`Archive Path: ${archivePath}`);
+        try {
+          yield (0, tar_1.createTar)(archiveFolder, cachePaths, compressionMethod);
+          if (core14.isDebug()) {
+            yield (0, tar_1.listTar)(archivePath, compressionMethod);
+          }
+          const fileSizeLimit = 10 * 1024 * 1024 * 1024;
+          const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
+          core14.debug(`File Size: ${archiveFileSize}`);
+          if (archiveFileSize > fileSizeLimit && !(0, config_1.isGhes)()) {
+            throw new Error(`Cache size of ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B) is over the 10GB limit, not saving cache.`);
+          }
+          core14.debug("Reserving Cache");
+          const reserveCacheResponse = yield cacheHttpClient.reserveCache(key, paths, {
+            compressionMethod,
+            enableCrossOsArchive,
+            cacheSize: archiveFileSize
+          });
+          if ((_a = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.result) === null || _a === void 0 ? void 0 : _a.cacheId) {
+            cacheId = (_b = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.result) === null || _b === void 0 ? void 0 : _b.cacheId;
+          } else if ((reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.statusCode) === 400) {
+            throw new Error((_d = (_c = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.error) === null || _c === void 0 ? void 0 : _c.message) !== null && _d !== void 0 ? _d : `Cache size of ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B) is over the data cap limit, not saving cache.`);
+          } else {
+            throw new ReserveCacheError2(`Unable to reserve cache with key ${key}, another job may be creating this cache. More details: ${(_e = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.error) === null || _e === void 0 ? void 0 : _e.message}`);
+          }
+          core14.debug(`Saving Cache (ID: ${cacheId})`);
+          yield cacheHttpClient.saveCache(cacheId, archivePath, "", options);
+        } catch (error3) {
+          const typedError = error3;
+          if (typedError.name === ValidationError.name) {
+            throw error3;
+          } else if (typedError.name === ReserveCacheError2.name) {
+            core14.info(`Failed to save: ${typedError.message}`);
+          } else {
+            if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) {
+              core14.error(`Failed to save: ${typedError.message}`);
+            } else {
+              core14.warning(`Failed to save: ${typedError.message}`);
+            }
+          }
+        } finally {
+          try {
+            yield utils.unlinkFile(archivePath);
+          } catch (error3) {
+            core14.debug(`Failed to delete archive: ${error3}`);
+          }
         }
-      }
-      const stringToSign = [
-        verifiedPermissions ? verifiedPermissions : "",
-        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
-        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
-        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
-        userDelegationKeyCredential.userDelegationKey.signedObjectId,
-        userDelegationKeyCredential.userDelegationKey.signedTenantId,
-        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedService,
-        userDelegationKeyCredential.userDelegationKey.signedVersion,
-        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
-        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
-        blobSASSignatureValues.version,
-        resource,
-        timestamp2,
-        blobSASSignatureValues.cacheControl,
-        blobSASSignatureValues.contentDisposition,
-        blobSASSignatureValues.contentEncoding,
-        blobSASSignatureValues.contentLanguage,
-        blobSASSignatureValues.contentType
-      ].join("\n");
-      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey),
-        stringToSign
-      };
+        return cacheId;
+      });
     }
-    function generateBlobSASQueryParametersUDK20200210(blobSASSignatureValues, userDelegationKeyCredential) {
-      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
-      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
-        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
-      }
-      let resource = "c";
-      let timestamp2 = blobSASSignatureValues.snapshotTime;
-      if (blobSASSignatureValues.blobName) {
-        resource = "b";
-        if (blobSASSignatureValues.snapshotTime) {
-          resource = "bs";
-        } else if (blobSASSignatureValues.versionId) {
-          resource = "bv";
-          timestamp2 = blobSASSignatureValues.versionId;
+    function saveCacheV2(paths_1, key_1, options_1) {
+      return __awaiter2(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) {
+        options = Object.assign(Object.assign({}, options), { uploadChunkSize: 64 * 1024 * 1024, uploadConcurrency: 8, useAzureSdk: true });
+        const compressionMethod = yield utils.getCompressionMethod();
+        const twirpClient = cacheTwirpClient.internalCacheTwirpClient();
+        let cacheId = -1;
+        const cachePaths = yield utils.resolvePaths(paths);
+        core14.debug("Cache Paths:");
+        core14.debug(`${JSON.stringify(cachePaths)}`);
+        if (cachePaths.length === 0) {
+          throw new Error(`Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved.`);
         }
-      }
-      let verifiedPermissions;
-      if (blobSASSignatureValues.permissions) {
-        if (blobSASSignatureValues.blobName) {
-          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        } else {
-          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        const archiveFolder = yield utils.createTempDirectory();
+        const archivePath = path4.join(archiveFolder, utils.getCacheFileName(compressionMethod));
+        core14.debug(`Archive Path: ${archivePath}`);
+        try {
+          yield (0, tar_1.createTar)(archiveFolder, cachePaths, compressionMethod);
+          if (core14.isDebug()) {
+            yield (0, tar_1.listTar)(archivePath, compressionMethod);
+          }
+          const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
+          core14.debug(`File Size: ${archiveFileSize}`);
+          options.archiveSizeBytes = archiveFileSize;
+          core14.debug("Reserving Cache");
+          const version = utils.getCacheVersion(paths, compressionMethod, enableCrossOsArchive);
+          const request2 = {
+            key,
+            version
+          };
+          let signedUploadUrl;
+          try {
+            const response = yield twirpClient.CreateCacheEntry(request2);
+            if (!response.ok) {
+              if (response.message) {
+                core14.warning(`Cache reservation failed: ${response.message}`);
+              }
+              throw new Error(response.message || "Response was not ok");
+            }
+            signedUploadUrl = response.signedUploadUrl;
+          } catch (error3) {
+            core14.debug(`Failed to reserve cache: ${error3}`);
+            throw new ReserveCacheError2(`Unable to reserve cache with key ${key}, another job may be creating this cache.`);
+          }
+          core14.debug(`Attempting to upload cache located at: ${archivePath}`);
+          yield cacheHttpClient.saveCache(cacheId, archivePath, signedUploadUrl, options);
+          const finalizeRequest = {
+            key,
+            version,
+            sizeBytes: `${archiveFileSize}`
+          };
+          const finalizeResponse = yield twirpClient.FinalizeCacheEntryUpload(finalizeRequest);
+          core14.debug(`FinalizeCacheEntryUploadResponse: ${finalizeResponse.ok}`);
+          if (!finalizeResponse.ok) {
+            if (finalizeResponse.message) {
+              throw new FinalizeCacheError(finalizeResponse.message);
+            }
+            throw new Error(`Unable to finalize cache with key ${key}, another job may be finalizing this cache.`);
+          }
+          cacheId = parseInt(finalizeResponse.entryId);
+        } catch (error3) {
+          const typedError = error3;
+          if (typedError.name === ValidationError.name) {
+            throw error3;
+          } else if (typedError.name === ReserveCacheError2.name) {
+            core14.info(`Failed to save: ${typedError.message}`);
+          } else if (typedError.name === FinalizeCacheError.name) {
+            core14.warning(typedError.message);
+          } else {
+            if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) {
+              core14.error(`Failed to save: ${typedError.message}`);
+            } else {
+              core14.warning(`Failed to save: ${typedError.message}`);
+            }
+          }
+        } finally {
+          try {
+            yield utils.unlinkFile(archivePath);
+          } catch (error3) {
+            core14.debug(`Failed to delete archive: ${error3}`);
+          }
         }
-      }
-      const stringToSign = [
-        verifiedPermissions ? verifiedPermissions : "",
-        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
-        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
-        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
-        userDelegationKeyCredential.userDelegationKey.signedObjectId,
-        userDelegationKeyCredential.userDelegationKey.signedTenantId,
-        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedService,
-        userDelegationKeyCredential.userDelegationKey.signedVersion,
-        blobSASSignatureValues.preauthorizedAgentObjectId,
-        void 0,
-        // agentObjectId
-        blobSASSignatureValues.correlationId,
-        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
-        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
-        blobSASSignatureValues.version,
-        resource,
-        timestamp2,
-        blobSASSignatureValues.cacheControl,
-        blobSASSignatureValues.contentDisposition,
-        blobSASSignatureValues.contentEncoding,
-        blobSASSignatureValues.contentLanguage,
-        blobSASSignatureValues.contentType
-      ].join("\n");
-      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId),
-        stringToSign
-      };
+        return cacheId;
+      });
+    }
+  }
+});
+
+// node_modules/@actions/artifact/lib/internal/shared/config.js
+var require_config2 = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/shared/config.js"(exports2) {
+    "use strict";
+    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
+      return mod && mod.__esModule ? mod : { "default": mod };
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getMaxArtifactListCount = exports2.getUploadChunkTimeout = exports2.getConcurrency = exports2.getGitHubWorkspaceDir = exports2.isGhes = exports2.getResultsServiceUrl = exports2.getRuntimeToken = exports2.getUploadChunkSize = void 0;
+    var os_1 = __importDefault2(require("os"));
+    var core_1 = require_core();
+    function getUploadChunkSize() {
+      return 8 * 1024 * 1024;
     }
-    function generateBlobSASQueryParametersUDK20201206(blobSASSignatureValues, userDelegationKeyCredential) {
-      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
-      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
-        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
+    exports2.getUploadChunkSize = getUploadChunkSize;
+    function getRuntimeToken() {
+      const token = process.env["ACTIONS_RUNTIME_TOKEN"];
+      if (!token) {
+        throw new Error("Unable to get the ACTIONS_RUNTIME_TOKEN env variable");
       }
-      let resource = "c";
-      let timestamp2 = blobSASSignatureValues.snapshotTime;
-      if (blobSASSignatureValues.blobName) {
-        resource = "b";
-        if (blobSASSignatureValues.snapshotTime) {
-          resource = "bs";
-        } else if (blobSASSignatureValues.versionId) {
-          resource = "bv";
-          timestamp2 = blobSASSignatureValues.versionId;
-        }
+      return token;
+    }
+    exports2.getRuntimeToken = getRuntimeToken;
+    function getResultsServiceUrl() {
+      const resultsUrl = process.env["ACTIONS_RESULTS_URL"];
+      if (!resultsUrl) {
+        throw new Error("Unable to get the ACTIONS_RESULTS_URL env variable");
       }
-      let verifiedPermissions;
-      if (blobSASSignatureValues.permissions) {
-        if (blobSASSignatureValues.blobName) {
-          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        } else {
-          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        }
+      return new URL(resultsUrl).origin;
+    }
+    exports2.getResultsServiceUrl = getResultsServiceUrl;
+    function isGhes() {
+      const ghUrl = new URL(process.env["GITHUB_SERVER_URL"] || "https://github.com");
+      const hostname = ghUrl.hostname.trimEnd().toUpperCase();
+      const isGitHubHost = hostname === "GITHUB.COM";
+      const isGheHost = hostname.endsWith(".GHE.COM");
+      const isLocalHost = hostname.endsWith(".LOCALHOST");
+      return !isGitHubHost && !isGheHost && !isLocalHost;
+    }
+    exports2.isGhes = isGhes;
+    function getGitHubWorkspaceDir() {
+      const ghWorkspaceDir = process.env["GITHUB_WORKSPACE"];
+      if (!ghWorkspaceDir) {
+        throw new Error("Unable to get the GITHUB_WORKSPACE env variable");
       }
-      const stringToSign = [
-        verifiedPermissions ? verifiedPermissions : "",
-        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
-        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
-        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
-        userDelegationKeyCredential.userDelegationKey.signedObjectId,
-        userDelegationKeyCredential.userDelegationKey.signedTenantId,
-        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedService,
-        userDelegationKeyCredential.userDelegationKey.signedVersion,
-        blobSASSignatureValues.preauthorizedAgentObjectId,
-        void 0,
-        // agentObjectId
-        blobSASSignatureValues.correlationId,
-        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
-        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
-        blobSASSignatureValues.version,
-        resource,
-        timestamp2,
-        blobSASSignatureValues.encryptionScope,
-        blobSASSignatureValues.cacheControl,
-        blobSASSignatureValues.contentDisposition,
-        blobSASSignatureValues.contentEncoding,
-        blobSASSignatureValues.contentLanguage,
-        blobSASSignatureValues.contentType
-      ].join("\n");
-      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId, blobSASSignatureValues.encryptionScope),
-        stringToSign
-      };
+      return ghWorkspaceDir;
     }
-    function generateBlobSASQueryParametersUDK20250705(blobSASSignatureValues, userDelegationKeyCredential) {
-      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
-      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
-        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
+    exports2.getGitHubWorkspaceDir = getGitHubWorkspaceDir;
+    function getConcurrency() {
+      const numCPUs = os_1.default.cpus().length;
+      let concurrencyCap = 32;
+      if (numCPUs > 4) {
+        const concurrency = 16 * numCPUs;
+        concurrencyCap = concurrency > 300 ? 300 : concurrency;
       }
-      let resource = "c";
-      let timestamp2 = blobSASSignatureValues.snapshotTime;
-      if (blobSASSignatureValues.blobName) {
-        resource = "b";
-        if (blobSASSignatureValues.snapshotTime) {
-          resource = "bs";
-        } else if (blobSASSignatureValues.versionId) {
-          resource = "bv";
-          timestamp2 = blobSASSignatureValues.versionId;
+      const concurrencyOverride = process.env["ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY"];
+      if (concurrencyOverride) {
+        const concurrency = parseInt(concurrencyOverride);
+        if (isNaN(concurrency) || concurrency < 1) {
+          throw new Error("Invalid value set for ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY env variable");
         }
-      }
-      let verifiedPermissions;
-      if (blobSASSignatureValues.permissions) {
-        if (blobSASSignatureValues.blobName) {
-          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        } else {
-          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        if (concurrency < concurrencyCap) {
+          (0, core_1.info)(`Set concurrency based on the value set in ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY.`);
+          return concurrency;
         }
+        (0, core_1.info)(`ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY is higher than the cap of ${concurrencyCap} based on the number of cpus. Set it to the maximum value allowed.`);
+        return concurrencyCap;
       }
-      const stringToSign = [
-        verifiedPermissions ? verifiedPermissions : "",
-        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
-        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
-        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
-        userDelegationKeyCredential.userDelegationKey.signedObjectId,
-        userDelegationKeyCredential.userDelegationKey.signedTenantId,
-        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedService,
-        userDelegationKeyCredential.userDelegationKey.signedVersion,
-        blobSASSignatureValues.preauthorizedAgentObjectId,
-        void 0,
-        // agentObjectId
-        blobSASSignatureValues.correlationId,
-        void 0,
-        // SignedKeyDelegatedUserTenantId, will be added in a future release.
-        void 0,
-        // SignedDelegatedUserObjectId, will be added in future release.
-        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
-        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
-        blobSASSignatureValues.version,
-        resource,
-        timestamp2,
-        blobSASSignatureValues.encryptionScope,
-        blobSASSignatureValues.cacheControl,
-        blobSASSignatureValues.contentDisposition,
-        blobSASSignatureValues.contentEncoding,
-        blobSASSignatureValues.contentLanguage,
-        blobSASSignatureValues.contentType
-      ].join("\n");
-      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId, blobSASSignatureValues.encryptionScope),
-        stringToSign
-      };
-    }
-    function getCanonicalName(accountName, containerName, blobName) {
-      const elements = [`/blob/${accountName}/${containerName}`];
-      if (blobName) {
-        elements.push(`/${blobName}`);
-      }
-      return elements.join("");
+      return 5;
     }
-    function SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues) {
-      const version = blobSASSignatureValues.version ? blobSASSignatureValues.version : constants_js_1.SERVICE_VERSION;
-      if (blobSASSignatureValues.snapshotTime && version < "2018-11-09") {
-        throw RangeError("'version' must be >= '2018-11-09' when providing 'snapshotTime'.");
-      }
-      if (blobSASSignatureValues.blobName === void 0 && blobSASSignatureValues.snapshotTime) {
-        throw RangeError("Must provide 'blobName' when providing 'snapshotTime'.");
-      }
-      if (blobSASSignatureValues.versionId && version < "2019-10-10") {
-        throw RangeError("'version' must be >= '2019-10-10' when providing 'versionId'.");
-      }
-      if (blobSASSignatureValues.blobName === void 0 && blobSASSignatureValues.versionId) {
-        throw RangeError("Must provide 'blobName' when providing 'versionId'.");
-      }
-      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.setImmutabilityPolicy && version < "2020-08-04") {
-        throw RangeError("'version' must be >= '2020-08-04' when provided 'i' permission.");
-      }
-      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.deleteVersion && version < "2019-10-10") {
-        throw RangeError("'version' must be >= '2019-10-10' when providing 'x' permission.");
-      }
-      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.permanentDelete && version < "2019-10-10") {
-        throw RangeError("'version' must be >= '2019-10-10' when providing 'y' permission.");
-      }
-      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.tag && version < "2019-12-12") {
-        throw RangeError("'version' must be >= '2019-12-12' when providing 't' permission.");
-      }
-      if (version < "2020-02-10" && blobSASSignatureValues.permissions && (blobSASSignatureValues.permissions.move || blobSASSignatureValues.permissions.execute)) {
-        throw RangeError("'version' must be >= '2020-02-10' when providing the 'm' or 'e' permission.");
-      }
-      if (version < "2021-04-10" && blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.filterByTags) {
-        throw RangeError("'version' must be >= '2021-04-10' when providing the 'f' permission.");
+    exports2.getConcurrency = getConcurrency;
+    function getUploadChunkTimeout() {
+      const timeoutVar = process.env["ACTIONS_ARTIFACT_UPLOAD_TIMEOUT_MS"];
+      if (!timeoutVar) {
+        return 3e5;
       }
-      if (version < "2020-02-10" && (blobSASSignatureValues.preauthorizedAgentObjectId || blobSASSignatureValues.correlationId)) {
-        throw RangeError("'version' must be >= '2020-02-10' when providing 'preauthorizedAgentObjectId' or 'correlationId'.");
+      const timeout = parseInt(timeoutVar);
+      if (isNaN(timeout)) {
+        throw new Error("Invalid value set for ACTIONS_ARTIFACT_UPLOAD_TIMEOUT_MS env variable");
       }
-      if (blobSASSignatureValues.encryptionScope && version < "2020-12-06") {
-        throw RangeError("'version' must be >= '2020-12-06' when provided 'encryptionScope' in SAS.");
+      return timeout;
+    }
+    exports2.getUploadChunkTimeout = getUploadChunkTimeout;
+    function getMaxArtifactListCount() {
+      const maxCountVar = process.env["ACTIONS_ARTIFACT_MAX_ARTIFACT_COUNT"] || "1000";
+      const maxCount = parseInt(maxCountVar);
+      if (isNaN(maxCount) || maxCount < 1) {
+        throw new Error("Invalid value set for ACTIONS_ARTIFACT_MAX_ARTIFACT_COUNT env variable");
       }
-      blobSASSignatureValues.version = version;
-      return blobSASSignatureValues;
+      return maxCount;
     }
+    exports2.getMaxArtifactListCount = getMaxArtifactListCount;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/BlobLeaseClient.js
-var require_BlobLeaseClient = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BlobLeaseClient.js"(exports2) {
+// node_modules/@actions/artifact/lib/generated/google/protobuf/timestamp.js
+var require_timestamp = __commonJS({
+  "node_modules/@actions/artifact/lib/generated/google/protobuf/timestamp.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobLeaseClient = void 0;
-    var core_util_1 = require_commonjs4();
-    var constants_js_1 = require_constants15();
-    var tracing_js_1 = require_tracing();
-    var utils_common_js_1 = require_utils_common();
-    var BlobLeaseClient = class {
-      _leaseId;
-      _url;
-      _containerOrBlobOperation;
-      _isContainer;
-      /**
-       * Gets the lease Id.
-       *
-       * @readonly
-       */
-      get leaseId() {
-        return this._leaseId;
+    exports2.Timestamp = void 0;
+    var runtime_1 = require_commonjs16();
+    var runtime_2 = require_commonjs16();
+    var runtime_3 = require_commonjs16();
+    var runtime_4 = require_commonjs16();
+    var runtime_5 = require_commonjs16();
+    var runtime_6 = require_commonjs16();
+    var runtime_7 = require_commonjs16();
+    var Timestamp$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.Timestamp", [
+          {
+            no: 1,
+            name: "seconds",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          },
+          {
+            no: 2,
+            name: "nanos",
+            kind: "scalar",
+            T: 5
+            /*ScalarType.INT32*/
+          }
+        ]);
       }
       /**
-       * Gets the url.
-       *
-       * @readonly
+       * Creates a new `Timestamp` for the current time.
        */
-      get url() {
-        return this._url;
+      now() {
+        const msg = this.create();
+        const ms = Date.now();
+        msg.seconds = runtime_6.PbLong.from(Math.floor(ms / 1e3)).toString();
+        msg.nanos = ms % 1e3 * 1e6;
+        return msg;
       }
       /**
-       * Creates an instance of BlobLeaseClient.
-       * @param client - The client to make the lease operation requests.
-       * @param leaseId - Initial proposed lease id.
+       * Converts a `Timestamp` to a JavaScript Date.
        */
-      constructor(client, leaseId) {
-        const clientContext = client.storageClientContext;
-        this._url = client.url;
-        if (client.name === void 0) {
-          this._isContainer = true;
-          this._containerOrBlobOperation = clientContext.container;
-        } else {
-          this._isContainer = false;
-          this._containerOrBlobOperation = clientContext.blob;
-        }
-        if (!leaseId) {
-          leaseId = (0, core_util_1.randomUUID)();
-        }
-        this._leaseId = leaseId;
+      toDate(message) {
+        return new Date(runtime_6.PbLong.from(message.seconds).toNumber() * 1e3 + Math.ceil(message.nanos / 1e6));
       }
       /**
-       * Establishes and manages a lock on a container for delete operations, or on a blob
-       * for write and delete operations.
-       * The lock duration can be 15 to 60 seconds, or can be infinite.
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
-       * and
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
-       *
-       * @param duration - Must be between 15 to 60 seconds, or infinite (-1)
-       * @param options - option to configure lease management operations.
-       * @returns Response data for acquire lease operation.
+       * Converts a JavaScript Date to a `Timestamp`.
        */
-      async acquireLease(duration, options = {}) {
-        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
-          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
-        }
-        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-acquireLease", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.acquireLease({
-            abortSignal: options.abortSignal,
-            duration,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            proposedLeaseId: this._leaseId,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      fromDate(date) {
+        const msg = this.create();
+        const ms = date.getTime();
+        msg.seconds = runtime_6.PbLong.from(Math.floor(ms / 1e3)).toString();
+        msg.nanos = ms % 1e3 * 1e6;
+        return msg;
       }
       /**
-       * To change the ID of the lease.
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
-       * and
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
-       *
-       * @param proposedLeaseId - the proposed new lease Id.
-       * @param options - option to configure lease management operations.
-       * @returns Response data for change lease operation.
+       * In JSON format, the `Timestamp` type is encoded as a string
+       * in the RFC 3339 format.
        */
-      async changeLease(proposedLeaseId, options = {}) {
-        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
-          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
+      internalJsonWrite(message, options) {
+        let ms = runtime_6.PbLong.from(message.seconds).toNumber() * 1e3;
+        if (ms < Date.parse("0001-01-01T00:00:00Z") || ms > Date.parse("9999-12-31T23:59:59Z"))
+          throw new Error("Unable to encode Timestamp to JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.");
+        if (message.nanos < 0)
+          throw new Error("Unable to encode invalid Timestamp to JSON. Nanos must not be negative.");
+        let z = "Z";
+        if (message.nanos > 0) {
+          let nanosStr = (message.nanos + 1e9).toString().substring(1);
+          if (nanosStr.substring(3) === "000000")
+            z = "." + nanosStr.substring(0, 3) + "Z";
+          else if (nanosStr.substring(6) === "000")
+            z = "." + nanosStr.substring(0, 6) + "Z";
+          else
+            z = "." + nanosStr + "Z";
         }
-        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-changeLease", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.changeLease(this._leaseId, proposedLeaseId, {
-            abortSignal: options.abortSignal,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          this._leaseId = proposedLeaseId;
-          return response;
-        });
+        return new Date(ms).toISOString().replace(".000Z", z);
       }
       /**
-       * To free the lease if it is no longer needed so that another client may
-       * immediately acquire a lease against the container or the blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
-       * and
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
-       *
-       * @param options - option to configure lease management operations.
-       * @returns Response data for release lease operation.
+       * In JSON format, the `Timestamp` type is encoded as a string
+       * in the RFC 3339 format.
        */
-      async releaseLease(options = {}) {
-        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
-          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
-        }
-        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-releaseLease", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.releaseLease(this._leaseId, {
-            abortSignal: options.abortSignal,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      internalJsonRead(json2, options, target) {
+        if (typeof json2 !== "string")
+          throw new Error("Unable to parse Timestamp from JSON " + (0, runtime_5.typeofJsonValue)(json2) + ".");
+        let matches = json2.match(/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(?:Z|\.([0-9]{3,9})Z|([+-][0-9][0-9]:[0-9][0-9]))$/);
+        if (!matches)
+          throw new Error("Unable to parse Timestamp from JSON. Invalid format.");
+        let ms = Date.parse(matches[1] + "-" + matches[2] + "-" + matches[3] + "T" + matches[4] + ":" + matches[5] + ":" + matches[6] + (matches[8] ? matches[8] : "Z"));
+        if (Number.isNaN(ms))
+          throw new Error("Unable to parse Timestamp from JSON. Invalid value.");
+        if (ms < Date.parse("0001-01-01T00:00:00Z") || ms > Date.parse("9999-12-31T23:59:59Z"))
+          throw new globalThis.Error("Unable to parse Timestamp from JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.");
+        if (!target)
+          target = this.create();
+        target.seconds = runtime_6.PbLong.from(ms / 1e3).toString();
+        target.nanos = 0;
+        if (matches[7])
+          target.nanos = parseInt("1" + matches[7] + "0".repeat(9 - matches[7].length)) - 1e9;
+        return target;
       }
-      /**
-       * To renew the lease.
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
-       * and
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
-       *
-       * @param options - Optional option to configure lease management operations.
-       * @returns Response data for renew lease operation.
-       */
-      async renewLease(options = {}) {
-        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
-          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
-        }
-        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-renewLease", options, async (updatedOptions) => {
-          return this._containerOrBlobOperation.renewLease(this._leaseId, {
-            abortSignal: options.abortSignal,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          });
-        });
+      create(value) {
+        const message = { seconds: "0", nanos: 0 };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * To end the lease but ensure that another client cannot acquire a new lease
-       * until the current lease period has expired.
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
-       * and
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
-       *
-       * @param breakPeriod - Break period
-       * @param options - Optional options to configure lease management operations.
-       * @returns Response data for break lease operation.
-       */
-      async breakLease(breakPeriod, options = {}) {
-        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
-          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* int64 seconds */
+            1:
+              message.seconds = reader.int64().toString();
+              break;
+            case /* int32 nanos */
+            2:
+              message.nanos = reader.int32();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
         }
-        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-breakLease", options, async (updatedOptions) => {
-          const operationOptions = {
-            abortSignal: options.abortSignal,
-            breakPeriod,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          };
-          return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.breakLease(operationOptions));
-        });
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.seconds !== "0")
+          writer.tag(1, runtime_1.WireType.Varint).int64(message.seconds);
+        if (message.nanos !== 0)
+          writer.tag(2, runtime_1.WireType.Varint).int32(message.nanos);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
     };
-    exports2.BlobLeaseClient = BlobLeaseClient;
+    exports2.Timestamp = new Timestamp$Type();
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/utils/RetriableReadableStream.js
-var require_RetriableReadableStream = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/RetriableReadableStream.js"(exports2) {
+// node_modules/@actions/artifact/lib/generated/google/protobuf/wrappers.js
+var require_wrappers = __commonJS({
+  "node_modules/@actions/artifact/lib/generated/google/protobuf/wrappers.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.RetriableReadableStream = void 0;
-    var abort_controller_1 = require_commonjs11();
-    var node_stream_1 = require("node:stream");
-    var RetriableReadableStream = class extends node_stream_1.Readable {
-      start;
-      offset;
-      end;
-      getter;
-      source;
-      retries = 0;
-      maxRetryRequests;
-      onProgress;
-      options;
+    exports2.BytesValue = exports2.StringValue = exports2.BoolValue = exports2.UInt32Value = exports2.Int32Value = exports2.UInt64Value = exports2.Int64Value = exports2.FloatValue = exports2.DoubleValue = void 0;
+    var runtime_1 = require_commonjs16();
+    var runtime_2 = require_commonjs16();
+    var runtime_3 = require_commonjs16();
+    var runtime_4 = require_commonjs16();
+    var runtime_5 = require_commonjs16();
+    var runtime_6 = require_commonjs16();
+    var runtime_7 = require_commonjs16();
+    var DoubleValue$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.DoubleValue", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 1
+            /*ScalarType.DOUBLE*/
+          }
+        ]);
+      }
       /**
-       * Creates an instance of RetriableReadableStream.
-       *
-       * @param source - The current ReadableStream returned from getter
-       * @param getter - A method calling downloading request returning
-       *                                      a new ReadableStream from specified offset
-       * @param offset - Offset position in original data source to read
-       * @param count - How much data in original data source to read
-       * @param options -
+       * Encode `DoubleValue` to JSON number.
        */
-      constructor(source, getter, offset, count, options = {}) {
-        super({ highWaterMark: options.highWaterMark });
-        this.getter = getter;
-        this.source = source;
-        this.start = offset;
-        this.offset = offset;
-        this.end = offset + count - 1;
-        this.maxRetryRequests = options.maxRetryRequests && options.maxRetryRequests >= 0 ? options.maxRetryRequests : 0;
-        this.onProgress = options.onProgress;
-        this.options = options;
-        this.setSourceEventHandlers();
-      }
-      _read() {
-        this.source.resume();
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.scalar(2, message.value, "value", false, true);
       }
-      setSourceEventHandlers() {
-        this.source.on("data", this.sourceDataHandler);
-        this.source.on("end", this.sourceErrorOrEndHandler);
-        this.source.on("error", this.sourceErrorOrEndHandler);
-        this.source.on("aborted", this.sourceAbortedHandler);
+      /**
+       * Decode `DoubleValue` from JSON number.
+       */
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, 1, void 0, "value");
+        return target;
       }
-      removeSourceEventHandlers() {
-        this.source.removeListener("data", this.sourceDataHandler);
-        this.source.removeListener("end", this.sourceErrorOrEndHandler);
-        this.source.removeListener("error", this.sourceErrorOrEndHandler);
-        this.source.removeListener("aborted", this.sourceAbortedHandler);
+      create(value) {
+        const message = { value: 0 };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      sourceDataHandler = (data) => {
-        if (this.options.doInjectErrorOnce) {
-          this.options.doInjectErrorOnce = void 0;
-          this.source.pause();
-          this.sourceErrorOrEndHandler();
-          this.source.destroy();
-          return;
-        }
-        this.offset += data.length;
-        if (this.onProgress) {
-          this.onProgress({ loadedBytes: this.offset - this.start });
-        }
-        if (!this.push(data)) {
-          this.source.pause();
-        }
-      };
-      sourceAbortedHandler = () => {
-        const abortError = new abort_controller_1.AbortError("The operation was aborted.");
-        this.destroy(abortError);
-      };
-      sourceErrorOrEndHandler = (err) => {
-        if (err && err.name === "AbortError") {
-          this.destroy(err);
-          return;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* double value */
+            1:
+              message.value = reader.double();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
         }
-        this.removeSourceEventHandlers();
-        if (this.offset - 1 === this.end) {
-          this.push(null);
-        } else if (this.offset <= this.end) {
-          if (this.retries < this.maxRetryRequests) {
-            this.retries += 1;
-            this.getter(this.offset).then((newSource) => {
-              this.source = newSource;
-              this.setSourceEventHandlers();
-              return;
-            }).catch((error3) => {
-              this.destroy(error3);
-            });
-          } else {
-            this.destroy(new Error(`Data corruption failure: received less data than required and reached maxRetires limitation. Received data offset: ${this.offset - 1}, data needed offset: ${this.end}, retries: ${this.retries}, max retries: ${this.maxRetryRequests}`));
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== 0)
+          writer.tag(1, runtime_3.WireType.Bit64).double(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.DoubleValue = new DoubleValue$Type();
+    var FloatValue$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.FloatValue", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 2
+            /*ScalarType.FLOAT*/
+          }
+        ]);
+      }
+      /**
+       * Encode `FloatValue` to JSON number.
+       */
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.scalar(1, message.value, "value", false, true);
+      }
+      /**
+       * Decode `FloatValue` from JSON number.
+       */
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, 1, void 0, "value");
+        return target;
+      }
+      create(value) {
+        const message = { value: 0 };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* float value */
+            1:
+              message.value = reader.float();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
           }
-        } else {
-          this.destroy(new Error(`Data corruption failure: Received more data than original request, data needed offset is ${this.end}, received offset: ${this.offset - 1}`));
         }
-      };
-      _destroy(error3, callback) {
-        this.removeSourceEventHandlers();
-        this.source.destroy();
-        callback(error3 === null ? void 0 : error3);
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== 0)
+          writer.tag(1, runtime_3.WireType.Bit32).float(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
     };
-    exports2.RetriableReadableStream = RetriableReadableStream;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/BlobDownloadResponse.js
-var require_BlobDownloadResponse = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BlobDownloadResponse.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobDownloadResponse = void 0;
-    var core_util_1 = require_commonjs4();
-    var RetriableReadableStream_js_1 = require_RetriableReadableStream();
-    var BlobDownloadResponse = class {
+    exports2.FloatValue = new FloatValue$Type();
+    var Int64Value$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.Int64Value", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          }
+        ]);
+      }
       /**
-       * Indicates that the service supports
-       * requests for partial file content.
-       *
-       * @readonly
+       * Encode `Int64Value` to JSON string.
        */
-      get acceptRanges() {
-        return this.originalResponse.acceptRanges;
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.scalar(runtime_1.ScalarType.INT64, message.value, "value", false, true);
       }
       /**
-       * Returns if it was previously specified
-       * for the file.
-       *
-       * @readonly
+       * Decode `Int64Value` from JSON string.
        */
-      get cacheControl() {
-        return this.originalResponse.cacheControl;
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, runtime_1.ScalarType.INT64, runtime_2.LongType.STRING, "value");
+        return target;
+      }
+      create(value) {
+        const message = { value: "0" };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* int64 value */
+            1:
+              message.value = reader.int64().toString();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== "0")
+          writer.tag(1, runtime_3.WireType.Varint).int64(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.Int64Value = new Int64Value$Type();
+    var UInt64Value$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.UInt64Value", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 4
+            /*ScalarType.UINT64*/
+          }
+        ]);
       }
       /**
-       * Returns the value that was specified
-       * for the 'x-ms-content-disposition' header and specifies how to process the
-       * response.
-       *
-       * @readonly
+       * Encode `UInt64Value` to JSON string.
        */
-      get contentDisposition() {
-        return this.originalResponse.contentDisposition;
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.scalar(runtime_1.ScalarType.UINT64, message.value, "value", false, true);
       }
       /**
-       * Returns the value that was specified
-       * for the Content-Encoding request header.
-       *
-       * @readonly
+       * Decode `UInt64Value` from JSON string.
        */
-      get contentEncoding() {
-        return this.originalResponse.contentEncoding;
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, runtime_1.ScalarType.UINT64, runtime_2.LongType.STRING, "value");
+        return target;
+      }
+      create(value) {
+        const message = { value: "0" };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* uint64 value */
+            1:
+              message.value = reader.uint64().toString();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== "0")
+          writer.tag(1, runtime_3.WireType.Varint).uint64(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.UInt64Value = new UInt64Value$Type();
+    var Int32Value$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.Int32Value", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 5
+            /*ScalarType.INT32*/
+          }
+        ]);
       }
       /**
-       * Returns the value that was specified
-       * for the Content-Language request header.
-       *
-       * @readonly
+       * Encode `Int32Value` to JSON string.
        */
-      get contentLanguage() {
-        return this.originalResponse.contentLanguage;
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.scalar(5, message.value, "value", false, true);
       }
       /**
-       * The current sequence number for a
-       * page blob. This header is not returned for block blobs or append blobs.
-       *
-       * @readonly
+       * Decode `Int32Value` from JSON string.
        */
-      get blobSequenceNumber() {
-        return this.originalResponse.blobSequenceNumber;
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, 5, void 0, "value");
+        return target;
+      }
+      create(value) {
+        const message = { value: 0 };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* int32 value */
+            1:
+              message.value = reader.int32();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== 0)
+          writer.tag(1, runtime_3.WireType.Varint).int32(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.Int32Value = new Int32Value$Type();
+    var UInt32Value$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.UInt32Value", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 13
+            /*ScalarType.UINT32*/
+          }
+        ]);
       }
       /**
-       * The blob's type. Possible values include:
-       * 'BlockBlob', 'PageBlob', 'AppendBlob'.
-       *
-       * @readonly
+       * Encode `UInt32Value` to JSON string.
        */
-      get blobType() {
-        return this.originalResponse.blobType;
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.scalar(13, message.value, "value", false, true);
       }
       /**
-       * The number of bytes present in the
-       * response body.
-       *
-       * @readonly
+       * Decode `UInt32Value` from JSON string.
        */
-      get contentLength() {
-        return this.originalResponse.contentLength;
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, 13, void 0, "value");
+        return target;
+      }
+      create(value) {
+        const message = { value: 0 };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* uint32 value */
+            1:
+              message.value = reader.uint32();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== 0)
+          writer.tag(1, runtime_3.WireType.Varint).uint32(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * If the file has an MD5 hash and the
-       * request is to read the full file, this response header is returned so that
-       * the client can check for message content integrity. If the request is to
-       * read a specified range and the 'x-ms-range-get-content-md5' is set to
-       * true, then the request returns an MD5 hash for the range, as long as the
-       * range size is less than or equal to 4 MB. If neither of these sets of
-       * conditions is true, then no value is returned for the 'Content-MD5'
-       * header.
-       *
-       * @readonly
-       */
-      get contentMD5() {
-        return this.originalResponse.contentMD5;
+    };
+    exports2.UInt32Value = new UInt32Value$Type();
+    var BoolValue$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.BoolValue", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          }
+        ]);
       }
       /**
-       * Indicates the range of bytes returned if
-       * the client requested a subset of the file by setting the Range request
-       * header.
-       *
-       * @readonly
+       * Encode `BoolValue` to JSON bool.
        */
-      get contentRange() {
-        return this.originalResponse.contentRange;
+      internalJsonWrite(message, options) {
+        return message.value;
       }
       /**
-       * The content type specified for the file.
-       * The default content type is 'application/octet-stream'
-       *
-       * @readonly
+       * Decode `BoolValue` from JSON bool.
        */
-      get contentType() {
-        return this.originalResponse.contentType;
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, 8, void 0, "value");
+        return target;
       }
-      /**
-       * Conclusion time of the last attempted
-       * Copy File operation where this file was the destination file. This value
-       * can specify the time of a completed, aborted, or failed copy attempt.
-       *
-       * @readonly
-       */
-      get copyCompletedOn() {
-        return this.originalResponse.copyCompletedOn;
+      create(value) {
+        const message = { value: false };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * String identifier for the last attempted Copy
-       * File operation where this file was the destination file.
-       *
-       * @readonly
-       */
-      get copyId() {
-        return this.originalResponse.copyId;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool value */
+            1:
+              message.value = reader.bool();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * Contains the number of bytes copied and
-       * the total bytes in the source in the last attempted Copy File operation
-       * where this file was the destination file. Can show between 0 and
-       * Content-Length bytes copied.
-       *
-       * @readonly
-       */
-      get copyProgress() {
-        return this.originalResponse.copyProgress;
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== false)
+          writer.tag(1, runtime_3.WireType.Varint).bool(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * URL up to 2KB in length that specifies the
-       * source file used in the last attempted Copy File operation where this file
-       * was the destination file.
-       *
-       * @readonly
-       */
-      get copySource() {
-        return this.originalResponse.copySource;
+    };
+    exports2.BoolValue = new BoolValue$Type();
+    var StringValue$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.StringValue", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
       }
       /**
-       * State of the copy operation
-       * identified by 'x-ms-copy-id'. Possible values include: 'pending',
-       * 'success', 'aborted', 'failed'
-       *
-       * @readonly
+       * Encode `StringValue` to JSON string.
        */
-      get copyStatus() {
-        return this.originalResponse.copyStatus;
+      internalJsonWrite(message, options) {
+        return message.value;
       }
       /**
-       * Only appears when
-       * x-ms-copy-status is failed or pending. Describes cause of fatal or
-       * non-fatal copy operation failure.
-       *
-       * @readonly
+       * Decode `StringValue` from JSON string.
        */
-      get copyStatusDescription() {
-        return this.originalResponse.copyStatusDescription;
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, 9, void 0, "value");
+        return target;
       }
-      /**
-       * When a blob is leased,
-       * specifies whether the lease is of infinite or fixed duration. Possible
-       * values include: 'infinite', 'fixed'.
-       *
-       * @readonly
-       */
-      get leaseDuration() {
-        return this.originalResponse.leaseDuration;
+      create(value) {
+        const message = { value: "" };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * Lease state of the blob. Possible
-       * values include: 'available', 'leased', 'expired', 'breaking', 'broken'.
-       *
-       * @readonly
-       */
-      get leaseState() {
-        return this.originalResponse.leaseState;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string value */
+            1:
+              message.value = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * The current lease status of the
-       * blob. Possible values include: 'locked', 'unlocked'.
-       *
-       * @readonly
-       */
-      get leaseStatus() {
-        return this.originalResponse.leaseStatus;
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== "")
+          writer.tag(1, runtime_3.WireType.LengthDelimited).string(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * A UTC date/time value generated by the service that
-       * indicates the time at which the response was initiated.
-       *
-       * @readonly
-       */
-      get date() {
-        return this.originalResponse.date;
+    };
+    exports2.StringValue = new StringValue$Type();
+    var BytesValue$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.BytesValue", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 12
+            /*ScalarType.BYTES*/
+          }
+        ]);
       }
       /**
-       * The number of committed blocks
-       * present in the blob. This header is returned only for append blobs.
-       *
-       * @readonly
+       * Encode `BytesValue` to JSON string.
        */
-      get blobCommittedBlockCount() {
-        return this.originalResponse.blobCommittedBlockCount;
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.scalar(12, message.value, "value", false, true);
       }
       /**
-       * The ETag contains a value that you can use to
-       * perform operations conditionally, in quotes.
-       *
-       * @readonly
+       * Decode `BytesValue` from JSON string.
        */
-      get etag() {
-        return this.originalResponse.etag;
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, 12, void 0, "value");
+        return target;
       }
-      /**
-       * The number of tags associated with the blob
-       *
-       * @readonly
-       */
-      get tagCount() {
-        return this.originalResponse.tagCount;
+      create(value) {
+        const message = { value: new Uint8Array(0) };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * The error code.
-       *
-       * @readonly
-       */
-      get errorCode() {
-        return this.originalResponse.errorCode;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bytes value */
+            1:
+              message.value = reader.bytes();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * The value of this header is set to
-       * true if the file data and application metadata are completely encrypted
-       * using the specified algorithm. Otherwise, the value is set to false (when
-       * the file is unencrypted, or if only parts of the file/application metadata
-       * are encrypted).
-       *
-       * @readonly
-       */
-      get isServerEncrypted() {
-        return this.originalResponse.isServerEncrypted;
+      internalBinaryWrite(message, writer, options) {
+        if (message.value.length)
+          writer.tag(1, runtime_3.WireType.LengthDelimited).bytes(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * If the blob has a MD5 hash, and if
-       * request contains range header (Range or x-ms-range), this response header
-       * is returned with the value of the whole blob's MD5 value. This value may
-       * or may not be equal to the value returned in Content-MD5 header, with the
-       * latter calculated from the requested range.
-       *
-       * @readonly
-       */
-      get blobContentMD5() {
-        return this.originalResponse.blobContentMD5;
+    };
+    exports2.BytesValue = new BytesValue$Type();
+  }
+});
+
+// node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.js
+var require_artifact = __commonJS({
+  "node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ArtifactService = exports2.DeleteArtifactResponse = exports2.DeleteArtifactRequest = exports2.GetSignedArtifactURLResponse = exports2.GetSignedArtifactURLRequest = exports2.ListArtifactsResponse_MonolithArtifact = exports2.ListArtifactsResponse = exports2.ListArtifactsRequest = exports2.FinalizeArtifactResponse = exports2.FinalizeArtifactRequest = exports2.CreateArtifactResponse = exports2.CreateArtifactRequest = exports2.FinalizeMigratedArtifactResponse = exports2.FinalizeMigratedArtifactRequest = exports2.MigrateArtifactResponse = exports2.MigrateArtifactRequest = void 0;
+    var runtime_rpc_1 = require_commonjs17();
+    var runtime_1 = require_commonjs16();
+    var runtime_2 = require_commonjs16();
+    var runtime_3 = require_commonjs16();
+    var runtime_4 = require_commonjs16();
+    var runtime_5 = require_commonjs16();
+    var wrappers_1 = require_wrappers();
+    var wrappers_2 = require_wrappers();
+    var timestamp_1 = require_timestamp();
+    var MigrateArtifactRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.MigrateArtifactRequest", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "name",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          { no: 3, name: "expires_at", kind: "message", T: () => timestamp_1.Timestamp }
+        ]);
       }
-      /**
-       * Returns the date and time the file was last
-       * modified. Any operation that modifies the file or its properties updates
-       * the last modified time.
-       *
-       * @readonly
-       */
-      get lastModified() {
-        return this.originalResponse.lastModified;
+      create(value) {
+        const message = { workflowRunBackendId: "", name: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * Returns the UTC date and time generated by the service that indicates the time at which the blob was
-       * last read or written to.
-       *
-       * @readonly
-       */
-      get lastAccessed() {
-        return this.originalResponse.lastAccessed;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string name */
+            2:
+              message.name = reader.string();
+              break;
+            case /* google.protobuf.Timestamp expires_at */
+            3:
+              message.expiresAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expiresAt);
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * Returns the date and time the blob was created.
-       *
-       * @readonly
-       */
-      get createdOn() {
-        return this.originalResponse.createdOn;
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.name !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.name);
+        if (message.expiresAt)
+          timestamp_1.Timestamp.internalBinaryWrite(message.expiresAt, writer.tag(3, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * A name-value pair
-       * to associate with a file storage object.
-       *
-       * @readonly
-       */
-      get metadata() {
-        return this.originalResponse.metadata;
+    };
+    exports2.MigrateArtifactRequest = new MigrateArtifactRequest$Type();
+    var MigrateArtifactResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.MigrateArtifactResponse", [
+          {
+            no: 1,
+            name: "ok",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          },
+          {
+            no: 2,
+            name: "signed_upload_url",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
       }
-      /**
-       * This header uniquely identifies the request
-       * that was made and can be used for troubleshooting the request.
-       *
-       * @readonly
-       */
-      get requestId() {
-        return this.originalResponse.requestId;
+      create(value) {
+        const message = { ok: false, signedUploadUrl: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * If a client request id header is sent in the request, this header will be present in the
-       * response with the same value.
-       *
-       * @readonly
-       */
-      get clientRequestId() {
-        return this.originalResponse.clientRequestId;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool ok */
+            1:
+              message.ok = reader.bool();
+              break;
+            case /* string signed_upload_url */
+            2:
+              message.signedUploadUrl = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.ok !== false)
+          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
+        if (message.signedUploadUrl !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * Indicates the version of the Blob service used
-       * to execute the request.
-       *
-       * @readonly
-       */
-      get version() {
-        return this.originalResponse.version;
+    };
+    exports2.MigrateArtifactResponse = new MigrateArtifactResponse$Type();
+    var FinalizeMigratedArtifactRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.FinalizeMigratedArtifactRequest", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "name",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "size",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          }
+        ]);
       }
-      /**
-       * Indicates the versionId of the downloaded blob version.
-       *
-       * @readonly
-       */
-      get versionId() {
-        return this.originalResponse.versionId;
+      create(value) {
+        const message = { workflowRunBackendId: "", name: "", size: "0" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * Indicates whether version of this blob is a current version.
-       *
-       * @readonly
-       */
-      get isCurrentVersion() {
-        return this.originalResponse.isCurrentVersion;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string name */
+            2:
+              message.name = reader.string();
+              break;
+            case /* int64 size */
+            3:
+              message.size = reader.int64().toString();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * The SHA-256 hash of the encryption key used to encrypt the blob. This value is only returned
-       * when the blob was encrypted with a customer-provided key.
-       *
-       * @readonly
-       */
-      get encryptionKeySha256() {
-        return this.originalResponse.encryptionKeySha256;
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.name !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.name);
+        if (message.size !== "0")
+          writer.tag(3, runtime_1.WireType.Varint).int64(message.size);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * If the request is to read a specified range and the x-ms-range-get-content-crc64 is set to
-       * true, then the request returns a crc64 for the range, as long as the range size is less than
-       * or equal to 4 MB. If both x-ms-range-get-content-crc64 & x-ms-range-get-content-md5 is
-       * specified in the same request, it will fail with 400(Bad Request)
-       */
-      get contentCrc64() {
-        return this.originalResponse.contentCrc64;
+    };
+    exports2.FinalizeMigratedArtifactRequest = new FinalizeMigratedArtifactRequest$Type();
+    var FinalizeMigratedArtifactResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.FinalizeMigratedArtifactResponse", [
+          {
+            no: 1,
+            name: "ok",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          },
+          {
+            no: 2,
+            name: "artifact_id",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          }
+        ]);
       }
-      /**
-       * Object Replication Policy Id of the destination blob.
-       *
-       * @readonly
-       */
-      get objectReplicationDestinationPolicyId() {
-        return this.originalResponse.objectReplicationDestinationPolicyId;
+      create(value) {
+        const message = { ok: false, artifactId: "0" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * Parsed Object Replication Policy Id, Rule Id(s) and status of the source blob.
-       *
-       * @readonly
-       */
-      get objectReplicationSourceProperties() {
-        return this.originalResponse.objectReplicationSourceProperties;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool ok */
+            1:
+              message.ok = reader.bool();
+              break;
+            case /* int64 artifact_id */
+            2:
+              message.artifactId = reader.int64().toString();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * If this blob has been sealed.
-       *
-       * @readonly
-       */
-      get isSealed() {
-        return this.originalResponse.isSealed;
+      internalBinaryWrite(message, writer, options) {
+        if (message.ok !== false)
+          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
+        if (message.artifactId !== "0")
+          writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * UTC date/time value generated by the service that indicates the time at which the blob immutability policy will expire.
-       *
-       * @readonly
-       */
-      get immutabilityPolicyExpiresOn() {
-        return this.originalResponse.immutabilityPolicyExpiresOn;
+    };
+    exports2.FinalizeMigratedArtifactResponse = new FinalizeMigratedArtifactResponse$Type();
+    var CreateArtifactRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.CreateArtifactRequest", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "workflow_job_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "name",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          { no: 4, name: "expires_at", kind: "message", T: () => timestamp_1.Timestamp },
+          {
+            no: 5,
+            name: "version",
+            kind: "scalar",
+            T: 5
+            /*ScalarType.INT32*/
+          }
+        ]);
       }
-      /**
-       * Indicates immutability policy mode.
-       *
-       * @readonly
-       */
-      get immutabilityPolicyMode() {
-        return this.originalResponse.immutabilityPolicyMode;
+      create(value) {
+        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "", version: 0 };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * Indicates if a legal hold is present on the blob.
-       *
-       * @readonly
-       */
-      get legalHold() {
-        return this.originalResponse.legalHold;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string workflow_job_run_backend_id */
+            2:
+              message.workflowJobRunBackendId = reader.string();
+              break;
+            case /* string name */
+            3:
+              message.name = reader.string();
+              break;
+            case /* google.protobuf.Timestamp expires_at */
+            4:
+              message.expiresAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expiresAt);
+              break;
+            case /* int32 version */
+            5:
+              message.version = reader.int32();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * The response body as a browser Blob.
-       * Always undefined in node.js.
-       *
-       * @readonly
-       */
-      get contentAsBlob() {
-        return this.originalResponse.blobBody;
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.workflowJobRunBackendId !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
+        if (message.name !== "")
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
+        if (message.expiresAt)
+          timestamp_1.Timestamp.internalBinaryWrite(message.expiresAt, writer.tag(4, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        if (message.version !== 0)
+          writer.tag(5, runtime_1.WireType.Varint).int32(message.version);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * The response body as a node.js Readable stream.
-       * Always undefined in the browser.
-       *
-       * It will automatically retry when internal read stream unexpected ends.
-       *
-       * @readonly
-       */
-      get readableStreamBody() {
-        return core_util_1.isNodeLike ? this.blobDownloadStream : void 0;
+    };
+    exports2.CreateArtifactRequest = new CreateArtifactRequest$Type();
+    var CreateArtifactResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.CreateArtifactResponse", [
+          {
+            no: 1,
+            name: "ok",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          },
+          {
+            no: 2,
+            name: "signed_upload_url",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
       }
-      /**
-       * The HTTP response.
-       */
-      get _response() {
-        return this.originalResponse._response;
+      create(value) {
+        const message = { ok: false, signedUploadUrl: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      originalResponse;
-      blobDownloadStream;
-      /**
-       * Creates an instance of BlobDownloadResponse.
-       *
-       * @param originalResponse -
-       * @param getter -
-       * @param offset -
-       * @param count -
-       * @param options -
-       */
-      constructor(originalResponse, getter, offset, count, options = {}) {
-        this.originalResponse = originalResponse;
-        this.blobDownloadStream = new RetriableReadableStream_js_1.RetriableReadableStream(this.originalResponse.readableStreamBody, getter, offset, count, options);
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool ok */
+            1:
+              message.ok = reader.bool();
+              break;
+            case /* string signed_upload_url */
+            2:
+              message.signedUploadUrl = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.ok !== false)
+          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
+        if (message.signedUploadUrl !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
     };
-    exports2.BlobDownloadResponse = BlobDownloadResponse;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroConstants.js
-var require_AvroConstants = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroConstants.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AVRO_SCHEMA_KEY = exports2.AVRO_CODEC_KEY = exports2.AVRO_INIT_BYTES = exports2.AVRO_SYNC_MARKER_SIZE = void 0;
-    exports2.AVRO_SYNC_MARKER_SIZE = 16;
-    exports2.AVRO_INIT_BYTES = new Uint8Array([79, 98, 106, 1]);
-    exports2.AVRO_CODEC_KEY = "avro.codec";
-    exports2.AVRO_SCHEMA_KEY = "avro.schema";
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroParser.js
-var require_AvroParser = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroParser.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AvroType = exports2.AvroParser = void 0;
-    var AvroParser = class _AvroParser {
-      /**
-       * Reads a fixed number of bytes from the stream.
-       *
-       * @param stream -
-       * @param length -
-       * @param options -
-       */
-      static async readFixedBytes(stream, length, options = {}) {
-        const bytes = await stream.read(length, { abortSignal: options.abortSignal });
-        if (bytes.length !== length) {
-          throw new Error("Hit stream end.");
-        }
-        return bytes;
+    exports2.CreateArtifactResponse = new CreateArtifactResponse$Type();
+    var FinalizeArtifactRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.FinalizeArtifactRequest", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "workflow_job_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "name",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 4,
+            name: "size",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          },
+          { no: 5, name: "hash", kind: "message", T: () => wrappers_2.StringValue }
+        ]);
       }
-      /**
-       * Reads a single byte from the stream.
-       *
-       * @param stream -
-       * @param options -
-       */
-      static async readByte(stream, options = {}) {
-        const buf = await _AvroParser.readFixedBytes(stream, 1, options);
-        return buf[0];
+      create(value) {
+        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "", size: "0" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      // int and long are stored in variable-length zig-zag coding.
-      // variable-length: https://lucene.apache.org/core/3_5_0/fileformats.html#VInt
-      // zig-zag: https://developers.google.com/protocol-buffers/docs/encoding?csw=1#types
-      static async readZigZagLong(stream, options = {}) {
-        let zigZagEncoded = 0;
-        let significanceInBit = 0;
-        let byte, haveMoreByte, significanceInFloat;
-        do {
-          byte = await _AvroParser.readByte(stream, options);
-          haveMoreByte = byte & 128;
-          zigZagEncoded |= (byte & 127) << significanceInBit;
-          significanceInBit += 7;
-        } while (haveMoreByte && significanceInBit < 28);
-        if (haveMoreByte) {
-          zigZagEncoded = zigZagEncoded;
-          significanceInFloat = 268435456;
-          do {
-            byte = await _AvroParser.readByte(stream, options);
-            zigZagEncoded += (byte & 127) * significanceInFloat;
-            significanceInFloat *= 128;
-          } while (byte & 128);
-          const res = (zigZagEncoded % 2 ? -(zigZagEncoded + 1) : zigZagEncoded) / 2;
-          if (res < Number.MIN_SAFE_INTEGER || res > Number.MAX_SAFE_INTEGER) {
-            throw new Error("Integer overflow.");
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string workflow_job_run_backend_id */
+            2:
+              message.workflowJobRunBackendId = reader.string();
+              break;
+            case /* string name */
+            3:
+              message.name = reader.string();
+              break;
+            case /* int64 size */
+            4:
+              message.size = reader.int64().toString();
+              break;
+            case /* google.protobuf.StringValue hash */
+            5:
+              message.hash = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.hash);
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
           }
-          return res;
         }
-        return zigZagEncoded >> 1 ^ -(zigZagEncoded & 1);
+        return message;
       }
-      static async readLong(stream, options = {}) {
-        return _AvroParser.readZigZagLong(stream, options);
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.workflowJobRunBackendId !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
+        if (message.name !== "")
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
+        if (message.size !== "0")
+          writer.tag(4, runtime_1.WireType.Varint).int64(message.size);
+        if (message.hash)
+          wrappers_2.StringValue.internalBinaryWrite(message.hash, writer.tag(5, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      static async readInt(stream, options = {}) {
-        return _AvroParser.readZigZagLong(stream, options);
+    };
+    exports2.FinalizeArtifactRequest = new FinalizeArtifactRequest$Type();
+    var FinalizeArtifactResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.FinalizeArtifactResponse", [
+          {
+            no: 1,
+            name: "ok",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          },
+          {
+            no: 2,
+            name: "artifact_id",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          }
+        ]);
       }
-      static async readNull() {
-        return null;
+      create(value) {
+        const message = { ok: false, artifactId: "0" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      static async readBoolean(stream, options = {}) {
-        const b = await _AvroParser.readByte(stream, options);
-        if (b === 1) {
-          return true;
-        } else if (b === 0) {
-          return false;
-        } else {
-          throw new Error("Byte was not a boolean.");
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool ok */
+            1:
+              message.ok = reader.bool();
+              break;
+            case /* int64 artifact_id */
+            2:
+              message.artifactId = reader.int64().toString();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
         }
+        return message;
       }
-      static async readFloat(stream, options = {}) {
-        const u8arr = await _AvroParser.readFixedBytes(stream, 4, options);
-        const view = new DataView(u8arr.buffer, u8arr.byteOffset, u8arr.byteLength);
-        return view.getFloat32(0, true);
+      internalBinaryWrite(message, writer, options) {
+        if (message.ok !== false)
+          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
+        if (message.artifactId !== "0")
+          writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      static async readDouble(stream, options = {}) {
-        const u8arr = await _AvroParser.readFixedBytes(stream, 8, options);
-        const view = new DataView(u8arr.buffer, u8arr.byteOffset, u8arr.byteLength);
-        return view.getFloat64(0, true);
+    };
+    exports2.FinalizeArtifactResponse = new FinalizeArtifactResponse$Type();
+    var ListArtifactsRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.ListArtifactsRequest", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "workflow_job_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          { no: 3, name: "name_filter", kind: "message", T: () => wrappers_2.StringValue },
+          { no: 4, name: "id_filter", kind: "message", T: () => wrappers_1.Int64Value }
+        ]);
       }
-      static async readBytes(stream, options = {}) {
-        const size = await _AvroParser.readLong(stream, options);
-        if (size < 0) {
-          throw new Error("Bytes size was negative.");
+      create(value) {
+        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string workflow_job_run_backend_id */
+            2:
+              message.workflowJobRunBackendId = reader.string();
+              break;
+            case /* google.protobuf.StringValue name_filter */
+            3:
+              message.nameFilter = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.nameFilter);
+              break;
+            case /* google.protobuf.Int64Value id_filter */
+            4:
+              message.idFilter = wrappers_1.Int64Value.internalBinaryRead(reader, reader.uint32(), options, message.idFilter);
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
         }
-        return stream.read(size, { abortSignal: options.abortSignal });
+        return message;
       }
-      static async readString(stream, options = {}) {
-        const u8arr = await _AvroParser.readBytes(stream, options);
-        const utf8decoder = new TextDecoder();
-        return utf8decoder.decode(u8arr);
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.workflowJobRunBackendId !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
+        if (message.nameFilter)
+          wrappers_2.StringValue.internalBinaryWrite(message.nameFilter, writer.tag(3, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        if (message.idFilter)
+          wrappers_1.Int64Value.internalBinaryWrite(message.idFilter, writer.tag(4, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      static async readMapPair(stream, readItemMethod, options = {}) {
-        const key = await _AvroParser.readString(stream, options);
-        const value = await readItemMethod(stream, options);
-        return { key, value };
+    };
+    exports2.ListArtifactsRequest = new ListArtifactsRequest$Type();
+    var ListArtifactsResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.ListArtifactsResponse", [
+          { no: 1, name: "artifacts", kind: "message", repeat: 1, T: () => exports2.ListArtifactsResponse_MonolithArtifact }
+        ]);
       }
-      static async readMap(stream, readItemMethod, options = {}) {
-        const readPairMethod = (s, opts = {}) => {
-          return _AvroParser.readMapPair(s, readItemMethod, opts);
-        };
-        const pairs2 = await _AvroParser.readArray(stream, readPairMethod, options);
-        const dict = {};
-        for (const pair of pairs2) {
-          dict[pair.key] = pair.value;
-        }
-        return dict;
+      create(value) {
+        const message = { artifacts: [] };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      static async readArray(stream, readItemMethod, options = {}) {
-        const items = [];
-        for (let count = await _AvroParser.readLong(stream, options); count !== 0; count = await _AvroParser.readLong(stream, options)) {
-          if (count < 0) {
-            await _AvroParser.readLong(stream, options);
-            count = -count;
-          }
-          while (count--) {
-            const item = await readItemMethod(stream, options);
-            items.push(item);
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* repeated github.actions.results.api.v1.ListArtifactsResponse.MonolithArtifact artifacts */
+            1:
+              message.artifacts.push(exports2.ListArtifactsResponse_MonolithArtifact.internalBinaryRead(reader, reader.uint32(), options));
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
           }
         }
-        return items;
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        for (let i = 0; i < message.artifacts.length; i++)
+          exports2.ListArtifactsResponse_MonolithArtifact.internalBinaryWrite(message.artifacts[i], writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
     };
-    exports2.AvroParser = AvroParser;
-    var AvroComplex;
-    (function(AvroComplex2) {
-      AvroComplex2["RECORD"] = "record";
-      AvroComplex2["ENUM"] = "enum";
-      AvroComplex2["ARRAY"] = "array";
-      AvroComplex2["MAP"] = "map";
-      AvroComplex2["UNION"] = "union";
-      AvroComplex2["FIXED"] = "fixed";
-    })(AvroComplex || (AvroComplex = {}));
-    var AvroPrimitive;
-    (function(AvroPrimitive2) {
-      AvroPrimitive2["NULL"] = "null";
-      AvroPrimitive2["BOOLEAN"] = "boolean";
-      AvroPrimitive2["INT"] = "int";
-      AvroPrimitive2["LONG"] = "long";
-      AvroPrimitive2["FLOAT"] = "float";
-      AvroPrimitive2["DOUBLE"] = "double";
-      AvroPrimitive2["BYTES"] = "bytes";
-      AvroPrimitive2["STRING"] = "string";
-    })(AvroPrimitive || (AvroPrimitive = {}));
-    var AvroType = class _AvroType {
-      /**
-       * Determines the AvroType from the Avro Schema.
-       */
-      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
-      static fromSchema(schema2) {
-        if (typeof schema2 === "string") {
-          return _AvroType.fromStringSchema(schema2);
-        } else if (Array.isArray(schema2)) {
-          return _AvroType.fromArraySchema(schema2);
-        } else {
-          return _AvroType.fromObjectSchema(schema2);
-        }
+    exports2.ListArtifactsResponse = new ListArtifactsResponse$Type();
+    var ListArtifactsResponse_MonolithArtifact$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.ListArtifactsResponse.MonolithArtifact", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "workflow_job_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "database_id",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          },
+          {
+            no: 4,
+            name: "name",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 5,
+            name: "size",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          },
+          { no: 6, name: "created_at", kind: "message", T: () => timestamp_1.Timestamp },
+          { no: 7, name: "digest", kind: "message", T: () => wrappers_2.StringValue }
+        ]);
       }
-      static fromStringSchema(schema2) {
-        switch (schema2) {
-          case AvroPrimitive.NULL:
-          case AvroPrimitive.BOOLEAN:
-          case AvroPrimitive.INT:
-          case AvroPrimitive.LONG:
-          case AvroPrimitive.FLOAT:
-          case AvroPrimitive.DOUBLE:
-          case AvroPrimitive.BYTES:
-          case AvroPrimitive.STRING:
-            return new AvroPrimitiveType(schema2);
-          default:
-            throw new Error(`Unexpected Avro type ${schema2}`);
+      create(value) {
+        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", databaseId: "0", name: "", size: "0" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string workflow_job_run_backend_id */
+            2:
+              message.workflowJobRunBackendId = reader.string();
+              break;
+            case /* int64 database_id */
+            3:
+              message.databaseId = reader.int64().toString();
+              break;
+            case /* string name */
+            4:
+              message.name = reader.string();
+              break;
+            case /* int64 size */
+            5:
+              message.size = reader.int64().toString();
+              break;
+            case /* google.protobuf.Timestamp created_at */
+            6:
+              message.createdAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.createdAt);
+              break;
+            case /* google.protobuf.StringValue digest */
+            7:
+              message.digest = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.digest);
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
         }
+        return message;
       }
-      static fromArraySchema(schema2) {
-        return new AvroUnionType(schema2.map(_AvroType.fromSchema));
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.workflowJobRunBackendId !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
+        if (message.databaseId !== "0")
+          writer.tag(3, runtime_1.WireType.Varint).int64(message.databaseId);
+        if (message.name !== "")
+          writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.name);
+        if (message.size !== "0")
+          writer.tag(5, runtime_1.WireType.Varint).int64(message.size);
+        if (message.createdAt)
+          timestamp_1.Timestamp.internalBinaryWrite(message.createdAt, writer.tag(6, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        if (message.digest)
+          wrappers_2.StringValue.internalBinaryWrite(message.digest, writer.tag(7, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      static fromObjectSchema(schema2) {
-        const type2 = schema2.type;
-        try {
-          return _AvroType.fromStringSchema(type2);
-        } catch {
-        }
-        switch (type2) {
-          case AvroComplex.RECORD:
-            if (schema2.aliases) {
-              throw new Error(`aliases currently is not supported, schema: ${schema2}`);
-            }
-            if (!schema2.name) {
-              throw new Error(`Required attribute 'name' doesn't exist on schema: ${schema2}`);
-            }
-            const fields = {};
-            if (!schema2.fields) {
-              throw new Error(`Required attribute 'fields' doesn't exist on schema: ${schema2}`);
-            }
-            for (const field of schema2.fields) {
-              fields[field.name] = _AvroType.fromSchema(field.type);
-            }
-            return new AvroRecordType(fields, schema2.name);
-          case AvroComplex.ENUM:
-            if (schema2.aliases) {
-              throw new Error(`aliases currently is not supported, schema: ${schema2}`);
-            }
-            if (!schema2.symbols) {
-              throw new Error(`Required attribute 'symbols' doesn't exist on schema: ${schema2}`);
-            }
-            return new AvroEnumType(schema2.symbols);
-          case AvroComplex.MAP:
-            if (!schema2.values) {
-              throw new Error(`Required attribute 'values' doesn't exist on schema: ${schema2}`);
-            }
-            return new AvroMapType(_AvroType.fromSchema(schema2.values));
-          case AvroComplex.ARRAY:
-          // Unused today
-          case AvroComplex.FIXED:
-          // Unused today
-          default:
-            throw new Error(`Unexpected Avro type ${type2} in ${schema2}`);
+    };
+    exports2.ListArtifactsResponse_MonolithArtifact = new ListArtifactsResponse_MonolithArtifact$Type();
+    var GetSignedArtifactURLRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.GetSignedArtifactURLRequest", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "workflow_job_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "name",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string workflow_job_run_backend_id */
+            2:
+              message.workflowJobRunBackendId = reader.string();
+              break;
+            case /* string name */
+            3:
+              message.name = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
         }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.workflowJobRunBackendId !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
+        if (message.name !== "")
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
     };
-    exports2.AvroType = AvroType;
-    var AvroPrimitiveType = class extends AvroType {
-      _primitive;
-      constructor(primitive) {
-        super();
-        this._primitive = primitive;
+    exports2.GetSignedArtifactURLRequest = new GetSignedArtifactURLRequest$Type();
+    var GetSignedArtifactURLResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.GetSignedArtifactURLResponse", [
+          {
+            no: 1,
+            name: "signed_url",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
       }
-      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
-      read(stream, options = {}) {
-        switch (this._primitive) {
-          case AvroPrimitive.NULL:
-            return AvroParser.readNull();
-          case AvroPrimitive.BOOLEAN:
-            return AvroParser.readBoolean(stream, options);
-          case AvroPrimitive.INT:
-            return AvroParser.readInt(stream, options);
-          case AvroPrimitive.LONG:
-            return AvroParser.readLong(stream, options);
-          case AvroPrimitive.FLOAT:
-            return AvroParser.readFloat(stream, options);
-          case AvroPrimitive.DOUBLE:
-            return AvroParser.readDouble(stream, options);
-          case AvroPrimitive.BYTES:
-            return AvroParser.readBytes(stream, options);
-          case AvroPrimitive.STRING:
-            return AvroParser.readString(stream, options);
-          default:
-            throw new Error("Unknown Avro Primitive");
-        }
+      create(value) {
+        const message = { signedUrl: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-    };
-    var AvroEnumType = class extends AvroType {
-      _symbols;
-      constructor(symbols) {
-        super();
-        this._symbols = symbols;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string signed_url */
+            1:
+              message.signedUrl = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
-      async read(stream, options = {}) {
-        const value = await AvroParser.readInt(stream, options);
-        return this._symbols[value];
+      internalBinaryWrite(message, writer, options) {
+        if (message.signedUrl !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.signedUrl);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
     };
-    var AvroUnionType = class extends AvroType {
-      _types;
-      constructor(types) {
-        super();
-        this._types = types;
+    exports2.GetSignedArtifactURLResponse = new GetSignedArtifactURLResponse$Type();
+    var DeleteArtifactRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.DeleteArtifactRequest", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "workflow_job_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "name",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
       }
-      async read(stream, options = {}) {
-        const typeIndex = await AvroParser.readInt(stream, options);
-        return this._types[typeIndex].read(stream, options);
+      create(value) {
+        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-    };
-    var AvroMapType = class extends AvroType {
-      _itemType;
-      constructor(itemType) {
-        super();
-        this._itemType = itemType;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string workflow_job_run_backend_id */
+            2:
+              message.workflowJobRunBackendId = reader.string();
+              break;
+            case /* string name */
+            3:
+              message.name = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
-      read(stream, options = {}) {
-        const readItemMethod = (s, opts) => {
-          return this._itemType.read(s, opts);
-        };
-        return AvroParser.readMap(stream, readItemMethod, options);
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.workflowJobRunBackendId !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
+        if (message.name !== "")
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
     };
-    var AvroRecordType = class extends AvroType {
-      _name;
-      _fields;
-      constructor(fields, name) {
-        super();
-        this._fields = fields;
-        this._name = name;
+    exports2.DeleteArtifactRequest = new DeleteArtifactRequest$Type();
+    var DeleteArtifactResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.DeleteArtifactResponse", [
+          {
+            no: 1,
+            name: "ok",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          },
+          {
+            no: 2,
+            name: "artifact_id",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          }
+        ]);
       }
-      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
-      async read(stream, options = {}) {
-        const record = {};
-        record["$schema"] = this._name;
-        for (const key in this._fields) {
-          if (Object.prototype.hasOwnProperty.call(this._fields, key)) {
-            record[key] = await this._fields[key].read(stream, options);
+      create(value) {
+        const message = { ok: false, artifactId: "0" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool ok */
+            1:
+              message.ok = reader.bool();
+              break;
+            case /* int64 artifact_id */
+            2:
+              message.artifactId = reader.int64().toString();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
           }
         }
-        return record;
+        return message;
       }
-    };
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/utils/utils.common.js
-var require_utils_common3 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/utils/utils.common.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.arraysEqual = arraysEqual;
-    function arraysEqual(a, b) {
-      if (a === b)
-        return true;
-      if (a == null || b == null)
-        return false;
-      if (a.length !== b.length)
-        return false;
-      for (let i = 0; i < a.length; ++i) {
-        if (a[i] !== b[i])
-          return false;
+      internalBinaryWrite(message, writer, options) {
+        if (message.ok !== false)
+          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
+        if (message.artifactId !== "0")
+          writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      return true;
-    }
+    };
+    exports2.DeleteArtifactResponse = new DeleteArtifactResponse$Type();
+    exports2.ArtifactService = new runtime_rpc_1.ServiceType("github.actions.results.api.v1.ArtifactService", [
+      { name: "CreateArtifact", options: {}, I: exports2.CreateArtifactRequest, O: exports2.CreateArtifactResponse },
+      { name: "FinalizeArtifact", options: {}, I: exports2.FinalizeArtifactRequest, O: exports2.FinalizeArtifactResponse },
+      { name: "ListArtifacts", options: {}, I: exports2.ListArtifactsRequest, O: exports2.ListArtifactsResponse },
+      { name: "GetSignedArtifactURL", options: {}, I: exports2.GetSignedArtifactURLRequest, O: exports2.GetSignedArtifactURLResponse },
+      { name: "DeleteArtifact", options: {}, I: exports2.DeleteArtifactRequest, O: exports2.DeleteArtifactResponse },
+      { name: "MigrateArtifact", options: {}, I: exports2.MigrateArtifactRequest, O: exports2.MigrateArtifactResponse },
+      { name: "FinalizeMigratedArtifact", options: {}, I: exports2.FinalizeMigratedArtifactRequest, O: exports2.FinalizeMigratedArtifactResponse }
+    ]);
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReader.js
-var require_AvroReader = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReader.js"(exports2) {
+// node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.js
+var require_artifact_twirp_client = __commonJS({
+  "node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AvroReader = void 0;
-    var AvroConstants_js_1 = require_AvroConstants();
-    var AvroParser_js_1 = require_AvroParser();
-    var utils_common_js_1 = require_utils_common3();
-    var AvroReader = class {
-      _dataStream;
-      _headerStream;
-      _syncMarker;
-      _metadata;
-      _itemType;
-      _itemsRemainingInBlock;
-      // Remembers where we started if partial data stream was provided.
-      _initialBlockOffset;
-      /// The byte offset within the Avro file (both header and data)
-      /// of the start of the current block.
-      _blockOffset;
-      get blockOffset() {
-        return this._blockOffset;
-      }
-      _objectIndex;
-      get objectIndex() {
-        return this._objectIndex;
-      }
-      _initialized;
-      constructor(dataStream, headerStream, currentBlockOffset, indexWithinCurrentBlock) {
-        this._dataStream = dataStream;
-        this._headerStream = headerStream || dataStream;
-        this._initialized = false;
-        this._blockOffset = currentBlockOffset || 0;
-        this._objectIndex = indexWithinCurrentBlock || 0;
-        this._initialBlockOffset = currentBlockOffset || 0;
+    exports2.ArtifactServiceClientProtobuf = exports2.ArtifactServiceClientJSON = void 0;
+    var artifact_1 = require_artifact();
+    var ArtifactServiceClientJSON = class {
+      constructor(rpc) {
+        this.rpc = rpc;
+        this.CreateArtifact.bind(this);
+        this.FinalizeArtifact.bind(this);
+        this.ListArtifacts.bind(this);
+        this.GetSignedArtifactURL.bind(this);
+        this.DeleteArtifact.bind(this);
       }
-      async initialize(options = {}) {
-        const header = await AvroParser_js_1.AvroParser.readFixedBytes(this._headerStream, AvroConstants_js_1.AVRO_INIT_BYTES.length, {
-          abortSignal: options.abortSignal
-        });
-        if (!(0, utils_common_js_1.arraysEqual)(header, AvroConstants_js_1.AVRO_INIT_BYTES)) {
-          throw new Error("Stream is not an Avro file.");
-        }
-        this._metadata = await AvroParser_js_1.AvroParser.readMap(this._headerStream, AvroParser_js_1.AvroParser.readString, {
-          abortSignal: options.abortSignal
+      CreateArtifact(request2) {
+        const data = artifact_1.CreateArtifactRequest.toJson(request2, {
+          useProtoFieldName: true,
+          emitDefaultValues: false
         });
-        const codec = this._metadata[AvroConstants_js_1.AVRO_CODEC_KEY];
-        if (!(codec === void 0 || codec === null || codec === "null")) {
-          throw new Error("Codecs are not supported");
-        }
-        this._syncMarker = await AvroParser_js_1.AvroParser.readFixedBytes(this._headerStream, AvroConstants_js_1.AVRO_SYNC_MARKER_SIZE, {
-          abortSignal: options.abortSignal
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "CreateArtifact", "application/json", data);
+        return promise.then((data2) => artifact_1.CreateArtifactResponse.fromJson(data2, {
+          ignoreUnknownFields: true
+        }));
+      }
+      FinalizeArtifact(request2) {
+        const data = artifact_1.FinalizeArtifactRequest.toJson(request2, {
+          useProtoFieldName: true,
+          emitDefaultValues: false
         });
-        const schema2 = JSON.parse(this._metadata[AvroConstants_js_1.AVRO_SCHEMA_KEY]);
-        this._itemType = AvroParser_js_1.AvroType.fromSchema(schema2);
-        if (this._blockOffset === 0) {
-          this._blockOffset = this._initialBlockOffset + this._dataStream.position;
-        }
-        this._itemsRemainingInBlock = await AvroParser_js_1.AvroParser.readLong(this._dataStream, {
-          abortSignal: options.abortSignal
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "FinalizeArtifact", "application/json", data);
+        return promise.then((data2) => artifact_1.FinalizeArtifactResponse.fromJson(data2, {
+          ignoreUnknownFields: true
+        }));
+      }
+      ListArtifacts(request2) {
+        const data = artifact_1.ListArtifactsRequest.toJson(request2, {
+          useProtoFieldName: true,
+          emitDefaultValues: false
         });
-        await AvroParser_js_1.AvroParser.readLong(this._dataStream, { abortSignal: options.abortSignal });
-        this._initialized = true;
-        if (this._objectIndex && this._objectIndex > 0) {
-          for (let i = 0; i < this._objectIndex; i++) {
-            await this._itemType.read(this._dataStream, { abortSignal: options.abortSignal });
-            this._itemsRemainingInBlock--;
-          }
-        }
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "ListArtifacts", "application/json", data);
+        return promise.then((data2) => artifact_1.ListArtifactsResponse.fromJson(data2, { ignoreUnknownFields: true }));
       }
-      hasNext() {
-        return !this._initialized || this._itemsRemainingInBlock > 0;
+      GetSignedArtifactURL(request2) {
+        const data = artifact_1.GetSignedArtifactURLRequest.toJson(request2, {
+          useProtoFieldName: true,
+          emitDefaultValues: false
+        });
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "GetSignedArtifactURL", "application/json", data);
+        return promise.then((data2) => artifact_1.GetSignedArtifactURLResponse.fromJson(data2, {
+          ignoreUnknownFields: true
+        }));
       }
-      async *parseObjects(options = {}) {
-        if (!this._initialized) {
-          await this.initialize(options);
-        }
-        while (this.hasNext()) {
-          const result = await this._itemType.read(this._dataStream, {
-            abortSignal: options.abortSignal
-          });
-          this._itemsRemainingInBlock--;
-          this._objectIndex++;
-          if (this._itemsRemainingInBlock === 0) {
-            const marker = await AvroParser_js_1.AvroParser.readFixedBytes(this._dataStream, AvroConstants_js_1.AVRO_SYNC_MARKER_SIZE, {
-              abortSignal: options.abortSignal
-            });
-            this._blockOffset = this._initialBlockOffset + this._dataStream.position;
-            this._objectIndex = 0;
-            if (!(0, utils_common_js_1.arraysEqual)(this._syncMarker, marker)) {
-              throw new Error("Stream is not a valid Avro file.");
-            }
-            try {
-              this._itemsRemainingInBlock = await AvroParser_js_1.AvroParser.readLong(this._dataStream, {
-                abortSignal: options.abortSignal
-              });
-            } catch {
-              this._itemsRemainingInBlock = 0;
-            }
-            if (this._itemsRemainingInBlock > 0) {
-              await AvroParser_js_1.AvroParser.readLong(this._dataStream, { abortSignal: options.abortSignal });
-            }
-          }
-          yield result;
-        }
+      DeleteArtifact(request2) {
+        const data = artifact_1.DeleteArtifactRequest.toJson(request2, {
+          useProtoFieldName: true,
+          emitDefaultValues: false
+        });
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "DeleteArtifact", "application/json", data);
+        return promise.then((data2) => artifact_1.DeleteArtifactResponse.fromJson(data2, {
+          ignoreUnknownFields: true
+        }));
       }
     };
-    exports2.AvroReader = AvroReader;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadable.js
-var require_AvroReadable = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadable.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AvroReadable = void 0;
-    var AvroReadable = class {
-    };
-    exports2.AvroReadable = AvroReadable;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadableFromStream.js
-var require_AvroReadableFromStream = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadableFromStream.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AvroReadableFromStream = void 0;
-    var AvroReadable_js_1 = require_AvroReadable();
-    var abort_controller_1 = require_commonjs11();
-    var buffer_1 = require("buffer");
-    var ABORT_ERROR = new abort_controller_1.AbortError("Reading from the avro stream was aborted.");
-    var AvroReadableFromStream = class extends AvroReadable_js_1.AvroReadable {
-      _position;
-      _readable;
-      toUint8Array(data) {
-        if (typeof data === "string") {
-          return buffer_1.Buffer.from(data);
-        }
-        return data;
+    exports2.ArtifactServiceClientJSON = ArtifactServiceClientJSON;
+    var ArtifactServiceClientProtobuf = class {
+      constructor(rpc) {
+        this.rpc = rpc;
+        this.CreateArtifact.bind(this);
+        this.FinalizeArtifact.bind(this);
+        this.ListArtifacts.bind(this);
+        this.GetSignedArtifactURL.bind(this);
+        this.DeleteArtifact.bind(this);
       }
-      constructor(readable) {
-        super();
-        this._readable = readable;
-        this._position = 0;
+      CreateArtifact(request2) {
+        const data = artifact_1.CreateArtifactRequest.toBinary(request2);
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "CreateArtifact", "application/protobuf", data);
+        return promise.then((data2) => artifact_1.CreateArtifactResponse.fromBinary(data2));
+      }
+      FinalizeArtifact(request2) {
+        const data = artifact_1.FinalizeArtifactRequest.toBinary(request2);
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "FinalizeArtifact", "application/protobuf", data);
+        return promise.then((data2) => artifact_1.FinalizeArtifactResponse.fromBinary(data2));
       }
-      get position() {
-        return this._position;
+      ListArtifacts(request2) {
+        const data = artifact_1.ListArtifactsRequest.toBinary(request2);
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "ListArtifacts", "application/protobuf", data);
+        return promise.then((data2) => artifact_1.ListArtifactsResponse.fromBinary(data2));
       }
-      async read(size, options = {}) {
-        if (options.abortSignal?.aborted) {
-          throw ABORT_ERROR;
-        }
-        if (size < 0) {
-          throw new Error(`size parameter should be positive: ${size}`);
-        }
-        if (size === 0) {
-          return new Uint8Array();
-        }
-        if (!this._readable.readable) {
-          throw new Error("Stream no longer readable.");
-        }
-        const chunk = this._readable.read(size);
-        if (chunk) {
-          this._position += chunk.length;
-          return this.toUint8Array(chunk);
-        } else {
-          return new Promise((resolve3, reject) => {
-            const cleanUp = () => {
-              this._readable.removeListener("readable", readableCallback);
-              this._readable.removeListener("error", rejectCallback);
-              this._readable.removeListener("end", rejectCallback);
-              this._readable.removeListener("close", rejectCallback);
-              if (options.abortSignal) {
-                options.abortSignal.removeEventListener("abort", abortHandler);
-              }
-            };
-            const readableCallback = () => {
-              const callbackChunk = this._readable.read(size);
-              if (callbackChunk) {
-                this._position += callbackChunk.length;
-                cleanUp();
-                resolve3(this.toUint8Array(callbackChunk));
-              }
-            };
-            const rejectCallback = () => {
-              cleanUp();
-              reject();
-            };
-            const abortHandler = () => {
-              cleanUp();
-              reject(ABORT_ERROR);
-            };
-            this._readable.on("readable", readableCallback);
-            this._readable.once("error", rejectCallback);
-            this._readable.once("end", rejectCallback);
-            this._readable.once("close", rejectCallback);
-            if (options.abortSignal) {
-              options.abortSignal.addEventListener("abort", abortHandler);
-            }
-          });
-        }
+      GetSignedArtifactURL(request2) {
+        const data = artifact_1.GetSignedArtifactURLRequest.toBinary(request2);
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "GetSignedArtifactURL", "application/protobuf", data);
+        return promise.then((data2) => artifact_1.GetSignedArtifactURLResponse.fromBinary(data2));
+      }
+      DeleteArtifact(request2) {
+        const data = artifact_1.DeleteArtifactRequest.toBinary(request2);
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "DeleteArtifact", "application/protobuf", data);
+        return promise.then((data2) => artifact_1.DeleteArtifactResponse.fromBinary(data2));
       }
     };
-    exports2.AvroReadableFromStream = AvroReadableFromStream;
+    exports2.ArtifactServiceClientProtobuf = ArtifactServiceClientProtobuf;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/index.js
-var require_internal_avro = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/index.js"(exports2) {
+// node_modules/@actions/artifact/lib/generated/index.js
+var require_generated = __commonJS({
+  "node_modules/@actions/artifact/lib/generated/index.js"(exports2) {
     "use strict";
+    var __createBinding2 = 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 __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
+      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p);
+    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AvroReadableFromStream = exports2.AvroReadable = exports2.AvroReader = void 0;
-    var AvroReader_js_1 = require_AvroReader();
-    Object.defineProperty(exports2, "AvroReader", { enumerable: true, get: function() {
-      return AvroReader_js_1.AvroReader;
-    } });
-    var AvroReadable_js_1 = require_AvroReadable();
-    Object.defineProperty(exports2, "AvroReadable", { enumerable: true, get: function() {
-      return AvroReadable_js_1.AvroReadable;
-    } });
-    var AvroReadableFromStream_js_1 = require_AvroReadableFromStream();
-    Object.defineProperty(exports2, "AvroReadableFromStream", { enumerable: true, get: function() {
-      return AvroReadableFromStream_js_1.AvroReadableFromStream;
-    } });
+    __exportStar2(require_timestamp(), exports2);
+    __exportStar2(require_wrappers(), exports2);
+    __exportStar2(require_artifact(), exports2);
+    __exportStar2(require_artifact_twirp_client(), exports2);
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/utils/BlobQuickQueryStream.js
-var require_BlobQuickQueryStream = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/BlobQuickQueryStream.js"(exports2) {
+// node_modules/@actions/artifact/lib/internal/upload/retention.js
+var require_retention = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/upload/retention.js"(exports2) {
     "use strict";
+    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      }
+      __setModuleDefault2(result, mod);
+      return result;
+    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobQuickQueryStream = void 0;
-    var node_stream_1 = require("node:stream");
-    var index_js_1 = require_internal_avro();
-    var BlobQuickQueryStream = class extends node_stream_1.Readable {
-      source;
-      avroReader;
-      avroIter;
-      avroPaused = true;
-      onProgress;
-      onError;
-      /**
-       * Creates an instance of BlobQuickQueryStream.
-       *
-       * @param source - The current ReadableStream returned from getter
-       * @param options -
-       */
-      constructor(source, options = {}) {
-        super();
-        this.source = source;
-        this.onProgress = options.onProgress;
-        this.onError = options.onError;
-        this.avroReader = new index_js_1.AvroReader(new index_js_1.AvroReadableFromStream(this.source));
-        this.avroIter = this.avroReader.parseObjects({ abortSignal: options.abortSignal });
+    exports2.getExpiration = void 0;
+    var generated_1 = require_generated();
+    var core14 = __importStar2(require_core());
+    function getExpiration(retentionDays) {
+      if (!retentionDays) {
+        return void 0;
       }
-      _read() {
-        if (this.avroPaused) {
-          this.readInternal().catch((err) => {
-            this.emit("error", err);
-          });
-        }
+      const maxRetentionDays = getRetentionDays();
+      if (maxRetentionDays && maxRetentionDays < retentionDays) {
+        core14.warning(`Retention days cannot be greater than the maximum allowed retention set within the repository. Using ${maxRetentionDays} instead.`);
+        retentionDays = maxRetentionDays;
       }
-      async readInternal() {
-        this.avroPaused = false;
-        let avroNext;
-        do {
-          avroNext = await this.avroIter.next();
-          if (avroNext.done) {
-            break;
-          }
-          const obj = avroNext.value;
-          const schema2 = obj.$schema;
-          if (typeof schema2 !== "string") {
-            throw Error("Missing schema in avro record.");
-          }
-          switch (schema2) {
-            case "com.microsoft.azure.storage.queryBlobContents.resultData":
-              {
-                const data = obj.data;
-                if (data instanceof Uint8Array === false) {
-                  throw Error("Invalid data in avro result record.");
-                }
-                if (!this.push(Buffer.from(data))) {
-                  this.avroPaused = true;
-                }
-              }
-              break;
-            case "com.microsoft.azure.storage.queryBlobContents.progress":
-              {
-                const bytesScanned = obj.bytesScanned;
-                if (typeof bytesScanned !== "number") {
-                  throw Error("Invalid bytesScanned in avro progress record.");
-                }
-                if (this.onProgress) {
-                  this.onProgress({ loadedBytes: bytesScanned });
-                }
-              }
-              break;
-            case "com.microsoft.azure.storage.queryBlobContents.end":
-              if (this.onProgress) {
-                const totalBytes = obj.totalBytes;
-                if (typeof totalBytes !== "number") {
-                  throw Error("Invalid totalBytes in avro end record.");
-                }
-                this.onProgress({ loadedBytes: totalBytes });
-              }
-              this.push(null);
-              break;
-            case "com.microsoft.azure.storage.queryBlobContents.error":
-              if (this.onError) {
-                const fatal = obj.fatal;
-                if (typeof fatal !== "boolean") {
-                  throw Error("Invalid fatal in avro error record.");
-                }
-                const name = obj.name;
-                if (typeof name !== "string") {
-                  throw Error("Invalid name in avro error record.");
-                }
-                const description = obj.description;
-                if (typeof description !== "string") {
-                  throw Error("Invalid description in avro error record.");
-                }
-                const position = obj.position;
-                if (typeof position !== "number") {
-                  throw Error("Invalid position in avro error record.");
-                }
-                this.onError({
-                  position,
-                  name,
-                  isFatal: fatal,
-                  description
-                });
-              }
-              break;
-            default:
-              throw Error(`Unknown schema ${schema2} in avro progress record.`);
-          }
-        } while (!avroNext.done && !this.avroPaused);
+      const expirationDate = /* @__PURE__ */ new Date();
+      expirationDate.setDate(expirationDate.getDate() + retentionDays);
+      return generated_1.Timestamp.fromDate(expirationDate);
+    }
+    exports2.getExpiration = getExpiration;
+    function getRetentionDays() {
+      const retentionDays = process.env["GITHUB_RETENTION_DAYS"];
+      if (!retentionDays) {
+        return void 0;
       }
-    };
-    exports2.BlobQuickQueryStream = BlobQuickQueryStream;
+      const days = parseInt(retentionDays);
+      if (isNaN(days)) {
+        return void 0;
+      }
+      return days;
+    }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/BlobQueryResponse.js
-var require_BlobQueryResponse = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BlobQueryResponse.js"(exports2) {
+// node_modules/@actions/artifact/lib/internal/upload/path-and-artifact-name-validation.js
+var require_path_and_artifact_name_validation = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/upload/path-and-artifact-name-validation.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobQueryResponse = void 0;
-    var core_util_1 = require_commonjs4();
-    var BlobQuickQueryStream_js_1 = require_BlobQuickQueryStream();
-    var BlobQueryResponse = class {
-      /**
-       * Indicates that the service supports
-       * requests for partial file content.
-       *
-       * @readonly
-       */
-      get acceptRanges() {
-        return this.originalResponse.acceptRanges;
-      }
-      /**
-       * Returns if it was previously specified
-       * for the file.
-       *
-       * @readonly
-       */
-      get cacheControl() {
-        return this.originalResponse.cacheControl;
-      }
-      /**
-       * Returns the value that was specified
-       * for the 'x-ms-content-disposition' header and specifies how to process the
-       * response.
-       *
-       * @readonly
-       */
-      get contentDisposition() {
-        return this.originalResponse.contentDisposition;
-      }
-      /**
-       * Returns the value that was specified
-       * for the Content-Encoding request header.
-       *
-       * @readonly
-       */
-      get contentEncoding() {
-        return this.originalResponse.contentEncoding;
-      }
-      /**
-       * Returns the value that was specified
-       * for the Content-Language request header.
-       *
-       * @readonly
-       */
-      get contentLanguage() {
-        return this.originalResponse.contentLanguage;
-      }
-      /**
-       * The current sequence number for a
-       * page blob. This header is not returned for block blobs or append blobs.
-       *
-       * @readonly
-       */
-      get blobSequenceNumber() {
-        return this.originalResponse.blobSequenceNumber;
-      }
-      /**
-       * The blob's type. Possible values include:
-       * 'BlockBlob', 'PageBlob', 'AppendBlob'.
-       *
-       * @readonly
-       */
-      get blobType() {
-        return this.originalResponse.blobType;
-      }
-      /**
-       * The number of bytes present in the
-       * response body.
-       *
-       * @readonly
-       */
-      get contentLength() {
-        return this.originalResponse.contentLength;
+    exports2.validateFilePath = exports2.validateArtifactName = void 0;
+    var core_1 = require_core();
+    var invalidArtifactFilePathCharacters = /* @__PURE__ */ new Map([
+      ['"', ' Double quote "'],
+      [":", " Colon :"],
+      ["<", " Less than <"],
+      [">", " Greater than >"],
+      ["|", " Vertical bar |"],
+      ["*", " Asterisk *"],
+      ["?", " Question mark ?"],
+      ["\r", " Carriage return \\r"],
+      ["\n", " Line feed \\n"]
+    ]);
+    var invalidArtifactNameCharacters = new Map([
+      ...invalidArtifactFilePathCharacters,
+      ["\\", " Backslash \\"],
+      ["/", " Forward slash /"]
+    ]);
+    function validateArtifactName(name) {
+      if (!name) {
+        throw new Error(`Provided artifact name input during validation is empty`);
       }
-      /**
-       * If the file has an MD5 hash and the
-       * request is to read the full file, this response header is returned so that
-       * the client can check for message content integrity. If the request is to
-       * read a specified range and the 'x-ms-range-get-content-md5' is set to
-       * true, then the request returns an MD5 hash for the range, as long as the
-       * range size is less than or equal to 4 MB. If neither of these sets of
-       * conditions is true, then no value is returned for the 'Content-MD5'
-       * header.
-       *
-       * @readonly
-       */
-      get contentMD5() {
-        return this.originalResponse.contentMD5;
+      for (const [invalidCharacterKey, errorMessageForCharacter] of invalidArtifactNameCharacters) {
+        if (name.includes(invalidCharacterKey)) {
+          throw new Error(`The artifact name is not valid: ${name}. Contains the following character: ${errorMessageForCharacter}
+          
+Invalid characters include: ${Array.from(invalidArtifactNameCharacters.values()).toString()}
+          
+These characters are not allowed in the artifact name due to limitations with certain file systems such as NTFS. To maintain file system agnostic behavior, these characters are intentionally not allowed to prevent potential problems with downloads on different file systems.`);
+        }
       }
-      /**
-       * Indicates the range of bytes returned if
-       * the client requested a subset of the file by setting the Range request
-       * header.
-       *
-       * @readonly
-       */
-      get contentRange() {
-        return this.originalResponse.contentRange;
+      (0, core_1.info)(`Artifact name is valid!`);
+    }
+    exports2.validateArtifactName = validateArtifactName;
+    function validateFilePath(path4) {
+      if (!path4) {
+        throw new Error(`Provided file path input during validation is empty`);
       }
-      /**
-       * The content type specified for the file.
-       * The default content type is 'application/octet-stream'
-       *
-       * @readonly
-       */
-      get contentType() {
-        return this.originalResponse.contentType;
+      for (const [invalidCharacterKey, errorMessageForCharacter] of invalidArtifactFilePathCharacters) {
+        if (path4.includes(invalidCharacterKey)) {
+          throw new Error(`The path for one of the files in artifact is not valid: ${path4}. Contains the following character: ${errorMessageForCharacter}
+          
+Invalid characters include: ${Array.from(invalidArtifactFilePathCharacters.values()).toString()}
+          
+The following characters are not allowed in files that are uploaded due to limitations with certain file systems such as NTFS. To maintain file system agnostic behavior, these characters are intentionally not allowed to prevent potential problems with downloads on different file systems.
+          `);
+        }
       }
-      /**
-       * Conclusion time of the last attempted
-       * Copy File operation where this file was the destination file. This value
-       * can specify the time of a completed, aborted, or failed copy attempt.
-       *
-       * @readonly
-       */
-      get copyCompletedOn() {
-        return void 0;
+    }
+    exports2.validateFilePath = validateFilePath;
+  }
+});
+
+// node_modules/@actions/artifact/package.json
+var require_package3 = __commonJS({
+  "node_modules/@actions/artifact/package.json"(exports2, module2) {
+    module2.exports = {
+      name: "@actions/artifact",
+      version: "5.0.3",
+      preview: true,
+      description: "Actions artifact lib",
+      keywords: [
+        "github",
+        "actions",
+        "artifact"
+      ],
+      homepage: "https://github.com/actions/toolkit/tree/main/packages/artifact",
+      license: "MIT",
+      main: "lib/artifact.js",
+      types: "lib/artifact.d.ts",
+      directories: {
+        lib: "lib",
+        test: "__tests__"
+      },
+      files: [
+        "lib",
+        "!.DS_Store"
+      ],
+      publishConfig: {
+        access: "public"
+      },
+      repository: {
+        type: "git",
+        url: "git+https://github.com/actions/toolkit.git",
+        directory: "packages/artifact"
+      },
+      scripts: {
+        "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json",
+        test: "cd ../../ && npm run test ./packages/artifact",
+        bootstrap: "cd ../../ && npm run bootstrap",
+        "tsc-run": "tsc",
+        tsc: "npm run bootstrap && npm run tsc-run",
+        "gen:docs": "typedoc --plugin typedoc-plugin-markdown --out docs/generated src/artifact.ts --githubPages false --readme none"
+      },
+      bugs: {
+        url: "https://github.com/actions/toolkit/issues"
+      },
+      dependencies: {
+        "@actions/core": "^2.0.0",
+        "@actions/github": "^6.0.1",
+        "@actions/http-client": "^3.0.2",
+        "@azure/storage-blob": "^12.29.1",
+        "@octokit/core": "^5.2.1",
+        "@octokit/plugin-request-log": "^1.0.4",
+        "@octokit/plugin-retry": "^3.0.9",
+        "@octokit/request": "^8.4.1",
+        "@octokit/request-error": "^5.1.1",
+        "@protobuf-ts/plugin": "^2.2.3-alpha.1",
+        archiver: "^7.0.1",
+        "jwt-decode": "^3.1.2",
+        "unzip-stream": "^0.3.1"
+      },
+      devDependencies: {
+        "@types/archiver": "^5.3.2",
+        "@types/unzip-stream": "^0.3.4",
+        typedoc: "^0.28.13",
+        "typedoc-plugin-markdown": "^3.17.1",
+        typescript: "^5.2.2"
+      },
+      overrides: {
+        "uri-js": "npm:uri-js-replace@^1.0.1",
+        "node-fetch": "^3.3.2"
       }
-      /**
-       * String identifier for the last attempted Copy
-       * File operation where this file was the destination file.
-       *
-       * @readonly
-       */
-      get copyId() {
-        return this.originalResponse.copyId;
+    };
+  }
+});
+
+// node_modules/@actions/artifact/lib/internal/shared/user-agent.js
+var require_user_agent2 = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/shared/user-agent.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getUserAgentString = void 0;
+    var packageJson = require_package3();
+    function getUserAgentString() {
+      return `@actions/artifact-${packageJson.version}`;
+    }
+    exports2.getUserAgentString = getUserAgentString;
+  }
+});
+
+// node_modules/@actions/artifact/lib/internal/shared/errors.js
+var require_errors4 = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/shared/errors.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.UsageError = exports2.NetworkError = exports2.GHESNotSupportedError = exports2.ArtifactNotFoundError = exports2.InvalidResponseError = exports2.FilesNotFoundError = void 0;
+    var FilesNotFoundError = class extends Error {
+      constructor(files = []) {
+        let message = "No files were found to upload";
+        if (files.length > 0) {
+          message += `: ${files.join(", ")}`;
+        }
+        super(message);
+        this.files = files;
+        this.name = "FilesNotFoundError";
       }
-      /**
-       * Contains the number of bytes copied and
-       * the total bytes in the source in the last attempted Copy File operation
-       * where this file was the destination file. Can show between 0 and
-       * Content-Length bytes copied.
-       *
-       * @readonly
-       */
-      get copyProgress() {
-        return this.originalResponse.copyProgress;
+    };
+    exports2.FilesNotFoundError = FilesNotFoundError;
+    var InvalidResponseError = class extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "InvalidResponseError";
       }
-      /**
-       * URL up to 2KB in length that specifies the
-       * source file used in the last attempted Copy File operation where this file
-       * was the destination file.
-       *
-       * @readonly
-       */
-      get copySource() {
-        return this.originalResponse.copySource;
+    };
+    exports2.InvalidResponseError = InvalidResponseError;
+    var ArtifactNotFoundError = class extends Error {
+      constructor(message = "Artifact not found") {
+        super(message);
+        this.name = "ArtifactNotFoundError";
       }
-      /**
-       * State of the copy operation
-       * identified by 'x-ms-copy-id'. Possible values include: 'pending',
-       * 'success', 'aborted', 'failed'
-       *
-       * @readonly
-       */
-      get copyStatus() {
-        return this.originalResponse.copyStatus;
+    };
+    exports2.ArtifactNotFoundError = ArtifactNotFoundError;
+    var GHESNotSupportedError = class extends Error {
+      constructor(message = "@actions/artifact v2.0.0+, upload-artifact@v4+ and download-artifact@v4+ are not currently supported on GHES.") {
+        super(message);
+        this.name = "GHESNotSupportedError";
       }
-      /**
-       * Only appears when
-       * x-ms-copy-status is failed or pending. Describes cause of fatal or
-       * non-fatal copy operation failure.
-       *
-       * @readonly
-       */
-      get copyStatusDescription() {
-        return this.originalResponse.copyStatusDescription;
+    };
+    exports2.GHESNotSupportedError = GHESNotSupportedError;
+    var NetworkError = class extends Error {
+      constructor(code) {
+        const message = `Unable to make request: ${code}
+If you are using self-hosted runners, please make sure your runner has access to all GitHub endpoints: https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#communication-between-self-hosted-runners-and-github`;
+        super(message);
+        this.code = code;
+        this.name = "NetworkError";
       }
-      /**
-       * When a blob is leased,
-       * specifies whether the lease is of infinite or fixed duration. Possible
-       * values include: 'infinite', 'fixed'.
-       *
-       * @readonly
-       */
-      get leaseDuration() {
-        return this.originalResponse.leaseDuration;
+    };
+    exports2.NetworkError = NetworkError;
+    NetworkError.isNetworkErrorCode = (code) => {
+      if (!code)
+        return false;
+      return [
+        "ECONNRESET",
+        "ENOTFOUND",
+        "ETIMEDOUT",
+        "ECONNREFUSED",
+        "EHOSTUNREACH"
+      ].includes(code);
+    };
+    var UsageError = class extends Error {
+      constructor() {
+        const message = `Artifact storage quota has been hit. Unable to upload any new artifacts. Usage is recalculated every 6-12 hours.
+More info on storage limits: https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#calculating-minute-and-storage-spending`;
+        super(message);
+        this.name = "UsageError";
       }
-      /**
-       * Lease state of the blob. Possible
-       * values include: 'available', 'leased', 'expired', 'breaking', 'broken'.
-       *
-       * @readonly
-       */
-      get leaseState() {
-        return this.originalResponse.leaseState;
+    };
+    exports2.UsageError = UsageError;
+    UsageError.isUsageErrorMessage = (msg) => {
+      if (!msg)
+        return false;
+      return msg.includes("insufficient usage");
+    };
+  }
+});
+
+// node_modules/jwt-decode/build/jwt-decode.cjs.js
+var require_jwt_decode_cjs = __commonJS({
+  "node_modules/jwt-decode/build/jwt-decode.cjs.js"(exports2, module2) {
+    "use strict";
+    function e(e2) {
+      this.message = e2;
+    }
+    e.prototype = new Error(), e.prototype.name = "InvalidCharacterError";
+    var r = "undefined" != typeof window && window.atob && window.atob.bind(window) || function(r2) {
+      var t2 = String(r2).replace(/=+$/, "");
+      if (t2.length % 4 == 1) throw new e("'atob' failed: The string to be decoded is not correctly encoded.");
+      for (var n2, o2, a2 = 0, i = 0, c = ""; o2 = t2.charAt(i++); ~o2 && (n2 = a2 % 4 ? 64 * n2 + o2 : o2, a2++ % 4) ? c += String.fromCharCode(255 & n2 >> (-2 * a2 & 6)) : 0) o2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(o2);
+      return c;
+    };
+    function t(e2) {
+      var t2 = e2.replace(/-/g, "+").replace(/_/g, "/");
+      switch (t2.length % 4) {
+        case 0:
+          break;
+        case 2:
+          t2 += "==";
+          break;
+        case 3:
+          t2 += "=";
+          break;
+        default:
+          throw "Illegal base64url string!";
       }
-      /**
-       * The current lease status of the
-       * blob. Possible values include: 'locked', 'unlocked'.
-       *
-       * @readonly
-       */
-      get leaseStatus() {
-        return this.originalResponse.leaseStatus;
+      try {
+        return (function(e3) {
+          return decodeURIComponent(r(e3).replace(/(.)/g, (function(e4, r2) {
+            var t3 = r2.charCodeAt(0).toString(16).toUpperCase();
+            return t3.length < 2 && (t3 = "0" + t3), "%" + t3;
+          })));
+        })(t2);
+      } catch (e3) {
+        return r(t2);
       }
-      /**
-       * A UTC date/time value generated by the service that
-       * indicates the time at which the response was initiated.
-       *
-       * @readonly
-       */
-      get date() {
-        return this.originalResponse.date;
+    }
+    function n(e2) {
+      this.message = e2;
+    }
+    function o(e2, r2) {
+      if ("string" != typeof e2) throw new n("Invalid token specified");
+      var o2 = true === (r2 = r2 || {}).header ? 0 : 1;
+      try {
+        return JSON.parse(t(e2.split(".")[o2]));
+      } catch (e3) {
+        throw new n("Invalid token specified: " + e3.message);
       }
-      /**
-       * The number of committed blocks
-       * present in the blob. This header is returned only for append blobs.
-       *
-       * @readonly
-       */
-      get blobCommittedBlockCount() {
-        return this.originalResponse.blobCommittedBlockCount;
+    }
+    n.prototype = new Error(), n.prototype.name = "InvalidTokenError";
+    var a = o;
+    a.default = o, a.InvalidTokenError = n, module2.exports = a;
+  }
+});
+
+// node_modules/@actions/artifact/lib/internal/shared/util.js
+var require_util19 = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/shared/util.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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];
+        } };
       }
-      /**
-       * The ETag contains a value that you can use to
-       * perform operations conditionally, in quotes.
-       *
-       * @readonly
-       */
-      get etag() {
-        return this.originalResponse.etag;
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
       }
-      /**
-       * The error code.
-       *
-       * @readonly
-       */
-      get errorCode() {
-        return this.originalResponse.errorCode;
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
+      return mod && mod.__esModule ? mod : { "default": mod };
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.maskSecretUrls = exports2.maskSigUrl = exports2.getBackendIdsFromToken = void 0;
+    var core14 = __importStar2(require_core());
+    var config_1 = require_config2();
+    var jwt_decode_1 = __importDefault2(require_jwt_decode_cjs());
+    var core_1 = require_core();
+    var InvalidJwtError = new Error("Failed to get backend IDs: The provided JWT token is invalid and/or missing claims");
+    function getBackendIdsFromToken() {
+      const token = (0, config_1.getRuntimeToken)();
+      const decoded = (0, jwt_decode_1.default)(token);
+      if (!decoded.scp) {
+        throw InvalidJwtError;
       }
-      /**
-       * The value of this header is set to
-       * true if the file data and application metadata are completely encrypted
-       * using the specified algorithm. Otherwise, the value is set to false (when
-       * the file is unencrypted, or if only parts of the file/application metadata
-       * are encrypted).
-       *
-       * @readonly
-       */
-      get isServerEncrypted() {
-        return this.originalResponse.isServerEncrypted;
+      const scpParts = decoded.scp.split(" ");
+      if (scpParts.length === 0) {
+        throw InvalidJwtError;
       }
-      /**
-       * If the blob has a MD5 hash, and if
-       * request contains range header (Range or x-ms-range), this response header
-       * is returned with the value of the whole blob's MD5 value. This value may
-       * or may not be equal to the value returned in Content-MD5 header, with the
-       * latter calculated from the requested range.
-       *
-       * @readonly
-       */
-      get blobContentMD5() {
-        return this.originalResponse.blobContentMD5;
+      for (const scopes of scpParts) {
+        const scopeParts = scopes.split(":");
+        if ((scopeParts === null || scopeParts === void 0 ? void 0 : scopeParts[0]) !== "Actions.Results") {
+          continue;
+        }
+        if (scopeParts.length !== 3) {
+          throw InvalidJwtError;
+        }
+        const ids = {
+          workflowRunBackendId: scopeParts[1],
+          workflowJobRunBackendId: scopeParts[2]
+        };
+        core14.debug(`Workflow Run Backend ID: ${ids.workflowRunBackendId}`);
+        core14.debug(`Workflow Job Run Backend ID: ${ids.workflowJobRunBackendId}`);
+        return ids;
       }
-      /**
-       * Returns the date and time the file was last
-       * modified. Any operation that modifies the file or its properties updates
-       * the last modified time.
-       *
-       * @readonly
-       */
-      get lastModified() {
-        return this.originalResponse.lastModified;
+      throw InvalidJwtError;
+    }
+    exports2.getBackendIdsFromToken = getBackendIdsFromToken;
+    function maskSigUrl(url) {
+      if (!url)
+        return;
+      try {
+        const parsedUrl = new URL(url);
+        const signature = parsedUrl.searchParams.get("sig");
+        if (signature) {
+          (0, core_1.setSecret)(signature);
+          (0, core_1.setSecret)(encodeURIComponent(signature));
+        }
+      } catch (error3) {
+        (0, core_1.debug)(`Failed to parse URL: ${url} ${error3 instanceof Error ? error3.message : String(error3)}`);
       }
-      /**
-       * A name-value pair
-       * to associate with a file storage object.
-       *
-       * @readonly
-       */
-      get metadata() {
-        return this.originalResponse.metadata;
+    }
+    exports2.maskSigUrl = maskSigUrl;
+    function maskSecretUrls(body) {
+      if (typeof body !== "object" || body === null) {
+        (0, core_1.debug)("body is not an object or is null");
+        return;
       }
-      /**
-       * This header uniquely identifies the request
-       * that was made and can be used for troubleshooting the request.
-       *
-       * @readonly
-       */
-      get requestId() {
-        return this.originalResponse.requestId;
+      if ("signed_upload_url" in body && typeof body.signed_upload_url === "string") {
+        maskSigUrl(body.signed_upload_url);
       }
-      /**
-       * If a client request id header is sent in the request, this header will be present in the
-       * response with the same value.
-       *
-       * @readonly
-       */
-      get clientRequestId() {
-        return this.originalResponse.clientRequestId;
+      if ("signed_url" in body && typeof body.signed_url === "string") {
+        maskSigUrl(body.signed_url);
       }
-      /**
-       * Indicates the version of the File service used
-       * to execute the request.
-       *
-       * @readonly
-       */
-      get version() {
-        return this.originalResponse.version;
+    }
+    exports2.maskSecretUrls = maskSecretUrls;
+  }
+});
+
+// node_modules/@actions/artifact/lib/internal/shared/artifact-twirp-client.js
+var require_artifact_twirp_client2 = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/shared/artifact-twirp-client.js"(exports2) {
+    "use strict";
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve3) {
+          resolve3(value);
+        });
       }
-      /**
-       * The SHA-256 hash of the encryption key used to encrypt the blob. This value is only returned
-       * when the blob was encrypted with a customer-provided key.
-       *
-       * @readonly
-       */
-      get encryptionKeySha256() {
-        return this.originalResponse.encryptionKeySha256;
+      return new (P || (P = Promise))(function(resolve3, 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 ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.internalArtifactTwirpClient = void 0;
+    var http_client_1 = require_lib();
+    var auth_1 = require_auth();
+    var core_1 = require_core();
+    var generated_1 = require_generated();
+    var config_1 = require_config2();
+    var user_agent_1 = require_user_agent2();
+    var errors_1 = require_errors4();
+    var util_1 = require_util19();
+    var ArtifactHttpClient = class {
+      constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) {
+        this.maxAttempts = 5;
+        this.baseRetryIntervalMilliseconds = 3e3;
+        this.retryMultiplier = 1.5;
+        const token = (0, config_1.getRuntimeToken)();
+        this.baseUrl = (0, config_1.getResultsServiceUrl)();
+        if (maxAttempts) {
+          this.maxAttempts = maxAttempts;
+        }
+        if (baseRetryIntervalMilliseconds) {
+          this.baseRetryIntervalMilliseconds = baseRetryIntervalMilliseconds;
+        }
+        if (retryMultiplier) {
+          this.retryMultiplier = retryMultiplier;
+        }
+        this.httpClient = new http_client_1.HttpClient(userAgent2, [
+          new auth_1.BearerCredentialHandler(token)
+        ]);
       }
-      /**
-       * If the request is to read a specified range and the x-ms-range-get-content-crc64 is set to
-       * true, then the request returns a crc64 for the range, as long as the range size is less than
-       * or equal to 4 MB. If both x-ms-range-get-content-crc64 & x-ms-range-get-content-md5 is
-       * specified in the same request, it will fail with 400(Bad Request)
-       */
-      get contentCrc64() {
-        return this.originalResponse.contentCrc64;
+      // This function satisfies the Rpc interface. It is compatible with the JSON
+      // JSON generated client.
+      request(service, method, contentType, data) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          const url = new URL(`/twirp/${service}/${method}`, this.baseUrl).href;
+          (0, core_1.debug)(`[Request] ${method} ${url}`);
+          const headers = {
+            "Content-Type": contentType
+          };
+          try {
+            const { body } = yield this.retryableRequest(() => __awaiter2(this, void 0, void 0, function* () {
+              return this.httpClient.post(url, JSON.stringify(data), headers);
+            }));
+            return body;
+          } catch (error3) {
+            throw new Error(`Failed to ${method}: ${error3.message}`);
+          }
+        });
+      }
+      retryableRequest(operation) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          let attempt = 0;
+          let errorMessage = "";
+          let rawBody = "";
+          while (attempt < this.maxAttempts) {
+            let isRetryable = false;
+            try {
+              const response = yield operation();
+              const statusCode = response.message.statusCode;
+              rawBody = yield response.readBody();
+              (0, core_1.debug)(`[Response] - ${response.message.statusCode}`);
+              (0, core_1.debug)(`Headers: ${JSON.stringify(response.message.headers, null, 2)}`);
+              const body = JSON.parse(rawBody);
+              (0, util_1.maskSecretUrls)(body);
+              (0, core_1.debug)(`Body: ${JSON.stringify(body, null, 2)}`);
+              if (this.isSuccessStatusCode(statusCode)) {
+                return { response, body };
+              }
+              isRetryable = this.isRetryableHttpStatusCode(statusCode);
+              errorMessage = `Failed request: (${statusCode}) ${response.message.statusMessage}`;
+              if (body.msg) {
+                if (errors_1.UsageError.isUsageErrorMessage(body.msg)) {
+                  throw new errors_1.UsageError();
+                }
+                errorMessage = `${errorMessage}: ${body.msg}`;
+              }
+            } catch (error3) {
+              if (error3 instanceof SyntaxError) {
+                (0, core_1.debug)(`Raw Body: ${rawBody}`);
+              }
+              if (error3 instanceof errors_1.UsageError) {
+                throw error3;
+              }
+              if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) {
+                throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code);
+              }
+              isRetryable = true;
+              errorMessage = error3.message;
+            }
+            if (!isRetryable) {
+              throw new Error(`Received non-retryable error: ${errorMessage}`);
+            }
+            if (attempt + 1 === this.maxAttempts) {
+              throw new Error(`Failed to make request after ${this.maxAttempts} attempts: ${errorMessage}`);
+            }
+            const retryTimeMilliseconds = this.getExponentialRetryTimeMilliseconds(attempt);
+            (0, core_1.info)(`Attempt ${attempt + 1} of ${this.maxAttempts} failed with error: ${errorMessage}. Retrying request in ${retryTimeMilliseconds} ms...`);
+            yield this.sleep(retryTimeMilliseconds);
+            attempt++;
+          }
+          throw new Error(`Request failed`);
+        });
       }
-      /**
-       * The response body as a browser Blob.
-       * Always undefined in node.js.
-       *
-       * @readonly
-       */
-      get blobBody() {
-        return void 0;
+      isSuccessStatusCode(statusCode) {
+        if (!statusCode)
+          return false;
+        return statusCode >= 200 && statusCode < 300;
       }
-      /**
-       * The response body as a node.js Readable stream.
-       * Always undefined in the browser.
-       *
-       * It will parse avor data returned by blob query.
-       *
-       * @readonly
-       */
-      get readableStreamBody() {
-        return core_util_1.isNodeLike ? this.blobDownloadStream : void 0;
+      isRetryableHttpStatusCode(statusCode) {
+        if (!statusCode)
+          return false;
+        const retryableStatusCodes = [
+          http_client_1.HttpCodes.BadGateway,
+          http_client_1.HttpCodes.GatewayTimeout,
+          http_client_1.HttpCodes.InternalServerError,
+          http_client_1.HttpCodes.ServiceUnavailable,
+          http_client_1.HttpCodes.TooManyRequests
+        ];
+        return retryableStatusCodes.includes(statusCode);
       }
-      /**
-       * The HTTP response.
-       */
-      get _response() {
-        return this.originalResponse._response;
+      sleep(milliseconds) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          return new Promise((resolve3) => setTimeout(resolve3, milliseconds));
+        });
       }
-      originalResponse;
-      blobDownloadStream;
-      /**
-       * Creates an instance of BlobQueryResponse.
-       *
-       * @param originalResponse -
-       * @param options -
-       */
-      constructor(originalResponse, options = {}) {
-        this.originalResponse = originalResponse;
-        this.blobDownloadStream = new BlobQuickQueryStream_js_1.BlobQuickQueryStream(this.originalResponse.readableStreamBody, options);
+      getExponentialRetryTimeMilliseconds(attempt) {
+        if (attempt < 0) {
+          throw new Error("attempt should be a positive integer");
+        }
+        if (attempt === 0) {
+          return this.baseRetryIntervalMilliseconds;
+        }
+        const minTime = this.baseRetryIntervalMilliseconds * Math.pow(this.retryMultiplier, attempt);
+        const maxTime = minTime * this.retryMultiplier;
+        return Math.trunc(Math.random() * (maxTime - minTime) + minTime);
       }
     };
-    exports2.BlobQueryResponse = BlobQueryResponse;
+    function internalArtifactTwirpClient(options) {
+      const client = new ArtifactHttpClient((0, user_agent_1.getUserAgentString)(), options === null || options === void 0 ? void 0 : options.maxAttempts, options === null || options === void 0 ? void 0 : options.retryIntervalMs, options === null || options === void 0 ? void 0 : options.retryMultiplier);
+      return new generated_1.ArtifactServiceClientJSON(client);
+    }
+    exports2.internalArtifactTwirpClient = internalArtifactTwirpClient;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/models.js
-var require_models2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/models.js"(exports2) {
+// node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.js
+var require_upload_zip_specification = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.js"(exports2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageBlobAudience = exports2.PremiumPageBlobTier = exports2.BlockBlobTier = void 0;
-    exports2.toAccessTier = toAccessTier;
-    exports2.ensureCpkIfSpecified = ensureCpkIfSpecified;
-    exports2.getBlobServiceAccountAudience = getBlobServiceAccountAudience;
-    var constants_js_1 = require_constants15();
-    var BlockBlobTier;
-    (function(BlockBlobTier2) {
-      BlockBlobTier2["Hot"] = "Hot";
-      BlockBlobTier2["Cool"] = "Cool";
-      BlockBlobTier2["Cold"] = "Cold";
-      BlockBlobTier2["Archive"] = "Archive";
-    })(BlockBlobTier || (exports2.BlockBlobTier = BlockBlobTier = {}));
-    var PremiumPageBlobTier;
-    (function(PremiumPageBlobTier2) {
-      PremiumPageBlobTier2["P4"] = "P4";
-      PremiumPageBlobTier2["P6"] = "P6";
-      PremiumPageBlobTier2["P10"] = "P10";
-      PremiumPageBlobTier2["P15"] = "P15";
-      PremiumPageBlobTier2["P20"] = "P20";
-      PremiumPageBlobTier2["P30"] = "P30";
-      PremiumPageBlobTier2["P40"] = "P40";
-      PremiumPageBlobTier2["P50"] = "P50";
-      PremiumPageBlobTier2["P60"] = "P60";
-      PremiumPageBlobTier2["P70"] = "P70";
-      PremiumPageBlobTier2["P80"] = "P80";
-    })(PremiumPageBlobTier || (exports2.PremiumPageBlobTier = PremiumPageBlobTier = {}));
-    function toAccessTier(tier) {
-      if (tier === void 0) {
-        return void 0;
+    var __createBinding2 = 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];
+        } };
       }
-      return tier;
-    }
-    function ensureCpkIfSpecified(cpk, isHttps) {
-      if (cpk && !isHttps) {
-        throw new RangeError("Customer-provided encryption key must be used over HTTPS.");
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
       }
-      if (cpk && !cpk.encryptionAlgorithm) {
-        cpk.encryptionAlgorithm = constants_js_1.EncryptionAlgorithmAES25;
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getUploadZipSpecification = exports2.validateRootDirectory = void 0;
+    var fs3 = __importStar2(require("fs"));
+    var core_1 = require_core();
+    var path_1 = require("path");
+    var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation();
+    function validateRootDirectory(rootDirectory) {
+      if (!fs3.existsSync(rootDirectory)) {
+        throw new Error(`The provided rootDirectory ${rootDirectory} does not exist`);
       }
+      if (!fs3.statSync(rootDirectory).isDirectory()) {
+        throw new Error(`The provided rootDirectory ${rootDirectory} is not a valid directory`);
+      }
+      (0, core_1.info)(`Root directory input is valid!`);
     }
-    var StorageBlobAudience;
-    (function(StorageBlobAudience2) {
-      StorageBlobAudience2["StorageOAuthScopes"] = "https://storage.azure.com/.default";
-      StorageBlobAudience2["DiskComputeOAuthScopes"] = "https://disk.compute.azure.com/.default";
-    })(StorageBlobAudience || (exports2.StorageBlobAudience = StorageBlobAudience = {}));
-    function getBlobServiceAccountAudience(storageAccountName) {
-      return `https://${storageAccountName}.blob.core.windows.net/.default`;
-    }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/PageBlobRangeResponse.js
-var require_PageBlobRangeResponse = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/PageBlobRangeResponse.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.rangeResponseFromModel = rangeResponseFromModel;
-    function rangeResponseFromModel(response) {
-      const pageRange = (response._response.parsedBody.pageRange || []).map((x) => ({
-        offset: x.start,
-        count: x.end - x.start
-      }));
-      const clearRange = (response._response.parsedBody.clearRange || []).map((x) => ({
-        offset: x.start,
-        count: x.end - x.start
-      }));
-      return {
-        ...response,
-        pageRange,
-        clearRange,
-        _response: {
-          ...response._response,
-          parsedBody: {
-            pageRange,
-            clearRange
+    exports2.validateRootDirectory = validateRootDirectory;
+    function getUploadZipSpecification(filesToZip, rootDirectory) {
+      const specification = [];
+      rootDirectory = (0, path_1.normalize)(rootDirectory);
+      rootDirectory = (0, path_1.resolve)(rootDirectory);
+      for (let file of filesToZip) {
+        const stats = fs3.lstatSync(file, { throwIfNoEntry: false });
+        if (!stats) {
+          throw new Error(`File ${file} does not exist`);
+        }
+        if (!stats.isDirectory()) {
+          file = (0, path_1.normalize)(file);
+          file = (0, path_1.resolve)(file);
+          if (!file.startsWith(rootDirectory)) {
+            throw new Error(`The rootDirectory: ${rootDirectory} is not a parent directory of the file: ${file}`);
           }
+          const uploadPath = file.replace(rootDirectory, "");
+          (0, path_and_artifact_name_validation_1.validateFilePath)(uploadPath);
+          specification.push({
+            sourcePath: file,
+            destinationPath: uploadPath,
+            stats
+          });
+        } else {
+          const directoryPath = file.replace(rootDirectory, "");
+          (0, path_and_artifact_name_validation_1.validateFilePath)(directoryPath);
+          specification.push({
+            sourcePath: null,
+            destinationPath: directoryPath,
+            stats
+          });
         }
-      };
+      }
+      return specification;
     }
+    exports2.getUploadZipSpecification = getUploadZipSpecification;
   }
 });
 
-// node_modules/@azure/core-lro/dist/commonjs/logger.js
-var require_logger2 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/logger.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.logger = void 0;
-    var logger_1 = require_commonjs2();
-    exports2.logger = (0, logger_1.createClientLogger)("core-lro");
-  }
-});
-
-// node_modules/@azure/core-lro/dist/commonjs/poller/constants.js
-var require_constants17 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/poller/constants.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.terminalStates = exports2.POLL_INTERVAL_IN_MS = void 0;
-    exports2.POLL_INTERVAL_IN_MS = 2e3;
-    exports2.terminalStates = ["succeeded", "canceled", "failed"];
-  }
-});
-
-// node_modules/@azure/core-lro/dist/commonjs/poller/operation.js
-var require_operation = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/poller/operation.js"(exports2) {
+// node_modules/@actions/artifact/lib/internal/upload/blob-upload.js
+var require_blob_upload = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/upload/blob-upload.js"(exports2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.pollOperation = exports2.initOperation = exports2.deserializeState = void 0;
-    var logger_js_1 = require_logger2();
-    var constants_js_1 = require_constants17();
-    function deserializeState(serializedState) {
-      try {
-        return JSON.parse(serializedState).state;
-      } catch (e) {
-        throw new Error(`Unable to deserialize input state: ${serializedState}`);
+    var __createBinding2 = 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];
+        } };
       }
-    }
-    exports2.deserializeState = deserializeState;
-    function setStateError(inputs) {
-      const { state, stateProxy, isOperationError } = inputs;
-      return (error3) => {
-        if (isOperationError(error3)) {
-          stateProxy.setError(state, error3);
-          stateProxy.setFailed(state);
-        }
-        throw error3;
-      };
-    }
-    function appendReadableErrorMessage(currentMessage, innerMessage) {
-      let message = currentMessage;
-      if (message.slice(-1) !== ".") {
-        message = message + ".";
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
       }
-      return message + " " + innerMessage;
-    }
-    function simplifyError(err) {
-      let message = err.message;
-      let code = err.code;
-      let curErr = err;
-      while (curErr.innererror) {
-        curErr = curErr.innererror;
-        code = curErr.code;
-        message = appendReadableErrorMessage(message, curErr.message);
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve3) {
+          resolve3(value);
+        });
       }
-      return {
-        code,
-        message
-      };
-    }
-    function processOperationStatus(result) {
-      const { state, stateProxy, status, isDone, processResult, getError, response, setErrorAsResult } = result;
-      switch (status) {
-        case "succeeded": {
-          stateProxy.setSucceeded(state);
-          break;
-        }
-        case "failed": {
-          const err = getError === null || getError === void 0 ? void 0 : getError(response);
-          let postfix = "";
-          if (err) {
-            const { code, message } = simplifyError(err);
-            postfix = `. ${code}. ${message}`;
+      return new (P || (P = Promise))(function(resolve3, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
           }
-          const errStr = `The long-running operation has failed${postfix}`;
-          stateProxy.setError(state, new Error(errStr));
-          stateProxy.setFailed(state);
-          logger_js_1.logger.warning(errStr);
-          break;
         }
-        case "canceled": {
-          stateProxy.setCanceled(state);
-          break;
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
         }
-      }
-      if ((isDone === null || isDone === void 0 ? void 0 : isDone(response, state)) || isDone === void 0 && ["succeeded", "canceled"].concat(setErrorAsResult ? [] : ["failed"]).includes(status)) {
-        stateProxy.setResult(state, buildResult({
-          response,
-          state,
-          processResult
-        }));
-      }
-    }
-    function buildResult(inputs) {
-      const { processResult, response, state } = inputs;
-      return processResult ? processResult(response, state) : response;
-    }
-    async function initOperation(inputs) {
-      const { init, stateProxy, processResult, getOperationStatus, withOperationLocation, setErrorAsResult } = inputs;
-      const { operationLocation, resourceLocation, metadata, response } = await init();
-      if (operationLocation)
-        withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(operationLocation, false);
-      const config = {
-        metadata,
-        operationLocation,
-        resourceLocation
-      };
-      logger_js_1.logger.verbose(`LRO: Operation description:`, config);
-      const state = stateProxy.initState(config);
-      const status = getOperationStatus({ response, state, operationLocation });
-      processOperationStatus({ state, status, stateProxy, response, setErrorAsResult, processResult });
-      return state;
-    }
-    exports2.initOperation = initOperation;
-    async function pollOperationHelper(inputs) {
-      const { poll, state, stateProxy, operationLocation, getOperationStatus, getResourceLocation, isOperationError, options } = inputs;
-      const response = await poll(operationLocation, options).catch(setStateError({
-        state,
-        stateProxy,
-        isOperationError
-      }));
-      const status = getOperationStatus(response, state);
-      logger_js_1.logger.verbose(`LRO: Status:
-	Polling from: ${state.config.operationLocation}
-	Operation status: ${status}
-	Polling status: ${constants_js_1.terminalStates.includes(status) ? "Stopped" : "Running"}`);
-      if (status === "succeeded") {
-        const resourceLocation = getResourceLocation(response, state);
-        if (resourceLocation !== void 0) {
-          return {
-            response: await poll(resourceLocation).catch(setStateError({ state, stateProxy, isOperationError })),
-            status
-          };
+        function step(result) {
+          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
-      }
-      return { response, status };
-    }
-    async function pollOperation(inputs) {
-      const { poll, state, stateProxy, options, getOperationStatus, getResourceLocation, getOperationLocation, isOperationError, withOperationLocation, getPollingInterval, processResult, getError, updateState, setDelay, isDone, setErrorAsResult } = inputs;
-      const { operationLocation } = state.config;
-      if (operationLocation !== void 0) {
-        const { response, status } = await pollOperationHelper({
-          poll,
-          getOperationStatus,
-          state,
-          stateProxy,
-          operationLocation,
-          getResourceLocation,
-          isOperationError,
-          options
-        });
-        processOperationStatus({
-          status,
-          response,
-          state,
-          stateProxy,
-          isDone,
-          processResult,
-          getError,
-          setErrorAsResult
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.uploadZipToBlobStorage = void 0;
+    var storage_blob_1 = require_commonjs15();
+    var config_1 = require_config2();
+    var core14 = __importStar2(require_core());
+    var crypto2 = __importStar2(require("crypto"));
+    var stream = __importStar2(require("stream"));
+    var errors_1 = require_errors4();
+    function uploadZipToBlobStorage(authenticatedUploadURL, zipUploadStream) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        let uploadByteCount = 0;
+        let lastProgressTime = Date.now();
+        const abortController = new AbortController();
+        const chunkTimer = (interval) => __awaiter2(this, void 0, void 0, function* () {
+          return new Promise((resolve3, reject) => {
+            const timer = setInterval(() => {
+              if (Date.now() - lastProgressTime > interval) {
+                reject(new Error("Upload progress stalled."));
+              }
+            }, interval);
+            abortController.signal.addEventListener("abort", () => {
+              clearInterval(timer);
+              resolve3();
+            });
+          });
         });
-        if (!constants_js_1.terminalStates.includes(status)) {
-          const intervalInMs = getPollingInterval === null || getPollingInterval === void 0 ? void 0 : getPollingInterval(response);
-          if (intervalInMs)
-            setDelay(intervalInMs);
-          const location = getOperationLocation === null || getOperationLocation === void 0 ? void 0 : getOperationLocation(response, state);
-          if (location !== void 0) {
-            const isUpdated = operationLocation !== location;
-            state.config.operationLocation = location;
-            withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(location, isUpdated);
-          } else
-            withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(operationLocation, false);
+        const maxConcurrency = (0, config_1.getConcurrency)();
+        const bufferSize = (0, config_1.getUploadChunkSize)();
+        const blobClient = new storage_blob_1.BlobClient(authenticatedUploadURL);
+        const blockBlobClient = blobClient.getBlockBlobClient();
+        core14.debug(`Uploading artifact zip to blob storage with maxConcurrency: ${maxConcurrency}, bufferSize: ${bufferSize}`);
+        const uploadCallback = (progress) => {
+          core14.info(`Uploaded bytes ${progress.loadedBytes}`);
+          uploadByteCount = progress.loadedBytes;
+          lastProgressTime = Date.now();
+        };
+        const options = {
+          blobHTTPHeaders: { blobContentType: "zip" },
+          onProgress: uploadCallback,
+          abortSignal: abortController.signal
+        };
+        let sha256Hash = void 0;
+        const uploadStream = new stream.PassThrough();
+        const hashStream = crypto2.createHash("sha256");
+        zipUploadStream.pipe(uploadStream);
+        zipUploadStream.pipe(hashStream).setEncoding("hex");
+        core14.info("Beginning upload of artifact content to blob storage");
+        try {
+          yield Promise.race([
+            blockBlobClient.uploadStream(uploadStream, bufferSize, maxConcurrency, options),
+            chunkTimer((0, config_1.getUploadChunkTimeout)())
+          ]);
+        } catch (error3) {
+          if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) {
+            throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code);
+          }
+          throw error3;
+        } finally {
+          abortController.abort();
         }
-        updateState === null || updateState === void 0 ? void 0 : updateState(state, response);
-      }
+        core14.info("Finished uploading artifact content to blob storage!");
+        hashStream.end();
+        sha256Hash = hashStream.read();
+        core14.info(`SHA256 digest of uploaded artifact zip is ${sha256Hash}`);
+        if (uploadByteCount === 0) {
+          core14.warning(`No data was uploaded to blob storage. Reported upload byte count is 0.`);
+        }
+        return {
+          uploadSize: uploadByteCount,
+          sha256Hash
+        };
+      });
     }
-    exports2.pollOperation = pollOperation;
+    exports2.uploadZipToBlobStorage = uploadZipToBlobStorage;
   }
 });
 
-// node_modules/@azure/core-lro/dist/commonjs/http/operation.js
-var require_operation2 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/http/operation.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.pollHttpOperation = exports2.isOperationError = exports2.getResourceLocation = exports2.getOperationStatus = exports2.getOperationLocation = exports2.initHttpOperation = exports2.getStatusFromInitialResponse = exports2.getErrorFromResponse = exports2.parseRetryAfter = exports2.inferLroMode = void 0;
-    var operation_js_1 = require_operation();
-    var logger_js_1 = require_logger2();
-    function getOperationLocationPollingUrl(inputs) {
-      const { azureAsyncOperation, operationLocation } = inputs;
-      return operationLocation !== null && operationLocation !== void 0 ? operationLocation : azureAsyncOperation;
+// node_modules/readdir-glob/node_modules/minimatch/lib/path.js
+var require_path = __commonJS({
+  "node_modules/readdir-glob/node_modules/minimatch/lib/path.js"(exports2, module2) {
+    var isWindows = typeof process === "object" && process && process.platform === "win32";
+    module2.exports = isWindows ? { sep: "\\" } : { sep: "/" };
+  }
+});
+
+// node_modules/readdir-glob/node_modules/brace-expansion/index.js
+var require_brace_expansion2 = __commonJS({
+  "node_modules/readdir-glob/node_modules/brace-expansion/index.js"(exports2, module2) {
+    var balanced = require_balanced_match();
+    module2.exports = expandTop;
+    var escSlash = "\0SLASH" + Math.random() + "\0";
+    var escOpen = "\0OPEN" + Math.random() + "\0";
+    var escClose = "\0CLOSE" + Math.random() + "\0";
+    var escComma = "\0COMMA" + Math.random() + "\0";
+    var escPeriod = "\0PERIOD" + Math.random() + "\0";
+    function numeric(str2) {
+      return parseInt(str2, 10) == str2 ? parseInt(str2, 10) : str2.charCodeAt(0);
     }
-    function getLocationHeader(rawResponse) {
-      return rawResponse.headers["location"];
+    function escapeBraces(str2) {
+      return str2.split("\\\\").join(escSlash).split("\\{").join(escOpen).split("\\}").join(escClose).split("\\,").join(escComma).split("\\.").join(escPeriod);
     }
-    function getOperationLocationHeader(rawResponse) {
-      return rawResponse.headers["operation-location"];
+    function unescapeBraces(str2) {
+      return str2.split(escSlash).join("\\").split(escOpen).join("{").split(escClose).join("}").split(escComma).join(",").split(escPeriod).join(".");
     }
-    function getAzureAsyncOperationHeader(rawResponse) {
-      return rawResponse.headers["azure-asyncoperation"];
+    function parseCommaParts(str2) {
+      if (!str2)
+        return [""];
+      var parts = [];
+      var m = balanced("{", "}", str2);
+      if (!m)
+        return str2.split(",");
+      var pre = m.pre;
+      var body = m.body;
+      var post = m.post;
+      var p = pre.split(",");
+      p[p.length - 1] += "{" + body + "}";
+      var postParts = parseCommaParts(post);
+      if (post.length) {
+        p[p.length - 1] += postParts.shift();
+        p.push.apply(p, postParts);
+      }
+      parts.push.apply(parts, p);
+      return parts;
     }
-    function findResourceLocation(inputs) {
-      var _a;
-      const { location, requestMethod, requestPath, resourceLocationConfig } = inputs;
-      switch (requestMethod) {
-        case "PUT": {
-          return requestPath;
-        }
-        case "DELETE": {
-          return void 0;
+    function expandTop(str2) {
+      if (!str2)
+        return [];
+      if (str2.substr(0, 2) === "{}") {
+        str2 = "\\{\\}" + str2.substr(2);
+      }
+      return expand2(escapeBraces(str2), true).map(unescapeBraces);
+    }
+    function embrace(str2) {
+      return "{" + str2 + "}";
+    }
+    function isPadded(el) {
+      return /^-?0\d/.test(el);
+    }
+    function lte(i, y) {
+      return i <= y;
+    }
+    function gte6(i, y) {
+      return i >= y;
+    }
+    function expand2(str2, isTop) {
+      var expansions = [];
+      var m = balanced("{", "}", str2);
+      if (!m) return [str2];
+      var pre = m.pre;
+      var post = m.post.length ? expand2(m.post, false) : [""];
+      if (/\$$/.test(m.pre)) {
+        for (var k = 0; k < post.length; k++) {
+          var expansion = pre + "{" + m.body + "}" + post[k];
+          expansions.push(expansion);
         }
-        case "PATCH": {
-          return (_a = getDefault()) !== null && _a !== void 0 ? _a : requestPath;
+      } else {
+        var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
+        var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
+        var isSequence = isNumericSequence || isAlphaSequence;
+        var isOptions = m.body.indexOf(",") >= 0;
+        if (!isSequence && !isOptions) {
+          if (m.post.match(/,(?!,).*\}/)) {
+            str2 = m.pre + "{" + m.body + escClose + m.post;
+            return expand2(str2);
+          }
+          return [str2];
         }
-        default: {
-          return getDefault();
+        var n;
+        if (isSequence) {
+          n = m.body.split(/\.\./);
+        } else {
+          n = parseCommaParts(m.body);
+          if (n.length === 1) {
+            n = expand2(n[0], false).map(embrace);
+            if (n.length === 1) {
+              return post.map(function(p) {
+                return m.pre + n[0] + p;
+              });
+            }
+          }
         }
-      }
-      function getDefault() {
-        switch (resourceLocationConfig) {
-          case "azure-async-operation": {
-            return void 0;
+        var N;
+        if (isSequence) {
+          var x = numeric(n[0]);
+          var y = numeric(n[1]);
+          var width = Math.max(n[0].length, n[1].length);
+          var incr = n.length == 3 ? Math.abs(numeric(n[2])) : 1;
+          var test = lte;
+          var reverse = y < x;
+          if (reverse) {
+            incr *= -1;
+            test = gte6;
           }
-          case "original-uri": {
-            return requestPath;
+          var pad = n.some(isPadded);
+          N = [];
+          for (var i = x; test(i, y); i += incr) {
+            var c;
+            if (isAlphaSequence) {
+              c = String.fromCharCode(i);
+              if (c === "\\")
+                c = "";
+            } else {
+              c = String(i);
+              if (pad) {
+                var need = width - c.length;
+                if (need > 0) {
+                  var z = new Array(need + 1).join("0");
+                  if (i < 0)
+                    c = "-" + z + c.slice(1);
+                  else
+                    c = z + c;
+                }
+              }
+            }
+            N.push(c);
           }
-          case "location":
-          default: {
-            return location;
+        } else {
+          N = [];
+          for (var j = 0; j < n.length; j++) {
+            N.push.apply(N, expand2(n[j], false));
+          }
+        }
+        for (var j = 0; j < N.length; j++) {
+          for (var k = 0; k < post.length; k++) {
+            var expansion = pre + N[j] + post[k];
+            if (!isTop || isSequence || expansion)
+              expansions.push(expansion);
           }
         }
       }
+      return expansions;
     }
-    function inferLroMode(inputs) {
-      const { rawResponse, requestMethod, requestPath, resourceLocationConfig } = inputs;
-      const operationLocation = getOperationLocationHeader(rawResponse);
-      const azureAsyncOperation = getAzureAsyncOperationHeader(rawResponse);
-      const pollingUrl = getOperationLocationPollingUrl({ operationLocation, azureAsyncOperation });
-      const location = getLocationHeader(rawResponse);
-      const normalizedRequestMethod = requestMethod === null || requestMethod === void 0 ? void 0 : requestMethod.toLocaleUpperCase();
-      if (pollingUrl !== void 0) {
-        return {
-          mode: "OperationLocation",
-          operationLocation: pollingUrl,
-          resourceLocation: findResourceLocation({
-            requestMethod: normalizedRequestMethod,
-            location,
-            requestPath,
-            resourceLocationConfig
-          })
-        };
-      } else if (location !== void 0) {
-        return {
-          mode: "ResourceLocation",
-          operationLocation: location
-        };
-      } else if (normalizedRequestMethod === "PUT" && requestPath) {
-        return {
-          mode: "Body",
-          operationLocation: requestPath
-        };
-      } else {
-        return void 0;
+  }
+});
+
+// node_modules/readdir-glob/node_modules/minimatch/minimatch.js
+var require_minimatch2 = __commonJS({
+  "node_modules/readdir-glob/node_modules/minimatch/minimatch.js"(exports2, module2) {
+    var minimatch = module2.exports = (p, pattern, options = {}) => {
+      assertValidPattern(pattern);
+      if (!options.nocomment && pattern.charAt(0) === "#") {
+        return false;
       }
-    }
-    exports2.inferLroMode = inferLroMode;
-    function transformStatus(inputs) {
-      const { status, statusCode } = inputs;
-      if (typeof status !== "string" && status !== void 0) {
-        throw new Error(`Polling was unsuccessful. Expected status to have a string value or no value but it has instead: ${status}. This doesn't necessarily indicate the operation has failed. Check your Azure subscription or resource status for more information.`);
+      return new Minimatch(pattern, options).match(p);
+    };
+    module2.exports = minimatch;
+    var path4 = require_path();
+    minimatch.sep = path4.sep;
+    var GLOBSTAR = /* @__PURE__ */ Symbol("globstar **");
+    minimatch.GLOBSTAR = GLOBSTAR;
+    var expand2 = require_brace_expansion2();
+    var plTypes = {
+      "!": { open: "(?:(?!(?:", close: "))[^/]*?)" },
+      "?": { open: "(?:", close: ")?" },
+      "+": { open: "(?:", close: ")+" },
+      "*": { open: "(?:", close: ")*" },
+      "@": { open: "(?:", close: ")" }
+    };
+    var qmark = "[^/]";
+    var star = qmark + "*?";
+    var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
+    var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
+    var charSet = (s) => s.split("").reduce((set2, c) => {
+      set2[c] = true;
+      return set2;
+    }, {});
+    var reSpecials = charSet("().*{}+?[]^$\\!");
+    var addPatternStartSet = charSet("[.(");
+    var slashSplit = /\/+/;
+    minimatch.filter = (pattern, options = {}) => (p, i, list) => minimatch(p, pattern, options);
+    var ext = (a, b = {}) => {
+      const t = {};
+      Object.keys(a).forEach((k) => t[k] = a[k]);
+      Object.keys(b).forEach((k) => t[k] = b[k]);
+      return t;
+    };
+    minimatch.defaults = (def) => {
+      if (!def || typeof def !== "object" || !Object.keys(def).length) {
+        return minimatch;
       }
-      switch (status === null || status === void 0 ? void 0 : status.toLocaleLowerCase()) {
-        case void 0:
-          return toOperationStatus(statusCode);
-        case "succeeded":
-          return "succeeded";
-        case "failed":
-          return "failed";
-        case "running":
-        case "accepted":
-        case "started":
-        case "canceling":
-        case "cancelling":
-          return "running";
-        case "canceled":
-        case "cancelled":
-          return "canceled";
-        default: {
-          logger_js_1.logger.verbose(`LRO: unrecognized operation status: ${status}`);
-          return status;
+      const orig = minimatch;
+      const m = (p, pattern, options) => orig(p, pattern, ext(def, options));
+      m.Minimatch = class Minimatch extends orig.Minimatch {
+        constructor(pattern, options) {
+          super(pattern, ext(def, options));
         }
+      };
+      m.Minimatch.defaults = (options) => orig.defaults(ext(def, options)).Minimatch;
+      m.filter = (pattern, options) => orig.filter(pattern, ext(def, options));
+      m.defaults = (options) => orig.defaults(ext(def, options));
+      m.makeRe = (pattern, options) => orig.makeRe(pattern, ext(def, options));
+      m.braceExpand = (pattern, options) => orig.braceExpand(pattern, ext(def, options));
+      m.match = (list, pattern, options) => orig.match(list, pattern, ext(def, options));
+      return m;
+    };
+    minimatch.braceExpand = (pattern, options) => braceExpand(pattern, options);
+    var braceExpand = (pattern, options = {}) => {
+      assertValidPattern(pattern);
+      if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
+        return [pattern];
       }
-    }
-    function getStatus(rawResponse) {
-      var _a;
-      const { status } = (_a = rawResponse.body) !== null && _a !== void 0 ? _a : {};
-      return transformStatus({ status, statusCode: rawResponse.statusCode });
-    }
-    function getProvisioningState(rawResponse) {
-      var _a, _b;
-      const { properties, provisioningState } = (_a = rawResponse.body) !== null && _a !== void 0 ? _a : {};
-      const status = (_b = properties === null || properties === void 0 ? void 0 : properties.provisioningState) !== null && _b !== void 0 ? _b : provisioningState;
-      return transformStatus({ status, statusCode: rawResponse.statusCode });
-    }
-    function toOperationStatus(statusCode) {
-      if (statusCode === 202) {
-        return "running";
-      } else if (statusCode < 300) {
-        return "succeeded";
-      } else {
-        return "failed";
-      }
-    }
-    function parseRetryAfter({ rawResponse }) {
-      const retryAfter = rawResponse.headers["retry-after"];
-      if (retryAfter !== void 0) {
-        const retryAfterInSeconds = parseInt(retryAfter);
-        return isNaN(retryAfterInSeconds) ? calculatePollingIntervalFromDate(new Date(retryAfter)) : retryAfterInSeconds * 1e3;
-      }
-      return void 0;
-    }
-    exports2.parseRetryAfter = parseRetryAfter;
-    function getErrorFromResponse(response) {
-      const error3 = accessBodyProperty(response, "error");
-      if (!error3) {
-        logger_js_1.logger.warning(`The long-running operation failed but there is no error property in the response's body`);
-        return;
+      return expand2(pattern);
+    };
+    var MAX_PATTERN_LENGTH = 1024 * 64;
+    var assertValidPattern = (pattern) => {
+      if (typeof pattern !== "string") {
+        throw new TypeError("invalid pattern");
       }
-      if (!error3.code || !error3.message) {
-        logger_js_1.logger.warning(`The long-running operation failed but the error property in the response's body doesn't contain code or message`);
-        return;
+      if (pattern.length > MAX_PATTERN_LENGTH) {
+        throw new TypeError("pattern is too long");
       }
-      return error3;
-    }
-    exports2.getErrorFromResponse = getErrorFromResponse;
-    function calculatePollingIntervalFromDate(retryAfterDate) {
-      const timeNow = Math.floor((/* @__PURE__ */ new Date()).getTime());
-      const retryAfterTime = retryAfterDate.getTime();
-      if (timeNow < retryAfterTime) {
-        return retryAfterTime - timeNow;
+    };
+    var SUBPARSE = /* @__PURE__ */ Symbol("subparse");
+    minimatch.makeRe = (pattern, options) => new Minimatch(pattern, options || {}).makeRe();
+    minimatch.match = (list, pattern, options = {}) => {
+      const mm = new Minimatch(pattern, options);
+      list = list.filter((f) => mm.match(f));
+      if (mm.options.nonull && !list.length) {
+        list.push(pattern);
       }
-      return void 0;
-    }
-    function getStatusFromInitialResponse(inputs) {
-      const { response, state, operationLocation } = inputs;
-      function helper() {
-        var _a;
-        const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"];
-        switch (mode) {
-          case void 0:
-            return toOperationStatus(response.rawResponse.statusCode);
-          case "Body":
-            return getOperationStatus(response, state);
-          default:
-            return "running";
+      return list;
+    };
+    var globUnescape = (s) => s.replace(/\\(.)/g, "$1");
+    var charUnescape = (s) => s.replace(/\\([^-\]])/g, "$1");
+    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
+    var braExpEscape = (s) => s.replace(/[[\]\\]/g, "\\$&");
+    var Minimatch = class {
+      constructor(pattern, options) {
+        assertValidPattern(pattern);
+        if (!options) options = {};
+        this.options = options;
+        this.set = [];
+        this.pattern = pattern;
+        this.windowsPathsNoEscape = !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;
+        if (this.windowsPathsNoEscape) {
+          this.pattern = this.pattern.replace(/\\/g, "/");
         }
+        this.regexp = null;
+        this.negate = false;
+        this.comment = false;
+        this.empty = false;
+        this.partial = !!options.partial;
+        this.make();
       }
-      const status = helper();
-      return status === "running" && operationLocation === void 0 ? "succeeded" : status;
-    }
-    exports2.getStatusFromInitialResponse = getStatusFromInitialResponse;
-    async function initHttpOperation(inputs) {
-      const { stateProxy, resourceLocationConfig, processResult, lro, setErrorAsResult } = inputs;
-      return (0, operation_js_1.initOperation)({
-        init: async () => {
-          const response = await lro.sendInitialRequest();
-          const config = inferLroMode({
-            rawResponse: response.rawResponse,
-            requestPath: lro.requestPath,
-            requestMethod: lro.requestMethod,
-            resourceLocationConfig
-          });
-          return Object.assign({ response, operationLocation: config === null || config === void 0 ? void 0 : config.operationLocation, resourceLocation: config === null || config === void 0 ? void 0 : config.resourceLocation }, (config === null || config === void 0 ? void 0 : config.mode) ? { metadata: { mode: config.mode } } : {});
-        },
-        stateProxy,
-        processResult: processResult ? ({ flatResponse }, state) => processResult(flatResponse, state) : ({ flatResponse }) => flatResponse,
-        getOperationStatus: getStatusFromInitialResponse,
-        setErrorAsResult
-      });
-    }
-    exports2.initHttpOperation = initHttpOperation;
-    function getOperationLocation({ rawResponse }, state) {
-      var _a;
-      const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"];
-      switch (mode) {
-        case "OperationLocation": {
-          return getOperationLocationPollingUrl({
-            operationLocation: getOperationLocationHeader(rawResponse),
-            azureAsyncOperation: getAzureAsyncOperationHeader(rawResponse)
-          });
-        }
-        case "ResourceLocation": {
-          return getLocationHeader(rawResponse);
+      debug() {
+      }
+      make() {
+        const pattern = this.pattern;
+        const options = this.options;
+        if (!options.nocomment && pattern.charAt(0) === "#") {
+          this.comment = true;
+          return;
         }
-        case "Body":
-        default: {
-          return void 0;
+        if (!pattern) {
+          this.empty = true;
+          return;
         }
+        this.parseNegate();
+        let set2 = this.globSet = this.braceExpand();
+        if (options.debug) this.debug = (...args) => console.error(...args);
+        this.debug(this.pattern, set2);
+        set2 = this.globParts = set2.map((s) => s.split(slashSplit));
+        this.debug(this.pattern, set2);
+        set2 = set2.map((s, si, set3) => s.map(this.parse, this));
+        this.debug(this.pattern, set2);
+        set2 = set2.filter((s) => s.indexOf(false) === -1);
+        this.debug(this.pattern, set2);
+        this.set = set2;
       }
-    }
-    exports2.getOperationLocation = getOperationLocation;
-    function getOperationStatus({ rawResponse }, state) {
-      var _a;
-      const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"];
-      switch (mode) {
-        case "OperationLocation": {
-          return getStatus(rawResponse);
+      parseNegate() {
+        if (this.options.nonegate) return;
+        const pattern = this.pattern;
+        let negate = false;
+        let negateOffset = 0;
+        for (let i = 0; i < pattern.length && pattern.charAt(i) === "!"; i++) {
+          negate = !negate;
+          negateOffset++;
         }
-        case "ResourceLocation": {
-          return toOperationStatus(rawResponse.statusCode);
+        if (negateOffset) this.pattern = pattern.slice(negateOffset);
+        this.negate = negate;
+      }
+      // set partial to true to test if, for example,
+      // "/a/b" matches the start of "/*/b/*/d"
+      // Partial means, if you run out of file before you run
+      // out of pattern, then that's fine, as long as all
+      // the parts match.
+      matchOne(file, pattern, partial) {
+        var options = this.options;
+        this.debug(
+          "matchOne",
+          { "this": this, file, pattern }
+        );
+        this.debug("matchOne", file.length, pattern.length);
+        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
+          this.debug("matchOne loop");
+          var p = pattern[pi];
+          var f = file[fi];
+          this.debug(pattern, p, f);
+          if (p === false) return false;
+          if (p === GLOBSTAR) {
+            this.debug("GLOBSTAR", [pattern, p, f]);
+            var fr = fi;
+            var pr = pi + 1;
+            if (pr === pl) {
+              this.debug("** at the end");
+              for (; fi < fl; fi++) {
+                if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".") return false;
+              }
+              return true;
+            }
+            while (fr < fl) {
+              var swallowee = file[fr];
+              this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
+              if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
+                this.debug("globstar found match!", fr, fl, swallowee);
+                return true;
+              } else {
+                if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
+                  this.debug("dot detected!", file, fr, pattern, pr);
+                  break;
+                }
+                this.debug("globstar swallow a segment, and continue");
+                fr++;
+              }
+            }
+            if (partial) {
+              this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
+              if (fr === fl) return true;
+            }
+            return false;
+          }
+          var hit;
+          if (typeof p === "string") {
+            hit = f === p;
+            this.debug("string match", p, f, hit);
+          } else {
+            hit = f.match(p);
+            this.debug("pattern match", p, f, hit);
+          }
+          if (!hit) return false;
         }
-        case "Body": {
-          return getProvisioningState(rawResponse);
+        if (fi === fl && pi === pl) {
+          return true;
+        } else if (fi === fl) {
+          return partial;
+        } else if (pi === pl) {
+          return fi === fl - 1 && file[fi] === "";
         }
-        default:
-          throw new Error(`Internal error: Unexpected operation mode: ${mode}`);
+        throw new Error("wtf?");
       }
-    }
-    exports2.getOperationStatus = getOperationStatus;
-    function accessBodyProperty({ flatResponse, rawResponse }, prop) {
-      var _a, _b;
-      return (_a = flatResponse === null || flatResponse === void 0 ? void 0 : flatResponse[prop]) !== null && _a !== void 0 ? _a : (_b = rawResponse.body) === null || _b === void 0 ? void 0 : _b[prop];
-    }
-    function getResourceLocation(res, state) {
-      const loc = accessBodyProperty(res, "resourceLocation");
-      if (loc && typeof loc === "string") {
-        state.config.resourceLocation = loc;
+      braceExpand() {
+        return braceExpand(this.pattern, this.options);
       }
-      return state.config.resourceLocation;
-    }
-    exports2.getResourceLocation = getResourceLocation;
-    function isOperationError(e) {
-      return e.name === "RestError";
-    }
-    exports2.isOperationError = isOperationError;
-    async function pollHttpOperation(inputs) {
-      const { lro, stateProxy, options, processResult, updateState, setDelay, state, setErrorAsResult } = inputs;
-      return (0, operation_js_1.pollOperation)({
-        state,
-        stateProxy,
-        setDelay,
-        processResult: processResult ? ({ flatResponse }, inputState) => processResult(flatResponse, inputState) : ({ flatResponse }) => flatResponse,
-        getError: getErrorFromResponse,
-        updateState,
-        getPollingInterval: parseRetryAfter,
-        getOperationLocation,
-        getOperationStatus,
-        isOperationError,
-        getResourceLocation,
-        options,
-        /**
-         * The expansion here is intentional because `lro` could be an object that
-         * references an inner this, so we need to preserve a reference to it.
-         */
-        poll: async (location, inputOptions) => lro.sendPollRequest(location, inputOptions),
-        setErrorAsResult
-      });
-    }
-    exports2.pollHttpOperation = pollHttpOperation;
-  }
-});
-
-// node_modules/@azure/core-lro/dist/commonjs/poller/poller.js
-var require_poller = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/poller/poller.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.buildCreatePoller = void 0;
-    var operation_js_1 = require_operation();
-    var constants_js_1 = require_constants17();
-    var core_util_1 = require_commonjs4();
-    var createStateProxy = () => ({
-      /**
-       * The state at this point is created to be of type OperationState.
-       * It will be updated later to be of type TState when the
-       * customer-provided callback, `updateState`, is called during polling.
-       */
-      initState: (config) => ({ status: "running", config }),
-      setCanceled: (state) => state.status = "canceled",
-      setError: (state, error3) => state.error = error3,
-      setResult: (state, result) => state.result = result,
-      setRunning: (state) => state.status = "running",
-      setSucceeded: (state) => state.status = "succeeded",
-      setFailed: (state) => state.status = "failed",
-      getError: (state) => state.error,
-      getResult: (state) => state.result,
-      isCanceled: (state) => state.status === "canceled",
-      isFailed: (state) => state.status === "failed",
-      isRunning: (state) => state.status === "running",
-      isSucceeded: (state) => state.status === "succeeded"
-    });
-    function buildCreatePoller(inputs) {
-      const { getOperationLocation, getStatusFromInitialResponse, getStatusFromPollResponse, isOperationError, getResourceLocation, getPollingInterval, getError, resolveOnUnsuccessful } = inputs;
-      return async ({ init, poll }, options) => {
-        const { processResult, updateState, withOperationLocation: withOperationLocationCallback, intervalInMs = constants_js_1.POLL_INTERVAL_IN_MS, restoreFrom } = options || {};
-        const stateProxy = createStateProxy();
-        const withOperationLocation = withOperationLocationCallback ? /* @__PURE__ */ (() => {
-          let called = false;
-          return (operationLocation, isUpdated) => {
-            if (isUpdated)
-              withOperationLocationCallback(operationLocation);
-            else if (!called)
-              withOperationLocationCallback(operationLocation);
-            called = true;
-          };
-        })() : void 0;
-        const state = restoreFrom ? (0, operation_js_1.deserializeState)(restoreFrom) : await (0, operation_js_1.initOperation)({
-          init,
-          stateProxy,
-          processResult,
-          getOperationStatus: getStatusFromInitialResponse,
-          withOperationLocation,
-          setErrorAsResult: !resolveOnUnsuccessful
-        });
-        let resultPromise;
-        const abortController = new AbortController();
-        const handlers = /* @__PURE__ */ new Map();
-        const handleProgressEvents = async () => handlers.forEach((h) => h(state));
-        const cancelErrMsg = "Operation was canceled";
-        let currentPollIntervalInMs = intervalInMs;
-        const poller = {
-          getOperationState: () => state,
-          getResult: () => state.result,
-          isDone: () => ["succeeded", "failed", "canceled"].includes(state.status),
-          isStopped: () => resultPromise === void 0,
-          stopPolling: () => {
-            abortController.abort();
-          },
-          toString: () => JSON.stringify({
-            state
-          }),
-          onProgress: (callback) => {
-            const s = /* @__PURE__ */ Symbol();
-            handlers.set(s, callback);
-            return () => handlers.delete(s);
-          },
-          pollUntilDone: (pollOptions) => resultPromise !== null && resultPromise !== void 0 ? resultPromise : resultPromise = (async () => {
-            const { abortSignal: inputAbortSignal } = pollOptions || {};
-            function abortListener() {
-              abortController.abort();
+      parse(pattern, isSub) {
+        assertValidPattern(pattern);
+        const options = this.options;
+        if (pattern === "**") {
+          if (!options.noglobstar)
+            return GLOBSTAR;
+          else
+            pattern = "*";
+        }
+        if (pattern === "") return "";
+        let re = "";
+        let hasMagic = false;
+        let escaping = false;
+        const patternListStack = [];
+        const negativeLists = [];
+        let stateChar;
+        let inClass = false;
+        let reClassStart = -1;
+        let classStart = -1;
+        let cs;
+        let pl;
+        let sp;
+        let dotTravAllowed = pattern.charAt(0) === ".";
+        let dotFileAllowed = options.dot || dotTravAllowed;
+        const patternStart = () => dotTravAllowed ? "" : dotFileAllowed ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)";
+        const subPatternStart = (p) => p.charAt(0) === "." ? "" : options.dot ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)";
+        const clearStateChar = () => {
+          if (stateChar) {
+            switch (stateChar) {
+              case "*":
+                re += star;
+                hasMagic = true;
+                break;
+              case "?":
+                re += qmark;
+                hasMagic = true;
+                break;
+              default:
+                re += "\\" + stateChar;
+                break;
             }
-            const abortSignal = abortController.signal;
-            if (inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.aborted) {
-              abortController.abort();
-            } else if (!abortSignal.aborted) {
-              inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.addEventListener("abort", abortListener, { once: true });
+            this.debug("clearStateChar %j %j", stateChar, re);
+            stateChar = false;
+          }
+        };
+        for (let i = 0, c; i < pattern.length && (c = pattern.charAt(i)); i++) {
+          this.debug("%s	%s %s %j", pattern, i, re, c);
+          if (escaping) {
+            if (c === "/") {
+              return false;
             }
-            try {
-              if (!poller.isDone()) {
-                await poller.poll({ abortSignal });
-                while (!poller.isDone()) {
-                  await (0, core_util_1.delay)(currentPollIntervalInMs, { abortSignal });
-                  await poller.poll({ abortSignal });
-                }
-              }
-            } finally {
-              inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.removeEventListener("abort", abortListener);
+            if (reSpecials[c]) {
+              re += "\\";
             }
-            if (resolveOnUnsuccessful) {
-              return poller.getResult();
-            } else {
-              switch (state.status) {
-                case "succeeded":
-                  return poller.getResult();
-                case "canceled":
-                  throw new Error(cancelErrMsg);
-                case "failed":
-                  throw state.error;
-                case "notStarted":
-                case "running":
-                  throw new Error(`Polling completed without succeeding or failing`);
+            re += c;
+            escaping = false;
+            continue;
+          }
+          switch (c) {
+            /* istanbul ignore next */
+            case "/": {
+              return false;
+            }
+            case "\\":
+              if (inClass && pattern.charAt(i + 1) === "-") {
+                re += c;
+                continue;
+              }
+              clearStateChar();
+              escaping = true;
+              continue;
+            // the various stateChar values
+            // for the "extglob" stuff.
+            case "?":
+            case "*":
+            case "+":
+            case "@":
+            case "!":
+              this.debug("%s	%s %s %j <-- stateChar", pattern, i, re, c);
+              if (inClass) {
+                this.debug("  in class");
+                if (c === "!" && i === classStart + 1) c = "^";
+                re += c;
+                continue;
+              }
+              this.debug("call clearStateChar %j", stateChar);
+              clearStateChar();
+              stateChar = c;
+              if (options.noext) clearStateChar();
+              continue;
+            case "(": {
+              if (inClass) {
+                re += "(";
+                continue;
+              }
+              if (!stateChar) {
+                re += "\\(";
+                continue;
+              }
+              const plEntry = {
+                type: stateChar,
+                start: i - 1,
+                reStart: re.length,
+                open: plTypes[stateChar].open,
+                close: plTypes[stateChar].close
+              };
+              this.debug(this.pattern, "	", plEntry);
+              patternListStack.push(plEntry);
+              re += plEntry.open;
+              if (plEntry.start === 0 && plEntry.type !== "!") {
+                dotTravAllowed = true;
+                re += subPatternStart(pattern.slice(i + 1));
               }
+              this.debug("plType %j %j", stateChar, re);
+              stateChar = false;
+              continue;
             }
-          })().finally(() => {
-            resultPromise = void 0;
-          }),
-          async poll(pollOptions) {
-            if (resolveOnUnsuccessful) {
-              if (poller.isDone())
-                return;
-            } else {
-              switch (state.status) {
-                case "succeeded":
-                  return;
-                case "canceled":
-                  throw new Error(cancelErrMsg);
-                case "failed":
-                  throw state.error;
+            case ")": {
+              const plEntry = patternListStack[patternListStack.length - 1];
+              if (inClass || !plEntry) {
+                re += "\\)";
+                continue;
+              }
+              patternListStack.pop();
+              clearStateChar();
+              hasMagic = true;
+              pl = plEntry;
+              re += pl.close;
+              if (pl.type === "!") {
+                negativeLists.push(Object.assign(pl, { reEnd: re.length }));
               }
+              continue;
             }
-            await (0, operation_js_1.pollOperation)({
-              poll,
-              state,
-              stateProxy,
-              getOperationLocation,
-              isOperationError,
-              withOperationLocation,
-              getPollingInterval,
-              getOperationStatus: getStatusFromPollResponse,
-              getResourceLocation,
-              processResult,
-              getError,
-              updateState,
-              options: pollOptions,
-              setDelay: (pollIntervalInMs) => {
-                currentPollIntervalInMs = pollIntervalInMs;
-              },
-              setErrorAsResult: !resolveOnUnsuccessful
-            });
-            await handleProgressEvents();
-            if (!resolveOnUnsuccessful) {
-              switch (state.status) {
-                case "canceled":
-                  throw new Error(cancelErrMsg);
-                case "failed":
-                  throw state.error;
+            case "|": {
+              const plEntry = patternListStack[patternListStack.length - 1];
+              if (inClass || !plEntry) {
+                re += "\\|";
+                continue;
+              }
+              clearStateChar();
+              re += "|";
+              if (plEntry.start === 0 && plEntry.type !== "!") {
+                dotTravAllowed = true;
+                re += subPatternStart(pattern.slice(i + 1));
               }
+              continue;
             }
+            // these are mostly the same in regexp and glob
+            case "[":
+              clearStateChar();
+              if (inClass) {
+                re += "\\" + c;
+                continue;
+              }
+              inClass = true;
+              classStart = i;
+              reClassStart = re.length;
+              re += c;
+              continue;
+            case "]":
+              if (i === classStart + 1 || !inClass) {
+                re += "\\" + c;
+                continue;
+              }
+              cs = pattern.substring(classStart + 1, i);
+              try {
+                RegExp("[" + braExpEscape(charUnescape(cs)) + "]");
+                re += c;
+              } catch (er) {
+                re = re.substring(0, reClassStart) + "(?:$.)";
+              }
+              hasMagic = true;
+              inClass = false;
+              continue;
+            default:
+              clearStateChar();
+              if (reSpecials[c] && !(c === "^" && inClass)) {
+                re += "\\";
+              }
+              re += c;
+              break;
           }
-        };
-        return poller;
-      };
-    }
-    exports2.buildCreatePoller = buildCreatePoller;
-  }
-});
-
-// node_modules/@azure/core-lro/dist/commonjs/http/poller.js
-var require_poller2 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/http/poller.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createHttpPoller = void 0;
-    var operation_js_1 = require_operation2();
-    var poller_js_1 = require_poller();
-    async function createHttpPoller(lro, options) {
-      const { resourceLocationConfig, intervalInMs, processResult, restoreFrom, updateState, withOperationLocation, resolveOnUnsuccessful = false } = options || {};
-      return (0, poller_js_1.buildCreatePoller)({
-        getStatusFromInitialResponse: operation_js_1.getStatusFromInitialResponse,
-        getStatusFromPollResponse: operation_js_1.getOperationStatus,
-        isOperationError: operation_js_1.isOperationError,
-        getOperationLocation: operation_js_1.getOperationLocation,
-        getResourceLocation: operation_js_1.getResourceLocation,
-        getPollingInterval: operation_js_1.parseRetryAfter,
-        getError: operation_js_1.getErrorFromResponse,
-        resolveOnUnsuccessful
-      })({
-        init: async () => {
-          const response = await lro.sendInitialRequest();
-          const config = (0, operation_js_1.inferLroMode)({
-            rawResponse: response.rawResponse,
-            requestPath: lro.requestPath,
-            requestMethod: lro.requestMethod,
-            resourceLocationConfig
+        }
+        if (inClass) {
+          cs = pattern.slice(classStart + 1);
+          sp = this.parse(cs, SUBPARSE);
+          re = re.substring(0, reClassStart) + "\\[" + sp[0];
+          hasMagic = hasMagic || sp[1];
+        }
+        for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {
+          let tail;
+          tail = re.slice(pl.reStart + pl.open.length);
+          this.debug("setting tail", re, pl);
+          tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, (_2, $1, $2) => {
+            if (!$2) {
+              $2 = "\\";
+            }
+            return $1 + $1 + $2 + "|";
+          });
+          this.debug("tail=%j\n   %s", tail, tail, pl, re);
+          const t = pl.type === "*" ? star : pl.type === "?" ? qmark : "\\" + pl.type;
+          hasMagic = true;
+          re = re.slice(0, pl.reStart) + t + "\\(" + tail;
+        }
+        clearStateChar();
+        if (escaping) {
+          re += "\\\\";
+        }
+        const addPatternStart = addPatternStartSet[re.charAt(0)];
+        for (let n = negativeLists.length - 1; n > -1; n--) {
+          const nl = negativeLists[n];
+          const nlBefore = re.slice(0, nl.reStart);
+          const nlFirst = re.slice(nl.reStart, nl.reEnd - 8);
+          let nlAfter = re.slice(nl.reEnd);
+          const nlLast = re.slice(nl.reEnd - 8, nl.reEnd) + nlAfter;
+          const closeParensBefore = nlBefore.split(")").length;
+          const openParensBefore = nlBefore.split("(").length - closeParensBefore;
+          let cleanAfter = nlAfter;
+          for (let i = 0; i < openParensBefore; i++) {
+            cleanAfter = cleanAfter.replace(/\)[+*?]?/, "");
+          }
+          nlAfter = cleanAfter;
+          const dollar = nlAfter === "" && isSub !== SUBPARSE ? "(?:$|\\/)" : "";
+          re = nlBefore + nlFirst + nlAfter + dollar + nlLast;
+        }
+        if (re !== "" && hasMagic) {
+          re = "(?=.)" + re;
+        }
+        if (addPatternStart) {
+          re = patternStart() + re;
+        }
+        if (isSub === SUBPARSE) {
+          return [re, hasMagic];
+        }
+        if (options.nocase && !hasMagic) {
+          hasMagic = pattern.toUpperCase() !== pattern.toLowerCase();
+        }
+        if (!hasMagic) {
+          return globUnescape(pattern);
+        }
+        const flags = options.nocase ? "i" : "";
+        try {
+          return Object.assign(new RegExp("^" + re + "$", flags), {
+            _glob: pattern,
+            _src: re
           });
-          return Object.assign({ response, operationLocation: config === null || config === void 0 ? void 0 : config.operationLocation, resourceLocation: config === null || config === void 0 ? void 0 : config.resourceLocation }, (config === null || config === void 0 ? void 0 : config.mode) ? { metadata: { mode: config.mode } } : {});
-        },
-        poll: lro.sendPollRequest
-      }, {
-        intervalInMs,
-        withOperationLocation,
-        restoreFrom,
-        updateState,
-        processResult: processResult ? ({ flatResponse }, state) => processResult(flatResponse, state) : ({ flatResponse }) => flatResponse
-      });
-    }
-    exports2.createHttpPoller = createHttpPoller;
-  }
-});
-
-// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/operation.js
-var require_operation3 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/operation.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.GenericPollOperation = void 0;
-    var operation_js_1 = require_operation2();
-    var logger_js_1 = require_logger2();
-    var createStateProxy = () => ({
-      initState: (config) => ({ config, isStarted: true }),
-      setCanceled: (state) => state.isCancelled = true,
-      setError: (state, error3) => state.error = error3,
-      setResult: (state, result) => state.result = result,
-      setRunning: (state) => state.isStarted = true,
-      setSucceeded: (state) => state.isCompleted = true,
-      setFailed: () => {
-      },
-      getError: (state) => state.error,
-      getResult: (state) => state.result,
-      isCanceled: (state) => !!state.isCancelled,
-      isFailed: (state) => !!state.error,
-      isRunning: (state) => !!state.isStarted,
-      isSucceeded: (state) => Boolean(state.isCompleted && !state.isCancelled && !state.error)
-    });
-    var GenericPollOperation = class {
-      constructor(state, lro, setErrorAsResult, lroResourceLocationConfig, processResult, updateState, isDone) {
-        this.state = state;
-        this.lro = lro;
-        this.setErrorAsResult = setErrorAsResult;
-        this.lroResourceLocationConfig = lroResourceLocationConfig;
-        this.processResult = processResult;
-        this.updateState = updateState;
-        this.isDone = isDone;
-      }
-      setPollerConfig(pollerConfig) {
-        this.pollerConfig = pollerConfig;
+        } catch (er) {
+          return new RegExp("$.");
+        }
       }
-      async update(options) {
-        var _a;
-        const stateProxy = createStateProxy();
-        if (!this.state.isStarted) {
-          this.state = Object.assign(Object.assign({}, this.state), await (0, operation_js_1.initHttpOperation)({
-            lro: this.lro,
-            stateProxy,
-            resourceLocationConfig: this.lroResourceLocationConfig,
-            processResult: this.processResult,
-            setErrorAsResult: this.setErrorAsResult
-          }));
+      makeRe() {
+        if (this.regexp || this.regexp === false) return this.regexp;
+        const set2 = this.set;
+        if (!set2.length) {
+          this.regexp = false;
+          return this.regexp;
         }
-        const updateState = this.updateState;
-        const isDone = this.isDone;
-        if (!this.state.isCompleted && this.state.error === void 0) {
-          await (0, operation_js_1.pollHttpOperation)({
-            lro: this.lro,
-            state: this.state,
-            stateProxy,
-            processResult: this.processResult,
-            updateState: updateState ? (state, { rawResponse }) => updateState(state, rawResponse) : void 0,
-            isDone: isDone ? ({ flatResponse }, state) => isDone(flatResponse, state) : void 0,
-            options,
-            setDelay: (intervalInMs) => {
-              this.pollerConfig.intervalInMs = intervalInMs;
-            },
-            setErrorAsResult: this.setErrorAsResult
+        const options = this.options;
+        const twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
+        const flags = options.nocase ? "i" : "";
+        let re = set2.map((pattern) => {
+          pattern = pattern.map(
+            (p) => typeof p === "string" ? regExpEscape(p) : p === GLOBSTAR ? GLOBSTAR : p._src
+          ).reduce((set3, p) => {
+            if (!(set3[set3.length - 1] === GLOBSTAR && p === GLOBSTAR)) {
+              set3.push(p);
+            }
+            return set3;
+          }, []);
+          pattern.forEach((p, i) => {
+            if (p !== GLOBSTAR || pattern[i - 1] === GLOBSTAR) {
+              return;
+            }
+            if (i === 0) {
+              if (pattern.length > 1) {
+                pattern[i + 1] = "(?:\\/|" + twoStar + "\\/)?" + pattern[i + 1];
+              } else {
+                pattern[i] = twoStar;
+              }
+            } else if (i === pattern.length - 1) {
+              pattern[i - 1] += "(?:\\/|" + twoStar + ")?";
+            } else {
+              pattern[i - 1] += "(?:\\/|\\/" + twoStar + "\\/)" + pattern[i + 1];
+              pattern[i + 1] = GLOBSTAR;
+            }
           });
+          return pattern.filter((p) => p !== GLOBSTAR).join("/");
+        }).join("|");
+        re = "^(?:" + re + ")$";
+        if (this.negate) re = "^(?!" + re + ").*$";
+        try {
+          this.regexp = new RegExp(re, flags);
+        } catch (ex) {
+          this.regexp = false;
         }
-        (_a = options === null || options === void 0 ? void 0 : options.fireProgress) === null || _a === void 0 ? void 0 : _a.call(options, this.state);
-        return this;
+        return this.regexp;
       }
-      async cancel() {
-        logger_js_1.logger.error("`cancelOperation` is deprecated because it wasn't implemented");
-        return this;
+      match(f, partial = this.partial) {
+        this.debug("match", f, this.pattern);
+        if (this.comment) return false;
+        if (this.empty) return f === "";
+        if (f === "/" && partial) return true;
+        const options = this.options;
+        if (path4.sep !== "/") {
+          f = f.split(path4.sep).join("/");
+        }
+        f = f.split(slashSplit);
+        this.debug(this.pattern, "split", f);
+        const set2 = this.set;
+        this.debug(this.pattern, "set", set2);
+        let filename;
+        for (let i = f.length - 1; i >= 0; i--) {
+          filename = f[i];
+          if (filename) break;
+        }
+        for (let i = 0; i < set2.length; i++) {
+          const pattern = set2[i];
+          let file = f;
+          if (options.matchBase && pattern.length === 1) {
+            file = [filename];
+          }
+          const hit = this.matchOne(file, pattern, partial);
+          if (hit) {
+            if (options.flipNegate) return true;
+            return !this.negate;
+          }
+        }
+        if (options.flipNegate) return false;
+        return this.negate;
       }
-      /**
-       * Serializes the Poller operation.
-       */
-      toString() {
-        return JSON.stringify({
-          state: this.state
-        });
+      static defaults(def) {
+        return minimatch.defaults(def).Minimatch;
       }
     };
-    exports2.GenericPollOperation = GenericPollOperation;
+    minimatch.Minimatch = Minimatch;
   }
 });
 
-// node_modules/@azure/core-lro/dist/commonjs/legacy/poller.js
-var require_poller3 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/legacy/poller.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Poller = exports2.PollerCancelledError = exports2.PollerStoppedError = void 0;
-    var PollerStoppedError = class _PollerStoppedError extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "PollerStoppedError";
-        Object.setPrototypeOf(this, _PollerStoppedError.prototype);
-      }
-    };
-    exports2.PollerStoppedError = PollerStoppedError;
-    var PollerCancelledError = class _PollerCancelledError extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "PollerCancelledError";
-        Object.setPrototypeOf(this, _PollerCancelledError.prototype);
-      }
-    };
-    exports2.PollerCancelledError = PollerCancelledError;
-    var Poller = class {
-      /**
-       * A poller needs to be initialized by passing in at least the basic properties of the `PollOperation`.
-       *
-       * When writing an implementation of a Poller, this implementation needs to deal with the initialization
-       * of any custom state beyond the basic definition of the poller. The basic poller assumes that the poller's
-       * operation has already been defined, at least its basic properties. The code below shows how to approach
-       * the definition of the constructor of a new custom poller.
-       *
-       * ```ts
-       * export class MyPoller extends Poller {
-       *   constructor({
-       *     // Anything you might need outside of the basics
-       *   }) {
-       *     let state: MyOperationState = {
-       *       privateProperty: private,
-       *       publicProperty: public,
-       *     };
-       *
-       *     const operation = {
-       *       state,
-       *       update,
-       *       cancel,
-       *       toString
-       *     }
-       *
-       *     // Sending the operation to the parent's constructor.
-       *     super(operation);
-       *
-       *     // You can assign more local properties here.
-       *   }
-       * }
-       * ```
-       *
-       * Inside of this constructor, a new promise is created. This will be used to
-       * tell the user when the poller finishes (see `pollUntilDone()`). The promise's
-       * resolve and reject methods are also used internally to control when to resolve
-       * or reject anyone waiting for the poller to finish.
-       *
-       * The constructor of a custom implementation of a poller is where any serialized version of
-       * a previous poller's operation should be deserialized into the operation sent to the
-       * base constructor. For example:
-       *
-       * ```ts
-       * export class MyPoller extends Poller {
-       *   constructor(
-       *     baseOperation: string | undefined
-       *   ) {
-       *     let state: MyOperationState = {};
-       *     if (baseOperation) {
-       *       state = {
-       *         ...JSON.parse(baseOperation).state,
-       *         ...state
-       *       };
-       *     }
-       *     const operation = {
-       *       state,
-       *       // ...
-       *     }
-       *     super(operation);
-       *   }
-       * }
-       * ```
-       *
-       * @param operation - Must contain the basic properties of `PollOperation`.
-       */
-      constructor(operation) {
-        this.resolveOnUnsuccessful = false;
-        this.stopped = true;
-        this.pollProgressCallbacks = [];
-        this.operation = operation;
-        this.promise = new Promise((resolve3, reject) => {
-          this.resolve = resolve3;
-          this.reject = reject;
+// node_modules/readdir-glob/index.js
+var require_readdir_glob = __commonJS({
+  "node_modules/readdir-glob/index.js"(exports2, module2) {
+    module2.exports = readdirGlob;
+    var fs3 = require("fs");
+    var { EventEmitter } = require("events");
+    var { Minimatch } = require_minimatch2();
+    var { resolve: resolve3 } = require("path");
+    function readdir(dir, strict) {
+      return new Promise((resolve4, reject) => {
+        fs3.readdir(dir, { withFileTypes: true }, (err, files) => {
+          if (err) {
+            switch (err.code) {
+              case "ENOTDIR":
+                if (strict) {
+                  reject(err);
+                } else {
+                  resolve4([]);
+                }
+                break;
+              case "ENOTSUP":
+              // Operation not supported
+              case "ENOENT":
+              // No such file or directory
+              case "ENAMETOOLONG":
+              // Filename too long
+              case "UNKNOWN":
+                resolve4([]);
+                break;
+              case "ELOOP":
+              // Too many levels of symbolic links
+              default:
+                reject(err);
+                break;
+            }
+          } else {
+            resolve4(files);
+          }
         });
-        this.promise.catch(() => {
+      });
+    }
+    function stat(file, followSymlinks) {
+      return new Promise((resolve4, reject) => {
+        const statFunc = followSymlinks ? fs3.stat : fs3.lstat;
+        statFunc(file, (err, stats) => {
+          if (err) {
+            switch (err.code) {
+              case "ENOENT":
+                if (followSymlinks) {
+                  resolve4(stat(file, false));
+                } else {
+                  resolve4(null);
+                }
+                break;
+              default:
+                resolve4(null);
+                break;
+            }
+          } else {
+            resolve4(stats);
+          }
         });
+      });
+    }
+    async function* exploreWalkAsync(dir, path4, followSymlinks, useStat, shouldSkip, strict) {
+      let files = await readdir(path4 + dir, strict);
+      for (const file of files) {
+        let name = file.name;
+        if (name === void 0) {
+          name = file;
+          useStat = true;
+        }
+        const filename = dir + "/" + name;
+        const relative = filename.slice(1);
+        const absolute = path4 + "/" + relative;
+        let stats = null;
+        if (useStat || followSymlinks) {
+          stats = await stat(absolute, followSymlinks);
+        }
+        if (!stats && file.name !== void 0) {
+          stats = file;
+        }
+        if (stats === null) {
+          stats = { isDirectory: () => false };
+        }
+        if (stats.isDirectory()) {
+          if (!shouldSkip(relative)) {
+            yield { relative, absolute, stats };
+            yield* exploreWalkAsync(filename, path4, followSymlinks, useStat, shouldSkip, false);
+          }
+        } else {
+          yield { relative, absolute, stats };
+        }
       }
-      /**
-       * Starts a loop that will break only if the poller is done
-       * or if the poller is stopped.
-       */
-      async startPolling(pollOptions = {}) {
-        if (this.stopped) {
-          this.stopped = false;
+    }
+    async function* explore(path4, followSymlinks, useStat, shouldSkip) {
+      yield* exploreWalkAsync("", path4, followSymlinks, useStat, shouldSkip, true);
+    }
+    function readOptions(options) {
+      return {
+        pattern: options.pattern,
+        dot: !!options.dot,
+        noglobstar: !!options.noglobstar,
+        matchBase: !!options.matchBase,
+        nocase: !!options.nocase,
+        ignore: options.ignore,
+        skip: options.skip,
+        follow: !!options.follow,
+        stat: !!options.stat,
+        nodir: !!options.nodir,
+        mark: !!options.mark,
+        silent: !!options.silent,
+        absolute: !!options.absolute
+      };
+    }
+    var ReaddirGlob = class extends EventEmitter {
+      constructor(cwd, options, cb) {
+        super();
+        if (typeof options === "function") {
+          cb = options;
+          options = null;
         }
-        while (!this.isStopped() && !this.isDone()) {
-          await this.poll(pollOptions);
-          await this.delay();
+        this.options = readOptions(options || {});
+        this.matchers = [];
+        if (this.options.pattern) {
+          const matchers = Array.isArray(this.options.pattern) ? this.options.pattern : [this.options.pattern];
+          this.matchers = matchers.map(
+            (m) => new Minimatch(m, {
+              dot: this.options.dot,
+              noglobstar: this.options.noglobstar,
+              matchBase: this.options.matchBase,
+              nocase: this.options.nocase
+            })
+          );
+        }
+        this.ignoreMatchers = [];
+        if (this.options.ignore) {
+          const ignorePatterns = Array.isArray(this.options.ignore) ? this.options.ignore : [this.options.ignore];
+          this.ignoreMatchers = ignorePatterns.map(
+            (ignore) => new Minimatch(ignore, { dot: true })
+          );
+        }
+        this.skipMatchers = [];
+        if (this.options.skip) {
+          const skipPatterns = Array.isArray(this.options.skip) ? this.options.skip : [this.options.skip];
+          this.skipMatchers = skipPatterns.map(
+            (skip) => new Minimatch(skip, { dot: true })
+          );
+        }
+        this.iterator = explore(resolve3(cwd || "."), this.options.follow, this.options.stat, this._shouldSkipDirectory.bind(this));
+        this.paused = false;
+        this.inactive = false;
+        this.aborted = false;
+        if (cb) {
+          this._matches = [];
+          this.on("match", (match) => this._matches.push(this.options.absolute ? match.absolute : match.relative));
+          this.on("error", (err) => cb(err));
+          this.on("end", () => cb(null, this._matches));
         }
+        setTimeout(() => this._next(), 0);
       }
-      /**
-       * pollOnce does one polling, by calling to the update method of the underlying
-       * poll operation to make any relevant change effective.
-       *
-       * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike.
-       *
-       * @param options - Optional properties passed to the operation's update method.
-       */
-      async pollOnce(options = {}) {
-        if (!this.isDone()) {
-          this.operation = await this.operation.update({
-            abortSignal: options.abortSignal,
-            fireProgress: this.fireProgress.bind(this)
+      _shouldSkipDirectory(relative) {
+        return this.skipMatchers.some((m) => m.match(relative));
+      }
+      _fileMatches(relative, isDirectory) {
+        const file = relative + (isDirectory ? "/" : "");
+        return (this.matchers.length === 0 || this.matchers.some((m) => m.match(file))) && !this.ignoreMatchers.some((m) => m.match(file)) && (!this.options.nodir || !isDirectory);
+      }
+      _next() {
+        if (!this.paused && !this.aborted) {
+          this.iterator.next().then((obj) => {
+            if (!obj.done) {
+              const isDirectory = obj.value.stats.isDirectory();
+              if (this._fileMatches(obj.value.relative, isDirectory)) {
+                let relative = obj.value.relative;
+                let absolute = obj.value.absolute;
+                if (this.options.mark && isDirectory) {
+                  relative += "/";
+                  absolute += "/";
+                }
+                if (this.options.stat) {
+                  this.emit("match", { relative, absolute, stat: obj.value.stats });
+                } else {
+                  this.emit("match", { relative, absolute });
+                }
+              }
+              this._next(this.iterator);
+            } else {
+              this.emit("end");
+            }
+          }).catch((err) => {
+            this.abort();
+            this.emit("error", err);
+            if (!err.code && !this.options.silent) {
+              console.error(err);
+            }
           });
+        } else {
+          this.inactive = true;
         }
-        this.processUpdatedState();
       }
-      /**
-       * fireProgress calls the functions passed in via onProgress the method of the poller.
-       *
-       * It loops over all of the callbacks received from onProgress, and executes them, sending them
-       * the current operation state.
-       *
-       * @param state - The current operation state.
-       */
-      fireProgress(state) {
-        for (const callback of this.pollProgressCallbacks) {
-          callback(state);
+      abort() {
+        this.aborted = true;
+      }
+      pause() {
+        this.paused = true;
+      }
+      resume() {
+        this.paused = false;
+        if (this.inactive) {
+          this.inactive = false;
+          this._next();
         }
       }
-      /**
-       * Invokes the underlying operation's cancel method.
-       */
-      async cancelOnce(options = {}) {
-        this.operation = await this.operation.cancel(options);
+    };
+    function readdirGlob(pattern, options, cb) {
+      return new ReaddirGlob(pattern, options, cb);
+    }
+    readdirGlob.ReaddirGlob = ReaddirGlob;
+  }
+});
+
+// node_modules/async/dist/async.js
+var require_async = __commonJS({
+  "node_modules/async/dist/async.js"(exports2, module2) {
+    (function(global2, factory) {
+      typeof exports2 === "object" && typeof module2 !== "undefined" ? factory(exports2) : typeof define === "function" && define.amd ? define(["exports"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory(global2.async = {}));
+    })(exports2, (function(exports3) {
+      "use strict";
+      function apply(fn, ...args) {
+        return (...callArgs) => fn(...args, ...callArgs);
       }
-      /**
-       * Returns a promise that will resolve once a single polling request finishes.
-       * It does this by calling the update method of the Poller's operation.
-       *
-       * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike.
-       *
-       * @param options - Optional properties passed to the operation's update method.
-       */
-      poll(options = {}) {
-        if (!this.pollOncePromise) {
-          this.pollOncePromise = this.pollOnce(options);
-          const clearPollOncePromise = () => {
-            this.pollOncePromise = void 0;
+      function initialParams(fn) {
+        return function(...args) {
+          var callback = args.pop();
+          return fn.call(this, args, callback);
+        };
+      }
+      var hasQueueMicrotask = typeof queueMicrotask === "function" && queueMicrotask;
+      var hasSetImmediate = typeof setImmediate === "function" && setImmediate;
+      var hasNextTick = typeof process === "object" && typeof process.nextTick === "function";
+      function fallback(fn) {
+        setTimeout(fn, 0);
+      }
+      function wrap(defer) {
+        return (fn, ...args) => defer(() => fn(...args));
+      }
+      var _defer$1;
+      if (hasQueueMicrotask) {
+        _defer$1 = queueMicrotask;
+      } else if (hasSetImmediate) {
+        _defer$1 = setImmediate;
+      } else if (hasNextTick) {
+        _defer$1 = process.nextTick;
+      } else {
+        _defer$1 = fallback;
+      }
+      var setImmediate$1 = wrap(_defer$1);
+      function asyncify(func) {
+        if (isAsync(func)) {
+          return function(...args) {
+            const callback = args.pop();
+            const promise = func.apply(this, args);
+            return handlePromise(promise, callback);
           };
-          this.pollOncePromise.then(clearPollOncePromise, clearPollOncePromise).catch(this.reject);
         }
-        return this.pollOncePromise;
-      }
-      processUpdatedState() {
-        if (this.operation.state.error) {
-          this.stopped = true;
-          if (!this.resolveOnUnsuccessful) {
-            this.reject(this.operation.state.error);
-            throw this.operation.state.error;
+        return initialParams(function(args, callback) {
+          var result;
+          try {
+            result = func.apply(this, args);
+          } catch (e) {
+            return callback(e);
           }
-        }
-        if (this.operation.state.isCancelled) {
-          this.stopped = true;
-          if (!this.resolveOnUnsuccessful) {
-            const error3 = new PollerCancelledError("Operation was canceled");
-            this.reject(error3);
-            throw error3;
+          if (result && typeof result.then === "function") {
+            return handlePromise(result, callback);
+          } else {
+            callback(null, result);
           }
-        }
-        if (this.isDone() && this.resolve) {
-          this.resolve(this.getResult());
-        }
+        });
       }
-      /**
-       * Returns a promise that will resolve once the underlying operation is completed.
-       */
-      async pollUntilDone(pollOptions = {}) {
-        if (this.stopped) {
-          this.startPolling(pollOptions).catch(this.reject);
+      function handlePromise(promise, callback) {
+        return promise.then((value) => {
+          invokeCallback(callback, null, value);
+        }, (err) => {
+          invokeCallback(callback, err && (err instanceof Error || err.message) ? err : new Error(err));
+        });
+      }
+      function invokeCallback(callback, error3, value) {
+        try {
+          callback(error3, value);
+        } catch (err) {
+          setImmediate$1((e) => {
+            throw e;
+          }, err);
         }
-        this.processUpdatedState();
-        return this.promise;
       }
-      /**
-       * Invokes the provided callback after each polling is completed,
-       * sending the current state of the poller's operation.
-       *
-       * It returns a method that can be used to stop receiving updates on the given callback function.
-       */
-      onProgress(callback) {
-        this.pollProgressCallbacks.push(callback);
-        return () => {
-          this.pollProgressCallbacks = this.pollProgressCallbacks.filter((c) => c !== callback);
-        };
+      function isAsync(fn) {
+        return fn[Symbol.toStringTag] === "AsyncFunction";
       }
-      /**
-       * Returns true if the poller has finished polling.
-       */
-      isDone() {
-        const state = this.operation.state;
-        return Boolean(state.isCompleted || state.isCancelled || state.error);
+      function isAsyncGenerator(fn) {
+        return fn[Symbol.toStringTag] === "AsyncGenerator";
       }
-      /**
-       * Stops the poller from continuing to poll.
-       */
-      stopPolling() {
-        if (!this.stopped) {
-          this.stopped = true;
-          if (this.reject) {
-            this.reject(new PollerStoppedError("This poller is already stopped"));
+      function isAsyncIterable(obj) {
+        return typeof obj[Symbol.asyncIterator] === "function";
+      }
+      function wrapAsync(asyncFn) {
+        if (typeof asyncFn !== "function") throw new Error("expected a function");
+        return isAsync(asyncFn) ? asyncify(asyncFn) : asyncFn;
+      }
+      function awaitify(asyncFn, arity) {
+        if (!arity) arity = asyncFn.length;
+        if (!arity) throw new Error("arity is undefined");
+        function awaitable(...args) {
+          if (typeof args[arity - 1] === "function") {
+            return asyncFn.apply(this, args);
           }
+          return new Promise((resolve3, reject2) => {
+            args[arity - 1] = (err, ...cbArgs) => {
+              if (err) return reject2(err);
+              resolve3(cbArgs.length > 1 ? cbArgs : cbArgs[0]);
+            };
+            asyncFn.apply(this, args);
+          });
         }
+        return awaitable;
       }
-      /**
-       * Returns true if the poller is stopped.
-       */
-      isStopped() {
-        return this.stopped;
+      function applyEach$1(eachfn) {
+        return function applyEach2(fns, ...callArgs) {
+          const go = awaitify(function(callback) {
+            var that = this;
+            return eachfn(fns, (fn, cb) => {
+              wrapAsync(fn).apply(that, callArgs.concat(cb));
+            }, callback);
+          });
+          return go;
+        };
       }
-      /**
-       * Attempts to cancel the underlying operation.
-       *
-       * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike.
-       *
-       * If it's called again before it finishes, it will throw an error.
-       *
-       * @param options - Optional properties passed to the operation's update method.
-       */
-      cancelOperation(options = {}) {
-        if (!this.cancelPromise) {
-          this.cancelPromise = this.cancelOnce(options);
-        } else if (options.abortSignal) {
-          throw new Error("A cancel request is currently pending");
-        }
-        return this.cancelPromise;
+      function _asyncMap(eachfn, arr, iteratee, callback) {
+        arr = arr || [];
+        var results = [];
+        var counter = 0;
+        var _iteratee = wrapAsync(iteratee);
+        return eachfn(arr, (value, _2, iterCb) => {
+          var index2 = counter++;
+          _iteratee(value, (err, v) => {
+            results[index2] = v;
+            iterCb(err);
+          });
+        }, (err) => {
+          callback(err, results);
+        });
       }
-      /**
-       * Returns the state of the operation.
-       *
-       * Even though TState will be the same type inside any of the methods of any extension of the Poller class,
-       * implementations of the pollers can customize what's shared with the public by writing their own
-       * version of the `getOperationState` method, and by defining two types, one representing the internal state of the poller
-       * and a public type representing a safe to share subset of the properties of the internal state.
-       * Their definition of getOperationState can then return their public type.
-       *
-       * Example:
-       *
-       * ```ts
-       * // Let's say we have our poller's operation state defined as:
-       * interface MyOperationState extends PollOperationState {
-       *   privateProperty?: string;
-       *   publicProperty?: string;
-       * }
-       *
-       * // To allow us to have a true separation of public and private state, we have to define another interface:
-       * interface PublicState extends PollOperationState {
-       *   publicProperty?: string;
-       * }
-       *
-       * // Then, we define our Poller as follows:
-       * export class MyPoller extends Poller {
-       *   // ... More content is needed here ...
-       *
-       *   public getOperationState(): PublicState {
-       *     const state: PublicState = this.operation.state;
-       *     return {
-       *       // Properties from PollOperationState
-       *       isStarted: state.isStarted,
-       *       isCompleted: state.isCompleted,
-       *       isCancelled: state.isCancelled,
-       *       error: state.error,
-       *       result: state.result,
-       *
-       *       // The only other property needed by PublicState.
-       *       publicProperty: state.publicProperty
-       *     }
-       *   }
-       * }
-       * ```
-       *
-       * You can see this in the tests of this repository, go to the file:
-       * `../test/utils/testPoller.ts`
-       * and look for the getOperationState implementation.
-       */
-      getOperationState() {
-        return this.operation.state;
+      function isArrayLike(value) {
+        return value && typeof value.length === "number" && value.length >= 0 && value.length % 1 === 0;
       }
-      /**
-       * Returns the result value of the operation,
-       * regardless of the state of the poller.
-       * It can return undefined or an incomplete form of the final TResult value
-       * depending on the implementation.
-       */
-      getResult() {
-        const state = this.operation.state;
-        return state.result;
+      const breakLoop = {};
+      function once(fn) {
+        function wrapper(...args) {
+          if (fn === null) return;
+          var callFn = fn;
+          fn = null;
+          callFn.apply(this, args);
+        }
+        Object.assign(wrapper, fn);
+        return wrapper;
       }
-      /**
-       * Returns a serialized version of the poller's operation
-       * by invoking the operation's toString method.
-       */
-      toString() {
-        return this.operation.toString();
+      function getIterator(coll) {
+        return coll[Symbol.iterator] && coll[Symbol.iterator]();
       }
-    };
-    exports2.Poller = Poller;
-  }
-});
-
-// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/lroEngine.js
-var require_lroEngine = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/lroEngine.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.LroEngine = void 0;
-    var operation_js_1 = require_operation3();
-    var constants_js_1 = require_constants17();
-    var poller_js_1 = require_poller3();
-    var operation_js_2 = require_operation();
-    var LroEngine = class extends poller_js_1.Poller {
-      constructor(lro, options) {
-        const { intervalInMs = constants_js_1.POLL_INTERVAL_IN_MS, resumeFrom, resolveOnUnsuccessful = false, isDone, lroResourceLocationConfig, processResult, updateState } = options || {};
-        const state = resumeFrom ? (0, operation_js_2.deserializeState)(resumeFrom) : {};
-        const operation = new operation_js_1.GenericPollOperation(state, lro, !resolveOnUnsuccessful, lroResourceLocationConfig, processResult, updateState, isDone);
-        super(operation);
-        this.resolveOnUnsuccessful = resolveOnUnsuccessful;
-        this.config = { intervalInMs };
-        operation.setPollerConfig(this.config);
+      function createArrayIterator(coll) {
+        var i = -1;
+        var len = coll.length;
+        return function next() {
+          return ++i < len ? { value: coll[i], key: i } : null;
+        };
       }
-      /**
-       * The method used by the poller to wait before attempting to update its operation.
-       */
-      delay() {
-        return new Promise((resolve3) => setTimeout(() => resolve3(), this.config.intervalInMs));
+      function createES2015Iterator(iterator2) {
+        var i = -1;
+        return function next() {
+          var item = iterator2.next();
+          if (item.done)
+            return null;
+          i++;
+          return { value: item.value, key: i };
+        };
       }
-    };
-    exports2.LroEngine = LroEngine;
-  }
-});
-
-// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/index.js
-var require_lroEngine2 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.LroEngine = void 0;
-    var lroEngine_js_1 = require_lroEngine();
-    Object.defineProperty(exports2, "LroEngine", { enumerable: true, get: function() {
-      return lroEngine_js_1.LroEngine;
-    } });
-  }
-});
-
-// node_modules/@azure/core-lro/dist/commonjs/legacy/pollOperation.js
-var require_pollOperation = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/legacy/pollOperation.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-  }
-});
-
-// node_modules/@azure/core-lro/dist/commonjs/index.js
-var require_commonjs14 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createHttpPoller = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var poller_js_1 = require_poller2();
-    Object.defineProperty(exports2, "createHttpPoller", { enumerable: true, get: function() {
-      return poller_js_1.createHttpPoller;
-    } });
-    tslib_1.__exportStar(require_lroEngine2(), exports2);
-    tslib_1.__exportStar(require_poller3(), exports2);
-    tslib_1.__exportStar(require_pollOperation(), exports2);
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/pollers/BlobStartCopyFromUrlPoller.js
-var require_BlobStartCopyFromUrlPoller = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/pollers/BlobStartCopyFromUrlPoller.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobBeginCopyFromUrlPoller = void 0;
-    var core_util_1 = require_commonjs4();
-    var core_lro_1 = require_commonjs14();
-    var BlobBeginCopyFromUrlPoller = class extends core_lro_1.Poller {
-      intervalInMs;
-      constructor(options) {
-        const { blobClient, copySource, intervalInMs = 15e3, onProgress, resumeFrom, startCopyFromURLOptions } = options;
-        let state;
-        if (resumeFrom) {
-          state = JSON.parse(resumeFrom).state;
-        }
-        const operation = makeBlobBeginCopyFromURLPollOperation({
-          ...state,
-          blobClient,
-          copySource,
-          startCopyFromURLOptions
-        });
-        super(operation);
-        if (typeof onProgress === "function") {
-          this.onProgress(onProgress);
+      function createObjectIterator(obj) {
+        var okeys = obj ? Object.keys(obj) : [];
+        var i = -1;
+        var len = okeys.length;
+        return function next() {
+          var key = okeys[++i];
+          if (key === "__proto__") {
+            return next();
+          }
+          return i < len ? { value: obj[key], key } : null;
+        };
+      }
+      function createIterator(coll) {
+        if (isArrayLike(coll)) {
+          return createArrayIterator(coll);
         }
-        this.intervalInMs = intervalInMs;
+        var iterator2 = getIterator(coll);
+        return iterator2 ? createES2015Iterator(iterator2) : createObjectIterator(coll);
       }
-      delay() {
-        return (0, core_util_1.delay)(this.intervalInMs);
+      function onlyOnce(fn) {
+        return function(...args) {
+          if (fn === null) throw new Error("Callback was already called.");
+          var callFn = fn;
+          fn = null;
+          callFn.apply(this, args);
+        };
       }
-    };
-    exports2.BlobBeginCopyFromUrlPoller = BlobBeginCopyFromUrlPoller;
-    var cancel = async function cancel2(options = {}) {
-      const state = this.state;
-      const { copyId } = state;
-      if (state.isCompleted) {
-        return makeBlobBeginCopyFromURLPollOperation(state);
+      function asyncEachOfLimit(generator, limit, iteratee, callback) {
+        let done = false;
+        let canceled = false;
+        let awaiting = false;
+        let running = 0;
+        let idx = 0;
+        function replenish() {
+          if (running >= limit || awaiting || done) return;
+          awaiting = true;
+          generator.next().then(({ value, done: iterDone }) => {
+            if (canceled || done) return;
+            awaiting = false;
+            if (iterDone) {
+              done = true;
+              if (running <= 0) {
+                callback(null);
+              }
+              return;
+            }
+            running++;
+            iteratee(value, idx, iterateeCallback);
+            idx++;
+            replenish();
+          }).catch(handleError);
+        }
+        function iterateeCallback(err, result) {
+          running -= 1;
+          if (canceled) return;
+          if (err) return handleError(err);
+          if (err === false) {
+            done = true;
+            canceled = true;
+            return;
+          }
+          if (result === breakLoop || done && running <= 0) {
+            done = true;
+            return callback(null);
+          }
+          replenish();
+        }
+        function handleError(err) {
+          if (canceled) return;
+          awaiting = false;
+          done = true;
+          callback(err);
+        }
+        replenish();
       }
-      if (!copyId) {
-        state.isCancelled = true;
-        return makeBlobBeginCopyFromURLPollOperation(state);
+      var eachOfLimit$2 = (limit) => {
+        return (obj, iteratee, callback) => {
+          callback = once(callback);
+          if (limit <= 0) {
+            throw new RangeError("concurrency limit cannot be less than 1");
+          }
+          if (!obj) {
+            return callback(null);
+          }
+          if (isAsyncGenerator(obj)) {
+            return asyncEachOfLimit(obj, limit, iteratee, callback);
+          }
+          if (isAsyncIterable(obj)) {
+            return asyncEachOfLimit(obj[Symbol.asyncIterator](), limit, iteratee, callback);
+          }
+          var nextElem = createIterator(obj);
+          var done = false;
+          var canceled = false;
+          var running = 0;
+          var looping = false;
+          function iterateeCallback(err, value) {
+            if (canceled) return;
+            running -= 1;
+            if (err) {
+              done = true;
+              callback(err);
+            } else if (err === false) {
+              done = true;
+              canceled = true;
+            } else if (value === breakLoop || done && running <= 0) {
+              done = true;
+              return callback(null);
+            } else if (!looping) {
+              replenish();
+            }
+          }
+          function replenish() {
+            looping = true;
+            while (running < limit && !done) {
+              var elem = nextElem();
+              if (elem === null) {
+                done = true;
+                if (running <= 0) {
+                  callback(null);
+                }
+                return;
+              }
+              running += 1;
+              iteratee(elem.value, elem.key, onlyOnce(iterateeCallback));
+            }
+            looping = false;
+          }
+          replenish();
+        };
+      };
+      function eachOfLimit(coll, limit, iteratee, callback) {
+        return eachOfLimit$2(limit)(coll, wrapAsync(iteratee), callback);
       }
-      await state.blobClient.abortCopyFromURL(copyId, {
-        abortSignal: options.abortSignal
-      });
-      state.isCancelled = true;
-      return makeBlobBeginCopyFromURLPollOperation(state);
-    };
-    var update = async function update2(options = {}) {
-      const state = this.state;
-      const { blobClient, copySource, startCopyFromURLOptions } = state;
-      if (!state.isStarted) {
-        state.isStarted = true;
-        const result = await blobClient.startCopyFromURL(copySource, startCopyFromURLOptions);
-        state.copyId = result.copyId;
-        if (result.copyStatus === "success") {
-          state.result = result;
-          state.isCompleted = true;
+      var eachOfLimit$1 = awaitify(eachOfLimit, 4);
+      function eachOfArrayLike(coll, iteratee, callback) {
+        callback = once(callback);
+        var index2 = 0, completed = 0, { length } = coll, canceled = false;
+        if (length === 0) {
+          callback(null);
         }
-      } else if (!state.isCompleted) {
-        try {
-          const result = await state.blobClient.getProperties({ abortSignal: options.abortSignal });
-          const { copyStatus, copyProgress } = result;
-          const prevCopyProgress = state.copyProgress;
-          if (copyProgress) {
-            state.copyProgress = copyProgress;
+        function iteratorCallback(err, value) {
+          if (err === false) {
+            canceled = true;
           }
-          if (copyStatus === "pending" && copyProgress !== prevCopyProgress && typeof options.fireProgress === "function") {
-            options.fireProgress(state);
-          } else if (copyStatus === "success") {
-            state.result = result;
-            state.isCompleted = true;
-          } else if (copyStatus === "failed") {
-            state.error = new Error(`Blob copy failed with reason: "${result.copyStatusDescription || "unknown"}"`);
-            state.isCompleted = true;
+          if (canceled === true) return;
+          if (err) {
+            callback(err);
+          } else if (++completed === length || value === breakLoop) {
+            callback(null);
           }
-        } catch (err) {
-          state.error = err;
-          state.isCompleted = true;
         }
-      }
-      return makeBlobBeginCopyFromURLPollOperation(state);
-    };
-    var toString2 = function toString3() {
-      return JSON.stringify({ state: this.state }, (key, value) => {
-        if (key === "blobClient") {
-          return void 0;
+        for (; index2 < length; index2++) {
+          iteratee(coll[index2], index2, onlyOnce(iteratorCallback));
         }
-        return value;
-      });
-    };
-    function makeBlobBeginCopyFromURLPollOperation(state) {
-      return {
-        state: { ...state },
-        cancel,
-        toString: toString2,
-        update
-      };
-    }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/Range.js
-var require_Range = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/Range.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.rangeToString = rangeToString;
-    function rangeToString(iRange) {
-      if (iRange.offset < 0) {
-        throw new RangeError(`Range.offset cannot be smaller than 0.`);
       }
-      if (iRange.count && iRange.count <= 0) {
-        throw new RangeError(`Range.count must be larger than 0. Leave it undefined if you want a range from offset to the end.`);
+      function eachOfGeneric(coll, iteratee, callback) {
+        return eachOfLimit$1(coll, Infinity, iteratee, callback);
       }
-      return iRange.count ? `bytes=${iRange.offset}-${iRange.offset + iRange.count - 1}` : `bytes=${iRange.offset}-`;
-    }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/utils/Batch.js
-var require_Batch = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/Batch.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Batch = void 0;
-    var events_1 = require("events");
-    var BatchStates;
-    (function(BatchStates2) {
-      BatchStates2[BatchStates2["Good"] = 0] = "Good";
-      BatchStates2[BatchStates2["Error"] = 1] = "Error";
-    })(BatchStates || (BatchStates = {}));
-    var Batch = class {
-      /**
-       * Concurrency. Must be lager than 0.
-       */
-      concurrency;
-      /**
-       * Number of active operations under execution.
-       */
-      actives = 0;
-      /**
-       * Number of completed operations under execution.
-       */
-      completed = 0;
-      /**
-       * Offset of next operation to be executed.
-       */
-      offset = 0;
-      /**
-       * Operation array to be executed.
-       */
-      operations = [];
-      /**
-       * States of Batch. When an error happens, state will turn into error.
-       * Batch will stop execute left operations.
-       */
-      state = BatchStates.Good;
-      /**
-       * A private emitter used to pass events inside this class.
-       */
-      emitter;
-      /**
-       * Creates an instance of Batch.
-       * @param concurrency -
-       */
-      constructor(concurrency = 5) {
-        if (concurrency < 1) {
-          throw new RangeError("concurrency must be larger than 0");
-        }
-        this.concurrency = concurrency;
-        this.emitter = new events_1.EventEmitter();
+      function eachOf(coll, iteratee, callback) {
+        var eachOfImplementation = isArrayLike(coll) ? eachOfArrayLike : eachOfGeneric;
+        return eachOfImplementation(coll, wrapAsync(iteratee), callback);
       }
-      /**
-       * Add a operation into queue.
-       *
-       * @param operation -
-       */
-      addOperation(operation) {
-        this.operations.push(async () => {
-          try {
-            this.actives++;
-            await operation();
-            this.actives--;
-            this.completed++;
-            this.parallelExecute();
-          } catch (error3) {
-            this.emitter.emit("error", error3);
-          }
-        });
+      var eachOf$1 = awaitify(eachOf, 3);
+      function map2(coll, iteratee, callback) {
+        return _asyncMap(eachOf$1, coll, iteratee, callback);
       }
-      /**
-       * Start execute operations in the queue.
-       *
-       */
-      async do() {
-        if (this.operations.length === 0) {
-          return Promise.resolve();
-        }
-        this.parallelExecute();
-        return new Promise((resolve3, reject) => {
-          this.emitter.on("finish", resolve3);
-          this.emitter.on("error", (error3) => {
-            this.state = BatchStates.Error;
-            reject(error3);
-          });
-        });
+      var map$1 = awaitify(map2, 3);
+      var applyEach = applyEach$1(map$1);
+      function eachOfSeries(coll, iteratee, callback) {
+        return eachOfLimit$1(coll, 1, iteratee, callback);
       }
-      /**
-       * Get next operation to be executed. Return null when reaching ends.
-       *
-       */
-      nextOperation() {
-        if (this.offset < this.operations.length) {
-          return this.operations[this.offset++];
+      var eachOfSeries$1 = awaitify(eachOfSeries, 3);
+      function mapSeries(coll, iteratee, callback) {
+        return _asyncMap(eachOfSeries$1, coll, iteratee, callback);
+      }
+      var mapSeries$1 = awaitify(mapSeries, 3);
+      var applyEachSeries = applyEach$1(mapSeries$1);
+      const PROMISE_SYMBOL = /* @__PURE__ */ Symbol("promiseCallback");
+      function promiseCallback() {
+        let resolve3, reject2;
+        function callback(err, ...args) {
+          if (err) return reject2(err);
+          resolve3(args.length > 1 ? args : args[0]);
         }
-        return null;
+        callback[PROMISE_SYMBOL] = new Promise((res, rej) => {
+          resolve3 = res, reject2 = rej;
+        });
+        return callback;
       }
-      /**
-       * Start execute operations. One one the most important difference between
-       * this method with do() is that do() wraps as an sync method.
-       *
-       */
-      parallelExecute() {
-        if (this.state === BatchStates.Error) {
-          return;
+      function auto(tasks, concurrency, callback) {
+        if (typeof concurrency !== "number") {
+          callback = concurrency;
+          concurrency = null;
         }
-        if (this.completed >= this.operations.length) {
-          this.emitter.emit("finish");
-          return;
+        callback = once(callback || promiseCallback());
+        var numTasks = Object.keys(tasks).length;
+        if (!numTasks) {
+          return callback(null);
         }
-        while (this.actives < this.concurrency) {
-          const operation = this.nextOperation();
-          if (operation) {
-            operation();
-          } else {
-            return;
-          }
+        if (!concurrency) {
+          concurrency = numTasks;
         }
-      }
-    };
-    exports2.Batch = Batch;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/utils/utils.js
-var require_utils7 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/utils.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.fsCreateReadStream = exports2.fsStat = void 0;
-    exports2.streamToBuffer = streamToBuffer;
-    exports2.streamToBuffer2 = streamToBuffer2;
-    exports2.streamToBuffer3 = streamToBuffer3;
-    exports2.readStreamToLocalFile = readStreamToLocalFile;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var node_fs_1 = tslib_1.__importDefault(require("node:fs"));
-    var node_util_1 = tslib_1.__importDefault(require("node:util"));
-    var constants_js_1 = require_constants15();
-    async function streamToBuffer(stream, buffer, offset, end, encoding) {
-      let pos = 0;
-      const count = end - offset;
-      return new Promise((resolve3, reject) => {
-        const timeout = setTimeout(() => reject(new Error(`The operation cannot be completed in timeout.`)), constants_js_1.REQUEST_TIMEOUT);
-        stream.on("readable", () => {
-          if (pos >= count) {
-            clearTimeout(timeout);
-            resolve3();
+        var results = {};
+        var runningTasks = 0;
+        var canceled = false;
+        var hasError = false;
+        var listeners = /* @__PURE__ */ Object.create(null);
+        var readyTasks = [];
+        var readyToCheck = [];
+        var uncheckedDependencies = {};
+        Object.keys(tasks).forEach((key) => {
+          var task = tasks[key];
+          if (!Array.isArray(task)) {
+            enqueueTask(key, [task]);
+            readyToCheck.push(key);
             return;
           }
-          let chunk = stream.read();
-          if (!chunk) {
+          var dependencies = task.slice(0, task.length - 1);
+          var remainingDependencies = dependencies.length;
+          if (remainingDependencies === 0) {
+            enqueueTask(key, task);
+            readyToCheck.push(key);
             return;
           }
-          if (typeof chunk === "string") {
-            chunk = Buffer.from(chunk, encoding);
-          }
-          const chunkLength = pos + chunk.length > count ? count - pos : chunk.length;
-          buffer.fill(chunk.slice(0, chunkLength), offset + pos, offset + pos + chunkLength);
-          pos += chunkLength;
-        });
-        stream.on("end", () => {
-          clearTimeout(timeout);
-          if (pos < count) {
-            reject(new Error(`Stream drains before getting enough data needed. Data read: ${pos}, data need: ${count}`));
-          }
-          resolve3();
-        });
-        stream.on("error", (msg) => {
-          clearTimeout(timeout);
-          reject(msg);
+          uncheckedDependencies[key] = remainingDependencies;
+          dependencies.forEach((dependencyName) => {
+            if (!tasks[dependencyName]) {
+              throw new Error("async.auto task `" + key + "` has a non-existent dependency `" + dependencyName + "` in " + dependencies.join(", "));
+            }
+            addListener(dependencyName, () => {
+              remainingDependencies--;
+              if (remainingDependencies === 0) {
+                enqueueTask(key, task);
+              }
+            });
+          });
         });
-      });
-    }
-    async function streamToBuffer2(stream, buffer, encoding) {
-      let pos = 0;
-      const bufferSize = buffer.length;
-      return new Promise((resolve3, reject) => {
-        stream.on("readable", () => {
-          let chunk = stream.read();
-          if (!chunk) {
-            return;
+        checkForDeadlocks();
+        processQueue();
+        function enqueueTask(key, task) {
+          readyTasks.push(() => runTask(key, task));
+        }
+        function processQueue() {
+          if (canceled) return;
+          if (readyTasks.length === 0 && runningTasks === 0) {
+            return callback(null, results);
           }
-          if (typeof chunk === "string") {
-            chunk = Buffer.from(chunk, encoding);
+          while (readyTasks.length && runningTasks < concurrency) {
+            var run = readyTasks.shift();
+            run();
           }
-          if (pos + chunk.length > bufferSize) {
-            reject(new Error(`Stream exceeds buffer size. Buffer size: ${bufferSize}`));
-            return;
+        }
+        function addListener(taskName, fn) {
+          var taskListeners = listeners[taskName];
+          if (!taskListeners) {
+            taskListeners = listeners[taskName] = [];
           }
-          buffer.fill(chunk, pos, pos + chunk.length);
-          pos += chunk.length;
-        });
-        stream.on("end", () => {
-          resolve3(pos);
-        });
-        stream.on("error", reject);
-      });
-    }
-    async function streamToBuffer3(readableStream, encoding) {
-      return new Promise((resolve3, reject) => {
-        const chunks = [];
-        readableStream.on("data", (data) => {
-          chunks.push(typeof data === "string" ? Buffer.from(data, encoding) : data);
-        });
-        readableStream.on("end", () => {
-          resolve3(Buffer.concat(chunks));
-        });
-        readableStream.on("error", reject);
-      });
-    }
-    async function readStreamToLocalFile(rs, file) {
-      return new Promise((resolve3, reject) => {
-        const ws = node_fs_1.default.createWriteStream(file);
-        rs.on("error", (err) => {
-          reject(err);
-        });
-        ws.on("error", (err) => {
-          reject(err);
-        });
-        ws.on("close", resolve3);
-        rs.pipe(ws);
-      });
-    }
-    exports2.fsStat = node_util_1.default.promisify(node_fs_1.default.stat);
-    exports2.fsCreateReadStream = node_fs_1.default.createReadStream;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/Clients.js
-var require_Clients = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/Clients.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.PageBlobClient = exports2.BlockBlobClient = exports2.AppendBlobClient = exports2.BlobClient = void 0;
-    var core_rest_pipeline_1 = require_commonjs6();
-    var core_auth_1 = require_commonjs7();
-    var core_util_1 = require_commonjs4();
-    var core_util_2 = require_commonjs4();
-    var BlobDownloadResponse_js_1 = require_BlobDownloadResponse();
-    var BlobQueryResponse_js_1 = require_BlobQueryResponse();
-    var AnonymousCredential_js_1 = require_AnonymousCredential();
-    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
-    var models_js_1 = require_models2();
-    var PageBlobRangeResponse_js_1 = require_PageBlobRangeResponse();
-    var Pipeline_js_1 = require_Pipeline();
-    var BlobStartCopyFromUrlPoller_js_1 = require_BlobStartCopyFromUrlPoller();
-    var Range_js_1 = require_Range();
-    var StorageClient_js_1 = require_StorageClient();
-    var Batch_js_1 = require_Batch();
-    var storage_common_1 = require_commonjs13();
-    var constants_js_1 = require_constants15();
-    var tracing_js_1 = require_tracing();
-    var utils_common_js_1 = require_utils_common();
-    var utils_js_1 = require_utils7();
-    var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues();
-    var BlobLeaseClient_js_1 = require_BlobLeaseClient();
-    var BlobClient = class _BlobClient extends StorageClient_js_1.StorageClient {
-      /**
-       * blobContext provided by protocol layer.
-       */
-      blobContext;
-      _name;
-      _containerName;
-      _versionId;
-      _snapshot;
-      /**
-       * The name of the blob.
-       */
-      get name() {
-        return this._name;
-      }
-      /**
-       * The name of the storage container the blob is associated with.
-       */
-      get containerName() {
-        return this._containerName;
-      }
-      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
-        options = options || {};
-        let pipeline;
-        let url;
-        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
-          url = urlOrConnectionString;
-          pipeline = credentialOrPipelineOrContainerName;
-        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
-          url = urlOrConnectionString;
-          options = blobNameOrOptions;
-          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
-        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
-          url = urlOrConnectionString;
-          if (blobNameOrOptions && typeof blobNameOrOptions !== "string") {
-            options = blobNameOrOptions;
+          taskListeners.push(fn);
+        }
+        function taskComplete(taskName) {
+          var taskListeners = listeners[taskName] || [];
+          taskListeners.forEach((fn) => fn());
+          processQueue();
+        }
+        function runTask(key, task) {
+          if (hasError) return;
+          var taskCallback = onlyOnce((err, ...result) => {
+            runningTasks--;
+            if (err === false) {
+              canceled = true;
+              return;
+            }
+            if (result.length < 2) {
+              [result] = result;
+            }
+            if (err) {
+              var safeResults = {};
+              Object.keys(results).forEach((rkey) => {
+                safeResults[rkey] = results[rkey];
+              });
+              safeResults[key] = result;
+              hasError = true;
+              listeners = /* @__PURE__ */ Object.create(null);
+              if (canceled) return;
+              callback(err, safeResults);
+            } else {
+              results[key] = result;
+              taskComplete(key);
+            }
+          });
+          runningTasks++;
+          var taskFn = wrapAsync(task[task.length - 1]);
+          if (task.length > 1) {
+            taskFn(results, taskCallback);
+          } else {
+            taskFn(taskCallback);
           }
-          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
-          const containerName = credentialOrPipelineOrContainerName;
-          const blobName = blobNameOrOptions;
-          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
-          if (extractedCreds.kind === "AccountConnString") {
-            if (core_util_1.isNodeLike) {
-              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
-              url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
-              if (!options.proxyOptions) {
-                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+        }
+        function checkForDeadlocks() {
+          var currentTask;
+          var counter = 0;
+          while (readyToCheck.length) {
+            currentTask = readyToCheck.pop();
+            counter++;
+            getDependents(currentTask).forEach((dependent) => {
+              if (--uncheckedDependencies[dependent] === 0) {
+                readyToCheck.push(dependent);
               }
-              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+            });
+          }
+          if (counter !== numTasks) {
+            throw new Error(
+              "async.auto cannot execute tasks due to a recursive dependency"
+            );
+          }
+        }
+        function getDependents(taskName) {
+          var result = [];
+          Object.keys(tasks).forEach((key) => {
+            const task = tasks[key];
+            if (Array.isArray(task) && task.indexOf(taskName) >= 0) {
+              result.push(key);
+            }
+          });
+          return result;
+        }
+        return callback[PROMISE_SYMBOL];
+      }
+      var FN_ARGS = /^(?:async\s)?(?:function)?\s*(?:\w+\s*)?\(([^)]+)\)(?:\s*{)/;
+      var ARROW_FN_ARGS = /^(?:async\s)?\s*(?:\(\s*)?((?:[^)=\s]\s*)*)(?:\)\s*)?=>/;
+      var FN_ARG_SPLIT = /,/;
+      var FN_ARG = /(=.+)?(\s*)$/;
+      function stripComments(string) {
+        let stripped = "";
+        let index2 = 0;
+        let endBlockComment = string.indexOf("*/");
+        while (index2 < string.length) {
+          if (string[index2] === "/" && string[index2 + 1] === "/") {
+            let endIndex = string.indexOf("\n", index2);
+            index2 = endIndex === -1 ? string.length : endIndex;
+          } else if (endBlockComment !== -1 && string[index2] === "/" && string[index2 + 1] === "*") {
+            let endIndex = string.indexOf("*/", index2);
+            if (endIndex !== -1) {
+              index2 = endIndex + 2;
+              endBlockComment = string.indexOf("*/", index2);
             } else {
-              throw new Error("Account connection string is only supported in Node.js environment");
+              stripped += string[index2];
+              index2++;
             }
-          } else if (extractedCreds.kind === "SASConnString") {
-            url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
-            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
           } else {
-            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
+            stripped += string[index2];
+            index2++;
           }
-        } else {
-          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
         }
-        super(url, pipeline);
-        ({ blobName: this._name, containerName: this._containerName } = this.getBlobAndContainerNamesFromUrl());
-        this.blobContext = this.storageClientContext.blob;
-        this._snapshot = (0, utils_common_js_1.getURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT);
-        this._versionId = (0, utils_common_js_1.getURLParameter)(this.url, constants_js_1.URLConstants.Parameters.VERSIONID);
-      }
-      /**
-       * Creates a new BlobClient object identical to the source but with the specified snapshot timestamp.
-       * Provide "" will remove the snapshot and return a Client to the base blob.
-       *
-       * @param snapshot - The snapshot timestamp.
-       * @returns A new BlobClient object identical to the source but with the specified snapshot timestamp
-       */
-      withSnapshot(snapshot) {
-        return new _BlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
+        return stripped;
       }
-      /**
-       * Creates a new BlobClient object pointing to a version of this blob.
-       * Provide "" will remove the versionId and return a Client to the base blob.
-       *
-       * @param versionId - The versionId.
-       * @returns A new BlobClient object pointing to the version of this blob.
-       */
-      withVersion(versionId) {
-        return new _BlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.VERSIONID, versionId.length === 0 ? void 0 : versionId), this.pipeline);
+      function parseParams(func) {
+        const src = stripComments(func.toString());
+        let match = src.match(FN_ARGS);
+        if (!match) {
+          match = src.match(ARROW_FN_ARGS);
+        }
+        if (!match) throw new Error("could not parse args in autoInject\nSource:\n" + src);
+        let [, args] = match;
+        return args.replace(/\s/g, "").split(FN_ARG_SPLIT).map((arg) => arg.replace(FN_ARG, "").trim());
       }
-      /**
-       * Creates a AppendBlobClient object.
-       *
-       */
-      getAppendBlobClient() {
-        return new AppendBlobClient(this.url, this.pipeline);
+      function autoInject(tasks, callback) {
+        var newTasks = {};
+        Object.keys(tasks).forEach((key) => {
+          var taskFn = tasks[key];
+          var params;
+          var fnIsAsync = isAsync(taskFn);
+          var hasNoDeps = !fnIsAsync && taskFn.length === 1 || fnIsAsync && taskFn.length === 0;
+          if (Array.isArray(taskFn)) {
+            params = [...taskFn];
+            taskFn = params.pop();
+            newTasks[key] = params.concat(params.length > 0 ? newTask : taskFn);
+          } else if (hasNoDeps) {
+            newTasks[key] = taskFn;
+          } else {
+            params = parseParams(taskFn);
+            if (taskFn.length === 0 && !fnIsAsync && params.length === 0) {
+              throw new Error("autoInject task functions require explicit parameters.");
+            }
+            if (!fnIsAsync) params.pop();
+            newTasks[key] = params.concat(newTask);
+          }
+          function newTask(results, taskCb) {
+            var newArgs = params.map((name) => results[name]);
+            newArgs.push(taskCb);
+            wrapAsync(taskFn)(...newArgs);
+          }
+        });
+        return auto(newTasks, callback);
       }
-      /**
-       * Creates a BlockBlobClient object.
-       *
-       */
-      getBlockBlobClient() {
-        return new BlockBlobClient(this.url, this.pipeline);
+      class DLL {
+        constructor() {
+          this.head = this.tail = null;
+          this.length = 0;
+        }
+        removeLink(node) {
+          if (node.prev) node.prev.next = node.next;
+          else this.head = node.next;
+          if (node.next) node.next.prev = node.prev;
+          else this.tail = node.prev;
+          node.prev = node.next = null;
+          this.length -= 1;
+          return node;
+        }
+        empty() {
+          while (this.head) this.shift();
+          return this;
+        }
+        insertAfter(node, newNode) {
+          newNode.prev = node;
+          newNode.next = node.next;
+          if (node.next) node.next.prev = newNode;
+          else this.tail = newNode;
+          node.next = newNode;
+          this.length += 1;
+        }
+        insertBefore(node, newNode) {
+          newNode.prev = node.prev;
+          newNode.next = node;
+          if (node.prev) node.prev.next = newNode;
+          else this.head = newNode;
+          node.prev = newNode;
+          this.length += 1;
+        }
+        unshift(node) {
+          if (this.head) this.insertBefore(this.head, node);
+          else setInitial(this, node);
+        }
+        push(node) {
+          if (this.tail) this.insertAfter(this.tail, node);
+          else setInitial(this, node);
+        }
+        shift() {
+          return this.head && this.removeLink(this.head);
+        }
+        pop() {
+          return this.tail && this.removeLink(this.tail);
+        }
+        toArray() {
+          return [...this];
+        }
+        *[Symbol.iterator]() {
+          var cur = this.head;
+          while (cur) {
+            yield cur.data;
+            cur = cur.next;
+          }
+        }
+        remove(testFn) {
+          var curr = this.head;
+          while (curr) {
+            var { next } = curr;
+            if (testFn(curr)) {
+              this.removeLink(curr);
+            }
+            curr = next;
+          }
+          return this;
+        }
       }
-      /**
-       * Creates a PageBlobClient object.
-       *
-       */
-      getPageBlobClient() {
-        return new PageBlobClient(this.url, this.pipeline);
+      function setInitial(dll, node) {
+        dll.length = 1;
+        dll.head = dll.tail = node;
       }
-      /**
-       * Reads or downloads a blob from the system, including its metadata and properties.
-       * You can also call Get Blob to read a snapshot.
-       *
-       * * In Node.js, data returns in a Readable stream readableStreamBody
-       * * In browsers, data returns in a promise blobBody
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob
-       *
-       * @param offset - From which position of the blob to download, greater than or equal to 0
-       * @param count - How much data to be downloaded, greater than 0. Will download to the end when undefined
-       * @param options - Optional options to Blob Download operation.
-       *
-       *
-       * Example usage (Node.js):
-       *
-       * ```ts snippet:ReadmeSampleDownloadBlob_Node
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blobClient = containerClient.getBlobClient(blobName);
-       *
-       * // Get blob content from position 0 to the end
-       * // In Node.js, get downloaded data by accessing downloadBlockBlobResponse.readableStreamBody
-       * const downloadBlockBlobResponse = await blobClient.download();
-       * if (downloadBlockBlobResponse.readableStreamBody) {
-       *   const downloaded = await streamToString(downloadBlockBlobResponse.readableStreamBody);
-       *   console.log(`Downloaded blob content: ${downloaded}`);
-       * }
-       *
-       * async function streamToString(stream: NodeJS.ReadableStream): Promise {
-       *   const result = await new Promise>((resolve, reject) => {
-       *     const chunks: Buffer[] = [];
-       *     stream.on("data", (data) => {
-       *       chunks.push(Buffer.isBuffer(data) ? data : Buffer.from(data));
-       *     });
-       *     stream.on("end", () => {
-       *       resolve(Buffer.concat(chunks));
-       *     });
-       *     stream.on("error", reject);
-       *   });
-       *   return result.toString();
-       * }
-       * ```
-       *
-       * Example usage (browser):
-       *
-       * ```ts snippet:ReadmeSampleDownloadBlob_Browser
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blobClient = containerClient.getBlobClient(blobName);
-       *
-       * // Get blob content from position 0 to the end
-       * // In browsers, get downloaded data by accessing downloadBlockBlobResponse.blobBody
-       * const downloadBlockBlobResponse = await blobClient.download();
-       * const blobBody = await downloadBlockBlobResponse.blobBody;
-       * if (blobBody) {
-       *   const downloaded = await blobBody.text();
-       *   console.log(`Downloaded blob content: ${downloaded}`);
-       * }
-       * ```
-       */
-      async download(offset = 0, count, options = {}) {
-        options.conditions = options.conditions || {};
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlobClient-download", options, async (updatedOptions) => {
-          const res = (0, utils_common_js_1.assertResponse)(await this.blobContext.download({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            requestOptions: {
-              onDownloadProgress: core_util_1.isNodeLike ? void 0 : options.onProgress
-              // for Node.js, progress is reported by RetriableReadableStream
-            },
-            range: offset === 0 && !count ? void 0 : (0, Range_js_1.rangeToString)({ offset, count }),
-            rangeGetContentMD5: options.rangeGetContentMD5,
-            rangeGetContentCRC64: options.rangeGetContentCrc64,
-            snapshot: options.snapshot,
-            cpkInfo: options.customerProvidedKey,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const wrappedRes = {
-            ...res,
-            _response: res._response,
-            // _response is made non-enumerable
-            objectReplicationDestinationPolicyId: res.objectReplicationPolicyId,
-            objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(res.objectReplicationRules)
+      function queue$1(worker, concurrency, payload) {
+        if (concurrency == null) {
+          concurrency = 1;
+        } else if (concurrency === 0) {
+          throw new RangeError("Concurrency must not be zero");
+        }
+        var _worker = wrapAsync(worker);
+        var numRunning = 0;
+        var workersList = [];
+        const events = {
+          error: [],
+          drain: [],
+          saturated: [],
+          unsaturated: [],
+          empty: []
+        };
+        function on(event, handler2) {
+          events[event].push(handler2);
+        }
+        function once2(event, handler2) {
+          const handleAndRemove = (...args) => {
+            off(event, handleAndRemove);
+            handler2(...args);
           };
-          if (!core_util_1.isNodeLike) {
-            return wrappedRes;
+          events[event].push(handleAndRemove);
+        }
+        function off(event, handler2) {
+          if (!event) return Object.keys(events).forEach((ev) => events[ev] = []);
+          if (!handler2) return events[event] = [];
+          events[event] = events[event].filter((ev) => ev !== handler2);
+        }
+        function trigger(event, ...args) {
+          events[event].forEach((handler2) => handler2(...args));
+        }
+        var processingScheduled = false;
+        function _insert(data, insertAtFront, rejectOnError, callback) {
+          if (callback != null && typeof callback !== "function") {
+            throw new Error("task callback must be a function");
           }
-          if (options.maxRetryRequests === void 0 || options.maxRetryRequests < 0) {
-            options.maxRetryRequests = constants_js_1.DEFAULT_MAX_DOWNLOAD_RETRY_REQUESTS;
+          q.started = true;
+          var res, rej;
+          function promiseCallback2(err, ...args) {
+            if (err) return rejectOnError ? rej(err) : res();
+            if (args.length <= 1) return res(args[0]);
+            res(args);
           }
-          if (res.contentLength === void 0) {
-            throw new RangeError(`File download response doesn't contain valid content length header`);
+          var item = q._createTaskItem(
+            data,
+            rejectOnError ? promiseCallback2 : callback || promiseCallback2
+          );
+          if (insertAtFront) {
+            q._tasks.unshift(item);
+          } else {
+            q._tasks.push(item);
           }
-          if (!res.etag) {
-            throw new RangeError(`File download response doesn't contain valid etag header`);
+          if (!processingScheduled) {
+            processingScheduled = true;
+            setImmediate$1(() => {
+              processingScheduled = false;
+              q.process();
+            });
           }
-          return new BlobDownloadResponse_js_1.BlobDownloadResponse(wrappedRes, async (start) => {
-            const updatedDownloadOptions = {
-              leaseAccessConditions: options.conditions,
-              modifiedAccessConditions: {
-                ifMatch: options.conditions.ifMatch || res.etag,
-                ifModifiedSince: options.conditions.ifModifiedSince,
-                ifNoneMatch: options.conditions.ifNoneMatch,
-                ifUnmodifiedSince: options.conditions.ifUnmodifiedSince,
-                ifTags: options.conditions?.tagConditions
-              },
-              range: (0, Range_js_1.rangeToString)({
-                count: offset + res.contentLength - start,
-                offset: start
-              }),
-              rangeGetContentMD5: options.rangeGetContentMD5,
-              rangeGetContentCRC64: options.rangeGetContentCrc64,
-              snapshot: options.snapshot,
-              cpkInfo: options.customerProvidedKey
-            };
-            return (await this.blobContext.download({
-              abortSignal: options.abortSignal,
-              ...updatedDownloadOptions
-            })).readableStreamBody;
-          }, offset, res.contentLength, {
-            maxRetryRequests: options.maxRetryRequests,
-            onProgress: options.onProgress
-          });
-        });
-      }
-      /**
-       * Returns true if the Azure blob resource represented by this client exists; false otherwise.
-       *
-       * NOTE: use this function with care since an existing blob might be deleted by other clients or
-       * applications. Vice versa new blobs might be added by other clients or applications after this
-       * function completes.
-       *
-       * @param options - options to Exists operation.
-       */
-      async exists(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-exists", options, async (updatedOptions) => {
-          try {
-            (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-            await this.getProperties({
-              abortSignal: options.abortSignal,
-              customerProvidedKey: options.customerProvidedKey,
-              conditions: options.conditions,
-              tracingOptions: updatedOptions.tracingOptions
+          if (rejectOnError || !callback) {
+            return new Promise((resolve3, reject2) => {
+              res = resolve3;
+              rej = reject2;
             });
-            return true;
-          } catch (e) {
-            if (e.statusCode === 404) {
-              return false;
-            } else if (e.statusCode === 409 && (e.details.errorCode === constants_js_1.BlobUsesCustomerSpecifiedEncryptionMsg || e.details.errorCode === constants_js_1.BlobDoesNotUseCustomerSpecifiedEncryption)) {
-              return true;
+          }
+        }
+        function _createCB(tasks) {
+          return function(err, ...args) {
+            numRunning -= 1;
+            for (var i = 0, l = tasks.length; i < l; i++) {
+              var task = tasks[i];
+              var index2 = workersList.indexOf(task);
+              if (index2 === 0) {
+                workersList.shift();
+              } else if (index2 > 0) {
+                workersList.splice(index2, 1);
+              }
+              task.callback(err, ...args);
+              if (err != null) {
+                trigger("error", err, task.data);
+              }
+            }
+            if (numRunning <= q.concurrency - q.buffer) {
+              trigger("unsaturated");
+            }
+            if (q.idle()) {
+              trigger("drain");
             }
-            throw e;
-          }
-        });
-      }
-      /**
-       * Returns all user-defined metadata, standard HTTP properties, and system properties
-       * for the blob. It does not return the content of the blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-properties
-       *
-       * WARNING: The `metadata` object returned in the response will have its keys in lowercase, even if
-       * they originally contained uppercase characters. This differs from the metadata keys returned by
-       * the methods of {@link ContainerClient} that list blobs using the `includeMetadata` option, which
-       * will retain their original casing.
-       *
-       * @param options - Optional options to Get Properties operation.
-       */
-      async getProperties(options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlobClient-getProperties", options, async (updatedOptions) => {
-          const res = (0, utils_common_js_1.assertResponse)(await this.blobContext.getProperties({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          return {
-            ...res,
-            _response: res._response,
-            // _response is made non-enumerable
-            objectReplicationDestinationPolicyId: res.objectReplicationPolicyId,
-            objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(res.objectReplicationRules)
+            q.process();
           };
-        });
-      }
-      /**
-       * Marks the specified blob or snapshot for deletion. The blob is later deleted
-       * during garbage collection. Note that in order to delete a blob, you must delete
-       * all of its snapshots. You can delete both at the same time with the Delete
-       * Blob operation.
-       * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob
-       *
-       * @param options - Optional options to Blob Delete operation.
-       */
-      async delete(options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("BlobClient-delete", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.delete({
-            abortSignal: options.abortSignal,
-            deleteSnapshots: options.deleteSnapshots,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
-      }
-      /**
-       * Marks the specified blob or snapshot for deletion if it exists. The blob is later deleted
-       * during garbage collection. Note that in order to delete a blob, you must delete
-       * all of its snapshots. You can delete both at the same time with the Delete
-       * Blob operation.
-       * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob
-       *
-       * @param options - Optional options to Blob Delete operation.
-       */
-      async deleteIfExists(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-deleteIfExists", options, async (updatedOptions) => {
-          try {
-            const res = (0, utils_common_js_1.assertResponse)(await this.delete(updatedOptions));
+        }
+        function _maybeDrain(data) {
+          if (data.length === 0 && q.idle()) {
+            setImmediate$1(() => trigger("drain"));
+            return true;
+          }
+          return false;
+        }
+        const eventMethod = (name) => (handler2) => {
+          if (!handler2) {
+            return new Promise((resolve3, reject2) => {
+              once2(name, (err, data) => {
+                if (err) return reject2(err);
+                resolve3(data);
+              });
+            });
+          }
+          off(name);
+          on(name, handler2);
+        };
+        var isProcessing = false;
+        var q = {
+          _tasks: new DLL(),
+          _createTaskItem(data, callback) {
             return {
-              succeeded: true,
-              ...res,
-              _response: res._response
-              // _response is made non-enumerable
+              data,
+              callback
             };
-          } catch (e) {
-            if (e.details?.errorCode === "BlobNotFound") {
-              return {
-                succeeded: false,
-                ...e.response?.parsedHeaders,
-                _response: e.response
-              };
+          },
+          *[Symbol.iterator]() {
+            yield* q._tasks[Symbol.iterator]();
+          },
+          concurrency,
+          payload,
+          buffer: concurrency / 4,
+          started: false,
+          paused: false,
+          push(data, callback) {
+            if (Array.isArray(data)) {
+              if (_maybeDrain(data)) return;
+              return data.map((datum) => _insert(datum, false, false, callback));
             }
-            throw e;
+            return _insert(data, false, false, callback);
+          },
+          pushAsync(data, callback) {
+            if (Array.isArray(data)) {
+              if (_maybeDrain(data)) return;
+              return data.map((datum) => _insert(datum, false, true, callback));
+            }
+            return _insert(data, false, true, callback);
+          },
+          kill() {
+            off();
+            q._tasks.empty();
+          },
+          unshift(data, callback) {
+            if (Array.isArray(data)) {
+              if (_maybeDrain(data)) return;
+              return data.map((datum) => _insert(datum, true, false, callback));
+            }
+            return _insert(data, true, false, callback);
+          },
+          unshiftAsync(data, callback) {
+            if (Array.isArray(data)) {
+              if (_maybeDrain(data)) return;
+              return data.map((datum) => _insert(datum, true, true, callback));
+            }
+            return _insert(data, true, true, callback);
+          },
+          remove(testFn) {
+            q._tasks.remove(testFn);
+          },
+          process() {
+            if (isProcessing) {
+              return;
+            }
+            isProcessing = true;
+            while (!q.paused && numRunning < q.concurrency && q._tasks.length) {
+              var tasks = [], data = [];
+              var l = q._tasks.length;
+              if (q.payload) l = Math.min(l, q.payload);
+              for (var i = 0; i < l; i++) {
+                var node = q._tasks.shift();
+                tasks.push(node);
+                workersList.push(node);
+                data.push(node.data);
+              }
+              numRunning += 1;
+              if (q._tasks.length === 0) {
+                trigger("empty");
+              }
+              if (numRunning === q.concurrency) {
+                trigger("saturated");
+              }
+              var cb = onlyOnce(_createCB(tasks));
+              _worker(data, cb);
+            }
+            isProcessing = false;
+          },
+          length() {
+            return q._tasks.length;
+          },
+          running() {
+            return numRunning;
+          },
+          workersList() {
+            return workersList;
+          },
+          idle() {
+            return q._tasks.length + numRunning === 0;
+          },
+          pause() {
+            q.paused = true;
+          },
+          resume() {
+            if (q.paused === false) {
+              return;
+            }
+            q.paused = false;
+            setImmediate$1(q.process);
+          }
+        };
+        Object.defineProperties(q, {
+          saturated: {
+            writable: false,
+            value: eventMethod("saturated")
+          },
+          unsaturated: {
+            writable: false,
+            value: eventMethod("unsaturated")
+          },
+          empty: {
+            writable: false,
+            value: eventMethod("empty")
+          },
+          drain: {
+            writable: false,
+            value: eventMethod("drain")
+          },
+          error: {
+            writable: false,
+            value: eventMethod("error")
           }
         });
+        return q;
       }
-      /**
-       * Restores the contents and metadata of soft deleted blob and any associated
-       * soft deleted snapshots. Undelete Blob is supported only on version 2017-07-29
-       * or later.
-       * @see https://learn.microsoft.com/rest/api/storageservices/undelete-blob
-       *
-       * @param options - Optional options to Blob Undelete operation.
-       */
-      async undelete(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-undelete", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.undelete({
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
-      }
-      /**
-       * Sets system properties on the blob.
-       *
-       * If no value provided, or no value provided for the specified blob HTTP headers,
-       * these blob HTTP headers without a value will be cleared.
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties
-       *
-       * @param blobHTTPHeaders - If no value provided, or no value provided for
-       *                                                   the specified blob HTTP headers, these blob HTTP
-       *                                                   headers without a value will be cleared.
-       *                                                   A common header to set is `blobContentType`
-       *                                                   enabling the browser to provide functionality
-       *                                                   based on file type.
-       * @param options - Optional options to Blob Set HTTP Headers operation.
-       */
-      async setHTTPHeaders(blobHTTPHeaders, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlobClient-setHTTPHeaders", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setHttpHeaders({
-            abortSignal: options.abortSignal,
-            blobHttpHeaders: blobHTTPHeaders,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            // cpkInfo: options.customerProvidedKey, // CPK is not included in Swagger, should change this back when this issue is fixed in Swagger.
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function cargo$1(worker, payload) {
+        return queue$1(worker, 1, payload);
       }
-      /**
-       * Sets user-defined metadata for the specified blob as one or more name-value pairs.
-       *
-       * If no option provided, or no metadata defined in the parameter, the blob
-       * metadata will be removed.
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-metadata
-       *
-       * @param metadata - Replace existing metadata with this value.
-       *                               If no value provided the existing metadata will be removed.
-       * @param options - Optional options to Set Metadata operation.
-       */
-      async setMetadata(metadata, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlobClient-setMetadata", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setMetadata({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            metadata,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function cargo(worker, concurrency, payload) {
+        return queue$1(worker, concurrency, payload);
       }
-      /**
-       * Sets tags on the underlying blob.
-       * A blob can have up to 10 tags. Tag keys must be between 1 and 128 characters.  Tag values must be between 0 and 256 characters.
-       * Valid tag key and value characters include lower and upper case letters, digits (0-9),
-       * space (' '), plus ('+'), minus ('-'), period ('.'), foward slash ('/'), colon (':'), equals ('='), and underscore ('_').
-       *
-       * @param tags -
-       * @param options -
-       */
-      async setTags(tags, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-setTags", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setTags({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions,
-            tags: (0, utils_common_js_1.toBlobTags)(tags)
-          }));
-        });
+      function reduce(coll, memo, iteratee, callback) {
+        callback = once(callback);
+        var _iteratee = wrapAsync(iteratee);
+        return eachOfSeries$1(coll, (x, i, iterCb) => {
+          _iteratee(memo, x, (err, v) => {
+            memo = v;
+            iterCb(err);
+          });
+        }, (err) => callback(err, memo));
       }
-      /**
-       * Gets the tags associated with the underlying blob.
-       *
-       * @param options -
-       */
-      async getTags(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-getTags", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this.blobContext.getTags({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
+      var reduce$1 = awaitify(reduce, 4);
+      function seq2(...functions) {
+        var _functions = functions.map(wrapAsync);
+        return function(...args) {
+          var that = this;
+          var cb = args[args.length - 1];
+          if (typeof cb == "function") {
+            args.pop();
+          } else {
+            cb = promiseCallback();
+          }
+          reduce$1(
+            _functions,
+            args,
+            (newargs, fn, iterCb) => {
+              fn.apply(that, newargs.concat((err, ...nextargs) => {
+                iterCb(err, nextargs);
+              }));
             },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const wrappedResponse = {
-            ...response,
-            _response: response._response,
-            // _response is made non-enumerable
-            tags: (0, utils_common_js_1.toTags)({ blobTagSet: response.blobTagSet }) || {}
-          };
-          return wrappedResponse;
-        });
+            (err, results) => cb(err, ...results)
+          );
+          return cb[PROMISE_SYMBOL];
+        };
       }
-      /**
-       * Get a {@link BlobLeaseClient} that manages leases on the blob.
-       *
-       * @param proposeLeaseId - Initial proposed lease Id.
-       * @returns A new BlobLeaseClient object for managing leases on the blob.
-       */
-      getBlobLeaseClient(proposeLeaseId) {
-        return new BlobLeaseClient_js_1.BlobLeaseClient(this, proposeLeaseId);
+      function compose(...args) {
+        return seq2(...args.reverse());
       }
-      /**
-       * Creates a read-only snapshot of a blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/snapshot-blob
-       *
-       * @param options - Optional options to the Blob Create Snapshot operation.
-       */
-      async createSnapshot(options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlobClient-createSnapshot", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.createSnapshot({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            metadata: options.metadata,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function mapLimit(coll, limit, iteratee, callback) {
+        return _asyncMap(eachOfLimit$2(limit), coll, iteratee, callback);
       }
-      /**
-       * Asynchronously copies a blob to a destination within the storage account.
-       * This method returns a long running operation poller that allows you to wait
-       * indefinitely until the copy is completed.
-       * You can also cancel a copy before it is completed by calling `cancelOperation` on the poller.
-       * Note that the onProgress callback will not be invoked if the operation completes in the first
-       * request, and attempting to cancel a completed copy will result in an error being thrown.
-       *
-       * In version 2012-02-12 and later, the source for a Copy Blob operation can be
-       * a committed blob in any Azure storage account.
-       * Beginning with version 2015-02-21, the source for a Copy Blob operation can be
-       * an Azure file in any Azure storage account.
-       * Only storage accounts created on or after June 7th, 2012 allow the Copy Blob
-       * operation to copy from another storage account.
-       * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob
-       *
-       * ```ts snippet:ClientsBeginCopyFromURL
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blobClient = containerClient.getBlobClient(blobName);
-       *
-       * // Example using automatic polling
-       * const automaticCopyPoller = await blobClient.beginCopyFromURL("url");
-       * const automaticResult = await automaticCopyPoller.pollUntilDone();
-       *
-       * // Example using manual polling
-       * const manualCopyPoller = await blobClient.beginCopyFromURL("url");
-       * while (!manualCopyPoller.isDone()) {
-       *   await manualCopyPoller.poll();
-       * }
-       * const manualResult = manualCopyPoller.getResult();
-       *
-       * // Example using progress updates
-       * const progressUpdatesCopyPoller = await blobClient.beginCopyFromURL("url", {
-       *   onProgress(state) {
-       *     console.log(`Progress: ${state.copyProgress}`);
-       *   },
-       * });
-       * const progressUpdatesResult = await progressUpdatesCopyPoller.pollUntilDone();
-       *
-       * // Example using a changing polling interval (default 15 seconds)
-       * const pollingIntervalCopyPoller = await blobClient.beginCopyFromURL("url", {
-       *   intervalInMs: 1000, // poll blob every 1 second for copy progress
-       * });
-       * const pollingIntervalResult = await pollingIntervalCopyPoller.pollUntilDone();
-       *
-       * // Example using copy cancellation:
-       * const cancelCopyPoller = await blobClient.beginCopyFromURL("url");
-       * // cancel operation after starting it.
-       * try {
-       *   await cancelCopyPoller.cancelOperation();
-       *   // calls to get the result now throw PollerCancelledError
-       *   cancelCopyPoller.getResult();
-       * } catch (err: any) {
-       *   if (err.name === "PollerCancelledError") {
-       *     console.log("The copy was cancelled.");
-       *   }
-       * }
-       * ```
-       *
-       * @param copySource - url to the source Azure Blob/File.
-       * @param options - Optional options to the Blob Start Copy From URL operation.
-       */
-      async beginCopyFromURL(copySource, options = {}) {
-        const client = {
-          abortCopyFromURL: (...args) => this.abortCopyFromURL(...args),
-          getProperties: (...args) => this.getProperties(...args),
-          startCopyFromURL: (...args) => this.startCopyFromURL(...args)
-        };
-        const poller = new BlobStartCopyFromUrlPoller_js_1.BlobBeginCopyFromUrlPoller({
-          blobClient: client,
-          copySource,
-          intervalInMs: options.intervalInMs,
-          onProgress: options.onProgress,
-          resumeFrom: options.resumeFrom,
-          startCopyFromURLOptions: options
+      var mapLimit$1 = awaitify(mapLimit, 4);
+      function concatLimit(coll, limit, iteratee, callback) {
+        var _iteratee = wrapAsync(iteratee);
+        return mapLimit$1(coll, limit, (val, iterCb) => {
+          _iteratee(val, (err, ...args) => {
+            if (err) return iterCb(err);
+            return iterCb(err, args);
+          });
+        }, (err, mapResults) => {
+          var result = [];
+          for (var i = 0; i < mapResults.length; i++) {
+            if (mapResults[i]) {
+              result = result.concat(...mapResults[i]);
+            }
+          }
+          return callback(err, result);
         });
-        await poller.poll();
-        return poller;
       }
-      /**
-       * Aborts a pending asynchronous Copy Blob operation, and leaves a destination blob with zero
-       * length and full metadata. Version 2012-02-12 and newer.
-       * @see https://learn.microsoft.com/rest/api/storageservices/abort-copy-blob
-       *
-       * @param copyId - Id of the Copy From URL operation.
-       * @param options - Optional options to the Blob Abort Copy From URL operation.
-       */
-      async abortCopyFromURL(copyId, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-abortCopyFromURL", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.abortCopyFromURL(copyId, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      var concatLimit$1 = awaitify(concatLimit, 4);
+      function concat(coll, iteratee, callback) {
+        return concatLimit$1(coll, Infinity, iteratee, callback);
       }
-      /**
-       * The synchronous Copy From URL operation copies a blob or an internet resource to a new blob. It will not
-       * return a response until the copy is complete.
-       * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob-from-url
-       *
-       * @param copySource - The source URL to copy from, Shared Access Signature(SAS) maybe needed for authentication
-       * @param options -
-       */
-      async syncCopyFromURL(copySource, options = {}) {
-        options.conditions = options.conditions || {};
-        options.sourceConditions = options.sourceConditions || {};
-        return tracing_js_1.tracingClient.withSpan("BlobClient-syncCopyFromURL", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.copyFromURL(copySource, {
-            abortSignal: options.abortSignal,
-            metadata: options.metadata,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            sourceModifiedAccessConditions: {
-              sourceIfMatch: options.sourceConditions?.ifMatch,
-              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
-              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
-              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince
-            },
-            sourceContentMD5: options.sourceContentMD5,
-            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
-            tier: (0, models_js_1.toAccessTier)(options.tier),
-            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
-            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
-            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
-            legalHold: options.legalHold,
-            encryptionScope: options.encryptionScope,
-            copySourceTags: options.copySourceTags,
-            fileRequestIntent: options.sourceShareTokenIntent,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      var concat$1 = awaitify(concat, 3);
+      function concatSeries(coll, iteratee, callback) {
+        return concatLimit$1(coll, 1, iteratee, callback);
       }
-      /**
-       * Sets the tier on a blob. The operation is allowed on a page blob in a premium
-       * storage account and on a block blob in a blob storage account (locally redundant
-       * storage only). A premium page blob's tier determines the allowed size, IOPS,
-       * and bandwidth of the blob. A block blob's tier determines Hot/Cool/Archive
-       * storage type. This operation does not update the blob's ETag.
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-tier
-       *
-       * @param tier - The tier to be set on the blob. Valid values are Hot, Cool, or Archive.
-       * @param options - Optional options to the Blob Set Tier operation.
-       */
-      async setAccessTier(tier, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-setAccessTier", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setTier((0, models_js_1.toAccessTier)(tier), {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            rehydratePriority: options.rehydratePriority,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
+      var concatSeries$1 = awaitify(concatSeries, 3);
+      function constant$1(...args) {
+        return function(...ignoredArgs) {
+          var callback = ignoredArgs.pop();
+          return callback(null, ...args);
+        };
+      }
+      function _createTester(check, getResult) {
+        return (eachfn, arr, _iteratee, cb) => {
+          var testPassed = false;
+          var testResult;
+          const iteratee = wrapAsync(_iteratee);
+          eachfn(arr, (value, _2, callback) => {
+            iteratee(value, (err, result) => {
+              if (err || err === false) return callback(err);
+              if (check(result) && !testResult) {
+                testPassed = true;
+                testResult = getResult(true, value);
+                return callback(null, breakLoop);
+              }
+              callback();
+            });
+          }, (err) => {
+            if (err) return cb(err);
+            cb(null, testPassed ? testResult : getResult(false));
+          });
+        };
+      }
+      function detect(coll, iteratee, callback) {
+        return _createTester((bool2) => bool2, (res, item) => item)(eachOf$1, coll, iteratee, callback);
+      }
+      var detect$1 = awaitify(detect, 3);
+      function detectLimit(coll, limit, iteratee, callback) {
+        return _createTester((bool2) => bool2, (res, item) => item)(eachOfLimit$2(limit), coll, iteratee, callback);
+      }
+      var detectLimit$1 = awaitify(detectLimit, 4);
+      function detectSeries(coll, iteratee, callback) {
+        return _createTester((bool2) => bool2, (res, item) => item)(eachOfLimit$2(1), coll, iteratee, callback);
+      }
+      var detectSeries$1 = awaitify(detectSeries, 3);
+      function consoleFunc(name) {
+        return (fn, ...args) => wrapAsync(fn)(...args, (err, ...resultArgs) => {
+          if (typeof console === "object") {
+            if (err) {
+              if (console.error) {
+                console.error(err);
+              }
+            } else if (console[name]) {
+              resultArgs.forEach((x) => console[name](x));
+            }
+          }
         });
       }
-      async downloadToBuffer(param1, param2, param3, param4 = {}) {
-        let buffer;
-        let offset = 0;
-        let count = 0;
-        let options = param4;
-        if (param1 instanceof Buffer) {
-          buffer = param1;
-          offset = param2 || 0;
-          count = typeof param3 === "number" ? param3 : 0;
-        } else {
-          offset = typeof param1 === "number" ? param1 : 0;
-          count = typeof param2 === "number" ? param2 : 0;
-          options = param3 || {};
-        }
-        let blockSize = options.blockSize ?? 0;
-        if (blockSize < 0) {
-          throw new RangeError("blockSize option must be >= 0");
-        }
-        if (blockSize === 0) {
-          blockSize = constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES;
-        }
-        if (offset < 0) {
-          throw new RangeError("offset option must be >= 0");
-        }
-        if (count && count <= 0) {
-          throw new RangeError("count option must be greater than 0");
+      var dir = consoleFunc("dir");
+      function doWhilst(iteratee, test, callback) {
+        callback = onlyOnce(callback);
+        var _fn = wrapAsync(iteratee);
+        var _test = wrapAsync(test);
+        var results;
+        function next(err, ...args) {
+          if (err) return callback(err);
+          if (err === false) return;
+          results = args;
+          _test(...args, check);
         }
-        if (!options.conditions) {
-          options.conditions = {};
+        function check(err, truth) {
+          if (err) return callback(err);
+          if (err === false) return;
+          if (!truth) return callback(null, ...results);
+          _fn(next);
         }
-        return tracing_js_1.tracingClient.withSpan("BlobClient-downloadToBuffer", options, async (updatedOptions) => {
-          if (!count) {
-            const response = await this.getProperties({
-              ...options,
-              tracingOptions: updatedOptions.tracingOptions
-            });
-            count = response.contentLength - offset;
-            if (count < 0) {
-              throw new RangeError(`offset ${offset} shouldn't be larger than blob size ${response.contentLength}`);
+        return check(null, true);
+      }
+      var doWhilst$1 = awaitify(doWhilst, 3);
+      function doUntil(iteratee, test, callback) {
+        const _test = wrapAsync(test);
+        return doWhilst$1(iteratee, (...args) => {
+          const cb = args.pop();
+          _test(...args, (err, truth) => cb(err, !truth));
+        }, callback);
+      }
+      function _withoutIndex(iteratee) {
+        return (value, index2, callback) => iteratee(value, callback);
+      }
+      function eachLimit$2(coll, iteratee, callback) {
+        return eachOf$1(coll, _withoutIndex(wrapAsync(iteratee)), callback);
+      }
+      var each = awaitify(eachLimit$2, 3);
+      function eachLimit(coll, limit, iteratee, callback) {
+        return eachOfLimit$2(limit)(coll, _withoutIndex(wrapAsync(iteratee)), callback);
+      }
+      var eachLimit$1 = awaitify(eachLimit, 4);
+      function eachSeries(coll, iteratee, callback) {
+        return eachLimit$1(coll, 1, iteratee, callback);
+      }
+      var eachSeries$1 = awaitify(eachSeries, 3);
+      function ensureAsync(fn) {
+        if (isAsync(fn)) return fn;
+        return function(...args) {
+          var callback = args.pop();
+          var sync = true;
+          args.push((...innerArgs) => {
+            if (sync) {
+              setImmediate$1(() => callback(...innerArgs));
+            } else {
+              callback(...innerArgs);
             }
+          });
+          fn.apply(this, args);
+          sync = false;
+        };
+      }
+      function every(coll, iteratee, callback) {
+        return _createTester((bool2) => !bool2, (res) => !res)(eachOf$1, coll, iteratee, callback);
+      }
+      var every$1 = awaitify(every, 3);
+      function everyLimit(coll, limit, iteratee, callback) {
+        return _createTester((bool2) => !bool2, (res) => !res)(eachOfLimit$2(limit), coll, iteratee, callback);
+      }
+      var everyLimit$1 = awaitify(everyLimit, 4);
+      function everySeries(coll, iteratee, callback) {
+        return _createTester((bool2) => !bool2, (res) => !res)(eachOfSeries$1, coll, iteratee, callback);
+      }
+      var everySeries$1 = awaitify(everySeries, 3);
+      function filterArray(eachfn, arr, iteratee, callback) {
+        var truthValues = new Array(arr.length);
+        eachfn(arr, (x, index2, iterCb) => {
+          iteratee(x, (err, v) => {
+            truthValues[index2] = !!v;
+            iterCb(err);
+          });
+        }, (err) => {
+          if (err) return callback(err);
+          var results = [];
+          for (var i = 0; i < arr.length; i++) {
+            if (truthValues[i]) results.push(arr[i]);
           }
-          if (!buffer) {
-            try {
-              buffer = Buffer.alloc(count);
-            } catch (error3) {
-              throw new Error(`Unable to allocate the buffer of size: ${count}(in bytes). Please try passing your own buffer to the "downloadToBuffer" method or try using other methods like "download" or "downloadToFile".	 ${error3.message}`);
+          callback(null, results);
+        });
+      }
+      function filterGeneric(eachfn, coll, iteratee, callback) {
+        var results = [];
+        eachfn(coll, (x, index2, iterCb) => {
+          iteratee(x, (err, v) => {
+            if (err) return iterCb(err);
+            if (v) {
+              results.push({ index: index2, value: x });
+            }
+            iterCb(err);
+          });
+        }, (err) => {
+          if (err) return callback(err);
+          callback(null, results.sort((a, b) => a.index - b.index).map((v) => v.value));
+        });
+      }
+      function _filter(eachfn, coll, iteratee, callback) {
+        var filter2 = isArrayLike(coll) ? filterArray : filterGeneric;
+        return filter2(eachfn, coll, wrapAsync(iteratee), callback);
+      }
+      function filter(coll, iteratee, callback) {
+        return _filter(eachOf$1, coll, iteratee, callback);
+      }
+      var filter$1 = awaitify(filter, 3);
+      function filterLimit(coll, limit, iteratee, callback) {
+        return _filter(eachOfLimit$2(limit), coll, iteratee, callback);
+      }
+      var filterLimit$1 = awaitify(filterLimit, 4);
+      function filterSeries(coll, iteratee, callback) {
+        return _filter(eachOfSeries$1, coll, iteratee, callback);
+      }
+      var filterSeries$1 = awaitify(filterSeries, 3);
+      function forever(fn, errback) {
+        var done = onlyOnce(errback);
+        var task = wrapAsync(ensureAsync(fn));
+        function next(err) {
+          if (err) return done(err);
+          if (err === false) return;
+          task(next);
+        }
+        return next();
+      }
+      var forever$1 = awaitify(forever, 2);
+      function groupByLimit(coll, limit, iteratee, callback) {
+        var _iteratee = wrapAsync(iteratee);
+        return mapLimit$1(coll, limit, (val, iterCb) => {
+          _iteratee(val, (err, key) => {
+            if (err) return iterCb(err);
+            return iterCb(err, { key, val });
+          });
+        }, (err, mapResults) => {
+          var result = {};
+          var { hasOwnProperty } = Object.prototype;
+          for (var i = 0; i < mapResults.length; i++) {
+            if (mapResults[i]) {
+              var { key } = mapResults[i];
+              var { val } = mapResults[i];
+              if (hasOwnProperty.call(result, key)) {
+                result[key].push(val);
+              } else {
+                result[key] = [val];
+              }
             }
           }
-          if (buffer.length < count) {
-            throw new RangeError(`The buffer's size should be equal to or larger than the request count of bytes: ${count}`);
-          }
-          let transferProgress = 0;
-          const batch = new Batch_js_1.Batch(options.concurrency);
-          for (let off = offset; off < offset + count; off = off + blockSize) {
-            batch.addOperation(async () => {
-              let chunkEnd = offset + count;
-              if (off + blockSize < chunkEnd) {
-                chunkEnd = off + blockSize;
+          return callback(err, result);
+        });
+      }
+      var groupByLimit$1 = awaitify(groupByLimit, 4);
+      function groupBy(coll, iteratee, callback) {
+        return groupByLimit$1(coll, Infinity, iteratee, callback);
+      }
+      function groupBySeries(coll, iteratee, callback) {
+        return groupByLimit$1(coll, 1, iteratee, callback);
+      }
+      var log = consoleFunc("log");
+      function mapValuesLimit(obj, limit, iteratee, callback) {
+        callback = once(callback);
+        var newObj = {};
+        var _iteratee = wrapAsync(iteratee);
+        return eachOfLimit$2(limit)(obj, (val, key, next) => {
+          _iteratee(val, key, (err, result) => {
+            if (err) return next(err);
+            newObj[key] = result;
+            next(err);
+          });
+        }, (err) => callback(err, newObj));
+      }
+      var mapValuesLimit$1 = awaitify(mapValuesLimit, 4);
+      function mapValues(obj, iteratee, callback) {
+        return mapValuesLimit$1(obj, Infinity, iteratee, callback);
+      }
+      function mapValuesSeries(obj, iteratee, callback) {
+        return mapValuesLimit$1(obj, 1, iteratee, callback);
+      }
+      function memoize(fn, hasher = (v) => v) {
+        var memo = /* @__PURE__ */ Object.create(null);
+        var queues = /* @__PURE__ */ Object.create(null);
+        var _fn = wrapAsync(fn);
+        var memoized = initialParams((args, callback) => {
+          var key = hasher(...args);
+          if (key in memo) {
+            setImmediate$1(() => callback(null, ...memo[key]));
+          } else if (key in queues) {
+            queues[key].push(callback);
+          } else {
+            queues[key] = [callback];
+            _fn(...args, (err, ...resultArgs) => {
+              if (!err) {
+                memo[key] = resultArgs;
               }
-              const response = await this.download(off, chunkEnd - off, {
-                abortSignal: options.abortSignal,
-                conditions: options.conditions,
-                maxRetryRequests: options.maxRetryRequestsPerBlock,
-                customerProvidedKey: options.customerProvidedKey,
-                tracingOptions: updatedOptions.tracingOptions
-              });
-              const stream = response.readableStreamBody;
-              await (0, utils_js_1.streamToBuffer)(stream, buffer, off - offset, chunkEnd - offset);
-              transferProgress += chunkEnd - off;
-              if (options.onProgress) {
-                options.onProgress({ loadedBytes: transferProgress });
+              var q = queues[key];
+              delete queues[key];
+              for (var i = 0, l = q.length; i < l; i++) {
+                q[i](err, ...resultArgs);
               }
             });
           }
-          await batch.do();
-          return buffer;
         });
+        memoized.memo = memo;
+        memoized.unmemoized = fn;
+        return memoized;
       }
-      /**
-       * ONLY AVAILABLE IN NODE.JS RUNTIME.
-       *
-       * Downloads an Azure Blob to a local file.
-       * Fails if the the given file path already exits.
-       * Offset and count are optional, pass 0 and undefined respectively to download the entire blob.
-       *
-       * @param filePath -
-       * @param offset - From which position of the block blob to download.
-       * @param count - How much data to be downloaded. Will download to the end when passing undefined.
-       * @param options - Options to Blob download options.
-       * @returns The response data for blob download operation,
-       *                                                 but with readableStreamBody set to undefined since its
-       *                                                 content is already read and written into a local file
-       *                                                 at the specified path.
-       */
-      async downloadToFile(filePath, offset = 0, count, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-downloadToFile", options, async (updatedOptions) => {
-          const response = await this.download(offset, count, {
-            ...options,
-            tracingOptions: updatedOptions.tracingOptions
+      var _defer;
+      if (hasNextTick) {
+        _defer = process.nextTick;
+      } else if (hasSetImmediate) {
+        _defer = setImmediate;
+      } else {
+        _defer = fallback;
+      }
+      var nextTick = wrap(_defer);
+      var _parallel = awaitify((eachfn, tasks, callback) => {
+        var results = isArrayLike(tasks) ? [] : {};
+        eachfn(tasks, (task, key, taskCb) => {
+          wrapAsync(task)((err, ...result) => {
+            if (result.length < 2) {
+              [result] = result;
+            }
+            results[key] = result;
+            taskCb(err);
           });
-          if (response.readableStreamBody) {
-            await (0, utils_js_1.readStreamToLocalFile)(response.readableStreamBody, filePath);
+        }, (err) => callback(err, results));
+      }, 3);
+      function parallel(tasks, callback) {
+        return _parallel(eachOf$1, tasks, callback);
+      }
+      function parallelLimit(tasks, limit, callback) {
+        return _parallel(eachOfLimit$2(limit), tasks, callback);
+      }
+      function queue(worker, concurrency) {
+        var _worker = wrapAsync(worker);
+        return queue$1((items, cb) => {
+          _worker(items[0], cb);
+        }, concurrency, 1);
+      }
+      class Heap {
+        constructor() {
+          this.heap = [];
+          this.pushCount = Number.MIN_SAFE_INTEGER;
+        }
+        get length() {
+          return this.heap.length;
+        }
+        empty() {
+          this.heap = [];
+          return this;
+        }
+        percUp(index2) {
+          let p;
+          while (index2 > 0 && smaller(this.heap[index2], this.heap[p = parent(index2)])) {
+            let t = this.heap[index2];
+            this.heap[index2] = this.heap[p];
+            this.heap[p] = t;
+            index2 = p;
+          }
+        }
+        percDown(index2) {
+          let l;
+          while ((l = leftChi(index2)) < this.heap.length) {
+            if (l + 1 < this.heap.length && smaller(this.heap[l + 1], this.heap[l])) {
+              l = l + 1;
+            }
+            if (smaller(this.heap[index2], this.heap[l])) {
+              break;
+            }
+            let t = this.heap[index2];
+            this.heap[index2] = this.heap[l];
+            this.heap[l] = t;
+            index2 = l;
+          }
+        }
+        push(node) {
+          node.pushCount = ++this.pushCount;
+          this.heap.push(node);
+          this.percUp(this.heap.length - 1);
+        }
+        unshift(node) {
+          return this.heap.push(node);
+        }
+        shift() {
+          let [top] = this.heap;
+          this.heap[0] = this.heap[this.heap.length - 1];
+          this.heap.pop();
+          this.percDown(0);
+          return top;
+        }
+        toArray() {
+          return [...this];
+        }
+        *[Symbol.iterator]() {
+          for (let i = 0; i < this.heap.length; i++) {
+            yield this.heap[i].data;
           }
-          response.blobDownloadStream = void 0;
-          return response;
-        });
-      }
-      getBlobAndContainerNamesFromUrl() {
-        let containerName;
-        let blobName;
-        try {
-          const parsedUrl = new URL(this.url);
-          if (parsedUrl.host.split(".")[1] === "blob") {
-            const pathComponents = parsedUrl.pathname.match("/([^/]*)(/(.*))?");
-            containerName = pathComponents[1];
-            blobName = pathComponents[3];
-          } else if ((0, utils_common_js_1.isIpEndpointStyle)(parsedUrl)) {
-            const pathComponents = parsedUrl.pathname.match("/([^/]*)/([^/]*)(/(.*))?");
-            containerName = pathComponents[2];
-            blobName = pathComponents[4];
-          } else {
-            const pathComponents = parsedUrl.pathname.match("/([^/]*)(/(.*))?");
-            containerName = pathComponents[1];
-            blobName = pathComponents[3];
+        }
+        remove(testFn) {
+          let j = 0;
+          for (let i = 0; i < this.heap.length; i++) {
+            if (!testFn(this.heap[i])) {
+              this.heap[j] = this.heap[i];
+              j++;
+            }
           }
-          containerName = decodeURIComponent(containerName);
-          blobName = decodeURIComponent(blobName);
-          blobName = blobName.replace(/\\/g, "/");
-          if (!containerName) {
-            throw new Error("Provided containerName is invalid.");
+          this.heap.splice(j);
+          for (let i = parent(this.heap.length - 1); i >= 0; i--) {
+            this.percDown(i);
           }
-          return { blobName, containerName };
-        } catch (error3) {
-          throw new Error("Unable to extract blobName and containerName with provided information.");
+          return this;
         }
       }
-      /**
-       * Asynchronously copies a blob to a destination within the storage account.
-       * In version 2012-02-12 and later, the source for a Copy Blob operation can be
-       * a committed blob in any Azure storage account.
-       * Beginning with version 2015-02-21, the source for a Copy Blob operation can be
-       * an Azure file in any Azure storage account.
-       * Only storage accounts created on or after June 7th, 2012 allow the Copy Blob
-       * operation to copy from another storage account.
-       * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob
-       *
-       * @param copySource - url to the source Azure Blob/File.
-       * @param options - Optional options to the Blob Start Copy From URL operation.
-       */
-      async startCopyFromURL(copySource, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-startCopyFromURL", options, async (updatedOptions) => {
-          options.conditions = options.conditions || {};
-          options.sourceConditions = options.sourceConditions || {};
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.startCopyFromURL(copySource, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            metadata: options.metadata,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            sourceModifiedAccessConditions: {
-              sourceIfMatch: options.sourceConditions.ifMatch,
-              sourceIfModifiedSince: options.sourceConditions.ifModifiedSince,
-              sourceIfNoneMatch: options.sourceConditions.ifNoneMatch,
-              sourceIfUnmodifiedSince: options.sourceConditions.ifUnmodifiedSince,
-              sourceIfTags: options.sourceConditions.tagConditions
-            },
-            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
-            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
-            legalHold: options.legalHold,
-            rehydratePriority: options.rehydratePriority,
-            tier: (0, models_js_1.toAccessTier)(options.tier),
-            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
-            sealBlob: options.sealBlob,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function leftChi(i) {
+        return (i << 1) + 1;
       }
-      /**
-       * Only available for BlobClient constructed with a shared key credential.
-       *
-       * Generates a Blob Service Shared Access Signature (SAS) URI based on the client properties
-       * and parameters passed in. The SAS is signed by the shared key credential of the client.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateSasUrl(options) {
-        return new Promise((resolve3) => {
-          if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
-            throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
+      function parent(i) {
+        return (i + 1 >> 1) - 1;
+      }
+      function smaller(x, y) {
+        if (x.priority !== y.priority) {
+          return x.priority < y.priority;
+        } else {
+          return x.pushCount < y.pushCount;
+        }
+      }
+      function priorityQueue(worker, concurrency) {
+        var q = queue(worker, concurrency);
+        var {
+          push,
+          pushAsync
+        } = q;
+        q._tasks = new Heap();
+        q._createTaskItem = ({ data, priority }, callback) => {
+          return {
+            data,
+            priority,
+            callback
+          };
+        };
+        function createDataItems(tasks, priority) {
+          if (!Array.isArray(tasks)) {
+            return { data: tasks, priority };
           }
-          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
-            containerName: this._containerName,
-            blobName: this._name,
-            snapshotTime: this._snapshot,
-            versionId: this._versionId,
-            ...options
-          }, this.credential).toString();
-          resolve3((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
-        });
+          return tasks.map((data) => {
+            return { data, priority };
+          });
+        }
+        q.push = function(data, priority = 0, callback) {
+          return push(createDataItems(data, priority), callback);
+        };
+        q.pushAsync = function(data, priority = 0, callback) {
+          return pushAsync(createDataItems(data, priority), callback);
+        };
+        delete q.unshift;
+        delete q.unshiftAsync;
+        return q;
       }
-      /**
-       * Only available for BlobClient constructed with a shared key credential.
-       *
-       * Generates string to sign for a Blob Service Shared Access Signature (SAS) URI based on
-       * the client properties and parameters passed in. The SAS is signed by the shared key credential of the client.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/
-      generateSasStringToSign(options) {
-        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
-          throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
+      function race(tasks, callback) {
+        callback = once(callback);
+        if (!Array.isArray(tasks)) return callback(new TypeError("First argument to race must be an array of functions"));
+        if (!tasks.length) return callback();
+        for (var i = 0, l = tasks.length; i < l; i++) {
+          wrapAsync(tasks[i])(callback);
         }
-        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
-          containerName: this._containerName,
-          blobName: this._name,
-          snapshotTime: this._snapshot,
-          versionId: this._versionId,
-          ...options
-        }, this.credential).stringToSign;
       }
-      /**
-       *
-       * Generates a Blob Service Shared Access Signature (SAS) URI based on
-       * the client properties and parameters passed in. The SAS is signed by the input user delegation key.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateUserDelegationSasUrl(options, userDelegationKey) {
-        return new Promise((resolve3) => {
-          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
-            containerName: this._containerName,
-            blobName: this._name,
-            snapshotTime: this._snapshot,
-            versionId: this._versionId,
-            ...options
-          }, userDelegationKey, this.accountName).toString();
-          resolve3((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
+      var race$1 = awaitify(race, 2);
+      function reduceRight(array, memo, iteratee, callback) {
+        var reversed = [...array].reverse();
+        return reduce$1(reversed, memo, iteratee, callback);
+      }
+      function reflect(fn) {
+        var _fn = wrapAsync(fn);
+        return initialParams(function reflectOn(args, reflectCallback) {
+          args.push((error3, ...cbArgs) => {
+            let retVal = {};
+            if (error3) {
+              retVal.error = error3;
+            }
+            if (cbArgs.length > 0) {
+              var value = cbArgs;
+              if (cbArgs.length <= 1) {
+                [value] = cbArgs;
+              }
+              retVal.value = value;
+            }
+            reflectCallback(null, retVal);
+          });
+          return _fn.apply(this, args);
         });
       }
-      /**
-       * Only available for BlobClient constructed with a shared key credential.
-       *
-       * Generates string to sign for a Blob Service Shared Access Signature (SAS) URI based on
-       * the client properties and parameters passed in. The SAS is signed by the input user delegation key.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateUserDelegationSasStringToSign(options, userDelegationKey) {
-        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
-          containerName: this._containerName,
-          blobName: this._name,
-          snapshotTime: this._snapshot,
-          versionId: this._versionId,
-          ...options
-        }, userDelegationKey, this.accountName).stringToSign;
+      function reflectAll(tasks) {
+        var results;
+        if (Array.isArray(tasks)) {
+          results = tasks.map(reflect);
+        } else {
+          results = {};
+          Object.keys(tasks).forEach((key) => {
+            results[key] = reflect.call(this, tasks[key]);
+          });
+        }
+        return results;
       }
-      /**
-       * Delete the immutablility policy on the blob.
-       *
-       * @param options - Optional options to delete immutability policy on the blob.
-       */
-      async deleteImmutabilityPolicy(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-deleteImmutabilityPolicy", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.deleteImmutabilityPolicy({
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function reject$2(eachfn, arr, _iteratee, callback) {
+        const iteratee = wrapAsync(_iteratee);
+        return _filter(eachfn, arr, (value, cb) => {
+          iteratee(value, (err, v) => {
+            cb(err, !v);
+          });
+        }, callback);
       }
-      /**
-       * Set immutability policy on the blob.
-       *
-       * @param options - Optional options to set immutability policy on the blob.
-       */
-      async setImmutabilityPolicy(immutabilityPolicy, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-setImmutabilityPolicy", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setImmutabilityPolicy({
-            immutabilityPolicyExpiry: immutabilityPolicy.expiriesOn,
-            immutabilityPolicyMode: immutabilityPolicy.policyMode,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function reject(coll, iteratee, callback) {
+        return reject$2(eachOf$1, coll, iteratee, callback);
       }
-      /**
-       * Set legal hold on the blob.
-       *
-       * @param options - Optional options to set legal hold on the blob.
-       */
-      async setLegalHold(legalHoldEnabled, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-setLegalHold", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setLegalHold(legalHoldEnabled, {
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      var reject$1 = awaitify(reject, 3);
+      function rejectLimit(coll, limit, iteratee, callback) {
+        return reject$2(eachOfLimit$2(limit), coll, iteratee, callback);
       }
-      /**
-       * The Get Account Information operation returns the sku name and account kind
-       * for the specified account.
-       * The Get Account Information operation is available on service versions beginning
-       * with version 2018-03-28.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information
-       *
-       * @param options - Options to the Service Get Account Info operation.
-       * @returns Response data for the Service Get Account Info operation.
-       */
-      async getAccountInfo(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-getAccountInfo", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.getAccountInfo({
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      var rejectLimit$1 = awaitify(rejectLimit, 4);
+      function rejectSeries(coll, iteratee, callback) {
+        return reject$2(eachOfSeries$1, coll, iteratee, callback);
       }
-    };
-    exports2.BlobClient = BlobClient;
-    var AppendBlobClient = class _AppendBlobClient extends BlobClient {
-      /**
-       * appendBlobsContext provided by protocol layer.
-       */
-      appendBlobContext;
-      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
-        let pipeline;
-        let url;
-        options = options || {};
-        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
-          url = urlOrConnectionString;
-          pipeline = credentialOrPipelineOrContainerName;
-        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
-          url = urlOrConnectionString;
-          options = blobNameOrOptions;
-          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
-        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
-          url = urlOrConnectionString;
-          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
-          const containerName = credentialOrPipelineOrContainerName;
-          const blobName = blobNameOrOptions;
-          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
-          if (extractedCreds.kind === "AccountConnString") {
-            if (core_util_1.isNodeLike) {
-              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
-              url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
-              if (!options.proxyOptions) {
-                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
-              }
-              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+      var rejectSeries$1 = awaitify(rejectSeries, 3);
+      function constant(value) {
+        return function() {
+          return value;
+        };
+      }
+      const DEFAULT_TIMES = 5;
+      const DEFAULT_INTERVAL = 0;
+      function retry2(opts, task, callback) {
+        var options = {
+          times: DEFAULT_TIMES,
+          intervalFunc: constant(DEFAULT_INTERVAL)
+        };
+        if (arguments.length < 3 && typeof opts === "function") {
+          callback = task || promiseCallback();
+          task = opts;
+        } else {
+          parseTimes(options, opts);
+          callback = callback || promiseCallback();
+        }
+        if (typeof task !== "function") {
+          throw new Error("Invalid arguments for async.retry");
+        }
+        var _task = wrapAsync(task);
+        var attempt = 1;
+        function retryAttempt() {
+          _task((err, ...args) => {
+            if (err === false) return;
+            if (err && attempt++ < options.times && (typeof options.errorFilter != "function" || options.errorFilter(err))) {
+              setTimeout(retryAttempt, options.intervalFunc(attempt - 1));
             } else {
-              throw new Error("Account connection string is only supported in Node.js environment");
+              callback(err, ...args);
             }
-          } else if (extractedCreds.kind === "SASConnString") {
-            url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
-            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-          } else {
-            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
-          }
+          });
+        }
+        retryAttempt();
+        return callback[PROMISE_SYMBOL];
+      }
+      function parseTimes(acc, t) {
+        if (typeof t === "object") {
+          acc.times = +t.times || DEFAULT_TIMES;
+          acc.intervalFunc = typeof t.interval === "function" ? t.interval : constant(+t.interval || DEFAULT_INTERVAL);
+          acc.errorFilter = t.errorFilter;
+        } else if (typeof t === "number" || typeof t === "string") {
+          acc.times = +t || DEFAULT_TIMES;
         } else {
-          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
+          throw new Error("Invalid arguments for async.retry");
         }
-        super(url, pipeline);
-        this.appendBlobContext = this.storageClientContext.appendBlob;
       }
-      /**
-       * Creates a new AppendBlobClient object identical to the source but with the
-       * specified snapshot timestamp.
-       * Provide "" will remove the snapshot and return a Client to the base blob.
-       *
-       * @param snapshot - The snapshot timestamp.
-       * @returns A new AppendBlobClient object identical to the source but with the specified snapshot timestamp.
-       */
-      withSnapshot(snapshot) {
-        return new _AppendBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
+      function retryable(opts, task) {
+        if (!task) {
+          task = opts;
+          opts = null;
+        }
+        let arity = opts && opts.arity || task.length;
+        if (isAsync(task)) {
+          arity += 1;
+        }
+        var _task = wrapAsync(task);
+        return initialParams((args, callback) => {
+          if (args.length < arity - 1 || callback == null) {
+            args.push(callback);
+            callback = promiseCallback();
+          }
+          function taskFn(cb) {
+            _task(...args, cb);
+          }
+          if (opts) retry2(opts, taskFn, callback);
+          else retry2(taskFn, callback);
+          return callback[PROMISE_SYMBOL];
+        });
       }
-      /**
-       * Creates a 0-length append blob. Call AppendBlock to append data to an append blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
-       *
-       * @param options - Options to the Append Block Create operation.
-       *
-       *
-       * Example usage:
-       *
-       * ```ts snippet:ClientsCreateAppendBlob
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       *
-       * const appendBlobClient = containerClient.getAppendBlobClient(blobName);
-       * await appendBlobClient.create();
-       * ```
-       */
-      async create(options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-create", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.create(0, {
-            abortSignal: options.abortSignal,
-            blobHttpHeaders: options.blobHTTPHeaders,
-            leaseAccessConditions: options.conditions,
-            metadata: options.metadata,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
-            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
-            legalHold: options.legalHold,
-            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
-            tracingOptions: updatedOptions.tracingOptions
-          }));
+      function series(tasks, callback) {
+        return _parallel(eachOfSeries$1, tasks, callback);
+      }
+      function some(coll, iteratee, callback) {
+        return _createTester(Boolean, (res) => res)(eachOf$1, coll, iteratee, callback);
+      }
+      var some$1 = awaitify(some, 3);
+      function someLimit(coll, limit, iteratee, callback) {
+        return _createTester(Boolean, (res) => res)(eachOfLimit$2(limit), coll, iteratee, callback);
+      }
+      var someLimit$1 = awaitify(someLimit, 4);
+      function someSeries(coll, iteratee, callback) {
+        return _createTester(Boolean, (res) => res)(eachOfSeries$1, coll, iteratee, callback);
+      }
+      var someSeries$1 = awaitify(someSeries, 3);
+      function sortBy(coll, iteratee, callback) {
+        var _iteratee = wrapAsync(iteratee);
+        return map$1(coll, (x, iterCb) => {
+          _iteratee(x, (err, criteria) => {
+            if (err) return iterCb(err);
+            iterCb(err, { value: x, criteria });
+          });
+        }, (err, results) => {
+          if (err) return callback(err);
+          callback(null, results.sort(comparator).map((v) => v.value));
         });
+        function comparator(left, right) {
+          var a = left.criteria, b = right.criteria;
+          return a < b ? -1 : a > b ? 1 : 0;
+        }
       }
-      /**
-       * Creates a 0-length append blob. Call AppendBlock to append data to an append blob.
-       * If the blob with the same name already exists, the content of the existing blob will remain unchanged.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
-       *
-       * @param options -
-       */
-      async createIfNotExists(options = {}) {
-        const conditions = { ifNoneMatch: constants_js_1.ETagAny };
-        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-createIfNotExists", options, async (updatedOptions) => {
-          try {
-            const res = (0, utils_common_js_1.assertResponse)(await this.create({
-              ...updatedOptions,
-              conditions
-            }));
-            return {
-              succeeded: true,
-              ...res,
-              _response: res._response
-              // _response is made non-enumerable
-            };
-          } catch (e) {
-            if (e.details?.errorCode === "BlobAlreadyExists") {
-              return {
-                succeeded: false,
-                ...e.response?.parsedHeaders,
-                _response: e.response
-              };
+      var sortBy$1 = awaitify(sortBy, 3);
+      function timeout(asyncFn, milliseconds, info7) {
+        var fn = wrapAsync(asyncFn);
+        return initialParams((args, callback) => {
+          var timedOut = false;
+          var timer;
+          function timeoutCallback() {
+            var name = asyncFn.name || "anonymous";
+            var error3 = new Error('Callback function "' + name + '" timed out.');
+            error3.code = "ETIMEDOUT";
+            if (info7) {
+              error3.info = info7;
             }
-            throw e;
+            timedOut = true;
+            callback(error3);
           }
+          args.push((...cbArgs) => {
+            if (!timedOut) {
+              callback(...cbArgs);
+              clearTimeout(timer);
+            }
+          });
+          timer = setTimeout(timeoutCallback, milliseconds);
+          fn(...args);
         });
       }
-      /**
-       * Seals the append blob, making it read only.
-       *
-       * @param options -
-       */
-      async seal(options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-seal", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.seal({
-            abortSignal: options.abortSignal,
-            appendPositionAccessConditions: options.conditions,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function range(size) {
+        var result = Array(size);
+        while (size--) {
+          result[size] = size;
+        }
+        return result;
       }
-      /**
-       * Commits a new block of data to the end of the existing append blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/append-block
-       *
-       * @param body - Data to be appended.
-       * @param contentLength - Length of the body in bytes.
-       * @param options - Options to the Append Block operation.
-       *
-       *
-       * Example usage:
-       *
-       * ```ts snippet:ClientsAppendBlock
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       *
-       * const content = "Hello World!";
-       *
-       * // Create a new append blob and append data to the blob.
-       * const newAppendBlobClient = containerClient.getAppendBlobClient(blobName);
-       * await newAppendBlobClient.create();
-       * await newAppendBlobClient.appendBlock(content, content.length);
-       *
-       * // Append data to an existing append blob.
-       * const existingAppendBlobClient = containerClient.getAppendBlobClient(blobName);
-       * await existingAppendBlobClient.appendBlock(content, content.length);
-       * ```
-       */
-      async appendBlock(body, contentLength, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-appendBlock", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.appendBlock(contentLength, body, {
-            abortSignal: options.abortSignal,
-            appendPositionAccessConditions: options.conditions,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            requestOptions: {
-              onUploadProgress: options.onProgress
-            },
-            transactionalContentMD5: options.transactionalContentMD5,
-            transactionalContentCrc64: options.transactionalContentCrc64,
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function timesLimit(count, limit, iteratee, callback) {
+        var _iteratee = wrapAsync(iteratee);
+        return mapLimit$1(range(count), limit, _iteratee, callback);
       }
-      /**
-       * The Append Block operation commits a new block of data to the end of an existing append blob
-       * where the contents are read from a source url.
-       * @see https://learn.microsoft.com/rest/api/storageservices/append-block-from-url
-       *
-       * @param sourceURL -
-       *                 The url to the blob that will be the source of the copy. A source blob in the same storage account can
-       *                 be authenticated via Shared Key. However, if the source is a blob in another account, the source blob
-       *                 must either be public or must be authenticated via a shared access signature. If the source blob is
-       *                 public, no authentication is required to perform the operation.
-       * @param sourceOffset - Offset in source to be appended
-       * @param count - Number of bytes to be appended as a block
-       * @param options -
-       */
-      async appendBlockFromURL(sourceURL, sourceOffset, count, options = {}) {
-        options.conditions = options.conditions || {};
-        options.sourceConditions = options.sourceConditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-appendBlockFromURL", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.appendBlockFromUrl(sourceURL, 0, {
-            abortSignal: options.abortSignal,
-            sourceRange: (0, Range_js_1.rangeToString)({ offset: sourceOffset, count }),
-            sourceContentMD5: options.sourceContentMD5,
-            sourceContentCrc64: options.sourceContentCrc64,
-            leaseAccessConditions: options.conditions,
-            appendPositionAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            sourceModifiedAccessConditions: {
-              sourceIfMatch: options.sourceConditions?.ifMatch,
-              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
-              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
-              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince
-            },
-            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            fileRequestIntent: options.sourceShareTokenIntent,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function times(n, iteratee, callback) {
+        return timesLimit(n, Infinity, iteratee, callback);
       }
-    };
-    exports2.AppendBlobClient = AppendBlobClient;
-    var BlockBlobClient = class _BlockBlobClient extends BlobClient {
-      /**
-       * blobContext provided by protocol layer.
-       *
-       * Note. Ideally BlobClient should set BlobClient.blobContext to protected. However, API
-       * extractor has issue blocking that. Here we redecelare _blobContext in BlockBlobClient.
-       */
-      _blobContext;
-      /**
-       * blockBlobContext provided by protocol layer.
-       */
-      blockBlobContext;
-      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
-        let pipeline;
-        let url;
-        options = options || {};
-        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
-          url = urlOrConnectionString;
-          pipeline = credentialOrPipelineOrContainerName;
-        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
-          url = urlOrConnectionString;
-          options = blobNameOrOptions;
-          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
-        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
-          url = urlOrConnectionString;
-          if (blobNameOrOptions && typeof blobNameOrOptions !== "string") {
-            options = blobNameOrOptions;
-          }
-          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
-          const containerName = credentialOrPipelineOrContainerName;
-          const blobName = blobNameOrOptions;
-          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
-          if (extractedCreds.kind === "AccountConnString") {
-            if (core_util_1.isNodeLike) {
-              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
-              url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
-              if (!options.proxyOptions) {
-                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
-              }
-              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+      function timesSeries(n, iteratee, callback) {
+        return timesLimit(n, 1, iteratee, callback);
+      }
+      function transform(coll, accumulator, iteratee, callback) {
+        if (arguments.length <= 3 && typeof accumulator === "function") {
+          callback = iteratee;
+          iteratee = accumulator;
+          accumulator = Array.isArray(coll) ? [] : {};
+        }
+        callback = once(callback || promiseCallback());
+        var _iteratee = wrapAsync(iteratee);
+        eachOf$1(coll, (v, k, cb) => {
+          _iteratee(accumulator, v, k, cb);
+        }, (err) => callback(err, accumulator));
+        return callback[PROMISE_SYMBOL];
+      }
+      function tryEach(tasks, callback) {
+        var error3 = null;
+        var result;
+        return eachSeries$1(tasks, (task, taskCb) => {
+          wrapAsync(task)((err, ...args) => {
+            if (err === false) return taskCb(err);
+            if (args.length < 2) {
+              [result] = args;
             } else {
-              throw new Error("Account connection string is only supported in Node.js environment");
+              result = args;
             }
-          } else if (extractedCreds.kind === "SASConnString") {
-            url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
-            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-          } else {
-            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
-          }
-        } else {
-          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
+            error3 = err;
+            taskCb(err ? null : {});
+          });
+        }, () => callback(error3, result));
+      }
+      var tryEach$1 = awaitify(tryEach);
+      function unmemoize(fn) {
+        return (...args) => {
+          return (fn.unmemoized || fn)(...args);
+        };
+      }
+      function whilst(test, iteratee, callback) {
+        callback = onlyOnce(callback);
+        var _fn = wrapAsync(iteratee);
+        var _test = wrapAsync(test);
+        var results = [];
+        function next(err, ...rest) {
+          if (err) return callback(err);
+          results = rest;
+          if (err === false) return;
+          _test(check);
         }
-        super(url, pipeline);
-        this.blockBlobContext = this.storageClientContext.blockBlob;
-        this._blobContext = this.storageClientContext.blob;
+        function check(err, truth) {
+          if (err) return callback(err);
+          if (err === false) return;
+          if (!truth) return callback(null, ...results);
+          _fn(next);
+        }
+        return _test(check);
       }
-      /**
-       * Creates a new BlockBlobClient object identical to the source but with the
-       * specified snapshot timestamp.
-       * Provide "" will remove the snapshot and return a URL to the base blob.
-       *
-       * @param snapshot - The snapshot timestamp.
-       * @returns A new BlockBlobClient object identical to the source but with the specified snapshot timestamp.
-       */
-      withSnapshot(snapshot) {
-        return new _BlockBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
+      var whilst$1 = awaitify(whilst, 3);
+      function until(test, iteratee, callback) {
+        const _test = wrapAsync(test);
+        return whilst$1((cb) => _test((err, truth) => cb(err, !truth)), iteratee, callback);
       }
-      /**
-       * ONLY AVAILABLE IN NODE.JS RUNTIME.
-       *
-       * Quick query for a JSON or CSV formatted blob.
-       *
-       * Example usage (Node.js):
-       *
-       * ```ts snippet:ClientsQuery
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blockBlobClient = containerClient.getBlockBlobClient(blobName);
-       *
-       * // Query and convert a blob to a string
-       * const queryBlockBlobResponse = await blockBlobClient.query("select from BlobStorage");
-       * if (queryBlockBlobResponse.readableStreamBody) {
-       *   const downloadedBuffer = await streamToBuffer(queryBlockBlobResponse.readableStreamBody);
-       *   const downloaded = downloadedBuffer.toString();
-       *   console.log(`Query blob content: ${downloaded}`);
-       * }
-       *
-       * async function streamToBuffer(readableStream: NodeJS.ReadableStream): Promise {
-       *   return new Promise((resolve, reject) => {
-       *     const chunks: Buffer[] = [];
-       *     readableStream.on("data", (data) => {
-       *       chunks.push(data instanceof Buffer ? data : Buffer.from(data));
-       *     });
-       *     readableStream.on("end", () => {
-       *       resolve(Buffer.concat(chunks));
-       *     });
-       *     readableStream.on("error", reject);
-       *   });
-       * }
-       * ```
-       *
-       * @param query -
-       * @param options -
-       */
-      async query(query, options = {}) {
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        if (!core_util_1.isNodeLike) {
-          throw new Error("This operation currently is only supported in Node.js.");
+      function waterfall(tasks, callback) {
+        callback = once(callback);
+        if (!Array.isArray(tasks)) return callback(new Error("First argument to waterfall must be an array of functions"));
+        if (!tasks.length) return callback();
+        var taskIndex = 0;
+        function nextTask(args) {
+          var task = wrapAsync(tasks[taskIndex++]);
+          task(...args, onlyOnce(next));
         }
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-query", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this._blobContext.query({
-            abortSignal: options.abortSignal,
-            queryRequest: {
-              queryType: "SQL",
-              expression: query,
-              inputSerialization: (0, utils_common_js_1.toQuerySerialization)(options.inputTextConfiguration),
-              outputSerialization: (0, utils_common_js_1.toQuerySerialization)(options.outputTextConfiguration)
-            },
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          return new BlobQueryResponse_js_1.BlobQueryResponse(response, {
-            abortSignal: options.abortSignal,
-            onProgress: options.onProgress,
-            onError: options.onError
-          });
-        });
+        function next(err, ...args) {
+          if (err === false) return;
+          if (err || taskIndex === tasks.length) {
+            return callback(err, ...args);
+          }
+          nextTask(args);
+        }
+        nextTask([]);
       }
-      /**
-       * Creates a new block blob, or updates the content of an existing block blob.
-       * Updating an existing block blob overwrites any existing metadata on the blob.
-       * Partial updates are not supported; the content of the existing blob is
-       * overwritten with the new content. To perform a partial update of a block blob's,
-       * use {@link stageBlock} and {@link commitBlockList}.
-       *
-       * This is a non-parallel uploading method, please use {@link uploadFile},
-       * {@link uploadStream} or {@link uploadBrowserData} for better performance
-       * with concurrency uploading.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
-       *
-       * @param body - Blob, string, ArrayBuffer, ArrayBufferView or a function
-       *                               which returns a new Readable stream whose offset is from data source beginning.
-       * @param contentLength - Length of body in bytes. Use Buffer.byteLength() to calculate body length for a
-       *                               string including non non-Base64/Hex-encoded characters.
-       * @param options - Options to the Block Blob Upload operation.
-       * @returns Response data for the Block Blob Upload operation.
-       *
-       * Example usage:
-       *
-       * ```ts snippet:ClientsUpload
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blockBlobClient = containerClient.getBlockBlobClient(blobName);
-       *
-       * const content = "Hello world!";
-       * const uploadBlobResponse = await blockBlobClient.upload(content, content.length);
-       * ```
-       */
-      async upload(body, contentLength, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-upload", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.upload(contentLength, body, {
-            abortSignal: options.abortSignal,
-            blobHttpHeaders: options.blobHTTPHeaders,
-            leaseAccessConditions: options.conditions,
-            metadata: options.metadata,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            requestOptions: {
-              onUploadProgress: options.onProgress
-            },
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
-            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
-            legalHold: options.legalHold,
-            tier: (0, models_js_1.toAccessTier)(options.tier),
-            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      var waterfall$1 = awaitify(waterfall);
+      var index = {
+        apply,
+        applyEach,
+        applyEachSeries,
+        asyncify,
+        auto,
+        autoInject,
+        cargo: cargo$1,
+        cargoQueue: cargo,
+        compose,
+        concat: concat$1,
+        concatLimit: concatLimit$1,
+        concatSeries: concatSeries$1,
+        constant: constant$1,
+        detect: detect$1,
+        detectLimit: detectLimit$1,
+        detectSeries: detectSeries$1,
+        dir,
+        doUntil,
+        doWhilst: doWhilst$1,
+        each,
+        eachLimit: eachLimit$1,
+        eachOf: eachOf$1,
+        eachOfLimit: eachOfLimit$1,
+        eachOfSeries: eachOfSeries$1,
+        eachSeries: eachSeries$1,
+        ensureAsync,
+        every: every$1,
+        everyLimit: everyLimit$1,
+        everySeries: everySeries$1,
+        filter: filter$1,
+        filterLimit: filterLimit$1,
+        filterSeries: filterSeries$1,
+        forever: forever$1,
+        groupBy,
+        groupByLimit: groupByLimit$1,
+        groupBySeries,
+        log,
+        map: map$1,
+        mapLimit: mapLimit$1,
+        mapSeries: mapSeries$1,
+        mapValues,
+        mapValuesLimit: mapValuesLimit$1,
+        mapValuesSeries,
+        memoize,
+        nextTick,
+        parallel,
+        parallelLimit,
+        priorityQueue,
+        queue,
+        race: race$1,
+        reduce: reduce$1,
+        reduceRight,
+        reflect,
+        reflectAll,
+        reject: reject$1,
+        rejectLimit: rejectLimit$1,
+        rejectSeries: rejectSeries$1,
+        retry: retry2,
+        retryable,
+        seq: seq2,
+        series,
+        setImmediate: setImmediate$1,
+        some: some$1,
+        someLimit: someLimit$1,
+        someSeries: someSeries$1,
+        sortBy: sortBy$1,
+        timeout,
+        times,
+        timesLimit,
+        timesSeries,
+        transform,
+        tryEach: tryEach$1,
+        unmemoize,
+        until,
+        waterfall: waterfall$1,
+        whilst: whilst$1,
+        // aliases
+        all: every$1,
+        allLimit: everyLimit$1,
+        allSeries: everySeries$1,
+        any: some$1,
+        anyLimit: someLimit$1,
+        anySeries: someSeries$1,
+        find: detect$1,
+        findLimit: detectLimit$1,
+        findSeries: detectSeries$1,
+        flatMap: concat$1,
+        flatMapLimit: concatLimit$1,
+        flatMapSeries: concatSeries$1,
+        forEach: each,
+        forEachSeries: eachSeries$1,
+        forEachLimit: eachLimit$1,
+        forEachOf: eachOf$1,
+        forEachOfSeries: eachOfSeries$1,
+        forEachOfLimit: eachOfLimit$1,
+        inject: reduce$1,
+        foldl: reduce$1,
+        foldr: reduceRight,
+        select: filter$1,
+        selectLimit: filterLimit$1,
+        selectSeries: filterSeries$1,
+        wrapSync: asyncify,
+        during: whilst$1,
+        doDuring: doWhilst$1
+      };
+      exports3.all = every$1;
+      exports3.allLimit = everyLimit$1;
+      exports3.allSeries = everySeries$1;
+      exports3.any = some$1;
+      exports3.anyLimit = someLimit$1;
+      exports3.anySeries = someSeries$1;
+      exports3.apply = apply;
+      exports3.applyEach = applyEach;
+      exports3.applyEachSeries = applyEachSeries;
+      exports3.asyncify = asyncify;
+      exports3.auto = auto;
+      exports3.autoInject = autoInject;
+      exports3.cargo = cargo$1;
+      exports3.cargoQueue = cargo;
+      exports3.compose = compose;
+      exports3.concat = concat$1;
+      exports3.concatLimit = concatLimit$1;
+      exports3.concatSeries = concatSeries$1;
+      exports3.constant = constant$1;
+      exports3.default = index;
+      exports3.detect = detect$1;
+      exports3.detectLimit = detectLimit$1;
+      exports3.detectSeries = detectSeries$1;
+      exports3.dir = dir;
+      exports3.doDuring = doWhilst$1;
+      exports3.doUntil = doUntil;
+      exports3.doWhilst = doWhilst$1;
+      exports3.during = whilst$1;
+      exports3.each = each;
+      exports3.eachLimit = eachLimit$1;
+      exports3.eachOf = eachOf$1;
+      exports3.eachOfLimit = eachOfLimit$1;
+      exports3.eachOfSeries = eachOfSeries$1;
+      exports3.eachSeries = eachSeries$1;
+      exports3.ensureAsync = ensureAsync;
+      exports3.every = every$1;
+      exports3.everyLimit = everyLimit$1;
+      exports3.everySeries = everySeries$1;
+      exports3.filter = filter$1;
+      exports3.filterLimit = filterLimit$1;
+      exports3.filterSeries = filterSeries$1;
+      exports3.find = detect$1;
+      exports3.findLimit = detectLimit$1;
+      exports3.findSeries = detectSeries$1;
+      exports3.flatMap = concat$1;
+      exports3.flatMapLimit = concatLimit$1;
+      exports3.flatMapSeries = concatSeries$1;
+      exports3.foldl = reduce$1;
+      exports3.foldr = reduceRight;
+      exports3.forEach = each;
+      exports3.forEachLimit = eachLimit$1;
+      exports3.forEachOf = eachOf$1;
+      exports3.forEachOfLimit = eachOfLimit$1;
+      exports3.forEachOfSeries = eachOfSeries$1;
+      exports3.forEachSeries = eachSeries$1;
+      exports3.forever = forever$1;
+      exports3.groupBy = groupBy;
+      exports3.groupByLimit = groupByLimit$1;
+      exports3.groupBySeries = groupBySeries;
+      exports3.inject = reduce$1;
+      exports3.log = log;
+      exports3.map = map$1;
+      exports3.mapLimit = mapLimit$1;
+      exports3.mapSeries = mapSeries$1;
+      exports3.mapValues = mapValues;
+      exports3.mapValuesLimit = mapValuesLimit$1;
+      exports3.mapValuesSeries = mapValuesSeries;
+      exports3.memoize = memoize;
+      exports3.nextTick = nextTick;
+      exports3.parallel = parallel;
+      exports3.parallelLimit = parallelLimit;
+      exports3.priorityQueue = priorityQueue;
+      exports3.queue = queue;
+      exports3.race = race$1;
+      exports3.reduce = reduce$1;
+      exports3.reduceRight = reduceRight;
+      exports3.reflect = reflect;
+      exports3.reflectAll = reflectAll;
+      exports3.reject = reject$1;
+      exports3.rejectLimit = rejectLimit$1;
+      exports3.rejectSeries = rejectSeries$1;
+      exports3.retry = retry2;
+      exports3.retryable = retryable;
+      exports3.select = filter$1;
+      exports3.selectLimit = filterLimit$1;
+      exports3.selectSeries = filterSeries$1;
+      exports3.seq = seq2;
+      exports3.series = series;
+      exports3.setImmediate = setImmediate$1;
+      exports3.some = some$1;
+      exports3.someLimit = someLimit$1;
+      exports3.someSeries = someSeries$1;
+      exports3.sortBy = sortBy$1;
+      exports3.timeout = timeout;
+      exports3.times = times;
+      exports3.timesLimit = timesLimit;
+      exports3.timesSeries = timesSeries;
+      exports3.transform = transform;
+      exports3.tryEach = tryEach$1;
+      exports3.unmemoize = unmemoize;
+      exports3.until = until;
+      exports3.waterfall = waterfall$1;
+      exports3.whilst = whilst$1;
+      exports3.wrapSync = asyncify;
+      Object.defineProperty(exports3, "__esModule", { value: true });
+    }));
+  }
+});
+
+// node_modules/graceful-fs/polyfills.js
+var require_polyfills = __commonJS({
+  "node_modules/graceful-fs/polyfills.js"(exports2, module2) {
+    var constants = require("constants");
+    var origCwd = process.cwd;
+    var cwd = null;
+    var platform = process.env.GRACEFUL_FS_PLATFORM || process.platform;
+    process.cwd = function() {
+      if (!cwd)
+        cwd = origCwd.call(process);
+      return cwd;
+    };
+    try {
+      process.cwd();
+    } catch (er) {
+    }
+    if (typeof process.chdir === "function") {
+      chdir = process.chdir;
+      process.chdir = function(d) {
+        cwd = null;
+        chdir.call(process, d);
+      };
+      if (Object.setPrototypeOf) Object.setPrototypeOf(process.chdir, chdir);
+    }
+    var chdir;
+    module2.exports = patch;
+    function patch(fs3) {
+      if (constants.hasOwnProperty("O_SYMLINK") && process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) {
+        patchLchmod(fs3);
       }
-      /**
-       * Creates a new Block Blob where the contents of the blob are read from a given URL.
-       * This API is supported beginning with the 2020-04-08 version. Partial updates
-       * are not supported with Put Blob from URL; the content of an existing blob is overwritten with
-       * the content of the new blob.  To perform partial updates to a block blob’s contents using a
-       * source URL, use {@link stageBlockFromURL} and {@link commitBlockList}.
-       *
-       * @param sourceURL - Specifies the URL of the blob. The value
-       *                           may be a URL of up to 2 KB in length that specifies a blob.
-       *                           The value should be URL-encoded as it would appear
-       *                           in a request URI. The source blob must either be public
-       *                           or must be authenticated via a shared access signature.
-       *                           If the source blob is public, no authentication is required
-       *                           to perform the operation. Here are some examples of source object URLs:
-       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob
-       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=
-       * @param options - Optional parameters.
-       */
-      async syncUploadFromURL(sourceURL, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-syncUploadFromURL", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.putBlobFromUrl(0, sourceURL, {
-            ...options,
-            blobHttpHeaders: options.blobHTTPHeaders,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            sourceModifiedAccessConditions: {
-              sourceIfMatch: options.sourceConditions?.ifMatch,
-              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
-              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
-              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince,
-              sourceIfTags: options.sourceConditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
-            tier: (0, models_js_1.toAccessTier)(options.tier),
-            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
-            copySourceTags: options.copySourceTags,
-            fileRequestIntent: options.sourceShareTokenIntent,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      if (!fs3.lutimes) {
+        patchLutimes(fs3);
       }
-      /**
-       * Uploads the specified block to the block blob's "staging area" to be later
-       * committed by a call to commitBlockList.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-block
-       *
-       * @param blockId - A 64-byte value that is base64-encoded
-       * @param body - Data to upload to the staging area.
-       * @param contentLength - Number of bytes to upload.
-       * @param options - Options to the Block Blob Stage Block operation.
-       * @returns Response data for the Block Blob Stage Block operation.
-       */
-      async stageBlock(blockId, body, contentLength, options = {}) {
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-stageBlock", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.stageBlock(blockId, contentLength, body, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            requestOptions: {
-              onUploadProgress: options.onProgress
-            },
-            transactionalContentMD5: options.transactionalContentMD5,
-            transactionalContentCrc64: options.transactionalContentCrc64,
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      fs3.chown = chownFix(fs3.chown);
+      fs3.fchown = chownFix(fs3.fchown);
+      fs3.lchown = chownFix(fs3.lchown);
+      fs3.chmod = chmodFix(fs3.chmod);
+      fs3.fchmod = chmodFix(fs3.fchmod);
+      fs3.lchmod = chmodFix(fs3.lchmod);
+      fs3.chownSync = chownFixSync(fs3.chownSync);
+      fs3.fchownSync = chownFixSync(fs3.fchownSync);
+      fs3.lchownSync = chownFixSync(fs3.lchownSync);
+      fs3.chmodSync = chmodFixSync(fs3.chmodSync);
+      fs3.fchmodSync = chmodFixSync(fs3.fchmodSync);
+      fs3.lchmodSync = chmodFixSync(fs3.lchmodSync);
+      fs3.stat = statFix(fs3.stat);
+      fs3.fstat = statFix(fs3.fstat);
+      fs3.lstat = statFix(fs3.lstat);
+      fs3.statSync = statFixSync(fs3.statSync);
+      fs3.fstatSync = statFixSync(fs3.fstatSync);
+      fs3.lstatSync = statFixSync(fs3.lstatSync);
+      if (fs3.chmod && !fs3.lchmod) {
+        fs3.lchmod = function(path4, mode, cb) {
+          if (cb) process.nextTick(cb);
+        };
+        fs3.lchmodSync = function() {
+        };
       }
-      /**
-       * The Stage Block From URL operation creates a new block to be committed as part
-       * of a blob where the contents are read from a URL.
-       * This API is available starting in version 2018-03-28.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-block-from-url
-       *
-       * @param blockId - A 64-byte value that is base64-encoded
-       * @param sourceURL - Specifies the URL of the blob. The value
-       *                           may be a URL of up to 2 KB in length that specifies a blob.
-       *                           The value should be URL-encoded as it would appear
-       *                           in a request URI. The source blob must either be public
-       *                           or must be authenticated via a shared access signature.
-       *                           If the source blob is public, no authentication is required
-       *                           to perform the operation. Here are some examples of source object URLs:
-       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob
-       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=
-       * @param offset - From which position of the blob to download, greater than or equal to 0
-       * @param count - How much data to be downloaded, greater than 0. Will download to the end when undefined
-       * @param options - Options to the Block Blob Stage Block From URL operation.
-       * @returns Response data for the Block Blob Stage Block From URL operation.
-       */
-      async stageBlockFromURL(blockId, sourceURL, offset = 0, count, options = {}) {
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-stageBlockFromURL", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.stageBlockFromURL(blockId, 0, sourceURL, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            sourceContentMD5: options.sourceContentMD5,
-            sourceContentCrc64: options.sourceContentCrc64,
-            sourceRange: offset === 0 && !count ? void 0 : (0, Range_js_1.rangeToString)({ offset, count }),
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
-            fileRequestIntent: options.sourceShareTokenIntent,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      if (fs3.chown && !fs3.lchown) {
+        fs3.lchown = function(path4, uid, gid, cb) {
+          if (cb) process.nextTick(cb);
+        };
+        fs3.lchownSync = function() {
+        };
       }
-      /**
-       * Writes a blob by specifying the list of block IDs that make up the blob.
-       * In order to be written as part of a blob, a block must have been successfully written
-       * to the server in a prior {@link stageBlock} operation. You can call {@link commitBlockList} to
-       * update a blob by uploading only those blocks that have changed, then committing the new and existing
-       * blocks together. Any blocks not specified in the block list and permanently deleted.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-block-list
-       *
-       * @param blocks -  Array of 64-byte value that is base64-encoded
-       * @param options - Options to the Block Blob Commit Block List operation.
-       * @returns Response data for the Block Blob Commit Block List operation.
-       */
-      async commitBlockList(blocks, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-commitBlockList", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.commitBlockList({ latest: blocks }, {
-            abortSignal: options.abortSignal,
-            blobHttpHeaders: options.blobHTTPHeaders,
-            leaseAccessConditions: options.conditions,
-            metadata: options.metadata,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
-            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
-            legalHold: options.legalHold,
-            tier: (0, models_js_1.toAccessTier)(options.tier),
-            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      if (platform === "win32") {
+        fs3.rename = typeof fs3.rename !== "function" ? fs3.rename : (function(fs$rename) {
+          function rename(from, to, cb) {
+            var start = Date.now();
+            var backoff = 0;
+            fs$rename(from, to, function CB(er) {
+              if (er && (er.code === "EACCES" || er.code === "EPERM") && Date.now() - start < 6e4) {
+                setTimeout(function() {
+                  fs3.stat(to, function(stater, st) {
+                    if (stater && stater.code === "ENOENT")
+                      fs$rename(from, to, CB);
+                    else
+                      cb(er);
+                  });
+                }, backoff);
+                if (backoff < 100)
+                  backoff += 10;
+                return;
+              }
+              if (cb) cb(er);
+            });
+          }
+          if (Object.setPrototypeOf) Object.setPrototypeOf(rename, fs$rename);
+          return rename;
+        })(fs3.rename);
       }
-      /**
-       * Returns the list of blocks that have been uploaded as part of a block blob
-       * using the specified block list filter.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-block-list
-       *
-       * @param listType - Specifies whether to return the list of committed blocks,
-       *                                        the list of uncommitted blocks, or both lists together.
-       * @param options - Options to the Block Blob Get Block List operation.
-       * @returns Response data for the Block Blob Get Block List operation.
-       */
-      async getBlockList(listType, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-getBlockList", options, async (updatedOptions) => {
-          const res = (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.getBlockList(listType, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          if (!res.committedBlocks) {
-            res.committedBlocks = [];
+      fs3.read = typeof fs3.read !== "function" ? fs3.read : (function(fs$read) {
+        function read(fd, buffer, offset, length, position, callback_) {
+          var callback;
+          if (callback_ && typeof callback_ === "function") {
+            var eagCounter = 0;
+            callback = function(er, _2, __) {
+              if (er && er.code === "EAGAIN" && eagCounter < 10) {
+                eagCounter++;
+                return fs$read.call(fs3, fd, buffer, offset, length, position, callback);
+              }
+              callback_.apply(this, arguments);
+            };
           }
-          if (!res.uncommittedBlocks) {
-            res.uncommittedBlocks = [];
+          return fs$read.call(fs3, fd, buffer, offset, length, position, callback);
+        }
+        if (Object.setPrototypeOf) Object.setPrototypeOf(read, fs$read);
+        return read;
+      })(fs3.read);
+      fs3.readSync = typeof fs3.readSync !== "function" ? fs3.readSync : /* @__PURE__ */ (function(fs$readSync) {
+        return function(fd, buffer, offset, length, position) {
+          var eagCounter = 0;
+          while (true) {
+            try {
+              return fs$readSync.call(fs3, fd, buffer, offset, length, position);
+            } catch (er) {
+              if (er.code === "EAGAIN" && eagCounter < 10) {
+                eagCounter++;
+                continue;
+              }
+              throw er;
+            }
           }
-          return res;
-        });
-      }
-      // High level functions
-      /**
-       * Uploads a Buffer(Node.js)/Blob(browsers)/ArrayBuffer/ArrayBufferView object to a BlockBlob.
-       *
-       * When data length is no more than the specifiled {@link BlockBlobParallelUploadOptions.maxSingleShotSize} (default is
-       * {@link BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}), this method will use 1 {@link upload} call to finish the upload.
-       * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call {@link commitBlockList}
-       * to commit the block list.
-       *
-       * A common {@link BlockBlobParallelUploadOptions.blobHTTPHeaders} option to set is
-       * `blobContentType`, enabling the browser to provide
-       * functionality based on file type.
-       *
-       * @param data - Buffer(Node.js), Blob, ArrayBuffer or ArrayBufferView
-       * @param options -
-       */
-      async uploadData(data, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadData", options, async (updatedOptions) => {
-          if (core_util_1.isNodeLike) {
-            let buffer;
-            if (data instanceof Buffer) {
-              buffer = data;
-            } else if (data instanceof ArrayBuffer) {
-              buffer = Buffer.from(data);
+        };
+      })(fs3.readSync);
+      function patchLchmod(fs4) {
+        fs4.lchmod = function(path4, mode, callback) {
+          fs4.open(
+            path4,
+            constants.O_WRONLY | constants.O_SYMLINK,
+            mode,
+            function(err, fd) {
+              if (err) {
+                if (callback) callback(err);
+                return;
+              }
+              fs4.fchmod(fd, mode, function(err2) {
+                fs4.close(fd, function(err22) {
+                  if (callback) callback(err2 || err22);
+                });
+              });
+            }
+          );
+        };
+        fs4.lchmodSync = function(path4, mode) {
+          var fd = fs4.openSync(path4, constants.O_WRONLY | constants.O_SYMLINK, mode);
+          var threw = true;
+          var ret;
+          try {
+            ret = fs4.fchmodSync(fd, mode);
+            threw = false;
+          } finally {
+            if (threw) {
+              try {
+                fs4.closeSync(fd);
+              } catch (er) {
+              }
             } else {
-              data = data;
-              buffer = Buffer.from(data.buffer, data.byteOffset, data.byteLength);
+              fs4.closeSync(fd);
             }
-            return this.uploadSeekableInternal((offset, size) => buffer.slice(offset, offset + size), buffer.byteLength, updatedOptions);
-          } else {
-            const browserBlob = new Blob([data]);
-            return this.uploadSeekableInternal((offset, size) => browserBlob.slice(offset, offset + size), browserBlob.size, updatedOptions);
           }
-        });
-      }
-      /**
-       * ONLY AVAILABLE IN BROWSERS.
-       *
-       * Uploads a browser Blob/File/ArrayBuffer/ArrayBufferView object to block blob.
-       *
-       * When buffer length lesser than or equal to 256MB, this method will use 1 upload call to finish the upload.
-       * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call
-       * {@link commitBlockList} to commit the block list.
-       *
-       * A common {@link BlockBlobParallelUploadOptions.blobHTTPHeaders} option to set is
-       * `blobContentType`, enabling the browser to provide
-       * functionality based on file type.
-       *
-       * @deprecated Use {@link uploadData} instead.
-       *
-       * @param browserData - Blob, File, ArrayBuffer or ArrayBufferView
-       * @param options - Options to upload browser data.
-       * @returns Response data for the Blob Upload operation.
-       */
-      async uploadBrowserData(browserData, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadBrowserData", options, async (updatedOptions) => {
-          const browserBlob = new Blob([browserData]);
-          return this.uploadSeekableInternal((offset, size) => browserBlob.slice(offset, offset + size), browserBlob.size, updatedOptions);
-        });
+          return ret;
+        };
       }
-      /**
-       *
-       * Uploads data to block blob. Requires a bodyFactory as the data source,
-       * which need to return a {@link HttpRequestBody} object with the offset and size provided.
-       *
-       * When data length is no more than the specified {@link BlockBlobParallelUploadOptions.maxSingleShotSize} (default is
-       * {@link BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}), this method will use 1 {@link upload} call to finish the upload.
-       * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call {@link commitBlockList}
-       * to commit the block list.
-       *
-       * @param bodyFactory -
-       * @param size - size of the data to upload.
-       * @param options - Options to Upload to Block Blob operation.
-       * @returns Response data for the Blob Upload operation.
-       */
-      async uploadSeekableInternal(bodyFactory, size, options = {}) {
-        let blockSize = options.blockSize ?? 0;
-        if (blockSize < 0 || blockSize > constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES) {
-          throw new RangeError(`blockSize option must be >= 0 and <= ${constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES}`);
-        }
-        const maxSingleShotSize = options.maxSingleShotSize ?? constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES;
-        if (maxSingleShotSize < 0 || maxSingleShotSize > constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES) {
-          throw new RangeError(`maxSingleShotSize option must be >= 0 and <= ${constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}`);
+      function patchLutimes(fs4) {
+        if (constants.hasOwnProperty("O_SYMLINK") && fs4.futimes) {
+          fs4.lutimes = function(path4, at, mt, cb) {
+            fs4.open(path4, constants.O_SYMLINK, function(er, fd) {
+              if (er) {
+                if (cb) cb(er);
+                return;
+              }
+              fs4.futimes(fd, at, mt, function(er2) {
+                fs4.close(fd, function(er22) {
+                  if (cb) cb(er2 || er22);
+                });
+              });
+            });
+          };
+          fs4.lutimesSync = function(path4, at, mt) {
+            var fd = fs4.openSync(path4, constants.O_SYMLINK);
+            var ret;
+            var threw = true;
+            try {
+              ret = fs4.futimesSync(fd, at, mt);
+              threw = false;
+            } finally {
+              if (threw) {
+                try {
+                  fs4.closeSync(fd);
+                } catch (er) {
+                }
+              } else {
+                fs4.closeSync(fd);
+              }
+            }
+            return ret;
+          };
+        } else if (fs4.futimes) {
+          fs4.lutimes = function(_a, _b, _c, cb) {
+            if (cb) process.nextTick(cb);
+          };
+          fs4.lutimesSync = function() {
+          };
         }
-        if (blockSize === 0) {
-          if (size > constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES * constants_js_1.BLOCK_BLOB_MAX_BLOCKS) {
-            throw new RangeError(`${size} is too larger to upload to a block blob.`);
+      }
+      function chmodFix(orig) {
+        if (!orig) return orig;
+        return function(target, mode, cb) {
+          return orig.call(fs3, target, mode, function(er) {
+            if (chownErOk(er)) er = null;
+            if (cb) cb.apply(this, arguments);
+          });
+        };
+      }
+      function chmodFixSync(orig) {
+        if (!orig) return orig;
+        return function(target, mode) {
+          try {
+            return orig.call(fs3, target, mode);
+          } catch (er) {
+            if (!chownErOk(er)) throw er;
           }
-          if (size > maxSingleShotSize) {
-            blockSize = Math.ceil(size / constants_js_1.BLOCK_BLOB_MAX_BLOCKS);
-            if (blockSize < constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES) {
-              blockSize = constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES;
+        };
+      }
+      function chownFix(orig) {
+        if (!orig) return orig;
+        return function(target, uid, gid, cb) {
+          return orig.call(fs3, target, uid, gid, function(er) {
+            if (chownErOk(er)) er = null;
+            if (cb) cb.apply(this, arguments);
+          });
+        };
+      }
+      function chownFixSync(orig) {
+        if (!orig) return orig;
+        return function(target, uid, gid) {
+          try {
+            return orig.call(fs3, target, uid, gid);
+          } catch (er) {
+            if (!chownErOk(er)) throw er;
+          }
+        };
+      }
+      function statFix(orig) {
+        if (!orig) return orig;
+        return function(target, options, cb) {
+          if (typeof options === "function") {
+            cb = options;
+            options = null;
+          }
+          function callback(er, stats) {
+            if (stats) {
+              if (stats.uid < 0) stats.uid += 4294967296;
+              if (stats.gid < 0) stats.gid += 4294967296;
             }
+            if (cb) cb.apply(this, arguments);
           }
+          return options ? orig.call(fs3, target, options, callback) : orig.call(fs3, target, callback);
+        };
+      }
+      function statFixSync(orig) {
+        if (!orig) return orig;
+        return function(target, options) {
+          var stats = options ? orig.call(fs3, target, options) : orig.call(fs3, target);
+          if (stats) {
+            if (stats.uid < 0) stats.uid += 4294967296;
+            if (stats.gid < 0) stats.gid += 4294967296;
+          }
+          return stats;
+        };
+      }
+      function chownErOk(er) {
+        if (!er)
+          return true;
+        if (er.code === "ENOSYS")
+          return true;
+        var nonroot = !process.getuid || process.getuid() !== 0;
+        if (nonroot) {
+          if (er.code === "EINVAL" || er.code === "EPERM")
+            return true;
         }
-        if (!options.blobHTTPHeaders) {
-          options.blobHTTPHeaders = {};
-        }
-        if (!options.conditions) {
-          options.conditions = {};
+        return false;
+      }
+    }
+  }
+});
+
+// node_modules/graceful-fs/legacy-streams.js
+var require_legacy_streams = __commonJS({
+  "node_modules/graceful-fs/legacy-streams.js"(exports2, module2) {
+    var Stream = require("stream").Stream;
+    module2.exports = legacy;
+    function legacy(fs3) {
+      return {
+        ReadStream,
+        WriteStream
+      };
+      function ReadStream(path4, options) {
+        if (!(this instanceof ReadStream)) return new ReadStream(path4, options);
+        Stream.call(this);
+        var self2 = this;
+        this.path = path4;
+        this.fd = null;
+        this.readable = true;
+        this.paused = false;
+        this.flags = "r";
+        this.mode = 438;
+        this.bufferSize = 64 * 1024;
+        options = options || {};
+        var keys = Object.keys(options);
+        for (var index = 0, length = keys.length; index < length; index++) {
+          var key = keys[index];
+          this[key] = options[key];
         }
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadSeekableInternal", options, async (updatedOptions) => {
-          if (size <= maxSingleShotSize) {
-            return (0, utils_common_js_1.assertResponse)(await this.upload(bodyFactory(0, size), size, updatedOptions));
+        if (this.encoding) this.setEncoding(this.encoding);
+        if (this.start !== void 0) {
+          if ("number" !== typeof this.start) {
+            throw TypeError("start must be a Number");
           }
-          const numBlocks = Math.floor((size - 1) / blockSize) + 1;
-          if (numBlocks > constants_js_1.BLOCK_BLOB_MAX_BLOCKS) {
-            throw new RangeError(`The buffer's size is too big or the BlockSize is too small;the number of blocks must be <= ${constants_js_1.BLOCK_BLOB_MAX_BLOCKS}`);
+          if (this.end === void 0) {
+            this.end = Infinity;
+          } else if ("number" !== typeof this.end) {
+            throw TypeError("end must be a Number");
           }
-          const blockList = [];
-          const blockIDPrefix = (0, core_util_2.randomUUID)();
-          let transferProgress = 0;
-          const batch = new Batch_js_1.Batch(options.concurrency);
-          for (let i = 0; i < numBlocks; i++) {
-            batch.addOperation(async () => {
-              const blockID = (0, utils_common_js_1.generateBlockID)(blockIDPrefix, i);
-              const start = blockSize * i;
-              const end = i === numBlocks - 1 ? size : start + blockSize;
-              const contentLength = end - start;
-              blockList.push(blockID);
-              await this.stageBlock(blockID, bodyFactory(start, contentLength), contentLength, {
-                abortSignal: options.abortSignal,
-                conditions: options.conditions,
-                encryptionScope: options.encryptionScope,
-                tracingOptions: updatedOptions.tracingOptions
-              });
-              transferProgress += contentLength;
-              if (options.onProgress) {
-                options.onProgress({
-                  loadedBytes: transferProgress
-                });
-              }
-            });
+          if (this.start > this.end) {
+            throw new Error("start must be <= end");
           }
-          await batch.do();
-          return this.commitBlockList(blockList, updatedOptions);
-        });
-      }
-      /**
-       * ONLY AVAILABLE IN NODE.JS RUNTIME.
-       *
-       * Uploads a local file in blocks to a block blob.
-       *
-       * When file size lesser than or equal to 256MB, this method will use 1 upload call to finish the upload.
-       * Otherwise, this method will call stageBlock to upload blocks, and finally call commitBlockList
-       * to commit the block list.
-       *
-       * @param filePath - Full path of local file
-       * @param options - Options to Upload to Block Blob operation.
-       * @returns Response data for the Blob Upload operation.
-       */
-      async uploadFile(filePath, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadFile", options, async (updatedOptions) => {
-          const size = (await (0, utils_js_1.fsStat)(filePath)).size;
-          return this.uploadSeekableInternal((offset, count) => {
-            return () => (0, utils_js_1.fsCreateReadStream)(filePath, {
-              autoClose: true,
-              end: count ? offset + count - 1 : Infinity,
-              start: offset
-            });
-          }, size, {
-            ...options,
-            tracingOptions: updatedOptions.tracingOptions
-          });
-        });
-      }
-      /**
-       * ONLY AVAILABLE IN NODE.JS RUNTIME.
-       *
-       * Uploads a Node.js Readable stream into block blob.
-       *
-       * PERFORMANCE IMPROVEMENT TIPS:
-       * * Input stream highWaterMark is better to set a same value with bufferSize
-       *    parameter, which will avoid Buffer.concat() operations.
-       *
-       * @param stream - Node.js Readable stream
-       * @param bufferSize - Size of every buffer allocated, also the block size in the uploaded block blob. Default value is 8MB
-       * @param maxConcurrency -  Max concurrency indicates the max number of buffers that can be allocated,
-       *                                 positive correlation with max uploading concurrency. Default value is 5
-       * @param options - Options to Upload Stream to Block Blob operation.
-       * @returns Response data for the Blob Upload operation.
-       */
-      async uploadStream(stream, bufferSize = constants_js_1.DEFAULT_BLOCK_BUFFER_SIZE_BYTES, maxConcurrency = 5, options = {}) {
-        if (!options.blobHTTPHeaders) {
-          options.blobHTTPHeaders = {};
+          this.pos = this.start;
         }
-        if (!options.conditions) {
-          options.conditions = {};
+        if (this.fd !== null) {
+          process.nextTick(function() {
+            self2._read();
+          });
+          return;
         }
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadStream", options, async (updatedOptions) => {
-          let blockNum = 0;
-          const blockIDPrefix = (0, core_util_2.randomUUID)();
-          let transferProgress = 0;
-          const blockList = [];
-          const scheduler = new storage_common_1.BufferScheduler(
-            stream,
-            bufferSize,
-            maxConcurrency,
-            async (body, length) => {
-              const blockID = (0, utils_common_js_1.generateBlockID)(blockIDPrefix, blockNum);
-              blockList.push(blockID);
-              blockNum++;
-              await this.stageBlock(blockID, body, length, {
-                customerProvidedKey: options.customerProvidedKey,
-                conditions: options.conditions,
-                encryptionScope: options.encryptionScope,
-                tracingOptions: updatedOptions.tracingOptions
-              });
-              transferProgress += length;
-              if (options.onProgress) {
-                options.onProgress({ loadedBytes: transferProgress });
-              }
-            },
-            // concurrency should set a smaller value than maxConcurrency, which is helpful to
-            // reduce the possibility when a outgoing handler waits for stream data, in
-            // this situation, outgoing handlers are blocked.
-            // Outgoing queue shouldn't be empty.
-            Math.ceil(maxConcurrency / 4 * 3)
-          );
-          await scheduler.do();
-          return (0, utils_common_js_1.assertResponse)(await this.commitBlockList(blockList, {
-            ...options,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
+        fs3.open(this.path, this.flags, this.mode, function(err, fd) {
+          if (err) {
+            self2.emit("error", err);
+            self2.readable = false;
+            return;
+          }
+          self2.fd = fd;
+          self2.emit("open", fd);
+          self2._read();
         });
       }
-    };
-    exports2.BlockBlobClient = BlockBlobClient;
-    var PageBlobClient = class _PageBlobClient extends BlobClient {
-      /**
-       * pageBlobsContext provided by protocol layer.
-       */
-      pageBlobContext;
-      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
-        let pipeline;
-        let url;
+      function WriteStream(path4, options) {
+        if (!(this instanceof WriteStream)) return new WriteStream(path4, options);
+        Stream.call(this);
+        this.path = path4;
+        this.fd = null;
+        this.writable = true;
+        this.flags = "w";
+        this.encoding = "binary";
+        this.mode = 438;
+        this.bytesWritten = 0;
         options = options || {};
-        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
-          url = urlOrConnectionString;
-          pipeline = credentialOrPipelineOrContainerName;
-        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
-          url = urlOrConnectionString;
-          options = blobNameOrOptions;
-          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
-        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
-          url = urlOrConnectionString;
-          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
-          const containerName = credentialOrPipelineOrContainerName;
-          const blobName = blobNameOrOptions;
-          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
-          if (extractedCreds.kind === "AccountConnString") {
-            if (core_util_1.isNodeLike) {
-              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
-              url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
-              if (!options.proxyOptions) {
-                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
-              }
-              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
-            } else {
-              throw new Error("Account connection string is only supported in Node.js environment");
-            }
-          } else if (extractedCreds.kind === "SASConnString") {
-            url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
-            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-          } else {
-            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
-          }
-        } else {
-          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
+        var keys = Object.keys(options);
+        for (var index = 0, length = keys.length; index < length; index++) {
+          var key = keys[index];
+          this[key] = options[key];
         }
-        super(url, pipeline);
-        this.pageBlobContext = this.storageClientContext.pageBlob;
-      }
-      /**
-       * Creates a new PageBlobClient object identical to the source but with the
-       * specified snapshot timestamp.
-       * Provide "" will remove the snapshot and return a Client to the base blob.
-       *
-       * @param snapshot - The snapshot timestamp.
-       * @returns A new PageBlobClient object identical to the source but with the specified snapshot timestamp.
-       */
-      withSnapshot(snapshot) {
-        return new _PageBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
-      }
-      /**
-       * Creates a page blob of the specified length. Call uploadPages to upload data
-       * data to a page blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
-       *
-       * @param size - size of the page blob.
-       * @param options - Options to the Page Blob Create operation.
-       * @returns Response data for the Page Blob Create operation.
-       */
-      async create(size, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-create", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.create(0, size, {
-            abortSignal: options.abortSignal,
-            blobHttpHeaders: options.blobHTTPHeaders,
-            blobSequenceNumber: options.blobSequenceNumber,
-            leaseAccessConditions: options.conditions,
-            metadata: options.metadata,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
-            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
-            legalHold: options.legalHold,
-            tier: (0, models_js_1.toAccessTier)(options.tier),
-            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
-      }
-      /**
-       * Creates a page blob of the specified length. Call uploadPages to upload data
-       * data to a page blob. If the blob with the same name already exists, the content
-       * of the existing blob will remain unchanged.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
-       *
-       * @param size - size of the page blob.
-       * @param options -
-       */
-      async createIfNotExists(size, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-createIfNotExists", options, async (updatedOptions) => {
-          try {
-            const conditions = { ifNoneMatch: constants_js_1.ETagAny };
-            const res = (0, utils_common_js_1.assertResponse)(await this.create(size, {
-              ...options,
-              conditions,
-              tracingOptions: updatedOptions.tracingOptions
-            }));
-            return {
-              succeeded: true,
-              ...res,
-              _response: res._response
-              // _response is made non-enumerable
-            };
-          } catch (e) {
-            if (e.details?.errorCode === "BlobAlreadyExists") {
-              return {
-                succeeded: false,
-                ...e.response?.parsedHeaders,
-                _response: e.response
-              };
-            }
-            throw e;
+        if (this.start !== void 0) {
+          if ("number" !== typeof this.start) {
+            throw TypeError("start must be a Number");
+          }
+          if (this.start < 0) {
+            throw new Error("start must be >= zero");
           }
-        });
+          this.pos = this.start;
+        }
+        this.busy = false;
+        this._queue = [];
+        if (this.fd === null) {
+          this._open = fs3.open;
+          this._queue.push([this._open, this.path, this.flags, this.mode, void 0]);
+          this.flush();
+        }
       }
-      /**
-       * Writes 1 or more pages to the page blob. The start and end offsets must be a multiple of 512.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-page
-       *
-       * @param body - Data to upload
-       * @param offset - Offset of destination page blob
-       * @param count - Content length of the body, also number of bytes to be uploaded
-       * @param options - Options to the Page Blob Upload Pages operation.
-       * @returns Response data for the Page Blob Upload Pages operation.
-       */
-      async uploadPages(body, offset, count, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-uploadPages", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.uploadPages(count, body, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            requestOptions: {
-              onUploadProgress: options.onProgress
-            },
-            range: (0, Range_js_1.rangeToString)({ offset, count }),
-            sequenceNumberAccessConditions: options.conditions,
-            transactionalContentMD5: options.transactionalContentMD5,
-            transactionalContentCrc64: options.transactionalContentCrc64,
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
+    }
+  }
+});
+
+// node_modules/graceful-fs/clone.js
+var require_clone = __commonJS({
+  "node_modules/graceful-fs/clone.js"(exports2, module2) {
+    "use strict";
+    module2.exports = clone;
+    var getPrototypeOf = Object.getPrototypeOf || function(obj) {
+      return obj.__proto__;
+    };
+    function clone(obj) {
+      if (obj === null || typeof obj !== "object")
+        return obj;
+      if (obj instanceof Object)
+        var copy = { __proto__: getPrototypeOf(obj) };
+      else
+        var copy = /* @__PURE__ */ Object.create(null);
+      Object.getOwnPropertyNames(obj).forEach(function(key) {
+        Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key));
+      });
+      return copy;
+    }
+  }
+});
+
+// node_modules/graceful-fs/graceful-fs.js
+var require_graceful_fs = __commonJS({
+  "node_modules/graceful-fs/graceful-fs.js"(exports2, module2) {
+    var fs3 = require("fs");
+    var polyfills = require_polyfills();
+    var legacy = require_legacy_streams();
+    var clone = require_clone();
+    var util = require("util");
+    var gracefulQueue;
+    var previousSymbol;
+    if (typeof Symbol === "function" && typeof Symbol.for === "function") {
+      gracefulQueue = /* @__PURE__ */ Symbol.for("graceful-fs.queue");
+      previousSymbol = /* @__PURE__ */ Symbol.for("graceful-fs.previous");
+    } else {
+      gracefulQueue = "___graceful-fs.queue";
+      previousSymbol = "___graceful-fs.previous";
+    }
+    function noop3() {
+    }
+    function publishQueue(context2, queue2) {
+      Object.defineProperty(context2, gracefulQueue, {
+        get: function() {
+          return queue2;
+        }
+      });
+    }
+    var debug4 = noop3;
+    if (util.debuglog)
+      debug4 = util.debuglog("gfs4");
+    else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || ""))
+      debug4 = function() {
+        var m = util.format.apply(util, arguments);
+        m = "GFS4: " + m.split(/\n/).join("\nGFS4: ");
+        console.error(m);
+      };
+    if (!fs3[gracefulQueue]) {
+      queue = global[gracefulQueue] || [];
+      publishQueue(fs3, queue);
+      fs3.close = (function(fs$close) {
+        function close(fd, cb) {
+          return fs$close.call(fs3, fd, function(err) {
+            if (!err) {
+              resetQueue();
+            }
+            if (typeof cb === "function")
+              cb.apply(this, arguments);
+          });
+        }
+        Object.defineProperty(close, previousSymbol, {
+          value: fs$close
         });
-      }
-      /**
-       * The Upload Pages operation writes a range of pages to a page blob where the
-       * contents are read from a URL.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-page-from-url
-       *
-       * @param sourceURL - Specify a URL to the copy source, Shared Access Signature(SAS) maybe needed for authentication
-       * @param sourceOffset - The source offset to copy from. Pass 0 to copy from the beginning of source page blob
-       * @param destOffset - Offset of destination page blob
-       * @param count - Number of bytes to be uploaded from source page blob
-       * @param options -
-       */
-      async uploadPagesFromURL(sourceURL, sourceOffset, destOffset, count, options = {}) {
-        options.conditions = options.conditions || {};
-        options.sourceConditions = options.sourceConditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-uploadPagesFromURL", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.uploadPagesFromURL(sourceURL, (0, Range_js_1.rangeToString)({ offset: sourceOffset, count }), 0, (0, Range_js_1.rangeToString)({ offset: destOffset, count }), {
-            abortSignal: options.abortSignal,
-            sourceContentMD5: options.sourceContentMD5,
-            sourceContentCrc64: options.sourceContentCrc64,
-            leaseAccessConditions: options.conditions,
-            sequenceNumberAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            sourceModifiedAccessConditions: {
-              sourceIfMatch: options.sourceConditions?.ifMatch,
-              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
-              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
-              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince
-            },
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
-            fileRequestIntent: options.sourceShareTokenIntent,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
+        return close;
+      })(fs3.close);
+      fs3.closeSync = (function(fs$closeSync) {
+        function closeSync(fd) {
+          fs$closeSync.apply(fs3, arguments);
+          resetQueue();
+        }
+        Object.defineProperty(closeSync, previousSymbol, {
+          value: fs$closeSync
         });
-      }
-      /**
-       * Frees the specified pages from the page blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-page
-       *
-       * @param offset - Starting byte position of the pages to clear.
-       * @param count - Number of bytes to clear.
-       * @param options - Options to the Page Blob Clear Pages operation.
-       * @returns Response data for the Page Blob Clear Pages operation.
-       */
-      async clearPages(offset = 0, count, options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-clearPages", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.clearPages(0, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            range: (0, Range_js_1.rangeToString)({ offset, count }),
-            sequenceNumberAccessConditions: options.conditions,
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
+        return closeSync;
+      })(fs3.closeSync);
+      if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || "")) {
+        process.on("exit", function() {
+          debug4(fs3[gracefulQueue]);
+          require("assert").equal(fs3[gracefulQueue].length, 0);
         });
       }
-      /**
-       * Returns the list of valid page ranges for a page blob or snapshot of a page blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param options - Options to the Page Blob Get Ranges operation.
-       * @returns Response data for the Page Blob Get Ranges operation.
-       */
-      async getPageRanges(offset = 0, count, options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRanges", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRanges({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            range: (0, Range_js_1.rangeToString)({ offset, count }),
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(response);
-        });
+    }
+    var queue;
+    if (!global[gracefulQueue]) {
+      publishQueue(global, fs3[gracefulQueue]);
+    }
+    module2.exports = patch(clone(fs3));
+    if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs3.__patched) {
+      module2.exports = patch(fs3);
+      fs3.__patched = true;
+    }
+    function patch(fs4) {
+      polyfills(fs4);
+      fs4.gracefulify = patch;
+      fs4.createReadStream = createReadStream;
+      fs4.createWriteStream = createWriteStream2;
+      var fs$readFile = fs4.readFile;
+      fs4.readFile = readFile;
+      function readFile(path4, options, cb) {
+        if (typeof options === "function")
+          cb = options, options = null;
+        return go$readFile(path4, options, cb);
+        function go$readFile(path5, options2, cb2, startTime) {
+          return fs$readFile(path5, options2, function(err) {
+            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
+              enqueue([go$readFile, [path5, options2, cb2], err, startTime || Date.now(), Date.now()]);
+            else {
+              if (typeof cb2 === "function")
+                cb2.apply(this, arguments);
+            }
+          });
+        }
       }
-      /**
-       * getPageRangesSegment returns a single segment of page ranges starting from the
-       * specified Marker. Use an empty Marker to start enumeration from the beginning.
-       * After getting a segment, process it, and then call getPageRangesSegment again
-       * (passing the the previously-returned Marker) to get the next segment.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param marker - A string value that identifies the portion of the list to be returned with the next list operation.
-       * @param options - Options to PageBlob Get Page Ranges Segment operation.
-       */
-      async listPageRangesSegment(offset = 0, count, marker, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesSegment", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRanges({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            range: (0, Range_js_1.rangeToString)({ offset, count }),
-            marker,
-            maxPageSize: options.maxPageSize,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      var fs$writeFile = fs4.writeFile;
+      fs4.writeFile = writeFile;
+      function writeFile(path4, data, options, cb) {
+        if (typeof options === "function")
+          cb = options, options = null;
+        return go$writeFile(path4, data, options, cb);
+        function go$writeFile(path5, data2, options2, cb2, startTime) {
+          return fs$writeFile(path5, data2, options2, function(err) {
+            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
+              enqueue([go$writeFile, [path5, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
+            else {
+              if (typeof cb2 === "function")
+                cb2.apply(this, arguments);
+            }
+          });
+        }
       }
-      /**
-       * Returns an AsyncIterableIterator for {@link PageBlobGetPageRangesResponseModel}
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param marker - A string value that identifies the portion of
-       *                          the get of page ranges to be returned with the next getting operation. The
-       *                          operation returns the ContinuationToken value within the response body if the
-       *                          getting operation did not return all page ranges remaining within the current page.
-       *                          The ContinuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of get
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to List Page Ranges operation.
-       */
-      async *listPageRangeItemSegments(offset = 0, count, marker, options = {}) {
-        let getPageRangeItemSegmentsResponse;
-        if (!!marker || marker === void 0) {
-          do {
-            getPageRangeItemSegmentsResponse = await this.listPageRangesSegment(offset, count, marker, options);
-            marker = getPageRangeItemSegmentsResponse.continuationToken;
-            yield await getPageRangeItemSegmentsResponse;
-          } while (marker);
+      var fs$appendFile = fs4.appendFile;
+      if (fs$appendFile)
+        fs4.appendFile = appendFile;
+      function appendFile(path4, data, options, cb) {
+        if (typeof options === "function")
+          cb = options, options = null;
+        return go$appendFile(path4, data, options, cb);
+        function go$appendFile(path5, data2, options2, cb2, startTime) {
+          return fs$appendFile(path5, data2, options2, function(err) {
+            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
+              enqueue([go$appendFile, [path5, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
+            else {
+              if (typeof cb2 === "function")
+                cb2.apply(this, arguments);
+            }
+          });
         }
       }
-      /**
-       * Returns an AsyncIterableIterator of {@link PageRangeInfo} objects
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param options - Options to List Page Ranges operation.
-       */
-      async *listPageRangeItems(offset = 0, count, options = {}) {
-        let marker;
-        for await (const getPageRangesSegment of this.listPageRangeItemSegments(offset, count, marker, options)) {
-          yield* (0, utils_common_js_1.ExtractPageRangeInfoItems)(getPageRangesSegment);
+      var fs$copyFile = fs4.copyFile;
+      if (fs$copyFile)
+        fs4.copyFile = copyFile;
+      function copyFile(src, dest, flags, cb) {
+        if (typeof flags === "function") {
+          cb = flags;
+          flags = 0;
+        }
+        return go$copyFile(src, dest, flags, cb);
+        function go$copyFile(src2, dest2, flags2, cb2, startTime) {
+          return fs$copyFile(src2, dest2, flags2, function(err) {
+            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
+              enqueue([go$copyFile, [src2, dest2, flags2, cb2], err, startTime || Date.now(), Date.now()]);
+            else {
+              if (typeof cb2 === "function")
+                cb2.apply(this, arguments);
+            }
+          });
         }
       }
-      /**
-       * Returns an async iterable iterator to list of page ranges for a page blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
-       *
-       *  .byPage() returns an async iterable iterator to list of page ranges for a page blob.
-       *
-       * ```ts snippet:ClientsListPageBlobs
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const pageBlobClient = containerClient.getPageBlobClient(blobName);
-       *
-       * // Example using `for await` syntax
-       * let i = 1;
-       * for await (const pageRange of pageBlobClient.listPageRanges()) {
-       *   console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       * }
-       *
-       * // Example using `iter.next()` syntax
-       * i = 1;
-       * const iter = pageBlobClient.listPageRanges();
-       * let { value, done } = await iter.next();
-       * while (!done) {
-       *   console.log(`Page range ${i++}: ${value.start} - ${value.end}`);
-       *   ({ value, done } = await iter.next());
-       * }
-       *
-       * // Example using `byPage()` syntax
-       * i = 1;
-       * for await (const page of pageBlobClient.listPageRanges().byPage({ maxPageSize: 20 })) {
-       *   for (const pageRange of page.pageRange || []) {
-       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       *   }
-       * }
-       *
-       * // Example using paging with a marker
-       * i = 1;
-       * let iterator = pageBlobClient.listPageRanges().byPage({ maxPageSize: 2 });
-       * let response = (await iterator.next()).value;
-       * // Prints 2 page ranges
-       * if (response.pageRange) {
-       *   for (const pageRange of response.pageRange) {
-       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       *   }
-       * }
-       * // Gets next marker
-       * let marker = response.continuationToken;
-       * // Passing next marker as continuationToken
-       * iterator = pageBlobClient.listPageRanges().byPage({ continuationToken: marker, maxPageSize: 10 });
-       * response = (await iterator.next()).value;
-       * // Prints 10 page ranges
-       * if (response.pageRange) {
-       *   for (const pageRange of response.pageRange) {
-       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       *   }
-       * }
-       * ```
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param options - Options to the Page Blob Get Ranges operation.
-       * @returns An asyncIterableIterator that supports paging.
-       */
-      listPageRanges(offset = 0, count, options = {}) {
-        options.conditions = options.conditions || {};
-        const iter = this.listPageRangeItems(offset, count, options);
-        return {
-          /**
-           * The next method, part of the iteration protocol
-           */
-          next() {
-            return iter.next();
-          },
-          /**
-           * The connection to the async iterator, part of the iteration protocol
-           */
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          /**
-           * Return an AsyncIterableIterator that works a page at a time
-           */
-          byPage: (settings = {}) => {
-            return this.listPageRangeItemSegments(offset, count, settings.continuationToken, {
-              maxPageSize: settings.maxPageSize,
-              ...options
-            });
-          }
+      var fs$readdir = fs4.readdir;
+      fs4.readdir = readdir;
+      var noReaddirOptionVersions = /^v[0-5]\./;
+      function readdir(path4, options, cb) {
+        if (typeof options === "function")
+          cb = options, options = null;
+        var go$readdir = noReaddirOptionVersions.test(process.version) ? function go$readdir2(path5, options2, cb2, startTime) {
+          return fs$readdir(path5, fs$readdirCallback(
+            path5,
+            options2,
+            cb2,
+            startTime
+          ));
+        } : function go$readdir2(path5, options2, cb2, startTime) {
+          return fs$readdir(path5, options2, fs$readdirCallback(
+            path5,
+            options2,
+            cb2,
+            startTime
+          ));
         };
+        return go$readdir(path4, options, cb);
+        function fs$readdirCallback(path5, options2, cb2, startTime) {
+          return function(err, files) {
+            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
+              enqueue([
+                go$readdir,
+                [path5, options2, cb2],
+                err,
+                startTime || Date.now(),
+                Date.now()
+              ]);
+            else {
+              if (files && files.sort)
+                files.sort();
+              if (typeof cb2 === "function")
+                cb2.call(this, err, files);
+            }
+          };
+        }
+      }
+      if (process.version.substr(0, 4) === "v0.8") {
+        var legStreams = legacy(fs4);
+        ReadStream = legStreams.ReadStream;
+        WriteStream = legStreams.WriteStream;
+      }
+      var fs$ReadStream = fs4.ReadStream;
+      if (fs$ReadStream) {
+        ReadStream.prototype = Object.create(fs$ReadStream.prototype);
+        ReadStream.prototype.open = ReadStream$open;
       }
-      /**
-       * Gets the collection of page ranges that differ between a specified snapshot and this page blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
-       *
-       * @param offset - Starting byte position of the page blob
-       * @param count - Number of bytes to get ranges diff.
-       * @param prevSnapshot - Timestamp of snapshot to retrieve the difference.
-       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
-       * @returns Response data for the Page Blob Get Page Range Diff operation.
-       */
-      async getPageRangesDiff(offset, count, prevSnapshot, options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesDiff", options, async (updatedOptions) => {
-          const result = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            prevsnapshot: prevSnapshot,
-            range: (0, Range_js_1.rangeToString)({ offset, count }),
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(result);
+      var fs$WriteStream = fs4.WriteStream;
+      if (fs$WriteStream) {
+        WriteStream.prototype = Object.create(fs$WriteStream.prototype);
+        WriteStream.prototype.open = WriteStream$open;
+      }
+      Object.defineProperty(fs4, "ReadStream", {
+        get: function() {
+          return ReadStream;
+        },
+        set: function(val) {
+          ReadStream = val;
+        },
+        enumerable: true,
+        configurable: true
+      });
+      Object.defineProperty(fs4, "WriteStream", {
+        get: function() {
+          return WriteStream;
+        },
+        set: function(val) {
+          WriteStream = val;
+        },
+        enumerable: true,
+        configurable: true
+      });
+      var FileReadStream = ReadStream;
+      Object.defineProperty(fs4, "FileReadStream", {
+        get: function() {
+          return FileReadStream;
+        },
+        set: function(val) {
+          FileReadStream = val;
+        },
+        enumerable: true,
+        configurable: true
+      });
+      var FileWriteStream = WriteStream;
+      Object.defineProperty(fs4, "FileWriteStream", {
+        get: function() {
+          return FileWriteStream;
+        },
+        set: function(val) {
+          FileWriteStream = val;
+        },
+        enumerable: true,
+        configurable: true
+      });
+      function ReadStream(path4, options) {
+        if (this instanceof ReadStream)
+          return fs$ReadStream.apply(this, arguments), this;
+        else
+          return ReadStream.apply(Object.create(ReadStream.prototype), arguments);
+      }
+      function ReadStream$open() {
+        var that = this;
+        open(that.path, that.flags, that.mode, function(err, fd) {
+          if (err) {
+            if (that.autoClose)
+              that.destroy();
+            that.emit("error", err);
+          } else {
+            that.fd = fd;
+            that.emit("open", fd);
+            that.read();
+          }
         });
       }
-      /**
-       * getPageRangesDiffSegment returns a single segment of page ranges starting from the
-       * specified Marker for difference between previous snapshot and the target page blob.
-       * Use an empty Marker to start enumeration from the beginning.
-       * After getting a segment, process it, and then call getPageRangesDiffSegment again
-       * (passing the the previously-returned Marker) to get the next segment.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference.
-       * @param marker - A string value that identifies the portion of the get to be returned with the next get operation.
-       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
-       */
-      async listPageRangesDiffSegment(offset, count, prevSnapshotOrUrl, marker, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesDiffSegment", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({
-            abortSignal: options?.abortSignal,
-            leaseAccessConditions: options?.conditions,
-            modifiedAccessConditions: {
-              ...options?.conditions,
-              ifTags: options?.conditions?.tagConditions
-            },
-            prevsnapshot: prevSnapshotOrUrl,
-            range: (0, Range_js_1.rangeToString)({
-              offset,
-              count
-            }),
-            marker,
-            maxPageSize: options?.maxPageSize,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
+      function WriteStream(path4, options) {
+        if (this instanceof WriteStream)
+          return fs$WriteStream.apply(this, arguments), this;
+        else
+          return WriteStream.apply(Object.create(WriteStream.prototype), arguments);
+      }
+      function WriteStream$open() {
+        var that = this;
+        open(that.path, that.flags, that.mode, function(err, fd) {
+          if (err) {
+            that.destroy();
+            that.emit("error", err);
+          } else {
+            that.fd = fd;
+            that.emit("open", fd);
+          }
         });
       }
-      /**
-       * Returns an AsyncIterableIterator for {@link PageBlobGetPageRangesDiffResponseModel}
-       *
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference.
-       * @param marker - A string value that identifies the portion of
-       *                          the get of page ranges to be returned with the next getting operation. The
-       *                          operation returns the ContinuationToken value within the response body if the
-       *                          getting operation did not return all page ranges remaining within the current page.
-       *                          The ContinuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of get
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
-       */
-      async *listPageRangeDiffItemSegments(offset, count, prevSnapshotOrUrl, marker, options) {
-        let getPageRangeItemSegmentsResponse;
-        if (!!marker || marker === void 0) {
-          do {
-            getPageRangeItemSegmentsResponse = await this.listPageRangesDiffSegment(offset, count, prevSnapshotOrUrl, marker, options);
-            marker = getPageRangeItemSegmentsResponse.continuationToken;
-            yield await getPageRangeItemSegmentsResponse;
-          } while (marker);
+      function createReadStream(path4, options) {
+        return new fs4.ReadStream(path4, options);
+      }
+      function createWriteStream2(path4, options) {
+        return new fs4.WriteStream(path4, options);
+      }
+      var fs$open = fs4.open;
+      fs4.open = open;
+      function open(path4, flags, mode, cb) {
+        if (typeof mode === "function")
+          cb = mode, mode = null;
+        return go$open(path4, flags, mode, cb);
+        function go$open(path5, flags2, mode2, cb2, startTime) {
+          return fs$open(path5, flags2, mode2, function(err, fd) {
+            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
+              enqueue([go$open, [path5, flags2, mode2, cb2], err, startTime || Date.now(), Date.now()]);
+            else {
+              if (typeof cb2 === "function")
+                cb2.apply(this, arguments);
+            }
+          });
         }
       }
-      /**
-       * Returns an AsyncIterableIterator of {@link PageRangeInfo} objects
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference.
-       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
-       */
-      async *listPageRangeDiffItems(offset, count, prevSnapshotOrUrl, options) {
-        let marker;
-        for await (const getPageRangesSegment of this.listPageRangeDiffItemSegments(offset, count, prevSnapshotOrUrl, marker, options)) {
-          yield* (0, utils_common_js_1.ExtractPageRangeInfoItems)(getPageRangesSegment);
+      return fs4;
+    }
+    function enqueue(elem) {
+      debug4("ENQUEUE", elem[0].name, elem[1]);
+      fs3[gracefulQueue].push(elem);
+      retry2();
+    }
+    var retryTimer;
+    function resetQueue() {
+      var now = Date.now();
+      for (var i = 0; i < fs3[gracefulQueue].length; ++i) {
+        if (fs3[gracefulQueue][i].length > 2) {
+          fs3[gracefulQueue][i][3] = now;
+          fs3[gracefulQueue][i][4] = now;
         }
       }
-      /**
-       * Returns an async iterable iterator to list of page ranges that differ between a specified snapshot and this page blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
-       *
-       *  .byPage() returns an async iterable iterator to list of page ranges that differ between a specified snapshot and this page blob.
-       *
-       * ```ts snippet:ClientsListPageBlobsDiff
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const pageBlobClient = containerClient.getPageBlobClient(blobName);
-       *
-       * const offset = 0;
-       * const count = 1024;
-       * const previousSnapshot = "";
-       * // Example using `for await` syntax
-       * let i = 1;
-       * for await (const pageRange of pageBlobClient.listPageRangesDiff(offset, count, previousSnapshot)) {
-       *   console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       * }
-       *
-       * // Example using `iter.next()` syntax
-       * i = 1;
-       * const iter = pageBlobClient.listPageRangesDiff(offset, count, previousSnapshot);
-       * let { value, done } = await iter.next();
-       * while (!done) {
-       *   console.log(`Page range ${i++}: ${value.start} - ${value.end}`);
-       *   ({ value, done } = await iter.next());
-       * }
-       *
-       * // Example using `byPage()` syntax
-       * i = 1;
-       * for await (const page of pageBlobClient
-       *   .listPageRangesDiff(offset, count, previousSnapshot)
-       *   .byPage({ maxPageSize: 20 })) {
-       *   for (const pageRange of page.pageRange || []) {
-       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       *   }
-       * }
-       *
-       * // Example using paging with a marker
-       * i = 1;
-       * let iterator = pageBlobClient
-       *   .listPageRangesDiff(offset, count, previousSnapshot)
-       *   .byPage({ maxPageSize: 2 });
-       * let response = (await iterator.next()).value;
-       * // Prints 2 page ranges
-       * if (response.pageRange) {
-       *   for (const pageRange of response.pageRange) {
-       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       *   }
-       * }
-       * // Gets next marker
-       * let marker = response.continuationToken;
-       * // Passing next marker as continuationToken
-       * iterator = pageBlobClient
-       *   .listPageRangesDiff(offset, count, previousSnapshot)
-       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
-       * response = (await iterator.next()).value;
-       * // Prints 10 page ranges
-       * if (response.pageRange) {
-       *   for (const pageRange of response.pageRange) {
-       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       *   }
-       * }
-       * ```
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param prevSnapshot - Timestamp of snapshot to retrieve the difference.
-       * @param options - Options to the Page Blob Get Ranges operation.
-       * @returns An asyncIterableIterator that supports paging.
-       */
-      listPageRangesDiff(offset, count, prevSnapshot, options = {}) {
-        options.conditions = options.conditions || {};
-        const iter = this.listPageRangeDiffItems(offset, count, prevSnapshot, {
-          ...options
-        });
-        return {
-          /**
-           * The next method, part of the iteration protocol
-           */
-          next() {
-            return iter.next();
-          },
-          /**
-           * The connection to the async iterator, part of the iteration protocol
-           */
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          /**
-           * Return an AsyncIterableIterator that works a page at a time
-           */
-          byPage: (settings = {}) => {
-            return this.listPageRangeDiffItemSegments(offset, count, prevSnapshot, settings.continuationToken, {
-              maxPageSize: settings.maxPageSize,
-              ...options
-            });
+      retry2();
+    }
+    function retry2() {
+      clearTimeout(retryTimer);
+      retryTimer = void 0;
+      if (fs3[gracefulQueue].length === 0)
+        return;
+      var elem = fs3[gracefulQueue].shift();
+      var fn = elem[0];
+      var args = elem[1];
+      var err = elem[2];
+      var startTime = elem[3];
+      var lastTime = elem[4];
+      if (startTime === void 0) {
+        debug4("RETRY", fn.name, args);
+        fn.apply(null, args);
+      } else if (Date.now() - startTime >= 6e4) {
+        debug4("TIMEOUT", fn.name, args);
+        var cb = args.pop();
+        if (typeof cb === "function")
+          cb.call(null, err);
+      } else {
+        var sinceAttempt = Date.now() - lastTime;
+        var sinceStart = Math.max(lastTime - startTime, 1);
+        var desiredDelay = Math.min(sinceStart * 1.2, 100);
+        if (sinceAttempt >= desiredDelay) {
+          debug4("RETRY", fn.name, args);
+          fn.apply(null, args.concat([startTime]));
+        } else {
+          fs3[gracefulQueue].push(elem);
+        }
+      }
+      if (retryTimer === void 0) {
+        retryTimer = setTimeout(retry2, 0);
+      }
+    }
+  }
+});
+
+// node_modules/archiver-utils/node_modules/is-stream/index.js
+var require_is_stream = __commonJS({
+  "node_modules/archiver-utils/node_modules/is-stream/index.js"(exports2, module2) {
+    "use strict";
+    var isStream = (stream) => stream !== null && typeof stream === "object" && typeof stream.pipe === "function";
+    isStream.writable = (stream) => isStream(stream) && stream.writable !== false && typeof stream._write === "function" && typeof stream._writableState === "object";
+    isStream.readable = (stream) => isStream(stream) && stream.readable !== false && typeof stream._read === "function" && typeof stream._readableState === "object";
+    isStream.duplex = (stream) => isStream.writable(stream) && isStream.readable(stream);
+    isStream.transform = (stream) => isStream.duplex(stream) && typeof stream._transform === "function";
+    module2.exports = isStream;
+  }
+});
+
+// node_modules/process-nextick-args/index.js
+var require_process_nextick_args = __commonJS({
+  "node_modules/process-nextick-args/index.js"(exports2, module2) {
+    "use strict";
+    if (typeof process === "undefined" || !process.version || process.version.indexOf("v0.") === 0 || process.version.indexOf("v1.") === 0 && process.version.indexOf("v1.8.") !== 0) {
+      module2.exports = { nextTick };
+    } else {
+      module2.exports = process;
+    }
+    function nextTick(fn, arg1, arg2, arg3) {
+      if (typeof fn !== "function") {
+        throw new TypeError('"callback" argument must be a function');
+      }
+      var len = arguments.length;
+      var args, i;
+      switch (len) {
+        case 0:
+        case 1:
+          return process.nextTick(fn);
+        case 2:
+          return process.nextTick(function afterTickOne() {
+            fn.call(null, arg1);
+          });
+        case 3:
+          return process.nextTick(function afterTickTwo() {
+            fn.call(null, arg1, arg2);
+          });
+        case 4:
+          return process.nextTick(function afterTickThree() {
+            fn.call(null, arg1, arg2, arg3);
+          });
+        default:
+          args = new Array(len - 1);
+          i = 0;
+          while (i < args.length) {
+            args[i++] = arguments[i];
           }
-        };
+          return process.nextTick(function afterTick() {
+            fn.apply(null, args);
+          });
       }
-      /**
-       * Gets the collection of page ranges that differ between a specified snapshot and this page blob for managed disks.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
-       *
-       * @param offset - Starting byte position of the page blob
-       * @param count - Number of bytes to get ranges diff.
-       * @param prevSnapshotUrl - URL of snapshot to retrieve the difference.
-       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
-       * @returns Response data for the Page Blob Get Page Range Diff operation.
-       */
-      async getPageRangesDiffForManagedDisks(offset, count, prevSnapshotUrl, options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-GetPageRangesDiffForManagedDisks", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            prevSnapshotUrl,
-            range: (0, Range_js_1.rangeToString)({ offset, count }),
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(response);
-        });
+    }
+  }
+});
+
+// node_modules/lazystream/node_modules/isarray/index.js
+var require_isarray = __commonJS({
+  "node_modules/lazystream/node_modules/isarray/index.js"(exports2, module2) {
+    var toString2 = {}.toString;
+    module2.exports = Array.isArray || function(arr) {
+      return toString2.call(arr) == "[object Array]";
+    };
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/stream.js
+var require_stream = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/stream.js"(exports2, module2) {
+    module2.exports = require("stream");
+  }
+});
+
+// node_modules/lazystream/node_modules/safe-buffer/index.js
+var require_safe_buffer = __commonJS({
+  "node_modules/lazystream/node_modules/safe-buffer/index.js"(exports2, module2) {
+    var buffer = require("buffer");
+    var Buffer2 = buffer.Buffer;
+    function copyProps(src, dst) {
+      for (var key in src) {
+        dst[key] = src[key];
       }
-      /**
-       * Resizes the page blob to the specified size (which must be a multiple of 512).
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties
-       *
-       * @param size - Target size
-       * @param options - Options to the Page Blob Resize operation.
-       * @returns Response data for the Page Blob Resize operation.
-       */
-      async resize(size, options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-resize", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.resize(size, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            encryptionScope: options.encryptionScope,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+    }
+    if (Buffer2.from && Buffer2.alloc && Buffer2.allocUnsafe && Buffer2.allocUnsafeSlow) {
+      module2.exports = buffer;
+    } else {
+      copyProps(buffer, exports2);
+      exports2.Buffer = SafeBuffer;
+    }
+    function SafeBuffer(arg, encodingOrOffset, length) {
+      return Buffer2(arg, encodingOrOffset, length);
+    }
+    copyProps(Buffer2, SafeBuffer);
+    SafeBuffer.from = function(arg, encodingOrOffset, length) {
+      if (typeof arg === "number") {
+        throw new TypeError("Argument must not be a number");
+      }
+      return Buffer2(arg, encodingOrOffset, length);
+    };
+    SafeBuffer.alloc = function(size, fill, encoding) {
+      if (typeof size !== "number") {
+        throw new TypeError("Argument must be a number");
+      }
+      var buf = Buffer2(size);
+      if (fill !== void 0) {
+        if (typeof encoding === "string") {
+          buf.fill(fill, encoding);
+        } else {
+          buf.fill(fill);
+        }
+      } else {
+        buf.fill(0);
       }
-      /**
-       * Sets a page blob's sequence number.
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties
-       *
-       * @param sequenceNumberAction - Indicates how the service should modify the blob's sequence number.
-       * @param sequenceNumber - Required if sequenceNumberAction is max or update
-       * @param options - Options to the Page Blob Update Sequence Number operation.
-       * @returns Response data for the Page Blob Update Sequence Number operation.
-       */
-      async updateSequenceNumber(sequenceNumberAction, sequenceNumber, options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-updateSequenceNumber", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.updateSequenceNumber(sequenceNumberAction, {
-            abortSignal: options.abortSignal,
-            blobSequenceNumber: sequenceNumber,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      return buf;
+    };
+    SafeBuffer.allocUnsafe = function(size) {
+      if (typeof size !== "number") {
+        throw new TypeError("Argument must be a number");
       }
-      /**
-       * Begins an operation to start an incremental copy from one page blob's snapshot to this page blob.
-       * The snapshot is copied such that only the differential changes between the previously
-       * copied snapshot are transferred to the destination.
-       * The copied snapshots are complete copies of the original snapshot and can be read or copied from as usual.
-       * @see https://learn.microsoft.com/rest/api/storageservices/incremental-copy-blob
-       * @see https://learn.microsoft.com/azure/virtual-machines/windows/incremental-snapshots
-       *
-       * @param copySource - Specifies the name of the source page blob snapshot. For example,
-       *                            https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=
-       * @param options - Options to the Page Blob Copy Incremental operation.
-       * @returns Response data for the Page Blob Copy Incremental operation.
-       */
-      async startCopyIncremental(copySource, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-startCopyIncremental", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.copyIncremental(copySource, {
-            abortSignal: options.abortSignal,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      return Buffer2(size);
+    };
+    SafeBuffer.allocUnsafeSlow = function(size) {
+      if (typeof size !== "number") {
+        throw new TypeError("Argument must be a number");
       }
+      return buffer.SlowBuffer(size);
     };
-    exports2.PageBlobClient = PageBlobClient;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/BatchUtils.js
-var require_BatchUtils = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BatchUtils.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getBodyAsText = getBodyAsText;
-    exports2.utf8ByteLength = utf8ByteLength;
-    var utils_js_1 = require_utils7();
-    var constants_js_1 = require_constants15();
-    async function getBodyAsText(batchResponse) {
-      let buffer = Buffer.alloc(constants_js_1.BATCH_MAX_PAYLOAD_IN_BYTES);
-      const responseLength = await (0, utils_js_1.streamToBuffer2)(batchResponse.readableStreamBody, buffer);
-      buffer = buffer.slice(0, responseLength);
-      return buffer.toString();
+// node_modules/core-util-is/lib/util.js
+var require_util20 = __commonJS({
+  "node_modules/core-util-is/lib/util.js"(exports2) {
+    function isArray(arg) {
+      if (Array.isArray) {
+        return Array.isArray(arg);
+      }
+      return objectToString(arg) === "[object Array]";
     }
-    function utf8ByteLength(str2) {
-      return Buffer.byteLength(str2);
+    exports2.isArray = isArray;
+    function isBoolean2(arg) {
+      return typeof arg === "boolean";
+    }
+    exports2.isBoolean = isBoolean2;
+    function isNull2(arg) {
+      return arg === null;
+    }
+    exports2.isNull = isNull2;
+    function isNullOrUndefined(arg) {
+      return arg == null;
+    }
+    exports2.isNullOrUndefined = isNullOrUndefined;
+    function isNumber(arg) {
+      return typeof arg === "number";
+    }
+    exports2.isNumber = isNumber;
+    function isString(arg) {
+      return typeof arg === "string";
+    }
+    exports2.isString = isString;
+    function isSymbol(arg) {
+      return typeof arg === "symbol";
+    }
+    exports2.isSymbol = isSymbol;
+    function isUndefined(arg) {
+      return arg === void 0;
+    }
+    exports2.isUndefined = isUndefined;
+    function isRegExp(re) {
+      return objectToString(re) === "[object RegExp]";
+    }
+    exports2.isRegExp = isRegExp;
+    function isObject2(arg) {
+      return typeof arg === "object" && arg !== null;
+    }
+    exports2.isObject = isObject2;
+    function isDate(d) {
+      return objectToString(d) === "[object Date]";
+    }
+    exports2.isDate = isDate;
+    function isError(e) {
+      return objectToString(e) === "[object Error]" || e instanceof Error;
+    }
+    exports2.isError = isError;
+    function isFunction(arg) {
+      return typeof arg === "function";
+    }
+    exports2.isFunction = isFunction;
+    function isPrimitive(arg) {
+      return arg === null || typeof arg === "boolean" || typeof arg === "number" || typeof arg === "string" || typeof arg === "symbol" || // ES6 symbol
+      typeof arg === "undefined";
+    }
+    exports2.isPrimitive = isPrimitive;
+    exports2.isBuffer = require("buffer").Buffer.isBuffer;
+    function objectToString(o) {
+      return Object.prototype.toString.call(o);
     }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/BatchResponseParser.js
-var require_BatchResponseParser = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BatchResponseParser.js"(exports2) {
+// node_modules/inherits/inherits_browser.js
+var require_inherits_browser = __commonJS({
+  "node_modules/inherits/inherits_browser.js"(exports2, module2) {
+    if (typeof Object.create === "function") {
+      module2.exports = function inherits(ctor, superCtor) {
+        ctor.super_ = superCtor;
+        ctor.prototype = Object.create(superCtor.prototype, {
+          constructor: {
+            value: ctor,
+            enumerable: false,
+            writable: true,
+            configurable: true
+          }
+        });
+      };
+    } else {
+      module2.exports = function inherits(ctor, superCtor) {
+        ctor.super_ = superCtor;
+        var TempCtor = function() {
+        };
+        TempCtor.prototype = superCtor.prototype;
+        ctor.prototype = new TempCtor();
+        ctor.prototype.constructor = ctor;
+      };
+    }
+  }
+});
+
+// node_modules/inherits/inherits.js
+var require_inherits = __commonJS({
+  "node_modules/inherits/inherits.js"(exports2, module2) {
+    try {
+      util = require("util");
+      if (typeof util.inherits !== "function") throw "";
+      module2.exports = util.inherits;
+    } catch (e) {
+      module2.exports = require_inherits_browser();
+    }
+    var util;
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/BufferList.js
+var require_BufferList = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/BufferList.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BatchResponseParser = void 0;
-    var core_rest_pipeline_1 = require_commonjs6();
-    var core_http_compat_1 = require_commonjs9();
-    var constants_js_1 = require_constants15();
-    var BatchUtils_js_1 = require_BatchUtils();
-    var log_js_1 = require_log5();
-    var HTTP_HEADER_DELIMITER = ": ";
-    var SPACE_DELIMITER = " ";
-    var NOT_FOUND = -1;
-    var BatchResponseParser = class {
-      batchResponse;
-      responseBatchBoundary;
-      perResponsePrefix;
-      batchResponseEnding;
-      subRequests;
-      constructor(batchResponse, subRequests) {
-        if (!batchResponse || !batchResponse.contentType) {
-          throw new RangeError("batchResponse is malformed or doesn't contain valid content-type.");
-        }
-        if (!subRequests || subRequests.size === 0) {
-          throw new RangeError("Invalid state: subRequests is not provided or size is 0.");
-        }
-        this.batchResponse = batchResponse;
-        this.subRequests = subRequests;
-        this.responseBatchBoundary = this.batchResponse.contentType.split("=")[1];
-        this.perResponsePrefix = `--${this.responseBatchBoundary}${constants_js_1.HTTP_LINE_ENDING}`;
-        this.batchResponseEnding = `--${this.responseBatchBoundary}--`;
+    function _classCallCheck(instance, Constructor) {
+      if (!(instance instanceof Constructor)) {
+        throw new TypeError("Cannot call a class as a function");
       }
-      // For example of response, please refer to https://learn.microsoft.com/rest/api/storageservices/blob-batch#response
-      async parseBatchResponse() {
-        if (this.batchResponse._response.status !== constants_js_1.HTTPURLConnection.HTTP_ACCEPTED) {
-          throw new Error(`Invalid state: batch request failed with status: '${this.batchResponse._response.status}'.`);
+    }
+    var Buffer2 = require_safe_buffer().Buffer;
+    var util = require("util");
+    function copyBuffer(src, target, offset) {
+      src.copy(target, offset);
+    }
+    module2.exports = (function() {
+      function BufferList() {
+        _classCallCheck(this, BufferList);
+        this.head = null;
+        this.tail = null;
+        this.length = 0;
+      }
+      BufferList.prototype.push = function push(v) {
+        var entry = { data: v, next: null };
+        if (this.length > 0) this.tail.next = entry;
+        else this.head = entry;
+        this.tail = entry;
+        ++this.length;
+      };
+      BufferList.prototype.unshift = function unshift(v) {
+        var entry = { data: v, next: this.head };
+        if (this.length === 0) this.tail = entry;
+        this.head = entry;
+        ++this.length;
+      };
+      BufferList.prototype.shift = function shift() {
+        if (this.length === 0) return;
+        var ret = this.head.data;
+        if (this.length === 1) this.head = this.tail = null;
+        else this.head = this.head.next;
+        --this.length;
+        return ret;
+      };
+      BufferList.prototype.clear = function clear() {
+        this.head = this.tail = null;
+        this.length = 0;
+      };
+      BufferList.prototype.join = function join4(s) {
+        if (this.length === 0) return "";
+        var p = this.head;
+        var ret = "" + p.data;
+        while (p = p.next) {
+          ret += s + p.data;
         }
-        const responseBodyAsText = await (0, BatchUtils_js_1.getBodyAsText)(this.batchResponse);
-        const subResponses = responseBodyAsText.split(this.batchResponseEnding)[0].split(this.perResponsePrefix).slice(1);
-        const subResponseCount = subResponses.length;
-        if (subResponseCount !== this.subRequests.size && subResponseCount !== 1) {
-          throw new Error("Invalid state: sub responses' count is not equal to sub requests' count.");
+        return ret;
+      };
+      BufferList.prototype.concat = function concat(n) {
+        if (this.length === 0) return Buffer2.alloc(0);
+        var ret = Buffer2.allocUnsafe(n >>> 0);
+        var p = this.head;
+        var i = 0;
+        while (p) {
+          copyBuffer(p.data, ret, i);
+          i += p.data.length;
+          p = p.next;
         }
-        const deserializedSubResponses = new Array(subResponseCount);
-        let subResponsesSucceededCount = 0;
-        let subResponsesFailedCount = 0;
-        for (let index = 0; index < subResponseCount; index++) {
-          const subResponse = subResponses[index];
-          const deserializedSubResponse = {};
-          deserializedSubResponse.headers = (0, core_http_compat_1.toHttpHeadersLike)((0, core_rest_pipeline_1.createHttpHeaders)());
-          const responseLines = subResponse.split(`${constants_js_1.HTTP_LINE_ENDING}`);
-          let subRespHeaderStartFound = false;
-          let subRespHeaderEndFound = false;
-          let subRespFailed = false;
-          let contentId = NOT_FOUND;
-          for (const responseLine of responseLines) {
-            if (!subRespHeaderStartFound) {
-              if (responseLine.startsWith(constants_js_1.HeaderConstants.CONTENT_ID)) {
-                contentId = parseInt(responseLine.split(HTTP_HEADER_DELIMITER)[1]);
-              }
-              if (responseLine.startsWith(constants_js_1.HTTP_VERSION_1_1)) {
-                subRespHeaderStartFound = true;
-                const tokens = responseLine.split(SPACE_DELIMITER);
-                deserializedSubResponse.status = parseInt(tokens[1]);
-                deserializedSubResponse.statusMessage = tokens.slice(2).join(SPACE_DELIMITER);
-              }
-              continue;
-            }
-            if (responseLine.trim() === "") {
-              if (!subRespHeaderEndFound) {
-                subRespHeaderEndFound = true;
-              }
-              continue;
-            }
-            if (!subRespHeaderEndFound) {
-              if (responseLine.indexOf(HTTP_HEADER_DELIMITER) === -1) {
-                throw new Error(`Invalid state: find non-empty line '${responseLine}' without HTTP header delimiter '${HTTP_HEADER_DELIMITER}'.`);
-              }
-              const tokens = responseLine.split(HTTP_HEADER_DELIMITER);
-              deserializedSubResponse.headers.set(tokens[0], tokens[1]);
-              if (tokens[0] === constants_js_1.HeaderConstants.X_MS_ERROR_CODE) {
-                deserializedSubResponse.errorCode = tokens[1];
-                subRespFailed = true;
-              }
-            } else {
-              if (!deserializedSubResponse.bodyAsText) {
-                deserializedSubResponse.bodyAsText = "";
-              }
-              deserializedSubResponse.bodyAsText += responseLine;
-            }
-          }
-          if (contentId !== NOT_FOUND && Number.isInteger(contentId) && contentId >= 0 && contentId < this.subRequests.size && deserializedSubResponses[contentId] === void 0) {
-            deserializedSubResponse._request = this.subRequests.get(contentId);
-            deserializedSubResponses[contentId] = deserializedSubResponse;
-          } else {
-            log_js_1.logger.error(`subResponses[${index}] is dropped as the Content-ID is not found or invalid, Content-ID: ${contentId}`);
+        return ret;
+      };
+      return BufferList;
+    })();
+    if (util && util.inspect && util.inspect.custom) {
+      module2.exports.prototype[util.inspect.custom] = function() {
+        var obj = util.inspect({ length: this.length });
+        return this.constructor.name + " " + obj;
+      };
+    }
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/destroy.js
+var require_destroy = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/destroy.js"(exports2, module2) {
+    "use strict";
+    var pna = require_process_nextick_args();
+    function destroy(err, cb) {
+      var _this = this;
+      var readableDestroyed = this._readableState && this._readableState.destroyed;
+      var writableDestroyed = this._writableState && this._writableState.destroyed;
+      if (readableDestroyed || writableDestroyed) {
+        if (cb) {
+          cb(err);
+        } else if (err) {
+          if (!this._writableState) {
+            pna.nextTick(emitErrorNT, this, err);
+          } else if (!this._writableState.errorEmitted) {
+            this._writableState.errorEmitted = true;
+            pna.nextTick(emitErrorNT, this, err);
           }
-          if (subRespFailed) {
-            subResponsesFailedCount++;
-          } else {
-            subResponsesSucceededCount++;
+        }
+        return this;
+      }
+      if (this._readableState) {
+        this._readableState.destroyed = true;
+      }
+      if (this._writableState) {
+        this._writableState.destroyed = true;
+      }
+      this._destroy(err || null, function(err2) {
+        if (!cb && err2) {
+          if (!_this._writableState) {
+            pna.nextTick(emitErrorNT, _this, err2);
+          } else if (!_this._writableState.errorEmitted) {
+            _this._writableState.errorEmitted = true;
+            pna.nextTick(emitErrorNT, _this, err2);
           }
+        } else if (cb) {
+          cb(err2);
         }
-        return {
-          subResponses: deserializedSubResponses,
-          subResponsesSucceededCount,
-          subResponsesFailedCount
-        };
+      });
+      return this;
+    }
+    function undestroy() {
+      if (this._readableState) {
+        this._readableState.destroyed = false;
+        this._readableState.reading = false;
+        this._readableState.ended = false;
+        this._readableState.endEmitted = false;
+      }
+      if (this._writableState) {
+        this._writableState.destroyed = false;
+        this._writableState.ended = false;
+        this._writableState.ending = false;
+        this._writableState.finalCalled = false;
+        this._writableState.prefinished = false;
+        this._writableState.finished = false;
+        this._writableState.errorEmitted = false;
       }
+    }
+    function emitErrorNT(self2, err) {
+      self2.emit("error", err);
+    }
+    module2.exports = {
+      destroy,
+      undestroy
     };
-    exports2.BatchResponseParser = BatchResponseParser;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/utils/Mutex.js
-var require_Mutex = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/Mutex.js"(exports2) {
+// node_modules/util-deprecate/node.js
+var require_node2 = __commonJS({
+  "node_modules/util-deprecate/node.js"(exports2, module2) {
+    module2.exports = require("util").deprecate;
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/lib/_stream_writable.js
+var require_stream_writable = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_writable.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Mutex = void 0;
-    var MutexLockStatus;
-    (function(MutexLockStatus2) {
-      MutexLockStatus2[MutexLockStatus2["LOCKED"] = 0] = "LOCKED";
-      MutexLockStatus2[MutexLockStatus2["UNLOCKED"] = 1] = "UNLOCKED";
-    })(MutexLockStatus || (MutexLockStatus = {}));
-    var Mutex = class {
-      /**
-       * Lock for a specific key. If the lock has been acquired by another customer, then
-       * will wait until getting the lock.
-       *
-       * @param key - lock key
-       */
-      static async lock(key) {
-        return new Promise((resolve3) => {
-          if (this.keys[key] === void 0 || this.keys[key] === MutexLockStatus.UNLOCKED) {
-            this.keys[key] = MutexLockStatus.LOCKED;
-            resolve3();
-          } else {
-            this.onUnlockEvent(key, () => {
-              this.keys[key] = MutexLockStatus.LOCKED;
-              resolve3();
-            });
-          }
-        });
+    var pna = require_process_nextick_args();
+    module2.exports = Writable;
+    function CorkedRequest(state) {
+      var _this = this;
+      this.next = null;
+      this.entry = null;
+      this.finish = function() {
+        onCorkedFinish(_this, state);
+      };
+    }
+    var asyncWrite = !process.browser && ["v0.10", "v0.9."].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick;
+    var Duplex;
+    Writable.WritableState = WritableState;
+    var util = Object.create(require_util20());
+    util.inherits = require_inherits();
+    var internalUtil = {
+      deprecate: require_node2()
+    };
+    var Stream = require_stream();
+    var Buffer2 = require_safe_buffer().Buffer;
+    var OurUint8Array = (typeof global !== "undefined" ? global : typeof window !== "undefined" ? window : typeof self !== "undefined" ? self : {}).Uint8Array || function() {
+    };
+    function _uint8ArrayToBuffer(chunk) {
+      return Buffer2.from(chunk);
+    }
+    function _isUint8Array(obj) {
+      return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array;
+    }
+    var destroyImpl = require_destroy();
+    util.inherits(Writable, Stream);
+    function nop() {
+    }
+    function WritableState(options, stream) {
+      Duplex = Duplex || require_stream_duplex();
+      options = options || {};
+      var isDuplex = stream instanceof Duplex;
+      this.objectMode = !!options.objectMode;
+      if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;
+      var hwm = options.highWaterMark;
+      var writableHwm = options.writableHighWaterMark;
+      var defaultHwm = this.objectMode ? 16 : 16 * 1024;
+      if (hwm || hwm === 0) this.highWaterMark = hwm;
+      else if (isDuplex && (writableHwm || writableHwm === 0)) this.highWaterMark = writableHwm;
+      else this.highWaterMark = defaultHwm;
+      this.highWaterMark = Math.floor(this.highWaterMark);
+      this.finalCalled = false;
+      this.needDrain = false;
+      this.ending = false;
+      this.ended = false;
+      this.finished = false;
+      this.destroyed = false;
+      var noDecode = options.decodeStrings === false;
+      this.decodeStrings = !noDecode;
+      this.defaultEncoding = options.defaultEncoding || "utf8";
+      this.length = 0;
+      this.writing = false;
+      this.corked = 0;
+      this.sync = true;
+      this.bufferProcessing = false;
+      this.onwrite = function(er) {
+        onwrite(stream, er);
+      };
+      this.writecb = null;
+      this.writelen = 0;
+      this.bufferedRequest = null;
+      this.lastBufferedRequest = null;
+      this.pendingcb = 0;
+      this.prefinished = false;
+      this.errorEmitted = false;
+      this.bufferedRequestCount = 0;
+      this.corkedRequestsFree = new CorkedRequest(this);
+    }
+    WritableState.prototype.getBuffer = function getBuffer() {
+      var current = this.bufferedRequest;
+      var out = [];
+      while (current) {
+        out.push(current);
+        current = current.next;
       }
-      /**
-       * Unlock a key.
-       *
-       * @param key -
-       */
-      static async unlock(key) {
-        return new Promise((resolve3) => {
-          if (this.keys[key] === MutexLockStatus.LOCKED) {
-            this.emitUnlockEvent(key);
-          }
-          delete this.keys[key];
-          resolve3();
+      return out;
+    };
+    (function() {
+      try {
+        Object.defineProperty(WritableState.prototype, "buffer", {
+          get: internalUtil.deprecate(function() {
+            return this.getBuffer();
+          }, "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.", "DEP0003")
         });
+      } catch (_2) {
       }
-      static keys = {};
-      static listeners = {};
-      static onUnlockEvent(key, handler2) {
-        if (this.listeners[key] === void 0) {
-          this.listeners[key] = [handler2];
-        } else {
-          this.listeners[key].push(handler2);
+    })();
+    var realHasInstance;
+    if (typeof Symbol === "function" && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === "function") {
+      realHasInstance = Function.prototype[Symbol.hasInstance];
+      Object.defineProperty(Writable, Symbol.hasInstance, {
+        value: function(object) {
+          if (realHasInstance.call(this, object)) return true;
+          if (this !== Writable) return false;
+          return object && object._writableState instanceof WritableState;
         }
+      });
+    } else {
+      realHasInstance = function(object) {
+        return object instanceof this;
+      };
+    }
+    function Writable(options) {
+      Duplex = Duplex || require_stream_duplex();
+      if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) {
+        return new Writable(options);
       }
-      static emitUnlockEvent(key) {
-        if (this.listeners[key] !== void 0 && this.listeners[key].length > 0) {
-          const handler2 = this.listeners[key].shift();
-          setImmediate(() => {
-            handler2.call(this);
-          });
-        }
+      this._writableState = new WritableState(options, this);
+      this.writable = true;
+      if (options) {
+        if (typeof options.write === "function") this._write = options.write;
+        if (typeof options.writev === "function") this._writev = options.writev;
+        if (typeof options.destroy === "function") this._destroy = options.destroy;
+        if (typeof options.final === "function") this._final = options.final;
       }
+      Stream.call(this);
+    }
+    Writable.prototype.pipe = function() {
+      this.emit("error", new Error("Cannot pipe, not readable"));
     };
-    exports2.Mutex = Mutex;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/BlobBatch.js
-var require_BlobBatch = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BlobBatch.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobBatch = void 0;
-    var core_util_1 = require_commonjs4();
-    var core_auth_1 = require_commonjs7();
-    var core_rest_pipeline_1 = require_commonjs6();
-    var core_util_2 = require_commonjs4();
-    var AnonymousCredential_js_1 = require_AnonymousCredential();
-    var Clients_js_1 = require_Clients();
-    var Mutex_js_1 = require_Mutex();
-    var Pipeline_js_1 = require_Pipeline();
-    var utils_common_js_1 = require_utils_common();
-    var core_xml_1 = require_commonjs10();
-    var constants_js_1 = require_constants15();
-    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
-    var tracing_js_1 = require_tracing();
-    var core_client_1 = require_commonjs8();
-    var StorageSharedKeyCredentialPolicyV2_js_1 = require_StorageSharedKeyCredentialPolicyV22();
-    var BlobBatch = class {
-      batchRequest;
-      batch = "batch";
-      batchType;
-      constructor() {
-        this.batchRequest = new InnerBatchRequest();
+    function writeAfterEnd(stream, cb) {
+      var er = new Error("write after end");
+      stream.emit("error", er);
+      pna.nextTick(cb, er);
+    }
+    function validChunk(stream, state, chunk, cb) {
+      var valid3 = true;
+      var er = false;
+      if (chunk === null) {
+        er = new TypeError("May not write null values to stream");
+      } else if (typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) {
+        er = new TypeError("Invalid non-string/buffer chunk");
       }
-      /**
-       * Get the value of Content-Type for a batch request.
-       * The value must be multipart/mixed with a batch boundary.
-       * Example: multipart/mixed; boundary=batch_a81786c8-e301-4e42-a729-a32ca24ae252
-       */
-      getMultiPartContentType() {
-        return this.batchRequest.getMultipartContentType();
+      if (er) {
+        stream.emit("error", er);
+        pna.nextTick(cb, er);
+        valid3 = false;
       }
-      /**
-       * Get assembled HTTP request body for sub requests.
-       */
-      getHttpRequestBody() {
-        return this.batchRequest.getHttpRequestBody();
+      return valid3;
+    }
+    Writable.prototype.write = function(chunk, encoding, cb) {
+      var state = this._writableState;
+      var ret = false;
+      var isBuf = !state.objectMode && _isUint8Array(chunk);
+      if (isBuf && !Buffer2.isBuffer(chunk)) {
+        chunk = _uint8ArrayToBuffer(chunk);
       }
-      /**
-       * Get sub requests that are added into the batch request.
-       */
-      getSubRequests() {
-        return this.batchRequest.getSubRequests();
+      if (typeof encoding === "function") {
+        cb = encoding;
+        encoding = null;
       }
-      async addSubRequestInternal(subRequest, assembleSubRequestFunc) {
-        await Mutex_js_1.Mutex.lock(this.batch);
-        try {
-          this.batchRequest.preAddSubRequest(subRequest);
-          await assembleSubRequestFunc();
-          this.batchRequest.postAddSubRequest(subRequest);
-        } finally {
-          await Mutex_js_1.Mutex.unlock(this.batch);
-        }
+      if (isBuf) encoding = "buffer";
+      else if (!encoding) encoding = state.defaultEncoding;
+      if (typeof cb !== "function") cb = nop;
+      if (state.ended) writeAfterEnd(this, cb);
+      else if (isBuf || validChunk(this, state, chunk, cb)) {
+        state.pendingcb++;
+        ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);
       }
-      setBatchType(batchType) {
-        if (!this.batchType) {
-          this.batchType = batchType;
-        }
-        if (this.batchType !== batchType) {
-          throw new RangeError(`BlobBatch only supports one operation type per batch and it already is being used for ${this.batchType} operations.`);
+      return ret;
+    };
+    Writable.prototype.cork = function() {
+      var state = this._writableState;
+      state.corked++;
+    };
+    Writable.prototype.uncork = function() {
+      var state = this._writableState;
+      if (state.corked) {
+        state.corked--;
+        if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);
+      }
+    };
+    Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {
+      if (typeof encoding === "string") encoding = encoding.toLowerCase();
+      if (!(["hex", "utf8", "utf-8", "ascii", "binary", "base64", "ucs2", "ucs-2", "utf16le", "utf-16le", "raw"].indexOf((encoding + "").toLowerCase()) > -1)) throw new TypeError("Unknown encoding: " + encoding);
+      this._writableState.defaultEncoding = encoding;
+      return this;
+    };
+    function decodeChunk(state, chunk, encoding) {
+      if (!state.objectMode && state.decodeStrings !== false && typeof chunk === "string") {
+        chunk = Buffer2.from(chunk, encoding);
+      }
+      return chunk;
+    }
+    Object.defineProperty(Writable.prototype, "writableHighWaterMark", {
+      // making it explicit this property is not enumerable
+      // because otherwise some prototype manipulation in
+      // userland will fail
+      enumerable: false,
+      get: function() {
+        return this._writableState.highWaterMark;
+      }
+    });
+    function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {
+      if (!isBuf) {
+        var newChunk = decodeChunk(state, chunk, encoding);
+        if (chunk !== newChunk) {
+          isBuf = true;
+          encoding = "buffer";
+          chunk = newChunk;
         }
       }
-      async deleteBlob(urlOrBlobClient, credentialOrOptions, options) {
-        let url;
-        let credential;
-        if (typeof urlOrBlobClient === "string" && (core_util_2.isNodeLike && credentialOrOptions instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrOptions instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrOptions))) {
-          url = urlOrBlobClient;
-          credential = credentialOrOptions;
-        } else if (urlOrBlobClient instanceof Clients_js_1.BlobClient) {
-          url = urlOrBlobClient.url;
-          credential = urlOrBlobClient.credential;
-          options = credentialOrOptions;
+      var len = state.objectMode ? 1 : chunk.length;
+      state.length += len;
+      var ret = state.length < state.highWaterMark;
+      if (!ret) state.needDrain = true;
+      if (state.writing || state.corked) {
+        var last = state.lastBufferedRequest;
+        state.lastBufferedRequest = {
+          chunk,
+          encoding,
+          isBuf,
+          callback: cb,
+          next: null
+        };
+        if (last) {
+          last.next = state.lastBufferedRequest;
         } else {
-          throw new RangeError("Invalid arguments. Either url and credential, or BlobClient need be provided.");
-        }
-        if (!options) {
-          options = {};
+          state.bufferedRequest = state.lastBufferedRequest;
         }
-        return tracing_js_1.tracingClient.withSpan("BatchDeleteRequest-addSubRequest", options, async (updatedOptions) => {
-          this.setBatchType("delete");
-          await this.addSubRequestInternal({
-            url,
-            credential
-          }, async () => {
-            await new Clients_js_1.BlobClient(url, this.batchRequest.createPipeline(credential)).delete(updatedOptions);
-          });
-        });
+        state.bufferedRequestCount += 1;
+      } else {
+        doWrite(stream, state, false, len, chunk, encoding, cb);
       }
-      async setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions, options) {
-        let url;
-        let credential;
-        let tier;
-        if (typeof urlOrBlobClient === "string" && (core_util_2.isNodeLike && credentialOrTier instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrTier instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrTier))) {
-          url = urlOrBlobClient;
-          credential = credentialOrTier;
-          tier = tierOrOptions;
-        } else if (urlOrBlobClient instanceof Clients_js_1.BlobClient) {
-          url = urlOrBlobClient.url;
-          credential = urlOrBlobClient.credential;
-          tier = credentialOrTier;
-          options = tierOrOptions;
-        } else {
-          throw new RangeError("Invalid arguments. Either url and credential, or BlobClient need be provided.");
+      return ret;
+    }
+    function doWrite(stream, state, writev, len, chunk, encoding, cb) {
+      state.writelen = len;
+      state.writecb = cb;
+      state.writing = true;
+      state.sync = true;
+      if (writev) stream._writev(chunk, state.onwrite);
+      else stream._write(chunk, encoding, state.onwrite);
+      state.sync = false;
+    }
+    function onwriteError(stream, state, sync, er, cb) {
+      --state.pendingcb;
+      if (sync) {
+        pna.nextTick(cb, er);
+        pna.nextTick(finishMaybe, stream, state);
+        stream._writableState.errorEmitted = true;
+        stream.emit("error", er);
+      } else {
+        cb(er);
+        stream._writableState.errorEmitted = true;
+        stream.emit("error", er);
+        finishMaybe(stream, state);
+      }
+    }
+    function onwriteStateUpdate(state) {
+      state.writing = false;
+      state.writecb = null;
+      state.length -= state.writelen;
+      state.writelen = 0;
+    }
+    function onwrite(stream, er) {
+      var state = stream._writableState;
+      var sync = state.sync;
+      var cb = state.writecb;
+      onwriteStateUpdate(state);
+      if (er) onwriteError(stream, state, sync, er, cb);
+      else {
+        var finished = needFinish(state);
+        if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {
+          clearBuffer(stream, state);
         }
-        if (!options) {
-          options = {};
+        if (sync) {
+          asyncWrite(afterWrite, stream, state, finished, cb);
+        } else {
+          afterWrite(stream, state, finished, cb);
         }
-        return tracing_js_1.tracingClient.withSpan("BatchSetTierRequest-addSubRequest", options, async (updatedOptions) => {
-          this.setBatchType("setAccessTier");
-          await this.addSubRequestInternal({
-            url,
-            credential
-          }, async () => {
-            await new Clients_js_1.BlobClient(url, this.batchRequest.createPipeline(credential)).setAccessTier(tier, updatedOptions);
-          });
-        });
       }
-    };
-    exports2.BlobBatch = BlobBatch;
-    var InnerBatchRequest = class {
-      operationCount;
-      body;
-      subRequests;
-      boundary;
-      subRequestPrefix;
-      multipartContentType;
-      batchRequestEnding;
-      constructor() {
-        this.operationCount = 0;
-        this.body = "";
-        const tempGuid = (0, core_util_1.randomUUID)();
-        this.boundary = `batch_${tempGuid}`;
-        this.subRequestPrefix = `--${this.boundary}${constants_js_1.HTTP_LINE_ENDING}${constants_js_1.HeaderConstants.CONTENT_TYPE}: application/http${constants_js_1.HTTP_LINE_ENDING}${constants_js_1.HeaderConstants.CONTENT_TRANSFER_ENCODING}: binary`;
-        this.multipartContentType = `multipart/mixed; boundary=${this.boundary}`;
-        this.batchRequestEnding = `--${this.boundary}--`;
-        this.subRequests = /* @__PURE__ */ new Map();
+    }
+    function afterWrite(stream, state, finished, cb) {
+      if (!finished) onwriteDrain(stream, state);
+      state.pendingcb--;
+      cb();
+      finishMaybe(stream, state);
+    }
+    function onwriteDrain(stream, state) {
+      if (state.length === 0 && state.needDrain) {
+        state.needDrain = false;
+        stream.emit("drain");
       }
-      /**
-       * Create pipeline to assemble sub requests. The idea here is to use existing
-       * credential and serialization/deserialization components, with additional policies to
-       * filter unnecessary headers, assemble sub requests into request's body
-       * and intercept request from going to wire.
-       * @param credential -  Such as AnonymousCredential, StorageSharedKeyCredential or any credential from the `@azure/identity` package to authenticate requests to the service. You can also provide an object that implements the TokenCredential interface. If not specified, AnonymousCredential is used.
-       */
-      createPipeline(credential) {
-        const corePipeline = (0, core_rest_pipeline_1.createEmptyPipeline)();
-        corePipeline.addPolicy((0, core_client_1.serializationPolicy)({
-          stringifyXML: core_xml_1.stringifyXML,
-          serializerOptions: {
-            xml: {
-              xmlCharKey: "#"
-            }
+    }
+    function clearBuffer(stream, state) {
+      state.bufferProcessing = true;
+      var entry = state.bufferedRequest;
+      if (stream._writev && entry && entry.next) {
+        var l = state.bufferedRequestCount;
+        var buffer = new Array(l);
+        var holder = state.corkedRequestsFree;
+        holder.entry = entry;
+        var count = 0;
+        var allBuffers = true;
+        while (entry) {
+          buffer[count] = entry;
+          if (!entry.isBuf) allBuffers = false;
+          entry = entry.next;
+          count += 1;
+        }
+        buffer.allBuffers = allBuffers;
+        doWrite(stream, state, true, state.length, buffer, "", holder.finish);
+        state.pendingcb++;
+        state.lastBufferedRequest = null;
+        if (holder.next) {
+          state.corkedRequestsFree = holder.next;
+          holder.next = null;
+        } else {
+          state.corkedRequestsFree = new CorkedRequest(state);
+        }
+        state.bufferedRequestCount = 0;
+      } else {
+        while (entry) {
+          var chunk = entry.chunk;
+          var encoding = entry.encoding;
+          var cb = entry.callback;
+          var len = state.objectMode ? 1 : chunk.length;
+          doWrite(stream, state, false, len, chunk, encoding, cb);
+          entry = entry.next;
+          state.bufferedRequestCount--;
+          if (state.writing) {
+            break;
           }
-        }), { phase: "Serialize" });
-        corePipeline.addPolicy(batchHeaderFilterPolicy());
-        corePipeline.addPolicy(batchRequestAssemblePolicy(this), { afterPhase: "Sign" });
-        if ((0, core_auth_1.isTokenCredential)(credential)) {
-          corePipeline.addPolicy((0, core_rest_pipeline_1.bearerTokenAuthenticationPolicy)({
-            credential,
-            scopes: constants_js_1.StorageOAuthScopes,
-            challengeCallbacks: { authorizeRequestOnChallenge: core_client_1.authorizeRequestOnTenantChallenge }
-          }), { phase: "Sign" });
-        } else if (credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential) {
-          corePipeline.addPolicy((0, StorageSharedKeyCredentialPolicyV2_js_1.storageSharedKeyCredentialPolicy)({
-            accountName: credential.accountName,
-            accountKey: credential.accountKey
-          }), { phase: "Sign" });
         }
-        const pipeline = new Pipeline_js_1.Pipeline([]);
-        pipeline._credential = credential;
-        pipeline._corePipeline = corePipeline;
-        return pipeline;
+        if (entry === null) state.lastBufferedRequest = null;
       }
-      appendSubRequestToBody(request2) {
-        this.body += [
-          this.subRequestPrefix,
-          // sub request constant prefix
-          `${constants_js_1.HeaderConstants.CONTENT_ID}: ${this.operationCount}`,
-          // sub request's content ID
-          "",
-          // empty line after sub request's content ID
-          `${request2.method.toString()} ${(0, utils_common_js_1.getURLPathAndQuery)(request2.url)} ${constants_js_1.HTTP_VERSION_1_1}${constants_js_1.HTTP_LINE_ENDING}`
-          // sub request start line with method
-        ].join(constants_js_1.HTTP_LINE_ENDING);
-        for (const [name, value] of request2.headers) {
-          this.body += `${name}: ${value}${constants_js_1.HTTP_LINE_ENDING}`;
-        }
-        this.body += constants_js_1.HTTP_LINE_ENDING;
+      state.bufferedRequest = entry;
+      state.bufferProcessing = false;
+    }
+    Writable.prototype._write = function(chunk, encoding, cb) {
+      cb(new Error("_write() is not implemented"));
+    };
+    Writable.prototype._writev = null;
+    Writable.prototype.end = function(chunk, encoding, cb) {
+      var state = this._writableState;
+      if (typeof chunk === "function") {
+        cb = chunk;
+        chunk = null;
+        encoding = null;
+      } else if (typeof encoding === "function") {
+        cb = encoding;
+        encoding = null;
       }
-      preAddSubRequest(subRequest) {
-        if (this.operationCount >= constants_js_1.BATCH_MAX_REQUEST) {
-          throw new RangeError(`Cannot exceed ${constants_js_1.BATCH_MAX_REQUEST} sub requests in a single batch`);
+      if (chunk !== null && chunk !== void 0) this.write(chunk, encoding);
+      if (state.corked) {
+        state.corked = 1;
+        this.uncork();
+      }
+      if (!state.ending) endWritable(this, state, cb);
+    };
+    function needFinish(state) {
+      return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;
+    }
+    function callFinal(stream, state) {
+      stream._final(function(err) {
+        state.pendingcb--;
+        if (err) {
+          stream.emit("error", err);
         }
-        const path4 = (0, utils_common_js_1.getURLPath)(subRequest.url);
-        if (!path4 || path4 === "") {
-          throw new RangeError(`Invalid url for sub request: '${subRequest.url}'`);
+        state.prefinished = true;
+        stream.emit("prefinish");
+        finishMaybe(stream, state);
+      });
+    }
+    function prefinish(stream, state) {
+      if (!state.prefinished && !state.finalCalled) {
+        if (typeof stream._final === "function") {
+          state.pendingcb++;
+          state.finalCalled = true;
+          pna.nextTick(callFinal, stream, state);
+        } else {
+          state.prefinished = true;
+          stream.emit("prefinish");
         }
       }
-      postAddSubRequest(subRequest) {
-        this.subRequests.set(this.operationCount, subRequest);
-        this.operationCount++;
-      }
-      // Return the http request body with assembling the ending line to the sub request body.
-      getHttpRequestBody() {
-        return `${this.body}${this.batchRequestEnding}${constants_js_1.HTTP_LINE_ENDING}`;
+    }
+    function finishMaybe(stream, state) {
+      var need = needFinish(state);
+      if (need) {
+        prefinish(stream, state);
+        if (state.pendingcb === 0) {
+          state.finished = true;
+          stream.emit("finish");
+        }
       }
-      getMultipartContentType() {
-        return this.multipartContentType;
+      return need;
+    }
+    function endWritable(stream, state, cb) {
+      state.ending = true;
+      finishMaybe(stream, state);
+      if (cb) {
+        if (state.finished) pna.nextTick(cb);
+        else stream.once("finish", cb);
       }
-      getSubRequests() {
-        return this.subRequests;
+      state.ended = true;
+      stream.writable = false;
+    }
+    function onCorkedFinish(corkReq, state, err) {
+      var entry = corkReq.entry;
+      corkReq.entry = null;
+      while (entry) {
+        var cb = entry.callback;
+        state.pendingcb--;
+        cb(err);
+        entry = entry.next;
       }
-    };
-    function batchRequestAssemblePolicy(batchRequest) {
-      return {
-        name: "batchRequestAssemblePolicy",
-        async sendRequest(request2) {
-          batchRequest.appendSubRequestToBody(request2);
-          return {
-            request: request2,
-            status: 200,
-            headers: (0, core_rest_pipeline_1.createHttpHeaders)()
-          };
-        }
-      };
+      state.corkedRequestsFree.next = corkReq;
     }
-    function batchHeaderFilterPolicy() {
-      return {
-        name: "batchHeaderFilterPolicy",
-        async sendRequest(request2, next) {
-          let xMsHeaderName = "";
-          for (const [name] of request2.headers) {
-            if ((0, utils_common_js_1.iEqual)(name, constants_js_1.HeaderConstants.X_MS_VERSION)) {
-              xMsHeaderName = name;
-            }
-          }
-          if (xMsHeaderName !== "") {
-            request2.headers.delete(xMsHeaderName);
-          }
-          return next(request2);
+    Object.defineProperty(Writable.prototype, "destroyed", {
+      get: function() {
+        if (this._writableState === void 0) {
+          return false;
         }
-      };
-    }
+        return this._writableState.destroyed;
+      },
+      set: function(value) {
+        if (!this._writableState) {
+          return;
+        }
+        this._writableState.destroyed = value;
+      }
+    });
+    Writable.prototype.destroy = destroyImpl.destroy;
+    Writable.prototype._undestroy = destroyImpl.undestroy;
+    Writable.prototype._destroy = function(err, cb) {
+      this.end();
+      cb(err);
+    };
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/BlobBatchClient.js
-var require_BlobBatchClient = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BlobBatchClient.js"(exports2) {
+// node_modules/lazystream/node_modules/readable-stream/lib/_stream_duplex.js
+var require_stream_duplex = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_duplex.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobBatchClient = void 0;
-    var BatchResponseParser_js_1 = require_BatchResponseParser();
-    var BatchUtils_js_1 = require_BatchUtils();
-    var BlobBatch_js_1 = require_BlobBatch();
-    var tracing_js_1 = require_tracing();
-    var AnonymousCredential_js_1 = require_AnonymousCredential();
-    var StorageContextClient_js_1 = require_StorageContextClient();
-    var Pipeline_js_1 = require_Pipeline();
-    var utils_common_js_1 = require_utils_common();
-    var BlobBatchClient = class {
-      serviceOrContainerContext;
-      constructor(url, credentialOrPipeline, options) {
-        let pipeline;
-        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipeline)) {
-          pipeline = credentialOrPipeline;
-        } else if (!credentialOrPipeline) {
-          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-        } else {
-          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipeline, options);
-        }
-        const storageClientContext = new StorageContextClient_js_1.StorageContextClient(url, (0, Pipeline_js_1.getCoreClientOptions)(pipeline));
-        const path4 = (0, utils_common_js_1.getURLPath)(url);
-        if (path4 && path4 !== "/") {
-          this.serviceOrContainerContext = storageClientContext.container;
-        } else {
-          this.serviceOrContainerContext = storageClientContext.service;
-        }
+    var pna = require_process_nextick_args();
+    var objectKeys = Object.keys || function(obj) {
+      var keys2 = [];
+      for (var key in obj) {
+        keys2.push(key);
       }
-      /**
-       * Creates a {@link BlobBatch}.
-       * A BlobBatch represents an aggregated set of operations on blobs.
-       */
-      createBatch() {
-        return new BlobBatch_js_1.BlobBatch();
+      return keys2;
+    };
+    module2.exports = Duplex;
+    var util = Object.create(require_util20());
+    util.inherits = require_inherits();
+    var Readable = require_stream_readable();
+    var Writable = require_stream_writable();
+    util.inherits(Duplex, Readable);
+    {
+      keys = objectKeys(Writable.prototype);
+      for (v = 0; v < keys.length; v++) {
+        method = keys[v];
+        if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];
       }
-      async deleteBlobs(urlsOrBlobClients, credentialOrOptions, options) {
-        const batch = new BlobBatch_js_1.BlobBatch();
-        for (const urlOrBlobClient of urlsOrBlobClients) {
-          if (typeof urlOrBlobClient === "string") {
-            await batch.deleteBlob(urlOrBlobClient, credentialOrOptions, options);
-          } else {
-            await batch.deleteBlob(urlOrBlobClient, credentialOrOptions);
-          }
-        }
-        return this.submitBatch(batch);
+    }
+    var keys;
+    var method;
+    var v;
+    function Duplex(options) {
+      if (!(this instanceof Duplex)) return new Duplex(options);
+      Readable.call(this, options);
+      Writable.call(this, options);
+      if (options && options.readable === false) this.readable = false;
+      if (options && options.writable === false) this.writable = false;
+      this.allowHalfOpen = true;
+      if (options && options.allowHalfOpen === false) this.allowHalfOpen = false;
+      this.once("end", onend);
+    }
+    Object.defineProperty(Duplex.prototype, "writableHighWaterMark", {
+      // making it explicit this property is not enumerable
+      // because otherwise some prototype manipulation in
+      // userland will fail
+      enumerable: false,
+      get: function() {
+        return this._writableState.highWaterMark;
       }
-      async setBlobsAccessTier(urlsOrBlobClients, credentialOrTier, tierOrOptions, options) {
-        const batch = new BlobBatch_js_1.BlobBatch();
-        for (const urlOrBlobClient of urlsOrBlobClients) {
-          if (typeof urlOrBlobClient === "string") {
-            await batch.setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions, options);
-          } else {
-            await batch.setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions);
-          }
+    });
+    function onend() {
+      if (this.allowHalfOpen || this._writableState.ended) return;
+      pna.nextTick(onEndNT, this);
+    }
+    function onEndNT(self2) {
+      self2.end();
+    }
+    Object.defineProperty(Duplex.prototype, "destroyed", {
+      get: function() {
+        if (this._readableState === void 0 || this._writableState === void 0) {
+          return false;
         }
-        return this.submitBatch(batch);
-      }
-      /**
-       * Submit batch request which consists of multiple subrequests.
-       *
-       * Get `blobBatchClient` and other details before running the snippets.
-       * `blobServiceClient.getBlobBatchClient()` gives the `blobBatchClient`
-       *
-       * Example usage:
-       *
-       * ```ts snippet:BlobBatchClientSubmitBatch
-       * import { DefaultAzureCredential } from "@azure/identity";
-       * import { BlobServiceClient, BlobBatch } from "@azure/storage-blob";
-       *
-       * const account = "";
-       * const credential = new DefaultAzureCredential();
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   credential,
-       * );
-       *
-       * const containerName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blobBatchClient = containerClient.getBlobBatchClient();
-       *
-       * const batchRequest = new BlobBatch();
-       * await batchRequest.deleteBlob("", credential);
-       * await batchRequest.deleteBlob("", credential, {
-       *   deleteSnapshots: "include",
-       * });
-       * const batchResp = await blobBatchClient.submitBatch(batchRequest);
-       * console.log(batchResp.subResponsesSucceededCount);
-       * ```
-       *
-       * Example using a lease:
-       *
-       * ```ts snippet:BlobBatchClientSubmitBatchWithLease
-       * import { DefaultAzureCredential } from "@azure/identity";
-       * import { BlobServiceClient, BlobBatch } from "@azure/storage-blob";
-       *
-       * const account = "";
-       * const credential = new DefaultAzureCredential();
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   credential,
-       * );
-       *
-       * const containerName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blobBatchClient = containerClient.getBlobBatchClient();
-       * const blobClient = containerClient.getBlobClient("");
-       *
-       * const batchRequest = new BlobBatch();
-       * await batchRequest.setBlobAccessTier(blobClient, "Cool");
-       * await batchRequest.setBlobAccessTier(blobClient, "Cool", {
-       *   conditions: { leaseId: "" },
-       * });
-       * const batchResp = await blobBatchClient.submitBatch(batchRequest);
-       * console.log(batchResp.subResponsesSucceededCount);
-       * ```
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch
-       *
-       * @param batchRequest - A set of Delete or SetTier operations.
-       * @param options -
-       */
-      async submitBatch(batchRequest, options = {}) {
-        if (!batchRequest || batchRequest.getSubRequests().size === 0) {
-          throw new RangeError("Batch request should contain one or more sub requests.");
+        return this._readableState.destroyed && this._writableState.destroyed;
+      },
+      set: function(value) {
+        if (this._readableState === void 0 || this._writableState === void 0) {
+          return;
         }
-        return tracing_js_1.tracingClient.withSpan("BlobBatchClient-submitBatch", options, async (updatedOptions) => {
-          const batchRequestBody = batchRequest.getHttpRequestBody();
-          const rawBatchResponse = (0, utils_common_js_1.assertResponse)(await this.serviceOrContainerContext.submitBatch((0, BatchUtils_js_1.utf8ByteLength)(batchRequestBody), batchRequest.getMultiPartContentType(), batchRequestBody, {
-            ...updatedOptions
-          }));
-          const batchResponseParser = new BatchResponseParser_js_1.BatchResponseParser(rawBatchResponse, batchRequest.getSubRequests());
-          const responseSummary = await batchResponseParser.parseBatchResponse();
-          const res = {
-            _response: rawBatchResponse._response,
-            contentType: rawBatchResponse.contentType,
-            errorCode: rawBatchResponse.errorCode,
-            requestId: rawBatchResponse.requestId,
-            clientRequestId: rawBatchResponse.clientRequestId,
-            version: rawBatchResponse.version,
-            subResponses: responseSummary.subResponses,
-            subResponsesSucceededCount: responseSummary.subResponsesSucceededCount,
-            subResponsesFailedCount: responseSummary.subResponsesFailedCount
-          };
-          return res;
-        });
+        this._readableState.destroyed = value;
+        this._writableState.destroyed = value;
       }
+    });
+    Duplex.prototype._destroy = function(err, cb) {
+      this.push(null);
+      this.end();
+      pna.nextTick(cb, err);
     };
-    exports2.BlobBatchClient = BlobBatchClient;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/ContainerClient.js
-var require_ContainerClient = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/ContainerClient.js"(exports2) {
+// node_modules/lazystream/node_modules/string_decoder/lib/string_decoder.js
+var require_string_decoder = __commonJS({
+  "node_modules/lazystream/node_modules/string_decoder/lib/string_decoder.js"(exports2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ContainerClient = void 0;
-    var core_rest_pipeline_1 = require_commonjs6();
-    var core_util_1 = require_commonjs4();
-    var core_auth_1 = require_commonjs7();
-    var AnonymousCredential_js_1 = require_AnonymousCredential();
-    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
-    var Pipeline_js_1 = require_Pipeline();
-    var StorageClient_js_1 = require_StorageClient();
-    var tracing_js_1 = require_tracing();
-    var utils_common_js_1 = require_utils_common();
-    var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues();
-    var BlobLeaseClient_js_1 = require_BlobLeaseClient();
-    var Clients_js_1 = require_Clients();
-    var BlobBatchClient_js_1 = require_BlobBatchClient();
-    var ContainerClient = class extends StorageClient_js_1.StorageClient {
-      /**
-       * containerContext provided by protocol layer.
-       */
-      containerContext;
-      _containerName;
-      /**
-       * The name of the container.
-       */
-      get containerName() {
-        return this._containerName;
+    var Buffer2 = require_safe_buffer().Buffer;
+    var isEncoding = Buffer2.isEncoding || function(encoding) {
+      encoding = "" + encoding;
+      switch (encoding && encoding.toLowerCase()) {
+        case "hex":
+        case "utf8":
+        case "utf-8":
+        case "ascii":
+        case "binary":
+        case "base64":
+        case "ucs2":
+        case "ucs-2":
+        case "utf16le":
+        case "utf-16le":
+        case "raw":
+          return true;
+        default:
+          return false;
       }
-      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, options) {
-        let pipeline;
-        let url;
-        options = options || {};
-        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
-          url = urlOrConnectionString;
-          pipeline = credentialOrPipelineOrContainerName;
-        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
-          url = urlOrConnectionString;
-          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
-        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
-          url = urlOrConnectionString;
-          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string") {
-          const containerName = credentialOrPipelineOrContainerName;
-          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
-          if (extractedCreds.kind === "AccountConnString") {
-            if (core_util_1.isNodeLike) {
-              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
-              url = (0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName));
-              if (!options.proxyOptions) {
-                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
-              }
-              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
-            } else {
-              throw new Error("Account connection string is only supported in Node.js environment");
-            }
-          } else if (extractedCreds.kind === "SASConnString") {
-            url = (0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)) + "?" + extractedCreds.accountSas;
-            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-          } else {
-            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
+    };
+    function _normalizeEncoding(enc) {
+      if (!enc) return "utf8";
+      var retried;
+      while (true) {
+        switch (enc) {
+          case "utf8":
+          case "utf-8":
+            return "utf8";
+          case "ucs2":
+          case "ucs-2":
+          case "utf16le":
+          case "utf-16le":
+            return "utf16le";
+          case "latin1":
+          case "binary":
+            return "latin1";
+          case "base64":
+          case "ascii":
+          case "hex":
+            return enc;
+          default:
+            if (retried) return;
+            enc = ("" + enc).toLowerCase();
+            retried = true;
+        }
+      }
+    }
+    function normalizeEncoding(enc) {
+      var nenc = _normalizeEncoding(enc);
+      if (typeof nenc !== "string" && (Buffer2.isEncoding === isEncoding || !isEncoding(enc))) throw new Error("Unknown encoding: " + enc);
+      return nenc || enc;
+    }
+    exports2.StringDecoder = StringDecoder;
+    function StringDecoder(encoding) {
+      this.encoding = normalizeEncoding(encoding);
+      var nb;
+      switch (this.encoding) {
+        case "utf16le":
+          this.text = utf16Text;
+          this.end = utf16End;
+          nb = 4;
+          break;
+        case "utf8":
+          this.fillLast = utf8FillLast;
+          nb = 4;
+          break;
+        case "base64":
+          this.text = base64Text;
+          this.end = base64End;
+          nb = 3;
+          break;
+        default:
+          this.write = simpleWrite;
+          this.end = simpleEnd;
+          return;
+      }
+      this.lastNeed = 0;
+      this.lastTotal = 0;
+      this.lastChar = Buffer2.allocUnsafe(nb);
+    }
+    StringDecoder.prototype.write = function(buf) {
+      if (buf.length === 0) return "";
+      var r;
+      var i;
+      if (this.lastNeed) {
+        r = this.fillLast(buf);
+        if (r === void 0) return "";
+        i = this.lastNeed;
+        this.lastNeed = 0;
+      } else {
+        i = 0;
+      }
+      if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);
+      return r || "";
+    };
+    StringDecoder.prototype.end = utf8End;
+    StringDecoder.prototype.text = utf8Text;
+    StringDecoder.prototype.fillLast = function(buf) {
+      if (this.lastNeed <= buf.length) {
+        buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);
+        return this.lastChar.toString(this.encoding, 0, this.lastTotal);
+      }
+      buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);
+      this.lastNeed -= buf.length;
+    };
+    function utf8CheckByte(byte) {
+      if (byte <= 127) return 0;
+      else if (byte >> 5 === 6) return 2;
+      else if (byte >> 4 === 14) return 3;
+      else if (byte >> 3 === 30) return 4;
+      return byte >> 6 === 2 ? -1 : -2;
+    }
+    function utf8CheckIncomplete(self2, buf, i) {
+      var j = buf.length - 1;
+      if (j < i) return 0;
+      var nb = utf8CheckByte(buf[j]);
+      if (nb >= 0) {
+        if (nb > 0) self2.lastNeed = nb - 1;
+        return nb;
+      }
+      if (--j < i || nb === -2) return 0;
+      nb = utf8CheckByte(buf[j]);
+      if (nb >= 0) {
+        if (nb > 0) self2.lastNeed = nb - 2;
+        return nb;
+      }
+      if (--j < i || nb === -2) return 0;
+      nb = utf8CheckByte(buf[j]);
+      if (nb >= 0) {
+        if (nb > 0) {
+          if (nb === 2) nb = 0;
+          else self2.lastNeed = nb - 3;
+        }
+        return nb;
+      }
+      return 0;
+    }
+    function utf8CheckExtraBytes(self2, buf, p) {
+      if ((buf[0] & 192) !== 128) {
+        self2.lastNeed = 0;
+        return "\uFFFD";
+      }
+      if (self2.lastNeed > 1 && buf.length > 1) {
+        if ((buf[1] & 192) !== 128) {
+          self2.lastNeed = 1;
+          return "\uFFFD";
+        }
+        if (self2.lastNeed > 2 && buf.length > 2) {
+          if ((buf[2] & 192) !== 128) {
+            self2.lastNeed = 2;
+            return "\uFFFD";
           }
-        } else {
-          throw new Error("Expecting non-empty strings for containerName parameter");
         }
-        super(url, pipeline);
-        this._containerName = this.getContainerNameFromUrl();
-        this.containerContext = this.storageClientContext.container;
-      }
-      /**
-       * Creates a new container under the specified account. If the container with
-       * the same name already exists, the operation fails.
-       * @see https://learn.microsoft.com/rest/api/storageservices/create-container
-       * Naming rules: @see https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata
-       *
-       * @param options - Options to Container Create operation.
-       *
-       *
-       * Example usage:
-       *
-       * ```ts snippet:ContainerClientCreate
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const createContainerResponse = await containerClient.create();
-       * console.log("Container was created successfully", createContainerResponse.requestId);
-       * ```
-       */
-      async create(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-create", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.containerContext.create(updatedOptions));
-        });
       }
-      /**
-       * Creates a new container under the specified account. If the container with
-       * the same name already exists, it is not changed.
-       * @see https://learn.microsoft.com/rest/api/storageservices/create-container
-       * Naming rules: @see https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata
-       *
-       * @param options -
-       */
-      async createIfNotExists(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-createIfNotExists", options, async (updatedOptions) => {
-          try {
-            const res = await this.create(updatedOptions);
-            return {
-              succeeded: true,
-              ...res,
-              _response: res._response
-              // _response is made non-enumerable
-            };
-          } catch (e) {
-            if (e.details?.errorCode === "ContainerAlreadyExists") {
-              return {
-                succeeded: false,
-                ...e.response?.parsedHeaders,
-                _response: e.response
-              };
-            } else {
-              throw e;
-            }
-          }
-        });
+    }
+    function utf8FillLast(buf) {
+      var p = this.lastTotal - this.lastNeed;
+      var r = utf8CheckExtraBytes(this, buf, p);
+      if (r !== void 0) return r;
+      if (this.lastNeed <= buf.length) {
+        buf.copy(this.lastChar, p, 0, this.lastNeed);
+        return this.lastChar.toString(this.encoding, 0, this.lastTotal);
       }
-      /**
-       * Returns true if the Azure container resource represented by this client exists; false otherwise.
-       *
-       * NOTE: use this function with care since an existing container might be deleted by other clients or
-       * applications. Vice versa new containers with the same name might be added by other clients or
-       * applications after this function completes.
-       *
-       * @param options -
-       */
-      async exists(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-exists", options, async (updatedOptions) => {
-          try {
-            await this.getProperties({
-              abortSignal: options.abortSignal,
-              tracingOptions: updatedOptions.tracingOptions
-            });
-            return true;
-          } catch (e) {
-            if (e.statusCode === 404) {
-              return false;
-            }
-            throw e;
+      buf.copy(this.lastChar, p, 0, buf.length);
+      this.lastNeed -= buf.length;
+    }
+    function utf8Text(buf, i) {
+      var total = utf8CheckIncomplete(this, buf, i);
+      if (!this.lastNeed) return buf.toString("utf8", i);
+      this.lastTotal = total;
+      var end = buf.length - (total - this.lastNeed);
+      buf.copy(this.lastChar, 0, end);
+      return buf.toString("utf8", i, end);
+    }
+    function utf8End(buf) {
+      var r = buf && buf.length ? this.write(buf) : "";
+      if (this.lastNeed) return r + "\uFFFD";
+      return r;
+    }
+    function utf16Text(buf, i) {
+      if ((buf.length - i) % 2 === 0) {
+        var r = buf.toString("utf16le", i);
+        if (r) {
+          var c = r.charCodeAt(r.length - 1);
+          if (c >= 55296 && c <= 56319) {
+            this.lastNeed = 2;
+            this.lastTotal = 4;
+            this.lastChar[0] = buf[buf.length - 2];
+            this.lastChar[1] = buf[buf.length - 1];
+            return r.slice(0, -1);
           }
-        });
+        }
+        return r;
       }
-      /**
-       * Creates a {@link BlobClient}
-       *
-       * @param blobName - A blob name
-       * @returns A new BlobClient object for the given blob name.
-       */
-      getBlobClient(blobName) {
-        return new Clients_js_1.BlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
+      this.lastNeed = 1;
+      this.lastTotal = 2;
+      this.lastChar[0] = buf[buf.length - 1];
+      return buf.toString("utf16le", i, buf.length - 1);
+    }
+    function utf16End(buf) {
+      var r = buf && buf.length ? this.write(buf) : "";
+      if (this.lastNeed) {
+        var end = this.lastTotal - this.lastNeed;
+        return r + this.lastChar.toString("utf16le", 0, end);
       }
-      /**
-       * Creates an {@link AppendBlobClient}
-       *
-       * @param blobName - An append blob name
-       */
-      getAppendBlobClient(blobName) {
-        return new Clients_js_1.AppendBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
+      return r;
+    }
+    function base64Text(buf, i) {
+      var n = (buf.length - i) % 3;
+      if (n === 0) return buf.toString("base64", i);
+      this.lastNeed = 3 - n;
+      this.lastTotal = 3;
+      if (n === 1) {
+        this.lastChar[0] = buf[buf.length - 1];
+      } else {
+        this.lastChar[0] = buf[buf.length - 2];
+        this.lastChar[1] = buf[buf.length - 1];
       }
-      /**
-       * Creates a {@link BlockBlobClient}
-       *
-       * @param blobName - A block blob name
-       *
-       *
-       * Example usage:
-       *
-       * ```ts snippet:ClientsUpload
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blockBlobClient = containerClient.getBlockBlobClient(blobName);
-       *
-       * const content = "Hello world!";
-       * const uploadBlobResponse = await blockBlobClient.upload(content, content.length);
-       * ```
-       */
-      getBlockBlobClient(blobName) {
-        return new Clients_js_1.BlockBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
+      return buf.toString("base64", i, buf.length - n);
+    }
+    function base64End(buf) {
+      var r = buf && buf.length ? this.write(buf) : "";
+      if (this.lastNeed) return r + this.lastChar.toString("base64", 0, 3 - this.lastNeed);
+      return r;
+    }
+    function simpleWrite(buf) {
+      return buf.toString(this.encoding);
+    }
+    function simpleEnd(buf) {
+      return buf && buf.length ? this.write(buf) : "";
+    }
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/lib/_stream_readable.js
+var require_stream_readable = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_readable.js"(exports2, module2) {
+    "use strict";
+    var pna = require_process_nextick_args();
+    module2.exports = Readable;
+    var isArray = require_isarray();
+    var Duplex;
+    Readable.ReadableState = ReadableState;
+    var EE = require("events").EventEmitter;
+    var EElistenerCount = function(emitter, type2) {
+      return emitter.listeners(type2).length;
+    };
+    var Stream = require_stream();
+    var Buffer2 = require_safe_buffer().Buffer;
+    var OurUint8Array = (typeof global !== "undefined" ? global : typeof window !== "undefined" ? window : typeof self !== "undefined" ? self : {}).Uint8Array || function() {
+    };
+    function _uint8ArrayToBuffer(chunk) {
+      return Buffer2.from(chunk);
+    }
+    function _isUint8Array(obj) {
+      return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array;
+    }
+    var util = Object.create(require_util20());
+    util.inherits = require_inherits();
+    var debugUtil = require("util");
+    var debug4 = void 0;
+    if (debugUtil && debugUtil.debuglog) {
+      debug4 = debugUtil.debuglog("stream");
+    } else {
+      debug4 = function() {
+      };
+    }
+    var BufferList = require_BufferList();
+    var destroyImpl = require_destroy();
+    var StringDecoder;
+    util.inherits(Readable, Stream);
+    var kProxyEvents = ["error", "close", "destroy", "pause", "resume"];
+    function prependListener(emitter, event, fn) {
+      if (typeof emitter.prependListener === "function") return emitter.prependListener(event, fn);
+      if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);
+      else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);
+      else emitter._events[event] = [fn, emitter._events[event]];
+    }
+    function ReadableState(options, stream) {
+      Duplex = Duplex || require_stream_duplex();
+      options = options || {};
+      var isDuplex = stream instanceof Duplex;
+      this.objectMode = !!options.objectMode;
+      if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;
+      var hwm = options.highWaterMark;
+      var readableHwm = options.readableHighWaterMark;
+      var defaultHwm = this.objectMode ? 16 : 16 * 1024;
+      if (hwm || hwm === 0) this.highWaterMark = hwm;
+      else if (isDuplex && (readableHwm || readableHwm === 0)) this.highWaterMark = readableHwm;
+      else this.highWaterMark = defaultHwm;
+      this.highWaterMark = Math.floor(this.highWaterMark);
+      this.buffer = new BufferList();
+      this.length = 0;
+      this.pipes = null;
+      this.pipesCount = 0;
+      this.flowing = null;
+      this.ended = false;
+      this.endEmitted = false;
+      this.reading = false;
+      this.sync = true;
+      this.needReadable = false;
+      this.emittedReadable = false;
+      this.readableListening = false;
+      this.resumeScheduled = false;
+      this.destroyed = false;
+      this.defaultEncoding = options.defaultEncoding || "utf8";
+      this.awaitDrain = 0;
+      this.readingMore = false;
+      this.decoder = null;
+      this.encoding = null;
+      if (options.encoding) {
+        if (!StringDecoder) StringDecoder = require_string_decoder().StringDecoder;
+        this.decoder = new StringDecoder(options.encoding);
+        this.encoding = options.encoding;
       }
-      /**
-       * Creates a {@link PageBlobClient}
-       *
-       * @param blobName - A page blob name
-       */
-      getPageBlobClient(blobName) {
-        return new Clients_js_1.PageBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
+    }
+    function Readable(options) {
+      Duplex = Duplex || require_stream_duplex();
+      if (!(this instanceof Readable)) return new Readable(options);
+      this._readableState = new ReadableState(options, this);
+      this.readable = true;
+      if (options) {
+        if (typeof options.read === "function") this._read = options.read;
+        if (typeof options.destroy === "function") this._destroy = options.destroy;
       }
-      /**
-       * Returns all user-defined metadata and system properties for the specified
-       * container. The data returned does not include the container's list of blobs.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-container-properties
-       *
-       * WARNING: The `metadata` object returned in the response will have its keys in lowercase, even if
-       * they originally contained uppercase characters. This differs from the metadata keys returned by
-       * the `listContainers` method of {@link BlobServiceClient} using the `includeMetadata` option, which
-       * will retain their original casing.
-       *
-       * @param options - Options to Container Get Properties operation.
-       */
-      async getProperties(options = {}) {
-        if (!options.conditions) {
-          options.conditions = {};
+      Stream.call(this);
+    }
+    Object.defineProperty(Readable.prototype, "destroyed", {
+      get: function() {
+        if (this._readableState === void 0) {
+          return false;
         }
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-getProperties", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.containerContext.getProperties({
-            abortSignal: options.abortSignal,
-            ...options.conditions,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
-      }
-      /**
-       * Marks the specified container for deletion. The container and any blobs
-       * contained within it are later deleted during garbage collection.
-       * @see https://learn.microsoft.com/rest/api/storageservices/delete-container
-       *
-       * @param options - Options to Container Delete operation.
-       */
-      async delete(options = {}) {
-        if (!options.conditions) {
-          options.conditions = {};
+        return this._readableState.destroyed;
+      },
+      set: function(value) {
+        if (!this._readableState) {
+          return;
         }
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-delete", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.containerContext.delete({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: options.conditions,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+        this._readableState.destroyed = value;
       }
-      /**
-       * Marks the specified container for deletion if it exists. The container and any blobs
-       * contained within it are later deleted during garbage collection.
-       * @see https://learn.microsoft.com/rest/api/storageservices/delete-container
-       *
-       * @param options - Options to Container Delete operation.
-       */
-      async deleteIfExists(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-deleteIfExists", options, async (updatedOptions) => {
-          try {
-            const res = await this.delete(updatedOptions);
-            return {
-              succeeded: true,
-              ...res,
-              _response: res._response
-            };
-          } catch (e) {
-            if (e.details?.errorCode === "ContainerNotFound") {
-              return {
-                succeeded: false,
-                ...e.response?.parsedHeaders,
-                _response: e.response
-              };
-            }
-            throw e;
+    });
+    Readable.prototype.destroy = destroyImpl.destroy;
+    Readable.prototype._undestroy = destroyImpl.undestroy;
+    Readable.prototype._destroy = function(err, cb) {
+      this.push(null);
+      cb(err);
+    };
+    Readable.prototype.push = function(chunk, encoding) {
+      var state = this._readableState;
+      var skipChunkCheck;
+      if (!state.objectMode) {
+        if (typeof chunk === "string") {
+          encoding = encoding || state.defaultEncoding;
+          if (encoding !== state.encoding) {
+            chunk = Buffer2.from(chunk, encoding);
+            encoding = "";
           }
-        });
-      }
-      /**
-       * Sets one or more user-defined name-value pairs for the specified container.
-       *
-       * If no option provided, or no metadata defined in the parameter, the container
-       * metadata will be removed.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-container-metadata
-       *
-       * @param metadata - Replace existing metadata with this value.
-       *                            If no value provided the existing metadata will be removed.
-       * @param options - Options to Container Set Metadata operation.
-       */
-      async setMetadata(metadata, options = {}) {
-        if (!options.conditions) {
-          options.conditions = {};
-        }
-        if (options.conditions.ifUnmodifiedSince) {
-          throw new RangeError("the IfUnmodifiedSince must have their default values because they are ignored by the blob service");
+          skipChunkCheck = true;
         }
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-setMetadata", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.containerContext.setMetadata({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            metadata,
-            modifiedAccessConditions: options.conditions,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      } else {
+        skipChunkCheck = true;
       }
-      /**
-       * Gets the permissions for the specified container. The permissions indicate
-       * whether container data may be accessed publicly.
-       *
-       * WARNING: JavaScript Date will potentially lose precision when parsing startsOn and expiresOn strings.
-       * For example, new Date("2018-12-31T03:44:23.8827891Z").toISOString() will get "2018-12-31T03:44:23.882Z".
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-container-acl
-       *
-       * @param options - Options to Container Get Access Policy operation.
-       */
-      async getAccessPolicy(options = {}) {
-        if (!options.conditions) {
-          options.conditions = {};
-        }
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-getAccessPolicy", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.getAccessPolicy({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const res = {
-            _response: response._response,
-            blobPublicAccess: response.blobPublicAccess,
-            date: response.date,
-            etag: response.etag,
-            errorCode: response.errorCode,
-            lastModified: response.lastModified,
-            requestId: response.requestId,
-            clientRequestId: response.clientRequestId,
-            signedIdentifiers: [],
-            version: response.version
-          };
-          for (const identifier of response) {
-            let accessPolicy = void 0;
-            if (identifier.accessPolicy) {
-              accessPolicy = {
-                permissions: identifier.accessPolicy.permissions
-              };
-              if (identifier.accessPolicy.expiresOn) {
-                accessPolicy.expiresOn = new Date(identifier.accessPolicy.expiresOn);
-              }
-              if (identifier.accessPolicy.startsOn) {
-                accessPolicy.startsOn = new Date(identifier.accessPolicy.startsOn);
-              }
-            }
-            res.signedIdentifiers.push({
-              accessPolicy,
-              id: identifier.id
-            });
+      return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);
+    };
+    Readable.prototype.unshift = function(chunk) {
+      return readableAddChunk(this, chunk, null, true, false);
+    };
+    function readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {
+      var state = stream._readableState;
+      if (chunk === null) {
+        state.reading = false;
+        onEofChunk(stream, state);
+      } else {
+        var er;
+        if (!skipChunkCheck) er = chunkInvalid(state, chunk);
+        if (er) {
+          stream.emit("error", er);
+        } else if (state.objectMode || chunk && chunk.length > 0) {
+          if (typeof chunk !== "string" && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer2.prototype) {
+            chunk = _uint8ArrayToBuffer(chunk);
+          }
+          if (addToFront) {
+            if (state.endEmitted) stream.emit("error", new Error("stream.unshift() after end event"));
+            else addChunk(stream, state, chunk, true);
+          } else if (state.ended) {
+            stream.emit("error", new Error("stream.push() after EOF"));
+          } else {
+            state.reading = false;
+            if (state.decoder && !encoding) {
+              chunk = state.decoder.write(chunk);
+              if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);
+              else maybeReadMore(stream, state);
+            } else {
+              addChunk(stream, state, chunk, false);
+            }
           }
-          return res;
-        });
+        } else if (!addToFront) {
+          state.reading = false;
+        }
       }
-      /**
-       * Sets the permissions for the specified container. The permissions indicate
-       * whether blobs in a container may be accessed publicly.
-       *
-       * When you set permissions for a container, the existing permissions are replaced.
-       * If no access or containerAcl provided, the existing container ACL will be
-       * removed.
-       *
-       * When you establish a stored access policy on a container, it may take up to 30 seconds to take effect.
-       * During this interval, a shared access signature that is associated with the stored access policy will
-       * fail with status code 403 (Forbidden), until the access policy becomes active.
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-container-acl
-       *
-       * @param access - The level of public access to data in the container.
-       * @param containerAcl - Array of elements each having a unique Id and details of the access policy.
-       * @param options - Options to Container Set Access Policy operation.
-       */
-      async setAccessPolicy(access, containerAcl, options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-setAccessPolicy", options, async (updatedOptions) => {
-          const acl = [];
-          for (const identifier of containerAcl || []) {
-            acl.push({
-              accessPolicy: {
-                expiresOn: identifier.accessPolicy.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(identifier.accessPolicy.expiresOn) : "",
-                permissions: identifier.accessPolicy.permissions,
-                startsOn: identifier.accessPolicy.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(identifier.accessPolicy.startsOn) : ""
-              },
-              id: identifier.id
-            });
-          }
-          return (0, utils_common_js_1.assertResponse)(await this.containerContext.setAccessPolicy({
-            abortSignal: options.abortSignal,
-            access,
-            containerAcl: acl,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: options.conditions,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      return needMoreData(state);
+    }
+    function addChunk(stream, state, chunk, addToFront) {
+      if (state.flowing && state.length === 0 && !state.sync) {
+        stream.emit("data", chunk);
+        stream.read(0);
+      } else {
+        state.length += state.objectMode ? 1 : chunk.length;
+        if (addToFront) state.buffer.unshift(chunk);
+        else state.buffer.push(chunk);
+        if (state.needReadable) emitReadable(stream);
       }
-      /**
-       * Get a {@link BlobLeaseClient} that manages leases on the container.
-       *
-       * @param proposeLeaseId - Initial proposed lease Id.
-       * @returns A new BlobLeaseClient object for managing leases on the container.
-       */
-      getBlobLeaseClient(proposeLeaseId) {
-        return new BlobLeaseClient_js_1.BlobLeaseClient(this, proposeLeaseId);
+      maybeReadMore(stream, state);
+    }
+    function chunkInvalid(state, chunk) {
+      var er;
+      if (!_isUint8Array(chunk) && typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) {
+        er = new TypeError("Invalid non-string/buffer chunk");
       }
-      /**
-       * Creates a new block blob, or updates the content of an existing block blob.
-       *
-       * Updating an existing block blob overwrites any existing metadata on the blob.
-       * Partial updates are not supported; the content of the existing blob is
-       * overwritten with the new content. To perform a partial update of a block blob's,
-       * use {@link BlockBlobClient.stageBlock} and {@link BlockBlobClient.commitBlockList}.
-       *
-       * This is a non-parallel uploading method, please use {@link BlockBlobClient.uploadFile},
-       * {@link BlockBlobClient.uploadStream} or {@link BlockBlobClient.uploadBrowserData} for better
-       * performance with concurrency uploading.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
-       *
-       * @param blobName - Name of the block blob to create or update.
-       * @param body - Blob, string, ArrayBuffer, ArrayBufferView or a function
-       *                               which returns a new Readable stream whose offset is from data source beginning.
-       * @param contentLength - Length of body in bytes. Use Buffer.byteLength() to calculate body length for a
-       *                               string including non non-Base64/Hex-encoded characters.
-       * @param options - Options to configure the Block Blob Upload operation.
-       * @returns Block Blob upload response data and the corresponding BlockBlobClient instance.
-       */
-      async uploadBlockBlob(blobName, body, contentLength, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-uploadBlockBlob", options, async (updatedOptions) => {
-          const blockBlobClient = this.getBlockBlobClient(blobName);
-          const response = await blockBlobClient.upload(body, contentLength, updatedOptions);
-          return {
-            blockBlobClient,
-            response
-          };
-        });
+      return er;
+    }
+    function needMoreData(state) {
+      return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0);
+    }
+    Readable.prototype.isPaused = function() {
+      return this._readableState.flowing === false;
+    };
+    Readable.prototype.setEncoding = function(enc) {
+      if (!StringDecoder) StringDecoder = require_string_decoder().StringDecoder;
+      this._readableState.decoder = new StringDecoder(enc);
+      this._readableState.encoding = enc;
+      return this;
+    };
+    var MAX_HWM = 8388608;
+    function computeNewHighWaterMark(n) {
+      if (n >= MAX_HWM) {
+        n = MAX_HWM;
+      } else {
+        n--;
+        n |= n >>> 1;
+        n |= n >>> 2;
+        n |= n >>> 4;
+        n |= n >>> 8;
+        n |= n >>> 16;
+        n++;
       }
-      /**
-       * Marks the specified blob or snapshot for deletion. The blob is later deleted
-       * during garbage collection. Note that in order to delete a blob, you must delete
-       * all of its snapshots. You can delete both at the same time with the Delete
-       * Blob operation.
-       * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob
-       *
-       * @param blobName -
-       * @param options - Options to Blob Delete operation.
-       * @returns Block blob deletion response data.
-       */
-      async deleteBlob(blobName, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-deleteBlob", options, async (updatedOptions) => {
-          let blobClient = this.getBlobClient(blobName);
-          if (options.versionId) {
-            blobClient = blobClient.withVersion(options.versionId);
-          }
-          return blobClient.delete(updatedOptions);
-        });
+      return n;
+    }
+    function howMuchToRead(n, state) {
+      if (n <= 0 || state.length === 0 && state.ended) return 0;
+      if (state.objectMode) return 1;
+      if (n !== n) {
+        if (state.flowing && state.length) return state.buffer.head.data.length;
+        else return state.length;
       }
-      /**
-       * listBlobFlatSegment returns a single segment of blobs starting from the
-       * specified Marker. Use an empty Marker to start enumeration from the beginning.
-       * After getting a segment, process it, and then call listBlobsFlatSegment again
-       * (passing the the previously-returned Marker) to get the next segment.
-       * @see https://learn.microsoft.com/rest/api/storageservices/list-blobs
-       *
-       * @param marker - A string value that identifies the portion of the list to be returned with the next list operation.
-       * @param options - Options to Container List Blob Flat Segment operation.
-       */
-      async listBlobFlatSegment(marker, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-listBlobFlatSegment", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.listBlobFlatSegment({
-            marker,
-            ...options,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const wrappedResponse = {
-            ...response,
-            _response: {
-              ...response._response,
-              parsedBody: (0, utils_common_js_1.ConvertInternalResponseOfListBlobFlat)(response._response.parsedBody)
-            },
-            // _response is made non-enumerable
-            segment: {
-              ...response.segment,
-              blobItems: response.segment.blobItems.map((blobItemInternal) => {
-                const blobItem = {
-                  ...blobItemInternal,
-                  name: (0, utils_common_js_1.BlobNameToString)(blobItemInternal.name),
-                  tags: (0, utils_common_js_1.toTags)(blobItemInternal.blobTags),
-                  objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(blobItemInternal.objectReplicationMetadata)
-                };
-                return blobItem;
-              })
-            }
-          };
-          return wrappedResponse;
-        });
+      if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);
+      if (n <= state.length) return n;
+      if (!state.ended) {
+        state.needReadable = true;
+        return 0;
       }
-      /**
-       * listBlobHierarchySegment returns a single segment of blobs starting from
-       * the specified Marker. Use an empty Marker to start enumeration from the
-       * beginning. After getting a segment, process it, and then call listBlobsHierarchicalSegment
-       * again (passing the the previously-returned Marker) to get the next segment.
-       * @see https://learn.microsoft.com/rest/api/storageservices/list-blobs
-       *
-       * @param delimiter - The character or string used to define the virtual hierarchy
-       * @param marker - A string value that identifies the portion of the list to be returned with the next list operation.
-       * @param options - Options to Container List Blob Hierarchy Segment operation.
-       */
-      async listBlobHierarchySegment(delimiter, marker, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-listBlobHierarchySegment", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.listBlobHierarchySegment(delimiter, {
-            marker,
-            ...options,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const wrappedResponse = {
-            ...response,
-            _response: {
-              ...response._response,
-              parsedBody: (0, utils_common_js_1.ConvertInternalResponseOfListBlobHierarchy)(response._response.parsedBody)
-            },
-            // _response is made non-enumerable
-            segment: {
-              ...response.segment,
-              blobItems: response.segment.blobItems.map((blobItemInternal) => {
-                const blobItem = {
-                  ...blobItemInternal,
-                  name: (0, utils_common_js_1.BlobNameToString)(blobItemInternal.name),
-                  tags: (0, utils_common_js_1.toTags)(blobItemInternal.blobTags),
-                  objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(blobItemInternal.objectReplicationMetadata)
-                };
-                return blobItem;
-              }),
-              blobPrefixes: response.segment.blobPrefixes?.map((blobPrefixInternal) => {
-                const blobPrefix = {
-                  ...blobPrefixInternal,
-                  name: (0, utils_common_js_1.BlobNameToString)(blobPrefixInternal.name)
-                };
-                return blobPrefix;
-              })
-            }
-          };
-          return wrappedResponse;
-        });
+      return state.length;
+    }
+    Readable.prototype.read = function(n) {
+      debug4("read", n);
+      n = parseInt(n, 10);
+      var state = this._readableState;
+      var nOrig = n;
+      if (n !== 0) state.emittedReadable = false;
+      if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) {
+        debug4("read: emitReadable", state.length, state.ended);
+        if (state.length === 0 && state.ended) endReadable(this);
+        else emitReadable(this);
+        return null;
       }
-      /**
-       * Returns an AsyncIterableIterator for ContainerListBlobFlatSegmentResponse
-       *
-       * @param marker - A string value that identifies the portion of
-       *                          the list of blobs to be returned with the next listing operation. The
-       *                          operation returns the ContinuationToken value within the response body if the
-       *                          listing operation did not return all blobs remaining to be listed
-       *                          with the current page. The ContinuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of list
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to list blobs operation.
-       */
-      async *listSegments(marker, options = {}) {
-        let listBlobsFlatSegmentResponse;
-        if (!!marker || marker === void 0) {
-          do {
-            listBlobsFlatSegmentResponse = await this.listBlobFlatSegment(marker, options);
-            marker = listBlobsFlatSegmentResponse.continuationToken;
-            yield await listBlobsFlatSegmentResponse;
-          } while (marker);
-        }
+      n = howMuchToRead(n, state);
+      if (n === 0 && state.ended) {
+        if (state.length === 0) endReadable(this);
+        return null;
       }
-      /**
-       * Returns an AsyncIterableIterator of {@link BlobItem} objects
-       *
-       * @param options - Options to list blobs operation.
-       */
-      async *listItems(options = {}) {
-        let marker;
-        for await (const listBlobsFlatSegmentResponse of this.listSegments(marker, options)) {
-          yield* listBlobsFlatSegmentResponse.segment.blobItems;
-        }
+      var doRead = state.needReadable;
+      debug4("need readable", doRead);
+      if (state.length === 0 || state.length - n < state.highWaterMark) {
+        doRead = true;
+        debug4("length less than watermark", doRead);
       }
-      /**
-       * Returns an async iterable iterator to list all the blobs
-       * under the specified account.
-       *
-       * .byPage() returns an async iterable iterator to list the blobs in pages.
-       *
-       * ```ts snippet:ReadmeSampleListBlobs_Multiple
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       *
-       * // Example using `for await` syntax
-       * let i = 1;
-       * const blobs = containerClient.listBlobsFlat();
-       * for await (const blob of blobs) {
-       *   console.log(`Blob ${i++}: ${blob.name}`);
-       * }
-       *
-       * // Example using `iter.next()` syntax
-       * i = 1;
-       * const iter = containerClient.listBlobsFlat();
-       * let { value, done } = await iter.next();
-       * while (!done) {
-       *   console.log(`Blob ${i++}: ${value.name}`);
-       *   ({ value, done } = await iter.next());
-       * }
-       *
-       * // Example using `byPage()` syntax
-       * i = 1;
-       * for await (const page of containerClient.listBlobsFlat().byPage({ maxPageSize: 20 })) {
-       *   for (const blob of page.segment.blobItems) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       *
-       * // Example using paging with a marker
-       * i = 1;
-       * let iterator = containerClient.listBlobsFlat().byPage({ maxPageSize: 2 });
-       * let response = (await iterator.next()).value;
-       * // Prints 2 blob names
-       * if (response.segment.blobItems) {
-       *   for (const blob of response.segment.blobItems) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       * // Gets next marker
-       * let marker = response.continuationToken;
-       * // Passing next marker as continuationToken
-       * iterator = containerClient.listBlobsFlat().byPage({ continuationToken: marker, maxPageSize: 10 });
-       * response = (await iterator.next()).value;
-       * // Prints 10 blob names
-       * if (response.segment.blobItems) {
-       *   for (const blob of response.segment.blobItems) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       * ```
-       *
-       * @param options - Options to list blobs.
-       * @returns An asyncIterableIterator that supports paging.
-       */
-      listBlobsFlat(options = {}) {
-        const include = [];
-        if (options.includeCopy) {
-          include.push("copy");
+      if (state.ended || state.reading) {
+        doRead = false;
+        debug4("reading or ended", doRead);
+      } else if (doRead) {
+        debug4("do read");
+        state.reading = true;
+        state.sync = true;
+        if (state.length === 0) state.needReadable = true;
+        this._read(state.highWaterMark);
+        state.sync = false;
+        if (!state.reading) n = howMuchToRead(nOrig, state);
+      }
+      var ret;
+      if (n > 0) ret = fromList(n, state);
+      else ret = null;
+      if (ret === null) {
+        state.needReadable = true;
+        n = 0;
+      } else {
+        state.length -= n;
+      }
+      if (state.length === 0) {
+        if (!state.ended) state.needReadable = true;
+        if (nOrig !== n && state.ended) endReadable(this);
+      }
+      if (ret !== null) this.emit("data", ret);
+      return ret;
+    };
+    function onEofChunk(stream, state) {
+      if (state.ended) return;
+      if (state.decoder) {
+        var chunk = state.decoder.end();
+        if (chunk && chunk.length) {
+          state.buffer.push(chunk);
+          state.length += state.objectMode ? 1 : chunk.length;
         }
-        if (options.includeDeleted) {
-          include.push("deleted");
+      }
+      state.ended = true;
+      emitReadable(stream);
+    }
+    function emitReadable(stream) {
+      var state = stream._readableState;
+      state.needReadable = false;
+      if (!state.emittedReadable) {
+        debug4("emitReadable", state.flowing);
+        state.emittedReadable = true;
+        if (state.sync) pna.nextTick(emitReadable_, stream);
+        else emitReadable_(stream);
+      }
+    }
+    function emitReadable_(stream) {
+      debug4("emit readable");
+      stream.emit("readable");
+      flow(stream);
+    }
+    function maybeReadMore(stream, state) {
+      if (!state.readingMore) {
+        state.readingMore = true;
+        pna.nextTick(maybeReadMore_, stream, state);
+      }
+    }
+    function maybeReadMore_(stream, state) {
+      var len = state.length;
+      while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) {
+        debug4("maybeReadMore read 0");
+        stream.read(0);
+        if (len === state.length)
+          break;
+        else len = state.length;
+      }
+      state.readingMore = false;
+    }
+    Readable.prototype._read = function(n) {
+      this.emit("error", new Error("_read() is not implemented"));
+    };
+    Readable.prototype.pipe = function(dest, pipeOpts) {
+      var src = this;
+      var state = this._readableState;
+      switch (state.pipesCount) {
+        case 0:
+          state.pipes = dest;
+          break;
+        case 1:
+          state.pipes = [state.pipes, dest];
+          break;
+        default:
+          state.pipes.push(dest);
+          break;
+      }
+      state.pipesCount += 1;
+      debug4("pipe count=%d opts=%j", state.pipesCount, pipeOpts);
+      var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;
+      var endFn = doEnd ? onend : unpipe;
+      if (state.endEmitted) pna.nextTick(endFn);
+      else src.once("end", endFn);
+      dest.on("unpipe", onunpipe);
+      function onunpipe(readable, unpipeInfo) {
+        debug4("onunpipe");
+        if (readable === src) {
+          if (unpipeInfo && unpipeInfo.hasUnpiped === false) {
+            unpipeInfo.hasUnpiped = true;
+            cleanup();
+          }
         }
-        if (options.includeMetadata) {
-          include.push("metadata");
+      }
+      function onend() {
+        debug4("onend");
+        dest.end();
+      }
+      var ondrain = pipeOnDrain(src);
+      dest.on("drain", ondrain);
+      var cleanedUp = false;
+      function cleanup() {
+        debug4("cleanup");
+        dest.removeListener("close", onclose);
+        dest.removeListener("finish", onfinish);
+        dest.removeListener("drain", ondrain);
+        dest.removeListener("error", onerror);
+        dest.removeListener("unpipe", onunpipe);
+        src.removeListener("end", onend);
+        src.removeListener("end", unpipe);
+        src.removeListener("data", ondata);
+        cleanedUp = true;
+        if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();
+      }
+      var increasedAwaitDrain = false;
+      src.on("data", ondata);
+      function ondata(chunk) {
+        debug4("ondata");
+        increasedAwaitDrain = false;
+        var ret = dest.write(chunk);
+        if (false === ret && !increasedAwaitDrain) {
+          if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {
+            debug4("false write response, pause", state.awaitDrain);
+            state.awaitDrain++;
+            increasedAwaitDrain = true;
+          }
+          src.pause();
         }
-        if (options.includeSnapshots) {
-          include.push("snapshots");
+      }
+      function onerror(er) {
+        debug4("onerror", er);
+        unpipe();
+        dest.removeListener("error", onerror);
+        if (EElistenerCount(dest, "error") === 0) dest.emit("error", er);
+      }
+      prependListener(dest, "error", onerror);
+      function onclose() {
+        dest.removeListener("finish", onfinish);
+        unpipe();
+      }
+      dest.once("close", onclose);
+      function onfinish() {
+        debug4("onfinish");
+        dest.removeListener("close", onclose);
+        unpipe();
+      }
+      dest.once("finish", onfinish);
+      function unpipe() {
+        debug4("unpipe");
+        src.unpipe(dest);
+      }
+      dest.emit("pipe", src);
+      if (!state.flowing) {
+        debug4("pipe resume");
+        src.resume();
+      }
+      return dest;
+    };
+    function pipeOnDrain(src) {
+      return function() {
+        var state = src._readableState;
+        debug4("pipeOnDrain", state.awaitDrain);
+        if (state.awaitDrain) state.awaitDrain--;
+        if (state.awaitDrain === 0 && EElistenerCount(src, "data")) {
+          state.flowing = true;
+          flow(src);
         }
-        if (options.includeVersions) {
-          include.push("versions");
+      };
+    }
+    Readable.prototype.unpipe = function(dest) {
+      var state = this._readableState;
+      var unpipeInfo = { hasUnpiped: false };
+      if (state.pipesCount === 0) return this;
+      if (state.pipesCount === 1) {
+        if (dest && dest !== state.pipes) return this;
+        if (!dest) dest = state.pipes;
+        state.pipes = null;
+        state.pipesCount = 0;
+        state.flowing = false;
+        if (dest) dest.emit("unpipe", this, unpipeInfo);
+        return this;
+      }
+      if (!dest) {
+        var dests = state.pipes;
+        var len = state.pipesCount;
+        state.pipes = null;
+        state.pipesCount = 0;
+        state.flowing = false;
+        for (var i = 0; i < len; i++) {
+          dests[i].emit("unpipe", this, { hasUnpiped: false });
         }
-        if (options.includeUncommitedBlobs) {
-          include.push("uncommittedblobs");
+        return this;
+      }
+      var index = indexOf(state.pipes, dest);
+      if (index === -1) return this;
+      state.pipes.splice(index, 1);
+      state.pipesCount -= 1;
+      if (state.pipesCount === 1) state.pipes = state.pipes[0];
+      dest.emit("unpipe", this, unpipeInfo);
+      return this;
+    };
+    Readable.prototype.on = function(ev, fn) {
+      var res = Stream.prototype.on.call(this, ev, fn);
+      if (ev === "data") {
+        if (this._readableState.flowing !== false) this.resume();
+      } else if (ev === "readable") {
+        var state = this._readableState;
+        if (!state.endEmitted && !state.readableListening) {
+          state.readableListening = state.needReadable = true;
+          state.emittedReadable = false;
+          if (!state.reading) {
+            pna.nextTick(nReadingNextTick, this);
+          } else if (state.length) {
+            emitReadable(this);
+          }
         }
-        if (options.includeTags) {
-          include.push("tags");
+      }
+      return res;
+    };
+    Readable.prototype.addListener = Readable.prototype.on;
+    function nReadingNextTick(self2) {
+      debug4("readable nexttick read 0");
+      self2.read(0);
+    }
+    Readable.prototype.resume = function() {
+      var state = this._readableState;
+      if (!state.flowing) {
+        debug4("resume");
+        state.flowing = true;
+        resume(this, state);
+      }
+      return this;
+    };
+    function resume(stream, state) {
+      if (!state.resumeScheduled) {
+        state.resumeScheduled = true;
+        pna.nextTick(resume_, stream, state);
+      }
+    }
+    function resume_(stream, state) {
+      if (!state.reading) {
+        debug4("resume read 0");
+        stream.read(0);
+      }
+      state.resumeScheduled = false;
+      state.awaitDrain = 0;
+      stream.emit("resume");
+      flow(stream);
+      if (state.flowing && !state.reading) stream.read(0);
+    }
+    Readable.prototype.pause = function() {
+      debug4("call pause flowing=%j", this._readableState.flowing);
+      if (false !== this._readableState.flowing) {
+        debug4("pause");
+        this._readableState.flowing = false;
+        this.emit("pause");
+      }
+      return this;
+    };
+    function flow(stream) {
+      var state = stream._readableState;
+      debug4("flow", state.flowing);
+      while (state.flowing && stream.read() !== null) {
+      }
+    }
+    Readable.prototype.wrap = function(stream) {
+      var _this = this;
+      var state = this._readableState;
+      var paused = false;
+      stream.on("end", function() {
+        debug4("wrapped end");
+        if (state.decoder && !state.ended) {
+          var chunk = state.decoder.end();
+          if (chunk && chunk.length) _this.push(chunk);
         }
-        if (options.includeDeletedWithVersions) {
-          include.push("deletedwithversions");
+        _this.push(null);
+      });
+      stream.on("data", function(chunk) {
+        debug4("wrapped data");
+        if (state.decoder) chunk = state.decoder.write(chunk);
+        if (state.objectMode && (chunk === null || chunk === void 0)) return;
+        else if (!state.objectMode && (!chunk || !chunk.length)) return;
+        var ret = _this.push(chunk);
+        if (!ret) {
+          paused = true;
+          stream.pause();
         }
-        if (options.includeImmutabilityPolicy) {
-          include.push("immutabilitypolicy");
+      });
+      for (var i in stream) {
+        if (this[i] === void 0 && typeof stream[i] === "function") {
+          this[i] = /* @__PURE__ */ (function(method) {
+            return function() {
+              return stream[method].apply(stream, arguments);
+            };
+          })(i);
         }
-        if (options.includeLegalHold) {
-          include.push("legalhold");
+      }
+      for (var n = 0; n < kProxyEvents.length; n++) {
+        stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));
+      }
+      this._read = function(n2) {
+        debug4("wrapped _read", n2);
+        if (paused) {
+          paused = false;
+          stream.resume();
         }
-        if (options.prefix === "") {
-          options.prefix = void 0;
+      };
+      return this;
+    };
+    Object.defineProperty(Readable.prototype, "readableHighWaterMark", {
+      // making it explicit this property is not enumerable
+      // because otherwise some prototype manipulation in
+      // userland will fail
+      enumerable: false,
+      get: function() {
+        return this._readableState.highWaterMark;
+      }
+    });
+    Readable._fromList = fromList;
+    function fromList(n, state) {
+      if (state.length === 0) return null;
+      var ret;
+      if (state.objectMode) ret = state.buffer.shift();
+      else if (!n || n >= state.length) {
+        if (state.decoder) ret = state.buffer.join("");
+        else if (state.buffer.length === 1) ret = state.buffer.head.data;
+        else ret = state.buffer.concat(state.length);
+        state.buffer.clear();
+      } else {
+        ret = fromListPartial(n, state.buffer, state.decoder);
+      }
+      return ret;
+    }
+    function fromListPartial(n, list, hasStrings) {
+      var ret;
+      if (n < list.head.data.length) {
+        ret = list.head.data.slice(0, n);
+        list.head.data = list.head.data.slice(n);
+      } else if (n === list.head.data.length) {
+        ret = list.shift();
+      } else {
+        ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list);
+      }
+      return ret;
+    }
+    function copyFromBufferString(n, list) {
+      var p = list.head;
+      var c = 1;
+      var ret = p.data;
+      n -= ret.length;
+      while (p = p.next) {
+        var str2 = p.data;
+        var nb = n > str2.length ? str2.length : n;
+        if (nb === str2.length) ret += str2;
+        else ret += str2.slice(0, n);
+        n -= nb;
+        if (n === 0) {
+          if (nb === str2.length) {
+            ++c;
+            if (p.next) list.head = p.next;
+            else list.head = list.tail = null;
+          } else {
+            list.head = p;
+            p.data = str2.slice(nb);
+          }
+          break;
         }
-        const updatedOptions = {
-          ...options,
-          ...include.length > 0 ? { include } : {}
-        };
-        const iter = this.listItems(updatedOptions);
-        return {
-          /**
-           * The next method, part of the iteration protocol
-           */
-          next() {
-            return iter.next();
-          },
-          /**
-           * The connection to the async iterator, part of the iteration protocol
-           */
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          /**
-           * Return an AsyncIterableIterator that works a page at a time
-           */
-          byPage: (settings = {}) => {
-            return this.listSegments(settings.continuationToken, {
-              maxPageSize: settings.maxPageSize,
-              ...updatedOptions
-            });
+        ++c;
+      }
+      list.length -= c;
+      return ret;
+    }
+    function copyFromBuffer(n, list) {
+      var ret = Buffer2.allocUnsafe(n);
+      var p = list.head;
+      var c = 1;
+      p.data.copy(ret);
+      n -= p.data.length;
+      while (p = p.next) {
+        var buf = p.data;
+        var nb = n > buf.length ? buf.length : n;
+        buf.copy(ret, ret.length - n, 0, nb);
+        n -= nb;
+        if (n === 0) {
+          if (nb === buf.length) {
+            ++c;
+            if (p.next) list.head = p.next;
+            else list.head = list.tail = null;
+          } else {
+            list.head = p;
+            p.data = buf.slice(nb);
           }
-        };
+          break;
+        }
+        ++c;
+      }
+      list.length -= c;
+      return ret;
+    }
+    function endReadable(stream) {
+      var state = stream._readableState;
+      if (state.length > 0) throw new Error('"endReadable()" called on non-empty stream');
+      if (!state.endEmitted) {
+        state.ended = true;
+        pna.nextTick(endReadableNT, state, stream);
+      }
+    }
+    function endReadableNT(state, stream) {
+      if (!state.endEmitted && state.length === 0) {
+        state.endEmitted = true;
+        stream.readable = false;
+        stream.emit("end");
+      }
+    }
+    function indexOf(xs, x) {
+      for (var i = 0, l = xs.length; i < l; i++) {
+        if (xs[i] === x) return i;
+      }
+      return -1;
+    }
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/lib/_stream_transform.js
+var require_stream_transform = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_transform.js"(exports2, module2) {
+    "use strict";
+    module2.exports = Transform;
+    var Duplex = require_stream_duplex();
+    var util = Object.create(require_util20());
+    util.inherits = require_inherits();
+    util.inherits(Transform, Duplex);
+    function afterTransform(er, data) {
+      var ts = this._transformState;
+      ts.transforming = false;
+      var cb = ts.writecb;
+      if (!cb) {
+        return this.emit("error", new Error("write callback called multiple times"));
+      }
+      ts.writechunk = null;
+      ts.writecb = null;
+      if (data != null)
+        this.push(data);
+      cb(er);
+      var rs = this._readableState;
+      rs.reading = false;
+      if (rs.needReadable || rs.length < rs.highWaterMark) {
+        this._read(rs.highWaterMark);
+      }
+    }
+    function Transform(options) {
+      if (!(this instanceof Transform)) return new Transform(options);
+      Duplex.call(this, options);
+      this._transformState = {
+        afterTransform: afterTransform.bind(this),
+        needTransform: false,
+        transforming: false,
+        writecb: null,
+        writechunk: null,
+        writeencoding: null
+      };
+      this._readableState.needReadable = true;
+      this._readableState.sync = false;
+      if (options) {
+        if (typeof options.transform === "function") this._transform = options.transform;
+        if (typeof options.flush === "function") this._flush = options.flush;
+      }
+      this.on("prefinish", prefinish);
+    }
+    function prefinish() {
+      var _this = this;
+      if (typeof this._flush === "function") {
+        this._flush(function(er, data) {
+          done(_this, er, data);
+        });
+      } else {
+        done(this, null, null);
+      }
+    }
+    Transform.prototype.push = function(chunk, encoding) {
+      this._transformState.needTransform = false;
+      return Duplex.prototype.push.call(this, chunk, encoding);
+    };
+    Transform.prototype._transform = function(chunk, encoding, cb) {
+      throw new Error("_transform() is not implemented");
+    };
+    Transform.prototype._write = function(chunk, encoding, cb) {
+      var ts = this._transformState;
+      ts.writecb = cb;
+      ts.writechunk = chunk;
+      ts.writeencoding = encoding;
+      if (!ts.transforming) {
+        var rs = this._readableState;
+        if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);
+      }
+    };
+    Transform.prototype._read = function(n) {
+      var ts = this._transformState;
+      if (ts.writechunk !== null && ts.writecb && !ts.transforming) {
+        ts.transforming = true;
+        this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);
+      } else {
+        ts.needTransform = true;
+      }
+    };
+    Transform.prototype._destroy = function(err, cb) {
+      var _this2 = this;
+      Duplex.prototype._destroy.call(this, err, function(err2) {
+        cb(err2);
+        _this2.emit("close");
+      });
+    };
+    function done(stream, er, data) {
+      if (er) return stream.emit("error", er);
+      if (data != null)
+        stream.push(data);
+      if (stream._writableState.length) throw new Error("Calling transform done when ws.length != 0");
+      if (stream._transformState.transforming) throw new Error("Calling transform done when still transforming");
+      return stream.push(null);
+    }
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/lib/_stream_passthrough.js
+var require_stream_passthrough = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_passthrough.js"(exports2, module2) {
+    "use strict";
+    module2.exports = PassThrough;
+    var Transform = require_stream_transform();
+    var util = Object.create(require_util20());
+    util.inherits = require_inherits();
+    util.inherits(PassThrough, Transform);
+    function PassThrough(options) {
+      if (!(this instanceof PassThrough)) return new PassThrough(options);
+      Transform.call(this, options);
+    }
+    PassThrough.prototype._transform = function(chunk, encoding, cb) {
+      cb(null, chunk);
+    };
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/readable.js
+var require_readable3 = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/readable.js"(exports2, module2) {
+    var Stream = require("stream");
+    if (process.env.READABLE_STREAM === "disable" && Stream) {
+      module2.exports = Stream;
+      exports2 = module2.exports = Stream.Readable;
+      exports2.Readable = Stream.Readable;
+      exports2.Writable = Stream.Writable;
+      exports2.Duplex = Stream.Duplex;
+      exports2.Transform = Stream.Transform;
+      exports2.PassThrough = Stream.PassThrough;
+      exports2.Stream = Stream;
+    } else {
+      exports2 = module2.exports = require_stream_readable();
+      exports2.Stream = Stream || exports2;
+      exports2.Readable = exports2;
+      exports2.Writable = require_stream_writable();
+      exports2.Duplex = require_stream_duplex();
+      exports2.Transform = require_stream_transform();
+      exports2.PassThrough = require_stream_passthrough();
+    }
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/passthrough.js
+var require_passthrough = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/passthrough.js"(exports2, module2) {
+    module2.exports = require_readable3().PassThrough;
+  }
+});
+
+// node_modules/lazystream/lib/lazystream.js
+var require_lazystream = __commonJS({
+  "node_modules/lazystream/lib/lazystream.js"(exports2, module2) {
+    var util = require("util");
+    var PassThrough = require_passthrough();
+    module2.exports = {
+      Readable,
+      Writable
+    };
+    util.inherits(Readable, PassThrough);
+    util.inherits(Writable, PassThrough);
+    function beforeFirstCall(instance, method, callback) {
+      instance[method] = function() {
+        delete instance[method];
+        callback.apply(this, arguments);
+        return this[method].apply(this, arguments);
+      };
+    }
+    function Readable(fn, options) {
+      if (!(this instanceof Readable))
+        return new Readable(fn, options);
+      PassThrough.call(this, options);
+      beforeFirstCall(this, "_read", function() {
+        var source = fn.call(this, options);
+        var emit = this.emit.bind(this, "error");
+        source.on("error", emit);
+        source.pipe(this);
+      });
+      this.emit("readable");
+    }
+    function Writable(fn, options) {
+      if (!(this instanceof Writable))
+        return new Writable(fn, options);
+      PassThrough.call(this, options);
+      beforeFirstCall(this, "_write", function() {
+        var destination = fn.call(this, options);
+        var emit = this.emit.bind(this, "error");
+        destination.on("error", emit);
+        this.pipe(destination);
+      });
+      this.emit("writable");
+    }
+  }
+});
+
+// node_modules/normalize-path/index.js
+var require_normalize_path = __commonJS({
+  "node_modules/normalize-path/index.js"(exports2, module2) {
+    module2.exports = function(path4, stripTrailing) {
+      if (typeof path4 !== "string") {
+        throw new TypeError("expected path to be a string");
       }
-      /**
-       * Returns an AsyncIterableIterator for ContainerListBlobHierarchySegmentResponse
-       *
-       * @param delimiter - The character or string used to define the virtual hierarchy
-       * @param marker - A string value that identifies the portion of
-       *                          the list of blobs to be returned with the next listing operation. The
-       *                          operation returns the ContinuationToken value within the response body if the
-       *                          listing operation did not return all blobs remaining to be listed
-       *                          with the current page. The ContinuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of list
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to list blobs operation.
-       */
-      async *listHierarchySegments(delimiter, marker, options = {}) {
-        let listBlobsHierarchySegmentResponse;
-        if (!!marker || marker === void 0) {
-          do {
-            listBlobsHierarchySegmentResponse = await this.listBlobHierarchySegment(delimiter, marker, options);
-            marker = listBlobsHierarchySegmentResponse.continuationToken;
-            yield await listBlobsHierarchySegmentResponse;
-          } while (marker);
+      if (path4 === "\\" || path4 === "/") return "/";
+      var len = path4.length;
+      if (len <= 1) return path4;
+      var prefix = "";
+      if (len > 4 && path4[3] === "\\") {
+        var ch = path4[2];
+        if ((ch === "?" || ch === ".") && path4.slice(0, 2) === "\\\\") {
+          path4 = path4.slice(2);
+          prefix = "//";
         }
       }
-      /**
-       * Returns an AsyncIterableIterator for {@link BlobPrefix} and {@link BlobItem} objects.
-       *
-       * @param delimiter - The character or string used to define the virtual hierarchy
-       * @param options - Options to list blobs operation.
-       */
-      async *listItemsByHierarchy(delimiter, options = {}) {
-        let marker;
-        for await (const listBlobsHierarchySegmentResponse of this.listHierarchySegments(delimiter, marker, options)) {
-          const segment = listBlobsHierarchySegmentResponse.segment;
-          if (segment.blobPrefixes) {
-            for (const prefix of segment.blobPrefixes) {
-              yield {
-                kind: "prefix",
-                ...prefix
-              };
-            }
-          }
-          for (const blob of segment.blobItems) {
-            yield { kind: "blob", ...blob };
-          }
-        }
+      var segs = path4.split(/[/\\]+/);
+      if (stripTrailing !== false && segs[segs.length - 1] === "") {
+        segs.pop();
       }
-      /**
-       * Returns an async iterable iterator to list all the blobs by hierarchy.
-       * under the specified account.
-       *
-       * .byPage() returns an async iterable iterator to list the blobs by hierarchy in pages.
-       *
-       * ```ts snippet:ReadmeSampleListBlobsByHierarchy
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       *
-       * // Example using `for await` syntax
-       * let i = 1;
-       * const blobs = containerClient.listBlobsByHierarchy("/");
-       * for await (const blob of blobs) {
-       *   if (blob.kind === "prefix") {
-       *     console.log(`\tBlobPrefix: ${blob.name}`);
-       *   } else {
-       *     console.log(`\tBlobItem: name - ${blob.name}`);
-       *   }
-       * }
-       *
-       * // Example using `iter.next()` syntax
-       * i = 1;
-       * const iter = containerClient.listBlobsByHierarchy("/");
-       * let { value, done } = await iter.next();
-       * while (!done) {
-       *   if (value.kind === "prefix") {
-       *     console.log(`\tBlobPrefix: ${value.name}`);
-       *   } else {
-       *     console.log(`\tBlobItem: name - ${value.name}`);
-       *   }
-       *   ({ value, done } = await iter.next());
-       * }
-       *
-       * // Example using `byPage()` syntax
-       * i = 1;
-       * for await (const page of containerClient.listBlobsByHierarchy("/").byPage({ maxPageSize: 20 })) {
-       *   const segment = page.segment;
-       *   if (segment.blobPrefixes) {
-       *     for (const prefix of segment.blobPrefixes) {
-       *       console.log(`\tBlobPrefix: ${prefix.name}`);
-       *     }
-       *   }
-       *   for (const blob of page.segment.blobItems) {
-       *     console.log(`\tBlobItem: name - ${blob.name}`);
-       *   }
-       * }
-       *
-       * // Example using paging with a marker
-       * i = 1;
-       * let iterator = containerClient.listBlobsByHierarchy("/").byPage({ maxPageSize: 2 });
-       * let response = (await iterator.next()).value;
-       * // Prints 2 blob names
-       * if (response.blobPrefixes) {
-       *   for (const prefix of response.blobPrefixes) {
-       *     console.log(`\tBlobPrefix: ${prefix.name}`);
-       *   }
-       * }
-       * if (response.segment.blobItems) {
-       *   for (const blob of response.segment.blobItems) {
-       *     console.log(`\tBlobItem: name - ${blob.name}`);
-       *   }
-       * }
-       * // Gets next marker
-       * let marker = response.continuationToken;
-       * // Passing next marker as continuationToken
-       * iterator = containerClient
-       *   .listBlobsByHierarchy("/")
-       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
-       * response = (await iterator.next()).value;
-       * // Prints 10 blob names
-       * if (response.blobPrefixes) {
-       *   for (const prefix of response.blobPrefixes) {
-       *     console.log(`\tBlobPrefix: ${prefix.name}`);
-       *   }
-       * }
-       * if (response.segment.blobItems) {
-       *   for (const blob of response.segment.blobItems) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       * ```
-       *
-       * @param delimiter - The character or string used to define the virtual hierarchy
-       * @param options - Options to list blobs operation.
-       */
-      listBlobsByHierarchy(delimiter, options = {}) {
-        if (delimiter === "") {
-          throw new RangeError("delimiter should contain one or more characters");
-        }
-        const include = [];
-        if (options.includeCopy) {
-          include.push("copy");
-        }
-        if (options.includeDeleted) {
-          include.push("deleted");
-        }
-        if (options.includeMetadata) {
-          include.push("metadata");
-        }
-        if (options.includeSnapshots) {
-          include.push("snapshots");
-        }
-        if (options.includeVersions) {
-          include.push("versions");
-        }
-        if (options.includeUncommitedBlobs) {
-          include.push("uncommittedblobs");
-        }
-        if (options.includeTags) {
-          include.push("tags");
-        }
-        if (options.includeDeletedWithVersions) {
-          include.push("deletedwithversions");
-        }
-        if (options.includeImmutabilityPolicy) {
-          include.push("immutabilitypolicy");
+      return prefix + segs.join("/");
+    };
+  }
+});
+
+// node_modules/lodash/identity.js
+var require_identity = __commonJS({
+  "node_modules/lodash/identity.js"(exports2, module2) {
+    function identity(value) {
+      return value;
+    }
+    module2.exports = identity;
+  }
+});
+
+// node_modules/lodash/_apply.js
+var require_apply = __commonJS({
+  "node_modules/lodash/_apply.js"(exports2, module2) {
+    function apply(func, thisArg, args) {
+      switch (args.length) {
+        case 0:
+          return func.call(thisArg);
+        case 1:
+          return func.call(thisArg, args[0]);
+        case 2:
+          return func.call(thisArg, args[0], args[1]);
+        case 3:
+          return func.call(thisArg, args[0], args[1], args[2]);
+      }
+      return func.apply(thisArg, args);
+    }
+    module2.exports = apply;
+  }
+});
+
+// node_modules/lodash/_overRest.js
+var require_overRest = __commonJS({
+  "node_modules/lodash/_overRest.js"(exports2, module2) {
+    var apply = require_apply();
+    var nativeMax = Math.max;
+    function overRest(func, start, transform) {
+      start = nativeMax(start === void 0 ? func.length - 1 : start, 0);
+      return function() {
+        var args = arguments, index = -1, length = nativeMax(args.length - start, 0), array = Array(length);
+        while (++index < length) {
+          array[index] = args[start + index];
         }
-        if (options.includeLegalHold) {
-          include.push("legalhold");
+        index = -1;
+        var otherArgs = Array(start + 1);
+        while (++index < start) {
+          otherArgs[index] = args[index];
         }
-        if (options.prefix === "") {
-          options.prefix = void 0;
+        otherArgs[start] = transform(array);
+        return apply(func, this, otherArgs);
+      };
+    }
+    module2.exports = overRest;
+  }
+});
+
+// node_modules/lodash/constant.js
+var require_constant = __commonJS({
+  "node_modules/lodash/constant.js"(exports2, module2) {
+    function constant(value) {
+      return function() {
+        return value;
+      };
+    }
+    module2.exports = constant;
+  }
+});
+
+// node_modules/lodash/_freeGlobal.js
+var require_freeGlobal = __commonJS({
+  "node_modules/lodash/_freeGlobal.js"(exports2, module2) {
+    var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
+    module2.exports = freeGlobal;
+  }
+});
+
+// node_modules/lodash/_root.js
+var require_root = __commonJS({
+  "node_modules/lodash/_root.js"(exports2, module2) {
+    var freeGlobal = require_freeGlobal();
+    var freeSelf = typeof self == "object" && self && self.Object === Object && self;
+    var root = freeGlobal || freeSelf || Function("return this")();
+    module2.exports = root;
+  }
+});
+
+// node_modules/lodash/_Symbol.js
+var require_Symbol = __commonJS({
+  "node_modules/lodash/_Symbol.js"(exports2, module2) {
+    var root = require_root();
+    var Symbol2 = root.Symbol;
+    module2.exports = Symbol2;
+  }
+});
+
+// node_modules/lodash/_getRawTag.js
+var require_getRawTag = __commonJS({
+  "node_modules/lodash/_getRawTag.js"(exports2, module2) {
+    var Symbol2 = require_Symbol();
+    var objectProto = Object.prototype;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    var nativeObjectToString = objectProto.toString;
+    var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0;
+    function getRawTag(value) {
+      var isOwn = hasOwnProperty.call(value, symToStringTag), tag = value[symToStringTag];
+      try {
+        value[symToStringTag] = void 0;
+        var unmasked = true;
+      } catch (e) {
+      }
+      var result = nativeObjectToString.call(value);
+      if (unmasked) {
+        if (isOwn) {
+          value[symToStringTag] = tag;
+        } else {
+          delete value[symToStringTag];
         }
-        const updatedOptions = {
-          ...options,
-          ...include.length > 0 ? { include } : {}
-        };
-        const iter = this.listItemsByHierarchy(delimiter, updatedOptions);
-        return {
-          /**
-           * The next method, part of the iteration protocol
-           */
-          async next() {
-            return iter.next();
-          },
-          /**
-           * The connection to the async iterator, part of the iteration protocol
-           */
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          /**
-           * Return an AsyncIterableIterator that works a page at a time
-           */
-          byPage: (settings = {}) => {
-            return this.listHierarchySegments(delimiter, settings.continuationToken, {
-              maxPageSize: settings.maxPageSize,
-              ...updatedOptions
-            });
-          }
-        };
       }
-      /**
-       * The Filter Blobs operation enables callers to list blobs in the container whose tags
-       * match a given search expression.
-       *
-       * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                        The given expression must evaluate to true for a blob to be returned in the results.
-       *                                        The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                        however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param marker - A string value that identifies the portion of
-       *                          the list of blobs to be returned with the next listing operation. The
-       *                          operation returns the continuationToken value within the response body if the
-       *                          listing operation did not return all blobs remaining to be listed
-       *                          with the current page. The continuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of list
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to find blobs by tags.
-       */
-      async findBlobsByTagsSegment(tagFilterSqlExpression, marker, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-findBlobsByTagsSegment", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.filterBlobs({
-            abortSignal: options.abortSignal,
-            where: tagFilterSqlExpression,
-            marker,
-            maxPageSize: options.maxPageSize,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const wrappedResponse = {
-            ...response,
-            _response: response._response,
-            // _response is made non-enumerable
-            blobs: response.blobs.map((blob) => {
-              let tagValue = "";
-              if (blob.tags?.blobTagSet.length === 1) {
-                tagValue = blob.tags.blobTagSet[0].value;
-              }
-              return { ...blob, tags: (0, utils_common_js_1.toTags)(blob.tags), tagValue };
-            })
-          };
-          return wrappedResponse;
-        });
+      return result;
+    }
+    module2.exports = getRawTag;
+  }
+});
+
+// node_modules/lodash/_objectToString.js
+var require_objectToString = __commonJS({
+  "node_modules/lodash/_objectToString.js"(exports2, module2) {
+    var objectProto = Object.prototype;
+    var nativeObjectToString = objectProto.toString;
+    function objectToString(value) {
+      return nativeObjectToString.call(value);
+    }
+    module2.exports = objectToString;
+  }
+});
+
+// node_modules/lodash/_baseGetTag.js
+var require_baseGetTag = __commonJS({
+  "node_modules/lodash/_baseGetTag.js"(exports2, module2) {
+    var Symbol2 = require_Symbol();
+    var getRawTag = require_getRawTag();
+    var objectToString = require_objectToString();
+    var nullTag = "[object Null]";
+    var undefinedTag = "[object Undefined]";
+    var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0;
+    function baseGetTag(value) {
+      if (value == null) {
+        return value === void 0 ? undefinedTag : nullTag;
       }
-      /**
-       * Returns an AsyncIterableIterator for ContainerFindBlobsByTagsSegmentResponse.
-       *
-       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                         The given expression must evaluate to true for a blob to be returned in the results.
-       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param marker - A string value that identifies the portion of
-       *                          the list of blobs to be returned with the next listing operation. The
-       *                          operation returns the continuationToken value within the response body if the
-       *                          listing operation did not return all blobs remaining to be listed
-       *                          with the current page. The continuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of list
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to find blobs by tags.
-       */
-      async *findBlobsByTagsSegments(tagFilterSqlExpression, marker, options = {}) {
-        let response;
-        if (!!marker || marker === void 0) {
-          do {
-            response = await this.findBlobsByTagsSegment(tagFilterSqlExpression, marker, options);
-            response.blobs = response.blobs || [];
-            marker = response.continuationToken;
-            yield response;
-          } while (marker);
+      return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);
+    }
+    module2.exports = baseGetTag;
+  }
+});
+
+// node_modules/lodash/isObject.js
+var require_isObject = __commonJS({
+  "node_modules/lodash/isObject.js"(exports2, module2) {
+    function isObject2(value) {
+      var type2 = typeof value;
+      return value != null && (type2 == "object" || type2 == "function");
+    }
+    module2.exports = isObject2;
+  }
+});
+
+// node_modules/lodash/isFunction.js
+var require_isFunction = __commonJS({
+  "node_modules/lodash/isFunction.js"(exports2, module2) {
+    var baseGetTag = require_baseGetTag();
+    var isObject2 = require_isObject();
+    var asyncTag = "[object AsyncFunction]";
+    var funcTag = "[object Function]";
+    var genTag = "[object GeneratorFunction]";
+    var proxyTag = "[object Proxy]";
+    function isFunction(value) {
+      if (!isObject2(value)) {
+        return false;
+      }
+      var tag = baseGetTag(value);
+      return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
+    }
+    module2.exports = isFunction;
+  }
+});
+
+// node_modules/lodash/_coreJsData.js
+var require_coreJsData = __commonJS({
+  "node_modules/lodash/_coreJsData.js"(exports2, module2) {
+    var root = require_root();
+    var coreJsData = root["__core-js_shared__"];
+    module2.exports = coreJsData;
+  }
+});
+
+// node_modules/lodash/_isMasked.js
+var require_isMasked = __commonJS({
+  "node_modules/lodash/_isMasked.js"(exports2, module2) {
+    var coreJsData = require_coreJsData();
+    var maskSrcKey = (function() {
+      var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || "");
+      return uid ? "Symbol(src)_1." + uid : "";
+    })();
+    function isMasked(func) {
+      return !!maskSrcKey && maskSrcKey in func;
+    }
+    module2.exports = isMasked;
+  }
+});
+
+// node_modules/lodash/_toSource.js
+var require_toSource = __commonJS({
+  "node_modules/lodash/_toSource.js"(exports2, module2) {
+    var funcProto = Function.prototype;
+    var funcToString = funcProto.toString;
+    function toSource(func) {
+      if (func != null) {
+        try {
+          return funcToString.call(func);
+        } catch (e) {
         }
-      }
-      /**
-       * Returns an AsyncIterableIterator for blobs.
-       *
-       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                         The given expression must evaluate to true for a blob to be returned in the results.
-       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param options - Options to findBlobsByTagsItems.
-       */
-      async *findBlobsByTagsItems(tagFilterSqlExpression, options = {}) {
-        let marker;
-        for await (const segment of this.findBlobsByTagsSegments(tagFilterSqlExpression, marker, options)) {
-          yield* segment.blobs;
+        try {
+          return func + "";
+        } catch (e) {
         }
       }
-      /**
-       * Returns an async iterable iterator to find all blobs with specified tag
-       * under the specified container.
-       *
-       * .byPage() returns an async iterable iterator to list the blobs in pages.
-       *
-       * Example using `for await` syntax:
-       *
-       * ```ts snippet:ReadmeSampleFindBlobsByTags
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       *
-       * // Example using `for await` syntax
-       * let i = 1;
-       * for await (const blob of containerClient.findBlobsByTags("tagkey='tagvalue'")) {
-       *   console.log(`Blob ${i++}: ${blob.name}`);
-       * }
-       *
-       * // Example using `iter.next()` syntax
-       * i = 1;
-       * const iter = containerClient.findBlobsByTags("tagkey='tagvalue'");
-       * let { value, done } = await iter.next();
-       * while (!done) {
-       *   console.log(`Blob ${i++}: ${value.name}`);
-       *   ({ value, done } = await iter.next());
-       * }
-       *
-       * // Example using `byPage()` syntax
-       * i = 1;
-       * for await (const page of containerClient
-       *   .findBlobsByTags("tagkey='tagvalue'")
-       *   .byPage({ maxPageSize: 20 })) {
-       *   for (const blob of page.blobs) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       *
-       * // Example using paging with a marker
-       * i = 1;
-       * let iterator = containerClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 2 });
-       * let response = (await iterator.next()).value;
-       * // Prints 2 blob names
-       * if (response.blobs) {
-       *   for (const blob of response.blobs) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       * // Gets next marker
-       * let marker = response.continuationToken;
-       * // Passing next marker as continuationToken
-       * iterator = containerClient
-       *   .findBlobsByTags("tagkey='tagvalue'")
-       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
-       * response = (await iterator.next()).value;
-       * // Prints 10 blob names
-       * if (response.blobs) {
-       *   for (const blob of response.blobs) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       * ```
-       *
-       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                         The given expression must evaluate to true for a blob to be returned in the results.
-       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param options - Options to find blobs by tags.
-       */
-      findBlobsByTags(tagFilterSqlExpression, options = {}) {
-        const listSegmentOptions = {
-          ...options
-        };
-        const iter = this.findBlobsByTagsItems(tagFilterSqlExpression, listSegmentOptions);
-        return {
-          /**
-           * The next method, part of the iteration protocol
-           */
-          next() {
-            return iter.next();
-          },
-          /**
-           * The connection to the async iterator, part of the iteration protocol
-           */
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          /**
-           * Return an AsyncIterableIterator that works a page at a time
-           */
-          byPage: (settings = {}) => {
-            return this.findBlobsByTagsSegments(tagFilterSqlExpression, settings.continuationToken, {
-              maxPageSize: settings.maxPageSize,
-              ...listSegmentOptions
-            });
-          }
-        };
+      return "";
+    }
+    module2.exports = toSource;
+  }
+});
+
+// node_modules/lodash/_baseIsNative.js
+var require_baseIsNative = __commonJS({
+  "node_modules/lodash/_baseIsNative.js"(exports2, module2) {
+    var isFunction = require_isFunction();
+    var isMasked = require_isMasked();
+    var isObject2 = require_isObject();
+    var toSource = require_toSource();
+    var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
+    var reIsHostCtor = /^\[object .+?Constructor\]$/;
+    var funcProto = Function.prototype;
+    var objectProto = Object.prototype;
+    var funcToString = funcProto.toString;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    var reIsNative = RegExp(
+      "^" + funcToString.call(hasOwnProperty).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
+    );
+    function baseIsNative(value) {
+      if (!isObject2(value) || isMasked(value)) {
+        return false;
       }
-      /**
-       * The Get Account Information operation returns the sku name and account kind
-       * for the specified account.
-       * The Get Account Information operation is available on service versions beginning
-       * with version 2018-03-28.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information
-       *
-       * @param options - Options to the Service Get Account Info operation.
-       * @returns Response data for the Service Get Account Info operation.
-       */
-      async getAccountInfo(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-getAccountInfo", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.containerContext.getAccountInfo({
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
+      return pattern.test(toSource(value));
+    }
+    module2.exports = baseIsNative;
+  }
+});
+
+// node_modules/lodash/_getValue.js
+var require_getValue = __commonJS({
+  "node_modules/lodash/_getValue.js"(exports2, module2) {
+    function getValue(object, key) {
+      return object == null ? void 0 : object[key];
+    }
+    module2.exports = getValue;
+  }
+});
+
+// node_modules/lodash/_getNative.js
+var require_getNative = __commonJS({
+  "node_modules/lodash/_getNative.js"(exports2, module2) {
+    var baseIsNative = require_baseIsNative();
+    var getValue = require_getValue();
+    function getNative(object, key) {
+      var value = getValue(object, key);
+      return baseIsNative(value) ? value : void 0;
+    }
+    module2.exports = getNative;
+  }
+});
+
+// node_modules/lodash/_defineProperty.js
+var require_defineProperty = __commonJS({
+  "node_modules/lodash/_defineProperty.js"(exports2, module2) {
+    var getNative = require_getNative();
+    var defineProperty = (function() {
+      try {
+        var func = getNative(Object, "defineProperty");
+        func({}, "", {});
+        return func;
+      } catch (e) {
       }
-      getContainerNameFromUrl() {
-        let containerName;
-        try {
-          const parsedUrl = new URL(this.url);
-          if (parsedUrl.hostname.split(".")[1] === "blob") {
-            containerName = parsedUrl.pathname.split("/")[1];
-          } else if ((0, utils_common_js_1.isIpEndpointStyle)(parsedUrl)) {
-            containerName = parsedUrl.pathname.split("/")[2];
-          } else {
-            containerName = parsedUrl.pathname.split("/")[1];
-          }
-          containerName = decodeURIComponent(containerName);
-          if (!containerName) {
-            throw new Error("Provided containerName is invalid.");
+    })();
+    module2.exports = defineProperty;
+  }
+});
+
+// node_modules/lodash/_baseSetToString.js
+var require_baseSetToString = __commonJS({
+  "node_modules/lodash/_baseSetToString.js"(exports2, module2) {
+    var constant = require_constant();
+    var defineProperty = require_defineProperty();
+    var identity = require_identity();
+    var baseSetToString = !defineProperty ? identity : function(func, string) {
+      return defineProperty(func, "toString", {
+        "configurable": true,
+        "enumerable": false,
+        "value": constant(string),
+        "writable": true
+      });
+    };
+    module2.exports = baseSetToString;
+  }
+});
+
+// node_modules/lodash/_shortOut.js
+var require_shortOut = __commonJS({
+  "node_modules/lodash/_shortOut.js"(exports2, module2) {
+    var HOT_COUNT = 800;
+    var HOT_SPAN = 16;
+    var nativeNow = Date.now;
+    function shortOut(func) {
+      var count = 0, lastCalled = 0;
+      return function() {
+        var stamp = nativeNow(), remaining = HOT_SPAN - (stamp - lastCalled);
+        lastCalled = stamp;
+        if (remaining > 0) {
+          if (++count >= HOT_COUNT) {
+            return arguments[0];
           }
-          return containerName;
-        } catch (error3) {
-          throw new Error("Unable to extract containerName with provided information.");
+        } else {
+          count = 0;
         }
+        return func.apply(void 0, arguments);
+      };
+    }
+    module2.exports = shortOut;
+  }
+});
+
+// node_modules/lodash/_setToString.js
+var require_setToString = __commonJS({
+  "node_modules/lodash/_setToString.js"(exports2, module2) {
+    var baseSetToString = require_baseSetToString();
+    var shortOut = require_shortOut();
+    var setToString = shortOut(baseSetToString);
+    module2.exports = setToString;
+  }
+});
+
+// node_modules/lodash/_baseRest.js
+var require_baseRest = __commonJS({
+  "node_modules/lodash/_baseRest.js"(exports2, module2) {
+    var identity = require_identity();
+    var overRest = require_overRest();
+    var setToString = require_setToString();
+    function baseRest(func, start) {
+      return setToString(overRest(func, start, identity), func + "");
+    }
+    module2.exports = baseRest;
+  }
+});
+
+// node_modules/lodash/eq.js
+var require_eq2 = __commonJS({
+  "node_modules/lodash/eq.js"(exports2, module2) {
+    function eq(value, other) {
+      return value === other || value !== value && other !== other;
+    }
+    module2.exports = eq;
+  }
+});
+
+// node_modules/lodash/isLength.js
+var require_isLength = __commonJS({
+  "node_modules/lodash/isLength.js"(exports2, module2) {
+    var MAX_SAFE_INTEGER = 9007199254740991;
+    function isLength(value) {
+      return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
+    }
+    module2.exports = isLength;
+  }
+});
+
+// node_modules/lodash/isArrayLike.js
+var require_isArrayLike = __commonJS({
+  "node_modules/lodash/isArrayLike.js"(exports2, module2) {
+    var isFunction = require_isFunction();
+    var isLength = require_isLength();
+    function isArrayLike(value) {
+      return value != null && isLength(value.length) && !isFunction(value);
+    }
+    module2.exports = isArrayLike;
+  }
+});
+
+// node_modules/lodash/_isIndex.js
+var require_isIndex = __commonJS({
+  "node_modules/lodash/_isIndex.js"(exports2, module2) {
+    var MAX_SAFE_INTEGER = 9007199254740991;
+    var reIsUint = /^(?:0|[1-9]\d*)$/;
+    function isIndex(value, length) {
+      var type2 = typeof value;
+      length = length == null ? MAX_SAFE_INTEGER : length;
+      return !!length && (type2 == "number" || type2 != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length);
+    }
+    module2.exports = isIndex;
+  }
+});
+
+// node_modules/lodash/_isIterateeCall.js
+var require_isIterateeCall = __commonJS({
+  "node_modules/lodash/_isIterateeCall.js"(exports2, module2) {
+    var eq = require_eq2();
+    var isArrayLike = require_isArrayLike();
+    var isIndex = require_isIndex();
+    var isObject2 = require_isObject();
+    function isIterateeCall(value, index, object) {
+      if (!isObject2(object)) {
+        return false;
       }
-      /**
-       * Only available for ContainerClient constructed with a shared key credential.
-       *
-       * Generates a Blob Container Service Shared Access Signature (SAS) URI based on the client properties
-       * and parameters passed in. The SAS is signed by the shared key credential of the client.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateSasUrl(options) {
-        return new Promise((resolve3) => {
-          if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
-            throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
-          }
-          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
-            containerName: this._containerName,
-            ...options
-          }, this.credential).toString();
-          resolve3((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
-        });
+      var type2 = typeof index;
+      if (type2 == "number" ? isArrayLike(object) && isIndex(index, object.length) : type2 == "string" && index in object) {
+        return eq(object[index], value);
       }
-      /**
-       * Only available for ContainerClient constructed with a shared key credential.
-       *
-       * Generates string to sign for a Blob Container Service Shared Access Signature (SAS) URI
-       * based on the client properties and parameters passed in. The SAS is signed by the shared key credential of the client.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/
-      generateSasStringToSign(options) {
-        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
-          throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
+      return false;
+    }
+    module2.exports = isIterateeCall;
+  }
+});
+
+// node_modules/lodash/_baseTimes.js
+var require_baseTimes = __commonJS({
+  "node_modules/lodash/_baseTimes.js"(exports2, module2) {
+    function baseTimes(n, iteratee) {
+      var index = -1, result = Array(n);
+      while (++index < n) {
+        result[index] = iteratee(index);
+      }
+      return result;
+    }
+    module2.exports = baseTimes;
+  }
+});
+
+// node_modules/lodash/isObjectLike.js
+var require_isObjectLike = __commonJS({
+  "node_modules/lodash/isObjectLike.js"(exports2, module2) {
+    function isObjectLike(value) {
+      return value != null && typeof value == "object";
+    }
+    module2.exports = isObjectLike;
+  }
+});
+
+// node_modules/lodash/_baseIsArguments.js
+var require_baseIsArguments = __commonJS({
+  "node_modules/lodash/_baseIsArguments.js"(exports2, module2) {
+    var baseGetTag = require_baseGetTag();
+    var isObjectLike = require_isObjectLike();
+    var argsTag = "[object Arguments]";
+    function baseIsArguments(value) {
+      return isObjectLike(value) && baseGetTag(value) == argsTag;
+    }
+    module2.exports = baseIsArguments;
+  }
+});
+
+// node_modules/lodash/isArguments.js
+var require_isArguments = __commonJS({
+  "node_modules/lodash/isArguments.js"(exports2, module2) {
+    var baseIsArguments = require_baseIsArguments();
+    var isObjectLike = require_isObjectLike();
+    var objectProto = Object.prototype;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    var propertyIsEnumerable = objectProto.propertyIsEnumerable;
+    var isArguments = baseIsArguments(/* @__PURE__ */ (function() {
+      return arguments;
+    })()) ? baseIsArguments : function(value) {
+      return isObjectLike(value) && hasOwnProperty.call(value, "callee") && !propertyIsEnumerable.call(value, "callee");
+    };
+    module2.exports = isArguments;
+  }
+});
+
+// node_modules/lodash/isArray.js
+var require_isArray = __commonJS({
+  "node_modules/lodash/isArray.js"(exports2, module2) {
+    var isArray = Array.isArray;
+    module2.exports = isArray;
+  }
+});
+
+// node_modules/lodash/stubFalse.js
+var require_stubFalse = __commonJS({
+  "node_modules/lodash/stubFalse.js"(exports2, module2) {
+    function stubFalse() {
+      return false;
+    }
+    module2.exports = stubFalse;
+  }
+});
+
+// node_modules/lodash/isBuffer.js
+var require_isBuffer = __commonJS({
+  "node_modules/lodash/isBuffer.js"(exports2, module2) {
+    var root = require_root();
+    var stubFalse = require_stubFalse();
+    var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2;
+    var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2;
+    var moduleExports = freeModule && freeModule.exports === freeExports;
+    var Buffer2 = moduleExports ? root.Buffer : void 0;
+    var nativeIsBuffer = Buffer2 ? Buffer2.isBuffer : void 0;
+    var isBuffer = nativeIsBuffer || stubFalse;
+    module2.exports = isBuffer;
+  }
+});
+
+// node_modules/lodash/_baseIsTypedArray.js
+var require_baseIsTypedArray = __commonJS({
+  "node_modules/lodash/_baseIsTypedArray.js"(exports2, module2) {
+    var baseGetTag = require_baseGetTag();
+    var isLength = require_isLength();
+    var isObjectLike = require_isObjectLike();
+    var argsTag = "[object Arguments]";
+    var arrayTag = "[object Array]";
+    var boolTag = "[object Boolean]";
+    var dateTag = "[object Date]";
+    var errorTag = "[object Error]";
+    var funcTag = "[object Function]";
+    var mapTag = "[object Map]";
+    var numberTag = "[object Number]";
+    var objectTag = "[object Object]";
+    var regexpTag = "[object RegExp]";
+    var setTag = "[object Set]";
+    var stringTag = "[object String]";
+    var weakMapTag = "[object WeakMap]";
+    var arrayBufferTag = "[object ArrayBuffer]";
+    var dataViewTag = "[object DataView]";
+    var float32Tag = "[object Float32Array]";
+    var float64Tag = "[object Float64Array]";
+    var int8Tag = "[object Int8Array]";
+    var int16Tag = "[object Int16Array]";
+    var int32Tag = "[object Int32Array]";
+    var uint8Tag = "[object Uint8Array]";
+    var uint8ClampedTag = "[object Uint8ClampedArray]";
+    var uint16Tag = "[object Uint16Array]";
+    var uint32Tag = "[object Uint32Array]";
+    var typedArrayTags = {};
+    typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;
+    typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;
+    function baseIsTypedArray(value) {
+      return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)];
+    }
+    module2.exports = baseIsTypedArray;
+  }
+});
+
+// node_modules/lodash/_baseUnary.js
+var require_baseUnary = __commonJS({
+  "node_modules/lodash/_baseUnary.js"(exports2, module2) {
+    function baseUnary(func) {
+      return function(value) {
+        return func(value);
+      };
+    }
+    module2.exports = baseUnary;
+  }
+});
+
+// node_modules/lodash/_nodeUtil.js
+var require_nodeUtil = __commonJS({
+  "node_modules/lodash/_nodeUtil.js"(exports2, module2) {
+    var freeGlobal = require_freeGlobal();
+    var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2;
+    var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2;
+    var moduleExports = freeModule && freeModule.exports === freeExports;
+    var freeProcess = moduleExports && freeGlobal.process;
+    var nodeUtil = (function() {
+      try {
+        var types = freeModule && freeModule.require && freeModule.require("util").types;
+        if (types) {
+          return types;
         }
-        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
-          containerName: this._containerName,
-          ...options
-        }, this.credential).stringToSign;
-      }
-      /**
-       * Generates a Blob Container Service Shared Access Signature (SAS) URI based on the client properties
-       * and parameters passed in. The SAS is signed by the input user delegation key.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateUserDelegationSasUrl(options, userDelegationKey) {
-        return new Promise((resolve3) => {
-          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
-            containerName: this._containerName,
-            ...options
-          }, userDelegationKey, this.accountName).toString();
-          resolve3((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
-        });
-      }
-      /**
-       * Generates string to sign for a Blob Container Service Shared Access Signature (SAS) URI
-       * based on the client properties and parameters passed in. The SAS is signed by the input user delegation key.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateUserDelegationSasStringToSign(options, userDelegationKey) {
-        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
-          containerName: this._containerName,
-          ...options
-        }, userDelegationKey, this.accountName).stringToSign;
-      }
-      /**
-       * Creates a BlobBatchClient object to conduct batch operations.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch
-       *
-       * @returns A new BlobBatchClient object for this container.
-       */
-      getBlobBatchClient() {
-        return new BlobBatchClient_js_1.BlobBatchClient(this.url, this.pipeline);
+        return freeProcess && freeProcess.binding && freeProcess.binding("util");
+      } catch (e) {
       }
-    };
-    exports2.ContainerClient = ContainerClient;
+    })();
+    module2.exports = nodeUtil;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASPermissions.js
-var require_AccountSASPermissions = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASPermissions.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AccountSASPermissions = void 0;
-    var AccountSASPermissions = class _AccountSASPermissions {
-      /**
-       * Parse initializes the AccountSASPermissions fields from a string.
-       *
-       * @param permissions -
-       */
-      static parse(permissions) {
-        const accountSASPermissions = new _AccountSASPermissions();
-        for (const c of permissions) {
-          switch (c) {
-            case "r":
-              accountSASPermissions.read = true;
-              break;
-            case "w":
-              accountSASPermissions.write = true;
-              break;
-            case "d":
-              accountSASPermissions.delete = true;
-              break;
-            case "x":
-              accountSASPermissions.deleteVersion = true;
-              break;
-            case "l":
-              accountSASPermissions.list = true;
-              break;
-            case "a":
-              accountSASPermissions.add = true;
-              break;
-            case "c":
-              accountSASPermissions.create = true;
-              break;
-            case "u":
-              accountSASPermissions.update = true;
-              break;
-            case "p":
-              accountSASPermissions.process = true;
-              break;
-            case "t":
-              accountSASPermissions.tag = true;
-              break;
-            case "f":
-              accountSASPermissions.filter = true;
-              break;
-            case "i":
-              accountSASPermissions.setImmutabilityPolicy = true;
-              break;
-            case "y":
-              accountSASPermissions.permanentDelete = true;
-              break;
-            default:
-              throw new RangeError(`Invalid permission character: ${c}`);
-          }
+// node_modules/lodash/isTypedArray.js
+var require_isTypedArray = __commonJS({
+  "node_modules/lodash/isTypedArray.js"(exports2, module2) {
+    var baseIsTypedArray = require_baseIsTypedArray();
+    var baseUnary = require_baseUnary();
+    var nodeUtil = require_nodeUtil();
+    var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
+    var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
+    module2.exports = isTypedArray;
+  }
+});
+
+// node_modules/lodash/_arrayLikeKeys.js
+var require_arrayLikeKeys = __commonJS({
+  "node_modules/lodash/_arrayLikeKeys.js"(exports2, module2) {
+    var baseTimes = require_baseTimes();
+    var isArguments = require_isArguments();
+    var isArray = require_isArray();
+    var isBuffer = require_isBuffer();
+    var isIndex = require_isIndex();
+    var isTypedArray = require_isTypedArray();
+    var objectProto = Object.prototype;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    function arrayLikeKeys(value, inherited) {
+      var isArr = isArray(value), isArg = !isArr && isArguments(value), isBuff = !isArr && !isArg && isBuffer(value), isType = !isArr && !isArg && !isBuff && isTypedArray(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length = result.length;
+      for (var key in value) {
+        if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && // Safari 9 has enumerable `arguments.length` in strict mode.
+        (key == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
+        isBuff && (key == "offset" || key == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
+        isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || // Skip index properties.
+        isIndex(key, length)))) {
+          result.push(key);
         }
-        return accountSASPermissions;
       }
-      /**
-       * Creates a {@link AccountSASPermissions} from a raw object which contains same keys as it
-       * and boolean values for them.
-       *
-       * @param permissionLike -
-       */
-      static from(permissionLike) {
-        const accountSASPermissions = new _AccountSASPermissions();
-        if (permissionLike.read) {
-          accountSASPermissions.read = true;
-        }
-        if (permissionLike.write) {
-          accountSASPermissions.write = true;
-        }
-        if (permissionLike.delete) {
-          accountSASPermissions.delete = true;
-        }
-        if (permissionLike.deleteVersion) {
-          accountSASPermissions.deleteVersion = true;
-        }
-        if (permissionLike.filter) {
-          accountSASPermissions.filter = true;
-        }
-        if (permissionLike.tag) {
-          accountSASPermissions.tag = true;
-        }
-        if (permissionLike.list) {
-          accountSASPermissions.list = true;
-        }
-        if (permissionLike.add) {
-          accountSASPermissions.add = true;
-        }
-        if (permissionLike.create) {
-          accountSASPermissions.create = true;
-        }
-        if (permissionLike.update) {
-          accountSASPermissions.update = true;
-        }
-        if (permissionLike.process) {
-          accountSASPermissions.process = true;
-        }
-        if (permissionLike.setImmutabilityPolicy) {
-          accountSASPermissions.setImmutabilityPolicy = true;
-        }
-        if (permissionLike.permanentDelete) {
-          accountSASPermissions.permanentDelete = true;
+      return result;
+    }
+    module2.exports = arrayLikeKeys;
+  }
+});
+
+// node_modules/lodash/_isPrototype.js
+var require_isPrototype = __commonJS({
+  "node_modules/lodash/_isPrototype.js"(exports2, module2) {
+    var objectProto = Object.prototype;
+    function isPrototype(value) {
+      var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto;
+      return value === proto;
+    }
+    module2.exports = isPrototype;
+  }
+});
+
+// node_modules/lodash/_nativeKeysIn.js
+var require_nativeKeysIn = __commonJS({
+  "node_modules/lodash/_nativeKeysIn.js"(exports2, module2) {
+    function nativeKeysIn(object) {
+      var result = [];
+      if (object != null) {
+        for (var key in Object(object)) {
+          result.push(key);
         }
-        return accountSASPermissions;
       }
-      /**
-       * Permission to read resources and list queues and tables granted.
-       */
-      read = false;
-      /**
-       * Permission to write resources granted.
-       */
-      write = false;
-      /**
-       * Permission to delete blobs and files granted.
-       */
-      delete = false;
-      /**
-       * Permission to delete versions granted.
-       */
-      deleteVersion = false;
-      /**
-       * Permission to list blob containers, blobs, shares, directories, and files granted.
-       */
-      list = false;
-      /**
-       * Permission to add messages, table entities, and append to blobs granted.
-       */
-      add = false;
-      /**
-       * Permission to create blobs and files granted.
-       */
-      create = false;
-      /**
-       * Permissions to update messages and table entities granted.
-       */
-      update = false;
-      /**
-       * Permission to get and delete messages granted.
-       */
-      process = false;
-      /**
-       * Specfies Tag access granted.
-       */
-      tag = false;
-      /**
-       * Permission to filter blobs.
-       */
-      filter = false;
-      /**
-       * Permission to set immutability policy.
-       */
-      setImmutabilityPolicy = false;
-      /**
-       * Specifies that Permanent Delete is permitted.
-       */
-      permanentDelete = false;
-      /**
-       * Produces the SAS permissions string for an Azure Storage account.
-       * Call this method to set AccountSASSignatureValues Permissions field.
-       *
-       * Using this method will guarantee the resource types are in
-       * an order accepted by the service.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas
-       *
-       */
-      toString() {
-        const permissions = [];
-        if (this.read) {
-          permissions.push("r");
-        }
-        if (this.write) {
-          permissions.push("w");
-        }
-        if (this.delete) {
-          permissions.push("d");
-        }
-        if (this.deleteVersion) {
-          permissions.push("x");
-        }
-        if (this.filter) {
-          permissions.push("f");
-        }
-        if (this.tag) {
-          permissions.push("t");
-        }
-        if (this.list) {
-          permissions.push("l");
-        }
-        if (this.add) {
-          permissions.push("a");
-        }
-        if (this.create) {
-          permissions.push("c");
-        }
-        if (this.update) {
-          permissions.push("u");
-        }
-        if (this.process) {
-          permissions.push("p");
-        }
-        if (this.setImmutabilityPolicy) {
-          permissions.push("i");
+      return result;
+    }
+    module2.exports = nativeKeysIn;
+  }
+});
+
+// node_modules/lodash/_baseKeysIn.js
+var require_baseKeysIn = __commonJS({
+  "node_modules/lodash/_baseKeysIn.js"(exports2, module2) {
+    var isObject2 = require_isObject();
+    var isPrototype = require_isPrototype();
+    var nativeKeysIn = require_nativeKeysIn();
+    var objectProto = Object.prototype;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    function baseKeysIn(object) {
+      if (!isObject2(object)) {
+        return nativeKeysIn(object);
+      }
+      var isProto = isPrototype(object), result = [];
+      for (var key in object) {
+        if (!(key == "constructor" && (isProto || !hasOwnProperty.call(object, key)))) {
+          result.push(key);
         }
-        if (this.permanentDelete) {
-          permissions.push("y");
+      }
+      return result;
+    }
+    module2.exports = baseKeysIn;
+  }
+});
+
+// node_modules/lodash/keysIn.js
+var require_keysIn = __commonJS({
+  "node_modules/lodash/keysIn.js"(exports2, module2) {
+    var arrayLikeKeys = require_arrayLikeKeys();
+    var baseKeysIn = require_baseKeysIn();
+    var isArrayLike = require_isArrayLike();
+    function keysIn(object) {
+      return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);
+    }
+    module2.exports = keysIn;
+  }
+});
+
+// node_modules/lodash/defaults.js
+var require_defaults = __commonJS({
+  "node_modules/lodash/defaults.js"(exports2, module2) {
+    var baseRest = require_baseRest();
+    var eq = require_eq2();
+    var isIterateeCall = require_isIterateeCall();
+    var keysIn = require_keysIn();
+    var objectProto = Object.prototype;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    var defaults = baseRest(function(object, sources) {
+      object = Object(object);
+      var index = -1;
+      var length = sources.length;
+      var guard = length > 2 ? sources[2] : void 0;
+      if (guard && isIterateeCall(sources[0], sources[1], guard)) {
+        length = 1;
+      }
+      while (++index < length) {
+        var source = sources[index];
+        var props = keysIn(source);
+        var propsIndex = -1;
+        var propsLength = props.length;
+        while (++propsIndex < propsLength) {
+          var key = props[propsIndex];
+          var value = object[key];
+          if (value === void 0 || eq(value, objectProto[key]) && !hasOwnProperty.call(object, key)) {
+            object[key] = source[key];
+          }
         }
-        return permissions.join("");
       }
+      return object;
+    });
+    module2.exports = defaults;
+  }
+});
+
+// node_modules/readable-stream/lib/ours/primordials.js
+var require_primordials = __commonJS({
+  "node_modules/readable-stream/lib/ours/primordials.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      ArrayIsArray(self2) {
+        return Array.isArray(self2);
+      },
+      ArrayPrototypeIncludes(self2, el) {
+        return self2.includes(el);
+      },
+      ArrayPrototypeIndexOf(self2, el) {
+        return self2.indexOf(el);
+      },
+      ArrayPrototypeJoin(self2, sep3) {
+        return self2.join(sep3);
+      },
+      ArrayPrototypeMap(self2, fn) {
+        return self2.map(fn);
+      },
+      ArrayPrototypePop(self2, el) {
+        return self2.pop(el);
+      },
+      ArrayPrototypePush(self2, el) {
+        return self2.push(el);
+      },
+      ArrayPrototypeSlice(self2, start, end) {
+        return self2.slice(start, end);
+      },
+      Error,
+      FunctionPrototypeCall(fn, thisArgs, ...args) {
+        return fn.call(thisArgs, ...args);
+      },
+      FunctionPrototypeSymbolHasInstance(self2, instance) {
+        return Function.prototype[Symbol.hasInstance].call(self2, instance);
+      },
+      MathFloor: Math.floor,
+      Number,
+      NumberIsInteger: Number.isInteger,
+      NumberIsNaN: Number.isNaN,
+      NumberMAX_SAFE_INTEGER: Number.MAX_SAFE_INTEGER,
+      NumberMIN_SAFE_INTEGER: Number.MIN_SAFE_INTEGER,
+      NumberParseInt: Number.parseInt,
+      ObjectDefineProperties(self2, props) {
+        return Object.defineProperties(self2, props);
+      },
+      ObjectDefineProperty(self2, name, prop) {
+        return Object.defineProperty(self2, name, prop);
+      },
+      ObjectGetOwnPropertyDescriptor(self2, name) {
+        return Object.getOwnPropertyDescriptor(self2, name);
+      },
+      ObjectKeys(obj) {
+        return Object.keys(obj);
+      },
+      ObjectSetPrototypeOf(target, proto) {
+        return Object.setPrototypeOf(target, proto);
+      },
+      Promise,
+      PromisePrototypeCatch(self2, fn) {
+        return self2.catch(fn);
+      },
+      PromisePrototypeThen(self2, thenFn, catchFn) {
+        return self2.then(thenFn, catchFn);
+      },
+      PromiseReject(err) {
+        return Promise.reject(err);
+      },
+      PromiseResolve(val) {
+        return Promise.resolve(val);
+      },
+      ReflectApply: Reflect.apply,
+      RegExpPrototypeTest(self2, value) {
+        return self2.test(value);
+      },
+      SafeSet: Set,
+      String,
+      StringPrototypeSlice(self2, start, end) {
+        return self2.slice(start, end);
+      },
+      StringPrototypeToLowerCase(self2) {
+        return self2.toLowerCase();
+      },
+      StringPrototypeToUpperCase(self2) {
+        return self2.toUpperCase();
+      },
+      StringPrototypeTrim(self2) {
+        return self2.trim();
+      },
+      Symbol,
+      SymbolFor: Symbol.for,
+      SymbolAsyncIterator: Symbol.asyncIterator,
+      SymbolHasInstance: Symbol.hasInstance,
+      SymbolIterator: Symbol.iterator,
+      SymbolDispose: Symbol.dispose || /* @__PURE__ */ Symbol("Symbol.dispose"),
+      SymbolAsyncDispose: Symbol.asyncDispose || /* @__PURE__ */ Symbol("Symbol.asyncDispose"),
+      TypedArrayPrototypeSet(self2, buf, len) {
+        return self2.set(buf, len);
+      },
+      Boolean,
+      Uint8Array
     };
-    exports2.AccountSASPermissions = AccountSASPermissions;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASResourceTypes.js
-var require_AccountSASResourceTypes = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASResourceTypes.js"(exports2) {
+// node_modules/event-target-shim/dist/event-target-shim.js
+var require_event_target_shim = __commonJS({
+  "node_modules/event-target-shim/dist/event-target-shim.js"(exports2, module2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AccountSASResourceTypes = void 0;
-    var AccountSASResourceTypes = class _AccountSASResourceTypes {
-      /**
-       * Creates an {@link AccountSASResourceTypes} from the specified resource types string. This method will throw an
-       * Error if it encounters a character that does not correspond to a valid resource type.
-       *
-       * @param resourceTypes -
-       */
-      static parse(resourceTypes) {
-        const accountSASResourceTypes = new _AccountSASResourceTypes();
-        for (const c of resourceTypes) {
-          switch (c) {
-            case "s":
-              accountSASResourceTypes.service = true;
-              break;
-            case "c":
-              accountSASResourceTypes.container = true;
-              break;
-            case "o":
-              accountSASResourceTypes.object = true;
-              break;
-            default:
-              throw new RangeError(`Invalid resource type: ${c}`);
-          }
+    var privateData = /* @__PURE__ */ new WeakMap();
+    var wrappers = /* @__PURE__ */ new WeakMap();
+    function pd(event) {
+      const retv = privateData.get(event);
+      console.assert(
+        retv != null,
+        "'this' is expected an Event object, but got",
+        event
+      );
+      return retv;
+    }
+    function setCancelFlag(data) {
+      if (data.passiveListener != null) {
+        if (typeof console !== "undefined" && typeof console.error === "function") {
+          console.error(
+            "Unable to preventDefault inside passive event listener invocation.",
+            data.passiveListener
+          );
+        }
+        return;
+      }
+      if (!data.event.cancelable) {
+        return;
+      }
+      data.canceled = true;
+      if (typeof data.event.preventDefault === "function") {
+        data.event.preventDefault();
+      }
+    }
+    function Event2(eventTarget, event) {
+      privateData.set(this, {
+        eventTarget,
+        event,
+        eventPhase: 2,
+        currentTarget: eventTarget,
+        canceled: false,
+        stopped: false,
+        immediateStopped: false,
+        passiveListener: null,
+        timeStamp: event.timeStamp || Date.now()
+      });
+      Object.defineProperty(this, "isTrusted", { value: false, enumerable: true });
+      const keys = Object.keys(event);
+      for (let i = 0; i < keys.length; ++i) {
+        const key = keys[i];
+        if (!(key in this)) {
+          Object.defineProperty(this, key, defineRedirectDescriptor(key));
         }
-        return accountSASResourceTypes;
       }
+    }
+    Event2.prototype = {
       /**
-       * Permission to access service level APIs granted.
+       * The type of this event.
+       * @type {string}
        */
-      service = false;
+      get type() {
+        return pd(this).event.type;
+      },
       /**
-       * Permission to access container level APIs (Blob Containers, Tables, Queues, File Shares) granted.
+       * The target of this event.
+       * @type {EventTarget}
        */
-      container = false;
+      get target() {
+        return pd(this).eventTarget;
+      },
       /**
-       * Permission to access object level APIs (Blobs, Table Entities, Queue Messages, Files) granted.
+       * The target of this event.
+       * @type {EventTarget}
        */
-      object = false;
+      get currentTarget() {
+        return pd(this).currentTarget;
+      },
       /**
-       * Converts the given resource types to a string.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas
-       *
+       * @returns {EventTarget[]} The composed path of this event.
        */
-      toString() {
-        const resourceTypes = [];
-        if (this.service) {
-          resourceTypes.push("s");
-        }
-        if (this.container) {
-          resourceTypes.push("c");
-        }
-        if (this.object) {
-          resourceTypes.push("o");
+      composedPath() {
+        const currentTarget = pd(this).currentTarget;
+        if (currentTarget == null) {
+          return [];
         }
-        return resourceTypes.join("");
-      }
-    };
-    exports2.AccountSASResourceTypes = AccountSASResourceTypes;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASServices.js
-var require_AccountSASServices = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASServices.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AccountSASServices = void 0;
-    var AccountSASServices = class _AccountSASServices {
+        return [currentTarget];
+      },
       /**
-       * Creates an {@link AccountSASServices} from the specified services string. This method will throw an
-       * Error if it encounters a character that does not correspond to a valid service.
-       *
-       * @param services -
+       * Constant of NONE.
+       * @type {number}
        */
-      static parse(services) {
-        const accountSASServices = new _AccountSASServices();
-        for (const c of services) {
-          switch (c) {
-            case "b":
-              accountSASServices.blob = true;
-              break;
-            case "f":
-              accountSASServices.file = true;
-              break;
-            case "q":
-              accountSASServices.queue = true;
-              break;
-            case "t":
-              accountSASServices.table = true;
-              break;
-            default:
-              throw new RangeError(`Invalid service character: ${c}`);
-          }
-        }
-        return accountSASServices;
-      }
+      get NONE() {
+        return 0;
+      },
       /**
-       * Permission to access blob resources granted.
+       * Constant of CAPTURING_PHASE.
+       * @type {number}
        */
-      blob = false;
+      get CAPTURING_PHASE() {
+        return 1;
+      },
       /**
-       * Permission to access file resources granted.
+       * Constant of AT_TARGET.
+       * @type {number}
        */
-      file = false;
+      get AT_TARGET() {
+        return 2;
+      },
       /**
-       * Permission to access queue resources granted.
+       * Constant of BUBBLING_PHASE.
+       * @type {number}
        */
-      queue = false;
+      get BUBBLING_PHASE() {
+        return 3;
+      },
       /**
-       * Permission to access table resources granted.
+       * The target of this event.
+       * @type {number}
        */
-      table = false;
+      get eventPhase() {
+        return pd(this).eventPhase;
+      },
       /**
-       * Converts the given services to a string.
-       *
+       * Stop event bubbling.
+       * @returns {void}
        */
-      toString() {
-        const services = [];
-        if (this.blob) {
-          services.push("b");
-        }
-        if (this.table) {
-          services.push("t");
-        }
-        if (this.queue) {
-          services.push("q");
-        }
-        if (this.file) {
-          services.push("f");
+      stopPropagation() {
+        const data = pd(this);
+        data.stopped = true;
+        if (typeof data.event.stopPropagation === "function") {
+          data.event.stopPropagation();
         }
-        return services.join("");
-      }
-    };
-    exports2.AccountSASServices = AccountSASServices;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASSignatureValues.js
-var require_AccountSASSignatureValues = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASSignatureValues.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.generateAccountSASQueryParameters = generateAccountSASQueryParameters;
-    exports2.generateAccountSASQueryParametersInternal = generateAccountSASQueryParametersInternal;
-    var AccountSASPermissions_js_1 = require_AccountSASPermissions();
-    var AccountSASResourceTypes_js_1 = require_AccountSASResourceTypes();
-    var AccountSASServices_js_1 = require_AccountSASServices();
-    var SasIPRange_js_1 = require_SasIPRange();
-    var SASQueryParameters_js_1 = require_SASQueryParameters();
-    var constants_js_1 = require_constants15();
-    var utils_common_js_1 = require_utils_common();
-    function generateAccountSASQueryParameters(accountSASSignatureValues, sharedKeyCredential) {
-      return generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential).sasQueryParameters;
-    }
-    function generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential) {
-      const version = accountSASSignatureValues.version ? accountSASSignatureValues.version : constants_js_1.SERVICE_VERSION;
-      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.setImmutabilityPolicy && version < "2020-08-04") {
-        throw RangeError("'version' must be >= '2020-08-04' when provided 'i' permission.");
-      }
-      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.deleteVersion && version < "2019-10-10") {
-        throw RangeError("'version' must be >= '2019-10-10' when provided 'x' permission.");
-      }
-      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.permanentDelete && version < "2019-10-10") {
-        throw RangeError("'version' must be >= '2019-10-10' when provided 'y' permission.");
-      }
-      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.tag && version < "2019-12-12") {
-        throw RangeError("'version' must be >= '2019-12-12' when provided 't' permission.");
-      }
-      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.filter && version < "2019-12-12") {
-        throw RangeError("'version' must be >= '2019-12-12' when provided 'f' permission.");
-      }
-      if (accountSASSignatureValues.encryptionScope && version < "2020-12-06") {
-        throw RangeError("'version' must be >= '2020-12-06' when provided 'encryptionScope' in SAS.");
-      }
-      const parsedPermissions = AccountSASPermissions_js_1.AccountSASPermissions.parse(accountSASSignatureValues.permissions.toString());
-      const parsedServices = AccountSASServices_js_1.AccountSASServices.parse(accountSASSignatureValues.services).toString();
-      const parsedResourceTypes = AccountSASResourceTypes_js_1.AccountSASResourceTypes.parse(accountSASSignatureValues.resourceTypes).toString();
-      let stringToSign;
-      if (version >= "2020-12-06") {
-        stringToSign = [
-          sharedKeyCredential.accountName,
-          parsedPermissions,
-          parsedServices,
-          parsedResourceTypes,
-          accountSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.startsOn, false) : "",
-          (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.expiresOn, false),
-          accountSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(accountSASSignatureValues.ipRange) : "",
-          accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : "",
-          version,
-          accountSASSignatureValues.encryptionScope ? accountSASSignatureValues.encryptionScope : "",
-          ""
-          // Account SAS requires an additional newline character
-        ].join("\n");
-      } else {
-        stringToSign = [
-          sharedKeyCredential.accountName,
-          parsedPermissions,
-          parsedServices,
-          parsedResourceTypes,
-          accountSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.startsOn, false) : "",
-          (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.expiresOn, false),
-          accountSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(accountSASSignatureValues.ipRange) : "",
-          accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : "",
-          version,
-          ""
-          // Account SAS requires an additional newline character
-        ].join("\n");
-      }
-      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(version, signature, parsedPermissions.toString(), parsedServices, parsedResourceTypes, accountSASSignatureValues.protocol, accountSASSignatureValues.startsOn, accountSASSignatureValues.expiresOn, accountSASSignatureValues.ipRange, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, accountSASSignatureValues.encryptionScope),
-        stringToSign
-      };
-    }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/BlobServiceClient.js
-var require_BlobServiceClient = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BlobServiceClient.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobServiceClient = void 0;
-    var core_auth_1 = require_commonjs7();
-    var core_rest_pipeline_1 = require_commonjs6();
-    var core_util_1 = require_commonjs4();
-    var Pipeline_js_1 = require_Pipeline();
-    var ContainerClient_js_1 = require_ContainerClient();
-    var utils_common_js_1 = require_utils_common();
-    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
-    var AnonymousCredential_js_1 = require_AnonymousCredential();
-    var utils_common_js_2 = require_utils_common();
-    var tracing_js_1 = require_tracing();
-    var BlobBatchClient_js_1 = require_BlobBatchClient();
-    var StorageClient_js_1 = require_StorageClient();
-    var AccountSASPermissions_js_1 = require_AccountSASPermissions();
-    var AccountSASSignatureValues_js_1 = require_AccountSASSignatureValues();
-    var AccountSASServices_js_1 = require_AccountSASServices();
-    var BlobServiceClient = class _BlobServiceClient extends StorageClient_js_1.StorageClient {
-      /**
-       * serviceContext provided by protocol layer.
-       */
-      serviceContext;
+      },
       /**
-       *
-       * Creates an instance of BlobServiceClient from connection string.
-       *
-       * @param connectionString - Account connection string or a SAS connection string of an Azure storage account.
-       *                                  [ Note - Account connection string can only be used in NODE.JS runtime. ]
-       *                                  Account connection string example -
-       *                                  `DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=accountKey;EndpointSuffix=core.windows.net`
-       *                                  SAS connection string example -
-       *                                  `BlobEndpoint=https://myaccount.blob.core.windows.net/;QueueEndpoint=https://myaccount.queue.core.windows.net/;FileEndpoint=https://myaccount.file.core.windows.net/;TableEndpoint=https://myaccount.table.core.windows.net/;SharedAccessSignature=sasString`
-       * @param options - Optional. Options to configure the HTTP pipeline.
+       * Stop event bubbling.
+       * @returns {void}
        */
-      static fromConnectionString(connectionString, options) {
-        options = options || {};
-        const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(connectionString);
-        if (extractedCreds.kind === "AccountConnString") {
-          if (core_util_1.isNodeLike) {
-            const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
-            if (!options.proxyOptions) {
-              options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
-            }
-            const pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
-            return new _BlobServiceClient(extractedCreds.url, pipeline);
-          } else {
-            throw new Error("Account connection string is only supported in Node.js environment");
-          }
-        } else if (extractedCreds.kind === "SASConnString") {
-          const pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-          return new _BlobServiceClient(extractedCreds.url + "?" + extractedCreds.accountSas, pipeline);
-        } else {
-          throw new Error("Connection string must be either an Account connection string or a SAS connection string");
-        }
-      }
-      constructor(url, credentialOrPipeline, options) {
-        let pipeline;
-        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipeline)) {
-          pipeline = credentialOrPipeline;
-        } else if (core_util_1.isNodeLike && credentialOrPipeline instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipeline instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipeline)) {
-          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipeline, options);
-        } else {
-          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+      stopImmediatePropagation() {
+        const data = pd(this);
+        data.stopped = true;
+        data.immediateStopped = true;
+        if (typeof data.event.stopImmediatePropagation === "function") {
+          data.event.stopImmediatePropagation();
         }
-        super(url, pipeline);
-        this.serviceContext = this.storageClientContext.service;
-      }
-      /**
-       * Creates a {@link ContainerClient} object
-       *
-       * @param containerName - A container name
-       * @returns A new ContainerClient object for the given container name.
-       *
-       * Example usage:
-       *
-       * ```ts snippet:BlobServiceClientGetContainerClient
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerClient = blobServiceClient.getContainerClient("");
-       * ```
-       */
-      getContainerClient(containerName) {
-        return new ContainerClient_js_1.ContainerClient((0, utils_common_js_1.appendToURLPath)(this.url, encodeURIComponent(containerName)), this.pipeline);
-      }
-      /**
-       * Create a Blob container. @see https://learn.microsoft.com/rest/api/storageservices/create-container
-       *
-       * @param containerName - Name of the container to create.
-       * @param options - Options to configure Container Create operation.
-       * @returns Container creation response and the corresponding container client.
-       */
-      async createContainer(containerName, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-createContainer", options, async (updatedOptions) => {
-          const containerClient = this.getContainerClient(containerName);
-          const containerCreateResponse = await containerClient.create(updatedOptions);
-          return {
-            containerClient,
-            containerCreateResponse
-          };
-        });
-      }
+      },
       /**
-       * Deletes a Blob container.
-       *
-       * @param containerName - Name of the container to delete.
-       * @param options - Options to configure Container Delete operation.
-       * @returns Container deletion response.
+       * The flag to be bubbling.
+       * @type {boolean}
        */
-      async deleteContainer(containerName, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-deleteContainer", options, async (updatedOptions) => {
-          const containerClient = this.getContainerClient(containerName);
-          return containerClient.delete(updatedOptions);
-        });
-      }
+      get bubbles() {
+        return Boolean(pd(this).event.bubbles);
+      },
       /**
-       * Restore a previously deleted Blob container.
-       * This API is only functional if Container Soft Delete is enabled for the storage account associated with the container.
-       *
-       * @param deletedContainerName - Name of the previously deleted container.
-       * @param deletedContainerVersion - Version of the previously deleted container, used to uniquely identify the deleted container.
-       * @param options - Options to configure Container Restore operation.
-       * @returns Container deletion response.
+       * The flag to be cancelable.
+       * @type {boolean}
        */
-      async undeleteContainer(deletedContainerName, deletedContainerVersion, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-undeleteContainer", options, async (updatedOptions) => {
-          const containerClient = this.getContainerClient(options.destinationContainerName || deletedContainerName);
-          const containerContext = containerClient["storageClientContext"].container;
-          const containerUndeleteResponse = (0, utils_common_js_2.assertResponse)(await containerContext.restore({
-            deletedContainerName,
-            deletedContainerVersion,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          return { containerClient, containerUndeleteResponse };
-        });
-      }
+      get cancelable() {
+        return Boolean(pd(this).event.cancelable);
+      },
       /**
-       * Gets the properties of a storage account’s Blob service, including properties
-       * for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-properties
-       *
-       * @param options - Options to the Service Get Properties operation.
-       * @returns Response data for the Service Get Properties operation.
+       * Cancel this event.
+       * @returns {void}
        */
-      async getProperties(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getProperties", options, async (updatedOptions) => {
-          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getProperties({
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
-      }
+      preventDefault() {
+        setCancelFlag(pd(this));
+      },
       /**
-       * Sets properties for a storage account’s Blob service endpoint, including properties
-       * for Storage Analytics, CORS (Cross-Origin Resource Sharing) rules and soft delete settings.
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-service-properties
-       *
-       * @param properties -
-       * @param options - Options to the Service Set Properties operation.
-       * @returns Response data for the Service Set Properties operation.
+       * The flag to indicate cancellation state.
+       * @type {boolean}
        */
-      async setProperties(properties, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-setProperties", options, async (updatedOptions) => {
-          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.setProperties(properties, {
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
-      }
+      get defaultPrevented() {
+        return pd(this).canceled;
+      },
       /**
-       * Retrieves statistics related to replication for the Blob service. It is only
-       * available on the secondary location endpoint when read-access geo-redundant
-       * replication is enabled for the storage account.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-stats
-       *
-       * @param options - Options to the Service Get Statistics operation.
-       * @returns Response data for the Service Get Statistics operation.
+       * The flag to be composed.
+       * @type {boolean}
        */
-      async getStatistics(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getStatistics", options, async (updatedOptions) => {
-          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getStatistics({
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
-      }
+      get composed() {
+        return Boolean(pd(this).event.composed);
+      },
       /**
-       * The Get Account Information operation returns the sku name and account kind
-       * for the specified account.
-       * The Get Account Information operation is available on service versions beginning
-       * with version 2018-03-28.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information
-       *
-       * @param options - Options to the Service Get Account Info operation.
-       * @returns Response data for the Service Get Account Info operation.
+       * The unix time of this event.
+       * @type {number}
        */
-      async getAccountInfo(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getAccountInfo", options, async (updatedOptions) => {
-          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getAccountInfo({
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
-      }
+      get timeStamp() {
+        return pd(this).timeStamp;
+      },
       /**
-       * Returns a list of the containers under the specified account.
-       * @see https://learn.microsoft.com/rest/api/storageservices/list-containers2
-       *
-       * @param marker - A string value that identifies the portion of
-       *                        the list of containers to be returned with the next listing operation. The
-       *                        operation returns the continuationToken value within the response body if the
-       *                        listing operation did not return all containers remaining to be listed
-       *                        with the current page. The continuationToken value can be used as the value for
-       *                        the marker parameter in a subsequent call to request the next page of list
-       *                        items. The marker value is opaque to the client.
-       * @param options - Options to the Service List Container Segment operation.
-       * @returns Response data for the Service List Container Segment operation.
+       * The target of this event.
+       * @type {EventTarget}
+       * @deprecated
        */
-      async listContainersSegment(marker, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-listContainersSegment", options, async (updatedOptions) => {
-          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.listContainersSegment({
-            abortSignal: options.abortSignal,
-            marker,
-            ...options,
-            include: typeof options.include === "string" ? [options.include] : options.include,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
-      }
+      get srcElement() {
+        return pd(this).eventTarget;
+      },
       /**
-       * The Filter Blobs operation enables callers to list blobs across all containers whose tags
-       * match a given search expression. Filter blobs searches across all containers within a
-       * storage account but can be scoped within the expression to a single container.
-       *
-       * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                        The given expression must evaluate to true for a blob to be returned in the results.
-       *                                        The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                        however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param marker - A string value that identifies the portion of
-       *                          the list of blobs to be returned with the next listing operation. The
-       *                          operation returns the continuationToken value within the response body if the
-       *                          listing operation did not return all blobs remaining to be listed
-       *                          with the current page. The continuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of list
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to find blobs by tags.
+       * The flag to stop event bubbling.
+       * @type {boolean}
+       * @deprecated
        */
-      async findBlobsByTagsSegment(tagFilterSqlExpression, marker, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-findBlobsByTagsSegment", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_2.assertResponse)(await this.serviceContext.filterBlobs({
-            abortSignal: options.abortSignal,
-            where: tagFilterSqlExpression,
-            marker,
-            maxPageSize: options.maxPageSize,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const wrappedResponse = {
-            ...response,
-            _response: response._response,
-            // _response is made non-enumerable
-            blobs: response.blobs.map((blob) => {
-              let tagValue = "";
-              if (blob.tags?.blobTagSet.length === 1) {
-                tagValue = blob.tags.blobTagSet[0].value;
-              }
-              return { ...blob, tags: (0, utils_common_js_1.toTags)(blob.tags), tagValue };
-            })
-          };
-          return wrappedResponse;
-        });
-      }
+      get cancelBubble() {
+        return pd(this).stopped;
+      },
+      set cancelBubble(value) {
+        if (!value) {
+          return;
+        }
+        const data = pd(this);
+        data.stopped = true;
+        if (typeof data.event.cancelBubble === "boolean") {
+          data.event.cancelBubble = true;
+        }
+      },
       /**
-       * Returns an AsyncIterableIterator for ServiceFindBlobsByTagsSegmentResponse.
-       *
-       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                         The given expression must evaluate to true for a blob to be returned in the results.
-       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param marker - A string value that identifies the portion of
-       *                          the list of blobs to be returned with the next listing operation. The
-       *                          operation returns the continuationToken value within the response body if the
-       *                          listing operation did not return all blobs remaining to be listed
-       *                          with the current page. The continuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of list
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to find blobs by tags.
+       * The flag to indicate cancellation state.
+       * @type {boolean}
+       * @deprecated
        */
-      async *findBlobsByTagsSegments(tagFilterSqlExpression, marker, options = {}) {
-        let response;
-        if (!!marker || marker === void 0) {
-          do {
-            response = await this.findBlobsByTagsSegment(tagFilterSqlExpression, marker, options);
-            response.blobs = response.blobs || [];
-            marker = response.continuationToken;
-            yield response;
-          } while (marker);
+      get returnValue() {
+        return !pd(this).canceled;
+      },
+      set returnValue(value) {
+        if (!value) {
+          setCancelFlag(pd(this));
         }
-      }
+      },
       /**
-       * Returns an AsyncIterableIterator for blobs.
-       *
-       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                         The given expression must evaluate to true for a blob to be returned in the results.
-       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param options - Options to findBlobsByTagsItems.
+       * Initialize this event object. But do nothing under event dispatching.
+       * @param {string} type The event type.
+       * @param {boolean} [bubbles=false] The flag to be possible to bubble up.
+       * @param {boolean} [cancelable=false] The flag to be possible to cancel.
+       * @deprecated
        */
-      async *findBlobsByTagsItems(tagFilterSqlExpression, options = {}) {
-        let marker;
-        for await (const segment of this.findBlobsByTagsSegments(tagFilterSqlExpression, marker, options)) {
-          yield* segment.blobs;
+      initEvent() {
+      }
+    };
+    Object.defineProperty(Event2.prototype, "constructor", {
+      value: Event2,
+      configurable: true,
+      writable: true
+    });
+    if (typeof window !== "undefined" && typeof window.Event !== "undefined") {
+      Object.setPrototypeOf(Event2.prototype, window.Event.prototype);
+      wrappers.set(window.Event.prototype, Event2);
+    }
+    function defineRedirectDescriptor(key) {
+      return {
+        get() {
+          return pd(this).event[key];
+        },
+        set(value) {
+          pd(this).event[key] = value;
+        },
+        configurable: true,
+        enumerable: true
+      };
+    }
+    function defineCallDescriptor(key) {
+      return {
+        value() {
+          const event = pd(this).event;
+          return event[key].apply(event, arguments);
+        },
+        configurable: true,
+        enumerable: true
+      };
+    }
+    function defineWrapper(BaseEvent, proto) {
+      const keys = Object.keys(proto);
+      if (keys.length === 0) {
+        return BaseEvent;
+      }
+      function CustomEvent(eventTarget, event) {
+        BaseEvent.call(this, eventTarget, event);
+      }
+      CustomEvent.prototype = Object.create(BaseEvent.prototype, {
+        constructor: { value: CustomEvent, configurable: true, writable: true }
+      });
+      for (let i = 0; i < keys.length; ++i) {
+        const key = keys[i];
+        if (!(key in BaseEvent.prototype)) {
+          const descriptor = Object.getOwnPropertyDescriptor(proto, key);
+          const isFunc = typeof descriptor.value === "function";
+          Object.defineProperty(
+            CustomEvent.prototype,
+            key,
+            isFunc ? defineCallDescriptor(key) : defineRedirectDescriptor(key)
+          );
+        }
+      }
+      return CustomEvent;
+    }
+    function getWrapper(proto) {
+      if (proto == null || proto === Object.prototype) {
+        return Event2;
+      }
+      let wrapper = wrappers.get(proto);
+      if (wrapper == null) {
+        wrapper = defineWrapper(getWrapper(Object.getPrototypeOf(proto)), proto);
+        wrappers.set(proto, wrapper);
+      }
+      return wrapper;
+    }
+    function wrapEvent(eventTarget, event) {
+      const Wrapper = getWrapper(Object.getPrototypeOf(event));
+      return new Wrapper(eventTarget, event);
+    }
+    function isStopped(event) {
+      return pd(event).immediateStopped;
+    }
+    function setEventPhase(event, eventPhase) {
+      pd(event).eventPhase = eventPhase;
+    }
+    function setCurrentTarget(event, currentTarget) {
+      pd(event).currentTarget = currentTarget;
+    }
+    function setPassiveListener(event, passiveListener) {
+      pd(event).passiveListener = passiveListener;
+    }
+    var listenersMap = /* @__PURE__ */ new WeakMap();
+    var CAPTURE = 1;
+    var BUBBLE = 2;
+    var ATTRIBUTE = 3;
+    function isObject2(x) {
+      return x !== null && typeof x === "object";
+    }
+    function getListeners(eventTarget) {
+      const listeners = listenersMap.get(eventTarget);
+      if (listeners == null) {
+        throw new TypeError(
+          "'this' is expected an EventTarget object, but got another value."
+        );
+      }
+      return listeners;
+    }
+    function defineEventAttributeDescriptor(eventName) {
+      return {
+        get() {
+          const listeners = getListeners(this);
+          let node = listeners.get(eventName);
+          while (node != null) {
+            if (node.listenerType === ATTRIBUTE) {
+              return node.listener;
+            }
+            node = node.next;
+          }
+          return null;
+        },
+        set(listener) {
+          if (typeof listener !== "function" && !isObject2(listener)) {
+            listener = null;
+          }
+          const listeners = getListeners(this);
+          let prev = null;
+          let node = listeners.get(eventName);
+          while (node != null) {
+            if (node.listenerType === ATTRIBUTE) {
+              if (prev !== null) {
+                prev.next = node.next;
+              } else if (node.next !== null) {
+                listeners.set(eventName, node.next);
+              } else {
+                listeners.delete(eventName);
+              }
+            } else {
+              prev = node;
+            }
+            node = node.next;
+          }
+          if (listener !== null) {
+            const newNode = {
+              listener,
+              listenerType: ATTRIBUTE,
+              passive: false,
+              once: false,
+              next: null
+            };
+            if (prev === null) {
+              listeners.set(eventName, newNode);
+            } else {
+              prev.next = newNode;
+            }
+          }
+        },
+        configurable: true,
+        enumerable: true
+      };
+    }
+    function defineEventAttribute(eventTargetPrototype, eventName) {
+      Object.defineProperty(
+        eventTargetPrototype,
+        `on${eventName}`,
+        defineEventAttributeDescriptor(eventName)
+      );
+    }
+    function defineCustomEventTarget(eventNames) {
+      function CustomEventTarget() {
+        EventTarget2.call(this);
+      }
+      CustomEventTarget.prototype = Object.create(EventTarget2.prototype, {
+        constructor: {
+          value: CustomEventTarget,
+          configurable: true,
+          writable: true
+        }
+      });
+      for (let i = 0; i < eventNames.length; ++i) {
+        defineEventAttribute(CustomEventTarget.prototype, eventNames[i]);
+      }
+      return CustomEventTarget;
+    }
+    function EventTarget2() {
+      if (this instanceof EventTarget2) {
+        listenersMap.set(this, /* @__PURE__ */ new Map());
+        return;
+      }
+      if (arguments.length === 1 && Array.isArray(arguments[0])) {
+        return defineCustomEventTarget(arguments[0]);
+      }
+      if (arguments.length > 0) {
+        const types = new Array(arguments.length);
+        for (let i = 0; i < arguments.length; ++i) {
+          types[i] = arguments[i];
         }
+        return defineCustomEventTarget(types);
       }
+      throw new TypeError("Cannot call a class as a function");
+    }
+    EventTarget2.prototype = {
       /**
-       * Returns an async iterable iterator to find all blobs with specified tag
-       * under the specified account.
-       *
-       * .byPage() returns an async iterable iterator to list the blobs in pages.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-properties
-       *
-       * ```ts snippet:BlobServiceClientFindBlobsByTags
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * // Use for await to iterate the blobs
-       * let i = 1;
-       * for await (const blob of blobServiceClient.findBlobsByTags("tagkey='tagvalue'")) {
-       *   console.log(`Blob ${i++}: ${blob.name}`);
-       * }
-       *
-       * // Use iter.next() to iterate the blobs
-       * i = 1;
-       * const iter = blobServiceClient.findBlobsByTags("tagkey='tagvalue'");
-       * let { value, done } = await iter.next();
-       * while (!done) {
-       *   console.log(`Blob ${i++}: ${value.name}`);
-       *   ({ value, done } = await iter.next());
-       * }
-       *
-       * // Use byPage() to iterate the blobs
-       * i = 1;
-       * for await (const page of blobServiceClient
-       *   .findBlobsByTags("tagkey='tagvalue'")
-       *   .byPage({ maxPageSize: 20 })) {
-       *   for (const blob of page.blobs) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       *
-       * // Use paging with a marker
-       * i = 1;
-       * let iterator = blobServiceClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 2 });
-       * let response = (await iterator.next()).value;
-       * // Prints 2 blob names
-       * if (response.blobs) {
-       *   for (const blob of response.blobs) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       * // Gets next marker
-       * let marker = response.continuationToken;
-       * // Passing next marker as continuationToken
-       * iterator = blobServiceClient
-       *   .findBlobsByTags("tagkey='tagvalue'")
-       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
-       * response = (await iterator.next()).value;
-       *
-       * // Prints blob names
-       * if (response.blobs) {
-       *   for (const blob of response.blobs) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       * ```
-       *
-       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                         The given expression must evaluate to true for a blob to be returned in the results.
-       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param options - Options to find blobs by tags.
+       * Add a given listener to this event target.
+       * @param {string} eventName The event name to add.
+       * @param {Function} listener The listener to add.
+       * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener.
+       * @returns {void}
        */
-      findBlobsByTags(tagFilterSqlExpression, options = {}) {
-        const listSegmentOptions = {
-          ...options
+      addEventListener(eventName, listener, options) {
+        if (listener == null) {
+          return;
+        }
+        if (typeof listener !== "function" && !isObject2(listener)) {
+          throw new TypeError("'listener' should be a function or an object.");
+        }
+        const listeners = getListeners(this);
+        const optionsIsObj = isObject2(options);
+        const capture = optionsIsObj ? Boolean(options.capture) : Boolean(options);
+        const listenerType = capture ? CAPTURE : BUBBLE;
+        const newNode = {
+          listener,
+          listenerType,
+          passive: optionsIsObj && Boolean(options.passive),
+          once: optionsIsObj && Boolean(options.once),
+          next: null
         };
-        const iter = this.findBlobsByTagsItems(tagFilterSqlExpression, listSegmentOptions);
-        return {
-          /**
-           * The next method, part of the iteration protocol
-           */
-          next() {
-            return iter.next();
-          },
-          /**
-           * The connection to the async iterator, part of the iteration protocol
-           */
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          /**
-           * Return an AsyncIterableIterator that works a page at a time
-           */
-          byPage: (settings = {}) => {
-            return this.findBlobsByTagsSegments(tagFilterSqlExpression, settings.continuationToken, {
-              maxPageSize: settings.maxPageSize,
-              ...listSegmentOptions
-            });
+        let node = listeners.get(eventName);
+        if (node === void 0) {
+          listeners.set(eventName, newNode);
+          return;
+        }
+        let prev = null;
+        while (node != null) {
+          if (node.listener === listener && node.listenerType === listenerType) {
+            return;
           }
-        };
-      }
-      /**
-       * Returns an AsyncIterableIterator for ServiceListContainersSegmentResponses
-       *
-       * @param marker - A string value that identifies the portion of
-       *                        the list of containers to be returned with the next listing operation. The
-       *                        operation returns the continuationToken value within the response body if the
-       *                        listing operation did not return all containers remaining to be listed
-       *                        with the current page. The continuationToken value can be used as the value for
-       *                        the marker parameter in a subsequent call to request the next page of list
-       *                        items. The marker value is opaque to the client.
-       * @param options - Options to list containers operation.
-       */
-      async *listSegments(marker, options = {}) {
-        let listContainersSegmentResponse;
-        if (!!marker || marker === void 0) {
-          do {
-            listContainersSegmentResponse = await this.listContainersSegment(marker, options);
-            listContainersSegmentResponse.containerItems = listContainersSegmentResponse.containerItems || [];
-            marker = listContainersSegmentResponse.continuationToken;
-            yield await listContainersSegmentResponse;
-          } while (marker);
+          prev = node;
+          node = node.next;
         }
-      }
+        prev.next = newNode;
+      },
       /**
-       * Returns an AsyncIterableIterator for Container Items
-       *
-       * @param options - Options to list containers operation.
+       * Remove a given listener from this event target.
+       * @param {string} eventName The event name to remove.
+       * @param {Function} listener The listener to remove.
+       * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener.
+       * @returns {void}
        */
-      async *listItems(options = {}) {
-        let marker;
-        for await (const segment of this.listSegments(marker, options)) {
-          yield* segment.containerItems;
+      removeEventListener(eventName, listener, options) {
+        if (listener == null) {
+          return;
         }
-      }
+        const listeners = getListeners(this);
+        const capture = isObject2(options) ? Boolean(options.capture) : Boolean(options);
+        const listenerType = capture ? CAPTURE : BUBBLE;
+        let prev = null;
+        let node = listeners.get(eventName);
+        while (node != null) {
+          if (node.listener === listener && node.listenerType === listenerType) {
+            if (prev !== null) {
+              prev.next = node.next;
+            } else if (node.next !== null) {
+              listeners.set(eventName, node.next);
+            } else {
+              listeners.delete(eventName);
+            }
+            return;
+          }
+          prev = node;
+          node = node.next;
+        }
+      },
       /**
-       * Returns an async iterable iterator to list all the containers
-       * under the specified account.
-       *
-       * .byPage() returns an async iterable iterator to list the containers in pages.
-       *
-       * ```ts snippet:BlobServiceClientListContainers
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * // Use for await to iterate the containers
-       * let i = 1;
-       * for await (const container of blobServiceClient.listContainers()) {
-       *   console.log(`Container ${i++}: ${container.name}`);
-       * }
-       *
-       * // Use iter.next() to iterate the containers
-       * i = 1;
-       * const iter = blobServiceClient.listContainers();
-       * let { value, done } = await iter.next();
-       * while (!done) {
-       *   console.log(`Container ${i++}: ${value.name}`);
-       *   ({ value, done } = await iter.next());
-       * }
-       *
-       * // Use byPage() to iterate the containers
-       * i = 1;
-       * for await (const page of blobServiceClient.listContainers().byPage({ maxPageSize: 20 })) {
-       *   for (const container of page.containerItems) {
-       *     console.log(`Container ${i++}: ${container.name}`);
-       *   }
-       * }
-       *
-       * // Use paging with a marker
-       * i = 1;
-       * let iterator = blobServiceClient.listContainers().byPage({ maxPageSize: 2 });
-       * let response = (await iterator.next()).value;
-       *
-       * // Prints 2 container names
-       * if (response.containerItems) {
-       *   for (const container of response.containerItems) {
-       *     console.log(`Container ${i++}: ${container.name}`);
-       *   }
-       * }
-       *
-       * // Gets next marker
-       * let marker = response.continuationToken;
-       * // Passing next marker as continuationToken
-       * iterator = blobServiceClient
-       *   .listContainers()
-       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
-       * response = (await iterator.next()).value;
-       *
-       * // Prints 10 container names
-       * if (response.containerItems) {
-       *   for (const container of response.containerItems) {
-       *     console.log(`Container ${i++}: ${container.name}`);
-       *   }
-       * }
-       * ```
-       *
-       * @param options - Options to list containers.
-       * @returns An asyncIterableIterator that supports paging.
+       * Dispatch a given event.
+       * @param {Event|{type:string}} event The event to dispatch.
+       * @returns {boolean} `false` if canceled.
        */
-      listContainers(options = {}) {
-        if (options.prefix === "") {
-          options.prefix = void 0;
+      dispatchEvent(event) {
+        if (event == null || typeof event.type !== "string") {
+          throw new TypeError('"event.type" should be a string.');
         }
-        const include = [];
-        if (options.includeDeleted) {
-          include.push("deleted");
+        const listeners = getListeners(this);
+        const eventName = event.type;
+        let node = listeners.get(eventName);
+        if (node == null) {
+          return true;
         }
-        if (options.includeMetadata) {
-          include.push("metadata");
+        const wrappedEvent = wrapEvent(this, event);
+        let prev = null;
+        while (node != null) {
+          if (node.once) {
+            if (prev !== null) {
+              prev.next = node.next;
+            } else if (node.next !== null) {
+              listeners.set(eventName, node.next);
+            } else {
+              listeners.delete(eventName);
+            }
+          } else {
+            prev = node;
+          }
+          setPassiveListener(
+            wrappedEvent,
+            node.passive ? node.listener : null
+          );
+          if (typeof node.listener === "function") {
+            try {
+              node.listener.call(this, wrappedEvent);
+            } catch (err) {
+              if (typeof console !== "undefined" && typeof console.error === "function") {
+                console.error(err);
+              }
+            }
+          } else if (node.listenerType !== ATTRIBUTE && typeof node.listener.handleEvent === "function") {
+            node.listener.handleEvent(wrappedEvent);
+          }
+          if (isStopped(wrappedEvent)) {
+            break;
+          }
+          node = node.next;
         }
-        if (options.includeSystem) {
-          include.push("system");
+        setPassiveListener(wrappedEvent, null);
+        setEventPhase(wrappedEvent, 0);
+        setCurrentTarget(wrappedEvent, null);
+        return !wrappedEvent.defaultPrevented;
+      }
+    };
+    Object.defineProperty(EventTarget2.prototype, "constructor", {
+      value: EventTarget2,
+      configurable: true,
+      writable: true
+    });
+    if (typeof window !== "undefined" && typeof window.EventTarget !== "undefined") {
+      Object.setPrototypeOf(EventTarget2.prototype, window.EventTarget.prototype);
+    }
+    exports2.defineEventAttribute = defineEventAttribute;
+    exports2.EventTarget = EventTarget2;
+    exports2.default = EventTarget2;
+    module2.exports = EventTarget2;
+    module2.exports.EventTarget = module2.exports["default"] = EventTarget2;
+    module2.exports.defineEventAttribute = defineEventAttribute;
+  }
+});
+
+// node_modules/abort-controller/dist/abort-controller.js
+var require_abort_controller = __commonJS({
+  "node_modules/abort-controller/dist/abort-controller.js"(exports2, module2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    var eventTargetShim = require_event_target_shim();
+    var AbortSignal2 = class extends eventTargetShim.EventTarget {
+      /**
+       * AbortSignal cannot be constructed directly.
+       */
+      constructor() {
+        super();
+        throw new TypeError("AbortSignal cannot be constructed directly");
+      }
+      /**
+       * Returns `true` if this `AbortSignal`'s `AbortController` has signaled to abort, and `false` otherwise.
+       */
+      get aborted() {
+        const aborted = abortedFlags.get(this);
+        if (typeof aborted !== "boolean") {
+          throw new TypeError(`Expected 'this' to be an 'AbortSignal' object, but got ${this === null ? "null" : typeof this}`);
         }
-        const listSegmentOptions = {
-          ...options,
-          ...include.length > 0 ? { include } : {}
-        };
-        const iter = this.listItems(listSegmentOptions);
-        return {
-          /**
-           * The next method, part of the iteration protocol
-           */
-          next() {
-            return iter.next();
-          },
-          /**
-           * The connection to the async iterator, part of the iteration protocol
-           */
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          /**
-           * Return an AsyncIterableIterator that works a page at a time
-           */
-          byPage: (settings = {}) => {
-            return this.listSegments(settings.continuationToken, {
-              maxPageSize: settings.maxPageSize,
-              ...listSegmentOptions
-            });
-          }
-        };
+        return aborted;
+      }
+    };
+    eventTargetShim.defineEventAttribute(AbortSignal2.prototype, "abort");
+    function createAbortSignal() {
+      const signal = Object.create(AbortSignal2.prototype);
+      eventTargetShim.EventTarget.call(signal);
+      abortedFlags.set(signal, false);
+      return signal;
+    }
+    function abortSignal(signal) {
+      if (abortedFlags.get(signal) !== false) {
+        return;
       }
+      abortedFlags.set(signal, true);
+      signal.dispatchEvent({ type: "abort" });
+    }
+    var abortedFlags = /* @__PURE__ */ new WeakMap();
+    Object.defineProperties(AbortSignal2.prototype, {
+      aborted: { enumerable: true }
+    });
+    if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") {
+      Object.defineProperty(AbortSignal2.prototype, Symbol.toStringTag, {
+        configurable: true,
+        value: "AbortSignal"
+      });
+    }
+    var AbortController2 = class {
       /**
-       * ONLY AVAILABLE WHEN USING BEARER TOKEN AUTHENTICATION (TokenCredential).
-       *
-       * Retrieves a user delegation key for the Blob service. This is only a valid operation when using
-       * bearer token authentication.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-user-delegation-key
-       *
-       * @param startsOn -      The start time for the user delegation SAS. Must be within 7 days of the current time
-       * @param expiresOn -     The end time for the user delegation SAS. Must be within 7 days of the current time
+       * Initialize this controller.
        */
-      async getUserDelegationKey(startsOn, expiresOn, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getUserDelegationKey", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_2.assertResponse)(await this.serviceContext.getUserDelegationKey({
-            startsOn: (0, utils_common_js_2.truncatedISO8061Date)(startsOn, false),
-            expiresOn: (0, utils_common_js_2.truncatedISO8061Date)(expiresOn, false)
-          }, {
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const userDelegationKey = {
-            signedObjectId: response.signedObjectId,
-            signedTenantId: response.signedTenantId,
-            signedStartsOn: new Date(response.signedStartsOn),
-            signedExpiresOn: new Date(response.signedExpiresOn),
-            signedService: response.signedService,
-            signedVersion: response.signedVersion,
-            value: response.value
-          };
-          const res = {
-            _response: response._response,
-            requestId: response.requestId,
-            clientRequestId: response.clientRequestId,
-            version: response.version,
-            date: response.date,
-            errorCode: response.errorCode,
-            ...userDelegationKey
-          };
-          return res;
-        });
+      constructor() {
+        signals.set(this, createAbortSignal());
       }
       /**
-       * Creates a BlobBatchClient object to conduct batch operations.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch
-       *
-       * @returns A new BlobBatchClient object for this service.
+       * Returns the `AbortSignal` object associated with this object.
        */
-      getBlobBatchClient() {
-        return new BlobBatchClient_js_1.BlobBatchClient(this.url, this.pipeline);
+      get signal() {
+        return getSignal(this);
       }
       /**
-       * Only available for BlobServiceClient constructed with a shared key credential.
-       *
-       * Generates a Blob account Shared Access Signature (SAS) URI based on the client properties
-       * and parameters passed in. The SAS is signed by the shared key credential of the client.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/create-account-sas
-       *
-       * @param expiresOn - Optional. The time at which the shared access signature becomes invalid. Default to an hour later if not provided.
-       * @param permissions - Specifies the list of permissions to be associated with the SAS.
-       * @param resourceTypes - Specifies the resource types associated with the shared access signature.
-       * @param options - Optional parameters.
-       * @returns An account SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       * Abort and signal to any observers that the associated activity is to be aborted.
        */
-      generateAccountSasUrl(expiresOn, permissions = AccountSASPermissions_js_1.AccountSASPermissions.parse("r"), resourceTypes = "sco", options = {}) {
-        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
-          throw RangeError("Can only generate the account SAS when the client is initialized with a shared key credential");
+      abort() {
+        abortSignal(getSignal(this));
+      }
+    };
+    var signals = /* @__PURE__ */ new WeakMap();
+    function getSignal(controller) {
+      const signal = signals.get(controller);
+      if (signal == null) {
+        throw new TypeError(`Expected 'this' to be an 'AbortController' object, but got ${controller === null ? "null" : typeof controller}`);
+      }
+      return signal;
+    }
+    Object.defineProperties(AbortController2.prototype, {
+      signal: { enumerable: true },
+      abort: { enumerable: true }
+    });
+    if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") {
+      Object.defineProperty(AbortController2.prototype, Symbol.toStringTag, {
+        configurable: true,
+        value: "AbortController"
+      });
+    }
+    exports2.AbortController = AbortController2;
+    exports2.AbortSignal = AbortSignal2;
+    exports2.default = AbortController2;
+    module2.exports = AbortController2;
+    module2.exports.AbortController = module2.exports["default"] = AbortController2;
+    module2.exports.AbortSignal = AbortSignal2;
+  }
+});
+
+// node_modules/readable-stream/lib/ours/util.js
+var require_util21 = __commonJS({
+  "node_modules/readable-stream/lib/ours/util.js"(exports2, module2) {
+    "use strict";
+    var bufferModule = require("buffer");
+    var { kResistStopPropagation, SymbolDispose } = require_primordials();
+    var AbortSignal2 = globalThis.AbortSignal || require_abort_controller().AbortSignal;
+    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
+    var AsyncFunction = Object.getPrototypeOf(async function() {
+    }).constructor;
+    var Blob2 = globalThis.Blob || bufferModule.Blob;
+    var isBlob = typeof Blob2 !== "undefined" ? function isBlob2(b) {
+      return b instanceof Blob2;
+    } : function isBlob2(b) {
+      return false;
+    };
+    var validateAbortSignal = (signal, name) => {
+      if (signal !== void 0 && (signal === null || typeof signal !== "object" || !("aborted" in signal))) {
+        throw new ERR_INVALID_ARG_TYPE(name, "AbortSignal", signal);
+      }
+    };
+    var validateFunction = (value, name) => {
+      if (typeof value !== "function") throw new ERR_INVALID_ARG_TYPE(name, "Function", value);
+    };
+    var AggregateError = class extends Error {
+      constructor(errors) {
+        if (!Array.isArray(errors)) {
+          throw new TypeError(`Expected input to be an Array, got ${typeof errors}`);
         }
-        if (expiresOn === void 0) {
-          const now = /* @__PURE__ */ new Date();
-          expiresOn = new Date(now.getTime() + 3600 * 1e3);
+        let message = "";
+        for (let i = 0; i < errors.length; i++) {
+          message += `    ${errors[i].stack}
+`;
+        }
+        super(message);
+        this.name = "AggregateError";
+        this.errors = errors;
+      }
+    };
+    module2.exports = {
+      AggregateError,
+      kEmptyObject: Object.freeze({}),
+      once(callback) {
+        let called = false;
+        return function(...args) {
+          if (called) {
+            return;
+          }
+          called = true;
+          callback.apply(this, args);
+        };
+      },
+      createDeferredPromise: function() {
+        let resolve3;
+        let reject;
+        const promise = new Promise((res, rej) => {
+          resolve3 = res;
+          reject = rej;
+        });
+        return {
+          promise,
+          resolve: resolve3,
+          reject
+        };
+      },
+      promisify(fn) {
+        return new Promise((resolve3, reject) => {
+          fn((err, ...args) => {
+            if (err) {
+              return reject(err);
+            }
+            return resolve3(...args);
+          });
+        });
+      },
+      debuglog() {
+        return function() {
+        };
+      },
+      format(format, ...args) {
+        return format.replace(/%([sdifj])/g, function(...[_unused, type2]) {
+          const replacement = args.shift();
+          if (type2 === "f") {
+            return replacement.toFixed(6);
+          } else if (type2 === "j") {
+            return JSON.stringify(replacement);
+          } else if (type2 === "s" && typeof replacement === "object") {
+            const ctor = replacement.constructor !== Object ? replacement.constructor.name : "";
+            return `${ctor} {}`.trim();
+          } else {
+            return replacement.toString();
+          }
+        });
+      },
+      inspect(value) {
+        switch (typeof value) {
+          case "string":
+            if (value.includes("'")) {
+              if (!value.includes('"')) {
+                return `"${value}"`;
+              } else if (!value.includes("`") && !value.includes("${")) {
+                return `\`${value}\``;
+              }
+            }
+            return `'${value}'`;
+          case "number":
+            if (isNaN(value)) {
+              return "NaN";
+            } else if (Object.is(value, -0)) {
+              return String(value);
+            }
+            return value;
+          case "bigint":
+            return `${String(value)}n`;
+          case "boolean":
+          case "undefined":
+            return String(value);
+          case "object":
+            return "{}";
+        }
+      },
+      types: {
+        isAsyncFunction(fn) {
+          return fn instanceof AsyncFunction;
+        },
+        isArrayBufferView(arr) {
+          return ArrayBuffer.isView(arr);
         }
-        const sas = (0, AccountSASSignatureValues_js_1.generateAccountSASQueryParameters)({
-          permissions,
-          expiresOn,
-          resourceTypes,
-          services: AccountSASServices_js_1.AccountSASServices.parse("b").toString(),
-          ...options
-        }, this.credential).toString();
-        return (0, utils_common_js_1.appendToURLQuery)(this.url, sas);
-      }
-      /**
-       * Only available for BlobServiceClient constructed with a shared key credential.
-       *
-       * Generates string to sign for a Blob account Shared Access Signature (SAS) URI based on
-       * the client properties and parameters passed in. The SAS is signed by the shared key credential of the client.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/create-account-sas
-       *
-       * @param expiresOn - Optional. The time at which the shared access signature becomes invalid. Default to an hour later if not provided.
-       * @param permissions - Specifies the list of permissions to be associated with the SAS.
-       * @param resourceTypes - Specifies the resource types associated with the shared access signature.
-       * @param options - Optional parameters.
-       * @returns An account SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateSasStringToSign(expiresOn, permissions = AccountSASPermissions_js_1.AccountSASPermissions.parse("r"), resourceTypes = "sco", options = {}) {
-        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
-          throw RangeError("Can only generate the account SAS when the client is initialized with a shared key credential");
+      },
+      isBlob,
+      deprecate(fn, message) {
+        return fn;
+      },
+      addAbortListener: require("events").addAbortListener || function addAbortListener(signal, listener) {
+        if (signal === void 0) {
+          throw new ERR_INVALID_ARG_TYPE("signal", "AbortSignal", signal);
         }
-        if (expiresOn === void 0) {
-          const now = /* @__PURE__ */ new Date();
-          expiresOn = new Date(now.getTime() + 3600 * 1e3);
+        validateAbortSignal(signal, "signal");
+        validateFunction(listener, "listener");
+        let removeEventListener;
+        if (signal.aborted) {
+          queueMicrotask(() => listener());
+        } else {
+          signal.addEventListener("abort", listener, {
+            __proto__: null,
+            once: true,
+            [kResistStopPropagation]: true
+          });
+          removeEventListener = () => {
+            signal.removeEventListener("abort", listener);
+          };
         }
-        return (0, AccountSASSignatureValues_js_1.generateAccountSASQueryParametersInternal)({
-          permissions,
-          expiresOn,
-          resourceTypes,
-          services: AccountSASServices_js_1.AccountSASServices.parse("b").toString(),
-          ...options
-        }, this.credential).stringToSign;
+        return {
+          __proto__: null,
+          [SymbolDispose]() {
+            var _removeEventListener;
+            (_removeEventListener = removeEventListener) === null || _removeEventListener === void 0 ? void 0 : _removeEventListener();
+          }
+        };
+      },
+      AbortSignalAny: AbortSignal2.any || function AbortSignalAny(signals) {
+        if (signals.length === 1) {
+          return signals[0];
+        }
+        const ac = new AbortController2();
+        const abort = () => ac.abort();
+        signals.forEach((signal) => {
+          validateAbortSignal(signal, "signals");
+          signal.addEventListener("abort", abort, {
+            once: true
+          });
+        });
+        ac.signal.addEventListener(
+          "abort",
+          () => {
+            signals.forEach((signal) => signal.removeEventListener("abort", abort));
+          },
+          {
+            once: true
+          }
+        );
+        return ac.signal;
       }
     };
-    exports2.BlobServiceClient = BlobServiceClient;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/BatchResponse.js
-var require_BatchResponse = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BatchResponse.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/generatedModels.js
-var require_generatedModels = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generatedModels.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.KnownEncryptionAlgorithmType = void 0;
-    var KnownEncryptionAlgorithmType;
-    (function(KnownEncryptionAlgorithmType2) {
-      KnownEncryptionAlgorithmType2["AES256"] = "AES256";
-    })(KnownEncryptionAlgorithmType || (exports2.KnownEncryptionAlgorithmType = KnownEncryptionAlgorithmType = {}));
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/index.js
-var require_commonjs15 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.logger = exports2.RestError = exports2.BaseRequestPolicy = exports2.StorageOAuthScopes = exports2.newPipeline = exports2.isPipelineLike = exports2.Pipeline = exports2.getBlobServiceAccountAudience = exports2.StorageBlobAudience = exports2.PremiumPageBlobTier = exports2.BlockBlobTier = exports2.generateBlobSASQueryParameters = exports2.generateAccountSASQueryParameters = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var core_rest_pipeline_1 = require_commonjs6();
-    Object.defineProperty(exports2, "RestError", { enumerable: true, get: function() {
-      return core_rest_pipeline_1.RestError;
-    } });
-    tslib_1.__exportStar(require_BlobServiceClient(), exports2);
-    tslib_1.__exportStar(require_Clients(), exports2);
-    tslib_1.__exportStar(require_ContainerClient(), exports2);
-    tslib_1.__exportStar(require_BlobLeaseClient(), exports2);
-    tslib_1.__exportStar(require_AccountSASPermissions(), exports2);
-    tslib_1.__exportStar(require_AccountSASResourceTypes(), exports2);
-    tslib_1.__exportStar(require_AccountSASServices(), exports2);
-    var AccountSASSignatureValues_js_1 = require_AccountSASSignatureValues();
-    Object.defineProperty(exports2, "generateAccountSASQueryParameters", { enumerable: true, get: function() {
-      return AccountSASSignatureValues_js_1.generateAccountSASQueryParameters;
-    } });
-    tslib_1.__exportStar(require_BlobBatch(), exports2);
-    tslib_1.__exportStar(require_BlobBatchClient(), exports2);
-    tslib_1.__exportStar(require_BatchResponse(), exports2);
-    tslib_1.__exportStar(require_BlobSASPermissions(), exports2);
-    var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues();
-    Object.defineProperty(exports2, "generateBlobSASQueryParameters", { enumerable: true, get: function() {
-      return BlobSASSignatureValues_js_1.generateBlobSASQueryParameters;
-    } });
-    tslib_1.__exportStar(require_StorageBrowserPolicyFactory2(), exports2);
-    tslib_1.__exportStar(require_ContainerSASPermissions(), exports2);
-    tslib_1.__exportStar(require_AnonymousCredential(), exports2);
-    tslib_1.__exportStar(require_Credential(), exports2);
-    tslib_1.__exportStar(require_StorageSharedKeyCredential(), exports2);
-    var models_js_1 = require_models2();
-    Object.defineProperty(exports2, "BlockBlobTier", { enumerable: true, get: function() {
-      return models_js_1.BlockBlobTier;
-    } });
-    Object.defineProperty(exports2, "PremiumPageBlobTier", { enumerable: true, get: function() {
-      return models_js_1.PremiumPageBlobTier;
-    } });
-    Object.defineProperty(exports2, "StorageBlobAudience", { enumerable: true, get: function() {
-      return models_js_1.StorageBlobAudience;
-    } });
-    Object.defineProperty(exports2, "getBlobServiceAccountAudience", { enumerable: true, get: function() {
-      return models_js_1.getBlobServiceAccountAudience;
-    } });
-    var Pipeline_js_1 = require_Pipeline();
-    Object.defineProperty(exports2, "Pipeline", { enumerable: true, get: function() {
-      return Pipeline_js_1.Pipeline;
-    } });
-    Object.defineProperty(exports2, "isPipelineLike", { enumerable: true, get: function() {
-      return Pipeline_js_1.isPipelineLike;
-    } });
-    Object.defineProperty(exports2, "newPipeline", { enumerable: true, get: function() {
-      return Pipeline_js_1.newPipeline;
-    } });
-    Object.defineProperty(exports2, "StorageOAuthScopes", { enumerable: true, get: function() {
-      return Pipeline_js_1.StorageOAuthScopes;
-    } });
-    tslib_1.__exportStar(require_StorageRetryPolicyFactory(), exports2);
-    var RequestPolicy_js_1 = require_RequestPolicy();
-    Object.defineProperty(exports2, "BaseRequestPolicy", { enumerable: true, get: function() {
-      return RequestPolicy_js_1.BaseRequestPolicy;
-    } });
-    tslib_1.__exportStar(require_AnonymousCredentialPolicy(), exports2);
-    tslib_1.__exportStar(require_CredentialPolicy(), exports2);
-    tslib_1.__exportStar(require_StorageRetryPolicyFactory(), exports2);
-    tslib_1.__exportStar(require_StorageSharedKeyCredentialPolicy(), exports2);
-    tslib_1.__exportStar(require_SASQueryParameters(), exports2);
-    tslib_1.__exportStar(require_generatedModels(), exports2);
-    var log_js_1 = require_log5();
-    Object.defineProperty(exports2, "logger", { enumerable: true, get: function() {
-      return log_js_1.logger;
-    } });
+    module2.exports.promisify.custom = /* @__PURE__ */ Symbol.for("nodejs.util.promisify.custom");
   }
 });
 
-// node_modules/@actions/cache/lib/internal/shared/errors.js
-var require_errors3 = __commonJS({
-  "node_modules/@actions/cache/lib/internal/shared/errors.js"(exports2) {
+// node_modules/readable-stream/lib/ours/errors.js
+var require_errors5 = __commonJS({
+  "node_modules/readable-stream/lib/ours/errors.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.RateLimitError = exports2.UsageError = exports2.NetworkError = exports2.GHESNotSupportedError = exports2.CacheNotFoundError = exports2.InvalidResponseError = exports2.FilesNotFoundError = void 0;
-    var FilesNotFoundError = class extends Error {
-      constructor(files = []) {
-        let message = "No files were found to upload";
-        if (files.length > 0) {
-          message += `: ${files.join(", ")}`;
-        }
-        super(message);
-        this.files = files;
-        this.name = "FilesNotFoundError";
+    var { format, inspect, AggregateError: CustomAggregateError } = require_util21();
+    var AggregateError = globalThis.AggregateError || CustomAggregateError;
+    var kIsNodeError = /* @__PURE__ */ Symbol("kIsNodeError");
+    var kTypes = [
+      "string",
+      "function",
+      "number",
+      "object",
+      // Accept 'Function' and 'Object' as alternative to the lower cased version.
+      "Function",
+      "Object",
+      "boolean",
+      "bigint",
+      "symbol"
+    ];
+    var classRegExp = /^([A-Z][a-z0-9]*)+$/;
+    var nodeInternalPrefix = "__node_internal_";
+    var codes = {};
+    function assert(value, message) {
+      if (!value) {
+        throw new codes.ERR_INTERNAL_ASSERTION(message);
       }
-    };
-    exports2.FilesNotFoundError = FilesNotFoundError;
-    var InvalidResponseError = class extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "InvalidResponseError";
+    }
+    function addNumericalSeparator(val) {
+      let res = "";
+      let i = val.length;
+      const start = val[0] === "-" ? 1 : 0;
+      for (; i >= start + 4; i -= 3) {
+        res = `_${val.slice(i - 3, i)}${res}`;
       }
-    };
-    exports2.InvalidResponseError = InvalidResponseError;
-    var CacheNotFoundError = class extends Error {
-      constructor(message = "Cache not found") {
-        super(message);
-        this.name = "CacheNotFoundError";
+      return `${val.slice(0, i)}${res}`;
+    }
+    function getMessage(key, msg, args) {
+      if (typeof msg === "function") {
+        assert(
+          msg.length <= args.length,
+          // Default options do not count.
+          `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${msg.length}).`
+        );
+        return msg(...args);
       }
-    };
-    exports2.CacheNotFoundError = CacheNotFoundError;
-    var GHESNotSupportedError = class extends Error {
-      constructor(message = "@actions/cache v4.1.4+, actions/cache/save@v4+ and actions/cache/restore@v4+ are not currently supported on GHES.") {
-        super(message);
-        this.name = "GHESNotSupportedError";
+      const expectedLength = (msg.match(/%[dfijoOs]/g) || []).length;
+      assert(
+        expectedLength === args.length,
+        `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${expectedLength}).`
+      );
+      if (args.length === 0) {
+        return msg;
       }
-    };
-    exports2.GHESNotSupportedError = GHESNotSupportedError;
-    var NetworkError = class extends Error {
-      constructor(code) {
-        const message = `Unable to make request: ${code}
-If you are using self-hosted runners, please make sure your runner has access to all GitHub endpoints: https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#communication-between-self-hosted-runners-and-github`;
-        super(message);
-        this.code = code;
-        this.name = "NetworkError";
+      return format(msg, ...args);
+    }
+    function E(code, message, Base) {
+      if (!Base) {
+        Base = Error;
       }
-    };
-    exports2.NetworkError = NetworkError;
-    NetworkError.isNetworkErrorCode = (code) => {
-      if (!code)
-        return false;
-      return [
-        "ECONNRESET",
-        "ENOTFOUND",
-        "ETIMEDOUT",
-        "ECONNREFUSED",
-        "EHOSTUNREACH"
-      ].includes(code);
-    };
-    var UsageError = class extends Error {
-      constructor() {
-        const message = `Cache storage quota has been hit. Unable to upload any new cache entries. Usage is recalculated every 6-12 hours.
-More info on storage limits: https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#calculating-minute-and-storage-spending`;
-        super(message);
-        this.name = "UsageError";
+      class NodeError extends Base {
+        constructor(...args) {
+          super(getMessage(code, message, args));
+        }
+        toString() {
+          return `${this.name} [${code}]: ${this.message}`;
+        }
       }
-    };
-    exports2.UsageError = UsageError;
-    UsageError.isUsageErrorMessage = (msg) => {
-      if (!msg)
-        return false;
-      return msg.includes("insufficient usage");
-    };
-    var RateLimitError = class extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "RateLimitError";
+      Object.defineProperties(NodeError.prototype, {
+        name: {
+          value: Base.name,
+          writable: true,
+          enumerable: false,
+          configurable: true
+        },
+        toString: {
+          value() {
+            return `${this.name} [${code}]: ${this.message}`;
+          },
+          writable: true,
+          enumerable: false,
+          configurable: true
+        }
+      });
+      NodeError.prototype.code = code;
+      NodeError.prototype[kIsNodeError] = true;
+      codes[code] = NodeError;
+    }
+    function hideStackFrames(fn) {
+      const hidden = nodeInternalPrefix + fn.name;
+      Object.defineProperty(fn, "name", {
+        value: hidden
+      });
+      return fn;
+    }
+    function aggregateTwoErrors(innerError, outerError) {
+      if (innerError && outerError && innerError !== outerError) {
+        if (Array.isArray(outerError.errors)) {
+          outerError.errors.push(innerError);
+          return outerError;
+        }
+        const err = new AggregateError([outerError, innerError], outerError.message);
+        err.code = outerError.code;
+        return err;
+      }
+      return innerError || outerError;
+    }
+    var AbortError = class extends Error {
+      constructor(message = "The operation was aborted", options = void 0) {
+        if (options !== void 0 && typeof options !== "object") {
+          throw new codes.ERR_INVALID_ARG_TYPE("options", "Object", options);
+        }
+        super(message, options);
+        this.code = "ABORT_ERR";
+        this.name = "AbortError";
       }
     };
-    exports2.RateLimitError = RateLimitError;
+    E("ERR_ASSERTION", "%s", Error);
+    E(
+      "ERR_INVALID_ARG_TYPE",
+      (name, expected, actual) => {
+        assert(typeof name === "string", "'name' must be a string");
+        if (!Array.isArray(expected)) {
+          expected = [expected];
+        }
+        let msg = "The ";
+        if (name.endsWith(" argument")) {
+          msg += `${name} `;
+        } else {
+          msg += `"${name}" ${name.includes(".") ? "property" : "argument"} `;
+        }
+        msg += "must be ";
+        const types = [];
+        const instances = [];
+        const other = [];
+        for (const value of expected) {
+          assert(typeof value === "string", "All expected entries have to be of type string");
+          if (kTypes.includes(value)) {
+            types.push(value.toLowerCase());
+          } else if (classRegExp.test(value)) {
+            instances.push(value);
+          } else {
+            assert(value !== "object", 'The value "object" should be written as "Object"');
+            other.push(value);
+          }
+        }
+        if (instances.length > 0) {
+          const pos = types.indexOf("object");
+          if (pos !== -1) {
+            types.splice(types, pos, 1);
+            instances.push("Object");
+          }
+        }
+        if (types.length > 0) {
+          switch (types.length) {
+            case 1:
+              msg += `of type ${types[0]}`;
+              break;
+            case 2:
+              msg += `one of type ${types[0]} or ${types[1]}`;
+              break;
+            default: {
+              const last = types.pop();
+              msg += `one of type ${types.join(", ")}, or ${last}`;
+            }
+          }
+          if (instances.length > 0 || other.length > 0) {
+            msg += " or ";
+          }
+        }
+        if (instances.length > 0) {
+          switch (instances.length) {
+            case 1:
+              msg += `an instance of ${instances[0]}`;
+              break;
+            case 2:
+              msg += `an instance of ${instances[0]} or ${instances[1]}`;
+              break;
+            default: {
+              const last = instances.pop();
+              msg += `an instance of ${instances.join(", ")}, or ${last}`;
+            }
+          }
+          if (other.length > 0) {
+            msg += " or ";
+          }
+        }
+        switch (other.length) {
+          case 0:
+            break;
+          case 1:
+            if (other[0].toLowerCase() !== other[0]) {
+              msg += "an ";
+            }
+            msg += `${other[0]}`;
+            break;
+          case 2:
+            msg += `one of ${other[0]} or ${other[1]}`;
+            break;
+          default: {
+            const last = other.pop();
+            msg += `one of ${other.join(", ")}, or ${last}`;
+          }
+        }
+        if (actual == null) {
+          msg += `. Received ${actual}`;
+        } else if (typeof actual === "function" && actual.name) {
+          msg += `. Received function ${actual.name}`;
+        } else if (typeof actual === "object") {
+          var _actual$constructor;
+          if ((_actual$constructor = actual.constructor) !== null && _actual$constructor !== void 0 && _actual$constructor.name) {
+            msg += `. Received an instance of ${actual.constructor.name}`;
+          } else {
+            const inspected = inspect(actual, {
+              depth: -1
+            });
+            msg += `. Received ${inspected}`;
+          }
+        } else {
+          let inspected = inspect(actual, {
+            colors: false
+          });
+          if (inspected.length > 25) {
+            inspected = `${inspected.slice(0, 25)}...`;
+          }
+          msg += `. Received type ${typeof actual} (${inspected})`;
+        }
+        return msg;
+      },
+      TypeError
+    );
+    E(
+      "ERR_INVALID_ARG_VALUE",
+      (name, value, reason = "is invalid") => {
+        let inspected = inspect(value);
+        if (inspected.length > 128) {
+          inspected = inspected.slice(0, 128) + "...";
+        }
+        const type2 = name.includes(".") ? "property" : "argument";
+        return `The ${type2} '${name}' ${reason}. Received ${inspected}`;
+      },
+      TypeError
+    );
+    E(
+      "ERR_INVALID_RETURN_VALUE",
+      (input, name, value) => {
+        var _value$constructor;
+        const type2 = value !== null && value !== void 0 && (_value$constructor = value.constructor) !== null && _value$constructor !== void 0 && _value$constructor.name ? `instance of ${value.constructor.name}` : `type ${typeof value}`;
+        return `Expected ${input} to be returned from the "${name}" function but got ${type2}.`;
+      },
+      TypeError
+    );
+    E(
+      "ERR_MISSING_ARGS",
+      (...args) => {
+        assert(args.length > 0, "At least one arg needs to be specified");
+        let msg;
+        const len = args.length;
+        args = (Array.isArray(args) ? args : [args]).map((a) => `"${a}"`).join(" or ");
+        switch (len) {
+          case 1:
+            msg += `The ${args[0]} argument`;
+            break;
+          case 2:
+            msg += `The ${args[0]} and ${args[1]} arguments`;
+            break;
+          default:
+            {
+              const last = args.pop();
+              msg += `The ${args.join(", ")}, and ${last} arguments`;
+            }
+            break;
+        }
+        return `${msg} must be specified`;
+      },
+      TypeError
+    );
+    E(
+      "ERR_OUT_OF_RANGE",
+      (str2, range, input) => {
+        assert(range, 'Missing "range" argument');
+        let received;
+        if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {
+          received = addNumericalSeparator(String(input));
+        } else if (typeof input === "bigint") {
+          received = String(input);
+          if (input > 2n ** 32n || input < -(2n ** 32n)) {
+            received = addNumericalSeparator(received);
+          }
+          received += "n";
+        } else {
+          received = inspect(input);
+        }
+        return `The value of "${str2}" is out of range. It must be ${range}. Received ${received}`;
+      },
+      RangeError
+    );
+    E("ERR_MULTIPLE_CALLBACK", "Callback called multiple times", Error);
+    E("ERR_METHOD_NOT_IMPLEMENTED", "The %s method is not implemented", Error);
+    E("ERR_STREAM_ALREADY_FINISHED", "Cannot call %s after a stream was finished", Error);
+    E("ERR_STREAM_CANNOT_PIPE", "Cannot pipe, not readable", Error);
+    E("ERR_STREAM_DESTROYED", "Cannot call %s after a stream was destroyed", Error);
+    E("ERR_STREAM_NULL_VALUES", "May not write null values to stream", TypeError);
+    E("ERR_STREAM_PREMATURE_CLOSE", "Premature close", Error);
+    E("ERR_STREAM_PUSH_AFTER_EOF", "stream.push() after EOF", Error);
+    E("ERR_STREAM_UNSHIFT_AFTER_END_EVENT", "stream.unshift() after end event", Error);
+    E("ERR_STREAM_WRITE_AFTER_END", "write after end", Error);
+    E("ERR_UNKNOWN_ENCODING", "Unknown encoding: %s", TypeError);
+    module2.exports = {
+      AbortError,
+      aggregateTwoErrors: hideStackFrames(aggregateTwoErrors),
+      hideStackFrames,
+      codes
+    };
   }
 });
 
-// node_modules/@actions/cache/lib/internal/uploadUtils.js
-var require_uploadUtils = __commonJS({
-  "node_modules/@actions/cache/lib/internal/uploadUtils.js"(exports2) {
+// node_modules/readable-stream/lib/internal/validators.js
+var require_validators = __commonJS({
+  "node_modules/readable-stream/lib/internal/validators.js"(exports2, module2) {
     "use strict";
-    var __createBinding2 = 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 {
+      ArrayIsArray,
+      ArrayPrototypeIncludes,
+      ArrayPrototypeJoin,
+      ArrayPrototypeMap,
+      NumberIsInteger,
+      NumberIsNaN,
+      NumberMAX_SAFE_INTEGER,
+      NumberMIN_SAFE_INTEGER,
+      NumberParseInt,
+      ObjectPrototypeHasOwnProperty,
+      RegExpPrototypeExec,
+      String: String2,
+      StringPrototypeToUpperCase,
+      StringPrototypeTrim
+    } = require_primordials();
+    var {
+      hideStackFrames,
+      codes: { ERR_SOCKET_BAD_PORT, ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_ARG_VALUE, ERR_OUT_OF_RANGE, ERR_UNKNOWN_SIGNAL }
+    } = require_errors5();
+    var { normalizeEncoding } = require_util21();
+    var { isAsyncFunction, isArrayBufferView } = require_util21().types;
+    var signals = {};
+    function isInt32(value) {
+      return value === (value | 0);
+    }
+    function isUint32(value) {
+      return value === value >>> 0;
+    }
+    var octalReg = /^[0-7]+$/;
+    var modeDesc = "must be a 32-bit unsigned integer or an octal string";
+    function parseFileMode(value, name, def) {
+      if (typeof value === "undefined") {
+        value = def;
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = 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 ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+      if (typeof value === "string") {
+        if (RegExpPrototypeExec(octalReg, value) === null) {
+          throw new ERR_INVALID_ARG_VALUE(name, value, modeDesc);
         }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve3) {
-          resolve3(value);
-        });
+        value = NumberParseInt(value, 8);
       }
-      return new (P || (P = Promise))(function(resolve3, 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 ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.UploadProgress = void 0;
-    exports2.uploadCacheArchiveSDK = uploadCacheArchiveSDK;
-    var core14 = __importStar2(require_core());
-    var storage_blob_1 = require_commonjs15();
-    var errors_1 = require_errors3();
-    var UploadProgress = class {
-      constructor(contentLength) {
-        this.contentLength = contentLength;
-        this.sentBytes = 0;
-        this.displayedComplete = false;
-        this.startTime = Date.now();
+      validateUint32(value, name);
+      return value;
+    }
+    var validateInteger = hideStackFrames((value, name, min = NumberMIN_SAFE_INTEGER, max = NumberMAX_SAFE_INTEGER) => {
+      if (typeof value !== "number") throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
+      if (!NumberIsInteger(value)) throw new ERR_OUT_OF_RANGE(name, "an integer", value);
+      if (value < min || value > max) throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
+    });
+    var validateInt32 = hideStackFrames((value, name, min = -2147483648, max = 2147483647) => {
+      if (typeof value !== "number") {
+        throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
       }
-      /**
-       * Sets the number of bytes sent
-       *
-       * @param sentBytes the number of bytes sent
-       */
-      setSentBytes(sentBytes) {
-        this.sentBytes = sentBytes;
+      if (!NumberIsInteger(value)) {
+        throw new ERR_OUT_OF_RANGE(name, "an integer", value);
       }
-      /**
-       * Returns the total number of bytes transferred.
-       */
-      getTransferredBytes() {
-        return this.sentBytes;
+      if (value < min || value > max) {
+        throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
       }
-      /**
-       * Returns true if the upload is complete.
-       */
-      isDone() {
-        return this.getTransferredBytes() === this.contentLength;
+    });
+    var validateUint32 = hideStackFrames((value, name, positive = false) => {
+      if (typeof value !== "number") {
+        throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
       }
-      /**
-       * Prints the current upload stats. Once the upload completes, this will print one
-       * last line and then stop.
-       */
-      display() {
-        if (this.displayedComplete) {
-          return;
-        }
-        const transferredBytes = this.sentBytes;
-        const percentage = (100 * (transferredBytes / this.contentLength)).toFixed(1);
-        const elapsedTime = Date.now() - this.startTime;
-        const uploadSpeed = (transferredBytes / (1024 * 1024) / (elapsedTime / 1e3)).toFixed(1);
-        core14.info(`Sent ${transferredBytes} of ${this.contentLength} (${percentage}%), ${uploadSpeed} MBs/sec`);
-        if (this.isDone()) {
-          this.displayedComplete = true;
-        }
+      if (!NumberIsInteger(value)) {
+        throw new ERR_OUT_OF_RANGE(name, "an integer", value);
       }
-      /**
-       * Returns a function used to handle TransferProgressEvents.
-       */
-      onProgress() {
-        return (progress) => {
-          this.setSentBytes(progress.loadedBytes);
-        };
+      const min = positive ? 1 : 0;
+      const max = 4294967295;
+      if (value < min || value > max) {
+        throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
       }
-      /**
-       * Starts the timer that displays the stats.
-       *
-       * @param delayInMs the delay between each write
-       */
-      startDisplayTimer(delayInMs = 1e3) {
-        const displayCallback = () => {
-          this.display();
-          if (!this.isDone()) {
-            this.timeoutHandle = setTimeout(displayCallback, delayInMs);
-          }
-        };
-        this.timeoutHandle = setTimeout(displayCallback, delayInMs);
+    });
+    function validateString(value, name) {
+      if (typeof value !== "string") throw new ERR_INVALID_ARG_TYPE2(name, "string", value);
+    }
+    function validateNumber(value, name, min = void 0, max) {
+      if (typeof value !== "number") throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
+      if (min != null && value < min || max != null && value > max || (min != null || max != null) && NumberIsNaN(value)) {
+        throw new ERR_OUT_OF_RANGE(
+          name,
+          `${min != null ? `>= ${min}` : ""}${min != null && max != null ? " && " : ""}${max != null ? `<= ${max}` : ""}`,
+          value
+        );
       }
-      /**
-       * Stops the timer that displays the stats. As this typically indicates the upload
-       * is complete, this will display one last line, unless the last line has already
-       * been written.
-       */
-      stopDisplayTimer() {
-        if (this.timeoutHandle) {
-          clearTimeout(this.timeoutHandle);
-          this.timeoutHandle = void 0;
-        }
-        this.display();
+    }
+    var validateOneOf = hideStackFrames((value, name, oneOf) => {
+      if (!ArrayPrototypeIncludes(oneOf, value)) {
+        const allowed = ArrayPrototypeJoin(
+          ArrayPrototypeMap(oneOf, (v) => typeof v === "string" ? `'${v}'` : String2(v)),
+          ", "
+        );
+        const reason = "must be one of: " + allowed;
+        throw new ERR_INVALID_ARG_VALUE(name, value, reason);
       }
-    };
-    exports2.UploadProgress = UploadProgress;
-    function uploadCacheArchiveSDK(signedUploadURL, archivePath, options) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        var _a;
-        const blobClient = new storage_blob_1.BlobClient(signedUploadURL);
-        const blockBlobClient = blobClient.getBlockBlobClient();
-        const uploadProgress = new UploadProgress((_a = options === null || options === void 0 ? void 0 : options.archiveSizeBytes) !== null && _a !== void 0 ? _a : 0);
-        const uploadOptions = {
-          blockSize: options === null || options === void 0 ? void 0 : options.uploadChunkSize,
-          concurrency: options === null || options === void 0 ? void 0 : options.uploadConcurrency,
-          // maximum number of parallel transfer workers
-          maxSingleShotSize: 128 * 1024 * 1024,
-          // 128 MiB initial transfer size
-          onProgress: uploadProgress.onProgress()
-        };
-        try {
-          uploadProgress.startDisplayTimer();
-          core14.debug(`BlobClient: ${blobClient.name}:${blobClient.accountName}:${blobClient.containerName}`);
-          const response = yield blockBlobClient.uploadFile(archivePath, uploadOptions);
-          if (response._response.status >= 400) {
-            throw new errors_1.InvalidResponseError(`uploadCacheArchiveSDK: upload failed with status code ${response._response.status}`);
-          }
-          return response;
-        } catch (error3) {
-          core14.warning(`uploadCacheArchiveSDK: internal error uploading cache archive: ${error3.message}`);
-          throw error3;
-        } finally {
-          uploadProgress.stopDisplayTimer();
-        }
-      });
+    });
+    function validateBoolean(value, name) {
+      if (typeof value !== "boolean") throw new ERR_INVALID_ARG_TYPE2(name, "boolean", value);
     }
-  }
-});
-
-// node_modules/@actions/cache/lib/internal/requestUtils.js
-var require_requestUtils = __commonJS({
-  "node_modules/@actions/cache/lib/internal/requestUtils.js"(exports2) {
-    "use strict";
-    var __createBinding2 = 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];
-        } };
+    function getOwnPropertyValueOrDefault(options, key, defaultValue) {
+      return options == null || !ObjectPrototypeHasOwnProperty(options, key) ? defaultValue : options[key];
+    }
+    var validateObject = hideStackFrames((value, name, options = null) => {
+      const allowArray = getOwnPropertyValueOrDefault(options, "allowArray", false);
+      const allowFunction = getOwnPropertyValueOrDefault(options, "allowFunction", false);
+      const nullable = getOwnPropertyValueOrDefault(options, "nullable", false);
+      if (!nullable && value === null || !allowArray && ArrayIsArray(value) || typeof value !== "object" && (!allowFunction || typeof value !== "function")) {
+        throw new ERR_INVALID_ARG_TYPE2(name, "Object", value);
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
     });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = 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 ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
-        }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve3) {
-          resolve3(value);
-        });
+    var validateDictionary = hideStackFrames((value, name) => {
+      if (value != null && typeof value !== "object" && typeof value !== "function") {
+        throw new ERR_INVALID_ARG_TYPE2(name, "a dictionary", value);
       }
-      return new (P || (P = Promise))(function(resolve3, 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 ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+    });
+    var validateArray = hideStackFrames((value, name, minLength = 0) => {
+      if (!ArrayIsArray(value)) {
+        throw new ERR_INVALID_ARG_TYPE2(name, "Array", value);
+      }
+      if (value.length < minLength) {
+        const reason = `must be longer than ${minLength}`;
+        throw new ERR_INVALID_ARG_VALUE(name, value, reason);
+      }
+    });
+    function validateStringArray(value, name) {
+      validateArray(value, name);
+      for (let i = 0; i < value.length; i++) {
+        validateString(value[i], `${name}[${i}]`);
+      }
+    }
+    function validateBooleanArray(value, name) {
+      validateArray(value, name);
+      for (let i = 0; i < value.length; i++) {
+        validateBoolean(value[i], `${name}[${i}]`);
+      }
+    }
+    function validateAbortSignalArray(value, name) {
+      validateArray(value, name);
+      for (let i = 0; i < value.length; i++) {
+        const signal = value[i];
+        const indexedName = `${name}[${i}]`;
+        if (signal == null) {
+          throw new ERR_INVALID_ARG_TYPE2(indexedName, "AbortSignal", signal);
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isSuccessStatusCode = isSuccessStatusCode;
-    exports2.isServerErrorStatusCode = isServerErrorStatusCode;
-    exports2.isRetryableStatusCode = isRetryableStatusCode;
-    exports2.retry = retry2;
-    exports2.retryTypedResponse = retryTypedResponse;
-    exports2.retryHttpClientResponse = retryHttpClientResponse;
-    var core14 = __importStar2(require_core());
-    var http_client_1 = require_lib();
-    var constants_1 = require_constants12();
-    function isSuccessStatusCode(statusCode) {
-      if (!statusCode) {
-        return false;
+        validateAbortSignal(signal, indexedName);
       }
-      return statusCode >= 200 && statusCode < 300;
     }
-    function isServerErrorStatusCode(statusCode) {
-      if (!statusCode) {
-        return true;
+    function validateSignalName(signal, name = "signal") {
+      validateString(signal, name);
+      if (signals[signal] === void 0) {
+        if (signals[StringPrototypeToUpperCase(signal)] !== void 0) {
+          throw new ERR_UNKNOWN_SIGNAL(signal + " (signals must use all capital letters)");
+        }
+        throw new ERR_UNKNOWN_SIGNAL(signal);
       }
-      return statusCode >= 500;
     }
-    function isRetryableStatusCode(statusCode) {
-      if (!statusCode) {
-        return false;
+    var validateBuffer = hideStackFrames((buffer, name = "buffer") => {
+      if (!isArrayBufferView(buffer)) {
+        throw new ERR_INVALID_ARG_TYPE2(name, ["Buffer", "TypedArray", "DataView"], buffer);
+      }
+    });
+    function validateEncoding(data, encoding) {
+      const normalizedEncoding = normalizeEncoding(encoding);
+      const length = data.length;
+      if (normalizedEncoding === "hex" && length % 2 !== 0) {
+        throw new ERR_INVALID_ARG_VALUE("encoding", encoding, `is invalid for data of length ${length}`);
       }
-      const retryableStatusCodes = [
-        http_client_1.HttpCodes.BadGateway,
-        http_client_1.HttpCodes.ServiceUnavailable,
-        http_client_1.HttpCodes.GatewayTimeout
-      ];
-      return retryableStatusCodes.includes(statusCode);
     }
-    function sleep(milliseconds) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        return new Promise((resolve3) => setTimeout(resolve3, milliseconds));
-      });
+    function validatePort(port, name = "Port", allowZero = true) {
+      if (typeof port !== "number" && typeof port !== "string" || typeof port === "string" && StringPrototypeTrim(port).length === 0 || +port !== +port >>> 0 || port > 65535 || port === 0 && !allowZero) {
+        throw new ERR_SOCKET_BAD_PORT(name, port, allowZero);
+      }
+      return port | 0;
     }
-    function retry2(name_1, method_1, getStatusCode_1) {
-      return __awaiter2(this, arguments, void 0, function* (name, method, getStatusCode, maxAttempts = constants_1.DefaultRetryAttempts, delay = constants_1.DefaultRetryDelay, onError = void 0) {
-        let errorMessage = "";
-        let attempt = 1;
-        while (attempt <= maxAttempts) {
-          let response = void 0;
-          let statusCode = void 0;
-          let isRetryable = false;
-          try {
-            response = yield method();
-          } catch (error3) {
-            if (onError) {
-              response = onError(error3);
-            }
-            isRetryable = true;
-            errorMessage = error3.message;
-          }
-          if (response) {
-            statusCode = getStatusCode(response);
-            if (!isServerErrorStatusCode(statusCode)) {
-              return response;
-            }
-          }
-          if (statusCode) {
-            isRetryable = isRetryableStatusCode(statusCode);
-            errorMessage = `Cache service responded with ${statusCode}`;
-          }
-          core14.debug(`${name} - Attempt ${attempt} of ${maxAttempts} failed with error: ${errorMessage}`);
-          if (!isRetryable) {
-            core14.debug(`${name} - Error is not retryable`);
-            break;
-          }
-          yield sleep(delay);
-          attempt++;
-        }
-        throw Error(`${name} failed: ${errorMessage}`);
-      });
+    var validateAbortSignal = hideStackFrames((signal, name) => {
+      if (signal !== void 0 && (signal === null || typeof signal !== "object" || !("aborted" in signal))) {
+        throw new ERR_INVALID_ARG_TYPE2(name, "AbortSignal", signal);
+      }
+    });
+    var validateFunction = hideStackFrames((value, name) => {
+      if (typeof value !== "function") throw new ERR_INVALID_ARG_TYPE2(name, "Function", value);
+    });
+    var validatePlainFunction = hideStackFrames((value, name) => {
+      if (typeof value !== "function" || isAsyncFunction(value)) throw new ERR_INVALID_ARG_TYPE2(name, "Function", value);
+    });
+    var validateUndefined = hideStackFrames((value, name) => {
+      if (value !== void 0) throw new ERR_INVALID_ARG_TYPE2(name, "undefined", value);
+    });
+    function validateUnion(value, name, union) {
+      if (!ArrayPrototypeIncludes(union, value)) {
+        throw new ERR_INVALID_ARG_TYPE2(name, `('${ArrayPrototypeJoin(union, "|")}')`, value);
+      }
     }
-    function retryTypedResponse(name_1, method_1) {
-      return __awaiter2(this, arguments, void 0, function* (name, method, maxAttempts = constants_1.DefaultRetryAttempts, delay = constants_1.DefaultRetryDelay) {
-        return yield retry2(
+    var linkValueRegExp = /^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/;
+    function validateLinkHeaderFormat(value, name) {
+      if (typeof value === "undefined" || !RegExpPrototypeExec(linkValueRegExp, value)) {
+        throw new ERR_INVALID_ARG_VALUE(
           name,
-          method,
-          (response) => response.statusCode,
-          maxAttempts,
-          delay,
-          // If the error object contains the statusCode property, extract it and return
-          // an TypedResponse so it can be processed by the retry logic.
-          (error3) => {
-            if (error3 instanceof http_client_1.HttpClientError) {
-              return {
-                statusCode: error3.statusCode,
-                result: null,
-                headers: {},
-                error: error3
-              };
-            } else {
-              return void 0;
-            }
-          }
+          value,
+          'must be an array or string of format "; rel=preload; as=style"'
         );
-      });
+      }
     }
-    function retryHttpClientResponse(name_1, method_1) {
-      return __awaiter2(this, arguments, void 0, function* (name, method, maxAttempts = constants_1.DefaultRetryAttempts, delay = constants_1.DefaultRetryDelay) {
-        return yield retry2(name, method, (response) => response.message.statusCode, maxAttempts, delay);
-      });
+    function validateLinkHeaderValue(hints) {
+      if (typeof hints === "string") {
+        validateLinkHeaderFormat(hints, "hints");
+        return hints;
+      } else if (ArrayIsArray(hints)) {
+        const hintsLength = hints.length;
+        let result = "";
+        if (hintsLength === 0) {
+          return result;
+        }
+        for (let i = 0; i < hintsLength; i++) {
+          const link = hints[i];
+          validateLinkHeaderFormat(link, "hints");
+          result += link;
+          if (i !== hintsLength - 1) {
+            result += ", ";
+          }
+        }
+        return result;
+      }
+      throw new ERR_INVALID_ARG_VALUE(
+        "hints",
+        hints,
+        'must be an array or string of format "; rel=preload; as=style"'
+      );
     }
+    module2.exports = {
+      isInt32,
+      isUint32,
+      parseFileMode,
+      validateArray,
+      validateStringArray,
+      validateBooleanArray,
+      validateAbortSignalArray,
+      validateBoolean,
+      validateBuffer,
+      validateDictionary,
+      validateEncoding,
+      validateFunction,
+      validateInt32,
+      validateInteger,
+      validateNumber,
+      validateObject,
+      validateOneOf,
+      validatePlainFunction,
+      validatePort,
+      validateSignalName,
+      validateString,
+      validateUint32,
+      validateUndefined,
+      validateUnion,
+      validateAbortSignal,
+      validateLinkHeaderValue
+    };
   }
 });
 
-// node_modules/@azure/abort-controller/dist/index.js
-var require_dist4 = __commonJS({
-  "node_modules/@azure/abort-controller/dist/index.js"(exports2) {
+// node_modules/process/index.js
+var require_process = __commonJS({
+  "node_modules/process/index.js"(exports2, module2) {
+    module2.exports = global.process;
+  }
+});
+
+// node_modules/readable-stream/lib/internal/streams/utils.js
+var require_utils8 = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/utils.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    var listenersMap = /* @__PURE__ */ new WeakMap();
-    var abortedMap = /* @__PURE__ */ new WeakMap();
-    var AbortSignal2 = class _AbortSignal {
-      constructor() {
-        this.onabort = null;
-        listenersMap.set(this, []);
-        abortedMap.set(this, false);
-      }
-      /**
-       * Status of whether aborted or not.
-       *
-       * @readonly
-       */
-      get aborted() {
-        if (!abortedMap.has(this)) {
-          throw new TypeError("Expected `this` to be an instance of AbortSignal.");
-        }
-        return abortedMap.get(this);
+    var { SymbolAsyncIterator, SymbolIterator, SymbolFor } = require_primordials();
+    var kIsDestroyed = SymbolFor("nodejs.stream.destroyed");
+    var kIsErrored = SymbolFor("nodejs.stream.errored");
+    var kIsReadable = SymbolFor("nodejs.stream.readable");
+    var kIsWritable = SymbolFor("nodejs.stream.writable");
+    var kIsDisturbed = SymbolFor("nodejs.stream.disturbed");
+    var kIsClosedPromise = SymbolFor("nodejs.webstream.isClosedPromise");
+    var kControllerErrorFunction = SymbolFor("nodejs.webstream.controllerErrorFunction");
+    function isReadableNodeStream(obj, strict = false) {
+      var _obj$_readableState;
+      return !!(obj && typeof obj.pipe === "function" && typeof obj.on === "function" && (!strict || typeof obj.pause === "function" && typeof obj.resume === "function") && (!obj._writableState || ((_obj$_readableState = obj._readableState) === null || _obj$_readableState === void 0 ? void 0 : _obj$_readableState.readable) !== false) && // Duplex
+      (!obj._writableState || obj._readableState));
+    }
+    function isWritableNodeStream(obj) {
+      var _obj$_writableState;
+      return !!(obj && typeof obj.write === "function" && typeof obj.on === "function" && (!obj._readableState || ((_obj$_writableState = obj._writableState) === null || _obj$_writableState === void 0 ? void 0 : _obj$_writableState.writable) !== false));
+    }
+    function isDuplexNodeStream(obj) {
+      return !!(obj && typeof obj.pipe === "function" && obj._readableState && typeof obj.on === "function" && typeof obj.write === "function");
+    }
+    function isNodeStream(obj) {
+      return obj && (obj._readableState || obj._writableState || typeof obj.write === "function" && typeof obj.on === "function" || typeof obj.pipe === "function" && typeof obj.on === "function");
+    }
+    function isReadableStream(obj) {
+      return !!(obj && !isNodeStream(obj) && typeof obj.pipeThrough === "function" && typeof obj.getReader === "function" && typeof obj.cancel === "function");
+    }
+    function isWritableStream(obj) {
+      return !!(obj && !isNodeStream(obj) && typeof obj.getWriter === "function" && typeof obj.abort === "function");
+    }
+    function isTransformStream(obj) {
+      return !!(obj && !isNodeStream(obj) && typeof obj.readable === "object" && typeof obj.writable === "object");
+    }
+    function isWebStream(obj) {
+      return isReadableStream(obj) || isWritableStream(obj) || isTransformStream(obj);
+    }
+    function isIterable(obj, isAsync) {
+      if (obj == null) return false;
+      if (isAsync === true) return typeof obj[SymbolAsyncIterator] === "function";
+      if (isAsync === false) return typeof obj[SymbolIterator] === "function";
+      return typeof obj[SymbolAsyncIterator] === "function" || typeof obj[SymbolIterator] === "function";
+    }
+    function isDestroyed(stream) {
+      if (!isNodeStream(stream)) return null;
+      const wState = stream._writableState;
+      const rState = stream._readableState;
+      const state = wState || rState;
+      return !!(stream.destroyed || stream[kIsDestroyed] || state !== null && state !== void 0 && state.destroyed);
+    }
+    function isWritableEnded(stream) {
+      if (!isWritableNodeStream(stream)) return null;
+      if (stream.writableEnded === true) return true;
+      const wState = stream._writableState;
+      if (wState !== null && wState !== void 0 && wState.errored) return false;
+      if (typeof (wState === null || wState === void 0 ? void 0 : wState.ended) !== "boolean") return null;
+      return wState.ended;
+    }
+    function isWritableFinished(stream, strict) {
+      if (!isWritableNodeStream(stream)) return null;
+      if (stream.writableFinished === true) return true;
+      const wState = stream._writableState;
+      if (wState !== null && wState !== void 0 && wState.errored) return false;
+      if (typeof (wState === null || wState === void 0 ? void 0 : wState.finished) !== "boolean") return null;
+      return !!(wState.finished || strict === false && wState.ended === true && wState.length === 0);
+    }
+    function isReadableEnded(stream) {
+      if (!isReadableNodeStream(stream)) return null;
+      if (stream.readableEnded === true) return true;
+      const rState = stream._readableState;
+      if (!rState || rState.errored) return false;
+      if (typeof (rState === null || rState === void 0 ? void 0 : rState.ended) !== "boolean") return null;
+      return rState.ended;
+    }
+    function isReadableFinished(stream, strict) {
+      if (!isReadableNodeStream(stream)) return null;
+      const rState = stream._readableState;
+      if (rState !== null && rState !== void 0 && rState.errored) return false;
+      if (typeof (rState === null || rState === void 0 ? void 0 : rState.endEmitted) !== "boolean") return null;
+      return !!(rState.endEmitted || strict === false && rState.ended === true && rState.length === 0);
+    }
+    function isReadable(stream) {
+      if (stream && stream[kIsReadable] != null) return stream[kIsReadable];
+      if (typeof (stream === null || stream === void 0 ? void 0 : stream.readable) !== "boolean") return null;
+      if (isDestroyed(stream)) return false;
+      return isReadableNodeStream(stream) && stream.readable && !isReadableFinished(stream);
+    }
+    function isWritable(stream) {
+      if (stream && stream[kIsWritable] != null) return stream[kIsWritable];
+      if (typeof (stream === null || stream === void 0 ? void 0 : stream.writable) !== "boolean") return null;
+      if (isDestroyed(stream)) return false;
+      return isWritableNodeStream(stream) && stream.writable && !isWritableEnded(stream);
+    }
+    function isFinished(stream, opts) {
+      if (!isNodeStream(stream)) {
+        return null;
       }
-      /**
-       * Creates a new AbortSignal instance that will never be aborted.
-       *
-       * @readonly
-       */
-      static get none() {
-        return new _AbortSignal();
+      if (isDestroyed(stream)) {
+        return true;
       }
-      /**
-       * Added new "abort" event listener, only support "abort" event.
-       *
-       * @param _type - Only support "abort" event
-       * @param listener - The listener to be added
-       */
-      addEventListener(_type, listener) {
-        if (!listenersMap.has(this)) {
-          throw new TypeError("Expected `this` to be an instance of AbortSignal.");
-        }
-        const listeners = listenersMap.get(this);
-        listeners.push(listener);
+      if ((opts === null || opts === void 0 ? void 0 : opts.readable) !== false && isReadable(stream)) {
+        return false;
       }
-      /**
-       * Remove "abort" event listener, only support "abort" event.
-       *
-       * @param _type - Only support "abort" event
-       * @param listener - The listener to be removed
-       */
-      removeEventListener(_type, listener) {
-        if (!listenersMap.has(this)) {
-          throw new TypeError("Expected `this` to be an instance of AbortSignal.");
-        }
-        const listeners = listenersMap.get(this);
-        const index = listeners.indexOf(listener);
-        if (index > -1) {
-          listeners.splice(index, 1);
-        }
+      if ((opts === null || opts === void 0 ? void 0 : opts.writable) !== false && isWritable(stream)) {
+        return false;
       }
-      /**
-       * Dispatches a synthetic event to the AbortSignal.
-       */
-      dispatchEvent(_event) {
-        throw new Error("This is a stub dispatchEvent implementation that should not be used.  It only exists for type-checking purposes.");
+      return true;
+    }
+    function isWritableErrored(stream) {
+      var _stream$_writableStat, _stream$_writableStat2;
+      if (!isNodeStream(stream)) {
+        return null;
       }
-    };
-    function abortSignal(signal) {
-      if (signal.aborted) {
-        return;
+      if (stream.writableErrored) {
+        return stream.writableErrored;
       }
-      if (signal.onabort) {
-        signal.onabort.call(signal);
+      return (_stream$_writableStat = (_stream$_writableStat2 = stream._writableState) === null || _stream$_writableStat2 === void 0 ? void 0 : _stream$_writableStat2.errored) !== null && _stream$_writableStat !== void 0 ? _stream$_writableStat : null;
+    }
+    function isReadableErrored(stream) {
+      var _stream$_readableStat, _stream$_readableStat2;
+      if (!isNodeStream(stream)) {
+        return null;
       }
-      const listeners = listenersMap.get(signal);
-      if (listeners) {
-        listeners.slice().forEach((listener) => {
-          listener.call(signal, { type: "abort" });
-        });
+      if (stream.readableErrored) {
+        return stream.readableErrored;
       }
-      abortedMap.set(signal, true);
+      return (_stream$_readableStat = (_stream$_readableStat2 = stream._readableState) === null || _stream$_readableStat2 === void 0 ? void 0 : _stream$_readableStat2.errored) !== null && _stream$_readableStat !== void 0 ? _stream$_readableStat : null;
     }
-    var AbortError = class extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "AbortError";
-      }
-    };
-    var AbortController2 = class {
-      // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
-      constructor(parentSignals) {
-        this._signal = new AbortSignal2();
-        if (!parentSignals) {
-          return;
-        }
-        if (!Array.isArray(parentSignals)) {
-          parentSignals = arguments;
-        }
-        for (const parentSignal of parentSignals) {
-          if (parentSignal.aborted) {
-            this.abort();
-          } else {
-            parentSignal.addEventListener("abort", () => {
-              this.abort();
-            });
-          }
-        }
+    function isClosed(stream) {
+      if (!isNodeStream(stream)) {
+        return null;
       }
-      /**
-       * The AbortSignal associated with this controller that will signal aborted
-       * when the abort method is called on this controller.
-       *
-       * @readonly
-       */
-      get signal() {
-        return this._signal;
+      if (typeof stream.closed === "boolean") {
+        return stream.closed;
       }
-      /**
-       * Signal that any operations passed this controller's associated abort signal
-       * to cancel any remaining work and throw an `AbortError`.
-       */
-      abort() {
-        abortSignal(this._signal);
+      const wState = stream._writableState;
+      const rState = stream._readableState;
+      if (typeof (wState === null || wState === void 0 ? void 0 : wState.closed) === "boolean" || typeof (rState === null || rState === void 0 ? void 0 : rState.closed) === "boolean") {
+        return (wState === null || wState === void 0 ? void 0 : wState.closed) || (rState === null || rState === void 0 ? void 0 : rState.closed);
       }
-      /**
-       * Creates a new AbortSignal instance that will abort after the provided ms.
-       * @param ms - Elapsed time in milliseconds to trigger an abort.
-       */
-      static timeout(ms) {
-        const signal = new AbortSignal2();
-        const timer = setTimeout(abortSignal, ms, signal);
-        if (typeof timer.unref === "function") {
-          timer.unref();
-        }
-        return signal;
+      if (typeof stream._closed === "boolean" && isOutgoingMessage(stream)) {
+        return stream._closed;
       }
+      return null;
+    }
+    function isOutgoingMessage(stream) {
+      return typeof stream._closed === "boolean" && typeof stream._defaultKeepAlive === "boolean" && typeof stream._removedConnection === "boolean" && typeof stream._removedContLen === "boolean";
+    }
+    function isServerResponse(stream) {
+      return typeof stream._sent100 === "boolean" && isOutgoingMessage(stream);
+    }
+    function isServerRequest(stream) {
+      var _stream$req;
+      return typeof stream._consuming === "boolean" && typeof stream._dumped === "boolean" && ((_stream$req = stream.req) === null || _stream$req === void 0 ? void 0 : _stream$req.upgradeOrConnect) === void 0;
+    }
+    function willEmitClose(stream) {
+      if (!isNodeStream(stream)) return null;
+      const wState = stream._writableState;
+      const rState = stream._readableState;
+      const state = wState || rState;
+      return !state && isServerResponse(stream) || !!(state && state.autoDestroy && state.emitClose && state.closed === false);
+    }
+    function isDisturbed(stream) {
+      var _stream$kIsDisturbed;
+      return !!(stream && ((_stream$kIsDisturbed = stream[kIsDisturbed]) !== null && _stream$kIsDisturbed !== void 0 ? _stream$kIsDisturbed : stream.readableDidRead || stream.readableAborted));
+    }
+    function isErrored(stream) {
+      var _ref, _ref2, _ref3, _ref4, _ref5, _stream$kIsErrored, _stream$_readableStat3, _stream$_writableStat3, _stream$_readableStat4, _stream$_writableStat4;
+      return !!(stream && ((_ref = (_ref2 = (_ref3 = (_ref4 = (_ref5 = (_stream$kIsErrored = stream[kIsErrored]) !== null && _stream$kIsErrored !== void 0 ? _stream$kIsErrored : stream.readableErrored) !== null && _ref5 !== void 0 ? _ref5 : stream.writableErrored) !== null && _ref4 !== void 0 ? _ref4 : (_stream$_readableStat3 = stream._readableState) === null || _stream$_readableStat3 === void 0 ? void 0 : _stream$_readableStat3.errorEmitted) !== null && _ref3 !== void 0 ? _ref3 : (_stream$_writableStat3 = stream._writableState) === null || _stream$_writableStat3 === void 0 ? void 0 : _stream$_writableStat3.errorEmitted) !== null && _ref2 !== void 0 ? _ref2 : (_stream$_readableStat4 = stream._readableState) === null || _stream$_readableStat4 === void 0 ? void 0 : _stream$_readableStat4.errored) !== null && _ref !== void 0 ? _ref : (_stream$_writableStat4 = stream._writableState) === null || _stream$_writableStat4 === void 0 ? void 0 : _stream$_writableStat4.errored));
+    }
+    module2.exports = {
+      isDestroyed,
+      kIsDestroyed,
+      isDisturbed,
+      kIsDisturbed,
+      isErrored,
+      kIsErrored,
+      isReadable,
+      kIsReadable,
+      kIsClosedPromise,
+      kControllerErrorFunction,
+      kIsWritable,
+      isClosed,
+      isDuplexNodeStream,
+      isFinished,
+      isIterable,
+      isReadableNodeStream,
+      isReadableStream,
+      isReadableEnded,
+      isReadableFinished,
+      isReadableErrored,
+      isNodeStream,
+      isWebStream,
+      isWritable,
+      isWritableNodeStream,
+      isWritableStream,
+      isWritableEnded,
+      isWritableFinished,
+      isWritableErrored,
+      isServerRequest,
+      isServerResponse,
+      willEmitClose,
+      isTransformStream
     };
-    exports2.AbortController = AbortController2;
-    exports2.AbortError = AbortError;
-    exports2.AbortSignal = AbortSignal2;
   }
 });
 
-// node_modules/@actions/cache/lib/internal/downloadUtils.js
-var require_downloadUtils = __commonJS({
-  "node_modules/@actions/cache/lib/internal/downloadUtils.js"(exports2) {
-    "use strict";
-    var __createBinding2 = 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];
-        } };
+// node_modules/readable-stream/lib/internal/streams/end-of-stream.js
+var require_end_of_stream = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/end-of-stream.js"(exports2, module2) {
+    var process2 = require_process();
+    var { AbortError, codes } = require_errors5();
+    var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_PREMATURE_CLOSE } = codes;
+    var { kEmptyObject, once } = require_util21();
+    var { validateAbortSignal, validateFunction, validateObject, validateBoolean } = require_validators();
+    var { Promise: Promise2, PromisePrototypeThen, SymbolDispose } = require_primordials();
+    var {
+      isClosed,
+      isReadable,
+      isReadableNodeStream,
+      isReadableStream,
+      isReadableFinished,
+      isReadableErrored,
+      isWritable,
+      isWritableNodeStream,
+      isWritableStream,
+      isWritableFinished,
+      isWritableErrored,
+      isNodeStream,
+      willEmitClose: _willEmitClose,
+      kIsClosedPromise
+    } = require_utils8();
+    var addAbortListener;
+    function isRequest(stream) {
+      return stream.setHeader && typeof stream.abort === "function";
+    }
+    var nop = () => {
+    };
+    function eos(stream, options, callback) {
+      var _options$readable, _options$writable;
+      if (arguments.length === 2) {
+        callback = options;
+        options = kEmptyObject;
+      } else if (options == null) {
+        options = kEmptyObject;
+      } else {
+        validateObject(options, "options");
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = 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 ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+      validateFunction(callback, "callback");
+      validateAbortSignal(options.signal, "options.signal");
+      callback = once(callback);
+      if (isReadableStream(stream) || isWritableStream(stream)) {
+        return eosWeb(stream, options, callback);
+      }
+      if (!isNodeStream(stream)) {
+        throw new ERR_INVALID_ARG_TYPE2("stream", ["ReadableStream", "WritableStream", "Stream"], stream);
+      }
+      const readable = (_options$readable = options.readable) !== null && _options$readable !== void 0 ? _options$readable : isReadableNodeStream(stream);
+      const writable = (_options$writable = options.writable) !== null && _options$writable !== void 0 ? _options$writable : isWritableNodeStream(stream);
+      const wState = stream._writableState;
+      const rState = stream._readableState;
+      const onlegacyfinish = () => {
+        if (!stream.writable) {
+          onfinish();
         }
-        __setModuleDefault2(result, mod);
-        return result;
       };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve3) {
-          resolve3(value);
-        });
-      }
-      return new (P || (P = Promise))(function(resolve3, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
+      let willEmitClose = _willEmitClose(stream) && isReadableNodeStream(stream) === readable && isWritableNodeStream(stream) === writable;
+      let writableFinished = isWritableFinished(stream, false);
+      const onfinish = () => {
+        writableFinished = true;
+        if (stream.destroyed) {
+          willEmitClose = false;
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
+        if (willEmitClose && (!stream.readable || readable)) {
+          return;
         }
-        function step(result) {
-          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        if (!readable || readableFinished) {
+          callback.call(stream);
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.DownloadProgress = void 0;
-    exports2.downloadCacheHttpClient = downloadCacheHttpClient;
-    exports2.downloadCacheHttpClientConcurrent = downloadCacheHttpClientConcurrent;
-    exports2.downloadCacheStorageSDK = downloadCacheStorageSDK;
-    var core14 = __importStar2(require_core());
-    var http_client_1 = require_lib();
-    var storage_blob_1 = require_commonjs15();
-    var buffer = __importStar2(require("buffer"));
-    var fs3 = __importStar2(require("fs"));
-    var stream = __importStar2(require("stream"));
-    var util = __importStar2(require("util"));
-    var utils = __importStar2(require_cacheUtils());
-    var constants_1 = require_constants12();
-    var requestUtils_1 = require_requestUtils();
-    var abort_controller_1 = require_dist4();
-    function pipeResponseToStream(response, output) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const pipeline = util.promisify(stream.pipeline);
-        yield pipeline(response.message, output);
-      });
-    }
-    var DownloadProgress = class {
-      constructor(contentLength) {
-        this.contentLength = contentLength;
-        this.segmentIndex = 0;
-        this.segmentSize = 0;
-        this.segmentOffset = 0;
-        this.receivedBytes = 0;
-        this.displayedComplete = false;
-        this.startTime = Date.now();
-      }
-      /**
-       * Progress to the next segment. Only call this method when the previous segment
-       * is complete.
-       *
-       * @param segmentSize the length of the next segment
-       */
-      nextSegment(segmentSize) {
-        this.segmentOffset = this.segmentOffset + this.segmentSize;
-        this.segmentIndex = this.segmentIndex + 1;
-        this.segmentSize = segmentSize;
-        this.receivedBytes = 0;
-        core14.debug(`Downloading segment at offset ${this.segmentOffset} with length ${this.segmentSize}...`);
-      }
-      /**
-       * Sets the number of bytes received for the current segment.
-       *
-       * @param receivedBytes the number of bytes received
-       */
-      setReceivedBytes(receivedBytes) {
-        this.receivedBytes = receivedBytes;
-      }
-      /**
-       * Returns the total number of bytes transferred.
-       */
-      getTransferredBytes() {
-        return this.segmentOffset + this.receivedBytes;
-      }
-      /**
-       * Returns true if the download is complete.
-       */
-      isDone() {
-        return this.getTransferredBytes() === this.contentLength;
-      }
-      /**
-       * Prints the current download stats. Once the download completes, this will print one
-       * last line and then stop.
-       */
-      display() {
-        if (this.displayedComplete) {
+      };
+      let readableFinished = isReadableFinished(stream, false);
+      const onend = () => {
+        readableFinished = true;
+        if (stream.destroyed) {
+          willEmitClose = false;
+        }
+        if (willEmitClose && (!stream.writable || writable)) {
           return;
         }
-        const transferredBytes = this.segmentOffset + this.receivedBytes;
-        const percentage = (100 * (transferredBytes / this.contentLength)).toFixed(1);
-        const elapsedTime = Date.now() - this.startTime;
-        const downloadSpeed = (transferredBytes / (1024 * 1024) / (elapsedTime / 1e3)).toFixed(1);
-        core14.info(`Received ${transferredBytes} of ${this.contentLength} (${percentage}%), ${downloadSpeed} MBs/sec`);
-        if (this.isDone()) {
-          this.displayedComplete = true;
+        if (!writable || writableFinished) {
+          callback.call(stream);
+        }
+      };
+      const onerror = (err) => {
+        callback.call(stream, err);
+      };
+      let closed = isClosed(stream);
+      const onclose = () => {
+        closed = true;
+        const errored = isWritableErrored(stream) || isReadableErrored(stream);
+        if (errored && typeof errored !== "boolean") {
+          return callback.call(stream, errored);
+        }
+        if (readable && !readableFinished && isReadableNodeStream(stream, true)) {
+          if (!isReadableFinished(stream, false)) return callback.call(stream, new ERR_STREAM_PREMATURE_CLOSE());
+        }
+        if (writable && !writableFinished) {
+          if (!isWritableFinished(stream, false)) return callback.call(stream, new ERR_STREAM_PREMATURE_CLOSE());
+        }
+        callback.call(stream);
+      };
+      const onclosed = () => {
+        closed = true;
+        const errored = isWritableErrored(stream) || isReadableErrored(stream);
+        if (errored && typeof errored !== "boolean") {
+          return callback.call(stream, errored);
+        }
+        callback.call(stream);
+      };
+      const onrequest = () => {
+        stream.req.on("finish", onfinish);
+      };
+      if (isRequest(stream)) {
+        stream.on("complete", onfinish);
+        if (!willEmitClose) {
+          stream.on("abort", onclose);
+        }
+        if (stream.req) {
+          onrequest();
+        } else {
+          stream.on("request", onrequest);
         }
+      } else if (writable && !wState) {
+        stream.on("end", onlegacyfinish);
+        stream.on("close", onlegacyfinish);
       }
-      /**
-       * Returns a function used to handle TransferProgressEvents.
-       */
-      onProgress() {
-        return (progress) => {
-          this.setReceivedBytes(progress.loadedBytes);
-        };
+      if (!willEmitClose && typeof stream.aborted === "boolean") {
+        stream.on("aborted", onclose);
       }
-      /**
-       * Starts the timer that displays the stats.
-       *
-       * @param delayInMs the delay between each write
-       */
-      startDisplayTimer(delayInMs = 1e3) {
-        const displayCallback = () => {
-          this.display();
-          if (!this.isDone()) {
-            this.timeoutHandle = setTimeout(displayCallback, delayInMs);
-          }
-        };
-        this.timeoutHandle = setTimeout(displayCallback, delayInMs);
+      stream.on("end", onend);
+      stream.on("finish", onfinish);
+      if (options.error !== false) {
+        stream.on("error", onerror);
       }
-      /**
-       * Stops the timer that displays the stats. As this typically indicates the download
-       * is complete, this will display one last line, unless the last line has already
-       * been written.
-       */
-      stopDisplayTimer() {
-        if (this.timeoutHandle) {
-          clearTimeout(this.timeoutHandle);
-          this.timeoutHandle = void 0;
+      stream.on("close", onclose);
+      if (closed) {
+        process2.nextTick(onclose);
+      } else if (wState !== null && wState !== void 0 && wState.errorEmitted || rState !== null && rState !== void 0 && rState.errorEmitted) {
+        if (!willEmitClose) {
+          process2.nextTick(onclosed);
         }
-        this.display();
+      } else if (!readable && (!willEmitClose || isReadable(stream)) && (writableFinished || isWritable(stream) === false)) {
+        process2.nextTick(onclosed);
+      } else if (!writable && (!willEmitClose || isWritable(stream)) && (readableFinished || isReadable(stream) === false)) {
+        process2.nextTick(onclosed);
+      } else if (rState && stream.req && stream.aborted) {
+        process2.nextTick(onclosed);
       }
-    };
-    exports2.DownloadProgress = DownloadProgress;
-    function downloadCacheHttpClient(archiveLocation, archivePath) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const writeStream = fs3.createWriteStream(archivePath);
-        const httpClient = new http_client_1.HttpClient("actions/cache");
-        const downloadResponse = yield (0, requestUtils_1.retryHttpClientResponse)("downloadCache", () => __awaiter2(this, void 0, void 0, function* () {
-          return httpClient.get(archiveLocation);
-        }));
-        downloadResponse.message.socket.setTimeout(constants_1.SocketTimeout, () => {
-          downloadResponse.message.destroy();
-          core14.debug(`Aborting download, socket timed out after ${constants_1.SocketTimeout} ms`);
-        });
-        yield pipeResponseToStream(downloadResponse, writeStream);
-        const contentLengthHeader = downloadResponse.message.headers["content-length"];
-        if (contentLengthHeader) {
-          const expectedLength = parseInt(contentLengthHeader);
-          const actualLength = utils.getArchiveFileSizeInBytes(archivePath);
-          if (actualLength !== expectedLength) {
-            throw new Error(`Incomplete download. Expected file size: ${expectedLength}, actual file size: ${actualLength}`);
-          }
+      const cleanup = () => {
+        callback = nop;
+        stream.removeListener("aborted", onclose);
+        stream.removeListener("complete", onfinish);
+        stream.removeListener("abort", onclose);
+        stream.removeListener("request", onrequest);
+        if (stream.req) stream.req.removeListener("finish", onfinish);
+        stream.removeListener("end", onlegacyfinish);
+        stream.removeListener("close", onlegacyfinish);
+        stream.removeListener("finish", onfinish);
+        stream.removeListener("end", onend);
+        stream.removeListener("error", onerror);
+        stream.removeListener("close", onclose);
+      };
+      if (options.signal && !closed) {
+        const abort = () => {
+          const endCallback = callback;
+          cleanup();
+          endCallback.call(
+            stream,
+            new AbortError(void 0, {
+              cause: options.signal.reason
+            })
+          );
+        };
+        if (options.signal.aborted) {
+          process2.nextTick(abort);
         } else {
-          core14.debug("Unable to validate download, no Content-Length header");
-        }
-      });
-    }
-    function downloadCacheHttpClientConcurrent(archiveLocation, archivePath, options) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        var _a;
-        const archiveDescriptor = yield fs3.promises.open(archivePath, "w");
-        const httpClient = new http_client_1.HttpClient("actions/cache", void 0, {
-          socketTimeout: options.timeoutInMs,
-          keepAlive: true
-        });
-        try {
-          const res = yield (0, requestUtils_1.retryHttpClientResponse)("downloadCacheMetadata", () => __awaiter2(this, void 0, void 0, function* () {
-            return yield httpClient.request("HEAD", archiveLocation, null, {});
-          }));
-          const lengthHeader = res.message.headers["content-length"];
-          if (lengthHeader === void 0 || lengthHeader === null) {
-            throw new Error("Content-Length not found on blob response");
-          }
-          const length = parseInt(lengthHeader);
-          if (Number.isNaN(length)) {
-            throw new Error(`Could not interpret Content-Length: ${length}`);
-          }
-          const downloads = [];
-          const blockSize = 4 * 1024 * 1024;
-          for (let offset = 0; offset < length; offset += blockSize) {
-            const count = Math.min(blockSize, length - offset);
-            downloads.push({
-              offset,
-              promiseGetter: () => __awaiter2(this, void 0, void 0, function* () {
-                return yield downloadSegmentRetry(httpClient, archiveLocation, offset, count);
-              })
-            });
-          }
-          downloads.reverse();
-          let actives = 0;
-          let bytesDownloaded = 0;
-          const progress = new DownloadProgress(length);
-          progress.startDisplayTimer();
-          const progressFn = progress.onProgress();
-          const activeDownloads = [];
-          let nextDownload;
-          const waitAndWrite = () => __awaiter2(this, void 0, void 0, function* () {
-            const segment = yield Promise.race(Object.values(activeDownloads));
-            yield archiveDescriptor.write(segment.buffer, 0, segment.count, segment.offset);
-            actives--;
-            delete activeDownloads[segment.offset];
-            bytesDownloaded += segment.count;
-            progressFn({ loadedBytes: bytesDownloaded });
+          addAbortListener = addAbortListener || require_util21().addAbortListener;
+          const disposable = addAbortListener(options.signal, abort);
+          const originalCallback = callback;
+          callback = once((...args) => {
+            disposable[SymbolDispose]();
+            originalCallback.apply(stream, args);
           });
-          while (nextDownload = downloads.pop()) {
-            activeDownloads[nextDownload.offset] = nextDownload.promiseGetter();
-            actives++;
-            if (actives >= ((_a = options.downloadConcurrency) !== null && _a !== void 0 ? _a : 10)) {
-              yield waitAndWrite();
-            }
-          }
-          while (actives > 0) {
-            yield waitAndWrite();
-          }
-        } finally {
-          httpClient.dispose();
-          yield archiveDescriptor.close();
-        }
-      });
-    }
-    function downloadSegmentRetry(httpClient, archiveLocation, offset, count) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const retries = 5;
-        let failures = 0;
-        while (true) {
-          try {
-            const timeout = 3e4;
-            const result = yield promiseWithTimeout(timeout, downloadSegment(httpClient, archiveLocation, offset, count));
-            if (typeof result === "string") {
-              throw new Error("downloadSegmentRetry failed due to timeout");
-            }
-            return result;
-          } catch (err) {
-            if (failures >= retries) {
-              throw err;
-            }
-            failures++;
-          }
         }
-      });
+      }
+      return cleanup;
     }
-    function downloadSegment(httpClient, archiveLocation, offset, count) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const partRes = yield (0, requestUtils_1.retryHttpClientResponse)("downloadCachePart", () => __awaiter2(this, void 0, void 0, function* () {
-          return yield httpClient.get(archiveLocation, {
-            Range: `bytes=${offset}-${offset + count - 1}`
-          });
-        }));
-        if (!partRes.readBodyBuffer) {
-          throw new Error("Expected HttpClientResponse to implement readBodyBuffer");
-        }
-        return {
-          offset,
-          count,
-          buffer: yield partRes.readBodyBuffer()
+    function eosWeb(stream, options, callback) {
+      let isAborted = false;
+      let abort = nop;
+      if (options.signal) {
+        abort = () => {
+          isAborted = true;
+          callback.call(
+            stream,
+            new AbortError(void 0, {
+              cause: options.signal.reason
+            })
+          );
         };
-      });
-    }
-    function downloadCacheStorageSDK(archiveLocation, archivePath, options) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        var _a;
-        const client = new storage_blob_1.BlockBlobClient(archiveLocation, void 0, {
-          retryOptions: {
-            // Override the timeout used when downloading each 4 MB chunk
-            // The default is 2 min / MB, which is way too slow
-            tryTimeoutInMs: options.timeoutInMs
-          }
-        });
-        const properties = yield client.getProperties();
-        const contentLength = (_a = properties.contentLength) !== null && _a !== void 0 ? _a : -1;
-        if (contentLength < 0) {
-          core14.debug("Unable to determine content length, downloading file with http-client...");
-          yield downloadCacheHttpClient(archiveLocation, archivePath);
+        if (options.signal.aborted) {
+          process2.nextTick(abort);
         } else {
-          const maxSegmentSize = Math.min(134217728, buffer.constants.MAX_LENGTH);
-          const downloadProgress = new DownloadProgress(contentLength);
-          const fd = fs3.openSync(archivePath, "w");
-          try {
-            downloadProgress.startDisplayTimer();
-            const controller = new abort_controller_1.AbortController();
-            const abortSignal = controller.signal;
-            while (!downloadProgress.isDone()) {
-              const segmentStart = downloadProgress.segmentOffset + downloadProgress.segmentSize;
-              const segmentSize = Math.min(maxSegmentSize, contentLength - segmentStart);
-              downloadProgress.nextSegment(segmentSize);
-              const result = yield promiseWithTimeout(options.segmentTimeoutInMs || 36e5, client.downloadToBuffer(segmentStart, segmentSize, {
-                abortSignal,
-                concurrency: options.downloadConcurrency,
-                onProgress: downloadProgress.onProgress()
-              }));
-              if (result === "timeout") {
-                controller.abort();
-                throw new Error("Aborting cache download as the download time exceeded the timeout.");
-              } else if (Buffer.isBuffer(result)) {
-                fs3.writeFileSync(fd, result);
-              }
-            }
-          } finally {
-            downloadProgress.stopDisplayTimer();
-            fs3.closeSync(fd);
-          }
+          addAbortListener = addAbortListener || require_util21().addAbortListener;
+          const disposable = addAbortListener(options.signal, abort);
+          const originalCallback = callback;
+          callback = once((...args) => {
+            disposable[SymbolDispose]();
+            originalCallback.apply(stream, args);
+          });
         }
-      });
-    }
-    var promiseWithTimeout = (timeoutMs, promise) => __awaiter2(void 0, void 0, void 0, function* () {
-      let timeoutHandle;
-      const timeoutPromise = new Promise((resolve3) => {
-        timeoutHandle = setTimeout(() => resolve3("timeout"), timeoutMs);
-      });
-      return Promise.race([promise, timeoutPromise]).then((result) => {
-        clearTimeout(timeoutHandle);
-        return result;
-      });
-    });
-  }
-});
-
-// node_modules/@actions/cache/lib/options.js
-var require_options = __commonJS({
-  "node_modules/@actions/cache/lib/options.js"(exports2) {
-    "use strict";
-    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = 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 ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+      const resolverFn = (...args) => {
+        if (!isAborted) {
+          process2.nextTick(() => callback.apply(stream, args));
         }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getUploadOptions = getUploadOptions;
-    exports2.getDownloadOptions = getDownloadOptions;
-    var core14 = __importStar2(require_core());
-    function getUploadOptions(copy) {
-      const result = {
-        useAzureSdk: false,
-        uploadConcurrency: 4,
-        uploadChunkSize: 32 * 1024 * 1024
       };
-      if (copy) {
-        if (typeof copy.useAzureSdk === "boolean") {
-          result.useAzureSdk = copy.useAzureSdk;
-        }
-        if (typeof copy.uploadConcurrency === "number") {
-          result.uploadConcurrency = copy.uploadConcurrency;
+      PromisePrototypeThen(stream[kIsClosedPromise].promise, resolverFn, resolverFn);
+      return nop;
+    }
+    function finished(stream, opts) {
+      var _opts;
+      let autoCleanup = false;
+      if (opts === null) {
+        opts = kEmptyObject;
+      }
+      if ((_opts = opts) !== null && _opts !== void 0 && _opts.cleanup) {
+        validateBoolean(opts.cleanup, "cleanup");
+        autoCleanup = opts.cleanup;
+      }
+      return new Promise2((resolve3, reject) => {
+        const cleanup = eos(stream, opts, (err) => {
+          if (autoCleanup) {
+            cleanup();
+          }
+          if (err) {
+            reject(err);
+          } else {
+            resolve3();
+          }
+        });
+      });
+    }
+    module2.exports = eos;
+    module2.exports.finished = finished;
+  }
+});
+
+// node_modules/readable-stream/lib/internal/streams/destroy.js
+var require_destroy2 = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/destroy.js"(exports2, module2) {
+    "use strict";
+    var process2 = require_process();
+    var {
+      aggregateTwoErrors,
+      codes: { ERR_MULTIPLE_CALLBACK },
+      AbortError
+    } = require_errors5();
+    var { Symbol: Symbol2 } = require_primordials();
+    var { kIsDestroyed, isDestroyed, isFinished, isServerRequest } = require_utils8();
+    var kDestroy = Symbol2("kDestroy");
+    var kConstruct = Symbol2("kConstruct");
+    function checkError(err, w, r) {
+      if (err) {
+        err.stack;
+        if (w && !w.errored) {
+          w.errored = err;
         }
-        if (typeof copy.uploadChunkSize === "number") {
-          result.uploadChunkSize = copy.uploadChunkSize;
+        if (r && !r.errored) {
+          r.errored = err;
         }
       }
-      result.uploadConcurrency = !isNaN(Number(process.env["CACHE_UPLOAD_CONCURRENCY"])) ? Math.min(32, Number(process.env["CACHE_UPLOAD_CONCURRENCY"])) : result.uploadConcurrency;
-      result.uploadChunkSize = !isNaN(Number(process.env["CACHE_UPLOAD_CHUNK_SIZE"])) ? Math.min(128 * 1024 * 1024, Number(process.env["CACHE_UPLOAD_CHUNK_SIZE"]) * 1024 * 1024) : result.uploadChunkSize;
-      core14.debug(`Use Azure SDK: ${result.useAzureSdk}`);
-      core14.debug(`Upload concurrency: ${result.uploadConcurrency}`);
-      core14.debug(`Upload chunk size: ${result.uploadChunkSize}`);
-      return result;
     }
-    function getDownloadOptions(copy) {
-      const result = {
-        useAzureSdk: false,
-        concurrentBlobDownloads: true,
-        downloadConcurrency: 8,
-        timeoutInMs: 3e4,
-        segmentTimeoutInMs: 6e5,
-        lookupOnly: false
-      };
-      if (copy) {
-        if (typeof copy.useAzureSdk === "boolean") {
-          result.useAzureSdk = copy.useAzureSdk;
+    function destroy(err, cb) {
+      const r = this._readableState;
+      const w = this._writableState;
+      const s = w || r;
+      if (w !== null && w !== void 0 && w.destroyed || r !== null && r !== void 0 && r.destroyed) {
+        if (typeof cb === "function") {
+          cb();
         }
-        if (typeof copy.concurrentBlobDownloads === "boolean") {
-          result.concurrentBlobDownloads = copy.concurrentBlobDownloads;
+        return this;
+      }
+      checkError(err, w, r);
+      if (w) {
+        w.destroyed = true;
+      }
+      if (r) {
+        r.destroyed = true;
+      }
+      if (!s.constructed) {
+        this.once(kDestroy, function(er) {
+          _destroy(this, aggregateTwoErrors(er, err), cb);
+        });
+      } else {
+        _destroy(this, err, cb);
+      }
+      return this;
+    }
+    function _destroy(self2, err, cb) {
+      let called = false;
+      function onDestroy(err2) {
+        if (called) {
+          return;
         }
-        if (typeof copy.downloadConcurrency === "number") {
-          result.downloadConcurrency = copy.downloadConcurrency;
+        called = true;
+        const r = self2._readableState;
+        const w = self2._writableState;
+        checkError(err2, w, r);
+        if (w) {
+          w.closed = true;
         }
-        if (typeof copy.timeoutInMs === "number") {
-          result.timeoutInMs = copy.timeoutInMs;
+        if (r) {
+          r.closed = true;
         }
-        if (typeof copy.segmentTimeoutInMs === "number") {
-          result.segmentTimeoutInMs = copy.segmentTimeoutInMs;
+        if (typeof cb === "function") {
+          cb(err2);
         }
-        if (typeof copy.lookupOnly === "boolean") {
-          result.lookupOnly = copy.lookupOnly;
+        if (err2) {
+          process2.nextTick(emitErrorCloseNT, self2, err2);
+        } else {
+          process2.nextTick(emitCloseNT, self2);
         }
       }
-      const segmentDownloadTimeoutMins = process.env["SEGMENT_DOWNLOAD_TIMEOUT_MINS"];
-      if (segmentDownloadTimeoutMins && !isNaN(Number(segmentDownloadTimeoutMins)) && isFinite(Number(segmentDownloadTimeoutMins))) {
-        result.segmentTimeoutInMs = Number(segmentDownloadTimeoutMins) * 60 * 1e3;
+      try {
+        self2._destroy(err || null, onDestroy);
+      } catch (err2) {
+        onDestroy(err2);
       }
-      core14.debug(`Use Azure SDK: ${result.useAzureSdk}`);
-      core14.debug(`Download concurrency: ${result.downloadConcurrency}`);
-      core14.debug(`Request timeout (ms): ${result.timeoutInMs}`);
-      core14.debug(`Cache segment download timeout mins env var: ${process.env["SEGMENT_DOWNLOAD_TIMEOUT_MINS"]}`);
-      core14.debug(`Segment download timeout (ms): ${result.segmentTimeoutInMs}`);
-      core14.debug(`Lookup only: ${result.lookupOnly}`);
-      return result;
-    }
-  }
-});
-
-// node_modules/@actions/cache/lib/internal/config.js
-var require_config = __commonJS({
-  "node_modules/@actions/cache/lib/internal/config.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isGhes = isGhes;
-    exports2.getCacheServiceVersion = getCacheServiceVersion;
-    exports2.getCacheServiceURL = getCacheServiceURL;
-    function isGhes() {
-      const ghUrl = new URL(process.env["GITHUB_SERVER_URL"] || "https://github.com");
-      const hostname = ghUrl.hostname.trimEnd().toUpperCase();
-      const isGitHubHost = hostname === "GITHUB.COM";
-      const isGheHost = hostname.endsWith(".GHE.COM");
-      const isLocalHost = hostname.endsWith(".LOCALHOST");
-      return !isGitHubHost && !isGheHost && !isLocalHost;
     }
-    function getCacheServiceVersion() {
-      if (isGhes())
-        return "v1";
-      return process.env["ACTIONS_CACHE_SERVICE_V2"] ? "v2" : "v1";
+    function emitErrorCloseNT(self2, err) {
+      emitErrorNT(self2, err);
+      emitCloseNT(self2);
     }
-    function getCacheServiceURL() {
-      const version = getCacheServiceVersion();
-      switch (version) {
-        case "v1":
-          return process.env["ACTIONS_CACHE_URL"] || process.env["ACTIONS_RESULTS_URL"] || "";
-        case "v2":
-          return process.env["ACTIONS_RESULTS_URL"] || "";
-        default:
-          throw new Error(`Unsupported cache service version: ${version}`);
+    function emitCloseNT(self2) {
+      const r = self2._readableState;
+      const w = self2._writableState;
+      if (w) {
+        w.closeEmitted = true;
+      }
+      if (r) {
+        r.closeEmitted = true;
+      }
+      if (w !== null && w !== void 0 && w.emitClose || r !== null && r !== void 0 && r.emitClose) {
+        self2.emit("close");
       }
     }
-  }
-});
-
-// node_modules/@actions/cache/package.json
-var require_package2 = __commonJS({
-  "node_modules/@actions/cache/package.json"(exports2, module2) {
-    module2.exports = {
-      name: "@actions/cache",
-      version: "5.0.5",
-      preview: true,
-      description: "Actions cache lib",
-      keywords: [
-        "github",
-        "actions",
-        "cache"
-      ],
-      homepage: "https://github.com/actions/toolkit/tree/main/packages/cache",
-      license: "MIT",
-      main: "lib/cache.js",
-      types: "lib/cache.d.ts",
-      directories: {
-        lib: "lib",
-        test: "__tests__"
-      },
-      files: [
-        "lib",
-        "!.DS_Store"
-      ],
-      publishConfig: {
-        access: "public"
-      },
-      repository: {
-        type: "git",
-        url: "git+https://github.com/actions/toolkit.git",
-        directory: "packages/cache"
-      },
-      scripts: {
-        "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json",
-        test: 'echo "Error: run tests from root" && exit 1',
-        tsc: "tsc"
-      },
-      bugs: {
-        url: "https://github.com/actions/toolkit/issues"
-      },
-      dependencies: {
-        "@actions/core": "^2.0.0",
-        "@actions/exec": "^2.0.0",
-        "@actions/glob": "^0.5.1",
-        "@protobuf-ts/runtime-rpc": "^2.11.1",
-        "@actions/http-client": "^3.0.2",
-        "@actions/io": "^2.0.0",
-        "@azure/abort-controller": "^1.1.0",
-        "@azure/core-rest-pipeline": "^1.22.0",
-        "@azure/storage-blob": "^12.29.1",
-        semver: "^6.3.1"
-      },
-      devDependencies: {
-        "@types/node": "^24.1.0",
-        "@types/semver": "^6.0.0",
-        "@protobuf-ts/plugin": "^2.9.4",
-        typescript: "^5.2.2"
-      },
-      overrides: {
-        "uri-js": "npm:uri-js-replace@^1.0.1",
-        "node-fetch": "^3.3.2"
+    function emitErrorNT(self2, err) {
+      const r = self2._readableState;
+      const w = self2._writableState;
+      if (w !== null && w !== void 0 && w.errorEmitted || r !== null && r !== void 0 && r.errorEmitted) {
+        return;
       }
-    };
-  }
-});
-
-// node_modules/@actions/cache/lib/internal/shared/user-agent.js
-var require_user_agent = __commonJS({
-  "node_modules/@actions/cache/lib/internal/shared/user-agent.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getUserAgentString = getUserAgentString;
-    var packageJson = require_package2();
-    function getUserAgentString() {
-      return `@actions/cache-${packageJson.version}`;
+      if (w) {
+        w.errorEmitted = true;
+      }
+      if (r) {
+        r.errorEmitted = true;
+      }
+      self2.emit("error", err);
     }
-  }
-});
-
-// node_modules/@actions/cache/lib/internal/cacheHttpClient.js
-var require_cacheHttpClient = __commonJS({
-  "node_modules/@actions/cache/lib/internal/cacheHttpClient.js"(exports2) {
-    "use strict";
-    var __createBinding2 = 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];
-        } };
+    function undestroy() {
+      const r = this._readableState;
+      const w = this._writableState;
+      if (r) {
+        r.constructed = true;
+        r.closed = false;
+        r.closeEmitted = false;
+        r.destroyed = false;
+        r.errored = null;
+        r.errorEmitted = false;
+        r.reading = false;
+        r.ended = r.readable === false;
+        r.endEmitted = r.readable === false;
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = 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 ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
-        }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve3) {
-          resolve3(value);
-        });
+      if (w) {
+        w.constructed = true;
+        w.destroyed = false;
+        w.closed = false;
+        w.closeEmitted = false;
+        w.errored = null;
+        w.errorEmitted = false;
+        w.finalCalled = false;
+        w.prefinished = false;
+        w.ended = w.writable === false;
+        w.ending = w.writable === false;
+        w.finished = w.writable === false;
       }
-      return new (P || (P = Promise))(function(resolve3, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
+    }
+    function errorOrDestroy(stream, err, sync) {
+      const r = stream._readableState;
+      const w = stream._writableState;
+      if (w !== null && w !== void 0 && w.destroyed || r !== null && r !== void 0 && r.destroyed) {
+        return this;
+      }
+      if (r !== null && r !== void 0 && r.autoDestroy || w !== null && w !== void 0 && w.autoDestroy)
+        stream.destroy(err);
+      else if (err) {
+        err.stack;
+        if (w && !w.errored) {
+          w.errored = err;
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
+        if (r && !r.errored) {
+          r.errored = err;
         }
-        function step(result) {
-          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        if (sync) {
+          process2.nextTick(emitErrorNT, stream, err);
+        } else {
+          emitErrorNT(stream, err);
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getCacheEntry = getCacheEntry;
-    exports2.downloadCache = downloadCache;
-    exports2.reserveCache = reserveCache;
-    exports2.saveCache = saveCache4;
-    var core14 = __importStar2(require_core());
-    var http_client_1 = require_lib();
-    var auth_1 = require_auth();
-    var fs3 = __importStar2(require("fs"));
-    var url_1 = require("url");
-    var utils = __importStar2(require_cacheUtils());
-    var uploadUtils_1 = require_uploadUtils();
-    var downloadUtils_1 = require_downloadUtils();
-    var options_1 = require_options();
-    var requestUtils_1 = require_requestUtils();
-    var config_1 = require_config();
-    var user_agent_1 = require_user_agent();
-    function getCacheApiUrl(resource) {
-      const baseUrl = (0, config_1.getCacheServiceURL)();
-      if (!baseUrl) {
-        throw new Error("Cache Service Url not found, unable to restore cache.");
       }
-      const url = `${baseUrl}_apis/artifactcache/${resource}`;
-      core14.debug(`Resource Url: ${url}`);
-      return url;
-    }
-    function createAcceptHeader(type2, apiVersion) {
-      return `${type2};api-version=${apiVersion}`;
-    }
-    function getRequestOptions() {
-      const requestOptions = {
-        headers: {
-          Accept: createAcceptHeader("application/json", "6.0-preview.1")
-        }
-      };
-      return requestOptions;
     }
-    function createHttpClient() {
-      const token = process.env["ACTIONS_RUNTIME_TOKEN"] || "";
-      const bearerCredentialHandler = new auth_1.BearerCredentialHandler(token);
-      return new http_client_1.HttpClient((0, user_agent_1.getUserAgentString)(), [bearerCredentialHandler], getRequestOptions());
+    function construct(stream, cb) {
+      if (typeof stream._construct !== "function") {
+        return;
+      }
+      const r = stream._readableState;
+      const w = stream._writableState;
+      if (r) {
+        r.constructed = false;
+      }
+      if (w) {
+        w.constructed = false;
+      }
+      stream.once(kConstruct, cb);
+      if (stream.listenerCount(kConstruct) > 1) {
+        return;
+      }
+      process2.nextTick(constructNT, stream);
     }
-    function getCacheEntry(keys, paths, options) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const httpClient = createHttpClient();
-        const version = utils.getCacheVersion(paths, options === null || options === void 0 ? void 0 : options.compressionMethod, options === null || options === void 0 ? void 0 : options.enableCrossOsArchive);
-        const resource = `cache?keys=${encodeURIComponent(keys.join(","))}&version=${version}`;
-        const response = yield (0, requestUtils_1.retryTypedResponse)("getCacheEntry", () => __awaiter2(this, void 0, void 0, function* () {
-          return httpClient.getJson(getCacheApiUrl(resource));
-        }));
-        if (response.statusCode === 204) {
-          if (core14.isDebug()) {
-            yield printCachesListForDiagnostics(keys[0], httpClient, version);
-          }
-          return null;
-        }
-        if (!(0, requestUtils_1.isSuccessStatusCode)(response.statusCode)) {
-          throw new Error(`Cache service responded with ${response.statusCode}`);
+    function constructNT(stream) {
+      let called = false;
+      function onConstruct(err) {
+        if (called) {
+          errorOrDestroy(stream, err !== null && err !== void 0 ? err : new ERR_MULTIPLE_CALLBACK());
+          return;
         }
-        const cacheResult = response.result;
-        const cacheDownloadUrl = cacheResult === null || cacheResult === void 0 ? void 0 : cacheResult.archiveLocation;
-        if (!cacheDownloadUrl) {
-          throw new Error("Cache not found.");
+        called = true;
+        const r = stream._readableState;
+        const w = stream._writableState;
+        const s = w || r;
+        if (r) {
+          r.constructed = true;
         }
-        core14.setSecret(cacheDownloadUrl);
-        core14.debug(`Cache Result:`);
-        core14.debug(JSON.stringify(cacheResult));
-        return cacheResult;
-      });
-    }
-    function printCachesListForDiagnostics(key, httpClient, version) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const resource = `caches?key=${encodeURIComponent(key)}`;
-        const response = yield (0, requestUtils_1.retryTypedResponse)("listCache", () => __awaiter2(this, void 0, void 0, function* () {
-          return httpClient.getJson(getCacheApiUrl(resource));
-        }));
-        if (response.statusCode === 200) {
-          const cacheListResult = response.result;
-          const totalCount = cacheListResult === null || cacheListResult === void 0 ? void 0 : cacheListResult.totalCount;
-          if (totalCount && totalCount > 0) {
-            core14.debug(`No matching cache found for cache key '${key}', version '${version} and scope ${process.env["GITHUB_REF"]}. There exist one or more cache(s) with similar key but they have different version or scope. See more info on cache matching here: https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#matching-a-cache-key 
-Other caches with similar key:`);
-            for (const cacheEntry of (cacheListResult === null || cacheListResult === void 0 ? void 0 : cacheListResult.artifactCaches) || []) {
-              core14.debug(`Cache Key: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.cacheKey}, Cache Version: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.cacheVersion}, Cache Scope: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.scope}, Cache Created: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.creationTime}`);
-            }
-          }
+        if (w) {
+          w.constructed = true;
         }
-      });
-    }
-    function downloadCache(archiveLocation, archivePath, options) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const archiveUrl = new url_1.URL(archiveLocation);
-        const downloadOptions = (0, options_1.getDownloadOptions)(options);
-        if (archiveUrl.hostname.endsWith(".blob.core.windows.net")) {
-          if (downloadOptions.useAzureSdk) {
-            yield (0, downloadUtils_1.downloadCacheStorageSDK)(archiveLocation, archivePath, downloadOptions);
-          } else if (downloadOptions.concurrentBlobDownloads) {
-            yield (0, downloadUtils_1.downloadCacheHttpClientConcurrent)(archiveLocation, archivePath, downloadOptions);
-          } else {
-            yield (0, downloadUtils_1.downloadCacheHttpClient)(archiveLocation, archivePath);
-          }
+        if (s.destroyed) {
+          stream.emit(kDestroy, err);
+        } else if (err) {
+          errorOrDestroy(stream, err, true);
         } else {
-          yield (0, downloadUtils_1.downloadCacheHttpClient)(archiveLocation, archivePath);
+          process2.nextTick(emitConstructNT, stream);
         }
-      });
-    }
-    function reserveCache(key, paths, options) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const httpClient = createHttpClient();
-        const version = utils.getCacheVersion(paths, options === null || options === void 0 ? void 0 : options.compressionMethod, options === null || options === void 0 ? void 0 : options.enableCrossOsArchive);
-        const reserveCacheRequest = {
-          key,
-          version,
-          cacheSize: options === null || options === void 0 ? void 0 : options.cacheSize
-        };
-        const response = yield (0, requestUtils_1.retryTypedResponse)("reserveCache", () => __awaiter2(this, void 0, void 0, function* () {
-          return httpClient.postJson(getCacheApiUrl("caches"), reserveCacheRequest);
-        }));
-        return response;
-      });
-    }
-    function getContentRange(start, end) {
-      return `bytes ${start}-${end}/*`;
+      }
+      try {
+        stream._construct((err) => {
+          process2.nextTick(onConstruct, err);
+        });
+      } catch (err) {
+        process2.nextTick(onConstruct, err);
+      }
     }
-    function uploadChunk(httpClient, resourceUrl, openStream, start, end) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        core14.debug(`Uploading chunk of size ${end - start + 1} bytes at offset ${start} with content range: ${getContentRange(start, end)}`);
-        const additionalHeaders = {
-          "Content-Type": "application/octet-stream",
-          "Content-Range": getContentRange(start, end)
-        };
-        const uploadChunkResponse = yield (0, requestUtils_1.retryHttpClientResponse)(`uploadChunk (start: ${start}, end: ${end})`, () => __awaiter2(this, void 0, void 0, function* () {
-          return httpClient.sendStream("PATCH", resourceUrl, openStream(), additionalHeaders);
-        }));
-        if (!(0, requestUtils_1.isSuccessStatusCode)(uploadChunkResponse.message.statusCode)) {
-          throw new Error(`Cache service responded with ${uploadChunkResponse.message.statusCode} during upload chunk.`);
-        }
-      });
+    function emitConstructNT(stream) {
+      stream.emit(kConstruct);
     }
-    function uploadFile(httpClient, cacheId, archivePath, options) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const fileSize = utils.getArchiveFileSizeInBytes(archivePath);
-        const resourceUrl = getCacheApiUrl(`caches/${cacheId.toString()}`);
-        const fd = fs3.openSync(archivePath, "r");
-        const uploadOptions = (0, options_1.getUploadOptions)(options);
-        const concurrency = utils.assertDefined("uploadConcurrency", uploadOptions.uploadConcurrency);
-        const maxChunkSize = utils.assertDefined("uploadChunkSize", uploadOptions.uploadChunkSize);
-        const parallelUploads = [...new Array(concurrency).keys()];
-        core14.debug("Awaiting all uploads");
-        let offset = 0;
-        try {
-          yield Promise.all(parallelUploads.map(() => __awaiter2(this, void 0, void 0, function* () {
-            while (offset < fileSize) {
-              const chunkSize = Math.min(fileSize - offset, maxChunkSize);
-              const start = offset;
-              const end = offset + chunkSize - 1;
-              offset += maxChunkSize;
-              yield uploadChunk(httpClient, resourceUrl, () => fs3.createReadStream(archivePath, {
-                fd,
-                start,
-                end,
-                autoClose: false
-              }).on("error", (error3) => {
-                throw new Error(`Cache upload failed because file read failed with ${error3.message}`);
-              }), start, end);
-            }
-          })));
-        } finally {
-          fs3.closeSync(fd);
-        }
-        return;
-      });
+    function isRequest(stream) {
+      return (stream === null || stream === void 0 ? void 0 : stream.setHeader) && typeof stream.abort === "function";
     }
-    function commitCache(httpClient, cacheId, filesize) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const commitCacheRequest = { size: filesize };
-        return yield (0, requestUtils_1.retryTypedResponse)("commitCache", () => __awaiter2(this, void 0, void 0, function* () {
-          return httpClient.postJson(getCacheApiUrl(`caches/${cacheId.toString()}`), commitCacheRequest);
-        }));
-      });
+    function emitCloseLegacy(stream) {
+      stream.emit("close");
     }
-    function saveCache4(cacheId, archivePath, signedUploadURL, options) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const uploadOptions = (0, options_1.getUploadOptions)(options);
-        if (uploadOptions.useAzureSdk) {
-          if (!signedUploadURL) {
-            throw new Error("Azure Storage SDK can only be used when a signed URL is provided.");
-          }
-          yield (0, uploadUtils_1.uploadCacheArchiveSDK)(signedUploadURL, archivePath, options);
-        } else {
-          const httpClient = createHttpClient();
-          core14.debug("Upload cache");
-          yield uploadFile(httpClient, cacheId, archivePath, options);
-          core14.debug("Commiting cache");
-          const cacheSize = utils.getArchiveFileSizeInBytes(archivePath);
-          core14.info(`Cache Size: ~${Math.round(cacheSize / (1024 * 1024))} MB (${cacheSize} B)`);
-          const commitCacheResponse = yield commitCache(httpClient, cacheId, cacheSize);
-          if (!(0, requestUtils_1.isSuccessStatusCode)(commitCacheResponse.statusCode)) {
-            throw new Error(`Cache service responded with ${commitCacheResponse.statusCode} during commit cache.`);
-          }
-          core14.info("Cache saved successfully");
-        }
-      });
+    function emitErrorCloseLegacy(stream, err) {
+      stream.emit("error", err);
+      process2.nextTick(emitCloseLegacy, stream);
     }
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/json-typings.js
-var require_json_typings = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/json-typings.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isJsonObject = exports2.typeofJsonValue = void 0;
-    function typeofJsonValue(value) {
-      let t = typeof value;
-      if (t == "object") {
-        if (Array.isArray(value))
-          return "array";
-        if (value === null)
-          return "null";
+    function destroyer(stream, err) {
+      if (!stream || isDestroyed(stream)) {
+        return;
+      }
+      if (!err && !isFinished(stream)) {
+        err = new AbortError();
+      }
+      if (isServerRequest(stream)) {
+        stream.socket = null;
+        stream.destroy(err);
+      } else if (isRequest(stream)) {
+        stream.abort();
+      } else if (isRequest(stream.req)) {
+        stream.req.abort();
+      } else if (typeof stream.destroy === "function") {
+        stream.destroy(err);
+      } else if (typeof stream.close === "function") {
+        stream.close();
+      } else if (err) {
+        process2.nextTick(emitErrorCloseLegacy, stream, err);
+      } else {
+        process2.nextTick(emitCloseLegacy, stream);
+      }
+      if (!stream.destroyed) {
+        stream[kIsDestroyed] = true;
       }
-      return t;
-    }
-    exports2.typeofJsonValue = typeofJsonValue;
-    function isJsonObject(value) {
-      return value !== null && typeof value == "object" && !Array.isArray(value);
     }
-    exports2.isJsonObject = isJsonObject;
+    module2.exports = {
+      construct,
+      destroyer,
+      destroy,
+      undestroy,
+      errorOrDestroy
+    };
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/base64.js
-var require_base642 = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/base64.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/legacy.js
+var require_legacy = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/legacy.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.base64encode = exports2.base64decode = void 0;
-    var encTable = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");
-    var decTable = [];
-    for (let i = 0; i < encTable.length; i++)
-      decTable[encTable[i].charCodeAt(0)] = i;
-    decTable["-".charCodeAt(0)] = encTable.indexOf("+");
-    decTable["_".charCodeAt(0)] = encTable.indexOf("/");
-    function base64decode(base64Str) {
-      let es = base64Str.length * 3 / 4;
-      if (base64Str[base64Str.length - 2] == "=")
-        es -= 2;
-      else if (base64Str[base64Str.length - 1] == "=")
-        es -= 1;
-      let bytes = new Uint8Array(es), bytePos = 0, groupPos = 0, b, p = 0;
-      for (let i = 0; i < base64Str.length; i++) {
-        b = decTable[base64Str.charCodeAt(i)];
-        if (b === void 0) {
-          switch (base64Str[i]) {
-            case "=":
-              groupPos = 0;
-            // reset state when padding found
-            case "\n":
-            case "\r":
-            case "	":
-            case " ":
-              continue;
-            // skip white-space, and padding
-            default:
-              throw Error(`invalid base64 string.`);
-          }
-        }
-        switch (groupPos) {
-          case 0:
-            p = b;
-            groupPos = 1;
-            break;
-          case 1:
-            bytes[bytePos++] = p << 2 | (b & 48) >> 4;
-            p = b;
-            groupPos = 2;
-            break;
-          case 2:
-            bytes[bytePos++] = (p & 15) << 4 | (b & 60) >> 2;
-            p = b;
-            groupPos = 3;
-            break;
-          case 3:
-            bytes[bytePos++] = (p & 3) << 6 | b;
-            groupPos = 0;
-            break;
+    var { ArrayIsArray, ObjectSetPrototypeOf } = require_primordials();
+    var { EventEmitter: EE } = require("events");
+    function Stream(opts) {
+      EE.call(this, opts);
+    }
+    ObjectSetPrototypeOf(Stream.prototype, EE.prototype);
+    ObjectSetPrototypeOf(Stream, EE);
+    Stream.prototype.pipe = function(dest, options) {
+      const source = this;
+      function ondata(chunk) {
+        if (dest.writable && dest.write(chunk) === false && source.pause) {
+          source.pause();
         }
       }
-      if (groupPos == 1)
-        throw Error(`invalid base64 string.`);
-      return bytes.subarray(0, bytePos);
-    }
-    exports2.base64decode = base64decode;
-    function base64encode(bytes) {
-      let base64 = "", groupPos = 0, b, p = 0;
-      for (let i = 0; i < bytes.length; i++) {
-        b = bytes[i];
-        switch (groupPos) {
-          case 0:
-            base64 += encTable[b >> 2];
-            p = (b & 3) << 4;
-            groupPos = 1;
-            break;
-          case 1:
-            base64 += encTable[p | b >> 4];
-            p = (b & 15) << 2;
-            groupPos = 2;
-            break;
-          case 2:
-            base64 += encTable[p | b >> 6];
-            base64 += encTable[b & 63];
-            groupPos = 0;
-            break;
+      source.on("data", ondata);
+      function ondrain() {
+        if (source.readable && source.resume) {
+          source.resume();
         }
       }
-      if (groupPos) {
-        base64 += encTable[p];
-        base64 += "=";
-        if (groupPos == 1)
-          base64 += "=";
+      dest.on("drain", ondrain);
+      if (!dest._isStdio && (!options || options.end !== false)) {
+        source.on("end", onend);
+        source.on("close", onclose);
       }
-      return base64;
-    }
-    exports2.base64encode = base64encode;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/protobufjs-utf8.js
-var require_protobufjs_utf8 = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/protobufjs-utf8.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.utf8read = void 0;
-    var fromCharCodes = (chunk) => String.fromCharCode.apply(String, chunk);
-    function utf8read(bytes) {
-      if (bytes.length < 1)
-        return "";
-      let pos = 0, parts = [], chunk = [], i = 0, t;
-      let len = bytes.length;
-      while (pos < len) {
-        t = bytes[pos++];
-        if (t < 128)
-          chunk[i++] = t;
-        else if (t > 191 && t < 224)
-          chunk[i++] = (t & 31) << 6 | bytes[pos++] & 63;
-        else if (t > 239 && t < 365) {
-          t = ((t & 7) << 18 | (bytes[pos++] & 63) << 12 | (bytes[pos++] & 63) << 6 | bytes[pos++] & 63) - 65536;
-          chunk[i++] = 55296 + (t >> 10);
-          chunk[i++] = 56320 + (t & 1023);
-        } else
-          chunk[i++] = (t & 15) << 12 | (bytes[pos++] & 63) << 6 | bytes[pos++] & 63;
-        if (i > 8191) {
-          parts.push(fromCharCodes(chunk));
-          i = 0;
+      let didOnEnd = false;
+      function onend() {
+        if (didOnEnd) return;
+        didOnEnd = true;
+        dest.end();
+      }
+      function onclose() {
+        if (didOnEnd) return;
+        didOnEnd = true;
+        if (typeof dest.destroy === "function") dest.destroy();
+      }
+      function onerror(er) {
+        cleanup();
+        if (EE.listenerCount(this, "error") === 0) {
+          this.emit("error", er);
         }
       }
-      if (parts.length) {
-        if (i)
-          parts.push(fromCharCodes(chunk.slice(0, i)));
-        return parts.join("");
+      prependListener(source, "error", onerror);
+      prependListener(dest, "error", onerror);
+      function cleanup() {
+        source.removeListener("data", ondata);
+        dest.removeListener("drain", ondrain);
+        source.removeListener("end", onend);
+        source.removeListener("close", onclose);
+        source.removeListener("error", onerror);
+        dest.removeListener("error", onerror);
+        source.removeListener("end", cleanup);
+        source.removeListener("close", cleanup);
+        dest.removeListener("close", cleanup);
       }
-      return fromCharCodes(chunk.slice(0, i));
+      source.on("end", cleanup);
+      source.on("close", cleanup);
+      dest.on("close", cleanup);
+      dest.emit("pipe", source);
+      return dest;
+    };
+    function prependListener(emitter, event, fn) {
+      if (typeof emitter.prependListener === "function") return emitter.prependListener(event, fn);
+      if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);
+      else if (ArrayIsArray(emitter._events[event])) emitter._events[event].unshift(fn);
+      else emitter._events[event] = [fn, emitter._events[event]];
     }
-    exports2.utf8read = utf8read;
+    module2.exports = {
+      Stream,
+      prependListener
+    };
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/binary-format-contract.js
-var require_binary_format_contract = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/binary-format-contract.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/add-abort-signal.js
+var require_add_abort_signal = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/add-abort-signal.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.WireType = exports2.mergeBinaryOptions = exports2.UnknownFieldHandler = void 0;
-    var UnknownFieldHandler;
-    (function(UnknownFieldHandler2) {
-      UnknownFieldHandler2.symbol = /* @__PURE__ */ Symbol.for("protobuf-ts/unknown");
-      UnknownFieldHandler2.onRead = (typeName, message, fieldNo, wireType, data) => {
-        let container = is(message) ? message[UnknownFieldHandler2.symbol] : message[UnknownFieldHandler2.symbol] = [];
-        container.push({ no: fieldNo, wireType, data });
-      };
-      UnknownFieldHandler2.onWrite = (typeName, message, writer) => {
-        for (let { no, wireType, data } of UnknownFieldHandler2.list(message))
-          writer.tag(no, wireType).raw(data);
-      };
-      UnknownFieldHandler2.list = (message, fieldNo) => {
-        if (is(message)) {
-          let all = message[UnknownFieldHandler2.symbol];
-          return fieldNo ? all.filter((uf) => uf.no == fieldNo) : all;
-        }
-        return [];
+    var { SymbolDispose } = require_primordials();
+    var { AbortError, codes } = require_errors5();
+    var { isNodeStream, isWebStream, kControllerErrorFunction } = require_utils8();
+    var eos = require_end_of_stream();
+    var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2 } = codes;
+    var addAbortListener;
+    var validateAbortSignal = (signal, name) => {
+      if (typeof signal !== "object" || !("aborted" in signal)) {
+        throw new ERR_INVALID_ARG_TYPE2(name, "AbortSignal", signal);
+      }
+    };
+    module2.exports.addAbortSignal = function addAbortSignal(signal, stream) {
+      validateAbortSignal(signal, "signal");
+      if (!isNodeStream(stream) && !isWebStream(stream)) {
+        throw new ERR_INVALID_ARG_TYPE2("stream", ["ReadableStream", "WritableStream", "Stream"], stream);
+      }
+      return module2.exports.addAbortSignalNoValidate(signal, stream);
+    };
+    module2.exports.addAbortSignalNoValidate = function(signal, stream) {
+      if (typeof signal !== "object" || !("aborted" in signal)) {
+        return stream;
+      }
+      const onAbort = isNodeStream(stream) ? () => {
+        stream.destroy(
+          new AbortError(void 0, {
+            cause: signal.reason
+          })
+        );
+      } : () => {
+        stream[kControllerErrorFunction](
+          new AbortError(void 0, {
+            cause: signal.reason
+          })
+        );
       };
-      UnknownFieldHandler2.last = (message, fieldNo) => UnknownFieldHandler2.list(message, fieldNo).slice(-1)[0];
-      const is = (message) => message && Array.isArray(message[UnknownFieldHandler2.symbol]);
-    })(UnknownFieldHandler = exports2.UnknownFieldHandler || (exports2.UnknownFieldHandler = {}));
-    function mergeBinaryOptions(a, b) {
-      return Object.assign(Object.assign({}, a), b);
-    }
-    exports2.mergeBinaryOptions = mergeBinaryOptions;
-    var WireType;
-    (function(WireType2) {
-      WireType2[WireType2["Varint"] = 0] = "Varint";
-      WireType2[WireType2["Bit64"] = 1] = "Bit64";
-      WireType2[WireType2["LengthDelimited"] = 2] = "LengthDelimited";
-      WireType2[WireType2["StartGroup"] = 3] = "StartGroup";
-      WireType2[WireType2["EndGroup"] = 4] = "EndGroup";
-      WireType2[WireType2["Bit32"] = 5] = "Bit32";
-    })(WireType = exports2.WireType || (exports2.WireType = {}));
+      if (signal.aborted) {
+        onAbort();
+      } else {
+        addAbortListener = addAbortListener || require_util21().addAbortListener;
+        const disposable = addAbortListener(signal, onAbort);
+        eos(stream, disposable[SymbolDispose]);
+      }
+      return stream;
+    };
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/goog-varint.js
-var require_goog_varint = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/goog-varint.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/buffer_list.js
+var require_buffer_list = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/buffer_list.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.varint32read = exports2.varint32write = exports2.int64toString = exports2.int64fromString = exports2.varint64write = exports2.varint64read = void 0;
-    function varint64read() {
-      let lowBits = 0;
-      let highBits = 0;
-      for (let shift = 0; shift < 28; shift += 7) {
-        let b = this.buf[this.pos++];
-        lowBits |= (b & 127) << shift;
-        if ((b & 128) == 0) {
-          this.assertBounds();
-          return [lowBits, highBits];
-        }
-      }
-      let middleByte = this.buf[this.pos++];
-      lowBits |= (middleByte & 15) << 28;
-      highBits = (middleByte & 112) >> 4;
-      if ((middleByte & 128) == 0) {
-        this.assertBounds();
-        return [lowBits, highBits];
-      }
-      for (let shift = 3; shift <= 31; shift += 7) {
-        let b = this.buf[this.pos++];
-        highBits |= (b & 127) << shift;
-        if ((b & 128) == 0) {
-          this.assertBounds();
-          return [lowBits, highBits];
-        }
-      }
-      throw new Error("invalid varint");
-    }
-    exports2.varint64read = varint64read;
-    function varint64write(lo, hi, bytes) {
-      for (let i = 0; i < 28; i = i + 7) {
-        const shift = lo >>> i;
-        const hasNext = !(shift >>> 7 == 0 && hi == 0);
-        const byte = (hasNext ? shift | 128 : shift) & 255;
-        bytes.push(byte);
-        if (!hasNext) {
-          return;
-        }
-      }
-      const splitBits = lo >>> 28 & 15 | (hi & 7) << 4;
-      const hasMoreBits = !(hi >> 3 == 0);
-      bytes.push((hasMoreBits ? splitBits | 128 : splitBits) & 255);
-      if (!hasMoreBits) {
-        return;
+    var { StringPrototypeSlice, SymbolIterator, TypedArrayPrototypeSet, Uint8Array: Uint8Array2 } = require_primordials();
+    var { Buffer: Buffer2 } = require("buffer");
+    var { inspect } = require_util21();
+    module2.exports = class BufferList {
+      constructor() {
+        this.head = null;
+        this.tail = null;
+        this.length = 0;
       }
-      for (let i = 3; i < 31; i = i + 7) {
-        const shift = hi >>> i;
-        const hasNext = !(shift >>> 7 == 0);
-        const byte = (hasNext ? shift | 128 : shift) & 255;
-        bytes.push(byte);
-        if (!hasNext) {
-          return;
-        }
+      push(v) {
+        const entry = {
+          data: v,
+          next: null
+        };
+        if (this.length > 0) this.tail.next = entry;
+        else this.head = entry;
+        this.tail = entry;
+        ++this.length;
       }
-      bytes.push(hi >>> 31 & 1);
-    }
-    exports2.varint64write = varint64write;
-    var TWO_PWR_32_DBL = (1 << 16) * (1 << 16);
-    function int64fromString(dec) {
-      let minus = dec[0] == "-";
-      if (minus)
-        dec = dec.slice(1);
-      const base = 1e6;
-      let lowBits = 0;
-      let highBits = 0;
-      function add1e6digit(begin, end) {
-        const digit1e6 = Number(dec.slice(begin, end));
-        highBits *= base;
-        lowBits = lowBits * base + digit1e6;
-        if (lowBits >= TWO_PWR_32_DBL) {
-          highBits = highBits + (lowBits / TWO_PWR_32_DBL | 0);
-          lowBits = lowBits % TWO_PWR_32_DBL;
-        }
+      unshift(v) {
+        const entry = {
+          data: v,
+          next: this.head
+        };
+        if (this.length === 0) this.tail = entry;
+        this.head = entry;
+        ++this.length;
       }
-      add1e6digit(-24, -18);
-      add1e6digit(-18, -12);
-      add1e6digit(-12, -6);
-      add1e6digit(-6);
-      return [minus, lowBits, highBits];
-    }
-    exports2.int64fromString = int64fromString;
-    function int64toString(bitsLow, bitsHigh) {
-      if (bitsHigh >>> 0 <= 2097151) {
-        return "" + (TWO_PWR_32_DBL * bitsHigh + (bitsLow >>> 0));
+      shift() {
+        if (this.length === 0) return;
+        const ret = this.head.data;
+        if (this.length === 1) this.head = this.tail = null;
+        else this.head = this.head.next;
+        --this.length;
+        return ret;
       }
-      let low = bitsLow & 16777215;
-      let mid = (bitsLow >>> 24 | bitsHigh << 8) >>> 0 & 16777215;
-      let high = bitsHigh >> 16 & 65535;
-      let digitA = low + mid * 6777216 + high * 6710656;
-      let digitB = mid + high * 8147497;
-      let digitC = high * 2;
-      let base = 1e7;
-      if (digitA >= base) {
-        digitB += Math.floor(digitA / base);
-        digitA %= base;
+      clear() {
+        this.head = this.tail = null;
+        this.length = 0;
       }
-      if (digitB >= base) {
-        digitC += Math.floor(digitB / base);
-        digitB %= base;
+      join(s) {
+        if (this.length === 0) return "";
+        let p = this.head;
+        let ret = "" + p.data;
+        while ((p = p.next) !== null) ret += s + p.data;
+        return ret;
       }
-      function decimalFrom1e7(digit1e7, needLeadingZeros) {
-        let partial = digit1e7 ? String(digit1e7) : "";
-        if (needLeadingZeros) {
-          return "0000000".slice(partial.length) + partial;
+      concat(n) {
+        if (this.length === 0) return Buffer2.alloc(0);
+        const ret = Buffer2.allocUnsafe(n >>> 0);
+        let p = this.head;
+        let i = 0;
+        while (p) {
+          TypedArrayPrototypeSet(ret, p.data, i);
+          i += p.data.length;
+          p = p.next;
         }
-        return partial;
+        return ret;
       }
-      return decimalFrom1e7(
-        digitC,
-        /*needLeadingZeros=*/
-        0
-      ) + decimalFrom1e7(
-        digitB,
-        /*needLeadingZeros=*/
-        digitC
-      ) + // If the final 1e7 digit didn't need leading zeros, we would have
-      // returned via the trivial code path at the top.
-      decimalFrom1e7(
-        digitA,
-        /*needLeadingZeros=*/
-        1
-      );
-    }
-    exports2.int64toString = int64toString;
-    function varint32write(value, bytes) {
-      if (value >= 0) {
-        while (value > 127) {
-          bytes.push(value & 127 | 128);
-          value = value >>> 7;
+      // Consumes a specified amount of bytes or characters from the buffered data.
+      consume(n, hasStrings) {
+        const data = this.head.data;
+        if (n < data.length) {
+          const slice = data.slice(0, n);
+          this.head.data = data.slice(n);
+          return slice;
         }
-        bytes.push(value);
-      } else {
-        for (let i = 0; i < 9; i++) {
-          bytes.push(value & 127 | 128);
-          value = value >> 7;
+        if (n === data.length) {
+          return this.shift();
         }
-        bytes.push(1);
+        return hasStrings ? this._getString(n) : this._getBuffer(n);
       }
-    }
-    exports2.varint32write = varint32write;
-    function varint32read() {
-      let b = this.buf[this.pos++];
-      let result = b & 127;
-      if ((b & 128) == 0) {
-        this.assertBounds();
-        return result;
+      first() {
+        return this.head.data;
       }
-      b = this.buf[this.pos++];
-      result |= (b & 127) << 7;
-      if ((b & 128) == 0) {
-        this.assertBounds();
-        return result;
+      *[SymbolIterator]() {
+        for (let p = this.head; p; p = p.next) {
+          yield p.data;
+        }
       }
-      b = this.buf[this.pos++];
-      result |= (b & 127) << 14;
-      if ((b & 128) == 0) {
-        this.assertBounds();
-        return result;
+      // Consumes a specified amount of characters from the buffered data.
+      _getString(n) {
+        let ret = "";
+        let p = this.head;
+        let c = 0;
+        do {
+          const str2 = p.data;
+          if (n > str2.length) {
+            ret += str2;
+            n -= str2.length;
+          } else {
+            if (n === str2.length) {
+              ret += str2;
+              ++c;
+              if (p.next) this.head = p.next;
+              else this.head = this.tail = null;
+            } else {
+              ret += StringPrototypeSlice(str2, 0, n);
+              this.head = p;
+              p.data = StringPrototypeSlice(str2, n);
+            }
+            break;
+          }
+          ++c;
+        } while ((p = p.next) !== null);
+        this.length -= c;
+        return ret;
       }
-      b = this.buf[this.pos++];
-      result |= (b & 127) << 21;
-      if ((b & 128) == 0) {
-        this.assertBounds();
-        return result;
+      // Consumes a specified amount of bytes from the buffered data.
+      _getBuffer(n) {
+        const ret = Buffer2.allocUnsafe(n);
+        const retLen = n;
+        let p = this.head;
+        let c = 0;
+        do {
+          const buf = p.data;
+          if (n > buf.length) {
+            TypedArrayPrototypeSet(ret, buf, retLen - n);
+            n -= buf.length;
+          } else {
+            if (n === buf.length) {
+              TypedArrayPrototypeSet(ret, buf, retLen - n);
+              ++c;
+              if (p.next) this.head = p.next;
+              else this.head = this.tail = null;
+            } else {
+              TypedArrayPrototypeSet(ret, new Uint8Array2(buf.buffer, buf.byteOffset, n), retLen - n);
+              this.head = p;
+              p.data = buf.slice(n);
+            }
+            break;
+          }
+          ++c;
+        } while ((p = p.next) !== null);
+        this.length -= c;
+        return ret;
       }
-      b = this.buf[this.pos++];
-      result |= (b & 15) << 28;
-      for (let readBytes = 5; (b & 128) !== 0 && readBytes < 10; readBytes++)
-        b = this.buf[this.pos++];
-      if ((b & 128) != 0)
-        throw new Error("invalid varint");
-      this.assertBounds();
-      return result >>> 0;
-    }
-    exports2.varint32read = varint32read;
+      // Make sure the linked list only shows the minimal necessary information.
+      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")](_2, options) {
+        return inspect(this, {
+          ...options,
+          // Only inspect one level.
+          depth: 0,
+          // It should not recurse.
+          customInspect: false
+        });
+      }
+    };
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/pb-long.js
-var require_pb_long = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/pb-long.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/state.js
+var require_state3 = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/state.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.PbLong = exports2.PbULong = exports2.detectBi = void 0;
-    var goog_varint_1 = require_goog_varint();
-    var BI;
-    function detectBi() {
-      const dv = new DataView(new ArrayBuffer(8));
-      const ok = globalThis.BigInt !== void 0 && typeof dv.getBigInt64 === "function" && typeof dv.getBigUint64 === "function" && typeof dv.setBigInt64 === "function" && typeof dv.setBigUint64 === "function";
-      BI = ok ? {
-        MIN: BigInt("-9223372036854775808"),
-        MAX: BigInt("9223372036854775807"),
-        UMIN: BigInt("0"),
-        UMAX: BigInt("18446744073709551615"),
-        C: BigInt,
-        V: dv
-      } : void 0;
+    var { MathFloor, NumberIsInteger } = require_primordials();
+    var { validateInteger } = require_validators();
+    var { ERR_INVALID_ARG_VALUE } = require_errors5().codes;
+    var defaultHighWaterMarkBytes = 16 * 1024;
+    var defaultHighWaterMarkObjectMode = 16;
+    function highWaterMarkFrom(options, isDuplex, duplexKey) {
+      return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;
     }
-    exports2.detectBi = detectBi;
-    detectBi();
-    function assertBi(bi) {
-      if (!bi)
-        throw new Error("BigInt unavailable, see https://github.com/timostamm/protobuf-ts/blob/v1.0.8/MANUAL.md#bigint-support");
+    function getDefaultHighWaterMark(objectMode) {
+      return objectMode ? defaultHighWaterMarkObjectMode : defaultHighWaterMarkBytes;
     }
-    var RE_DECIMAL_STR = /^-?[0-9]+$/;
-    var TWO_PWR_32_DBL = 4294967296;
-    var HALF_2_PWR_32 = 2147483648;
-    var SharedPbLong = class {
-      /**
-       * Create a new instance with the given bits.
-       */
-      constructor(lo, hi) {
-        this.lo = lo | 0;
-        this.hi = hi | 0;
-      }
-      /**
-       * Is this instance equal to 0?
-       */
-      isZero() {
-        return this.lo == 0 && this.hi == 0;
-      }
-      /**
-       * Convert to a native number.
-       */
-      toNumber() {
-        let result = this.hi * TWO_PWR_32_DBL + (this.lo >>> 0);
-        if (!Number.isSafeInteger(result))
-          throw new Error("cannot convert to safe number");
-        return result;
-      }
-    };
-    var PbULong = class _PbULong extends SharedPbLong {
-      /**
-       * Create instance from a `string`, `number` or `bigint`.
-       */
-      static from(value) {
-        if (BI)
-          switch (typeof value) {
-            case "string":
-              if (value == "0")
-                return this.ZERO;
-              if (value == "")
-                throw new Error("string is no integer");
-              value = BI.C(value);
-            case "number":
-              if (value === 0)
-                return this.ZERO;
-              value = BI.C(value);
-            case "bigint":
-              if (!value)
-                return this.ZERO;
-              if (value < BI.UMIN)
-                throw new Error("signed value for ulong");
-              if (value > BI.UMAX)
-                throw new Error("ulong too large");
-              BI.V.setBigUint64(0, value, true);
-              return new _PbULong(BI.V.getInt32(0, true), BI.V.getInt32(4, true));
-          }
-        else
-          switch (typeof value) {
-            case "string":
-              if (value == "0")
-                return this.ZERO;
-              value = value.trim();
-              if (!RE_DECIMAL_STR.test(value))
-                throw new Error("string is no integer");
-              let [minus, lo, hi] = goog_varint_1.int64fromString(value);
-              if (minus)
-                throw new Error("signed value for ulong");
-              return new _PbULong(lo, hi);
-            case "number":
-              if (value == 0)
-                return this.ZERO;
-              if (!Number.isSafeInteger(value))
-                throw new Error("number is no integer");
-              if (value < 0)
-                throw new Error("signed value for ulong");
-              return new _PbULong(value, value / TWO_PWR_32_DBL);
-          }
-        throw new Error("unknown value " + typeof value);
-      }
-      /**
-       * Convert to decimal string.
-       */
-      toString() {
-        return BI ? this.toBigInt().toString() : goog_varint_1.int64toString(this.lo, this.hi);
+    function setDefaultHighWaterMark(objectMode, value) {
+      validateInteger(value, "value", 0);
+      if (objectMode) {
+        defaultHighWaterMarkObjectMode = value;
+      } else {
+        defaultHighWaterMarkBytes = value;
       }
-      /**
-       * Convert to native bigint.
-       */
-      toBigInt() {
-        assertBi(BI);
-        BI.V.setInt32(0, this.lo, true);
-        BI.V.setInt32(4, this.hi, true);
-        return BI.V.getBigUint64(0, true);
+    }
+    function getHighWaterMark(state, options, duplexKey, isDuplex) {
+      const hwm = highWaterMarkFrom(options, isDuplex, duplexKey);
+      if (hwm != null) {
+        if (!NumberIsInteger(hwm) || hwm < 0) {
+          const name = isDuplex ? `options.${duplexKey}` : "options.highWaterMark";
+          throw new ERR_INVALID_ARG_VALUE(name, hwm);
+        }
+        return MathFloor(hwm);
       }
+      return getDefaultHighWaterMark(state.objectMode);
+    }
+    module2.exports = {
+      getHighWaterMark,
+      getDefaultHighWaterMark,
+      setDefaultHighWaterMark
     };
-    exports2.PbULong = PbULong;
-    PbULong.ZERO = new PbULong(0, 0);
-    var PbLong = class _PbLong extends SharedPbLong {
-      /**
-       * Create instance from a `string`, `number` or `bigint`.
-       */
-      static from(value) {
-        if (BI)
-          switch (typeof value) {
-            case "string":
-              if (value == "0")
-                return this.ZERO;
-              if (value == "")
-                throw new Error("string is no integer");
-              value = BI.C(value);
-            case "number":
-              if (value === 0)
-                return this.ZERO;
-              value = BI.C(value);
-            case "bigint":
-              if (!value)
-                return this.ZERO;
-              if (value < BI.MIN)
-                throw new Error("signed long too small");
-              if (value > BI.MAX)
-                throw new Error("signed long too large");
-              BI.V.setBigInt64(0, value, true);
-              return new _PbLong(BI.V.getInt32(0, true), BI.V.getInt32(4, true));
-          }
-        else
-          switch (typeof value) {
-            case "string":
-              if (value == "0")
-                return this.ZERO;
-              value = value.trim();
-              if (!RE_DECIMAL_STR.test(value))
-                throw new Error("string is no integer");
-              let [minus, lo, hi] = goog_varint_1.int64fromString(value);
-              if (minus) {
-                if (hi > HALF_2_PWR_32 || hi == HALF_2_PWR_32 && lo != 0)
-                  throw new Error("signed long too small");
-              } else if (hi >= HALF_2_PWR_32)
-                throw new Error("signed long too large");
-              let pbl = new _PbLong(lo, hi);
-              return minus ? pbl.negate() : pbl;
-            case "number":
-              if (value == 0)
-                return this.ZERO;
-              if (!Number.isSafeInteger(value))
-                throw new Error("number is no integer");
-              return value > 0 ? new _PbLong(value, value / TWO_PWR_32_DBL) : new _PbLong(-value, -value / TWO_PWR_32_DBL).negate();
+  }
+});
+
+// node_modules/readable-stream/lib/internal/streams/from.js
+var require_from = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/from.js"(exports2, module2) {
+    "use strict";
+    var process2 = require_process();
+    var { PromisePrototypeThen, SymbolAsyncIterator, SymbolIterator } = require_primordials();
+    var { Buffer: Buffer2 } = require("buffer");
+    var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_NULL_VALUES } = require_errors5().codes;
+    function from(Readable, iterable, opts) {
+      let iterator2;
+      if (typeof iterable === "string" || iterable instanceof Buffer2) {
+        return new Readable({
+          objectMode: true,
+          ...opts,
+          read() {
+            this.push(iterable);
+            this.push(null);
           }
-        throw new Error("unknown value " + typeof value);
-      }
-      /**
-       * Do we have a minus sign?
-       */
-      isNegative() {
-        return (this.hi & HALF_2_PWR_32) !== 0;
+        });
       }
-      /**
-       * Negate two's complement.
-       * Invert all the bits and add one to the result.
-       */
-      negate() {
-        let hi = ~this.hi, lo = this.lo;
-        if (lo)
-          lo = ~lo + 1;
-        else
-          hi += 1;
-        return new _PbLong(lo, hi);
+      let isAsync;
+      if (iterable && iterable[SymbolAsyncIterator]) {
+        isAsync = true;
+        iterator2 = iterable[SymbolAsyncIterator]();
+      } else if (iterable && iterable[SymbolIterator]) {
+        isAsync = false;
+        iterator2 = iterable[SymbolIterator]();
+      } else {
+        throw new ERR_INVALID_ARG_TYPE2("iterable", ["Iterable"], iterable);
       }
-      /**
-       * Convert to decimal string.
-       */
-      toString() {
-        if (BI)
-          return this.toBigInt().toString();
-        if (this.isNegative()) {
-          let n = this.negate();
-          return "-" + goog_varint_1.int64toString(n.lo, n.hi);
+      const readable = new Readable({
+        objectMode: true,
+        highWaterMark: 1,
+        // TODO(ronag): What options should be allowed?
+        ...opts
+      });
+      let reading = false;
+      readable._read = function() {
+        if (!reading) {
+          reading = true;
+          next();
+        }
+      };
+      readable._destroy = function(error3, cb) {
+        PromisePrototypeThen(
+          close(error3),
+          () => process2.nextTick(cb, error3),
+          // nextTick is here in case cb throws
+          (e) => process2.nextTick(cb, e || error3)
+        );
+      };
+      async function close(error3) {
+        const hadError = error3 !== void 0 && error3 !== null;
+        const hasThrow = typeof iterator2.throw === "function";
+        if (hadError && hasThrow) {
+          const { value, done } = await iterator2.throw(error3);
+          await value;
+          if (done) {
+            return;
+          }
+        }
+        if (typeof iterator2.return === "function") {
+          const { value } = await iterator2.return();
+          await value;
         }
-        return goog_varint_1.int64toString(this.lo, this.hi);
       }
-      /**
-       * Convert to native bigint.
-       */
-      toBigInt() {
-        assertBi(BI);
-        BI.V.setInt32(0, this.lo, true);
-        BI.V.setInt32(4, this.hi, true);
-        return BI.V.getBigInt64(0, true);
+      async function next() {
+        for (; ; ) {
+          try {
+            const { value, done } = isAsync ? await iterator2.next() : iterator2.next();
+            if (done) {
+              readable.push(null);
+            } else {
+              const res = value && typeof value.then === "function" ? await value : value;
+              if (res === null) {
+                reading = false;
+                throw new ERR_STREAM_NULL_VALUES();
+              } else if (readable.push(res)) {
+                continue;
+              } else {
+                reading = false;
+              }
+            }
+          } catch (err) {
+            readable.destroy(err);
+          }
+          break;
+        }
       }
-    };
-    exports2.PbLong = PbLong;
-    PbLong.ZERO = new PbLong(0, 0);
+      return readable;
+    }
+    module2.exports = from;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/binary-reader.js
-var require_binary_reader = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/binary-reader.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BinaryReader = exports2.binaryReadOptions = void 0;
-    var binary_format_contract_1 = require_binary_format_contract();
-    var pb_long_1 = require_pb_long();
-    var goog_varint_1 = require_goog_varint();
-    var defaultsRead = {
-      readUnknownField: true,
-      readerFactory: (bytes) => new BinaryReader(bytes)
+// node_modules/readable-stream/lib/internal/streams/readable.js
+var require_readable4 = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/readable.js"(exports2, module2) {
+    var process2 = require_process();
+    var {
+      ArrayPrototypeIndexOf,
+      NumberIsInteger,
+      NumberIsNaN,
+      NumberParseInt,
+      ObjectDefineProperties,
+      ObjectKeys,
+      ObjectSetPrototypeOf,
+      Promise: Promise2,
+      SafeSet,
+      SymbolAsyncDispose,
+      SymbolAsyncIterator,
+      Symbol: Symbol2
+    } = require_primordials();
+    module2.exports = Readable;
+    Readable.ReadableState = ReadableState;
+    var { EventEmitter: EE } = require("events");
+    var { Stream, prependListener } = require_legacy();
+    var { Buffer: Buffer2 } = require("buffer");
+    var { addAbortSignal } = require_add_abort_signal();
+    var eos = require_end_of_stream();
+    var debug4 = require_util21().debuglog("stream", (fn) => {
+      debug4 = fn;
+    });
+    var BufferList = require_buffer_list();
+    var destroyImpl = require_destroy2();
+    var { getHighWaterMark, getDefaultHighWaterMark } = require_state3();
+    var {
+      aggregateTwoErrors,
+      codes: {
+        ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,
+        ERR_METHOD_NOT_IMPLEMENTED,
+        ERR_OUT_OF_RANGE,
+        ERR_STREAM_PUSH_AFTER_EOF,
+        ERR_STREAM_UNSHIFT_AFTER_END_EVENT
+      },
+      AbortError
+    } = require_errors5();
+    var { validateObject } = require_validators();
+    var kPaused = Symbol2("kPaused");
+    var { StringDecoder } = require("string_decoder");
+    var from = require_from();
+    ObjectSetPrototypeOf(Readable.prototype, Stream.prototype);
+    ObjectSetPrototypeOf(Readable, Stream);
+    var nop = () => {
     };
-    function binaryReadOptions(options) {
-      return options ? Object.assign(Object.assign({}, defaultsRead), options) : defaultsRead;
+    var { errorOrDestroy } = destroyImpl;
+    var kObjectMode = 1 << 0;
+    var kEnded = 1 << 1;
+    var kEndEmitted = 1 << 2;
+    var kReading = 1 << 3;
+    var kConstructed = 1 << 4;
+    var kSync = 1 << 5;
+    var kNeedReadable = 1 << 6;
+    var kEmittedReadable = 1 << 7;
+    var kReadableListening = 1 << 8;
+    var kResumeScheduled = 1 << 9;
+    var kErrorEmitted = 1 << 10;
+    var kEmitClose = 1 << 11;
+    var kAutoDestroy = 1 << 12;
+    var kDestroyed = 1 << 13;
+    var kClosed = 1 << 14;
+    var kCloseEmitted = 1 << 15;
+    var kMultiAwaitDrain = 1 << 16;
+    var kReadingMore = 1 << 17;
+    var kDataEmitted = 1 << 18;
+    function makeBitMapDescriptor(bit) {
+      return {
+        enumerable: false,
+        get() {
+          return (this.state & bit) !== 0;
+        },
+        set(value) {
+          if (value) this.state |= bit;
+          else this.state &= ~bit;
+        }
+      };
     }
-    exports2.binaryReadOptions = binaryReadOptions;
-    var BinaryReader = class {
-      constructor(buf, textDecoder) {
-        this.varint64 = goog_varint_1.varint64read;
-        this.uint32 = goog_varint_1.varint32read;
-        this.buf = buf;
-        this.len = buf.length;
-        this.pos = 0;
-        this.view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
-        this.textDecoder = textDecoder !== null && textDecoder !== void 0 ? textDecoder : new TextDecoder("utf-8", {
-          fatal: true,
-          ignoreBOM: true
-        });
+    ObjectDefineProperties(ReadableState.prototype, {
+      objectMode: makeBitMapDescriptor(kObjectMode),
+      ended: makeBitMapDescriptor(kEnded),
+      endEmitted: makeBitMapDescriptor(kEndEmitted),
+      reading: makeBitMapDescriptor(kReading),
+      // Stream is still being constructed and cannot be
+      // destroyed until construction finished or failed.
+      // Async construction is opt in, therefore we start as
+      // constructed.
+      constructed: makeBitMapDescriptor(kConstructed),
+      // A flag to be able to tell if the event 'readable'/'data' is emitted
+      // immediately, or on a later tick.  We set this to true at first, because
+      // any actions that shouldn't happen until "later" should generally also
+      // not happen before the first read call.
+      sync: makeBitMapDescriptor(kSync),
+      // Whenever we return null, then we set a flag to say
+      // that we're awaiting a 'readable' event emission.
+      needReadable: makeBitMapDescriptor(kNeedReadable),
+      emittedReadable: makeBitMapDescriptor(kEmittedReadable),
+      readableListening: makeBitMapDescriptor(kReadableListening),
+      resumeScheduled: makeBitMapDescriptor(kResumeScheduled),
+      // True if the error was already emitted and should not be thrown again.
+      errorEmitted: makeBitMapDescriptor(kErrorEmitted),
+      emitClose: makeBitMapDescriptor(kEmitClose),
+      autoDestroy: makeBitMapDescriptor(kAutoDestroy),
+      // Has it been destroyed.
+      destroyed: makeBitMapDescriptor(kDestroyed),
+      // Indicates whether the stream has finished destroying.
+      closed: makeBitMapDescriptor(kClosed),
+      // True if close has been emitted or would have been emitted
+      // depending on emitClose.
+      closeEmitted: makeBitMapDescriptor(kCloseEmitted),
+      multiAwaitDrain: makeBitMapDescriptor(kMultiAwaitDrain),
+      // If true, a maybeReadMore has been scheduled.
+      readingMore: makeBitMapDescriptor(kReadingMore),
+      dataEmitted: makeBitMapDescriptor(kDataEmitted)
+    });
+    function ReadableState(options, stream, isDuplex) {
+      if (typeof isDuplex !== "boolean") isDuplex = stream instanceof require_duplex();
+      this.state = kEmitClose | kAutoDestroy | kConstructed | kSync;
+      if (options && options.objectMode) this.state |= kObjectMode;
+      if (isDuplex && options && options.readableObjectMode) this.state |= kObjectMode;
+      this.highWaterMark = options ? getHighWaterMark(this, options, "readableHighWaterMark", isDuplex) : getDefaultHighWaterMark(false);
+      this.buffer = new BufferList();
+      this.length = 0;
+      this.pipes = [];
+      this.flowing = null;
+      this[kPaused] = null;
+      if (options && options.emitClose === false) this.state &= ~kEmitClose;
+      if (options && options.autoDestroy === false) this.state &= ~kAutoDestroy;
+      this.errored = null;
+      this.defaultEncoding = options && options.defaultEncoding || "utf8";
+      this.awaitDrainWriters = null;
+      this.decoder = null;
+      this.encoding = null;
+      if (options && options.encoding) {
+        this.decoder = new StringDecoder(options.encoding);
+        this.encoding = options.encoding;
       }
-      /**
-       * Reads a tag - field number and wire type.
-       */
-      tag() {
-        let tag = this.uint32(), fieldNo = tag >>> 3, wireType = tag & 7;
-        if (fieldNo <= 0 || wireType < 0 || wireType > 5)
-          throw new Error("illegal tag: field no " + fieldNo + " wire type " + wireType);
-        return [fieldNo, wireType];
+    }
+    function Readable(options) {
+      if (!(this instanceof Readable)) return new Readable(options);
+      const isDuplex = this instanceof require_duplex();
+      this._readableState = new ReadableState(options, this, isDuplex);
+      if (options) {
+        if (typeof options.read === "function") this._read = options.read;
+        if (typeof options.destroy === "function") this._destroy = options.destroy;
+        if (typeof options.construct === "function") this._construct = options.construct;
+        if (options.signal && !isDuplex) addAbortSignal(options.signal, this);
       }
-      /**
-       * Skip one element on the wire and return the skipped data.
-       * Supports WireType.StartGroup since v2.0.0-alpha.23.
-       */
-      skip(wireType) {
-        let start = this.pos;
-        switch (wireType) {
-          case binary_format_contract_1.WireType.Varint:
-            while (this.buf[this.pos++] & 128) {
-            }
-            break;
-          case binary_format_contract_1.WireType.Bit64:
-            this.pos += 4;
-          case binary_format_contract_1.WireType.Bit32:
-            this.pos += 4;
-            break;
-          case binary_format_contract_1.WireType.LengthDelimited:
-            let len = this.uint32();
-            this.pos += len;
-            break;
-          case binary_format_contract_1.WireType.StartGroup:
-            let t;
-            while ((t = this.tag()[1]) !== binary_format_contract_1.WireType.EndGroup) {
-              this.skip(t);
-            }
-            break;
-          default:
-            throw new Error("cant skip wire type " + wireType);
+      Stream.call(this, options);
+      destroyImpl.construct(this, () => {
+        if (this._readableState.needReadable) {
+          maybeReadMore(this, this._readableState);
         }
-        this.assertBounds();
-        return this.buf.subarray(start, this.pos);
-      }
-      /**
-       * Throws error if position in byte array is out of range.
-       */
-      assertBounds() {
-        if (this.pos > this.len)
-          throw new RangeError("premature EOF");
+      });
+    }
+    Readable.prototype.destroy = destroyImpl.destroy;
+    Readable.prototype._undestroy = destroyImpl.undestroy;
+    Readable.prototype._destroy = function(err, cb) {
+      cb(err);
+    };
+    Readable.prototype[EE.captureRejectionSymbol] = function(err) {
+      this.destroy(err);
+    };
+    Readable.prototype[SymbolAsyncDispose] = function() {
+      let error3;
+      if (!this.destroyed) {
+        error3 = this.readableEnded ? null : new AbortError();
+        this.destroy(error3);
       }
-      /**
-       * Read a `int32` field, a signed 32 bit varint.
-       */
-      int32() {
-        return this.uint32() | 0;
+      return new Promise2((resolve3, reject) => eos(this, (err) => err && err !== error3 ? reject(err) : resolve3(null)));
+    };
+    Readable.prototype.push = function(chunk, encoding) {
+      return readableAddChunk(this, chunk, encoding, false);
+    };
+    Readable.prototype.unshift = function(chunk, encoding) {
+      return readableAddChunk(this, chunk, encoding, true);
+    };
+    function readableAddChunk(stream, chunk, encoding, addToFront) {
+      debug4("readableAddChunk", chunk);
+      const state = stream._readableState;
+      let err;
+      if ((state.state & kObjectMode) === 0) {
+        if (typeof chunk === "string") {
+          encoding = encoding || state.defaultEncoding;
+          if (state.encoding !== encoding) {
+            if (addToFront && state.encoding) {
+              chunk = Buffer2.from(chunk, encoding).toString(state.encoding);
+            } else {
+              chunk = Buffer2.from(chunk, encoding);
+              encoding = "";
+            }
+          }
+        } else if (chunk instanceof Buffer2) {
+          encoding = "";
+        } else if (Stream._isUint8Array(chunk)) {
+          chunk = Stream._uint8ArrayToBuffer(chunk);
+          encoding = "";
+        } else if (chunk != null) {
+          err = new ERR_INVALID_ARG_TYPE2("chunk", ["string", "Buffer", "Uint8Array"], chunk);
+        }
       }
-      /**
-       * Read a `sint32` field, a signed, zigzag-encoded 32-bit varint.
-       */
-      sint32() {
-        let zze = this.uint32();
-        return zze >>> 1 ^ -(zze & 1);
+      if (err) {
+        errorOrDestroy(stream, err);
+      } else if (chunk === null) {
+        state.state &= ~kReading;
+        onEofChunk(stream, state);
+      } else if ((state.state & kObjectMode) !== 0 || chunk && chunk.length > 0) {
+        if (addToFront) {
+          if ((state.state & kEndEmitted) !== 0) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());
+          else if (state.destroyed || state.errored) return false;
+          else addChunk(stream, state, chunk, true);
+        } else if (state.ended) {
+          errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());
+        } else if (state.destroyed || state.errored) {
+          return false;
+        } else {
+          state.state &= ~kReading;
+          if (state.decoder && !encoding) {
+            chunk = state.decoder.write(chunk);
+            if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);
+            else maybeReadMore(stream, state);
+          } else {
+            addChunk(stream, state, chunk, false);
+          }
+        }
+      } else if (!addToFront) {
+        state.state &= ~kReading;
+        maybeReadMore(stream, state);
       }
-      /**
-       * Read a `int64` field, a signed 64-bit varint.
-       */
-      int64() {
-        return new pb_long_1.PbLong(...this.varint64());
+      return !state.ended && (state.length < state.highWaterMark || state.length === 0);
+    }
+    function addChunk(stream, state, chunk, addToFront) {
+      if (state.flowing && state.length === 0 && !state.sync && stream.listenerCount("data") > 0) {
+        if ((state.state & kMultiAwaitDrain) !== 0) {
+          state.awaitDrainWriters.clear();
+        } else {
+          state.awaitDrainWriters = null;
+        }
+        state.dataEmitted = true;
+        stream.emit("data", chunk);
+      } else {
+        state.length += state.objectMode ? 1 : chunk.length;
+        if (addToFront) state.buffer.unshift(chunk);
+        else state.buffer.push(chunk);
+        if ((state.state & kNeedReadable) !== 0) emitReadable(stream);
       }
-      /**
-       * Read a `uint64` field, an unsigned 64-bit varint.
-       */
-      uint64() {
-        return new pb_long_1.PbULong(...this.varint64());
+      maybeReadMore(stream, state);
+    }
+    Readable.prototype.isPaused = function() {
+      const state = this._readableState;
+      return state[kPaused] === true || state.flowing === false;
+    };
+    Readable.prototype.setEncoding = function(enc) {
+      const decoder = new StringDecoder(enc);
+      this._readableState.decoder = decoder;
+      this._readableState.encoding = this._readableState.decoder.encoding;
+      const buffer = this._readableState.buffer;
+      let content = "";
+      for (const data of buffer) {
+        content += decoder.write(data);
       }
-      /**
-       * Read a `sint64` field, a signed, zig-zag-encoded 64-bit varint.
-       */
-      sint64() {
-        let [lo, hi] = this.varint64();
-        let s = -(lo & 1);
-        lo = (lo >>> 1 | (hi & 1) << 31) ^ s;
-        hi = hi >>> 1 ^ s;
-        return new pb_long_1.PbLong(lo, hi);
+      buffer.clear();
+      if (content !== "") buffer.push(content);
+      this._readableState.length = content.length;
+      return this;
+    };
+    var MAX_HWM = 1073741824;
+    function computeNewHighWaterMark(n) {
+      if (n > MAX_HWM) {
+        throw new ERR_OUT_OF_RANGE("size", "<= 1GiB", n);
+      } else {
+        n--;
+        n |= n >>> 1;
+        n |= n >>> 2;
+        n |= n >>> 4;
+        n |= n >>> 8;
+        n |= n >>> 16;
+        n++;
       }
-      /**
-       * Read a `bool` field, a variant.
-       */
-      bool() {
-        let [lo, hi] = this.varint64();
-        return lo !== 0 || hi !== 0;
+      return n;
+    }
+    function howMuchToRead(n, state) {
+      if (n <= 0 || state.length === 0 && state.ended) return 0;
+      if ((state.state & kObjectMode) !== 0) return 1;
+      if (NumberIsNaN(n)) {
+        if (state.flowing && state.length) return state.buffer.first().length;
+        return state.length;
       }
-      /**
-       * Read a `fixed32` field, an unsigned, fixed-length 32-bit integer.
-       */
-      fixed32() {
-        return this.view.getUint32((this.pos += 4) - 4, true);
+      if (n <= state.length) return n;
+      return state.ended ? state.length : 0;
+    }
+    Readable.prototype.read = function(n) {
+      debug4("read", n);
+      if (n === void 0) {
+        n = NaN;
+      } else if (!NumberIsInteger(n)) {
+        n = NumberParseInt(n, 10);
       }
-      /**
-       * Read a `sfixed32` field, a signed, fixed-length 32-bit integer.
-       */
-      sfixed32() {
-        return this.view.getInt32((this.pos += 4) - 4, true);
+      const state = this._readableState;
+      const nOrig = n;
+      if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);
+      if (n !== 0) state.state &= ~kEmittedReadable;
+      if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {
+        debug4("read: emitReadable", state.length, state.ended);
+        if (state.length === 0 && state.ended) endReadable(this);
+        else emitReadable(this);
+        return null;
       }
-      /**
-       * Read a `fixed64` field, an unsigned, fixed-length 64 bit integer.
-       */
-      fixed64() {
-        return new pb_long_1.PbULong(this.sfixed32(), this.sfixed32());
+      n = howMuchToRead(n, state);
+      if (n === 0 && state.ended) {
+        if (state.length === 0) endReadable(this);
+        return null;
       }
-      /**
-       * Read a `fixed64` field, a signed, fixed-length 64-bit integer.
-       */
-      sfixed64() {
-        return new pb_long_1.PbLong(this.sfixed32(), this.sfixed32());
+      let doRead = (state.state & kNeedReadable) !== 0;
+      debug4("need readable", doRead);
+      if (state.length === 0 || state.length - n < state.highWaterMark) {
+        doRead = true;
+        debug4("length less than watermark", doRead);
       }
-      /**
-       * Read a `float` field, 32-bit floating point number.
-       */
-      float() {
-        return this.view.getFloat32((this.pos += 4) - 4, true);
+      if (state.ended || state.reading || state.destroyed || state.errored || !state.constructed) {
+        doRead = false;
+        debug4("reading, ended or constructing", doRead);
+      } else if (doRead) {
+        debug4("do read");
+        state.state |= kReading | kSync;
+        if (state.length === 0) state.state |= kNeedReadable;
+        try {
+          this._read(state.highWaterMark);
+        } catch (err) {
+          errorOrDestroy(this, err);
+        }
+        state.state &= ~kSync;
+        if (!state.reading) n = howMuchToRead(nOrig, state);
       }
-      /**
-       * Read a `double` field, a 64-bit floating point number.
-       */
-      double() {
-        return this.view.getFloat64((this.pos += 8) - 8, true);
+      let ret;
+      if (n > 0) ret = fromList(n, state);
+      else ret = null;
+      if (ret === null) {
+        state.needReadable = state.length <= state.highWaterMark;
+        n = 0;
+      } else {
+        state.length -= n;
+        if (state.multiAwaitDrain) {
+          state.awaitDrainWriters.clear();
+        } else {
+          state.awaitDrainWriters = null;
+        }
       }
-      /**
-       * Read a `bytes` field, length-delimited arbitrary data.
-       */
-      bytes() {
-        let len = this.uint32();
-        let start = this.pos;
-        this.pos += len;
-        this.assertBounds();
-        return this.buf.subarray(start, start + len);
+      if (state.length === 0) {
+        if (!state.ended) state.needReadable = true;
+        if (nOrig !== n && state.ended) endReadable(this);
       }
-      /**
-       * Read a `string` field, length-delimited data converted to UTF-8 text.
-       */
-      string() {
-        return this.textDecoder.decode(this.bytes());
+      if (ret !== null && !state.errorEmitted && !state.closeEmitted) {
+        state.dataEmitted = true;
+        this.emit("data", ret);
       }
+      return ret;
     };
-    exports2.BinaryReader = BinaryReader;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/assert.js
-var require_assert = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/assert.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.assertFloat32 = exports2.assertUInt32 = exports2.assertInt32 = exports2.assertNever = exports2.assert = void 0;
-    function assert(condition, msg) {
-      if (!condition) {
-        throw new Error(msg);
+    function onEofChunk(stream, state) {
+      debug4("onEofChunk");
+      if (state.ended) return;
+      if (state.decoder) {
+        const chunk = state.decoder.end();
+        if (chunk && chunk.length) {
+          state.buffer.push(chunk);
+          state.length += state.objectMode ? 1 : chunk.length;
+        }
+      }
+      state.ended = true;
+      if (state.sync) {
+        emitReadable(stream);
+      } else {
+        state.needReadable = false;
+        state.emittedReadable = true;
+        emitReadable_(stream);
       }
     }
-    exports2.assert = assert;
-    function assertNever2(value, msg) {
-      throw new Error(msg !== null && msg !== void 0 ? msg : "Unexpected object: " + value);
+    function emitReadable(stream) {
+      const state = stream._readableState;
+      debug4("emitReadable", state.needReadable, state.emittedReadable);
+      state.needReadable = false;
+      if (!state.emittedReadable) {
+        debug4("emitReadable", state.flowing);
+        state.emittedReadable = true;
+        process2.nextTick(emitReadable_, stream);
+      }
     }
-    exports2.assertNever = assertNever2;
-    var FLOAT32_MAX = 34028234663852886e22;
-    var FLOAT32_MIN = -34028234663852886e22;
-    var UINT32_MAX = 4294967295;
-    var INT32_MAX = 2147483647;
-    var INT32_MIN = -2147483648;
-    function assertInt32(arg) {
-      if (typeof arg !== "number")
-        throw new Error("invalid int 32: " + typeof arg);
-      if (!Number.isInteger(arg) || arg > INT32_MAX || arg < INT32_MIN)
-        throw new Error("invalid int 32: " + arg);
+    function emitReadable_(stream) {
+      const state = stream._readableState;
+      debug4("emitReadable_", state.destroyed, state.length, state.ended);
+      if (!state.destroyed && !state.errored && (state.length || state.ended)) {
+        stream.emit("readable");
+        state.emittedReadable = false;
+      }
+      state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;
+      flow(stream);
     }
-    exports2.assertInt32 = assertInt32;
-    function assertUInt32(arg) {
-      if (typeof arg !== "number")
-        throw new Error("invalid uint 32: " + typeof arg);
-      if (!Number.isInteger(arg) || arg > UINT32_MAX || arg < 0)
-        throw new Error("invalid uint 32: " + arg);
+    function maybeReadMore(stream, state) {
+      if (!state.readingMore && state.constructed) {
+        state.readingMore = true;
+        process2.nextTick(maybeReadMore_, stream, state);
+      }
     }
-    exports2.assertUInt32 = assertUInt32;
-    function assertFloat32(arg) {
-      if (typeof arg !== "number")
-        throw new Error("invalid float 32: " + typeof arg);
-      if (!Number.isFinite(arg))
-        return;
-      if (arg > FLOAT32_MAX || arg < FLOAT32_MIN)
-        throw new Error("invalid float 32: " + arg);
+    function maybeReadMore_(stream, state) {
+      while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {
+        const len = state.length;
+        debug4("maybeReadMore read 0");
+        stream.read(0);
+        if (len === state.length)
+          break;
+      }
+      state.readingMore = false;
     }
-    exports2.assertFloat32 = assertFloat32;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/binary-writer.js
-var require_binary_writer = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/binary-writer.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BinaryWriter = exports2.binaryWriteOptions = void 0;
-    var pb_long_1 = require_pb_long();
-    var goog_varint_1 = require_goog_varint();
-    var assert_1 = require_assert();
-    var defaultsWrite = {
-      writeUnknownFields: true,
-      writerFactory: () => new BinaryWriter()
+    Readable.prototype._read = function(n) {
+      throw new ERR_METHOD_NOT_IMPLEMENTED("_read()");
     };
-    function binaryWriteOptions(options) {
-      return options ? Object.assign(Object.assign({}, defaultsWrite), options) : defaultsWrite;
-    }
-    exports2.binaryWriteOptions = binaryWriteOptions;
-    var BinaryWriter = class {
-      constructor(textEncoder) {
-        this.stack = [];
-        this.textEncoder = textEncoder !== null && textEncoder !== void 0 ? textEncoder : new TextEncoder();
-        this.chunks = [];
-        this.buf = [];
+    Readable.prototype.pipe = function(dest, pipeOpts) {
+      const src = this;
+      const state = this._readableState;
+      if (state.pipes.length === 1) {
+        if (!state.multiAwaitDrain) {
+          state.multiAwaitDrain = true;
+          state.awaitDrainWriters = new SafeSet(state.awaitDrainWriters ? [state.awaitDrainWriters] : []);
+        }
       }
-      /**
-       * Return all bytes written and reset this writer.
-       */
-      finish() {
-        this.chunks.push(new Uint8Array(this.buf));
-        let len = 0;
-        for (let i = 0; i < this.chunks.length; i++)
-          len += this.chunks[i].length;
-        let bytes = new Uint8Array(len);
-        let offset = 0;
-        for (let i = 0; i < this.chunks.length; i++) {
-          bytes.set(this.chunks[i], offset);
-          offset += this.chunks[i].length;
+      state.pipes.push(dest);
+      debug4("pipe count=%d opts=%j", state.pipes.length, pipeOpts);
+      const doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process2.stdout && dest !== process2.stderr;
+      const endFn = doEnd ? onend : unpipe;
+      if (state.endEmitted) process2.nextTick(endFn);
+      else src.once("end", endFn);
+      dest.on("unpipe", onunpipe);
+      function onunpipe(readable, unpipeInfo) {
+        debug4("onunpipe");
+        if (readable === src) {
+          if (unpipeInfo && unpipeInfo.hasUnpiped === false) {
+            unpipeInfo.hasUnpiped = true;
+            cleanup();
+          }
         }
-        this.chunks = [];
-        return bytes;
       }
-      /**
-       * Start a new fork for length-delimited data like a message
-       * or a packed repeated field.
-       *
-       * Must be joined later with `join()`.
-       */
-      fork() {
-        this.stack.push({ chunks: this.chunks, buf: this.buf });
-        this.chunks = [];
-        this.buf = [];
-        return this;
+      function onend() {
+        debug4("onend");
+        dest.end();
       }
-      /**
-       * Join the last fork. Write its length and bytes, then
-       * return to the previous state.
-       */
-      join() {
-        let chunk = this.finish();
-        let prev = this.stack.pop();
-        if (!prev)
-          throw new Error("invalid state, fork stack empty");
-        this.chunks = prev.chunks;
-        this.buf = prev.buf;
-        this.uint32(chunk.byteLength);
-        return this.raw(chunk);
+      let ondrain;
+      let cleanedUp = false;
+      function cleanup() {
+        debug4("cleanup");
+        dest.removeListener("close", onclose);
+        dest.removeListener("finish", onfinish);
+        if (ondrain) {
+          dest.removeListener("drain", ondrain);
+        }
+        dest.removeListener("error", onerror);
+        dest.removeListener("unpipe", onunpipe);
+        src.removeListener("end", onend);
+        src.removeListener("end", unpipe);
+        src.removeListener("data", ondata);
+        cleanedUp = true;
+        if (ondrain && state.awaitDrainWriters && (!dest._writableState || dest._writableState.needDrain)) ondrain();
       }
-      /**
-       * Writes a tag (field number and wire type).
-       *
-       * Equivalent to `uint32( (fieldNo << 3 | type) >>> 0 )`.
-       *
-       * Generated code should compute the tag ahead of time and call `uint32()`.
-       */
-      tag(fieldNo, type2) {
-        return this.uint32((fieldNo << 3 | type2) >>> 0);
+      function pause() {
+        if (!cleanedUp) {
+          if (state.pipes.length === 1 && state.pipes[0] === dest) {
+            debug4("false write response, pause", 0);
+            state.awaitDrainWriters = dest;
+            state.multiAwaitDrain = false;
+          } else if (state.pipes.length > 1 && state.pipes.includes(dest)) {
+            debug4("false write response, pause", state.awaitDrainWriters.size);
+            state.awaitDrainWriters.add(dest);
+          }
+          src.pause();
+        }
+        if (!ondrain) {
+          ondrain = pipeOnDrain(src, dest);
+          dest.on("drain", ondrain);
+        }
       }
-      /**
-       * Write a chunk of raw bytes.
-       */
-      raw(chunk) {
-        if (this.buf.length) {
-          this.chunks.push(new Uint8Array(this.buf));
-          this.buf = [];
+      src.on("data", ondata);
+      function ondata(chunk) {
+        debug4("ondata");
+        const ret = dest.write(chunk);
+        debug4("dest.write", ret);
+        if (ret === false) {
+          pause();
         }
-        this.chunks.push(chunk);
-        return this;
       }
-      /**
-       * Write a `uint32` value, an unsigned 32 bit varint.
-       */
-      uint32(value) {
-        assert_1.assertUInt32(value);
-        while (value > 127) {
-          this.buf.push(value & 127 | 128);
-          value = value >>> 7;
+      function onerror(er) {
+        debug4("onerror", er);
+        unpipe();
+        dest.removeListener("error", onerror);
+        if (dest.listenerCount("error") === 0) {
+          const s = dest._writableState || dest._readableState;
+          if (s && !s.errorEmitted) {
+            errorOrDestroy(dest, er);
+          } else {
+            dest.emit("error", er);
+          }
         }
-        this.buf.push(value);
-        return this;
       }
-      /**
-       * Write a `int32` value, a signed 32 bit varint.
-       */
-      int32(value) {
-        assert_1.assertInt32(value);
-        goog_varint_1.varint32write(value, this.buf);
-        return this;
+      prependListener(dest, "error", onerror);
+      function onclose() {
+        dest.removeListener("finish", onfinish);
+        unpipe();
       }
-      /**
-       * Write a `bool` value, a variant.
-       */
-      bool(value) {
-        this.buf.push(value ? 1 : 0);
+      dest.once("close", onclose);
+      function onfinish() {
+        debug4("onfinish");
+        dest.removeListener("close", onclose);
+        unpipe();
+      }
+      dest.once("finish", onfinish);
+      function unpipe() {
+        debug4("unpipe");
+        src.unpipe(dest);
+      }
+      dest.emit("pipe", src);
+      if (dest.writableNeedDrain === true) {
+        pause();
+      } else if (!state.flowing) {
+        debug4("pipe resume");
+        src.resume();
+      }
+      return dest;
+    };
+    function pipeOnDrain(src, dest) {
+      return function pipeOnDrainFunctionResult() {
+        const state = src._readableState;
+        if (state.awaitDrainWriters === dest) {
+          debug4("pipeOnDrain", 1);
+          state.awaitDrainWriters = null;
+        } else if (state.multiAwaitDrain) {
+          debug4("pipeOnDrain", state.awaitDrainWriters.size);
+          state.awaitDrainWriters.delete(dest);
+        }
+        if ((!state.awaitDrainWriters || state.awaitDrainWriters.size === 0) && src.listenerCount("data")) {
+          src.resume();
+        }
+      };
+    }
+    Readable.prototype.unpipe = function(dest) {
+      const state = this._readableState;
+      const unpipeInfo = {
+        hasUnpiped: false
+      };
+      if (state.pipes.length === 0) return this;
+      if (!dest) {
+        const dests = state.pipes;
+        state.pipes = [];
+        this.pause();
+        for (let i = 0; i < dests.length; i++)
+          dests[i].emit("unpipe", this, {
+            hasUnpiped: false
+          });
         return this;
       }
-      /**
-       * Write a `bytes` value, length-delimited arbitrary data.
-       */
-      bytes(value) {
-        this.uint32(value.byteLength);
-        return this.raw(value);
+      const index = ArrayPrototypeIndexOf(state.pipes, dest);
+      if (index === -1) return this;
+      state.pipes.splice(index, 1);
+      if (state.pipes.length === 0) this.pause();
+      dest.emit("unpipe", this, unpipeInfo);
+      return this;
+    };
+    Readable.prototype.on = function(ev, fn) {
+      const res = Stream.prototype.on.call(this, ev, fn);
+      const state = this._readableState;
+      if (ev === "data") {
+        state.readableListening = this.listenerCount("readable") > 0;
+        if (state.flowing !== false) this.resume();
+      } else if (ev === "readable") {
+        if (!state.endEmitted && !state.readableListening) {
+          state.readableListening = state.needReadable = true;
+          state.flowing = false;
+          state.emittedReadable = false;
+          debug4("on readable", state.length, state.reading);
+          if (state.length) {
+            emitReadable(this);
+          } else if (!state.reading) {
+            process2.nextTick(nReadingNextTick, this);
+          }
+        }
       }
-      /**
-       * Write a `string` value, length-delimited data converted to UTF-8 text.
-       */
-      string(value) {
-        let chunk = this.textEncoder.encode(value);
-        this.uint32(chunk.byteLength);
-        return this.raw(chunk);
+      return res;
+    };
+    Readable.prototype.addListener = Readable.prototype.on;
+    Readable.prototype.removeListener = function(ev, fn) {
+      const res = Stream.prototype.removeListener.call(this, ev, fn);
+      if (ev === "readable") {
+        process2.nextTick(updateReadableListening, this);
       }
-      /**
-       * Write a `float` value, 32-bit floating point number.
-       */
-      float(value) {
-        assert_1.assertFloat32(value);
-        let chunk = new Uint8Array(4);
-        new DataView(chunk.buffer).setFloat32(0, value, true);
-        return this.raw(chunk);
+      return res;
+    };
+    Readable.prototype.off = Readable.prototype.removeListener;
+    Readable.prototype.removeAllListeners = function(ev) {
+      const res = Stream.prototype.removeAllListeners.apply(this, arguments);
+      if (ev === "readable" || ev === void 0) {
+        process2.nextTick(updateReadableListening, this);
       }
-      /**
-       * Write a `double` value, a 64-bit floating point number.
-       */
-      double(value) {
-        let chunk = new Uint8Array(8);
-        new DataView(chunk.buffer).setFloat64(0, value, true);
-        return this.raw(chunk);
+      return res;
+    };
+    function updateReadableListening(self2) {
+      const state = self2._readableState;
+      state.readableListening = self2.listenerCount("readable") > 0;
+      if (state.resumeScheduled && state[kPaused] === false) {
+        state.flowing = true;
+      } else if (self2.listenerCount("data") > 0) {
+        self2.resume();
+      } else if (!state.readableListening) {
+        state.flowing = null;
       }
-      /**
-       * Write a `fixed32` value, an unsigned, fixed-length 32-bit integer.
-       */
-      fixed32(value) {
-        assert_1.assertUInt32(value);
-        let chunk = new Uint8Array(4);
-        new DataView(chunk.buffer).setUint32(0, value, true);
-        return this.raw(chunk);
+    }
+    function nReadingNextTick(self2) {
+      debug4("readable nexttick read 0");
+      self2.read(0);
+    }
+    Readable.prototype.resume = function() {
+      const state = this._readableState;
+      if (!state.flowing) {
+        debug4("resume");
+        state.flowing = !state.readableListening;
+        resume(this, state);
+      }
+      state[kPaused] = false;
+      return this;
+    };
+    function resume(stream, state) {
+      if (!state.resumeScheduled) {
+        state.resumeScheduled = true;
+        process2.nextTick(resume_, stream, state);
+      }
+    }
+    function resume_(stream, state) {
+      debug4("resume", state.reading);
+      if (!state.reading) {
+        stream.read(0);
+      }
+      state.resumeScheduled = false;
+      stream.emit("resume");
+      flow(stream);
+      if (state.flowing && !state.reading) stream.read(0);
+    }
+    Readable.prototype.pause = function() {
+      debug4("call pause flowing=%j", this._readableState.flowing);
+      if (this._readableState.flowing !== false) {
+        debug4("pause");
+        this._readableState.flowing = false;
+        this.emit("pause");
+      }
+      this._readableState[kPaused] = true;
+      return this;
+    };
+    function flow(stream) {
+      const state = stream._readableState;
+      debug4("flow", state.flowing);
+      while (state.flowing && stream.read() !== null) ;
+    }
+    Readable.prototype.wrap = function(stream) {
+      let paused = false;
+      stream.on("data", (chunk) => {
+        if (!this.push(chunk) && stream.pause) {
+          paused = true;
+          stream.pause();
+        }
+      });
+      stream.on("end", () => {
+        this.push(null);
+      });
+      stream.on("error", (err) => {
+        errorOrDestroy(this, err);
+      });
+      stream.on("close", () => {
+        this.destroy();
+      });
+      stream.on("destroy", () => {
+        this.destroy();
+      });
+      this._read = () => {
+        if (paused && stream.resume) {
+          paused = false;
+          stream.resume();
+        }
+      };
+      const streamKeys = ObjectKeys(stream);
+      for (let j = 1; j < streamKeys.length; j++) {
+        const i = streamKeys[j];
+        if (this[i] === void 0 && typeof stream[i] === "function") {
+          this[i] = stream[i].bind(stream);
+        }
       }
-      /**
-       * Write a `sfixed32` value, a signed, fixed-length 32-bit integer.
-       */
-      sfixed32(value) {
-        assert_1.assertInt32(value);
-        let chunk = new Uint8Array(4);
-        new DataView(chunk.buffer).setInt32(0, value, true);
-        return this.raw(chunk);
+      return this;
+    };
+    Readable.prototype[SymbolAsyncIterator] = function() {
+      return streamToAsyncIterator(this);
+    };
+    Readable.prototype.iterator = function(options) {
+      if (options !== void 0) {
+        validateObject(options, "options");
       }
-      /**
-       * Write a `sint32` value, a signed, zigzag-encoded 32-bit varint.
-       */
-      sint32(value) {
-        assert_1.assertInt32(value);
-        value = (value << 1 ^ value >> 31) >>> 0;
-        goog_varint_1.varint32write(value, this.buf);
-        return this;
+      return streamToAsyncIterator(this, options);
+    };
+    function streamToAsyncIterator(stream, options) {
+      if (typeof stream.read !== "function") {
+        stream = Readable.wrap(stream, {
+          objectMode: true
+        });
       }
-      /**
-       * Write a `fixed64` value, a signed, fixed-length 64-bit integer.
-       */
-      sfixed64(value) {
-        let chunk = new Uint8Array(8);
-        let view = new DataView(chunk.buffer);
-        let long = pb_long_1.PbLong.from(value);
-        view.setInt32(0, long.lo, true);
-        view.setInt32(4, long.hi, true);
-        return this.raw(chunk);
+      const iter = createAsyncIterator(stream, options);
+      iter.stream = stream;
+      return iter;
+    }
+    async function* createAsyncIterator(stream, options) {
+      let callback = nop;
+      function next(resolve3) {
+        if (this === stream) {
+          callback();
+          callback = nop;
+        } else {
+          callback = resolve3;
+        }
       }
-      /**
-       * Write a `fixed64` value, an unsigned, fixed-length 64 bit integer.
-       */
-      fixed64(value) {
-        let chunk = new Uint8Array(8);
-        let view = new DataView(chunk.buffer);
-        let long = pb_long_1.PbULong.from(value);
-        view.setInt32(0, long.lo, true);
-        view.setInt32(4, long.hi, true);
-        return this.raw(chunk);
+      stream.on("readable", next);
+      let error3;
+      const cleanup = eos(
+        stream,
+        {
+          writable: false
+        },
+        (err) => {
+          error3 = err ? aggregateTwoErrors(error3, err) : null;
+          callback();
+          callback = nop;
+        }
+      );
+      try {
+        while (true) {
+          const chunk = stream.destroyed ? null : stream.read();
+          if (chunk !== null) {
+            yield chunk;
+          } else if (error3) {
+            throw error3;
+          } else if (error3 === null) {
+            return;
+          } else {
+            await new Promise2(next);
+          }
+        }
+      } catch (err) {
+        error3 = aggregateTwoErrors(error3, err);
+        throw error3;
+      } finally {
+        if ((error3 || (options === null || options === void 0 ? void 0 : options.destroyOnReturn) !== false) && (error3 === void 0 || stream._readableState.autoDestroy)) {
+          destroyImpl.destroyer(stream, null);
+        } else {
+          stream.off("readable", next);
+          cleanup();
+        }
       }
-      /**
-       * Write a `int64` value, a signed 64-bit varint.
-       */
-      int64(value) {
-        let long = pb_long_1.PbLong.from(value);
-        goog_varint_1.varint64write(long.lo, long.hi, this.buf);
-        return this;
+    }
+    ObjectDefineProperties(Readable.prototype, {
+      readable: {
+        __proto__: null,
+        get() {
+          const r = this._readableState;
+          return !!r && r.readable !== false && !r.destroyed && !r.errorEmitted && !r.endEmitted;
+        },
+        set(val) {
+          if (this._readableState) {
+            this._readableState.readable = !!val;
+          }
+        }
+      },
+      readableDidRead: {
+        __proto__: null,
+        enumerable: false,
+        get: function() {
+          return this._readableState.dataEmitted;
+        }
+      },
+      readableAborted: {
+        __proto__: null,
+        enumerable: false,
+        get: function() {
+          return !!(this._readableState.readable !== false && (this._readableState.destroyed || this._readableState.errored) && !this._readableState.endEmitted);
+        }
+      },
+      readableHighWaterMark: {
+        __proto__: null,
+        enumerable: false,
+        get: function() {
+          return this._readableState.highWaterMark;
+        }
+      },
+      readableBuffer: {
+        __proto__: null,
+        enumerable: false,
+        get: function() {
+          return this._readableState && this._readableState.buffer;
+        }
+      },
+      readableFlowing: {
+        __proto__: null,
+        enumerable: false,
+        get: function() {
+          return this._readableState.flowing;
+        },
+        set: function(state) {
+          if (this._readableState) {
+            this._readableState.flowing = state;
+          }
+        }
+      },
+      readableLength: {
+        __proto__: null,
+        enumerable: false,
+        get() {
+          return this._readableState.length;
+        }
+      },
+      readableObjectMode: {
+        __proto__: null,
+        enumerable: false,
+        get() {
+          return this._readableState ? this._readableState.objectMode : false;
+        }
+      },
+      readableEncoding: {
+        __proto__: null,
+        enumerable: false,
+        get() {
+          return this._readableState ? this._readableState.encoding : null;
+        }
+      },
+      errored: {
+        __proto__: null,
+        enumerable: false,
+        get() {
+          return this._readableState ? this._readableState.errored : null;
+        }
+      },
+      closed: {
+        __proto__: null,
+        get() {
+          return this._readableState ? this._readableState.closed : false;
+        }
+      },
+      destroyed: {
+        __proto__: null,
+        enumerable: false,
+        get() {
+          return this._readableState ? this._readableState.destroyed : false;
+        },
+        set(value) {
+          if (!this._readableState) {
+            return;
+          }
+          this._readableState.destroyed = value;
+        }
+      },
+      readableEnded: {
+        __proto__: null,
+        enumerable: false,
+        get() {
+          return this._readableState ? this._readableState.endEmitted : false;
+        }
       }
-      /**
-       * Write a `sint64` value, a signed, zig-zag-encoded 64-bit varint.
-       */
-      sint64(value) {
-        let long = pb_long_1.PbLong.from(value), sign = long.hi >> 31, lo = long.lo << 1 ^ sign, hi = (long.hi << 1 | long.lo >>> 31) ^ sign;
-        goog_varint_1.varint64write(lo, hi, this.buf);
-        return this;
+    });
+    ObjectDefineProperties(ReadableState.prototype, {
+      // Legacy getter for `pipesCount`.
+      pipesCount: {
+        __proto__: null,
+        get() {
+          return this.pipes.length;
+        }
+      },
+      // Legacy property for `paused`.
+      paused: {
+        __proto__: null,
+        get() {
+          return this[kPaused] !== false;
+        },
+        set(value) {
+          this[kPaused] = !!value;
+        }
       }
-      /**
-       * Write a `uint64` value, an unsigned 64-bit varint.
-       */
-      uint64(value) {
-        let long = pb_long_1.PbULong.from(value);
-        goog_varint_1.varint64write(long.lo, long.hi, this.buf);
-        return this;
+    });
+    Readable._fromList = fromList;
+    function fromList(n, state) {
+      if (state.length === 0) return null;
+      let ret;
+      if (state.objectMode) ret = state.buffer.shift();
+      else if (!n || n >= state.length) {
+        if (state.decoder) ret = state.buffer.join("");
+        else if (state.buffer.length === 1) ret = state.buffer.first();
+        else ret = state.buffer.concat(state.length);
+        state.buffer.clear();
+      } else {
+        ret = state.buffer.consume(n, state.decoder);
       }
-    };
-    exports2.BinaryWriter = BinaryWriter;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/json-format-contract.js
-var require_json_format_contract = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/json-format-contract.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.mergeJsonOptions = exports2.jsonWriteOptions = exports2.jsonReadOptions = void 0;
-    var defaultsWrite = {
-      emitDefaultValues: false,
-      enumAsInteger: false,
-      useProtoFieldName: false,
-      prettySpaces: 0
-    };
-    var defaultsRead = {
-      ignoreUnknownFields: false
-    };
-    function jsonReadOptions(options) {
-      return options ? Object.assign(Object.assign({}, defaultsRead), options) : defaultsRead;
-    }
-    exports2.jsonReadOptions = jsonReadOptions;
-    function jsonWriteOptions(options) {
-      return options ? Object.assign(Object.assign({}, defaultsWrite), options) : defaultsWrite;
+      return ret;
     }
-    exports2.jsonWriteOptions = jsonWriteOptions;
-    function mergeJsonOptions(a, b) {
-      var _a, _b;
-      let c = Object.assign(Object.assign({}, a), b);
-      c.typeRegistry = [...(_a = a === null || a === void 0 ? void 0 : a.typeRegistry) !== null && _a !== void 0 ? _a : [], ...(_b = b === null || b === void 0 ? void 0 : b.typeRegistry) !== null && _b !== void 0 ? _b : []];
-      return c;
+    function endReadable(stream) {
+      const state = stream._readableState;
+      debug4("endReadable", state.endEmitted);
+      if (!state.endEmitted) {
+        state.ended = true;
+        process2.nextTick(endReadableNT, state, stream);
+      }
     }
-    exports2.mergeJsonOptions = mergeJsonOptions;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/message-type-contract.js
-var require_message_type_contract = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/message-type-contract.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.MESSAGE_TYPE = void 0;
-    exports2.MESSAGE_TYPE = /* @__PURE__ */ Symbol.for("protobuf-ts/message-type");
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/lower-camel-case.js
-var require_lower_camel_case = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/lower-camel-case.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.lowerCamelCase = void 0;
-    function lowerCamelCase(snakeCase) {
-      let capNext = false;
-      const sb = [];
-      for (let i = 0; i < snakeCase.length; i++) {
-        let next = snakeCase.charAt(i);
-        if (next == "_") {
-          capNext = true;
-        } else if (/\d/.test(next)) {
-          sb.push(next);
-          capNext = true;
-        } else if (capNext) {
-          sb.push(next.toUpperCase());
-          capNext = false;
-        } else if (i == 0) {
-          sb.push(next.toLowerCase());
-        } else {
-          sb.push(next);
+    function endReadableNT(state, stream) {
+      debug4("endReadableNT", state.endEmitted, state.length);
+      if (!state.errored && !state.closeEmitted && !state.endEmitted && state.length === 0) {
+        state.endEmitted = true;
+        stream.emit("end");
+        if (stream.writable && stream.allowHalfOpen === false) {
+          process2.nextTick(endWritableNT, stream);
+        } else if (state.autoDestroy) {
+          const wState = stream._writableState;
+          const autoDestroy = !wState || wState.autoDestroy && // We don't expect the writable to ever 'finish'
+          // if writable is explicitly set to false.
+          (wState.finished || wState.writable === false);
+          if (autoDestroy) {
+            stream.destroy();
+          }
         }
       }
-      return sb.join("");
     }
-    exports2.lowerCamelCase = lowerCamelCase;
+    function endWritableNT(stream) {
+      const writable = stream.writable && !stream.writableEnded && !stream.destroyed;
+      if (writable) {
+        stream.end();
+      }
+    }
+    Readable.from = function(iterable, opts) {
+      return from(Readable, iterable, opts);
+    };
+    var webStreamsAdapters;
+    function lazyWebStreams() {
+      if (webStreamsAdapters === void 0) webStreamsAdapters = {};
+      return webStreamsAdapters;
+    }
+    Readable.fromWeb = function(readableStream, options) {
+      return lazyWebStreams().newStreamReadableFromReadableStream(readableStream, options);
+    };
+    Readable.toWeb = function(streamReadable, options) {
+      return lazyWebStreams().newReadableStreamFromStreamReadable(streamReadable, options);
+    };
+    Readable.wrap = function(src, options) {
+      var _ref, _src$readableObjectMo;
+      return new Readable({
+        objectMode: (_ref = (_src$readableObjectMo = src.readableObjectMode) !== null && _src$readableObjectMo !== void 0 ? _src$readableObjectMo : src.objectMode) !== null && _ref !== void 0 ? _ref : true,
+        ...options,
+        destroy(err, callback) {
+          destroyImpl.destroyer(src, err);
+          callback(err);
+        }
+      }).wrap(src);
+    };
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-info.js
-var require_reflection_info = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-info.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.readMessageOption = exports2.readFieldOption = exports2.readFieldOptions = exports2.normalizeFieldInfo = exports2.RepeatType = exports2.LongType = exports2.ScalarType = void 0;
-    var lower_camel_case_1 = require_lower_camel_case();
-    var ScalarType;
-    (function(ScalarType2) {
-      ScalarType2[ScalarType2["DOUBLE"] = 1] = "DOUBLE";
-      ScalarType2[ScalarType2["FLOAT"] = 2] = "FLOAT";
-      ScalarType2[ScalarType2["INT64"] = 3] = "INT64";
-      ScalarType2[ScalarType2["UINT64"] = 4] = "UINT64";
-      ScalarType2[ScalarType2["INT32"] = 5] = "INT32";
-      ScalarType2[ScalarType2["FIXED64"] = 6] = "FIXED64";
-      ScalarType2[ScalarType2["FIXED32"] = 7] = "FIXED32";
-      ScalarType2[ScalarType2["BOOL"] = 8] = "BOOL";
-      ScalarType2[ScalarType2["STRING"] = 9] = "STRING";
-      ScalarType2[ScalarType2["BYTES"] = 12] = "BYTES";
-      ScalarType2[ScalarType2["UINT32"] = 13] = "UINT32";
-      ScalarType2[ScalarType2["SFIXED32"] = 15] = "SFIXED32";
-      ScalarType2[ScalarType2["SFIXED64"] = 16] = "SFIXED64";
-      ScalarType2[ScalarType2["SINT32"] = 17] = "SINT32";
-      ScalarType2[ScalarType2["SINT64"] = 18] = "SINT64";
-    })(ScalarType = exports2.ScalarType || (exports2.ScalarType = {}));
-    var LongType;
-    (function(LongType2) {
-      LongType2[LongType2["BIGINT"] = 0] = "BIGINT";
-      LongType2[LongType2["STRING"] = 1] = "STRING";
-      LongType2[LongType2["NUMBER"] = 2] = "NUMBER";
-    })(LongType = exports2.LongType || (exports2.LongType = {}));
-    var RepeatType;
-    (function(RepeatType2) {
-      RepeatType2[RepeatType2["NO"] = 0] = "NO";
-      RepeatType2[RepeatType2["PACKED"] = 1] = "PACKED";
-      RepeatType2[RepeatType2["UNPACKED"] = 2] = "UNPACKED";
-    })(RepeatType = exports2.RepeatType || (exports2.RepeatType = {}));
-    function normalizeFieldInfo(field) {
-      var _a, _b, _c, _d;
-      field.localName = (_a = field.localName) !== null && _a !== void 0 ? _a : lower_camel_case_1.lowerCamelCase(field.name);
-      field.jsonName = (_b = field.jsonName) !== null && _b !== void 0 ? _b : lower_camel_case_1.lowerCamelCase(field.name);
-      field.repeat = (_c = field.repeat) !== null && _c !== void 0 ? _c : RepeatType.NO;
-      field.opt = (_d = field.opt) !== null && _d !== void 0 ? _d : field.repeat ? false : field.oneof ? false : field.kind == "message";
-      return field;
+// node_modules/readable-stream/lib/internal/streams/writable.js
+var require_writable = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/writable.js"(exports2, module2) {
+    var process2 = require_process();
+    var {
+      ArrayPrototypeSlice,
+      Error: Error2,
+      FunctionPrototypeSymbolHasInstance,
+      ObjectDefineProperty,
+      ObjectDefineProperties,
+      ObjectSetPrototypeOf,
+      StringPrototypeToLowerCase,
+      Symbol: Symbol2,
+      SymbolHasInstance
+    } = require_primordials();
+    module2.exports = Writable;
+    Writable.WritableState = WritableState;
+    var { EventEmitter: EE } = require("events");
+    var Stream = require_legacy().Stream;
+    var { Buffer: Buffer2 } = require("buffer");
+    var destroyImpl = require_destroy2();
+    var { addAbortSignal } = require_add_abort_signal();
+    var { getHighWaterMark, getDefaultHighWaterMark } = require_state3();
+    var {
+      ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,
+      ERR_METHOD_NOT_IMPLEMENTED,
+      ERR_MULTIPLE_CALLBACK,
+      ERR_STREAM_CANNOT_PIPE,
+      ERR_STREAM_DESTROYED,
+      ERR_STREAM_ALREADY_FINISHED,
+      ERR_STREAM_NULL_VALUES,
+      ERR_STREAM_WRITE_AFTER_END,
+      ERR_UNKNOWN_ENCODING
+    } = require_errors5().codes;
+    var { errorOrDestroy } = destroyImpl;
+    ObjectSetPrototypeOf(Writable.prototype, Stream.prototype);
+    ObjectSetPrototypeOf(Writable, Stream);
+    function nop() {
     }
-    exports2.normalizeFieldInfo = normalizeFieldInfo;
-    function readFieldOptions(messageType, fieldName, extensionName, extensionType) {
-      var _a;
-      const options = (_a = messageType.fields.find((m, i) => m.localName == fieldName || i == fieldName)) === null || _a === void 0 ? void 0 : _a.options;
-      return options && options[extensionName] ? extensionType.fromJson(options[extensionName]) : void 0;
+    var kOnFinished = Symbol2("kOnFinished");
+    function WritableState(options, stream, isDuplex) {
+      if (typeof isDuplex !== "boolean") isDuplex = stream instanceof require_duplex();
+      this.objectMode = !!(options && options.objectMode);
+      if (isDuplex) this.objectMode = this.objectMode || !!(options && options.writableObjectMode);
+      this.highWaterMark = options ? getHighWaterMark(this, options, "writableHighWaterMark", isDuplex) : getDefaultHighWaterMark(false);
+      this.finalCalled = false;
+      this.needDrain = false;
+      this.ending = false;
+      this.ended = false;
+      this.finished = false;
+      this.destroyed = false;
+      const noDecode = !!(options && options.decodeStrings === false);
+      this.decodeStrings = !noDecode;
+      this.defaultEncoding = options && options.defaultEncoding || "utf8";
+      this.length = 0;
+      this.writing = false;
+      this.corked = 0;
+      this.sync = true;
+      this.bufferProcessing = false;
+      this.onwrite = onwrite.bind(void 0, stream);
+      this.writecb = null;
+      this.writelen = 0;
+      this.afterWriteTickInfo = null;
+      resetBuffer(this);
+      this.pendingcb = 0;
+      this.constructed = true;
+      this.prefinished = false;
+      this.errorEmitted = false;
+      this.emitClose = !options || options.emitClose !== false;
+      this.autoDestroy = !options || options.autoDestroy !== false;
+      this.errored = null;
+      this.closed = false;
+      this.closeEmitted = false;
+      this[kOnFinished] = [];
+    }
+    function resetBuffer(state) {
+      state.buffered = [];
+      state.bufferedIndex = 0;
+      state.allBuffers = true;
+      state.allNoop = true;
     }
-    exports2.readFieldOptions = readFieldOptions;
-    function readFieldOption(messageType, fieldName, extensionName, extensionType) {
-      var _a;
-      const options = (_a = messageType.fields.find((m, i) => m.localName == fieldName || i == fieldName)) === null || _a === void 0 ? void 0 : _a.options;
-      if (!options) {
-        return void 0;
+    WritableState.prototype.getBuffer = function getBuffer() {
+      return ArrayPrototypeSlice(this.buffered, this.bufferedIndex);
+    };
+    ObjectDefineProperty(WritableState.prototype, "bufferedRequestCount", {
+      __proto__: null,
+      get() {
+        return this.buffered.length - this.bufferedIndex;
       }
-      const optionVal = options[extensionName];
-      if (optionVal === void 0) {
-        return optionVal;
+    });
+    function Writable(options) {
+      const isDuplex = this instanceof require_duplex();
+      if (!isDuplex && !FunctionPrototypeSymbolHasInstance(Writable, this)) return new Writable(options);
+      this._writableState = new WritableState(options, this, isDuplex);
+      if (options) {
+        if (typeof options.write === "function") this._write = options.write;
+        if (typeof options.writev === "function") this._writev = options.writev;
+        if (typeof options.destroy === "function") this._destroy = options.destroy;
+        if (typeof options.final === "function") this._final = options.final;
+        if (typeof options.construct === "function") this._construct = options.construct;
+        if (options.signal) addAbortSignal(options.signal, this);
       }
-      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
+      Stream.call(this, options);
+      destroyImpl.construct(this, () => {
+        const state = this._writableState;
+        if (!state.writing) {
+          clearBuffer(this, state);
+        }
+        finishMaybe(this, state);
+      });
     }
-    exports2.readFieldOption = readFieldOption;
-    function readMessageOption(messageType, extensionName, extensionType) {
-      const options = messageType.options;
-      const optionVal = options[extensionName];
-      if (optionVal === void 0) {
-        return optionVal;
+    ObjectDefineProperty(Writable, SymbolHasInstance, {
+      __proto__: null,
+      value: function(object) {
+        if (FunctionPrototypeSymbolHasInstance(this, object)) return true;
+        if (this !== Writable) return false;
+        return object && object._writableState instanceof WritableState;
       }
-      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
-    }
-    exports2.readMessageOption = readMessageOption;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/oneof.js
-var require_oneof = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/oneof.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getSelectedOneofValue = exports2.clearOneofValue = exports2.setUnknownOneofValue = exports2.setOneofValue = exports2.getOneofValue = exports2.isOneofGroup = void 0;
-    function isOneofGroup(any) {
-      if (typeof any != "object" || any === null || !any.hasOwnProperty("oneofKind")) {
-        return false;
+    });
+    Writable.prototype.pipe = function() {
+      errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());
+    };
+    function _write(stream, chunk, encoding, cb) {
+      const state = stream._writableState;
+      if (typeof encoding === "function") {
+        cb = encoding;
+        encoding = state.defaultEncoding;
+      } else {
+        if (!encoding) encoding = state.defaultEncoding;
+        else if (encoding !== "buffer" && !Buffer2.isEncoding(encoding)) throw new ERR_UNKNOWN_ENCODING(encoding);
+        if (typeof cb !== "function") cb = nop;
       }
-      switch (typeof any.oneofKind) {
-        case "string":
-          if (any[any.oneofKind] === void 0)
-            return false;
-          return Object.keys(any).length == 2;
-        case "undefined":
-          return Object.keys(any).length == 1;
-        default:
-          return false;
+      if (chunk === null) {
+        throw new ERR_STREAM_NULL_VALUES();
+      } else if (!state.objectMode) {
+        if (typeof chunk === "string") {
+          if (state.decodeStrings !== false) {
+            chunk = Buffer2.from(chunk, encoding);
+            encoding = "buffer";
+          }
+        } else if (chunk instanceof Buffer2) {
+          encoding = "buffer";
+        } else if (Stream._isUint8Array(chunk)) {
+          chunk = Stream._uint8ArrayToBuffer(chunk);
+          encoding = "buffer";
+        } else {
+          throw new ERR_INVALID_ARG_TYPE2("chunk", ["string", "Buffer", "Uint8Array"], chunk);
+        }
       }
-    }
-    exports2.isOneofGroup = isOneofGroup;
-    function getOneofValue(oneof, kind) {
-      return oneof[kind];
-    }
-    exports2.getOneofValue = getOneofValue;
-    function setOneofValue(oneof, kind, value) {
-      if (oneof.oneofKind !== void 0) {
-        delete oneof[oneof.oneofKind];
+      let err;
+      if (state.ending) {
+        err = new ERR_STREAM_WRITE_AFTER_END();
+      } else if (state.destroyed) {
+        err = new ERR_STREAM_DESTROYED("write");
       }
-      oneof.oneofKind = kind;
-      if (value !== void 0) {
-        oneof[kind] = value;
+      if (err) {
+        process2.nextTick(cb, err);
+        errorOrDestroy(stream, err, true);
+        return err;
       }
+      state.pendingcb++;
+      return writeOrBuffer(stream, state, chunk, encoding, cb);
     }
-    exports2.setOneofValue = setOneofValue;
-    function setUnknownOneofValue(oneof, kind, value) {
-      if (oneof.oneofKind !== void 0) {
-        delete oneof[oneof.oneofKind];
+    Writable.prototype.write = function(chunk, encoding, cb) {
+      return _write(this, chunk, encoding, cb) === true;
+    };
+    Writable.prototype.cork = function() {
+      this._writableState.corked++;
+    };
+    Writable.prototype.uncork = function() {
+      const state = this._writableState;
+      if (state.corked) {
+        state.corked--;
+        if (!state.writing) clearBuffer(this, state);
       }
-      oneof.oneofKind = kind;
-      if (value !== void 0 && kind !== void 0) {
-        oneof[kind] = value;
+    };
+    Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {
+      if (typeof encoding === "string") encoding = StringPrototypeToLowerCase(encoding);
+      if (!Buffer2.isEncoding(encoding)) throw new ERR_UNKNOWN_ENCODING(encoding);
+      this._writableState.defaultEncoding = encoding;
+      return this;
+    };
+    function writeOrBuffer(stream, state, chunk, encoding, callback) {
+      const len = state.objectMode ? 1 : chunk.length;
+      state.length += len;
+      const ret = state.length < state.highWaterMark;
+      if (!ret) state.needDrain = true;
+      if (state.writing || state.corked || state.errored || !state.constructed) {
+        state.buffered.push({
+          chunk,
+          encoding,
+          callback
+        });
+        if (state.allBuffers && encoding !== "buffer") {
+          state.allBuffers = false;
+        }
+        if (state.allNoop && callback !== nop) {
+          state.allNoop = false;
+        }
+      } else {
+        state.writelen = len;
+        state.writecb = callback;
+        state.writing = true;
+        state.sync = true;
+        stream._write(chunk, encoding, state.onwrite);
+        state.sync = false;
       }
+      return ret && !state.errored && !state.destroyed;
     }
-    exports2.setUnknownOneofValue = setUnknownOneofValue;
-    function clearOneofValue(oneof) {
-      if (oneof.oneofKind !== void 0) {
-        delete oneof[oneof.oneofKind];
-      }
-      oneof.oneofKind = void 0;
+    function doWrite(stream, state, writev, len, chunk, encoding, cb) {
+      state.writelen = len;
+      state.writecb = cb;
+      state.writing = true;
+      state.sync = true;
+      if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED("write"));
+      else if (writev) stream._writev(chunk, state.onwrite);
+      else stream._write(chunk, encoding, state.onwrite);
+      state.sync = false;
     }
-    exports2.clearOneofValue = clearOneofValue;
-    function getSelectedOneofValue(oneof) {
-      if (oneof.oneofKind === void 0) {
-        return void 0;
-      }
-      return oneof[oneof.oneofKind];
+    function onwriteError(stream, state, er, cb) {
+      --state.pendingcb;
+      cb(er);
+      errorBuffer(state);
+      errorOrDestroy(stream, er);
     }
-    exports2.getSelectedOneofValue = getSelectedOneofValue;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-type-check.js
-var require_reflection_type_check = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-type-check.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ReflectionTypeCheck = void 0;
-    var reflection_info_1 = require_reflection_info();
-    var oneof_1 = require_oneof();
-    var ReflectionTypeCheck = class {
-      constructor(info7) {
-        var _a;
-        this.fields = (_a = info7.fields) !== null && _a !== void 0 ? _a : [];
+    function onwrite(stream, er) {
+      const state = stream._writableState;
+      const sync = state.sync;
+      const cb = state.writecb;
+      if (typeof cb !== "function") {
+        errorOrDestroy(stream, new ERR_MULTIPLE_CALLBACK());
+        return;
       }
-      prepare() {
-        if (this.data)
-          return;
-        const req = [], known = [], oneofs = [];
-        for (let field of this.fields) {
-          if (field.oneof) {
-            if (!oneofs.includes(field.oneof)) {
-              oneofs.push(field.oneof);
-              req.push(field.oneof);
-              known.push(field.oneof);
-            }
-          } else {
-            known.push(field.localName);
-            switch (field.kind) {
-              case "scalar":
-              case "enum":
-                if (!field.opt || field.repeat)
-                  req.push(field.localName);
-                break;
-              case "message":
-                if (field.repeat)
-                  req.push(field.localName);
-                break;
-              case "map":
-                req.push(field.localName);
-                break;
-            }
-          }
+      state.writing = false;
+      state.writecb = null;
+      state.length -= state.writelen;
+      state.writelen = 0;
+      if (er) {
+        er.stack;
+        if (!state.errored) {
+          state.errored = er;
         }
-        this.data = { req, known, oneofs: Object.values(oneofs) };
-      }
-      /**
-       * Is the argument a valid message as specified by the
-       * reflection information?
-       *
-       * Checks all field types recursively. The `depth`
-       * specifies how deep into the structure the check will be.
-       *
-       * With a depth of 0, only the presence of fields
-       * is checked.
-       *
-       * With a depth of 1 or more, the field types are checked.
-       *
-       * With a depth of 2 or more, the members of map, repeated
-       * and message fields are checked.
-       *
-       * Message fields will be checked recursively with depth - 1.
-       *
-       * The number of map entries / repeated values being checked
-       * is < depth.
-       */
-      is(message, depth, allowExcessProperties = false) {
-        if (depth < 0)
-          return true;
-        if (message === null || message === void 0 || typeof message != "object")
-          return false;
-        this.prepare();
-        let keys = Object.keys(message), data = this.data;
-        if (keys.length < data.req.length || data.req.some((n) => !keys.includes(n)))
-          return false;
-        if (!allowExcessProperties) {
-          if (keys.some((k) => !data.known.includes(k)))
-            return false;
+        if (stream._readableState && !stream._readableState.errored) {
+          stream._readableState.errored = er;
         }
-        if (depth < 1) {
-          return true;
+        if (sync) {
+          process2.nextTick(onwriteError, stream, state, er, cb);
+        } else {
+          onwriteError(stream, state, er, cb);
         }
-        for (const name of data.oneofs) {
-          const group = message[name];
-          if (!oneof_1.isOneofGroup(group))
-            return false;
-          if (group.oneofKind === void 0)
-            continue;
-          const field = this.fields.find((f) => f.localName === group.oneofKind);
-          if (!field)
-            return false;
-          if (!this.field(group[group.oneofKind], field, allowExcessProperties, depth))
-            return false;
+      } else {
+        if (state.buffered.length > state.bufferedIndex) {
+          clearBuffer(stream, state);
         }
-        for (const field of this.fields) {
-          if (field.oneof !== void 0)
-            continue;
-          if (!this.field(message[field.localName], field, allowExcessProperties, depth))
-            return false;
+        if (sync) {
+          if (state.afterWriteTickInfo !== null && state.afterWriteTickInfo.cb === cb) {
+            state.afterWriteTickInfo.count++;
+          } else {
+            state.afterWriteTickInfo = {
+              count: 1,
+              cb,
+              stream,
+              state
+            };
+            process2.nextTick(afterWriteTick, state.afterWriteTickInfo);
+          }
+        } else {
+          afterWrite(stream, state, 1, cb);
         }
-        return true;
       }
-      field(arg, field, allowExcessProperties, depth) {
-        let repeated = field.repeat;
-        switch (field.kind) {
-          case "scalar":
-            if (arg === void 0)
-              return field.opt;
-            if (repeated)
-              return this.scalars(arg, field.T, depth, field.L);
-            return this.scalar(arg, field.T, field.L);
-          case "enum":
-            if (arg === void 0)
-              return field.opt;
-            if (repeated)
-              return this.scalars(arg, reflection_info_1.ScalarType.INT32, depth);
-            return this.scalar(arg, reflection_info_1.ScalarType.INT32);
-          case "message":
-            if (arg === void 0)
-              return true;
-            if (repeated)
-              return this.messages(arg, field.T(), allowExcessProperties, depth);
-            return this.message(arg, field.T(), allowExcessProperties, depth);
-          case "map":
-            if (typeof arg != "object" || arg === null)
-              return false;
-            if (depth < 2)
-              return true;
-            if (!this.mapKeys(arg, field.K, depth))
-              return false;
-            switch (field.V.kind) {
-              case "scalar":
-                return this.scalars(Object.values(arg), field.V.T, depth, field.V.L);
-              case "enum":
-                return this.scalars(Object.values(arg), reflection_info_1.ScalarType.INT32, depth);
-              case "message":
-                return this.messages(Object.values(arg), field.V.T(), allowExcessProperties, depth);
-            }
-            break;
-        }
-        return true;
+    }
+    function afterWriteTick({ stream, state, count, cb }) {
+      state.afterWriteTickInfo = null;
+      return afterWrite(stream, state, count, cb);
+    }
+    function afterWrite(stream, state, count, cb) {
+      const needDrain = !state.ending && !stream.destroyed && state.length === 0 && state.needDrain;
+      if (needDrain) {
+        state.needDrain = false;
+        stream.emit("drain");
       }
-      message(arg, type2, allowExcessProperties, depth) {
-        if (allowExcessProperties) {
-          return type2.isAssignable(arg, depth);
-        }
-        return type2.is(arg, depth);
+      while (count-- > 0) {
+        state.pendingcb--;
+        cb();
       }
-      messages(arg, type2, allowExcessProperties, depth) {
-        if (!Array.isArray(arg))
-          return false;
-        if (depth < 2)
-          return true;
-        if (allowExcessProperties) {
-          for (let i = 0; i < arg.length && i < depth; i++)
-            if (!type2.isAssignable(arg[i], depth - 1))
-              return false;
+      if (state.destroyed) {
+        errorBuffer(state);
+      }
+      finishMaybe(stream, state);
+    }
+    function errorBuffer(state) {
+      if (state.writing) {
+        return;
+      }
+      for (let n = state.bufferedIndex; n < state.buffered.length; ++n) {
+        var _state$errored;
+        const { chunk, callback } = state.buffered[n];
+        const len = state.objectMode ? 1 : chunk.length;
+        state.length -= len;
+        callback(
+          (_state$errored = state.errored) !== null && _state$errored !== void 0 ? _state$errored : new ERR_STREAM_DESTROYED("write")
+        );
+      }
+      const onfinishCallbacks = state[kOnFinished].splice(0);
+      for (let i = 0; i < onfinishCallbacks.length; i++) {
+        var _state$errored2;
+        onfinishCallbacks[i](
+          (_state$errored2 = state.errored) !== null && _state$errored2 !== void 0 ? _state$errored2 : new ERR_STREAM_DESTROYED("end")
+        );
+      }
+      resetBuffer(state);
+    }
+    function clearBuffer(stream, state) {
+      if (state.corked || state.bufferProcessing || state.destroyed || !state.constructed) {
+        return;
+      }
+      const { buffered, bufferedIndex, objectMode } = state;
+      const bufferedLength = buffered.length - bufferedIndex;
+      if (!bufferedLength) {
+        return;
+      }
+      let i = bufferedIndex;
+      state.bufferProcessing = true;
+      if (bufferedLength > 1 && stream._writev) {
+        state.pendingcb -= bufferedLength - 1;
+        const callback = state.allNoop ? nop : (err) => {
+          for (let n = i; n < buffered.length; ++n) {
+            buffered[n].callback(err);
+          }
+        };
+        const chunks = state.allNoop && i === 0 ? buffered : ArrayPrototypeSlice(buffered, i);
+        chunks.allBuffers = state.allBuffers;
+        doWrite(stream, state, true, state.length, chunks, "", callback);
+        resetBuffer(state);
+      } else {
+        do {
+          const { chunk, encoding, callback } = buffered[i];
+          buffered[i++] = null;
+          const len = objectMode ? 1 : chunk.length;
+          doWrite(stream, state, false, len, chunk, encoding, callback);
+        } while (i < buffered.length && !state.writing);
+        if (i === buffered.length) {
+          resetBuffer(state);
+        } else if (i > 256) {
+          buffered.splice(0, i);
+          state.bufferedIndex = 0;
         } else {
-          for (let i = 0; i < arg.length && i < depth; i++)
-            if (!type2.is(arg[i], depth - 1))
-              return false;
+          state.bufferedIndex = i;
         }
-        return true;
       }
-      scalar(arg, type2, longType) {
-        let argType = typeof arg;
-        switch (type2) {
-          case reflection_info_1.ScalarType.UINT64:
-          case reflection_info_1.ScalarType.FIXED64:
-          case reflection_info_1.ScalarType.INT64:
-          case reflection_info_1.ScalarType.SFIXED64:
-          case reflection_info_1.ScalarType.SINT64:
-            switch (longType) {
-              case reflection_info_1.LongType.BIGINT:
-                return argType == "bigint";
-              case reflection_info_1.LongType.NUMBER:
-                return argType == "number" && !isNaN(arg);
-              default:
-                return argType == "string";
+      state.bufferProcessing = false;
+    }
+    Writable.prototype._write = function(chunk, encoding, cb) {
+      if (this._writev) {
+        this._writev(
+          [
+            {
+              chunk,
+              encoding
             }
-          case reflection_info_1.ScalarType.BOOL:
-            return argType == "boolean";
-          case reflection_info_1.ScalarType.STRING:
-            return argType == "string";
-          case reflection_info_1.ScalarType.BYTES:
-            return arg instanceof Uint8Array;
-          case reflection_info_1.ScalarType.DOUBLE:
-          case reflection_info_1.ScalarType.FLOAT:
-            return argType == "number" && !isNaN(arg);
-          default:
-            return argType == "number" && Number.isInteger(arg);
-        }
+          ],
+          cb
+        );
+      } else {
+        throw new ERR_METHOD_NOT_IMPLEMENTED("_write()");
+      }
+    };
+    Writable.prototype._writev = null;
+    Writable.prototype.end = function(chunk, encoding, cb) {
+      const state = this._writableState;
+      if (typeof chunk === "function") {
+        cb = chunk;
+        chunk = null;
+        encoding = null;
+      } else if (typeof encoding === "function") {
+        cb = encoding;
+        encoding = null;
       }
-      scalars(arg, type2, depth, longType) {
-        if (!Array.isArray(arg))
-          return false;
-        if (depth < 2)
-          return true;
-        if (Array.isArray(arg)) {
-          for (let i = 0; i < arg.length && i < depth; i++)
-            if (!this.scalar(arg[i], type2, longType))
-              return false;
+      let err;
+      if (chunk !== null && chunk !== void 0) {
+        const ret = _write(this, chunk, encoding);
+        if (ret instanceof Error2) {
+          err = ret;
         }
-        return true;
       }
-      mapKeys(map2, type2, depth) {
-        let keys = Object.keys(map2);
-        switch (type2) {
-          case reflection_info_1.ScalarType.INT32:
-          case reflection_info_1.ScalarType.FIXED32:
-          case reflection_info_1.ScalarType.SFIXED32:
-          case reflection_info_1.ScalarType.SINT32:
-          case reflection_info_1.ScalarType.UINT32:
-            return this.scalars(keys.slice(0, depth).map((k) => parseInt(k)), type2, depth);
-          case reflection_info_1.ScalarType.BOOL:
-            return this.scalars(keys.slice(0, depth).map((k) => k == "true" ? true : k == "false" ? false : k), type2, depth);
-          default:
-            return this.scalars(keys, type2, depth, reflection_info_1.LongType.STRING);
+      if (state.corked) {
+        state.corked = 1;
+        this.uncork();
+      }
+      if (err) {
+      } else if (!state.errored && !state.ending) {
+        state.ending = true;
+        finishMaybe(this, state, true);
+        state.ended = true;
+      } else if (state.finished) {
+        err = new ERR_STREAM_ALREADY_FINISHED("end");
+      } else if (state.destroyed) {
+        err = new ERR_STREAM_DESTROYED("end");
+      }
+      if (typeof cb === "function") {
+        if (err || state.finished) {
+          process2.nextTick(cb, err);
+        } else {
+          state[kOnFinished].push(cb);
         }
       }
+      return this;
     };
-    exports2.ReflectionTypeCheck = ReflectionTypeCheck;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-long-convert.js
-var require_reflection_long_convert = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-long-convert.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.reflectionLongConvert = void 0;
-    var reflection_info_1 = require_reflection_info();
-    function reflectionLongConvert(long, type2) {
-      switch (type2) {
-        case reflection_info_1.LongType.BIGINT:
-          return long.toBigInt();
-        case reflection_info_1.LongType.NUMBER:
-          return long.toNumber();
-        default:
-          return long.toString();
-      }
+    function needFinish(state) {
+      return state.ending && !state.destroyed && state.constructed && state.length === 0 && !state.errored && state.buffered.length === 0 && !state.finished && !state.writing && !state.errorEmitted && !state.closeEmitted;
     }
-    exports2.reflectionLongConvert = reflectionLongConvert;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-reader.js
-var require_reflection_json_reader = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-reader.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ReflectionJsonReader = void 0;
-    var json_typings_1 = require_json_typings();
-    var base64_1 = require_base642();
-    var reflection_info_1 = require_reflection_info();
-    var pb_long_1 = require_pb_long();
-    var assert_1 = require_assert();
-    var reflection_long_convert_1 = require_reflection_long_convert();
-    var ReflectionJsonReader = class {
-      constructor(info7) {
-        this.info = info7;
-      }
-      prepare() {
-        var _a;
-        if (this.fMap === void 0) {
-          this.fMap = {};
-          const fieldsInput = (_a = this.info.fields) !== null && _a !== void 0 ? _a : [];
-          for (const field of fieldsInput) {
-            this.fMap[field.name] = field;
-            this.fMap[field.jsonName] = field;
-            this.fMap[field.localName] = field;
+    function callFinal(stream, state) {
+      let called = false;
+      function onFinish(err) {
+        if (called) {
+          errorOrDestroy(stream, err !== null && err !== void 0 ? err : ERR_MULTIPLE_CALLBACK());
+          return;
+        }
+        called = true;
+        state.pendingcb--;
+        if (err) {
+          const onfinishCallbacks = state[kOnFinished].splice(0);
+          for (let i = 0; i < onfinishCallbacks.length; i++) {
+            onfinishCallbacks[i](err);
           }
+          errorOrDestroy(stream, err, state.sync);
+        } else if (needFinish(state)) {
+          state.prefinished = true;
+          stream.emit("prefinish");
+          state.pendingcb++;
+          process2.nextTick(finish, stream, state);
         }
       }
-      // Cannot parse JSON  for #.
-      assert(condition, fieldName, jsonValue) {
-        if (!condition) {
-          let what = json_typings_1.typeofJsonValue(jsonValue);
-          if (what == "number" || what == "boolean")
-            what = jsonValue.toString();
-          throw new Error(`Cannot parse JSON ${what} for ${this.info.typeName}#${fieldName}`);
+      state.sync = true;
+      state.pendingcb++;
+      try {
+        stream._final(onFinish);
+      } catch (err) {
+        onFinish(err);
+      }
+      state.sync = false;
+    }
+    function prefinish(stream, state) {
+      if (!state.prefinished && !state.finalCalled) {
+        if (typeof stream._final === "function" && !state.destroyed) {
+          state.finalCalled = true;
+          callFinal(stream, state);
+        } else {
+          state.prefinished = true;
+          stream.emit("prefinish");
         }
       }
-      /**
-       * Reads a message from canonical JSON format into the target message.
-       *
-       * Repeated fields are appended. Map entries are added, overwriting
-       * existing keys.
-       *
-       * If a message field is already present, it will be merged with the
-       * new data.
-       */
-      read(input, message, options) {
-        this.prepare();
-        const oneofsHandled = [];
-        for (const [jsonKey, jsonValue] of Object.entries(input)) {
-          const field = this.fMap[jsonKey];
-          if (!field) {
-            if (!options.ignoreUnknownFields)
-              throw new Error(`Found unknown field while reading ${this.info.typeName} from JSON format. JSON key: ${jsonKey}`);
-            continue;
-          }
-          const localName = field.localName;
-          let target;
-          if (field.oneof) {
-            if (jsonValue === null && (field.kind !== "enum" || field.T()[0] !== "google.protobuf.NullValue")) {
-              continue;
-            }
-            if (oneofsHandled.includes(field.oneof))
-              throw new Error(`Multiple members of the oneof group "${field.oneof}" of ${this.info.typeName} are present in JSON.`);
-            oneofsHandled.push(field.oneof);
-            target = message[field.oneof] = {
-              oneofKind: localName
-            };
-          } else {
-            target = message;
-          }
-          if (field.kind == "map") {
-            if (jsonValue === null) {
-              continue;
-            }
-            this.assert(json_typings_1.isJsonObject(jsonValue), field.name, jsonValue);
-            const fieldObj = target[localName];
-            for (const [jsonObjKey, jsonObjValue] of Object.entries(jsonValue)) {
-              this.assert(jsonObjValue !== null, field.name + " map value", null);
-              let val;
-              switch (field.V.kind) {
-                case "message":
-                  val = field.V.T().internalJsonRead(jsonObjValue, options);
-                  break;
-                case "enum":
-                  val = this.enum(field.V.T(), jsonObjValue, field.name, options.ignoreUnknownFields);
-                  if (val === false)
-                    continue;
-                  break;
-                case "scalar":
-                  val = this.scalar(jsonObjValue, field.V.T, field.V.L, field.name);
-                  break;
-              }
-              this.assert(val !== void 0, field.name + " map value", jsonObjValue);
-              let key = jsonObjKey;
-              if (field.K == reflection_info_1.ScalarType.BOOL)
-                key = key == "true" ? true : key == "false" ? false : key;
-              key = this.scalar(key, field.K, reflection_info_1.LongType.STRING, field.name).toString();
-              fieldObj[key] = val;
-            }
-          } else if (field.repeat) {
-            if (jsonValue === null)
-              continue;
-            this.assert(Array.isArray(jsonValue), field.name, jsonValue);
-            const fieldArr = target[localName];
-            for (const jsonItem of jsonValue) {
-              this.assert(jsonItem !== null, field.name, null);
-              let val;
-              switch (field.kind) {
-                case "message":
-                  val = field.T().internalJsonRead(jsonItem, options);
-                  break;
-                case "enum":
-                  val = this.enum(field.T(), jsonItem, field.name, options.ignoreUnknownFields);
-                  if (val === false)
-                    continue;
-                  break;
-                case "scalar":
-                  val = this.scalar(jsonItem, field.T, field.L, field.name);
-                  break;
-              }
-              this.assert(val !== void 0, field.name, jsonValue);
-              fieldArr.push(val);
-            }
-          } else {
-            switch (field.kind) {
-              case "message":
-                if (jsonValue === null && field.T().typeName != "google.protobuf.Value") {
-                  this.assert(field.oneof === void 0, field.name + " (oneof member)", null);
-                  continue;
+    }
+    function finishMaybe(stream, state, sync) {
+      if (needFinish(state)) {
+        prefinish(stream, state);
+        if (state.pendingcb === 0) {
+          if (sync) {
+            state.pendingcb++;
+            process2.nextTick(
+              (stream2, state2) => {
+                if (needFinish(state2)) {
+                  finish(stream2, state2);
+                } else {
+                  state2.pendingcb--;
                 }
-                target[localName] = field.T().internalJsonRead(jsonValue, options, target[localName]);
-                break;
-              case "enum":
-                if (jsonValue === null)
-                  continue;
-                let val = this.enum(field.T(), jsonValue, field.name, options.ignoreUnknownFields);
-                if (val === false)
-                  continue;
-                target[localName] = val;
-                break;
-              case "scalar":
-                if (jsonValue === null)
-                  continue;
-                target[localName] = this.scalar(jsonValue, field.T, field.L, field.name);
-                break;
-            }
+              },
+              stream,
+              state
+            );
+          } else if (needFinish(state)) {
+            state.pendingcb++;
+            finish(stream, state);
           }
         }
       }
-      /**
-       * Returns `false` for unrecognized string representations.
-       *
-       * google.protobuf.NullValue accepts only JSON `null` (or the old `"NULL_VALUE"`).
-       */
-      enum(type2, json2, fieldName, ignoreUnknownFields) {
-        if (type2[0] == "google.protobuf.NullValue")
-          assert_1.assert(json2 === null || json2 === "NULL_VALUE", `Unable to parse field ${this.info.typeName}#${fieldName}, enum ${type2[0]} only accepts null.`);
-        if (json2 === null)
-          return 0;
-        switch (typeof json2) {
-          case "number":
-            assert_1.assert(Number.isInteger(json2), `Unable to parse field ${this.info.typeName}#${fieldName}, enum can only be integral number, got ${json2}.`);
-            return json2;
-          case "string":
-            let localEnumName = json2;
-            if (type2[2] && json2.substring(0, type2[2].length) === type2[2])
-              localEnumName = json2.substring(type2[2].length);
-            let enumNumber = type2[1][localEnumName];
-            if (typeof enumNumber === "undefined" && ignoreUnknownFields) {
-              return false;
-            }
-            assert_1.assert(typeof enumNumber == "number", `Unable to parse field ${this.info.typeName}#${fieldName}, enum ${type2[0]} has no value for "${json2}".`);
-            return enumNumber;
+    }
+    function finish(stream, state) {
+      state.pendingcb--;
+      state.finished = true;
+      const onfinishCallbacks = state[kOnFinished].splice(0);
+      for (let i = 0; i < onfinishCallbacks.length; i++) {
+        onfinishCallbacks[i]();
+      }
+      stream.emit("finish");
+      if (state.autoDestroy) {
+        const rState = stream._readableState;
+        const autoDestroy = !rState || rState.autoDestroy && // We don't expect the readable to ever 'end'
+        // if readable is explicitly set to false.
+        (rState.endEmitted || rState.readable === false);
+        if (autoDestroy) {
+          stream.destroy();
         }
-        assert_1.assert(false, `Unable to parse field ${this.info.typeName}#${fieldName}, cannot parse enum value from ${typeof json2}".`);
       }
-      scalar(json2, type2, longType, fieldName) {
-        let e;
-        try {
-          switch (type2) {
-            // float, double: JSON value will be a number or one of the special string values "NaN", "Infinity", and "-Infinity".
-            // Either numbers or strings are accepted. Exponent notation is also accepted.
-            case reflection_info_1.ScalarType.DOUBLE:
-            case reflection_info_1.ScalarType.FLOAT:
-              if (json2 === null)
-                return 0;
-              if (json2 === "NaN")
-                return Number.NaN;
-              if (json2 === "Infinity")
-                return Number.POSITIVE_INFINITY;
-              if (json2 === "-Infinity")
-                return Number.NEGATIVE_INFINITY;
-              if (json2 === "") {
-                e = "empty string";
-                break;
-              }
-              if (typeof json2 == "string" && json2.trim().length !== json2.length) {
-                e = "extra whitespace";
-                break;
-              }
-              if (typeof json2 != "string" && typeof json2 != "number") {
-                break;
-              }
-              let float2 = Number(json2);
-              if (Number.isNaN(float2)) {
-                e = "not a number";
-                break;
-              }
-              if (!Number.isFinite(float2)) {
-                e = "too large or small";
-                break;
-              }
-              if (type2 == reflection_info_1.ScalarType.FLOAT)
-                assert_1.assertFloat32(float2);
-              return float2;
-            // int32, fixed32, uint32: JSON value will be a decimal number. Either numbers or strings are accepted.
-            case reflection_info_1.ScalarType.INT32:
-            case reflection_info_1.ScalarType.FIXED32:
-            case reflection_info_1.ScalarType.SFIXED32:
-            case reflection_info_1.ScalarType.SINT32:
-            case reflection_info_1.ScalarType.UINT32:
-              if (json2 === null)
-                return 0;
-              let int32;
-              if (typeof json2 == "number")
-                int32 = json2;
-              else if (json2 === "")
-                e = "empty string";
-              else if (typeof json2 == "string") {
-                if (json2.trim().length !== json2.length)
-                  e = "extra whitespace";
-                else
-                  int32 = Number(json2);
-              }
-              if (int32 === void 0)
-                break;
-              if (type2 == reflection_info_1.ScalarType.UINT32)
-                assert_1.assertUInt32(int32);
-              else
-                assert_1.assertInt32(int32);
-              return int32;
-            // int64, fixed64, uint64: JSON value will be a decimal string. Either numbers or strings are accepted.
-            case reflection_info_1.ScalarType.INT64:
-            case reflection_info_1.ScalarType.SFIXED64:
-            case reflection_info_1.ScalarType.SINT64:
-              if (json2 === null)
-                return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.ZERO, longType);
-              if (typeof json2 != "number" && typeof json2 != "string")
-                break;
-              return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.from(json2), longType);
-            case reflection_info_1.ScalarType.FIXED64:
-            case reflection_info_1.ScalarType.UINT64:
-              if (json2 === null)
-                return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.ZERO, longType);
-              if (typeof json2 != "number" && typeof json2 != "string")
-                break;
-              return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.from(json2), longType);
-            // bool:
-            case reflection_info_1.ScalarType.BOOL:
-              if (json2 === null)
-                return false;
-              if (typeof json2 !== "boolean")
-                break;
-              return json2;
-            // string:
-            case reflection_info_1.ScalarType.STRING:
-              if (json2 === null)
-                return "";
-              if (typeof json2 !== "string") {
-                e = "extra whitespace";
-                break;
-              }
-              try {
-                encodeURIComponent(json2);
-              } catch (e2) {
-                e2 = "invalid UTF8";
-                break;
-              }
-              return json2;
-            // bytes: JSON value will be the data encoded as a string using standard base64 encoding with paddings.
-            // Either standard or URL-safe base64 encoding with/without paddings are accepted.
-            case reflection_info_1.ScalarType.BYTES:
-              if (json2 === null || json2 === "")
-                return new Uint8Array(0);
-              if (typeof json2 !== "string")
-                break;
-              return base64_1.base64decode(json2);
+    }
+    ObjectDefineProperties(Writable.prototype, {
+      closed: {
+        __proto__: null,
+        get() {
+          return this._writableState ? this._writableState.closed : false;
+        }
+      },
+      destroyed: {
+        __proto__: null,
+        get() {
+          return this._writableState ? this._writableState.destroyed : false;
+        },
+        set(value) {
+          if (this._writableState) {
+            this._writableState.destroyed = value;
           }
-        } catch (error3) {
-          e = error3.message;
         }
-        this.assert(false, fieldName + (e ? " - " + e : ""), json2);
+      },
+      writable: {
+        __proto__: null,
+        get() {
+          const w = this._writableState;
+          return !!w && w.writable !== false && !w.destroyed && !w.errored && !w.ending && !w.ended;
+        },
+        set(val) {
+          if (this._writableState) {
+            this._writableState.writable = !!val;
+          }
+        }
+      },
+      writableFinished: {
+        __proto__: null,
+        get() {
+          return this._writableState ? this._writableState.finished : false;
+        }
+      },
+      writableObjectMode: {
+        __proto__: null,
+        get() {
+          return this._writableState ? this._writableState.objectMode : false;
+        }
+      },
+      writableBuffer: {
+        __proto__: null,
+        get() {
+          return this._writableState && this._writableState.getBuffer();
+        }
+      },
+      writableEnded: {
+        __proto__: null,
+        get() {
+          return this._writableState ? this._writableState.ending : false;
+        }
+      },
+      writableNeedDrain: {
+        __proto__: null,
+        get() {
+          const wState = this._writableState;
+          if (!wState) return false;
+          return !wState.destroyed && !wState.ending && wState.needDrain;
+        }
+      },
+      writableHighWaterMark: {
+        __proto__: null,
+        get() {
+          return this._writableState && this._writableState.highWaterMark;
+        }
+      },
+      writableCorked: {
+        __proto__: null,
+        get() {
+          return this._writableState ? this._writableState.corked : 0;
+        }
+      },
+      writableLength: {
+        __proto__: null,
+        get() {
+          return this._writableState && this._writableState.length;
+        }
+      },
+      errored: {
+        __proto__: null,
+        enumerable: false,
+        get() {
+          return this._writableState ? this._writableState.errored : null;
+        }
+      },
+      writableAborted: {
+        __proto__: null,
+        enumerable: false,
+        get: function() {
+          return !!(this._writableState.writable !== false && (this._writableState.destroyed || this._writableState.errored) && !this._writableState.finished);
+        }
+      }
+    });
+    var destroy = destroyImpl.destroy;
+    Writable.prototype.destroy = function(err, cb) {
+      const state = this._writableState;
+      if (!state.destroyed && (state.bufferedIndex < state.buffered.length || state[kOnFinished].length)) {
+        process2.nextTick(errorBuffer, state);
       }
+      destroy.call(this, err, cb);
+      return this;
+    };
+    Writable.prototype._undestroy = destroyImpl.undestroy;
+    Writable.prototype._destroy = function(err, cb) {
+      cb(err);
+    };
+    Writable.prototype[EE.captureRejectionSymbol] = function(err) {
+      this.destroy(err);
+    };
+    var webStreamsAdapters;
+    function lazyWebStreams() {
+      if (webStreamsAdapters === void 0) webStreamsAdapters = {};
+      return webStreamsAdapters;
+    }
+    Writable.fromWeb = function(writableStream, options) {
+      return lazyWebStreams().newStreamWritableFromWritableStream(writableStream, options);
+    };
+    Writable.toWeb = function(streamWritable) {
+      return lazyWebStreams().newWritableStreamFromStreamWritable(streamWritable);
     };
-    exports2.ReflectionJsonReader = ReflectionJsonReader;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-writer.js
-var require_reflection_json_writer = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-writer.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ReflectionJsonWriter = void 0;
-    var base64_1 = require_base642();
-    var pb_long_1 = require_pb_long();
-    var reflection_info_1 = require_reflection_info();
-    var assert_1 = require_assert();
-    var ReflectionJsonWriter = class {
-      constructor(info7) {
-        var _a;
-        this.fields = (_a = info7.fields) !== null && _a !== void 0 ? _a : [];
-      }
-      /**
-       * Converts the message to a JSON object, based on the field descriptors.
-       */
-      write(message, options) {
-        const json2 = {}, source = message;
-        for (const field of this.fields) {
-          if (!field.oneof) {
-            let jsonValue2 = this.field(field, source[field.localName], options);
-            if (jsonValue2 !== void 0)
-              json2[options.useProtoFieldName ? field.name : field.jsonName] = jsonValue2;
-            continue;
-          }
-          const group = source[field.oneof];
-          if (group.oneofKind !== field.localName)
-            continue;
-          const opt = field.kind == "scalar" || field.kind == "enum" ? Object.assign(Object.assign({}, options), { emitDefaultValues: true }) : options;
-          let jsonValue = this.field(field, group[field.localName], opt);
-          assert_1.assert(jsonValue !== void 0);
-          json2[options.useProtoFieldName ? field.name : field.jsonName] = jsonValue;
+// node_modules/readable-stream/lib/internal/streams/duplexify.js
+var require_duplexify = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/duplexify.js"(exports2, module2) {
+    var process2 = require_process();
+    var bufferModule = require("buffer");
+    var {
+      isReadable,
+      isWritable,
+      isIterable,
+      isNodeStream,
+      isReadableNodeStream,
+      isWritableNodeStream,
+      isDuplexNodeStream,
+      isReadableStream,
+      isWritableStream
+    } = require_utils8();
+    var eos = require_end_of_stream();
+    var {
+      AbortError,
+      codes: { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_RETURN_VALUE }
+    } = require_errors5();
+    var { destroyer } = require_destroy2();
+    var Duplex = require_duplex();
+    var Readable = require_readable4();
+    var Writable = require_writable();
+    var { createDeferredPromise } = require_util21();
+    var from = require_from();
+    var Blob2 = globalThis.Blob || bufferModule.Blob;
+    var isBlob = typeof Blob2 !== "undefined" ? function isBlob2(b) {
+      return b instanceof Blob2;
+    } : function isBlob2(b) {
+      return false;
+    };
+    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
+    var { FunctionPrototypeCall } = require_primordials();
+    var Duplexify = class extends Duplex {
+      constructor(options) {
+        super(options);
+        if ((options === null || options === void 0 ? void 0 : options.readable) === false) {
+          this._readableState.readable = false;
+          this._readableState.ended = true;
+          this._readableState.endEmitted = true;
         }
-        return json2;
-      }
-      field(field, value, options) {
-        let jsonValue = void 0;
-        if (field.kind == "map") {
-          assert_1.assert(typeof value == "object" && value !== null);
-          const jsonObj = {};
-          switch (field.V.kind) {
-            case "scalar":
-              for (const [entryKey, entryValue] of Object.entries(value)) {
-                const val = this.scalar(field.V.T, entryValue, field.name, false, true);
-                assert_1.assert(val !== void 0);
-                jsonObj[entryKey.toString()] = val;
-              }
-              break;
-            case "message":
-              const messageType = field.V.T();
-              for (const [entryKey, entryValue] of Object.entries(value)) {
-                const val = this.message(messageType, entryValue, field.name, options);
-                assert_1.assert(val !== void 0);
-                jsonObj[entryKey.toString()] = val;
-              }
-              break;
-            case "enum":
-              const enumInfo = field.V.T();
-              for (const [entryKey, entryValue] of Object.entries(value)) {
-                assert_1.assert(entryValue === void 0 || typeof entryValue == "number");
-                const val = this.enum(enumInfo, entryValue, field.name, false, true, options.enumAsInteger);
-                assert_1.assert(val !== void 0);
-                jsonObj[entryKey.toString()] = val;
-              }
-              break;
-          }
-          if (options.emitDefaultValues || Object.keys(jsonObj).length > 0)
-            jsonValue = jsonObj;
-        } else if (field.repeat) {
-          assert_1.assert(Array.isArray(value));
-          const jsonArr = [];
-          switch (field.kind) {
-            case "scalar":
-              for (let i = 0; i < value.length; i++) {
-                const val = this.scalar(field.T, value[i], field.name, field.opt, true);
-                assert_1.assert(val !== void 0);
-                jsonArr.push(val);
-              }
-              break;
-            case "enum":
-              const enumInfo = field.T();
-              for (let i = 0; i < value.length; i++) {
-                assert_1.assert(value[i] === void 0 || typeof value[i] == "number");
-                const val = this.enum(enumInfo, value[i], field.name, field.opt, true, options.enumAsInteger);
-                assert_1.assert(val !== void 0);
-                jsonArr.push(val);
-              }
-              break;
-            case "message":
-              const messageType = field.T();
-              for (let i = 0; i < value.length; i++) {
-                const val = this.message(messageType, value[i], field.name, options);
-                assert_1.assert(val !== void 0);
-                jsonArr.push(val);
-              }
-              break;
-          }
-          if (options.emitDefaultValues || jsonArr.length > 0 || options.emitDefaultValues)
-            jsonValue = jsonArr;
-        } else {
-          switch (field.kind) {
-            case "scalar":
-              jsonValue = this.scalar(field.T, value, field.name, field.opt, options.emitDefaultValues);
-              break;
-            case "enum":
-              jsonValue = this.enum(field.T(), value, field.name, field.opt, options.emitDefaultValues, options.enumAsInteger);
-              break;
-            case "message":
-              jsonValue = this.message(field.T(), value, field.name, options);
-              break;
-          }
+        if ((options === null || options === void 0 ? void 0 : options.writable) === false) {
+          this._writableState.writable = false;
+          this._writableState.ending = true;
+          this._writableState.ended = true;
+          this._writableState.finished = true;
         }
-        return jsonValue;
       }
-      /**
-       * Returns `null` as the default for google.protobuf.NullValue.
-       */
-      enum(type2, value, fieldName, optional, emitDefaultValues, enumAsInteger) {
-        if (type2[0] == "google.protobuf.NullValue")
-          return !emitDefaultValues && !optional ? void 0 : null;
-        if (value === void 0) {
-          assert_1.assert(optional);
-          return void 0;
-        }
-        if (value === 0 && !emitDefaultValues && !optional)
-          return void 0;
-        assert_1.assert(typeof value == "number");
-        assert_1.assert(Number.isInteger(value));
-        if (enumAsInteger || !type2[1].hasOwnProperty(value))
-          return value;
-        if (type2[2])
-          return type2[2] + type2[1][value];
-        return type2[1][value];
+    };
+    module2.exports = function duplexify(body, name) {
+      if (isDuplexNodeStream(body)) {
+        return body;
       }
-      message(type2, value, fieldName, options) {
-        if (value === void 0)
-          return options.emitDefaultValues ? null : void 0;
-        return type2.internalJsonWrite(value, options);
+      if (isReadableNodeStream(body)) {
+        return _duplexify({
+          readable: body
+        });
       }
-      scalar(type2, value, fieldName, optional, emitDefaultValues) {
-        if (value === void 0) {
-          assert_1.assert(optional);
-          return void 0;
+      if (isWritableNodeStream(body)) {
+        return _duplexify({
+          writable: body
+        });
+      }
+      if (isNodeStream(body)) {
+        return _duplexify({
+          writable: false,
+          readable: false
+        });
+      }
+      if (isReadableStream(body)) {
+        return _duplexify({
+          readable: Readable.fromWeb(body)
+        });
+      }
+      if (isWritableStream(body)) {
+        return _duplexify({
+          writable: Writable.fromWeb(body)
+        });
+      }
+      if (typeof body === "function") {
+        const { value, write, final, destroy } = fromAsyncGen(body);
+        if (isIterable(value)) {
+          return from(Duplexify, value, {
+            // TODO (ronag): highWaterMark?
+            objectMode: true,
+            write,
+            final,
+            destroy
+          });
         }
-        const ed = emitDefaultValues || optional;
-        switch (type2) {
-          // int32, fixed32, uint32: JSON value will be a decimal number. Either numbers or strings are accepted.
-          case reflection_info_1.ScalarType.INT32:
-          case reflection_info_1.ScalarType.SFIXED32:
-          case reflection_info_1.ScalarType.SINT32:
-            if (value === 0)
-              return ed ? 0 : void 0;
-            assert_1.assertInt32(value);
-            return value;
-          case reflection_info_1.ScalarType.FIXED32:
-          case reflection_info_1.ScalarType.UINT32:
-            if (value === 0)
-              return ed ? 0 : void 0;
-            assert_1.assertUInt32(value);
-            return value;
-          // float, double: JSON value will be a number or one of the special string values "NaN", "Infinity", and "-Infinity".
-          // Either numbers or strings are accepted. Exponent notation is also accepted.
-          case reflection_info_1.ScalarType.FLOAT:
-            assert_1.assertFloat32(value);
-          case reflection_info_1.ScalarType.DOUBLE:
-            if (value === 0)
-              return ed ? 0 : void 0;
-            assert_1.assert(typeof value == "number");
-            if (Number.isNaN(value))
-              return "NaN";
-            if (value === Number.POSITIVE_INFINITY)
-              return "Infinity";
-            if (value === Number.NEGATIVE_INFINITY)
-              return "-Infinity";
-            return value;
-          // string:
-          case reflection_info_1.ScalarType.STRING:
-            if (value === "")
-              return ed ? "" : void 0;
-            assert_1.assert(typeof value == "string");
-            return value;
-          // bool:
-          case reflection_info_1.ScalarType.BOOL:
-            if (value === false)
-              return ed ? false : void 0;
-            assert_1.assert(typeof value == "boolean");
-            return value;
-          // JSON value will be a decimal string. Either numbers or strings are accepted.
-          case reflection_info_1.ScalarType.UINT64:
-          case reflection_info_1.ScalarType.FIXED64:
-            assert_1.assert(typeof value == "number" || typeof value == "string" || typeof value == "bigint");
-            let ulong = pb_long_1.PbULong.from(value);
-            if (ulong.isZero() && !ed)
-              return void 0;
-            return ulong.toString();
-          // JSON value will be a decimal string. Either numbers or strings are accepted.
-          case reflection_info_1.ScalarType.INT64:
-          case reflection_info_1.ScalarType.SFIXED64:
-          case reflection_info_1.ScalarType.SINT64:
-            assert_1.assert(typeof value == "number" || typeof value == "string" || typeof value == "bigint");
-            let long = pb_long_1.PbLong.from(value);
-            if (long.isZero() && !ed)
-              return void 0;
-            return long.toString();
-          // bytes: JSON value will be the data encoded as a string using standard base64 encoding with paddings.
-          // Either standard or URL-safe base64 encoding with/without paddings are accepted.
-          case reflection_info_1.ScalarType.BYTES:
-            assert_1.assert(value instanceof Uint8Array);
-            if (!value.byteLength)
-              return ed ? "" : void 0;
-            return base64_1.base64encode(value);
+        const then2 = value === null || value === void 0 ? void 0 : value.then;
+        if (typeof then2 === "function") {
+          let d;
+          const promise = FunctionPrototypeCall(
+            then2,
+            value,
+            (val) => {
+              if (val != null) {
+                throw new ERR_INVALID_RETURN_VALUE("nully", "body", val);
+              }
+            },
+            (err) => {
+              destroyer(d, err);
+            }
+          );
+          return d = new Duplexify({
+            // TODO (ronag): highWaterMark?
+            objectMode: true,
+            readable: false,
+            write,
+            final(cb) {
+              final(async () => {
+                try {
+                  await promise;
+                  process2.nextTick(cb, null);
+                } catch (err) {
+                  process2.nextTick(cb, err);
+                }
+              });
+            },
+            destroy
+          });
         }
+        throw new ERR_INVALID_RETURN_VALUE("Iterable, AsyncIterable or AsyncFunction", name, value);
       }
-    };
-    exports2.ReflectionJsonWriter = ReflectionJsonWriter;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-scalar-default.js
-var require_reflection_scalar_default = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-scalar-default.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.reflectionScalarDefault = void 0;
-    var reflection_info_1 = require_reflection_info();
-    var reflection_long_convert_1 = require_reflection_long_convert();
-    var pb_long_1 = require_pb_long();
-    function reflectionScalarDefault(type2, longType = reflection_info_1.LongType.STRING) {
-      switch (type2) {
-        case reflection_info_1.ScalarType.BOOL:
-          return false;
-        case reflection_info_1.ScalarType.UINT64:
-        case reflection_info_1.ScalarType.FIXED64:
-          return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.ZERO, longType);
-        case reflection_info_1.ScalarType.INT64:
-        case reflection_info_1.ScalarType.SFIXED64:
-        case reflection_info_1.ScalarType.SINT64:
-          return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.ZERO, longType);
-        case reflection_info_1.ScalarType.DOUBLE:
-        case reflection_info_1.ScalarType.FLOAT:
-          return 0;
-        case reflection_info_1.ScalarType.BYTES:
-          return new Uint8Array(0);
-        case reflection_info_1.ScalarType.STRING:
-          return "";
-        default:
-          return 0;
+      if (isBlob(body)) {
+        return duplexify(body.arrayBuffer());
       }
-    }
-    exports2.reflectionScalarDefault = reflectionScalarDefault;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-reader.js
-var require_reflection_binary_reader = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-reader.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ReflectionBinaryReader = void 0;
-    var binary_format_contract_1 = require_binary_format_contract();
-    var reflection_info_1 = require_reflection_info();
-    var reflection_long_convert_1 = require_reflection_long_convert();
-    var reflection_scalar_default_1 = require_reflection_scalar_default();
-    var ReflectionBinaryReader = class {
-      constructor(info7) {
-        this.info = info7;
+      if (isIterable(body)) {
+        return from(Duplexify, body, {
+          // TODO (ronag): highWaterMark?
+          objectMode: true,
+          writable: false
+        });
       }
-      prepare() {
-        var _a;
-        if (!this.fieldNoToField) {
-          const fieldsInput = (_a = this.info.fields) !== null && _a !== void 0 ? _a : [];
-          this.fieldNoToField = new Map(fieldsInput.map((field) => [field.no, field]));
+      if (isReadableStream(body === null || body === void 0 ? void 0 : body.readable) && isWritableStream(body === null || body === void 0 ? void 0 : body.writable)) {
+        return Duplexify.fromWeb(body);
+      }
+      if (typeof (body === null || body === void 0 ? void 0 : body.writable) === "object" || typeof (body === null || body === void 0 ? void 0 : body.readable) === "object") {
+        const readable = body !== null && body !== void 0 && body.readable ? isReadableNodeStream(body === null || body === void 0 ? void 0 : body.readable) ? body === null || body === void 0 ? void 0 : body.readable : duplexify(body.readable) : void 0;
+        const writable = body !== null && body !== void 0 && body.writable ? isWritableNodeStream(body === null || body === void 0 ? void 0 : body.writable) ? body === null || body === void 0 ? void 0 : body.writable : duplexify(body.writable) : void 0;
+        return _duplexify({
+          readable,
+          writable
+        });
+      }
+      const then = body === null || body === void 0 ? void 0 : body.then;
+      if (typeof then === "function") {
+        let d;
+        FunctionPrototypeCall(
+          then,
+          body,
+          (val) => {
+            if (val != null) {
+              d.push(val);
+            }
+            d.push(null);
+          },
+          (err) => {
+            destroyer(d, err);
+          }
+        );
+        return d = new Duplexify({
+          objectMode: true,
+          writable: false,
+          read() {
+          }
+        });
+      }
+      throw new ERR_INVALID_ARG_TYPE2(
+        name,
+        [
+          "Blob",
+          "ReadableStream",
+          "WritableStream",
+          "Stream",
+          "Iterable",
+          "AsyncIterable",
+          "Function",
+          "{ readable, writable } pair",
+          "Promise"
+        ],
+        body
+      );
+    };
+    function fromAsyncGen(fn) {
+      let { promise, resolve: resolve3 } = createDeferredPromise();
+      const ac = new AbortController2();
+      const signal = ac.signal;
+      const value = fn(
+        (async function* () {
+          while (true) {
+            const _promise = promise;
+            promise = null;
+            const { chunk, done, cb } = await _promise;
+            process2.nextTick(cb);
+            if (done) return;
+            if (signal.aborted)
+              throw new AbortError(void 0, {
+                cause: signal.reason
+              });
+            ({ promise, resolve: resolve3 } = createDeferredPromise());
+            yield chunk;
+          }
+        })(),
+        {
+          signal
+        }
+      );
+      return {
+        value,
+        write(chunk, encoding, cb) {
+          const _resolve = resolve3;
+          resolve3 = null;
+          _resolve({
+            chunk,
+            done: false,
+            cb
+          });
+        },
+        final(cb) {
+          const _resolve = resolve3;
+          resolve3 = null;
+          _resolve({
+            done: true,
+            cb
+          });
+        },
+        destroy(err, cb) {
+          ac.abort();
+          cb(err);
+        }
+      };
+    }
+    function _duplexify(pair) {
+      const r = pair.readable && typeof pair.readable.read !== "function" ? Readable.wrap(pair.readable) : pair.readable;
+      const w = pair.writable;
+      let readable = !!isReadable(r);
+      let writable = !!isWritable(w);
+      let ondrain;
+      let onfinish;
+      let onreadable;
+      let onclose;
+      let d;
+      function onfinished(err) {
+        const cb = onclose;
+        onclose = null;
+        if (cb) {
+          cb(err);
+        } else if (err) {
+          d.destroy(err);
         }
       }
-      /**
-       * Reads a message from binary format into the target message.
-       *
-       * Repeated fields are appended. Map entries are added, overwriting
-       * existing keys.
-       *
-       * If a message field is already present, it will be merged with the
-       * new data.
-       */
-      read(reader, message, options, length) {
-        this.prepare();
-        const end = length === void 0 ? reader.len : reader.pos + length;
-        while (reader.pos < end) {
-          const [fieldNo, wireType] = reader.tag(), field = this.fieldNoToField.get(fieldNo);
-          if (!field) {
-            let u = options.readUnknownField;
-            if (u == "throw")
-              throw new Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.info.typeName}`);
-            let d = reader.skip(wireType);
-            if (u !== false)
-              (u === true ? binary_format_contract_1.UnknownFieldHandler.onRead : u)(this.info.typeName, message, fieldNo, wireType, d);
-            continue;
+      d = new Duplexify({
+        // TODO (ronag): highWaterMark?
+        readableObjectMode: !!(r !== null && r !== void 0 && r.readableObjectMode),
+        writableObjectMode: !!(w !== null && w !== void 0 && w.writableObjectMode),
+        readable,
+        writable
+      });
+      if (writable) {
+        eos(w, (err) => {
+          writable = false;
+          if (err) {
+            destroyer(r, err);
           }
-          let target = message, repeated = field.repeat, localName = field.localName;
-          if (field.oneof) {
-            target = target[field.oneof];
-            if (target.oneofKind !== localName)
-              target = message[field.oneof] = {
-                oneofKind: localName
-              };
+          onfinished(err);
+        });
+        d._write = function(chunk, encoding, callback) {
+          if (w.write(chunk, encoding)) {
+            callback();
+          } else {
+            ondrain = callback;
           }
-          switch (field.kind) {
-            case "scalar":
-            case "enum":
-              let T = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T;
-              let L = field.kind == "scalar" ? field.L : void 0;
-              if (repeated) {
-                let arr = target[localName];
-                if (wireType == binary_format_contract_1.WireType.LengthDelimited && T != reflection_info_1.ScalarType.STRING && T != reflection_info_1.ScalarType.BYTES) {
-                  let e = reader.uint32() + reader.pos;
-                  while (reader.pos < e)
-                    arr.push(this.scalar(reader, T, L));
-                } else
-                  arr.push(this.scalar(reader, T, L));
-              } else
-                target[localName] = this.scalar(reader, T, L);
-              break;
-            case "message":
-              if (repeated) {
-                let arr = target[localName];
-                let msg = field.T().internalBinaryRead(reader, reader.uint32(), options);
-                arr.push(msg);
-              } else
-                target[localName] = field.T().internalBinaryRead(reader, reader.uint32(), options, target[localName]);
-              break;
-            case "map":
-              let [mapKey, mapVal] = this.mapEntry(field, reader, options);
-              target[localName][mapKey] = mapVal;
-              break;
+        };
+        d._final = function(callback) {
+          w.end();
+          onfinish = callback;
+        };
+        w.on("drain", function() {
+          if (ondrain) {
+            const cb = ondrain;
+            ondrain = null;
+            cb();
           }
-        }
+        });
+        w.on("finish", function() {
+          if (onfinish) {
+            const cb = onfinish;
+            onfinish = null;
+            cb();
+          }
+        });
       }
-      /**
-       * Read a map field, expecting key field = 1, value field = 2
-       */
-      mapEntry(field, reader, options) {
-        let length = reader.uint32();
-        let end = reader.pos + length;
-        let key = void 0;
-        let val = void 0;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case 1:
-              if (field.K == reflection_info_1.ScalarType.BOOL)
-                key = reader.bool().toString();
-              else
-                key = this.scalar(reader, field.K, reflection_info_1.LongType.STRING);
-              break;
-            case 2:
-              switch (field.V.kind) {
-                case "scalar":
-                  val = this.scalar(reader, field.V.T, field.V.L);
-                  break;
-                case "enum":
-                  val = reader.int32();
-                  break;
-                case "message":
-                  val = field.V.T().internalBinaryRead(reader, reader.uint32(), options);
-                  break;
-              }
-              break;
-            default:
-              throw new Error(`Unknown field ${fieldNo} (wire type ${wireType}) in map entry for ${this.info.typeName}#${field.name}`);
+      if (readable) {
+        eos(r, (err) => {
+          readable = false;
+          if (err) {
+            destroyer(r, err);
           }
-        }
-        if (key === void 0) {
-          let keyRaw = reflection_scalar_default_1.reflectionScalarDefault(field.K);
-          key = field.K == reflection_info_1.ScalarType.BOOL ? keyRaw.toString() : keyRaw;
-        }
-        if (val === void 0)
-          switch (field.V.kind) {
-            case "scalar":
-              val = reflection_scalar_default_1.reflectionScalarDefault(field.V.T, field.V.L);
-              break;
-            case "enum":
-              val = 0;
-              break;
-            case "message":
-              val = field.V.T().create();
-              break;
+          onfinished(err);
+        });
+        r.on("readable", function() {
+          if (onreadable) {
+            const cb = onreadable;
+            onreadable = null;
+            cb();
           }
-        return [key, val];
+        });
+        r.on("end", function() {
+          d.push(null);
+        });
+        d._read = function() {
+          while (true) {
+            const buf = r.read();
+            if (buf === null) {
+              onreadable = d._read;
+              return;
+            }
+            if (!d.push(buf)) {
+              return;
+            }
+          }
+        };
       }
-      scalar(reader, type2, longType) {
-        switch (type2) {
-          case reflection_info_1.ScalarType.INT32:
-            return reader.int32();
-          case reflection_info_1.ScalarType.STRING:
-            return reader.string();
-          case reflection_info_1.ScalarType.BOOL:
-            return reader.bool();
-          case reflection_info_1.ScalarType.DOUBLE:
-            return reader.double();
-          case reflection_info_1.ScalarType.FLOAT:
-            return reader.float();
-          case reflection_info_1.ScalarType.INT64:
-            return reflection_long_convert_1.reflectionLongConvert(reader.int64(), longType);
-          case reflection_info_1.ScalarType.UINT64:
-            return reflection_long_convert_1.reflectionLongConvert(reader.uint64(), longType);
-          case reflection_info_1.ScalarType.FIXED64:
-            return reflection_long_convert_1.reflectionLongConvert(reader.fixed64(), longType);
-          case reflection_info_1.ScalarType.FIXED32:
-            return reader.fixed32();
-          case reflection_info_1.ScalarType.BYTES:
-            return reader.bytes();
-          case reflection_info_1.ScalarType.UINT32:
-            return reader.uint32();
-          case reflection_info_1.ScalarType.SFIXED32:
-            return reader.sfixed32();
-          case reflection_info_1.ScalarType.SFIXED64:
-            return reflection_long_convert_1.reflectionLongConvert(reader.sfixed64(), longType);
-          case reflection_info_1.ScalarType.SINT32:
-            return reader.sint32();
-          case reflection_info_1.ScalarType.SINT64:
-            return reflection_long_convert_1.reflectionLongConvert(reader.sint64(), longType);
+      d._destroy = function(err, callback) {
+        if (!err && onclose !== null) {
+          err = new AbortError();
         }
-      }
-    };
-    exports2.ReflectionBinaryReader = ReflectionBinaryReader;
+        onreadable = null;
+        ondrain = null;
+        onfinish = null;
+        if (onclose === null) {
+          callback(err);
+        } else {
+          onclose = callback;
+          destroyer(w, err);
+          destroyer(r, err);
+        }
+      };
+      return d;
+    }
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-writer.js
-var require_reflection_binary_writer = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-writer.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/duplex.js
+var require_duplex = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/duplex.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ReflectionBinaryWriter = void 0;
-    var binary_format_contract_1 = require_binary_format_contract();
-    var reflection_info_1 = require_reflection_info();
-    var assert_1 = require_assert();
-    var pb_long_1 = require_pb_long();
-    var ReflectionBinaryWriter = class {
-      constructor(info7) {
-        this.info = info7;
-      }
-      prepare() {
-        if (!this.fields) {
-          const fieldsInput = this.info.fields ? this.info.fields.concat() : [];
-          this.fields = fieldsInput.sort((a, b) => a.no - b.no);
-        }
-      }
-      /**
-       * Writes the message to binary format.
-       */
-      write(message, writer, options) {
-        this.prepare();
-        for (const field of this.fields) {
-          let value, emitDefault, repeated = field.repeat, localName = field.localName;
-          if (field.oneof) {
-            const group = message[field.oneof];
-            if (group.oneofKind !== localName)
-              continue;
-            value = group[localName];
-            emitDefault = true;
-          } else {
-            value = message[localName];
-            emitDefault = false;
-          }
-          switch (field.kind) {
-            case "scalar":
-            case "enum":
-              let T = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T;
-              if (repeated) {
-                assert_1.assert(Array.isArray(value));
-                if (repeated == reflection_info_1.RepeatType.PACKED)
-                  this.packed(writer, T, field.no, value);
-                else
-                  for (const item of value)
-                    this.scalar(writer, T, field.no, item, true);
-              } else if (value === void 0)
-                assert_1.assert(field.opt);
-              else
-                this.scalar(writer, T, field.no, value, emitDefault || field.opt);
-              break;
-            case "message":
-              if (repeated) {
-                assert_1.assert(Array.isArray(value));
-                for (const item of value)
-                  this.message(writer, options, field.T(), field.no, item);
-              } else {
-                this.message(writer, options, field.T(), field.no, value);
-              }
-              break;
-            case "map":
-              assert_1.assert(typeof value == "object" && value !== null);
-              for (const [key, val] of Object.entries(value))
-                this.mapEntry(writer, options, field, key, val);
-              break;
-          }
-        }
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u === true ? binary_format_contract_1.UnknownFieldHandler.onWrite : u)(this.info.typeName, message, writer);
+    var {
+      ObjectDefineProperties,
+      ObjectGetOwnPropertyDescriptor,
+      ObjectKeys,
+      ObjectSetPrototypeOf
+    } = require_primordials();
+    module2.exports = Duplex;
+    var Readable = require_readable4();
+    var Writable = require_writable();
+    ObjectSetPrototypeOf(Duplex.prototype, Readable.prototype);
+    ObjectSetPrototypeOf(Duplex, Readable);
+    {
+      const keys = ObjectKeys(Writable.prototype);
+      for (let i = 0; i < keys.length; i++) {
+        const method = keys[i];
+        if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];
       }
-      mapEntry(writer, options, field, key, value) {
-        writer.tag(field.no, binary_format_contract_1.WireType.LengthDelimited);
-        writer.fork();
-        let keyValue = key;
-        switch (field.K) {
-          case reflection_info_1.ScalarType.INT32:
-          case reflection_info_1.ScalarType.FIXED32:
-          case reflection_info_1.ScalarType.UINT32:
-          case reflection_info_1.ScalarType.SFIXED32:
-          case reflection_info_1.ScalarType.SINT32:
-            keyValue = Number.parseInt(key);
-            break;
-          case reflection_info_1.ScalarType.BOOL:
-            assert_1.assert(key == "true" || key == "false");
-            keyValue = key == "true";
-            break;
-        }
-        this.scalar(writer, field.K, 1, keyValue, true);
-        switch (field.V.kind) {
-          case "scalar":
-            this.scalar(writer, field.V.T, 2, value, true);
-            break;
-          case "enum":
-            this.scalar(writer, reflection_info_1.ScalarType.INT32, 2, value, true);
-            break;
-          case "message":
-            this.message(writer, options, field.V.T(), 2, value);
-            break;
+    }
+    function Duplex(options) {
+      if (!(this instanceof Duplex)) return new Duplex(options);
+      Readable.call(this, options);
+      Writable.call(this, options);
+      if (options) {
+        this.allowHalfOpen = options.allowHalfOpen !== false;
+        if (options.readable === false) {
+          this._readableState.readable = false;
+          this._readableState.ended = true;
+          this._readableState.endEmitted = true;
         }
-        writer.join();
-      }
-      message(writer, options, handler2, fieldNo, value) {
-        if (value === void 0)
-          return;
-        handler2.internalBinaryWrite(value, writer.tag(fieldNo, binary_format_contract_1.WireType.LengthDelimited).fork(), options);
-        writer.join();
-      }
-      /**
-       * Write a single scalar value.
-       */
-      scalar(writer, type2, fieldNo, value, emitDefault) {
-        let [wireType, method, isDefault] = this.scalarInfo(type2, value);
-        if (!isDefault || emitDefault) {
-          writer.tag(fieldNo, wireType);
-          writer[method](value);
+        if (options.writable === false) {
+          this._writableState.writable = false;
+          this._writableState.ending = true;
+          this._writableState.ended = true;
+          this._writableState.finished = true;
         }
+      } else {
+        this.allowHalfOpen = true;
       }
-      /**
-       * Write an array of scalar values in packed format.
-       */
-      packed(writer, type2, fieldNo, value) {
-        if (!value.length)
-          return;
-        assert_1.assert(type2 !== reflection_info_1.ScalarType.BYTES && type2 !== reflection_info_1.ScalarType.STRING);
-        writer.tag(fieldNo, binary_format_contract_1.WireType.LengthDelimited);
-        writer.fork();
-        let [, method] = this.scalarInfo(type2);
-        for (let i = 0; i < value.length; i++)
-          writer[method](value[i]);
-        writer.join();
-      }
-      /**
-       * Get information for writing a scalar value.
-       *
-       * Returns tuple:
-       * [0]: appropriate WireType
-       * [1]: name of the appropriate method of IBinaryWriter
-       * [2]: whether the given value is a default value
-       *
-       * If argument `value` is omitted, [2] is always false.
-       */
-      scalarInfo(type2, value) {
-        let t = binary_format_contract_1.WireType.Varint;
-        let m;
-        let i = value === void 0;
-        let d = value === 0;
-        switch (type2) {
-          case reflection_info_1.ScalarType.INT32:
-            m = "int32";
-            break;
-          case reflection_info_1.ScalarType.STRING:
-            d = i || !value.length;
-            t = binary_format_contract_1.WireType.LengthDelimited;
-            m = "string";
-            break;
-          case reflection_info_1.ScalarType.BOOL:
-            d = value === false;
-            m = "bool";
-            break;
-          case reflection_info_1.ScalarType.UINT32:
-            m = "uint32";
-            break;
-          case reflection_info_1.ScalarType.DOUBLE:
-            t = binary_format_contract_1.WireType.Bit64;
-            m = "double";
-            break;
-          case reflection_info_1.ScalarType.FLOAT:
-            t = binary_format_contract_1.WireType.Bit32;
-            m = "float";
-            break;
-          case reflection_info_1.ScalarType.INT64:
-            d = i || pb_long_1.PbLong.from(value).isZero();
-            m = "int64";
-            break;
-          case reflection_info_1.ScalarType.UINT64:
-            d = i || pb_long_1.PbULong.from(value).isZero();
-            m = "uint64";
-            break;
-          case reflection_info_1.ScalarType.FIXED64:
-            d = i || pb_long_1.PbULong.from(value).isZero();
-            t = binary_format_contract_1.WireType.Bit64;
-            m = "fixed64";
-            break;
-          case reflection_info_1.ScalarType.BYTES:
-            d = i || !value.byteLength;
-            t = binary_format_contract_1.WireType.LengthDelimited;
-            m = "bytes";
-            break;
-          case reflection_info_1.ScalarType.FIXED32:
-            t = binary_format_contract_1.WireType.Bit32;
-            m = "fixed32";
-            break;
-          case reflection_info_1.ScalarType.SFIXED32:
-            t = binary_format_contract_1.WireType.Bit32;
-            m = "sfixed32";
-            break;
-          case reflection_info_1.ScalarType.SFIXED64:
-            d = i || pb_long_1.PbLong.from(value).isZero();
-            t = binary_format_contract_1.WireType.Bit64;
-            m = "sfixed64";
-            break;
-          case reflection_info_1.ScalarType.SINT32:
-            m = "sint32";
-            break;
-          case reflection_info_1.ScalarType.SINT64:
-            d = i || pb_long_1.PbLong.from(value).isZero();
-            m = "sint64";
-            break;
+    }
+    ObjectDefineProperties(Duplex.prototype, {
+      writable: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writable")
+      },
+      writableHighWaterMark: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableHighWaterMark")
+      },
+      writableObjectMode: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableObjectMode")
+      },
+      writableBuffer: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableBuffer")
+      },
+      writableLength: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableLength")
+      },
+      writableFinished: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableFinished")
+      },
+      writableCorked: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableCorked")
+      },
+      writableEnded: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableEnded")
+      },
+      writableNeedDrain: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableNeedDrain")
+      },
+      destroyed: {
+        __proto__: null,
+        get() {
+          if (this._readableState === void 0 || this._writableState === void 0) {
+            return false;
+          }
+          return this._readableState.destroyed && this._writableState.destroyed;
+        },
+        set(value) {
+          if (this._readableState && this._writableState) {
+            this._readableState.destroyed = value;
+            this._writableState.destroyed = value;
+          }
         }
-        return [t, m, i || d];
       }
+    });
+    var webStreamsAdapters;
+    function lazyWebStreams() {
+      if (webStreamsAdapters === void 0) webStreamsAdapters = {};
+      return webStreamsAdapters;
+    }
+    Duplex.fromWeb = function(pair, options) {
+      return lazyWebStreams().newStreamDuplexFromReadableWritablePair(pair, options);
+    };
+    Duplex.toWeb = function(duplex) {
+      return lazyWebStreams().newReadableWritablePairFromDuplex(duplex);
+    };
+    var duplexify;
+    Duplex.from = function(body) {
+      if (!duplexify) {
+        duplexify = require_duplexify();
+      }
+      return duplexify(body, "body");
     };
-    exports2.ReflectionBinaryWriter = ReflectionBinaryWriter;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-create.js
-var require_reflection_create = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-create.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/transform.js
+var require_transform = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/transform.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.reflectionCreate = void 0;
-    var reflection_scalar_default_1 = require_reflection_scalar_default();
-    var message_type_contract_1 = require_message_type_contract();
-    function reflectionCreate(type2) {
-      const msg = type2.messagePrototype ? Object.create(type2.messagePrototype) : Object.defineProperty({}, message_type_contract_1.MESSAGE_TYPE, { value: type2 });
-      for (let field of type2.fields) {
-        let name = field.localName;
-        if (field.opt)
-          continue;
-        if (field.oneof)
-          msg[field.oneof] = { oneofKind: void 0 };
-        else if (field.repeat)
-          msg[name] = [];
-        else
-          switch (field.kind) {
-            case "scalar":
-              msg[name] = reflection_scalar_default_1.reflectionScalarDefault(field.T, field.L);
-              break;
-            case "enum":
-              msg[name] = 0;
-              break;
-            case "map":
-              msg[name] = {};
-              break;
-          }
+    var { ObjectSetPrototypeOf, Symbol: Symbol2 } = require_primordials();
+    module2.exports = Transform;
+    var { ERR_METHOD_NOT_IMPLEMENTED } = require_errors5().codes;
+    var Duplex = require_duplex();
+    var { getHighWaterMark } = require_state3();
+    ObjectSetPrototypeOf(Transform.prototype, Duplex.prototype);
+    ObjectSetPrototypeOf(Transform, Duplex);
+    var kCallback = Symbol2("kCallback");
+    function Transform(options) {
+      if (!(this instanceof Transform)) return new Transform(options);
+      const readableHighWaterMark = options ? getHighWaterMark(this, options, "readableHighWaterMark", true) : null;
+      if (readableHighWaterMark === 0) {
+        options = {
+          ...options,
+          highWaterMark: null,
+          readableHighWaterMark,
+          // TODO (ronag): 0 is not optimal since we have
+          // a "bug" where we check needDrain before calling _write and not after.
+          // Refs: https://github.com/nodejs/node/pull/32887
+          // Refs: https://github.com/nodejs/node/pull/35941
+          writableHighWaterMark: options.writableHighWaterMark || 0
+        };
       }
-      return msg;
+      Duplex.call(this, options);
+      this._readableState.sync = false;
+      this[kCallback] = null;
+      if (options) {
+        if (typeof options.transform === "function") this._transform = options.transform;
+        if (typeof options.flush === "function") this._flush = options.flush;
+      }
+      this.on("prefinish", prefinish);
     }
-    exports2.reflectionCreate = reflectionCreate;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-merge-partial.js
-var require_reflection_merge_partial = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-merge-partial.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.reflectionMergePartial = void 0;
-    function reflectionMergePartial(info7, target, source) {
-      let fieldValue, input = source, output;
-      for (let field of info7.fields) {
-        let name = field.localName;
-        if (field.oneof) {
-          const group = input[field.oneof];
-          if ((group === null || group === void 0 ? void 0 : group.oneofKind) == void 0) {
-            continue;
+    function final(cb) {
+      if (typeof this._flush === "function" && !this.destroyed) {
+        this._flush((er, data) => {
+          if (er) {
+            if (cb) {
+              cb(er);
+            } else {
+              this.destroy(er);
+            }
+            return;
           }
-          fieldValue = group[name];
-          output = target[field.oneof];
-          output.oneofKind = group.oneofKind;
-          if (fieldValue == void 0) {
-            delete output[name];
-            continue;
+          if (data != null) {
+            this.push(data);
           }
-        } else {
-          fieldValue = input[name];
-          output = target;
-          if (fieldValue == void 0) {
-            continue;
+          this.push(null);
+          if (cb) {
+            cb();
           }
-        }
-        if (field.repeat)
-          output[name].length = fieldValue.length;
-        switch (field.kind) {
-          case "scalar":
-          case "enum":
-            if (field.repeat)
-              for (let i = 0; i < fieldValue.length; i++)
-                output[name][i] = fieldValue[i];
-            else
-              output[name] = fieldValue;
-            break;
-          case "message":
-            let T = field.T();
-            if (field.repeat)
-              for (let i = 0; i < fieldValue.length; i++)
-                output[name][i] = T.create(fieldValue[i]);
-            else if (output[name] === void 0)
-              output[name] = T.create(fieldValue);
-            else
-              T.mergePartial(output[name], fieldValue);
-            break;
-          case "map":
-            switch (field.V.kind) {
-              case "scalar":
-              case "enum":
-                Object.assign(output[name], fieldValue);
-                break;
-              case "message":
-                let T2 = field.V.T();
-                for (let k of Object.keys(fieldValue))
-                  output[name][k] = T2.create(fieldValue[k]);
-                break;
-            }
-            break;
+        });
+      } else {
+        this.push(null);
+        if (cb) {
+          cb();
         }
       }
     }
-    exports2.reflectionMergePartial = reflectionMergePartial;
+    function prefinish() {
+      if (this._final !== final) {
+        final.call(this);
+      }
+    }
+    Transform.prototype._final = final;
+    Transform.prototype._transform = function(chunk, encoding, callback) {
+      throw new ERR_METHOD_NOT_IMPLEMENTED("_transform()");
+    };
+    Transform.prototype._write = function(chunk, encoding, callback) {
+      const rState = this._readableState;
+      const wState = this._writableState;
+      const length = rState.length;
+      this._transform(chunk, encoding, (err, val) => {
+        if (err) {
+          callback(err);
+          return;
+        }
+        if (val != null) {
+          this.push(val);
+        }
+        if (wState.ended || // Backwards compat.
+        length === rState.length || // Backwards compat.
+        rState.length < rState.highWaterMark) {
+          callback();
+        } else {
+          this[kCallback] = callback;
+        }
+      });
+    };
+    Transform.prototype._read = function() {
+      if (this[kCallback]) {
+        const callback = this[kCallback];
+        this[kCallback] = null;
+        callback();
+      }
+    };
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-equals.js
-var require_reflection_equals = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-equals.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/passthrough.js
+var require_passthrough2 = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/passthrough.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.reflectionEquals = void 0;
-    var reflection_info_1 = require_reflection_info();
-    function reflectionEquals(info7, a, b) {
-      if (a === b)
-        return true;
-      if (!a || !b)
-        return false;
-      for (let field of info7.fields) {
-        let localName = field.localName;
-        let val_a = field.oneof ? a[field.oneof][localName] : a[localName];
-        let val_b = field.oneof ? b[field.oneof][localName] : b[localName];
-        switch (field.kind) {
-          case "enum":
-          case "scalar":
-            let t = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T;
-            if (!(field.repeat ? repeatedPrimitiveEq(t, val_a, val_b) : primitiveEq(t, val_a, val_b)))
-              return false;
-            break;
-          case "map":
-            if (!(field.V.kind == "message" ? repeatedMsgEq(field.V.T(), objectValues(val_a), objectValues(val_b)) : repeatedPrimitiveEq(field.V.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.V.T, objectValues(val_a), objectValues(val_b))))
-              return false;
-            break;
-          case "message":
-            let T = field.T();
-            if (!(field.repeat ? repeatedMsgEq(T, val_a, val_b) : T.equals(val_a, val_b)))
-              return false;
-            break;
-        }
-      }
-      return true;
-    }
-    exports2.reflectionEquals = reflectionEquals;
-    var objectValues = Object.values;
-    function primitiveEq(type2, a, b) {
-      if (a === b)
-        return true;
-      if (type2 !== reflection_info_1.ScalarType.BYTES)
-        return false;
-      let ba = a;
-      let bb = b;
-      if (ba.length !== bb.length)
-        return false;
-      for (let i = 0; i < ba.length; i++)
-        if (ba[i] != bb[i])
-          return false;
-      return true;
-    }
-    function repeatedPrimitiveEq(type2, a, b) {
-      if (a.length !== b.length)
-        return false;
-      for (let i = 0; i < a.length; i++)
-        if (!primitiveEq(type2, a[i], b[i]))
-          return false;
-      return true;
-    }
-    function repeatedMsgEq(type2, a, b) {
-      if (a.length !== b.length)
-        return false;
-      for (let i = 0; i < a.length; i++)
-        if (!type2.equals(a[i], b[i]))
-          return false;
-      return true;
+    var { ObjectSetPrototypeOf } = require_primordials();
+    module2.exports = PassThrough;
+    var Transform = require_transform();
+    ObjectSetPrototypeOf(PassThrough.prototype, Transform.prototype);
+    ObjectSetPrototypeOf(PassThrough, Transform);
+    function PassThrough(options) {
+      if (!(this instanceof PassThrough)) return new PassThrough(options);
+      Transform.call(this, options);
     }
+    PassThrough.prototype._transform = function(chunk, encoding, cb) {
+      cb(null, chunk);
+    };
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/message-type.js
-var require_message_type = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/message-type.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.MessageType = void 0;
-    var message_type_contract_1 = require_message_type_contract();
-    var reflection_info_1 = require_reflection_info();
-    var reflection_type_check_1 = require_reflection_type_check();
-    var reflection_json_reader_1 = require_reflection_json_reader();
-    var reflection_json_writer_1 = require_reflection_json_writer();
-    var reflection_binary_reader_1 = require_reflection_binary_reader();
-    var reflection_binary_writer_1 = require_reflection_binary_writer();
-    var reflection_create_1 = require_reflection_create();
-    var reflection_merge_partial_1 = require_reflection_merge_partial();
-    var json_typings_1 = require_json_typings();
-    var json_format_contract_1 = require_json_format_contract();
-    var reflection_equals_1 = require_reflection_equals();
-    var binary_writer_1 = require_binary_writer();
-    var binary_reader_1 = require_binary_reader();
-    var baseDescriptors = Object.getOwnPropertyDescriptors(Object.getPrototypeOf({}));
-    var messageTypeDescriptor = baseDescriptors[message_type_contract_1.MESSAGE_TYPE] = {};
-    var MessageType = class {
-      constructor(name, fields, options) {
-        this.defaultCheckDepth = 16;
-        this.typeName = name;
-        this.fields = fields.map(reflection_info_1.normalizeFieldInfo);
-        this.options = options !== null && options !== void 0 ? options : {};
-        messageTypeDescriptor.value = this;
-        this.messagePrototype = Object.create(null, baseDescriptors);
-        this.refTypeCheck = new reflection_type_check_1.ReflectionTypeCheck(this);
-        this.refJsonReader = new reflection_json_reader_1.ReflectionJsonReader(this);
-        this.refJsonWriter = new reflection_json_writer_1.ReflectionJsonWriter(this);
-        this.refBinReader = new reflection_binary_reader_1.ReflectionBinaryReader(this);
-        this.refBinWriter = new reflection_binary_writer_1.ReflectionBinaryWriter(this);
-      }
-      create(value) {
-        let message = reflection_create_1.reflectionCreate(this);
-        if (value !== void 0) {
-          reflection_merge_partial_1.reflectionMergePartial(this, message, value);
+// node_modules/readable-stream/lib/internal/streams/pipeline.js
+var require_pipeline4 = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/pipeline.js"(exports2, module2) {
+    var process2 = require_process();
+    var { ArrayIsArray, Promise: Promise2, SymbolAsyncIterator, SymbolDispose } = require_primordials();
+    var eos = require_end_of_stream();
+    var { once } = require_util21();
+    var destroyImpl = require_destroy2();
+    var Duplex = require_duplex();
+    var {
+      aggregateTwoErrors,
+      codes: {
+        ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,
+        ERR_INVALID_RETURN_VALUE,
+        ERR_MISSING_ARGS,
+        ERR_STREAM_DESTROYED,
+        ERR_STREAM_PREMATURE_CLOSE
+      },
+      AbortError
+    } = require_errors5();
+    var { validateFunction, validateAbortSignal } = require_validators();
+    var {
+      isIterable,
+      isReadable,
+      isReadableNodeStream,
+      isNodeStream,
+      isTransformStream,
+      isWebStream,
+      isReadableStream,
+      isReadableFinished
+    } = require_utils8();
+    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
+    var PassThrough;
+    var Readable;
+    var addAbortListener;
+    function destroyer(stream, reading, writing) {
+      let finished = false;
+      stream.on("close", () => {
+        finished = true;
+      });
+      const cleanup = eos(
+        stream,
+        {
+          readable: reading,
+          writable: writing
+        },
+        (err) => {
+          finished = !err;
         }
-        return message;
-      }
-      /**
-       * Clone the message.
-       *
-       * Unknown fields are discarded.
-       */
-      clone(message) {
-        let copy = this.create();
-        reflection_merge_partial_1.reflectionMergePartial(this, copy, message);
-        return copy;
-      }
-      /**
-       * Determines whether two message of the same type have the same field values.
-       * Checks for deep equality, traversing repeated fields, oneof groups, maps
-       * and messages recursively.
-       * Will also return true if both messages are `undefined`.
-       */
-      equals(a, b) {
-        return reflection_equals_1.reflectionEquals(this, a, b);
-      }
-      /**
-       * Is the given value assignable to our message type
-       * and contains no [excess properties](https://www.typescriptlang.org/docs/handbook/interfaces.html#excess-property-checks)?
-       */
-      is(arg, depth = this.defaultCheckDepth) {
-        return this.refTypeCheck.is(arg, depth, false);
-      }
-      /**
-       * Is the given value assignable to our message type,
-       * regardless of [excess properties](https://www.typescriptlang.org/docs/handbook/interfaces.html#excess-property-checks)?
-       */
-      isAssignable(arg, depth = this.defaultCheckDepth) {
-        return this.refTypeCheck.is(arg, depth, true);
-      }
-      /**
-       * Copy partial data into the target message.
-       */
-      mergePartial(target, source) {
-        reflection_merge_partial_1.reflectionMergePartial(this, target, source);
-      }
-      /**
-       * Create a new message from binary format.
-       */
-      fromBinary(data, options) {
-        let opt = binary_reader_1.binaryReadOptions(options);
-        return this.internalBinaryRead(opt.readerFactory(data), data.byteLength, opt);
-      }
-      /**
-       * Read a new message from a JSON value.
-       */
-      fromJson(json2, options) {
-        return this.internalJsonRead(json2, json_format_contract_1.jsonReadOptions(options));
-      }
-      /**
-       * Read a new message from a JSON string.
-       * This is equivalent to `T.fromJson(JSON.parse(json))`.
-       */
-      fromJsonString(json2, options) {
-        let value = JSON.parse(json2);
-        return this.fromJson(value, options);
+      );
+      return {
+        destroy: (err) => {
+          if (finished) return;
+          finished = true;
+          destroyImpl.destroyer(stream, err || new ERR_STREAM_DESTROYED("pipe"));
+        },
+        cleanup
+      };
+    }
+    function popCallback(streams) {
+      validateFunction(streams[streams.length - 1], "streams[stream.length - 1]");
+      return streams.pop();
+    }
+    function makeAsyncIterable(val) {
+      if (isIterable(val)) {
+        return val;
+      } else if (isReadableNodeStream(val)) {
+        return fromReadable(val);
       }
-      /**
-       * Write the message to canonical JSON value.
-       */
-      toJson(message, options) {
-        return this.internalJsonWrite(message, json_format_contract_1.jsonWriteOptions(options));
+      throw new ERR_INVALID_ARG_TYPE2("val", ["Readable", "Iterable", "AsyncIterable"], val);
+    }
+    async function* fromReadable(val) {
+      if (!Readable) {
+        Readable = require_readable4();
       }
-      /**
-       * Convert the message to canonical JSON string.
-       * This is equivalent to `JSON.stringify(T.toJson(t))`
-       */
-      toJsonString(message, options) {
-        var _a;
-        let value = this.toJson(message, options);
-        return JSON.stringify(value, null, (_a = options === null || options === void 0 ? void 0 : options.prettySpaces) !== null && _a !== void 0 ? _a : 0);
+      yield* Readable.prototype[SymbolAsyncIterator].call(val);
+    }
+    async function pumpToNode(iterable, writable, finish, { end }) {
+      let error3;
+      let onresolve = null;
+      const resume = (err) => {
+        if (err) {
+          error3 = err;
+        }
+        if (onresolve) {
+          const callback = onresolve;
+          onresolve = null;
+          callback();
+        }
+      };
+      const wait = () => new Promise2((resolve3, reject) => {
+        if (error3) {
+          reject(error3);
+        } else {
+          onresolve = () => {
+            if (error3) {
+              reject(error3);
+            } else {
+              resolve3();
+            }
+          };
+        }
+      });
+      writable.on("drain", resume);
+      const cleanup = eos(
+        writable,
+        {
+          readable: false
+        },
+        resume
+      );
+      try {
+        if (writable.writableNeedDrain) {
+          await wait();
+        }
+        for await (const chunk of iterable) {
+          if (!writable.write(chunk)) {
+            await wait();
+          }
+        }
+        if (end) {
+          writable.end();
+          await wait();
+        }
+        finish();
+      } catch (err) {
+        finish(error3 !== err ? aggregateTwoErrors(error3, err) : err);
+      } finally {
+        cleanup();
+        writable.off("drain", resume);
       }
-      /**
-       * Write the message to binary format.
-       */
-      toBinary(message, options) {
-        let opt = binary_writer_1.binaryWriteOptions(options);
-        return this.internalBinaryWrite(message, opt.writerFactory(), opt).finish();
+    }
+    async function pumpToWeb(readable, writable, finish, { end }) {
+      if (isTransformStream(writable)) {
+        writable = writable.writable;
       }
-      /**
-       * This is an internal method. If you just want to read a message from
-       * JSON, use `fromJson()` or `fromJsonString()`.
-       *
-       * Reads JSON value and merges the fields into the target
-       * according to protobuf rules. If the target is omitted,
-       * a new instance is created first.
-       */
-      internalJsonRead(json2, options, target) {
-        if (json2 !== null && typeof json2 == "object" && !Array.isArray(json2)) {
-          let message = target !== null && target !== void 0 ? target : this.create();
-          this.refJsonReader.read(json2, message, options);
-          return message;
+      const writer = writable.getWriter();
+      try {
+        for await (const chunk of readable) {
+          await writer.ready;
+          writer.write(chunk).catch(() => {
+          });
+        }
+        await writer.ready;
+        if (end) {
+          await writer.close();
+        }
+        finish();
+      } catch (err) {
+        try {
+          await writer.abort(err);
+          finish(err);
+        } catch (err2) {
+          finish(err2);
         }
-        throw new Error(`Unable to parse message ${this.typeName} from JSON ${json_typings_1.typeofJsonValue(json2)}.`);
       }
-      /**
-       * This is an internal method. If you just want to write a message
-       * to JSON, use `toJson()` or `toJsonString().
-       *
-       * Writes JSON value and returns it.
-       */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.write(message, options);
+    }
+    function pipeline(...streams) {
+      return pipelineImpl(streams, once(popCallback(streams)));
+    }
+    function pipelineImpl(streams, callback, opts) {
+      if (streams.length === 1 && ArrayIsArray(streams[0])) {
+        streams = streams[0];
       }
-      /**
-       * This is an internal method. If you just want to write a message
-       * in binary format, use `toBinary()`.
-       *
-       * Serializes the message in binary format and appends it to the given
-       * writer. Returns passed writer.
-       */
-      internalBinaryWrite(message, writer, options) {
-        this.refBinWriter.write(message, writer, options);
-        return writer;
+      if (streams.length < 2) {
+        throw new ERR_MISSING_ARGS("streams");
       }
-      /**
-       * This is an internal method. If you just want to read a message from
-       * binary data, use `fromBinary()`.
-       *
-       * Reads data from binary format and merges the fields into
-       * the target according to protobuf rules. If the target is
-       * omitted, a new instance is created first.
-       */
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create();
-        this.refBinReader.read(reader, message, options, length);
-        return message;
+      const ac = new AbortController2();
+      const signal = ac.signal;
+      const outerSignal = opts === null || opts === void 0 ? void 0 : opts.signal;
+      const lastStreamCleanup = [];
+      validateAbortSignal(outerSignal, "options.signal");
+      function abort() {
+        finishImpl(new AbortError());
       }
-    };
-    exports2.MessageType = MessageType;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-contains-message-type.js
-var require_reflection_contains_message_type = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-contains-message-type.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.containsMessageType = void 0;
-    var message_type_contract_1 = require_message_type_contract();
-    function containsMessageType(msg) {
-      return msg[message_type_contract_1.MESSAGE_TYPE] != null;
-    }
-    exports2.containsMessageType = containsMessageType;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/enum-object.js
-var require_enum_object = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/enum-object.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.listEnumNumbers = exports2.listEnumNames = exports2.listEnumValues = exports2.isEnumObject = void 0;
-    function isEnumObject(arg) {
-      if (typeof arg != "object" || arg === null) {
-        return false;
+      addAbortListener = addAbortListener || require_util21().addAbortListener;
+      let disposable;
+      if (outerSignal) {
+        disposable = addAbortListener(outerSignal, abort);
       }
-      if (!arg.hasOwnProperty(0)) {
-        return false;
+      let error3;
+      let value;
+      const destroys = [];
+      let finishCount = 0;
+      function finish(err) {
+        finishImpl(err, --finishCount === 0);
       }
-      for (let k of Object.keys(arg)) {
-        let num = parseInt(k);
-        if (!Number.isNaN(num)) {
-          let nam = arg[num];
-          if (nam === void 0)
-            return false;
-          if (arg[nam] !== num)
-            return false;
-        } else {
-          let num2 = arg[k];
-          if (num2 === void 0)
-            return false;
-          if (typeof num2 !== "number")
-            return false;
-          if (arg[num2] === void 0)
-            return false;
+      function finishImpl(err, final) {
+        var _disposable;
+        if (err && (!error3 || error3.code === "ERR_STREAM_PREMATURE_CLOSE")) {
+          error3 = err;
+        }
+        if (!error3 && !final) {
+          return;
+        }
+        while (destroys.length) {
+          destroys.shift()(error3);
+        }
+        ;
+        (_disposable = disposable) === null || _disposable === void 0 ? void 0 : _disposable[SymbolDispose]();
+        ac.abort();
+        if (final) {
+          if (!error3) {
+            lastStreamCleanup.forEach((fn) => fn());
+          }
+          process2.nextTick(callback, error3, value);
         }
       }
-      return true;
-    }
-    exports2.isEnumObject = isEnumObject;
-    function listEnumValues(enumObject) {
-      if (!isEnumObject(enumObject))
-        throw new Error("not a typescript enum object");
-      let values = [];
-      for (let [name, number] of Object.entries(enumObject))
-        if (typeof number == "number")
-          values.push({ name, number });
-      return values;
-    }
-    exports2.listEnumValues = listEnumValues;
-    function listEnumNames(enumObject) {
-      return listEnumValues(enumObject).map((val) => val.name);
-    }
-    exports2.listEnumNames = listEnumNames;
-    function listEnumNumbers(enumObject) {
-      return listEnumValues(enumObject).map((val) => val.number).filter((num, index, arr) => arr.indexOf(num) == index);
-    }
-    exports2.listEnumNumbers = listEnumNumbers;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/index.js
-var require_commonjs16 = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    var json_typings_1 = require_json_typings();
-    Object.defineProperty(exports2, "typeofJsonValue", { enumerable: true, get: function() {
-      return json_typings_1.typeofJsonValue;
-    } });
-    Object.defineProperty(exports2, "isJsonObject", { enumerable: true, get: function() {
-      return json_typings_1.isJsonObject;
-    } });
-    var base64_1 = require_base642();
-    Object.defineProperty(exports2, "base64decode", { enumerable: true, get: function() {
-      return base64_1.base64decode;
-    } });
-    Object.defineProperty(exports2, "base64encode", { enumerable: true, get: function() {
-      return base64_1.base64encode;
-    } });
-    var protobufjs_utf8_1 = require_protobufjs_utf8();
-    Object.defineProperty(exports2, "utf8read", { enumerable: true, get: function() {
-      return protobufjs_utf8_1.utf8read;
-    } });
-    var binary_format_contract_1 = require_binary_format_contract();
-    Object.defineProperty(exports2, "WireType", { enumerable: true, get: function() {
-      return binary_format_contract_1.WireType;
-    } });
-    Object.defineProperty(exports2, "mergeBinaryOptions", { enumerable: true, get: function() {
-      return binary_format_contract_1.mergeBinaryOptions;
-    } });
-    Object.defineProperty(exports2, "UnknownFieldHandler", { enumerable: true, get: function() {
-      return binary_format_contract_1.UnknownFieldHandler;
-    } });
-    var binary_reader_1 = require_binary_reader();
-    Object.defineProperty(exports2, "BinaryReader", { enumerable: true, get: function() {
-      return binary_reader_1.BinaryReader;
-    } });
-    Object.defineProperty(exports2, "binaryReadOptions", { enumerable: true, get: function() {
-      return binary_reader_1.binaryReadOptions;
-    } });
-    var binary_writer_1 = require_binary_writer();
-    Object.defineProperty(exports2, "BinaryWriter", { enumerable: true, get: function() {
-      return binary_writer_1.BinaryWriter;
-    } });
-    Object.defineProperty(exports2, "binaryWriteOptions", { enumerable: true, get: function() {
-      return binary_writer_1.binaryWriteOptions;
-    } });
-    var pb_long_1 = require_pb_long();
-    Object.defineProperty(exports2, "PbLong", { enumerable: true, get: function() {
-      return pb_long_1.PbLong;
-    } });
-    Object.defineProperty(exports2, "PbULong", { enumerable: true, get: function() {
-      return pb_long_1.PbULong;
-    } });
-    var json_format_contract_1 = require_json_format_contract();
-    Object.defineProperty(exports2, "jsonReadOptions", { enumerable: true, get: function() {
-      return json_format_contract_1.jsonReadOptions;
-    } });
-    Object.defineProperty(exports2, "jsonWriteOptions", { enumerable: true, get: function() {
-      return json_format_contract_1.jsonWriteOptions;
-    } });
-    Object.defineProperty(exports2, "mergeJsonOptions", { enumerable: true, get: function() {
-      return json_format_contract_1.mergeJsonOptions;
-    } });
-    var message_type_contract_1 = require_message_type_contract();
-    Object.defineProperty(exports2, "MESSAGE_TYPE", { enumerable: true, get: function() {
-      return message_type_contract_1.MESSAGE_TYPE;
-    } });
-    var message_type_1 = require_message_type();
-    Object.defineProperty(exports2, "MessageType", { enumerable: true, get: function() {
-      return message_type_1.MessageType;
-    } });
-    var reflection_info_1 = require_reflection_info();
-    Object.defineProperty(exports2, "ScalarType", { enumerable: true, get: function() {
-      return reflection_info_1.ScalarType;
-    } });
-    Object.defineProperty(exports2, "LongType", { enumerable: true, get: function() {
-      return reflection_info_1.LongType;
-    } });
-    Object.defineProperty(exports2, "RepeatType", { enumerable: true, get: function() {
-      return reflection_info_1.RepeatType;
-    } });
-    Object.defineProperty(exports2, "normalizeFieldInfo", { enumerable: true, get: function() {
-      return reflection_info_1.normalizeFieldInfo;
-    } });
-    Object.defineProperty(exports2, "readFieldOptions", { enumerable: true, get: function() {
-      return reflection_info_1.readFieldOptions;
-    } });
-    Object.defineProperty(exports2, "readFieldOption", { enumerable: true, get: function() {
-      return reflection_info_1.readFieldOption;
-    } });
-    Object.defineProperty(exports2, "readMessageOption", { enumerable: true, get: function() {
-      return reflection_info_1.readMessageOption;
-    } });
-    var reflection_type_check_1 = require_reflection_type_check();
-    Object.defineProperty(exports2, "ReflectionTypeCheck", { enumerable: true, get: function() {
-      return reflection_type_check_1.ReflectionTypeCheck;
-    } });
-    var reflection_create_1 = require_reflection_create();
-    Object.defineProperty(exports2, "reflectionCreate", { enumerable: true, get: function() {
-      return reflection_create_1.reflectionCreate;
-    } });
-    var reflection_scalar_default_1 = require_reflection_scalar_default();
-    Object.defineProperty(exports2, "reflectionScalarDefault", { enumerable: true, get: function() {
-      return reflection_scalar_default_1.reflectionScalarDefault;
-    } });
-    var reflection_merge_partial_1 = require_reflection_merge_partial();
-    Object.defineProperty(exports2, "reflectionMergePartial", { enumerable: true, get: function() {
-      return reflection_merge_partial_1.reflectionMergePartial;
-    } });
-    var reflection_equals_1 = require_reflection_equals();
-    Object.defineProperty(exports2, "reflectionEquals", { enumerable: true, get: function() {
-      return reflection_equals_1.reflectionEquals;
-    } });
-    var reflection_binary_reader_1 = require_reflection_binary_reader();
-    Object.defineProperty(exports2, "ReflectionBinaryReader", { enumerable: true, get: function() {
-      return reflection_binary_reader_1.ReflectionBinaryReader;
-    } });
-    var reflection_binary_writer_1 = require_reflection_binary_writer();
-    Object.defineProperty(exports2, "ReflectionBinaryWriter", { enumerable: true, get: function() {
-      return reflection_binary_writer_1.ReflectionBinaryWriter;
-    } });
-    var reflection_json_reader_1 = require_reflection_json_reader();
-    Object.defineProperty(exports2, "ReflectionJsonReader", { enumerable: true, get: function() {
-      return reflection_json_reader_1.ReflectionJsonReader;
-    } });
-    var reflection_json_writer_1 = require_reflection_json_writer();
-    Object.defineProperty(exports2, "ReflectionJsonWriter", { enumerable: true, get: function() {
-      return reflection_json_writer_1.ReflectionJsonWriter;
-    } });
-    var reflection_contains_message_type_1 = require_reflection_contains_message_type();
-    Object.defineProperty(exports2, "containsMessageType", { enumerable: true, get: function() {
-      return reflection_contains_message_type_1.containsMessageType;
-    } });
-    var oneof_1 = require_oneof();
-    Object.defineProperty(exports2, "isOneofGroup", { enumerable: true, get: function() {
-      return oneof_1.isOneofGroup;
-    } });
-    Object.defineProperty(exports2, "setOneofValue", { enumerable: true, get: function() {
-      return oneof_1.setOneofValue;
-    } });
-    Object.defineProperty(exports2, "getOneofValue", { enumerable: true, get: function() {
-      return oneof_1.getOneofValue;
-    } });
-    Object.defineProperty(exports2, "clearOneofValue", { enumerable: true, get: function() {
-      return oneof_1.clearOneofValue;
-    } });
-    Object.defineProperty(exports2, "getSelectedOneofValue", { enumerable: true, get: function() {
-      return oneof_1.getSelectedOneofValue;
-    } });
-    var enum_object_1 = require_enum_object();
-    Object.defineProperty(exports2, "listEnumValues", { enumerable: true, get: function() {
-      return enum_object_1.listEnumValues;
-    } });
-    Object.defineProperty(exports2, "listEnumNames", { enumerable: true, get: function() {
-      return enum_object_1.listEnumNames;
-    } });
-    Object.defineProperty(exports2, "listEnumNumbers", { enumerable: true, get: function() {
-      return enum_object_1.listEnumNumbers;
-    } });
-    Object.defineProperty(exports2, "isEnumObject", { enumerable: true, get: function() {
-      return enum_object_1.isEnumObject;
-    } });
-    var lower_camel_case_1 = require_lower_camel_case();
-    Object.defineProperty(exports2, "lowerCamelCase", { enumerable: true, get: function() {
-      return lower_camel_case_1.lowerCamelCase;
-    } });
-    var assert_1 = require_assert();
-    Object.defineProperty(exports2, "assert", { enumerable: true, get: function() {
-      return assert_1.assert;
-    } });
-    Object.defineProperty(exports2, "assertNever", { enumerable: true, get: function() {
-      return assert_1.assertNever;
-    } });
-    Object.defineProperty(exports2, "assertInt32", { enumerable: true, get: function() {
-      return assert_1.assertInt32;
-    } });
-    Object.defineProperty(exports2, "assertUInt32", { enumerable: true, get: function() {
-      return assert_1.assertUInt32;
-    } });
-    Object.defineProperty(exports2, "assertFloat32", { enumerable: true, get: function() {
-      return assert_1.assertFloat32;
-    } });
-  }
-});
-
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/reflection-info.js
-var require_reflection_info2 = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/reflection-info.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.readServiceOption = exports2.readMethodOption = exports2.readMethodOptions = exports2.normalizeMethodInfo = void 0;
-    var runtime_1 = require_commonjs16();
-    function normalizeMethodInfo(method, service) {
-      var _a, _b, _c;
-      let m = method;
-      m.service = service;
-      m.localName = (_a = m.localName) !== null && _a !== void 0 ? _a : runtime_1.lowerCamelCase(m.name);
-      m.serverStreaming = !!m.serverStreaming;
-      m.clientStreaming = !!m.clientStreaming;
-      m.options = (_b = m.options) !== null && _b !== void 0 ? _b : {};
-      m.idempotency = (_c = m.idempotency) !== null && _c !== void 0 ? _c : void 0;
-      return m;
-    }
-    exports2.normalizeMethodInfo = normalizeMethodInfo;
-    function readMethodOptions(service, methodName, extensionName, extensionType) {
-      var _a;
-      const options = (_a = service.methods.find((m, i) => m.localName === methodName || i === methodName)) === null || _a === void 0 ? void 0 : _a.options;
-      return options && options[extensionName] ? extensionType.fromJson(options[extensionName]) : void 0;
-    }
-    exports2.readMethodOptions = readMethodOptions;
-    function readMethodOption(service, methodName, extensionName, extensionType) {
-      var _a;
-      const options = (_a = service.methods.find((m, i) => m.localName === methodName || i === methodName)) === null || _a === void 0 ? void 0 : _a.options;
-      if (!options) {
-        return void 0;
+      let ret;
+      for (let i = 0; i < streams.length; i++) {
+        const stream = streams[i];
+        const reading = i < streams.length - 1;
+        const writing = i > 0;
+        const end = reading || (opts === null || opts === void 0 ? void 0 : opts.end) !== false;
+        const isLastStream = i === streams.length - 1;
+        if (isNodeStream(stream)) {
+          let onError2 = function(err) {
+            if (err && err.name !== "AbortError" && err.code !== "ERR_STREAM_PREMATURE_CLOSE") {
+              finish(err);
+            }
+          };
+          var onError = onError2;
+          if (end) {
+            const { destroy, cleanup } = destroyer(stream, reading, writing);
+            destroys.push(destroy);
+            if (isReadable(stream) && isLastStream) {
+              lastStreamCleanup.push(cleanup);
+            }
+          }
+          stream.on("error", onError2);
+          if (isReadable(stream) && isLastStream) {
+            lastStreamCleanup.push(() => {
+              stream.removeListener("error", onError2);
+            });
+          }
+        }
+        if (i === 0) {
+          if (typeof stream === "function") {
+            ret = stream({
+              signal
+            });
+            if (!isIterable(ret)) {
+              throw new ERR_INVALID_RETURN_VALUE("Iterable, AsyncIterable or Stream", "source", ret);
+            }
+          } else if (isIterable(stream) || isReadableNodeStream(stream) || isTransformStream(stream)) {
+            ret = stream;
+          } else {
+            ret = Duplex.from(stream);
+          }
+        } else if (typeof stream === "function") {
+          if (isTransformStream(ret)) {
+            var _ret;
+            ret = makeAsyncIterable((_ret = ret) === null || _ret === void 0 ? void 0 : _ret.readable);
+          } else {
+            ret = makeAsyncIterable(ret);
+          }
+          ret = stream(ret, {
+            signal
+          });
+          if (reading) {
+            if (!isIterable(ret, true)) {
+              throw new ERR_INVALID_RETURN_VALUE("AsyncIterable", `transform[${i - 1}]`, ret);
+            }
+          } else {
+            var _ret2;
+            if (!PassThrough) {
+              PassThrough = require_passthrough2();
+            }
+            const pt = new PassThrough({
+              objectMode: true
+            });
+            const then = (_ret2 = ret) === null || _ret2 === void 0 ? void 0 : _ret2.then;
+            if (typeof then === "function") {
+              finishCount++;
+              then.call(
+                ret,
+                (val) => {
+                  value = val;
+                  if (val != null) {
+                    pt.write(val);
+                  }
+                  if (end) {
+                    pt.end();
+                  }
+                  process2.nextTick(finish);
+                },
+                (err) => {
+                  pt.destroy(err);
+                  process2.nextTick(finish, err);
+                }
+              );
+            } else if (isIterable(ret, true)) {
+              finishCount++;
+              pumpToNode(ret, pt, finish, {
+                end
+              });
+            } else if (isReadableStream(ret) || isTransformStream(ret)) {
+              const toRead = ret.readable || ret;
+              finishCount++;
+              pumpToNode(toRead, pt, finish, {
+                end
+              });
+            } else {
+              throw new ERR_INVALID_RETURN_VALUE("AsyncIterable or Promise", "destination", ret);
+            }
+            ret = pt;
+            const { destroy, cleanup } = destroyer(ret, false, true);
+            destroys.push(destroy);
+            if (isLastStream) {
+              lastStreamCleanup.push(cleanup);
+            }
+          }
+        } else if (isNodeStream(stream)) {
+          if (isReadableNodeStream(ret)) {
+            finishCount += 2;
+            const cleanup = pipe(ret, stream, finish, {
+              end
+            });
+            if (isReadable(stream) && isLastStream) {
+              lastStreamCleanup.push(cleanup);
+            }
+          } else if (isTransformStream(ret) || isReadableStream(ret)) {
+            const toRead = ret.readable || ret;
+            finishCount++;
+            pumpToNode(toRead, stream, finish, {
+              end
+            });
+          } else if (isIterable(ret)) {
+            finishCount++;
+            pumpToNode(ret, stream, finish, {
+              end
+            });
+          } else {
+            throw new ERR_INVALID_ARG_TYPE2(
+              "val",
+              ["Readable", "Iterable", "AsyncIterable", "ReadableStream", "TransformStream"],
+              ret
+            );
+          }
+          ret = stream;
+        } else if (isWebStream(stream)) {
+          if (isReadableNodeStream(ret)) {
+            finishCount++;
+            pumpToWeb(makeAsyncIterable(ret), stream, finish, {
+              end
+            });
+          } else if (isReadableStream(ret) || isIterable(ret)) {
+            finishCount++;
+            pumpToWeb(ret, stream, finish, {
+              end
+            });
+          } else if (isTransformStream(ret)) {
+            finishCount++;
+            pumpToWeb(ret.readable, stream, finish, {
+              end
+            });
+          } else {
+            throw new ERR_INVALID_ARG_TYPE2(
+              "val",
+              ["Readable", "Iterable", "AsyncIterable", "ReadableStream", "TransformStream"],
+              ret
+            );
+          }
+          ret = stream;
+        } else {
+          ret = Duplex.from(stream);
+        }
       }
-      const optionVal = options[extensionName];
-      if (optionVal === void 0) {
-        return optionVal;
+      if (signal !== null && signal !== void 0 && signal.aborted || outerSignal !== null && outerSignal !== void 0 && outerSignal.aborted) {
+        process2.nextTick(abort);
       }
-      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
+      return ret;
     }
-    exports2.readMethodOption = readMethodOption;
-    function readServiceOption(service, extensionName, extensionType) {
-      const options = service.options;
-      if (!options) {
-        return void 0;
-      }
-      const optionVal = options[extensionName];
-      if (optionVal === void 0) {
-        return optionVal;
+    function pipe(src, dst, finish, { end }) {
+      let ended = false;
+      dst.on("close", () => {
+        if (!ended) {
+          finish(new ERR_STREAM_PREMATURE_CLOSE());
+        }
+      });
+      src.pipe(dst, {
+        end: false
+      });
+      if (end) {
+        let endFn2 = function() {
+          ended = true;
+          dst.end();
+        };
+        var endFn = endFn2;
+        if (isReadableFinished(src)) {
+          process2.nextTick(endFn2);
+        } else {
+          src.once("end", endFn2);
+        }
+      } else {
+        finish();
       }
-      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
+      eos(
+        src,
+        {
+          readable: true,
+          writable: false
+        },
+        (err) => {
+          const rState = src._readableState;
+          if (err && err.code === "ERR_STREAM_PREMATURE_CLOSE" && rState && rState.ended && !rState.errored && !rState.errorEmitted) {
+            src.once("end", finish).once("error", finish);
+          } else {
+            finish(err);
+          }
+        }
+      );
+      return eos(
+        dst,
+        {
+          readable: false,
+          writable: true
+        },
+        finish
+      );
     }
-    exports2.readServiceOption = readServiceOption;
+    module2.exports = {
+      pipelineImpl,
+      pipeline
+    };
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/service-type.js
-var require_service_type = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/service-type.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/compose.js
+var require_compose = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/compose.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ServiceType = void 0;
-    var reflection_info_1 = require_reflection_info2();
-    var ServiceType = class {
-      constructor(typeName, methods, options) {
-        this.typeName = typeName;
-        this.methods = methods.map((i) => reflection_info_1.normalizeMethodInfo(i, this));
-        this.options = options !== null && options !== void 0 ? options : {};
+    var { pipeline } = require_pipeline4();
+    var Duplex = require_duplex();
+    var { destroyer } = require_destroy2();
+    var {
+      isNodeStream,
+      isReadable,
+      isWritable,
+      isWebStream,
+      isTransformStream,
+      isWritableStream,
+      isReadableStream
+    } = require_utils8();
+    var {
+      AbortError,
+      codes: { ERR_INVALID_ARG_VALUE, ERR_MISSING_ARGS }
+    } = require_errors5();
+    var eos = require_end_of_stream();
+    module2.exports = function compose(...streams) {
+      if (streams.length === 0) {
+        throw new ERR_MISSING_ARGS("streams");
+      }
+      if (streams.length === 1) {
+        return Duplex.from(streams[0]);
+      }
+      const orgStreams = [...streams];
+      if (typeof streams[0] === "function") {
+        streams[0] = Duplex.from(streams[0]);
+      }
+      if (typeof streams[streams.length - 1] === "function") {
+        const idx = streams.length - 1;
+        streams[idx] = Duplex.from(streams[idx]);
+      }
+      for (let n = 0; n < streams.length; ++n) {
+        if (!isNodeStream(streams[n]) && !isWebStream(streams[n])) {
+          continue;
+        }
+        if (n < streams.length - 1 && !(isReadable(streams[n]) || isReadableStream(streams[n]) || isTransformStream(streams[n]))) {
+          throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`, orgStreams[n], "must be readable");
+        }
+        if (n > 0 && !(isWritable(streams[n]) || isWritableStream(streams[n]) || isTransformStream(streams[n]))) {
+          throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`, orgStreams[n], "must be writable");
+        }
+      }
+      let ondrain;
+      let onfinish;
+      let onreadable;
+      let onclose;
+      let d;
+      function onfinished(err) {
+        const cb = onclose;
+        onclose = null;
+        if (cb) {
+          cb(err);
+        } else if (err) {
+          d.destroy(err);
+        } else if (!readable && !writable) {
+          d.destroy();
+        }
+      }
+      const head = streams[0];
+      const tail = pipeline(streams, onfinished);
+      const writable = !!(isWritable(head) || isWritableStream(head) || isTransformStream(head));
+      const readable = !!(isReadable(tail) || isReadableStream(tail) || isTransformStream(tail));
+      d = new Duplex({
+        // TODO (ronag): highWaterMark?
+        writableObjectMode: !!(head !== null && head !== void 0 && head.writableObjectMode),
+        readableObjectMode: !!(tail !== null && tail !== void 0 && tail.readableObjectMode),
+        writable,
+        readable
+      });
+      if (writable) {
+        if (isNodeStream(head)) {
+          d._write = function(chunk, encoding, callback) {
+            if (head.write(chunk, encoding)) {
+              callback();
+            } else {
+              ondrain = callback;
+            }
+          };
+          d._final = function(callback) {
+            head.end();
+            onfinish = callback;
+          };
+          head.on("drain", function() {
+            if (ondrain) {
+              const cb = ondrain;
+              ondrain = null;
+              cb();
+            }
+          });
+        } else if (isWebStream(head)) {
+          const writable2 = isTransformStream(head) ? head.writable : head;
+          const writer = writable2.getWriter();
+          d._write = async function(chunk, encoding, callback) {
+            try {
+              await writer.ready;
+              writer.write(chunk).catch(() => {
+              });
+              callback();
+            } catch (err) {
+              callback(err);
+            }
+          };
+          d._final = async function(callback) {
+            try {
+              await writer.ready;
+              writer.close().catch(() => {
+              });
+              onfinish = callback;
+            } catch (err) {
+              callback(err);
+            }
+          };
+        }
+        const toRead = isTransformStream(tail) ? tail.readable : tail;
+        eos(toRead, () => {
+          if (onfinish) {
+            const cb = onfinish;
+            onfinish = null;
+            cb();
+          }
+        });
+      }
+      if (readable) {
+        if (isNodeStream(tail)) {
+          tail.on("readable", function() {
+            if (onreadable) {
+              const cb = onreadable;
+              onreadable = null;
+              cb();
+            }
+          });
+          tail.on("end", function() {
+            d.push(null);
+          });
+          d._read = function() {
+            while (true) {
+              const buf = tail.read();
+              if (buf === null) {
+                onreadable = d._read;
+                return;
+              }
+              if (!d.push(buf)) {
+                return;
+              }
+            }
+          };
+        } else if (isWebStream(tail)) {
+          const readable2 = isTransformStream(tail) ? tail.readable : tail;
+          const reader = readable2.getReader();
+          d._read = async function() {
+            while (true) {
+              try {
+                const { value, done } = await reader.read();
+                if (!d.push(value)) {
+                  return;
+                }
+                if (done) {
+                  d.push(null);
+                  return;
+                }
+              } catch {
+                return;
+              }
+            }
+          };
+        }
       }
+      d._destroy = function(err, callback) {
+        if (!err && onclose !== null) {
+          err = new AbortError();
+        }
+        onreadable = null;
+        ondrain = null;
+        onfinish = null;
+        if (onclose === null) {
+          callback(err);
+        } else {
+          onclose = callback;
+          if (isNodeStream(tail)) {
+            destroyer(tail, err);
+          }
+        }
+      };
+      return d;
     };
-    exports2.ServiceType = ServiceType;
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-error.js
-var require_rpc_error = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-error.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/operators.js
+var require_operators = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/operators.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.RpcError = void 0;
-    var RpcError = class extends Error {
-      constructor(message, code = "UNKNOWN", meta) {
-        super(message);
-        this.name = "RpcError";
-        Object.setPrototypeOf(this, new.target.prototype);
-        this.code = code;
-        this.meta = meta !== null && meta !== void 0 ? meta : {};
+    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
+    var {
+      codes: { ERR_INVALID_ARG_VALUE, ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_MISSING_ARGS, ERR_OUT_OF_RANGE },
+      AbortError
+    } = require_errors5();
+    var { validateAbortSignal, validateInteger, validateObject } = require_validators();
+    var kWeakHandler = require_primordials().Symbol("kWeak");
+    var kResistStopPropagation = require_primordials().Symbol("kResistStopPropagation");
+    var { finished } = require_end_of_stream();
+    var staticCompose = require_compose();
+    var { addAbortSignalNoValidate } = require_add_abort_signal();
+    var { isWritable, isNodeStream } = require_utils8();
+    var { deprecate } = require_util21();
+    var {
+      ArrayPrototypePush,
+      Boolean: Boolean2,
+      MathFloor,
+      Number: Number2,
+      NumberIsNaN,
+      Promise: Promise2,
+      PromiseReject,
+      PromiseResolve,
+      PromisePrototypeThen,
+      Symbol: Symbol2
+    } = require_primordials();
+    var kEmpty = Symbol2("kEmpty");
+    var kEof = Symbol2("kEof");
+    function compose(stream, options) {
+      if (options != null) {
+        validateObject(options, "options");
       }
-      toString() {
-        const l = [this.name + ": " + this.message];
-        if (this.code) {
-          l.push("");
-          l.push("Code: " + this.code);
+      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
+        validateAbortSignal(options.signal, "options.signal");
+      }
+      if (isNodeStream(stream) && !isWritable(stream)) {
+        throw new ERR_INVALID_ARG_VALUE("stream", stream, "must be writable");
+      }
+      const composedStream = staticCompose(this, stream);
+      if (options !== null && options !== void 0 && options.signal) {
+        addAbortSignalNoValidate(options.signal, composedStream);
+      }
+      return composedStream;
+    }
+    function map2(fn, options) {
+      if (typeof fn !== "function") {
+        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
+      }
+      if (options != null) {
+        validateObject(options, "options");
+      }
+      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
+        validateAbortSignal(options.signal, "options.signal");
+      }
+      let concurrency = 1;
+      if ((options === null || options === void 0 ? void 0 : options.concurrency) != null) {
+        concurrency = MathFloor(options.concurrency);
+      }
+      let highWaterMark = concurrency - 1;
+      if ((options === null || options === void 0 ? void 0 : options.highWaterMark) != null) {
+        highWaterMark = MathFloor(options.highWaterMark);
+      }
+      validateInteger(concurrency, "options.concurrency", 1);
+      validateInteger(highWaterMark, "options.highWaterMark", 0);
+      highWaterMark += concurrency;
+      return async function* map3() {
+        const signal = require_util21().AbortSignalAny(
+          [options === null || options === void 0 ? void 0 : options.signal].filter(Boolean2)
+        );
+        const stream = this;
+        const queue = [];
+        const signalOpt = {
+          signal
+        };
+        let next;
+        let resume;
+        let done = false;
+        let cnt = 0;
+        function onCatch() {
+          done = true;
+          afterItemProcessed();
         }
-        if (this.serviceName && this.methodName) {
-          l.push("Method: " + this.serviceName + "/" + this.methodName);
+        function afterItemProcessed() {
+          cnt -= 1;
+          maybeResume();
+        }
+        function maybeResume() {
+          if (resume && !done && cnt < concurrency && queue.length < highWaterMark) {
+            resume();
+            resume = null;
+          }
+        }
+        async function pump() {
+          try {
+            for await (let val of stream) {
+              if (done) {
+                return;
+              }
+              if (signal.aborted) {
+                throw new AbortError();
+              }
+              try {
+                val = fn(val, signalOpt);
+                if (val === kEmpty) {
+                  continue;
+                }
+                val = PromiseResolve(val);
+              } catch (err) {
+                val = PromiseReject(err);
+              }
+              cnt += 1;
+              PromisePrototypeThen(val, afterItemProcessed, onCatch);
+              queue.push(val);
+              if (next) {
+                next();
+                next = null;
+              }
+              if (!done && (queue.length >= highWaterMark || cnt >= concurrency)) {
+                await new Promise2((resolve3) => {
+                  resume = resolve3;
+                });
+              }
+            }
+            queue.push(kEof);
+          } catch (err) {
+            const val = PromiseReject(err);
+            PromisePrototypeThen(val, afterItemProcessed, onCatch);
+            queue.push(val);
+          } finally {
+            done = true;
+            if (next) {
+              next();
+              next = null;
+            }
+          }
         }
-        let m = Object.entries(this.meta);
-        if (m.length) {
-          l.push("");
-          l.push("Meta:");
-          for (let [k, v] of m) {
-            l.push(`  ${k}: ${v}`);
+        pump();
+        try {
+          while (true) {
+            while (queue.length > 0) {
+              const val = await queue[0];
+              if (val === kEof) {
+                return;
+              }
+              if (signal.aborted) {
+                throw new AbortError();
+              }
+              if (val !== kEmpty) {
+                yield val;
+              }
+              queue.shift();
+              maybeResume();
+            }
+            await new Promise2((resolve3) => {
+              next = resolve3;
+            });
+          }
+        } finally {
+          done = true;
+          if (resume) {
+            resume();
+            resume = null;
           }
         }
-        return l.join("\n");
+      }.call(this);
+    }
+    function asIndexedPairs(options = void 0) {
+      if (options != null) {
+        validateObject(options, "options");
       }
-    };
-    exports2.RpcError = RpcError;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-options.js
-var require_rpc_options = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-options.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.mergeRpcOptions = void 0;
-    var runtime_1 = require_commonjs16();
-    function mergeRpcOptions(defaults, options) {
-      if (!options)
-        return defaults;
-      let o = {};
-      copy(defaults, o);
-      copy(options, o);
-      for (let key of Object.keys(options)) {
-        let val = options[key];
-        switch (key) {
-          case "jsonOptions":
-            o.jsonOptions = runtime_1.mergeJsonOptions(defaults.jsonOptions, o.jsonOptions);
-            break;
-          case "binaryOptions":
-            o.binaryOptions = runtime_1.mergeBinaryOptions(defaults.binaryOptions, o.binaryOptions);
-            break;
-          case "meta":
-            o.meta = {};
-            copy(defaults.meta, o.meta);
-            copy(options.meta, o.meta);
-            break;
-          case "interceptors":
-            o.interceptors = defaults.interceptors ? defaults.interceptors.concat(val) : val.concat();
-            break;
-        }
+      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
+        validateAbortSignal(options.signal, "options.signal");
       }
-      return o;
+      return async function* asIndexedPairs2() {
+        let index = 0;
+        for await (const val of this) {
+          var _options$signal;
+          if (options !== null && options !== void 0 && (_options$signal = options.signal) !== null && _options$signal !== void 0 && _options$signal.aborted) {
+            throw new AbortError({
+              cause: options.signal.reason
+            });
+          }
+          yield [index++, val];
+        }
+      }.call(this);
     }
-    exports2.mergeRpcOptions = mergeRpcOptions;
-    function copy(a, into) {
-      if (!a)
-        return;
-      let c = into;
-      for (let [k, v] of Object.entries(a)) {
-        if (v instanceof Date)
-          c[k] = new Date(v.getTime());
-        else if (Array.isArray(v))
-          c[k] = v.concat();
-        else
-          c[k] = v;
+    async function some(fn, options = void 0) {
+      for await (const unused of filter.call(this, fn, options)) {
+        return true;
       }
+      return false;
     }
-  }
-});
-
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/deferred.js
-var require_deferred = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/deferred.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Deferred = exports2.DeferredState = void 0;
-    var DeferredState;
-    (function(DeferredState2) {
-      DeferredState2[DeferredState2["PENDING"] = 0] = "PENDING";
-      DeferredState2[DeferredState2["REJECTED"] = 1] = "REJECTED";
-      DeferredState2[DeferredState2["RESOLVED"] = 2] = "RESOLVED";
-    })(DeferredState = exports2.DeferredState || (exports2.DeferredState = {}));
-    var Deferred = class {
-      /**
-       * @param preventUnhandledRejectionWarning - prevents the warning
-       * "Unhandled Promise rejection" by adding a noop rejection handler.
-       * Working with calls returned from the runtime-rpc package in an
-       * async function usually means awaiting one call property after
-       * the other. This means that the "status" is not being awaited when
-       * an earlier await for the "headers" is rejected. This causes the
-       * "unhandled promise reject" warning. A more correct behaviour for
-       * calls might be to become aware whether at least one of the
-       * promises is handled and swallow the rejection warning for the
-       * others.
-       */
-      constructor(preventUnhandledRejectionWarning = true) {
-        this._state = DeferredState.PENDING;
-        this._promise = new Promise((resolve3, reject) => {
-          this._resolve = resolve3;
-          this._reject = reject;
-        });
-        if (preventUnhandledRejectionWarning) {
-          this._promise.catch((_2) => {
-          });
-        }
-      }
-      /**
-       * Get the current state of the promise.
-       */
-      get state() {
-        return this._state;
+    async function every(fn, options = void 0) {
+      if (typeof fn !== "function") {
+        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
       }
-      /**
-       * Get the deferred promise.
-       */
-      get promise() {
-        return this._promise;
+      return !await some.call(
+        this,
+        async (...args) => {
+          return !await fn(...args);
+        },
+        options
+      );
+    }
+    async function find2(fn, options) {
+      for await (const result of filter.call(this, fn, options)) {
+        return result;
       }
-      /**
-       * Resolve the promise. Throws if the promise is already resolved or rejected.
-       */
-      resolve(value) {
-        if (this.state !== DeferredState.PENDING)
-          throw new Error(`cannot resolve ${DeferredState[this.state].toLowerCase()}`);
-        this._resolve(value);
-        this._state = DeferredState.RESOLVED;
+      return void 0;
+    }
+    async function forEach(fn, options) {
+      if (typeof fn !== "function") {
+        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
       }
-      /**
-       * Reject the promise. Throws if the promise is already resolved or rejected.
-       */
-      reject(reason) {
-        if (this.state !== DeferredState.PENDING)
-          throw new Error(`cannot reject ${DeferredState[this.state].toLowerCase()}`);
-        this._reject(reason);
-        this._state = DeferredState.REJECTED;
+      async function forEachFn(value, options2) {
+        await fn(value, options2);
+        return kEmpty;
       }
-      /**
-       * Resolve the promise. Ignore if not pending.
-       */
-      resolvePending(val) {
-        if (this._state === DeferredState.PENDING)
-          this.resolve(val);
+      for await (const unused of map2.call(this, forEachFn, options)) ;
+    }
+    function filter(fn, options) {
+      if (typeof fn !== "function") {
+        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
       }
-      /**
-       * Reject the promise. Ignore if not pending.
-       */
-      rejectPending(reason) {
-        if (this._state === DeferredState.PENDING)
-          this.reject(reason);
+      async function filterFn(value, options2) {
+        if (await fn(value, options2)) {
+          return value;
+        }
+        return kEmpty;
       }
-    };
-    exports2.Deferred = Deferred;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-output-stream.js
-var require_rpc_output_stream = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-output-stream.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.RpcOutputStreamController = void 0;
-    var deferred_1 = require_deferred();
-    var runtime_1 = require_commonjs16();
-    var RpcOutputStreamController = class {
+      return map2.call(this, filterFn, options);
+    }
+    var ReduceAwareErrMissingArgs = class extends ERR_MISSING_ARGS {
       constructor() {
-        this._lis = {
-          nxt: [],
-          msg: [],
-          err: [],
-          cmp: []
-        };
-        this._closed = false;
-        this._itState = { q: [] };
+        super("reduce");
+        this.message = "Reduce of an empty stream requires an initial value";
       }
-      // --- RpcOutputStream callback API
-      onNext(callback) {
-        return this.addLis(callback, this._lis.nxt);
+    };
+    async function reduce(reducer, initialValue, options) {
+      var _options$signal2;
+      if (typeof reducer !== "function") {
+        throw new ERR_INVALID_ARG_TYPE2("reducer", ["Function", "AsyncFunction"], reducer);
       }
-      onMessage(callback) {
-        return this.addLis(callback, this._lis.msg);
+      if (options != null) {
+        validateObject(options, "options");
       }
-      onError(callback) {
-        return this.addLis(callback, this._lis.err);
+      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
+        validateAbortSignal(options.signal, "options.signal");
       }
-      onComplete(callback) {
-        return this.addLis(callback, this._lis.cmp);
+      let hasInitialValue = arguments.length > 1;
+      if (options !== null && options !== void 0 && (_options$signal2 = options.signal) !== null && _options$signal2 !== void 0 && _options$signal2.aborted) {
+        const err = new AbortError(void 0, {
+          cause: options.signal.reason
+        });
+        this.once("error", () => {
+        });
+        await finished(this.destroy(err));
+        throw err;
       }
-      addLis(callback, list) {
-        list.push(callback);
-        return () => {
-          let i = list.indexOf(callback);
-          if (i >= 0)
-            list.splice(i, 1);
+      const ac = new AbortController2();
+      const signal = ac.signal;
+      if (options !== null && options !== void 0 && options.signal) {
+        const opts = {
+          once: true,
+          [kWeakHandler]: this,
+          [kResistStopPropagation]: true
         };
+        options.signal.addEventListener("abort", () => ac.abort(), opts);
       }
-      // remove all listeners
-      clearLis() {
-        for (let l of Object.values(this._lis))
-          l.splice(0, l.length);
+      let gotAnyItemFromStream = false;
+      try {
+        for await (const value of this) {
+          var _options$signal3;
+          gotAnyItemFromStream = true;
+          if (options !== null && options !== void 0 && (_options$signal3 = options.signal) !== null && _options$signal3 !== void 0 && _options$signal3.aborted) {
+            throw new AbortError();
+          }
+          if (!hasInitialValue) {
+            initialValue = value;
+            hasInitialValue = true;
+          } else {
+            initialValue = await reducer(initialValue, value, {
+              signal
+            });
+          }
+        }
+        if (!gotAnyItemFromStream && !hasInitialValue) {
+          throw new ReduceAwareErrMissingArgs();
+        }
+      } finally {
+        ac.abort();
       }
-      // --- Controller API
-      /**
-       * Is this stream already closed by a completion or error?
-       */
-      get closed() {
-        return this._closed !== false;
+      return initialValue;
+    }
+    async function toArray2(options) {
+      if (options != null) {
+        validateObject(options, "options");
       }
-      /**
-       * Emit message, close with error, or close successfully, but only one
-       * at a time.
-       * Can be used to wrap a stream by using the other stream's `onNext`.
-       */
-      notifyNext(message, error3, complete) {
-        runtime_1.assert((message ? 1 : 0) + (error3 ? 1 : 0) + (complete ? 1 : 0) <= 1, "only one emission at a time");
-        if (message)
-          this.notifyMessage(message);
-        if (error3)
-          this.notifyError(error3);
-        if (complete)
-          this.notifyComplete();
+      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
+        validateAbortSignal(options.signal, "options.signal");
       }
-      /**
-       * Emits a new message. Throws if stream is closed.
-       *
-       * Triggers onNext and onMessage callbacks.
-       */
-      notifyMessage(message) {
-        runtime_1.assert(!this.closed, "stream is closed");
-        this.pushIt({ value: message, done: false });
-        this._lis.msg.forEach((l) => l(message));
-        this._lis.nxt.forEach((l) => l(message, void 0, false));
+      const result = [];
+      for await (const val of this) {
+        var _options$signal4;
+        if (options !== null && options !== void 0 && (_options$signal4 = options.signal) !== null && _options$signal4 !== void 0 && _options$signal4.aborted) {
+          throw new AbortError(void 0, {
+            cause: options.signal.reason
+          });
+        }
+        ArrayPrototypePush(result, val);
       }
-      /**
-       * Closes the stream with an error. Throws if stream is closed.
-       *
-       * Triggers onNext and onError callbacks.
-       */
-      notifyError(error3) {
-        runtime_1.assert(!this.closed, "stream is closed");
-        this._closed = error3;
-        this.pushIt(error3);
-        this._lis.err.forEach((l) => l(error3));
-        this._lis.nxt.forEach((l) => l(void 0, error3, false));
-        this.clearLis();
+      return result;
+    }
+    function flatMap(fn, options) {
+      const values = map2.call(this, fn, options);
+      return async function* flatMap2() {
+        for await (const val of values) {
+          yield* val;
+        }
+      }.call(this);
+    }
+    function toIntegerOrInfinity(number) {
+      number = Number2(number);
+      if (NumberIsNaN(number)) {
+        return 0;
       }
-      /**
-       * Closes the stream successfully. Throws if stream is closed.
-       *
-       * Triggers onNext and onComplete callbacks.
-       */
-      notifyComplete() {
-        runtime_1.assert(!this.closed, "stream is closed");
-        this._closed = true;
-        this.pushIt({ value: null, done: true });
-        this._lis.cmp.forEach((l) => l());
-        this._lis.nxt.forEach((l) => l(void 0, void 0, true));
-        this.clearLis();
+      if (number < 0) {
+        throw new ERR_OUT_OF_RANGE("number", ">= 0", number);
       }
-      /**
-       * Creates an async iterator (that can be used with `for await {...}`)
-       * to consume the stream.
-       *
-       * Some things to note:
-       * - If an error occurs, the `for await` will throw it.
-       * - If an error occurred before the `for await` was started, `for await`
-       *   will re-throw it.
-       * - If the stream is already complete, the `for await` will be empty.
-       * - If your `for await` consumes slower than the stream produces,
-       *   for example because you are relaying messages in a slow operation,
-       *   messages are queued.
-       */
-      [Symbol.asyncIterator]() {
-        if (this._closed === true)
-          this.pushIt({ value: null, done: true });
-        else if (this._closed !== false)
-          this.pushIt(this._closed);
-        return {
-          next: () => {
-            let state = this._itState;
-            runtime_1.assert(state, "bad state");
-            runtime_1.assert(!state.p, "iterator contract broken");
-            let first = state.q.shift();
-            if (first)
-              return "value" in first ? Promise.resolve(first) : Promise.reject(first);
-            state.p = new deferred_1.Deferred();
-            return state.p.promise;
-          }
-        };
+      return number;
+    }
+    function drop(number, options = void 0) {
+      if (options != null) {
+        validateObject(options, "options");
       }
-      // "push" a new iterator result.
-      // this either resolves a pending promise, or enqueues the result.
-      pushIt(result) {
-        let state = this._itState;
-        if (state.p) {
-          const p = state.p;
-          runtime_1.assert(p.state == deferred_1.DeferredState.PENDING, "iterator contract broken");
-          "value" in result ? p.resolve(result) : p.reject(result);
-          delete state.p;
-        } else {
-          state.q.push(result);
+      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
+        validateAbortSignal(options.signal, "options.signal");
+      }
+      number = toIntegerOrInfinity(number);
+      return async function* drop2() {
+        var _options$signal5;
+        if (options !== null && options !== void 0 && (_options$signal5 = options.signal) !== null && _options$signal5 !== void 0 && _options$signal5.aborted) {
+          throw new AbortError();
+        }
+        for await (const val of this) {
+          var _options$signal6;
+          if (options !== null && options !== void 0 && (_options$signal6 = options.signal) !== null && _options$signal6 !== void 0 && _options$signal6.aborted) {
+            throw new AbortError();
+          }
+          if (number-- <= 0) {
+            yield val;
+          }
         }
+      }.call(this);
+    }
+    function take(number, options = void 0) {
+      if (options != null) {
+        validateObject(options, "options");
       }
+      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
+        validateAbortSignal(options.signal, "options.signal");
+      }
+      number = toIntegerOrInfinity(number);
+      return async function* take2() {
+        var _options$signal7;
+        if (options !== null && options !== void 0 && (_options$signal7 = options.signal) !== null && _options$signal7 !== void 0 && _options$signal7.aborted) {
+          throw new AbortError();
+        }
+        for await (const val of this) {
+          var _options$signal8;
+          if (options !== null && options !== void 0 && (_options$signal8 = options.signal) !== null && _options$signal8 !== void 0 && _options$signal8.aborted) {
+            throw new AbortError();
+          }
+          if (number-- > 0) {
+            yield val;
+          }
+          if (number <= 0) {
+            return;
+          }
+        }
+      }.call(this);
+    }
+    module2.exports.streamReturningOperators = {
+      asIndexedPairs: deprecate(asIndexedPairs, "readable.asIndexedPairs will be removed in a future version."),
+      drop,
+      filter,
+      flatMap,
+      map: map2,
+      take,
+      compose
+    };
+    module2.exports.promiseReturningOperators = {
+      every,
+      forEach,
+      reduce,
+      toArray: toArray2,
+      some,
+      find: find2
     };
-    exports2.RpcOutputStreamController = RpcOutputStreamController;
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/unary-call.js
-var require_unary_call = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/unary-call.js"(exports2) {
+// node_modules/readable-stream/lib/stream/promises.js
+var require_promises = __commonJS({
+  "node_modules/readable-stream/lib/stream/promises.js"(exports2, module2) {
     "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve3) {
-          resolve3(value);
-        });
-      }
-      return new (P || (P = Promise))(function(resolve3, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
+    var { ArrayPrototypePop, Promise: Promise2 } = require_primordials();
+    var { isIterable, isNodeStream, isWebStream } = require_utils8();
+    var { pipelineImpl: pl } = require_pipeline4();
+    var { finished } = require_end_of_stream();
+    require_stream2();
+    function pipeline(...streams) {
+      return new Promise2((resolve3, reject) => {
+        let signal;
+        let end;
+        const lastArg = streams[streams.length - 1];
+        if (lastArg && typeof lastArg === "object" && !isNodeStream(lastArg) && !isIterable(lastArg) && !isWebStream(lastArg)) {
+          const options = ArrayPrototypePop(streams);
+          signal = options.signal;
+          end = options.end;
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
+        pl(
+          streams,
+          (err, value) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve3(value);
+            }
+          },
+          {
+            signal,
+            end
           }
-        }
-        function step(result) {
-          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
+        );
       });
+    }
+    module2.exports = {
+      finished,
+      pipeline
     };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.UnaryCall = void 0;
-    var UnaryCall = class {
-      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
-        this.method = method;
-        this.requestHeaders = requestHeaders;
-        this.request = request2;
-        this.headers = headers;
-        this.response = response;
-        this.status = status;
-        this.trailers = trailers;
-      }
-      /**
-       * If you are only interested in the final outcome of this call,
-       * you can await it to receive a `FinishedUnaryCall`.
-       */
-      then(onfulfilled, onrejected) {
-        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
-      }
-      promiseFinished() {
-        return __awaiter2(this, void 0, void 0, function* () {
-          let [headers, response, status, trailers] = yield Promise.all([this.headers, this.response, this.status, this.trailers]);
-          return {
-            method: this.method,
-            requestHeaders: this.requestHeaders,
-            request: this.request,
-            headers,
-            response,
-            status,
-            trailers
-          };
-        });
-      }
-    };
-    exports2.UnaryCall = UnaryCall;
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-streaming-call.js
-var require_server_streaming_call = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-streaming-call.js"(exports2) {
-    "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve3) {
-          resolve3(value);
-        });
-      }
-      return new (P || (P = Promise))(function(resolve3, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
+// node_modules/readable-stream/lib/stream.js
+var require_stream2 = __commonJS({
+  "node_modules/readable-stream/lib/stream.js"(exports2, module2) {
+    var { Buffer: Buffer2 } = require("buffer");
+    var { ObjectDefineProperty, ObjectKeys, ReflectApply } = require_primordials();
+    var {
+      promisify: { custom: customPromisify }
+    } = require_util21();
+    var { streamReturningOperators, promiseReturningOperators } = require_operators();
+    var {
+      codes: { ERR_ILLEGAL_CONSTRUCTOR }
+    } = require_errors5();
+    var compose = require_compose();
+    var { setDefaultHighWaterMark, getDefaultHighWaterMark } = require_state3();
+    var { pipeline } = require_pipeline4();
+    var { destroyer } = require_destroy2();
+    var eos = require_end_of_stream();
+    var promises = require_promises();
+    var utils = require_utils8();
+    var Stream = module2.exports = require_legacy().Stream;
+    Stream.isDestroyed = utils.isDestroyed;
+    Stream.isDisturbed = utils.isDisturbed;
+    Stream.isErrored = utils.isErrored;
+    Stream.isReadable = utils.isReadable;
+    Stream.isWritable = utils.isWritable;
+    Stream.Readable = require_readable4();
+    for (const key of ObjectKeys(streamReturningOperators)) {
+      let fn2 = function(...args) {
+        if (new.target) {
+          throw ERR_ILLEGAL_CONSTRUCTOR();
         }
-        function step(result) {
-          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        return Stream.Readable.from(ReflectApply(op, this, args));
+      };
+      fn = fn2;
+      const op = streamReturningOperators[key];
+      ObjectDefineProperty(fn2, "name", {
+        __proto__: null,
+        value: op.name
+      });
+      ObjectDefineProperty(fn2, "length", {
+        __proto__: null,
+        value: op.length
+      });
+      ObjectDefineProperty(Stream.Readable.prototype, key, {
+        __proto__: null,
+        value: fn2,
+        enumerable: false,
+        configurable: true,
+        writable: true
+      });
+    }
+    var fn;
+    for (const key of ObjectKeys(promiseReturningOperators)) {
+      let fn2 = function(...args) {
+        if (new.target) {
+          throw ERR_ILLEGAL_CONSTRUCTOR();
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
+        return ReflectApply(op, this, args);
+      };
+      fn = fn2;
+      const op = promiseReturningOperators[key];
+      ObjectDefineProperty(fn2, "name", {
+        __proto__: null,
+        value: op.name
       });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ServerStreamingCall = void 0;
-    var ServerStreamingCall = class {
-      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
-        this.method = method;
-        this.requestHeaders = requestHeaders;
-        this.request = request2;
-        this.headers = headers;
-        this.responses = response;
-        this.status = status;
-        this.trailers = trailers;
+      ObjectDefineProperty(fn2, "length", {
+        __proto__: null,
+        value: op.length
+      });
+      ObjectDefineProperty(Stream.Readable.prototype, key, {
+        __proto__: null,
+        value: fn2,
+        enumerable: false,
+        configurable: true,
+        writable: true
+      });
+    }
+    var fn;
+    Stream.Writable = require_writable();
+    Stream.Duplex = require_duplex();
+    Stream.Transform = require_transform();
+    Stream.PassThrough = require_passthrough2();
+    Stream.pipeline = pipeline;
+    var { addAbortSignal } = require_add_abort_signal();
+    Stream.addAbortSignal = addAbortSignal;
+    Stream.finished = eos;
+    Stream.destroy = destroyer;
+    Stream.compose = compose;
+    Stream.setDefaultHighWaterMark = setDefaultHighWaterMark;
+    Stream.getDefaultHighWaterMark = getDefaultHighWaterMark;
+    ObjectDefineProperty(Stream, "promises", {
+      __proto__: null,
+      configurable: true,
+      enumerable: true,
+      get() {
+        return promises;
       }
-      /**
-       * Instead of awaiting the response status and trailers, you can
-       * just as well await this call itself to receive the server outcome.
-       * You should first setup some listeners to the `request` to
-       * see the actual messages the server replied with.
-       */
-      then(onfulfilled, onrejected) {
-        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
+    });
+    ObjectDefineProperty(pipeline, customPromisify, {
+      __proto__: null,
+      enumerable: true,
+      get() {
+        return promises.pipeline;
       }
-      promiseFinished() {
-        return __awaiter2(this, void 0, void 0, function* () {
-          let [headers, status, trailers] = yield Promise.all([this.headers, this.status, this.trailers]);
-          return {
-            method: this.method,
-            requestHeaders: this.requestHeaders,
-            request: this.request,
-            headers,
-            status,
-            trailers
-          };
-        });
+    });
+    ObjectDefineProperty(eos, customPromisify, {
+      __proto__: null,
+      enumerable: true,
+      get() {
+        return promises.finished;
       }
+    });
+    Stream.Stream = Stream;
+    Stream._isUint8Array = function isUint8Array(value) {
+      return value instanceof Uint8Array;
+    };
+    Stream._uint8ArrayToBuffer = function _uint8ArrayToBuffer(chunk) {
+      return Buffer2.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
     };
-    exports2.ServerStreamingCall = ServerStreamingCall;
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/client-streaming-call.js
-var require_client_streaming_call = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/client-streaming-call.js"(exports2) {
+// node_modules/readable-stream/lib/ours/index.js
+var require_ours = __commonJS({
+  "node_modules/readable-stream/lib/ours/index.js"(exports2, module2) {
     "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve3) {
-          resolve3(value);
-        });
-      }
-      return new (P || (P = Promise))(function(resolve3, 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);
-          }
+    var Stream = require("stream");
+    if (Stream && process.env.READABLE_STREAM === "disable") {
+      const promises = Stream.promises;
+      module2.exports._uint8ArrayToBuffer = Stream._uint8ArrayToBuffer;
+      module2.exports._isUint8Array = Stream._isUint8Array;
+      module2.exports.isDisturbed = Stream.isDisturbed;
+      module2.exports.isErrored = Stream.isErrored;
+      module2.exports.isReadable = Stream.isReadable;
+      module2.exports.Readable = Stream.Readable;
+      module2.exports.Writable = Stream.Writable;
+      module2.exports.Duplex = Stream.Duplex;
+      module2.exports.Transform = Stream.Transform;
+      module2.exports.PassThrough = Stream.PassThrough;
+      module2.exports.addAbortSignal = Stream.addAbortSignal;
+      module2.exports.finished = Stream.finished;
+      module2.exports.destroy = Stream.destroy;
+      module2.exports.pipeline = Stream.pipeline;
+      module2.exports.compose = Stream.compose;
+      Object.defineProperty(Stream, "promises", {
+        configurable: true,
+        enumerable: true,
+        get() {
+          return promises;
         }
-        function step(result) {
-          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+      });
+      module2.exports.Stream = Stream.Stream;
+    } else {
+      const CustomStream = require_stream2();
+      const promises = require_promises();
+      const originalDestroy = CustomStream.Readable.destroy;
+      module2.exports = CustomStream.Readable;
+      module2.exports._uint8ArrayToBuffer = CustomStream._uint8ArrayToBuffer;
+      module2.exports._isUint8Array = CustomStream._isUint8Array;
+      module2.exports.isDisturbed = CustomStream.isDisturbed;
+      module2.exports.isErrored = CustomStream.isErrored;
+      module2.exports.isReadable = CustomStream.isReadable;
+      module2.exports.Readable = CustomStream.Readable;
+      module2.exports.Writable = CustomStream.Writable;
+      module2.exports.Duplex = CustomStream.Duplex;
+      module2.exports.Transform = CustomStream.Transform;
+      module2.exports.PassThrough = CustomStream.PassThrough;
+      module2.exports.addAbortSignal = CustomStream.addAbortSignal;
+      module2.exports.finished = CustomStream.finished;
+      module2.exports.destroy = CustomStream.destroy;
+      module2.exports.destroy = originalDestroy;
+      module2.exports.pipeline = CustomStream.pipeline;
+      module2.exports.compose = CustomStream.compose;
+      Object.defineProperty(CustomStream, "promises", {
+        configurable: true,
+        enumerable: true,
+        get() {
+          return promises;
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
       });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ClientStreamingCall = void 0;
-    var ClientStreamingCall = class {
-      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
-        this.method = method;
-        this.requestHeaders = requestHeaders;
-        this.requests = request2;
-        this.headers = headers;
-        this.response = response;
-        this.status = status;
-        this.trailers = trailers;
+      module2.exports.Stream = CustomStream.Stream;
+    }
+    module2.exports.default = module2.exports;
+  }
+});
+
+// node_modules/lodash/_arrayPush.js
+var require_arrayPush = __commonJS({
+  "node_modules/lodash/_arrayPush.js"(exports2, module2) {
+    function arrayPush(array, values) {
+      var index = -1, length = values.length, offset = array.length;
+      while (++index < length) {
+        array[offset + index] = values[index];
       }
-      /**
-       * Instead of awaiting the response status and trailers, you can
-       * just as well await this call itself to receive the server outcome.
-       * Note that it may still be valid to send more request messages.
-       */
-      then(onfulfilled, onrejected) {
-        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
+      return array;
+    }
+    module2.exports = arrayPush;
+  }
+});
+
+// node_modules/lodash/_isFlattenable.js
+var require_isFlattenable = __commonJS({
+  "node_modules/lodash/_isFlattenable.js"(exports2, module2) {
+    var Symbol2 = require_Symbol();
+    var isArguments = require_isArguments();
+    var isArray = require_isArray();
+    var spreadableSymbol = Symbol2 ? Symbol2.isConcatSpreadable : void 0;
+    function isFlattenable(value) {
+      return isArray(value) || isArguments(value) || !!(spreadableSymbol && value && value[spreadableSymbol]);
+    }
+    module2.exports = isFlattenable;
+  }
+});
+
+// node_modules/lodash/_baseFlatten.js
+var require_baseFlatten = __commonJS({
+  "node_modules/lodash/_baseFlatten.js"(exports2, module2) {
+    var arrayPush = require_arrayPush();
+    var isFlattenable = require_isFlattenable();
+    function baseFlatten(array, depth, predicate, isStrict, result) {
+      var index = -1, length = array.length;
+      predicate || (predicate = isFlattenable);
+      result || (result = []);
+      while (++index < length) {
+        var value = array[index];
+        if (depth > 0 && predicate(value)) {
+          if (depth > 1) {
+            baseFlatten(value, depth - 1, predicate, isStrict, result);
+          } else {
+            arrayPush(result, value);
+          }
+        } else if (!isStrict) {
+          result[result.length] = value;
+        }
       }
-      promiseFinished() {
-        return __awaiter2(this, void 0, void 0, function* () {
-          let [headers, response, status, trailers] = yield Promise.all([this.headers, this.response, this.status, this.trailers]);
-          return {
-            method: this.method,
-            requestHeaders: this.requestHeaders,
-            headers,
-            response,
-            status,
-            trailers
-          };
-        });
+      return result;
+    }
+    module2.exports = baseFlatten;
+  }
+});
+
+// node_modules/lodash/flatten.js
+var require_flatten = __commonJS({
+  "node_modules/lodash/flatten.js"(exports2, module2) {
+    var baseFlatten = require_baseFlatten();
+    function flatten(array) {
+      var length = array == null ? 0 : array.length;
+      return length ? baseFlatten(array, 1) : [];
+    }
+    module2.exports = flatten;
+  }
+});
+
+// node_modules/lodash/_nativeCreate.js
+var require_nativeCreate = __commonJS({
+  "node_modules/lodash/_nativeCreate.js"(exports2, module2) {
+    var getNative = require_getNative();
+    var nativeCreate = getNative(Object, "create");
+    module2.exports = nativeCreate;
+  }
+});
+
+// node_modules/lodash/_hashClear.js
+var require_hashClear = __commonJS({
+  "node_modules/lodash/_hashClear.js"(exports2, module2) {
+    var nativeCreate = require_nativeCreate();
+    function hashClear() {
+      this.__data__ = nativeCreate ? nativeCreate(null) : {};
+      this.size = 0;
+    }
+    module2.exports = hashClear;
+  }
+});
+
+// node_modules/lodash/_hashDelete.js
+var require_hashDelete = __commonJS({
+  "node_modules/lodash/_hashDelete.js"(exports2, module2) {
+    function hashDelete(key) {
+      var result = this.has(key) && delete this.__data__[key];
+      this.size -= result ? 1 : 0;
+      return result;
+    }
+    module2.exports = hashDelete;
+  }
+});
+
+// node_modules/lodash/_hashGet.js
+var require_hashGet = __commonJS({
+  "node_modules/lodash/_hashGet.js"(exports2, module2) {
+    var nativeCreate = require_nativeCreate();
+    var HASH_UNDEFINED = "__lodash_hash_undefined__";
+    var objectProto = Object.prototype;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    function hashGet(key) {
+      var data = this.__data__;
+      if (nativeCreate) {
+        var result = data[key];
+        return result === HASH_UNDEFINED ? void 0 : result;
       }
-    };
-    exports2.ClientStreamingCall = ClientStreamingCall;
+      return hasOwnProperty.call(data, key) ? data[key] : void 0;
+    }
+    module2.exports = hashGet;
+  }
+});
+
+// node_modules/lodash/_hashHas.js
+var require_hashHas = __commonJS({
+  "node_modules/lodash/_hashHas.js"(exports2, module2) {
+    var nativeCreate = require_nativeCreate();
+    var objectProto = Object.prototype;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    function hashHas(key) {
+      var data = this.__data__;
+      return nativeCreate ? data[key] !== void 0 : hasOwnProperty.call(data, key);
+    }
+    module2.exports = hashHas;
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/duplex-streaming-call.js
-var require_duplex_streaming_call = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/duplex-streaming-call.js"(exports2) {
-    "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve3) {
-          resolve3(value);
-        });
-      }
-      return new (P || (P = Promise))(function(resolve3, 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 ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.DuplexStreamingCall = void 0;
-    var DuplexStreamingCall = class {
-      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
-        this.method = method;
-        this.requestHeaders = requestHeaders;
-        this.requests = request2;
-        this.headers = headers;
-        this.responses = response;
-        this.status = status;
-        this.trailers = trailers;
-      }
-      /**
-       * Instead of awaiting the response status and trailers, you can
-       * just as well await this call itself to receive the server outcome.
-       * Note that it may still be valid to send more request messages.
-       */
-      then(onfulfilled, onrejected) {
-        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
-      }
-      promiseFinished() {
-        return __awaiter2(this, void 0, void 0, function* () {
-          let [headers, status, trailers] = yield Promise.all([this.headers, this.status, this.trailers]);
-          return {
-            method: this.method,
-            requestHeaders: this.requestHeaders,
-            headers,
-            status,
-            trailers
-          };
-        });
-      }
-    };
-    exports2.DuplexStreamingCall = DuplexStreamingCall;
+// node_modules/lodash/_hashSet.js
+var require_hashSet = __commonJS({
+  "node_modules/lodash/_hashSet.js"(exports2, module2) {
+    var nativeCreate = require_nativeCreate();
+    var HASH_UNDEFINED = "__lodash_hash_undefined__";
+    function hashSet(key, value) {
+      var data = this.__data__;
+      this.size += this.has(key) ? 0 : 1;
+      data[key] = nativeCreate && value === void 0 ? HASH_UNDEFINED : value;
+      return this;
+    }
+    module2.exports = hashSet;
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/test-transport.js
-var require_test_transport = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/test-transport.js"(exports2) {
-    "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve3) {
-          resolve3(value);
-        });
-      }
-      return new (P || (P = Promise))(function(resolve3, 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 ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.TestTransport = void 0;
-    var rpc_error_1 = require_rpc_error();
-    var runtime_1 = require_commonjs16();
-    var rpc_output_stream_1 = require_rpc_output_stream();
-    var rpc_options_1 = require_rpc_options();
-    var unary_call_1 = require_unary_call();
-    var server_streaming_call_1 = require_server_streaming_call();
-    var client_streaming_call_1 = require_client_streaming_call();
-    var duplex_streaming_call_1 = require_duplex_streaming_call();
-    var TestTransport = class _TestTransport {
-      /**
-       * Initialize with mock data. Omitted fields have default value.
-       */
-      constructor(data) {
-        this.suppressUncaughtRejections = true;
-        this.headerDelay = 10;
-        this.responseDelay = 50;
-        this.betweenResponseDelay = 10;
-        this.afterResponseDelay = 10;
-        this.data = data !== null && data !== void 0 ? data : {};
+// node_modules/lodash/_Hash.js
+var require_Hash = __commonJS({
+  "node_modules/lodash/_Hash.js"(exports2, module2) {
+    var hashClear = require_hashClear();
+    var hashDelete = require_hashDelete();
+    var hashGet = require_hashGet();
+    var hashHas = require_hashHas();
+    var hashSet = require_hashSet();
+    function Hash(entries) {
+      var index = -1, length = entries == null ? 0 : entries.length;
+      this.clear();
+      while (++index < length) {
+        var entry = entries[index];
+        this.set(entry[0], entry[1]);
       }
-      /**
-       * Sent message(s) during the last operation.
-       */
-      get sentMessages() {
-        if (this.lastInput instanceof TestInputStream) {
-          return this.lastInput.sent;
-        } else if (typeof this.lastInput == "object") {
-          return [this.lastInput.single];
+    }
+    Hash.prototype.clear = hashClear;
+    Hash.prototype["delete"] = hashDelete;
+    Hash.prototype.get = hashGet;
+    Hash.prototype.has = hashHas;
+    Hash.prototype.set = hashSet;
+    module2.exports = Hash;
+  }
+});
+
+// node_modules/lodash/_listCacheClear.js
+var require_listCacheClear = __commonJS({
+  "node_modules/lodash/_listCacheClear.js"(exports2, module2) {
+    function listCacheClear() {
+      this.__data__ = [];
+      this.size = 0;
+    }
+    module2.exports = listCacheClear;
+  }
+});
+
+// node_modules/lodash/_assocIndexOf.js
+var require_assocIndexOf = __commonJS({
+  "node_modules/lodash/_assocIndexOf.js"(exports2, module2) {
+    var eq = require_eq2();
+    function assocIndexOf(array, key) {
+      var length = array.length;
+      while (length--) {
+        if (eq(array[length][0], key)) {
+          return length;
         }
-        return [];
       }
-      /**
-       * Sending message(s) completed?
-       */
-      get sendComplete() {
-        if (this.lastInput instanceof TestInputStream) {
-          return this.lastInput.completed;
-        } else if (typeof this.lastInput == "object") {
-          return true;
-        }
+      return -1;
+    }
+    module2.exports = assocIndexOf;
+  }
+});
+
+// node_modules/lodash/_listCacheDelete.js
+var require_listCacheDelete = __commonJS({
+  "node_modules/lodash/_listCacheDelete.js"(exports2, module2) {
+    var assocIndexOf = require_assocIndexOf();
+    var arrayProto = Array.prototype;
+    var splice = arrayProto.splice;
+    function listCacheDelete(key) {
+      var data = this.__data__, index = assocIndexOf(data, key);
+      if (index < 0) {
         return false;
       }
-      // Creates a promise for response headers from the mock data.
-      promiseHeaders() {
-        var _a;
-        const headers = (_a = this.data.headers) !== null && _a !== void 0 ? _a : _TestTransport.defaultHeaders;
-        return headers instanceof rpc_error_1.RpcError ? Promise.reject(headers) : Promise.resolve(headers);
-      }
-      // Creates a promise for a single, valid, message from the mock data.
-      promiseSingleResponse(method) {
-        if (this.data.response instanceof rpc_error_1.RpcError) {
-          return Promise.reject(this.data.response);
-        }
-        let r;
-        if (Array.isArray(this.data.response)) {
-          runtime_1.assert(this.data.response.length > 0);
-          r = this.data.response[0];
-        } else if (this.data.response !== void 0) {
-          r = this.data.response;
-        } else {
-          r = method.O.create();
-        }
-        runtime_1.assert(method.O.is(r));
-        return Promise.resolve(r);
-      }
-      /**
-       * Pushes response messages from the mock data to the output stream.
-       * If an error response, status or trailers are mocked, the stream is
-       * closed with the respective error.
-       * Otherwise, stream is completed successfully.
-       *
-       * The returned promise resolves when the stream is closed. It should
-       * not reject. If it does, code is broken.
-       */
-      streamResponses(method, stream, abort) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          const messages = [];
-          if (this.data.response === void 0) {
-            messages.push(method.O.create());
-          } else if (Array.isArray(this.data.response)) {
-            for (let msg of this.data.response) {
-              runtime_1.assert(method.O.is(msg));
-              messages.push(msg);
-            }
-          } else if (!(this.data.response instanceof rpc_error_1.RpcError)) {
-            runtime_1.assert(method.O.is(this.data.response));
-            messages.push(this.data.response);
-          }
-          try {
-            yield delay(this.responseDelay, abort)(void 0);
-          } catch (error3) {
-            stream.notifyError(error3);
-            return;
-          }
-          if (this.data.response instanceof rpc_error_1.RpcError) {
-            stream.notifyError(this.data.response);
-            return;
-          }
-          for (let msg of messages) {
-            stream.notifyMessage(msg);
-            try {
-              yield delay(this.betweenResponseDelay, abort)(void 0);
-            } catch (error3) {
-              stream.notifyError(error3);
-              return;
-            }
-          }
-          if (this.data.status instanceof rpc_error_1.RpcError) {
-            stream.notifyError(this.data.status);
-            return;
-          }
-          if (this.data.trailers instanceof rpc_error_1.RpcError) {
-            stream.notifyError(this.data.trailers);
-            return;
-          }
-          stream.notifyComplete();
-        });
-      }
-      // Creates a promise for response status from the mock data.
-      promiseStatus() {
-        var _a;
-        const status = (_a = this.data.status) !== null && _a !== void 0 ? _a : _TestTransport.defaultStatus;
-        return status instanceof rpc_error_1.RpcError ? Promise.reject(status) : Promise.resolve(status);
-      }
-      // Creates a promise for response trailers from the mock data.
-      promiseTrailers() {
-        var _a;
-        const trailers = (_a = this.data.trailers) !== null && _a !== void 0 ? _a : _TestTransport.defaultTrailers;
-        return trailers instanceof rpc_error_1.RpcError ? Promise.reject(trailers) : Promise.resolve(trailers);
-      }
-      maybeSuppressUncaught(...promise) {
-        if (this.suppressUncaughtRejections) {
-          for (let p of promise) {
-            p.catch(() => {
-            });
-          }
-        }
-      }
-      mergeOptions(options) {
-        return rpc_options_1.mergeRpcOptions({}, options);
-      }
-      unary(method, input, options) {
-        var _a;
-        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), responsePromise = headersPromise.catch((_2) => {
-        }).then(delay(this.responseDelay, options.abort)).then((_2) => this.promiseSingleResponse(method)), statusPromise = responsePromise.catch((_2) => {
-        }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseStatus()), trailersPromise = responsePromise.catch((_2) => {
-        }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseTrailers());
-        this.maybeSuppressUncaught(statusPromise, trailersPromise);
-        this.lastInput = { single: input };
-        return new unary_call_1.UnaryCall(method, requestHeaders, input, headersPromise, responsePromise, statusPromise, trailersPromise);
-      }
-      serverStreaming(method, input, options) {
-        var _a;
-        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), outputStream = new rpc_output_stream_1.RpcOutputStreamController(), responseStreamClosedPromise = headersPromise.then(delay(this.responseDelay, options.abort)).catch(() => {
-        }).then(() => this.streamResponses(method, outputStream, options.abort)).then(delay(this.afterResponseDelay, options.abort)), statusPromise = responseStreamClosedPromise.then(() => this.promiseStatus()), trailersPromise = responseStreamClosedPromise.then(() => this.promiseTrailers());
-        this.maybeSuppressUncaught(statusPromise, trailersPromise);
-        this.lastInput = { single: input };
-        return new server_streaming_call_1.ServerStreamingCall(method, requestHeaders, input, headersPromise, outputStream, statusPromise, trailersPromise);
+      var lastIndex = data.length - 1;
+      if (index == lastIndex) {
+        data.pop();
+      } else {
+        splice.call(data, index, 1);
       }
-      clientStreaming(method, options) {
-        var _a;
-        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), responsePromise = headersPromise.catch((_2) => {
-        }).then(delay(this.responseDelay, options.abort)).then((_2) => this.promiseSingleResponse(method)), statusPromise = responsePromise.catch((_2) => {
-        }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseStatus()), trailersPromise = responsePromise.catch((_2) => {
-        }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseTrailers());
-        this.maybeSuppressUncaught(statusPromise, trailersPromise);
-        this.lastInput = new TestInputStream(this.data, options.abort);
-        return new client_streaming_call_1.ClientStreamingCall(method, requestHeaders, this.lastInput, headersPromise, responsePromise, statusPromise, trailersPromise);
+      --this.size;
+      return true;
+    }
+    module2.exports = listCacheDelete;
+  }
+});
+
+// node_modules/lodash/_listCacheGet.js
+var require_listCacheGet = __commonJS({
+  "node_modules/lodash/_listCacheGet.js"(exports2, module2) {
+    var assocIndexOf = require_assocIndexOf();
+    function listCacheGet(key) {
+      var data = this.__data__, index = assocIndexOf(data, key);
+      return index < 0 ? void 0 : data[index][1];
+    }
+    module2.exports = listCacheGet;
+  }
+});
+
+// node_modules/lodash/_listCacheHas.js
+var require_listCacheHas = __commonJS({
+  "node_modules/lodash/_listCacheHas.js"(exports2, module2) {
+    var assocIndexOf = require_assocIndexOf();
+    function listCacheHas(key) {
+      return assocIndexOf(this.__data__, key) > -1;
+    }
+    module2.exports = listCacheHas;
+  }
+});
+
+// node_modules/lodash/_listCacheSet.js
+var require_listCacheSet = __commonJS({
+  "node_modules/lodash/_listCacheSet.js"(exports2, module2) {
+    var assocIndexOf = require_assocIndexOf();
+    function listCacheSet(key, value) {
+      var data = this.__data__, index = assocIndexOf(data, key);
+      if (index < 0) {
+        ++this.size;
+        data.push([key, value]);
+      } else {
+        data[index][1] = value;
       }
-      duplex(method, options) {
-        var _a;
-        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), outputStream = new rpc_output_stream_1.RpcOutputStreamController(), responseStreamClosedPromise = headersPromise.then(delay(this.responseDelay, options.abort)).catch(() => {
-        }).then(() => this.streamResponses(method, outputStream, options.abort)).then(delay(this.afterResponseDelay, options.abort)), statusPromise = responseStreamClosedPromise.then(() => this.promiseStatus()), trailersPromise = responseStreamClosedPromise.then(() => this.promiseTrailers());
-        this.maybeSuppressUncaught(statusPromise, trailersPromise);
-        this.lastInput = new TestInputStream(this.data, options.abort);
-        return new duplex_streaming_call_1.DuplexStreamingCall(method, requestHeaders, this.lastInput, headersPromise, outputStream, statusPromise, trailersPromise);
+      return this;
+    }
+    module2.exports = listCacheSet;
+  }
+});
+
+// node_modules/lodash/_ListCache.js
+var require_ListCache = __commonJS({
+  "node_modules/lodash/_ListCache.js"(exports2, module2) {
+    var listCacheClear = require_listCacheClear();
+    var listCacheDelete = require_listCacheDelete();
+    var listCacheGet = require_listCacheGet();
+    var listCacheHas = require_listCacheHas();
+    var listCacheSet = require_listCacheSet();
+    function ListCache(entries) {
+      var index = -1, length = entries == null ? 0 : entries.length;
+      this.clear();
+      while (++index < length) {
+        var entry = entries[index];
+        this.set(entry[0], entry[1]);
       }
-    };
-    exports2.TestTransport = TestTransport;
-    TestTransport.defaultHeaders = {
-      responseHeader: "test"
-    };
-    TestTransport.defaultStatus = {
-      code: "OK",
-      detail: "all good"
-    };
-    TestTransport.defaultTrailers = {
-      responseTrailer: "test"
-    };
-    function delay(ms, abort) {
-      return (v) => new Promise((resolve3, reject) => {
-        if (abort === null || abort === void 0 ? void 0 : abort.aborted) {
-          reject(new rpc_error_1.RpcError("user cancel", "CANCELLED"));
-        } else {
-          const id = setTimeout(() => resolve3(v), ms);
-          if (abort) {
-            abort.addEventListener("abort", (ev) => {
-              clearTimeout(id);
-              reject(new rpc_error_1.RpcError("user cancel", "CANCELLED"));
-            });
-          }
-        }
-      });
     }
-    var TestInputStream = class {
-      constructor(data, abort) {
-        this._completed = false;
-        this._sent = [];
-        this.data = data;
-        this.abort = abort;
-      }
-      get sent() {
-        return this._sent;
-      }
-      get completed() {
-        return this._completed;
-      }
-      send(message) {
-        if (this.data.inputMessage instanceof rpc_error_1.RpcError) {
-          return Promise.reject(this.data.inputMessage);
-        }
-        const delayMs = this.data.inputMessage === void 0 ? 10 : this.data.inputMessage;
-        return Promise.resolve(void 0).then(() => {
-          this._sent.push(message);
-        }).then(delay(delayMs, this.abort));
-      }
-      complete() {
-        if (this.data.inputComplete instanceof rpc_error_1.RpcError) {
-          return Promise.reject(this.data.inputComplete);
-        }
-        const delayMs = this.data.inputComplete === void 0 ? 10 : this.data.inputComplete;
-        return Promise.resolve(void 0).then(() => {
-          this._completed = true;
-        }).then(delay(delayMs, this.abort));
-      }
-    };
+    ListCache.prototype.clear = listCacheClear;
+    ListCache.prototype["delete"] = listCacheDelete;
+    ListCache.prototype.get = listCacheGet;
+    ListCache.prototype.has = listCacheHas;
+    ListCache.prototype.set = listCacheSet;
+    module2.exports = ListCache;
+  }
+});
+
+// node_modules/lodash/_Map.js
+var require_Map = __commonJS({
+  "node_modules/lodash/_Map.js"(exports2, module2) {
+    var getNative = require_getNative();
+    var root = require_root();
+    var Map2 = getNative(root, "Map");
+    module2.exports = Map2;
+  }
+});
+
+// node_modules/lodash/_mapCacheClear.js
+var require_mapCacheClear = __commonJS({
+  "node_modules/lodash/_mapCacheClear.js"(exports2, module2) {
+    var Hash = require_Hash();
+    var ListCache = require_ListCache();
+    var Map2 = require_Map();
+    function mapCacheClear() {
+      this.size = 0;
+      this.__data__ = {
+        "hash": new Hash(),
+        "map": new (Map2 || ListCache)(),
+        "string": new Hash()
+      };
+    }
+    module2.exports = mapCacheClear;
+  }
+});
+
+// node_modules/lodash/_isKeyable.js
+var require_isKeyable = __commonJS({
+  "node_modules/lodash/_isKeyable.js"(exports2, module2) {
+    function isKeyable(value) {
+      var type2 = typeof value;
+      return type2 == "string" || type2 == "number" || type2 == "symbol" || type2 == "boolean" ? value !== "__proto__" : value === null;
+    }
+    module2.exports = isKeyable;
+  }
+});
+
+// node_modules/lodash/_getMapData.js
+var require_getMapData = __commonJS({
+  "node_modules/lodash/_getMapData.js"(exports2, module2) {
+    var isKeyable = require_isKeyable();
+    function getMapData(map2, key) {
+      var data = map2.__data__;
+      return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map;
+    }
+    module2.exports = getMapData;
+  }
+});
+
+// node_modules/lodash/_mapCacheDelete.js
+var require_mapCacheDelete = __commonJS({
+  "node_modules/lodash/_mapCacheDelete.js"(exports2, module2) {
+    var getMapData = require_getMapData();
+    function mapCacheDelete(key) {
+      var result = getMapData(this, key)["delete"](key);
+      this.size -= result ? 1 : 0;
+      return result;
+    }
+    module2.exports = mapCacheDelete;
+  }
+});
+
+// node_modules/lodash/_mapCacheGet.js
+var require_mapCacheGet = __commonJS({
+  "node_modules/lodash/_mapCacheGet.js"(exports2, module2) {
+    var getMapData = require_getMapData();
+    function mapCacheGet(key) {
+      return getMapData(this, key).get(key);
+    }
+    module2.exports = mapCacheGet;
+  }
+});
+
+// node_modules/lodash/_mapCacheHas.js
+var require_mapCacheHas = __commonJS({
+  "node_modules/lodash/_mapCacheHas.js"(exports2, module2) {
+    var getMapData = require_getMapData();
+    function mapCacheHas(key) {
+      return getMapData(this, key).has(key);
+    }
+    module2.exports = mapCacheHas;
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-interceptor.js
-var require_rpc_interceptor = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-interceptor.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.stackDuplexStreamingInterceptors = exports2.stackClientStreamingInterceptors = exports2.stackServerStreamingInterceptors = exports2.stackUnaryInterceptors = exports2.stackIntercept = void 0;
-    var runtime_1 = require_commonjs16();
-    function stackIntercept(kind, transport, method, options, input) {
-      var _a, _b, _c, _d;
-      if (kind == "unary") {
-        let tail = (mtd, inp, opt) => transport.unary(mtd, inp, opt);
-        for (const curr of ((_a = options.interceptors) !== null && _a !== void 0 ? _a : []).filter((i) => i.interceptUnary).reverse()) {
-          const next = tail;
-          tail = (mtd, inp, opt) => curr.interceptUnary(next, mtd, inp, opt);
-        }
-        return tail(method, input, options);
-      }
-      if (kind == "serverStreaming") {
-        let tail = (mtd, inp, opt) => transport.serverStreaming(mtd, inp, opt);
-        for (const curr of ((_b = options.interceptors) !== null && _b !== void 0 ? _b : []).filter((i) => i.interceptServerStreaming).reverse()) {
-          const next = tail;
-          tail = (mtd, inp, opt) => curr.interceptServerStreaming(next, mtd, inp, opt);
-        }
-        return tail(method, input, options);
+// node_modules/lodash/_mapCacheSet.js
+var require_mapCacheSet = __commonJS({
+  "node_modules/lodash/_mapCacheSet.js"(exports2, module2) {
+    var getMapData = require_getMapData();
+    function mapCacheSet(key, value) {
+      var data = getMapData(this, key), size = data.size;
+      data.set(key, value);
+      this.size += data.size == size ? 0 : 1;
+      return this;
+    }
+    module2.exports = mapCacheSet;
+  }
+});
+
+// node_modules/lodash/_MapCache.js
+var require_MapCache = __commonJS({
+  "node_modules/lodash/_MapCache.js"(exports2, module2) {
+    var mapCacheClear = require_mapCacheClear();
+    var mapCacheDelete = require_mapCacheDelete();
+    var mapCacheGet = require_mapCacheGet();
+    var mapCacheHas = require_mapCacheHas();
+    var mapCacheSet = require_mapCacheSet();
+    function MapCache(entries) {
+      var index = -1, length = entries == null ? 0 : entries.length;
+      this.clear();
+      while (++index < length) {
+        var entry = entries[index];
+        this.set(entry[0], entry[1]);
       }
-      if (kind == "clientStreaming") {
-        let tail = (mtd, opt) => transport.clientStreaming(mtd, opt);
-        for (const curr of ((_c = options.interceptors) !== null && _c !== void 0 ? _c : []).filter((i) => i.interceptClientStreaming).reverse()) {
-          const next = tail;
-          tail = (mtd, opt) => curr.interceptClientStreaming(next, mtd, opt);
-        }
-        return tail(method, options);
+    }
+    MapCache.prototype.clear = mapCacheClear;
+    MapCache.prototype["delete"] = mapCacheDelete;
+    MapCache.prototype.get = mapCacheGet;
+    MapCache.prototype.has = mapCacheHas;
+    MapCache.prototype.set = mapCacheSet;
+    module2.exports = MapCache;
+  }
+});
+
+// node_modules/lodash/_setCacheAdd.js
+var require_setCacheAdd = __commonJS({
+  "node_modules/lodash/_setCacheAdd.js"(exports2, module2) {
+    var HASH_UNDEFINED = "__lodash_hash_undefined__";
+    function setCacheAdd(value) {
+      this.__data__.set(value, HASH_UNDEFINED);
+      return this;
+    }
+    module2.exports = setCacheAdd;
+  }
+});
+
+// node_modules/lodash/_setCacheHas.js
+var require_setCacheHas = __commonJS({
+  "node_modules/lodash/_setCacheHas.js"(exports2, module2) {
+    function setCacheHas(value) {
+      return this.__data__.has(value);
+    }
+    module2.exports = setCacheHas;
+  }
+});
+
+// node_modules/lodash/_SetCache.js
+var require_SetCache = __commonJS({
+  "node_modules/lodash/_SetCache.js"(exports2, module2) {
+    var MapCache = require_MapCache();
+    var setCacheAdd = require_setCacheAdd();
+    var setCacheHas = require_setCacheHas();
+    function SetCache(values) {
+      var index = -1, length = values == null ? 0 : values.length;
+      this.__data__ = new MapCache();
+      while (++index < length) {
+        this.add(values[index]);
       }
-      if (kind == "duplex") {
-        let tail = (mtd, opt) => transport.duplex(mtd, opt);
-        for (const curr of ((_d = options.interceptors) !== null && _d !== void 0 ? _d : []).filter((i) => i.interceptDuplex).reverse()) {
-          const next = tail;
-          tail = (mtd, opt) => curr.interceptDuplex(next, mtd, opt);
+    }
+    SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
+    SetCache.prototype.has = setCacheHas;
+    module2.exports = SetCache;
+  }
+});
+
+// node_modules/lodash/_baseFindIndex.js
+var require_baseFindIndex = __commonJS({
+  "node_modules/lodash/_baseFindIndex.js"(exports2, module2) {
+    function baseFindIndex(array, predicate, fromIndex, fromRight) {
+      var length = array.length, index = fromIndex + (fromRight ? 1 : -1);
+      while (fromRight ? index-- : ++index < length) {
+        if (predicate(array[index], index, array)) {
+          return index;
         }
-        return tail(method, options);
       }
-      runtime_1.assertNever(kind);
+      return -1;
     }
-    exports2.stackIntercept = stackIntercept;
-    function stackUnaryInterceptors(transport, method, input, options) {
-      return stackIntercept("unary", transport, method, options, input);
+    module2.exports = baseFindIndex;
+  }
+});
+
+// node_modules/lodash/_baseIsNaN.js
+var require_baseIsNaN = __commonJS({
+  "node_modules/lodash/_baseIsNaN.js"(exports2, module2) {
+    function baseIsNaN(value) {
+      return value !== value;
     }
-    exports2.stackUnaryInterceptors = stackUnaryInterceptors;
-    function stackServerStreamingInterceptors(transport, method, input, options) {
-      return stackIntercept("serverStreaming", transport, method, options, input);
+    module2.exports = baseIsNaN;
+  }
+});
+
+// node_modules/lodash/_strictIndexOf.js
+var require_strictIndexOf = __commonJS({
+  "node_modules/lodash/_strictIndexOf.js"(exports2, module2) {
+    function strictIndexOf(array, value, fromIndex) {
+      var index = fromIndex - 1, length = array.length;
+      while (++index < length) {
+        if (array[index] === value) {
+          return index;
+        }
+      }
+      return -1;
     }
-    exports2.stackServerStreamingInterceptors = stackServerStreamingInterceptors;
-    function stackClientStreamingInterceptors(transport, method, options) {
-      return stackIntercept("clientStreaming", transport, method, options);
+    module2.exports = strictIndexOf;
+  }
+});
+
+// node_modules/lodash/_baseIndexOf.js
+var require_baseIndexOf = __commonJS({
+  "node_modules/lodash/_baseIndexOf.js"(exports2, module2) {
+    var baseFindIndex = require_baseFindIndex();
+    var baseIsNaN = require_baseIsNaN();
+    var strictIndexOf = require_strictIndexOf();
+    function baseIndexOf(array, value, fromIndex) {
+      return value === value ? strictIndexOf(array, value, fromIndex) : baseFindIndex(array, baseIsNaN, fromIndex);
     }
-    exports2.stackClientStreamingInterceptors = stackClientStreamingInterceptors;
-    function stackDuplexStreamingInterceptors(transport, method, options) {
-      return stackIntercept("duplex", transport, method, options);
+    module2.exports = baseIndexOf;
+  }
+});
+
+// node_modules/lodash/_arrayIncludes.js
+var require_arrayIncludes = __commonJS({
+  "node_modules/lodash/_arrayIncludes.js"(exports2, module2) {
+    var baseIndexOf = require_baseIndexOf();
+    function arrayIncludes(array, value) {
+      var length = array == null ? 0 : array.length;
+      return !!length && baseIndexOf(array, value, 0) > -1;
     }
-    exports2.stackDuplexStreamingInterceptors = stackDuplexStreamingInterceptors;
+    module2.exports = arrayIncludes;
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-call-context.js
-var require_server_call_context = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-call-context.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ServerCallContextController = void 0;
-    var ServerCallContextController = class {
-      constructor(method, headers, deadline, sendResponseHeadersFn, defaultStatus = { code: "OK", detail: "" }) {
-        this._cancelled = false;
-        this._listeners = [];
-        this.method = method;
-        this.headers = headers;
-        this.deadline = deadline;
-        this.trailers = {};
-        this._sendRH = sendResponseHeadersFn;
-        this.status = defaultStatus;
-      }
-      /**
-       * Set the call cancelled.
-       *
-       * Invokes all callbacks registered with onCancel() and
-       * sets `cancelled = true`.
-       */
-      notifyCancelled() {
-        if (!this._cancelled) {
-          this._cancelled = true;
-          for (let l of this._listeners) {
-            l();
-          }
+// node_modules/lodash/_arrayIncludesWith.js
+var require_arrayIncludesWith = __commonJS({
+  "node_modules/lodash/_arrayIncludesWith.js"(exports2, module2) {
+    function arrayIncludesWith(array, value, comparator) {
+      var index = -1, length = array == null ? 0 : array.length;
+      while (++index < length) {
+        if (comparator(value, array[index])) {
+          return true;
         }
       }
-      /**
-       * Send response headers.
-       */
-      sendResponseHeaders(data) {
-        this._sendRH(data);
+      return false;
+    }
+    module2.exports = arrayIncludesWith;
+  }
+});
+
+// node_modules/lodash/_arrayMap.js
+var require_arrayMap = __commonJS({
+  "node_modules/lodash/_arrayMap.js"(exports2, module2) {
+    function arrayMap(array, iteratee) {
+      var index = -1, length = array == null ? 0 : array.length, result = Array(length);
+      while (++index < length) {
+        result[index] = iteratee(array[index], index, array);
       }
-      /**
-       * Is the call cancelled?
-       *
-       * When the client closes the connection before the server
-       * is done, the call is cancelled.
-       *
-       * If you want to cancel a request on the server, throw a
-       * RpcError with the CANCELLED status code.
-       */
-      get cancelled() {
-        return this._cancelled;
+      return result;
+    }
+    module2.exports = arrayMap;
+  }
+});
+
+// node_modules/lodash/_cacheHas.js
+var require_cacheHas = __commonJS({
+  "node_modules/lodash/_cacheHas.js"(exports2, module2) {
+    function cacheHas(cache, key) {
+      return cache.has(key);
+    }
+    module2.exports = cacheHas;
+  }
+});
+
+// node_modules/lodash/_baseDifference.js
+var require_baseDifference = __commonJS({
+  "node_modules/lodash/_baseDifference.js"(exports2, module2) {
+    var SetCache = require_SetCache();
+    var arrayIncludes = require_arrayIncludes();
+    var arrayIncludesWith = require_arrayIncludesWith();
+    var arrayMap = require_arrayMap();
+    var baseUnary = require_baseUnary();
+    var cacheHas = require_cacheHas();
+    var LARGE_ARRAY_SIZE = 200;
+    function baseDifference(array, values, iteratee, comparator) {
+      var index = -1, includes = arrayIncludes, isCommon = true, length = array.length, result = [], valuesLength = values.length;
+      if (!length) {
+        return result;
       }
-      /**
-       * Add a callback for cancellation.
-       */
-      onCancel(callback) {
-        const l = this._listeners;
-        l.push(callback);
-        return () => {
-          let i = l.indexOf(callback);
-          if (i >= 0)
-            l.splice(i, 1);
-        };
+      if (iteratee) {
+        values = arrayMap(values, baseUnary(iteratee));
       }
-    };
-    exports2.ServerCallContextController = ServerCallContextController;
+      if (comparator) {
+        includes = arrayIncludesWith;
+        isCommon = false;
+      } else if (values.length >= LARGE_ARRAY_SIZE) {
+        includes = cacheHas;
+        isCommon = false;
+        values = new SetCache(values);
+      }
+      outer:
+        while (++index < length) {
+          var value = array[index], computed = iteratee == null ? value : iteratee(value);
+          value = comparator || value !== 0 ? value : 0;
+          if (isCommon && computed === computed) {
+            var valuesIndex = valuesLength;
+            while (valuesIndex--) {
+              if (values[valuesIndex] === computed) {
+                continue outer;
+              }
+            }
+            result.push(value);
+          } else if (!includes(values, computed, comparator)) {
+            result.push(value);
+          }
+        }
+      return result;
+    }
+    module2.exports = baseDifference;
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/index.js
-var require_commonjs17 = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    var service_type_1 = require_service_type();
-    Object.defineProperty(exports2, "ServiceType", { enumerable: true, get: function() {
-      return service_type_1.ServiceType;
-    } });
-    var reflection_info_1 = require_reflection_info2();
-    Object.defineProperty(exports2, "readMethodOptions", { enumerable: true, get: function() {
-      return reflection_info_1.readMethodOptions;
-    } });
-    Object.defineProperty(exports2, "readMethodOption", { enumerable: true, get: function() {
-      return reflection_info_1.readMethodOption;
-    } });
-    Object.defineProperty(exports2, "readServiceOption", { enumerable: true, get: function() {
-      return reflection_info_1.readServiceOption;
-    } });
-    var rpc_error_1 = require_rpc_error();
-    Object.defineProperty(exports2, "RpcError", { enumerable: true, get: function() {
-      return rpc_error_1.RpcError;
-    } });
-    var rpc_options_1 = require_rpc_options();
-    Object.defineProperty(exports2, "mergeRpcOptions", { enumerable: true, get: function() {
-      return rpc_options_1.mergeRpcOptions;
-    } });
-    var rpc_output_stream_1 = require_rpc_output_stream();
-    Object.defineProperty(exports2, "RpcOutputStreamController", { enumerable: true, get: function() {
-      return rpc_output_stream_1.RpcOutputStreamController;
-    } });
-    var test_transport_1 = require_test_transport();
-    Object.defineProperty(exports2, "TestTransport", { enumerable: true, get: function() {
-      return test_transport_1.TestTransport;
-    } });
-    var deferred_1 = require_deferred();
-    Object.defineProperty(exports2, "Deferred", { enumerable: true, get: function() {
-      return deferred_1.Deferred;
-    } });
-    Object.defineProperty(exports2, "DeferredState", { enumerable: true, get: function() {
-      return deferred_1.DeferredState;
-    } });
-    var duplex_streaming_call_1 = require_duplex_streaming_call();
-    Object.defineProperty(exports2, "DuplexStreamingCall", { enumerable: true, get: function() {
-      return duplex_streaming_call_1.DuplexStreamingCall;
-    } });
-    var client_streaming_call_1 = require_client_streaming_call();
-    Object.defineProperty(exports2, "ClientStreamingCall", { enumerable: true, get: function() {
-      return client_streaming_call_1.ClientStreamingCall;
-    } });
-    var server_streaming_call_1 = require_server_streaming_call();
-    Object.defineProperty(exports2, "ServerStreamingCall", { enumerable: true, get: function() {
-      return server_streaming_call_1.ServerStreamingCall;
-    } });
-    var unary_call_1 = require_unary_call();
-    Object.defineProperty(exports2, "UnaryCall", { enumerable: true, get: function() {
-      return unary_call_1.UnaryCall;
-    } });
-    var rpc_interceptor_1 = require_rpc_interceptor();
-    Object.defineProperty(exports2, "stackIntercept", { enumerable: true, get: function() {
-      return rpc_interceptor_1.stackIntercept;
-    } });
-    Object.defineProperty(exports2, "stackDuplexStreamingInterceptors", { enumerable: true, get: function() {
-      return rpc_interceptor_1.stackDuplexStreamingInterceptors;
-    } });
-    Object.defineProperty(exports2, "stackClientStreamingInterceptors", { enumerable: true, get: function() {
-      return rpc_interceptor_1.stackClientStreamingInterceptors;
-    } });
-    Object.defineProperty(exports2, "stackServerStreamingInterceptors", { enumerable: true, get: function() {
-      return rpc_interceptor_1.stackServerStreamingInterceptors;
-    } });
-    Object.defineProperty(exports2, "stackUnaryInterceptors", { enumerable: true, get: function() {
-      return rpc_interceptor_1.stackUnaryInterceptors;
-    } });
-    var server_call_context_1 = require_server_call_context();
-    Object.defineProperty(exports2, "ServerCallContextController", { enumerable: true, get: function() {
-      return server_call_context_1.ServerCallContextController;
-    } });
+// node_modules/lodash/isArrayLikeObject.js
+var require_isArrayLikeObject = __commonJS({
+  "node_modules/lodash/isArrayLikeObject.js"(exports2, module2) {
+    var isArrayLike = require_isArrayLike();
+    var isObjectLike = require_isObjectLike();
+    function isArrayLikeObject(value) {
+      return isObjectLike(value) && isArrayLike(value);
+    }
+    module2.exports = isArrayLikeObject;
+  }
+});
+
+// node_modules/lodash/difference.js
+var require_difference = __commonJS({
+  "node_modules/lodash/difference.js"(exports2, module2) {
+    var baseDifference = require_baseDifference();
+    var baseFlatten = require_baseFlatten();
+    var baseRest = require_baseRest();
+    var isArrayLikeObject = require_isArrayLikeObject();
+    var difference = baseRest(function(array, values) {
+      return isArrayLikeObject(array) ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true)) : [];
+    });
+    module2.exports = difference;
+  }
+});
+
+// node_modules/lodash/_Set.js
+var require_Set = __commonJS({
+  "node_modules/lodash/_Set.js"(exports2, module2) {
+    var getNative = require_getNative();
+    var root = require_root();
+    var Set2 = getNative(root, "Set");
+    module2.exports = Set2;
+  }
+});
+
+// node_modules/lodash/noop.js
+var require_noop = __commonJS({
+  "node_modules/lodash/noop.js"(exports2, module2) {
+    function noop3() {
+    }
+    module2.exports = noop3;
+  }
+});
+
+// node_modules/lodash/_setToArray.js
+var require_setToArray = __commonJS({
+  "node_modules/lodash/_setToArray.js"(exports2, module2) {
+    function setToArray(set2) {
+      var index = -1, result = Array(set2.size);
+      set2.forEach(function(value) {
+        result[++index] = value;
+      });
+      return result;
+    }
+    module2.exports = setToArray;
+  }
+});
+
+// node_modules/lodash/_createSet.js
+var require_createSet = __commonJS({
+  "node_modules/lodash/_createSet.js"(exports2, module2) {
+    var Set2 = require_Set();
+    var noop3 = require_noop();
+    var setToArray = require_setToArray();
+    var INFINITY = 1 / 0;
+    var createSet = !(Set2 && 1 / setToArray(new Set2([, -0]))[1] == INFINITY) ? noop3 : function(values) {
+      return new Set2(values);
+    };
+    module2.exports = createSet;
   }
 });
 
-// node_modules/@actions/cache/lib/generated/results/entities/v1/cachescope.js
-var require_cachescope = __commonJS({
-  "node_modules/@actions/cache/lib/generated/results/entities/v1/cachescope.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.CacheScope = void 0;
-    var runtime_1 = require_commonjs16();
-    var runtime_2 = require_commonjs16();
-    var runtime_3 = require_commonjs16();
-    var runtime_4 = require_commonjs16();
-    var runtime_5 = require_commonjs16();
-    var CacheScope$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.entities.v1.CacheScope", [
-          {
-            no: 1,
-            name: "scope",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "permission",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          }
-        ]);
-      }
-      create(value) {
-        const message = { scope: "", permission: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+// node_modules/lodash/_baseUniq.js
+var require_baseUniq = __commonJS({
+  "node_modules/lodash/_baseUniq.js"(exports2, module2) {
+    var SetCache = require_SetCache();
+    var arrayIncludes = require_arrayIncludes();
+    var arrayIncludesWith = require_arrayIncludesWith();
+    var cacheHas = require_cacheHas();
+    var createSet = require_createSet();
+    var setToArray = require_setToArray();
+    var LARGE_ARRAY_SIZE = 200;
+    function baseUniq(array, iteratee, comparator) {
+      var index = -1, includes = arrayIncludes, length = array.length, isCommon = true, result = [], seen = result;
+      if (comparator) {
+        isCommon = false;
+        includes = arrayIncludesWith;
+      } else if (length >= LARGE_ARRAY_SIZE) {
+        var set2 = iteratee ? null : createSet(array);
+        if (set2) {
+          return setToArray(set2);
+        }
+        isCommon = false;
+        includes = cacheHas;
+        seen = new SetCache();
+      } else {
+        seen = iteratee ? [] : result;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string scope */
-            1:
-              message.scope = reader.string();
-              break;
-            case /* int64 permission */
-            2:
-              message.permission = reader.int64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      outer:
+        while (++index < length) {
+          var value = array[index], computed = iteratee ? iteratee(value) : value;
+          value = comparator || value !== 0 ? value : 0;
+          if (isCommon && computed === computed) {
+            var seenIndex = seen.length;
+            while (seenIndex--) {
+              if (seen[seenIndex] === computed) {
+                continue outer;
+              }
+            }
+            if (iteratee) {
+              seen.push(computed);
+            }
+            result.push(value);
+          } else if (!includes(seen, computed, comparator)) {
+            if (seen !== result) {
+              seen.push(computed);
+            }
+            result.push(value);
           }
         }
-        return message;
+      return result;
+    }
+    module2.exports = baseUniq;
+  }
+});
+
+// node_modules/lodash/union.js
+var require_union = __commonJS({
+  "node_modules/lodash/union.js"(exports2, module2) {
+    var baseFlatten = require_baseFlatten();
+    var baseRest = require_baseRest();
+    var baseUniq = require_baseUniq();
+    var isArrayLikeObject = require_isArrayLikeObject();
+    var union = baseRest(function(arrays) {
+      return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));
+    });
+    module2.exports = union;
+  }
+});
+
+// node_modules/lodash/_overArg.js
+var require_overArg = __commonJS({
+  "node_modules/lodash/_overArg.js"(exports2, module2) {
+    function overArg(func, transform) {
+      return function(arg) {
+        return func(transform(arg));
+      };
+    }
+    module2.exports = overArg;
+  }
+});
+
+// node_modules/lodash/_getPrototype.js
+var require_getPrototype = __commonJS({
+  "node_modules/lodash/_getPrototype.js"(exports2, module2) {
+    var overArg = require_overArg();
+    var getPrototype = overArg(Object.getPrototypeOf, Object);
+    module2.exports = getPrototype;
+  }
+});
+
+// node_modules/lodash/isPlainObject.js
+var require_isPlainObject = __commonJS({
+  "node_modules/lodash/isPlainObject.js"(exports2, module2) {
+    var baseGetTag = require_baseGetTag();
+    var getPrototype = require_getPrototype();
+    var isObjectLike = require_isObjectLike();
+    var objectTag = "[object Object]";
+    var funcProto = Function.prototype;
+    var objectProto = Object.prototype;
+    var funcToString = funcProto.toString;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    var objectCtorString = funcToString.call(Object);
+    function isPlainObject3(value) {
+      if (!isObjectLike(value) || baseGetTag(value) != objectTag) {
+        return false;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.scope !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.scope);
-        if (message.permission !== "0")
-          writer.tag(2, runtime_1.WireType.Varint).int64(message.permission);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      var proto = getPrototype(value);
+      if (proto === null) {
+        return true;
       }
-    };
-    exports2.CacheScope = new CacheScope$Type();
+      var Ctor = hasOwnProperty.call(proto, "constructor") && proto.constructor;
+      return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString;
+    }
+    module2.exports = isPlainObject3;
   }
 });
 
-// node_modules/@actions/cache/lib/generated/results/entities/v1/cachemetadata.js
-var require_cachemetadata = __commonJS({
-  "node_modules/@actions/cache/lib/generated/results/entities/v1/cachemetadata.js"(exports2) {
+// node_modules/@isaacs/balanced-match/dist/commonjs/index.js
+var require_commonjs18 = __commonJS({
+  "node_modules/@isaacs/balanced-match/dist/commonjs/index.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.CacheMetadata = void 0;
-    var runtime_1 = require_commonjs16();
-    var runtime_2 = require_commonjs16();
-    var runtime_3 = require_commonjs16();
-    var runtime_4 = require_commonjs16();
-    var runtime_5 = require_commonjs16();
-    var cachescope_1 = require_cachescope();
-    var CacheMetadata$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.entities.v1.CacheMetadata", [
-          {
-            no: 1,
-            name: "repository_id",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          },
-          { no: 2, name: "scope", kind: "message", repeat: 1, T: () => cachescope_1.CacheScope }
-        ]);
-      }
-      create(value) {
-        const message = { repositoryId: "0", scope: [] };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* int64 repository_id */
-            1:
-              message.repositoryId = reader.int64().toString();
-              break;
-            case /* repeated github.actions.results.entities.v1.CacheScope scope */
-            2:
-              message.scope.push(cachescope_1.CacheScope.internalBinaryRead(reader, reader.uint32(), options));
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+    exports2.range = exports2.balanced = void 0;
+    var balanced = (a, b, str2) => {
+      const ma = a instanceof RegExp ? maybeMatch(a, str2) : a;
+      const mb = b instanceof RegExp ? maybeMatch(b, str2) : b;
+      const r = ma !== null && mb != null && (0, exports2.range)(ma, mb, str2);
+      return r && {
+        start: r[0],
+        end: r[1],
+        pre: str2.slice(0, r[0]),
+        body: str2.slice(r[0] + ma.length, r[1]),
+        post: str2.slice(r[1] + mb.length)
+      };
+    };
+    exports2.balanced = balanced;
+    var maybeMatch = (reg, str2) => {
+      const m = str2.match(reg);
+      return m ? m[0] : null;
+    };
+    var range = (a, b, str2) => {
+      let begs, beg, left, right = void 0, result;
+      let ai = str2.indexOf(a);
+      let bi = str2.indexOf(b, ai + 1);
+      let i = ai;
+      if (ai >= 0 && bi > 0) {
+        if (a === b) {
+          return [ai, bi];
+        }
+        begs = [];
+        left = str2.length;
+        while (i >= 0 && !result) {
+          if (i === ai) {
+            begs.push(i);
+            ai = str2.indexOf(a, i + 1);
+          } else if (begs.length === 1) {
+            const r = begs.pop();
+            if (r !== void 0)
+              result = [r, bi];
+          } else {
+            beg = begs.pop();
+            if (beg !== void 0 && beg < left) {
+              left = beg;
+              right = bi;
+            }
+            bi = str2.indexOf(b, i + 1);
           }
+          i = ai < bi && ai >= 0 ? ai : bi;
+        }
+        if (begs.length && right !== void 0) {
+          result = [left, right];
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.repositoryId !== "0")
-          writer.tag(1, runtime_1.WireType.Varint).int64(message.repositoryId);
-        for (let i = 0; i < message.scope.length; i++)
-          cachescope_1.CacheScope.internalBinaryWrite(message.scope[i], writer.tag(2, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
       }
+      return result;
     };
-    exports2.CacheMetadata = new CacheMetadata$Type();
+    exports2.range = range;
   }
 });
 
-// node_modules/@actions/cache/lib/generated/results/api/v1/cache.js
-var require_cache4 = __commonJS({
-  "node_modules/@actions/cache/lib/generated/results/api/v1/cache.js"(exports2) {
+// node_modules/@isaacs/brace-expansion/dist/commonjs/index.js
+var require_commonjs19 = __commonJS({
+  "node_modules/@isaacs/brace-expansion/dist/commonjs/index.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.CacheService = exports2.GetCacheEntryDownloadURLResponse = exports2.GetCacheEntryDownloadURLRequest = exports2.FinalizeCacheEntryUploadResponse = exports2.FinalizeCacheEntryUploadRequest = exports2.CreateCacheEntryResponse = exports2.CreateCacheEntryRequest = void 0;
-    var runtime_rpc_1 = require_commonjs17();
-    var runtime_1 = require_commonjs16();
-    var runtime_2 = require_commonjs16();
-    var runtime_3 = require_commonjs16();
-    var runtime_4 = require_commonjs16();
-    var runtime_5 = require_commonjs16();
-    var cachemetadata_1 = require_cachemetadata();
-    var CreateCacheEntryRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.CreateCacheEntryRequest", [
-          { no: 1, name: "metadata", kind: "message", T: () => cachemetadata_1.CacheMetadata },
-          {
-            no: 2,
-            name: "key",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "version",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
-      }
-      create(value) {
-        const message = { key: "", version: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+    exports2.EXPANSION_MAX = void 0;
+    exports2.expand = expand2;
+    var balanced_match_1 = require_commonjs18();
+    var escSlash = "\0SLASH" + Math.random() + "\0";
+    var escOpen = "\0OPEN" + Math.random() + "\0";
+    var escClose = "\0CLOSE" + Math.random() + "\0";
+    var escComma = "\0COMMA" + Math.random() + "\0";
+    var escPeriod = "\0PERIOD" + Math.random() + "\0";
+    var escSlashPattern = new RegExp(escSlash, "g");
+    var escOpenPattern = new RegExp(escOpen, "g");
+    var escClosePattern = new RegExp(escClose, "g");
+    var escCommaPattern = new RegExp(escComma, "g");
+    var escPeriodPattern = new RegExp(escPeriod, "g");
+    var slashPattern = /\\\\/g;
+    var openPattern = /\\{/g;
+    var closePattern = /\\}/g;
+    var commaPattern = /\\,/g;
+    var periodPattern = /\\./g;
+    exports2.EXPANSION_MAX = 1e5;
+    function numeric(str2) {
+      return !isNaN(str2) ? parseInt(str2, 10) : str2.charCodeAt(0);
+    }
+    function escapeBraces(str2) {
+      return str2.replace(slashPattern, escSlash).replace(openPattern, escOpen).replace(closePattern, escClose).replace(commaPattern, escComma).replace(periodPattern, escPeriod);
+    }
+    function unescapeBraces(str2) {
+      return str2.replace(escSlashPattern, "\\").replace(escOpenPattern, "{").replace(escClosePattern, "}").replace(escCommaPattern, ",").replace(escPeriodPattern, ".");
+    }
+    function parseCommaParts(str2) {
+      if (!str2) {
+        return [""];
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* github.actions.results.entities.v1.CacheMetadata metadata */
-            1:
-              message.metadata = cachemetadata_1.CacheMetadata.internalBinaryRead(reader, reader.uint32(), options, message.metadata);
-              break;
-            case /* string key */
-            2:
-              message.key = reader.string();
-              break;
-            case /* string version */
-            3:
-              message.version = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
+      const parts = [];
+      const m = (0, balanced_match_1.balanced)("{", "}", str2);
+      if (!m) {
+        return str2.split(",");
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.metadata)
-          cachemetadata_1.CacheMetadata.internalBinaryWrite(message.metadata, writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        if (message.key !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.key);
-        if (message.version !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.version);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      const { pre, body, post } = m;
+      const p = pre.split(",");
+      p[p.length - 1] += "{" + body + "}";
+      const postParts = parseCommaParts(post);
+      if (post.length) {
+        ;
+        p[p.length - 1] += postParts.shift();
+        p.push.apply(p, postParts);
       }
-    };
-    exports2.CreateCacheEntryRequest = new CreateCacheEntryRequest$Type();
-    var CreateCacheEntryResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.CreateCacheEntryResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "signed_upload_url",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "message",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
+      parts.push.apply(parts, p);
+      return parts;
+    }
+    function expand2(str2, options = {}) {
+      if (!str2) {
+        return [];
       }
-      create(value) {
-        const message = { ok: false, signedUploadUrl: "", message: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      const { max = exports2.EXPANSION_MAX } = options;
+      if (str2.slice(0, 2) === "{}") {
+        str2 = "\\{\\}" + str2.slice(2);
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* string signed_upload_url */
-            2:
-              message.signedUploadUrl = reader.string();
-              break;
-            case /* string message */
-            3:
-              message.message = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      return expand_(escapeBraces(str2), max, true).map(unescapeBraces);
+    }
+    function embrace(str2) {
+      return "{" + str2 + "}";
+    }
+    function isPadded(el) {
+      return /^-?0\d/.test(el);
+    }
+    function lte(i, y) {
+      return i <= y;
+    }
+    function gte6(i, y) {
+      return i >= y;
+    }
+    function expand_(str2, max, isTop) {
+      const expansions = [];
+      const m = (0, balanced_match_1.balanced)("{", "}", str2);
+      if (!m)
+        return [str2];
+      const pre = m.pre;
+      const post = m.post.length ? expand_(m.post, max, false) : [""];
+      if (/\$$/.test(m.pre)) {
+        for (let k = 0; k < post.length && k < max; k++) {
+          const expansion = pre + "{" + m.body + "}" + post[k];
+          expansions.push(expansion);
+        }
+      } else {
+        const isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
+        const isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
+        const isSequence = isNumericSequence || isAlphaSequence;
+        const isOptions = m.body.indexOf(",") >= 0;
+        if (!isSequence && !isOptions) {
+          if (m.post.match(/,(?!,).*\}/)) {
+            str2 = m.pre + "{" + m.body + escClose + m.post;
+            return expand_(str2, max, true);
           }
+          return [str2];
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.signedUploadUrl !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl);
-        if (message.message !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.message);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.CreateCacheEntryResponse = new CreateCacheEntryResponse$Type();
-    var FinalizeCacheEntryUploadRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.FinalizeCacheEntryUploadRequest", [
-          { no: 1, name: "metadata", kind: "message", T: () => cachemetadata_1.CacheMetadata },
-          {
-            no: 2,
-            name: "key",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "size_bytes",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          },
-          {
-            no: 4,
-            name: "version",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
+        let n;
+        if (isSequence) {
+          n = m.body.split(/\.\./);
+        } else {
+          n = parseCommaParts(m.body);
+          if (n.length === 1 && n[0] !== void 0) {
+            n = expand_(n[0], max, false).map(embrace);
+            if (n.length === 1) {
+              return post.map((p) => m.pre + n[0] + p);
+            }
           }
-        ]);
-      }
-      create(value) {
-        const message = { key: "", sizeBytes: "0", version: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* github.actions.results.entities.v1.CacheMetadata metadata */
-            1:
-              message.metadata = cachemetadata_1.CacheMetadata.internalBinaryRead(reader, reader.uint32(), options, message.metadata);
-              break;
-            case /* string key */
-            2:
-              message.key = reader.string();
-              break;
-            case /* int64 size_bytes */
-            3:
-              message.sizeBytes = reader.int64().toString();
-              break;
-            case /* string version */
-            4:
-              message.version = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+        }
+        let N;
+        if (isSequence && n[0] !== void 0 && n[1] !== void 0) {
+          const x = numeric(n[0]);
+          const y = numeric(n[1]);
+          const width = Math.max(n[0].length, n[1].length);
+          let incr = n.length === 3 && n[2] !== void 0 ? Math.abs(numeric(n[2])) : 1;
+          let test = lte;
+          const reverse = y < x;
+          if (reverse) {
+            incr *= -1;
+            test = gte6;
+          }
+          const pad = n.some(isPadded);
+          N = [];
+          for (let i = x; test(i, y); i += incr) {
+            let c;
+            if (isAlphaSequence) {
+              c = String.fromCharCode(i);
+              if (c === "\\") {
+                c = "";
+              }
+            } else {
+              c = String(i);
+              if (pad) {
+                const need = width - c.length;
+                if (need > 0) {
+                  const z = new Array(need + 1).join("0");
+                  if (i < 0) {
+                    c = "-" + z + c.slice(1);
+                  } else {
+                    c = z + c;
+                  }
+                }
+              }
+            }
+            N.push(c);
+          }
+        } else {
+          N = [];
+          for (let j = 0; j < n.length; j++) {
+            N.push.apply(N, expand_(n[j], max, false));
+          }
+        }
+        for (let j = 0; j < N.length; j++) {
+          for (let k = 0; k < post.length && expansions.length < max; k++) {
+            const expansion = pre + N[j] + post[k];
+            if (!isTop || isSequence || expansion) {
+              expansions.push(expansion);
+            }
           }
         }
-        return message;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.metadata)
-          cachemetadata_1.CacheMetadata.internalBinaryWrite(message.metadata, writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        if (message.key !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.key);
-        if (message.sizeBytes !== "0")
-          writer.tag(3, runtime_1.WireType.Varint).int64(message.sizeBytes);
-        if (message.version !== "")
-          writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.version);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      return expansions;
+    }
+  }
+});
+
+// node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js
+var require_assert_valid_pattern = __commonJS({
+  "node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.assertValidPattern = void 0;
+    var MAX_PATTERN_LENGTH = 1024 * 64;
+    var assertValidPattern = (pattern) => {
+      if (typeof pattern !== "string") {
+        throw new TypeError("invalid pattern");
       }
-    };
-    exports2.FinalizeCacheEntryUploadRequest = new FinalizeCacheEntryUploadRequest$Type();
-    var FinalizeCacheEntryUploadResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.FinalizeCacheEntryUploadResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "entry_id",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          },
-          {
-            no: 3,
-            name: "message",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
+      if (pattern.length > MAX_PATTERN_LENGTH) {
+        throw new TypeError("pattern is too long");
       }
-      create(value) {
-        const message = { ok: false, entryId: "0", message: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+    };
+    exports2.assertValidPattern = assertValidPattern;
+  }
+});
+
+// node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js
+var require_brace_expressions = __commonJS({
+  "node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.parseClass = void 0;
+    var posixClasses = {
+      "[:alnum:]": ["\\p{L}\\p{Nl}\\p{Nd}", true],
+      "[:alpha:]": ["\\p{L}\\p{Nl}", true],
+      "[:ascii:]": ["\\x00-\\x7f", false],
+      "[:blank:]": ["\\p{Zs}\\t", true],
+      "[:cntrl:]": ["\\p{Cc}", true],
+      "[:digit:]": ["\\p{Nd}", true],
+      "[:graph:]": ["\\p{Z}\\p{C}", true, true],
+      "[:lower:]": ["\\p{Ll}", true],
+      "[:print:]": ["\\p{C}", true],
+      "[:punct:]": ["\\p{P}", true],
+      "[:space:]": ["\\p{Z}\\t\\r\\n\\v\\f", true],
+      "[:upper:]": ["\\p{Lu}", true],
+      "[:word:]": ["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}", true],
+      "[:xdigit:]": ["A-Fa-f0-9", false]
+    };
+    var braceEscape = (s) => s.replace(/[[\]\\-]/g, "\\$&");
+    var regexpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
+    var rangesToString = (ranges) => ranges.join("");
+    var parseClass = (glob2, position) => {
+      const pos = position;
+      if (glob2.charAt(pos) !== "[") {
+        throw new Error("not in a brace expression");
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* int64 entry_id */
-            2:
-              message.entryId = reader.int64().toString();
-              break;
-            case /* string message */
-            3:
-              message.message = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      const ranges = [];
+      const negs = [];
+      let i = pos + 1;
+      let sawStart = false;
+      let uflag = false;
+      let escaping = false;
+      let negate = false;
+      let endPos = pos;
+      let rangeStart = "";
+      WHILE: while (i < glob2.length) {
+        const c = glob2.charAt(i);
+        if ((c === "!" || c === "^") && i === pos + 1) {
+          negate = true;
+          i++;
+          continue;
+        }
+        if (c === "]" && sawStart && !escaping) {
+          endPos = i + 1;
+          break;
+        }
+        sawStart = true;
+        if (c === "\\") {
+          if (!escaping) {
+            escaping = true;
+            i++;
+            continue;
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.entryId !== "0")
-          writer.tag(2, runtime_1.WireType.Varint).int64(message.entryId);
-        if (message.message !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.message);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.FinalizeCacheEntryUploadResponse = new FinalizeCacheEntryUploadResponse$Type();
-    var GetCacheEntryDownloadURLRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.GetCacheEntryDownloadURLRequest", [
-          { no: 1, name: "metadata", kind: "message", T: () => cachemetadata_1.CacheMetadata },
-          {
-            no: 2,
-            name: "key",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "restore_keys",
-            kind: "scalar",
-            repeat: 2,
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 4,
-            name: "version",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
+        if (c === "[" && !escaping) {
+          for (const [cls, [unip, u, neg]] of Object.entries(posixClasses)) {
+            if (glob2.startsWith(cls, i)) {
+              if (rangeStart) {
+                return ["$.", false, glob2.length - pos, true];
+              }
+              i += cls.length;
+              if (neg)
+                negs.push(unip);
+              else
+                ranges.push(unip);
+              uflag = uflag || u;
+              continue WHILE;
+            }
           }
-        ]);
-      }
-      create(value) {
-        const message = { key: "", restoreKeys: [], version: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* github.actions.results.entities.v1.CacheMetadata metadata */
-            1:
-              message.metadata = cachemetadata_1.CacheMetadata.internalBinaryRead(reader, reader.uint32(), options, message.metadata);
-              break;
-            case /* string key */
-            2:
-              message.key = reader.string();
-              break;
-            case /* repeated string restore_keys */
-            3:
-              message.restoreKeys.push(reader.string());
-              break;
-            case /* string version */
-            4:
-              message.version = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+        }
+        escaping = false;
+        if (rangeStart) {
+          if (c > rangeStart) {
+            ranges.push(braceEscape(rangeStart) + "-" + braceEscape(c));
+          } else if (c === rangeStart) {
+            ranges.push(braceEscape(c));
           }
+          rangeStart = "";
+          i++;
+          continue;
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.metadata)
-          cachemetadata_1.CacheMetadata.internalBinaryWrite(message.metadata, writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        if (message.key !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.key);
-        for (let i = 0; i < message.restoreKeys.length; i++)
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.restoreKeys[i]);
-        if (message.version !== "")
-          writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.version);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+        if (glob2.startsWith("-]", i + 1)) {
+          ranges.push(braceEscape(c + "-"));
+          i += 2;
+          continue;
+        }
+        if (glob2.startsWith("-", i + 1)) {
+          rangeStart = c;
+          i += 2;
+          continue;
+        }
+        ranges.push(braceEscape(c));
+        i++;
       }
-    };
-    exports2.GetCacheEntryDownloadURLRequest = new GetCacheEntryDownloadURLRequest$Type();
-    var GetCacheEntryDownloadURLResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.GetCacheEntryDownloadURLResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "signed_download_url",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "matched_key",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
+      if (endPos < i) {
+        return ["", false, 0, false];
       }
-      create(value) {
-        const message = { ok: false, signedDownloadUrl: "", matchedKey: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      if (!ranges.length && !negs.length) {
+        return ["$.", false, glob2.length - pos, true];
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* string signed_download_url */
-            2:
-              message.signedDownloadUrl = reader.string();
-              break;
-            case /* string matched_key */
-            3:
-              message.matchedKey = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
+      if (negs.length === 0 && ranges.length === 1 && /^\\?.$/.test(ranges[0]) && !negate) {
+        const r = ranges[0].length === 2 ? ranges[0].slice(-1) : ranges[0];
+        return [regexpEscape(r), false, endPos - pos, false];
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.signedDownloadUrl !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedDownloadUrl);
-        if (message.matchedKey !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.matchedKey);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      const sranges = "[" + (negate ? "^" : "") + rangesToString(ranges) + "]";
+      const snegs = "[" + (negate ? "" : "^") + rangesToString(negs) + "]";
+      const comb = ranges.length && negs.length ? "(" + sranges + "|" + snegs + ")" : ranges.length ? sranges : snegs;
+      return [comb, uflag, endPos - pos, true];
+    };
+    exports2.parseClass = parseClass;
+  }
+});
+
+// node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js
+var require_unescape = __commonJS({
+  "node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.unescape = void 0;
+    var unescape = (s, { windowsPathsNoEscape = false, magicalBraces = true } = {}) => {
+      if (magicalBraces) {
+        return windowsPathsNoEscape ? s.replace(/\[([^\/\\])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^\/\\])\]/g, "$1$2").replace(/\\([^\/])/g, "$1");
       }
+      return windowsPathsNoEscape ? s.replace(/\[([^\/\\{}])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^\/\\{}])\]/g, "$1$2").replace(/\\([^\/{}])/g, "$1");
     };
-    exports2.GetCacheEntryDownloadURLResponse = new GetCacheEntryDownloadURLResponse$Type();
-    exports2.CacheService = new runtime_rpc_1.ServiceType("github.actions.results.api.v1.CacheService", [
-      { name: "CreateCacheEntry", options: {}, I: exports2.CreateCacheEntryRequest, O: exports2.CreateCacheEntryResponse },
-      { name: "FinalizeCacheEntryUpload", options: {}, I: exports2.FinalizeCacheEntryUploadRequest, O: exports2.FinalizeCacheEntryUploadResponse },
-      { name: "GetCacheEntryDownloadURL", options: {}, I: exports2.GetCacheEntryDownloadURLRequest, O: exports2.GetCacheEntryDownloadURLResponse }
-    ]);
+    exports2.unescape = unescape;
   }
 });
 
-// node_modules/@actions/cache/lib/generated/results/api/v1/cache.twirp-client.js
-var require_cache_twirp_client = __commonJS({
-  "node_modules/@actions/cache/lib/generated/results/api/v1/cache.twirp-client.js"(exports2) {
+// node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js
+var require_ast = __commonJS({
+  "node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.CacheServiceClientProtobuf = exports2.CacheServiceClientJSON = void 0;
-    var cache_1 = require_cache4();
-    var CacheServiceClientJSON = class {
-      constructor(rpc) {
-        this.rpc = rpc;
-        this.CreateCacheEntry.bind(this);
-        this.FinalizeCacheEntryUpload.bind(this);
-        this.GetCacheEntryDownloadURL.bind(this);
+    exports2.AST = void 0;
+    var brace_expressions_js_1 = require_brace_expressions();
+    var unescape_js_1 = require_unescape();
+    var types = /* @__PURE__ */ new Set(["!", "?", "+", "*", "@"]);
+    var isExtglobType = (c) => types.has(c);
+    var startNoTraversal = "(?!(?:^|/)\\.\\.?(?:$|/))";
+    var startNoDot = "(?!\\.)";
+    var addPatternStart = /* @__PURE__ */ new Set(["[", "."]);
+    var justDots = /* @__PURE__ */ new Set(["..", "."]);
+    var reSpecials = new Set("().*{}+?[]^$\\!");
+    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
+    var qmark = "[^/]";
+    var star = qmark + "*?";
+    var starNoEmpty = qmark + "+?";
+    var AST = class _AST {
+      type;
+      #root;
+      #hasMagic;
+      #uflag = false;
+      #parts = [];
+      #parent;
+      #parentIndex;
+      #negs;
+      #filledNegs = false;
+      #options;
+      #toString;
+      // set to true if it's an extglob with no children
+      // (which really means one child of '')
+      #emptyExt = false;
+      constructor(type2, parent, options = {}) {
+        this.type = type2;
+        if (type2)
+          this.#hasMagic = true;
+        this.#parent = parent;
+        this.#root = this.#parent ? this.#parent.#root : this;
+        this.#options = this.#root === this ? options : this.#root.#options;
+        this.#negs = this.#root === this ? [] : this.#root.#negs;
+        if (type2 === "!" && !this.#root.#filledNegs)
+          this.#negs.push(this);
+        this.#parentIndex = this.#parent ? this.#parent.#parts.length : 0;
       }
-      CreateCacheEntry(request2) {
-        const data = cache_1.CreateCacheEntryRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
-        });
-        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "CreateCacheEntry", "application/json", data);
-        return promise.then((data2) => cache_1.CreateCacheEntryResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
+      get hasMagic() {
+        if (this.#hasMagic !== void 0)
+          return this.#hasMagic;
+        for (const p of this.#parts) {
+          if (typeof p === "string")
+            continue;
+          if (p.type || p.hasMagic)
+            return this.#hasMagic = true;
+        }
+        return this.#hasMagic;
       }
-      FinalizeCacheEntryUpload(request2) {
-        const data = cache_1.FinalizeCacheEntryUploadRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
-        });
-        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "FinalizeCacheEntryUpload", "application/json", data);
-        return promise.then((data2) => cache_1.FinalizeCacheEntryUploadResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
+      // reconstructs the pattern
+      toString() {
+        if (this.#toString !== void 0)
+          return this.#toString;
+        if (!this.type) {
+          return this.#toString = this.#parts.map((p) => String(p)).join("");
+        } else {
+          return this.#toString = this.type + "(" + this.#parts.map((p) => String(p)).join("|") + ")";
+        }
       }
-      GetCacheEntryDownloadURL(request2) {
-        const data = cache_1.GetCacheEntryDownloadURLRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
-        });
-        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "GetCacheEntryDownloadURL", "application/json", data);
-        return promise.then((data2) => cache_1.GetCacheEntryDownloadURLResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
+      #fillNegs() {
+        if (this !== this.#root)
+          throw new Error("should only call on root");
+        if (this.#filledNegs)
+          return this;
+        this.toString();
+        this.#filledNegs = true;
+        let n;
+        while (n = this.#negs.pop()) {
+          if (n.type !== "!")
+            continue;
+          let p = n;
+          let pp = p.#parent;
+          while (pp) {
+            for (let i = p.#parentIndex + 1; !pp.type && i < pp.#parts.length; i++) {
+              for (const part of n.#parts) {
+                if (typeof part === "string") {
+                  throw new Error("string part in extglob AST??");
+                }
+                part.copyIn(pp.#parts[i]);
+              }
+            }
+            p = pp;
+            pp = p.#parent;
+          }
+        }
+        return this;
       }
-    };
-    exports2.CacheServiceClientJSON = CacheServiceClientJSON;
-    var CacheServiceClientProtobuf = class {
-      constructor(rpc) {
-        this.rpc = rpc;
-        this.CreateCacheEntry.bind(this);
-        this.FinalizeCacheEntryUpload.bind(this);
-        this.GetCacheEntryDownloadURL.bind(this);
+      push(...parts) {
+        for (const p of parts) {
+          if (p === "")
+            continue;
+          if (typeof p !== "string" && !(p instanceof _AST && p.#parent === this)) {
+            throw new Error("invalid part: " + p);
+          }
+          this.#parts.push(p);
+        }
       }
-      CreateCacheEntry(request2) {
-        const data = cache_1.CreateCacheEntryRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "CreateCacheEntry", "application/protobuf", data);
-        return promise.then((data2) => cache_1.CreateCacheEntryResponse.fromBinary(data2));
+      toJSON() {
+        const ret = this.type === null ? this.#parts.slice().map((p) => typeof p === "string" ? p : p.toJSON()) : [this.type, ...this.#parts.map((p) => p.toJSON())];
+        if (this.isStart() && !this.type)
+          ret.unshift([]);
+        if (this.isEnd() && (this === this.#root || this.#root.#filledNegs && this.#parent?.type === "!")) {
+          ret.push({});
+        }
+        return ret;
       }
-      FinalizeCacheEntryUpload(request2) {
-        const data = cache_1.FinalizeCacheEntryUploadRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "FinalizeCacheEntryUpload", "application/protobuf", data);
-        return promise.then((data2) => cache_1.FinalizeCacheEntryUploadResponse.fromBinary(data2));
+      isStart() {
+        if (this.#root === this)
+          return true;
+        if (!this.#parent?.isStart())
+          return false;
+        if (this.#parentIndex === 0)
+          return true;
+        const p = this.#parent;
+        for (let i = 0; i < this.#parentIndex; i++) {
+          const pp = p.#parts[i];
+          if (!(pp instanceof _AST && pp.type === "!")) {
+            return false;
+          }
+        }
+        return true;
       }
-      GetCacheEntryDownloadURL(request2) {
-        const data = cache_1.GetCacheEntryDownloadURLRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "GetCacheEntryDownloadURL", "application/protobuf", data);
-        return promise.then((data2) => cache_1.GetCacheEntryDownloadURLResponse.fromBinary(data2));
+      isEnd() {
+        if (this.#root === this)
+          return true;
+        if (this.#parent?.type === "!")
+          return true;
+        if (!this.#parent?.isEnd())
+          return false;
+        if (!this.type)
+          return this.#parent?.isEnd();
+        const pl = this.#parent ? this.#parent.#parts.length : 0;
+        return this.#parentIndex === pl - 1;
       }
-    };
-    exports2.CacheServiceClientProtobuf = CacheServiceClientProtobuf;
-  }
-});
-
-// node_modules/@actions/cache/lib/internal/shared/util.js
-var require_util17 = __commonJS({
-  "node_modules/@actions/cache/lib/internal/shared/util.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.maskSigUrl = maskSigUrl;
-    exports2.maskSecretUrls = maskSecretUrls;
-    var core_1 = require_core();
-    function maskSigUrl(url) {
-      if (!url)
-        return;
-      try {
-        const parsedUrl = new URL(url);
-        const signature = parsedUrl.searchParams.get("sig");
-        if (signature) {
-          (0, core_1.setSecret)(signature);
-          (0, core_1.setSecret)(encodeURIComponent(signature));
-        }
-      } catch (error3) {
-        (0, core_1.debug)(`Failed to parse URL: ${url} ${error3 instanceof Error ? error3.message : String(error3)}`);
+      copyIn(part) {
+        if (typeof part === "string")
+          this.push(part);
+        else
+          this.push(part.clone(this));
       }
-    }
-    function maskSecretUrls(body) {
-      if (typeof body !== "object" || body === null) {
-        (0, core_1.debug)("body is not an object or is null");
-        return;
+      clone(parent) {
+        const c = new _AST(this.type, parent);
+        for (const p of this.#parts) {
+          c.copyIn(p);
+        }
+        return c;
       }
-      if ("signed_upload_url" in body && typeof body.signed_upload_url === "string") {
-        maskSigUrl(body.signed_upload_url);
+      static #parseAST(str2, ast, pos, opt) {
+        let escaping = false;
+        let inBrace = false;
+        let braceStart = -1;
+        let braceNeg = false;
+        if (ast.type === null) {
+          let i2 = pos;
+          let acc2 = "";
+          while (i2 < str2.length) {
+            const c = str2.charAt(i2++);
+            if (escaping || c === "\\") {
+              escaping = !escaping;
+              acc2 += c;
+              continue;
+            }
+            if (inBrace) {
+              if (i2 === braceStart + 1) {
+                if (c === "^" || c === "!") {
+                  braceNeg = true;
+                }
+              } else if (c === "]" && !(i2 === braceStart + 2 && braceNeg)) {
+                inBrace = false;
+              }
+              acc2 += c;
+              continue;
+            } else if (c === "[") {
+              inBrace = true;
+              braceStart = i2;
+              braceNeg = false;
+              acc2 += c;
+              continue;
+            }
+            if (!opt.noext && isExtglobType(c) && str2.charAt(i2) === "(") {
+              ast.push(acc2);
+              acc2 = "";
+              const ext = new _AST(c, ast);
+              i2 = _AST.#parseAST(str2, ext, i2, opt);
+              ast.push(ext);
+              continue;
+            }
+            acc2 += c;
+          }
+          ast.push(acc2);
+          return i2;
+        }
+        let i = pos + 1;
+        let part = new _AST(null, ast);
+        const parts = [];
+        let acc = "";
+        while (i < str2.length) {
+          const c = str2.charAt(i++);
+          if (escaping || c === "\\") {
+            escaping = !escaping;
+            acc += c;
+            continue;
+          }
+          if (inBrace) {
+            if (i === braceStart + 1) {
+              if (c === "^" || c === "!") {
+                braceNeg = true;
+              }
+            } else if (c === "]" && !(i === braceStart + 2 && braceNeg)) {
+              inBrace = false;
+            }
+            acc += c;
+            continue;
+          } else if (c === "[") {
+            inBrace = true;
+            braceStart = i;
+            braceNeg = false;
+            acc += c;
+            continue;
+          }
+          if (isExtglobType(c) && str2.charAt(i) === "(") {
+            part.push(acc);
+            acc = "";
+            const ext = new _AST(c, part);
+            part.push(ext);
+            i = _AST.#parseAST(str2, ext, i, opt);
+            continue;
+          }
+          if (c === "|") {
+            part.push(acc);
+            acc = "";
+            parts.push(part);
+            part = new _AST(null, ast);
+            continue;
+          }
+          if (c === ")") {
+            if (acc === "" && ast.#parts.length === 0) {
+              ast.#emptyExt = true;
+            }
+            part.push(acc);
+            acc = "";
+            ast.push(...parts, part);
+            return i;
+          }
+          acc += c;
+        }
+        ast.type = null;
+        ast.#hasMagic = void 0;
+        ast.#parts = [str2.substring(pos - 1)];
+        return i;
       }
-      if ("signed_download_url" in body && typeof body.signed_download_url === "string") {
-        maskSigUrl(body.signed_download_url);
+      static fromGlob(pattern, options = {}) {
+        const ast = new _AST(null, void 0, options);
+        _AST.#parseAST(pattern, ast, 0, options);
+        return ast;
       }
-    }
-  }
-});
-
-// node_modules/@actions/cache/lib/internal/shared/cacheTwirpClient.js
-var require_cacheTwirpClient = __commonJS({
-  "node_modules/@actions/cache/lib/internal/shared/cacheTwirpClient.js"(exports2) {
-    "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve3) {
-          resolve3(value);
+      // returns the regular expression if there's magic, or the unescaped
+      // string if not.
+      toMMPattern() {
+        if (this !== this.#root)
+          return this.#root.toMMPattern();
+        const glob2 = this.toString();
+        const [re, body, hasMagic, uflag] = this.toRegExpSource();
+        const anyMagic = hasMagic || this.#hasMagic || this.#options.nocase && !this.#options.nocaseMagicOnly && glob2.toUpperCase() !== glob2.toLowerCase();
+        if (!anyMagic) {
+          return body;
+        }
+        const flags = (this.#options.nocase ? "i" : "") + (uflag ? "u" : "");
+        return Object.assign(new RegExp(`^${re}$`, flags), {
+          _src: re,
+          _glob: glob2
         });
       }
-      return new (P || (P = Promise))(function(resolve3, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
+      get options() {
+        return this.#options;
+      }
+      // returns the string match, the regexp source, whether there's magic
+      // in the regexp (so a regular expression is required) and whether or
+      // not the uflag is needed for the regular expression (for posix classes)
+      // TODO: instead of injecting the start/end at this point, just return
+      // the BODY of the regexp, along with the start/end portions suitable
+      // for binding the start/end in either a joined full-path makeRe context
+      // (where we bind to (^|/), or a standalone matchPart context (where
+      // we bind to ^, and not /).  Otherwise slashes get duped!
+      //
+      // In part-matching mode, the start is:
+      // - if not isStart: nothing
+      // - if traversal possible, but not allowed: ^(?!\.\.?$)
+      // - if dots allowed or not possible: ^
+      // - if dots possible and not allowed: ^(?!\.)
+      // end is:
+      // - if not isEnd(): nothing
+      // - else: $
+      //
+      // In full-path matching mode, we put the slash at the START of the
+      // pattern, so start is:
+      // - if first pattern: same as part-matching mode
+      // - if not isStart(): nothing
+      // - if traversal possible, but not allowed: /(?!\.\.?(?:$|/))
+      // - if dots allowed or not possible: /
+      // - if dots possible and not allowed: /(?!\.)
+      // end is:
+      // - if last pattern, same as part-matching mode
+      // - else nothing
+      //
+      // Always put the (?:$|/) on negated tails, though, because that has to be
+      // there to bind the end of the negated pattern portion, and it's easier to
+      // just stick it in now rather than try to inject it later in the middle of
+      // the pattern.
+      //
+      // We can just always return the same end, and leave it up to the caller
+      // to know whether it's going to be used joined or in parts.
+      // And, if the start is adjusted slightly, can do the same there:
+      // - if not isStart: nothing
+      // - if traversal possible, but not allowed: (?:/|^)(?!\.\.?$)
+      // - if dots allowed or not possible: (?:/|^)
+      // - if dots possible and not allowed: (?:/|^)(?!\.)
+      //
+      // But it's better to have a simpler binding without a conditional, for
+      // performance, so probably better to return both start options.
+      //
+      // Then the caller just ignores the end if it's not the first pattern,
+      // and the start always gets applied.
+      //
+      // But that's always going to be $ if it's the ending pattern, or nothing,
+      // so the caller can just attach $ at the end of the pattern when building.
+      //
+      // So the todo is:
+      // - better detect what kind of start is needed
+      // - return both flavors of starting pattern
+      // - attach $ at the end of the pattern when creating the actual RegExp
+      //
+      // Ah, but wait, no, that all only applies to the root when the first pattern
+      // is not an extglob. If the first pattern IS an extglob, then we need all
+      // that dot prevention biz to live in the extglob portions, because eg
+      // +(*|.x*) can match .xy but not .yx.
+      //
+      // So, return the two flavors if it's #root and the first child is not an
+      // AST, otherwise leave it to the child AST to handle it, and there,
+      // use the (?:^|/) style of start binding.
+      //
+      // Even simplified further:
+      // - Since the start for a join is eg /(?!\.) and the start for a part
+      // is ^(?!\.), we can just prepend (?!\.) to the pattern (either root
+      // or start or whatever) and prepend ^ or / at the Regexp construction.
+      toRegExpSource(allowDot) {
+        const dot = allowDot ?? !!this.#options.dot;
+        if (this.#root === this)
+          this.#fillNegs();
+        if (!this.type) {
+          const noEmpty = this.isStart() && this.isEnd() && !this.#parts.some((s) => typeof s !== "string");
+          const src = this.#parts.map((p) => {
+            const [re, _2, hasMagic, uflag] = typeof p === "string" ? _AST.#parseGlob(p, this.#hasMagic, noEmpty) : p.toRegExpSource(allowDot);
+            this.#hasMagic = this.#hasMagic || hasMagic;
+            this.#uflag = this.#uflag || uflag;
+            return re;
+          }).join("");
+          let start2 = "";
+          if (this.isStart()) {
+            if (typeof this.#parts[0] === "string") {
+              const dotTravAllowed = this.#parts.length === 1 && justDots.has(this.#parts[0]);
+              if (!dotTravAllowed) {
+                const aps = addPatternStart;
+                const needNoTrav = (
+                  // dots are allowed, and the pattern starts with [ or .
+                  dot && aps.has(src.charAt(0)) || // the pattern starts with \., and then [ or .
+                  src.startsWith("\\.") && aps.has(src.charAt(2)) || // the pattern starts with \.\., and then [ or .
+                  src.startsWith("\\.\\.") && aps.has(src.charAt(4))
+                );
+                const needNoDot = !dot && !allowDot && aps.has(src.charAt(0));
+                start2 = needNoTrav ? startNoTraversal : needNoDot ? startNoDot : "";
+              }
+            }
           }
-        }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
+          let end = "";
+          if (this.isEnd() && this.#root.#filledNegs && this.#parent?.type === "!") {
+            end = "(?:$|\\/)";
           }
+          const final2 = start2 + src + end;
+          return [
+            final2,
+            (0, unescape_js_1.unescape)(src),
+            this.#hasMagic = !!this.#hasMagic,
+            this.#uflag
+          ];
         }
-        function step(result) {
-          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        const repeated = this.type === "*" || this.type === "+";
+        const start = this.type === "!" ? "(?:(?!(?:" : "(?:";
+        let body = this.#partsToRegExp(dot);
+        if (this.isStart() && this.isEnd() && !body && this.type !== "!") {
+          const s = this.toString();
+          this.#parts = [s];
+          this.type = null;
+          this.#hasMagic = void 0;
+          return [s, (0, unescape_js_1.unescape)(this.toString()), false, false];
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.internalCacheTwirpClient = internalCacheTwirpClient;
-    var core_1 = require_core();
-    var user_agent_1 = require_user_agent();
-    var errors_1 = require_errors3();
-    var config_1 = require_config();
-    var cacheUtils_1 = require_cacheUtils();
-    var auth_1 = require_auth();
-    var http_client_1 = require_lib();
-    var cache_twirp_client_1 = require_cache_twirp_client();
-    var util_1 = require_util17();
-    var CacheServiceClient = class {
-      constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) {
-        this.maxAttempts = 5;
-        this.baseRetryIntervalMilliseconds = 3e3;
-        this.retryMultiplier = 1.5;
-        const token = (0, cacheUtils_1.getRuntimeToken)();
-        this.baseUrl = (0, config_1.getCacheServiceURL)();
-        if (maxAttempts) {
-          this.maxAttempts = maxAttempts;
+        let bodyDotAllowed = !repeated || allowDot || dot || !startNoDot ? "" : this.#partsToRegExp(true);
+        if (bodyDotAllowed === body) {
+          bodyDotAllowed = "";
         }
-        if (baseRetryIntervalMilliseconds) {
-          this.baseRetryIntervalMilliseconds = baseRetryIntervalMilliseconds;
+        if (bodyDotAllowed) {
+          body = `(?:${body})(?:${bodyDotAllowed})*?`;
         }
-        if (retryMultiplier) {
-          this.retryMultiplier = retryMultiplier;
+        let final = "";
+        if (this.type === "!" && this.#emptyExt) {
+          final = (this.isStart() && !dot ? startNoDot : "") + starNoEmpty;
+        } else {
+          const close = this.type === "!" ? (
+            // !() must match something,but !(x) can match ''
+            "))" + (this.isStart() && !dot && !allowDot ? startNoDot : "") + star + ")"
+          ) : this.type === "@" ? ")" : this.type === "?" ? ")?" : this.type === "+" && bodyDotAllowed ? ")" : this.type === "*" && bodyDotAllowed ? `)?` : `)${this.type}`;
+          final = start + body + close;
         }
-        this.httpClient = new http_client_1.HttpClient(userAgent2, [
-          new auth_1.BearerCredentialHandler(token)
-        ]);
+        return [
+          final,
+          (0, unescape_js_1.unescape)(body),
+          this.#hasMagic = !!this.#hasMagic,
+          this.#uflag
+        ];
       }
-      // This function satisfies the Rpc interface. It is compatible with the JSON
-      // JSON generated client.
-      request(service, method, contentType, data) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          const url = new URL(`/twirp/${service}/${method}`, this.baseUrl).href;
-          (0, core_1.debug)(`[Request] ${method} ${url}`);
-          const headers = {
-            "Content-Type": contentType
-          };
-          try {
-            const { body } = yield this.retryableRequest(() => __awaiter2(this, void 0, void 0, function* () {
-              return this.httpClient.post(url, JSON.stringify(data), headers);
-            }));
-            return body;
-          } catch (error3) {
-            throw new Error(`Failed to ${method}: ${error3.message}`);
+      #partsToRegExp(dot) {
+        return this.#parts.map((p) => {
+          if (typeof p === "string") {
+            throw new Error("string type in extglob ast??");
           }
-        });
+          const [re, _2, _hasMagic, uflag] = p.toRegExpSource(dot);
+          this.#uflag = this.#uflag || uflag;
+          return re;
+        }).filter((p) => !(this.isStart() && this.isEnd()) || !!p).join("|");
       }
-      retryableRequest(operation) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          let attempt = 0;
-          let errorMessage = "";
-          let rawBody = "";
-          while (attempt < this.maxAttempts) {
-            let isRetryable = false;
-            try {
-              const response = yield operation();
-              const statusCode = response.message.statusCode;
-              rawBody = yield response.readBody();
-              (0, core_1.debug)(`[Response] - ${response.message.statusCode}`);
-              (0, core_1.debug)(`Headers: ${JSON.stringify(response.message.headers, null, 2)}`);
-              const body = JSON.parse(rawBody);
-              (0, util_1.maskSecretUrls)(body);
-              (0, core_1.debug)(`Body: ${JSON.stringify(body, null, 2)}`);
-              if (this.isSuccessStatusCode(statusCode)) {
-                return { response, body };
-              }
-              isRetryable = this.isRetryableHttpStatusCode(statusCode);
-              errorMessage = `Failed request: (${statusCode}) ${response.message.statusMessage}`;
-              if (body.msg) {
-                if (errors_1.UsageError.isUsageErrorMessage(body.msg)) {
-                  throw new errors_1.UsageError();
-                }
-                errorMessage = `${errorMessage}: ${body.msg}`;
-              }
-              if (statusCode === http_client_1.HttpCodes.TooManyRequests) {
-                const retryAfterHeader = response.message.headers["retry-after"];
-                if (retryAfterHeader) {
-                  const parsedSeconds = parseInt(retryAfterHeader, 10);
-                  if (!isNaN(parsedSeconds) && parsedSeconds > 0) {
-                    (0, core_1.warning)(`You've hit a rate limit, your rate limit will reset in ${parsedSeconds} seconds`);
-                  }
-                }
-                throw new errors_1.RateLimitError(`Rate limited: ${errorMessage}`);
-              }
-            } catch (error3) {
-              if (error3 instanceof SyntaxError) {
-                (0, core_1.debug)(`Raw Body: ${rawBody}`);
-              }
-              if (error3 instanceof errors_1.UsageError) {
-                throw error3;
-              }
-              if (error3 instanceof errors_1.RateLimitError) {
-                throw error3;
-              }
-              if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) {
-                throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code);
-              }
-              isRetryable = true;
-              errorMessage = error3.message;
-            }
-            if (!isRetryable) {
-              throw new Error(`Received non-retryable error: ${errorMessage}`);
+      static #parseGlob(glob2, hasMagic, noEmpty = false) {
+        let escaping = false;
+        let re = "";
+        let uflag = false;
+        for (let i = 0; i < glob2.length; i++) {
+          const c = glob2.charAt(i);
+          if (escaping) {
+            escaping = false;
+            re += (reSpecials.has(c) ? "\\" : "") + c;
+            continue;
+          }
+          if (c === "\\") {
+            if (i === glob2.length - 1) {
+              re += "\\\\";
+            } else {
+              escaping = true;
             }
-            if (attempt + 1 === this.maxAttempts) {
-              throw new Error(`Failed to make request after ${this.maxAttempts} attempts: ${errorMessage}`);
+            continue;
+          }
+          if (c === "[") {
+            const [src, needUflag, consumed, magic] = (0, brace_expressions_js_1.parseClass)(glob2, i);
+            if (consumed) {
+              re += src;
+              uflag = uflag || needUflag;
+              i += consumed - 1;
+              hasMagic = hasMagic || magic;
+              continue;
             }
-            const retryTimeMilliseconds = this.getExponentialRetryTimeMilliseconds(attempt);
-            (0, core_1.info)(`Attempt ${attempt + 1} of ${this.maxAttempts} failed with error: ${errorMessage}. Retrying request in ${retryTimeMilliseconds} ms...`);
-            yield this.sleep(retryTimeMilliseconds);
-            attempt++;
           }
-          throw new Error(`Request failed`);
-        });
-      }
-      isSuccessStatusCode(statusCode) {
-        if (!statusCode)
-          return false;
-        return statusCode >= 200 && statusCode < 300;
-      }
-      isRetryableHttpStatusCode(statusCode) {
-        if (!statusCode)
-          return false;
-        const retryableStatusCodes = [
-          http_client_1.HttpCodes.BadGateway,
-          http_client_1.HttpCodes.GatewayTimeout,
-          http_client_1.HttpCodes.InternalServerError,
-          http_client_1.HttpCodes.ServiceUnavailable
-        ];
-        return retryableStatusCodes.includes(statusCode);
-      }
-      sleep(milliseconds) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          return new Promise((resolve3) => setTimeout(resolve3, milliseconds));
-        });
-      }
-      getExponentialRetryTimeMilliseconds(attempt) {
-        if (attempt < 0) {
-          throw new Error("attempt should be a positive integer");
-        }
-        if (attempt === 0) {
-          return this.baseRetryIntervalMilliseconds;
+          if (c === "*") {
+            re += noEmpty && glob2 === "*" ? starNoEmpty : star;
+            hasMagic = true;
+            continue;
+          }
+          if (c === "?") {
+            re += qmark;
+            hasMagic = true;
+            continue;
+          }
+          re += regExpEscape(c);
         }
-        const minTime = this.baseRetryIntervalMilliseconds * Math.pow(this.retryMultiplier, attempt);
-        const maxTime = minTime * this.retryMultiplier;
-        return Math.trunc(Math.random() * (maxTime - minTime) + minTime);
+        return [re, (0, unescape_js_1.unescape)(glob2), !!hasMagic, uflag];
       }
     };
-    function internalCacheTwirpClient(options) {
-      const client = new CacheServiceClient((0, user_agent_1.getUserAgentString)(), options === null || options === void 0 ? void 0 : options.maxAttempts, options === null || options === void 0 ? void 0 : options.retryIntervalMs, options === null || options === void 0 ? void 0 : options.retryMultiplier);
-      return new cache_twirp_client_1.CacheServiceClientJSON(client);
-    }
+    exports2.AST = AST;
   }
 });
 
-// node_modules/@actions/cache/lib/internal/tar.js
-var require_tar = __commonJS({
-  "node_modules/@actions/cache/lib/internal/tar.js"(exports2) {
+// node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js
+var require_escape = __commonJS({
+  "node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js"(exports2) {
     "use strict";
-    var __createBinding2 = 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(exports2, "__esModule", { value: true });
+    exports2.escape = void 0;
+    var escape = (s, { windowsPathsNoEscape = false, magicalBraces = false } = {}) => {
+      if (magicalBraces) {
+        return windowsPathsNoEscape ? s.replace(/[?*()[\]{}]/g, "[$&]") : s.replace(/[?*()[\]\\{}]/g, "\\$&");
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = 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 ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
-        }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve3) {
-          resolve3(value);
-        });
+      return windowsPathsNoEscape ? s.replace(/[?*()[\]]/g, "[$&]") : s.replace(/[?*()[\]\\]/g, "\\$&");
+    };
+    exports2.escape = escape;
+  }
+});
+
+// node_modules/glob/node_modules/minimatch/dist/commonjs/index.js
+var require_commonjs20 = __commonJS({
+  "node_modules/glob/node_modules/minimatch/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.unescape = exports2.escape = exports2.AST = exports2.Minimatch = exports2.match = exports2.makeRe = exports2.braceExpand = exports2.defaults = exports2.filter = exports2.GLOBSTAR = exports2.sep = exports2.minimatch = void 0;
+    var brace_expansion_1 = require_commonjs19();
+    var assert_valid_pattern_js_1 = require_assert_valid_pattern();
+    var ast_js_1 = require_ast();
+    var escape_js_1 = require_escape();
+    var unescape_js_1 = require_unescape();
+    var minimatch = (p, pattern, options = {}) => {
+      (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
+      if (!options.nocomment && pattern.charAt(0) === "#") {
+        return false;
       }
-      return new (P || (P = Promise))(function(resolve3, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
+      return new Minimatch(pattern, options).match(p);
+    };
+    exports2.minimatch = minimatch;
+    var starDotExtRE = /^\*+([^+@!?\*\[\(]*)$/;
+    var starDotExtTest = (ext2) => (f) => !f.startsWith(".") && f.endsWith(ext2);
+    var starDotExtTestDot = (ext2) => (f) => f.endsWith(ext2);
+    var starDotExtTestNocase = (ext2) => {
+      ext2 = ext2.toLowerCase();
+      return (f) => !f.startsWith(".") && f.toLowerCase().endsWith(ext2);
+    };
+    var starDotExtTestNocaseDot = (ext2) => {
+      ext2 = ext2.toLowerCase();
+      return (f) => f.toLowerCase().endsWith(ext2);
+    };
+    var starDotStarRE = /^\*+\.\*+$/;
+    var starDotStarTest = (f) => !f.startsWith(".") && f.includes(".");
+    var starDotStarTestDot = (f) => f !== "." && f !== ".." && f.includes(".");
+    var dotStarRE = /^\.\*+$/;
+    var dotStarTest = (f) => f !== "." && f !== ".." && f.startsWith(".");
+    var starRE = /^\*+$/;
+    var starTest = (f) => f.length !== 0 && !f.startsWith(".");
+    var starTestDot = (f) => f.length !== 0 && f !== "." && f !== "..";
+    var qmarksRE = /^\?+([^+@!?\*\[\(]*)?$/;
+    var qmarksTestNocase = ([$0, ext2 = ""]) => {
+      const noext = qmarksTestNoExt([$0]);
+      if (!ext2)
+        return noext;
+      ext2 = ext2.toLowerCase();
+      return (f) => noext(f) && f.toLowerCase().endsWith(ext2);
+    };
+    var qmarksTestNocaseDot = ([$0, ext2 = ""]) => {
+      const noext = qmarksTestNoExtDot([$0]);
+      if (!ext2)
+        return noext;
+      ext2 = ext2.toLowerCase();
+      return (f) => noext(f) && f.toLowerCase().endsWith(ext2);
+    };
+    var qmarksTestDot = ([$0, ext2 = ""]) => {
+      const noext = qmarksTestNoExtDot([$0]);
+      return !ext2 ? noext : (f) => noext(f) && f.endsWith(ext2);
+    };
+    var qmarksTest = ([$0, ext2 = ""]) => {
+      const noext = qmarksTestNoExt([$0]);
+      return !ext2 ? noext : (f) => noext(f) && f.endsWith(ext2);
+    };
+    var qmarksTestNoExt = ([$0]) => {
+      const len = $0.length;
+      return (f) => f.length === len && !f.startsWith(".");
+    };
+    var qmarksTestNoExtDot = ([$0]) => {
+      const len = $0.length;
+      return (f) => f.length === len && f !== "." && f !== "..";
+    };
+    var defaultPlatform = typeof process === "object" && process ? typeof process.env === "object" && process.env && process.env.__MINIMATCH_TESTING_PLATFORM__ || process.platform : "posix";
+    var path4 = {
+      win32: { sep: "\\" },
+      posix: { sep: "/" }
+    };
+    exports2.sep = defaultPlatform === "win32" ? path4.win32.sep : path4.posix.sep;
+    exports2.minimatch.sep = exports2.sep;
+    exports2.GLOBSTAR = /* @__PURE__ */ Symbol("globstar **");
+    exports2.minimatch.GLOBSTAR = exports2.GLOBSTAR;
+    var qmark = "[^/]";
+    var star = qmark + "*?";
+    var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
+    var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
+    var filter = (pattern, options = {}) => (p) => (0, exports2.minimatch)(p, pattern, options);
+    exports2.filter = filter;
+    exports2.minimatch.filter = exports2.filter;
+    var ext = (a, b = {}) => Object.assign({}, a, b);
+    var defaults = (def) => {
+      if (!def || typeof def !== "object" || !Object.keys(def).length) {
+        return exports2.minimatch;
+      }
+      const orig = exports2.minimatch;
+      const m = (p, pattern, options = {}) => orig(p, pattern, ext(def, options));
+      return Object.assign(m, {
+        Minimatch: class Minimatch extends orig.Minimatch {
+          constructor(pattern, options = {}) {
+            super(pattern, ext(def, options));
           }
-        }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
+          static defaults(options) {
+            return orig.defaults(ext(def, options)).Minimatch;
           }
-        }
-        function step(result) {
-          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.listTar = listTar;
-    exports2.extractTar = extractTar2;
-    exports2.createTar = createTar;
-    var exec_1 = require_exec();
-    var io6 = __importStar2(require_io());
-    var fs_1 = require("fs");
-    var path4 = __importStar2(require("path"));
-    var utils = __importStar2(require_cacheUtils());
-    var constants_1 = require_constants12();
-    var IS_WINDOWS = process.platform === "win32";
-    function getTarPath() {
-      return __awaiter2(this, void 0, void 0, function* () {
-        switch (process.platform) {
-          case "win32": {
-            const gnuTar = yield utils.getGnuTarPathOnWindows();
-            const systemTar = constants_1.SystemTarPathOnWindows;
-            if (gnuTar) {
-              return { path: gnuTar, type: constants_1.ArchiveToolType.GNU };
-            } else if ((0, fs_1.existsSync)(systemTar)) {
-              return { path: systemTar, type: constants_1.ArchiveToolType.BSD };
-            }
-            break;
+        },
+        AST: class AST extends orig.AST {
+          /* c8 ignore start */
+          constructor(type2, parent, options = {}) {
+            super(type2, parent, ext(def, options));
           }
-          case "darwin": {
-            const gnuTar = yield io6.which("gtar", false);
-            if (gnuTar) {
-              return { path: gnuTar, type: constants_1.ArchiveToolType.GNU };
-            } else {
-              return {
-                path: yield io6.which("tar", true),
-                type: constants_1.ArchiveToolType.BSD
-              };
-            }
+          /* c8 ignore stop */
+          static fromGlob(pattern, options = {}) {
+            return orig.AST.fromGlob(pattern, ext(def, options));
           }
-          default:
-            break;
-        }
-        return {
-          path: yield io6.which("tar", true),
-          type: constants_1.ArchiveToolType.GNU
-        };
+        },
+        unescape: (s, options = {}) => orig.unescape(s, ext(def, options)),
+        escape: (s, options = {}) => orig.escape(s, ext(def, options)),
+        filter: (pattern, options = {}) => orig.filter(pattern, ext(def, options)),
+        defaults: (options) => orig.defaults(ext(def, options)),
+        makeRe: (pattern, options = {}) => orig.makeRe(pattern, ext(def, options)),
+        braceExpand: (pattern, options = {}) => orig.braceExpand(pattern, ext(def, options)),
+        match: (list, pattern, options = {}) => orig.match(list, pattern, ext(def, options)),
+        sep: orig.sep,
+        GLOBSTAR: exports2.GLOBSTAR
       });
-    }
-    function getTarArgs(tarPath_1, compressionMethod_1, type_1) {
-      return __awaiter2(this, arguments, void 0, function* (tarPath, compressionMethod, type2, archivePath = "") {
-        const args = [`"${tarPath.path}"`];
-        const cacheFileName = utils.getCacheFileName(compressionMethod);
-        const tarFile = "cache.tar";
-        const workingDirectory = getWorkingDirectory();
-        const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS;
-        switch (type2) {
-          case "create":
-            args.push("--posix", "-cf", BSD_TAR_ZSTD ? tarFile : cacheFileName.replace(new RegExp(`\\${path4.sep}`, "g"), "/"), "--exclude", BSD_TAR_ZSTD ? tarFile : cacheFileName.replace(new RegExp(`\\${path4.sep}`, "g"), "/"), "-P", "-C", workingDirectory.replace(new RegExp(`\\${path4.sep}`, "g"), "/"), "--files-from", constants_1.ManifestFilename);
-            break;
-          case "extract":
-            args.push("-xf", BSD_TAR_ZSTD ? tarFile : archivePath.replace(new RegExp(`\\${path4.sep}`, "g"), "/"), "-P", "-C", workingDirectory.replace(new RegExp(`\\${path4.sep}`, "g"), "/"));
-            break;
-          case "list":
-            args.push("-tf", BSD_TAR_ZSTD ? tarFile : archivePath.replace(new RegExp(`\\${path4.sep}`, "g"), "/"), "-P");
-            break;
+    };
+    exports2.defaults = defaults;
+    exports2.minimatch.defaults = exports2.defaults;
+    var braceExpand = (pattern, options = {}) => {
+      (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
+      if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
+        return [pattern];
+      }
+      return (0, brace_expansion_1.expand)(pattern);
+    };
+    exports2.braceExpand = braceExpand;
+    exports2.minimatch.braceExpand = exports2.braceExpand;
+    var makeRe = (pattern, options = {}) => new Minimatch(pattern, options).makeRe();
+    exports2.makeRe = makeRe;
+    exports2.minimatch.makeRe = exports2.makeRe;
+    var match = (list, pattern, options = {}) => {
+      const mm = new Minimatch(pattern, options);
+      list = list.filter((f) => mm.match(f));
+      if (mm.options.nonull && !list.length) {
+        list.push(pattern);
+      }
+      return list;
+    };
+    exports2.match = match;
+    exports2.minimatch.match = exports2.match;
+    var globMagic = /[?*]|[+@!]\(.*?\)|\[|\]/;
+    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
+    var Minimatch = class {
+      options;
+      set;
+      pattern;
+      windowsPathsNoEscape;
+      nonegate;
+      negate;
+      comment;
+      empty;
+      preserveMultipleSlashes;
+      partial;
+      globSet;
+      globParts;
+      nocase;
+      isWindows;
+      platform;
+      windowsNoMagicRoot;
+      regexp;
+      constructor(pattern, options = {}) {
+        (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
+        options = options || {};
+        this.options = options;
+        this.pattern = pattern;
+        this.platform = options.platform || defaultPlatform;
+        this.isWindows = this.platform === "win32";
+        this.windowsPathsNoEscape = !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;
+        if (this.windowsPathsNoEscape) {
+          this.pattern = this.pattern.replace(/\\/g, "/");
         }
-        if (tarPath.type === constants_1.ArchiveToolType.GNU) {
-          switch (process.platform) {
-            case "win32":
-              args.push("--force-local");
-              break;
-            case "darwin":
-              args.push("--delay-directory-restore");
-              break;
-          }
+        this.preserveMultipleSlashes = !!options.preserveMultipleSlashes;
+        this.regexp = null;
+        this.negate = false;
+        this.nonegate = !!options.nonegate;
+        this.comment = false;
+        this.empty = false;
+        this.partial = !!options.partial;
+        this.nocase = !!this.options.nocase;
+        this.windowsNoMagicRoot = options.windowsNoMagicRoot !== void 0 ? options.windowsNoMagicRoot : !!(this.isWindows && this.nocase);
+        this.globSet = [];
+        this.globParts = [];
+        this.set = [];
+        this.make();
+      }
+      hasMagic() {
+        if (this.options.magicalBraces && this.set.length > 1) {
+          return true;
         }
-        return args;
-      });
-    }
-    function getCommands(compressionMethod_1, type_1) {
-      return __awaiter2(this, arguments, void 0, function* (compressionMethod, type2, archivePath = "") {
-        let args;
-        const tarPath = yield getTarPath();
-        const tarArgs = yield getTarArgs(tarPath, compressionMethod, type2, archivePath);
-        const compressionArgs = type2 !== "create" ? yield getDecompressionProgram(tarPath, compressionMethod, archivePath) : yield getCompressionProgram(tarPath, compressionMethod);
-        const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS;
-        if (BSD_TAR_ZSTD && type2 !== "create") {
-          args = [[...compressionArgs].join(" "), [...tarArgs].join(" ")];
-        } else {
-          args = [[...tarArgs].join(" "), [...compressionArgs].join(" ")];
+        for (const pattern of this.set) {
+          for (const part of pattern) {
+            if (typeof part !== "string")
+              return true;
+          }
         }
-        if (BSD_TAR_ZSTD) {
-          return args;
+        return false;
+      }
+      debug(..._2) {
+      }
+      make() {
+        const pattern = this.pattern;
+        const options = this.options;
+        if (!options.nocomment && pattern.charAt(0) === "#") {
+          this.comment = true;
+          return;
         }
-        return [args.join(" ")];
-      });
-    }
-    function getWorkingDirectory() {
-      var _a;
-      return (_a = process.env["GITHUB_WORKSPACE"]) !== null && _a !== void 0 ? _a : process.cwd();
-    }
-    function getDecompressionProgram(tarPath, compressionMethod, archivePath) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS;
-        switch (compressionMethod) {
-          case constants_1.CompressionMethod.Zstd:
-            return BSD_TAR_ZSTD ? [
-              "zstd -d --long=30 --force -o",
-              constants_1.TarFilename,
-              archivePath.replace(new RegExp(`\\${path4.sep}`, "g"), "/")
-            ] : [
-              "--use-compress-program",
-              IS_WINDOWS ? '"zstd -d --long=30"' : "unzstd --long=30"
-            ];
-          case constants_1.CompressionMethod.ZstdWithoutLong:
-            return BSD_TAR_ZSTD ? [
-              "zstd -d --force -o",
-              constants_1.TarFilename,
-              archivePath.replace(new RegExp(`\\${path4.sep}`, "g"), "/")
-            ] : ["--use-compress-program", IS_WINDOWS ? '"zstd -d"' : "unzstd"];
-          default:
-            return ["-z"];
+        if (!pattern) {
+          this.empty = true;
+          return;
         }
-      });
-    }
-    function getCompressionProgram(tarPath, compressionMethod) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const cacheFileName = utils.getCacheFileName(compressionMethod);
-        const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS;
-        switch (compressionMethod) {
-          case constants_1.CompressionMethod.Zstd:
-            return BSD_TAR_ZSTD ? [
-              "zstd -T0 --long=30 --force -o",
-              cacheFileName.replace(new RegExp(`\\${path4.sep}`, "g"), "/"),
-              constants_1.TarFilename
-            ] : [
-              "--use-compress-program",
-              IS_WINDOWS ? '"zstd -T0 --long=30"' : "zstdmt --long=30"
-            ];
-          case constants_1.CompressionMethod.ZstdWithoutLong:
-            return BSD_TAR_ZSTD ? [
-              "zstd -T0 --force -o",
-              cacheFileName.replace(new RegExp(`\\${path4.sep}`, "g"), "/"),
-              constants_1.TarFilename
-            ] : ["--use-compress-program", IS_WINDOWS ? '"zstd -T0"' : "zstdmt"];
-          default:
-            return ["-z"];
+        this.parseNegate();
+        this.globSet = [...new Set(this.braceExpand())];
+        if (options.debug) {
+          this.debug = (...args) => console.error(...args);
         }
-      });
-    }
-    function execCommands(commands, cwd) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        for (const command of commands) {
-          try {
-            yield (0, exec_1.exec)(command, void 0, {
-              cwd,
-              env: Object.assign(Object.assign({}, process.env), { MSYS: "winsymlinks:nativestrict" })
-            });
-          } catch (error3) {
-            throw new Error(`${command.split(" ")[0]} failed with error: ${error3 === null || error3 === void 0 ? void 0 : error3.message}`);
+        this.debug(this.pattern, this.globSet);
+        const rawGlobParts = this.globSet.map((s) => this.slashSplit(s));
+        this.globParts = this.preprocess(rawGlobParts);
+        this.debug(this.pattern, this.globParts);
+        let set2 = this.globParts.map((s, _2, __) => {
+          if (this.isWindows && this.windowsNoMagicRoot) {
+            const isUNC = s[0] === "" && s[1] === "" && (s[2] === "?" || !globMagic.test(s[2])) && !globMagic.test(s[3]);
+            const isDrive = /^[a-z]:/i.test(s[0]);
+            if (isUNC) {
+              return [...s.slice(0, 4), ...s.slice(4).map((ss) => this.parse(ss))];
+            } else if (isDrive) {
+              return [s[0], ...s.slice(1).map((ss) => this.parse(ss))];
+            }
           }
-        }
-      });
-    }
-    function listTar(archivePath, compressionMethod) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const commands = yield getCommands(compressionMethod, "list", archivePath);
-        yield execCommands(commands);
-      });
-    }
-    function extractTar2(archivePath, compressionMethod) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const workingDirectory = getWorkingDirectory();
-        yield io6.mkdirP(workingDirectory);
-        const commands = yield getCommands(compressionMethod, "extract", archivePath);
-        yield execCommands(commands);
-      });
-    }
-    function createTar(archiveFolder, sourceDirectories, compressionMethod) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        (0, fs_1.writeFileSync)(path4.join(archiveFolder, constants_1.ManifestFilename), sourceDirectories.join("\n"));
-        const commands = yield getCommands(compressionMethod, "create");
-        yield execCommands(commands, archiveFolder);
-      });
-    }
-  }
-});
-
-// node_modules/@actions/cache/lib/cache.js
-var require_cache5 = __commonJS({
-  "node_modules/@actions/cache/lib/cache.js"(exports2) {
-    "use strict";
-    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = 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 ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
-        }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve3) {
-          resolve3(value);
+          return s.map((ss) => this.parse(ss));
         });
-      }
-      return new (P || (P = Promise))(function(resolve3, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
+        this.debug(this.pattern, set2);
+        this.set = set2.filter((s) => s.indexOf(false) === -1);
+        if (this.isWindows) {
+          for (let i = 0; i < this.set.length; i++) {
+            const p = this.set[i];
+            if (p[0] === "" && p[1] === "" && this.globParts[i][2] === "?" && typeof p[3] === "string" && /^[a-z]:$/i.test(p[3])) {
+              p[2] = "?";
+            }
           }
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
+        this.debug(this.pattern, this.set);
+      }
+      // various transforms to equivalent pattern sets that are
+      // faster to process in a filesystem walk.  The goal is to
+      // eliminate what we can, and push all ** patterns as far
+      // to the right as possible, even if it increases the number
+      // of patterns that we have to process.
+      preprocess(globParts) {
+        if (this.options.noglobstar) {
+          for (let i = 0; i < globParts.length; i++) {
+            for (let j = 0; j < globParts[i].length; j++) {
+              if (globParts[i][j] === "**") {
+                globParts[i][j] = "*";
+              }
+            }
           }
         }
-        function step(result) {
-          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        const { optimizationLevel = 1 } = this.options;
+        if (optimizationLevel >= 2) {
+          globParts = this.firstPhasePreProcess(globParts);
+          globParts = this.secondPhasePreProcess(globParts);
+        } else if (optimizationLevel >= 1) {
+          globParts = this.levelOneOptimize(globParts);
+        } else {
+          globParts = this.adjascentGlobstarOptimize(globParts);
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.FinalizeCacheError = exports2.ReserveCacheError = exports2.ValidationError = void 0;
-    exports2.isFeatureAvailable = isFeatureAvailable;
-    exports2.restoreCache = restoreCache4;
-    exports2.saveCache = saveCache4;
-    var core14 = __importStar2(require_core());
-    var path4 = __importStar2(require("path"));
-    var utils = __importStar2(require_cacheUtils());
-    var cacheHttpClient = __importStar2(require_cacheHttpClient());
-    var cacheTwirpClient = __importStar2(require_cacheTwirpClient());
-    var config_1 = require_config();
-    var tar_1 = require_tar();
-    var http_client_1 = require_lib();
-    var ValidationError = class _ValidationError extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "ValidationError";
-        Object.setPrototypeOf(this, _ValidationError.prototype);
-      }
-    };
-    exports2.ValidationError = ValidationError;
-    var ReserveCacheError2 = class _ReserveCacheError extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "ReserveCacheError";
-        Object.setPrototypeOf(this, _ReserveCacheError.prototype);
-      }
-    };
-    exports2.ReserveCacheError = ReserveCacheError2;
-    var FinalizeCacheError = class _FinalizeCacheError extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "FinalizeCacheError";
-        Object.setPrototypeOf(this, _FinalizeCacheError.prototype);
-      }
-    };
-    exports2.FinalizeCacheError = FinalizeCacheError;
-    function checkPaths(paths) {
-      if (!paths || paths.length === 0) {
-        throw new ValidationError(`Path Validation Error: At least one directory or file path is required`);
-      }
-    }
-    function checkKey(key) {
-      if (key.length > 512) {
-        throw new ValidationError(`Key Validation Error: ${key} cannot be larger than 512 characters.`);
+        return globParts;
       }
-      const regex = /^[^,]*$/;
-      if (!regex.test(key)) {
-        throw new ValidationError(`Key Validation Error: ${key} cannot contain commas.`);
+      // just get rid of adjascent ** portions
+      adjascentGlobstarOptimize(globParts) {
+        return globParts.map((parts) => {
+          let gs = -1;
+          while (-1 !== (gs = parts.indexOf("**", gs + 1))) {
+            let i = gs;
+            while (parts[i + 1] === "**") {
+              i++;
+            }
+            if (i !== gs) {
+              parts.splice(gs, i - gs);
+            }
+          }
+          return parts;
+        });
       }
-    }
-    function isFeatureAvailable() {
-      const cacheServiceVersion = (0, config_1.getCacheServiceVersion)();
-      switch (cacheServiceVersion) {
-        case "v2":
-          return !!process.env["ACTIONS_RESULTS_URL"];
-        case "v1":
-        default:
-          return !!process.env["ACTIONS_CACHE_URL"];
+      // get rid of adjascent ** and resolve .. portions
+      levelOneOptimize(globParts) {
+        return globParts.map((parts) => {
+          parts = parts.reduce((set2, part) => {
+            const prev = set2[set2.length - 1];
+            if (part === "**" && prev === "**") {
+              return set2;
+            }
+            if (part === "..") {
+              if (prev && prev !== ".." && prev !== "." && prev !== "**") {
+                set2.pop();
+                return set2;
+              }
+            }
+            set2.push(part);
+            return set2;
+          }, []);
+          return parts.length === 0 ? [""] : parts;
+        });
       }
-    }
-    function restoreCache4(paths_1, primaryKey_1, restoreKeys_1, options_1) {
-      return __awaiter2(this, arguments, void 0, function* (paths, primaryKey, restoreKeys, options, enableCrossOsArchive = false) {
-        const cacheServiceVersion = (0, config_1.getCacheServiceVersion)();
-        core14.debug(`Cache service version: ${cacheServiceVersion}`);
-        checkPaths(paths);
-        switch (cacheServiceVersion) {
-          case "v2":
-            return yield restoreCacheV2(paths, primaryKey, restoreKeys, options, enableCrossOsArchive);
-          case "v1":
-          default:
-            return yield restoreCacheV1(paths, primaryKey, restoreKeys, options, enableCrossOsArchive);
-        }
-      });
-    }
-    function restoreCacheV1(paths_1, primaryKey_1, restoreKeys_1, options_1) {
-      return __awaiter2(this, arguments, void 0, function* (paths, primaryKey, restoreKeys, options, enableCrossOsArchive = false) {
-        restoreKeys = restoreKeys || [];
-        const keys = [primaryKey, ...restoreKeys];
-        core14.debug("Resolved Keys:");
-        core14.debug(JSON.stringify(keys));
-        if (keys.length > 10) {
-          throw new ValidationError(`Key Validation Error: Keys are limited to a maximum of 10.`);
-        }
-        for (const key of keys) {
-          checkKey(key);
+      levelTwoFileOptimize(parts) {
+        if (!Array.isArray(parts)) {
+          parts = this.slashSplit(parts);
         }
-        const compressionMethod = yield utils.getCompressionMethod();
-        let archivePath = "";
-        try {
-          const cacheEntry = yield cacheHttpClient.getCacheEntry(keys, paths, {
-            compressionMethod,
-            enableCrossOsArchive
-          });
-          if (!(cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.archiveLocation)) {
-            return void 0;
-          }
-          if (options === null || options === void 0 ? void 0 : options.lookupOnly) {
-            core14.info("Lookup only - skipping download");
-            return cacheEntry.cacheKey;
+        let didSomething = false;
+        do {
+          didSomething = false;
+          if (!this.preserveMultipleSlashes) {
+            for (let i = 1; i < parts.length - 1; i++) {
+              const p = parts[i];
+              if (i === 1 && p === "" && parts[0] === "")
+                continue;
+              if (p === "." || p === "") {
+                didSomething = true;
+                parts.splice(i, 1);
+                i--;
+              }
+            }
+            if (parts[0] === "." && parts.length === 2 && (parts[1] === "." || parts[1] === "")) {
+              didSomething = true;
+              parts.pop();
+            }
           }
-          archivePath = path4.join(yield utils.createTempDirectory(), utils.getCacheFileName(compressionMethod));
-          core14.debug(`Archive Path: ${archivePath}`);
-          yield cacheHttpClient.downloadCache(cacheEntry.archiveLocation, archivePath, options);
-          if (core14.isDebug()) {
-            yield (0, tar_1.listTar)(archivePath, compressionMethod);
+          let dd = 0;
+          while (-1 !== (dd = parts.indexOf("..", dd + 1))) {
+            const p = parts[dd - 1];
+            if (p && p !== "." && p !== ".." && p !== "**") {
+              didSomething = true;
+              parts.splice(dd - 1, 2);
+              dd -= 2;
+            }
           }
-          const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
-          core14.info(`Cache Size: ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B)`);
-          yield (0, tar_1.extractTar)(archivePath, compressionMethod);
-          core14.info("Cache restored successfully");
-          return cacheEntry.cacheKey;
-        } catch (error3) {
-          const typedError = error3;
-          if (typedError.name === ValidationError.name) {
-            throw error3;
-          } else {
-            if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) {
-              core14.error(`Failed to restore: ${error3.message}`);
-            } else {
-              core14.warning(`Failed to restore: ${error3.message}`);
+        } while (didSomething);
+        return parts.length === 0 ? [""] : parts;
+      }
+      // First phase: single-pattern processing
+      // 
 is 1 or more portions
+      //  is 1 or more portions
+      // 

is any portion other than ., .., '', or ** + // is . or '' + // + // **/.. is *brutal* for filesystem walking performance, because + // it effectively resets the recursive walk each time it occurs, + // and ** cannot be reduced out by a .. pattern part like a regexp + // or most strings (other than .., ., and '') can be. + // + //

/**/../

/

/ -> {

/../

/

/,

/**/

/

/} + //

// -> 
/
+      // 
/

/../ ->

/
+      // **/**/ -> **/
+      //
+      // **/*/ -> */**/ <== not valid because ** doesn't follow
+      // this WOULD be allowed if ** did follow symlinks, or * didn't
+      firstPhasePreProcess(globParts) {
+        let didSomething = false;
+        do {
+          didSomething = false;
+          for (let parts of globParts) {
+            let gs = -1;
+            while (-1 !== (gs = parts.indexOf("**", gs + 1))) {
+              let gss = gs;
+              while (parts[gss + 1] === "**") {
+                gss++;
+              }
+              if (gss > gs) {
+                parts.splice(gs + 1, gss - gs);
+              }
+              let next = parts[gs + 1];
+              const p = parts[gs + 2];
+              const p2 = parts[gs + 3];
+              if (next !== "..")
+                continue;
+              if (!p || p === "." || p === ".." || !p2 || p2 === "." || p2 === "..") {
+                continue;
+              }
+              didSomething = true;
+              parts.splice(gs, 1);
+              const other = parts.slice(0);
+              other[gs] = "**";
+              globParts.push(other);
+              gs--;
+            }
+            if (!this.preserveMultipleSlashes) {
+              for (let i = 1; i < parts.length - 1; i++) {
+                const p = parts[i];
+                if (i === 1 && p === "" && parts[0] === "")
+                  continue;
+                if (p === "." || p === "") {
+                  didSomething = true;
+                  parts.splice(i, 1);
+                  i--;
+                }
+              }
+              if (parts[0] === "." && parts.length === 2 && (parts[1] === "." || parts[1] === "")) {
+                didSomething = true;
+                parts.pop();
+              }
+            }
+            let dd = 0;
+            while (-1 !== (dd = parts.indexOf("..", dd + 1))) {
+              const p = parts[dd - 1];
+              if (p && p !== "." && p !== ".." && p !== "**") {
+                didSomething = true;
+                const needDot = dd === 1 && parts[dd + 1] === "**";
+                const splin = needDot ? ["."] : [];
+                parts.splice(dd - 1, 2, ...splin);
+                if (parts.length === 0)
+                  parts.push("");
+                dd -= 2;
+              }
             }
           }
-        } finally {
-          try {
-            yield utils.unlinkFile(archivePath);
-          } catch (error3) {
-            core14.debug(`Failed to delete archive: ${error3}`);
+        } while (didSomething);
+        return globParts;
+      }
+      // second phase: multi-pattern dedupes
+      // {
/*/,
/

/} ->

/*/
+      // {
/,
/} -> 
/
+      // {
/**/,
/} -> 
/**/
+      //
+      // {
/**/,
/**/

/} ->

/**/
+      // ^-- not valid because ** doens't follow symlinks
+      secondPhasePreProcess(globParts) {
+        for (let i = 0; i < globParts.length - 1; i++) {
+          for (let j = i + 1; j < globParts.length; j++) {
+            const matched = this.partsMatch(globParts[i], globParts[j], !this.preserveMultipleSlashes);
+            if (matched) {
+              globParts[i] = [];
+              globParts[j] = matched;
+              break;
+            }
           }
         }
-        return void 0;
-      });
-    }
-    function restoreCacheV2(paths_1, primaryKey_1, restoreKeys_1, options_1) {
-      return __awaiter2(this, arguments, void 0, function* (paths, primaryKey, restoreKeys, options, enableCrossOsArchive = false) {
-        options = Object.assign(Object.assign({}, options), { useAzureSdk: true });
-        restoreKeys = restoreKeys || [];
-        const keys = [primaryKey, ...restoreKeys];
-        core14.debug("Resolved Keys:");
-        core14.debug(JSON.stringify(keys));
-        if (keys.length > 10) {
-          throw new ValidationError(`Key Validation Error: Keys are limited to a maximum of 10.`);
-        }
-        for (const key of keys) {
-          checkKey(key);
-        }
-        let archivePath = "";
-        try {
-          const twirpClient = cacheTwirpClient.internalCacheTwirpClient();
-          const compressionMethod = yield utils.getCompressionMethod();
-          const request2 = {
-            key: primaryKey,
-            restoreKeys,
-            version: utils.getCacheVersion(paths, compressionMethod, enableCrossOsArchive)
-          };
-          const response = yield twirpClient.GetCacheEntryDownloadURL(request2);
-          if (!response.ok) {
-            core14.debug(`Cache not found for version ${request2.version} of keys: ${keys.join(", ")}`);
-            return void 0;
-          }
-          const isRestoreKeyMatch = request2.key !== response.matchedKey;
-          if (isRestoreKeyMatch) {
-            core14.info(`Cache hit for restore-key: ${response.matchedKey}`);
-          } else {
-            core14.info(`Cache hit for: ${response.matchedKey}`);
-          }
-          if (options === null || options === void 0 ? void 0 : options.lookupOnly) {
-            core14.info("Lookup only - skipping download");
-            return response.matchedKey;
-          }
-          archivePath = path4.join(yield utils.createTempDirectory(), utils.getCacheFileName(compressionMethod));
-          core14.debug(`Archive path: ${archivePath}`);
-          core14.debug(`Starting download of archive to: ${archivePath}`);
-          yield cacheHttpClient.downloadCache(response.signedDownloadUrl, archivePath, options);
-          const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
-          core14.info(`Cache Size: ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B)`);
-          if (core14.isDebug()) {
-            yield (0, tar_1.listTar)(archivePath, compressionMethod);
-          }
-          yield (0, tar_1.extractTar)(archivePath, compressionMethod);
-          core14.info("Cache restored successfully");
-          return response.matchedKey;
-        } catch (error3) {
-          const typedError = error3;
-          if (typedError.name === ValidationError.name) {
-            throw error3;
+        return globParts.filter((gs) => gs.length);
+      }
+      partsMatch(a, b, emptyGSMatch = false) {
+        let ai = 0;
+        let bi = 0;
+        let result = [];
+        let which6 = "";
+        while (ai < a.length && bi < b.length) {
+          if (a[ai] === b[bi]) {
+            result.push(which6 === "b" ? b[bi] : a[ai]);
+            ai++;
+            bi++;
+          } else if (emptyGSMatch && a[ai] === "**" && b[bi] === a[ai + 1]) {
+            result.push(a[ai]);
+            ai++;
+          } else if (emptyGSMatch && b[bi] === "**" && a[ai] === b[bi + 1]) {
+            result.push(b[bi]);
+            bi++;
+          } else if (a[ai] === "*" && b[bi] && (this.options.dot || !b[bi].startsWith(".")) && b[bi] !== "**") {
+            if (which6 === "b")
+              return false;
+            which6 = "a";
+            result.push(a[ai]);
+            ai++;
+            bi++;
+          } else if (b[bi] === "*" && a[ai] && (this.options.dot || !a[ai].startsWith(".")) && a[ai] !== "**") {
+            if (which6 === "a")
+              return false;
+            which6 = "b";
+            result.push(b[bi]);
+            ai++;
+            bi++;
           } else {
-            if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) {
-              core14.error(`Failed to restore: ${error3.message}`);
-            } else {
-              core14.warning(`Failed to restore: ${error3.message}`);
-            }
+            return false;
           }
-        } finally {
-          try {
-            if (archivePath) {
-              yield utils.unlinkFile(archivePath);
+        }
+        return a.length === b.length && result;
+      }
+      parseNegate() {
+        if (this.nonegate)
+          return;
+        const pattern = this.pattern;
+        let negate = false;
+        let negateOffset = 0;
+        for (let i = 0; i < pattern.length && pattern.charAt(i) === "!"; i++) {
+          negate = !negate;
+          negateOffset++;
+        }
+        if (negateOffset)
+          this.pattern = pattern.slice(negateOffset);
+        this.negate = negate;
+      }
+      // set partial to true to test if, for example,
+      // "/a/b" matches the start of "/*/b/*/d"
+      // Partial means, if you run out of file before you run
+      // out of pattern, then that's fine, as long as all
+      // the parts match.
+      matchOne(file, pattern, partial = false) {
+        const options = this.options;
+        if (this.isWindows) {
+          const fileDrive = typeof file[0] === "string" && /^[a-z]:$/i.test(file[0]);
+          const fileUNC = !fileDrive && file[0] === "" && file[1] === "" && file[2] === "?" && /^[a-z]:$/i.test(file[3]);
+          const patternDrive = typeof pattern[0] === "string" && /^[a-z]:$/i.test(pattern[0]);
+          const patternUNC = !patternDrive && pattern[0] === "" && pattern[1] === "" && pattern[2] === "?" && typeof pattern[3] === "string" && /^[a-z]:$/i.test(pattern[3]);
+          const fdi = fileUNC ? 3 : fileDrive ? 0 : void 0;
+          const pdi = patternUNC ? 3 : patternDrive ? 0 : void 0;
+          if (typeof fdi === "number" && typeof pdi === "number") {
+            const [fd, pd] = [file[fdi], pattern[pdi]];
+            if (fd.toLowerCase() === pd.toLowerCase()) {
+              pattern[pdi] = fd;
+              if (pdi > fdi) {
+                pattern = pattern.slice(pdi);
+              } else if (fdi > pdi) {
+                file = file.slice(fdi);
+              }
             }
-          } catch (error3) {
-            core14.debug(`Failed to delete archive: ${error3}`);
           }
         }
-        return void 0;
-      });
-    }
-    function saveCache4(paths_1, key_1, options_1) {
-      return __awaiter2(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) {
-        const cacheServiceVersion = (0, config_1.getCacheServiceVersion)();
-        core14.debug(`Cache service version: ${cacheServiceVersion}`);
-        checkPaths(paths);
-        checkKey(key);
-        switch (cacheServiceVersion) {
-          case "v2":
-            return yield saveCacheV2(paths, key, options, enableCrossOsArchive);
-          case "v1":
-          default:
-            return yield saveCacheV1(paths, key, options, enableCrossOsArchive);
-        }
-      });
-    }
-    function saveCacheV1(paths_1, key_1, options_1) {
-      return __awaiter2(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) {
-        var _a, _b, _c, _d, _e;
-        const compressionMethod = yield utils.getCompressionMethod();
-        let cacheId = -1;
-        const cachePaths = yield utils.resolvePaths(paths);
-        core14.debug("Cache Paths:");
-        core14.debug(`${JSON.stringify(cachePaths)}`);
-        if (cachePaths.length === 0) {
-          throw new Error(`Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved.`);
+        const { optimizationLevel = 1 } = this.options;
+        if (optimizationLevel >= 2) {
+          file = this.levelTwoFileOptimize(file);
         }
-        const archiveFolder = yield utils.createTempDirectory();
-        const archivePath = path4.join(archiveFolder, utils.getCacheFileName(compressionMethod));
-        core14.debug(`Archive Path: ${archivePath}`);
-        try {
-          yield (0, tar_1.createTar)(archiveFolder, cachePaths, compressionMethod);
-          if (core14.isDebug()) {
-            yield (0, tar_1.listTar)(archivePath, compressionMethod);
-          }
-          const fileSizeLimit = 10 * 1024 * 1024 * 1024;
-          const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
-          core14.debug(`File Size: ${archiveFileSize}`);
-          if (archiveFileSize > fileSizeLimit && !(0, config_1.isGhes)()) {
-            throw new Error(`Cache size of ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B) is over the 10GB limit, not saving cache.`);
-          }
-          core14.debug("Reserving Cache");
-          const reserveCacheResponse = yield cacheHttpClient.reserveCache(key, paths, {
-            compressionMethod,
-            enableCrossOsArchive,
-            cacheSize: archiveFileSize
-          });
-          if ((_a = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.result) === null || _a === void 0 ? void 0 : _a.cacheId) {
-            cacheId = (_b = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.result) === null || _b === void 0 ? void 0 : _b.cacheId;
-          } else if ((reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.statusCode) === 400) {
-            throw new Error((_d = (_c = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.error) === null || _c === void 0 ? void 0 : _c.message) !== null && _d !== void 0 ? _d : `Cache size of ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B) is over the data cap limit, not saving cache.`);
-          } else {
-            throw new ReserveCacheError2(`Unable to reserve cache with key ${key}, another job may be creating this cache. More details: ${(_e = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.error) === null || _e === void 0 ? void 0 : _e.message}`);
+        this.debug("matchOne", this, { file, pattern });
+        this.debug("matchOne", file.length, pattern.length);
+        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
+          this.debug("matchOne loop");
+          var p = pattern[pi];
+          var f = file[fi];
+          this.debug(pattern, p, f);
+          if (p === false) {
+            return false;
           }
-          core14.debug(`Saving Cache (ID: ${cacheId})`);
-          yield cacheHttpClient.saveCache(cacheId, archivePath, "", options);
-        } catch (error3) {
-          const typedError = error3;
-          if (typedError.name === ValidationError.name) {
-            throw error3;
-          } else if (typedError.name === ReserveCacheError2.name) {
-            core14.info(`Failed to save: ${typedError.message}`);
-          } else {
-            if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) {
-              core14.error(`Failed to save: ${typedError.message}`);
-            } else {
-              core14.warning(`Failed to save: ${typedError.message}`);
+          if (p === exports2.GLOBSTAR) {
+            this.debug("GLOBSTAR", [pattern, p, f]);
+            var fr = fi;
+            var pr = pi + 1;
+            if (pr === pl) {
+              this.debug("** at the end");
+              for (; fi < fl; fi++) {
+                if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".")
+                  return false;
+              }
+              return true;
+            }
+            while (fr < fl) {
+              var swallowee = file[fr];
+              this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
+              if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
+                this.debug("globstar found match!", fr, fl, swallowee);
+                return true;
+              } else {
+                if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
+                  this.debug("dot detected!", file, fr, pattern, pr);
+                  break;
+                }
+                this.debug("globstar swallow a segment, and continue");
+                fr++;
+              }
             }
+            if (partial) {
+              this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
+              if (fr === fl) {
+                return true;
+              }
+            }
+            return false;
           }
-        } finally {
-          try {
-            yield utils.unlinkFile(archivePath);
-          } catch (error3) {
-            core14.debug(`Failed to delete archive: ${error3}`);
+          let hit;
+          if (typeof p === "string") {
+            hit = f === p;
+            this.debug("string match", p, f, hit);
+          } else {
+            hit = p.test(f);
+            this.debug("pattern match", p, f, hit);
           }
+          if (!hit)
+            return false;
         }
-        return cacheId;
-      });
-    }
-    function saveCacheV2(paths_1, key_1, options_1) {
-      return __awaiter2(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) {
-        options = Object.assign(Object.assign({}, options), { uploadChunkSize: 64 * 1024 * 1024, uploadConcurrency: 8, useAzureSdk: true });
-        const compressionMethod = yield utils.getCompressionMethod();
-        const twirpClient = cacheTwirpClient.internalCacheTwirpClient();
-        let cacheId = -1;
-        const cachePaths = yield utils.resolvePaths(paths);
-        core14.debug("Cache Paths:");
-        core14.debug(`${JSON.stringify(cachePaths)}`);
-        if (cachePaths.length === 0) {
-          throw new Error(`Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved.`);
+        if (fi === fl && pi === pl) {
+          return true;
+        } else if (fi === fl) {
+          return partial;
+        } else if (pi === pl) {
+          return fi === fl - 1 && file[fi] === "";
+        } else {
+          throw new Error("wtf?");
         }
-        const archiveFolder = yield utils.createTempDirectory();
-        const archivePath = path4.join(archiveFolder, utils.getCacheFileName(compressionMethod));
-        core14.debug(`Archive Path: ${archivePath}`);
-        try {
-          yield (0, tar_1.createTar)(archiveFolder, cachePaths, compressionMethod);
-          if (core14.isDebug()) {
-            yield (0, tar_1.listTar)(archivePath, compressionMethod);
-          }
-          const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
-          core14.debug(`File Size: ${archiveFileSize}`);
-          options.archiveSizeBytes = archiveFileSize;
-          core14.debug("Reserving Cache");
-          const version = utils.getCacheVersion(paths, compressionMethod, enableCrossOsArchive);
-          const request2 = {
-            key,
-            version
-          };
-          let signedUploadUrl;
-          try {
-            const response = yield twirpClient.CreateCacheEntry(request2);
-            if (!response.ok) {
-              if (response.message) {
-                core14.warning(`Cache reservation failed: ${response.message}`);
+      }
+      braceExpand() {
+        return (0, exports2.braceExpand)(this.pattern, this.options);
+      }
+      parse(pattern) {
+        (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
+        const options = this.options;
+        if (pattern === "**")
+          return exports2.GLOBSTAR;
+        if (pattern === "")
+          return "";
+        let m;
+        let fastTest = null;
+        if (m = pattern.match(starRE)) {
+          fastTest = options.dot ? starTestDot : starTest;
+        } else if (m = pattern.match(starDotExtRE)) {
+          fastTest = (options.nocase ? options.dot ? starDotExtTestNocaseDot : starDotExtTestNocase : options.dot ? starDotExtTestDot : starDotExtTest)(m[1]);
+        } else if (m = pattern.match(qmarksRE)) {
+          fastTest = (options.nocase ? options.dot ? qmarksTestNocaseDot : qmarksTestNocase : options.dot ? qmarksTestDot : qmarksTest)(m);
+        } else if (m = pattern.match(starDotStarRE)) {
+          fastTest = options.dot ? starDotStarTestDot : starDotStarTest;
+        } else if (m = pattern.match(dotStarRE)) {
+          fastTest = dotStarTest;
+        }
+        const re = ast_js_1.AST.fromGlob(pattern, this.options).toMMPattern();
+        if (fastTest && typeof re === "object") {
+          Reflect.defineProperty(re, "test", { value: fastTest });
+        }
+        return re;
+      }
+      makeRe() {
+        if (this.regexp || this.regexp === false)
+          return this.regexp;
+        const set2 = this.set;
+        if (!set2.length) {
+          this.regexp = false;
+          return this.regexp;
+        }
+        const options = this.options;
+        const twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
+        const flags = new Set(options.nocase ? ["i"] : []);
+        let re = set2.map((pattern) => {
+          const pp = pattern.map((p) => {
+            if (p instanceof RegExp) {
+              for (const f of p.flags.split(""))
+                flags.add(f);
+            }
+            return typeof p === "string" ? regExpEscape(p) : p === exports2.GLOBSTAR ? exports2.GLOBSTAR : p._src;
+          });
+          pp.forEach((p, i) => {
+            const next = pp[i + 1];
+            const prev = pp[i - 1];
+            if (p !== exports2.GLOBSTAR || prev === exports2.GLOBSTAR) {
+              return;
+            }
+            if (prev === void 0) {
+              if (next !== void 0 && next !== exports2.GLOBSTAR) {
+                pp[i + 1] = "(?:\\/|" + twoStar + "\\/)?" + next;
+              } else {
+                pp[i] = twoStar;
               }
-              throw new Error(response.message || "Response was not ok");
+            } else if (next === void 0) {
+              pp[i - 1] = prev + "(?:\\/|\\/" + twoStar + ")?";
+            } else if (next !== exports2.GLOBSTAR) {
+              pp[i - 1] = prev + "(?:\\/|\\/" + twoStar + "\\/)" + next;
+              pp[i + 1] = exports2.GLOBSTAR;
             }
-            signedUploadUrl = response.signedUploadUrl;
-          } catch (error3) {
-            core14.debug(`Failed to reserve cache: ${error3}`);
-            throw new ReserveCacheError2(`Unable to reserve cache with key ${key}, another job may be creating this cache.`);
-          }
-          core14.debug(`Attempting to upload cache located at: ${archivePath}`);
-          yield cacheHttpClient.saveCache(cacheId, archivePath, signedUploadUrl, options);
-          const finalizeRequest = {
-            key,
-            version,
-            sizeBytes: `${archiveFileSize}`
-          };
-          const finalizeResponse = yield twirpClient.FinalizeCacheEntryUpload(finalizeRequest);
-          core14.debug(`FinalizeCacheEntryUploadResponse: ${finalizeResponse.ok}`);
-          if (!finalizeResponse.ok) {
-            if (finalizeResponse.message) {
-              throw new FinalizeCacheError(finalizeResponse.message);
+          });
+          const filtered = pp.filter((p) => p !== exports2.GLOBSTAR);
+          if (this.partial && filtered.length >= 1) {
+            const prefixes = [];
+            for (let i = 1; i <= filtered.length; i++) {
+              prefixes.push(filtered.slice(0, i).join("/"));
             }
-            throw new Error(`Unable to finalize cache with key ${key}, another job may be finalizing this cache.`);
+            return "(?:" + prefixes.join("|") + ")";
           }
-          cacheId = parseInt(finalizeResponse.entryId);
-        } catch (error3) {
-          const typedError = error3;
-          if (typedError.name === ValidationError.name) {
-            throw error3;
-          } else if (typedError.name === ReserveCacheError2.name) {
-            core14.info(`Failed to save: ${typedError.message}`);
-          } else if (typedError.name === FinalizeCacheError.name) {
-            core14.warning(typedError.message);
-          } else {
-            if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) {
-              core14.error(`Failed to save: ${typedError.message}`);
-            } else {
-              core14.warning(`Failed to save: ${typedError.message}`);
-            }
+          return filtered.join("/");
+        }).join("|");
+        const [open, close] = set2.length > 1 ? ["(?:", ")"] : ["", ""];
+        re = "^" + open + re + close + "$";
+        if (this.partial) {
+          re = "^(?:\\/|" + open + re.slice(1, -1) + close + ")$";
+        }
+        if (this.negate)
+          re = "^(?!" + re + ").+$";
+        try {
+          this.regexp = new RegExp(re, [...flags].join(""));
+        } catch (ex) {
+          this.regexp = false;
+        }
+        return this.regexp;
+      }
+      slashSplit(p) {
+        if (this.preserveMultipleSlashes) {
+          return p.split("/");
+        } else if (this.isWindows && /^\/\/[^\/]+/.test(p)) {
+          return ["", ...p.split(/\/+/)];
+        } else {
+          return p.split(/\/+/);
+        }
+      }
+      match(f, partial = this.partial) {
+        this.debug("match", f, this.pattern);
+        if (this.comment) {
+          return false;
+        }
+        if (this.empty) {
+          return f === "";
+        }
+        if (f === "/" && partial) {
+          return true;
+        }
+        const options = this.options;
+        if (this.isWindows) {
+          f = f.split("\\").join("/");
+        }
+        const ff = this.slashSplit(f);
+        this.debug(this.pattern, "split", ff);
+        const set2 = this.set;
+        this.debug(this.pattern, "set", set2);
+        let filename = ff[ff.length - 1];
+        if (!filename) {
+          for (let i = ff.length - 2; !filename && i >= 0; i--) {
+            filename = ff[i];
           }
-        } finally {
-          try {
-            yield utils.unlinkFile(archivePath);
-          } catch (error3) {
-            core14.debug(`Failed to delete archive: ${error3}`);
+        }
+        for (let i = 0; i < set2.length; i++) {
+          const pattern = set2[i];
+          let file = ff;
+          if (options.matchBase && pattern.length === 1) {
+            file = [filename];
+          }
+          const hit = this.matchOne(file, pattern, partial);
+          if (hit) {
+            if (options.flipNegate) {
+              return true;
+            }
+            return !this.negate;
           }
         }
-        return cacheId;
-      });
-    }
+        if (options.flipNegate) {
+          return false;
+        }
+        return this.negate;
+      }
+      static defaults(def) {
+        return exports2.minimatch.defaults(def).Minimatch;
+      }
+    };
+    exports2.Minimatch = Minimatch;
+    var ast_js_2 = require_ast();
+    Object.defineProperty(exports2, "AST", { enumerable: true, get: function() {
+      return ast_js_2.AST;
+    } });
+    var escape_js_2 = require_escape();
+    Object.defineProperty(exports2, "escape", { enumerable: true, get: function() {
+      return escape_js_2.escape;
+    } });
+    var unescape_js_2 = require_unescape();
+    Object.defineProperty(exports2, "unescape", { enumerable: true, get: function() {
+      return unescape_js_2.unescape;
+    } });
+    exports2.minimatch.AST = ast_js_1.AST;
+    exports2.minimatch.Minimatch = Minimatch;
+    exports2.minimatch.escape = escape_js_1.escape;
+    exports2.minimatch.unescape = unescape_js_1.unescape;
   }
 });
 
-// node_modules/@actions/artifact/lib/internal/shared/config.js
-var require_config2 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/shared/config.js"(exports2) {
+// node_modules/lru-cache/dist/commonjs/index.js
+var require_commonjs21 = __commonJS({
+  "node_modules/lru-cache/dist/commonjs/index.js"(exports2) {
     "use strict";
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
-    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getMaxArtifactListCount = exports2.getUploadChunkTimeout = exports2.getConcurrency = exports2.getGitHubWorkspaceDir = exports2.isGhes = exports2.getResultsServiceUrl = exports2.getRuntimeToken = exports2.getUploadChunkSize = void 0;
-    var os_1 = __importDefault2(require("os"));
-    var core_1 = require_core();
-    function getUploadChunkSize() {
-      return 8 * 1024 * 1024;
-    }
-    exports2.getUploadChunkSize = getUploadChunkSize;
-    function getRuntimeToken() {
-      const token = process.env["ACTIONS_RUNTIME_TOKEN"];
-      if (!token) {
-        throw new Error("Unable to get the ACTIONS_RUNTIME_TOKEN env variable");
-      }
-      return token;
-    }
-    exports2.getRuntimeToken = getRuntimeToken;
-    function getResultsServiceUrl() {
-      const resultsUrl = process.env["ACTIONS_RESULTS_URL"];
-      if (!resultsUrl) {
-        throw new Error("Unable to get the ACTIONS_RESULTS_URL env variable");
-      }
-      return new URL(resultsUrl).origin;
-    }
-    exports2.getResultsServiceUrl = getResultsServiceUrl;
-    function isGhes() {
-      const ghUrl = new URL(process.env["GITHUB_SERVER_URL"] || "https://github.com");
-      const hostname = ghUrl.hostname.trimEnd().toUpperCase();
-      const isGitHubHost = hostname === "GITHUB.COM";
-      const isGheHost = hostname.endsWith(".GHE.COM");
-      const isLocalHost = hostname.endsWith(".LOCALHOST");
-      return !isGitHubHost && !isGheHost && !isLocalHost;
-    }
-    exports2.isGhes = isGhes;
-    function getGitHubWorkspaceDir() {
-      const ghWorkspaceDir = process.env["GITHUB_WORKSPACE"];
-      if (!ghWorkspaceDir) {
-        throw new Error("Unable to get the GITHUB_WORKSPACE env variable");
-      }
-      return ghWorkspaceDir;
-    }
-    exports2.getGitHubWorkspaceDir = getGitHubWorkspaceDir;
-    function getConcurrency() {
-      const numCPUs = os_1.default.cpus().length;
-      let concurrencyCap = 32;
-      if (numCPUs > 4) {
-        const concurrency = 16 * numCPUs;
-        concurrencyCap = concurrency > 300 ? 300 : concurrency;
-      }
-      const concurrencyOverride = process.env["ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY"];
-      if (concurrencyOverride) {
-        const concurrency = parseInt(concurrencyOverride);
-        if (isNaN(concurrency) || concurrency < 1) {
-          throw new Error("Invalid value set for ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY env variable");
+    exports2.LRUCache = void 0;
+    var perf = typeof performance === "object" && performance && typeof performance.now === "function" ? performance : Date;
+    var warned = /* @__PURE__ */ new Set();
+    var PROCESS = typeof process === "object" && !!process ? process : {};
+    var emitWarning = (msg, type2, code, fn) => {
+      typeof PROCESS.emitWarning === "function" ? PROCESS.emitWarning(msg, type2, code, fn) : console.error(`[${code}] ${type2}: ${msg}`);
+    };
+    var AC = globalThis.AbortController;
+    var AS = globalThis.AbortSignal;
+    if (typeof AC === "undefined") {
+      AS = class AbortSignal {
+        onabort;
+        _onabort = [];
+        reason;
+        aborted = false;
+        addEventListener(_2, fn) {
+          this._onabort.push(fn);
         }
-        if (concurrency < concurrencyCap) {
-          (0, core_1.info)(`Set concurrency based on the value set in ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY.`);
-          return concurrency;
+      };
+      AC = class AbortController {
+        constructor() {
+          warnACPolyfill();
         }
-        (0, core_1.info)(`ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY is higher than the cap of ${concurrencyCap} based on the number of cpus. Set it to the maximum value allowed.`);
-        return concurrencyCap;
-      }
-      return 5;
+        signal = new AS();
+        abort(reason) {
+          if (this.signal.aborted)
+            return;
+          this.signal.reason = reason;
+          this.signal.aborted = true;
+          for (const fn of this.signal._onabort) {
+            fn(reason);
+          }
+          this.signal.onabort?.(reason);
+        }
+      };
+      let printACPolyfillWarning = PROCESS.env?.LRU_CACHE_IGNORE_AC_WARNING !== "1";
+      const warnACPolyfill = () => {
+        if (!printACPolyfillWarning)
+          return;
+        printACPolyfillWarning = false;
+        emitWarning("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.", "NO_ABORT_CONTROLLER", "ENOTSUP", warnACPolyfill);
+      };
     }
-    exports2.getConcurrency = getConcurrency;
-    function getUploadChunkTimeout() {
-      const timeoutVar = process.env["ACTIONS_ARTIFACT_UPLOAD_TIMEOUT_MS"];
-      if (!timeoutVar) {
-        return 3e5;
+    var shouldWarn = (code) => !warned.has(code);
+    var isPosInt = (n) => n && n === Math.floor(n) && n > 0 && isFinite(n);
+    var getUintArray = (max) => !isPosInt(max) ? null : max <= Math.pow(2, 8) ? Uint8Array : max <= Math.pow(2, 16) ? Uint16Array : max <= Math.pow(2, 32) ? Uint32Array : max <= Number.MAX_SAFE_INTEGER ? ZeroArray : null;
+    var ZeroArray = class extends Array {
+      constructor(size) {
+        super(size);
+        this.fill(0);
       }
-      const timeout = parseInt(timeoutVar);
-      if (isNaN(timeout)) {
-        throw new Error("Invalid value set for ACTIONS_ARTIFACT_UPLOAD_TIMEOUT_MS env variable");
+    };
+    var Stack = class _Stack {
+      heap;
+      length;
+      // private constructor
+      static #constructing = false;
+      static create(max) {
+        const HeapCls = getUintArray(max);
+        if (!HeapCls)
+          return [];
+        _Stack.#constructing = true;
+        const s = new _Stack(max, HeapCls);
+        _Stack.#constructing = false;
+        return s;
       }
-      return timeout;
-    }
-    exports2.getUploadChunkTimeout = getUploadChunkTimeout;
-    function getMaxArtifactListCount() {
-      const maxCountVar = process.env["ACTIONS_ARTIFACT_MAX_ARTIFACT_COUNT"] || "1000";
-      const maxCount = parseInt(maxCountVar);
-      if (isNaN(maxCount) || maxCount < 1) {
-        throw new Error("Invalid value set for ACTIONS_ARTIFACT_MAX_ARTIFACT_COUNT env variable");
+      constructor(max, HeapCls) {
+        if (!_Stack.#constructing) {
+          throw new TypeError("instantiate Stack using Stack.create(n)");
+        }
+        this.heap = new HeapCls(max);
+        this.length = 0;
       }
-      return maxCount;
-    }
-    exports2.getMaxArtifactListCount = getMaxArtifactListCount;
-  }
-});
-
-// node_modules/@actions/artifact/lib/generated/google/protobuf/timestamp.js
-var require_timestamp = __commonJS({
-  "node_modules/@actions/artifact/lib/generated/google/protobuf/timestamp.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Timestamp = void 0;
-    var runtime_1 = require_commonjs16();
-    var runtime_2 = require_commonjs16();
-    var runtime_3 = require_commonjs16();
-    var runtime_4 = require_commonjs16();
-    var runtime_5 = require_commonjs16();
-    var runtime_6 = require_commonjs16();
-    var runtime_7 = require_commonjs16();
-    var Timestamp$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.Timestamp", [
-          {
-            no: 1,
-            name: "seconds",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          },
-          {
-            no: 2,
-            name: "nanos",
-            kind: "scalar",
-            T: 5
-            /*ScalarType.INT32*/
-          }
-        ]);
+      push(n) {
+        this.heap[this.length++] = n;
+      }
+      pop() {
+        return this.heap[--this.length];
       }
+    };
+    var LRUCache = class _LRUCache {
+      // options that cannot be changed without disaster
+      #max;
+      #maxSize;
+      #dispose;
+      #onInsert;
+      #disposeAfter;
+      #fetchMethod;
+      #memoMethod;
       /**
-       * Creates a new `Timestamp` for the current time.
+       * {@link LRUCache.OptionsBase.ttl}
        */
-      now() {
-        const msg = this.create();
-        const ms = Date.now();
-        msg.seconds = runtime_6.PbLong.from(Math.floor(ms / 1e3)).toString();
-        msg.nanos = ms % 1e3 * 1e6;
-        return msg;
-      }
+      ttl;
       /**
-       * Converts a `Timestamp` to a JavaScript Date.
+       * {@link LRUCache.OptionsBase.ttlResolution}
        */
-      toDate(message) {
-        return new Date(runtime_6.PbLong.from(message.seconds).toNumber() * 1e3 + Math.ceil(message.nanos / 1e6));
-      }
+      ttlResolution;
       /**
-       * Converts a JavaScript Date to a `Timestamp`.
+       * {@link LRUCache.OptionsBase.ttlAutopurge}
        */
-      fromDate(date) {
-        const msg = this.create();
-        const ms = date.getTime();
-        msg.seconds = runtime_6.PbLong.from(Math.floor(ms / 1e3)).toString();
-        msg.nanos = ms % 1e3 * 1e6;
-        return msg;
-      }
+      ttlAutopurge;
       /**
-       * In JSON format, the `Timestamp` type is encoded as a string
-       * in the RFC 3339 format.
+       * {@link LRUCache.OptionsBase.updateAgeOnGet}
        */
-      internalJsonWrite(message, options) {
-        let ms = runtime_6.PbLong.from(message.seconds).toNumber() * 1e3;
-        if (ms < Date.parse("0001-01-01T00:00:00Z") || ms > Date.parse("9999-12-31T23:59:59Z"))
-          throw new Error("Unable to encode Timestamp to JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.");
-        if (message.nanos < 0)
-          throw new Error("Unable to encode invalid Timestamp to JSON. Nanos must not be negative.");
-        let z = "Z";
-        if (message.nanos > 0) {
-          let nanosStr = (message.nanos + 1e9).toString().substring(1);
-          if (nanosStr.substring(3) === "000000")
-            z = "." + nanosStr.substring(0, 3) + "Z";
-          else if (nanosStr.substring(6) === "000")
-            z = "." + nanosStr.substring(0, 6) + "Z";
-          else
-            z = "." + nanosStr + "Z";
-        }
-        return new Date(ms).toISOString().replace(".000Z", z);
-      }
+      updateAgeOnGet;
       /**
-       * In JSON format, the `Timestamp` type is encoded as a string
-       * in the RFC 3339 format.
+       * {@link LRUCache.OptionsBase.updateAgeOnHas}
        */
-      internalJsonRead(json2, options, target) {
-        if (typeof json2 !== "string")
-          throw new Error("Unable to parse Timestamp from JSON " + (0, runtime_5.typeofJsonValue)(json2) + ".");
-        let matches = json2.match(/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(?:Z|\.([0-9]{3,9})Z|([+-][0-9][0-9]:[0-9][0-9]))$/);
-        if (!matches)
-          throw new Error("Unable to parse Timestamp from JSON. Invalid format.");
-        let ms = Date.parse(matches[1] + "-" + matches[2] + "-" + matches[3] + "T" + matches[4] + ":" + matches[5] + ":" + matches[6] + (matches[8] ? matches[8] : "Z"));
-        if (Number.isNaN(ms))
-          throw new Error("Unable to parse Timestamp from JSON. Invalid value.");
-        if (ms < Date.parse("0001-01-01T00:00:00Z") || ms > Date.parse("9999-12-31T23:59:59Z"))
-          throw new globalThis.Error("Unable to parse Timestamp from JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.");
-        if (!target)
-          target = this.create();
-        target.seconds = runtime_6.PbLong.from(ms / 1e3).toString();
-        target.nanos = 0;
-        if (matches[7])
-          target.nanos = parseInt("1" + matches[7] + "0".repeat(9 - matches[7].length)) - 1e9;
-        return target;
-      }
-      create(value) {
-        const message = { seconds: "0", nanos: 0 };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* int64 seconds */
-            1:
-              message.seconds = reader.int64().toString();
-              break;
-            case /* int32 nanos */
-            2:
-              message.nanos = reader.int32();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.seconds !== "0")
-          writer.tag(1, runtime_1.WireType.Varint).int64(message.seconds);
-        if (message.nanos !== 0)
-          writer.tag(2, runtime_1.WireType.Varint).int32(message.nanos);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.Timestamp = new Timestamp$Type();
-  }
-});
-
-// node_modules/@actions/artifact/lib/generated/google/protobuf/wrappers.js
-var require_wrappers = __commonJS({
-  "node_modules/@actions/artifact/lib/generated/google/protobuf/wrappers.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BytesValue = exports2.StringValue = exports2.BoolValue = exports2.UInt32Value = exports2.Int32Value = exports2.UInt64Value = exports2.Int64Value = exports2.FloatValue = exports2.DoubleValue = void 0;
-    var runtime_1 = require_commonjs16();
-    var runtime_2 = require_commonjs16();
-    var runtime_3 = require_commonjs16();
-    var runtime_4 = require_commonjs16();
-    var runtime_5 = require_commonjs16();
-    var runtime_6 = require_commonjs16();
-    var runtime_7 = require_commonjs16();
-    var DoubleValue$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.DoubleValue", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 1
-            /*ScalarType.DOUBLE*/
-          }
-        ]);
-      }
+      updateAgeOnHas;
       /**
-       * Encode `DoubleValue` to JSON number.
+       * {@link LRUCache.OptionsBase.allowStale}
        */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(2, message.value, "value", false, true);
-      }
+      allowStale;
       /**
-       * Decode `DoubleValue` from JSON number.
+       * {@link LRUCache.OptionsBase.noDisposeOnSet}
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 1, void 0, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: 0 };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* double value */
-            1:
-              message.value = reader.double();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== 0)
-          writer.tag(1, runtime_3.WireType.Bit64).double(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.DoubleValue = new DoubleValue$Type();
-    var FloatValue$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.FloatValue", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 2
-            /*ScalarType.FLOAT*/
-          }
-        ]);
-      }
+      noDisposeOnSet;
       /**
-       * Encode `FloatValue` to JSON number.
+       * {@link LRUCache.OptionsBase.noUpdateTTL}
        */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(1, message.value, "value", false, true);
-      }
+      noUpdateTTL;
       /**
-       * Decode `FloatValue` from JSON number.
+       * {@link LRUCache.OptionsBase.maxEntrySize}
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 1, void 0, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: 0 };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* float value */
-            1:
-              message.value = reader.float();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== 0)
-          writer.tag(1, runtime_3.WireType.Bit32).float(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.FloatValue = new FloatValue$Type();
-    var Int64Value$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.Int64Value", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          }
-        ]);
-      }
+      maxEntrySize;
+      /**
+       * {@link LRUCache.OptionsBase.sizeCalculation}
+       */
+      sizeCalculation;
       /**
-       * Encode `Int64Value` to JSON string.
+       * {@link LRUCache.OptionsBase.noDeleteOnFetchRejection}
        */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(runtime_1.ScalarType.INT64, message.value, "value", false, true);
-      }
+      noDeleteOnFetchRejection;
       /**
-       * Decode `Int64Value` from JSON string.
+       * {@link LRUCache.OptionsBase.noDeleteOnStaleGet}
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, runtime_1.ScalarType.INT64, runtime_2.LongType.STRING, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: "0" };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* int64 value */
-            1:
-              message.value = reader.int64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== "0")
-          writer.tag(1, runtime_3.WireType.Varint).int64(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.Int64Value = new Int64Value$Type();
-    var UInt64Value$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.UInt64Value", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 4
-            /*ScalarType.UINT64*/
-          }
-        ]);
-      }
+      noDeleteOnStaleGet;
       /**
-       * Encode `UInt64Value` to JSON string.
+       * {@link LRUCache.OptionsBase.allowStaleOnFetchAbort}
        */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(runtime_1.ScalarType.UINT64, message.value, "value", false, true);
-      }
+      allowStaleOnFetchAbort;
       /**
-       * Decode `UInt64Value` from JSON string.
+       * {@link LRUCache.OptionsBase.allowStaleOnFetchRejection}
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, runtime_1.ScalarType.UINT64, runtime_2.LongType.STRING, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: "0" };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* uint64 value */
-            1:
-              message.value = reader.uint64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== "0")
-          writer.tag(1, runtime_3.WireType.Varint).uint64(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.UInt64Value = new UInt64Value$Type();
-    var Int32Value$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.Int32Value", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 5
-            /*ScalarType.INT32*/
-          }
-        ]);
-      }
+      allowStaleOnFetchRejection;
       /**
-       * Encode `Int32Value` to JSON string.
+       * {@link LRUCache.OptionsBase.ignoreFetchAbort}
        */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(5, message.value, "value", false, true);
-      }
+      ignoreFetchAbort;
+      // computed properties
+      #size;
+      #calculatedSize;
+      #keyMap;
+      #keyList;
+      #valList;
+      #next;
+      #prev;
+      #head;
+      #tail;
+      #free;
+      #disposed;
+      #sizes;
+      #starts;
+      #ttls;
+      #hasDispose;
+      #hasFetchMethod;
+      #hasDisposeAfter;
+      #hasOnInsert;
       /**
-       * Decode `Int32Value` from JSON string.
+       * Do not call this method unless you need to inspect the
+       * inner workings of the cache.  If anything returned by this
+       * object is modified in any way, strange breakage may occur.
+       *
+       * These fields are private for a reason!
+       *
+       * @internal
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 5, void 0, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: 0 };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* int32 value */
-            1:
-              message.value = reader.int32();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== 0)
-          writer.tag(1, runtime_3.WireType.Varint).int32(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.Int32Value = new Int32Value$Type();
-    var UInt32Value$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.UInt32Value", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 13
-            /*ScalarType.UINT32*/
-          }
-        ]);
+      static unsafeExposeInternals(c) {
+        return {
+          // properties
+          starts: c.#starts,
+          ttls: c.#ttls,
+          sizes: c.#sizes,
+          keyMap: c.#keyMap,
+          keyList: c.#keyList,
+          valList: c.#valList,
+          next: c.#next,
+          prev: c.#prev,
+          get head() {
+            return c.#head;
+          },
+          get tail() {
+            return c.#tail;
+          },
+          free: c.#free,
+          // methods
+          isBackgroundFetch: (p) => c.#isBackgroundFetch(p),
+          backgroundFetch: (k, index, options, context2) => c.#backgroundFetch(k, index, options, context2),
+          moveToTail: (index) => c.#moveToTail(index),
+          indexes: (options) => c.#indexes(options),
+          rindexes: (options) => c.#rindexes(options),
+          isStale: (index) => c.#isStale(index)
+        };
       }
+      // Protected read-only members
       /**
-       * Encode `UInt32Value` to JSON string.
+       * {@link LRUCache.OptionsBase.max} (read-only)
        */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(13, message.value, "value", false, true);
+      get max() {
+        return this.#max;
       }
       /**
-       * Decode `UInt32Value` from JSON string.
+       * {@link LRUCache.OptionsBase.maxSize} (read-only)
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 13, void 0, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: 0 };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* uint32 value */
-            1:
-              message.value = reader.uint32();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== 0)
-          writer.tag(1, runtime_3.WireType.Varint).uint32(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.UInt32Value = new UInt32Value$Type();
-    var BoolValue$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.BoolValue", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          }
-        ]);
+      get maxSize() {
+        return this.#maxSize;
       }
       /**
-       * Encode `BoolValue` to JSON bool.
+       * The total computed size of items in the cache (read-only)
        */
-      internalJsonWrite(message, options) {
-        return message.value;
+      get calculatedSize() {
+        return this.#calculatedSize;
       }
       /**
-       * Decode `BoolValue` from JSON bool.
+       * The number of items stored in the cache (read-only)
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 8, void 0, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: false };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool value */
-            1:
-              message.value = reader.bool();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
+      get size() {
+        return this.#size;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== false)
-          writer.tag(1, runtime_3.WireType.Varint).bool(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      /**
+       * {@link LRUCache.OptionsBase.fetchMethod} (read-only)
+       */
+      get fetchMethod() {
+        return this.#fetchMethod;
       }
-    };
-    exports2.BoolValue = new BoolValue$Type();
-    var StringValue$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.StringValue", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
+      get memoMethod() {
+        return this.#memoMethod;
       }
       /**
-       * Encode `StringValue` to JSON string.
+       * {@link LRUCache.OptionsBase.dispose} (read-only)
        */
-      internalJsonWrite(message, options) {
-        return message.value;
+      get dispose() {
+        return this.#dispose;
       }
       /**
-       * Decode `StringValue` from JSON string.
+       * {@link LRUCache.OptionsBase.onInsert} (read-only)
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 9, void 0, "value");
-        return target;
+      get onInsert() {
+        return this.#onInsert;
       }
-      create(value) {
-        const message = { value: "" };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
+      /**
+       * {@link LRUCache.OptionsBase.disposeAfter} (read-only)
+       */
+      get disposeAfter() {
+        return this.#disposeAfter;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string value */
-            1:
-              message.value = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      constructor(options) {
+        const { max = 0, ttl, ttlResolution = 1, ttlAutopurge, updateAgeOnGet, updateAgeOnHas, allowStale, dispose, onInsert, disposeAfter, noDisposeOnSet, noUpdateTTL, maxSize = 0, maxEntrySize = 0, sizeCalculation, fetchMethod, memoMethod, noDeleteOnFetchRejection, noDeleteOnStaleGet, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort } = options;
+        if (max !== 0 && !isPosInt(max)) {
+          throw new TypeError("max option must be a nonnegative integer");
+        }
+        const UintArray = max ? getUintArray(max) : Array;
+        if (!UintArray) {
+          throw new Error("invalid max value: " + max);
+        }
+        this.#max = max;
+        this.#maxSize = maxSize;
+        this.maxEntrySize = maxEntrySize || this.#maxSize;
+        this.sizeCalculation = sizeCalculation;
+        if (this.sizeCalculation) {
+          if (!this.#maxSize && !this.maxEntrySize) {
+            throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");
+          }
+          if (typeof this.sizeCalculation !== "function") {
+            throw new TypeError("sizeCalculation set to non-function");
+          }
+        }
+        if (memoMethod !== void 0 && typeof memoMethod !== "function") {
+          throw new TypeError("memoMethod must be a function if defined");
+        }
+        this.#memoMethod = memoMethod;
+        if (fetchMethod !== void 0 && typeof fetchMethod !== "function") {
+          throw new TypeError("fetchMethod must be a function if specified");
+        }
+        this.#fetchMethod = fetchMethod;
+        this.#hasFetchMethod = !!fetchMethod;
+        this.#keyMap = /* @__PURE__ */ new Map();
+        this.#keyList = new Array(max).fill(void 0);
+        this.#valList = new Array(max).fill(void 0);
+        this.#next = new UintArray(max);
+        this.#prev = new UintArray(max);
+        this.#head = 0;
+        this.#tail = 0;
+        this.#free = Stack.create(max);
+        this.#size = 0;
+        this.#calculatedSize = 0;
+        if (typeof dispose === "function") {
+          this.#dispose = dispose;
+        }
+        if (typeof onInsert === "function") {
+          this.#onInsert = onInsert;
+        }
+        if (typeof disposeAfter === "function") {
+          this.#disposeAfter = disposeAfter;
+          this.#disposed = [];
+        } else {
+          this.#disposeAfter = void 0;
+          this.#disposed = void 0;
+        }
+        this.#hasDispose = !!this.#dispose;
+        this.#hasOnInsert = !!this.#onInsert;
+        this.#hasDisposeAfter = !!this.#disposeAfter;
+        this.noDisposeOnSet = !!noDisposeOnSet;
+        this.noUpdateTTL = !!noUpdateTTL;
+        this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection;
+        this.allowStaleOnFetchRejection = !!allowStaleOnFetchRejection;
+        this.allowStaleOnFetchAbort = !!allowStaleOnFetchAbort;
+        this.ignoreFetchAbort = !!ignoreFetchAbort;
+        if (this.maxEntrySize !== 0) {
+          if (this.#maxSize !== 0) {
+            if (!isPosInt(this.#maxSize)) {
+              throw new TypeError("maxSize must be a positive integer if specified");
+            }
+          }
+          if (!isPosInt(this.maxEntrySize)) {
+            throw new TypeError("maxEntrySize must be a positive integer if specified");
+          }
+          this.#initializeSizeTracking();
+        }
+        this.allowStale = !!allowStale;
+        this.noDeleteOnStaleGet = !!noDeleteOnStaleGet;
+        this.updateAgeOnGet = !!updateAgeOnGet;
+        this.updateAgeOnHas = !!updateAgeOnHas;
+        this.ttlResolution = isPosInt(ttlResolution) || ttlResolution === 0 ? ttlResolution : 1;
+        this.ttlAutopurge = !!ttlAutopurge;
+        this.ttl = ttl || 0;
+        if (this.ttl) {
+          if (!isPosInt(this.ttl)) {
+            throw new TypeError("ttl must be a positive integer if specified");
+          }
+          this.#initializeTTLTracking();
+        }
+        if (this.#max === 0 && this.ttl === 0 && this.#maxSize === 0) {
+          throw new TypeError("At least one of max, maxSize, or ttl is required");
+        }
+        if (!this.ttlAutopurge && !this.#max && !this.#maxSize) {
+          const code = "LRU_CACHE_UNBOUNDED";
+          if (shouldWarn(code)) {
+            warned.add(code);
+            const msg = "TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.";
+            emitWarning(msg, "UnboundedCacheWarning", code, _LRUCache);
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== "")
-          writer.tag(1, runtime_3.WireType.LengthDelimited).string(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.StringValue = new StringValue$Type();
-    var BytesValue$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.BytesValue", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 12
-            /*ScalarType.BYTES*/
-          }
-        ]);
-      }
-      /**
-       * Encode `BytesValue` to JSON string.
-       */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(12, message.value, "value", false, true);
       }
       /**
-       * Decode `BytesValue` from JSON string.
+       * Return the number of ms left in the item's TTL. If item is not in cache,
+       * returns `0`. Returns `Infinity` if item is in cache without a defined TTL.
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 12, void 0, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: new Uint8Array(0) };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
+      getRemainingTTL(key) {
+        return this.#keyMap.has(key) ? Infinity : 0;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bytes value */
-            1:
-              message.value = reader.bytes();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      #initializeTTLTracking() {
+        const ttls = new ZeroArray(this.#max);
+        const starts = new ZeroArray(this.#max);
+        this.#ttls = ttls;
+        this.#starts = starts;
+        this.#setItemTTL = (index, ttl, start = perf.now()) => {
+          starts[index] = ttl !== 0 ? start : 0;
+          ttls[index] = ttl;
+          if (ttl !== 0 && this.ttlAutopurge) {
+            const t = setTimeout(() => {
+              if (this.#isStale(index)) {
+                this.#delete(this.#keyList[index], "expire");
+              }
+            }, ttl + 1);
+            if (t.unref) {
+              t.unref();
+            }
           }
-        }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value.length)
-          writer.tag(1, runtime_3.WireType.LengthDelimited).bytes(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.BytesValue = new BytesValue$Type();
-  }
-});
-
-// node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.js
-var require_artifact = __commonJS({
-  "node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ArtifactService = exports2.DeleteArtifactResponse = exports2.DeleteArtifactRequest = exports2.GetSignedArtifactURLResponse = exports2.GetSignedArtifactURLRequest = exports2.ListArtifactsResponse_MonolithArtifact = exports2.ListArtifactsResponse = exports2.ListArtifactsRequest = exports2.FinalizeArtifactResponse = exports2.FinalizeArtifactRequest = exports2.CreateArtifactResponse = exports2.CreateArtifactRequest = exports2.FinalizeMigratedArtifactResponse = exports2.FinalizeMigratedArtifactRequest = exports2.MigrateArtifactResponse = exports2.MigrateArtifactRequest = void 0;
-    var runtime_rpc_1 = require_commonjs17();
-    var runtime_1 = require_commonjs16();
-    var runtime_2 = require_commonjs16();
-    var runtime_3 = require_commonjs16();
-    var runtime_4 = require_commonjs16();
-    var runtime_5 = require_commonjs16();
-    var wrappers_1 = require_wrappers();
-    var wrappers_2 = require_wrappers();
-    var timestamp_1 = require_timestamp();
-    var MigrateArtifactRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.MigrateArtifactRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          { no: 3, name: "expires_at", kind: "message", T: () => timestamp_1.Timestamp }
-        ]);
+        };
+        this.#updateItemAge = (index) => {
+          starts[index] = ttls[index] !== 0 ? perf.now() : 0;
+        };
+        this.#statusTTL = (status, index) => {
+          if (ttls[index]) {
+            const ttl = ttls[index];
+            const start = starts[index];
+            if (!ttl || !start)
+              return;
+            status.ttl = ttl;
+            status.start = start;
+            status.now = cachedNow || getNow();
+            const age = status.now - start;
+            status.remainingTTL = ttl - age;
+          }
+        };
+        let cachedNow = 0;
+        const getNow = () => {
+          const n = perf.now();
+          if (this.ttlResolution > 0) {
+            cachedNow = n;
+            const t = setTimeout(() => cachedNow = 0, this.ttlResolution);
+            if (t.unref) {
+              t.unref();
+            }
+          }
+          return n;
+        };
+        this.getRemainingTTL = (key) => {
+          const index = this.#keyMap.get(key);
+          if (index === void 0) {
+            return 0;
+          }
+          const ttl = ttls[index];
+          const start = starts[index];
+          if (!ttl || !start) {
+            return Infinity;
+          }
+          const age = (cachedNow || getNow()) - start;
+          return ttl - age;
+        };
+        this.#isStale = (index) => {
+          const s = starts[index];
+          const t = ttls[index];
+          return !!t && !!s && (cachedNow || getNow()) - s > t;
+        };
       }
-      create(value) {
-        const message = { workflowRunBackendId: "", name: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      // conditionally set private methods related to TTL
+      #updateItemAge = () => {
+      };
+      #statusTTL = () => {
+      };
+      #setItemTTL = () => {
+      };
+      /* c8 ignore stop */
+      #isStale = () => false;
+      #initializeSizeTracking() {
+        const sizes = new ZeroArray(this.#max);
+        this.#calculatedSize = 0;
+        this.#sizes = sizes;
+        this.#removeItemSize = (index) => {
+          this.#calculatedSize -= sizes[index];
+          sizes[index] = 0;
+        };
+        this.#requireSize = (k, v, size, sizeCalculation) => {
+          if (this.#isBackgroundFetch(v)) {
+            return 0;
+          }
+          if (!isPosInt(size)) {
+            if (sizeCalculation) {
+              if (typeof sizeCalculation !== "function") {
+                throw new TypeError("sizeCalculation must be a function");
+              }
+              size = sizeCalculation(v, k);
+              if (!isPosInt(size)) {
+                throw new TypeError("sizeCalculation return invalid (expect positive integer)");
+              }
+            } else {
+              throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");
+            }
+          }
+          return size;
+        };
+        this.#addItemSize = (index, size, status) => {
+          sizes[index] = size;
+          if (this.#maxSize) {
+            const maxSize = this.#maxSize - sizes[index];
+            while (this.#calculatedSize > maxSize) {
+              this.#evict(true);
+            }
+          }
+          this.#calculatedSize += sizes[index];
+          if (status) {
+            status.entrySize = size;
+            status.totalCalculatedSize = this.#calculatedSize;
+          }
+        };
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string name */
-            2:
-              message.name = reader.string();
+      #removeItemSize = (_i) => {
+      };
+      #addItemSize = (_i, _s, _st) => {
+      };
+      #requireSize = (_k, _v, size, sizeCalculation) => {
+        if (size || sizeCalculation) {
+          throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");
+        }
+        return 0;
+      };
+      *#indexes({ allowStale = this.allowStale } = {}) {
+        if (this.#size) {
+          for (let i = this.#tail; true; ) {
+            if (!this.#isValidIndex(i)) {
               break;
-            case /* google.protobuf.Timestamp expires_at */
-            3:
-              message.expiresAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expiresAt);
+            }
+            if (allowStale || !this.#isStale(i)) {
+              yield i;
+            }
+            if (i === this.#head) {
               break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+            } else {
+              i = this.#prev[i];
+            }
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.name !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.name);
-        if (message.expiresAt)
-          timestamp_1.Timestamp.internalBinaryWrite(message.expiresAt, writer.tag(3, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.MigrateArtifactRequest = new MigrateArtifactRequest$Type();
-    var MigrateArtifactResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.MigrateArtifactResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "signed_upload_url",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
-      }
-      create(value) {
-        const message = { ok: false, signedUploadUrl: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
+      *#rindexes({ allowStale = this.allowStale } = {}) {
+        if (this.#size) {
+          for (let i = this.#head; true; ) {
+            if (!this.#isValidIndex(i)) {
               break;
-            case /* string signed_upload_url */
-            2:
-              message.signedUploadUrl = reader.string();
+            }
+            if (allowStale || !this.#isStale(i)) {
+              yield i;
+            }
+            if (i === this.#tail) {
               break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+            } else {
+              i = this.#next[i];
+            }
           }
         }
-        return message;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.signedUploadUrl !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      #isValidIndex(index) {
+        return index !== void 0 && this.#keyMap.get(this.#keyList[index]) === index;
       }
-    };
-    exports2.MigrateArtifactResponse = new MigrateArtifactResponse$Type();
-    var FinalizeMigratedArtifactRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.FinalizeMigratedArtifactRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "size",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
+      /**
+       * Return a generator yielding `[key, value]` pairs,
+       * in order from most recently used to least recently used.
+       */
+      *entries() {
+        for (const i of this.#indexes()) {
+          if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield [this.#keyList[i], this.#valList[i]];
           }
-        ]);
-      }
-      create(value) {
-        const message = { workflowRunBackendId: "", name: "", size: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+        }
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string name */
-            2:
-              message.name = reader.string();
-              break;
-            case /* int64 size */
-            3:
-              message.size = reader.int64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      /**
+       * Inverse order version of {@link LRUCache.entries}
+       *
+       * Return a generator yielding `[key, value]` pairs,
+       * in order from least recently used to most recently used.
+       */
+      *rentries() {
+        for (const i of this.#rindexes()) {
+          if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield [this.#keyList[i], this.#valList[i]];
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.name !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.name);
-        if (message.size !== "0")
-          writer.tag(3, runtime_1.WireType.Varint).int64(message.size);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
       }
-    };
-    exports2.FinalizeMigratedArtifactRequest = new FinalizeMigratedArtifactRequest$Type();
-    var FinalizeMigratedArtifactResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.FinalizeMigratedArtifactResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "artifact_id",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
+      /**
+       * Return a generator yielding the keys in the cache,
+       * in order from most recently used to least recently used.
+       */
+      *keys() {
+        for (const i of this.#indexes()) {
+          const k = this.#keyList[i];
+          if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield k;
           }
-        ]);
-      }
-      create(value) {
-        const message = { ok: false, artifactId: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+        }
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* int64 artifact_id */
-            2:
-              message.artifactId = reader.int64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      /**
+       * Inverse order version of {@link LRUCache.keys}
+       *
+       * Return a generator yielding the keys in the cache,
+       * in order from least recently used to most recently used.
+       */
+      *rkeys() {
+        for (const i of this.#rindexes()) {
+          const k = this.#keyList[i];
+          if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield k;
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.artifactId !== "0")
-          writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
       }
-    };
-    exports2.FinalizeMigratedArtifactResponse = new FinalizeMigratedArtifactResponse$Type();
-    var CreateArtifactRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.CreateArtifactRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          { no: 4, name: "expires_at", kind: "message", T: () => timestamp_1.Timestamp },
-          {
-            no: 5,
-            name: "version",
-            kind: "scalar",
-            T: 5
-            /*ScalarType.INT32*/
+      /**
+       * Return a generator yielding the values in the cache,
+       * in order from most recently used to least recently used.
+       */
+      *values() {
+        for (const i of this.#indexes()) {
+          const v = this.#valList[i];
+          if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield this.#valList[i];
           }
-        ]);
-      }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "", version: 0 };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+        }
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* string name */
-            3:
-              message.name = reader.string();
-              break;
-            case /* google.protobuf.Timestamp expires_at */
-            4:
-              message.expiresAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expiresAt);
-              break;
-            case /* int32 version */
-            5:
-              message.version = reader.int32();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      /**
+       * Inverse order version of {@link LRUCache.values}
+       *
+       * Return a generator yielding the values in the cache,
+       * in order from least recently used to most recently used.
+       */
+      *rvalues() {
+        for (const i of this.#rindexes()) {
+          const v = this.#valList[i];
+          if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield this.#valList[i];
           }
         }
-        return message;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.name !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
-        if (message.expiresAt)
-          timestamp_1.Timestamp.internalBinaryWrite(message.expiresAt, writer.tag(4, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        if (message.version !== 0)
-          writer.tag(5, runtime_1.WireType.Varint).int32(message.version);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      /**
+       * Iterating over the cache itself yields the same results as
+       * {@link LRUCache.entries}
+       */
+      [Symbol.iterator]() {
+        return this.entries();
       }
-    };
-    exports2.CreateArtifactRequest = new CreateArtifactRequest$Type();
-    var CreateArtifactResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.CreateArtifactResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "signed_upload_url",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
+      /**
+       * A String value that is used in the creation of the default string
+       * description of an object. Called by the built-in method
+       * `Object.prototype.toString`.
+       */
+      [Symbol.toStringTag] = "LRUCache";
+      /**
+       * Find a value for which the supplied fn method returns a truthy value,
+       * similar to `Array.find()`. fn is called as `fn(value, key, cache)`.
+       */
+      find(fn, getOptions = {}) {
+        for (const i of this.#indexes()) {
+          const v = this.#valList[i];
+          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+          if (value === void 0)
+            continue;
+          if (fn(value, this.#keyList[i], this)) {
+            return this.get(this.#keyList[i], getOptions);
           }
-        ]);
+        }
       }
-      create(value) {
-        const message = { ok: false, signedUploadUrl: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      /**
+       * Call the supplied function on each item in the cache, in order from most
+       * recently used to least recently used.
+       *
+       * `fn` is called as `fn(value, key, cache)`.
+       *
+       * If `thisp` is provided, function will be called in the `this`-context of
+       * the provided object, or the cache if no `thisp` object is provided.
+       *
+       * Does not update age or recenty of use, or iterate over stale values.
+       */
+      forEach(fn, thisp = this) {
+        for (const i of this.#indexes()) {
+          const v = this.#valList[i];
+          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+          if (value === void 0)
+            continue;
+          fn.call(thisp, value, this.#keyList[i], this);
+        }
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* string signed_upload_url */
-            2:
-              message.signedUploadUrl = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      /**
+       * The same as {@link LRUCache.forEach} but items are iterated over in
+       * reverse order.  (ie, less recently used items are iterated over first.)
+       */
+      rforEach(fn, thisp = this) {
+        for (const i of this.#rindexes()) {
+          const v = this.#valList[i];
+          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+          if (value === void 0)
+            continue;
+          fn.call(thisp, value, this.#keyList[i], this);
+        }
+      }
+      /**
+       * Delete any stale entries. Returns true if anything was removed,
+       * false otherwise.
+       */
+      purgeStale() {
+        let deleted = false;
+        for (const i of this.#rindexes({ allowStale: true })) {
+          if (this.#isStale(i)) {
+            this.#delete(this.#keyList[i], "expire");
+            deleted = true;
           }
         }
-        return message;
+        return deleted;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.signedUploadUrl !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      /**
+       * Get the extended info about a given entry, to get its value, size, and
+       * TTL info simultaneously. Returns `undefined` if the key is not present.
+       *
+       * Unlike {@link LRUCache#dump}, which is designed to be portable and survive
+       * serialization, the `start` value is always the current timestamp, and the
+       * `ttl` is a calculated remaining time to live (negative if expired).
+       *
+       * Always returns stale values, if their info is found in the cache, so be
+       * sure to check for expirations (ie, a negative {@link LRUCache.Entry#ttl})
+       * if relevant.
+       */
+      info(key) {
+        const i = this.#keyMap.get(key);
+        if (i === void 0)
+          return void 0;
+        const v = this.#valList[i];
+        const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+        if (value === void 0)
+          return void 0;
+        const entry = { value };
+        if (this.#ttls && this.#starts) {
+          const ttl = this.#ttls[i];
+          const start = this.#starts[i];
+          if (ttl && start) {
+            const remain = ttl - (perf.now() - start);
+            entry.ttl = remain;
+            entry.start = Date.now();
+          }
+        }
+        if (this.#sizes) {
+          entry.size = this.#sizes[i];
+        }
+        return entry;
       }
-    };
-    exports2.CreateArtifactResponse = new CreateArtifactResponse$Type();
-    var FinalizeArtifactRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.FinalizeArtifactRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 4,
-            name: "size",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          },
-          { no: 5, name: "hash", kind: "message", T: () => wrappers_2.StringValue }
-        ]);
+      /**
+       * Return an array of [key, {@link LRUCache.Entry}] tuples which can be
+       * passed to {@link LRUCache#load}.
+       *
+       * The `start` fields are calculated relative to a portable `Date.now()`
+       * timestamp, even if `performance.now()` is available.
+       *
+       * Stale entries are always included in the `dump`, even if
+       * {@link LRUCache.OptionsBase.allowStale} is false.
+       *
+       * Note: this returns an actual array, not a generator, so it can be more
+       * easily passed around.
+       */
+      dump() {
+        const arr = [];
+        for (const i of this.#indexes({ allowStale: true })) {
+          const key = this.#keyList[i];
+          const v = this.#valList[i];
+          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+          if (value === void 0 || key === void 0)
+            continue;
+          const entry = { value };
+          if (this.#ttls && this.#starts) {
+            entry.ttl = this.#ttls[i];
+            const age = perf.now() - this.#starts[i];
+            entry.start = Math.floor(Date.now() - age);
+          }
+          if (this.#sizes) {
+            entry.size = this.#sizes[i];
+          }
+          arr.unshift([key, entry]);
+        }
+        return arr;
       }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "", size: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      /**
+       * Reset the cache and load in the items in entries in the order listed.
+       *
+       * The shape of the resulting cache may be different if the same options are
+       * not used in both caches.
+       *
+       * The `start` fields are assumed to be calculated relative to a portable
+       * `Date.now()` timestamp, even if `performance.now()` is available.
+       */
+      load(arr) {
+        this.clear();
+        for (const [key, entry] of arr) {
+          if (entry.start) {
+            const age = Date.now() - entry.start;
+            entry.start = perf.now() - age;
+          }
+          this.set(key, entry.value, entry);
+        }
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* string name */
-            3:
-              message.name = reader.string();
-              break;
-            case /* int64 size */
-            4:
-              message.size = reader.int64().toString();
-              break;
-            case /* google.protobuf.StringValue hash */
-            5:
-              message.hash = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.hash);
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      /**
+       * Add a value to the cache.
+       *
+       * Note: if `undefined` is specified as a value, this is an alias for
+       * {@link LRUCache#delete}
+       *
+       * Fields on the {@link LRUCache.SetOptions} options param will override
+       * their corresponding values in the constructor options for the scope
+       * of this single `set()` operation.
+       *
+       * If `start` is provided, then that will set the effective start
+       * time for the TTL calculation. Note that this must be a previous
+       * value of `performance.now()` if supported, or a previous value of
+       * `Date.now()` if not.
+       *
+       * Options object may also include `size`, which will prevent
+       * calling the `sizeCalculation` function and just use the specified
+       * number if it is a positive integer, and `noDisposeOnSet` which
+       * will prevent calling a `dispose` function in the case of
+       * overwrites.
+       *
+       * If the `size` (or return value of `sizeCalculation`) for a given
+       * entry is greater than `maxEntrySize`, then the item will not be
+       * added to the cache.
+       *
+       * Will update the recency of the entry.
+       *
+       * If the value is `undefined`, then this is an alias for
+       * `cache.delete(key)`. `undefined` is never stored in the cache.
+       */
+      set(k, v, setOptions = {}) {
+        if (v === void 0) {
+          this.delete(k);
+          return this;
+        }
+        const { ttl = this.ttl, start, noDisposeOnSet = this.noDisposeOnSet, sizeCalculation = this.sizeCalculation, status } = setOptions;
+        let { noUpdateTTL = this.noUpdateTTL } = setOptions;
+        const size = this.#requireSize(k, v, setOptions.size || 0, sizeCalculation);
+        if (this.maxEntrySize && size > this.maxEntrySize) {
+          if (status) {
+            status.set = "miss";
+            status.maxEntrySizeExceeded = true;
+          }
+          this.#delete(k, "set");
+          return this;
+        }
+        let index = this.#size === 0 ? void 0 : this.#keyMap.get(k);
+        if (index === void 0) {
+          index = this.#size === 0 ? this.#tail : this.#free.length !== 0 ? this.#free.pop() : this.#size === this.#max ? this.#evict(false) : this.#size;
+          this.#keyList[index] = k;
+          this.#valList[index] = v;
+          this.#keyMap.set(k, index);
+          this.#next[this.#tail] = index;
+          this.#prev[index] = this.#tail;
+          this.#tail = index;
+          this.#size++;
+          this.#addItemSize(index, size, status);
+          if (status)
+            status.set = "add";
+          noUpdateTTL = false;
+          if (this.#hasOnInsert) {
+            this.#onInsert?.(v, k, "add");
+          }
+        } else {
+          this.#moveToTail(index);
+          const oldVal = this.#valList[index];
+          if (v !== oldVal) {
+            if (this.#hasFetchMethod && this.#isBackgroundFetch(oldVal)) {
+              oldVal.__abortController.abort(new Error("replaced"));
+              const { __staleWhileFetching: s } = oldVal;
+              if (s !== void 0 && !noDisposeOnSet) {
+                if (this.#hasDispose) {
+                  this.#dispose?.(s, k, "set");
+                }
+                if (this.#hasDisposeAfter) {
+                  this.#disposed?.push([s, k, "set"]);
+                }
+              }
+            } else if (!noDisposeOnSet) {
+              if (this.#hasDispose) {
+                this.#dispose?.(oldVal, k, "set");
+              }
+              if (this.#hasDisposeAfter) {
+                this.#disposed?.push([oldVal, k, "set"]);
+              }
+            }
+            this.#removeItemSize(index);
+            this.#addItemSize(index, size, status);
+            this.#valList[index] = v;
+            if (status) {
+              status.set = "replace";
+              const oldValue = oldVal && this.#isBackgroundFetch(oldVal) ? oldVal.__staleWhileFetching : oldVal;
+              if (oldValue !== void 0)
+                status.oldValue = oldValue;
+            }
+          } else if (status) {
+            status.set = "update";
+          }
+          if (this.#hasOnInsert) {
+            this.onInsert?.(v, k, v === oldVal ? "update" : "replace");
+          }
+        }
+        if (ttl !== 0 && !this.#ttls) {
+          this.#initializeTTLTracking();
+        }
+        if (this.#ttls) {
+          if (!noUpdateTTL) {
+            this.#setItemTTL(index, ttl, start);
           }
+          if (status)
+            this.#statusTTL(status, index);
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.name !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
-        if (message.size !== "0")
-          writer.tag(4, runtime_1.WireType.Varint).int64(message.size);
-        if (message.hash)
-          wrappers_2.StringValue.internalBinaryWrite(message.hash, writer.tag(5, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.FinalizeArtifactRequest = new FinalizeArtifactRequest$Type();
-    var FinalizeArtifactResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.FinalizeArtifactResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "artifact_id",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          }
-        ]);
-      }
-      create(value) {
-        const message = { ok: false, artifactId: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* int64 artifact_id */
-            2:
-              message.artifactId = reader.int64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+        if (!noDisposeOnSet && this.#hasDisposeAfter && this.#disposed) {
+          const dt = this.#disposed;
+          let task;
+          while (task = dt?.shift()) {
+            this.#disposeAfter?.(...task);
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.artifactId !== "0")
-          writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.FinalizeArtifactResponse = new FinalizeArtifactResponse$Type();
-    var ListArtifactsRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.ListArtifactsRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          { no: 3, name: "name_filter", kind: "message", T: () => wrappers_2.StringValue },
-          { no: 4, name: "id_filter", kind: "message", T: () => wrappers_1.Int64Value }
-        ]);
-      }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+        return this;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* google.protobuf.StringValue name_filter */
-            3:
-              message.nameFilter = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.nameFilter);
-              break;
-            case /* google.protobuf.Int64Value id_filter */
-            4:
-              message.idFilter = wrappers_1.Int64Value.internalBinaryRead(reader, reader.uint32(), options, message.idFilter);
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      /**
+       * Evict the least recently used item, returning its value or
+       * `undefined` if cache is empty.
+       */
+      pop() {
+        try {
+          while (this.#size) {
+            const val = this.#valList[this.#head];
+            this.#evict(true);
+            if (this.#isBackgroundFetch(val)) {
+              if (val.__staleWhileFetching) {
+                return val.__staleWhileFetching;
+              }
+            } else if (val !== void 0) {
+              return val;
+            }
+          }
+        } finally {
+          if (this.#hasDisposeAfter && this.#disposed) {
+            const dt = this.#disposed;
+            let task;
+            while (task = dt?.shift()) {
+              this.#disposeAfter?.(...task);
+            }
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.nameFilter)
-          wrappers_2.StringValue.internalBinaryWrite(message.nameFilter, writer.tag(3, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        if (message.idFilter)
-          wrappers_1.Int64Value.internalBinaryWrite(message.idFilter, writer.tag(4, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.ListArtifactsRequest = new ListArtifactsRequest$Type();
-    var ListArtifactsResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.ListArtifactsResponse", [
-          { no: 1, name: "artifacts", kind: "message", repeat: 1, T: () => exports2.ListArtifactsResponse_MonolithArtifact }
-        ]);
-      }
-      create(value) {
-        const message = { artifacts: [] };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* repeated github.actions.results.api.v1.ListArtifactsResponse.MonolithArtifact artifacts */
-            1:
-              message.artifacts.push(exports2.ListArtifactsResponse_MonolithArtifact.internalBinaryRead(reader, reader.uint32(), options));
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      #evict(free) {
+        const head = this.#head;
+        const k = this.#keyList[head];
+        const v = this.#valList[head];
+        if (this.#hasFetchMethod && this.#isBackgroundFetch(v)) {
+          v.__abortController.abort(new Error("evicted"));
+        } else if (this.#hasDispose || this.#hasDisposeAfter) {
+          if (this.#hasDispose) {
+            this.#dispose?.(v, k, "evict");
+          }
+          if (this.#hasDisposeAfter) {
+            this.#disposed?.push([v, k, "evict"]);
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        for (let i = 0; i < message.artifacts.length; i++)
-          exports2.ListArtifactsResponse_MonolithArtifact.internalBinaryWrite(message.artifacts[i], writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.ListArtifactsResponse = new ListArtifactsResponse$Type();
-    var ListArtifactsResponse_MonolithArtifact$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.ListArtifactsResponse.MonolithArtifact", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "database_id",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          },
-          {
-            no: 4,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 5,
-            name: "size",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          },
-          { no: 6, name: "created_at", kind: "message", T: () => timestamp_1.Timestamp },
-          { no: 7, name: "digest", kind: "message", T: () => wrappers_2.StringValue }
-        ]);
-      }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", databaseId: "0", name: "", size: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+        this.#removeItemSize(head);
+        if (free) {
+          this.#keyList[head] = void 0;
+          this.#valList[head] = void 0;
+          this.#free.push(head);
+        }
+        if (this.#size === 1) {
+          this.#head = this.#tail = 0;
+          this.#free.length = 0;
+        } else {
+          this.#head = this.#next[head];
+        }
+        this.#keyMap.delete(k);
+        this.#size--;
+        return head;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* int64 database_id */
-            3:
-              message.databaseId = reader.int64().toString();
-              break;
-            case /* string name */
-            4:
-              message.name = reader.string();
-              break;
-            case /* int64 size */
-            5:
-              message.size = reader.int64().toString();
-              break;
-            case /* google.protobuf.Timestamp created_at */
-            6:
-              message.createdAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.createdAt);
-              break;
-            case /* google.protobuf.StringValue digest */
-            7:
-              message.digest = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.digest);
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      /**
+       * Check if a key is in the cache, without updating the recency of use.
+       * Will return false if the item is stale, even though it is technically
+       * in the cache.
+       *
+       * Check if a key is in the cache, without updating the recency of
+       * use. Age is updated if {@link LRUCache.OptionsBase.updateAgeOnHas} is set
+       * to `true` in either the options or the constructor.
+       *
+       * Will return `false` if the item is stale, even though it is technically in
+       * the cache. The difference can be determined (if it matters) by using a
+       * `status` argument, and inspecting the `has` field.
+       *
+       * Will not update item age unless
+       * {@link LRUCache.OptionsBase.updateAgeOnHas} is set.
+       */
+      has(k, hasOptions = {}) {
+        const { updateAgeOnHas = this.updateAgeOnHas, status } = hasOptions;
+        const index = this.#keyMap.get(k);
+        if (index !== void 0) {
+          const v = this.#valList[index];
+          if (this.#isBackgroundFetch(v) && v.__staleWhileFetching === void 0) {
+            return false;
+          }
+          if (!this.#isStale(index)) {
+            if (updateAgeOnHas) {
+              this.#updateItemAge(index);
+            }
+            if (status) {
+              status.has = "hit";
+              this.#statusTTL(status, index);
+            }
+            return true;
+          } else if (status) {
+            status.has = "stale";
+            this.#statusTTL(status, index);
           }
+        } else if (status) {
+          status.has = "miss";
         }
-        return message;
+        return false;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.databaseId !== "0")
-          writer.tag(3, runtime_1.WireType.Varint).int64(message.databaseId);
-        if (message.name !== "")
-          writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.name);
-        if (message.size !== "0")
-          writer.tag(5, runtime_1.WireType.Varint).int64(message.size);
-        if (message.createdAt)
-          timestamp_1.Timestamp.internalBinaryWrite(message.createdAt, writer.tag(6, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        if (message.digest)
-          wrappers_2.StringValue.internalBinaryWrite(message.digest, writer.tag(7, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      /**
+       * Like {@link LRUCache#get} but doesn't update recency or delete stale
+       * items.
+       *
+       * Returns `undefined` if the item is stale, unless
+       * {@link LRUCache.OptionsBase.allowStale} is set.
+       */
+      peek(k, peekOptions = {}) {
+        const { allowStale = this.allowStale } = peekOptions;
+        const index = this.#keyMap.get(k);
+        if (index === void 0 || !allowStale && this.#isStale(index)) {
+          return;
+        }
+        const v = this.#valList[index];
+        return this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
       }
-    };
-    exports2.ListArtifactsResponse_MonolithArtifact = new ListArtifactsResponse_MonolithArtifact$Type();
-    var GetSignedArtifactURLRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.GetSignedArtifactURLRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
+      #backgroundFetch(k, index, options, context2) {
+        const v = index === void 0 ? void 0 : this.#valList[index];
+        if (this.#isBackgroundFetch(v)) {
+          return v;
+        }
+        const ac = new AC();
+        const { signal } = options;
+        signal?.addEventListener("abort", () => ac.abort(signal.reason), {
+          signal: ac.signal
+        });
+        const fetchOpts = {
+          signal: ac.signal,
+          options,
+          context: context2
+        };
+        const cb = (v2, updateCache = false) => {
+          const { aborted } = ac.signal;
+          const ignoreAbort = options.ignoreFetchAbort && v2 !== void 0;
+          if (options.status) {
+            if (aborted && !updateCache) {
+              options.status.fetchAborted = true;
+              options.status.fetchError = ac.signal.reason;
+              if (ignoreAbort)
+                options.status.fetchAbortIgnored = true;
+            } else {
+              options.status.fetchResolved = true;
+            }
+          }
+          if (aborted && !ignoreAbort && !updateCache) {
+            return fetchFail(ac.signal.reason);
+          }
+          const bf2 = p;
+          if (this.#valList[index] === p) {
+            if (v2 === void 0) {
+              if (bf2.__staleWhileFetching) {
+                this.#valList[index] = bf2.__staleWhileFetching;
+              } else {
+                this.#delete(k, "fetch");
+              }
+            } else {
+              if (options.status)
+                options.status.fetchUpdated = true;
+              this.set(k, v2, fetchOpts.options);
+            }
+          }
+          return v2;
+        };
+        const eb = (er) => {
+          if (options.status) {
+            options.status.fetchRejected = true;
+            options.status.fetchError = er;
+          }
+          return fetchFail(er);
+        };
+        const fetchFail = (er) => {
+          const { aborted } = ac.signal;
+          const allowStaleAborted = aborted && options.allowStaleOnFetchAbort;
+          const allowStale = allowStaleAborted || options.allowStaleOnFetchRejection;
+          const noDelete = allowStale || options.noDeleteOnFetchRejection;
+          const bf2 = p;
+          if (this.#valList[index] === p) {
+            const del = !noDelete || bf2.__staleWhileFetching === void 0;
+            if (del) {
+              this.#delete(k, "fetch");
+            } else if (!allowStaleAborted) {
+              this.#valList[index] = bf2.__staleWhileFetching;
+            }
+          }
+          if (allowStale) {
+            if (options.status && bf2.__staleWhileFetching !== void 0) {
+              options.status.returnedStale = true;
+            }
+            return bf2.__staleWhileFetching;
+          } else if (bf2.__returned === bf2) {
+            throw er;
           }
-        ]);
-      }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* string name */
-            3:
-              message.name = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+        };
+        const pcall = (res, rej) => {
+          const fmp = this.#fetchMethod?.(k, v, fetchOpts);
+          if (fmp && fmp instanceof Promise) {
+            fmp.then((v2) => res(v2 === void 0 ? void 0 : v2), rej);
           }
+          ac.signal.addEventListener("abort", () => {
+            if (!options.ignoreFetchAbort || options.allowStaleOnFetchAbort) {
+              res(void 0);
+              if (options.allowStaleOnFetchAbort) {
+                res = (v2) => cb(v2, true);
+              }
+            }
+          });
+        };
+        if (options.status)
+          options.status.fetchDispatched = true;
+        const p = new Promise(pcall).then(cb, eb);
+        const bf = Object.assign(p, {
+          __abortController: ac,
+          __staleWhileFetching: v,
+          __returned: void 0
+        });
+        if (index === void 0) {
+          this.set(k, bf, { ...fetchOpts.options, status: void 0 });
+          index = this.#keyMap.get(k);
+        } else {
+          this.#valList[index] = bf;
         }
-        return message;
+        return bf;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.name !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      #isBackgroundFetch(p) {
+        if (!this.#hasFetchMethod)
+          return false;
+        const b = p;
+        return !!b && b instanceof Promise && b.hasOwnProperty("__staleWhileFetching") && b.__abortController instanceof AC;
       }
-    };
-    exports2.GetSignedArtifactURLRequest = new GetSignedArtifactURLRequest$Type();
-    var GetSignedArtifactURLResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.GetSignedArtifactURLResponse", [
-          {
-            no: 1,
-            name: "signed_url",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
+      async fetch(k, fetchOptions = {}) {
+        const {
+          // get options
+          allowStale = this.allowStale,
+          updateAgeOnGet = this.updateAgeOnGet,
+          noDeleteOnStaleGet = this.noDeleteOnStaleGet,
+          // set options
+          ttl = this.ttl,
+          noDisposeOnSet = this.noDisposeOnSet,
+          size = 0,
+          sizeCalculation = this.sizeCalculation,
+          noUpdateTTL = this.noUpdateTTL,
+          // fetch exclusive options
+          noDeleteOnFetchRejection = this.noDeleteOnFetchRejection,
+          allowStaleOnFetchRejection = this.allowStaleOnFetchRejection,
+          ignoreFetchAbort = this.ignoreFetchAbort,
+          allowStaleOnFetchAbort = this.allowStaleOnFetchAbort,
+          context: context2,
+          forceRefresh = false,
+          status,
+          signal
+        } = fetchOptions;
+        if (!this.#hasFetchMethod) {
+          if (status)
+            status.fetch = "get";
+          return this.get(k, {
+            allowStale,
+            updateAgeOnGet,
+            noDeleteOnStaleGet,
+            status
+          });
+        }
+        const options = {
+          allowStale,
+          updateAgeOnGet,
+          noDeleteOnStaleGet,
+          ttl,
+          noDisposeOnSet,
+          size,
+          sizeCalculation,
+          noUpdateTTL,
+          noDeleteOnFetchRejection,
+          allowStaleOnFetchRejection,
+          allowStaleOnFetchAbort,
+          ignoreFetchAbort,
+          status,
+          signal
+        };
+        let index = this.#keyMap.get(k);
+        if (index === void 0) {
+          if (status)
+            status.fetch = "miss";
+          const p = this.#backgroundFetch(k, index, options, context2);
+          return p.__returned = p;
+        } else {
+          const v = this.#valList[index];
+          if (this.#isBackgroundFetch(v)) {
+            const stale = allowStale && v.__staleWhileFetching !== void 0;
+            if (status) {
+              status.fetch = "inflight";
+              if (stale)
+                status.returnedStale = true;
+            }
+            return stale ? v.__staleWhileFetching : v.__returned = v;
           }
-        ]);
-      }
-      create(value) {
-        const message = { signedUrl: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string signed_url */
-            1:
-              message.signedUrl = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          const isStale = this.#isStale(index);
+          if (!forceRefresh && !isStale) {
+            if (status)
+              status.fetch = "hit";
+            this.#moveToTail(index);
+            if (updateAgeOnGet) {
+              this.#updateItemAge(index);
+            }
+            if (status)
+              this.#statusTTL(status, index);
+            return v;
           }
+          const p = this.#backgroundFetch(k, index, options, context2);
+          const hasStale = p.__staleWhileFetching !== void 0;
+          const staleVal = hasStale && allowStale;
+          if (status) {
+            status.fetch = isStale ? "stale" : "refresh";
+            if (staleVal && isStale)
+              status.returnedStale = true;
+          }
+          return staleVal ? p.__staleWhileFetching : p.__returned = p;
         }
-        return message;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.signedUrl !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.signedUrl);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      async forceFetch(k, fetchOptions = {}) {
+        const v = await this.fetch(k, fetchOptions);
+        if (v === void 0)
+          throw new Error("fetch() returned undefined");
+        return v;
       }
-    };
-    exports2.GetSignedArtifactURLResponse = new GetSignedArtifactURLResponse$Type();
-    var DeleteArtifactRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.DeleteArtifactRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
+      memo(k, memoOptions = {}) {
+        const memoMethod = this.#memoMethod;
+        if (!memoMethod) {
+          throw new Error("no memoMethod provided to constructor");
+        }
+        const { context: context2, forceRefresh, ...options } = memoOptions;
+        const v = this.get(k, options);
+        if (!forceRefresh && v !== void 0)
+          return v;
+        const vv = memoMethod(k, v, {
+          options,
+          context: context2
+        });
+        this.set(k, vv, options);
+        return vv;
+      }
+      /**
+       * Return a value from the cache. Will update the recency of the cache
+       * entry found.
+       *
+       * If the key is not found, get() will return `undefined`.
+       */
+      get(k, getOptions = {}) {
+        const { allowStale = this.allowStale, updateAgeOnGet = this.updateAgeOnGet, noDeleteOnStaleGet = this.noDeleteOnStaleGet, status } = getOptions;
+        const index = this.#keyMap.get(k);
+        if (index !== void 0) {
+          const value = this.#valList[index];
+          const fetching = this.#isBackgroundFetch(value);
+          if (status)
+            this.#statusTTL(status, index);
+          if (this.#isStale(index)) {
+            if (status)
+              status.get = "stale";
+            if (!fetching) {
+              if (!noDeleteOnStaleGet) {
+                this.#delete(k, "expire");
+              }
+              if (status && allowStale)
+                status.returnedStale = true;
+              return allowStale ? value : void 0;
+            } else {
+              if (status && allowStale && value.__staleWhileFetching !== void 0) {
+                status.returnedStale = true;
+              }
+              return allowStale ? value.__staleWhileFetching : void 0;
+            }
+          } else {
+            if (status)
+              status.get = "hit";
+            if (fetching) {
+              return value.__staleWhileFetching;
+            }
+            this.#moveToTail(index);
+            if (updateAgeOnGet) {
+              this.#updateItemAge(index);
+            }
+            return value;
           }
-        ]);
+        } else if (status) {
+          status.get = "miss";
+        }
       }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      #connect(p, n) {
+        this.#prev[n] = p;
+        this.#next[p] = n;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* string name */
-            3:
-              message.name = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      #moveToTail(index) {
+        if (index !== this.#tail) {
+          if (index === this.#head) {
+            this.#head = this.#next[index];
+          } else {
+            this.#connect(this.#prev[index], this.#next[index]);
           }
+          this.#connect(this.#tail, index);
+          this.#tail = index;
         }
-        return message;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.name !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      /**
+       * Deletes a key out of the cache.
+       *
+       * Returns true if the key was deleted, false otherwise.
+       */
+      delete(k) {
+        return this.#delete(k, "delete");
       }
-    };
-    exports2.DeleteArtifactRequest = new DeleteArtifactRequest$Type();
-    var DeleteArtifactResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.DeleteArtifactResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "artifact_id",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
+      #delete(k, reason) {
+        let deleted = false;
+        if (this.#size !== 0) {
+          const index = this.#keyMap.get(k);
+          if (index !== void 0) {
+            deleted = true;
+            if (this.#size === 1) {
+              this.#clear(reason);
+            } else {
+              this.#removeItemSize(index);
+              const v = this.#valList[index];
+              if (this.#isBackgroundFetch(v)) {
+                v.__abortController.abort(new Error("deleted"));
+              } else if (this.#hasDispose || this.#hasDisposeAfter) {
+                if (this.#hasDispose) {
+                  this.#dispose?.(v, k, reason);
+                }
+                if (this.#hasDisposeAfter) {
+                  this.#disposed?.push([v, k, reason]);
+                }
+              }
+              this.#keyMap.delete(k);
+              this.#keyList[index] = void 0;
+              this.#valList[index] = void 0;
+              if (index === this.#tail) {
+                this.#tail = this.#prev[index];
+              } else if (index === this.#head) {
+                this.#head = this.#next[index];
+              } else {
+                const pi = this.#prev[index];
+                this.#next[pi] = this.#next[index];
+                const ni = this.#next[index];
+                this.#prev[ni] = this.#prev[index];
+              }
+              this.#size--;
+              this.#free.push(index);
+            }
           }
-        ]);
+        }
+        if (this.#hasDisposeAfter && this.#disposed?.length) {
+          const dt = this.#disposed;
+          let task;
+          while (task = dt?.shift()) {
+            this.#disposeAfter?.(...task);
+          }
+        }
+        return deleted;
       }
-      create(value) {
-        const message = { ok: false, artifactId: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      /**
+       * Clear the cache entirely, throwing away all values.
+       */
+      clear() {
+        return this.#clear("delete");
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* int64 artifact_id */
-            2:
-              message.artifactId = reader.int64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      #clear(reason) {
+        for (const index of this.#rindexes({ allowStale: true })) {
+          const v = this.#valList[index];
+          if (this.#isBackgroundFetch(v)) {
+            v.__abortController.abort(new Error("deleted"));
+          } else {
+            const k = this.#keyList[index];
+            if (this.#hasDispose) {
+              this.#dispose?.(v, k, reason);
+            }
+            if (this.#hasDisposeAfter) {
+              this.#disposed?.push([v, k, reason]);
+            }
+          }
+        }
+        this.#keyMap.clear();
+        this.#valList.fill(void 0);
+        this.#keyList.fill(void 0);
+        if (this.#ttls && this.#starts) {
+          this.#ttls.fill(0);
+          this.#starts.fill(0);
+        }
+        if (this.#sizes) {
+          this.#sizes.fill(0);
+        }
+        this.#head = 0;
+        this.#tail = 0;
+        this.#free.length = 0;
+        this.#calculatedSize = 0;
+        this.#size = 0;
+        if (this.#hasDisposeAfter && this.#disposed) {
+          const dt = this.#disposed;
+          let task;
+          while (task = dt?.shift()) {
+            this.#disposeAfter?.(...task);
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.artifactId !== "0")
-          writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
       }
     };
-    exports2.DeleteArtifactResponse = new DeleteArtifactResponse$Type();
-    exports2.ArtifactService = new runtime_rpc_1.ServiceType("github.actions.results.api.v1.ArtifactService", [
-      { name: "CreateArtifact", options: {}, I: exports2.CreateArtifactRequest, O: exports2.CreateArtifactResponse },
-      { name: "FinalizeArtifact", options: {}, I: exports2.FinalizeArtifactRequest, O: exports2.FinalizeArtifactResponse },
-      { name: "ListArtifacts", options: {}, I: exports2.ListArtifactsRequest, O: exports2.ListArtifactsResponse },
-      { name: "GetSignedArtifactURL", options: {}, I: exports2.GetSignedArtifactURLRequest, O: exports2.GetSignedArtifactURLResponse },
-      { name: "DeleteArtifact", options: {}, I: exports2.DeleteArtifactRequest, O: exports2.DeleteArtifactResponse },
-      { name: "MigrateArtifact", options: {}, I: exports2.MigrateArtifactRequest, O: exports2.MigrateArtifactResponse },
-      { name: "FinalizeMigratedArtifact", options: {}, I: exports2.FinalizeMigratedArtifactRequest, O: exports2.FinalizeMigratedArtifactResponse }
-    ]);
+    exports2.LRUCache = LRUCache;
   }
 });
 
-// node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.js
-var require_artifact_twirp_client = __commonJS({
-  "node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.js"(exports2) {
+// node_modules/minipass/dist/commonjs/index.js
+var require_commonjs22 = __commonJS({
+  "node_modules/minipass/dist/commonjs/index.js"(exports2) {
     "use strict";
+    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
+      return mod && mod.__esModule ? mod : { "default": mod };
+    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ArtifactServiceClientProtobuf = exports2.ArtifactServiceClientJSON = void 0;
-    var artifact_1 = require_artifact();
-    var ArtifactServiceClientJSON = class {
-      constructor(rpc) {
-        this.rpc = rpc;
-        this.CreateArtifact.bind(this);
-        this.FinalizeArtifact.bind(this);
-        this.ListArtifacts.bind(this);
-        this.GetSignedArtifactURL.bind(this);
-        this.DeleteArtifact.bind(this);
+    exports2.Minipass = exports2.isWritable = exports2.isReadable = exports2.isStream = void 0;
+    var proc = typeof process === "object" && process ? process : {
+      stdout: null,
+      stderr: null
+    };
+    var node_events_1 = require("node:events");
+    var node_stream_1 = __importDefault2(require("node:stream"));
+    var node_string_decoder_1 = require("node:string_decoder");
+    var isStream = (s) => !!s && typeof s === "object" && (s instanceof Minipass || s instanceof node_stream_1.default || (0, exports2.isReadable)(s) || (0, exports2.isWritable)(s));
+    exports2.isStream = isStream;
+    var isReadable = (s) => !!s && typeof s === "object" && s instanceof node_events_1.EventEmitter && typeof s.pipe === "function" && // node core Writable streams have a pipe() method, but it throws
+    s.pipe !== node_stream_1.default.Writable.prototype.pipe;
+    exports2.isReadable = isReadable;
+    var isWritable = (s) => !!s && typeof s === "object" && s instanceof node_events_1.EventEmitter && typeof s.write === "function" && typeof s.end === "function";
+    exports2.isWritable = isWritable;
+    var EOF = /* @__PURE__ */ Symbol("EOF");
+    var MAYBE_EMIT_END = /* @__PURE__ */ Symbol("maybeEmitEnd");
+    var EMITTED_END = /* @__PURE__ */ Symbol("emittedEnd");
+    var EMITTING_END = /* @__PURE__ */ Symbol("emittingEnd");
+    var EMITTED_ERROR = /* @__PURE__ */ Symbol("emittedError");
+    var CLOSED = /* @__PURE__ */ Symbol("closed");
+    var READ = /* @__PURE__ */ Symbol("read");
+    var FLUSH = /* @__PURE__ */ Symbol("flush");
+    var FLUSHCHUNK = /* @__PURE__ */ Symbol("flushChunk");
+    var ENCODING = /* @__PURE__ */ Symbol("encoding");
+    var DECODER = /* @__PURE__ */ Symbol("decoder");
+    var FLOWING = /* @__PURE__ */ Symbol("flowing");
+    var PAUSED = /* @__PURE__ */ Symbol("paused");
+    var RESUME = /* @__PURE__ */ Symbol("resume");
+    var BUFFER = /* @__PURE__ */ Symbol("buffer");
+    var PIPES = /* @__PURE__ */ Symbol("pipes");
+    var BUFFERLENGTH = /* @__PURE__ */ Symbol("bufferLength");
+    var BUFFERPUSH = /* @__PURE__ */ Symbol("bufferPush");
+    var BUFFERSHIFT = /* @__PURE__ */ Symbol("bufferShift");
+    var OBJECTMODE = /* @__PURE__ */ Symbol("objectMode");
+    var DESTROYED = /* @__PURE__ */ Symbol("destroyed");
+    var ERROR = /* @__PURE__ */ Symbol("error");
+    var EMITDATA = /* @__PURE__ */ Symbol("emitData");
+    var EMITEND = /* @__PURE__ */ Symbol("emitEnd");
+    var EMITEND2 = /* @__PURE__ */ Symbol("emitEnd2");
+    var ASYNC = /* @__PURE__ */ Symbol("async");
+    var ABORT = /* @__PURE__ */ Symbol("abort");
+    var ABORTED = /* @__PURE__ */ Symbol("aborted");
+    var SIGNAL = /* @__PURE__ */ Symbol("signal");
+    var DATALISTENERS = /* @__PURE__ */ Symbol("dataListeners");
+    var DISCARDED = /* @__PURE__ */ Symbol("discarded");
+    var defer = (fn) => Promise.resolve().then(fn);
+    var nodefer = (fn) => fn();
+    var isEndish = (ev) => ev === "end" || ev === "finish" || ev === "prefinish";
+    var isArrayBufferLike = (b) => b instanceof ArrayBuffer || !!b && typeof b === "object" && b.constructor && b.constructor.name === "ArrayBuffer" && b.byteLength >= 0;
+    var isArrayBufferView = (b) => !Buffer.isBuffer(b) && ArrayBuffer.isView(b);
+    var Pipe = class {
+      src;
+      dest;
+      opts;
+      ondrain;
+      constructor(src, dest, opts) {
+        this.src = src;
+        this.dest = dest;
+        this.opts = opts;
+        this.ondrain = () => src[RESUME]();
+        this.dest.on("drain", this.ondrain);
       }
-      CreateArtifact(request2) {
-        const data = artifact_1.CreateArtifactRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
-        });
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "CreateArtifact", "application/json", data);
-        return promise.then((data2) => artifact_1.CreateArtifactResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
+      unpipe() {
+        this.dest.removeListener("drain", this.ondrain);
       }
-      FinalizeArtifact(request2) {
-        const data = artifact_1.FinalizeArtifactRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
-        });
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "FinalizeArtifact", "application/json", data);
-        return promise.then((data2) => artifact_1.FinalizeArtifactResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
+      // only here for the prototype
+      /* c8 ignore start */
+      proxyErrors(_er) {
       }
-      ListArtifacts(request2) {
-        const data = artifact_1.ListArtifactsRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
-        });
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "ListArtifacts", "application/json", data);
-        return promise.then((data2) => artifact_1.ListArtifactsResponse.fromJson(data2, { ignoreUnknownFields: true }));
+      /* c8 ignore stop */
+      end() {
+        this.unpipe();
+        if (this.opts.end)
+          this.dest.end();
       }
-      GetSignedArtifactURL(request2) {
-        const data = artifact_1.GetSignedArtifactURLRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
-        });
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "GetSignedArtifactURL", "application/json", data);
-        return promise.then((data2) => artifact_1.GetSignedArtifactURLResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
+    };
+    var PipeProxyErrors = class extends Pipe {
+      unpipe() {
+        this.src.removeListener("error", this.proxyErrors);
+        super.unpipe();
       }
-      DeleteArtifact(request2) {
-        const data = artifact_1.DeleteArtifactRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
-        });
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "DeleteArtifact", "application/json", data);
-        return promise.then((data2) => artifact_1.DeleteArtifactResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
+      constructor(src, dest, opts) {
+        super(src, dest, opts);
+        this.proxyErrors = (er) => dest.emit("error", er);
+        src.on("error", this.proxyErrors);
       }
     };
-    exports2.ArtifactServiceClientJSON = ArtifactServiceClientJSON;
-    var ArtifactServiceClientProtobuf = class {
-      constructor(rpc) {
-        this.rpc = rpc;
-        this.CreateArtifact.bind(this);
-        this.FinalizeArtifact.bind(this);
-        this.ListArtifacts.bind(this);
-        this.GetSignedArtifactURL.bind(this);
-        this.DeleteArtifact.bind(this);
-      }
-      CreateArtifact(request2) {
-        const data = artifact_1.CreateArtifactRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "CreateArtifact", "application/protobuf", data);
-        return promise.then((data2) => artifact_1.CreateArtifactResponse.fromBinary(data2));
+    var isObjectModeOptions = (o) => !!o.objectMode;
+    var isEncodingOptions = (o) => !o.objectMode && !!o.encoding && o.encoding !== "buffer";
+    var Minipass = class extends node_events_1.EventEmitter {
+      [FLOWING] = false;
+      [PAUSED] = false;
+      [PIPES] = [];
+      [BUFFER] = [];
+      [OBJECTMODE];
+      [ENCODING];
+      [ASYNC];
+      [DECODER];
+      [EOF] = false;
+      [EMITTED_END] = false;
+      [EMITTING_END] = false;
+      [CLOSED] = false;
+      [EMITTED_ERROR] = null;
+      [BUFFERLENGTH] = 0;
+      [DESTROYED] = false;
+      [SIGNAL];
+      [ABORTED] = false;
+      [DATALISTENERS] = 0;
+      [DISCARDED] = false;
+      /**
+       * true if the stream can be written
+       */
+      writable = true;
+      /**
+       * true if the stream can be read
+       */
+      readable = true;
+      /**
+       * If `RType` is Buffer, then options do not need to be provided.
+       * Otherwise, an options object must be provided to specify either
+       * {@link Minipass.SharedOptions.objectMode} or
+       * {@link Minipass.SharedOptions.encoding}, as appropriate.
+       */
+      constructor(...args) {
+        const options = args[0] || {};
+        super();
+        if (options.objectMode && typeof options.encoding === "string") {
+          throw new TypeError("Encoding and objectMode may not be used together");
+        }
+        if (isObjectModeOptions(options)) {
+          this[OBJECTMODE] = true;
+          this[ENCODING] = null;
+        } else if (isEncodingOptions(options)) {
+          this[ENCODING] = options.encoding;
+          this[OBJECTMODE] = false;
+        } else {
+          this[OBJECTMODE] = false;
+          this[ENCODING] = null;
+        }
+        this[ASYNC] = !!options.async;
+        this[DECODER] = this[ENCODING] ? new node_string_decoder_1.StringDecoder(this[ENCODING]) : null;
+        if (options && options.debugExposeBuffer === true) {
+          Object.defineProperty(this, "buffer", { get: () => this[BUFFER] });
+        }
+        if (options && options.debugExposePipes === true) {
+          Object.defineProperty(this, "pipes", { get: () => this[PIPES] });
+        }
+        const { signal } = options;
+        if (signal) {
+          this[SIGNAL] = signal;
+          if (signal.aborted) {
+            this[ABORT]();
+          } else {
+            signal.addEventListener("abort", () => this[ABORT]());
+          }
+        }
       }
-      FinalizeArtifact(request2) {
-        const data = artifact_1.FinalizeArtifactRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "FinalizeArtifact", "application/protobuf", data);
-        return promise.then((data2) => artifact_1.FinalizeArtifactResponse.fromBinary(data2));
+      /**
+       * The amount of data stored in the buffer waiting to be read.
+       *
+       * For Buffer strings, this will be the total byte length.
+       * For string encoding streams, this will be the string character length,
+       * according to JavaScript's `string.length` logic.
+       * For objectMode streams, this is a count of the items waiting to be
+       * emitted.
+       */
+      get bufferLength() {
+        return this[BUFFERLENGTH];
       }
-      ListArtifacts(request2) {
-        const data = artifact_1.ListArtifactsRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "ListArtifacts", "application/protobuf", data);
-        return promise.then((data2) => artifact_1.ListArtifactsResponse.fromBinary(data2));
+      /**
+       * The `BufferEncoding` currently in use, or `null`
+       */
+      get encoding() {
+        return this[ENCODING];
       }
-      GetSignedArtifactURL(request2) {
-        const data = artifact_1.GetSignedArtifactURLRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "GetSignedArtifactURL", "application/protobuf", data);
-        return promise.then((data2) => artifact_1.GetSignedArtifactURLResponse.fromBinary(data2));
+      /**
+       * @deprecated - This is a read only property
+       */
+      set encoding(_enc) {
+        throw new Error("Encoding must be set at instantiation time");
       }
-      DeleteArtifact(request2) {
-        const data = artifact_1.DeleteArtifactRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "DeleteArtifact", "application/protobuf", data);
-        return promise.then((data2) => artifact_1.DeleteArtifactResponse.fromBinary(data2));
+      /**
+       * @deprecated - Encoding may only be set at instantiation time
+       */
+      setEncoding(_enc) {
+        throw new Error("Encoding must be set at instantiation time");
       }
-    };
-    exports2.ArtifactServiceClientProtobuf = ArtifactServiceClientProtobuf;
-  }
-});
-
-// node_modules/@actions/artifact/lib/generated/index.js
-var require_generated = __commonJS({
-  "node_modules/@actions/artifact/lib/generated/index.js"(exports2) {
-    "use strict";
-    var __createBinding2 = 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];
-        } };
+      /**
+       * True if this is an objectMode stream
+       */
+      get objectMode() {
+        return this[OBJECTMODE];
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
-      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p);
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    __exportStar2(require_timestamp(), exports2);
-    __exportStar2(require_wrappers(), exports2);
-    __exportStar2(require_artifact(), exports2);
-    __exportStar2(require_artifact_twirp_client(), exports2);
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/upload/retention.js
-var require_retention = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/retention.js"(exports2) {
-    "use strict";
-    var __createBinding2 = 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];
-        } };
+      /**
+       * @deprecated - This is a read-only property
+       */
+      set objectMode(_om) {
+        throw new Error("objectMode must be set at instantiation time");
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      /**
+       * true if this is an async stream
+       */
+      get ["async"]() {
+        return this[ASYNC];
       }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getExpiration = void 0;
-    var generated_1 = require_generated();
-    var core14 = __importStar2(require_core());
-    function getExpiration(retentionDays) {
-      if (!retentionDays) {
-        return void 0;
+      /**
+       * Set to true to make this stream async.
+       *
+       * Once set, it cannot be unset, as this would potentially cause incorrect
+       * behavior.  Ie, a sync stream can be made async, but an async stream
+       * cannot be safely made sync.
+       */
+      set ["async"](a) {
+        this[ASYNC] = this[ASYNC] || !!a;
       }
-      const maxRetentionDays = getRetentionDays();
-      if (maxRetentionDays && maxRetentionDays < retentionDays) {
-        core14.warning(`Retention days cannot be greater than the maximum allowed retention set within the repository. Using ${maxRetentionDays} instead.`);
-        retentionDays = maxRetentionDays;
+      // drop everything and get out of the flow completely
+      [ABORT]() {
+        this[ABORTED] = true;
+        this.emit("abort", this[SIGNAL]?.reason);
+        this.destroy(this[SIGNAL]?.reason);
       }
-      const expirationDate = /* @__PURE__ */ new Date();
-      expirationDate.setDate(expirationDate.getDate() + retentionDays);
-      return generated_1.Timestamp.fromDate(expirationDate);
-    }
-    exports2.getExpiration = getExpiration;
-    function getRetentionDays() {
-      const retentionDays = process.env["GITHUB_RETENTION_DAYS"];
-      if (!retentionDays) {
-        return void 0;
+      /**
+       * True if the stream has been aborted.
+       */
+      get aborted() {
+        return this[ABORTED];
       }
-      const days = parseInt(retentionDays);
-      if (isNaN(days)) {
-        return void 0;
+      /**
+       * No-op setter. Stream aborted status is set via the AbortSignal provided
+       * in the constructor options.
+       */
+      set aborted(_2) {
       }
-      return days;
-    }
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/upload/path-and-artifact-name-validation.js
-var require_path_and_artifact_name_validation = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/path-and-artifact-name-validation.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.validateFilePath = exports2.validateArtifactName = void 0;
-    var core_1 = require_core();
-    var invalidArtifactFilePathCharacters = /* @__PURE__ */ new Map([
-      ['"', ' Double quote "'],
-      [":", " Colon :"],
-      ["<", " Less than <"],
-      [">", " Greater than >"],
-      ["|", " Vertical bar |"],
-      ["*", " Asterisk *"],
-      ["?", " Question mark ?"],
-      ["\r", " Carriage return \\r"],
-      ["\n", " Line feed \\n"]
-    ]);
-    var invalidArtifactNameCharacters = new Map([
-      ...invalidArtifactFilePathCharacters,
-      ["\\", " Backslash \\"],
-      ["/", " Forward slash /"]
-    ]);
-    function validateArtifactName(name) {
-      if (!name) {
-        throw new Error(`Provided artifact name input during validation is empty`);
+      write(chunk, encoding, cb) {
+        if (this[ABORTED])
+          return false;
+        if (this[EOF])
+          throw new Error("write after end");
+        if (this[DESTROYED]) {
+          this.emit("error", Object.assign(new Error("Cannot call write after a stream was destroyed"), { code: "ERR_STREAM_DESTROYED" }));
+          return true;
+        }
+        if (typeof encoding === "function") {
+          cb = encoding;
+          encoding = "utf8";
+        }
+        if (!encoding)
+          encoding = "utf8";
+        const fn = this[ASYNC] ? defer : nodefer;
+        if (!this[OBJECTMODE] && !Buffer.isBuffer(chunk)) {
+          if (isArrayBufferView(chunk)) {
+            chunk = Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
+          } else if (isArrayBufferLike(chunk)) {
+            chunk = Buffer.from(chunk);
+          } else if (typeof chunk !== "string") {
+            throw new Error("Non-contiguous data written to non-objectMode stream");
+          }
+        }
+        if (this[OBJECTMODE]) {
+          if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
+            this[FLUSH](true);
+          if (this[FLOWING])
+            this.emit("data", chunk);
+          else
+            this[BUFFERPUSH](chunk);
+          if (this[BUFFERLENGTH] !== 0)
+            this.emit("readable");
+          if (cb)
+            fn(cb);
+          return this[FLOWING];
+        }
+        if (!chunk.length) {
+          if (this[BUFFERLENGTH] !== 0)
+            this.emit("readable");
+          if (cb)
+            fn(cb);
+          return this[FLOWING];
+        }
+        if (typeof chunk === "string" && // unless it is a string already ready for us to use
+        !(encoding === this[ENCODING] && !this[DECODER]?.lastNeed)) {
+          chunk = Buffer.from(chunk, encoding);
+        }
+        if (Buffer.isBuffer(chunk) && this[ENCODING]) {
+          chunk = this[DECODER].write(chunk);
+        }
+        if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
+          this[FLUSH](true);
+        if (this[FLOWING])
+          this.emit("data", chunk);
+        else
+          this[BUFFERPUSH](chunk);
+        if (this[BUFFERLENGTH] !== 0)
+          this.emit("readable");
+        if (cb)
+          fn(cb);
+        return this[FLOWING];
       }
-      for (const [invalidCharacterKey, errorMessageForCharacter] of invalidArtifactNameCharacters) {
-        if (name.includes(invalidCharacterKey)) {
-          throw new Error(`The artifact name is not valid: ${name}. Contains the following character: ${errorMessageForCharacter}
-          
-Invalid characters include: ${Array.from(invalidArtifactNameCharacters.values()).toString()}
-          
-These characters are not allowed in the artifact name due to limitations with certain file systems such as NTFS. To maintain file system agnostic behavior, these characters are intentionally not allowed to prevent potential problems with downloads on different file systems.`);
+      /**
+       * Low-level explicit read method.
+       *
+       * In objectMode, the argument is ignored, and one item is returned if
+       * available.
+       *
+       * `n` is the number of bytes (or in the case of encoding streams,
+       * characters) to consume. If `n` is not provided, then the entire buffer
+       * is returned, or `null` is returned if no data is available.
+       *
+       * If `n` is greater that the amount of data in the internal buffer,
+       * then `null` is returned.
+       */
+      read(n) {
+        if (this[DESTROYED])
+          return null;
+        this[DISCARDED] = false;
+        if (this[BUFFERLENGTH] === 0 || n === 0 || n && n > this[BUFFERLENGTH]) {
+          this[MAYBE_EMIT_END]();
+          return null;
         }
-      }
-      (0, core_1.info)(`Artifact name is valid!`);
-    }
-    exports2.validateArtifactName = validateArtifactName;
-    function validateFilePath(path4) {
-      if (!path4) {
-        throw new Error(`Provided file path input during validation is empty`);
-      }
-      for (const [invalidCharacterKey, errorMessageForCharacter] of invalidArtifactFilePathCharacters) {
-        if (path4.includes(invalidCharacterKey)) {
-          throw new Error(`The path for one of the files in artifact is not valid: ${path4}. Contains the following character: ${errorMessageForCharacter}
-          
-Invalid characters include: ${Array.from(invalidArtifactFilePathCharacters.values()).toString()}
-          
-The following characters are not allowed in files that are uploaded due to limitations with certain file systems such as NTFS. To maintain file system agnostic behavior, these characters are intentionally not allowed to prevent potential problems with downloads on different file systems.
-          `);
+        if (this[OBJECTMODE])
+          n = null;
+        if (this[BUFFER].length > 1 && !this[OBJECTMODE]) {
+          this[BUFFER] = [
+            this[ENCODING] ? this[BUFFER].join("") : Buffer.concat(this[BUFFER], this[BUFFERLENGTH])
+          ];
         }
+        const ret = this[READ](n || null, this[BUFFER][0]);
+        this[MAYBE_EMIT_END]();
+        return ret;
       }
-    }
-    exports2.validateFilePath = validateFilePath;
-  }
-});
-
-// node_modules/@actions/artifact/package.json
-var require_package3 = __commonJS({
-  "node_modules/@actions/artifact/package.json"(exports2, module2) {
-    module2.exports = {
-      name: "@actions/artifact",
-      version: "5.0.3",
-      preview: true,
-      description: "Actions artifact lib",
-      keywords: [
-        "github",
-        "actions",
-        "artifact"
-      ],
-      homepage: "https://github.com/actions/toolkit/tree/main/packages/artifact",
-      license: "MIT",
-      main: "lib/artifact.js",
-      types: "lib/artifact.d.ts",
-      directories: {
-        lib: "lib",
-        test: "__tests__"
-      },
-      files: [
-        "lib",
-        "!.DS_Store"
-      ],
-      publishConfig: {
-        access: "public"
-      },
-      repository: {
-        type: "git",
-        url: "git+https://github.com/actions/toolkit.git",
-        directory: "packages/artifact"
-      },
-      scripts: {
-        "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json",
-        test: "cd ../../ && npm run test ./packages/artifact",
-        bootstrap: "cd ../../ && npm run bootstrap",
-        "tsc-run": "tsc",
-        tsc: "npm run bootstrap && npm run tsc-run",
-        "gen:docs": "typedoc --plugin typedoc-plugin-markdown --out docs/generated src/artifact.ts --githubPages false --readme none"
-      },
-      bugs: {
-        url: "https://github.com/actions/toolkit/issues"
-      },
-      dependencies: {
-        "@actions/core": "^2.0.0",
-        "@actions/github": "^6.0.1",
-        "@actions/http-client": "^3.0.2",
-        "@azure/storage-blob": "^12.29.1",
-        "@octokit/core": "^5.2.1",
-        "@octokit/plugin-request-log": "^1.0.4",
-        "@octokit/plugin-retry": "^3.0.9",
-        "@octokit/request": "^8.4.1",
-        "@octokit/request-error": "^5.1.1",
-        "@protobuf-ts/plugin": "^2.2.3-alpha.1",
-        archiver: "^7.0.1",
-        "jwt-decode": "^3.1.2",
-        "unzip-stream": "^0.3.1"
-      },
-      devDependencies: {
-        "@types/archiver": "^5.3.2",
-        "@types/unzip-stream": "^0.3.4",
-        typedoc: "^0.28.13",
-        "typedoc-plugin-markdown": "^3.17.1",
-        typescript: "^5.2.2"
-      },
-      overrides: {
-        "uri-js": "npm:uri-js-replace@^1.0.1",
-        "node-fetch": "^3.3.2"
-      }
-    };
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/shared/user-agent.js
-var require_user_agent2 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/shared/user-agent.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getUserAgentString = void 0;
-    var packageJson = require_package3();
-    function getUserAgentString() {
-      return `@actions/artifact-${packageJson.version}`;
-    }
-    exports2.getUserAgentString = getUserAgentString;
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/shared/errors.js
-var require_errors4 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/shared/errors.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.UsageError = exports2.NetworkError = exports2.GHESNotSupportedError = exports2.ArtifactNotFoundError = exports2.InvalidResponseError = exports2.FilesNotFoundError = void 0;
-    var FilesNotFoundError = class extends Error {
-      constructor(files = []) {
-        let message = "No files were found to upload";
-        if (files.length > 0) {
-          message += `: ${files.join(", ")}`;
+      [READ](n, chunk) {
+        if (this[OBJECTMODE])
+          this[BUFFERSHIFT]();
+        else {
+          const c = chunk;
+          if (n === c.length || n === null)
+            this[BUFFERSHIFT]();
+          else if (typeof c === "string") {
+            this[BUFFER][0] = c.slice(n);
+            chunk = c.slice(0, n);
+            this[BUFFERLENGTH] -= n;
+          } else {
+            this[BUFFER][0] = c.subarray(n);
+            chunk = c.subarray(0, n);
+            this[BUFFERLENGTH] -= n;
+          }
         }
-        super(message);
-        this.files = files;
-        this.name = "FilesNotFoundError";
-      }
-    };
-    exports2.FilesNotFoundError = FilesNotFoundError;
-    var InvalidResponseError = class extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "InvalidResponseError";
+        this.emit("data", chunk);
+        if (!this[BUFFER].length && !this[EOF])
+          this.emit("drain");
+        return chunk;
       }
-    };
-    exports2.InvalidResponseError = InvalidResponseError;
-    var ArtifactNotFoundError = class extends Error {
-      constructor(message = "Artifact not found") {
-        super(message);
-        this.name = "ArtifactNotFoundError";
+      end(chunk, encoding, cb) {
+        if (typeof chunk === "function") {
+          cb = chunk;
+          chunk = void 0;
+        }
+        if (typeof encoding === "function") {
+          cb = encoding;
+          encoding = "utf8";
+        }
+        if (chunk !== void 0)
+          this.write(chunk, encoding);
+        if (cb)
+          this.once("end", cb);
+        this[EOF] = true;
+        this.writable = false;
+        if (this[FLOWING] || !this[PAUSED])
+          this[MAYBE_EMIT_END]();
+        return this;
       }
-    };
-    exports2.ArtifactNotFoundError = ArtifactNotFoundError;
-    var GHESNotSupportedError = class extends Error {
-      constructor(message = "@actions/artifact v2.0.0+, upload-artifact@v4+ and download-artifact@v4+ are not currently supported on GHES.") {
-        super(message);
-        this.name = "GHESNotSupportedError";
+      // don't let the internal resume be overwritten
+      [RESUME]() {
+        if (this[DESTROYED])
+          return;
+        if (!this[DATALISTENERS] && !this[PIPES].length) {
+          this[DISCARDED] = true;
+        }
+        this[PAUSED] = false;
+        this[FLOWING] = true;
+        this.emit("resume");
+        if (this[BUFFER].length)
+          this[FLUSH]();
+        else if (this[EOF])
+          this[MAYBE_EMIT_END]();
+        else
+          this.emit("drain");
       }
-    };
-    exports2.GHESNotSupportedError = GHESNotSupportedError;
-    var NetworkError = class extends Error {
-      constructor(code) {
-        const message = `Unable to make request: ${code}
-If you are using self-hosted runners, please make sure your runner has access to all GitHub endpoints: https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#communication-between-self-hosted-runners-and-github`;
-        super(message);
-        this.code = code;
-        this.name = "NetworkError";
+      /**
+       * Resume the stream if it is currently in a paused state
+       *
+       * If called when there are no pipe destinations or `data` event listeners,
+       * this will place the stream in a "discarded" state, where all data will
+       * be thrown away. The discarded state is removed if a pipe destination or
+       * data handler is added, if pause() is called, or if any synchronous or
+       * asynchronous iteration is started.
+       */
+      resume() {
+        return this[RESUME]();
       }
-    };
-    exports2.NetworkError = NetworkError;
-    NetworkError.isNetworkErrorCode = (code) => {
-      if (!code)
-        return false;
-      return [
-        "ECONNRESET",
-        "ENOTFOUND",
-        "ETIMEDOUT",
-        "ECONNREFUSED",
-        "EHOSTUNREACH"
-      ].includes(code);
-    };
-    var UsageError = class extends Error {
-      constructor() {
-        const message = `Artifact storage quota has been hit. Unable to upload any new artifacts. Usage is recalculated every 6-12 hours.
-More info on storage limits: https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#calculating-minute-and-storage-spending`;
-        super(message);
-        this.name = "UsageError";
+      /**
+       * Pause the stream
+       */
+      pause() {
+        this[FLOWING] = false;
+        this[PAUSED] = true;
+        this[DISCARDED] = false;
       }
-    };
-    exports2.UsageError = UsageError;
-    UsageError.isUsageErrorMessage = (msg) => {
-      if (!msg)
-        return false;
-      return msg.includes("insufficient usage");
-    };
-  }
-});
-
-// node_modules/jwt-decode/build/jwt-decode.cjs.js
-var require_jwt_decode_cjs = __commonJS({
-  "node_modules/jwt-decode/build/jwt-decode.cjs.js"(exports2, module2) {
-    "use strict";
-    function e(e2) {
-      this.message = e2;
-    }
-    e.prototype = new Error(), e.prototype.name = "InvalidCharacterError";
-    var r = "undefined" != typeof window && window.atob && window.atob.bind(window) || function(r2) {
-      var t2 = String(r2).replace(/=+$/, "");
-      if (t2.length % 4 == 1) throw new e("'atob' failed: The string to be decoded is not correctly encoded.");
-      for (var n2, o2, a2 = 0, i = 0, c = ""; o2 = t2.charAt(i++); ~o2 && (n2 = a2 % 4 ? 64 * n2 + o2 : o2, a2++ % 4) ? c += String.fromCharCode(255 & n2 >> (-2 * a2 & 6)) : 0) o2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(o2);
-      return c;
-    };
-    function t(e2) {
-      var t2 = e2.replace(/-/g, "+").replace(/_/g, "/");
-      switch (t2.length % 4) {
-        case 0:
-          break;
-        case 2:
-          t2 += "==";
-          break;
-        case 3:
-          t2 += "=";
-          break;
-        default:
-          throw "Illegal base64url string!";
+      /**
+       * true if the stream has been forcibly destroyed
+       */
+      get destroyed() {
+        return this[DESTROYED];
       }
-      try {
-        return (function(e3) {
-          return decodeURIComponent(r(e3).replace(/(.)/g, (function(e4, r2) {
-            var t3 = r2.charCodeAt(0).toString(16).toUpperCase();
-            return t3.length < 2 && (t3 = "0" + t3), "%" + t3;
-          })));
-        })(t2);
-      } catch (e3) {
-        return r(t2);
+      /**
+       * true if the stream is currently in a flowing state, meaning that
+       * any writes will be immediately emitted.
+       */
+      get flowing() {
+        return this[FLOWING];
       }
-    }
-    function n(e2) {
-      this.message = e2;
-    }
-    function o(e2, r2) {
-      if ("string" != typeof e2) throw new n("Invalid token specified");
-      var o2 = true === (r2 = r2 || {}).header ? 0 : 1;
-      try {
-        return JSON.parse(t(e2.split(".")[o2]));
-      } catch (e3) {
-        throw new n("Invalid token specified: " + e3.message);
+      /**
+       * true if the stream is currently in a paused state
+       */
+      get paused() {
+        return this[PAUSED];
       }
-    }
-    n.prototype = new Error(), n.prototype.name = "InvalidTokenError";
-    var a = o;
-    a.default = o, a.InvalidTokenError = n, module2.exports = a;
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/shared/util.js
-var require_util18 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/shared/util.js"(exports2) {
-    "use strict";
-    var __createBinding2 = 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];
-        } };
+      [BUFFERPUSH](chunk) {
+        if (this[OBJECTMODE])
+          this[BUFFERLENGTH] += 1;
+        else
+          this[BUFFERLENGTH] += chunk.length;
+        this[BUFFER].push(chunk);
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      [BUFFERSHIFT]() {
+        if (this[OBJECTMODE])
+          this[BUFFERLENGTH] -= 1;
+        else
+          this[BUFFERLENGTH] -= this[BUFFER][0].length;
+        return this[BUFFER].shift();
       }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.maskSecretUrls = exports2.maskSigUrl = exports2.getBackendIdsFromToken = void 0;
-    var core14 = __importStar2(require_core());
-    var config_1 = require_config2();
-    var jwt_decode_1 = __importDefault2(require_jwt_decode_cjs());
-    var core_1 = require_core();
-    var InvalidJwtError = new Error("Failed to get backend IDs: The provided JWT token is invalid and/or missing claims");
-    function getBackendIdsFromToken() {
-      const token = (0, config_1.getRuntimeToken)();
-      const decoded = (0, jwt_decode_1.default)(token);
-      if (!decoded.scp) {
-        throw InvalidJwtError;
+      [FLUSH](noDrain = false) {
+        do {
+        } while (this[FLUSHCHUNK](this[BUFFERSHIFT]()) && this[BUFFER].length);
+        if (!noDrain && !this[BUFFER].length && !this[EOF])
+          this.emit("drain");
       }
-      const scpParts = decoded.scp.split(" ");
-      if (scpParts.length === 0) {
-        throw InvalidJwtError;
+      [FLUSHCHUNK](chunk) {
+        this.emit("data", chunk);
+        return this[FLOWING];
       }
-      for (const scopes of scpParts) {
-        const scopeParts = scopes.split(":");
-        if ((scopeParts === null || scopeParts === void 0 ? void 0 : scopeParts[0]) !== "Actions.Results") {
-          continue;
+      /**
+       * Pipe all data emitted by this stream into the destination provided.
+       *
+       * Triggers the flow of data.
+       */
+      pipe(dest, opts) {
+        if (this[DESTROYED])
+          return dest;
+        this[DISCARDED] = false;
+        const ended = this[EMITTED_END];
+        opts = opts || {};
+        if (dest === proc.stdout || dest === proc.stderr)
+          opts.end = false;
+        else
+          opts.end = opts.end !== false;
+        opts.proxyErrors = !!opts.proxyErrors;
+        if (ended) {
+          if (opts.end)
+            dest.end();
+        } else {
+          this[PIPES].push(!opts.proxyErrors ? new Pipe(this, dest, opts) : new PipeProxyErrors(this, dest, opts));
+          if (this[ASYNC])
+            defer(() => this[RESUME]());
+          else
+            this[RESUME]();
         }
-        if (scopeParts.length !== 3) {
-          throw InvalidJwtError;
+        return dest;
+      }
+      /**
+       * Fully unhook a piped destination stream.
+       *
+       * If the destination stream was the only consumer of this stream (ie,
+       * there are no other piped destinations or `'data'` event listeners)
+       * then the flow of data will stop until there is another consumer or
+       * {@link Minipass#resume} is explicitly called.
+       */
+      unpipe(dest) {
+        const p = this[PIPES].find((p2) => p2.dest === dest);
+        if (p) {
+          if (this[PIPES].length === 1) {
+            if (this[FLOWING] && this[DATALISTENERS] === 0) {
+              this[FLOWING] = false;
+            }
+            this[PIPES] = [];
+          } else
+            this[PIPES].splice(this[PIPES].indexOf(p), 1);
+          p.unpipe();
         }
-        const ids = {
-          workflowRunBackendId: scopeParts[1],
-          workflowJobRunBackendId: scopeParts[2]
-        };
-        core14.debug(`Workflow Run Backend ID: ${ids.workflowRunBackendId}`);
-        core14.debug(`Workflow Job Run Backend ID: ${ids.workflowJobRunBackendId}`);
-        return ids;
       }
-      throw InvalidJwtError;
-    }
-    exports2.getBackendIdsFromToken = getBackendIdsFromToken;
-    function maskSigUrl(url) {
-      if (!url)
-        return;
-      try {
-        const parsedUrl = new URL(url);
-        const signature = parsedUrl.searchParams.get("sig");
-        if (signature) {
-          (0, core_1.setSecret)(signature);
-          (0, core_1.setSecret)(encodeURIComponent(signature));
+      /**
+       * Alias for {@link Minipass#on}
+       */
+      addListener(ev, handler2) {
+        return this.on(ev, handler2);
+      }
+      /**
+       * Mostly identical to `EventEmitter.on`, with the following
+       * behavior differences to prevent data loss and unnecessary hangs:
+       *
+       * - Adding a 'data' event handler will trigger the flow of data
+       *
+       * - Adding a 'readable' event handler when there is data waiting to be read
+       *   will cause 'readable' to be emitted immediately.
+       *
+       * - Adding an 'endish' event handler ('end', 'finish', etc.) which has
+       *   already passed will cause the event to be emitted immediately and all
+       *   handlers removed.
+       *
+       * - Adding an 'error' event handler after an error has been emitted will
+       *   cause the event to be re-emitted immediately with the error previously
+       *   raised.
+       */
+      on(ev, handler2) {
+        const ret = super.on(ev, handler2);
+        if (ev === "data") {
+          this[DISCARDED] = false;
+          this[DATALISTENERS]++;
+          if (!this[PIPES].length && !this[FLOWING]) {
+            this[RESUME]();
+          }
+        } else if (ev === "readable" && this[BUFFERLENGTH] !== 0) {
+          super.emit("readable");
+        } else if (isEndish(ev) && this[EMITTED_END]) {
+          super.emit(ev);
+          this.removeAllListeners(ev);
+        } else if (ev === "error" && this[EMITTED_ERROR]) {
+          const h = handler2;
+          if (this[ASYNC])
+            defer(() => h.call(this, this[EMITTED_ERROR]));
+          else
+            h.call(this, this[EMITTED_ERROR]);
         }
-      } catch (error3) {
-        (0, core_1.debug)(`Failed to parse URL: ${url} ${error3 instanceof Error ? error3.message : String(error3)}`);
-      }
-    }
-    exports2.maskSigUrl = maskSigUrl;
-    function maskSecretUrls(body) {
-      if (typeof body !== "object" || body === null) {
-        (0, core_1.debug)("body is not an object or is null");
-        return;
-      }
-      if ("signed_upload_url" in body && typeof body.signed_upload_url === "string") {
-        maskSigUrl(body.signed_upload_url);
-      }
-      if ("signed_url" in body && typeof body.signed_url === "string") {
-        maskSigUrl(body.signed_url);
+        return ret;
       }
-    }
-    exports2.maskSecretUrls = maskSecretUrls;
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/shared/artifact-twirp-client.js
-var require_artifact_twirp_client2 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/shared/artifact-twirp-client.js"(exports2) {
-    "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve3) {
-          resolve3(value);
-        });
+      /**
+       * Alias for {@link Minipass#off}
+       */
+      removeListener(ev, handler2) {
+        return this.off(ev, handler2);
       }
-      return new (P || (P = Promise))(function(resolve3, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
+      /**
+       * Mostly identical to `EventEmitter.off`
+       *
+       * If a 'data' event handler is removed, and it was the last consumer
+       * (ie, there are no pipe destinations or other 'data' event listeners),
+       * then the flow of data will stop until there is another consumer or
+       * {@link Minipass#resume} is explicitly called.
+       */
+      off(ev, handler2) {
+        const ret = super.off(ev, handler2);
+        if (ev === "data") {
+          this[DATALISTENERS] = this.listeners("data").length;
+          if (this[DATALISTENERS] === 0 && !this[DISCARDED] && !this[PIPES].length) {
+            this[FLOWING] = false;
           }
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
+        return ret;
+      }
+      /**
+       * Mostly identical to `EventEmitter.removeAllListeners`
+       *
+       * If all 'data' event handlers are removed, and they were the last consumer
+       * (ie, there are no pipe destinations), then the flow of data will stop
+       * until there is another consumer or {@link Minipass#resume} is explicitly
+       * called.
+       */
+      removeAllListeners(ev) {
+        const ret = super.removeAllListeners(ev);
+        if (ev === "data" || ev === void 0) {
+          this[DATALISTENERS] = 0;
+          if (!this[DISCARDED] && !this[PIPES].length) {
+            this[FLOWING] = false;
           }
         }
-        function step(result) {
-          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.internalArtifactTwirpClient = void 0;
-    var http_client_1 = require_lib();
-    var auth_1 = require_auth();
-    var core_1 = require_core();
-    var generated_1 = require_generated();
-    var config_1 = require_config2();
-    var user_agent_1 = require_user_agent2();
-    var errors_1 = require_errors4();
-    var util_1 = require_util18();
-    var ArtifactHttpClient = class {
-      constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) {
-        this.maxAttempts = 5;
-        this.baseRetryIntervalMilliseconds = 3e3;
-        this.retryMultiplier = 1.5;
-        const token = (0, config_1.getRuntimeToken)();
-        this.baseUrl = (0, config_1.getResultsServiceUrl)();
-        if (maxAttempts) {
-          this.maxAttempts = maxAttempts;
-        }
-        if (baseRetryIntervalMilliseconds) {
-          this.baseRetryIntervalMilliseconds = baseRetryIntervalMilliseconds;
-        }
-        if (retryMultiplier) {
-          this.retryMultiplier = retryMultiplier;
-        }
-        this.httpClient = new http_client_1.HttpClient(userAgent2, [
-          new auth_1.BearerCredentialHandler(token)
-        ]);
+        return ret;
       }
-      // This function satisfies the Rpc interface. It is compatible with the JSON
-      // JSON generated client.
-      request(service, method, contentType, data) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          const url = new URL(`/twirp/${service}/${method}`, this.baseUrl).href;
-          (0, core_1.debug)(`[Request] ${method} ${url}`);
-          const headers = {
-            "Content-Type": contentType
-          };
-          try {
-            const { body } = yield this.retryableRequest(() => __awaiter2(this, void 0, void 0, function* () {
-              return this.httpClient.post(url, JSON.stringify(data), headers);
-            }));
-            return body;
-          } catch (error3) {
-            throw new Error(`Failed to ${method}: ${error3.message}`);
-          }
-        });
+      /**
+       * true if the 'end' event has been emitted
+       */
+      get emittedEnd() {
+        return this[EMITTED_END];
       }
-      retryableRequest(operation) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          let attempt = 0;
-          let errorMessage = "";
-          let rawBody = "";
-          while (attempt < this.maxAttempts) {
-            let isRetryable = false;
-            try {
-              const response = yield operation();
-              const statusCode = response.message.statusCode;
-              rawBody = yield response.readBody();
-              (0, core_1.debug)(`[Response] - ${response.message.statusCode}`);
-              (0, core_1.debug)(`Headers: ${JSON.stringify(response.message.headers, null, 2)}`);
-              const body = JSON.parse(rawBody);
-              (0, util_1.maskSecretUrls)(body);
-              (0, core_1.debug)(`Body: ${JSON.stringify(body, null, 2)}`);
-              if (this.isSuccessStatusCode(statusCode)) {
-                return { response, body };
-              }
-              isRetryable = this.isRetryableHttpStatusCode(statusCode);
-              errorMessage = `Failed request: (${statusCode}) ${response.message.statusMessage}`;
-              if (body.msg) {
-                if (errors_1.UsageError.isUsageErrorMessage(body.msg)) {
-                  throw new errors_1.UsageError();
-                }
-                errorMessage = `${errorMessage}: ${body.msg}`;
-              }
-            } catch (error3) {
-              if (error3 instanceof SyntaxError) {
-                (0, core_1.debug)(`Raw Body: ${rawBody}`);
-              }
-              if (error3 instanceof errors_1.UsageError) {
-                throw error3;
-              }
-              if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) {
-                throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code);
-              }
-              isRetryable = true;
-              errorMessage = error3.message;
-            }
-            if (!isRetryable) {
-              throw new Error(`Received non-retryable error: ${errorMessage}`);
-            }
-            if (attempt + 1 === this.maxAttempts) {
-              throw new Error(`Failed to make request after ${this.maxAttempts} attempts: ${errorMessage}`);
-            }
-            const retryTimeMilliseconds = this.getExponentialRetryTimeMilliseconds(attempt);
-            (0, core_1.info)(`Attempt ${attempt + 1} of ${this.maxAttempts} failed with error: ${errorMessage}. Retrying request in ${retryTimeMilliseconds} ms...`);
-            yield this.sleep(retryTimeMilliseconds);
-            attempt++;
-          }
-          throw new Error(`Request failed`);
-        });
+      [MAYBE_EMIT_END]() {
+        if (!this[EMITTING_END] && !this[EMITTED_END] && !this[DESTROYED] && this[BUFFER].length === 0 && this[EOF]) {
+          this[EMITTING_END] = true;
+          this.emit("end");
+          this.emit("prefinish");
+          this.emit("finish");
+          if (this[CLOSED])
+            this.emit("close");
+          this[EMITTING_END] = false;
+        }
       }
-      isSuccessStatusCode(statusCode) {
-        if (!statusCode)
+      /**
+       * Mostly identical to `EventEmitter.emit`, with the following
+       * behavior differences to prevent data loss and unnecessary hangs:
+       *
+       * If the stream has been destroyed, and the event is something other
+       * than 'close' or 'error', then `false` is returned and no handlers
+       * are called.
+       *
+       * If the event is 'end', and has already been emitted, then the event
+       * is ignored. If the stream is in a paused or non-flowing state, then
+       * the event will be deferred until data flow resumes. If the stream is
+       * async, then handlers will be called on the next tick rather than
+       * immediately.
+       *
+       * If the event is 'close', and 'end' has not yet been emitted, then
+       * the event will be deferred until after 'end' is emitted.
+       *
+       * If the event is 'error', and an AbortSignal was provided for the stream,
+       * and there are no listeners, then the event is ignored, matching the
+       * behavior of node core streams in the presense of an AbortSignal.
+       *
+       * If the event is 'finish' or 'prefinish', then all listeners will be
+       * removed after emitting the event, to prevent double-firing.
+       */
+      emit(ev, ...args) {
+        const data = args[0];
+        if (ev !== "error" && ev !== "close" && ev !== DESTROYED && this[DESTROYED]) {
           return false;
-        return statusCode >= 200 && statusCode < 300;
+        } else if (ev === "data") {
+          return !this[OBJECTMODE] && !data ? false : this[ASYNC] ? (defer(() => this[EMITDATA](data)), true) : this[EMITDATA](data);
+        } else if (ev === "end") {
+          return this[EMITEND]();
+        } else if (ev === "close") {
+          this[CLOSED] = true;
+          if (!this[EMITTED_END] && !this[DESTROYED])
+            return false;
+          const ret2 = super.emit("close");
+          this.removeAllListeners("close");
+          return ret2;
+        } else if (ev === "error") {
+          this[EMITTED_ERROR] = data;
+          super.emit(ERROR, data);
+          const ret2 = !this[SIGNAL] || this.listeners("error").length ? super.emit("error", data) : false;
+          this[MAYBE_EMIT_END]();
+          return ret2;
+        } else if (ev === "resume") {
+          const ret2 = super.emit("resume");
+          this[MAYBE_EMIT_END]();
+          return ret2;
+        } else if (ev === "finish" || ev === "prefinish") {
+          const ret2 = super.emit(ev);
+          this.removeAllListeners(ev);
+          return ret2;
+        }
+        const ret = super.emit(ev, ...args);
+        this[MAYBE_EMIT_END]();
+        return ret;
       }
-      isRetryableHttpStatusCode(statusCode) {
-        if (!statusCode)
-          return false;
-        const retryableStatusCodes = [
-          http_client_1.HttpCodes.BadGateway,
-          http_client_1.HttpCodes.GatewayTimeout,
-          http_client_1.HttpCodes.InternalServerError,
-          http_client_1.HttpCodes.ServiceUnavailable,
-          http_client_1.HttpCodes.TooManyRequests
-        ];
-        return retryableStatusCodes.includes(statusCode);
+      [EMITDATA](data) {
+        for (const p of this[PIPES]) {
+          if (p.dest.write(data) === false)
+            this.pause();
+        }
+        const ret = this[DISCARDED] ? false : super.emit("data", data);
+        this[MAYBE_EMIT_END]();
+        return ret;
       }
-      sleep(milliseconds) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          return new Promise((resolve3) => setTimeout(resolve3, milliseconds));
-        });
+      [EMITEND]() {
+        if (this[EMITTED_END])
+          return false;
+        this[EMITTED_END] = true;
+        this.readable = false;
+        return this[ASYNC] ? (defer(() => this[EMITEND2]()), true) : this[EMITEND2]();
       }
-      getExponentialRetryTimeMilliseconds(attempt) {
-        if (attempt < 0) {
-          throw new Error("attempt should be a positive integer");
+      [EMITEND2]() {
+        if (this[DECODER]) {
+          const data = this[DECODER].end();
+          if (data) {
+            for (const p of this[PIPES]) {
+              p.dest.write(data);
+            }
+            if (!this[DISCARDED])
+              super.emit("data", data);
+          }
         }
-        if (attempt === 0) {
-          return this.baseRetryIntervalMilliseconds;
+        for (const p of this[PIPES]) {
+          p.end();
         }
-        const minTime = this.baseRetryIntervalMilliseconds * Math.pow(this.retryMultiplier, attempt);
-        const maxTime = minTime * this.retryMultiplier;
-        return Math.trunc(Math.random() * (maxTime - minTime) + minTime);
-      }
-    };
-    function internalArtifactTwirpClient(options) {
-      const client = new ArtifactHttpClient((0, user_agent_1.getUserAgentString)(), options === null || options === void 0 ? void 0 : options.maxAttempts, options === null || options === void 0 ? void 0 : options.retryIntervalMs, options === null || options === void 0 ? void 0 : options.retryMultiplier);
-      return new generated_1.ArtifactServiceClientJSON(client);
-    }
-    exports2.internalArtifactTwirpClient = internalArtifactTwirpClient;
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.js
-var require_upload_zip_specification = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.js"(exports2) {
-    "use strict";
-    var __createBinding2 = 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];
-        } };
+        const ret = super.emit("end");
+        this.removeAllListeners("end");
+        return ret;
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      /**
+       * Return a Promise that resolves to an array of all emitted data once
+       * the stream ends.
+       */
+      async collect() {
+        const buf = Object.assign([], {
+          dataLength: 0
+        });
+        if (!this[OBJECTMODE])
+          buf.dataLength = 0;
+        const p = this.promise();
+        this.on("data", (c) => {
+          buf.push(c);
+          if (!this[OBJECTMODE])
+            buf.dataLength += c.length;
+        });
+        await p;
+        return buf;
       }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getUploadZipSpecification = exports2.validateRootDirectory = void 0;
-    var fs3 = __importStar2(require("fs"));
-    var core_1 = require_core();
-    var path_1 = require("path");
-    var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation();
-    function validateRootDirectory(rootDirectory) {
-      if (!fs3.existsSync(rootDirectory)) {
-        throw new Error(`The provided rootDirectory ${rootDirectory} does not exist`);
+      /**
+       * Return a Promise that resolves to the concatenation of all emitted data
+       * once the stream ends.
+       *
+       * Not allowed on objectMode streams.
+       */
+      async concat() {
+        if (this[OBJECTMODE]) {
+          throw new Error("cannot concat in objectMode");
+        }
+        const buf = await this.collect();
+        return this[ENCODING] ? buf.join("") : Buffer.concat(buf, buf.dataLength);
       }
-      if (!fs3.statSync(rootDirectory).isDirectory()) {
-        throw new Error(`The provided rootDirectory ${rootDirectory} is not a valid directory`);
+      /**
+       * Return a void Promise that resolves once the stream ends.
+       */
+      async promise() {
+        return new Promise((resolve3, reject) => {
+          this.on(DESTROYED, () => reject(new Error("stream destroyed")));
+          this.on("error", (er) => reject(er));
+          this.on("end", () => resolve3());
+        });
       }
-      (0, core_1.info)(`Root directory input is valid!`);
-    }
-    exports2.validateRootDirectory = validateRootDirectory;
-    function getUploadZipSpecification(filesToZip, rootDirectory) {
-      const specification = [];
-      rootDirectory = (0, path_1.normalize)(rootDirectory);
-      rootDirectory = (0, path_1.resolve)(rootDirectory);
-      for (let file of filesToZip) {
-        const stats = fs3.lstatSync(file, { throwIfNoEntry: false });
-        if (!stats) {
-          throw new Error(`File ${file} does not exist`);
-        }
-        if (!stats.isDirectory()) {
-          file = (0, path_1.normalize)(file);
-          file = (0, path_1.resolve)(file);
-          if (!file.startsWith(rootDirectory)) {
-            throw new Error(`The rootDirectory: ${rootDirectory} is not a parent directory of the file: ${file}`);
-          }
-          const uploadPath = file.replace(rootDirectory, "");
-          (0, path_and_artifact_name_validation_1.validateFilePath)(uploadPath);
-          specification.push({
-            sourcePath: file,
-            destinationPath: uploadPath,
-            stats
-          });
-        } else {
-          const directoryPath = file.replace(rootDirectory, "");
-          (0, path_and_artifact_name_validation_1.validateFilePath)(directoryPath);
-          specification.push({
-            sourcePath: null,
-            destinationPath: directoryPath,
-            stats
+      /**
+       * Asynchronous `for await of` iteration.
+       *
+       * This will continue emitting all chunks until the stream terminates.
+       */
+      [Symbol.asyncIterator]() {
+        this[DISCARDED] = false;
+        let stopped = false;
+        const stop = async () => {
+          this.pause();
+          stopped = true;
+          return { value: void 0, done: true };
+        };
+        const next = () => {
+          if (stopped)
+            return stop();
+          const res = this.read();
+          if (res !== null)
+            return Promise.resolve({ done: false, value: res });
+          if (this[EOF])
+            return stop();
+          let resolve3;
+          let reject;
+          const onerr = (er) => {
+            this.off("data", ondata);
+            this.off("end", onend);
+            this.off(DESTROYED, ondestroy);
+            stop();
+            reject(er);
+          };
+          const ondata = (value) => {
+            this.off("error", onerr);
+            this.off("end", onend);
+            this.off(DESTROYED, ondestroy);
+            this.pause();
+            resolve3({ value, done: !!this[EOF] });
+          };
+          const onend = () => {
+            this.off("error", onerr);
+            this.off("data", ondata);
+            this.off(DESTROYED, ondestroy);
+            stop();
+            resolve3({ done: true, value: void 0 });
+          };
+          const ondestroy = () => onerr(new Error("stream destroyed"));
+          return new Promise((res2, rej) => {
+            reject = rej;
+            resolve3 = res2;
+            this.once(DESTROYED, ondestroy);
+            this.once("error", onerr);
+            this.once("end", onend);
+            this.once("data", ondata);
           });
+        };
+        return {
+          next,
+          throw: stop,
+          return: stop,
+          [Symbol.asyncIterator]() {
+            return this;
+          }
+        };
+      }
+      /**
+       * Synchronous `for of` iteration.
+       *
+       * The iteration will terminate when the internal buffer runs out, even
+       * if the stream has not yet terminated.
+       */
+      [Symbol.iterator]() {
+        this[DISCARDED] = false;
+        let stopped = false;
+        const stop = () => {
+          this.pause();
+          this.off(ERROR, stop);
+          this.off(DESTROYED, stop);
+          this.off("end", stop);
+          stopped = true;
+          return { done: true, value: void 0 };
+        };
+        const next = () => {
+          if (stopped)
+            return stop();
+          const value = this.read();
+          return value === null ? stop() : { done: false, value };
+        };
+        this.once("end", stop);
+        this.once(ERROR, stop);
+        this.once(DESTROYED, stop);
+        return {
+          next,
+          throw: stop,
+          return: stop,
+          [Symbol.iterator]() {
+            return this;
+          }
+        };
+      }
+      /**
+       * Destroy a stream, preventing it from being used for any further purpose.
+       *
+       * If the stream has a `close()` method, then it will be called on
+       * destruction.
+       *
+       * After destruction, any attempt to write data, read data, or emit most
+       * events will be ignored.
+       *
+       * If an error argument is provided, then it will be emitted in an
+       * 'error' event.
+       */
+      destroy(er) {
+        if (this[DESTROYED]) {
+          if (er)
+            this.emit("error", er);
+          else
+            this.emit(DESTROYED);
+          return this;
         }
+        this[DESTROYED] = true;
+        this[DISCARDED] = true;
+        this[BUFFER].length = 0;
+        this[BUFFERLENGTH] = 0;
+        const wc = this;
+        if (typeof wc.close === "function" && !this[CLOSED])
+          wc.close();
+        if (er)
+          this.emit("error", er);
+        else
+          this.emit(DESTROYED);
+        return this;
       }
-      return specification;
-    }
-    exports2.getUploadZipSpecification = getUploadZipSpecification;
+      /**
+       * Alias for {@link isStream}
+       *
+       * Former export location, maintained for backwards compatibility.
+       *
+       * @deprecated
+       */
+      static get isStream() {
+        return exports2.isStream;
+      }
+    };
+    exports2.Minipass = Minipass;
   }
 });
 
-// node_modules/@actions/artifact/lib/internal/upload/blob-upload.js
-var require_blob_upload = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/blob-upload.js"(exports2) {
+// node_modules/path-scurry/dist/commonjs/index.js
+var require_commonjs23 = __commonJS({
+  "node_modules/path-scurry/dist/commonjs/index.js"(exports2) {
     "use strict";
     var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
       if (k2 === void 0) k2 = k;
@@ -100135,25422 +118981,24826 @@ var require_blob_upload = __commonJS({
       __setModuleDefault2(result, mod);
       return result;
     };
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve3) {
-          resolve3(value);
-        });
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.PathScurry = exports2.Path = exports2.PathScurryDarwin = exports2.PathScurryPosix = exports2.PathScurryWin32 = exports2.PathScurryBase = exports2.PathPosix = exports2.PathWin32 = exports2.PathBase = exports2.ChildrenCache = exports2.ResolveCache = void 0;
+    var lru_cache_1 = require_commonjs21();
+    var node_path_1 = require("node:path");
+    var node_url_1 = require("node:url");
+    var fs_1 = require("fs");
+    var actualFS = __importStar2(require("node:fs"));
+    var realpathSync = fs_1.realpathSync.native;
+    var promises_1 = require("node:fs/promises");
+    var minipass_1 = require_commonjs22();
+    var defaultFS = {
+      lstatSync: fs_1.lstatSync,
+      readdir: fs_1.readdir,
+      readdirSync: fs_1.readdirSync,
+      readlinkSync: fs_1.readlinkSync,
+      realpathSync,
+      promises: {
+        lstat: promises_1.lstat,
+        readdir: promises_1.readdir,
+        readlink: promises_1.readlink,
+        realpath: promises_1.realpath
       }
-      return new (P || (P = Promise))(function(resolve3, 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 ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
     };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.uploadZipToBlobStorage = void 0;
-    var storage_blob_1 = require_commonjs15();
-    var config_1 = require_config2();
-    var core14 = __importStar2(require_core());
-    var crypto2 = __importStar2(require("crypto"));
-    var stream = __importStar2(require("stream"));
-    var errors_1 = require_errors4();
-    function uploadZipToBlobStorage(authenticatedUploadURL, zipUploadStream) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        let uploadByteCount = 0;
-        let lastProgressTime = Date.now();
-        const abortController = new AbortController();
-        const chunkTimer = (interval) => __awaiter2(this, void 0, void 0, function* () {
-          return new Promise((resolve3, reject) => {
-            const timer = setInterval(() => {
-              if (Date.now() - lastProgressTime > interval) {
-                reject(new Error("Upload progress stalled."));
-              }
-            }, interval);
-            abortController.signal.addEventListener("abort", () => {
-              clearInterval(timer);
-              resolve3();
-            });
-          });
+    var fsFromOption = (fsOption) => !fsOption || fsOption === defaultFS || fsOption === actualFS ? defaultFS : {
+      ...defaultFS,
+      ...fsOption,
+      promises: {
+        ...defaultFS.promises,
+        ...fsOption.promises || {}
+      }
+    };
+    var uncDriveRegexp = /^\\\\\?\\([a-z]:)\\?$/i;
+    var uncToDrive = (rootPath) => rootPath.replace(/\//g, "\\").replace(uncDriveRegexp, "$1\\");
+    var eitherSep = /[\\\/]/;
+    var UNKNOWN = 0;
+    var IFIFO = 1;
+    var IFCHR = 2;
+    var IFDIR = 4;
+    var IFBLK = 6;
+    var IFREG = 8;
+    var IFLNK = 10;
+    var IFSOCK = 12;
+    var IFMT = 15;
+    var IFMT_UNKNOWN = ~IFMT;
+    var READDIR_CALLED = 16;
+    var LSTAT_CALLED = 32;
+    var ENOTDIR = 64;
+    var ENOENT = 128;
+    var ENOREADLINK = 256;
+    var ENOREALPATH = 512;
+    var ENOCHILD = ENOTDIR | ENOENT | ENOREALPATH;
+    var TYPEMASK = 1023;
+    var entToType = (s) => s.isFile() ? IFREG : s.isDirectory() ? IFDIR : s.isSymbolicLink() ? IFLNK : s.isCharacterDevice() ? IFCHR : s.isBlockDevice() ? IFBLK : s.isSocket() ? IFSOCK : s.isFIFO() ? IFIFO : UNKNOWN;
+    var normalizeCache = /* @__PURE__ */ new Map();
+    var normalize2 = (s) => {
+      const c = normalizeCache.get(s);
+      if (c)
+        return c;
+      const n = s.normalize("NFKD");
+      normalizeCache.set(s, n);
+      return n;
+    };
+    var normalizeNocaseCache = /* @__PURE__ */ new Map();
+    var normalizeNocase = (s) => {
+      const c = normalizeNocaseCache.get(s);
+      if (c)
+        return c;
+      const n = normalize2(s.toLowerCase());
+      normalizeNocaseCache.set(s, n);
+      return n;
+    };
+    var ResolveCache = class extends lru_cache_1.LRUCache {
+      constructor() {
+        super({ max: 256 });
+      }
+    };
+    exports2.ResolveCache = ResolveCache;
+    var ChildrenCache = class extends lru_cache_1.LRUCache {
+      constructor(maxSize = 16 * 1024) {
+        super({
+          maxSize,
+          // parent + children
+          sizeCalculation: (a) => a.length + 1
         });
-        const maxConcurrency = (0, config_1.getConcurrency)();
-        const bufferSize = (0, config_1.getUploadChunkSize)();
-        const blobClient = new storage_blob_1.BlobClient(authenticatedUploadURL);
-        const blockBlobClient = blobClient.getBlockBlobClient();
-        core14.debug(`Uploading artifact zip to blob storage with maxConcurrency: ${maxConcurrency}, bufferSize: ${bufferSize}`);
-        const uploadCallback = (progress) => {
-          core14.info(`Uploaded bytes ${progress.loadedBytes}`);
-          uploadByteCount = progress.loadedBytes;
-          lastProgressTime = Date.now();
-        };
-        const options = {
-          blobHTTPHeaders: { blobContentType: "zip" },
-          onProgress: uploadCallback,
-          abortSignal: abortController.signal
-        };
-        let sha256Hash = void 0;
-        const uploadStream = new stream.PassThrough();
-        const hashStream = crypto2.createHash("sha256");
-        zipUploadStream.pipe(uploadStream);
-        zipUploadStream.pipe(hashStream).setEncoding("hex");
-        core14.info("Beginning upload of artifact content to blob storage");
-        try {
-          yield Promise.race([
-            blockBlobClient.uploadStream(uploadStream, bufferSize, maxConcurrency, options),
-            chunkTimer((0, config_1.getUploadChunkTimeout)())
-          ]);
-        } catch (error3) {
-          if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) {
-            throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code);
-          }
-          throw error3;
-        } finally {
-          abortController.abort();
-        }
-        core14.info("Finished uploading artifact content to blob storage!");
-        hashStream.end();
-        sha256Hash = hashStream.read();
-        core14.info(`SHA256 digest of uploaded artifact zip is ${sha256Hash}`);
-        if (uploadByteCount === 0) {
-          core14.warning(`No data was uploaded to blob storage. Reported upload byte count is 0.`);
-        }
-        return {
-          uploadSize: uploadByteCount,
-          sha256Hash
-        };
-      });
-    }
-    exports2.uploadZipToBlobStorage = uploadZipToBlobStorage;
-  }
-});
-
-// node_modules/readdir-glob/node_modules/minimatch/lib/path.js
-var require_path = __commonJS({
-  "node_modules/readdir-glob/node_modules/minimatch/lib/path.js"(exports2, module2) {
-    var isWindows = typeof process === "object" && process && process.platform === "win32";
-    module2.exports = isWindows ? { sep: "\\" } : { sep: "/" };
-  }
-});
-
-// node_modules/readdir-glob/node_modules/brace-expansion/index.js
-var require_brace_expansion2 = __commonJS({
-  "node_modules/readdir-glob/node_modules/brace-expansion/index.js"(exports2, module2) {
-    var balanced = require_balanced_match();
-    module2.exports = expandTop;
-    var escSlash = "\0SLASH" + Math.random() + "\0";
-    var escOpen = "\0OPEN" + Math.random() + "\0";
-    var escClose = "\0CLOSE" + Math.random() + "\0";
-    var escComma = "\0COMMA" + Math.random() + "\0";
-    var escPeriod = "\0PERIOD" + Math.random() + "\0";
-    function numeric(str2) {
-      return parseInt(str2, 10) == str2 ? parseInt(str2, 10) : str2.charCodeAt(0);
-    }
-    function escapeBraces(str2) {
-      return str2.split("\\\\").join(escSlash).split("\\{").join(escOpen).split("\\}").join(escClose).split("\\,").join(escComma).split("\\.").join(escPeriod);
-    }
-    function unescapeBraces(str2) {
-      return str2.split(escSlash).join("\\").split(escOpen).join("{").split(escClose).join("}").split(escComma).join(",").split(escPeriod).join(".");
-    }
-    function parseCommaParts(str2) {
-      if (!str2)
-        return [""];
-      var parts = [];
-      var m = balanced("{", "}", str2);
-      if (!m)
-        return str2.split(",");
-      var pre = m.pre;
-      var body = m.body;
-      var post = m.post;
-      var p = pre.split(",");
-      p[p.length - 1] += "{" + body + "}";
-      var postParts = parseCommaParts(post);
-      if (post.length) {
-        p[p.length - 1] += postParts.shift();
-        p.push.apply(p, postParts);
       }
-      parts.push.apply(parts, p);
-      return parts;
-    }
-    function expandTop(str2) {
-      if (!str2)
-        return [];
-      if (str2.substr(0, 2) === "{}") {
-        str2 = "\\{\\}" + str2.substr(2);
+    };
+    exports2.ChildrenCache = ChildrenCache;
+    var setAsCwd = /* @__PURE__ */ Symbol("PathScurry setAsCwd");
+    var PathBase = class {
+      /**
+       * the basename of this path
+       *
+       * **Important**: *always* test the path name against any test string
+       * usingthe {@link isNamed} method, and not by directly comparing this
+       * string. Otherwise, unicode path strings that the system sees as identical
+       * will not be properly treated as the same path, leading to incorrect
+       * behavior and possible security issues.
+       */
+      name;
+      /**
+       * the Path entry corresponding to the path root.
+       *
+       * @internal
+       */
+      root;
+      /**
+       * All roots found within the current PathScurry family
+       *
+       * @internal
+       */
+      roots;
+      /**
+       * a reference to the parent path, or undefined in the case of root entries
+       *
+       * @internal
+       */
+      parent;
+      /**
+       * boolean indicating whether paths are compared case-insensitively
+       * @internal
+       */
+      nocase;
+      /**
+       * boolean indicating that this path is the current working directory
+       * of the PathScurry collection that contains it.
+       */
+      isCWD = false;
+      // potential default fs override
+      #fs;
+      // Stats fields
+      #dev;
+      get dev() {
+        return this.#dev;
       }
-      return expand2(escapeBraces(str2), true).map(unescapeBraces);
-    }
-    function embrace(str2) {
-      return "{" + str2 + "}";
-    }
-    function isPadded(el) {
-      return /^-?0\d/.test(el);
-    }
-    function lte(i, y) {
-      return i <= y;
-    }
-    function gte6(i, y) {
-      return i >= y;
-    }
-    function expand2(str2, isTop) {
-      var expansions = [];
-      var m = balanced("{", "}", str2);
-      if (!m) return [str2];
-      var pre = m.pre;
-      var post = m.post.length ? expand2(m.post, false) : [""];
-      if (/\$$/.test(m.pre)) {
-        for (var k = 0; k < post.length; k++) {
-          var expansion = pre + "{" + m.body + "}" + post[k];
-          expansions.push(expansion);
-        }
-      } else {
-        var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
-        var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
-        var isSequence = isNumericSequence || isAlphaSequence;
-        var isOptions = m.body.indexOf(",") >= 0;
-        if (!isSequence && !isOptions) {
-          if (m.post.match(/,(?!,).*\}/)) {
-            str2 = m.pre + "{" + m.body + escClose + m.post;
-            return expand2(str2);
-          }
-          return [str2];
-        }
-        var n;
-        if (isSequence) {
-          n = m.body.split(/\.\./);
-        } else {
-          n = parseCommaParts(m.body);
-          if (n.length === 1) {
-            n = expand2(n[0], false).map(embrace);
-            if (n.length === 1) {
-              return post.map(function(p) {
-                return m.pre + n[0] + p;
-              });
-            }
-          }
-        }
-        var N;
-        if (isSequence) {
-          var x = numeric(n[0]);
-          var y = numeric(n[1]);
-          var width = Math.max(n[0].length, n[1].length);
-          var incr = n.length == 3 ? Math.abs(numeric(n[2])) : 1;
-          var test = lte;
-          var reverse = y < x;
-          if (reverse) {
-            incr *= -1;
-            test = gte6;
-          }
-          var pad = n.some(isPadded);
-          N = [];
-          for (var i = x; test(i, y); i += incr) {
-            var c;
-            if (isAlphaSequence) {
-              c = String.fromCharCode(i);
-              if (c === "\\")
-                c = "";
-            } else {
-              c = String(i);
-              if (pad) {
-                var need = width - c.length;
-                if (need > 0) {
-                  var z = new Array(need + 1).join("0");
-                  if (i < 0)
-                    c = "-" + z + c.slice(1);
-                  else
-                    c = z + c;
-                }
-              }
-            }
-            N.push(c);
-          }
-        } else {
-          N = [];
-          for (var j = 0; j < n.length; j++) {
-            N.push.apply(N, expand2(n[j], false));
-          }
-        }
-        for (var j = 0; j < N.length; j++) {
-          for (var k = 0; k < post.length; k++) {
-            var expansion = pre + N[j] + post[k];
-            if (!isTop || isSequence || expansion)
-              expansions.push(expansion);
-          }
-        }
+      #mode;
+      get mode() {
+        return this.#mode;
       }
-      return expansions;
-    }
-  }
-});
-
-// node_modules/readdir-glob/node_modules/minimatch/minimatch.js
-var require_minimatch2 = __commonJS({
-  "node_modules/readdir-glob/node_modules/minimatch/minimatch.js"(exports2, module2) {
-    var minimatch = module2.exports = (p, pattern, options = {}) => {
-      assertValidPattern(pattern);
-      if (!options.nocomment && pattern.charAt(0) === "#") {
-        return false;
+      #nlink;
+      get nlink() {
+        return this.#nlink;
       }
-      return new Minimatch(pattern, options).match(p);
-    };
-    module2.exports = minimatch;
-    var path4 = require_path();
-    minimatch.sep = path4.sep;
-    var GLOBSTAR = /* @__PURE__ */ Symbol("globstar **");
-    minimatch.GLOBSTAR = GLOBSTAR;
-    var expand2 = require_brace_expansion2();
-    var plTypes = {
-      "!": { open: "(?:(?!(?:", close: "))[^/]*?)" },
-      "?": { open: "(?:", close: ")?" },
-      "+": { open: "(?:", close: ")+" },
-      "*": { open: "(?:", close: ")*" },
-      "@": { open: "(?:", close: ")" }
-    };
-    var qmark = "[^/]";
-    var star = qmark + "*?";
-    var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
-    var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
-    var charSet = (s) => s.split("").reduce((set2, c) => {
-      set2[c] = true;
-      return set2;
-    }, {});
-    var reSpecials = charSet("().*{}+?[]^$\\!");
-    var addPatternStartSet = charSet("[.(");
-    var slashSplit = /\/+/;
-    minimatch.filter = (pattern, options = {}) => (p, i, list) => minimatch(p, pattern, options);
-    var ext = (a, b = {}) => {
-      const t = {};
-      Object.keys(a).forEach((k) => t[k] = a[k]);
-      Object.keys(b).forEach((k) => t[k] = b[k]);
-      return t;
-    };
-    minimatch.defaults = (def) => {
-      if (!def || typeof def !== "object" || !Object.keys(def).length) {
-        return minimatch;
+      #uid;
+      get uid() {
+        return this.#uid;
+      }
+      #gid;
+      get gid() {
+        return this.#gid;
+      }
+      #rdev;
+      get rdev() {
+        return this.#rdev;
       }
-      const orig = minimatch;
-      const m = (p, pattern, options) => orig(p, pattern, ext(def, options));
-      m.Minimatch = class Minimatch extends orig.Minimatch {
-        constructor(pattern, options) {
-          super(pattern, ext(def, options));
-        }
-      };
-      m.Minimatch.defaults = (options) => orig.defaults(ext(def, options)).Minimatch;
-      m.filter = (pattern, options) => orig.filter(pattern, ext(def, options));
-      m.defaults = (options) => orig.defaults(ext(def, options));
-      m.makeRe = (pattern, options) => orig.makeRe(pattern, ext(def, options));
-      m.braceExpand = (pattern, options) => orig.braceExpand(pattern, ext(def, options));
-      m.match = (list, pattern, options) => orig.match(list, pattern, ext(def, options));
-      return m;
-    };
-    minimatch.braceExpand = (pattern, options) => braceExpand(pattern, options);
-    var braceExpand = (pattern, options = {}) => {
-      assertValidPattern(pattern);
-      if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
-        return [pattern];
+      #blksize;
+      get blksize() {
+        return this.#blksize;
       }
-      return expand2(pattern);
-    };
-    var MAX_PATTERN_LENGTH = 1024 * 64;
-    var assertValidPattern = (pattern) => {
-      if (typeof pattern !== "string") {
-        throw new TypeError("invalid pattern");
+      #ino;
+      get ino() {
+        return this.#ino;
       }
-      if (pattern.length > MAX_PATTERN_LENGTH) {
-        throw new TypeError("pattern is too long");
+      #size;
+      get size() {
+        return this.#size;
       }
-    };
-    var SUBPARSE = /* @__PURE__ */ Symbol("subparse");
-    minimatch.makeRe = (pattern, options) => new Minimatch(pattern, options || {}).makeRe();
-    minimatch.match = (list, pattern, options = {}) => {
-      const mm = new Minimatch(pattern, options);
-      list = list.filter((f) => mm.match(f));
-      if (mm.options.nonull && !list.length) {
-        list.push(pattern);
+      #blocks;
+      get blocks() {
+        return this.#blocks;
       }
-      return list;
-    };
-    var globUnescape = (s) => s.replace(/\\(.)/g, "$1");
-    var charUnescape = (s) => s.replace(/\\([^-\]])/g, "$1");
-    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
-    var braExpEscape = (s) => s.replace(/[[\]\\]/g, "\\$&");
-    var Minimatch = class {
-      constructor(pattern, options) {
-        assertValidPattern(pattern);
-        if (!options) options = {};
-        this.options = options;
-        this.set = [];
-        this.pattern = pattern;
-        this.windowsPathsNoEscape = !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;
-        if (this.windowsPathsNoEscape) {
-          this.pattern = this.pattern.replace(/\\/g, "/");
-        }
-        this.regexp = null;
-        this.negate = false;
-        this.comment = false;
-        this.empty = false;
-        this.partial = !!options.partial;
-        this.make();
+      #atimeMs;
+      get atimeMs() {
+        return this.#atimeMs;
       }
-      debug() {
+      #mtimeMs;
+      get mtimeMs() {
+        return this.#mtimeMs;
       }
-      make() {
-        const pattern = this.pattern;
-        const options = this.options;
-        if (!options.nocomment && pattern.charAt(0) === "#") {
-          this.comment = true;
-          return;
-        }
-        if (!pattern) {
-          this.empty = true;
-          return;
-        }
-        this.parseNegate();
-        let set2 = this.globSet = this.braceExpand();
-        if (options.debug) this.debug = (...args) => console.error(...args);
-        this.debug(this.pattern, set2);
-        set2 = this.globParts = set2.map((s) => s.split(slashSplit));
-        this.debug(this.pattern, set2);
-        set2 = set2.map((s, si, set3) => s.map(this.parse, this));
-        this.debug(this.pattern, set2);
-        set2 = set2.filter((s) => s.indexOf(false) === -1);
-        this.debug(this.pattern, set2);
-        this.set = set2;
+      #ctimeMs;
+      get ctimeMs() {
+        return this.#ctimeMs;
       }
-      parseNegate() {
-        if (this.options.nonegate) return;
-        const pattern = this.pattern;
-        let negate = false;
-        let negateOffset = 0;
-        for (let i = 0; i < pattern.length && pattern.charAt(i) === "!"; i++) {
-          negate = !negate;
-          negateOffset++;
-        }
-        if (negateOffset) this.pattern = pattern.slice(negateOffset);
-        this.negate = negate;
+      #birthtimeMs;
+      get birthtimeMs() {
+        return this.#birthtimeMs;
       }
-      // set partial to true to test if, for example,
-      // "/a/b" matches the start of "/*/b/*/d"
-      // Partial means, if you run out of file before you run
-      // out of pattern, then that's fine, as long as all
-      // the parts match.
-      matchOne(file, pattern, partial) {
-        var options = this.options;
-        this.debug(
-          "matchOne",
-          { "this": this, file, pattern }
-        );
-        this.debug("matchOne", file.length, pattern.length);
-        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
-          this.debug("matchOne loop");
-          var p = pattern[pi];
-          var f = file[fi];
-          this.debug(pattern, p, f);
-          if (p === false) return false;
-          if (p === GLOBSTAR) {
-            this.debug("GLOBSTAR", [pattern, p, f]);
-            var fr = fi;
-            var pr = pi + 1;
-            if (pr === pl) {
-              this.debug("** at the end");
-              for (; fi < fl; fi++) {
-                if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".") return false;
-              }
-              return true;
-            }
-            while (fr < fl) {
-              var swallowee = file[fr];
-              this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
-              if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
-                this.debug("globstar found match!", fr, fl, swallowee);
-                return true;
-              } else {
-                if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
-                  this.debug("dot detected!", file, fr, pattern, pr);
-                  break;
-                }
-                this.debug("globstar swallow a segment, and continue");
-                fr++;
-              }
-            }
-            if (partial) {
-              this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
-              if (fr === fl) return true;
-            }
-            return false;
-          }
-          var hit;
-          if (typeof p === "string") {
-            hit = f === p;
-            this.debug("string match", p, f, hit);
-          } else {
-            hit = f.match(p);
-            this.debug("pattern match", p, f, hit);
-          }
-          if (!hit) return false;
-        }
-        if (fi === fl && pi === pl) {
-          return true;
-        } else if (fi === fl) {
-          return partial;
-        } else if (pi === pl) {
-          return fi === fl - 1 && file[fi] === "";
-        }
-        throw new Error("wtf?");
+      #atime;
+      get atime() {
+        return this.#atime;
       }
-      braceExpand() {
-        return braceExpand(this.pattern, this.options);
+      #mtime;
+      get mtime() {
+        return this.#mtime;
       }
-      parse(pattern, isSub) {
-        assertValidPattern(pattern);
-        const options = this.options;
-        if (pattern === "**") {
-          if (!options.noglobstar)
-            return GLOBSTAR;
-          else
-            pattern = "*";
-        }
-        if (pattern === "") return "";
-        let re = "";
-        let hasMagic = false;
-        let escaping = false;
-        const patternListStack = [];
-        const negativeLists = [];
-        let stateChar;
-        let inClass = false;
-        let reClassStart = -1;
-        let classStart = -1;
-        let cs;
-        let pl;
-        let sp;
-        let dotTravAllowed = pattern.charAt(0) === ".";
-        let dotFileAllowed = options.dot || dotTravAllowed;
-        const patternStart = () => dotTravAllowed ? "" : dotFileAllowed ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)";
-        const subPatternStart = (p) => p.charAt(0) === "." ? "" : options.dot ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)";
-        const clearStateChar = () => {
-          if (stateChar) {
-            switch (stateChar) {
-              case "*":
-                re += star;
-                hasMagic = true;
-                break;
-              case "?":
-                re += qmark;
-                hasMagic = true;
-                break;
-              default:
-                re += "\\" + stateChar;
-                break;
-            }
-            this.debug("clearStateChar %j %j", stateChar, re);
-            stateChar = false;
-          }
-        };
-        for (let i = 0, c; i < pattern.length && (c = pattern.charAt(i)); i++) {
-          this.debug("%s	%s %s %j", pattern, i, re, c);
-          if (escaping) {
-            if (c === "/") {
-              return false;
-            }
-            if (reSpecials[c]) {
-              re += "\\";
-            }
-            re += c;
-            escaping = false;
-            continue;
-          }
-          switch (c) {
-            /* istanbul ignore next */
-            case "/": {
-              return false;
-            }
-            case "\\":
-              if (inClass && pattern.charAt(i + 1) === "-") {
-                re += c;
-                continue;
-              }
-              clearStateChar();
-              escaping = true;
-              continue;
-            // the various stateChar values
-            // for the "extglob" stuff.
-            case "?":
-            case "*":
-            case "+":
-            case "@":
-            case "!":
-              this.debug("%s	%s %s %j <-- stateChar", pattern, i, re, c);
-              if (inClass) {
-                this.debug("  in class");
-                if (c === "!" && i === classStart + 1) c = "^";
-                re += c;
-                continue;
-              }
-              this.debug("call clearStateChar %j", stateChar);
-              clearStateChar();
-              stateChar = c;
-              if (options.noext) clearStateChar();
-              continue;
-            case "(": {
-              if (inClass) {
-                re += "(";
-                continue;
-              }
-              if (!stateChar) {
-                re += "\\(";
-                continue;
-              }
-              const plEntry = {
-                type: stateChar,
-                start: i - 1,
-                reStart: re.length,
-                open: plTypes[stateChar].open,
-                close: plTypes[stateChar].close
-              };
-              this.debug(this.pattern, "	", plEntry);
-              patternListStack.push(plEntry);
-              re += plEntry.open;
-              if (plEntry.start === 0 && plEntry.type !== "!") {
-                dotTravAllowed = true;
-                re += subPatternStart(pattern.slice(i + 1));
-              }
-              this.debug("plType %j %j", stateChar, re);
-              stateChar = false;
-              continue;
-            }
-            case ")": {
-              const plEntry = patternListStack[patternListStack.length - 1];
-              if (inClass || !plEntry) {
-                re += "\\)";
-                continue;
-              }
-              patternListStack.pop();
-              clearStateChar();
-              hasMagic = true;
-              pl = plEntry;
-              re += pl.close;
-              if (pl.type === "!") {
-                negativeLists.push(Object.assign(pl, { reEnd: re.length }));
-              }
-              continue;
-            }
-            case "|": {
-              const plEntry = patternListStack[patternListStack.length - 1];
-              if (inClass || !plEntry) {
-                re += "\\|";
-                continue;
-              }
-              clearStateChar();
-              re += "|";
-              if (plEntry.start === 0 && plEntry.type !== "!") {
-                dotTravAllowed = true;
-                re += subPatternStart(pattern.slice(i + 1));
-              }
-              continue;
-            }
-            // these are mostly the same in regexp and glob
-            case "[":
-              clearStateChar();
-              if (inClass) {
-                re += "\\" + c;
-                continue;
-              }
-              inClass = true;
-              classStart = i;
-              reClassStart = re.length;
-              re += c;
-              continue;
-            case "]":
-              if (i === classStart + 1 || !inClass) {
-                re += "\\" + c;
-                continue;
-              }
-              cs = pattern.substring(classStart + 1, i);
-              try {
-                RegExp("[" + braExpEscape(charUnescape(cs)) + "]");
-                re += c;
-              } catch (er) {
-                re = re.substring(0, reClassStart) + "(?:$.)";
-              }
-              hasMagic = true;
-              inClass = false;
-              continue;
-            default:
-              clearStateChar();
-              if (reSpecials[c] && !(c === "^" && inClass)) {
-                re += "\\";
-              }
-              re += c;
-              break;
-          }
-        }
-        if (inClass) {
-          cs = pattern.slice(classStart + 1);
-          sp = this.parse(cs, SUBPARSE);
-          re = re.substring(0, reClassStart) + "\\[" + sp[0];
-          hasMagic = hasMagic || sp[1];
-        }
-        for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {
-          let tail;
-          tail = re.slice(pl.reStart + pl.open.length);
-          this.debug("setting tail", re, pl);
-          tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, (_2, $1, $2) => {
-            if (!$2) {
-              $2 = "\\";
-            }
-            return $1 + $1 + $2 + "|";
-          });
-          this.debug("tail=%j\n   %s", tail, tail, pl, re);
-          const t = pl.type === "*" ? star : pl.type === "?" ? qmark : "\\" + pl.type;
-          hasMagic = true;
-          re = re.slice(0, pl.reStart) + t + "\\(" + tail;
-        }
-        clearStateChar();
-        if (escaping) {
-          re += "\\\\";
-        }
-        const addPatternStart = addPatternStartSet[re.charAt(0)];
-        for (let n = negativeLists.length - 1; n > -1; n--) {
-          const nl = negativeLists[n];
-          const nlBefore = re.slice(0, nl.reStart);
-          const nlFirst = re.slice(nl.reStart, nl.reEnd - 8);
-          let nlAfter = re.slice(nl.reEnd);
-          const nlLast = re.slice(nl.reEnd - 8, nl.reEnd) + nlAfter;
-          const closeParensBefore = nlBefore.split(")").length;
-          const openParensBefore = nlBefore.split("(").length - closeParensBefore;
-          let cleanAfter = nlAfter;
-          for (let i = 0; i < openParensBefore; i++) {
-            cleanAfter = cleanAfter.replace(/\)[+*?]?/, "");
-          }
-          nlAfter = cleanAfter;
-          const dollar = nlAfter === "" && isSub !== SUBPARSE ? "(?:$|\\/)" : "";
-          re = nlBefore + nlFirst + nlAfter + dollar + nlLast;
-        }
-        if (re !== "" && hasMagic) {
-          re = "(?=.)" + re;
-        }
-        if (addPatternStart) {
-          re = patternStart() + re;
-        }
-        if (isSub === SUBPARSE) {
-          return [re, hasMagic];
-        }
-        if (options.nocase && !hasMagic) {
-          hasMagic = pattern.toUpperCase() !== pattern.toLowerCase();
-        }
-        if (!hasMagic) {
-          return globUnescape(pattern);
+      #ctime;
+      get ctime() {
+        return this.#ctime;
+      }
+      #birthtime;
+      get birthtime() {
+        return this.#birthtime;
+      }
+      #matchName;
+      #depth;
+      #fullpath;
+      #fullpathPosix;
+      #relative;
+      #relativePosix;
+      #type;
+      #children;
+      #linkTarget;
+      #realpath;
+      /**
+       * This property is for compatibility with the Dirent class as of
+       * Node v20, where Dirent['parentPath'] refers to the path of the
+       * directory that was passed to readdir. For root entries, it's the path
+       * to the entry itself.
+       */
+      get parentPath() {
+        return (this.parent || this).fullpath();
+      }
+      /**
+       * Deprecated alias for Dirent['parentPath'] Somewhat counterintuitively,
+       * this property refers to the *parent* path, not the path object itself.
+       *
+       * @deprecated
+       */
+      get path() {
+        return this.parentPath;
+      }
+      /**
+       * Do not create new Path objects directly.  They should always be accessed
+       * via the PathScurry class or other methods on the Path class.
+       *
+       * @internal
+       */
+      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
+        this.name = name;
+        this.#matchName = nocase ? normalizeNocase(name) : normalize2(name);
+        this.#type = type2 & TYPEMASK;
+        this.nocase = nocase;
+        this.roots = roots;
+        this.root = root || this;
+        this.#children = children;
+        this.#fullpath = opts.fullpath;
+        this.#relative = opts.relative;
+        this.#relativePosix = opts.relativePosix;
+        this.parent = opts.parent;
+        if (this.parent) {
+          this.#fs = this.parent.#fs;
+        } else {
+          this.#fs = fsFromOption(opts.fs);
         }
-        const flags = options.nocase ? "i" : "";
-        try {
-          return Object.assign(new RegExp("^" + re + "$", flags), {
-            _glob: pattern,
-            _src: re
-          });
-        } catch (er) {
-          return new RegExp("$.");
+      }
+      /**
+       * Returns the depth of the Path object from its root.
+       *
+       * For example, a path at `/foo/bar` would have a depth of 2.
+       */
+      depth() {
+        if (this.#depth !== void 0)
+          return this.#depth;
+        if (!this.parent)
+          return this.#depth = 0;
+        return this.#depth = this.parent.depth() + 1;
+      }
+      /**
+       * @internal
+       */
+      childrenCache() {
+        return this.#children;
+      }
+      /**
+       * Get the Path object referenced by the string path, resolved from this Path
+       */
+      resolve(path4) {
+        if (!path4) {
+          return this;
         }
+        const rootPath = this.getRootString(path4);
+        const dir = path4.substring(rootPath.length);
+        const dirParts = dir.split(this.splitSep);
+        const result = rootPath ? this.getRoot(rootPath).#resolveParts(dirParts) : this.#resolveParts(dirParts);
+        return result;
       }
-      makeRe() {
-        if (this.regexp || this.regexp === false) return this.regexp;
-        const set2 = this.set;
-        if (!set2.length) {
-          this.regexp = false;
-          return this.regexp;
+      #resolveParts(dirParts) {
+        let p = this;
+        for (const part of dirParts) {
+          p = p.child(part);
         }
-        const options = this.options;
-        const twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
-        const flags = options.nocase ? "i" : "";
-        let re = set2.map((pattern) => {
-          pattern = pattern.map(
-            (p) => typeof p === "string" ? regExpEscape(p) : p === GLOBSTAR ? GLOBSTAR : p._src
-          ).reduce((set3, p) => {
-            if (!(set3[set3.length - 1] === GLOBSTAR && p === GLOBSTAR)) {
-              set3.push(p);
-            }
-            return set3;
-          }, []);
-          pattern.forEach((p, i) => {
-            if (p !== GLOBSTAR || pattern[i - 1] === GLOBSTAR) {
-              return;
-            }
-            if (i === 0) {
-              if (pattern.length > 1) {
-                pattern[i + 1] = "(?:\\/|" + twoStar + "\\/)?" + pattern[i + 1];
-              } else {
-                pattern[i] = twoStar;
-              }
-            } else if (i === pattern.length - 1) {
-              pattern[i - 1] += "(?:\\/|" + twoStar + ")?";
-            } else {
-              pattern[i - 1] += "(?:\\/|\\/" + twoStar + "\\/)" + pattern[i + 1];
-              pattern[i + 1] = GLOBSTAR;
-            }
-          });
-          return pattern.filter((p) => p !== GLOBSTAR).join("/");
-        }).join("|");
-        re = "^(?:" + re + ")$";
-        if (this.negate) re = "^(?!" + re + ").*$";
-        try {
-          this.regexp = new RegExp(re, flags);
-        } catch (ex) {
-          this.regexp = false;
+        return p;
+      }
+      /**
+       * Returns the cached children Path objects, if still available.  If they
+       * have fallen out of the cache, then returns an empty array, and resets the
+       * READDIR_CALLED bit, so that future calls to readdir() will require an fs
+       * lookup.
+       *
+       * @internal
+       */
+      children() {
+        const cached = this.#children.get(this);
+        if (cached) {
+          return cached;
         }
-        return this.regexp;
+        const children = Object.assign([], { provisional: 0 });
+        this.#children.set(this, children);
+        this.#type &= ~READDIR_CALLED;
+        return children;
       }
-      match(f, partial = this.partial) {
-        this.debug("match", f, this.pattern);
-        if (this.comment) return false;
-        if (this.empty) return f === "";
-        if (f === "/" && partial) return true;
-        const options = this.options;
-        if (path4.sep !== "/") {
-          f = f.split(path4.sep).join("/");
+      /**
+       * Resolves a path portion and returns or creates the child Path.
+       *
+       * Returns `this` if pathPart is `''` or `'.'`, or `parent` if pathPart is
+       * `'..'`.
+       *
+       * This should not be called directly.  If `pathPart` contains any path
+       * separators, it will lead to unsafe undefined behavior.
+       *
+       * Use `Path.resolve()` instead.
+       *
+       * @internal
+       */
+      child(pathPart, opts) {
+        if (pathPart === "" || pathPart === ".") {
+          return this;
         }
-        f = f.split(slashSplit);
-        this.debug(this.pattern, "split", f);
-        const set2 = this.set;
-        this.debug(this.pattern, "set", set2);
-        let filename;
-        for (let i = f.length - 1; i >= 0; i--) {
-          filename = f[i];
-          if (filename) break;
+        if (pathPart === "..") {
+          return this.parent || this;
         }
-        for (let i = 0; i < set2.length; i++) {
-          const pattern = set2[i];
-          let file = f;
-          if (options.matchBase && pattern.length === 1) {
-            file = [filename];
-          }
-          const hit = this.matchOne(file, pattern, partial);
-          if (hit) {
-            if (options.flipNegate) return true;
-            return !this.negate;
+        const children = this.children();
+        const name = this.nocase ? normalizeNocase(pathPart) : normalize2(pathPart);
+        for (const p of children) {
+          if (p.#matchName === name) {
+            return p;
           }
         }
-        if (options.flipNegate) return false;
-        return this.negate;
-      }
-      static defaults(def) {
-        return minimatch.defaults(def).Minimatch;
-      }
-    };
-    minimatch.Minimatch = Minimatch;
-  }
-});
-
-// node_modules/readdir-glob/index.js
-var require_readdir_glob = __commonJS({
-  "node_modules/readdir-glob/index.js"(exports2, module2) {
-    module2.exports = readdirGlob;
-    var fs3 = require("fs");
-    var { EventEmitter } = require("events");
-    var { Minimatch } = require_minimatch2();
-    var { resolve: resolve3 } = require("path");
-    function readdir(dir, strict) {
-      return new Promise((resolve4, reject) => {
-        fs3.readdir(dir, { withFileTypes: true }, (err, files) => {
-          if (err) {
-            switch (err.code) {
-              case "ENOTDIR":
-                if (strict) {
-                  reject(err);
-                } else {
-                  resolve4([]);
-                }
-                break;
-              case "ENOTSUP":
-              // Operation not supported
-              case "ENOENT":
-              // No such file or directory
-              case "ENAMETOOLONG":
-              // Filename too long
-              case "UNKNOWN":
-                resolve4([]);
-                break;
-              case "ELOOP":
-              // Too many levels of symbolic links
-              default:
-                reject(err);
-                break;
-            }
-          } else {
-            resolve4(files);
-          }
-        });
-      });
-    }
-    function stat(file, followSymlinks) {
-      return new Promise((resolve4, reject) => {
-        const statFunc = followSymlinks ? fs3.stat : fs3.lstat;
-        statFunc(file, (err, stats) => {
-          if (err) {
-            switch (err.code) {
-              case "ENOENT":
-                if (followSymlinks) {
-                  resolve4(stat(file, false));
-                } else {
-                  resolve4(null);
-                }
-                break;
-              default:
-                resolve4(null);
-                break;
-            }
-          } else {
-            resolve4(stats);
-          }
+        const s = this.parent ? this.sep : "";
+        const fullpath = this.#fullpath ? this.#fullpath + s + pathPart : void 0;
+        const pchild = this.newChild(pathPart, UNKNOWN, {
+          ...opts,
+          parent: this,
+          fullpath
         });
-      });
-    }
-    async function* exploreWalkAsync(dir, path4, followSymlinks, useStat, shouldSkip, strict) {
-      let files = await readdir(path4 + dir, strict);
-      for (const file of files) {
-        let name = file.name;
-        if (name === void 0) {
-          name = file;
-          useStat = true;
-        }
-        const filename = dir + "/" + name;
-        const relative = filename.slice(1);
-        const absolute = path4 + "/" + relative;
-        let stats = null;
-        if (useStat || followSymlinks) {
-          stats = await stat(absolute, followSymlinks);
-        }
-        if (!stats && file.name !== void 0) {
-          stats = file;
+        if (!this.canReaddir()) {
+          pchild.#type |= ENOENT;
         }
-        if (stats === null) {
-          stats = { isDirectory: () => false };
+        children.push(pchild);
+        return pchild;
+      }
+      /**
+       * The relative path from the cwd. If it does not share an ancestor with
+       * the cwd, then this ends up being equivalent to the fullpath()
+       */
+      relative() {
+        if (this.isCWD)
+          return "";
+        if (this.#relative !== void 0) {
+          return this.#relative;
         }
-        if (stats.isDirectory()) {
-          if (!shouldSkip(relative)) {
-            yield { relative, absolute, stats };
-            yield* exploreWalkAsync(filename, path4, followSymlinks, useStat, shouldSkip, false);
-          }
-        } else {
-          yield { relative, absolute, stats };
+        const name = this.name;
+        const p = this.parent;
+        if (!p) {
+          return this.#relative = this.name;
         }
+        const pv = p.relative();
+        return pv + (!pv || !p.parent ? "" : this.sep) + name;
       }
-    }
-    async function* explore(path4, followSymlinks, useStat, shouldSkip) {
-      yield* exploreWalkAsync("", path4, followSymlinks, useStat, shouldSkip, true);
-    }
-    function readOptions(options) {
-      return {
-        pattern: options.pattern,
-        dot: !!options.dot,
-        noglobstar: !!options.noglobstar,
-        matchBase: !!options.matchBase,
-        nocase: !!options.nocase,
-        ignore: options.ignore,
-        skip: options.skip,
-        follow: !!options.follow,
-        stat: !!options.stat,
-        nodir: !!options.nodir,
-        mark: !!options.mark,
-        silent: !!options.silent,
-        absolute: !!options.absolute
-      };
-    }
-    var ReaddirGlob = class extends EventEmitter {
-      constructor(cwd, options, cb) {
-        super();
-        if (typeof options === "function") {
-          cb = options;
-          options = null;
-        }
-        this.options = readOptions(options || {});
-        this.matchers = [];
-        if (this.options.pattern) {
-          const matchers = Array.isArray(this.options.pattern) ? this.options.pattern : [this.options.pattern];
-          this.matchers = matchers.map(
-            (m) => new Minimatch(m, {
-              dot: this.options.dot,
-              noglobstar: this.options.noglobstar,
-              matchBase: this.options.matchBase,
-              nocase: this.options.nocase
-            })
-          );
+      /**
+       * The relative path from the cwd, using / as the path separator.
+       * If it does not share an ancestor with
+       * the cwd, then this ends up being equivalent to the fullpathPosix()
+       * On posix systems, this is identical to relative().
+       */
+      relativePosix() {
+        if (this.sep === "/")
+          return this.relative();
+        if (this.isCWD)
+          return "";
+        if (this.#relativePosix !== void 0)
+          return this.#relativePosix;
+        const name = this.name;
+        const p = this.parent;
+        if (!p) {
+          return this.#relativePosix = this.fullpathPosix();
         }
-        this.ignoreMatchers = [];
-        if (this.options.ignore) {
-          const ignorePatterns = Array.isArray(this.options.ignore) ? this.options.ignore : [this.options.ignore];
-          this.ignoreMatchers = ignorePatterns.map(
-            (ignore) => new Minimatch(ignore, { dot: true })
-          );
+        const pv = p.relativePosix();
+        return pv + (!pv || !p.parent ? "" : "/") + name;
+      }
+      /**
+       * The fully resolved path string for this Path entry
+       */
+      fullpath() {
+        if (this.#fullpath !== void 0) {
+          return this.#fullpath;
         }
-        this.skipMatchers = [];
-        if (this.options.skip) {
-          const skipPatterns = Array.isArray(this.options.skip) ? this.options.skip : [this.options.skip];
-          this.skipMatchers = skipPatterns.map(
-            (skip) => new Minimatch(skip, { dot: true })
-          );
+        const name = this.name;
+        const p = this.parent;
+        if (!p) {
+          return this.#fullpath = this.name;
         }
-        this.iterator = explore(resolve3(cwd || "."), this.options.follow, this.options.stat, this._shouldSkipDirectory.bind(this));
-        this.paused = false;
-        this.inactive = false;
-        this.aborted = false;
-        if (cb) {
-          this._matches = [];
-          this.on("match", (match) => this._matches.push(this.options.absolute ? match.absolute : match.relative));
-          this.on("error", (err) => cb(err));
-          this.on("end", () => cb(null, this._matches));
+        const pv = p.fullpath();
+        const fp = pv + (!p.parent ? "" : this.sep) + name;
+        return this.#fullpath = fp;
+      }
+      /**
+       * On platforms other than windows, this is identical to fullpath.
+       *
+       * On windows, this is overridden to return the forward-slash form of the
+       * full UNC path.
+       */
+      fullpathPosix() {
+        if (this.#fullpathPosix !== void 0)
+          return this.#fullpathPosix;
+        if (this.sep === "/")
+          return this.#fullpathPosix = this.fullpath();
+        if (!this.parent) {
+          const p2 = this.fullpath().replace(/\\/g, "/");
+          if (/^[a-z]:\//i.test(p2)) {
+            return this.#fullpathPosix = `//?/${p2}`;
+          } else {
+            return this.#fullpathPosix = p2;
+          }
         }
-        setTimeout(() => this._next(), 0);
+        const p = this.parent;
+        const pfpp = p.fullpathPosix();
+        const fpp = pfpp + (!pfpp || !p.parent ? "" : "/") + this.name;
+        return this.#fullpathPosix = fpp;
       }
-      _shouldSkipDirectory(relative) {
-        return this.skipMatchers.some((m) => m.match(relative));
+      /**
+       * Is the Path of an unknown type?
+       *
+       * Note that we might know *something* about it if there has been a previous
+       * filesystem operation, for example that it does not exist, or is not a
+       * link, or whether it has child entries.
+       */
+      isUnknown() {
+        return (this.#type & IFMT) === UNKNOWN;
       }
-      _fileMatches(relative, isDirectory) {
-        const file = relative + (isDirectory ? "/" : "");
-        return (this.matchers.length === 0 || this.matchers.some((m) => m.match(file))) && !this.ignoreMatchers.some((m) => m.match(file)) && (!this.options.nodir || !isDirectory);
+      isType(type2) {
+        return this[`is${type2}`]();
       }
-      _next() {
-        if (!this.paused && !this.aborted) {
-          this.iterator.next().then((obj) => {
-            if (!obj.done) {
-              const isDirectory = obj.value.stats.isDirectory();
-              if (this._fileMatches(obj.value.relative, isDirectory)) {
-                let relative = obj.value.relative;
-                let absolute = obj.value.absolute;
-                if (this.options.mark && isDirectory) {
-                  relative += "/";
-                  absolute += "/";
-                }
-                if (this.options.stat) {
-                  this.emit("match", { relative, absolute, stat: obj.value.stats });
-                } else {
-                  this.emit("match", { relative, absolute });
-                }
-              }
-              this._next(this.iterator);
-            } else {
-              this.emit("end");
-            }
-          }).catch((err) => {
-            this.abort();
-            this.emit("error", err);
-            if (!err.code && !this.options.silent) {
-              console.error(err);
-            }
-          });
-        } else {
-          this.inactive = true;
-        }
+      getType() {
+        return this.isUnknown() ? "Unknown" : this.isDirectory() ? "Directory" : this.isFile() ? "File" : this.isSymbolicLink() ? "SymbolicLink" : this.isFIFO() ? "FIFO" : this.isCharacterDevice() ? "CharacterDevice" : this.isBlockDevice() ? "BlockDevice" : (
+          /* c8 ignore start */
+          this.isSocket() ? "Socket" : "Unknown"
+        );
       }
-      abort() {
-        this.aborted = true;
+      /**
+       * Is the Path a regular file?
+       */
+      isFile() {
+        return (this.#type & IFMT) === IFREG;
       }
-      pause() {
-        this.paused = true;
+      /**
+       * Is the Path a directory?
+       */
+      isDirectory() {
+        return (this.#type & IFMT) === IFDIR;
       }
-      resume() {
-        this.paused = false;
-        if (this.inactive) {
-          this.inactive = false;
-          this._next();
-        }
+      /**
+       * Is the path a character device?
+       */
+      isCharacterDevice() {
+        return (this.#type & IFMT) === IFCHR;
       }
-    };
-    function readdirGlob(pattern, options, cb) {
-      return new ReaddirGlob(pattern, options, cb);
-    }
-    readdirGlob.ReaddirGlob = ReaddirGlob;
-  }
-});
-
-// node_modules/async/dist/async.js
-var require_async = __commonJS({
-  "node_modules/async/dist/async.js"(exports2, module2) {
-    (function(global2, factory) {
-      typeof exports2 === "object" && typeof module2 !== "undefined" ? factory(exports2) : typeof define === "function" && define.amd ? define(["exports"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory(global2.async = {}));
-    })(exports2, (function(exports3) {
-      "use strict";
-      function apply(fn, ...args) {
-        return (...callArgs) => fn(...args, ...callArgs);
+      /**
+       * Is the path a block device?
+       */
+      isBlockDevice() {
+        return (this.#type & IFMT) === IFBLK;
+      }
+      /**
+       * Is the path a FIFO pipe?
+       */
+      isFIFO() {
+        return (this.#type & IFMT) === IFIFO;
+      }
+      /**
+       * Is the path a socket?
+       */
+      isSocket() {
+        return (this.#type & IFMT) === IFSOCK;
+      }
+      /**
+       * Is the path a symbolic link?
+       */
+      isSymbolicLink() {
+        return (this.#type & IFLNK) === IFLNK;
+      }
+      /**
+       * Return the entry if it has been subject of a successful lstat, or
+       * undefined otherwise.
+       *
+       * Does not read the filesystem, so an undefined result *could* simply
+       * mean that we haven't called lstat on it.
+       */
+      lstatCached() {
+        return this.#type & LSTAT_CALLED ? this : void 0;
+      }
+      /**
+       * Return the cached link target if the entry has been the subject of a
+       * successful readlink, or undefined otherwise.
+       *
+       * Does not read the filesystem, so an undefined result *could* just mean we
+       * don't have any cached data. Only use it if you are very sure that a
+       * readlink() has been called at some point.
+       */
+      readlinkCached() {
+        return this.#linkTarget;
       }
-      function initialParams(fn) {
-        return function(...args) {
-          var callback = args.pop();
-          return fn.call(this, args, callback);
-        };
+      /**
+       * Returns the cached realpath target if the entry has been the subject
+       * of a successful realpath, or undefined otherwise.
+       *
+       * Does not read the filesystem, so an undefined result *could* just mean we
+       * don't have any cached data. Only use it if you are very sure that a
+       * realpath() has been called at some point.
+       */
+      realpathCached() {
+        return this.#realpath;
       }
-      var hasQueueMicrotask = typeof queueMicrotask === "function" && queueMicrotask;
-      var hasSetImmediate = typeof setImmediate === "function" && setImmediate;
-      var hasNextTick = typeof process === "object" && typeof process.nextTick === "function";
-      function fallback(fn) {
-        setTimeout(fn, 0);
+      /**
+       * Returns the cached child Path entries array if the entry has been the
+       * subject of a successful readdir(), or [] otherwise.
+       *
+       * Does not read the filesystem, so an empty array *could* just mean we
+       * don't have any cached data. Only use it if you are very sure that a
+       * readdir() has been called recently enough to still be valid.
+       */
+      readdirCached() {
+        const children = this.children();
+        return children.slice(0, children.provisional);
       }
-      function wrap(defer) {
-        return (fn, ...args) => defer(() => fn(...args));
+      /**
+       * Return true if it's worth trying to readlink.  Ie, we don't (yet) have
+       * any indication that readlink will definitely fail.
+       *
+       * Returns false if the path is known to not be a symlink, if a previous
+       * readlink failed, or if the entry does not exist.
+       */
+      canReadlink() {
+        if (this.#linkTarget)
+          return true;
+        if (!this.parent)
+          return false;
+        const ifmt = this.#type & IFMT;
+        return !(ifmt !== UNKNOWN && ifmt !== IFLNK || this.#type & ENOREADLINK || this.#type & ENOENT);
       }
-      var _defer$1;
-      if (hasQueueMicrotask) {
-        _defer$1 = queueMicrotask;
-      } else if (hasSetImmediate) {
-        _defer$1 = setImmediate;
-      } else if (hasNextTick) {
-        _defer$1 = process.nextTick;
-      } else {
-        _defer$1 = fallback;
+      /**
+       * Return true if readdir has previously been successfully called on this
+       * path, indicating that cachedReaddir() is likely valid.
+       */
+      calledReaddir() {
+        return !!(this.#type & READDIR_CALLED);
       }
-      var setImmediate$1 = wrap(_defer$1);
-      function asyncify(func) {
-        if (isAsync(func)) {
-          return function(...args) {
-            const callback = args.pop();
-            const promise = func.apply(this, args);
-            return handlePromise(promise, callback);
-          };
-        }
-        return initialParams(function(args, callback) {
-          var result;
-          try {
-            result = func.apply(this, args);
-          } catch (e) {
-            return callback(e);
-          }
-          if (result && typeof result.then === "function") {
-            return handlePromise(result, callback);
-          } else {
-            callback(null, result);
-          }
-        });
+      /**
+       * Returns true if the path is known to not exist. That is, a previous lstat
+       * or readdir failed to verify its existence when that would have been
+       * expected, or a parent entry was marked either enoent or enotdir.
+       */
+      isENOENT() {
+        return !!(this.#type & ENOENT);
       }
-      function handlePromise(promise, callback) {
-        return promise.then((value) => {
-          invokeCallback(callback, null, value);
-        }, (err) => {
-          invokeCallback(callback, err && (err instanceof Error || err.message) ? err : new Error(err));
-        });
+      /**
+       * Return true if the path is a match for the given path name.  This handles
+       * case sensitivity and unicode normalization.
+       *
+       * Note: even on case-sensitive systems, it is **not** safe to test the
+       * equality of the `.name` property to determine whether a given pathname
+       * matches, due to unicode normalization mismatches.
+       *
+       * Always use this method instead of testing the `path.name` property
+       * directly.
+       */
+      isNamed(n) {
+        return !this.nocase ? this.#matchName === normalize2(n) : this.#matchName === normalizeNocase(n);
       }
-      function invokeCallback(callback, error3, value) {
+      /**
+       * Return the Path object corresponding to the target of a symbolic link.
+       *
+       * If the Path is not a symbolic link, or if the readlink call fails for any
+       * reason, `undefined` is returned.
+       *
+       * Result is cached, and thus may be outdated if the filesystem is mutated.
+       */
+      async readlink() {
+        const target = this.#linkTarget;
+        if (target) {
+          return target;
+        }
+        if (!this.canReadlink()) {
+          return void 0;
+        }
+        if (!this.parent) {
+          return void 0;
+        }
         try {
-          callback(error3, value);
-        } catch (err) {
-          setImmediate$1((e) => {
-            throw e;
-          }, err);
+          const read = await this.#fs.promises.readlink(this.fullpath());
+          const linkTarget = (await this.parent.realpath())?.resolve(read);
+          if (linkTarget) {
+            return this.#linkTarget = linkTarget;
+          }
+        } catch (er) {
+          this.#readlinkFail(er.code);
+          return void 0;
         }
       }
-      function isAsync(fn) {
-        return fn[Symbol.toStringTag] === "AsyncFunction";
-      }
-      function isAsyncGenerator(fn) {
-        return fn[Symbol.toStringTag] === "AsyncGenerator";
+      /**
+       * Synchronous {@link PathBase.readlink}
+       */
+      readlinkSync() {
+        const target = this.#linkTarget;
+        if (target) {
+          return target;
+        }
+        if (!this.canReadlink()) {
+          return void 0;
+        }
+        if (!this.parent) {
+          return void 0;
+        }
+        try {
+          const read = this.#fs.readlinkSync(this.fullpath());
+          const linkTarget = this.parent.realpathSync()?.resolve(read);
+          if (linkTarget) {
+            return this.#linkTarget = linkTarget;
+          }
+        } catch (er) {
+          this.#readlinkFail(er.code);
+          return void 0;
+        }
       }
-      function isAsyncIterable(obj) {
-        return typeof obj[Symbol.asyncIterator] === "function";
+      #readdirSuccess(children) {
+        this.#type |= READDIR_CALLED;
+        for (let p = children.provisional; p < children.length; p++) {
+          const c = children[p];
+          if (c)
+            c.#markENOENT();
+        }
       }
-      function wrapAsync(asyncFn) {
-        if (typeof asyncFn !== "function") throw new Error("expected a function");
-        return isAsync(asyncFn) ? asyncify(asyncFn) : asyncFn;
+      #markENOENT() {
+        if (this.#type & ENOENT)
+          return;
+        this.#type = (this.#type | ENOENT) & IFMT_UNKNOWN;
+        this.#markChildrenENOENT();
       }
-      function awaitify(asyncFn, arity) {
-        if (!arity) arity = asyncFn.length;
-        if (!arity) throw new Error("arity is undefined");
-        function awaitable(...args) {
-          if (typeof args[arity - 1] === "function") {
-            return asyncFn.apply(this, args);
-          }
-          return new Promise((resolve3, reject2) => {
-            args[arity - 1] = (err, ...cbArgs) => {
-              if (err) return reject2(err);
-              resolve3(cbArgs.length > 1 ? cbArgs : cbArgs[0]);
-            };
-            asyncFn.apply(this, args);
-          });
+      #markChildrenENOENT() {
+        const children = this.children();
+        children.provisional = 0;
+        for (const p of children) {
+          p.#markENOENT();
         }
-        return awaitable;
       }
-      function applyEach$1(eachfn) {
-        return function applyEach2(fns, ...callArgs) {
-          const go = awaitify(function(callback) {
-            var that = this;
-            return eachfn(fns, (fn, cb) => {
-              wrapAsync(fn).apply(that, callArgs.concat(cb));
-            }, callback);
-          });
-          return go;
-        };
+      #markENOREALPATH() {
+        this.#type |= ENOREALPATH;
+        this.#markENOTDIR();
       }
-      function _asyncMap(eachfn, arr, iteratee, callback) {
-        arr = arr || [];
-        var results = [];
-        var counter = 0;
-        var _iteratee = wrapAsync(iteratee);
-        return eachfn(arr, (value, _2, iterCb) => {
-          var index2 = counter++;
-          _iteratee(value, (err, v) => {
-            results[index2] = v;
-            iterCb(err);
-          });
-        }, (err) => {
-          callback(err, results);
-        });
+      // save the information when we know the entry is not a dir
+      #markENOTDIR() {
+        if (this.#type & ENOTDIR)
+          return;
+        let t = this.#type;
+        if ((t & IFMT) === IFDIR)
+          t &= IFMT_UNKNOWN;
+        this.#type = t | ENOTDIR;
+        this.#markChildrenENOENT();
       }
-      function isArrayLike(value) {
-        return value && typeof value.length === "number" && value.length >= 0 && value.length % 1 === 0;
+      #readdirFail(code = "") {
+        if (code === "ENOTDIR" || code === "EPERM") {
+          this.#markENOTDIR();
+        } else if (code === "ENOENT") {
+          this.#markENOENT();
+        } else {
+          this.children().provisional = 0;
+        }
       }
-      const breakLoop = {};
-      function once(fn) {
-        function wrapper(...args) {
-          if (fn === null) return;
-          var callFn = fn;
-          fn = null;
-          callFn.apply(this, args);
+      #lstatFail(code = "") {
+        if (code === "ENOTDIR") {
+          const p = this.parent;
+          p.#markENOTDIR();
+        } else if (code === "ENOENT") {
+          this.#markENOENT();
         }
-        Object.assign(wrapper, fn);
-        return wrapper;
       }
-      function getIterator(coll) {
-        return coll[Symbol.iterator] && coll[Symbol.iterator]();
+      #readlinkFail(code = "") {
+        let ter = this.#type;
+        ter |= ENOREADLINK;
+        if (code === "ENOENT")
+          ter |= ENOENT;
+        if (code === "EINVAL" || code === "UNKNOWN") {
+          ter &= IFMT_UNKNOWN;
+        }
+        this.#type = ter;
+        if (code === "ENOTDIR" && this.parent) {
+          this.parent.#markENOTDIR();
+        }
       }
-      function createArrayIterator(coll) {
-        var i = -1;
-        var len = coll.length;
-        return function next() {
-          return ++i < len ? { value: coll[i], key: i } : null;
-        };
+      #readdirAddChild(e, c) {
+        return this.#readdirMaybePromoteChild(e, c) || this.#readdirAddNewChild(e, c);
       }
-      function createES2015Iterator(iterator2) {
-        var i = -1;
-        return function next() {
-          var item = iterator2.next();
-          if (item.done)
-            return null;
-          i++;
-          return { value: item.value, key: i };
-        };
+      #readdirAddNewChild(e, c) {
+        const type2 = entToType(e);
+        const child = this.newChild(e.name, type2, { parent: this });
+        const ifmt = child.#type & IFMT;
+        if (ifmt !== IFDIR && ifmt !== IFLNK && ifmt !== UNKNOWN) {
+          child.#type |= ENOTDIR;
+        }
+        c.unshift(child);
+        c.provisional++;
+        return child;
       }
-      function createObjectIterator(obj) {
-        var okeys = obj ? Object.keys(obj) : [];
-        var i = -1;
-        var len = okeys.length;
-        return function next() {
-          var key = okeys[++i];
-          if (key === "__proto__") {
-            return next();
+      #readdirMaybePromoteChild(e, c) {
+        for (let p = c.provisional; p < c.length; p++) {
+          const pchild = c[p];
+          const name = this.nocase ? normalizeNocase(e.name) : normalize2(e.name);
+          if (name !== pchild.#matchName) {
+            continue;
           }
-          return i < len ? { value: obj[key], key } : null;
-        };
-      }
-      function createIterator(coll) {
-        if (isArrayLike(coll)) {
-          return createArrayIterator(coll);
+          return this.#readdirPromoteChild(e, pchild, p, c);
         }
-        var iterator2 = getIterator(coll);
-        return iterator2 ? createES2015Iterator(iterator2) : createObjectIterator(coll);
       }
-      function onlyOnce(fn) {
-        return function(...args) {
-          if (fn === null) throw new Error("Callback was already called.");
-          var callFn = fn;
-          fn = null;
-          callFn.apply(this, args);
-        };
-      }
-      function asyncEachOfLimit(generator, limit, iteratee, callback) {
-        let done = false;
-        let canceled = false;
-        let awaiting = false;
-        let running = 0;
-        let idx = 0;
-        function replenish() {
-          if (running >= limit || awaiting || done) return;
-          awaiting = true;
-          generator.next().then(({ value, done: iterDone }) => {
-            if (canceled || done) return;
-            awaiting = false;
-            if (iterDone) {
-              done = true;
-              if (running <= 0) {
-                callback(null);
-              }
-              return;
-            }
-            running++;
-            iteratee(value, idx, iterateeCallback);
-            idx++;
-            replenish();
-          }).catch(handleError);
+      #readdirPromoteChild(e, p, index, c) {
+        const v = p.name;
+        p.#type = p.#type & IFMT_UNKNOWN | entToType(e);
+        if (v !== e.name)
+          p.name = e.name;
+        if (index !== c.provisional) {
+          if (index === c.length - 1)
+            c.pop();
+          else
+            c.splice(index, 1);
+          c.unshift(p);
         }
-        function iterateeCallback(err, result) {
-          running -= 1;
-          if (canceled) return;
-          if (err) return handleError(err);
-          if (err === false) {
-            done = true;
-            canceled = true;
-            return;
+        c.provisional++;
+        return p;
+      }
+      /**
+       * Call lstat() on this Path, and update all known information that can be
+       * determined.
+       *
+       * Note that unlike `fs.lstat()`, the returned value does not contain some
+       * information, such as `mode`, `dev`, `nlink`, and `ino`.  If that
+       * information is required, you will need to call `fs.lstat` yourself.
+       *
+       * If the Path refers to a nonexistent file, or if the lstat call fails for
+       * any reason, `undefined` is returned.  Otherwise the updated Path object is
+       * returned.
+       *
+       * Results are cached, and thus may be out of date if the filesystem is
+       * mutated.
+       */
+      async lstat() {
+        if ((this.#type & ENOENT) === 0) {
+          try {
+            this.#applyStat(await this.#fs.promises.lstat(this.fullpath()));
+            return this;
+          } catch (er) {
+            this.#lstatFail(er.code);
           }
-          if (result === breakLoop || done && running <= 0) {
-            done = true;
-            return callback(null);
+        }
+      }
+      /**
+       * synchronous {@link PathBase.lstat}
+       */
+      lstatSync() {
+        if ((this.#type & ENOENT) === 0) {
+          try {
+            this.#applyStat(this.#fs.lstatSync(this.fullpath()));
+            return this;
+          } catch (er) {
+            this.#lstatFail(er.code);
           }
-          replenish();
         }
-        function handleError(err) {
-          if (canceled) return;
-          awaiting = false;
-          done = true;
-          callback(err);
+      }
+      #applyStat(st) {
+        const { atime, atimeMs, birthtime, birthtimeMs, blksize, blocks, ctime, ctimeMs, dev, gid, ino, mode, mtime, mtimeMs, nlink, rdev, size, uid } = st;
+        this.#atime = atime;
+        this.#atimeMs = atimeMs;
+        this.#birthtime = birthtime;
+        this.#birthtimeMs = birthtimeMs;
+        this.#blksize = blksize;
+        this.#blocks = blocks;
+        this.#ctime = ctime;
+        this.#ctimeMs = ctimeMs;
+        this.#dev = dev;
+        this.#gid = gid;
+        this.#ino = ino;
+        this.#mode = mode;
+        this.#mtime = mtime;
+        this.#mtimeMs = mtimeMs;
+        this.#nlink = nlink;
+        this.#rdev = rdev;
+        this.#size = size;
+        this.#uid = uid;
+        const ifmt = entToType(st);
+        this.#type = this.#type & IFMT_UNKNOWN | ifmt | LSTAT_CALLED;
+        if (ifmt !== UNKNOWN && ifmt !== IFDIR && ifmt !== IFLNK) {
+          this.#type |= ENOTDIR;
         }
-        replenish();
       }
-      var eachOfLimit$2 = (limit) => {
-        return (obj, iteratee, callback) => {
-          callback = once(callback);
-          if (limit <= 0) {
-            throw new RangeError("concurrency limit cannot be less than 1");
-          }
-          if (!obj) {
-            return callback(null);
-          }
-          if (isAsyncGenerator(obj)) {
-            return asyncEachOfLimit(obj, limit, iteratee, callback);
-          }
-          if (isAsyncIterable(obj)) {
-            return asyncEachOfLimit(obj[Symbol.asyncIterator](), limit, iteratee, callback);
-          }
-          var nextElem = createIterator(obj);
-          var done = false;
-          var canceled = false;
-          var running = 0;
-          var looping = false;
-          function iterateeCallback(err, value) {
-            if (canceled) return;
-            running -= 1;
-            if (err) {
-              done = true;
-              callback(err);
-            } else if (err === false) {
-              done = true;
-              canceled = true;
-            } else if (value === breakLoop || done && running <= 0) {
-              done = true;
-              return callback(null);
-            } else if (!looping) {
-              replenish();
+      #onReaddirCB = [];
+      #readdirCBInFlight = false;
+      #callOnReaddirCB(children) {
+        this.#readdirCBInFlight = false;
+        const cbs = this.#onReaddirCB.slice();
+        this.#onReaddirCB.length = 0;
+        cbs.forEach((cb) => cb(null, children));
+      }
+      /**
+       * Standard node-style callback interface to get list of directory entries.
+       *
+       * If the Path cannot or does not contain any children, then an empty array
+       * is returned.
+       *
+       * Results are cached, and thus may be out of date if the filesystem is
+       * mutated.
+       *
+       * @param cb The callback called with (er, entries).  Note that the `er`
+       * param is somewhat extraneous, as all readdir() errors are handled and
+       * simply result in an empty set of entries being returned.
+       * @param allowZalgo Boolean indicating that immediately known results should
+       * *not* be deferred with `queueMicrotask`. Defaults to `false`. Release
+       * zalgo at your peril, the dark pony lord is devious and unforgiving.
+       */
+      readdirCB(cb, allowZalgo = false) {
+        if (!this.canReaddir()) {
+          if (allowZalgo)
+            cb(null, []);
+          else
+            queueMicrotask(() => cb(null, []));
+          return;
+        }
+        const children = this.children();
+        if (this.calledReaddir()) {
+          const c = children.slice(0, children.provisional);
+          if (allowZalgo)
+            cb(null, c);
+          else
+            queueMicrotask(() => cb(null, c));
+          return;
+        }
+        this.#onReaddirCB.push(cb);
+        if (this.#readdirCBInFlight) {
+          return;
+        }
+        this.#readdirCBInFlight = true;
+        const fullpath = this.fullpath();
+        this.#fs.readdir(fullpath, { withFileTypes: true }, (er, entries) => {
+          if (er) {
+            this.#readdirFail(er.code);
+            children.provisional = 0;
+          } else {
+            for (const e of entries) {
+              this.#readdirAddChild(e, children);
             }
+            this.#readdirSuccess(children);
           }
-          function replenish() {
-            looping = true;
-            while (running < limit && !done) {
-              var elem = nextElem();
-              if (elem === null) {
-                done = true;
-                if (running <= 0) {
-                  callback(null);
-                }
-                return;
-              }
-              running += 1;
-              iteratee(elem.value, elem.key, onlyOnce(iterateeCallback));
+          this.#callOnReaddirCB(children.slice(0, children.provisional));
+          return;
+        });
+      }
+      #asyncReaddirInFlight;
+      /**
+       * Return an array of known child entries.
+       *
+       * If the Path cannot or does not contain any children, then an empty array
+       * is returned.
+       *
+       * Results are cached, and thus may be out of date if the filesystem is
+       * mutated.
+       */
+      async readdir() {
+        if (!this.canReaddir()) {
+          return [];
+        }
+        const children = this.children();
+        if (this.calledReaddir()) {
+          return children.slice(0, children.provisional);
+        }
+        const fullpath = this.fullpath();
+        if (this.#asyncReaddirInFlight) {
+          await this.#asyncReaddirInFlight;
+        } else {
+          let resolve3 = () => {
+          };
+          this.#asyncReaddirInFlight = new Promise((res) => resolve3 = res);
+          try {
+            for (const e of await this.#fs.promises.readdir(fullpath, {
+              withFileTypes: true
+            })) {
+              this.#readdirAddChild(e, children);
             }
-            looping = false;
+            this.#readdirSuccess(children);
+          } catch (er) {
+            this.#readdirFail(er.code);
+            children.provisional = 0;
           }
-          replenish();
-        };
-      };
-      function eachOfLimit(coll, limit, iteratee, callback) {
-        return eachOfLimit$2(limit)(coll, wrapAsync(iteratee), callback);
+          this.#asyncReaddirInFlight = void 0;
+          resolve3();
+        }
+        return children.slice(0, children.provisional);
       }
-      var eachOfLimit$1 = awaitify(eachOfLimit, 4);
-      function eachOfArrayLike(coll, iteratee, callback) {
-        callback = once(callback);
-        var index2 = 0, completed = 0, { length } = coll, canceled = false;
-        if (length === 0) {
-          callback(null);
+      /**
+       * synchronous {@link PathBase.readdir}
+       */
+      readdirSync() {
+        if (!this.canReaddir()) {
+          return [];
         }
-        function iteratorCallback(err, value) {
-          if (err === false) {
-            canceled = true;
-          }
-          if (canceled === true) return;
-          if (err) {
-            callback(err);
-          } else if (++completed === length || value === breakLoop) {
-            callback(null);
-          }
+        const children = this.children();
+        if (this.calledReaddir()) {
+          return children.slice(0, children.provisional);
         }
-        for (; index2 < length; index2++) {
-          iteratee(coll[index2], index2, onlyOnce(iteratorCallback));
+        const fullpath = this.fullpath();
+        try {
+          for (const e of this.#fs.readdirSync(fullpath, {
+            withFileTypes: true
+          })) {
+            this.#readdirAddChild(e, children);
+          }
+          this.#readdirSuccess(children);
+        } catch (er) {
+          this.#readdirFail(er.code);
+          children.provisional = 0;
         }
+        return children.slice(0, children.provisional);
       }
-      function eachOfGeneric(coll, iteratee, callback) {
-        return eachOfLimit$1(coll, Infinity, iteratee, callback);
-      }
-      function eachOf(coll, iteratee, callback) {
-        var eachOfImplementation = isArrayLike(coll) ? eachOfArrayLike : eachOfGeneric;
-        return eachOfImplementation(coll, wrapAsync(iteratee), callback);
-      }
-      var eachOf$1 = awaitify(eachOf, 3);
-      function map2(coll, iteratee, callback) {
-        return _asyncMap(eachOf$1, coll, iteratee, callback);
-      }
-      var map$1 = awaitify(map2, 3);
-      var applyEach = applyEach$1(map$1);
-      function eachOfSeries(coll, iteratee, callback) {
-        return eachOfLimit$1(coll, 1, iteratee, callback);
+      canReaddir() {
+        if (this.#type & ENOCHILD)
+          return false;
+        const ifmt = IFMT & this.#type;
+        if (!(ifmt === UNKNOWN || ifmt === IFDIR || ifmt === IFLNK)) {
+          return false;
+        }
+        return true;
       }
-      var eachOfSeries$1 = awaitify(eachOfSeries, 3);
-      function mapSeries(coll, iteratee, callback) {
-        return _asyncMap(eachOfSeries$1, coll, iteratee, callback);
+      shouldWalk(dirs, walkFilter) {
+        return (this.#type & IFDIR) === IFDIR && !(this.#type & ENOCHILD) && !dirs.has(this) && (!walkFilter || walkFilter(this));
       }
-      var mapSeries$1 = awaitify(mapSeries, 3);
-      var applyEachSeries = applyEach$1(mapSeries$1);
-      const PROMISE_SYMBOL = /* @__PURE__ */ Symbol("promiseCallback");
-      function promiseCallback() {
-        let resolve3, reject2;
-        function callback(err, ...args) {
-          if (err) return reject2(err);
-          resolve3(args.length > 1 ? args : args[0]);
+      /**
+       * Return the Path object corresponding to path as resolved
+       * by realpath(3).
+       *
+       * If the realpath call fails for any reason, `undefined` is returned.
+       *
+       * Result is cached, and thus may be outdated if the filesystem is mutated.
+       * On success, returns a Path object.
+       */
+      async realpath() {
+        if (this.#realpath)
+          return this.#realpath;
+        if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type)
+          return void 0;
+        try {
+          const rp = await this.#fs.promises.realpath(this.fullpath());
+          return this.#realpath = this.resolve(rp);
+        } catch (_2) {
+          this.#markENOREALPATH();
         }
-        callback[PROMISE_SYMBOL] = new Promise((res, rej) => {
-          resolve3 = res, reject2 = rej;
-        });
-        return callback;
       }
-      function auto(tasks, concurrency, callback) {
-        if (typeof concurrency !== "number") {
-          callback = concurrency;
-          concurrency = null;
-        }
-        callback = once(callback || promiseCallback());
-        var numTasks = Object.keys(tasks).length;
-        if (!numTasks) {
-          return callback(null);
+      /**
+       * Synchronous {@link realpath}
+       */
+      realpathSync() {
+        if (this.#realpath)
+          return this.#realpath;
+        if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type)
+          return void 0;
+        try {
+          const rp = this.#fs.realpathSync(this.fullpath());
+          return this.#realpath = this.resolve(rp);
+        } catch (_2) {
+          this.#markENOREALPATH();
         }
-        if (!concurrency) {
-          concurrency = numTasks;
+      }
+      /**
+       * Internal method to mark this Path object as the scurry cwd,
+       * called by {@link PathScurry#chdir}
+       *
+       * @internal
+       */
+      [setAsCwd](oldCwd) {
+        if (oldCwd === this)
+          return;
+        oldCwd.isCWD = false;
+        this.isCWD = true;
+        const changed = /* @__PURE__ */ new Set([]);
+        let rp = [];
+        let p = this;
+        while (p && p.parent) {
+          changed.add(p);
+          p.#relative = rp.join(this.sep);
+          p.#relativePosix = rp.join("/");
+          p = p.parent;
+          rp.push("..");
         }
-        var results = {};
-        var runningTasks = 0;
-        var canceled = false;
-        var hasError = false;
-        var listeners = /* @__PURE__ */ Object.create(null);
-        var readyTasks = [];
-        var readyToCheck = [];
-        var uncheckedDependencies = {};
-        Object.keys(tasks).forEach((key) => {
-          var task = tasks[key];
-          if (!Array.isArray(task)) {
-            enqueueTask(key, [task]);
-            readyToCheck.push(key);
-            return;
-          }
-          var dependencies = task.slice(0, task.length - 1);
-          var remainingDependencies = dependencies.length;
-          if (remainingDependencies === 0) {
-            enqueueTask(key, task);
-            readyToCheck.push(key);
-            return;
-          }
-          uncheckedDependencies[key] = remainingDependencies;
-          dependencies.forEach((dependencyName) => {
-            if (!tasks[dependencyName]) {
-              throw new Error("async.auto task `" + key + "` has a non-existent dependency `" + dependencyName + "` in " + dependencies.join(", "));
-            }
-            addListener(dependencyName, () => {
-              remainingDependencies--;
-              if (remainingDependencies === 0) {
-                enqueueTask(key, task);
-              }
-            });
-          });
-        });
-        checkForDeadlocks();
-        processQueue();
-        function enqueueTask(key, task) {
-          readyTasks.push(() => runTask(key, task));
+        p = oldCwd;
+        while (p && p.parent && !changed.has(p)) {
+          p.#relative = void 0;
+          p.#relativePosix = void 0;
+          p = p.parent;
         }
-        function processQueue() {
-          if (canceled) return;
-          if (readyTasks.length === 0 && runningTasks === 0) {
-            return callback(null, results);
-          }
-          while (readyTasks.length && runningTasks < concurrency) {
-            var run = readyTasks.shift();
-            run();
-          }
+      }
+    };
+    exports2.PathBase = PathBase;
+    var PathWin32 = class _PathWin32 extends PathBase {
+      /**
+       * Separator for generating path strings.
+       */
+      sep = "\\";
+      /**
+       * Separator for parsing path strings.
+       */
+      splitSep = eitherSep;
+      /**
+       * Do not create new Path objects directly.  They should always be accessed
+       * via the PathScurry class or other methods on the Path class.
+       *
+       * @internal
+       */
+      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
+        super(name, type2, root, roots, nocase, children, opts);
+      }
+      /**
+       * @internal
+       */
+      newChild(name, type2 = UNKNOWN, opts = {}) {
+        return new _PathWin32(name, type2, this.root, this.roots, this.nocase, this.childrenCache(), opts);
+      }
+      /**
+       * @internal
+       */
+      getRootString(path4) {
+        return node_path_1.win32.parse(path4).root;
+      }
+      /**
+       * @internal
+       */
+      getRoot(rootPath) {
+        rootPath = uncToDrive(rootPath.toUpperCase());
+        if (rootPath === this.root.name) {
+          return this.root;
         }
-        function addListener(taskName, fn) {
-          var taskListeners = listeners[taskName];
-          if (!taskListeners) {
-            taskListeners = listeners[taskName] = [];
+        for (const [compare2, root] of Object.entries(this.roots)) {
+          if (this.sameRoot(rootPath, compare2)) {
+            return this.roots[rootPath] = root;
           }
-          taskListeners.push(fn);
         }
-        function taskComplete(taskName) {
-          var taskListeners = listeners[taskName] || [];
-          taskListeners.forEach((fn) => fn());
-          processQueue();
+        return this.roots[rootPath] = new PathScurryWin32(rootPath, this).root;
+      }
+      /**
+       * @internal
+       */
+      sameRoot(rootPath, compare2 = this.root.name) {
+        rootPath = rootPath.toUpperCase().replace(/\//g, "\\").replace(uncDriveRegexp, "$1\\");
+        return rootPath === compare2;
+      }
+    };
+    exports2.PathWin32 = PathWin32;
+    var PathPosix = class _PathPosix extends PathBase {
+      /**
+       * separator for parsing path strings
+       */
+      splitSep = "/";
+      /**
+       * separator for generating path strings
+       */
+      sep = "/";
+      /**
+       * Do not create new Path objects directly.  They should always be accessed
+       * via the PathScurry class or other methods on the Path class.
+       *
+       * @internal
+       */
+      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
+        super(name, type2, root, roots, nocase, children, opts);
+      }
+      /**
+       * @internal
+       */
+      getRootString(path4) {
+        return path4.startsWith("/") ? "/" : "";
+      }
+      /**
+       * @internal
+       */
+      getRoot(_rootPath) {
+        return this.root;
+      }
+      /**
+       * @internal
+       */
+      newChild(name, type2 = UNKNOWN, opts = {}) {
+        return new _PathPosix(name, type2, this.root, this.roots, this.nocase, this.childrenCache(), opts);
+      }
+    };
+    exports2.PathPosix = PathPosix;
+    var PathScurryBase = class {
+      /**
+       * The root Path entry for the current working directory of this Scurry
+       */
+      root;
+      /**
+       * The string path for the root of this Scurry's current working directory
+       */
+      rootPath;
+      /**
+       * A collection of all roots encountered, referenced by rootPath
+       */
+      roots;
+      /**
+       * The Path entry corresponding to this PathScurry's current working directory.
+       */
+      cwd;
+      #resolveCache;
+      #resolvePosixCache;
+      #children;
+      /**
+       * Perform path comparisons case-insensitively.
+       *
+       * Defaults true on Darwin and Windows systems, false elsewhere.
+       */
+      nocase;
+      #fs;
+      /**
+       * This class should not be instantiated directly.
+       *
+       * Use PathScurryWin32, PathScurryDarwin, PathScurryPosix, or PathScurry
+       *
+       * @internal
+       */
+      constructor(cwd = process.cwd(), pathImpl, sep3, { nocase, childrenCacheSize = 16 * 1024, fs: fs3 = defaultFS } = {}) {
+        this.#fs = fsFromOption(fs3);
+        if (cwd instanceof URL || cwd.startsWith("file://")) {
+          cwd = (0, node_url_1.fileURLToPath)(cwd);
         }
-        function runTask(key, task) {
-          if (hasError) return;
-          var taskCallback = onlyOnce((err, ...result) => {
-            runningTasks--;
-            if (err === false) {
-              canceled = true;
-              return;
-            }
-            if (result.length < 2) {
-              [result] = result;
-            }
-            if (err) {
-              var safeResults = {};
-              Object.keys(results).forEach((rkey) => {
-                safeResults[rkey] = results[rkey];
-              });
-              safeResults[key] = result;
-              hasError = true;
-              listeners = /* @__PURE__ */ Object.create(null);
-              if (canceled) return;
-              callback(err, safeResults);
-            } else {
-              results[key] = result;
-              taskComplete(key);
-            }
-          });
-          runningTasks++;
-          var taskFn = wrapAsync(task[task.length - 1]);
-          if (task.length > 1) {
-            taskFn(results, taskCallback);
-          } else {
-            taskFn(taskCallback);
-          }
+        const cwdPath = pathImpl.resolve(cwd);
+        this.roots = /* @__PURE__ */ Object.create(null);
+        this.rootPath = this.parseRootPath(cwdPath);
+        this.#resolveCache = new ResolveCache();
+        this.#resolvePosixCache = new ResolveCache();
+        this.#children = new ChildrenCache(childrenCacheSize);
+        const split = cwdPath.substring(this.rootPath.length).split(sep3);
+        if (split.length === 1 && !split[0]) {
+          split.pop();
         }
-        function checkForDeadlocks() {
-          var currentTask;
-          var counter = 0;
-          while (readyToCheck.length) {
-            currentTask = readyToCheck.pop();
-            counter++;
-            getDependents(currentTask).forEach((dependent) => {
-              if (--uncheckedDependencies[dependent] === 0) {
-                readyToCheck.push(dependent);
-              }
-            });
-          }
-          if (counter !== numTasks) {
-            throw new Error(
-              "async.auto cannot execute tasks due to a recursive dependency"
-            );
-          }
+        if (nocase === void 0) {
+          throw new TypeError("must provide nocase setting to PathScurryBase ctor");
         }
-        function getDependents(taskName) {
-          var result = [];
-          Object.keys(tasks).forEach((key) => {
-            const task = tasks[key];
-            if (Array.isArray(task) && task.indexOf(taskName) >= 0) {
-              result.push(key);
-            }
+        this.nocase = nocase;
+        this.root = this.newRoot(this.#fs);
+        this.roots[this.rootPath] = this.root;
+        let prev = this.root;
+        let len = split.length - 1;
+        const joinSep = pathImpl.sep;
+        let abs = this.rootPath;
+        let sawFirst = false;
+        for (const part of split) {
+          const l = len--;
+          prev = prev.child(part, {
+            relative: new Array(l).fill("..").join(joinSep),
+            relativePosix: new Array(l).fill("..").join("/"),
+            fullpath: abs += (sawFirst ? "" : joinSep) + part
           });
-          return result;
+          sawFirst = true;
         }
-        return callback[PROMISE_SYMBOL];
+        this.cwd = prev;
       }
-      var FN_ARGS = /^(?:async\s)?(?:function)?\s*(?:\w+\s*)?\(([^)]+)\)(?:\s*{)/;
-      var ARROW_FN_ARGS = /^(?:async\s)?\s*(?:\(\s*)?((?:[^)=\s]\s*)*)(?:\)\s*)?=>/;
-      var FN_ARG_SPLIT = /,/;
-      var FN_ARG = /(=.+)?(\s*)$/;
-      function stripComments(string) {
-        let stripped = "";
-        let index2 = 0;
-        let endBlockComment = string.indexOf("*/");
-        while (index2 < string.length) {
-          if (string[index2] === "/" && string[index2 + 1] === "/") {
-            let endIndex = string.indexOf("\n", index2);
-            index2 = endIndex === -1 ? string.length : endIndex;
-          } else if (endBlockComment !== -1 && string[index2] === "/" && string[index2 + 1] === "*") {
-            let endIndex = string.indexOf("*/", index2);
-            if (endIndex !== -1) {
-              index2 = endIndex + 2;
-              endBlockComment = string.indexOf("*/", index2);
-            } else {
-              stripped += string[index2];
-              index2++;
-            }
-          } else {
-            stripped += string[index2];
-            index2++;
-          }
+      /**
+       * Get the depth of a provided path, string, or the cwd
+       */
+      depth(path4 = this.cwd) {
+        if (typeof path4 === "string") {
+          path4 = this.cwd.resolve(path4);
         }
-        return stripped;
+        return path4.depth();
       }
-      function parseParams(func) {
-        const src = stripComments(func.toString());
-        let match = src.match(FN_ARGS);
-        if (!match) {
-          match = src.match(ARROW_FN_ARGS);
-        }
-        if (!match) throw new Error("could not parse args in autoInject\nSource:\n" + src);
-        let [, args] = match;
-        return args.replace(/\s/g, "").split(FN_ARG_SPLIT).map((arg) => arg.replace(FN_ARG, "").trim());
+      /**
+       * Return the cache of child entries.  Exposed so subclasses can create
+       * child Path objects in a platform-specific way.
+       *
+       * @internal
+       */
+      childrenCache() {
+        return this.#children;
       }
-      function autoInject(tasks, callback) {
-        var newTasks = {};
-        Object.keys(tasks).forEach((key) => {
-          var taskFn = tasks[key];
-          var params;
-          var fnIsAsync = isAsync(taskFn);
-          var hasNoDeps = !fnIsAsync && taskFn.length === 1 || fnIsAsync && taskFn.length === 0;
-          if (Array.isArray(taskFn)) {
-            params = [...taskFn];
-            taskFn = params.pop();
-            newTasks[key] = params.concat(params.length > 0 ? newTask : taskFn);
-          } else if (hasNoDeps) {
-            newTasks[key] = taskFn;
-          } else {
-            params = parseParams(taskFn);
-            if (taskFn.length === 0 && !fnIsAsync && params.length === 0) {
-              throw new Error("autoInject task functions require explicit parameters.");
-            }
-            if (!fnIsAsync) params.pop();
-            newTasks[key] = params.concat(newTask);
-          }
-          function newTask(results, taskCb) {
-            var newArgs = params.map((name) => results[name]);
-            newArgs.push(taskCb);
-            wrapAsync(taskFn)(...newArgs);
+      /**
+       * Resolve one or more path strings to a resolved string
+       *
+       * Same interface as require('path').resolve.
+       *
+       * Much faster than path.resolve() when called multiple times for the same
+       * path, because the resolved Path objects are cached.  Much slower
+       * otherwise.
+       */
+      resolve(...paths) {
+        let r = "";
+        for (let i = paths.length - 1; i >= 0; i--) {
+          const p = paths[i];
+          if (!p || p === ".")
+            continue;
+          r = r ? `${p}/${r}` : p;
+          if (this.isAbsolute(p)) {
+            break;
           }
-        });
-        return auto(newTasks, callback);
-      }
-      class DLL {
-        constructor() {
-          this.head = this.tail = null;
-          this.length = 0;
         }
-        removeLink(node) {
-          if (node.prev) node.prev.next = node.next;
-          else this.head = node.next;
-          if (node.next) node.next.prev = node.prev;
-          else this.tail = node.prev;
-          node.prev = node.next = null;
-          this.length -= 1;
-          return node;
+        const cached = this.#resolveCache.get(r);
+        if (cached !== void 0) {
+          return cached;
         }
-        empty() {
-          while (this.head) this.shift();
-          return this;
+        const result = this.cwd.resolve(r).fullpath();
+        this.#resolveCache.set(r, result);
+        return result;
+      }
+      /**
+       * Resolve one or more path strings to a resolved string, returning
+       * the posix path.  Identical to .resolve() on posix systems, but on
+       * windows will return a forward-slash separated UNC path.
+       *
+       * Same interface as require('path').resolve.
+       *
+       * Much faster than path.resolve() when called multiple times for the same
+       * path, because the resolved Path objects are cached.  Much slower
+       * otherwise.
+       */
+      resolvePosix(...paths) {
+        let r = "";
+        for (let i = paths.length - 1; i >= 0; i--) {
+          const p = paths[i];
+          if (!p || p === ".")
+            continue;
+          r = r ? `${p}/${r}` : p;
+          if (this.isAbsolute(p)) {
+            break;
+          }
         }
-        insertAfter(node, newNode) {
-          newNode.prev = node;
-          newNode.next = node.next;
-          if (node.next) node.next.prev = newNode;
-          else this.tail = newNode;
-          node.next = newNode;
-          this.length += 1;
+        const cached = this.#resolvePosixCache.get(r);
+        if (cached !== void 0) {
+          return cached;
         }
-        insertBefore(node, newNode) {
-          newNode.prev = node.prev;
-          newNode.next = node;
-          if (node.prev) node.prev.next = newNode;
-          else this.head = newNode;
-          node.prev = newNode;
-          this.length += 1;
+        const result = this.cwd.resolve(r).fullpathPosix();
+        this.#resolvePosixCache.set(r, result);
+        return result;
+      }
+      /**
+       * find the relative path from the cwd to the supplied path string or entry
+       */
+      relative(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
         }
-        unshift(node) {
-          if (this.head) this.insertBefore(this.head, node);
-          else setInitial(this, node);
+        return entry.relative();
+      }
+      /**
+       * find the relative path from the cwd to the supplied path string or
+       * entry, using / as the path delimiter, even on Windows.
+       */
+      relativePosix(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
         }
-        push(node) {
-          if (this.tail) this.insertAfter(this.tail, node);
-          else setInitial(this, node);
+        return entry.relativePosix();
+      }
+      /**
+       * Return the basename for the provided string or Path object
+       */
+      basename(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
         }
-        shift() {
-          return this.head && this.removeLink(this.head);
+        return entry.name;
+      }
+      /**
+       * Return the dirname for the provided string or Path object
+       */
+      dirname(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
         }
-        pop() {
-          return this.tail && this.removeLink(this.tail);
+        return (entry.parent || entry).fullpath();
+      }
+      async readdir(entry = this.cwd, opts = {
+        withFileTypes: true
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
         }
-        toArray() {
-          return [...this];
+        const { withFileTypes } = opts;
+        if (!entry.canReaddir()) {
+          return [];
+        } else {
+          const p = await entry.readdir();
+          return withFileTypes ? p : p.map((e) => e.name);
         }
-        *[Symbol.iterator]() {
-          var cur = this.head;
-          while (cur) {
-            yield cur.data;
-            cur = cur.next;
-          }
+      }
+      readdirSync(entry = this.cwd, opts = {
+        withFileTypes: true
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
         }
-        remove(testFn) {
-          var curr = this.head;
-          while (curr) {
-            var { next } = curr;
-            if (testFn(curr)) {
-              this.removeLink(curr);
-            }
-            curr = next;
-          }
-          return this;
+        const { withFileTypes = true } = opts;
+        if (!entry.canReaddir()) {
+          return [];
+        } else if (withFileTypes) {
+          return entry.readdirSync();
+        } else {
+          return entry.readdirSync().map((e) => e.name);
         }
       }
-      function setInitial(dll, node) {
-        dll.length = 1;
-        dll.head = dll.tail = node;
+      /**
+       * Call lstat() on the string or Path object, and update all known
+       * information that can be determined.
+       *
+       * Note that unlike `fs.lstat()`, the returned value does not contain some
+       * information, such as `mode`, `dev`, `nlink`, and `ino`.  If that
+       * information is required, you will need to call `fs.lstat` yourself.
+       *
+       * If the Path refers to a nonexistent file, or if the lstat call fails for
+       * any reason, `undefined` is returned.  Otherwise the updated Path object is
+       * returned.
+       *
+       * Results are cached, and thus may be out of date if the filesystem is
+       * mutated.
+       */
+      async lstat(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        }
+        return entry.lstat();
       }
-      function queue$1(worker, concurrency, payload) {
-        if (concurrency == null) {
-          concurrency = 1;
-        } else if (concurrency === 0) {
-          throw new RangeError("Concurrency must not be zero");
+      /**
+       * synchronous {@link PathScurryBase.lstat}
+       */
+      lstatSync(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
         }
-        var _worker = wrapAsync(worker);
-        var numRunning = 0;
-        var workersList = [];
-        const events = {
-          error: [],
-          drain: [],
-          saturated: [],
-          unsaturated: [],
-          empty: []
-        };
-        function on(event, handler2) {
-          events[event].push(handler2);
+        return entry.lstatSync();
+      }
+      async readlink(entry = this.cwd, { withFileTypes } = {
+        withFileTypes: false
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          withFileTypes = entry.withFileTypes;
+          entry = this.cwd;
         }
-        function once2(event, handler2) {
-          const handleAndRemove = (...args) => {
-            off(event, handleAndRemove);
-            handler2(...args);
-          };
-          events[event].push(handleAndRemove);
+        const e = await entry.readlink();
+        return withFileTypes ? e : e?.fullpath();
+      }
+      readlinkSync(entry = this.cwd, { withFileTypes } = {
+        withFileTypes: false
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          withFileTypes = entry.withFileTypes;
+          entry = this.cwd;
         }
-        function off(event, handler2) {
-          if (!event) return Object.keys(events).forEach((ev) => events[ev] = []);
-          if (!handler2) return events[event] = [];
-          events[event] = events[event].filter((ev) => ev !== handler2);
+        const e = entry.readlinkSync();
+        return withFileTypes ? e : e?.fullpath();
+      }
+      async realpath(entry = this.cwd, { withFileTypes } = {
+        withFileTypes: false
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          withFileTypes = entry.withFileTypes;
+          entry = this.cwd;
         }
-        function trigger(event, ...args) {
-          events[event].forEach((handler2) => handler2(...args));
+        const e = await entry.realpath();
+        return withFileTypes ? e : e?.fullpath();
+      }
+      realpathSync(entry = this.cwd, { withFileTypes } = {
+        withFileTypes: false
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          withFileTypes = entry.withFileTypes;
+          entry = this.cwd;
         }
-        var processingScheduled = false;
-        function _insert(data, insertAtFront, rejectOnError, callback) {
-          if (callback != null && typeof callback !== "function") {
-            throw new Error("task callback must be a function");
-          }
-          q.started = true;
-          var res, rej;
-          function promiseCallback2(err, ...args) {
-            if (err) return rejectOnError ? rej(err) : res();
-            if (args.length <= 1) return res(args[0]);
-            res(args);
-          }
-          var item = q._createTaskItem(
-            data,
-            rejectOnError ? promiseCallback2 : callback || promiseCallback2
-          );
-          if (insertAtFront) {
-            q._tasks.unshift(item);
-          } else {
-            q._tasks.push(item);
-          }
-          if (!processingScheduled) {
-            processingScheduled = true;
-            setImmediate$1(() => {
-              processingScheduled = false;
-              q.process();
-            });
-          }
-          if (rejectOnError || !callback) {
-            return new Promise((resolve3, reject2) => {
-              res = resolve3;
-              rej = reject2;
-            });
-          }
+        const e = entry.realpathSync();
+        return withFileTypes ? e : e?.fullpath();
+      }
+      async walk(entry = this.cwd, opts = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
         }
-        function _createCB(tasks) {
-          return function(err, ...args) {
-            numRunning -= 1;
-            for (var i = 0, l = tasks.length; i < l; i++) {
-              var task = tasks[i];
-              var index2 = workersList.indexOf(task);
-              if (index2 === 0) {
-                workersList.shift();
-              } else if (index2 > 0) {
-                workersList.splice(index2, 1);
+        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
+        const results = [];
+        if (!filter || filter(entry)) {
+          results.push(withFileTypes ? entry : entry.fullpath());
+        }
+        const dirs = /* @__PURE__ */ new Set();
+        const walk = (dir, cb) => {
+          dirs.add(dir);
+          dir.readdirCB((er, entries) => {
+            if (er) {
+              return cb(er);
+            }
+            let len = entries.length;
+            if (!len)
+              return cb();
+            const next = () => {
+              if (--len === 0) {
+                cb();
               }
-              task.callback(err, ...args);
-              if (err != null) {
-                trigger("error", err, task.data);
+            };
+            for (const e of entries) {
+              if (!filter || filter(e)) {
+                results.push(withFileTypes ? e : e.fullpath());
+              }
+              if (follow && e.isSymbolicLink()) {
+                e.realpath().then((r) => r?.isUnknown() ? r.lstat() : r).then((r) => r?.shouldWalk(dirs, walkFilter) ? walk(r, next) : next());
+              } else {
+                if (e.shouldWalk(dirs, walkFilter)) {
+                  walk(e, next);
+                } else {
+                  next();
+                }
               }
             }
-            if (numRunning <= q.concurrency - q.buffer) {
-              trigger("unsaturated");
+          }, true);
+        };
+        const start = entry;
+        return new Promise((res, rej) => {
+          walk(start, (er) => {
+            if (er)
+              return rej(er);
+            res(results);
+          });
+        });
+      }
+      walkSync(entry = this.cwd, opts = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
+        }
+        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
+        const results = [];
+        if (!filter || filter(entry)) {
+          results.push(withFileTypes ? entry : entry.fullpath());
+        }
+        const dirs = /* @__PURE__ */ new Set([entry]);
+        for (const dir of dirs) {
+          const entries = dir.readdirSync();
+          for (const e of entries) {
+            if (!filter || filter(e)) {
+              results.push(withFileTypes ? e : e.fullpath());
             }
-            if (q.idle()) {
-              trigger("drain");
+            let r = e;
+            if (e.isSymbolicLink()) {
+              if (!(follow && (r = e.realpathSync())))
+                continue;
+              if (r.isUnknown())
+                r.lstatSync();
             }
-            q.process();
-          };
+            if (r.shouldWalk(dirs, walkFilter)) {
+              dirs.add(r);
+            }
+          }
+        }
+        return results;
+      }
+      /**
+       * Support for `for await`
+       *
+       * Alias for {@link PathScurryBase.iterate}
+       *
+       * Note: As of Node 19, this is very slow, compared to other methods of
+       * walking.  Consider using {@link PathScurryBase.stream} if memory overhead
+       * and backpressure are concerns, or {@link PathScurryBase.walk} if not.
+       */
+      [Symbol.asyncIterator]() {
+        return this.iterate();
+      }
+      iterate(entry = this.cwd, options = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          options = entry;
+          entry = this.cwd;
+        }
+        return this.stream(entry, options)[Symbol.asyncIterator]();
+      }
+      /**
+       * Iterating over a PathScurry performs a synchronous walk.
+       *
+       * Alias for {@link PathScurryBase.iterateSync}
+       */
+      [Symbol.iterator]() {
+        return this.iterateSync();
+      }
+      *iterateSync(entry = this.cwd, opts = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
         }
-        function _maybeDrain(data) {
-          if (data.length === 0 && q.idle()) {
-            setImmediate$1(() => trigger("drain"));
-            return true;
-          }
-          return false;
+        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
+        if (!filter || filter(entry)) {
+          yield withFileTypes ? entry : entry.fullpath();
         }
-        const eventMethod = (name) => (handler2) => {
-          if (!handler2) {
-            return new Promise((resolve3, reject2) => {
-              once2(name, (err, data) => {
-                if (err) return reject2(err);
-                resolve3(data);
-              });
-            });
-          }
-          off(name);
-          on(name, handler2);
-        };
-        var isProcessing = false;
-        var q = {
-          _tasks: new DLL(),
-          _createTaskItem(data, callback) {
-            return {
-              data,
-              callback
-            };
-          },
-          *[Symbol.iterator]() {
-            yield* q._tasks[Symbol.iterator]();
-          },
-          concurrency,
-          payload,
-          buffer: concurrency / 4,
-          started: false,
-          paused: false,
-          push(data, callback) {
-            if (Array.isArray(data)) {
-              if (_maybeDrain(data)) return;
-              return data.map((datum) => _insert(datum, false, false, callback));
-            }
-            return _insert(data, false, false, callback);
-          },
-          pushAsync(data, callback) {
-            if (Array.isArray(data)) {
-              if (_maybeDrain(data)) return;
-              return data.map((datum) => _insert(datum, false, true, callback));
+        const dirs = /* @__PURE__ */ new Set([entry]);
+        for (const dir of dirs) {
+          const entries = dir.readdirSync();
+          for (const e of entries) {
+            if (!filter || filter(e)) {
+              yield withFileTypes ? e : e.fullpath();
             }
-            return _insert(data, false, true, callback);
-          },
-          kill() {
-            off();
-            q._tasks.empty();
-          },
-          unshift(data, callback) {
-            if (Array.isArray(data)) {
-              if (_maybeDrain(data)) return;
-              return data.map((datum) => _insert(datum, true, false, callback));
+            let r = e;
+            if (e.isSymbolicLink()) {
+              if (!(follow && (r = e.realpathSync())))
+                continue;
+              if (r.isUnknown())
+                r.lstatSync();
             }
-            return _insert(data, true, false, callback);
-          },
-          unshiftAsync(data, callback) {
-            if (Array.isArray(data)) {
-              if (_maybeDrain(data)) return;
-              return data.map((datum) => _insert(datum, true, true, callback));
+            if (r.shouldWalk(dirs, walkFilter)) {
+              dirs.add(r);
             }
-            return _insert(data, true, true, callback);
-          },
-          remove(testFn) {
-            q._tasks.remove(testFn);
-          },
-          process() {
-            if (isProcessing) {
+          }
+        }
+      }
+      stream(entry = this.cwd, opts = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
+        }
+        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
+        const results = new minipass_1.Minipass({ objectMode: true });
+        if (!filter || filter(entry)) {
+          results.write(withFileTypes ? entry : entry.fullpath());
+        }
+        const dirs = /* @__PURE__ */ new Set();
+        const queue = [entry];
+        let processing = 0;
+        const process2 = () => {
+          let paused = false;
+          while (!paused) {
+            const dir = queue.shift();
+            if (!dir) {
+              if (processing === 0)
+                results.end();
               return;
             }
-            isProcessing = true;
-            while (!q.paused && numRunning < q.concurrency && q._tasks.length) {
-              var tasks = [], data = [];
-              var l = q._tasks.length;
-              if (q.payload) l = Math.min(l, q.payload);
-              for (var i = 0; i < l; i++) {
-                var node = q._tasks.shift();
-                tasks.push(node);
-                workersList.push(node);
-                data.push(node.data);
+            processing++;
+            dirs.add(dir);
+            const onReaddir = (er, entries, didRealpaths = false) => {
+              if (er)
+                return results.emit("error", er);
+              if (follow && !didRealpaths) {
+                const promises = [];
+                for (const e of entries) {
+                  if (e.isSymbolicLink()) {
+                    promises.push(e.realpath().then((r) => r?.isUnknown() ? r.lstat() : r));
+                  }
+                }
+                if (promises.length) {
+                  Promise.all(promises).then(() => onReaddir(null, entries, true));
+                  return;
+                }
               }
-              numRunning += 1;
-              if (q._tasks.length === 0) {
-                trigger("empty");
+              for (const e of entries) {
+                if (e && (!filter || filter(e))) {
+                  if (!results.write(withFileTypes ? e : e.fullpath())) {
+                    paused = true;
+                  }
+                }
               }
-              if (numRunning === q.concurrency) {
-                trigger("saturated");
+              processing--;
+              for (const e of entries) {
+                const r = e.realpathCached() || e;
+                if (r.shouldWalk(dirs, walkFilter)) {
+                  queue.push(r);
+                }
               }
-              var cb = onlyOnce(_createCB(tasks));
-              _worker(data, cb);
-            }
-            isProcessing = false;
-          },
-          length() {
-            return q._tasks.length;
-          },
-          running() {
-            return numRunning;
-          },
-          workersList() {
-            return workersList;
-          },
-          idle() {
-            return q._tasks.length + numRunning === 0;
-          },
-          pause() {
-            q.paused = true;
-          },
-          resume() {
-            if (q.paused === false) {
-              return;
-            }
-            q.paused = false;
-            setImmediate$1(q.process);
+              if (paused && !results.flowing) {
+                results.once("drain", process2);
+              } else if (!sync) {
+                process2();
+              }
+            };
+            let sync = true;
+            dir.readdirCB(onReaddir, true);
+            sync = false;
           }
         };
-        Object.defineProperties(q, {
-          saturated: {
-            writable: false,
-            value: eventMethod("saturated")
-          },
-          unsaturated: {
-            writable: false,
-            value: eventMethod("unsaturated")
-          },
-          empty: {
-            writable: false,
-            value: eventMethod("empty")
-          },
-          drain: {
-            writable: false,
-            value: eventMethod("drain")
-          },
-          error: {
-            writable: false,
-            value: eventMethod("error")
-          }
-        });
-        return q;
-      }
-      function cargo$1(worker, payload) {
-        return queue$1(worker, 1, payload);
-      }
-      function cargo(worker, concurrency, payload) {
-        return queue$1(worker, concurrency, payload);
-      }
-      function reduce(coll, memo, iteratee, callback) {
-        callback = once(callback);
-        var _iteratee = wrapAsync(iteratee);
-        return eachOfSeries$1(coll, (x, i, iterCb) => {
-          _iteratee(memo, x, (err, v) => {
-            memo = v;
-            iterCb(err);
-          });
-        }, (err) => callback(err, memo));
+        process2();
+        return results;
       }
-      var reduce$1 = awaitify(reduce, 4);
-      function seq2(...functions) {
-        var _functions = functions.map(wrapAsync);
-        return function(...args) {
-          var that = this;
-          var cb = args[args.length - 1];
-          if (typeof cb == "function") {
-            args.pop();
-          } else {
-            cb = promiseCallback();
+      streamSync(entry = this.cwd, opts = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
+        }
+        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
+        const results = new minipass_1.Minipass({ objectMode: true });
+        const dirs = /* @__PURE__ */ new Set();
+        if (!filter || filter(entry)) {
+          results.write(withFileTypes ? entry : entry.fullpath());
+        }
+        const queue = [entry];
+        let processing = 0;
+        const process2 = () => {
+          let paused = false;
+          while (!paused) {
+            const dir = queue.shift();
+            if (!dir) {
+              if (processing === 0)
+                results.end();
+              return;
+            }
+            processing++;
+            dirs.add(dir);
+            const entries = dir.readdirSync();
+            for (const e of entries) {
+              if (!filter || filter(e)) {
+                if (!results.write(withFileTypes ? e : e.fullpath())) {
+                  paused = true;
+                }
+              }
+            }
+            processing--;
+            for (const e of entries) {
+              let r = e;
+              if (e.isSymbolicLink()) {
+                if (!(follow && (r = e.realpathSync())))
+                  continue;
+                if (r.isUnknown())
+                  r.lstatSync();
+              }
+              if (r.shouldWalk(dirs, walkFilter)) {
+                queue.push(r);
+              }
+            }
           }
-          reduce$1(
-            _functions,
-            args,
-            (newargs, fn, iterCb) => {
-              fn.apply(that, newargs.concat((err, ...nextargs) => {
-                iterCb(err, nextargs);
-              }));
-            },
-            (err, results) => cb(err, ...results)
-          );
-          return cb[PROMISE_SYMBOL];
+          if (paused && !results.flowing)
+            results.once("drain", process2);
         };
+        process2();
+        return results;
       }
-      function compose(...args) {
-        return seq2(...args.reverse());
+      chdir(path4 = this.cwd) {
+        const oldCwd = this.cwd;
+        this.cwd = typeof path4 === "string" ? this.cwd.resolve(path4) : path4;
+        this.cwd[setAsCwd](oldCwd);
       }
-      function mapLimit(coll, limit, iteratee, callback) {
-        return _asyncMap(eachOfLimit$2(limit), coll, iteratee, callback);
+    };
+    exports2.PathScurryBase = PathScurryBase;
+    var PathScurryWin32 = class extends PathScurryBase {
+      /**
+       * separator for generating path strings
+       */
+      sep = "\\";
+      constructor(cwd = process.cwd(), opts = {}) {
+        const { nocase = true } = opts;
+        super(cwd, node_path_1.win32, "\\", { ...opts, nocase });
+        this.nocase = nocase;
+        for (let p = this.cwd; p; p = p.parent) {
+          p.nocase = this.nocase;
+        }
       }
-      var mapLimit$1 = awaitify(mapLimit, 4);
-      function concatLimit(coll, limit, iteratee, callback) {
-        var _iteratee = wrapAsync(iteratee);
-        return mapLimit$1(coll, limit, (val, iterCb) => {
-          _iteratee(val, (err, ...args) => {
-            if (err) return iterCb(err);
-            return iterCb(err, args);
-          });
-        }, (err, mapResults) => {
-          var result = [];
-          for (var i = 0; i < mapResults.length; i++) {
-            if (mapResults[i]) {
-              result = result.concat(...mapResults[i]);
-            }
-          }
-          return callback(err, result);
-        });
+      /**
+       * @internal
+       */
+      parseRootPath(dir) {
+        return node_path_1.win32.parse(dir).root.toUpperCase();
       }
-      var concatLimit$1 = awaitify(concatLimit, 4);
-      function concat(coll, iteratee, callback) {
-        return concatLimit$1(coll, Infinity, iteratee, callback);
+      /**
+       * @internal
+       */
+      newRoot(fs3) {
+        return new PathWin32(this.rootPath, IFDIR, void 0, this.roots, this.nocase, this.childrenCache(), { fs: fs3 });
       }
-      var concat$1 = awaitify(concat, 3);
-      function concatSeries(coll, iteratee, callback) {
-        return concatLimit$1(coll, 1, iteratee, callback);
+      /**
+       * Return true if the provided path string is an absolute path
+       */
+      isAbsolute(p) {
+        return p.startsWith("/") || p.startsWith("\\") || /^[a-z]:(\/|\\)/i.test(p);
       }
-      var concatSeries$1 = awaitify(concatSeries, 3);
-      function constant$1(...args) {
-        return function(...ignoredArgs) {
-          var callback = ignoredArgs.pop();
-          return callback(null, ...args);
-        };
+    };
+    exports2.PathScurryWin32 = PathScurryWin32;
+    var PathScurryPosix = class extends PathScurryBase {
+      /**
+       * separator for generating path strings
+       */
+      sep = "/";
+      constructor(cwd = process.cwd(), opts = {}) {
+        const { nocase = false } = opts;
+        super(cwd, node_path_1.posix, "/", { ...opts, nocase });
+        this.nocase = nocase;
       }
-      function _createTester(check, getResult) {
-        return (eachfn, arr, _iteratee, cb) => {
-          var testPassed = false;
-          var testResult;
-          const iteratee = wrapAsync(_iteratee);
-          eachfn(arr, (value, _2, callback) => {
-            iteratee(value, (err, result) => {
-              if (err || err === false) return callback(err);
-              if (check(result) && !testResult) {
-                testPassed = true;
-                testResult = getResult(true, value);
-                return callback(null, breakLoop);
-              }
-              callback();
-            });
-          }, (err) => {
-            if (err) return cb(err);
-            cb(null, testPassed ? testResult : getResult(false));
-          });
-        };
+      /**
+       * @internal
+       */
+      parseRootPath(_dir) {
+        return "/";
       }
-      function detect(coll, iteratee, callback) {
-        return _createTester((bool2) => bool2, (res, item) => item)(eachOf$1, coll, iteratee, callback);
+      /**
+       * @internal
+       */
+      newRoot(fs3) {
+        return new PathPosix(this.rootPath, IFDIR, void 0, this.roots, this.nocase, this.childrenCache(), { fs: fs3 });
       }
-      var detect$1 = awaitify(detect, 3);
-      function detectLimit(coll, limit, iteratee, callback) {
-        return _createTester((bool2) => bool2, (res, item) => item)(eachOfLimit$2(limit), coll, iteratee, callback);
+      /**
+       * Return true if the provided path string is an absolute path
+       */
+      isAbsolute(p) {
+        return p.startsWith("/");
       }
-      var detectLimit$1 = awaitify(detectLimit, 4);
-      function detectSeries(coll, iteratee, callback) {
-        return _createTester((bool2) => bool2, (res, item) => item)(eachOfLimit$2(1), coll, iteratee, callback);
+    };
+    exports2.PathScurryPosix = PathScurryPosix;
+    var PathScurryDarwin = class extends PathScurryPosix {
+      constructor(cwd = process.cwd(), opts = {}) {
+        const { nocase = true } = opts;
+        super(cwd, { ...opts, nocase });
       }
-      var detectSeries$1 = awaitify(detectSeries, 3);
-      function consoleFunc(name) {
-        return (fn, ...args) => wrapAsync(fn)(...args, (err, ...resultArgs) => {
-          if (typeof console === "object") {
-            if (err) {
-              if (console.error) {
-                console.error(err);
-              }
-            } else if (console[name]) {
-              resultArgs.forEach((x) => console[name](x));
+    };
+    exports2.PathScurryDarwin = PathScurryDarwin;
+    exports2.Path = process.platform === "win32" ? PathWin32 : PathPosix;
+    exports2.PathScurry = process.platform === "win32" ? PathScurryWin32 : process.platform === "darwin" ? PathScurryDarwin : PathScurryPosix;
+  }
+});
+
+// node_modules/glob/dist/commonjs/pattern.js
+var require_pattern = __commonJS({
+  "node_modules/glob/dist/commonjs/pattern.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Pattern = void 0;
+    var minimatch_1 = require_commonjs20();
+    var isPatternList = (pl) => pl.length >= 1;
+    var isGlobList = (gl) => gl.length >= 1;
+    var Pattern = class _Pattern {
+      #patternList;
+      #globList;
+      #index;
+      length;
+      #platform;
+      #rest;
+      #globString;
+      #isDrive;
+      #isUNC;
+      #isAbsolute;
+      #followGlobstar = true;
+      constructor(patternList, globList, index, platform) {
+        if (!isPatternList(patternList)) {
+          throw new TypeError("empty pattern list");
+        }
+        if (!isGlobList(globList)) {
+          throw new TypeError("empty glob list");
+        }
+        if (globList.length !== patternList.length) {
+          throw new TypeError("mismatched pattern list and glob list lengths");
+        }
+        this.length = patternList.length;
+        if (index < 0 || index >= this.length) {
+          throw new TypeError("index out of range");
+        }
+        this.#patternList = patternList;
+        this.#globList = globList;
+        this.#index = index;
+        this.#platform = platform;
+        if (this.#index === 0) {
+          if (this.isUNC()) {
+            const [p0, p1, p2, p3, ...prest] = this.#patternList;
+            const [g0, g1, g2, g3, ...grest] = this.#globList;
+            if (prest[0] === "") {
+              prest.shift();
+              grest.shift();
+            }
+            const p = [p0, p1, p2, p3, ""].join("/");
+            const g = [g0, g1, g2, g3, ""].join("/");
+            this.#patternList = [p, ...prest];
+            this.#globList = [g, ...grest];
+            this.length = this.#patternList.length;
+          } else if (this.isDrive() || this.isAbsolute()) {
+            const [p1, ...prest] = this.#patternList;
+            const [g1, ...grest] = this.#globList;
+            if (prest[0] === "") {
+              prest.shift();
+              grest.shift();
             }
+            const p = p1 + "/";
+            const g = g1 + "/";
+            this.#patternList = [p, ...prest];
+            this.#globList = [g, ...grest];
+            this.length = this.#patternList.length;
           }
-        });
-      }
-      var dir = consoleFunc("dir");
-      function doWhilst(iteratee, test, callback) {
-        callback = onlyOnce(callback);
-        var _fn = wrapAsync(iteratee);
-        var _test = wrapAsync(test);
-        var results;
-        function next(err, ...args) {
-          if (err) return callback(err);
-          if (err === false) return;
-          results = args;
-          _test(...args, check);
-        }
-        function check(err, truth) {
-          if (err) return callback(err);
-          if (err === false) return;
-          if (!truth) return callback(null, ...results);
-          _fn(next);
         }
-        return check(null, true);
       }
-      var doWhilst$1 = awaitify(doWhilst, 3);
-      function doUntil(iteratee, test, callback) {
-        const _test = wrapAsync(test);
-        return doWhilst$1(iteratee, (...args) => {
-          const cb = args.pop();
-          _test(...args, (err, truth) => cb(err, !truth));
-        }, callback);
+      /**
+       * The first entry in the parsed list of patterns
+       */
+      pattern() {
+        return this.#patternList[this.#index];
       }
-      function _withoutIndex(iteratee) {
-        return (value, index2, callback) => iteratee(value, callback);
+      /**
+       * true of if pattern() returns a string
+       */
+      isString() {
+        return typeof this.#patternList[this.#index] === "string";
       }
-      function eachLimit$2(coll, iteratee, callback) {
-        return eachOf$1(coll, _withoutIndex(wrapAsync(iteratee)), callback);
+      /**
+       * true of if pattern() returns GLOBSTAR
+       */
+      isGlobstar() {
+        return this.#patternList[this.#index] === minimatch_1.GLOBSTAR;
       }
-      var each = awaitify(eachLimit$2, 3);
-      function eachLimit(coll, limit, iteratee, callback) {
-        return eachOfLimit$2(limit)(coll, _withoutIndex(wrapAsync(iteratee)), callback);
+      /**
+       * true if pattern() returns a regexp
+       */
+      isRegExp() {
+        return this.#patternList[this.#index] instanceof RegExp;
       }
-      var eachLimit$1 = awaitify(eachLimit, 4);
-      function eachSeries(coll, iteratee, callback) {
-        return eachLimit$1(coll, 1, iteratee, callback);
+      /**
+       * The /-joined set of glob parts that make up this pattern
+       */
+      globString() {
+        return this.#globString = this.#globString || (this.#index === 0 ? this.isAbsolute() ? this.#globList[0] + this.#globList.slice(1).join("/") : this.#globList.join("/") : this.#globList.slice(this.#index).join("/"));
       }
-      var eachSeries$1 = awaitify(eachSeries, 3);
-      function ensureAsync(fn) {
-        if (isAsync(fn)) return fn;
-        return function(...args) {
-          var callback = args.pop();
-          var sync = true;
-          args.push((...innerArgs) => {
-            if (sync) {
-              setImmediate$1(() => callback(...innerArgs));
-            } else {
-              callback(...innerArgs);
-            }
-          });
-          fn.apply(this, args);
-          sync = false;
-        };
+      /**
+       * true if there are more pattern parts after this one
+       */
+      hasMore() {
+        return this.length > this.#index + 1;
       }
-      function every(coll, iteratee, callback) {
-        return _createTester((bool2) => !bool2, (res) => !res)(eachOf$1, coll, iteratee, callback);
+      /**
+       * The rest of the pattern after this part, or null if this is the end
+       */
+      rest() {
+        if (this.#rest !== void 0)
+          return this.#rest;
+        if (!this.hasMore())
+          return this.#rest = null;
+        this.#rest = new _Pattern(this.#patternList, this.#globList, this.#index + 1, this.#platform);
+        this.#rest.#isAbsolute = this.#isAbsolute;
+        this.#rest.#isUNC = this.#isUNC;
+        this.#rest.#isDrive = this.#isDrive;
+        return this.#rest;
       }
-      var every$1 = awaitify(every, 3);
-      function everyLimit(coll, limit, iteratee, callback) {
-        return _createTester((bool2) => !bool2, (res) => !res)(eachOfLimit$2(limit), coll, iteratee, callback);
+      /**
+       * true if the pattern represents a //unc/path/ on windows
+       */
+      isUNC() {
+        const pl = this.#patternList;
+        return this.#isUNC !== void 0 ? this.#isUNC : this.#isUNC = this.#platform === "win32" && this.#index === 0 && pl[0] === "" && pl[1] === "" && typeof pl[2] === "string" && !!pl[2] && typeof pl[3] === "string" && !!pl[3];
       }
-      var everyLimit$1 = awaitify(everyLimit, 4);
-      function everySeries(coll, iteratee, callback) {
-        return _createTester((bool2) => !bool2, (res) => !res)(eachOfSeries$1, coll, iteratee, callback);
+      // pattern like C:/...
+      // split = ['C:', ...]
+      // XXX: would be nice to handle patterns like `c:*` to test the cwd
+      // in c: for *, but I don't know of a way to even figure out what that
+      // cwd is without actually chdir'ing into it?
+      /**
+       * True if the pattern starts with a drive letter on Windows
+       */
+      isDrive() {
+        const pl = this.#patternList;
+        return this.#isDrive !== void 0 ? this.#isDrive : this.#isDrive = this.#platform === "win32" && this.#index === 0 && this.length > 1 && typeof pl[0] === "string" && /^[a-z]:$/i.test(pl[0]);
       }
-      var everySeries$1 = awaitify(everySeries, 3);
-      function filterArray(eachfn, arr, iteratee, callback) {
-        var truthValues = new Array(arr.length);
-        eachfn(arr, (x, index2, iterCb) => {
-          iteratee(x, (err, v) => {
-            truthValues[index2] = !!v;
-            iterCb(err);
-          });
-        }, (err) => {
-          if (err) return callback(err);
-          var results = [];
-          for (var i = 0; i < arr.length; i++) {
-            if (truthValues[i]) results.push(arr[i]);
-          }
-          callback(null, results);
-        });
+      // pattern = '/' or '/...' or '/x/...'
+      // split = ['', ''] or ['', ...] or ['', 'x', ...]
+      // Drive and UNC both considered absolute on windows
+      /**
+       * True if the pattern is rooted on an absolute path
+       */
+      isAbsolute() {
+        const pl = this.#patternList;
+        return this.#isAbsolute !== void 0 ? this.#isAbsolute : this.#isAbsolute = pl[0] === "" && pl.length > 1 || this.isDrive() || this.isUNC();
       }
-      function filterGeneric(eachfn, coll, iteratee, callback) {
-        var results = [];
-        eachfn(coll, (x, index2, iterCb) => {
-          iteratee(x, (err, v) => {
-            if (err) return iterCb(err);
-            if (v) {
-              results.push({ index: index2, value: x });
-            }
-            iterCb(err);
-          });
-        }, (err) => {
-          if (err) return callback(err);
-          callback(null, results.sort((a, b) => a.index - b.index).map((v) => v.value));
-        });
+      /**
+       * consume the root of the pattern, and return it
+       */
+      root() {
+        const p = this.#patternList[0];
+        return typeof p === "string" && this.isAbsolute() && this.#index === 0 ? p : "";
       }
-      function _filter(eachfn, coll, iteratee, callback) {
-        var filter2 = isArrayLike(coll) ? filterArray : filterGeneric;
-        return filter2(eachfn, coll, wrapAsync(iteratee), callback);
+      /**
+       * Check to see if the current globstar pattern is allowed to follow
+       * a symbolic link.
+       */
+      checkFollowGlobstar() {
+        return !(this.#index === 0 || !this.isGlobstar() || !this.#followGlobstar);
       }
-      function filter(coll, iteratee, callback) {
-        return _filter(eachOf$1, coll, iteratee, callback);
+      /**
+       * Mark that the current globstar pattern is following a symbolic link
+       */
+      markFollowGlobstar() {
+        if (this.#index === 0 || !this.isGlobstar() || !this.#followGlobstar)
+          return false;
+        this.#followGlobstar = false;
+        return true;
       }
-      var filter$1 = awaitify(filter, 3);
-      function filterLimit(coll, limit, iteratee, callback) {
-        return _filter(eachOfLimit$2(limit), coll, iteratee, callback);
+    };
+    exports2.Pattern = Pattern;
+  }
+});
+
+// node_modules/glob/dist/commonjs/ignore.js
+var require_ignore = __commonJS({
+  "node_modules/glob/dist/commonjs/ignore.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Ignore = void 0;
+    var minimatch_1 = require_commonjs20();
+    var pattern_js_1 = require_pattern();
+    var defaultPlatform = typeof process === "object" && process && typeof process.platform === "string" ? process.platform : "linux";
+    var Ignore = class {
+      relative;
+      relativeChildren;
+      absolute;
+      absoluteChildren;
+      platform;
+      mmopts;
+      constructor(ignored, { nobrace, nocase, noext, noglobstar, platform = defaultPlatform }) {
+        this.relative = [];
+        this.absolute = [];
+        this.relativeChildren = [];
+        this.absoluteChildren = [];
+        this.platform = platform;
+        this.mmopts = {
+          dot: true,
+          nobrace,
+          nocase,
+          noext,
+          noglobstar,
+          optimizationLevel: 2,
+          platform,
+          nocomment: true,
+          nonegate: true
+        };
+        for (const ign of ignored)
+          this.add(ign);
       }
-      var filterLimit$1 = awaitify(filterLimit, 4);
-      function filterSeries(coll, iteratee, callback) {
-        return _filter(eachOfSeries$1, coll, iteratee, callback);
+      add(ign) {
+        const mm = new minimatch_1.Minimatch(ign, this.mmopts);
+        for (let i = 0; i < mm.set.length; i++) {
+          const parsed = mm.set[i];
+          const globParts = mm.globParts[i];
+          if (!parsed || !globParts) {
+            throw new Error("invalid pattern object");
+          }
+          while (parsed[0] === "." && globParts[0] === ".") {
+            parsed.shift();
+            globParts.shift();
+          }
+          const p = new pattern_js_1.Pattern(parsed, globParts, 0, this.platform);
+          const m = new minimatch_1.Minimatch(p.globString(), this.mmopts);
+          const children = globParts[globParts.length - 1] === "**";
+          const absolute = p.isAbsolute();
+          if (absolute)
+            this.absolute.push(m);
+          else
+            this.relative.push(m);
+          if (children) {
+            if (absolute)
+              this.absoluteChildren.push(m);
+            else
+              this.relativeChildren.push(m);
+          }
+        }
       }
-      var filterSeries$1 = awaitify(filterSeries, 3);
-      function forever(fn, errback) {
-        var done = onlyOnce(errback);
-        var task = wrapAsync(ensureAsync(fn));
-        function next(err) {
-          if (err) return done(err);
-          if (err === false) return;
-          task(next);
+      ignored(p) {
+        const fullpath = p.fullpath();
+        const fullpaths = `${fullpath}/`;
+        const relative = p.relative() || ".";
+        const relatives = `${relative}/`;
+        for (const m of this.relative) {
+          if (m.match(relative) || m.match(relatives))
+            return true;
         }
-        return next();
+        for (const m of this.absolute) {
+          if (m.match(fullpath) || m.match(fullpaths))
+            return true;
+        }
+        return false;
       }
-      var forever$1 = awaitify(forever, 2);
-      function groupByLimit(coll, limit, iteratee, callback) {
-        var _iteratee = wrapAsync(iteratee);
-        return mapLimit$1(coll, limit, (val, iterCb) => {
-          _iteratee(val, (err, key) => {
-            if (err) return iterCb(err);
-            return iterCb(err, { key, val });
-          });
-        }, (err, mapResults) => {
-          var result = {};
-          var { hasOwnProperty } = Object.prototype;
-          for (var i = 0; i < mapResults.length; i++) {
-            if (mapResults[i]) {
-              var { key } = mapResults[i];
-              var { val } = mapResults[i];
-              if (hasOwnProperty.call(result, key)) {
-                result[key].push(val);
-              } else {
-                result[key] = [val];
-              }
-            }
-          }
-          return callback(err, result);
-        });
+      childrenIgnored(p) {
+        const fullpath = p.fullpath() + "/";
+        const relative = (p.relative() || ".") + "/";
+        for (const m of this.relativeChildren) {
+          if (m.match(relative))
+            return true;
+        }
+        for (const m of this.absoluteChildren) {
+          if (m.match(fullpath))
+            return true;
+        }
+        return false;
       }
-      var groupByLimit$1 = awaitify(groupByLimit, 4);
-      function groupBy(coll, iteratee, callback) {
-        return groupByLimit$1(coll, Infinity, iteratee, callback);
+    };
+    exports2.Ignore = Ignore;
+  }
+});
+
+// node_modules/glob/dist/commonjs/processor.js
+var require_processor = __commonJS({
+  "node_modules/glob/dist/commonjs/processor.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Processor = exports2.SubWalks = exports2.MatchRecord = exports2.HasWalkedCache = void 0;
+    var minimatch_1 = require_commonjs20();
+    var HasWalkedCache = class _HasWalkedCache {
+      store;
+      constructor(store = /* @__PURE__ */ new Map()) {
+        this.store = store;
       }
-      function groupBySeries(coll, iteratee, callback) {
-        return groupByLimit$1(coll, 1, iteratee, callback);
+      copy() {
+        return new _HasWalkedCache(new Map(this.store));
       }
-      var log = consoleFunc("log");
-      function mapValuesLimit(obj, limit, iteratee, callback) {
-        callback = once(callback);
-        var newObj = {};
-        var _iteratee = wrapAsync(iteratee);
-        return eachOfLimit$2(limit)(obj, (val, key, next) => {
-          _iteratee(val, key, (err, result) => {
-            if (err) return next(err);
-            newObj[key] = result;
-            next(err);
-          });
-        }, (err) => callback(err, newObj));
+      hasWalked(target, pattern) {
+        return this.store.get(target.fullpath())?.has(pattern.globString());
       }
-      var mapValuesLimit$1 = awaitify(mapValuesLimit, 4);
-      function mapValues(obj, iteratee, callback) {
-        return mapValuesLimit$1(obj, Infinity, iteratee, callback);
+      storeWalked(target, pattern) {
+        const fullpath = target.fullpath();
+        const cached = this.store.get(fullpath);
+        if (cached)
+          cached.add(pattern.globString());
+        else
+          this.store.set(fullpath, /* @__PURE__ */ new Set([pattern.globString()]));
       }
-      function mapValuesSeries(obj, iteratee, callback) {
-        return mapValuesLimit$1(obj, 1, iteratee, callback);
+    };
+    exports2.HasWalkedCache = HasWalkedCache;
+    var MatchRecord = class {
+      store = /* @__PURE__ */ new Map();
+      add(target, absolute, ifDir) {
+        const n = (absolute ? 2 : 0) | (ifDir ? 1 : 0);
+        const current = this.store.get(target);
+        this.store.set(target, current === void 0 ? n : n & current);
       }
-      function memoize(fn, hasher = (v) => v) {
-        var memo = /* @__PURE__ */ Object.create(null);
-        var queues = /* @__PURE__ */ Object.create(null);
-        var _fn = wrapAsync(fn);
-        var memoized = initialParams((args, callback) => {
-          var key = hasher(...args);
-          if (key in memo) {
-            setImmediate$1(() => callback(null, ...memo[key]));
-          } else if (key in queues) {
-            queues[key].push(callback);
-          } else {
-            queues[key] = [callback];
-            _fn(...args, (err, ...resultArgs) => {
-              if (!err) {
-                memo[key] = resultArgs;
-              }
-              var q = queues[key];
-              delete queues[key];
-              for (var i = 0, l = q.length; i < l; i++) {
-                q[i](err, ...resultArgs);
-              }
-            });
+      // match, absolute, ifdir
+      entries() {
+        return [...this.store.entries()].map(([path4, n]) => [
+          path4,
+          !!(n & 2),
+          !!(n & 1)
+        ]);
+      }
+    };
+    exports2.MatchRecord = MatchRecord;
+    var SubWalks = class {
+      store = /* @__PURE__ */ new Map();
+      add(target, pattern) {
+        if (!target.canReaddir()) {
+          return;
+        }
+        const subs = this.store.get(target);
+        if (subs) {
+          if (!subs.find((p) => p.globString() === pattern.globString())) {
+            subs.push(pattern);
           }
-        });
-        memoized.memo = memo;
-        memoized.unmemoized = fn;
-        return memoized;
+        } else
+          this.store.set(target, [pattern]);
       }
-      var _defer;
-      if (hasNextTick) {
-        _defer = process.nextTick;
-      } else if (hasSetImmediate) {
-        _defer = setImmediate;
-      } else {
-        _defer = fallback;
+      get(target) {
+        const subs = this.store.get(target);
+        if (!subs) {
+          throw new Error("attempting to walk unknown path");
+        }
+        return subs;
       }
-      var nextTick = wrap(_defer);
-      var _parallel = awaitify((eachfn, tasks, callback) => {
-        var results = isArrayLike(tasks) ? [] : {};
-        eachfn(tasks, (task, key, taskCb) => {
-          wrapAsync(task)((err, ...result) => {
-            if (result.length < 2) {
-              [result] = result;
+      entries() {
+        return this.keys().map((k) => [k, this.store.get(k)]);
+      }
+      keys() {
+        return [...this.store.keys()].filter((t) => t.canReaddir());
+      }
+    };
+    exports2.SubWalks = SubWalks;
+    var Processor = class _Processor {
+      hasWalkedCache;
+      matches = new MatchRecord();
+      subwalks = new SubWalks();
+      patterns;
+      follow;
+      dot;
+      opts;
+      constructor(opts, hasWalkedCache) {
+        this.opts = opts;
+        this.follow = !!opts.follow;
+        this.dot = !!opts.dot;
+        this.hasWalkedCache = hasWalkedCache ? hasWalkedCache.copy() : new HasWalkedCache();
+      }
+      processPatterns(target, patterns) {
+        this.patterns = patterns;
+        const processingSet = patterns.map((p) => [target, p]);
+        for (let [t, pattern] of processingSet) {
+          this.hasWalkedCache.storeWalked(t, pattern);
+          const root = pattern.root();
+          const absolute = pattern.isAbsolute() && this.opts.absolute !== false;
+          if (root) {
+            t = t.resolve(root === "/" && this.opts.root !== void 0 ? this.opts.root : root);
+            const rest2 = pattern.rest();
+            if (!rest2) {
+              this.matches.add(t, true, false);
+              continue;
+            } else {
+              pattern = rest2;
+            }
+          }
+          if (t.isENOENT())
+            continue;
+          let p;
+          let rest;
+          let changed = false;
+          while (typeof (p = pattern.pattern()) === "string" && (rest = pattern.rest())) {
+            const c = t.resolve(p);
+            t = c;
+            pattern = rest;
+            changed = true;
+          }
+          p = pattern.pattern();
+          rest = pattern.rest();
+          if (changed) {
+            if (this.hasWalkedCache.hasWalked(t, pattern))
+              continue;
+            this.hasWalkedCache.storeWalked(t, pattern);
+          }
+          if (typeof p === "string") {
+            const ifDir = p === ".." || p === "" || p === ".";
+            this.matches.add(t.resolve(p), absolute, ifDir);
+            continue;
+          } else if (p === minimatch_1.GLOBSTAR) {
+            if (!t.isSymbolicLink() || this.follow || pattern.checkFollowGlobstar()) {
+              this.subwalks.add(t, pattern);
             }
-            results[key] = result;
-            taskCb(err);
-          });
-        }, (err) => callback(err, results));
-      }, 3);
-      function parallel(tasks, callback) {
-        return _parallel(eachOf$1, tasks, callback);
+            const rp = rest?.pattern();
+            const rrest = rest?.rest();
+            if (!rest || (rp === "" || rp === ".") && !rrest) {
+              this.matches.add(t, absolute, rp === "" || rp === ".");
+            } else {
+              if (rp === "..") {
+                const tp = t.parent || t;
+                if (!rrest)
+                  this.matches.add(tp, absolute, true);
+                else if (!this.hasWalkedCache.hasWalked(tp, rrest)) {
+                  this.subwalks.add(tp, rrest);
+                }
+              }
+            }
+          } else if (p instanceof RegExp) {
+            this.subwalks.add(t, pattern);
+          }
+        }
+        return this;
       }
-      function parallelLimit(tasks, limit, callback) {
-        return _parallel(eachOfLimit$2(limit), tasks, callback);
+      subwalkTargets() {
+        return this.subwalks.keys();
       }
-      function queue(worker, concurrency) {
-        var _worker = wrapAsync(worker);
-        return queue$1((items, cb) => {
-          _worker(items[0], cb);
-        }, concurrency, 1);
+      child() {
+        return new _Processor(this.opts, this.hasWalkedCache);
       }
-      class Heap {
-        constructor() {
-          this.heap = [];
-          this.pushCount = Number.MIN_SAFE_INTEGER;
-        }
-        get length() {
-          return this.heap.length;
-        }
-        empty() {
-          this.heap = [];
-          return this;
-        }
-        percUp(index2) {
-          let p;
-          while (index2 > 0 && smaller(this.heap[index2], this.heap[p = parent(index2)])) {
-            let t = this.heap[index2];
-            this.heap[index2] = this.heap[p];
-            this.heap[p] = t;
-            index2 = p;
+      // return a new Processor containing the subwalks for each
+      // child entry, and a set of matches, and
+      // a hasWalkedCache that's a copy of this one
+      // then we're going to call
+      filterEntries(parent, entries) {
+        const patterns = this.subwalks.get(parent);
+        const results = this.child();
+        for (const e of entries) {
+          for (const pattern of patterns) {
+            const absolute = pattern.isAbsolute();
+            const p = pattern.pattern();
+            const rest = pattern.rest();
+            if (p === minimatch_1.GLOBSTAR) {
+              results.testGlobstar(e, pattern, rest, absolute);
+            } else if (p instanceof RegExp) {
+              results.testRegExp(e, p, rest, absolute);
+            } else {
+              results.testString(e, p, rest, absolute);
+            }
           }
         }
-        percDown(index2) {
-          let l;
-          while ((l = leftChi(index2)) < this.heap.length) {
-            if (l + 1 < this.heap.length && smaller(this.heap[l + 1], this.heap[l])) {
-              l = l + 1;
-            }
-            if (smaller(this.heap[index2], this.heap[l])) {
-              break;
+        return results;
+      }
+      testGlobstar(e, pattern, rest, absolute) {
+        if (this.dot || !e.name.startsWith(".")) {
+          if (!pattern.hasMore()) {
+            this.matches.add(e, absolute, false);
+          }
+          if (e.canReaddir()) {
+            if (this.follow || !e.isSymbolicLink()) {
+              this.subwalks.add(e, pattern);
+            } else if (e.isSymbolicLink()) {
+              if (rest && pattern.checkFollowGlobstar()) {
+                this.subwalks.add(e, rest);
+              } else if (pattern.markFollowGlobstar()) {
+                this.subwalks.add(e, pattern);
+              }
             }
-            let t = this.heap[index2];
-            this.heap[index2] = this.heap[l];
-            this.heap[l] = t;
-            index2 = l;
           }
         }
-        push(node) {
-          node.pushCount = ++this.pushCount;
-          this.heap.push(node);
-          this.percUp(this.heap.length - 1);
-        }
-        unshift(node) {
-          return this.heap.push(node);
+        if (rest) {
+          const rp = rest.pattern();
+          if (typeof rp === "string" && // dots and empty were handled already
+          rp !== ".." && rp !== "" && rp !== ".") {
+            this.testString(e, rp, rest.rest(), absolute);
+          } else if (rp === "..") {
+            const ep = e.parent || e;
+            this.subwalks.add(ep, rest);
+          } else if (rp instanceof RegExp) {
+            this.testRegExp(e, rp, rest.rest(), absolute);
+          }
         }
-        shift() {
-          let [top] = this.heap;
-          this.heap[0] = this.heap[this.heap.length - 1];
-          this.heap.pop();
-          this.percDown(0);
-          return top;
+      }
+      testRegExp(e, p, rest, absolute) {
+        if (!p.test(e.name))
+          return;
+        if (!rest) {
+          this.matches.add(e, absolute, false);
+        } else {
+          this.subwalks.add(e, rest);
         }
-        toArray() {
-          return [...this];
+      }
+      testString(e, p, rest, absolute) {
+        if (!e.isNamed(p))
+          return;
+        if (!rest) {
+          this.matches.add(e, absolute, false);
+        } else {
+          this.subwalks.add(e, rest);
         }
-        *[Symbol.iterator]() {
-          for (let i = 0; i < this.heap.length; i++) {
-            yield this.heap[i].data;
+      }
+    };
+    exports2.Processor = Processor;
+  }
+});
+
+// node_modules/glob/dist/commonjs/walker.js
+var require_walker = __commonJS({
+  "node_modules/glob/dist/commonjs/walker.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.GlobStream = exports2.GlobWalker = exports2.GlobUtil = void 0;
+    var minipass_1 = require_commonjs22();
+    var ignore_js_1 = require_ignore();
+    var processor_js_1 = require_processor();
+    var makeIgnore = (ignore, opts) => typeof ignore === "string" ? new ignore_js_1.Ignore([ignore], opts) : Array.isArray(ignore) ? new ignore_js_1.Ignore(ignore, opts) : ignore;
+    var GlobUtil = class {
+      path;
+      patterns;
+      opts;
+      seen = /* @__PURE__ */ new Set();
+      paused = false;
+      aborted = false;
+      #onResume = [];
+      #ignore;
+      #sep;
+      signal;
+      maxDepth;
+      includeChildMatches;
+      constructor(patterns, path4, opts) {
+        this.patterns = patterns;
+        this.path = path4;
+        this.opts = opts;
+        this.#sep = !opts.posix && opts.platform === "win32" ? "\\" : "/";
+        this.includeChildMatches = opts.includeChildMatches !== false;
+        if (opts.ignore || !this.includeChildMatches) {
+          this.#ignore = makeIgnore(opts.ignore ?? [], opts);
+          if (!this.includeChildMatches && typeof this.#ignore.add !== "function") {
+            const m = "cannot ignore child matches, ignore lacks add() method.";
+            throw new Error(m);
           }
         }
-        remove(testFn) {
-          let j = 0;
-          for (let i = 0; i < this.heap.length; i++) {
-            if (!testFn(this.heap[i])) {
-              this.heap[j] = this.heap[i];
-              j++;
-            }
-          }
-          this.heap.splice(j);
-          for (let i = parent(this.heap.length - 1); i >= 0; i--) {
-            this.percDown(i);
-          }
-          return this;
+        this.maxDepth = opts.maxDepth || Infinity;
+        if (opts.signal) {
+          this.signal = opts.signal;
+          this.signal.addEventListener("abort", () => {
+            this.#onResume.length = 0;
+          });
         }
       }
-      function leftChi(i) {
-        return (i << 1) + 1;
+      #ignored(path4) {
+        return this.seen.has(path4) || !!this.#ignore?.ignored?.(path4);
       }
-      function parent(i) {
-        return (i + 1 >> 1) - 1;
+      #childrenIgnored(path4) {
+        return !!this.#ignore?.childrenIgnored?.(path4);
       }
-      function smaller(x, y) {
-        if (x.priority !== y.priority) {
-          return x.priority < y.priority;
-        } else {
-          return x.pushCount < y.pushCount;
+      // backpressure mechanism
+      pause() {
+        this.paused = true;
+      }
+      resume() {
+        if (this.signal?.aborted)
+          return;
+        this.paused = false;
+        let fn = void 0;
+        while (!this.paused && (fn = this.#onResume.shift())) {
+          fn();
         }
       }
-      function priorityQueue(worker, concurrency) {
-        var q = queue(worker, concurrency);
-        var {
-          push,
-          pushAsync
-        } = q;
-        q._tasks = new Heap();
-        q._createTaskItem = ({ data, priority }, callback) => {
-          return {
-            data,
-            priority,
-            callback
-          };
-        };
-        function createDataItems(tasks, priority) {
-          if (!Array.isArray(tasks)) {
-            return { data: tasks, priority };
-          }
-          return tasks.map((data) => {
-            return { data, priority };
-          });
+      onResume(fn) {
+        if (this.signal?.aborted)
+          return;
+        if (!this.paused) {
+          fn();
+        } else {
+          this.#onResume.push(fn);
         }
-        q.push = function(data, priority = 0, callback) {
-          return push(createDataItems(data, priority), callback);
-        };
-        q.pushAsync = function(data, priority = 0, callback) {
-          return pushAsync(createDataItems(data, priority), callback);
-        };
-        delete q.unshift;
-        delete q.unshiftAsync;
-        return q;
       }
-      function race(tasks, callback) {
-        callback = once(callback);
-        if (!Array.isArray(tasks)) return callback(new TypeError("First argument to race must be an array of functions"));
-        if (!tasks.length) return callback();
-        for (var i = 0, l = tasks.length; i < l; i++) {
-          wrapAsync(tasks[i])(callback);
+      // do the requisite realpath/stat checking, and return the path
+      // to add or undefined to filter it out.
+      async matchCheck(e, ifDir) {
+        if (ifDir && this.opts.nodir)
+          return void 0;
+        let rpc;
+        if (this.opts.realpath) {
+          rpc = e.realpathCached() || await e.realpath();
+          if (!rpc)
+            return void 0;
+          e = rpc;
+        }
+        const needStat = e.isUnknown() || this.opts.stat;
+        const s = needStat ? await e.lstat() : e;
+        if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) {
+          const target = await s.realpath();
+          if (target && (target.isUnknown() || this.opts.stat)) {
+            await target.lstat();
+          }
         }
+        return this.matchCheckTest(s, ifDir);
       }
-      var race$1 = awaitify(race, 2);
-      function reduceRight(array, memo, iteratee, callback) {
-        var reversed = [...array].reverse();
-        return reduce$1(reversed, memo, iteratee, callback);
+      matchCheckTest(e, ifDir) {
+        return e && (this.maxDepth === Infinity || e.depth() <= this.maxDepth) && (!ifDir || e.canReaddir()) && (!this.opts.nodir || !e.isDirectory()) && (!this.opts.nodir || !this.opts.follow || !e.isSymbolicLink() || !e.realpathCached()?.isDirectory()) && !this.#ignored(e) ? e : void 0;
       }
-      function reflect(fn) {
-        var _fn = wrapAsync(fn);
-        return initialParams(function reflectOn(args, reflectCallback) {
-          args.push((error3, ...cbArgs) => {
-            let retVal = {};
-            if (error3) {
-              retVal.error = error3;
-            }
-            if (cbArgs.length > 0) {
-              var value = cbArgs;
-              if (cbArgs.length <= 1) {
-                [value] = cbArgs;
-              }
-              retVal.value = value;
-            }
-            reflectCallback(null, retVal);
-          });
-          return _fn.apply(this, args);
-        });
+      matchCheckSync(e, ifDir) {
+        if (ifDir && this.opts.nodir)
+          return void 0;
+        let rpc;
+        if (this.opts.realpath) {
+          rpc = e.realpathCached() || e.realpathSync();
+          if (!rpc)
+            return void 0;
+          e = rpc;
+        }
+        const needStat = e.isUnknown() || this.opts.stat;
+        const s = needStat ? e.lstatSync() : e;
+        if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) {
+          const target = s.realpathSync();
+          if (target && (target?.isUnknown() || this.opts.stat)) {
+            target.lstatSync();
+          }
+        }
+        return this.matchCheckTest(s, ifDir);
       }
-      function reflectAll(tasks) {
-        var results;
-        if (Array.isArray(tasks)) {
-          results = tasks.map(reflect);
+      matchFinish(e, absolute) {
+        if (this.#ignored(e))
+          return;
+        if (!this.includeChildMatches && this.#ignore?.add) {
+          const ign = `${e.relativePosix()}/**`;
+          this.#ignore.add(ign);
+        }
+        const abs = this.opts.absolute === void 0 ? absolute : this.opts.absolute;
+        this.seen.add(e);
+        const mark = this.opts.mark && e.isDirectory() ? this.#sep : "";
+        if (this.opts.withFileTypes) {
+          this.matchEmit(e);
+        } else if (abs) {
+          const abs2 = this.opts.posix ? e.fullpathPosix() : e.fullpath();
+          this.matchEmit(abs2 + mark);
         } else {
-          results = {};
-          Object.keys(tasks).forEach((key) => {
-            results[key] = reflect.call(this, tasks[key]);
-          });
+          const rel = this.opts.posix ? e.relativePosix() : e.relative();
+          const pre = this.opts.dotRelative && !rel.startsWith(".." + this.#sep) ? "." + this.#sep : "";
+          this.matchEmit(!rel ? "." + mark : pre + rel + mark);
         }
-        return results;
       }
-      function reject$2(eachfn, arr, _iteratee, callback) {
-        const iteratee = wrapAsync(_iteratee);
-        return _filter(eachfn, arr, (value, cb) => {
-          iteratee(value, (err, v) => {
-            cb(err, !v);
-          });
-        }, callback);
+      async match(e, absolute, ifDir) {
+        const p = await this.matchCheck(e, ifDir);
+        if (p)
+          this.matchFinish(p, absolute);
       }
-      function reject(coll, iteratee, callback) {
-        return reject$2(eachOf$1, coll, iteratee, callback);
+      matchSync(e, absolute, ifDir) {
+        const p = this.matchCheckSync(e, ifDir);
+        if (p)
+          this.matchFinish(p, absolute);
       }
-      var reject$1 = awaitify(reject, 3);
-      function rejectLimit(coll, limit, iteratee, callback) {
-        return reject$2(eachOfLimit$2(limit), coll, iteratee, callback);
+      walkCB(target, patterns, cb) {
+        if (this.signal?.aborted)
+          cb();
+        this.walkCB2(target, patterns, new processor_js_1.Processor(this.opts), cb);
       }
-      var rejectLimit$1 = awaitify(rejectLimit, 4);
-      function rejectSeries(coll, iteratee, callback) {
-        return reject$2(eachOfSeries$1, coll, iteratee, callback);
+      walkCB2(target, patterns, processor, cb) {
+        if (this.#childrenIgnored(target))
+          return cb();
+        if (this.signal?.aborted)
+          cb();
+        if (this.paused) {
+          this.onResume(() => this.walkCB2(target, patterns, processor, cb));
+          return;
+        }
+        processor.processPatterns(target, patterns);
+        let tasks = 1;
+        const next = () => {
+          if (--tasks === 0)
+            cb();
+        };
+        for (const [m, absolute, ifDir] of processor.matches.entries()) {
+          if (this.#ignored(m))
+            continue;
+          tasks++;
+          this.match(m, absolute, ifDir).then(() => next());
+        }
+        for (const t of processor.subwalkTargets()) {
+          if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {
+            continue;
+          }
+          tasks++;
+          const childrenCached = t.readdirCached();
+          if (t.calledReaddir())
+            this.walkCB3(t, childrenCached, processor, next);
+          else {
+            t.readdirCB((_2, entries) => this.walkCB3(t, entries, processor, next), true);
+          }
+        }
+        next();
       }
-      var rejectSeries$1 = awaitify(rejectSeries, 3);
-      function constant(value) {
-        return function() {
-          return value;
+      walkCB3(target, entries, processor, cb) {
+        processor = processor.filterEntries(target, entries);
+        let tasks = 1;
+        const next = () => {
+          if (--tasks === 0)
+            cb();
+        };
+        for (const [m, absolute, ifDir] of processor.matches.entries()) {
+          if (this.#ignored(m))
+            continue;
+          tasks++;
+          this.match(m, absolute, ifDir).then(() => next());
+        }
+        for (const [target2, patterns] of processor.subwalks.entries()) {
+          tasks++;
+          this.walkCB2(target2, patterns, processor.child(), next);
+        }
+        next();
+      }
+      walkCBSync(target, patterns, cb) {
+        if (this.signal?.aborted)
+          cb();
+        this.walkCB2Sync(target, patterns, new processor_js_1.Processor(this.opts), cb);
+      }
+      walkCB2Sync(target, patterns, processor, cb) {
+        if (this.#childrenIgnored(target))
+          return cb();
+        if (this.signal?.aborted)
+          cb();
+        if (this.paused) {
+          this.onResume(() => this.walkCB2Sync(target, patterns, processor, cb));
+          return;
+        }
+        processor.processPatterns(target, patterns);
+        let tasks = 1;
+        const next = () => {
+          if (--tasks === 0)
+            cb();
         };
+        for (const [m, absolute, ifDir] of processor.matches.entries()) {
+          if (this.#ignored(m))
+            continue;
+          this.matchSync(m, absolute, ifDir);
+        }
+        for (const t of processor.subwalkTargets()) {
+          if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {
+            continue;
+          }
+          tasks++;
+          const children = t.readdirSync();
+          this.walkCB3Sync(t, children, processor, next);
+        }
+        next();
       }
-      const DEFAULT_TIMES = 5;
-      const DEFAULT_INTERVAL = 0;
-      function retry2(opts, task, callback) {
-        var options = {
-          times: DEFAULT_TIMES,
-          intervalFunc: constant(DEFAULT_INTERVAL)
+      walkCB3Sync(target, entries, processor, cb) {
+        processor = processor.filterEntries(target, entries);
+        let tasks = 1;
+        const next = () => {
+          if (--tasks === 0)
+            cb();
         };
-        if (arguments.length < 3 && typeof opts === "function") {
-          callback = task || promiseCallback();
-          task = opts;
-        } else {
-          parseTimes(options, opts);
-          callback = callback || promiseCallback();
+        for (const [m, absolute, ifDir] of processor.matches.entries()) {
+          if (this.#ignored(m))
+            continue;
+          this.matchSync(m, absolute, ifDir);
+        }
+        for (const [target2, patterns] of processor.subwalks.entries()) {
+          tasks++;
+          this.walkCB2Sync(target2, patterns, processor.child(), next);
         }
-        if (typeof task !== "function") {
-          throw new Error("Invalid arguments for async.retry");
+        next();
+      }
+    };
+    exports2.GlobUtil = GlobUtil;
+    var GlobWalker = class extends GlobUtil {
+      matches = /* @__PURE__ */ new Set();
+      constructor(patterns, path4, opts) {
+        super(patterns, path4, opts);
+      }
+      matchEmit(e) {
+        this.matches.add(e);
+      }
+      async walk() {
+        if (this.signal?.aborted)
+          throw this.signal.reason;
+        if (this.path.isUnknown()) {
+          await this.path.lstat();
         }
-        var _task = wrapAsync(task);
-        var attempt = 1;
-        function retryAttempt() {
-          _task((err, ...args) => {
-            if (err === false) return;
-            if (err && attempt++ < options.times && (typeof options.errorFilter != "function" || options.errorFilter(err))) {
-              setTimeout(retryAttempt, options.intervalFunc(attempt - 1));
+        await new Promise((res, rej) => {
+          this.walkCB(this.path, this.patterns, () => {
+            if (this.signal?.aborted) {
+              rej(this.signal.reason);
             } else {
-              callback(err, ...args);
+              res(this.matches);
             }
           });
+        });
+        return this.matches;
+      }
+      walkSync() {
+        if (this.signal?.aborted)
+          throw this.signal.reason;
+        if (this.path.isUnknown()) {
+          this.path.lstatSync();
         }
-        retryAttempt();
-        return callback[PROMISE_SYMBOL];
+        this.walkCBSync(this.path, this.patterns, () => {
+          if (this.signal?.aborted)
+            throw this.signal.reason;
+        });
+        return this.matches;
       }
-      function parseTimes(acc, t) {
-        if (typeof t === "object") {
-          acc.times = +t.times || DEFAULT_TIMES;
-          acc.intervalFunc = typeof t.interval === "function" ? t.interval : constant(+t.interval || DEFAULT_INTERVAL);
-          acc.errorFilter = t.errorFilter;
-        } else if (typeof t === "number" || typeof t === "string") {
-          acc.times = +t || DEFAULT_TIMES;
+    };
+    exports2.GlobWalker = GlobWalker;
+    var GlobStream = class extends GlobUtil {
+      results;
+      constructor(patterns, path4, opts) {
+        super(patterns, path4, opts);
+        this.results = new minipass_1.Minipass({
+          signal: this.signal,
+          objectMode: true
+        });
+        this.results.on("drain", () => this.resume());
+        this.results.on("resume", () => this.resume());
+      }
+      matchEmit(e) {
+        this.results.write(e);
+        if (!this.results.flowing)
+          this.pause();
+      }
+      stream() {
+        const target = this.path;
+        if (target.isUnknown()) {
+          target.lstat().then(() => {
+            this.walkCB(target, this.patterns, () => this.results.end());
+          });
         } else {
-          throw new Error("Invalid arguments for async.retry");
+          this.walkCB(target, this.patterns, () => this.results.end());
         }
+        return this.results;
       }
-      function retryable(opts, task) {
-        if (!task) {
-          task = opts;
-          opts = null;
+      streamSync() {
+        if (this.path.isUnknown()) {
+          this.path.lstatSync();
         }
-        let arity = opts && opts.arity || task.length;
-        if (isAsync(task)) {
-          arity += 1;
+        this.walkCBSync(this.path, this.patterns, () => this.results.end());
+        return this.results;
+      }
+    };
+    exports2.GlobStream = GlobStream;
+  }
+});
+
+// node_modules/glob/dist/commonjs/glob.js
+var require_glob2 = __commonJS({
+  "node_modules/glob/dist/commonjs/glob.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Glob = void 0;
+    var minimatch_1 = require_commonjs20();
+    var node_url_1 = require("node:url");
+    var path_scurry_1 = require_commonjs23();
+    var pattern_js_1 = require_pattern();
+    var walker_js_1 = require_walker();
+    var defaultPlatform = typeof process === "object" && process && typeof process.platform === "string" ? process.platform : "linux";
+    var Glob = class {
+      absolute;
+      cwd;
+      root;
+      dot;
+      dotRelative;
+      follow;
+      ignore;
+      magicalBraces;
+      mark;
+      matchBase;
+      maxDepth;
+      nobrace;
+      nocase;
+      nodir;
+      noext;
+      noglobstar;
+      pattern;
+      platform;
+      realpath;
+      scurry;
+      stat;
+      signal;
+      windowsPathsNoEscape;
+      withFileTypes;
+      includeChildMatches;
+      /**
+       * The options provided to the constructor.
+       */
+      opts;
+      /**
+       * An array of parsed immutable {@link Pattern} objects.
+       */
+      patterns;
+      /**
+       * All options are stored as properties on the `Glob` object.
+       *
+       * See {@link GlobOptions} for full options descriptions.
+       *
+       * Note that a previous `Glob` object can be passed as the
+       * `GlobOptions` to another `Glob` instantiation to re-use settings
+       * and caches with a new pattern.
+       *
+       * Traversal functions can be called multiple times to run the walk
+       * again.
+       */
+      constructor(pattern, opts) {
+        if (!opts)
+          throw new TypeError("glob options required");
+        this.withFileTypes = !!opts.withFileTypes;
+        this.signal = opts.signal;
+        this.follow = !!opts.follow;
+        this.dot = !!opts.dot;
+        this.dotRelative = !!opts.dotRelative;
+        this.nodir = !!opts.nodir;
+        this.mark = !!opts.mark;
+        if (!opts.cwd) {
+          this.cwd = "";
+        } else if (opts.cwd instanceof URL || opts.cwd.startsWith("file://")) {
+          opts.cwd = (0, node_url_1.fileURLToPath)(opts.cwd);
         }
-        var _task = wrapAsync(task);
-        return initialParams((args, callback) => {
-          if (args.length < arity - 1 || callback == null) {
-            args.push(callback);
-            callback = promiseCallback();
+        this.cwd = opts.cwd || "";
+        this.root = opts.root;
+        this.magicalBraces = !!opts.magicalBraces;
+        this.nobrace = !!opts.nobrace;
+        this.noext = !!opts.noext;
+        this.realpath = !!opts.realpath;
+        this.absolute = opts.absolute;
+        this.includeChildMatches = opts.includeChildMatches !== false;
+        this.noglobstar = !!opts.noglobstar;
+        this.matchBase = !!opts.matchBase;
+        this.maxDepth = typeof opts.maxDepth === "number" ? opts.maxDepth : Infinity;
+        this.stat = !!opts.stat;
+        this.ignore = opts.ignore;
+        if (this.withFileTypes && this.absolute !== void 0) {
+          throw new Error("cannot set absolute and withFileTypes:true");
+        }
+        if (typeof pattern === "string") {
+          pattern = [pattern];
+        }
+        this.windowsPathsNoEscape = !!opts.windowsPathsNoEscape || opts.allowWindowsEscape === false;
+        if (this.windowsPathsNoEscape) {
+          pattern = pattern.map((p) => p.replace(/\\/g, "/"));
+        }
+        if (this.matchBase) {
+          if (opts.noglobstar) {
+            throw new TypeError("base matching requires globstar");
           }
-          function taskFn(cb) {
-            _task(...args, cb);
+          pattern = pattern.map((p) => p.includes("/") ? p : `./**/${p}`);
+        }
+        this.pattern = pattern;
+        this.platform = opts.platform || defaultPlatform;
+        this.opts = { ...opts, platform: this.platform };
+        if (opts.scurry) {
+          this.scurry = opts.scurry;
+          if (opts.nocase !== void 0 && opts.nocase !== opts.scurry.nocase) {
+            throw new Error("nocase option contradicts provided scurry option");
           }
-          if (opts) retry2(opts, taskFn, callback);
-          else retry2(taskFn, callback);
-          return callback[PROMISE_SYMBOL];
+        } else {
+          const Scurry = opts.platform === "win32" ? path_scurry_1.PathScurryWin32 : opts.platform === "darwin" ? path_scurry_1.PathScurryDarwin : opts.platform ? path_scurry_1.PathScurryPosix : path_scurry_1.PathScurry;
+          this.scurry = new Scurry(this.cwd, {
+            nocase: opts.nocase,
+            fs: opts.fs
+          });
+        }
+        this.nocase = this.scurry.nocase;
+        const nocaseMagicOnly = this.platform === "darwin" || this.platform === "win32";
+        const mmo = {
+          // default nocase based on platform
+          ...opts,
+          dot: this.dot,
+          matchBase: this.matchBase,
+          nobrace: this.nobrace,
+          nocase: this.nocase,
+          nocaseMagicOnly,
+          nocomment: true,
+          noext: this.noext,
+          nonegate: true,
+          optimizationLevel: 2,
+          platform: this.platform,
+          windowsPathsNoEscape: this.windowsPathsNoEscape,
+          debug: !!this.opts.debug
+        };
+        const mms = this.pattern.map((p) => new minimatch_1.Minimatch(p, mmo));
+        const [matchSet, globParts] = mms.reduce((set2, m) => {
+          set2[0].push(...m.set);
+          set2[1].push(...m.globParts);
+          return set2;
+        }, [[], []]);
+        this.patterns = matchSet.map((set2, i) => {
+          const g = globParts[i];
+          if (!g)
+            throw new Error("invalid pattern object");
+          return new pattern_js_1.Pattern(set2, g, 0, this.platform);
         });
       }
-      function series(tasks, callback) {
-        return _parallel(eachOfSeries$1, tasks, callback);
+      async walk() {
+        return [
+          ...await new walker_js_1.GlobWalker(this.patterns, this.scurry.cwd, {
+            ...this.opts,
+            maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
+            platform: this.platform,
+            nocase: this.nocase,
+            includeChildMatches: this.includeChildMatches
+          }).walk()
+        ];
       }
-      function some(coll, iteratee, callback) {
-        return _createTester(Boolean, (res) => res)(eachOf$1, coll, iteratee, callback);
+      walkSync() {
+        return [
+          ...new walker_js_1.GlobWalker(this.patterns, this.scurry.cwd, {
+            ...this.opts,
+            maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
+            platform: this.platform,
+            nocase: this.nocase,
+            includeChildMatches: this.includeChildMatches
+          }).walkSync()
+        ];
       }
-      var some$1 = awaitify(some, 3);
-      function someLimit(coll, limit, iteratee, callback) {
-        return _createTester(Boolean, (res) => res)(eachOfLimit$2(limit), coll, iteratee, callback);
+      stream() {
+        return new walker_js_1.GlobStream(this.patterns, this.scurry.cwd, {
+          ...this.opts,
+          maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
+          platform: this.platform,
+          nocase: this.nocase,
+          includeChildMatches: this.includeChildMatches
+        }).stream();
       }
-      var someLimit$1 = awaitify(someLimit, 4);
-      function someSeries(coll, iteratee, callback) {
-        return _createTester(Boolean, (res) => res)(eachOfSeries$1, coll, iteratee, callback);
+      streamSync() {
+        return new walker_js_1.GlobStream(this.patterns, this.scurry.cwd, {
+          ...this.opts,
+          maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
+          platform: this.platform,
+          nocase: this.nocase,
+          includeChildMatches: this.includeChildMatches
+        }).streamSync();
       }
-      var someSeries$1 = awaitify(someSeries, 3);
-      function sortBy(coll, iteratee, callback) {
-        var _iteratee = wrapAsync(iteratee);
-        return map$1(coll, (x, iterCb) => {
-          _iteratee(x, (err, criteria) => {
-            if (err) return iterCb(err);
-            iterCb(err, { value: x, criteria });
-          });
-        }, (err, results) => {
-          if (err) return callback(err);
-          callback(null, results.sort(comparator).map((v) => v.value));
-        });
-        function comparator(left, right) {
-          var a = left.criteria, b = right.criteria;
-          return a < b ? -1 : a > b ? 1 : 0;
-        }
+      /**
+       * Default sync iteration function. Returns a Generator that
+       * iterates over the results.
+       */
+      iterateSync() {
+        return this.streamSync()[Symbol.iterator]();
       }
-      var sortBy$1 = awaitify(sortBy, 3);
-      function timeout(asyncFn, milliseconds, info7) {
-        var fn = wrapAsync(asyncFn);
-        return initialParams((args, callback) => {
-          var timedOut = false;
-          var timer;
-          function timeoutCallback() {
-            var name = asyncFn.name || "anonymous";
-            var error3 = new Error('Callback function "' + name + '" timed out.');
-            error3.code = "ETIMEDOUT";
-            if (info7) {
-              error3.info = info7;
-            }
-            timedOut = true;
-            callback(error3);
-          }
-          args.push((...cbArgs) => {
-            if (!timedOut) {
-              callback(...cbArgs);
-              clearTimeout(timer);
-            }
-          });
-          timer = setTimeout(timeoutCallback, milliseconds);
-          fn(...args);
-        });
+      [Symbol.iterator]() {
+        return this.iterateSync();
       }
-      function range(size) {
-        var result = Array(size);
-        while (size--) {
-          result[size] = size;
-        }
-        return result;
+      /**
+       * Default async iteration function. Returns an AsyncGenerator that
+       * iterates over the results.
+       */
+      iterate() {
+        return this.stream()[Symbol.asyncIterator]();
       }
-      function timesLimit(count, limit, iteratee, callback) {
-        var _iteratee = wrapAsync(iteratee);
-        return mapLimit$1(range(count), limit, _iteratee, callback);
+      [Symbol.asyncIterator]() {
+        return this.iterate();
       }
-      function times(n, iteratee, callback) {
-        return timesLimit(n, Infinity, iteratee, callback);
+    };
+    exports2.Glob = Glob;
+  }
+});
+
+// node_modules/glob/dist/commonjs/has-magic.js
+var require_has_magic = __commonJS({
+  "node_modules/glob/dist/commonjs/has-magic.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.hasMagic = void 0;
+    var minimatch_1 = require_commonjs20();
+    var hasMagic = (pattern, options = {}) => {
+      if (!Array.isArray(pattern)) {
+        pattern = [pattern];
       }
-      function timesSeries(n, iteratee, callback) {
-        return timesLimit(n, 1, iteratee, callback);
+      for (const p of pattern) {
+        if (new minimatch_1.Minimatch(p, options).hasMagic())
+          return true;
       }
-      function transform(coll, accumulator, iteratee, callback) {
-        if (arguments.length <= 3 && typeof accumulator === "function") {
-          callback = iteratee;
-          iteratee = accumulator;
-          accumulator = Array.isArray(coll) ? [] : {};
+      return false;
+    };
+    exports2.hasMagic = hasMagic;
+  }
+});
+
+// node_modules/glob/dist/commonjs/index.js
+var require_commonjs24 = __commonJS({
+  "node_modules/glob/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.glob = exports2.sync = exports2.iterate = exports2.iterateSync = exports2.stream = exports2.streamSync = exports2.Ignore = exports2.hasMagic = exports2.Glob = exports2.unescape = exports2.escape = void 0;
+    exports2.globStreamSync = globStreamSync;
+    exports2.globStream = globStream;
+    exports2.globSync = globSync;
+    exports2.globIterateSync = globIterateSync;
+    exports2.globIterate = globIterate;
+    var minimatch_1 = require_commonjs20();
+    var glob_js_1 = require_glob2();
+    var has_magic_js_1 = require_has_magic();
+    var minimatch_2 = require_commonjs20();
+    Object.defineProperty(exports2, "escape", { enumerable: true, get: function() {
+      return minimatch_2.escape;
+    } });
+    Object.defineProperty(exports2, "unescape", { enumerable: true, get: function() {
+      return minimatch_2.unescape;
+    } });
+    var glob_js_2 = require_glob2();
+    Object.defineProperty(exports2, "Glob", { enumerable: true, get: function() {
+      return glob_js_2.Glob;
+    } });
+    var has_magic_js_2 = require_has_magic();
+    Object.defineProperty(exports2, "hasMagic", { enumerable: true, get: function() {
+      return has_magic_js_2.hasMagic;
+    } });
+    var ignore_js_1 = require_ignore();
+    Object.defineProperty(exports2, "Ignore", { enumerable: true, get: function() {
+      return ignore_js_1.Ignore;
+    } });
+    function globStreamSync(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).streamSync();
+    }
+    function globStream(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).stream();
+    }
+    function globSync(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).walkSync();
+    }
+    async function glob_(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).walk();
+    }
+    function globIterateSync(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).iterateSync();
+    }
+    function globIterate(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).iterate();
+    }
+    exports2.streamSync = globStreamSync;
+    exports2.stream = Object.assign(globStream, { sync: globStreamSync });
+    exports2.iterateSync = globIterateSync;
+    exports2.iterate = Object.assign(globIterate, {
+      sync: globIterateSync
+    });
+    exports2.sync = Object.assign(globSync, {
+      stream: globStreamSync,
+      iterate: globIterateSync
+    });
+    exports2.glob = Object.assign(glob_, {
+      glob: glob_,
+      globSync,
+      sync: exports2.sync,
+      globStream,
+      stream: exports2.stream,
+      globStreamSync,
+      streamSync: exports2.streamSync,
+      globIterate,
+      iterate: exports2.iterate,
+      globIterateSync,
+      iterateSync: exports2.iterateSync,
+      Glob: glob_js_1.Glob,
+      hasMagic: has_magic_js_1.hasMagic,
+      escape: minimatch_1.escape,
+      unescape: minimatch_1.unescape
+    });
+    exports2.glob.glob = exports2.glob;
+  }
+});
+
+// node_modules/archiver-utils/file.js
+var require_file4 = __commonJS({
+  "node_modules/archiver-utils/file.js"(exports2, module2) {
+    var fs3 = require_graceful_fs();
+    var path4 = require("path");
+    var flatten = require_flatten();
+    var difference = require_difference();
+    var union = require_union();
+    var isPlainObject3 = require_isPlainObject();
+    var glob2 = require_commonjs24();
+    var file = module2.exports = {};
+    var pathSeparatorRe = /[\/\\]/g;
+    var processPatterns = function(patterns, fn) {
+      var result = [];
+      flatten(patterns).forEach(function(pattern) {
+        var exclusion = pattern.indexOf("!") === 0;
+        if (exclusion) {
+          pattern = pattern.slice(1);
         }
-        callback = once(callback || promiseCallback());
-        var _iteratee = wrapAsync(iteratee);
-        eachOf$1(coll, (v, k, cb) => {
-          _iteratee(accumulator, v, k, cb);
-        }, (err) => callback(err, accumulator));
-        return callback[PROMISE_SYMBOL];
+        var matches = fn(pattern);
+        if (exclusion) {
+          result = difference(result, matches);
+        } else {
+          result = union(result, matches);
+        }
+      });
+      return result;
+    };
+    file.exists = function() {
+      var filepath = path4.join.apply(path4, arguments);
+      return fs3.existsSync(filepath);
+    };
+    file.expand = function(...args) {
+      var options = isPlainObject3(args[0]) ? args.shift() : {};
+      var patterns = Array.isArray(args[0]) ? args[0] : args;
+      if (patterns.length === 0) {
+        return [];
       }
-      function tryEach(tasks, callback) {
-        var error3 = null;
-        var result;
-        return eachSeries$1(tasks, (task, taskCb) => {
-          wrapAsync(task)((err, ...args) => {
-            if (err === false) return taskCb(err);
-            if (args.length < 2) {
-              [result] = args;
+      var matches = processPatterns(patterns, function(pattern) {
+        return glob2.sync(pattern, options);
+      });
+      if (options.filter) {
+        matches = matches.filter(function(filepath) {
+          filepath = path4.join(options.cwd || "", filepath);
+          try {
+            if (typeof options.filter === "function") {
+              return options.filter(filepath);
             } else {
-              result = args;
+              return fs3.statSync(filepath)[options.filter]();
             }
-            error3 = err;
-            taskCb(err ? null : {});
-          });
-        }, () => callback(error3, result));
-      }
-      var tryEach$1 = awaitify(tryEach);
-      function unmemoize(fn) {
-        return (...args) => {
-          return (fn.unmemoized || fn)(...args);
-        };
+          } catch (e) {
+            return false;
+          }
+        });
       }
-      function whilst(test, iteratee, callback) {
-        callback = onlyOnce(callback);
-        var _fn = wrapAsync(iteratee);
-        var _test = wrapAsync(test);
-        var results = [];
-        function next(err, ...rest) {
-          if (err) return callback(err);
-          results = rest;
-          if (err === false) return;
-          _test(check);
+      return matches;
+    };
+    file.expandMapping = function(patterns, destBase, options) {
+      options = Object.assign({
+        rename: function(destBase2, destPath) {
+          return path4.join(destBase2 || "", destPath);
         }
-        function check(err, truth) {
-          if (err) return callback(err);
-          if (err === false) return;
-          if (!truth) return callback(null, ...results);
-          _fn(next);
+      }, options);
+      var files = [];
+      var fileByDest = {};
+      file.expand(options, patterns).forEach(function(src) {
+        var destPath = src;
+        if (options.flatten) {
+          destPath = path4.basename(destPath);
         }
-        return _test(check);
-      }
-      var whilst$1 = awaitify(whilst, 3);
-      function until(test, iteratee, callback) {
-        const _test = wrapAsync(test);
-        return whilst$1((cb) => _test((err, truth) => cb(err, !truth)), iteratee, callback);
-      }
-      function waterfall(tasks, callback) {
-        callback = once(callback);
-        if (!Array.isArray(tasks)) return callback(new Error("First argument to waterfall must be an array of functions"));
-        if (!tasks.length) return callback();
-        var taskIndex = 0;
-        function nextTask(args) {
-          var task = wrapAsync(tasks[taskIndex++]);
-          task(...args, onlyOnce(next));
+        if (options.ext) {
+          destPath = destPath.replace(/(\.[^\/]*)?$/, options.ext);
         }
-        function next(err, ...args) {
-          if (err === false) return;
-          if (err || taskIndex === tasks.length) {
-            return callback(err, ...args);
-          }
-          nextTask(args);
+        var dest = options.rename(destBase, destPath, options);
+        if (options.cwd) {
+          src = path4.join(options.cwd, src);
         }
-        nextTask([]);
+        dest = dest.replace(pathSeparatorRe, "/");
+        src = src.replace(pathSeparatorRe, "/");
+        if (fileByDest[dest]) {
+          fileByDest[dest].src.push(src);
+        } else {
+          files.push({
+            src: [src],
+            dest
+          });
+          fileByDest[dest] = files[files.length - 1];
+        }
+      });
+      return files;
+    };
+    file.normalizeFilesArray = function(data) {
+      var files = [];
+      data.forEach(function(obj) {
+        var prop;
+        if ("src" in obj || "dest" in obj) {
+          files.push(obj);
+        }
+      });
+      if (files.length === 0) {
+        return [];
       }
-      var waterfall$1 = awaitify(waterfall);
-      var index = {
-        apply,
-        applyEach,
-        applyEachSeries,
-        asyncify,
-        auto,
-        autoInject,
-        cargo: cargo$1,
-        cargoQueue: cargo,
-        compose,
-        concat: concat$1,
-        concatLimit: concatLimit$1,
-        concatSeries: concatSeries$1,
-        constant: constant$1,
-        detect: detect$1,
-        detectLimit: detectLimit$1,
-        detectSeries: detectSeries$1,
-        dir,
-        doUntil,
-        doWhilst: doWhilst$1,
-        each,
-        eachLimit: eachLimit$1,
-        eachOf: eachOf$1,
-        eachOfLimit: eachOfLimit$1,
-        eachOfSeries: eachOfSeries$1,
-        eachSeries: eachSeries$1,
-        ensureAsync,
-        every: every$1,
-        everyLimit: everyLimit$1,
-        everySeries: everySeries$1,
-        filter: filter$1,
-        filterLimit: filterLimit$1,
-        filterSeries: filterSeries$1,
-        forever: forever$1,
-        groupBy,
-        groupByLimit: groupByLimit$1,
-        groupBySeries,
-        log,
-        map: map$1,
-        mapLimit: mapLimit$1,
-        mapSeries: mapSeries$1,
-        mapValues,
-        mapValuesLimit: mapValuesLimit$1,
-        mapValuesSeries,
-        memoize,
-        nextTick,
-        parallel,
-        parallelLimit,
-        priorityQueue,
-        queue,
-        race: race$1,
-        reduce: reduce$1,
-        reduceRight,
-        reflect,
-        reflectAll,
-        reject: reject$1,
-        rejectLimit: rejectLimit$1,
-        rejectSeries: rejectSeries$1,
-        retry: retry2,
-        retryable,
-        seq: seq2,
-        series,
-        setImmediate: setImmediate$1,
-        some: some$1,
-        someLimit: someLimit$1,
-        someSeries: someSeries$1,
-        sortBy: sortBy$1,
-        timeout,
-        times,
-        timesLimit,
-        timesSeries,
-        transform,
-        tryEach: tryEach$1,
-        unmemoize,
-        until,
-        waterfall: waterfall$1,
-        whilst: whilst$1,
-        // aliases
-        all: every$1,
-        allLimit: everyLimit$1,
-        allSeries: everySeries$1,
-        any: some$1,
-        anyLimit: someLimit$1,
-        anySeries: someSeries$1,
-        find: detect$1,
-        findLimit: detectLimit$1,
-        findSeries: detectSeries$1,
-        flatMap: concat$1,
-        flatMapLimit: concatLimit$1,
-        flatMapSeries: concatSeries$1,
-        forEach: each,
-        forEachSeries: eachSeries$1,
-        forEachLimit: eachLimit$1,
-        forEachOf: eachOf$1,
-        forEachOfSeries: eachOfSeries$1,
-        forEachOfLimit: eachOfLimit$1,
-        inject: reduce$1,
-        foldl: reduce$1,
-        foldr: reduceRight,
-        select: filter$1,
-        selectLimit: filterLimit$1,
-        selectSeries: filterSeries$1,
-        wrapSync: asyncify,
-        during: whilst$1,
-        doDuring: doWhilst$1
-      };
-      exports3.all = every$1;
-      exports3.allLimit = everyLimit$1;
-      exports3.allSeries = everySeries$1;
-      exports3.any = some$1;
-      exports3.anyLimit = someLimit$1;
-      exports3.anySeries = someSeries$1;
-      exports3.apply = apply;
-      exports3.applyEach = applyEach;
-      exports3.applyEachSeries = applyEachSeries;
-      exports3.asyncify = asyncify;
-      exports3.auto = auto;
-      exports3.autoInject = autoInject;
-      exports3.cargo = cargo$1;
-      exports3.cargoQueue = cargo;
-      exports3.compose = compose;
-      exports3.concat = concat$1;
-      exports3.concatLimit = concatLimit$1;
-      exports3.concatSeries = concatSeries$1;
-      exports3.constant = constant$1;
-      exports3.default = index;
-      exports3.detect = detect$1;
-      exports3.detectLimit = detectLimit$1;
-      exports3.detectSeries = detectSeries$1;
-      exports3.dir = dir;
-      exports3.doDuring = doWhilst$1;
-      exports3.doUntil = doUntil;
-      exports3.doWhilst = doWhilst$1;
-      exports3.during = whilst$1;
-      exports3.each = each;
-      exports3.eachLimit = eachLimit$1;
-      exports3.eachOf = eachOf$1;
-      exports3.eachOfLimit = eachOfLimit$1;
-      exports3.eachOfSeries = eachOfSeries$1;
-      exports3.eachSeries = eachSeries$1;
-      exports3.ensureAsync = ensureAsync;
-      exports3.every = every$1;
-      exports3.everyLimit = everyLimit$1;
-      exports3.everySeries = everySeries$1;
-      exports3.filter = filter$1;
-      exports3.filterLimit = filterLimit$1;
-      exports3.filterSeries = filterSeries$1;
-      exports3.find = detect$1;
-      exports3.findLimit = detectLimit$1;
-      exports3.findSeries = detectSeries$1;
-      exports3.flatMap = concat$1;
-      exports3.flatMapLimit = concatLimit$1;
-      exports3.flatMapSeries = concatSeries$1;
-      exports3.foldl = reduce$1;
-      exports3.foldr = reduceRight;
-      exports3.forEach = each;
-      exports3.forEachLimit = eachLimit$1;
-      exports3.forEachOf = eachOf$1;
-      exports3.forEachOfLimit = eachOfLimit$1;
-      exports3.forEachOfSeries = eachOfSeries$1;
-      exports3.forEachSeries = eachSeries$1;
-      exports3.forever = forever$1;
-      exports3.groupBy = groupBy;
-      exports3.groupByLimit = groupByLimit$1;
-      exports3.groupBySeries = groupBySeries;
-      exports3.inject = reduce$1;
-      exports3.log = log;
-      exports3.map = map$1;
-      exports3.mapLimit = mapLimit$1;
-      exports3.mapSeries = mapSeries$1;
-      exports3.mapValues = mapValues;
-      exports3.mapValuesLimit = mapValuesLimit$1;
-      exports3.mapValuesSeries = mapValuesSeries;
-      exports3.memoize = memoize;
-      exports3.nextTick = nextTick;
-      exports3.parallel = parallel;
-      exports3.parallelLimit = parallelLimit;
-      exports3.priorityQueue = priorityQueue;
-      exports3.queue = queue;
-      exports3.race = race$1;
-      exports3.reduce = reduce$1;
-      exports3.reduceRight = reduceRight;
-      exports3.reflect = reflect;
-      exports3.reflectAll = reflectAll;
-      exports3.reject = reject$1;
-      exports3.rejectLimit = rejectLimit$1;
-      exports3.rejectSeries = rejectSeries$1;
-      exports3.retry = retry2;
-      exports3.retryable = retryable;
-      exports3.select = filter$1;
-      exports3.selectLimit = filterLimit$1;
-      exports3.selectSeries = filterSeries$1;
-      exports3.seq = seq2;
-      exports3.series = series;
-      exports3.setImmediate = setImmediate$1;
-      exports3.some = some$1;
-      exports3.someLimit = someLimit$1;
-      exports3.someSeries = someSeries$1;
-      exports3.sortBy = sortBy$1;
-      exports3.timeout = timeout;
-      exports3.times = times;
-      exports3.timesLimit = timesLimit;
-      exports3.timesSeries = timesSeries;
-      exports3.transform = transform;
-      exports3.tryEach = tryEach$1;
-      exports3.unmemoize = unmemoize;
-      exports3.until = until;
-      exports3.waterfall = waterfall$1;
-      exports3.whilst = whilst$1;
-      exports3.wrapSync = asyncify;
-      Object.defineProperty(exports3, "__esModule", { value: true });
-    }));
+      files = _(files).chain().forEach(function(obj) {
+        if (!("src" in obj) || !obj.src) {
+          return;
+        }
+        if (Array.isArray(obj.src)) {
+          obj.src = flatten(obj.src);
+        } else {
+          obj.src = [obj.src];
+        }
+      }).map(function(obj) {
+        var expandOptions = Object.assign({}, obj);
+        delete expandOptions.src;
+        delete expandOptions.dest;
+        if (obj.expand) {
+          return file.expandMapping(obj.src, obj.dest, expandOptions).map(function(mapObj) {
+            var result2 = Object.assign({}, obj);
+            result2.orig = Object.assign({}, obj);
+            result2.src = mapObj.src;
+            result2.dest = mapObj.dest;
+            ["expand", "cwd", "flatten", "rename", "ext"].forEach(function(prop) {
+              delete result2[prop];
+            });
+            return result2;
+          });
+        }
+        var result = Object.assign({}, obj);
+        result.orig = Object.assign({}, obj);
+        if ("src" in result) {
+          Object.defineProperty(result, "src", {
+            enumerable: true,
+            get: function fn() {
+              var src;
+              if (!("result" in fn)) {
+                src = obj.src;
+                src = Array.isArray(src) ? flatten(src) : [src];
+                fn.result = file.expand(expandOptions, src);
+              }
+              return fn.result;
+            }
+          });
+        }
+        if ("dest" in result) {
+          result.dest = obj.dest;
+        }
+        return result;
+      }).flatten().value();
+      return files;
+    };
   }
 });
 
-// node_modules/graceful-fs/polyfills.js
-var require_polyfills = __commonJS({
-  "node_modules/graceful-fs/polyfills.js"(exports2, module2) {
-    var constants = require("constants");
-    var origCwd = process.cwd;
-    var cwd = null;
-    var platform = process.env.GRACEFUL_FS_PLATFORM || process.platform;
-    process.cwd = function() {
-      if (!cwd)
-        cwd = origCwd.call(process);
-      return cwd;
+// node_modules/archiver-utils/index.js
+var require_archiver_utils = __commonJS({
+  "node_modules/archiver-utils/index.js"(exports2, module2) {
+    var fs3 = require_graceful_fs();
+    var path4 = require("path");
+    var isStream = require_is_stream();
+    var lazystream = require_lazystream();
+    var normalizePath = require_normalize_path();
+    var defaults = require_defaults();
+    var Stream = require("stream").Stream;
+    var PassThrough = require_ours().PassThrough;
+    var utils = module2.exports = {};
+    utils.file = require_file4();
+    utils.collectStream = function(source, callback) {
+      var collection = [];
+      var size = 0;
+      source.on("error", callback);
+      source.on("data", function(chunk) {
+        collection.push(chunk);
+        size += chunk.length;
+      });
+      source.on("end", function() {
+        var buf = Buffer.alloc(size);
+        var offset = 0;
+        collection.forEach(function(data) {
+          data.copy(buf, offset);
+          offset += data.length;
+        });
+        callback(null, buf);
+      });
     };
-    try {
-      process.cwd();
-    } catch (er) {
-    }
-    if (typeof process.chdir === "function") {
-      chdir = process.chdir;
-      process.chdir = function(d) {
-        cwd = null;
-        chdir.call(process, d);
-      };
-      if (Object.setPrototypeOf) Object.setPrototypeOf(process.chdir, chdir);
-    }
-    var chdir;
-    module2.exports = patch;
-    function patch(fs3) {
-      if (constants.hasOwnProperty("O_SYMLINK") && process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) {
-        patchLchmod(fs3);
-      }
-      if (!fs3.lutimes) {
-        patchLutimes(fs3);
-      }
-      fs3.chown = chownFix(fs3.chown);
-      fs3.fchown = chownFix(fs3.fchown);
-      fs3.lchown = chownFix(fs3.lchown);
-      fs3.chmod = chmodFix(fs3.chmod);
-      fs3.fchmod = chmodFix(fs3.fchmod);
-      fs3.lchmod = chmodFix(fs3.lchmod);
-      fs3.chownSync = chownFixSync(fs3.chownSync);
-      fs3.fchownSync = chownFixSync(fs3.fchownSync);
-      fs3.lchownSync = chownFixSync(fs3.lchownSync);
-      fs3.chmodSync = chmodFixSync(fs3.chmodSync);
-      fs3.fchmodSync = chmodFixSync(fs3.fchmodSync);
-      fs3.lchmodSync = chmodFixSync(fs3.lchmodSync);
-      fs3.stat = statFix(fs3.stat);
-      fs3.fstat = statFix(fs3.fstat);
-      fs3.lstat = statFix(fs3.lstat);
-      fs3.statSync = statFixSync(fs3.statSync);
-      fs3.fstatSync = statFixSync(fs3.fstatSync);
-      fs3.lstatSync = statFixSync(fs3.lstatSync);
-      if (fs3.chmod && !fs3.lchmod) {
-        fs3.lchmod = function(path4, mode, cb) {
-          if (cb) process.nextTick(cb);
-        };
-        fs3.lchmodSync = function() {
-        };
-      }
-      if (fs3.chown && !fs3.lchown) {
-        fs3.lchown = function(path4, uid, gid, cb) {
-          if (cb) process.nextTick(cb);
-        };
-        fs3.lchownSync = function() {
-        };
+    utils.dateify = function(dateish) {
+      dateish = dateish || /* @__PURE__ */ new Date();
+      if (dateish instanceof Date) {
+        dateish = dateish;
+      } else if (typeof dateish === "string") {
+        dateish = new Date(dateish);
+      } else {
+        dateish = /* @__PURE__ */ new Date();
       }
-      if (platform === "win32") {
-        fs3.rename = typeof fs3.rename !== "function" ? fs3.rename : (function(fs$rename) {
-          function rename(from, to, cb) {
-            var start = Date.now();
-            var backoff = 0;
-            fs$rename(from, to, function CB(er) {
-              if (er && (er.code === "EACCES" || er.code === "EPERM") && Date.now() - start < 6e4) {
-                setTimeout(function() {
-                  fs3.stat(to, function(stater, st) {
-                    if (stater && stater.code === "ENOENT")
-                      fs$rename(from, to, CB);
-                    else
-                      cb(er);
-                  });
-                }, backoff);
-                if (backoff < 100)
-                  backoff += 10;
-                return;
-              }
-              if (cb) cb(er);
-            });
-          }
-          if (Object.setPrototypeOf) Object.setPrototypeOf(rename, fs$rename);
-          return rename;
-        })(fs3.rename);
+      return dateish;
+    };
+    utils.defaults = function(object, source, guard) {
+      var args = arguments;
+      args[0] = args[0] || {};
+      return defaults(...args);
+    };
+    utils.isStream = function(source) {
+      return isStream(source);
+    };
+    utils.lazyReadStream = function(filepath) {
+      return new lazystream.Readable(function() {
+        return fs3.createReadStream(filepath);
+      });
+    };
+    utils.normalizeInputSource = function(source) {
+      if (source === null) {
+        return Buffer.alloc(0);
+      } else if (typeof source === "string") {
+        return Buffer.from(source);
+      } else if (utils.isStream(source)) {
+        return source.pipe(new PassThrough());
       }
-      fs3.read = typeof fs3.read !== "function" ? fs3.read : (function(fs$read) {
-        function read(fd, buffer, offset, length, position, callback_) {
-          var callback;
-          if (callback_ && typeof callback_ === "function") {
-            var eagCounter = 0;
-            callback = function(er, _2, __) {
-              if (er && er.code === "EAGAIN" && eagCounter < 10) {
-                eagCounter++;
-                return fs$read.call(fs3, fd, buffer, offset, length, position, callback);
-              }
-              callback_.apply(this, arguments);
-            };
-          }
-          return fs$read.call(fs3, fd, buffer, offset, length, position, callback);
+      return source;
+    };
+    utils.sanitizePath = function(filepath) {
+      return normalizePath(filepath, false).replace(/^\w+:/, "").replace(/^(\.\.\/|\/)+/, "");
+    };
+    utils.trailingSlashIt = function(str2) {
+      return str2.slice(-1) !== "/" ? str2 + "/" : str2;
+    };
+    utils.unixifyPath = function(filepath) {
+      return normalizePath(filepath, false).replace(/^\w+:/, "");
+    };
+    utils.walkdir = function(dirpath, base, callback) {
+      var results = [];
+      if (typeof base === "function") {
+        callback = base;
+        base = dirpath;
+      }
+      fs3.readdir(dirpath, function(err, list) {
+        var i = 0;
+        var file;
+        var filepath;
+        if (err) {
+          return callback(err);
         }
-        if (Object.setPrototypeOf) Object.setPrototypeOf(read, fs$read);
-        return read;
-      })(fs3.read);
-      fs3.readSync = typeof fs3.readSync !== "function" ? fs3.readSync : /* @__PURE__ */ (function(fs$readSync) {
-        return function(fd, buffer, offset, length, position) {
-          var eagCounter = 0;
-          while (true) {
-            try {
-              return fs$readSync.call(fs3, fd, buffer, offset, length, position);
-            } catch (er) {
-              if (er.code === "EAGAIN" && eagCounter < 10) {
-                eagCounter++;
-                continue;
-              }
-              throw er;
-            }
+        (function next() {
+          file = list[i++];
+          if (!file) {
+            return callback(null, results);
           }
-        };
-      })(fs3.readSync);
-      function patchLchmod(fs4) {
-        fs4.lchmod = function(path4, mode, callback) {
-          fs4.open(
-            path4,
-            constants.O_WRONLY | constants.O_SYMLINK,
-            mode,
-            function(err, fd) {
-              if (err) {
-                if (callback) callback(err);
-                return;
-              }
-              fs4.fchmod(fd, mode, function(err2) {
-                fs4.close(fd, function(err22) {
-                  if (callback) callback(err2 || err22);
+          filepath = path4.join(dirpath, file);
+          fs3.stat(filepath, function(err2, stats) {
+            results.push({
+              path: filepath,
+              relative: path4.relative(base, filepath).replace(/\\/g, "/"),
+              stats
+            });
+            if (stats && stats.isDirectory()) {
+              utils.walkdir(filepath, base, function(err3, res) {
+                if (err3) {
+                  return callback(err3);
+                }
+                res.forEach(function(dirEntry) {
+                  results.push(dirEntry);
                 });
+                next();
               });
-            }
-          );
-        };
-        fs4.lchmodSync = function(path4, mode) {
-          var fd = fs4.openSync(path4, constants.O_WRONLY | constants.O_SYMLINK, mode);
-          var threw = true;
-          var ret;
-          try {
-            ret = fs4.fchmodSync(fd, mode);
-            threw = false;
-          } finally {
-            if (threw) {
-              try {
-                fs4.closeSync(fd);
-              } catch (er) {
-              }
             } else {
-              fs4.closeSync(fd);
-            }
-          }
-          return ret;
-        };
-      }
-      function patchLutimes(fs4) {
-        if (constants.hasOwnProperty("O_SYMLINK") && fs4.futimes) {
-          fs4.lutimes = function(path4, at, mt, cb) {
-            fs4.open(path4, constants.O_SYMLINK, function(er, fd) {
-              if (er) {
-                if (cb) cb(er);
-                return;
-              }
-              fs4.futimes(fd, at, mt, function(er2) {
-                fs4.close(fd, function(er22) {
-                  if (cb) cb(er2 || er22);
-                });
-              });
-            });
-          };
-          fs4.lutimesSync = function(path4, at, mt) {
-            var fd = fs4.openSync(path4, constants.O_SYMLINK);
-            var ret;
-            var threw = true;
-            try {
-              ret = fs4.futimesSync(fd, at, mt);
-              threw = false;
-            } finally {
-              if (threw) {
-                try {
-                  fs4.closeSync(fd);
-                } catch (er) {
-                }
-              } else {
-                fs4.closeSync(fd);
-              }
+              next();
             }
-            return ret;
-          };
-        } else if (fs4.futimes) {
-          fs4.lutimes = function(_a, _b, _c, cb) {
-            if (cb) process.nextTick(cb);
-          };
-          fs4.lutimesSync = function() {
-          };
-        }
-      }
-      function chmodFix(orig) {
-        if (!orig) return orig;
-        return function(target, mode, cb) {
-          return orig.call(fs3, target, mode, function(er) {
-            if (chownErOk(er)) er = null;
-            if (cb) cb.apply(this, arguments);
           });
-        };
+        })();
+      });
+    };
+  }
+});
+
+// node_modules/archiver/lib/error.js
+var require_error3 = __commonJS({
+  "node_modules/archiver/lib/error.js"(exports2, module2) {
+    var util = require("util");
+    var ERROR_CODES = {
+      "ABORTED": "archive was aborted",
+      "DIRECTORYDIRPATHREQUIRED": "diretory dirpath argument must be a non-empty string value",
+      "DIRECTORYFUNCTIONINVALIDDATA": "invalid data returned by directory custom data function",
+      "ENTRYNAMEREQUIRED": "entry name must be a non-empty string value",
+      "FILEFILEPATHREQUIRED": "file filepath argument must be a non-empty string value",
+      "FINALIZING": "archive already finalizing",
+      "QUEUECLOSED": "queue closed",
+      "NOENDMETHOD": "no suitable finalize/end method defined by module",
+      "DIRECTORYNOTSUPPORTED": "support for directory entries not defined by module",
+      "FORMATSET": "archive format already set",
+      "INPUTSTEAMBUFFERREQUIRED": "input source must be valid Stream or Buffer instance",
+      "MODULESET": "module already set",
+      "SYMLINKNOTSUPPORTED": "support for symlink entries not defined by module",
+      "SYMLINKFILEPATHREQUIRED": "symlink filepath argument must be a non-empty string value",
+      "SYMLINKTARGETREQUIRED": "symlink target argument must be a non-empty string value",
+      "ENTRYNOTSUPPORTED": "entry not supported"
+    };
+    function ArchiverError(code, data) {
+      Error.captureStackTrace(this, this.constructor);
+      this.message = ERROR_CODES[code] || code;
+      this.code = code;
+      this.data = data;
+    }
+    util.inherits(ArchiverError, Error);
+    exports2 = module2.exports = ArchiverError;
+  }
+});
+
+// node_modules/archiver/lib/core.js
+var require_core2 = __commonJS({
+  "node_modules/archiver/lib/core.js"(exports2, module2) {
+    var fs3 = require("fs");
+    var glob2 = require_readdir_glob();
+    var async = require_async();
+    var path4 = require("path");
+    var util = require_archiver_utils();
+    var inherits = require("util").inherits;
+    var ArchiverError = require_error3();
+    var Transform = require_ours().Transform;
+    var win32 = process.platform === "win32";
+    var Archiver = function(format, options) {
+      if (!(this instanceof Archiver)) {
+        return new Archiver(format, options);
       }
-      function chmodFixSync(orig) {
-        if (!orig) return orig;
-        return function(target, mode) {
-          try {
-            return orig.call(fs3, target, mode);
-          } catch (er) {
-            if (!chownErOk(er)) throw er;
-          }
-        };
+      if (typeof format !== "string") {
+        options = format;
+        format = "zip";
       }
-      function chownFix(orig) {
-        if (!orig) return orig;
-        return function(target, uid, gid, cb) {
-          return orig.call(fs3, target, uid, gid, function(er) {
-            if (chownErOk(er)) er = null;
-            if (cb) cb.apply(this, arguments);
-          });
-        };
+      options = this.options = util.defaults(options, {
+        highWaterMark: 1024 * 1024,
+        statConcurrency: 4
+      });
+      Transform.call(this, options);
+      this._format = false;
+      this._module = false;
+      this._pending = 0;
+      this._pointer = 0;
+      this._entriesCount = 0;
+      this._entriesProcessedCount = 0;
+      this._fsEntriesTotalBytes = 0;
+      this._fsEntriesProcessedBytes = 0;
+      this._queue = async.queue(this._onQueueTask.bind(this), 1);
+      this._queue.drain(this._onQueueDrain.bind(this));
+      this._statQueue = async.queue(this._onStatQueueTask.bind(this), options.statConcurrency);
+      this._statQueue.drain(this._onQueueDrain.bind(this));
+      this._state = {
+        aborted: false,
+        finalize: false,
+        finalizing: false,
+        finalized: false,
+        modulePiped: false
+      };
+      this._streams = [];
+    };
+    inherits(Archiver, Transform);
+    Archiver.prototype._abort = function() {
+      this._state.aborted = true;
+      this._queue.kill();
+      this._statQueue.kill();
+      if (this._queue.idle()) {
+        this._shutdown();
       }
-      function chownFixSync(orig) {
-        if (!orig) return orig;
-        return function(target, uid, gid) {
-          try {
-            return orig.call(fs3, target, uid, gid);
-          } catch (er) {
-            if (!chownErOk(er)) throw er;
-          }
-        };
+    };
+    Archiver.prototype._append = function(filepath, data) {
+      data = data || {};
+      var task = {
+        source: null,
+        filepath
+      };
+      if (!data.name) {
+        data.name = filepath;
       }
-      function statFix(orig) {
-        if (!orig) return orig;
-        return function(target, options, cb) {
-          if (typeof options === "function") {
-            cb = options;
-            options = null;
-          }
-          function callback(er, stats) {
-            if (stats) {
-              if (stats.uid < 0) stats.uid += 4294967296;
-              if (stats.gid < 0) stats.gid += 4294967296;
-            }
-            if (cb) cb.apply(this, arguments);
+      data.sourcePath = filepath;
+      task.data = data;
+      this._entriesCount++;
+      if (data.stats && data.stats instanceof fs3.Stats) {
+        task = this._updateQueueTaskWithStats(task, data.stats);
+        if (task) {
+          if (data.stats.size) {
+            this._fsEntriesTotalBytes += data.stats.size;
           }
-          return options ? orig.call(fs3, target, options, callback) : orig.call(fs3, target, callback);
-        };
+          this._queue.push(task);
+        }
+      } else {
+        this._statQueue.push(task);
       }
-      function statFixSync(orig) {
-        if (!orig) return orig;
-        return function(target, options) {
-          var stats = options ? orig.call(fs3, target, options) : orig.call(fs3, target);
-          if (stats) {
-            if (stats.uid < 0) stats.uid += 4294967296;
-            if (stats.gid < 0) stats.gid += 4294967296;
-          }
-          return stats;
-        };
+    };
+    Archiver.prototype._finalize = function() {
+      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+        return;
       }
-      function chownErOk(er) {
-        if (!er)
-          return true;
-        if (er.code === "ENOSYS")
-          return true;
-        var nonroot = !process.getuid || process.getuid() !== 0;
-        if (nonroot) {
-          if (er.code === "EINVAL" || er.code === "EPERM")
-            return true;
-        }
+      this._state.finalizing = true;
+      this._moduleFinalize();
+      this._state.finalizing = false;
+      this._state.finalized = true;
+    };
+    Archiver.prototype._maybeFinalize = function() {
+      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
         return false;
       }
-    }
-  }
-});
-
-// node_modules/graceful-fs/legacy-streams.js
-var require_legacy_streams = __commonJS({
-  "node_modules/graceful-fs/legacy-streams.js"(exports2, module2) {
-    var Stream = require("stream").Stream;
-    module2.exports = legacy;
-    function legacy(fs3) {
-      return {
-        ReadStream,
-        WriteStream
-      };
-      function ReadStream(path4, options) {
-        if (!(this instanceof ReadStream)) return new ReadStream(path4, options);
-        Stream.call(this);
-        var self2 = this;
-        this.path = path4;
-        this.fd = null;
-        this.readable = true;
-        this.paused = false;
-        this.flags = "r";
-        this.mode = 438;
-        this.bufferSize = 64 * 1024;
-        options = options || {};
-        var keys = Object.keys(options);
-        for (var index = 0, length = keys.length; index < length; index++) {
-          var key = keys[index];
-          this[key] = options[key];
-        }
-        if (this.encoding) this.setEncoding(this.encoding);
-        if (this.start !== void 0) {
-          if ("number" !== typeof this.start) {
-            throw TypeError("start must be a Number");
-          }
-          if (this.end === void 0) {
-            this.end = Infinity;
-          } else if ("number" !== typeof this.end) {
-            throw TypeError("end must be a Number");
-          }
-          if (this.start > this.end) {
-            throw new Error("start must be <= end");
-          }
-          this.pos = this.start;
+      if (this._state.finalize && this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
+        this._finalize();
+        return true;
+      }
+      return false;
+    };
+    Archiver.prototype._moduleAppend = function(source, data, callback) {
+      if (this._state.aborted) {
+        callback();
+        return;
+      }
+      this._module.append(source, data, function(err) {
+        this._task = null;
+        if (this._state.aborted) {
+          this._shutdown();
+          return;
         }
-        if (this.fd !== null) {
-          process.nextTick(function() {
-            self2._read();
-          });
+        if (err) {
+          this.emit("error", err);
+          setImmediate(callback);
           return;
         }
-        fs3.open(this.path, this.flags, this.mode, function(err, fd) {
-          if (err) {
-            self2.emit("error", err);
-            self2.readable = false;
-            return;
+        this.emit("entry", data);
+        this._entriesProcessedCount++;
+        if (data.stats && data.stats.size) {
+          this._fsEntriesProcessedBytes += data.stats.size;
+        }
+        this.emit("progress", {
+          entries: {
+            total: this._entriesCount,
+            processed: this._entriesProcessedCount
+          },
+          fs: {
+            totalBytes: this._fsEntriesTotalBytes,
+            processedBytes: this._fsEntriesProcessedBytes
           }
-          self2.fd = fd;
-          self2.emit("open", fd);
-          self2._read();
         });
+        setImmediate(callback);
+      }.bind(this));
+    };
+    Archiver.prototype._moduleFinalize = function() {
+      if (typeof this._module.finalize === "function") {
+        this._module.finalize();
+      } else if (typeof this._module.end === "function") {
+        this._module.end();
+      } else {
+        this.emit("error", new ArchiverError("NOENDMETHOD"));
       }
-      function WriteStream(path4, options) {
-        if (!(this instanceof WriteStream)) return new WriteStream(path4, options);
-        Stream.call(this);
-        this.path = path4;
-        this.fd = null;
-        this.writable = true;
-        this.flags = "w";
-        this.encoding = "binary";
-        this.mode = 438;
-        this.bytesWritten = 0;
-        options = options || {};
-        var keys = Object.keys(options);
-        for (var index = 0, length = keys.length; index < length; index++) {
-          var key = keys[index];
-          this[key] = options[key];
-        }
-        if (this.start !== void 0) {
-          if ("number" !== typeof this.start) {
-            throw TypeError("start must be a Number");
-          }
-          if (this.start < 0) {
-            throw new Error("start must be >= zero");
-          }
-          this.pos = this.start;
+    };
+    Archiver.prototype._modulePipe = function() {
+      this._module.on("error", this._onModuleError.bind(this));
+      this._module.pipe(this);
+      this._state.modulePiped = true;
+    };
+    Archiver.prototype._moduleSupports = function(key) {
+      if (!this._module.supports || !this._module.supports[key]) {
+        return false;
+      }
+      return this._module.supports[key];
+    };
+    Archiver.prototype._moduleUnpipe = function() {
+      this._module.unpipe(this);
+      this._state.modulePiped = false;
+    };
+    Archiver.prototype._normalizeEntryData = function(data, stats) {
+      data = util.defaults(data, {
+        type: "file",
+        name: null,
+        date: null,
+        mode: null,
+        prefix: null,
+        sourcePath: null,
+        stats: false
+      });
+      if (stats && data.stats === false) {
+        data.stats = stats;
+      }
+      var isDir = data.type === "directory";
+      if (data.name) {
+        if (typeof data.prefix === "string" && "" !== data.prefix) {
+          data.name = data.prefix + "/" + data.name;
+          data.prefix = null;
         }
-        this.busy = false;
-        this._queue = [];
-        if (this.fd === null) {
-          this._open = fs3.open;
-          this._queue.push([this._open, this.path, this.flags, this.mode, void 0]);
-          this.flush();
+        data.name = util.sanitizePath(data.name);
+        if (data.type !== "symlink" && data.name.slice(-1) === "/") {
+          isDir = true;
+          data.type = "directory";
+        } else if (isDir) {
+          data.name += "/";
         }
       }
-    }
-  }
-});
-
-// node_modules/graceful-fs/clone.js
-var require_clone = __commonJS({
-  "node_modules/graceful-fs/clone.js"(exports2, module2) {
-    "use strict";
-    module2.exports = clone;
-    var getPrototypeOf = Object.getPrototypeOf || function(obj) {
-      return obj.__proto__;
-    };
-    function clone(obj) {
-      if (obj === null || typeof obj !== "object")
-        return obj;
-      if (obj instanceof Object)
-        var copy = { __proto__: getPrototypeOf(obj) };
-      else
-        var copy = /* @__PURE__ */ Object.create(null);
-      Object.getOwnPropertyNames(obj).forEach(function(key) {
-        Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key));
-      });
-      return copy;
-    }
-  }
-});
-
-// node_modules/graceful-fs/graceful-fs.js
-var require_graceful_fs = __commonJS({
-  "node_modules/graceful-fs/graceful-fs.js"(exports2, module2) {
-    var fs3 = require("fs");
-    var polyfills = require_polyfills();
-    var legacy = require_legacy_streams();
-    var clone = require_clone();
-    var util = require("util");
-    var gracefulQueue;
-    var previousSymbol;
-    if (typeof Symbol === "function" && typeof Symbol.for === "function") {
-      gracefulQueue = /* @__PURE__ */ Symbol.for("graceful-fs.queue");
-      previousSymbol = /* @__PURE__ */ Symbol.for("graceful-fs.previous");
-    } else {
-      gracefulQueue = "___graceful-fs.queue";
-      previousSymbol = "___graceful-fs.previous";
-    }
-    function noop3() {
-    }
-    function publishQueue(context2, queue2) {
-      Object.defineProperty(context2, gracefulQueue, {
-        get: function() {
-          return queue2;
+      if (typeof data.mode === "number") {
+        if (win32) {
+          data.mode &= 511;
+        } else {
+          data.mode &= 4095;
         }
-      });
-    }
-    var debug4 = noop3;
-    if (util.debuglog)
-      debug4 = util.debuglog("gfs4");
-    else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || ""))
-      debug4 = function() {
-        var m = util.format.apply(util, arguments);
-        m = "GFS4: " + m.split(/\n/).join("\nGFS4: ");
-        console.error(m);
-      };
-    if (!fs3[gracefulQueue]) {
-      queue = global[gracefulQueue] || [];
-      publishQueue(fs3, queue);
-      fs3.close = (function(fs$close) {
-        function close(fd, cb) {
-          return fs$close.call(fs3, fd, function(err) {
-            if (!err) {
-              resetQueue();
-            }
-            if (typeof cb === "function")
-              cb.apply(this, arguments);
-          });
+      } else if (data.stats && data.mode === null) {
+        if (win32) {
+          data.mode = data.stats.mode & 511;
+        } else {
+          data.mode = data.stats.mode & 4095;
         }
-        Object.defineProperty(close, previousSymbol, {
-          value: fs$close
-        });
-        return close;
-      })(fs3.close);
-      fs3.closeSync = (function(fs$closeSync) {
-        function closeSync(fd) {
-          fs$closeSync.apply(fs3, arguments);
-          resetQueue();
+        if (win32 && isDir) {
+          data.mode = 493;
         }
-        Object.defineProperty(closeSync, previousSymbol, {
-          value: fs$closeSync
-        });
-        return closeSync;
-      })(fs3.closeSync);
-      if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || "")) {
-        process.on("exit", function() {
-          debug4(fs3[gracefulQueue]);
-          require("assert").equal(fs3[gracefulQueue].length, 0);
-        });
+      } else if (data.mode === null) {
+        data.mode = isDir ? 493 : 420;
       }
-    }
-    var queue;
-    if (!global[gracefulQueue]) {
-      publishQueue(global, fs3[gracefulQueue]);
-    }
-    module2.exports = patch(clone(fs3));
-    if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs3.__patched) {
-      module2.exports = patch(fs3);
-      fs3.__patched = true;
-    }
-    function patch(fs4) {
-      polyfills(fs4);
-      fs4.gracefulify = patch;
-      fs4.createReadStream = createReadStream;
-      fs4.createWriteStream = createWriteStream2;
-      var fs$readFile = fs4.readFile;
-      fs4.readFile = readFile;
-      function readFile(path4, options, cb) {
-        if (typeof options === "function")
-          cb = options, options = null;
-        return go$readFile(path4, options, cb);
-        function go$readFile(path5, options2, cb2, startTime) {
-          return fs$readFile(path5, options2, function(err) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([go$readFile, [path5, options2, cb2], err, startTime || Date.now(), Date.now()]);
-            else {
-              if (typeof cb2 === "function")
-                cb2.apply(this, arguments);
-            }
-          });
-        }
+      if (data.stats && data.date === null) {
+        data.date = data.stats.mtime;
+      } else {
+        data.date = util.dateify(data.date);
       }
-      var fs$writeFile = fs4.writeFile;
-      fs4.writeFile = writeFile;
-      function writeFile(path4, data, options, cb) {
-        if (typeof options === "function")
-          cb = options, options = null;
-        return go$writeFile(path4, data, options, cb);
-        function go$writeFile(path5, data2, options2, cb2, startTime) {
-          return fs$writeFile(path5, data2, options2, function(err) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([go$writeFile, [path5, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
-            else {
-              if (typeof cb2 === "function")
-                cb2.apply(this, arguments);
-            }
-          });
-        }
+      return data;
+    };
+    Archiver.prototype._onModuleError = function(err) {
+      this.emit("error", err);
+    };
+    Archiver.prototype._onQueueDrain = function() {
+      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+        return;
       }
-      var fs$appendFile = fs4.appendFile;
-      if (fs$appendFile)
-        fs4.appendFile = appendFile;
-      function appendFile(path4, data, options, cb) {
-        if (typeof options === "function")
-          cb = options, options = null;
-        return go$appendFile(path4, data, options, cb);
-        function go$appendFile(path5, data2, options2, cb2, startTime) {
-          return fs$appendFile(path5, data2, options2, function(err) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([go$appendFile, [path5, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
-            else {
-              if (typeof cb2 === "function")
-                cb2.apply(this, arguments);
-            }
-          });
+      if (this._state.finalize && this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
+        this._finalize();
+      }
+    };
+    Archiver.prototype._onQueueTask = function(task, callback) {
+      var fullCallback = () => {
+        if (task.data.callback) {
+          task.data.callback();
         }
+        callback();
+      };
+      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+        fullCallback();
+        return;
       }
-      var fs$copyFile = fs4.copyFile;
-      if (fs$copyFile)
-        fs4.copyFile = copyFile;
-      function copyFile(src, dest, flags, cb) {
-        if (typeof flags === "function") {
-          cb = flags;
-          flags = 0;
+      this._task = task;
+      this._moduleAppend(task.source, task.data, fullCallback);
+    };
+    Archiver.prototype._onStatQueueTask = function(task, callback) {
+      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+        callback();
+        return;
+      }
+      fs3.lstat(task.filepath, function(err, stats) {
+        if (this._state.aborted) {
+          setImmediate(callback);
+          return;
         }
-        return go$copyFile(src, dest, flags, cb);
-        function go$copyFile(src2, dest2, flags2, cb2, startTime) {
-          return fs$copyFile(src2, dest2, flags2, function(err) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([go$copyFile, [src2, dest2, flags2, cb2], err, startTime || Date.now(), Date.now()]);
-            else {
-              if (typeof cb2 === "function")
-                cb2.apply(this, arguments);
-            }
-          });
+        if (err) {
+          this._entriesCount--;
+          this.emit("warning", err);
+          setImmediate(callback);
+          return;
+        }
+        task = this._updateQueueTaskWithStats(task, stats);
+        if (task) {
+          if (stats.size) {
+            this._fsEntriesTotalBytes += stats.size;
+          }
+          this._queue.push(task);
         }
+        setImmediate(callback);
+      }.bind(this));
+    };
+    Archiver.prototype._shutdown = function() {
+      this._moduleUnpipe();
+      this.end();
+    };
+    Archiver.prototype._transform = function(chunk, encoding, callback) {
+      if (chunk) {
+        this._pointer += chunk.length;
       }
-      var fs$readdir = fs4.readdir;
-      fs4.readdir = readdir;
-      var noReaddirOptionVersions = /^v[0-5]\./;
-      function readdir(path4, options, cb) {
-        if (typeof options === "function")
-          cb = options, options = null;
-        var go$readdir = noReaddirOptionVersions.test(process.version) ? function go$readdir2(path5, options2, cb2, startTime) {
-          return fs$readdir(path5, fs$readdirCallback(
-            path5,
-            options2,
-            cb2,
-            startTime
-          ));
-        } : function go$readdir2(path5, options2, cb2, startTime) {
-          return fs$readdir(path5, options2, fs$readdirCallback(
-            path5,
-            options2,
-            cb2,
-            startTime
-          ));
-        };
-        return go$readdir(path4, options, cb);
-        function fs$readdirCallback(path5, options2, cb2, startTime) {
-          return function(err, files) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([
-                go$readdir,
-                [path5, options2, cb2],
-                err,
-                startTime || Date.now(),
-                Date.now()
-              ]);
-            else {
-              if (files && files.sort)
-                files.sort();
-              if (typeof cb2 === "function")
-                cb2.call(this, err, files);
-            }
-          };
+      callback(null, chunk);
+    };
+    Archiver.prototype._updateQueueTaskWithStats = function(task, stats) {
+      if (stats.isFile()) {
+        task.data.type = "file";
+        task.data.sourceType = "stream";
+        task.source = util.lazyReadStream(task.filepath);
+      } else if (stats.isDirectory() && this._moduleSupports("directory")) {
+        task.data.name = util.trailingSlashIt(task.data.name);
+        task.data.type = "directory";
+        task.data.sourcePath = util.trailingSlashIt(task.filepath);
+        task.data.sourceType = "buffer";
+        task.source = Buffer.concat([]);
+      } else if (stats.isSymbolicLink() && this._moduleSupports("symlink")) {
+        var linkPath = fs3.readlinkSync(task.filepath);
+        var dirName = path4.dirname(task.filepath);
+        task.data.type = "symlink";
+        task.data.linkname = path4.relative(dirName, path4.resolve(dirName, linkPath));
+        task.data.sourceType = "buffer";
+        task.source = Buffer.concat([]);
+      } else {
+        if (stats.isDirectory()) {
+          this.emit("warning", new ArchiverError("DIRECTORYNOTSUPPORTED", task.data));
+        } else if (stats.isSymbolicLink()) {
+          this.emit("warning", new ArchiverError("SYMLINKNOTSUPPORTED", task.data));
+        } else {
+          this.emit("warning", new ArchiverError("ENTRYNOTSUPPORTED", task.data));
         }
+        return null;
       }
-      if (process.version.substr(0, 4) === "v0.8") {
-        var legStreams = legacy(fs4);
-        ReadStream = legStreams.ReadStream;
-        WriteStream = legStreams.WriteStream;
+      task.data = this._normalizeEntryData(task.data, stats);
+      return task;
+    };
+    Archiver.prototype.abort = function() {
+      if (this._state.aborted || this._state.finalized) {
+        return this;
       }
-      var fs$ReadStream = fs4.ReadStream;
-      if (fs$ReadStream) {
-        ReadStream.prototype = Object.create(fs$ReadStream.prototype);
-        ReadStream.prototype.open = ReadStream$open;
+      this._abort();
+      return this;
+    };
+    Archiver.prototype.append = function(source, data) {
+      if (this._state.finalize || this._state.aborted) {
+        this.emit("error", new ArchiverError("QUEUECLOSED"));
+        return this;
       }
-      var fs$WriteStream = fs4.WriteStream;
-      if (fs$WriteStream) {
-        WriteStream.prototype = Object.create(fs$WriteStream.prototype);
-        WriteStream.prototype.open = WriteStream$open;
+      data = this._normalizeEntryData(data);
+      if (typeof data.name !== "string" || data.name.length === 0) {
+        this.emit("error", new ArchiverError("ENTRYNAMEREQUIRED"));
+        return this;
       }
-      Object.defineProperty(fs4, "ReadStream", {
-        get: function() {
-          return ReadStream;
-        },
-        set: function(val) {
-          ReadStream = val;
-        },
-        enumerable: true,
-        configurable: true
-      });
-      Object.defineProperty(fs4, "WriteStream", {
-        get: function() {
-          return WriteStream;
-        },
-        set: function(val) {
-          WriteStream = val;
-        },
-        enumerable: true,
-        configurable: true
-      });
-      var FileReadStream = ReadStream;
-      Object.defineProperty(fs4, "FileReadStream", {
-        get: function() {
-          return FileReadStream;
-        },
-        set: function(val) {
-          FileReadStream = val;
-        },
-        enumerable: true,
-        configurable: true
-      });
-      var FileWriteStream = WriteStream;
-      Object.defineProperty(fs4, "FileWriteStream", {
-        get: function() {
-          return FileWriteStream;
-        },
-        set: function(val) {
-          FileWriteStream = val;
-        },
-        enumerable: true,
-        configurable: true
+      if (data.type === "directory" && !this._moduleSupports("directory")) {
+        this.emit("error", new ArchiverError("DIRECTORYNOTSUPPORTED", { name: data.name }));
+        return this;
+      }
+      source = util.normalizeInputSource(source);
+      if (Buffer.isBuffer(source)) {
+        data.sourceType = "buffer";
+      } else if (util.isStream(source)) {
+        data.sourceType = "stream";
+      } else {
+        this.emit("error", new ArchiverError("INPUTSTEAMBUFFERREQUIRED", { name: data.name }));
+        return this;
+      }
+      this._entriesCount++;
+      this._queue.push({
+        data,
+        source
       });
-      function ReadStream(path4, options) {
-        if (this instanceof ReadStream)
-          return fs$ReadStream.apply(this, arguments), this;
-        else
-          return ReadStream.apply(Object.create(ReadStream.prototype), arguments);
+      return this;
+    };
+    Archiver.prototype.directory = function(dirpath, destpath, data) {
+      if (this._state.finalize || this._state.aborted) {
+        this.emit("error", new ArchiverError("QUEUECLOSED"));
+        return this;
       }
-      function ReadStream$open() {
-        var that = this;
-        open(that.path, that.flags, that.mode, function(err, fd) {
-          if (err) {
-            if (that.autoClose)
-              that.destroy();
-            that.emit("error", err);
-          } else {
-            that.fd = fd;
-            that.emit("open", fd);
-            that.read();
-          }
-        });
+      if (typeof dirpath !== "string" || dirpath.length === 0) {
+        this.emit("error", new ArchiverError("DIRECTORYDIRPATHREQUIRED"));
+        return this;
       }
-      function WriteStream(path4, options) {
-        if (this instanceof WriteStream)
-          return fs$WriteStream.apply(this, arguments), this;
-        else
-          return WriteStream.apply(Object.create(WriteStream.prototype), arguments);
+      this._pending++;
+      if (destpath === false) {
+        destpath = "";
+      } else if (typeof destpath !== "string") {
+        destpath = dirpath;
       }
-      function WriteStream$open() {
-        var that = this;
-        open(that.path, that.flags, that.mode, function(err, fd) {
-          if (err) {
-            that.destroy();
-            that.emit("error", err);
-          } else {
-            that.fd = fd;
-            that.emit("open", fd);
+      var dataFunction = false;
+      if (typeof data === "function") {
+        dataFunction = data;
+        data = {};
+      } else if (typeof data !== "object") {
+        data = {};
+      }
+      var globOptions = {
+        stat: true,
+        dot: true
+      };
+      function onGlobEnd() {
+        this._pending--;
+        this._maybeFinalize();
+      }
+      function onGlobError(err) {
+        this.emit("error", err);
+      }
+      function onGlobMatch(match) {
+        globber.pause();
+        var ignoreMatch = false;
+        var entryData = Object.assign({}, data);
+        entryData.name = match.relative;
+        entryData.prefix = destpath;
+        entryData.stats = match.stat;
+        entryData.callback = globber.resume.bind(globber);
+        try {
+          if (dataFunction) {
+            entryData = dataFunction(entryData);
+            if (entryData === false) {
+              ignoreMatch = true;
+            } else if (typeof entryData !== "object") {
+              throw new ArchiverError("DIRECTORYFUNCTIONINVALIDDATA", { dirpath });
+            }
           }
-        });
+        } catch (e) {
+          this.emit("error", e);
+          return;
+        }
+        if (ignoreMatch) {
+          globber.resume();
+          return;
+        }
+        this._append(match.absolute, entryData);
+      }
+      var globber = glob2(dirpath, globOptions);
+      globber.on("error", onGlobError.bind(this));
+      globber.on("match", onGlobMatch.bind(this));
+      globber.on("end", onGlobEnd.bind(this));
+      return this;
+    };
+    Archiver.prototype.file = function(filepath, data) {
+      if (this._state.finalize || this._state.aborted) {
+        this.emit("error", new ArchiverError("QUEUECLOSED"));
+        return this;
       }
-      function createReadStream(path4, options) {
-        return new fs4.ReadStream(path4, options);
+      if (typeof filepath !== "string" || filepath.length === 0) {
+        this.emit("error", new ArchiverError("FILEFILEPATHREQUIRED"));
+        return this;
       }
-      function createWriteStream2(path4, options) {
-        return new fs4.WriteStream(path4, options);
+      this._append(filepath, data);
+      return this;
+    };
+    Archiver.prototype.glob = function(pattern, options, data) {
+      this._pending++;
+      options = util.defaults(options, {
+        stat: true,
+        pattern
+      });
+      function onGlobEnd() {
+        this._pending--;
+        this._maybeFinalize();
       }
-      var fs$open = fs4.open;
-      fs4.open = open;
-      function open(path4, flags, mode, cb) {
-        if (typeof mode === "function")
-          cb = mode, mode = null;
-        return go$open(path4, flags, mode, cb);
-        function go$open(path5, flags2, mode2, cb2, startTime) {
-          return fs$open(path5, flags2, mode2, function(err, fd) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([go$open, [path5, flags2, mode2, cb2], err, startTime || Date.now(), Date.now()]);
-            else {
-              if (typeof cb2 === "function")
-                cb2.apply(this, arguments);
-            }
-          });
-        }
+      function onGlobError(err) {
+        this.emit("error", err);
       }
-      return fs4;
-    }
-    function enqueue(elem) {
-      debug4("ENQUEUE", elem[0].name, elem[1]);
-      fs3[gracefulQueue].push(elem);
-      retry2();
-    }
-    var retryTimer;
-    function resetQueue() {
-      var now = Date.now();
-      for (var i = 0; i < fs3[gracefulQueue].length; ++i) {
-        if (fs3[gracefulQueue][i].length > 2) {
-          fs3[gracefulQueue][i][3] = now;
-          fs3[gracefulQueue][i][4] = now;
-        }
+      function onGlobMatch(match) {
+        globber.pause();
+        var entryData = Object.assign({}, data);
+        entryData.callback = globber.resume.bind(globber);
+        entryData.stats = match.stat;
+        entryData.name = match.relative;
+        this._append(match.absolute, entryData);
       }
-      retry2();
-    }
-    function retry2() {
-      clearTimeout(retryTimer);
-      retryTimer = void 0;
-      if (fs3[gracefulQueue].length === 0)
-        return;
-      var elem = fs3[gracefulQueue].shift();
-      var fn = elem[0];
-      var args = elem[1];
-      var err = elem[2];
-      var startTime = elem[3];
-      var lastTime = elem[4];
-      if (startTime === void 0) {
-        debug4("RETRY", fn.name, args);
-        fn.apply(null, args);
-      } else if (Date.now() - startTime >= 6e4) {
-        debug4("TIMEOUT", fn.name, args);
-        var cb = args.pop();
-        if (typeof cb === "function")
-          cb.call(null, err);
-      } else {
-        var sinceAttempt = Date.now() - lastTime;
-        var sinceStart = Math.max(lastTime - startTime, 1);
-        var desiredDelay = Math.min(sinceStart * 1.2, 100);
-        if (sinceAttempt >= desiredDelay) {
-          debug4("RETRY", fn.name, args);
-          fn.apply(null, args.concat([startTime]));
-        } else {
-          fs3[gracefulQueue].push(elem);
-        }
+      var globber = glob2(options.cwd || ".", options);
+      globber.on("error", onGlobError.bind(this));
+      globber.on("match", onGlobMatch.bind(this));
+      globber.on("end", onGlobEnd.bind(this));
+      return this;
+    };
+    Archiver.prototype.finalize = function() {
+      if (this._state.aborted) {
+        var abortedError = new ArchiverError("ABORTED");
+        this.emit("error", abortedError);
+        return Promise.reject(abortedError);
       }
-      if (retryTimer === void 0) {
-        retryTimer = setTimeout(retry2, 0);
+      if (this._state.finalize) {
+        var finalizingError = new ArchiverError("FINALIZING");
+        this.emit("error", finalizingError);
+        return Promise.reject(finalizingError);
       }
-    }
-  }
-});
-
-// node_modules/archiver-utils/node_modules/is-stream/index.js
-var require_is_stream = __commonJS({
-  "node_modules/archiver-utils/node_modules/is-stream/index.js"(exports2, module2) {
-    "use strict";
-    var isStream = (stream) => stream !== null && typeof stream === "object" && typeof stream.pipe === "function";
-    isStream.writable = (stream) => isStream(stream) && stream.writable !== false && typeof stream._write === "function" && typeof stream._writableState === "object";
-    isStream.readable = (stream) => isStream(stream) && stream.readable !== false && typeof stream._read === "function" && typeof stream._readableState === "object";
-    isStream.duplex = (stream) => isStream.writable(stream) && isStream.readable(stream);
-    isStream.transform = (stream) => isStream.duplex(stream) && typeof stream._transform === "function";
-    module2.exports = isStream;
-  }
-});
-
-// node_modules/process-nextick-args/index.js
-var require_process_nextick_args = __commonJS({
-  "node_modules/process-nextick-args/index.js"(exports2, module2) {
-    "use strict";
-    if (typeof process === "undefined" || !process.version || process.version.indexOf("v0.") === 0 || process.version.indexOf("v1.") === 0 && process.version.indexOf("v1.8.") !== 0) {
-      module2.exports = { nextTick };
-    } else {
-      module2.exports = process;
-    }
-    function nextTick(fn, arg1, arg2, arg3) {
-      if (typeof fn !== "function") {
-        throw new TypeError('"callback" argument must be a function');
+      this._state.finalize = true;
+      if (this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
+        this._finalize();
       }
-      var len = arguments.length;
-      var args, i;
-      switch (len) {
-        case 0:
-        case 1:
-          return process.nextTick(fn);
-        case 2:
-          return process.nextTick(function afterTickOne() {
-            fn.call(null, arg1);
-          });
-        case 3:
-          return process.nextTick(function afterTickTwo() {
-            fn.call(null, arg1, arg2);
-          });
-        case 4:
-          return process.nextTick(function afterTickThree() {
-            fn.call(null, arg1, arg2, arg3);
-          });
-        default:
-          args = new Array(len - 1);
-          i = 0;
-          while (i < args.length) {
-            args[i++] = arguments[i];
+      var self2 = this;
+      return new Promise(function(resolve3, reject) {
+        var errored;
+        self2._module.on("end", function() {
+          if (!errored) {
+            resolve3();
           }
-          return process.nextTick(function afterTick() {
-            fn.apply(null, args);
-          });
+        });
+        self2._module.on("error", function(err) {
+          errored = true;
+          reject(err);
+        });
+      });
+    };
+    Archiver.prototype.setFormat = function(format) {
+      if (this._format) {
+        this.emit("error", new ArchiverError("FORMATSET"));
+        return this;
       }
-    }
-  }
-});
-
-// node_modules/lazystream/node_modules/isarray/index.js
-var require_isarray = __commonJS({
-  "node_modules/lazystream/node_modules/isarray/index.js"(exports2, module2) {
-    var toString2 = {}.toString;
-    module2.exports = Array.isArray || function(arr) {
-      return toString2.call(arr) == "[object Array]";
+      this._format = format;
+      return this;
     };
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/stream.js
-var require_stream = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/stream.js"(exports2, module2) {
-    module2.exports = require("stream");
-  }
-});
-
-// node_modules/lazystream/node_modules/safe-buffer/index.js
-var require_safe_buffer = __commonJS({
-  "node_modules/lazystream/node_modules/safe-buffer/index.js"(exports2, module2) {
-    var buffer = require("buffer");
-    var Buffer2 = buffer.Buffer;
-    function copyProps(src, dst) {
-      for (var key in src) {
-        dst[key] = src[key];
+    Archiver.prototype.setModule = function(module3) {
+      if (this._state.aborted) {
+        this.emit("error", new ArchiverError("ABORTED"));
+        return this;
       }
-    }
-    if (Buffer2.from && Buffer2.alloc && Buffer2.allocUnsafe && Buffer2.allocUnsafeSlow) {
-      module2.exports = buffer;
-    } else {
-      copyProps(buffer, exports2);
-      exports2.Buffer = SafeBuffer;
-    }
-    function SafeBuffer(arg, encodingOrOffset, length) {
-      return Buffer2(arg, encodingOrOffset, length);
-    }
-    copyProps(Buffer2, SafeBuffer);
-    SafeBuffer.from = function(arg, encodingOrOffset, length) {
-      if (typeof arg === "number") {
-        throw new TypeError("Argument must not be a number");
+      if (this._state.module) {
+        this.emit("error", new ArchiverError("MODULESET"));
+        return this;
       }
-      return Buffer2(arg, encodingOrOffset, length);
+      this._module = module3;
+      this._modulePipe();
+      return this;
     };
-    SafeBuffer.alloc = function(size, fill, encoding) {
-      if (typeof size !== "number") {
-        throw new TypeError("Argument must be a number");
+    Archiver.prototype.symlink = function(filepath, target, mode) {
+      if (this._state.finalize || this._state.aborted) {
+        this.emit("error", new ArchiverError("QUEUECLOSED"));
+        return this;
       }
-      var buf = Buffer2(size);
-      if (fill !== void 0) {
-        if (typeof encoding === "string") {
-          buf.fill(fill, encoding);
-        } else {
-          buf.fill(fill);
-        }
-      } else {
-        buf.fill(0);
+      if (typeof filepath !== "string" || filepath.length === 0) {
+        this.emit("error", new ArchiverError("SYMLINKFILEPATHREQUIRED"));
+        return this;
       }
-      return buf;
-    };
-    SafeBuffer.allocUnsafe = function(size) {
-      if (typeof size !== "number") {
-        throw new TypeError("Argument must be a number");
+      if (typeof target !== "string" || target.length === 0) {
+        this.emit("error", new ArchiverError("SYMLINKTARGETREQUIRED", { filepath }));
+        return this;
       }
-      return Buffer2(size);
-    };
-    SafeBuffer.allocUnsafeSlow = function(size) {
-      if (typeof size !== "number") {
-        throw new TypeError("Argument must be a number");
+      if (!this._moduleSupports("symlink")) {
+        this.emit("error", new ArchiverError("SYMLINKNOTSUPPORTED", { filepath }));
+        return this;
       }
-      return buffer.SlowBuffer(size);
-    };
-  }
-});
-
-// node_modules/core-util-is/lib/util.js
-var require_util19 = __commonJS({
-  "node_modules/core-util-is/lib/util.js"(exports2) {
-    function isArray(arg) {
-      if (Array.isArray) {
-        return Array.isArray(arg);
+      var data = {};
+      data.type = "symlink";
+      data.name = filepath.replace(/\\/g, "/");
+      data.linkname = target.replace(/\\/g, "/");
+      data.sourceType = "buffer";
+      if (typeof mode === "number") {
+        data.mode = mode;
       }
-      return objectToString(arg) === "[object Array]";
-    }
-    exports2.isArray = isArray;
-    function isBoolean2(arg) {
-      return typeof arg === "boolean";
-    }
-    exports2.isBoolean = isBoolean2;
-    function isNull2(arg) {
-      return arg === null;
-    }
-    exports2.isNull = isNull2;
-    function isNullOrUndefined(arg) {
-      return arg == null;
-    }
-    exports2.isNullOrUndefined = isNullOrUndefined;
-    function isNumber(arg) {
-      return typeof arg === "number";
-    }
-    exports2.isNumber = isNumber;
-    function isString(arg) {
-      return typeof arg === "string";
-    }
-    exports2.isString = isString;
-    function isSymbol(arg) {
-      return typeof arg === "symbol";
-    }
-    exports2.isSymbol = isSymbol;
-    function isUndefined(arg) {
-      return arg === void 0;
-    }
-    exports2.isUndefined = isUndefined;
-    function isRegExp(re) {
-      return objectToString(re) === "[object RegExp]";
-    }
-    exports2.isRegExp = isRegExp;
-    function isObject2(arg) {
-      return typeof arg === "object" && arg !== null;
-    }
-    exports2.isObject = isObject2;
-    function isDate(d) {
-      return objectToString(d) === "[object Date]";
-    }
-    exports2.isDate = isDate;
-    function isError(e) {
-      return objectToString(e) === "[object Error]" || e instanceof Error;
-    }
-    exports2.isError = isError;
-    function isFunction(arg) {
-      return typeof arg === "function";
-    }
-    exports2.isFunction = isFunction;
-    function isPrimitive(arg) {
-      return arg === null || typeof arg === "boolean" || typeof arg === "number" || typeof arg === "string" || typeof arg === "symbol" || // ES6 symbol
-      typeof arg === "undefined";
-    }
-    exports2.isPrimitive = isPrimitive;
-    exports2.isBuffer = require("buffer").Buffer.isBuffer;
-    function objectToString(o) {
-      return Object.prototype.toString.call(o);
-    }
-  }
-});
-
-// node_modules/inherits/inherits_browser.js
-var require_inherits_browser = __commonJS({
-  "node_modules/inherits/inherits_browser.js"(exports2, module2) {
-    if (typeof Object.create === "function") {
-      module2.exports = function inherits(ctor, superCtor) {
-        ctor.super_ = superCtor;
-        ctor.prototype = Object.create(superCtor.prototype, {
-          constructor: {
-            value: ctor,
-            enumerable: false,
-            writable: true,
-            configurable: true
-          }
-        });
-      };
-    } else {
-      module2.exports = function inherits(ctor, superCtor) {
-        ctor.super_ = superCtor;
-        var TempCtor = function() {
-        };
-        TempCtor.prototype = superCtor.prototype;
-        ctor.prototype = new TempCtor();
-        ctor.prototype.constructor = ctor;
-      };
-    }
+      this._entriesCount++;
+      this._queue.push({
+        data,
+        source: Buffer.concat([])
+      });
+      return this;
+    };
+    Archiver.prototype.pointer = function() {
+      return this._pointer;
+    };
+    Archiver.prototype.use = function(plugin) {
+      this._streams.push(plugin);
+      return this;
+    };
+    module2.exports = Archiver;
   }
 });
 
-// node_modules/inherits/inherits.js
-var require_inherits = __commonJS({
-  "node_modules/inherits/inherits.js"(exports2, module2) {
-    try {
-      util = require("util");
-      if (typeof util.inherits !== "function") throw "";
-      module2.exports = util.inherits;
-    } catch (e) {
-      module2.exports = require_inherits_browser();
-    }
-    var util;
+// node_modules/compress-commons/lib/archivers/archive-entry.js
+var require_archive_entry = __commonJS({
+  "node_modules/compress-commons/lib/archivers/archive-entry.js"(exports2, module2) {
+    var ArchiveEntry = module2.exports = function() {
+    };
+    ArchiveEntry.prototype.getName = function() {
+    };
+    ArchiveEntry.prototype.getSize = function() {
+    };
+    ArchiveEntry.prototype.getLastModifiedDate = function() {
+    };
+    ArchiveEntry.prototype.isDirectory = function() {
+    };
   }
 });
 
-// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/BufferList.js
-var require_BufferList = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/BufferList.js"(exports2, module2) {
-    "use strict";
-    function _classCallCheck(instance, Constructor) {
-      if (!(instance instanceof Constructor)) {
-        throw new TypeError("Cannot call a class as a function");
-      }
-    }
-    var Buffer2 = require_safe_buffer().Buffer;
-    var util = require("util");
-    function copyBuffer(src, target, offset) {
-      src.copy(target, offset);
-    }
-    module2.exports = (function() {
-      function BufferList() {
-        _classCallCheck(this, BufferList);
-        this.head = null;
-        this.tail = null;
-        this.length = 0;
+// node_modules/compress-commons/lib/archivers/zip/util.js
+var require_util22 = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/util.js"(exports2, module2) {
+    var util = module2.exports = {};
+    util.dateToDos = function(d, forceLocalTime) {
+      forceLocalTime = forceLocalTime || false;
+      var year = forceLocalTime ? d.getFullYear() : d.getUTCFullYear();
+      if (year < 1980) {
+        return 2162688;
+      } else if (year >= 2044) {
+        return 2141175677;
       }
-      BufferList.prototype.push = function push(v) {
-        var entry = { data: v, next: null };
-        if (this.length > 0) this.tail.next = entry;
-        else this.head = entry;
-        this.tail = entry;
-        ++this.length;
-      };
-      BufferList.prototype.unshift = function unshift(v) {
-        var entry = { data: v, next: this.head };
-        if (this.length === 0) this.tail = entry;
-        this.head = entry;
-        ++this.length;
-      };
-      BufferList.prototype.shift = function shift() {
-        if (this.length === 0) return;
-        var ret = this.head.data;
-        if (this.length === 1) this.head = this.tail = null;
-        else this.head = this.head.next;
-        --this.length;
-        return ret;
-      };
-      BufferList.prototype.clear = function clear() {
-        this.head = this.tail = null;
-        this.length = 0;
-      };
-      BufferList.prototype.join = function join4(s) {
-        if (this.length === 0) return "";
-        var p = this.head;
-        var ret = "" + p.data;
-        while (p = p.next) {
-          ret += s + p.data;
-        }
-        return ret;
-      };
-      BufferList.prototype.concat = function concat(n) {
-        if (this.length === 0) return Buffer2.alloc(0);
-        var ret = Buffer2.allocUnsafe(n >>> 0);
-        var p = this.head;
-        var i = 0;
-        while (p) {
-          copyBuffer(p.data, ret, i);
-          i += p.data.length;
-          p = p.next;
-        }
-        return ret;
-      };
-      return BufferList;
-    })();
-    if (util && util.inspect && util.inspect.custom) {
-      module2.exports.prototype[util.inspect.custom] = function() {
-        var obj = util.inspect({ length: this.length });
-        return this.constructor.name + " " + obj;
+      var val = {
+        year,
+        month: forceLocalTime ? d.getMonth() : d.getUTCMonth(),
+        date: forceLocalTime ? d.getDate() : d.getUTCDate(),
+        hours: forceLocalTime ? d.getHours() : d.getUTCHours(),
+        minutes: forceLocalTime ? d.getMinutes() : d.getUTCMinutes(),
+        seconds: forceLocalTime ? d.getSeconds() : d.getUTCSeconds()
       };
-    }
+      return val.year - 1980 << 25 | val.month + 1 << 21 | val.date << 16 | val.hours << 11 | val.minutes << 5 | val.seconds / 2;
+    };
+    util.dosToDate = function(dos) {
+      return new Date((dos >> 25 & 127) + 1980, (dos >> 21 & 15) - 1, dos >> 16 & 31, dos >> 11 & 31, dos >> 5 & 63, (dos & 31) << 1);
+    };
+    util.fromDosTime = function(buf) {
+      return util.dosToDate(buf.readUInt32LE(0));
+    };
+    util.getEightBytes = function(v) {
+      var buf = Buffer.alloc(8);
+      buf.writeUInt32LE(v % 4294967296, 0);
+      buf.writeUInt32LE(v / 4294967296 | 0, 4);
+      return buf;
+    };
+    util.getShortBytes = function(v) {
+      var buf = Buffer.alloc(2);
+      buf.writeUInt16LE((v & 65535) >>> 0, 0);
+      return buf;
+    };
+    util.getShortBytesValue = function(buf, offset) {
+      return buf.readUInt16LE(offset);
+    };
+    util.getLongBytes = function(v) {
+      var buf = Buffer.alloc(4);
+      buf.writeUInt32LE((v & 4294967295) >>> 0, 0);
+      return buf;
+    };
+    util.getLongBytesValue = function(buf, offset) {
+      return buf.readUInt32LE(offset);
+    };
+    util.toDosTime = function(d) {
+      return util.getLongBytes(util.dateToDos(d));
+    };
   }
 });
 
-// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/destroy.js
-var require_destroy = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/destroy.js"(exports2, module2) {
-    "use strict";
-    var pna = require_process_nextick_args();
-    function destroy(err, cb) {
-      var _this = this;
-      var readableDestroyed = this._readableState && this._readableState.destroyed;
-      var writableDestroyed = this._writableState && this._writableState.destroyed;
-      if (readableDestroyed || writableDestroyed) {
-        if (cb) {
-          cb(err);
-        } else if (err) {
-          if (!this._writableState) {
-            pna.nextTick(emitErrorNT, this, err);
-          } else if (!this._writableState.errorEmitted) {
-            this._writableState.errorEmitted = true;
-            pna.nextTick(emitErrorNT, this, err);
-          }
-        }
-        return this;
-      }
-      if (this._readableState) {
-        this._readableState.destroyed = true;
-      }
-      if (this._writableState) {
-        this._writableState.destroyed = true;
+// node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js
+var require_general_purpose_bit = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js"(exports2, module2) {
+    var zipUtil = require_util22();
+    var DATA_DESCRIPTOR_FLAG = 1 << 3;
+    var ENCRYPTION_FLAG = 1 << 0;
+    var NUMBER_OF_SHANNON_FANO_TREES_FLAG = 1 << 2;
+    var SLIDING_DICTIONARY_SIZE_FLAG = 1 << 1;
+    var STRONG_ENCRYPTION_FLAG = 1 << 6;
+    var UFT8_NAMES_FLAG = 1 << 11;
+    var GeneralPurposeBit = module2.exports = function() {
+      if (!(this instanceof GeneralPurposeBit)) {
+        return new GeneralPurposeBit();
       }
-      this._destroy(err || null, function(err2) {
-        if (!cb && err2) {
-          if (!_this._writableState) {
-            pna.nextTick(emitErrorNT, _this, err2);
-          } else if (!_this._writableState.errorEmitted) {
-            _this._writableState.errorEmitted = true;
-            pna.nextTick(emitErrorNT, _this, err2);
-          }
-        } else if (cb) {
-          cb(err2);
-        }
-      });
+      this.descriptor = false;
+      this.encryption = false;
+      this.utf8 = false;
+      this.numberOfShannonFanoTrees = 0;
+      this.strongEncryption = false;
+      this.slidingDictionarySize = 0;
       return this;
-    }
-    function undestroy() {
-      if (this._readableState) {
-        this._readableState.destroyed = false;
-        this._readableState.reading = false;
-        this._readableState.ended = false;
-        this._readableState.endEmitted = false;
-      }
-      if (this._writableState) {
-        this._writableState.destroyed = false;
-        this._writableState.ended = false;
-        this._writableState.ending = false;
-        this._writableState.finalCalled = false;
-        this._writableState.prefinished = false;
-        this._writableState.finished = false;
-        this._writableState.errorEmitted = false;
-      }
-    }
-    function emitErrorNT(self2, err) {
-      self2.emit("error", err);
-    }
+    };
+    GeneralPurposeBit.prototype.encode = function() {
+      return zipUtil.getShortBytes(
+        (this.descriptor ? DATA_DESCRIPTOR_FLAG : 0) | (this.utf8 ? UFT8_NAMES_FLAG : 0) | (this.encryption ? ENCRYPTION_FLAG : 0) | (this.strongEncryption ? STRONG_ENCRYPTION_FLAG : 0)
+      );
+    };
+    GeneralPurposeBit.prototype.parse = function(buf, offset) {
+      var flag = zipUtil.getShortBytesValue(buf, offset);
+      var gbp = new GeneralPurposeBit();
+      gbp.useDataDescriptor((flag & DATA_DESCRIPTOR_FLAG) !== 0);
+      gbp.useUTF8ForNames((flag & UFT8_NAMES_FLAG) !== 0);
+      gbp.useStrongEncryption((flag & STRONG_ENCRYPTION_FLAG) !== 0);
+      gbp.useEncryption((flag & ENCRYPTION_FLAG) !== 0);
+      gbp.setSlidingDictionarySize((flag & SLIDING_DICTIONARY_SIZE_FLAG) !== 0 ? 8192 : 4096);
+      gbp.setNumberOfShannonFanoTrees((flag & NUMBER_OF_SHANNON_FANO_TREES_FLAG) !== 0 ? 3 : 2);
+      return gbp;
+    };
+    GeneralPurposeBit.prototype.setNumberOfShannonFanoTrees = function(n) {
+      this.numberOfShannonFanoTrees = n;
+    };
+    GeneralPurposeBit.prototype.getNumberOfShannonFanoTrees = function() {
+      return this.numberOfShannonFanoTrees;
+    };
+    GeneralPurposeBit.prototype.setSlidingDictionarySize = function(n) {
+      this.slidingDictionarySize = n;
+    };
+    GeneralPurposeBit.prototype.getSlidingDictionarySize = function() {
+      return this.slidingDictionarySize;
+    };
+    GeneralPurposeBit.prototype.useDataDescriptor = function(b) {
+      this.descriptor = b;
+    };
+    GeneralPurposeBit.prototype.usesDataDescriptor = function() {
+      return this.descriptor;
+    };
+    GeneralPurposeBit.prototype.useEncryption = function(b) {
+      this.encryption = b;
+    };
+    GeneralPurposeBit.prototype.usesEncryption = function() {
+      return this.encryption;
+    };
+    GeneralPurposeBit.prototype.useStrongEncryption = function(b) {
+      this.strongEncryption = b;
+    };
+    GeneralPurposeBit.prototype.usesStrongEncryption = function() {
+      return this.strongEncryption;
+    };
+    GeneralPurposeBit.prototype.useUTF8ForNames = function(b) {
+      this.utf8 = b;
+    };
+    GeneralPurposeBit.prototype.usesUTF8ForNames = function() {
+      return this.utf8;
+    };
+  }
+});
+
+// node_modules/compress-commons/lib/archivers/zip/unix-stat.js
+var require_unix_stat = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/unix-stat.js"(exports2, module2) {
     module2.exports = {
-      destroy,
-      undestroy
+      /**
+       * Bits used for permissions (and sticky bit)
+       */
+      PERM_MASK: 4095,
+      // 07777
+      /**
+       * Bits used to indicate the filesystem object type.
+       */
+      FILE_TYPE_FLAG: 61440,
+      // 0170000
+      /**
+       * Indicates symbolic links.
+       */
+      LINK_FLAG: 40960,
+      // 0120000
+      /**
+       * Indicates plain files.
+       */
+      FILE_FLAG: 32768,
+      // 0100000
+      /**
+       * Indicates directories.
+       */
+      DIR_FLAG: 16384,
+      // 040000
+      // ----------------------------------------------------------
+      // somewhat arbitrary choices that are quite common for shared
+      // installations
+      // -----------------------------------------------------------
+      /**
+       * Default permissions for symbolic links.
+       */
+      DEFAULT_LINK_PERM: 511,
+      // 0777
+      /**
+       * Default permissions for directories.
+       */
+      DEFAULT_DIR_PERM: 493,
+      // 0755
+      /**
+       * Default permissions for plain files.
+       */
+      DEFAULT_FILE_PERM: 420
+      // 0644
     };
   }
 });
 
-// node_modules/util-deprecate/node.js
-var require_node2 = __commonJS({
-  "node_modules/util-deprecate/node.js"(exports2, module2) {
-    module2.exports = require("util").deprecate;
+// node_modules/compress-commons/lib/archivers/zip/constants.js
+var require_constants18 = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/constants.js"(exports2, module2) {
+    module2.exports = {
+      WORD: 4,
+      DWORD: 8,
+      EMPTY: Buffer.alloc(0),
+      SHORT: 2,
+      SHORT_MASK: 65535,
+      SHORT_SHIFT: 16,
+      SHORT_ZERO: Buffer.from(Array(2)),
+      LONG: 4,
+      LONG_ZERO: Buffer.from(Array(4)),
+      MIN_VERSION_INITIAL: 10,
+      MIN_VERSION_DATA_DESCRIPTOR: 20,
+      MIN_VERSION_ZIP64: 45,
+      VERSION_MADEBY: 45,
+      METHOD_STORED: 0,
+      METHOD_DEFLATED: 8,
+      PLATFORM_UNIX: 3,
+      PLATFORM_FAT: 0,
+      SIG_LFH: 67324752,
+      SIG_DD: 134695760,
+      SIG_CFH: 33639248,
+      SIG_EOCD: 101010256,
+      SIG_ZIP64_EOCD: 101075792,
+      SIG_ZIP64_EOCD_LOC: 117853008,
+      ZIP64_MAGIC_SHORT: 65535,
+      ZIP64_MAGIC: 4294967295,
+      ZIP64_EXTRA_ID: 1,
+      ZLIB_NO_COMPRESSION: 0,
+      ZLIB_BEST_SPEED: 1,
+      ZLIB_BEST_COMPRESSION: 9,
+      ZLIB_DEFAULT_COMPRESSION: -1,
+      MODE_MASK: 4095,
+      DEFAULT_FILE_MODE: 33188,
+      // 010644 = -rw-r--r-- = S_IFREG | S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
+      DEFAULT_DIR_MODE: 16877,
+      // 040755 = drwxr-xr-x = S_IFDIR | S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH
+      EXT_FILE_ATTR_DIR: 1106051088,
+      // 010173200020 = drwxr-xr-x = (((S_IFDIR | 0755) << 16) | S_DOS_D)
+      EXT_FILE_ATTR_FILE: 2175008800,
+      // 020151000040 = -rw-r--r-- = (((S_IFREG | 0644) << 16) | S_DOS_A) >>> 0
+      // Unix file types
+      S_IFMT: 61440,
+      // 0170000 type of file mask
+      S_IFIFO: 4096,
+      // 010000 named pipe (fifo)
+      S_IFCHR: 8192,
+      // 020000 character special
+      S_IFDIR: 16384,
+      // 040000 directory
+      S_IFBLK: 24576,
+      // 060000 block special
+      S_IFREG: 32768,
+      // 0100000 regular
+      S_IFLNK: 40960,
+      // 0120000 symbolic link
+      S_IFSOCK: 49152,
+      // 0140000 socket
+      // DOS file type flags
+      S_DOS_A: 32,
+      // 040 Archive
+      S_DOS_D: 16,
+      // 020 Directory
+      S_DOS_V: 8,
+      // 010 Volume
+      S_DOS_S: 4,
+      // 04 System
+      S_DOS_H: 2,
+      // 02 Hidden
+      S_DOS_R: 1
+      // 01 Read Only
+    };
   }
 });
 
-// node_modules/lazystream/node_modules/readable-stream/lib/_stream_writable.js
-var require_stream_writable = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_writable.js"(exports2, module2) {
-    "use strict";
-    var pna = require_process_nextick_args();
-    module2.exports = Writable;
-    function CorkedRequest(state) {
-      var _this = this;
-      this.next = null;
-      this.entry = null;
-      this.finish = function() {
-        onCorkedFinish(_this, state);
-      };
-    }
-    var asyncWrite = !process.browser && ["v0.10", "v0.9."].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick;
-    var Duplex;
-    Writable.WritableState = WritableState;
-    var util = Object.create(require_util19());
-    util.inherits = require_inherits();
-    var internalUtil = {
-      deprecate: require_node2()
+// node_modules/compress-commons/lib/archivers/zip/zip-archive-entry.js
+var require_zip_archive_entry = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/zip-archive-entry.js"(exports2, module2) {
+    var inherits = require("util").inherits;
+    var normalizePath = require_normalize_path();
+    var ArchiveEntry = require_archive_entry();
+    var GeneralPurposeBit = require_general_purpose_bit();
+    var UnixStat = require_unix_stat();
+    var constants = require_constants18();
+    var zipUtil = require_util22();
+    var ZipArchiveEntry = module2.exports = function(name) {
+      if (!(this instanceof ZipArchiveEntry)) {
+        return new ZipArchiveEntry(name);
+      }
+      ArchiveEntry.call(this);
+      this.platform = constants.PLATFORM_FAT;
+      this.method = -1;
+      this.name = null;
+      this.size = 0;
+      this.csize = 0;
+      this.gpb = new GeneralPurposeBit();
+      this.crc = 0;
+      this.time = -1;
+      this.minver = constants.MIN_VERSION_INITIAL;
+      this.mode = -1;
+      this.extra = null;
+      this.exattr = 0;
+      this.inattr = 0;
+      this.comment = null;
+      if (name) {
+        this.setName(name);
+      }
     };
-    var Stream = require_stream();
-    var Buffer2 = require_safe_buffer().Buffer;
-    var OurUint8Array = (typeof global !== "undefined" ? global : typeof window !== "undefined" ? window : typeof self !== "undefined" ? self : {}).Uint8Array || function() {
+    inherits(ZipArchiveEntry, ArchiveEntry);
+    ZipArchiveEntry.prototype.getCentralDirectoryExtra = function() {
+      return this.getExtra();
     };
-    function _uint8ArrayToBuffer(chunk) {
-      return Buffer2.from(chunk);
-    }
-    function _isUint8Array(obj) {
-      return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array;
-    }
-    var destroyImpl = require_destroy();
-    util.inherits(Writable, Stream);
-    function nop() {
-    }
-    function WritableState(options, stream) {
-      Duplex = Duplex || require_stream_duplex();
-      options = options || {};
-      var isDuplex = stream instanceof Duplex;
-      this.objectMode = !!options.objectMode;
-      if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;
-      var hwm = options.highWaterMark;
-      var writableHwm = options.writableHighWaterMark;
-      var defaultHwm = this.objectMode ? 16 : 16 * 1024;
-      if (hwm || hwm === 0) this.highWaterMark = hwm;
-      else if (isDuplex && (writableHwm || writableHwm === 0)) this.highWaterMark = writableHwm;
-      else this.highWaterMark = defaultHwm;
-      this.highWaterMark = Math.floor(this.highWaterMark);
-      this.finalCalled = false;
-      this.needDrain = false;
-      this.ending = false;
-      this.ended = false;
-      this.finished = false;
-      this.destroyed = false;
-      var noDecode = options.decodeStrings === false;
-      this.decodeStrings = !noDecode;
-      this.defaultEncoding = options.defaultEncoding || "utf8";
-      this.length = 0;
-      this.writing = false;
-      this.corked = 0;
-      this.sync = true;
-      this.bufferProcessing = false;
-      this.onwrite = function(er) {
-        onwrite(stream, er);
-      };
-      this.writecb = null;
-      this.writelen = 0;
-      this.bufferedRequest = null;
-      this.lastBufferedRequest = null;
-      this.pendingcb = 0;
-      this.prefinished = false;
-      this.errorEmitted = false;
-      this.bufferedRequestCount = 0;
-      this.corkedRequestsFree = new CorkedRequest(this);
-    }
-    WritableState.prototype.getBuffer = function getBuffer() {
-      var current = this.bufferedRequest;
-      var out = [];
-      while (current) {
-        out.push(current);
-        current = current.next;
+    ZipArchiveEntry.prototype.getComment = function() {
+      return this.comment !== null ? this.comment : "";
+    };
+    ZipArchiveEntry.prototype.getCompressedSize = function() {
+      return this.csize;
+    };
+    ZipArchiveEntry.prototype.getCrc = function() {
+      return this.crc;
+    };
+    ZipArchiveEntry.prototype.getExternalAttributes = function() {
+      return this.exattr;
+    };
+    ZipArchiveEntry.prototype.getExtra = function() {
+      return this.extra !== null ? this.extra : constants.EMPTY;
+    };
+    ZipArchiveEntry.prototype.getGeneralPurposeBit = function() {
+      return this.gpb;
+    };
+    ZipArchiveEntry.prototype.getInternalAttributes = function() {
+      return this.inattr;
+    };
+    ZipArchiveEntry.prototype.getLastModifiedDate = function() {
+      return this.getTime();
+    };
+    ZipArchiveEntry.prototype.getLocalFileDataExtra = function() {
+      return this.getExtra();
+    };
+    ZipArchiveEntry.prototype.getMethod = function() {
+      return this.method;
+    };
+    ZipArchiveEntry.prototype.getName = function() {
+      return this.name;
+    };
+    ZipArchiveEntry.prototype.getPlatform = function() {
+      return this.platform;
+    };
+    ZipArchiveEntry.prototype.getSize = function() {
+      return this.size;
+    };
+    ZipArchiveEntry.prototype.getTime = function() {
+      return this.time !== -1 ? zipUtil.dosToDate(this.time) : -1;
+    };
+    ZipArchiveEntry.prototype.getTimeDos = function() {
+      return this.time !== -1 ? this.time : 0;
+    };
+    ZipArchiveEntry.prototype.getUnixMode = function() {
+      return this.platform !== constants.PLATFORM_UNIX ? 0 : this.getExternalAttributes() >> constants.SHORT_SHIFT & constants.SHORT_MASK;
+    };
+    ZipArchiveEntry.prototype.getVersionNeededToExtract = function() {
+      return this.minver;
+    };
+    ZipArchiveEntry.prototype.setComment = function(comment) {
+      if (Buffer.byteLength(comment) !== comment.length) {
+        this.getGeneralPurposeBit().useUTF8ForNames(true);
       }
-      return out;
+      this.comment = comment;
     };
-    (function() {
-      try {
-        Object.defineProperty(WritableState.prototype, "buffer", {
-          get: internalUtil.deprecate(function() {
-            return this.getBuffer();
-          }, "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.", "DEP0003")
-        });
-      } catch (_2) {
+    ZipArchiveEntry.prototype.setCompressedSize = function(size) {
+      if (size < 0) {
+        throw new Error("invalid entry compressed size");
       }
-    })();
-    var realHasInstance;
-    if (typeof Symbol === "function" && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === "function") {
-      realHasInstance = Function.prototype[Symbol.hasInstance];
-      Object.defineProperty(Writable, Symbol.hasInstance, {
-        value: function(object) {
-          if (realHasInstance.call(this, object)) return true;
-          if (this !== Writable) return false;
-          return object && object._writableState instanceof WritableState;
-        }
-      });
-    } else {
-      realHasInstance = function(object) {
-        return object instanceof this;
-      };
-    }
-    function Writable(options) {
-      Duplex = Duplex || require_stream_duplex();
-      if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) {
-        return new Writable(options);
+      this.csize = size;
+    };
+    ZipArchiveEntry.prototype.setCrc = function(crc) {
+      if (crc < 0) {
+        throw new Error("invalid entry crc32");
       }
-      this._writableState = new WritableState(options, this);
-      this.writable = true;
-      if (options) {
-        if (typeof options.write === "function") this._write = options.write;
-        if (typeof options.writev === "function") this._writev = options.writev;
-        if (typeof options.destroy === "function") this._destroy = options.destroy;
-        if (typeof options.final === "function") this._final = options.final;
+      this.crc = crc;
+    };
+    ZipArchiveEntry.prototype.setExternalAttributes = function(attr) {
+      this.exattr = attr >>> 0;
+    };
+    ZipArchiveEntry.prototype.setExtra = function(extra) {
+      this.extra = extra;
+    };
+    ZipArchiveEntry.prototype.setGeneralPurposeBit = function(gpb) {
+      if (!(gpb instanceof GeneralPurposeBit)) {
+        throw new Error("invalid entry GeneralPurposeBit");
       }
-      Stream.call(this);
-    }
-    Writable.prototype.pipe = function() {
-      this.emit("error", new Error("Cannot pipe, not readable"));
+      this.gpb = gpb;
     };
-    function writeAfterEnd(stream, cb) {
-      var er = new Error("write after end");
-      stream.emit("error", er);
-      pna.nextTick(cb, er);
-    }
-    function validChunk(stream, state, chunk, cb) {
-      var valid3 = true;
-      var er = false;
-      if (chunk === null) {
-        er = new TypeError("May not write null values to stream");
-      } else if (typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) {
-        er = new TypeError("Invalid non-string/buffer chunk");
+    ZipArchiveEntry.prototype.setInternalAttributes = function(attr) {
+      this.inattr = attr;
+    };
+    ZipArchiveEntry.prototype.setMethod = function(method) {
+      if (method < 0) {
+        throw new Error("invalid entry compression method");
       }
-      if (er) {
-        stream.emit("error", er);
-        pna.nextTick(cb, er);
-        valid3 = false;
+      this.method = method;
+    };
+    ZipArchiveEntry.prototype.setName = function(name, prependSlash = false) {
+      name = normalizePath(name, false).replace(/^\w+:/, "").replace(/^(\.\.\/|\/)+/, "");
+      if (prependSlash) {
+        name = `/${name}`;
       }
-      return valid3;
-    }
-    Writable.prototype.write = function(chunk, encoding, cb) {
-      var state = this._writableState;
-      var ret = false;
-      var isBuf = !state.objectMode && _isUint8Array(chunk);
-      if (isBuf && !Buffer2.isBuffer(chunk)) {
-        chunk = _uint8ArrayToBuffer(chunk);
+      if (Buffer.byteLength(name) !== name.length) {
+        this.getGeneralPurposeBit().useUTF8ForNames(true);
       }
-      if (typeof encoding === "function") {
-        cb = encoding;
-        encoding = null;
+      this.name = name;
+    };
+    ZipArchiveEntry.prototype.setPlatform = function(platform) {
+      this.platform = platform;
+    };
+    ZipArchiveEntry.prototype.setSize = function(size) {
+      if (size < 0) {
+        throw new Error("invalid entry size");
       }
-      if (isBuf) encoding = "buffer";
-      else if (!encoding) encoding = state.defaultEncoding;
-      if (typeof cb !== "function") cb = nop;
-      if (state.ended) writeAfterEnd(this, cb);
-      else if (isBuf || validChunk(this, state, chunk, cb)) {
-        state.pendingcb++;
-        ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);
+      this.size = size;
+    };
+    ZipArchiveEntry.prototype.setTime = function(time, forceLocalTime) {
+      if (!(time instanceof Date)) {
+        throw new Error("invalid entry time");
       }
-      return ret;
+      this.time = zipUtil.dateToDos(time, forceLocalTime);
     };
-    Writable.prototype.cork = function() {
-      var state = this._writableState;
-      state.corked++;
+    ZipArchiveEntry.prototype.setUnixMode = function(mode) {
+      mode |= this.isDirectory() ? constants.S_IFDIR : constants.S_IFREG;
+      var extattr = 0;
+      extattr |= mode << constants.SHORT_SHIFT | (this.isDirectory() ? constants.S_DOS_D : constants.S_DOS_A);
+      this.setExternalAttributes(extattr);
+      this.mode = mode & constants.MODE_MASK;
+      this.platform = constants.PLATFORM_UNIX;
     };
-    Writable.prototype.uncork = function() {
-      var state = this._writableState;
-      if (state.corked) {
-        state.corked--;
-        if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);
-      }
+    ZipArchiveEntry.prototype.setVersionNeededToExtract = function(minver) {
+      this.minver = minver;
     };
-    Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {
-      if (typeof encoding === "string") encoding = encoding.toLowerCase();
-      if (!(["hex", "utf8", "utf-8", "ascii", "binary", "base64", "ucs2", "ucs-2", "utf16le", "utf-16le", "raw"].indexOf((encoding + "").toLowerCase()) > -1)) throw new TypeError("Unknown encoding: " + encoding);
-      this._writableState.defaultEncoding = encoding;
-      return this;
+    ZipArchiveEntry.prototype.isDirectory = function() {
+      return this.getName().slice(-1) === "/";
     };
-    function decodeChunk(state, chunk, encoding) {
-      if (!state.objectMode && state.decodeStrings !== false && typeof chunk === "string") {
-        chunk = Buffer2.from(chunk, encoding);
+    ZipArchiveEntry.prototype.isUnixSymlink = function() {
+      return (this.getUnixMode() & UnixStat.FILE_TYPE_FLAG) === UnixStat.LINK_FLAG;
+    };
+    ZipArchiveEntry.prototype.isZip64 = function() {
+      return this.csize > constants.ZIP64_MAGIC || this.size > constants.ZIP64_MAGIC;
+    };
+  }
+});
+
+// node_modules/compress-commons/node_modules/is-stream/index.js
+var require_is_stream2 = __commonJS({
+  "node_modules/compress-commons/node_modules/is-stream/index.js"(exports2, module2) {
+    "use strict";
+    var isStream = (stream) => stream !== null && typeof stream === "object" && typeof stream.pipe === "function";
+    isStream.writable = (stream) => isStream(stream) && stream.writable !== false && typeof stream._write === "function" && typeof stream._writableState === "object";
+    isStream.readable = (stream) => isStream(stream) && stream.readable !== false && typeof stream._read === "function" && typeof stream._readableState === "object";
+    isStream.duplex = (stream) => isStream.writable(stream) && isStream.readable(stream);
+    isStream.transform = (stream) => isStream.duplex(stream) && typeof stream._transform === "function";
+    module2.exports = isStream;
+  }
+});
+
+// node_modules/compress-commons/lib/util/index.js
+var require_util23 = __commonJS({
+  "node_modules/compress-commons/lib/util/index.js"(exports2, module2) {
+    var Stream = require("stream").Stream;
+    var PassThrough = require_ours().PassThrough;
+    var isStream = require_is_stream2();
+    var util = module2.exports = {};
+    util.normalizeInputSource = function(source) {
+      if (source === null) {
+        return Buffer.alloc(0);
+      } else if (typeof source === "string") {
+        return Buffer.from(source);
+      } else if (isStream(source) && !source._readableState) {
+        var normalized = new PassThrough();
+        source.pipe(normalized);
+        return normalized;
       }
-      return chunk;
-    }
-    Object.defineProperty(Writable.prototype, "writableHighWaterMark", {
-      // making it explicit this property is not enumerable
-      // because otherwise some prototype manipulation in
-      // userland will fail
-      enumerable: false,
-      get: function() {
-        return this._writableState.highWaterMark;
+      return source;
+    };
+  }
+});
+
+// node_modules/compress-commons/lib/archivers/archive-output-stream.js
+var require_archive_output_stream = __commonJS({
+  "node_modules/compress-commons/lib/archivers/archive-output-stream.js"(exports2, module2) {
+    var inherits = require("util").inherits;
+    var isStream = require_is_stream2();
+    var Transform = require_ours().Transform;
+    var ArchiveEntry = require_archive_entry();
+    var util = require_util23();
+    var ArchiveOutputStream = module2.exports = function(options) {
+      if (!(this instanceof ArchiveOutputStream)) {
+        return new ArchiveOutputStream(options);
       }
-    });
-    function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {
-      if (!isBuf) {
-        var newChunk = decodeChunk(state, chunk, encoding);
-        if (chunk !== newChunk) {
-          isBuf = true;
-          encoding = "buffer";
-          chunk = newChunk;
-        }
+      Transform.call(this, options);
+      this.offset = 0;
+      this._archive = {
+        finish: false,
+        finished: false,
+        processing: false
+      };
+    };
+    inherits(ArchiveOutputStream, Transform);
+    ArchiveOutputStream.prototype._appendBuffer = function(zae, source, callback) {
+    };
+    ArchiveOutputStream.prototype._appendStream = function(zae, source, callback) {
+    };
+    ArchiveOutputStream.prototype._emitErrorCallback = function(err) {
+      if (err) {
+        this.emit("error", err);
       }
-      var len = state.objectMode ? 1 : chunk.length;
-      state.length += len;
-      var ret = state.length < state.highWaterMark;
-      if (!ret) state.needDrain = true;
-      if (state.writing || state.corked) {
-        var last = state.lastBufferedRequest;
-        state.lastBufferedRequest = {
-          chunk,
-          encoding,
-          isBuf,
-          callback: cb,
-          next: null
-        };
-        if (last) {
-          last.next = state.lastBufferedRequest;
-        } else {
-          state.bufferedRequest = state.lastBufferedRequest;
-        }
-        state.bufferedRequestCount += 1;
-      } else {
-        doWrite(stream, state, false, len, chunk, encoding, cb);
+    };
+    ArchiveOutputStream.prototype._finish = function(ae) {
+    };
+    ArchiveOutputStream.prototype._normalizeEntry = function(ae) {
+    };
+    ArchiveOutputStream.prototype._transform = function(chunk, encoding, callback) {
+      callback(null, chunk);
+    };
+    ArchiveOutputStream.prototype.entry = function(ae, source, callback) {
+      source = source || null;
+      if (typeof callback !== "function") {
+        callback = this._emitErrorCallback.bind(this);
       }
-      return ret;
-    }
-    function doWrite(stream, state, writev, len, chunk, encoding, cb) {
-      state.writelen = len;
-      state.writecb = cb;
-      state.writing = true;
-      state.sync = true;
-      if (writev) stream._writev(chunk, state.onwrite);
-      else stream._write(chunk, encoding, state.onwrite);
-      state.sync = false;
-    }
-    function onwriteError(stream, state, sync, er, cb) {
-      --state.pendingcb;
-      if (sync) {
-        pna.nextTick(cb, er);
-        pna.nextTick(finishMaybe, stream, state);
-        stream._writableState.errorEmitted = true;
-        stream.emit("error", er);
-      } else {
-        cb(er);
-        stream._writableState.errorEmitted = true;
-        stream.emit("error", er);
-        finishMaybe(stream, state);
+      if (!(ae instanceof ArchiveEntry)) {
+        callback(new Error("not a valid instance of ArchiveEntry"));
+        return;
       }
-    }
-    function onwriteStateUpdate(state) {
-      state.writing = false;
-      state.writecb = null;
-      state.length -= state.writelen;
-      state.writelen = 0;
-    }
-    function onwrite(stream, er) {
-      var state = stream._writableState;
-      var sync = state.sync;
-      var cb = state.writecb;
-      onwriteStateUpdate(state);
-      if (er) onwriteError(stream, state, sync, er, cb);
-      else {
-        var finished = needFinish(state);
-        if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {
-          clearBuffer(stream, state);
-        }
-        if (sync) {
-          asyncWrite(afterWrite, stream, state, finished, cb);
-        } else {
-          afterWrite(stream, state, finished, cb);
-        }
+      if (this._archive.finish || this._archive.finished) {
+        callback(new Error("unacceptable entry after finish"));
+        return;
       }
-    }
-    function afterWrite(stream, state, finished, cb) {
-      if (!finished) onwriteDrain(stream, state);
-      state.pendingcb--;
-      cb();
-      finishMaybe(stream, state);
-    }
-    function onwriteDrain(stream, state) {
-      if (state.length === 0 && state.needDrain) {
-        state.needDrain = false;
-        stream.emit("drain");
+      if (this._archive.processing) {
+        callback(new Error("already processing an entry"));
+        return;
       }
-    }
-    function clearBuffer(stream, state) {
-      state.bufferProcessing = true;
-      var entry = state.bufferedRequest;
-      if (stream._writev && entry && entry.next) {
-        var l = state.bufferedRequestCount;
-        var buffer = new Array(l);
-        var holder = state.corkedRequestsFree;
-        holder.entry = entry;
-        var count = 0;
-        var allBuffers = true;
-        while (entry) {
-          buffer[count] = entry;
-          if (!entry.isBuf) allBuffers = false;
-          entry = entry.next;
-          count += 1;
-        }
-        buffer.allBuffers = allBuffers;
-        doWrite(stream, state, true, state.length, buffer, "", holder.finish);
-        state.pendingcb++;
-        state.lastBufferedRequest = null;
-        if (holder.next) {
-          state.corkedRequestsFree = holder.next;
-          holder.next = null;
-        } else {
-          state.corkedRequestsFree = new CorkedRequest(state);
-        }
-        state.bufferedRequestCount = 0;
+      this._archive.processing = true;
+      this._normalizeEntry(ae);
+      this._entry = ae;
+      source = util.normalizeInputSource(source);
+      if (Buffer.isBuffer(source)) {
+        this._appendBuffer(ae, source, callback);
+      } else if (isStream(source)) {
+        this._appendStream(ae, source, callback);
       } else {
-        while (entry) {
-          var chunk = entry.chunk;
-          var encoding = entry.encoding;
-          var cb = entry.callback;
-          var len = state.objectMode ? 1 : chunk.length;
-          doWrite(stream, state, false, len, chunk, encoding, cb);
-          entry = entry.next;
-          state.bufferedRequestCount--;
-          if (state.writing) {
-            break;
-          }
-        }
-        if (entry === null) state.lastBufferedRequest = null;
+        this._archive.processing = false;
+        callback(new Error("input source must be valid Stream or Buffer instance"));
+        return;
       }
-      state.bufferedRequest = entry;
-      state.bufferProcessing = false;
-    }
-    Writable.prototype._write = function(chunk, encoding, cb) {
-      cb(new Error("_write() is not implemented"));
+      return this;
     };
-    Writable.prototype._writev = null;
-    Writable.prototype.end = function(chunk, encoding, cb) {
-      var state = this._writableState;
-      if (typeof chunk === "function") {
-        cb = chunk;
-        chunk = null;
-        encoding = null;
-      } else if (typeof encoding === "function") {
-        cb = encoding;
-        encoding = null;
+    ArchiveOutputStream.prototype.finish = function() {
+      if (this._archive.processing) {
+        this._archive.finish = true;
+        return;
       }
-      if (chunk !== null && chunk !== void 0) this.write(chunk, encoding);
-      if (state.corked) {
-        state.corked = 1;
-        this.uncork();
+      this._finish();
+    };
+    ArchiveOutputStream.prototype.getBytesWritten = function() {
+      return this.offset;
+    };
+    ArchiveOutputStream.prototype.write = function(chunk, cb) {
+      if (chunk) {
+        this.offset += chunk.length;
       }
-      if (!state.ending) endWritable(this, state, cb);
+      return Transform.prototype.write.call(this, chunk, cb);
     };
-    function needFinish(state) {
-      return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;
-    }
-    function callFinal(stream, state) {
-      stream._final(function(err) {
-        state.pendingcb--;
-        if (err) {
-          stream.emit("error", err);
-        }
-        state.prefinished = true;
-        stream.emit("prefinish");
-        finishMaybe(stream, state);
-      });
-    }
-    function prefinish(stream, state) {
-      if (!state.prefinished && !state.finalCalled) {
-        if (typeof stream._final === "function") {
-          state.pendingcb++;
-          state.finalCalled = true;
-          pna.nextTick(callFinal, stream, state);
+  }
+});
+
+// node_modules/crc-32/crc32.js
+var require_crc32 = __commonJS({
+  "node_modules/crc-32/crc32.js"(exports2) {
+    var CRC32;
+    (function(factory) {
+      if (typeof DO_NOT_EXPORT_CRC === "undefined") {
+        if ("object" === typeof exports2) {
+          factory(exports2);
+        } else if ("function" === typeof define && define.amd) {
+          define(function() {
+            var module3 = {};
+            factory(module3);
+            return module3;
+          });
         } else {
-          state.prefinished = true;
-          stream.emit("prefinish");
+          factory(CRC32 = {});
         }
+      } else {
+        factory(CRC32 = {});
       }
-    }
-    function finishMaybe(stream, state) {
-      var need = needFinish(state);
-      if (need) {
-        prefinish(stream, state);
-        if (state.pendingcb === 0) {
-          state.finished = true;
-          stream.emit("finish");
+    })(function(CRC322) {
+      CRC322.version = "1.2.2";
+      function signed_crc_table() {
+        var c = 0, table = new Array(256);
+        for (var n = 0; n != 256; ++n) {
+          c = n;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          table[n] = c;
         }
+        return typeof Int32Array !== "undefined" ? new Int32Array(table) : table;
       }
-      return need;
-    }
-    function endWritable(stream, state, cb) {
-      state.ending = true;
-      finishMaybe(stream, state);
-      if (cb) {
-        if (state.finished) pna.nextTick(cb);
-        else stream.once("finish", cb);
+      var T0 = signed_crc_table();
+      function slice_by_16_tables(T) {
+        var c = 0, v = 0, n = 0, table = typeof Int32Array !== "undefined" ? new Int32Array(4096) : new Array(4096);
+        for (n = 0; n != 256; ++n) table[n] = T[n];
+        for (n = 0; n != 256; ++n) {
+          v = T[n];
+          for (c = 256 + n; c < 4096; c += 256) v = table[c] = v >>> 8 ^ T[v & 255];
+        }
+        var out = [];
+        for (n = 1; n != 16; ++n) out[n - 1] = typeof Int32Array !== "undefined" ? table.subarray(n * 256, n * 256 + 256) : table.slice(n * 256, n * 256 + 256);
+        return out;
       }
-      state.ended = true;
-      stream.writable = false;
-    }
-    function onCorkedFinish(corkReq, state, err) {
-      var entry = corkReq.entry;
-      corkReq.entry = null;
-      while (entry) {
-        var cb = entry.callback;
-        state.pendingcb--;
-        cb(err);
-        entry = entry.next;
+      var TT = slice_by_16_tables(T0);
+      var T1 = TT[0], T2 = TT[1], T3 = TT[2], T4 = TT[3], T5 = TT[4];
+      var T6 = TT[5], T7 = TT[6], T8 = TT[7], T9 = TT[8], Ta = TT[9];
+      var Tb = TT[10], Tc = TT[11], Td = TT[12], Te = TT[13], Tf = TT[14];
+      function crc32_bstr(bstr, seed) {
+        var C = seed ^ -1;
+        for (var i = 0, L = bstr.length; i < L; ) C = C >>> 8 ^ T0[(C ^ bstr.charCodeAt(i++)) & 255];
+        return ~C;
       }
-      state.corkedRequestsFree.next = corkReq;
-    }
-    Object.defineProperty(Writable.prototype, "destroyed", {
-      get: function() {
-        if (this._writableState === void 0) {
-          return false;
-        }
-        return this._writableState.destroyed;
-      },
-      set: function(value) {
-        if (!this._writableState) {
-          return;
+      function crc32_buf(B, seed) {
+        var C = seed ^ -1, L = B.length - 15, i = 0;
+        for (; i < L; ) C = Tf[B[i++] ^ C & 255] ^ Te[B[i++] ^ C >> 8 & 255] ^ Td[B[i++] ^ C >> 16 & 255] ^ Tc[B[i++] ^ C >>> 24] ^ Tb[B[i++]] ^ Ta[B[i++]] ^ T9[B[i++]] ^ T8[B[i++]] ^ T7[B[i++]] ^ T6[B[i++]] ^ T5[B[i++]] ^ T4[B[i++]] ^ T3[B[i++]] ^ T2[B[i++]] ^ T1[B[i++]] ^ T0[B[i++]];
+        L += 15;
+        while (i < L) C = C >>> 8 ^ T0[(C ^ B[i++]) & 255];
+        return ~C;
+      }
+      function crc32_str(str2, seed) {
+        var C = seed ^ -1;
+        for (var i = 0, L = str2.length, c = 0, d = 0; i < L; ) {
+          c = str2.charCodeAt(i++);
+          if (c < 128) {
+            C = C >>> 8 ^ T0[(C ^ c) & 255];
+          } else if (c < 2048) {
+            C = C >>> 8 ^ T0[(C ^ (192 | c >> 6 & 31)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | c & 63)) & 255];
+          } else if (c >= 55296 && c < 57344) {
+            c = (c & 1023) + 64;
+            d = str2.charCodeAt(i++) & 1023;
+            C = C >>> 8 ^ T0[(C ^ (240 | c >> 8 & 7)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | c >> 2 & 63)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | d >> 6 & 15 | (c & 3) << 4)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | d & 63)) & 255];
+          } else {
+            C = C >>> 8 ^ T0[(C ^ (224 | c >> 12 & 15)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | c >> 6 & 63)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | c & 63)) & 255];
+          }
         }
-        this._writableState.destroyed = value;
+        return ~C;
       }
+      CRC322.table = T0;
+      CRC322.bstr = crc32_bstr;
+      CRC322.buf = crc32_buf;
+      CRC322.str = crc32_str;
     });
-    Writable.prototype.destroy = destroyImpl.destroy;
-    Writable.prototype._undestroy = destroyImpl.undestroy;
-    Writable.prototype._destroy = function(err, cb) {
-      this.end();
-      cb(err);
-    };
   }
 });
 
-// node_modules/lazystream/node_modules/readable-stream/lib/_stream_duplex.js
-var require_stream_duplex = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_duplex.js"(exports2, module2) {
+// node_modules/crc32-stream/lib/crc32-stream.js
+var require_crc32_stream = __commonJS({
+  "node_modules/crc32-stream/lib/crc32-stream.js"(exports2, module2) {
     "use strict";
-    var pna = require_process_nextick_args();
-    var objectKeys = Object.keys || function(obj) {
-      var keys2 = [];
-      for (var key in obj) {
-        keys2.push(key);
+    var { Transform } = require_ours();
+    var crc32 = require_crc32();
+    var CRC32Stream = class extends Transform {
+      constructor(options) {
+        super(options);
+        this.checksum = Buffer.allocUnsafe(4);
+        this.checksum.writeInt32BE(0, 0);
+        this.rawSize = 0;
       }
-      return keys2;
-    };
-    module2.exports = Duplex;
-    var util = Object.create(require_util19());
-    util.inherits = require_inherits();
-    var Readable = require_stream_readable();
-    var Writable = require_stream_writable();
-    util.inherits(Duplex, Readable);
-    {
-      keys = objectKeys(Writable.prototype);
-      for (v = 0; v < keys.length; v++) {
-        method = keys[v];
-        if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];
+      _transform(chunk, encoding, callback) {
+        if (chunk) {
+          this.checksum = crc32.buf(chunk, this.checksum) >>> 0;
+          this.rawSize += chunk.length;
+        }
+        callback(null, chunk);
       }
-    }
-    var keys;
-    var method;
-    var v;
-    function Duplex(options) {
-      if (!(this instanceof Duplex)) return new Duplex(options);
-      Readable.call(this, options);
-      Writable.call(this, options);
-      if (options && options.readable === false) this.readable = false;
-      if (options && options.writable === false) this.writable = false;
-      this.allowHalfOpen = true;
-      if (options && options.allowHalfOpen === false) this.allowHalfOpen = false;
-      this.once("end", onend);
-    }
-    Object.defineProperty(Duplex.prototype, "writableHighWaterMark", {
-      // making it explicit this property is not enumerable
-      // because otherwise some prototype manipulation in
-      // userland will fail
-      enumerable: false,
-      get: function() {
-        return this._writableState.highWaterMark;
+      digest(encoding) {
+        const checksum = Buffer.allocUnsafe(4);
+        checksum.writeUInt32BE(this.checksum >>> 0, 0);
+        return encoding ? checksum.toString(encoding) : checksum;
       }
-    });
-    function onend() {
-      if (this.allowHalfOpen || this._writableState.ended) return;
-      pna.nextTick(onEndNT, this);
-    }
-    function onEndNT(self2) {
-      self2.end();
-    }
-    Object.defineProperty(Duplex.prototype, "destroyed", {
-      get: function() {
-        if (this._readableState === void 0 || this._writableState === void 0) {
-          return false;
-        }
-        return this._readableState.destroyed && this._writableState.destroyed;
-      },
-      set: function(value) {
-        if (this._readableState === void 0 || this._writableState === void 0) {
-          return;
-        }
-        this._readableState.destroyed = value;
-        this._writableState.destroyed = value;
+      hex() {
+        return this.digest("hex").toUpperCase();
+      }
+      size() {
+        return this.rawSize;
       }
-    });
-    Duplex.prototype._destroy = function(err, cb) {
-      this.push(null);
-      this.end();
-      pna.nextTick(cb, err);
     };
+    module2.exports = CRC32Stream;
   }
 });
 
-// node_modules/lazystream/node_modules/string_decoder/lib/string_decoder.js
-var require_string_decoder = __commonJS({
-  "node_modules/lazystream/node_modules/string_decoder/lib/string_decoder.js"(exports2) {
+// node_modules/crc32-stream/lib/deflate-crc32-stream.js
+var require_deflate_crc32_stream = __commonJS({
+  "node_modules/crc32-stream/lib/deflate-crc32-stream.js"(exports2, module2) {
     "use strict";
-    var Buffer2 = require_safe_buffer().Buffer;
-    var isEncoding = Buffer2.isEncoding || function(encoding) {
-      encoding = "" + encoding;
-      switch (encoding && encoding.toLowerCase()) {
-        case "hex":
-        case "utf8":
-        case "utf-8":
-        case "ascii":
-        case "binary":
-        case "base64":
-        case "ucs2":
-        case "ucs-2":
-        case "utf16le":
-        case "utf-16le":
-        case "raw":
-          return true;
-        default:
-          return false;
+    var { DeflateRaw } = require("zlib");
+    var crc32 = require_crc32();
+    var DeflateCRC32Stream = class extends DeflateRaw {
+      constructor(options) {
+        super(options);
+        this.checksum = Buffer.allocUnsafe(4);
+        this.checksum.writeInt32BE(0, 0);
+        this.rawSize = 0;
+        this.compressedSize = 0;
       }
-    };
-    function _normalizeEncoding(enc) {
-      if (!enc) return "utf8";
-      var retried;
-      while (true) {
-        switch (enc) {
-          case "utf8":
-          case "utf-8":
-            return "utf8";
-          case "ucs2":
-          case "ucs-2":
-          case "utf16le":
-          case "utf-16le":
-            return "utf16le";
-          case "latin1":
-          case "binary":
-            return "latin1";
-          case "base64":
-          case "ascii":
-          case "hex":
-            return enc;
-          default:
-            if (retried) return;
-            enc = ("" + enc).toLowerCase();
-            retried = true;
+      push(chunk, encoding) {
+        if (chunk) {
+          this.compressedSize += chunk.length;
         }
+        return super.push(chunk, encoding);
       }
-    }
-    function normalizeEncoding(enc) {
-      var nenc = _normalizeEncoding(enc);
-      if (typeof nenc !== "string" && (Buffer2.isEncoding === isEncoding || !isEncoding(enc))) throw new Error("Unknown encoding: " + enc);
-      return nenc || enc;
-    }
-    exports2.StringDecoder = StringDecoder;
-    function StringDecoder(encoding) {
-      this.encoding = normalizeEncoding(encoding);
-      var nb;
-      switch (this.encoding) {
-        case "utf16le":
-          this.text = utf16Text;
-          this.end = utf16End;
-          nb = 4;
-          break;
-        case "utf8":
-          this.fillLast = utf8FillLast;
-          nb = 4;
-          break;
-        case "base64":
-          this.text = base64Text;
-          this.end = base64End;
-          nb = 3;
-          break;
-        default:
-          this.write = simpleWrite;
-          this.end = simpleEnd;
-          return;
-      }
-      this.lastNeed = 0;
-      this.lastTotal = 0;
-      this.lastChar = Buffer2.allocUnsafe(nb);
-    }
-    StringDecoder.prototype.write = function(buf) {
-      if (buf.length === 0) return "";
-      var r;
-      var i;
-      if (this.lastNeed) {
-        r = this.fillLast(buf);
-        if (r === void 0) return "";
-        i = this.lastNeed;
-        this.lastNeed = 0;
-      } else {
-        i = 0;
-      }
-      if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);
-      return r || "";
-    };
-    StringDecoder.prototype.end = utf8End;
-    StringDecoder.prototype.text = utf8Text;
-    StringDecoder.prototype.fillLast = function(buf) {
-      if (this.lastNeed <= buf.length) {
-        buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);
-        return this.lastChar.toString(this.encoding, 0, this.lastTotal);
-      }
-      buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);
-      this.lastNeed -= buf.length;
-    };
-    function utf8CheckByte(byte) {
-      if (byte <= 127) return 0;
-      else if (byte >> 5 === 6) return 2;
-      else if (byte >> 4 === 14) return 3;
-      else if (byte >> 3 === 30) return 4;
-      return byte >> 6 === 2 ? -1 : -2;
-    }
-    function utf8CheckIncomplete(self2, buf, i) {
-      var j = buf.length - 1;
-      if (j < i) return 0;
-      var nb = utf8CheckByte(buf[j]);
-      if (nb >= 0) {
-        if (nb > 0) self2.lastNeed = nb - 1;
-        return nb;
-      }
-      if (--j < i || nb === -2) return 0;
-      nb = utf8CheckByte(buf[j]);
-      if (nb >= 0) {
-        if (nb > 0) self2.lastNeed = nb - 2;
-        return nb;
-      }
-      if (--j < i || nb === -2) return 0;
-      nb = utf8CheckByte(buf[j]);
-      if (nb >= 0) {
-        if (nb > 0) {
-          if (nb === 2) nb = 0;
-          else self2.lastNeed = nb - 3;
+      _transform(chunk, encoding, callback) {
+        if (chunk) {
+          this.checksum = crc32.buf(chunk, this.checksum) >>> 0;
+          this.rawSize += chunk.length;
         }
-        return nb;
-      }
-      return 0;
-    }
-    function utf8CheckExtraBytes(self2, buf, p) {
-      if ((buf[0] & 192) !== 128) {
-        self2.lastNeed = 0;
-        return "\uFFFD";
+        super._transform(chunk, encoding, callback);
       }
-      if (self2.lastNeed > 1 && buf.length > 1) {
-        if ((buf[1] & 192) !== 128) {
-          self2.lastNeed = 1;
-          return "\uFFFD";
-        }
-        if (self2.lastNeed > 2 && buf.length > 2) {
-          if ((buf[2] & 192) !== 128) {
-            self2.lastNeed = 2;
-            return "\uFFFD";
-          }
-        }
+      digest(encoding) {
+        const checksum = Buffer.allocUnsafe(4);
+        checksum.writeUInt32BE(this.checksum >>> 0, 0);
+        return encoding ? checksum.toString(encoding) : checksum;
       }
-    }
-    function utf8FillLast(buf) {
-      var p = this.lastTotal - this.lastNeed;
-      var r = utf8CheckExtraBytes(this, buf, p);
-      if (r !== void 0) return r;
-      if (this.lastNeed <= buf.length) {
-        buf.copy(this.lastChar, p, 0, this.lastNeed);
-        return this.lastChar.toString(this.encoding, 0, this.lastTotal);
+      hex() {
+        return this.digest("hex").toUpperCase();
       }
-      buf.copy(this.lastChar, p, 0, buf.length);
-      this.lastNeed -= buf.length;
-    }
-    function utf8Text(buf, i) {
-      var total = utf8CheckIncomplete(this, buf, i);
-      if (!this.lastNeed) return buf.toString("utf8", i);
-      this.lastTotal = total;
-      var end = buf.length - (total - this.lastNeed);
-      buf.copy(this.lastChar, 0, end);
-      return buf.toString("utf8", i, end);
-    }
-    function utf8End(buf) {
-      var r = buf && buf.length ? this.write(buf) : "";
-      if (this.lastNeed) return r + "\uFFFD";
-      return r;
-    }
-    function utf16Text(buf, i) {
-      if ((buf.length - i) % 2 === 0) {
-        var r = buf.toString("utf16le", i);
-        if (r) {
-          var c = r.charCodeAt(r.length - 1);
-          if (c >= 55296 && c <= 56319) {
-            this.lastNeed = 2;
-            this.lastTotal = 4;
-            this.lastChar[0] = buf[buf.length - 2];
-            this.lastChar[1] = buf[buf.length - 1];
-            return r.slice(0, -1);
-          }
+      size(compressed = false) {
+        if (compressed) {
+          return this.compressedSize;
+        } else {
+          return this.rawSize;
         }
-        return r;
-      }
-      this.lastNeed = 1;
-      this.lastTotal = 2;
-      this.lastChar[0] = buf[buf.length - 1];
-      return buf.toString("utf16le", i, buf.length - 1);
-    }
-    function utf16End(buf) {
-      var r = buf && buf.length ? this.write(buf) : "";
-      if (this.lastNeed) {
-        var end = this.lastTotal - this.lastNeed;
-        return r + this.lastChar.toString("utf16le", 0, end);
-      }
-      return r;
-    }
-    function base64Text(buf, i) {
-      var n = (buf.length - i) % 3;
-      if (n === 0) return buf.toString("base64", i);
-      this.lastNeed = 3 - n;
-      this.lastTotal = 3;
-      if (n === 1) {
-        this.lastChar[0] = buf[buf.length - 1];
-      } else {
-        this.lastChar[0] = buf[buf.length - 2];
-        this.lastChar[1] = buf[buf.length - 1];
       }
-      return buf.toString("base64", i, buf.length - n);
-    }
-    function base64End(buf) {
-      var r = buf && buf.length ? this.write(buf) : "";
-      if (this.lastNeed) return r + this.lastChar.toString("base64", 0, 3 - this.lastNeed);
-      return r;
-    }
-    function simpleWrite(buf) {
-      return buf.toString(this.encoding);
-    }
-    function simpleEnd(buf) {
-      return buf && buf.length ? this.write(buf) : "";
-    }
+    };
+    module2.exports = DeflateCRC32Stream;
   }
 });
 
-// node_modules/lazystream/node_modules/readable-stream/lib/_stream_readable.js
-var require_stream_readable = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_readable.js"(exports2, module2) {
+// node_modules/crc32-stream/lib/index.js
+var require_lib3 = __commonJS({
+  "node_modules/crc32-stream/lib/index.js"(exports2, module2) {
     "use strict";
-    var pna = require_process_nextick_args();
-    module2.exports = Readable;
-    var isArray = require_isarray();
-    var Duplex;
-    Readable.ReadableState = ReadableState;
-    var EE = require("events").EventEmitter;
-    var EElistenerCount = function(emitter, type2) {
-      return emitter.listeners(type2).length;
-    };
-    var Stream = require_stream();
-    var Buffer2 = require_safe_buffer().Buffer;
-    var OurUint8Array = (typeof global !== "undefined" ? global : typeof window !== "undefined" ? window : typeof self !== "undefined" ? self : {}).Uint8Array || function() {
+    module2.exports = {
+      CRC32Stream: require_crc32_stream(),
+      DeflateCRC32Stream: require_deflate_crc32_stream()
     };
-    function _uint8ArrayToBuffer(chunk) {
-      return Buffer2.from(chunk);
-    }
-    function _isUint8Array(obj) {
-      return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array;
-    }
-    var util = Object.create(require_util19());
-    util.inherits = require_inherits();
-    var debugUtil = require("util");
-    var debug4 = void 0;
-    if (debugUtil && debugUtil.debuglog) {
-      debug4 = debugUtil.debuglog("stream");
-    } else {
-      debug4 = function() {
-      };
-    }
-    var BufferList = require_BufferList();
-    var destroyImpl = require_destroy();
-    var StringDecoder;
-    util.inherits(Readable, Stream);
-    var kProxyEvents = ["error", "close", "destroy", "pause", "resume"];
-    function prependListener(emitter, event, fn) {
-      if (typeof emitter.prependListener === "function") return emitter.prependListener(event, fn);
-      if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);
-      else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);
-      else emitter._events[event] = [fn, emitter._events[event]];
-    }
-    function ReadableState(options, stream) {
-      Duplex = Duplex || require_stream_duplex();
-      options = options || {};
-      var isDuplex = stream instanceof Duplex;
-      this.objectMode = !!options.objectMode;
-      if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;
-      var hwm = options.highWaterMark;
-      var readableHwm = options.readableHighWaterMark;
-      var defaultHwm = this.objectMode ? 16 : 16 * 1024;
-      if (hwm || hwm === 0) this.highWaterMark = hwm;
-      else if (isDuplex && (readableHwm || readableHwm === 0)) this.highWaterMark = readableHwm;
-      else this.highWaterMark = defaultHwm;
-      this.highWaterMark = Math.floor(this.highWaterMark);
-      this.buffer = new BufferList();
-      this.length = 0;
-      this.pipes = null;
-      this.pipesCount = 0;
-      this.flowing = null;
-      this.ended = false;
-      this.endEmitted = false;
-      this.reading = false;
-      this.sync = true;
-      this.needReadable = false;
-      this.emittedReadable = false;
-      this.readableListening = false;
-      this.resumeScheduled = false;
-      this.destroyed = false;
-      this.defaultEncoding = options.defaultEncoding || "utf8";
-      this.awaitDrain = 0;
-      this.readingMore = false;
-      this.decoder = null;
-      this.encoding = null;
-      if (options.encoding) {
-        if (!StringDecoder) StringDecoder = require_string_decoder().StringDecoder;
-        this.decoder = new StringDecoder(options.encoding);
-        this.encoding = options.encoding;
-      }
-    }
-    function Readable(options) {
-      Duplex = Duplex || require_stream_duplex();
-      if (!(this instanceof Readable)) return new Readable(options);
-      this._readableState = new ReadableState(options, this);
-      this.readable = true;
-      if (options) {
-        if (typeof options.read === "function") this._read = options.read;
-        if (typeof options.destroy === "function") this._destroy = options.destroy;
+  }
+});
+
+// node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js
+var require_zip_archive_output_stream = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js"(exports2, module2) {
+    var inherits = require("util").inherits;
+    var crc32 = require_crc32();
+    var { CRC32Stream } = require_lib3();
+    var { DeflateCRC32Stream } = require_lib3();
+    var ArchiveOutputStream = require_archive_output_stream();
+    var ZipArchiveEntry = require_zip_archive_entry();
+    var GeneralPurposeBit = require_general_purpose_bit();
+    var constants = require_constants18();
+    var util = require_util23();
+    var zipUtil = require_util22();
+    var ZipArchiveOutputStream = module2.exports = function(options) {
+      if (!(this instanceof ZipArchiveOutputStream)) {
+        return new ZipArchiveOutputStream(options);
       }
-      Stream.call(this);
-    }
-    Object.defineProperty(Readable.prototype, "destroyed", {
-      get: function() {
-        if (this._readableState === void 0) {
-          return false;
-        }
-        return this._readableState.destroyed;
-      },
-      set: function(value) {
-        if (!this._readableState) {
-          return;
-        }
-        this._readableState.destroyed = value;
+      options = this.options = this._defaults(options);
+      ArchiveOutputStream.call(this, options);
+      this._entry = null;
+      this._entries = [];
+      this._archive = {
+        centralLength: 0,
+        centralOffset: 0,
+        comment: "",
+        finish: false,
+        finished: false,
+        processing: false,
+        forceZip64: options.forceZip64,
+        forceLocalTime: options.forceLocalTime
+      };
+    };
+    inherits(ZipArchiveOutputStream, ArchiveOutputStream);
+    ZipArchiveOutputStream.prototype._afterAppend = function(ae) {
+      this._entries.push(ae);
+      if (ae.getGeneralPurposeBit().usesDataDescriptor()) {
+        this._writeDataDescriptor(ae);
+      }
+      this._archive.processing = false;
+      this._entry = null;
+      if (this._archive.finish && !this._archive.finished) {
+        this._finish();
       }
-    });
-    Readable.prototype.destroy = destroyImpl.destroy;
-    Readable.prototype._undestroy = destroyImpl.undestroy;
-    Readable.prototype._destroy = function(err, cb) {
-      this.push(null);
-      cb(err);
     };
-    Readable.prototype.push = function(chunk, encoding) {
-      var state = this._readableState;
-      var skipChunkCheck;
-      if (!state.objectMode) {
-        if (typeof chunk === "string") {
-          encoding = encoding || state.defaultEncoding;
-          if (encoding !== state.encoding) {
-            chunk = Buffer2.from(chunk, encoding);
-            encoding = "";
-          }
-          skipChunkCheck = true;
-        }
+    ZipArchiveOutputStream.prototype._appendBuffer = function(ae, source, callback) {
+      if (source.length === 0) {
+        ae.setMethod(constants.METHOD_STORED);
+      }
+      var method = ae.getMethod();
+      if (method === constants.METHOD_STORED) {
+        ae.setSize(source.length);
+        ae.setCompressedSize(source.length);
+        ae.setCrc(crc32.buf(source) >>> 0);
+      }
+      this._writeLocalFileHeader(ae);
+      if (method === constants.METHOD_STORED) {
+        this.write(source);
+        this._afterAppend(ae);
+        callback(null, ae);
+        return;
+      } else if (method === constants.METHOD_DEFLATED) {
+        this._smartStream(ae, callback).end(source);
+        return;
       } else {
-        skipChunkCheck = true;
+        callback(new Error("compression method " + method + " not implemented"));
+        return;
       }
-      return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);
     };
-    Readable.prototype.unshift = function(chunk) {
-      return readableAddChunk(this, chunk, null, true, false);
+    ZipArchiveOutputStream.prototype._appendStream = function(ae, source, callback) {
+      ae.getGeneralPurposeBit().useDataDescriptor(true);
+      ae.setVersionNeededToExtract(constants.MIN_VERSION_DATA_DESCRIPTOR);
+      this._writeLocalFileHeader(ae);
+      var smart = this._smartStream(ae, callback);
+      source.once("error", function(err) {
+        smart.emit("error", err);
+        smart.end();
+      });
+      source.pipe(smart);
     };
-    function readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {
-      var state = stream._readableState;
-      if (chunk === null) {
-        state.reading = false;
-        onEofChunk(stream, state);
-      } else {
-        var er;
-        if (!skipChunkCheck) er = chunkInvalid(state, chunk);
-        if (er) {
-          stream.emit("error", er);
-        } else if (state.objectMode || chunk && chunk.length > 0) {
-          if (typeof chunk !== "string" && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer2.prototype) {
-            chunk = _uint8ArrayToBuffer(chunk);
-          }
-          if (addToFront) {
-            if (state.endEmitted) stream.emit("error", new Error("stream.unshift() after end event"));
-            else addChunk(stream, state, chunk, true);
-          } else if (state.ended) {
-            stream.emit("error", new Error("stream.push() after EOF"));
-          } else {
-            state.reading = false;
-            if (state.decoder && !encoding) {
-              chunk = state.decoder.write(chunk);
-              if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);
-              else maybeReadMore(stream, state);
-            } else {
-              addChunk(stream, state, chunk, false);
-            }
-          }
-        } else if (!addToFront) {
-          state.reading = false;
-        }
+    ZipArchiveOutputStream.prototype._defaults = function(o) {
+      if (typeof o !== "object") {
+        o = {};
       }
-      return needMoreData(state);
-    }
-    function addChunk(stream, state, chunk, addToFront) {
-      if (state.flowing && state.length === 0 && !state.sync) {
-        stream.emit("data", chunk);
-        stream.read(0);
-      } else {
-        state.length += state.objectMode ? 1 : chunk.length;
-        if (addToFront) state.buffer.unshift(chunk);
-        else state.buffer.push(chunk);
-        if (state.needReadable) emitReadable(stream);
+      if (typeof o.zlib !== "object") {
+        o.zlib = {};
       }
-      maybeReadMore(stream, state);
-    }
-    function chunkInvalid(state, chunk) {
-      var er;
-      if (!_isUint8Array(chunk) && typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) {
-        er = new TypeError("Invalid non-string/buffer chunk");
+      if (typeof o.zlib.level !== "number") {
+        o.zlib.level = constants.ZLIB_BEST_SPEED;
       }
-      return er;
-    }
-    function needMoreData(state) {
-      return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0);
-    }
-    Readable.prototype.isPaused = function() {
-      return this._readableState.flowing === false;
+      o.forceZip64 = !!o.forceZip64;
+      o.forceLocalTime = !!o.forceLocalTime;
+      return o;
     };
-    Readable.prototype.setEncoding = function(enc) {
-      if (!StringDecoder) StringDecoder = require_string_decoder().StringDecoder;
-      this._readableState.decoder = new StringDecoder(enc);
-      this._readableState.encoding = enc;
-      return this;
+    ZipArchiveOutputStream.prototype._finish = function() {
+      this._archive.centralOffset = this.offset;
+      this._entries.forEach(function(ae) {
+        this._writeCentralFileHeader(ae);
+      }.bind(this));
+      this._archive.centralLength = this.offset - this._archive.centralOffset;
+      if (this.isZip64()) {
+        this._writeCentralDirectoryZip64();
+      }
+      this._writeCentralDirectoryEnd();
+      this._archive.processing = false;
+      this._archive.finish = true;
+      this._archive.finished = true;
+      this.end();
     };
-    var MAX_HWM = 8388608;
-    function computeNewHighWaterMark(n) {
-      if (n >= MAX_HWM) {
-        n = MAX_HWM;
-      } else {
-        n--;
-        n |= n >>> 1;
-        n |= n >>> 2;
-        n |= n >>> 4;
-        n |= n >>> 8;
-        n |= n >>> 16;
-        n++;
+    ZipArchiveOutputStream.prototype._normalizeEntry = function(ae) {
+      if (ae.getMethod() === -1) {
+        ae.setMethod(constants.METHOD_DEFLATED);
       }
-      return n;
-    }
-    function howMuchToRead(n, state) {
-      if (n <= 0 || state.length === 0 && state.ended) return 0;
-      if (state.objectMode) return 1;
-      if (n !== n) {
-        if (state.flowing && state.length) return state.buffer.head.data.length;
-        else return state.length;
+      if (ae.getMethod() === constants.METHOD_DEFLATED) {
+        ae.getGeneralPurposeBit().useDataDescriptor(true);
+        ae.setVersionNeededToExtract(constants.MIN_VERSION_DATA_DESCRIPTOR);
       }
-      if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);
-      if (n <= state.length) return n;
-      if (!state.ended) {
-        state.needReadable = true;
-        return 0;
+      if (ae.getTime() === -1) {
+        ae.setTime(/* @__PURE__ */ new Date(), this._archive.forceLocalTime);
       }
-      return state.length;
-    }
-    Readable.prototype.read = function(n) {
-      debug4("read", n);
-      n = parseInt(n, 10);
-      var state = this._readableState;
-      var nOrig = n;
-      if (n !== 0) state.emittedReadable = false;
-      if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) {
-        debug4("read: emitReadable", state.length, state.ended);
-        if (state.length === 0 && state.ended) endReadable(this);
-        else emitReadable(this);
-        return null;
+      ae._offsets = {
+        file: 0,
+        data: 0,
+        contents: 0
+      };
+    };
+    ZipArchiveOutputStream.prototype._smartStream = function(ae, callback) {
+      var deflate = ae.getMethod() === constants.METHOD_DEFLATED;
+      var process2 = deflate ? new DeflateCRC32Stream(this.options.zlib) : new CRC32Stream();
+      var error3 = null;
+      function handleStuff() {
+        var digest = process2.digest().readUInt32BE(0);
+        ae.setCrc(digest);
+        ae.setSize(process2.size());
+        ae.setCompressedSize(process2.size(true));
+        this._afterAppend(ae);
+        callback(error3, ae);
       }
-      n = howMuchToRead(n, state);
-      if (n === 0 && state.ended) {
-        if (state.length === 0) endReadable(this);
-        return null;
+      process2.once("end", handleStuff.bind(this));
+      process2.once("error", function(err) {
+        error3 = err;
+      });
+      process2.pipe(this, { end: false });
+      return process2;
+    };
+    ZipArchiveOutputStream.prototype._writeCentralDirectoryEnd = function() {
+      var records = this._entries.length;
+      var size = this._archive.centralLength;
+      var offset = this._archive.centralOffset;
+      if (this.isZip64()) {
+        records = constants.ZIP64_MAGIC_SHORT;
+        size = constants.ZIP64_MAGIC;
+        offset = constants.ZIP64_MAGIC;
       }
-      var doRead = state.needReadable;
-      debug4("need readable", doRead);
-      if (state.length === 0 || state.length - n < state.highWaterMark) {
-        doRead = true;
-        debug4("length less than watermark", doRead);
+      this.write(zipUtil.getLongBytes(constants.SIG_EOCD));
+      this.write(constants.SHORT_ZERO);
+      this.write(constants.SHORT_ZERO);
+      this.write(zipUtil.getShortBytes(records));
+      this.write(zipUtil.getShortBytes(records));
+      this.write(zipUtil.getLongBytes(size));
+      this.write(zipUtil.getLongBytes(offset));
+      var comment = this.getComment();
+      var commentLength = Buffer.byteLength(comment);
+      this.write(zipUtil.getShortBytes(commentLength));
+      this.write(comment);
+    };
+    ZipArchiveOutputStream.prototype._writeCentralDirectoryZip64 = function() {
+      this.write(zipUtil.getLongBytes(constants.SIG_ZIP64_EOCD));
+      this.write(zipUtil.getEightBytes(44));
+      this.write(zipUtil.getShortBytes(constants.MIN_VERSION_ZIP64));
+      this.write(zipUtil.getShortBytes(constants.MIN_VERSION_ZIP64));
+      this.write(constants.LONG_ZERO);
+      this.write(constants.LONG_ZERO);
+      this.write(zipUtil.getEightBytes(this._entries.length));
+      this.write(zipUtil.getEightBytes(this._entries.length));
+      this.write(zipUtil.getEightBytes(this._archive.centralLength));
+      this.write(zipUtil.getEightBytes(this._archive.centralOffset));
+      this.write(zipUtil.getLongBytes(constants.SIG_ZIP64_EOCD_LOC));
+      this.write(constants.LONG_ZERO);
+      this.write(zipUtil.getEightBytes(this._archive.centralOffset + this._archive.centralLength));
+      this.write(zipUtil.getLongBytes(1));
+    };
+    ZipArchiveOutputStream.prototype._writeCentralFileHeader = function(ae) {
+      var gpb = ae.getGeneralPurposeBit();
+      var method = ae.getMethod();
+      var fileOffset = ae._offsets.file;
+      var size = ae.getSize();
+      var compressedSize = ae.getCompressedSize();
+      if (ae.isZip64() || fileOffset > constants.ZIP64_MAGIC) {
+        size = constants.ZIP64_MAGIC;
+        compressedSize = constants.ZIP64_MAGIC;
+        fileOffset = constants.ZIP64_MAGIC;
+        ae.setVersionNeededToExtract(constants.MIN_VERSION_ZIP64);
+        var extraBuf = Buffer.concat([
+          zipUtil.getShortBytes(constants.ZIP64_EXTRA_ID),
+          zipUtil.getShortBytes(24),
+          zipUtil.getEightBytes(ae.getSize()),
+          zipUtil.getEightBytes(ae.getCompressedSize()),
+          zipUtil.getEightBytes(ae._offsets.file)
+        ], 28);
+        ae.setExtra(extraBuf);
       }
-      if (state.ended || state.reading) {
-        doRead = false;
-        debug4("reading or ended", doRead);
-      } else if (doRead) {
-        debug4("do read");
-        state.reading = true;
-        state.sync = true;
-        if (state.length === 0) state.needReadable = true;
-        this._read(state.highWaterMark);
-        state.sync = false;
-        if (!state.reading) n = howMuchToRead(nOrig, state);
+      this.write(zipUtil.getLongBytes(constants.SIG_CFH));
+      this.write(zipUtil.getShortBytes(ae.getPlatform() << 8 | constants.VERSION_MADEBY));
+      this.write(zipUtil.getShortBytes(ae.getVersionNeededToExtract()));
+      this.write(gpb.encode());
+      this.write(zipUtil.getShortBytes(method));
+      this.write(zipUtil.getLongBytes(ae.getTimeDos()));
+      this.write(zipUtil.getLongBytes(ae.getCrc()));
+      this.write(zipUtil.getLongBytes(compressedSize));
+      this.write(zipUtil.getLongBytes(size));
+      var name = ae.getName();
+      var comment = ae.getComment();
+      var extra = ae.getCentralDirectoryExtra();
+      if (gpb.usesUTF8ForNames()) {
+        name = Buffer.from(name);
+        comment = Buffer.from(comment);
       }
-      var ret;
-      if (n > 0) ret = fromList(n, state);
-      else ret = null;
-      if (ret === null) {
-        state.needReadable = true;
-        n = 0;
+      this.write(zipUtil.getShortBytes(name.length));
+      this.write(zipUtil.getShortBytes(extra.length));
+      this.write(zipUtil.getShortBytes(comment.length));
+      this.write(constants.SHORT_ZERO);
+      this.write(zipUtil.getShortBytes(ae.getInternalAttributes()));
+      this.write(zipUtil.getLongBytes(ae.getExternalAttributes()));
+      this.write(zipUtil.getLongBytes(fileOffset));
+      this.write(name);
+      this.write(extra);
+      this.write(comment);
+    };
+    ZipArchiveOutputStream.prototype._writeDataDescriptor = function(ae) {
+      this.write(zipUtil.getLongBytes(constants.SIG_DD));
+      this.write(zipUtil.getLongBytes(ae.getCrc()));
+      if (ae.isZip64()) {
+        this.write(zipUtil.getEightBytes(ae.getCompressedSize()));
+        this.write(zipUtil.getEightBytes(ae.getSize()));
       } else {
-        state.length -= n;
+        this.write(zipUtil.getLongBytes(ae.getCompressedSize()));
+        this.write(zipUtil.getLongBytes(ae.getSize()));
       }
-      if (state.length === 0) {
-        if (!state.ended) state.needReadable = true;
-        if (nOrig !== n && state.ended) endReadable(this);
+    };
+    ZipArchiveOutputStream.prototype._writeLocalFileHeader = function(ae) {
+      var gpb = ae.getGeneralPurposeBit();
+      var method = ae.getMethod();
+      var name = ae.getName();
+      var extra = ae.getLocalFileDataExtra();
+      if (ae.isZip64()) {
+        gpb.useDataDescriptor(true);
+        ae.setVersionNeededToExtract(constants.MIN_VERSION_ZIP64);
       }
-      if (ret !== null) this.emit("data", ret);
-      return ret;
+      if (gpb.usesUTF8ForNames()) {
+        name = Buffer.from(name);
+      }
+      ae._offsets.file = this.offset;
+      this.write(zipUtil.getLongBytes(constants.SIG_LFH));
+      this.write(zipUtil.getShortBytes(ae.getVersionNeededToExtract()));
+      this.write(gpb.encode());
+      this.write(zipUtil.getShortBytes(method));
+      this.write(zipUtil.getLongBytes(ae.getTimeDos()));
+      ae._offsets.data = this.offset;
+      if (gpb.usesDataDescriptor()) {
+        this.write(constants.LONG_ZERO);
+        this.write(constants.LONG_ZERO);
+        this.write(constants.LONG_ZERO);
+      } else {
+        this.write(zipUtil.getLongBytes(ae.getCrc()));
+        this.write(zipUtil.getLongBytes(ae.getCompressedSize()));
+        this.write(zipUtil.getLongBytes(ae.getSize()));
+      }
+      this.write(zipUtil.getShortBytes(name.length));
+      this.write(zipUtil.getShortBytes(extra.length));
+      this.write(name);
+      this.write(extra);
+      ae._offsets.contents = this.offset;
     };
-    function onEofChunk(stream, state) {
-      if (state.ended) return;
-      if (state.decoder) {
-        var chunk = state.decoder.end();
-        if (chunk && chunk.length) {
-          state.buffer.push(chunk);
-          state.length += state.objectMode ? 1 : chunk.length;
-        }
+    ZipArchiveOutputStream.prototype.getComment = function(comment) {
+      return this._archive.comment !== null ? this._archive.comment : "";
+    };
+    ZipArchiveOutputStream.prototype.isZip64 = function() {
+      return this._archive.forceZip64 || this._entries.length > constants.ZIP64_MAGIC_SHORT || this._archive.centralLength > constants.ZIP64_MAGIC || this._archive.centralOffset > constants.ZIP64_MAGIC;
+    };
+    ZipArchiveOutputStream.prototype.setComment = function(comment) {
+      this._archive.comment = comment;
+    };
+  }
+});
+
+// node_modules/compress-commons/lib/compress-commons.js
+var require_compress_commons = __commonJS({
+  "node_modules/compress-commons/lib/compress-commons.js"(exports2, module2) {
+    module2.exports = {
+      ArchiveEntry: require_archive_entry(),
+      ZipArchiveEntry: require_zip_archive_entry(),
+      ArchiveOutputStream: require_archive_output_stream(),
+      ZipArchiveOutputStream: require_zip_archive_output_stream()
+    };
+  }
+});
+
+// node_modules/zip-stream/index.js
+var require_zip_stream = __commonJS({
+  "node_modules/zip-stream/index.js"(exports2, module2) {
+    var inherits = require("util").inherits;
+    var ZipArchiveOutputStream = require_compress_commons().ZipArchiveOutputStream;
+    var ZipArchiveEntry = require_compress_commons().ZipArchiveEntry;
+    var util = require_archiver_utils();
+    var ZipStream = module2.exports = function(options) {
+      if (!(this instanceof ZipStream)) {
+        return new ZipStream(options);
       }
-      state.ended = true;
-      emitReadable(stream);
-    }
-    function emitReadable(stream) {
-      var state = stream._readableState;
-      state.needReadable = false;
-      if (!state.emittedReadable) {
-        debug4("emitReadable", state.flowing);
-        state.emittedReadable = true;
-        if (state.sync) pna.nextTick(emitReadable_, stream);
-        else emitReadable_(stream);
+      options = this.options = options || {};
+      options.zlib = options.zlib || {};
+      ZipArchiveOutputStream.call(this, options);
+      if (typeof options.level === "number" && options.level >= 0) {
+        options.zlib.level = options.level;
+        delete options.level;
       }
-    }
-    function emitReadable_(stream) {
-      debug4("emit readable");
-      stream.emit("readable");
-      flow(stream);
-    }
-    function maybeReadMore(stream, state) {
-      if (!state.readingMore) {
-        state.readingMore = true;
-        pna.nextTick(maybeReadMore_, stream, state);
+      if (!options.forceZip64 && typeof options.zlib.level === "number" && options.zlib.level === 0) {
+        options.store = true;
       }
-    }
-    function maybeReadMore_(stream, state) {
-      var len = state.length;
-      while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) {
-        debug4("maybeReadMore read 0");
-        stream.read(0);
-        if (len === state.length)
-          break;
-        else len = state.length;
+      options.namePrependSlash = options.namePrependSlash || false;
+      if (options.comment && options.comment.length > 0) {
+        this.setComment(options.comment);
       }
-      state.readingMore = false;
-    }
-    Readable.prototype._read = function(n) {
-      this.emit("error", new Error("_read() is not implemented"));
     };
-    Readable.prototype.pipe = function(dest, pipeOpts) {
-      var src = this;
-      var state = this._readableState;
-      switch (state.pipesCount) {
-        case 0:
-          state.pipes = dest;
-          break;
-        case 1:
-          state.pipes = [state.pipes, dest];
-          break;
-        default:
-          state.pipes.push(dest);
-          break;
-      }
-      state.pipesCount += 1;
-      debug4("pipe count=%d opts=%j", state.pipesCount, pipeOpts);
-      var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;
-      var endFn = doEnd ? onend : unpipe;
-      if (state.endEmitted) pna.nextTick(endFn);
-      else src.once("end", endFn);
-      dest.on("unpipe", onunpipe);
-      function onunpipe(readable, unpipeInfo) {
-        debug4("onunpipe");
-        if (readable === src) {
-          if (unpipeInfo && unpipeInfo.hasUnpiped === false) {
-            unpipeInfo.hasUnpiped = true;
-            cleanup();
-          }
+    inherits(ZipStream, ZipArchiveOutputStream);
+    ZipStream.prototype._normalizeFileData = function(data) {
+      data = util.defaults(data, {
+        type: "file",
+        name: null,
+        namePrependSlash: this.options.namePrependSlash,
+        linkname: null,
+        date: null,
+        mode: null,
+        store: this.options.store,
+        comment: ""
+      });
+      var isDir = data.type === "directory";
+      var isSymlink = data.type === "symlink";
+      if (data.name) {
+        data.name = util.sanitizePath(data.name);
+        if (!isSymlink && data.name.slice(-1) === "/") {
+          isDir = true;
+          data.type = "directory";
+        } else if (isDir) {
+          data.name += "/";
         }
       }
-      function onend() {
-        debug4("onend");
-        dest.end();
+      if (isDir || isSymlink) {
+        data.store = true;
+      }
+      data.date = util.dateify(data.date);
+      return data;
+    };
+    ZipStream.prototype.entry = function(source, data, callback) {
+      if (typeof callback !== "function") {
+        callback = this._emitErrorCallback.bind(this);
       }
-      var ondrain = pipeOnDrain(src);
-      dest.on("drain", ondrain);
-      var cleanedUp = false;
-      function cleanup() {
-        debug4("cleanup");
-        dest.removeListener("close", onclose);
-        dest.removeListener("finish", onfinish);
-        dest.removeListener("drain", ondrain);
-        dest.removeListener("error", onerror);
-        dest.removeListener("unpipe", onunpipe);
-        src.removeListener("end", onend);
-        src.removeListener("end", unpipe);
-        src.removeListener("data", ondata);
-        cleanedUp = true;
-        if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();
+      data = this._normalizeFileData(data);
+      if (data.type !== "file" && data.type !== "directory" && data.type !== "symlink") {
+        callback(new Error(data.type + " entries not currently supported"));
+        return;
       }
-      var increasedAwaitDrain = false;
-      src.on("data", ondata);
-      function ondata(chunk) {
-        debug4("ondata");
-        increasedAwaitDrain = false;
-        var ret = dest.write(chunk);
-        if (false === ret && !increasedAwaitDrain) {
-          if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {
-            debug4("false write response, pause", state.awaitDrain);
-            state.awaitDrain++;
-            increasedAwaitDrain = true;
-          }
-          src.pause();
-        }
+      if (typeof data.name !== "string" || data.name.length === 0) {
+        callback(new Error("entry name must be a non-empty string value"));
+        return;
       }
-      function onerror(er) {
-        debug4("onerror", er);
-        unpipe();
-        dest.removeListener("error", onerror);
-        if (EElistenerCount(dest, "error") === 0) dest.emit("error", er);
+      if (data.type === "symlink" && typeof data.linkname !== "string") {
+        callback(new Error("entry linkname must be a non-empty string value when type equals symlink"));
+        return;
       }
-      prependListener(dest, "error", onerror);
-      function onclose() {
-        dest.removeListener("finish", onfinish);
-        unpipe();
+      var entry = new ZipArchiveEntry(data.name);
+      entry.setTime(data.date, this.options.forceLocalTime);
+      if (data.namePrependSlash) {
+        entry.setName(data.name, true);
       }
-      dest.once("close", onclose);
-      function onfinish() {
-        debug4("onfinish");
-        dest.removeListener("close", onclose);
-        unpipe();
+      if (data.store) {
+        entry.setMethod(0);
       }
-      dest.once("finish", onfinish);
-      function unpipe() {
-        debug4("unpipe");
-        src.unpipe(dest);
+      if (data.comment.length > 0) {
+        entry.setComment(data.comment);
       }
-      dest.emit("pipe", src);
-      if (!state.flowing) {
-        debug4("pipe resume");
-        src.resume();
+      if (data.type === "symlink" && typeof data.mode !== "number") {
+        data.mode = 40960;
       }
-      return dest;
-    };
-    function pipeOnDrain(src) {
-      return function() {
-        var state = src._readableState;
-        debug4("pipeOnDrain", state.awaitDrain);
-        if (state.awaitDrain) state.awaitDrain--;
-        if (state.awaitDrain === 0 && EElistenerCount(src, "data")) {
-          state.flowing = true;
-          flow(src);
+      if (typeof data.mode === "number") {
+        if (data.type === "symlink") {
+          data.mode |= 40960;
         }
-      };
-    }
-    Readable.prototype.unpipe = function(dest) {
-      var state = this._readableState;
-      var unpipeInfo = { hasUnpiped: false };
-      if (state.pipesCount === 0) return this;
-      if (state.pipesCount === 1) {
-        if (dest && dest !== state.pipes) return this;
-        if (!dest) dest = state.pipes;
-        state.pipes = null;
-        state.pipesCount = 0;
-        state.flowing = false;
-        if (dest) dest.emit("unpipe", this, unpipeInfo);
-        return this;
+        entry.setUnixMode(data.mode);
       }
-      if (!dest) {
-        var dests = state.pipes;
-        var len = state.pipesCount;
-        state.pipes = null;
-        state.pipesCount = 0;
-        state.flowing = false;
-        for (var i = 0; i < len; i++) {
-          dests[i].emit("unpipe", this, { hasUnpiped: false });
-        }
-        return this;
+      if (data.type === "symlink" && typeof data.linkname === "string") {
+        source = Buffer.from(data.linkname);
       }
-      var index = indexOf(state.pipes, dest);
-      if (index === -1) return this;
-      state.pipes.splice(index, 1);
-      state.pipesCount -= 1;
-      if (state.pipesCount === 1) state.pipes = state.pipes[0];
-      dest.emit("unpipe", this, unpipeInfo);
-      return this;
+      return ZipArchiveOutputStream.prototype.entry.call(this, entry, source, callback);
     };
-    Readable.prototype.on = function(ev, fn) {
-      var res = Stream.prototype.on.call(this, ev, fn);
-      if (ev === "data") {
-        if (this._readableState.flowing !== false) this.resume();
-      } else if (ev === "readable") {
-        var state = this._readableState;
-        if (!state.endEmitted && !state.readableListening) {
-          state.readableListening = state.needReadable = true;
-          state.emittedReadable = false;
-          if (!state.reading) {
-            pna.nextTick(nReadingNextTick, this);
-          } else if (state.length) {
-            emitReadable(this);
-          }
-        }
-      }
-      return res;
+    ZipStream.prototype.finalize = function() {
+      this.finish();
     };
-    Readable.prototype.addListener = Readable.prototype.on;
-    function nReadingNextTick(self2) {
-      debug4("readable nexttick read 0");
-      self2.read(0);
-    }
-    Readable.prototype.resume = function() {
-      var state = this._readableState;
-      if (!state.flowing) {
-        debug4("resume");
-        state.flowing = true;
-        resume(this, state);
+  }
+});
+
+// node_modules/archiver/lib/plugins/zip.js
+var require_zip = __commonJS({
+  "node_modules/archiver/lib/plugins/zip.js"(exports2, module2) {
+    var engine = require_zip_stream();
+    var util = require_archiver_utils();
+    var Zip = function(options) {
+      if (!(this instanceof Zip)) {
+        return new Zip(options);
       }
-      return this;
+      options = this.options = util.defaults(options, {
+        comment: "",
+        forceUTC: false,
+        namePrependSlash: false,
+        store: false
+      });
+      this.supports = {
+        directory: true,
+        symlink: true
+      };
+      this.engine = new engine(options);
     };
-    function resume(stream, state) {
-      if (!state.resumeScheduled) {
-        state.resumeScheduled = true;
-        pna.nextTick(resume_, stream, state);
+    Zip.prototype.append = function(source, data, callback) {
+      this.engine.entry(source, data, callback);
+    };
+    Zip.prototype.finalize = function() {
+      this.engine.finalize();
+    };
+    Zip.prototype.on = function() {
+      return this.engine.on.apply(this.engine, arguments);
+    };
+    Zip.prototype.pipe = function() {
+      return this.engine.pipe.apply(this.engine, arguments);
+    };
+    Zip.prototype.unpipe = function() {
+      return this.engine.unpipe.apply(this.engine, arguments);
+    };
+    module2.exports = Zip;
+  }
+});
+
+// node_modules/queue-tick/queue-microtask.js
+var require_queue_microtask = __commonJS({
+  "node_modules/queue-tick/queue-microtask.js"(exports2, module2) {
+    module2.exports = typeof queueMicrotask === "function" ? queueMicrotask : (fn) => Promise.resolve().then(fn);
+  }
+});
+
+// node_modules/queue-tick/process-next-tick.js
+var require_process_next_tick = __commonJS({
+  "node_modules/queue-tick/process-next-tick.js"(exports2, module2) {
+    module2.exports = typeof process !== "undefined" && typeof process.nextTick === "function" ? process.nextTick.bind(process) : require_queue_microtask();
+  }
+});
+
+// node_modules/fast-fifo/fixed-size.js
+var require_fixed_size = __commonJS({
+  "node_modules/fast-fifo/fixed-size.js"(exports2, module2) {
+    module2.exports = class FixedFIFO {
+      constructor(hwm) {
+        if (!(hwm > 0) || (hwm - 1 & hwm) !== 0) throw new Error("Max size for a FixedFIFO should be a power of two");
+        this.buffer = new Array(hwm);
+        this.mask = hwm - 1;
+        this.top = 0;
+        this.btm = 0;
+        this.next = null;
       }
-    }
-    function resume_(stream, state) {
-      if (!state.reading) {
-        debug4("resume read 0");
-        stream.read(0);
+      clear() {
+        this.top = this.btm = 0;
+        this.next = null;
+        this.buffer.fill(void 0);
       }
-      state.resumeScheduled = false;
-      state.awaitDrain = 0;
-      stream.emit("resume");
-      flow(stream);
-      if (state.flowing && !state.reading) stream.read(0);
-    }
-    Readable.prototype.pause = function() {
-      debug4("call pause flowing=%j", this._readableState.flowing);
-      if (false !== this._readableState.flowing) {
-        debug4("pause");
-        this._readableState.flowing = false;
-        this.emit("pause");
+      push(data) {
+        if (this.buffer[this.top] !== void 0) return false;
+        this.buffer[this.top] = data;
+        this.top = this.top + 1 & this.mask;
+        return true;
       }
-      return this;
-    };
-    function flow(stream) {
-      var state = stream._readableState;
-      debug4("flow", state.flowing);
-      while (state.flowing && stream.read() !== null) {
+      shift() {
+        const last = this.buffer[this.btm];
+        if (last === void 0) return void 0;
+        this.buffer[this.btm] = void 0;
+        this.btm = this.btm + 1 & this.mask;
+        return last;
       }
-    }
-    Readable.prototype.wrap = function(stream) {
-      var _this = this;
-      var state = this._readableState;
-      var paused = false;
-      stream.on("end", function() {
-        debug4("wrapped end");
-        if (state.decoder && !state.ended) {
-          var chunk = state.decoder.end();
-          if (chunk && chunk.length) _this.push(chunk);
-        }
-        _this.push(null);
-      });
-      stream.on("data", function(chunk) {
-        debug4("wrapped data");
-        if (state.decoder) chunk = state.decoder.write(chunk);
-        if (state.objectMode && (chunk === null || chunk === void 0)) return;
-        else if (!state.objectMode && (!chunk || !chunk.length)) return;
-        var ret = _this.push(chunk);
-        if (!ret) {
-          paused = true;
-          stream.pause();
-        }
-      });
-      for (var i in stream) {
-        if (this[i] === void 0 && typeof stream[i] === "function") {
-          this[i] = /* @__PURE__ */ (function(method) {
-            return function() {
-              return stream[method].apply(stream, arguments);
-            };
-          })(i);
-        }
+      peek() {
+        return this.buffer[this.btm];
       }
-      for (var n = 0; n < kProxyEvents.length; n++) {
-        stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));
+      isEmpty() {
+        return this.buffer[this.btm] === void 0;
       }
-      this._read = function(n2) {
-        debug4("wrapped _read", n2);
-        if (paused) {
-          paused = false;
-          stream.resume();
-        }
-      };
-      return this;
     };
-    Object.defineProperty(Readable.prototype, "readableHighWaterMark", {
-      // making it explicit this property is not enumerable
-      // because otherwise some prototype manipulation in
-      // userland will fail
-      enumerable: false,
-      get: function() {
-        return this._readableState.highWaterMark;
+  }
+});
+
+// node_modules/fast-fifo/index.js
+var require_fast_fifo = __commonJS({
+  "node_modules/fast-fifo/index.js"(exports2, module2) {
+    var FixedFIFO = require_fixed_size();
+    module2.exports = class FastFIFO {
+      constructor(hwm) {
+        this.hwm = hwm || 16;
+        this.head = new FixedFIFO(this.hwm);
+        this.tail = this.head;
+        this.length = 0;
       }
-    });
-    Readable._fromList = fromList;
-    function fromList(n, state) {
-      if (state.length === 0) return null;
-      var ret;
-      if (state.objectMode) ret = state.buffer.shift();
-      else if (!n || n >= state.length) {
-        if (state.decoder) ret = state.buffer.join("");
-        else if (state.buffer.length === 1) ret = state.buffer.head.data;
-        else ret = state.buffer.concat(state.length);
-        state.buffer.clear();
-      } else {
-        ret = fromListPartial(n, state.buffer, state.decoder);
+      clear() {
+        this.head = this.tail;
+        this.head.clear();
+        this.length = 0;
       }
-      return ret;
-    }
-    function fromListPartial(n, list, hasStrings) {
-      var ret;
-      if (n < list.head.data.length) {
-        ret = list.head.data.slice(0, n);
-        list.head.data = list.head.data.slice(n);
-      } else if (n === list.head.data.length) {
-        ret = list.shift();
-      } else {
-        ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list);
+      push(val) {
+        this.length++;
+        if (!this.head.push(val)) {
+          const prev = this.head;
+          this.head = prev.next = new FixedFIFO(2 * this.head.buffer.length);
+          this.head.push(val);
+        }
       }
-      return ret;
-    }
-    function copyFromBufferString(n, list) {
-      var p = list.head;
-      var c = 1;
-      var ret = p.data;
-      n -= ret.length;
-      while (p = p.next) {
-        var str2 = p.data;
-        var nb = n > str2.length ? str2.length : n;
-        if (nb === str2.length) ret += str2;
-        else ret += str2.slice(0, n);
-        n -= nb;
-        if (n === 0) {
-          if (nb === str2.length) {
-            ++c;
-            if (p.next) list.head = p.next;
-            else list.head = list.tail = null;
-          } else {
-            list.head = p;
-            p.data = str2.slice(nb);
-          }
-          break;
+      shift() {
+        if (this.length !== 0) this.length--;
+        const val = this.tail.shift();
+        if (val === void 0 && this.tail.next) {
+          const next = this.tail.next;
+          this.tail.next = null;
+          this.tail = next;
+          return this.tail.shift();
         }
-        ++c;
+        return val;
       }
-      list.length -= c;
-      return ret;
+      peek() {
+        const val = this.tail.peek();
+        if (val === void 0 && this.tail.next) return this.tail.next.peek();
+        return val;
+      }
+      isEmpty() {
+        return this.length === 0;
+      }
+    };
+  }
+});
+
+// node_modules/b4a/index.js
+var require_b4a = __commonJS({
+  "node_modules/b4a/index.js"(exports2, module2) {
+    function isBuffer(value) {
+      return Buffer.isBuffer(value) || value instanceof Uint8Array;
+    }
+    function isEncoding(encoding) {
+      return Buffer.isEncoding(encoding);
+    }
+    function alloc(size, fill2, encoding) {
+      return Buffer.alloc(size, fill2, encoding);
+    }
+    function allocUnsafe(size) {
+      return Buffer.allocUnsafe(size);
+    }
+    function allocUnsafeSlow(size) {
+      return Buffer.allocUnsafeSlow(size);
+    }
+    function byteLength(string, encoding) {
+      return Buffer.byteLength(string, encoding);
+    }
+    function compare2(a, b) {
+      return Buffer.compare(a, b);
+    }
+    function concat(buffers, totalLength) {
+      return Buffer.concat(buffers, totalLength);
+    }
+    function copy(source, target, targetStart, start, end) {
+      return toBuffer(source).copy(target, targetStart, start, end);
+    }
+    function equals(a, b) {
+      return toBuffer(a).equals(b);
+    }
+    function fill(buffer, value, offset, end, encoding) {
+      return toBuffer(buffer).fill(value, offset, end, encoding);
+    }
+    function from(value, encodingOrOffset, length) {
+      return Buffer.from(value, encodingOrOffset, length);
+    }
+    function includes(buffer, value, byteOffset, encoding) {
+      return toBuffer(buffer).includes(value, byteOffset, encoding);
+    }
+    function indexOf(buffer, value, byfeOffset, encoding) {
+      return toBuffer(buffer).indexOf(value, byfeOffset, encoding);
+    }
+    function lastIndexOf(buffer, value, byteOffset, encoding) {
+      return toBuffer(buffer).lastIndexOf(value, byteOffset, encoding);
+    }
+    function swap16(buffer) {
+      return toBuffer(buffer).swap16();
+    }
+    function swap32(buffer) {
+      return toBuffer(buffer).swap32();
+    }
+    function swap64(buffer) {
+      return toBuffer(buffer).swap64();
+    }
+    function toBuffer(buffer) {
+      if (Buffer.isBuffer(buffer)) return buffer;
+      return Buffer.from(buffer.buffer, buffer.byteOffset, buffer.byteLength);
+    }
+    function toString2(buffer, encoding, start, end) {
+      return toBuffer(buffer).toString(encoding, start, end);
+    }
+    function write(buffer, string, offset, length, encoding) {
+      return toBuffer(buffer).write(string, offset, length, encoding);
+    }
+    function writeDoubleLE(buffer, value, offset) {
+      return toBuffer(buffer).writeDoubleLE(value, offset);
+    }
+    function writeFloatLE(buffer, value, offset) {
+      return toBuffer(buffer).writeFloatLE(value, offset);
+    }
+    function writeUInt32LE(buffer, value, offset) {
+      return toBuffer(buffer).writeUInt32LE(value, offset);
+    }
+    function writeInt32LE(buffer, value, offset) {
+      return toBuffer(buffer).writeInt32LE(value, offset);
+    }
+    function readDoubleLE(buffer, offset) {
+      return toBuffer(buffer).readDoubleLE(offset);
+    }
+    function readFloatLE(buffer, offset) {
+      return toBuffer(buffer).readFloatLE(offset);
+    }
+    function readUInt32LE(buffer, offset) {
+      return toBuffer(buffer).readUInt32LE(offset);
+    }
+    function readInt32LE(buffer, offset) {
+      return toBuffer(buffer).readInt32LE(offset);
+    }
+    function writeDoubleBE(buffer, value, offset) {
+      return toBuffer(buffer).writeDoubleBE(value, offset);
+    }
+    function writeFloatBE(buffer, value, offset) {
+      return toBuffer(buffer).writeFloatBE(value, offset);
+    }
+    function writeUInt32BE(buffer, value, offset) {
+      return toBuffer(buffer).writeUInt32BE(value, offset);
+    }
+    function writeInt32BE(buffer, value, offset) {
+      return toBuffer(buffer).writeInt32BE(value, offset);
     }
-    function copyFromBuffer(n, list) {
-      var ret = Buffer2.allocUnsafe(n);
-      var p = list.head;
-      var c = 1;
-      p.data.copy(ret);
-      n -= p.data.length;
-      while (p = p.next) {
-        var buf = p.data;
-        var nb = n > buf.length ? buf.length : n;
-        buf.copy(ret, ret.length - n, 0, nb);
-        n -= nb;
-        if (n === 0) {
-          if (nb === buf.length) {
-            ++c;
-            if (p.next) list.head = p.next;
-            else list.head = list.tail = null;
-          } else {
-            list.head = p;
-            p.data = buf.slice(nb);
-          }
-          break;
-        }
-        ++c;
-      }
-      list.length -= c;
-      return ret;
+    function readDoubleBE(buffer, offset) {
+      return toBuffer(buffer).readDoubleBE(offset);
     }
-    function endReadable(stream) {
-      var state = stream._readableState;
-      if (state.length > 0) throw new Error('"endReadable()" called on non-empty stream');
-      if (!state.endEmitted) {
-        state.ended = true;
-        pna.nextTick(endReadableNT, state, stream);
-      }
+    function readFloatBE(buffer, offset) {
+      return toBuffer(buffer).readFloatBE(offset);
     }
-    function endReadableNT(state, stream) {
-      if (!state.endEmitted && state.length === 0) {
-        state.endEmitted = true;
-        stream.readable = false;
-        stream.emit("end");
-      }
+    function readUInt32BE(buffer, offset) {
+      return toBuffer(buffer).readUInt32BE(offset);
     }
-    function indexOf(xs, x) {
-      for (var i = 0, l = xs.length; i < l; i++) {
-        if (xs[i] === x) return i;
-      }
-      return -1;
+    function readInt32BE(buffer, offset) {
+      return toBuffer(buffer).readInt32BE(offset);
     }
+    module2.exports = {
+      isBuffer,
+      isEncoding,
+      alloc,
+      allocUnsafe,
+      allocUnsafeSlow,
+      byteLength,
+      compare: compare2,
+      concat,
+      copy,
+      equals,
+      fill,
+      from,
+      includes,
+      indexOf,
+      lastIndexOf,
+      swap16,
+      swap32,
+      swap64,
+      toBuffer,
+      toString: toString2,
+      write,
+      writeDoubleLE,
+      writeFloatLE,
+      writeUInt32LE,
+      writeInt32LE,
+      readDoubleLE,
+      readFloatLE,
+      readUInt32LE,
+      readInt32LE,
+      writeDoubleBE,
+      writeFloatBE,
+      writeUInt32BE,
+      writeInt32BE,
+      readDoubleBE,
+      readFloatBE,
+      readUInt32BE,
+      readInt32BE
+    };
   }
 });
 
-// node_modules/lazystream/node_modules/readable-stream/lib/_stream_transform.js
-var require_stream_transform = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_transform.js"(exports2, module2) {
-    "use strict";
-    module2.exports = Transform;
-    var Duplex = require_stream_duplex();
-    var util = Object.create(require_util19());
-    util.inherits = require_inherits();
-    util.inherits(Transform, Duplex);
-    function afterTransform(er, data) {
-      var ts = this._transformState;
-      ts.transforming = false;
-      var cb = ts.writecb;
-      if (!cb) {
-        return this.emit("error", new Error("write callback called multiple times"));
-      }
-      ts.writechunk = null;
-      ts.writecb = null;
-      if (data != null)
-        this.push(data);
-      cb(er);
-      var rs = this._readableState;
-      rs.reading = false;
-      if (rs.needReadable || rs.length < rs.highWaterMark) {
-        this._read(rs.highWaterMark);
-      }
-    }
-    function Transform(options) {
-      if (!(this instanceof Transform)) return new Transform(options);
-      Duplex.call(this, options);
-      this._transformState = {
-        afterTransform: afterTransform.bind(this),
-        needTransform: false,
-        transforming: false,
-        writecb: null,
-        writechunk: null,
-        writeencoding: null
-      };
-      this._readableState.needReadable = true;
-      this._readableState.sync = false;
-      if (options) {
-        if (typeof options.transform === "function") this._transform = options.transform;
-        if (typeof options.flush === "function") this._flush = options.flush;
+// node_modules/text-decoder/lib/pass-through-decoder.js
+var require_pass_through_decoder = __commonJS({
+  "node_modules/text-decoder/lib/pass-through-decoder.js"(exports2, module2) {
+    var b4a = require_b4a();
+    module2.exports = class PassThroughDecoder {
+      constructor(encoding) {
+        this.encoding = encoding;
       }
-      this.on("prefinish", prefinish);
-    }
-    function prefinish() {
-      var _this = this;
-      if (typeof this._flush === "function") {
-        this._flush(function(er, data) {
-          done(_this, er, data);
-        });
-      } else {
-        done(this, null, null);
+      get remaining() {
+        return 0;
       }
-    }
-    Transform.prototype.push = function(chunk, encoding) {
-      this._transformState.needTransform = false;
-      return Duplex.prototype.push.call(this, chunk, encoding);
-    };
-    Transform.prototype._transform = function(chunk, encoding, cb) {
-      throw new Error("_transform() is not implemented");
-    };
-    Transform.prototype._write = function(chunk, encoding, cb) {
-      var ts = this._transformState;
-      ts.writecb = cb;
-      ts.writechunk = chunk;
-      ts.writeencoding = encoding;
-      if (!ts.transforming) {
-        var rs = this._readableState;
-        if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);
+      decode(tail) {
+        return b4a.toString(tail, this.encoding);
       }
-    };
-    Transform.prototype._read = function(n) {
-      var ts = this._transformState;
-      if (ts.writechunk !== null && ts.writecb && !ts.transforming) {
-        ts.transforming = true;
-        this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);
-      } else {
-        ts.needTransform = true;
+      flush() {
+        return "";
       }
     };
-    Transform.prototype._destroy = function(err, cb) {
-      var _this2 = this;
-      Duplex.prototype._destroy.call(this, err, function(err2) {
-        cb(err2);
-        _this2.emit("close");
-      });
-    };
-    function done(stream, er, data) {
-      if (er) return stream.emit("error", er);
-      if (data != null)
-        stream.push(data);
-      if (stream._writableState.length) throw new Error("Calling transform done when ws.length != 0");
-      if (stream._transformState.transforming) throw new Error("Calling transform done when still transforming");
-      return stream.push(null);
-    }
   }
 });
 
-// node_modules/lazystream/node_modules/readable-stream/lib/_stream_passthrough.js
-var require_stream_passthrough = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_passthrough.js"(exports2, module2) {
-    "use strict";
-    module2.exports = PassThrough;
-    var Transform = require_stream_transform();
-    var util = Object.create(require_util19());
-    util.inherits = require_inherits();
-    util.inherits(PassThrough, Transform);
-    function PassThrough(options) {
-      if (!(this instanceof PassThrough)) return new PassThrough(options);
-      Transform.call(this, options);
-    }
-    PassThrough.prototype._transform = function(chunk, encoding, cb) {
-      cb(null, chunk);
+// node_modules/text-decoder/lib/utf8-decoder.js
+var require_utf8_decoder = __commonJS({
+  "node_modules/text-decoder/lib/utf8-decoder.js"(exports2, module2) {
+    var b4a = require_b4a();
+    module2.exports = class UTF8Decoder {
+      constructor() {
+        this.codePoint = 0;
+        this.bytesSeen = 0;
+        this.bytesNeeded = 0;
+        this.lowerBoundary = 128;
+        this.upperBoundary = 191;
+      }
+      get remaining() {
+        return this.bytesSeen;
+      }
+      decode(data) {
+        if (this.bytesNeeded === 0) {
+          let isBoundary = true;
+          for (let i = Math.max(0, data.byteLength - 4), n = data.byteLength; i < n && isBoundary; i++) {
+            isBoundary = data[i] <= 127;
+          }
+          if (isBoundary) return b4a.toString(data, "utf8");
+        }
+        let result = "";
+        for (let i = 0, n = data.byteLength; i < n; i++) {
+          const byte = data[i];
+          if (this.bytesNeeded === 0) {
+            if (byte <= 127) {
+              result += String.fromCharCode(byte);
+            } else {
+              this.bytesSeen = 1;
+              if (byte >= 194 && byte <= 223) {
+                this.bytesNeeded = 2;
+                this.codePoint = byte & 31;
+              } else if (byte >= 224 && byte <= 239) {
+                if (byte === 224) this.lowerBoundary = 160;
+                else if (byte === 237) this.upperBoundary = 159;
+                this.bytesNeeded = 3;
+                this.codePoint = byte & 15;
+              } else if (byte >= 240 && byte <= 244) {
+                if (byte === 240) this.lowerBoundary = 144;
+                if (byte === 244) this.upperBoundary = 143;
+                this.bytesNeeded = 4;
+                this.codePoint = byte & 7;
+              } else {
+                result += "\uFFFD";
+              }
+            }
+            continue;
+          }
+          if (byte < this.lowerBoundary || byte > this.upperBoundary) {
+            this.codePoint = 0;
+            this.bytesNeeded = 0;
+            this.bytesSeen = 0;
+            this.lowerBoundary = 128;
+            this.upperBoundary = 191;
+            result += "\uFFFD";
+            continue;
+          }
+          this.lowerBoundary = 128;
+          this.upperBoundary = 191;
+          this.codePoint = this.codePoint << 6 | byte & 63;
+          this.bytesSeen++;
+          if (this.bytesSeen !== this.bytesNeeded) continue;
+          result += String.fromCodePoint(this.codePoint);
+          this.codePoint = 0;
+          this.bytesNeeded = 0;
+          this.bytesSeen = 0;
+        }
+        return result;
+      }
+      flush() {
+        const result = this.bytesNeeded > 0 ? "\uFFFD" : "";
+        this.codePoint = 0;
+        this.bytesNeeded = 0;
+        this.bytesSeen = 0;
+        this.lowerBoundary = 128;
+        this.upperBoundary = 191;
+        return result;
+      }
     };
   }
 });
 
-// node_modules/lazystream/node_modules/readable-stream/readable.js
-var require_readable3 = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/readable.js"(exports2, module2) {
-    var Stream = require("stream");
-    if (process.env.READABLE_STREAM === "disable" && Stream) {
-      module2.exports = Stream;
-      exports2 = module2.exports = Stream.Readable;
-      exports2.Readable = Stream.Readable;
-      exports2.Writable = Stream.Writable;
-      exports2.Duplex = Stream.Duplex;
-      exports2.Transform = Stream.Transform;
-      exports2.PassThrough = Stream.PassThrough;
-      exports2.Stream = Stream;
-    } else {
-      exports2 = module2.exports = require_stream_readable();
-      exports2.Stream = Stream || exports2;
-      exports2.Readable = exports2;
-      exports2.Writable = require_stream_writable();
-      exports2.Duplex = require_stream_duplex();
-      exports2.Transform = require_stream_transform();
-      exports2.PassThrough = require_stream_passthrough();
-    }
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/passthrough.js
-var require_passthrough = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/passthrough.js"(exports2, module2) {
-    module2.exports = require_readable3().PassThrough;
-  }
-});
-
-// node_modules/lazystream/lib/lazystream.js
-var require_lazystream = __commonJS({
-  "node_modules/lazystream/lib/lazystream.js"(exports2, module2) {
-    var util = require("util");
-    var PassThrough = require_passthrough();
-    module2.exports = {
-      Readable,
-      Writable
+// node_modules/text-decoder/index.js
+var require_text_decoder = __commonJS({
+  "node_modules/text-decoder/index.js"(exports2, module2) {
+    var PassThroughDecoder = require_pass_through_decoder();
+    var UTF8Decoder = require_utf8_decoder();
+    module2.exports = class TextDecoder {
+      constructor(encoding = "utf8") {
+        this.encoding = normalizeEncoding(encoding);
+        switch (this.encoding) {
+          case "utf8":
+            this.decoder = new UTF8Decoder();
+            break;
+          case "utf16le":
+          case "base64":
+            throw new Error("Unsupported encoding: " + this.encoding);
+          default:
+            this.decoder = new PassThroughDecoder(this.encoding);
+        }
+      }
+      get remaining() {
+        return this.decoder.remaining;
+      }
+      push(data) {
+        if (typeof data === "string") return data;
+        return this.decoder.decode(data);
+      }
+      // For Node.js compatibility
+      write(data) {
+        return this.push(data);
+      }
+      end(data) {
+        let result = "";
+        if (data) result = this.push(data);
+        result += this.decoder.flush();
+        return result;
+      }
     };
-    util.inherits(Readable, PassThrough);
-    util.inherits(Writable, PassThrough);
-    function beforeFirstCall(instance, method, callback) {
-      instance[method] = function() {
-        delete instance[method];
-        callback.apply(this, arguments);
-        return this[method].apply(this, arguments);
-      };
-    }
-    function Readable(fn, options) {
-      if (!(this instanceof Readable))
-        return new Readable(fn, options);
-      PassThrough.call(this, options);
-      beforeFirstCall(this, "_read", function() {
-        var source = fn.call(this, options);
-        var emit = this.emit.bind(this, "error");
-        source.on("error", emit);
-        source.pipe(this);
-      });
-      this.emit("readable");
-    }
-    function Writable(fn, options) {
-      if (!(this instanceof Writable))
-        return new Writable(fn, options);
-      PassThrough.call(this, options);
-      beforeFirstCall(this, "_write", function() {
-        var destination = fn.call(this, options);
-        var emit = this.emit.bind(this, "error");
-        destination.on("error", emit);
-        this.pipe(destination);
-      });
-      this.emit("writable");
+    function normalizeEncoding(encoding) {
+      encoding = encoding.toLowerCase();
+      switch (encoding) {
+        case "utf8":
+        case "utf-8":
+          return "utf8";
+        case "ucs2":
+        case "ucs-2":
+        case "utf16le":
+        case "utf-16le":
+          return "utf16le";
+        case "latin1":
+        case "binary":
+          return "latin1";
+        case "base64":
+        case "ascii":
+        case "hex":
+          return encoding;
+        default:
+          throw new Error("Unknown encoding: " + encoding);
+      }
     }
   }
 });
 
-// node_modules/normalize-path/index.js
-var require_normalize_path = __commonJS({
-  "node_modules/normalize-path/index.js"(exports2, module2) {
-    module2.exports = function(path4, stripTrailing) {
-      if (typeof path4 !== "string") {
-        throw new TypeError("expected path to be a string");
+// node_modules/streamx/index.js
+var require_streamx = __commonJS({
+  "node_modules/streamx/index.js"(exports2, module2) {
+    var { EventEmitter } = require("events");
+    var STREAM_DESTROYED = new Error("Stream was destroyed");
+    var PREMATURE_CLOSE = new Error("Premature close");
+    var queueTick = require_process_next_tick();
+    var FIFO = require_fast_fifo();
+    var TextDecoder2 = require_text_decoder();
+    var MAX = (1 << 29) - 1;
+    var OPENING = 1;
+    var PREDESTROYING = 2;
+    var DESTROYING = 4;
+    var DESTROYED = 8;
+    var NOT_OPENING = MAX ^ OPENING;
+    var NOT_PREDESTROYING = MAX ^ PREDESTROYING;
+    var READ_ACTIVE = 1 << 4;
+    var READ_UPDATING = 2 << 4;
+    var READ_PRIMARY = 4 << 4;
+    var READ_QUEUED = 8 << 4;
+    var READ_RESUMED = 16 << 4;
+    var READ_PIPE_DRAINED = 32 << 4;
+    var READ_ENDING = 64 << 4;
+    var READ_EMIT_DATA = 128 << 4;
+    var READ_EMIT_READABLE = 256 << 4;
+    var READ_EMITTED_READABLE = 512 << 4;
+    var READ_DONE = 1024 << 4;
+    var READ_NEXT_TICK = 2048 << 4;
+    var READ_NEEDS_PUSH = 4096 << 4;
+    var READ_READ_AHEAD = 8192 << 4;
+    var READ_FLOWING = READ_RESUMED | READ_PIPE_DRAINED;
+    var READ_ACTIVE_AND_NEEDS_PUSH = READ_ACTIVE | READ_NEEDS_PUSH;
+    var READ_PRIMARY_AND_ACTIVE = READ_PRIMARY | READ_ACTIVE;
+    var READ_EMIT_READABLE_AND_QUEUED = READ_EMIT_READABLE | READ_QUEUED;
+    var READ_RESUMED_READ_AHEAD = READ_RESUMED | READ_READ_AHEAD;
+    var READ_NOT_ACTIVE = MAX ^ READ_ACTIVE;
+    var READ_NON_PRIMARY = MAX ^ READ_PRIMARY;
+    var READ_NON_PRIMARY_AND_PUSHED = MAX ^ (READ_PRIMARY | READ_NEEDS_PUSH);
+    var READ_PUSHED = MAX ^ READ_NEEDS_PUSH;
+    var READ_PAUSED = MAX ^ READ_RESUMED;
+    var READ_NOT_QUEUED = MAX ^ (READ_QUEUED | READ_EMITTED_READABLE);
+    var READ_NOT_ENDING = MAX ^ READ_ENDING;
+    var READ_PIPE_NOT_DRAINED = MAX ^ READ_FLOWING;
+    var READ_NOT_NEXT_TICK = MAX ^ READ_NEXT_TICK;
+    var READ_NOT_UPDATING = MAX ^ READ_UPDATING;
+    var READ_NO_READ_AHEAD = MAX ^ READ_READ_AHEAD;
+    var READ_PAUSED_NO_READ_AHEAD = MAX ^ READ_RESUMED_READ_AHEAD;
+    var WRITE_ACTIVE = 1 << 18;
+    var WRITE_UPDATING = 2 << 18;
+    var WRITE_PRIMARY = 4 << 18;
+    var WRITE_QUEUED = 8 << 18;
+    var WRITE_UNDRAINED = 16 << 18;
+    var WRITE_DONE = 32 << 18;
+    var WRITE_EMIT_DRAIN = 64 << 18;
+    var WRITE_NEXT_TICK = 128 << 18;
+    var WRITE_WRITING = 256 << 18;
+    var WRITE_FINISHING = 512 << 18;
+    var WRITE_CORKED = 1024 << 18;
+    var WRITE_NOT_ACTIVE = MAX ^ (WRITE_ACTIVE | WRITE_WRITING);
+    var WRITE_NON_PRIMARY = MAX ^ WRITE_PRIMARY;
+    var WRITE_NOT_FINISHING = MAX ^ WRITE_FINISHING;
+    var WRITE_DRAINED = MAX ^ WRITE_UNDRAINED;
+    var WRITE_NOT_QUEUED = MAX ^ WRITE_QUEUED;
+    var WRITE_NOT_NEXT_TICK = MAX ^ WRITE_NEXT_TICK;
+    var WRITE_NOT_UPDATING = MAX ^ WRITE_UPDATING;
+    var WRITE_NOT_CORKED = MAX ^ WRITE_CORKED;
+    var ACTIVE = READ_ACTIVE | WRITE_ACTIVE;
+    var NOT_ACTIVE = MAX ^ ACTIVE;
+    var DONE = READ_DONE | WRITE_DONE;
+    var DESTROY_STATUS = DESTROYING | DESTROYED | PREDESTROYING;
+    var OPEN_STATUS = DESTROY_STATUS | OPENING;
+    var AUTO_DESTROY = DESTROY_STATUS | DONE;
+    var NON_PRIMARY = WRITE_NON_PRIMARY & READ_NON_PRIMARY;
+    var ACTIVE_OR_TICKING = WRITE_NEXT_TICK | READ_NEXT_TICK;
+    var TICKING = ACTIVE_OR_TICKING & NOT_ACTIVE;
+    var IS_OPENING = OPEN_STATUS | TICKING;
+    var READ_PRIMARY_STATUS = OPEN_STATUS | READ_ENDING | READ_DONE;
+    var READ_STATUS = OPEN_STATUS | READ_DONE | READ_QUEUED;
+    var READ_ENDING_STATUS = OPEN_STATUS | READ_ENDING | READ_QUEUED;
+    var READ_READABLE_STATUS = OPEN_STATUS | READ_EMIT_READABLE | READ_QUEUED | READ_EMITTED_READABLE;
+    var SHOULD_NOT_READ = OPEN_STATUS | READ_ACTIVE | READ_ENDING | READ_DONE | READ_NEEDS_PUSH | READ_READ_AHEAD;
+    var READ_BACKPRESSURE_STATUS = DESTROY_STATUS | READ_ENDING | READ_DONE;
+    var READ_UPDATE_SYNC_STATUS = READ_UPDATING | OPEN_STATUS | READ_NEXT_TICK | READ_PRIMARY;
+    var WRITE_PRIMARY_STATUS = OPEN_STATUS | WRITE_FINISHING | WRITE_DONE;
+    var WRITE_QUEUED_AND_UNDRAINED = WRITE_QUEUED | WRITE_UNDRAINED;
+    var WRITE_QUEUED_AND_ACTIVE = WRITE_QUEUED | WRITE_ACTIVE;
+    var WRITE_DRAIN_STATUS = WRITE_QUEUED | WRITE_UNDRAINED | OPEN_STATUS | WRITE_ACTIVE;
+    var WRITE_STATUS = OPEN_STATUS | WRITE_ACTIVE | WRITE_QUEUED | WRITE_CORKED;
+    var WRITE_PRIMARY_AND_ACTIVE = WRITE_PRIMARY | WRITE_ACTIVE;
+    var WRITE_ACTIVE_AND_WRITING = WRITE_ACTIVE | WRITE_WRITING;
+    var WRITE_FINISHING_STATUS = OPEN_STATUS | WRITE_FINISHING | WRITE_QUEUED_AND_ACTIVE | WRITE_DONE;
+    var WRITE_BACKPRESSURE_STATUS = WRITE_UNDRAINED | DESTROY_STATUS | WRITE_FINISHING | WRITE_DONE;
+    var WRITE_UPDATE_SYNC_STATUS = WRITE_UPDATING | OPEN_STATUS | WRITE_NEXT_TICK | WRITE_PRIMARY;
+    var asyncIterator = Symbol.asyncIterator || /* @__PURE__ */ Symbol("asyncIterator");
+    var WritableState = class {
+      constructor(stream, { highWaterMark = 16384, map: map2 = null, mapWritable, byteLength, byteLengthWritable } = {}) {
+        this.stream = stream;
+        this.queue = new FIFO();
+        this.highWaterMark = highWaterMark;
+        this.buffered = 0;
+        this.error = null;
+        this.pipeline = null;
+        this.drains = null;
+        this.byteLength = byteLengthWritable || byteLength || defaultByteLength;
+        this.map = mapWritable || map2;
+        this.afterWrite = afterWrite.bind(this);
+        this.afterUpdateNextTick = updateWriteNT.bind(this);
       }
-      if (path4 === "\\" || path4 === "/") return "/";
-      var len = path4.length;
-      if (len <= 1) return path4;
-      var prefix = "";
-      if (len > 4 && path4[3] === "\\") {
-        var ch = path4[2];
-        if ((ch === "?" || ch === ".") && path4.slice(0, 2) === "\\\\") {
-          path4 = path4.slice(2);
-          prefix = "//";
+      get ended() {
+        return (this.stream._duplexState & WRITE_DONE) !== 0;
+      }
+      push(data) {
+        if (this.map !== null) data = this.map(data);
+        this.buffered += this.byteLength(data);
+        this.queue.push(data);
+        if (this.buffered < this.highWaterMark) {
+          this.stream._duplexState |= WRITE_QUEUED;
+          return true;
         }
+        this.stream._duplexState |= WRITE_QUEUED_AND_UNDRAINED;
+        return false;
       }
-      var segs = path4.split(/[/\\]+/);
-      if (stripTrailing !== false && segs[segs.length - 1] === "") {
-        segs.pop();
+      shift() {
+        const data = this.queue.shift();
+        this.buffered -= this.byteLength(data);
+        if (this.buffered === 0) this.stream._duplexState &= WRITE_NOT_QUEUED;
+        return data;
       }
-      return prefix + segs.join("/");
-    };
-  }
-});
-
-// node_modules/lodash/identity.js
-var require_identity = __commonJS({
-  "node_modules/lodash/identity.js"(exports2, module2) {
-    function identity(value) {
-      return value;
-    }
-    module2.exports = identity;
-  }
-});
-
-// node_modules/lodash/_apply.js
-var require_apply = __commonJS({
-  "node_modules/lodash/_apply.js"(exports2, module2) {
-    function apply(func, thisArg, args) {
-      switch (args.length) {
-        case 0:
-          return func.call(thisArg);
-        case 1:
-          return func.call(thisArg, args[0]);
-        case 2:
-          return func.call(thisArg, args[0], args[1]);
-        case 3:
-          return func.call(thisArg, args[0], args[1], args[2]);
+      end(data) {
+        if (typeof data === "function") this.stream.once("finish", data);
+        else if (data !== void 0 && data !== null) this.push(data);
+        this.stream._duplexState = (this.stream._duplexState | WRITE_FINISHING) & WRITE_NON_PRIMARY;
       }
-      return func.apply(thisArg, args);
-    }
-    module2.exports = apply;
-  }
-});
-
-// node_modules/lodash/_overRest.js
-var require_overRest = __commonJS({
-  "node_modules/lodash/_overRest.js"(exports2, module2) {
-    var apply = require_apply();
-    var nativeMax = Math.max;
-    function overRest(func, start, transform) {
-      start = nativeMax(start === void 0 ? func.length - 1 : start, 0);
-      return function() {
-        var args = arguments, index = -1, length = nativeMax(args.length - start, 0), array = Array(length);
-        while (++index < length) {
-          array[index] = args[start + index];
+      autoBatch(data, cb) {
+        const buffer = [];
+        const stream = this.stream;
+        buffer.push(data);
+        while ((stream._duplexState & WRITE_STATUS) === WRITE_QUEUED_AND_ACTIVE) {
+          buffer.push(stream._writableState.shift());
         }
-        index = -1;
-        var otherArgs = Array(start + 1);
-        while (++index < start) {
-          otherArgs[index] = args[index];
+        if ((stream._duplexState & OPEN_STATUS) !== 0) return cb(null);
+        stream._writev(buffer, cb);
+      }
+      update() {
+        const stream = this.stream;
+        stream._duplexState |= WRITE_UPDATING;
+        do {
+          while ((stream._duplexState & WRITE_STATUS) === WRITE_QUEUED) {
+            const data = this.shift();
+            stream._duplexState |= WRITE_ACTIVE_AND_WRITING;
+            stream._write(data, this.afterWrite);
+          }
+          if ((stream._duplexState & WRITE_PRIMARY_AND_ACTIVE) === 0) this.updateNonPrimary();
+        } while (this.continueUpdate() === true);
+        stream._duplexState &= WRITE_NOT_UPDATING;
+      }
+      updateNonPrimary() {
+        const stream = this.stream;
+        if ((stream._duplexState & WRITE_FINISHING_STATUS) === WRITE_FINISHING) {
+          stream._duplexState = (stream._duplexState | WRITE_ACTIVE) & WRITE_NOT_FINISHING;
+          stream._final(afterFinal.bind(this));
+          return;
+        }
+        if ((stream._duplexState & DESTROY_STATUS) === DESTROYING) {
+          if ((stream._duplexState & ACTIVE_OR_TICKING) === 0) {
+            stream._duplexState |= ACTIVE;
+            stream._destroy(afterDestroy.bind(this));
+          }
+          return;
+        }
+        if ((stream._duplexState & IS_OPENING) === OPENING) {
+          stream._duplexState = (stream._duplexState | ACTIVE) & NOT_OPENING;
+          stream._open(afterOpen.bind(this));
         }
-        otherArgs[start] = transform(array);
-        return apply(func, this, otherArgs);
-      };
-    }
-    module2.exports = overRest;
-  }
-});
-
-// node_modules/lodash/constant.js
-var require_constant = __commonJS({
-  "node_modules/lodash/constant.js"(exports2, module2) {
-    function constant(value) {
-      return function() {
-        return value;
-      };
-    }
-    module2.exports = constant;
-  }
-});
-
-// node_modules/lodash/_freeGlobal.js
-var require_freeGlobal = __commonJS({
-  "node_modules/lodash/_freeGlobal.js"(exports2, module2) {
-    var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
-    module2.exports = freeGlobal;
-  }
-});
-
-// node_modules/lodash/_root.js
-var require_root = __commonJS({
-  "node_modules/lodash/_root.js"(exports2, module2) {
-    var freeGlobal = require_freeGlobal();
-    var freeSelf = typeof self == "object" && self && self.Object === Object && self;
-    var root = freeGlobal || freeSelf || Function("return this")();
-    module2.exports = root;
-  }
-});
-
-// node_modules/lodash/_Symbol.js
-var require_Symbol = __commonJS({
-  "node_modules/lodash/_Symbol.js"(exports2, module2) {
-    var root = require_root();
-    var Symbol2 = root.Symbol;
-    module2.exports = Symbol2;
-  }
-});
-
-// node_modules/lodash/_getRawTag.js
-var require_getRawTag = __commonJS({
-  "node_modules/lodash/_getRawTag.js"(exports2, module2) {
-    var Symbol2 = require_Symbol();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    var nativeObjectToString = objectProto.toString;
-    var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0;
-    function getRawTag(value) {
-      var isOwn = hasOwnProperty.call(value, symToStringTag), tag = value[symToStringTag];
-      try {
-        value[symToStringTag] = void 0;
-        var unmasked = true;
-      } catch (e) {
       }
-      var result = nativeObjectToString.call(value);
-      if (unmasked) {
-        if (isOwn) {
-          value[symToStringTag] = tag;
+      continueUpdate() {
+        if ((this.stream._duplexState & WRITE_NEXT_TICK) === 0) return false;
+        this.stream._duplexState &= WRITE_NOT_NEXT_TICK;
+        return true;
+      }
+      updateCallback() {
+        if ((this.stream._duplexState & WRITE_UPDATE_SYNC_STATUS) === WRITE_PRIMARY) this.update();
+        else this.updateNextTick();
+      }
+      updateNextTick() {
+        if ((this.stream._duplexState & WRITE_NEXT_TICK) !== 0) return;
+        this.stream._duplexState |= WRITE_NEXT_TICK;
+        if ((this.stream._duplexState & WRITE_UPDATING) === 0) queueTick(this.afterUpdateNextTick);
+      }
+    };
+    var ReadableState = class {
+      constructor(stream, { highWaterMark = 16384, map: map2 = null, mapReadable, byteLength, byteLengthReadable } = {}) {
+        this.stream = stream;
+        this.queue = new FIFO();
+        this.highWaterMark = highWaterMark === 0 ? 1 : highWaterMark;
+        this.buffered = 0;
+        this.readAhead = highWaterMark > 0;
+        this.error = null;
+        this.pipeline = null;
+        this.byteLength = byteLengthReadable || byteLength || defaultByteLength;
+        this.map = mapReadable || map2;
+        this.pipeTo = null;
+        this.afterRead = afterRead.bind(this);
+        this.afterUpdateNextTick = updateReadNT.bind(this);
+      }
+      get ended() {
+        return (this.stream._duplexState & READ_DONE) !== 0;
+      }
+      pipe(pipeTo, cb) {
+        if (this.pipeTo !== null) throw new Error("Can only pipe to one destination");
+        if (typeof cb !== "function") cb = null;
+        this.stream._duplexState |= READ_PIPE_DRAINED;
+        this.pipeTo = pipeTo;
+        this.pipeline = new Pipeline(this.stream, pipeTo, cb);
+        if (cb) this.stream.on("error", noop3);
+        if (isStreamx(pipeTo)) {
+          pipeTo._writableState.pipeline = this.pipeline;
+          if (cb) pipeTo.on("error", noop3);
+          pipeTo.on("finish", this.pipeline.finished.bind(this.pipeline));
         } else {
-          delete value[symToStringTag];
+          const onerror = this.pipeline.done.bind(this.pipeline, pipeTo);
+          const onclose = this.pipeline.done.bind(this.pipeline, pipeTo, null);
+          pipeTo.on("error", onerror);
+          pipeTo.on("close", onclose);
+          pipeTo.on("finish", this.pipeline.finished.bind(this.pipeline));
         }
+        pipeTo.on("drain", afterDrain.bind(this));
+        this.stream.emit("piping", pipeTo);
+        pipeTo.emit("pipe", this.stream);
       }
-      return result;
-    }
-    module2.exports = getRawTag;
-  }
-});
-
-// node_modules/lodash/_objectToString.js
-var require_objectToString = __commonJS({
-  "node_modules/lodash/_objectToString.js"(exports2, module2) {
-    var objectProto = Object.prototype;
-    var nativeObjectToString = objectProto.toString;
-    function objectToString(value) {
-      return nativeObjectToString.call(value);
-    }
-    module2.exports = objectToString;
-  }
-});
-
-// node_modules/lodash/_baseGetTag.js
-var require_baseGetTag = __commonJS({
-  "node_modules/lodash/_baseGetTag.js"(exports2, module2) {
-    var Symbol2 = require_Symbol();
-    var getRawTag = require_getRawTag();
-    var objectToString = require_objectToString();
-    var nullTag = "[object Null]";
-    var undefinedTag = "[object Undefined]";
-    var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0;
-    function baseGetTag(value) {
-      if (value == null) {
-        return value === void 0 ? undefinedTag : nullTag;
+      push(data) {
+        const stream = this.stream;
+        if (data === null) {
+          this.highWaterMark = 0;
+          stream._duplexState = (stream._duplexState | READ_ENDING) & READ_NON_PRIMARY_AND_PUSHED;
+          return false;
+        }
+        if (this.map !== null) {
+          data = this.map(data);
+          if (data === null) {
+            stream._duplexState &= READ_PUSHED;
+            return this.buffered < this.highWaterMark;
+          }
+        }
+        this.buffered += this.byteLength(data);
+        this.queue.push(data);
+        stream._duplexState = (stream._duplexState | READ_QUEUED) & READ_PUSHED;
+        return this.buffered < this.highWaterMark;
       }
-      return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);
-    }
-    module2.exports = baseGetTag;
-  }
-});
-
-// node_modules/lodash/isObject.js
-var require_isObject = __commonJS({
-  "node_modules/lodash/isObject.js"(exports2, module2) {
-    function isObject2(value) {
-      var type2 = typeof value;
-      return value != null && (type2 == "object" || type2 == "function");
-    }
-    module2.exports = isObject2;
-  }
-});
-
-// node_modules/lodash/isFunction.js
-var require_isFunction = __commonJS({
-  "node_modules/lodash/isFunction.js"(exports2, module2) {
-    var baseGetTag = require_baseGetTag();
-    var isObject2 = require_isObject();
-    var asyncTag = "[object AsyncFunction]";
-    var funcTag = "[object Function]";
-    var genTag = "[object GeneratorFunction]";
-    var proxyTag = "[object Proxy]";
-    function isFunction(value) {
-      if (!isObject2(value)) {
-        return false;
+      shift() {
+        const data = this.queue.shift();
+        this.buffered -= this.byteLength(data);
+        if (this.buffered === 0) this.stream._duplexState &= READ_NOT_QUEUED;
+        return data;
       }
-      var tag = baseGetTag(value);
-      return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
-    }
-    module2.exports = isFunction;
-  }
-});
-
-// node_modules/lodash/_coreJsData.js
-var require_coreJsData = __commonJS({
-  "node_modules/lodash/_coreJsData.js"(exports2, module2) {
-    var root = require_root();
-    var coreJsData = root["__core-js_shared__"];
-    module2.exports = coreJsData;
-  }
-});
-
-// node_modules/lodash/_isMasked.js
-var require_isMasked = __commonJS({
-  "node_modules/lodash/_isMasked.js"(exports2, module2) {
-    var coreJsData = require_coreJsData();
-    var maskSrcKey = (function() {
-      var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || "");
-      return uid ? "Symbol(src)_1." + uid : "";
-    })();
-    function isMasked(func) {
-      return !!maskSrcKey && maskSrcKey in func;
-    }
-    module2.exports = isMasked;
-  }
-});
-
-// node_modules/lodash/_toSource.js
-var require_toSource = __commonJS({
-  "node_modules/lodash/_toSource.js"(exports2, module2) {
-    var funcProto = Function.prototype;
-    var funcToString = funcProto.toString;
-    function toSource(func) {
-      if (func != null) {
-        try {
-          return funcToString.call(func);
-        } catch (e) {
+      unshift(data) {
+        const pending = [this.map !== null ? this.map(data) : data];
+        while (this.buffered > 0) pending.push(this.shift());
+        for (let i = 0; i < pending.length - 1; i++) {
+          const data2 = pending[i];
+          this.buffered += this.byteLength(data2);
+          this.queue.push(data2);
         }
-        try {
-          return func + "";
-        } catch (e) {
+        this.push(pending[pending.length - 1]);
+      }
+      read() {
+        const stream = this.stream;
+        if ((stream._duplexState & READ_STATUS) === READ_QUEUED) {
+          const data = this.shift();
+          if (this.pipeTo !== null && this.pipeTo.write(data) === false) stream._duplexState &= READ_PIPE_NOT_DRAINED;
+          if ((stream._duplexState & READ_EMIT_DATA) !== 0) stream.emit("data", data);
+          return data;
+        }
+        if (this.readAhead === false) {
+          stream._duplexState |= READ_READ_AHEAD;
+          this.updateNextTick();
         }
+        return null;
       }
-      return "";
-    }
-    module2.exports = toSource;
-  }
-});
-
-// node_modules/lodash/_baseIsNative.js
-var require_baseIsNative = __commonJS({
-  "node_modules/lodash/_baseIsNative.js"(exports2, module2) {
-    var isFunction = require_isFunction();
-    var isMasked = require_isMasked();
-    var isObject2 = require_isObject();
-    var toSource = require_toSource();
-    var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
-    var reIsHostCtor = /^\[object .+?Constructor\]$/;
-    var funcProto = Function.prototype;
-    var objectProto = Object.prototype;
-    var funcToString = funcProto.toString;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    var reIsNative = RegExp(
-      "^" + funcToString.call(hasOwnProperty).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
-    );
-    function baseIsNative(value) {
-      if (!isObject2(value) || isMasked(value)) {
-        return false;
+      drain() {
+        const stream = this.stream;
+        while ((stream._duplexState & READ_STATUS) === READ_QUEUED && (stream._duplexState & READ_FLOWING) !== 0) {
+          const data = this.shift();
+          if (this.pipeTo !== null && this.pipeTo.write(data) === false) stream._duplexState &= READ_PIPE_NOT_DRAINED;
+          if ((stream._duplexState & READ_EMIT_DATA) !== 0) stream.emit("data", data);
+        }
       }
-      var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
-      return pattern.test(toSource(value));
-    }
-    module2.exports = baseIsNative;
-  }
-});
-
-// node_modules/lodash/_getValue.js
-var require_getValue = __commonJS({
-  "node_modules/lodash/_getValue.js"(exports2, module2) {
-    function getValue(object, key) {
-      return object == null ? void 0 : object[key];
-    }
-    module2.exports = getValue;
-  }
-});
-
-// node_modules/lodash/_getNative.js
-var require_getNative = __commonJS({
-  "node_modules/lodash/_getNative.js"(exports2, module2) {
-    var baseIsNative = require_baseIsNative();
-    var getValue = require_getValue();
-    function getNative(object, key) {
-      var value = getValue(object, key);
-      return baseIsNative(value) ? value : void 0;
-    }
-    module2.exports = getNative;
-  }
-});
-
-// node_modules/lodash/_defineProperty.js
-var require_defineProperty = __commonJS({
-  "node_modules/lodash/_defineProperty.js"(exports2, module2) {
-    var getNative = require_getNative();
-    var defineProperty = (function() {
-      try {
-        var func = getNative(Object, "defineProperty");
-        func({}, "", {});
-        return func;
-      } catch (e) {
+      update() {
+        const stream = this.stream;
+        stream._duplexState |= READ_UPDATING;
+        do {
+          this.drain();
+          while (this.buffered < this.highWaterMark && (stream._duplexState & SHOULD_NOT_READ) === READ_READ_AHEAD) {
+            stream._duplexState |= READ_ACTIVE_AND_NEEDS_PUSH;
+            stream._read(this.afterRead);
+            this.drain();
+          }
+          if ((stream._duplexState & READ_READABLE_STATUS) === READ_EMIT_READABLE_AND_QUEUED) {
+            stream._duplexState |= READ_EMITTED_READABLE;
+            stream.emit("readable");
+          }
+          if ((stream._duplexState & READ_PRIMARY_AND_ACTIVE) === 0) this.updateNonPrimary();
+        } while (this.continueUpdate() === true);
+        stream._duplexState &= READ_NOT_UPDATING;
+      }
+      updateNonPrimary() {
+        const stream = this.stream;
+        if ((stream._duplexState & READ_ENDING_STATUS) === READ_ENDING) {
+          stream._duplexState = (stream._duplexState | READ_DONE) & READ_NOT_ENDING;
+          stream.emit("end");
+          if ((stream._duplexState & AUTO_DESTROY) === DONE) stream._duplexState |= DESTROYING;
+          if (this.pipeTo !== null) this.pipeTo.end();
+        }
+        if ((stream._duplexState & DESTROY_STATUS) === DESTROYING) {
+          if ((stream._duplexState & ACTIVE_OR_TICKING) === 0) {
+            stream._duplexState |= ACTIVE;
+            stream._destroy(afterDestroy.bind(this));
+          }
+          return;
+        }
+        if ((stream._duplexState & IS_OPENING) === OPENING) {
+          stream._duplexState = (stream._duplexState | ACTIVE) & NOT_OPENING;
+          stream._open(afterOpen.bind(this));
+        }
+      }
+      continueUpdate() {
+        if ((this.stream._duplexState & READ_NEXT_TICK) === 0) return false;
+        this.stream._duplexState &= READ_NOT_NEXT_TICK;
+        return true;
+      }
+      updateCallback() {
+        if ((this.stream._duplexState & READ_UPDATE_SYNC_STATUS) === READ_PRIMARY) this.update();
+        else this.updateNextTick();
+      }
+      updateNextTick() {
+        if ((this.stream._duplexState & READ_NEXT_TICK) !== 0) return;
+        this.stream._duplexState |= READ_NEXT_TICK;
+        if ((this.stream._duplexState & READ_UPDATING) === 0) queueTick(this.afterUpdateNextTick);
       }
-    })();
-    module2.exports = defineProperty;
-  }
-});
-
-// node_modules/lodash/_baseSetToString.js
-var require_baseSetToString = __commonJS({
-  "node_modules/lodash/_baseSetToString.js"(exports2, module2) {
-    var constant = require_constant();
-    var defineProperty = require_defineProperty();
-    var identity = require_identity();
-    var baseSetToString = !defineProperty ? identity : function(func, string) {
-      return defineProperty(func, "toString", {
-        "configurable": true,
-        "enumerable": false,
-        "value": constant(string),
-        "writable": true
-      });
     };
-    module2.exports = baseSetToString;
-  }
-});
-
-// node_modules/lodash/_shortOut.js
-var require_shortOut = __commonJS({
-  "node_modules/lodash/_shortOut.js"(exports2, module2) {
-    var HOT_COUNT = 800;
-    var HOT_SPAN = 16;
-    var nativeNow = Date.now;
-    function shortOut(func) {
-      var count = 0, lastCalled = 0;
-      return function() {
-        var stamp = nativeNow(), remaining = HOT_SPAN - (stamp - lastCalled);
-        lastCalled = stamp;
-        if (remaining > 0) {
-          if (++count >= HOT_COUNT) {
-            return arguments[0];
+    var TransformState = class {
+      constructor(stream) {
+        this.data = null;
+        this.afterTransform = afterTransform.bind(stream);
+        this.afterFinal = null;
+      }
+    };
+    var Pipeline = class {
+      constructor(src, dst, cb) {
+        this.from = src;
+        this.to = dst;
+        this.afterPipe = cb;
+        this.error = null;
+        this.pipeToFinished = false;
+      }
+      finished() {
+        this.pipeToFinished = true;
+      }
+      done(stream, err) {
+        if (err) this.error = err;
+        if (stream === this.to) {
+          this.to = null;
+          if (this.from !== null) {
+            if ((this.from._duplexState & READ_DONE) === 0 || !this.pipeToFinished) {
+              this.from.destroy(this.error || new Error("Writable stream closed prematurely"));
+            }
+            return;
           }
-        } else {
-          count = 0;
         }
-        return func.apply(void 0, arguments);
-      };
-    }
-    module2.exports = shortOut;
-  }
-});
-
-// node_modules/lodash/_setToString.js
-var require_setToString = __commonJS({
-  "node_modules/lodash/_setToString.js"(exports2, module2) {
-    var baseSetToString = require_baseSetToString();
-    var shortOut = require_shortOut();
-    var setToString = shortOut(baseSetToString);
-    module2.exports = setToString;
-  }
-});
-
-// node_modules/lodash/_baseRest.js
-var require_baseRest = __commonJS({
-  "node_modules/lodash/_baseRest.js"(exports2, module2) {
-    var identity = require_identity();
-    var overRest = require_overRest();
-    var setToString = require_setToString();
-    function baseRest(func, start) {
-      return setToString(overRest(func, start, identity), func + "");
+        if (stream === this.from) {
+          this.from = null;
+          if (this.to !== null) {
+            if ((stream._duplexState & READ_DONE) === 0) {
+              this.to.destroy(this.error || new Error("Readable stream closed before ending"));
+            }
+            return;
+          }
+        }
+        if (this.afterPipe !== null) this.afterPipe(this.error);
+        this.to = this.from = this.afterPipe = null;
+      }
+    };
+    function afterDrain() {
+      this.stream._duplexState |= READ_PIPE_DRAINED;
+      this.updateCallback();
     }
-    module2.exports = baseRest;
-  }
-});
-
-// node_modules/lodash/eq.js
-var require_eq2 = __commonJS({
-  "node_modules/lodash/eq.js"(exports2, module2) {
-    function eq(value, other) {
-      return value === other || value !== value && other !== other;
+    function afterFinal(err) {
+      const stream = this.stream;
+      if (err) stream.destroy(err);
+      if ((stream._duplexState & DESTROY_STATUS) === 0) {
+        stream._duplexState |= WRITE_DONE;
+        stream.emit("finish");
+      }
+      if ((stream._duplexState & AUTO_DESTROY) === DONE) {
+        stream._duplexState |= DESTROYING;
+      }
+      stream._duplexState &= WRITE_NOT_ACTIVE;
+      if ((stream._duplexState & WRITE_UPDATING) === 0) this.update();
+      else this.updateNextTick();
     }
-    module2.exports = eq;
-  }
-});
-
-// node_modules/lodash/isLength.js
-var require_isLength = __commonJS({
-  "node_modules/lodash/isLength.js"(exports2, module2) {
-    var MAX_SAFE_INTEGER = 9007199254740991;
-    function isLength(value) {
-      return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
+    function afterDestroy(err) {
+      const stream = this.stream;
+      if (!err && this.error !== STREAM_DESTROYED) err = this.error;
+      if (err) stream.emit("error", err);
+      stream._duplexState |= DESTROYED;
+      stream.emit("close");
+      const rs = stream._readableState;
+      const ws = stream._writableState;
+      if (rs !== null && rs.pipeline !== null) rs.pipeline.done(stream, err);
+      if (ws !== null) {
+        while (ws.drains !== null && ws.drains.length > 0) ws.drains.shift().resolve(false);
+        if (ws.pipeline !== null) ws.pipeline.done(stream, err);
+      }
     }
-    module2.exports = isLength;
-  }
-});
-
-// node_modules/lodash/isArrayLike.js
-var require_isArrayLike = __commonJS({
-  "node_modules/lodash/isArrayLike.js"(exports2, module2) {
-    var isFunction = require_isFunction();
-    var isLength = require_isLength();
-    function isArrayLike(value) {
-      return value != null && isLength(value.length) && !isFunction(value);
+    function afterWrite(err) {
+      const stream = this.stream;
+      if (err) stream.destroy(err);
+      stream._duplexState &= WRITE_NOT_ACTIVE;
+      if (this.drains !== null) tickDrains(this.drains);
+      if ((stream._duplexState & WRITE_DRAIN_STATUS) === WRITE_UNDRAINED) {
+        stream._duplexState &= WRITE_DRAINED;
+        if ((stream._duplexState & WRITE_EMIT_DRAIN) === WRITE_EMIT_DRAIN) {
+          stream.emit("drain");
+        }
+      }
+      this.updateCallback();
     }
-    module2.exports = isArrayLike;
-  }
-});
-
-// node_modules/lodash/_isIndex.js
-var require_isIndex = __commonJS({
-  "node_modules/lodash/_isIndex.js"(exports2, module2) {
-    var MAX_SAFE_INTEGER = 9007199254740991;
-    var reIsUint = /^(?:0|[1-9]\d*)$/;
-    function isIndex(value, length) {
-      var type2 = typeof value;
-      length = length == null ? MAX_SAFE_INTEGER : length;
-      return !!length && (type2 == "number" || type2 != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length);
+    function afterRead(err) {
+      if (err) this.stream.destroy(err);
+      this.stream._duplexState &= READ_NOT_ACTIVE;
+      if (this.readAhead === false && (this.stream._duplexState & READ_RESUMED) === 0) this.stream._duplexState &= READ_NO_READ_AHEAD;
+      this.updateCallback();
     }
-    module2.exports = isIndex;
-  }
-});
-
-// node_modules/lodash/_isIterateeCall.js
-var require_isIterateeCall = __commonJS({
-  "node_modules/lodash/_isIterateeCall.js"(exports2, module2) {
-    var eq = require_eq2();
-    var isArrayLike = require_isArrayLike();
-    var isIndex = require_isIndex();
-    var isObject2 = require_isObject();
-    function isIterateeCall(value, index, object) {
-      if (!isObject2(object)) {
-        return false;
-      }
-      var type2 = typeof index;
-      if (type2 == "number" ? isArrayLike(object) && isIndex(index, object.length) : type2 == "string" && index in object) {
-        return eq(object[index], value);
+    function updateReadNT() {
+      if ((this.stream._duplexState & READ_UPDATING) === 0) {
+        this.stream._duplexState &= READ_NOT_NEXT_TICK;
+        this.update();
       }
-      return false;
     }
-    module2.exports = isIterateeCall;
-  }
-});
-
-// node_modules/lodash/_baseTimes.js
-var require_baseTimes = __commonJS({
-  "node_modules/lodash/_baseTimes.js"(exports2, module2) {
-    function baseTimes(n, iteratee) {
-      var index = -1, result = Array(n);
-      while (++index < n) {
-        result[index] = iteratee(index);
+    function updateWriteNT() {
+      if ((this.stream._duplexState & WRITE_UPDATING) === 0) {
+        this.stream._duplexState &= WRITE_NOT_NEXT_TICK;
+        this.update();
       }
-      return result;
-    }
-    module2.exports = baseTimes;
-  }
-});
-
-// node_modules/lodash/isObjectLike.js
-var require_isObjectLike = __commonJS({
-  "node_modules/lodash/isObjectLike.js"(exports2, module2) {
-    function isObjectLike(value) {
-      return value != null && typeof value == "object";
-    }
-    module2.exports = isObjectLike;
-  }
-});
-
-// node_modules/lodash/_baseIsArguments.js
-var require_baseIsArguments = __commonJS({
-  "node_modules/lodash/_baseIsArguments.js"(exports2, module2) {
-    var baseGetTag = require_baseGetTag();
-    var isObjectLike = require_isObjectLike();
-    var argsTag = "[object Arguments]";
-    function baseIsArguments(value) {
-      return isObjectLike(value) && baseGetTag(value) == argsTag;
     }
-    module2.exports = baseIsArguments;
-  }
-});
-
-// node_modules/lodash/isArguments.js
-var require_isArguments = __commonJS({
-  "node_modules/lodash/isArguments.js"(exports2, module2) {
-    var baseIsArguments = require_baseIsArguments();
-    var isObjectLike = require_isObjectLike();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    var propertyIsEnumerable = objectProto.propertyIsEnumerable;
-    var isArguments = baseIsArguments(/* @__PURE__ */ (function() {
-      return arguments;
-    })()) ? baseIsArguments : function(value) {
-      return isObjectLike(value) && hasOwnProperty.call(value, "callee") && !propertyIsEnumerable.call(value, "callee");
-    };
-    module2.exports = isArguments;
-  }
-});
-
-// node_modules/lodash/isArray.js
-var require_isArray = __commonJS({
-  "node_modules/lodash/isArray.js"(exports2, module2) {
-    var isArray = Array.isArray;
-    module2.exports = isArray;
-  }
-});
-
-// node_modules/lodash/stubFalse.js
-var require_stubFalse = __commonJS({
-  "node_modules/lodash/stubFalse.js"(exports2, module2) {
-    function stubFalse() {
-      return false;
+    function tickDrains(drains) {
+      for (let i = 0; i < drains.length; i++) {
+        if (--drains[i].writes === 0) {
+          drains.shift().resolve(true);
+          i--;
+        }
+      }
     }
-    module2.exports = stubFalse;
-  }
-});
-
-// node_modules/lodash/isBuffer.js
-var require_isBuffer = __commonJS({
-  "node_modules/lodash/isBuffer.js"(exports2, module2) {
-    var root = require_root();
-    var stubFalse = require_stubFalse();
-    var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2;
-    var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2;
-    var moduleExports = freeModule && freeModule.exports === freeExports;
-    var Buffer2 = moduleExports ? root.Buffer : void 0;
-    var nativeIsBuffer = Buffer2 ? Buffer2.isBuffer : void 0;
-    var isBuffer = nativeIsBuffer || stubFalse;
-    module2.exports = isBuffer;
-  }
-});
-
-// node_modules/lodash/_baseIsTypedArray.js
-var require_baseIsTypedArray = __commonJS({
-  "node_modules/lodash/_baseIsTypedArray.js"(exports2, module2) {
-    var baseGetTag = require_baseGetTag();
-    var isLength = require_isLength();
-    var isObjectLike = require_isObjectLike();
-    var argsTag = "[object Arguments]";
-    var arrayTag = "[object Array]";
-    var boolTag = "[object Boolean]";
-    var dateTag = "[object Date]";
-    var errorTag = "[object Error]";
-    var funcTag = "[object Function]";
-    var mapTag = "[object Map]";
-    var numberTag = "[object Number]";
-    var objectTag = "[object Object]";
-    var regexpTag = "[object RegExp]";
-    var setTag = "[object Set]";
-    var stringTag = "[object String]";
-    var weakMapTag = "[object WeakMap]";
-    var arrayBufferTag = "[object ArrayBuffer]";
-    var dataViewTag = "[object DataView]";
-    var float32Tag = "[object Float32Array]";
-    var float64Tag = "[object Float64Array]";
-    var int8Tag = "[object Int8Array]";
-    var int16Tag = "[object Int16Array]";
-    var int32Tag = "[object Int32Array]";
-    var uint8Tag = "[object Uint8Array]";
-    var uint8ClampedTag = "[object Uint8ClampedArray]";
-    var uint16Tag = "[object Uint16Array]";
-    var uint32Tag = "[object Uint32Array]";
-    var typedArrayTags = {};
-    typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;
-    typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;
-    function baseIsTypedArray(value) {
-      return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)];
+    function afterOpen(err) {
+      const stream = this.stream;
+      if (err) stream.destroy(err);
+      if ((stream._duplexState & DESTROYING) === 0) {
+        if ((stream._duplexState & READ_PRIMARY_STATUS) === 0) stream._duplexState |= READ_PRIMARY;
+        if ((stream._duplexState & WRITE_PRIMARY_STATUS) === 0) stream._duplexState |= WRITE_PRIMARY;
+        stream.emit("open");
+      }
+      stream._duplexState &= NOT_ACTIVE;
+      if (stream._writableState !== null) {
+        stream._writableState.updateCallback();
+      }
+      if (stream._readableState !== null) {
+        stream._readableState.updateCallback();
+      }
     }
-    module2.exports = baseIsTypedArray;
-  }
-});
-
-// node_modules/lodash/_baseUnary.js
-var require_baseUnary = __commonJS({
-  "node_modules/lodash/_baseUnary.js"(exports2, module2) {
-    function baseUnary(func) {
-      return function(value) {
-        return func(value);
-      };
+    function afterTransform(err, data) {
+      if (data !== void 0 && data !== null) this.push(data);
+      this._writableState.afterWrite(err);
     }
-    module2.exports = baseUnary;
-  }
-});
-
-// node_modules/lodash/_nodeUtil.js
-var require_nodeUtil = __commonJS({
-  "node_modules/lodash/_nodeUtil.js"(exports2, module2) {
-    var freeGlobal = require_freeGlobal();
-    var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2;
-    var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2;
-    var moduleExports = freeModule && freeModule.exports === freeExports;
-    var freeProcess = moduleExports && freeGlobal.process;
-    var nodeUtil = (function() {
-      try {
-        var types = freeModule && freeModule.require && freeModule.require("util").types;
-        if (types) {
-          return types;
+    function newListener(name) {
+      if (this._readableState !== null) {
+        if (name === "data") {
+          this._duplexState |= READ_EMIT_DATA | READ_RESUMED_READ_AHEAD;
+          this._readableState.updateNextTick();
+        }
+        if (name === "readable") {
+          this._duplexState |= READ_EMIT_READABLE;
+          this._readableState.updateNextTick();
         }
-        return freeProcess && freeProcess.binding && freeProcess.binding("util");
-      } catch (e) {
       }
-    })();
-    module2.exports = nodeUtil;
-  }
-});
-
-// node_modules/lodash/isTypedArray.js
-var require_isTypedArray = __commonJS({
-  "node_modules/lodash/isTypedArray.js"(exports2, module2) {
-    var baseIsTypedArray = require_baseIsTypedArray();
-    var baseUnary = require_baseUnary();
-    var nodeUtil = require_nodeUtil();
-    var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
-    var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
-    module2.exports = isTypedArray;
-  }
-});
-
-// node_modules/lodash/_arrayLikeKeys.js
-var require_arrayLikeKeys = __commonJS({
-  "node_modules/lodash/_arrayLikeKeys.js"(exports2, module2) {
-    var baseTimes = require_baseTimes();
-    var isArguments = require_isArguments();
-    var isArray = require_isArray();
-    var isBuffer = require_isBuffer();
-    var isIndex = require_isIndex();
-    var isTypedArray = require_isTypedArray();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    function arrayLikeKeys(value, inherited) {
-      var isArr = isArray(value), isArg = !isArr && isArguments(value), isBuff = !isArr && !isArg && isBuffer(value), isType = !isArr && !isArg && !isBuff && isTypedArray(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length = result.length;
-      for (var key in value) {
-        if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && // Safari 9 has enumerable `arguments.length` in strict mode.
-        (key == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
-        isBuff && (key == "offset" || key == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
-        isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || // Skip index properties.
-        isIndex(key, length)))) {
-          result.push(key);
+      if (this._writableState !== null) {
+        if (name === "drain") {
+          this._duplexState |= WRITE_EMIT_DRAIN;
+          this._writableState.updateNextTick();
         }
       }
-      return result;
-    }
-    module2.exports = arrayLikeKeys;
-  }
-});
-
-// node_modules/lodash/_isPrototype.js
-var require_isPrototype = __commonJS({
-  "node_modules/lodash/_isPrototype.js"(exports2, module2) {
-    var objectProto = Object.prototype;
-    function isPrototype(value) {
-      var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto;
-      return value === proto;
     }
-    module2.exports = isPrototype;
-  }
-});
-
-// node_modules/lodash/_nativeKeysIn.js
-var require_nativeKeysIn = __commonJS({
-  "node_modules/lodash/_nativeKeysIn.js"(exports2, module2) {
-    function nativeKeysIn(object) {
-      var result = [];
-      if (object != null) {
-        for (var key in Object(object)) {
-          result.push(key);
+    var Stream = class extends EventEmitter {
+      constructor(opts) {
+        super();
+        this._duplexState = 0;
+        this._readableState = null;
+        this._writableState = null;
+        if (opts) {
+          if (opts.open) this._open = opts.open;
+          if (opts.destroy) this._destroy = opts.destroy;
+          if (opts.predestroy) this._predestroy = opts.predestroy;
+          if (opts.signal) {
+            opts.signal.addEventListener("abort", abort.bind(this));
+          }
         }
+        this.on("newListener", newListener);
+      }
+      _open(cb) {
+        cb(null);
+      }
+      _destroy(cb) {
+        cb(null);
+      }
+      _predestroy() {
       }
-      return result;
-    }
-    module2.exports = nativeKeysIn;
-  }
-});
-
-// node_modules/lodash/_baseKeysIn.js
-var require_baseKeysIn = __commonJS({
-  "node_modules/lodash/_baseKeysIn.js"(exports2, module2) {
-    var isObject2 = require_isObject();
-    var isPrototype = require_isPrototype();
-    var nativeKeysIn = require_nativeKeysIn();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    function baseKeysIn(object) {
-      if (!isObject2(object)) {
-        return nativeKeysIn(object);
+      get readable() {
+        return this._readableState !== null ? true : void 0;
       }
-      var isProto = isPrototype(object), result = [];
-      for (var key in object) {
-        if (!(key == "constructor" && (isProto || !hasOwnProperty.call(object, key)))) {
-          result.push(key);
-        }
+      get writable() {
+        return this._writableState !== null ? true : void 0;
       }
-      return result;
-    }
-    module2.exports = baseKeysIn;
-  }
-});
-
-// node_modules/lodash/keysIn.js
-var require_keysIn = __commonJS({
-  "node_modules/lodash/keysIn.js"(exports2, module2) {
-    var arrayLikeKeys = require_arrayLikeKeys();
-    var baseKeysIn = require_baseKeysIn();
-    var isArrayLike = require_isArrayLike();
-    function keysIn(object) {
-      return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);
-    }
-    module2.exports = keysIn;
-  }
-});
-
-// node_modules/lodash/defaults.js
-var require_defaults = __commonJS({
-  "node_modules/lodash/defaults.js"(exports2, module2) {
-    var baseRest = require_baseRest();
-    var eq = require_eq2();
-    var isIterateeCall = require_isIterateeCall();
-    var keysIn = require_keysIn();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    var defaults = baseRest(function(object, sources) {
-      object = Object(object);
-      var index = -1;
-      var length = sources.length;
-      var guard = length > 2 ? sources[2] : void 0;
-      if (guard && isIterateeCall(sources[0], sources[1], guard)) {
-        length = 1;
+      get destroyed() {
+        return (this._duplexState & DESTROYED) !== 0;
       }
-      while (++index < length) {
-        var source = sources[index];
-        var props = keysIn(source);
-        var propsIndex = -1;
-        var propsLength = props.length;
-        while (++propsIndex < propsLength) {
-          var key = props[propsIndex];
-          var value = object[key];
-          if (value === void 0 || eq(value, objectProto[key]) && !hasOwnProperty.call(object, key)) {
-            object[key] = source[key];
+      get destroying() {
+        return (this._duplexState & DESTROY_STATUS) !== 0;
+      }
+      destroy(err) {
+        if ((this._duplexState & DESTROY_STATUS) === 0) {
+          if (!err) err = STREAM_DESTROYED;
+          this._duplexState = (this._duplexState | DESTROYING) & NON_PRIMARY;
+          if (this._readableState !== null) {
+            this._readableState.highWaterMark = 0;
+            this._readableState.error = err;
+          }
+          if (this._writableState !== null) {
+            this._writableState.highWaterMark = 0;
+            this._writableState.error = err;
           }
+          this._duplexState |= PREDESTROYING;
+          this._predestroy();
+          this._duplexState &= NOT_PREDESTROYING;
+          if (this._readableState !== null) this._readableState.updateNextTick();
+          if (this._writableState !== null) this._writableState.updateNextTick();
         }
       }
-      return object;
-    });
-    module2.exports = defaults;
-  }
-});
-
-// node_modules/readable-stream/lib/ours/primordials.js
-var require_primordials = __commonJS({
-  "node_modules/readable-stream/lib/ours/primordials.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      ArrayIsArray(self2) {
-        return Array.isArray(self2);
-      },
-      ArrayPrototypeIncludes(self2, el) {
-        return self2.includes(el);
-      },
-      ArrayPrototypeIndexOf(self2, el) {
-        return self2.indexOf(el);
-      },
-      ArrayPrototypeJoin(self2, sep3) {
-        return self2.join(sep3);
-      },
-      ArrayPrototypeMap(self2, fn) {
-        return self2.map(fn);
-      },
-      ArrayPrototypePop(self2, el) {
-        return self2.pop(el);
-      },
-      ArrayPrototypePush(self2, el) {
-        return self2.push(el);
-      },
-      ArrayPrototypeSlice(self2, start, end) {
-        return self2.slice(start, end);
-      },
-      Error,
-      FunctionPrototypeCall(fn, thisArgs, ...args) {
-        return fn.call(thisArgs, ...args);
-      },
-      FunctionPrototypeSymbolHasInstance(self2, instance) {
-        return Function.prototype[Symbol.hasInstance].call(self2, instance);
-      },
-      MathFloor: Math.floor,
-      Number,
-      NumberIsInteger: Number.isInteger,
-      NumberIsNaN: Number.isNaN,
-      NumberMAX_SAFE_INTEGER: Number.MAX_SAFE_INTEGER,
-      NumberMIN_SAFE_INTEGER: Number.MIN_SAFE_INTEGER,
-      NumberParseInt: Number.parseInt,
-      ObjectDefineProperties(self2, props) {
-        return Object.defineProperties(self2, props);
-      },
-      ObjectDefineProperty(self2, name, prop) {
-        return Object.defineProperty(self2, name, prop);
-      },
-      ObjectGetOwnPropertyDescriptor(self2, name) {
-        return Object.getOwnPropertyDescriptor(self2, name);
-      },
-      ObjectKeys(obj) {
-        return Object.keys(obj);
-      },
-      ObjectSetPrototypeOf(target, proto) {
-        return Object.setPrototypeOf(target, proto);
-      },
-      Promise,
-      PromisePrototypeCatch(self2, fn) {
-        return self2.catch(fn);
-      },
-      PromisePrototypeThen(self2, thenFn, catchFn) {
-        return self2.then(thenFn, catchFn);
-      },
-      PromiseReject(err) {
-        return Promise.reject(err);
-      },
-      PromiseResolve(val) {
-        return Promise.resolve(val);
-      },
-      ReflectApply: Reflect.apply,
-      RegExpPrototypeTest(self2, value) {
-        return self2.test(value);
-      },
-      SafeSet: Set,
-      String,
-      StringPrototypeSlice(self2, start, end) {
-        return self2.slice(start, end);
-      },
-      StringPrototypeToLowerCase(self2) {
-        return self2.toLowerCase();
-      },
-      StringPrototypeToUpperCase(self2) {
-        return self2.toUpperCase();
-      },
-      StringPrototypeTrim(self2) {
-        return self2.trim();
-      },
-      Symbol,
-      SymbolFor: Symbol.for,
-      SymbolAsyncIterator: Symbol.asyncIterator,
-      SymbolHasInstance: Symbol.hasInstance,
-      SymbolIterator: Symbol.iterator,
-      SymbolDispose: Symbol.dispose || /* @__PURE__ */ Symbol("Symbol.dispose"),
-      SymbolAsyncDispose: Symbol.asyncDispose || /* @__PURE__ */ Symbol("Symbol.asyncDispose"),
-      TypedArrayPrototypeSet(self2, buf, len) {
-        return self2.set(buf, len);
-      },
-      Boolean,
-      Uint8Array
     };
-  }
-});
-
-// node_modules/event-target-shim/dist/event-target-shim.js
-var require_event_target_shim = __commonJS({
-  "node_modules/event-target-shim/dist/event-target-shim.js"(exports2, module2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    var privateData = /* @__PURE__ */ new WeakMap();
-    var wrappers = /* @__PURE__ */ new WeakMap();
-    function pd(event) {
-      const retv = privateData.get(event);
-      console.assert(
-        retv != null,
-        "'this' is expected an Event object, but got",
-        event
-      );
-      return retv;
-    }
-    function setCancelFlag(data) {
-      if (data.passiveListener != null) {
-        if (typeof console !== "undefined" && typeof console.error === "function") {
-          console.error(
-            "Unable to preventDefault inside passive event listener invocation.",
-            data.passiveListener
-          );
+    var Readable = class _Readable extends Stream {
+      constructor(opts) {
+        super(opts);
+        this._duplexState |= OPENING | WRITE_DONE | READ_READ_AHEAD;
+        this._readableState = new ReadableState(this, opts);
+        if (opts) {
+          if (this._readableState.readAhead === false) this._duplexState &= READ_NO_READ_AHEAD;
+          if (opts.read) this._read = opts.read;
+          if (opts.eagerOpen) this._readableState.updateNextTick();
+          if (opts.encoding) this.setEncoding(opts.encoding);
         }
-        return;
       }
-      if (!data.event.cancelable) {
-        return;
+      setEncoding(encoding) {
+        const dec = new TextDecoder2(encoding);
+        const map2 = this._readableState.map || echo;
+        this._readableState.map = mapOrSkip;
+        return this;
+        function mapOrSkip(data) {
+          const next = dec.push(data);
+          return next === "" && (data.byteLength !== 0 || dec.remaining > 0) ? null : map2(next);
+        }
       }
-      data.canceled = true;
-      if (typeof data.event.preventDefault === "function") {
-        data.event.preventDefault();
+      _read(cb) {
+        cb(null);
       }
-    }
-    function Event2(eventTarget, event) {
-      privateData.set(this, {
-        eventTarget,
-        event,
-        eventPhase: 2,
-        currentTarget: eventTarget,
-        canceled: false,
-        stopped: false,
-        immediateStopped: false,
-        passiveListener: null,
-        timeStamp: event.timeStamp || Date.now()
-      });
-      Object.defineProperty(this, "isTrusted", { value: false, enumerable: true });
-      const keys = Object.keys(event);
-      for (let i = 0; i < keys.length; ++i) {
-        const key = keys[i];
-        if (!(key in this)) {
-          Object.defineProperty(this, key, defineRedirectDescriptor(key));
-        }
+      pipe(dest, cb) {
+        this._readableState.updateNextTick();
+        this._readableState.pipe(dest, cb);
+        return dest;
       }
-    }
-    Event2.prototype = {
-      /**
-       * The type of this event.
-       * @type {string}
-       */
-      get type() {
-        return pd(this).event.type;
-      },
-      /**
-       * The target of this event.
-       * @type {EventTarget}
-       */
-      get target() {
-        return pd(this).eventTarget;
-      },
-      /**
-       * The target of this event.
-       * @type {EventTarget}
-       */
-      get currentTarget() {
-        return pd(this).currentTarget;
-      },
-      /**
-       * @returns {EventTarget[]} The composed path of this event.
-       */
-      composedPath() {
-        const currentTarget = pd(this).currentTarget;
-        if (currentTarget == null) {
-          return [];
-        }
-        return [currentTarget];
-      },
-      /**
-       * Constant of NONE.
-       * @type {number}
-       */
-      get NONE() {
-        return 0;
-      },
-      /**
-       * Constant of CAPTURING_PHASE.
-       * @type {number}
-       */
-      get CAPTURING_PHASE() {
-        return 1;
-      },
-      /**
-       * Constant of AT_TARGET.
-       * @type {number}
-       */
-      get AT_TARGET() {
-        return 2;
-      },
-      /**
-       * Constant of BUBBLING_PHASE.
-       * @type {number}
-       */
-      get BUBBLING_PHASE() {
-        return 3;
-      },
-      /**
-       * The target of this event.
-       * @type {number}
-       */
-      get eventPhase() {
-        return pd(this).eventPhase;
-      },
-      /**
-       * Stop event bubbling.
-       * @returns {void}
-       */
-      stopPropagation() {
-        const data = pd(this);
-        data.stopped = true;
-        if (typeof data.event.stopPropagation === "function") {
-          data.event.stopPropagation();
-        }
-      },
-      /**
-       * Stop event bubbling.
-       * @returns {void}
-       */
-      stopImmediatePropagation() {
-        const data = pd(this);
-        data.stopped = true;
-        data.immediateStopped = true;
-        if (typeof data.event.stopImmediatePropagation === "function") {
-          data.event.stopImmediatePropagation();
+      read() {
+        this._readableState.updateNextTick();
+        return this._readableState.read();
+      }
+      push(data) {
+        this._readableState.updateNextTick();
+        return this._readableState.push(data);
+      }
+      unshift(data) {
+        this._readableState.updateNextTick();
+        return this._readableState.unshift(data);
+      }
+      resume() {
+        this._duplexState |= READ_RESUMED_READ_AHEAD;
+        this._readableState.updateNextTick();
+        return this;
+      }
+      pause() {
+        this._duplexState &= this._readableState.readAhead === false ? READ_PAUSED_NO_READ_AHEAD : READ_PAUSED;
+        return this;
+      }
+      static _fromAsyncIterator(ite, opts) {
+        let destroy;
+        const rs = new _Readable({
+          ...opts,
+          read(cb) {
+            ite.next().then(push).then(cb.bind(null, null)).catch(cb);
+          },
+          predestroy() {
+            destroy = ite.return();
+          },
+          destroy(cb) {
+            if (!destroy) return cb(null);
+            destroy.then(cb.bind(null, null)).catch(cb);
+          }
+        });
+        return rs;
+        function push(data) {
+          if (data.done) rs.push(null);
+          else rs.push(data.value);
         }
-      },
-      /**
-       * The flag to be bubbling.
-       * @type {boolean}
-       */
-      get bubbles() {
-        return Boolean(pd(this).event.bubbles);
-      },
-      /**
-       * The flag to be cancelable.
-       * @type {boolean}
-       */
-      get cancelable() {
-        return Boolean(pd(this).event.cancelable);
-      },
-      /**
-       * Cancel this event.
-       * @returns {void}
-       */
-      preventDefault() {
-        setCancelFlag(pd(this));
-      },
-      /**
-       * The flag to indicate cancellation state.
-       * @type {boolean}
-       */
-      get defaultPrevented() {
-        return pd(this).canceled;
-      },
-      /**
-       * The flag to be composed.
-       * @type {boolean}
-       */
-      get composed() {
-        return Boolean(pd(this).event.composed);
-      },
-      /**
-       * The unix time of this event.
-       * @type {number}
-       */
-      get timeStamp() {
-        return pd(this).timeStamp;
-      },
-      /**
-       * The target of this event.
-       * @type {EventTarget}
-       * @deprecated
-       */
-      get srcElement() {
-        return pd(this).eventTarget;
-      },
-      /**
-       * The flag to stop event bubbling.
-       * @type {boolean}
-       * @deprecated
-       */
-      get cancelBubble() {
-        return pd(this).stopped;
-      },
-      set cancelBubble(value) {
-        if (!value) {
-          return;
+      }
+      static from(data, opts) {
+        if (isReadStreamx(data)) return data;
+        if (data[asyncIterator]) return this._fromAsyncIterator(data[asyncIterator](), opts);
+        if (!Array.isArray(data)) data = data === void 0 ? [] : [data];
+        let i = 0;
+        return new _Readable({
+          ...opts,
+          read(cb) {
+            this.push(i === data.length ? null : data[i++]);
+            cb(null);
+          }
+        });
+      }
+      static isBackpressured(rs) {
+        return (rs._duplexState & READ_BACKPRESSURE_STATUS) !== 0 || rs._readableState.buffered >= rs._readableState.highWaterMark;
+      }
+      static isPaused(rs) {
+        return (rs._duplexState & READ_RESUMED) === 0;
+      }
+      [asyncIterator]() {
+        const stream = this;
+        let error3 = null;
+        let promiseResolve = null;
+        let promiseReject = null;
+        this.on("error", (err) => {
+          error3 = err;
+        });
+        this.on("readable", onreadable);
+        this.on("close", onclose);
+        return {
+          [asyncIterator]() {
+            return this;
+          },
+          next() {
+            return new Promise(function(resolve3, reject) {
+              promiseResolve = resolve3;
+              promiseReject = reject;
+              const data = stream.read();
+              if (data !== null) ondata(data);
+              else if ((stream._duplexState & DESTROYED) !== 0) ondata(null);
+            });
+          },
+          return() {
+            return destroy(null);
+          },
+          throw(err) {
+            return destroy(err);
+          }
+        };
+        function onreadable() {
+          if (promiseResolve !== null) ondata(stream.read());
         }
-        const data = pd(this);
-        data.stopped = true;
-        if (typeof data.event.cancelBubble === "boolean") {
-          data.event.cancelBubble = true;
+        function onclose() {
+          if (promiseResolve !== null) ondata(null);
         }
-      },
-      /**
-       * The flag to indicate cancellation state.
-       * @type {boolean}
-       * @deprecated
-       */
-      get returnValue() {
-        return !pd(this).canceled;
-      },
-      set returnValue(value) {
-        if (!value) {
-          setCancelFlag(pd(this));
+        function ondata(data) {
+          if (promiseReject === null) return;
+          if (error3) promiseReject(error3);
+          else if (data === null && (stream._duplexState & READ_DONE) === 0) promiseReject(STREAM_DESTROYED);
+          else promiseResolve({ value: data, done: data === null });
+          promiseReject = promiseResolve = null;
+        }
+        function destroy(err) {
+          stream.destroy(err);
+          return new Promise((resolve3, reject) => {
+            if (stream._duplexState & DESTROYED) return resolve3({ value: void 0, done: true });
+            stream.once("close", function() {
+              if (err) reject(err);
+              else resolve3({ value: void 0, done: true });
+            });
+          });
         }
-      },
-      /**
-       * Initialize this event object. But do nothing under event dispatching.
-       * @param {string} type The event type.
-       * @param {boolean} [bubbles=false] The flag to be possible to bubble up.
-       * @param {boolean} [cancelable=false] The flag to be possible to cancel.
-       * @deprecated
-       */
-      initEvent() {
       }
     };
-    Object.defineProperty(Event2.prototype, "constructor", {
-      value: Event2,
-      configurable: true,
-      writable: true
-    });
-    if (typeof window !== "undefined" && typeof window.Event !== "undefined") {
-      Object.setPrototypeOf(Event2.prototype, window.Event.prototype);
-      wrappers.set(window.Event.prototype, Event2);
-    }
-    function defineRedirectDescriptor(key) {
-      return {
-        get() {
-          return pd(this).event[key];
-        },
-        set(value) {
-          pd(this).event[key] = value;
-        },
-        configurable: true,
-        enumerable: true
-      };
-    }
-    function defineCallDescriptor(key) {
-      return {
-        value() {
-          const event = pd(this).event;
-          return event[key].apply(event, arguments);
-        },
-        configurable: true,
-        enumerable: true
-      };
-    }
-    function defineWrapper(BaseEvent, proto) {
-      const keys = Object.keys(proto);
-      if (keys.length === 0) {
-        return BaseEvent;
+    var Writable = class extends Stream {
+      constructor(opts) {
+        super(opts);
+        this._duplexState |= OPENING | READ_DONE;
+        this._writableState = new WritableState(this, opts);
+        if (opts) {
+          if (opts.writev) this._writev = opts.writev;
+          if (opts.write) this._write = opts.write;
+          if (opts.final) this._final = opts.final;
+          if (opts.eagerOpen) this._writableState.updateNextTick();
+        }
       }
-      function CustomEvent(eventTarget, event) {
-        BaseEvent.call(this, eventTarget, event);
+      cork() {
+        this._duplexState |= WRITE_CORKED;
       }
-      CustomEvent.prototype = Object.create(BaseEvent.prototype, {
-        constructor: { value: CustomEvent, configurable: true, writable: true }
-      });
-      for (let i = 0; i < keys.length; ++i) {
-        const key = keys[i];
-        if (!(key in BaseEvent.prototype)) {
-          const descriptor = Object.getOwnPropertyDescriptor(proto, key);
-          const isFunc = typeof descriptor.value === "function";
-          Object.defineProperty(
-            CustomEvent.prototype,
-            key,
-            isFunc ? defineCallDescriptor(key) : defineRedirectDescriptor(key)
-          );
-        }
+      uncork() {
+        this._duplexState &= WRITE_NOT_CORKED;
+        this._writableState.updateNextTick();
       }
-      return CustomEvent;
-    }
-    function getWrapper(proto) {
-      if (proto == null || proto === Object.prototype) {
-        return Event2;
+      _writev(batch, cb) {
+        cb(null);
       }
-      let wrapper = wrappers.get(proto);
-      if (wrapper == null) {
-        wrapper = defineWrapper(getWrapper(Object.getPrototypeOf(proto)), proto);
-        wrappers.set(proto, wrapper);
+      _write(data, cb) {
+        this._writableState.autoBatch(data, cb);
       }
-      return wrapper;
-    }
-    function wrapEvent(eventTarget, event) {
-      const Wrapper = getWrapper(Object.getPrototypeOf(event));
-      return new Wrapper(eventTarget, event);
-    }
-    function isStopped(event) {
-      return pd(event).immediateStopped;
-    }
-    function setEventPhase(event, eventPhase) {
-      pd(event).eventPhase = eventPhase;
-    }
-    function setCurrentTarget(event, currentTarget) {
-      pd(event).currentTarget = currentTarget;
-    }
-    function setPassiveListener(event, passiveListener) {
-      pd(event).passiveListener = passiveListener;
-    }
-    var listenersMap = /* @__PURE__ */ new WeakMap();
-    var CAPTURE = 1;
-    var BUBBLE = 2;
-    var ATTRIBUTE = 3;
-    function isObject2(x) {
-      return x !== null && typeof x === "object";
-    }
-    function getListeners(eventTarget) {
-      const listeners = listenersMap.get(eventTarget);
-      if (listeners == null) {
-        throw new TypeError(
-          "'this' is expected an EventTarget object, but got another value."
-        );
+      _final(cb) {
+        cb(null);
       }
-      return listeners;
-    }
-    function defineEventAttributeDescriptor(eventName) {
-      return {
-        get() {
-          const listeners = getListeners(this);
-          let node = listeners.get(eventName);
-          while (node != null) {
-            if (node.listenerType === ATTRIBUTE) {
-              return node.listener;
-            }
-            node = node.next;
-          }
-          return null;
-        },
-        set(listener) {
-          if (typeof listener !== "function" && !isObject2(listener)) {
-            listener = null;
-          }
-          const listeners = getListeners(this);
-          let prev = null;
-          let node = listeners.get(eventName);
-          while (node != null) {
-            if (node.listenerType === ATTRIBUTE) {
-              if (prev !== null) {
-                prev.next = node.next;
-              } else if (node.next !== null) {
-                listeners.set(eventName, node.next);
-              } else {
-                listeners.delete(eventName);
-              }
-            } else {
-              prev = node;
-            }
-            node = node.next;
-          }
-          if (listener !== null) {
-            const newNode = {
-              listener,
-              listenerType: ATTRIBUTE,
-              passive: false,
-              once: false,
-              next: null
-            };
-            if (prev === null) {
-              listeners.set(eventName, newNode);
-            } else {
-              prev.next = newNode;
-            }
-          }
-        },
-        configurable: true,
-        enumerable: true
-      };
-    }
-    function defineEventAttribute(eventTargetPrototype, eventName) {
-      Object.defineProperty(
-        eventTargetPrototype,
-        `on${eventName}`,
-        defineEventAttributeDescriptor(eventName)
-      );
-    }
-    function defineCustomEventTarget(eventNames) {
-      function CustomEventTarget() {
-        EventTarget2.call(this);
+      static isBackpressured(ws) {
+        return (ws._duplexState & WRITE_BACKPRESSURE_STATUS) !== 0;
       }
-      CustomEventTarget.prototype = Object.create(EventTarget2.prototype, {
-        constructor: {
-          value: CustomEventTarget,
-          configurable: true,
-          writable: true
-        }
-      });
-      for (let i = 0; i < eventNames.length; ++i) {
-        defineEventAttribute(CustomEventTarget.prototype, eventNames[i]);
+      static drained(ws) {
+        if (ws.destroyed) return Promise.resolve(false);
+        const state = ws._writableState;
+        const pending = isWritev(ws) ? Math.min(1, state.queue.length) : state.queue.length;
+        const writes = pending + (ws._duplexState & WRITE_WRITING ? 1 : 0);
+        if (writes === 0) return Promise.resolve(true);
+        if (state.drains === null) state.drains = [];
+        return new Promise((resolve3) => {
+          state.drains.push({ writes, resolve: resolve3 });
+        });
       }
-      return CustomEventTarget;
-    }
-    function EventTarget2() {
-      if (this instanceof EventTarget2) {
-        listenersMap.set(this, /* @__PURE__ */ new Map());
-        return;
+      write(data) {
+        this._writableState.updateNextTick();
+        return this._writableState.push(data);
       }
-      if (arguments.length === 1 && Array.isArray(arguments[0])) {
-        return defineCustomEventTarget(arguments[0]);
+      end(data) {
+        this._writableState.updateNextTick();
+        this._writableState.end(data);
+        return this;
       }
-      if (arguments.length > 0) {
-        const types = new Array(arguments.length);
-        for (let i = 0; i < arguments.length; ++i) {
-          types[i] = arguments[i];
+    };
+    var Duplex = class extends Readable {
+      // and Writable
+      constructor(opts) {
+        super(opts);
+        this._duplexState = OPENING | this._duplexState & READ_READ_AHEAD;
+        this._writableState = new WritableState(this, opts);
+        if (opts) {
+          if (opts.writev) this._writev = opts.writev;
+          if (opts.write) this._write = opts.write;
+          if (opts.final) this._final = opts.final;
         }
-        return defineCustomEventTarget(types);
       }
-      throw new TypeError("Cannot call a class as a function");
-    }
-    EventTarget2.prototype = {
-      /**
-       * Add a given listener to this event target.
-       * @param {string} eventName The event name to add.
-       * @param {Function} listener The listener to add.
-       * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener.
-       * @returns {void}
-       */
-      addEventListener(eventName, listener, options) {
-        if (listener == null) {
-          return;
-        }
-        if (typeof listener !== "function" && !isObject2(listener)) {
-          throw new TypeError("'listener' should be a function or an object.");
-        }
-        const listeners = getListeners(this);
-        const optionsIsObj = isObject2(options);
-        const capture = optionsIsObj ? Boolean(options.capture) : Boolean(options);
-        const listenerType = capture ? CAPTURE : BUBBLE;
-        const newNode = {
-          listener,
-          listenerType,
-          passive: optionsIsObj && Boolean(options.passive),
-          once: optionsIsObj && Boolean(options.once),
-          next: null
-        };
-        let node = listeners.get(eventName);
-        if (node === void 0) {
-          listeners.set(eventName, newNode);
-          return;
-        }
-        let prev = null;
-        while (node != null) {
-          if (node.listener === listener && node.listenerType === listenerType) {
-            return;
-          }
-          prev = node;
-          node = node.next;
-        }
-        prev.next = newNode;
-      },
-      /**
-       * Remove a given listener from this event target.
-       * @param {string} eventName The event name to remove.
-       * @param {Function} listener The listener to remove.
-       * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener.
-       * @returns {void}
-       */
-      removeEventListener(eventName, listener, options) {
-        if (listener == null) {
-          return;
-        }
-        const listeners = getListeners(this);
-        const capture = isObject2(options) ? Boolean(options.capture) : Boolean(options);
-        const listenerType = capture ? CAPTURE : BUBBLE;
-        let prev = null;
-        let node = listeners.get(eventName);
-        while (node != null) {
-          if (node.listener === listener && node.listenerType === listenerType) {
-            if (prev !== null) {
-              prev.next = node.next;
-            } else if (node.next !== null) {
-              listeners.set(eventName, node.next);
-            } else {
-              listeners.delete(eventName);
-            }
-            return;
-          }
-          prev = node;
-          node = node.next;
+      cork() {
+        this._duplexState |= WRITE_CORKED;
+      }
+      uncork() {
+        this._duplexState &= WRITE_NOT_CORKED;
+        this._writableState.updateNextTick();
+      }
+      _writev(batch, cb) {
+        cb(null);
+      }
+      _write(data, cb) {
+        this._writableState.autoBatch(data, cb);
+      }
+      _final(cb) {
+        cb(null);
+      }
+      write(data) {
+        this._writableState.updateNextTick();
+        return this._writableState.push(data);
+      }
+      end(data) {
+        this._writableState.updateNextTick();
+        this._writableState.end(data);
+        return this;
+      }
+    };
+    var Transform = class extends Duplex {
+      constructor(opts) {
+        super(opts);
+        this._transformState = new TransformState(this);
+        if (opts) {
+          if (opts.transform) this._transform = opts.transform;
+          if (opts.flush) this._flush = opts.flush;
         }
-      },
-      /**
-       * Dispatch a given event.
-       * @param {Event|{type:string}} event The event to dispatch.
-       * @returns {boolean} `false` if canceled.
-       */
-      dispatchEvent(event) {
-        if (event == null || typeof event.type !== "string") {
-          throw new TypeError('"event.type" should be a string.');
+      }
+      _write(data, cb) {
+        if (this._readableState.buffered >= this._readableState.highWaterMark) {
+          this._transformState.data = data;
+        } else {
+          this._transform(data, this._transformState.afterTransform);
         }
-        const listeners = getListeners(this);
-        const eventName = event.type;
-        let node = listeners.get(eventName);
-        if (node == null) {
-          return true;
+      }
+      _read(cb) {
+        if (this._transformState.data !== null) {
+          const data = this._transformState.data;
+          this._transformState.data = null;
+          cb(null);
+          this._transform(data, this._transformState.afterTransform);
+        } else {
+          cb(null);
         }
-        const wrappedEvent = wrapEvent(this, event);
-        let prev = null;
-        while (node != null) {
-          if (node.once) {
-            if (prev !== null) {
-              prev.next = node.next;
-            } else if (node.next !== null) {
-              listeners.set(eventName, node.next);
-            } else {
-              listeners.delete(eventName);
-            }
-          } else {
-            prev = node;
-          }
-          setPassiveListener(
-            wrappedEvent,
-            node.passive ? node.listener : null
-          );
-          if (typeof node.listener === "function") {
-            try {
-              node.listener.call(this, wrappedEvent);
-            } catch (err) {
-              if (typeof console !== "undefined" && typeof console.error === "function") {
-                console.error(err);
-              }
-            }
-          } else if (node.listenerType !== ATTRIBUTE && typeof node.listener.handleEvent === "function") {
-            node.listener.handleEvent(wrappedEvent);
-          }
-          if (isStopped(wrappedEvent)) {
-            break;
-          }
-          node = node.next;
+      }
+      destroy(err) {
+        super.destroy(err);
+        if (this._transformState.data !== null) {
+          this._transformState.data = null;
+          this._transformState.afterTransform();
         }
-        setPassiveListener(wrappedEvent, null);
-        setEventPhase(wrappedEvent, 0);
-        setCurrentTarget(wrappedEvent, null);
-        return !wrappedEvent.defaultPrevented;
       }
-    };
-    Object.defineProperty(EventTarget2.prototype, "constructor", {
-      value: EventTarget2,
-      configurable: true,
-      writable: true
-    });
-    if (typeof window !== "undefined" && typeof window.EventTarget !== "undefined") {
-      Object.setPrototypeOf(EventTarget2.prototype, window.EventTarget.prototype);
-    }
-    exports2.defineEventAttribute = defineEventAttribute;
-    exports2.EventTarget = EventTarget2;
-    exports2.default = EventTarget2;
-    module2.exports = EventTarget2;
-    module2.exports.EventTarget = module2.exports["default"] = EventTarget2;
-    module2.exports.defineEventAttribute = defineEventAttribute;
-  }
-});
-
-// node_modules/abort-controller/dist/abort-controller.js
-var require_abort_controller = __commonJS({
-  "node_modules/abort-controller/dist/abort-controller.js"(exports2, module2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    var eventTargetShim = require_event_target_shim();
-    var AbortSignal2 = class extends eventTargetShim.EventTarget {
-      /**
-       * AbortSignal cannot be constructed directly.
-       */
-      constructor() {
-        super();
-        throw new TypeError("AbortSignal cannot be constructed directly");
+      _transform(data, cb) {
+        cb(null, data);
       }
-      /**
-       * Returns `true` if this `AbortSignal`'s `AbortController` has signaled to abort, and `false` otherwise.
-       */
-      get aborted() {
-        const aborted = abortedFlags.get(this);
-        if (typeof aborted !== "boolean") {
-          throw new TypeError(`Expected 'this' to be an 'AbortSignal' object, but got ${this === null ? "null" : typeof this}`);
-        }
-        return aborted;
+      _flush(cb) {
+        cb(null);
       }
-    };
-    eventTargetShim.defineEventAttribute(AbortSignal2.prototype, "abort");
-    function createAbortSignal() {
-      const signal = Object.create(AbortSignal2.prototype);
-      eventTargetShim.EventTarget.call(signal);
-      abortedFlags.set(signal, false);
-      return signal;
-    }
-    function abortSignal(signal) {
-      if (abortedFlags.get(signal) !== false) {
-        return;
+      _final(cb) {
+        this._transformState.afterFinal = cb;
+        this._flush(transformAfterFlush.bind(this));
       }
-      abortedFlags.set(signal, true);
-      signal.dispatchEvent({ type: "abort" });
+    };
+    var PassThrough = class extends Transform {
+    };
+    function transformAfterFlush(err, data) {
+      const cb = this._transformState.afterFinal;
+      if (err) return cb(err);
+      if (data !== null && data !== void 0) this.push(data);
+      this.push(null);
+      cb(null);
     }
-    var abortedFlags = /* @__PURE__ */ new WeakMap();
-    Object.defineProperties(AbortSignal2.prototype, {
-      aborted: { enumerable: true }
-    });
-    if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") {
-      Object.defineProperty(AbortSignal2.prototype, Symbol.toStringTag, {
-        configurable: true,
-        value: "AbortSignal"
+    function pipelinePromise(...streams) {
+      return new Promise((resolve3, reject) => {
+        return pipeline(...streams, (err) => {
+          if (err) return reject(err);
+          resolve3();
+        });
       });
     }
-    var AbortController2 = class {
-      /**
-       * Initialize this controller.
-       */
-      constructor() {
-        signals.set(this, createAbortSignal());
+    function pipeline(stream, ...streams) {
+      const all = Array.isArray(stream) ? [...stream, ...streams] : [stream, ...streams];
+      const done = all.length && typeof all[all.length - 1] === "function" ? all.pop() : null;
+      if (all.length < 2) throw new Error("Pipeline requires at least 2 streams");
+      let src = all[0];
+      let dest = null;
+      let error3 = null;
+      for (let i = 1; i < all.length; i++) {
+        dest = all[i];
+        if (isStreamx(src)) {
+          src.pipe(dest, onerror);
+        } else {
+          errorHandle(src, true, i > 1, onerror);
+          src.pipe(dest);
+        }
+        src = dest;
       }
-      /**
-       * Returns the `AbortSignal` object associated with this object.
-       */
-      get signal() {
-        return getSignal(this);
+      if (done) {
+        let fin = false;
+        const autoDestroy = isStreamx(dest) || !!(dest._writableState && dest._writableState.autoDestroy);
+        dest.on("error", (err) => {
+          if (error3 === null) error3 = err;
+        });
+        dest.on("finish", () => {
+          fin = true;
+          if (!autoDestroy) done(error3);
+        });
+        if (autoDestroy) {
+          dest.on("close", () => done(error3 || (fin ? null : PREMATURE_CLOSE)));
+        }
       }
-      /**
-       * Abort and signal to any observers that the associated activity is to be aborted.
-       */
-      abort() {
-        abortSignal(getSignal(this));
+      return dest;
+      function errorHandle(s, rd, wr, onerror2) {
+        s.on("error", onerror2);
+        s.on("close", onclose);
+        function onclose() {
+          if (rd && s._readableState && !s._readableState.ended) return onerror2(PREMATURE_CLOSE);
+          if (wr && s._writableState && !s._writableState.ended) return onerror2(PREMATURE_CLOSE);
+        }
       }
-    };
-    var signals = /* @__PURE__ */ new WeakMap();
-    function getSignal(controller) {
-      const signal = signals.get(controller);
-      if (signal == null) {
-        throw new TypeError(`Expected 'this' to be an 'AbortController' object, but got ${controller === null ? "null" : typeof controller}`);
+      function onerror(err) {
+        if (!err || error3) return;
+        error3 = err;
+        for (const s of all) {
+          s.destroy(err);
+        }
       }
-      return signal;
     }
-    Object.defineProperties(AbortController2.prototype, {
-      signal: { enumerable: true },
-      abort: { enumerable: true }
-    });
-    if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") {
-      Object.defineProperty(AbortController2.prototype, Symbol.toStringTag, {
-        configurable: true,
-        value: "AbortController"
-      });
+    function echo(s) {
+      return s;
     }
-    exports2.AbortController = AbortController2;
-    exports2.AbortSignal = AbortSignal2;
-    exports2.default = AbortController2;
-    module2.exports = AbortController2;
-    module2.exports.AbortController = module2.exports["default"] = AbortController2;
-    module2.exports.AbortSignal = AbortSignal2;
+    function isStream(stream) {
+      return !!stream._readableState || !!stream._writableState;
+    }
+    function isStreamx(stream) {
+      return typeof stream._duplexState === "number" && isStream(stream);
+    }
+    function isEnded(stream) {
+      return !!stream._readableState && stream._readableState.ended;
+    }
+    function isFinished(stream) {
+      return !!stream._writableState && stream._writableState.ended;
+    }
+    function getStreamError(stream, opts = {}) {
+      const err = stream._readableState && stream._readableState.error || stream._writableState && stream._writableState.error;
+      return !opts.all && err === STREAM_DESTROYED ? null : err;
+    }
+    function isReadStreamx(stream) {
+      return isStreamx(stream) && stream.readable;
+    }
+    function isTypedArray(data) {
+      return typeof data === "object" && data !== null && typeof data.byteLength === "number";
+    }
+    function defaultByteLength(data) {
+      return isTypedArray(data) ? data.byteLength : 1024;
+    }
+    function noop3() {
+    }
+    function abort() {
+      this.destroy(new Error("Stream aborted."));
+    }
+    function isWritev(s) {
+      return s._writev !== Writable.prototype._writev && s._writev !== Duplex.prototype._writev;
+    }
+    module2.exports = {
+      pipeline,
+      pipelinePromise,
+      isStream,
+      isStreamx,
+      isEnded,
+      isFinished,
+      getStreamError,
+      Stream,
+      Writable,
+      Readable,
+      Duplex,
+      Transform,
+      // Export PassThrough for compatibility with Node.js core's stream module
+      PassThrough
+    };
   }
 });
 
-// node_modules/readable-stream/lib/ours/util.js
-var require_util20 = __commonJS({
-  "node_modules/readable-stream/lib/ours/util.js"(exports2, module2) {
-    "use strict";
-    var bufferModule = require("buffer");
-    var { kResistStopPropagation, SymbolDispose } = require_primordials();
-    var AbortSignal2 = globalThis.AbortSignal || require_abort_controller().AbortSignal;
-    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
-    var AsyncFunction = Object.getPrototypeOf(async function() {
-    }).constructor;
-    var Blob2 = globalThis.Blob || bufferModule.Blob;
-    var isBlob = typeof Blob2 !== "undefined" ? function isBlob2(b) {
-      return b instanceof Blob2;
-    } : function isBlob2(b) {
-      return false;
+// node_modules/tar-stream/headers.js
+var require_headers3 = __commonJS({
+  "node_modules/tar-stream/headers.js"(exports2) {
+    var b4a = require_b4a();
+    var ZEROS = "0000000000000000000";
+    var SEVENS = "7777777777777777777";
+    var ZERO_OFFSET = "0".charCodeAt(0);
+    var USTAR_MAGIC = b4a.from([117, 115, 116, 97, 114, 0]);
+    var USTAR_VER = b4a.from([ZERO_OFFSET, ZERO_OFFSET]);
+    var GNU_MAGIC = b4a.from([117, 115, 116, 97, 114, 32]);
+    var GNU_VER = b4a.from([32, 0]);
+    var MASK = 4095;
+    var MAGIC_OFFSET = 257;
+    var VERSION_OFFSET = 263;
+    exports2.decodeLongPath = function decodeLongPath(buf, encoding) {
+      return decodeStr(buf, 0, buf.length, encoding);
     };
-    var validateAbortSignal = (signal, name) => {
-      if (signal !== void 0 && (signal === null || typeof signal !== "object" || !("aborted" in signal))) {
-        throw new ERR_INVALID_ARG_TYPE(name, "AbortSignal", signal);
+    exports2.encodePax = function encodePax(opts) {
+      let result = "";
+      if (opts.name) result += addLength(" path=" + opts.name + "\n");
+      if (opts.linkname) result += addLength(" linkpath=" + opts.linkname + "\n");
+      const pax = opts.pax;
+      if (pax) {
+        for (const key in pax) {
+          result += addLength(" " + key + "=" + pax[key] + "\n");
+        }
       }
+      return b4a.from(result);
     };
-    var validateFunction = (value, name) => {
-      if (typeof value !== "function") throw new ERR_INVALID_ARG_TYPE(name, "Function", value);
+    exports2.decodePax = function decodePax(buf) {
+      const result = {};
+      while (buf.length) {
+        let i = 0;
+        while (i < buf.length && buf[i] !== 32) i++;
+        const len = parseInt(b4a.toString(buf.subarray(0, i)), 10);
+        if (!len) return result;
+        const b = b4a.toString(buf.subarray(i + 1, len - 1));
+        const keyIndex = b.indexOf("=");
+        if (keyIndex === -1) return result;
+        result[b.slice(0, keyIndex)] = b.slice(keyIndex + 1);
+        buf = buf.subarray(len);
+      }
+      return result;
     };
-    var AggregateError = class extends Error {
-      constructor(errors) {
-        if (!Array.isArray(errors)) {
-          throw new TypeError(`Expected input to be an Array, got ${typeof errors}`);
-        }
-        let message = "";
-        for (let i = 0; i < errors.length; i++) {
-          message += `    ${errors[i].stack}
-`;
-        }
-        super(message);
-        this.name = "AggregateError";
-        this.errors = errors;
+    exports2.encode = function encode(opts) {
+      const buf = b4a.alloc(512);
+      let name = opts.name;
+      let prefix = "";
+      if (opts.typeflag === 5 && name[name.length - 1] !== "/") name += "/";
+      if (b4a.byteLength(name) !== name.length) return null;
+      while (b4a.byteLength(name) > 100) {
+        const i = name.indexOf("/");
+        if (i === -1) return null;
+        prefix += prefix ? "/" + name.slice(0, i) : name.slice(0, i);
+        name = name.slice(i + 1);
       }
+      if (b4a.byteLength(name) > 100 || b4a.byteLength(prefix) > 155) return null;
+      if (opts.linkname && b4a.byteLength(opts.linkname) > 100) return null;
+      b4a.write(buf, name);
+      b4a.write(buf, encodeOct(opts.mode & MASK, 6), 100);
+      b4a.write(buf, encodeOct(opts.uid, 6), 108);
+      b4a.write(buf, encodeOct(opts.gid, 6), 116);
+      encodeSize(opts.size, buf, 124);
+      b4a.write(buf, encodeOct(opts.mtime.getTime() / 1e3 | 0, 11), 136);
+      buf[156] = ZERO_OFFSET + toTypeflag(opts.type);
+      if (opts.linkname) b4a.write(buf, opts.linkname, 157);
+      b4a.copy(USTAR_MAGIC, buf, MAGIC_OFFSET);
+      b4a.copy(USTAR_VER, buf, VERSION_OFFSET);
+      if (opts.uname) b4a.write(buf, opts.uname, 265);
+      if (opts.gname) b4a.write(buf, opts.gname, 297);
+      b4a.write(buf, encodeOct(opts.devmajor || 0, 6), 329);
+      b4a.write(buf, encodeOct(opts.devminor || 0, 6), 337);
+      if (prefix) b4a.write(buf, prefix, 345);
+      b4a.write(buf, encodeOct(cksum(buf), 6), 148);
+      return buf;
     };
-    module2.exports = {
-      AggregateError,
-      kEmptyObject: Object.freeze({}),
-      once(callback) {
-        let called = false;
-        return function(...args) {
-          if (called) {
-            return;
-          }
-          called = true;
-          callback.apply(this, args);
-        };
-      },
-      createDeferredPromise: function() {
-        let resolve3;
-        let reject;
-        const promise = new Promise((res, rej) => {
-          resolve3 = res;
-          reject = rej;
-        });
-        return {
-          promise,
-          resolve: resolve3,
-          reject
-        };
-      },
-      promisify(fn) {
-        return new Promise((resolve3, reject) => {
-          fn((err, ...args) => {
-            if (err) {
-              return reject(err);
-            }
-            return resolve3(...args);
-          });
-        });
-      },
-      debuglog() {
-        return function() {
-        };
-      },
-      format(format, ...args) {
-        return format.replace(/%([sdifj])/g, function(...[_unused, type2]) {
-          const replacement = args.shift();
-          if (type2 === "f") {
-            return replacement.toFixed(6);
-          } else if (type2 === "j") {
-            return JSON.stringify(replacement);
-          } else if (type2 === "s" && typeof replacement === "object") {
-            const ctor = replacement.constructor !== Object ? replacement.constructor.name : "";
-            return `${ctor} {}`.trim();
-          } else {
-            return replacement.toString();
-          }
-        });
-      },
-      inspect(value) {
-        switch (typeof value) {
-          case "string":
-            if (value.includes("'")) {
-              if (!value.includes('"')) {
-                return `"${value}"`;
-              } else if (!value.includes("`") && !value.includes("${")) {
-                return `\`${value}\``;
-              }
-            }
-            return `'${value}'`;
-          case "number":
-            if (isNaN(value)) {
-              return "NaN";
-            } else if (Object.is(value, -0)) {
-              return String(value);
-            }
-            return value;
-          case "bigint":
-            return `${String(value)}n`;
-          case "boolean":
-          case "undefined":
-            return String(value);
-          case "object":
-            return "{}";
-        }
-      },
-      types: {
-        isAsyncFunction(fn) {
-          return fn instanceof AsyncFunction;
-        },
-        isArrayBufferView(arr) {
-          return ArrayBuffer.isView(arr);
-        }
-      },
-      isBlob,
-      deprecate(fn, message) {
-        return fn;
-      },
-      addAbortListener: require("events").addAbortListener || function addAbortListener(signal, listener) {
-        if (signal === void 0) {
-          throw new ERR_INVALID_ARG_TYPE("signal", "AbortSignal", signal);
-        }
-        validateAbortSignal(signal, "signal");
-        validateFunction(listener, "listener");
-        let removeEventListener;
-        if (signal.aborted) {
-          queueMicrotask(() => listener());
-        } else {
-          signal.addEventListener("abort", listener, {
-            __proto__: null,
-            once: true,
-            [kResistStopPropagation]: true
-          });
-          removeEventListener = () => {
-            signal.removeEventListener("abort", listener);
-          };
-        }
-        return {
-          __proto__: null,
-          [SymbolDispose]() {
-            var _removeEventListener;
-            (_removeEventListener = removeEventListener) === null || _removeEventListener === void 0 ? void 0 : _removeEventListener();
-          }
-        };
-      },
-      AbortSignalAny: AbortSignal2.any || function AbortSignalAny(signals) {
-        if (signals.length === 1) {
-          return signals[0];
+    exports2.decode = function decode(buf, filenameEncoding, allowUnknownFormat) {
+      let typeflag = buf[156] === 0 ? 0 : buf[156] - ZERO_OFFSET;
+      let name = decodeStr(buf, 0, 100, filenameEncoding);
+      const mode = decodeOct(buf, 100, 8);
+      const uid = decodeOct(buf, 108, 8);
+      const gid = decodeOct(buf, 116, 8);
+      const size = decodeOct(buf, 124, 12);
+      const mtime = decodeOct(buf, 136, 12);
+      const type2 = toType(typeflag);
+      const linkname = buf[157] === 0 ? null : decodeStr(buf, 157, 100, filenameEncoding);
+      const uname = decodeStr(buf, 265, 32);
+      const gname = decodeStr(buf, 297, 32);
+      const devmajor = decodeOct(buf, 329, 8);
+      const devminor = decodeOct(buf, 337, 8);
+      const c = cksum(buf);
+      if (c === 8 * 32) return null;
+      if (c !== decodeOct(buf, 148, 8)) throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");
+      if (isUSTAR(buf)) {
+        if (buf[345]) name = decodeStr(buf, 345, 155, filenameEncoding) + "/" + name;
+      } else if (isGNU(buf)) {
+      } else {
+        if (!allowUnknownFormat) {
+          throw new Error("Invalid tar header: unknown format.");
         }
-        const ac = new AbortController2();
-        const abort = () => ac.abort();
-        signals.forEach((signal) => {
-          validateAbortSignal(signal, "signals");
-          signal.addEventListener("abort", abort, {
-            once: true
-          });
-        });
-        ac.signal.addEventListener(
-          "abort",
-          () => {
-            signals.forEach((signal) => signal.removeEventListener("abort", abort));
-          },
-          {
-            once: true
-          }
-        );
-        return ac.signal;
       }
-    };
-    module2.exports.promisify.custom = /* @__PURE__ */ Symbol.for("nodejs.util.promisify.custom");
-  }
-});
-
-// node_modules/readable-stream/lib/ours/errors.js
-var require_errors5 = __commonJS({
-  "node_modules/readable-stream/lib/ours/errors.js"(exports2, module2) {
-    "use strict";
-    var { format, inspect, AggregateError: CustomAggregateError } = require_util20();
-    var AggregateError = globalThis.AggregateError || CustomAggregateError;
-    var kIsNodeError = /* @__PURE__ */ Symbol("kIsNodeError");
-    var kTypes = [
-      "string",
-      "function",
-      "number",
-      "object",
-      // Accept 'Function' and 'Object' as alternative to the lower cased version.
-      "Function",
-      "Object",
-      "boolean",
-      "bigint",
-      "symbol"
-    ];
-    var classRegExp = /^([A-Z][a-z0-9]*)+$/;
-    var nodeInternalPrefix = "__node_internal_";
-    var codes = {};
-    function assert(value, message) {
-      if (!value) {
-        throw new codes.ERR_INTERNAL_ASSERTION(message);
+      if (typeflag === 0 && name && name[name.length - 1] === "/") typeflag = 5;
+      return {
+        name,
+        mode,
+        uid,
+        gid,
+        size,
+        mtime: new Date(1e3 * mtime),
+        type: type2,
+        linkname,
+        uname,
+        gname,
+        devmajor,
+        devminor,
+        pax: null
+      };
+    };
+    function isUSTAR(buf) {
+      return b4a.equals(USTAR_MAGIC, buf.subarray(MAGIC_OFFSET, MAGIC_OFFSET + 6));
+    }
+    function isGNU(buf) {
+      return b4a.equals(GNU_MAGIC, buf.subarray(MAGIC_OFFSET, MAGIC_OFFSET + 6)) && b4a.equals(GNU_VER, buf.subarray(VERSION_OFFSET, VERSION_OFFSET + 2));
+    }
+    function clamp(index, len, defaultValue) {
+      if (typeof index !== "number") return defaultValue;
+      index = ~~index;
+      if (index >= len) return len;
+      if (index >= 0) return index;
+      index += len;
+      if (index >= 0) return index;
+      return 0;
+    }
+    function toType(flag) {
+      switch (flag) {
+        case 0:
+          return "file";
+        case 1:
+          return "link";
+        case 2:
+          return "symlink";
+        case 3:
+          return "character-device";
+        case 4:
+          return "block-device";
+        case 5:
+          return "directory";
+        case 6:
+          return "fifo";
+        case 7:
+          return "contiguous-file";
+        case 72:
+          return "pax-header";
+        case 55:
+          return "pax-global-header";
+        case 27:
+          return "gnu-long-link-path";
+        case 28:
+        case 30:
+          return "gnu-long-path";
+      }
+      return null;
+    }
+    function toTypeflag(flag) {
+      switch (flag) {
+        case "file":
+          return 0;
+        case "link":
+          return 1;
+        case "symlink":
+          return 2;
+        case "character-device":
+          return 3;
+        case "block-device":
+          return 4;
+        case "directory":
+          return 5;
+        case "fifo":
+          return 6;
+        case "contiguous-file":
+          return 7;
+        case "pax-header":
+          return 72;
+      }
+      return 0;
+    }
+    function indexOf(block, num, offset, end) {
+      for (; offset < end; offset++) {
+        if (block[offset] === num) return offset;
+      }
+      return end;
+    }
+    function cksum(block) {
+      let sum = 8 * 32;
+      for (let i = 0; i < 148; i++) sum += block[i];
+      for (let j = 156; j < 512; j++) sum += block[j];
+      return sum;
+    }
+    function encodeOct(val, n) {
+      val = val.toString(8);
+      if (val.length > n) return SEVENS.slice(0, n) + " ";
+      return ZEROS.slice(0, n - val.length) + val + " ";
+    }
+    function encodeSizeBin(num, buf, off) {
+      buf[off] = 128;
+      for (let i = 11; i > 0; i--) {
+        buf[off + i] = num & 255;
+        num = Math.floor(num / 256);
       }
     }
-    function addNumericalSeparator(val) {
-      let res = "";
-      let i = val.length;
-      const start = val[0] === "-" ? 1 : 0;
-      for (; i >= start + 4; i -= 3) {
-        res = `_${val.slice(i - 3, i)}${res}`;
+    function encodeSize(num, buf, off) {
+      if (num.toString(8).length > 11) {
+        encodeSizeBin(num, buf, off);
+      } else {
+        b4a.write(buf, encodeOct(num, 11), off);
       }
-      return `${val.slice(0, i)}${res}`;
     }
-    function getMessage(key, msg, args) {
-      if (typeof msg === "function") {
-        assert(
-          msg.length <= args.length,
-          // Default options do not count.
-          `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${msg.length}).`
-        );
-        return msg(...args);
+    function parse256(buf) {
+      let positive;
+      if (buf[0] === 128) positive = true;
+      else if (buf[0] === 255) positive = false;
+      else return null;
+      const tuple = [];
+      let i;
+      for (i = buf.length - 1; i > 0; i--) {
+        const byte = buf[i];
+        if (positive) tuple.push(byte);
+        else tuple.push(255 - byte);
       }
-      const expectedLength = (msg.match(/%[dfijoOs]/g) || []).length;
-      assert(
-        expectedLength === args.length,
-        `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${expectedLength}).`
-      );
-      if (args.length === 0) {
-        return msg;
+      let sum = 0;
+      const l = tuple.length;
+      for (i = 0; i < l; i++) {
+        sum += tuple[i] * Math.pow(256, i);
       }
-      return format(msg, ...args);
+      return positive ? sum : -1 * sum;
     }
-    function E(code, message, Base) {
-      if (!Base) {
-        Base = Error;
+    function decodeOct(val, offset, length) {
+      val = val.subarray(offset, offset + length);
+      offset = 0;
+      if (val[offset] & 128) {
+        return parse256(val);
+      } else {
+        while (offset < val.length && val[offset] === 32) offset++;
+        const end = clamp(indexOf(val, 32, offset, val.length), val.length, val.length);
+        while (offset < end && val[offset] === 0) offset++;
+        if (end === offset) return 0;
+        return parseInt(b4a.toString(val.subarray(offset, end)), 8);
       }
-      class NodeError extends Base {
-        constructor(...args) {
-          super(getMessage(code, message, args));
+    }
+    function decodeStr(val, offset, length, encoding) {
+      return b4a.toString(val.subarray(offset, indexOf(val, 0, offset, offset + length)), encoding);
+    }
+    function addLength(str2) {
+      const len = b4a.byteLength(str2);
+      let digits = Math.floor(Math.log(len) / Math.log(10)) + 1;
+      if (len + digits >= Math.pow(10, digits)) digits++;
+      return len + digits + str2;
+    }
+  }
+});
+
+// node_modules/tar-stream/extract.js
+var require_extract = __commonJS({
+  "node_modules/tar-stream/extract.js"(exports2, module2) {
+    var { Writable, Readable, getStreamError } = require_streamx();
+    var FIFO = require_fast_fifo();
+    var b4a = require_b4a();
+    var headers = require_headers3();
+    var EMPTY = b4a.alloc(0);
+    var BufferList = class {
+      constructor() {
+        this.buffered = 0;
+        this.shifted = 0;
+        this.queue = new FIFO();
+        this._offset = 0;
+      }
+      push(buffer) {
+        this.buffered += buffer.byteLength;
+        this.queue.push(buffer);
+      }
+      shiftFirst(size) {
+        return this._buffered === 0 ? null : this._next(size);
+      }
+      shift(size) {
+        if (size > this.buffered) return null;
+        if (size === 0) return EMPTY;
+        let chunk = this._next(size);
+        if (size === chunk.byteLength) return chunk;
+        const chunks = [chunk];
+        while ((size -= chunk.byteLength) > 0) {
+          chunk = this._next(size);
+          chunks.push(chunk);
         }
-        toString() {
-          return `${this.name} [${code}]: ${this.message}`;
+        return b4a.concat(chunks);
+      }
+      _next(size) {
+        const buf = this.queue.peek();
+        const rem = buf.byteLength - this._offset;
+        if (size >= rem) {
+          const sub = this._offset ? buf.subarray(this._offset, buf.byteLength) : buf;
+          this.queue.shift();
+          this._offset = 0;
+          this.buffered -= rem;
+          this.shifted += rem;
+          return sub;
         }
+        this.buffered -= size;
+        this.shifted += size;
+        return buf.subarray(this._offset, this._offset += size);
       }
-      Object.defineProperties(NodeError.prototype, {
-        name: {
-          value: Base.name,
-          writable: true,
-          enumerable: false,
-          configurable: true
-        },
-        toString: {
-          value() {
-            return `${this.name} [${code}]: ${this.message}`;
-          },
-          writable: true,
-          enumerable: false,
-          configurable: true
+    };
+    var Source = class extends Readable {
+      constructor(self2, header, offset) {
+        super();
+        this.header = header;
+        this.offset = offset;
+        this._parent = self2;
+      }
+      _read(cb) {
+        if (this.header.size === 0) {
+          this.push(null);
         }
-      });
-      NodeError.prototype.code = code;
-      NodeError.prototype[kIsNodeError] = true;
-      codes[code] = NodeError;
-    }
-    function hideStackFrames(fn) {
-      const hidden = nodeInternalPrefix + fn.name;
-      Object.defineProperty(fn, "name", {
-        value: hidden
-      });
-      return fn;
-    }
-    function aggregateTwoErrors(innerError, outerError) {
-      if (innerError && outerError && innerError !== outerError) {
-        if (Array.isArray(outerError.errors)) {
-          outerError.errors.push(innerError);
-          return outerError;
+        if (this._parent._stream === this) {
+          this._parent._update();
         }
-        const err = new AggregateError([outerError, innerError], outerError.message);
-        err.code = outerError.code;
-        return err;
+        cb(null);
       }
-      return innerError || outerError;
-    }
-    var AbortError = class extends Error {
-      constructor(message = "The operation was aborted", options = void 0) {
-        if (options !== void 0 && typeof options !== "object") {
-          throw new codes.ERR_INVALID_ARG_TYPE("options", "Object", options);
+      _predestroy() {
+        this._parent.destroy(getStreamError(this));
+      }
+      _detach() {
+        if (this._parent._stream === this) {
+          this._parent._stream = null;
+          this._parent._missing = overflow(this.header.size);
+          this._parent._update();
         }
-        super(message, options);
-        this.code = "ABORT_ERR";
-        this.name = "AbortError";
+      }
+      _destroy(cb) {
+        this._detach();
+        cb(null);
       }
     };
-    E("ERR_ASSERTION", "%s", Error);
-    E(
-      "ERR_INVALID_ARG_TYPE",
-      (name, expected, actual) => {
-        assert(typeof name === "string", "'name' must be a string");
-        if (!Array.isArray(expected)) {
-          expected = [expected];
+    var Extract = class extends Writable {
+      constructor(opts) {
+        super(opts);
+        if (!opts) opts = {};
+        this._buffer = new BufferList();
+        this._offset = 0;
+        this._header = null;
+        this._stream = null;
+        this._missing = 0;
+        this._longHeader = false;
+        this._callback = noop3;
+        this._locked = false;
+        this._finished = false;
+        this._pax = null;
+        this._paxGlobal = null;
+        this._gnuLongPath = null;
+        this._gnuLongLinkPath = null;
+        this._filenameEncoding = opts.filenameEncoding || "utf-8";
+        this._allowUnknownFormat = !!opts.allowUnknownFormat;
+        this._unlockBound = this._unlock.bind(this);
+      }
+      _unlock(err) {
+        this._locked = false;
+        if (err) {
+          this.destroy(err);
+          this._continueWrite(err);
+          return;
         }
-        let msg = "The ";
-        if (name.endsWith(" argument")) {
-          msg += `${name} `;
-        } else {
-          msg += `"${name}" ${name.includes(".") ? "property" : "argument"} `;
+        this._update();
+      }
+      _consumeHeader() {
+        if (this._locked) return false;
+        this._offset = this._buffer.shifted;
+        try {
+          this._header = headers.decode(this._buffer.shift(512), this._filenameEncoding, this._allowUnknownFormat);
+        } catch (err) {
+          this._continueWrite(err);
+          return false;
         }
-        msg += "must be ";
-        const types = [];
-        const instances = [];
-        const other = [];
-        for (const value of expected) {
-          assert(typeof value === "string", "All expected entries have to be of type string");
-          if (kTypes.includes(value)) {
-            types.push(value.toLowerCase());
-          } else if (classRegExp.test(value)) {
-            instances.push(value);
-          } else {
-            assert(value !== "object", 'The value "object" should be written as "Object"');
-            other.push(value);
-          }
+        if (!this._header) return true;
+        switch (this._header.type) {
+          case "gnu-long-path":
+          case "gnu-long-link-path":
+          case "pax-global-header":
+          case "pax-header":
+            this._longHeader = true;
+            this._missing = this._header.size;
+            return true;
         }
-        if (instances.length > 0) {
-          const pos = types.indexOf("object");
-          if (pos !== -1) {
-            types.splice(types, pos, 1);
-            instances.push("Object");
-          }
+        this._locked = true;
+        this._applyLongHeaders();
+        if (this._header.size === 0 || this._header.type === "directory") {
+          this.emit("entry", this._header, this._createStream(), this._unlockBound);
+          return true;
         }
-        if (types.length > 0) {
-          switch (types.length) {
-            case 1:
-              msg += `of type ${types[0]}`;
-              break;
-            case 2:
-              msg += `one of type ${types[0]} or ${types[1]}`;
-              break;
-            default: {
-              const last = types.pop();
-              msg += `one of type ${types.join(", ")}, or ${last}`;
+        this._stream = this._createStream();
+        this._missing = this._header.size;
+        this.emit("entry", this._header, this._stream, this._unlockBound);
+        return true;
+      }
+      _applyLongHeaders() {
+        if (this._gnuLongPath) {
+          this._header.name = this._gnuLongPath;
+          this._gnuLongPath = null;
+        }
+        if (this._gnuLongLinkPath) {
+          this._header.linkname = this._gnuLongLinkPath;
+          this._gnuLongLinkPath = null;
+        }
+        if (this._pax) {
+          if (this._pax.path) this._header.name = this._pax.path;
+          if (this._pax.linkpath) this._header.linkname = this._pax.linkpath;
+          if (this._pax.size) this._header.size = parseInt(this._pax.size, 10);
+          this._header.pax = this._pax;
+          this._pax = null;
+        }
+      }
+      _decodeLongHeader(buf) {
+        switch (this._header.type) {
+          case "gnu-long-path":
+            this._gnuLongPath = headers.decodeLongPath(buf, this._filenameEncoding);
+            break;
+          case "gnu-long-link-path":
+            this._gnuLongLinkPath = headers.decodeLongPath(buf, this._filenameEncoding);
+            break;
+          case "pax-global-header":
+            this._paxGlobal = headers.decodePax(buf);
+            break;
+          case "pax-header":
+            this._pax = this._paxGlobal === null ? headers.decodePax(buf) : Object.assign({}, this._paxGlobal, headers.decodePax(buf));
+            break;
+        }
+      }
+      _consumeLongHeader() {
+        this._longHeader = false;
+        this._missing = overflow(this._header.size);
+        const buf = this._buffer.shift(this._header.size);
+        try {
+          this._decodeLongHeader(buf);
+        } catch (err) {
+          this._continueWrite(err);
+          return false;
+        }
+        return true;
+      }
+      _consumeStream() {
+        const buf = this._buffer.shiftFirst(this._missing);
+        if (buf === null) return false;
+        this._missing -= buf.byteLength;
+        const drained = this._stream.push(buf);
+        if (this._missing === 0) {
+          this._stream.push(null);
+          if (drained) this._stream._detach();
+          return drained && this._locked === false;
+        }
+        return drained;
+      }
+      _createStream() {
+        return new Source(this, this._header, this._offset);
+      }
+      _update() {
+        while (this._buffer.buffered > 0 && !this.destroying) {
+          if (this._missing > 0) {
+            if (this._stream !== null) {
+              if (this._consumeStream() === false) return;
+              continue;
             }
+            if (this._longHeader === true) {
+              if (this._missing > this._buffer.buffered) break;
+              if (this._consumeLongHeader() === false) return false;
+              continue;
+            }
+            const ignore = this._buffer.shiftFirst(this._missing);
+            if (ignore !== null) this._missing -= ignore.byteLength;
+            continue;
           }
-          if (instances.length > 0 || other.length > 0) {
-            msg += " or ";
+          if (this._buffer.buffered < 512) break;
+          if (this._stream !== null || this._consumeHeader() === false) return;
+        }
+        this._continueWrite(null);
+      }
+      _continueWrite(err) {
+        const cb = this._callback;
+        this._callback = noop3;
+        cb(err);
+      }
+      _write(data, cb) {
+        this._callback = cb;
+        this._buffer.push(data);
+        this._update();
+      }
+      _final(cb) {
+        this._finished = this._missing === 0 && this._buffer.buffered === 0;
+        cb(this._finished ? null : new Error("Unexpected end of data"));
+      }
+      _predestroy() {
+        this._continueWrite(null);
+      }
+      _destroy(cb) {
+        if (this._stream) this._stream.destroy(getStreamError(this));
+        cb(null);
+      }
+      [Symbol.asyncIterator]() {
+        let error3 = null;
+        let promiseResolve = null;
+        let promiseReject = null;
+        let entryStream = null;
+        let entryCallback = null;
+        const extract2 = this;
+        this.on("entry", onentry);
+        this.on("error", (err) => {
+          error3 = err;
+        });
+        this.on("close", onclose);
+        return {
+          [Symbol.asyncIterator]() {
+            return this;
+          },
+          next() {
+            return new Promise(onnext);
+          },
+          return() {
+            return destroy(null);
+          },
+          throw(err) {
+            return destroy(err);
           }
+        };
+        function consumeCallback(err) {
+          if (!entryCallback) return;
+          const cb = entryCallback;
+          entryCallback = null;
+          cb(err);
         }
-        if (instances.length > 0) {
-          switch (instances.length) {
-            case 1:
-              msg += `an instance of ${instances[0]}`;
-              break;
-            case 2:
-              msg += `an instance of ${instances[0]} or ${instances[1]}`;
-              break;
-            default: {
-              const last = instances.pop();
-              msg += `an instance of ${instances.join(", ")}, or ${last}`;
-            }
+        function onnext(resolve3, reject) {
+          if (error3) {
+            return reject(error3);
           }
-          if (other.length > 0) {
-            msg += " or ";
+          if (entryStream) {
+            resolve3({ value: entryStream, done: false });
+            entryStream = null;
+            return;
           }
-        }
-        switch (other.length) {
-          case 0:
-            break;
-          case 1:
-            if (other[0].toLowerCase() !== other[0]) {
-              msg += "an ";
-            }
-            msg += `${other[0]}`;
-            break;
-          case 2:
-            msg += `one of ${other[0]} or ${other[1]}`;
-            break;
-          default: {
-            const last = other.pop();
-            msg += `one of ${other.join(", ")}, or ${last}`;
+          promiseResolve = resolve3;
+          promiseReject = reject;
+          consumeCallback(null);
+          if (extract2._finished && promiseResolve) {
+            promiseResolve({ value: void 0, done: true });
+            promiseResolve = promiseReject = null;
           }
         }
-        if (actual == null) {
-          msg += `. Received ${actual}`;
-        } else if (typeof actual === "function" && actual.name) {
-          msg += `. Received function ${actual.name}`;
-        } else if (typeof actual === "object") {
-          var _actual$constructor;
-          if ((_actual$constructor = actual.constructor) !== null && _actual$constructor !== void 0 && _actual$constructor.name) {
-            msg += `. Received an instance of ${actual.constructor.name}`;
+        function onentry(header, stream, callback) {
+          entryCallback = callback;
+          stream.on("error", noop3);
+          if (promiseResolve) {
+            promiseResolve({ value: stream, done: false });
+            promiseResolve = promiseReject = null;
           } else {
-            const inspected = inspect(actual, {
-              depth: -1
-            });
-            msg += `. Received ${inspected}`;
-          }
-        } else {
-          let inspected = inspect(actual, {
-            colors: false
-          });
-          if (inspected.length > 25) {
-            inspected = `${inspected.slice(0, 25)}...`;
+            entryStream = stream;
           }
-          msg += `. Received type ${typeof actual} (${inspected})`;
         }
-        return msg;
-      },
-      TypeError
-    );
-    E(
-      "ERR_INVALID_ARG_VALUE",
-      (name, value, reason = "is invalid") => {
-        let inspected = inspect(value);
-        if (inspected.length > 128) {
-          inspected = inspected.slice(0, 128) + "...";
-        }
-        const type2 = name.includes(".") ? "property" : "argument";
-        return `The ${type2} '${name}' ${reason}. Received ${inspected}`;
-      },
-      TypeError
-    );
-    E(
-      "ERR_INVALID_RETURN_VALUE",
-      (input, name, value) => {
-        var _value$constructor;
-        const type2 = value !== null && value !== void 0 && (_value$constructor = value.constructor) !== null && _value$constructor !== void 0 && _value$constructor.name ? `instance of ${value.constructor.name}` : `type ${typeof value}`;
-        return `Expected ${input} to be returned from the "${name}" function but got ${type2}.`;
-      },
-      TypeError
-    );
-    E(
-      "ERR_MISSING_ARGS",
-      (...args) => {
-        assert(args.length > 0, "At least one arg needs to be specified");
-        let msg;
-        const len = args.length;
-        args = (Array.isArray(args) ? args : [args]).map((a) => `"${a}"`).join(" or ");
-        switch (len) {
-          case 1:
-            msg += `The ${args[0]} argument`;
-            break;
-          case 2:
-            msg += `The ${args[0]} and ${args[1]} arguments`;
-            break;
-          default:
-            {
-              const last = args.pop();
-              msg += `The ${args.join(", ")}, and ${last} arguments`;
-            }
-            break;
+        function onclose() {
+          consumeCallback(error3);
+          if (!promiseResolve) return;
+          if (error3) promiseReject(error3);
+          else promiseResolve({ value: void 0, done: true });
+          promiseResolve = promiseReject = null;
         }
-        return `${msg} must be specified`;
-      },
-      TypeError
-    );
-    E(
-      "ERR_OUT_OF_RANGE",
-      (str2, range, input) => {
-        assert(range, 'Missing "range" argument');
-        let received;
-        if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {
-          received = addNumericalSeparator(String(input));
-        } else if (typeof input === "bigint") {
-          received = String(input);
-          if (input > 2n ** 32n || input < -(2n ** 32n)) {
-            received = addNumericalSeparator(received);
-          }
-          received += "n";
-        } else {
-          received = inspect(input);
+        function destroy(err) {
+          extract2.destroy(err);
+          consumeCallback(err);
+          return new Promise((resolve3, reject) => {
+            if (extract2.destroyed) return resolve3({ value: void 0, done: true });
+            extract2.once("close", function() {
+              if (err) reject(err);
+              else resolve3({ value: void 0, done: true });
+            });
+          });
         }
-        return `The value of "${str2}" is out of range. It must be ${range}. Received ${received}`;
-      },
-      RangeError
-    );
-    E("ERR_MULTIPLE_CALLBACK", "Callback called multiple times", Error);
-    E("ERR_METHOD_NOT_IMPLEMENTED", "The %s method is not implemented", Error);
-    E("ERR_STREAM_ALREADY_FINISHED", "Cannot call %s after a stream was finished", Error);
-    E("ERR_STREAM_CANNOT_PIPE", "Cannot pipe, not readable", Error);
-    E("ERR_STREAM_DESTROYED", "Cannot call %s after a stream was destroyed", Error);
-    E("ERR_STREAM_NULL_VALUES", "May not write null values to stream", TypeError);
-    E("ERR_STREAM_PREMATURE_CLOSE", "Premature close", Error);
-    E("ERR_STREAM_PUSH_AFTER_EOF", "stream.push() after EOF", Error);
-    E("ERR_STREAM_UNSHIFT_AFTER_END_EVENT", "stream.unshift() after end event", Error);
-    E("ERR_STREAM_WRITE_AFTER_END", "write after end", Error);
-    E("ERR_UNKNOWN_ENCODING", "Unknown encoding: %s", TypeError);
-    module2.exports = {
-      AbortError,
-      aggregateTwoErrors: hideStackFrames(aggregateTwoErrors),
-      hideStackFrames,
-      codes
+      }
+    };
+    module2.exports = function extract2(opts) {
+      return new Extract(opts);
     };
+    function noop3() {
+    }
+    function overflow(size) {
+      size &= 511;
+      return size && 512 - size;
+    }
   }
 });
 
-// node_modules/readable-stream/lib/internal/validators.js
-var require_validators = __commonJS({
-  "node_modules/readable-stream/lib/internal/validators.js"(exports2, module2) {
-    "use strict";
-    var {
-      ArrayIsArray,
-      ArrayPrototypeIncludes,
-      ArrayPrototypeJoin,
-      ArrayPrototypeMap,
-      NumberIsInteger,
-      NumberIsNaN,
-      NumberMAX_SAFE_INTEGER,
-      NumberMIN_SAFE_INTEGER,
-      NumberParseInt,
-      ObjectPrototypeHasOwnProperty,
-      RegExpPrototypeExec,
-      String: String2,
-      StringPrototypeToUpperCase,
-      StringPrototypeTrim
-    } = require_primordials();
-    var {
-      hideStackFrames,
-      codes: { ERR_SOCKET_BAD_PORT, ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_ARG_VALUE, ERR_OUT_OF_RANGE, ERR_UNKNOWN_SIGNAL }
-    } = require_errors5();
-    var { normalizeEncoding } = require_util20();
-    var { isAsyncFunction, isArrayBufferView } = require_util20().types;
-    var signals = {};
-    function isInt32(value) {
-      return value === (value | 0);
-    }
-    function isUint32(value) {
-      return value === value >>> 0;
+// node_modules/tar-stream/constants.js
+var require_constants19 = __commonJS({
+  "node_modules/tar-stream/constants.js"(exports2, module2) {
+    var constants = {
+      // just for envs without fs
+      S_IFMT: 61440,
+      S_IFDIR: 16384,
+      S_IFCHR: 8192,
+      S_IFBLK: 24576,
+      S_IFIFO: 4096,
+      S_IFLNK: 40960
+    };
+    try {
+      module2.exports = require("fs").constants || constants;
+    } catch {
+      module2.exports = constants;
     }
-    var octalReg = /^[0-7]+$/;
-    var modeDesc = "must be a 32-bit unsigned integer or an octal string";
-    function parseFileMode(value, name, def) {
-      if (typeof value === "undefined") {
-        value = def;
+  }
+});
+
+// node_modules/tar-stream/pack.js
+var require_pack = __commonJS({
+  "node_modules/tar-stream/pack.js"(exports2, module2) {
+    var { Readable, Writable, getStreamError } = require_streamx();
+    var b4a = require_b4a();
+    var constants = require_constants19();
+    var headers = require_headers3();
+    var DMODE = 493;
+    var FMODE = 420;
+    var END_OF_TAR = b4a.alloc(1024);
+    var Sink = class extends Writable {
+      constructor(pack, header, callback) {
+        super({ mapWritable, eagerOpen: true });
+        this.written = 0;
+        this.header = header;
+        this._callback = callback;
+        this._linkname = null;
+        this._isLinkname = header.type === "symlink" && !header.linkname;
+        this._isVoid = header.type !== "file" && header.type !== "contiguous-file";
+        this._finished = false;
+        this._pack = pack;
+        this._openCallback = null;
+        if (this._pack._stream === null) this._pack._stream = this;
+        else this._pack._pending.push(this);
       }
-      if (typeof value === "string") {
-        if (RegExpPrototypeExec(octalReg, value) === null) {
-          throw new ERR_INVALID_ARG_VALUE(name, value, modeDesc);
-        }
-        value = NumberParseInt(value, 8);
+      _open(cb) {
+        this._openCallback = cb;
+        if (this._pack._stream === this) this._continueOpen();
       }
-      validateUint32(value, name);
-      return value;
-    }
-    var validateInteger = hideStackFrames((value, name, min = NumberMIN_SAFE_INTEGER, max = NumberMAX_SAFE_INTEGER) => {
-      if (typeof value !== "number") throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
-      if (!NumberIsInteger(value)) throw new ERR_OUT_OF_RANGE(name, "an integer", value);
-      if (value < min || value > max) throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
-    });
-    var validateInt32 = hideStackFrames((value, name, min = -2147483648, max = 2147483647) => {
-      if (typeof value !== "number") {
-        throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
+      _continuePack(err) {
+        if (this._callback === null) return;
+        const callback = this._callback;
+        this._callback = null;
+        callback(err);
       }
-      if (!NumberIsInteger(value)) {
-        throw new ERR_OUT_OF_RANGE(name, "an integer", value);
+      _continueOpen() {
+        if (this._pack._stream === null) this._pack._stream = this;
+        const cb = this._openCallback;
+        this._openCallback = null;
+        if (cb === null) return;
+        if (this._pack.destroying) return cb(new Error("pack stream destroyed"));
+        if (this._pack._finalized) return cb(new Error("pack stream is already finalized"));
+        this._pack._stream = this;
+        if (!this._isLinkname) {
+          this._pack._encode(this.header);
+        }
+        if (this._isVoid) {
+          this._finish();
+          this._continuePack(null);
+        }
+        cb(null);
       }
-      if (value < min || value > max) {
-        throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
+      _write(data, cb) {
+        if (this._isLinkname) {
+          this._linkname = this._linkname ? b4a.concat([this._linkname, data]) : data;
+          return cb(null);
+        }
+        if (this._isVoid) {
+          if (data.byteLength > 0) {
+            return cb(new Error("No body allowed for this entry"));
+          }
+          return cb();
+        }
+        this.written += data.byteLength;
+        if (this._pack.push(data)) return cb();
+        this._pack._drain = cb;
       }
-    });
-    var validateUint32 = hideStackFrames((value, name, positive = false) => {
-      if (typeof value !== "number") {
-        throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
+      _finish() {
+        if (this._finished) return;
+        this._finished = true;
+        if (this._isLinkname) {
+          this.header.linkname = this._linkname ? b4a.toString(this._linkname, "utf-8") : "";
+          this._pack._encode(this.header);
+        }
+        overflow(this._pack, this.header.size);
+        this._pack._done(this);
       }
-      if (!NumberIsInteger(value)) {
-        throw new ERR_OUT_OF_RANGE(name, "an integer", value);
+      _final(cb) {
+        if (this.written !== this.header.size) {
+          return cb(new Error("Size mismatch"));
+        }
+        this._finish();
+        cb(null);
       }
-      const min = positive ? 1 : 0;
-      const max = 4294967295;
-      if (value < min || value > max) {
-        throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
+      _getError() {
+        return getStreamError(this) || new Error("tar entry destroyed");
       }
-    });
-    function validateString(value, name) {
-      if (typeof value !== "string") throw new ERR_INVALID_ARG_TYPE2(name, "string", value);
-    }
-    function validateNumber(value, name, min = void 0, max) {
-      if (typeof value !== "number") throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
-      if (min != null && value < min || max != null && value > max || (min != null || max != null) && NumberIsNaN(value)) {
-        throw new ERR_OUT_OF_RANGE(
-          name,
-          `${min != null ? `>= ${min}` : ""}${min != null && max != null ? " && " : ""}${max != null ? `<= ${max}` : ""}`,
-          value
-        );
+      _predestroy() {
+        this._pack.destroy(this._getError());
       }
-    }
-    var validateOneOf = hideStackFrames((value, name, oneOf) => {
-      if (!ArrayPrototypeIncludes(oneOf, value)) {
-        const allowed = ArrayPrototypeJoin(
-          ArrayPrototypeMap(oneOf, (v) => typeof v === "string" ? `'${v}'` : String2(v)),
-          ", "
-        );
-        const reason = "must be one of: " + allowed;
-        throw new ERR_INVALID_ARG_VALUE(name, value, reason);
+      _destroy(cb) {
+        this._pack._done(this);
+        this._continuePack(this._finished ? null : this._getError());
+        cb();
       }
-    });
-    function validateBoolean(value, name) {
-      if (typeof value !== "boolean") throw new ERR_INVALID_ARG_TYPE2(name, "boolean", value);
-    }
-    function getOwnPropertyValueOrDefault(options, key, defaultValue) {
-      return options == null || !ObjectPrototypeHasOwnProperty(options, key) ? defaultValue : options[key];
-    }
-    var validateObject = hideStackFrames((value, name, options = null) => {
-      const allowArray = getOwnPropertyValueOrDefault(options, "allowArray", false);
-      const allowFunction = getOwnPropertyValueOrDefault(options, "allowFunction", false);
-      const nullable = getOwnPropertyValueOrDefault(options, "nullable", false);
-      if (!nullable && value === null || !allowArray && ArrayIsArray(value) || typeof value !== "object" && (!allowFunction || typeof value !== "function")) {
-        throw new ERR_INVALID_ARG_TYPE2(name, "Object", value);
+    };
+    var Pack = class extends Readable {
+      constructor(opts) {
+        super(opts);
+        this._drain = noop3;
+        this._finalized = false;
+        this._finalizing = false;
+        this._pending = [];
+        this._stream = null;
       }
-    });
-    var validateDictionary = hideStackFrames((value, name) => {
-      if (value != null && typeof value !== "object" && typeof value !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2(name, "a dictionary", value);
+      entry(header, buffer, callback) {
+        if (this._finalized || this.destroying) throw new Error("already finalized or destroyed");
+        if (typeof buffer === "function") {
+          callback = buffer;
+          buffer = null;
+        }
+        if (!callback) callback = noop3;
+        if (!header.size || header.type === "symlink") header.size = 0;
+        if (!header.type) header.type = modeToType(header.mode);
+        if (!header.mode) header.mode = header.type === "directory" ? DMODE : FMODE;
+        if (!header.uid) header.uid = 0;
+        if (!header.gid) header.gid = 0;
+        if (!header.mtime) header.mtime = /* @__PURE__ */ new Date();
+        if (typeof buffer === "string") buffer = b4a.from(buffer);
+        const sink = new Sink(this, header, callback);
+        if (b4a.isBuffer(buffer)) {
+          header.size = buffer.byteLength;
+          sink.write(buffer);
+          sink.end();
+          return sink;
+        }
+        if (sink._isVoid) {
+          return sink;
+        }
+        return sink;
       }
-    });
-    var validateArray = hideStackFrames((value, name, minLength = 0) => {
-      if (!ArrayIsArray(value)) {
-        throw new ERR_INVALID_ARG_TYPE2(name, "Array", value);
+      finalize() {
+        if (this._stream || this._pending.length > 0) {
+          this._finalizing = true;
+          return;
+        }
+        if (this._finalized) return;
+        this._finalized = true;
+        this.push(END_OF_TAR);
+        this.push(null);
       }
-      if (value.length < minLength) {
-        const reason = `must be longer than ${minLength}`;
-        throw new ERR_INVALID_ARG_VALUE(name, value, reason);
+      _done(stream) {
+        if (stream !== this._stream) return;
+        this._stream = null;
+        if (this._finalizing) this.finalize();
+        if (this._pending.length) this._pending.shift()._continueOpen();
       }
-    });
-    function validateStringArray(value, name) {
-      validateArray(value, name);
-      for (let i = 0; i < value.length; i++) {
-        validateString(value[i], `${name}[${i}]`);
+      _encode(header) {
+        if (!header.pax) {
+          const buf = headers.encode(header);
+          if (buf) {
+            this.push(buf);
+            return;
+          }
+        }
+        this._encodePax(header);
       }
-    }
-    function validateBooleanArray(value, name) {
-      validateArray(value, name);
-      for (let i = 0; i < value.length; i++) {
-        validateBoolean(value[i], `${name}[${i}]`);
+      _encodePax(header) {
+        const paxHeader = headers.encodePax({
+          name: header.name,
+          linkname: header.linkname,
+          pax: header.pax
+        });
+        const newHeader = {
+          name: "PaxHeader",
+          mode: header.mode,
+          uid: header.uid,
+          gid: header.gid,
+          size: paxHeader.byteLength,
+          mtime: header.mtime,
+          type: "pax-header",
+          linkname: header.linkname && "PaxHeader",
+          uname: header.uname,
+          gname: header.gname,
+          devmajor: header.devmajor,
+          devminor: header.devminor
+        };
+        this.push(headers.encode(newHeader));
+        this.push(paxHeader);
+        overflow(this, paxHeader.byteLength);
+        newHeader.size = header.size;
+        newHeader.type = header.type;
+        this.push(headers.encode(newHeader));
       }
-    }
-    function validateAbortSignalArray(value, name) {
-      validateArray(value, name);
-      for (let i = 0; i < value.length; i++) {
-        const signal = value[i];
-        const indexedName = `${name}[${i}]`;
-        if (signal == null) {
-          throw new ERR_INVALID_ARG_TYPE2(indexedName, "AbortSignal", signal);
-        }
-        validateAbortSignal(signal, indexedName);
+      _doDrain() {
+        const drain = this._drain;
+        this._drain = noop3;
+        drain();
       }
-    }
-    function validateSignalName(signal, name = "signal") {
-      validateString(signal, name);
-      if (signals[signal] === void 0) {
-        if (signals[StringPrototypeToUpperCase(signal)] !== void 0) {
-          throw new ERR_UNKNOWN_SIGNAL(signal + " (signals must use all capital letters)");
+      _predestroy() {
+        const err = getStreamError(this);
+        if (this._stream) this._stream.destroy(err);
+        while (this._pending.length) {
+          const stream = this._pending.shift();
+          stream.destroy(err);
+          stream._continueOpen();
         }
-        throw new ERR_UNKNOWN_SIGNAL(signal);
+        this._doDrain();
       }
-    }
-    var validateBuffer = hideStackFrames((buffer, name = "buffer") => {
-      if (!isArrayBufferView(buffer)) {
-        throw new ERR_INVALID_ARG_TYPE2(name, ["Buffer", "TypedArray", "DataView"], buffer);
+      _read(cb) {
+        this._doDrain();
+        cb();
       }
-    });
-    function validateEncoding(data, encoding) {
-      const normalizedEncoding = normalizeEncoding(encoding);
-      const length = data.length;
-      if (normalizedEncoding === "hex" && length % 2 !== 0) {
-        throw new ERR_INVALID_ARG_VALUE("encoding", encoding, `is invalid for data of length ${length}`);
+    };
+    module2.exports = function pack(opts) {
+      return new Pack(opts);
+    };
+    function modeToType(mode) {
+      switch (mode & constants.S_IFMT) {
+        case constants.S_IFBLK:
+          return "block-device";
+        case constants.S_IFCHR:
+          return "character-device";
+        case constants.S_IFDIR:
+          return "directory";
+        case constants.S_IFIFO:
+          return "fifo";
+        case constants.S_IFLNK:
+          return "symlink";
       }
+      return "file";
+    }
+    function noop3() {
+    }
+    function overflow(self2, size) {
+      size &= 511;
+      if (size) self2.push(END_OF_TAR.subarray(0, 512 - size));
     }
-    function validatePort(port, name = "Port", allowZero = true) {
-      if (typeof port !== "number" && typeof port !== "string" || typeof port === "string" && StringPrototypeTrim(port).length === 0 || +port !== +port >>> 0 || port > 65535 || port === 0 && !allowZero) {
-        throw new ERR_SOCKET_BAD_PORT(name, port, allowZero);
-      }
-      return port | 0;
+    function mapWritable(buf) {
+      return b4a.isBuffer(buf) ? buf : b4a.from(buf);
     }
-    var validateAbortSignal = hideStackFrames((signal, name) => {
-      if (signal !== void 0 && (signal === null || typeof signal !== "object" || !("aborted" in signal))) {
-        throw new ERR_INVALID_ARG_TYPE2(name, "AbortSignal", signal);
+  }
+});
+
+// node_modules/tar-stream/index.js
+var require_tar_stream = __commonJS({
+  "node_modules/tar-stream/index.js"(exports2) {
+    exports2.extract = require_extract();
+    exports2.pack = require_pack();
+  }
+});
+
+// node_modules/archiver/lib/plugins/tar.js
+var require_tar2 = __commonJS({
+  "node_modules/archiver/lib/plugins/tar.js"(exports2, module2) {
+    var zlib = require("zlib");
+    var engine = require_tar_stream();
+    var util = require_archiver_utils();
+    var Tar = function(options) {
+      if (!(this instanceof Tar)) {
+        return new Tar(options);
       }
-    });
-    var validateFunction = hideStackFrames((value, name) => {
-      if (typeof value !== "function") throw new ERR_INVALID_ARG_TYPE2(name, "Function", value);
-    });
-    var validatePlainFunction = hideStackFrames((value, name) => {
-      if (typeof value !== "function" || isAsyncFunction(value)) throw new ERR_INVALID_ARG_TYPE2(name, "Function", value);
-    });
-    var validateUndefined = hideStackFrames((value, name) => {
-      if (value !== void 0) throw new ERR_INVALID_ARG_TYPE2(name, "undefined", value);
-    });
-    function validateUnion(value, name, union) {
-      if (!ArrayPrototypeIncludes(union, value)) {
-        throw new ERR_INVALID_ARG_TYPE2(name, `('${ArrayPrototypeJoin(union, "|")}')`, value);
+      options = this.options = util.defaults(options, {
+        gzip: false
+      });
+      if (typeof options.gzipOptions !== "object") {
+        options.gzipOptions = {};
       }
-    }
-    var linkValueRegExp = /^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/;
-    function validateLinkHeaderFormat(value, name) {
-      if (typeof value === "undefined" || !RegExpPrototypeExec(linkValueRegExp, value)) {
-        throw new ERR_INVALID_ARG_VALUE(
-          name,
-          value,
-          'must be an array or string of format "; rel=preload; as=style"'
-        );
+      this.supports = {
+        directory: true,
+        symlink: true
+      };
+      this.engine = engine.pack(options);
+      this.compressor = false;
+      if (options.gzip) {
+        this.compressor = zlib.createGzip(options.gzipOptions);
+        this.compressor.on("error", this._onCompressorError.bind(this));
       }
-    }
-    function validateLinkHeaderValue(hints) {
-      if (typeof hints === "string") {
-        validateLinkHeaderFormat(hints, "hints");
-        return hints;
-      } else if (ArrayIsArray(hints)) {
-        const hintsLength = hints.length;
-        let result = "";
-        if (hintsLength === 0) {
-          return result;
-        }
-        for (let i = 0; i < hintsLength; i++) {
-          const link = hints[i];
-          validateLinkHeaderFormat(link, "hints");
-          result += link;
-          if (i !== hintsLength - 1) {
-            result += ", ";
-          }
+    };
+    Tar.prototype._onCompressorError = function(err) {
+      this.engine.emit("error", err);
+    };
+    Tar.prototype.append = function(source, data, callback) {
+      var self2 = this;
+      data.mtime = data.date;
+      function append(err, sourceBuffer) {
+        if (err) {
+          callback(err);
+          return;
         }
-        return result;
+        self2.engine.entry(data, sourceBuffer, function(err2) {
+          callback(err2, data);
+        });
+      }
+      if (data.sourceType === "buffer") {
+        append(null, source);
+      } else if (data.sourceType === "stream" && data.stats) {
+        data.size = data.stats.size;
+        var entry = self2.engine.entry(data, function(err) {
+          callback(err, data);
+        });
+        source.pipe(entry);
+      } else if (data.sourceType === "stream") {
+        util.collectStream(source, append);
       }
-      throw new ERR_INVALID_ARG_VALUE(
-        "hints",
-        hints,
-        'must be an array or string of format "; rel=preload; as=style"'
-      );
-    }
-    module2.exports = {
-      isInt32,
-      isUint32,
-      parseFileMode,
-      validateArray,
-      validateStringArray,
-      validateBooleanArray,
-      validateAbortSignalArray,
-      validateBoolean,
-      validateBuffer,
-      validateDictionary,
-      validateEncoding,
-      validateFunction,
-      validateInt32,
-      validateInteger,
-      validateNumber,
-      validateObject,
-      validateOneOf,
-      validatePlainFunction,
-      validatePort,
-      validateSignalName,
-      validateString,
-      validateUint32,
-      validateUndefined,
-      validateUnion,
-      validateAbortSignal,
-      validateLinkHeaderValue
     };
+    Tar.prototype.finalize = function() {
+      this.engine.finalize();
+    };
+    Tar.prototype.on = function() {
+      return this.engine.on.apply(this.engine, arguments);
+    };
+    Tar.prototype.pipe = function(destination, options) {
+      if (this.compressor) {
+        return this.engine.pipe.apply(this.engine, [this.compressor]).pipe(destination, options);
+      } else {
+        return this.engine.pipe.apply(this.engine, arguments);
+      }
+    };
+    Tar.prototype.unpipe = function() {
+      if (this.compressor) {
+        return this.compressor.unpipe.apply(this.compressor, arguments);
+      } else {
+        return this.engine.unpipe.apply(this.engine, arguments);
+      }
+    };
+    module2.exports = Tar;
   }
 });
 
-// node_modules/process/index.js
-var require_process = __commonJS({
-  "node_modules/process/index.js"(exports2, module2) {
-    module2.exports = global.process;
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/utils.js
-var require_utils8 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/utils.js"(exports2, module2) {
+// node_modules/buffer-crc32/dist/index.cjs
+var require_dist5 = __commonJS({
+  "node_modules/buffer-crc32/dist/index.cjs"(exports2, module2) {
     "use strict";
-    var { SymbolAsyncIterator, SymbolIterator, SymbolFor } = require_primordials();
-    var kIsDestroyed = SymbolFor("nodejs.stream.destroyed");
-    var kIsErrored = SymbolFor("nodejs.stream.errored");
-    var kIsReadable = SymbolFor("nodejs.stream.readable");
-    var kIsWritable = SymbolFor("nodejs.stream.writable");
-    var kIsDisturbed = SymbolFor("nodejs.stream.disturbed");
-    var kIsClosedPromise = SymbolFor("nodejs.webstream.isClosedPromise");
-    var kControllerErrorFunction = SymbolFor("nodejs.webstream.controllerErrorFunction");
-    function isReadableNodeStream(obj, strict = false) {
-      var _obj$_readableState;
-      return !!(obj && typeof obj.pipe === "function" && typeof obj.on === "function" && (!strict || typeof obj.pause === "function" && typeof obj.resume === "function") && (!obj._writableState || ((_obj$_readableState = obj._readableState) === null || _obj$_readableState === void 0 ? void 0 : _obj$_readableState.readable) !== false) && // Duplex
-      (!obj._writableState || obj._readableState));
-    }
-    function isWritableNodeStream(obj) {
-      var _obj$_writableState;
-      return !!(obj && typeof obj.write === "function" && typeof obj.on === "function" && (!obj._readableState || ((_obj$_writableState = obj._writableState) === null || _obj$_writableState === void 0 ? void 0 : _obj$_writableState.writable) !== false));
-    }
-    function isDuplexNodeStream(obj) {
-      return !!(obj && typeof obj.pipe === "function" && obj._readableState && typeof obj.on === "function" && typeof obj.write === "function");
-    }
-    function isNodeStream(obj) {
-      return obj && (obj._readableState || obj._writableState || typeof obj.write === "function" && typeof obj.on === "function" || typeof obj.pipe === "function" && typeof obj.on === "function");
-    }
-    function isReadableStream(obj) {
-      return !!(obj && !isNodeStream(obj) && typeof obj.pipeThrough === "function" && typeof obj.getReader === "function" && typeof obj.cancel === "function");
-    }
-    function isWritableStream(obj) {
-      return !!(obj && !isNodeStream(obj) && typeof obj.getWriter === "function" && typeof obj.abort === "function");
-    }
-    function isTransformStream(obj) {
-      return !!(obj && !isNodeStream(obj) && typeof obj.readable === "object" && typeof obj.writable === "object");
-    }
-    function isWebStream(obj) {
-      return isReadableStream(obj) || isWritableStream(obj) || isTransformStream(obj);
-    }
-    function isIterable(obj, isAsync) {
-      if (obj == null) return false;
-      if (isAsync === true) return typeof obj[SymbolAsyncIterator] === "function";
-      if (isAsync === false) return typeof obj[SymbolIterator] === "function";
-      return typeof obj[SymbolAsyncIterator] === "function" || typeof obj[SymbolIterator] === "function";
-    }
-    function isDestroyed(stream) {
-      if (!isNodeStream(stream)) return null;
-      const wState = stream._writableState;
-      const rState = stream._readableState;
-      const state = wState || rState;
-      return !!(stream.destroyed || stream[kIsDestroyed] || state !== null && state !== void 0 && state.destroyed);
-    }
-    function isWritableEnded(stream) {
-      if (!isWritableNodeStream(stream)) return null;
-      if (stream.writableEnded === true) return true;
-      const wState = stream._writableState;
-      if (wState !== null && wState !== void 0 && wState.errored) return false;
-      if (typeof (wState === null || wState === void 0 ? void 0 : wState.ended) !== "boolean") return null;
-      return wState.ended;
-    }
-    function isWritableFinished(stream, strict) {
-      if (!isWritableNodeStream(stream)) return null;
-      if (stream.writableFinished === true) return true;
-      const wState = stream._writableState;
-      if (wState !== null && wState !== void 0 && wState.errored) return false;
-      if (typeof (wState === null || wState === void 0 ? void 0 : wState.finished) !== "boolean") return null;
-      return !!(wState.finished || strict === false && wState.ended === true && wState.length === 0);
-    }
-    function isReadableEnded(stream) {
-      if (!isReadableNodeStream(stream)) return null;
-      if (stream.readableEnded === true) return true;
-      const rState = stream._readableState;
-      if (!rState || rState.errored) return false;
-      if (typeof (rState === null || rState === void 0 ? void 0 : rState.ended) !== "boolean") return null;
-      return rState.ended;
-    }
-    function isReadableFinished(stream, strict) {
-      if (!isReadableNodeStream(stream)) return null;
-      const rState = stream._readableState;
-      if (rState !== null && rState !== void 0 && rState.errored) return false;
-      if (typeof (rState === null || rState === void 0 ? void 0 : rState.endEmitted) !== "boolean") return null;
-      return !!(rState.endEmitted || strict === false && rState.ended === true && rState.length === 0);
-    }
-    function isReadable(stream) {
-      if (stream && stream[kIsReadable] != null) return stream[kIsReadable];
-      if (typeof (stream === null || stream === void 0 ? void 0 : stream.readable) !== "boolean") return null;
-      if (isDestroyed(stream)) return false;
-      return isReadableNodeStream(stream) && stream.readable && !isReadableFinished(stream);
-    }
-    function isWritable(stream) {
-      if (stream && stream[kIsWritable] != null) return stream[kIsWritable];
-      if (typeof (stream === null || stream === void 0 ? void 0 : stream.writable) !== "boolean") return null;
-      if (isDestroyed(stream)) return false;
-      return isWritableNodeStream(stream) && stream.writable && !isWritableEnded(stream);
+    function getDefaultExportFromCjs(x) {
+      return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
     }
-    function isFinished(stream, opts) {
-      if (!isNodeStream(stream)) {
-        return null;
-      }
-      if (isDestroyed(stream)) {
-        return true;
-      }
-      if ((opts === null || opts === void 0 ? void 0 : opts.readable) !== false && isReadable(stream)) {
-        return false;
+    var CRC_TABLE = new Int32Array([
+      0,
+      1996959894,
+      3993919788,
+      2567524794,
+      124634137,
+      1886057615,
+      3915621685,
+      2657392035,
+      249268274,
+      2044508324,
+      3772115230,
+      2547177864,
+      162941995,
+      2125561021,
+      3887607047,
+      2428444049,
+      498536548,
+      1789927666,
+      4089016648,
+      2227061214,
+      450548861,
+      1843258603,
+      4107580753,
+      2211677639,
+      325883990,
+      1684777152,
+      4251122042,
+      2321926636,
+      335633487,
+      1661365465,
+      4195302755,
+      2366115317,
+      997073096,
+      1281953886,
+      3579855332,
+      2724688242,
+      1006888145,
+      1258607687,
+      3524101629,
+      2768942443,
+      901097722,
+      1119000684,
+      3686517206,
+      2898065728,
+      853044451,
+      1172266101,
+      3705015759,
+      2882616665,
+      651767980,
+      1373503546,
+      3369554304,
+      3218104598,
+      565507253,
+      1454621731,
+      3485111705,
+      3099436303,
+      671266974,
+      1594198024,
+      3322730930,
+      2970347812,
+      795835527,
+      1483230225,
+      3244367275,
+      3060149565,
+      1994146192,
+      31158534,
+      2563907772,
+      4023717930,
+      1907459465,
+      112637215,
+      2680153253,
+      3904427059,
+      2013776290,
+      251722036,
+      2517215374,
+      3775830040,
+      2137656763,
+      141376813,
+      2439277719,
+      3865271297,
+      1802195444,
+      476864866,
+      2238001368,
+      4066508878,
+      1812370925,
+      453092731,
+      2181625025,
+      4111451223,
+      1706088902,
+      314042704,
+      2344532202,
+      4240017532,
+      1658658271,
+      366619977,
+      2362670323,
+      4224994405,
+      1303535960,
+      984961486,
+      2747007092,
+      3569037538,
+      1256170817,
+      1037604311,
+      2765210733,
+      3554079995,
+      1131014506,
+      879679996,
+      2909243462,
+      3663771856,
+      1141124467,
+      855842277,
+      2852801631,
+      3708648649,
+      1342533948,
+      654459306,
+      3188396048,
+      3373015174,
+      1466479909,
+      544179635,
+      3110523913,
+      3462522015,
+      1591671054,
+      702138776,
+      2966460450,
+      3352799412,
+      1504918807,
+      783551873,
+      3082640443,
+      3233442989,
+      3988292384,
+      2596254646,
+      62317068,
+      1957810842,
+      3939845945,
+      2647816111,
+      81470997,
+      1943803523,
+      3814918930,
+      2489596804,
+      225274430,
+      2053790376,
+      3826175755,
+      2466906013,
+      167816743,
+      2097651377,
+      4027552580,
+      2265490386,
+      503444072,
+      1762050814,
+      4150417245,
+      2154129355,
+      426522225,
+      1852507879,
+      4275313526,
+      2312317920,
+      282753626,
+      1742555852,
+      4189708143,
+      2394877945,
+      397917763,
+      1622183637,
+      3604390888,
+      2714866558,
+      953729732,
+      1340076626,
+      3518719985,
+      2797360999,
+      1068828381,
+      1219638859,
+      3624741850,
+      2936675148,
+      906185462,
+      1090812512,
+      3747672003,
+      2825379669,
+      829329135,
+      1181335161,
+      3412177804,
+      3160834842,
+      628085408,
+      1382605366,
+      3423369109,
+      3138078467,
+      570562233,
+      1426400815,
+      3317316542,
+      2998733608,
+      733239954,
+      1555261956,
+      3268935591,
+      3050360625,
+      752459403,
+      1541320221,
+      2607071920,
+      3965973030,
+      1969922972,
+      40735498,
+      2617837225,
+      3943577151,
+      1913087877,
+      83908371,
+      2512341634,
+      3803740692,
+      2075208622,
+      213261112,
+      2463272603,
+      3855990285,
+      2094854071,
+      198958881,
+      2262029012,
+      4057260610,
+      1759359992,
+      534414190,
+      2176718541,
+      4139329115,
+      1873836001,
+      414664567,
+      2282248934,
+      4279200368,
+      1711684554,
+      285281116,
+      2405801727,
+      4167216745,
+      1634467795,
+      376229701,
+      2685067896,
+      3608007406,
+      1308918612,
+      956543938,
+      2808555105,
+      3495958263,
+      1231636301,
+      1047427035,
+      2932959818,
+      3654703836,
+      1088359270,
+      936918e3,
+      2847714899,
+      3736837829,
+      1202900863,
+      817233897,
+      3183342108,
+      3401237130,
+      1404277552,
+      615818150,
+      3134207493,
+      3453421203,
+      1423857449,
+      601450431,
+      3009837614,
+      3294710456,
+      1567103746,
+      711928724,
+      3020668471,
+      3272380065,
+      1510334235,
+      755167117
+    ]);
+    function ensureBuffer(input) {
+      if (Buffer.isBuffer(input)) {
+        return input;
       }
-      if ((opts === null || opts === void 0 ? void 0 : opts.writable) !== false && isWritable(stream)) {
-        return false;
+      if (typeof input === "number") {
+        return Buffer.alloc(input);
+      } else if (typeof input === "string") {
+        return Buffer.from(input);
+      } else {
+        throw new Error("input must be buffer, number, or string, received " + typeof input);
       }
-      return true;
     }
-    function isWritableErrored(stream) {
-      var _stream$_writableStat, _stream$_writableStat2;
-      if (!isNodeStream(stream)) {
-        return null;
-      }
-      if (stream.writableErrored) {
-        return stream.writableErrored;
-      }
-      return (_stream$_writableStat = (_stream$_writableStat2 = stream._writableState) === null || _stream$_writableStat2 === void 0 ? void 0 : _stream$_writableStat2.errored) !== null && _stream$_writableStat !== void 0 ? _stream$_writableStat : null;
+    function bufferizeInt(num) {
+      const tmp = ensureBuffer(4);
+      tmp.writeInt32BE(num, 0);
+      return tmp;
     }
-    function isReadableErrored(stream) {
-      var _stream$_readableStat, _stream$_readableStat2;
-      if (!isNodeStream(stream)) {
-        return null;
+    function _crc32(buf, previous) {
+      buf = ensureBuffer(buf);
+      if (Buffer.isBuffer(previous)) {
+        previous = previous.readUInt32BE(0);
       }
-      if (stream.readableErrored) {
-        return stream.readableErrored;
+      let crc = ~~previous ^ -1;
+      for (var n = 0; n < buf.length; n++) {
+        crc = CRC_TABLE[(crc ^ buf[n]) & 255] ^ crc >>> 8;
       }
-      return (_stream$_readableStat = (_stream$_readableStat2 = stream._readableState) === null || _stream$_readableStat2 === void 0 ? void 0 : _stream$_readableStat2.errored) !== null && _stream$_readableStat !== void 0 ? _stream$_readableStat : null;
+      return crc ^ -1;
     }
-    function isClosed(stream) {
-      if (!isNodeStream(stream)) {
-        return null;
-      }
-      if (typeof stream.closed === "boolean") {
-        return stream.closed;
+    function crc32() {
+      return bufferizeInt(_crc32.apply(null, arguments));
+    }
+    crc32.signed = function() {
+      return _crc32.apply(null, arguments);
+    };
+    crc32.unsigned = function() {
+      return _crc32.apply(null, arguments) >>> 0;
+    };
+    var bufferCrc32 = crc32;
+    var index = /* @__PURE__ */ getDefaultExportFromCjs(bufferCrc32);
+    module2.exports = index;
+  }
+});
+
+// node_modules/archiver/lib/plugins/json.js
+var require_json = __commonJS({
+  "node_modules/archiver/lib/plugins/json.js"(exports2, module2) {
+    var inherits = require("util").inherits;
+    var Transform = require_ours().Transform;
+    var crc32 = require_dist5();
+    var util = require_archiver_utils();
+    var Json = function(options) {
+      if (!(this instanceof Json)) {
+        return new Json(options);
       }
-      const wState = stream._writableState;
-      const rState = stream._readableState;
-      if (typeof (wState === null || wState === void 0 ? void 0 : wState.closed) === "boolean" || typeof (rState === null || rState === void 0 ? void 0 : rState.closed) === "boolean") {
-        return (wState === null || wState === void 0 ? void 0 : wState.closed) || (rState === null || rState === void 0 ? void 0 : rState.closed);
+      options = this.options = util.defaults(options, {});
+      Transform.call(this, options);
+      this.supports = {
+        directory: true,
+        symlink: true
+      };
+      this.files = [];
+    };
+    inherits(Json, Transform);
+    Json.prototype._transform = function(chunk, encoding, callback) {
+      callback(null, chunk);
+    };
+    Json.prototype._writeStringified = function() {
+      var fileString = JSON.stringify(this.files);
+      this.write(fileString);
+    };
+    Json.prototype.append = function(source, data, callback) {
+      var self2 = this;
+      data.crc32 = 0;
+      function onend(err, sourceBuffer) {
+        if (err) {
+          callback(err);
+          return;
+        }
+        data.size = sourceBuffer.length || 0;
+        data.crc32 = crc32.unsigned(sourceBuffer);
+        self2.files.push(data);
+        callback(null, data);
       }
-      if (typeof stream._closed === "boolean" && isOutgoingMessage(stream)) {
-        return stream._closed;
+      if (data.sourceType === "buffer") {
+        onend(null, source);
+      } else if (data.sourceType === "stream") {
+        util.collectStream(source, onend);
       }
-      return null;
-    }
-    function isOutgoingMessage(stream) {
-      return typeof stream._closed === "boolean" && typeof stream._defaultKeepAlive === "boolean" && typeof stream._removedConnection === "boolean" && typeof stream._removedContLen === "boolean";
-    }
-    function isServerResponse(stream) {
-      return typeof stream._sent100 === "boolean" && isOutgoingMessage(stream);
-    }
-    function isServerRequest(stream) {
-      var _stream$req;
-      return typeof stream._consuming === "boolean" && typeof stream._dumped === "boolean" && ((_stream$req = stream.req) === null || _stream$req === void 0 ? void 0 : _stream$req.upgradeOrConnect) === void 0;
-    }
-    function willEmitClose(stream) {
-      if (!isNodeStream(stream)) return null;
-      const wState = stream._writableState;
-      const rState = stream._readableState;
-      const state = wState || rState;
-      return !state && isServerResponse(stream) || !!(state && state.autoDestroy && state.emitClose && state.closed === false);
-    }
-    function isDisturbed(stream) {
-      var _stream$kIsDisturbed;
-      return !!(stream && ((_stream$kIsDisturbed = stream[kIsDisturbed]) !== null && _stream$kIsDisturbed !== void 0 ? _stream$kIsDisturbed : stream.readableDidRead || stream.readableAborted));
-    }
-    function isErrored(stream) {
-      var _ref, _ref2, _ref3, _ref4, _ref5, _stream$kIsErrored, _stream$_readableStat3, _stream$_writableStat3, _stream$_readableStat4, _stream$_writableStat4;
-      return !!(stream && ((_ref = (_ref2 = (_ref3 = (_ref4 = (_ref5 = (_stream$kIsErrored = stream[kIsErrored]) !== null && _stream$kIsErrored !== void 0 ? _stream$kIsErrored : stream.readableErrored) !== null && _ref5 !== void 0 ? _ref5 : stream.writableErrored) !== null && _ref4 !== void 0 ? _ref4 : (_stream$_readableStat3 = stream._readableState) === null || _stream$_readableStat3 === void 0 ? void 0 : _stream$_readableStat3.errorEmitted) !== null && _ref3 !== void 0 ? _ref3 : (_stream$_writableStat3 = stream._writableState) === null || _stream$_writableStat3 === void 0 ? void 0 : _stream$_writableStat3.errorEmitted) !== null && _ref2 !== void 0 ? _ref2 : (_stream$_readableStat4 = stream._readableState) === null || _stream$_readableStat4 === void 0 ? void 0 : _stream$_readableStat4.errored) !== null && _ref !== void 0 ? _ref : (_stream$_writableStat4 = stream._writableState) === null || _stream$_writableStat4 === void 0 ? void 0 : _stream$_writableStat4.errored));
-    }
-    module2.exports = {
-      isDestroyed,
-      kIsDestroyed,
-      isDisturbed,
-      kIsDisturbed,
-      isErrored,
-      kIsErrored,
-      isReadable,
-      kIsReadable,
-      kIsClosedPromise,
-      kControllerErrorFunction,
-      kIsWritable,
-      isClosed,
-      isDuplexNodeStream,
-      isFinished,
-      isIterable,
-      isReadableNodeStream,
-      isReadableStream,
-      isReadableEnded,
-      isReadableFinished,
-      isReadableErrored,
-      isNodeStream,
-      isWebStream,
-      isWritable,
-      isWritableNodeStream,
-      isWritableStream,
-      isWritableEnded,
-      isWritableFinished,
-      isWritableErrored,
-      isServerRequest,
-      isServerResponse,
-      willEmitClose,
-      isTransformStream
     };
+    Json.prototype.finalize = function() {
+      this._writeStringified();
+      this.end();
+    };
+    module2.exports = Json;
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/end-of-stream.js
-var require_end_of_stream = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/end-of-stream.js"(exports2, module2) {
-    var process2 = require_process();
-    var { AbortError, codes } = require_errors5();
-    var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_PREMATURE_CLOSE } = codes;
-    var { kEmptyObject, once } = require_util20();
-    var { validateAbortSignal, validateFunction, validateObject, validateBoolean } = require_validators();
-    var { Promise: Promise2, PromisePrototypeThen, SymbolDispose } = require_primordials();
-    var {
-      isClosed,
-      isReadable,
-      isReadableNodeStream,
-      isReadableStream,
-      isReadableFinished,
-      isReadableErrored,
-      isWritable,
-      isWritableNodeStream,
-      isWritableStream,
-      isWritableFinished,
-      isWritableErrored,
-      isNodeStream,
-      willEmitClose: _willEmitClose,
-      kIsClosedPromise
-    } = require_utils8();
-    var addAbortListener;
-    function isRequest(stream) {
-      return stream.setHeader && typeof stream.abort === "function";
-    }
-    var nop = () => {
+// node_modules/archiver/index.js
+var require_archiver = __commonJS({
+  "node_modules/archiver/index.js"(exports2, module2) {
+    var Archiver = require_core2();
+    var formats = {};
+    var vending = function(format, options) {
+      return vending.create(format, options);
     };
-    function eos(stream, options, callback) {
-      var _options$readable, _options$writable;
-      if (arguments.length === 2) {
-        callback = options;
-        options = kEmptyObject;
-      } else if (options == null) {
-        options = kEmptyObject;
+    vending.create = function(format, options) {
+      if (formats[format]) {
+        var instance = new Archiver(format, options);
+        instance.setFormat(format);
+        instance.setModule(new formats[format](options));
+        return instance;
       } else {
-        validateObject(options, "options");
+        throw new Error("create(" + format + "): format not registered");
       }
-      validateFunction(callback, "callback");
-      validateAbortSignal(options.signal, "options.signal");
-      callback = once(callback);
-      if (isReadableStream(stream) || isWritableStream(stream)) {
-        return eosWeb(stream, options, callback);
+    };
+    vending.registerFormat = function(format, module3) {
+      if (formats[format]) {
+        throw new Error("register(" + format + "): format already registered");
       }
-      if (!isNodeStream(stream)) {
-        throw new ERR_INVALID_ARG_TYPE2("stream", ["ReadableStream", "WritableStream", "Stream"], stream);
+      if (typeof module3 !== "function") {
+        throw new Error("register(" + format + "): format module invalid");
       }
-      const readable = (_options$readable = options.readable) !== null && _options$readable !== void 0 ? _options$readable : isReadableNodeStream(stream);
-      const writable = (_options$writable = options.writable) !== null && _options$writable !== void 0 ? _options$writable : isWritableNodeStream(stream);
-      const wState = stream._writableState;
-      const rState = stream._readableState;
-      const onlegacyfinish = () => {
-        if (!stream.writable) {
-          onfinish();
-        }
-      };
-      let willEmitClose = _willEmitClose(stream) && isReadableNodeStream(stream) === readable && isWritableNodeStream(stream) === writable;
-      let writableFinished = isWritableFinished(stream, false);
-      const onfinish = () => {
-        writableFinished = true;
-        if (stream.destroyed) {
-          willEmitClose = false;
-        }
-        if (willEmitClose && (!stream.readable || readable)) {
-          return;
-        }
-        if (!readable || readableFinished) {
-          callback.call(stream);
-        }
-      };
-      let readableFinished = isReadableFinished(stream, false);
-      const onend = () => {
-        readableFinished = true;
-        if (stream.destroyed) {
-          willEmitClose = false;
-        }
-        if (willEmitClose && (!stream.writable || writable)) {
-          return;
-        }
-        if (!writable || writableFinished) {
-          callback.call(stream);
-        }
-      };
-      const onerror = (err) => {
-        callback.call(stream, err);
-      };
-      let closed = isClosed(stream);
-      const onclose = () => {
-        closed = true;
-        const errored = isWritableErrored(stream) || isReadableErrored(stream);
-        if (errored && typeof errored !== "boolean") {
-          return callback.call(stream, errored);
-        }
-        if (readable && !readableFinished && isReadableNodeStream(stream, true)) {
-          if (!isReadableFinished(stream, false)) return callback.call(stream, new ERR_STREAM_PREMATURE_CLOSE());
-        }
-        if (writable && !writableFinished) {
-          if (!isWritableFinished(stream, false)) return callback.call(stream, new ERR_STREAM_PREMATURE_CLOSE());
-        }
-        callback.call(stream);
-      };
-      const onclosed = () => {
-        closed = true;
-        const errored = isWritableErrored(stream) || isReadableErrored(stream);
-        if (errored && typeof errored !== "boolean") {
-          return callback.call(stream, errored);
-        }
-        callback.call(stream);
-      };
-      const onrequest = () => {
-        stream.req.on("finish", onfinish);
-      };
-      if (isRequest(stream)) {
-        stream.on("complete", onfinish);
-        if (!willEmitClose) {
-          stream.on("abort", onclose);
-        }
-        if (stream.req) {
-          onrequest();
-        } else {
-          stream.on("request", onrequest);
-        }
-      } else if (writable && !wState) {
-        stream.on("end", onlegacyfinish);
-        stream.on("close", onlegacyfinish);
+      if (typeof module3.prototype.append !== "function" || typeof module3.prototype.finalize !== "function") {
+        throw new Error("register(" + format + "): format module missing methods");
       }
-      if (!willEmitClose && typeof stream.aborted === "boolean") {
-        stream.on("aborted", onclose);
+      formats[format] = module3;
+    };
+    vending.isRegisteredFormat = function(format) {
+      if (formats[format]) {
+        return true;
       }
-      stream.on("end", onend);
-      stream.on("finish", onfinish);
-      if (options.error !== false) {
-        stream.on("error", onerror);
+      return false;
+    };
+    vending.registerFormat("zip", require_zip());
+    vending.registerFormat("tar", require_tar2());
+    vending.registerFormat("json", require_json());
+    module2.exports = vending;
+  }
+});
+
+// node_modules/@actions/artifact/lib/internal/upload/zip.js
+var require_zip2 = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/upload/zip.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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];
+        } };
       }
-      stream.on("close", onclose);
-      if (closed) {
-        process2.nextTick(onclose);
-      } else if (wState !== null && wState !== void 0 && wState.errorEmitted || rState !== null && rState !== void 0 && rState.errorEmitted) {
-        if (!willEmitClose) {
-          process2.nextTick(onclosed);
-        }
-      } else if (!readable && (!willEmitClose || isReadable(stream)) && (writableFinished || isWritable(stream) === false)) {
-        process2.nextTick(onclosed);
-      } else if (!writable && (!willEmitClose || isWritable(stream)) && (readableFinished || isReadable(stream) === false)) {
-        process2.nextTick(onclosed);
-      } else if (rState && stream.req && stream.aborted) {
-        process2.nextTick(onclosed);
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
       }
-      const cleanup = () => {
-        callback = nop;
-        stream.removeListener("aborted", onclose);
-        stream.removeListener("complete", onfinish);
-        stream.removeListener("abort", onclose);
-        stream.removeListener("request", onrequest);
-        if (stream.req) stream.req.removeListener("finish", onfinish);
-        stream.removeListener("end", onlegacyfinish);
-        stream.removeListener("close", onlegacyfinish);
-        stream.removeListener("finish", onfinish);
-        stream.removeListener("end", onend);
-        stream.removeListener("error", onerror);
-        stream.removeListener("close", onclose);
-      };
-      if (options.signal && !closed) {
-        const abort = () => {
-          const endCallback = callback;
-          cleanup();
-          endCallback.call(
-            stream,
-            new AbortError(void 0, {
-              cause: options.signal.reason
-            })
-          );
-        };
-        if (options.signal.aborted) {
-          process2.nextTick(abort);
-        } else {
-          addAbortListener = addAbortListener || require_util20().addAbortListener;
-          const disposable = addAbortListener(options.signal, abort);
-          const originalCallback = callback;
-          callback = once((...args) => {
-            disposable[SymbolDispose]();
-            originalCallback.apply(stream, args);
-          });
-        }
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve3) {
+          resolve3(value);
+        });
       }
-      return cleanup;
-    }
-    function eosWeb(stream, options, callback) {
-      let isAborted = false;
-      let abort = nop;
-      if (options.signal) {
-        abort = () => {
-          isAborted = true;
-          callback.call(
-            stream,
-            new AbortError(void 0, {
-              cause: options.signal.reason
-            })
-          );
-        };
-        if (options.signal.aborted) {
-          process2.nextTick(abort);
-        } else {
-          addAbortListener = addAbortListener || require_util20().addAbortListener;
-          const disposable = addAbortListener(options.signal, abort);
-          const originalCallback = callback;
-          callback = once((...args) => {
-            disposable[SymbolDispose]();
-            originalCallback.apply(stream, args);
-          });
+      return new (P || (P = Promise))(function(resolve3, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
         }
-      }
-      const resolverFn = (...args) => {
-        if (!isAborted) {
-          process2.nextTick(() => callback.apply(stream, args));
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
         }
-      };
-      PromisePrototypeThen(stream[kIsClosedPromise].promise, resolverFn, resolverFn);
-      return nop;
-    }
-    function finished(stream, opts) {
-      var _opts;
-      let autoCleanup = false;
-      if (opts === null) {
-        opts = kEmptyObject;
+        function step(result) {
+          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createZipUploadStream = exports2.ZipUploadStream = exports2.DEFAULT_COMPRESSION_LEVEL = void 0;
+    var stream = __importStar2(require("stream"));
+    var promises_1 = require("fs/promises");
+    var archiver2 = __importStar2(require_archiver());
+    var core14 = __importStar2(require_core());
+    var config_1 = require_config2();
+    exports2.DEFAULT_COMPRESSION_LEVEL = 6;
+    var ZipUploadStream = class extends stream.Transform {
+      constructor(bufferSize) {
+        super({
+          highWaterMark: bufferSize
+        });
       }
-      if ((_opts = opts) !== null && _opts !== void 0 && _opts.cleanup) {
-        validateBoolean(opts.cleanup, "cleanup");
-        autoCleanup = opts.cleanup;
+      // eslint-disable-next-line @typescript-eslint/no-explicit-any
+      _transform(chunk, enc, cb) {
+        cb(null, chunk);
       }
-      return new Promise2((resolve3, reject) => {
-        const cleanup = eos(stream, opts, (err) => {
-          if (autoCleanup) {
-            cleanup();
-          }
-          if (err) {
-            reject(err);
+    };
+    exports2.ZipUploadStream = ZipUploadStream;
+    function createZipUploadStream(uploadSpecification_1) {
+      return __awaiter2(this, arguments, void 0, function* (uploadSpecification, compressionLevel = exports2.DEFAULT_COMPRESSION_LEVEL) {
+        core14.debug(`Creating Artifact archive with compressionLevel: ${compressionLevel}`);
+        const zip = archiver2.create("zip", {
+          highWaterMark: (0, config_1.getUploadChunkSize)(),
+          zlib: { level: compressionLevel }
+        });
+        zip.on("error", zipErrorCallback);
+        zip.on("warning", zipWarningCallback);
+        zip.on("finish", zipFinishCallback);
+        zip.on("end", zipEndCallback);
+        for (const file of uploadSpecification) {
+          if (file.sourcePath !== null) {
+            let sourcePath = file.sourcePath;
+            if (file.stats.isSymbolicLink()) {
+              sourcePath = yield (0, promises_1.realpath)(file.sourcePath);
+            }
+            zip.file(sourcePath, {
+              name: file.destinationPath
+            });
           } else {
-            resolve3();
+            zip.append("", { name: file.destinationPath });
           }
-        });
+        }
+        const bufferSize = (0, config_1.getUploadChunkSize)();
+        const zipUploadStream = new ZipUploadStream(bufferSize);
+        core14.debug(`Zip write high watermark value ${zipUploadStream.writableHighWaterMark}`);
+        core14.debug(`Zip read high watermark value ${zipUploadStream.readableHighWaterMark}`);
+        zip.pipe(zipUploadStream);
+        zip.finalize();
+        return zipUploadStream;
       });
     }
-    module2.exports = eos;
-    module2.exports.finished = finished;
+    exports2.createZipUploadStream = createZipUploadStream;
+    var zipErrorCallback = (error3) => {
+      core14.error("An error has occurred while creating the zip file for upload");
+      core14.info(error3);
+      throw new Error("An error has occurred during zip creation for the artifact");
+    };
+    var zipWarningCallback = (error3) => {
+      if (error3.code === "ENOENT") {
+        core14.warning("ENOENT warning during artifact zip creation. No such file or directory");
+        core14.info(error3);
+      } else {
+        core14.warning(`A non-blocking warning has occurred during artifact zip creation: ${error3.code}`);
+        core14.info(error3);
+      }
+    };
+    var zipFinishCallback = () => {
+      core14.debug("Zip stream for upload has finished.");
+    };
+    var zipEndCallback = () => {
+      core14.debug("Zip stream for upload has ended.");
+    };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/destroy.js
-var require_destroy2 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/destroy.js"(exports2, module2) {
+// node_modules/@actions/artifact/lib/internal/upload/upload-artifact.js
+var require_upload_artifact = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/upload/upload-artifact.js"(exports2) {
     "use strict";
-    var process2 = require_process();
-    var {
-      aggregateTwoErrors,
-      codes: { ERR_MULTIPLE_CALLBACK },
-      AbortError
-    } = require_errors5();
-    var { Symbol: Symbol2 } = require_primordials();
-    var { kIsDestroyed, isDestroyed, isFinished, isServerRequest } = require_utils8();
-    var kDestroy = Symbol2("kDestroy");
-    var kConstruct = Symbol2("kConstruct");
-    function checkError(err, w, r) {
-      if (err) {
-        err.stack;
-        if (w && !w.errored) {
-          w.errored = err;
-        }
-        if (r && !r.errored) {
-          r.errored = err;
-        }
-      }
-    }
-    function destroy(err, cb) {
-      const r = this._readableState;
-      const w = this._writableState;
-      const s = w || r;
-      if (w !== null && w !== void 0 && w.destroyed || r !== null && r !== void 0 && r.destroyed) {
-        if (typeof cb === "function") {
-          cb();
-        }
-        return this;
-      }
-      checkError(err, w, r);
-      if (w) {
-        w.destroyed = true;
+    var __createBinding2 = 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];
+        } };
       }
-      if (r) {
-        r.destroyed = true;
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
       }
-      if (!s.constructed) {
-        this.once(kDestroy, function(er) {
-          _destroy(this, aggregateTwoErrors(er, err), cb);
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve3) {
+          resolve3(value);
         });
-      } else {
-        _destroy(this, err, cb);
       }
-      return this;
-    }
-    function _destroy(self2, err, cb) {
-      let called = false;
-      function onDestroy(err2) {
-        if (called) {
-          return;
+      return new (P || (P = Promise))(function(resolve3, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        called = true;
-        const r = self2._readableState;
-        const w = self2._writableState;
-        checkError(err2, w, r);
-        if (w) {
-          w.closed = true;
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        if (r) {
-          r.closed = true;
+        function step(result) {
+          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
-        if (typeof cb === "function") {
-          cb(err2);
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.uploadArtifact = void 0;
+    var core14 = __importStar2(require_core());
+    var retention_1 = require_retention();
+    var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation();
+    var artifact_twirp_client_1 = require_artifact_twirp_client2();
+    var upload_zip_specification_1 = require_upload_zip_specification();
+    var util_1 = require_util19();
+    var blob_upload_1 = require_blob_upload();
+    var zip_1 = require_zip2();
+    var generated_1 = require_generated();
+    var errors_1 = require_errors4();
+    function uploadArtifact(name, files, rootDirectory, options) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        (0, path_and_artifact_name_validation_1.validateArtifactName)(name);
+        (0, upload_zip_specification_1.validateRootDirectory)(rootDirectory);
+        const zipSpecification = (0, upload_zip_specification_1.getUploadZipSpecification)(files, rootDirectory);
+        if (zipSpecification.length === 0) {
+          throw new errors_1.FilesNotFoundError(zipSpecification.flatMap((s) => s.sourcePath ? [s.sourcePath] : []));
         }
-        if (err2) {
-          process2.nextTick(emitErrorCloseNT, self2, err2);
-        } else {
-          process2.nextTick(emitCloseNT, self2);
+        const backendIds = (0, util_1.getBackendIdsFromToken)();
+        const artifactClient = (0, artifact_twirp_client_1.internalArtifactTwirpClient)();
+        const createArtifactReq = {
+          workflowRunBackendId: backendIds.workflowRunBackendId,
+          workflowJobRunBackendId: backendIds.workflowJobRunBackendId,
+          name,
+          version: 4
+        };
+        const expiresAt = (0, retention_1.getExpiration)(options === null || options === void 0 ? void 0 : options.retentionDays);
+        if (expiresAt) {
+          createArtifactReq.expiresAt = expiresAt;
         }
-      }
-      try {
-        self2._destroy(err || null, onDestroy);
-      } catch (err2) {
-        onDestroy(err2);
-      }
-    }
-    function emitErrorCloseNT(self2, err) {
-      emitErrorNT(self2, err);
-      emitCloseNT(self2);
-    }
-    function emitCloseNT(self2) {
-      const r = self2._readableState;
-      const w = self2._writableState;
-      if (w) {
-        w.closeEmitted = true;
-      }
-      if (r) {
-        r.closeEmitted = true;
-      }
-      if (w !== null && w !== void 0 && w.emitClose || r !== null && r !== void 0 && r.emitClose) {
-        self2.emit("close");
-      }
-    }
-    function emitErrorNT(self2, err) {
-      const r = self2._readableState;
-      const w = self2._writableState;
-      if (w !== null && w !== void 0 && w.errorEmitted || r !== null && r !== void 0 && r.errorEmitted) {
-        return;
-      }
-      if (w) {
-        w.errorEmitted = true;
-      }
-      if (r) {
-        r.errorEmitted = true;
-      }
-      self2.emit("error", err);
-    }
-    function undestroy() {
-      const r = this._readableState;
-      const w = this._writableState;
-      if (r) {
-        r.constructed = true;
-        r.closed = false;
-        r.closeEmitted = false;
-        r.destroyed = false;
-        r.errored = null;
-        r.errorEmitted = false;
-        r.reading = false;
-        r.ended = r.readable === false;
-        r.endEmitted = r.readable === false;
-      }
-      if (w) {
-        w.constructed = true;
-        w.destroyed = false;
-        w.closed = false;
-        w.closeEmitted = false;
-        w.errored = null;
-        w.errorEmitted = false;
-        w.finalCalled = false;
-        w.prefinished = false;
-        w.ended = w.writable === false;
-        w.ending = w.writable === false;
-        w.finished = w.writable === false;
-      }
-    }
-    function errorOrDestroy(stream, err, sync) {
-      const r = stream._readableState;
-      const w = stream._writableState;
-      if (w !== null && w !== void 0 && w.destroyed || r !== null && r !== void 0 && r.destroyed) {
-        return this;
-      }
-      if (r !== null && r !== void 0 && r.autoDestroy || w !== null && w !== void 0 && w.autoDestroy)
-        stream.destroy(err);
-      else if (err) {
-        err.stack;
-        if (w && !w.errored) {
-          w.errored = err;
+        const createArtifactResp = yield artifactClient.CreateArtifact(createArtifactReq);
+        if (!createArtifactResp.ok) {
+          throw new errors_1.InvalidResponseError("CreateArtifact: response from backend was not ok");
         }
-        if (r && !r.errored) {
-          r.errored = err;
+        const zipUploadStream = yield (0, zip_1.createZipUploadStream)(zipSpecification, options === null || options === void 0 ? void 0 : options.compressionLevel);
+        const uploadResult = yield (0, blob_upload_1.uploadZipToBlobStorage)(createArtifactResp.signedUploadUrl, zipUploadStream);
+        const finalizeArtifactReq = {
+          workflowRunBackendId: backendIds.workflowRunBackendId,
+          workflowJobRunBackendId: backendIds.workflowJobRunBackendId,
+          name,
+          size: uploadResult.uploadSize ? uploadResult.uploadSize.toString() : "0"
+        };
+        if (uploadResult.sha256Hash) {
+          finalizeArtifactReq.hash = generated_1.StringValue.create({
+            value: `sha256:${uploadResult.sha256Hash}`
+          });
         }
-        if (sync) {
-          process2.nextTick(emitErrorNT, stream, err);
-        } else {
-          emitErrorNT(stream, err);
+        core14.info(`Finalizing artifact upload`);
+        const finalizeArtifactResp = yield artifactClient.FinalizeArtifact(finalizeArtifactReq);
+        if (!finalizeArtifactResp.ok) {
+          throw new errors_1.InvalidResponseError("FinalizeArtifact: response from backend was not ok");
         }
-      }
+        const artifactId = BigInt(finalizeArtifactResp.artifactId);
+        core14.info(`Artifact ${name}.zip successfully finalized. Artifact ID ${artifactId}`);
+        return {
+          size: uploadResult.uploadSize,
+          digest: uploadResult.sha256Hash,
+          id: Number(artifactId)
+        };
+      });
     }
-    function construct(stream, cb) {
-      if (typeof stream._construct !== "function") {
-        return;
-      }
-      const r = stream._readableState;
-      const w = stream._writableState;
-      if (r) {
-        r.constructed = false;
-      }
-      if (w) {
-        w.constructed = false;
+    exports2.uploadArtifact = uploadArtifact;
+  }
+});
+
+// node_modules/@actions/artifact/node_modules/@actions/github/lib/context.js
+var require_context2 = __commonJS({
+  "node_modules/@actions/artifact/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() {
+        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 {
+            const path4 = process.env.GITHUB_EVENT_PATH;
+            process.stdout.write(`GITHUB_EVENT_PATH ${path4} does not exist${os_1.EOL}`);
+          }
+        }
+        this.eventName = process.env.GITHUB_EVENT_NAME;
+        this.sha = process.env.GITHUB_SHA;
+        this.ref = process.env.GITHUB_REF;
+        this.workflow = process.env.GITHUB_WORKFLOW;
+        this.action = process.env.GITHUB_ACTION;
+        this.actor = process.env.GITHUB_ACTOR;
+        this.job = process.env.GITHUB_JOB;
+        this.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`;
       }
-      stream.once(kConstruct, cb);
-      if (stream.listenerCount(kConstruct) > 1) {
-        return;
+      get issue() {
+        const payload = this.payload;
+        return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || payload).number });
       }
-      process2.nextTick(constructNT, stream);
-    }
-    function constructNT(stream) {
-      let called = false;
-      function onConstruct(err) {
-        if (called) {
-          errorOrDestroy(stream, err !== null && err !== void 0 ? err : new ERR_MULTIPLE_CALLBACK());
-          return;
-        }
-        called = true;
-        const r = stream._readableState;
-        const w = stream._writableState;
-        const s = w || r;
-        if (r) {
-          r.constructed = true;
-        }
-        if (w) {
-          w.constructed = true;
+      get repo() {
+        if (process.env.GITHUB_REPOSITORY) {
+          const [owner, repo] = process.env.GITHUB_REPOSITORY.split("/");
+          return { owner, repo };
         }
-        if (s.destroyed) {
-          stream.emit(kDestroy, err);
-        } else if (err) {
-          errorOrDestroy(stream, err, true);
-        } else {
-          process2.nextTick(emitConstructNT, stream);
+        if (this.payload.repository) {
+          return {
+            owner: this.payload.repository.owner.login,
+            repo: this.payload.repository.name
+          };
         }
+        throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'");
       }
-      try {
-        stream._construct((err) => {
-          process2.nextTick(onConstruct, err);
-        });
-      } catch (err) {
-        process2.nextTick(onConstruct, err);
-      }
-    }
-    function emitConstructNT(stream) {
-      stream.emit(kConstruct);
-    }
-    function isRequest(stream) {
-      return (stream === null || stream === void 0 ? void 0 : stream.setHeader) && typeof stream.abort === "function";
-    }
-    function emitCloseLegacy(stream) {
-      stream.emit("close");
-    }
-    function emitErrorCloseLegacy(stream, err) {
-      stream.emit("error", err);
-      process2.nextTick(emitCloseLegacy, stream);
-    }
-    function destroyer(stream, err) {
-      if (!stream || isDestroyed(stream)) {
-        return;
-      }
-      if (!err && !isFinished(stream)) {
-        err = new AbortError();
-      }
-      if (isServerRequest(stream)) {
-        stream.socket = null;
-        stream.destroy(err);
-      } else if (isRequest(stream)) {
-        stream.abort();
-      } else if (isRequest(stream.req)) {
-        stream.req.abort();
-      } else if (typeof stream.destroy === "function") {
-        stream.destroy(err);
-      } else if (typeof stream.close === "function") {
-        stream.close();
-      } else if (err) {
-        process2.nextTick(emitErrorCloseLegacy, stream, err);
-      } else {
-        process2.nextTick(emitCloseLegacy, stream);
-      }
-      if (!stream.destroyed) {
-        stream[kIsDestroyed] = true;
-      }
-    }
-    module2.exports = {
-      construct,
-      destroyer,
-      destroy,
-      undestroy,
-      errorOrDestroy
     };
+    exports2.Context = Context;
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/legacy.js
-var require_legacy = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/legacy.js"(exports2, module2) {
+// node_modules/@actions/artifact/node_modules/@actions/github/node_modules/@actions/http-client/lib/proxy.js
+var require_proxy2 = __commonJS({
+  "node_modules/@actions/artifact/node_modules/@actions/github/node_modules/@actions/http-client/lib/proxy.js"(exports2) {
     "use strict";
-    var { ArrayIsArray, ObjectSetPrototypeOf } = require_primordials();
-    var { EventEmitter: EE } = require("events");
-    function Stream(opts) {
-      EE.call(this, opts);
-    }
-    ObjectSetPrototypeOf(Stream.prototype, EE.prototype);
-    ObjectSetPrototypeOf(Stream, EE);
-    Stream.prototype.pipe = function(dest, options) {
-      const source = this;
-      function ondata(chunk) {
-        if (dest.writable && dest.write(chunk) === false && source.pause) {
-          source.pause();
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.checkBypass = exports2.getProxyUrl = void 0;
+    function getProxyUrl(reqUrl) {
+      const usingSsl = reqUrl.protocol === "https:";
+      if (checkBypass(reqUrl)) {
+        return void 0;
+      }
+      const proxyVar = (() => {
+        if (usingSsl) {
+          return process.env["https_proxy"] || process.env["HTTPS_PROXY"];
+        } else {
+          return process.env["http_proxy"] || process.env["HTTP_PROXY"];
+        }
+      })();
+      if (proxyVar) {
+        try {
+          return new DecodedURL(proxyVar);
+        } catch (_a) {
+          if (!proxyVar.startsWith("http://") && !proxyVar.startsWith("https://"))
+            return new DecodedURL(`http://${proxyVar}`);
         }
+      } else {
+        return void 0;
       }
-      source.on("data", ondata);
-      function ondrain() {
-        if (source.readable && source.resume) {
-          source.resume();
-        }
+    }
+    exports2.getProxyUrl = getProxyUrl;
+    function checkBypass(reqUrl) {
+      if (!reqUrl.hostname) {
+        return false;
       }
-      dest.on("drain", ondrain);
-      if (!dest._isStdio && (!options || options.end !== false)) {
-        source.on("end", onend);
-        source.on("close", onclose);
+      const reqHost = reqUrl.hostname;
+      if (isLoopbackAddress(reqHost)) {
+        return true;
       }
-      let didOnEnd = false;
-      function onend() {
-        if (didOnEnd) return;
-        didOnEnd = true;
-        dest.end();
+      const noProxy = process.env["no_proxy"] || process.env["NO_PROXY"] || "";
+      if (!noProxy) {
+        return false;
       }
-      function onclose() {
-        if (didOnEnd) return;
-        didOnEnd = true;
-        if (typeof dest.destroy === "function") dest.destroy();
+      let reqPort;
+      if (reqUrl.port) {
+        reqPort = Number(reqUrl.port);
+      } else if (reqUrl.protocol === "http:") {
+        reqPort = 80;
+      } else if (reqUrl.protocol === "https:") {
+        reqPort = 443;
       }
-      function onerror(er) {
-        cleanup();
-        if (EE.listenerCount(this, "error") === 0) {
-          this.emit("error", er);
+      const upperReqHosts = [reqUrl.hostname.toUpperCase()];
+      if (typeof reqPort === "number") {
+        upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`);
+      }
+      for (const upperNoProxyItem of noProxy.split(",").map((x) => x.trim().toUpperCase()).filter((x) => x)) {
+        if (upperNoProxyItem === "*" || upperReqHosts.some((x) => x === upperNoProxyItem || x.endsWith(`.${upperNoProxyItem}`) || upperNoProxyItem.startsWith(".") && x.endsWith(`${upperNoProxyItem}`))) {
+          return true;
         }
       }
-      prependListener(source, "error", onerror);
-      prependListener(dest, "error", onerror);
-      function cleanup() {
-        source.removeListener("data", ondata);
-        dest.removeListener("drain", ondrain);
-        source.removeListener("end", onend);
-        source.removeListener("close", onclose);
-        source.removeListener("error", onerror);
-        dest.removeListener("error", onerror);
-        source.removeListener("end", cleanup);
-        source.removeListener("close", cleanup);
-        dest.removeListener("close", cleanup);
+      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;
       }
-      source.on("end", cleanup);
-      source.on("close", cleanup);
-      dest.on("close", cleanup);
-      dest.emit("pipe", source);
-      return dest;
     };
-    function prependListener(emitter, event, fn) {
-      if (typeof emitter.prependListener === "function") return emitter.prependListener(event, fn);
-      if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);
-      else if (ArrayIsArray(emitter._events[event])) emitter._events[event].unshift(fn);
-      else emitter._events[event] = [fn, emitter._events[event]];
-    }
+  }
+});
+
+// node_modules/undici/lib/core/symbols.js
+var require_symbols11 = __commonJS({
+  "node_modules/undici/lib/core/symbols.js"(exports2, module2) {
     module2.exports = {
-      Stream,
-      prependListener
+      kClose: /* @__PURE__ */ Symbol("close"),
+      kDestroy: /* @__PURE__ */ Symbol("destroy"),
+      kDispatch: /* @__PURE__ */ Symbol("dispatch"),
+      kUrl: /* @__PURE__ */ Symbol("url"),
+      kWriting: /* @__PURE__ */ Symbol("writing"),
+      kResuming: /* @__PURE__ */ Symbol("resuming"),
+      kQueue: /* @__PURE__ */ Symbol("queue"),
+      kConnect: /* @__PURE__ */ Symbol("connect"),
+      kConnecting: /* @__PURE__ */ Symbol("connecting"),
+      kHeadersList: /* @__PURE__ */ Symbol("headers list"),
+      kKeepAliveDefaultTimeout: /* @__PURE__ */ Symbol("default keep alive timeout"),
+      kKeepAliveMaxTimeout: /* @__PURE__ */ Symbol("max keep alive timeout"),
+      kKeepAliveTimeoutThreshold: /* @__PURE__ */ Symbol("keep alive timeout threshold"),
+      kKeepAliveTimeoutValue: /* @__PURE__ */ Symbol("keep alive timeout"),
+      kKeepAlive: /* @__PURE__ */ Symbol("keep alive"),
+      kHeadersTimeout: /* @__PURE__ */ Symbol("headers timeout"),
+      kBodyTimeout: /* @__PURE__ */ Symbol("body timeout"),
+      kServerName: /* @__PURE__ */ Symbol("server name"),
+      kLocalAddress: /* @__PURE__ */ Symbol("local address"),
+      kHost: /* @__PURE__ */ Symbol("host"),
+      kNoRef: /* @__PURE__ */ Symbol("no ref"),
+      kBodyUsed: /* @__PURE__ */ Symbol("used"),
+      kRunning: /* @__PURE__ */ Symbol("running"),
+      kBlocking: /* @__PURE__ */ Symbol("blocking"),
+      kPending: /* @__PURE__ */ Symbol("pending"),
+      kSize: /* @__PURE__ */ Symbol("size"),
+      kBusy: /* @__PURE__ */ Symbol("busy"),
+      kQueued: /* @__PURE__ */ Symbol("queued"),
+      kFree: /* @__PURE__ */ Symbol("free"),
+      kConnected: /* @__PURE__ */ Symbol("connected"),
+      kClosed: /* @__PURE__ */ Symbol("closed"),
+      kNeedDrain: /* @__PURE__ */ Symbol("need drain"),
+      kReset: /* @__PURE__ */ Symbol("reset"),
+      kDestroyed: /* @__PURE__ */ Symbol.for("nodejs.stream.destroyed"),
+      kMaxHeadersSize: /* @__PURE__ */ Symbol("max headers size"),
+      kRunningIdx: /* @__PURE__ */ Symbol("running index"),
+      kPendingIdx: /* @__PURE__ */ Symbol("pending index"),
+      kError: /* @__PURE__ */ Symbol("error"),
+      kClients: /* @__PURE__ */ Symbol("clients"),
+      kClient: /* @__PURE__ */ Symbol("client"),
+      kParser: /* @__PURE__ */ Symbol("parser"),
+      kOnDestroyed: /* @__PURE__ */ Symbol("destroy callbacks"),
+      kPipelining: /* @__PURE__ */ Symbol("pipelining"),
+      kSocket: /* @__PURE__ */ Symbol("socket"),
+      kHostHeader: /* @__PURE__ */ Symbol("host header"),
+      kConnector: /* @__PURE__ */ Symbol("connector"),
+      kStrictContentLength: /* @__PURE__ */ Symbol("strict content length"),
+      kMaxRedirections: /* @__PURE__ */ Symbol("maxRedirections"),
+      kMaxRequests: /* @__PURE__ */ Symbol("maxRequestsPerClient"),
+      kProxy: /* @__PURE__ */ Symbol("proxy agent options"),
+      kCounter: /* @__PURE__ */ Symbol("socket request counter"),
+      kInterceptors: /* @__PURE__ */ Symbol("dispatch interceptors"),
+      kMaxResponseSize: /* @__PURE__ */ Symbol("max response size"),
+      kHTTP2Session: /* @__PURE__ */ Symbol("http2Session"),
+      kHTTP2SessionState: /* @__PURE__ */ Symbol("http2Session state"),
+      kHTTP2BuildRequest: /* @__PURE__ */ Symbol("http2 build request"),
+      kHTTP1BuildRequest: /* @__PURE__ */ Symbol("http1 build request"),
+      kHTTP2CopyHeaders: /* @__PURE__ */ Symbol("http2 copy headers"),
+      kHTTPConnVersion: /* @__PURE__ */ Symbol("http connection version"),
+      kRetryHandlerDefaultRetry: /* @__PURE__ */ Symbol("retry agent default retry"),
+      kConstruct: /* @__PURE__ */ Symbol("constructable")
     };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/add-abort-signal.js
-var require_add_abort_signal = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/add-abort-signal.js"(exports2, module2) {
+// node_modules/undici/lib/core/errors.js
+var require_errors6 = __commonJS({
+  "node_modules/undici/lib/core/errors.js"(exports2, module2) {
     "use strict";
-    var { SymbolDispose } = require_primordials();
-    var { AbortError, codes } = require_errors5();
-    var { isNodeStream, isWebStream, kControllerErrorFunction } = require_utils8();
-    var eos = require_end_of_stream();
-    var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2 } = codes;
-    var addAbortListener;
-    var validateAbortSignal = (signal, name) => {
-      if (typeof signal !== "object" || !("aborted" in signal)) {
-        throw new ERR_INVALID_ARG_TYPE2(name, "AbortSignal", signal);
+    var UndiciError = class extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "UndiciError";
+        this.code = "UND_ERR";
       }
     };
-    module2.exports.addAbortSignal = function addAbortSignal(signal, stream) {
-      validateAbortSignal(signal, "signal");
-      if (!isNodeStream(stream) && !isWebStream(stream)) {
-        throw new ERR_INVALID_ARG_TYPE2("stream", ["ReadableStream", "WritableStream", "Stream"], stream);
+    var ConnectTimeoutError = class _ConnectTimeoutError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _ConnectTimeoutError);
+        this.name = "ConnectTimeoutError";
+        this.message = message || "Connect Timeout Error";
+        this.code = "UND_ERR_CONNECT_TIMEOUT";
       }
-      return module2.exports.addAbortSignalNoValidate(signal, stream);
     };
-    module2.exports.addAbortSignalNoValidate = function(signal, stream) {
-      if (typeof signal !== "object" || !("aborted" in signal)) {
-        return stream;
+    var HeadersTimeoutError = class _HeadersTimeoutError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _HeadersTimeoutError);
+        this.name = "HeadersTimeoutError";
+        this.message = message || "Headers Timeout Error";
+        this.code = "UND_ERR_HEADERS_TIMEOUT";
       }
-      const onAbort = isNodeStream(stream) ? () => {
-        stream.destroy(
-          new AbortError(void 0, {
-            cause: signal.reason
-          })
-        );
-      } : () => {
-        stream[kControllerErrorFunction](
-          new AbortError(void 0, {
-            cause: signal.reason
-          })
-        );
-      };
-      if (signal.aborted) {
-        onAbort();
-      } else {
-        addAbortListener = addAbortListener || require_util20().addAbortListener;
-        const disposable = addAbortListener(signal, onAbort);
-        eos(stream, disposable[SymbolDispose]);
+    };
+    var HeadersOverflowError = class _HeadersOverflowError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _HeadersOverflowError);
+        this.name = "HeadersOverflowError";
+        this.message = message || "Headers Overflow Error";
+        this.code = "UND_ERR_HEADERS_OVERFLOW";
       }
-      return stream;
     };
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/buffer_list.js
-var require_buffer_list = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/buffer_list.js"(exports2, module2) {
-    "use strict";
-    var { StringPrototypeSlice, SymbolIterator, TypedArrayPrototypeSet, Uint8Array: Uint8Array2 } = require_primordials();
-    var { Buffer: Buffer2 } = require("buffer");
-    var { inspect } = require_util20();
-    module2.exports = class BufferList {
-      constructor() {
-        this.head = null;
-        this.tail = null;
-        this.length = 0;
+    var BodyTimeoutError = class _BodyTimeoutError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _BodyTimeoutError);
+        this.name = "BodyTimeoutError";
+        this.message = message || "Body Timeout Error";
+        this.code = "UND_ERR_BODY_TIMEOUT";
       }
-      push(v) {
-        const entry = {
-          data: v,
-          next: null
-        };
-        if (this.length > 0) this.tail.next = entry;
-        else this.head = entry;
-        this.tail = entry;
-        ++this.length;
+    };
+    var ResponseStatusCodeError = class _ResponseStatusCodeError extends UndiciError {
+      constructor(message, statusCode, headers, body) {
+        super(message);
+        Error.captureStackTrace(this, _ResponseStatusCodeError);
+        this.name = "ResponseStatusCodeError";
+        this.message = message || "Response Status Code Error";
+        this.code = "UND_ERR_RESPONSE_STATUS_CODE";
+        this.body = body;
+        this.status = statusCode;
+        this.statusCode = statusCode;
+        this.headers = headers;
       }
-      unshift(v) {
-        const entry = {
-          data: v,
-          next: this.head
-        };
-        if (this.length === 0) this.tail = entry;
-        this.head = entry;
-        ++this.length;
+    };
+    var InvalidArgumentError = class _InvalidArgumentError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _InvalidArgumentError);
+        this.name = "InvalidArgumentError";
+        this.message = message || "Invalid Argument Error";
+        this.code = "UND_ERR_INVALID_ARG";
       }
-      shift() {
-        if (this.length === 0) return;
-        const ret = this.head.data;
-        if (this.length === 1) this.head = this.tail = null;
-        else this.head = this.head.next;
-        --this.length;
-        return ret;
+    };
+    var InvalidReturnValueError = class _InvalidReturnValueError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _InvalidReturnValueError);
+        this.name = "InvalidReturnValueError";
+        this.message = message || "Invalid Return Value Error";
+        this.code = "UND_ERR_INVALID_RETURN_VALUE";
       }
-      clear() {
-        this.head = this.tail = null;
-        this.length = 0;
+    };
+    var RequestAbortedError = class _RequestAbortedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _RequestAbortedError);
+        this.name = "AbortError";
+        this.message = message || "Request aborted";
+        this.code = "UND_ERR_ABORTED";
       }
-      join(s) {
-        if (this.length === 0) return "";
-        let p = this.head;
-        let ret = "" + p.data;
-        while ((p = p.next) !== null) ret += s + p.data;
-        return ret;
+    };
+    var InformationalError = class _InformationalError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _InformationalError);
+        this.name = "InformationalError";
+        this.message = message || "Request information";
+        this.code = "UND_ERR_INFO";
       }
-      concat(n) {
-        if (this.length === 0) return Buffer2.alloc(0);
-        const ret = Buffer2.allocUnsafe(n >>> 0);
-        let p = this.head;
-        let i = 0;
-        while (p) {
-          TypedArrayPrototypeSet(ret, p.data, i);
-          i += p.data.length;
-          p = p.next;
-        }
-        return ret;
+    };
+    var RequestContentLengthMismatchError = class _RequestContentLengthMismatchError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _RequestContentLengthMismatchError);
+        this.name = "RequestContentLengthMismatchError";
+        this.message = message || "Request body length does not match content-length header";
+        this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH";
       }
-      // Consumes a specified amount of bytes or characters from the buffered data.
-      consume(n, hasStrings) {
-        const data = this.head.data;
-        if (n < data.length) {
-          const slice = data.slice(0, n);
-          this.head.data = data.slice(n);
-          return slice;
-        }
-        if (n === data.length) {
-          return this.shift();
-        }
-        return hasStrings ? this._getString(n) : this._getBuffer(n);
+    };
+    var ResponseContentLengthMismatchError = class _ResponseContentLengthMismatchError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _ResponseContentLengthMismatchError);
+        this.name = "ResponseContentLengthMismatchError";
+        this.message = message || "Response body length does not match content-length header";
+        this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH";
       }
-      first() {
-        return this.head.data;
+    };
+    var ClientDestroyedError = class _ClientDestroyedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _ClientDestroyedError);
+        this.name = "ClientDestroyedError";
+        this.message = message || "The client is destroyed";
+        this.code = "UND_ERR_DESTROYED";
       }
-      *[SymbolIterator]() {
-        for (let p = this.head; p; p = p.next) {
-          yield p.data;
-        }
+    };
+    var ClientClosedError = class _ClientClosedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _ClientClosedError);
+        this.name = "ClientClosedError";
+        this.message = message || "The client is closed";
+        this.code = "UND_ERR_CLOSED";
       }
-      // Consumes a specified amount of characters from the buffered data.
-      _getString(n) {
-        let ret = "";
-        let p = this.head;
-        let c = 0;
-        do {
-          const str2 = p.data;
-          if (n > str2.length) {
-            ret += str2;
-            n -= str2.length;
-          } else {
-            if (n === str2.length) {
-              ret += str2;
-              ++c;
-              if (p.next) this.head = p.next;
-              else this.head = this.tail = null;
-            } else {
-              ret += StringPrototypeSlice(str2, 0, n);
-              this.head = p;
-              p.data = StringPrototypeSlice(str2, n);
-            }
-            break;
-          }
-          ++c;
-        } while ((p = p.next) !== null);
-        this.length -= c;
-        return ret;
+    };
+    var SocketError = class _SocketError extends UndiciError {
+      constructor(message, socket) {
+        super(message);
+        Error.captureStackTrace(this, _SocketError);
+        this.name = "SocketError";
+        this.message = message || "Socket error";
+        this.code = "UND_ERR_SOCKET";
+        this.socket = socket;
       }
-      // Consumes a specified amount of bytes from the buffered data.
-      _getBuffer(n) {
-        const ret = Buffer2.allocUnsafe(n);
-        const retLen = n;
-        let p = this.head;
-        let c = 0;
-        do {
-          const buf = p.data;
-          if (n > buf.length) {
-            TypedArrayPrototypeSet(ret, buf, retLen - n);
-            n -= buf.length;
-          } else {
-            if (n === buf.length) {
-              TypedArrayPrototypeSet(ret, buf, retLen - n);
-              ++c;
-              if (p.next) this.head = p.next;
-              else this.head = this.tail = null;
-            } else {
-              TypedArrayPrototypeSet(ret, new Uint8Array2(buf.buffer, buf.byteOffset, n), retLen - n);
-              this.head = p;
-              p.data = buf.slice(n);
-            }
-            break;
-          }
-          ++c;
-        } while ((p = p.next) !== null);
-        this.length -= c;
-        return ret;
+    };
+    var NotSupportedError = class _NotSupportedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _NotSupportedError);
+        this.name = "NotSupportedError";
+        this.message = message || "Not supported error";
+        this.code = "UND_ERR_NOT_SUPPORTED";
       }
-      // Make sure the linked list only shows the minimal necessary information.
-      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")](_2, options) {
-        return inspect(this, {
-          ...options,
-          // Only inspect one level.
-          depth: 0,
-          // It should not recurse.
-          customInspect: false
-        });
+    };
+    var BalancedPoolMissingUpstreamError = class extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, NotSupportedError);
+        this.name = "MissingUpstreamError";
+        this.message = message || "No upstream has been added to the BalancedPool";
+        this.code = "UND_ERR_BPL_MISSING_UPSTREAM";
+      }
+    };
+    var HTTPParserError = class _HTTPParserError extends Error {
+      constructor(message, code, data) {
+        super(message);
+        Error.captureStackTrace(this, _HTTPParserError);
+        this.name = "HTTPParserError";
+        this.code = code ? `HPE_${code}` : void 0;
+        this.data = data ? data.toString() : void 0;
+      }
+    };
+    var ResponseExceededMaxSizeError = class _ResponseExceededMaxSizeError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _ResponseExceededMaxSizeError);
+        this.name = "ResponseExceededMaxSizeError";
+        this.message = message || "Response content exceeded max size";
+        this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE";
+      }
+    };
+    var RequestRetryError = class _RequestRetryError extends UndiciError {
+      constructor(message, code, { headers, data }) {
+        super(message);
+        Error.captureStackTrace(this, _RequestRetryError);
+        this.name = "RequestRetryError";
+        this.message = message || "Request retry error";
+        this.code = "UND_ERR_REQ_RETRY";
+        this.statusCode = code;
+        this.data = data;
+        this.headers = headers;
       }
     };
+    module2.exports = {
+      HTTPParserError,
+      UndiciError,
+      HeadersTimeoutError,
+      HeadersOverflowError,
+      BodyTimeoutError,
+      RequestContentLengthMismatchError,
+      ConnectTimeoutError,
+      ResponseStatusCodeError,
+      InvalidArgumentError,
+      InvalidReturnValueError,
+      RequestAbortedError,
+      ClientDestroyedError,
+      ClientClosedError,
+      InformationalError,
+      SocketError,
+      NotSupportedError,
+      ResponseContentLengthMismatchError,
+      BalancedPoolMissingUpstreamError,
+      ResponseExceededMaxSizeError,
+      RequestRetryError
+    };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/state.js
-var require_state3 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/state.js"(exports2, module2) {
+// node_modules/undici/lib/core/constants.js
+var require_constants20 = __commonJS({
+  "node_modules/undici/lib/core/constants.js"(exports2, module2) {
     "use strict";
-    var { MathFloor, NumberIsInteger } = require_primordials();
-    var { validateInteger } = require_validators();
-    var { ERR_INVALID_ARG_VALUE } = require_errors5().codes;
-    var defaultHighWaterMarkBytes = 16 * 1024;
-    var defaultHighWaterMarkObjectMode = 16;
-    function highWaterMarkFrom(options, isDuplex, duplexKey) {
-      return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;
-    }
-    function getDefaultHighWaterMark(objectMode) {
-      return objectMode ? defaultHighWaterMarkObjectMode : defaultHighWaterMarkBytes;
-    }
-    function setDefaultHighWaterMark(objectMode, value) {
-      validateInteger(value, "value", 0);
-      if (objectMode) {
-        defaultHighWaterMarkObjectMode = value;
-      } else {
-        defaultHighWaterMarkBytes = value;
-      }
-    }
-    function getHighWaterMark(state, options, duplexKey, isDuplex) {
-      const hwm = highWaterMarkFrom(options, isDuplex, duplexKey);
-      if (hwm != null) {
-        if (!NumberIsInteger(hwm) || hwm < 0) {
-          const name = isDuplex ? `options.${duplexKey}` : "options.highWaterMark";
-          throw new ERR_INVALID_ARG_VALUE(name, hwm);
-        }
-        return MathFloor(hwm);
-      }
-      return getDefaultHighWaterMark(state.objectMode);
+    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 = {
-      getHighWaterMark,
-      getDefaultHighWaterMark,
-      setDefaultHighWaterMark
+      wellknownHeaderNames,
+      headerNameLowerCasedRecord
     };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/from.js
-var require_from = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/from.js"(exports2, module2) {
+// node_modules/undici/lib/core/util.js
+var require_util24 = __commonJS({
+  "node_modules/undici/lib/core/util.js"(exports2, module2) {
     "use strict";
-    var process2 = require_process();
-    var { PromisePrototypeThen, SymbolAsyncIterator, SymbolIterator } = require_primordials();
-    var { Buffer: Buffer2 } = require("buffer");
-    var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_NULL_VALUES } = require_errors5().codes;
-    function from(Readable, iterable, opts) {
-      let iterator2;
-      if (typeof iterable === "string" || iterable instanceof Buffer2) {
-        return new Readable({
-          objectMode: true,
-          ...opts,
-          read() {
-            this.push(iterable);
-            this.push(null);
-          }
-        });
+    var assert = require("assert");
+    var { kDestroyed, kBodyUsed } = require_symbols11();
+    var { IncomingMessage } = require("http");
+    var stream = require("stream");
+    var net = require("net");
+    var { InvalidArgumentError } = require_errors6();
+    var { Blob: Blob2 } = require("buffer");
+    var nodeUtil = require("util");
+    var { stringify } = require("querystring");
+    var { headerNameLowerCasedRecord } = require_constants20();
+    var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v) => Number(v));
+    function nop() {
+    }
+    function isStream(obj) {
+      return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function";
+    }
+    function isBlobLike(object) {
+      return Blob2 && object instanceof Blob2 || object && typeof object === "object" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]);
+    }
+    function buildURL(url, queryParams) {
+      if (url.includes("?") || url.includes("#")) {
+        throw new Error('Query params cannot be passed when url already contains "?" or "#".');
       }
-      let isAsync;
-      if (iterable && iterable[SymbolAsyncIterator]) {
-        isAsync = true;
-        iterator2 = iterable[SymbolAsyncIterator]();
-      } else if (iterable && iterable[SymbolIterator]) {
-        isAsync = false;
-        iterator2 = iterable[SymbolIterator]();
-      } else {
-        throw new ERR_INVALID_ARG_TYPE2("iterable", ["Iterable"], iterable);
+      const stringified = stringify(queryParams);
+      if (stringified) {
+        url += "?" + stringified;
       }
-      const readable = new Readable({
-        objectMode: true,
-        highWaterMark: 1,
-        // TODO(ronag): What options should be allowed?
-        ...opts
-      });
-      let reading = false;
-      readable._read = function() {
-        if (!reading) {
-          reading = true;
-          next();
+      return url;
+    }
+    function parseURL(url) {
+      if (typeof url === "string") {
+        url = new URL(url);
+        if (!/^https?:/.test(url.origin || url.protocol)) {
+          throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
         }
-      };
-      readable._destroy = function(error3, cb) {
-        PromisePrototypeThen(
-          close(error3),
-          () => process2.nextTick(cb, error3),
-          // nextTick is here in case cb throws
-          (e) => process2.nextTick(cb, e || error3)
-        );
-      };
-      async function close(error3) {
-        const hadError = error3 !== void 0 && error3 !== null;
-        const hasThrow = typeof iterator2.throw === "function";
-        if (hadError && hasThrow) {
-          const { value, done } = await iterator2.throw(error3);
-          await value;
-          if (done) {
-            return;
-          }
+        return url;
+      }
+      if (!url || typeof url !== "object") {
+        throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object.");
+      }
+      if (!/^https?:/.test(url.origin || url.protocol)) {
+        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
+      }
+      if (!(url instanceof URL)) {
+        if (url.port != null && url.port !== "" && !Number.isFinite(parseInt(url.port))) {
+          throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer.");
         }
-        if (typeof iterator2.return === "function") {
-          const { value } = await iterator2.return();
-          await value;
+        if (url.path != null && typeof url.path !== "string") {
+          throw new InvalidArgumentError("Invalid URL path: the path must be a string or null/undefined.");
         }
-      }
-      async function next() {
-        for (; ; ) {
-          try {
-            const { value, done } = isAsync ? await iterator2.next() : iterator2.next();
-            if (done) {
-              readable.push(null);
-            } else {
-              const res = value && typeof value.then === "function" ? await value : value;
-              if (res === null) {
-                reading = false;
-                throw new ERR_STREAM_NULL_VALUES();
-              } else if (readable.push(res)) {
-                continue;
-              } else {
-                reading = false;
-              }
-            }
-          } catch (err) {
-            readable.destroy(err);
-          }
-          break;
+        if (url.pathname != null && typeof url.pathname !== "string") {
+          throw new InvalidArgumentError("Invalid URL pathname: the pathname must be a string or null/undefined.");
+        }
+        if (url.hostname != null && typeof url.hostname !== "string") {
+          throw new InvalidArgumentError("Invalid URL hostname: the hostname must be a string or null/undefined.");
+        }
+        if (url.origin != null && typeof url.origin !== "string") {
+          throw new InvalidArgumentError("Invalid URL origin: the origin must be a string or null/undefined.");
+        }
+        const port = url.port != null ? url.port : url.protocol === "https:" ? 443 : 80;
+        let origin = url.origin != null ? url.origin : `${url.protocol}//${url.hostname}:${port}`;
+        let path4 = url.path != null ? url.path : `${url.pathname || ""}${url.search || ""}`;
+        if (origin.endsWith("/")) {
+          origin = origin.substring(0, origin.length - 1);
+        }
+        if (path4 && !path4.startsWith("/")) {
+          path4 = `/${path4}`;
         }
+        url = new URL(origin + path4);
       }
-      return readable;
+      return url;
     }
-    module2.exports = from;
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/readable.js
-var require_readable4 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/readable.js"(exports2, module2) {
-    var process2 = require_process();
-    var {
-      ArrayPrototypeIndexOf,
-      NumberIsInteger,
-      NumberIsNaN,
-      NumberParseInt,
-      ObjectDefineProperties,
-      ObjectKeys,
-      ObjectSetPrototypeOf,
-      Promise: Promise2,
-      SafeSet,
-      SymbolAsyncDispose,
-      SymbolAsyncIterator,
-      Symbol: Symbol2
-    } = require_primordials();
-    module2.exports = Readable;
-    Readable.ReadableState = ReadableState;
-    var { EventEmitter: EE } = require("events");
-    var { Stream, prependListener } = require_legacy();
-    var { Buffer: Buffer2 } = require("buffer");
-    var { addAbortSignal } = require_add_abort_signal();
-    var eos = require_end_of_stream();
-    var debug4 = require_util20().debuglog("stream", (fn) => {
-      debug4 = fn;
-    });
-    var BufferList = require_buffer_list();
-    var destroyImpl = require_destroy2();
-    var { getHighWaterMark, getDefaultHighWaterMark } = require_state3();
-    var {
-      aggregateTwoErrors,
-      codes: {
-        ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,
-        ERR_METHOD_NOT_IMPLEMENTED,
-        ERR_OUT_OF_RANGE,
-        ERR_STREAM_PUSH_AFTER_EOF,
-        ERR_STREAM_UNSHIFT_AFTER_END_EVENT
-      },
-      AbortError
-    } = require_errors5();
-    var { validateObject } = require_validators();
-    var kPaused = Symbol2("kPaused");
-    var { StringDecoder } = require("string_decoder");
-    var from = require_from();
-    ObjectSetPrototypeOf(Readable.prototype, Stream.prototype);
-    ObjectSetPrototypeOf(Readable, Stream);
-    var nop = () => {
-    };
-    var { errorOrDestroy } = destroyImpl;
-    var kObjectMode = 1 << 0;
-    var kEnded = 1 << 1;
-    var kEndEmitted = 1 << 2;
-    var kReading = 1 << 3;
-    var kConstructed = 1 << 4;
-    var kSync = 1 << 5;
-    var kNeedReadable = 1 << 6;
-    var kEmittedReadable = 1 << 7;
-    var kReadableListening = 1 << 8;
-    var kResumeScheduled = 1 << 9;
-    var kErrorEmitted = 1 << 10;
-    var kEmitClose = 1 << 11;
-    var kAutoDestroy = 1 << 12;
-    var kDestroyed = 1 << 13;
-    var kClosed = 1 << 14;
-    var kCloseEmitted = 1 << 15;
-    var kMultiAwaitDrain = 1 << 16;
-    var kReadingMore = 1 << 17;
-    var kDataEmitted = 1 << 18;
-    function makeBitMapDescriptor(bit) {
-      return {
-        enumerable: false,
-        get() {
-          return (this.state & bit) !== 0;
-        },
-        set(value) {
-          if (value) this.state |= bit;
-          else this.state &= ~bit;
-        }
-      };
+    function parseOrigin(url) {
+      url = parseURL(url);
+      if (url.pathname !== "/" || url.search || url.hash) {
+        throw new InvalidArgumentError("invalid url");
+      }
+      return url;
     }
-    ObjectDefineProperties(ReadableState.prototype, {
-      objectMode: makeBitMapDescriptor(kObjectMode),
-      ended: makeBitMapDescriptor(kEnded),
-      endEmitted: makeBitMapDescriptor(kEndEmitted),
-      reading: makeBitMapDescriptor(kReading),
-      // Stream is still being constructed and cannot be
-      // destroyed until construction finished or failed.
-      // Async construction is opt in, therefore we start as
-      // constructed.
-      constructed: makeBitMapDescriptor(kConstructed),
-      // A flag to be able to tell if the event 'readable'/'data' is emitted
-      // immediately, or on a later tick.  We set this to true at first, because
-      // any actions that shouldn't happen until "later" should generally also
-      // not happen before the first read call.
-      sync: makeBitMapDescriptor(kSync),
-      // Whenever we return null, then we set a flag to say
-      // that we're awaiting a 'readable' event emission.
-      needReadable: makeBitMapDescriptor(kNeedReadable),
-      emittedReadable: makeBitMapDescriptor(kEmittedReadable),
-      readableListening: makeBitMapDescriptor(kReadableListening),
-      resumeScheduled: makeBitMapDescriptor(kResumeScheduled),
-      // True if the error was already emitted and should not be thrown again.
-      errorEmitted: makeBitMapDescriptor(kErrorEmitted),
-      emitClose: makeBitMapDescriptor(kEmitClose),
-      autoDestroy: makeBitMapDescriptor(kAutoDestroy),
-      // Has it been destroyed.
-      destroyed: makeBitMapDescriptor(kDestroyed),
-      // Indicates whether the stream has finished destroying.
-      closed: makeBitMapDescriptor(kClosed),
-      // True if close has been emitted or would have been emitted
-      // depending on emitClose.
-      closeEmitted: makeBitMapDescriptor(kCloseEmitted),
-      multiAwaitDrain: makeBitMapDescriptor(kMultiAwaitDrain),
-      // If true, a maybeReadMore has been scheduled.
-      readingMore: makeBitMapDescriptor(kReadingMore),
-      dataEmitted: makeBitMapDescriptor(kDataEmitted)
-    });
-    function ReadableState(options, stream, isDuplex) {
-      if (typeof isDuplex !== "boolean") isDuplex = stream instanceof require_duplex();
-      this.state = kEmitClose | kAutoDestroy | kConstructed | kSync;
-      if (options && options.objectMode) this.state |= kObjectMode;
-      if (isDuplex && options && options.readableObjectMode) this.state |= kObjectMode;
-      this.highWaterMark = options ? getHighWaterMark(this, options, "readableHighWaterMark", isDuplex) : getDefaultHighWaterMark(false);
-      this.buffer = new BufferList();
-      this.length = 0;
-      this.pipes = [];
-      this.flowing = null;
-      this[kPaused] = null;
-      if (options && options.emitClose === false) this.state &= ~kEmitClose;
-      if (options && options.autoDestroy === false) this.state &= ~kAutoDestroy;
-      this.errored = null;
-      this.defaultEncoding = options && options.defaultEncoding || "utf8";
-      this.awaitDrainWriters = null;
-      this.decoder = null;
-      this.encoding = null;
-      if (options && options.encoding) {
-        this.decoder = new StringDecoder(options.encoding);
-        this.encoding = options.encoding;
+    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 Readable(options) {
-      if (!(this instanceof Readable)) return new Readable(options);
-      const isDuplex = this instanceof require_duplex();
-      this._readableState = new ReadableState(options, this, isDuplex);
-      if (options) {
-        if (typeof options.read === "function") this._read = options.read;
-        if (typeof options.destroy === "function") this._destroy = options.destroy;
-        if (typeof options.construct === "function") this._construct = options.construct;
-        if (options.signal && !isDuplex) addAbortSignal(options.signal, this);
+    function getServerName(host) {
+      if (!host) {
+        return null;
       }
-      Stream.call(this, options);
-      destroyImpl.construct(this, () => {
-        if (this._readableState.needReadable) {
-          maybeReadMore(this, this._readableState);
-        }
-      });
+      assert.strictEqual(typeof host, "string");
+      const servername = getHostname(host);
+      if (net.isIP(servername)) {
+        return "";
+      }
+      return servername;
     }
-    Readable.prototype.destroy = destroyImpl.destroy;
-    Readable.prototype._undestroy = destroyImpl.undestroy;
-    Readable.prototype._destroy = function(err, cb) {
-      cb(err);
-    };
-    Readable.prototype[EE.captureRejectionSymbol] = function(err) {
-      this.destroy(err);
-    };
-    Readable.prototype[SymbolAsyncDispose] = function() {
-      let error3;
-      if (!this.destroyed) {
-        error3 = this.readableEnded ? null : new AbortError();
-        this.destroy(error3);
+    function deepClone(obj) {
+      return JSON.parse(JSON.stringify(obj));
+    }
+    function isAsyncIterable(obj) {
+      return !!(obj != null && typeof obj[Symbol.asyncIterator] === "function");
+    }
+    function isIterable(obj) {
+      return !!(obj != null && (typeof obj[Symbol.iterator] === "function" || typeof obj[Symbol.asyncIterator] === "function"));
+    }
+    function bodyLength(body) {
+      if (body == null) {
+        return 0;
+      } else if (isStream(body)) {
+        const state = body._readableState;
+        return state && state.objectMode === false && state.ended === true && Number.isFinite(state.length) ? state.length : null;
+      } else if (isBlobLike(body)) {
+        return body.size != null ? body.size : null;
+      } else if (isBuffer(body)) {
+        return body.byteLength;
       }
-      return new Promise2((resolve3, reject) => eos(this, (err) => err && err !== error3 ? reject(err) : resolve3(null)));
-    };
-    Readable.prototype.push = function(chunk, encoding) {
-      return readableAddChunk(this, chunk, encoding, false);
-    };
-    Readable.prototype.unshift = function(chunk, encoding) {
-      return readableAddChunk(this, chunk, encoding, true);
-    };
-    function readableAddChunk(stream, chunk, encoding, addToFront) {
-      debug4("readableAddChunk", chunk);
-      const state = stream._readableState;
-      let err;
-      if ((state.state & kObjectMode) === 0) {
-        if (typeof chunk === "string") {
-          encoding = encoding || state.defaultEncoding;
-          if (state.encoding !== encoding) {
-            if (addToFront && state.encoding) {
-              chunk = Buffer2.from(chunk, encoding).toString(state.encoding);
-            } else {
-              chunk = Buffer2.from(chunk, encoding);
-              encoding = "";
-            }
-          }
-        } else if (chunk instanceof Buffer2) {
-          encoding = "";
-        } else if (Stream._isUint8Array(chunk)) {
-          chunk = Stream._uint8ArrayToBuffer(chunk);
-          encoding = "";
-        } else if (chunk != null) {
-          err = new ERR_INVALID_ARG_TYPE2("chunk", ["string", "Buffer", "Uint8Array"], chunk);
+      return null;
+    }
+    function isDestroyed(stream2) {
+      return !stream2 || !!(stream2.destroyed || stream2[kDestroyed]);
+    }
+    function isReadableAborted(stream2) {
+      const state = stream2 && stream2._readableState;
+      return isDestroyed(stream2) && state && !state.endEmitted;
+    }
+    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) {
+        process.nextTick((stream3, err2) => {
+          stream3.emit("error", err2);
+        }, stream2, err);
       }
-      if (err) {
-        errorOrDestroy(stream, err);
-      } else if (chunk === null) {
-        state.state &= ~kReading;
-        onEofChunk(stream, state);
-      } else if ((state.state & kObjectMode) !== 0 || chunk && chunk.length > 0) {
-        if (addToFront) {
-          if ((state.state & kEndEmitted) !== 0) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());
-          else if (state.destroyed || state.errored) return false;
-          else addChunk(stream, state, chunk, true);
-        } else if (state.ended) {
-          errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());
-        } else if (state.destroyed || state.errored) {
-          return false;
-        } else {
-          state.state &= ~kReading;
-          if (state.decoder && !encoding) {
-            chunk = state.decoder.write(chunk);
-            if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);
-            else maybeReadMore(stream, state);
+      if (stream2.destroyed !== true) {
+        stream2[kDestroyed] = true;
+      }
+    }
+    var KEEPALIVE_TIMEOUT_EXPR = /timeout=(\d+)/;
+    function parseKeepAliveTimeout(val) {
+      const m = val.toString().match(KEEPALIVE_TIMEOUT_EXPR);
+      return m ? parseInt(m[1], 10) * 1e3 : null;
+    }
+    function headerNameToString(value) {
+      return headerNameLowerCasedRecord[value] || value.toLowerCase();
+    }
+    function parseHeaders(headers, obj = {}) {
+      if (!Array.isArray(headers)) return headers;
+      for (let i = 0; i < headers.length; i += 2) {
+        const key = headers[i].toString().toLowerCase();
+        let val = obj[key];
+        if (!val) {
+          if (Array.isArray(headers[i + 1])) {
+            obj[key] = headers[i + 1].map((x) => x.toString("utf8"));
           } else {
-            addChunk(stream, state, chunk, false);
+            obj[key] = headers[i + 1].toString("utf8");
+          }
+        } else {
+          if (!Array.isArray(val)) {
+            val = [val];
+            obj[key] = val;
           }
+          val.push(headers[i + 1].toString("utf8"));
         }
-      } else if (!addToFront) {
-        state.state &= ~kReading;
-        maybeReadMore(stream, state);
       }
-      return !state.ended && (state.length < state.highWaterMark || state.length === 0);
+      if ("content-length" in obj && "content-disposition" in obj) {
+        obj["content-disposition"] = Buffer.from(obj["content-disposition"]).toString("latin1");
+      }
+      return obj;
     }
-    function addChunk(stream, state, chunk, addToFront) {
-      if (state.flowing && state.length === 0 && !state.sync && stream.listenerCount("data") > 0) {
-        if ((state.state & kMultiAwaitDrain) !== 0) {
-          state.awaitDrainWriters.clear();
+    function parseRawHeaders(headers) {
+      const ret = [];
+      let hasContentLength = false;
+      let contentDispositionIdx = -1;
+      for (let n = 0; n < headers.length; n += 2) {
+        const key = headers[n + 0].toString();
+        const val = headers[n + 1].toString("utf8");
+        if (key.length === 14 && (key === "content-length" || key.toLowerCase() === "content-length")) {
+          ret.push(key, val);
+          hasContentLength = true;
+        } else if (key.length === 19 && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
+          contentDispositionIdx = ret.push(key, val) - 1;
         } else {
-          state.awaitDrainWriters = null;
+          ret.push(key, val);
         }
-        state.dataEmitted = true;
-        stream.emit("data", chunk);
-      } else {
-        state.length += state.objectMode ? 1 : chunk.length;
-        if (addToFront) state.buffer.unshift(chunk);
-        else state.buffer.push(chunk);
-        if ((state.state & kNeedReadable) !== 0) emitReadable(stream);
       }
-      maybeReadMore(stream, state);
+      if (hasContentLength && contentDispositionIdx !== -1) {
+        ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1");
+      }
+      return ret;
     }
-    Readable.prototype.isPaused = function() {
-      const state = this._readableState;
-      return state[kPaused] === true || state.flowing === false;
-    };
-    Readable.prototype.setEncoding = function(enc) {
-      const decoder = new StringDecoder(enc);
-      this._readableState.decoder = decoder;
-      this._readableState.encoding = this._readableState.decoder.encoding;
-      const buffer = this._readableState.buffer;
-      let content = "";
-      for (const data of buffer) {
-        content += decoder.write(data);
+    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");
       }
-      buffer.clear();
-      if (content !== "") buffer.push(content);
-      this._readableState.length = content.length;
-      return this;
-    };
-    var MAX_HWM = 1073741824;
-    function computeNewHighWaterMark(n) {
-      if (n > MAX_HWM) {
-        throw new ERR_OUT_OF_RANGE("size", "<= 1GiB", n);
+      if (typeof handler2.onConnect !== "function") {
+        throw new InvalidArgumentError("invalid onConnect method");
+      }
+      if (typeof handler2.onError !== "function") {
+        throw new InvalidArgumentError("invalid onError method");
+      }
+      if (typeof handler2.onBodySent !== "function" && handler2.onBodySent !== void 0) {
+        throw new InvalidArgumentError("invalid onBodySent method");
+      }
+      if (upgrade || method === "CONNECT") {
+        if (typeof handler2.onUpgrade !== "function") {
+          throw new InvalidArgumentError("invalid onUpgrade method");
+        }
       } else {
-        n--;
-        n |= n >>> 1;
-        n |= n >>> 2;
-        n |= n >>> 4;
-        n |= n >>> 8;
-        n |= n >>> 16;
-        n++;
+        if (typeof handler2.onHeaders !== "function") {
+          throw new InvalidArgumentError("invalid onHeaders method");
+        }
+        if (typeof handler2.onData !== "function") {
+          throw new InvalidArgumentError("invalid onData method");
+        }
+        if (typeof handler2.onComplete !== "function") {
+          throw new InvalidArgumentError("invalid onComplete method");
+        }
       }
-      return n;
     }
-    function howMuchToRead(n, state) {
-      if (n <= 0 || state.length === 0 && state.ended) return 0;
-      if ((state.state & kObjectMode) !== 0) return 1;
-      if (NumberIsNaN(n)) {
-        if (state.flowing && state.length) return state.buffer.first().length;
-        return state.length;
-      }
-      if (n <= state.length) return n;
-      return state.ended ? state.length : 0;
+    function isDisturbed(body) {
+      return !!(body && (stream.isDisturbed ? stream.isDisturbed(body) || body[kBodyUsed] : body[kBodyUsed] || body.readableDidRead || body._readableState && body._readableState.dataEmitted || isReadableAborted(body)));
     }
-    Readable.prototype.read = function(n) {
-      debug4("read", n);
-      if (n === void 0) {
-        n = NaN;
-      } else if (!NumberIsInteger(n)) {
-        n = NumberParseInt(n, 10);
-      }
-      const state = this._readableState;
-      const nOrig = n;
-      if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);
-      if (n !== 0) state.state &= ~kEmittedReadable;
-      if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {
-        debug4("read: emitReadable", state.length, state.ended);
-        if (state.length === 0 && state.ended) endReadable(this);
-        else emitReadable(this);
-        return null;
+    function isErrored(body) {
+      return !!(body && (stream.isErrored ? stream.isErrored(body) : /state: 'errored'/.test(
+        nodeUtil.inspect(body)
+      )));
+    }
+    function isReadable(body) {
+      return !!(body && (stream.isReadable ? stream.isReadable(body) : /state: 'readable'/.test(
+        nodeUtil.inspect(body)
+      )));
+    }
+    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
+      };
+    }
+    async function* convertIterableToBuffer(iterable) {
+      for await (const chunk of iterable) {
+        yield Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
       }
-      n = howMuchToRead(n, state);
-      if (n === 0 && state.ended) {
-        if (state.length === 0) endReadable(this);
-        return null;
+    }
+    var ReadableStream2;
+    function ReadableStreamFrom(iterable) {
+      if (!ReadableStream2) {
+        ReadableStream2 = require("stream/web").ReadableStream;
       }
-      let doRead = (state.state & kNeedReadable) !== 0;
-      debug4("need readable", doRead);
-      if (state.length === 0 || state.length - n < state.highWaterMark) {
-        doRead = true;
-        debug4("length less than watermark", doRead);
+      if (ReadableStream2.from) {
+        return ReadableStream2.from(convertIterableToBuffer(iterable));
       }
-      if (state.ended || state.reading || state.destroyed || state.errored || !state.constructed) {
-        doRead = false;
-        debug4("reading, ended or constructing", doRead);
-      } else if (doRead) {
-        debug4("do read");
-        state.state |= kReading | kSync;
-        if (state.length === 0) state.state |= kNeedReadable;
-        try {
-          this._read(state.highWaterMark);
-        } catch (err) {
-          errorOrDestroy(this, err);
-        }
-        state.state &= ~kSync;
-        if (!state.reading) n = howMuchToRead(nOrig, state);
+      let iterator2;
+      return new ReadableStream2(
+        {
+          async start() {
+            iterator2 = iterable[Symbol.asyncIterator]();
+          },
+          async pull(controller) {
+            const { done, value } = await iterator2.next();
+            if (done) {
+              queueMicrotask(() => {
+                controller.close();
+              });
+            } else {
+              const buf = Buffer.isBuffer(value) ? value : Buffer.from(value);
+              controller.enqueue(new Uint8Array(buf));
+            }
+            return controller.desiredSize > 0;
+          },
+          async cancel(reason) {
+            await iterator2.return();
+          }
+        },
+        0
+      );
+    }
+    function isFormDataLike(object) {
+      return object && typeof object === "object" && typeof object.append === "function" && typeof object.delete === "function" && typeof object.get === "function" && typeof object.getAll === "function" && typeof object.has === "function" && typeof object.set === "function" && object[Symbol.toStringTag] === "FormData";
+    }
+    function throwIfAborted(signal) {
+      if (!signal) {
+        return;
       }
-      let ret;
-      if (n > 0) ret = fromList(n, state);
-      else ret = null;
-      if (ret === null) {
-        state.needReadable = state.length <= state.highWaterMark;
-        n = 0;
+      if (typeof signal.throwIfAborted === "function") {
+        signal.throwIfAborted();
       } else {
-        state.length -= n;
-        if (state.multiAwaitDrain) {
-          state.awaitDrainWriters.clear();
-        } else {
-          state.awaitDrainWriters = null;
+        if (signal.aborted) {
+          const err = new Error("The operation was aborted");
+          err.name = "AbortError";
+          throw err;
         }
       }
-      if (state.length === 0) {
-        if (!state.ended) state.needReadable = true;
-        if (nOrig !== n && state.ended) endReadable(this);
+    }
+    function addAbortListener(signal, listener) {
+      if ("addEventListener" in signal) {
+        signal.addEventListener("abort", listener, { once: true });
+        return () => signal.removeEventListener("abort", listener);
       }
-      if (ret !== null && !state.errorEmitted && !state.closeEmitted) {
-        state.dataEmitted = true;
-        this.emit("data", ret);
+      signal.addListener("abort", listener);
+      return () => signal.removeListener("abort", listener);
+    }
+    var hasToWellFormed = !!String.prototype.toWellFormed;
+    function toUSVString(val) {
+      if (hasToWellFormed) {
+        return `${val}`.toWellFormed();
+      } else if (nodeUtil.toUSVString) {
+        return nodeUtil.toUSVString(val);
       }
-      return ret;
+      return `${val}`;
+    }
+    function parseRangeHeader(range) {
+      if (range == null || range === "") return { start: 0, end: null, size: null };
+      const m = range ? range.match(/^bytes (\d+)-(\d+)\/(\d+)?$/) : null;
+      return m ? {
+        start: parseInt(m[1]),
+        end: m[2] ? parseInt(m[2]) : null,
+        size: m[3] ? parseInt(m[3]) : null
+      } : null;
+    }
+    var kEnumerableProperty = /* @__PURE__ */ Object.create(null);
+    kEnumerableProperty.enumerable = true;
+    module2.exports = {
+      kEnumerableProperty,
+      nop,
+      isDisturbed,
+      isErrored,
+      isReadable,
+      toUSVString,
+      isReadableAborted,
+      isBlobLike,
+      parseOrigin,
+      parseURL,
+      getServerName,
+      isStream,
+      isIterable,
+      isAsyncIterable,
+      isDestroyed,
+      headerNameToString,
+      parseRawHeaders,
+      parseHeaders,
+      parseKeepAliveTimeout,
+      destroy,
+      bodyLength,
+      deepClone,
+      ReadableStreamFrom,
+      isBuffer,
+      validateHandler,
+      getSocketInfo,
+      isFormDataLike,
+      buildURL,
+      throwIfAborted,
+      addAbortListener,
+      parseRangeHeader,
+      nodeMajor,
+      nodeMinor,
+      nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13,
+      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"]
     };
-    function onEofChunk(stream, state) {
-      debug4("onEofChunk");
-      if (state.ended) return;
-      if (state.decoder) {
-        const chunk = state.decoder.end();
-        if (chunk && chunk.length) {
-          state.buffer.push(chunk);
-          state.length += state.objectMode ? 1 : chunk.length;
+  }
+});
+
+// node_modules/undici/lib/timers.js
+var require_timers3 = __commonJS({
+  "node_modules/undici/lib/timers.js"(exports2, module2) {
+    "use strict";
+    var fastNow = Date.now();
+    var fastNowTimeout;
+    var fastTimers = [];
+    function onTimeout() {
+      fastNow = Date.now();
+      let len = fastTimers.length;
+      let idx = 0;
+      while (idx < len) {
+        const timer = fastTimers[idx];
+        if (timer.state === 0) {
+          timer.state = fastNow + timer.delay;
+        } else if (timer.state > 0 && fastNow >= timer.state) {
+          timer.state = -1;
+          timer.callback(timer.opaque);
+        }
+        if (timer.state === -1) {
+          timer.state = -2;
+          if (idx !== len - 1) {
+            fastTimers[idx] = fastTimers.pop();
+          } else {
+            fastTimers.pop();
+          }
+          len -= 1;
+        } else {
+          idx += 1;
         }
       }
-      state.ended = true;
-      if (state.sync) {
-        emitReadable(stream);
-      } else {
-        state.needReadable = false;
-        state.emittedReadable = true;
-        emitReadable_(stream);
+      if (fastTimers.length > 0) {
+        refreshTimeout();
       }
     }
-    function emitReadable(stream) {
-      const state = stream._readableState;
-      debug4("emitReadable", state.needReadable, state.emittedReadable);
-      state.needReadable = false;
-      if (!state.emittedReadable) {
-        debug4("emitReadable", state.flowing);
-        state.emittedReadable = true;
-        process2.nextTick(emitReadable_, stream);
+    function refreshTimeout() {
+      if (fastNowTimeout && fastNowTimeout.refresh) {
+        fastNowTimeout.refresh();
+      } else {
+        clearTimeout(fastNowTimeout);
+        fastNowTimeout = setTimeout(onTimeout, 1e3);
+        if (fastNowTimeout.unref) {
+          fastNowTimeout.unref();
+        }
       }
     }
-    function emitReadable_(stream) {
-      const state = stream._readableState;
-      debug4("emitReadable_", state.destroyed, state.length, state.ended);
-      if (!state.destroyed && !state.errored && (state.length || state.ended)) {
-        stream.emit("readable");
-        state.emittedReadable = false;
+    var Timeout = class {
+      constructor(callback, delay, opaque) {
+        this.callback = callback;
+        this.delay = delay;
+        this.opaque = opaque;
+        this.state = -2;
+        this.refresh();
+      }
+      refresh() {
+        if (this.state === -2) {
+          fastTimers.push(this);
+          if (!fastNowTimeout || fastTimers.length === 1) {
+            refreshTimeout();
+          }
+        }
+        this.state = 0;
+      }
+      clear() {
+        this.state = -1;
+      }
+    };
+    module2.exports = {
+      setTimeout(callback, delay, opaque) {
+        return delay < 1e3 ? setTimeout(callback, delay, opaque) : new Timeout(callback, delay, opaque);
+      },
+      clearTimeout(timeout) {
+        if (timeout instanceof Timeout) {
+          timeout.clear();
+        } else {
+          clearTimeout(timeout);
+        }
+      }
+    };
+  }
+});
+
+// node_modules/@fastify/busboy/deps/streamsearch/sbmh.js
+var require_sbmh = __commonJS({
+  "node_modules/@fastify/busboy/deps/streamsearch/sbmh.js"(exports2, module2) {
+    "use strict";
+    var EventEmitter = require("node:events").EventEmitter;
+    var inherits = require("node:util").inherits;
+    function SBMH(needle) {
+      if (typeof needle === "string") {
+        needle = Buffer.from(needle);
+      }
+      if (!Buffer.isBuffer(needle)) {
+        throw new TypeError("The needle has to be a String or a Buffer.");
       }
-      state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;
-      flow(stream);
-    }
-    function maybeReadMore(stream, state) {
-      if (!state.readingMore && state.constructed) {
-        state.readingMore = true;
-        process2.nextTick(maybeReadMore_, stream, state);
+      const needleLength = needle.length;
+      if (needleLength === 0) {
+        throw new Error("The needle cannot be an empty String/Buffer.");
       }
-    }
-    function maybeReadMore_(stream, state) {
-      while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {
-        const len = state.length;
-        debug4("maybeReadMore read 0");
-        stream.read(0);
-        if (len === state.length)
-          break;
+      if (needleLength > 256) {
+        throw new Error("The needle cannot have a length bigger than 256.");
+      }
+      this.maxMatches = Infinity;
+      this.matches = 0;
+      this._occ = new Array(256).fill(needleLength);
+      this._lookbehind_size = 0;
+      this._needle = needle;
+      this._bufpos = 0;
+      this._lookbehind = Buffer.alloc(needleLength);
+      for (var i = 0; i < needleLength - 1; ++i) {
+        this._occ[needle[i]] = needleLength - 1 - i;
       }
-      state.readingMore = false;
     }
-    Readable.prototype._read = function(n) {
-      throw new ERR_METHOD_NOT_IMPLEMENTED("_read()");
+    inherits(SBMH, EventEmitter);
+    SBMH.prototype.reset = function() {
+      this._lookbehind_size = 0;
+      this.matches = 0;
+      this._bufpos = 0;
     };
-    Readable.prototype.pipe = function(dest, pipeOpts) {
-      const src = this;
-      const state = this._readableState;
-      if (state.pipes.length === 1) {
-        if (!state.multiAwaitDrain) {
-          state.multiAwaitDrain = true;
-          state.awaitDrainWriters = new SafeSet(state.awaitDrainWriters ? [state.awaitDrainWriters] : []);
-        }
-      }
-      state.pipes.push(dest);
-      debug4("pipe count=%d opts=%j", state.pipes.length, pipeOpts);
-      const doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process2.stdout && dest !== process2.stderr;
-      const endFn = doEnd ? onend : unpipe;
-      if (state.endEmitted) process2.nextTick(endFn);
-      else src.once("end", endFn);
-      dest.on("unpipe", onunpipe);
-      function onunpipe(readable, unpipeInfo) {
-        debug4("onunpipe");
-        if (readable === src) {
-          if (unpipeInfo && unpipeInfo.hasUnpiped === false) {
-            unpipeInfo.hasUnpiped = true;
-            cleanup();
-          }
-        }
-      }
-      function onend() {
-        debug4("onend");
-        dest.end();
+    SBMH.prototype.push = function(chunk, pos) {
+      if (!Buffer.isBuffer(chunk)) {
+        chunk = Buffer.from(chunk, "binary");
       }
-      let ondrain;
-      let cleanedUp = false;
-      function cleanup() {
-        debug4("cleanup");
-        dest.removeListener("close", onclose);
-        dest.removeListener("finish", onfinish);
-        if (ondrain) {
-          dest.removeListener("drain", ondrain);
-        }
-        dest.removeListener("error", onerror);
-        dest.removeListener("unpipe", onunpipe);
-        src.removeListener("end", onend);
-        src.removeListener("end", unpipe);
-        src.removeListener("data", ondata);
-        cleanedUp = true;
-        if (ondrain && state.awaitDrainWriters && (!dest._writableState || dest._writableState.needDrain)) ondrain();
+      const chlen = chunk.length;
+      this._bufpos = pos || 0;
+      let r;
+      while (r !== chlen && this.matches < this.maxMatches) {
+        r = this._sbmh_feed(chunk);
       }
-      function pause() {
-        if (!cleanedUp) {
-          if (state.pipes.length === 1 && state.pipes[0] === dest) {
-            debug4("false write response, pause", 0);
-            state.awaitDrainWriters = dest;
-            state.multiAwaitDrain = false;
-          } else if (state.pipes.length > 1 && state.pipes.includes(dest)) {
-            debug4("false write response, pause", state.awaitDrainWriters.size);
-            state.awaitDrainWriters.add(dest);
+      return r;
+    };
+    SBMH.prototype._sbmh_feed = function(data) {
+      const len = data.length;
+      const needle = this._needle;
+      const needleLength = needle.length;
+      const lastNeedleChar = needle[needleLength - 1];
+      let pos = -this._lookbehind_size;
+      let ch;
+      if (pos < 0) {
+        while (pos < 0 && pos <= len - needleLength) {
+          ch = this._sbmh_lookup_char(data, pos + needleLength - 1);
+          if (ch === lastNeedleChar && this._sbmh_memcmp(data, pos, needleLength - 1)) {
+            this._lookbehind_size = 0;
+            ++this.matches;
+            this.emit("info", true);
+            return this._bufpos = pos + needleLength;
           }
-          src.pause();
-        }
-        if (!ondrain) {
-          ondrain = pipeOnDrain(src, dest);
-          dest.on("drain", ondrain);
+          pos += this._occ[ch];
         }
-      }
-      src.on("data", ondata);
-      function ondata(chunk) {
-        debug4("ondata");
-        const ret = dest.write(chunk);
-        debug4("dest.write", ret);
-        if (ret === false) {
-          pause();
+        if (pos < 0) {
+          while (pos < 0 && !this._sbmh_memcmp(data, pos, len - pos)) {
+            ++pos;
+          }
         }
-      }
-      function onerror(er) {
-        debug4("onerror", er);
-        unpipe();
-        dest.removeListener("error", onerror);
-        if (dest.listenerCount("error") === 0) {
-          const s = dest._writableState || dest._readableState;
-          if (s && !s.errorEmitted) {
-            errorOrDestroy(dest, er);
-          } else {
-            dest.emit("error", er);
+        if (pos >= 0) {
+          this.emit("info", false, this._lookbehind, 0, this._lookbehind_size);
+          this._lookbehind_size = 0;
+        } else {
+          const bytesToCutOff = this._lookbehind_size + pos;
+          if (bytesToCutOff > 0) {
+            this.emit("info", false, this._lookbehind, 0, bytesToCutOff);
           }
+          this._lookbehind.copy(
+            this._lookbehind,
+            0,
+            bytesToCutOff,
+            this._lookbehind_size - bytesToCutOff
+          );
+          this._lookbehind_size -= bytesToCutOff;
+          data.copy(this._lookbehind, this._lookbehind_size);
+          this._lookbehind_size += len;
+          this._bufpos = len;
+          return len;
         }
       }
-      prependListener(dest, "error", onerror);
-      function onclose() {
-        dest.removeListener("finish", onfinish);
-        unpipe();
+      pos += (pos >= 0) * this._bufpos;
+      if (data.indexOf(needle, pos) !== -1) {
+        pos = data.indexOf(needle, pos);
+        ++this.matches;
+        if (pos > 0) {
+          this.emit("info", true, data, this._bufpos, pos);
+        } else {
+          this.emit("info", true);
+        }
+        return this._bufpos = pos + needleLength;
+      } else {
+        pos = len - needleLength;
       }
-      dest.once("close", onclose);
-      function onfinish() {
-        debug4("onfinish");
-        dest.removeListener("close", onclose);
-        unpipe();
+      while (pos < len && (data[pos] !== needle[0] || Buffer.compare(
+        data.subarray(pos, pos + len - pos),
+        needle.subarray(0, len - pos)
+      ) !== 0)) {
+        ++pos;
       }
-      dest.once("finish", onfinish);
-      function unpipe() {
-        debug4("unpipe");
-        src.unpipe(dest);
+      if (pos < len) {
+        data.copy(this._lookbehind, 0, pos, pos + (len - pos));
+        this._lookbehind_size = len - pos;
       }
-      dest.emit("pipe", src);
-      if (dest.writableNeedDrain === true) {
-        pause();
-      } else if (!state.flowing) {
-        debug4("pipe resume");
-        src.resume();
+      if (pos > 0) {
+        this.emit("info", false, data, this._bufpos, pos < len ? pos : len);
       }
-      return dest;
+      this._bufpos = len;
+      return len;
     };
-    function pipeOnDrain(src, dest) {
-      return function pipeOnDrainFunctionResult() {
-        const state = src._readableState;
-        if (state.awaitDrainWriters === dest) {
-          debug4("pipeOnDrain", 1);
-          state.awaitDrainWriters = null;
-        } else if (state.multiAwaitDrain) {
-          debug4("pipeOnDrain", state.awaitDrainWriters.size);
-          state.awaitDrainWriters.delete(dest);
-        }
-        if ((!state.awaitDrainWriters || state.awaitDrainWriters.size === 0) && src.listenerCount("data")) {
-          src.resume();
+    SBMH.prototype._sbmh_lookup_char = function(data, pos) {
+      return pos < 0 ? this._lookbehind[this._lookbehind_size + pos] : data[pos];
+    };
+    SBMH.prototype._sbmh_memcmp = function(data, pos, len) {
+      for (var i = 0; i < len; ++i) {
+        if (this._sbmh_lookup_char(data, pos + i) !== this._needle[i]) {
+          return false;
         }
-      };
+      }
+      return true;
+    };
+    module2.exports = SBMH;
+  }
+});
+
+// node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js
+var require_PartStream = __commonJS({
+  "node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js"(exports2, module2) {
+    "use strict";
+    var inherits = require("node:util").inherits;
+    var ReadableStream2 = require("node:stream").Readable;
+    function PartStream(opts) {
+      ReadableStream2.call(this, opts);
     }
-    Readable.prototype.unpipe = function(dest) {
-      const state = this._readableState;
-      const unpipeInfo = {
-        hasUnpiped: false
-      };
-      if (state.pipes.length === 0) return this;
-      if (!dest) {
-        const dests = state.pipes;
-        state.pipes = [];
-        this.pause();
-        for (let i = 0; i < dests.length; i++)
-          dests[i].emit("unpipe", this, {
-            hasUnpiped: false
-          });
-        return this;
+    inherits(PartStream, ReadableStream2);
+    PartStream.prototype._read = function(n) {
+    };
+    module2.exports = PartStream;
+  }
+});
+
+// node_modules/@fastify/busboy/lib/utils/getLimit.js
+var require_getLimit = __commonJS({
+  "node_modules/@fastify/busboy/lib/utils/getLimit.js"(exports2, module2) {
+    "use strict";
+    module2.exports = function getLimit(limits, name, defaultLimit) {
+      if (!limits || limits[name] === void 0 || limits[name] === null) {
+        return defaultLimit;
       }
-      const index = ArrayPrototypeIndexOf(state.pipes, dest);
-      if (index === -1) return this;
-      state.pipes.splice(index, 1);
-      if (state.pipes.length === 0) this.pause();
-      dest.emit("unpipe", this, unpipeInfo);
-      return this;
+      if (typeof limits[name] !== "number" || isNaN(limits[name])) {
+        throw new TypeError("Limit " + name + " is not a valid number");
+      }
+      return limits[name];
     };
-    Readable.prototype.on = function(ev, fn) {
-      const res = Stream.prototype.on.call(this, ev, fn);
-      const state = this._readableState;
-      if (ev === "data") {
-        state.readableListening = this.listenerCount("readable") > 0;
-        if (state.flowing !== false) this.resume();
-      } else if (ev === "readable") {
-        if (!state.endEmitted && !state.readableListening) {
-          state.readableListening = state.needReadable = true;
-          state.flowing = false;
-          state.emittedReadable = false;
-          debug4("on readable", state.length, state.reading);
-          if (state.length) {
-            emitReadable(this);
-          } else if (!state.reading) {
-            process2.nextTick(nReadingNextTick, this);
+  }
+});
+
+// node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js
+var require_HeaderParser = __commonJS({
+  "node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js"(exports2, module2) {
+    "use strict";
+    var EventEmitter = require("node:events").EventEmitter;
+    var inherits = require("node:util").inherits;
+    var getLimit = require_getLimit();
+    var StreamSearch = require_sbmh();
+    var B_DCRLF = Buffer.from("\r\n\r\n");
+    var RE_CRLF = /\r\n/g;
+    var RE_HDR = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/;
+    function HeaderParser(cfg) {
+      EventEmitter.call(this);
+      cfg = cfg || {};
+      const self2 = this;
+      this.nread = 0;
+      this.maxed = false;
+      this.npairs = 0;
+      this.maxHeaderPairs = getLimit(cfg, "maxHeaderPairs", 2e3);
+      this.maxHeaderSize = getLimit(cfg, "maxHeaderSize", 80 * 1024);
+      this.buffer = "";
+      this.header = {};
+      this.finished = false;
+      this.ss = new StreamSearch(B_DCRLF);
+      this.ss.on("info", function(isMatch, data, start, end) {
+        if (data && !self2.maxed) {
+          if (self2.nread + end - start >= self2.maxHeaderSize) {
+            end = self2.maxHeaderSize - self2.nread + start;
+            self2.nread = self2.maxHeaderSize;
+            self2.maxed = true;
+          } else {
+            self2.nread += end - start;
           }
+          self2.buffer += data.toString("binary", start, end);
+        }
+        if (isMatch) {
+          self2._finish();
         }
+      });
+    }
+    inherits(HeaderParser, EventEmitter);
+    HeaderParser.prototype.push = function(data) {
+      const r = this.ss.push(data);
+      if (this.finished) {
+        return r;
       }
-      return res;
     };
-    Readable.prototype.addListener = Readable.prototype.on;
-    Readable.prototype.removeListener = function(ev, fn) {
-      const res = Stream.prototype.removeListener.call(this, ev, fn);
-      if (ev === "readable") {
-        process2.nextTick(updateReadableListening, this);
-      }
-      return res;
+    HeaderParser.prototype.reset = function() {
+      this.finished = false;
+      this.buffer = "";
+      this.header = {};
+      this.ss.reset();
     };
-    Readable.prototype.off = Readable.prototype.removeListener;
-    Readable.prototype.removeAllListeners = function(ev) {
-      const res = Stream.prototype.removeAllListeners.apply(this, arguments);
-      if (ev === "readable" || ev === void 0) {
-        process2.nextTick(updateReadableListening, this);
+    HeaderParser.prototype._finish = function() {
+      if (this.buffer) {
+        this._parseHeader();
       }
-      return res;
+      this.ss.matches = this.ss.maxMatches;
+      const header = this.header;
+      this.header = {};
+      this.buffer = "";
+      this.finished = true;
+      this.nread = this.npairs = 0;
+      this.maxed = false;
+      this.emit("header", header);
     };
-    function updateReadableListening(self2) {
-      const state = self2._readableState;
-      state.readableListening = self2.listenerCount("readable") > 0;
-      if (state.resumeScheduled && state[kPaused] === false) {
-        state.flowing = true;
-      } else if (self2.listenerCount("data") > 0) {
-        self2.resume();
-      } else if (!state.readableListening) {
-        state.flowing = null;
+    HeaderParser.prototype._parseHeader = function() {
+      if (this.npairs === this.maxHeaderPairs) {
+        return;
       }
-    }
-    function nReadingNextTick(self2) {
-      debug4("readable nexttick read 0");
-      self2.read(0);
-    }
-    Readable.prototype.resume = function() {
-      const state = this._readableState;
-      if (!state.flowing) {
-        debug4("resume");
-        state.flowing = !state.readableListening;
-        resume(this, state);
+      const lines = this.buffer.split(RE_CRLF);
+      const len = lines.length;
+      let m, h;
+      for (var i = 0; i < len; ++i) {
+        if (lines[i].length === 0) {
+          continue;
+        }
+        if (lines[i][0] === "	" || lines[i][0] === " ") {
+          if (h) {
+            this.header[h][this.header[h].length - 1] += lines[i];
+            continue;
+          }
+        }
+        const posColon = lines[i].indexOf(":");
+        if (posColon === -1 || posColon === 0) {
+          return;
+        }
+        m = RE_HDR.exec(lines[i]);
+        h = m[1].toLowerCase();
+        this.header[h] = this.header[h] || [];
+        this.header[h].push(m[2] || "");
+        if (++this.npairs === this.maxHeaderPairs) {
+          break;
+        }
       }
-      state[kPaused] = false;
-      return this;
     };
-    function resume(stream, state) {
-      if (!state.resumeScheduled) {
-        state.resumeScheduled = true;
-        process2.nextTick(resume_, stream, state);
+    module2.exports = HeaderParser;
+  }
+});
+
+// node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js
+var require_Dicer = __commonJS({
+  "node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js"(exports2, module2) {
+    "use strict";
+    var WritableStream = require("node:stream").Writable;
+    var inherits = require("node:util").inherits;
+    var StreamSearch = require_sbmh();
+    var PartStream = require_PartStream();
+    var HeaderParser = require_HeaderParser();
+    var DASH = 45;
+    var B_ONEDASH = Buffer.from("-");
+    var B_CRLF = Buffer.from("\r\n");
+    var EMPTY_FN = function() {
+    };
+    function Dicer(cfg) {
+      if (!(this instanceof Dicer)) {
+        return new Dicer(cfg);
       }
-    }
-    function resume_(stream, state) {
-      debug4("resume", state.reading);
-      if (!state.reading) {
-        stream.read(0);
+      WritableStream.call(this, cfg);
+      if (!cfg || !cfg.headerFirst && typeof cfg.boundary !== "string") {
+        throw new TypeError("Boundary required");
       }
-      state.resumeScheduled = false;
-      stream.emit("resume");
-      flow(stream);
-      if (state.flowing && !state.reading) stream.read(0);
+      if (typeof cfg.boundary === "string") {
+        this.setBoundary(cfg.boundary);
+      } else {
+        this._bparser = void 0;
+      }
+      this._headerFirst = cfg.headerFirst;
+      this._dashes = 0;
+      this._parts = 0;
+      this._finished = false;
+      this._realFinish = false;
+      this._isPreamble = true;
+      this._justMatched = false;
+      this._firstWrite = true;
+      this._inHeader = true;
+      this._part = void 0;
+      this._cb = void 0;
+      this._ignoreData = false;
+      this._partOpts = { highWaterMark: cfg.partHwm };
+      this._pause = false;
+      const self2 = this;
+      this._hparser = new HeaderParser(cfg);
+      this._hparser.on("header", function(header) {
+        self2._inHeader = false;
+        self2._part.emit("header", header);
+      });
     }
-    Readable.prototype.pause = function() {
-      debug4("call pause flowing=%j", this._readableState.flowing);
-      if (this._readableState.flowing !== false) {
-        debug4("pause");
-        this._readableState.flowing = false;
-        this.emit("pause");
+    inherits(Dicer, WritableStream);
+    Dicer.prototype.emit = function(ev) {
+      if (ev === "finish" && !this._realFinish) {
+        if (!this._finished) {
+          const self2 = this;
+          process.nextTick(function() {
+            self2.emit("error", new Error("Unexpected end of multipart data"));
+            if (self2._part && !self2._ignoreData) {
+              const type2 = self2._isPreamble ? "Preamble" : "Part";
+              self2._part.emit("error", new Error(type2 + " terminated early due to unexpected end of multipart data"));
+              self2._part.push(null);
+              process.nextTick(function() {
+                self2._realFinish = true;
+                self2.emit("finish");
+                self2._realFinish = false;
+              });
+              return;
+            }
+            self2._realFinish = true;
+            self2.emit("finish");
+            self2._realFinish = false;
+          });
+        }
+      } else {
+        WritableStream.prototype.emit.apply(this, arguments);
       }
-      this._readableState[kPaused] = true;
-      return this;
     };
-    function flow(stream) {
-      const state = stream._readableState;
-      debug4("flow", state.flowing);
-      while (state.flowing && stream.read() !== null) ;
-    }
-    Readable.prototype.wrap = function(stream) {
-      let paused = false;
-      stream.on("data", (chunk) => {
-        if (!this.push(chunk) && stream.pause) {
-          paused = true;
-          stream.pause();
-        }
-      });
-      stream.on("end", () => {
-        this.push(null);
-      });
-      stream.on("error", (err) => {
-        errorOrDestroy(this, err);
-      });
-      stream.on("close", () => {
-        this.destroy();
-      });
-      stream.on("destroy", () => {
-        this.destroy();
-      });
-      this._read = () => {
-        if (paused && stream.resume) {
-          paused = false;
-          stream.resume();
+    Dicer.prototype._write = function(data, encoding, cb) {
+      if (!this._hparser && !this._bparser) {
+        return cb();
+      }
+      if (this._headerFirst && this._isPreamble) {
+        if (!this._part) {
+          this._part = new PartStream(this._partOpts);
+          if (this.listenerCount("preamble") !== 0) {
+            this.emit("preamble", this._part);
+          } else {
+            this._ignore();
+          }
         }
-      };
-      const streamKeys = ObjectKeys(stream);
-      for (let j = 1; j < streamKeys.length; j++) {
-        const i = streamKeys[j];
-        if (this[i] === void 0 && typeof stream[i] === "function") {
-          this[i] = stream[i].bind(stream);
+        const r = this._hparser.push(data);
+        if (!this._inHeader && r !== void 0 && r < data.length) {
+          data = data.slice(r);
+        } else {
+          return cb();
         }
       }
-      return this;
+      if (this._firstWrite) {
+        this._bparser.push(B_CRLF);
+        this._firstWrite = false;
+      }
+      this._bparser.push(data);
+      if (this._pause) {
+        this._cb = cb;
+      } else {
+        cb();
+      }
     };
-    Readable.prototype[SymbolAsyncIterator] = function() {
-      return streamToAsyncIterator(this);
+    Dicer.prototype.reset = function() {
+      this._part = void 0;
+      this._bparser = void 0;
+      this._hparser = void 0;
     };
-    Readable.prototype.iterator = function(options) {
-      if (options !== void 0) {
-        validateObject(options, "options");
-      }
-      return streamToAsyncIterator(this, options);
+    Dicer.prototype.setBoundary = function(boundary) {
+      const self2 = this;
+      this._bparser = new StreamSearch("\r\n--" + boundary);
+      this._bparser.on("info", function(isMatch, data, start, end) {
+        self2._oninfo(isMatch, data, start, end);
+      });
     };
-    function streamToAsyncIterator(stream, options) {
-      if (typeof stream.read !== "function") {
-        stream = Readable.wrap(stream, {
-          objectMode: true
-        });
-      }
-      const iter = createAsyncIterator(stream, options);
-      iter.stream = stream;
-      return iter;
-    }
-    async function* createAsyncIterator(stream, options) {
-      let callback = nop;
-      function next(resolve3) {
-        if (this === stream) {
-          callback();
-          callback = nop;
-        } else {
-          callback = resolve3;
-        }
+    Dicer.prototype._ignore = function() {
+      if (this._part && !this._ignoreData) {
+        this._ignoreData = true;
+        this._part.on("error", EMPTY_FN);
+        this._part.resume();
       }
-      stream.on("readable", next);
-      let error3;
-      const cleanup = eos(
-        stream,
-        {
-          writable: false
-        },
-        (err) => {
-          error3 = err ? aggregateTwoErrors(error3, err) : null;
-          callback();
-          callback = nop;
-        }
-      );
-      try {
-        while (true) {
-          const chunk = stream.destroyed ? null : stream.read();
-          if (chunk !== null) {
-            yield chunk;
-          } else if (error3) {
-            throw error3;
-          } else if (error3 === null) {
-            return;
+    };
+    Dicer.prototype._oninfo = function(isMatch, data, start, end) {
+      let buf;
+      const self2 = this;
+      let i = 0;
+      let r;
+      let shouldWriteMore = true;
+      if (!this._part && this._justMatched && data) {
+        while (this._dashes < 2 && start + i < end) {
+          if (data[start + i] === DASH) {
+            ++i;
+            ++this._dashes;
           } else {
-            await new Promise2(next);
+            if (this._dashes) {
+              buf = B_ONEDASH;
+            }
+            this._dashes = 0;
+            break;
           }
         }
-      } catch (err) {
-        error3 = aggregateTwoErrors(error3, err);
-        throw error3;
-      } finally {
-        if ((error3 || (options === null || options === void 0 ? void 0 : options.destroyOnReturn) !== false) && (error3 === void 0 || stream._readableState.autoDestroy)) {
-          destroyImpl.destroyer(stream, null);
-        } else {
-          stream.off("readable", next);
-          cleanup();
-        }
-      }
-    }
-    ObjectDefineProperties(Readable.prototype, {
-      readable: {
-        __proto__: null,
-        get() {
-          const r = this._readableState;
-          return !!r && r.readable !== false && !r.destroyed && !r.errorEmitted && !r.endEmitted;
-        },
-        set(val) {
-          if (this._readableState) {
-            this._readableState.readable = !!val;
+        if (this._dashes === 2) {
+          if (start + i < end && this.listenerCount("trailer") !== 0) {
+            this.emit("trailer", data.slice(start + i, end));
+          }
+          this.reset();
+          this._finished = true;
+          if (self2._parts === 0) {
+            self2._realFinish = true;
+            self2.emit("finish");
+            self2._realFinish = false;
           }
         }
-      },
-      readableDidRead: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return this._readableState.dataEmitted;
+        if (this._dashes) {
+          return;
         }
-      },
-      readableAborted: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return !!(this._readableState.readable !== false && (this._readableState.destroyed || this._readableState.errored) && !this._readableState.endEmitted);
+      }
+      if (this._justMatched) {
+        this._justMatched = false;
+      }
+      if (!this._part) {
+        this._part = new PartStream(this._partOpts);
+        this._part._read = function(n) {
+          self2._unpause();
+        };
+        if (this._isPreamble && this.listenerCount("preamble") !== 0) {
+          this.emit("preamble", this._part);
+        } else if (this._isPreamble !== true && this.listenerCount("part") !== 0) {
+          this.emit("part", this._part);
+        } else {
+          this._ignore();
         }
-      },
-      readableHighWaterMark: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return this._readableState.highWaterMark;
+        if (!this._isPreamble) {
+          this._inHeader = true;
         }
-      },
-      readableBuffer: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return this._readableState && this._readableState.buffer;
+      }
+      if (data && start < end && !this._ignoreData) {
+        if (this._isPreamble || !this._inHeader) {
+          if (buf) {
+            shouldWriteMore = this._part.push(buf);
+          }
+          shouldWriteMore = this._part.push(data.slice(start, end));
+          if (!shouldWriteMore) {
+            this._pause = true;
+          }
+        } else if (!this._isPreamble && this._inHeader) {
+          if (buf) {
+            this._hparser.push(buf);
+          }
+          r = this._hparser.push(data.slice(start, end));
+          if (!this._inHeader && r !== void 0 && r < end) {
+            this._oninfo(false, data, start + r, end);
+          }
         }
-      },
-      readableFlowing: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return this._readableState.flowing;
-        },
-        set: function(state) {
-          if (this._readableState) {
-            this._readableState.flowing = state;
+      }
+      if (isMatch) {
+        this._hparser.reset();
+        if (this._isPreamble) {
+          this._isPreamble = false;
+        } else {
+          if (start !== end) {
+            ++this._parts;
+            this._part.on("end", function() {
+              if (--self2._parts === 0) {
+                if (self2._finished) {
+                  self2._realFinish = true;
+                  self2.emit("finish");
+                  self2._realFinish = false;
+                } else {
+                  self2._unpause();
+                }
+              }
+            });
           }
         }
-      },
-      readableLength: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState.length;
+        this._part.push(null);
+        this._part = void 0;
+        this._ignoreData = false;
+        this._justMatched = true;
+        this._dashes = 0;
+      }
+    };
+    Dicer.prototype._unpause = function() {
+      if (!this._pause) {
+        return;
+      }
+      this._pause = false;
+      if (this._cb) {
+        const cb = this._cb;
+        this._cb = void 0;
+        cb();
+      }
+    };
+    module2.exports = Dicer;
+  }
+});
+
+// node_modules/@fastify/busboy/lib/utils/decodeText.js
+var require_decodeText = __commonJS({
+  "node_modules/@fastify/busboy/lib/utils/decodeText.js"(exports2, module2) {
+    "use strict";
+    var utf8Decoder = new TextDecoder("utf-8");
+    var textDecoders = /* @__PURE__ */ new Map([
+      ["utf-8", utf8Decoder],
+      ["utf8", utf8Decoder]
+    ]);
+    function getDecoder(charset) {
+      let lc;
+      while (true) {
+        switch (charset) {
+          case "utf-8":
+          case "utf8":
+            return decoders.utf8;
+          case "latin1":
+          case "ascii":
+          // TODO: Make these a separate, strict decoder?
+          case "us-ascii":
+          case "iso-8859-1":
+          case "iso8859-1":
+          case "iso88591":
+          case "iso_8859-1":
+          case "windows-1252":
+          case "iso_8859-1:1987":
+          case "cp1252":
+          case "x-cp1252":
+            return decoders.latin1;
+          case "utf16le":
+          case "utf-16le":
+          case "ucs2":
+          case "ucs-2":
+            return decoders.utf16le;
+          case "base64":
+            return decoders.base64;
+          default:
+            if (lc === void 0) {
+              lc = true;
+              charset = charset.toLowerCase();
+              continue;
+            }
+            return decoders.other.bind(charset);
         }
-      },
-      readableObjectMode: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState ? this._readableState.objectMode : false;
+      }
+    }
+    var decoders = {
+      utf8: (data, sourceEncoding) => {
+        if (data.length === 0) {
+          return "";
         }
-      },
-      readableEncoding: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState ? this._readableState.encoding : null;
+        if (typeof data === "string") {
+          data = Buffer.from(data, sourceEncoding);
         }
+        return data.utf8Slice(0, data.length);
       },
-      errored: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState ? this._readableState.errored : null;
+      latin1: (data, sourceEncoding) => {
+        if (data.length === 0) {
+          return "";
         }
-      },
-      closed: {
-        __proto__: null,
-        get() {
-          return this._readableState ? this._readableState.closed : false;
+        if (typeof data === "string") {
+          return data;
         }
+        return data.latin1Slice(0, data.length);
       },
-      destroyed: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState ? this._readableState.destroyed : false;
-        },
-        set(value) {
-          if (!this._readableState) {
-            return;
-          }
-          this._readableState.destroyed = value;
+      utf16le: (data, sourceEncoding) => {
+        if (data.length === 0) {
+          return "";
+        }
+        if (typeof data === "string") {
+          data = Buffer.from(data, sourceEncoding);
         }
+        return data.ucs2Slice(0, data.length);
       },
-      readableEnded: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState ? this._readableState.endEmitted : false;
+      base64: (data, sourceEncoding) => {
+        if (data.length === 0) {
+          return "";
         }
-      }
-    });
-    ObjectDefineProperties(ReadableState.prototype, {
-      // Legacy getter for `pipesCount`.
-      pipesCount: {
-        __proto__: null,
-        get() {
-          return this.pipes.length;
+        if (typeof data === "string") {
+          data = Buffer.from(data, sourceEncoding);
         }
+        return data.base64Slice(0, data.length);
       },
-      // Legacy property for `paused`.
-      paused: {
-        __proto__: null,
-        get() {
-          return this[kPaused] !== false;
-        },
-        set(value) {
-          this[kPaused] = !!value;
+      other: (data, sourceEncoding) => {
+        if (data.length === 0) {
+          return "";
         }
-      }
-    });
-    Readable._fromList = fromList;
-    function fromList(n, state) {
-      if (state.length === 0) return null;
-      let ret;
-      if (state.objectMode) ret = state.buffer.shift();
-      else if (!n || n >= state.length) {
-        if (state.decoder) ret = state.buffer.join("");
-        else if (state.buffer.length === 1) ret = state.buffer.first();
-        else ret = state.buffer.concat(state.length);
-        state.buffer.clear();
-      } else {
-        ret = state.buffer.consume(n, state.decoder);
-      }
-      return ret;
-    }
-    function endReadable(stream) {
-      const state = stream._readableState;
-      debug4("endReadable", state.endEmitted);
-      if (!state.endEmitted) {
-        state.ended = true;
-        process2.nextTick(endReadableNT, state, stream);
-      }
-    }
-    function endReadableNT(state, stream) {
-      debug4("endReadableNT", state.endEmitted, state.length);
-      if (!state.errored && !state.closeEmitted && !state.endEmitted && state.length === 0) {
-        state.endEmitted = true;
-        stream.emit("end");
-        if (stream.writable && stream.allowHalfOpen === false) {
-          process2.nextTick(endWritableNT, stream);
-        } else if (state.autoDestroy) {
-          const wState = stream._writableState;
-          const autoDestroy = !wState || wState.autoDestroy && // We don't expect the writable to ever 'finish'
-          // if writable is explicitly set to false.
-          (wState.finished || wState.writable === false);
-          if (autoDestroy) {
-            stream.destroy();
+        if (typeof data === "string") {
+          data = Buffer.from(data, sourceEncoding);
+        }
+        if (textDecoders.has(exports2.toString())) {
+          try {
+            return textDecoders.get(exports2).decode(data);
+          } catch {
           }
         }
+        return typeof data === "string" ? data : data.toString();
       }
-    }
-    function endWritableNT(stream) {
-      const writable = stream.writable && !stream.writableEnded && !stream.destroyed;
-      if (writable) {
-        stream.end();
-      }
-    }
-    Readable.from = function(iterable, opts) {
-      return from(Readable, iterable, opts);
-    };
-    var webStreamsAdapters;
-    function lazyWebStreams() {
-      if (webStreamsAdapters === void 0) webStreamsAdapters = {};
-      return webStreamsAdapters;
-    }
-    Readable.fromWeb = function(readableStream, options) {
-      return lazyWebStreams().newStreamReadableFromReadableStream(readableStream, options);
-    };
-    Readable.toWeb = function(streamReadable, options) {
-      return lazyWebStreams().newReadableStreamFromStreamReadable(streamReadable, options);
-    };
-    Readable.wrap = function(src, options) {
-      var _ref, _src$readableObjectMo;
-      return new Readable({
-        objectMode: (_ref = (_src$readableObjectMo = src.readableObjectMode) !== null && _src$readableObjectMo !== void 0 ? _src$readableObjectMo : src.objectMode) !== null && _ref !== void 0 ? _ref : true,
-        ...options,
-        destroy(err, callback) {
-          destroyImpl.destroyer(src, err);
-          callback(err);
-        }
-      }).wrap(src);
     };
+    function decodeText(text, sourceEncoding, destEncoding) {
+      if (text) {
+        return getDecoder(destEncoding)(text, sourceEncoding);
+      }
+      return text;
+    }
+    module2.exports = decodeText;
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/writable.js
-var require_writable = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/writable.js"(exports2, module2) {
-    var process2 = require_process();
-    var {
-      ArrayPrototypeSlice,
-      Error: Error2,
-      FunctionPrototypeSymbolHasInstance,
-      ObjectDefineProperty,
-      ObjectDefineProperties,
-      ObjectSetPrototypeOf,
-      StringPrototypeToLowerCase,
-      Symbol: Symbol2,
-      SymbolHasInstance
-    } = require_primordials();
-    module2.exports = Writable;
-    Writable.WritableState = WritableState;
-    var { EventEmitter: EE } = require("events");
-    var Stream = require_legacy().Stream;
-    var { Buffer: Buffer2 } = require("buffer");
-    var destroyImpl = require_destroy2();
-    var { addAbortSignal } = require_add_abort_signal();
-    var { getHighWaterMark, getDefaultHighWaterMark } = require_state3();
-    var {
-      ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,
-      ERR_METHOD_NOT_IMPLEMENTED,
-      ERR_MULTIPLE_CALLBACK,
-      ERR_STREAM_CANNOT_PIPE,
-      ERR_STREAM_DESTROYED,
-      ERR_STREAM_ALREADY_FINISHED,
-      ERR_STREAM_NULL_VALUES,
-      ERR_STREAM_WRITE_AFTER_END,
-      ERR_UNKNOWN_ENCODING
-    } = require_errors5().codes;
-    var { errorOrDestroy } = destroyImpl;
-    ObjectSetPrototypeOf(Writable.prototype, Stream.prototype);
-    ObjectSetPrototypeOf(Writable, Stream);
-    function nop() {
-    }
-    var kOnFinished = Symbol2("kOnFinished");
-    function WritableState(options, stream, isDuplex) {
-      if (typeof isDuplex !== "boolean") isDuplex = stream instanceof require_duplex();
-      this.objectMode = !!(options && options.objectMode);
-      if (isDuplex) this.objectMode = this.objectMode || !!(options && options.writableObjectMode);
-      this.highWaterMark = options ? getHighWaterMark(this, options, "writableHighWaterMark", isDuplex) : getDefaultHighWaterMark(false);
-      this.finalCalled = false;
-      this.needDrain = false;
-      this.ending = false;
-      this.ended = false;
-      this.finished = false;
-      this.destroyed = false;
-      const noDecode = !!(options && options.decodeStrings === false);
-      this.decodeStrings = !noDecode;
-      this.defaultEncoding = options && options.defaultEncoding || "utf8";
-      this.length = 0;
-      this.writing = false;
-      this.corked = 0;
-      this.sync = true;
-      this.bufferProcessing = false;
-      this.onwrite = onwrite.bind(void 0, stream);
-      this.writecb = null;
-      this.writelen = 0;
-      this.afterWriteTickInfo = null;
-      resetBuffer(this);
-      this.pendingcb = 0;
-      this.constructed = true;
-      this.prefinished = false;
-      this.errorEmitted = false;
-      this.emitClose = !options || options.emitClose !== false;
-      this.autoDestroy = !options || options.autoDestroy !== false;
-      this.errored = null;
-      this.closed = false;
-      this.closeEmitted = false;
-      this[kOnFinished] = [];
-    }
-    function resetBuffer(state) {
-      state.buffered = [];
-      state.bufferedIndex = 0;
-      state.allBuffers = true;
-      state.allNoop = true;
-    }
-    WritableState.prototype.getBuffer = function getBuffer() {
-      return ArrayPrototypeSlice(this.buffered, this.bufferedIndex);
+// node_modules/@fastify/busboy/lib/utils/parseParams.js
+var require_parseParams = __commonJS({
+  "node_modules/@fastify/busboy/lib/utils/parseParams.js"(exports2, module2) {
+    "use strict";
+    var decodeText = require_decodeText();
+    var RE_ENCODED = /%[a-fA-F0-9][a-fA-F0-9]/g;
+    var EncodedLookup = {
+      "%00": "\0",
+      "%01": "",
+      "%02": "",
+      "%03": "",
+      "%04": "",
+      "%05": "",
+      "%06": "",
+      "%07": "\x07",
+      "%08": "\b",
+      "%09": "	",
+      "%0a": "\n",
+      "%0A": "\n",
+      "%0b": "\v",
+      "%0B": "\v",
+      "%0c": "\f",
+      "%0C": "\f",
+      "%0d": "\r",
+      "%0D": "\r",
+      "%0e": "",
+      "%0E": "",
+      "%0f": "",
+      "%0F": "",
+      "%10": "",
+      "%11": "",
+      "%12": "",
+      "%13": "",
+      "%14": "",
+      "%15": "",
+      "%16": "",
+      "%17": "",
+      "%18": "",
+      "%19": "",
+      "%1a": "",
+      "%1A": "",
+      "%1b": "\x1B",
+      "%1B": "\x1B",
+      "%1c": "",
+      "%1C": "",
+      "%1d": "",
+      "%1D": "",
+      "%1e": "",
+      "%1E": "",
+      "%1f": "",
+      "%1F": "",
+      "%20": " ",
+      "%21": "!",
+      "%22": '"',
+      "%23": "#",
+      "%24": "$",
+      "%25": "%",
+      "%26": "&",
+      "%27": "'",
+      "%28": "(",
+      "%29": ")",
+      "%2a": "*",
+      "%2A": "*",
+      "%2b": "+",
+      "%2B": "+",
+      "%2c": ",",
+      "%2C": ",",
+      "%2d": "-",
+      "%2D": "-",
+      "%2e": ".",
+      "%2E": ".",
+      "%2f": "/",
+      "%2F": "/",
+      "%30": "0",
+      "%31": "1",
+      "%32": "2",
+      "%33": "3",
+      "%34": "4",
+      "%35": "5",
+      "%36": "6",
+      "%37": "7",
+      "%38": "8",
+      "%39": "9",
+      "%3a": ":",
+      "%3A": ":",
+      "%3b": ";",
+      "%3B": ";",
+      "%3c": "<",
+      "%3C": "<",
+      "%3d": "=",
+      "%3D": "=",
+      "%3e": ">",
+      "%3E": ">",
+      "%3f": "?",
+      "%3F": "?",
+      "%40": "@",
+      "%41": "A",
+      "%42": "B",
+      "%43": "C",
+      "%44": "D",
+      "%45": "E",
+      "%46": "F",
+      "%47": "G",
+      "%48": "H",
+      "%49": "I",
+      "%4a": "J",
+      "%4A": "J",
+      "%4b": "K",
+      "%4B": "K",
+      "%4c": "L",
+      "%4C": "L",
+      "%4d": "M",
+      "%4D": "M",
+      "%4e": "N",
+      "%4E": "N",
+      "%4f": "O",
+      "%4F": "O",
+      "%50": "P",
+      "%51": "Q",
+      "%52": "R",
+      "%53": "S",
+      "%54": "T",
+      "%55": "U",
+      "%56": "V",
+      "%57": "W",
+      "%58": "X",
+      "%59": "Y",
+      "%5a": "Z",
+      "%5A": "Z",
+      "%5b": "[",
+      "%5B": "[",
+      "%5c": "\\",
+      "%5C": "\\",
+      "%5d": "]",
+      "%5D": "]",
+      "%5e": "^",
+      "%5E": "^",
+      "%5f": "_",
+      "%5F": "_",
+      "%60": "`",
+      "%61": "a",
+      "%62": "b",
+      "%63": "c",
+      "%64": "d",
+      "%65": "e",
+      "%66": "f",
+      "%67": "g",
+      "%68": "h",
+      "%69": "i",
+      "%6a": "j",
+      "%6A": "j",
+      "%6b": "k",
+      "%6B": "k",
+      "%6c": "l",
+      "%6C": "l",
+      "%6d": "m",
+      "%6D": "m",
+      "%6e": "n",
+      "%6E": "n",
+      "%6f": "o",
+      "%6F": "o",
+      "%70": "p",
+      "%71": "q",
+      "%72": "r",
+      "%73": "s",
+      "%74": "t",
+      "%75": "u",
+      "%76": "v",
+      "%77": "w",
+      "%78": "x",
+      "%79": "y",
+      "%7a": "z",
+      "%7A": "z",
+      "%7b": "{",
+      "%7B": "{",
+      "%7c": "|",
+      "%7C": "|",
+      "%7d": "}",
+      "%7D": "}",
+      "%7e": "~",
+      "%7E": "~",
+      "%7f": "\x7F",
+      "%7F": "\x7F",
+      "%80": "\x80",
+      "%81": "\x81",
+      "%82": "\x82",
+      "%83": "\x83",
+      "%84": "\x84",
+      "%85": "\x85",
+      "%86": "\x86",
+      "%87": "\x87",
+      "%88": "\x88",
+      "%89": "\x89",
+      "%8a": "\x8A",
+      "%8A": "\x8A",
+      "%8b": "\x8B",
+      "%8B": "\x8B",
+      "%8c": "\x8C",
+      "%8C": "\x8C",
+      "%8d": "\x8D",
+      "%8D": "\x8D",
+      "%8e": "\x8E",
+      "%8E": "\x8E",
+      "%8f": "\x8F",
+      "%8F": "\x8F",
+      "%90": "\x90",
+      "%91": "\x91",
+      "%92": "\x92",
+      "%93": "\x93",
+      "%94": "\x94",
+      "%95": "\x95",
+      "%96": "\x96",
+      "%97": "\x97",
+      "%98": "\x98",
+      "%99": "\x99",
+      "%9a": "\x9A",
+      "%9A": "\x9A",
+      "%9b": "\x9B",
+      "%9B": "\x9B",
+      "%9c": "\x9C",
+      "%9C": "\x9C",
+      "%9d": "\x9D",
+      "%9D": "\x9D",
+      "%9e": "\x9E",
+      "%9E": "\x9E",
+      "%9f": "\x9F",
+      "%9F": "\x9F",
+      "%a0": "\xA0",
+      "%A0": "\xA0",
+      "%a1": "\xA1",
+      "%A1": "\xA1",
+      "%a2": "\xA2",
+      "%A2": "\xA2",
+      "%a3": "\xA3",
+      "%A3": "\xA3",
+      "%a4": "\xA4",
+      "%A4": "\xA4",
+      "%a5": "\xA5",
+      "%A5": "\xA5",
+      "%a6": "\xA6",
+      "%A6": "\xA6",
+      "%a7": "\xA7",
+      "%A7": "\xA7",
+      "%a8": "\xA8",
+      "%A8": "\xA8",
+      "%a9": "\xA9",
+      "%A9": "\xA9",
+      "%aa": "\xAA",
+      "%Aa": "\xAA",
+      "%aA": "\xAA",
+      "%AA": "\xAA",
+      "%ab": "\xAB",
+      "%Ab": "\xAB",
+      "%aB": "\xAB",
+      "%AB": "\xAB",
+      "%ac": "\xAC",
+      "%Ac": "\xAC",
+      "%aC": "\xAC",
+      "%AC": "\xAC",
+      "%ad": "\xAD",
+      "%Ad": "\xAD",
+      "%aD": "\xAD",
+      "%AD": "\xAD",
+      "%ae": "\xAE",
+      "%Ae": "\xAE",
+      "%aE": "\xAE",
+      "%AE": "\xAE",
+      "%af": "\xAF",
+      "%Af": "\xAF",
+      "%aF": "\xAF",
+      "%AF": "\xAF",
+      "%b0": "\xB0",
+      "%B0": "\xB0",
+      "%b1": "\xB1",
+      "%B1": "\xB1",
+      "%b2": "\xB2",
+      "%B2": "\xB2",
+      "%b3": "\xB3",
+      "%B3": "\xB3",
+      "%b4": "\xB4",
+      "%B4": "\xB4",
+      "%b5": "\xB5",
+      "%B5": "\xB5",
+      "%b6": "\xB6",
+      "%B6": "\xB6",
+      "%b7": "\xB7",
+      "%B7": "\xB7",
+      "%b8": "\xB8",
+      "%B8": "\xB8",
+      "%b9": "\xB9",
+      "%B9": "\xB9",
+      "%ba": "\xBA",
+      "%Ba": "\xBA",
+      "%bA": "\xBA",
+      "%BA": "\xBA",
+      "%bb": "\xBB",
+      "%Bb": "\xBB",
+      "%bB": "\xBB",
+      "%BB": "\xBB",
+      "%bc": "\xBC",
+      "%Bc": "\xBC",
+      "%bC": "\xBC",
+      "%BC": "\xBC",
+      "%bd": "\xBD",
+      "%Bd": "\xBD",
+      "%bD": "\xBD",
+      "%BD": "\xBD",
+      "%be": "\xBE",
+      "%Be": "\xBE",
+      "%bE": "\xBE",
+      "%BE": "\xBE",
+      "%bf": "\xBF",
+      "%Bf": "\xBF",
+      "%bF": "\xBF",
+      "%BF": "\xBF",
+      "%c0": "\xC0",
+      "%C0": "\xC0",
+      "%c1": "\xC1",
+      "%C1": "\xC1",
+      "%c2": "\xC2",
+      "%C2": "\xC2",
+      "%c3": "\xC3",
+      "%C3": "\xC3",
+      "%c4": "\xC4",
+      "%C4": "\xC4",
+      "%c5": "\xC5",
+      "%C5": "\xC5",
+      "%c6": "\xC6",
+      "%C6": "\xC6",
+      "%c7": "\xC7",
+      "%C7": "\xC7",
+      "%c8": "\xC8",
+      "%C8": "\xC8",
+      "%c9": "\xC9",
+      "%C9": "\xC9",
+      "%ca": "\xCA",
+      "%Ca": "\xCA",
+      "%cA": "\xCA",
+      "%CA": "\xCA",
+      "%cb": "\xCB",
+      "%Cb": "\xCB",
+      "%cB": "\xCB",
+      "%CB": "\xCB",
+      "%cc": "\xCC",
+      "%Cc": "\xCC",
+      "%cC": "\xCC",
+      "%CC": "\xCC",
+      "%cd": "\xCD",
+      "%Cd": "\xCD",
+      "%cD": "\xCD",
+      "%CD": "\xCD",
+      "%ce": "\xCE",
+      "%Ce": "\xCE",
+      "%cE": "\xCE",
+      "%CE": "\xCE",
+      "%cf": "\xCF",
+      "%Cf": "\xCF",
+      "%cF": "\xCF",
+      "%CF": "\xCF",
+      "%d0": "\xD0",
+      "%D0": "\xD0",
+      "%d1": "\xD1",
+      "%D1": "\xD1",
+      "%d2": "\xD2",
+      "%D2": "\xD2",
+      "%d3": "\xD3",
+      "%D3": "\xD3",
+      "%d4": "\xD4",
+      "%D4": "\xD4",
+      "%d5": "\xD5",
+      "%D5": "\xD5",
+      "%d6": "\xD6",
+      "%D6": "\xD6",
+      "%d7": "\xD7",
+      "%D7": "\xD7",
+      "%d8": "\xD8",
+      "%D8": "\xD8",
+      "%d9": "\xD9",
+      "%D9": "\xD9",
+      "%da": "\xDA",
+      "%Da": "\xDA",
+      "%dA": "\xDA",
+      "%DA": "\xDA",
+      "%db": "\xDB",
+      "%Db": "\xDB",
+      "%dB": "\xDB",
+      "%DB": "\xDB",
+      "%dc": "\xDC",
+      "%Dc": "\xDC",
+      "%dC": "\xDC",
+      "%DC": "\xDC",
+      "%dd": "\xDD",
+      "%Dd": "\xDD",
+      "%dD": "\xDD",
+      "%DD": "\xDD",
+      "%de": "\xDE",
+      "%De": "\xDE",
+      "%dE": "\xDE",
+      "%DE": "\xDE",
+      "%df": "\xDF",
+      "%Df": "\xDF",
+      "%dF": "\xDF",
+      "%DF": "\xDF",
+      "%e0": "\xE0",
+      "%E0": "\xE0",
+      "%e1": "\xE1",
+      "%E1": "\xE1",
+      "%e2": "\xE2",
+      "%E2": "\xE2",
+      "%e3": "\xE3",
+      "%E3": "\xE3",
+      "%e4": "\xE4",
+      "%E4": "\xE4",
+      "%e5": "\xE5",
+      "%E5": "\xE5",
+      "%e6": "\xE6",
+      "%E6": "\xE6",
+      "%e7": "\xE7",
+      "%E7": "\xE7",
+      "%e8": "\xE8",
+      "%E8": "\xE8",
+      "%e9": "\xE9",
+      "%E9": "\xE9",
+      "%ea": "\xEA",
+      "%Ea": "\xEA",
+      "%eA": "\xEA",
+      "%EA": "\xEA",
+      "%eb": "\xEB",
+      "%Eb": "\xEB",
+      "%eB": "\xEB",
+      "%EB": "\xEB",
+      "%ec": "\xEC",
+      "%Ec": "\xEC",
+      "%eC": "\xEC",
+      "%EC": "\xEC",
+      "%ed": "\xED",
+      "%Ed": "\xED",
+      "%eD": "\xED",
+      "%ED": "\xED",
+      "%ee": "\xEE",
+      "%Ee": "\xEE",
+      "%eE": "\xEE",
+      "%EE": "\xEE",
+      "%ef": "\xEF",
+      "%Ef": "\xEF",
+      "%eF": "\xEF",
+      "%EF": "\xEF",
+      "%f0": "\xF0",
+      "%F0": "\xF0",
+      "%f1": "\xF1",
+      "%F1": "\xF1",
+      "%f2": "\xF2",
+      "%F2": "\xF2",
+      "%f3": "\xF3",
+      "%F3": "\xF3",
+      "%f4": "\xF4",
+      "%F4": "\xF4",
+      "%f5": "\xF5",
+      "%F5": "\xF5",
+      "%f6": "\xF6",
+      "%F6": "\xF6",
+      "%f7": "\xF7",
+      "%F7": "\xF7",
+      "%f8": "\xF8",
+      "%F8": "\xF8",
+      "%f9": "\xF9",
+      "%F9": "\xF9",
+      "%fa": "\xFA",
+      "%Fa": "\xFA",
+      "%fA": "\xFA",
+      "%FA": "\xFA",
+      "%fb": "\xFB",
+      "%Fb": "\xFB",
+      "%fB": "\xFB",
+      "%FB": "\xFB",
+      "%fc": "\xFC",
+      "%Fc": "\xFC",
+      "%fC": "\xFC",
+      "%FC": "\xFC",
+      "%fd": "\xFD",
+      "%Fd": "\xFD",
+      "%fD": "\xFD",
+      "%FD": "\xFD",
+      "%fe": "\xFE",
+      "%Fe": "\xFE",
+      "%fE": "\xFE",
+      "%FE": "\xFE",
+      "%ff": "\xFF",
+      "%Ff": "\xFF",
+      "%fF": "\xFF",
+      "%FF": "\xFF"
     };
-    ObjectDefineProperty(WritableState.prototype, "bufferedRequestCount", {
-      __proto__: null,
-      get() {
-        return this.buffered.length - this.bufferedIndex;
-      }
-    });
-    function Writable(options) {
-      const isDuplex = this instanceof require_duplex();
-      if (!isDuplex && !FunctionPrototypeSymbolHasInstance(Writable, this)) return new Writable(options);
-      this._writableState = new WritableState(options, this, isDuplex);
-      if (options) {
-        if (typeof options.write === "function") this._write = options.write;
-        if (typeof options.writev === "function") this._writev = options.writev;
-        if (typeof options.destroy === "function") this._destroy = options.destroy;
-        if (typeof options.final === "function") this._final = options.final;
-        if (typeof options.construct === "function") this._construct = options.construct;
-        if (options.signal) addAbortSignal(options.signal, this);
-      }
-      Stream.call(this, options);
-      destroyImpl.construct(this, () => {
-        const state = this._writableState;
-        if (!state.writing) {
-          clearBuffer(this, state);
-        }
-        finishMaybe(this, state);
-      });
+    function encodedReplacer(match) {
+      return EncodedLookup[match];
     }
-    ObjectDefineProperty(Writable, SymbolHasInstance, {
-      __proto__: null,
-      value: function(object) {
-        if (FunctionPrototypeSymbolHasInstance(this, object)) return true;
-        if (this !== Writable) return false;
-        return object && object._writableState instanceof WritableState;
-      }
-    });
-    Writable.prototype.pipe = function() {
-      errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());
-    };
-    function _write(stream, chunk, encoding, cb) {
-      const state = stream._writableState;
-      if (typeof encoding === "function") {
-        cb = encoding;
-        encoding = state.defaultEncoding;
-      } else {
-        if (!encoding) encoding = state.defaultEncoding;
-        else if (encoding !== "buffer" && !Buffer2.isEncoding(encoding)) throw new ERR_UNKNOWN_ENCODING(encoding);
-        if (typeof cb !== "function") cb = nop;
-      }
-      if (chunk === null) {
-        throw new ERR_STREAM_NULL_VALUES();
-      } else if (!state.objectMode) {
-        if (typeof chunk === "string") {
-          if (state.decodeStrings !== false) {
-            chunk = Buffer2.from(chunk, encoding);
-            encoding = "buffer";
+    var STATE_KEY = 0;
+    var STATE_VALUE = 1;
+    var STATE_CHARSET = 2;
+    var STATE_LANG = 3;
+    function parseParams(str2) {
+      const res = [];
+      let state = STATE_KEY;
+      let charset = "";
+      let inquote = false;
+      let escaping = false;
+      let p = 0;
+      let tmp = "";
+      const len = str2.length;
+      for (var i = 0; i < len; ++i) {
+        const char = str2[i];
+        if (char === "\\" && inquote) {
+          if (escaping) {
+            escaping = false;
+          } else {
+            escaping = true;
+            continue;
           }
-        } else if (chunk instanceof Buffer2) {
-          encoding = "buffer";
-        } else if (Stream._isUint8Array(chunk)) {
-          chunk = Stream._uint8ArrayToBuffer(chunk);
-          encoding = "buffer";
-        } else {
-          throw new ERR_INVALID_ARG_TYPE2("chunk", ["string", "Buffer", "Uint8Array"], chunk);
-        }
-      }
-      let err;
-      if (state.ending) {
-        err = new ERR_STREAM_WRITE_AFTER_END();
-      } else if (state.destroyed) {
-        err = new ERR_STREAM_DESTROYED("write");
-      }
-      if (err) {
-        process2.nextTick(cb, err);
-        errorOrDestroy(stream, err, true);
-        return err;
-      }
-      state.pendingcb++;
-      return writeOrBuffer(stream, state, chunk, encoding, cb);
-    }
-    Writable.prototype.write = function(chunk, encoding, cb) {
-      return _write(this, chunk, encoding, cb) === true;
-    };
-    Writable.prototype.cork = function() {
-      this._writableState.corked++;
-    };
-    Writable.prototype.uncork = function() {
-      const state = this._writableState;
-      if (state.corked) {
-        state.corked--;
-        if (!state.writing) clearBuffer(this, state);
-      }
-    };
-    Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {
-      if (typeof encoding === "string") encoding = StringPrototypeToLowerCase(encoding);
-      if (!Buffer2.isEncoding(encoding)) throw new ERR_UNKNOWN_ENCODING(encoding);
-      this._writableState.defaultEncoding = encoding;
-      return this;
-    };
-    function writeOrBuffer(stream, state, chunk, encoding, callback) {
-      const len = state.objectMode ? 1 : chunk.length;
-      state.length += len;
-      const ret = state.length < state.highWaterMark;
-      if (!ret) state.needDrain = true;
-      if (state.writing || state.corked || state.errored || !state.constructed) {
-        state.buffered.push({
-          chunk,
-          encoding,
-          callback
-        });
-        if (state.allBuffers && encoding !== "buffer") {
-          state.allBuffers = false;
-        }
-        if (state.allNoop && callback !== nop) {
-          state.allNoop = false;
-        }
-      } else {
-        state.writelen = len;
-        state.writecb = callback;
-        state.writing = true;
-        state.sync = true;
-        stream._write(chunk, encoding, state.onwrite);
-        state.sync = false;
-      }
-      return ret && !state.errored && !state.destroyed;
-    }
-    function doWrite(stream, state, writev, len, chunk, encoding, cb) {
-      state.writelen = len;
-      state.writecb = cb;
-      state.writing = true;
-      state.sync = true;
-      if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED("write"));
-      else if (writev) stream._writev(chunk, state.onwrite);
-      else stream._write(chunk, encoding, state.onwrite);
-      state.sync = false;
-    }
-    function onwriteError(stream, state, er, cb) {
-      --state.pendingcb;
-      cb(er);
-      errorBuffer(state);
-      errorOrDestroy(stream, er);
-    }
-    function onwrite(stream, er) {
-      const state = stream._writableState;
-      const sync = state.sync;
-      const cb = state.writecb;
-      if (typeof cb !== "function") {
-        errorOrDestroy(stream, new ERR_MULTIPLE_CALLBACK());
-        return;
-      }
-      state.writing = false;
-      state.writecb = null;
-      state.length -= state.writelen;
-      state.writelen = 0;
-      if (er) {
-        er.stack;
-        if (!state.errored) {
-          state.errored = er;
-        }
-        if (stream._readableState && !stream._readableState.errored) {
-          stream._readableState.errored = er;
-        }
-        if (sync) {
-          process2.nextTick(onwriteError, stream, state, er, cb);
-        } else {
-          onwriteError(stream, state, er, cb);
-        }
-      } else {
-        if (state.buffered.length > state.bufferedIndex) {
-          clearBuffer(stream, state);
-        }
-        if (sync) {
-          if (state.afterWriteTickInfo !== null && state.afterWriteTickInfo.cb === cb) {
-            state.afterWriteTickInfo.count++;
+        } else if (char === '"') {
+          if (!escaping) {
+            if (inquote) {
+              inquote = false;
+              state = STATE_KEY;
+            } else {
+              inquote = true;
+            }
+            continue;
           } else {
-            state.afterWriteTickInfo = {
-              count: 1,
-              cb,
-              stream,
-              state
-            };
-            process2.nextTick(afterWriteTick, state.afterWriteTickInfo);
+            escaping = false;
           }
         } else {
-          afterWrite(stream, state, 1, cb);
-        }
-      }
-    }
-    function afterWriteTick({ stream, state, count, cb }) {
-      state.afterWriteTickInfo = null;
-      return afterWrite(stream, state, count, cb);
-    }
-    function afterWrite(stream, state, count, cb) {
-      const needDrain = !state.ending && !stream.destroyed && state.length === 0 && state.needDrain;
-      if (needDrain) {
-        state.needDrain = false;
-        stream.emit("drain");
-      }
-      while (count-- > 0) {
-        state.pendingcb--;
-        cb();
-      }
-      if (state.destroyed) {
-        errorBuffer(state);
-      }
-      finishMaybe(stream, state);
-    }
-    function errorBuffer(state) {
-      if (state.writing) {
-        return;
-      }
-      for (let n = state.bufferedIndex; n < state.buffered.length; ++n) {
-        var _state$errored;
-        const { chunk, callback } = state.buffered[n];
-        const len = state.objectMode ? 1 : chunk.length;
-        state.length -= len;
-        callback(
-          (_state$errored = state.errored) !== null && _state$errored !== void 0 ? _state$errored : new ERR_STREAM_DESTROYED("write")
-        );
-      }
-      const onfinishCallbacks = state[kOnFinished].splice(0);
-      for (let i = 0; i < onfinishCallbacks.length; i++) {
-        var _state$errored2;
-        onfinishCallbacks[i](
-          (_state$errored2 = state.errored) !== null && _state$errored2 !== void 0 ? _state$errored2 : new ERR_STREAM_DESTROYED("end")
-        );
-      }
-      resetBuffer(state);
-    }
-    function clearBuffer(stream, state) {
-      if (state.corked || state.bufferProcessing || state.destroyed || !state.constructed) {
-        return;
-      }
-      const { buffered, bufferedIndex, objectMode } = state;
-      const bufferedLength = buffered.length - bufferedIndex;
-      if (!bufferedLength) {
-        return;
-      }
-      let i = bufferedIndex;
-      state.bufferProcessing = true;
-      if (bufferedLength > 1 && stream._writev) {
-        state.pendingcb -= bufferedLength - 1;
-        const callback = state.allNoop ? nop : (err) => {
-          for (let n = i; n < buffered.length; ++n) {
-            buffered[n].callback(err);
+          if (escaping && inquote) {
+            tmp += "\\";
           }
-        };
-        const chunks = state.allNoop && i === 0 ? buffered : ArrayPrototypeSlice(buffered, i);
-        chunks.allBuffers = state.allBuffers;
-        doWrite(stream, state, true, state.length, chunks, "", callback);
-        resetBuffer(state);
-      } else {
-        do {
-          const { chunk, encoding, callback } = buffered[i];
-          buffered[i++] = null;
-          const len = objectMode ? 1 : chunk.length;
-          doWrite(stream, state, false, len, chunk, encoding, callback);
-        } while (i < buffered.length && !state.writing);
-        if (i === buffered.length) {
-          resetBuffer(state);
-        } else if (i > 256) {
-          buffered.splice(0, i);
-          state.bufferedIndex = 0;
-        } else {
-          state.bufferedIndex = i;
-        }
-      }
-      state.bufferProcessing = false;
-    }
-    Writable.prototype._write = function(chunk, encoding, cb) {
-      if (this._writev) {
-        this._writev(
-          [
-            {
-              chunk,
-              encoding
+          escaping = false;
+          if ((state === STATE_CHARSET || state === STATE_LANG) && char === "'") {
+            if (state === STATE_CHARSET) {
+              state = STATE_LANG;
+              charset = tmp.substring(1);
+            } else {
+              state = STATE_VALUE;
             }
-          ],
-          cb
-        );
-      } else {
-        throw new ERR_METHOD_NOT_IMPLEMENTED("_write()");
-      }
-    };
-    Writable.prototype._writev = null;
-    Writable.prototype.end = function(chunk, encoding, cb) {
-      const state = this._writableState;
-      if (typeof chunk === "function") {
-        cb = chunk;
-        chunk = null;
-        encoding = null;
-      } else if (typeof encoding === "function") {
-        cb = encoding;
-        encoding = null;
-      }
-      let err;
-      if (chunk !== null && chunk !== void 0) {
-        const ret = _write(this, chunk, encoding);
-        if (ret instanceof Error2) {
-          err = ret;
-        }
-      }
-      if (state.corked) {
-        state.corked = 1;
-        this.uncork();
-      }
-      if (err) {
-      } else if (!state.errored && !state.ending) {
-        state.ending = true;
-        finishMaybe(this, state, true);
-        state.ended = true;
-      } else if (state.finished) {
-        err = new ERR_STREAM_ALREADY_FINISHED("end");
-      } else if (state.destroyed) {
-        err = new ERR_STREAM_DESTROYED("end");
-      }
-      if (typeof cb === "function") {
-        if (err || state.finished) {
-          process2.nextTick(cb, err);
-        } else {
-          state[kOnFinished].push(cb);
-        }
-      }
-      return this;
-    };
-    function needFinish(state) {
-      return state.ending && !state.destroyed && state.constructed && state.length === 0 && !state.errored && state.buffered.length === 0 && !state.finished && !state.writing && !state.errorEmitted && !state.closeEmitted;
-    }
-    function callFinal(stream, state) {
-      let called = false;
-      function onFinish(err) {
-        if (called) {
-          errorOrDestroy(stream, err !== null && err !== void 0 ? err : ERR_MULTIPLE_CALLBACK());
-          return;
-        }
-        called = true;
-        state.pendingcb--;
-        if (err) {
-          const onfinishCallbacks = state[kOnFinished].splice(0);
-          for (let i = 0; i < onfinishCallbacks.length; i++) {
-            onfinishCallbacks[i](err);
-          }
-          errorOrDestroy(stream, err, state.sync);
-        } else if (needFinish(state)) {
-          state.prefinished = true;
-          stream.emit("prefinish");
-          state.pendingcb++;
-          process2.nextTick(finish, stream, state);
-        }
-      }
-      state.sync = true;
-      state.pendingcb++;
-      try {
-        stream._final(onFinish);
-      } catch (err) {
-        onFinish(err);
-      }
-      state.sync = false;
-    }
-    function prefinish(stream, state) {
-      if (!state.prefinished && !state.finalCalled) {
-        if (typeof stream._final === "function" && !state.destroyed) {
-          state.finalCalled = true;
-          callFinal(stream, state);
-        } else {
-          state.prefinished = true;
-          stream.emit("prefinish");
-        }
-      }
-    }
-    function finishMaybe(stream, state, sync) {
-      if (needFinish(state)) {
-        prefinish(stream, state);
-        if (state.pendingcb === 0) {
-          if (sync) {
-            state.pendingcb++;
-            process2.nextTick(
-              (stream2, state2) => {
-                if (needFinish(state2)) {
-                  finish(stream2, state2);
-                } else {
-                  state2.pendingcb--;
-                }
-              },
-              stream,
-              state
-            );
-          } else if (needFinish(state)) {
-            state.pendingcb++;
-            finish(stream, state);
+            tmp = "";
+            continue;
+          } else if (state === STATE_KEY && (char === "*" || char === "=") && res.length) {
+            state = char === "*" ? STATE_CHARSET : STATE_VALUE;
+            res[p] = [tmp, void 0];
+            tmp = "";
+            continue;
+          } else if (!inquote && char === ";") {
+            state = STATE_KEY;
+            if (charset) {
+              if (tmp.length) {
+                tmp = decodeText(
+                  tmp.replace(RE_ENCODED, encodedReplacer),
+                  "binary",
+                  charset
+                );
+              }
+              charset = "";
+            } else if (tmp.length) {
+              tmp = decodeText(tmp, "binary", "utf8");
+            }
+            if (res[p] === void 0) {
+              res[p] = tmp;
+            } else {
+              res[p][1] = tmp;
+            }
+            tmp = "";
+            ++p;
+            continue;
+          } else if (!inquote && (char === " " || char === "	")) {
+            continue;
           }
         }
+        tmp += char;
       }
-    }
-    function finish(stream, state) {
-      state.pendingcb--;
-      state.finished = true;
-      const onfinishCallbacks = state[kOnFinished].splice(0);
-      for (let i = 0; i < onfinishCallbacks.length; i++) {
-        onfinishCallbacks[i]();
+      if (charset && tmp.length) {
+        tmp = decodeText(
+          tmp.replace(RE_ENCODED, encodedReplacer),
+          "binary",
+          charset
+        );
+      } else if (tmp) {
+        tmp = decodeText(tmp, "binary", "utf8");
       }
-      stream.emit("finish");
-      if (state.autoDestroy) {
-        const rState = stream._readableState;
-        const autoDestroy = !rState || rState.autoDestroy && // We don't expect the readable to ever 'end'
-        // if readable is explicitly set to false.
-        (rState.endEmitted || rState.readable === false);
-        if (autoDestroy) {
-          stream.destroy();
+      if (res[p] === void 0) {
+        if (tmp) {
+          res[p] = tmp;
         }
+      } else {
+        res[p][1] = tmp;
       }
+      return res;
     }
-    ObjectDefineProperties(Writable.prototype, {
-      closed: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.closed : false;
-        }
-      },
-      destroyed: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.destroyed : false;
-        },
-        set(value) {
-          if (this._writableState) {
-            this._writableState.destroyed = value;
-          }
-        }
-      },
-      writable: {
-        __proto__: null,
-        get() {
-          const w = this._writableState;
-          return !!w && w.writable !== false && !w.destroyed && !w.errored && !w.ending && !w.ended;
-        },
-        set(val) {
-          if (this._writableState) {
-            this._writableState.writable = !!val;
-          }
-        }
-      },
-      writableFinished: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.finished : false;
-        }
-      },
-      writableObjectMode: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.objectMode : false;
-        }
-      },
-      writableBuffer: {
-        __proto__: null,
-        get() {
-          return this._writableState && this._writableState.getBuffer();
-        }
-      },
-      writableEnded: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.ending : false;
-        }
-      },
-      writableNeedDrain: {
-        __proto__: null,
-        get() {
-          const wState = this._writableState;
-          if (!wState) return false;
-          return !wState.destroyed && !wState.ending && wState.needDrain;
-        }
-      },
-      writableHighWaterMark: {
-        __proto__: null,
-        get() {
-          return this._writableState && this._writableState.highWaterMark;
-        }
-      },
-      writableCorked: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.corked : 0;
-        }
-      },
-      writableLength: {
-        __proto__: null,
-        get() {
-          return this._writableState && this._writableState.length;
-        }
-      },
-      errored: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._writableState ? this._writableState.errored : null;
-        }
-      },
-      writableAborted: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return !!(this._writableState.writable !== false && (this._writableState.destroyed || this._writableState.errored) && !this._writableState.finished);
-        }
+    module2.exports = parseParams;
+  }
+});
+
+// node_modules/@fastify/busboy/lib/utils/basename.js
+var require_basename = __commonJS({
+  "node_modules/@fastify/busboy/lib/utils/basename.js"(exports2, module2) {
+    "use strict";
+    module2.exports = function basename2(path4) {
+      if (typeof path4 !== "string") {
+        return "";
       }
-    });
-    var destroy = destroyImpl.destroy;
-    Writable.prototype.destroy = function(err, cb) {
-      const state = this._writableState;
-      if (!state.destroyed && (state.bufferedIndex < state.buffered.length || state[kOnFinished].length)) {
-        process2.nextTick(errorBuffer, state);
+      for (var i = path4.length - 1; i >= 0; --i) {
+        switch (path4.charCodeAt(i)) {
+          case 47:
+          // '/'
+          case 92:
+            path4 = path4.slice(i + 1);
+            return path4 === ".." || path4 === "." ? "" : path4;
+        }
       }
-      destroy.call(this, err, cb);
-      return this;
-    };
-    Writable.prototype._undestroy = destroyImpl.undestroy;
-    Writable.prototype._destroy = function(err, cb) {
-      cb(err);
-    };
-    Writable.prototype[EE.captureRejectionSymbol] = function(err) {
-      this.destroy(err);
-    };
-    var webStreamsAdapters;
-    function lazyWebStreams() {
-      if (webStreamsAdapters === void 0) webStreamsAdapters = {};
-      return webStreamsAdapters;
-    }
-    Writable.fromWeb = function(writableStream, options) {
-      return lazyWebStreams().newStreamWritableFromWritableStream(writableStream, options);
-    };
-    Writable.toWeb = function(streamWritable) {
-      return lazyWebStreams().newWritableStreamFromStreamWritable(streamWritable);
+      return path4 === ".." || path4 === "." ? "" : path4;
     };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/duplexify.js
-var require_duplexify = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/duplexify.js"(exports2, module2) {
-    var process2 = require_process();
-    var bufferModule = require("buffer");
-    var {
-      isReadable,
-      isWritable,
-      isIterable,
-      isNodeStream,
-      isReadableNodeStream,
-      isWritableNodeStream,
-      isDuplexNodeStream,
-      isReadableStream,
-      isWritableStream
-    } = require_utils8();
-    var eos = require_end_of_stream();
-    var {
-      AbortError,
-      codes: { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_RETURN_VALUE }
-    } = require_errors5();
-    var { destroyer } = require_destroy2();
-    var Duplex = require_duplex();
-    var Readable = require_readable4();
-    var Writable = require_writable();
-    var { createDeferredPromise } = require_util20();
-    var from = require_from();
-    var Blob2 = globalThis.Blob || bufferModule.Blob;
-    var isBlob = typeof Blob2 !== "undefined" ? function isBlob2(b) {
-      return b instanceof Blob2;
-    } : function isBlob2(b) {
-      return false;
-    };
-    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
-    var { FunctionPrototypeCall } = require_primordials();
-    var Duplexify = class extends Duplex {
-      constructor(options) {
-        super(options);
-        if ((options === null || options === void 0 ? void 0 : options.readable) === false) {
-          this._readableState.readable = false;
-          this._readableState.ended = true;
-          this._readableState.endEmitted = true;
-        }
-        if ((options === null || options === void 0 ? void 0 : options.writable) === false) {
-          this._writableState.writable = false;
-          this._writableState.ending = true;
-          this._writableState.ended = true;
-          this._writableState.finished = true;
+// node_modules/@fastify/busboy/lib/types/multipart.js
+var require_multipart2 = __commonJS({
+  "node_modules/@fastify/busboy/lib/types/multipart.js"(exports2, module2) {
+    "use strict";
+    var { Readable } = require("node:stream");
+    var { inherits } = require("node:util");
+    var Dicer = require_Dicer();
+    var parseParams = require_parseParams();
+    var decodeText = require_decodeText();
+    var basename2 = require_basename();
+    var getLimit = require_getLimit();
+    var RE_BOUNDARY = /^boundary$/i;
+    var RE_FIELD = /^form-data$/i;
+    var RE_CHARSET = /^charset$/i;
+    var RE_FILENAME = /^filename$/i;
+    var RE_NAME = /^name$/i;
+    Multipart.detect = /^multipart\/form-data/i;
+    function Multipart(boy, cfg) {
+      let i;
+      let len;
+      const self2 = this;
+      let boundary;
+      const limits = cfg.limits;
+      const isPartAFile = cfg.isPartAFile || ((fieldName, contentType, fileName) => contentType === "application/octet-stream" || fileName !== void 0);
+      const parsedConType = cfg.parsedConType || [];
+      const defCharset = cfg.defCharset || "utf8";
+      const preservePath = cfg.preservePath;
+      const fileOpts = { highWaterMark: cfg.fileHwm };
+      for (i = 0, len = parsedConType.length; i < len; ++i) {
+        if (Array.isArray(parsedConType[i]) && RE_BOUNDARY.test(parsedConType[i][0])) {
+          boundary = parsedConType[i][1];
+          break;
         }
       }
-    };
-    module2.exports = function duplexify(body, name) {
-      if (isDuplexNodeStream(body)) {
-        return body;
-      }
-      if (isReadableNodeStream(body)) {
-        return _duplexify({
-          readable: body
-        });
-      }
-      if (isWritableNodeStream(body)) {
-        return _duplexify({
-          writable: body
-        });
-      }
-      if (isNodeStream(body)) {
-        return _duplexify({
-          writable: false,
-          readable: false
-        });
-      }
-      if (isReadableStream(body)) {
-        return _duplexify({
-          readable: Readable.fromWeb(body)
-        });
-      }
-      if (isWritableStream(body)) {
-        return _duplexify({
-          writable: Writable.fromWeb(body)
-        });
-      }
-      if (typeof body === "function") {
-        const { value, write, final, destroy } = fromAsyncGen(body);
-        if (isIterable(value)) {
-          return from(Duplexify, value, {
-            // TODO (ronag): highWaterMark?
-            objectMode: true,
-            write,
-            final,
-            destroy
-          });
-        }
-        const then2 = value === null || value === void 0 ? void 0 : value.then;
-        if (typeof then2 === "function") {
-          let d;
-          const promise = FunctionPrototypeCall(
-            then2,
-            value,
-            (val) => {
-              if (val != null) {
-                throw new ERR_INVALID_RETURN_VALUE("nully", "body", val);
-              }
-            },
-            (err) => {
-              destroyer(d, err);
-            }
-          );
-          return d = new Duplexify({
-            // TODO (ronag): highWaterMark?
-            objectMode: true,
-            readable: false,
-            write,
-            final(cb) {
-              final(async () => {
-                try {
-                  await promise;
-                  process2.nextTick(cb, null);
-                } catch (err) {
-                  process2.nextTick(cb, err);
-                }
-              });
-            },
-            destroy
-          });
+      function checkFinished() {
+        if (nends === 0 && finished && !boy._done) {
+          finished = false;
+          self2.end();
         }
-        throw new ERR_INVALID_RETURN_VALUE("Iterable, AsyncIterable or AsyncFunction", name, value);
-      }
-      if (isBlob(body)) {
-        return duplexify(body.arrayBuffer());
-      }
-      if (isIterable(body)) {
-        return from(Duplexify, body, {
-          // TODO (ronag): highWaterMark?
-          objectMode: true,
-          writable: false
-        });
-      }
-      if (isReadableStream(body === null || body === void 0 ? void 0 : body.readable) && isWritableStream(body === null || body === void 0 ? void 0 : body.writable)) {
-        return Duplexify.fromWeb(body);
-      }
-      if (typeof (body === null || body === void 0 ? void 0 : body.writable) === "object" || typeof (body === null || body === void 0 ? void 0 : body.readable) === "object") {
-        const readable = body !== null && body !== void 0 && body.readable ? isReadableNodeStream(body === null || body === void 0 ? void 0 : body.readable) ? body === null || body === void 0 ? void 0 : body.readable : duplexify(body.readable) : void 0;
-        const writable = body !== null && body !== void 0 && body.writable ? isWritableNodeStream(body === null || body === void 0 ? void 0 : body.writable) ? body === null || body === void 0 ? void 0 : body.writable : duplexify(body.writable) : void 0;
-        return _duplexify({
-          readable,
-          writable
-        });
       }
-      const then = body === null || body === void 0 ? void 0 : body.then;
-      if (typeof then === "function") {
-        let d;
-        FunctionPrototypeCall(
-          then,
-          body,
-          (val) => {
-            if (val != null) {
-              d.push(val);
-            }
-            d.push(null);
-          },
-          (err) => {
-            destroyer(d, err);
-          }
-        );
-        return d = new Duplexify({
-          objectMode: true,
-          writable: false,
-          read() {
-          }
-        });
+      if (typeof boundary !== "string") {
+        throw new Error("Multipart: Boundary not found");
       }
-      throw new ERR_INVALID_ARG_TYPE2(
-        name,
-        [
-          "Blob",
-          "ReadableStream",
-          "WritableStream",
-          "Stream",
-          "Iterable",
-          "AsyncIterable",
-          "Function",
-          "{ readable, writable } pair",
-          "Promise"
-        ],
-        body
-      );
-    };
-    function fromAsyncGen(fn) {
-      let { promise, resolve: resolve3 } = createDeferredPromise();
-      const ac = new AbortController2();
-      const signal = ac.signal;
-      const value = fn(
-        (async function* () {
-          while (true) {
-            const _promise = promise;
-            promise = null;
-            const { chunk, done, cb } = await _promise;
-            process2.nextTick(cb);
-            if (done) return;
-            if (signal.aborted)
-              throw new AbortError(void 0, {
-                cause: signal.reason
-              });
-            ({ promise, resolve: resolve3 } = createDeferredPromise());
-            yield chunk;
-          }
-        })(),
-        {
-          signal
-        }
-      );
-      return {
-        value,
-        write(chunk, encoding, cb) {
-          const _resolve = resolve3;
-          resolve3 = null;
-          _resolve({
-            chunk,
-            done: false,
-            cb
-          });
-        },
-        final(cb) {
-          const _resolve = resolve3;
-          resolve3 = null;
-          _resolve({
-            done: true,
-            cb
-          });
-        },
-        destroy(err, cb) {
-          ac.abort();
-          cb(err);
-        }
+      const fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
+      const fileSizeLimit = getLimit(limits, "fileSize", Infinity);
+      const filesLimit = getLimit(limits, "files", Infinity);
+      const fieldsLimit = getLimit(limits, "fields", Infinity);
+      const partsLimit = getLimit(limits, "parts", Infinity);
+      const headerPairsLimit = getLimit(limits, "headerPairs", 2e3);
+      const headerSizeLimit = getLimit(limits, "headerSize", 80 * 1024);
+      let nfiles = 0;
+      let nfields = 0;
+      let nends = 0;
+      let curFile;
+      let curField;
+      let finished = false;
+      this._needDrain = false;
+      this._pause = false;
+      this._cb = void 0;
+      this._nparts = 0;
+      this._boy = boy;
+      const parserCfg = {
+        boundary,
+        maxHeaderPairs: headerPairsLimit,
+        maxHeaderSize: headerSizeLimit,
+        partHwm: fileOpts.highWaterMark,
+        highWaterMark: cfg.highWaterMark
       };
-    }
-    function _duplexify(pair) {
-      const r = pair.readable && typeof pair.readable.read !== "function" ? Readable.wrap(pair.readable) : pair.readable;
-      const w = pair.writable;
-      let readable = !!isReadable(r);
-      let writable = !!isWritable(w);
-      let ondrain;
-      let onfinish;
-      let onreadable;
-      let onclose;
-      let d;
-      function onfinished(err) {
-        const cb = onclose;
-        onclose = null;
-        if (cb) {
-          cb(err);
-        } else if (err) {
-          d.destroy(err);
+      this.parser = new Dicer(parserCfg);
+      this.parser.on("drain", function() {
+        self2._needDrain = false;
+        if (self2._cb && !self2._pause) {
+          const cb = self2._cb;
+          self2._cb = void 0;
+          cb();
         }
-      }
-      d = new Duplexify({
-        // TODO (ronag): highWaterMark?
-        readableObjectMode: !!(r !== null && r !== void 0 && r.readableObjectMode),
-        writableObjectMode: !!(w !== null && w !== void 0 && w.writableObjectMode),
-        readable,
-        writable
-      });
-      if (writable) {
-        eos(w, (err) => {
-          writable = false;
-          if (err) {
-            destroyer(r, err);
-          }
-          onfinished(err);
-        });
-        d._write = function(chunk, encoding, callback) {
-          if (w.write(chunk, encoding)) {
-            callback();
-          } else {
-            ondrain = callback;
+      }).on("part", function onPart(part) {
+        if (++self2._nparts > partsLimit) {
+          self2.parser.removeListener("part", onPart);
+          self2.parser.on("part", skipPart);
+          boy.hitPartsLimit = true;
+          boy.emit("partsLimit");
+          return skipPart(part);
+        }
+        if (curField) {
+          const field = curField;
+          field.emit("end");
+          field.removeAllListeners("end");
+        }
+        part.on("header", function(header) {
+          let contype;
+          let fieldname;
+          let parsed;
+          let charset;
+          let encoding;
+          let filename;
+          let nsize = 0;
+          if (header["content-type"]) {
+            parsed = parseParams(header["content-type"][0]);
+            if (parsed[0]) {
+              contype = parsed[0].toLowerCase();
+              for (i = 0, len = parsed.length; i < len; ++i) {
+                if (RE_CHARSET.test(parsed[i][0])) {
+                  charset = parsed[i][1].toLowerCase();
+                  break;
+                }
+              }
+            }
           }
-        };
-        d._final = function(callback) {
-          w.end();
-          onfinish = callback;
-        };
-        w.on("drain", function() {
-          if (ondrain) {
-            const cb = ondrain;
-            ondrain = null;
-            cb();
+          if (contype === void 0) {
+            contype = "text/plain";
           }
-        });
-        w.on("finish", function() {
-          if (onfinish) {
-            const cb = onfinish;
-            onfinish = null;
-            cb();
+          if (charset === void 0) {
+            charset = defCharset;
           }
-        });
-      }
-      if (readable) {
-        eos(r, (err) => {
-          readable = false;
-          if (err) {
-            destroyer(r, err);
+          if (header["content-disposition"]) {
+            parsed = parseParams(header["content-disposition"][0]);
+            if (!RE_FIELD.test(parsed[0])) {
+              return skipPart(part);
+            }
+            for (i = 0, len = parsed.length; i < len; ++i) {
+              if (RE_NAME.test(parsed[i][0])) {
+                fieldname = parsed[i][1];
+              } else if (RE_FILENAME.test(parsed[i][0])) {
+                filename = parsed[i][1];
+                if (!preservePath) {
+                  filename = basename2(filename);
+                }
+              }
+            }
+          } else {
+            return skipPart(part);
           }
-          onfinished(err);
-        });
-        r.on("readable", function() {
-          if (onreadable) {
-            const cb = onreadable;
-            onreadable = null;
-            cb();
+          if (header["content-transfer-encoding"]) {
+            encoding = header["content-transfer-encoding"][0].toLowerCase();
+          } else {
+            encoding = "7bit";
           }
-        });
-        r.on("end", function() {
-          d.push(null);
-        });
-        d._read = function() {
-          while (true) {
-            const buf = r.read();
-            if (buf === null) {
-              onreadable = d._read;
-              return;
+          let onData, onEnd;
+          if (isPartAFile(fieldname, contype, filename)) {
+            if (nfiles === filesLimit) {
+              if (!boy.hitFilesLimit) {
+                boy.hitFilesLimit = true;
+                boy.emit("filesLimit");
+              }
+              return skipPart(part);
             }
-            if (!d.push(buf)) {
+            ++nfiles;
+            if (boy.listenerCount("file") === 0) {
+              self2.parser._ignore();
               return;
             }
+            ++nends;
+            const file = new FileStream(fileOpts);
+            curFile = file;
+            file.on("end", function() {
+              --nends;
+              self2._pause = false;
+              checkFinished();
+              if (self2._cb && !self2._needDrain) {
+                const cb = self2._cb;
+                self2._cb = void 0;
+                cb();
+              }
+            });
+            file._read = function(n) {
+              if (!self2._pause) {
+                return;
+              }
+              self2._pause = false;
+              if (self2._cb && !self2._needDrain) {
+                const cb = self2._cb;
+                self2._cb = void 0;
+                cb();
+              }
+            };
+            boy.emit("file", fieldname, file, filename, encoding, contype);
+            onData = function(data) {
+              if ((nsize += data.length) > fileSizeLimit) {
+                const extralen = fileSizeLimit - nsize + data.length;
+                if (extralen > 0) {
+                  file.push(data.slice(0, extralen));
+                }
+                file.truncated = true;
+                file.bytesRead = fileSizeLimit;
+                part.removeAllListeners("data");
+                file.emit("limit");
+                return;
+              } else if (!file.push(data)) {
+                self2._pause = true;
+              }
+              file.bytesRead = nsize;
+            };
+            onEnd = function() {
+              curFile = void 0;
+              file.push(null);
+            };
+          } else {
+            if (nfields === fieldsLimit) {
+              if (!boy.hitFieldsLimit) {
+                boy.hitFieldsLimit = true;
+                boy.emit("fieldsLimit");
+              }
+              return skipPart(part);
+            }
+            ++nfields;
+            ++nends;
+            let buffer = "";
+            let truncated = false;
+            curField = part;
+            onData = function(data) {
+              if ((nsize += data.length) > fieldSizeLimit) {
+                const extralen = fieldSizeLimit - (nsize - data.length);
+                buffer += data.toString("binary", 0, extralen);
+                truncated = true;
+                part.removeAllListeners("data");
+              } else {
+                buffer += data.toString("binary");
+              }
+            };
+            onEnd = function() {
+              curField = void 0;
+              if (buffer.length) {
+                buffer = decodeText(buffer, "binary", charset);
+              }
+              boy.emit("field", fieldname, buffer, false, truncated, encoding, contype);
+              --nends;
+              checkFinished();
+            };
           }
-        };
-      }
-      d._destroy = function(err, callback) {
-        if (!err && onclose !== null) {
-          err = new AbortError();
-        }
-        onreadable = null;
-        ondrain = null;
-        onfinish = null;
-        if (onclose === null) {
-          callback(err);
-        } else {
-          onclose = callback;
-          destroyer(w, err);
-          destroyer(r, err);
-        }
-      };
-      return d;
-    }
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/duplex.js
-var require_duplex = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/duplex.js"(exports2, module2) {
-    "use strict";
-    var {
-      ObjectDefineProperties,
-      ObjectGetOwnPropertyDescriptor,
-      ObjectKeys,
-      ObjectSetPrototypeOf
-    } = require_primordials();
-    module2.exports = Duplex;
-    var Readable = require_readable4();
-    var Writable = require_writable();
-    ObjectSetPrototypeOf(Duplex.prototype, Readable.prototype);
-    ObjectSetPrototypeOf(Duplex, Readable);
-    {
-      const keys = ObjectKeys(Writable.prototype);
-      for (let i = 0; i < keys.length; i++) {
-        const method = keys[i];
-        if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];
-      }
+          part._readableState.sync = false;
+          part.on("data", onData);
+          part.on("end", onEnd);
+        }).on("error", function(err) {
+          if (curFile) {
+            curFile.emit("error", err);
+          }
+        });
+      }).on("error", function(err) {
+        boy.emit("error", err);
+      }).on("finish", function() {
+        finished = true;
+        checkFinished();
+      });
     }
-    function Duplex(options) {
-      if (!(this instanceof Duplex)) return new Duplex(options);
-      Readable.call(this, options);
-      Writable.call(this, options);
-      if (options) {
-        this.allowHalfOpen = options.allowHalfOpen !== false;
-        if (options.readable === false) {
-          this._readableState.readable = false;
-          this._readableState.ended = true;
-          this._readableState.endEmitted = true;
-        }
-        if (options.writable === false) {
-          this._writableState.writable = false;
-          this._writableState.ending = true;
-          this._writableState.ended = true;
-          this._writableState.finished = true;
-        }
+    Multipart.prototype.write = function(chunk, cb) {
+      const r = this.parser.write(chunk);
+      if (r && !this._pause) {
+        cb();
       } else {
-        this.allowHalfOpen = true;
-      }
-    }
-    ObjectDefineProperties(Duplex.prototype, {
-      writable: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writable")
-      },
-      writableHighWaterMark: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableHighWaterMark")
-      },
-      writableObjectMode: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableObjectMode")
-      },
-      writableBuffer: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableBuffer")
-      },
-      writableLength: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableLength")
-      },
-      writableFinished: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableFinished")
-      },
-      writableCorked: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableCorked")
-      },
-      writableEnded: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableEnded")
-      },
-      writableNeedDrain: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableNeedDrain")
-      },
-      destroyed: {
-        __proto__: null,
-        get() {
-          if (this._readableState === void 0 || this._writableState === void 0) {
-            return false;
-          }
-          return this._readableState.destroyed && this._writableState.destroyed;
-        },
-        set(value) {
-          if (this._readableState && this._writableState) {
-            this._readableState.destroyed = value;
-            this._writableState.destroyed = value;
-          }
-        }
+        this._needDrain = !r;
+        this._cb = cb;
       }
-    });
-    var webStreamsAdapters;
-    function lazyWebStreams() {
-      if (webStreamsAdapters === void 0) webStreamsAdapters = {};
-      return webStreamsAdapters;
-    }
-    Duplex.fromWeb = function(pair, options) {
-      return lazyWebStreams().newStreamDuplexFromReadableWritablePair(pair, options);
     };
-    Duplex.toWeb = function(duplex) {
-      return lazyWebStreams().newReadableWritablePairFromDuplex(duplex);
-    };
-    var duplexify;
-    Duplex.from = function(body) {
-      if (!duplexify) {
-        duplexify = require_duplexify();
+    Multipart.prototype.end = function() {
+      const self2 = this;
+      if (self2.parser.writable) {
+        self2.parser.end();
+      } else if (!self2._boy._done) {
+        process.nextTick(function() {
+          self2._boy._done = true;
+          self2._boy.emit("finish");
+        });
       }
-      return duplexify(body, "body");
     };
+    function skipPart(part) {
+      part.resume();
+    }
+    function FileStream(opts) {
+      Readable.call(this, opts);
+      this.bytesRead = 0;
+      this.truncated = false;
+    }
+    inherits(FileStream, Readable);
+    FileStream.prototype._read = function(n) {
+    };
+    module2.exports = Multipart;
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/transform.js
-var require_transform = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/transform.js"(exports2, module2) {
+// node_modules/@fastify/busboy/lib/utils/Decoder.js
+var require_Decoder = __commonJS({
+  "node_modules/@fastify/busboy/lib/utils/Decoder.js"(exports2, module2) {
     "use strict";
-    var { ObjectSetPrototypeOf, Symbol: Symbol2 } = require_primordials();
-    module2.exports = Transform;
-    var { ERR_METHOD_NOT_IMPLEMENTED } = require_errors5().codes;
-    var Duplex = require_duplex();
-    var { getHighWaterMark } = require_state3();
-    ObjectSetPrototypeOf(Transform.prototype, Duplex.prototype);
-    ObjectSetPrototypeOf(Transform, Duplex);
-    var kCallback = Symbol2("kCallback");
-    function Transform(options) {
-      if (!(this instanceof Transform)) return new Transform(options);
-      const readableHighWaterMark = options ? getHighWaterMark(this, options, "readableHighWaterMark", true) : null;
-      if (readableHighWaterMark === 0) {
-        options = {
-          ...options,
-          highWaterMark: null,
-          readableHighWaterMark,
-          // TODO (ronag): 0 is not optimal since we have
-          // a "bug" where we check needDrain before calling _write and not after.
-          // Refs: https://github.com/nodejs/node/pull/32887
-          // Refs: https://github.com/nodejs/node/pull/35941
-          writableHighWaterMark: options.writableHighWaterMark || 0
-        };
-      }
-      Duplex.call(this, options);
-      this._readableState.sync = false;
-      this[kCallback] = null;
-      if (options) {
-        if (typeof options.transform === "function") this._transform = options.transform;
-        if (typeof options.flush === "function") this._flush = options.flush;
-      }
-      this.on("prefinish", prefinish);
+    var RE_PLUS = /\+/g;
+    var HEX = [
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0
+    ];
+    function Decoder() {
+      this.buffer = void 0;
     }
-    function final(cb) {
-      if (typeof this._flush === "function" && !this.destroyed) {
-        this._flush((er, data) => {
-          if (er) {
-            if (cb) {
-              cb(er);
-            } else {
-              this.destroy(er);
+    Decoder.prototype.write = function(str2) {
+      str2 = str2.replace(RE_PLUS, " ");
+      let res = "";
+      let i = 0;
+      let p = 0;
+      const len = str2.length;
+      for (; i < len; ++i) {
+        if (this.buffer !== void 0) {
+          if (!HEX[str2.charCodeAt(i)]) {
+            res += "%" + this.buffer;
+            this.buffer = void 0;
+            --i;
+          } else {
+            this.buffer += str2[i];
+            ++p;
+            if (this.buffer.length === 2) {
+              res += String.fromCharCode(parseInt(this.buffer, 16));
+              this.buffer = void 0;
             }
-            return;
-          }
-          if (data != null) {
-            this.push(data);
           }
-          this.push(null);
-          if (cb) {
-            cb();
+        } else if (str2[i] === "%") {
+          if (i > p) {
+            res += str2.substring(p, i);
+            p = i;
           }
-        });
-      } else {
-        this.push(null);
-        if (cb) {
-          cb();
+          this.buffer = "";
+          ++p;
         }
       }
-    }
-    function prefinish() {
-      if (this._final !== final) {
-        final.call(this);
+      if (p < len && this.buffer === void 0) {
+        res += str2.substring(p);
       }
-    }
-    Transform.prototype._final = final;
-    Transform.prototype._transform = function(chunk, encoding, callback) {
-      throw new ERR_METHOD_NOT_IMPLEMENTED("_transform()");
-    };
-    Transform.prototype._write = function(chunk, encoding, callback) {
-      const rState = this._readableState;
-      const wState = this._writableState;
-      const length = rState.length;
-      this._transform(chunk, encoding, (err, val) => {
-        if (err) {
-          callback(err);
-          return;
-        }
-        if (val != null) {
-          this.push(val);
-        }
-        if (wState.ended || // Backwards compat.
-        length === rState.length || // Backwards compat.
-        rState.length < rState.highWaterMark) {
-          callback();
-        } else {
-          this[kCallback] = callback;
-        }
-      });
+      return res;
     };
-    Transform.prototype._read = function() {
-      if (this[kCallback]) {
-        const callback = this[kCallback];
-        this[kCallback] = null;
-        callback();
-      }
+    Decoder.prototype.reset = function() {
+      this.buffer = void 0;
     };
+    module2.exports = Decoder;
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/passthrough.js
-var require_passthrough2 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/passthrough.js"(exports2, module2) {
+// node_modules/@fastify/busboy/lib/types/urlencoded.js
+var require_urlencoded = __commonJS({
+  "node_modules/@fastify/busboy/lib/types/urlencoded.js"(exports2, module2) {
     "use strict";
-    var { ObjectSetPrototypeOf } = require_primordials();
-    module2.exports = PassThrough;
-    var Transform = require_transform();
-    ObjectSetPrototypeOf(PassThrough.prototype, Transform.prototype);
-    ObjectSetPrototypeOf(PassThrough, Transform);
-    function PassThrough(options) {
-      if (!(this instanceof PassThrough)) return new PassThrough(options);
-      Transform.call(this, options);
-    }
-    PassThrough.prototype._transform = function(chunk, encoding, cb) {
-      cb(null, chunk);
-    };
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/pipeline.js
-var require_pipeline4 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/pipeline.js"(exports2, module2) {
-    var process2 = require_process();
-    var { ArrayIsArray, Promise: Promise2, SymbolAsyncIterator, SymbolDispose } = require_primordials();
-    var eos = require_end_of_stream();
-    var { once } = require_util20();
-    var destroyImpl = require_destroy2();
-    var Duplex = require_duplex();
-    var {
-      aggregateTwoErrors,
-      codes: {
-        ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,
-        ERR_INVALID_RETURN_VALUE,
-        ERR_MISSING_ARGS,
-        ERR_STREAM_DESTROYED,
-        ERR_STREAM_PREMATURE_CLOSE
-      },
-      AbortError
-    } = require_errors5();
-    var { validateFunction, validateAbortSignal } = require_validators();
-    var {
-      isIterable,
-      isReadable,
-      isReadableNodeStream,
-      isNodeStream,
-      isTransformStream,
-      isWebStream,
-      isReadableStream,
-      isReadableFinished
-    } = require_utils8();
-    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
-    var PassThrough;
-    var Readable;
-    var addAbortListener;
-    function destroyer(stream, reading, writing) {
-      let finished = false;
-      stream.on("close", () => {
-        finished = true;
-      });
-      const cleanup = eos(
-        stream,
-        {
-          readable: reading,
-          writable: writing
-        },
-        (err) => {
-          finished = !err;
-        }
-      );
-      return {
-        destroy: (err) => {
-          if (finished) return;
-          finished = true;
-          destroyImpl.destroyer(stream, err || new ERR_STREAM_DESTROYED("pipe"));
-        },
-        cleanup
-      };
-    }
-    function popCallback(streams) {
-      validateFunction(streams[streams.length - 1], "streams[stream.length - 1]");
-      return streams.pop();
-    }
-    function makeAsyncIterable(val) {
-      if (isIterable(val)) {
-        return val;
-      } else if (isReadableNodeStream(val)) {
-        return fromReadable(val);
-      }
-      throw new ERR_INVALID_ARG_TYPE2("val", ["Readable", "Iterable", "AsyncIterable"], val);
-    }
-    async function* fromReadable(val) {
-      if (!Readable) {
-        Readable = require_readable4();
-      }
-      yield* Readable.prototype[SymbolAsyncIterator].call(val);
-    }
-    async function pumpToNode(iterable, writable, finish, { end }) {
-      let error3;
-      let onresolve = null;
-      const resume = (err) => {
-        if (err) {
-          error3 = err;
-        }
-        if (onresolve) {
-          const callback = onresolve;
-          onresolve = null;
-          callback();
-        }
-      };
-      const wait = () => new Promise2((resolve3, reject) => {
-        if (error3) {
-          reject(error3);
-        } else {
-          onresolve = () => {
-            if (error3) {
-              reject(error3);
-            } else {
-              resolve3();
-            }
-          };
-        }
-      });
-      writable.on("drain", resume);
-      const cleanup = eos(
-        writable,
-        {
-          readable: false
-        },
-        resume
-      );
-      try {
-        if (writable.writableNeedDrain) {
-          await wait();
-        }
-        for await (const chunk of iterable) {
-          if (!writable.write(chunk)) {
-            await wait();
-          }
-        }
-        if (end) {
-          writable.end();
-          await wait();
+    var Decoder = require_Decoder();
+    var decodeText = require_decodeText();
+    var getLimit = require_getLimit();
+    var RE_CHARSET = /^charset$/i;
+    UrlEncoded.detect = /^application\/x-www-form-urlencoded/i;
+    function UrlEncoded(boy, cfg) {
+      const limits = cfg.limits;
+      const parsedConType = cfg.parsedConType;
+      this.boy = boy;
+      this.fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
+      this.fieldNameSizeLimit = getLimit(limits, "fieldNameSize", 100);
+      this.fieldsLimit = getLimit(limits, "fields", Infinity);
+      let charset;
+      for (var i = 0, len = parsedConType.length; i < len; ++i) {
+        if (Array.isArray(parsedConType[i]) && RE_CHARSET.test(parsedConType[i][0])) {
+          charset = parsedConType[i][1].toLowerCase();
+          break;
         }
-        finish();
-      } catch (err) {
-        finish(error3 !== err ? aggregateTwoErrors(error3, err) : err);
-      } finally {
-        cleanup();
-        writable.off("drain", resume);
-      }
-    }
-    async function pumpToWeb(readable, writable, finish, { end }) {
-      if (isTransformStream(writable)) {
-        writable = writable.writable;
       }
-      const writer = writable.getWriter();
-      try {
-        for await (const chunk of readable) {
-          await writer.ready;
-          writer.write(chunk).catch(() => {
-          });
-        }
-        await writer.ready;
-        if (end) {
-          await writer.close();
-        }
-        finish();
-      } catch (err) {
-        try {
-          await writer.abort(err);
-          finish(err);
-        } catch (err2) {
-          finish(err2);
-        }
+      if (charset === void 0) {
+        charset = cfg.defCharset || "utf8";
       }
+      this.decoder = new Decoder();
+      this.charset = charset;
+      this._fields = 0;
+      this._state = "key";
+      this._checkingBytes = true;
+      this._bytesKey = 0;
+      this._bytesVal = 0;
+      this._key = "";
+      this._val = "";
+      this._keyTrunc = false;
+      this._valTrunc = false;
+      this._hitLimit = false;
     }
-    function pipeline(...streams) {
-      return pipelineImpl(streams, once(popCallback(streams)));
-    }
-    function pipelineImpl(streams, callback, opts) {
-      if (streams.length === 1 && ArrayIsArray(streams[0])) {
-        streams = streams[0];
-      }
-      if (streams.length < 2) {
-        throw new ERR_MISSING_ARGS("streams");
-      }
-      const ac = new AbortController2();
-      const signal = ac.signal;
-      const outerSignal = opts === null || opts === void 0 ? void 0 : opts.signal;
-      const lastStreamCleanup = [];
-      validateAbortSignal(outerSignal, "options.signal");
-      function abort() {
-        finishImpl(new AbortError());
-      }
-      addAbortListener = addAbortListener || require_util20().addAbortListener;
-      let disposable;
-      if (outerSignal) {
-        disposable = addAbortListener(outerSignal, abort);
-      }
-      let error3;
-      let value;
-      const destroys = [];
-      let finishCount = 0;
-      function finish(err) {
-        finishImpl(err, --finishCount === 0);
-      }
-      function finishImpl(err, final) {
-        var _disposable;
-        if (err && (!error3 || error3.code === "ERR_STREAM_PREMATURE_CLOSE")) {
-          error3 = err;
-        }
-        if (!error3 && !final) {
-          return;
-        }
-        while (destroys.length) {
-          destroys.shift()(error3);
-        }
-        ;
-        (_disposable = disposable) === null || _disposable === void 0 ? void 0 : _disposable[SymbolDispose]();
-        ac.abort();
-        if (final) {
-          if (!error3) {
-            lastStreamCleanup.forEach((fn) => fn());
-          }
-          process2.nextTick(callback, error3, value);
+    UrlEncoded.prototype.write = function(data, cb) {
+      if (this._fields === this.fieldsLimit) {
+        if (!this.boy.hitFieldsLimit) {
+          this.boy.hitFieldsLimit = true;
+          this.boy.emit("fieldsLimit");
         }
+        return cb();
       }
-      let ret;
-      for (let i = 0; i < streams.length; i++) {
-        const stream = streams[i];
-        const reading = i < streams.length - 1;
-        const writing = i > 0;
-        const end = reading || (opts === null || opts === void 0 ? void 0 : opts.end) !== false;
-        const isLastStream = i === streams.length - 1;
-        if (isNodeStream(stream)) {
-          let onError2 = function(err) {
-            if (err && err.name !== "AbortError" && err.code !== "ERR_STREAM_PREMATURE_CLOSE") {
-              finish(err);
+      let idxeq;
+      let idxamp;
+      let i;
+      let p = 0;
+      const len = data.length;
+      while (p < len) {
+        if (this._state === "key") {
+          idxeq = idxamp = void 0;
+          for (i = p; i < len; ++i) {
+            if (!this._checkingBytes) {
+              ++p;
             }
-          };
-          var onError = onError2;
-          if (end) {
-            const { destroy, cleanup } = destroyer(stream, reading, writing);
-            destroys.push(destroy);
-            if (isReadable(stream) && isLastStream) {
-              lastStreamCleanup.push(cleanup);
+            if (data[i] === 61) {
+              idxeq = i;
+              break;
+            } else if (data[i] === 38) {
+              idxamp = i;
+              break;
             }
-          }
-          stream.on("error", onError2);
-          if (isReadable(stream) && isLastStream) {
-            lastStreamCleanup.push(() => {
-              stream.removeListener("error", onError2);
-            });
-          }
-        }
-        if (i === 0) {
-          if (typeof stream === "function") {
-            ret = stream({
-              signal
-            });
-            if (!isIterable(ret)) {
-              throw new ERR_INVALID_RETURN_VALUE("Iterable, AsyncIterable or Stream", "source", ret);
+            if (this._checkingBytes && this._bytesKey === this.fieldNameSizeLimit) {
+              this._hitLimit = true;
+              break;
+            } else if (this._checkingBytes) {
+              ++this._bytesKey;
             }
-          } else if (isIterable(stream) || isReadableNodeStream(stream) || isTransformStream(stream)) {
-            ret = stream;
-          } else {
-            ret = Duplex.from(stream);
-          }
-        } else if (typeof stream === "function") {
-          if (isTransformStream(ret)) {
-            var _ret;
-            ret = makeAsyncIterable((_ret = ret) === null || _ret === void 0 ? void 0 : _ret.readable);
-          } else {
-            ret = makeAsyncIterable(ret);
           }
-          ret = stream(ret, {
-            signal
-          });
-          if (reading) {
-            if (!isIterable(ret, true)) {
-              throw new ERR_INVALID_RETURN_VALUE("AsyncIterable", `transform[${i - 1}]`, ret);
+          if (idxeq !== void 0) {
+            if (idxeq > p) {
+              this._key += this.decoder.write(data.toString("binary", p, idxeq));
             }
-          } else {
-            var _ret2;
-            if (!PassThrough) {
-              PassThrough = require_passthrough2();
+            this._state = "val";
+            this._hitLimit = false;
+            this._checkingBytes = true;
+            this._val = "";
+            this._bytesVal = 0;
+            this._valTrunc = false;
+            this.decoder.reset();
+            p = idxeq + 1;
+          } else if (idxamp !== void 0) {
+            ++this._fields;
+            let key;
+            const keyTrunc = this._keyTrunc;
+            if (idxamp > p) {
+              key = this._key += this.decoder.write(data.toString("binary", p, idxamp));
+            } else {
+              key = this._key;
             }
-            const pt = new PassThrough({
-              objectMode: true
-            });
-            const then = (_ret2 = ret) === null || _ret2 === void 0 ? void 0 : _ret2.then;
-            if (typeof then === "function") {
-              finishCount++;
-              then.call(
-                ret,
-                (val) => {
-                  value = val;
-                  if (val != null) {
-                    pt.write(val);
-                  }
-                  if (end) {
-                    pt.end();
-                  }
-                  process2.nextTick(finish);
-                },
-                (err) => {
-                  pt.destroy(err);
-                  process2.nextTick(finish, err);
-                }
+            this._hitLimit = false;
+            this._checkingBytes = true;
+            this._key = "";
+            this._bytesKey = 0;
+            this._keyTrunc = false;
+            this.decoder.reset();
+            if (key.length) {
+              this.boy.emit(
+                "field",
+                decodeText(key, "binary", this.charset),
+                "",
+                keyTrunc,
+                false
               );
-            } else if (isIterable(ret, true)) {
-              finishCount++;
-              pumpToNode(ret, pt, finish, {
-                end
-              });
-            } else if (isReadableStream(ret) || isTransformStream(ret)) {
-              const toRead = ret.readable || ret;
-              finishCount++;
-              pumpToNode(toRead, pt, finish, {
-                end
-              });
-            } else {
-              throw new ERR_INVALID_RETURN_VALUE("AsyncIterable or Promise", "destination", ret);
             }
-            ret = pt;
-            const { destroy, cleanup } = destroyer(ret, false, true);
-            destroys.push(destroy);
-            if (isLastStream) {
-              lastStreamCleanup.push(cleanup);
+            p = idxamp + 1;
+            if (this._fields === this.fieldsLimit) {
+              return cb();
+            }
+          } else if (this._hitLimit) {
+            if (i > p) {
+              this._key += this.decoder.write(data.toString("binary", p, i));
+            }
+            p = i;
+            if ((this._bytesKey = this._key.length) === this.fieldNameSizeLimit) {
+              this._checkingBytes = false;
+              this._keyTrunc = true;
+            }
+          } else {
+            if (p < len) {
+              this._key += this.decoder.write(data.toString("binary", p));
             }
+            p = len;
           }
-        } else if (isNodeStream(stream)) {
-          if (isReadableNodeStream(ret)) {
-            finishCount += 2;
-            const cleanup = pipe(ret, stream, finish, {
-              end
-            });
-            if (isReadable(stream) && isLastStream) {
-              lastStreamCleanup.push(cleanup);
+        } else {
+          idxamp = void 0;
+          for (i = p; i < len; ++i) {
+            if (!this._checkingBytes) {
+              ++p;
+            }
+            if (data[i] === 38) {
+              idxamp = i;
+              break;
+            }
+            if (this._checkingBytes && this._bytesVal === this.fieldSizeLimit) {
+              this._hitLimit = true;
+              break;
+            } else if (this._checkingBytes) {
+              ++this._bytesVal;
             }
-          } else if (isTransformStream(ret) || isReadableStream(ret)) {
-            const toRead = ret.readable || ret;
-            finishCount++;
-            pumpToNode(toRead, stream, finish, {
-              end
-            });
-          } else if (isIterable(ret)) {
-            finishCount++;
-            pumpToNode(ret, stream, finish, {
-              end
-            });
-          } else {
-            throw new ERR_INVALID_ARG_TYPE2(
-              "val",
-              ["Readable", "Iterable", "AsyncIterable", "ReadableStream", "TransformStream"],
-              ret
-            );
           }
-          ret = stream;
-        } else if (isWebStream(stream)) {
-          if (isReadableNodeStream(ret)) {
-            finishCount++;
-            pumpToWeb(makeAsyncIterable(ret), stream, finish, {
-              end
-            });
-          } else if (isReadableStream(ret) || isIterable(ret)) {
-            finishCount++;
-            pumpToWeb(ret, stream, finish, {
-              end
-            });
-          } else if (isTransformStream(ret)) {
-            finishCount++;
-            pumpToWeb(ret.readable, stream, finish, {
-              end
-            });
-          } else {
-            throw new ERR_INVALID_ARG_TYPE2(
-              "val",
-              ["Readable", "Iterable", "AsyncIterable", "ReadableStream", "TransformStream"],
-              ret
+          if (idxamp !== void 0) {
+            ++this._fields;
+            if (idxamp > p) {
+              this._val += this.decoder.write(data.toString("binary", p, idxamp));
+            }
+            this.boy.emit(
+              "field",
+              decodeText(this._key, "binary", this.charset),
+              decodeText(this._val, "binary", this.charset),
+              this._keyTrunc,
+              this._valTrunc
             );
+            this._state = "key";
+            this._hitLimit = false;
+            this._checkingBytes = true;
+            this._key = "";
+            this._bytesKey = 0;
+            this._keyTrunc = false;
+            this.decoder.reset();
+            p = idxamp + 1;
+            if (this._fields === this.fieldsLimit) {
+              return cb();
+            }
+          } else if (this._hitLimit) {
+            if (i > p) {
+              this._val += this.decoder.write(data.toString("binary", p, i));
+            }
+            p = i;
+            if (this._val === "" && this.fieldSizeLimit === 0 || (this._bytesVal = this._val.length) === this.fieldSizeLimit) {
+              this._checkingBytes = false;
+              this._valTrunc = true;
+            }
+          } else {
+            if (p < len) {
+              this._val += this.decoder.write(data.toString("binary", p));
+            }
+            p = len;
           }
-          ret = stream;
-        } else {
-          ret = Duplex.from(stream);
         }
       }
-      if (signal !== null && signal !== void 0 && signal.aborted || outerSignal !== null && outerSignal !== void 0 && outerSignal.aborted) {
-        process2.nextTick(abort);
+      cb();
+    };
+    UrlEncoded.prototype.end = function() {
+      if (this.boy._done) {
+        return;
       }
-      return ret;
-    }
-    function pipe(src, dst, finish, { end }) {
-      let ended = false;
-      dst.on("close", () => {
-        if (!ended) {
-          finish(new ERR_STREAM_PREMATURE_CLOSE());
-        }
-      });
-      src.pipe(dst, {
-        end: false
-      });
-      if (end) {
-        let endFn2 = function() {
-          ended = true;
-          dst.end();
-        };
-        var endFn = endFn2;
-        if (isReadableFinished(src)) {
-          process2.nextTick(endFn2);
-        } else {
-          src.once("end", endFn2);
-        }
-      } else {
-        finish();
+      if (this._state === "key" && this._key.length > 0) {
+        this.boy.emit(
+          "field",
+          decodeText(this._key, "binary", this.charset),
+          "",
+          this._keyTrunc,
+          false
+        );
+      } else if (this._state === "val") {
+        this.boy.emit(
+          "field",
+          decodeText(this._key, "binary", this.charset),
+          decodeText(this._val, "binary", this.charset),
+          this._keyTrunc,
+          this._valTrunc
+        );
       }
-      eos(
-        src,
-        {
-          readable: true,
-          writable: false
-        },
-        (err) => {
-          const rState = src._readableState;
-          if (err && err.code === "ERR_STREAM_PREMATURE_CLOSE" && rState && rState.ended && !rState.errored && !rState.errorEmitted) {
-            src.once("end", finish).once("error", finish);
-          } else {
-            finish(err);
-          }
-        }
-      );
-      return eos(
-        dst,
-        {
-          readable: false,
-          writable: true
-        },
-        finish
-      );
-    }
-    module2.exports = {
-      pipelineImpl,
-      pipeline
+      this.boy._done = true;
+      this.boy.emit("finish");
     };
+    module2.exports = UrlEncoded;
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/compose.js
-var require_compose = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/compose.js"(exports2, module2) {
+// node_modules/@fastify/busboy/lib/main.js
+var require_main = __commonJS({
+  "node_modules/@fastify/busboy/lib/main.js"(exports2, module2) {
     "use strict";
-    var { pipeline } = require_pipeline4();
-    var Duplex = require_duplex();
-    var { destroyer } = require_destroy2();
-    var {
-      isNodeStream,
-      isReadable,
-      isWritable,
-      isWebStream,
-      isTransformStream,
-      isWritableStream,
-      isReadableStream
-    } = require_utils8();
-    var {
-      AbortError,
-      codes: { ERR_INVALID_ARG_VALUE, ERR_MISSING_ARGS }
-    } = require_errors5();
-    var eos = require_end_of_stream();
-    module2.exports = function compose(...streams) {
-      if (streams.length === 0) {
-        throw new ERR_MISSING_ARGS("streams");
+    var WritableStream = require("node:stream").Writable;
+    var { inherits } = require("node:util");
+    var Dicer = require_Dicer();
+    var MultipartParser = require_multipart2();
+    var UrlencodedParser = require_urlencoded();
+    var parseParams = require_parseParams();
+    function Busboy(opts) {
+      if (!(this instanceof Busboy)) {
+        return new Busboy(opts);
       }
-      if (streams.length === 1) {
-        return Duplex.from(streams[0]);
+      if (typeof opts !== "object") {
+        throw new TypeError("Busboy expected an options-Object.");
       }
-      const orgStreams = [...streams];
-      if (typeof streams[0] === "function") {
-        streams[0] = Duplex.from(streams[0]);
+      if (typeof opts.headers !== "object") {
+        throw new TypeError("Busboy expected an options-Object with headers-attribute.");
       }
-      if (typeof streams[streams.length - 1] === "function") {
-        const idx = streams.length - 1;
-        streams[idx] = Duplex.from(streams[idx]);
+      if (typeof opts.headers["content-type"] !== "string") {
+        throw new TypeError("Missing Content-Type-header.");
       }
-      for (let n = 0; n < streams.length; ++n) {
-        if (!isNodeStream(streams[n]) && !isWebStream(streams[n])) {
-          continue;
-        }
-        if (n < streams.length - 1 && !(isReadable(streams[n]) || isReadableStream(streams[n]) || isTransformStream(streams[n]))) {
-          throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`, orgStreams[n], "must be readable");
-        }
-        if (n > 0 && !(isWritable(streams[n]) || isWritableStream(streams[n]) || isTransformStream(streams[n]))) {
-          throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`, orgStreams[n], "must be writable");
+      const {
+        headers,
+        ...streamOptions
+      } = opts;
+      this.opts = {
+        autoDestroy: false,
+        ...streamOptions
+      };
+      WritableStream.call(this, this.opts);
+      this._done = false;
+      this._parser = this.getParserByHeaders(headers);
+      this._finished = false;
+    }
+    inherits(Busboy, WritableStream);
+    Busboy.prototype.emit = function(ev) {
+      if (ev === "finish") {
+        if (!this._done) {
+          this._parser?.end();
+          return;
+        } else if (this._finished) {
+          return;
         }
+        this._finished = true;
       }
-      let ondrain;
-      let onfinish;
-      let onreadable;
-      let onclose;
-      let d;
-      function onfinished(err) {
-        const cb = onclose;
-        onclose = null;
-        if (cb) {
-          cb(err);
-        } else if (err) {
-          d.destroy(err);
-        } else if (!readable && !writable) {
-          d.destroy();
-        }
+      WritableStream.prototype.emit.apply(this, arguments);
+    };
+    Busboy.prototype.getParserByHeaders = function(headers) {
+      const parsed = parseParams(headers["content-type"]);
+      const cfg = {
+        defCharset: this.opts.defCharset,
+        fileHwm: this.opts.fileHwm,
+        headers,
+        highWaterMark: this.opts.highWaterMark,
+        isPartAFile: this.opts.isPartAFile,
+        limits: this.opts.limits,
+        parsedConType: parsed,
+        preservePath: this.opts.preservePath
+      };
+      if (MultipartParser.detect.test(parsed[0])) {
+        return new MultipartParser(this, cfg);
       }
-      const head = streams[0];
-      const tail = pipeline(streams, onfinished);
-      const writable = !!(isWritable(head) || isWritableStream(head) || isTransformStream(head));
-      const readable = !!(isReadable(tail) || isReadableStream(tail) || isTransformStream(tail));
-      d = new Duplex({
-        // TODO (ronag): highWaterMark?
-        writableObjectMode: !!(head !== null && head !== void 0 && head.writableObjectMode),
-        readableObjectMode: !!(tail !== null && tail !== void 0 && tail.readableObjectMode),
-        writable,
-        readable
-      });
-      if (writable) {
-        if (isNodeStream(head)) {
-          d._write = function(chunk, encoding, callback) {
-            if (head.write(chunk, encoding)) {
-              callback();
-            } else {
-              ondrain = callback;
-            }
-          };
-          d._final = function(callback) {
-            head.end();
-            onfinish = callback;
-          };
-          head.on("drain", function() {
-            if (ondrain) {
-              const cb = ondrain;
-              ondrain = null;
-              cb();
-            }
-          });
-        } else if (isWebStream(head)) {
-          const writable2 = isTransformStream(head) ? head.writable : head;
-          const writer = writable2.getWriter();
-          d._write = async function(chunk, encoding, callback) {
-            try {
-              await writer.ready;
-              writer.write(chunk).catch(() => {
-              });
-              callback();
-            } catch (err) {
-              callback(err);
-            }
-          };
-          d._final = async function(callback) {
-            try {
-              await writer.ready;
-              writer.close().catch(() => {
-              });
-              onfinish = callback;
-            } catch (err) {
-              callback(err);
-            }
-          };
-        }
-        const toRead = isTransformStream(tail) ? tail.readable : tail;
-        eos(toRead, () => {
-          if (onfinish) {
-            const cb = onfinish;
-            onfinish = null;
-            cb();
-          }
-        });
+      if (UrlencodedParser.detect.test(parsed[0])) {
+        return new UrlencodedParser(this, cfg);
+      }
+      throw new Error("Unsupported Content-Type.");
+    };
+    Busboy.prototype._write = function(chunk, encoding, cb) {
+      this._parser.write(chunk, cb);
+    };
+    module2.exports = Busboy;
+    module2.exports.default = Busboy;
+    module2.exports.Busboy = Busboy;
+    module2.exports.Dicer = Dicer;
+  }
+});
+
+// node_modules/undici/lib/fetch/constants.js
+var require_constants21 = __commonJS({
+  "node_modules/undici/lib/fetch/constants.js"(exports2, module2) {
+    "use strict";
+    var { MessageChannel, receiveMessageOnPort } = require("worker_threads");
+    var corsSafeListedMethods = ["GET", "HEAD", "POST"];
+    var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
+    var nullBodyStatus = [101, 204, 205, 304];
+    var redirectStatus = [301, 302, 303, 307, 308];
+    var redirectStatusSet = new Set(redirectStatus);
+    var badPorts = [
+      "1",
+      "7",
+      "9",
+      "11",
+      "13",
+      "15",
+      "17",
+      "19",
+      "20",
+      "21",
+      "22",
+      "23",
+      "25",
+      "37",
+      "42",
+      "43",
+      "53",
+      "69",
+      "77",
+      "79",
+      "87",
+      "95",
+      "101",
+      "102",
+      "103",
+      "104",
+      "109",
+      "110",
+      "111",
+      "113",
+      "115",
+      "117",
+      "119",
+      "123",
+      "135",
+      "137",
+      "139",
+      "143",
+      "161",
+      "179",
+      "389",
+      "427",
+      "465",
+      "512",
+      "513",
+      "514",
+      "515",
+      "526",
+      "530",
+      "531",
+      "532",
+      "540",
+      "548",
+      "554",
+      "556",
+      "563",
+      "587",
+      "601",
+      "636",
+      "989",
+      "990",
+      "993",
+      "995",
+      "1719",
+      "1720",
+      "1723",
+      "2049",
+      "3659",
+      "4045",
+      "5060",
+      "5061",
+      "6000",
+      "6566",
+      "6665",
+      "6666",
+      "6667",
+      "6668",
+      "6669",
+      "6697",
+      "10080"
+    ];
+    var badPortsSet = new Set(badPorts);
+    var referrerPolicy = [
+      "",
+      "no-referrer",
+      "no-referrer-when-downgrade",
+      "same-origin",
+      "origin",
+      "strict-origin",
+      "origin-when-cross-origin",
+      "strict-origin-when-cross-origin",
+      "unsafe-url"
+    ];
+    var referrerPolicySet = new Set(referrerPolicy);
+    var requestRedirect = ["follow", "manual", "error"];
+    var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"];
+    var safeMethodsSet = new Set(safeMethods);
+    var requestMode = ["navigate", "same-origin", "no-cors", "cors"];
+    var requestCredentials = ["omit", "same-origin", "include"];
+    var requestCache = [
+      "default",
+      "no-store",
+      "reload",
+      "no-cache",
+      "force-cache",
+      "only-if-cached"
+    ];
+    var requestBodyHeader = [
+      "content-encoding",
+      "content-language",
+      "content-location",
+      "content-type",
+      // See https://github.com/nodejs/undici/issues/2021
+      // 'Content-Length' is a forbidden header name, which is typically
+      // removed in the Headers implementation. However, undici doesn't
+      // filter out headers, so we add it here.
+      "content-length"
+    ];
+    var requestDuplex = [
+      "half"
+    ];
+    var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"];
+    var forbiddenMethodsSet = new Set(forbiddenMethods);
+    var subresource = [
+      "audio",
+      "audioworklet",
+      "font",
+      "image",
+      "manifest",
+      "paintworklet",
+      "script",
+      "style",
+      "track",
+      "video",
+      "xslt",
+      ""
+    ];
+    var subresourceSet = new Set(subresource);
+    var DOMException2 = globalThis.DOMException ?? (() => {
+      try {
+        atob("~");
+      } catch (err) {
+        return Object.getPrototypeOf(err).constructor;
       }
-      if (readable) {
-        if (isNodeStream(tail)) {
-          tail.on("readable", function() {
-            if (onreadable) {
-              const cb = onreadable;
-              onreadable = null;
-              cb();
-            }
-          });
-          tail.on("end", function() {
-            d.push(null);
-          });
-          d._read = function() {
-            while (true) {
-              const buf = tail.read();
-              if (buf === null) {
-                onreadable = d._read;
-                return;
-              }
-              if (!d.push(buf)) {
-                return;
-              }
-            }
-          };
-        } else if (isWebStream(tail)) {
-          const readable2 = isTransformStream(tail) ? tail.readable : tail;
-          const reader = readable2.getReader();
-          d._read = async function() {
-            while (true) {
-              try {
-                const { value, done } = await reader.read();
-                if (!d.push(value)) {
-                  return;
-                }
-                if (done) {
-                  d.push(null);
-                  return;
-                }
-              } catch {
-                return;
-              }
-            }
-          };
-        }
+    })();
+    var channel;
+    var structuredClone = globalThis.structuredClone ?? // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js
+    // structuredClone was added in v17.0.0, but fetch supports v16.8
+    function structuredClone2(value, options = void 0) {
+      if (arguments.length === 0) {
+        throw new TypeError("missing argument");
       }
-      d._destroy = function(err, callback) {
-        if (!err && onclose !== null) {
-          err = new AbortError();
-        }
-        onreadable = null;
-        ondrain = null;
-        onfinish = null;
-        if (onclose === null) {
-          callback(err);
-        } else {
-          onclose = callback;
-          if (isNodeStream(tail)) {
-            destroyer(tail, err);
-          }
-        }
-      };
-      return d;
+      if (!channel) {
+        channel = new MessageChannel();
+      }
+      channel.port1.unref();
+      channel.port2.unref();
+      channel.port1.postMessage(value, options?.transfer);
+      return receiveMessageOnPort(channel.port2).message;
+    };
+    module2.exports = {
+      DOMException: DOMException2,
+      structuredClone,
+      subresource,
+      forbiddenMethods,
+      requestBodyHeader,
+      referrerPolicy,
+      requestRedirect,
+      requestMode,
+      requestCredentials,
+      requestCache,
+      redirectStatus,
+      corsSafeListedMethods,
+      nullBodyStatus,
+      safeMethods,
+      badPorts,
+      requestDuplex,
+      subresourceSet,
+      badPortsSet,
+      redirectStatusSet,
+      corsSafeListedMethodsSet,
+      safeMethodsSet,
+      forbiddenMethodsSet,
+      referrerPolicySet
     };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/operators.js
-var require_operators = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/operators.js"(exports2, module2) {
+// node_modules/undici/lib/fetch/global.js
+var require_global5 = __commonJS({
+  "node_modules/undici/lib/fetch/global.js"(exports2, module2) {
     "use strict";
-    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
-    var {
-      codes: { ERR_INVALID_ARG_VALUE, ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_MISSING_ARGS, ERR_OUT_OF_RANGE },
-      AbortError
-    } = require_errors5();
-    var { validateAbortSignal, validateInteger, validateObject } = require_validators();
-    var kWeakHandler = require_primordials().Symbol("kWeak");
-    var kResistStopPropagation = require_primordials().Symbol("kResistStopPropagation");
-    var { finished } = require_end_of_stream();
-    var staticCompose = require_compose();
-    var { addAbortSignalNoValidate } = require_add_abort_signal();
-    var { isWritable, isNodeStream } = require_utils8();
-    var { deprecate } = require_util20();
-    var {
-      ArrayPrototypePush,
-      Boolean: Boolean2,
-      MathFloor,
-      Number: Number2,
-      NumberIsNaN,
-      Promise: Promise2,
-      PromiseReject,
-      PromiseResolve,
-      PromisePrototypeThen,
-      Symbol: Symbol2
-    } = require_primordials();
-    var kEmpty = Symbol2("kEmpty");
-    var kEof = Symbol2("kEof");
-    function compose(stream, options) {
-      if (options != null) {
-        validateObject(options, "options");
-      }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
-      }
-      if (isNodeStream(stream) && !isWritable(stream)) {
-        throw new ERR_INVALID_ARG_VALUE("stream", stream, "must be writable");
-      }
-      const composedStream = staticCompose(this, stream);
-      if (options !== null && options !== void 0 && options.signal) {
-        addAbortSignalNoValidate(options.signal, composedStream);
-      }
-      return composedStream;
+    var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
+    function getGlobalOrigin() {
+      return globalThis[globalOrigin];
     }
-    function map2(fn, options) {
-      if (typeof fn !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
-      }
-      if (options != null) {
-        validateObject(options, "options");
-      }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
-      }
-      let concurrency = 1;
-      if ((options === null || options === void 0 ? void 0 : options.concurrency) != null) {
-        concurrency = MathFloor(options.concurrency);
+    function setGlobalOrigin(newOrigin) {
+      if (newOrigin === void 0) {
+        Object.defineProperty(globalThis, globalOrigin, {
+          value: void 0,
+          writable: true,
+          enumerable: false,
+          configurable: false
+        });
+        return;
       }
-      let highWaterMark = concurrency - 1;
-      if ((options === null || options === void 0 ? void 0 : options.highWaterMark) != null) {
-        highWaterMark = MathFloor(options.highWaterMark);
+      const parsedURL = new URL(newOrigin);
+      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
+        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
       }
-      validateInteger(concurrency, "options.concurrency", 1);
-      validateInteger(highWaterMark, "options.highWaterMark", 0);
-      highWaterMark += concurrency;
-      return async function* map3() {
-        const signal = require_util20().AbortSignalAny(
-          [options === null || options === void 0 ? void 0 : options.signal].filter(Boolean2)
-        );
-        const stream = this;
-        const queue = [];
-        const signalOpt = {
-          signal
-        };
-        let next;
-        let resume;
-        let done = false;
-        let cnt = 0;
-        function onCatch() {
-          done = true;
-          afterItemProcessed();
-        }
-        function afterItemProcessed() {
-          cnt -= 1;
-          maybeResume();
-        }
-        function maybeResume() {
-          if (resume && !done && cnt < concurrency && queue.length < highWaterMark) {
-            resume();
-            resume = null;
-          }
-        }
-        async function pump() {
-          try {
-            for await (let val of stream) {
-              if (done) {
-                return;
-              }
-              if (signal.aborted) {
-                throw new AbortError();
-              }
-              try {
-                val = fn(val, signalOpt);
-                if (val === kEmpty) {
-                  continue;
-                }
-                val = PromiseResolve(val);
-              } catch (err) {
-                val = PromiseReject(err);
-              }
-              cnt += 1;
-              PromisePrototypeThen(val, afterItemProcessed, onCatch);
-              queue.push(val);
-              if (next) {
-                next();
-                next = null;
-              }
-              if (!done && (queue.length >= highWaterMark || cnt >= concurrency)) {
-                await new Promise2((resolve3) => {
-                  resume = resolve3;
-                });
-              }
-            }
-            queue.push(kEof);
-          } catch (err) {
-            const val = PromiseReject(err);
-            PromisePrototypeThen(val, afterItemProcessed, onCatch);
-            queue.push(val);
-          } finally {
-            done = true;
-            if (next) {
-              next();
-              next = null;
-            }
-          }
-        }
-        pump();
-        try {
-          while (true) {
-            while (queue.length > 0) {
-              const val = await queue[0];
-              if (val === kEof) {
-                return;
-              }
-              if (signal.aborted) {
-                throw new AbortError();
-              }
-              if (val !== kEmpty) {
-                yield val;
-              }
-              queue.shift();
-              maybeResume();
-            }
-            await new Promise2((resolve3) => {
-              next = resolve3;
-            });
-          }
-        } finally {
-          done = true;
-          if (resume) {
-            resume();
-            resume = null;
-          }
-        }
-      }.call(this);
+      Object.defineProperty(globalThis, globalOrigin, {
+        value: parsedURL,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
     }
-    function asIndexedPairs(options = void 0) {
-      if (options != null) {
-        validateObject(options, "options");
+    module2.exports = {
+      getGlobalOrigin,
+      setGlobalOrigin
+    };
+  }
+});
+
+// node_modules/undici/lib/fetch/util.js
+var require_util25 = __commonJS({
+  "node_modules/undici/lib/fetch/util.js"(exports2, module2) {
+    "use strict";
+    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants21();
+    var { getGlobalOrigin } = require_global5();
+    var { performance: performance2 } = require("perf_hooks");
+    var { isBlobLike, toUSVString, ReadableStreamFrom } = require_util24();
+    var assert = require("assert");
+    var { isUint8Array } = require("util/types");
+    var supportedHashes = [];
+    var crypto2;
+    try {
+      crypto2 = require("crypto");
+      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
+      supportedHashes = crypto2.getHashes().filter((hash) => possibleRelevantHashes.includes(hash));
+    } catch {
+    }
+    function responseURL(response) {
+      const urlList = response.urlList;
+      const length = urlList.length;
+      return length === 0 ? null : urlList[length - 1].toString();
+    }
+    function responseLocationURL(response, requestFragment) {
+      if (!redirectStatusSet.has(response.status)) {
+        return null;
       }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
+      let location = response.headersList.get("location");
+      if (location !== null && isValidHeaderValue(location)) {
+        location = new URL(location, responseURL(response));
       }
-      return async function* asIndexedPairs2() {
-        let index = 0;
-        for await (const val of this) {
-          var _options$signal;
-          if (options !== null && options !== void 0 && (_options$signal = options.signal) !== null && _options$signal !== void 0 && _options$signal.aborted) {
-            throw new AbortError({
-              cause: options.signal.reason
-            });
-          }
-          yield [index++, val];
-        }
-      }.call(this);
-    }
-    async function some(fn, options = void 0) {
-      for await (const unused of filter.call(this, fn, options)) {
-        return true;
+      if (location && !location.hash) {
+        location.hash = requestFragment;
       }
-      return false;
+      return location;
     }
-    async function every(fn, options = void 0) {
-      if (typeof fn !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
-      }
-      return !await some.call(
-        this,
-        async (...args) => {
-          return !await fn(...args);
-        },
-        options
-      );
+    function requestCurrentURL(request2) {
+      return request2.urlList[request2.urlList.length - 1];
     }
-    async function find2(fn, options) {
-      for await (const result of filter.call(this, fn, options)) {
-        return result;
+    function requestBadPort(request2) {
+      const url = requestCurrentURL(request2);
+      if (urlIsHttpHttpsScheme(url) && badPortsSet.has(url.port)) {
+        return "blocked";
       }
-      return void 0;
+      return "allowed";
     }
-    async function forEach(fn, options) {
-      if (typeof fn !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
-      }
-      async function forEachFn(value, options2) {
-        await fn(value, options2);
-        return kEmpty;
-      }
-      for await (const unused of map2.call(this, forEachFn, options)) ;
+    function isErrorLike(object) {
+      return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException");
     }
-    function filter(fn, options) {
-      if (typeof fn !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
-      }
-      async function filterFn(value, options2) {
-        if (await fn(value, options2)) {
-          return value;
+    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 kEmpty;
       }
-      return map2.call(this, filterFn, options);
+      return true;
     }
-    var ReduceAwareErrMissingArgs = class extends ERR_MISSING_ARGS {
-      constructor() {
-        super("reduce");
-        this.message = "Reduce of an empty stream requires an initial value";
-      }
-    };
-    async function reduce(reducer, initialValue, options) {
-      var _options$signal2;
-      if (typeof reducer !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2("reducer", ["Function", "AsyncFunction"], reducer);
-      }
-      if (options != null) {
-        validateObject(options, "options");
-      }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
-      }
-      let hasInitialValue = arguments.length > 1;
-      if (options !== null && options !== void 0 && (_options$signal2 = options.signal) !== null && _options$signal2 !== void 0 && _options$signal2.aborted) {
-        const err = new AbortError(void 0, {
-          cause: options.signal.reason
-        });
-        this.once("error", () => {
-        });
-        await finished(this.destroy(err));
-        throw err;
-      }
-      const ac = new AbortController2();
-      const signal = ac.signal;
-      if (options !== null && options !== void 0 && options.signal) {
-        const opts = {
-          once: true,
-          [kWeakHandler]: this,
-          [kResistStopPropagation]: true
-        };
-        options.signal.addEventListener("abort", () => ac.abort(), opts);
-      }
-      let gotAnyItemFromStream = false;
-      try {
-        for await (const value of this) {
-          var _options$signal3;
-          gotAnyItemFromStream = true;
-          if (options !== null && options !== void 0 && (_options$signal3 = options.signal) !== null && _options$signal3 !== void 0 && _options$signal3.aborted) {
-            throw new AbortError();
-          }
-          if (!hasInitialValue) {
-            initialValue = value;
-            hasInitialValue = true;
-          } else {
-            initialValue = await reducer(initialValue, value, {
-              signal
-            });
-          }
-        }
-        if (!gotAnyItemFromStream && !hasInitialValue) {
-          throw new ReduceAwareErrMissingArgs();
-        }
-      } finally {
-        ac.abort();
+    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;
       }
-      return initialValue;
     }
-    async function toArray2(options) {
-      if (options != null) {
-        validateObject(options, "options");
-      }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
+    function isValidHTTPToken(characters) {
+      if (characters.length === 0) {
+        return false;
       }
-      const result = [];
-      for await (const val of this) {
-        var _options$signal4;
-        if (options !== null && options !== void 0 && (_options$signal4 = options.signal) !== null && _options$signal4 !== void 0 && _options$signal4.aborted) {
-          throw new AbortError(void 0, {
-            cause: options.signal.reason
-          });
+      for (let i = 0; i < characters.length; ++i) {
+        if (!isTokenCharCode(characters.charCodeAt(i))) {
+          return false;
         }
-        ArrayPrototypePush(result, val);
       }
-      return result;
+      return true;
     }
-    function flatMap(fn, options) {
-      const values = map2.call(this, fn, options);
-      return async function* flatMap2() {
-        for await (const val of values) {
-          yield* val;
-        }
-      }.call(this);
+    function isValidHeaderName(potentialValue) {
+      return isValidHTTPToken(potentialValue);
     }
-    function toIntegerOrInfinity(number) {
-      number = Number2(number);
-      if (NumberIsNaN(number)) {
-        return 0;
+    function isValidHeaderValue(potentialValue) {
+      if (potentialValue.startsWith("	") || potentialValue.startsWith(" ") || potentialValue.endsWith("	") || potentialValue.endsWith(" ")) {
+        return false;
       }
-      if (number < 0) {
-        throw new ERR_OUT_OF_RANGE("number", ">= 0", number);
+      if (potentialValue.includes("\0") || potentialValue.includes("\r") || potentialValue.includes("\n")) {
+        return false;
       }
-      return number;
+      return true;
     }
-    function drop(number, options = void 0) {
-      if (options != null) {
-        validateObject(options, "options");
-      }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
-      }
-      number = toIntegerOrInfinity(number);
-      return async function* drop2() {
-        var _options$signal5;
-        if (options !== null && options !== void 0 && (_options$signal5 = options.signal) !== null && _options$signal5 !== void 0 && _options$signal5.aborted) {
-          throw new AbortError();
-        }
-        for await (const val of this) {
-          var _options$signal6;
-          if (options !== null && options !== void 0 && (_options$signal6 = options.signal) !== null && _options$signal6 !== void 0 && _options$signal6.aborted) {
-            throw new AbortError();
-          }
-          if (number-- <= 0) {
-            yield val;
+    function setRequestReferrerPolicyOnRedirect(request2, actualResponse) {
+      const { headersList } = actualResponse;
+      const policyHeader = (headersList.get("referrer-policy") ?? "").split(",");
+      let policy = "";
+      if (policyHeader.length > 0) {
+        for (let i = policyHeader.length; i !== 0; i--) {
+          const token = policyHeader[i - 1].trim();
+          if (referrerPolicyTokens.has(token)) {
+            policy = token;
+            break;
           }
         }
-      }.call(this);
-    }
-    function take(number, options = void 0) {
-      if (options != null) {
-        validateObject(options, "options");
       }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
+      if (policy !== "") {
+        request2.referrerPolicy = policy;
       }
-      number = toIntegerOrInfinity(number);
-      return async function* take2() {
-        var _options$signal7;
-        if (options !== null && options !== void 0 && (_options$signal7 = options.signal) !== null && _options$signal7 !== void 0 && _options$signal7.aborted) {
-          throw new AbortError();
-        }
-        for await (const val of this) {
-          var _options$signal8;
-          if (options !== null && options !== void 0 && (_options$signal8 = options.signal) !== null && _options$signal8 !== void 0 && _options$signal8.aborted) {
-            throw new AbortError();
-          }
-          if (number-- > 0) {
-            yield val;
-          }
-          if (number <= 0) {
-            return;
-          }
-        }
-      }.call(this);
     }
-    module2.exports.streamReturningOperators = {
-      asIndexedPairs: deprecate(asIndexedPairs, "readable.asIndexedPairs will be removed in a future version."),
-      drop,
-      filter,
-      flatMap,
-      map: map2,
-      take,
-      compose
-    };
-    module2.exports.promiseReturningOperators = {
-      every,
-      forEach,
-      reduce,
-      toArray: toArray2,
-      some,
-      find: find2
-    };
-  }
-});
-
-// node_modules/readable-stream/lib/stream/promises.js
-var require_promises = __commonJS({
-  "node_modules/readable-stream/lib/stream/promises.js"(exports2, module2) {
-    "use strict";
-    var { ArrayPrototypePop, Promise: Promise2 } = require_primordials();
-    var { isIterable, isNodeStream, isWebStream } = require_utils8();
-    var { pipelineImpl: pl } = require_pipeline4();
-    var { finished } = require_end_of_stream();
-    require_stream2();
-    function pipeline(...streams) {
-      return new Promise2((resolve3, reject) => {
-        let signal;
-        let end;
-        const lastArg = streams[streams.length - 1];
-        if (lastArg && typeof lastArg === "object" && !isNodeStream(lastArg) && !isIterable(lastArg) && !isWebStream(lastArg)) {
-          const options = ArrayPrototypePop(streams);
-          signal = options.signal;
-          end = options.end;
+    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);
+    }
+    function appendRequestOriginHeader(request2) {
+      let serializedOrigin = request2.origin;
+      if (request2.responseTainting === "cors" || request2.mode === "websocket") {
+        if (serializedOrigin) {
+          request2.headersList.append("origin", serializedOrigin);
         }
-        pl(
-          streams,
-          (err, value) => {
-            if (err) {
-              reject(err);
-            } else {
-              resolve3(value);
+      } 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;
             }
-          },
-          {
-            signal,
-            end
-          }
-        );
-      });
-    }
-    module2.exports = {
-      finished,
-      pipeline
-    };
-  }
-});
-
-// node_modules/readable-stream/lib/stream.js
-var require_stream2 = __commonJS({
-  "node_modules/readable-stream/lib/stream.js"(exports2, module2) {
-    var { Buffer: Buffer2 } = require("buffer");
-    var { ObjectDefineProperty, ObjectKeys, ReflectApply } = require_primordials();
-    var {
-      promisify: { custom: customPromisify }
-    } = require_util20();
-    var { streamReturningOperators, promiseReturningOperators } = require_operators();
-    var {
-      codes: { ERR_ILLEGAL_CONSTRUCTOR }
-    } = require_errors5();
-    var compose = require_compose();
-    var { setDefaultHighWaterMark, getDefaultHighWaterMark } = require_state3();
-    var { pipeline } = require_pipeline4();
-    var { destroyer } = require_destroy2();
-    var eos = require_end_of_stream();
-    var promises = require_promises();
-    var utils = require_utils8();
-    var Stream = module2.exports = require_legacy().Stream;
-    Stream.isDestroyed = utils.isDestroyed;
-    Stream.isDisturbed = utils.isDisturbed;
-    Stream.isErrored = utils.isErrored;
-    Stream.isReadable = utils.isReadable;
-    Stream.isWritable = utils.isWritable;
-    Stream.Readable = require_readable4();
-    for (const key of ObjectKeys(streamReturningOperators)) {
-      let fn2 = function(...args) {
-        if (new.target) {
-          throw ERR_ILLEGAL_CONSTRUCTOR();
+            break;
+          case "same-origin":
+            if (!sameOrigin(request2, requestCurrentURL(request2))) {
+              serializedOrigin = null;
+            }
+            break;
+          default:
         }
-        return Stream.Readable.from(ReflectApply(op, this, args));
+        if (serializedOrigin) {
+          request2.headersList.append("origin", serializedOrigin);
+        }
+      }
+    }
+    function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
+      return performance2.now();
+    }
+    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
       };
-      fn = fn2;
-      const op = streamReturningOperators[key];
-      ObjectDefineProperty(fn2, "name", {
-        __proto__: null,
-        value: op.name
-      });
-      ObjectDefineProperty(fn2, "length", {
-        __proto__: null,
-        value: op.length
-      });
-      ObjectDefineProperty(Stream.Readable.prototype, key, {
-        __proto__: null,
-        value: fn2,
-        enumerable: false,
-        configurable: true,
-        writable: true
-      });
     }
-    var fn;
-    for (const key of ObjectKeys(promiseReturningOperators)) {
-      let fn2 = function(...args) {
-        if (new.target) {
-          throw ERR_ILLEGAL_CONSTRUCTOR();
-        }
-        return ReflectApply(op, this, args);
+    function makePolicyContainer() {
+      return {
+        referrerPolicy: "strict-origin-when-cross-origin"
       };
-      fn = fn2;
-      const op = promiseReturningOperators[key];
-      ObjectDefineProperty(fn2, "name", {
-        __proto__: null,
-        value: op.name
-      });
-      ObjectDefineProperty(fn2, "length", {
-        __proto__: null,
-        value: op.length
-      });
-      ObjectDefineProperty(Stream.Readable.prototype, key, {
-        __proto__: null,
-        value: fn2,
-        enumerable: false,
-        configurable: true,
-        writable: true
-      });
     }
-    var fn;
-    Stream.Writable = require_writable();
-    Stream.Duplex = require_duplex();
-    Stream.Transform = require_transform();
-    Stream.PassThrough = require_passthrough2();
-    Stream.pipeline = pipeline;
-    var { addAbortSignal } = require_add_abort_signal();
-    Stream.addAbortSignal = addAbortSignal;
-    Stream.finished = eos;
-    Stream.destroy = destroyer;
-    Stream.compose = compose;
-    Stream.setDefaultHighWaterMark = setDefaultHighWaterMark;
-    Stream.getDefaultHighWaterMark = getDefaultHighWaterMark;
-    ObjectDefineProperty(Stream, "promises", {
-      __proto__: null,
-      configurable: true,
-      enumerable: true,
-      get() {
-        return promises;
-      }
-    });
-    ObjectDefineProperty(pipeline, customPromisify, {
-      __proto__: null,
-      enumerable: true,
-      get() {
-        return promises.pipeline;
+    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;
       }
-    });
-    ObjectDefineProperty(eos, customPromisify, {
-      __proto__: null,
-      enumerable: true,
-      get() {
-        return promises.finished;
+      let referrerURL = stripURLForReferrer(referrerSource);
+      const referrerOrigin = stripURLForReferrer(referrerSource, true);
+      if (referrerURL.toString().length > 4096) {
+        referrerURL = referrerOrigin;
       }
-    });
-    Stream.Stream = Stream;
-    Stream._isUint8Array = function isUint8Array(value) {
-      return value instanceof Uint8Array;
-    };
-    Stream._uint8ArrayToBuffer = function _uint8ArrayToBuffer(chunk) {
-      return Buffer2.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
-    };
-  }
-});
-
-// node_modules/readable-stream/lib/ours/index.js
-var require_ours = __commonJS({
-  "node_modules/readable-stream/lib/ours/index.js"(exports2, module2) {
-    "use strict";
-    var Stream = require("stream");
-    if (Stream && process.env.READABLE_STREAM === "disable") {
-      const promises = Stream.promises;
-      module2.exports._uint8ArrayToBuffer = Stream._uint8ArrayToBuffer;
-      module2.exports._isUint8Array = Stream._isUint8Array;
-      module2.exports.isDisturbed = Stream.isDisturbed;
-      module2.exports.isErrored = Stream.isErrored;
-      module2.exports.isReadable = Stream.isReadable;
-      module2.exports.Readable = Stream.Readable;
-      module2.exports.Writable = Stream.Writable;
-      module2.exports.Duplex = Stream.Duplex;
-      module2.exports.Transform = Stream.Transform;
-      module2.exports.PassThrough = Stream.PassThrough;
-      module2.exports.addAbortSignal = Stream.addAbortSignal;
-      module2.exports.finished = Stream.finished;
-      module2.exports.destroy = Stream.destroy;
-      module2.exports.pipeline = Stream.pipeline;
-      module2.exports.compose = Stream.compose;
-      Object.defineProperty(Stream, "promises", {
-        configurable: true,
-        enumerable: true,
-        get() {
-          return promises;
-        }
-      });
-      module2.exports.Stream = Stream.Stream;
-    } else {
-      const CustomStream = require_stream2();
-      const promises = require_promises();
-      const originalDestroy = CustomStream.Readable.destroy;
-      module2.exports = CustomStream.Readable;
-      module2.exports._uint8ArrayToBuffer = CustomStream._uint8ArrayToBuffer;
-      module2.exports._isUint8Array = CustomStream._isUint8Array;
-      module2.exports.isDisturbed = CustomStream.isDisturbed;
-      module2.exports.isErrored = CustomStream.isErrored;
-      module2.exports.isReadable = CustomStream.isReadable;
-      module2.exports.Readable = CustomStream.Readable;
-      module2.exports.Writable = CustomStream.Writable;
-      module2.exports.Duplex = CustomStream.Duplex;
-      module2.exports.Transform = CustomStream.Transform;
-      module2.exports.PassThrough = CustomStream.PassThrough;
-      module2.exports.addAbortSignal = CustomStream.addAbortSignal;
-      module2.exports.finished = CustomStream.finished;
-      module2.exports.destroy = CustomStream.destroy;
-      module2.exports.destroy = originalDestroy;
-      module2.exports.pipeline = CustomStream.pipeline;
-      module2.exports.compose = CustomStream.compose;
-      Object.defineProperty(CustomStream, "promises", {
-        configurable: true,
-        enumerable: true,
-        get() {
-          return promises;
+      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;
         }
-      });
-      module2.exports.Stream = CustomStream.Stream;
-    }
-    module2.exports.default = module2.exports;
-  }
-});
-
-// node_modules/lodash/_arrayPush.js
-var require_arrayPush = __commonJS({
-  "node_modules/lodash/_arrayPush.js"(exports2, module2) {
-    function arrayPush(array, values) {
-      var index = -1, length = values.length, offset = array.length;
-      while (++index < length) {
-        array[offset + index] = values[index];
+        case "strict-origin":
+        // eslint-disable-line
+        /**
+           * 1. If referrerURL is a potentially trustworthy URL and
+           * request’s current URL is not a potentially trustworthy URL,
+           * then return no referrer.
+           * 2. Return referrerOrigin
+          */
+        case "no-referrer-when-downgrade":
+        // eslint-disable-line
+        /**
+         * 1. If referrerURL is a potentially trustworthy URL and
+         * request’s current URL is not a potentially trustworthy URL,
+         * then return no referrer.
+         * 2. Return referrerOrigin
+        */
+        default:
+          return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
       }
-      return array;
     }
-    module2.exports = arrayPush;
-  }
-});
-
-// node_modules/lodash/_isFlattenable.js
-var require_isFlattenable = __commonJS({
-  "node_modules/lodash/_isFlattenable.js"(exports2, module2) {
-    var Symbol2 = require_Symbol();
-    var isArguments = require_isArguments();
-    var isArray = require_isArray();
-    var spreadableSymbol = Symbol2 ? Symbol2.isConcatSpreadable : void 0;
-    function isFlattenable(value) {
-      return isArray(value) || isArguments(value) || !!(spreadableSymbol && value && value[spreadableSymbol]);
+    function stripURLForReferrer(url, originOnly) {
+      assert(url instanceof 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;
     }
-    module2.exports = isFlattenable;
-  }
-});
-
-// node_modules/lodash/_baseFlatten.js
-var require_baseFlatten = __commonJS({
-  "node_modules/lodash/_baseFlatten.js"(exports2, module2) {
-    var arrayPush = require_arrayPush();
-    var isFlattenable = require_isFlattenable();
-    function baseFlatten(array, depth, predicate, isStrict, result) {
-      var index = -1, length = array.length;
-      predicate || (predicate = isFlattenable);
-      result || (result = []);
-      while (++index < length) {
-        var value = array[index];
-        if (depth > 0 && predicate(value)) {
-          if (depth > 1) {
-            baseFlatten(value, depth - 1, predicate, isStrict, result);
+    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 (crypto2 === 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 = crypto2.createHash(algorithm).update(bytes).digest("base64");
+        if (actualValue[actualValue.length - 1] === "=") {
+          if (actualValue[actualValue.length - 2] === "=") {
+            actualValue = actualValue.slice(0, -2);
           } else {
-            arrayPush(result, value);
+            actualValue = actualValue.slice(0, -1);
           }
-        } else if (!isStrict) {
-          result[result.length] = value;
+        }
+        if (compareBase64Mixed(actualValue, expectedValue)) {
+          return true;
         }
       }
-      return result;
-    }
-    module2.exports = baseFlatten;
-  }
-});
-
-// node_modules/lodash/flatten.js
-var require_flatten = __commonJS({
-  "node_modules/lodash/flatten.js"(exports2, module2) {
-    var baseFlatten = require_baseFlatten();
-    function flatten(array) {
-      var length = array == null ? 0 : array.length;
-      return length ? baseFlatten(array, 1) : [];
-    }
-    module2.exports = flatten;
-  }
-});
-
-// node_modules/lodash/_nativeCreate.js
-var require_nativeCreate = __commonJS({
-  "node_modules/lodash/_nativeCreate.js"(exports2, module2) {
-    var getNative = require_getNative();
-    var nativeCreate = getNative(Object, "create");
-    module2.exports = nativeCreate;
-  }
-});
-
-// node_modules/lodash/_hashClear.js
-var require_hashClear = __commonJS({
-  "node_modules/lodash/_hashClear.js"(exports2, module2) {
-    var nativeCreate = require_nativeCreate();
-    function hashClear() {
-      this.__data__ = nativeCreate ? nativeCreate(null) : {};
-      this.size = 0;
+      return false;
     }
-    module2.exports = hashClear;
-  }
-});
-
-// node_modules/lodash/_hashDelete.js
-var require_hashDelete = __commonJS({
-  "node_modules/lodash/_hashDelete.js"(exports2, module2) {
-    function hashDelete(key) {
-      var result = this.has(key) && delete this.__data__[key];
-      this.size -= result ? 1 : 0;
+    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 token of metadata.split(" ")) {
+        empty = false;
+        const parsedToken = parseHashWithOptions.exec(token);
+        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;
     }
-    module2.exports = hashDelete;
-  }
-});
-
-// node_modules/lodash/_hashGet.js
-var require_hashGet = __commonJS({
-  "node_modules/lodash/_hashGet.js"(exports2, module2) {
-    var nativeCreate = require_nativeCreate();
-    var HASH_UNDEFINED = "__lodash_hash_undefined__";
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    function hashGet(key) {
-      var data = this.__data__;
-      if (nativeCreate) {
-        var result = data[key];
-        return result === HASH_UNDEFINED ? void 0 : result;
+    function getStrongestMetadata(metadataList) {
+      let algorithm = metadataList[0].algo;
+      if (algorithm[3] === "5") {
+        return algorithm;
       }
-      return hasOwnProperty.call(data, key) ? data[key] : void 0;
-    }
-    module2.exports = hashGet;
-  }
-});
-
-// node_modules/lodash/_hashHas.js
-var require_hashHas = __commonJS({
-  "node_modules/lodash/_hashHas.js"(exports2, module2) {
-    var nativeCreate = require_nativeCreate();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    function hashHas(key) {
-      var data = this.__data__;
-      return nativeCreate ? data[key] !== void 0 : hasOwnProperty.call(data, key);
-    }
-    module2.exports = hashHas;
-  }
-});
-
-// node_modules/lodash/_hashSet.js
-var require_hashSet = __commonJS({
-  "node_modules/lodash/_hashSet.js"(exports2, module2) {
-    var nativeCreate = require_nativeCreate();
-    var HASH_UNDEFINED = "__lodash_hash_undefined__";
-    function hashSet(key, value) {
-      var data = this.__data__;
-      this.size += this.has(key) ? 0 : 1;
-      data[key] = nativeCreate && value === void 0 ? HASH_UNDEFINED : value;
-      return this;
-    }
-    module2.exports = hashSet;
-  }
-});
-
-// node_modules/lodash/_Hash.js
-var require_Hash = __commonJS({
-  "node_modules/lodash/_Hash.js"(exports2, module2) {
-    var hashClear = require_hashClear();
-    var hashDelete = require_hashDelete();
-    var hashGet = require_hashGet();
-    var hashHas = require_hashHas();
-    var hashSet = require_hashSet();
-    function Hash(entries) {
-      var index = -1, length = entries == null ? 0 : entries.length;
-      this.clear();
-      while (++index < length) {
-        var entry = entries[index];
-        this.set(entry[0], entry[1]);
+      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;
     }
-    Hash.prototype.clear = hashClear;
-    Hash.prototype["delete"] = hashDelete;
-    Hash.prototype.get = hashGet;
-    Hash.prototype.has = hashHas;
-    Hash.prototype.set = hashSet;
-    module2.exports = Hash;
-  }
-});
-
-// node_modules/lodash/_listCacheClear.js
-var require_listCacheClear = __commonJS({
-  "node_modules/lodash/_listCacheClear.js"(exports2, module2) {
-    function listCacheClear() {
-      this.__data__ = [];
-      this.size = 0;
-    }
-    module2.exports = listCacheClear;
-  }
-});
-
-// node_modules/lodash/_assocIndexOf.js
-var require_assocIndexOf = __commonJS({
-  "node_modules/lodash/_assocIndexOf.js"(exports2, module2) {
-    var eq = require_eq2();
-    function assocIndexOf(array, key) {
-      var length = array.length;
-      while (length--) {
-        if (eq(array[length][0], key)) {
-          return length;
+    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];
         }
       }
-      return -1;
+      metadataList.length = pos;
+      return metadataList;
     }
-    module2.exports = assocIndexOf;
-  }
-});
-
-// node_modules/lodash/_listCacheDelete.js
-var require_listCacheDelete = __commonJS({
-  "node_modules/lodash/_listCacheDelete.js"(exports2, module2) {
-    var assocIndexOf = require_assocIndexOf();
-    var arrayProto = Array.prototype;
-    var splice = arrayProto.splice;
-    function listCacheDelete(key) {
-      var data = this.__data__, index = assocIndexOf(data, key);
-      if (index < 0) {
+    function compareBase64Mixed(actualValue, expectedValue) {
+      if (actualValue.length !== expectedValue.length) {
         return false;
       }
-      var lastIndex = data.length - 1;
-      if (index == lastIndex) {
-        data.pop();
-      } else {
-        splice.call(data, index, 1);
+      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;
+        }
       }
-      --this.size;
       return true;
     }
-    module2.exports = listCacheDelete;
-  }
-});
-
-// node_modules/lodash/_listCacheGet.js
-var require_listCacheGet = __commonJS({
-  "node_modules/lodash/_listCacheGet.js"(exports2, module2) {
-    var assocIndexOf = require_assocIndexOf();
-    function listCacheGet(key) {
-      var data = this.__data__, index = assocIndexOf(data, key);
-      return index < 0 ? void 0 : data[index][1];
-    }
-    module2.exports = listCacheGet;
-  }
-});
-
-// node_modules/lodash/_listCacheHas.js
-var require_listCacheHas = __commonJS({
-  "node_modules/lodash/_listCacheHas.js"(exports2, module2) {
-    var assocIndexOf = require_assocIndexOf();
-    function listCacheHas(key) {
-      return assocIndexOf(this.__data__, key) > -1;
+    function tryUpgradeRequestToAPotentiallyTrustworthyURL(request2) {
     }
-    module2.exports = listCacheHas;
-  }
-});
-
-// node_modules/lodash/_listCacheSet.js
-var require_listCacheSet = __commonJS({
-  "node_modules/lodash/_listCacheSet.js"(exports2, module2) {
-    var assocIndexOf = require_assocIndexOf();
-    function listCacheSet(key, value) {
-      var data = this.__data__, index = assocIndexOf(data, key);
-      if (index < 0) {
-        ++this.size;
-        data.push([key, value]);
-      } else {
-        data[index][1] = value;
+    function sameOrigin(A, B) {
+      if (A.origin === B.origin && A.origin === "null") {
+        return true;
       }
-      return this;
+      if (A.protocol === B.protocol && A.hostname === B.hostname && A.port === B.port) {
+        return true;
+      }
+      return false;
     }
-    module2.exports = listCacheSet;
-  }
-});
-
-// node_modules/lodash/_ListCache.js
-var require_ListCache = __commonJS({
-  "node_modules/lodash/_ListCache.js"(exports2, module2) {
-    var listCacheClear = require_listCacheClear();
-    var listCacheDelete = require_listCacheDelete();
-    var listCacheGet = require_listCacheGet();
-    var listCacheHas = require_listCacheHas();
-    var listCacheSet = require_listCacheSet();
-    function ListCache(entries) {
-      var index = -1, length = entries == null ? 0 : entries.length;
-      this.clear();
-      while (++index < length) {
-        var entry = entries[index];
-        this.set(entry[0], entry[1]);
+    function createDeferredPromise() {
+      let res;
+      let rej;
+      const promise = new Promise((resolve3, reject) => {
+        res = resolve3;
+        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";
+    }
+    var normalizeMethodRecord = {
+      delete: "DELETE",
+      DELETE: "DELETE",
+      get: "GET",
+      GET: "GET",
+      head: "HEAD",
+      HEAD: "HEAD",
+      options: "OPTIONS",
+      OPTIONS: "OPTIONS",
+      post: "POST",
+      POST: "POST",
+      put: "PUT",
+      PUT: "PUT"
+    };
+    Object.setPrototypeOf(normalizeMethodRecord, null);
+    function normalizeMethod(method) {
+      return normalizeMethodRecord[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;
     }
-    ListCache.prototype.clear = listCacheClear;
-    ListCache.prototype["delete"] = listCacheDelete;
-    ListCache.prototype.get = listCacheGet;
-    ListCache.prototype.has = listCacheHas;
-    ListCache.prototype.set = listCacheSet;
-    module2.exports = ListCache;
-  }
-});
-
-// node_modules/lodash/_Map.js
-var require_Map = __commonJS({
-  "node_modules/lodash/_Map.js"(exports2, module2) {
-    var getNative = require_getNative();
-    var root = require_root();
-    var Map2 = getNative(root, "Map");
-    module2.exports = Map2;
-  }
-});
-
-// node_modules/lodash/_mapCacheClear.js
-var require_mapCacheClear = __commonJS({
-  "node_modules/lodash/_mapCacheClear.js"(exports2, module2) {
-    var Hash = require_Hash();
-    var ListCache = require_ListCache();
-    var Map2 = require_Map();
-    function mapCacheClear() {
-      this.size = 0;
-      this.__data__ = {
-        "hash": new Hash(),
-        "map": new (Map2 || ListCache)(),
-        "string": new Hash()
+    var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
+    function makeIterator(iterator2, name, kind) {
+      const object = {
+        index: 0,
+        kind,
+        target: iterator2
+      };
+      const i = {
+        next() {
+          if (Object.getPrototypeOf(this) !== i) {
+            throw new TypeError(
+              `'next' called on an object that does not implement interface ${name} Iterator.`
+            );
+          }
+          const { index, kind: kind2, target } = object;
+          const values = target();
+          const len = values.length;
+          if (index >= len) {
+            return { value: void 0, done: true };
+          }
+          const pair = values[index];
+          object.index = index + 1;
+          return iteratorResult(pair, kind2);
+        },
+        // The class string of an iterator prototype object for a given interface is the
+        // result of concatenating the identifier of the interface and the string " Iterator".
+        [Symbol.toStringTag]: `${name} Iterator`
       };
+      Object.setPrototypeOf(i, esIteratorPrototype);
+      return Object.setPrototypeOf({}, i);
     }
-    module2.exports = mapCacheClear;
-  }
-});
-
-// node_modules/lodash/_isKeyable.js
-var require_isKeyable = __commonJS({
-  "node_modules/lodash/_isKeyable.js"(exports2, module2) {
-    function isKeyable(value) {
-      var type2 = typeof value;
-      return type2 == "string" || type2 == "number" || type2 == "symbol" || type2 == "boolean" ? value !== "__proto__" : value === null;
+    function iteratorResult(pair, kind) {
+      let result;
+      switch (kind) {
+        case "key": {
+          result = pair[0];
+          break;
+        }
+        case "value": {
+          result = pair[1];
+          break;
+        }
+        case "key+value": {
+          result = pair;
+          break;
+        }
+      }
+      return { value: result, done: false };
     }
-    module2.exports = isKeyable;
-  }
-});
-
-// node_modules/lodash/_getMapData.js
-var require_getMapData = __commonJS({
-  "node_modules/lodash/_getMapData.js"(exports2, module2) {
-    var isKeyable = require_isKeyable();
-    function getMapData(map2, key) {
-      var data = map2.__data__;
-      return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map;
+    async function fullyReadBody(body, processBody, processBodyError) {
+      const successSteps = processBody;
+      const errorSteps = processBodyError;
+      let reader;
+      try {
+        reader = body.stream.getReader();
+      } catch (e) {
+        errorSteps(e);
+        return;
+      }
+      try {
+        const result = await readAllBytes(reader);
+        successSteps(result);
+      } catch (e) {
+        errorSteps(e);
+      }
     }
-    module2.exports = getMapData;
-  }
-});
-
-// node_modules/lodash/_mapCacheDelete.js
-var require_mapCacheDelete = __commonJS({
-  "node_modules/lodash/_mapCacheDelete.js"(exports2, module2) {
-    var getMapData = require_getMapData();
-    function mapCacheDelete(key) {
-      var result = getMapData(this, key)["delete"](key);
-      this.size -= result ? 1 : 0;
-      return result;
+    var ReadableStream2 = globalThis.ReadableStream;
+    function isReadableStreamLike(stream) {
+      if (!ReadableStream2) {
+        ReadableStream2 = require("stream/web").ReadableStream;
+      }
+      return stream instanceof ReadableStream2 || stream[Symbol.toStringTag] === "ReadableStream" && typeof stream.tee === "function";
     }
-    module2.exports = mapCacheDelete;
-  }
-});
-
-// node_modules/lodash/_mapCacheGet.js
-var require_mapCacheGet = __commonJS({
-  "node_modules/lodash/_mapCacheGet.js"(exports2, module2) {
-    var getMapData = require_getMapData();
-    function mapCacheGet(key) {
-      return getMapData(this, key).get(key);
+    var MAXIMUM_ARGUMENT_LENGTH = 65535;
+    function isomorphicDecode(input) {
+      if (input.length < MAXIMUM_ARGUMENT_LENGTH) {
+        return String.fromCharCode(...input);
+      }
+      return input.reduce((previous, current) => previous + String.fromCharCode(current), "");
     }
-    module2.exports = mapCacheGet;
-  }
-});
-
-// node_modules/lodash/_mapCacheHas.js
-var require_mapCacheHas = __commonJS({
-  "node_modules/lodash/_mapCacheHas.js"(exports2, module2) {
-    var getMapData = require_getMapData();
-    function mapCacheHas(key) {
-      return getMapData(this, key).has(key);
+    function readableStreamClose(controller) {
+      try {
+        controller.close();
+      } catch (err) {
+        if (!err.message.includes("Controller is already closed")) {
+          throw err;
+        }
+      }
+    }
+    function isomorphicEncode(input) {
+      for (let i = 0; i < input.length; i++) {
+        assert(input.charCodeAt(i) <= 255);
+      }
+      return input;
     }
-    module2.exports = mapCacheHas;
-  }
-});
-
-// node_modules/lodash/_mapCacheSet.js
-var require_mapCacheSet = __commonJS({
-  "node_modules/lodash/_mapCacheSet.js"(exports2, module2) {
-    var getMapData = require_getMapData();
-    function mapCacheSet(key, value) {
-      var data = getMapData(this, key), size = data.size;
-      data.set(key, value);
-      this.size += data.size == size ? 0 : 1;
-      return this;
+    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;
+      }
     }
-    module2.exports = mapCacheSet;
-  }
-});
-
-// node_modules/lodash/_MapCache.js
-var require_MapCache = __commonJS({
-  "node_modules/lodash/_MapCache.js"(exports2, module2) {
-    var mapCacheClear = require_mapCacheClear();
-    var mapCacheDelete = require_mapCacheDelete();
-    var mapCacheGet = require_mapCacheGet();
-    var mapCacheHas = require_mapCacheHas();
-    var mapCacheSet = require_mapCacheSet();
-    function MapCache(entries) {
-      var index = -1, length = entries == null ? 0 : entries.length;
-      this.clear();
-      while (++index < length) {
-        var entry = entries[index];
-        this.set(entry[0], entry[1]);
+    function urlIsLocal(url) {
+      assert("protocol" in url);
+      const protocol = url.protocol;
+      return protocol === "about:" || protocol === "blob:" || protocol === "data:";
+    }
+    function urlHasHttpsScheme(url) {
+      if (typeof url === "string") {
+        return url.startsWith("https:");
       }
+      return url.protocol === "https:";
     }
-    MapCache.prototype.clear = mapCacheClear;
-    MapCache.prototype["delete"] = mapCacheDelete;
-    MapCache.prototype.get = mapCacheGet;
-    MapCache.prototype.has = mapCacheHas;
-    MapCache.prototype.set = mapCacheSet;
-    module2.exports = MapCache;
-  }
-});
-
-// node_modules/lodash/_setCacheAdd.js
-var require_setCacheAdd = __commonJS({
-  "node_modules/lodash/_setCacheAdd.js"(exports2, module2) {
-    var HASH_UNDEFINED = "__lodash_hash_undefined__";
-    function setCacheAdd(value) {
-      this.__data__.set(value, HASH_UNDEFINED);
-      return this;
+    function urlIsHttpHttpsScheme(url) {
+      assert("protocol" in url);
+      const protocol = url.protocol;
+      return protocol === "http:" || protocol === "https:";
     }
-    module2.exports = setCacheAdd;
+    var hasOwn = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key));
+    module2.exports = {
+      isAborted,
+      isCancelled,
+      createDeferredPromise,
+      ReadableStreamFrom,
+      toUSVString,
+      tryUpgradeRequestToAPotentiallyTrustworthyURL,
+      coarsenedSharedCurrentTime,
+      determineRequestsReferrer,
+      makePolicyContainer,
+      clonePolicyContainer,
+      appendFetchMetadata,
+      appendRequestOriginHeader,
+      TAOCheck,
+      corsCheck,
+      crossOriginResourcePolicyCheck,
+      createOpaqueTimingInfo,
+      setRequestReferrerPolicyOnRedirect,
+      isValidHTTPToken,
+      requestBadPort,
+      requestCurrentURL,
+      responseURL,
+      responseLocationURL,
+      isBlobLike,
+      isURLPotentiallyTrustworthy,
+      isValidReasonPhrase,
+      sameOrigin,
+      normalizeMethod,
+      serializeJavascriptValueToJSONString,
+      makeIterator,
+      isValidHeaderName,
+      isValidHeaderValue,
+      hasOwn,
+      isErrorLike,
+      fullyReadBody,
+      bytesMatch,
+      isReadableStreamLike,
+      readableStreamClose,
+      isomorphicEncode,
+      isomorphicDecode,
+      urlIsLocal,
+      urlHasHttpsScheme,
+      urlIsHttpHttpsScheme,
+      readAllBytes,
+      normalizeMethodRecord,
+      parseMetadata
+    };
   }
 });
 
-// node_modules/lodash/_setCacheHas.js
-var require_setCacheHas = __commonJS({
-  "node_modules/lodash/_setCacheHas.js"(exports2, module2) {
-    function setCacheHas(value) {
-      return this.__data__.has(value);
-    }
-    module2.exports = setCacheHas;
+// node_modules/undici/lib/fetch/symbols.js
+var require_symbols12 = __commonJS({
+  "node_modules/undici/lib/fetch/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kUrl: /* @__PURE__ */ Symbol("url"),
+      kHeaders: /* @__PURE__ */ Symbol("headers"),
+      kSignal: /* @__PURE__ */ Symbol("signal"),
+      kState: /* @__PURE__ */ Symbol("state"),
+      kGuard: /* @__PURE__ */ Symbol("guard"),
+      kRealm: /* @__PURE__ */ Symbol("realm")
+    };
   }
 });
 
-// node_modules/lodash/_SetCache.js
-var require_SetCache = __commonJS({
-  "node_modules/lodash/_SetCache.js"(exports2, module2) {
-    var MapCache = require_MapCache();
-    var setCacheAdd = require_setCacheAdd();
-    var setCacheHas = require_setCacheHas();
-    function SetCache(values) {
-      var index = -1, length = values == null ? 0 : values.length;
-      this.__data__ = new MapCache();
-      while (++index < length) {
-        this.add(values[index]);
+// node_modules/undici/lib/fetch/webidl.js
+var require_webidl3 = __commonJS({
+  "node_modules/undici/lib/fetch/webidl.js"(exports2, module2) {
+    "use strict";
+    var { types } = require("util");
+    var { hasOwn, toUSVString } = require_util25();
+    var webidl = {};
+    webidl.converters = {};
+    webidl.util = {};
+    webidl.errors = {};
+    webidl.errors.exception = function(message) {
+      return new TypeError(`${message.header}: ${message.message}`);
+    };
+    webidl.errors.conversionFailed = function(context2) {
+      const plural = context2.types.length === 1 ? "" : " one of";
+      const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`;
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message
+      });
+    };
+    webidl.errors.invalidArgument = function(context2) {
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message: `"${context2.value}" is an invalid ${context2.type}.`
+      });
+    };
+    webidl.brandCheck = function(V, I, opts = void 0) {
+      if (opts?.strict !== false && !(V instanceof I)) {
+        throw new TypeError("Illegal invocation");
+      } else {
+        return V?.[Symbol.toStringTag] === I.prototype[Symbol.toStringTag];
       }
-    }
-    SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
-    SetCache.prototype.has = setCacheHas;
-    module2.exports = SetCache;
+    };
+    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.`,
+          ...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";
+        }
+      }
+    };
+    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 ${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;
+      }
+      if (!Number.isNaN(x) && opts.clamp === true) {
+        x = Math.min(Math.max(x, lowerBound), upperBound);
+        if (Math.floor(x) % 2 === 0) {
+          x = Math.floor(x);
+        } else {
+          x = Math.ceil(x);
+        }
+        return x;
+      }
+      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.sequenceConverter = function(converter) {
+      return (V) => {
+        if (webidl.util.Type(V) !== "Object") {
+          throw webidl.errors.exception({
+            header: "Sequence",
+            message: `Value of type ${webidl.util.Type(V)} is not an Object.`
+          });
+        }
+        const method = V?.[Symbol.iterator]?.();
+        const seq2 = [];
+        if (method === void 0 || typeof method.next !== "function") {
+          throw webidl.errors.exception({
+            header: "Sequence",
+            message: "Object is not an iterator."
+          });
+        }
+        while (true) {
+          const { done, value } = method.next();
+          if (done) {
+            break;
+          }
+          seq2.push(converter(value));
+        }
+        return seq2;
+      };
+    };
+    webidl.recordConverter = function(keyConverter, valueConverter) {
+      return (O) => {
+        if (webidl.util.Type(O) !== "Object") {
+          throw webidl.errors.exception({
+            header: "Record",
+            message: `Value of type ${webidl.util.Type(O)} is not an Object.`
+          });
+        }
+        const result = {};
+        if (!types.isProxy(O)) {
+          const keys2 = Object.keys(O);
+          for (const key of keys2) {
+            const typedKey = keyConverter(key);
+            const typedValue = valueConverter(O[key]);
+            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);
+            const typedValue = valueConverter(O[key]);
+            result[typedKey] = typedValue;
+          }
+        }
+        return result;
+      };
+    };
+    webidl.interfaceConverter = function(i) {
+      return (V, opts = {}) => {
+        if (opts.strict !== false && !(V instanceof i)) {
+          throw webidl.errors.exception({
+            header: i.name,
+            message: `Expected ${V} to be an instance of ${i.name}.`
+          });
+        }
+        return V;
+      };
+    };
+    webidl.dictionaryConverter = function(converters) {
+      return (dictionary) => {
+        const type2 = webidl.util.Type(dictionary);
+        const dict = {};
+        if (type2 === "Null" || type2 === "Undefined") {
+          return dict;
+        } else if (type2 !== "Object") {
+          throw webidl.errors.exception({
+            header: "Dictionary",
+            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 (!hasOwn(dictionary, key)) {
+              throw webidl.errors.exception({
+                header: "Dictionary",
+                message: `Missing required key "${key}".`
+              });
+            }
+          }
+          let value = dictionary[key];
+          const hasDefault = hasOwn(options, "defaultValue");
+          if (hasDefault && value !== null) {
+            value = value ?? defaultValue;
+          }
+          if (required || hasDefault || value !== void 0) {
+            value = converter(value);
+            if (options.allowedValues && !options.allowedValues.includes(value)) {
+              throw webidl.errors.exception({
+                header: "Dictionary",
+                message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
+              });
+            }
+            dict[key] = value;
+          }
+        }
+        return dict;
+      };
+    };
+    webidl.nullableConverter = function(converter) {
+      return (V) => {
+        if (V === null) {
+          return V;
+        }
+        return converter(V);
+      };
+    };
+    webidl.converters.DOMString = function(V, opts = {}) {
+      if (V === null && opts.legacyNullToEmptyString) {
+        return "";
+      }
+      if (typeof V === "symbol") {
+        throw new TypeError("Could not convert argument of type symbol to string.");
+      }
+      return String(V);
+    };
+    webidl.converters.ByteString = function(V) {
+      const x = webidl.converters.DOMString(V);
+      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) {
+      const x = webidl.util.ConvertToInt(V, 64, "signed");
+      return x;
+    };
+    webidl.converters["unsigned long long"] = function(V) {
+      const x = webidl.util.ConvertToInt(V, 64, "unsigned");
+      return x;
+    };
+    webidl.converters["unsigned long"] = function(V) {
+      const x = webidl.util.ConvertToInt(V, 32, "unsigned");
+      return x;
+    };
+    webidl.converters["unsigned short"] = function(V, opts) {
+      const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts);
+      return x;
+    };
+    webidl.converters.ArrayBuffer = function(V, opts = {}) {
+      if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {
+        throw webidl.errors.conversionFailed({
+          prefix: `${V}`,
+          argument: `${V}`,
+          types: ["ArrayBuffer"]
+        });
+      }
+      if (opts.allowShared === false && types.isSharedArrayBuffer(V)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
+      }
+      return V;
+    };
+    webidl.converters.TypedArray = function(V, T, opts = {}) {
+      if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {
+        throw webidl.errors.conversionFailed({
+          prefix: `${T.name}`,
+          argument: `${V}`,
+          types: [T.name]
+        });
+      }
+      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
+      }
+      return V;
+    };
+    webidl.converters.DataView = function(V, opts = {}) {
+      if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {
+        throw webidl.errors.exception({
+          header: "DataView",
+          message: "Object is not a DataView."
+        });
+      }
+      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
+      }
+      return V;
+    };
+    webidl.converters.BufferSource = function(V, opts = {}) {
+      if (types.isAnyArrayBuffer(V)) {
+        return webidl.converters.ArrayBuffer(V, opts);
+      }
+      if (types.isTypedArray(V)) {
+        return webidl.converters.TypedArray(V, V.constructor);
+      }
+      if (types.isDataView(V)) {
+        return webidl.converters.DataView(V, opts);
+      }
+      throw new TypeError(`Could not convert ${V} to a BufferSource.`);
+    };
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.ByteString
+    );
+    webidl.converters["sequence>"] = webidl.sequenceConverter(
+      webidl.converters["sequence"]
+    );
+    webidl.converters["record"] = webidl.recordConverter(
+      webidl.converters.ByteString,
+      webidl.converters.ByteString
+    );
+    module2.exports = {
+      webidl
+    };
   }
 });
 
-// node_modules/lodash/_baseFindIndex.js
-var require_baseFindIndex = __commonJS({
-  "node_modules/lodash/_baseFindIndex.js"(exports2, module2) {
-    function baseFindIndex(array, predicate, fromIndex, fromRight) {
-      var length = array.length, index = fromIndex + (fromRight ? 1 : -1);
-      while (fromRight ? index-- : ++index < length) {
-        if (predicate(array[index], index, array)) {
-          return index;
+// node_modules/undici/lib/fetch/dataURL.js
+var require_dataURL = __commonJS({
+  "node_modules/undici/lib/fetch/dataURL.js"(exports2, module2) {
+    var assert = require("assert");
+    var { atob: atob2 } = require("buffer");
+    var { isomorphicDecode } = require_util25();
+    var encoder = new TextEncoder();
+    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/;
+    var HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/;
+    var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/;
+    function dataURLProcessor(dataURL) {
+      assert(dataURL.protocol === "data:");
+      let input = URLSerializer(dataURL, true);
+      input = input.slice(5);
+      const position = { position: 0 };
+      let mimeType = collectASequenceOfCodePointsFast(
+        ",",
+        input,
+        position
+      );
+      const mimeTypeLength = mimeType.length;
+      mimeType = removeASCIIWhitespace(mimeType, true, true);
+      if (position.position >= input.length) {
+        return "failure";
+      }
+      position.position++;
+      const encodedBody = input.slice(mimeTypeLength + 1);
+      let body = stringPercentDecode(encodedBody);
+      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
+        const stringBody = isomorphicDecode(body);
+        body = forgivingBase64(stringBody);
+        if (body === "failure") {
+          return "failure";
         }
+        mimeType = mimeType.slice(0, -6);
+        mimeType = mimeType.replace(/(\u0020)+$/, "");
+        mimeType = mimeType.slice(0, -1);
       }
-      return -1;
+      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 };
     }
-    module2.exports = baseFindIndex;
-  }
-});
-
-// node_modules/lodash/_baseIsNaN.js
-var require_baseIsNaN = __commonJS({
-  "node_modules/lodash/_baseIsNaN.js"(exports2, module2) {
-    function baseIsNaN(value) {
-      return value !== value;
+    function URLSerializer(url, excludeFragment = false) {
+      if (!excludeFragment) {
+        return url.href;
+      }
+      const href = url.href;
+      const hashLength = url.hash.length;
+      return hashLength === 0 ? href : href.substring(0, href.length - hashLength);
     }
-    module2.exports = baseIsNaN;
-  }
-});
-
-// node_modules/lodash/_strictIndexOf.js
-var require_strictIndexOf = __commonJS({
-  "node_modules/lodash/_strictIndexOf.js"(exports2, module2) {
-    function strictIndexOf(array, value, fromIndex) {
-      var index = fromIndex - 1, length = array.length;
-      while (++index < length) {
-        if (array[index] === value) {
-          return index;
-        }
+    function collectASequenceOfCodePoints(condition, input, position) {
+      let result = "";
+      while (position.position < input.length && condition(input[position.position])) {
+        result += input[position.position];
+        position.position++;
       }
-      return -1;
+      return result;
     }
-    module2.exports = strictIndexOf;
-  }
-});
-
-// node_modules/lodash/_baseIndexOf.js
-var require_baseIndexOf = __commonJS({
-  "node_modules/lodash/_baseIndexOf.js"(exports2, module2) {
-    var baseFindIndex = require_baseFindIndex();
-    var baseIsNaN = require_baseIsNaN();
-    var strictIndexOf = require_strictIndexOf();
-    function baseIndexOf(array, value, fromIndex) {
-      return value === value ? strictIndexOf(array, value, fromIndex) : baseFindIndex(array, baseIsNaN, fromIndex);
+    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);
     }
-    module2.exports = baseIndexOf;
-  }
-});
-
-// node_modules/lodash/_arrayIncludes.js
-var require_arrayIncludes = __commonJS({
-  "node_modules/lodash/_arrayIncludes.js"(exports2, module2) {
-    var baseIndexOf = require_baseIndexOf();
-    function arrayIncludes(array, value) {
-      var length = array == null ? 0 : array.length;
-      return !!length && baseIndexOf(array, value, 0) > -1;
+    function stringPercentDecode(input) {
+      const bytes = encoder.encode(input);
+      return percentDecode(bytes);
     }
-    module2.exports = arrayIncludes;
-  }
-});
-
-// node_modules/lodash/_arrayIncludesWith.js
-var require_arrayIncludesWith = __commonJS({
-  "node_modules/lodash/_arrayIncludesWith.js"(exports2, module2) {
-    function arrayIncludesWith(array, value, comparator) {
-      var index = -1, length = array == null ? 0 : array.length;
-      while (++index < length) {
-        if (comparator(value, array[index])) {
-          return true;
+    function percentDecode(input) {
+      const output = [];
+      for (let i = 0; i < input.length; i++) {
+        const byte = input[i];
+        if (byte !== 37) {
+          output.push(byte);
+        } else if (byte === 37 && !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i + 1], input[i + 2]))) {
+          output.push(37);
+        } else {
+          const nextTwoBytes = String.fromCharCode(input[i + 1], input[i + 2]);
+          const bytePoint = Number.parseInt(nextTwoBytes, 16);
+          output.push(bytePoint);
+          i += 2;
         }
       }
-      return false;
-    }
-    module2.exports = arrayIncludesWith;
-  }
-});
-
-// node_modules/lodash/_arrayMap.js
-var require_arrayMap = __commonJS({
-  "node_modules/lodash/_arrayMap.js"(exports2, module2) {
-    function arrayMap(array, iteratee) {
-      var index = -1, length = array == null ? 0 : array.length, result = Array(length);
-      while (++index < length) {
-        result[index] = iteratee(array[index], index, array);
-      }
-      return result;
-    }
-    module2.exports = arrayMap;
-  }
-});
-
-// node_modules/lodash/_cacheHas.js
-var require_cacheHas = __commonJS({
-  "node_modules/lodash/_cacheHas.js"(exports2, module2) {
-    function cacheHas(cache, key) {
-      return cache.has(key);
+      return Uint8Array.from(output);
     }
-    module2.exports = cacheHas;
-  }
-});
-
-// node_modules/lodash/_baseDifference.js
-var require_baseDifference = __commonJS({
-  "node_modules/lodash/_baseDifference.js"(exports2, module2) {
-    var SetCache = require_SetCache();
-    var arrayIncludes = require_arrayIncludes();
-    var arrayIncludesWith = require_arrayIncludesWith();
-    var arrayMap = require_arrayMap();
-    var baseUnary = require_baseUnary();
-    var cacheHas = require_cacheHas();
-    var LARGE_ARRAY_SIZE = 200;
-    function baseDifference(array, values, iteratee, comparator) {
-      var index = -1, includes = arrayIncludes, isCommon = true, length = array.length, result = [], valuesLength = values.length;
-      if (!length) {
-        return result;
+    function parseMIMEType(input) {
+      input = removeHTTPWhitespace(input, true, true);
+      const position = { position: 0 };
+      const type2 = collectASequenceOfCodePointsFast(
+        "/",
+        input,
+        position
+      );
+      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
+        return "failure";
       }
-      if (iteratee) {
-        values = arrayMap(values, baseUnary(iteratee));
+      if (position.position > input.length) {
+        return "failure";
       }
-      if (comparator) {
-        includes = arrayIncludesWith;
-        isCommon = false;
-      } else if (values.length >= LARGE_ARRAY_SIZE) {
-        includes = cacheHas;
-        isCommon = false;
-        values = new SetCache(values);
+      position.position++;
+      let subtype = collectASequenceOfCodePointsFast(
+        ";",
+        input,
+        position
+      );
+      subtype = removeHTTPWhitespace(subtype, false, true);
+      if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {
+        return "failure";
       }
-      outer:
-        while (++index < length) {
-          var value = array[index], computed = iteratee == null ? value : iteratee(value);
-          value = comparator || value !== 0 ? value : 0;
-          if (isCommon && computed === computed) {
-            var valuesIndex = valuesLength;
-            while (valuesIndex--) {
-              if (values[valuesIndex] === computed) {
-                continue outer;
-              }
-            }
-            result.push(value);
-          } else if (!includes(values, computed, comparator)) {
-            result.push(value);
+      const typeLowercase = type2.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++;
         }
-      return result;
-    }
-    module2.exports = baseDifference;
-  }
-});
-
-// node_modules/lodash/isArrayLikeObject.js
-var require_isArrayLikeObject = __commonJS({
-  "node_modules/lodash/isArrayLikeObject.js"(exports2, module2) {
-    var isArrayLike = require_isArrayLike();
-    var isObjectLike = require_isObjectLike();
-    function isArrayLikeObject(value) {
-      return isObjectLike(value) && isArrayLike(value);
-    }
-    module2.exports = isArrayLikeObject;
-  }
-});
-
-// node_modules/lodash/difference.js
-var require_difference = __commonJS({
-  "node_modules/lodash/difference.js"(exports2, module2) {
-    var baseDifference = require_baseDifference();
-    var baseFlatten = require_baseFlatten();
-    var baseRest = require_baseRest();
-    var isArrayLikeObject = require_isArrayLikeObject();
-    var difference = baseRest(function(array, values) {
-      return isArrayLikeObject(array) ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true)) : [];
-    });
-    module2.exports = difference;
-  }
-});
-
-// node_modules/lodash/_Set.js
-var require_Set = __commonJS({
-  "node_modules/lodash/_Set.js"(exports2, module2) {
-    var getNative = require_getNative();
-    var root = require_root();
-    var Set2 = getNative(root, "Set");
-    module2.exports = Set2;
-  }
-});
-
-// node_modules/lodash/noop.js
-var require_noop = __commonJS({
-  "node_modules/lodash/noop.js"(exports2, module2) {
-    function noop3() {
+        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;
     }
-    module2.exports = noop3;
-  }
-});
-
-// node_modules/lodash/_setToArray.js
-var require_setToArray = __commonJS({
-  "node_modules/lodash/_setToArray.js"(exports2, module2) {
-    function setToArray(set2) {
-      var index = -1, result = Array(set2.size);
-      set2.forEach(function(value) {
-        result[++index] = value;
-      });
-      return result;
+    function forgivingBase64(data) {
+      data = data.replace(/[\u0009\u000A\u000C\u000D\u0020]/g, "");
+      if (data.length % 4 === 0) {
+        data = data.replace(/=?=$/, "");
+      }
+      if (data.length % 4 === 1) {
+        return "failure";
+      }
+      if (/[^+/0-9A-Za-z]/.test(data)) {
+        return "failure";
+      }
+      const binary2 = atob2(data);
+      const bytes = new Uint8Array(binary2.length);
+      for (let byte = 0; byte < binary2.length; byte++) {
+        bytes[byte] = binary2.charCodeAt(byte);
+      }
+      return bytes;
     }
-    module2.exports = setToArray;
-  }
-});
-
-// node_modules/lodash/_createSet.js
-var require_createSet = __commonJS({
-  "node_modules/lodash/_createSet.js"(exports2, module2) {
-    var Set2 = require_Set();
-    var noop3 = require_noop();
-    var setToArray = require_setToArray();
-    var INFINITY = 1 / 0;
-    var createSet = !(Set2 && 1 / setToArray(new Set2([, -0]))[1] == INFINITY) ? noop3 : function(values) {
-      return new Set2(values);
-    };
-    module2.exports = createSet;
-  }
-});
-
-// node_modules/lodash/_baseUniq.js
-var require_baseUniq = __commonJS({
-  "node_modules/lodash/_baseUniq.js"(exports2, module2) {
-    var SetCache = require_SetCache();
-    var arrayIncludes = require_arrayIncludes();
-    var arrayIncludesWith = require_arrayIncludesWith();
-    var cacheHas = require_cacheHas();
-    var createSet = require_createSet();
-    var setToArray = require_setToArray();
-    var LARGE_ARRAY_SIZE = 200;
-    function baseUniq(array, iteratee, comparator) {
-      var index = -1, includes = arrayIncludes, length = array.length, isCommon = true, result = [], seen = result;
-      if (comparator) {
-        isCommon = false;
-        includes = arrayIncludesWith;
-      } else if (length >= LARGE_ARRAY_SIZE) {
-        var set2 = iteratee ? null : createSet(array);
-        if (set2) {
-          return setToArray(set2);
+    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;
         }
-        isCommon = false;
-        includes = cacheHas;
-        seen = new SetCache();
-      } else {
-        seen = iteratee ? [] : result;
-      }
-      outer:
-        while (++index < length) {
-          var value = array[index], computed = iteratee ? iteratee(value) : value;
-          value = comparator || value !== 0 ? value : 0;
-          if (isCommon && computed === computed) {
-            var seenIndex = seen.length;
-            while (seenIndex--) {
-              if (seen[seenIndex] === computed) {
-                continue outer;
-              }
-            }
-            if (iteratee) {
-              seen.push(computed);
-            }
-            result.push(value);
-          } else if (!includes(seen, computed, comparator)) {
-            if (seen !== result) {
-              seen.push(computed);
-            }
-            result.push(value);
+        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;
         }
-      return result;
+      }
+      if (extractValue) {
+        return value;
+      }
+      return input.slice(positionStart, position.position);
     }
-    module2.exports = baseUniq;
-  }
-});
-
-// node_modules/lodash/union.js
-var require_union = __commonJS({
-  "node_modules/lodash/union.js"(exports2, module2) {
-    var baseFlatten = require_baseFlatten();
-    var baseRest = require_baseRest();
-    var baseUniq = require_baseUniq();
-    var isArrayLikeObject = require_isArrayLikeObject();
-    var union = baseRest(function(arrays) {
-      return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));
-    });
-    module2.exports = union;
-  }
-});
-
-// node_modules/lodash/_overArg.js
-var require_overArg = __commonJS({
-  "node_modules/lodash/_overArg.js"(exports2, module2) {
-    function overArg(func, transform) {
-      return function(arg) {
-        return func(transform(arg));
-      };
+    function serializeAMimeType(mimeType) {
+      assert(mimeType !== "failure");
+      const { parameters, essence } = mimeType;
+      let serialization = essence;
+      for (let [name, value] of parameters.entries()) {
+        serialization += ";";
+        serialization += name;
+        serialization += "=";
+        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
+          value = value.replace(/(\\|")/g, "\\$1");
+          value = '"' + value;
+          value += '"';
+        }
+        serialization += value;
+      }
+      return serialization;
+    }
+    function isHTTPWhiteSpace(char) {
+      return char === "\r" || char === "\n" || char === "	" || char === " ";
     }
-    module2.exports = overArg;
-  }
-});
-
-// node_modules/lodash/_getPrototype.js
-var require_getPrototype = __commonJS({
-  "node_modules/lodash/_getPrototype.js"(exports2, module2) {
-    var overArg = require_overArg();
-    var getPrototype = overArg(Object.getPrototypeOf, Object);
-    module2.exports = getPrototype;
-  }
-});
-
-// node_modules/lodash/isPlainObject.js
-var require_isPlainObject = __commonJS({
-  "node_modules/lodash/isPlainObject.js"(exports2, module2) {
-    var baseGetTag = require_baseGetTag();
-    var getPrototype = require_getPrototype();
-    var isObjectLike = require_isObjectLike();
-    var objectTag = "[object Object]";
-    var funcProto = Function.prototype;
-    var objectProto = Object.prototype;
-    var funcToString = funcProto.toString;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    var objectCtorString = funcToString.call(Object);
-    function isPlainObject3(value) {
-      if (!isObjectLike(value) || baseGetTag(value) != objectTag) {
-        return false;
+    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
+      let lead = 0;
+      let trail = str2.length - 1;
+      if (leading) {
+        for (; lead < str2.length && isHTTPWhiteSpace(str2[lead]); lead++) ;
       }
-      var proto = getPrototype(value);
-      if (proto === null) {
-        return true;
+      if (trailing) {
+        for (; trail > 0 && isHTTPWhiteSpace(str2[trail]); trail--) ;
       }
-      var Ctor = hasOwnProperty.call(proto, "constructor") && proto.constructor;
-      return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString;
+      return str2.slice(lead, trail + 1);
     }
-    module2.exports = isPlainObject3;
+    function isASCIIWhitespace(char) {
+      return char === "\r" || char === "\n" || char === "	" || char === "\f" || char === " ";
+    }
+    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
+      let lead = 0;
+      let trail = str2.length - 1;
+      if (leading) {
+        for (; lead < str2.length && isASCIIWhitespace(str2[lead]); lead++) ;
+      }
+      if (trailing) {
+        for (; trail > 0 && isASCIIWhitespace(str2[trail]); trail--) ;
+      }
+      return str2.slice(lead, trail + 1);
+    }
+    module2.exports = {
+      dataURLProcessor,
+      URLSerializer,
+      collectASequenceOfCodePoints,
+      collectASequenceOfCodePointsFast,
+      stringPercentDecode,
+      parseMIMEType,
+      collectAnHTTPQuotedString,
+      serializeAMimeType
+    };
   }
 });
 
-// node_modules/@isaacs/balanced-match/dist/commonjs/index.js
-var require_commonjs18 = __commonJS({
-  "node_modules/@isaacs/balanced-match/dist/commonjs/index.js"(exports2) {
+// node_modules/undici/lib/fetch/file.js
+var require_file5 = __commonJS({
+  "node_modules/undici/lib/fetch/file.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.range = exports2.balanced = void 0;
-    var balanced = (a, b, str2) => {
-      const ma = a instanceof RegExp ? maybeMatch(a, str2) : a;
-      const mb = b instanceof RegExp ? maybeMatch(b, str2) : b;
-      const r = ma !== null && mb != null && (0, exports2.range)(ma, mb, str2);
-      return r && {
-        start: r[0],
-        end: r[1],
-        pre: str2.slice(0, r[0]),
-        body: str2.slice(r[0] + ma.length, r[1]),
-        post: str2.slice(r[1] + mb.length)
-      };
+    var { Blob: Blob2, File: NativeFile } = require("buffer");
+    var { types } = require("util");
+    var { kState } = require_symbols12();
+    var { isBlobLike } = require_util25();
+    var { webidl } = require_webidl3();
+    var { parseMIMEType, serializeAMimeType } = require_dataURL();
+    var { kEnumerableProperty } = require_util24();
+    var encoder = new TextEncoder();
+    var File2 = class _File extends Blob2 {
+      constructor(fileBits, fileName, options = {}) {
+        webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" });
+        fileBits = webidl.converters["sequence"](fileBits);
+        fileName = webidl.converters.USVString(fileName);
+        options = webidl.converters.FilePropertyBag(options);
+        const n = fileName;
+        let t = options.type;
+        let d;
+        substep: {
+          if (t) {
+            t = parseMIMEType(t);
+            if (t === "failure") {
+              t = "";
+              break substep;
+            }
+            t = serializeAMimeType(t).toLowerCase();
+          }
+          d = options.lastModified;
+        }
+        super(processBlobParts(fileBits, options), { type: t });
+        this[kState] = {
+          name: n,
+          lastModified: d,
+          type: t
+        };
+      }
+      get name() {
+        webidl.brandCheck(this, _File);
+        return this[kState].name;
+      }
+      get lastModified() {
+        webidl.brandCheck(this, _File);
+        return this[kState].lastModified;
+      }
+      get type() {
+        webidl.brandCheck(this, _File);
+        return this[kState].type;
+      }
     };
-    exports2.balanced = balanced;
-    var maybeMatch = (reg, str2) => {
-      const m = str2.match(reg);
-      return m ? m[0] : null;
+    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";
+      }
     };
-    var range = (a, b, str2) => {
-      let begs, beg, left, right = void 0, result;
-      let ai = str2.indexOf(a);
-      let bi = str2.indexOf(b, ai + 1);
-      let i = ai;
-      if (ai >= 0 && bi > 0) {
-        if (a === b) {
-          return [ai, bi];
+    Object.defineProperties(File2.prototype, {
+      [Symbol.toStringTag]: {
+        value: "File",
+        configurable: true
+      },
+      name: kEnumerableProperty,
+      lastModified: kEnumerableProperty
+    });
+    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
+    webidl.converters.BlobPart = function(V, opts) {
+      if (webidl.util.Type(V) === "Object") {
+        if (isBlobLike(V)) {
+          return webidl.converters.Blob(V, { strict: false });
         }
-        begs = [];
-        left = str2.length;
-        while (i >= 0 && !result) {
-          if (i === ai) {
-            begs.push(i);
-            ai = str2.indexOf(a, i + 1);
-          } else if (begs.length === 1) {
-            const r = begs.pop();
-            if (r !== void 0)
-              result = [r, bi];
+        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
+          return webidl.converters.BufferSource(V, opts);
+        }
+      }
+      return webidl.converters.USVString(V, opts);
+    };
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.BlobPart
+    );
+    webidl.converters.FilePropertyBag = webidl.dictionaryConverter([
+      {
+        key: "lastModified",
+        converter: webidl.converters["long long"],
+        get defaultValue() {
+          return Date.now();
+        }
+      },
+      {
+        key: "type",
+        converter: webidl.converters.DOMString,
+        defaultValue: ""
+      },
+      {
+        key: "endings",
+        converter: (value) => {
+          value = webidl.converters.DOMString(value);
+          value = value.toLowerCase();
+          if (value !== "native") {
+            value = "transparent";
+          }
+          return value;
+        },
+        defaultValue: "transparent"
+      }
+    ]);
+    function processBlobParts(parts, options) {
+      const bytes = [];
+      for (const element of parts) {
+        if (typeof element === "string") {
+          let s = element;
+          if (options.endings === "native") {
+            s = convertLineEndingsNative(s);
+          }
+          bytes.push(encoder.encode(s));
+        } else if (types.isAnyArrayBuffer(element) || types.isTypedArray(element)) {
+          if (!element.buffer) {
+            bytes.push(new Uint8Array(element));
           } else {
-            beg = begs.pop();
-            if (beg !== void 0 && beg < left) {
-              left = beg;
-              right = bi;
-            }
-            bi = str2.indexOf(b, i + 1);
+            bytes.push(
+              new Uint8Array(element.buffer, element.byteOffset, element.byteLength)
+            );
           }
-          i = ai < bi && ai >= 0 ? ai : bi;
-        }
-        if (begs.length && right !== void 0) {
-          result = [left, right];
+        } else if (isBlobLike(element)) {
+          bytes.push(element);
         }
       }
-      return result;
-    };
-    exports2.range = range;
+      return bytes;
+    }
+    function convertLineEndingsNative(s) {
+      let nativeLineEnding = "\n";
+      if (process.platform === "win32") {
+        nativeLineEnding = "\r\n";
+      }
+      return s.replace(/\r?\n/g, nativeLineEnding);
+    }
+    function isFileLike(object) {
+      return NativeFile && object instanceof NativeFile || object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
+    }
+    module2.exports = { File: File2, FileLike, isFileLike };
   }
 });
 
-// node_modules/@isaacs/brace-expansion/dist/commonjs/index.js
-var require_commonjs19 = __commonJS({
-  "node_modules/@isaacs/brace-expansion/dist/commonjs/index.js"(exports2) {
+// node_modules/undici/lib/fetch/formdata.js
+var require_formdata3 = __commonJS({
+  "node_modules/undici/lib/fetch/formdata.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.EXPANSION_MAX = void 0;
-    exports2.expand = expand2;
-    var balanced_match_1 = require_commonjs18();
-    var escSlash = "\0SLASH" + Math.random() + "\0";
-    var escOpen = "\0OPEN" + Math.random() + "\0";
-    var escClose = "\0CLOSE" + Math.random() + "\0";
-    var escComma = "\0COMMA" + Math.random() + "\0";
-    var escPeriod = "\0PERIOD" + Math.random() + "\0";
-    var escSlashPattern = new RegExp(escSlash, "g");
-    var escOpenPattern = new RegExp(escOpen, "g");
-    var escClosePattern = new RegExp(escClose, "g");
-    var escCommaPattern = new RegExp(escComma, "g");
-    var escPeriodPattern = new RegExp(escPeriod, "g");
-    var slashPattern = /\\\\/g;
-    var openPattern = /\\{/g;
-    var closePattern = /\\}/g;
-    var commaPattern = /\\,/g;
-    var periodPattern = /\\./g;
-    exports2.EXPANSION_MAX = 1e5;
-    function numeric(str2) {
-      return !isNaN(str2) ? parseInt(str2, 10) : str2.charCodeAt(0);
-    }
-    function escapeBraces(str2) {
-      return str2.replace(slashPattern, escSlash).replace(openPattern, escOpen).replace(closePattern, escClose).replace(commaPattern, escComma).replace(periodPattern, escPeriod);
-    }
-    function unescapeBraces(str2) {
-      return str2.replace(escSlashPattern, "\\").replace(escOpenPattern, "{").replace(escClosePattern, "}").replace(escCommaPattern, ",").replace(escPeriodPattern, ".");
-    }
-    function parseCommaParts(str2) {
-      if (!str2) {
-        return [""];
+    var { isBlobLike, toUSVString, makeIterator } = require_util25();
+    var { kState } = require_symbols12();
+    var { File: UndiciFile, FileLike, isFileLike } = require_file5();
+    var { webidl } = require_webidl3();
+    var { Blob: Blob2, File: NativeFile } = require("buffer");
+    var File2 = NativeFile ?? UndiciFile;
+    var FormData2 = class _FormData {
+      constructor(form) {
+        if (form !== void 0) {
+          throw webidl.errors.conversionFailed({
+            prefix: "FormData constructor",
+            argument: "Argument 1",
+            types: ["undefined"]
+          });
+        }
+        this[kState] = [];
       }
-      const parts = [];
-      const m = (0, balanced_match_1.balanced)("{", "}", str2);
-      if (!m) {
-        return str2.split(",");
+      append(name, value, filename = void 0) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" });
+        if (arguments.length === 3 && !isBlobLike(value)) {
+          throw new TypeError(
+            "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"
+          );
+        }
+        name = webidl.converters.USVString(name);
+        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
+        filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0;
+        const entry = makeEntry(name, value, filename);
+        this[kState].push(entry);
       }
-      const { pre, body, post } = m;
-      const p = pre.split(",");
-      p[p.length - 1] += "{" + body + "}";
-      const postParts = parseCommaParts(post);
-      if (post.length) {
-        ;
-        p[p.length - 1] += postParts.shift();
-        p.push.apply(p, postParts);
+      delete(name) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" });
+        name = webidl.converters.USVString(name);
+        this[kState] = this[kState].filter((entry) => entry.name !== name);
       }
-      parts.push.apply(parts, p);
-      return parts;
-    }
-    function expand2(str2, options = {}) {
-      if (!str2) {
-        return [];
+      get(name) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" });
+        name = webidl.converters.USVString(name);
+        const idx = this[kState].findIndex((entry) => entry.name === name);
+        if (idx === -1) {
+          return null;
+        }
+        return this[kState][idx].value;
       }
-      const { max = exports2.EXPANSION_MAX } = options;
-      if (str2.slice(0, 2) === "{}") {
-        str2 = "\\{\\}" + str2.slice(2);
+      getAll(name) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" });
+        name = webidl.converters.USVString(name);
+        return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value);
       }
-      return expand_(escapeBraces(str2), max, true).map(unescapeBraces);
-    }
-    function embrace(str2) {
-      return "{" + str2 + "}";
-    }
-    function isPadded(el) {
-      return /^-?0\d/.test(el);
-    }
-    function lte(i, y) {
-      return i <= y;
-    }
-    function gte6(i, y) {
-      return i >= y;
-    }
-    function expand_(str2, max, isTop) {
-      const expansions = [];
-      const m = (0, balanced_match_1.balanced)("{", "}", str2);
-      if (!m)
-        return [str2];
-      const pre = m.pre;
-      const post = m.post.length ? expand_(m.post, max, false) : [""];
-      if (/\$$/.test(m.pre)) {
-        for (let k = 0; k < post.length && k < max; k++) {
-          const expansion = pre + "{" + m.body + "}" + post[k];
-          expansions.push(expansion);
-        }
-      } else {
-        const isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
-        const isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
-        const isSequence = isNumericSequence || isAlphaSequence;
-        const isOptions = m.body.indexOf(",") >= 0;
-        if (!isSequence && !isOptions) {
-          if (m.post.match(/,(?!,).*\}/)) {
-            str2 = m.pre + "{" + m.body + escClose + m.post;
-            return expand_(str2, max, true);
-          }
-          return [str2];
-        }
-        let n;
-        if (isSequence) {
-          n = m.body.split(/\.\./);
-        } else {
-          n = parseCommaParts(m.body);
-          if (n.length === 1 && n[0] !== void 0) {
-            n = expand_(n[0], max, false).map(embrace);
-            if (n.length === 1) {
-              return post.map((p) => m.pre + n[0] + p);
-            }
-          }
+      has(name) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" });
+        name = webidl.converters.USVString(name);
+        return this[kState].findIndex((entry) => entry.name === name) !== -1;
+      }
+      set(name, value, filename = void 0) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" });
+        if (arguments.length === 3 && !isBlobLike(value)) {
+          throw new TypeError(
+            "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"
+          );
         }
-        let N;
-        if (isSequence && n[0] !== void 0 && n[1] !== void 0) {
-          const x = numeric(n[0]);
-          const y = numeric(n[1]);
-          const width = Math.max(n[0].length, n[1].length);
-          let incr = n.length === 3 && n[2] !== void 0 ? Math.abs(numeric(n[2])) : 1;
-          let test = lte;
-          const reverse = y < x;
-          if (reverse) {
-            incr *= -1;
-            test = gte6;
-          }
-          const pad = n.some(isPadded);
-          N = [];
-          for (let i = x; test(i, y); i += incr) {
-            let c;
-            if (isAlphaSequence) {
-              c = String.fromCharCode(i);
-              if (c === "\\") {
-                c = "";
-              }
-            } else {
-              c = String(i);
-              if (pad) {
-                const need = width - c.length;
-                if (need > 0) {
-                  const z = new Array(need + 1).join("0");
-                  if (i < 0) {
-                    c = "-" + z + c.slice(1);
-                  } else {
-                    c = z + c;
-                  }
-                }
-              }
-            }
-            N.push(c);
-          }
+        name = webidl.converters.USVString(name);
+        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
+        filename = arguments.length === 3 ? toUSVString(filename) : void 0;
+        const entry = makeEntry(name, value, filename);
+        const idx = this[kState].findIndex((entry2) => entry2.name === name);
+        if (idx !== -1) {
+          this[kState] = [
+            ...this[kState].slice(0, idx),
+            entry,
+            ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name)
+          ];
         } else {
-          N = [];
-          for (let j = 0; j < n.length; j++) {
-            N.push.apply(N, expand_(n[j], max, false));
-          }
-        }
-        for (let j = 0; j < N.length; j++) {
-          for (let k = 0; k < post.length && expansions.length < max; k++) {
-            const expansion = pre + N[j] + post[k];
-            if (!isTop || isSequence || expansion) {
-              expansions.push(expansion);
-            }
-          }
+          this[kState].push(entry);
         }
       }
-      return expansions;
-    }
-  }
-});
-
-// node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js
-var require_assert_valid_pattern = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.assertValidPattern = void 0;
-    var MAX_PATTERN_LENGTH = 1024 * 64;
-    var assertValidPattern = (pattern) => {
-      if (typeof pattern !== "string") {
-        throw new TypeError("invalid pattern");
+      entries() {
+        webidl.brandCheck(this, _FormData);
+        return makeIterator(
+          () => this[kState].map((pair) => [pair.name, pair.value]),
+          "FormData",
+          "key+value"
+        );
       }
-      if (pattern.length > MAX_PATTERN_LENGTH) {
-        throw new TypeError("pattern is too long");
+      keys() {
+        webidl.brandCheck(this, _FormData);
+        return makeIterator(
+          () => this[kState].map((pair) => [pair.name, pair.value]),
+          "FormData",
+          "key"
+        );
+      }
+      values() {
+        webidl.brandCheck(this, _FormData);
+        return makeIterator(
+          () => this[kState].map((pair) => [pair.name, pair.value]),
+          "FormData",
+          "value"
+        );
+      }
+      /**
+       * @param {(value: string, key: string, self: FormData) => void} callbackFn
+       * @param {unknown} thisArg
+       */
+      forEach(callbackFn, thisArg = globalThis) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" });
+        if (typeof callbackFn !== "function") {
+          throw new TypeError(
+            "Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'."
+          );
+        }
+        for (const [key, value] of this) {
+          callbackFn.apply(thisArg, [value, key, this]);
+        }
       }
     };
-    exports2.assertValidPattern = assertValidPattern;
+    FormData2.prototype[Symbol.iterator] = FormData2.prototype.entries;
+    Object.defineProperties(FormData2.prototype, {
+      [Symbol.toStringTag]: {
+        value: "FormData",
+        configurable: true
+      }
+    });
+    function makeEntry(name, value, filename) {
+      name = Buffer.from(name).toString("utf8");
+      if (typeof value === "string") {
+        value = Buffer.from(value).toString("utf8");
+      } else {
+        if (!isFileLike(value)) {
+          value = value instanceof Blob2 ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
+        }
+        if (filename !== void 0) {
+          const options = {
+            type: value.type,
+            lastModified: value.lastModified
+          };
+          value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
+        }
+      }
+      return { name, value };
+    }
+    module2.exports = { FormData: FormData2 };
   }
 });
 
-// node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js
-var require_brace_expressions = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js"(exports2) {
+// node_modules/undici/lib/fetch/body.js
+var require_body3 = __commonJS({
+  "node_modules/undici/lib/fetch/body.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.parseClass = void 0;
-    var posixClasses = {
-      "[:alnum:]": ["\\p{L}\\p{Nl}\\p{Nd}", true],
-      "[:alpha:]": ["\\p{L}\\p{Nl}", true],
-      "[:ascii:]": ["\\x00-\\x7f", false],
-      "[:blank:]": ["\\p{Zs}\\t", true],
-      "[:cntrl:]": ["\\p{Cc}", true],
-      "[:digit:]": ["\\p{Nd}", true],
-      "[:graph:]": ["\\p{Z}\\p{C}", true, true],
-      "[:lower:]": ["\\p{Ll}", true],
-      "[:print:]": ["\\p{C}", true],
-      "[:punct:]": ["\\p{P}", true],
-      "[:space:]": ["\\p{Z}\\t\\r\\n\\v\\f", true],
-      "[:upper:]": ["\\p{Lu}", true],
-      "[:word:]": ["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}", true],
-      "[:xdigit:]": ["A-Fa-f0-9", false]
-    };
-    var braceEscape = (s) => s.replace(/[[\]\\-]/g, "\\$&");
-    var regexpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
-    var rangesToString = (ranges) => ranges.join("");
-    var parseClass = (glob2, position) => {
-      const pos = position;
-      if (glob2.charAt(pos) !== "[") {
-        throw new Error("not in a brace expression");
+    var Busboy = require_main();
+    var util = require_util24();
+    var {
+      ReadableStreamFrom,
+      isBlobLike,
+      isReadableStreamLike,
+      readableStreamClose,
+      createDeferredPromise,
+      fullyReadBody
+    } = require_util25();
+    var { FormData: FormData2 } = require_formdata3();
+    var { kState } = require_symbols12();
+    var { webidl } = require_webidl3();
+    var { DOMException: DOMException2, structuredClone } = require_constants21();
+    var { Blob: Blob2, File: NativeFile } = require("buffer");
+    var { kBodyUsed } = require_symbols11();
+    var assert = require("assert");
+    var { isErrored } = require_util24();
+    var { isUint8Array, isArrayBuffer } = require("util/types");
+    var { File: UndiciFile } = require_file5();
+    var { parseMIMEType, serializeAMimeType } = require_dataURL();
+    var random;
+    try {
+      const crypto2 = require("node:crypto");
+      random = (max) => crypto2.randomInt(0, max);
+    } catch {
+      random = (max) => Math.floor(Math.random(max));
+    }
+    var ReadableStream2 = globalThis.ReadableStream;
+    var File2 = NativeFile ?? UndiciFile;
+    var textEncoder = new TextEncoder();
+    var textDecoder = new TextDecoder();
+    function extractBody(object, keepalive = false) {
+      if (!ReadableStream2) {
+        ReadableStream2 = require("stream/web").ReadableStream;
       }
-      const ranges = [];
-      const negs = [];
-      let i = pos + 1;
-      let sawStart = false;
-      let uflag = false;
-      let escaping = false;
-      let negate = false;
-      let endPos = pos;
-      let rangeStart = "";
-      WHILE: while (i < glob2.length) {
-        const c = glob2.charAt(i);
-        if ((c === "!" || c === "^") && i === pos + 1) {
-          negate = true;
-          i++;
-          continue;
-        }
-        if (c === "]" && sawStart && !escaping) {
-          endPos = i + 1;
-          break;
-        }
-        sawStart = true;
-        if (c === "\\") {
-          if (!escaping) {
-            escaping = true;
-            i++;
-            continue;
-          }
-        }
-        if (c === "[" && !escaping) {
-          for (const [cls, [unip, u, neg]] of Object.entries(posixClasses)) {
-            if (glob2.startsWith(cls, i)) {
-              if (rangeStart) {
-                return ["$.", false, glob2.length - pos, true];
-              }
-              i += cls.length;
-              if (neg)
-                negs.push(unip);
-              else
-                ranges.push(unip);
-              uflag = uflag || u;
-              continue WHILE;
+      let stream = null;
+      if (object instanceof ReadableStream2) {
+        stream = object;
+      } else if (isBlobLike(object)) {
+        stream = object.stream();
+      } else {
+        stream = new ReadableStream2({
+          async pull(controller) {
+            controller.enqueue(
+              typeof source === "string" ? textEncoder.encode(source) : source
+            );
+            queueMicrotask(() => readableStreamClose(controller));
+          },
+          start() {
+          },
+          type: void 0
+        });
+      }
+      assert(isReadableStreamLike(stream));
+      let action = null;
+      let source = null;
+      let length = null;
+      let type2 = null;
+      if (typeof object === "string") {
+        source = object;
+        type2 = "text/plain;charset=UTF-8";
+      } else if (object instanceof URLSearchParams) {
+        source = object.toString();
+        type2 = "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 = (str2) => str2.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;
             }
           }
         }
-        escaping = false;
-        if (rangeStart) {
-          if (c > rangeStart) {
-            ranges.push(braceEscape(rangeStart) + "-" + braceEscape(c));
-          } else if (c === rangeStart) {
-            ranges.push(braceEscape(c));
+        const chunk = textEncoder.encode(`--${boundary}--`);
+        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;
+            }
           }
-          rangeStart = "";
-          i++;
-          continue;
+        };
+        type2 = "multipart/form-data; boundary=" + boundary;
+      } else if (isBlobLike(object)) {
+        source = object;
+        length = object.size;
+        if (object.type) {
+          type2 = object.type;
         }
-        if (glob2.startsWith("-]", i + 1)) {
-          ranges.push(braceEscape(c + "-"));
-          i += 2;
-          continue;
+      } else if (typeof object[Symbol.asyncIterator] === "function") {
+        if (keepalive) {
+          throw new TypeError("keepalive");
         }
-        if (glob2.startsWith("-", i + 1)) {
-          rangeStart = c;
-          i += 2;
-          continue;
+        if (util.isDisturbed(object) || object.locked) {
+          throw new TypeError(
+            "Response body object should not be disturbed or locked"
+          );
         }
-        ranges.push(braceEscape(c));
-        i++;
-      }
-      if (endPos < i) {
-        return ["", false, 0, false];
-      }
-      if (!ranges.length && !negs.length) {
-        return ["$.", false, glob2.length - pos, true];
+        stream = object instanceof ReadableStream2 ? object : ReadableStreamFrom(object);
       }
-      if (negs.length === 0 && ranges.length === 1 && /^\\?.$/.test(ranges[0]) && !negate) {
-        const r = ranges[0].length === 2 ? ranges[0].slice(-1) : ranges[0];
-        return [regexpEscape(r), false, endPos - pos, false];
+      if (typeof source === "string" || util.isBuffer(source)) {
+        length = Buffer.byteLength(source);
       }
-      const sranges = "[" + (negate ? "^" : "") + rangesToString(ranges) + "]";
-      const snegs = "[" + (negate ? "" : "^") + rangesToString(negs) + "]";
-      const comb = ranges.length && negs.length ? "(" + sranges + "|" + snegs + ")" : ranges.length ? sranges : snegs;
-      return [comb, uflag, endPos - pos, true];
-    };
-    exports2.parseClass = parseClass;
-  }
-});
-
-// node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js
-var require_unescape = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.unescape = void 0;
-    var unescape = (s, { windowsPathsNoEscape = false, magicalBraces = true } = {}) => {
-      if (magicalBraces) {
-        return windowsPathsNoEscape ? s.replace(/\[([^\/\\])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^\/\\])\]/g, "$1$2").replace(/\\([^\/])/g, "$1");
+      if (action != null) {
+        let iterator2;
+        stream = new ReadableStream2({
+          async start() {
+            iterator2 = action(object)[Symbol.asyncIterator]();
+          },
+          async pull(controller) {
+            const { value, done } = await iterator2.next();
+            if (done) {
+              queueMicrotask(() => {
+                controller.close();
+              });
+            } else {
+              if (!isErrored(stream)) {
+                controller.enqueue(new Uint8Array(value));
+              }
+            }
+            return controller.desiredSize > 0;
+          },
+          async cancel(reason) {
+            await iterator2.return();
+          },
+          type: void 0
+        });
       }
-      return windowsPathsNoEscape ? s.replace(/\[([^\/\\{}])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^\/\\{}])\]/g, "$1$2").replace(/\\([^\/{}])/g, "$1");
-    };
-    exports2.unescape = unescape;
-  }
-});
-
-// node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js
-var require_ast = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AST = void 0;
-    var brace_expressions_js_1 = require_brace_expressions();
-    var unescape_js_1 = require_unescape();
-    var types = /* @__PURE__ */ new Set(["!", "?", "+", "*", "@"]);
-    var isExtglobType = (c) => types.has(c);
-    var startNoTraversal = "(?!(?:^|/)\\.\\.?(?:$|/))";
-    var startNoDot = "(?!\\.)";
-    var addPatternStart = /* @__PURE__ */ new Set(["[", "."]);
-    var justDots = /* @__PURE__ */ new Set(["..", "."]);
-    var reSpecials = new Set("().*{}+?[]^$\\!");
-    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
-    var qmark = "[^/]";
-    var star = qmark + "*?";
-    var starNoEmpty = qmark + "+?";
-    var AST = class _AST {
-      type;
-      #root;
-      #hasMagic;
-      #uflag = false;
-      #parts = [];
-      #parent;
-      #parentIndex;
-      #negs;
-      #filledNegs = false;
-      #options;
-      #toString;
-      // set to true if it's an extglob with no children
-      // (which really means one child of '')
-      #emptyExt = false;
-      constructor(type2, parent, options = {}) {
-        this.type = type2;
-        if (type2)
-          this.#hasMagic = true;
-        this.#parent = parent;
-        this.#root = this.#parent ? this.#parent.#root : this;
-        this.#options = this.#root === this ? options : this.#root.#options;
-        this.#negs = this.#root === this ? [] : this.#root.#negs;
-        if (type2 === "!" && !this.#root.#filledNegs)
-          this.#negs.push(this);
-        this.#parentIndex = this.#parent ? this.#parent.#parts.length : 0;
+      const body = { stream, source, length };
+      return [body, type2];
+    }
+    function safelyExtractBody(object, keepalive = false) {
+      if (!ReadableStream2) {
+        ReadableStream2 = require("stream/web").ReadableStream;
       }
-      get hasMagic() {
-        if (this.#hasMagic !== void 0)
-          return this.#hasMagic;
-        for (const p of this.#parts) {
-          if (typeof p === "string")
-            continue;
-          if (p.type || p.hasMagic)
-            return this.#hasMagic = true;
-        }
-        return this.#hasMagic;
+      if (object instanceof ReadableStream2) {
+        assert(!util.isDisturbed(object), "The body has already been consumed.");
+        assert(!object.locked, "The stream is locked.");
       }
-      // reconstructs the pattern
-      toString() {
-        if (this.#toString !== void 0)
-          return this.#toString;
-        if (!this.type) {
-          return this.#toString = this.#parts.map((p) => String(p)).join("");
+      return extractBody(object, keepalive);
+    }
+    function cloneBody(body) {
+      const [out1, out2] = body.stream.tee();
+      const out2Clone = structuredClone(out2, { transfer: [out2] });
+      const [, finalClone] = out2Clone.tee();
+      body.stream = out1;
+      return {
+        stream: finalClone,
+        length: body.length,
+        source: body.source
+      };
+    }
+    async function* consumeBody(body) {
+      if (body) {
+        if (isUint8Array(body)) {
+          yield body;
         } else {
-          return this.#toString = this.type + "(" + this.#parts.map((p) => String(p)).join("|") + ")";
+          const stream = body.stream;
+          if (util.isDisturbed(stream)) {
+            throw new TypeError("The body has already been consumed.");
+          }
+          if (stream.locked) {
+            throw new TypeError("The stream is locked.");
+          }
+          stream[kBodyUsed] = true;
+          yield* stream;
         }
       }
-      #fillNegs() {
-        if (this !== this.#root)
-          throw new Error("should only call on root");
-        if (this.#filledNegs)
-          return this;
-        this.toString();
-        this.#filledNegs = true;
-        let n;
-        while (n = this.#negs.pop()) {
-          if (n.type !== "!")
-            continue;
-          let p = n;
-          let pp = p.#parent;
-          while (pp) {
-            for (let i = p.#parentIndex + 1; !pp.type && i < pp.#parts.length; i++) {
-              for (const part of n.#parts) {
-                if (typeof part === "string") {
-                  throw new Error("string part in extglob AST??");
+    }
+    function throwIfAborted(state) {
+      if (state.aborted) {
+        throw new DOMException2("The operation was aborted.", "AbortError");
+      }
+    }
+    function bodyMixinMethods(instance) {
+      const methods = {
+        blob() {
+          return specConsumeBody(this, (bytes) => {
+            let mimeType = bodyMimeType(this);
+            if (mimeType === "failure") {
+              mimeType = "";
+            } else if (mimeType) {
+              mimeType = serializeAMimeType(mimeType);
+            }
+            return new Blob2([bytes], { type: mimeType });
+          }, instance);
+        },
+        arrayBuffer() {
+          return specConsumeBody(this, (bytes) => {
+            return new Uint8Array(bytes).buffer;
+          }, instance);
+        },
+        text() {
+          return specConsumeBody(this, utf8DecodeBytes, instance);
+        },
+        json() {
+          return specConsumeBody(this, parseJSONFromBytes, instance);
+        },
+        async formData() {
+          webidl.brandCheck(this, instance);
+          throwIfAborted(this[kState]);
+          const contentType = this.headers.get("Content-Type");
+          if (/multipart\/form-data/.test(contentType)) {
+            const headers = {};
+            for (const [key, value] of this.headers) headers[key.toLowerCase()] = value;
+            const responseFormData = new FormData2();
+            let busboy;
+            try {
+              busboy = new Busboy({
+                headers,
+                preservePath: true
+              });
+            } catch (err) {
+              throw new DOMException2(`${err}`, "AbortError");
+            }
+            busboy.on("field", (name, value) => {
+              responseFormData.append(name, value);
+            });
+            busboy.on("file", (name, value, filename, encoding, mimeType) => {
+              const chunks = [];
+              if (encoding === "base64" || encoding.toLowerCase() === "base64") {
+                let base64chunk = "";
+                value.on("data", (chunk) => {
+                  base64chunk += chunk.toString().replace(/[\r\n]/gm, "");
+                  const end = base64chunk.length - base64chunk.length % 4;
+                  chunks.push(Buffer.from(base64chunk.slice(0, end), "base64"));
+                  base64chunk = base64chunk.slice(end);
+                });
+                value.on("end", () => {
+                  chunks.push(Buffer.from(base64chunk, "base64"));
+                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
+                });
+              } else {
+                value.on("data", (chunk) => {
+                  chunks.push(chunk);
+                });
+                value.on("end", () => {
+                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
+                });
+              }
+            });
+            const busboyResolve = new Promise((resolve3, reject) => {
+              busboy.on("finish", resolve3);
+              busboy.on("error", (err) => reject(new TypeError(err)));
+            });
+            if (this.body !== null) for await (const chunk of consumeBody(this[kState].body)) busboy.write(chunk);
+            busboy.end();
+            await busboyResolve;
+            return responseFormData;
+          } else if (/application\/x-www-form-urlencoded/.test(contentType)) {
+            let entries;
+            try {
+              let text = "";
+              const streamingDecoder = new TextDecoder("utf-8", { ignoreBOM: true });
+              for await (const chunk of consumeBody(this[kState].body)) {
+                if (!isUint8Array(chunk)) {
+                  throw new TypeError("Expected Uint8Array chunk");
                 }
-                part.copyIn(pp.#parts[i]);
+                text += streamingDecoder.decode(chunk, { stream: true });
               }
+              text += streamingDecoder.decode();
+              entries = new URLSearchParams(text);
+            } catch (err) {
+              throw Object.assign(new TypeError(), { cause: err });
             }
-            p = pp;
-            pp = p.#parent;
-          }
-        }
-        return this;
-      }
-      push(...parts) {
-        for (const p of parts) {
-          if (p === "")
-            continue;
-          if (typeof p !== "string" && !(p instanceof _AST && p.#parent === this)) {
-            throw new Error("invalid part: " + p);
+            const formData = new FormData2();
+            for (const [name, value] of entries) {
+              formData.append(name, value);
+            }
+            return formData;
+          } else {
+            await Promise.resolve();
+            throwIfAborted(this[kState]);
+            throw webidl.errors.exception({
+              header: `${instance.name}.formData`,
+              message: "Could not parse content as FormData."
+            });
           }
-          this.#parts.push(p);
         }
+      };
+      return methods;
+    }
+    function mixinBody(prototype) {
+      Object.assign(prototype.prototype, bodyMixinMethods(prototype));
+    }
+    async function specConsumeBody(object, convertBytesToJSValue, instance) {
+      webidl.brandCheck(object, instance);
+      throwIfAborted(object[kState]);
+      if (bodyUnusable(object[kState].body)) {
+        throw new TypeError("Body is unusable");
       }
-      toJSON() {
-        const ret = this.type === null ? this.#parts.slice().map((p) => typeof p === "string" ? p : p.toJSON()) : [this.type, ...this.#parts.map((p) => p.toJSON())];
-        if (this.isStart() && !this.type)
-          ret.unshift([]);
-        if (this.isEnd() && (this === this.#root || this.#root.#filledNegs && this.#parent?.type === "!")) {
-          ret.push({});
+      const promise = createDeferredPromise();
+      const errorSteps = (error3) => promise.reject(error3);
+      const successSteps = (data) => {
+        try {
+          promise.resolve(convertBytesToJSValue(data));
+        } catch (e) {
+          errorSteps(e);
         }
-        return ret;
+      };
+      if (object[kState].body == null) {
+        successSteps(new Uint8Array());
+        return promise.promise;
       }
-      isStart() {
-        if (this.#root === this)
-          return true;
-        if (!this.#parent?.isStart())
-          return false;
-        if (this.#parentIndex === 0)
-          return true;
-        const p = this.#parent;
-        for (let i = 0; i < this.#parentIndex; i++) {
-          const pp = p.#parts[i];
-          if (!(pp instanceof _AST && pp.type === "!")) {
-            return false;
-          }
-        }
-        return true;
+      await fullyReadBody(object[kState].body, successSteps, errorSteps);
+      return promise.promise;
+    }
+    function bodyUnusable(body) {
+      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
+    }
+    function utf8DecodeBytes(buffer) {
+      if (buffer.length === 0) {
+        return "";
       }
-      isEnd() {
-        if (this.#root === this)
-          return true;
-        if (this.#parent?.type === "!")
-          return true;
-        if (!this.#parent?.isEnd())
-          return false;
-        if (!this.type)
-          return this.#parent?.isEnd();
-        const pl = this.#parent ? this.#parent.#parts.length : 0;
-        return this.#parentIndex === pl - 1;
+      if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
+        buffer = buffer.subarray(3);
       }
-      copyIn(part) {
-        if (typeof part === "string")
-          this.push(part);
-        else
-          this.push(part.clone(this));
+      const output = textDecoder.decode(buffer);
+      return output;
+    }
+    function parseJSONFromBytes(bytes) {
+      return JSON.parse(utf8DecodeBytes(bytes));
+    }
+    function bodyMimeType(object) {
+      const { headersList } = object[kState];
+      const contentType = headersList.get("content-type");
+      if (contentType === null) {
+        return "failure";
       }
-      clone(parent) {
-        const c = new _AST(this.type, parent);
-        for (const p of this.#parts) {
-          c.copyIn(p);
+      return parseMIMEType(contentType);
+    }
+    module2.exports = {
+      extractBody,
+      safelyExtractBody,
+      cloneBody,
+      mixinBody
+    };
+  }
+});
+
+// node_modules/undici/lib/core/request.js
+var require_request5 = __commonJS({
+  "node_modules/undici/lib/core/request.js"(exports2, module2) {
+    "use strict";
+    var {
+      InvalidArgumentError,
+      NotSupportedError
+    } = require_errors6();
+    var assert = require("assert");
+    var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = require_symbols11();
+    var util = require_util24();
+    var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;
+    var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
+    var invalidPathRegex = /[^\u0021-\u00ff]/;
+    var kHandler = /* @__PURE__ */ Symbol("handler");
+    var channels = {};
+    var extractBody;
+    try {
+      const diagnosticsChannel = require("diagnostics_channel");
+      channels.create = diagnosticsChannel.channel("undici:request:create");
+      channels.bodySent = diagnosticsChannel.channel("undici:request:bodySent");
+      channels.headers = diagnosticsChannel.channel("undici:request:headers");
+      channels.trailers = diagnosticsChannel.channel("undici:request:trailers");
+      channels.error = diagnosticsChannel.channel("undici:request:error");
+    } catch {
+      channels.create = { hasSubscribers: false };
+      channels.bodySent = { hasSubscribers: false };
+      channels.headers = { hasSubscribers: false };
+      channels.trailers = { hasSubscribers: false };
+      channels.error = { hasSubscribers: false };
+    }
+    var Request = class _Request {
+      constructor(origin, {
+        path: path4,
+        method,
+        body,
+        headers,
+        query,
+        idempotent,
+        blocking,
+        upgrade,
+        headersTimeout,
+        bodyTimeout,
+        reset,
+        throwOnError,
+        expectContinue
+      }, handler2) {
+        if (typeof path4 !== "string") {
+          throw new InvalidArgumentError("path must be a string");
+        } else if (path4[0] !== "/" && !(path4.startsWith("http://") || path4.startsWith("https://")) && method !== "CONNECT") {
+          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
+        } else if (invalidPathRegex.exec(path4) !== null) {
+          throw new InvalidArgumentError("invalid request path");
         }
-        return c;
-      }
-      static #parseAST(str2, ast, pos, opt) {
-        let escaping = false;
-        let inBrace = false;
-        let braceStart = -1;
-        let braceNeg = false;
-        if (ast.type === null) {
-          let i2 = pos;
-          let acc2 = "";
-          while (i2 < str2.length) {
-            const c = str2.charAt(i2++);
-            if (escaping || c === "\\") {
-              escaping = !escaping;
-              acc2 += c;
-              continue;
-            }
-            if (inBrace) {
-              if (i2 === braceStart + 1) {
-                if (c === "^" || c === "!") {
-                  braceNeg = true;
-                }
-              } else if (c === "]" && !(i2 === braceStart + 2 && braceNeg)) {
-                inBrace = false;
-              }
-              acc2 += c;
-              continue;
-            } else if (c === "[") {
-              inBrace = true;
-              braceStart = i2;
-              braceNeg = false;
-              acc2 += c;
-              continue;
-            }
-            if (!opt.noext && isExtglobType(c) && str2.charAt(i2) === "(") {
-              ast.push(acc2);
-              acc2 = "";
-              const ext = new _AST(c, ast);
-              i2 = _AST.#parseAST(str2, ext, i2, opt);
-              ast.push(ext);
-              continue;
-            }
-            acc2 += c;
-          }
-          ast.push(acc2);
-          return i2;
+        if (typeof method !== "string") {
+          throw new InvalidArgumentError("method must be a string");
+        } else if (tokenRegExp.exec(method) === null) {
+          throw new InvalidArgumentError("invalid request method");
         }
-        let i = pos + 1;
-        let part = new _AST(null, ast);
-        const parts = [];
-        let acc = "";
-        while (i < str2.length) {
-          const c = str2.charAt(i++);
-          if (escaping || c === "\\") {
-            escaping = !escaping;
-            acc += c;
-            continue;
+        if (upgrade && typeof upgrade !== "string") {
+          throw new InvalidArgumentError("upgrade must be a string");
+        }
+        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
+          throw new InvalidArgumentError("invalid headersTimeout");
+        }
+        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
+          throw new InvalidArgumentError("invalid bodyTimeout");
+        }
+        if (reset != null && typeof reset !== "boolean") {
+          throw new InvalidArgumentError("invalid reset");
+        }
+        if (expectContinue != null && typeof expectContinue !== "boolean") {
+          throw new InvalidArgumentError("invalid expectContinue");
+        }
+        this.headersTimeout = headersTimeout;
+        this.bodyTimeout = bodyTimeout;
+        this.throwOnError = throwOnError === true;
+        this.method = method;
+        this.abort = null;
+        if (body == null) {
+          this.body = null;
+        } else if (util.isStream(body)) {
+          this.body = body;
+          const rState = this.body._readableState;
+          if (!rState || !rState.autoDestroy) {
+            this.endHandler = function autoDestroy() {
+              util.destroy(this);
+            };
+            this.body.on("end", this.endHandler);
           }
-          if (inBrace) {
-            if (i === braceStart + 1) {
-              if (c === "^" || c === "!") {
-                braceNeg = true;
-              }
-            } else if (c === "]" && !(i === braceStart + 2 && braceNeg)) {
-              inBrace = false;
+          this.errorHandler = (err) => {
+            if (this.abort) {
+              this.abort(err);
+            } else {
+              this.error = err;
             }
-            acc += c;
-            continue;
-          } else if (c === "[") {
-            inBrace = true;
-            braceStart = i;
-            braceNeg = false;
-            acc += c;
-            continue;
-          }
-          if (isExtglobType(c) && str2.charAt(i) === "(") {
-            part.push(acc);
-            acc = "";
-            const ext = new _AST(c, part);
-            part.push(ext);
-            i = _AST.#parseAST(str2, ext, i, opt);
-            continue;
-          }
-          if (c === "|") {
-            part.push(acc);
-            acc = "";
-            parts.push(part);
-            part = new _AST(null, ast);
-            continue;
+          };
+          this.body.on("error", this.errorHandler);
+        } else if (util.isBuffer(body)) {
+          this.body = body.byteLength ? body : null;
+        } else if (ArrayBuffer.isView(body)) {
+          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
+        } else if (body instanceof ArrayBuffer) {
+          this.body = body.byteLength ? Buffer.from(body) : null;
+        } else if (typeof body === "string") {
+          this.body = body.length ? Buffer.from(body) : null;
+        } else if (util.isFormDataLike(body) || util.isIterable(body) || util.isBlobLike(body)) {
+          this.body = body;
+        } else {
+          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
+        }
+        this.completed = false;
+        this.aborted = false;
+        this.upgrade = upgrade || null;
+        this.path = query ? util.buildURL(path4, query) : path4;
+        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");
           }
-          if (c === ")") {
-            if (acc === "" && ast.#parts.length === 0) {
-              ast.#emptyExt = true;
-            }
-            part.push(acc);
-            acc = "";
-            ast.push(...parts, part);
-            return i;
+          for (let i = 0; i < headers.length; i += 2) {
+            processHeader(this, headers[i], headers[i + 1]);
           }
-          acc += c;
-        }
-        ast.type = null;
-        ast.#hasMagic = void 0;
-        ast.#parts = [str2.substring(pos - 1)];
-        return i;
-      }
-      static fromGlob(pattern, options = {}) {
-        const ast = new _AST(null, void 0, options);
-        _AST.#parseAST(pattern, ast, 0, options);
-        return ast;
-      }
-      // returns the regular expression if there's magic, or the unescaped
-      // string if not.
-      toMMPattern() {
-        if (this !== this.#root)
-          return this.#root.toMMPattern();
-        const glob2 = this.toString();
-        const [re, body, hasMagic, uflag] = this.toRegExpSource();
-        const anyMagic = hasMagic || this.#hasMagic || this.#options.nocase && !this.#options.nocaseMagicOnly && glob2.toUpperCase() !== glob2.toLowerCase();
-        if (!anyMagic) {
-          return body;
-        }
-        const flags = (this.#options.nocase ? "i" : "") + (uflag ? "u" : "");
-        return Object.assign(new RegExp(`^${re}$`, flags), {
-          _src: re,
-          _glob: glob2
-        });
-      }
-      get options() {
-        return this.#options;
-      }
-      // returns the string match, the regexp source, whether there's magic
-      // in the regexp (so a regular expression is required) and whether or
-      // not the uflag is needed for the regular expression (for posix classes)
-      // TODO: instead of injecting the start/end at this point, just return
-      // the BODY of the regexp, along with the start/end portions suitable
-      // for binding the start/end in either a joined full-path makeRe context
-      // (where we bind to (^|/), or a standalone matchPart context (where
-      // we bind to ^, and not /).  Otherwise slashes get duped!
-      //
-      // In part-matching mode, the start is:
-      // - if not isStart: nothing
-      // - if traversal possible, but not allowed: ^(?!\.\.?$)
-      // - if dots allowed or not possible: ^
-      // - if dots possible and not allowed: ^(?!\.)
-      // end is:
-      // - if not isEnd(): nothing
-      // - else: $
-      //
-      // In full-path matching mode, we put the slash at the START of the
-      // pattern, so start is:
-      // - if first pattern: same as part-matching mode
-      // - if not isStart(): nothing
-      // - if traversal possible, but not allowed: /(?!\.\.?(?:$|/))
-      // - if dots allowed or not possible: /
-      // - if dots possible and not allowed: /(?!\.)
-      // end is:
-      // - if last pattern, same as part-matching mode
-      // - else nothing
-      //
-      // Always put the (?:$|/) on negated tails, though, because that has to be
-      // there to bind the end of the negated pattern portion, and it's easier to
-      // just stick it in now rather than try to inject it later in the middle of
-      // the pattern.
-      //
-      // We can just always return the same end, and leave it up to the caller
-      // to know whether it's going to be used joined or in parts.
-      // And, if the start is adjusted slightly, can do the same there:
-      // - if not isStart: nothing
-      // - if traversal possible, but not allowed: (?:/|^)(?!\.\.?$)
-      // - if dots allowed or not possible: (?:/|^)
-      // - if dots possible and not allowed: (?:/|^)(?!\.)
-      //
-      // But it's better to have a simpler binding without a conditional, for
-      // performance, so probably better to return both start options.
-      //
-      // Then the caller just ignores the end if it's not the first pattern,
-      // and the start always gets applied.
-      //
-      // But that's always going to be $ if it's the ending pattern, or nothing,
-      // so the caller can just attach $ at the end of the pattern when building.
-      //
-      // So the todo is:
-      // - better detect what kind of start is needed
-      // - return both flavors of starting pattern
-      // - attach $ at the end of the pattern when creating the actual RegExp
-      //
-      // Ah, but wait, no, that all only applies to the root when the first pattern
-      // is not an extglob. If the first pattern IS an extglob, then we need all
-      // that dot prevention biz to live in the extglob portions, because eg
-      // +(*|.x*) can match .xy but not .yx.
-      //
-      // So, return the two flavors if it's #root and the first child is not an
-      // AST, otherwise leave it to the child AST to handle it, and there,
-      // use the (?:^|/) style of start binding.
-      //
-      // Even simplified further:
-      // - Since the start for a join is eg /(?!\.) and the start for a part
-      // is ^(?!\.), we can just prepend (?!\.) to the pattern (either root
-      // or start or whatever) and prepend ^ or / at the Regexp construction.
-      toRegExpSource(allowDot) {
-        const dot = allowDot ?? !!this.#options.dot;
-        if (this.#root === this)
-          this.#fillNegs();
-        if (!this.type) {
-          const noEmpty = this.isStart() && this.isEnd() && !this.#parts.some((s) => typeof s !== "string");
-          const src = this.#parts.map((p) => {
-            const [re, _2, hasMagic, uflag] = typeof p === "string" ? _AST.#parseGlob(p, this.#hasMagic, noEmpty) : p.toRegExpSource(allowDot);
-            this.#hasMagic = this.#hasMagic || hasMagic;
-            this.#uflag = this.#uflag || uflag;
-            return re;
-          }).join("");
-          let start2 = "";
-          if (this.isStart()) {
-            if (typeof this.#parts[0] === "string") {
-              const dotTravAllowed = this.#parts.length === 1 && justDots.has(this.#parts[0]);
-              if (!dotTravAllowed) {
-                const aps = addPatternStart;
-                const needNoTrav = (
-                  // dots are allowed, and the pattern starts with [ or .
-                  dot && aps.has(src.charAt(0)) || // the pattern starts with \., and then [ or .
-                  src.startsWith("\\.") && aps.has(src.charAt(2)) || // the pattern starts with \.\., and then [ or .
-                  src.startsWith("\\.\\.") && aps.has(src.charAt(4))
-                );
-                const needNoDot = !dot && !allowDot && aps.has(src.charAt(0));
-                start2 = needNoTrav ? startNoTraversal : needNoDot ? startNoDot : "";
-              }
-            }
+        } else if (headers && typeof headers === "object") {
+          const keys = Object.keys(headers);
+          for (let i = 0; i < keys.length; i++) {
+            const key = keys[i];
+            processHeader(this, key, headers[key]);
           }
-          let end = "";
-          if (this.isEnd() && this.#root.#filledNegs && this.#parent?.type === "!") {
-            end = "(?:$|\\/)";
+        } else if (headers != null) {
+          throw new InvalidArgumentError("headers must be an object or an array");
+        }
+        if (util.isFormDataLike(this.body)) {
+          if (util.nodeMajor < 16 || util.nodeMajor === 16 && util.nodeMinor < 8) {
+            throw new InvalidArgumentError("Form-Data bodies are only supported in node v16.8 and newer.");
           }
-          const final2 = start2 + src + end;
-          return [
-            final2,
-            (0, unescape_js_1.unescape)(src),
-            this.#hasMagic = !!this.#hasMagic,
-            this.#uflag
-          ];
+          if (!extractBody) {
+            extractBody = require_body3().extractBody;
+          }
+          const [bodyStream, contentType] = extractBody(body);
+          if (this.contentType == null) {
+            this.contentType = contentType;
+            this.headers += `content-type: ${contentType}\r
+`;
+          }
+          this.body = bodyStream.stream;
+          this.contentLength = bodyStream.length;
+        } else if (util.isBlobLike(body) && this.contentType == null && body.type) {
+          this.contentType = body.type;
+          this.headers += `content-type: ${body.type}\r
+`;
         }
-        const repeated = this.type === "*" || this.type === "+";
-        const start = this.type === "!" ? "(?:(?!(?:" : "(?:";
-        let body = this.#partsToRegExp(dot);
-        if (this.isStart() && this.isEnd() && !body && this.type !== "!") {
-          const s = this.toString();
-          this.#parts = [s];
-          this.type = null;
-          this.#hasMagic = void 0;
-          return [s, (0, unescape_js_1.unescape)(this.toString()), false, false];
+        util.validateHandler(handler2, method, upgrade);
+        this.servername = util.getServerName(this.host);
+        this[kHandler] = handler2;
+        if (channels.create.hasSubscribers) {
+          channels.create.publish({ request: this });
         }
-        let bodyDotAllowed = !repeated || allowDot || dot || !startNoDot ? "" : this.#partsToRegExp(true);
-        if (bodyDotAllowed === body) {
-          bodyDotAllowed = "";
+      }
+      onBodySent(chunk) {
+        if (this[kHandler].onBodySent) {
+          try {
+            return this[kHandler].onBodySent(chunk);
+          } catch (err) {
+            this.abort(err);
+          }
         }
-        if (bodyDotAllowed) {
-          body = `(?:${body})(?:${bodyDotAllowed})*?`;
+      }
+      onRequestSent() {
+        if (channels.bodySent.hasSubscribers) {
+          channels.bodySent.publish({ request: this });
         }
-        let final = "";
-        if (this.type === "!" && this.#emptyExt) {
-          final = (this.isStart() && !dot ? startNoDot : "") + starNoEmpty;
+        if (this[kHandler].onRequestSent) {
+          try {
+            return this[kHandler].onRequestSent();
+          } catch (err) {
+            this.abort(err);
+          }
+        }
+      }
+      onConnect(abort) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (this.error) {
+          abort(this.error);
         } else {
-          const close = this.type === "!" ? (
-            // !() must match something,but !(x) can match ''
-            "))" + (this.isStart() && !dot && !allowDot ? startNoDot : "") + star + ")"
-          ) : this.type === "@" ? ")" : this.type === "?" ? ")?" : this.type === "+" && bodyDotAllowed ? ")" : this.type === "*" && bodyDotAllowed ? `)?` : `)${this.type}`;
-          final = start + body + close;
+          this.abort = abort;
+          return this[kHandler].onConnect(abort);
         }
-        return [
-          final,
-          (0, unescape_js_1.unescape)(body),
-          this.#hasMagic = !!this.#hasMagic,
-          this.#uflag
-        ];
       }
-      #partsToRegExp(dot) {
-        return this.#parts.map((p) => {
-          if (typeof p === "string") {
-            throw new Error("string type in extglob ast??");
-          }
-          const [re, _2, _hasMagic, uflag] = p.toRegExpSource(dot);
-          this.#uflag = this.#uflag || uflag;
-          return re;
-        }).filter((p) => !(this.isStart() && this.isEnd()) || !!p).join("|");
+      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);
+        }
       }
-      static #parseGlob(glob2, hasMagic, noEmpty = false) {
-        let escaping = false;
-        let re = "";
-        let uflag = false;
-        for (let i = 0; i < glob2.length; i++) {
-          const c = glob2.charAt(i);
-          if (escaping) {
-            escaping = false;
-            re += (reSpecials.has(c) ? "\\" : "") + c;
-            continue;
-          }
-          if (c === "\\") {
-            if (i === glob2.length - 1) {
-              re += "\\\\";
-            } else {
-              escaping = true;
-            }
-            continue;
-          }
-          if (c === "[") {
-            const [src, needUflag, consumed, magic] = (0, brace_expressions_js_1.parseClass)(glob2, i);
-            if (consumed) {
-              re += src;
-              uflag = uflag || needUflag;
-              i += consumed - 1;
-              hasMagic = hasMagic || magic;
-              continue;
-            }
-          }
-          if (c === "*") {
-            re += noEmpty && glob2 === "*" ? starNoEmpty : star;
-            hasMagic = true;
-            continue;
-          }
-          if (c === "?") {
-            re += qmark;
-            hasMagic = true;
-            continue;
-          }
-          re += regExpEscape(c);
+      onData(chunk) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        try {
+          return this[kHandler].onData(chunk);
+        } catch (err) {
+          this.abort(err);
+          return false;
         }
-        return [re, (0, unescape_js_1.unescape)(glob2), !!hasMagic, uflag];
       }
-    };
-    exports2.AST = AST;
-  }
-});
-
-// node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js
-var require_escape = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.escape = void 0;
-    var escape = (s, { windowsPathsNoEscape = false, magicalBraces = false } = {}) => {
-      if (magicalBraces) {
-        return windowsPathsNoEscape ? s.replace(/[?*()[\]{}]/g, "[$&]") : s.replace(/[?*()[\]\\{}]/g, "\\$&");
+      onUpgrade(statusCode, headers, socket) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        return this[kHandler].onUpgrade(statusCode, headers, socket);
       }
-      return windowsPathsNoEscape ? s.replace(/[?*()[\]]/g, "[$&]") : s.replace(/[?*()[\]\\]/g, "\\$&");
-    };
-    exports2.escape = escape;
-  }
-});
-
-// node_modules/glob/node_modules/minimatch/dist/commonjs/index.js
-var require_commonjs20 = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.unescape = exports2.escape = exports2.AST = exports2.Minimatch = exports2.match = exports2.makeRe = exports2.braceExpand = exports2.defaults = exports2.filter = exports2.GLOBSTAR = exports2.sep = exports2.minimatch = void 0;
-    var brace_expansion_1 = require_commonjs19();
-    var assert_valid_pattern_js_1 = require_assert_valid_pattern();
-    var ast_js_1 = require_ast();
-    var escape_js_1 = require_escape();
-    var unescape_js_1 = require_unescape();
-    var minimatch = (p, pattern, options = {}) => {
-      (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
-      if (!options.nocomment && pattern.charAt(0) === "#") {
-        return false;
+      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);
+        }
       }
-      return new Minimatch(pattern, options).match(p);
-    };
-    exports2.minimatch = minimatch;
-    var starDotExtRE = /^\*+([^+@!?\*\[\(]*)$/;
-    var starDotExtTest = (ext2) => (f) => !f.startsWith(".") && f.endsWith(ext2);
-    var starDotExtTestDot = (ext2) => (f) => f.endsWith(ext2);
-    var starDotExtTestNocase = (ext2) => {
-      ext2 = ext2.toLowerCase();
-      return (f) => !f.startsWith(".") && f.toLowerCase().endsWith(ext2);
-    };
-    var starDotExtTestNocaseDot = (ext2) => {
-      ext2 = ext2.toLowerCase();
-      return (f) => f.toLowerCase().endsWith(ext2);
-    };
-    var starDotStarRE = /^\*+\.\*+$/;
-    var starDotStarTest = (f) => !f.startsWith(".") && f.includes(".");
-    var starDotStarTestDot = (f) => f !== "." && f !== ".." && f.includes(".");
-    var dotStarRE = /^\.\*+$/;
-    var dotStarTest = (f) => f !== "." && f !== ".." && f.startsWith(".");
-    var starRE = /^\*+$/;
-    var starTest = (f) => f.length !== 0 && !f.startsWith(".");
-    var starTestDot = (f) => f.length !== 0 && f !== "." && f !== "..";
-    var qmarksRE = /^\?+([^+@!?\*\[\(]*)?$/;
-    var qmarksTestNocase = ([$0, ext2 = ""]) => {
-      const noext = qmarksTestNoExt([$0]);
-      if (!ext2)
-        return noext;
-      ext2 = ext2.toLowerCase();
-      return (f) => noext(f) && f.toLowerCase().endsWith(ext2);
-    };
-    var qmarksTestNocaseDot = ([$0, ext2 = ""]) => {
-      const noext = qmarksTestNoExtDot([$0]);
-      if (!ext2)
-        return noext;
-      ext2 = ext2.toLowerCase();
-      return (f) => noext(f) && f.toLowerCase().endsWith(ext2);
-    };
-    var qmarksTestDot = ([$0, ext2 = ""]) => {
-      const noext = qmarksTestNoExtDot([$0]);
-      return !ext2 ? noext : (f) => noext(f) && f.endsWith(ext2);
-    };
-    var qmarksTest = ([$0, ext2 = ""]) => {
-      const noext = qmarksTestNoExt([$0]);
-      return !ext2 ? noext : (f) => noext(f) && f.endsWith(ext2);
-    };
-    var qmarksTestNoExt = ([$0]) => {
-      const len = $0.length;
-      return (f) => f.length === len && !f.startsWith(".");
-    };
-    var qmarksTestNoExtDot = ([$0]) => {
-      const len = $0.length;
-      return (f) => f.length === len && f !== "." && f !== "..";
-    };
-    var defaultPlatform = typeof process === "object" && process ? typeof process.env === "object" && process.env && process.env.__MINIMATCH_TESTING_PLATFORM__ || process.platform : "posix";
-    var path4 = {
-      win32: { sep: "\\" },
-      posix: { sep: "/" }
-    };
-    exports2.sep = defaultPlatform === "win32" ? path4.win32.sep : path4.posix.sep;
-    exports2.minimatch.sep = exports2.sep;
-    exports2.GLOBSTAR = /* @__PURE__ */ Symbol("globstar **");
-    exports2.minimatch.GLOBSTAR = exports2.GLOBSTAR;
-    var qmark = "[^/]";
-    var star = qmark + "*?";
-    var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
-    var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
-    var filter = (pattern, options = {}) => (p) => (0, exports2.minimatch)(p, pattern, options);
-    exports2.filter = filter;
-    exports2.minimatch.filter = exports2.filter;
-    var ext = (a, b = {}) => Object.assign({}, a, b);
-    var defaults = (def) => {
-      if (!def || typeof def !== "object" || !Object.keys(def).length) {
-        return exports2.minimatch;
+      onError(error3) {
+        this.onFinally();
+        if (channels.error.hasSubscribers) {
+          channels.error.publish({ request: this, error: error3 });
+        }
+        if (this.aborted) {
+          return;
+        }
+        this.aborted = true;
+        return this[kHandler].onError(error3);
       }
-      const orig = exports2.minimatch;
-      const m = (p, pattern, options = {}) => orig(p, pattern, ext(def, options));
-      return Object.assign(m, {
-        Minimatch: class Minimatch extends orig.Minimatch {
-          constructor(pattern, options = {}) {
-            super(pattern, ext(def, options));
-          }
-          static defaults(options) {
-            return orig.defaults(ext(def, options)).Minimatch;
+      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;
+        }
+      }
+      // TODO: adjust to support H2
+      addHeader(key, value) {
+        processHeader(this, key, value);
+        return this;
+      }
+      static [kHTTP1BuildRequest](origin, opts, handler2) {
+        return new _Request(origin, opts, handler2);
+      }
+      static [kHTTP2BuildRequest](origin, opts, handler2) {
+        const headers = opts.headers;
+        opts = { ...opts, headers: null };
+        const request2 = new _Request(origin, opts, handler2);
+        request2.headers = {};
+        if (Array.isArray(headers)) {
+          if (headers.length % 2 !== 0) {
+            throw new InvalidArgumentError("headers array must be even");
           }
-        },
-        AST: class AST extends orig.AST {
-          /* c8 ignore start */
-          constructor(type2, parent, options = {}) {
-            super(type2, parent, ext(def, options));
+          for (let i = 0; i < headers.length; i += 2) {
+            processHeader(request2, headers[i], headers[i + 1], true);
           }
-          /* c8 ignore stop */
-          static fromGlob(pattern, options = {}) {
-            return orig.AST.fromGlob(pattern, ext(def, options));
+        } else if (headers && typeof headers === "object") {
+          const keys = Object.keys(headers);
+          for (let i = 0; i < keys.length; i++) {
+            const key = keys[i];
+            processHeader(request2, key, headers[key], true);
           }
-        },
-        unescape: (s, options = {}) => orig.unescape(s, ext(def, options)),
-        escape: (s, options = {}) => orig.escape(s, ext(def, options)),
-        filter: (pattern, options = {}) => orig.filter(pattern, ext(def, options)),
-        defaults: (options) => orig.defaults(ext(def, options)),
-        makeRe: (pattern, options = {}) => orig.makeRe(pattern, ext(def, options)),
-        braceExpand: (pattern, options = {}) => orig.braceExpand(pattern, ext(def, options)),
-        match: (list, pattern, options = {}) => orig.match(list, pattern, ext(def, options)),
-        sep: orig.sep,
-        GLOBSTAR: exports2.GLOBSTAR
-      });
-    };
-    exports2.defaults = defaults;
-    exports2.minimatch.defaults = exports2.defaults;
-    var braceExpand = (pattern, options = {}) => {
-      (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
-      if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
-        return [pattern];
+        } else if (headers != null) {
+          throw new InvalidArgumentError("headers must be an object or an array");
+        }
+        return request2;
       }
-      return (0, brace_expansion_1.expand)(pattern);
-    };
-    exports2.braceExpand = braceExpand;
-    exports2.minimatch.braceExpand = exports2.braceExpand;
-    var makeRe = (pattern, options = {}) => new Minimatch(pattern, options).makeRe();
-    exports2.makeRe = makeRe;
-    exports2.minimatch.makeRe = exports2.makeRe;
-    var match = (list, pattern, options = {}) => {
-      const mm = new Minimatch(pattern, options);
-      list = list.filter((f) => mm.match(f));
-      if (mm.options.nonull && !list.length) {
-        list.push(pattern);
+      static [kHTTP2CopyHeaders](raw) {
+        const rawHeaders = raw.split("\r\n");
+        const headers = {};
+        for (const header of rawHeaders) {
+          const [key, value] = header.split(": ");
+          if (value == null || value.length === 0) continue;
+          if (headers[key]) headers[key] += `,${value}`;
+          else headers[key] = value;
+        }
+        return headers;
       }
-      return list;
     };
-    exports2.match = match;
-    exports2.minimatch.match = exports2.match;
-    var globMagic = /[?*]|[+@!]\(.*?\)|\[|\]/;
-    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
-    var Minimatch = class {
-      options;
-      set;
-      pattern;
-      windowsPathsNoEscape;
-      nonegate;
-      negate;
-      comment;
-      empty;
-      preserveMultipleSlashes;
-      partial;
-      globSet;
-      globParts;
-      nocase;
-      isWindows;
-      platform;
-      windowsNoMagicRoot;
-      regexp;
-      constructor(pattern, options = {}) {
-        (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
-        options = options || {};
-        this.options = options;
-        this.pattern = pattern;
-        this.platform = options.platform || defaultPlatform;
-        this.isWindows = this.platform === "win32";
-        this.windowsPathsNoEscape = !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;
-        if (this.windowsPathsNoEscape) {
-          this.pattern = this.pattern.replace(/\\/g, "/");
+    function processHeaderValue(key, val, skipAppend) {
+      if (val && typeof val === "object") {
+        throw new InvalidArgumentError(`invalid ${key} header`);
+      }
+      val = val != null ? `${val}` : "";
+      if (headerCharRegex.exec(val) !== null) {
+        throw new InvalidArgumentError(`invalid ${key} header`);
+      }
+      return skipAppend ? val : `${key}: ${val}\r
+`;
+    }
+    function processHeader(request2, key, val, skipAppend = false) {
+      if (val && (typeof val === "object" && !Array.isArray(val))) {
+        throw new InvalidArgumentError(`invalid ${key} header`);
+      } else if (val === void 0) {
+        return;
+      }
+      if (request2.host === null && key.length === 4 && key.toLowerCase() === "host") {
+        if (headerCharRegex.exec(val) !== null) {
+          throw new InvalidArgumentError(`invalid ${key} header`);
         }
-        this.preserveMultipleSlashes = !!options.preserveMultipleSlashes;
-        this.regexp = null;
-        this.negate = false;
-        this.nonegate = !!options.nonegate;
-        this.comment = false;
-        this.empty = false;
-        this.partial = !!options.partial;
-        this.nocase = !!this.options.nocase;
-        this.windowsNoMagicRoot = options.windowsNoMagicRoot !== void 0 ? options.windowsNoMagicRoot : !!(this.isWindows && this.nocase);
-        this.globSet = [];
-        this.globParts = [];
-        this.set = [];
-        this.make();
+        request2.host = val;
+      } else if (request2.contentLength === null && key.length === 14 && key.toLowerCase() === "content-length") {
+        request2.contentLength = parseInt(val, 10);
+        if (!Number.isFinite(request2.contentLength)) {
+          throw new InvalidArgumentError("invalid content-length header");
+        }
+      } else if (request2.contentType === null && key.length === 12 && key.toLowerCase() === "content-type") {
+        request2.contentType = val;
+        if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
+        else request2.headers += processHeaderValue(key, val);
+      } else if (key.length === 17 && key.toLowerCase() === "transfer-encoding") {
+        throw new InvalidArgumentError("invalid transfer-encoding header");
+      } else if (key.length === 10 && key.toLowerCase() === "connection") {
+        const value = typeof val === "string" ? val.toLowerCase() : null;
+        if (value !== "close" && value !== "keep-alive") {
+          throw new InvalidArgumentError("invalid connection header");
+        } else if (value === "close") {
+          request2.reset = true;
+        }
+      } else if (key.length === 10 && key.toLowerCase() === "keep-alive") {
+        throw new InvalidArgumentError("invalid keep-alive header");
+      } else if (key.length === 7 && key.toLowerCase() === "upgrade") {
+        throw new InvalidArgumentError("invalid upgrade header");
+      } else if (key.length === 6 && key.toLowerCase() === "expect") {
+        throw new NotSupportedError("expect header not supported");
+      } else if (tokenRegExp.exec(key) === null) {
+        throw new InvalidArgumentError("invalid header key");
+      } else {
+        if (Array.isArray(val)) {
+          for (let i = 0; i < val.length; i++) {
+            if (skipAppend) {
+              if (request2.headers[key]) request2.headers[key] += `,${processHeaderValue(key, val[i], skipAppend)}`;
+              else request2.headers[key] = processHeaderValue(key, val[i], skipAppend);
+            } else {
+              request2.headers += processHeaderValue(key, val[i]);
+            }
+          }
+        } else {
+          if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
+          else request2.headers += processHeaderValue(key, val);
+        }
+      }
+    }
+    module2.exports = Request;
+  }
+});
+
+// node_modules/undici/lib/dispatcher.js
+var require_dispatcher3 = __commonJS({
+  "node_modules/undici/lib/dispatcher.js"(exports2, module2) {
+    "use strict";
+    var EventEmitter = require("events");
+    var Dispatcher = class extends EventEmitter {
+      dispatch() {
+        throw new Error("not implemented");
       }
-      hasMagic() {
-        if (this.options.magicalBraces && this.set.length > 1) {
-          return true;
-        }
-        for (const pattern of this.set) {
-          for (const part of pattern) {
-            if (typeof part !== "string")
-              return true;
+      close() {
+        throw new Error("not implemented");
+      }
+      destroy() {
+        throw new Error("not implemented");
+      }
+    };
+    module2.exports = Dispatcher;
+  }
+});
+
+// node_modules/undici/lib/dispatcher-base.js
+var require_dispatcher_base3 = __commonJS({
+  "node_modules/undici/lib/dispatcher-base.js"(exports2, module2) {
+    "use strict";
+    var Dispatcher = require_dispatcher3();
+    var {
+      ClientDestroyedError,
+      ClientClosedError,
+      InvalidArgumentError
+    } = require_errors6();
+    var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols11();
+    var kDestroyed = /* @__PURE__ */ Symbol("destroyed");
+    var kClosed = /* @__PURE__ */ Symbol("closed");
+    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
+    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
+    var kInterceptedDispatch = /* @__PURE__ */ 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");
+            }
           }
         }
-        return false;
-      }
-      debug(..._2) {
+        this[kInterceptors] = newInterceptors;
       }
-      make() {
-        const pattern = this.pattern;
-        const options = this.options;
-        if (!options.nocomment && pattern.charAt(0) === "#") {
-          this.comment = true;
-          return;
+      close(callback) {
+        if (callback === void 0) {
+          return new Promise((resolve3, reject) => {
+            this.close((err, data) => {
+              return err ? reject(err) : resolve3(data);
+            });
+          });
         }
-        if (!pattern) {
-          this.empty = true;
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        if (this[kDestroyed]) {
+          queueMicrotask(() => callback(new ClientDestroyedError(), null));
           return;
         }
-        this.parseNegate();
-        this.globSet = [...new Set(this.braceExpand())];
-        if (options.debug) {
-          this.debug = (...args) => console.error(...args);
+        if (this[kClosed]) {
+          if (this[kOnClosed]) {
+            this[kOnClosed].push(callback);
+          } else {
+            queueMicrotask(() => callback(null, null));
+          }
+          return;
         }
-        this.debug(this.pattern, this.globSet);
-        const rawGlobParts = this.globSet.map((s) => this.slashSplit(s));
-        this.globParts = this.preprocess(rawGlobParts);
-        this.debug(this.pattern, this.globParts);
-        let set2 = this.globParts.map((s, _2, __) => {
-          if (this.isWindows && this.windowsNoMagicRoot) {
-            const isUNC = s[0] === "" && s[1] === "" && (s[2] === "?" || !globMagic.test(s[2])) && !globMagic.test(s[3]);
-            const isDrive = /^[a-z]:/i.test(s[0]);
-            if (isUNC) {
-              return [...s.slice(0, 4), ...s.slice(4).map((ss) => this.parse(ss))];
-            } else if (isDrive) {
-              return [s[0], ...s.slice(1).map((ss) => this.parse(ss))];
-            }
+        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);
           }
-          return s.map((ss) => this.parse(ss));
+        };
+        this[kClose]().then(() => this.destroy()).then(() => {
+          queueMicrotask(onClosed);
         });
-        this.debug(this.pattern, set2);
-        this.set = set2.filter((s) => s.indexOf(false) === -1);
-        if (this.isWindows) {
-          for (let i = 0; i < this.set.length; i++) {
-            const p = this.set[i];
-            if (p[0] === "" && p[1] === "" && this.globParts[i][2] === "?" && typeof p[3] === "string" && /^[a-z]:$/i.test(p[3])) {
-              p[2] = "?";
-            }
-          }
-        }
-        this.debug(this.pattern, this.set);
       }
-      // various transforms to equivalent pattern sets that are
-      // faster to process in a filesystem walk.  The goal is to
-      // eliminate what we can, and push all ** patterns as far
-      // to the right as possible, even if it increases the number
-      // of patterns that we have to process.
-      preprocess(globParts) {
-        if (this.options.noglobstar) {
-          for (let i = 0; i < globParts.length; i++) {
-            for (let j = 0; j < globParts[i].length; j++) {
-              if (globParts[i][j] === "**") {
-                globParts[i][j] = "*";
-              }
-            }
+      destroy(err, callback) {
+        if (typeof err === "function") {
+          callback = err;
+          err = null;
+        }
+        if (callback === void 0) {
+          return new Promise((resolve3, reject) => {
+            this.destroy(err, (err2, data) => {
+              return err2 ? (
+                /* istanbul ignore next: should never error */
+                reject(err2)
+              ) : resolve3(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;
         }
-        const { optimizationLevel = 1 } = this.options;
-        if (optimizationLevel >= 2) {
-          globParts = this.firstPhasePreProcess(globParts);
-          globParts = this.secondPhasePreProcess(globParts);
-        } else if (optimizationLevel >= 1) {
-          globParts = this.levelOneOptimize(globParts);
-        } else {
-          globParts = this.adjascentGlobstarOptimize(globParts);
+        if (!err) {
+          err = new ClientDestroyedError();
         }
-        return globParts;
-      }
-      // just get rid of adjascent ** portions
-      adjascentGlobstarOptimize(globParts) {
-        return globParts.map((parts) => {
-          let gs = -1;
-          while (-1 !== (gs = parts.indexOf("**", gs + 1))) {
-            let i = gs;
-            while (parts[i + 1] === "**") {
-              i++;
-            }
-            if (i !== gs) {
-              parts.splice(gs, i - gs);
-            }
+        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);
           }
-          return parts;
+        };
+        this[kDestroy](err).then(() => {
+          queueMicrotask(onDestroyed);
         });
       }
-      // get rid of adjascent ** and resolve .. portions
-      levelOneOptimize(globParts) {
-        return globParts.map((parts) => {
-          parts = parts.reduce((set2, part) => {
-            const prev = set2[set2.length - 1];
-            if (part === "**" && prev === "**") {
-              return set2;
-            }
-            if (part === "..") {
-              if (prev && prev !== ".." && prev !== "." && prev !== "**") {
-                set2.pop();
-                return set2;
-              }
-            }
-            set2.push(part);
-            return set2;
-          }, []);
-          return parts.length === 0 ? [""] : parts;
-        });
+      [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);
       }
-      levelTwoFileOptimize(parts) {
-        if (!Array.isArray(parts)) {
-          parts = this.slashSplit(parts);
+      dispatch(opts, handler2) {
+        if (!handler2 || typeof handler2 !== "object") {
+          throw new InvalidArgumentError("handler must be an object");
         }
-        let didSomething = false;
-        do {
-          didSomething = false;
-          if (!this.preserveMultipleSlashes) {
-            for (let i = 1; i < parts.length - 1; i++) {
-              const p = parts[i];
-              if (i === 1 && p === "" && parts[0] === "")
-                continue;
-              if (p === "." || p === "") {
-                didSomething = true;
-                parts.splice(i, 1);
-                i--;
-              }
-            }
-            if (parts[0] === "." && parts.length === 2 && (parts[1] === "." || parts[1] === "")) {
-              didSomething = true;
-              parts.pop();
-            }
+        try {
+          if (!opts || typeof opts !== "object") {
+            throw new InvalidArgumentError("opts must be an object.");
           }
-          let dd = 0;
-          while (-1 !== (dd = parts.indexOf("..", dd + 1))) {
-            const p = parts[dd - 1];
-            if (p && p !== "." && p !== ".." && p !== "**") {
-              didSomething = true;
-              parts.splice(dd - 1, 2);
-              dd -= 2;
-            }
+          if (this[kDestroyed] || this[kOnDestroyed]) {
+            throw new ClientDestroyedError();
           }
-        } while (didSomething);
-        return parts.length === 0 ? [""] : parts;
-      }
-      // First phase: single-pattern processing
-      // 
 is 1 or more portions
-      //  is 1 or more portions
-      // 

is any portion other than ., .., '', or ** - // is . or '' - // - // **/.. is *brutal* for filesystem walking performance, because - // it effectively resets the recursive walk each time it occurs, - // and ** cannot be reduced out by a .. pattern part like a regexp - // or most strings (other than .., ., and '') can be. - // - //

/**/../

/

/ -> {

/../

/

/,

/**/

/

/} - //

// -> 
/
-      // 
/

/../ ->

/
-      // **/**/ -> **/
-      //
-      // **/*/ -> */**/ <== not valid because ** doesn't follow
-      // this WOULD be allowed if ** did follow symlinks, or * didn't
-      firstPhasePreProcess(globParts) {
-        let didSomething = false;
-        do {
-          didSomething = false;
-          for (let parts of globParts) {
-            let gs = -1;
-            while (-1 !== (gs = parts.indexOf("**", gs + 1))) {
-              let gss = gs;
-              while (parts[gss + 1] === "**") {
-                gss++;
-              }
-              if (gss > gs) {
-                parts.splice(gs + 1, gss - gs);
-              }
-              let next = parts[gs + 1];
-              const p = parts[gs + 2];
-              const p2 = parts[gs + 3];
-              if (next !== "..")
-                continue;
-              if (!p || p === "." || p === ".." || !p2 || p2 === "." || p2 === "..") {
-                continue;
-              }
-              didSomething = true;
-              parts.splice(gs, 1);
-              const other = parts.slice(0);
-              other[gs] = "**";
-              globParts.push(other);
-              gs--;
-            }
-            if (!this.preserveMultipleSlashes) {
-              for (let i = 1; i < parts.length - 1; i++) {
-                const p = parts[i];
-                if (i === 1 && p === "" && parts[0] === "")
-                  continue;
-                if (p === "." || p === "") {
-                  didSomething = true;
-                  parts.splice(i, 1);
-                  i--;
-                }
-              }
-              if (parts[0] === "." && parts.length === 2 && (parts[1] === "." || parts[1] === "")) {
-                didSomething = true;
-                parts.pop();
-              }
-            }
-            let dd = 0;
-            while (-1 !== (dd = parts.indexOf("..", dd + 1))) {
-              const p = parts[dd - 1];
-              if (p && p !== "." && p !== ".." && p !== "**") {
-                didSomething = true;
-                const needDot = dd === 1 && parts[dd + 1] === "**";
-                const splin = needDot ? ["."] : [];
-                parts.splice(dd - 1, 2, ...splin);
-                if (parts.length === 0)
-                  parts.push("");
-                dd -= 2;
-              }
-            }
+          if (this[kClosed]) {
+            throw new ClientClosedError();
           }
-        } while (didSomething);
-        return globParts;
-      }
-      // second phase: multi-pattern dedupes
-      // {
/*/,
/

/} ->

/*/
-      // {
/,
/} -> 
/
-      // {
/**/,
/} -> 
/**/
-      //
-      // {
/**/,
/**/

/} ->

/**/
-      // ^-- not valid because ** doens't follow symlinks
-      secondPhasePreProcess(globParts) {
-        for (let i = 0; i < globParts.length - 1; i++) {
-          for (let j = i + 1; j < globParts.length; j++) {
-            const matched = this.partsMatch(globParts[i], globParts[j], !this.preserveMultipleSlashes);
-            if (matched) {
-              globParts[i] = [];
-              globParts[j] = matched;
-              break;
-            }
+          return this[kInterceptedDispatch](opts, handler2);
+        } catch (err) {
+          if (typeof handler2.onError !== "function") {
+            throw new InvalidArgumentError("invalid onError method");
           }
+          handler2.onError(err);
+          return false;
         }
-        return globParts.filter((gs) => gs.length);
       }
-      partsMatch(a, b, emptyGSMatch = false) {
-        let ai = 0;
-        let bi = 0;
-        let result = [];
-        let which6 = "";
-        while (ai < a.length && bi < b.length) {
-          if (a[ai] === b[bi]) {
-            result.push(which6 === "b" ? b[bi] : a[ai]);
-            ai++;
-            bi++;
-          } else if (emptyGSMatch && a[ai] === "**" && b[bi] === a[ai + 1]) {
-            result.push(a[ai]);
-            ai++;
-          } else if (emptyGSMatch && b[bi] === "**" && a[ai] === b[bi + 1]) {
-            result.push(b[bi]);
-            bi++;
-          } else if (a[ai] === "*" && b[bi] && (this.options.dot || !b[bi].startsWith(".")) && b[bi] !== "**") {
-            if (which6 === "b")
-              return false;
-            which6 = "a";
-            result.push(a[ai]);
-            ai++;
-            bi++;
-          } else if (b[bi] === "*" && a[ai] && (this.options.dot || !a[ai].startsWith(".")) && a[ai] !== "**") {
-            if (which6 === "a")
-              return false;
-            which6 = "b";
-            result.push(b[bi]);
-            ai++;
-            bi++;
-          } else {
-            return false;
+    };
+    module2.exports = DispatcherBase;
+  }
+});
+
+// node_modules/undici/lib/core/connect.js
+var require_connect3 = __commonJS({
+  "node_modules/undici/lib/core/connect.js"(exports2, module2) {
+    "use strict";
+    var net = require("net");
+    var assert = require("assert");
+    var util = require_util24();
+    var { InvalidArgumentError, ConnectTimeoutError } = require_errors6();
+    var tls;
+    var SessionCache;
+    if (global.FinalizationRegistry && !process.env.NODE_V8_COVERAGE) {
+      SessionCache = class WeakSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
+          this._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);
+            }
+          });
+        }
+        get(sessionKey) {
+          const ref = this._sessionCache.get(sessionKey);
+          return ref ? ref.deref() : null;
+        }
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
+          this._sessionCache.set(sessionKey, new WeakRef(session));
+          this._sessionRegistry.register(session, sessionKey);
         }
-        return a.length === b.length && result;
-      }
-      parseNegate() {
-        if (this.nonegate)
-          return;
-        const pattern = this.pattern;
-        let negate = false;
-        let negateOffset = 0;
-        for (let i = 0; i < pattern.length && pattern.charAt(i) === "!"; i++) {
-          negate = !negate;
-          negateOffset++;
+      };
+    } else {
+      SessionCache = class SimpleSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
         }
-        if (negateOffset)
-          this.pattern = pattern.slice(negateOffset);
-        this.negate = negate;
+        get(sessionKey) {
+          return this._sessionCache.get(sessionKey);
+        }
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
+          }
+          if (this._sessionCache.size >= this._maxCachedSessions) {
+            const { value: oldestKey } = this._sessionCache.keys().next();
+            this._sessionCache.delete(oldestKey);
+          }
+          this._sessionCache.set(sessionKey, session);
+        }
+      };
+    }
+    function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, ...opts }) {
+      if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
+        throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
       }
-      // set partial to true to test if, for example,
-      // "/a/b" matches the start of "/*/b/*/d"
-      // Partial means, if you run out of file before you run
-      // out of pattern, then that's fine, as long as all
-      // the parts match.
-      matchOne(file, pattern, partial = false) {
-        const options = this.options;
-        if (this.isWindows) {
-          const fileDrive = typeof file[0] === "string" && /^[a-z]:$/i.test(file[0]);
-          const fileUNC = !fileDrive && file[0] === "" && file[1] === "" && file[2] === "?" && /^[a-z]:$/i.test(file[3]);
-          const patternDrive = typeof pattern[0] === "string" && /^[a-z]:$/i.test(pattern[0]);
-          const patternUNC = !patternDrive && pattern[0] === "" && pattern[1] === "" && pattern[2] === "?" && typeof pattern[3] === "string" && /^[a-z]:$/i.test(pattern[3]);
-          const fdi = fileUNC ? 3 : fileDrive ? 0 : void 0;
-          const pdi = patternUNC ? 3 : patternDrive ? 0 : void 0;
-          if (typeof fdi === "number" && typeof pdi === "number") {
-            const [fd, pd] = [file[fdi], pattern[pdi]];
-            if (fd.toLowerCase() === pd.toLowerCase()) {
-              pattern[pdi] = fd;
-              if (pdi > fdi) {
-                pattern = pattern.slice(pdi);
-              } else if (fdi > pdi) {
-                file = file.slice(fdi);
-              }
-            }
+      const options = { path: socketPath, ...opts };
+      const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
+      timeout = timeout == null ? 1e4 : timeout;
+      allowH2 = allowH2 != null ? allowH2 : false;
+      return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
+        let socket;
+        if (protocol === "https:") {
+          if (!tls) {
+            tls = require("tls");
           }
+          servername = servername || options.servername || util.getServerName(host) || null;
+          const sessionKey = servername || hostname;
+          const session = sessionCache.get(sessionKey) || null;
+          assert(sessionKey);
+          socket = tls.connect({
+            highWaterMark: 16384,
+            // TLS in node can't have bigger HWM anyway...
+            ...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: port || 443,
+            host: hostname
+          });
+          socket.on("session", function(session2) {
+            sessionCache.set(sessionKey, session2);
+          });
+        } else {
+          assert(!httpSocket, "httpSocket can only be sent on TLS update");
+          socket = net.connect({
+            highWaterMark: 64 * 1024,
+            // Same as nodejs fs streams.
+            ...options,
+            localAddress,
+            port: port || 80,
+            host: hostname
+          });
         }
-        const { optimizationLevel = 1 } = this.options;
-        if (optimizationLevel >= 2) {
-          file = this.levelTwoFileOptimize(file);
+        if (options.keepAlive == null || options.keepAlive) {
+          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
+          socket.setKeepAlive(true, keepAliveInitialDelay);
         }
-        this.debug("matchOne", this, { file, pattern });
-        this.debug("matchOne", file.length, pattern.length);
-        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
-          this.debug("matchOne loop");
-          var p = pattern[pi];
-          var f = file[fi];
-          this.debug(pattern, p, f);
-          if (p === false) {
-            return false;
+        const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout);
+        socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
+          cancelTimeout();
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(null, this);
           }
-          if (p === exports2.GLOBSTAR) {
-            this.debug("GLOBSTAR", [pattern, p, f]);
-            var fr = fi;
-            var pr = pi + 1;
-            if (pr === pl) {
-              this.debug("** at the end");
-              for (; fi < fl; fi++) {
-                if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".")
-                  return false;
-              }
-              return true;
-            }
-            while (fr < fl) {
-              var swallowee = file[fr];
-              this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
-              if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
-                this.debug("globstar found match!", fr, fl, swallowee);
-                return true;
-              } else {
-                if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
-                  this.debug("dot detected!", file, fr, pattern, pr);
-                  break;
-                }
-                this.debug("globstar swallow a segment, and continue");
-                fr++;
-              }
-            }
-            if (partial) {
-              this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
-              if (fr === fl) {
-                return true;
-              }
-            }
-            return false;
+        }).on("error", function(err) {
+          cancelTimeout();
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(err);
           }
-          let hit;
-          if (typeof p === "string") {
-            hit = f === p;
-            this.debug("string match", p, f, hit);
+        });
+        return socket;
+      };
+    }
+    function setupTimeout(onConnectTimeout2, timeout) {
+      if (!timeout) {
+        return () => {
+        };
+      }
+      let s1 = null;
+      let s2 = null;
+      const timeoutId = setTimeout(() => {
+        s1 = setImmediate(() => {
+          if (process.platform === "win32") {
+            s2 = setImmediate(() => onConnectTimeout2());
           } else {
-            hit = p.test(f);
-            this.debug("pattern match", p, f, hit);
+            onConnectTimeout2();
           }
-          if (!hit)
-            return false;
+        });
+      }, timeout);
+      return () => {
+        clearTimeout(timeoutId);
+        clearImmediate(s1);
+        clearImmediate(s2);
+      };
+    }
+    function onConnectTimeout(socket) {
+      util.destroy(socket, new ConnectTimeoutError());
+    }
+    module2.exports = buildConnector;
+  }
+});
+
+// node_modules/undici/lib/llhttp/utils.js
+var require_utils9 = __commonJS({
+  "node_modules/undici/lib/llhttp/utils.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.enumToMap = void 0;
+    function enumToMap(obj) {
+      const res = {};
+      Object.keys(obj).forEach((key) => {
+        const value = obj[key];
+        if (typeof value === "number") {
+          res[key] = value;
         }
-        if (fi === fl && pi === pl) {
-          return true;
-        } else if (fi === fl) {
-          return partial;
-        } else if (pi === pl) {
-          return fi === fl - 1 && file[fi] === "";
-        } else {
-          throw new Error("wtf?");
+      });
+      return res;
+    }
+    exports2.enumToMap = enumToMap;
+  }
+});
+
+// node_modules/undici/lib/llhttp/constants.js
+var require_constants22 = __commonJS({
+  "node_modules/undici/lib/llhttp/constants.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
+    var utils_1 = require_utils9();
+    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];
+      }
+    });
+    var FINISH;
+    (function(FINISH2) {
+      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
+      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
+      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
+    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
+    exports2.ALPHA = [];
+    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
+      exports2.ALPHA.push(String.fromCharCode(i));
+      exports2.ALPHA.push(String.fromCharCode(i + 32));
+    }
+    exports2.NUM_MAP = {
+      0: 0,
+      1: 1,
+      2: 2,
+      3: 3,
+      4: 4,
+      5: 5,
+      6: 6,
+      7: 7,
+      8: 8,
+      9: 9
+    };
+    exports2.HEX_MAP = {
+      0: 0,
+      1: 1,
+      2: 2,
+      3: 3,
+      4: 4,
+      5: 5,
+      6: 6,
+      7: 7,
+      8: 8,
+      9: 9,
+      A: 10,
+      B: 11,
+      C: 12,
+      D: 13,
+      E: 14,
+      F: 15,
+      a: 10,
+      b: 11,
+      c: 12,
+      d: 13,
+      e: 14,
+      f: 15
+    };
+    exports2.NUM = [
+      "0",
+      "1",
+      "2",
+      "3",
+      "4",
+      "5",
+      "6",
+      "7",
+      "8",
+      "9"
+    ];
+    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
+    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
+    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
+    exports2.STRICT_URL_CHAR = [
+      "!",
+      '"',
+      "$",
+      "%",
+      "&",
+      "'",
+      "(",
+      ")",
+      "*",
+      "+",
+      ",",
+      "-",
+      ".",
+      "/",
+      ":",
+      ";",
+      "<",
+      "=",
+      ">",
+      "@",
+      "[",
+      "\\",
+      "]",
+      "^",
+      "_",
+      "`",
+      "{",
+      "|",
+      "}",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
+    for (let i = 128; i <= 255; i++) {
+      exports2.URL_CHAR.push(i);
+    }
+    exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
+    exports2.STRICT_TOKEN = [
+      "!",
+      "#",
+      "$",
+      "%",
+      "&",
+      "'",
+      "*",
+      "+",
+      "-",
+      ".",
+      "^",
+      "_",
+      "`",
+      "|",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]);
+    exports2.HEADER_CHARS = ["	"];
+    for (let i = 32; i <= 255; i++) {
+      if (i !== 127) {
+        exports2.HEADER_CHARS.push(i);
+      }
+    }
+    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/handler/RedirectHandler.js
+var require_RedirectHandler = __commonJS({
+  "node_modules/undici/lib/handler/RedirectHandler.js"(exports2, module2) {
+    "use strict";
+    var util = require_util24();
+    var { kBodyUsed } = require_symbols11();
+    var assert = require("assert");
+    var { InvalidArgumentError } = require_errors6();
+    var EE = require("events");
+    var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
+    var kBody = /* @__PURE__ */ Symbol("body");
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
+      }
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
+      }
+    };
+    var RedirectHandler = class {
+      constructor(dispatch, maxRedirections, opts, handler2) {
+        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
+        }
+        util.validateHandler(handler2, opts.method, opts.upgrade);
+        this.dispatch = dispatch;
+        this.location = null;
+        this.abort = null;
+        this.opts = { ...opts, maxRedirections: 0 };
+        this.maxRedirections = maxRedirections;
+        this.handler = handler2;
+        this.history = [];
+        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);
         }
       }
-      braceExpand() {
-        return (0, exports2.braceExpand)(this.pattern, this.options);
+      onConnect(abort) {
+        this.abort = abort;
+        this.handler.onConnect(abort, { history: this.history });
       }
-      parse(pattern) {
-        (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
-        const options = this.options;
-        if (pattern === "**")
-          return exports2.GLOBSTAR;
-        if (pattern === "")
-          return "";
-        let m;
-        let fastTest = null;
-        if (m = pattern.match(starRE)) {
-          fastTest = options.dot ? starTestDot : starTest;
-        } else if (m = pattern.match(starDotExtRE)) {
-          fastTest = (options.nocase ? options.dot ? starDotExtTestNocaseDot : starDotExtTestNocase : options.dot ? starDotExtTestDot : starDotExtTest)(m[1]);
-        } else if (m = pattern.match(qmarksRE)) {
-          fastTest = (options.nocase ? options.dot ? qmarksTestNocaseDot : qmarksTestNocase : options.dot ? qmarksTestDot : qmarksTest)(m);
-        } else if (m = pattern.match(starDotStarRE)) {
-          fastTest = options.dot ? starDotStarTestDot : starDotStarTest;
-        } else if (m = pattern.match(dotStarRE)) {
-          fastTest = dotStarTest;
-        }
-        const re = ast_js_1.AST.fromGlob(pattern, this.options).toMMPattern();
-        if (fastTest && typeof re === "object") {
-          Reflect.defineProperty(re, "test", { value: fastTest });
-        }
-        return re;
+      onUpgrade(statusCode, headers, socket) {
+        this.handler.onUpgrade(statusCode, headers, socket);
       }
-      makeRe() {
-        if (this.regexp || this.regexp === false)
-          return this.regexp;
-        const set2 = this.set;
-        if (!set2.length) {
-          this.regexp = false;
-          return this.regexp;
+      onError(error3) {
+        this.handler.onError(error3);
+      }
+      onHeaders(statusCode, headers, resume, statusText) {
+        this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers);
+        if (this.opts.origin) {
+          this.history.push(new URL(this.opts.path, this.opts.origin));
         }
-        const options = this.options;
-        const twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
-        const flags = new Set(options.nocase ? ["i"] : []);
-        let re = set2.map((pattern) => {
-          const pp = pattern.map((p) => {
-            if (p instanceof RegExp) {
-              for (const f of p.flags.split(""))
-                flags.add(f);
-            }
-            return typeof p === "string" ? regExpEscape(p) : p === exports2.GLOBSTAR ? exports2.GLOBSTAR : p._src;
-          });
-          pp.forEach((p, i) => {
-            const next = pp[i + 1];
-            const prev = pp[i - 1];
-            if (p !== exports2.GLOBSTAR || prev === exports2.GLOBSTAR) {
-              return;
-            }
-            if (prev === void 0) {
-              if (next !== void 0 && next !== exports2.GLOBSTAR) {
-                pp[i + 1] = "(?:\\/|" + twoStar + "\\/)?" + next;
-              } else {
-                pp[i] = twoStar;
-              }
-            } else if (next === void 0) {
-              pp[i - 1] = prev + "(?:\\/|\\/" + twoStar + ")?";
-            } else if (next !== exports2.GLOBSTAR) {
-              pp[i - 1] = prev + "(?:\\/|\\/" + twoStar + "\\/)" + next;
-              pp[i + 1] = exports2.GLOBSTAR;
-            }
-          });
-          const filtered = pp.filter((p) => p !== exports2.GLOBSTAR);
-          if (this.partial && filtered.length >= 1) {
-            const prefixes = [];
-            for (let i = 1; i <= filtered.length; i++) {
-              prefixes.push(filtered.slice(0, i).join("/"));
-            }
-            return "(?:" + prefixes.join("|") + ")";
-          }
-          return filtered.join("/");
-        }).join("|");
-        const [open, close] = set2.length > 1 ? ["(?:", ")"] : ["", ""];
-        re = "^" + open + re + close + "$";
-        if (this.partial) {
-          re = "^(?:\\/|" + open + re.slice(1, -1) + close + ")$";
+        if (!this.location) {
+          return this.handler.onHeaders(statusCode, headers, resume, statusText);
         }
-        if (this.negate)
-          re = "^(?!" + re + ").+$";
-        try {
-          this.regexp = new RegExp(re, [...flags].join(""));
-        } catch (ex) {
-          this.regexp = false;
+        const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)));
+        const path4 = search ? `${pathname}${search}` : pathname;
+        this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
+        this.opts.path = path4;
+        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;
         }
-        return this.regexp;
       }
-      slashSplit(p) {
-        if (this.preserveMultipleSlashes) {
-          return p.split("/");
-        } else if (this.isWindows && /^\/\/[^\/]+/.test(p)) {
-          return ["", ...p.split(/\/+/)];
+      onData(chunk) {
+        if (this.location) {
         } else {
-          return p.split(/\/+/);
+          return this.handler.onData(chunk);
         }
       }
-      match(f, partial = this.partial) {
-        this.debug("match", f, this.pattern);
-        if (this.comment) {
-          return false;
-        }
-        if (this.empty) {
-          return f === "";
+      onComplete(trailers) {
+        if (this.location) {
+          this.location = null;
+          this.abort = null;
+          this.dispatch(this.opts, this);
+        } else {
+          this.handler.onComplete(trailers);
         }
-        if (f === "/" && partial) {
-          return true;
+      }
+      onBodySent(chunk) {
+        if (this.handler.onBodySent) {
+          this.handler.onBodySent(chunk);
         }
-        const options = this.options;
-        if (this.isWindows) {
-          f = f.split("\\").join("/");
+      }
+    };
+    function parseLocation(statusCode, headers) {
+      if (redirectableStatusCodes.indexOf(statusCode) === -1) {
+        return null;
+      }
+      for (let i = 0; i < headers.length; i += 2) {
+        if (headers[i].toString().toLowerCase() === "location") {
+          return headers[i + 1];
         }
-        const ff = this.slashSplit(f);
-        this.debug(this.pattern, "split", ff);
-        const set2 = this.set;
-        this.debug(this.pattern, "set", set2);
-        let filename = ff[ff.length - 1];
-        if (!filename) {
-          for (let i = ff.length - 2; !filename && i >= 0; i--) {
-            filename = ff[i];
+      }
+    }
+    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]);
           }
         }
-        for (let i = 0; i < set2.length; i++) {
-          const pattern = set2[i];
-          let file = ff;
-          if (options.matchBase && pattern.length === 1) {
-            file = [filename];
-          }
-          const hit = this.matchOne(file, pattern, partial);
-          if (hit) {
-            if (options.flipNegate) {
-              return true;
-            }
-            return !this.negate;
+      } else if (headers && typeof headers === "object") {
+        for (const key of Object.keys(headers)) {
+          if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {
+            ret.push(key, headers[key]);
           }
         }
-        if (options.flipNegate) {
-          return false;
-        }
-        return this.negate;
-      }
-      static defaults(def) {
-        return exports2.minimatch.defaults(def).Minimatch;
+      } else {
+        assert(headers == null, "headers must be an object or an array");
       }
-    };
-    exports2.Minimatch = Minimatch;
-    var ast_js_2 = require_ast();
-    Object.defineProperty(exports2, "AST", { enumerable: true, get: function() {
-      return ast_js_2.AST;
-    } });
-    var escape_js_2 = require_escape();
-    Object.defineProperty(exports2, "escape", { enumerable: true, get: function() {
-      return escape_js_2.escape;
-    } });
-    var unescape_js_2 = require_unescape();
-    Object.defineProperty(exports2, "unescape", { enumerable: true, get: function() {
-      return unescape_js_2.unescape;
-    } });
-    exports2.minimatch.AST = ast_js_1.AST;
-    exports2.minimatch.Minimatch = Minimatch;
-    exports2.minimatch.escape = escape_js_1.escape;
-    exports2.minimatch.unescape = unescape_js_1.unescape;
+      return ret;
+    }
+    module2.exports = RedirectHandler;
   }
 });
 
-// node_modules/lru-cache/dist/commonjs/index.js
-var require_commonjs21 = __commonJS({
-  "node_modules/lru-cache/dist/commonjs/index.js"(exports2) {
+// node_modules/undici/lib/interceptor/redirectInterceptor.js
+var require_redirectInterceptor = __commonJS({
+  "node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.LRUCache = void 0;
-    var perf = typeof performance === "object" && performance && typeof performance.now === "function" ? performance : Date;
-    var warned = /* @__PURE__ */ new Set();
-    var PROCESS = typeof process === "object" && !!process ? process : {};
-    var emitWarning = (msg, type2, code, fn) => {
-      typeof PROCESS.emitWarning === "function" ? PROCESS.emitWarning(msg, type2, code, fn) : console.error(`[${code}] ${type2}: ${msg}`);
-    };
-    var AC = globalThis.AbortController;
-    var AS = globalThis.AbortSignal;
-    if (typeof AC === "undefined") {
-      AS = class AbortSignal {
-        onabort;
-        _onabort = [];
-        reason;
-        aborted = false;
-        addEventListener(_2, fn) {
-          this._onabort.push(fn);
-        }
-      };
-      AC = class AbortController {
-        constructor() {
-          warnACPolyfill();
-        }
-        signal = new AS();
-        abort(reason) {
-          if (this.signal.aborted)
-            return;
-          this.signal.reason = reason;
-          this.signal.aborted = true;
-          for (const fn of this.signal._onabort) {
-            fn(reason);
+    var RedirectHandler = require_RedirectHandler();
+    function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) {
+      return (dispatch) => {
+        return function Intercept(opts, handler2) {
+          const { maxRedirections = defaultMaxRedirections } = opts;
+          if (!maxRedirections) {
+            return dispatch(opts, handler2);
           }
-          this.signal.onabort?.(reason);
-        }
-      };
-      let printACPolyfillWarning = PROCESS.env?.LRU_CACHE_IGNORE_AC_WARNING !== "1";
-      const warnACPolyfill = () => {
-        if (!printACPolyfillWarning)
-          return;
-        printACPolyfillWarning = false;
-        emitWarning("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.", "NO_ABORT_CONTROLLER", "ENOTSUP", warnACPolyfill);
+          const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler2);
+          opts = { ...opts, maxRedirections: 0 };
+          return dispatch(opts, redirectHandler);
+        };
       };
     }
-    var shouldWarn = (code) => !warned.has(code);
-    var isPosInt = (n) => n && n === Math.floor(n) && n > 0 && isFinite(n);
-    var getUintArray = (max) => !isPosInt(max) ? null : max <= Math.pow(2, 8) ? Uint8Array : max <= Math.pow(2, 16) ? Uint16Array : max <= Math.pow(2, 32) ? Uint32Array : max <= Number.MAX_SAFE_INTEGER ? ZeroArray : null;
-    var ZeroArray = class extends Array {
-      constructor(size) {
-        super(size);
-        this.fill(0);
-      }
-    };
-    var Stack = class _Stack {
-      heap;
-      length;
-      // private constructor
-      static #constructing = false;
-      static create(max) {
-        const HeapCls = getUintArray(max);
-        if (!HeapCls)
-          return [];
-        _Stack.#constructing = true;
-        const s = new _Stack(max, HeapCls);
-        _Stack.#constructing = false;
-        return s;
-      }
-      constructor(max, HeapCls) {
-        if (!_Stack.#constructing) {
-          throw new TypeError("instantiate Stack using Stack.create(n)");
-        }
-        this.heap = new HeapCls(max);
-        this.length = 0;
-      }
-      push(n) {
-        this.heap[this.length++] = n;
-      }
-      pop() {
-        return this.heap[--this.length];
-      }
-    };
-    var LRUCache = class _LRUCache {
-      // options that cannot be changed without disaster
-      #max;
-      #maxSize;
-      #dispose;
-      #onInsert;
-      #disposeAfter;
-      #fetchMethod;
-      #memoMethod;
-      /**
-       * {@link LRUCache.OptionsBase.ttl}
-       */
-      ttl;
-      /**
-       * {@link LRUCache.OptionsBase.ttlResolution}
-       */
-      ttlResolution;
-      /**
-       * {@link LRUCache.OptionsBase.ttlAutopurge}
-       */
-      ttlAutopurge;
-      /**
-       * {@link LRUCache.OptionsBase.updateAgeOnGet}
-       */
-      updateAgeOnGet;
-      /**
-       * {@link LRUCache.OptionsBase.updateAgeOnHas}
-       */
-      updateAgeOnHas;
-      /**
-       * {@link LRUCache.OptionsBase.allowStale}
-       */
-      allowStale;
-      /**
-       * {@link LRUCache.OptionsBase.noDisposeOnSet}
-       */
-      noDisposeOnSet;
-      /**
-       * {@link LRUCache.OptionsBase.noUpdateTTL}
-       */
-      noUpdateTTL;
-      /**
-       * {@link LRUCache.OptionsBase.maxEntrySize}
-       */
-      maxEntrySize;
-      /**
-       * {@link LRUCache.OptionsBase.sizeCalculation}
-       */
-      sizeCalculation;
-      /**
-       * {@link LRUCache.OptionsBase.noDeleteOnFetchRejection}
-       */
-      noDeleteOnFetchRejection;
-      /**
-       * {@link LRUCache.OptionsBase.noDeleteOnStaleGet}
-       */
-      noDeleteOnStaleGet;
-      /**
-       * {@link LRUCache.OptionsBase.allowStaleOnFetchAbort}
-       */
-      allowStaleOnFetchAbort;
-      /**
-       * {@link LRUCache.OptionsBase.allowStaleOnFetchRejection}
-       */
-      allowStaleOnFetchRejection;
-      /**
-       * {@link LRUCache.OptionsBase.ignoreFetchAbort}
-       */
-      ignoreFetchAbort;
-      // computed properties
-      #size;
-      #calculatedSize;
-      #keyMap;
-      #keyList;
-      #valList;
-      #next;
-      #prev;
-      #head;
-      #tail;
-      #free;
-      #disposed;
-      #sizes;
-      #starts;
-      #ttls;
-      #hasDispose;
-      #hasFetchMethod;
-      #hasDisposeAfter;
-      #hasOnInsert;
-      /**
-       * Do not call this method unless you need to inspect the
-       * inner workings of the cache.  If anything returned by this
-       * object is modified in any way, strange breakage may occur.
-       *
-       * These fields are private for a reason!
-       *
-       * @internal
-       */
-      static unsafeExposeInternals(c) {
-        return {
-          // properties
-          starts: c.#starts,
-          ttls: c.#ttls,
-          sizes: c.#sizes,
-          keyMap: c.#keyMap,
-          keyList: c.#keyList,
-          valList: c.#valList,
-          next: c.#next,
-          prev: c.#prev,
-          get head() {
-            return c.#head;
-          },
-          get tail() {
-            return c.#tail;
-          },
-          free: c.#free,
-          // methods
-          isBackgroundFetch: (p) => c.#isBackgroundFetch(p),
-          backgroundFetch: (k, index, options, context2) => c.#backgroundFetch(k, index, options, context2),
-          moveToTail: (index) => c.#moveToTail(index),
-          indexes: (options) => c.#indexes(options),
-          rindexes: (options) => c.#rindexes(options),
-          isStale: (index) => c.#isStale(index)
-        };
-      }
-      // Protected read-only members
-      /**
-       * {@link LRUCache.OptionsBase.max} (read-only)
-       */
-      get max() {
-        return this.#max;
-      }
-      /**
-       * {@link LRUCache.OptionsBase.maxSize} (read-only)
-       */
-      get maxSize() {
-        return this.#maxSize;
-      }
-      /**
-       * The total computed size of items in the cache (read-only)
-       */
-      get calculatedSize() {
-        return this.#calculatedSize;
-      }
-      /**
-       * The number of items stored in the cache (read-only)
-       */
-      get size() {
-        return this.#size;
-      }
-      /**
-       * {@link LRUCache.OptionsBase.fetchMethod} (read-only)
-       */
-      get fetchMethod() {
-        return this.#fetchMethod;
-      }
-      get memoMethod() {
-        return this.#memoMethod;
-      }
-      /**
-       * {@link LRUCache.OptionsBase.dispose} (read-only)
-       */
-      get dispose() {
-        return this.#dispose;
-      }
-      /**
-       * {@link LRUCache.OptionsBase.onInsert} (read-only)
-       */
-      get onInsert() {
-        return this.#onInsert;
+    module2.exports = createRedirectInterceptor;
+  }
+});
+
+// node_modules/undici/lib/llhttp/llhttp-wasm.js
+var require_llhttp_wasm3 = __commonJS({
+  "node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
+    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJsbGh0dHBfc3RhdHVzX25hbWUAIRpsbGh0dHBfc2V0X2xlbmllbnRfaGVhZGVycwAiIWxsaHR0cF9zZXRfbGVuaWVudF9jaHVua2VkX2xlbmd0aAAjHWxsaHR0cF9zZXRfbGVuaWVudF9rZWVwX2FsaXZlACQkbGxodHRwX3NldF9sZW5pZW50X3RyYW5zZmVyX2VuY29kaW5nACUYbGxodHRwX21lc3NhZ2VfbmVlZHNfZW9mAD8JFwEAQQELEQECAwQFCwYHNTk3MS8tJyspCsLgAkUCAAsIABCIgICAAAsZACAAEMKAgIAAGiAAIAI2AjggACABOgAoCxwAIAAgAC8BMiAALQAuIAAQwYCAgAAQgICAgAALKgEBf0HAABDGgICAACIBEMKAgIAAGiABQYCIgIAANgI4IAEgADoAKCABCwoAIAAQyICAgAALBwAgAC0AKAsHACAALQAqCwcAIAAtACsLBwAgAC0AKQsHACAALwEyCwcAIAAtAC4LRQEEfyAAKAIYIQEgAC0ALSECIAAtACghAyAAKAI4IQQgABDCgICAABogACAENgI4IAAgAzoAKCAAIAI6AC0gACABNgIYCxEAIAAgASABIAJqEMOAgIAACxAAIABBAEHcABDMgICAABoLZwEBf0EAIQECQCAAKAIMDQACQAJAAkACQCAALQAvDgMBAAMCCyAAKAI4IgFFDQAgASgCLCIBRQ0AIAAgARGAgICAAAAiAQ0DC0EADwsQyoCAgAAACyAAQcOWgIAANgIQQQ4hAQsgAQseAAJAIAAoAgwNACAAQdGbgIAANgIQIABBFTYCDAsLFgACQCAAKAIMQRVHDQAgAEEANgIMCwsWAAJAIAAoAgxBFkcNACAAQQA2AgwLCwcAIAAoAgwLBwAgACgCEAsJACAAIAE2AhALBwAgACgCFAsiAAJAIABBJEkNABDKgICAAAALIABBAnRBoLOAgABqKAIACyIAAkAgAEEuSQ0AEMqAgIAAAAsgAEECdEGwtICAAGooAgAL7gsBAX9B66iAgAAhAQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABBnH9qDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0Hhp4CAAA8LQaShgIAADwtBy6yAgAAPC0H+sYCAAA8LQcCkgIAADwtBq6SAgAAPC0GNqICAAA8LQeKmgIAADwtBgLCAgAAPC0G5r4CAAA8LQdekgIAADwtB75+AgAAPC0Hhn4CAAA8LQfqfgIAADwtB8qCAgAAPC0Gor4CAAA8LQa6ygIAADwtBiLCAgAAPC0Hsp4CAAA8LQYKigIAADwtBjp2AgAAPC0HQroCAAA8LQcqjgIAADwtBxbKAgAAPC0HfnICAAA8LQdKcgIAADwtBxKCAgAAPC0HXoICAAA8LQaKfgIAADwtB7a6AgAAPC0GrsICAAA8LQdSlgIAADwtBzK6AgAAPC0H6roCAAA8LQfyrgIAADwtB0rCAgAAPC0HxnYCAAA8LQbuggIAADwtB96uAgAAPC0GQsYCAAA8LQdexgIAADwtBoq2AgAAPC0HUp4CAAA8LQeCrgIAADwtBn6yAgAAPC0HrsYCAAA8LQdWfgIAADwtByrGAgAAPC0HepYCAAA8LQdSegIAADwtB9JyAgAAPC0GnsoCAAA8LQbGdgIAADwtBoJ2AgAAPC0G5sYCAAA8LQbywgIAADwtBkqGAgAAPC0GzpoCAAA8LQemsgIAADwtBrJ6AgAAPC0HUq4CAAA8LQfemgIAADwtBgKaAgAAPC0GwoYCAAA8LQf6egIAADwtBjaOAgAAPC0GJrYCAAA8LQfeigIAADwtBoLGAgAAPC0Gun4CAAA8LQcalgIAADwtB6J6AgAAPC0GTooCAAA8LQcKvgIAADwtBw52AgAAPC0GLrICAAA8LQeGdgIAADwtBja+AgAAPC0HqoYCAAA8LQbStgIAADwtB0q+AgAAPC0HfsoCAAA8LQdKygIAADwtB8LCAgAAPC0GpooCAAA8LQfmjgIAADwtBmZ6AgAAPC0G1rICAAA8LQZuwgIAADwtBkrKAgAAPC0G2q4CAAA8LQcKigIAADwtB+LKAgAAPC0GepYCAAA8LQdCigIAADwtBup6AgAAPC0GBnoCAAA8LEMqAgIAAAAtB1qGAgAAhAQsgAQsWACAAIAAtAC1B/gFxIAFBAEdyOgAtCxkAIAAgAC0ALUH9AXEgAUEAR0EBdHI6AC0LGQAgACAALQAtQfsBcSABQQBHQQJ0cjoALQsZACAAIAAtAC1B9wFxIAFBAEdBA3RyOgAtCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAgAiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCBCIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQcaRgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIwIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAggiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2ioCAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCNCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIMIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZqAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAjgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCECIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZWQgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAI8IgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAhQiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEGqm4CAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCQCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIYIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZOAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCJCIERQ0AIAAgBBGAgICAAAAhAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIsIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAigiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2iICAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCUCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIcIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABBwpmAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCICIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZSUgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAJMIgRFDQAgACAEEYCAgIAAACEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAlQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCWCIERQ0AIAAgBBGAgICAAAAhAwsgAwtFAQF/AkACQCAALwEwQRRxQRRHDQBBASEDIAAtAChBAUYNASAALwEyQeUARiEDDAELIAAtAClBBUYhAwsgACADOgAuQQAL/gEBA39BASEDAkAgAC8BMCIEQQhxDQAgACkDIEIAUiEDCwJAAkAgAC0ALkUNAEEBIQUgAC0AKUEFRg0BQQEhBSAEQcAAcUUgA3FBAUcNAQtBACEFIARBwABxDQBBAiEFIARB//8DcSIDQQhxDQACQCADQYAEcUUNAAJAIAAtAChBAUcNACAALQAtQQpxDQBBBQ8LQQQPCwJAIANBIHENAAJAIAAtAChBAUYNACAALwEyQf//A3EiAEGcf2pB5ABJDQAgAEHMAUYNACAAQbACRg0AQQQhBSAEQShxRQ0CIANBiARxQYAERg0CC0EADwtBAEEDIAApAyBQGyEFCyAFC2IBAn9BACEBAkAgAC0AKEEBRg0AIAAvATJB//8DcSICQZx/akHkAEkNACACQcwBRg0AIAJBsAJGDQAgAC8BMCIAQcAAcQ0AQQEhASAAQYgEcUGABEYNACAAQShxRSEBCyABC6cBAQN/AkACQAJAIAAtACpFDQAgAC0AK0UNAEEAIQMgAC8BMCIEQQJxRQ0BDAILQQAhAyAALwEwIgRBAXFFDQELQQEhAyAALQAoQQFGDQAgAC8BMkH//wNxIgVBnH9qQeQASQ0AIAVBzAFGDQAgBUGwAkYNACAEQcAAcQ0AQQAhAyAEQYgEcUGABEYNACAEQShxQQBHIQMLIABBADsBMCAAQQA6AC8gAwuZAQECfwJAAkACQCAALQAqRQ0AIAAtACtFDQBBACEBIAAvATAiAkECcUUNAQwCC0EAIQEgAC8BMCICQQFxRQ0BC0EBIQEgAC0AKEEBRg0AIAAvATJB//8DcSIAQZx/akHkAEkNACAAQcwBRg0AIABBsAJGDQAgAkHAAHENAEEAIQEgAkGIBHFBgARGDQAgAkEocUEARyEBCyABC1kAIABBGGpCADcDACAAQgA3AwAgAEE4akIANwMAIABBMGpCADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8=";
+  }
+});
+
+// node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
+var require_llhttp_simd_wasm3 = __commonJS({
+  "node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
+    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AcsBygG4AckBuQHIAboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBANwBC0EAIRAMxgELQQ4hEAzFAQtBDSEQDMQBC0EPIRAMwwELQRAhEAzCAQtBEyEQDMEBC0EUIRAMwAELQRUhEAy/AQtBFiEQDL4BC0EXIRAMvQELQRghEAy8AQtBGSEQDLsBC0EaIRAMugELQRshEAy5AQtBHCEQDLgBC0EIIRAMtwELQR0hEAy2AQtBICEQDLUBC0EfIRAMtAELQQchEAyzAQtBISEQDLIBC0EiIRAMsQELQR4hEAywAQtBIyEQDK8BC0ESIRAMrgELQREhEAytAQtBJCEQDKwBC0ElIRAMqwELQSYhEAyqAQtBJyEQDKkBC0HDASEQDKgBC0EpIRAMpwELQSshEAymAQtBLCEQDKUBC0EtIRAMpAELQS4hEAyjAQtBLyEQDKIBC0HEASEQDKEBC0EwIRAMoAELQTQhEAyfAQtBDCEQDJ4BC0ExIRAMnQELQTIhEAycAQtBMyEQDJsBC0E5IRAMmgELQTUhEAyZAQtBxQEhEAyYAQtBCyEQDJcBC0E6IRAMlgELQTYhEAyVAQtBCiEQDJQBC0E3IRAMkwELQTghEAySAQtBPCEQDJEBC0E7IRAMkAELQT0hEAyPAQtBCSEQDI4BC0EoIRAMjQELQT4hEAyMAQtBPyEQDIsBC0HAACEQDIoBC0HBACEQDIkBC0HCACEQDIgBC0HDACEQDIcBC0HEACEQDIYBC0HFACEQDIUBC0HGACEQDIQBC0EqIRAMgwELQccAIRAMggELQcgAIRAMgQELQckAIRAMgAELQcoAIRAMfwtBywAhEAx+C0HNACEQDH0LQcwAIRAMfAtBzgAhEAx7C0HPACEQDHoLQdAAIRAMeQtB0QAhEAx4C0HSACEQDHcLQdMAIRAMdgtB1AAhEAx1C0HWACEQDHQLQdUAIRAMcwtBBiEQDHILQdcAIRAMcQtBBSEQDHALQdgAIRAMbwtBBCEQDG4LQdkAIRAMbQtB2gAhEAxsC0HbACEQDGsLQdwAIRAMagtBAyEQDGkLQd0AIRAMaAtB3gAhEAxnC0HfACEQDGYLQeEAIRAMZQtB4AAhEAxkC0HiACEQDGMLQeMAIRAMYgtBAiEQDGELQeQAIRAMYAtB5QAhEAxfC0HmACEQDF4LQecAIRAMXQtB6AAhEAxcC0HpACEQDFsLQeoAIRAMWgtB6wAhEAxZC0HsACEQDFgLQe0AIRAMVwtB7gAhEAxWC0HvACEQDFULQfAAIRAMVAtB8QAhEAxTC0HyACEQDFILQfMAIRAMUQtB9AAhEAxQC0H1ACEQDE8LQfYAIRAMTgtB9wAhEAxNC0H4ACEQDEwLQfkAIRAMSwtB+gAhEAxKC0H7ACEQDEkLQfwAIRAMSAtB/QAhEAxHC0H+ACEQDEYLQf8AIRAMRQtBgAEhEAxEC0GBASEQDEMLQYIBIRAMQgtBgwEhEAxBC0GEASEQDEALQYUBIRAMPwtBhgEhEAw+C0GHASEQDD0LQYgBIRAMPAtBiQEhEAw7C0GKASEQDDoLQYsBIRAMOQtBjAEhEAw4C0GNASEQDDcLQY4BIRAMNgtBjwEhEAw1C0GQASEQDDQLQZEBIRAMMwtBkgEhEAwyC0GTASEQDDELQZQBIRAMMAtBlQEhEAwvC0GWASEQDC4LQZcBIRAMLQtBmAEhEAwsC0GZASEQDCsLQZoBIRAMKgtBmwEhEAwpC0GcASEQDCgLQZ0BIRAMJwtBngEhEAwmC0GfASEQDCULQaABIRAMJAtBoQEhEAwjC0GiASEQDCILQaMBIRAMIQtBpAEhEAwgC0GlASEQDB8LQaYBIRAMHgtBpwEhEAwdC0GoASEQDBwLQakBIRAMGwtBqgEhEAwaC0GrASEQDBkLQawBIRAMGAtBrQEhEAwXC0GuASEQDBYLQQEhEAwVC0GvASEQDBQLQbABIRAMEwtBsQEhEAwSC0GzASEQDBELQbIBIRAMEAtBtAEhEAwPC0G1ASEQDA4LQbYBIRAMDQtBtwEhEAwMC0G4ASEQDAsLQbkBIRAMCgtBugEhEAwJC0G7ASEQDAgLQcYBIRAMBwtBvAEhEAwGC0G9ASEQDAULQb4BIRAMBAtBvwEhEAwDC0HAASEQDAILQcIBIRAMAQtBwQEhEAsDQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==";
+  }
+});
+
+// node_modules/undici/lib/client.js
+var require_client3 = __commonJS({
+  "node_modules/undici/lib/client.js"(exports2, module2) {
+    "use strict";
+    var assert = require("assert");
+    var net = require("net");
+    var http = require("http");
+    var { pipeline } = require("stream");
+    var util = require_util24();
+    var timers = require_timers3();
+    var Request = require_request5();
+    var DispatcherBase = require_dispatcher_base3();
+    var {
+      RequestContentLengthMismatchError,
+      ResponseContentLengthMismatchError,
+      InvalidArgumentError,
+      RequestAbortedError,
+      HeadersTimeoutError,
+      HeadersOverflowError,
+      SocketError,
+      InformationalError,
+      BodyTimeoutError,
+      HTTPParserError,
+      ResponseExceededMaxSizeError,
+      ClientDestroyedError
+    } = require_errors6();
+    var buildConnector = require_connect3();
+    var {
+      kUrl,
+      kReset,
+      kServerName,
+      kClient,
+      kBusy,
+      kParser,
+      kConnect,
+      kBlocking,
+      kResuming,
+      kRunning,
+      kPending,
+      kSize,
+      kWriting,
+      kQueue,
+      kConnected,
+      kConnecting,
+      kNeedDrain,
+      kNoRef,
+      kKeepAliveDefaultTimeout,
+      kHostHeader,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kPipelining,
+      kSocket,
+      kKeepAliveTimeoutValue,
+      kMaxHeadersSize,
+      kKeepAliveMaxTimeout,
+      kKeepAliveTimeoutThreshold,
+      kHeadersTimeout,
+      kBodyTimeout,
+      kStrictContentLength,
+      kConnector,
+      kMaxRedirections,
+      kMaxRequests,
+      kCounter,
+      kClose,
+      kDestroy,
+      kDispatch,
+      kInterceptors,
+      kLocalAddress,
+      kMaxResponseSize,
+      kHTTPConnVersion,
+      // HTTP2
+      kHost,
+      kHTTP2Session,
+      kHTTP2SessionState,
+      kHTTP2BuildRequest,
+      kHTTP2CopyHeaders,
+      kHTTP1BuildRequest
+    } = require_symbols11();
+    var http2;
+    try {
+      http2 = require("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;
+    var h2ExperimentalWarned = false;
+    var FastBuffer = Buffer[Symbol.species];
+    var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
+    var channels = {};
+    try {
+      const diagnosticsChannel = require("diagnostics_channel");
+      channels.sendHeaders = diagnosticsChannel.channel("undici:client:sendHeaders");
+      channels.beforeConnect = diagnosticsChannel.channel("undici:client:beforeConnect");
+      channels.connectError = diagnosticsChannel.channel("undici:client:connectError");
+      channels.connected = diagnosticsChannel.channel("undici:client:connected");
+    } catch {
+      channels.sendHeaders = { hasSubscribers: false };
+      channels.beforeConnect = { hasSubscribers: false };
+      channels.connectError = { hasSubscribers: false };
+      channels.connected = { hasSubscribers: false };
+    }
+    var Client = class extends DispatcherBase {
       /**
-       * {@link LRUCache.OptionsBase.disposeAfter} (read-only)
+       *
+       * @param {string|URL} url
+       * @param {import('../types/client').Client.Options} options
        */
-      get disposeAfter() {
-        return this.#disposeAfter;
-      }
-      constructor(options) {
-        const { max = 0, ttl, ttlResolution = 1, ttlAutopurge, updateAgeOnGet, updateAgeOnHas, allowStale, dispose, onInsert, disposeAfter, noDisposeOnSet, noUpdateTTL, maxSize = 0, maxEntrySize = 0, sizeCalculation, fetchMethod, memoMethod, noDeleteOnFetchRejection, noDeleteOnStaleGet, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort } = options;
-        if (max !== 0 && !isPosInt(max)) {
-          throw new TypeError("max option must be a nonnegative integer");
+      constructor(url, {
+        interceptors,
+        maxHeaderSize,
+        headersTimeout,
+        socketTimeout,
+        requestTimeout,
+        connectTimeout,
+        bodyTimeout,
+        idleTimeout,
+        keepAlive,
+        keepAliveTimeout,
+        maxKeepAliveTimeout,
+        keepAliveMaxTimeout,
+        keepAliveTimeoutThreshold,
+        socketPath,
+        pipelining,
+        tls,
+        strictContentLength,
+        maxCachedSessions,
+        maxRedirections,
+        connect: connect2,
+        maxRequestsPerClient,
+        localAddress,
+        maxResponseSize,
+        autoSelectFamily,
+        autoSelectFamilyAttemptTimeout,
+        // h2
+        allowH2,
+        maxConcurrentStreams
+      } = {}) {
+        super();
+        if (keepAlive !== void 0) {
+          throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead");
         }
-        const UintArray = max ? getUintArray(max) : Array;
-        if (!UintArray) {
-          throw new Error("invalid max value: " + max);
+        if (socketTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");
         }
-        this.#max = max;
-        this.#maxSize = maxSize;
-        this.maxEntrySize = maxEntrySize || this.#maxSize;
-        this.sizeCalculation = sizeCalculation;
-        if (this.sizeCalculation) {
-          if (!this.#maxSize && !this.maxEntrySize) {
-            throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");
-          }
-          if (typeof this.sizeCalculation !== "function") {
-            throw new TypeError("sizeCalculation set to non-function");
-          }
+        if (requestTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");
         }
-        if (memoMethod !== void 0 && typeof memoMethod !== "function") {
-          throw new TypeError("memoMethod must be a function if defined");
+        if (idleTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported idleTimeout, use keepAliveTimeout instead");
         }
-        this.#memoMethod = memoMethod;
-        if (fetchMethod !== void 0 && typeof fetchMethod !== "function") {
-          throw new TypeError("fetchMethod must be a function if specified");
+        if (maxKeepAliveTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");
         }
-        this.#fetchMethod = fetchMethod;
-        this.#hasFetchMethod = !!fetchMethod;
-        this.#keyMap = /* @__PURE__ */ new Map();
-        this.#keyList = new Array(max).fill(void 0);
-        this.#valList = new Array(max).fill(void 0);
-        this.#next = new UintArray(max);
-        this.#prev = new UintArray(max);
-        this.#head = 0;
-        this.#tail = 0;
-        this.#free = Stack.create(max);
-        this.#size = 0;
-        this.#calculatedSize = 0;
-        if (typeof dispose === "function") {
-          this.#dispose = dispose;
+        if (maxHeaderSize != null && !Number.isFinite(maxHeaderSize)) {
+          throw new InvalidArgumentError("invalid maxHeaderSize");
         }
-        if (typeof onInsert === "function") {
-          this.#onInsert = onInsert;
+        if (socketPath != null && typeof socketPath !== "string") {
+          throw new InvalidArgumentError("invalid socketPath");
         }
-        if (typeof disposeAfter === "function") {
-          this.#disposeAfter = disposeAfter;
-          this.#disposed = [];
-        } else {
-          this.#disposeAfter = void 0;
-          this.#disposed = void 0;
+        if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) {
+          throw new InvalidArgumentError("invalid connectTimeout");
         }
-        this.#hasDispose = !!this.#dispose;
-        this.#hasOnInsert = !!this.#onInsert;
-        this.#hasDisposeAfter = !!this.#disposeAfter;
-        this.noDisposeOnSet = !!noDisposeOnSet;
-        this.noUpdateTTL = !!noUpdateTTL;
-        this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection;
-        this.allowStaleOnFetchRejection = !!allowStaleOnFetchRejection;
-        this.allowStaleOnFetchAbort = !!allowStaleOnFetchAbort;
-        this.ignoreFetchAbort = !!ignoreFetchAbort;
-        if (this.maxEntrySize !== 0) {
-          if (this.#maxSize !== 0) {
-            if (!isPosInt(this.#maxSize)) {
-              throw new TypeError("maxSize must be a positive integer if specified");
-            }
-          }
-          if (!isPosInt(this.maxEntrySize)) {
-            throw new TypeError("maxEntrySize must be a positive integer if specified");
-          }
-          this.#initializeSizeTracking();
+        if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) {
+          throw new InvalidArgumentError("invalid keepAliveTimeout");
         }
-        this.allowStale = !!allowStale;
-        this.noDeleteOnStaleGet = !!noDeleteOnStaleGet;
-        this.updateAgeOnGet = !!updateAgeOnGet;
-        this.updateAgeOnHas = !!updateAgeOnHas;
-        this.ttlResolution = isPosInt(ttlResolution) || ttlResolution === 0 ? ttlResolution : 1;
-        this.ttlAutopurge = !!ttlAutopurge;
-        this.ttl = ttl || 0;
-        if (this.ttl) {
-          if (!isPosInt(this.ttl)) {
-            throw new TypeError("ttl must be a positive integer if specified");
-          }
-          this.#initializeTTLTracking();
+        if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) {
+          throw new InvalidArgumentError("invalid keepAliveMaxTimeout");
         }
-        if (this.#max === 0 && this.ttl === 0 && this.#maxSize === 0) {
-          throw new TypeError("At least one of max, maxSize, or ttl is required");
+        if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) {
+          throw new InvalidArgumentError("invalid keepAliveTimeoutThreshold");
         }
-        if (!this.ttlAutopurge && !this.#max && !this.#maxSize) {
-          const code = "LRU_CACHE_UNBOUNDED";
-          if (shouldWarn(code)) {
-            warned.add(code);
-            const msg = "TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.";
-            emitWarning(msg, "UnboundedCacheWarning", code, _LRUCache);
-          }
+        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 possitive integer, greater than 0");
+        }
+        if (typeof connect2 !== "function") {
+          connect2 = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect2
+          });
         }
+        this[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client) ? interceptors.Client : [createRedirectInterceptor({ maxRedirections })];
+        this[kUrl] = util.parseOrigin(url);
+        this[kConnector] = connect2;
+        this[kSocket] = null;
+        this[kPipelining] = pipelining != null ? pipelining : 1;
+        this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize;
+        this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;
+        this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;
+        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold;
+        this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
+        this[kServerName] = null;
+        this[kLocalAddress] = localAddress != null ? localAddress : null;
+        this[kResuming] = 0;
+        this[kNeedDrain] = 0;
+        this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r
+`;
+        this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5;
+        this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5;
+        this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength;
+        this[kMaxRedirections] = maxRedirections;
+        this[kMaxRequests] = maxRequestsPerClient;
+        this[kClosedResolve] = null;
+        this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
+        this[kHTTPConnVersion] = "h1";
+        this[kHTTP2Session] = null;
+        this[kHTTP2SessionState] = !allowH2 ? null : {
+          // streams: null, // Fixed queue of streams - For future support of `push`
+          openStreams: 0,
+          // Keep track of them to decide wether or not unref the session
+          maxConcurrentStreams: maxConcurrentStreams != null ? maxConcurrentStreams : 100
+          // Max peerConcurrentStreams for a Node h2 server
+        };
+        this[kHost] = `${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}`;
+        this[kQueue] = [];
+        this[kRunningIdx] = 0;
+        this[kPendingIdx] = 0;
       }
-      /**
-       * Return the number of ms left in the item's TTL. If item is not in cache,
-       * returns `0`. Returns `Infinity` if item is in cache without a defined TTL.
-       */
-      getRemainingTTL(key) {
-        return this.#keyMap.has(key) ? Infinity : 0;
+      get pipelining() {
+        return this[kPipelining];
       }
-      #initializeTTLTracking() {
-        const ttls = new ZeroArray(this.#max);
-        const starts = new ZeroArray(this.#max);
-        this.#ttls = ttls;
-        this.#starts = starts;
-        this.#setItemTTL = (index, ttl, start = perf.now()) => {
-          starts[index] = ttl !== 0 ? start : 0;
-          ttls[index] = ttl;
-          if (ttl !== 0 && this.ttlAutopurge) {
-            const t = setTimeout(() => {
-              if (this.#isStale(index)) {
-                this.#delete(this.#keyList[index], "expire");
-              }
-            }, ttl + 1);
-            if (t.unref) {
-              t.unref();
-            }
-          }
-        };
-        this.#updateItemAge = (index) => {
-          starts[index] = ttls[index] !== 0 ? perf.now() : 0;
-        };
-        this.#statusTTL = (status, index) => {
-          if (ttls[index]) {
-            const ttl = ttls[index];
-            const start = starts[index];
-            if (!ttl || !start)
-              return;
-            status.ttl = ttl;
-            status.start = start;
-            status.now = cachedNow || getNow();
-            const age = status.now - start;
-            status.remainingTTL = ttl - age;
-          }
-        };
-        let cachedNow = 0;
-        const getNow = () => {
-          const n = perf.now();
-          if (this.ttlResolution > 0) {
-            cachedNow = n;
-            const t = setTimeout(() => cachedNow = 0, this.ttlResolution);
-            if (t.unref) {
-              t.unref();
-            }
-          }
-          return n;
-        };
-        this.getRemainingTTL = (key) => {
-          const index = this.#keyMap.get(key);
-          if (index === void 0) {
-            return 0;
-          }
-          const ttl = ttls[index];
-          const start = starts[index];
-          if (!ttl || !start) {
-            return Infinity;
-          }
-          const age = (cachedNow || getNow()) - start;
-          return ttl - age;
-        };
-        this.#isStale = (index) => {
-          const s = starts[index];
-          const t = ttls[index];
-          return !!t && !!s && (cachedNow || getNow()) - s > t;
-        };
+      set pipelining(value) {
+        this[kPipelining] = value;
+        resume(this, true);
       }
-      // conditionally set private methods related to TTL
-      #updateItemAge = () => {
-      };
-      #statusTTL = () => {
-      };
-      #setItemTTL = () => {
-      };
-      /* c8 ignore stop */
-      #isStale = () => false;
-      #initializeSizeTracking() {
-        const sizes = new ZeroArray(this.#max);
-        this.#calculatedSize = 0;
-        this.#sizes = sizes;
-        this.#removeItemSize = (index) => {
-          this.#calculatedSize -= sizes[index];
-          sizes[index] = 0;
-        };
-        this.#requireSize = (k, v, size, sizeCalculation) => {
-          if (this.#isBackgroundFetch(v)) {
-            return 0;
-          }
-          if (!isPosInt(size)) {
-            if (sizeCalculation) {
-              if (typeof sizeCalculation !== "function") {
-                throw new TypeError("sizeCalculation must be a function");
-              }
-              size = sizeCalculation(v, k);
-              if (!isPosInt(size)) {
-                throw new TypeError("sizeCalculation return invalid (expect positive integer)");
-              }
-            } else {
-              throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");
-            }
-          }
-          return size;
-        };
-        this.#addItemSize = (index, size, status) => {
-          sizes[index] = size;
-          if (this.#maxSize) {
-            const maxSize = this.#maxSize - sizes[index];
-            while (this.#calculatedSize > maxSize) {
-              this.#evict(true);
-            }
-          }
-          this.#calculatedSize += sizes[index];
-          if (status) {
-            status.entrySize = size;
-            status.totalCalculatedSize = this.#calculatedSize;
-          }
-        };
+      get [kPending]() {
+        return this[kQueue].length - this[kPendingIdx];
       }
-      #removeItemSize = (_i) => {
-      };
-      #addItemSize = (_i, _s, _st) => {
-      };
-      #requireSize = (_k, _v, size, sizeCalculation) => {
-        if (size || sizeCalculation) {
-          throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");
-        }
-        return 0;
-      };
-      *#indexes({ allowStale = this.allowStale } = {}) {
-        if (this.#size) {
-          for (let i = this.#tail; true; ) {
-            if (!this.#isValidIndex(i)) {
-              break;
-            }
-            if (allowStale || !this.#isStale(i)) {
-              yield i;
-            }
-            if (i === this.#head) {
-              break;
-            } else {
-              i = this.#prev[i];
-            }
-          }
-        }
+      get [kRunning]() {
+        return this[kPendingIdx] - this[kRunningIdx];
       }
-      *#rindexes({ allowStale = this.allowStale } = {}) {
-        if (this.#size) {
-          for (let i = this.#head; true; ) {
-            if (!this.#isValidIndex(i)) {
-              break;
-            }
-            if (allowStale || !this.#isStale(i)) {
-              yield i;
-            }
-            if (i === this.#tail) {
-              break;
-            } else {
-              i = this.#next[i];
-            }
-          }
-        }
+      get [kSize]() {
+        return this[kQueue].length - this[kRunningIdx];
       }
-      #isValidIndex(index) {
-        return index !== void 0 && this.#keyMap.get(this.#keyList[index]) === index;
+      get [kConnected]() {
+        return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed;
+      }
+      get [kBusy]() {
+        const socket = this[kSocket];
+        return socket && (socket[kReset] || socket[kWriting] || socket[kBlocking]) || this[kSize] >= (this[kPipelining] || 1) || this[kPending] > 0;
       }
-      /**
-       * Return a generator yielding `[key, value]` pairs,
-       * in order from most recently used to least recently used.
-       */
-      *entries() {
-        for (const i of this.#indexes()) {
-          if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield [this.#keyList[i], this.#valList[i]];
-          }
-        }
+      /* istanbul ignore: only used for test */
+      [kConnect](cb) {
+        connect(this);
+        this.once("connect", cb);
       }
-      /**
-       * Inverse order version of {@link LRUCache.entries}
-       *
-       * Return a generator yielding `[key, value]` pairs,
-       * in order from least recently used to most recently used.
-       */
-      *rentries() {
-        for (const i of this.#rindexes()) {
-          if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield [this.#keyList[i], this.#valList[i]];
-          }
+      [kDispatch](opts, handler2) {
+        const origin = opts.origin || this[kUrl].origin;
+        const request2 = this[kHTTPConnVersion] === "h2" ? Request[kHTTP2BuildRequest](origin, opts, handler2) : Request[kHTTP1BuildRequest](origin, opts, handler2);
+        this[kQueue].push(request2);
+        if (this[kResuming]) {
+        } else if (util.bodyLength(request2.body) == null && util.isIterable(request2.body)) {
+          this[kResuming] = 1;
+          process.nextTick(resume, this);
+        } else {
+          resume(this, true);
         }
-      }
-      /**
-       * Return a generator yielding the keys in the cache,
-       * in order from most recently used to least recently used.
-       */
-      *keys() {
-        for (const i of this.#indexes()) {
-          const k = this.#keyList[i];
-          if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield k;
-          }
+        if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
+          this[kNeedDrain] = 2;
         }
+        return this[kNeedDrain] < 2;
       }
-      /**
-       * Inverse order version of {@link LRUCache.keys}
-       *
-       * Return a generator yielding the keys in the cache,
-       * in order from least recently used to most recently used.
-       */
-      *rkeys() {
-        for (const i of this.#rindexes()) {
-          const k = this.#keyList[i];
-          if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield k;
+      async [kClose]() {
+        return new Promise((resolve3) => {
+          if (!this[kSize]) {
+            resolve3(null);
+          } else {
+            this[kClosedResolve] = resolve3;
           }
-        }
+        });
       }
-      /**
-       * Return a generator yielding the values in the cache,
-       * in order from most recently used to least recently used.
-       */
-      *values() {
-        for (const i of this.#indexes()) {
-          const v = this.#valList[i];
-          if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield this.#valList[i];
+      async [kDestroy](err) {
+        return new Promise((resolve3) => {
+          const requests = this[kQueue].splice(this[kPendingIdx]);
+          for (let i = 0; i < requests.length; i++) {
+            const request2 = requests[i];
+            errorRequest2(this, request2, err);
           }
-        }
-      }
-      /**
-       * Inverse order version of {@link LRUCache.values}
-       *
-       * Return a generator yielding the values in the cache,
-       * in order from least recently used to most recently used.
-       */
-      *rvalues() {
-        for (const i of this.#rindexes()) {
-          const v = this.#valList[i];
-          if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield this.#valList[i];
+          const callback = () => {
+            if (this[kClosedResolve]) {
+              this[kClosedResolve]();
+              this[kClosedResolve] = null;
+            }
+            resolve3();
+          };
+          if (this[kHTTP2Session] != null) {
+            util.destroy(this[kHTTP2Session], err);
+            this[kHTTP2Session] = null;
+            this[kHTTP2SessionState] = null;
           }
-        }
-      }
-      /**
-       * Iterating over the cache itself yields the same results as
-       * {@link LRUCache.entries}
-       */
-      [Symbol.iterator]() {
-        return this.entries();
-      }
-      /**
-       * A String value that is used in the creation of the default string
-       * description of an object. Called by the built-in method
-       * `Object.prototype.toString`.
-       */
-      [Symbol.toStringTag] = "LRUCache";
-      /**
-       * Find a value for which the supplied fn method returns a truthy value,
-       * similar to `Array.find()`. fn is called as `fn(value, key, cache)`.
-       */
-      find(fn, getOptions = {}) {
-        for (const i of this.#indexes()) {
-          const v = this.#valList[i];
-          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-          if (value === void 0)
-            continue;
-          if (fn(value, this.#keyList[i], this)) {
-            return this.get(this.#keyList[i], getOptions);
+          if (!this[kSocket]) {
+            queueMicrotask(callback);
+          } else {
+            util.destroy(this[kSocket].on("close", callback), err);
           }
-        }
+          resume(this);
+        });
       }
-      /**
-       * Call the supplied function on each item in the cache, in order from most
-       * recently used to least recently used.
-       *
-       * `fn` is called as `fn(value, key, cache)`.
-       *
-       * If `thisp` is provided, function will be called in the `this`-context of
-       * the provided object, or the cache if no `thisp` object is provided.
-       *
-       * Does not update age or recenty of use, or iterate over stale values.
-       */
-      forEach(fn, thisp = this) {
-        for (const i of this.#indexes()) {
-          const v = this.#valList[i];
-          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-          if (value === void 0)
-            continue;
-          fn.call(thisp, value, this.#keyList[i], this);
-        }
+    };
+    function onHttp2SessionError(err) {
+      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+      this[kSocket][kError] = err;
+      onError(this[kClient], err);
+    }
+    function onHttp2FrameError(type2, code, id) {
+      const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
+      if (id === 0) {
+        this[kSocket][kError] = err;
+        onError(this[kClient], err);
       }
-      /**
-       * The same as {@link LRUCache.forEach} but items are iterated over in
-       * reverse order.  (ie, less recently used items are iterated over first.)
-       */
-      rforEach(fn, thisp = this) {
-        for (const i of this.#rindexes()) {
-          const v = this.#valList[i];
-          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-          if (value === void 0)
-            continue;
-          fn.call(thisp, value, this.#keyList[i], this);
+    }
+    function onHttp2SessionEnd() {
+      util.destroy(this, new SocketError("other side closed"));
+      util.destroy(this[kSocket], new SocketError("other side closed"));
+    }
+    function onHTTP2GoAway(code) {
+      const client = this[kClient];
+      const err = new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`);
+      client[kSocket] = null;
+      client[kHTTP2Session] = null;
+      if (client.destroyed) {
+        assert(this[kPending] === 0);
+        const requests = client[kQueue].splice(client[kRunningIdx]);
+        for (let i = 0; i < requests.length; i++) {
+          const request2 = requests[i];
+          errorRequest2(this, request2, err);
         }
+      } else if (client[kRunning] > 0) {
+        const request2 = client[kQueue][client[kRunningIdx]];
+        client[kQueue][client[kRunningIdx]++] = null;
+        errorRequest2(client, request2, err);
       }
-      /**
-       * Delete any stale entries. Returns true if anything was removed,
-       * false otherwise.
-       */
-      purgeStale() {
-        let deleted = false;
-        for (const i of this.#rindexes({ allowStale: true })) {
-          if (this.#isStale(i)) {
-            this.#delete(this.#keyList[i], "expire");
-            deleted = true;
-          }
-        }
-        return deleted;
+      client[kPendingIdx] = client[kRunningIdx];
+      assert(client[kRunning] === 0);
+      client.emit(
+        "disconnect",
+        client[kUrl],
+        [client],
+        err
+      );
+      resume(client);
+    }
+    var constants = require_constants22();
+    var createRedirectInterceptor = require_redirectInterceptor();
+    var EMPTY_BUF = Buffer.alloc(0);
+    async function lazyllhttp() {
+      const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm3() : void 0;
+      let mod;
+      try {
+        mod = await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm3(), "base64"));
+      } catch (e) {
+        mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require_llhttp_wasm3(), "base64"));
       }
-      /**
-       * Get the extended info about a given entry, to get its value, size, and
-       * TTL info simultaneously. Returns `undefined` if the key is not present.
-       *
-       * Unlike {@link LRUCache#dump}, which is designed to be portable and survive
-       * serialization, the `start` value is always the current timestamp, and the
-       * `ttl` is a calculated remaining time to live (negative if expired).
-       *
-       * Always returns stale values, if their info is found in the cache, so be
-       * sure to check for expirations (ie, a negative {@link LRUCache.Entry#ttl})
-       * if relevant.
-       */
-      info(key) {
-        const i = this.#keyMap.get(key);
-        if (i === void 0)
-          return void 0;
-        const v = this.#valList[i];
-        const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-        if (value === void 0)
-          return void 0;
-        const entry = { value };
-        if (this.#ttls && this.#starts) {
-          const ttl = this.#ttls[i];
-          const start = this.#starts[i];
-          if (ttl && start) {
-            const remain = ttl - (perf.now() - start);
-            entry.ttl = remain;
-            entry.start = Date.now();
+      return await WebAssembly.instantiate(mod, {
+        env: {
+          /* eslint-disable camelcase */
+          wasm_on_url: (p, at, len) => {
+            return 0;
+          },
+          wasm_on_status: (p, at, len) => {
+            assert.strictEqual(currentParser.ptr, p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_message_begin: (p) => {
+            assert.strictEqual(currentParser.ptr, p);
+            return currentParser.onMessageBegin() || 0;
+          },
+          wasm_on_header_field: (p, at, len) => {
+            assert.strictEqual(currentParser.ptr, p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_header_value: (p, at, len) => {
+            assert.strictEqual(currentParser.ptr, p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
+            assert.strictEqual(currentParser.ptr, p);
+            return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;
+          },
+          wasm_on_body: (p, at, len) => {
+            assert.strictEqual(currentParser.ptr, p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_message_complete: (p) => {
+            assert.strictEqual(currentParser.ptr, p);
+            return currentParser.onMessageComplete() || 0;
           }
+          /* eslint-enable camelcase */
         }
-        if (this.#sizes) {
-          entry.size = this.#sizes[i];
-        }
-        return entry;
+      });
+    }
+    var llhttpInstance = null;
+    var llhttpPromise = lazyllhttp();
+    llhttpPromise.catch();
+    var currentParser = null;
+    var currentBufferRef = null;
+    var currentBufferSize = 0;
+    var currentBufferPtr = null;
+    var TIMEOUT_HEADERS = 1;
+    var TIMEOUT_BODY = 2;
+    var TIMEOUT_IDLE = 3;
+    var Parser = class {
+      constructor(client, socket, { exports: 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];
       }
-      /**
-       * Return an array of [key, {@link LRUCache.Entry}] tuples which can be
-       * passed to {@link LRUCache#load}.
-       *
-       * The `start` fields are calculated relative to a portable `Date.now()`
-       * timestamp, even if `performance.now()` is available.
-       *
-       * Stale entries are always included in the `dump`, even if
-       * {@link LRUCache.OptionsBase.allowStale} is false.
-       *
-       * Note: this returns an actual array, not a generator, so it can be more
-       * easily passed around.
-       */
-      dump() {
-        const arr = [];
-        for (const i of this.#indexes({ allowStale: true })) {
-          const key = this.#keyList[i];
-          const v = this.#valList[i];
-          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-          if (value === void 0 || key === void 0)
-            continue;
-          const entry = { value };
-          if (this.#ttls && this.#starts) {
-            entry.ttl = this.#ttls[i];
-            const age = perf.now() - this.#starts[i];
-            entry.start = Math.floor(Date.now() - age);
-          }
-          if (this.#sizes) {
-            entry.size = this.#sizes[i];
+      setTimeout(value, type2) {
+        this.timeoutType = type2;
+        if (value !== this.timeoutValue) {
+          timers.clearTimeout(this.timeout);
+          if (value) {
+            this.timeout = timers.setTimeout(onParserTimeout, value, this);
+            if (this.timeout.unref) {
+              this.timeout.unref();
+            }
+          } else {
+            this.timeout = null;
           }
-          arr.unshift([key, entry]);
-        }
-        return arr;
-      }
-      /**
-       * Reset the cache and load in the items in entries in the order listed.
-       *
-       * The shape of the resulting cache may be different if the same options are
-       * not used in both caches.
-       *
-       * The `start` fields are assumed to be calculated relative to a portable
-       * `Date.now()` timestamp, even if `performance.now()` is available.
-       */
-      load(arr) {
-        this.clear();
-        for (const [key, entry] of arr) {
-          if (entry.start) {
-            const age = Date.now() - entry.start;
-            entry.start = perf.now() - age;
+          this.timeoutValue = value;
+        } else if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
           }
-          this.set(key, entry.value, entry);
         }
       }
-      /**
-       * Add a value to the cache.
-       *
-       * Note: if `undefined` is specified as a value, this is an alias for
-       * {@link LRUCache#delete}
-       *
-       * Fields on the {@link LRUCache.SetOptions} options param will override
-       * their corresponding values in the constructor options for the scope
-       * of this single `set()` operation.
-       *
-       * If `start` is provided, then that will set the effective start
-       * time for the TTL calculation. Note that this must be a previous
-       * value of `performance.now()` if supported, or a previous value of
-       * `Date.now()` if not.
-       *
-       * Options object may also include `size`, which will prevent
-       * calling the `sizeCalculation` function and just use the specified
-       * number if it is a positive integer, and `noDisposeOnSet` which
-       * will prevent calling a `dispose` function in the case of
-       * overwrites.
-       *
-       * If the `size` (or return value of `sizeCalculation`) for a given
-       * entry is greater than `maxEntrySize`, then the item will not be
-       * added to the cache.
-       *
-       * Will update the recency of the entry.
-       *
-       * If the value is `undefined`, then this is an alias for
-       * `cache.delete(key)`. `undefined` is never stored in the cache.
-       */
-      set(k, v, setOptions = {}) {
-        if (v === void 0) {
-          this.delete(k);
-          return this;
-        }
-        const { ttl = this.ttl, start, noDisposeOnSet = this.noDisposeOnSet, sizeCalculation = this.sizeCalculation, status } = setOptions;
-        let { noUpdateTTL = this.noUpdateTTL } = setOptions;
-        const size = this.#requireSize(k, v, setOptions.size || 0, sizeCalculation);
-        if (this.maxEntrySize && size > this.maxEntrySize) {
-          if (status) {
-            status.set = "miss";
-            status.maxEntrySizeExceeded = true;
-          }
-          this.#delete(k, "set");
-          return this;
+      resume() {
+        if (this.socket.destroyed || !this.paused) {
+          return;
         }
-        let index = this.#size === 0 ? void 0 : this.#keyMap.get(k);
-        if (index === void 0) {
-          index = this.#size === 0 ? this.#tail : this.#free.length !== 0 ? this.#free.pop() : this.#size === this.#max ? this.#evict(false) : this.#size;
-          this.#keyList[index] = k;
-          this.#valList[index] = v;
-          this.#keyMap.set(k, index);
-          this.#next[this.#tail] = index;
-          this.#prev[index] = this.#tail;
-          this.#tail = index;
-          this.#size++;
-          this.#addItemSize(index, size, status);
-          if (status)
-            status.set = "add";
-          noUpdateTTL = false;
-          if (this.#hasOnInsert) {
-            this.#onInsert?.(v, k, "add");
-          }
-        } else {
-          this.#moveToTail(index);
-          const oldVal = this.#valList[index];
-          if (v !== oldVal) {
-            if (this.#hasFetchMethod && this.#isBackgroundFetch(oldVal)) {
-              oldVal.__abortController.abort(new Error("replaced"));
-              const { __staleWhileFetching: s } = oldVal;
-              if (s !== void 0 && !noDisposeOnSet) {
-                if (this.#hasDispose) {
-                  this.#dispose?.(s, k, "set");
-                }
-                if (this.#hasDisposeAfter) {
-                  this.#disposed?.push([s, k, "set"]);
-                }
-              }
-            } else if (!noDisposeOnSet) {
-              if (this.#hasDispose) {
-                this.#dispose?.(oldVal, k, "set");
-              }
-              if (this.#hasDisposeAfter) {
-                this.#disposed?.push([oldVal, k, "set"]);
-              }
-            }
-            this.#removeItemSize(index);
-            this.#addItemSize(index, size, status);
-            this.#valList[index] = v;
-            if (status) {
-              status.set = "replace";
-              const oldValue = oldVal && this.#isBackgroundFetch(oldVal) ? oldVal.__staleWhileFetching : oldVal;
-              if (oldValue !== void 0)
-                status.oldValue = oldValue;
-            }
-          } else if (status) {
-            status.set = "update";
-          }
-          if (this.#hasOnInsert) {
-            this.onInsert?.(v, k, v === oldVal ? "update" : "replace");
+        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();
           }
         }
-        if (ttl !== 0 && !this.#ttls) {
-          this.#initializeTTLTracking();
-        }
-        if (this.#ttls) {
-          if (!noUpdateTTL) {
-            this.#setItemTTL(index, ttl, start);
+        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;
           }
-          if (status)
-            this.#statusTTL(status, index);
+          this.execute(chunk);
         }
-        if (!noDisposeOnSet && this.#hasDisposeAfter && this.#disposed) {
-          const dt = this.#disposed;
-          let task;
-          while (task = dt?.shift()) {
-            this.#disposeAfter?.(...task);
+      }
+      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);
         }
-        return this;
-      }
-      /**
-       * Evict the least recently used item, returning its value or
-       * `undefined` if cache is empty.
-       */
-      pop() {
+        new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data);
         try {
-          while (this.#size) {
-            const val = this.#valList[this.#head];
-            this.#evict(true);
-            if (this.#isBackgroundFetch(val)) {
-              if (val.__staleWhileFetching) {
-                return val.__staleWhileFetching;
-              }
-            } else if (val !== void 0) {
-              return val;
-            }
+          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;
           }
-        } finally {
-          if (this.#hasDisposeAfter && this.#disposed) {
-            const dt = this.#disposed;
-            let task;
-            while (task = dt?.shift()) {
-              this.#disposeAfter?.(...task);
+          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);
         }
       }
-      #evict(free) {
-        const head = this.#head;
-        const k = this.#keyList[head];
-        const v = this.#valList[head];
-        if (this.#hasFetchMethod && this.#isBackgroundFetch(v)) {
-          v.__abortController.abort(new Error("evicted"));
-        } else if (this.#hasDispose || this.#hasDisposeAfter) {
-          if (this.#hasDispose) {
-            this.#dispose?.(v, k, "evict");
-          }
-          if (this.#hasDisposeAfter) {
-            this.#disposed?.push([v, k, "evict"]);
-          }
+      destroy() {
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        this.llhttp.llhttp_free(this.ptr);
+        this.ptr = null;
+        timers.clearTimeout(this.timeout);
+        this.timeout = null;
+        this.timeoutValue = null;
+        this.timeoutType = null;
+        this.paused = false;
+      }
+      onStatus(buf) {
+        this.statusText = buf.toString();
+      }
+      onMessageBegin() {
+        const { socket, client } = this;
+        if (socket.destroyed) {
+          return -1;
         }
-        this.#removeItemSize(head);
-        if (free) {
-          this.#keyList[head] = void 0;
-          this.#valList[head] = void 0;
-          this.#free.push(head);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        if (!request2) {
+          return -1;
         }
-        if (this.#size === 1) {
-          this.#head = this.#tail = 0;
-          this.#free.length = 0;
+      }
+      onHeaderField(buf) {
+        const len = this.headers.length;
+        if ((len & 1) === 0) {
+          this.headers.push(buf);
         } else {
-          this.#head = this.#next[head];
+          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
         }
-        this.#keyMap.delete(k);
-        this.#size--;
-        return head;
+        this.trackHeader(buf.length);
       }
-      /**
-       * Check if a key is in the cache, without updating the recency of use.
-       * Will return false if the item is stale, even though it is technically
-       * in the cache.
-       *
-       * Check if a key is in the cache, without updating the recency of
-       * use. Age is updated if {@link LRUCache.OptionsBase.updateAgeOnHas} is set
-       * to `true` in either the options or the constructor.
-       *
-       * Will return `false` if the item is stale, even though it is technically in
-       * the cache. The difference can be determined (if it matters) by using a
-       * `status` argument, and inspecting the `has` field.
-       *
-       * Will not update item age unless
-       * {@link LRUCache.OptionsBase.updateAgeOnHas} is set.
-       */
-      has(k, hasOptions = {}) {
-        const { updateAgeOnHas = this.updateAgeOnHas, status } = hasOptions;
-        const index = this.#keyMap.get(k);
-        if (index !== void 0) {
-          const v = this.#valList[index];
-          if (this.#isBackgroundFetch(v) && v.__staleWhileFetching === void 0) {
-            return false;
-          }
-          if (!this.#isStale(index)) {
-            if (updateAgeOnHas) {
-              this.#updateItemAge(index);
-            }
-            if (status) {
-              status.has = "hit";
-              this.#statusTTL(status, index);
-            }
-            return true;
-          } else if (status) {
-            status.has = "stale";
-            this.#statusTTL(status, index);
-          }
-        } else if (status) {
-          status.has = "miss";
+      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]);
         }
-        return false;
-      }
-      /**
-       * Like {@link LRUCache#get} but doesn't update recency or delete stale
-       * items.
-       *
-       * Returns `undefined` if the item is stale, unless
-       * {@link LRUCache.OptionsBase.allowStale} is set.
-       */
-      peek(k, peekOptions = {}) {
-        const { allowStale = this.allowStale } = peekOptions;
-        const index = this.#keyMap.get(k);
-        if (index === void 0 || !allowStale && this.#isStale(index)) {
-          return;
+        const key = this.headers[len - 2];
+        if (key.length === 10 && key.toString().toLowerCase() === "keep-alive") {
+          this.keepAlive += buf.toString();
+        } else if (key.length === 10 && key.toString().toLowerCase() === "connection") {
+          this.connection += buf.toString();
+        } else if (key.length === 14 && key.toString().toLowerCase() === "content-length") {
+          this.contentLength += buf.toString();
         }
-        const v = this.#valList[index];
-        return this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+        this.trackHeader(buf.length);
       }
-      #backgroundFetch(k, index, options, context2) {
-        const v = index === void 0 ? void 0 : this.#valList[index];
-        if (this.#isBackgroundFetch(v)) {
-          return v;
-        }
-        const ac = new AC();
-        const { signal } = options;
-        signal?.addEventListener("abort", () => ac.abort(signal.reason), {
-          signal: ac.signal
-        });
-        const fetchOpts = {
-          signal: ac.signal,
-          options,
-          context: context2
-        };
-        const cb = (v2, updateCache = false) => {
-          const { aborted } = ac.signal;
-          const ignoreAbort = options.ignoreFetchAbort && v2 !== void 0;
-          if (options.status) {
-            if (aborted && !updateCache) {
-              options.status.fetchAborted = true;
-              options.status.fetchError = ac.signal.reason;
-              if (ignoreAbort)
-                options.status.fetchAbortIgnored = true;
-            } else {
-              options.status.fetchResolved = true;
-            }
-          }
-          if (aborted && !ignoreAbort && !updateCache) {
-            return fetchFail(ac.signal.reason);
-          }
-          const bf2 = p;
-          if (this.#valList[index] === p) {
-            if (v2 === void 0) {
-              if (bf2.__staleWhileFetching) {
-                this.#valList[index] = bf2.__staleWhileFetching;
-              } else {
-                this.#delete(k, "fetch");
-              }
-            } else {
-              if (options.status)
-                options.status.fetchUpdated = true;
-              this.set(k, v2, fetchOpts.options);
-            }
-          }
-          return v2;
-        };
-        const eb = (er) => {
-          if (options.status) {
-            options.status.fetchRejected = true;
-            options.status.fetchError = er;
-          }
-          return fetchFail(er);
-        };
-        const fetchFail = (er) => {
-          const { aborted } = ac.signal;
-          const allowStaleAborted = aborted && options.allowStaleOnFetchAbort;
-          const allowStale = allowStaleAborted || options.allowStaleOnFetchRejection;
-          const noDelete = allowStale || options.noDeleteOnFetchRejection;
-          const bf2 = p;
-          if (this.#valList[index] === p) {
-            const del = !noDelete || bf2.__staleWhileFetching === void 0;
-            if (del) {
-              this.#delete(k, "fetch");
-            } else if (!allowStaleAborted) {
-              this.#valList[index] = bf2.__staleWhileFetching;
-            }
-          }
-          if (allowStale) {
-            if (options.status && bf2.__staleWhileFetching !== void 0) {
-              options.status.returnedStale = true;
-            }
-            return bf2.__staleWhileFetching;
-          } else if (bf2.__returned === bf2) {
-            throw er;
-          }
-        };
-        const pcall = (res, rej) => {
-          const fmp = this.#fetchMethod?.(k, v, fetchOpts);
-          if (fmp && fmp instanceof Promise) {
-            fmp.then((v2) => res(v2 === void 0 ? void 0 : v2), rej);
-          }
-          ac.signal.addEventListener("abort", () => {
-            if (!options.ignoreFetchAbort || options.allowStaleOnFetchAbort) {
-              res(void 0);
-              if (options.allowStaleOnFetchAbort) {
-                res = (v2) => cb(v2, true);
-              }
-            }
-          });
-        };
-        if (options.status)
-          options.status.fetchDispatched = true;
-        const p = new Promise(pcall).then(cb, eb);
-        const bf = Object.assign(p, {
-          __abortController: ac,
-          __staleWhileFetching: v,
-          __returned: void 0
-        });
-        if (index === void 0) {
-          this.set(k, bf, { ...fetchOpts.options, status: void 0 });
-          index = this.#keyMap.get(k);
-        } else {
-          this.#valList[index] = bf;
+      trackHeader(len) {
+        this.headersSize += len;
+        if (this.headersSize >= this.headersMaxSize) {
+          util.destroy(this.socket, new HeadersOverflowError());
         }
-        return bf;
       }
-      #isBackgroundFetch(p) {
-        if (!this.#hasFetchMethod)
-          return false;
-        const b = p;
-        return !!b && b instanceof Promise && b.hasOwnProperty("__staleWhileFetching") && b.__abortController instanceof AC;
+      onUpgrade(head) {
+        const { upgrade, client, socket, headers, statusCode } = this;
+        assert(upgrade);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert(!socket.destroyed);
+        assert(socket === client[kSocket]);
+        assert(!this.paused);
+        assert(request2.upgrade || request2.method === "CONNECT");
+        this.statusCode = null;
+        this.statusText = "";
+        this.shouldKeepAlive = null;
+        assert(this.headers.length % 2 === 0);
+        this.headers = [];
+        this.headersSize = 0;
+        socket.unshift(head);
+        socket[kParser].destroy();
+        socket[kParser] = null;
+        socket[kClient] = null;
+        socket[kError] = null;
+        socket.removeListener("error", onSocketError).removeListener("readable", onSocketReadable).removeListener("end", onSocketEnd).removeListener("close", onSocketClose);
+        client[kSocket] = null;
+        client[kQueue][client[kRunningIdx]++] = null;
+        client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
+        try {
+          request2.onUpgrade(statusCode, headers, socket);
+        } catch (err) {
+          util.destroy(socket, err);
+        }
+        resume(client);
       }
-      async fetch(k, fetchOptions = {}) {
-        const {
-          // get options
-          allowStale = this.allowStale,
-          updateAgeOnGet = this.updateAgeOnGet,
-          noDeleteOnStaleGet = this.noDeleteOnStaleGet,
-          // set options
-          ttl = this.ttl,
-          noDisposeOnSet = this.noDisposeOnSet,
-          size = 0,
-          sizeCalculation = this.sizeCalculation,
-          noUpdateTTL = this.noUpdateTTL,
-          // fetch exclusive options
-          noDeleteOnFetchRejection = this.noDeleteOnFetchRejection,
-          allowStaleOnFetchRejection = this.allowStaleOnFetchRejection,
-          ignoreFetchAbort = this.ignoreFetchAbort,
-          allowStaleOnFetchAbort = this.allowStaleOnFetchAbort,
-          context: context2,
-          forceRefresh = false,
-          status,
-          signal
-        } = fetchOptions;
-        if (!this.#hasFetchMethod) {
-          if (status)
-            status.fetch = "get";
-          return this.get(k, {
-            allowStale,
-            updateAgeOnGet,
-            noDeleteOnStaleGet,
-            status
-          });
+      onHeadersComplete(statusCode, upgrade, shouldKeepAlive) {
+        const { client, socket, headers, statusText } = this;
+        if (socket.destroyed) {
+          return -1;
         }
-        const options = {
-          allowStale,
-          updateAgeOnGet,
-          noDeleteOnStaleGet,
-          ttl,
-          noDisposeOnSet,
-          size,
-          sizeCalculation,
-          noUpdateTTL,
-          noDeleteOnFetchRejection,
-          allowStaleOnFetchRejection,
-          allowStaleOnFetchAbort,
-          ignoreFetchAbort,
-          status,
-          signal
-        };
-        let index = this.#keyMap.get(k);
-        if (index === void 0) {
-          if (status)
-            status.fetch = "miss";
-          const p = this.#backgroundFetch(k, index, options, context2);
-          return p.__returned = p;
-        } else {
-          const v = this.#valList[index];
-          if (this.#isBackgroundFetch(v)) {
-            const stale = allowStale && v.__staleWhileFetching !== void 0;
-            if (status) {
-              status.fetch = "inflight";
-              if (stale)
-                status.returnedStale = true;
-            }
-            return stale ? v.__staleWhileFetching : v.__returned = v;
-          }
-          const isStale = this.#isStale(index);
-          if (!forceRefresh && !isStale) {
-            if (status)
-              status.fetch = "hit";
-            this.#moveToTail(index);
-            if (updateAgeOnGet) {
-              this.#updateItemAge(index);
-            }
-            if (status)
-              this.#statusTTL(status, index);
-            return v;
-          }
-          const p = this.#backgroundFetch(k, index, options, context2);
-          const hasStale = p.__staleWhileFetching !== void 0;
-          const staleVal = hasStale && allowStale;
-          if (status) {
-            status.fetch = isStale ? "stale" : "refresh";
-            if (staleVal && isStale)
-              status.returnedStale = true;
-          }
-          return staleVal ? p.__staleWhileFetching : p.__returned = p;
+        const request2 = client[kQueue][client[kRunningIdx]];
+        if (!request2) {
+          return -1;
         }
-      }
-      async forceFetch(k, fetchOptions = {}) {
-        const v = await this.fetch(k, fetchOptions);
-        if (v === void 0)
-          throw new Error("fetch() returned undefined");
-        return v;
-      }
-      memo(k, memoOptions = {}) {
-        const memoMethod = this.#memoMethod;
-        if (!memoMethod) {
-          throw new Error("no memoMethod provided to constructor");
+        assert(!this.upgrade);
+        assert(this.statusCode < 200);
+        if (statusCode === 100) {
+          util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket)));
+          return -1;
         }
-        const { context: context2, forceRefresh, ...options } = memoOptions;
-        const v = this.get(k, options);
-        if (!forceRefresh && v !== void 0)
-          return v;
-        const vv = memoMethod(k, v, {
-          options,
-          context: context2
-        });
-        this.set(k, vv, options);
-        return vv;
-      }
-      /**
-       * Return a value from the cache. Will update the recency of the cache
-       * entry found.
-       *
-       * If the key is not found, get() will return `undefined`.
-       */
-      get(k, getOptions = {}) {
-        const { allowStale = this.allowStale, updateAgeOnGet = this.updateAgeOnGet, noDeleteOnStaleGet = this.noDeleteOnStaleGet, status } = getOptions;
-        const index = this.#keyMap.get(k);
-        if (index !== void 0) {
-          const value = this.#valList[index];
-          const fetching = this.#isBackgroundFetch(value);
-          if (status)
-            this.#statusTTL(status, index);
-          if (this.#isStale(index)) {
-            if (status)
-              status.get = "stale";
-            if (!fetching) {
-              if (!noDeleteOnStaleGet) {
-                this.#delete(k, "expire");
-              }
-              if (status && allowStale)
-                status.returnedStale = true;
-              return allowStale ? value : void 0;
+        if (upgrade && !request2.upgrade) {
+          util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket)));
+          return -1;
+        }
+        assert.strictEqual(this.timeoutType, TIMEOUT_HEADERS);
+        this.statusCode = statusCode;
+        this.shouldKeepAlive = shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD.
+        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 % 2 === 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 {
-              if (status && allowStale && value.__staleWhileFetching !== void 0) {
-                status.returnedStale = true;
-              }
-              return allowStale ? value.__staleWhileFetching : void 0;
+              client[kKeepAliveTimeoutValue] = timeout;
             }
           } else {
-            if (status)
-              status.get = "hit";
-            if (fetching) {
-              return value.__staleWhileFetching;
-            }
-            this.#moveToTail(index);
-            if (updateAgeOnGet) {
-              this.#updateItemAge(index);
-            }
-            return value;
+            client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout];
           }
-        } else if (status) {
-          status.get = "miss";
+        } else {
+          socket[kReset] = true;
         }
-      }
-      #connect(p, n) {
-        this.#prev[n] = p;
-        this.#next[p] = n;
-      }
-      #moveToTail(index) {
-        if (index !== this.#tail) {
-          if (index === this.#head) {
-            this.#head = this.#next[index];
-          } else {
-            this.#connect(this.#prev[index], this.#next[index]);
-          }
-          this.#connect(this.#tail, index);
-          this.#tail = index;
+        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;
+          resume(client);
+        }
+        return pause ? constants.ERROR.PAUSED : 0;
       }
-      /**
-       * Deletes a key out of the cache.
-       *
-       * Returns true if the key was deleted, false otherwise.
-       */
-      delete(k) {
-        return this.#delete(k, "delete");
-      }
-      #delete(k, reason) {
-        let deleted = false;
-        if (this.#size !== 0) {
-          const index = this.#keyMap.get(k);
-          if (index !== void 0) {
-            deleted = true;
-            if (this.#size === 1) {
-              this.#clear(reason);
-            } else {
-              this.#removeItemSize(index);
-              const v = this.#valList[index];
-              if (this.#isBackgroundFetch(v)) {
-                v.__abortController.abort(new Error("deleted"));
-              } else if (this.#hasDispose || this.#hasDisposeAfter) {
-                if (this.#hasDispose) {
-                  this.#dispose?.(v, k, reason);
-                }
-                if (this.#hasDisposeAfter) {
-                  this.#disposed?.push([v, k, reason]);
-                }
-              }
-              this.#keyMap.delete(k);
-              this.#keyList[index] = void 0;
-              this.#valList[index] = void 0;
-              if (index === this.#tail) {
-                this.#tail = this.#prev[index];
-              } else if (index === this.#head) {
-                this.#head = this.#next[index];
-              } else {
-                const pi = this.#prev[index];
-                this.#next[pi] = this.#next[index];
-                const ni = this.#next[index];
-                this.#prev[ni] = this.#prev[index];
-              }
-              this.#size--;
-              this.#free.push(index);
-            }
-          }
+      onBody(buf) {
+        const { client, socket, statusCode, maxResponseSize } = this;
+        if (socket.destroyed) {
+          return -1;
         }
-        if (this.#hasDisposeAfter && this.#disposed?.length) {
-          const dt = this.#disposed;
-          let task;
-          while (task = dt?.shift()) {
-            this.#disposeAfter?.(...task);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert.strictEqual(this.timeoutType, TIMEOUT_BODY);
+        if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
           }
         }
-        return deleted;
-      }
-      /**
-       * Clear the cache entirely, throwing away all values.
-       */
-      clear() {
-        return this.#clear("delete");
+        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;
+        }
       }
-      #clear(reason) {
-        for (const index of this.#rindexes({ allowStale: true })) {
-          const v = this.#valList[index];
-          if (this.#isBackgroundFetch(v)) {
-            v.__abortController.abort(new Error("deleted"));
-          } else {
-            const k = this.#keyList[index];
-            if (this.#hasDispose) {
-              this.#dispose?.(v, k, reason);
-            }
-            if (this.#hasDisposeAfter) {
-              this.#disposed?.push([v, k, reason]);
-            }
-          }
+      onMessageComplete() {
+        const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;
+        if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
+          return -1;
         }
-        this.#keyMap.clear();
-        this.#valList.fill(void 0);
-        this.#keyList.fill(void 0);
-        if (this.#ttls && this.#starts) {
-          this.#ttls.fill(0);
-          this.#starts.fill(0);
+        if (upgrade) {
+          return;
         }
-        if (this.#sizes) {
-          this.#sizes.fill(0);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert(statusCode >= 100);
+        this.statusCode = null;
+        this.statusText = "";
+        this.bytesRead = 0;
+        this.contentLength = "";
+        this.keepAlive = "";
+        this.connection = "";
+        assert(this.headers.length % 2 === 0);
+        this.headers = [];
+        this.headersSize = 0;
+        if (statusCode < 200) {
+          return;
         }
-        this.#head = 0;
-        this.#tail = 0;
-        this.#free.length = 0;
-        this.#calculatedSize = 0;
-        this.#size = 0;
-        if (this.#hasDisposeAfter && this.#disposed) {
-          const dt = this.#disposed;
-          let task;
-          while (task = dt?.shift()) {
-            this.#disposeAfter?.(...task);
-          }
+        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.strictEqual(client[kRunning], 0);
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (!shouldKeepAlive) {
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (socket[kReset] && client[kRunning] === 0) {
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (client[kPipelining] === 1) {
+          setImmediate(resume, client);
+        } else {
+          resume(client);
         }
       }
     };
-    exports2.LRUCache = LRUCache;
-  }
-});
-
-// node_modules/minipass/dist/commonjs/index.js
-var require_commonjs22 = __commonJS({
-  "node_modules/minipass/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Minipass = exports2.isWritable = exports2.isReadable = exports2.isStream = void 0;
-    var proc = typeof process === "object" && process ? process : {
-      stdout: null,
-      stderr: null
-    };
-    var node_events_1 = require("node:events");
-    var node_stream_1 = __importDefault2(require("node:stream"));
-    var node_string_decoder_1 = require("node:string_decoder");
-    var isStream = (s) => !!s && typeof s === "object" && (s instanceof Minipass || s instanceof node_stream_1.default || (0, exports2.isReadable)(s) || (0, exports2.isWritable)(s));
-    exports2.isStream = isStream;
-    var isReadable = (s) => !!s && typeof s === "object" && s instanceof node_events_1.EventEmitter && typeof s.pipe === "function" && // node core Writable streams have a pipe() method, but it throws
-    s.pipe !== node_stream_1.default.Writable.prototype.pipe;
-    exports2.isReadable = isReadable;
-    var isWritable = (s) => !!s && typeof s === "object" && s instanceof node_events_1.EventEmitter && typeof s.write === "function" && typeof s.end === "function";
-    exports2.isWritable = isWritable;
-    var EOF = /* @__PURE__ */ Symbol("EOF");
-    var MAYBE_EMIT_END = /* @__PURE__ */ Symbol("maybeEmitEnd");
-    var EMITTED_END = /* @__PURE__ */ Symbol("emittedEnd");
-    var EMITTING_END = /* @__PURE__ */ Symbol("emittingEnd");
-    var EMITTED_ERROR = /* @__PURE__ */ Symbol("emittedError");
-    var CLOSED = /* @__PURE__ */ Symbol("closed");
-    var READ = /* @__PURE__ */ Symbol("read");
-    var FLUSH = /* @__PURE__ */ Symbol("flush");
-    var FLUSHCHUNK = /* @__PURE__ */ Symbol("flushChunk");
-    var ENCODING = /* @__PURE__ */ Symbol("encoding");
-    var DECODER = /* @__PURE__ */ Symbol("decoder");
-    var FLOWING = /* @__PURE__ */ Symbol("flowing");
-    var PAUSED = /* @__PURE__ */ Symbol("paused");
-    var RESUME = /* @__PURE__ */ Symbol("resume");
-    var BUFFER = /* @__PURE__ */ Symbol("buffer");
-    var PIPES = /* @__PURE__ */ Symbol("pipes");
-    var BUFFERLENGTH = /* @__PURE__ */ Symbol("bufferLength");
-    var BUFFERPUSH = /* @__PURE__ */ Symbol("bufferPush");
-    var BUFFERSHIFT = /* @__PURE__ */ Symbol("bufferShift");
-    var OBJECTMODE = /* @__PURE__ */ Symbol("objectMode");
-    var DESTROYED = /* @__PURE__ */ Symbol("destroyed");
-    var ERROR = /* @__PURE__ */ Symbol("error");
-    var EMITDATA = /* @__PURE__ */ Symbol("emitData");
-    var EMITEND = /* @__PURE__ */ Symbol("emitEnd");
-    var EMITEND2 = /* @__PURE__ */ Symbol("emitEnd2");
-    var ASYNC = /* @__PURE__ */ Symbol("async");
-    var ABORT = /* @__PURE__ */ Symbol("abort");
-    var ABORTED = /* @__PURE__ */ Symbol("aborted");
-    var SIGNAL = /* @__PURE__ */ Symbol("signal");
-    var DATALISTENERS = /* @__PURE__ */ Symbol("dataListeners");
-    var DISCARDED = /* @__PURE__ */ Symbol("discarded");
-    var defer = (fn) => Promise.resolve().then(fn);
-    var nodefer = (fn) => fn();
-    var isEndish = (ev) => ev === "end" || ev === "finish" || ev === "prefinish";
-    var isArrayBufferLike = (b) => b instanceof ArrayBuffer || !!b && typeof b === "object" && b.constructor && b.constructor.name === "ArrayBuffer" && b.byteLength >= 0;
-    var isArrayBufferView = (b) => !Buffer.isBuffer(b) && ArrayBuffer.isView(b);
-    var Pipe = class {
-      src;
-      dest;
-      opts;
-      ondrain;
-      constructor(src, dest, opts) {
-        this.src = src;
-        this.dest = dest;
-        this.opts = opts;
-        this.ondrain = () => src[RESUME]();
-        this.dest.on("drain", this.ondrain);
+    function onParserTimeout(parser) {
+      const { socket, timeoutType, client } = parser;
+      if (timeoutType === TIMEOUT_HEADERS) {
+        if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
+          assert(!parser.paused, "cannot be paused while waiting for headers");
+          util.destroy(socket, new HeadersTimeoutError());
+        }
+      } else if (timeoutType === TIMEOUT_BODY) {
+        if (!parser.paused) {
+          util.destroy(socket, new BodyTimeoutError());
+        }
+      } else if (timeoutType === TIMEOUT_IDLE) {
+        assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
+        util.destroy(socket, new InformationalError("socket idle timeout"));
       }
-      unpipe() {
-        this.dest.removeListener("drain", this.ondrain);
+    }
+    function onSocketReadable() {
+      const { [kParser]: parser } = this;
+      if (parser) {
+        parser.readMore();
       }
-      // only here for the prototype
-      /* c8 ignore start */
-      proxyErrors(_er) {
+    }
+    function onSocketError(err) {
+      const { [kClient]: client, [kParser]: parser } = this;
+      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+      if (client[kHTTPConnVersion] !== "h2") {
+        if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
+          return;
+        }
       }
-      /* c8 ignore stop */
-      end() {
-        this.unpipe();
-        if (this.opts.end)
-          this.dest.end();
+      this[kError] = err;
+      onError(this[kClient], err);
+    }
+    function onError(client, err) {
+      if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
+        assert(client[kPendingIdx] === client[kRunningIdx]);
+        const requests = client[kQueue].splice(client[kRunningIdx]);
+        for (let i = 0; i < requests.length; i++) {
+          const request2 = requests[i];
+          errorRequest2(client, request2, err);
+        }
+        assert(client[kSize] === 0);
       }
-    };
-    var PipeProxyErrors = class extends Pipe {
-      unpipe() {
-        this.src.removeListener("error", this.proxyErrors);
-        super.unpipe();
+    }
+    function onSocketEnd() {
+      const { [kParser]: parser, [kClient]: client } = this;
+      if (client[kHTTPConnVersion] !== "h2") {
+        if (parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
+          return;
+        }
       }
-      constructor(src, dest, opts) {
-        super(src, dest, opts);
-        this.proxyErrors = (er) => dest.emit("error", er);
-        src.on("error", this.proxyErrors);
+      util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+    }
+    function onSocketClose() {
+      const { [kClient]: client, [kParser]: parser } = this;
+      if (client[kHTTPConnVersion] === "h1" && parser) {
+        if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
+        }
+        this[kParser].destroy();
+        this[kParser] = null;
       }
-    };
-    var isObjectModeOptions = (o) => !!o.objectMode;
-    var isEncodingOptions = (o) => !o.objectMode && !!o.encoding && o.encoding !== "buffer";
-    var Minipass = class extends node_events_1.EventEmitter {
-      [FLOWING] = false;
-      [PAUSED] = false;
-      [PIPES] = [];
-      [BUFFER] = [];
-      [OBJECTMODE];
-      [ENCODING];
-      [ASYNC];
-      [DECODER];
-      [EOF] = false;
-      [EMITTED_END] = false;
-      [EMITTING_END] = false;
-      [CLOSED] = false;
-      [EMITTED_ERROR] = null;
-      [BUFFERLENGTH] = 0;
-      [DESTROYED] = false;
-      [SIGNAL];
-      [ABORTED] = false;
-      [DATALISTENERS] = 0;
-      [DISCARDED] = false;
-      /**
-       * true if the stream can be written
-       */
-      writable = true;
-      /**
-       * true if the stream can be read
-       */
-      readable = true;
-      /**
-       * If `RType` is Buffer, then options do not need to be provided.
-       * Otherwise, an options object must be provided to specify either
-       * {@link Minipass.SharedOptions.objectMode} or
-       * {@link Minipass.SharedOptions.encoding}, as appropriate.
-       */
-      constructor(...args) {
-        const options = args[0] || {};
-        super();
-        if (options.objectMode && typeof options.encoding === "string") {
-          throw new TypeError("Encoding and objectMode may not be used together");
+      const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
+      client[kSocket] = null;
+      if (client.destroyed) {
+        assert(client[kPending] === 0);
+        const requests = client[kQueue].splice(client[kRunningIdx]);
+        for (let i = 0; i < requests.length; i++) {
+          const request2 = requests[i];
+          errorRequest2(client, request2, err);
+        }
+      } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
+        const request2 = client[kQueue][client[kRunningIdx]];
+        client[kQueue][client[kRunningIdx]++] = null;
+        errorRequest2(client, request2, err);
+      }
+      client[kPendingIdx] = client[kRunningIdx];
+      assert(client[kRunning] === 0);
+      client.emit("disconnect", client[kUrl], [client], err);
+      resume(client);
+    }
+    async function connect(client) {
+      assert(!client[kConnecting]);
+      assert(!client[kSocket]);
+      let { host, hostname, protocol, port } = client[kUrl];
+      if (hostname[0] === "[") {
+        const idx = hostname.indexOf("]");
+        assert(idx !== -1);
+        const ip = hostname.substring(1, idx);
+        assert(net.isIP(ip));
+        hostname = ip;
+      }
+      client[kConnecting] = true;
+      if (channels.beforeConnect.hasSubscribers) {
+        channels.beforeConnect.publish({
+          connectParams: {
+            host,
+            hostname,
+            protocol,
+            port,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          },
+          connector: client[kConnector]
+        });
+      }
+      try {
+        const socket = await new Promise((resolve3, reject) => {
+          client[kConnector]({
+            host,
+            hostname,
+            protocol,
+            port,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          }, (err, socket2) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve3(socket2);
+            }
+          });
+        });
+        if (client.destroyed) {
+          util.destroy(socket.on("error", () => {
+          }), new ClientDestroyedError());
+          return;
+        }
+        client[kConnecting] = false;
+        assert(socket);
+        const isH2 = socket.alpnProtocol === "h2";
+        if (isH2) {
+          if (!h2ExperimentalWarned) {
+            h2ExperimentalWarned = true;
+            process.emitWarning("H2 support is experimental, expect them to change at any time.", {
+              code: "UNDICI-H2"
+            });
+          }
+          const session = http2.connect(client[kUrl], {
+            createConnection: () => socket,
+            peerMaxConcurrentStreams: client[kHTTP2SessionState].maxConcurrentStreams
+          });
+          client[kHTTPConnVersion] = "h2";
+          session[kClient] = client;
+          session[kSocket] = socket;
+          session.on("error", onHttp2SessionError);
+          session.on("frameError", onHttp2FrameError);
+          session.on("end", onHttp2SessionEnd);
+          session.on("goaway", onHTTP2GoAway);
+          session.on("close", onSocketClose);
+          session.unref();
+          client[kHTTP2Session] = session;
+          socket[kHTTP2Session] = session;
+        } else {
+          if (!llhttpInstance) {
+            llhttpInstance = await llhttpPromise;
+            llhttpPromise = null;
+          }
+          socket[kNoRef] = false;
+          socket[kWriting] = false;
+          socket[kReset] = false;
+          socket[kBlocking] = false;
+          socket[kParser] = new Parser(client, socket, llhttpInstance);
+        }
+        socket[kCounter] = 0;
+        socket[kMaxRequests] = client[kMaxRequests];
+        socket[kClient] = client;
+        socket[kError] = null;
+        socket.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose);
+        client[kSocket] = socket;
+        if (channels.connected.hasSubscribers) {
+          channels.connected.publish({
+            connectParams: {
+              host,
+              hostname,
+              protocol,
+              port,
+              servername: client[kServerName],
+              localAddress: client[kLocalAddress]
+            },
+            connector: client[kConnector],
+            socket
+          });
         }
-        if (isObjectModeOptions(options)) {
-          this[OBJECTMODE] = true;
-          this[ENCODING] = null;
-        } else if (isEncodingOptions(options)) {
-          this[ENCODING] = options.encoding;
-          this[OBJECTMODE] = false;
+        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,
+              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]++];
+            errorRequest2(client, request2, err);
+          }
         } else {
-          this[OBJECTMODE] = false;
-          this[ENCODING] = null;
+          onError(client, err);
         }
-        this[ASYNC] = !!options.async;
-        this[DECODER] = this[ENCODING] ? new node_string_decoder_1.StringDecoder(this[ENCODING]) : null;
-        if (options && options.debugExposeBuffer === true) {
-          Object.defineProperty(this, "buffer", { get: () => this[BUFFER] });
+        client.emit("connectionError", client[kUrl], [client], err);
+      }
+      resume(client);
+    }
+    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 (options && options.debugExposePipes === true) {
-          Object.defineProperty(this, "pipes", { get: () => this[PIPES] });
+        if (client[kClosedResolve] && !client[kSize]) {
+          client[kClosedResolve]();
+          client[kClosedResolve] = null;
+          return;
         }
-        const { signal } = options;
-        if (signal) {
-          this[SIGNAL] = signal;
-          if (signal.aborted) {
-            this[ABORT]();
+        const socket = client[kSocket];
+        if (socket && !socket.destroyed && socket.alpnProtocol !== "h2") {
+          if (client[kSize] === 0) {
+            if (!socket[kNoRef] && socket.unref) {
+              socket.unref();
+              socket[kNoRef] = true;
+            }
+          } else if (socket[kNoRef] && socket.ref) {
+            socket.ref();
+            socket[kNoRef] = false;
+          }
+          if (client[kSize] === 0) {
+            if (socket[kParser].timeoutType !== TIMEOUT_IDLE) {
+              socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE);
+            }
+          } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
+            if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
+              const request3 = client[kQueue][client[kRunningIdx]];
+              const headersTimeout = request3.headersTimeout != null ? request3.headersTimeout : client[kHeadersTimeout];
+              socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
+            }
+          }
+        }
+        if (client[kBusy]) {
+          client[kNeedDrain] = 2;
+        } else if (client[kNeedDrain] === 2) {
+          if (sync) {
+            client[kNeedDrain] = 1;
+            process.nextTick(emitDrain, client);
           } else {
-            signal.addEventListener("abort", () => this[ABORT]());
+            emitDrain(client);
+          }
+          continue;
+        }
+        if (client[kPending] === 0) {
+          return;
+        }
+        if (client[kRunning] >= (client[kPipelining] || 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;
+          if (socket && socket.servername !== request2.servername) {
+            util.destroy(socket, new InformationalError("servername changed"));
+            return;
           }
         }
+        if (client[kConnecting]) {
+          return;
+        }
+        if (!socket && !client[kHTTP2Session]) {
+          connect(client);
+          return;
+        }
+        if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) {
+          return;
+        }
+        if (client[kRunning] > 0 && !request2.idempotent) {
+          return;
+        }
+        if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
+          return;
+        }
+        if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body))) {
+          return;
+        }
+        if (!request2.aborted && write(client, request2)) {
+          client[kPendingIdx]++;
+        } else {
+          client[kQueue].splice(client[kPendingIdx], 1);
+        }
       }
-      /**
-       * The amount of data stored in the buffer waiting to be read.
-       *
-       * For Buffer strings, this will be the total byte length.
-       * For string encoding streams, this will be the string character length,
-       * according to JavaScript's `string.length` logic.
-       * For objectMode streams, this is a count of the items waiting to be
-       * emitted.
-       */
-      get bufferLength() {
-        return this[BUFFERLENGTH];
+    }
+    function shouldSendContentLength(method) {
+      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
+    }
+    function write(client, request2) {
+      if (client[kHTTPConnVersion] === "h2") {
+        writeH2(client, client[kHTTP2Session], request2);
+        return;
       }
-      /**
-       * The `BufferEncoding` currently in use, or `null`
-       */
-      get encoding() {
-        return this[ENCODING];
+      const { body, method, path: path4, host, upgrade, headers, blocking, reset } = request2;
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
+      if (body && typeof body.read === "function") {
+        body.read(0);
       }
-      /**
-       * @deprecated - This is a read only property
-       */
-      set encoding(_enc) {
-        throw new Error("Encoding must be set at instantiation time");
+      const bodyLength = util.bodyLength(body);
+      let contentLength = bodyLength;
+      if (contentLength === null) {
+        contentLength = request2.contentLength;
       }
-      /**
-       * @deprecated - Encoding may only be set at instantiation time
-       */
-      setEncoding(_enc) {
-        throw new Error("Encoding must be set at instantiation time");
+      if (contentLength === 0 && !expectsPayload) {
+        contentLength = null;
       }
-      /**
-       * True if this is an objectMode stream
-       */
-      get objectMode() {
-        return this[OBJECTMODE];
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          errorRequest2(client, request2, new RequestContentLengthMismatchError());
+          return false;
+        }
+        process.emitWarning(new RequestContentLengthMismatchError());
       }
-      /**
-       * @deprecated - This is a read-only property
-       */
-      set objectMode(_om) {
-        throw new Error("objectMode must be set at instantiation time");
+      const socket = client[kSocket];
+      try {
+        request2.onConnect((err) => {
+          if (request2.aborted || request2.completed) {
+            return;
+          }
+          errorRequest2(client, request2, err || new RequestAbortedError());
+          util.destroy(socket, new InformationalError("aborted"));
+        });
+      } catch (err) {
+        errorRequest2(client, request2, err);
       }
-      /**
-       * true if this is an async stream
-       */
-      get ["async"]() {
-        return this[ASYNC];
+      if (request2.aborted) {
+        return false;
       }
-      /**
-       * Set to true to make this stream async.
-       *
-       * Once set, it cannot be unset, as this would potentially cause incorrect
-       * behavior.  Ie, a sync stream can be made async, but an async stream
-       * cannot be safely made sync.
-       */
-      set ["async"](a) {
-        this[ASYNC] = this[ASYNC] || !!a;
+      if (method === "HEAD") {
+        socket[kReset] = true;
       }
-      // drop everything and get out of the flow completely
-      [ABORT]() {
-        this[ABORTED] = true;
-        this.emit("abort", this[SIGNAL]?.reason);
-        this.destroy(this[SIGNAL]?.reason);
+      if (upgrade || method === "CONNECT") {
+        socket[kReset] = true;
       }
-      /**
-       * True if the stream has been aborted.
-       */
-      get aborted() {
-        return this[ABORTED];
+      if (reset != null) {
+        socket[kReset] = reset;
       }
-      /**
-       * No-op setter. Stream aborted status is set via the AbortSignal provided
-       * in the constructor options.
-       */
-      set aborted(_2) {
+      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
+        socket[kReset] = true;
       }
-      write(chunk, encoding, cb) {
-        if (this[ABORTED])
-          return false;
-        if (this[EOF])
-          throw new Error("write after end");
-        if (this[DESTROYED]) {
-          this.emit("error", Object.assign(new Error("Cannot call write after a stream was destroyed"), { code: "ERR_STREAM_DESTROYED" }));
-          return true;
-        }
-        if (typeof encoding === "function") {
-          cb = encoding;
-          encoding = "utf8";
-        }
-        if (!encoding)
-          encoding = "utf8";
-        const fn = this[ASYNC] ? defer : nodefer;
-        if (!this[OBJECTMODE] && !Buffer.isBuffer(chunk)) {
-          if (isArrayBufferView(chunk)) {
-            chunk = Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
-          } else if (isArrayBufferLike(chunk)) {
-            chunk = Buffer.from(chunk);
-          } else if (typeof chunk !== "string") {
-            throw new Error("Non-contiguous data written to non-objectMode stream");
-          }
-        }
-        if (this[OBJECTMODE]) {
-          if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
-            this[FLUSH](true);
-          if (this[FLOWING])
-            this.emit("data", chunk);
-          else
-            this[BUFFERPUSH](chunk);
-          if (this[BUFFERLENGTH] !== 0)
-            this.emit("readable");
-          if (cb)
-            fn(cb);
-          return this[FLOWING];
-        }
-        if (!chunk.length) {
-          if (this[BUFFERLENGTH] !== 0)
-            this.emit("readable");
-          if (cb)
-            fn(cb);
-          return this[FLOWING];
-        }
-        if (typeof chunk === "string" && // unless it is a string already ready for us to use
-        !(encoding === this[ENCODING] && !this[DECODER]?.lastNeed)) {
-          chunk = Buffer.from(chunk, encoding);
-        }
-        if (Buffer.isBuffer(chunk) && this[ENCODING]) {
-          chunk = this[DECODER].write(chunk);
-        }
-        if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
-          this[FLUSH](true);
-        if (this[FLOWING])
-          this.emit("data", chunk);
-        else
-          this[BUFFERPUSH](chunk);
-        if (this[BUFFERLENGTH] !== 0)
-          this.emit("readable");
-        if (cb)
-          fn(cb);
-        return this[FLOWING];
+      if (blocking) {
+        socket[kBlocking] = true;
       }
-      /**
-       * Low-level explicit read method.
-       *
-       * In objectMode, the argument is ignored, and one item is returned if
-       * available.
-       *
-       * `n` is the number of bytes (or in the case of encoding streams,
-       * characters) to consume. If `n` is not provided, then the entire buffer
-       * is returned, or `null` is returned if no data is available.
-       *
-       * If `n` is greater that the amount of data in the internal buffer,
-       * then `null` is returned.
-       */
-      read(n) {
-        if (this[DESTROYED])
-          return null;
-        this[DISCARDED] = false;
-        if (this[BUFFERLENGTH] === 0 || n === 0 || n && n > this[BUFFERLENGTH]) {
-          this[MAYBE_EMIT_END]();
-          return null;
-        }
-        if (this[OBJECTMODE])
-          n = null;
-        if (this[BUFFER].length > 1 && !this[OBJECTMODE]) {
-          this[BUFFER] = [
-            this[ENCODING] ? this[BUFFER].join("") : Buffer.concat(this[BUFFER], this[BUFFERLENGTH])
-          ];
-        }
-        const ret = this[READ](n || null, this[BUFFER][0]);
-        this[MAYBE_EMIT_END]();
-        return ret;
+      let header = `${method} ${path4} HTTP/1.1\r
+`;
+      if (typeof host === "string") {
+        header += `host: ${host}\r
+`;
+      } else {
+        header += client[kHostHeader];
       }
-      [READ](n, chunk) {
-        if (this[OBJECTMODE])
-          this[BUFFERSHIFT]();
-        else {
-          const c = chunk;
-          if (n === c.length || n === null)
-            this[BUFFERSHIFT]();
-          else if (typeof c === "string") {
-            this[BUFFER][0] = c.slice(n);
-            chunk = c.slice(0, n);
-            this[BUFFERLENGTH] -= n;
-          } else {
-            this[BUFFER][0] = c.subarray(n);
-            chunk = c.subarray(0, n);
-            this[BUFFERLENGTH] -= n;
-          }
-        }
-        this.emit("data", chunk);
-        if (!this[BUFFER].length && !this[EOF])
-          this.emit("drain");
-        return chunk;
+      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";
       }
-      end(chunk, encoding, cb) {
-        if (typeof chunk === "function") {
-          cb = chunk;
-          chunk = void 0;
+      if (headers) {
+        header += headers;
+      }
+      if (channels.sendHeaders.hasSubscribers) {
+        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      }
+      if (!body || bodyLength === 0) {
+        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");
         }
-        if (typeof encoding === "function") {
-          cb = encoding;
-          encoding = "utf8";
+        request2.onRequestSent();
+      } else if (util.isBuffer(body)) {
+        assert(contentLength === body.byteLength, "buffer body must have content length");
+        socket.cork();
+        socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+        socket.write(body);
+        socket.uncork();
+        request2.onBodySent(body);
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
         }
-        if (chunk !== void 0)
-          this.write(chunk, encoding);
-        if (cb)
-          this.once("end", cb);
-        this[EOF] = true;
-        this.writable = false;
-        if (this[FLOWING] || !this[PAUSED])
-          this[MAYBE_EMIT_END]();
-        return this;
-      }
-      // don't let the internal resume be overwritten
-      [RESUME]() {
-        if (this[DESTROYED])
-          return;
-        if (!this[DATALISTENERS] && !this[PIPES].length) {
-          this[DISCARDED] = true;
+      } else if (util.isBlobLike(body)) {
+        if (typeof body.stream === "function") {
+          writeIterable({ body: body.stream(), client, request: request2, socket, contentLength, header, expectsPayload });
+        } else {
+          writeBlob({ body, client, request: request2, socket, contentLength, header, expectsPayload });
         }
-        this[PAUSED] = false;
-        this[FLOWING] = true;
-        this.emit("resume");
-        if (this[BUFFER].length)
-          this[FLUSH]();
-        else if (this[EOF])
-          this[MAYBE_EMIT_END]();
-        else
-          this.emit("drain");
-      }
-      /**
-       * Resume the stream if it is currently in a paused state
-       *
-       * If called when there are no pipe destinations or `data` event listeners,
-       * this will place the stream in a "discarded" state, where all data will
-       * be thrown away. The discarded state is removed if a pipe destination or
-       * data handler is added, if pause() is called, or if any synchronous or
-       * asynchronous iteration is started.
-       */
-      resume() {
-        return this[RESUME]();
-      }
-      /**
-       * Pause the stream
-       */
-      pause() {
-        this[FLOWING] = false;
-        this[PAUSED] = true;
-        this[DISCARDED] = false;
+      } else if (util.isStream(body)) {
+        writeStream({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+      } else if (util.isIterable(body)) {
+        writeIterable({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+      } else {
+        assert(false);
       }
-      /**
-       * true if the stream has been forcibly destroyed
-       */
-      get destroyed() {
-        return this[DESTROYED];
+      return true;
+    }
+    function writeH2(client, session, request2) {
+      const { body, method, path: path4, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
+      let headers;
+      if (typeof reqHeaders === "string") headers = Request[kHTTP2CopyHeaders](reqHeaders.trim());
+      else headers = reqHeaders;
+      if (upgrade) {
+        errorRequest2(client, request2, new Error("Upgrade not supported for H2"));
+        return false;
       }
-      /**
-       * true if the stream is currently in a flowing state, meaning that
-       * any writes will be immediately emitted.
-       */
-      get flowing() {
-        return this[FLOWING];
+      try {
+        request2.onConnect((err) => {
+          if (request2.aborted || request2.completed) {
+            return;
+          }
+          errorRequest2(client, request2, err || new RequestAbortedError());
+        });
+      } catch (err) {
+        errorRequest2(client, request2, err);
       }
-      /**
-       * true if the stream is currently in a paused state
-       */
-      get paused() {
-        return this[PAUSED];
+      if (request2.aborted) {
+        return false;
       }
-      [BUFFERPUSH](chunk) {
-        if (this[OBJECTMODE])
-          this[BUFFERLENGTH] += 1;
-        else
-          this[BUFFERLENGTH] += chunk.length;
-        this[BUFFER].push(chunk);
+      let stream;
+      const h2State = client[kHTTP2SessionState];
+      headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost];
+      headers[HTTP2_HEADER_METHOD] = method;
+      if (method === "CONNECT") {
+        session.ref();
+        stream = session.request(headers, { endStream: false, signal });
+        if (stream.id && !stream.pending) {
+          request2.onUpgrade(null, null, stream);
+          ++h2State.openStreams;
+        } else {
+          stream.once("ready", () => {
+            request2.onUpgrade(null, null, stream);
+            ++h2State.openStreams;
+          });
+        }
+        stream.once("close", () => {
+          h2State.openStreams -= 1;
+          if (h2State.openStreams === 0) session.unref();
+        });
+        return true;
       }
-      [BUFFERSHIFT]() {
-        if (this[OBJECTMODE])
-          this[BUFFERLENGTH] -= 1;
-        else
-          this[BUFFERLENGTH] -= this[BUFFER][0].length;
-        return this[BUFFER].shift();
+      headers[HTTP2_HEADER_PATH] = path4;
+      headers[HTTP2_HEADER_SCHEME] = "https";
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
+      if (body && typeof body.read === "function") {
+        body.read(0);
       }
-      [FLUSH](noDrain = false) {
-        do {
-        } while (this[FLUSHCHUNK](this[BUFFERSHIFT]()) && this[BUFFER].length);
-        if (!noDrain && !this[BUFFER].length && !this[EOF])
-          this.emit("drain");
+      let contentLength = util.bodyLength(body);
+      if (contentLength == null) {
+        contentLength = request2.contentLength;
       }
-      [FLUSHCHUNK](chunk) {
-        this.emit("data", chunk);
-        return this[FLOWING];
+      if (contentLength === 0 || !expectsPayload) {
+        contentLength = null;
       }
-      /**
-       * Pipe all data emitted by this stream into the destination provided.
-       *
-       * Triggers the flow of data.
-       */
-      pipe(dest, opts) {
-        if (this[DESTROYED])
-          return dest;
-        this[DISCARDED] = false;
-        const ended = this[EMITTED_END];
-        opts = opts || {};
-        if (dest === proc.stdout || dest === proc.stderr)
-          opts.end = false;
-        else
-          opts.end = opts.end !== false;
-        opts.proxyErrors = !!opts.proxyErrors;
-        if (ended) {
-          if (opts.end)
-            dest.end();
-        } else {
-          this[PIPES].push(!opts.proxyErrors ? new Pipe(this, dest, opts) : new PipeProxyErrors(this, dest, opts));
-          if (this[ASYNC])
-            defer(() => this[RESUME]());
-          else
-            this[RESUME]();
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          errorRequest2(client, request2, new RequestContentLengthMismatchError());
+          return false;
         }
-        return dest;
+        process.emitWarning(new RequestContentLengthMismatchError());
       }
-      /**
-       * Fully unhook a piped destination stream.
-       *
-       * If the destination stream was the only consumer of this stream (ie,
-       * there are no other piped destinations or `'data'` event listeners)
-       * then the flow of data will stop until there is another consumer or
-       * {@link Minipass#resume} is explicitly called.
-       */
-      unpipe(dest) {
-        const p = this[PIPES].find((p2) => p2.dest === dest);
-        if (p) {
-          if (this[PIPES].length === 1) {
-            if (this[FLOWING] && this[DATALISTENERS] === 0) {
-              this[FLOWING] = false;
-            }
-            this[PIPES] = [];
-          } else
-            this[PIPES].splice(this[PIPES].indexOf(p), 1);
-          p.unpipe();
-        }
+      if (contentLength != null) {
+        assert(body, "no body must not have content length");
+        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
       }
-      /**
-       * Alias for {@link Minipass#on}
-       */
-      addListener(ev, handler2) {
-        return this.on(ev, handler2);
+      session.ref();
+      const shouldEndStream = method === "GET" || method === "HEAD";
+      if (expectContinue) {
+        headers[HTTP2_HEADER_EXPECT] = "100-continue";
+        stream = session.request(headers, { endStream: shouldEndStream, signal });
+        stream.once("continue", writeBodyH2);
+      } else {
+        stream = session.request(headers, {
+          endStream: shouldEndStream,
+          signal
+        });
+        writeBodyH2();
       }
-      /**
-       * Mostly identical to `EventEmitter.on`, with the following
-       * behavior differences to prevent data loss and unnecessary hangs:
-       *
-       * - Adding a 'data' event handler will trigger the flow of data
-       *
-       * - Adding a 'readable' event handler when there is data waiting to be read
-       *   will cause 'readable' to be emitted immediately.
-       *
-       * - Adding an 'endish' event handler ('end', 'finish', etc.) which has
-       *   already passed will cause the event to be emitted immediately and all
-       *   handlers removed.
-       *
-       * - Adding an 'error' event handler after an error has been emitted will
-       *   cause the event to be re-emitted immediately with the error previously
-       *   raised.
-       */
-      on(ev, handler2) {
-        const ret = super.on(ev, handler2);
-        if (ev === "data") {
-          this[DISCARDED] = false;
-          this[DATALISTENERS]++;
-          if (!this[PIPES].length && !this[FLOWING]) {
-            this[RESUME]();
+      ++h2State.openStreams;
+      stream.once("response", (headers2) => {
+        const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
+        if (request2.onHeaders(Number(statusCode), realHeaders, stream.resume.bind(stream), "") === false) {
+          stream.pause();
+        }
+      });
+      stream.once("end", () => {
+        request2.onComplete([]);
+      });
+      stream.on("data", (chunk) => {
+        if (request2.onData(chunk) === false) {
+          stream.pause();
+        }
+      });
+      stream.once("close", () => {
+        h2State.openStreams -= 1;
+        if (h2State.openStreams === 0) {
+          session.unref();
+        }
+      });
+      stream.once("error", function(err) {
+        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
+          h2State.streams -= 1;
+          util.destroy(stream, err);
+        }
+      });
+      stream.once("frameError", (type2, code) => {
+        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
+        errorRequest2(client, request2, err);
+        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
+          h2State.streams -= 1;
+          util.destroy(stream, err);
+        }
+      });
+      return true;
+      function writeBodyH2() {
+        if (!body) {
+          request2.onRequestSent();
+        } else if (util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          stream.cork();
+          stream.write(body);
+          stream.uncork();
+          stream.end();
+          request2.onBodySent(body);
+          request2.onRequestSent();
+        } else if (util.isBlobLike(body)) {
+          if (typeof body.stream === "function") {
+            writeIterable({
+              client,
+              request: request2,
+              contentLength,
+              h2stream: stream,
+              expectsPayload,
+              body: body.stream(),
+              socket: client[kSocket],
+              header: ""
+            });
+          } else {
+            writeBlob({
+              body,
+              client,
+              request: request2,
+              contentLength,
+              expectsPayload,
+              h2stream: stream,
+              header: "",
+              socket: client[kSocket]
+            });
           }
-        } else if (ev === "readable" && this[BUFFERLENGTH] !== 0) {
-          super.emit("readable");
-        } else if (isEndish(ev) && this[EMITTED_END]) {
-          super.emit(ev);
-          this.removeAllListeners(ev);
-        } else if (ev === "error" && this[EMITTED_ERROR]) {
-          const h = handler2;
-          if (this[ASYNC])
-            defer(() => h.call(this, this[EMITTED_ERROR]));
-          else
-            h.call(this, this[EMITTED_ERROR]);
+        } else if (util.isStream(body)) {
+          writeStream({
+            body,
+            client,
+            request: request2,
+            contentLength,
+            expectsPayload,
+            socket: client[kSocket],
+            h2stream: stream,
+            header: ""
+          });
+        } else if (util.isIterable(body)) {
+          writeIterable({
+            body,
+            client,
+            request: request2,
+            contentLength,
+            expectsPayload,
+            header: "",
+            h2stream: stream,
+            socket: client[kSocket]
+          });
+        } else {
+          assert(false);
         }
-        return ret;
       }
-      /**
-       * Alias for {@link Minipass#off}
-       */
-      removeListener(ev, handler2) {
-        return this.off(ev, handler2);
+    }
+    function writeStream({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      if (client[kHTTPConnVersion] === "h2") {
+        let onPipeData = function(chunk) {
+          request2.onBodySent(chunk);
+        };
+        const pipe = pipeline(
+          body,
+          h2stream,
+          (err) => {
+            if (err) {
+              util.destroy(body, err);
+              util.destroy(h2stream, err);
+            } else {
+              request2.onRequestSent();
+            }
+          }
+        );
+        pipe.on("data", onPipeData);
+        pipe.once("end", () => {
+          pipe.removeListener("data", onPipeData);
+          util.destroy(pipe);
+        });
+        return;
       }
-      /**
-       * Mostly identical to `EventEmitter.off`
-       *
-       * If a 'data' event handler is removed, and it was the last consumer
-       * (ie, there are no pipe destinations or other 'data' event listeners),
-       * then the flow of data will stop until there is another consumer or
-       * {@link Minipass#resume} is explicitly called.
-       */
-      off(ev, handler2) {
-        const ret = super.off(ev, handler2);
-        if (ev === "data") {
-          this[DATALISTENERS] = this.listeners("data").length;
-          if (this[DATALISTENERS] === 0 && !this[DISCARDED] && !this[PIPES].length) {
-            this[FLOWING] = false;
+      let finished = false;
+      const writer = new AsyncWriter({ 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);
         }
-        return ret;
-      }
-      /**
-       * Mostly identical to `EventEmitter.removeAllListeners`
-       *
-       * If all 'data' event handlers are removed, and they were the last consumer
-       * (ie, there are no pipe destinations), then the flow of data will stop
-       * until there is another consumer or {@link Minipass#resume} is explicitly
-       * called.
-       */
-      removeAllListeners(ev) {
-        const ret = super.removeAllListeners(ev);
-        if (ev === "data" || ev === void 0) {
-          this[DATALISTENERS] = 0;
-          if (!this[DISCARDED] && !this[PIPES].length) {
-            this[FLOWING] = false;
+      };
+      const onDrain = function() {
+        if (finished) {
+          return;
+        }
+        if (body.resume) {
+          body.resume();
+        }
+      };
+      const onAbort = function() {
+        if (finished) {
+          return;
+        }
+        const err = new RequestAbortedError();
+        queueMicrotask(() => onFinished(err));
+      };
+      const onFinished = function(err) {
+        if (finished) {
+          return;
+        }
+        finished = true;
+        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
+        socket.off("drain", onDrain).off("error", onFinished);
+        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("error", onFinished).removeListener("close", onAbort);
+        if (!err) {
+          try {
+            writer.end();
+          } catch (er) {
+            err = er;
           }
         }
-        return ret;
+        writer.destroy(err);
+        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
+          util.destroy(body, err);
+        } else {
+          util.destroy(body);
+        }
+      };
+      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onAbort);
+      if (body.resume) {
+        body.resume();
       }
-      /**
-       * true if the 'end' event has been emitted
-       */
-      get emittedEnd() {
-        return this[EMITTED_END];
+      socket.on("drain", onDrain).on("error", onFinished);
+    }
+    async function writeBlob({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
+      assert(contentLength === body.size, "blob body must have content length");
+      const isH2 = client[kHTTPConnVersion] === "h2";
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
+        }
+        const buffer = Buffer.from(await body.arrayBuffer());
+        if (isH2) {
+          h2stream.cork();
+          h2stream.write(buffer);
+          h2stream.uncork();
+        } else {
+          socket.cork();
+          socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+          socket.write(buffer);
+          socket.uncork();
+        }
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        resume(client);
+      } catch (err) {
+        util.destroy(isH2 ? h2stream : socket, err);
       }
-      [MAYBE_EMIT_END]() {
-        if (!this[EMITTING_END] && !this[EMITTED_END] && !this[DESTROYED] && this[BUFFER].length === 0 && this[EOF]) {
-          this[EMITTING_END] = true;
-          this.emit("end");
-          this.emit("prefinish");
-          this.emit("finish");
-          if (this[CLOSED])
-            this.emit("close");
-          this[EMITTING_END] = false;
+    }
+    async function writeIterable({ h2stream, body, client, request: 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();
         }
       }
-      /**
-       * Mostly identical to `EventEmitter.emit`, with the following
-       * behavior differences to prevent data loss and unnecessary hangs:
-       *
-       * If the stream has been destroyed, and the event is something other
-       * than 'close' or 'error', then `false` is returned and no handlers
-       * are called.
-       *
-       * If the event is 'end', and has already been emitted, then the event
-       * is ignored. If the stream is in a paused or non-flowing state, then
-       * the event will be deferred until data flow resumes. If the stream is
-       * async, then handlers will be called on the next tick rather than
-       * immediately.
-       *
-       * If the event is 'close', and 'end' has not yet been emitted, then
-       * the event will be deferred until after 'end' is emitted.
-       *
-       * If the event is 'error', and an AbortSignal was provided for the stream,
-       * and there are no listeners, then the event is ignored, matching the
-       * behavior of node core streams in the presense of an AbortSignal.
-       *
-       * If the event is 'finish' or 'prefinish', then all listeners will be
-       * removed after emitting the event, to prevent double-firing.
-       */
-      emit(ev, ...args) {
-        const data = args[0];
-        if (ev !== "error" && ev !== "close" && ev !== DESTROYED && this[DESTROYED]) {
-          return false;
-        } else if (ev === "data") {
-          return !this[OBJECTMODE] && !data ? false : this[ASYNC] ? (defer(() => this[EMITDATA](data)), true) : this[EMITDATA](data);
-        } else if (ev === "end") {
-          return this[EMITEND]();
-        } else if (ev === "close") {
-          this[CLOSED] = true;
-          if (!this[EMITTED_END] && !this[DESTROYED])
-            return false;
-          const ret2 = super.emit("close");
-          this.removeAllListeners("close");
-          return ret2;
-        } else if (ev === "error") {
-          this[EMITTED_ERROR] = data;
-          super.emit(ERROR, data);
-          const ret2 = !this[SIGNAL] || this.listeners("error").length ? super.emit("error", data) : false;
-          this[MAYBE_EMIT_END]();
-          return ret2;
-        } else if (ev === "resume") {
-          const ret2 = super.emit("resume");
-          this[MAYBE_EMIT_END]();
-          return ret2;
-        } else if (ev === "finish" || ev === "prefinish") {
-          const ret2 = super.emit(ev);
-          this.removeAllListeners(ev);
-          return ret2;
+      const waitForDrain = () => new Promise((resolve3, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve3;
+        }
+      });
+      if (client[kHTTPConnVersion] === "h2") {
+        h2stream.on("close", onDrain).on("drain", onDrain);
+        try {
+          for await (const chunk of body) {
+            if (socket[kError]) {
+              throw socket[kError];
+            }
+            const res = h2stream.write(chunk);
+            request2.onBodySent(chunk);
+            if (!res) {
+              await waitForDrain();
+            }
+          }
+        } catch (err) {
+          h2stream.destroy(err);
+        } finally {
+          request2.onRequestSent();
+          h2stream.end();
+          h2stream.off("close", onDrain).off("drain", onDrain);
         }
-        const ret = super.emit(ev, ...args);
-        this[MAYBE_EMIT_END]();
-        return ret;
+        return;
       }
-      [EMITDATA](data) {
-        for (const p of this[PIPES]) {
-          if (p.dest.write(data) === false)
-            this.pause();
+      socket.on("close", onDrain).on("drain", onDrain);
+      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          if (!writer.write(chunk)) {
+            await waitForDrain();
+          }
         }
-        const ret = this[DISCARDED] ? false : super.emit("data", data);
-        this[MAYBE_EMIT_END]();
-        return ret;
+        writer.end();
+      } catch (err) {
+        writer.destroy(err);
+      } finally {
+        socket.off("close", onDrain).off("drain", onDrain);
       }
-      [EMITEND]() {
-        if (this[EMITTED_END])
-          return false;
-        this[EMITTED_END] = true;
-        this.readable = false;
-        return this[ASYNC] ? (defer(() => this[EMITEND2]()), true) : this[EMITEND2]();
+    }
+    var AsyncWriter = class {
+      constructor({ 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;
+        socket[kWriting] = true;
       }
-      [EMITEND2]() {
-        if (this[DECODER]) {
-          const data = this[DECODER].end();
-          if (data) {
-            for (const p of this[PIPES]) {
-              p.dest.write(data);
-            }
-            if (!this[DISCARDED])
-              super.emit("data", data);
+      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());
         }
-        for (const p of this[PIPES]) {
-          p.end();
+        socket.cork();
+        if (bytesWritten === 0) {
+          if (!expectsPayload) {
+            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();
+            }
+          }
         }
-        const ret = super.emit("end");
-        this.removeAllListeners("end");
         return ret;
       }
-      /**
-       * Return a Promise that resolves to an array of all emitted data once
-       * the stream ends.
-       */
-      async collect() {
-        const buf = Object.assign([], {
-          dataLength: 0
-        });
-        if (!this[OBJECTMODE])
-          buf.dataLength = 0;
-        const p = this.promise();
-        this.on("data", (c) => {
-          buf.push(c);
-          if (!this[OBJECTMODE])
-            buf.dataLength += c.length;
-        });
-        await p;
-        return buf;
-      }
-      /**
-       * Return a Promise that resolves to the concatenation of all emitted data
-       * once the stream ends.
-       *
-       * Not allowed on objectMode streams.
-       */
-      async concat() {
-        if (this[OBJECTMODE]) {
-          throw new Error("cannot concat in objectMode");
+      end() {
+        const { socket, contentLength, client, bytesWritten, expectsPayload, header, request: request2 } = this;
+        request2.onRequestSent();
+        socket[kWriting] = false;
+        if (socket[kError]) {
+          throw socket[kError];
         }
-        const buf = await this.collect();
-        return this[ENCODING] ? buf.join("") : Buffer.concat(buf, buf.dataLength);
-      }
-      /**
-       * Return a void Promise that resolves once the stream ends.
-       */
-      async promise() {
-        return new Promise((resolve3, reject) => {
-          this.on(DESTROYED, () => reject(new Error("stream destroyed")));
-          this.on("error", (er) => reject(er));
-          this.on("end", () => resolve3());
-        });
-      }
-      /**
-       * Asynchronous `for await of` iteration.
-       *
-       * This will continue emitting all chunks until the stream terminates.
-       */
-      [Symbol.asyncIterator]() {
-        this[DISCARDED] = false;
-        let stopped = false;
-        const stop = async () => {
-          this.pause();
-          stopped = true;
-          return { value: void 0, done: true };
-        };
-        const next = () => {
-          if (stopped)
-            return stop();
-          const res = this.read();
-          if (res !== null)
-            return Promise.resolve({ done: false, value: res });
-          if (this[EOF])
-            return stop();
-          let resolve3;
-          let reject;
-          const onerr = (er) => {
-            this.off("data", ondata);
-            this.off("end", onend);
-            this.off(DESTROYED, ondestroy);
-            stop();
-            reject(er);
-          };
-          const ondata = (value) => {
-            this.off("error", onerr);
-            this.off("end", onend);
-            this.off(DESTROYED, ondestroy);
-            this.pause();
-            resolve3({ value, done: !!this[EOF] });
-          };
-          const onend = () => {
-            this.off("error", onerr);
-            this.off("data", ondata);
-            this.off(DESTROYED, ondestroy);
-            stop();
-            resolve3({ done: true, value: void 0 });
-          };
-          const ondestroy = () => onerr(new Error("stream destroyed"));
-          return new Promise((res2, rej) => {
-            reject = rej;
-            resolve3 = res2;
-            this.once(DESTROYED, ondestroy);
-            this.once("error", onerr);
-            this.once("end", onend);
-            this.once("data", ondata);
-          });
-        };
-        return {
-          next,
-          throw: stop,
-          return: stop,
-          [Symbol.asyncIterator]() {
-            return this;
+        if (socket.destroyed) {
+          return;
+        }
+        if (bytesWritten === 0) {
+          if (expectsPayload) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
+          } else {
+            socket.write(`${header}\r
+`, "latin1");
           }
-        };
-      }
-      /**
-       * Synchronous `for of` iteration.
-       *
-       * The iteration will terminate when the internal buffer runs out, even
-       * if the stream has not yet terminated.
-       */
-      [Symbol.iterator]() {
-        this[DISCARDED] = false;
-        let stopped = false;
-        const stop = () => {
-          this.pause();
-          this.off(ERROR, stop);
-          this.off(DESTROYED, stop);
-          this.off("end", stop);
-          stopped = true;
-          return { done: true, value: void 0 };
-        };
-        const next = () => {
-          if (stopped)
-            return stop();
-          const value = this.read();
-          return value === null ? stop() : { done: false, value };
-        };
-        this.once("end", stop);
-        this.once(ERROR, stop);
-        this.once(DESTROYED, stop);
-        return {
-          next,
-          throw: stop,
-          return: stop,
-          [Symbol.iterator]() {
-            return this;
+        } 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());
           }
-        };
-      }
-      /**
-       * Destroy a stream, preventing it from being used for any further purpose.
-       *
-       * If the stream has a `close()` method, then it will be called on
-       * destruction.
-       *
-       * After destruction, any attempt to write data, read data, or emit most
-       * events will be ignored.
-       *
-       * If an error argument is provided, then it will be emitted in an
-       * 'error' event.
-       */
-      destroy(er) {
-        if (this[DESTROYED]) {
-          if (er)
-            this.emit("error", er);
-          else
-            this.emit(DESTROYED);
-          return this;
         }
-        this[DESTROYED] = true;
-        this[DISCARDED] = true;
-        this[BUFFER].length = 0;
-        this[BUFFERLENGTH] = 0;
-        const wc = this;
-        if (typeof wc.close === "function" && !this[CLOSED])
-          wc.close();
-        if (er)
-          this.emit("error", er);
-        else
-          this.emit(DESTROYED);
-        return this;
+        if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
+          if (socket[kParser].timeout.refresh) {
+            socket[kParser].timeout.refresh();
+          }
+        }
+        resume(client);
       }
-      /**
-       * Alias for {@link isStream}
-       *
-       * Former export location, maintained for backwards compatibility.
-       *
-       * @deprecated
-       */
-      static get isStream() {
-        return exports2.isStream;
+      destroy(err) {
+        const { socket, client } = this;
+        socket[kWriting] = false;
+        if (err) {
+          assert(client[kRunning] <= 1, "pipeline should only contain this request");
+          util.destroy(socket, err);
+        }
       }
     };
-    exports2.Minipass = Minipass;
+    function errorRequest2(client, request2, err) {
+      try {
+        request2.onError(err);
+        assert(request2.aborted);
+      } catch (err2) {
+        client.emit("error", err2);
+      }
+    }
+    module2.exports = Client;
   }
 });
 
-// node_modules/path-scurry/dist/commonjs/index.js
-var require_commonjs23 = __commonJS({
-  "node_modules/path-scurry/dist/commonjs/index.js"(exports2) {
+// node_modules/undici/lib/node/fixed-queue.js
+var require_fixed_queue3 = __commonJS({
+  "node_modules/undici/lib/node/fixed-queue.js"(exports2, module2) {
     "use strict";
-    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
-      }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.PathScurry = exports2.Path = exports2.PathScurryDarwin = exports2.PathScurryPosix = exports2.PathScurryWin32 = exports2.PathScurryBase = exports2.PathPosix = exports2.PathWin32 = exports2.PathBase = exports2.ChildrenCache = exports2.ResolveCache = void 0;
-    var lru_cache_1 = require_commonjs21();
-    var node_path_1 = require("node:path");
-    var node_url_1 = require("node:url");
-    var fs_1 = require("fs");
-    var actualFS = __importStar2(require("node:fs"));
-    var realpathSync = fs_1.realpathSync.native;
-    var promises_1 = require("node:fs/promises");
-    var minipass_1 = require_commonjs22();
-    var defaultFS = {
-      lstatSync: fs_1.lstatSync,
-      readdir: fs_1.readdir,
-      readdirSync: fs_1.readdirSync,
-      readlinkSync: fs_1.readlinkSync,
-      realpathSync,
-      promises: {
-        lstat: promises_1.lstat,
-        readdir: promises_1.readdir,
-        readlink: promises_1.readlink,
-        realpath: promises_1.realpath
-      }
-    };
-    var fsFromOption = (fsOption) => !fsOption || fsOption === defaultFS || fsOption === actualFS ? defaultFS : {
-      ...defaultFS,
-      ...fsOption,
-      promises: {
-        ...defaultFS.promises,
-        ...fsOption.promises || {}
-      }
-    };
-    var uncDriveRegexp = /^\\\\\?\\([a-z]:)\\?$/i;
-    var uncToDrive = (rootPath) => rootPath.replace(/\//g, "\\").replace(uncDriveRegexp, "$1\\");
-    var eitherSep = /[\\\/]/;
-    var UNKNOWN = 0;
-    var IFIFO = 1;
-    var IFCHR = 2;
-    var IFDIR = 4;
-    var IFBLK = 6;
-    var IFREG = 8;
-    var IFLNK = 10;
-    var IFSOCK = 12;
-    var IFMT = 15;
-    var IFMT_UNKNOWN = ~IFMT;
-    var READDIR_CALLED = 16;
-    var LSTAT_CALLED = 32;
-    var ENOTDIR = 64;
-    var ENOENT = 128;
-    var ENOREADLINK = 256;
-    var ENOREALPATH = 512;
-    var ENOCHILD = ENOTDIR | ENOENT | ENOREALPATH;
-    var TYPEMASK = 1023;
-    var entToType = (s) => s.isFile() ? IFREG : s.isDirectory() ? IFDIR : s.isSymbolicLink() ? IFLNK : s.isCharacterDevice() ? IFCHR : s.isBlockDevice() ? IFBLK : s.isSocket() ? IFSOCK : s.isFIFO() ? IFIFO : UNKNOWN;
-    var normalizeCache = /* @__PURE__ */ new Map();
-    var normalize2 = (s) => {
-      const c = normalizeCache.get(s);
-      if (c)
-        return c;
-      const n = s.normalize("NFKD");
-      normalizeCache.set(s, n);
-      return n;
-    };
-    var normalizeNocaseCache = /* @__PURE__ */ new Map();
-    var normalizeNocase = (s) => {
-      const c = normalizeNocaseCache.get(s);
-      if (c)
-        return c;
-      const n = normalize2(s.toLowerCase());
-      normalizeNocaseCache.set(s, n);
-      return n;
-    };
-    var ResolveCache = class extends lru_cache_1.LRUCache {
+    var kSize = 2048;
+    var kMask = kSize - 1;
+    var FixedCircularBuffer = class {
       constructor() {
-        super({ max: 256 });
+        this.bottom = 0;
+        this.top = 0;
+        this.list = new Array(kSize);
+        this.next = null;
       }
-    };
-    exports2.ResolveCache = ResolveCache;
-    var ChildrenCache = class extends lru_cache_1.LRUCache {
-      constructor(maxSize = 16 * 1024) {
-        super({
-          maxSize,
-          // parent + children
-          sizeCalculation: (a) => a.length + 1
-        });
+      isEmpty() {
+        return this.top === this.bottom;
       }
-    };
-    exports2.ChildrenCache = ChildrenCache;
-    var setAsCwd = /* @__PURE__ */ Symbol("PathScurry setAsCwd");
-    var PathBase = class {
-      /**
-       * the basename of this path
-       *
-       * **Important**: *always* test the path name against any test string
-       * usingthe {@link isNamed} method, and not by directly comparing this
-       * string. Otherwise, unicode path strings that the system sees as identical
-       * will not be properly treated as the same path, leading to incorrect
-       * behavior and possible security issues.
-       */
-      name;
-      /**
-       * the Path entry corresponding to the path root.
-       *
-       * @internal
-       */
-      root;
-      /**
-       * All roots found within the current PathScurry family
-       *
-       * @internal
-       */
-      roots;
-      /**
-       * a reference to the parent path, or undefined in the case of root entries
-       *
-       * @internal
-       */
-      parent;
-      /**
-       * boolean indicating whether paths are compared case-insensitively
-       * @internal
-       */
-      nocase;
-      /**
-       * boolean indicating that this path is the current working directory
-       * of the PathScurry collection that contains it.
-       */
-      isCWD = false;
-      // potential default fs override
-      #fs;
-      // Stats fields
-      #dev;
-      get dev() {
-        return this.#dev;
+      isFull() {
+        return (this.top + 1 & kMask) === this.bottom;
       }
-      #mode;
-      get mode() {
-        return this.#mode;
+      push(data) {
+        this.list[this.top] = data;
+        this.top = this.top + 1 & kMask;
       }
-      #nlink;
-      get nlink() {
-        return this.#nlink;
+      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;
       }
-      #uid;
-      get uid() {
-        return this.#uid;
+    };
+    module2.exports = class FixedQueue {
+      constructor() {
+        this.head = this.tail = new FixedCircularBuffer();
       }
-      #gid;
-      get gid() {
-        return this.#gid;
+      isEmpty() {
+        return this.head.isEmpty();
       }
-      #rdev;
-      get rdev() {
-        return this.#rdev;
+      push(data) {
+        if (this.head.isFull()) {
+          this.head = this.head.next = new FixedCircularBuffer();
+        }
+        this.head.push(data);
       }
-      #blksize;
-      get blksize() {
-        return this.#blksize;
+      shift() {
+        const tail = this.tail;
+        const next = tail.shift();
+        if (tail.isEmpty() && tail.next !== null) {
+          this.tail = tail.next;
+        }
+        return next;
       }
-      #ino;
-      get ino() {
-        return this.#ino;
+    };
+  }
+});
+
+// node_modules/undici/lib/pool-stats.js
+var require_pool_stats3 = __commonJS({
+  "node_modules/undici/lib/pool-stats.js"(exports2, module2) {
+    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols11();
+    var kPool = /* @__PURE__ */ Symbol("pool");
+    var PoolStats = class {
+      constructor(pool) {
+        this[kPool] = pool;
       }
-      #size;
-      get size() {
-        return this.#size;
+      get connected() {
+        return this[kPool][kConnected];
       }
-      #blocks;
-      get blocks() {
-        return this.#blocks;
+      get free() {
+        return this[kPool][kFree];
       }
-      #atimeMs;
-      get atimeMs() {
-        return this.#atimeMs;
+      get pending() {
+        return this[kPool][kPending];
       }
-      #mtimeMs;
-      get mtimeMs() {
-        return this.#mtimeMs;
+      get queued() {
+        return this[kPool][kQueued];
       }
-      #ctimeMs;
-      get ctimeMs() {
-        return this.#ctimeMs;
+      get running() {
+        return this[kPool][kRunning];
       }
-      #birthtimeMs;
-      get birthtimeMs() {
-        return this.#birthtimeMs;
+      get size() {
+        return this[kPool][kSize];
       }
-      #atime;
-      get atime() {
-        return this.#atime;
+    };
+    module2.exports = PoolStats;
+  }
+});
+
+// node_modules/undici/lib/pool-base.js
+var require_pool_base3 = __commonJS({
+  "node_modules/undici/lib/pool-base.js"(exports2, module2) {
+    "use strict";
+    var DispatcherBase = require_dispatcher_base3();
+    var FixedQueue = require_fixed_queue3();
+    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols11();
+    var PoolStats = require_pool_stats3();
+    var kClients = /* @__PURE__ */ Symbol("clients");
+    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
+    var kQueue = /* @__PURE__ */ Symbol("queue");
+    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
+    var kAddClient = /* @__PURE__ */ Symbol("add client");
+    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
+    var kStats = /* @__PURE__ */ 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);
       }
-      #mtime;
-      get mtime() {
-        return this.#mtime;
+      get [kBusy]() {
+        return this[kNeedDrain];
       }
-      #ctime;
-      get ctime() {
-        return this.#ctime;
+      get [kConnected]() {
+        return this[kClients].filter((client) => client[kConnected]).length;
       }
-      #birthtime;
-      get birthtime() {
-        return this.#birthtime;
+      get [kFree]() {
+        return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;
       }
-      #matchName;
-      #depth;
-      #fullpath;
-      #fullpathPosix;
-      #relative;
-      #relativePosix;
-      #type;
-      #children;
-      #linkTarget;
-      #realpath;
-      /**
-       * This property is for compatibility with the Dirent class as of
-       * Node v20, where Dirent['parentPath'] refers to the path of the
-       * directory that was passed to readdir. For root entries, it's the path
-       * to the entry itself.
-       */
-      get parentPath() {
-        return (this.parent || this).fullpath();
+      get [kPending]() {
+        let ret = this[kQueued];
+        for (const { [kPending]: pending } of this[kClients]) {
+          ret += pending;
+        }
+        return ret;
       }
-      /**
-       * Deprecated alias for Dirent['parentPath'] Somewhat counterintuitively,
-       * this property refers to the *parent* path, not the path object itself.
-       *
-       * @deprecated
-       */
-      get path() {
-        return this.parentPath;
+      get [kRunning]() {
+        let ret = 0;
+        for (const { [kRunning]: running } of this[kClients]) {
+          ret += running;
+        }
+        return ret;
       }
-      /**
-       * Do not create new Path objects directly.  They should always be accessed
-       * via the PathScurry class or other methods on the Path class.
-       *
-       * @internal
-       */
-      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
-        this.name = name;
-        this.#matchName = nocase ? normalizeNocase(name) : normalize2(name);
-        this.#type = type2 & TYPEMASK;
-        this.nocase = nocase;
-        this.roots = roots;
-        this.root = root || this;
-        this.#children = children;
-        this.#fullpath = opts.fullpath;
-        this.#relative = opts.relative;
-        this.#relativePosix = opts.relativePosix;
-        this.parent = opts.parent;
-        if (this.parent) {
-          this.#fs = this.parent.#fs;
-        } else {
-          this.#fs = fsFromOption(opts.fs);
+      get [kSize]() {
+        let ret = this[kQueued];
+        for (const { [kSize]: size } of this[kClients]) {
+          ret += size;
         }
+        return ret;
       }
-      /**
-       * Returns the depth of the Path object from its root.
-       *
-       * For example, a path at `/foo/bar` would have a depth of 2.
-       */
-      depth() {
-        if (this.#depth !== void 0)
-          return this.#depth;
-        if (!this.parent)
-          return this.#depth = 0;
-        return this.#depth = this.parent.depth() + 1;
+      get stats() {
+        return this[kStats];
       }
-      /**
-       * @internal
-       */
-      childrenCache() {
-        return this.#children;
+      async [kClose]() {
+        if (this[kQueue].isEmpty()) {
+          return Promise.all(this[kClients].map((c) => c.close()));
+        } else {
+          return new Promise((resolve3) => {
+            this[kClosedResolve] = resolve3;
+          });
+        }
       }
-      /**
-       * Get the Path object referenced by the string path, resolved from this Path
-       */
-      resolve(path4) {
-        if (!path4) {
-          return this;
+      async [kDestroy](err) {
+        while (true) {
+          const item = this[kQueue].shift();
+          if (!item) {
+            break;
+          }
+          item.handler.onError(err);
         }
-        const rootPath = this.getRootString(path4);
-        const dir = path4.substring(rootPath.length);
-        const dirParts = dir.split(this.splitSep);
-        const result = rootPath ? this.getRoot(rootPath).#resolveParts(dirParts) : this.#resolveParts(dirParts);
-        return result;
+        return Promise.all(this[kClients].map((c) => c.destroy(err)));
       }
-      #resolveParts(dirParts) {
-        let p = this;
-        for (const part of dirParts) {
-          p = p.child(part);
+      [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 p;
+        return !this[kNeedDrain];
       }
-      /**
-       * Returns the cached children Path objects, if still available.  If they
-       * have fallen out of the cache, then returns an empty array, and resets the
-       * READDIR_CALLED bit, so that future calls to readdir() will require an fs
-       * lookup.
-       *
-       * @internal
-       */
-      children() {
-        const cached = this.#children.get(this);
-        if (cached) {
-          return cached;
+      [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]) {
+          process.nextTick(() => {
+            if (this[kNeedDrain]) {
+              this[kOnDrain](client[kUrl], [this, client]);
+            }
+          });
         }
-        const children = Object.assign([], { provisional: 0 });
-        this.#children.set(this, children);
-        this.#type &= ~READDIR_CALLED;
-        return children;
+        return this;
       }
-      /**
-       * Resolves a path portion and returns or creates the child Path.
-       *
-       * Returns `this` if pathPart is `''` or `'.'`, or `parent` if pathPart is
-       * `'..'`.
-       *
-       * This should not be called directly.  If `pathPart` contains any path
-       * separators, it will lead to unsafe undefined behavior.
-       *
-       * Use `Path.resolve()` instead.
-       *
-       * @internal
-       */
-      child(pathPart, opts) {
-        if (pathPart === "" || pathPart === ".") {
-          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/pool.js
+var require_pool3 = __commonJS({
+  "node_modules/undici/lib/pool.js"(exports2, module2) {
+    "use strict";
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kGetDispatcher
+    } = require_pool_base3();
+    var Client = require_client3();
+    var {
+      InvalidArgumentError
+    } = require_errors6();
+    var util = require_util24();
+    var { kUrl, kInterceptors } = require_symbols11();
+    var buildConnector = require_connect3();
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kConnections = /* @__PURE__ */ Symbol("connections");
+    var kFactory = /* @__PURE__ */ 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 (pathPart === "..") {
-          return this.parent || this;
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
         }
-        const children = this.children();
-        const name = this.nocase ? normalizeNocase(pathPart) : normalize2(pathPart);
-        for (const p of children) {
-          if (p.#matchName === name) {
-            return p;
-          }
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
         }
-        const s = this.parent ? this.sep : "";
-        const fullpath = this.#fullpath ? this.#fullpath + s + pathPart : void 0;
-        const pchild = this.newChild(pathPart, UNKNOWN, {
-          ...opts,
-          parent: this,
-          fullpath
-        });
-        if (!this.canReaddir()) {
-          pchild.#type |= ENOENT;
+        if (typeof connect !== "function") {
+          connect = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect
+          });
         }
-        children.push(pchild);
-        return pchild;
+        this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
+        this[kConnections] = connections || null;
+        this[kUrl] = util.parseOrigin(origin);
+        this[kOptions] = { ...util.deepClone(options), connect, allowH2 };
+        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
+        this[kFactory] = factory;
+        this.on("connectionError", (origin2, targets, error3) => {
+          for (const target of targets) {
+            const idx = this[kClients].indexOf(target);
+            if (idx !== -1) {
+              this[kClients].splice(idx, 1);
+            }
+          }
+        });
       }
-      /**
-       * The relative path from the cwd. If it does not share an ancestor with
-       * the cwd, then this ends up being equivalent to the fullpath()
-       */
-      relative() {
-        if (this.isCWD)
-          return "";
-        if (this.#relative !== void 0) {
-          return this.#relative;
+      [kGetDispatcher]() {
+        let dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain]);
+        if (dispatcher) {
+          return dispatcher;
         }
-        const name = this.name;
-        const p = this.parent;
-        if (!p) {
-          return this.#relative = this.name;
+        if (!this[kConnections] || this[kClients].length < this[kConnections]) {
+          dispatcher = this[kFactory](this[kUrl], this[kOptions]);
+          this[kAddClient](dispatcher);
         }
-        const pv = p.relative();
-        return pv + (!pv || !p.parent ? "" : this.sep) + name;
+        return dispatcher;
       }
-      /**
-       * The relative path from the cwd, using / as the path separator.
-       * If it does not share an ancestor with
-       * the cwd, then this ends up being equivalent to the fullpathPosix()
-       * On posix systems, this is identical to relative().
-       */
-      relativePosix() {
-        if (this.sep === "/")
-          return this.relative();
-        if (this.isCWD)
-          return "";
-        if (this.#relativePosix !== void 0)
-          return this.#relativePosix;
-        const name = this.name;
-        const p = this.parent;
-        if (!p) {
-          return this.#relativePosix = this.fullpathPosix();
+    };
+    module2.exports = Pool;
+  }
+});
+
+// node_modules/undici/lib/balanced-pool.js
+var require_balanced_pool3 = __commonJS({
+  "node_modules/undici/lib/balanced-pool.js"(exports2, module2) {
+    "use strict";
+    var {
+      BalancedPoolMissingUpstreamError,
+      InvalidArgumentError
+    } = require_errors6();
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    } = require_pool_base3();
+    var Pool = require_pool3();
+    var { kUrl, kInterceptors } = require_symbols11();
+    var { parseOrigin } = require_util24();
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
+    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
+    var kIndex = /* @__PURE__ */ Symbol("kIndex");
+    var kWeight = /* @__PURE__ */ Symbol("kWeight");
+    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
+    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
+    function getGreatestCommonDivisor(a, b) {
+      if (b === 0) return a;
+      return getGreatestCommonDivisor(b, a % b);
+    }
+    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];
         }
-        const pv = p.relativePosix();
-        return pv + (!pv || !p.parent ? "" : "/") + name;
-      }
-      /**
-       * The fully resolved path string for this Path entry
-       */
-      fullpath() {
-        if (this.#fullpath !== void 0) {
-          return this.#fullpath;
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
         }
-        const name = this.name;
-        const p = this.parent;
-        if (!p) {
-          return this.#fullpath = this.name;
+        this[kInterceptors] = opts.interceptors && opts.interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : [];
+        this[kFactory] = factory;
+        for (const upstream of upstreams) {
+          this.addUpstream(upstream);
         }
-        const pv = p.fullpath();
-        const fp = pv + (!p.parent ? "" : this.sep) + name;
-        return this.#fullpath = fp;
+        this._updateBalancedPoolStats();
       }
-      /**
-       * On platforms other than windows, this is identical to fullpath.
-       *
-       * On windows, this is overridden to return the forward-slash form of the
-       * full UNC path.
-       */
-      fullpathPosix() {
-        if (this.#fullpathPosix !== void 0)
-          return this.#fullpathPosix;
-        if (this.sep === "/")
-          return this.#fullpathPosix = this.fullpath();
-        if (!this.parent) {
-          const p2 = this.fullpath().replace(/\\/g, "/");
-          if (/^[a-z]:\//i.test(p2)) {
-            return this.#fullpathPosix = `//?/${p2}`;
-          } else {
-            return this.#fullpathPosix = p2;
+      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];
         }
-        const p = this.parent;
-        const pfpp = p.fullpathPosix();
-        const fpp = pfpp + (!pfpp || !p.parent ? "" : "/") + this.name;
-        return this.#fullpathPosix = fpp;
-      }
-      /**
-       * Is the Path of an unknown type?
-       *
-       * Note that we might know *something* about it if there has been a previous
-       * filesystem operation, for example that it does not exist, or is not a
-       * link, or whether it has child entries.
-       */
-      isUnknown() {
-        return (this.#type & IFMT) === UNKNOWN;
-      }
-      isType(type2) {
-        return this[`is${type2}`]();
-      }
-      getType() {
-        return this.isUnknown() ? "Unknown" : this.isDirectory() ? "Directory" : this.isFile() ? "File" : this.isSymbolicLink() ? "SymbolicLink" : this.isFIFO() ? "FIFO" : this.isCharacterDevice() ? "CharacterDevice" : this.isBlockDevice() ? "BlockDevice" : (
-          /* c8 ignore start */
-          this.isSocket() ? "Socket" : "Unknown"
-        );
-      }
-      /**
-       * Is the Path a regular file?
-       */
-      isFile() {
-        return (this.#type & IFMT) === IFREG;
-      }
-      /**
-       * Is the Path a directory?
-       */
-      isDirectory() {
-        return (this.#type & IFMT) === IFDIR;
-      }
-      /**
-       * Is the path a character device?
-       */
-      isCharacterDevice() {
-        return (this.#type & IFMT) === IFCHR;
-      }
-      /**
-       * Is the path a block device?
-       */
-      isBlockDevice() {
-        return (this.#type & IFMT) === IFBLK;
-      }
-      /**
-       * Is the path a FIFO pipe?
-       */
-      isFIFO() {
-        return (this.#type & IFMT) === IFIFO;
-      }
-      /**
-       * Is the path a socket?
-       */
-      isSocket() {
-        return (this.#type & IFMT) === IFSOCK;
+        this._updateBalancedPoolStats();
+        return this;
       }
-      /**
-       * Is the path a symbolic link?
-       */
-      isSymbolicLink() {
-        return (this.#type & IFLNK) === IFLNK;
+      _updateBalancedPoolStats() {
+        this[kGreatestCommonDivisor] = this[kClients].map((p) => p[kWeight]).reduce(getGreatestCommonDivisor, 0);
       }
-      /**
-       * Return the entry if it has been subject of a successful lstat, or
-       * undefined otherwise.
-       *
-       * Does not read the filesystem, so an undefined result *could* simply
-       * mean that we haven't called lstat on it.
-       */
-      lstatCached() {
-        return this.#type & LSTAT_CALLED ? this : void 0;
+      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;
       }
-      /**
-       * Return the cached link target if the entry has been the subject of a
-       * successful readlink, or undefined otherwise.
-       *
-       * Does not read the filesystem, so an undefined result *could* just mean we
-       * don't have any cached data. Only use it if you are very sure that a
-       * readlink() has been called at some point.
-       */
-      readlinkCached() {
-        return this.#linkTarget;
+      get upstreams() {
+        return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin);
       }
-      /**
-       * Returns the cached realpath target if the entry has been the subject
-       * of a successful realpath, or undefined otherwise.
-       *
-       * Does not read the filesystem, so an undefined result *could* just mean we
-       * don't have any cached data. Only use it if you are very sure that a
-       * realpath() has been called at some point.
-       */
-      realpathCached() {
-        return this.#realpath;
+      [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];
       }
-      /**
-       * Returns the cached child Path entries array if the entry has been the
-       * subject of a successful readdir(), or [] otherwise.
-       *
-       * Does not read the filesystem, so an empty array *could* just mean we
-       * don't have any cached data. Only use it if you are very sure that a
-       * readdir() has been called recently enough to still be valid.
-       */
-      readdirCached() {
-        const children = this.children();
-        return children.slice(0, children.provisional);
+    };
+    module2.exports = BalancedPool;
+  }
+});
+
+// node_modules/undici/lib/compat/dispatcher-weakref.js
+var require_dispatcher_weakref3 = __commonJS({
+  "node_modules/undici/lib/compat/dispatcher-weakref.js"(exports2, module2) {
+    "use strict";
+    var { kConnected, kSize } = require_symbols11();
+    var CompatWeakRef = class {
+      constructor(value) {
+        this.value = value;
       }
-      /**
-       * Return true if it's worth trying to readlink.  Ie, we don't (yet) have
-       * any indication that readlink will definitely fail.
-       *
-       * Returns false if the path is known to not be a symlink, if a previous
-       * readlink failed, or if the entry does not exist.
-       */
-      canReadlink() {
-        if (this.#linkTarget)
-          return true;
-        if (!this.parent)
-          return false;
-        const ifmt = this.#type & IFMT;
-        return !(ifmt !== UNKNOWN && ifmt !== IFLNK || this.#type & ENOREADLINK || this.#type & ENOENT);
+      deref() {
+        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
       }
-      /**
-       * Return true if readdir has previously been successfully called on this
-       * path, indicating that cachedReaddir() is likely valid.
-       */
-      calledReaddir() {
-        return !!(this.#type & READDIR_CALLED);
+    };
+    var CompatFinalizer = class {
+      constructor(finalizer) {
+        this.finalizer = finalizer;
       }
-      /**
-       * Returns true if the path is known to not exist. That is, a previous lstat
-       * or readdir failed to verify its existence when that would have been
-       * expected, or a parent entry was marked either enoent or enotdir.
-       */
-      isENOENT() {
-        return !!(this.#type & ENOENT);
+      register(dispatcher, key) {
+        if (dispatcher.on) {
+          dispatcher.on("disconnect", () => {
+            if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {
+              this.finalizer(key);
+            }
+          });
+        }
       }
-      /**
-       * Return true if the path is a match for the given path name.  This handles
-       * case sensitivity and unicode normalization.
-       *
-       * Note: even on case-sensitive systems, it is **not** safe to test the
-       * equality of the `.name` property to determine whether a given pathname
-       * matches, due to unicode normalization mismatches.
-       *
-       * Always use this method instead of testing the `path.name` property
-       * directly.
-       */
-      isNamed(n) {
-        return !this.nocase ? this.#matchName === normalize2(n) : this.#matchName === normalizeNocase(n);
+    };
+    module2.exports = function() {
+      if (process.env.NODE_V8_COVERAGE) {
+        return {
+          WeakRef: CompatWeakRef,
+          FinalizationRegistry: CompatFinalizer
+        };
       }
-      /**
-       * Return the Path object corresponding to the target of a symbolic link.
-       *
-       * If the Path is not a symbolic link, or if the readlink call fails for any
-       * reason, `undefined` is returned.
-       *
-       * Result is cached, and thus may be outdated if the filesystem is mutated.
-       */
-      async readlink() {
-        const target = this.#linkTarget;
-        if (target) {
-          return target;
+      return {
+        WeakRef: global.WeakRef || CompatWeakRef,
+        FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer
+      };
+    };
+  }
+});
+
+// node_modules/undici/lib/agent.js
+var require_agent3 = __commonJS({
+  "node_modules/undici/lib/agent.js"(exports2, module2) {
+    "use strict";
+    var { InvalidArgumentError } = require_errors6();
+    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols11();
+    var DispatcherBase = require_dispatcher_base3();
+    var Pool = require_pool3();
+    var Client = require_client3();
+    var util = require_util24();
+    var createRedirectInterceptor = require_redirectInterceptor();
+    var { WeakRef: WeakRef2, FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref3()();
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kFinalizer = /* @__PURE__ */ Symbol("finalizer");
+    var kOptions = /* @__PURE__ */ 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 (!this.canReadlink()) {
-          return void 0;
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
         }
-        if (!this.parent) {
-          return void 0;
+        if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
         }
-        try {
-          const read = await this.#fs.promises.readlink(this.fullpath());
-          const linkTarget = (await this.parent.realpath())?.resolve(read);
-          if (linkTarget) {
-            return this.#linkTarget = linkTarget;
-          }
-        } catch (er) {
-          this.#readlinkFail(er.code);
-          return void 0;
+        if (connect && typeof connect !== "function") {
+          connect = { ...connect };
         }
+        this[kInterceptors] = options.interceptors && options.interceptors.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
+        this[kOptions] = { ...util.deepClone(options), connect };
+        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
+        this[kMaxRedirections] = maxRedirections;
+        this[kFactory] = factory;
+        this[kClients] = /* @__PURE__ */ new Map();
+        this[kFinalizer] = new FinalizationRegistry2(
+          /* istanbul ignore next: gc is undeterministic */
+          (key) => {
+            const ref = this[kClients].get(key);
+            if (ref !== void 0 && ref.deref() === void 0) {
+              this[kClients].delete(key);
+            }
+          }
+        );
+        const agent = this;
+        this[kOnDrain] = (origin, targets) => {
+          agent.emit("drain", origin, [agent, ...targets]);
+        };
+        this[kOnConnect] = (origin, targets) => {
+          agent.emit("connect", origin, [agent, ...targets]);
+        };
+        this[kOnDisconnect] = (origin, targets, err) => {
+          agent.emit("disconnect", origin, [agent, ...targets], err);
+        };
+        this[kOnConnectionError] = (origin, targets, err) => {
+          agent.emit("connectionError", origin, [agent, ...targets], err);
+        };
       }
-      /**
-       * Synchronous {@link PathBase.readlink}
-       */
-      readlinkSync() {
-        const target = this.#linkTarget;
-        if (target) {
-          return target;
+      get [kRunning]() {
+        let ret = 0;
+        for (const ref of this[kClients].values()) {
+          const client = ref.deref();
+          if (client) {
+            ret += client[kRunning];
+          }
         }
-        if (!this.canReadlink()) {
-          return void 0;
+        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.");
         }
-        if (!this.parent) {
-          return void 0;
+        const ref = this[kClients].get(key);
+        let dispatcher = ref ? ref.deref() : null;
+        if (!dispatcher) {
+          dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
+          this[kClients].set(key, new WeakRef2(dispatcher));
+          this[kFinalizer].register(dispatcher, key);
         }
-        try {
-          const read = this.#fs.readlinkSync(this.fullpath());
-          const linkTarget = this.parent.realpathSync()?.resolve(read);
-          if (linkTarget) {
-            return this.#linkTarget = linkTarget;
+        return dispatcher.dispatch(opts, handler2);
+      }
+      async [kClose]() {
+        const closePromises = [];
+        for (const ref of this[kClients].values()) {
+          const client = ref.deref();
+          if (client) {
+            closePromises.push(client.close());
           }
-        } catch (er) {
-          this.#readlinkFail(er.code);
-          return void 0;
         }
+        await Promise.all(closePromises);
       }
-      #readdirSuccess(children) {
-        this.#type |= READDIR_CALLED;
-        for (let p = children.provisional; p < children.length; p++) {
-          const c = children[p];
-          if (c)
-            c.#markENOENT();
+      async [kDestroy](err) {
+        const destroyPromises = [];
+        for (const ref of this[kClients].values()) {
+          const client = ref.deref();
+          if (client) {
+            destroyPromises.push(client.destroy(err));
+          }
         }
+        await Promise.all(destroyPromises);
       }
-      #markENOENT() {
-        if (this.#type & ENOENT)
-          return;
-        this.#type = (this.#type | ENOENT) & IFMT_UNKNOWN;
-        this.#markChildrenENOENT();
+    };
+    module2.exports = Agent;
+  }
+});
+
+// node_modules/undici/lib/api/readable.js
+var require_readable5 = __commonJS({
+  "node_modules/undici/lib/api/readable.js"(exports2, module2) {
+    "use strict";
+    var assert = require("assert");
+    var { Readable } = require("stream");
+    var { RequestAbortedError, NotSupportedError, InvalidArgumentError } = require_errors6();
+    var util = require_util24();
+    var { ReadableStreamFrom, toUSVString } = require_util24();
+    var Blob2;
+    var kConsume = /* @__PURE__ */ Symbol("kConsume");
+    var kReading = /* @__PURE__ */ Symbol("kReading");
+    var kBody = /* @__PURE__ */ Symbol("kBody");
+    var kAbort = /* @__PURE__ */ Symbol("abort");
+    var kContentType = /* @__PURE__ */ Symbol("kContentType");
+    var noop3 = () => {
+    };
+    module2.exports = class BodyReadable extends Readable {
+      constructor({
+        resume,
+        abort,
+        contentType = "",
+        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[kReading] = false;
       }
-      #markChildrenENOENT() {
-        const children = this.children();
-        children.provisional = 0;
-        for (const p of children) {
-          p.#markENOENT();
+      destroy(err) {
+        if (this.destroyed) {
+          return this;
         }
-      }
-      #markENOREALPATH() {
-        this.#type |= ENOREALPATH;
-        this.#markENOTDIR();
-      }
-      // save the information when we know the entry is not a dir
-      #markENOTDIR() {
-        if (this.#type & ENOTDIR)
-          return;
-        let t = this.#type;
-        if ((t & IFMT) === IFDIR)
-          t &= IFMT_UNKNOWN;
-        this.#type = t | ENOTDIR;
-        this.#markChildrenENOENT();
-      }
-      #readdirFail(code = "") {
-        if (code === "ENOTDIR" || code === "EPERM") {
-          this.#markENOTDIR();
-        } else if (code === "ENOENT") {
-          this.#markENOENT();
-        } else {
-          this.children().provisional = 0;
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
+        }
+        if (err) {
+          this[kAbort]();
         }
+        return super.destroy(err);
       }
-      #lstatFail(code = "") {
-        if (code === "ENOTDIR") {
-          const p = this.parent;
-          p.#markENOTDIR();
-        } else if (code === "ENOENT") {
-          this.#markENOENT();
+      emit(ev, ...args) {
+        if (ev === "data") {
+          this._readableState.dataEmitted = true;
+        } else if (ev === "error") {
+          this._readableState.errorEmitted = true;
         }
+        return super.emit(ev, ...args);
       }
-      #readlinkFail(code = "") {
-        let ter = this.#type;
-        ter |= ENOREADLINK;
-        if (code === "ENOENT")
-          ter |= ENOENT;
-        if (code === "EINVAL" || code === "UNKNOWN") {
-          ter &= IFMT_UNKNOWN;
-        }
-        this.#type = ter;
-        if (code === "ENOTDIR" && this.parent) {
-          this.parent.#markENOTDIR();
+      on(ev, ...args) {
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = true;
         }
+        return super.on(ev, ...args);
       }
-      #readdirAddChild(e, c) {
-        return this.#readdirMaybePromoteChild(e, c) || this.#readdirAddNewChild(e, c);
+      addListener(ev, ...args) {
+        return this.on(ev, ...args);
       }
-      #readdirAddNewChild(e, c) {
-        const type2 = entToType(e);
-        const child = this.newChild(e.name, type2, { parent: this });
-        const ifmt = child.#type & IFMT;
-        if (ifmt !== IFDIR && ifmt !== IFLNK && ifmt !== UNKNOWN) {
-          child.#type |= ENOTDIR;
+      off(ev, ...args) {
+        const ret = super.off(ev, ...args);
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0;
         }
-        c.unshift(child);
-        c.provisional++;
-        return child;
+        return ret;
       }
-      #readdirMaybePromoteChild(e, c) {
-        for (let p = c.provisional; p < c.length; p++) {
-          const pchild = c[p];
-          const name = this.nocase ? normalizeNocase(e.name) : normalize2(e.name);
-          if (name !== pchild.#matchName) {
-            continue;
-          }
-          return this.#readdirPromoteChild(e, pchild, p, c);
-        }
+      removeListener(ev, ...args) {
+        return this.off(ev, ...args);
       }
-      #readdirPromoteChild(e, p, index, c) {
-        const v = p.name;
-        p.#type = p.#type & IFMT_UNKNOWN | entToType(e);
-        if (v !== e.name)
-          p.name = e.name;
-        if (index !== c.provisional) {
-          if (index === c.length - 1)
-            c.pop();
-          else
-            c.splice(index, 1);
-          c.unshift(p);
+      push(chunk) {
+        if (this[kConsume] && chunk !== null && this.readableLength === 0) {
+          consumePush(this[kConsume], chunk);
+          return this[kReading] ? super.push(chunk) : true;
         }
-        c.provisional++;
-        return p;
+        return super.push(chunk);
       }
-      /**
-       * Call lstat() on this Path, and update all known information that can be
-       * determined.
-       *
-       * Note that unlike `fs.lstat()`, the returned value does not contain some
-       * information, such as `mode`, `dev`, `nlink`, and `ino`.  If that
-       * information is required, you will need to call `fs.lstat` yourself.
-       *
-       * If the Path refers to a nonexistent file, or if the lstat call fails for
-       * any reason, `undefined` is returned.  Otherwise the updated Path object is
-       * returned.
-       *
-       * Results are cached, and thus may be out of date if the filesystem is
-       * mutated.
-       */
-      async lstat() {
-        if ((this.#type & ENOENT) === 0) {
-          try {
-            this.#applyStat(await this.#fs.promises.lstat(this.fullpath()));
-            return this;
-          } catch (er) {
-            this.#lstatFail(er.code);
-          }
-        }
+      // https://fetch.spec.whatwg.org/#dom-body-text
+      async text() {
+        return consume(this, "text");
       }
-      /**
-       * synchronous {@link PathBase.lstat}
-       */
-      lstatSync() {
-        if ((this.#type & ENOENT) === 0) {
-          try {
-            this.#applyStat(this.#fs.lstatSync(this.fullpath()));
-            return this;
-          } catch (er) {
-            this.#lstatFail(er.code);
-          }
-        }
+      // https://fetch.spec.whatwg.org/#dom-body-json
+      async json() {
+        return consume(this, "json");
       }
-      #applyStat(st) {
-        const { atime, atimeMs, birthtime, birthtimeMs, blksize, blocks, ctime, ctimeMs, dev, gid, ino, mode, mtime, mtimeMs, nlink, rdev, size, uid } = st;
-        this.#atime = atime;
-        this.#atimeMs = atimeMs;
-        this.#birthtime = birthtime;
-        this.#birthtimeMs = birthtimeMs;
-        this.#blksize = blksize;
-        this.#blocks = blocks;
-        this.#ctime = ctime;
-        this.#ctimeMs = ctimeMs;
-        this.#dev = dev;
-        this.#gid = gid;
-        this.#ino = ino;
-        this.#mode = mode;
-        this.#mtime = mtime;
-        this.#mtimeMs = mtimeMs;
-        this.#nlink = nlink;
-        this.#rdev = rdev;
-        this.#size = size;
-        this.#uid = uid;
-        const ifmt = entToType(st);
-        this.#type = this.#type & IFMT_UNKNOWN | ifmt | LSTAT_CALLED;
-        if (ifmt !== UNKNOWN && ifmt !== IFDIR && ifmt !== IFLNK) {
-          this.#type |= ENOTDIR;
-        }
+      // https://fetch.spec.whatwg.org/#dom-body-blob
+      async blob() {
+        return consume(this, "blob");
       }
-      #onReaddirCB = [];
-      #readdirCBInFlight = false;
-      #callOnReaddirCB(children) {
-        this.#readdirCBInFlight = false;
-        const cbs = this.#onReaddirCB.slice();
-        this.#onReaddirCB.length = 0;
-        cbs.forEach((cb) => cb(null, children));
+      // https://fetch.spec.whatwg.org/#dom-body-arraybuffer
+      async arrayBuffer() {
+        return consume(this, "arrayBuffer");
       }
-      /**
-       * Standard node-style callback interface to get list of directory entries.
-       *
-       * If the Path cannot or does not contain any children, then an empty array
-       * is returned.
-       *
-       * Results are cached, and thus may be out of date if the filesystem is
-       * mutated.
-       *
-       * @param cb The callback called with (er, entries).  Note that the `er`
-       * param is somewhat extraneous, as all readdir() errors are handled and
-       * simply result in an empty set of entries being returned.
-       * @param allowZalgo Boolean indicating that immediately known results should
-       * *not* be deferred with `queueMicrotask`. Defaults to `false`. Release
-       * zalgo at your peril, the dark pony lord is devious and unforgiving.
-       */
-      readdirCB(cb, allowZalgo = false) {
-        if (!this.canReaddir()) {
-          if (allowZalgo)
-            cb(null, []);
-          else
-            queueMicrotask(() => cb(null, []));
-          return;
-        }
-        const children = this.children();
-        if (this.calledReaddir()) {
-          const c = children.slice(0, children.provisional);
-          if (allowZalgo)
-            cb(null, c);
-          else
-            queueMicrotask(() => cb(null, c));
-          return;
-        }
-        this.#onReaddirCB.push(cb);
-        if (this.#readdirCBInFlight) {
-          return;
-        }
-        this.#readdirCBInFlight = true;
-        const fullpath = this.fullpath();
-        this.#fs.readdir(fullpath, { withFileTypes: true }, (er, entries) => {
-          if (er) {
-            this.#readdirFail(er.code);
-            children.provisional = 0;
-          } else {
-            for (const e of entries) {
-              this.#readdirAddChild(e, children);
-            }
-            this.#readdirSuccess(children);
-          }
-          this.#callOnReaddirCB(children.slice(0, children.provisional));
-          return;
-        });
+      // https://fetch.spec.whatwg.org/#dom-body-formdata
+      async formData() {
+        throw new NotSupportedError();
       }
-      #asyncReaddirInFlight;
-      /**
-       * Return an array of known child entries.
-       *
-       * If the Path cannot or does not contain any children, then an empty array
-       * is returned.
-       *
-       * Results are cached, and thus may be out of date if the filesystem is
-       * mutated.
-       */
-      async readdir() {
-        if (!this.canReaddir()) {
-          return [];
-        }
-        const children = this.children();
-        if (this.calledReaddir()) {
-          return children.slice(0, children.provisional);
+      // 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);
+          }
         }
-        const fullpath = this.fullpath();
-        if (this.#asyncReaddirInFlight) {
-          await this.#asyncReaddirInFlight;
-        } else {
-          let resolve3 = () => {
-          };
-          this.#asyncReaddirInFlight = new Promise((res) => resolve3 = res);
+        return this[kBody];
+      }
+      dump(opts) {
+        let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144;
+        const signal = opts && opts.signal;
+        if (signal) {
           try {
-            for (const e of await this.#fs.promises.readdir(fullpath, {
-              withFileTypes: true
-            })) {
-              this.#readdirAddChild(e, children);
+            if (typeof signal !== "object" || !("aborted" in signal)) {
+              throw new InvalidArgumentError("signal must be an AbortSignal");
             }
-            this.#readdirSuccess(children);
-          } catch (er) {
-            this.#readdirFail(er.code);
-            children.provisional = 0;
+            util.throwIfAborted(signal);
+          } catch (err) {
+            return Promise.reject(err);
           }
-          this.#asyncReaddirInFlight = void 0;
-          resolve3();
-        }
-        return children.slice(0, children.provisional);
-      }
-      /**
-       * synchronous {@link PathBase.readdir}
-       */
-      readdirSync() {
-        if (!this.canReaddir()) {
-          return [];
         }
-        const children = this.children();
-        if (this.calledReaddir()) {
-          return children.slice(0, children.provisional);
+        if (this.closed) {
+          return Promise.resolve(null);
         }
-        const fullpath = this.fullpath();
-        try {
-          for (const e of this.#fs.readdirSync(fullpath, {
-            withFileTypes: true
-          })) {
-            this.#readdirAddChild(e, children);
+        return new Promise((resolve3, reject) => {
+          const signalListenerCleanup = signal ? util.addAbortListener(signal, () => {
+            this.destroy();
+          }) : noop3;
+          this.on("close", function() {
+            signalListenerCleanup();
+            if (signal && signal.aborted) {
+              reject(signal.reason || Object.assign(new Error("The operation was aborted"), { name: "AbortError" }));
+            } else {
+              resolve3(null);
+            }
+          }).on("error", noop3).on("data", function(chunk) {
+            limit -= chunk.length;
+            if (limit <= 0) {
+              this.destroy();
+            }
+          }).resume();
+        });
+      }
+    };
+    function isLocked(self2) {
+      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
+    }
+    function isUnusable(self2) {
+      return util.isDisturbed(self2) || isLocked(self2);
+    }
+    async function consume(stream, type2) {
+      if (isUnusable(stream)) {
+        throw new TypeError("unusable");
+      }
+      assert(!stream[kConsume]);
+      return new Promise((resolve3, reject) => {
+        stream[kConsume] = {
+          type: type2,
+          stream,
+          resolve: resolve3,
+          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());
           }
-          this.#readdirSuccess(children);
-        } catch (er) {
-          this.#readdirFail(er.code);
-          children.provisional = 0;
-        }
-        return children.slice(0, children.provisional);
+        });
+        process.nextTick(consumeStart, stream[kConsume]);
+      });
+    }
+    function consumeStart(consume2) {
+      if (consume2.body === null) {
+        return;
       }
-      canReaddir() {
-        if (this.#type & ENOCHILD)
-          return false;
-        const ifmt = IFMT & this.#type;
-        if (!(ifmt === UNKNOWN || ifmt === IFDIR || ifmt === IFLNK)) {
-          return false;
-        }
-        return true;
+      const { _readableState: state } = consume2.stream;
+      for (const chunk of state.buffer) {
+        consumePush(consume2, chunk);
       }
-      shouldWalk(dirs, walkFilter) {
-        return (this.#type & IFDIR) === IFDIR && !(this.#type & ENOCHILD) && !dirs.has(this) && (!walkFilter || walkFilter(this));
+      if (state.endEmitted) {
+        consumeEnd(this[kConsume]);
+      } else {
+        consume2.stream.on("end", function() {
+          consumeEnd(this[kConsume]);
+        });
       }
-      /**
-       * Return the Path object corresponding to path as resolved
-       * by realpath(3).
-       *
-       * If the realpath call fails for any reason, `undefined` is returned.
-       *
-       * Result is cached, and thus may be outdated if the filesystem is mutated.
-       * On success, returns a Path object.
-       */
-      async realpath() {
-        if (this.#realpath)
-          return this.#realpath;
-        if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type)
-          return void 0;
-        try {
-          const rp = await this.#fs.promises.realpath(this.fullpath());
-          return this.#realpath = this.resolve(rp);
-        } catch (_2) {
-          this.#markENOREALPATH();
-        }
+      consume2.stream.resume();
+      while (consume2.stream.read() != null) {
       }
-      /**
-       * Synchronous {@link realpath}
-       */
-      realpathSync() {
-        if (this.#realpath)
-          return this.#realpath;
-        if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type)
-          return void 0;
-        try {
-          const rp = this.#fs.realpathSync(this.fullpath());
-          return this.#realpath = this.resolve(rp);
-        } catch (_2) {
-          this.#markENOREALPATH();
+    }
+    function consumeEnd(consume2) {
+      const { type: type2, body, resolve: resolve3, stream, length } = consume2;
+      try {
+        if (type2 === "text") {
+          resolve3(toUSVString(Buffer.concat(body)));
+        } else if (type2 === "json") {
+          resolve3(JSON.parse(Buffer.concat(body)));
+        } else if (type2 === "arrayBuffer") {
+          const dst = new Uint8Array(length);
+          let pos = 0;
+          for (const buf of body) {
+            dst.set(buf, pos);
+            pos += buf.byteLength;
+          }
+          resolve3(dst.buffer);
+        } else if (type2 === "blob") {
+          if (!Blob2) {
+            Blob2 = require("buffer").Blob;
+          }
+          resolve3(new Blob2(body, { type: stream[kContentType] }));
         }
+        consumeFinish(consume2);
+      } catch (err) {
+        stream.destroy(err);
       }
-      /**
-       * Internal method to mark this Path object as the scurry cwd,
-       * called by {@link PathScurry#chdir}
-       *
-       * @internal
-       */
-      [setAsCwd](oldCwd) {
-        if (oldCwd === this)
-          return;
-        oldCwd.isCWD = false;
-        this.isCWD = true;
-        const changed = /* @__PURE__ */ new Set([]);
-        let rp = [];
-        let p = this;
-        while (p && p.parent) {
-          changed.add(p);
-          p.#relative = rp.join(this.sep);
-          p.#relativePosix = rp.join("/");
-          p = p.parent;
-          rp.push("..");
-        }
-        p = oldCwd;
-        while (p && p.parent && !changed.has(p)) {
-          p.#relative = void 0;
-          p.#relativePosix = void 0;
-          p = p.parent;
-        }
+    }
+    function consumePush(consume2, chunk) {
+      consume2.length += chunk.length;
+      consume2.body.push(chunk);
+    }
+    function consumeFinish(consume2, err) {
+      if (consume2.body === null) {
+        return;
       }
-    };
-    exports2.PathBase = PathBase;
-    var PathWin32 = class _PathWin32 extends PathBase {
-      /**
-       * Separator for generating path strings.
-       */
-      sep = "\\";
-      /**
-       * Separator for parsing path strings.
-       */
-      splitSep = eitherSep;
-      /**
-       * Do not create new Path objects directly.  They should always be accessed
-       * via the PathScurry class or other methods on the Path class.
-       *
-       * @internal
-       */
-      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
-        super(name, type2, root, roots, nocase, children, opts);
+      if (err) {
+        consume2.reject(err);
+      } else {
+        consume2.resolve();
       }
-      /**
-       * @internal
-       */
-      newChild(name, type2 = UNKNOWN, opts = {}) {
-        return new _PathWin32(name, type2, this.root, this.roots, this.nocase, this.childrenCache(), opts);
+      consume2.type = null;
+      consume2.stream = null;
+      consume2.resolve = null;
+      consume2.reject = null;
+      consume2.length = 0;
+      consume2.body = null;
+    }
+  }
+});
+
+// node_modules/undici/lib/api/util.js
+var require_util26 = __commonJS({
+  "node_modules/undici/lib/api/util.js"(exports2, module2) {
+    var assert = require("assert");
+    var {
+      ResponseStatusCodeError
+    } = require_errors6();
+    var { toUSVString } = require_util24();
+    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
+      assert(body);
+      let chunks = [];
+      let limit = 0;
+      for await (const chunk of body) {
+        chunks.push(chunk);
+        limit += chunk.length;
+        if (limit > 128 * 1024) {
+          chunks = null;
+          break;
+        }
       }
-      /**
-       * @internal
-       */
-      getRootString(path4) {
-        return node_path_1.win32.parse(path4).root;
+      if (statusCode === 204 || !contentType || !chunks) {
+        process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
+        return;
       }
-      /**
-       * @internal
-       */
-      getRoot(rootPath) {
-        rootPath = uncToDrive(rootPath.toUpperCase());
-        if (rootPath === this.root.name) {
-          return this.root;
+      try {
+        if (contentType.startsWith("application/json")) {
+          const payload = JSON.parse(toUSVString(Buffer.concat(chunks)));
+          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
+          return;
         }
-        for (const [compare2, root] of Object.entries(this.roots)) {
-          if (this.sameRoot(rootPath, compare2)) {
-            return this.roots[rootPath] = root;
-          }
+        if (contentType.startsWith("text/")) {
+          const payload = toUSVString(Buffer.concat(chunks));
+          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
+          return;
         }
-        return this.roots[rootPath] = new PathScurryWin32(rootPath, this).root;
+      } catch (err) {
       }
-      /**
-       * @internal
-       */
-      sameRoot(rootPath, compare2 = this.root.name) {
-        rootPath = rootPath.toUpperCase().replace(/\//g, "\\").replace(uncDriveRegexp, "$1\\");
-        return rootPath === compare2;
+      process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
+    }
+    module2.exports = { getResolveErrorBodyCallback };
+  }
+});
+
+// node_modules/undici/lib/api/abort-signal.js
+var require_abort_signal3 = __commonJS({
+  "node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
+    var { addAbortListener } = require_util24();
+    var { RequestAbortedError } = require_errors6();
+    var kListener = /* @__PURE__ */ Symbol("kListener");
+    var kSignal = /* @__PURE__ */ Symbol("kSignal");
+    function abort(self2) {
+      if (self2.abort) {
+        self2.abort();
+      } else {
+        self2.onError(new RequestAbortedError());
       }
-    };
-    exports2.PathWin32 = PathWin32;
-    var PathPosix = class _PathPosix extends PathBase {
-      /**
-       * separator for parsing path strings
-       */
-      splitSep = "/";
-      /**
-       * separator for generating path strings
-       */
-      sep = "/";
-      /**
-       * Do not create new Path objects directly.  They should always be accessed
-       * via the PathScurry class or other methods on the Path class.
-       *
-       * @internal
-       */
-      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
-        super(name, type2, root, roots, nocase, children, opts);
+    }
+    function addSignal(self2, signal) {
+      self2[kSignal] = null;
+      self2[kListener] = null;
+      if (!signal) {
+        return;
       }
-      /**
-       * @internal
-       */
-      getRootString(path4) {
-        return path4.startsWith("/") ? "/" : "";
+      if (signal.aborted) {
+        abort(self2);
+        return;
       }
-      /**
-       * @internal
-       */
-      getRoot(_rootPath) {
-        return this.root;
+      self2[kSignal] = signal;
+      self2[kListener] = () => {
+        abort(self2);
+      };
+      addAbortListener(self2[kSignal], self2[kListener]);
+    }
+    function removeSignal(self2) {
+      if (!self2[kSignal]) {
+        return;
       }
-      /**
-       * @internal
-       */
-      newChild(name, type2 = UNKNOWN, opts = {}) {
-        return new _PathPosix(name, type2, this.root, this.roots, this.nocase, this.childrenCache(), opts);
+      if ("removeEventListener" in self2[kSignal]) {
+        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      } else {
+        self2[kSignal].removeListener("abort", self2[kListener]);
       }
+      self2[kSignal] = null;
+      self2[kListener] = null;
+    }
+    module2.exports = {
+      addSignal,
+      removeSignal
     };
-    exports2.PathPosix = PathPosix;
-    var PathScurryBase = class {
-      /**
-       * The root Path entry for the current working directory of this Scurry
-       */
-      root;
-      /**
-       * The string path for the root of this Scurry's current working directory
-       */
-      rootPath;
-      /**
-       * A collection of all roots encountered, referenced by rootPath
-       */
-      roots;
-      /**
-       * The Path entry corresponding to this PathScurry's current working directory.
-       */
-      cwd;
-      #resolveCache;
-      #resolvePosixCache;
-      #children;
-      /**
-       * Perform path comparisons case-insensitively.
-       *
-       * Defaults true on Darwin and Windows systems, false elsewhere.
-       */
-      nocase;
-      #fs;
-      /**
-       * This class should not be instantiated directly.
-       *
-       * Use PathScurryWin32, PathScurryDarwin, PathScurryPosix, or PathScurry
-       *
-       * @internal
-       */
-      constructor(cwd = process.cwd(), pathImpl, sep3, { nocase, childrenCacheSize = 16 * 1024, fs: fs3 = defaultFS } = {}) {
-        this.#fs = fsFromOption(fs3);
-        if (cwd instanceof URL || cwd.startsWith("file://")) {
-          cwd = (0, node_url_1.fileURLToPath)(cwd);
-        }
-        const cwdPath = pathImpl.resolve(cwd);
-        this.roots = /* @__PURE__ */ Object.create(null);
-        this.rootPath = this.parseRootPath(cwdPath);
-        this.#resolveCache = new ResolveCache();
-        this.#resolvePosixCache = new ResolveCache();
-        this.#children = new ChildrenCache(childrenCacheSize);
-        const split = cwdPath.substring(this.rootPath.length).split(sep3);
-        if (split.length === 1 && !split[0]) {
-          split.pop();
+  }
+});
+
+// node_modules/undici/lib/api/api-request.js
+var require_api_request3 = __commonJS({
+  "node_modules/undici/lib/api/api-request.js"(exports2, module2) {
+    "use strict";
+    var Readable = require_readable5();
+    var {
+      InvalidArgumentError,
+      RequestAbortedError
+    } = require_errors6();
+    var util = require_util24();
+    var { getResolveErrorBodyCallback } = require_util26();
+    var { AsyncResource } = require("async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal3();
+    var RequestHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        if (nocase === void 0) {
-          throw new TypeError("must provide nocase setting to PathScurryBase ctor");
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
+        try {
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
+            throw new InvalidArgumentError("invalid highWaterMark");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
+          }
+          super("UNDICI_REQUEST");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
         }
-        this.nocase = nocase;
-        this.root = this.newRoot(this.#fs);
-        this.roots[this.rootPath] = this.root;
-        let prev = this.root;
-        let len = split.length - 1;
-        const joinSep = pathImpl.sep;
-        let abs = this.rootPath;
-        let sawFirst = false;
-        for (const part of split) {
-          const l = len--;
-          prev = prev.child(part, {
-            relative: new Array(l).fill("..").join(joinSep),
-            relativePosix: new Array(l).fill("..").join("/"),
-            fullpath: abs += (sawFirst ? "" : joinSep) + part
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.body = body;
+        this.trailers = {};
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError;
+        this.highWaterMark = highWaterMark;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
           });
-          sawFirst = true;
         }
-        this.cwd = prev;
+        addSignal(this, signal);
       }
-      /**
-       * Get the depth of a provided path, string, or the cwd
-       */
-      depth(path4 = this.cwd) {
-        if (typeof path4 === "string") {
-          path4 = this.cwd.resolve(path4);
+      onConnect(abort, context2) {
+        if (!this.callback) {
+          throw new RequestAbortedError();
         }
-        return path4.depth();
-      }
-      /**
-       * Return the cache of child entries.  Exposed so subclasses can create
-       * child Path objects in a platform-specific way.
-       *
-       * @internal
-       */
-      childrenCache() {
-        return this.#children;
+        this.abort = abort;
+        this.context = context2;
       }
-      /**
-       * Resolve one or more path strings to a resolved string
-       *
-       * Same interface as require('path').resolve.
-       *
-       * Much faster than path.resolve() when called multiple times for the same
-       * path, because the resolved Path objects are cached.  Much slower
-       * otherwise.
-       */
-      resolve(...paths) {
-        let r = "";
-        for (let i = paths.length - 1; i >= 0; i--) {
-          const p = paths[i];
-          if (!p || p === ".")
-            continue;
-          r = r ? `${p}/${r}` : p;
-          if (this.isAbsolute(p)) {
-            break;
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { callback, opaque, abort, context: context2, 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 cached = this.#resolveCache.get(r);
-        if (cached !== void 0) {
-          return cached;
-        }
-        const result = this.cwd.resolve(r).fullpath();
-        this.#resolveCache.set(r, result);
-        return result;
-      }
-      /**
-       * Resolve one or more path strings to a resolved string, returning
-       * the posix path.  Identical to .resolve() on posix systems, but on
-       * windows will return a forward-slash separated UNC path.
-       *
-       * Same interface as require('path').resolve.
-       *
-       * Much faster than path.resolve() when called multiple times for the same
-       * path, because the resolved Path objects are cached.  Much slower
-       * otherwise.
-       */
-      resolvePosix(...paths) {
-        let r = "";
-        for (let i = paths.length - 1; i >= 0; i--) {
-          const p = paths[i];
-          if (!p || p === ".")
-            continue;
-          r = r ? `${p}/${r}` : p;
-          if (this.isAbsolute(p)) {
-            break;
+        const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
+        const contentType = parsedHeaders["content-type"];
+        const body = new Readable({ resume, abort, contentType, highWaterMark });
+        this.callback = null;
+        this.res = body;
+        if (callback !== null) {
+          if (this.throwOnError && statusCode >= 400) {
+            this.runInAsyncScope(
+              getResolveErrorBodyCallback,
+              null,
+              { callback, body, contentType, statusCode, statusMessage, headers }
+            );
+          } else {
+            this.runInAsyncScope(callback, null, null, {
+              statusCode,
+              headers,
+              trailers: this.trailers,
+              opaque,
+              body,
+              context: context2
+            });
           }
         }
-        const cached = this.#resolvePosixCache.get(r);
-        if (cached !== void 0) {
-          return cached;
-        }
-        const result = this.cwd.resolve(r).fullpathPosix();
-        this.#resolvePosixCache.set(r, result);
-        return result;
       }
-      /**
-       * find the relative path from the cwd to the supplied path string or entry
-       */
-      relative(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        }
-        return entry.relative();
+      onData(chunk) {
+        const { res } = this;
+        return res.push(chunk);
       }
-      /**
-       * find the relative path from the cwd to the supplied path string or
-       * entry, using / as the path delimiter, even on Windows.
-       */
-      relativePosix(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        }
-        return entry.relativePosix();
+      onComplete(trailers) {
+        const { res } = this;
+        removeSignal(this);
+        util.parseHeaders(trailers, this.trailers);
+        res.push(null);
       }
-      /**
-       * Return the basename for the provided string or Path object
-       */
-      basename(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
+      onError(err) {
+        const { res, callback, body, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        return entry.name;
-      }
-      /**
-       * Return the dirname for the provided string or Path object
-       */
-      dirname(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
+        if (res) {
+          this.res = null;
+          queueMicrotask(() => {
+            util.destroy(res, err);
+          });
         }
-        return (entry.parent || entry).fullpath();
-      }
-      async readdir(entry = this.cwd, opts = {
-        withFileTypes: true
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
         }
-        const { withFileTypes } = opts;
-        if (!entry.canReaddir()) {
-          return [];
-        } else {
-          const p = await entry.readdir();
-          return withFileTypes ? p : p.map((e) => e.name);
+      }
+    };
+    function request2(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve3, reject) => {
+          request2.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve3(data);
+          });
+        });
+      }
+      try {
+        this.dispatch(opts, new RequestHandler(opts, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
+        const opaque = opts && opts.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
-      readdirSync(entry = this.cwd, opts = {
-        withFileTypes: true
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
+    }
+    module2.exports = request2;
+    module2.exports.RequestHandler = RequestHandler;
+  }
+});
+
+// node_modules/undici/lib/api/api-stream.js
+var require_api_stream3 = __commonJS({
+  "node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
+    "use strict";
+    var { finished, PassThrough } = require("stream");
+    var {
+      InvalidArgumentError,
+      InvalidReturnValueError,
+      RequestAbortedError
+    } = require_errors6();
+    var util = require_util24();
+    var { getResolveErrorBodyCallback } = require_util26();
+    var { AsyncResource } = require("async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal3();
+    var StreamHandler = class extends AsyncResource {
+      constructor(opts, factory, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        const { withFileTypes = true } = opts;
-        if (!entry.canReaddir()) {
-          return [];
-        } else if (withFileTypes) {
-          return entry.readdirSync();
-        } else {
-          return entry.readdirSync().map((e) => e.name);
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
+        try {
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (typeof factory !== "function") {
+            throw new InvalidArgumentError("invalid factory");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
+          }
+          super("UNDICI_STREAM");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
         }
-      }
-      /**
-       * Call lstat() on the string or Path object, and update all known
-       * information that can be determined.
-       *
-       * Note that unlike `fs.lstat()`, the returned value does not contain some
-       * information, such as `mode`, `dev`, `nlink`, and `ino`.  If that
-       * information is required, you will need to call `fs.lstat` yourself.
-       *
-       * If the Path refers to a nonexistent file, or if the lstat call fails for
-       * any reason, `undefined` is returned.  Otherwise the updated Path object is
-       * returned.
-       *
-       * Results are cached, and thus may be out of date if the filesystem is
-       * mutated.
-       */
-      async lstat(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.factory = factory;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.context = null;
+        this.trailers = null;
+        this.body = body;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError || false;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
         }
-        return entry.lstat();
+        addSignal(this, signal);
       }
-      /**
-       * synchronous {@link PathScurryBase.lstat}
-       */
-      lstatSync(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
+      onConnect(abort, context2) {
+        if (!this.callback) {
+          throw new RequestAbortedError();
         }
-        return entry.lstatSync();
+        this.abort = abort;
+        this.context = context2;
       }
-      async readlink(entry = this.cwd, { withFileTypes } = {
-        withFileTypes: false
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          withFileTypes = entry.withFileTypes;
-          entry = this.cwd;
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { factory, opaque, context: context2, callback, responseHeaders } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
+          }
+          return;
         }
-        const e = await entry.readlink();
-        return withFileTypes ? e : e?.fullpath();
-      }
-      readlinkSync(entry = this.cwd, { withFileTypes } = {
-        withFileTypes: false
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          withFileTypes = entry.withFileTypes;
-          entry = this.cwd;
+        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: context2
+          });
+          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();
+            }
+          });
         }
-        const e = entry.readlinkSync();
-        return withFileTypes ? e : e?.fullpath();
+        res.on("drain", resume);
+        this.res = res;
+        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState && res._writableState.needDrain;
+        return needDrain !== true;
       }
-      async realpath(entry = this.cwd, { withFileTypes } = {
-        withFileTypes: false
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          withFileTypes = entry.withFileTypes;
-          entry = this.cwd;
-        }
-        const e = await entry.realpath();
-        return withFileTypes ? e : e?.fullpath();
+      onData(chunk) {
+        const { res } = this;
+        return res ? res.write(chunk) : true;
       }
-      realpathSync(entry = this.cwd, { withFileTypes } = {
-        withFileTypes: false
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          withFileTypes = entry.withFileTypes;
-          entry = this.cwd;
+      onComplete(trailers) {
+        const { res } = this;
+        removeSignal(this);
+        if (!res) {
+          return;
         }
-        const e = entry.realpathSync();
-        return withFileTypes ? e : e?.fullpath();
+        this.trailers = util.parseHeaders(trailers);
+        res.end();
       }
-      async walk(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
+      onError(err) {
+        const { res, callback, opaque, body } = this;
+        removeSignal(this);
+        this.factory = null;
+        if (res) {
+          this.res = null;
+          util.destroy(res, err);
+        } else if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        const results = [];
-        if (!filter || filter(entry)) {
-          results.push(withFileTypes ? entry : entry.fullpath());
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
         }
-        const dirs = /* @__PURE__ */ new Set();
-        const walk = (dir, cb) => {
-          dirs.add(dir);
-          dir.readdirCB((er, entries) => {
-            if (er) {
-              return cb(er);
-            }
-            let len = entries.length;
-            if (!len)
-              return cb();
-            const next = () => {
-              if (--len === 0) {
-                cb();
-              }
-            };
-            for (const e of entries) {
-              if (!filter || filter(e)) {
-                results.push(withFileTypes ? e : e.fullpath());
-              }
-              if (follow && e.isSymbolicLink()) {
-                e.realpath().then((r) => r?.isUnknown() ? r.lstat() : r).then((r) => r?.shouldWalk(dirs, walkFilter) ? walk(r, next) : next());
-              } else {
-                if (e.shouldWalk(dirs, walkFilter)) {
-                  walk(e, next);
-                } else {
-                  next();
-                }
-              }
-            }
-          }, true);
-        };
-        const start = entry;
-        return new Promise((res, rej) => {
-          walk(start, (er) => {
-            if (er)
-              return rej(er);
-            res(results);
+      }
+    };
+    function stream(opts, factory, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve3, reject) => {
+          stream.call(this, opts, factory, (err, data) => {
+            return err ? reject(err) : resolve3(data);
           });
         });
       }
-      walkSync(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
-        }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        const results = [];
-        if (!filter || filter(entry)) {
-          results.push(withFileTypes ? entry : entry.fullpath());
-        }
-        const dirs = /* @__PURE__ */ new Set([entry]);
-        for (const dir of dirs) {
-          const entries = dir.readdirSync();
-          for (const e of entries) {
-            if (!filter || filter(e)) {
-              results.push(withFileTypes ? e : e.fullpath());
-            }
-            let r = e;
-            if (e.isSymbolicLink()) {
-              if (!(follow && (r = e.realpathSync())))
-                continue;
-              if (r.isUnknown())
-                r.lstatSync();
-            }
-            if (r.shouldWalk(dirs, walkFilter)) {
-              dirs.add(r);
-            }
-          }
+      try {
+        this.dispatch(opts, new StreamHandler(opts, factory, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
-        return results;
+        const opaque = opts && opts.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
-      /**
-       * Support for `for await`
-       *
-       * Alias for {@link PathScurryBase.iterate}
-       *
-       * Note: As of Node 19, this is very slow, compared to other methods of
-       * walking.  Consider using {@link PathScurryBase.stream} if memory overhead
-       * and backpressure are concerns, or {@link PathScurryBase.walk} if not.
-       */
-      [Symbol.asyncIterator]() {
-        return this.iterate();
+    }
+    module2.exports = stream;
+  }
+});
+
+// node_modules/undici/lib/api/api-pipeline.js
+var require_api_pipeline3 = __commonJS({
+  "node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
+    "use strict";
+    var {
+      Readable,
+      Duplex,
+      PassThrough
+    } = require("stream");
+    var {
+      InvalidArgumentError,
+      InvalidReturnValueError,
+      RequestAbortedError
+    } = require_errors6();
+    var util = require_util24();
+    var { AsyncResource } = require("async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal3();
+    var assert = require("assert");
+    var kResume = /* @__PURE__ */ Symbol("resume");
+    var PipelineRequest = class extends Readable {
+      constructor() {
+        super({ autoDestroy: true });
+        this[kResume] = null;
       }
-      iterate(entry = this.cwd, options = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          options = entry;
-          entry = this.cwd;
+      _read() {
+        const { [kResume]: resume } = this;
+        if (resume) {
+          this[kResume] = null;
+          resume();
         }
-        return this.stream(entry, options)[Symbol.asyncIterator]();
       }
-      /**
-       * Iterating over a PathScurry performs a synchronous walk.
-       *
-       * Alias for {@link PathScurryBase.iterateSync}
-       */
-      [Symbol.iterator]() {
-        return this.iterateSync();
+      _destroy(err, callback) {
+        this._read();
+        callback(err);
       }
-      *iterateSync(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
-        }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        if (!filter || filter(entry)) {
-          yield withFileTypes ? entry : entry.fullpath();
-        }
-        const dirs = /* @__PURE__ */ new Set([entry]);
-        for (const dir of dirs) {
-          const entries = dir.readdirSync();
-          for (const e of entries) {
-            if (!filter || filter(e)) {
-              yield withFileTypes ? e : e.fullpath();
-            }
-            let r = e;
-            if (e.isSymbolicLink()) {
-              if (!(follow && (r = e.realpathSync())))
-                continue;
-              if (r.isUnknown())
-                r.lstatSync();
-            }
-            if (r.shouldWalk(dirs, walkFilter)) {
-              dirs.add(r);
-            }
-          }
+    };
+    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);
       }
-      stream(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
+    };
+    var PipelineHandler = class extends AsyncResource {
+      constructor(opts, handler2) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        const results = new minipass_1.Minipass({ objectMode: true });
-        if (!filter || filter(entry)) {
-          results.write(withFileTypes ? entry : entry.fullpath());
+        if (typeof handler2 !== "function") {
+          throw new InvalidArgumentError("invalid handler");
         }
-        const dirs = /* @__PURE__ */ new Set();
-        const queue = [entry];
-        let processing = 0;
-        const process2 = () => {
-          let paused = false;
-          while (!paused) {
-            const dir = queue.shift();
-            if (!dir) {
-              if (processing === 0)
-                results.end();
-              return;
-            }
-            processing++;
-            dirs.add(dir);
-            const onReaddir = (er, entries, didRealpaths = false) => {
-              if (er)
-                return results.emit("error", er);
-              if (follow && !didRealpaths) {
-                const promises = [];
-                for (const e of entries) {
-                  if (e.isSymbolicLink()) {
-                    promises.push(e.realpath().then((r) => r?.isUnknown() ? r.lstat() : r));
-                  }
-                }
-                if (promises.length) {
-                  Promise.all(promises).then(() => onReaddir(null, entries, true));
-                  return;
-                }
-              }
-              for (const e of entries) {
-                if (e && (!filter || filter(e))) {
-                  if (!results.write(withFileTypes ? e : e.fullpath())) {
-                    paused = true;
-                  }
-                }
-              }
-              processing--;
-              for (const e of entries) {
-                const r = e.realpathCached() || e;
-                if (r.shouldWalk(dirs, walkFilter)) {
-                  queue.push(r);
-                }
-              }
-              if (paused && !results.flowing) {
-                results.once("drain", process2);
-              } else if (!sync) {
-                process2();
-              }
-            };
-            let sync = true;
-            dir.readdirCB(onReaddir, true);
-            sync = false;
-          }
-        };
-        process2();
-        return results;
-      }
-      streamSync(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
+        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");
         }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        const results = new minipass_1.Minipass({ objectMode: true });
-        const dirs = /* @__PURE__ */ new Set();
-        if (!filter || filter(entry)) {
-          results.write(withFileTypes ? entry : entry.fullpath());
+        if (method === "CONNECT") {
+          throw new InvalidArgumentError("invalid method");
         }
-        const queue = [entry];
-        let processing = 0;
-        const process2 = () => {
-          let paused = false;
-          while (!paused) {
-            const dir = queue.shift();
-            if (!dir) {
-              if (processing === 0)
-                results.end();
-              return;
-            }
-            processing++;
-            dirs.add(dir);
-            const entries = dir.readdirSync();
-            for (const e of entries) {
-              if (!filter || filter(e)) {
-                if (!results.write(withFileTypes ? e : e.fullpath())) {
-                  paused = true;
-                }
-              }
+        if (onInfo && typeof onInfo !== "function") {
+          throw new InvalidArgumentError("invalid onInfo callback");
+        }
+        super("UNDICI_PIPELINE");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.handler = handler2;
+        this.abort = null;
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.req = new PipelineRequest().on("error", util.nop);
+        this.ret = new Duplex({
+          readableObjectMode: opts.objectMode,
+          autoDestroy: true,
+          read: () => {
+            const { body } = this;
+            if (body && body.resume) {
+              body.resume();
             }
-            processing--;
-            for (const e of entries) {
-              let r = e;
-              if (e.isSymbolicLink()) {
-                if (!(follow && (r = e.realpathSync())))
-                  continue;
-                if (r.isUnknown())
-                  r.lstatSync();
-              }
-              if (r.shouldWalk(dirs, walkFilter)) {
-                queue.push(r);
-              }
+          },
+          write: (chunk, encoding, callback) => {
+            const { req } = this;
+            if (req.push(chunk, encoding) || req._readableState.destroyed) {
+              callback();
+            } else {
+              req[kResume] = callback;
             }
-          }
-          if (paused && !results.flowing)
-            results.once("drain", process2);
-        };
-        process2();
-        return results;
-      }
-      chdir(path4 = this.cwd) {
-        const oldCwd = this.cwd;
-        this.cwd = typeof path4 === "string" ? this.cwd.resolve(path4) : path4;
-        this.cwd[setAsCwd](oldCwd);
-      }
-    };
-    exports2.PathScurryBase = PathScurryBase;
-    var PathScurryWin32 = class extends PathScurryBase {
-      /**
-       * separator for generating path strings
-       */
-      sep = "\\";
-      constructor(cwd = process.cwd(), opts = {}) {
-        const { nocase = true } = opts;
-        super(cwd, node_path_1.win32, "\\", { ...opts, nocase });
-        this.nocase = nocase;
-        for (let p = this.cwd; p; p = p.parent) {
-          p.nocase = this.nocase;
-        }
-      }
-      /**
-       * @internal
-       */
-      parseRootPath(dir) {
-        return node_path_1.win32.parse(dir).root.toUpperCase();
-      }
-      /**
-       * @internal
-       */
-      newRoot(fs3) {
-        return new PathWin32(this.rootPath, IFDIR, void 0, this.roots, this.nocase, this.childrenCache(), { fs: fs3 });
+          },
+          destroy: (err, callback) => {
+            const { body, req, res, ret, abort } = this;
+            if (!err && !ret._readableState.endEmitted) {
+              err = new RequestAbortedError();
+            }
+            if (abort && err) {
+              abort();
+            }
+            util.destroy(body, err);
+            util.destroy(req, err);
+            util.destroy(res, err);
+            removeSignal(this);
+            callback(err);
+          }
+        }).on("prefinish", () => {
+          const { req } = this;
+          req.push(null);
+        });
+        this.res = null;
+        addSignal(this, signal);
       }
-      /**
-       * Return true if the provided path string is an absolute path
-       */
-      isAbsolute(p) {
-        return p.startsWith("/") || p.startsWith("\\") || /^[a-z]:(\/|\\)/i.test(p);
+      onConnect(abort, context2) {
+        const { ret, res } = this;
+        assert(!res, "pipeline cannot be retried");
+        if (ret.destroyed) {
+          throw new RequestAbortedError();
+        }
+        this.abort = abort;
+        this.context = context2;
       }
-    };
-    exports2.PathScurryWin32 = PathScurryWin32;
-    var PathScurryPosix = class extends PathScurryBase {
-      /**
-       * separator for generating path strings
-       */
-      sep = "/";
-      constructor(cwd = process.cwd(), opts = {}) {
-        const { nocase = false } = opts;
-        super(cwd, node_path_1.posix, "/", { ...opts, nocase });
-        this.nocase = nocase;
+      onHeaders(statusCode, rawHeaders, resume) {
+        const { opaque, handler: handler2, context: context2 } = this;
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+            this.onInfo({ statusCode, headers });
+          }
+          return;
+        }
+        this.res = new PipelineResponse(resume);
+        let body;
+        try {
+          this.handler = null;
+          const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+          body = this.runInAsyncScope(handler2, null, {
+            statusCode,
+            headers,
+            opaque,
+            body: this.res,
+            context: context2
+          });
+        } catch (err) {
+          this.res.on("error", util.nop);
+          throw err;
+        }
+        if (!body || typeof body.on !== "function") {
+          throw new InvalidReturnValueError("expected Readable");
+        }
+        body.on("data", (chunk) => {
+          const { ret, body: body2 } = this;
+          if (!ret.push(chunk) && body2.pause) {
+            body2.pause();
+          }
+        }).on("error", (err) => {
+          const { ret } = this;
+          util.destroy(ret, err);
+        }).on("end", () => {
+          const { ret } = this;
+          ret.push(null);
+        }).on("close", () => {
+          const { ret } = this;
+          if (!ret._readableState.ended) {
+            util.destroy(ret, new RequestAbortedError());
+          }
+        });
+        this.body = body;
       }
-      /**
-       * @internal
-       */
-      parseRootPath(_dir) {
-        return "/";
+      onData(chunk) {
+        const { res } = this;
+        return res.push(chunk);
       }
-      /**
-       * @internal
-       */
-      newRoot(fs3) {
-        return new PathPosix(this.rootPath, IFDIR, void 0, this.roots, this.nocase, this.childrenCache(), { fs: fs3 });
+      onComplete(trailers) {
+        const { res } = this;
+        res.push(null);
       }
-      /**
-       * Return true if the provided path string is an absolute path
-       */
-      isAbsolute(p) {
-        return p.startsWith("/");
+      onError(err) {
+        const { ret } = this;
+        this.handler = null;
+        util.destroy(ret, err);
       }
     };
-    exports2.PathScurryPosix = PathScurryPosix;
-    var PathScurryDarwin = class extends PathScurryPosix {
-      constructor(cwd = process.cwd(), opts = {}) {
-        const { nocase = true } = opts;
-        super(cwd, { ...opts, nocase });
+    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);
       }
-    };
-    exports2.PathScurryDarwin = PathScurryDarwin;
-    exports2.Path = process.platform === "win32" ? PathWin32 : PathPosix;
-    exports2.PathScurry = process.platform === "win32" ? PathScurryWin32 : process.platform === "darwin" ? PathScurryDarwin : PathScurryPosix;
+    }
+    module2.exports = pipeline;
   }
 });
 
-// node_modules/glob/dist/commonjs/pattern.js
-var require_pattern = __commonJS({
-  "node_modules/glob/dist/commonjs/pattern.js"(exports2) {
+// node_modules/undici/lib/api/api-upgrade.js
+var require_api_upgrade3 = __commonJS({
+  "node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Pattern = void 0;
-    var minimatch_1 = require_commonjs20();
-    var isPatternList = (pl) => pl.length >= 1;
-    var isGlobList = (gl) => gl.length >= 1;
-    var Pattern = class _Pattern {
-      #patternList;
-      #globList;
-      #index;
-      length;
-      #platform;
-      #rest;
-      #globString;
-      #isDrive;
-      #isUNC;
-      #isAbsolute;
-      #followGlobstar = true;
-      constructor(patternList, globList, index, platform) {
-        if (!isPatternList(patternList)) {
-          throw new TypeError("empty pattern list");
-        }
-        if (!isGlobList(globList)) {
-          throw new TypeError("empty glob list");
+    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors6();
+    var { AsyncResource } = require("async_hooks");
+    var util = require_util24();
+    var { addSignal, removeSignal } = require_abort_signal3();
+    var assert = require("assert");
+    var UpgradeHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        if (globList.length !== patternList.length) {
-          throw new TypeError("mismatched pattern list and glob list lengths");
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
         }
-        this.length = patternList.length;
-        if (index < 0 || index >= this.length) {
-          throw new TypeError("index out of range");
+        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");
         }
-        this.#patternList = patternList;
-        this.#globList = globList;
-        this.#index = index;
-        this.#platform = platform;
-        if (this.#index === 0) {
-          if (this.isUNC()) {
-            const [p0, p1, p2, p3, ...prest] = this.#patternList;
-            const [g0, g1, g2, g3, ...grest] = this.#globList;
-            if (prest[0] === "") {
-              prest.shift();
-              grest.shift();
-            }
-            const p = [p0, p1, p2, p3, ""].join("/");
-            const g = [g0, g1, g2, g3, ""].join("/");
-            this.#patternList = [p, ...prest];
-            this.#globList = [g, ...grest];
-            this.length = this.#patternList.length;
-          } else if (this.isDrive() || this.isAbsolute()) {
-            const [p1, ...prest] = this.#patternList;
-            const [g1, ...grest] = this.#globList;
-            if (prest[0] === "") {
-              prest.shift();
-              grest.shift();
-            }
-            const p = p1 + "/";
-            const g = g1 + "/";
-            this.#patternList = [p, ...prest];
-            this.#globList = [g, ...grest];
-            this.length = this.#patternList.length;
-          }
+        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, context2) {
+        if (!this.callback) {
+          throw new RequestAbortedError();
         }
+        this.abort = abort;
+        this.context = null;
       }
-      /**
-       * The first entry in the parsed list of patterns
-       */
-      pattern() {
-        return this.#patternList[this.#index];
+      onHeaders() {
+        throw new SocketError("bad upgrade", null);
       }
-      /**
-       * true of if pattern() returns a string
-       */
-      isString() {
-        return typeof this.#patternList[this.#index] === "string";
+      onUpgrade(statusCode, rawHeaders, socket) {
+        const { callback, opaque, context: context2 } = this;
+        assert.strictEqual(statusCode, 101);
+        removeSignal(this);
+        this.callback = null;
+        const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        this.runInAsyncScope(callback, null, null, {
+          headers,
+          socket,
+          opaque,
+          context: context2
+        });
       }
-      /**
-       * true of if pattern() returns GLOBSTAR
-       */
-      isGlobstar() {
-        return this.#patternList[this.#index] === minimatch_1.GLOBSTAR;
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
+        }
       }
-      /**
-       * true if pattern() returns a regexp
-       */
-      isRegExp() {
-        return this.#patternList[this.#index] instanceof RegExp;
+    };
+    function upgrade(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve3, reject) => {
+          upgrade.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve3(data);
+          });
+        });
       }
-      /**
-       * The /-joined set of glob parts that make up this pattern
-       */
-      globString() {
-        return this.#globString = this.#globString || (this.#index === 0 ? this.isAbsolute() ? this.#globList[0] + this.#globList.slice(1).join("/") : this.#globList.join("/") : this.#globList.slice(this.#index).join("/"));
+      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 && opts.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
-      /**
-       * true if there are more pattern parts after this one
-       */
-      hasMore() {
-        return this.length > this.#index + 1;
+    }
+    module2.exports = upgrade;
+  }
+});
+
+// node_modules/undici/lib/api/api-connect.js
+var require_api_connect3 = __commonJS({
+  "node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
+    "use strict";
+    var { AsyncResource } = require("async_hooks");
+    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors6();
+    var util = require_util24();
+    var { addSignal, removeSignal } = require_abort_signal3();
+    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);
       }
-      /**
-       * The rest of the pattern after this part, or null if this is the end
-       */
-      rest() {
-        if (this.#rest !== void 0)
-          return this.#rest;
-        if (!this.hasMore())
-          return this.#rest = null;
-        this.#rest = new _Pattern(this.#patternList, this.#globList, this.#index + 1, this.#platform);
-        this.#rest.#isAbsolute = this.#isAbsolute;
-        this.#rest.#isUNC = this.#isUNC;
-        this.#rest.#isDrive = this.#isDrive;
-        return this.#rest;
+      onConnect(abort, context2) {
+        if (!this.callback) {
+          throw new RequestAbortedError();
+        }
+        this.abort = abort;
+        this.context = context2;
       }
-      /**
-       * true if the pattern represents a //unc/path/ on windows
-       */
-      isUNC() {
-        const pl = this.#patternList;
-        return this.#isUNC !== void 0 ? this.#isUNC : this.#isUNC = this.#platform === "win32" && this.#index === 0 && pl[0] === "" && pl[1] === "" && typeof pl[2] === "string" && !!pl[2] && typeof pl[3] === "string" && !!pl[3];
+      onHeaders() {
+        throw new SocketError("bad connect", null);
       }
-      // pattern like C:/...
-      // split = ['C:', ...]
-      // XXX: would be nice to handle patterns like `c:*` to test the cwd
-      // in c: for *, but I don't know of a way to even figure out what that
-      // cwd is without actually chdir'ing into it?
-      /**
-       * True if the pattern starts with a drive letter on Windows
-       */
-      isDrive() {
-        const pl = this.#patternList;
-        return this.#isDrive !== void 0 ? this.#isDrive : this.#isDrive = this.#platform === "win32" && this.#index === 0 && this.length > 1 && typeof pl[0] === "string" && /^[a-z]:$/i.test(pl[0]);
+      onUpgrade(statusCode, rawHeaders, socket) {
+        const { callback, opaque, context: context2 } = 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: context2
+        });
       }
-      // pattern = '/' or '/...' or '/x/...'
-      // split = ['', ''] or ['', ...] or ['', 'x', ...]
-      // Drive and UNC both considered absolute on windows
-      /**
-       * True if the pattern is rooted on an absolute path
-       */
-      isAbsolute() {
-        const pl = this.#patternList;
-        return this.#isAbsolute !== void 0 ? this.#isAbsolute : this.#isAbsolute = pl[0] === "" && pl.length > 1 || this.isDrive() || this.isUNC();
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
+        }
       }
-      /**
-       * consume the root of the pattern, and return it
-       */
-      root() {
-        const p = this.#patternList[0];
-        return typeof p === "string" && this.isAbsolute() && this.#index === 0 ? p : "";
+    };
+    function connect(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve3, reject) => {
+          connect.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve3(data);
+          });
+        });
       }
-      /**
-       * Check to see if the current globstar pattern is allowed to follow
-       * a symbolic link.
-       */
-      checkFollowGlobstar() {
-        return !(this.#index === 0 || !this.isGlobstar() || !this.#followGlobstar);
+      try {
+        const connectHandler = new ConnectHandler(opts, callback);
+        this.dispatch({ ...opts, method: "CONNECT" }, connectHandler);
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
+        }
+        const opaque = opts && opts.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
-      /**
-       * Mark that the current globstar pattern is following a symbolic link
-       */
-      markFollowGlobstar() {
-        if (this.#index === 0 || !this.isGlobstar() || !this.#followGlobstar)
-          return false;
-        this.#followGlobstar = false;
-        return true;
+    }
+    module2.exports = connect;
+  }
+});
+
+// node_modules/undici/lib/api/index.js
+var require_api3 = __commonJS({
+  "node_modules/undici/lib/api/index.js"(exports2, module2) {
+    "use strict";
+    module2.exports.request = require_api_request3();
+    module2.exports.stream = require_api_stream3();
+    module2.exports.pipeline = require_api_pipeline3();
+    module2.exports.upgrade = require_api_upgrade3();
+    module2.exports.connect = require_api_connect3();
+  }
+});
+
+// node_modules/undici/lib/mock/mock-errors.js
+var require_mock_errors3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
+    "use strict";
+    var { UndiciError } = require_errors6();
+    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";
       }
     };
-    exports2.Pattern = Pattern;
+    module2.exports = {
+      MockNotMatchedError
+    };
   }
 });
 
-// node_modules/glob/dist/commonjs/ignore.js
-var require_ignore = __commonJS({
-  "node_modules/glob/dist/commonjs/ignore.js"(exports2) {
+// node_modules/undici/lib/mock/mock-symbols.js
+var require_mock_symbols3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Ignore = void 0;
-    var minimatch_1 = require_commonjs20();
-    var pattern_js_1 = require_pattern();
-    var defaultPlatform = typeof process === "object" && process && typeof process.platform === "string" ? process.platform : "linux";
-    var Ignore = class {
-      relative;
-      relativeChildren;
-      absolute;
-      absoluteChildren;
-      platform;
-      mmopts;
-      constructor(ignored, { nobrace, nocase, noext, noglobstar, platform = defaultPlatform }) {
-        this.relative = [];
-        this.absolute = [];
-        this.relativeChildren = [];
-        this.absoluteChildren = [];
-        this.platform = platform;
-        this.mmopts = {
-          dot: true,
-          nobrace,
-          nocase,
-          noext,
-          noglobstar,
-          optimizationLevel: 2,
-          platform,
-          nocomment: true,
-          nonegate: true
-        };
-        for (const ign of ignored)
-          this.add(ign);
+    module2.exports = {
+      kAgent: /* @__PURE__ */ Symbol("agent"),
+      kOptions: /* @__PURE__ */ Symbol("options"),
+      kFactory: /* @__PURE__ */ Symbol("factory"),
+      kDispatches: /* @__PURE__ */ Symbol("dispatches"),
+      kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
+      kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
+      kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
+      kContentLength: /* @__PURE__ */ Symbol("content length"),
+      kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
+      kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
+      kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
+      kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
+      kClose: /* @__PURE__ */ Symbol("close"),
+      kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
+      kOrigin: /* @__PURE__ */ Symbol("origin"),
+      kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
+      kNetConnect: /* @__PURE__ */ Symbol("net connect"),
+      kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
+      kConnected: /* @__PURE__ */ Symbol("connected")
+    };
+  }
+});
+
+// node_modules/undici/lib/mock/mock-utils.js
+var require_mock_utils3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
+    "use strict";
+    var { MockNotMatchedError } = require_mock_errors3();
+    var {
+      kDispatches,
+      kMockAgent,
+      kOriginalDispatch,
+      kOrigin,
+      kGetNetConnect
+    } = require_mock_symbols3();
+    var { buildURL, nop } = require_util24();
+    var { STATUS_CODES } = require("http");
+    var {
+      types: {
+        isPromise
       }
-      add(ign) {
-        const mm = new minimatch_1.Minimatch(ign, this.mmopts);
-        for (let i = 0; i < mm.set.length; i++) {
-          const parsed = mm.set[i];
-          const globParts = mm.globParts[i];
-          if (!parsed || !globParts) {
-            throw new Error("invalid pattern object");
-          }
-          while (parsed[0] === "." && globParts[0] === ".") {
-            parsed.shift();
-            globParts.shift();
-          }
-          const p = new pattern_js_1.Pattern(parsed, globParts, 0, this.platform);
-          const m = new minimatch_1.Minimatch(p.globString(), this.mmopts);
-          const children = globParts[globParts.length - 1] === "**";
-          const absolute = p.isAbsolute();
-          if (absolute)
-            this.absolute.push(m);
-          else
-            this.relative.push(m);
-          if (children) {
-            if (absolute)
-              this.absoluteChildren.push(m);
-            else
-              this.relativeChildren.push(m);
+    } = require("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()];
       }
-      ignored(p) {
-        const fullpath = p.fullpath();
-        const fullpaths = `${fullpath}/`;
-        const relative = p.relative() || ".";
-        const relatives = `${relative}/`;
-        for (const m of this.relative) {
-          if (m.match(relative) || m.match(relatives))
-            return true;
-        }
-        for (const m of this.absolute) {
-          if (m.match(fullpath) || m.match(fullpaths))
-            return true;
+    }
+    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;
       }
-      childrenIgnored(p) {
-        const fullpath = p.fullpath() + "/";
-        const relative = (p.relative() || ".") + "/";
-        for (const m of this.relativeChildren) {
-          if (m.match(relative))
-            return true;
-        }
-        for (const m of this.absoluteChildren) {
-          if (m.match(fullpath))
-            return true;
+      for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) {
+        const headerValue = getHeaderByName(headers, matchHeaderName);
+        if (!matchValue(matchHeaderValue, headerValue)) {
+          return false;
         }
-        return false;
       }
-    };
-    exports2.Ignore = Ignore;
-  }
-});
-
-// node_modules/glob/dist/commonjs/processor.js
-var require_processor = __commonJS({
-  "node_modules/glob/dist/commonjs/processor.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Processor = exports2.SubWalks = exports2.MatchRecord = exports2.HasWalkedCache = void 0;
-    var minimatch_1 = require_commonjs20();
-    var HasWalkedCache = class _HasWalkedCache {
-      store;
-      constructor(store = /* @__PURE__ */ new Map()) {
-        this.store = store;
+      return true;
+    }
+    function safeUrl(path4) {
+      if (typeof path4 !== "string") {
+        return path4;
       }
-      copy() {
-        return new _HasWalkedCache(new Map(this.store));
+      const pathSegments = path4.split("?");
+      if (pathSegments.length !== 2) {
+        return path4;
       }
-      hasWalked(target, pattern) {
-        return this.store.get(target.fullpath())?.has(pattern.globString());
+      const qp = new URLSearchParams(pathSegments.pop());
+      qp.sort();
+      return [...pathSegments, qp.toString()].join("?");
+    }
+    function matchKey(mockDispatch2, { path: path4, method, body, headers }) {
+      const pathMatch = matchValue(mockDispatch2.path, path4);
+      const methodMatch = matchValue(mockDispatch2.method, method);
+      const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
+      const headersMatch = matchHeaders(mockDispatch2, headers);
+      return pathMatch && methodMatch && bodyMatch && headersMatch;
+    }
+    function getResponseData2(data) {
+      if (Buffer.isBuffer(data)) {
+        return data;
+      } else if (typeof data === "object") {
+        return JSON.stringify(data);
+      } else {
+        return data.toString();
       }
-      storeWalked(target, pattern) {
-        const fullpath = target.fullpath();
-        const cached = this.store.get(fullpath);
-        if (cached)
-          cached.add(pattern.globString());
-        else
-          this.store.set(fullpath, /* @__PURE__ */ new Set([pattern.globString()]));
+    }
+    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: path4 }) => matchValue(safeUrl(path4), resolvedPath));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
       }
-    };
-    exports2.HasWalkedCache = HasWalkedCache;
-    var MatchRecord = class {
-      store = /* @__PURE__ */ new Map();
-      add(target, absolute, ifDir) {
-        const n = (absolute ? 2 : 0) | (ifDir ? 1 : 0);
-        const current = this.store.get(target);
-        this.store.set(target, current === void 0 ? n : n & current);
+      matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`);
       }
-      // match, absolute, ifdir
-      entries() {
-        return [...this.store.entries()].map(([path4, n]) => [
-          path4,
-          !!(n & 2),
-          !!(n & 1)
-        ]);
+      matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`);
       }
-    };
-    exports2.MatchRecord = MatchRecord;
-    var SubWalks = class {
-      store = /* @__PURE__ */ new Map();
-      add(target, pattern) {
-        if (!target.canReaddir()) {
-          return;
-        }
-        const subs = this.store.get(target);
-        if (subs) {
-          if (!subs.find((p) => p.globString() === pattern.globString())) {
-            subs.push(pattern);
-          }
-        } else
-          this.store.set(target, [pattern]);
+      matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers}'`);
       }
-      get(target) {
-        const subs = this.store.get(target);
-        if (!subs) {
-          throw new Error("attempting to walk unknown path");
+      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 subs;
+        return matchKey(dispatch, key);
+      });
+      if (index !== -1) {
+        mockDispatches.splice(index, 1);
       }
-      entries() {
-        return this.keys().map((k) => [k, this.store.get(k)]);
+    }
+    function buildKey(opts) {
+      const { path: path4, method, body, headers, query } = opts;
+      return {
+        path: path4,
+        method,
+        body,
+        headers,
+        query
+      };
+    }
+    function generateKeyValues(data) {
+      return Object.entries(data).reduce((keyValuePairs, [key, value]) => [
+        ...keyValuePairs,
+        Buffer.from(`${key}`),
+        Array.isArray(value) ? value.map((x) => Buffer.from(`${x}`)) : Buffer.from(`${value}`)
+      ], []);
+    }
+    function getStatusText(statusCode) {
+      return STATUS_CODES[statusCode] || "unknown";
+    }
+    async function getResponse(body) {
+      const buffers = [];
+      for await (const data of body) {
+        buffers.push(data);
       }
-      keys() {
-        return [...this.store.keys()].filter((t) => t.canReaddir());
+      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) };
       }
-    };
-    exports2.SubWalks = SubWalks;
-    var Processor = class _Processor {
-      hasWalkedCache;
-      matches = new MatchRecord();
-      subwalks = new SubWalks();
-      patterns;
-      follow;
-      dot;
-      opts;
-      constructor(opts, hasWalkedCache) {
-        this.opts = opts;
-        this.follow = !!opts.follow;
-        this.dot = !!opts.dot;
-        this.hasWalkedCache = hasWalkedCache ? hasWalkedCache.copy() : new HasWalkedCache();
+      const { data: { statusCode, data, headers, trailers, error: error3 }, delay, persist } = mockDispatch2;
+      const { timesInvoked, times } = mockDispatch2;
+      mockDispatch2.consumed = !persist && timesInvoked >= times;
+      mockDispatch2.pending = timesInvoked < times;
+      if (error3 !== null) {
+        deleteMockDispatch(this[kDispatches], key);
+        handler2.onError(error3);
+        return true;
       }
-      processPatterns(target, patterns) {
-        this.patterns = patterns;
-        const processingSet = patterns.map((p) => [target, p]);
-        for (let [t, pattern] of processingSet) {
-          this.hasWalkedCache.storeWalked(t, pattern);
-          const root = pattern.root();
-          const absolute = pattern.isAbsolute() && this.opts.absolute !== false;
-          if (root) {
-            t = t.resolve(root === "/" && this.opts.root !== void 0 ? this.opts.root : root);
-            const rest2 = pattern.rest();
-            if (!rest2) {
-              this.matches.add(t, true, false);
-              continue;
-            } else {
-              pattern = rest2;
-            }
-          }
-          if (t.isENOENT())
-            continue;
-          let p;
-          let rest;
-          let changed = false;
-          while (typeof (p = pattern.pattern()) === "string" && (rest = pattern.rest())) {
-            const c = t.resolve(p);
-            t = c;
-            pattern = rest;
-            changed = true;
-          }
-          p = pattern.pattern();
-          rest = pattern.rest();
-          if (changed) {
-            if (this.hasWalkedCache.hasWalked(t, pattern))
-              continue;
-            this.hasWalkedCache.storeWalked(t, pattern);
-          }
-          if (typeof p === "string") {
-            const ifDir = p === ".." || p === "" || p === ".";
-            this.matches.add(t.resolve(p), absolute, ifDir);
-            continue;
-          } else if (p === minimatch_1.GLOBSTAR) {
-            if (!t.isSymbolicLink() || this.follow || pattern.checkFollowGlobstar()) {
-              this.subwalks.add(t, pattern);
-            }
-            const rp = rest?.pattern();
-            const rrest = rest?.rest();
-            if (!rest || (rp === "" || rp === ".") && !rrest) {
-              this.matches.add(t, absolute, rp === "" || rp === ".");
-            } else {
-              if (rp === "..") {
-                const tp = t.parent || t;
-                if (!rrest)
-                  this.matches.add(tp, absolute, true);
-                else if (!this.hasWalkedCache.hasWalked(tp, rrest)) {
-                  this.subwalks.add(tp, rrest);
-                }
+      if (typeof delay === "number" && delay > 0) {
+        setTimeout(() => {
+          handleReply(this[kDispatches]);
+        }, delay);
+      } else {
+        handleReply(this[kDispatches]);
+      }
+      function handleReply(mockDispatches, _data = data) {
+        const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
+        const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
+        if (isPromise(body)) {
+          body.then((newData) => handleReply(mockDispatches, newData));
+          return;
+        }
+        const responseData = getResponseData2(body);
+        const responseHeaders = generateKeyValues(headers);
+        const responseTrailers = generateKeyValues(trailers);
+        handler2.abort = nop;
+        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 (error3) {
+            if (error3 instanceof MockNotMatchedError) {
+              const netConnect = agent[kGetNetConnect]();
+              if (netConnect === false) {
+                throw new MockNotMatchedError(`${error3.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(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
               }
+            } else {
+              throw error3;
             }
-          } else if (p instanceof RegExp) {
-            this.subwalks.add(t, pattern);
           }
+        } 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
+    };
+  }
+});
+
+// node_modules/undici/lib/mock/mock-interceptor.js
+var require_mock_interceptor3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
+    "use strict";
+    var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils3();
+    var {
+      kDispatches,
+      kDispatchKey,
+      kDefaultHeaders,
+      kDefaultTrailers,
+      kContentLength,
+      kMockDispatch
+    } = require_mock_symbols3();
+    var { InvalidArgumentError } = require_errors6();
+    var { buildURL } = require_util24();
+    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;
       }
-      subwalkTargets() {
-        return this.subwalks.keys();
+      /**
+       * For a defined reply, never mark as consumed.
+       */
+      persist() {
+        this[kMockDispatch].persist = true;
+        return this;
       }
-      child() {
-        return new _Processor(this.opts, this.hasWalkedCache);
+      /**
+       * 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;
       }
-      // return a new Processor containing the subwalks for each
-      // child entry, and a set of matches, and
-      // a hasWalkedCache that's a copy of this one
-      // then we're going to call
-      filterEntries(parent, entries) {
-        const patterns = this.subwalks.get(parent);
-        const results = this.child();
-        for (const e of entries) {
-          for (const pattern of patterns) {
-            const absolute = pattern.isAbsolute();
-            const p = pattern.pattern();
-            const rest = pattern.rest();
-            if (p === minimatch_1.GLOBSTAR) {
-              results.testGlobstar(e, pattern, rest, absolute);
-            } else if (p instanceof RegExp) {
-              results.testRegExp(e, p, rest, absolute);
-            } else {
-              results.testString(e, p, rest, absolute);
-            }
+    };
+    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;
           }
         }
-        return results;
+        if (typeof opts.method === "string") {
+          opts.method = opts.method.toUpperCase();
+        }
+        this[kDispatchKey] = buildKey(opts);
+        this[kDispatches] = mockDispatches;
+        this[kDefaultHeaders] = {};
+        this[kDefaultTrailers] = {};
+        this[kContentLength] = false;
       }
-      testGlobstar(e, pattern, rest, absolute) {
-        if (this.dot || !e.name.startsWith(".")) {
-          if (!pattern.hasMore()) {
-            this.matches.add(e, absolute, false);
-          }
-          if (e.canReaddir()) {
-            if (this.follow || !e.isSymbolicLink()) {
-              this.subwalks.add(e, pattern);
-            } else if (e.isSymbolicLink()) {
-              if (rest && pattern.checkFollowGlobstar()) {
-                this.subwalks.add(e, rest);
-              } else if (pattern.markFollowGlobstar()) {
-                this.subwalks.add(e, pattern);
-              }
+      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(statusCode, data, responseOptions) {
+        if (typeof statusCode === "undefined") {
+          throw new InvalidArgumentError("statusCode must be defined");
+        }
+        if (typeof data === "undefined") {
+          throw new InvalidArgumentError("data must be defined");
+        }
+        if (typeof responseOptions !== "object") {
+          throw new InvalidArgumentError("responseOptions must be an object");
+        }
+      }
+      /**
+       * Mock an undici request with a defined reply.
+       */
+      reply(replyData) {
+        if (typeof replyData === "function") {
+          const wrappedDefaultsCallback = (opts) => {
+            const resolvedData = replyData(opts);
+            if (typeof resolvedData !== "object") {
+              throw new InvalidArgumentError("reply options callback must return an object");
             }
-          }
+            const { statusCode: statusCode2, data: data2 = "", responseOptions: responseOptions2 = {} } = resolvedData;
+            this.validateReplyParameters(statusCode2, data2, responseOptions2);
+            return {
+              ...this.createMockScopeDispatchData(statusCode2, data2, responseOptions2)
+            };
+          };
+          const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback);
+          return new MockScope(newMockDispatch2);
         }
-        if (rest) {
-          const rp = rest.pattern();
-          if (typeof rp === "string" && // dots and empty were handled already
-          rp !== ".." && rp !== "" && rp !== ".") {
-            this.testString(e, rp, rest.rest(), absolute);
-          } else if (rp === "..") {
-            const ep = e.parent || e;
-            this.subwalks.add(ep, rest);
-          } else if (rp instanceof RegExp) {
-            this.testRegExp(e, rp, rest.rest(), absolute);
-          }
+        const [statusCode, data = "", responseOptions = {}] = [...arguments];
+        this.validateReplyParameters(statusCode, data, responseOptions);
+        const dispatchData = this.createMockScopeDispatchData(statusCode, data, responseOptions);
+        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData);
+        return new MockScope(newMockDispatch);
+      }
+      /**
+       * Mock an undici request with a defined error.
+       */
+      replyWithError(error3) {
+        if (typeof error3 === "undefined") {
+          throw new InvalidArgumentError("error must be defined");
         }
+        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error: error3 });
+        return new MockScope(newMockDispatch);
       }
-      testRegExp(e, p, rest, absolute) {
-        if (!p.test(e.name))
-          return;
-        if (!rest) {
-          this.matches.add(e, absolute, false);
-        } else {
-          this.subwalks.add(e, rest);
+      /**
+       * 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;
       }
-      testString(e, p, rest, absolute) {
-        if (!e.isNamed(p))
-          return;
-        if (!rest) {
-          this.matches.add(e, absolute, false);
-        } else {
-          this.subwalks.add(e, rest);
+      /**
+       * 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;
       }
     };
-    exports2.Processor = Processor;
+    module2.exports.MockInterceptor = MockInterceptor;
+    module2.exports.MockScope = MockScope;
   }
 });
 
-// node_modules/glob/dist/commonjs/walker.js
-var require_walker = __commonJS({
-  "node_modules/glob/dist/commonjs/walker.js"(exports2) {
+// node_modules/undici/lib/mock/mock-client.js
+var require_mock_client3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.GlobStream = exports2.GlobWalker = exports2.GlobUtil = void 0;
-    var minipass_1 = require_commonjs22();
-    var ignore_js_1 = require_ignore();
-    var processor_js_1 = require_processor();
-    var makeIgnore = (ignore, opts) => typeof ignore === "string" ? new ignore_js_1.Ignore([ignore], opts) : Array.isArray(ignore) ? new ignore_js_1.Ignore(ignore, opts) : ignore;
-    var GlobUtil = class {
-      path;
-      patterns;
-      opts;
-      seen = /* @__PURE__ */ new Set();
-      paused = false;
-      aborted = false;
-      #onResume = [];
-      #ignore;
-      #sep;
-      signal;
-      maxDepth;
-      includeChildMatches;
-      constructor(patterns, path4, opts) {
-        this.patterns = patterns;
-        this.path = path4;
-        this.opts = opts;
-        this.#sep = !opts.posix && opts.platform === "win32" ? "\\" : "/";
-        this.includeChildMatches = opts.includeChildMatches !== false;
-        if (opts.ignore || !this.includeChildMatches) {
-          this.#ignore = makeIgnore(opts.ignore ?? [], opts);
-          if (!this.includeChildMatches && typeof this.#ignore.add !== "function") {
-            const m = "cannot ignore child matches, ignore lacks add() method.";
-            throw new Error(m);
-          }
-        }
-        this.maxDepth = opts.maxDepth || Infinity;
-        if (opts.signal) {
-          this.signal = opts.signal;
-          this.signal.addEventListener("abort", () => {
-            this.#onResume.length = 0;
-          });
+    var { promisify } = require("util");
+    var Client = require_client3();
+    var { buildMockDispatch } = require_mock_utils3();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols3();
+    var { MockInterceptor } = require_mock_interceptor3();
+    var Symbols = require_symbols11();
+    var { InvalidArgumentError } = require_errors6();
+    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];
       }
-      #ignored(path4) {
-        return this.seen.has(path4) || !!this.#ignore?.ignored?.(path4);
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
-      #childrenIgnored(path4) {
-        return !!this.#ignore?.childrenIgnored?.(path4);
+      /**
+       * Sets up the base interceptor for mocking replies from undici.
+       */
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
       }
-      // backpressure mechanism
-      pause() {
-        this.paused = true;
+      async [kClose]() {
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
-      resume() {
-        if (this.signal?.aborted)
-          return;
-        this.paused = false;
-        let fn = void 0;
-        while (!this.paused && (fn = this.#onResume.shift())) {
-          fn();
+    };
+    module2.exports = MockClient;
+  }
+});
+
+// node_modules/undici/lib/mock/mock-pool.js
+var require_mock_pool3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
+    "use strict";
+    var { promisify } = require("util");
+    var Pool = require_pool3();
+    var { buildMockDispatch } = require_mock_utils3();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols3();
+    var { MockInterceptor } = require_mock_interceptor3();
+    var Symbols = require_symbols11();
+    var { InvalidArgumentError } = require_errors6();
+    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];
       }
-      onResume(fn) {
-        if (this.signal?.aborted)
-          return;
-        if (!this.paused) {
-          fn();
-        } else {
-          this.#onResume.push(fn);
-        }
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
-      // do the requisite realpath/stat checking, and return the path
-      // to add or undefined to filter it out.
-      async matchCheck(e, ifDir) {
-        if (ifDir && this.opts.nodir)
-          return void 0;
-        let rpc;
-        if (this.opts.realpath) {
-          rpc = e.realpathCached() || await e.realpath();
-          if (!rpc)
-            return void 0;
-          e = rpc;
-        }
-        const needStat = e.isUnknown() || this.opts.stat;
-        const s = needStat ? await e.lstat() : e;
-        if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) {
-          const target = await s.realpath();
-          if (target && (target.isUnknown() || this.opts.stat)) {
-            await target.lstat();
-          }
-        }
-        return this.matchCheckTest(s, ifDir);
+      /**
+       * Sets up the base interceptor for mocking replies from undici.
+       */
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
       }
-      matchCheckTest(e, ifDir) {
-        return e && (this.maxDepth === Infinity || e.depth() <= this.maxDepth) && (!ifDir || e.canReaddir()) && (!this.opts.nodir || !e.isDirectory()) && (!this.opts.nodir || !this.opts.follow || !e.isSymbolicLink() || !e.realpathCached()?.isDirectory()) && !this.#ignored(e) ? e : void 0;
+      async [kClose]() {
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
-      matchCheckSync(e, ifDir) {
-        if (ifDir && this.opts.nodir)
-          return void 0;
-        let rpc;
-        if (this.opts.realpath) {
-          rpc = e.realpathCached() || e.realpathSync();
-          if (!rpc)
-            return void 0;
-          e = rpc;
-        }
-        const needStat = e.isUnknown() || this.opts.stat;
-        const s = needStat ? e.lstatSync() : e;
-        if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) {
-          const target = s.realpathSync();
-          if (target && (target?.isUnknown() || this.opts.stat)) {
-            target.lstatSync();
+    };
+    module2.exports = MockPool;
+  }
+});
+
+// node_modules/undici/lib/mock/pluralizer.js
+var require_pluralizer3 = __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_formatter3 = __commonJS({
+  "node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
+    "use strict";
+    var { Transform } = require("stream");
+    var { Console } = require("console");
+    module2.exports = class PendingInterceptorsFormatter {
+      constructor({ disableColors } = {}) {
+        this.transform = new Transform({
+          transform(chunk, _enc, cb) {
+            cb(null, chunk);
           }
-        }
-        return this.matchCheckTest(s, ifDir);
+        });
+        this.logger = new Console({
+          stdout: this.transform,
+          inspectOptions: {
+            colors: !disableColors && !process.env.CI
+          }
+        });
       }
-      matchFinish(e, absolute) {
-        if (this.#ignored(e))
-          return;
-        if (!this.includeChildMatches && this.#ignore?.add) {
-          const ign = `${e.relativePosix()}/**`;
-          this.#ignore.add(ign);
+      format(pendingInterceptors) {
+        const withPrettyHeaders = pendingInterceptors.map(
+          ({ method, path: path4, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
+            Method: method,
+            Origin: origin,
+            Path: path4,
+            "Status code": statusCode,
+            Persistent: persist ? "\u2705" : "\u274C",
+            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_agent3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
+    "use strict";
+    var { kClients } = require_symbols11();
+    var Agent = require_agent3();
+    var {
+      kAgent,
+      kMockAgentSet,
+      kMockAgentGet,
+      kDispatches,
+      kIsMockActive,
+      kNetConnect,
+      kGetNetConnect,
+      kOptions,
+      kFactory
+    } = require_mock_symbols3();
+    var MockClient = require_mock_client3();
+    var MockPool = require_mock_pool3();
+    var { matchValue, buildMockOptions } = require_mock_utils3();
+    var { InvalidArgumentError, UndiciError } = require_errors6();
+    var Dispatcher = require_dispatcher3();
+    var Pluralizer = require_pluralizer3();
+    var PendingInterceptorsFormatter = require_pending_interceptors_formatter3();
+    var FakeWeakRef = class {
+      constructor(value) {
+        this.value = value;
+      }
+      deref() {
+        return this.value;
+      }
+    };
+    var MockAgent = class extends Dispatcher {
+      constructor(opts) {
+        super(opts);
+        this[kNetConnect] = true;
+        this[kIsMockActive] = true;
+        if (opts && opts.agent && typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
         }
-        const abs = this.opts.absolute === void 0 ? absolute : this.opts.absolute;
-        this.seen.add(e);
-        const mark = this.opts.mark && e.isDirectory() ? this.#sep : "";
-        if (this.opts.withFileTypes) {
-          this.matchEmit(e);
-        } else if (abs) {
-          const abs2 = this.opts.posix ? e.fullpathPosix() : e.fullpath();
-          this.matchEmit(abs2 + mark);
-        } else {
-          const rel = this.opts.posix ? e.relativePosix() : e.relative();
-          const pre = this.opts.dotRelative && !rel.startsWith(".." + this.#sep) ? "." + this.#sep : "";
-          this.matchEmit(!rel ? "." + mark : pre + rel + mark);
+        const agent = opts && opts.agent ? opts.agent : new Agent(opts);
+        this[kAgent] = agent;
+        this[kClients] = agent[kClients];
+        this[kOptions] = buildMockOptions(opts);
+      }
+      get(origin) {
+        let dispatcher = this[kMockAgentGet](origin);
+        if (!dispatcher) {
+          dispatcher = this[kFactory](origin);
+          this[kMockAgentSet](origin, dispatcher);
         }
+        return dispatcher;
       }
-      async match(e, absolute, ifDir) {
-        const p = await this.matchCheck(e, ifDir);
-        if (p)
-          this.matchFinish(p, absolute);
+      dispatch(opts, handler2) {
+        this.get(opts.origin);
+        return this[kAgent].dispatch(opts, handler2);
       }
-      matchSync(e, absolute, ifDir) {
-        const p = this.matchCheckSync(e, ifDir);
-        if (p)
-          this.matchFinish(p, absolute);
+      async close() {
+        await this[kAgent].close();
+        this[kClients].clear();
       }
-      walkCB(target, patterns, cb) {
-        if (this.signal?.aborted)
-          cb();
-        this.walkCB2(target, patterns, new processor_js_1.Processor(this.opts), cb);
+      deactivate() {
+        this[kIsMockActive] = false;
       }
-      walkCB2(target, patterns, processor, cb) {
-        if (this.#childrenIgnored(target))
-          return cb();
-        if (this.signal?.aborted)
-          cb();
-        if (this.paused) {
-          this.onResume(() => this.walkCB2(target, patterns, processor, cb));
-          return;
-        }
-        processor.processPatterns(target, patterns);
-        let tasks = 1;
-        const next = () => {
-          if (--tasks === 0)
-            cb();
-        };
-        for (const [m, absolute, ifDir] of processor.matches.entries()) {
-          if (this.#ignored(m))
-            continue;
-          tasks++;
-          this.match(m, absolute, ifDir).then(() => next());
-        }
-        for (const t of processor.subwalkTargets()) {
-          if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {
-            continue;
-          }
-          tasks++;
-          const childrenCached = t.readdirCached();
-          if (t.calledReaddir())
-            this.walkCB3(t, childrenCached, processor, next);
-          else {
-            t.readdirCB((_2, entries) => this.walkCB3(t, entries, processor, next), true);
-          }
-        }
-        next();
+      activate() {
+        this[kIsMockActive] = true;
       }
-      walkCB3(target, entries, processor, cb) {
-        processor = processor.filterEntries(target, entries);
-        let tasks = 1;
-        const next = () => {
-          if (--tasks === 0)
-            cb();
-        };
-        for (const [m, absolute, ifDir] of processor.matches.entries()) {
-          if (this.#ignored(m))
-            continue;
-          tasks++;
-          this.match(m, absolute, ifDir).then(() => next());
-        }
-        for (const [target2, patterns] of processor.subwalks.entries()) {
-          tasks++;
-          this.walkCB2(target2, patterns, processor.child(), next);
+      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.");
         }
-        next();
       }
-      walkCBSync(target, patterns, cb) {
-        if (this.signal?.aborted)
-          cb();
-        this.walkCB2Sync(target, patterns, new processor_js_1.Processor(this.opts), cb);
+      disableNetConnect() {
+        this[kNetConnect] = false;
       }
-      walkCB2Sync(target, patterns, processor, cb) {
-        if (this.#childrenIgnored(target))
-          return cb();
-        if (this.signal?.aborted)
-          cb();
-        if (this.paused) {
-          this.onResume(() => this.walkCB2Sync(target, patterns, processor, cb));
-          return;
+      // 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, new FakeWeakRef(dispatcher));
+      }
+      [kFactory](origin) {
+        const mockOptions = Object.assign({ agent: this }, this[kOptions]);
+        return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions);
+      }
+      [kMockAgentGet](origin) {
+        const ref = this[kClients].get(origin);
+        if (ref) {
+          return ref.deref();
         }
-        processor.processPatterns(target, patterns);
-        let tasks = 1;
-        const next = () => {
-          if (--tasks === 0)
-            cb();
-        };
-        for (const [m, absolute, ifDir] of processor.matches.entries()) {
-          if (this.#ignored(m))
-            continue;
-          this.matchSync(m, absolute, ifDir);
+        if (typeof origin !== "string") {
+          const dispatcher = this[kFactory]("http://localhost:9999");
+          this[kMockAgentSet](origin, dispatcher);
+          return dispatcher;
         }
-        for (const t of processor.subwalkTargets()) {
-          if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {
-            continue;
+        for (const [keyMatcher, nonExplicitRef] of Array.from(this[kClients])) {
+          const nonExplicitDispatcher = nonExplicitRef.deref();
+          if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) {
+            const dispatcher = this[kFactory](origin);
+            this[kMockAgentSet](origin, dispatcher);
+            dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches];
+            return dispatcher;
           }
-          tasks++;
-          const children = t.readdirSync();
-          this.walkCB3Sync(t, children, processor, next);
         }
-        next();
       }
-      walkCB3Sync(target, entries, processor, cb) {
-        processor = processor.filterEntries(target, entries);
-        let tasks = 1;
-        const next = () => {
-          if (--tasks === 0)
-            cb();
-        };
-        for (const [m, absolute, ifDir] of processor.matches.entries()) {
-          if (this.#ignored(m))
-            continue;
-          this.matchSync(m, absolute, ifDir);
-        }
-        for (const [target2, patterns] of processor.subwalks.entries()) {
-          tasks++;
-          this.walkCB2Sync(target2, patterns, processor.child(), next);
+      [kGetNetConnect]() {
+        return this[kNetConnect];
+      }
+      pendingInterceptors() {
+        const mockAgentClients = this[kClients];
+        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope.deref()[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
+      }
+      assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) {
+        const pending = this.pendingInterceptors();
+        if (pending.length === 0) {
+          return;
         }
-        next();
+        const pluralizer = new Pluralizer("interceptor", "interceptors").pluralize(pending.length);
+        throw new UndiciError(`
+${pluralizer.count} ${pluralizer.noun} ${pluralizer.is} pending:
+
+${pendingInterceptorsFormatter.format(pending)}
+`.trim());
       }
     };
-    exports2.GlobUtil = GlobUtil;
-    var GlobWalker = class extends GlobUtil {
-      matches = /* @__PURE__ */ new Set();
-      constructor(patterns, path4, opts) {
-        super(patterns, path4, opts);
+    module2.exports = MockAgent;
+  }
+});
+
+// node_modules/undici/lib/proxy-agent.js
+var require_proxy_agent3 = __commonJS({
+  "node_modules/undici/lib/proxy-agent.js"(exports2, module2) {
+    "use strict";
+    var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols11();
+    var { URL: URL2 } = require("url");
+    var Agent = require_agent3();
+    var Pool = require_pool3();
+    var DispatcherBase = require_dispatcher_base3();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors6();
+    var buildConnector = require_connect3();
+    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
+    var kClient = /* @__PURE__ */ Symbol("proxy client");
+    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
+    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
+    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
+    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
+    function defaultProtocolPort(protocol) {
+      return protocol === "https:" ? 443 : 80;
+    }
+    function buildProxyOptions(opts) {
+      if (typeof opts === "string") {
+        opts = { uri: opts };
       }
-      matchEmit(e) {
-        this.matches.add(e);
+      if (!opts || !opts.uri) {
+        throw new InvalidArgumentError("Proxy opts.uri is mandatory");
       }
-      async walk() {
-        if (this.signal?.aborted)
-          throw this.signal.reason;
-        if (this.path.isUnknown()) {
-          await this.path.lstat();
+      return {
+        uri: opts.uri,
+        protocol: opts.protocol || "https"
+      };
+    }
+    function defaultFactory(origin, opts) {
+      return new Pool(origin, opts);
+    }
+    var ProxyAgent = class extends DispatcherBase {
+      constructor(opts) {
+        super(opts);
+        this[kProxy] = buildProxyOptions(opts);
+        this[kAgent] = new Agent(opts);
+        this[kInterceptors] = opts.interceptors && opts.interceptors.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : [];
+        if (typeof opts === "string") {
+          opts = { uri: opts };
         }
-        await new Promise((res, rej) => {
-          this.walkCB(this.path, this.patterns, () => {
-            if (this.signal?.aborted) {
-              rej(this.signal.reason);
-            } else {
-              res(this.matches);
+        if (!opts || !opts.uri) {
+          throw new InvalidArgumentError("Proxy opts.uri is mandatory");
+        }
+        const { clientFactory = defaultFactory } = opts;
+        if (typeof clientFactory !== "function") {
+          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
+        }
+        this[kRequestTls] = opts.requestTls;
+        this[kProxyTls] = opts.proxyTls;
+        this[kProxyHeaders] = opts.headers || {};
+        const resolvedUrl = new URL2(opts.uri);
+        const { origin, port, host, username, password } = resolvedUrl;
+        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 });
+        this[kClient] = clientFactory(resolvedUrl, { connect });
+        this[kAgent] = new Agent({
+          ...opts,
+          connect: async (opts2, callback) => {
+            let requestedHost = opts2.host;
+            if (!opts2.port) {
+              requestedHost += `:${defaultProtocolPort(opts2.protocol)}`;
             }
-          });
+            try {
+              const { socket, statusCode } = await this[kClient].connect({
+                origin,
+                port,
+                path: requestedHost,
+                signal: opts2.signal,
+                headers: {
+                  ...this[kProxyHeaders],
+                  host
+                }
+              });
+              if (statusCode !== 200) {
+                socket.on("error", () => {
+                }).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) {
+              callback(err);
+            }
+          }
         });
-        return this.matches;
       }
-      walkSync() {
-        if (this.signal?.aborted)
-          throw this.signal.reason;
-        if (this.path.isUnknown()) {
-          this.path.lstatSync();
-        }
-        this.walkCBSync(this.path, this.patterns, () => {
-          if (this.signal?.aborted)
-            throw this.signal.reason;
-        });
-        return this.matches;
+      dispatch(opts, handler2) {
+        const { host } = new URL2(opts.origin);
+        const headers = buildHeaders(opts.headers);
+        throwIfProxyAuthIsSent(headers);
+        return this[kAgent].dispatch(
+          {
+            ...opts,
+            headers: {
+              ...headers,
+              host
+            }
+          },
+          handler2
+        );
       }
-    };
-    exports2.GlobWalker = GlobWalker;
-    var GlobStream = class extends GlobUtil {
-      results;
-      constructor(patterns, path4, opts) {
-        super(patterns, path4, opts);
-        this.results = new minipass_1.Minipass({
-          signal: this.signal,
-          objectMode: true
-        });
-        this.results.on("drain", () => this.resume());
-        this.results.on("resume", () => this.resume());
+      async [kClose]() {
+        await this[kAgent].close();
+        await this[kClient].close();
       }
-      matchEmit(e) {
-        this.results.write(e);
-        if (!this.results.flowing)
-          this.pause();
+      async [kDestroy]() {
+        await this[kAgent].destroy();
+        await this[kClient].destroy();
       }
-      stream() {
-        const target = this.path;
-        if (target.isUnknown()) {
-          target.lstat().then(() => {
-            this.walkCB(target, this.patterns, () => this.results.end());
-          });
-        } else {
-          this.walkCB(target, this.patterns, () => this.results.end());
+    };
+    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 this.results;
+        return headersPair;
       }
-      streamSync() {
-        if (this.path.isUnknown()) {
-          this.path.lstatSync();
-        }
-        this.walkCBSync(this.path, this.patterns, () => this.results.end());
-        return this.results;
+      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");
       }
-    };
-    exports2.GlobStream = GlobStream;
+    }
+    module2.exports = ProxyAgent;
   }
 });
 
-// node_modules/glob/dist/commonjs/glob.js
-var require_glob2 = __commonJS({
-  "node_modules/glob/dist/commonjs/glob.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Glob = void 0;
-    var minimatch_1 = require_commonjs20();
-    var node_url_1 = require("node:url");
-    var path_scurry_1 = require_commonjs23();
-    var pattern_js_1 = require_pattern();
-    var walker_js_1 = require_walker();
-    var defaultPlatform = typeof process === "object" && process && typeof process.platform === "string" ? process.platform : "linux";
-    var Glob = class {
-      absolute;
-      cwd;
-      root;
-      dot;
-      dotRelative;
-      follow;
-      ignore;
-      magicalBraces;
-      mark;
-      matchBase;
-      maxDepth;
-      nobrace;
-      nocase;
-      nodir;
-      noext;
-      noglobstar;
-      pattern;
-      platform;
-      realpath;
-      scurry;
-      stat;
-      signal;
-      windowsPathsNoEscape;
-      withFileTypes;
-      includeChildMatches;
-      /**
-       * The options provided to the constructor.
-       */
-      opts;
-      /**
-       * An array of parsed immutable {@link Pattern} objects.
-       */
-      patterns;
-      /**
-       * All options are stored as properties on the `Glob` object.
-       *
-       * See {@link GlobOptions} for full options descriptions.
-       *
-       * Note that a previous `Glob` object can be passed as the
-       * `GlobOptions` to another `Glob` instantiation to re-use settings
-       * and caches with a new pattern.
-       *
-       * Traversal functions can be called multiple times to run the walk
-       * again.
-       */
-      constructor(pattern, opts) {
-        if (!opts)
-          throw new TypeError("glob options required");
-        this.withFileTypes = !!opts.withFileTypes;
-        this.signal = opts.signal;
-        this.follow = !!opts.follow;
-        this.dot = !!opts.dot;
-        this.dotRelative = !!opts.dotRelative;
-        this.nodir = !!opts.nodir;
-        this.mark = !!opts.mark;
-        if (!opts.cwd) {
-          this.cwd = "";
-        } else if (opts.cwd instanceof URL || opts.cwd.startsWith("file://")) {
-          opts.cwd = (0, node_url_1.fileURLToPath)(opts.cwd);
+// node_modules/undici/lib/handler/RetryHandler.js
+var require_RetryHandler = __commonJS({
+  "node_modules/undici/lib/handler/RetryHandler.js"(exports2, module2) {
+    var assert = require("assert");
+    var { kRetryHandlerDefaultRetry } = require_symbols11();
+    var { RequestRetryError } = require_errors6();
+    var { isDisturbed, parseHeaders, parseRangeHeader } = require_util24();
+    function calculateRetryAfterHeader(retryAfter) {
+      const current = Date.now();
+      const diff = new Date(retryAfter).getTime() - current;
+      return diff;
+    }
+    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;
+        this.abort = null;
+        this.aborted = false;
+        this.retryOpts = {
+          retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry],
+          retryAfter: retryAfter ?? true,
+          maxTimeout: maxTimeout ?? 30 * 1e3,
+          // 30s,
+          timeout: 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"
+          ]
+        };
+        this.retryCount = 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();
         }
-        this.cwd = opts.cwd || "";
-        this.root = opts.root;
-        this.magicalBraces = !!opts.magicalBraces;
-        this.nobrace = !!opts.nobrace;
-        this.noext = !!opts.noext;
-        this.realpath = !!opts.realpath;
-        this.absolute = opts.absolute;
-        this.includeChildMatches = opts.includeChildMatches !== false;
-        this.noglobstar = !!opts.noglobstar;
-        this.matchBase = !!opts.matchBase;
-        this.maxDepth = typeof opts.maxDepth === "number" ? opts.maxDepth : Infinity;
-        this.stat = !!opts.stat;
-        this.ignore = opts.ignore;
-        if (this.withFileTypes && this.absolute !== void 0) {
-          throw new Error("cannot set absolute and withFileTypes:true");
+      }
+      onUpgrade(statusCode, headers, socket) {
+        if (this.handler.onUpgrade) {
+          this.handler.onUpgrade(statusCode, headers, socket);
         }
-        if (typeof pattern === "string") {
-          pattern = [pattern];
+      }
+      onConnect(abort) {
+        if (this.aborted) {
+          abort(this.reason);
+        } else {
+          this.abort = abort;
         }
-        this.windowsPathsNoEscape = !!opts.windowsPathsNoEscape || opts.allowWindowsEscape === false;
-        if (this.windowsPathsNoEscape) {
-          pattern = pattern.map((p) => p.replace(/\\/g, "/"));
+      }
+      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,
+          timeout,
+          maxTimeout,
+          timeoutFactor,
+          statusCodes,
+          errorCodes,
+          methods
+        } = retryOptions;
+        let { counter, currentTimeout } = state;
+        currentTimeout = currentTimeout != null && currentTimeout > 0 ? currentTimeout : timeout;
+        if (code && code !== "UND_ERR_REQ_RETRY" && code !== "UND_ERR_SOCKET" && !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 != null && headers["retry-after"];
+        if (retryAfterHeader) {
+          retryAfterHeader = Number(retryAfterHeader);
+          retryAfterHeader = isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3;
+        }
+        const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(currentTimeout * timeoutFactor ** counter, maxTimeout);
+        state.currentTimeout = retryTimeout;
+        setTimeout(() => cb(null), retryTimeout);
+      }
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const headers = parseHeaders(rawHeaders);
+        this.retryCount += 1;
+        if (statusCode >= 300) {
+          this.abort(
+            new RequestRetryError("Request failed", statusCode, {
+              headers,
+              count: this.retryCount
+            })
+          );
+          return false;
         }
-        if (this.matchBase) {
-          if (opts.noglobstar) {
-            throw new TypeError("base matching requires globstar");
+        if (this.resume != null) {
+          this.resume = null;
+          if (statusCode !== 206) {
+            return true;
           }
-          pattern = pattern.map((p) => p.includes("/") ? p : `./**/${p}`);
+          const contentRange = parseRangeHeader(headers["content-range"]);
+          if (!contentRange) {
+            this.abort(
+              new RequestRetryError("Content-Range mismatch", statusCode, {
+                headers,
+                count: this.retryCount
+              })
+            );
+            return false;
+          }
+          if (this.etag != null && this.etag !== headers.etag) {
+            this.abort(
+              new RequestRetryError("ETag mismatch", statusCode, {
+                headers,
+                count: this.retryCount
+              })
+            );
+            return false;
+          }
+          const { start, size, end = size } = contentRange;
+          assert(this.start === start, "content-range mismatch");
+          assert(this.end == null || this.end === end, "content-range mismatch");
+          this.resume = resume;
+          return true;
         }
-        this.pattern = pattern;
-        this.platform = opts.platform || defaultPlatform;
-        this.opts = { ...opts, platform: this.platform };
-        if (opts.scurry) {
-          this.scurry = opts.scurry;
-          if (opts.nocase !== void 0 && opts.nocase !== opts.scurry.nocase) {
-            throw new Error("nocase option contradicts provided scurry option");
+        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 } = range;
+            assert(
+              start != null && Number.isFinite(start) && this.start !== start,
+              "content-range mismatch"
+            );
+            assert(Number.isFinite(start));
+            assert(
+              end != null && Number.isFinite(end) && this.end !== end,
+              "invalid content-length"
+            );
+            this.start = start;
+            this.end = end;
           }
-        } else {
-          const Scurry = opts.platform === "win32" ? path_scurry_1.PathScurryWin32 : opts.platform === "darwin" ? path_scurry_1.PathScurryDarwin : opts.platform ? path_scurry_1.PathScurryPosix : path_scurry_1.PathScurry;
-          this.scurry = new Scurry(this.cwd, {
-            nocase: opts.nocase,
-            fs: opts.fs
-          });
+          if (this.end == null) {
+            const contentLength = headers["content-length"];
+            this.end = contentLength != null ? Number(contentLength) : 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;
+          return this.handler.onHeaders(
+            statusCode,
+            rawHeaders,
+            resume,
+            statusMessage
+          );
         }
-        this.nocase = this.scurry.nocase;
-        const nocaseMagicOnly = this.platform === "darwin" || this.platform === "win32";
-        const mmo = {
-          // default nocase based on platform
-          ...opts,
-          dot: this.dot,
-          matchBase: this.matchBase,
-          nobrace: this.nobrace,
-          nocase: this.nocase,
-          nocaseMagicOnly,
-          nocomment: true,
-          noext: this.noext,
-          nonegate: true,
-          optimizationLevel: 2,
-          platform: this.platform,
-          windowsPathsNoEscape: this.windowsPathsNoEscape,
-          debug: !!this.opts.debug
-        };
-        const mms = this.pattern.map((p) => new minimatch_1.Minimatch(p, mmo));
-        const [matchSet, globParts] = mms.reduce((set2, m) => {
-          set2[0].push(...m.set);
-          set2[1].push(...m.globParts);
-          return set2;
-        }, [[], []]);
-        this.patterns = matchSet.map((set2, i) => {
-          const g = globParts[i];
-          if (!g)
-            throw new Error("invalid pattern object");
-          return new pattern_js_1.Pattern(set2, g, 0, this.platform);
+        const err = new RequestRetryError("Request failed", statusCode, {
+          headers,
+          count: this.retryCount
         });
+        this.abort(err);
+        return false;
       }
-      async walk() {
-        return [
-          ...await new walker_js_1.GlobWalker(this.patterns, this.scurry.cwd, {
-            ...this.opts,
-            maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
-            platform: this.platform,
-            nocase: this.nocase,
-            includeChildMatches: this.includeChildMatches
-          }).walk()
-        ];
-      }
-      walkSync() {
-        return [
-          ...new walker_js_1.GlobWalker(this.patterns, this.scurry.cwd, {
-            ...this.opts,
-            maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
-            platform: this.platform,
-            nocase: this.nocase,
-            includeChildMatches: this.includeChildMatches
-          }).walkSync()
-        ];
-      }
-      stream() {
-        return new walker_js_1.GlobStream(this.patterns, this.scurry.cwd, {
-          ...this.opts,
-          maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
-          platform: this.platform,
-          nocase: this.nocase,
-          includeChildMatches: this.includeChildMatches
-        }).stream();
-      }
-      streamSync() {
-        return new walker_js_1.GlobStream(this.patterns, this.scurry.cwd, {
-          ...this.opts,
-          maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
-          platform: this.platform,
-          nocase: this.nocase,
-          includeChildMatches: this.includeChildMatches
-        }).streamSync();
-      }
-      /**
-       * Default sync iteration function. Returns a Generator that
-       * iterates over the results.
-       */
-      iterateSync() {
-        return this.streamSync()[Symbol.iterator]();
+      onData(chunk) {
+        this.start += chunk.length;
+        return this.handler.onData(chunk);
       }
-      [Symbol.iterator]() {
-        return this.iterateSync();
+      onComplete(rawTrailers) {
+        this.retryCount = 0;
+        return this.handler.onComplete(rawTrailers);
       }
-      /**
-       * Default async iteration function. Returns an AsyncGenerator that
-       * iterates over the results.
-       */
-      iterate() {
-        return this.stream()[Symbol.asyncIterator]();
+      onError(err) {
+        if (this.aborted || isDisturbed(this.opts.body)) {
+          return this.handler.onError(err);
+        }
+        this.retryOpts.retry(
+          err,
+          {
+            state: { counter: this.retryCount++, currentTimeout: this.retryAfter },
+            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) {
+            this.opts = {
+              ...this.opts,
+              headers: {
+                ...this.opts.headers,
+                range: `bytes=${this.start}-${this.end ?? ""}`
+              }
+            };
+          }
+          try {
+            this.dispatch(this.opts, this);
+          } catch (err3) {
+            this.handler.onError(err3);
+          }
+        }
       }
-      [Symbol.asyncIterator]() {
-        return this.iterate();
+    };
+    module2.exports = RetryHandler;
+  }
+});
+
+// node_modules/undici/lib/global.js
+var require_global6 = __commonJS({
+  "node_modules/undici/lib/global.js"(exports2, module2) {
+    "use strict";
+    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
+    var { InvalidArgumentError } = require_errors6();
+    var Agent = require_agent3();
+    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
     };
-    exports2.Glob = Glob;
   }
 });
 
-// node_modules/glob/dist/commonjs/has-magic.js
-var require_has_magic = __commonJS({
-  "node_modules/glob/dist/commonjs/has-magic.js"(exports2) {
+// node_modules/undici/lib/handler/DecoratorHandler.js
+var require_DecoratorHandler = __commonJS({
+  "node_modules/undici/lib/handler/DecoratorHandler.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.hasMagic = void 0;
-    var minimatch_1 = require_commonjs20();
-    var hasMagic = (pattern, options = {}) => {
-      if (!Array.isArray(pattern)) {
-        pattern = [pattern];
+    module2.exports = class DecoratorHandler {
+      constructor(handler2) {
+        this.handler = handler2;
       }
-      for (const p of pattern) {
-        if (new minimatch_1.Minimatch(p, options).hasMagic())
-          return true;
+      onConnect(...args) {
+        return this.handler.onConnect(...args);
+      }
+      onError(...args) {
+        return this.handler.onError(...args);
+      }
+      onUpgrade(...args) {
+        return this.handler.onUpgrade(...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);
       }
-      return false;
     };
-    exports2.hasMagic = hasMagic;
   }
 });
 
-// node_modules/glob/dist/commonjs/index.js
-var require_commonjs24 = __commonJS({
-  "node_modules/glob/dist/commonjs/index.js"(exports2) {
+// node_modules/undici/lib/fetch/headers.js
+var require_headers4 = __commonJS({
+  "node_modules/undici/lib/fetch/headers.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.glob = exports2.sync = exports2.iterate = exports2.iterateSync = exports2.stream = exports2.streamSync = exports2.Ignore = exports2.hasMagic = exports2.Glob = exports2.unescape = exports2.escape = void 0;
-    exports2.globStreamSync = globStreamSync;
-    exports2.globStream = globStream;
-    exports2.globSync = globSync;
-    exports2.globIterateSync = globIterateSync;
-    exports2.globIterate = globIterate;
-    var minimatch_1 = require_commonjs20();
-    var glob_js_1 = require_glob2();
-    var has_magic_js_1 = require_has_magic();
-    var minimatch_2 = require_commonjs20();
-    Object.defineProperty(exports2, "escape", { enumerable: true, get: function() {
-      return minimatch_2.escape;
-    } });
-    Object.defineProperty(exports2, "unescape", { enumerable: true, get: function() {
-      return minimatch_2.unescape;
-    } });
-    var glob_js_2 = require_glob2();
-    Object.defineProperty(exports2, "Glob", { enumerable: true, get: function() {
-      return glob_js_2.Glob;
-    } });
-    var has_magic_js_2 = require_has_magic();
-    Object.defineProperty(exports2, "hasMagic", { enumerable: true, get: function() {
-      return has_magic_js_2.hasMagic;
-    } });
-    var ignore_js_1 = require_ignore();
-    Object.defineProperty(exports2, "Ignore", { enumerable: true, get: function() {
-      return ignore_js_1.Ignore;
-    } });
-    function globStreamSync(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).streamSync();
-    }
-    function globStream(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).stream();
-    }
-    function globSync(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).walkSync();
+    var { kHeadersList, kConstruct } = require_symbols11();
+    var { kGuard } = require_symbols12();
+    var { kEnumerableProperty } = require_util24();
+    var {
+      makeIterator,
+      isValidHeaderName,
+      isValidHeaderValue
+    } = require_util25();
+    var util = require("util");
+    var { webidl } = require_webidl3();
+    var assert = require("assert");
+    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
+    var kHeadersSortedMap = /* @__PURE__ */ Symbol("headers map sorted");
+    function isHTTPWhiteSpaceCharCode(code) {
+      return code === 10 || code === 13 || code === 9 || code === 32;
     }
-    async function glob_(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).walk();
+    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 globIterateSync(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).iterateSync();
+    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 globIterate(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).iterate();
+    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 (headers[kGuard] === "immutable") {
+        throw new TypeError("immutable");
+      } else if (headers[kGuard] === "request-no-cors") {
+      }
+      return headers[kHeadersList].append(name, value);
     }
-    exports2.streamSync = globStreamSync;
-    exports2.stream = Object.assign(globStream, { sync: globStreamSync });
-    exports2.iterateSync = globIterateSync;
-    exports2.iterate = Object.assign(globIterate, {
-      sync: globIterateSync
-    });
-    exports2.sync = Object.assign(globSync, {
-      stream: globStreamSync,
-      iterate: globIterateSync
-    });
-    exports2.glob = Object.assign(glob_, {
-      glob: glob_,
-      globSync,
-      sync: exports2.sync,
-      globStream,
-      stream: exports2.stream,
-      globStreamSync,
-      streamSync: exports2.streamSync,
-      globIterate,
-      iterate: exports2.iterate,
-      globIterateSync,
-      iterateSync: exports2.iterateSync,
-      Glob: glob_js_1.Glob,
-      hasMagic: has_magic_js_1.hasMagic,
-      escape: minimatch_1.escape,
-      unescape: minimatch_1.unescape
-    });
-    exports2.glob.glob = exports2.glob;
-  }
-});
-
-// node_modules/archiver-utils/file.js
-var require_file4 = __commonJS({
-  "node_modules/archiver-utils/file.js"(exports2, module2) {
-    var fs3 = require_graceful_fs();
-    var path4 = require("path");
-    var flatten = require_flatten();
-    var difference = require_difference();
-    var union = require_union();
-    var isPlainObject3 = require_isPlainObject();
-    var glob2 = require_commonjs24();
-    var file = module2.exports = {};
-    var pathSeparatorRe = /[\/\\]/g;
-    var processPatterns = function(patterns, fn) {
-      var result = [];
-      flatten(patterns).forEach(function(pattern) {
-        var exclusion = pattern.indexOf("!") === 0;
-        if (exclusion) {
-          pattern = pattern.slice(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;
         }
-        var matches = fn(pattern);
-        if (exclusion) {
-          result = difference(result, matches);
+      }
+      // https://fetch.spec.whatwg.org/#header-list-contains
+      contains(name) {
+        name = name.toLowerCase();
+        return this[kHeadersMap].has(name);
+      }
+      clear() {
+        this[kHeadersMap].clear();
+        this[kHeadersSortedMap] = null;
+        this.cookies = null;
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-append
+      append(name, value) {
+        this[kHeadersSortedMap] = null;
+        const lowercaseName = name.toLowerCase();
+        const exists = this[kHeadersMap].get(lowercaseName);
+        if (exists) {
+          const delimiter = lowercaseName === "cookie" ? "; " : ", ";
+          this[kHeadersMap].set(lowercaseName, {
+            name: exists.name,
+            value: `${exists.value}${delimiter}${value}`
+          });
         } else {
-          result = union(result, matches);
+          this[kHeadersMap].set(lowercaseName, { name, value });
+        }
+        if (lowercaseName === "set-cookie") {
+          this.cookies ??= [];
+          this.cookies.push(value);
+        }
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-set
+      set(name, value) {
+        this[kHeadersSortedMap] = null;
+        const lowercaseName = name.toLowerCase();
+        if (lowercaseName === "set-cookie") {
+          this.cookies = [value];
+        }
+        this[kHeadersMap].set(lowercaseName, { name, value });
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-delete
+      delete(name) {
+        this[kHeadersSortedMap] = null;
+        name = name.toLowerCase();
+        if (name === "set-cookie") {
+          this.cookies = null;
+        }
+        this[kHeadersMap].delete(name);
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-get
+      get(name) {
+        const value = this[kHeadersMap].get(name.toLowerCase());
+        return value === void 0 ? null : value.value;
+      }
+      *[Symbol.iterator]() {
+        for (const [name, { value }] of this[kHeadersMap]) {
+          yield [name, value];
         }
-      });
-      return result;
-    };
-    file.exists = function() {
-      var filepath = path4.join.apply(path4, arguments);
-      return fs3.existsSync(filepath);
-    };
-    file.expand = function(...args) {
-      var options = isPlainObject3(args[0]) ? args.shift() : {};
-      var patterns = Array.isArray(args[0]) ? args[0] : args;
-      if (patterns.length === 0) {
-        return [];
       }
-      var matches = processPatterns(patterns, function(pattern) {
-        return glob2.sync(pattern, options);
-      });
-      if (options.filter) {
-        matches = matches.filter(function(filepath) {
-          filepath = path4.join(options.cwd || "", filepath);
-          try {
-            if (typeof options.filter === "function") {
-              return options.filter(filepath);
-            } else {
-              return fs3.statSync(filepath)[options.filter]();
-            }
-          } catch (e) {
-            return false;
+      get entries() {
+        const headers = {};
+        if (this[kHeadersMap].size) {
+          for (const { name, value } of this[kHeadersMap].values()) {
+            headers[name] = value;
           }
-        });
+        }
+        return headers;
       }
-      return matches;
     };
-    file.expandMapping = function(patterns, destBase, options) {
-      options = Object.assign({
-        rename: function(destBase2, destPath) {
-          return path4.join(destBase2 || "", destPath);
-        }
-      }, options);
-      var files = [];
-      var fileByDest = {};
-      file.expand(options, patterns).forEach(function(src) {
-        var destPath = src;
-        if (options.flatten) {
-          destPath = path4.basename(destPath);
-        }
-        if (options.ext) {
-          destPath = destPath.replace(/(\.[^\/]*)?$/, options.ext);
+    var Headers = class _Headers {
+      constructor(init = void 0) {
+        if (init === kConstruct) {
+          return;
         }
-        var dest = options.rename(destBase, destPath, options);
-        if (options.cwd) {
-          src = path4.join(options.cwd, src);
+        this[kHeadersList] = new HeadersList();
+        this[kGuard] = "none";
+        if (init !== void 0) {
+          init = webidl.converters.HeadersInit(init);
+          fill(this, init);
         }
-        dest = dest.replace(pathSeparatorRe, "/");
-        src = src.replace(pathSeparatorRe, "/");
-        if (fileByDest[dest]) {
-          fileByDest[dest].src.push(src);
-        } else {
-          files.push({
-            src: [src],
-            dest
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-append
+      append(name, value) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.append" });
+        name = webidl.converters.ByteString(name);
+        value = webidl.converters.ByteString(value);
+        return appendHeader(this, name, value);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-delete
+      delete(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.delete" });
+        name = webidl.converters.ByteString(name);
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.delete",
+            value: name,
+            type: "header name"
           });
-          fileByDest[dest] = files[files.length - 1];
         }
-      });
-      return files;
-    };
-    file.normalizeFilesArray = function(data) {
-      var files = [];
-      data.forEach(function(obj) {
-        var prop;
-        if ("src" in obj || "dest" in obj) {
-          files.push(obj);
+        if (this[kGuard] === "immutable") {
+          throw new TypeError("immutable");
+        } else if (this[kGuard] === "request-no-cors") {
         }
-      });
-      if (files.length === 0) {
-        return [];
-      }
-      files = _(files).chain().forEach(function(obj) {
-        if (!("src" in obj) || !obj.src) {
+        if (!this[kHeadersList].contains(name)) {
           return;
         }
-        if (Array.isArray(obj.src)) {
-          obj.src = flatten(obj.src);
-        } else {
-          obj.src = [obj.src];
+        this[kHeadersList].delete(name);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-get
+      get(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.get" });
+        name = webidl.converters.ByteString(name);
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.get",
+            value: name,
+            type: "header name"
+          });
         }
-      }).map(function(obj) {
-        var expandOptions = Object.assign({}, obj);
-        delete expandOptions.src;
-        delete expandOptions.dest;
-        if (obj.expand) {
-          return file.expandMapping(obj.src, obj.dest, expandOptions).map(function(mapObj) {
-            var result2 = Object.assign({}, obj);
-            result2.orig = Object.assign({}, obj);
-            result2.src = mapObj.src;
-            result2.dest = mapObj.dest;
-            ["expand", "cwd", "flatten", "rename", "ext"].forEach(function(prop) {
-              delete result2[prop];
-            });
-            return result2;
+        return this[kHeadersList].get(name);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-has
+      has(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.has" });
+        name = webidl.converters.ByteString(name);
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.has",
+            value: name,
+            type: "header name"
           });
         }
-        var result = Object.assign({}, obj);
-        result.orig = Object.assign({}, obj);
-        if ("src" in result) {
-          Object.defineProperty(result, "src", {
-            enumerable: true,
-            get: function fn() {
-              var src;
-              if (!("result" in fn)) {
-                src = obj.src;
-                src = Array.isArray(src) ? flatten(src) : [src];
-                fn.result = file.expand(expandOptions, src);
-              }
-              return fn.result;
-            }
+        return this[kHeadersList].contains(name);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-set
+      set(name, value) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.set" });
+        name = webidl.converters.ByteString(name);
+        value = webidl.converters.ByteString(value);
+        value = headerValueNormalize(value);
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.set",
+            value: name,
+            type: "header name"
+          });
+        } else if (!isValidHeaderValue(value)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.set",
+            value,
+            type: "header value"
           });
         }
-        if ("dest" in result) {
-          result.dest = obj.dest;
+        if (this[kGuard] === "immutable") {
+          throw new TypeError("immutable");
+        } else if (this[kGuard] === "request-no-cors") {
         }
-        return result;
-      }).flatten().value();
-      return files;
-    };
-  }
-});
-
-// node_modules/archiver-utils/index.js
-var require_archiver_utils = __commonJS({
-  "node_modules/archiver-utils/index.js"(exports2, module2) {
-    var fs3 = require_graceful_fs();
-    var path4 = require("path");
-    var isStream = require_is_stream();
-    var lazystream = require_lazystream();
-    var normalizePath = require_normalize_path();
-    var defaults = require_defaults();
-    var Stream = require("stream").Stream;
-    var PassThrough = require_ours().PassThrough;
-    var utils = module2.exports = {};
-    utils.file = require_file4();
-    utils.collectStream = function(source, callback) {
-      var collection = [];
-      var size = 0;
-      source.on("error", callback);
-      source.on("data", function(chunk) {
-        collection.push(chunk);
-        size += chunk.length;
-      });
-      source.on("end", function() {
-        var buf = Buffer.alloc(size);
-        var offset = 0;
-        collection.forEach(function(data) {
-          data.copy(buf, offset);
-          offset += data.length;
-        });
-        callback(null, buf);
-      });
-    };
-    utils.dateify = function(dateish) {
-      dateish = dateish || /* @__PURE__ */ new Date();
-      if (dateish instanceof Date) {
-        dateish = dateish;
-      } else if (typeof dateish === "string") {
-        dateish = new Date(dateish);
-      } else {
-        dateish = /* @__PURE__ */ new Date();
-      }
-      return dateish;
-    };
-    utils.defaults = function(object, source, guard) {
-      var args = arguments;
-      args[0] = args[0] || {};
-      return defaults(...args);
-    };
-    utils.isStream = function(source) {
-      return isStream(source);
-    };
-    utils.lazyReadStream = function(filepath) {
-      return new lazystream.Readable(function() {
-        return fs3.createReadStream(filepath);
-      });
-    };
-    utils.normalizeInputSource = function(source) {
-      if (source === null) {
-        return Buffer.alloc(0);
-      } else if (typeof source === "string") {
-        return Buffer.from(source);
-      } else if (utils.isStream(source)) {
-        return source.pipe(new PassThrough());
+        this[kHeadersList].set(name, value);
       }
-      return source;
-    };
-    utils.sanitizePath = function(filepath) {
-      return normalizePath(filepath, false).replace(/^\w+:/, "").replace(/^(\.\.\/|\/)+/, "");
-    };
-    utils.trailingSlashIt = function(str2) {
-      return str2.slice(-1) !== "/" ? str2 + "/" : str2;
-    };
-    utils.unixifyPath = function(filepath) {
-      return normalizePath(filepath, false).replace(/^\w+:/, "");
-    };
-    utils.walkdir = function(dirpath, base, callback) {
-      var results = [];
-      if (typeof base === "function") {
-        callback = base;
-        base = dirpath;
+      // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
+      getSetCookie() {
+        webidl.brandCheck(this, _Headers);
+        const list = this[kHeadersList].cookies;
+        if (list) {
+          return [...list];
+        }
+        return [];
       }
-      fs3.readdir(dirpath, function(err, list) {
-        var i = 0;
-        var file;
-        var filepath;
-        if (err) {
-          return callback(err);
+      // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
+      get [kHeadersSortedMap]() {
+        if (this[kHeadersList][kHeadersSortedMap]) {
+          return this[kHeadersList][kHeadersSortedMap];
         }
-        (function next() {
-          file = list[i++];
-          if (!file) {
-            return callback(null, results);
-          }
-          filepath = path4.join(dirpath, file);
-          fs3.stat(filepath, function(err2, stats) {
-            results.push({
-              path: filepath,
-              relative: path4.relative(base, filepath).replace(/\\/g, "/"),
-              stats
-            });
-            if (stats && stats.isDirectory()) {
-              utils.walkdir(filepath, base, function(err3, res) {
-                if (err3) {
-                  return callback(err3);
-                }
-                res.forEach(function(dirEntry) {
-                  results.push(dirEntry);
-                });
-                next();
-              });
-            } else {
-              next();
+        const headers = [];
+        const names = [...this[kHeadersList]].sort((a, b) => a[0] < b[0] ? -1 : 1);
+        const cookies = this[kHeadersList].cookies;
+        for (let i = 0; i < names.length; ++i) {
+          const [name, value] = names[i];
+          if (name === "set-cookie") {
+            for (let j = 0; j < cookies.length; ++j) {
+              headers.push([name, cookies[j]]);
             }
-          });
-        })();
-      });
-    };
-  }
-});
-
-// node_modules/archiver/lib/error.js
-var require_error3 = __commonJS({
-  "node_modules/archiver/lib/error.js"(exports2, module2) {
-    var util = require("util");
-    var ERROR_CODES = {
-      "ABORTED": "archive was aborted",
-      "DIRECTORYDIRPATHREQUIRED": "diretory dirpath argument must be a non-empty string value",
-      "DIRECTORYFUNCTIONINVALIDDATA": "invalid data returned by directory custom data function",
-      "ENTRYNAMEREQUIRED": "entry name must be a non-empty string value",
-      "FILEFILEPATHREQUIRED": "file filepath argument must be a non-empty string value",
-      "FINALIZING": "archive already finalizing",
-      "QUEUECLOSED": "queue closed",
-      "NOENDMETHOD": "no suitable finalize/end method defined by module",
-      "DIRECTORYNOTSUPPORTED": "support for directory entries not defined by module",
-      "FORMATSET": "archive format already set",
-      "INPUTSTEAMBUFFERREQUIRED": "input source must be valid Stream or Buffer instance",
-      "MODULESET": "module already set",
-      "SYMLINKNOTSUPPORTED": "support for symlink entries not defined by module",
-      "SYMLINKFILEPATHREQUIRED": "symlink filepath argument must be a non-empty string value",
-      "SYMLINKTARGETREQUIRED": "symlink target argument must be a non-empty string value",
-      "ENTRYNOTSUPPORTED": "entry not supported"
-    };
-    function ArchiverError(code, data) {
-      Error.captureStackTrace(this, this.constructor);
-      this.message = ERROR_CODES[code] || code;
-      this.code = code;
-      this.data = data;
-    }
-    util.inherits(ArchiverError, Error);
-    exports2 = module2.exports = ArchiverError;
-  }
-});
-
-// node_modules/archiver/lib/core.js
-var require_core2 = __commonJS({
-  "node_modules/archiver/lib/core.js"(exports2, module2) {
-    var fs3 = require("fs");
-    var glob2 = require_readdir_glob();
-    var async = require_async();
-    var path4 = require("path");
-    var util = require_archiver_utils();
-    var inherits = require("util").inherits;
-    var ArchiverError = require_error3();
-    var Transform = require_ours().Transform;
-    var win32 = process.platform === "win32";
-    var Archiver = function(format, options) {
-      if (!(this instanceof Archiver)) {
-        return new Archiver(format, options);
-      }
-      if (typeof format !== "string") {
-        options = format;
-        format = "zip";
-      }
-      options = this.options = util.defaults(options, {
-        highWaterMark: 1024 * 1024,
-        statConcurrency: 4
-      });
-      Transform.call(this, options);
-      this._format = false;
-      this._module = false;
-      this._pending = 0;
-      this._pointer = 0;
-      this._entriesCount = 0;
-      this._entriesProcessedCount = 0;
-      this._fsEntriesTotalBytes = 0;
-      this._fsEntriesProcessedBytes = 0;
-      this._queue = async.queue(this._onQueueTask.bind(this), 1);
-      this._queue.drain(this._onQueueDrain.bind(this));
-      this._statQueue = async.queue(this._onStatQueueTask.bind(this), options.statConcurrency);
-      this._statQueue.drain(this._onQueueDrain.bind(this));
-      this._state = {
-        aborted: false,
-        finalize: false,
-        finalizing: false,
-        finalized: false,
-        modulePiped: false
-      };
-      this._streams = [];
-    };
-    inherits(Archiver, Transform);
-    Archiver.prototype._abort = function() {
-      this._state.aborted = true;
-      this._queue.kill();
-      this._statQueue.kill();
-      if (this._queue.idle()) {
-        this._shutdown();
+          } else {
+            assert(value !== null);
+            headers.push([name, value]);
+          }
+        }
+        this[kHeadersList][kHeadersSortedMap] = headers;
+        return headers;
       }
-    };
-    Archiver.prototype._append = function(filepath, data) {
-      data = data || {};
-      var task = {
-        source: null,
-        filepath
-      };
-      if (!data.name) {
-        data.name = filepath;
+      keys() {
+        webidl.brandCheck(this, _Headers);
+        if (this[kGuard] === "immutable") {
+          const value = this[kHeadersSortedMap];
+          return makeIterator(
+            () => value,
+            "Headers",
+            "key"
+          );
+        }
+        return makeIterator(
+          () => [...this[kHeadersSortedMap].values()],
+          "Headers",
+          "key"
+        );
       }
-      data.sourcePath = filepath;
-      task.data = data;
-      this._entriesCount++;
-      if (data.stats && data.stats instanceof fs3.Stats) {
-        task = this._updateQueueTaskWithStats(task, data.stats);
-        if (task) {
-          if (data.stats.size) {
-            this._fsEntriesTotalBytes += data.stats.size;
-          }
-          this._queue.push(task);
+      values() {
+        webidl.brandCheck(this, _Headers);
+        if (this[kGuard] === "immutable") {
+          const value = this[kHeadersSortedMap];
+          return makeIterator(
+            () => value,
+            "Headers",
+            "value"
+          );
         }
-      } else {
-        this._statQueue.push(task);
+        return makeIterator(
+          () => [...this[kHeadersSortedMap].values()],
+          "Headers",
+          "value"
+        );
       }
-    };
-    Archiver.prototype._finalize = function() {
-      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
-        return;
+      entries() {
+        webidl.brandCheck(this, _Headers);
+        if (this[kGuard] === "immutable") {
+          const value = this[kHeadersSortedMap];
+          return makeIterator(
+            () => value,
+            "Headers",
+            "key+value"
+          );
+        }
+        return makeIterator(
+          () => [...this[kHeadersSortedMap].values()],
+          "Headers",
+          "key+value"
+        );
       }
-      this._state.finalizing = true;
-      this._moduleFinalize();
-      this._state.finalizing = false;
-      this._state.finalized = true;
-    };
-    Archiver.prototype._maybeFinalize = function() {
-      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
-        return false;
+      /**
+       * @param {(value: string, key: string, self: Headers) => void} callbackFn
+       * @param {unknown} thisArg
+       */
+      forEach(callbackFn, thisArg = globalThis) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.forEach" });
+        if (typeof callbackFn !== "function") {
+          throw new TypeError(
+            "Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'."
+          );
+        }
+        for (const [key, value] of this) {
+          callbackFn.apply(thisArg, [value, key, this]);
+        }
       }
-      if (this._state.finalize && this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
-        this._finalize();
-        return true;
+      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")]() {
+        webidl.brandCheck(this, _Headers);
+        return this[kHeadersList];
       }
-      return false;
     };
-    Archiver.prototype._moduleAppend = function(source, data, callback) {
-      if (this._state.aborted) {
-        callback();
-        return;
+    Headers.prototype[Symbol.iterator] = Headers.prototype.entries;
+    Object.defineProperties(Headers.prototype, {
+      append: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      get: kEnumerableProperty,
+      has: kEnumerableProperty,
+      set: kEnumerableProperty,
+      getSetCookie: kEnumerableProperty,
+      keys: kEnumerableProperty,
+      values: kEnumerableProperty,
+      entries: kEnumerableProperty,
+      forEach: kEnumerableProperty,
+      [Symbol.iterator]: { enumerable: false },
+      [Symbol.toStringTag]: {
+        value: "Headers",
+        configurable: true
+      },
+      [util.inspect.custom]: {
+        enumerable: false
       }
-      this._module.append(source, data, function(err) {
-        this._task = null;
-        if (this._state.aborted) {
-          this._shutdown();
-          return;
-        }
-        if (err) {
-          this.emit("error", err);
-          setImmediate(callback);
-          return;
-        }
-        this.emit("entry", data);
-        this._entriesProcessedCount++;
-        if (data.stats && data.stats.size) {
-          this._fsEntriesProcessedBytes += data.stats.size;
+    });
+    webidl.converters.HeadersInit = function(V) {
+      if (webidl.util.Type(V) === "Object") {
+        if (V[Symbol.iterator]) {
+          return webidl.converters["sequence>"](V);
         }
-        this.emit("progress", {
-          entries: {
-            total: this._entriesCount,
-            processed: this._entriesProcessedCount
-          },
-          fs: {
-            totalBytes: this._fsEntriesTotalBytes,
-            processedBytes: this._fsEntriesProcessedBytes
-          }
-        });
-        setImmediate(callback);
-      }.bind(this));
-    };
-    Archiver.prototype._moduleFinalize = function() {
-      if (typeof this._module.finalize === "function") {
-        this._module.finalize();
-      } else if (typeof this._module.end === "function") {
-        this._module.end();
-      } else {
-        this.emit("error", new ArchiverError("NOENDMETHOD"));
+        return webidl.converters["record"](V);
       }
+      throw webidl.errors.conversionFailed({
+        prefix: "Headers constructor",
+        argument: "Argument 1",
+        types: ["sequence>", "record"]
+      });
     };
-    Archiver.prototype._modulePipe = function() {
-      this._module.on("error", this._onModuleError.bind(this));
-      this._module.pipe(this);
-      this._state.modulePiped = true;
+    module2.exports = {
+      fill,
+      Headers,
+      HeadersList
     };
-    Archiver.prototype._moduleSupports = function(key) {
-      if (!this._module.supports || !this._module.supports[key]) {
-        return false;
+  }
+});
+
+// node_modules/undici/lib/fetch/response.js
+var require_response4 = __commonJS({
+  "node_modules/undici/lib/fetch/response.js"(exports2, module2) {
+    "use strict";
+    var { Headers, HeadersList, fill } = require_headers4();
+    var { extractBody, cloneBody, mixinBody } = require_body3();
+    var util = require_util24();
+    var { kEnumerableProperty } = util;
+    var {
+      isValidReasonPhrase,
+      isCancelled,
+      isAborted,
+      isBlobLike,
+      serializeJavascriptValueToJSONString,
+      isErrorLike,
+      isomorphicEncode
+    } = require_util25();
+    var {
+      redirectStatusSet,
+      nullBodyStatus,
+      DOMException: DOMException2
+    } = require_constants21();
+    var { kState, kHeaders, kGuard, kRealm } = require_symbols12();
+    var { webidl } = require_webidl3();
+    var { FormData: FormData2 } = require_formdata3();
+    var { getGlobalOrigin } = require_global5();
+    var { URLSerializer } = require_dataURL();
+    var { kHeadersList, kConstruct } = require_symbols11();
+    var assert = require("assert");
+    var { types } = require("util");
+    var ReadableStream2 = globalThis.ReadableStream || require("stream/web").ReadableStream;
+    var textEncoder = new TextEncoder("utf-8");
+    var Response = class _Response {
+      // Creates network error Response.
+      static error() {
+        const relevantRealm = { settingsObject: {} };
+        const responseObject = new _Response();
+        responseObject[kState] = makeNetworkError();
+        responseObject[kRealm] = relevantRealm;
+        responseObject[kHeaders][kHeadersList] = responseObject[kState].headersList;
+        responseObject[kHeaders][kGuard] = "immutable";
+        responseObject[kHeaders][kRealm] = relevantRealm;
+        return responseObject;
       }
-      return this._module.supports[key];
-    };
-    Archiver.prototype._moduleUnpipe = function() {
-      this._module.unpipe(this);
-      this._state.modulePiped = false;
-    };
-    Archiver.prototype._normalizeEntryData = function(data, stats) {
-      data = util.defaults(data, {
-        type: "file",
-        name: null,
-        date: null,
-        mode: null,
-        prefix: null,
-        sourcePath: null,
-        stats: false
-      });
-      if (stats && data.stats === false) {
-        data.stats = stats;
+      // https://fetch.spec.whatwg.org/#dom-response-json
+      static json(data, init = {}) {
+        webidl.argumentLengthCheck(arguments, 1, { header: "Response.json" });
+        if (init !== null) {
+          init = webidl.converters.ResponseInit(init);
+        }
+        const bytes = textEncoder.encode(
+          serializeJavascriptValueToJSONString(data)
+        );
+        const body = extractBody(bytes);
+        const relevantRealm = { settingsObject: {} };
+        const responseObject = new _Response();
+        responseObject[kRealm] = relevantRealm;
+        responseObject[kHeaders][kGuard] = "response";
+        responseObject[kHeaders][kRealm] = relevantRealm;
+        initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
+        return responseObject;
       }
-      var isDir = data.type === "directory";
-      if (data.name) {
-        if (typeof data.prefix === "string" && "" !== data.prefix) {
-          data.name = data.prefix + "/" + data.name;
-          data.prefix = null;
+      // Creates a redirect Response that redirects to url with status status.
+      static redirect(url, status = 302) {
+        const relevantRealm = { settingsObject: {} };
+        webidl.argumentLengthCheck(arguments, 1, { header: "Response.redirect" });
+        url = webidl.converters.USVString(url);
+        status = webidl.converters["unsigned short"](status);
+        let parsedURL;
+        try {
+          parsedURL = new URL(url, getGlobalOrigin());
+        } catch (err) {
+          throw Object.assign(new TypeError("Failed to parse URL from " + url), {
+            cause: err
+          });
         }
-        data.name = util.sanitizePath(data.name);
-        if (data.type !== "symlink" && data.name.slice(-1) === "/") {
-          isDir = true;
-          data.type = "directory";
-        } else if (isDir) {
-          data.name += "/";
+        if (!redirectStatusSet.has(status)) {
+          throw new RangeError("Invalid status code " + status);
         }
+        const responseObject = new _Response();
+        responseObject[kRealm] = relevantRealm;
+        responseObject[kHeaders][kGuard] = "immutable";
+        responseObject[kHeaders][kRealm] = relevantRealm;
+        responseObject[kState].status = status;
+        const value = isomorphicEncode(URLSerializer(parsedURL));
+        responseObject[kState].headersList.append("location", value);
+        return responseObject;
       }
-      if (typeof data.mode === "number") {
-        if (win32) {
-          data.mode &= 511;
-        } else {
-          data.mode &= 4095;
+      // https://fetch.spec.whatwg.org/#dom-response
+      constructor(body = null, init = {}) {
+        if (body !== null) {
+          body = webidl.converters.BodyInit(body);
         }
-      } else if (data.stats && data.mode === null) {
-        if (win32) {
-          data.mode = data.stats.mode & 511;
-        } else {
-          data.mode = data.stats.mode & 4095;
+        init = webidl.converters.ResponseInit(init);
+        this[kRealm] = { settingsObject: {} };
+        this[kState] = makeResponse({});
+        this[kHeaders] = new Headers(kConstruct);
+        this[kHeaders][kGuard] = "response";
+        this[kHeaders][kHeadersList] = this[kState].headersList;
+        this[kHeaders][kRealm] = this[kRealm];
+        let bodyWithType = null;
+        if (body != null) {
+          const [extractedBody, type2] = extractBody(body);
+          bodyWithType = { body: extractedBody, type: type2 };
         }
-        if (win32 && isDir) {
-          data.mode = 493;
+        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 "";
         }
-      } else if (data.mode === null) {
-        data.mode = isDir ? 493 : 420;
+        return URLSerializer(url, true);
       }
-      if (data.stats && data.date === null) {
-        data.date = data.stats.mtime;
-      } else {
-        data.date = util.dateify(data.date);
+      // Returns whether response was obtained through a redirect.
+      get redirected() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].urlList.length > 1;
       }
-      return data;
-    };
-    Archiver.prototype._onModuleError = function(err) {
-      this.emit("error", err);
-    };
-    Archiver.prototype._onQueueDrain = function() {
-      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
-        return;
+      // Returns response’s status.
+      get status() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status;
       }
-      if (this._state.finalize && this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
-        this._finalize();
+      // Returns whether response’s status is an ok status.
+      get ok() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status >= 200 && this[kState].status <= 299;
       }
-    };
-    Archiver.prototype._onQueueTask = function(task, callback) {
-      var fullCallback = () => {
-        if (task.data.callback) {
-          task.data.callback();
-        }
-        callback();
-      };
-      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
-        fullCallback();
-        return;
+      // Returns response’s status message.
+      get statusText() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].statusText;
       }
-      this._task = task;
-      this._moduleAppend(task.source, task.data, fullCallback);
-    };
-    Archiver.prototype._onStatQueueTask = function(task, callback) {
-      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
-        callback();
-        return;
+      // Returns response’s headers as Headers.
+      get headers() {
+        webidl.brandCheck(this, _Response);
+        return this[kHeaders];
       }
-      fs3.lstat(task.filepath, function(err, stats) {
-        if (this._state.aborted) {
-          setImmediate(callback);
-          return;
-        }
-        if (err) {
-          this._entriesCount--;
-          this.emit("warning", err);
-          setImmediate(callback);
-          return;
-        }
-        task = this._updateQueueTaskWithStats(task, stats);
-        if (task) {
-          if (stats.size) {
-            this._fsEntriesTotalBytes += stats.size;
-          }
-          this._queue.push(task);
-        }
-        setImmediate(callback);
-      }.bind(this));
-    };
-    Archiver.prototype._shutdown = function() {
-      this._moduleUnpipe();
-      this.end();
-    };
-    Archiver.prototype._transform = function(chunk, encoding, callback) {
-      if (chunk) {
-        this._pointer += chunk.length;
+      get body() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      callback(null, chunk);
-    };
-    Archiver.prototype._updateQueueTaskWithStats = function(task, stats) {
-      if (stats.isFile()) {
-        task.data.type = "file";
-        task.data.sourceType = "stream";
-        task.source = util.lazyReadStream(task.filepath);
-      } else if (stats.isDirectory() && this._moduleSupports("directory")) {
-        task.data.name = util.trailingSlashIt(task.data.name);
-        task.data.type = "directory";
-        task.data.sourcePath = util.trailingSlashIt(task.filepath);
-        task.data.sourceType = "buffer";
-        task.source = Buffer.concat([]);
-      } else if (stats.isSymbolicLink() && this._moduleSupports("symlink")) {
-        var linkPath = fs3.readlinkSync(task.filepath);
-        var dirName = path4.dirname(task.filepath);
-        task.data.type = "symlink";
-        task.data.linkname = path4.relative(dirName, path4.resolve(dirName, linkPath));
-        task.data.sourceType = "buffer";
-        task.source = Buffer.concat([]);
-      } else {
-        if (stats.isDirectory()) {
-          this.emit("warning", new ArchiverError("DIRECTORYNOTSUPPORTED", task.data));
-        } else if (stats.isSymbolicLink()) {
-          this.emit("warning", new ArchiverError("SYMLINKNOTSUPPORTED", task.data));
-        } else {
-          this.emit("warning", new ArchiverError("ENTRYNOTSUPPORTED", task.data));
-        }
-        return null;
+      get bodyUsed() {
+        webidl.brandCheck(this, _Response);
+        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
       }
-      task.data = this._normalizeEntryData(task.data, stats);
-      return task;
-    };
-    Archiver.prototype.abort = function() {
-      if (this._state.aborted || this._state.finalized) {
-        return this;
+      // Returns a clone of response.
+      clone() {
+        webidl.brandCheck(this, _Response);
+        if (this.bodyUsed || this.body && this.body.locked) {
+          throw webidl.errors.exception({
+            header: "Response.clone",
+            message: "Body has already been consumed."
+          });
+        }
+        const clonedResponse = cloneResponse(this[kState]);
+        const clonedResponseObject = new _Response();
+        clonedResponseObject[kState] = clonedResponse;
+        clonedResponseObject[kRealm] = this[kRealm];
+        clonedResponseObject[kHeaders][kHeadersList] = clonedResponse.headersList;
+        clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard];
+        clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm];
+        return clonedResponseObject;
       }
-      this._abort();
-      return this;
     };
-    Archiver.prototype.append = function(source, data) {
-      if (this._state.finalize || this._state.aborted) {
-        this.emit("error", new ArchiverError("QUEUECLOSED"));
-        return this;
-      }
-      data = this._normalizeEntryData(data);
-      if (typeof data.name !== "string" || data.name.length === 0) {
-        this.emit("error", new ArchiverError("ENTRYNAMEREQUIRED"));
-        return this;
+    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
       }
-      if (data.type === "directory" && !this._moduleSupports("directory")) {
-        this.emit("error", new ArchiverError("DIRECTORYNOTSUPPORTED", { name: data.name }));
-        return this;
+    });
+    Object.defineProperties(Response, {
+      json: kEnumerableProperty,
+      redirect: kEnumerableProperty,
+      error: kEnumerableProperty
+    });
+    function cloneResponse(response) {
+      if (response.internalResponse) {
+        return filterResponse(
+          cloneResponse(response.internalResponse),
+          response.type
+        );
       }
-      source = util.normalizeInputSource(source);
-      if (Buffer.isBuffer(source)) {
-        data.sourceType = "buffer";
-      } else if (util.isStream(source)) {
-        data.sourceType = "stream";
-      } else {
-        this.emit("error", new ArchiverError("INPUTSTEAMBUFFERREQUIRED", { name: data.name }));
-        return this;
+      const newResponse = makeResponse({ ...response, body: null });
+      if (response.body != null) {
+        newResponse.body = cloneBody(response.body);
       }
-      this._entriesCount++;
-      this._queue.push({
-        data,
-        source
+      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"
       });
-      return this;
-    };
-    Archiver.prototype.directory = function(dirpath, destpath, data) {
-      if (this._state.finalize || this._state.aborted) {
-        this.emit("error", new ArchiverError("QUEUECLOSED"));
-        return this;
+    }
+    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, type2) {
+      if (type2 === "basic") {
+        return makeFilteredResponse(response, {
+          type: "basic",
+          headersList: response.headersList
+        });
+      } else if (type2 === "cors") {
+        return makeFilteredResponse(response, {
+          type: "cors",
+          headersList: response.headersList
+        });
+      } else if (type2 === "opaque") {
+        return makeFilteredResponse(response, {
+          type: "opaque",
+          urlList: Object.freeze([]),
+          status: 0,
+          statusText: "",
+          body: null
+        });
+      } else if (type2 === "opaqueredirect") {
+        return makeFilteredResponse(response, {
+          type: "opaqueredirect",
+          status: 0,
+          statusText: "",
+          headersList: [],
+          body: null
+        });
+      } else {
+        assert(false);
       }
-      if (typeof dirpath !== "string" || dirpath.length === 0) {
-        this.emit("error", new ArchiverError("DIRECTORYDIRPATHREQUIRED"));
-        return this;
+    }
+    function makeAppropriateNetworkError(fetchParams, err = null) {
+      assert(isCancelled(fetchParams));
+      return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException2("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException2("Request was cancelled."), { cause: err }));
+    }
+    function initializeResponse(response, init, body) {
+      if (init.status !== null && (init.status < 200 || init.status > 599)) {
+        throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
       }
-      this._pending++;
-      if (destpath === false) {
-        destpath = "";
-      } else if (typeof destpath !== "string") {
-        destpath = dirpath;
+      if ("statusText" in init && init.statusText != null) {
+        if (!isValidReasonPhrase(String(init.statusText))) {
+          throw new TypeError("Invalid statusText");
+        }
       }
-      var dataFunction = false;
-      if (typeof data === "function") {
-        dataFunction = data;
-        data = {};
-      } else if (typeof data !== "object") {
-        data = {};
+      if ("status" in init && init.status != null) {
+        response[kState].status = init.status;
       }
-      var globOptions = {
-        stat: true,
-        dot: true
-      };
-      function onGlobEnd() {
-        this._pending--;
-        this._maybeFinalize();
+      if ("statusText" in init && init.statusText != null) {
+        response[kState].statusText = init.statusText;
       }
-      function onGlobError(err) {
-        this.emit("error", err);
+      if ("headers" in init && init.headers != null) {
+        fill(response[kHeaders], init.headers);
       }
-      function onGlobMatch(match) {
-        globber.pause();
-        var ignoreMatch = false;
-        var entryData = Object.assign({}, data);
-        entryData.name = match.relative;
-        entryData.prefix = destpath;
-        entryData.stats = match.stat;
-        entryData.callback = globber.resume.bind(globber);
-        try {
-          if (dataFunction) {
-            entryData = dataFunction(entryData);
-            if (entryData === false) {
-              ignoreMatch = true;
-            } else if (typeof entryData !== "object") {
-              throw new ArchiverError("DIRECTORYFUNCTIONINVALIDDATA", { dirpath });
-            }
-          }
-        } catch (e) {
-          this.emit("error", e);
-          return;
+      if (body) {
+        if (nullBodyStatus.includes(response.status)) {
+          throw webidl.errors.exception({
+            header: "Response constructor",
+            message: "Invalid response status code " + response.status
+          });
         }
-        if (ignoreMatch) {
-          globber.resume();
-          return;
+        response[kState].body = body.body;
+        if (body.type != null && !response[kState].headersList.contains("Content-Type")) {
+          response[kState].headersList.append("content-type", body.type);
         }
-        this._append(match.absolute, entryData);
       }
-      var globber = glob2(dirpath, globOptions);
-      globber.on("error", onGlobError.bind(this));
-      globber.on("match", onGlobMatch.bind(this));
-      globber.on("end", onGlobEnd.bind(this));
-      return this;
-    };
-    Archiver.prototype.file = function(filepath, data) {
-      if (this._state.finalize || this._state.aborted) {
-        this.emit("error", new ArchiverError("QUEUECLOSED"));
-        return this;
+    }
+    webidl.converters.ReadableStream = webidl.interfaceConverter(
+      ReadableStream2
+    );
+    webidl.converters.FormData = webidl.interfaceConverter(
+      FormData2
+    );
+    webidl.converters.URLSearchParams = webidl.interfaceConverter(
+      URLSearchParams
+    );
+    webidl.converters.XMLHttpRequestBodyInit = function(V) {
+      if (typeof V === "string") {
+        return webidl.converters.USVString(V);
       }
-      if (typeof filepath !== "string" || filepath.length === 0) {
-        this.emit("error", new ArchiverError("FILEFILEPATHREQUIRED"));
-        return this;
+      if (isBlobLike(V)) {
+        return webidl.converters.Blob(V, { strict: false });
       }
-      this._append(filepath, data);
-      return this;
-    };
-    Archiver.prototype.glob = function(pattern, options, data) {
-      this._pending++;
-      options = util.defaults(options, {
-        stat: true,
-        pattern
-      });
-      function onGlobEnd() {
-        this._pending--;
-        this._maybeFinalize();
+      if (types.isArrayBuffer(V) || types.isTypedArray(V) || types.isDataView(V)) {
+        return webidl.converters.BufferSource(V);
       }
-      function onGlobError(err) {
-        this.emit("error", err);
+      if (util.isFormDataLike(V)) {
+        return webidl.converters.FormData(V, { strict: false });
       }
-      function onGlobMatch(match) {
-        globber.pause();
-        var entryData = Object.assign({}, data);
-        entryData.callback = globber.resume.bind(globber);
-        entryData.stats = match.stat;
-        entryData.name = match.relative;
-        this._append(match.absolute, entryData);
+      if (V instanceof URLSearchParams) {
+        return webidl.converters.URLSearchParams(V);
       }
-      var globber = glob2(options.cwd || ".", options);
-      globber.on("error", onGlobError.bind(this));
-      globber.on("match", onGlobMatch.bind(this));
-      globber.on("end", onGlobEnd.bind(this));
-      return this;
+      return webidl.converters.DOMString(V);
     };
-    Archiver.prototype.finalize = function() {
-      if (this._state.aborted) {
-        var abortedError = new ArchiverError("ABORTED");
-        this.emit("error", abortedError);
-        return Promise.reject(abortedError);
+    webidl.converters.BodyInit = function(V) {
+      if (V instanceof ReadableStream2) {
+        return webidl.converters.ReadableStream(V);
       }
-      if (this._state.finalize) {
-        var finalizingError = new ArchiverError("FINALIZING");
-        this.emit("error", finalizingError);
-        return Promise.reject(finalizingError);
+      if (V?.[Symbol.asyncIterator]) {
+        return V;
       }
-      this._state.finalize = true;
-      if (this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
-        this._finalize();
+      return webidl.converters.XMLHttpRequestBodyInit(V);
+    };
+    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
       }
-      var self2 = this;
-      return new Promise(function(resolve3, reject) {
-        var errored;
-        self2._module.on("end", function() {
-          if (!errored) {
-            resolve3();
+    ]);
+    module2.exports = {
+      makeNetworkError,
+      makeResponse,
+      makeAppropriateNetworkError,
+      filterResponse,
+      Response,
+      cloneResponse
+    };
+  }
+});
+
+// node_modules/undici/lib/fetch/request.js
+var require_request6 = __commonJS({
+  "node_modules/undici/lib/fetch/request.js"(exports2, module2) {
+    "use strict";
+    var { extractBody, mixinBody, cloneBody } = require_body3();
+    var { Headers, fill: fillHeaders, HeadersList } = require_headers4();
+    var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref3()();
+    var util = require_util24();
+    var {
+      isValidHTTPToken,
+      sameOrigin,
+      normalizeMethod,
+      makePolicyContainer,
+      normalizeMethodRecord
+    } = require_util25();
+    var {
+      forbiddenMethodsSet,
+      corsSafeListedMethodsSet,
+      referrerPolicy,
+      requestRedirect,
+      requestMode,
+      requestCredentials,
+      requestCache,
+      requestDuplex
+    } = require_constants21();
+    var { kEnumerableProperty } = util;
+    var { kHeaders, kSignal, kState, kGuard, kRealm } = require_symbols12();
+    var { webidl } = require_webidl3();
+    var { getGlobalOrigin } = require_global5();
+    var { URLSerializer } = require_dataURL();
+    var { kHeadersList, kConstruct } = require_symbols11();
+    var assert = require("assert");
+    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events");
+    var TransformStream2 = globalThis.TransformStream;
+    var kAbortController = /* @__PURE__ */ Symbol("abortController");
+    var requestFinalizer = new FinalizationRegistry2(({ signal, abort }) => {
+      signal.removeEventListener("abort", abort);
+    });
+    var Request = class _Request {
+      // https://fetch.spec.whatwg.org/#dom-request
+      constructor(input, init = {}) {
+        if (input === kConstruct) {
+          return;
+        }
+        webidl.argumentLengthCheck(arguments, 1, { header: "Request constructor" });
+        input = webidl.converters.RequestInfo(input);
+        init = webidl.converters.RequestInit(init);
+        this[kRealm] = {
+          settingsObject: {
+            baseUrl: getGlobalOrigin(),
+            get origin() {
+              return this.baseUrl?.origin;
+            },
+            policyContainer: makePolicyContainer()
           }
+        };
+        let request2 = null;
+        let fallbackMode = null;
+        const baseUrl = this[kRealm].settingsObject.baseUrl;
+        let signal = null;
+        if (typeof input === "string") {
+          let parsedURL;
+          try {
+            parsedURL = new URL(input, baseUrl);
+          } 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 {
+          assert(input instanceof _Request);
+          request2 = input[kState];
+          signal = input[kSignal];
+        }
+        const origin = this[kRealm].settingsObject.origin;
+        let window2 = "client";
+        if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
+          window2 = request2.window;
+        }
+        if (init.window != null) {
+          throw new TypeError(`'window' option '${window2}' must be null`);
+        }
+        if ("window" in init) {
+          window2 = "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: this[kRealm].settingsObject,
+          // window window.
+          window: window2,
+          // 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]
         });
-        self2._module.on("error", function(err) {
-          errored = true;
-          reject(err);
-        });
-      });
-    };
-    Archiver.prototype.setFormat = function(format) {
-      if (this._format) {
-        this.emit("error", new ArchiverError("FORMATSET"));
-        return this;
+        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, this[kRealm].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;
+          if (!isValidHTTPToken(method)) {
+            throw new TypeError(`'${method}' is not a valid HTTP method.`);
+          }
+          if (forbiddenMethodsSet.has(method.toUpperCase())) {
+            throw new TypeError(`'${method}' HTTP method is unsupported.`);
+          }
+          method = normalizeMethodRecord[method] ?? normalizeMethod(method);
+          request2.method = method;
+        }
+        if (init.signal !== void 0) {
+          signal = init.signal;
+        }
+        this[kState] = request2;
+        const ac = new AbortController();
+        this[kSignal] = ac.signal;
+        this[kSignal][kRealm] = this[kRealm];
+        if (signal != null) {
+          if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") {
+            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 = function() {
+              const ac2 = acRef.deref();
+              if (ac2 !== void 0) {
+                ac2.abort(this.reason);
+              }
+            };
+            try {
+              if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) {
+                setMaxListeners(100, signal);
+              } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) {
+                setMaxListeners(100, signal);
+              }
+            } catch {
+            }
+            util.addAbortListener(signal, abort);
+            requestFinalizer.register(ac, { signal, abort });
+          }
+        }
+        this[kHeaders] = new Headers(kConstruct);
+        this[kHeaders][kHeadersList] = request2.headersList;
+        this[kHeaders][kGuard] = "request";
+        this[kHeaders][kRealm] = this[kRealm];
+        if (mode === "no-cors") {
+          if (!corsSafeListedMethodsSet.has(request2.method)) {
+            throw new TypeError(
+              `'${request2.method} is unsupported in no-cors mode.`
+            );
+          }
+          this[kHeaders][kGuard] = "request-no-cors";
+        }
+        if (initHasKey) {
+          const headersList = this[kHeaders][kHeadersList];
+          const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList);
+          headersList.clear();
+          if (headers instanceof HeadersList) {
+            for (const [key, val] of headers) {
+              headersList.append(key, val);
+            }
+            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 && !this[kHeaders][kHeadersList].contains("content-type")) {
+            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 (util.isDisturbed(inputBody.stream) || inputBody.stream.locked) {
+            throw new TypeError(
+              "Cannot construct a Request with a Request object that has already been used."
+            );
+          }
+          if (!TransformStream2) {
+            TransformStream2 = require("stream/web").TransformStream;
+          }
+          const identityTransform = new TransformStream2();
+          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;
       }
-      this._format = format;
-      return this;
-    };
-    Archiver.prototype.setModule = function(module3) {
-      if (this._state.aborted) {
-        this.emit("error", new ArchiverError("ABORTED"));
-        return this;
+      // Returns the URL of request as a string.
+      get url() {
+        webidl.brandCheck(this, _Request);
+        return URLSerializer(this[kState].url);
       }
-      if (this._state.module) {
-        this.emit("error", new ArchiverError("MODULESET"));
-        return this;
+      // 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];
       }
-      this._module = module3;
-      this._modulePipe();
-      return this;
-    };
-    Archiver.prototype.symlink = function(filepath, target, mode) {
-      if (this._state.finalize || this._state.aborted) {
-        this.emit("error", new ArchiverError("QUEUECLOSED"));
-        return this;
+      // Returns the kind of resource requested by request, e.g., "document"
+      // or "script".
+      get destination() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].destination;
       }
-      if (typeof filepath !== "string" || filepath.length === 0) {
-        this.emit("error", new ArchiverError("SYMLINKFILEPATHREQUIRED"));
-        return this;
+      // 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();
       }
-      if (typeof target !== "string" || target.length === 0) {
-        this.emit("error", new ArchiverError("SYMLINKTARGETREQUIRED", { filepath }));
-        return this;
+      // 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;
       }
-      if (!this._moduleSupports("symlink")) {
-        this.emit("error", new ArchiverError("SYMLINKNOTSUPPORTED", { filepath }));
-        return this;
+      // 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;
       }
-      var data = {};
-      data.type = "symlink";
-      data.name = filepath.replace(/\\/g, "/");
-      data.linkname = target.replace(/\\/g, "/");
-      data.sourceType = "buffer";
-      if (typeof mode === "number") {
-        data.mode = 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;
       }
-      this._entriesCount++;
-      this._queue.push({
-        data,
-        source: Buffer.concat([])
-      });
-      return this;
-    };
-    Archiver.prototype.pointer = function() {
-      return this._pointer;
-    };
-    Archiver.prototype.use = function(plugin) {
-      this._streams.push(plugin);
-      return this;
-    };
-    module2.exports = Archiver;
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/archive-entry.js
-var require_archive_entry = __commonJS({
-  "node_modules/compress-commons/lib/archivers/archive-entry.js"(exports2, module2) {
-    var ArchiveEntry = module2.exports = function() {
-    };
-    ArchiveEntry.prototype.getName = function() {
-    };
-    ArchiveEntry.prototype.getSize = function() {
-    };
-    ArchiveEntry.prototype.getLastModifiedDate = function() {
-    };
-    ArchiveEntry.prototype.isDirectory = function() {
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/util.js
-var require_util21 = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/util.js"(exports2, module2) {
-    var util = module2.exports = {};
-    util.dateToDos = function(d, forceLocalTime) {
-      forceLocalTime = forceLocalTime || false;
-      var year = forceLocalTime ? d.getFullYear() : d.getUTCFullYear();
-      if (year < 1980) {
-        return 2162688;
-      } else if (year >= 2044) {
-        return 2141175677;
+      // 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;
       }
-      var val = {
-        year,
-        month: forceLocalTime ? d.getMonth() : d.getUTCMonth(),
-        date: forceLocalTime ? d.getDate() : d.getUTCDate(),
-        hours: forceLocalTime ? d.getHours() : d.getUTCHours(),
-        minutes: forceLocalTime ? d.getMinutes() : d.getUTCMinutes(),
-        seconds: forceLocalTime ? d.getSeconds() : d.getUTCSeconds()
-      };
-      return val.year - 1980 << 25 | val.month + 1 << 21 | val.date << 16 | val.hours << 11 | val.minutes << 5 | val.seconds / 2;
-    };
-    util.dosToDate = function(dos) {
-      return new Date((dos >> 25 & 127) + 1980, (dos >> 21 & 15) - 1, dos >> 16 & 31, dos >> 11 & 31, dos >> 5 & 63, (dos & 31) << 1);
-    };
-    util.fromDosTime = function(buf) {
-      return util.dosToDate(buf.readUInt32LE(0));
-    };
-    util.getEightBytes = function(v) {
-      var buf = Buffer.alloc(8);
-      buf.writeUInt32LE(v % 4294967296, 0);
-      buf.writeUInt32LE(v / 4294967296 | 0, 4);
-      return buf;
-    };
-    util.getShortBytes = function(v) {
-      var buf = Buffer.alloc(2);
-      buf.writeUInt16LE((v & 65535) >>> 0, 0);
-      return buf;
-    };
-    util.getShortBytesValue = function(buf, offset) {
-      return buf.readUInt16LE(offset);
-    };
-    util.getLongBytes = function(v) {
-      var buf = Buffer.alloc(4);
-      buf.writeUInt32LE((v & 4294967295) >>> 0, 0);
-      return buf;
-    };
-    util.getLongBytesValue = function(buf, offset) {
-      return buf.readUInt32LE(offset);
-    };
-    util.toDosTime = function(d) {
-      return util.getLongBytes(util.dateToDos(d));
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js
-var require_general_purpose_bit = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js"(exports2, module2) {
-    var zipUtil = require_util21();
-    var DATA_DESCRIPTOR_FLAG = 1 << 3;
-    var ENCRYPTION_FLAG = 1 << 0;
-    var NUMBER_OF_SHANNON_FANO_TREES_FLAG = 1 << 2;
-    var SLIDING_DICTIONARY_SIZE_FLAG = 1 << 1;
-    var STRONG_ENCRYPTION_FLAG = 1 << 6;
-    var UFT8_NAMES_FLAG = 1 << 11;
-    var GeneralPurposeBit = module2.exports = function() {
-      if (!(this instanceof GeneralPurposeBit)) {
-        return new GeneralPurposeBit();
+      // 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;
       }
-      this.descriptor = false;
-      this.encryption = false;
-      this.utf8 = false;
-      this.numberOfShannonFanoTrees = 0;
-      this.strongEncryption = false;
-      this.slidingDictionarySize = 0;
-      return this;
-    };
-    GeneralPurposeBit.prototype.encode = function() {
-      return zipUtil.getShortBytes(
-        (this.descriptor ? DATA_DESCRIPTOR_FLAG : 0) | (this.utf8 ? UFT8_NAMES_FLAG : 0) | (this.encryption ? ENCRYPTION_FLAG : 0) | (this.strongEncryption ? STRONG_ENCRYPTION_FLAG : 0)
-      );
-    };
-    GeneralPurposeBit.prototype.parse = function(buf, offset) {
-      var flag = zipUtil.getShortBytesValue(buf, offset);
-      var gbp = new GeneralPurposeBit();
-      gbp.useDataDescriptor((flag & DATA_DESCRIPTOR_FLAG) !== 0);
-      gbp.useUTF8ForNames((flag & UFT8_NAMES_FLAG) !== 0);
-      gbp.useStrongEncryption((flag & STRONG_ENCRYPTION_FLAG) !== 0);
-      gbp.useEncryption((flag & ENCRYPTION_FLAG) !== 0);
-      gbp.setSlidingDictionarySize((flag & SLIDING_DICTIONARY_SIZE_FLAG) !== 0 ? 8192 : 4096);
-      gbp.setNumberOfShannonFanoTrees((flag & NUMBER_OF_SHANNON_FANO_TREES_FLAG) !== 0 ? 3 : 2);
-      return gbp;
-    };
-    GeneralPurposeBit.prototype.setNumberOfShannonFanoTrees = function(n) {
-      this.numberOfShannonFanoTrees = n;
-    };
-    GeneralPurposeBit.prototype.getNumberOfShannonFanoTrees = function() {
-      return this.numberOfShannonFanoTrees;
-    };
-    GeneralPurposeBit.prototype.setSlidingDictionarySize = function(n) {
-      this.slidingDictionarySize = n;
-    };
-    GeneralPurposeBit.prototype.getSlidingDictionarySize = function() {
-      return this.slidingDictionarySize;
-    };
-    GeneralPurposeBit.prototype.useDataDescriptor = function(b) {
-      this.descriptor = b;
-    };
-    GeneralPurposeBit.prototype.usesDataDescriptor = function() {
-      return this.descriptor;
-    };
-    GeneralPurposeBit.prototype.useEncryption = function(b) {
-      this.encryption = b;
-    };
-    GeneralPurposeBit.prototype.usesEncryption = function() {
-      return this.encryption;
-    };
-    GeneralPurposeBit.prototype.useStrongEncryption = function(b) {
-      this.strongEncryption = b;
-    };
-    GeneralPurposeBit.prototype.usesStrongEncryption = function() {
-      return this.strongEncryption;
-    };
-    GeneralPurposeBit.prototype.useUTF8ForNames = function(b) {
-      this.utf8 = b;
-    };
-    GeneralPurposeBit.prototype.usesUTF8ForNames = function() {
-      return this.utf8;
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/unix-stat.js
-var require_unix_stat = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/unix-stat.js"(exports2, module2) {
-    module2.exports = {
-      /**
-       * Bits used for permissions (and sticky bit)
-       */
-      PERM_MASK: 4095,
-      // 07777
-      /**
-       * Bits used to indicate the filesystem object type.
-       */
-      FILE_TYPE_FLAG: 61440,
-      // 0170000
-      /**
-       * Indicates symbolic links.
-       */
-      LINK_FLAG: 40960,
-      // 0120000
-      /**
-       * Indicates plain files.
-       */
-      FILE_FLAG: 32768,
-      // 0100000
-      /**
-       * Indicates directories.
-       */
-      DIR_FLAG: 16384,
-      // 040000
-      // ----------------------------------------------------------
-      // somewhat arbitrary choices that are quite common for shared
-      // installations
-      // -----------------------------------------------------------
-      /**
-       * Default permissions for symbolic links.
-       */
-      DEFAULT_LINK_PERM: 511,
-      // 0777
-      /**
-       * Default permissions for directories.
-       */
-      DEFAULT_DIR_PERM: 493,
-      // 0755
-      /**
-       * Default permissions for plain files.
-       */
-      DEFAULT_FILE_PERM: 420
-      // 0644
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/constants.js
-var require_constants18 = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/constants.js"(exports2, module2) {
-    module2.exports = {
-      WORD: 4,
-      DWORD: 8,
-      EMPTY: Buffer.alloc(0),
-      SHORT: 2,
-      SHORT_MASK: 65535,
-      SHORT_SHIFT: 16,
-      SHORT_ZERO: Buffer.from(Array(2)),
-      LONG: 4,
-      LONG_ZERO: Buffer.from(Array(4)),
-      MIN_VERSION_INITIAL: 10,
-      MIN_VERSION_DATA_DESCRIPTOR: 20,
-      MIN_VERSION_ZIP64: 45,
-      VERSION_MADEBY: 45,
-      METHOD_STORED: 0,
-      METHOD_DEFLATED: 8,
-      PLATFORM_UNIX: 3,
-      PLATFORM_FAT: 0,
-      SIG_LFH: 67324752,
-      SIG_DD: 134695760,
-      SIG_CFH: 33639248,
-      SIG_EOCD: 101010256,
-      SIG_ZIP64_EOCD: 101075792,
-      SIG_ZIP64_EOCD_LOC: 117853008,
-      ZIP64_MAGIC_SHORT: 65535,
-      ZIP64_MAGIC: 4294967295,
-      ZIP64_EXTRA_ID: 1,
-      ZLIB_NO_COMPRESSION: 0,
-      ZLIB_BEST_SPEED: 1,
-      ZLIB_BEST_COMPRESSION: 9,
-      ZLIB_DEFAULT_COMPRESSION: -1,
-      MODE_MASK: 4095,
-      DEFAULT_FILE_MODE: 33188,
-      // 010644 = -rw-r--r-- = S_IFREG | S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
-      DEFAULT_DIR_MODE: 16877,
-      // 040755 = drwxr-xr-x = S_IFDIR | S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH
-      EXT_FILE_ATTR_DIR: 1106051088,
-      // 010173200020 = drwxr-xr-x = (((S_IFDIR | 0755) << 16) | S_DOS_D)
-      EXT_FILE_ATTR_FILE: 2175008800,
-      // 020151000040 = -rw-r--r-- = (((S_IFREG | 0644) << 16) | S_DOS_A) >>> 0
-      // Unix file types
-      S_IFMT: 61440,
-      // 0170000 type of file mask
-      S_IFIFO: 4096,
-      // 010000 named pipe (fifo)
-      S_IFCHR: 8192,
-      // 020000 character special
-      S_IFDIR: 16384,
-      // 040000 directory
-      S_IFBLK: 24576,
-      // 060000 block special
-      S_IFREG: 32768,
-      // 0100000 regular
-      S_IFLNK: 40960,
-      // 0120000 symbolic link
-      S_IFSOCK: 49152,
-      // 0140000 socket
-      // DOS file type flags
-      S_DOS_A: 32,
-      // 040 Archive
-      S_DOS_D: 16,
-      // 020 Directory
-      S_DOS_V: 8,
-      // 010 Volume
-      S_DOS_S: 4,
-      // 04 System
-      S_DOS_H: 2,
-      // 02 Hidden
-      S_DOS_R: 1
-      // 01 Read Only
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/zip-archive-entry.js
-var require_zip_archive_entry = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/zip-archive-entry.js"(exports2, module2) {
-    var inherits = require("util").inherits;
-    var normalizePath = require_normalize_path();
-    var ArchiveEntry = require_archive_entry();
-    var GeneralPurposeBit = require_general_purpose_bit();
-    var UnixStat = require_unix_stat();
-    var constants = require_constants18();
-    var zipUtil = require_util21();
-    var ZipArchiveEntry = module2.exports = function(name) {
-      if (!(this instanceof ZipArchiveEntry)) {
-        return new ZipArchiveEntry(name);
+      // 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;
       }
-      ArchiveEntry.call(this);
-      this.platform = constants.PLATFORM_FAT;
-      this.method = -1;
-      this.name = null;
-      this.size = 0;
-      this.csize = 0;
-      this.gpb = new GeneralPurposeBit();
-      this.crc = 0;
-      this.time = -1;
-      this.minver = constants.MIN_VERSION_INITIAL;
-      this.mode = -1;
-      this.extra = null;
-      this.exattr = 0;
-      this.inattr = 0;
-      this.comment = null;
-      if (name) {
-        this.setName(name);
+      // 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;
       }
-    };
-    inherits(ZipArchiveEntry, ArchiveEntry);
-    ZipArchiveEntry.prototype.getCentralDirectoryExtra = function() {
-      return this.getExtra();
-    };
-    ZipArchiveEntry.prototype.getComment = function() {
-      return this.comment !== null ? this.comment : "";
-    };
-    ZipArchiveEntry.prototype.getCompressedSize = function() {
-      return this.csize;
-    };
-    ZipArchiveEntry.prototype.getCrc = function() {
-      return this.crc;
-    };
-    ZipArchiveEntry.prototype.getExternalAttributes = function() {
-      return this.exattr;
-    };
-    ZipArchiveEntry.prototype.getExtra = function() {
-      return this.extra !== null ? this.extra : constants.EMPTY;
-    };
-    ZipArchiveEntry.prototype.getGeneralPurposeBit = function() {
-      return this.gpb;
-    };
-    ZipArchiveEntry.prototype.getInternalAttributes = function() {
-      return this.inattr;
-    };
-    ZipArchiveEntry.prototype.getLastModifiedDate = function() {
-      return this.getTime();
-    };
-    ZipArchiveEntry.prototype.getLocalFileDataExtra = function() {
-      return this.getExtra();
-    };
-    ZipArchiveEntry.prototype.getMethod = function() {
-      return this.method;
-    };
-    ZipArchiveEntry.prototype.getName = function() {
-      return this.name;
-    };
-    ZipArchiveEntry.prototype.getPlatform = function() {
-      return this.platform;
-    };
-    ZipArchiveEntry.prototype.getSize = function() {
-      return this.size;
-    };
-    ZipArchiveEntry.prototype.getTime = function() {
-      return this.time !== -1 ? zipUtil.dosToDate(this.time) : -1;
-    };
-    ZipArchiveEntry.prototype.getTimeDos = function() {
-      return this.time !== -1 ? this.time : 0;
-    };
-    ZipArchiveEntry.prototype.getUnixMode = function() {
-      return this.platform !== constants.PLATFORM_UNIX ? 0 : this.getExternalAttributes() >> constants.SHORT_SHIFT & constants.SHORT_MASK;
-    };
-    ZipArchiveEntry.prototype.getVersionNeededToExtract = function() {
-      return this.minver;
-    };
-    ZipArchiveEntry.prototype.setComment = function(comment) {
-      if (Buffer.byteLength(comment) !== comment.length) {
-        this.getGeneralPurposeBit().useUTF8ForNames(true);
+      // Returns a boolean indicating whether or not request is for a reload
+      // navigation.
+      get isReloadNavigation() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].reloadNavigation;
       }
-      this.comment = comment;
-    };
-    ZipArchiveEntry.prototype.setCompressedSize = function(size) {
-      if (size < 0) {
-        throw new Error("invalid entry compressed size");
+      // Returns a boolean indicating whether or not request is for a history
+      // navigation (a.k.a. back-foward navigation).
+      get isHistoryNavigation() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].historyNavigation;
+      }
+      // 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;
       }
-      this.csize = size;
-    };
-    ZipArchiveEntry.prototype.setCrc = function(crc) {
-      if (crc < 0) {
-        throw new Error("invalid entry crc32");
+      get bodyUsed() {
+        webidl.brandCheck(this, _Request);
+        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
       }
-      this.crc = crc;
-    };
-    ZipArchiveEntry.prototype.setExternalAttributes = function(attr) {
-      this.exattr = attr >>> 0;
-    };
-    ZipArchiveEntry.prototype.setExtra = function(extra) {
-      this.extra = extra;
-    };
-    ZipArchiveEntry.prototype.setGeneralPurposeBit = function(gpb) {
-      if (!(gpb instanceof GeneralPurposeBit)) {
-        throw new Error("invalid entry GeneralPurposeBit");
+      get duplex() {
+        webidl.brandCheck(this, _Request);
+        return "half";
       }
-      this.gpb = gpb;
-    };
-    ZipArchiveEntry.prototype.setInternalAttributes = function(attr) {
-      this.inattr = attr;
-    };
-    ZipArchiveEntry.prototype.setMethod = function(method) {
-      if (method < 0) {
-        throw new Error("invalid entry compression method");
+      // Returns a clone of request.
+      clone() {
+        webidl.brandCheck(this, _Request);
+        if (this.bodyUsed || this.body?.locked) {
+          throw new TypeError("unusable");
+        }
+        const clonedRequest = cloneRequest(this[kState]);
+        const clonedRequestObject = new _Request(kConstruct);
+        clonedRequestObject[kState] = clonedRequest;
+        clonedRequestObject[kRealm] = this[kRealm];
+        clonedRequestObject[kHeaders] = new Headers(kConstruct);
+        clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList;
+        clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard];
+        clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm];
+        const ac = new AbortController();
+        if (this.signal.aborted) {
+          ac.abort(this.signal.reason);
+        } else {
+          util.addAbortListener(
+            this.signal,
+            () => {
+              ac.abort(this.signal.reason);
+            }
+          );
+        }
+        clonedRequestObject[kSignal] = ac.signal;
+        return clonedRequestObject;
       }
-      this.method = method;
     };
-    ZipArchiveEntry.prototype.setName = function(name, prependSlash = false) {
-      name = normalizePath(name, false).replace(/^\w+:/, "").replace(/^(\.\.\/|\/)+/, "");
-      if (prependSlash) {
-        name = `/${name}`;
+    mixinBody(Request);
+    function makeRequest(init) {
+      const request2 = {
+        method: "GET",
+        localURLsOnly: false,
+        unsafeRequest: false,
+        body: null,
+        client: null,
+        reservedClient: null,
+        replacesClientId: "",
+        window: "client",
+        keepalive: false,
+        serviceWorkers: "all",
+        initiator: "",
+        destination: "",
+        priority: null,
+        origin: "client",
+        policyContainer: "client",
+        referrer: "client",
+        referrerPolicy: "",
+        mode: "no-cors",
+        useCORSPreflightFlag: false,
+        credentials: "same-origin",
+        useCredentials: false,
+        cache: "default",
+        redirect: "follow",
+        integrity: "",
+        cryptoGraphicsNonceMetadata: "",
+        parserMetadata: "",
+        reloadNavigation: false,
+        historyNavigation: false,
+        userActivation: false,
+        taintedOrigin: false,
+        redirectCount: 0,
+        responseTainting: "basic",
+        preventNoCacheCacheControlHeaderModification: false,
+        done: false,
+        timingAllowFailed: false,
+        ...init,
+        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList()
+      };
+      request2.url = request2.urlList[0];
+      return request2;
+    }
+    function cloneRequest(request2) {
+      const newRequest = makeRequest({ ...request2, body: null });
+      if (request2.body != null) {
+        newRequest.body = cloneBody(request2.body);
       }
-      if (Buffer.byteLength(name) !== name.length) {
-        this.getGeneralPurposeBit().useUTF8ForNames(true);
+      return newRequest;
+    }
+    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
       }
-      this.name = name;
-    };
-    ZipArchiveEntry.prototype.setPlatform = function(platform) {
-      this.platform = platform;
-    };
-    ZipArchiveEntry.prototype.setSize = function(size) {
-      if (size < 0) {
-        throw new Error("invalid entry size");
+    });
+    webidl.converters.Request = webidl.interfaceConverter(
+      Request
+    );
+    webidl.converters.RequestInfo = function(V) {
+      if (typeof V === "string") {
+        return webidl.converters.USVString(V);
       }
-      this.size = size;
-    };
-    ZipArchiveEntry.prototype.setTime = function(time, forceLocalTime) {
-      if (!(time instanceof Date)) {
-        throw new Error("invalid entry time");
+      if (V instanceof Request) {
+        return webidl.converters.Request(V);
       }
-      this.time = zipUtil.dateToDos(time, forceLocalTime);
-    };
-    ZipArchiveEntry.prototype.setUnixMode = function(mode) {
-      mode |= this.isDirectory() ? constants.S_IFDIR : constants.S_IFREG;
-      var extattr = 0;
-      extattr |= mode << constants.SHORT_SHIFT | (this.isDirectory() ? constants.S_DOS_D : constants.S_DOS_A);
-      this.setExternalAttributes(extattr);
-      this.mode = mode & constants.MODE_MASK;
-      this.platform = constants.PLATFORM_UNIX;
-    };
-    ZipArchiveEntry.prototype.setVersionNeededToExtract = function(minver) {
-      this.minver = minver;
-    };
-    ZipArchiveEntry.prototype.isDirectory = function() {
-      return this.getName().slice(-1) === "/";
-    };
-    ZipArchiveEntry.prototype.isUnixSymlink = function() {
-      return (this.getUnixMode() & UnixStat.FILE_TYPE_FLAG) === UnixStat.LINK_FLAG;
-    };
-    ZipArchiveEntry.prototype.isZip64 = function() {
-      return this.csize > constants.ZIP64_MAGIC || this.size > constants.ZIP64_MAGIC;
+      return webidl.converters.USVString(V);
     };
+    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,
+            { strict: false }
+          )
+        )
+      },
+      {
+        key: "window",
+        converter: webidl.converters.any
+      },
+      {
+        key: "duplex",
+        converter: webidl.converters.DOMString,
+        allowedValues: requestDuplex
+      }
+    ]);
+    module2.exports = { Request, makeRequest };
   }
 });
 
-// node_modules/compress-commons/node_modules/is-stream/index.js
-var require_is_stream2 = __commonJS({
-  "node_modules/compress-commons/node_modules/is-stream/index.js"(exports2, module2) {
+// node_modules/undici/lib/fetch/index.js
+var require_fetch3 = __commonJS({
+  "node_modules/undici/lib/fetch/index.js"(exports2, module2) {
     "use strict";
-    var isStream = (stream) => stream !== null && typeof stream === "object" && typeof stream.pipe === "function";
-    isStream.writable = (stream) => isStream(stream) && stream.writable !== false && typeof stream._write === "function" && typeof stream._writableState === "object";
-    isStream.readable = (stream) => isStream(stream) && stream.readable !== false && typeof stream._read === "function" && typeof stream._readableState === "object";
-    isStream.duplex = (stream) => isStream.writable(stream) && isStream.readable(stream);
-    isStream.transform = (stream) => isStream.duplex(stream) && typeof stream._transform === "function";
-    module2.exports = isStream;
-  }
-});
-
-// node_modules/compress-commons/lib/util/index.js
-var require_util22 = __commonJS({
-  "node_modules/compress-commons/lib/util/index.js"(exports2, module2) {
-    var Stream = require("stream").Stream;
-    var PassThrough = require_ours().PassThrough;
-    var isStream = require_is_stream2();
-    var util = module2.exports = {};
-    util.normalizeInputSource = function(source) {
-      if (source === null) {
-        return Buffer.alloc(0);
-      } else if (typeof source === "string") {
-        return Buffer.from(source);
-      } else if (isStream(source) && !source._readableState) {
-        var normalized = new PassThrough();
-        source.pipe(normalized);
-        return normalized;
+    var {
+      Response,
+      makeNetworkError,
+      makeAppropriateNetworkError,
+      filterResponse,
+      makeResponse
+    } = require_response4();
+    var { Headers } = require_headers4();
+    var { Request, makeRequest } = require_request6();
+    var zlib = require("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
+    } = require_util25();
+    var { kState, kHeaders, kGuard, kRealm } = require_symbols12();
+    var assert = require("assert");
+    var { safelyExtractBody } = require_body3();
+    var {
+      redirectStatusSet,
+      nullBodyStatus,
+      safeMethodsSet,
+      requestBodyHeader,
+      subresourceSet,
+      DOMException: DOMException2
+    } = require_constants21();
+    var { kHeadersList } = require_symbols11();
+    var EE = require("events");
+    var { Readable, pipeline } = require("stream");
+    var { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require_util24();
+    var { dataURLProcessor, serializeAMimeType } = require_dataURL();
+    var { TransformStream: TransformStream2 } = require("stream/web");
+    var { getGlobalDispatcher } = require_global6();
+    var { webidl } = require_webidl3();
+    var { STATUS_CODES } = require("http");
+    var GET_OR_HEAD = ["GET", "HEAD"];
+    var resolveObjectURL;
+    var ReadableStream2 = globalThis.ReadableStream;
+    var Fetch = class extends EE {
+      constructor(dispatcher) {
+        super();
+        this.dispatcher = dispatcher;
+        this.connection = null;
+        this.dump = false;
+        this.state = "ongoing";
+        this.setMaxListeners(21);
+      }
+      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(error3) {
+        if (this.state !== "ongoing") {
+          return;
+        }
+        this.state = "aborted";
+        if (!error3) {
+          error3 = new DOMException2("The operation was aborted.", "AbortError");
+        }
+        this.serializedAbortReason = error3;
+        this.connection?.destroy(error3);
+        this.emit("terminated", error3);
       }
-      return source;
     };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/archive-output-stream.js
-var require_archive_output_stream = __commonJS({
-  "node_modules/compress-commons/lib/archivers/archive-output-stream.js"(exports2, module2) {
-    var inherits = require("util").inherits;
-    var isStream = require_is_stream2();
-    var Transform = require_ours().Transform;
-    var ArchiveEntry = require_archive_entry();
-    var util = require_util22();
-    var ArchiveOutputStream = module2.exports = function(options) {
-      if (!(this instanceof ArchiveOutputStream)) {
-        return new ArchiveOutputStream(options);
+    function fetch(input, init = {}) {
+      webidl.argumentLengthCheck(arguments, 1, { header: "globalThis.fetch" });
+      const p = createDeferredPromise();
+      let requestObject;
+      try {
+        requestObject = new Request(input, init);
+      } catch (e) {
+        p.reject(e);
+        return p.promise;
       }
-      Transform.call(this, options);
-      this.offset = 0;
-      this._archive = {
-        finish: false,
-        finished: false,
-        processing: false
+      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;
+      const relevantRealm = null;
+      let locallyAborted = false;
+      let controller = null;
+      addAbortListener(
+        requestObject.signal,
+        () => {
+          locallyAborted = true;
+          assert(controller != null);
+          controller.abort(requestObject.signal.reason);
+          abortFetch(p, request2, responseObject, requestObject.signal.reason);
+        }
+      );
+      const handleFetchDone = (response) => finalizeAndReportTiming(response, "fetch");
+      const processResponse = (response) => {
+        if (locallyAborted) {
+          return Promise.resolve();
+        }
+        if (response.aborted) {
+          abortFetch(p, request2, responseObject, controller.serializedAbortReason);
+          return Promise.resolve();
+        }
+        if (response.type === "error") {
+          p.reject(
+            Object.assign(new TypeError("fetch failed"), { cause: response.error })
+          );
+          return Promise.resolve();
+        }
+        responseObject = new Response();
+        responseObject[kState] = response;
+        responseObject[kRealm] = relevantRealm;
+        responseObject[kHeaders][kHeadersList] = response.headersList;
+        responseObject[kHeaders][kGuard] = "immutable";
+        responseObject[kHeaders][kRealm] = relevantRealm;
+        p.resolve(responseObject);
       };
-    };
-    inherits(ArchiveOutputStream, Transform);
-    ArchiveOutputStream.prototype._appendBuffer = function(zae, source, callback) {
-    };
-    ArchiveOutputStream.prototype._appendStream = function(zae, source, callback) {
-    };
-    ArchiveOutputStream.prototype._emitErrorCallback = function(err) {
-      if (err) {
-        this.emit("error", err);
+      controller = fetching({
+        request: request2,
+        processResponseEndOfBody: handleFetchDone,
+        processResponse,
+        dispatcher: init.dispatcher ?? getGlobalDispatcher()
+        // undici
+      });
+      return p.promise;
+    }
+    function finalizeAndReportTiming(response, initiatorType = "other") {
+      if (response.type === "error" && response.aborted) {
+        return;
       }
-    };
-    ArchiveOutputStream.prototype._finish = function(ae) {
-    };
-    ArchiveOutputStream.prototype._normalizeEntry = function(ae) {
-    };
-    ArchiveOutputStream.prototype._transform = function(chunk, encoding, callback) {
-      callback(null, chunk);
-    };
-    ArchiveOutputStream.prototype.entry = function(ae, source, callback) {
-      source = source || null;
-      if (typeof callback !== "function") {
-        callback = this._emitErrorCallback.bind(this);
+      if (!response.urlList?.length) {
+        return;
       }
-      if (!(ae instanceof ArchiveEntry)) {
-        callback(new Error("not a valid instance of ArchiveEntry"));
+      const originalURL = response.urlList[0];
+      let timingInfo = response.timingInfo;
+      let cacheState = response.cacheState;
+      if (!urlIsHttpHttpsScheme(originalURL)) {
         return;
       }
-      if (this._archive.finish || this._archive.finished) {
-        callback(new Error("unacceptable entry after finish"));
+      if (timingInfo === null) {
         return;
       }
-      if (this._archive.processing) {
-        callback(new Error("already processing an entry"));
-        return;
+      if (!response.timingAllowPassed) {
+        timingInfo = createOpaqueTimingInfo({
+          startTime: timingInfo.startTime
+        });
+        cacheState = "";
+      }
+      timingInfo.endTime = coarsenedSharedCurrentTime();
+      response.timingInfo = timingInfo;
+      markResourceTiming(
+        timingInfo,
+        originalURL,
+        initiatorType,
+        globalThis,
+        cacheState
+      );
+    }
+    function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) {
+      if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) {
+        performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis2, cacheState);
+      }
+    }
+    function abortFetch(p, request2, responseObject, error3) {
+      if (!error3) {
+        error3 = new DOMException2("The operation was aborted.", "AbortError");
       }
-      this._archive.processing = true;
-      this._normalizeEntry(ae);
-      this._entry = ae;
-      source = util.normalizeInputSource(source);
-      if (Buffer.isBuffer(source)) {
-        this._appendBuffer(ae, source, callback);
-      } else if (isStream(source)) {
-        this._appendStream(ae, source, callback);
-      } else {
-        this._archive.processing = false;
-        callback(new Error("input source must be valid Stream or Buffer instance"));
-        return;
+      p.reject(error3);
+      if (request2.body != null && isReadable(request2.body?.stream)) {
+        request2.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
+          }
+          throw err;
+        });
       }
-      return this;
-    };
-    ArchiveOutputStream.prototype.finish = function() {
-      if (this._archive.processing) {
-        this._archive.finish = true;
+      if (responseObject == null) {
         return;
       }
-      this._finish();
-    };
-    ArchiveOutputStream.prototype.getBytesWritten = function() {
-      return this.offset;
-    };
-    ArchiveOutputStream.prototype.write = function(chunk, cb) {
-      if (chunk) {
-        this.offset += chunk.length;
-      }
-      return Transform.prototype.write.call(this, chunk, cb);
-    };
-  }
-});
-
-// node_modules/crc-32/crc32.js
-var require_crc32 = __commonJS({
-  "node_modules/crc-32/crc32.js"(exports2) {
-    var CRC32;
-    (function(factory) {
-      if (typeof DO_NOT_EXPORT_CRC === "undefined") {
-        if ("object" === typeof exports2) {
-          factory(exports2);
-        } else if ("function" === typeof define && define.amd) {
-          define(function() {
-            var module3 = {};
-            factory(module3);
-            return module3;
-          });
-        } else {
-          factory(CRC32 = {});
-        }
-      } else {
-        factory(CRC32 = {});
-      }
-    })(function(CRC322) {
-      CRC322.version = "1.2.2";
-      function signed_crc_table() {
-        var c = 0, table = new Array(256);
-        for (var n = 0; n != 256; ++n) {
-          c = n;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          table[n] = c;
-        }
-        return typeof Int32Array !== "undefined" ? new Int32Array(table) : table;
+      const response = responseObject[kState];
+      if (response.body != null && isReadable(response.body?.stream)) {
+        response.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
+          }
+          throw err;
+        });
       }
-      var T0 = signed_crc_table();
-      function slice_by_16_tables(T) {
-        var c = 0, v = 0, n = 0, table = typeof Int32Array !== "undefined" ? new Int32Array(4096) : new Array(4096);
-        for (n = 0; n != 256; ++n) table[n] = T[n];
-        for (n = 0; n != 256; ++n) {
-          v = T[n];
-          for (c = 256 + n; c < 4096; c += 256) v = table[c] = v >>> 8 ^ T[v & 255];
-        }
-        var out = [];
-        for (n = 1; n != 16; ++n) out[n - 1] = typeof Int32Array !== "undefined" ? table.subarray(n * 256, n * 256 + 256) : table.slice(n * 256, n * 256 + 256);
-        return out;
+    }
+    function fetching({
+      request: request2,
+      processRequestBodyChunkLength,
+      processRequestEndOfBody,
+      processResponse,
+      processResponseEndOfBody,
+      processResponseConsumeBody,
+      useParallelQueue = false,
+      dispatcher
+      // undici
+    }) {
+      let taskDestination = null;
+      let crossOriginIsolatedCapability = false;
+      if (request2.client != null) {
+        taskDestination = request2.client.globalObject;
+        crossOriginIsolatedCapability = request2.client.crossOriginIsolatedCapability;
       }
-      var TT = slice_by_16_tables(T0);
-      var T1 = TT[0], T2 = TT[1], T3 = TT[2], T4 = TT[3], T5 = TT[4];
-      var T6 = TT[5], T7 = TT[6], T8 = TT[7], T9 = TT[8], Ta = TT[9];
-      var Tb = TT[10], Tc = TT[11], Td = TT[12], Te = TT[13], Tf = TT[14];
-      function crc32_bstr(bstr, seed) {
-        var C = seed ^ -1;
-        for (var i = 0, L = bstr.length; i < L; ) C = C >>> 8 ^ T0[(C ^ bstr.charCodeAt(i++)) & 255];
-        return ~C;
+      const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
+      const timingInfo = createOpaqueTimingInfo({
+        startTime: currenTime
+      });
+      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";
       }
-      function crc32_buf(B, seed) {
-        var C = seed ^ -1, L = B.length - 15, i = 0;
-        for (; i < L; ) C = Tf[B[i++] ^ C & 255] ^ Te[B[i++] ^ C >> 8 & 255] ^ Td[B[i++] ^ C >> 16 & 255] ^ Tc[B[i++] ^ C >>> 24] ^ Tb[B[i++]] ^ Ta[B[i++]] ^ T9[B[i++]] ^ T8[B[i++]] ^ T7[B[i++]] ^ T6[B[i++]] ^ T5[B[i++]] ^ T4[B[i++]] ^ T3[B[i++]] ^ T2[B[i++]] ^ T1[B[i++]] ^ T0[B[i++]];
-        L += 15;
-        while (i < L) C = C >>> 8 ^ T0[(C ^ B[i++]) & 255];
-        return ~C;
+      if (request2.origin === "client") {
+        request2.origin = request2.client?.origin;
       }
-      function crc32_str(str2, seed) {
-        var C = seed ^ -1;
-        for (var i = 0, L = str2.length, c = 0, d = 0; i < L; ) {
-          c = str2.charCodeAt(i++);
-          if (c < 128) {
-            C = C >>> 8 ^ T0[(C ^ c) & 255];
-          } else if (c < 2048) {
-            C = C >>> 8 ^ T0[(C ^ (192 | c >> 6 & 31)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | c & 63)) & 255];
-          } else if (c >= 55296 && c < 57344) {
-            c = (c & 1023) + 64;
-            d = str2.charCodeAt(i++) & 1023;
-            C = C >>> 8 ^ T0[(C ^ (240 | c >> 8 & 7)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | c >> 2 & 63)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | d >> 6 & 15 | (c & 3) << 4)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | d & 63)) & 255];
-          } else {
-            C = C >>> 8 ^ T0[(C ^ (224 | c >> 12 & 15)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | c >> 6 & 63)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | c & 63)) & 255];
-          }
+      if (request2.policyContainer === "client") {
+        if (request2.client != null) {
+          request2.policyContainer = clonePolicyContainer(
+            request2.client.policyContainer
+          );
+        } else {
+          request2.policyContainer = makePolicyContainer();
         }
-        return ~C;
       }
-      CRC322.table = T0;
-      CRC322.bstr = crc32_bstr;
-      CRC322.buf = crc32_buf;
-      CRC322.str = crc32_str;
-    });
-  }
-});
-
-// node_modules/crc32-stream/lib/crc32-stream.js
-var require_crc32_stream = __commonJS({
-  "node_modules/crc32-stream/lib/crc32-stream.js"(exports2, module2) {
-    "use strict";
-    var { Transform } = require_ours();
-    var crc32 = require_crc32();
-    var CRC32Stream = class extends Transform {
-      constructor(options) {
-        super(options);
-        this.checksum = Buffer.allocUnsafe(4);
-        this.checksum.writeInt32BE(0, 0);
-        this.rawSize = 0;
+      if (!request2.headersList.contains("accept")) {
+        const value = "*/*";
+        request2.headersList.append("accept", value);
       }
-      _transform(chunk, encoding, callback) {
-        if (chunk) {
-          this.checksum = crc32.buf(chunk, this.checksum) >>> 0;
-          this.rawSize += chunk.length;
-        }
-        callback(null, chunk);
+      if (!request2.headersList.contains("accept-language")) {
+        request2.headersList.append("accept-language", "*");
       }
-      digest(encoding) {
-        const checksum = Buffer.allocUnsafe(4);
-        checksum.writeUInt32BE(this.checksum >>> 0, 0);
-        return encoding ? checksum.toString(encoding) : checksum;
+      if (request2.priority === null) {
       }
-      hex() {
-        return this.digest("hex").toUpperCase();
+      if (subresourceSet.has(request2.destination)) {
       }
-      size() {
-        return this.rawSize;
+      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");
       }
-    };
-    module2.exports = CRC32Stream;
-  }
-});
-
-// node_modules/crc32-stream/lib/deflate-crc32-stream.js
-var require_deflate_crc32_stream = __commonJS({
-  "node_modules/crc32-stream/lib/deflate-crc32-stream.js"(exports2, module2) {
-    "use strict";
-    var { DeflateRaw } = require("zlib");
-    var crc32 = require_crc32();
-    var DeflateCRC32Stream = class extends DeflateRaw {
-      constructor(options) {
-        super(options);
-        this.checksum = Buffer.allocUnsafe(4);
-        this.checksum.writeInt32BE(0, 0);
-        this.rawSize = 0;
-        this.compressedSize = 0;
+      tryUpgradeRequestToAPotentiallyTrustworthyURL(request2);
+      if (requestBadPort(request2) === "blocked") {
+        response = makeNetworkError("bad port");
       }
-      push(chunk, encoding) {
-        if (chunk) {
-          this.compressedSize += chunk.length;
-        }
-        return super.push(chunk, encoding);
+      if (request2.referrerPolicy === "") {
+        request2.referrerPolicy = request2.policyContainer.referrerPolicy;
       }
-      _transform(chunk, encoding, callback) {
-        if (chunk) {
-          this.checksum = crc32.buf(chunk, this.checksum) >>> 0;
-          this.rawSize += chunk.length;
-        }
-        super._transform(chunk, encoding, callback);
+      if (request2.referrer !== "no-referrer") {
+        request2.referrer = determineRequestsReferrer(request2);
       }
-      digest(encoding) {
-        const checksum = Buffer.allocUnsafe(4);
-        checksum.writeUInt32BE(this.checksum >>> 0, 0);
-        return encoding ? checksum.toString(encoding) : checksum;
+      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);
+        })();
       }
-      hex() {
-        return this.digest("hex").toUpperCase();
+      if (recursive) {
+        return response;
       }
-      size(compressed = false) {
-        if (compressed) {
-          return this.compressedSize;
+      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 {
-          return this.rawSize;
+          assert(false);
         }
       }
-    };
-    module2.exports = DeflateCRC32Stream;
-  }
-});
-
-// node_modules/crc32-stream/lib/index.js
-var require_lib3 = __commonJS({
-  "node_modules/crc32-stream/lib/index.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      CRC32Stream: require_crc32_stream(),
-      DeflateCRC32Stream: require_deflate_crc32_stream()
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js
-var require_zip_archive_output_stream = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js"(exports2, module2) {
-    var inherits = require("util").inherits;
-    var crc32 = require_crc32();
-    var { CRC32Stream } = require_lib3();
-    var { DeflateCRC32Stream } = require_lib3();
-    var ArchiveOutputStream = require_archive_output_stream();
-    var ZipArchiveEntry = require_zip_archive_entry();
-    var GeneralPurposeBit = require_general_purpose_bit();
-    var constants = require_constants18();
-    var util = require_util22();
-    var zipUtil = require_util21();
-    var ZipArchiveOutputStream = module2.exports = function(options) {
-      if (!(this instanceof ZipArchiveOutputStream)) {
-        return new ZipArchiveOutputStream(options);
-      }
-      options = this.options = this._defaults(options);
-      ArchiveOutputStream.call(this, options);
-      this._entry = null;
-      this._entries = [];
-      this._archive = {
-        centralLength: 0,
-        centralOffset: 0,
-        comment: "",
-        finish: false,
-        finished: false,
-        processing: false,
-        forceZip64: options.forceZip64,
-        forceLocalTime: options.forceLocalTime
-      };
-    };
-    inherits(ZipArchiveOutputStream, ArchiveOutputStream);
-    ZipArchiveOutputStream.prototype._afterAppend = function(ae) {
-      this._entries.push(ae);
-      if (ae.getGeneralPurposeBit().usesDataDescriptor()) {
-        this._writeDataDescriptor(ae);
+      let internalResponse = response.status === 0 ? response : response.internalResponse;
+      if (internalResponse.urlList.length === 0) {
+        internalResponse.urlList.push(...request2.urlList);
       }
-      this._archive.processing = false;
-      this._entry = null;
-      if (this._archive.finish && !this._archive.finished) {
-        this._finish();
+      if (!request2.timingAllowFailed) {
+        response.timingAllowPassed = true;
       }
-    };
-    ZipArchiveOutputStream.prototype._appendBuffer = function(ae, source, callback) {
-      if (source.length === 0) {
-        ae.setMethod(constants.METHOD_STORED);
+      if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request2.headers.contains("range")) {
+        response = internalResponse = makeNetworkError();
       }
-      var method = ae.getMethod();
-      if (method === constants.METHOD_STORED) {
-        ae.setSize(source.length);
-        ae.setCompressedSize(source.length);
-        ae.setCrc(crc32.buf(source) >>> 0);
+      if (response.status !== 0 && (request2.method === "HEAD" || request2.method === "CONNECT" || nullBodyStatus.includes(internalResponse.status))) {
+        internalResponse.body = null;
+        fetchParams.controller.dump = true;
       }
-      this._writeLocalFileHeader(ae);
-      if (method === constants.METHOD_STORED) {
-        this.write(source);
-        this._afterAppend(ae);
-        callback(null, ae);
-        return;
-      } else if (method === constants.METHOD_DEFLATED) {
-        this._smartStream(ae, callback).end(source);
-        return;
+      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 {
-        callback(new Error("compression method " + method + " not implemented"));
-        return;
-      }
-    };
-    ZipArchiveOutputStream.prototype._appendStream = function(ae, source, callback) {
-      ae.getGeneralPurposeBit().useDataDescriptor(true);
-      ae.setVersionNeededToExtract(constants.MIN_VERSION_DATA_DESCRIPTOR);
-      this._writeLocalFileHeader(ae);
-      var smart = this._smartStream(ae, callback);
-      source.once("error", function(err) {
-        smart.emit("error", err);
-        smart.end();
-      });
-      source.pipe(smart);
-    };
-    ZipArchiveOutputStream.prototype._defaults = function(o) {
-      if (typeof o !== "object") {
-        o = {};
-      }
-      if (typeof o.zlib !== "object") {
-        o.zlib = {};
-      }
-      if (typeof o.zlib.level !== "number") {
-        o.zlib.level = constants.ZLIB_BEST_SPEED;
+        fetchFinale(fetchParams, response);
       }
-      o.forceZip64 = !!o.forceZip64;
-      o.forceLocalTime = !!o.forceLocalTime;
-      return o;
-    };
-    ZipArchiveOutputStream.prototype._finish = function() {
-      this._archive.centralOffset = this.offset;
-      this._entries.forEach(function(ae) {
-        this._writeCentralFileHeader(ae);
-      }.bind(this));
-      this._archive.centralLength = this.offset - this._archive.centralOffset;
-      if (this.isZip64()) {
-        this._writeCentralDirectoryZip64();
+    }
+    function schemeFetch(fetchParams) {
+      if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {
+        return Promise.resolve(makeAppropriateNetworkError(fetchParams));
       }
-      this._writeCentralDirectoryEnd();
-      this._archive.processing = false;
-      this._archive.finish = true;
-      this._archive.finished = true;
-      this.end();
-    };
-    ZipArchiveOutputStream.prototype._normalizeEntry = function(ae) {
-      if (ae.getMethod() === -1) {
-        ae.setMethod(constants.METHOD_DEFLATED);
+      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("buffer").resolveObjectURL;
+          }
+          const blobURLEntry = requestCurrentURL(request2);
+          if (blobURLEntry.search.length !== 0) {
+            return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));
+          }
+          const blobURLEntryObject = resolveObjectURL(blobURLEntry.toString());
+          if (request2.method !== "GET" || !isBlobLike(blobURLEntryObject)) {
+            return Promise.resolve(makeNetworkError("invalid method"));
+          }
+          const bodyWithType = safelyExtractBody(blobURLEntryObject);
+          const body = bodyWithType[0];
+          const length = isomorphicEncode(`${body.length}`);
+          const type2 = bodyWithType[1] ?? "";
+          const response = makeResponse({
+            statusText: "OK",
+            headersList: [
+              ["content-length", { name: "Content-Length", value: length }],
+              ["content-type", { name: "Content-Type", value: type2 }]
+            ]
+          });
+          response.body = body;
+          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"));
+        }
       }
-      if (ae.getMethod() === constants.METHOD_DEFLATED) {
-        ae.getGeneralPurposeBit().useDataDescriptor(true);
-        ae.setVersionNeededToExtract(constants.MIN_VERSION_DATA_DESCRIPTOR);
+    }
+    function finalizeResponse(fetchParams, response) {
+      fetchParams.request.done = true;
+      if (fetchParams.processResponseDone != null) {
+        queueMicrotask(() => fetchParams.processResponseDone(response));
       }
-      if (ae.getTime() === -1) {
-        ae.setTime(/* @__PURE__ */ new Date(), this._archive.forceLocalTime);
+    }
+    function fetchFinale(fetchParams, response) {
+      if (response.type === "error") {
+        response.urlList = [fetchParams.request.urlList[0]];
+        response.timingInfo = createOpaqueTimingInfo({
+          startTime: fetchParams.timingInfo.startTime
+        });
       }
-      ae._offsets = {
-        file: 0,
-        data: 0,
-        contents: 0
+      const processResponseEndOfBody = () => {
+        fetchParams.request.done = true;
+        if (fetchParams.processResponseEndOfBody != null) {
+          queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
+        }
       };
-    };
-    ZipArchiveOutputStream.prototype._smartStream = function(ae, callback) {
-      var deflate = ae.getMethod() === constants.METHOD_DEFLATED;
-      var process2 = deflate ? new DeflateCRC32Stream(this.options.zlib) : new CRC32Stream();
-      var error3 = null;
-      function handleStuff() {
-        var digest = process2.digest().readUInt32BE(0);
-        ae.setCrc(digest);
-        ae.setSize(process2.size());
-        ae.setCompressedSize(process2.size(true));
-        this._afterAppend(ae);
-        callback(error3, ae);
-      }
-      process2.once("end", handleStuff.bind(this));
-      process2.once("error", function(err) {
-        error3 = err;
-      });
-      process2.pipe(this, { end: false });
-      return process2;
-    };
-    ZipArchiveOutputStream.prototype._writeCentralDirectoryEnd = function() {
-      var records = this._entries.length;
-      var size = this._archive.centralLength;
-      var offset = this._archive.centralOffset;
-      if (this.isZip64()) {
-        records = constants.ZIP64_MAGIC_SHORT;
-        size = constants.ZIP64_MAGIC;
-        offset = constants.ZIP64_MAGIC;
-      }
-      this.write(zipUtil.getLongBytes(constants.SIG_EOCD));
-      this.write(constants.SHORT_ZERO);
-      this.write(constants.SHORT_ZERO);
-      this.write(zipUtil.getShortBytes(records));
-      this.write(zipUtil.getShortBytes(records));
-      this.write(zipUtil.getLongBytes(size));
-      this.write(zipUtil.getLongBytes(offset));
-      var comment = this.getComment();
-      var commentLength = Buffer.byteLength(comment);
-      this.write(zipUtil.getShortBytes(commentLength));
-      this.write(comment);
-    };
-    ZipArchiveOutputStream.prototype._writeCentralDirectoryZip64 = function() {
-      this.write(zipUtil.getLongBytes(constants.SIG_ZIP64_EOCD));
-      this.write(zipUtil.getEightBytes(44));
-      this.write(zipUtil.getShortBytes(constants.MIN_VERSION_ZIP64));
-      this.write(zipUtil.getShortBytes(constants.MIN_VERSION_ZIP64));
-      this.write(constants.LONG_ZERO);
-      this.write(constants.LONG_ZERO);
-      this.write(zipUtil.getEightBytes(this._entries.length));
-      this.write(zipUtil.getEightBytes(this._entries.length));
-      this.write(zipUtil.getEightBytes(this._archive.centralLength));
-      this.write(zipUtil.getEightBytes(this._archive.centralOffset));
-      this.write(zipUtil.getLongBytes(constants.SIG_ZIP64_EOCD_LOC));
-      this.write(constants.LONG_ZERO);
-      this.write(zipUtil.getEightBytes(this._archive.centralOffset + this._archive.centralLength));
-      this.write(zipUtil.getLongBytes(1));
-    };
-    ZipArchiveOutputStream.prototype._writeCentralFileHeader = function(ae) {
-      var gpb = ae.getGeneralPurposeBit();
-      var method = ae.getMethod();
-      var fileOffset = ae._offsets.file;
-      var size = ae.getSize();
-      var compressedSize = ae.getCompressedSize();
-      if (ae.isZip64() || fileOffset > constants.ZIP64_MAGIC) {
-        size = constants.ZIP64_MAGIC;
-        compressedSize = constants.ZIP64_MAGIC;
-        fileOffset = constants.ZIP64_MAGIC;
-        ae.setVersionNeededToExtract(constants.MIN_VERSION_ZIP64);
-        var extraBuf = Buffer.concat([
-          zipUtil.getShortBytes(constants.ZIP64_EXTRA_ID),
-          zipUtil.getShortBytes(24),
-          zipUtil.getEightBytes(ae.getSize()),
-          zipUtil.getEightBytes(ae.getCompressedSize()),
-          zipUtil.getEightBytes(ae._offsets.file)
-        ], 28);
-        ae.setExtra(extraBuf);
-      }
-      this.write(zipUtil.getLongBytes(constants.SIG_CFH));
-      this.write(zipUtil.getShortBytes(ae.getPlatform() << 8 | constants.VERSION_MADEBY));
-      this.write(zipUtil.getShortBytes(ae.getVersionNeededToExtract()));
-      this.write(gpb.encode());
-      this.write(zipUtil.getShortBytes(method));
-      this.write(zipUtil.getLongBytes(ae.getTimeDos()));
-      this.write(zipUtil.getLongBytes(ae.getCrc()));
-      this.write(zipUtil.getLongBytes(compressedSize));
-      this.write(zipUtil.getLongBytes(size));
-      var name = ae.getName();
-      var comment = ae.getComment();
-      var extra = ae.getCentralDirectoryExtra();
-      if (gpb.usesUTF8ForNames()) {
-        name = Buffer.from(name);
-        comment = Buffer.from(comment);
+      if (fetchParams.processResponse != null) {
+        queueMicrotask(() => fetchParams.processResponse(response));
       }
-      this.write(zipUtil.getShortBytes(name.length));
-      this.write(zipUtil.getShortBytes(extra.length));
-      this.write(zipUtil.getShortBytes(comment.length));
-      this.write(constants.SHORT_ZERO);
-      this.write(zipUtil.getShortBytes(ae.getInternalAttributes()));
-      this.write(zipUtil.getLongBytes(ae.getExternalAttributes()));
-      this.write(zipUtil.getLongBytes(fileOffset));
-      this.write(name);
-      this.write(extra);
-      this.write(comment);
-    };
-    ZipArchiveOutputStream.prototype._writeDataDescriptor = function(ae) {
-      this.write(zipUtil.getLongBytes(constants.SIG_DD));
-      this.write(zipUtil.getLongBytes(ae.getCrc()));
-      if (ae.isZip64()) {
-        this.write(zipUtil.getEightBytes(ae.getCompressedSize()));
-        this.write(zipUtil.getEightBytes(ae.getSize()));
+      if (response.body == null) {
+        processResponseEndOfBody();
       } else {
-        this.write(zipUtil.getLongBytes(ae.getCompressedSize()));
-        this.write(zipUtil.getLongBytes(ae.getSize()));
+        const identityTransformAlgorithm = (chunk, controller) => {
+          controller.enqueue(chunk);
+        };
+        const transformStream = new TransformStream2({
+          start() {
+          },
+          transform: identityTransformAlgorithm,
+          flush: processResponseEndOfBody
+        }, {
+          size() {
+            return 1;
+          }
+        }, {
+          size() {
+            return 1;
+          }
+        });
+        response.body = { stream: response.body.stream.pipeThrough(transformStream) };
       }
-    };
-    ZipArchiveOutputStream.prototype._writeLocalFileHeader = function(ae) {
-      var gpb = ae.getGeneralPurposeBit();
-      var method = ae.getMethod();
-      var name = ae.getName();
-      var extra = ae.getLocalFileDataExtra();
-      if (ae.isZip64()) {
-        gpb.useDataDescriptor(true);
-        ae.setVersionNeededToExtract(constants.MIN_VERSION_ZIP64);
+      if (fetchParams.processResponseConsumeBody != null) {
+        const processBody = (nullOrBytes) => fetchParams.processResponseConsumeBody(response, nullOrBytes);
+        const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure);
+        if (response.body == null) {
+          queueMicrotask(() => processBody(null));
+        } else {
+          return fullyReadBody(response.body, processBody, processBodyError);
+        }
+        return Promise.resolve();
       }
-      if (gpb.usesUTF8ForNames()) {
-        name = Buffer.from(name);
+    }
+    async function httpFetch(fetchParams) {
+      const request2 = fetchParams.request;
+      let response = null;
+      let actualResponse = null;
+      const timingInfo = fetchParams.timingInfo;
+      if (request2.serviceWorkers === "all") {
       }
-      ae._offsets.file = this.offset;
-      this.write(zipUtil.getLongBytes(constants.SIG_LFH));
-      this.write(zipUtil.getShortBytes(ae.getVersionNeededToExtract()));
-      this.write(gpb.encode());
-      this.write(zipUtil.getShortBytes(method));
-      this.write(zipUtil.getLongBytes(ae.getTimeDos()));
-      ae._offsets.data = this.offset;
-      if (gpb.usesDataDescriptor()) {
-        this.write(constants.LONG_ZERO);
-        this.write(constants.LONG_ZERO);
-        this.write(constants.LONG_ZERO);
-      } else {
-        this.write(zipUtil.getLongBytes(ae.getCrc()));
-        this.write(zipUtil.getLongBytes(ae.getCompressedSize()));
-        this.write(zipUtil.getLongBytes(ae.getSize()));
+      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;
+        }
       }
-      this.write(zipUtil.getShortBytes(name.length));
-      this.write(zipUtil.getShortBytes(extra.length));
-      this.write(name);
-      this.write(extra);
-      ae._offsets.contents = this.offset;
-    };
-    ZipArchiveOutputStream.prototype.getComment = function(comment) {
-      return this._archive.comment !== null ? this._archive.comment : "";
-    };
-    ZipArchiveOutputStream.prototype.isZip64 = function() {
-      return this._archive.forceZip64 || this._entries.length > constants.ZIP64_MAGIC_SHORT || this._archive.centralLength > constants.ZIP64_MAGIC || this._archive.centralOffset > constants.ZIP64_MAGIC;
-    };
-    ZipArchiveOutputStream.prototype.setComment = function(comment) {
-      this._archive.comment = comment;
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/compress-commons.js
-var require_compress_commons = __commonJS({
-  "node_modules/compress-commons/lib/compress-commons.js"(exports2, module2) {
-    module2.exports = {
-      ArchiveEntry: require_archive_entry(),
-      ZipArchiveEntry: require_zip_archive_entry(),
-      ArchiveOutputStream: require_archive_output_stream(),
-      ZipArchiveOutputStream: require_zip_archive_output_stream()
-    };
-  }
-});
-
-// node_modules/zip-stream/index.js
-var require_zip_stream = __commonJS({
-  "node_modules/zip-stream/index.js"(exports2, module2) {
-    var inherits = require("util").inherits;
-    var ZipArchiveOutputStream = require_compress_commons().ZipArchiveOutputStream;
-    var ZipArchiveEntry = require_compress_commons().ZipArchiveEntry;
-    var util = require_archiver_utils();
-    var ZipStream = module2.exports = function(options) {
-      if (!(this instanceof ZipStream)) {
-        return new ZipStream(options);
+      if ((request2.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
+        request2.origin,
+        request2.client,
+        request2.destination,
+        actualResponse
+      ) === "blocked") {
+        return makeNetworkError("blocked");
       }
-      options = this.options = options || {};
-      options.zlib = options.zlib || {};
-      ZipArchiveOutputStream.call(this, options);
-      if (typeof options.level === "number" && options.level >= 0) {
-        options.zlib.level = options.level;
-        delete options.level;
+      if (redirectStatusSet.has(actualResponse.status)) {
+        if (request2.redirect !== "manual") {
+          fetchParams.controller.connection.destroy();
+        }
+        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);
+        }
       }
-      if (!options.forceZip64 && typeof options.zlib.level === "number" && options.zlib.level === 0) {
-        options.store = true;
+      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));
       }
-      options.namePrependSlash = options.namePrependSlash || false;
-      if (options.comment && options.comment.length > 0) {
-        this.setComment(options.comment);
+      if (!urlIsHttpHttpsScheme(locationURL)) {
+        return Promise.resolve(makeNetworkError("URL scheme must be a HTTP(S) scheme"));
       }
-    };
-    inherits(ZipStream, ZipArchiveOutputStream);
-    ZipStream.prototype._normalizeFileData = function(data) {
-      data = util.defaults(data, {
-        type: "file",
-        name: null,
-        namePrependSlash: this.options.namePrependSlash,
-        linkname: null,
-        date: null,
-        mode: null,
-        store: this.options.store,
-        comment: ""
-      });
-      var isDir = data.type === "directory";
-      var isSymlink = data.type === "symlink";
-      if (data.name) {
-        data.name = util.sanitizePath(data.name);
-        if (!isSymlink && data.name.slice(-1) === "/") {
-          isDir = true;
-          data.type = "directory";
-        } else if (isDir) {
-          data.name += "/";
-        }
+      if (request2.redirectCount === 20) {
+        return Promise.resolve(makeNetworkError("redirect count exceeded"));
       }
-      if (isDir || isSymlink) {
-        data.store = true;
+      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"'));
       }
-      data.date = util.dateify(data.date);
-      return data;
-    };
-    ZipStream.prototype.entry = function(source, data, callback) {
-      if (typeof callback !== "function") {
-        callback = this._emitErrorCallback.bind(this);
+      if (request2.responseTainting === "cors" && (locationURL.username || locationURL.password)) {
+        return Promise.resolve(makeNetworkError(
+          'URL cannot contain credentials for request mode "cors"'
+        ));
       }
-      data = this._normalizeFileData(data);
-      if (data.type !== "file" && data.type !== "directory" && data.type !== "symlink") {
-        callback(new Error(data.type + " entries not currently supported"));
-        return;
+      if (actualResponse.status !== 303 && request2.body != null && request2.body.source == null) {
+        return Promise.resolve(makeNetworkError());
       }
-      if (typeof data.name !== "string" || data.name.length === 0) {
-        callback(new Error("entry name must be a non-empty string value"));
-        return;
+      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 (data.type === "symlink" && typeof data.linkname !== "string") {
-        callback(new Error("entry linkname must be a non-empty string value when type equals symlink"));
-        return;
+      if (!sameOrigin(requestCurrentURL(request2), locationURL)) {
+        request2.headersList.delete("authorization");
+        request2.headersList.delete("proxy-authorization", true);
+        request2.headersList.delete("cookie");
+        request2.headersList.delete("host");
       }
-      var entry = new ZipArchiveEntry(data.name);
-      entry.setTime(data.date, this.options.forceLocalTime);
-      if (data.namePrependSlash) {
-        entry.setName(data.name, true);
+      if (request2.body != null) {
+        assert(request2.body.source != null);
+        request2.body = safelyExtractBody(request2.body.source)[0];
       }
-      if (data.store) {
-        entry.setMethod(0);
+      const timingInfo = fetchParams.timingInfo;
+      timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+      if (timingInfo.redirectStartTime === 0) {
+        timingInfo.redirectStartTime = timingInfo.startTime;
       }
-      if (data.comment.length > 0) {
-        entry.setComment(data.comment);
+      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 = makeRequest(request2);
+        httpFetchParams = { ...fetchParams };
+        httpFetchParams.request = httpRequest;
       }
-      if (data.type === "symlink" && typeof data.mode !== "number") {
-        data.mode = 40960;
+      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 (typeof data.mode === "number") {
-        if (data.type === "symlink") {
-          data.mode |= 40960;
-        }
-        entry.setUnixMode(data.mode);
+      if (contentLength != null) {
+        contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
       }
-      if (data.type === "symlink" && typeof data.linkname === "string") {
-        source = Buffer.from(data.linkname);
+      if (contentLengthHeaderValue != null) {
+        httpRequest.headersList.append("content-length", contentLengthHeaderValue);
       }
-      return ZipArchiveOutputStream.prototype.entry.call(this, entry, source, callback);
-    };
-    ZipStream.prototype.finalize = function() {
-      this.finish();
-    };
-  }
-});
-
-// node_modules/archiver/lib/plugins/zip.js
-var require_zip = __commonJS({
-  "node_modules/archiver/lib/plugins/zip.js"(exports2, module2) {
-    var engine = require_zip_stream();
-    var util = require_archiver_utils();
-    var Zip = function(options) {
-      if (!(this instanceof Zip)) {
-        return new Zip(options);
+      if (contentLength != null && httpRequest.keepalive) {
       }
-      options = this.options = util.defaults(options, {
-        comment: "",
-        forceUTC: false,
-        namePrependSlash: false,
-        store: false
-      });
-      this.supports = {
-        directory: true,
-        symlink: true
-      };
-      this.engine = new engine(options);
-    };
-    Zip.prototype.append = function(source, data, callback) {
-      this.engine.entry(source, data, callback);
-    };
-    Zip.prototype.finalize = function() {
-      this.engine.finalize();
-    };
-    Zip.prototype.on = function() {
-      return this.engine.on.apply(this.engine, arguments);
-    };
-    Zip.prototype.pipe = function() {
-      return this.engine.pipe.apply(this.engine, arguments);
-    };
-    Zip.prototype.unpipe = function() {
-      return this.engine.unpipe.apply(this.engine, arguments);
-    };
-    module2.exports = Zip;
-  }
-});
-
-// node_modules/queue-tick/queue-microtask.js
-var require_queue_microtask = __commonJS({
-  "node_modules/queue-tick/queue-microtask.js"(exports2, module2) {
-    module2.exports = typeof queueMicrotask === "function" ? queueMicrotask : (fn) => Promise.resolve().then(fn);
-  }
-});
-
-// node_modules/queue-tick/process-next-tick.js
-var require_process_next_tick = __commonJS({
-  "node_modules/queue-tick/process-next-tick.js"(exports2, module2) {
-    module2.exports = typeof process !== "undefined" && typeof process.nextTick === "function" ? process.nextTick.bind(process) : require_queue_microtask();
-  }
-});
-
-// node_modules/fast-fifo/fixed-size.js
-var require_fixed_size = __commonJS({
-  "node_modules/fast-fifo/fixed-size.js"(exports2, module2) {
-    module2.exports = class FixedFIFO {
-      constructor(hwm) {
-        if (!(hwm > 0) || (hwm - 1 & hwm) !== 0) throw new Error("Max size for a FixedFIFO should be a power of two");
-        this.buffer = new Array(hwm);
-        this.mask = hwm - 1;
-        this.top = 0;
-        this.btm = 0;
-        this.next = null;
+      if (httpRequest.referrer instanceof URL) {
+        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href));
+      }
+      appendRequestOriginHeader(httpRequest);
+      appendFetchMetadata(httpRequest);
+      if (!httpRequest.headersList.contains("user-agent")) {
+        httpRequest.headersList.append("user-agent", typeof esbuildDetection === "undefined" ? "undici" : "node");
       }
-      clear() {
-        this.top = this.btm = 0;
-        this.next = null;
-        this.buffer.fill(void 0);
+      if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since") || httpRequest.headersList.contains("if-none-match") || httpRequest.headersList.contains("if-unmodified-since") || httpRequest.headersList.contains("if-match") || httpRequest.headersList.contains("if-range"))) {
+        httpRequest.cache = "no-store";
       }
-      push(data) {
-        if (this.buffer[this.top] !== void 0) return false;
-        this.buffer[this.top] = data;
-        this.top = this.top + 1 & this.mask;
-        return true;
+      if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control")) {
+        httpRequest.headersList.append("cache-control", "max-age=0");
       }
-      shift() {
-        const last = this.buffer[this.btm];
-        if (last === void 0) return void 0;
-        this.buffer[this.btm] = void 0;
-        this.btm = this.btm + 1 & this.mask;
-        return last;
+      if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") {
+        if (!httpRequest.headersList.contains("pragma")) {
+          httpRequest.headersList.append("pragma", "no-cache");
+        }
+        if (!httpRequest.headersList.contains("cache-control")) {
+          httpRequest.headersList.append("cache-control", "no-cache");
+        }
       }
-      peek() {
-        return this.buffer[this.btm];
+      if (httpRequest.headersList.contains("range")) {
+        httpRequest.headersList.append("accept-encoding", "identity");
       }
-      isEmpty() {
-        return this.buffer[this.btm] === void 0;
+      if (!httpRequest.headersList.contains("accept-encoding")) {
+        if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
+          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate");
+        } else {
+          httpRequest.headersList.append("accept-encoding", "gzip, deflate");
+        }
       }
-    };
-  }
-});
-
-// node_modules/fast-fifo/index.js
-var require_fast_fifo = __commonJS({
-  "node_modules/fast-fifo/index.js"(exports2, module2) {
-    var FixedFIFO = require_fixed_size();
-    module2.exports = class FastFIFO {
-      constructor(hwm) {
-        this.hwm = hwm || 16;
-        this.head = new FixedFIFO(this.hwm);
-        this.tail = this.head;
-        this.length = 0;
+      httpRequest.headersList.delete("host");
+      if (includeCredentials) {
       }
-      clear() {
-        this.head = this.tail;
-        this.head.clear();
-        this.length = 0;
+      if (httpCache == null) {
+        httpRequest.cache = "no-store";
       }
-      push(val) {
-        this.length++;
-        if (!this.head.push(val)) {
-          const prev = this.head;
-          this.head = prev.next = new FixedFIFO(2 * this.head.buffer.length);
-          this.head.push(val);
+      if (httpRequest.mode !== "no-store" && httpRequest.mode !== "reload") {
+      }
+      if (response == null) {
+        if (httpRequest.mode === "only-if-cached") {
+          return makeNetworkError("only if cached");
+        }
+        const forwardResponse = await httpNetworkFetch(
+          httpFetchParams,
+          includeCredentials,
+          isNewConnectionFetch
+        );
+        if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {
+        }
+        if (revalidatingFlag && forwardResponse.status === 304) {
+        }
+        if (response == null) {
+          response = forwardResponse;
         }
       }
-      shift() {
-        if (this.length !== 0) this.length--;
-        const val = this.tail.shift();
-        if (val === void 0 && this.tail.next) {
-          const next = this.tail.next;
-          this.tail.next = null;
-          this.tail = next;
-          return this.tail.shift();
+      response.urlList = [...httpRequest.urlList];
+      if (httpRequest.headersList.contains("range")) {
+        response.rangeRequested = true;
+      }
+      response.requestIncludesCredentials = includeCredentials;
+      if (response.status === 407) {
+        if (request2.window === "no-window") {
+          return makeNetworkError();
         }
-        return val;
+        if (isCancelled(fetchParams)) {
+          return makeAppropriateNetworkError(fetchParams);
+        }
+        return makeNetworkError("proxy authentication required");
       }
-      peek() {
-        const val = this.tail.peek();
-        if (val === void 0 && this.tail.next) return this.tail.next.peek();
-        return val;
+      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
+        );
       }
-      isEmpty() {
-        return this.length === 0;
+      if (isAuthenticationFetch) {
       }
-    };
-  }
-});
-
-// node_modules/b4a/index.js
-var require_b4a = __commonJS({
-  "node_modules/b4a/index.js"(exports2, module2) {
-    function isBuffer(value) {
-      return Buffer.isBuffer(value) || value instanceof Uint8Array;
-    }
-    function isEncoding(encoding) {
-      return Buffer.isEncoding(encoding);
-    }
-    function alloc(size, fill2, encoding) {
-      return Buffer.alloc(size, fill2, encoding);
-    }
-    function allocUnsafe(size) {
-      return Buffer.allocUnsafe(size);
-    }
-    function allocUnsafeSlow(size) {
-      return Buffer.allocUnsafeSlow(size);
-    }
-    function byteLength(string, encoding) {
-      return Buffer.byteLength(string, encoding);
-    }
-    function compare2(a, b) {
-      return Buffer.compare(a, b);
-    }
-    function concat(buffers, totalLength) {
-      return Buffer.concat(buffers, totalLength);
-    }
-    function copy(source, target, targetStart, start, end) {
-      return toBuffer(source).copy(target, targetStart, start, end);
-    }
-    function equals(a, b) {
-      return toBuffer(a).equals(b);
-    }
-    function fill(buffer, value, offset, end, encoding) {
-      return toBuffer(buffer).fill(value, offset, end, encoding);
-    }
-    function from(value, encodingOrOffset, length) {
-      return Buffer.from(value, encodingOrOffset, length);
-    }
-    function includes(buffer, value, byteOffset, encoding) {
-      return toBuffer(buffer).includes(value, byteOffset, encoding);
-    }
-    function indexOf(buffer, value, byfeOffset, encoding) {
-      return toBuffer(buffer).indexOf(value, byfeOffset, encoding);
-    }
-    function lastIndexOf(buffer, value, byteOffset, encoding) {
-      return toBuffer(buffer).lastIndexOf(value, byteOffset, encoding);
-    }
-    function swap16(buffer) {
-      return toBuffer(buffer).swap16();
-    }
-    function swap32(buffer) {
-      return toBuffer(buffer).swap32();
-    }
-    function swap64(buffer) {
-      return toBuffer(buffer).swap64();
-    }
-    function toBuffer(buffer) {
-      if (Buffer.isBuffer(buffer)) return buffer;
-      return Buffer.from(buffer.buffer, buffer.byteOffset, buffer.byteLength);
-    }
-    function toString2(buffer, encoding, start, end) {
-      return toBuffer(buffer).toString(encoding, start, end);
-    }
-    function write(buffer, string, offset, length, encoding) {
-      return toBuffer(buffer).write(string, offset, length, encoding);
-    }
-    function writeDoubleLE(buffer, value, offset) {
-      return toBuffer(buffer).writeDoubleLE(value, offset);
-    }
-    function writeFloatLE(buffer, value, offset) {
-      return toBuffer(buffer).writeFloatLE(value, offset);
-    }
-    function writeUInt32LE(buffer, value, offset) {
-      return toBuffer(buffer).writeUInt32LE(value, offset);
-    }
-    function writeInt32LE(buffer, value, offset) {
-      return toBuffer(buffer).writeInt32LE(value, offset);
-    }
-    function readDoubleLE(buffer, offset) {
-      return toBuffer(buffer).readDoubleLE(offset);
-    }
-    function readFloatLE(buffer, offset) {
-      return toBuffer(buffer).readFloatLE(offset);
-    }
-    function readUInt32LE(buffer, offset) {
-      return toBuffer(buffer).readUInt32LE(offset);
-    }
-    function readInt32LE(buffer, offset) {
-      return toBuffer(buffer).readInt32LE(offset);
-    }
-    function writeDoubleBE(buffer, value, offset) {
-      return toBuffer(buffer).writeDoubleBE(value, offset);
-    }
-    function writeFloatBE(buffer, value, offset) {
-      return toBuffer(buffer).writeFloatBE(value, offset);
-    }
-    function writeUInt32BE(buffer, value, offset) {
-      return toBuffer(buffer).writeUInt32BE(value, offset);
-    }
-    function writeInt32BE(buffer, value, offset) {
-      return toBuffer(buffer).writeInt32BE(value, offset);
-    }
-    function readDoubleBE(buffer, offset) {
-      return toBuffer(buffer).readDoubleBE(offset);
-    }
-    function readFloatBE(buffer, offset) {
-      return toBuffer(buffer).readFloatBE(offset);
-    }
-    function readUInt32BE(buffer, offset) {
-      return toBuffer(buffer).readUInt32BE(offset);
+      return response;
     }
-    function readInt32BE(buffer, offset) {
-      return toBuffer(buffer).readInt32BE(offset);
+    async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) {
+      assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed);
+      fetchParams.controller.connection = {
+        abort: null,
+        destroyed: false,
+        destroy(err) {
+          if (!this.destroyed) {
+            this.destroyed = true;
+            this.abort?.(err ?? new DOMException2("The operation was aborted.", "AbortError"));
+          }
+        }
+      };
+      const request2 = fetchParams.request;
+      let response = null;
+      const timingInfo = fetchParams.timingInfo;
+      const httpCache = null;
+      if (httpCache == null) {
+        request2.cache = "no-store";
+      }
+      const newConnection = forceNewConnection ? "yes" : "no";
+      if (request2.mode === "websocket") {
+      } else {
+      }
+      let requestBody = null;
+      if (request2.body == null && fetchParams.processRequestEndOfBody) {
+        queueMicrotask(() => fetchParams.processRequestEndOfBody());
+      } else if (request2.body != null) {
+        const processBodyChunk = async function* (bytes) {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          yield bytes;
+          fetchParams.processRequestBodyChunkLength?.(bytes.byteLength);
+        };
+        const processEndOfBody = () => {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          if (fetchParams.processRequestEndOfBody) {
+            fetchParams.processRequestEndOfBody();
+          }
+        };
+        const processBodyError = (e) => {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          if (e.name === "AbortError") {
+            fetchParams.controller.abort();
+          } else {
+            fetchParams.controller.terminate(e);
+          }
+        };
+        requestBody = (async function* () {
+          try {
+            for await (const bytes of request2.body.stream) {
+              yield* processBodyChunk(bytes);
+            }
+            processEndOfBody();
+          } catch (err) {
+            processBodyError(err);
+          }
+        })();
+      }
+      try {
+        const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
+        if (socket) {
+          response = makeResponse({ status, statusText, headersList, socket });
+        } else {
+          const iterator2 = body[Symbol.asyncIterator]();
+          fetchParams.controller.next = () => iterator2.next();
+          response = makeResponse({ status, statusText, headersList });
+        }
+      } catch (err) {
+        if (err.name === "AbortError") {
+          fetchParams.controller.connection.destroy();
+          return makeAppropriateNetworkError(fetchParams, err);
+        }
+        return makeNetworkError(err);
+      }
+      const pullAlgorithm = () => {
+        fetchParams.controller.resume();
+      };
+      const cancelAlgorithm = (reason) => {
+        fetchParams.controller.abort(reason);
+      };
+      if (!ReadableStream2) {
+        ReadableStream2 = require("stream/web").ReadableStream;
+      }
+      const stream = new ReadableStream2(
+        {
+          async start(controller) {
+            fetchParams.controller.controller = controller;
+          },
+          async pull(controller) {
+            await pullAlgorithm(controller);
+          },
+          async cancel(reason) {
+            await cancelAlgorithm(reason);
+          }
+        },
+        {
+          highWaterMark: 0,
+          size() {
+            return 1;
+          }
+        }
+      );
+      response.body = { stream };
+      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;
+          }
+          fetchParams.controller.controller.enqueue(new Uint8Array(bytes));
+          if (isErrored(stream)) {
+            fetchParams.controller.terminate();
+            return;
+          }
+          if (!fetchParams.controller.controller.desiredSize) {
+            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;
+      async function dispatch({ body }) {
+        const url = requestCurrentURL(request2);
+        const agent = fetchParams.controller.dispatcher;
+        return new Promise((resolve3, reject) => agent.dispatch(
+          {
+            path: url.pathname + url.search,
+            origin: url.origin,
+            method: request2.method,
+            body: fetchParams.controller.dispatcher.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
+            headers: request2.headersList.entries,
+            maxRedirections: 0,
+            upgrade: request2.mode === "websocket" ? "websocket" : void 0
+          },
+          {
+            body: null,
+            abort: null,
+            onConnect(abort) {
+              const { connection } = fetchParams.controller;
+              if (connection.destroyed) {
+                abort(new DOMException2("The operation was aborted.", "AbortError"));
+              } else {
+                fetchParams.controller.on("terminated", abort);
+                this.abort = connection.abort = abort;
+              }
+            },
+            onHeaders(status, headersList, resume, statusText) {
+              if (status < 200) {
+                return;
+              }
+              let codings = [];
+              let location = "";
+              const headers = new Headers();
+              if (Array.isArray(headersList)) {
+                for (let n = 0; n < headersList.length; n += 2) {
+                  const key = headersList[n + 0].toString("latin1");
+                  const val = headersList[n + 1].toString("latin1");
+                  if (key.toLowerCase() === "content-encoding") {
+                    codings = val.toLowerCase().split(",").map((x) => x.trim());
+                  } else if (key.toLowerCase() === "location") {
+                    location = val;
+                  }
+                  headers[kHeadersList].append(key, val);
+                }
+              } else {
+                const keys = Object.keys(headersList);
+                for (const key of keys) {
+                  const val = headersList[key];
+                  if (key.toLowerCase() === "content-encoding") {
+                    codings = val.toLowerCase().split(",").map((x) => x.trim()).reverse();
+                  } else if (key.toLowerCase() === "location") {
+                    location = val;
+                  }
+                  headers[kHeadersList].append(key, val);
+                }
+              }
+              this.body = new Readable({ read: resume });
+              const decoders = [];
+              const willFollow = request2.redirect === "follow" && location && redirectStatusSet.has(status);
+              if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
+                for (const coding of codings) {
+                  if (coding === "x-gzip" || coding === "gzip") {
+                    decoders.push(zlib.createGunzip({
+                      // Be less strict when decoding compressed responses, since sometimes
+                      // servers send slightly invalid responses that are still accepted
+                      // by common browsers.
+                      // Always using Z_SYNC_FLUSH is what cURL does.
+                      flush: zlib.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib.constants.Z_SYNC_FLUSH
+                    }));
+                  } else if (coding === "deflate") {
+                    decoders.push(zlib.createInflate());
+                  } else if (coding === "br") {
+                    decoders.push(zlib.createBrotliDecompress());
+                  } else {
+                    decoders.length = 0;
+                    break;
+                  }
+                }
+              }
+              resolve3({
+                status,
+                statusText,
+                headersList: headers[kHeadersList],
+                body: decoders.length ? pipeline(this.body, ...decoders, () => {
+                }) : this.body.on("error", () => {
+                })
+              });
+              return true;
+            },
+            onData(chunk) {
+              if (fetchParams.controller.dump) {
+                return;
+              }
+              const bytes = chunk;
+              timingInfo.encodedBodySize += bytes.byteLength;
+              return this.body.push(bytes);
+            },
+            onComplete() {
+              if (this.abort) {
+                fetchParams.controller.off("terminated", this.abort);
+              }
+              fetchParams.controller.ended = true;
+              this.body.push(null);
+            },
+            onError(error3) {
+              if (this.abort) {
+                fetchParams.controller.off("terminated", this.abort);
+              }
+              this.body?.destroy(error3);
+              fetchParams.controller.terminate(error3);
+              reject(error3);
+            },
+            onUpgrade(status, headersList, socket) {
+              if (status !== 101) {
+                return;
+              }
+              const headers = new Headers();
+              for (let n = 0; n < headersList.length; n += 2) {
+                const key = headersList[n + 0].toString("latin1");
+                const val = headersList[n + 1].toString("latin1");
+                headers[kHeadersList].append(key, val);
+              }
+              resolve3({
+                status,
+                statusText: STATUS_CODES[status],
+                headersList: headers[kHeadersList],
+                socket
+              });
+              return true;
+            }
+          }
+        ));
+      }
     }
     module2.exports = {
-      isBuffer,
-      isEncoding,
-      alloc,
-      allocUnsafe,
-      allocUnsafeSlow,
-      byteLength,
-      compare: compare2,
-      concat,
-      copy,
-      equals,
-      fill,
-      from,
-      includes,
-      indexOf,
-      lastIndexOf,
-      swap16,
-      swap32,
-      swap64,
-      toBuffer,
-      toString: toString2,
-      write,
-      writeDoubleLE,
-      writeFloatLE,
-      writeUInt32LE,
-      writeInt32LE,
-      readDoubleLE,
-      readFloatLE,
-      readUInt32LE,
-      readInt32LE,
-      writeDoubleBE,
-      writeFloatBE,
-      writeUInt32BE,
-      writeInt32BE,
-      readDoubleBE,
-      readFloatBE,
-      readUInt32BE,
-      readInt32BE
+      fetch,
+      Fetch,
+      fetching,
+      finalizeAndReportTiming
     };
   }
 });
 
-// node_modules/text-decoder/lib/pass-through-decoder.js
-var require_pass_through_decoder = __commonJS({
-  "node_modules/text-decoder/lib/pass-through-decoder.js"(exports2, module2) {
-    var b4a = require_b4a();
-    module2.exports = class PassThroughDecoder {
-      constructor(encoding) {
-        this.encoding = encoding;
-      }
-      get remaining() {
-        return 0;
-      }
-      decode(tail) {
-        return b4a.toString(tail, this.encoding);
-      }
-      flush() {
-        return "";
-      }
+// node_modules/undici/lib/fileapi/symbols.js
+var require_symbols13 = __commonJS({
+  "node_modules/undici/lib/fileapi/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kState: /* @__PURE__ */ Symbol("FileReader state"),
+      kResult: /* @__PURE__ */ Symbol("FileReader result"),
+      kError: /* @__PURE__ */ Symbol("FileReader error"),
+      kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"),
+      kEvents: /* @__PURE__ */ Symbol("FileReader events"),
+      kAborted: /* @__PURE__ */ Symbol("FileReader aborted")
     };
   }
 });
 
-// node_modules/text-decoder/lib/utf8-decoder.js
-var require_utf8_decoder = __commonJS({
-  "node_modules/text-decoder/lib/utf8-decoder.js"(exports2, module2) {
-    var b4a = require_b4a();
-    module2.exports = class UTF8Decoder {
-      constructor() {
-        this.codePoint = 0;
-        this.bytesSeen = 0;
-        this.bytesNeeded = 0;
-        this.lowerBoundary = 128;
-        this.upperBoundary = 191;
+// node_modules/undici/lib/fileapi/progressevent.js
+var require_progressevent3 = __commonJS({
+  "node_modules/undici/lib/fileapi/progressevent.js"(exports2, module2) {
+    "use strict";
+    var { webidl } = require_webidl3();
+    var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
+    var ProgressEvent = class _ProgressEvent extends Event {
+      constructor(type2, eventInitDict = {}) {
+        type2 = webidl.converters.DOMString(type2);
+        eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
+        super(type2, eventInitDict);
+        this[kState] = {
+          lengthComputable: eventInitDict.lengthComputable,
+          loaded: eventInitDict.loaded,
+          total: eventInitDict.total
+        };
       }
-      get remaining() {
-        return this.bytesSeen;
+      get lengthComputable() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].lengthComputable;
       }
-      decode(data) {
-        if (this.bytesNeeded === 0) {
-          let isBoundary = true;
-          for (let i = Math.max(0, data.byteLength - 4), n = data.byteLength; i < n && isBoundary; i++) {
-            isBoundary = data[i] <= 127;
-          }
-          if (isBoundary) return b4a.toString(data, "utf8");
-        }
-        let result = "";
-        for (let i = 0, n = data.byteLength; i < n; i++) {
-          const byte = data[i];
-          if (this.bytesNeeded === 0) {
-            if (byte <= 127) {
-              result += String.fromCharCode(byte);
-            } else {
-              this.bytesSeen = 1;
-              if (byte >= 194 && byte <= 223) {
-                this.bytesNeeded = 2;
-                this.codePoint = byte & 31;
-              } else if (byte >= 224 && byte <= 239) {
-                if (byte === 224) this.lowerBoundary = 160;
-                else if (byte === 237) this.upperBoundary = 159;
-                this.bytesNeeded = 3;
-                this.codePoint = byte & 15;
-              } else if (byte >= 240 && byte <= 244) {
-                if (byte === 240) this.lowerBoundary = 144;
-                if (byte === 244) this.upperBoundary = 143;
-                this.bytesNeeded = 4;
-                this.codePoint = byte & 7;
-              } else {
-                result += "\uFFFD";
-              }
-            }
-            continue;
-          }
-          if (byte < this.lowerBoundary || byte > this.upperBoundary) {
-            this.codePoint = 0;
-            this.bytesNeeded = 0;
-            this.bytesSeen = 0;
-            this.lowerBoundary = 128;
-            this.upperBoundary = 191;
-            result += "\uFFFD";
-            continue;
-          }
-          this.lowerBoundary = 128;
-          this.upperBoundary = 191;
-          this.codePoint = this.codePoint << 6 | byte & 63;
-          this.bytesSeen++;
-          if (this.bytesSeen !== this.bytesNeeded) continue;
-          result += String.fromCodePoint(this.codePoint);
-          this.codePoint = 0;
-          this.bytesNeeded = 0;
-          this.bytesSeen = 0;
-        }
-        return result;
+      get loaded() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].loaded;
       }
-      flush() {
-        const result = this.bytesNeeded > 0 ? "\uFFFD" : "";
-        this.codePoint = 0;
-        this.bytesNeeded = 0;
-        this.bytesSeen = 0;
-        this.lowerBoundary = 128;
-        this.upperBoundary = 191;
-        return result;
+      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/text-decoder/index.js
-var require_text_decoder = __commonJS({
-  "node_modules/text-decoder/index.js"(exports2, module2) {
-    var PassThroughDecoder = require_pass_through_decoder();
-    var UTF8Decoder = require_utf8_decoder();
-    module2.exports = class TextDecoder {
-      constructor(encoding = "utf8") {
-        this.encoding = normalizeEncoding(encoding);
-        switch (this.encoding) {
-          case "utf8":
-            this.decoder = new UTF8Decoder();
-            break;
-          case "utf16le":
-          case "base64":
-            throw new Error("Unsupported encoding: " + this.encoding);
-          default:
-            this.decoder = new PassThroughDecoder(this.encoding);
-        }
-      }
-      get remaining() {
-        return this.decoder.remaining;
-      }
-      push(data) {
-        if (typeof data === "string") return data;
-        return this.decoder.decode(data);
-      }
-      // For Node.js compatibility
-      write(data) {
-        return this.push(data);
-      }
-      end(data) {
-        let result = "";
-        if (data) result = this.push(data);
-        result += this.decoder.flush();
-        return result;
+// node_modules/undici/lib/fileapi/encoding.js
+var require_encoding3 = __commonJS({
+  "node_modules/undici/lib/fileapi/encoding.js"(exports2, module2) {
+    "use strict";
+    function getEncoding(label) {
+      if (!label) {
+        return "failure";
       }
-    };
-    function normalizeEncoding(encoding) {
-      encoding = encoding.toLowerCase();
-      switch (encoding) {
-        case "utf8":
+      switch (label.trim().toLowerCase()) {
+        case "unicode-1-1-utf-8":
+        case "unicode11utf8":
+        case "unicode20utf8":
         case "utf-8":
-          return "utf8";
-        case "ucs2":
+        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 "utf16le":
+        case "unicode":
+        case "unicodefeff":
+        case "utf-16":
         case "utf-16le":
-          return "utf16le";
-        case "latin1":
-        case "binary":
-          return "latin1";
-        case "base64":
-        case "ascii":
-        case "hex":
-          return encoding;
+          return "UTF-16LE";
+        case "x-user-defined":
+          return "x-user-defined";
         default:
-          throw new Error("Unknown encoding: " + encoding);
+          return "failure";
       }
     }
+    module2.exports = {
+      getEncoding
+    };
   }
 });
 
-// node_modules/streamx/index.js
-var require_streamx = __commonJS({
-  "node_modules/streamx/index.js"(exports2, module2) {
-    var { EventEmitter } = require("events");
-    var STREAM_DESTROYED = new Error("Stream was destroyed");
-    var PREMATURE_CLOSE = new Error("Premature close");
-    var queueTick = require_process_next_tick();
-    var FIFO = require_fast_fifo();
-    var TextDecoder2 = require_text_decoder();
-    var MAX = (1 << 29) - 1;
-    var OPENING = 1;
-    var PREDESTROYING = 2;
-    var DESTROYING = 4;
-    var DESTROYED = 8;
-    var NOT_OPENING = MAX ^ OPENING;
-    var NOT_PREDESTROYING = MAX ^ PREDESTROYING;
-    var READ_ACTIVE = 1 << 4;
-    var READ_UPDATING = 2 << 4;
-    var READ_PRIMARY = 4 << 4;
-    var READ_QUEUED = 8 << 4;
-    var READ_RESUMED = 16 << 4;
-    var READ_PIPE_DRAINED = 32 << 4;
-    var READ_ENDING = 64 << 4;
-    var READ_EMIT_DATA = 128 << 4;
-    var READ_EMIT_READABLE = 256 << 4;
-    var READ_EMITTED_READABLE = 512 << 4;
-    var READ_DONE = 1024 << 4;
-    var READ_NEXT_TICK = 2048 << 4;
-    var READ_NEEDS_PUSH = 4096 << 4;
-    var READ_READ_AHEAD = 8192 << 4;
-    var READ_FLOWING = READ_RESUMED | READ_PIPE_DRAINED;
-    var READ_ACTIVE_AND_NEEDS_PUSH = READ_ACTIVE | READ_NEEDS_PUSH;
-    var READ_PRIMARY_AND_ACTIVE = READ_PRIMARY | READ_ACTIVE;
-    var READ_EMIT_READABLE_AND_QUEUED = READ_EMIT_READABLE | READ_QUEUED;
-    var READ_RESUMED_READ_AHEAD = READ_RESUMED | READ_READ_AHEAD;
-    var READ_NOT_ACTIVE = MAX ^ READ_ACTIVE;
-    var READ_NON_PRIMARY = MAX ^ READ_PRIMARY;
-    var READ_NON_PRIMARY_AND_PUSHED = MAX ^ (READ_PRIMARY | READ_NEEDS_PUSH);
-    var READ_PUSHED = MAX ^ READ_NEEDS_PUSH;
-    var READ_PAUSED = MAX ^ READ_RESUMED;
-    var READ_NOT_QUEUED = MAX ^ (READ_QUEUED | READ_EMITTED_READABLE);
-    var READ_NOT_ENDING = MAX ^ READ_ENDING;
-    var READ_PIPE_NOT_DRAINED = MAX ^ READ_FLOWING;
-    var READ_NOT_NEXT_TICK = MAX ^ READ_NEXT_TICK;
-    var READ_NOT_UPDATING = MAX ^ READ_UPDATING;
-    var READ_NO_READ_AHEAD = MAX ^ READ_READ_AHEAD;
-    var READ_PAUSED_NO_READ_AHEAD = MAX ^ READ_RESUMED_READ_AHEAD;
-    var WRITE_ACTIVE = 1 << 18;
-    var WRITE_UPDATING = 2 << 18;
-    var WRITE_PRIMARY = 4 << 18;
-    var WRITE_QUEUED = 8 << 18;
-    var WRITE_UNDRAINED = 16 << 18;
-    var WRITE_DONE = 32 << 18;
-    var WRITE_EMIT_DRAIN = 64 << 18;
-    var WRITE_NEXT_TICK = 128 << 18;
-    var WRITE_WRITING = 256 << 18;
-    var WRITE_FINISHING = 512 << 18;
-    var WRITE_CORKED = 1024 << 18;
-    var WRITE_NOT_ACTIVE = MAX ^ (WRITE_ACTIVE | WRITE_WRITING);
-    var WRITE_NON_PRIMARY = MAX ^ WRITE_PRIMARY;
-    var WRITE_NOT_FINISHING = MAX ^ WRITE_FINISHING;
-    var WRITE_DRAINED = MAX ^ WRITE_UNDRAINED;
-    var WRITE_NOT_QUEUED = MAX ^ WRITE_QUEUED;
-    var WRITE_NOT_NEXT_TICK = MAX ^ WRITE_NEXT_TICK;
-    var WRITE_NOT_UPDATING = MAX ^ WRITE_UPDATING;
-    var WRITE_NOT_CORKED = MAX ^ WRITE_CORKED;
-    var ACTIVE = READ_ACTIVE | WRITE_ACTIVE;
-    var NOT_ACTIVE = MAX ^ ACTIVE;
-    var DONE = READ_DONE | WRITE_DONE;
-    var DESTROY_STATUS = DESTROYING | DESTROYED | PREDESTROYING;
-    var OPEN_STATUS = DESTROY_STATUS | OPENING;
-    var AUTO_DESTROY = DESTROY_STATUS | DONE;
-    var NON_PRIMARY = WRITE_NON_PRIMARY & READ_NON_PRIMARY;
-    var ACTIVE_OR_TICKING = WRITE_NEXT_TICK | READ_NEXT_TICK;
-    var TICKING = ACTIVE_OR_TICKING & NOT_ACTIVE;
-    var IS_OPENING = OPEN_STATUS | TICKING;
-    var READ_PRIMARY_STATUS = OPEN_STATUS | READ_ENDING | READ_DONE;
-    var READ_STATUS = OPEN_STATUS | READ_DONE | READ_QUEUED;
-    var READ_ENDING_STATUS = OPEN_STATUS | READ_ENDING | READ_QUEUED;
-    var READ_READABLE_STATUS = OPEN_STATUS | READ_EMIT_READABLE | READ_QUEUED | READ_EMITTED_READABLE;
-    var SHOULD_NOT_READ = OPEN_STATUS | READ_ACTIVE | READ_ENDING | READ_DONE | READ_NEEDS_PUSH | READ_READ_AHEAD;
-    var READ_BACKPRESSURE_STATUS = DESTROY_STATUS | READ_ENDING | READ_DONE;
-    var READ_UPDATE_SYNC_STATUS = READ_UPDATING | OPEN_STATUS | READ_NEXT_TICK | READ_PRIMARY;
-    var WRITE_PRIMARY_STATUS = OPEN_STATUS | WRITE_FINISHING | WRITE_DONE;
-    var WRITE_QUEUED_AND_UNDRAINED = WRITE_QUEUED | WRITE_UNDRAINED;
-    var WRITE_QUEUED_AND_ACTIVE = WRITE_QUEUED | WRITE_ACTIVE;
-    var WRITE_DRAIN_STATUS = WRITE_QUEUED | WRITE_UNDRAINED | OPEN_STATUS | WRITE_ACTIVE;
-    var WRITE_STATUS = OPEN_STATUS | WRITE_ACTIVE | WRITE_QUEUED | WRITE_CORKED;
-    var WRITE_PRIMARY_AND_ACTIVE = WRITE_PRIMARY | WRITE_ACTIVE;
-    var WRITE_ACTIVE_AND_WRITING = WRITE_ACTIVE | WRITE_WRITING;
-    var WRITE_FINISHING_STATUS = OPEN_STATUS | WRITE_FINISHING | WRITE_QUEUED_AND_ACTIVE | WRITE_DONE;
-    var WRITE_BACKPRESSURE_STATUS = WRITE_UNDRAINED | DESTROY_STATUS | WRITE_FINISHING | WRITE_DONE;
-    var WRITE_UPDATE_SYNC_STATUS = WRITE_UPDATING | OPEN_STATUS | WRITE_NEXT_TICK | WRITE_PRIMARY;
-    var asyncIterator = Symbol.asyncIterator || /* @__PURE__ */ Symbol("asyncIterator");
-    var WritableState = class {
-      constructor(stream, { highWaterMark = 16384, map: map2 = null, mapWritable, byteLength, byteLengthWritable } = {}) {
-        this.stream = stream;
-        this.queue = new FIFO();
-        this.highWaterMark = highWaterMark;
-        this.buffered = 0;
-        this.error = null;
-        this.pipeline = null;
-        this.drains = null;
-        this.byteLength = byteLengthWritable || byteLength || defaultByteLength;
-        this.map = mapWritable || map2;
-        this.afterWrite = afterWrite.bind(this);
-        this.afterUpdateNextTick = updateWriteNT.bind(this);
-      }
-      get ended() {
-        return (this.stream._duplexState & WRITE_DONE) !== 0;
-      }
-      push(data) {
-        if (this.map !== null) data = this.map(data);
-        this.buffered += this.byteLength(data);
-        this.queue.push(data);
-        if (this.buffered < this.highWaterMark) {
-          this.stream._duplexState |= WRITE_QUEUED;
-          return true;
-        }
-        this.stream._duplexState |= WRITE_QUEUED_AND_UNDRAINED;
-        return false;
-      }
-      shift() {
-        const data = this.queue.shift();
-        this.buffered -= this.byteLength(data);
-        if (this.buffered === 0) this.stream._duplexState &= WRITE_NOT_QUEUED;
-        return data;
-      }
-      end(data) {
-        if (typeof data === "function") this.stream.once("finish", data);
-        else if (data !== void 0 && data !== null) this.push(data);
-        this.stream._duplexState = (this.stream._duplexState | WRITE_FINISHING) & WRITE_NON_PRIMARY;
-      }
-      autoBatch(data, cb) {
-        const buffer = [];
-        const stream = this.stream;
-        buffer.push(data);
-        while ((stream._duplexState & WRITE_STATUS) === WRITE_QUEUED_AND_ACTIVE) {
-          buffer.push(stream._writableState.shift());
-        }
-        if ((stream._duplexState & OPEN_STATUS) !== 0) return cb(null);
-        stream._writev(buffer, cb);
-      }
-      update() {
-        const stream = this.stream;
-        stream._duplexState |= WRITE_UPDATING;
-        do {
-          while ((stream._duplexState & WRITE_STATUS) === WRITE_QUEUED) {
-            const data = this.shift();
-            stream._duplexState |= WRITE_ACTIVE_AND_WRITING;
-            stream._write(data, this.afterWrite);
-          }
-          if ((stream._duplexState & WRITE_PRIMARY_AND_ACTIVE) === 0) this.updateNonPrimary();
-        } while (this.continueUpdate() === true);
-        stream._duplexState &= WRITE_NOT_UPDATING;
-      }
-      updateNonPrimary() {
-        const stream = this.stream;
-        if ((stream._duplexState & WRITE_FINISHING_STATUS) === WRITE_FINISHING) {
-          stream._duplexState = (stream._duplexState | WRITE_ACTIVE) & WRITE_NOT_FINISHING;
-          stream._final(afterFinal.bind(this));
-          return;
-        }
-        if ((stream._duplexState & DESTROY_STATUS) === DESTROYING) {
-          if ((stream._duplexState & ACTIVE_OR_TICKING) === 0) {
-            stream._duplexState |= ACTIVE;
-            stream._destroy(afterDestroy.bind(this));
-          }
-          return;
-        }
-        if ((stream._duplexState & IS_OPENING) === OPENING) {
-          stream._duplexState = (stream._duplexState | ACTIVE) & NOT_OPENING;
-          stream._open(afterOpen.bind(this));
-        }
-      }
-      continueUpdate() {
-        if ((this.stream._duplexState & WRITE_NEXT_TICK) === 0) return false;
-        this.stream._duplexState &= WRITE_NOT_NEXT_TICK;
-        return true;
-      }
-      updateCallback() {
-        if ((this.stream._duplexState & WRITE_UPDATE_SYNC_STATUS) === WRITE_PRIMARY) this.update();
-        else this.updateNextTick();
-      }
-      updateNextTick() {
-        if ((this.stream._duplexState & WRITE_NEXT_TICK) !== 0) return;
-        this.stream._duplexState |= WRITE_NEXT_TICK;
-        if ((this.stream._duplexState & WRITE_UPDATING) === 0) queueTick(this.afterUpdateNextTick);
-      }
+// node_modules/undici/lib/fileapi/util.js
+var require_util27 = __commonJS({
+  "node_modules/undici/lib/fileapi/util.js"(exports2, module2) {
+    "use strict";
+    var {
+      kState,
+      kError,
+      kResult,
+      kAborted,
+      kLastProgressEventFired
+    } = require_symbols13();
+    var { ProgressEvent } = require_progressevent3();
+    var { getEncoding } = require_encoding3();
+    var { DOMException: DOMException2 } = require_constants21();
+    var { serializeAMimeType, parseMIMEType } = require_dataURL();
+    var { types } = require("util");
+    var { StringDecoder } = require("string_decoder");
+    var { btoa: btoa2 } = require("buffer");
+    var staticPropertyDescriptors = {
+      enumerable: true,
+      writable: false,
+      configurable: false
     };
-    var ReadableState = class {
-      constructor(stream, { highWaterMark = 16384, map: map2 = null, mapReadable, byteLength, byteLengthReadable } = {}) {
-        this.stream = stream;
-        this.queue = new FIFO();
-        this.highWaterMark = highWaterMark === 0 ? 1 : highWaterMark;
-        this.buffered = 0;
-        this.readAhead = highWaterMark > 0;
-        this.error = null;
-        this.pipeline = null;
-        this.byteLength = byteLengthReadable || byteLength || defaultByteLength;
-        this.map = mapReadable || map2;
-        this.pipeTo = null;
-        this.afterRead = afterRead.bind(this);
-        this.afterUpdateNextTick = updateReadNT.bind(this);
-      }
-      get ended() {
-        return (this.stream._duplexState & READ_DONE) !== 0;
-      }
-      pipe(pipeTo, cb) {
-        if (this.pipeTo !== null) throw new Error("Can only pipe to one destination");
-        if (typeof cb !== "function") cb = null;
-        this.stream._duplexState |= READ_PIPE_DRAINED;
-        this.pipeTo = pipeTo;
-        this.pipeline = new Pipeline(this.stream, pipeTo, cb);
-        if (cb) this.stream.on("error", noop3);
-        if (isStreamx(pipeTo)) {
-          pipeTo._writableState.pipeline = this.pipeline;
-          if (cb) pipeTo.on("error", noop3);
-          pipeTo.on("finish", this.pipeline.finished.bind(this.pipeline));
-        } else {
-          const onerror = this.pipeline.done.bind(this.pipeline, pipeTo);
-          const onclose = this.pipeline.done.bind(this.pipeline, pipeTo, null);
-          pipeTo.on("error", onerror);
-          pipeTo.on("close", onclose);
-          pipeTo.on("finish", this.pipeline.finished.bind(this.pipeline));
-        }
-        pipeTo.on("drain", afterDrain.bind(this));
-        this.stream.emit("piping", pipeTo);
-        pipeTo.emit("pipe", this.stream);
+    function readOperation(fr, blob, type2, encodingName) {
+      if (fr[kState] === "loading") {
+        throw new DOMException2("Invalid state", "InvalidStateError");
       }
-      push(data) {
-        const stream = this.stream;
-        if (data === null) {
-          this.highWaterMark = 0;
-          stream._duplexState = (stream._duplexState | READ_ENDING) & READ_NON_PRIMARY_AND_PUSHED;
-          return false;
-        }
-        if (this.map !== null) {
-          data = this.map(data);
-          if (data === null) {
-            stream._duplexState &= READ_PUSHED;
-            return this.buffered < this.highWaterMark;
+      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, type2, blob.type, encodingName);
+                  if (fr[kAborted]) {
+                    return;
+                  }
+                  fr[kResult] = result;
+                  fireAProgressEvent("load", fr);
+                } catch (error3) {
+                  fr[kError] = error3;
+                  fireAProgressEvent("error", fr);
+                }
+                if (fr[kState] !== "loading") {
+                  fireAProgressEvent("loadend", fr);
+                }
+              });
+              break;
+            }
+          } catch (error3) {
+            if (fr[kAborted]) {
+              return;
+            }
+            queueMicrotask(() => {
+              fr[kState] = "done";
+              fr[kError] = error3;
+              fireAProgressEvent("error", fr);
+              if (fr[kState] !== "loading") {
+                fireAProgressEvent("loadend", fr);
+              }
+            });
+            break;
           }
         }
-        this.buffered += this.byteLength(data);
-        this.queue.push(data);
-        stream._duplexState = (stream._duplexState | READ_QUEUED) & READ_PUSHED;
-        return this.buffered < this.highWaterMark;
-      }
-      shift() {
-        const data = this.queue.shift();
-        this.buffered -= this.byteLength(data);
-        if (this.buffered === 0) this.stream._duplexState &= READ_NOT_QUEUED;
-        return data;
-      }
-      unshift(data) {
-        const pending = [this.map !== null ? this.map(data) : data];
-        while (this.buffered > 0) pending.push(this.shift());
-        for (let i = 0; i < pending.length - 1; i++) {
-          const data2 = pending[i];
-          this.buffered += this.byteLength(data2);
-          this.queue.push(data2);
-        }
-        this.push(pending[pending.length - 1]);
-      }
-      read() {
-        const stream = this.stream;
-        if ((stream._duplexState & READ_STATUS) === READ_QUEUED) {
-          const data = this.shift();
-          if (this.pipeTo !== null && this.pipeTo.write(data) === false) stream._duplexState &= READ_PIPE_NOT_DRAINED;
-          if ((stream._duplexState & READ_EMIT_DATA) !== 0) stream.emit("data", data);
-          return data;
-        }
-        if (this.readAhead === false) {
-          stream._duplexState |= READ_READ_AHEAD;
-          this.updateNextTick();
-        }
-        return null;
-      }
-      drain() {
-        const stream = this.stream;
-        while ((stream._duplexState & READ_STATUS) === READ_QUEUED && (stream._duplexState & READ_FLOWING) !== 0) {
-          const data = this.shift();
-          if (this.pipeTo !== null && this.pipeTo.write(data) === false) stream._duplexState &= READ_PIPE_NOT_DRAINED;
-          if ((stream._duplexState & READ_EMIT_DATA) !== 0) stream.emit("data", data);
-        }
-      }
-      update() {
-        const stream = this.stream;
-        stream._duplexState |= READ_UPDATING;
-        do {
-          this.drain();
-          while (this.buffered < this.highWaterMark && (stream._duplexState & SHOULD_NOT_READ) === READ_READ_AHEAD) {
-            stream._duplexState |= READ_ACTIVE_AND_NEEDS_PUSH;
-            stream._read(this.afterRead);
-            this.drain();
+      })();
+    }
+    function fireAProgressEvent(e, reader) {
+      const event = new ProgressEvent(e, {
+        bubbles: false,
+        cancelable: false
+      });
+      reader.dispatchEvent(event);
+    }
+    function packageData(bytes, type2, mimeType, encodingName) {
+      switch (type2) {
+        case "DataURL": {
+          let dataURL = "data:";
+          const parsed = parseMIMEType(mimeType || "application/octet-stream");
+          if (parsed !== "failure") {
+            dataURL += serializeAMimeType(parsed);
           }
-          if ((stream._duplexState & READ_READABLE_STATUS) === READ_EMIT_READABLE_AND_QUEUED) {
-            stream._duplexState |= READ_EMITTED_READABLE;
-            stream.emit("readable");
+          dataURL += ";base64,";
+          const decoder = new StringDecoder("latin1");
+          for (const chunk of bytes) {
+            dataURL += btoa2(decoder.write(chunk));
           }
-          if ((stream._duplexState & READ_PRIMARY_AND_ACTIVE) === 0) this.updateNonPrimary();
-        } while (this.continueUpdate() === true);
-        stream._duplexState &= READ_NOT_UPDATING;
-      }
-      updateNonPrimary() {
-        const stream = this.stream;
-        if ((stream._duplexState & READ_ENDING_STATUS) === READ_ENDING) {
-          stream._duplexState = (stream._duplexState | READ_DONE) & READ_NOT_ENDING;
-          stream.emit("end");
-          if ((stream._duplexState & AUTO_DESTROY) === DONE) stream._duplexState |= DESTROYING;
-          if (this.pipeTo !== null) this.pipeTo.end();
+          dataURL += btoa2(decoder.end());
+          return dataURL;
         }
-        if ((stream._duplexState & DESTROY_STATUS) === DESTROYING) {
-          if ((stream._duplexState & ACTIVE_OR_TICKING) === 0) {
-            stream._duplexState |= ACTIVE;
-            stream._destroy(afterDestroy.bind(this));
+        case "Text": {
+          let encoding = "failure";
+          if (encodingName) {
+            encoding = getEncoding(encodingName);
           }
-          return;
-        }
-        if ((stream._duplexState & IS_OPENING) === OPENING) {
-          stream._duplexState = (stream._duplexState | ACTIVE) & NOT_OPENING;
-          stream._open(afterOpen.bind(this));
-        }
-      }
-      continueUpdate() {
-        if ((this.stream._duplexState & READ_NEXT_TICK) === 0) return false;
-        this.stream._duplexState &= READ_NOT_NEXT_TICK;
-        return true;
-      }
-      updateCallback() {
-        if ((this.stream._duplexState & READ_UPDATE_SYNC_STATUS) === READ_PRIMARY) this.update();
-        else this.updateNextTick();
-      }
-      updateNextTick() {
-        if ((this.stream._duplexState & READ_NEXT_TICK) !== 0) return;
-        this.stream._duplexState |= READ_NEXT_TICK;
-        if ((this.stream._duplexState & READ_UPDATING) === 0) queueTick(this.afterUpdateNextTick);
-      }
-    };
-    var TransformState = class {
-      constructor(stream) {
-        this.data = null;
-        this.afterTransform = afterTransform.bind(stream);
-        this.afterFinal = null;
-      }
-    };
-    var Pipeline = class {
-      constructor(src, dst, cb) {
-        this.from = src;
-        this.to = dst;
-        this.afterPipe = cb;
-        this.error = null;
-        this.pipeToFinished = false;
-      }
-      finished() {
-        this.pipeToFinished = true;
-      }
-      done(stream, err) {
-        if (err) this.error = err;
-        if (stream === this.to) {
-          this.to = null;
-          if (this.from !== null) {
-            if ((this.from._duplexState & READ_DONE) === 0 || !this.pipeToFinished) {
-              this.from.destroy(this.error || new Error("Writable stream closed prematurely"));
+          if (encoding === "failure" && mimeType) {
+            const type3 = parseMIMEType(mimeType);
+            if (type3 !== "failure") {
+              encoding = getEncoding(type3.parameters.get("charset"));
             }
-            return;
           }
+          if (encoding === "failure") {
+            encoding = "UTF-8";
+          }
+          return decode(bytes, encoding);
         }
-        if (stream === this.from) {
-          this.from = null;
-          if (this.to !== null) {
-            if ((stream._duplexState & READ_DONE) === 0) {
-              this.to.destroy(this.error || new Error("Readable stream closed before ending"));
-            }
-            return;
+        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;
         }
-        if (this.afterPipe !== null) this.afterPipe(this.error);
-        this.to = this.from = this.afterPipe = null;
-      }
-    };
-    function afterDrain() {
-      this.stream._duplexState |= READ_PIPE_DRAINED;
-      this.updateCallback();
-    }
-    function afterFinal(err) {
-      const stream = this.stream;
-      if (err) stream.destroy(err);
-      if ((stream._duplexState & DESTROY_STATUS) === 0) {
-        stream._duplexState |= WRITE_DONE;
-        stream.emit("finish");
       }
-      if ((stream._duplexState & AUTO_DESTROY) === DONE) {
-        stream._duplexState |= DESTROYING;
-      }
-      stream._duplexState &= WRITE_NOT_ACTIVE;
-      if ((stream._duplexState & WRITE_UPDATING) === 0) this.update();
-      else this.updateNextTick();
     }
-    function afterDestroy(err) {
-      const stream = this.stream;
-      if (!err && this.error !== STREAM_DESTROYED) err = this.error;
-      if (err) stream.emit("error", err);
-      stream._duplexState |= DESTROYED;
-      stream.emit("close");
-      const rs = stream._readableState;
-      const ws = stream._writableState;
-      if (rs !== null && rs.pipeline !== null) rs.pipeline.done(stream, err);
-      if (ws !== null) {
-        while (ws.drains !== null && ws.drains.length > 0) ws.drains.shift().resolve(false);
-        if (ws.pipeline !== null) ws.pipeline.done(stream, err);
+    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 afterWrite(err) {
-      const stream = this.stream;
-      if (err) stream.destroy(err);
-      stream._duplexState &= WRITE_NOT_ACTIVE;
-      if (this.drains !== null) tickDrains(this.drains);
-      if ((stream._duplexState & WRITE_DRAIN_STATUS) === WRITE_UNDRAINED) {
-        stream._duplexState &= WRITE_DRAINED;
-        if ((stream._duplexState & WRITE_EMIT_DRAIN) === WRITE_EMIT_DRAIN) {
-          stream.emit("drain");
-        }
+    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";
       }
-      this.updateCallback();
-    }
-    function afterRead(err) {
-      if (err) this.stream.destroy(err);
-      this.stream._duplexState &= READ_NOT_ACTIVE;
-      if (this.readAhead === false && (this.stream._duplexState & READ_RESUMED) === 0) this.stream._duplexState &= READ_NO_READ_AHEAD;
-      this.updateCallback();
+      return null;
     }
-    function updateReadNT() {
-      if ((this.stream._duplexState & READ_UPDATING) === 0) {
-        this.stream._duplexState &= READ_NOT_NEXT_TICK;
-        this.update();
-      }
+    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));
     }
-    function updateWriteNT() {
-      if ((this.stream._duplexState & WRITE_UPDATING) === 0) {
-        this.stream._duplexState &= WRITE_NOT_NEXT_TICK;
-        this.update();
+    module2.exports = {
+      staticPropertyDescriptors,
+      readOperation,
+      fireAProgressEvent
+    };
+  }
+});
+
+// node_modules/undici/lib/fileapi/filereader.js
+var require_filereader3 = __commonJS({
+  "node_modules/undici/lib/fileapi/filereader.js"(exports2, module2) {
+    "use strict";
+    var {
+      staticPropertyDescriptors,
+      readOperation,
+      fireAProgressEvent
+    } = require_util27();
+    var {
+      kState,
+      kError,
+      kResult,
+      kEvents,
+      kAborted
+    } = require_symbols13();
+    var { webidl } = require_webidl3();
+    var { kEnumerableProperty } = require_util24();
+    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
+        };
       }
-    }
-    function tickDrains(drains) {
-      for (let i = 0; i < drains.length; i++) {
-        if (--drains[i].writes === 0) {
-          drains.shift().resolve(true);
-          i--;
-        }
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-readAsArrayBuffer
+       * @param {import('buffer').Blob} blob
+       */
+      readAsArrayBuffer(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsArrayBuffer" });
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "ArrayBuffer");
       }
-    }
-    function afterOpen(err) {
-      const stream = this.stream;
-      if (err) stream.destroy(err);
-      if ((stream._duplexState & DESTROYING) === 0) {
-        if ((stream._duplexState & READ_PRIMARY_STATUS) === 0) stream._duplexState |= READ_PRIMARY;
-        if ((stream._duplexState & WRITE_PRIMARY_STATUS) === 0) stream._duplexState |= WRITE_PRIMARY;
-        stream.emit("open");
+      /**
+       * @see https://w3c.github.io/FileAPI/#readAsBinaryString
+       * @param {import('buffer').Blob} blob
+       */
+      readAsBinaryString(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsBinaryString" });
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "BinaryString");
       }
-      stream._duplexState &= NOT_ACTIVE;
-      if (stream._writableState !== null) {
-        stream._writableState.updateCallback();
+      /**
+       * @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, { header: "FileReader.readAsText" });
+        blob = webidl.converters.Blob(blob, { strict: false });
+        if (encoding !== void 0) {
+          encoding = webidl.converters.DOMString(encoding);
+        }
+        readOperation(this, blob, "Text", encoding);
       }
-      if (stream._readableState !== null) {
-        stream._readableState.updateCallback();
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-readAsDataURL
+       * @param {import('buffer').Blob} blob
+       */
+      readAsDataURL(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsDataURL" });
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "DataURL");
       }
-    }
-    function afterTransform(err, data) {
-      if (data !== void 0 && data !== null) this.push(data);
-      this._writableState.afterWrite(err);
-    }
-    function newListener(name) {
-      if (this._readableState !== null) {
-        if (name === "data") {
-          this._duplexState |= READ_EMIT_DATA | READ_RESUMED_READ_AHEAD;
-          this._readableState.updateNextTick();
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-abort
+       */
+      abort() {
+        if (this[kState] === "empty" || this[kState] === "done") {
+          this[kResult] = null;
+          return;
         }
-        if (name === "readable") {
-          this._duplexState |= READ_EMIT_READABLE;
-          this._readableState.updateNextTick();
+        if (this[kState] === "loading") {
+          this[kState] = "done";
+          this[kResult] = null;
         }
-      }
-      if (this._writableState !== null) {
-        if (name === "drain") {
-          this._duplexState |= WRITE_EMIT_DRAIN;
-          this._writableState.updateNextTick();
+        this[kAborted] = true;
+        fireAProgressEvent("abort", this);
+        if (this[kState] !== "loading") {
+          fireAProgressEvent("loadend", this);
         }
       }
-    }
-    var Stream = class extends EventEmitter {
-      constructor(opts) {
-        super();
-        this._duplexState = 0;
-        this._readableState = null;
-        this._writableState = null;
-        if (opts) {
-          if (opts.open) this._open = opts.open;
-          if (opts.destroy) this._destroy = opts.destroy;
-          if (opts.predestroy) this._predestroy = opts.predestroy;
-          if (opts.signal) {
-            opts.signal.addEventListener("abort", abort.bind(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;
         }
-        this.on("newListener", newListener);
       }
-      _open(cb) {
-        cb(null);
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-result
+       */
+      get result() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kResult];
       }
-      _destroy(cb) {
-        cb(null);
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-error
+       */
+      get error() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kError];
       }
-      _predestroy() {
+      get onloadend() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].loadend;
       }
-      get readable() {
-        return this._readableState !== null ? true : void 0;
+      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 writable() {
-        return this._writableState !== null ? true : void 0;
+      get onerror() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].error;
       }
-      get destroyed() {
-        return (this._duplexState & DESTROYED) !== 0;
+      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 destroying() {
-        return (this._duplexState & DESTROY_STATUS) !== 0;
+      get onloadstart() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].loadstart;
       }
-      destroy(err) {
-        if ((this._duplexState & DESTROY_STATUS) === 0) {
-          if (!err) err = STREAM_DESTROYED;
-          this._duplexState = (this._duplexState | DESTROYING) & NON_PRIMARY;
-          if (this._readableState !== null) {
-            this._readableState.highWaterMark = 0;
-            this._readableState.error = err;
-          }
-          if (this._writableState !== null) {
-            this._writableState.highWaterMark = 0;
-            this._writableState.error = err;
-          }
-          this._duplexState |= PREDESTROYING;
-          this._predestroy();
-          this._duplexState &= NOT_PREDESTROYING;
-          if (this._readableState !== null) this._readableState.updateNextTick();
-          if (this._writableState !== null) this._writableState.updateNextTick();
+      set onloadstart(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].loadstart) {
+          this.removeEventListener("loadstart", this[kEvents].loadstart);
         }
-      }
-    };
-    var Readable = class _Readable extends Stream {
-      constructor(opts) {
-        super(opts);
-        this._duplexState |= OPENING | WRITE_DONE | READ_READ_AHEAD;
-        this._readableState = new ReadableState(this, opts);
-        if (opts) {
-          if (this._readableState.readAhead === false) this._duplexState &= READ_NO_READ_AHEAD;
-          if (opts.read) this._read = opts.read;
-          if (opts.eagerOpen) this._readableState.updateNextTick();
-          if (opts.encoding) this.setEncoding(opts.encoding);
+        if (typeof fn === "function") {
+          this[kEvents].loadstart = fn;
+          this.addEventListener("loadstart", fn);
+        } else {
+          this[kEvents].loadstart = null;
         }
       }
-      setEncoding(encoding) {
-        const dec = new TextDecoder2(encoding);
-        const map2 = this._readableState.map || echo;
-        this._readableState.map = mapOrSkip;
-        return this;
-        function mapOrSkip(data) {
-          const next = dec.push(data);
-          return next === "" && (data.byteLength !== 0 || dec.remaining > 0) ? null : map2(next);
+      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;
         }
       }
-      _read(cb) {
-        cb(null);
+      get onload() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].load;
       }
-      pipe(dest, cb) {
-        this._readableState.updateNextTick();
-        this._readableState.pipe(dest, cb);
-        return dest;
+      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;
+        }
       }
-      read() {
-        this._readableState.updateNextTick();
-        return this._readableState.read();
+      get onabort() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].abort;
       }
-      push(data) {
-        this._readableState.updateNextTick();
-        return this._readableState.push(data);
+      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;
+        }
       }
-      unshift(data) {
-        this._readableState.updateNextTick();
-        return this._readableState.unshift(data);
+    };
+    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
       }
-      resume() {
-        this._duplexState |= READ_RESUMED_READ_AHEAD;
-        this._readableState.updateNextTick();
-        return this;
+    });
+    Object.defineProperties(FileReader, {
+      EMPTY: staticPropertyDescriptors,
+      LOADING: staticPropertyDescriptors,
+      DONE: staticPropertyDescriptors
+    });
+    module2.exports = {
+      FileReader
+    };
+  }
+});
+
+// node_modules/undici/lib/cache/symbols.js
+var require_symbols14 = __commonJS({
+  "node_modules/undici/lib/cache/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kConstruct: require_symbols11().kConstruct
+    };
+  }
+});
+
+// node_modules/undici/lib/cache/util.js
+var require_util28 = __commonJS({
+  "node_modules/undici/lib/cache/util.js"(exports2, module2) {
+    "use strict";
+    var assert = require("assert");
+    var { URLSerializer } = require_dataURL();
+    var { isValidHeaderName } = require_util25();
+    function urlEquals(A, B, excludeFragment = false) {
+      const serializedA = URLSerializer(A, excludeFragment);
+      const serializedB = URLSerializer(B, excludeFragment);
+      return serializedA === serializedB;
+    }
+    function fieldValues(header) {
+      assert(header !== null);
+      const values = [];
+      for (let value of header.split(",")) {
+        value = value.trim();
+        if (!value.length) {
+          continue;
+        } else if (!isValidHeaderName(value)) {
+          continue;
+        }
+        values.push(value);
+      }
+      return values;
+    }
+    module2.exports = {
+      urlEquals,
+      fieldValues
+    };
+  }
+});
+
+// node_modules/undici/lib/cache/cache.js
+var require_cache6 = __commonJS({
+  "node_modules/undici/lib/cache/cache.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols14();
+    var { urlEquals, fieldValues: getFieldValues } = require_util28();
+    var { kEnumerableProperty, isDisturbed } = require_util24();
+    var { kHeadersList } = require_symbols11();
+    var { webidl } = require_webidl3();
+    var { Response, cloneResponse } = require_response4();
+    var { Request } = require_request6();
+    var { kState, kHeaders, kGuard, kRealm } = require_symbols12();
+    var { fetching } = require_fetch3();
+    var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util25();
+    var assert = require("assert");
+    var { getGlobalDispatcher } = require_global6();
+    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();
+        }
+        this.#relevantRequestResponseList = arguments[1];
       }
-      pause() {
-        this._duplexState &= this._readableState.readAhead === false ? READ_PAUSED_NO_READ_AHEAD : READ_PAUSED;
-        return this;
+      async match(request2, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.match" });
+        request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.CacheQueryOptions(options);
+        const p = await this.matchAll(request2, options);
+        if (p.length === 0) {
+          return;
+        }
+        return p[0];
       }
-      static _fromAsyncIterator(ite, opts) {
-        let destroy;
-        const rs = new _Readable({
-          ...opts,
-          read(cb) {
-            ite.next().then(push).then(cb.bind(null, null)).catch(cb);
-          },
-          predestroy() {
-            destroy = ite.return();
-          },
-          destroy(cb) {
-            if (!destroy) return cb(null);
-            destroy.then(cb.bind(null, null)).catch(cb);
+      async matchAll(request2 = void 0, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.CacheQueryOptions(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];
           }
-        });
-        return rs;
-        function push(data) {
-          if (data.done) rs.push(null);
-          else rs.push(data.value);
         }
-      }
-      static from(data, opts) {
-        if (isReadStreamx(data)) return data;
-        if (data[asyncIterator]) return this._fromAsyncIterator(data[asyncIterator](), opts);
-        if (!Array.isArray(data)) data = data === void 0 ? [] : [data];
-        let i = 0;
-        return new _Readable({
-          ...opts,
-          read(cb) {
-            this.push(i === data.length ? null : data[i++]);
-            cb(null);
+        const responses = [];
+        if (request2 === void 0) {
+          for (const requestResponse of this.#relevantRequestResponseList) {
+            responses.push(requestResponse[1]);
           }
-        });
-      }
-      static isBackpressured(rs) {
-        return (rs._duplexState & READ_BACKPRESSURE_STATUS) !== 0 || rs._readableState.buffered >= rs._readableState.highWaterMark;
+        } 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 = new Response(response.body?.source ?? null);
+          const body = responseObject[kState].body;
+          responseObject[kState] = response;
+          responseObject[kState].body = body;
+          responseObject[kHeaders][kHeadersList] = response.headersList;
+          responseObject[kHeaders][kGuard] = "immutable";
+          responseList.push(responseObject);
+        }
+        return Object.freeze(responseList);
       }
-      static isPaused(rs) {
-        return (rs._duplexState & READ_RESUMED) === 0;
+      async add(request2) {
+        webidl.brandCheck(this, _Cache);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.add" });
+        request2 = webidl.converters.RequestInfo(request2);
+        const requests = [request2];
+        const responseArrayPromise = this.addAll(requests);
+        return await responseArrayPromise;
       }
-      [asyncIterator]() {
-        const stream = this;
-        let error3 = null;
-        let promiseResolve = null;
-        let promiseReject = null;
-        this.on("error", (err) => {
-          error3 = err;
-        });
-        this.on("readable", onreadable);
-        this.on("close", onclose);
-        return {
-          [asyncIterator]() {
-            return this;
-          },
-          next() {
-            return new Promise(function(resolve3, reject) {
-              promiseResolve = resolve3;
-              promiseReject = reject;
-              const data = stream.read();
-              if (data !== null) ondata(data);
-              else if ((stream._duplexState & DESTROYED) !== 0) ondata(null);
+      async addAll(requests) {
+        webidl.brandCheck(this, _Cache);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.addAll" });
+        requests = webidl.converters["sequence"](requests);
+        const responsePromises = [];
+        const requestList = [];
+        for (const request2 of requests) {
+          if (typeof request2 === "string") {
+            continue;
+          }
+          const r = request2[kState];
+          if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") {
+            throw webidl.errors.exception({
+              header: "Cache.addAll",
+              message: "Expected http/s scheme when method is not GET."
             });
-          },
-          return() {
-            return destroy(null);
-          },
-          throw(err) {
-            return destroy(err);
           }
-        };
-        function onreadable() {
-          if (promiseResolve !== null) ondata(stream.read());
         }
-        function onclose() {
-          if (promiseResolve !== null) ondata(null);
-        }
-        function ondata(data) {
-          if (promiseReject === null) return;
-          if (error3) promiseReject(error3);
-          else if (data === null && (stream._duplexState & READ_DONE) === 0) promiseReject(STREAM_DESTROYED);
-          else promiseResolve({ value: data, done: data === null });
-          promiseReject = promiseResolve = null;
-        }
-        function destroy(err) {
-          stream.destroy(err);
-          return new Promise((resolve3, reject) => {
-            if (stream._duplexState & DESTROYED) return resolve3({ value: void 0, done: true });
-            stream.once("close", function() {
-              if (err) reject(err);
-              else resolve3({ value: void 0, done: true });
+        const fetchControllers = [];
+        for (const request2 of requests) {
+          const r = new Request(request2)[kState];
+          if (!urlIsHttpHttpsScheme(r.url)) {
+            throw webidl.errors.exception({
+              header: "Cache.addAll",
+              message: "Expected http/s scheme."
             });
-          });
+          }
+          r.initiator = "fetch";
+          r.destination = "subresource";
+          requestList.push(r);
+          const responsePromise = createDeferredPromise();
+          fetchControllers.push(fetching({
+            request: r,
+            dispatcher: getGlobalDispatcher(),
+            processResponse(response) {
+              if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) {
+                responsePromise.reject(webidl.errors.exception({
+                  header: "Cache.addAll",
+                  message: "Received an invalid status code or the request failed."
+                }));
+              } else if (response.headersList.contains("vary")) {
+                const fieldValues = getFieldValues(response.headersList.get("vary"));
+                for (const fieldValue of fieldValues) {
+                  if (fieldValue === "*") {
+                    responsePromise.reject(webidl.errors.exception({
+                      header: "Cache.addAll",
+                      message: "invalid vary field value"
+                    }));
+                    for (const controller of fetchControllers) {
+                      controller.abort();
+                    }
+                    return;
+                  }
+                }
+              }
+            },
+            processResponseEndOfBody(response) {
+              if (response.aborted) {
+                responsePromise.reject(new DOMException("aborted", "AbortError"));
+                return;
+              }
+              responsePromise.resolve(response);
+            }
+          }));
+          responsePromises.push(responsePromise.promise);
         }
-      }
-    };
-    var Writable = class extends Stream {
-      constructor(opts) {
-        super(opts);
-        this._duplexState |= OPENING | READ_DONE;
-        this._writableState = new WritableState(this, opts);
-        if (opts) {
-          if (opts.writev) this._writev = opts.writev;
-          if (opts.write) this._write = opts.write;
-          if (opts.final) this._final = opts.final;
-          if (opts.eagerOpen) this._writableState.updateNextTick();
+        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++;
         }
-      }
-      cork() {
-        this._duplexState |= WRITE_CORKED;
-      }
-      uncork() {
-        this._duplexState &= WRITE_NOT_CORKED;
-        this._writableState.updateNextTick();
-      }
-      _writev(batch, cb) {
-        cb(null);
-      }
-      _write(data, cb) {
-        this._writableState.autoBatch(data, cb);
-      }
-      _final(cb) {
-        cb(null);
-      }
-      static isBackpressured(ws) {
-        return (ws._duplexState & WRITE_BACKPRESSURE_STATUS) !== 0;
-      }
-      static drained(ws) {
-        if (ws.destroyed) return Promise.resolve(false);
-        const state = ws._writableState;
-        const pending = isWritev(ws) ? Math.min(1, state.queue.length) : state.queue.length;
-        const writes = pending + (ws._duplexState & WRITE_WRITING ? 1 : 0);
-        if (writes === 0) return Promise.resolve(true);
-        if (state.drains === null) state.drains = [];
-        return new Promise((resolve3) => {
-          state.drains.push({ writes, resolve: resolve3 });
+        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;
       }
-      write(data) {
-        this._writableState.updateNextTick();
-        return this._writableState.push(data);
-      }
-      end(data) {
-        this._writableState.updateNextTick();
-        this._writableState.end(data);
-        return this;
-      }
-    };
-    var Duplex = class extends Readable {
-      // and Writable
-      constructor(opts) {
-        super(opts);
-        this._duplexState = OPENING | this._duplexState & READ_READ_AHEAD;
-        this._writableState = new WritableState(this, opts);
-        if (opts) {
-          if (opts.writev) this._writev = opts.writev;
-          if (opts.write) this._write = opts.write;
-          if (opts.final) this._final = opts.final;
+      async put(request2, response) {
+        webidl.brandCheck(this, _Cache);
+        webidl.argumentLengthCheck(arguments, 2, { header: "Cache.put" });
+        request2 = webidl.converters.RequestInfo(request2);
+        response = webidl.converters.Response(response);
+        let innerRequest = null;
+        if (request2 instanceof Request) {
+          innerRequest = request2[kState];
+        } else {
+          innerRequest = new Request(request2)[kState];
         }
-      }
-      cork() {
-        this._duplexState |= WRITE_CORKED;
-      }
-      uncork() {
-        this._duplexState &= WRITE_NOT_CORKED;
-        this._writableState.updateNextTick();
-      }
-      _writev(batch, cb) {
-        cb(null);
-      }
-      _write(data, cb) {
-        this._writableState.autoBatch(data, cb);
-      }
-      _final(cb) {
-        cb(null);
-      }
-      write(data) {
-        this._writableState.updateNextTick();
-        return this._writableState.push(data);
-      }
-      end(data) {
-        this._writableState.updateNextTick();
-        this._writableState.end(data);
-        return this;
-      }
-    };
-    var Transform = class extends Duplex {
-      constructor(opts) {
-        super(opts);
-        this._transformState = new TransformState(this);
-        if (opts) {
-          if (opts.transform) this._transform = opts.transform;
-          if (opts.flush) this._flush = opts.flush;
+        if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") {
+          throw webidl.errors.exception({
+            header: "Cache.put",
+            message: "Expected an http/s scheme when method is not GET"
+          });
         }
-      }
-      _write(data, cb) {
-        if (this._readableState.buffered >= this._readableState.highWaterMark) {
-          this._transformState.data = data;
+        const innerResponse = response[kState];
+        if (innerResponse.status === 206) {
+          throw webidl.errors.exception({
+            header: "Cache.put",
+            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: "Cache.put",
+                message: "Got * vary field value"
+              });
+            }
+          }
+        }
+        if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {
+          throw webidl.errors.exception({
+            header: "Cache.put",
+            message: "Response body is locked or disturbed"
+          });
+        }
+        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 {
-          this._transform(data, this._transformState.afterTransform);
+          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;
       }
-      _read(cb) {
-        if (this._transformState.data !== null) {
-          const data = this._transformState.data;
-          this._transformState.data = null;
-          cb(null);
-          this._transform(data, this._transformState.afterTransform);
+      async delete(request2, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.delete" });
+        request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.CacheQueryOptions(options);
+        let r = null;
+        if (request2 instanceof Request) {
+          r = request2[kState];
+          if (r.method !== "GET" && !options.ignoreMethod) {
+            return false;
+          }
         } else {
-          cb(null);
+          assert(typeof request2 === "string");
+          r = new Request(request2)[kState];
         }
-      }
-      destroy(err) {
-        super.destroy(err);
-        if (this._transformState.data !== null) {
-          this._transformState.data = null;
-          this._transformState.afterTransform();
+        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;
         }
-      }
-      _transform(data, cb) {
-        cb(null, data);
-      }
-      _flush(cb) {
-        cb(null);
-      }
-      _final(cb) {
-        this._transformState.afterFinal = cb;
-        this._flush(transformAfterFlush.bind(this));
-      }
-    };
-    var PassThrough = class extends Transform {
-    };
-    function transformAfterFlush(err, data) {
-      const cb = this._transformState.afterFinal;
-      if (err) return cb(err);
-      if (data !== null && data !== void 0) this.push(data);
-      this.push(null);
-      cb(null);
-    }
-    function pipelinePromise(...streams) {
-      return new Promise((resolve3, reject) => {
-        return pipeline(...streams, (err) => {
-          if (err) return reject(err);
-          resolve3();
+        queueMicrotask(() => {
+          if (errorData === null) {
+            cacheJobPromise.resolve(!!requestResponses?.length);
+          } else {
+            cacheJobPromise.reject(errorData);
+          }
         });
-      });
-    }
-    function pipeline(stream, ...streams) {
-      const all = Array.isArray(stream) ? [...stream, ...streams] : [stream, ...streams];
-      const done = all.length && typeof all[all.length - 1] === "function" ? all.pop() : null;
-      if (all.length < 2) throw new Error("Pipeline requires at least 2 streams");
-      let src = all[0];
-      let dest = null;
-      let error3 = null;
-      for (let i = 1; i < all.length; i++) {
-        dest = all[i];
-        if (isStreamx(src)) {
-          src.pipe(dest, onerror);
+        return cacheJobPromise.promise;
+      }
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys
+       * @param {any} request
+       * @param {import('../../types/cache').CacheQueryOptions} options
+       * @returns {readonly Request[]}
+       */
+      async keys(request2 = void 0, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.CacheQueryOptions(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 {
-          errorHandle(src, true, i > 1, onerror);
-          src.pipe(dest);
+          const requestResponses = this.#queryCache(r, options);
+          for (const requestResponse of requestResponses) {
+            requests.push(requestResponse[0]);
+          }
         }
-        src = dest;
-      }
-      if (done) {
-        let fin = false;
-        const autoDestroy = isStreamx(dest) || !!(dest._writableState && dest._writableState.autoDestroy);
-        dest.on("error", (err) => {
-          if (error3 === null) error3 = err;
-        });
-        dest.on("finish", () => {
-          fin = true;
-          if (!autoDestroy) done(error3);
+        queueMicrotask(() => {
+          const requestList = [];
+          for (const request3 of requests) {
+            const requestObject = new Request("https://a");
+            requestObject[kState] = request3;
+            requestObject[kHeaders][kHeadersList] = request3.headersList;
+            requestObject[kHeaders][kGuard] = "immutable";
+            requestObject[kRealm] = request3.client;
+            requestList.push(requestObject);
+          }
+          promise.resolve(Object.freeze(requestList));
         });
-        if (autoDestroy) {
-          dest.on("close", () => done(error3 || (fin ? null : PREMATURE_CLOSE)));
-        }
+        return promise.promise;
       }
-      return dest;
-      function errorHandle(s, rd, wr, onerror2) {
-        s.on("error", onerror2);
-        s.on("close", onclose);
-        function onclose() {
-          if (rd && s._readableState && !s._readableState.ended) return onerror2(PREMATURE_CLOSE);
-          if (wr && s._writableState && !s._writableState.ended) return onerror2(PREMATURE_CLOSE);
+      /**
+       * @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;
         }
       }
-      function onerror(err) {
-        if (!err || error3) return;
-        error3 = err;
-        for (const s of all) {
-          s.destroy(err);
+      /**
+       * @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;
       }
-    }
-    function echo(s) {
-      return s;
-    }
-    function isStream(stream) {
-      return !!stream._readableState || !!stream._writableState;
-    }
-    function isStreamx(stream) {
-      return typeof stream._duplexState === "number" && isStream(stream);
-    }
-    function isEnded(stream) {
-      return !!stream._readableState && stream._readableState.ended;
-    }
-    function isFinished(stream) {
-      return !!stream._writableState && stream._writableState.ended;
-    }
-    function getStreamError(stream, opts = {}) {
-      const err = stream._readableState && stream._readableState.error || stream._writableState && stream._writableState.error;
-      return !opts.all && err === STREAM_DESTROYED ? null : err;
-    }
-    function isReadStreamx(stream) {
-      return isStreamx(stream) && stream.readable;
-    }
-    function isTypedArray(data) {
-      return typeof data === "object" && data !== null && typeof data.byteLength === "number";
-    }
-    function defaultByteLength(data) {
-      return isTypedArray(data) ? data.byteLength : 1024;
-    }
-    function noop3() {
-    }
-    function abort() {
-      this.destroy(new Error("Stream aborted."));
-    }
-    function isWritev(s) {
-      return s._writev !== Writable.prototype._writev && s._writev !== Duplex.prototype._writev;
-    }
-    module2.exports = {
-      pipeline,
-      pipelinePromise,
-      isStream,
-      isStreamx,
-      isEnded,
-      isFinished,
-      getStreamError,
-      Stream,
-      Writable,
-      Readable,
-      Duplex,
-      Transform,
-      // Export PassThrough for compatibility with Node.js core's stream module
-      PassThrough
-    };
-  }
-});
-
-// node_modules/tar-stream/headers.js
-var require_headers3 = __commonJS({
-  "node_modules/tar-stream/headers.js"(exports2) {
-    var b4a = require_b4a();
-    var ZEROS = "0000000000000000000";
-    var SEVENS = "7777777777777777777";
-    var ZERO_OFFSET = "0".charCodeAt(0);
-    var USTAR_MAGIC = b4a.from([117, 115, 116, 97, 114, 0]);
-    var USTAR_VER = b4a.from([ZERO_OFFSET, ZERO_OFFSET]);
-    var GNU_MAGIC = b4a.from([117, 115, 116, 97, 114, 32]);
-    var GNU_VER = b4a.from([32, 0]);
-    var MASK = 4095;
-    var MAGIC_OFFSET = 257;
-    var VERSION_OFFSET = 263;
-    exports2.decodeLongPath = function decodeLongPath(buf, encoding) {
-      return decodeStr(buf, 0, buf.length, encoding);
-    };
-    exports2.encodePax = function encodePax(opts) {
-      let result = "";
-      if (opts.name) result += addLength(" path=" + opts.name + "\n");
-      if (opts.linkname) result += addLength(" linkpath=" + opts.linkname + "\n");
-      const pax = opts.pax;
-      if (pax) {
-        for (const key in pax) {
-          result += addLength(" " + key + "=" + pax[key] + "\n");
+      /**
+       * @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 = "";
         }
-      }
-      return b4a.from(result);
-    };
-    exports2.decodePax = function decodePax(buf) {
-      const result = {};
-      while (buf.length) {
-        let i = 0;
-        while (i < buf.length && buf[i] !== 32) i++;
-        const len = parseInt(b4a.toString(buf.subarray(0, i)), 10);
-        if (!len) return result;
-        const b = b4a.toString(buf.subarray(i + 1, len - 1));
-        const keyIndex = b.indexOf("=");
-        if (keyIndex === -1) return result;
-        result[b.slice(0, keyIndex)] = b.slice(keyIndex + 1);
-        buf = buf.subarray(len);
-      }
-      return result;
-    };
-    exports2.encode = function encode(opts) {
-      const buf = b4a.alloc(512);
-      let name = opts.name;
-      let prefix = "";
-      if (opts.typeflag === 5 && name[name.length - 1] !== "/") name += "/";
-      if (b4a.byteLength(name) !== name.length) return null;
-      while (b4a.byteLength(name) > 100) {
-        const i = name.indexOf("/");
-        if (i === -1) return null;
-        prefix += prefix ? "/" + name.slice(0, i) : name.slice(0, i);
-        name = name.slice(i + 1);
-      }
-      if (b4a.byteLength(name) > 100 || b4a.byteLength(prefix) > 155) return null;
-      if (opts.linkname && b4a.byteLength(opts.linkname) > 100) return null;
-      b4a.write(buf, name);
-      b4a.write(buf, encodeOct(opts.mode & MASK, 6), 100);
-      b4a.write(buf, encodeOct(opts.uid, 6), 108);
-      b4a.write(buf, encodeOct(opts.gid, 6), 116);
-      encodeSize(opts.size, buf, 124);
-      b4a.write(buf, encodeOct(opts.mtime.getTime() / 1e3 | 0, 11), 136);
-      buf[156] = ZERO_OFFSET + toTypeflag(opts.type);
-      if (opts.linkname) b4a.write(buf, opts.linkname, 157);
-      b4a.copy(USTAR_MAGIC, buf, MAGIC_OFFSET);
-      b4a.copy(USTAR_VER, buf, VERSION_OFFSET);
-      if (opts.uname) b4a.write(buf, opts.uname, 265);
-      if (opts.gname) b4a.write(buf, opts.gname, 297);
-      b4a.write(buf, encodeOct(opts.devmajor || 0, 6), 329);
-      b4a.write(buf, encodeOct(opts.devminor || 0, 6), 337);
-      if (prefix) b4a.write(buf, prefix, 345);
-      b4a.write(buf, encodeOct(cksum(buf), 6), 148);
-      return buf;
-    };
-    exports2.decode = function decode(buf, filenameEncoding, allowUnknownFormat) {
-      let typeflag = buf[156] === 0 ? 0 : buf[156] - ZERO_OFFSET;
-      let name = decodeStr(buf, 0, 100, filenameEncoding);
-      const mode = decodeOct(buf, 100, 8);
-      const uid = decodeOct(buf, 108, 8);
-      const gid = decodeOct(buf, 116, 8);
-      const size = decodeOct(buf, 124, 12);
-      const mtime = decodeOct(buf, 136, 12);
-      const type2 = toType(typeflag);
-      const linkname = buf[157] === 0 ? null : decodeStr(buf, 157, 100, filenameEncoding);
-      const uname = decodeStr(buf, 265, 32);
-      const gname = decodeStr(buf, 297, 32);
-      const devmajor = decodeOct(buf, 329, 8);
-      const devminor = decodeOct(buf, 337, 8);
-      const c = cksum(buf);
-      if (c === 8 * 32) return null;
-      if (c !== decodeOct(buf, 148, 8)) throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");
-      if (isUSTAR(buf)) {
-        if (buf[345]) name = decodeStr(buf, 345, 155, filenameEncoding) + "/" + name;
-      } else if (isGNU(buf)) {
-      } else {
-        if (!allowUnknownFormat) {
-          throw new Error("Invalid tar header: unknown format.");
+        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;
       }
-      if (typeflag === 0 && name && name[name.length - 1] === "/") typeflag = 5;
-      return {
-        name,
-        mode,
-        uid,
-        gid,
-        size,
-        mtime: new Date(1e3 * mtime),
-        type: type2,
-        linkname,
-        uname,
-        gname,
-        devmajor,
-        devminor,
-        pax: null
-      };
     };
-    function isUSTAR(buf) {
-      return b4a.equals(USTAR_MAGIC, buf.subarray(MAGIC_OFFSET, MAGIC_OFFSET + 6));
-    }
-    function isGNU(buf) {
-      return b4a.equals(GNU_MAGIC, buf.subarray(MAGIC_OFFSET, MAGIC_OFFSET + 6)) && b4a.equals(GNU_VER, buf.subarray(VERSION_OFFSET, VERSION_OFFSET + 2));
-    }
-    function clamp(index, len, defaultValue) {
-      if (typeof index !== "number") return defaultValue;
-      index = ~~index;
-      if (index >= len) return len;
-      if (index >= 0) return index;
-      index += len;
-      if (index >= 0) return index;
-      return 0;
-    }
-    function toType(flag) {
-      switch (flag) {
-        case 0:
-          return "file";
-        case 1:
-          return "link";
-        case 2:
-          return "symlink";
-        case 3:
-          return "character-device";
-        case 4:
-          return "block-device";
-        case 5:
-          return "directory";
-        case 6:
-          return "fifo";
-        case 7:
-          return "contiguous-file";
-        case 72:
-          return "pax-header";
-        case 55:
-          return "pax-global-header";
-        case 27:
-          return "gnu-long-link-path";
-        case 28:
-        case 30:
-          return "gnu-long-path";
-      }
-      return null;
-    }
-    function toTypeflag(flag) {
-      switch (flag) {
-        case "file":
-          return 0;
-        case "link":
-          return 1;
-        case "symlink":
-          return 2;
-        case "character-device":
-          return 3;
-        case "block-device":
-          return 4;
-        case "directory":
-          return 5;
-        case "fifo":
-          return 6;
-        case "contiguous-file":
-          return 7;
-        case "pax-header":
-          return 72;
-      }
-      return 0;
-    }
-    function indexOf(block, num, offset, end) {
-      for (; offset < end; offset++) {
-        if (block[offset] === num) return offset;
-      }
-      return end;
-    }
-    function cksum(block) {
-      let sum = 8 * 32;
-      for (let i = 0; i < 148; i++) sum += block[i];
-      for (let j = 156; j < 512; j++) sum += block[j];
-      return sum;
-    }
-    function encodeOct(val, n) {
-      val = val.toString(8);
-      if (val.length > n) return SEVENS.slice(0, n) + " ";
-      return ZEROS.slice(0, n - val.length) + val + " ";
-    }
-    function encodeSizeBin(num, buf, off) {
-      buf[off] = 128;
-      for (let i = 11; i > 0; i--) {
-        buf[off + i] = num & 255;
-        num = Math.floor(num / 256);
-      }
-    }
-    function encodeSize(num, buf, off) {
-      if (num.toString(8).length > 11) {
-        encodeSizeBin(num, buf, off);
-      } else {
-        b4a.write(buf, encodeOct(num, 11), off);
-      }
-    }
-    function parse256(buf) {
-      let positive;
-      if (buf[0] === 128) positive = true;
-      else if (buf[0] === 255) positive = false;
-      else return null;
-      const tuple = [];
-      let i;
-      for (i = buf.length - 1; i > 0; i--) {
-        const byte = buf[i];
-        if (positive) tuple.push(byte);
-        else tuple.push(255 - byte);
-      }
-      let sum = 0;
-      const l = tuple.length;
-      for (i = 0; i < l; i++) {
-        sum += tuple[i] * Math.pow(256, i);
+    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
       }
-      return positive ? sum : -1 * sum;
-    }
-    function decodeOct(val, offset, length) {
-      val = val.subarray(offset, offset + length);
-      offset = 0;
-      if (val[offset] & 128) {
-        return parse256(val);
-      } else {
-        while (offset < val.length && val[offset] === 32) offset++;
-        const end = clamp(indexOf(val, 32, offset, val.length), val.length, val.length);
-        while (offset < end && val[offset] === 0) offset++;
-        if (end === offset) return 0;
-        return parseInt(b4a.toString(val.subarray(offset, end)), 8);
+    ];
+    webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters);
+    webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([
+      ...cacheQueryOptionConverters,
+      {
+        key: "cacheName",
+        converter: webidl.converters.DOMString
       }
-    }
-    function decodeStr(val, offset, length, encoding) {
-      return b4a.toString(val.subarray(offset, indexOf(val, 0, offset, offset + length)), encoding);
-    }
-    function addLength(str2) {
-      const len = b4a.byteLength(str2);
-      let digits = Math.floor(Math.log(len) / Math.log(10)) + 1;
-      if (len + digits >= Math.pow(10, digits)) digits++;
-      return len + digits + str2;
-    }
+    ]);
+    webidl.converters.Response = webidl.interfaceConverter(Response);
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.RequestInfo
+    );
+    module2.exports = {
+      Cache
+    };
   }
 });
 
-// node_modules/tar-stream/extract.js
-var require_extract = __commonJS({
-  "node_modules/tar-stream/extract.js"(exports2, module2) {
-    var { Writable, Readable, getStreamError } = require_streamx();
-    var FIFO = require_fast_fifo();
-    var b4a = require_b4a();
-    var headers = require_headers3();
-    var EMPTY = b4a.alloc(0);
-    var BufferList = class {
+// node_modules/undici/lib/cache/cachestorage.js
+var require_cachestorage3 = __commonJS({
+  "node_modules/undici/lib/cache/cachestorage.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols14();
+    var { Cache } = require_cache6();
+    var { webidl } = require_webidl3();
+    var { kEnumerableProperty } = require_util24();
+    var CacheStorage = class _CacheStorage {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
+       * @type {Map this.buffered) return null;
-        if (size === 0) return EMPTY;
-        let chunk = this._next(size);
-        if (size === chunk.byteLength) return chunk;
-        const chunks = [chunk];
-        while ((size -= chunk.byteLength) > 0) {
-          chunk = this._next(size);
-          chunks.push(chunk);
+        if (arguments[0] !== kConstruct) {
+          webidl.illegalConstructor();
         }
-        return b4a.concat(chunks);
       }
-      _next(size) {
-        const buf = this.queue.peek();
-        const rem = buf.byteLength - this._offset;
-        if (size >= rem) {
-          const sub = this._offset ? buf.subarray(this._offset, buf.byteLength) : buf;
-          this.queue.shift();
-          this._offset = 0;
-          this.buffered -= rem;
-          this.shifted += rem;
-          return sub;
+      async match(request2, options = {}) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.match" });
+        request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.MultiCacheQueryOptions(options);
+        if (options.cacheName != null) {
+          if (this.#caches.has(options.cacheName)) {
+            const cacheList = this.#caches.get(options.cacheName);
+            const cache = new Cache(kConstruct, cacheList);
+            return await cache.match(request2, options);
+          }
+        } else {
+          for (const cacheList of this.#caches.values()) {
+            const cache = new Cache(kConstruct, cacheList);
+            const response = await cache.match(request2, options);
+            if (response !== void 0) {
+              return response;
+            }
+          }
         }
-        this.buffered -= size;
-        this.shifted += size;
-        return buf.subarray(this._offset, this._offset += size);
       }
-    };
-    var Source = class extends Readable {
-      constructor(self2, header, offset) {
-        super();
-        this.header = header;
-        this.offset = offset;
-        this._parent = self2;
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-has
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async has(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.has" });
+        cacheName = webidl.converters.DOMString(cacheName);
+        return this.#caches.has(cacheName);
       }
-      _read(cb) {
-        if (this.header.size === 0) {
-          this.push(null);
-        }
-        if (this._parent._stream === this) {
-          this._parent._update();
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async open(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.open" });
+        cacheName = webidl.converters.DOMString(cacheName);
+        if (this.#caches.has(cacheName)) {
+          const cache2 = this.#caches.get(cacheName);
+          return new Cache(kConstruct, cache2);
         }
-        cb(null);
-      }
-      _predestroy() {
-        this._parent.destroy(getStreamError(this));
+        const cache = [];
+        this.#caches.set(cacheName, cache);
+        return new Cache(kConstruct, cache);
       }
-      _detach() {
-        if (this._parent._stream === this) {
-          this._parent._stream = null;
-          this._parent._missing = overflow(this.header.size);
-          this._parent._update();
-        }
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-delete
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async delete(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.delete" });
+        cacheName = webidl.converters.DOMString(cacheName);
+        return this.#caches.delete(cacheName);
       }
-      _destroy(cb) {
-        this._detach();
-        cb(null);
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys
+       * @returns {string[]}
+       */
+      async keys() {
+        webidl.brandCheck(this, _CacheStorage);
+        const keys = this.#caches.keys();
+        return [...keys];
       }
     };
-    var Extract = class extends Writable {
-      constructor(opts) {
-        super(opts);
-        if (!opts) opts = {};
-        this._buffer = new BufferList();
-        this._offset = 0;
-        this._header = null;
-        this._stream = null;
-        this._missing = 0;
-        this._longHeader = false;
-        this._callback = noop3;
-        this._locked = false;
-        this._finished = false;
-        this._pax = null;
-        this._paxGlobal = null;
-        this._gnuLongPath = null;
-        this._gnuLongLinkPath = null;
-        this._filenameEncoding = opts.filenameEncoding || "utf-8";
-        this._allowUnknownFormat = !!opts.allowUnknownFormat;
-        this._unlockBound = this._unlock.bind(this);
-      }
-      _unlock(err) {
-        this._locked = false;
-        if (err) {
-          this.destroy(err);
-          this._continueWrite(err);
-          return;
-        }
-        this._update();
+    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/cookies/constants.js
+var require_constants23 = __commonJS({
+  "node_modules/undici/lib/cookies/constants.js"(exports2, module2) {
+    "use strict";
+    var maxAttributeValueSize = 1024;
+    var maxNameValuePairSize = 4096;
+    module2.exports = {
+      maxAttributeValueSize,
+      maxNameValuePairSize
+    };
+  }
+});
+
+// node_modules/undici/lib/cookies/util.js
+var require_util29 = __commonJS({
+  "node_modules/undici/lib/cookies/util.js"(exports2, module2) {
+    "use strict";
+    function isCTLExcludingHtab(value) {
+      if (value.length === 0) {
+        return false;
       }
-      _consumeHeader() {
-        if (this._locked) return false;
-        this._offset = this._buffer.shifted;
-        try {
-          this._header = headers.decode(this._buffer.shift(512), this._filenameEncoding, this._allowUnknownFormat);
-        } catch (err) {
-          this._continueWrite(err);
+      for (const char of value) {
+        const code = char.charCodeAt(0);
+        if (code >= 0 || code <= 8 || (code >= 10 || code <= 31) || code === 127) {
           return false;
         }
-        if (!this._header) return true;
-        switch (this._header.type) {
-          case "gnu-long-path":
-          case "gnu-long-link-path":
-          case "pax-global-header":
-          case "pax-header":
-            this._longHeader = true;
-            this._missing = this._header.size;
-            return true;
-        }
-        this._locked = true;
-        this._applyLongHeaders();
-        if (this._header.size === 0 || this._header.type === "directory") {
-          this.emit("entry", this._header, this._createStream(), this._unlockBound);
-          return true;
-        }
-        this._stream = this._createStream();
-        this._missing = this._header.size;
-        this.emit("entry", this._header, this._stream, this._unlockBound);
-        return true;
       }
-      _applyLongHeaders() {
-        if (this._gnuLongPath) {
-          this._header.name = this._gnuLongPath;
-          this._gnuLongPath = null;
-        }
-        if (this._gnuLongLinkPath) {
-          this._header.linkname = this._gnuLongLinkPath;
-          this._gnuLongLinkPath = null;
-        }
-        if (this._pax) {
-          if (this._pax.path) this._header.name = this._pax.path;
-          if (this._pax.linkpath) this._header.linkname = this._pax.linkpath;
-          if (this._pax.size) this._header.size = parseInt(this._pax.size, 10);
-          this._header.pax = this._pax;
-          this._pax = null;
+    }
+    function validateCookieName(name) {
+      for (const char of name) {
+        const code = char.charCodeAt(0);
+        if (code <= 32 || code > 127 || char === "(" || char === ")" || char === ">" || char === "<" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}") {
+          throw new Error("Invalid cookie name");
         }
       }
-      _decodeLongHeader(buf) {
-        switch (this._header.type) {
-          case "gnu-long-path":
-            this._gnuLongPath = headers.decodeLongPath(buf, this._filenameEncoding);
-            break;
-          case "gnu-long-link-path":
-            this._gnuLongLinkPath = headers.decodeLongPath(buf, this._filenameEncoding);
-            break;
-          case "pax-global-header":
-            this._paxGlobal = headers.decodePax(buf);
-            break;
-          case "pax-header":
-            this._pax = this._paxGlobal === null ? headers.decodePax(buf) : Object.assign({}, this._paxGlobal, headers.decodePax(buf));
-            break;
+    }
+    function validateCookieValue(value) {
+      for (const char of value) {
+        const code = char.charCodeAt(0);
+        if (code < 33 || // exclude CTLs (0-31)
+        code === 34 || code === 44 || code === 59 || code === 92 || code > 126) {
+          throw new Error("Invalid header value");
         }
       }
-      _consumeLongHeader() {
-        this._longHeader = false;
-        this._missing = overflow(this._header.size);
-        const buf = this._buffer.shift(this._header.size);
-        try {
-          this._decodeLongHeader(buf);
-        } catch (err) {
-          this._continueWrite(err);
-          return false;
+    }
+    function validateCookiePath(path4) {
+      for (const char of path4) {
+        const code = char.charCodeAt(0);
+        if (code < 33 || char === ";") {
+          throw new Error("Invalid cookie path");
         }
-        return true;
       }
-      _consumeStream() {
-        const buf = this._buffer.shiftFirst(this._missing);
-        if (buf === null) return false;
-        this._missing -= buf.byteLength;
-        const drained = this._stream.push(buf);
-        if (this._missing === 0) {
-          this._stream.push(null);
-          if (drained) this._stream._detach();
-          return drained && this._locked === false;
-        }
-        return drained;
+    }
+    function validateCookieDomain(domain) {
+      if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
+        throw new Error("Invalid cookie domain");
       }
-      _createStream() {
-        return new Source(this, this._header, this._offset);
+    }
+    function toIMFDate(date) {
+      if (typeof date === "number") {
+        date = new Date(date);
       }
-      _update() {
-        while (this._buffer.buffered > 0 && !this.destroying) {
-          if (this._missing > 0) {
-            if (this._stream !== null) {
-              if (this._consumeStream() === false) return;
-              continue;
-            }
-            if (this._longHeader === true) {
-              if (this._missing > this._buffer.buffered) break;
-              if (this._consumeLongHeader() === false) return false;
-              continue;
-            }
-            const ignore = this._buffer.shiftFirst(this._missing);
-            if (ignore !== null) this._missing -= ignore.byteLength;
-            continue;
-          }
-          if (this._buffer.buffered < 512) break;
-          if (this._stream !== null || this._consumeHeader() === false) return;
-        }
-        this._continueWrite(null);
+      const days = [
+        "Sun",
+        "Mon",
+        "Tue",
+        "Wed",
+        "Thu",
+        "Fri",
+        "Sat"
+      ];
+      const months = [
+        "Jan",
+        "Feb",
+        "Mar",
+        "Apr",
+        "May",
+        "Jun",
+        "Jul",
+        "Aug",
+        "Sep",
+        "Oct",
+        "Nov",
+        "Dec"
+      ];
+      const dayName = days[date.getUTCDay()];
+      const day = date.getUTCDate().toString().padStart(2, "0");
+      const month = months[date.getUTCMonth()];
+      const year = date.getUTCFullYear();
+      const hour = date.getUTCHours().toString().padStart(2, "0");
+      const minute = date.getUTCMinutes().toString().padStart(2, "0");
+      const second = date.getUTCSeconds().toString().padStart(2, "0");
+      return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`;
+    }
+    function validateCookieMaxAge(maxAge) {
+      if (maxAge < 0) {
+        throw new Error("Invalid cookie max-age");
       }
-      _continueWrite(err) {
-        const cb = this._callback;
-        this._callback = noop3;
-        cb(err);
+    }
+    function stringify(cookie) {
+      if (cookie.name.length === 0) {
+        return null;
       }
-      _write(data, cb) {
-        this._callback = cb;
-        this._buffer.push(data);
-        this._update();
+      validateCookieName(cookie.name);
+      validateCookieValue(cookie.value);
+      const out = [`${cookie.name}=${cookie.value}`];
+      if (cookie.name.startsWith("__Secure-")) {
+        cookie.secure = true;
       }
-      _final(cb) {
-        this._finished = this._missing === 0 && this._buffer.buffered === 0;
-        cb(this._finished ? null : new Error("Unexpected end of data"));
+      if (cookie.name.startsWith("__Host-")) {
+        cookie.secure = true;
+        cookie.domain = null;
+        cookie.path = "/";
       }
-      _predestroy() {
-        this._continueWrite(null);
+      if (cookie.secure) {
+        out.push("Secure");
       }
-      _destroy(cb) {
-        if (this._stream) this._stream.destroy(getStreamError(this));
-        cb(null);
+      if (cookie.httpOnly) {
+        out.push("HttpOnly");
       }
-      [Symbol.asyncIterator]() {
-        let error3 = null;
-        let promiseResolve = null;
-        let promiseReject = null;
-        let entryStream = null;
-        let entryCallback = null;
-        const extract2 = this;
-        this.on("entry", onentry);
-        this.on("error", (err) => {
-          error3 = err;
-        });
-        this.on("close", onclose);
-        return {
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          next() {
-            return new Promise(onnext);
-          },
-          return() {
-            return destroy(null);
-          },
-          throw(err) {
-            return destroy(err);
-          }
-        };
-        function consumeCallback(err) {
-          if (!entryCallback) return;
-          const cb = entryCallback;
-          entryCallback = null;
-          cb(err);
-        }
-        function onnext(resolve3, reject) {
-          if (error3) {
-            return reject(error3);
-          }
-          if (entryStream) {
-            resolve3({ value: entryStream, done: false });
-            entryStream = null;
-            return;
-          }
-          promiseResolve = resolve3;
-          promiseReject = reject;
-          consumeCallback(null);
-          if (extract2._finished && promiseResolve) {
-            promiseResolve({ value: void 0, done: true });
-            promiseResolve = promiseReject = null;
-          }
-        }
-        function onentry(header, stream, callback) {
-          entryCallback = callback;
-          stream.on("error", noop3);
-          if (promiseResolve) {
-            promiseResolve({ value: stream, done: false });
-            promiseResolve = promiseReject = null;
-          } else {
-            entryStream = stream;
-          }
-        }
-        function onclose() {
-          consumeCallback(error3);
-          if (!promiseResolve) return;
-          if (error3) promiseReject(error3);
-          else promiseResolve({ value: void 0, done: true });
-          promiseResolve = promiseReject = null;
-        }
-        function destroy(err) {
-          extract2.destroy(err);
-          consumeCallback(err);
-          return new Promise((resolve3, reject) => {
-            if (extract2.destroyed) return resolve3({ value: void 0, done: true });
-            extract2.once("close", function() {
-              if (err) reject(err);
-              else resolve3({ value: void 0, done: true });
-            });
-          });
+      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("=")}`);
       }
-    };
-    module2.exports = function extract2(opts) {
-      return new Extract(opts);
-    };
-    function noop3() {
-    }
-    function overflow(size) {
-      size &= 511;
-      return size && 512 - size;
+      return out.join("; ");
     }
-  }
-});
-
-// node_modules/tar-stream/constants.js
-var require_constants19 = __commonJS({
-  "node_modules/tar-stream/constants.js"(exports2, module2) {
-    var constants = {
-      // just for envs without fs
-      S_IFMT: 61440,
-      S_IFDIR: 16384,
-      S_IFCHR: 8192,
-      S_IFBLK: 24576,
-      S_IFIFO: 4096,
-      S_IFLNK: 40960
+    module2.exports = {
+      isCTLExcludingHtab,
+      validateCookieName,
+      validateCookiePath,
+      validateCookieValue,
+      toIMFDate,
+      stringify
     };
-    try {
-      module2.exports = require("fs").constants || constants;
-    } catch {
-      module2.exports = constants;
-    }
   }
 });
 
-// node_modules/tar-stream/pack.js
-var require_pack = __commonJS({
-  "node_modules/tar-stream/pack.js"(exports2, module2) {
-    var { Readable, Writable, getStreamError } = require_streamx();
-    var b4a = require_b4a();
-    var constants = require_constants19();
-    var headers = require_headers3();
-    var DMODE = 493;
-    var FMODE = 420;
-    var END_OF_TAR = b4a.alloc(1024);
-    var Sink = class extends Writable {
-      constructor(pack, header, callback) {
-        super({ mapWritable, eagerOpen: true });
-        this.written = 0;
-        this.header = header;
-        this._callback = callback;
-        this._linkname = null;
-        this._isLinkname = header.type === "symlink" && !header.linkname;
-        this._isVoid = header.type !== "file" && header.type !== "contiguous-file";
-        this._finished = false;
-        this._pack = pack;
-        this._openCallback = null;
-        if (this._pack._stream === null) this._pack._stream = this;
-        else this._pack._pending.push(this);
-      }
-      _open(cb) {
-        this._openCallback = cb;
-        if (this._pack._stream === this) this._continueOpen();
-      }
-      _continuePack(err) {
-        if (this._callback === null) return;
-        const callback = this._callback;
-        this._callback = null;
-        callback(err);
-      }
-      _continueOpen() {
-        if (this._pack._stream === null) this._pack._stream = this;
-        const cb = this._openCallback;
-        this._openCallback = null;
-        if (cb === null) return;
-        if (this._pack.destroying) return cb(new Error("pack stream destroyed"));
-        if (this._pack._finalized) return cb(new Error("pack stream is already finalized"));
-        this._pack._stream = this;
-        if (!this._isLinkname) {
-          this._pack._encode(this.header);
-        }
-        if (this._isVoid) {
-          this._finish();
-          this._continuePack(null);
-        }
-        cb(null);
+// node_modules/undici/lib/cookies/parse.js
+var require_parse4 = __commonJS({
+  "node_modules/undici/lib/cookies/parse.js"(exports2, module2) {
+    "use strict";
+    var { maxNameValuePairSize, maxAttributeValueSize } = require_constants23();
+    var { isCTLExcludingHtab } = require_util29();
+    var { collectASequenceOfCodePointsFast } = require_dataURL();
+    var assert = require("assert");
+    function parseSetCookie(header) {
+      if (isCTLExcludingHtab(header)) {
+        return null;
       }
-      _write(data, cb) {
-        if (this._isLinkname) {
-          this._linkname = this._linkname ? b4a.concat([this._linkname, data]) : data;
-          return cb(null);
-        }
-        if (this._isVoid) {
-          if (data.byteLength > 0) {
-            return cb(new Error("No body allowed for this entry"));
-          }
-          return cb();
-        }
-        this.written += data.byteLength;
-        if (this._pack.push(data)) return cb();
-        this._pack._drain = cb;
+      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;
       }
-      _finish() {
-        if (this._finished) return;
-        this._finished = true;
-        if (this._isLinkname) {
-          this.header.linkname = this._linkname ? b4a.toString(this._linkname, "utf-8") : "";
-          this._pack._encode(this.header);
-        }
-        overflow(this._pack, this.header.size);
-        this._pack._done(this);
+      if (!nameValuePair.includes("=")) {
+        value = nameValuePair;
+      } else {
+        const position = { position: 0 };
+        name = collectASequenceOfCodePointsFast(
+          "=",
+          nameValuePair,
+          position
+        );
+        value = nameValuePair.slice(position.position + 1);
       }
-      _final(cb) {
-        if (this.written !== this.header.size) {
-          return cb(new Error("Size mismatch"));
-        }
-        this._finish();
-        cb(null);
+      name = name.trim();
+      value = value.trim();
+      if (name.length + value.length > maxNameValuePairSize) {
+        return null;
       }
-      _getError() {
-        return getStreamError(this) || new Error("tar entry destroyed");
+      return {
+        name,
+        value,
+        ...parseUnparsedAttributes(unparsedAttributes)
+      };
+    }
+    function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) {
+      if (unparsedAttributes.length === 0) {
+        return cookieAttributeList;
       }
-      _predestroy() {
-        this._pack.destroy(this._getError());
+      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 = "";
       }
-      _destroy(cb) {
-        this._pack._done(this);
-        this._continuePack(this._finished ? null : this._getError());
-        cb();
+      let attributeName = "";
+      let attributeValue = "";
+      if (cookieAv.includes("=")) {
+        const position = { position: 0 };
+        attributeName = collectASequenceOfCodePointsFast(
+          "=",
+          cookieAv,
+          position
+        );
+        attributeValue = cookieAv.slice(position.position + 1);
+      } else {
+        attributeName = cookieAv;
       }
-    };
-    var Pack = class extends Readable {
-      constructor(opts) {
-        super(opts);
-        this._drain = noop3;
-        this._finalized = false;
-        this._finalizing = false;
-        this._pending = [];
-        this._stream = null;
+      attributeName = attributeName.trim();
+      attributeValue = attributeValue.trim();
+      if (attributeValue.length > maxAttributeValueSize) {
+        return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
       }
-      entry(header, buffer, callback) {
-        if (this._finalized || this.destroying) throw new Error("already finalized or destroyed");
-        if (typeof buffer === "function") {
-          callback = buffer;
-          buffer = null;
+      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 (!callback) callback = noop3;
-        if (!header.size || header.type === "symlink") header.size = 0;
-        if (!header.type) header.type = modeToType(header.mode);
-        if (!header.mode) header.mode = header.type === "directory" ? DMODE : FMODE;
-        if (!header.uid) header.uid = 0;
-        if (!header.gid) header.gid = 0;
-        if (!header.mtime) header.mtime = /* @__PURE__ */ new Date();
-        if (typeof buffer === "string") buffer = b4a.from(buffer);
-        const sink = new Sink(this, header, callback);
-        if (b4a.isBuffer(buffer)) {
-          header.size = buffer.byteLength;
-          sink.write(buffer);
-          sink.end();
-          return sink;
+        if (!/^\d+$/.test(attributeValue)) {
+          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
         }
-        if (sink._isVoid) {
-          return sink;
+        const deltaSeconds = Number(attributeValue);
+        cookieAttributeList.maxAge = deltaSeconds;
+      } else if (attributeNameLowercase === "domain") {
+        let cookieDomain = attributeValue;
+        if (cookieDomain[0] === ".") {
+          cookieDomain = cookieDomain.slice(1);
         }
-        return sink;
-      }
-      finalize() {
-        if (this._stream || this._pending.length > 0) {
-          this._finalizing = true;
-          return;
+        cookieDomain = cookieDomain.toLowerCase();
+        cookieAttributeList.domain = cookieDomain;
+      } else if (attributeNameLowercase === "path") {
+        let cookiePath = "";
+        if (attributeValue.length === 0 || attributeValue[0] !== "/") {
+          cookiePath = "/";
+        } else {
+          cookiePath = attributeValue;
         }
-        if (this._finalized) return;
-        this._finalized = true;
-        this.push(END_OF_TAR);
-        this.push(null);
+        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}`);
       }
-      _done(stream) {
-        if (stream !== this._stream) return;
-        this._stream = null;
-        if (this._finalizing) this.finalize();
-        if (this._pending.length) this._pending.shift()._continueOpen();
+      return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
+    }
+    module2.exports = {
+      parseSetCookie,
+      parseUnparsedAttributes
+    };
+  }
+});
+
+// node_modules/undici/lib/cookies/index.js
+var require_cookies3 = __commonJS({
+  "node_modules/undici/lib/cookies/index.js"(exports2, module2) {
+    "use strict";
+    var { parseSetCookie } = require_parse4();
+    var { stringify } = require_util29();
+    var { webidl } = require_webidl3();
+    var { Headers } = require_headers4();
+    function getCookies(headers) {
+      webidl.argumentLengthCheck(arguments, 1, { header: "getCookies" });
+      webidl.brandCheck(headers, Headers, { strict: false });
+      const cookie = headers.get("cookie");
+      const out = {};
+      if (!cookie) {
+        return out;
       }
-      _encode(header) {
-        if (!header.pax) {
-          const buf = headers.encode(header);
-          if (buf) {
-            this.push(buf);
-            return;
-          }
-        }
-        this._encodePax(header);
+      for (const piece of cookie.split(";")) {
+        const [name, ...value] = piece.split("=");
+        out[name.trim()] = value.join("=");
       }
-      _encodePax(header) {
-        const paxHeader = headers.encodePax({
-          name: header.name,
-          linkname: header.linkname,
-          pax: header.pax
-        });
-        const newHeader = {
-          name: "PaxHeader",
-          mode: header.mode,
-          uid: header.uid,
-          gid: header.gid,
-          size: paxHeader.byteLength,
-          mtime: header.mtime,
-          type: "pax-header",
-          linkname: header.linkname && "PaxHeader",
-          uname: header.uname,
-          gname: header.gname,
-          devmajor: header.devmajor,
-          devminor: header.devminor
-        };
-        this.push(headers.encode(newHeader));
-        this.push(paxHeader);
-        overflow(this, paxHeader.byteLength);
-        newHeader.size = header.size;
-        newHeader.type = header.type;
-        this.push(headers.encode(newHeader));
+      return out;
+    }
+    function deleteCookie(headers, name, attributes) {
+      webidl.argumentLengthCheck(arguments, 2, { header: "deleteCookie" });
+      webidl.brandCheck(headers, Headers, { strict: false });
+      name = webidl.converters.DOMString(name);
+      attributes = webidl.converters.DeleteCookieAttributes(attributes);
+      setCookie(headers, {
+        name,
+        value: "",
+        expires: /* @__PURE__ */ new Date(0),
+        ...attributes
+      });
+    }
+    function getSetCookies(headers) {
+      webidl.argumentLengthCheck(arguments, 1, { header: "getSetCookies" });
+      webidl.brandCheck(headers, Headers, { strict: false });
+      const cookies = headers.getSetCookie();
+      if (!cookies) {
+        return [];
       }
-      _doDrain() {
-        const drain = this._drain;
-        this._drain = noop3;
-        drain();
+      return cookies.map((pair) => parseSetCookie(pair));
+    }
+    function setCookie(headers, cookie) {
+      webidl.argumentLengthCheck(arguments, 2, { header: "setCookie" });
+      webidl.brandCheck(headers, Headers, { strict: false });
+      cookie = webidl.converters.Cookie(cookie);
+      const str2 = stringify(cookie);
+      if (str2) {
+        headers.append("Set-Cookie", stringify(cookie));
       }
-      _predestroy() {
-        const err = getStreamError(this);
-        if (this._stream) this._stream.destroy(err);
-        while (this._pending.length) {
-          const stream = this._pending.shift();
-          stream.destroy(err);
-          stream._continueOpen();
-        }
-        this._doDrain();
+    }
+    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
       }
-      _read(cb) {
-        this._doDrain();
-        cb();
+    ]);
+    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: []
       }
+    ]);
+    module2.exports = {
+      getCookies,
+      deleteCookie,
+      getSetCookies,
+      setCookie
     };
-    module2.exports = function pack(opts) {
-      return new Pack(opts);
+  }
+});
+
+// node_modules/undici/lib/websocket/constants.js
+var require_constants24 = __commonJS({
+  "node_modules/undici/lib/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 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);
+    module2.exports = {
+      uid,
+      staticPropertyDescriptors,
+      states,
+      opcodes,
+      maxUnsigned16Bit,
+      parserStates,
+      emptyBuffer
     };
-    function modeToType(mode) {
-      switch (mode & constants.S_IFMT) {
-        case constants.S_IFBLK:
-          return "block-device";
-        case constants.S_IFCHR:
-          return "character-device";
-        case constants.S_IFDIR:
-          return "directory";
-        case constants.S_IFIFO:
-          return "fifo";
-        case constants.S_IFLNK:
-          return "symlink";
-      }
-      return "file";
-    }
-    function noop3() {
-    }
-    function overflow(self2, size) {
-      size &= 511;
-      if (size) self2.push(END_OF_TAR.subarray(0, 512 - size));
-    }
-    function mapWritable(buf) {
-      return b4a.isBuffer(buf) ? buf : b4a.from(buf);
-    }
   }
 });
 
-// node_modules/tar-stream/index.js
-var require_tar_stream = __commonJS({
-  "node_modules/tar-stream/index.js"(exports2) {
-    exports2.extract = require_extract();
-    exports2.pack = require_pack();
+// node_modules/undici/lib/websocket/symbols.js
+var require_symbols15 = __commonJS({
+  "node_modules/undici/lib/websocket/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
+      kReadyState: /* @__PURE__ */ Symbol("ready state"),
+      kController: /* @__PURE__ */ Symbol("controller"),
+      kResponse: /* @__PURE__ */ Symbol("response"),
+      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
+      kSentClose: /* @__PURE__ */ Symbol("sent close"),
+      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
+      kByteParser: /* @__PURE__ */ Symbol("byte parser")
+    };
   }
 });
 
-// node_modules/archiver/lib/plugins/tar.js
-var require_tar2 = __commonJS({
-  "node_modules/archiver/lib/plugins/tar.js"(exports2, module2) {
-    var zlib = require("zlib");
-    var engine = require_tar_stream();
-    var util = require_archiver_utils();
-    var Tar = function(options) {
-      if (!(this instanceof Tar)) {
-        return new Tar(options);
+// node_modules/undici/lib/websocket/events.js
+var require_events3 = __commonJS({
+  "node_modules/undici/lib/websocket/events.js"(exports2, module2) {
+    "use strict";
+    var { webidl } = require_webidl3();
+    var { kEnumerableProperty } = require_util24();
+    var { MessagePort } = require("worker_threads");
+    var MessageEvent = class _MessageEvent extends Event {
+      #eventInit;
+      constructor(type2, eventInitDict = {}) {
+        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" });
+        type2 = webidl.converters.DOMString(type2);
+        eventInitDict = webidl.converters.MessageEventInit(eventInitDict);
+        super(type2, eventInitDict);
+        this.#eventInit = eventInitDict;
       }
-      options = this.options = util.defaults(options, {
-        gzip: false
-      });
-      if (typeof options.gzipOptions !== "object") {
-        options.gzipOptions = {};
+      get data() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.data;
       }
-      this.supports = {
-        directory: true,
-        symlink: true
-      };
-      this.engine = engine.pack(options);
-      this.compressor = false;
-      if (options.gzip) {
-        this.compressor = zlib.createGzip(options.gzipOptions);
-        this.compressor.on("error", this._onCompressorError.bind(this));
+      get origin() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.origin;
       }
-    };
-    Tar.prototype._onCompressorError = function(err) {
-      this.engine.emit("error", err);
-    };
-    Tar.prototype.append = function(source, data, callback) {
-      var self2 = this;
-      data.mtime = data.date;
-      function append(err, sourceBuffer) {
-        if (err) {
-          callback(err);
-          return;
+      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);
         }
-        self2.engine.entry(data, sourceBuffer, function(err2) {
-          callback(err2, data);
-        });
+        return this.#eventInit.ports;
       }
-      if (data.sourceType === "buffer") {
-        append(null, source);
-      } else if (data.sourceType === "stream" && data.stats) {
-        data.size = data.stats.size;
-        var entry = self2.engine.entry(data, function(err) {
-          callback(err, data);
+      initMessageEvent(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
+        webidl.brandCheck(this, _MessageEvent);
+        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent.initMessageEvent" });
+        return new _MessageEvent(type2, {
+          bubbles,
+          cancelable,
+          data,
+          origin,
+          lastEventId,
+          source,
+          ports
         });
-        source.pipe(entry);
-      } else if (data.sourceType === "stream") {
-        util.collectStream(source, append);
       }
     };
-    Tar.prototype.finalize = function() {
-      this.engine.finalize();
-    };
-    Tar.prototype.on = function() {
-      return this.engine.on.apply(this.engine, arguments);
-    };
-    Tar.prototype.pipe = function(destination, options) {
-      if (this.compressor) {
-        return this.engine.pipe.apply(this.engine, [this.compressor]).pipe(destination, options);
-      } else {
-        return this.engine.pipe.apply(this.engine, arguments);
+    var CloseEvent = class _CloseEvent extends Event {
+      #eventInit;
+      constructor(type2, eventInitDict = {}) {
+        webidl.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" });
+        type2 = webidl.converters.DOMString(type2);
+        eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
+        super(type2, eventInitDict);
+        this.#eventInit = eventInitDict;
+      }
+      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;
       }
     };
-    Tar.prototype.unpipe = function() {
-      if (this.compressor) {
-        return this.compressor.unpipe.apply(this.compressor, arguments);
-      } else {
-        return this.engine.unpipe.apply(this.engine, arguments);
+    var ErrorEvent = class _ErrorEvent extends Event {
+      #eventInit;
+      constructor(type2, eventInitDict) {
+        webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" });
+        super(type2, eventInitDict);
+        type2 = webidl.converters.DOMString(type2);
+        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;
       }
     };
-    module2.exports = Tar;
-  }
-});
-
-// node_modules/buffer-crc32/dist/index.cjs
-var require_dist5 = __commonJS({
-  "node_modules/buffer-crc32/dist/index.cjs"(exports2, module2) {
-    "use strict";
-    function getDefaultExportFromCjs(x) {
-      return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
-    }
-    var CRC_TABLE = new Int32Array([
-      0,
-      1996959894,
-      3993919788,
-      2567524794,
-      124634137,
-      1886057615,
-      3915621685,
-      2657392035,
-      249268274,
-      2044508324,
-      3772115230,
-      2547177864,
-      162941995,
-      2125561021,
-      3887607047,
-      2428444049,
-      498536548,
-      1789927666,
-      4089016648,
-      2227061214,
-      450548861,
-      1843258603,
-      4107580753,
-      2211677639,
-      325883990,
-      1684777152,
-      4251122042,
-      2321926636,
-      335633487,
-      1661365465,
-      4195302755,
-      2366115317,
-      997073096,
-      1281953886,
-      3579855332,
-      2724688242,
-      1006888145,
-      1258607687,
-      3524101629,
-      2768942443,
-      901097722,
-      1119000684,
-      3686517206,
-      2898065728,
-      853044451,
-      1172266101,
-      3705015759,
-      2882616665,
-      651767980,
-      1373503546,
-      3369554304,
-      3218104598,
-      565507253,
-      1454621731,
-      3485111705,
-      3099436303,
-      671266974,
-      1594198024,
-      3322730930,
-      2970347812,
-      795835527,
-      1483230225,
-      3244367275,
-      3060149565,
-      1994146192,
-      31158534,
-      2563907772,
-      4023717930,
-      1907459465,
-      112637215,
-      2680153253,
-      3904427059,
-      2013776290,
-      251722036,
-      2517215374,
-      3775830040,
-      2137656763,
-      141376813,
-      2439277719,
-      3865271297,
-      1802195444,
-      476864866,
-      2238001368,
-      4066508878,
-      1812370925,
-      453092731,
-      2181625025,
-      4111451223,
-      1706088902,
-      314042704,
-      2344532202,
-      4240017532,
-      1658658271,
-      366619977,
-      2362670323,
-      4224994405,
-      1303535960,
-      984961486,
-      2747007092,
-      3569037538,
-      1256170817,
-      1037604311,
-      2765210733,
-      3554079995,
-      1131014506,
-      879679996,
-      2909243462,
-      3663771856,
-      1141124467,
-      855842277,
-      2852801631,
-      3708648649,
-      1342533948,
-      654459306,
-      3188396048,
-      3373015174,
-      1466479909,
-      544179635,
-      3110523913,
-      3462522015,
-      1591671054,
-      702138776,
-      2966460450,
-      3352799412,
-      1504918807,
-      783551873,
-      3082640443,
-      3233442989,
-      3988292384,
-      2596254646,
-      62317068,
-      1957810842,
-      3939845945,
-      2647816111,
-      81470997,
-      1943803523,
-      3814918930,
-      2489596804,
-      225274430,
-      2053790376,
-      3826175755,
-      2466906013,
-      167816743,
-      2097651377,
-      4027552580,
-      2265490386,
-      503444072,
-      1762050814,
-      4150417245,
-      2154129355,
-      426522225,
-      1852507879,
-      4275313526,
-      2312317920,
-      282753626,
-      1742555852,
-      4189708143,
-      2394877945,
-      397917763,
-      1622183637,
-      3604390888,
-      2714866558,
-      953729732,
-      1340076626,
-      3518719985,
-      2797360999,
-      1068828381,
-      1219638859,
-      3624741850,
-      2936675148,
-      906185462,
-      1090812512,
-      3747672003,
-      2825379669,
-      829329135,
-      1181335161,
-      3412177804,
-      3160834842,
-      628085408,
-      1382605366,
-      3423369109,
-      3138078467,
-      570562233,
-      1426400815,
-      3317316542,
-      2998733608,
-      733239954,
-      1555261956,
-      3268935591,
-      3050360625,
-      752459403,
-      1541320221,
-      2607071920,
-      3965973030,
-      1969922972,
-      40735498,
-      2617837225,
-      3943577151,
-      1913087877,
-      83908371,
-      2512341634,
-      3803740692,
-      2075208622,
-      213261112,
-      2463272603,
-      3855990285,
-      2094854071,
-      198958881,
-      2262029012,
-      4057260610,
-      1759359992,
-      534414190,
-      2176718541,
-      4139329115,
-      1873836001,
-      414664567,
-      2282248934,
-      4279200368,
-      1711684554,
-      285281116,
-      2405801727,
-      4167216745,
-      1634467795,
-      376229701,
-      2685067896,
-      3608007406,
-      1308918612,
-      956543938,
-      2808555105,
-      3495958263,
-      1231636301,
-      1047427035,
-      2932959818,
-      3654703836,
-      1088359270,
-      936918e3,
-      2847714899,
-      3736837829,
-      1202900863,
-      817233897,
-      3183342108,
-      3401237130,
-      1404277552,
-      615818150,
-      3134207493,
-      3453421203,
-      1423857449,
-      601450431,
-      3009837614,
-      3294710456,
-      1567103746,
-      711928724,
-      3020668471,
-      3272380065,
-      1510334235,
-      755167117
+    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"],
+        get defaultValue() {
+          return [];
+        }
+      }
     ]);
-    function ensureBuffer(input) {
-      if (Buffer.isBuffer(input)) {
-        return input;
+    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: ""
       }
-      if (typeof input === "number") {
-        return Buffer.alloc(input);
-      } else if (typeof input === "string") {
-        return Buffer.from(input);
-      } else {
-        throw new Error("input must be buffer, number, or string, received " + typeof input);
+    ]);
+    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
+    };
+  }
+});
+
+// node_modules/undici/lib/websocket/util.js
+var require_util30 = __commonJS({
+  "node_modules/undici/lib/websocket/util.js"(exports2, module2) {
+    "use strict";
+    var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols15();
+    var { states, opcodes } = require_constants24();
+    var { MessageEvent, ErrorEvent } = require_events3();
+    function isEstablished(ws) {
+      return ws[kReadyState] === states.OPEN;
     }
-    function bufferizeInt(num) {
-      const tmp = ensureBuffer(4);
-      tmp.writeInt32BE(num, 0);
-      return tmp;
+    function isClosing(ws) {
+      return ws[kReadyState] === states.CLOSING;
     }
-    function _crc32(buf, previous) {
-      buf = ensureBuffer(buf);
-      if (Buffer.isBuffer(previous)) {
-        previous = previous.readUInt32BE(0);
+    function isClosed(ws) {
+      return ws[kReadyState] === states.CLOSED;
+    }
+    function fireEvent(e, target, eventConstructor = Event, eventInitDict) {
+      const event = new eventConstructor(e, eventInitDict);
+      target.dispatchEvent(event);
+    }
+    function websocketMessageReceived(ws, type2, data) {
+      if (ws[kReadyState] !== states.OPEN) {
+        return;
       }
-      let crc = ~~previous ^ -1;
-      for (var n = 0; n < buf.length; n++) {
-        crc = CRC_TABLE[(crc ^ buf[n]) & 255] ^ crc >>> 8;
+      let dataForEvent;
+      if (type2 === opcodes.TEXT) {
+        try {
+          dataForEvent = new TextDecoder("utf-8", { fatal: true }).decode(data);
+        } catch {
+          failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
+          return;
+        }
+      } else if (type2 === opcodes.BINARY) {
+        if (ws[kBinaryType] === "blob") {
+          dataForEvent = new Blob([data]);
+        } else {
+          dataForEvent = new Uint8Array(data).buffer;
+        }
       }
-      return crc ^ -1;
+      fireEvent("message", ws, MessageEvent, {
+        origin: ws[kWebSocketURL].origin,
+        data: dataForEvent
+      });
     }
-    function crc32() {
-      return bufferizeInt(_crc32.apply(null, arguments));
+    function isValidSubprotocol(protocol) {
+      if (protocol.length === 0) {
+        return false;
+      }
+      for (const char of protocol) {
+        const code = char.charCodeAt(0);
+        if (code < 33 || code > 126 || char === "(" || char === ")" || char === "<" || char === ">" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}" || code === 32 || // SP
+        code === 9) {
+          return false;
+        }
+      }
+      return true;
     }
-    crc32.signed = function() {
-      return _crc32.apply(null, arguments);
-    };
-    crc32.unsigned = function() {
-      return _crc32.apply(null, arguments) >>> 0;
+    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, ErrorEvent, {
+          error: new Error(reason)
+        });
+      }
+    }
+    module2.exports = {
+      isEstablished,
+      isClosing,
+      isClosed,
+      fireEvent,
+      isValidSubprotocol,
+      isValidStatusCode,
+      failWebsocketConnection,
+      websocketMessageReceived
     };
-    var bufferCrc32 = crc32;
-    var index = /* @__PURE__ */ getDefaultExportFromCjs(bufferCrc32);
-    module2.exports = index;
   }
 });
 
-// node_modules/archiver/lib/plugins/json.js
-var require_json = __commonJS({
-  "node_modules/archiver/lib/plugins/json.js"(exports2, module2) {
-    var inherits = require("util").inherits;
-    var Transform = require_ours().Transform;
-    var crc32 = require_dist5();
-    var util = require_archiver_utils();
-    var Json = function(options) {
-      if (!(this instanceof Json)) {
-        return new Json(options);
+// node_modules/undici/lib/websocket/connection.js
+var require_connection3 = __commonJS({
+  "node_modules/undici/lib/websocket/connection.js"(exports2, module2) {
+    "use strict";
+    var diagnosticsChannel = require("diagnostics_channel");
+    var { uid, states } = require_constants24();
+    var {
+      kReadyState,
+      kSentClose,
+      kByteParser,
+      kReceivedClose
+    } = require_symbols15();
+    var { fireEvent, failWebsocketConnection } = require_util30();
+    var { CloseEvent } = require_events3();
+    var { makeRequest } = require_request6();
+    var { fetching } = require_fetch3();
+    var { Headers } = require_headers4();
+    var { getGlobalDispatcher } = require_global6();
+    var { kHeadersList } = require_symbols11();
+    var channels = {};
+    channels.open = diagnosticsChannel.channel("undici:websocket:open");
+    channels.close = diagnosticsChannel.channel("undici:websocket:close");
+    channels.socketError = diagnosticsChannel.channel("undici:websocket:socket_error");
+    var crypto2;
+    try {
+      crypto2 = require("crypto");
+    } catch {
+    }
+    function establishWebSocketConnection(url, protocols, ws, onEstablish, options) {
+      const requestURL = url;
+      requestURL.protocol = url.protocol === "ws:" ? "http:" : "https:";
+      const request2 = makeRequest({
+        urlList: [requestURL],
+        serviceWorkers: "none",
+        referrer: "no-referrer",
+        mode: "websocket",
+        credentials: "include",
+        cache: "no-store",
+        redirect: "error"
+      });
+      if (options.headers) {
+        const headersList = new Headers(options.headers)[kHeadersList];
+        request2.headersList = headersList;
       }
-      options = this.options = util.defaults(options, {});
-      Transform.call(this, options);
-      this.supports = {
-        directory: true,
-        symlink: true
-      };
-      this.files = [];
+      const keyValue = crypto2.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 = "";
+      const controller = fetching({
+        request: request2,
+        useParallelQueue: true,
+        dispatcher: options.dispatcher ?? getGlobalDispatcher(),
+        processResponse(response) {
+          if (response.type === "error" || response.status !== 101) {
+            failWebsocketConnection(ws, "Received network error or non-101 status code.");
+            return;
+          }
+          if (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 = crypto2.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");
+          if (secExtension !== null && secExtension !== permessageDeflate) {
+            failWebsocketConnection(ws, "Received different permessage-deflate than the one set.");
+            return;
+          }
+          const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");
+          if (secProtocol !== null && secProtocol !== request2.headersList.get("Sec-WebSocket-Protocol")) {
+            failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");
+            return;
+          }
+          response.socket.on("data", onSocketData);
+          response.socket.on("close", onSocketClose);
+          response.socket.on("error", onSocketError);
+          if (channels.open.hasSubscribers) {
+            channels.open.publish({
+              address: response.socket.address(),
+              protocol: secProtocol,
+              extensions: secExtension
+            });
+          }
+          onEstablish(response);
+        }
+      });
+      return controller;
+    }
+    function onSocketData(chunk) {
+      if (!this.ws[kByteParser].write(chunk)) {
+        this.pause();
+      }
+    }
+    function onSocketClose() {
+      const { ws } = this;
+      const wasClean = ws[kSentClose] && ws[kReceivedClose];
+      let code = 1005;
+      let reason = "";
+      const result = ws[kByteParser].closingInfo;
+      if (result) {
+        code = result.code ?? 1005;
+        reason = result.reason;
+      } else if (!ws[kSentClose]) {
+        code = 1006;
+      }
+      ws[kReadyState] = states.CLOSED;
+      fireEvent("close", ws, CloseEvent, {
+        wasClean,
+        code,
+        reason
+      });
+      if (channels.close.hasSubscribers) {
+        channels.close.publish({
+          websocket: ws,
+          code,
+          reason
+        });
+      }
+    }
+    function onSocketError(error3) {
+      const { ws } = this;
+      ws[kReadyState] = states.CLOSING;
+      if (channels.socketError.hasSubscribers) {
+        channels.socketError.publish(error3);
+      }
+      this.destroy();
+    }
+    module2.exports = {
+      establishWebSocketConnection
     };
-    inherits(Json, Transform);
-    Json.prototype._transform = function(chunk, encoding, callback) {
-      callback(null, chunk);
+  }
+});
+
+// node_modules/undici/lib/websocket/frame.js
+var require_frame3 = __commonJS({
+  "node_modules/undici/lib/websocket/frame.js"(exports2, module2) {
+    "use strict";
+    var { maxUnsigned16Bit } = require_constants24();
+    var crypto2;
+    try {
+      crypto2 = require("crypto");
+    } catch {
+    }
+    var WebsocketFrameSend = class {
+      /**
+       * @param {Buffer|undefined} data
+       */
+      constructor(data) {
+        this.frameData = data;
+        this.maskKey = crypto2.randomBytes(4);
+      }
+      createFrame(opcode) {
+        const bodyLength = this.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 buffer = Buffer.allocUnsafe(bodyLength + offset);
+        buffer[0] = buffer[1] = 0;
+        buffer[0] |= 128;
+        buffer[0] = (buffer[0] & 240) + opcode;
+        buffer[offset - 4] = this.maskKey[0];
+        buffer[offset - 3] = this.maskKey[1];
+        buffer[offset - 2] = this.maskKey[2];
+        buffer[offset - 1] = this.maskKey[3];
+        buffer[1] = payloadLength;
+        if (payloadLength === 126) {
+          buffer.writeUInt16BE(bodyLength, 2);
+        } else if (payloadLength === 127) {
+          buffer[2] = buffer[3] = 0;
+          buffer.writeUIntBE(bodyLength, 4, 6);
+        }
+        buffer[1] |= 128;
+        for (let i = 0; i < bodyLength; i++) {
+          buffer[offset + i] = this.frameData[i] ^ this.maskKey[i % 4];
+        }
+        return buffer;
+      }
     };
-    Json.prototype._writeStringified = function() {
-      var fileString = JSON.stringify(this.files);
-      this.write(fileString);
+    module2.exports = {
+      WebsocketFrameSend
     };
-    Json.prototype.append = function(source, data, callback) {
-      var self2 = this;
-      data.crc32 = 0;
-      function onend(err, sourceBuffer) {
-        if (err) {
-          callback(err);
-          return;
+  }
+});
+
+// node_modules/undici/lib/websocket/receiver.js
+var require_receiver3 = __commonJS({
+  "node_modules/undici/lib/websocket/receiver.js"(exports2, module2) {
+    "use strict";
+    var { Writable } = require("stream");
+    var diagnosticsChannel = require("diagnostics_channel");
+    var { parserStates, opcodes, states, emptyBuffer } = require_constants24();
+    var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols15();
+    var { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require_util30();
+    var { WebsocketFrameSend } = require_frame3();
+    var channels = {};
+    channels.ping = diagnosticsChannel.channel("undici:websocket:ping");
+    channels.pong = diagnosticsChannel.channel("undici:websocket:pong");
+    var ByteParser = class extends Writable {
+      #buffers = [];
+      #byteOffset = 0;
+      #state = parserStates.INFO;
+      #info = {};
+      #fragments = [];
+      constructor(ws) {
+        super();
+        this.ws = ws;
+      }
+      /**
+       * @param {Buffer} chunk
+       * @param {() => void} callback
+       */
+      _write(chunk, _2, callback) {
+        this.#buffers.push(chunk);
+        this.#byteOffset += chunk.length;
+        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 (true) {
+          if (this.#state === parserStates.INFO) {
+            if (this.#byteOffset < 2) {
+              return callback();
+            }
+            const buffer = this.consume(2);
+            this.#info.fin = (buffer[0] & 128) !== 0;
+            this.#info.opcode = buffer[0] & 15;
+            this.#info.originalOpcode ??= this.#info.opcode;
+            this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION;
+            if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) {
+              failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
+              return;
+            }
+            const payloadLength = buffer[1] & 127;
+            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 (this.#info.fragmented && payloadLength > 125) {
+              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
+              return;
+            } else if ((this.#info.opcode === opcodes.PING || this.#info.opcode === opcodes.PONG || this.#info.opcode === opcodes.CLOSE) && payloadLength > 125) {
+              failWebsocketConnection(this.ws, "Payload length for control frame exceeded 125 bytes.");
+              return;
+            } else if (this.#info.opcode === opcodes.CLOSE) {
+              if (payloadLength === 1) {
+                failWebsocketConnection(this.ws, "Received close frame with a 1-byte body.");
+                return;
+              }
+              const body = this.consume(payloadLength);
+              this.#info.closeInfo = this.parseCloseBody(false, body);
+              if (!this.ws[kSentClose]) {
+                const body2 = Buffer.allocUnsafe(2);
+                body2.writeUInt16BE(this.#info.closeInfo.code, 0);
+                const closeFrame = new WebsocketFrameSend(body2);
+                this.ws[kResponse].socket.write(
+                  closeFrame.createFrame(opcodes.CLOSE),
+                  (err) => {
+                    if (!err) {
+                      this.ws[kSentClose] = true;
+                    }
+                  }
+                );
+              }
+              this.ws[kReadyState] = states.CLOSING;
+              this.ws[kReceivedClose] = true;
+              this.end();
+              return;
+            } else if (this.#info.opcode === opcodes.PING) {
+              const body = this.consume(payloadLength);
+              if (!this.ws[kReceivedClose]) {
+                const frame = new WebsocketFrameSend(body);
+                this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
+                if (channels.ping.hasSubscribers) {
+                  channels.ping.publish({
+                    payload: body
+                  });
+                }
+              }
+              this.#state = parserStates.INFO;
+              if (this.#byteOffset > 0) {
+                continue;
+              } else {
+                callback();
+                return;
+              }
+            } else if (this.#info.opcode === opcodes.PONG) {
+              const body = this.consume(payloadLength);
+              if (channels.pong.hasSubscribers) {
+                channels.pong.publish({
+                  payload: body
+                });
+              }
+              if (this.#byteOffset > 0) {
+                continue;
+              } else {
+                callback();
+                return;
+              }
+            }
+          } 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();
+            } else if (this.#byteOffset >= this.#info.payloadLength) {
+              const body = this.consume(this.#info.payloadLength);
+              this.#fragments.push(body);
+              if (!this.#info.fragmented || this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) {
+                const fullMessage = Buffer.concat(this.#fragments);
+                websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage);
+                this.#info = {};
+                this.#fragments.length = 0;
+              }
+              this.#state = parserStates.INFO;
+            }
+          }
+          if (this.#byteOffset > 0) {
+            continue;
+          } else {
+            callback();
+            break;
+          }
         }
-        data.size = sourceBuffer.length || 0;
-        data.crc32 = crc32.unsigned(sourceBuffer);
-        self2.files.push(data);
-        callback(null, data);
-      }
-      if (data.sourceType === "buffer") {
-        onend(null, source);
-      } else if (data.sourceType === "stream") {
-        util.collectStream(source, onend);
-      }
-    };
-    Json.prototype.finalize = function() {
-      this._writeStringified();
-      this.end();
-    };
-    module2.exports = Json;
-  }
-});
-
-// node_modules/archiver/index.js
-var require_archiver = __commonJS({
-  "node_modules/archiver/index.js"(exports2, module2) {
-    var Archiver = require_core2();
-    var formats = {};
-    var vending = function(format, options) {
-      return vending.create(format, options);
-    };
-    vending.create = function(format, options) {
-      if (formats[format]) {
-        var instance = new Archiver(format, options);
-        instance.setFormat(format);
-        instance.setModule(new formats[format](options));
-        return instance;
-      } else {
-        throw new Error("create(" + format + "): format not registered");
       }
-    };
-    vending.registerFormat = function(format, module3) {
-      if (formats[format]) {
-        throw new Error("register(" + format + "): format already registered");
+      /**
+       * Take n bytes from the buffered Buffers
+       * @param {number} n
+       * @returns {Buffer|null}
+       */
+      consume(n) {
+        if (n > this.#byteOffset) {
+          return null;
+        } 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;
       }
-      if (typeof module3 !== "function") {
-        throw new Error("register(" + format + "): format module invalid");
+      parseCloseBody(onlyCode, data) {
+        let code;
+        if (data.length >= 2) {
+          code = data.readUInt16BE(0);
+        }
+        if (onlyCode) {
+          if (!isValidStatusCode(code)) {
+            return null;
+          }
+          return { code };
+        }
+        let reason = data.subarray(2);
+        if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
+          reason = reason.subarray(3);
+        }
+        if (code !== void 0 && !isValidStatusCode(code)) {
+          return null;
+        }
+        try {
+          reason = new TextDecoder("utf-8", { fatal: true }).decode(reason);
+        } catch {
+          return null;
+        }
+        return { code, reason };
       }
-      if (typeof module3.prototype.append !== "function" || typeof module3.prototype.finalize !== "function") {
-        throw new Error("register(" + format + "): format module missing methods");
+      get closingInfo() {
+        return this.#info.closeInfo;
       }
-      formats[format] = module3;
     };
-    vending.isRegisteredFormat = function(format) {
-      if (formats[format]) {
-        return true;
-      }
-      return false;
+    module2.exports = {
+      ByteParser
     };
-    vending.registerFormat("zip", require_zip());
-    vending.registerFormat("tar", require_tar2());
-    vending.registerFormat("json", require_json());
-    module2.exports = vending;
   }
 });
 
-// node_modules/@actions/artifact/lib/internal/upload/zip.js
-var require_zip2 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/zip.js"(exports2) {
+// node_modules/undici/lib/websocket/websocket.js
+var require_websocket3 = __commonJS({
+  "node_modules/undici/lib/websocket/websocket.js"(exports2, module2) {
     "use strict";
-    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
-      }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve3) {
-          resolve3(value);
-        });
+    var { webidl } = require_webidl3();
+    var { DOMException: DOMException2 } = require_constants21();
+    var { URLSerializer } = require_dataURL();
+    var { getGlobalOrigin } = require_global5();
+    var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require_constants24();
+    var {
+      kWebSocketURL,
+      kReadyState,
+      kController,
+      kBinaryType,
+      kResponse,
+      kSentClose,
+      kByteParser
+    } = require_symbols15();
+    var { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require_util30();
+    var { establishWebSocketConnection } = require_connection3();
+    var { WebsocketFrameSend } = require_frame3();
+    var { ByteParser } = require_receiver3();
+    var { kEnumerableProperty, isBlobLike } = require_util24();
+    var { getGlobalDispatcher } = require_global6();
+    var { types } = require("util");
+    var experimentalWarned = false;
+    var WebSocket = class _WebSocket extends EventTarget {
+      #events = {
+        open: null,
+        error: null,
+        close: null,
+        message: null
+      };
+      #bufferedAmount = 0;
+      #protocol = "";
+      #extensions = "";
+      /**
+       * @param {string} url
+       * @param {string|string[]} protocols
+       */
+      constructor(url, protocols = []) {
+        super();
+        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket constructor" });
+        if (!experimentalWarned) {
+          experimentalWarned = true;
+          process.emitWarning("WebSockets are experimental, expect them to change at any time.", {
+            code: "UNDICI-WS"
+          });
+        }
+        const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols);
+        url = webidl.converters.USVString(url);
+        protocols = options.protocols;
+        const baseURL = getGlobalOrigin();
+        let urlRecord;
+        try {
+          urlRecord = new URL(url, baseURL);
+        } catch (e) {
+          throw new DOMException2(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 DOMException2(
+            `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
+            "SyntaxError"
+          );
+        }
+        if (urlRecord.hash || urlRecord.href.endsWith("#")) {
+          throw new DOMException2("Got fragment", "SyntaxError");
+        }
+        if (typeof protocols === "string") {
+          protocols = [protocols];
+        }
+        if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
+          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+        }
+        if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
+          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+        }
+        this[kWebSocketURL] = new URL(urlRecord.href);
+        this[kController] = establishWebSocketConnection(
+          urlRecord,
+          protocols,
+          this,
+          (response) => this.#onConnectionEstablished(response),
+          options
+        );
+        this[kReadyState] = _WebSocket.CONNECTING;
+        this[kBinaryType] = "blob";
       }
-      return new (P || (P = Promise))(function(resolve3, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
+      /**
+       * @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);
+        if (code !== void 0) {
+          code = webidl.converters["unsigned short"](code, { clamp: true });
+        }
+        if (reason !== void 0) {
+          reason = webidl.converters.USVString(reason);
+        }
+        if (code !== void 0) {
+          if (code !== 1e3 && (code < 3e3 || code > 4999)) {
+            throw new DOMException2("invalid code", "InvalidAccessError");
           }
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
+        let reasonByteLength = 0;
+        if (reason !== void 0) {
+          reasonByteLength = Buffer.byteLength(reason);
+          if (reasonByteLength > 123) {
+            throw new DOMException2(
+              `Reason must be less than 123 bytes; received ${reasonByteLength}`,
+              "SyntaxError"
+            );
           }
         }
-        function step(result) {
-          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        if (this[kReadyState] === _WebSocket.CLOSING || this[kReadyState] === _WebSocket.CLOSED) {
+        } else if (!isEstablished(this)) {
+          failWebsocketConnection(this, "Connection was closed before it was established.");
+          this[kReadyState] = _WebSocket.CLOSING;
+        } else if (!isClosing(this)) {
+          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 = this[kResponse].socket;
+          socket.write(frame.createFrame(opcodes.CLOSE), (err) => {
+            if (!err) {
+              this[kSentClose] = true;
+            }
+          });
+          this[kReadyState] = states.CLOSING;
+        } else {
+          this[kReadyState] = _WebSocket.CLOSING;
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createZipUploadStream = exports2.ZipUploadStream = exports2.DEFAULT_COMPRESSION_LEVEL = void 0;
-    var stream = __importStar2(require("stream"));
-    var promises_1 = require("fs/promises");
-    var archiver2 = __importStar2(require_archiver());
-    var core14 = __importStar2(require_core());
-    var config_1 = require_config2();
-    exports2.DEFAULT_COMPRESSION_LEVEL = 6;
-    var ZipUploadStream = class extends stream.Transform {
-      constructor(bufferSize) {
-        super({
-          highWaterMark: bufferSize
-        });
-      }
-      // eslint-disable-next-line @typescript-eslint/no-explicit-any
-      _transform(chunk, enc, cb) {
-        cb(null, chunk);
       }
-    };
-    exports2.ZipUploadStream = ZipUploadStream;
-    function createZipUploadStream(uploadSpecification_1) {
-      return __awaiter2(this, arguments, void 0, function* (uploadSpecification, compressionLevel = exports2.DEFAULT_COMPRESSION_LEVEL) {
-        core14.debug(`Creating Artifact archive with compressionLevel: ${compressionLevel}`);
-        const zip = archiver2.create("zip", {
-          highWaterMark: (0, config_1.getUploadChunkSize)(),
-          zlib: { level: compressionLevel }
-        });
-        zip.on("error", zipErrorCallback);
-        zip.on("warning", zipWarningCallback);
-        zip.on("finish", zipFinishCallback);
-        zip.on("end", zipEndCallback);
-        for (const file of uploadSpecification) {
-          if (file.sourcePath !== null) {
-            let sourcePath = file.sourcePath;
-            if (file.stats.isSymbolicLink()) {
-              sourcePath = yield (0, promises_1.realpath)(file.sourcePath);
-            }
-            zip.file(sourcePath, {
-              name: file.destinationPath
+      /**
+       * @see https://websockets.spec.whatwg.org/#dom-websocket-send
+       * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data
+       */
+      send(data) {
+        webidl.brandCheck(this, _WebSocket);
+        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" });
+        data = webidl.converters.WebSocketSendData(data);
+        if (this[kReadyState] === _WebSocket.CONNECTING) {
+          throw new DOMException2("Sent before connected.", "InvalidStateError");
+        }
+        if (!isEstablished(this) || isClosing(this)) {
+          return;
+        }
+        const socket = this[kResponse].socket;
+        if (typeof data === "string") {
+          const value = Buffer.from(data);
+          const frame = new WebsocketFrameSend(value);
+          const buffer = frame.createFrame(opcodes.TEXT);
+          this.#bufferedAmount += value.byteLength;
+          socket.write(buffer, () => {
+            this.#bufferedAmount -= value.byteLength;
+          });
+        } else if (types.isArrayBuffer(data)) {
+          const value = Buffer.from(data);
+          const frame = new WebsocketFrameSend(value);
+          const buffer = frame.createFrame(opcodes.BINARY);
+          this.#bufferedAmount += value.byteLength;
+          socket.write(buffer, () => {
+            this.#bufferedAmount -= value.byteLength;
+          });
+        } else if (ArrayBuffer.isView(data)) {
+          const ab = Buffer.from(data, data.byteOffset, data.byteLength);
+          const frame = new WebsocketFrameSend(ab);
+          const buffer = frame.createFrame(opcodes.BINARY);
+          this.#bufferedAmount += ab.byteLength;
+          socket.write(buffer, () => {
+            this.#bufferedAmount -= ab.byteLength;
+          });
+        } else if (isBlobLike(data)) {
+          const frame = new WebsocketFrameSend();
+          data.arrayBuffer().then((ab) => {
+            const value = Buffer.from(ab);
+            frame.frameData = value;
+            const buffer = frame.createFrame(opcodes.BINARY);
+            this.#bufferedAmount += value.byteLength;
+            socket.write(buffer, () => {
+              this.#bufferedAmount -= value.byteLength;
             });
-          } else {
-            zip.append("", { name: file.destinationPath });
-          }
+          });
         }
-        const bufferSize = (0, config_1.getUploadChunkSize)();
-        const zipUploadStream = new ZipUploadStream(bufferSize);
-        core14.debug(`Zip write high watermark value ${zipUploadStream.writableHighWaterMark}`);
-        core14.debug(`Zip read high watermark value ${zipUploadStream.readableHighWaterMark}`);
-        zip.pipe(zipUploadStream);
-        zip.finalize();
-        return zipUploadStream;
-      });
-    }
-    exports2.createZipUploadStream = createZipUploadStream;
-    var zipErrorCallback = (error3) => {
-      core14.error("An error has occurred while creating the zip file for upload");
-      core14.info(error3);
-      throw new Error("An error has occurred during zip creation for the artifact");
-    };
-    var zipWarningCallback = (error3) => {
-      if (error3.code === "ENOENT") {
-        core14.warning("ENOENT warning during artifact zip creation. No such file or directory");
-        core14.info(error3);
-      } else {
-        core14.warning(`A non-blocking warning has occurred during artifact zip creation: ${error3.code}`);
-        core14.info(error3);
       }
-    };
-    var zipFinishCallback = () => {
-      core14.debug("Zip stream for upload has finished.");
-    };
-    var zipEndCallback = () => {
-      core14.debug("Zip stream for upload has ended.");
-    };
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/upload/upload-artifact.js
-var require_upload_artifact = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/upload-artifact.js"(exports2) {
-    "use strict";
-    var __createBinding2 = 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];
-        } };
+      get readyState() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kReadyState];
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      get bufferedAmount() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#bufferedAmount;
+      }
+      get url() {
+        webidl.brandCheck(this, _WebSocket);
+        return URLSerializer(this[kWebSocketURL]);
       }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve3) {
-          resolve3(value);
-        });
+      get extensions() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#extensions;
       }
-      return new (P || (P = Promise))(function(resolve3, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
+      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);
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
+        if (typeof fn === "function") {
+          this.#events.open = fn;
+          this.addEventListener("open", fn);
+        } else {
+          this.#events.open = null;
         }
-        function step(result) {
-          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+      }
+      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);
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.uploadArtifact = void 0;
-    var core14 = __importStar2(require_core());
-    var retention_1 = require_retention();
-    var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation();
-    var artifact_twirp_client_1 = require_artifact_twirp_client2();
-    var upload_zip_specification_1 = require_upload_zip_specification();
-    var util_1 = require_util18();
-    var blob_upload_1 = require_blob_upload();
-    var zip_1 = require_zip2();
-    var generated_1 = require_generated();
-    var errors_1 = require_errors4();
-    function uploadArtifact(name, files, rootDirectory, options) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        (0, path_and_artifact_name_validation_1.validateArtifactName)(name);
-        (0, upload_zip_specification_1.validateRootDirectory)(rootDirectory);
-        const zipSpecification = (0, upload_zip_specification_1.getUploadZipSpecification)(files, rootDirectory);
-        if (zipSpecification.length === 0) {
-          throw new errors_1.FilesNotFoundError(zipSpecification.flatMap((s) => s.sourcePath ? [s.sourcePath] : []));
+        if (typeof fn === "function") {
+          this.#events.error = fn;
+          this.addEventListener("error", fn);
+        } else {
+          this.#events.error = null;
         }
-        const backendIds = (0, util_1.getBackendIdsFromToken)();
-        const artifactClient = (0, artifact_twirp_client_1.internalArtifactTwirpClient)();
-        const createArtifactReq = {
-          workflowRunBackendId: backendIds.workflowRunBackendId,
-          workflowJobRunBackendId: backendIds.workflowJobRunBackendId,
-          name,
-          version: 4
-        };
-        const expiresAt = (0, retention_1.getExpiration)(options === null || options === void 0 ? void 0 : options.retentionDays);
-        if (expiresAt) {
-          createArtifactReq.expiresAt = expiresAt;
+      }
+      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);
         }
-        const createArtifactResp = yield artifactClient.CreateArtifact(createArtifactReq);
-        if (!createArtifactResp.ok) {
-          throw new errors_1.InvalidResponseError("CreateArtifact: response from backend was not ok");
+        if (typeof fn === "function") {
+          this.#events.close = fn;
+          this.addEventListener("close", fn);
+        } else {
+          this.#events.close = null;
         }
-        const zipUploadStream = yield (0, zip_1.createZipUploadStream)(zipSpecification, options === null || options === void 0 ? void 0 : options.compressionLevel);
-        const uploadResult = yield (0, blob_upload_1.uploadZipToBlobStorage)(createArtifactResp.signedUploadUrl, zipUploadStream);
-        const finalizeArtifactReq = {
-          workflowRunBackendId: backendIds.workflowRunBackendId,
-          workflowJobRunBackendId: backendIds.workflowJobRunBackendId,
-          name,
-          size: uploadResult.uploadSize ? uploadResult.uploadSize.toString() : "0"
-        };
-        if (uploadResult.sha256Hash) {
-          finalizeArtifactReq.hash = generated_1.StringValue.create({
-            value: `sha256:${uploadResult.sha256Hash}`
-          });
+      }
+      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);
         }
-        core14.info(`Finalizing artifact upload`);
-        const finalizeArtifactResp = yield artifactClient.FinalizeArtifact(finalizeArtifactReq);
-        if (!finalizeArtifactResp.ok) {
-          throw new errors_1.InvalidResponseError("FinalizeArtifact: response from backend was not ok");
+        if (typeof fn === "function") {
+          this.#events.message = fn;
+          this.addEventListener("message", fn);
+        } else {
+          this.#events.message = null;
         }
-        const artifactId = BigInt(finalizeArtifactResp.artifactId);
-        core14.info(`Artifact ${name}.zip successfully finalized. Artifact ID ${artifactId}`);
-        return {
-          size: uploadResult.uploadSize,
-          digest: uploadResult.sha256Hash,
-          id: Number(artifactId)
-        };
-      });
-    }
-    exports2.uploadArtifact = uploadArtifact;
-  }
-});
-
-// node_modules/@actions/artifact/node_modules/@actions/github/lib/context.js
-var require_context2 = __commonJS({
-  "node_modules/@actions/artifact/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 {
+      }
+      get binaryType() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kBinaryType];
+      }
+      set binaryType(type2) {
+        webidl.brandCheck(this, _WebSocket);
+        if (type2 !== "blob" && type2 !== "arraybuffer") {
+          this[kBinaryType] = "blob";
+        } else {
+          this[kBinaryType] = type2;
+        }
+      }
       /**
-       * Hydrate the context from the environment
+       * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
        */
-      constructor() {
-        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 {
-            const path4 = process.env.GITHUB_EVENT_PATH;
-            process.stdout.write(`GITHUB_EVENT_PATH ${path4} does not exist${os_1.EOL}`);
-          }
+      #onConnectionEstablished(response) {
+        this[kResponse] = response;
+        const parser = new ByteParser(this);
+        parser.on("drain", function onParserDrain() {
+          this.ws[kResponse].socket.resume();
+        });
+        response.socket.ws = this;
+        this[kByteParser] = parser;
+        this[kReadyState] = states.OPEN;
+        const extensions = response.headersList.get("sec-websocket-extensions");
+        if (extensions !== null) {
+          this.#extensions = extensions;
         }
-        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`;
+        const protocol = response.headersList.get("sec-websocket-protocol");
+        if (protocol !== null) {
+          this.#protocol = protocol;
+        }
+        fireEvent("open", this);
       }
-      get issue() {
-        const payload = this.payload;
-        return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || payload).number });
+    };
+    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
       }
-      get repo() {
-        if (process.env.GITHUB_REPOSITORY) {
-          const [owner, repo] = process.env.GITHUB_REPOSITORY.split("/");
-          return { owner, repo };
+    });
+    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) {
+      if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
+        return webidl.converters["sequence"](V);
+      }
+      return webidl.converters.DOMString(V);
+    };
+    webidl.converters.WebSocketInit = webidl.dictionaryConverter([
+      {
+        key: "protocols",
+        converter: webidl.converters["DOMString or sequence"],
+        get defaultValue() {
+          return [];
         }
-        if (this.payload.repository) {
-          return {
-            owner: this.payload.repository.owner.login,
-            repo: this.payload.repository.name
-          };
+      },
+      {
+        key: "dispatcher",
+        converter: (V) => V,
+        get defaultValue() {
+          return getGlobalDispatcher();
         }
-        throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'");
+      },
+      {
+        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.isAnyArrayBuffer(V)) {
+          return webidl.converters.BufferSource(V);
+        }
+      }
+      return webidl.converters.USVString(V);
+    };
+    module2.exports = {
+      WebSocket
     };
-    exports2.Context = Context;
   }
 });
 
-// node_modules/@actions/artifact/node_modules/@actions/github/node_modules/@actions/http-client/lib/proxy.js
-var require_proxy2 = __commonJS({
-  "node_modules/@actions/artifact/node_modules/@actions/github/node_modules/@actions/http-client/lib/proxy.js"(exports2) {
+// node_modules/undici/index.js
+var require_undici3 = __commonJS({
+  "node_modules/undici/index.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.checkBypass = exports2.getProxyUrl = void 0;
-    function getProxyUrl(reqUrl) {
-      const usingSsl = reqUrl.protocol === "https:";
-      if (checkBypass(reqUrl)) {
-        return void 0;
-      }
-      const proxyVar = (() => {
-        if (usingSsl) {
-          return process.env["https_proxy"] || process.env["HTTPS_PROXY"];
+    var Client = require_client3();
+    var Dispatcher = require_dispatcher3();
+    var errors = require_errors6();
+    var Pool = require_pool3();
+    var BalancedPool = require_balanced_pool3();
+    var Agent = require_agent3();
+    var util = require_util24();
+    var { InvalidArgumentError } = errors;
+    var api = require_api3();
+    var buildConnector = require_connect3();
+    var MockClient = require_mock_client3();
+    var MockAgent = require_mock_agent3();
+    var MockPool = require_mock_pool3();
+    var mockErrors = require_mock_errors3();
+    var ProxyAgent = require_proxy_agent3();
+    var RetryHandler = require_RetryHandler();
+    var { getGlobalDispatcher, setGlobalDispatcher } = require_global6();
+    var DecoratorHandler = require_DecoratorHandler();
+    var RedirectHandler = require_RedirectHandler();
+    var createRedirectInterceptor = require_redirectInterceptor();
+    var hasCrypto;
+    try {
+      require("crypto");
+      hasCrypto = true;
+    } catch {
+      hasCrypto = false;
+    }
+    Object.assign(Dispatcher.prototype, api);
+    module2.exports.Dispatcher = Dispatcher;
+    module2.exports.Client = Client;
+    module2.exports.Pool = Pool;
+    module2.exports.BalancedPool = BalancedPool;
+    module2.exports.Agent = Agent;
+    module2.exports.ProxyAgent = ProxyAgent;
+    module2.exports.RetryHandler = RetryHandler;
+    module2.exports.DecoratorHandler = DecoratorHandler;
+    module2.exports.RedirectHandler = RedirectHandler;
+    module2.exports.createRedirectInterceptor = createRedirectInterceptor;
+    module2.exports.buildConnector = buildConnector;
+    module2.exports.errors = errors;
+    function makeDispatcher(fn) {
+      return (url, opts, 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 path4 = opts.path;
+          if (!opts.path.startsWith("/")) {
+            path4 = `/${path4}`;
+          }
+          url = new URL(util.parseOrigin(url).origin + path4);
         } else {
-          return process.env["http_proxy"] || process.env["HTTP_PROXY"];
+          if (!opts) {
+            opts = typeof url === "object" ? url : {};
+          }
+          url = util.parseURL(url);
         }
-      })();
-      if (proxyVar) {
-        try {
-          return new DecodedURL(proxyVar);
-        } catch (_a) {
-          if (!proxyVar.startsWith("http://") && !proxyVar.startsWith("https://"))
-            return new DecodedURL(`http://${proxyVar}`);
+        const { agent, dispatcher = getGlobalDispatcher() } = opts;
+        if (agent) {
+          throw new InvalidArgumentError("unsupported opts.agent. Did you mean opts.client?");
         }
-      } else {
-        return void 0;
-      }
+        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);
+      };
     }
-    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;
-      }
-      let reqPort;
-      if (reqUrl.port) {
-        reqPort = Number(reqUrl.port);
-      } else if (reqUrl.protocol === "http:") {
-        reqPort = 80;
-      } else if (reqUrl.protocol === "https:") {
-        reqPort = 443;
-      }
-      const upperReqHosts = [reqUrl.hostname.toUpperCase()];
-      if (typeof reqPort === "number") {
-        upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`);
-      }
-      for (const upperNoProxyItem of noProxy.split(",").map((x) => x.trim().toUpperCase()).filter((x) => x)) {
-        if (upperNoProxyItem === "*" || upperReqHosts.some((x) => x === upperNoProxyItem || x.endsWith(`.${upperNoProxyItem}`) || upperNoProxyItem.startsWith(".") && x.endsWith(`${upperNoProxyItem}`))) {
-          return true;
+    module2.exports.setGlobalDispatcher = setGlobalDispatcher;
+    module2.exports.getGlobalDispatcher = getGlobalDispatcher;
+    if (util.nodeMajor > 16 || util.nodeMajor === 16 && util.nodeMinor >= 8) {
+      let fetchImpl = null;
+      module2.exports.fetch = async function fetch(resource) {
+        if (!fetchImpl) {
+          fetchImpl = require_fetch3().fetch;
         }
-      }
-      return false;
+        try {
+          return await fetchImpl(...arguments);
+        } catch (err) {
+          if (typeof err === "object") {
+            Error.captureStackTrace(err, this);
+          }
+          throw err;
+        }
+      };
+      module2.exports.Headers = require_headers4().Headers;
+      module2.exports.Response = require_response4().Response;
+      module2.exports.Request = require_request6().Request;
+      module2.exports.FormData = require_formdata3().FormData;
+      module2.exports.File = require_file5().File;
+      module2.exports.FileReader = require_filereader3().FileReader;
+      const { setGlobalOrigin, getGlobalOrigin } = require_global5();
+      module2.exports.setGlobalOrigin = setGlobalOrigin;
+      module2.exports.getGlobalOrigin = getGlobalOrigin;
+      const { CacheStorage } = require_cachestorage3();
+      const { kConstruct } = require_symbols14();
+      module2.exports.caches = new CacheStorage(kConstruct);
     }
-    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]");
+    if (util.nodeMajor >= 16) {
+      const { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies3();
+      module2.exports.deleteCookie = deleteCookie;
+      module2.exports.getCookies = getCookies;
+      module2.exports.getSetCookies = getSetCookies;
+      module2.exports.setCookie = setCookie;
+      const { parseMIMEType, serializeAMimeType } = require_dataURL();
+      module2.exports.parseMIMEType = parseMIMEType;
+      module2.exports.serializeAMimeType = serializeAMimeType;
     }
-    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;
-      }
-    };
+    if (util.nodeMajor >= 18 && hasCrypto) {
+      const { WebSocket } = require_websocket3();
+      module2.exports.WebSocket = WebSocket;
+    }
+    module2.exports.request = makeDispatcher(api.request);
+    module2.exports.stream = makeDispatcher(api.stream);
+    module2.exports.pipeline = makeDispatcher(api.pipeline);
+    module2.exports.connect = makeDispatcher(api.connect);
+    module2.exports.upgrade = makeDispatcher(api.upgrade);
+    module2.exports.MockClient = MockClient;
+    module2.exports.MockPool = MockPool;
+    module2.exports.MockAgent = MockAgent;
+    module2.exports.mockErrors = mockErrors;
   }
 });
 
@@ -125618,7 +143868,7 @@ var require_lib4 = __commonJS({
     var https2 = __importStar2(require("https"));
     var pm = __importStar2(require_proxy2());
     var tunnel = __importStar2(require_tunnel2());
-    var undici_1 = require_undici2();
+    var undici_1 = require_undici3();
     var HttpCodes;
     (function(HttpCodes2) {
       HttpCodes2[HttpCodes2["OK"] = 200] = "OK";
@@ -126174,7 +144424,7 @@ var require_lib4 = __commonJS({
 });
 
 // node_modules/@actions/artifact/node_modules/@actions/github/lib/internal/utils.js
-var require_utils9 = __commonJS({
+var require_utils10 = __commonJS({
   "node_modules/@actions/artifact/node_modules/@actions/github/lib/internal/utils.js"(exports2) {
     "use strict";
     var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
@@ -126234,7 +144484,7 @@ var require_utils9 = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.getApiBaseUrl = exports2.getProxyFetch = exports2.getProxyAgentDispatcher = exports2.getProxyAgent = exports2.getAuthString = void 0;
     var httpClient = __importStar2(require_lib4());
-    var undici_1 = require_undici2();
+    var undici_1 = require_undici3();
     function getAuthString(token, options) {
       if (!token && !options.auth) {
         throw new Error("Parameter token or opts.auth is required");
@@ -130080,7 +148330,7 @@ var require_dist_node10 = __commonJS({
 });
 
 // node_modules/@actions/artifact/node_modules/@actions/github/lib/utils.js
-var require_utils10 = __commonJS({
+var require_utils11 = __commonJS({
   "node_modules/@actions/artifact/node_modules/@actions/github/lib/utils.js"(exports2) {
     "use strict";
     var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
@@ -130113,7 +148363,7 @@ var require_utils10 = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.getOctokitOptions = exports2.GitHub = exports2.defaults = exports2.context = void 0;
     var Context = __importStar2(require_context2());
-    var Utils = __importStar2(require_utils9());
+    var Utils = __importStar2(require_utils10());
     var core_1 = require_dist_node8();
     var plugin_rest_endpoint_methods_1 = require_dist_node9();
     var plugin_paginate_rest_1 = require_dist_node10();
@@ -130173,7 +148423,7 @@ var require_github2 = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.getOctokit = exports2.context = void 0;
     var Context = __importStar2(require_context2());
-    var utils_1 = require_utils10();
+    var utils_1 = require_utils11();
     exports2.context = new Context.Context();
     function getOctokit(token, options, ...additionalPlugins) {
       const GitHubWithPlugins = utils_1.GitHub.plugin(...additionalPlugins);
@@ -132132,7 +150382,7 @@ var require_download_artifact = __commonJS({
     var config_1 = require_config2();
     var artifact_twirp_client_1 = require_artifact_twirp_client2();
     var generated_1 = require_generated();
-    var util_1 = require_util18();
+    var util_1 = require_util19();
     var errors_1 = require_errors4();
     var scrubQueryParameters = (url) => {
       const parsed = new URL(url);
@@ -132514,10 +150764,10 @@ var require_get_artifact = __commonJS({
     var github_1 = require_github2();
     var plugin_retry_1 = require_dist_node12();
     var core14 = __importStar2(require_core());
-    var utils_1 = require_utils10();
+    var utils_1 = require_utils11();
     var retry_options_1 = require_retry_options();
     var plugin_request_log_1 = require_dist_node11();
-    var util_1 = require_util18();
+    var util_1 = require_util19();
     var user_agent_1 = require_user_agent2();
     var artifact_twirp_client_1 = require_artifact_twirp_client2();
     var generated_1 = require_generated();
@@ -132638,11 +150888,11 @@ var require_delete_artifact = __commonJS({
     var github_1 = require_github2();
     var user_agent_1 = require_user_agent2();
     var retry_options_1 = require_retry_options();
-    var utils_1 = require_utils10();
+    var utils_1 = require_utils11();
     var plugin_request_log_1 = require_dist_node11();
     var plugin_retry_1 = require_dist_node12();
     var artifact_twirp_client_1 = require_artifact_twirp_client2();
-    var util_1 = require_util18();
+    var util_1 = require_util19();
     var generated_1 = require_generated();
     var get_artifact_1 = require_get_artifact();
     var errors_1 = require_errors4();
@@ -132744,11 +150994,11 @@ var require_list_artifacts = __commonJS({
     var github_1 = require_github2();
     var user_agent_1 = require_user_agent2();
     var retry_options_1 = require_retry_options();
-    var utils_1 = require_utils10();
+    var utils_1 = require_utils11();
     var plugin_request_log_1 = require_dist_node11();
     var plugin_retry_1 = require_dist_node12();
     var artifact_twirp_client_1 = require_artifact_twirp_client2();
-    var util_1 = require_util18();
+    var util_1 = require_util19();
     var config_1 = require_config2();
     var generated_1 = require_generated();
     var maximumArtifactCount = (0, config_1.getMaxArtifactListCount)();
@@ -132865,7 +151115,7 @@ var require_list_artifacts = __commonJS({
 });
 
 // node_modules/@actions/artifact/lib/internal/client.js
-var require_client3 = __commonJS({
+var require_client4 = __commonJS({
   "node_modules/@actions/artifact/lib/internal/client.js"(exports2) {
     "use strict";
     var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
@@ -133052,17 +151302,17 @@ var require_artifact2 = __commonJS({
       for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p);
     };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    var client_1 = require_client3();
+    var client_1 = require_client4();
     __exportStar2(require_interfaces2(), exports2);
     __exportStar2(require_errors4(), exports2);
-    __exportStar2(require_client3(), exports2);
+    __exportStar2(require_client4(), exports2);
     var client = new client_1.DefaultArtifactClient();
     exports2.default = client;
   }
 });
 
 // node_modules/@actions/artifact-legacy/node_modules/@actions/core/lib/utils.js
-var require_utils11 = __commonJS({
+var require_utils12 = __commonJS({
   "node_modules/@actions/artifact-legacy/node_modules/@actions/core/lib/utils.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -133127,7 +151377,7 @@ var require_command2 = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.issue = exports2.issueCommand = void 0;
     var os2 = __importStar2(require("os"));
-    var utils_1 = require_utils11();
+    var utils_1 = require_utils12();
     function issueCommand(command, properties, message) {
       const cmd = new Command(command, properties, message);
       process.stdout.write(cmd.toString() + os2.EOL);
@@ -133215,7 +151465,7 @@ var require_file_command2 = __commonJS({
     var crypto2 = __importStar2(require("crypto"));
     var fs3 = __importStar2(require("fs"));
     var os2 = __importStar2(require("os"));
-    var utils_1 = require_utils11();
+    var utils_1 = require_utils12();
     function issueFileCommand(command, message) {
       const filePath = process.env[`GITHUB_${command}`];
       if (!filePath) {
@@ -133390,7 +151640,7 @@ var require_lib5 = __commonJS({
     var https2 = __importStar2(require("https"));
     var pm = __importStar2(require_proxy3());
     var tunnel = __importStar2(require_tunnel2());
-    var undici_1 = require_undici2();
+    var undici_1 = require_undici3();
     var HttpCodes;
     (function(HttpCodes2) {
       HttpCodes2[HttpCodes2["OK"] = 200] = "OK";
@@ -135683,7 +153933,7 @@ var require_core3 = __commonJS({
     exports2.platform = exports2.toPlatformPath = exports2.toWin32Path = exports2.toPosixPath = exports2.markdownSummary = exports2.summary = exports2.getIDToken = exports2.getState = exports2.saveState = exports2.group = exports2.endGroup = exports2.startGroup = exports2.info = exports2.notice = exports2.warning = exports2.error = exports2.debug = exports2.isDebug = exports2.setFailed = exports2.setCommandEcho = exports2.setOutput = exports2.getBooleanInput = exports2.getMultilineInput = exports2.getInput = exports2.addPath = exports2.setSecret = exports2.exportVariable = exports2.ExitCode = void 0;
     var command_1 = require_command2();
     var file_command_1 = require_file_command2();
-    var utils_1 = require_utils11();
+    var utils_1 = require_utils12();
     var os2 = __importStar2(require("os"));
     var path4 = __importStar2(require("path"));
     var oidc_utils_1 = require_oidc_utils2();
@@ -136756,7 +155006,7 @@ var require_crc64 = __commonJS({
 });
 
 // node_modules/@actions/artifact-legacy/lib/internal/utils.js
-var require_utils12 = __commonJS({
+var require_utils13 = __commonJS({
   "node_modules/@actions/artifact-legacy/lib/internal/utils.js"(exports2) {
     "use strict";
     var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
@@ -137066,7 +155316,7 @@ var require_http_manager = __commonJS({
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.HttpManager = void 0;
-    var utils_1 = require_utils12();
+    var utils_1 = require_utils13();
     var HttpManager = class {
       constructor(clientCount, userAgent2) {
         if (clientCount < 1) {
@@ -137321,7 +155571,7 @@ var require_requestUtils2 = __commonJS({
     };
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.retryHttpClientRequest = exports2.retry = void 0;
-    var utils_1 = require_utils12();
+    var utils_1 = require_utils13();
     var core14 = __importStar2(require_core3());
     var config_variables_1 = require_config_variables();
     function retry2(name, operation, customErrorMessages, maxAttempts) {
@@ -137442,7 +155692,7 @@ var require_upload_http_client = __commonJS({
     var core14 = __importStar2(require_core3());
     var tmp = __importStar2(require_tmp_promise());
     var stream = __importStar2(require("stream"));
-    var utils_1 = require_utils12();
+    var utils_1 = require_utils13();
     var config_variables_1 = require_config_variables();
     var util_1 = require("util");
     var url_1 = require("url");
@@ -137833,7 +156083,7 @@ var require_download_http_client = __commonJS({
     var fs3 = __importStar2(require("fs"));
     var core14 = __importStar2(require_core3());
     var zlib = __importStar2(require("zlib"));
-    var utils_1 = require_utils12();
+    var utils_1 = require_utils13();
     var url_1 = require("url");
     var status_reporter_1 = require_status_reporter();
     var perf_hooks_1 = require("perf_hooks");
@@ -138176,7 +156426,7 @@ var require_artifact_client = __commonJS({
     var core14 = __importStar2(require_core3());
     var upload_specification_1 = require_upload_specification();
     var upload_http_client_1 = require_upload_http_client();
-    var utils_1 = require_utils12();
+    var utils_1 = require_utils13();
     var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation2();
     var download_http_client_1 = require_download_http_client();
     var download_specification_1 = require_download_specification();
@@ -143452,10 +161702,12 @@ async function runWrapper() {
 void runWrapper();
 /*! Bundled license information:
 
+undici/lib/web/fetch/body.js:
 undici/lib/web/fetch/body.js:
 undici/lib/fetch/body.js:
   (*! formdata-polyfill. MIT License. Jimmy Wärting  *)
 
+undici/lib/web/websocket/frame.js:
 undici/lib/web/websocket/frame.js:
 undici/lib/websocket/frame.js:
   (*! ws. MIT License. Einar Otto Stangvik  *)
diff --git a/lib/start-proxy-action.js b/lib/start-proxy-action.js
index 6e76b14bb7..a4a0b37509 100644
--- a/lib/start-proxy-action.js
+++ b/lib/start-proxy-action.js
@@ -39333,9 +39333,9 @@ var require_context = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/core/symbols.js
 var require_symbols6 = __commonJS({
-  "node_modules/undici/lib/core/symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/symbols.js"(exports2, module2) {
     module2.exports = {
       kClose: /* @__PURE__ */ Symbol("close"),
       kDestroy: /* @__PURE__ */ Symbol("destroy"),
@@ -39346,7 +39346,6 @@ var require_symbols6 = __commonJS({
       kQueue: /* @__PURE__ */ Symbol("queue"),
       kConnect: /* @__PURE__ */ Symbol("connect"),
       kConnecting: /* @__PURE__ */ Symbol("connecting"),
-      kHeadersList: /* @__PURE__ */ Symbol("headers list"),
       kKeepAliveDefaultTimeout: /* @__PURE__ */ Symbol("default keep alive timeout"),
       kKeepAliveMaxTimeout: /* @__PURE__ */ Symbol("max keep alive timeout"),
       kKeepAliveTimeoutThreshold: /* @__PURE__ */ Symbol("keep alive timeout threshold"),
@@ -39359,6 +39358,7 @@ var require_symbols6 = __commonJS({
       kHost: /* @__PURE__ */ Symbol("host"),
       kNoRef: /* @__PURE__ */ Symbol("no ref"),
       kBodyUsed: /* @__PURE__ */ Symbol("used"),
+      kBody: /* @__PURE__ */ Symbol("abstracted request body"),
       kRunning: /* @__PURE__ */ Symbol("running"),
       kBlocking: /* @__PURE__ */ Symbol("blocking"),
       kPending: /* @__PURE__ */ Symbol("pending"),
@@ -39371,6 +39371,8 @@ var require_symbols6 = __commonJS({
       kNeedDrain: /* @__PURE__ */ Symbol("need drain"),
       kReset: /* @__PURE__ */ Symbol("reset"),
       kDestroyed: /* @__PURE__ */ Symbol.for("nodejs.stream.destroyed"),
+      kResume: /* @__PURE__ */ Symbol("resume"),
+      kOnError: /* @__PURE__ */ Symbol("on error"),
       kMaxHeadersSize: /* @__PURE__ */ Symbol("max headers size"),
       kRunningIdx: /* @__PURE__ */ Symbol("running index"),
       kPendingIdx: /* @__PURE__ */ Symbol("pending index"),
@@ -39392,67 +39394,90 @@ var require_symbols6 = __commonJS({
       kMaxResponseSize: /* @__PURE__ */ Symbol("max response size"),
       kHTTP2Session: /* @__PURE__ */ Symbol("http2Session"),
       kHTTP2SessionState: /* @__PURE__ */ Symbol("http2Session state"),
-      kHTTP2BuildRequest: /* @__PURE__ */ Symbol("http2 build request"),
-      kHTTP1BuildRequest: /* @__PURE__ */ Symbol("http1 build request"),
-      kHTTP2CopyHeaders: /* @__PURE__ */ Symbol("http2 copy headers"),
-      kHTTPConnVersion: /* @__PURE__ */ Symbol("http connection version"),
       kRetryHandlerDefaultRetry: /* @__PURE__ */ Symbol("retry agent default retry"),
-      kConstruct: /* @__PURE__ */ Symbol("constructable")
+      kConstruct: /* @__PURE__ */ Symbol("constructable"),
+      kListeners: /* @__PURE__ */ Symbol("listeners"),
+      kHTTPContext: /* @__PURE__ */ Symbol("http context"),
+      kMaxConcurrentStreams: /* @__PURE__ */ Symbol("max concurrent streams"),
+      kNoProxyAgent: /* @__PURE__ */ Symbol("no proxy agent"),
+      kHttpProxyAgent: /* @__PURE__ */ Symbol("http proxy agent"),
+      kHttpsProxyAgent: /* @__PURE__ */ Symbol("https proxy agent")
     };
   }
 });
 
-// node_modules/undici/lib/core/errors.js
+// node_modules/@actions/github/node_modules/undici/lib/core/errors.js
 var require_errors2 = __commonJS({
-  "node_modules/undici/lib/core/errors.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/errors.js"(exports2, module2) {
     "use strict";
+    var kUndiciError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR");
     var UndiciError = class extends Error {
       constructor(message) {
         super(message);
         this.name = "UndiciError";
         this.code = "UND_ERR";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kUndiciError] === true;
+      }
+      [kUndiciError] = true;
     };
-    var ConnectTimeoutError = class _ConnectTimeoutError extends UndiciError {
+    var kConnectTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT");
+    var ConnectTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ConnectTimeoutError);
         this.name = "ConnectTimeoutError";
         this.message = message || "Connect Timeout Error";
         this.code = "UND_ERR_CONNECT_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kConnectTimeoutError] === true;
+      }
+      [kConnectTimeoutError] = true;
     };
-    var HeadersTimeoutError = class _HeadersTimeoutError extends UndiciError {
+    var kHeadersTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT");
+    var HeadersTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersTimeoutError);
         this.name = "HeadersTimeoutError";
         this.message = message || "Headers Timeout Error";
         this.code = "UND_ERR_HEADERS_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersTimeoutError] === true;
+      }
+      [kHeadersTimeoutError] = true;
     };
-    var HeadersOverflowError = class _HeadersOverflowError extends UndiciError {
+    var kHeadersOverflowError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW");
+    var HeadersOverflowError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersOverflowError);
         this.name = "HeadersOverflowError";
         this.message = message || "Headers Overflow Error";
         this.code = "UND_ERR_HEADERS_OVERFLOW";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersOverflowError] === true;
+      }
+      [kHeadersOverflowError] = true;
     };
-    var BodyTimeoutError = class _BodyTimeoutError extends UndiciError {
+    var kBodyTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT");
+    var BodyTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _BodyTimeoutError);
         this.name = "BodyTimeoutError";
         this.message = message || "Body Timeout Error";
         this.code = "UND_ERR_BODY_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBodyTimeoutError] === true;
+      }
+      [kBodyTimeoutError] = true;
     };
-    var ResponseStatusCodeError = class _ResponseStatusCodeError extends UndiciError {
+    var kResponseStatusCodeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RESPONSE_STATUS_CODE");
+    var ResponseStatusCodeError = class extends UndiciError {
       constructor(message, statusCode, headers, body) {
         super(message);
-        Error.captureStackTrace(this, _ResponseStatusCodeError);
         this.name = "ResponseStatusCodeError";
         this.message = message || "Response Status Code Error";
         this.code = "UND_ERR_RESPONSE_STATUS_CODE";
@@ -39461,129 +39486,198 @@ var require_errors2 = __commonJS({
         this.statusCode = statusCode;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseStatusCodeError] === true;
+      }
+      [kResponseStatusCodeError] = true;
     };
-    var InvalidArgumentError = class _InvalidArgumentError extends UndiciError {
+    var kInvalidArgumentError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_ARG");
+    var InvalidArgumentError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidArgumentError);
         this.name = "InvalidArgumentError";
         this.message = message || "Invalid Argument Error";
         this.code = "UND_ERR_INVALID_ARG";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidArgumentError] === true;
+      }
+      [kInvalidArgumentError] = true;
     };
-    var InvalidReturnValueError = class _InvalidReturnValueError extends UndiciError {
+    var kInvalidReturnValueError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE");
+    var InvalidReturnValueError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidReturnValueError);
         this.name = "InvalidReturnValueError";
         this.message = message || "Invalid Return Value Error";
         this.code = "UND_ERR_INVALID_RETURN_VALUE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidReturnValueError] === true;
+      }
+      [kInvalidReturnValueError] = true;
+    };
+    var kAbortError = /* @__PURE__ */ 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";
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kAbortError] === true;
+      }
+      [kAbortError] = true;
     };
-    var RequestAbortedError = class _RequestAbortedError extends UndiciError {
+    var kRequestAbortedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_ABORTED");
+    var RequestAbortedError = class extends AbortError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestAbortedError);
         this.name = "AbortError";
         this.message = message || "Request aborted";
         this.code = "UND_ERR_ABORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestAbortedError] === true;
+      }
+      [kRequestAbortedError] = true;
     };
-    var InformationalError = class _InformationalError extends UndiciError {
+    var kInformationalError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INFO");
+    var InformationalError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InformationalError);
         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 RequestContentLengthMismatchError = class _RequestContentLengthMismatchError extends UndiciError {
+    var kRequestContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH");
+    var RequestContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestContentLengthMismatchError);
         this.name = "RequestContentLengthMismatchError";
         this.message = message || "Request body length does not match content-length header";
         this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestContentLengthMismatchError] === true;
+      }
+      [kRequestContentLengthMismatchError] = true;
     };
-    var ResponseContentLengthMismatchError = class _ResponseContentLengthMismatchError extends UndiciError {
+    var kResponseContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH");
+    var ResponseContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseContentLengthMismatchError);
         this.name = "ResponseContentLengthMismatchError";
         this.message = message || "Response body length does not match content-length header";
         this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseContentLengthMismatchError] === true;
+      }
+      [kResponseContentLengthMismatchError] = true;
     };
-    var ClientDestroyedError = class _ClientDestroyedError extends UndiciError {
+    var kClientDestroyedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_DESTROYED");
+    var ClientDestroyedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientDestroyedError);
         this.name = "ClientDestroyedError";
         this.message = message || "The client is destroyed";
         this.code = "UND_ERR_DESTROYED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientDestroyedError] === true;
+      }
+      [kClientDestroyedError] = true;
     };
-    var ClientClosedError = class _ClientClosedError extends UndiciError {
+    var kClientClosedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CLOSED");
+    var ClientClosedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientClosedError);
         this.name = "ClientClosedError";
         this.message = message || "The client is closed";
         this.code = "UND_ERR_CLOSED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientClosedError] === true;
+      }
+      [kClientClosedError] = true;
     };
-    var SocketError = class _SocketError extends UndiciError {
+    var kSocketError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_SOCKET");
+    var SocketError = class extends UndiciError {
       constructor(message, socket) {
         super(message);
-        Error.captureStackTrace(this, _SocketError);
         this.name = "SocketError";
         this.message = message || "Socket error";
         this.code = "UND_ERR_SOCKET";
         this.socket = socket;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kSocketError] === true;
+      }
+      [kSocketError] = true;
     };
-    var NotSupportedError = class _NotSupportedError extends UndiciError {
+    var kNotSupportedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED");
+    var NotSupportedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _NotSupportedError);
         this.name = "NotSupportedError";
         this.message = message || "Not supported error";
         this.code = "UND_ERR_NOT_SUPPORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kNotSupportedError] === true;
+      }
+      [kNotSupportedError] = true;
     };
+    var kBalancedPoolMissingUpstreamError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM");
     var BalancedPoolMissingUpstreamError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, NotSupportedError);
         this.name = "MissingUpstreamError";
         this.message = message || "No upstream has been added to the BalancedPool";
         this.code = "UND_ERR_BPL_MISSING_UPSTREAM";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBalancedPoolMissingUpstreamError] === true;
+      }
+      [kBalancedPoolMissingUpstreamError] = true;
     };
-    var HTTPParserError = class _HTTPParserError extends Error {
+    var kHTTPParserError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HTTP_PARSER");
+    var HTTPParserError = class extends Error {
       constructor(message, code, data) {
         super(message);
-        Error.captureStackTrace(this, _HTTPParserError);
         this.name = "HTTPParserError";
         this.code = code ? `HPE_${code}` : void 0;
         this.data = data ? data.toString() : void 0;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHTTPParserError] === true;
+      }
+      [kHTTPParserError] = true;
     };
-    var ResponseExceededMaxSizeError = class _ResponseExceededMaxSizeError extends UndiciError {
+    var kResponseExceededMaxSizeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE");
+    var ResponseExceededMaxSizeError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseExceededMaxSizeError);
         this.name = "ResponseExceededMaxSizeError";
         this.message = message || "Response content exceeded max size";
         this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseExceededMaxSizeError] === true;
+      }
+      [kResponseExceededMaxSizeError] = true;
     };
-    var RequestRetryError = class _RequestRetryError extends UndiciError {
+    var kRequestRetryError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_RETRY");
+    var RequestRetryError = class extends UndiciError {
       constructor(message, code, { headers, data }) {
         super(message);
-        Error.captureStackTrace(this, _RequestRetryError);
         this.name = "RequestRetryError";
         this.message = message || "Request retry error";
         this.code = "UND_ERR_REQ_RETRY";
@@ -39591,8 +39685,43 @@ var require_errors2 = __commonJS({
         this.data = data;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestRetryError] === true;
+      }
+      [kRequestRetryError] = true;
+    };
+    var kResponseError = /* @__PURE__ */ 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 = /* @__PURE__ */ 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,
@@ -39612,14 +39741,16 @@ var require_errors2 = __commonJS({
       ResponseContentLengthMismatchError,
       BalancedPoolMissingUpstreamError,
       ResponseExceededMaxSizeError,
-      RequestRetryError
+      RequestRetryError,
+      ResponseError,
+      SecureProxyConnectionError
     };
   }
 });
 
-// node_modules/undici/lib/core/constants.js
+// node_modules/@actions/github/node_modules/undici/lib/core/constants.js
 var require_constants6 = __commonJS({
-  "node_modules/undici/lib/core/constants.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/constants.js"(exports2, module2) {
     "use strict";
     var headerNameLowerCasedRecord = {};
     var wellknownHeaderNames = [
@@ -39732,28 +39863,212 @@ var require_constants6 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/util.js
+// node_modules/@actions/github/node_modules/undici/lib/core/tree.js
+var require_tree2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/tree.js"(exports2, module2) {
+    "use strict";
+    var {
+      wellknownHeaderNames,
+      headerNameLowerCasedRecord
+    } = require_constants6();
+    var TstNode = class _TstNode {
+      /** @type {any} */
+      value = null;
+      /** @type {null | TstNode} */
+      left = null;
+      /** @type {null | TstNode} */
+      middle = null;
+      /** @type {null | TstNode} */
+      right = null;
+      /** @type {number} */
+      code;
+      /**
+       * @param {string} key
+       * @param {any} value
+       * @param {number} index
+       */
+      constructor(key, value, index) {
+        if (index === void 0 || index >= key.length) {
+          throw new TypeError("Unreachable");
+        }
+        const code = this.code = key.charCodeAt(index);
+        if (code > 127) {
+          throw new TypeError("key must be ascii string");
+        }
+        if (key.length !== ++index) {
+          this.middle = new _TstNode(key, value, index);
+        } else {
+          this.value = value;
+        }
+      }
+      /**
+       * @param {string} key
+       * @param {any} value
+       */
+      add(key, value) {
+        const length = key.length;
+        if (length === 0) {
+          throw new TypeError("Unreachable");
+        }
+        let index = 0;
+        let node = this;
+        while (true) {
+          const code = key.charCodeAt(index);
+          if (code > 127) {
+            throw new TypeError("key must be ascii string");
+          }
+          if (node.code === code) {
+            if (length === ++index) {
+              node.value = value;
+              break;
+            } else if (node.middle !== null) {
+              node = node.middle;
+            } else {
+              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;
+          }
+        }
+      }
+      /**
+       * @param {Uint8Array} key
+       * @return {TstNode | null}
+       */
+      search(key) {
+        const keylength = key.length;
+        let index = 0;
+        let node = this;
+        while (node !== null && index < keylength) {
+          let code = key[index];
+          if (code <= 90 && code >= 65) {
+            code |= 32;
+          }
+          while (node !== null) {
+            if (code === node.code) {
+              if (keylength === ++index) {
+                return node;
+              }
+              node = node.middle;
+              break;
+            }
+            node = node.code < code ? node.left : node.right;
+          }
+        }
+        return null;
+      }
+    };
+    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);
+        }
+      }
+      /**
+       * @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/@actions/github/node_modules/undici/lib/core/util.js
 var require_util10 = __commonJS({
-  "node_modules/undici/lib/core/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/util.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { kDestroyed, kBodyUsed } = require_symbols6();
-    var { IncomingMessage } = require("http");
-    var stream = require("stream");
-    var net = require("net");
+    var assert = require("node:assert");
+    var { kDestroyed, kBodyUsed, kListeners, kBody } = require_symbols6();
+    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_errors2();
-    var { Blob: Blob2 } = require("buffer");
-    var nodeUtil = require("util");
-    var { stringify } = require("querystring");
     var { headerNameLowerCasedRecord } = require_constants6();
+    var { tree } = require_tree2();
     var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v) => Number(v));
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
+      }
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
+      }
+    };
+    function wrapRequestBody(body) {
+      if (isStream(body)) {
+        if (bodyLength(body) === 0) {
+          body.on("data", function() {
+            assert(false);
+          });
+        }
+        if (typeof body.readableDidRead !== "boolean") {
+          body[kBodyUsed] = false;
+          EE.prototype.on.call(body, "data", function() {
+            this[kBodyUsed] = true;
+          });
+        }
+        return body;
+      } else if (body && typeof body.pipeTo === "function") {
+        return new BodyAsyncIterable(body);
+      } else if (body && typeof body !== "string" && !ArrayBuffer.isView(body) && isIterable(body)) {
+        return new BodyAsyncIterable(body);
+      } else {
+        return body;
+      }
+    }
     function nop() {
     }
     function isStream(obj) {
       return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function";
     }
     function isBlobLike(object) {
-      return Blob2 && object instanceof Blob2 || object && typeof object === "object" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]);
+      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("#")) {
@@ -39765,10 +40080,17 @@ var require_util10 = __commonJS({
       }
       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 (!/^https?:/.test(url.origin || url.protocol)) {
+        if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {
           throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
         }
         return url;
@@ -39776,11 +40098,8 @@ var require_util10 = __commonJS({
       if (!url || typeof url !== "object") {
         throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object.");
       }
-      if (!/^https?:/.test(url.origin || url.protocol)) {
-        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
-      }
       if (!(url instanceof URL)) {
-        if (url.port != null && url.port !== "" && !Number.isFinite(parseInt(url.port))) {
+        if (url.port != null && url.port !== "" && isValidPort(url.port) === false) {
           throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer.");
         }
         if (url.path != null && typeof url.path !== "string") {
@@ -39795,16 +40114,22 @@ var require_util10 = __commonJS({
         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 origin = url.origin != null ? url.origin : `${url.protocol || ""}//${url.hostname || ""}:${port}`;
         let path3 = url.path != null ? url.path : `${url.pathname || ""}${url.search || ""}`;
-        if (origin.endsWith("/")) {
-          origin = origin.substring(0, origin.length - 1);
+        if (origin[origin.length - 1] === "/") {
+          origin = origin.slice(0, origin.length - 1);
         }
-        if (path3 && !path3.startsWith("/")) {
+        if (path3 && path3[0] !== "/") {
           path3 = `/${path3}`;
         }
-        url = new URL(origin + path3);
+        return new URL(`${origin}${path3}`);
+      }
+      if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {
+        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
       }
       return url;
     }
@@ -39829,7 +40154,7 @@ var require_util10 = __commonJS({
       if (!host) {
         return null;
       }
-      assert.strictEqual(typeof host, "string");
+      assert(typeof host === "string");
       const servername = getHostname(host);
       if (net.isIP(servername)) {
         return "";
@@ -39858,12 +40183,8 @@ var require_util10 = __commonJS({
       }
       return null;
     }
-    function isDestroyed(stream2) {
-      return !stream2 || !!(stream2.destroyed || stream2[kDestroyed]);
-    }
-    function isReadableAborted(stream2) {
-      const state = stream2 && stream2._readableState;
-      return isDestroyed(stream2) && state && !state.endEmitted;
+    function isDestroyed(body) {
+      return body && !!(body.destroyed || body[kDestroyed] || stream.isDestroyed?.(body));
     }
     function destroy(stream2, err) {
       if (stream2 == null || !isStream(stream2) || isDestroyed(stream2)) {
@@ -39875,9 +40196,9 @@ var require_util10 = __commonJS({
         }
         stream2.destroy(err);
       } else if (err) {
-        process.nextTick((stream3, err2) => {
-          stream3.emit("error", err2);
-        }, stream2, err);
+        queueMicrotask(() => {
+          stream2.emit("error", err);
+        });
       }
       if (stream2.destroyed !== true) {
         stream2[kDestroyed] = true;
@@ -39889,25 +40210,29 @@ var require_util10 = __commonJS({
       return m ? parseInt(m[1], 10) * 1e3 : null;
     }
     function headerNameToString(value) {
-      return headerNameLowerCasedRecord[value] || value.toLowerCase();
+      return typeof value === "string" ? headerNameLowerCasedRecord[value] ?? value.toLowerCase() : tree.lookup(value) ?? value.toString("latin1").toLowerCase();
+    }
+    function bufferToLowerCasedHeaderName(value) {
+      return tree.lookup(value) ?? value.toString("latin1").toLowerCase();
     }
-    function parseHeaders(headers, obj = {}) {
-      if (!Array.isArray(headers)) return headers;
+    function parseHeaders(headers, obj) {
+      if (obj === void 0) obj = {};
       for (let i = 0; i < headers.length; i += 2) {
-        const key = headers[i].toString().toLowerCase();
+        const key = headerNameToString(headers[i]);
         let val = obj[key];
-        if (!val) {
-          if (Array.isArray(headers[i + 1])) {
-            obj[key] = headers[i + 1].map((x) => x.toString("utf8"));
-          } else {
-            obj[key] = headers[i + 1].toString("utf8");
-          }
-        } else {
-          if (!Array.isArray(val)) {
+        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");
+          }
         }
       }
       if ("content-length" in obj && "content-disposition" in obj) {
@@ -39916,20 +40241,26 @@ var require_util10 = __commonJS({
       return obj;
     }
     function parseRawHeaders(headers) {
-      const ret = [];
+      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) {
-        const key = headers[n + 0].toString();
-        const val = headers[n + 1].toString("utf8");
-        if (key.length === 14 && (key === "content-length" || key.toLowerCase() === "content-length")) {
-          ret.push(key, val);
+        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 (key.length === 19 && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
-          contentDispositionIdx = ret.push(key, val) - 1;
-        } else {
-          ret.push(key, val);
+        } else if (kLen === 19 && key[7] === "-" && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
+          contentDispositionIdx = n + 1;
         }
+        ret[n] = key;
+        ret[n + 1] = val;
       }
       if (hasContentLength && contentDispositionIdx !== -1) {
         ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1");
@@ -39969,17 +40300,13 @@ var require_util10 = __commonJS({
       }
     }
     function isDisturbed(body) {
-      return !!(body && (stream.isDisturbed ? stream.isDisturbed(body) || body[kBodyUsed] : body[kBodyUsed] || body.readableDidRead || body._readableState && body._readableState.dataEmitted || isReadableAborted(body)));
+      return !!(body && (stream.isDisturbed(body) || body[kBodyUsed]));
     }
     function isErrored(body) {
-      return !!(body && (stream.isErrored ? stream.isErrored(body) : /state: 'errored'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream.isErrored(body));
     }
     function isReadable(body) {
-      return !!(body && (stream.isReadable ? stream.isReadable(body) : /state: 'readable'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream.isReadable(body));
     }
     function getSocketInfo(socket) {
       return {
@@ -39993,21 +40320,9 @@ var require_util10 = __commonJS({
         bytesRead: socket.bytesRead
       };
     }
-    async function* convertIterableToBuffer(iterable) {
-      for await (const chunk of iterable) {
-        yield Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
-      }
-    }
-    var ReadableStream2;
     function ReadableStreamFrom(iterable) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      if (ReadableStream2.from) {
-        return ReadableStream2.from(convertIterableToBuffer(iterable));
-      }
       let iterator2;
-      return new ReadableStream2(
+      return new ReadableStream(
         {
           async start() {
             iterator2 = iterable[Symbol.asyncIterator]();
@@ -40017,37 +40332,26 @@ var require_util10 = __commonJS({
             if (done) {
               queueMicrotask(() => {
                 controller.close();
+                controller.byobRequest?.respond(0);
               });
             } else {
               const buf = Buffer.isBuffer(value) ? value : Buffer.from(value);
-              controller.enqueue(new Uint8Array(buf));
+              if (buf.byteLength) {
+                controller.enqueue(new Uint8Array(buf));
+              }
             }
             return controller.desiredSize > 0;
           },
           async cancel(reason) {
             await iterator2.return();
-          }
-        },
-        0
+          },
+          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 throwIfAborted(signal) {
-      if (!signal) {
-        return;
-      }
-      if (typeof signal.throwIfAborted === "function") {
-        signal.throwIfAborted();
-      } else {
-        if (signal.aborted) {
-          const err = new Error("The operation was aborted");
-          err.name = "AbortError";
-          throw err;
-        }
-      }
-    }
     function addAbortListener(signal, listener) {
       if ("addEventListener" in signal) {
         signal.addEventListener("abort", listener, { once: true });
@@ -40056,14 +40360,52 @@ var require_util10 = __commonJS({
       signal.addListener("abort", listener);
       return () => signal.removeListener("abort", listener);
     }
-    var hasToWellFormed = !!String.prototype.toWellFormed;
+    var hasToWellFormed = typeof String.prototype.toWellFormed === "function";
+    var hasIsWellFormed = typeof String.prototype.isWellFormed === "function";
     function toUSVString(val) {
-      if (hasToWellFormed) {
-        return `${val}`.toWellFormed();
-      } else if (nodeUtil.toUSVString) {
-        return nodeUtil.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;
+      }
+    }
+    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 `${val}`;
+      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 };
@@ -40074,25 +40416,70 @@ var require_util10 = __commonJS({
         size: m[3] ? parseInt(m[3]) : null
       } : null;
     }
-    var kEnumerableProperty = /* @__PURE__ */ Object.create(null);
-    kEnumerableProperty.enumerable = true;
-    module2.exports = {
-      kEnumerableProperty,
-      nop,
-      isDisturbed,
-      isErrored,
-      isReadable,
-      toUSVString,
-      isReadableAborted,
-      isBlobLike,
-      parseOrigin,
-      parseURL,
-      getServerName,
+    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);
+      }
+      obj[kListeners] = null;
+    }
+    function errorRequest2(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: errorRequest2,
       parseRawHeaders,
       parseHeaders,
       parseKeepAliveTimeout,
@@ -40105,2961 +40492,2131 @@ var require_util10 = __commonJS({
       getSocketInfo,
       isFormDataLike,
       buildURL,
-      throwIfAborted,
       addAbortListener,
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isTokenCharCode,
       parseRangeHeader,
+      normalizedMethodRecordsBase,
+      normalizedMethodRecords,
+      isValidPort,
+      isHttpOrHttpsPrefixed,
       nodeMajor,
       nodeMinor,
-      nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13,
-      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"]
+      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"],
+      wrapRequestBody
     };
   }
 });
 
-// node_modules/undici/lib/timers.js
-var require_timers2 = __commonJS({
-  "node_modules/undici/lib/timers.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js
+var require_diagnostics2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js"(exports2, module2) {
     "use strict";
-    var fastNow = Date.now();
-    var fastNowTimeout;
-    var fastTimers = [];
-    function onTimeout() {
-      fastNow = Date.now();
-      let len = fastTimers.length;
-      let idx = 0;
-      while (idx < len) {
-        const timer = fastTimers[idx];
-        if (timer.state === 0) {
-          timer.state = fastNow + timer.delay;
-        } else if (timer.state > 0 && fastNow >= timer.state) {
-          timer.state = -1;
-          timer.callback(timer.opaque);
-        }
-        if (timer.state === -1) {
-          timer.state = -2;
-          if (idx !== len - 1) {
-            fastTimers[idx] = fastTimers.pop();
-          } else {
-            fastTimers.pop();
-          }
-          len -= 1;
-        } else {
-          idx += 1;
-        }
-      }
-      if (fastTimers.length > 0) {
-        refreshTimeout();
-      }
-    }
-    function refreshTimeout() {
-      if (fastNowTimeout && fastNowTimeout.refresh) {
-        fastNowTimeout.refresh();
-      } else {
-        clearTimeout(fastNowTimeout);
-        fastNowTimeout = setTimeout(onTimeout, 1e3);
-        if (fastNowTimeout.unref) {
-          fastNowTimeout.unref();
-        }
-      }
-    }
-    var Timeout = class {
-      constructor(callback, delay2, opaque) {
-        this.callback = callback;
-        this.delay = delay2;
-        this.opaque = opaque;
-        this.state = -2;
-        this.refresh();
-      }
-      refresh() {
-        if (this.state === -2) {
-          fastTimers.push(this);
-          if (!fastNowTimeout || fastTimers.length === 1) {
-            refreshTimeout();
-          }
-        }
-        this.state = 0;
-      }
-      clear() {
-        this.state = -1;
-      }
-    };
-    module2.exports = {
-      setTimeout(callback, delay2, opaque) {
-        return delay2 < 1e3 ? setTimeout(callback, delay2, opaque) : new Timeout(callback, delay2, opaque);
-      },
-      clearTimeout(timeout) {
-        if (timeout instanceof Timeout) {
-          timeout.clear();
-        } else {
-          clearTimeout(timeout);
-        }
-      }
+    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")
     };
-  }
-});
-
-// node_modules/@fastify/busboy/deps/streamsearch/sbmh.js
-var require_sbmh = __commonJS({
-  "node_modules/@fastify/busboy/deps/streamsearch/sbmh.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    function SBMH(needle) {
-      if (typeof needle === "string") {
-        needle = Buffer.from(needle);
-      }
-      if (!Buffer.isBuffer(needle)) {
-        throw new TypeError("The needle has to be a String or a Buffer.");
-      }
-      const needleLength = needle.length;
-      if (needleLength === 0) {
-        throw new Error("The needle cannot be an empty String/Buffer.");
-      }
-      if (needleLength > 256) {
-        throw new Error("The needle cannot have a length bigger than 256.");
-      }
-      this.maxMatches = Infinity;
-      this.matches = 0;
-      this._occ = new Array(256).fill(needleLength);
-      this._lookbehind_size = 0;
-      this._needle = needle;
-      this._bufpos = 0;
-      this._lookbehind = Buffer.alloc(needleLength);
-      for (var i = 0; i < needleLength - 1; ++i) {
-        this._occ[needle[i]] = needleLength - 1 - i;
-      }
+    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: error3
+        } = evt;
+        debuglog(
+          "connection to %s using %s%s errored - %s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version,
+          error3.message
+        );
+      });
+      diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+        const {
+          request: { method, path: path3, origin }
+        } = evt;
+        debuglog("sending request to %s %s/%s", method, origin, path3);
+      });
+      diagnosticsChannel.channel("undici:request:headers").subscribe((evt) => {
+        const {
+          request: { method, path: path3, origin },
+          response: { statusCode }
+        } = evt;
+        debuglog(
+          "received response to %s %s/%s - HTTP %d",
+          method,
+          origin,
+          path3,
+          statusCode
+        );
+      });
+      diagnosticsChannel.channel("undici:request:trailers").subscribe((evt) => {
+        const {
+          request: { method, path: path3, origin }
+        } = evt;
+        debuglog("trailers received from %s %s/%s", method, origin, path3);
+      });
+      diagnosticsChannel.channel("undici:request:error").subscribe((evt) => {
+        const {
+          request: { method, path: path3, origin },
+          error: error3
+        } = evt;
+        debuglog(
+          "request to %s %s/%s errored - %s",
+          method,
+          origin,
+          path3,
+          error3.message
+        );
+      });
+      isClientSet = true;
     }
-    inherits(SBMH, EventEmitter);
-    SBMH.prototype.reset = function() {
-      this._lookbehind_size = 0;
-      this.matches = 0;
-      this._bufpos = 0;
-    };
-    SBMH.prototype.push = function(chunk, pos) {
-      if (!Buffer.isBuffer(chunk)) {
-        chunk = Buffer.from(chunk, "binary");
-      }
-      const chlen = chunk.length;
-      this._bufpos = pos || 0;
-      let r;
-      while (r !== chlen && this.matches < this.maxMatches) {
-        r = this._sbmh_feed(chunk);
-      }
-      return r;
-    };
-    SBMH.prototype._sbmh_feed = function(data) {
-      const len = data.length;
-      const needle = this._needle;
-      const needleLength = needle.length;
-      const lastNeedleChar = needle[needleLength - 1];
-      let pos = -this._lookbehind_size;
-      let ch;
-      if (pos < 0) {
-        while (pos < 0 && pos <= len - needleLength) {
-          ch = this._sbmh_lookup_char(data, pos + needleLength - 1);
-          if (ch === lastNeedleChar && this._sbmh_memcmp(data, pos, needleLength - 1)) {
-            this._lookbehind_size = 0;
-            ++this.matches;
-            this.emit("info", true);
-            return this._bufpos = pos + needleLength;
-          }
-          pos += this._occ[ch];
-        }
-        if (pos < 0) {
-          while (pos < 0 && !this._sbmh_memcmp(data, pos, len - pos)) {
-            ++pos;
-          }
-        }
-        if (pos >= 0) {
-          this.emit("info", false, this._lookbehind, 0, this._lookbehind_size);
-          this._lookbehind_size = 0;
-        } else {
-          const bytesToCutOff = this._lookbehind_size + pos;
-          if (bytesToCutOff > 0) {
-            this.emit("info", false, this._lookbehind, 0, bytesToCutOff);
-          }
-          this._lookbehind.copy(
-            this._lookbehind,
-            0,
-            bytesToCutOff,
-            this._lookbehind_size - bytesToCutOff
+    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
           );
-          this._lookbehind_size -= bytesToCutOff;
-          data.copy(this._lookbehind, this._lookbehind_size);
-          this._lookbehind_size += len;
-          this._bufpos = len;
-          return len;
-        }
-      }
-      pos += (pos >= 0) * this._bufpos;
-      if (data.indexOf(needle, pos) !== -1) {
-        pos = data.indexOf(needle, pos);
-        ++this.matches;
-        if (pos > 0) {
-          this.emit("info", true, data, this._bufpos, pos);
-        } else {
-          this.emit("info", true);
-        }
-        return this._bufpos = pos + needleLength;
-      } else {
-        pos = len - needleLength;
-      }
-      while (pos < len && (data[pos] !== needle[0] || Buffer.compare(
-        data.subarray(pos, pos + len - pos),
-        needle.subarray(0, len - pos)
-      ) !== 0)) {
-        ++pos;
-      }
-      if (pos < len) {
-        data.copy(this._lookbehind, 0, pos, pos + (len - pos));
-        this._lookbehind_size = len - pos;
-      }
-      if (pos > 0) {
-        this.emit("info", false, data, this._bufpos, pos < len ? pos : len);
-      }
-      this._bufpos = len;
-      return len;
-    };
-    SBMH.prototype._sbmh_lookup_char = function(data, pos) {
-      return pos < 0 ? this._lookbehind[this._lookbehind_size + pos] : data[pos];
-    };
-    SBMH.prototype._sbmh_memcmp = function(data, pos, len) {
-      for (var i = 0; i < len; ++i) {
-        if (this._sbmh_lookup_char(data, pos + i) !== this._needle[i]) {
-          return false;
-        }
+        });
+        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: error3
+          } = evt;
+          debuglog(
+            "connection to %s%s using %s%s errored - %s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version,
+            error3.message
+          );
+        });
+        diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+          const {
+            request: { method, path: path3, origin }
+          } = evt;
+          debuglog("sending request to %s %s/%s", method, origin, path3);
+        });
       }
-      return true;
-    };
-    module2.exports = SBMH;
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js
-var require_PartStream = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js"(exports2, module2) {
-    "use strict";
-    var inherits = require("node:util").inherits;
-    var ReadableStream2 = require("node:stream").Readable;
-    function PartStream(opts) {
-      ReadableStream2.call(this, opts);
+      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");
+      });
     }
-    inherits(PartStream, ReadableStream2);
-    PartStream.prototype._read = function(n) {
-    };
-    module2.exports = PartStream;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/getLimit.js
-var require_getLimit = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/getLimit.js"(exports2, module2) {
-    "use strict";
-    module2.exports = function getLimit(limits, name, defaultLimit) {
-      if (!limits || limits[name] === void 0 || limits[name] === null) {
-        return defaultLimit;
-      }
-      if (typeof limits[name] !== "number" || isNaN(limits[name])) {
-        throw new TypeError("Limit " + name + " is not a valid number");
-      }
-      return limits[name];
+    module2.exports = {
+      channels
     };
   }
 });
 
-// node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js
-var require_HeaderParser = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/request.js
+var require_request3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/request.js"(exports2, module2) {
     "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    var getLimit = require_getLimit();
-    var StreamSearch = require_sbmh();
-    var B_DCRLF = Buffer.from("\r\n\r\n");
-    var RE_CRLF = /\r\n/g;
-    var RE_HDR = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/;
-    function HeaderParser(cfg) {
-      EventEmitter.call(this);
-      cfg = cfg || {};
-      const self2 = this;
-      this.nread = 0;
-      this.maxed = false;
-      this.npairs = 0;
-      this.maxHeaderPairs = getLimit(cfg, "maxHeaderPairs", 2e3);
-      this.maxHeaderSize = getLimit(cfg, "maxHeaderSize", 80 * 1024);
-      this.buffer = "";
-      this.header = {};
-      this.finished = false;
-      this.ss = new StreamSearch(B_DCRLF);
-      this.ss.on("info", function(isMatch, data, start, end) {
-        if (data && !self2.maxed) {
-          if (self2.nread + end - start >= self2.maxHeaderSize) {
-            end = self2.maxHeaderSize - self2.nread + start;
-            self2.nread = self2.maxHeaderSize;
-            self2.maxed = true;
-          } else {
-            self2.nread += end - start;
-          }
-          self2.buffer += data.toString("binary", start, end);
+    var {
+      InvalidArgumentError,
+      NotSupportedError
+    } = require_errors2();
+    var assert = require("node:assert");
+    var {
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isStream,
+      destroy,
+      isBuffer,
+      isFormDataLike,
+      isIterable,
+      isBlobLike,
+      buildURL,
+      validateHandler,
+      getServerName,
+      normalizedMethodRecords
+    } = require_util10();
+    var { channels } = require_diagnostics2();
+    var { headerNameLowerCasedRecord } = require_constants6();
+    var invalidPathRegex = /[^\u0021-\u00ff]/;
+    var kHandler = /* @__PURE__ */ Symbol("handler");
+    var Request = class {
+      constructor(origin, {
+        path: path3,
+        method,
+        body,
+        headers,
+        query,
+        idempotent,
+        blocking,
+        upgrade,
+        headersTimeout,
+        bodyTimeout,
+        reset,
+        throwOnError,
+        expectContinue,
+        servername
+      }, handler2) {
+        if (typeof path3 !== "string") {
+          throw new InvalidArgumentError("path must be a string");
+        } else if (path3[0] !== "/" && !(path3.startsWith("http://") || path3.startsWith("https://")) && method !== "CONNECT") {
+          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
+        } else if (invalidPathRegex.test(path3)) {
+          throw new InvalidArgumentError("invalid request path");
         }
-        if (isMatch) {
-          self2._finish();
+        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");
         }
-      });
-    }
-    inherits(HeaderParser, EventEmitter);
-    HeaderParser.prototype.push = function(data) {
-      const r = this.ss.push(data);
-      if (this.finished) {
-        return r;
-      }
-    };
-    HeaderParser.prototype.reset = function() {
-      this.finished = false;
-      this.buffer = "";
-      this.header = {};
-      this.ss.reset();
-    };
-    HeaderParser.prototype._finish = function() {
-      if (this.buffer) {
-        this._parseHeader();
-      }
-      this.ss.matches = this.ss.maxMatches;
-      const header = this.header;
-      this.header = {};
-      this.buffer = "";
-      this.finished = true;
-      this.nread = this.npairs = 0;
-      this.maxed = false;
-      this.emit("header", header);
-    };
-    HeaderParser.prototype._parseHeader = function() {
-      if (this.npairs === this.maxHeaderPairs) {
-        return;
-      }
-      const lines = this.buffer.split(RE_CRLF);
-      const len = lines.length;
-      let m, h;
-      for (var i = 0; i < len; ++i) {
-        if (lines[i].length === 0) {
-          continue;
+        if (upgrade && typeof upgrade !== "string") {
+          throw new InvalidArgumentError("upgrade must be a string");
         }
-        if (lines[i][0] === "	" || lines[i][0] === " ") {
-          if (h) {
-            this.header[h][this.header[h].length - 1] += lines[i];
-            continue;
-          }
+        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
+          throw new InvalidArgumentError("invalid headersTimeout");
         }
-        const posColon = lines[i].indexOf(":");
-        if (posColon === -1 || posColon === 0) {
-          return;
+        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
+          throw new InvalidArgumentError("invalid bodyTimeout");
         }
-        m = RE_HDR.exec(lines[i]);
-        h = m[1].toLowerCase();
-        this.header[h] = this.header[h] || [];
-        this.header[h].push(m[2] || "");
-        if (++this.npairs === this.maxHeaderPairs) {
-          break;
+        if (reset != null && typeof reset !== "boolean") {
+          throw new InvalidArgumentError("invalid reset");
         }
-      }
-    };
-    module2.exports = HeaderParser;
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js
-var require_Dicer = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js"(exports2, module2) {
-    "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var inherits = require("node:util").inherits;
-    var StreamSearch = require_sbmh();
-    var PartStream = require_PartStream();
-    var HeaderParser = require_HeaderParser();
-    var DASH = 45;
-    var B_ONEDASH = Buffer.from("-");
-    var B_CRLF = Buffer.from("\r\n");
-    var EMPTY_FN = function() {
-    };
-    function Dicer(cfg) {
-      if (!(this instanceof Dicer)) {
-        return new Dicer(cfg);
-      }
-      WritableStream.call(this, cfg);
-      if (!cfg || !cfg.headerFirst && typeof cfg.boundary !== "string") {
-        throw new TypeError("Boundary required");
-      }
-      if (typeof cfg.boundary === "string") {
-        this.setBoundary(cfg.boundary);
-      } else {
-        this._bparser = void 0;
-      }
-      this._headerFirst = cfg.headerFirst;
-      this._dashes = 0;
-      this._parts = 0;
-      this._finished = false;
-      this._realFinish = false;
-      this._isPreamble = true;
-      this._justMatched = false;
-      this._firstWrite = true;
-      this._inHeader = true;
-      this._part = void 0;
-      this._cb = void 0;
-      this._ignoreData = false;
-      this._partOpts = { highWaterMark: cfg.partHwm };
-      this._pause = false;
-      const self2 = this;
-      this._hparser = new HeaderParser(cfg);
-      this._hparser.on("header", function(header) {
-        self2._inHeader = false;
-        self2._part.emit("header", header);
-      });
-    }
-    inherits(Dicer, WritableStream);
-    Dicer.prototype.emit = function(ev) {
-      if (ev === "finish" && !this._realFinish) {
-        if (!this._finished) {
-          const self2 = this;
-          process.nextTick(function() {
-            self2.emit("error", new Error("Unexpected end of multipart data"));
-            if (self2._part && !self2._ignoreData) {
-              const type2 = self2._isPreamble ? "Preamble" : "Part";
-              self2._part.emit("error", new Error(type2 + " terminated early due to unexpected end of multipart data"));
-              self2._part.push(null);
-              process.nextTick(function() {
-                self2._realFinish = true;
-                self2.emit("finish");
-                self2._realFinish = false;
-              });
-              return;
-            }
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
-          });
+        if (expectContinue != null && typeof expectContinue !== "boolean") {
+          throw new InvalidArgumentError("invalid expectContinue");
         }
-      } else {
-        WritableStream.prototype.emit.apply(this, arguments);
-      }
-    };
-    Dicer.prototype._write = function(data, encoding, cb) {
-      if (!this._hparser && !this._bparser) {
-        return cb();
-      }
-      if (this._headerFirst && this._isPreamble) {
-        if (!this._part) {
-          this._part = new PartStream(this._partOpts);
-          if (this.listenerCount("preamble") !== 0) {
-            this.emit("preamble", this._part);
-          } else {
-            this._ignore();
+        this.headersTimeout = headersTimeout;
+        this.bodyTimeout = bodyTimeout;
+        this.throwOnError = throwOnError === true;
+        this.method = method;
+        this.abort = null;
+        if (body == null) {
+          this.body = null;
+        } else if (isStream(body)) {
+          this.body = body;
+          const rState = this.body._readableState;
+          if (!rState || !rState.autoDestroy) {
+            this.endHandler = function autoDestroy() {
+              destroy(this);
+            };
+            this.body.on("end", this.endHandler);
           }
-        }
-        const r = this._hparser.push(data);
-        if (!this._inHeader && r !== void 0 && r < data.length) {
-          data = data.slice(r);
+          this.errorHandler = (err) => {
+            if (this.abort) {
+              this.abort(err);
+            } else {
+              this.error = err;
+            }
+          };
+          this.body.on("error", this.errorHandler);
+        } else if (isBuffer(body)) {
+          this.body = body.byteLength ? body : null;
+        } else if (ArrayBuffer.isView(body)) {
+          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
+        } else if (body instanceof ArrayBuffer) {
+          this.body = body.byteLength ? Buffer.from(body) : null;
+        } else if (typeof body === "string") {
+          this.body = body.length ? Buffer.from(body) : null;
+        } else if (isFormDataLike(body) || isIterable(body) || isBlobLike(body)) {
+          this.body = body;
         } else {
-          return cb();
+          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
         }
-      }
-      if (this._firstWrite) {
-        this._bparser.push(B_CRLF);
-        this._firstWrite = false;
-      }
-      this._bparser.push(data);
-      if (this._pause) {
-        this._cb = cb;
-      } else {
-        cb();
-      }
-    };
-    Dicer.prototype.reset = function() {
-      this._part = void 0;
-      this._bparser = void 0;
-      this._hparser = void 0;
-    };
-    Dicer.prototype.setBoundary = function(boundary) {
-      const self2 = this;
-      this._bparser = new StreamSearch("\r\n--" + boundary);
-      this._bparser.on("info", function(isMatch, data, start, end) {
-        self2._oninfo(isMatch, data, start, end);
-      });
-    };
-    Dicer.prototype._ignore = function() {
-      if (this._part && !this._ignoreData) {
-        this._ignoreData = true;
-        this._part.on("error", EMPTY_FN);
-        this._part.resume();
-      }
-    };
-    Dicer.prototype._oninfo = function(isMatch, data, start, end) {
-      let buf;
-      const self2 = this;
-      let i = 0;
-      let r;
-      let shouldWriteMore = true;
-      if (!this._part && this._justMatched && data) {
-        while (this._dashes < 2 && start + i < end) {
-          if (data[start + i] === DASH) {
-            ++i;
-            ++this._dashes;
-          } else {
-            if (this._dashes) {
-              buf = B_ONEDASH;
-            }
-            this._dashes = 0;
-            break;
+        this.completed = false;
+        this.aborted = false;
+        this.upgrade = upgrade || null;
+        this.path = query ? buildURL(path3, query) : path3;
+        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");
           }
-        }
-        if (this._dashes === 2) {
-          if (start + i < end && this.listenerCount("trailer") !== 0) {
-            this.emit("trailer", data.slice(start + i, end));
+          for (let i = 0; i < headers.length; i += 2) {
+            processHeader(this, headers[i], headers[i + 1]);
           }
-          this.reset();
-          this._finished = true;
-          if (self2._parts === 0) {
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
+        } 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");
         }
-        if (this._dashes) {
-          return;
+        validateHandler(handler2, method, upgrade);
+        this.servername = servername || getServerName(this.host);
+        this[kHandler] = handler2;
+        if (channels.create.hasSubscribers) {
+          channels.create.publish({ request: this });
         }
       }
-      if (this._justMatched) {
-        this._justMatched = false;
-      }
-      if (!this._part) {
-        this._part = new PartStream(this._partOpts);
-        this._part._read = function(n) {
-          self2._unpause();
-        };
-        if (this._isPreamble && this.listenerCount("preamble") !== 0) {
-          this.emit("preamble", this._part);
-        } else if (this._isPreamble !== true && this.listenerCount("part") !== 0) {
-          this.emit("part", this._part);
-        } else {
-          this._ignore();
-        }
-        if (!this._isPreamble) {
-          this._inHeader = true;
+      onBodySent(chunk) {
+        if (this[kHandler].onBodySent) {
+          try {
+            return this[kHandler].onBodySent(chunk);
+          } catch (err) {
+            this.abort(err);
+          }
         }
       }
-      if (data && start < end && !this._ignoreData) {
-        if (this._isPreamble || !this._inHeader) {
-          if (buf) {
-            shouldWriteMore = this._part.push(buf);
-          }
-          shouldWriteMore = this._part.push(data.slice(start, end));
-          if (!shouldWriteMore) {
-            this._pause = true;
-          }
-        } else if (!this._isPreamble && this._inHeader) {
-          if (buf) {
-            this._hparser.push(buf);
-          }
-          r = this._hparser.push(data.slice(start, end));
-          if (!this._inHeader && r !== void 0 && r < end) {
-            this._oninfo(false, data, start + r, end);
+      onRequestSent() {
+        if (channels.bodySent.hasSubscribers) {
+          channels.bodySent.publish({ request: this });
+        }
+        if (this[kHandler].onRequestSent) {
+          try {
+            return this[kHandler].onRequestSent();
+          } catch (err) {
+            this.abort(err);
           }
         }
       }
-      if (isMatch) {
-        this._hparser.reset();
-        if (this._isPreamble) {
-          this._isPreamble = false;
+      onConnect(abort) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (this.error) {
+          abort(this.error);
         } else {
-          if (start !== end) {
-            ++this._parts;
-            this._part.on("end", function() {
-              if (--self2._parts === 0) {
-                if (self2._finished) {
-                  self2._realFinish = true;
-                  self2.emit("finish");
-                  self2._realFinish = false;
-                } else {
-                  self2._unpause();
-                }
-              }
-            });
-          }
+          this.abort = abort;
+          return this[kHandler].onConnect(abort);
         }
-        this._part.push(null);
-        this._part = void 0;
-        this._ignoreData = false;
-        this._justMatched = true;
-        this._dashes = 0;
-      }
-    };
-    Dicer.prototype._unpause = function() {
-      if (!this._pause) {
-        return;
       }
-      this._pause = false;
-      if (this._cb) {
-        const cb = this._cb;
-        this._cb = void 0;
-        cb();
-      }
-    };
-    module2.exports = Dicer;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/decodeText.js
-var require_decodeText = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/decodeText.js"(exports2, module2) {
-    "use strict";
-    var utf8Decoder = new TextDecoder("utf-8");
-    var textDecoders = /* @__PURE__ */ new Map([
-      ["utf-8", utf8Decoder],
-      ["utf8", utf8Decoder]
-    ]);
-    function getDecoder(charset) {
-      let lc;
-      while (true) {
-        switch (charset) {
-          case "utf-8":
-          case "utf8":
-            return decoders.utf8;
-          case "latin1":
-          case "ascii":
-          // TODO: Make these a separate, strict decoder?
-          case "us-ascii":
-          case "iso-8859-1":
-          case "iso8859-1":
-          case "iso88591":
-          case "iso_8859-1":
-          case "windows-1252":
-          case "iso_8859-1:1987":
-          case "cp1252":
-          case "x-cp1252":
-            return decoders.latin1;
-          case "utf16le":
-          case "utf-16le":
-          case "ucs2":
-          case "ucs-2":
-            return decoders.utf16le;
-          case "base64":
-            return decoders.base64;
-          default:
-            if (lc === void 0) {
-              lc = true;
-              charset = charset.toLowerCase();
-              continue;
-            }
-            return decoders.other.bind(charset);
-        }
+      onResponseStarted() {
+        return this[kHandler].onResponseStarted?.();
       }
-    }
-    var decoders = {
-      utf8: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
-        }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
-        }
-        return data.utf8Slice(0, data.length);
-      },
-      latin1: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+      onHeaders(statusCode, headers, resume, statusText) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (channels.headers.hasSubscribers) {
+          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
         }
-        if (typeof data === "string") {
-          return data;
+        try {
+          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
+        } catch (err) {
+          this.abort(err);
         }
-        return data.latin1Slice(0, data.length);
-      },
-      utf16le: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+      }
+      onData(chunk) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        try {
+          return this[kHandler].onData(chunk);
+        } catch (err) {
+          this.abort(err);
+          return false;
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      }
+      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 });
         }
-        return data.ucs2Slice(0, data.length);
-      },
-      base64: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+        try {
+          return this[kHandler].onComplete(trailers);
+        } catch (err) {
+          this.onError(err);
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      }
+      onError(error3) {
+        this.onFinally();
+        if (channels.error.hasSubscribers) {
+          channels.error.publish({ request: this, error: error3 });
         }
-        return data.base64Slice(0, data.length);
-      },
-      other: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+        if (this.aborted) {
+          return;
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+        this.aborted = true;
+        return this[kHandler].onError(error3);
+      }
+      onFinally() {
+        if (this.errorHandler) {
+          this.body.off("error", this.errorHandler);
+          this.errorHandler = null;
         }
-        if (textDecoders.has(exports2.toString())) {
-          try {
-            return textDecoders.get(exports2).decode(data);
-          } catch {
-          }
+        if (this.endHandler) {
+          this.body.off("end", this.endHandler);
+          this.endHandler = null;
         }
-        return typeof data === "string" ? data : data.toString();
+      }
+      addHeader(key, value) {
+        processHeader(this, key, value);
+        return this;
       }
     };
-    function decodeText(text, sourceEncoding, destEncoding) {
-      if (text) {
-        return getDecoder(destEncoding)(text, sourceEncoding);
+    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;
       }
-      return text;
-    }
-    module2.exports = decodeText;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/parseParams.js
-var require_parseParams = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/parseParams.js"(exports2, module2) {
-    "use strict";
-    var decodeText = require_decodeText();
-    var RE_ENCODED = /%[a-fA-F0-9][a-fA-F0-9]/g;
-    var EncodedLookup = {
-      "%00": "\0",
-      "%01": "",
-      "%02": "",
-      "%03": "",
-      "%04": "",
-      "%05": "",
-      "%06": "",
-      "%07": "\x07",
-      "%08": "\b",
-      "%09": "	",
-      "%0a": "\n",
-      "%0A": "\n",
-      "%0b": "\v",
-      "%0B": "\v",
-      "%0c": "\f",
-      "%0C": "\f",
-      "%0d": "\r",
-      "%0D": "\r",
-      "%0e": "",
-      "%0E": "",
-      "%0f": "",
-      "%0F": "",
-      "%10": "",
-      "%11": "",
-      "%12": "",
-      "%13": "",
-      "%14": "",
-      "%15": "",
-      "%16": "",
-      "%17": "",
-      "%18": "",
-      "%19": "",
-      "%1a": "",
-      "%1A": "",
-      "%1b": "\x1B",
-      "%1B": "\x1B",
-      "%1c": "",
-      "%1C": "",
-      "%1d": "",
-      "%1D": "",
-      "%1e": "",
-      "%1E": "",
-      "%1f": "",
-      "%1F": "",
-      "%20": " ",
-      "%21": "!",
-      "%22": '"',
-      "%23": "#",
-      "%24": "$",
-      "%25": "%",
-      "%26": "&",
-      "%27": "'",
-      "%28": "(",
-      "%29": ")",
-      "%2a": "*",
-      "%2A": "*",
-      "%2b": "+",
-      "%2B": "+",
-      "%2c": ",",
-      "%2C": ",",
-      "%2d": "-",
-      "%2D": "-",
-      "%2e": ".",
-      "%2E": ".",
-      "%2f": "/",
-      "%2F": "/",
-      "%30": "0",
-      "%31": "1",
-      "%32": "2",
-      "%33": "3",
-      "%34": "4",
-      "%35": "5",
-      "%36": "6",
-      "%37": "7",
-      "%38": "8",
-      "%39": "9",
-      "%3a": ":",
-      "%3A": ":",
-      "%3b": ";",
-      "%3B": ";",
-      "%3c": "<",
-      "%3C": "<",
-      "%3d": "=",
-      "%3D": "=",
-      "%3e": ">",
-      "%3E": ">",
-      "%3f": "?",
-      "%3F": "?",
-      "%40": "@",
-      "%41": "A",
-      "%42": "B",
-      "%43": "C",
-      "%44": "D",
-      "%45": "E",
-      "%46": "F",
-      "%47": "G",
-      "%48": "H",
-      "%49": "I",
-      "%4a": "J",
-      "%4A": "J",
-      "%4b": "K",
-      "%4B": "K",
-      "%4c": "L",
-      "%4C": "L",
-      "%4d": "M",
-      "%4D": "M",
-      "%4e": "N",
-      "%4E": "N",
-      "%4f": "O",
-      "%4F": "O",
-      "%50": "P",
-      "%51": "Q",
-      "%52": "R",
-      "%53": "S",
-      "%54": "T",
-      "%55": "U",
-      "%56": "V",
-      "%57": "W",
-      "%58": "X",
-      "%59": "Y",
-      "%5a": "Z",
-      "%5A": "Z",
-      "%5b": "[",
-      "%5B": "[",
-      "%5c": "\\",
-      "%5C": "\\",
-      "%5d": "]",
-      "%5D": "]",
-      "%5e": "^",
-      "%5E": "^",
-      "%5f": "_",
-      "%5F": "_",
-      "%60": "`",
-      "%61": "a",
-      "%62": "b",
-      "%63": "c",
-      "%64": "d",
-      "%65": "e",
-      "%66": "f",
-      "%67": "g",
-      "%68": "h",
-      "%69": "i",
-      "%6a": "j",
-      "%6A": "j",
-      "%6b": "k",
-      "%6B": "k",
-      "%6c": "l",
-      "%6C": "l",
-      "%6d": "m",
-      "%6D": "m",
-      "%6e": "n",
-      "%6E": "n",
-      "%6f": "o",
-      "%6F": "o",
-      "%70": "p",
-      "%71": "q",
-      "%72": "r",
-      "%73": "s",
-      "%74": "t",
-      "%75": "u",
-      "%76": "v",
-      "%77": "w",
-      "%78": "x",
-      "%79": "y",
-      "%7a": "z",
-      "%7A": "z",
-      "%7b": "{",
-      "%7B": "{",
-      "%7c": "|",
-      "%7C": "|",
-      "%7d": "}",
-      "%7D": "}",
-      "%7e": "~",
-      "%7E": "~",
-      "%7f": "\x7F",
-      "%7F": "\x7F",
-      "%80": "\x80",
-      "%81": "\x81",
-      "%82": "\x82",
-      "%83": "\x83",
-      "%84": "\x84",
-      "%85": "\x85",
-      "%86": "\x86",
-      "%87": "\x87",
-      "%88": "\x88",
-      "%89": "\x89",
-      "%8a": "\x8A",
-      "%8A": "\x8A",
-      "%8b": "\x8B",
-      "%8B": "\x8B",
-      "%8c": "\x8C",
-      "%8C": "\x8C",
-      "%8d": "\x8D",
-      "%8D": "\x8D",
-      "%8e": "\x8E",
-      "%8E": "\x8E",
-      "%8f": "\x8F",
-      "%8F": "\x8F",
-      "%90": "\x90",
-      "%91": "\x91",
-      "%92": "\x92",
-      "%93": "\x93",
-      "%94": "\x94",
-      "%95": "\x95",
-      "%96": "\x96",
-      "%97": "\x97",
-      "%98": "\x98",
-      "%99": "\x99",
-      "%9a": "\x9A",
-      "%9A": "\x9A",
-      "%9b": "\x9B",
-      "%9B": "\x9B",
-      "%9c": "\x9C",
-      "%9C": "\x9C",
-      "%9d": "\x9D",
-      "%9D": "\x9D",
-      "%9e": "\x9E",
-      "%9E": "\x9E",
-      "%9f": "\x9F",
-      "%9F": "\x9F",
-      "%a0": "\xA0",
-      "%A0": "\xA0",
-      "%a1": "\xA1",
-      "%A1": "\xA1",
-      "%a2": "\xA2",
-      "%A2": "\xA2",
-      "%a3": "\xA3",
-      "%A3": "\xA3",
-      "%a4": "\xA4",
-      "%A4": "\xA4",
-      "%a5": "\xA5",
-      "%A5": "\xA5",
-      "%a6": "\xA6",
-      "%A6": "\xA6",
-      "%a7": "\xA7",
-      "%A7": "\xA7",
-      "%a8": "\xA8",
-      "%A8": "\xA8",
-      "%a9": "\xA9",
-      "%A9": "\xA9",
-      "%aa": "\xAA",
-      "%Aa": "\xAA",
-      "%aA": "\xAA",
-      "%AA": "\xAA",
-      "%ab": "\xAB",
-      "%Ab": "\xAB",
-      "%aB": "\xAB",
-      "%AB": "\xAB",
-      "%ac": "\xAC",
-      "%Ac": "\xAC",
-      "%aC": "\xAC",
-      "%AC": "\xAC",
-      "%ad": "\xAD",
-      "%Ad": "\xAD",
-      "%aD": "\xAD",
-      "%AD": "\xAD",
-      "%ae": "\xAE",
-      "%Ae": "\xAE",
-      "%aE": "\xAE",
-      "%AE": "\xAE",
-      "%af": "\xAF",
-      "%Af": "\xAF",
-      "%aF": "\xAF",
-      "%AF": "\xAF",
-      "%b0": "\xB0",
-      "%B0": "\xB0",
-      "%b1": "\xB1",
-      "%B1": "\xB1",
-      "%b2": "\xB2",
-      "%B2": "\xB2",
-      "%b3": "\xB3",
-      "%B3": "\xB3",
-      "%b4": "\xB4",
-      "%B4": "\xB4",
-      "%b5": "\xB5",
-      "%B5": "\xB5",
-      "%b6": "\xB6",
-      "%B6": "\xB6",
-      "%b7": "\xB7",
-      "%B7": "\xB7",
-      "%b8": "\xB8",
-      "%B8": "\xB8",
-      "%b9": "\xB9",
-      "%B9": "\xB9",
-      "%ba": "\xBA",
-      "%Ba": "\xBA",
-      "%bA": "\xBA",
-      "%BA": "\xBA",
-      "%bb": "\xBB",
-      "%Bb": "\xBB",
-      "%bB": "\xBB",
-      "%BB": "\xBB",
-      "%bc": "\xBC",
-      "%Bc": "\xBC",
-      "%bC": "\xBC",
-      "%BC": "\xBC",
-      "%bd": "\xBD",
-      "%Bd": "\xBD",
-      "%bD": "\xBD",
-      "%BD": "\xBD",
-      "%be": "\xBE",
-      "%Be": "\xBE",
-      "%bE": "\xBE",
-      "%BE": "\xBE",
-      "%bf": "\xBF",
-      "%Bf": "\xBF",
-      "%bF": "\xBF",
-      "%BF": "\xBF",
-      "%c0": "\xC0",
-      "%C0": "\xC0",
-      "%c1": "\xC1",
-      "%C1": "\xC1",
-      "%c2": "\xC2",
-      "%C2": "\xC2",
-      "%c3": "\xC3",
-      "%C3": "\xC3",
-      "%c4": "\xC4",
-      "%C4": "\xC4",
-      "%c5": "\xC5",
-      "%C5": "\xC5",
-      "%c6": "\xC6",
-      "%C6": "\xC6",
-      "%c7": "\xC7",
-      "%C7": "\xC7",
-      "%c8": "\xC8",
-      "%C8": "\xC8",
-      "%c9": "\xC9",
-      "%C9": "\xC9",
-      "%ca": "\xCA",
-      "%Ca": "\xCA",
-      "%cA": "\xCA",
-      "%CA": "\xCA",
-      "%cb": "\xCB",
-      "%Cb": "\xCB",
-      "%cB": "\xCB",
-      "%CB": "\xCB",
-      "%cc": "\xCC",
-      "%Cc": "\xCC",
-      "%cC": "\xCC",
-      "%CC": "\xCC",
-      "%cd": "\xCD",
-      "%Cd": "\xCD",
-      "%cD": "\xCD",
-      "%CD": "\xCD",
-      "%ce": "\xCE",
-      "%Ce": "\xCE",
-      "%cE": "\xCE",
-      "%CE": "\xCE",
-      "%cf": "\xCF",
-      "%Cf": "\xCF",
-      "%cF": "\xCF",
-      "%CF": "\xCF",
-      "%d0": "\xD0",
-      "%D0": "\xD0",
-      "%d1": "\xD1",
-      "%D1": "\xD1",
-      "%d2": "\xD2",
-      "%D2": "\xD2",
-      "%d3": "\xD3",
-      "%D3": "\xD3",
-      "%d4": "\xD4",
-      "%D4": "\xD4",
-      "%d5": "\xD5",
-      "%D5": "\xD5",
-      "%d6": "\xD6",
-      "%D6": "\xD6",
-      "%d7": "\xD7",
-      "%D7": "\xD7",
-      "%d8": "\xD8",
-      "%D8": "\xD8",
-      "%d9": "\xD9",
-      "%D9": "\xD9",
-      "%da": "\xDA",
-      "%Da": "\xDA",
-      "%dA": "\xDA",
-      "%DA": "\xDA",
-      "%db": "\xDB",
-      "%Db": "\xDB",
-      "%dB": "\xDB",
-      "%DB": "\xDB",
-      "%dc": "\xDC",
-      "%Dc": "\xDC",
-      "%dC": "\xDC",
-      "%DC": "\xDC",
-      "%dd": "\xDD",
-      "%Dd": "\xDD",
-      "%dD": "\xDD",
-      "%DD": "\xDD",
-      "%de": "\xDE",
-      "%De": "\xDE",
-      "%dE": "\xDE",
-      "%DE": "\xDE",
-      "%df": "\xDF",
-      "%Df": "\xDF",
-      "%dF": "\xDF",
-      "%DF": "\xDF",
-      "%e0": "\xE0",
-      "%E0": "\xE0",
-      "%e1": "\xE1",
-      "%E1": "\xE1",
-      "%e2": "\xE2",
-      "%E2": "\xE2",
-      "%e3": "\xE3",
-      "%E3": "\xE3",
-      "%e4": "\xE4",
-      "%E4": "\xE4",
-      "%e5": "\xE5",
-      "%E5": "\xE5",
-      "%e6": "\xE6",
-      "%E6": "\xE6",
-      "%e7": "\xE7",
-      "%E7": "\xE7",
-      "%e8": "\xE8",
-      "%E8": "\xE8",
-      "%e9": "\xE9",
-      "%E9": "\xE9",
-      "%ea": "\xEA",
-      "%Ea": "\xEA",
-      "%eA": "\xEA",
-      "%EA": "\xEA",
-      "%eb": "\xEB",
-      "%Eb": "\xEB",
-      "%eB": "\xEB",
-      "%EB": "\xEB",
-      "%ec": "\xEC",
-      "%Ec": "\xEC",
-      "%eC": "\xEC",
-      "%EC": "\xEC",
-      "%ed": "\xED",
-      "%Ed": "\xED",
-      "%eD": "\xED",
-      "%ED": "\xED",
-      "%ee": "\xEE",
-      "%Ee": "\xEE",
-      "%eE": "\xEE",
-      "%EE": "\xEE",
-      "%ef": "\xEF",
-      "%Ef": "\xEF",
-      "%eF": "\xEF",
-      "%EF": "\xEF",
-      "%f0": "\xF0",
-      "%F0": "\xF0",
-      "%f1": "\xF1",
-      "%F1": "\xF1",
-      "%f2": "\xF2",
-      "%F2": "\xF2",
-      "%f3": "\xF3",
-      "%F3": "\xF3",
-      "%f4": "\xF4",
-      "%F4": "\xF4",
-      "%f5": "\xF5",
-      "%F5": "\xF5",
-      "%f6": "\xF6",
-      "%F6": "\xF6",
-      "%f7": "\xF7",
-      "%F7": "\xF7",
-      "%f8": "\xF8",
-      "%F8": "\xF8",
-      "%f9": "\xF9",
-      "%F9": "\xF9",
-      "%fa": "\xFA",
-      "%Fa": "\xFA",
-      "%fA": "\xFA",
-      "%FA": "\xFA",
-      "%fb": "\xFB",
-      "%Fb": "\xFB",
-      "%fB": "\xFB",
-      "%FB": "\xFB",
-      "%fc": "\xFC",
-      "%Fc": "\xFC",
-      "%fC": "\xFC",
-      "%FC": "\xFC",
-      "%fd": "\xFD",
-      "%Fd": "\xFD",
-      "%fD": "\xFD",
-      "%FD": "\xFD",
-      "%fe": "\xFE",
-      "%Fe": "\xFE",
-      "%fE": "\xFE",
-      "%FE": "\xFE",
-      "%ff": "\xFF",
-      "%Ff": "\xFF",
-      "%fF": "\xFF",
-      "%FF": "\xFF"
-    };
-    function encodedReplacer(match) {
-      return EncodedLookup[match];
-    }
-    var STATE_KEY = 0;
-    var STATE_VALUE = 1;
-    var STATE_CHARSET = 2;
-    var STATE_LANG = 3;
-    function parseParams(str2) {
-      const res = [];
-      let state = STATE_KEY;
-      let charset = "";
-      let inquote = false;
-      let escaping = false;
-      let p = 0;
-      let tmp = "";
-      const len = str2.length;
-      for (var i = 0; i < len; ++i) {
-        const char = str2[i];
-        if (char === "\\" && inquote) {
-          if (escaping) {
-            escaping = false;
-          } else {
-            escaping = true;
-            continue;
-          }
-        } else if (char === '"') {
-          if (!escaping) {
-            if (inquote) {
-              inquote = false;
-              state = STATE_KEY;
-            } else {
-              inquote = true;
+      let headerName = headerNameLowerCasedRecord[key];
+      if (headerName === void 0) {
+        headerName = key.toLowerCase();
+        if (headerNameLowerCasedRecord[headerName] === void 0 && !isValidHTTPToken(headerName)) {
+          throw new InvalidArgumentError("invalid header key");
+        }
+      }
+      if (Array.isArray(val)) {
+        const arr = [];
+        for (let i = 0; i < val.length; i++) {
+          if (typeof val[i] === "string") {
+            if (!isValidHeaderValue(val[i])) {
+              throw new InvalidArgumentError(`invalid ${key} header`);
             }
-            continue;
+            arr.push(val[i]);
+          } else if (val[i] === null) {
+            arr.push("");
+          } else if (typeof val[i] === "object") {
+            throw new InvalidArgumentError(`invalid ${key} header`);
           } else {
-            escaping = false;
-          }
-        } else {
-          if (escaping && inquote) {
-            tmp += "\\";
-          }
-          escaping = false;
-          if ((state === STATE_CHARSET || state === STATE_LANG) && char === "'") {
-            if (state === STATE_CHARSET) {
-              state = STATE_LANG;
-              charset = tmp.substring(1);
-            } else {
-              state = STATE_VALUE;
-            }
-            tmp = "";
-            continue;
-          } else if (state === STATE_KEY && (char === "*" || char === "=") && res.length) {
-            state = char === "*" ? STATE_CHARSET : STATE_VALUE;
-            res[p] = [tmp, void 0];
-            tmp = "";
-            continue;
-          } else if (!inquote && char === ";") {
-            state = STATE_KEY;
-            if (charset) {
-              if (tmp.length) {
-                tmp = decodeText(
-                  tmp.replace(RE_ENCODED, encodedReplacer),
-                  "binary",
-                  charset
-                );
-              }
-              charset = "";
-            } else if (tmp.length) {
-              tmp = decodeText(tmp, "binary", "utf8");
-            }
-            if (res[p] === void 0) {
-              res[p] = tmp;
-            } else {
-              res[p][1] = tmp;
-            }
-            tmp = "";
-            ++p;
-            continue;
-          } else if (!inquote && (char === " " || char === "	")) {
-            continue;
+            arr.push(`${val[i]}`);
           }
         }
-        tmp += char;
-      }
-      if (charset && tmp.length) {
-        tmp = decodeText(
-          tmp.replace(RE_ENCODED, encodedReplacer),
-          "binary",
-          charset
-        );
-      } else if (tmp) {
-        tmp = decodeText(tmp, "binary", "utf8");
+        val = arr;
+      } else if (typeof val === "string") {
+        if (!isValidHeaderValue(val)) {
+          throw new InvalidArgumentError(`invalid ${key} header`);
+        }
+      } else if (val === null) {
+        val = "";
+      } else {
+        val = `${val}`;
       }
-      if (res[p] === void 0) {
-        if (tmp) {
-          res[p] = tmp;
+      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 {
-        res[p][1] = tmp;
+        request2.headers.push(key, val);
       }
-      return res;
     }
-    module2.exports = parseParams;
+    module2.exports = Request;
   }
 });
 
-// node_modules/@fastify/busboy/lib/utils/basename.js
-var require_basename = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/basename.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js
+var require_dispatcher2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js"(exports2, module2) {
     "use strict";
-    module2.exports = function basename(path3) {
-      if (typeof path3 !== "string") {
-        return "";
+    var EventEmitter = require("node:events");
+    var Dispatcher = class extends EventEmitter {
+      dispatch() {
+        throw new Error("not implemented");
+      }
+      close() {
+        throw new Error("not implemented");
       }
-      for (var i = path3.length - 1; i >= 0; --i) {
-        switch (path3.charCodeAt(i)) {
-          case 47:
-          // '/'
-          case 92:
-            path3 = path3.slice(i + 1);
-            return path3 === ".." || path3 === "." ? "" : path3;
+      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);
+      }
+    };
+    var ComposedDispatcher = class extends Dispatcher {
+      #dispatcher = null;
+      #dispatch = null;
+      constructor(dispatcher, dispatch) {
+        super();
+        this.#dispatcher = dispatcher;
+        this.#dispatch = dispatch;
+      }
+      dispatch(...args) {
+        this.#dispatch(...args);
+      }
+      close(...args) {
+        return this.#dispatcher.close(...args);
+      }
+      destroy(...args) {
+        return this.#dispatcher.destroy(...args);
       }
-      return path3 === ".." || path3 === "." ? "" : path3;
     };
+    module2.exports = Dispatcher;
   }
 });
 
-// node_modules/@fastify/busboy/lib/types/multipart.js
-var require_multipart = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/multipart.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js
+var require_dispatcher_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js"(exports2, module2) {
     "use strict";
-    var { Readable } = require("node:stream");
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var parseParams = require_parseParams();
-    var decodeText = require_decodeText();
-    var basename = require_basename();
-    var getLimit = require_getLimit();
-    var RE_BOUNDARY = /^boundary$/i;
-    var RE_FIELD = /^form-data$/i;
-    var RE_CHARSET = /^charset$/i;
-    var RE_FILENAME = /^filename$/i;
-    var RE_NAME = /^name$/i;
-    Multipart.detect = /^multipart\/form-data/i;
-    function Multipart(boy, cfg) {
-      let i;
-      let len;
-      const self2 = this;
-      let boundary;
-      const limits = cfg.limits;
-      const isPartAFile = cfg.isPartAFile || ((fieldName, contentType, fileName) => contentType === "application/octet-stream" || fileName !== void 0);
-      const parsedConType = cfg.parsedConType || [];
-      const defCharset = cfg.defCharset || "utf8";
-      const preservePath = cfg.preservePath;
-      const fileOpts = { highWaterMark: cfg.fileHwm };
-      for (i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_BOUNDARY.test(parsedConType[i][0])) {
-          boundary = parsedConType[i][1];
-          break;
-        }
+    var Dispatcher = require_dispatcher2();
+    var {
+      ClientDestroyedError,
+      ClientClosedError,
+      InvalidArgumentError
+    } = require_errors2();
+    var { kDestroy, kClose, kClosed, kDestroyed, kDispatch, kInterceptors } = require_symbols6();
+    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
+    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
+    var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
+    var DispatcherBase = class extends Dispatcher {
+      constructor() {
+        super();
+        this[kDestroyed] = false;
+        this[kOnDestroyed] = null;
+        this[kClosed] = false;
+        this[kOnClosed] = [];
       }
-      function checkFinished() {
-        if (nends === 0 && finished && !boy._done) {
-          finished = false;
-          self2.end();
-        }
+      get destroyed() {
+        return this[kDestroyed];
       }
-      if (typeof boundary !== "string") {
-        throw new Error("Multipart: Boundary not found");
+      get closed() {
+        return this[kClosed];
       }
-      const fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      const fileSizeLimit = getLimit(limits, "fileSize", Infinity);
-      const filesLimit = getLimit(limits, "files", Infinity);
-      const fieldsLimit = getLimit(limits, "fields", Infinity);
-      const partsLimit = getLimit(limits, "parts", Infinity);
-      const headerPairsLimit = getLimit(limits, "headerPairs", 2e3);
-      const headerSizeLimit = getLimit(limits, "headerSize", 80 * 1024);
-      let nfiles = 0;
-      let nfields = 0;
-      let nends = 0;
-      let curFile;
-      let curField;
-      let finished = false;
-      this._needDrain = false;
-      this._pause = false;
-      this._cb = void 0;
-      this._nparts = 0;
-      this._boy = boy;
-      const parserCfg = {
-        boundary,
-        maxHeaderPairs: headerPairsLimit,
-        maxHeaderSize: headerSizeLimit,
-        partHwm: fileOpts.highWaterMark,
-        highWaterMark: cfg.highWaterMark
-      };
-      this.parser = new Dicer(parserCfg);
-      this.parser.on("drain", function() {
-        self2._needDrain = false;
-        if (self2._cb && !self2._pause) {
-          const cb = self2._cb;
-          self2._cb = void 0;
-          cb();
-        }
-      }).on("part", function onPart(part) {
-        if (++self2._nparts > partsLimit) {
-          self2.parser.removeListener("part", onPart);
-          self2.parser.on("part", skipPart);
-          boy.hitPartsLimit = true;
-          boy.emit("partsLimit");
-          return skipPart(part);
-        }
-        if (curField) {
-          const field = curField;
-          field.emit("end");
-          field.removeAllListeners("end");
-        }
-        part.on("header", function(header) {
-          let contype;
-          let fieldname;
-          let parsed;
-          let charset;
-          let encoding;
-          let filename;
-          let nsize = 0;
-          if (header["content-type"]) {
-            parsed = parseParams(header["content-type"][0]);
-            if (parsed[0]) {
-              contype = parsed[0].toLowerCase();
-              for (i = 0, len = parsed.length; i < len; ++i) {
-                if (RE_CHARSET.test(parsed[i][0])) {
-                  charset = parsed[i][1].toLowerCase();
-                  break;
-                }
-              }
+      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");
             }
           }
-          if (contype === void 0) {
-            contype = "text/plain";
-          }
-          if (charset === void 0) {
-            charset = defCharset;
-          }
-          if (header["content-disposition"]) {
-            parsed = parseParams(header["content-disposition"][0]);
-            if (!RE_FIELD.test(parsed[0])) {
-              return skipPart(part);
-            }
-            for (i = 0, len = parsed.length; i < len; ++i) {
-              if (RE_NAME.test(parsed[i][0])) {
-                fieldname = parsed[i][1];
-              } else if (RE_FILENAME.test(parsed[i][0])) {
-                filename = parsed[i][1];
-                if (!preservePath) {
-                  filename = basename(filename);
-                }
-              }
-            }
+        }
+        this[kInterceptors] = newInterceptors;
+      }
+      close(callback) {
+        if (callback === void 0) {
+          return new Promise((resolve2, reject) => {
+            this.close((err, data) => {
+              return err ? reject(err) : resolve2(data);
+            });
+          });
+        }
+        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 {
-            return skipPart(part);
+            queueMicrotask(() => callback(null, null));
           }
-          if (header["content-transfer-encoding"]) {
-            encoding = header["content-transfer-encoding"][0].toLowerCase();
-          } else {
-            encoding = "7bit";
-          }
-          let onData, onEnd;
-          if (isPartAFile(fieldname, contype, filename)) {
-            if (nfiles === filesLimit) {
-              if (!boy.hitFilesLimit) {
-                boy.hitFilesLimit = true;
-                boy.emit("filesLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfiles;
-            if (boy.listenerCount("file") === 0) {
-              self2.parser._ignore();
-              return;
-            }
-            ++nends;
-            const file = new FileStream(fileOpts);
-            curFile = file;
-            file.on("end", function() {
-              --nends;
-              self2._pause = false;
-              checkFinished();
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
+          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);
+        });
+      }
+      destroy(err, callback) {
+        if (typeof err === "function") {
+          callback = err;
+          err = null;
+        }
+        if (callback === void 0) {
+          return new Promise((resolve2, reject) => {
+            this.destroy(err, (err2, data) => {
+              return err2 ? (
+                /* istanbul ignore next: should never error */
+                reject(err2)
+              ) : resolve2(data);
             });
-            file._read = function(n) {
-              if (!self2._pause) {
-                return;
-              }
-              self2._pause = false;
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            };
-            boy.emit("file", fieldname, file, filename, encoding, contype);
-            onData = function(data) {
-              if ((nsize += data.length) > fileSizeLimit) {
-                const extralen = fileSizeLimit - nsize + data.length;
-                if (extralen > 0) {
-                  file.push(data.slice(0, extralen));
-                }
-                file.truncated = true;
-                file.bytesRead = fileSizeLimit;
-                part.removeAllListeners("data");
-                file.emit("limit");
-                return;
-              } else if (!file.push(data)) {
-                self2._pause = true;
-              }
-              file.bytesRead = nsize;
-            };
-            onEnd = function() {
-              curFile = void 0;
-              file.push(null);
-            };
+          });
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        if (this[kDestroyed]) {
+          if (this[kOnDestroyed]) {
+            this[kOnDestroyed].push(callback);
           } else {
-            if (nfields === fieldsLimit) {
-              if (!boy.hitFieldsLimit) {
-                boy.hitFieldsLimit = true;
-                boy.emit("fieldsLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfields;
-            ++nends;
-            let buffer = "";
-            let truncated = false;
-            curField = part;
-            onData = function(data) {
-              if ((nsize += data.length) > fieldSizeLimit) {
-                const extralen = fieldSizeLimit - (nsize - data.length);
-                buffer += data.toString("binary", 0, extralen);
-                truncated = true;
-                part.removeAllListeners("data");
-              } else {
-                buffer += data.toString("binary");
-              }
-            };
-            onEnd = function() {
-              curField = void 0;
-              if (buffer.length) {
-                buffer = decodeText(buffer, "binary", charset);
-              }
-              boy.emit("field", fieldname, buffer, false, truncated, encoding, contype);
-              --nends;
-              checkFinished();
-            };
+            queueMicrotask(() => callback(null, null));
           }
-          part._readableState.sync = false;
-          part.on("data", onData);
-          part.on("end", onEnd);
-        }).on("error", function(err) {
-          if (curFile) {
-            curFile.emit("error", err);
+          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);
         });
-      }).on("error", function(err) {
-        boy.emit("error", err);
-      }).on("finish", function() {
-        finished = true;
-        checkFinished();
-      });
-    }
-    Multipart.prototype.write = function(chunk, cb) {
-      const r = this.parser.write(chunk);
-      if (r && !this._pause) {
-        cb();
-      } else {
-        this._needDrain = !r;
-        this._cb = cb;
       }
-    };
-    Multipart.prototype.end = function() {
-      const self2 = this;
-      if (self2.parser.writable) {
-        self2.parser.end();
-      } else if (!self2._boy._done) {
-        process.nextTick(function() {
-          self2._boy._done = true;
-          self2._boy.emit("finish");
-        });
+      [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;
+        }
       }
     };
-    function skipPart(part) {
-      part.resume();
-    }
-    function FileStream(opts) {
-      Readable.call(this, opts);
-      this.bytesRead = 0;
-      this.truncated = false;
-    }
-    inherits(FileStream, Readable);
-    FileStream.prototype._read = function(n) {
-    };
-    module2.exports = Multipart;
+    module2.exports = DispatcherBase;
   }
 });
 
-// node_modules/@fastify/busboy/lib/utils/Decoder.js
-var require_Decoder = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/Decoder.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/util/timers.js
+var require_timers2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/util/timers.js"(exports2, module2) {
     "use strict";
-    var RE_PLUS = /\+/g;
-    var HEX = [
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0
-    ];
-    function Decoder() {
-      this.buffer = void 0;
-    }
-    Decoder.prototype.write = function(str2) {
-      str2 = str2.replace(RE_PLUS, " ");
-      let res = "";
-      let i = 0;
-      let p = 0;
-      const len = str2.length;
-      for (; i < len; ++i) {
-        if (this.buffer !== void 0) {
-          if (!HEX[str2.charCodeAt(i)]) {
-            res += "%" + this.buffer;
-            this.buffer = void 0;
-            --i;
-          } else {
-            this.buffer += str2[i];
-            ++p;
-            if (this.buffer.length === 2) {
-              res += String.fromCharCode(parseInt(this.buffer, 16));
-              this.buffer = void 0;
-            }
-          }
-        } else if (str2[i] === "%") {
-          if (i > p) {
-            res += str2.substring(p, i);
-            p = i;
+    var fastNow = 0;
+    var RESOLUTION_MS = 1e3;
+    var TICK_MS = (RESOLUTION_MS >> 1) - 1;
+    var fastNowTimeout;
+    var kFastTimer = /* @__PURE__ */ 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];
           }
-          this.buffer = "";
-          ++p;
+        } else {
+          ++idx;
         }
       }
-      if (p < len && this.buffer === void 0) {
-        res += str2.substring(p);
+      fastTimers.length = len;
+      if (fastTimers.length !== 0) {
+        refreshTimeout();
       }
-      return res;
-    };
-    Decoder.prototype.reset = function() {
-      this.buffer = void 0;
-    };
-    module2.exports = Decoder;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/types/urlencoded.js
-var require_urlencoded = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/urlencoded.js"(exports2, module2) {
-    "use strict";
-    var Decoder = require_Decoder();
-    var decodeText = require_decodeText();
-    var getLimit = require_getLimit();
-    var RE_CHARSET = /^charset$/i;
-    UrlEncoded.detect = /^application\/x-www-form-urlencoded/i;
-    function UrlEncoded(boy, cfg) {
-      const limits = cfg.limits;
-      const parsedConType = cfg.parsedConType;
-      this.boy = boy;
-      this.fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      this.fieldNameSizeLimit = getLimit(limits, "fieldNameSize", 100);
-      this.fieldsLimit = getLimit(limits, "fields", Infinity);
-      let charset;
-      for (var i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_CHARSET.test(parsedConType[i][0])) {
-          charset = parsedConType[i][1].toLowerCase();
-          break;
+    }
+    function refreshTimeout() {
+      if (fastNowTimeout) {
+        fastNowTimeout.refresh();
+      } else {
+        clearTimeout(fastNowTimeout);
+        fastNowTimeout = setTimeout(onTick, TICK_MS);
+        if (fastNowTimeout.unref) {
+          fastNowTimeout.unref();
         }
       }
-      if (charset === void 0) {
-        charset = cfg.defCharset || "utf8";
-      }
-      this.decoder = new Decoder();
-      this.charset = charset;
-      this._fields = 0;
-      this._state = "key";
-      this._checkingBytes = true;
-      this._bytesKey = 0;
-      this._bytesVal = 0;
-      this._key = "";
-      this._val = "";
-      this._keyTrunc = false;
-      this._valTrunc = false;
-      this._hitLimit = false;
-    }
-    UrlEncoded.prototype.write = function(data, cb) {
-      if (this._fields === this.fieldsLimit) {
-        if (!this.boy.hitFieldsLimit) {
-          this.boy.hitFieldsLimit = true;
-          this.boy.emit("fieldsLimit");
-        }
-        return cb();
-      }
-      let idxeq;
-      let idxamp;
-      let i;
-      let p = 0;
-      const len = data.length;
-      while (p < len) {
-        if (this._state === "key") {
-          idxeq = idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 61) {
-              idxeq = i;
-              break;
-            } else if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesKey === this.fieldNameSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesKey;
-            }
-          }
-          if (idxeq !== void 0) {
-            if (idxeq > p) {
-              this._key += this.decoder.write(data.toString("binary", p, idxeq));
-            }
-            this._state = "val";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._val = "";
-            this._bytesVal = 0;
-            this._valTrunc = false;
-            this.decoder.reset();
-            p = idxeq + 1;
-          } else if (idxamp !== void 0) {
-            ++this._fields;
-            let key;
-            const keyTrunc = this._keyTrunc;
-            if (idxamp > p) {
-              key = this._key += this.decoder.write(data.toString("binary", p, idxamp));
-            } else {
-              key = this._key;
-            }
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            if (key.length) {
-              this.boy.emit(
-                "field",
-                decodeText(key, "binary", this.charset),
-                "",
-                keyTrunc,
-                false
-              );
-            }
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._key += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if ((this._bytesKey = this._key.length) === this.fieldNameSizeLimit) {
-              this._checkingBytes = false;
-              this._keyTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._key += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
-          }
+    }
+    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, delay2, arg) {
+        this._onTimeout = callback;
+        this._idleTimeout = delay2;
+        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, delay2, arg) {
+        return delay2 <= RESOLUTION_MS ? setTimeout(callback, delay2, arg) : new FastTimer(callback, delay2, 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 {
-          idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 38) {
-              idxamp = i;
-              break;
+          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, delay2, arg) {
+        return new FastTimer(callback, delay2, 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(delay2 = 0) {
+        fastNow += delay2 - 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/github/node_modules/undici/lib/core/connect.js
+var require_connect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/connect.js"(exports2, module2) {
+    "use strict";
+    var net = require("node:net");
+    var assert = require("node:assert");
+    var util = require_util10();
+    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
+    var timers = require_timers2();
+    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;
             }
-            if (this._checkingBytes && this._bytesVal === this.fieldSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesVal;
+            const ref = this._sessionCache.get(key);
+            if (ref !== void 0 && ref.deref() === void 0) {
+              this._sessionCache.delete(key);
             }
+          });
+        }
+        get(sessionKey) {
+          const ref = this._sessionCache.get(sessionKey);
+          return ref ? ref.deref() : null;
+        }
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
-          if (idxamp !== void 0) {
-            ++this._fields;
-            if (idxamp > p) {
-              this._val += this.decoder.write(data.toString("binary", p, idxamp));
-            }
-            this.boy.emit(
-              "field",
-              decodeText(this._key, "binary", this.charset),
-              decodeText(this._val, "binary", this.charset),
-              this._keyTrunc,
-              this._valTrunc
-            );
-            this._state = "key";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._val += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if (this._val === "" && this.fieldSizeLimit === 0 || (this._bytesVal = this._val.length) === this.fieldSizeLimit) {
-              this._checkingBytes = false;
-              this._valTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._val += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+          this._sessionCache.set(sessionKey, new WeakRef(session));
+          this._sessionRegistry.register(session, sessionKey);
+        }
+      };
+    } else {
+      SessionCache = class SimpleSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
+        }
+        get(sessionKey) {
+          return this._sessionCache.get(sessionKey);
+        }
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
+          }
+          if (this._sessionCache.size >= this._maxCachedSessions) {
+            const { value: oldestKey } = this._sessionCache.keys().next();
+            this._sessionCache.delete(oldestKey);
+          }
+          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");
           }
+          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;
       }
-      cb();
+      let s1 = null;
+      const fastTimer = timers.setFastTimeout(() => {
+        s1 = setImmediate(() => {
+          onConnectTimeout(socketWeakRef.deref(), opts);
+        });
+      }, opts.timeout);
+      return () => {
+        timers.clearFastTimeout(fastTimer);
+        clearImmediate(s1);
+      };
     };
-    UrlEncoded.prototype.end = function() {
-      if (this.boy._done) {
+    function onConnectTimeout(socket, opts) {
+      if (socket == null) {
         return;
       }
-      if (this._state === "key" && this._key.length > 0) {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          "",
-          this._keyTrunc,
-          false
-        );
-      } else if (this._state === "val") {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          decodeText(this._val, "binary", this.charset),
-          this._keyTrunc,
-          this._valTrunc
-        );
+      let message = "Connect Timeout Error";
+      if (Array.isArray(socket.autoSelectFamilyAttemptedAddresses)) {
+        message += ` (attempted addresses: ${socket.autoSelectFamilyAttemptedAddresses.join(", ")},`;
+      } else {
+        message += ` (attempted address: ${opts.hostname}:${opts.port},`;
       }
-      this.boy._done = true;
-      this.boy.emit("finish");
-    };
-    module2.exports = UrlEncoded;
+      message += ` timeout: ${opts.timeout}ms)`;
+      util.destroy(socket, new ConnectTimeoutError(message));
+    }
+    module2.exports = buildConnector;
   }
 });
 
-// node_modules/@fastify/busboy/lib/main.js
-var require_main = __commonJS({
-  "node_modules/@fastify/busboy/lib/main.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js
+var require_utils3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js"(exports2) {
     "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var MultipartParser = require_multipart();
-    var UrlencodedParser = require_urlencoded();
-    var parseParams = require_parseParams();
-    function Busboy(opts) {
-      if (!(this instanceof Busboy)) {
-        return new Busboy(opts);
-      }
-      if (typeof opts !== "object") {
-        throw new TypeError("Busboy expected an options-Object.");
-      }
-      if (typeof opts.headers !== "object") {
-        throw new TypeError("Busboy expected an options-Object with headers-attribute.");
-      }
-      if (typeof opts.headers["content-type"] !== "string") {
-        throw new TypeError("Missing Content-Type-header.");
-      }
-      const {
-        headers,
-        ...streamOptions
-      } = opts;
-      this.opts = {
-        autoDestroy: false,
-        ...streamOptions
-      };
-      WritableStream.call(this, this.opts);
-      this._done = false;
-      this._parser = this.getParserByHeaders(headers);
-      this._finished = false;
-    }
-    inherits(Busboy, WritableStream);
-    Busboy.prototype.emit = function(ev) {
-      if (ev === "finish") {
-        if (!this._done) {
-          this._parser?.end();
-          return;
-        } else if (this._finished) {
-          return;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.enumToMap = void 0;
+    function enumToMap(obj) {
+      const res = {};
+      Object.keys(obj).forEach((key) => {
+        const value = obj[key];
+        if (typeof value === "number") {
+          res[key] = value;
         }
-        this._finished = true;
-      }
-      WritableStream.prototype.emit.apply(this, arguments);
-    };
-    Busboy.prototype.getParserByHeaders = function(headers) {
-      const parsed = parseParams(headers["content-type"]);
-      const cfg = {
-        defCharset: this.opts.defCharset,
-        fileHwm: this.opts.fileHwm,
-        headers,
-        highWaterMark: this.opts.highWaterMark,
-        isPartAFile: this.opts.isPartAFile,
-        limits: this.opts.limits,
-        parsedConType: parsed,
-        preservePath: this.opts.preservePath
-      };
-      if (MultipartParser.detect.test(parsed[0])) {
-        return new MultipartParser(this, cfg);
-      }
-      if (UrlencodedParser.detect.test(parsed[0])) {
-        return new UrlencodedParser(this, cfg);
-      }
-      throw new Error("Unsupported Content-Type.");
-    };
-    Busboy.prototype._write = function(chunk, encoding, cb) {
-      this._parser.write(chunk, cb);
-    };
-    module2.exports = Busboy;
-    module2.exports.default = Busboy;
-    module2.exports.Busboy = Busboy;
-    module2.exports.Dicer = Dicer;
+      });
+      return res;
+    }
+    exports2.enumToMap = enumToMap;
   }
 });
 
-// node_modules/undici/lib/fetch/constants.js
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js
 var require_constants7 = __commonJS({
-  "node_modules/undici/lib/fetch/constants.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js"(exports2) {
     "use strict";
-    var { MessageChannel, receiveMessageOnPort } = require("worker_threads");
-    var corsSafeListedMethods = ["GET", "HEAD", "POST"];
-    var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
-    var nullBodyStatus = [101, 204, 205, 304];
-    var redirectStatus = [301, 302, 303, 307, 308];
-    var redirectStatusSet = new Set(redirectStatus);
-    var badPorts = [
-      "1",
-      "7",
-      "9",
-      "11",
-      "13",
-      "15",
-      "17",
-      "19",
-      "20",
-      "21",
-      "22",
-      "23",
-      "25",
-      "37",
-      "42",
-      "43",
-      "53",
-      "69",
-      "77",
-      "79",
-      "87",
-      "95",
-      "101",
-      "102",
-      "103",
-      "104",
-      "109",
-      "110",
-      "111",
-      "113",
-      "115",
-      "117",
-      "119",
-      "123",
-      "135",
-      "137",
-      "139",
-      "143",
-      "161",
-      "179",
-      "389",
-      "427",
-      "465",
-      "512",
-      "513",
-      "514",
-      "515",
-      "526",
-      "530",
-      "531",
-      "532",
-      "540",
-      "548",
-      "554",
-      "556",
-      "563",
-      "587",
-      "601",
-      "636",
-      "989",
-      "990",
-      "993",
-      "995",
-      "1719",
-      "1720",
-      "1723",
-      "2049",
-      "3659",
-      "4045",
-      "5060",
-      "5061",
-      "6000",
-      "6566",
-      "6665",
-      "6666",
-      "6667",
-      "6668",
-      "6669",
-      "6697",
-      "10080"
-    ];
-    var badPortsSet = new Set(badPorts);
-    var referrerPolicy = [
-      "",
-      "no-referrer",
-      "no-referrer-when-downgrade",
-      "same-origin",
-      "origin",
-      "strict-origin",
-      "origin-when-cross-origin",
-      "strict-origin-when-cross-origin",
-      "unsafe-url"
-    ];
-    var referrerPolicySet = new Set(referrerPolicy);
-    var requestRedirect = ["follow", "manual", "error"];
-    var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"];
-    var safeMethodsSet = new Set(safeMethods);
-    var requestMode = ["navigate", "same-origin", "no-cors", "cors"];
-    var requestCredentials = ["omit", "same-origin", "include"];
-    var requestCache = [
-      "default",
-      "no-store",
-      "reload",
-      "no-cache",
-      "force-cache",
-      "only-if-cached"
-    ];
-    var requestBodyHeader = [
-      "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"
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
+    var utils_1 = require_utils3();
+    var ERROR;
+    (function(ERROR2) {
+      ERROR2[ERROR2["OK"] = 0] = "OK";
+      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
+      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
+      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
+      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
+      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
+      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
+      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
+      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
+      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
+      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
+      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
+      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
+      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
+      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
+      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
+      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
+      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
+      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
+      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
+      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
+      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
+      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
+      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
+      ERROR2[ERROR2["USER"] = 24] = "USER";
+    })(ERROR = 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
     ];
-    var requestDuplex = [
-      "half"
+    exports2.METHODS_ICE = [
+      METHODS.SOURCE
     ];
-    var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"];
-    var forbiddenMethodsSet = new Set(forbiddenMethods);
-    var subresource = [
-      "audio",
-      "audioworklet",
-      "font",
-      "image",
-      "manifest",
-      "paintworklet",
-      "script",
-      "style",
-      "track",
-      "video",
-      "xslt",
-      ""
+    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
     ];
-    var subresourceSet = new Set(subresource);
-    var DOMException2 = globalThis.DOMException ?? (() => {
-      try {
-        atob("~");
-      } catch (err) {
-        return Object.getPrototypeOf(err).constructor;
-      }
-    })();
-    var channel;
-    var structuredClone = globalThis.structuredClone ?? // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js
-    // structuredClone was added in v17.0.0, but fetch supports v16.8
-    function structuredClone2(value, options = void 0) {
-      if (arguments.length === 0) {
-        throw new TypeError("missing argument");
-      }
-      if (!channel) {
-        channel = new MessageChannel();
+    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];
       }
-      channel.port1.unref();
-      channel.port2.unref();
-      channel.port1.postMessage(value, options?.transfer);
-      return receiveMessageOnPort(channel.port2).message;
+    });
+    var FINISH;
+    (function(FINISH2) {
+      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
+      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
+      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
+    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
+    exports2.ALPHA = [];
+    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
+      exports2.ALPHA.push(String.fromCharCode(i));
+      exports2.ALPHA.push(String.fromCharCode(i + 32));
+    }
+    exports2.NUM_MAP = {
+      0: 0,
+      1: 1,
+      2: 2,
+      3: 3,
+      4: 4,
+      5: 5,
+      6: 6,
+      7: 7,
+      8: 8,
+      9: 9
     };
-    module2.exports = {
-      DOMException: DOMException2,
-      structuredClone,
-      subresource,
-      forbiddenMethods,
-      requestBodyHeader,
-      referrerPolicy,
-      requestRedirect,
-      requestMode,
-      requestCredentials,
-      requestCache,
-      redirectStatus,
-      corsSafeListedMethods,
-      nullBodyStatus,
-      safeMethods,
-      badPorts,
-      requestDuplex,
-      subresourceSet,
-      badPortsSet,
-      redirectStatusSet,
-      corsSafeListedMethodsSet,
-      safeMethodsSet,
-      forbiddenMethodsSet,
-      referrerPolicySet
+    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
     };
-  }
-});
-
-// node_modules/undici/lib/fetch/global.js
-var require_global3 = __commonJS({
-  "node_modules/undici/lib/fetch/global.js"(exports2, module2) {
-    "use strict";
-    var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
-    function getGlobalOrigin() {
-      return globalThis[globalOrigin];
+    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);
     }
-    function setGlobalOrigin(newOrigin) {
-      if (newOrigin === void 0) {
-        Object.defineProperty(globalThis, globalOrigin, {
-          value: void 0,
-          writable: true,
-          enumerable: false,
-          configurable: false
-        });
-        return;
-      }
-      const parsedURL = new URL(newOrigin);
-      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
-        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
+    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);
       }
-      Object.defineProperty(globalThis, globalOrigin, {
-        value: parsedURL,
-        writable: true,
-        enumerable: false,
-        configurable: false
-      });
     }
-    module2.exports = {
-      getGlobalOrigin,
-      setGlobalOrigin
+    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/fetch/util.js
-var require_util11 = __commonJS({
-  "node_modules/undici/lib/fetch/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js
+var require_llhttp_wasm2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
     "use strict";
-    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants7();
-    var { getGlobalOrigin } = require_global3();
-    var { performance: performance2 } = require("perf_hooks");
-    var { isBlobLike, toUSVString, ReadableStreamFrom } = require_util10();
-    var assert = require("assert");
-    var { isUint8Array } = require("util/types");
-    var supportedHashes = [];
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
-      supportedHashes = crypto2.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");
-      if (location !== null && isValidHeaderValue(location)) {
-        location = new URL(location, responseURL(response));
-      }
-      if (location && !location.hash) {
-        location.hash = requestFragment;
-      }
-      return location;
-    }
-    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;
-    }
-    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;
-      }
-    }
-    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 true;
-    }
-    function isValidHeaderName(potentialValue) {
-      return isValidHTTPToken(potentialValue);
-    }
-    function isValidHeaderValue(potentialValue) {
-      if (potentialValue.startsWith("	") || potentialValue.startsWith(" ") || potentialValue.endsWith("	") || potentialValue.endsWith(" ")) {
-        return false;
-      }
-      if (potentialValue.includes("\0") || potentialValue.includes("\r") || potentialValue.includes("\n")) {
-        return false;
-      }
-      return true;
-    }
-    function setRequestReferrerPolicyOnRedirect(request2, actualResponse) {
-      const { headersList } = actualResponse;
-      const policyHeader = (headersList.get("referrer-policy") ?? "").split(",");
-      let policy = "";
-      if (policyHeader.length > 0) {
-        for (let i = policyHeader.length; i !== 0; i--) {
-          const token = policyHeader[i - 1].trim();
-          if (referrerPolicyTokens.has(token)) {
-            policy = token;
-            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);
-    }
-    function appendRequestOriginHeader(request2) {
-      let serializedOrigin = request2.origin;
-      if (request2.responseTainting === "cors" || request2.mode === "websocket") {
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
-        }
-      } 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:
-        }
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
-        }
-      }
-    }
-    function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
-      return performance2.now();
-    }
-    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"
-      };
+    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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CABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv", "base64");
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
+var require_llhttp_simd_wasm2 = __commonJS({
+  "node_modules/@actions/github/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/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADDsYBAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHyAhIyUmKCorLC8wMTIzNDU2Nzk6Ozw9lANAQkRFRklLTk9QUVJTVFVWWFpbXF1eX2BhYmNkZWZnaGpsb3Bxc3V2eHl6e3x/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAccByAHJAcsBzAHNAc4BzwGKA4kDiAOHA4QDgwOAA/sC+gL5AvgC9wL0AvMC8gLLAsECsALZAQsgASAERw3wAkHdASEDDLMDCyABIARHDcgBQcMBIQMMsgMLIAEgBEcNe0H3ACEDDLEDCyABIARHDXBB7wAhAwywAwsgASAERw1pQeoAIQMMrwMLIAEgBEcNZUHoACEDDK4DCyABIARHDWJB5gAhAwytAwsgASAERw0aQRghAwysAwsgASAERw0VQRIhAwyrAwsgASAERw1CQcUAIQMMqgMLIAEgBEcNNEE/IQMMqQMLIAEgBEcNMkE8IQMMqAMLIAEgBEcNK0ExIQMMpwMLIAItAC5BAUYNnwMMwQILQQAhAAJAAkACQCACLQAqRQ0AIAItACtFDQAgAi8BMCIDQQJxRQ0BDAILIAIvATAiA0EBcUUNAQtBASEAIAItAChBAUYNACACLwEyIgVB5ABrQeQASQ0AIAVBzAFGDQAgBUGwAkYNACADQcAAcQ0AQQAhACADQYgEcUGABEYNACADQShxQQBHIQALIAJBADsBMCACQQA6AC8gAEUN3wIgAkIANwMgDOACC0EAIQACQCACKAI4IgNFDQAgAygCLCIDRQ0AIAIgAxEAACEACyAARQ3MASAAQRVHDd0CIAJBBDYCHCACIAE2AhQgAkGwGDYCECACQRU2AgxBACEDDKQDCyABIARGBEBBBiEDDKQDCyABQQFqIQFBACEAAkAgAigCOCIDRQ0AIAMoAlQiA0UNACACIAMRAAAhAAsgAA3ZAgwcCyACQgA3AyBBEiEDDIkDCyABIARHDRZBHSEDDKEDCyABIARHBEAgAUEBaiEBQRAhAwyIAwtBByEDDKADCyACIAIpAyAiCiAEIAFrrSILfSIMQgAgCiAMWhs3AyAgCiALWA3UAkEIIQMMnwMLIAEgBEcEQCACQQk2AgggAiABNgIEQRQhAwyGAwtBCSEDDJ4DCyACKQMgQgBSDccBIAIgAi8BMEGAAXI7ATAMQgsgASAERw0/QdAAIQMMnAMLIAEgBEYEQEELIQMMnAMLIAFBAWohAUEAIQACQCACKAI4IgNFDQAgAygCUCIDRQ0AIAIgAxEAACEACyAADc8CDMYBC0EAIQACQCACKAI4IgNFDQAgAygCSCIDRQ0AIAIgAxEAACEACyAARQ3GASAAQRVHDc0CIAJBCzYCHCACIAE2AhQgAkGCGTYCECACQRU2AgxBACEDDJoDC0EAIQACQCACKAI4IgNFDQAgAygCSCIDRQ0AIAIgAxEAACEACyAARQ0MIABBFUcNygIgAkEaNgIcIAIgATYCFCACQYIZNgIQIAJBFTYCDEEAIQMMmQMLQQAhAAJAIAIoAjgiA0UNACADKAJMIgNFDQAgAiADEQAAIQALIABFDcQBIABBFUcNxwIgAkELNgIcIAIgATYCFCACQZEXNgIQIAJBFTYCDEEAIQMMmAMLIAEgBEYEQEEPIQMMmAMLIAEtAAAiAEE7Rg0HIABBDUcNxAIgAUEBaiEBDMMBC0EAIQACQCACKAI4IgNFDQAgAygCTCIDRQ0AIAIgAxEAACEACyAARQ3DASAAQRVHDcICIAJBDzYCHCACIAE2AhQgAkGRFzYCECACQRU2AgxBACEDDJYDCwNAIAEtAABB8DVqLQAAIgBBAUcEQCAAQQJHDcECIAIoAgQhAEEAIQMgAkEANgIEIAIgACABQQFqIgEQLSIADcICDMUBCyAEIAFBAWoiAUcNAAtBEiEDDJUDC0EAIQACQCACKAI4IgNFDQAgAygCTCIDRQ0AIAIgAxEAACEACyAARQ3FASAAQRVHDb0CIAJBGzYCHCACIAE2AhQgAkGRFzYCECACQRU2AgxBACEDDJQDCyABIARGBEBBFiEDDJQDCyACQQo2AgggAiABNgIEQQAhAAJAIAIoAjgiA0UNACADKAJIIgNFDQAgAiADEQAAIQALIABFDcIBIABBFUcNuQIgAkEVNgIcIAIgATYCFCACQYIZNgIQIAJBFTYCDEEAIQMMkwMLIAEgBEcEQANAIAEtAABB8DdqLQAAIgBBAkcEQAJAIABBAWsOBMQCvQIAvgK9AgsgAUEBaiEBQQghAwz8AgsgBCABQQFqIgFHDQALQRUhAwyTAwtBFSEDDJIDCwNAIAEtAABB8DlqLQAAIgBBAkcEQCAAQQFrDgTFArcCwwK4ArcCCyAEIAFBAWoiAUcNAAtBGCEDDJEDCyABIARHBEAgAkELNgIIIAIgATYCBEEHIQMM+AILQRkhAwyQAwsgAUEBaiEBDAILIAEgBEYEQEEaIQMMjwMLAkAgAS0AAEENaw4UtQG/Ab8BvwG/Ab8BvwG/Ab8BvwG/Ab8BvwG/Ab8BvwG/Ab8BvwEAvwELQQAhAyACQQA2AhwgAkGvCzYCECACQQI2AgwgAiABQQFqNgIUDI4DCyABIARGBEBBGyEDDI4DCyABLQAAIgBBO0cEQCAAQQ1HDbECIAFBAWohAQy6AQsgAUEBaiEBC0EiIQMM8wILIAEgBEYEQEEcIQMMjAMLQgAhCgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAS0AAEEwaw43wQLAAgABAgMEBQYH0AHQAdAB0AHQAdAB0AEICQoLDA3QAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdABDg8QERIT0AELQgIhCgzAAgtCAyEKDL8CC0IEIQoMvgILQgUhCgy9AgtCBiEKDLwCC0IHIQoMuwILQgghCgy6AgtCCSEKDLkCC0IKIQoMuAILQgshCgy3AgtCDCEKDLYCC0INIQoMtQILQg4hCgy0AgtCDyEKDLMCC0IKIQoMsgILQgshCgyxAgtCDCEKDLACC0INIQoMrwILQg4hCgyuAgtCDyEKDK0CC0IAIQoCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEtAABBMGsON8ACvwIAAQIDBAUGB74CvgK+Ar4CvgK+Ar4CCAkKCwwNvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ag4PEBESE74CC0ICIQoMvwILQgMhCgy+AgtCBCEKDL0CC0IFIQoMvAILQgYhCgy7AgtCByEKDLoCC0IIIQoMuQILQgkhCgy4AgtCCiEKDLcCC0ILIQoMtgILQgwhCgy1AgtCDSEKDLQCC0IOIQoMswILQg8hCgyyAgtCCiEKDLECC0ILIQoMsAILQgwhCgyvAgtCDSEKDK4CC0IOIQoMrQILQg8hCgysAgsgAiACKQMgIgogBCABa60iC30iDEIAIAogDFobNwMgIAogC1gNpwJBHyEDDIkDCyABIARHBEAgAkEJNgIIIAIgATYCBEElIQMM8AILQSAhAwyIAwtBASEFIAIvATAiA0EIcUUEQCACKQMgQgBSIQULAkAgAi0ALgRAQQEhACACLQApQQVGDQEgA0HAAHFFIAVxRQ0BC0EAIQAgA0HAAHENAEECIQAgA0EIcQ0AIANBgARxBEACQCACLQAoQQFHDQAgAi0ALUEKcQ0AQQUhAAwCC0EEIQAMAQsgA0EgcUUEQAJAIAItAChBAUYNACACLwEyIgBB5ABrQeQASQ0AIABBzAFGDQAgAEGwAkYNAEEEIQAgA0EocUUNAiADQYgEcUGABEYNAgtBACEADAELQQBBAyACKQMgUBshAAsgAEEBaw4FvgIAsAEBpAKhAgtBESEDDO0CCyACQQE6AC8MhAMLIAEgBEcNnQJBJCEDDIQDCyABIARHDRxBxgAhAwyDAwtBACEAAkAgAigCOCIDRQ0AIAMoAkQiA0UNACACIAMRAAAhAAsgAEUNJyAAQRVHDZgCIAJB0AA2AhwgAiABNgIUIAJBkRg2AhAgAkEVNgIMQQAhAwyCAwsgASAERgRAQSghAwyCAwtBACEDIAJBADYCBCACQQw2AgggAiABIAEQKiIARQ2UAiACQSc2AhwgAiABNgIUIAIgADYCDAyBAwsgASAERgRAQSkhAwyBAwsgAS0AACIAQSBGDRMgAEEJRw2VAiABQQFqIQEMFAsgASAERwRAIAFBAWohAQwWC0EqIQMM/wILIAEgBEYEQEErIQMM/wILIAEtAAAiAEEJRyAAQSBHcQ2QAiACLQAsQQhHDd0CIAJBADoALAzdAgsgASAERgRAQSwhAwz+AgsgAS0AAEEKRw2OAiABQQFqIQEMsAELIAEgBEcNigJBLyEDDPwCCwNAIAEtAAAiAEEgRwRAIABBCmsOBIQCiAKIAoQChgILIAQgAUEBaiIBRw0AC0ExIQMM+wILQTIhAyABIARGDfoCIAIoAgAiACAEIAFraiEHIAEgAGtBA2ohBgJAA0AgAEHwO2otAAAgAS0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQEgAEEDRgRAQQYhAQziAgsgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAc2AgAM+wILIAJBADYCAAyGAgtBMyEDIAQgASIARg35AiAEIAFrIAIoAgAiAWohByAAIAFrQQhqIQYCQANAIAFB9DtqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBCEYEQEEFIQEM4QILIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADPoCCyACQQA2AgAgACEBDIUCC0E0IQMgBCABIgBGDfgCIAQgAWsgAigCACIBaiEHIAAgAWtBBWohBgJAA0AgAUHQwgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBBUYEQEEHIQEM4AILIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADPkCCyACQQA2AgAgACEBDIQCCyABIARHBEADQCABLQAAQYA+ai0AACIAQQFHBEAgAEECRg0JDIECCyAEIAFBAWoiAUcNAAtBMCEDDPgCC0EwIQMM9wILIAEgBEcEQANAIAEtAAAiAEEgRwRAIABBCmsOBP8B/gH+Af8B/gELIAQgAUEBaiIBRw0AC0E4IQMM9wILQTghAwz2AgsDQCABLQAAIgBBIEcgAEEJR3EN9gEgBCABQQFqIgFHDQALQTwhAwz1AgsDQCABLQAAIgBBIEcEQAJAIABBCmsOBPkBBAT5AQALIABBLEYN9QEMAwsgBCABQQFqIgFHDQALQT8hAwz0AgtBwAAhAyABIARGDfMCIAIoAgAiACAEIAFraiEFIAEgAGtBBmohBgJAA0AgAEGAQGstAAAgAS0AAEEgckcNASAAQQZGDdsCIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADPQCCyACQQA2AgALQTYhAwzZAgsgASAERgRAQcEAIQMM8gILIAJBDDYCCCACIAE2AgQgAi0ALEEBaw4E+wHuAewB6wHUAgsgAUEBaiEBDPoBCyABIARHBEADQAJAIAEtAAAiAEEgciAAIABBwQBrQf8BcUEaSRtB/wFxIgBBCUYNACAAQSBGDQACQAJAAkACQCAAQeMAaw4TAAMDAwMDAwMBAwMDAwMDAwMDAgMLIAFBAWohAUExIQMM3AILIAFBAWohAUEyIQMM2wILIAFBAWohAUEzIQMM2gILDP4BCyAEIAFBAWoiAUcNAAtBNSEDDPACC0E1IQMM7wILIAEgBEcEQANAIAEtAABBgDxqLQAAQQFHDfcBIAQgAUEBaiIBRw0AC0E9IQMM7wILQT0hAwzuAgtBACEAAkAgAigCOCIDRQ0AIAMoAkAiA0UNACACIAMRAAAhAAsgAEUNASAAQRVHDeYBIAJBwgA2AhwgAiABNgIUIAJB4xg2AhAgAkEVNgIMQQAhAwztAgsgAUEBaiEBC0E8IQMM0gILIAEgBEYEQEHCACEDDOsCCwJAA0ACQCABLQAAQQlrDhgAAswCzALRAswCzALMAswCzALMAswCzALMAswCzALMAswCzALMAswCzALMAgDMAgsgBCABQQFqIgFHDQALQcIAIQMM6wILIAFBAWohASACLQAtQQFxRQ3+AQtBLCEDDNACCyABIARHDd4BQcQAIQMM6AILA0AgAS0AAEGQwABqLQAAQQFHDZwBIAQgAUEBaiIBRw0AC0HFACEDDOcCCyABLQAAIgBBIEYN/gEgAEE6Rw3AAiACKAIEIQBBACEDIAJBADYCBCACIAAgARApIgAN3gEM3QELQccAIQMgBCABIgBGDeUCIAQgAWsgAigCACIBaiEHIAAgAWtBBWohBgNAIAFBkMIAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNvwIgAUEFRg3CAiABQQFqIQEgBCAAQQFqIgBHDQALIAIgBzYCAAzlAgtByAAhAyAEIAEiAEYN5AIgBCABayACKAIAIgFqIQcgACABa0EJaiEGA0AgAUGWwgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw2+AkECIAFBCUYNwgIaIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADOQCCyABIARGBEBByQAhAwzkAgsCQAJAIAEtAAAiAEEgciAAIABBwQBrQf8BcUEaSRtB/wFxQe4Aaw4HAL8CvwK/Ar8CvwIBvwILIAFBAWohAUE+IQMMywILIAFBAWohAUE/IQMMygILQcoAIQMgBCABIgBGDeICIAQgAWsgAigCACIBaiEGIAAgAWtBAWohBwNAIAFBoMIAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNvAIgAUEBRg2+AiABQQFqIQEgBCAAQQFqIgBHDQALIAIgBjYCAAziAgtBywAhAyAEIAEiAEYN4QIgBCABayACKAIAIgFqIQcgACABa0EOaiEGA0AgAUGiwgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw27AiABQQ5GDb4CIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADOECC0HMACEDIAQgASIARg3gAiAEIAFrIAIoAgAiAWohByAAIAFrQQ9qIQYDQCABQcDCAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDboCQQMgAUEPRg2+AhogAUEBaiEBIAQgAEEBaiIARw0ACyACIAc2AgAM4AILQc0AIQMgBCABIgBGDd8CIAQgAWsgAigCACIBaiEHIAAgAWtBBWohBgNAIAFB0MIAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNuQJBBCABQQVGDb0CGiABQQFqIQEgBCAAQQFqIgBHDQALIAIgBzYCAAzfAgsgASAERgRAQc4AIQMM3wILAkACQAJAAkAgAS0AACIAQSByIAAgAEHBAGtB/wFxQRpJG0H/AXFB4wBrDhMAvAK8ArwCvAK8ArwCvAK8ArwCvAK8ArwCAbwCvAK8AgIDvAILIAFBAWohAUHBACEDDMgCCyABQQFqIQFBwgAhAwzHAgsgAUEBaiEBQcMAIQMMxgILIAFBAWohAUHEACEDDMUCCyABIARHBEAgAkENNgIIIAIgATYCBEHFACEDDMUCC0HPACEDDN0CCwJAAkAgAS0AAEEKaw4EAZABkAEAkAELIAFBAWohAQtBKCEDDMMCCyABIARGBEBB0QAhAwzcAgsgAS0AAEEgRw0AIAFBAWohASACLQAtQQFxRQ3QAQtBFyEDDMECCyABIARHDcsBQdIAIQMM2QILQdMAIQMgASAERg3YAiACKAIAIgAgBCABa2ohBiABIABrQQFqIQUDQCABLQAAIABB1sIAai0AAEcNxwEgAEEBRg3KASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBjYCAAzYAgsgASAERgRAQdUAIQMM2AILIAEtAABBCkcNwgEgAUEBaiEBDMoBCyABIARGBEBB1gAhAwzXAgsCQAJAIAEtAABBCmsOBADDAcMBAcMBCyABQQFqIQEMygELIAFBAWohAUHKACEDDL0CC0EAIQACQCACKAI4IgNFDQAgAygCPCIDRQ0AIAIgAxEAACEACyAADb8BQc0AIQMMvAILIAItAClBIkYNzwIMiQELIAQgASIFRgRAQdsAIQMM1AILQQAhAEEBIQFBASEGQQAhAwJAAn8CQAJAAkACQAJAAkACQCAFLQAAQTBrDgrFAcQBAAECAwQFBgjDAQtBAgwGC0EDDAULQQQMBAtBBQwDC0EGDAILQQcMAQtBCAshA0EAIQFBACEGDL0BC0EJIQNBASEAQQAhAUEAIQYMvAELIAEgBEYEQEHdACEDDNMCCyABLQAAQS5HDbgBIAFBAWohAQyIAQsgASAERw22AUHfACEDDNECCyABIARHBEAgAkEONgIIIAIgATYCBEHQACEDDLgCC0HgACEDDNACC0HhACEDIAEgBEYNzwIgAigCACIAIAQgAWtqIQUgASAAa0EDaiEGA0AgAS0AACAAQeLCAGotAABHDbEBIABBA0YNswEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMzwILQeIAIQMgASAERg3OAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYDQCABLQAAIABB5sIAai0AAEcNsAEgAEECRg2vASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAzOAgtB4wAhAyABIARGDc0CIAIoAgAiACAEIAFraiEFIAEgAGtBA2ohBgNAIAEtAAAgAEHpwgBqLQAARw2vASAAQQNGDa0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADM0CCyABIARGBEBB5QAhAwzNAgsgAUEBaiEBQQAhAAJAIAIoAjgiA0UNACADKAIwIgNFDQAgAiADEQAAIQALIAANqgFB1gAhAwyzAgsgASAERwRAA0AgAS0AACIAQSBHBEACQAJAAkAgAEHIAGsOCwABswGzAbMBswGzAbMBswGzAQKzAQsgAUEBaiEBQdIAIQMMtwILIAFBAWohAUHTACEDDLYCCyABQQFqIQFB1AAhAwy1AgsgBCABQQFqIgFHDQALQeQAIQMMzAILQeQAIQMMywILA0AgAS0AAEHwwgBqLQAAIgBBAUcEQCAAQQJrDgOnAaYBpQGkAQsgBCABQQFqIgFHDQALQeYAIQMMygILIAFBAWogASAERw0CGkHnACEDDMkCCwNAIAEtAABB8MQAai0AACIAQQFHBEACQCAAQQJrDgSiAaEBoAEAnwELQdcAIQMMsQILIAQgAUEBaiIBRw0AC0HoACEDDMgCCyABIARGBEBB6QAhAwzIAgsCQCABLQAAIgBBCmsOGrcBmwGbAbQBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBpAGbAZsBAJkBCyABQQFqCyEBQQYhAwytAgsDQCABLQAAQfDGAGotAABBAUcNfSAEIAFBAWoiAUcNAAtB6gAhAwzFAgsgAUEBaiABIARHDQIaQesAIQMMxAILIAEgBEYEQEHsACEDDMQCCyABQQFqDAELIAEgBEYEQEHtACEDDMMCCyABQQFqCyEBQQQhAwyoAgsgASAERgRAQe4AIQMMwQILAkACQAJAIAEtAABB8MgAai0AAEEBaw4HkAGPAY4BAHwBAo0BCyABQQFqIQEMCwsgAUEBagyTAQtBACEDIAJBADYCHCACQZsSNgIQIAJBBzYCDCACIAFBAWo2AhQMwAILAkADQCABLQAAQfDIAGotAAAiAEEERwRAAkACQCAAQQFrDgeUAZMBkgGNAQAEAY0BC0HaACEDDKoCCyABQQFqIQFB3AAhAwypAgsgBCABQQFqIgFHDQALQe8AIQMMwAILIAFBAWoMkQELIAQgASIARgRAQfAAIQMMvwILIAAtAABBL0cNASAAQQFqIQEMBwsgBCABIgBGBEBB8QAhAwy+AgsgAC0AACIBQS9GBEAgAEEBaiEBQd0AIQMMpQILIAFBCmsiA0EWSw0AIAAhAUEBIAN0QYmAgAJxDfkBC0EAIQMgAkEANgIcIAIgADYCFCACQYwcNgIQIAJBBzYCDAy8AgsgASAERwRAIAFBAWohAUHeACEDDKMCC0HyACEDDLsCCyABIARGBEBB9AAhAwy7AgsCQCABLQAAQfDMAGotAABBAWsOA/cBcwCCAQtB4QAhAwyhAgsgASAERwRAA0AgAS0AAEHwygBqLQAAIgBBA0cEQAJAIABBAWsOAvkBAIUBC0HfACEDDKMCCyAEIAFBAWoiAUcNAAtB8wAhAwy6AgtB8wAhAwy5AgsgASAERwRAIAJBDzYCCCACIAE2AgRB4AAhAwygAgtB9QAhAwy4AgsgASAERgRAQfYAIQMMuAILIAJBDzYCCCACIAE2AgQLQQMhAwydAgsDQCABLQAAQSBHDY4CIAQgAUEBaiIBRw0AC0H3ACEDDLUCCyABIARGBEBB+AAhAwy1AgsgAS0AAEEgRw16IAFBAWohAQxbC0EAIQACQCACKAI4IgNFDQAgAygCOCIDRQ0AIAIgAxEAACEACyAADXgMgAILIAEgBEYEQEH6ACEDDLMCCyABLQAAQcwARw10IAFBAWohAUETDHYLQfsAIQMgASAERg2xAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYDQCABLQAAIABB8M4Aai0AAEcNcyAAQQVGDXUgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMsQILIAEgBEYEQEH8ACEDDLECCwJAAkAgAS0AAEHDAGsODAB0dHR0dHR0dHR0AXQLIAFBAWohAUHmACEDDJgCCyABQQFqIQFB5wAhAwyXAgtB/QAhAyABIARGDa8CIAIoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQe3PAGotAABHDXIgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADLACCyACQQA2AgAgBkEBaiEBQRAMcwtB/gAhAyABIARGDa4CIAIoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQfbOAGotAABHDXEgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADK8CCyACQQA2AgAgBkEBaiEBQRYMcgtB/wAhAyABIARGDa0CIAIoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQfzOAGotAABHDXAgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADK4CCyACQQA2AgAgBkEBaiEBQQUMcQsgASAERgRAQYABIQMMrQILIAEtAABB2QBHDW4gAUEBaiEBQQgMcAsgASAERgRAQYEBIQMMrAILAkACQCABLQAAQc4Aaw4DAG8BbwsgAUEBaiEBQesAIQMMkwILIAFBAWohAUHsACEDDJICCyABIARGBEBBggEhAwyrAgsCQAJAIAEtAABByABrDggAbm5ubm5uAW4LIAFBAWohAUHqACEDDJICCyABQQFqIQFB7QAhAwyRAgtBgwEhAyABIARGDakCIAIoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQYDPAGotAABHDWwgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADKoCCyACQQA2AgAgBkEBaiEBQQAMbQtBhAEhAyABIARGDagCIAIoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQYPPAGotAABHDWsgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADKkCCyACQQA2AgAgBkEBaiEBQSMMbAsgASAERgRAQYUBIQMMqAILAkACQCABLQAAQcwAaw4IAGtra2trawFrCyABQQFqIQFB7wAhAwyPAgsgAUEBaiEBQfAAIQMMjgILIAEgBEYEQEGGASEDDKcCCyABLQAAQcUARw1oIAFBAWohAQxgC0GHASEDIAEgBEYNpQIgAigCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBiM8Aai0AAEcNaCAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMpgILIAJBADYCACAGQQFqIQFBLQxpC0GIASEDIAEgBEYNpAIgAigCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABB0M8Aai0AAEcNZyAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMpQILIAJBADYCACAGQQFqIQFBKQxoCyABIARGBEBBiQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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AAADAEGUCAsFBAAAAAUAQaQICwkGAAAABwAAAAgAQdwIC4otSW52YWxpZCBjaGFyIGluIHVybCBxdWVyeQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2JvZHkAQ29udGVudC1MZW5ndGggb3ZlcmZsb3cAQ2h1bmsgc2l6ZSBvdmVyZmxvdwBSZXNwb25zZSBvdmVyZmxvdwBJbnZhbGlkIG1ldGhvZCBmb3IgSFRUUC94LnggcmVxdWVzdABJbnZhbGlkIG1ldGhvZCBmb3IgUlRTUC94LnggcmVxdWVzdABFeHBlY3RlZCBTT1VSQ0UgbWV0aG9kIGZvciBJQ0UveC54IHJlcXVlc3QASW52YWxpZCBjaGFyIGluIHVybCBmcmFnbWVudCBzdGFydABFeHBlY3RlZCBkb3QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9zdGF0dXMASW52YWxpZCByZXNwb25zZSBzdGF0dXMASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucwBVc2VyIGNhbGxiYWNrIGVycm9yAGBvbl9yZXNldGAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2hlYWRlcmAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfYmVnaW5gIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwBB+TULAQEAQZA2C+ABAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQf03CwEBAEGROAteAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgBB/TkLAQEAQZE6C14CAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEHwOwsNbG9zZWVlcC1hbGl2ZQBBiTwLAQEAQaA8C+ABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQYk+CwEBAEGgPgvnAQEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZABBsMAAC18BAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBBkMIACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQcDCAAstcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQoNClNNDQoNClRUUC9DRS9UU1AvAEH5wgALBQECAAEDAEGQwwAL4AEEAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cQACwUBAgABAwBBkMUAC+ABBAEBBQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQfnGAAsEAQAAAQBBkccAC98BAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+sgACwQBAAACAEGQyQALXwMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAEH6ygALBAEAAAEAQZDLAAsBAQBBqssAC0ECAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB+swACwQBAAABAEGQzQALAQEAQZrNAAsGAgAAAAACAEGxzQALOgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQfDOAAuWAU5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==", "base64");
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/constants.js
+var require_constants8 = __commonJS({
+  "node_modules/@actions/github/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/@actions/github/node_modules/undici/lib/web/fetch/global.js
+var require_global3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/global.js"(exports2, module2) {
+    "use strict";
+    var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
+    function getGlobalOrigin() {
+      return globalThis[globalOrigin];
     }
-    function clonePolicyContainer(policyContainer) {
-      return {
-        referrerPolicy: policyContainer.referrerPolicy
-      };
+    function setGlobalOrigin(newOrigin) {
+      if (newOrigin === void 0) {
+        Object.defineProperty(globalThis, globalOrigin, {
+          value: void 0,
+          writable: true,
+          enumerable: false,
+          configurable: false
+        });
+        return;
+      }
+      const parsedURL = new URL(newOrigin);
+      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
+        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
+      }
+      Object.defineProperty(globalThis, globalOrigin, {
+        value: parsedURL,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
     }
-    function 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";
+    module2.exports = {
+      getGlobalOrigin,
+      setGlobalOrigin
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js
+var require_data_url2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var encoder = new TextEncoder();
+    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+\-.^_|~A-Za-z0-9]+$/;
+    var HTTP_WHITESPACE_REGEX = /[\u000A\u000D\u0009\u0020]/;
+    var ASCII_WHITESPACE_REPLACE_REGEX = /[\u0009\u000A\u000C\u000D\u0020]/g;
+    var HTTP_QUOTED_STRING_TOKENS = /^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;
+    function dataURLProcessor(dataURL) {
+      assert(dataURL.protocol === "data:");
+      let input = URLSerializer(dataURL, true);
+      input = input.slice(5);
+      const position = { position: 0 };
+      let mimeType = collectASequenceOfCodePointsFast(
+        ",",
+        input,
+        position
+      );
+      const mimeTypeLength = mimeType.length;
+      mimeType = removeASCIIWhitespace(mimeType, true, true);
+      if (position.position >= input.length) {
+        return "failure";
+      }
+      position.position++;
+      const encodedBody = input.slice(mimeTypeLength + 1);
+      let body = stringPercentDecode(encodedBody);
+      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
+        const stringBody = isomorphicDecode(body);
+        body = forgivingBase64(stringBody);
+        if (body === "failure") {
+          return "failure";
         }
-        referrerSource = new URL(globalOrigin);
-      } else if (request2.referrer instanceof URL) {
-        referrerSource = request2.referrer;
+        mimeType = mimeType.slice(0, -6);
+        mimeType = mimeType.replace(/(\u0020)+$/, "");
+        mimeType = mimeType.slice(0, -1);
       }
-      let referrerURL = stripURLForReferrer(referrerSource);
-      const referrerOrigin = stripURLForReferrer(referrerSource, true);
-      if (referrerURL.toString().length > 4096) {
-        referrerURL = referrerOrigin;
+      if (mimeType.startsWith(";")) {
+        mimeType = "text/plain" + mimeType;
       }
-      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":
-        // eslint-disable-line
-        /**
-           * 1. If referrerURL is a potentially trustworthy URL and
-           * request’s current URL is not a potentially trustworthy URL,
-           * then return no referrer.
-           * 2. Return referrerOrigin
-          */
-        case "no-referrer-when-downgrade":
-        // eslint-disable-line
-        /**
-         * 1. If referrerURL is a potentially trustworthy URL and
-         * request’s current URL is not a potentially trustworthy URL,
-         * then return no referrer.
-         * 2. Return referrerOrigin
-        */
-        default:
-          return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
+      let mimeTypeRecord = parseMIMEType(mimeType);
+      if (mimeTypeRecord === "failure") {
+        mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
       }
+      return { mimeType: mimeTypeRecord, body };
     }
-    function stripURLForReferrer(url, originOnly) {
-      assert(url instanceof URL);
-      if (url.protocol === "file:" || url.protocol === "about:" || url.protocol === "blank:") {
-        return "no-referrer";
+    function URLSerializer(url, excludeFragment = false) {
+      if (!excludeFragment) {
+        return url.href;
       }
-      url.username = "";
-      url.password = "";
-      url.hash = "";
-      if (originOnly) {
-        url.pathname = "";
-        url.search = "";
+      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 url;
+      return serialized;
     }
-    function isURLPotentiallyTrustworthy(url) {
-      if (!(url instanceof URL)) {
-        return false;
+    function collectASequenceOfCodePoints(condition, input, position) {
+      let result = "";
+      while (position.position < input.length && condition(input[position.position])) {
+        result += input[position.position];
+        position.position++;
       }
-      if (url.href === "about:blank" || url.href === "about:srcdoc") {
-        return true;
+      return result;
+    }
+    function collectASequenceOfCodePointsFast(char, input, position) {
+      const idx = input.indexOf(char, position.position);
+      const start = position.position;
+      if (idx === -1) {
+        position.position = input.length;
+        return input.slice(start);
       }
-      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;
+      position.position = idx;
+      return input.slice(start, position.position);
+    }
+    function stringPercentDecode(input) {
+      const bytes = encoder.encode(input);
+      return percentDecode(bytes);
+    }
+    function isHexCharByte(byte) {
+      return byte >= 48 && byte <= 57 || byte >= 65 && byte <= 70 || byte >= 97 && byte <= 102;
+    }
+    function hexByteToNumber(byte) {
+      return (
+        // 0-9
+        byte >= 48 && byte <= 57 ? byte - 48 : (byte & 223) - 55
+      );
+    }
+    function 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 false;
       }
+      return length === j ? output : output.subarray(0, j);
     }
-    function bytesMatch(bytes, metadataList) {
-      if (crypto2 === void 0) {
-        return true;
+    function parseMIMEType(input) {
+      input = removeHTTPWhitespace(input, true, true);
+      const position = { position: 0 };
+      const type2 = collectASequenceOfCodePointsFast(
+        "/",
+        input,
+        position
+      );
+      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
+        return "failure";
       }
-      const parsedMetadata = parseMetadata(metadataList);
-      if (parsedMetadata === "no metadata") {
-        return true;
+      if (position.position > input.length) {
+        return "failure";
       }
-      if (parsedMetadata.length === 0) {
-        return true;
+      position.position++;
+      let subtype = collectASequenceOfCodePointsFast(
+        ";",
+        input,
+        position
+      );
+      subtype = removeHTTPWhitespace(subtype, false, true);
+      if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {
+        return "failure";
       }
-      const strongest = getStrongestMetadata(parsedMetadata);
-      const metadata = filterMetadataListByAlgorithm(parsedMetadata, strongest);
-      for (const item of metadata) {
-        const algorithm = item.algo;
-        const expectedValue = item.hash;
-        let actualValue = crypto2.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;
+      const typeLowercase = type2.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++;
         }
-      }
-      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 token of metadata.split(" ")) {
-        empty = false;
-        const parsedToken = parseHashWithOptions.exec(token);
-        if (parsedToken === null || parsedToken.groups === void 0 || parsedToken.groups.algo === void 0) {
-          continue;
+        if (position.position > input.length) {
+          break;
         }
-        const algorithm = parsedToken.groups.algo.toLowerCase();
-        if (supportedHashes.includes(algorithm)) {
-          result.push(parsedToken.groups);
+        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);
         }
       }
-      if (empty === true) {
-        return "no metadata";
-      }
-      return result;
+      return mimeType;
     }
-    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";
+    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;
+          }
         }
       }
-      return algorithm;
-    }
-    function filterMetadataListByAlgorithm(metadataList, algorithm) {
-      if (metadataList.length === 1) {
-        return metadataList;
+      if (dataLength % 4 === 1) {
+        return "failure";
       }
-      let pos = 0;
-      for (let i = 0; i < metadataList.length; ++i) {
-        if (metadataList[i].algo === algorithm) {
-          metadataList[pos++] = metadataList[i];
-        }
+      if (/[^+/0-9A-Za-z]/.test(data.length === dataLength ? data : data.substring(0, dataLength))) {
+        return "failure";
       }
-      metadataList.length = pos;
-      return metadataList;
+      const buffer = Buffer.from(data, "base64");
+      return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);
     }
-    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;
+    function collectAnHTTPQuotedString(input, position, extractValue) {
+      const positionStart = position.position;
+      let value = "";
+      assert(input[position.position] === '"');
+      position.position++;
+      while (true) {
+        value += collectASequenceOfCodePoints(
+          (char) => char !== '"' && char !== "\\",
+          input,
+          position
+        );
+        if (position.position >= input.length) {
+          break;
+        }
+        const quoteOrBackslash = input[position.position];
+        position.position++;
+        if (quoteOrBackslash === "\\") {
+          if (position.position >= input.length) {
+            value += "\\";
+            break;
           }
-          return false;
+          value += input[position.position];
+          position.position++;
+        } else {
+          assert(quoteOrBackslash === '"');
+          break;
         }
       }
-      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;
+      if (extractValue) {
+        return value;
       }
-      return false;
-    }
-    function createDeferredPromise() {
-      let res;
-      let rej;
-      const promise = new Promise((resolve2, reject) => {
-        res = resolve2;
-        rej = reject;
-      });
-      return { promise, resolve: res, reject: rej };
-    }
-    function isAborted(fetchParams) {
-      return fetchParams.controller.state === "aborted";
+      return input.slice(positionStart, position.position);
     }
-    function isCancelled(fetchParams) {
-      return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";
+    function serializeAMimeType(mimeType) {
+      assert(mimeType !== "failure");
+      const { parameters, essence } = mimeType;
+      let serialization = essence;
+      for (let [name, value] of parameters.entries()) {
+        serialization += ";";
+        serialization += name;
+        serialization += "=";
+        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
+          value = value.replace(/(\\|")/g, "\\$1");
+          value = '"' + value;
+          value += '"';
+        }
+        serialization += value;
+      }
+      return serialization;
     }
-    var normalizeMethodRecord = {
-      delete: "DELETE",
-      DELETE: "DELETE",
-      get: "GET",
-      GET: "GET",
-      head: "HEAD",
-      HEAD: "HEAD",
-      options: "OPTIONS",
-      OPTIONS: "OPTIONS",
-      post: "POST",
-      POST: "POST",
-      put: "PUT",
-      PUT: "PUT"
-    };
-    Object.setPrototypeOf(normalizeMethodRecord, null);
-    function normalizeMethod(method) {
-      return normalizeMethodRecord[method.toLowerCase()] ?? method;
+    function isHTTPWhiteSpace(char) {
+      return char === 13 || char === 10 || char === 9 || char === 32;
     }
-    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;
+    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isHTTPWhiteSpace);
     }
-    var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
-    function makeIterator(iterator2, name, kind) {
-      const object = {
-        index: 0,
-        kind,
-        target: iterator2
-      };
-      const i = {
-        next() {
-          if (Object.getPrototypeOf(this) !== i) {
-            throw new TypeError(
-              `'next' called on an object that does not implement interface ${name} Iterator.`
-            );
-          }
-          const { index, kind: kind2, target } = object;
-          const values = target();
-          const len = values.length;
-          if (index >= len) {
-            return { value: void 0, done: true };
-          }
-          const pair = values[index];
-          object.index = index + 1;
-          return iteratorResult(pair, kind2);
-        },
-        // The class string of an iterator prototype object for a given interface is the
-        // result of concatenating the identifier of the interface and the string " Iterator".
-        [Symbol.toStringTag]: `${name} Iterator`
-      };
-      Object.setPrototypeOf(i, esIteratorPrototype);
-      return Object.setPrototypeOf({}, i);
+    function isASCIIWhitespace(char) {
+      return char === 13 || char === 10 || char === 9 || char === 12 || char === 32;
     }
-    function iteratorResult(pair, kind) {
-      let result;
-      switch (kind) {
-        case "key": {
-          result = pair[0];
-          break;
-        }
-        case "value": {
-          result = pair[1];
-          break;
-        }
-        case "key+value": {
-          result = pair;
-          break;
-        }
-      }
-      return { value: result, done: false };
+    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isASCIIWhitespace);
     }
-    async function fullyReadBody(body, processBody, processBodyError) {
-      const successSteps = processBody;
-      const errorSteps = processBodyError;
-      let reader;
-      try {
-        reader = body.stream.getReader();
-      } catch (e) {
-        errorSteps(e);
-        return;
-      }
-      try {
-        const result = await readAllBytes(reader);
-        successSteps(result);
-      } catch (e) {
-        errorSteps(e);
+    function removeChars(str2, leading, trailing, predicate) {
+      let lead = 0;
+      let trail = str2.length - 1;
+      if (leading) {
+        while (lead < str2.length && predicate(str2.charCodeAt(lead))) lead++;
       }
-    }
-    var ReadableStream2 = globalThis.ReadableStream;
-    function isReadableStreamLike(stream) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+      if (trailing) {
+        while (trail > 0 && predicate(str2.charCodeAt(trail))) trail--;
       }
-      return stream instanceof ReadableStream2 || stream[Symbol.toStringTag] === "ReadableStream" && typeof stream.tee === "function";
+      return lead === 0 && trail === str2.length - 1 ? str2 : str2.slice(lead, trail + 1);
     }
-    var MAXIMUM_ARGUMENT_LENGTH = 65535;
     function isomorphicDecode(input) {
-      if (input.length < MAXIMUM_ARGUMENT_LENGTH) {
-        return String.fromCharCode(...input);
+      const length = input.length;
+      if ((2 << 15) - 1 > length) {
+        return String.fromCharCode.apply(null, input);
       }
-      return input.reduce((previous, current) => previous + String.fromCharCode(current), "");
-    }
-    function readableStreamClose(controller) {
-      try {
-        controller.close();
-      } catch (err) {
-        if (!err.message.includes("Controller is already closed")) {
-          throw err;
+      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 isomorphicEncode(input) {
-      for (let i = 0; i < input.length; i++) {
-        assert(input.charCodeAt(i) <= 255);
+    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";
       }
-      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;
+      if (mimeType.subtype.endsWith("+json")) {
+        return "application/json";
       }
-    }
-    function urlIsLocal(url) {
-      assert("protocol" in url);
-      const protocol = url.protocol;
-      return protocol === "about:" || protocol === "blob:" || protocol === "data:";
-    }
-    function urlHasHttpsScheme(url) {
-      if (typeof url === "string") {
-        return url.startsWith("https:");
+      if (mimeType.subtype.endsWith("+xml")) {
+        return "application/xml";
       }
-      return url.protocol === "https:";
-    }
-    function urlIsHttpHttpsScheme(url) {
-      assert("protocol" in url);
-      const protocol = url.protocol;
-      return protocol === "http:" || protocol === "https:";
+      return "";
     }
-    var hasOwn = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key));
-    module2.exports = {
-      isAborted,
-      isCancelled,
-      createDeferredPromise,
-      ReadableStreamFrom,
-      toUSVString,
-      tryUpgradeRequestToAPotentiallyTrustworthyURL,
-      coarsenedSharedCurrentTime,
-      determineRequestsReferrer,
-      makePolicyContainer,
-      clonePolicyContainer,
-      appendFetchMetadata,
-      appendRequestOriginHeader,
-      TAOCheck,
-      corsCheck,
-      crossOriginResourcePolicyCheck,
-      createOpaqueTimingInfo,
-      setRequestReferrerPolicyOnRedirect,
-      isValidHTTPToken,
-      requestBadPort,
-      requestCurrentURL,
-      responseURL,
-      responseLocationURL,
-      isBlobLike,
-      isURLPotentiallyTrustworthy,
-      isValidReasonPhrase,
-      sameOrigin,
-      normalizeMethod,
-      serializeJavascriptValueToJSONString,
-      makeIterator,
-      isValidHeaderName,
-      isValidHeaderValue,
-      hasOwn,
-      isErrorLike,
-      fullyReadBody,
-      bytesMatch,
-      isReadableStreamLike,
-      readableStreamClose,
-      isomorphicEncode,
-      isomorphicDecode,
-      urlIsLocal,
-      urlHasHttpsScheme,
-      urlIsHttpHttpsScheme,
-      readAllBytes,
-      normalizeMethodRecord,
-      parseMetadata
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/symbols.js
-var require_symbols7 = __commonJS({
-  "node_modules/undici/lib/fetch/symbols.js"(exports2, module2) {
-    "use strict";
     module2.exports = {
-      kUrl: /* @__PURE__ */ Symbol("url"),
-      kHeaders: /* @__PURE__ */ Symbol("headers"),
-      kSignal: /* @__PURE__ */ Symbol("signal"),
-      kState: /* @__PURE__ */ Symbol("state"),
-      kGuard: /* @__PURE__ */ Symbol("guard"),
-      kRealm: /* @__PURE__ */ Symbol("realm")
+      dataURLProcessor,
+      URLSerializer,
+      collectASequenceOfCodePoints,
+      collectASequenceOfCodePointsFast,
+      stringPercentDecode,
+      parseMIMEType,
+      collectAnHTTPQuotedString,
+      serializeAMimeType,
+      removeChars,
+      removeHTTPWhitespace,
+      minimizeSupportedMimeType,
+      HTTP_TOKEN_CODEPOINTS,
+      isomorphicDecode
     };
   }
 });
 
-// node_modules/undici/lib/fetch/webidl.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/webidl.js
 var require_webidl2 = __commonJS({
-  "node_modules/undici/lib/fetch/webidl.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/webidl.js"(exports2, module2) {
     "use strict";
-    var { types } = require("util");
-    var { hasOwn, toUSVString } = require_util11();
+    var { types, inspect } = require("node:util");
+    var { markAsUncloneable } = require("node:worker_threads");
+    var { toUSVString } = require_util10();
     var webidl = {};
     webidl.converters = {};
     webidl.util = {};
@@ -43081,18 +42638,26 @@ var require_webidl2 = __commonJS({
         message: `"${context2.value}" is an invalid ${context2.type}.`
       });
     };
-    webidl.brandCheck = function(V, I, opts = void 0) {
-      if (opts?.strict !== false && !(V instanceof I)) {
-        throw new TypeError("Illegal invocation");
+    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 {
-        return V?.[Symbol.toStringTag] === I.prototype[Symbol.toStringTag];
+        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.`,
-          ...ctx
+          header: ctx
         });
       }
     };
@@ -43125,7 +42690,9 @@ var require_webidl2 = __commonJS({
         }
       }
     };
-    webidl.util.ConvertToInt = function(V, bitLength, signedness, opts = {}) {
+    webidl.util.markAsUncloneable = markAsUncloneable || (() => {
+    });
+    webidl.util.ConvertToInt = function(V, bitLength, signedness, opts) {
       let upperBound;
       let lowerBound;
       if (bitLength === 64) {
@@ -43146,11 +42713,11 @@ var require_webidl2 = __commonJS({
       if (x === 0) {
         x = 0;
       }
-      if (opts.enforceRange === true) {
+      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 ${V} to an integer.`
+            message: `Could not convert ${webidl.util.Stringify(V)} to an integer.`
           });
         }
         x = webidl.util.IntegerPart(x);
@@ -43162,7 +42729,7 @@ var require_webidl2 = __commonJS({
         }
         return x;
       }
-      if (!Number.isNaN(x) && opts.clamp === true) {
+      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);
@@ -43188,20 +42755,34 @@ var require_webidl2 = __commonJS({
       }
       return r;
     };
+    webidl.util.Stringify = function(V) {
+      const type2 = webidl.util.Type(V);
+      switch (type2) {
+        case "Symbol":
+          return `Symbol(${V.description})`;
+        case "Object":
+          return inspect(V);
+        case "String":
+          return `"${V}"`;
+        default:
+          return `${V}`;
+      }
+    };
     webidl.sequenceConverter = function(converter) {
-      return (V) => {
+      return (V, prefix, argument, Iterable) => {
         if (webidl.util.Type(V) !== "Object") {
           throw webidl.errors.exception({
-            header: "Sequence",
-            message: `Value of type ${webidl.util.Type(V)} is not an Object.`
+            header: prefix,
+            message: `${argument} (${webidl.util.Stringify(V)}) is not iterable.`
           });
         }
-        const method = V?.[Symbol.iterator]?.();
+        const method = typeof Iterable === "function" ? Iterable() : V?.[Symbol.iterator]?.();
         const seq2 = [];
+        let index = 0;
         if (method === void 0 || typeof method.next !== "function") {
           throw webidl.errors.exception({
-            header: "Sequence",
-            message: "Object is not an iterator."
+            header: prefix,
+            message: `${argument} is not iterable.`
           });
         }
         while (true) {
@@ -43209,25 +42790,25 @@ var require_webidl2 = __commonJS({
           if (done) {
             break;
           }
-          seq2.push(converter(value));
+          seq2.push(converter(value, prefix, `${argument}[${index++}]`));
         }
         return seq2;
       };
     };
     webidl.recordConverter = function(keyConverter, valueConverter) {
-      return (O) => {
+      return (O, prefix, argument) => {
         if (webidl.util.Type(O) !== "Object") {
           throw webidl.errors.exception({
-            header: "Record",
-            message: `Value of type ${webidl.util.Type(O)} is not an Object.`
+            header: prefix,
+            message: `${argument} ("${webidl.util.Type(O)}") is not an Object.`
           });
         }
         const result = {};
         if (!types.isProxy(O)) {
-          const keys2 = Object.keys(O);
+          const keys2 = [...Object.getOwnPropertyNames(O), ...Object.getOwnPropertySymbols(O)];
           for (const key of keys2) {
-            const typedKey = keyConverter(key);
-            const typedValue = valueConverter(O[key]);
+            const typedKey = keyConverter(key, prefix, argument);
+            const typedValue = valueConverter(O[key], prefix, argument);
             result[typedKey] = typedValue;
           }
           return result;
@@ -43236,8 +42817,8 @@ var require_webidl2 = __commonJS({
         for (const key of keys) {
           const desc = Reflect.getOwnPropertyDescriptor(O, key);
           if (desc?.enumerable) {
-            const typedKey = keyConverter(key);
-            const typedValue = valueConverter(O[key]);
+            const typedKey = keyConverter(key, prefix, argument);
+            const typedValue = valueConverter(O[key], prefix, argument);
             result[typedKey] = typedValue;
           }
         }
@@ -43245,48 +42826,48 @@ var require_webidl2 = __commonJS({
       };
     };
     webidl.interfaceConverter = function(i) {
-      return (V, opts = {}) => {
-        if (opts.strict !== false && !(V instanceof i)) {
+      return (V, prefix, argument, opts) => {
+        if (opts?.strict !== false && !(V instanceof i)) {
           throw webidl.errors.exception({
-            header: i.name,
-            message: `Expected ${V} to be an instance of ${i.name}.`
+            header: prefix,
+            message: `Expected ${argument} ("${webidl.util.Stringify(V)}") to be an instance of ${i.name}.`
           });
         }
         return V;
       };
     };
     webidl.dictionaryConverter = function(converters) {
-      return (dictionary) => {
+      return (dictionary, prefix, argument) => {
         const type2 = webidl.util.Type(dictionary);
         const dict = {};
         if (type2 === "Null" || type2 === "Undefined") {
           return dict;
         } else if (type2 !== "Object") {
           throw webidl.errors.exception({
-            header: "Dictionary",
+            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 (!hasOwn(dictionary, key)) {
+            if (!Object.hasOwn(dictionary, key)) {
               throw webidl.errors.exception({
-                header: "Dictionary",
+                header: prefix,
                 message: `Missing required key "${key}".`
               });
             }
           }
           let value = dictionary[key];
-          const hasDefault = hasOwn(options, "defaultValue");
+          const hasDefault = Object.hasOwn(options, "defaultValue");
           if (hasDefault && value !== null) {
-            value = value ?? defaultValue;
+            value ??= defaultValue();
           }
           if (required || hasDefault || value !== void 0) {
-            value = converter(value);
+            value = converter(value, prefix, `${argument}.${key}`);
             if (options.allowedValues && !options.allowedValues.includes(value)) {
               throw webidl.errors.exception({
-                header: "Dictionary",
+                header: prefix,
                 message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
               });
             }
@@ -43297,24 +42878,27 @@ var require_webidl2 = __commonJS({
       };
     };
     webidl.nullableConverter = function(converter) {
-      return (V) => {
+      return (V, prefix, argument) => {
         if (V === null) {
           return V;
         }
-        return converter(V);
+        return converter(V, prefix, argument);
       };
     };
-    webidl.converters.DOMString = function(V, opts = {}) {
-      if (V === null && opts.legacyNullToEmptyString) {
+    webidl.converters.DOMString = function(V, prefix, argument, opts) {
+      if (V === null && opts?.legacyNullToEmptyString) {
         return "";
       }
       if (typeof V === "symbol") {
-        throw new TypeError("Could not convert argument of type symbol to string.");
+        throw webidl.errors.exception({
+          header: prefix,
+          message: `${argument} is a symbol, which cannot be converted to a DOMString.`
+        });
       }
       return String(V);
     };
-    webidl.converters.ByteString = function(V) {
-      const x = webidl.converters.DOMString(V);
+    webidl.converters.ByteString = function(V, prefix, argument) {
+      const x = webidl.converters.DOMString(V, prefix, argument);
       for (let index = 0; index < x.length; index++) {
         if (x.charCodeAt(index) > 255) {
           throw new TypeError(
@@ -43332,80 +42916,102 @@ var require_webidl2 = __commonJS({
     webidl.converters.any = function(V) {
       return V;
     };
-    webidl.converters["long long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 64, "signed");
+    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) {
-      const x = webidl.util.ConvertToInt(V, 64, "unsigned");
+    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) {
-      const x = webidl.util.ConvertToInt(V, 32, "unsigned");
+    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, opts) {
-      const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts);
+    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, opts = {}) {
+    webidl.converters.ArrayBuffer = function(V, prefix, argument, opts) {
       if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {
         throw webidl.errors.conversionFailed({
-          prefix: `${V}`,
-          argument: `${V}`,
+          prefix,
+          argument: `${argument} ("${webidl.util.Stringify(V)}")`,
           types: ["ArrayBuffer"]
         });
       }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V)) {
+      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, opts = {}) {
+    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: `${T.name}`,
-          argument: `${V}`,
+          prefix,
+          argument: `${name} ("${webidl.util.Stringify(V)}")`,
           types: [T.name]
         });
       }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
+      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, opts = {}) {
+    webidl.converters.DataView = function(V, prefix, name, opts) {
       if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {
         throw webidl.errors.exception({
-          header: "DataView",
-          message: "Object is not a DataView."
+          header: prefix,
+          message: `${name} is not a DataView.`
         });
       }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
+      if (opts?.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
         throw webidl.errors.exception({
           header: "ArrayBuffer",
           message: "SharedArrayBuffer is not allowed."
         });
       }
-      return V;
+      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, opts = {}) {
+    webidl.converters.BufferSource = function(V, prefix, name, opts) {
       if (types.isAnyArrayBuffer(V)) {
-        return webidl.converters.ArrayBuffer(V, opts);
+        return webidl.converters.ArrayBuffer(V, prefix, name, { ...opts, allowShared: false });
       }
       if (types.isTypedArray(V)) {
-        return webidl.converters.TypedArray(V, V.constructor);
+        return webidl.converters.TypedArray(V, V.constructor, prefix, name, { ...opts, allowShared: false });
       }
       if (types.isDataView(V)) {
-        return webidl.converters.DataView(V, opts);
+        return webidl.converters.DataView(V, prefix, name, { ...opts, allowShared: false });
       }
-      throw new TypeError(`Could not convert ${V} to a BufferSource.`);
+      throw webidl.errors.conversionFailed({
+        prefix,
+        argument: `${name} ("${webidl.util.Stringify(V)}")`,
+        types: ["BufferSource"]
+      });
     };
     webidl.converters["sequence"] = webidl.sequenceConverter(
       webidl.converters.ByteString
@@ -43423,981 +43029,797 @@ var require_webidl2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/fetch/dataURL.js
-var require_dataURL = __commonJS({
-  "node_modules/undici/lib/fetch/dataURL.js"(exports2, module2) {
-    var assert = require("assert");
-    var { atob: atob2 } = require("buffer");
-    var { isomorphicDecode } = require_util11();
-    var encoder = new TextEncoder();
-    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/;
-    var HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/;
-    var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/;
-    function dataURLProcessor(dataURL) {
-      assert(dataURL.protocol === "data:");
-      let input = URLSerializer(dataURL, true);
-      input = input.slice(5);
-      const position = { position: 0 };
-      let mimeType = collectASequenceOfCodePointsFast(
-        ",",
-        input,
-        position
-      );
-      const mimeTypeLength = mimeType.length;
-      mimeType = removeASCIIWhitespace(mimeType, true, true);
-      if (position.position >= input.length) {
-        return "failure";
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/util.js
+var require_util11 = __commonJS({
+  "node_modules/@actions/github/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_constants8();
+    var { getGlobalOrigin } = require_global3();
+    var { collectASequenceOfCodePoints, collectAnHTTPQuotedString, removeChars, parseMIMEType } = require_data_url2();
+    var { performance: performance2 } = require("node:perf_hooks");
+    var { isBlobLike, ReadableStreamFrom, isValidHTTPToken, normalizedMethodRecordsBase } = require_util10();
+    var assert = require("node:assert");
+    var { isUint8Array } = require("node:util/types");
+    var { webidl } = require_webidl2();
+    var supportedHashes = [];
+    var crypto2;
+    try {
+      crypto2 = require("node:crypto");
+      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
+      supportedHashes = crypto2.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;
       }
-      position.position++;
-      const encodedBody = input.slice(mimeTypeLength + 1);
-      let body = stringPercentDecode(encodedBody);
-      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
-        const stringBody = isomorphicDecode(body);
-        body = forgivingBase64(stringBody);
-        if (body === "failure") {
-          return "failure";
+      let location = response.headersList.get("location", true);
+      if (location !== null && isValidHeaderValue(location)) {
+        if (!isValidEncodedURL(location)) {
+          location = normalizeBinaryStringToUtf8(location);
         }
-        mimeType = mimeType.slice(0, -6);
-        mimeType = mimeType.replace(/(\u0020)+$/, "");
-        mimeType = mimeType.slice(0, -1);
-      }
-      if (mimeType.startsWith(";")) {
-        mimeType = "text/plain" + mimeType;
+        location = new URL(location, responseURL(response));
       }
-      let mimeTypeRecord = parseMIMEType(mimeType);
-      if (mimeTypeRecord === "failure") {
-        mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
+      if (location && !location.hash) {
+        location.hash = requestFragment;
       }
-      return { mimeType: mimeTypeRecord, body };
+      return location;
     }
-    function URLSerializer(url, excludeFragment = false) {
-      if (!excludeFragment) {
-        return url.href;
+    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;
+        }
       }
-      const href = url.href;
-      const hashLength = url.hash.length;
-      return hashLength === 0 ? href : href.substring(0, href.length - hashLength);
+      return true;
     }
-    function collectASequenceOfCodePoints(condition, input, position) {
-      let result = "";
-      while (position.position < input.length && condition(input[position.position])) {
-        result += input[position.position];
-        position.position++;
+    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 result;
+      return "allowed";
     }
-    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);
+    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;
+        }
       }
-      position.position = idx;
-      return input.slice(start, position.position);
+      return true;
     }
-    function stringPercentDecode(input) {
-      const bytes = encoder.encode(input);
-      return percentDecode(bytes);
+    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 percentDecode(input) {
-      const output = [];
-      for (let i = 0; i < input.length; i++) {
-        const byte = input[i];
-        if (byte !== 37) {
-          output.push(byte);
-        } else if (byte === 37 && !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i + 1], input[i + 2]))) {
-          output.push(37);
-        } else {
-          const nextTwoBytes = String.fromCharCode(input[i + 1], input[i + 2]);
-          const bytePoint = Number.parseInt(nextTwoBytes, 16);
-          output.push(bytePoint);
-          i += 2;
+    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 token = policyHeader[i - 1].trim();
+          if (referrerPolicyTokens.has(token)) {
+            policy = token;
+            break;
+          }
         }
       }
-      return Uint8Array.from(output);
+      if (policy !== "") {
+        request2.referrerPolicy = policy;
+      }
     }
-    function parseMIMEType(input) {
-      input = removeHTTPWhitespace(input, true, true);
-      const position = { position: 0 };
-      const type2 = collectASequenceOfCodePointsFast(
-        "/",
-        input,
-        position
-      );
-      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
-        return "failure";
+    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 (position.position > input.length) {
-        return "failure";
+      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);
       }
-      position.position++;
-      let subtype = collectASequenceOfCodePointsFast(
-        ";",
-        input,
-        position
-      );
-      subtype = removeHTTPWhitespace(subtype, false, true);
-      if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {
-        return "failure";
+    }
+    function coarsenTime(timestamp2, crossOriginIsolatedCapability) {
+      return timestamp2;
+    }
+    function clampAndCoarsenConnectionTimingInfo(connectionTimingInfo, defaultStartTime, crossOriginIsolatedCapability) {
+      if (!connectionTimingInfo?.startTime || connectionTimingInfo.startTime < defaultStartTime) {
+        return {
+          domainLookupStartTime: defaultStartTime,
+          domainLookupEndTime: defaultStartTime,
+          connectionStartTime: defaultStartTime,
+          connectionEndTime: defaultStartTime,
+          secureConnectionStartTime: defaultStartTime,
+          ALPNNegotiatedProtocol: connectionTimingInfo?.ALPNNegotiatedProtocol
+        };
       }
-      const typeLowercase = type2.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}`
+      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
       };
-      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;
+    }
+    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";
         }
-        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;
+        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;
         }
-        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);
-        }
+        case "strict-origin":
+        // eslint-disable-line
+        /**
+           * 1. If referrerURL is a potentially trustworthy URL and
+           * request’s current URL is not a potentially trustworthy URL,
+           * then return no referrer.
+           * 2. Return referrerOrigin
+          */
+        case "no-referrer-when-downgrade":
+        // eslint-disable-line
+        /**
+         * 1. If referrerURL is a potentially trustworthy URL and
+         * request’s current URL is not a potentially trustworthy URL,
+         * then return no referrer.
+         * 2. Return referrerOrigin
+        */
+        default:
+          return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
       }
-      return mimeType;
     }
-    function forgivingBase64(data) {
-      data = data.replace(/[\u0009\u000A\u000C\u000D\u0020]/g, "");
-      if (data.length % 4 === 0) {
-        data = data.replace(/=?=$/, "");
+    function stripURLForReferrer(url, originOnly) {
+      assert(url instanceof URL);
+      url = new URL(url);
+      if (url.protocol === "file:" || url.protocol === "about:" || url.protocol === "blank:") {
+        return "no-referrer";
       }
-      if (data.length % 4 === 1) {
-        return "failure";
+      url.username = "";
+      url.password = "";
+      url.hash = "";
+      if (originOnly) {
+        url.pathname = "";
+        url.search = "";
       }
-      if (/[^+/0-9A-Za-z]/.test(data)) {
-        return "failure";
+      return url;
+    }
+    function isURLPotentiallyTrustworthy(url) {
+      if (!(url instanceof URL)) {
+        return false;
       }
-      const binary2 = atob2(data);
-      const bytes = new Uint8Array(binary2.length);
-      for (let byte = 0; byte < binary2.length; byte++) {
-        bytes[byte] = binary2.charCodeAt(byte);
+      if (url.href === "about:blank" || url.href === "about:srcdoc") {
+        return true;
       }
-      return bytes;
-    }
-    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;
+      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;
         }
-        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 (/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(originAsURL.hostname) || (originAsURL.hostname === "localhost" || originAsURL.hostname.includes("localhost.")) || originAsURL.hostname.endsWith(".localhost")) {
+          return true;
         }
+        return false;
       }
-      if (extractValue) {
-        return value;
-      }
-      return input.slice(positionStart, position.position);
     }
-    function serializeAMimeType(mimeType) {
-      assert(mimeType !== "failure");
-      const { parameters, essence } = mimeType;
-      let serialization = essence;
-      for (let [name, value] of parameters.entries()) {
-        serialization += ";";
-        serialization += name;
-        serialization += "=";
-        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
-          value = value.replace(/(\\|")/g, "\\$1");
-          value = '"' + value;
-          value += '"';
-        }
-        serialization += value;
+    function bytesMatch(bytes, metadataList) {
+      if (crypto2 === void 0) {
+        return true;
       }
-      return serialization;
-    }
-    function isHTTPWhiteSpace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === " ";
-    }
-    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
-      let lead = 0;
-      let trail = str2.length - 1;
-      if (leading) {
-        for (; lead < str2.length && isHTTPWhiteSpace(str2[lead]); lead++) ;
+      const parsedMetadata = parseMetadata(metadataList);
+      if (parsedMetadata === "no metadata") {
+        return true;
       }
-      if (trailing) {
-        for (; trail > 0 && isHTTPWhiteSpace(str2[trail]); trail--) ;
+      if (parsedMetadata.length === 0) {
+        return true;
       }
-      return str2.slice(lead, trail + 1);
-    }
-    function isASCIIWhitespace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === "\f" || char === " ";
+      const strongest = getStrongestMetadata(parsedMetadata);
+      const metadata = filterMetadataListByAlgorithm(parsedMetadata, strongest);
+      for (const item of metadata) {
+        const algorithm = item.algo;
+        const expectedValue = item.hash;
+        let actualValue = crypto2.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;
     }
-    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
-      let lead = 0;
-      let trail = str2.length - 1;
-      if (leading) {
-        for (; lead < str2.length && isASCIIWhitespace(str2[lead]); lead++) ;
+    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 token of metadata.split(" ")) {
+        empty = false;
+        const parsedToken = parseHashWithOptions.exec(token);
+        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 (trailing) {
-        for (; trail > 0 && isASCIIWhitespace(str2[trail]); trail--) ;
+      if (empty === true) {
+        return "no metadata";
       }
-      return str2.slice(lead, trail + 1);
+      return result;
     }
-    module2.exports = {
-      dataURLProcessor,
-      URLSerializer,
-      collectASequenceOfCodePoints,
-      collectASequenceOfCodePointsFast,
-      stringPercentDecode,
-      parseMIMEType,
-      collectAnHTTPQuotedString,
-      serializeAMimeType
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/file.js
-var require_file2 = __commonJS({
-  "node_modules/undici/lib/fetch/file.js"(exports2, module2) {
-    "use strict";
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { types } = require("util");
-    var { kState } = require_symbols7();
-    var { isBlobLike } = require_util11();
-    var { webidl } = require_webidl2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var { kEnumerableProperty } = require_util10();
-    var encoder = new TextEncoder();
-    var File2 = class _File extends Blob2 {
-      constructor(fileBits, fileName, options = {}) {
-        webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" });
-        fileBits = webidl.converters["sequence"](fileBits);
-        fileName = webidl.converters.USVString(fileName);
-        options = webidl.converters.FilePropertyBag(options);
-        const n = fileName;
-        let t = options.type;
-        let d;
-        substep: {
-          if (t) {
-            t = parseMIMEType(t);
-            if (t === "failure") {
-              t = "";
-              break substep;
-            }
-            t = serializeAMimeType(t).toLowerCase();
-          }
-          d = options.lastModified;
-        }
-        super(processBlobParts(fileBits, options), { type: t });
-        this[kState] = {
-          name: n,
-          lastModified: d,
-          type: t
-        };
-      }
-      get name() {
-        webidl.brandCheck(this, _File);
-        return this[kState].name;
-      }
-      get lastModified() {
-        webidl.brandCheck(this, _File);
-        return this[kState].lastModified;
-      }
-      get type() {
-        webidl.brandCheck(this, _File);
-        return this[kState].type;
-      }
-    };
-    var FileLike = class _FileLike {
-      constructor(blobLike, fileName, options = {}) {
-        const n = fileName;
-        const t = options.type;
-        const d = options.lastModified ?? Date.now();
-        this[kState] = {
-          blobLike,
-          name: n,
-          type: t,
-          lastModified: d
-        };
-      }
-      stream(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.stream(...args);
+    function getStrongestMetadata(metadataList) {
+      let algorithm = metadataList[0].algo;
+      if (algorithm[3] === "5") {
+        return algorithm;
       }
-      arrayBuffer(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.arrayBuffer(...args);
+      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";
+        }
       }
-      slice(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.slice(...args);
+      return algorithm;
+    }
+    function filterMetadataListByAlgorithm(metadataList, algorithm) {
+      if (metadataList.length === 1) {
+        return metadataList;
       }
-      text(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.text(...args);
+      let pos = 0;
+      for (let i = 0; i < metadataList.length; ++i) {
+        if (metadataList[i].algo === algorithm) {
+          metadataList[pos++] = metadataList[i];
+        }
       }
-      get size() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.size;
+      metadataList.length = pos;
+      return metadataList;
+    }
+    function compareBase64Mixed(actualValue, expectedValue) {
+      if (actualValue.length !== expectedValue.length) {
+        return false;
       }
-      get type() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.type;
+      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;
+        }
       }
-      get name() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].name;
+      return true;
+    }
+    function tryUpgradeRequestToAPotentiallyTrustworthyURL(request2) {
+    }
+    function sameOrigin(A, B) {
+      if (A.origin === B.origin && A.origin === "null") {
+        return true;
       }
-      get lastModified() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].lastModified;
+      if (A.protocol === B.protocol && A.hostname === B.hostname && A.port === B.port) {
+        return true;
       }
-      get [Symbol.toStringTag]() {
-        return "File";
+      return false;
+    }
+    function createDeferredPromise() {
+      let res;
+      let rej;
+      const promise = new Promise((resolve2, reject) => {
+        res = resolve2;
+        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");
       }
-    };
-    Object.defineProperties(File2.prototype, {
-      [Symbol.toStringTag]: {
-        value: "File",
-        configurable: true
-      },
-      name: kEnumerableProperty,
-      lastModified: kEnumerableProperty
-    });
-    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
-    webidl.converters.BlobPart = function(V, opts) {
-      if (webidl.util.Type(V) === "Object") {
-        if (isBlobLike(V)) {
-          return webidl.converters.Blob(V, { strict: false });
+      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;
         }
-        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
-          return webidl.converters.BufferSource(V, opts);
+        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
+          };
         }
       }
-      return webidl.converters.USVString(V, opts);
-    };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.BlobPart
-    );
-    webidl.converters.FilePropertyBag = webidl.dictionaryConverter([
-      {
-        key: "lastModified",
-        converter: webidl.converters["long long"],
-        get defaultValue() {
-          return Date.now();
-        }
-      },
-      {
-        key: "type",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "endings",
-        converter: (value) => {
-          value = webidl.converters.DOMString(value);
-          value = value.toLowerCase();
-          if (value !== "native") {
-            value = "transparent";
+      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");
           }
-          return value;
         },
-        defaultValue: "transparent"
-      }
-    ]);
-    function processBlobParts(parts, options) {
-      const bytes = [];
-      for (const element of parts) {
-        if (typeof element === "string") {
-          let s = element;
-          if (options.endings === "native") {
-            s = convertLineEndingsNative(s);
-          }
-          bytes.push(encoder.encode(s));
-        } else if (types.isAnyArrayBuffer(element) || types.isTypedArray(element)) {
-          if (!element.buffer) {
-            bytes.push(new Uint8Array(element));
-          } else {
-            bytes.push(
-              new Uint8Array(element.buffer, element.byteOffset, element.byteLength)
-            );
+        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);
+            }
           }
-        } else if (isBlobLike(element)) {
-          bytes.push(element);
         }
-      }
-      return bytes;
+      };
+      return Object.defineProperties(object.prototype, {
+        ...properties,
+        [Symbol.iterator]: {
+          writable: true,
+          enumerable: false,
+          configurable: true,
+          value: properties.entries.value
+        }
+      });
     }
-    function convertLineEndingsNative(s) {
-      let nativeLineEnding = "\n";
-      if (process.platform === "win32") {
-        nativeLineEnding = "\r\n";
+    async function fullyReadBody(body, processBody, processBodyError) {
+      const successSteps = processBody;
+      const errorSteps = processBodyError;
+      let reader;
+      try {
+        reader = body.stream.getReader();
+      } catch (e) {
+        errorSteps(e);
+        return;
+      }
+      try {
+        successSteps(await readAllBytes(reader));
+      } catch (e) {
+        errorSteps(e);
       }
-      return s.replace(/\r?\n/g, nativeLineEnding);
     }
-    function isFileLike(object) {
-      return NativeFile && object instanceof NativeFile || object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
+    function isReadableStreamLike(stream) {
+      return stream instanceof ReadableStream || stream[Symbol.toStringTag] === "ReadableStream" && typeof stream.tee === "function";
     }
-    module2.exports = { File: File2, FileLike, isFileLike };
-  }
-});
-
-// node_modules/undici/lib/fetch/formdata.js
-var require_formdata2 = __commonJS({
-  "node_modules/undici/lib/fetch/formdata.js"(exports2, module2) {
-    "use strict";
-    var { isBlobLike, toUSVString, makeIterator } = require_util11();
-    var { kState } = require_symbols7();
-    var { File: UndiciFile, FileLike, isFileLike } = require_file2();
-    var { webidl } = require_webidl2();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var File2 = NativeFile ?? UndiciFile;
-    var FormData2 = class _FormData {
-      constructor(form) {
-        if (form !== void 0) {
-          throw webidl.errors.conversionFailed({
-            prefix: "FormData constructor",
-            argument: "Argument 1",
-            types: ["undefined"]
-          });
+    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;
         }
-        this[kState] = [];
       }
-      append(name, value, filename = void 0) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" });
-        if (arguments.length === 3 && !isBlobLike(value)) {
-          throw new TypeError(
-            "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"
-          );
+    }
+    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);
         }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0;
-        const entry = makeEntry(name, value, filename);
-        this[kState].push(entry);
-      }
-      delete(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" });
-        name = webidl.converters.USVString(name);
-        this[kState] = this[kState].filter((entry) => entry.name !== name);
-      }
-      get(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" });
-        name = webidl.converters.USVString(name);
-        const idx = this[kState].findIndex((entry) => entry.name === name);
-        if (idx === -1) {
-          return null;
+        if (!isUint8Array(chunk)) {
+          throw new TypeError("Received non-Uint8Array chunk");
         }
-        return this[kState][idx].value;
+        bytes.push(chunk);
+        byteLength += chunk.length;
       }
-      getAll(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" });
-        name = webidl.converters.USVString(name);
-        return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value);
+    }
+    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";
       }
-      has(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" });
-        name = webidl.converters.USVString(name);
-        return this[kState].findIndex((entry) => entry.name === name) !== -1;
+      const position = { position: 5 };
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
       }
-      set(name, value, filename = void 0) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" });
-        if (arguments.length === 3 && !isBlobLike(value)) {
-          throw new TypeError(
-            "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"
-          );
-        }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? toUSVString(filename) : void 0;
-        const entry = makeEntry(name, value, filename);
-        const idx = this[kState].findIndex((entry2) => entry2.name === name);
-        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);
-        }
+      if (data.charCodeAt(position.position) !== 61) {
+        return "failure";
       }
-      entries() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key+value"
+      position.position++;
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
         );
       }
-      keys() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key"
+      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
         );
       }
-      values() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "value"
+      if (data.charCodeAt(position.position) !== 45) {
+        return "failure";
+      }
+      position.position++;
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
         );
       }
-      /**
-       * @param {(value: string, key: string, self: FormData) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'."
-          );
-        }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
-        }
+      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";
       }
-    };
-    FormData2.prototype[Symbol.iterator] = FormData2.prototype.entries;
-    Object.defineProperties(FormData2.prototype, {
-      [Symbol.toStringTag]: {
-        value: "FormData",
-        configurable: true
+      if (rangeEndValue === null && rangeStartValue === null) {
+        return "failure";
       }
-    });
-    function makeEntry(name, value, filename) {
-      name = Buffer.from(name).toString("utf8");
-      if (typeof value === "string") {
-        value = Buffer.from(value).toString("utf8");
-      } else {
-        if (!isFileLike(value)) {
-          value = value instanceof Blob2 ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
-        }
-        if (filename !== void 0) {
-          const options = {
-            type: value.type,
-            lastModified: value.lastModified
-          };
-          value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
-        }
+      if (rangeStartValue > rangeEndValue) {
+        return "failure";
       }
-      return { name, value };
+      return { rangeStartValue, rangeEndValue };
     }
-    module2.exports = { FormData: FormData2 };
-  }
-});
-
-// node_modules/undici/lib/fetch/body.js
-var require_body2 = __commonJS({
-  "node_modules/undici/lib/fetch/body.js"(exports2, module2) {
-    "use strict";
-    var Busboy = require_main();
-    var util = require_util10();
-    var {
-      ReadableStreamFrom,
-      isBlobLike,
-      isReadableStreamLike,
-      readableStreamClose,
-      createDeferredPromise,
-      fullyReadBody
-    } = require_util11();
-    var { FormData: FormData2 } = require_formdata2();
-    var { kState } = require_symbols7();
-    var { webidl } = require_webidl2();
-    var { DOMException: DOMException2, structuredClone } = require_constants7();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
-    var { isErrored } = require_util10();
-    var { isUint8Array, isArrayBuffer } = require("util/types");
-    var { File: UndiciFile } = require_file2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var random;
-    try {
-      const crypto2 = require("node:crypto");
-      random = (max) => crypto2.randomInt(0, max);
-    } catch {
-      random = (max) => Math.floor(Math.random(max));
+    function buildContentRange(rangeStart, rangeEnd, fullLength) {
+      let contentRange = "bytes ";
+      contentRange += isomorphicEncode(`${rangeStart}`);
+      contentRange += "-";
+      contentRange += isomorphicEncode(`${rangeEnd}`);
+      contentRange += "/";
+      contentRange += isomorphicEncode(`${fullLength}`);
+      return contentRange;
     }
-    var ReadableStream2 = globalThis.ReadableStream;
-    var File2 = NativeFile ?? UndiciFile;
-    var textEncoder = new TextEncoder();
-    var textDecoder = new TextDecoder();
-    function extractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      let stream = null;
-      if (object instanceof ReadableStream2) {
-        stream = object;
-      } else if (isBlobLike(object)) {
-        stream = object.stream();
-      } else {
-        stream = new ReadableStream2({
-          async pull(controller) {
-            controller.enqueue(
-              typeof source === "string" ? textEncoder.encode(source) : source
-            );
-            queueMicrotask(() => readableStreamClose(controller));
-          },
-          start() {
-          },
-          type: void 0
-        });
+    var InflateStream = class extends Transform {
+      #zlibOptions;
+      /** @param {zlib.ZlibOptions} [zlibOptions] */
+      constructor(zlibOptions) {
+        super();
+        this.#zlibOptions = zlibOptions;
       }
-      assert(isReadableStreamLike(stream));
-      let action = null;
-      let source = null;
-      let length = null;
-      let type2 = null;
-      if (typeof object === "string") {
-        source = object;
-        type2 = "text/plain;charset=UTF-8";
-      } else if (object instanceof URLSearchParams) {
-        source = object.toString();
-        type2 = "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 escape2 = (str2) => str2.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="${escape2(normalizeLinefeeds(name))}"\r
-\r
-${normalizeLinefeeds(value)}\r
-`);
-            blobParts.push(chunk2);
-            length += chunk2.byteLength;
-          } else {
-            const chunk2 = textEncoder.encode(`${prefix}; name="${escape2(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${escape2(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}--`);
-        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;
-            }
+      _transform(chunk, encoding, callback) {
+        if (!this._inflateStream) {
+          if (chunk.length === 0) {
+            callback();
+            return;
           }
-        };
-        type2 = "multipart/form-data; boundary=" + boundary;
-      } else if (isBlobLike(object)) {
-        source = object;
-        length = object.size;
-        if (object.type) {
-          type2 = 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"
-          );
+          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));
         }
-        stream = object instanceof ReadableStream2 ? object : ReadableStreamFrom(object);
-      }
-      if (typeof source === "string" || util.isBuffer(source)) {
-        length = Buffer.byteLength(source);
+        this._inflateStream.write(chunk, encoding, callback);
       }
-      if (action != null) {
-        let iterator2;
-        stream = new ReadableStream2({
-          async start() {
-            iterator2 = action(object)[Symbol.asyncIterator]();
-          },
-          async pull(controller) {
-            const { value, done } = await iterator2.next();
-            if (done) {
-              queueMicrotask(() => {
-                controller.close();
-              });
-            } else {
-              if (!isErrored(stream)) {
-                controller.enqueue(new Uint8Array(value));
-              }
-            }
-            return controller.desiredSize > 0;
-          },
-          async cancel(reason) {
-            await iterator2.return();
-          },
-          type: void 0
-        });
+      _final(callback) {
+        if (this._inflateStream) {
+          this._inflateStream.end();
+          this._inflateStream = null;
+        }
+        callback();
       }
-      const body = { stream, source, length };
-      return [body, type2];
+    };
+    function createInflate(zlibOptions) {
+      return new InflateStream(zlibOptions);
     }
-    function safelyExtractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      if (object instanceof ReadableStream2) {
-        assert(!util.isDisturbed(object), "The body has already been consumed.");
-        assert(!object.locked, "The stream is locked.");
+    function extractMimeType(headers) {
+      let charset = null;
+      let essence = null;
+      let mimeType = null;
+      const values = getDecodeSplit("content-type", headers);
+      if (values === null) {
+        return "failure";
       }
-      return extractBody(object, keepalive);
-    }
-    function cloneBody(body) {
-      const [out1, out2] = body.stream.tee();
-      const out2Clone = structuredClone(out2, { transfer: [out2] });
-      const [, finalClone] = out2Clone.tee();
-      body.stream = out1;
-      return {
-        stream: finalClone,
-        length: body.length,
-        source: body.source
-      };
-    }
-    async function* consumeBody(body) {
-      if (body) {
-        if (isUint8Array(body)) {
-          yield body;
-        } else {
-          const stream = body.stream;
-          if (util.isDisturbed(stream)) {
-            throw new TypeError("The body has already been consumed.");
-          }
-          if (stream.locked) {
-            throw new TypeError("The stream is locked.");
+      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");
           }
-          stream[kBodyUsed] = true;
-          yield* stream;
+          essence = mimeType.essence;
+        } else if (!mimeType.parameters.has("charset") && charset !== null) {
+          mimeType.parameters.set("charset", charset);
         }
       }
-    }
-    function throwIfAborted(state) {
-      if (state.aborted) {
-        throw new DOMException2("The operation was aborted.", "AbortError");
+      if (mimeType == null) {
+        return "failure";
       }
+      return mimeType;
     }
-    function bodyMixinMethods(instance) {
-      const methods = {
-        blob() {
-          return specConsumeBody(this, (bytes) => {
-            let mimeType = bodyMimeType(this);
-            if (mimeType === "failure") {
-              mimeType = "";
-            } else if (mimeType) {
-              mimeType = serializeAMimeType(mimeType);
-            }
-            return new Blob2([bytes], { type: mimeType });
-          }, instance);
-        },
-        arrayBuffer() {
-          return specConsumeBody(this, (bytes) => {
-            return new Uint8Array(bytes).buffer;
-          }, instance);
-        },
-        text() {
-          return specConsumeBody(this, utf8DecodeBytes, instance);
-        },
-        json() {
-          return specConsumeBody(this, parseJSONFromBytes, instance);
-        },
-        async formData() {
-          webidl.brandCheck(this, instance);
-          throwIfAborted(this[kState]);
-          const contentType = this.headers.get("Content-Type");
-          if (/multipart\/form-data/.test(contentType)) {
-            const headers = {};
-            for (const [key, value] of this.headers) headers[key.toLowerCase()] = value;
-            const responseFormData = new FormData2();
-            let busboy;
-            try {
-              busboy = new Busboy({
-                headers,
-                preservePath: true
-              });
-            } catch (err) {
-              throw new DOMException2(`${err}`, "AbortError");
-            }
-            busboy.on("field", (name, value) => {
-              responseFormData.append(name, value);
-            });
-            busboy.on("file", (name, value, filename, encoding, mimeType) => {
-              const chunks = [];
-              if (encoding === "base64" || encoding.toLowerCase() === "base64") {
-                let base64chunk = "";
-                value.on("data", (chunk) => {
-                  base64chunk += chunk.toString().replace(/[\r\n]/gm, "");
-                  const end = base64chunk.length - base64chunk.length % 4;
-                  chunks.push(Buffer.from(base64chunk.slice(0, end), "base64"));
-                  base64chunk = base64chunk.slice(end);
-                });
-                value.on("end", () => {
-                  chunks.push(Buffer.from(base64chunk, "base64"));
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              } else {
-                value.on("data", (chunk) => {
-                  chunks.push(chunk);
-                });
-                value.on("end", () => {
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              }
-            });
-            const busboyResolve = new Promise((resolve2, reject) => {
-              busboy.on("finish", resolve2);
-              busboy.on("error", (err) => reject(new TypeError(err)));
-            });
-            if (this.body !== null) for await (const chunk of consumeBody(this[kState].body)) busboy.write(chunk);
-            busboy.end();
-            await busboyResolve;
-            return responseFormData;
-          } else if (/application\/x-www-form-urlencoded/.test(contentType)) {
-            let entries;
-            try {
-              let text = "";
-              const streamingDecoder = new TextDecoder("utf-8", { ignoreBOM: true });
-              for await (const chunk of consumeBody(this[kState].body)) {
-                if (!isUint8Array(chunk)) {
-                  throw new TypeError("Expected Uint8Array chunk");
-                }
-                text += streamingDecoder.decode(chunk, { stream: true });
-              }
-              text += streamingDecoder.decode();
-              entries = new URLSearchParams(text);
-            } catch (err) {
-              throw Object.assign(new TypeError(), { cause: err });
-            }
-            const formData = new FormData2();
-            for (const [name, value] of entries) {
-              formData.append(name, value);
+    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;
             }
-            return formData;
           } else {
-            await Promise.resolve();
-            throwIfAborted(this[kState]);
-            throw webidl.errors.exception({
-              header: `${instance.name}.formData`,
-              message: "Could not parse content as FormData."
-            });
+            assert(input.charCodeAt(position.position) === 44);
+            position.position++;
           }
         }
-      };
-      return methods;
-    }
-    function mixinBody(prototype) {
-      Object.assign(prototype.prototype, bodyMixinMethods(prototype));
-    }
-    async function specConsumeBody(object, convertBytesToJSValue, instance) {
-      webidl.brandCheck(object, instance);
-      throwIfAborted(object[kState]);
-      if (bodyUnusable(object[kState].body)) {
-        throw new TypeError("Body is unusable");
-      }
-      const promise = createDeferredPromise();
-      const errorSteps = (error3) => promise.reject(error3);
-      const successSteps = (data) => {
-        try {
-          promise.resolve(convertBytesToJSValue(data));
-        } catch (e) {
-          errorSteps(e);
-        }
-      };
-      if (object[kState].body == null) {
-        successSteps(new Uint8Array());
-        return promise.promise;
+        temporaryValue = removeChars(temporaryValue, true, true, (char) => char === 9 || char === 32);
+        values.push(temporaryValue);
+        temporaryValue = "";
       }
-      await fullyReadBody(object[kState].body, successSteps, errorSteps);
-      return promise.promise;
+      return values;
     }
-    function bodyUnusable(body) {
-      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
+    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 "";
@@ -44408,1696 +43830,970 @@ Content-Type: ${value.type || "application/octet-stream"}\r
       const output = textDecoder.decode(buffer);
       return output;
     }
-    function parseJSONFromBytes(bytes) {
-      return JSON.parse(utf8DecodeBytes(bytes));
-    }
-    function bodyMimeType(object) {
-      const { headersList } = object[kState];
-      const contentType = headersList.get("content-type");
-      if (contentType === null) {
-        return "failure";
+    var EnvironmentSettingsObjectBase = class {
+      get baseUrl() {
+        return getGlobalOrigin();
       }
-      return parseMIMEType(contentType);
-    }
+      get origin() {
+        return this.baseUrl?.origin;
+      }
+      policyContainer = makePolicyContainer();
+    };
+    var EnvironmentSettingsObject = class {
+      settingsObject = new EnvironmentSettingsObjectBase();
+    };
+    var environmentSettingsObject = new EnvironmentSettingsObject();
     module2.exports = {
-      extractBody,
-      safelyExtractBody,
-      cloneBody,
-      mixinBody
+      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/core/request.js
-var require_request3 = __commonJS({
-  "node_modules/undici/lib/core/request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js
+var require_symbols7 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js"(exports2, module2) {
     "use strict";
-    var {
-      InvalidArgumentError,
-      NotSupportedError
-    } = require_errors2();
-    var assert = require("assert");
-    var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = require_symbols6();
-    var util = require_util10();
-    var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;
-    var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
-    var invalidPathRegex = /[^\u0021-\u00ff]/;
-    var kHandler = /* @__PURE__ */ Symbol("handler");
-    var channels = {};
-    var extractBody;
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.create = diagnosticsChannel.channel("undici:request:create");
-      channels.bodySent = diagnosticsChannel.channel("undici:request:bodySent");
-      channels.headers = diagnosticsChannel.channel("undici:request:headers");
-      channels.trailers = diagnosticsChannel.channel("undici:request:trailers");
-      channels.error = diagnosticsChannel.channel("undici:request:error");
-    } catch {
-      channels.create = { hasSubscribers: false };
-      channels.bodySent = { hasSubscribers: false };
-      channels.headers = { hasSubscribers: false };
-      channels.trailers = { hasSubscribers: false };
-      channels.error = { hasSubscribers: false };
+    module2.exports = {
+      kUrl: /* @__PURE__ */ Symbol("url"),
+      kHeaders: /* @__PURE__ */ Symbol("headers"),
+      kSignal: /* @__PURE__ */ Symbol("signal"),
+      kState: /* @__PURE__ */ Symbol("state"),
+      kDispatcher: /* @__PURE__ */ Symbol("dispatcher")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js
+var require_file2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js"(exports2, module2) {
+    "use strict";
+    var { Blob: Blob2, File: File2 } = require("node:buffer");
+    var { kState } = require_symbols7();
+    var { webidl } = require_webidl2();
+    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 File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
     }
-    var Request = class _Request {
-      constructor(origin, {
-        path: path3,
-        method,
-        body,
-        headers,
-        query,
-        idempotent,
-        blocking,
-        upgrade,
-        headersTimeout,
-        bodyTimeout,
-        reset,
-        throwOnError,
-        expectContinue
-      }, handler2) {
-        if (typeof path3 !== "string") {
-          throw new InvalidArgumentError("path must be a string");
-        } else if (path3[0] !== "/" && !(path3.startsWith("http://") || path3.startsWith("https://")) && method !== "CONNECT") {
-          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
-        } else if (invalidPathRegex.exec(path3) !== null) {
-          throw new InvalidArgumentError("invalid request path");
-        }
-        if (typeof method !== "string") {
-          throw new InvalidArgumentError("method must be a string");
-        } else if (tokenRegExp.exec(method) === null) {
-          throw new InvalidArgumentError("invalid request method");
-        }
-        if (upgrade && typeof upgrade !== "string") {
-          throw new InvalidArgumentError("upgrade must be a string");
-        }
-        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
-          throw new InvalidArgumentError("invalid headersTimeout");
-        }
-        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
-          throw new InvalidArgumentError("invalid bodyTimeout");
-        }
-        if (reset != null && typeof reset !== "boolean") {
-          throw new InvalidArgumentError("invalid reset");
+    module2.exports = { FileLike, isFileLike };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js
+var require_formdata2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js"(exports2, module2) {
+    "use strict";
+    var { isBlobLike, iteratorMixin } = require_util11();
+    var { kState } = require_symbols7();
+    var { kEnumerableProperty } = require_util10();
+    var { FileLike, isFileLike } = require_file2();
+    var { webidl } = require_webidl2();
+    var { File: NativeFile } = require("node:buffer");
+    var nodeUtil = require("node:util");
+    var File2 = globalThis.File ?? NativeFile;
+    var FormData2 = class _FormData {
+      constructor(form) {
+        webidl.util.markAsUncloneable(this);
+        if (form !== void 0) {
+          throw webidl.errors.conversionFailed({
+            prefix: "FormData constructor",
+            argument: "Argument 1",
+            types: ["undefined"]
+          });
         }
-        if (expectContinue != null && typeof expectContinue !== "boolean") {
-          throw new InvalidArgumentError("invalid expectContinue");
+        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'"
+          );
         }
-        this.headersTimeout = headersTimeout;
-        this.bodyTimeout = bodyTimeout;
-        this.throwOnError = throwOnError === true;
-        this.method = method;
-        this.abort = null;
-        if (body == null) {
-          this.body = null;
-        } else if (util.isStream(body)) {
-          this.body = body;
-          const rState = this.body._readableState;
-          if (!rState || !rState.autoDestroy) {
-            this.endHandler = function autoDestroy() {
-              util.destroy(this);
-            };
-            this.body.on("end", this.endHandler);
-          }
-          this.errorHandler = (err) => {
-            if (this.abort) {
-              this.abort(err);
-            } else {
-              this.error = err;
-            }
-          };
-          this.body.on("error", this.errorHandler);
-        } else if (util.isBuffer(body)) {
-          this.body = body.byteLength ? body : null;
-        } else if (ArrayBuffer.isView(body)) {
-          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
-        } else if (body instanceof ArrayBuffer) {
-          this.body = body.byteLength ? Buffer.from(body) : null;
-        } else if (typeof body === "string") {
-          this.body = body.length ? Buffer.from(body) : null;
-        } else if (util.isFormDataLike(body) || util.isIterable(body) || util.isBlobLike(body)) {
-          this.body = body;
-        } else {
-          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
-        }
-        this.completed = false;
-        this.aborted = false;
-        this.upgrade = upgrade || null;
-        this.path = query ? util.buildURL(path3, query) : path3;
-        this.origin = origin;
-        this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
-        this.blocking = blocking == null ? false : blocking;
-        this.reset = reset == null ? null : reset;
-        this.host = null;
-        this.contentLength = null;
-        this.contentType = null;
-        this.headers = "";
-        this.expectContinue = expectContinue != null ? expectContinue : false;
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
-          }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(this, headers[i], headers[i + 1]);
-          }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(this, key, headers[key]);
-          }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
+        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;
         }
-        if (util.isFormDataLike(this.body)) {
-          if (util.nodeMajor < 16 || util.nodeMajor === 16 && util.nodeMinor < 8) {
-            throw new InvalidArgumentError("Form-Data bodies are only supported in node v16.8 and newer.");
-          }
-          if (!extractBody) {
-            extractBody = require_body2().extractBody;
-          }
-          const [bodyStream, contentType] = extractBody(body);
-          if (this.contentType == null) {
-            this.contentType = contentType;
-            this.headers += `content-type: ${contentType}\r
-`;
-          }
-          this.body = bodyStream.stream;
-          this.contentLength = bodyStream.length;
-        } else if (util.isBlobLike(body) && this.contentType == null && body.type) {
-          this.contentType = body.type;
-          this.headers += `content-type: ${body.type}\r
-`;
+        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'"
+          );
         }
-        util.validateHandler(handler2, method, upgrade);
-        this.servername = util.getServerName(this.host);
-        this[kHandler] = handler2;
-        if (channels.create.hasSubscribers) {
-          channels.create.publish({ request: this });
+        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);
         }
       }
-      onBodySent(chunk) {
-        if (this[kHandler].onBodySent) {
-          try {
-            return this[kHandler].onBodySent(chunk);
-          } catch (err) {
-            this.abort(err);
+      [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)}`;
       }
-      onRequestSent() {
-        if (channels.bodySent.hasSubscribers) {
-          channels.bodySent.publish({ request: this });
+    };
+    iteratorMixin("FormData", FormData2, kState, "name", "value");
+    Object.defineProperties(FormData2.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 File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
         }
-        if (this[kHandler].onRequestSent) {
-          try {
-            return this[kHandler].onRequestSent();
-          } catch (err) {
-            this.abort(err);
-          }
+        if (filename !== void 0) {
+          const options = {
+            type: value.type,
+            lastModified: value.lastModified
+          };
+          value = value instanceof NativeFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
         }
       }
-      onConnect(abort) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (this.error) {
-          abort(this.error);
-        } else {
-          this.abort = abort;
-          return this[kHandler].onConnect(abort);
+      return { name, value };
+    }
+    module2.exports = { FormData: FormData2, makeEntry };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js
+var require_formdata_parser2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js"(exports2, module2) {
+    "use strict";
+    var { isUSVString, bufferToLowerCasedHeaderName } = require_util10();
+    var { utf8DecodeBytes } = require_util11();
+    var { HTTP_TOKEN_CODEPOINTS, isomorphicDecode } = require_data_url2();
+    var { isFileLike } = require_file2();
+    var { makeEntry } = require_formdata2();
+    var assert = require("node:assert");
+    var { File: NodeFile } = require("node:buffer");
+    var File2 = 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;
         }
       }
-      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);
-        }
+      return true;
+    }
+    function validateBoundary(boundary) {
+      const length = boundary.length;
+      if (length < 27 || length > 70) {
+        return false;
       }
-      onData(chunk) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        try {
-          return this[kHandler].onData(chunk);
-        } catch (err) {
-          this.abort(err);
+      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;
         }
       }
-      onUpgrade(statusCode, headers, socket) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        return this[kHandler].onUpgrade(statusCode, headers, socket);
+      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";
       }
-      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);
-        }
+      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;
       }
-      onError(error3) {
-        this.onFinally();
-        if (channels.error.hasSubscribers) {
-          channels.error.publish({ request: this, error: error3 });
+      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 (this.aborted) {
-          return;
+        if (position.position === input.length - 2 && bufferStartsWith(input, dd, position) || position.position === input.length - 4 && bufferStartsWith(input, ddcrlf, position)) {
+          return entryList;
         }
-        this.aborted = true;
-        return this[kHandler].onError(error3);
-      }
-      onFinally() {
-        if (this.errorHandler) {
-          this.body.off("error", this.errorHandler);
-          this.errorHandler = null;
+        if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
+          return "failure";
         }
-        if (this.endHandler) {
-          this.body.off("end", this.endHandler);
-          this.endHandler = null;
+        position.position += 2;
+        const result = parseMultipartFormDataHeaders(input, position);
+        if (result === "failure") {
+          return "failure";
         }
-      }
-      // TODO: adjust to support H2
-      addHeader(key, value) {
-        processHeader(this, key, value);
-        return this;
-      }
-      static [kHTTP1BuildRequest](origin, opts, handler2) {
-        return new _Request(origin, opts, handler2);
-      }
-      static [kHTTP2BuildRequest](origin, opts, handler2) {
-        const headers = opts.headers;
-        opts = { ...opts, headers: null };
-        const request2 = new _Request(origin, opts, handler2);
-        request2.headers = {};
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
-          }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(request2, headers[i], headers[i + 1], true);
+        let { name, filename, contentType, encoding } = result;
+        position.position += 2;
+        let body;
+        {
+          const boundaryIndex = input.indexOf(boundary.subarray(2), position.position);
+          if (boundaryIndex === -1) {
+            return "failure";
           }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(request2, key, headers[key], true);
+          body = input.subarray(position.position, boundaryIndex - 4);
+          position.position += body.length;
+          if (encoding === "base64") {
+            body = Buffer.from(body.toString(), "base64");
           }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
         }
-        return request2;
-      }
-      static [kHTTP2CopyHeaders](raw) {
-        const rawHeaders = raw.split("\r\n");
-        const headers = {};
-        for (const header of rawHeaders) {
-          const [key, value] = header.split(": ");
-          if (value == null || value.length === 0) continue;
-          if (headers[key]) headers[key] += `,${value}`;
-          else headers[key] = value;
+        if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
+          return "failure";
+        } else {
+          position.position += 2;
         }
-        return headers;
-      }
-    };
-    function processHeaderValue(key, val, skipAppend) {
-      if (val && typeof val === "object") {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      }
-      val = val != null ? `${val}` : "";
-      if (headerCharRegex.exec(val) !== null) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
+        let value;
+        if (filename !== null) {
+          contentType ??= "text/plain";
+          if (!isAsciiString(contentType)) {
+            contentType = "";
+          }
+          value = new File2([body], filename, { type: contentType });
+        } else {
+          value = utf8DecodeBytes(Buffer.from(body));
+        }
+        assert(isUSVString(name));
+        assert(typeof value === "string" && isUSVString(value) || isFileLike(value));
+        entryList.push(makeEntry(name, value, filename));
       }
-      return skipAppend ? val : `${key}: ${val}\r
-`;
     }
-    function processHeader(request2, key, val, skipAppend = false) {
-      if (val && (typeof val === "object" && !Array.isArray(val))) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      } else if (val === void 0) {
-        return;
-      }
-      if (request2.host === null && key.length === 4 && key.toLowerCase() === "host") {
-        if (headerCharRegex.exec(val) !== null) {
-          throw new InvalidArgumentError(`invalid ${key} header`);
+    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 };
         }
-        request2.host = val;
-      } else if (request2.contentLength === null && key.length === 14 && key.toLowerCase() === "content-length") {
-        request2.contentLength = parseInt(val, 10);
-        if (!Number.isFinite(request2.contentLength)) {
-          throw new InvalidArgumentError("invalid content-length header");
+        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";
         }
-      } else if (request2.contentType === null && key.length === 12 && key.toLowerCase() === "content-type") {
-        request2.contentType = val;
-        if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-        else request2.headers += processHeaderValue(key, val);
-      } else if (key.length === 17 && key.toLowerCase() === "transfer-encoding") {
-        throw new InvalidArgumentError("invalid transfer-encoding header");
-      } else if (key.length === 10 && key.toLowerCase() === "connection") {
-        const value = typeof val === "string" ? val.toLowerCase() : null;
-        if (value !== "close" && value !== "keep-alive") {
-          throw new InvalidArgumentError("invalid connection header");
-        } else if (value === "close") {
-          request2.reset = true;
+        if (input[position.position] !== 58) {
+          return "failure";
         }
-      } else if (key.length === 10 && key.toLowerCase() === "keep-alive") {
-        throw new InvalidArgumentError("invalid keep-alive header");
-      } else if (key.length === 7 && key.toLowerCase() === "upgrade") {
-        throw new InvalidArgumentError("invalid upgrade header");
-      } else if (key.length === 6 && key.toLowerCase() === "expect") {
-        throw new NotSupportedError("expect header not supported");
-      } else if (tokenRegExp.exec(key) === null) {
-        throw new InvalidArgumentError("invalid header key");
-      } else {
-        if (Array.isArray(val)) {
-          for (let i = 0; i < val.length; i++) {
-            if (skipAppend) {
-              if (request2.headers[key]) request2.headers[key] += `,${processHeaderValue(key, val[i], skipAppend)}`;
-              else request2.headers[key] = processHeaderValue(key, val[i], skipAppend);
-            } else {
-              request2.headers += processHeaderValue(key, val[i]);
+        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 {
-          if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-          else request2.headers += processHeaderValue(key, val);
+          position.position += 2;
         }
       }
     }
-    module2.exports = Request;
-  }
-});
-
-// node_modules/undici/lib/dispatcher.js
-var require_dispatcher2 = __commonJS({
-  "node_modules/undici/lib/dispatcher.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("events");
-    var Dispatcher = class extends EventEmitter {
-      dispatch() {
-        throw new Error("not implemented");
+    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++;
       }
-      close() {
-        throw new Error("not implemented");
+      name = new TextDecoder().decode(name).replace(/%0A/ig, "\n").replace(/%0D/ig, "\r").replace(/%22/g, '"');
+      return name;
+    }
+    function collectASequenceOfBytes(condition, input, position) {
+      let start = position.position;
+      while (start < input.length && condition(input[start])) {
+        ++start;
       }
-      destroy() {
-        throw new Error("not implemented");
+      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
     };
-    module2.exports = Dispatcher;
   }
 });
 
-// node_modules/undici/lib/dispatcher-base.js
-var require_dispatcher_base2 = __commonJS({
-  "node_modules/undici/lib/dispatcher-base.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js
+var require_body2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js"(exports2, module2) {
     "use strict";
-    var Dispatcher = require_dispatcher2();
+    var util = require_util10();
     var {
-      ClientDestroyedError,
-      ClientClosedError,
-      InvalidArgumentError
-    } = require_errors2();
-    var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols6();
-    var kDestroyed = /* @__PURE__ */ Symbol("destroyed");
-    var kClosed = /* @__PURE__ */ Symbol("closed");
-    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
-    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
-    var kInterceptedDispatch = /* @__PURE__ */ 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");
-            }
-          }
+      ReadableStreamFrom,
+      isBlobLike,
+      isReadableStreamLike,
+      readableStreamClose,
+      createDeferredPromise,
+      fullyReadBody,
+      extractMimeType,
+      utf8DecodeBytes
+    } = require_util11();
+    var { FormData: FormData2 } = require_formdata2();
+    var { kState } = require_symbols7();
+    var { webidl } = require_webidl2();
+    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_url2();
+    var { multipartFormDataParser } = require_formdata_parser2();
+    var random;
+    try {
+      const crypto2 = require("node:crypto");
+      random = (max) => crypto2.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);
         }
-        this[kInterceptors] = newInterceptors;
+      });
+    }
+    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"
+        });
       }
-      close(callback) {
-        if (callback === void 0) {
-          return new Promise((resolve2, reject) => {
-            this.close((err, data) => {
-              return err ? reject(err) : resolve2(data);
-            });
-          });
-        }
-        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);
+      assert(isReadableStreamLike(stream));
+      let action = null;
+      let source = null;
+      let length = null;
+      let type2 = null;
+      if (typeof object === "string") {
+        source = object;
+        type2 = "text/plain;charset=UTF-8";
+      } else if (object instanceof URLSearchParams) {
+        source = object.toString();
+        type2 = "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 escape2 = (str2) => str2.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="${escape2(normalizeLinefeeds(name))}"\r
+\r
+${normalizeLinefeeds(value)}\r
+`);
+            blobParts.push(chunk2);
+            length += chunk2.byteLength;
           } else {
-            queueMicrotask(() => callback(null, null));
+            const chunk2 = textEncoder.encode(`${prefix}; name="${escape2(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${escape2(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;
+            }
           }
-          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);
+        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;
+            }
           }
         };
-        this[kClose]().then(() => this.destroy()).then(() => {
-          queueMicrotask(onClosed);
-        });
-      }
-      destroy(err, callback) {
-        if (typeof err === "function") {
-          callback = err;
-          err = null;
-        }
-        if (callback === void 0) {
-          return new Promise((resolve2, reject) => {
-            this.destroy(err, (err2, data) => {
-              return err2 ? (
-                /* istanbul ignore next: should never error */
-                reject(err2)
-              ) : resolve2(data);
-            });
-          });
-        }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        type2 = `multipart/form-data; boundary=${boundary}`;
+      } else if (isBlobLike(object)) {
+        source = object;
+        length = object.size;
+        if (object.type) {
+          type2 = object.type;
         }
-        if (this[kDestroyed]) {
-          if (this[kOnDestroyed]) {
-            this[kOnDestroyed].push(callback);
-          } else {
-            queueMicrotask(() => callback(null, null));
-          }
-          return;
+      } else if (typeof object[Symbol.asyncIterator] === "function") {
+        if (keepalive) {
+          throw new TypeError("keepalive");
         }
-        if (!err) {
-          err = new ClientDestroyedError();
+        if (util.isDisturbed(object) || object.locked) {
+          throw new TypeError(
+            "Response body object should not be disturbed or locked"
+          );
         }
-        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);
+        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"
         });
       }
-      [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);
+      const body = { stream, source, length };
+      return [body, type2];
+    }
+    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.");
       }
-      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;
-        }
+      return extractBody(object, keepalive);
+    }
+    function cloneBody(instance, body) {
+      const [out1, out2] = body.stream.tee();
+      body.stream = out1;
+      return {
+        stream: out2,
+        length: body.length,
+        source: body.source
+      };
+    }
+    function throwIfAborted(state) {
+      if (state.aborted) {
+        throw new DOMException("The operation was aborted.", "AbortError");
       }
-    };
-    module2.exports = DispatcherBase;
-  }
-});
-
-// node_modules/undici/lib/core/connect.js
-var require_connect2 = __commonJS({
-  "node_modules/undici/lib/core/connect.js"(exports2, module2) {
-    "use strict";
-    var net = require("net");
-    var assert = require("assert");
-    var util = require_util10();
-    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
-    var tls;
-    var SessionCache;
-    if (global.FinalizationRegistry && !process.env.NODE_V8_COVERAGE) {
-      SessionCache = class WeakSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
-          this._sessionRegistry = new global.FinalizationRegistry((key) => {
-            if (this._sessionCache.size < this._maxCachedSessions) {
-              return;
+    }
+    function bodyMixinMethods(instance) {
+      const methods = {
+        blob() {
+          return consumeBody(this, (bytes) => {
+            let mimeType = bodyMimeType(this);
+            if (mimeType === null) {
+              mimeType = "";
+            } else if (mimeType) {
+              mimeType = serializeAMimeType(mimeType);
             }
-            const ref = this._sessionCache.get(key);
-            if (ref !== void 0 && ref.deref() === void 0) {
-              this._sessionCache.delete(key);
+            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 FormData2();
+                  fd[kState] = parsed;
+                  return fd;
+                }
+                case "application/x-www-form-urlencoded": {
+                  const entries = new URLSearchParams(value.toString());
+                  const fd = new FormData2();
+                  for (const [name, value2] of entries) {
+                    fd.append(name, value2);
+                  }
+                  return fd;
+                }
+              }
             }
-          });
-        }
-        get(sessionKey) {
-          const ref = this._sessionCache.get(sessionKey);
-          return ref ? ref.deref() : null;
-        }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
-            return;
-          }
-          this._sessionCache.set(sessionKey, new WeakRef(session));
-          this._sessionRegistry.register(session, sessionKey);
-        }
-      };
-    } else {
-      SessionCache = class SimpleSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
-        }
-        get(sessionKey) {
-          return this._sessionCache.get(sessionKey);
-        }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
-            return;
-          }
-          if (this._sessionCache.size >= this._maxCachedSessions) {
-            const { value: oldestKey } = this._sessionCache.keys().next();
-            this._sessionCache.delete(oldestKey);
-          }
-          this._sessionCache.set(sessionKey, session);
+            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 buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, ...opts }) {
-      if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
-        throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
+    function 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");
       }
-      const options = { path: socketPath, ...opts };
-      const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
-      timeout = timeout == null ? 1e4 : timeout;
-      allowH2 = allowH2 != null ? allowH2 : false;
-      return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
-        let socket;
-        if (protocol === "https:") {
-          if (!tls) {
-            tls = require("tls");
-          }
-          servername = servername || options.servername || util.getServerName(host) || null;
-          const sessionKey = servername || hostname;
-          const session = sessionCache.get(sessionKey) || null;
-          assert(sessionKey);
-          socket = tls.connect({
-            highWaterMark: 16384,
-            // TLS in node can't have bigger HWM anyway...
-            ...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: port || 443,
-            host: hostname
-          });
-          socket.on("session", function(session2) {
-            sessionCache.set(sessionKey, session2);
-          });
-        } else {
-          assert(!httpSocket, "httpSocket can only be sent on TLS update");
-          socket = net.connect({
-            highWaterMark: 64 * 1024,
-            // Same as nodejs fs streams.
-            ...options,
-            localAddress,
-            port: port || 80,
-            host: hostname
-          });
-        }
-        if (options.keepAlive == null || options.keepAlive) {
-          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
-          socket.setKeepAlive(true, keepAliveInitialDelay);
+      throwIfAborted(object[kState]);
+      const promise = createDeferredPromise();
+      const errorSteps = (error3) => promise.reject(error3);
+      const successSteps = (data) => {
+        try {
+          promise.resolve(convertBytesToJSValue(data));
+        } catch (e) {
+          errorSteps(e);
         }
-        const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout);
-        socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(null, this);
-          }
-        }).on("error", function(err) {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(err);
-          }
-        });
-        return socket;
       };
-    }
-    function setupTimeout(onConnectTimeout2, timeout) {
-      if (!timeout) {
-        return () => {
-        };
+      if (object[kState].body == null) {
+        successSteps(Buffer.allocUnsafe(0));
+        return promise.promise;
       }
-      let s1 = null;
-      let s2 = null;
-      const timeoutId = setTimeout(() => {
-        s1 = setImmediate(() => {
-          if (process.platform === "win32") {
-            s2 = setImmediate(() => onConnectTimeout2());
-          } else {
-            onConnectTimeout2();
-          }
-        });
-      }, timeout);
-      return () => {
-        clearTimeout(timeoutId);
-        clearImmediate(s1);
-        clearImmediate(s2);
-      };
-    }
-    function onConnectTimeout(socket) {
-      util.destroy(socket, new ConnectTimeoutError());
-    }
-    module2.exports = buildConnector;
-  }
-});
-
-// node_modules/undici/lib/llhttp/utils.js
-var require_utils3 = __commonJS({
-  "node_modules/undici/lib/llhttp/utils.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.enumToMap = void 0;
-    function enumToMap(obj) {
-      const res = {};
-      Object.keys(obj).forEach((key) => {
-        const value = obj[key];
-        if (typeof value === "number") {
-          res[key] = value;
-        }
-      });
-      return res;
+      await fullyReadBody(object[kState].body, successSteps, errorSteps);
+      return promise.promise;
     }
-    exports2.enumToMap = enumToMap;
-  }
-});
-
-// node_modules/undici/lib/llhttp/constants.js
-var require_constants8 = __commonJS({
-  "node_modules/undici/lib/llhttp/constants.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
-    var utils_1 = require_utils3();
-    var ERROR;
-    (function(ERROR2) {
-      ERROR2[ERROR2["OK"] = 0] = "OK";
-      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
-      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
-      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
-      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
-      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
-      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
-      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
-      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
-      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
-      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
-      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
-      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
-      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
-      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
-      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
-      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
-      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
-      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
-      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
-      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
-      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
-      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
-      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
-      ERROR2[ERROR2["USER"] = 24] = "USER";
-    })(ERROR = 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];
-      }
-    });
-    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));
+    function bodyUnusable(object) {
+      const body = object[kState].body;
+      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
     }
-    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);
+    function parseJSONFromBytes(bytes) {
+      return JSON.parse(utf8DecodeBytes(bytes));
     }
-    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);
+    function bodyMimeType(requestOrResponse) {
+      const headers = requestOrResponse[kState].headersList;
+      const mimeType = extractMimeType(headers);
+      if (mimeType === "failure") {
+        return null;
       }
+      return mimeType;
     }
-    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
+    module2.exports = {
+      extractBody,
+      safelyExtractBody,
+      cloneBody,
+      mixinBody,
+      streamRegistry,
+      hasFinalizationRegistry,
+      bodyUnusable
     };
   }
 });
 
-// node_modules/undici/lib/handler/RedirectHandler.js
-var require_RedirectHandler = __commonJS({
-  "node_modules/undici/lib/handler/RedirectHandler.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js
+var require_client_h12 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js"(exports2, module2) {
     "use strict";
+    var assert = require("node:assert");
     var util = require_util10();
-    var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
-    var { InvalidArgumentError } = require_errors2();
-    var EE = require("events");
-    var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
-    var kBody = /* @__PURE__ */ Symbol("body");
-    var BodyAsyncIterable = class {
-      constructor(body) {
-        this[kBody] = body;
-        this[kBodyUsed] = false;
-      }
-      async *[Symbol.asyncIterator]() {
-        assert(!this[kBodyUsed], "disturbed");
-        this[kBodyUsed] = true;
-        yield* this[kBody];
+    var { channels } = require_diagnostics2();
+    var timers = require_timers2();
+    var {
+      RequestContentLengthMismatchError,
+      ResponseContentLengthMismatchError,
+      RequestAbortedError,
+      HeadersTimeoutError,
+      HeadersOverflowError,
+      SocketError,
+      InformationalError,
+      BodyTimeoutError,
+      HTTPParserError,
+      ResponseExceededMaxSizeError
+    } = require_errors2();
+    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_symbols6();
+    var constants = require_constants7();
+    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_wasm2() : void 0;
+      let mod;
+      try {
+        mod = await WebAssembly.compile(require_llhttp_simd_wasm2());
+      } catch (e) {
+        mod = await WebAssembly.compile(llhttpWasmData || require_llhttp_wasm2());
       }
-    };
-    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 = [];
-        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;
-            });
+      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;
           }
-        } 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(error3) {
-        this.handler.onError(error3);
-      }
-      onHeaders(statusCode, headers, resume, statusText) {
-        this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers);
-        if (this.opts.origin) {
-          this.history.push(new URL(this.opts.path, this.opts.origin));
-        }
-        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 path3 = search ? `${pathname}${search}` : pathname;
-        this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
-        this.opts.path = path3;
-        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].toString().toLowerCase() === "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/redirectInterceptor.js
-var require_redirectInterceptor = __commonJS({
-  "node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports2, module2) {
-    "use strict";
-    var RedirectHandler = require_RedirectHandler();
-    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/llhttp/llhttp-wasm.js
-var require_llhttp_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8=";
-  }
-});
-
-// node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
-var require_llhttp_simd_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==";
-  }
-});
-
-// node_modules/undici/lib/client.js
-var require_client2 = __commonJS({
-  "node_modules/undici/lib/client.js"(exports2, module2) {
-    "use strict";
-    var assert = require("assert");
-    var net = require("net");
-    var http = require("http");
-    var { pipeline } = require("stream");
-    var util = require_util10();
-    var timers = require_timers2();
-    var Request = require_request3();
-    var DispatcherBase = require_dispatcher_base2();
-    var {
-      RequestContentLengthMismatchError,
-      ResponseContentLengthMismatchError,
-      InvalidArgumentError,
-      RequestAbortedError,
-      HeadersTimeoutError,
-      HeadersOverflowError,
-      SocketError,
-      InformationalError,
-      BodyTimeoutError,
-      HTTPParserError,
-      ResponseExceededMaxSizeError,
-      ClientDestroyedError
-    } = require_errors2();
-    var buildConnector = require_connect2();
-    var {
-      kUrl,
-      kReset,
-      kServerName,
-      kClient,
-      kBusy,
-      kParser,
-      kConnect,
-      kBlocking,
-      kResuming,
-      kRunning,
-      kPending,
-      kSize,
-      kWriting,
-      kQueue,
-      kConnected,
-      kConnecting,
-      kNeedDrain,
-      kNoRef,
-      kKeepAliveDefaultTimeout,
-      kHostHeader,
-      kPendingIdx,
-      kRunningIdx,
-      kError,
-      kPipelining,
-      kSocket,
-      kKeepAliveTimeoutValue,
-      kMaxHeadersSize,
-      kKeepAliveMaxTimeout,
-      kKeepAliveTimeoutThreshold,
-      kHeadersTimeout,
-      kBodyTimeout,
-      kStrictContentLength,
-      kConnector,
-      kMaxRedirections,
-      kMaxRequests,
-      kCounter,
-      kClose,
-      kDestroy,
-      kDispatch,
-      kInterceptors,
-      kLocalAddress,
-      kMaxResponseSize,
-      kHTTPConnVersion,
-      // HTTP2
-      kHost,
-      kHTTP2Session,
-      kHTTP2SessionState,
-      kHTTP2BuildRequest,
-      kHTTP2CopyHeaders,
-      kHTTP1BuildRequest
-    } = require_symbols6();
-    var http2;
-    try {
-      http2 = require("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;
-    var h2ExperimentalWarned = false;
-    var FastBuffer = Buffer[Symbol.species];
-    var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
-    var channels = {};
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.sendHeaders = diagnosticsChannel.channel("undici:client:sendHeaders");
-      channels.beforeConnect = diagnosticsChannel.channel("undici:client:beforeConnect");
-      channels.connectError = diagnosticsChannel.channel("undici:client:connectError");
-      channels.connected = diagnosticsChannel.channel("undici:client:connected");
-    } catch {
-      channels.sendHeaders = { hasSubscribers: false };
-      channels.beforeConnect = { hasSubscribers: false };
-      channels.connectError = { hasSubscribers: false };
-      channels.connected = { hasSubscribers: false };
-    }
-    var Client = class extends DispatcherBase {
-      /**
-       *
-       * @param {string|URL} url
-       * @param {import('../types/client').Client.Options} options
-       */
-      constructor(url, {
-        interceptors,
-        maxHeaderSize,
-        headersTimeout,
-        socketTimeout,
-        requestTimeout,
-        connectTimeout,
-        bodyTimeout,
-        idleTimeout,
-        keepAlive,
-        keepAliveTimeout,
-        maxKeepAliveTimeout,
-        keepAliveMaxTimeout,
-        keepAliveTimeoutThreshold,
-        socketPath,
-        pipelining,
-        tls,
-        strictContentLength,
-        maxCachedSessions,
-        maxRedirections,
-        connect: connect2,
-        maxRequestsPerClient,
-        localAddress,
-        maxResponseSize,
-        autoSelectFamily,
-        autoSelectFamilyAttemptTimeout,
-        // h2
-        allowH2,
-        maxConcurrentStreams
-      } = {}) {
-        super();
-        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 possitive integer, greater than 0");
-        }
-        if (typeof connect2 !== "function") {
-          connect2 = buildConnector({
-            ...tls,
-            maxCachedSessions,
-            allowH2,
-            socketPath,
-            timeout: connectTimeout,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
-            ...connect2
-          });
-        }
-        this[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client) ? interceptors.Client : [createRedirectInterceptor({ maxRedirections })];
-        this[kUrl] = util.parseOrigin(url);
-        this[kConnector] = connect2;
-        this[kSocket] = null;
-        this[kPipelining] = pipelining != null ? pipelining : 1;
-        this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize;
-        this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;
-        this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;
-        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold;
-        this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
-        this[kServerName] = null;
-        this[kLocalAddress] = localAddress != null ? localAddress : null;
-        this[kResuming] = 0;
-        this[kNeedDrain] = 0;
-        this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r
-`;
-        this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5;
-        this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5;
-        this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength;
-        this[kMaxRedirections] = maxRedirections;
-        this[kMaxRequests] = maxRequestsPerClient;
-        this[kClosedResolve] = null;
-        this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
-        this[kHTTPConnVersion] = "h1";
-        this[kHTTP2Session] = null;
-        this[kHTTP2SessionState] = !allowH2 ? null : {
-          // streams: null, // Fixed queue of streams - For future support of `push`
-          openStreams: 0,
-          // Keep track of them to decide wether or not unref the session
-          maxConcurrentStreams: maxConcurrentStreams != null ? maxConcurrentStreams : 100
-          // Max peerConcurrentStreams for a Node h2 server
-        };
-        this[kHost] = `${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}`;
-        this[kQueue] = [];
-        this[kRunningIdx] = 0;
-        this[kPendingIdx] = 0;
-      }
-      get pipelining() {
-        return this[kPipelining];
-      }
-      set pipelining(value) {
-        this[kPipelining] = value;
-        resume(this, 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[kSocket] && !this[kConnecting] && !this[kSocket].destroyed;
-      }
-      get [kBusy]() {
-        const socket = this[kSocket];
-        return socket && (socket[kReset] || socket[kWriting] || socket[kBlocking]) || this[kSize] >= (this[kPipelining] || 1) || this[kPending] > 0;
-      }
-      /* 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 = this[kHTTPConnVersion] === "h2" ? Request[kHTTP2BuildRequest](origin, opts, handler2) : Request[kHTTP1BuildRequest](origin, opts, handler2);
-        this[kQueue].push(request2);
-        if (this[kResuming]) {
-        } else if (util.bodyLength(request2.body) == null && util.isIterable(request2.body)) {
-          this[kResuming] = 1;
-          process.nextTick(resume, this);
-        } else {
-          resume(this, true);
-        }
-        if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
-          this[kNeedDrain] = 2;
-        }
-        return this[kNeedDrain] < 2;
-      }
-      async [kClose]() {
-        return new Promise((resolve2) => {
-          if (!this[kSize]) {
-            resolve2(null);
-          } else {
-            this[kClosedResolve] = resolve2;
-          }
-        });
-      }
-      async [kDestroy](err) {
-        return new Promise((resolve2) => {
-          const requests = this[kQueue].splice(this[kPendingIdx]);
-          for (let i = 0; i < requests.length; i++) {
-            const request2 = requests[i];
-            errorRequest2(this, request2, err);
-          }
-          const callback = () => {
-            if (this[kClosedResolve]) {
-              this[kClosedResolve]();
-              this[kClosedResolve] = null;
-            }
-            resolve2();
-          };
-          if (this[kHTTP2Session] != null) {
-            util.destroy(this[kHTTP2Session], err);
-            this[kHTTP2Session] = null;
-            this[kHTTP2SessionState] = null;
-          }
-          if (!this[kSocket]) {
-            queueMicrotask(callback);
-          } else {
-            util.destroy(this[kSocket].on("close", callback), err);
-          }
-          resume(this);
-        });
-      }
-    };
-    function onHttp2SessionError(err) {
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      this[kSocket][kError] = err;
-      onError(this[kClient], err);
-    }
-    function onHttp2FrameError(type2, code, id) {
-      const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-      if (id === 0) {
-        this[kSocket][kError] = err;
-        onError(this[kClient], err);
-      }
-    }
-    function onHttp2SessionEnd() {
-      util.destroy(this, new SocketError("other side closed"));
-      util.destroy(this[kSocket], new SocketError("other side closed"));
-    }
-    function onHTTP2GoAway(code) {
-      const client = this[kClient];
-      const err = new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`);
-      client[kSocket] = null;
-      client[kHTTP2Session] = null;
-      if (client.destroyed) {
-        assert(this[kPending] === 0);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(this, request2, err);
-        }
-      } else if (client[kRunning] > 0) {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
-      }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit(
-        "disconnect",
-        client[kUrl],
-        [client],
-        err
-      );
-      resume(client);
-    }
-    var constants = require_constants8();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var EMPTY_BUF = Buffer.alloc(0);
-    async function lazyllhttp() {
-      const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm2() : void 0;
-      let mod;
-      try {
-        mod = await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm2(), "base64"));
-      } catch (e) {
-        mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require_llhttp_wasm2(), "base64"));
-      }
-      return await WebAssembly.instantiate(mod, {
-        env: {
-          /* eslint-disable camelcase */
-          wasm_on_url: (p, at, len) => {
-            return 0;
-          },
-          wasm_on_status: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_message_begin: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onMessageBegin() || 0;
-          },
-          wasm_on_header_field: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_header_value: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;
-          },
-          wasm_on_body: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_message_complete: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onMessageComplete() || 0;
-          }
-          /* eslint-enable camelcase */
+          /* eslint-enable camelcase */
         }
       });
     }
@@ -46108,9 +44804,11 @@ var require_client2 = __commonJS({
     var currentBufferRef = null;
     var currentBufferSize = 0;
     var currentBufferPtr = null;
-    var TIMEOUT_HEADERS = 1;
-    var TIMEOUT_BODY = 2;
-    var TIMEOUT_IDLE = 3;
+    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);
@@ -46136,24 +44834,27 @@ var require_client2 = __commonJS({
         this.connection = "";
         this.maxResponseSize = client[kMaxResponseSize];
       }
-      setTimeout(value, type2) {
-        this.timeoutType = type2;
-        if (value !== this.timeoutValue) {
-          timers.clearTimeout(this.timeout);
-          if (value) {
-            this.timeout = timers.setTimeout(onParserTimeout, value, this);
-            if (this.timeout.unref) {
+      setTimeout(delay2, type2) {
+        if (delay2 !== this.timeoutValue || type2 & USE_FAST_TIMER ^ this.timeoutType & USE_FAST_TIMER) {
+          if (this.timeout) {
+            timers.clearTimeout(this.timeout);
+            this.timeout = null;
+          }
+          if (delay2) {
+            if (type2 & USE_FAST_TIMER) {
+              this.timeout = timers.setFastTimeout(onParserTimeout, delay2, new WeakRef(this));
+            } else {
+              this.timeout = setTimeout(onParserTimeout, delay2, new WeakRef(this));
               this.timeout.unref();
             }
-          } else {
-            this.timeout = null;
           }
-          this.timeoutValue = value;
+          this.timeoutValue = delay2;
         } else if (this.timeout) {
           if (this.timeout.refresh) {
             this.timeout.refresh();
           }
         }
+        this.timeoutType = type2;
       }
       resume() {
         if (this.socket.destroyed || !this.paused) {
@@ -46230,7 +44931,7 @@ var require_client2 = __commonJS({
         assert(currentParser == null);
         this.llhttp.llhttp_free(this.ptr);
         this.ptr = null;
-        timers.clearTimeout(this.timeout);
+        this.timeout && timers.clearTimeout(this.timeout);
         this.timeout = null;
         this.timeoutValue = null;
         this.timeoutType = null;
@@ -46248,6 +44949,7 @@ var require_client2 = __commonJS({
         if (!request2) {
           return -1;
         }
+        request2.onResponseStarted();
       }
       onHeaderField(buf) {
         const len = this.headers.length;
@@ -46267,11 +44969,14 @@ var require_client2 = __commonJS({
           this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
         }
         const key = this.headers[len - 2];
-        if (key.length === 10 && key.toString().toLowerCase() === "keep-alive") {
-          this.keepAlive += buf.toString();
-        } else if (key.length === 10 && key.toString().toLowerCase() === "connection") {
-          this.connection += buf.toString();
-        } else if (key.length === 14 && key.toString().toLowerCase() === "content-length") {
+        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);
@@ -46285,16 +44990,16 @@ var require_client2 = __commonJS({
       onUpgrade(head) {
         const { upgrade, client, socket, headers, statusCode } = this;
         assert(upgrade);
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
+        assert(client[kSocket] === socket);
         assert(!socket.destroyed);
-        assert(socket === client[kSocket]);
         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;
-        assert(this.headers.length % 2 === 0);
         this.headers = [];
         this.headersSize = 0;
         socket.unshift(head);
@@ -46302,8 +45007,9 @@ var require_client2 = __commonJS({
         socket[kParser] = null;
         socket[kClient] = null;
         socket[kError] = null;
-        socket.removeListener("error", onSocketError).removeListener("readable", onSocketReadable).removeListener("end", onSocketEnd).removeListener("close", onSocketClose);
+        removeAllListeners(socket);
         client[kSocket] = null;
+        client[kHTTPContext] = null;
         client[kQueue][client[kRunningIdx]++] = null;
         client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
         try {
@@ -46311,7 +45017,7 @@ var require_client2 = __commonJS({
         } catch (err) {
           util.destroy(socket, err);
         }
-        resume(client);
+        client[kResume]();
       }
       onHeadersComplete(statusCode, upgrade, shouldKeepAlive) {
         const { client, socket, headers, statusText } = this;
@@ -46332,7 +45038,7 @@ var require_client2 = __commonJS({
           util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket)));
           return -1;
         }
-        assert.strictEqual(this.timeoutType, TIMEOUT_HEADERS);
+        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";
@@ -46354,7 +45060,7 @@ var require_client2 = __commonJS({
           this.upgrade = true;
           return 2;
         }
-        assert(this.headers.length % 2 === 0);
+        assert((this.headers.length & 1) === 0);
         this.headers = [];
         this.headersSize = 0;
         if (this.shouldKeepAlive && client[kPipelining]) {
@@ -46387,7 +45093,7 @@ var require_client2 = __commonJS({
         }
         if (socket[kBlocking]) {
           socket[kBlocking] = false;
-          resume(client);
+          client[kResume]();
         }
         return pause ? constants.ERROR.PAUSED : 0;
       }
@@ -46398,7 +45104,7 @@ var require_client2 = __commonJS({
         }
         const request2 = client[kQueue][client[kRunningIdx]];
         assert(request2);
-        assert.strictEqual(this.timeoutType, TIMEOUT_BODY);
+        assert(this.timeoutType === TIMEOUT_BODY);
         if (this.timeout) {
           if (this.timeout.refresh) {
             this.timeout.refresh();
@@ -46422,16 +45128,16 @@ var require_client2 = __commonJS({
         if (upgrade) {
           return;
         }
+        assert(statusCode >= 100);
+        assert((this.headers.length & 1) === 0);
         const request2 = client[kQueue][client[kRunningIdx]];
         assert(request2);
-        assert(statusCode >= 100);
         this.statusCode = null;
         this.statusText = "";
         this.bytesRead = 0;
         this.contentLength = "";
         this.keepAlive = "";
         this.connection = "";
-        assert(this.headers.length % 2 === 0);
         this.headers = [];
         this.headersSize = 0;
         if (statusCode < 200) {
@@ -46444,7 +45150,7 @@ var require_client2 = __commonJS({
         request2.onComplete(headers);
         client[kQueue][client[kRunningIdx]++] = null;
         if (socket[kWriting]) {
-          assert.strictEqual(client[kRunning], 0);
+          assert(client[kRunning] === 0);
           util.destroy(socket, new InformationalError("reset"));
           return constants.ERROR.PAUSED;
         } else if (!shouldKeepAlive) {
@@ -46453,352 +45159,186 @@ var require_client2 = __commonJS({
         } else if (socket[kReset] && client[kRunning] === 0) {
           util.destroy(socket, new InformationalError("reset"));
           return constants.ERROR.PAUSED;
-        } else if (client[kPipelining] === 1) {
-          setImmediate(resume, client);
+        } else if (client[kPipelining] == null || client[kPipelining] === 1) {
+          setImmediate(() => client[kResume]());
         } else {
-          resume(client);
+          client[kResume]();
         }
       }
     };
     function onParserTimeout(parser) {
-      const { socket, timeoutType, client } = parser;
+      const { socket, timeoutType, client, paused } = parser.deref();
       if (timeoutType === TIMEOUT_HEADERS) {
         if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
-          assert(!parser.paused, "cannot be paused while waiting for headers");
+          assert(!paused, "cannot be paused while waiting for headers");
           util.destroy(socket, new HeadersTimeoutError());
         }
       } else if (timeoutType === TIMEOUT_BODY) {
-        if (!parser.paused) {
+        if (!paused) {
           util.destroy(socket, new BodyTimeoutError());
         }
-      } else if (timeoutType === TIMEOUT_IDLE) {
+      } else if (timeoutType === TIMEOUT_KEEP_ALIVE) {
         assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
         util.destroy(socket, new InformationalError("socket idle timeout"));
       }
     }
-    function onSocketReadable() {
-      const { [kParser]: parser } = this;
-      if (parser) {
-        parser.readMore();
+    async function connectH1(client, socket) {
+      client[kSocket] = socket;
+      if (!llhttpInstance) {
+        llhttpInstance = await llhttpPromise;
+        llhttpPromise = null;
       }
-    }
-    function onSocketError(err) {
-      const { [kClient]: client, [kParser]: parser } = this;
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      if (client[kHTTPConnVersion] !== "h2") {
+      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;
-      onError(this[kClient], err);
-    }
-    function onError(client, err) {
-      if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
-        assert(client[kPendingIdx] === client[kRunningIdx]);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
+        this[kError] = err;
+        this[kClient][kOnError](err);
+      });
+      addListener(socket, "readable", function() {
+        const parser = this[kParser];
+        if (parser) {
+          parser.readMore();
         }
-        assert(client[kSize] === 0);
-      }
-    }
-    function onSocketEnd() {
-      const { [kParser]: parser, [kClient]: client } = this;
-      if (client[kHTTPConnVersion] !== "h2") {
+      });
+      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)));
-    }
-    function onSocketClose() {
-      const { [kClient]: client, [kParser]: parser } = this;
-      if (client[kHTTPConnVersion] === "h1" && 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));
-      client[kSocket] = null;
-      if (client.destroyed) {
-        assert(client[kPending] === 0);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
-        }
-      } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
-      }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit("disconnect", client[kUrl], [client], err);
-      resume(client);
-    }
-    async function connect(client) {
-      assert(!client[kConnecting]);
-      assert(!client[kSocket]);
-      let { host, hostname, protocol, port } = client[kUrl];
-      if (hostname[0] === "[") {
-        const idx = hostname.indexOf("]");
-        assert(idx !== -1);
-        const ip = hostname.substring(1, idx);
-        assert(net.isIP(ip));
-        hostname = ip;
-      }
-      client[kConnecting] = true;
-      if (channels.beforeConnect.hasSubscribers) {
-        channels.beforeConnect.publish({
-          connectParams: {
-            host,
-            hostname,
-            protocol,
-            port,
-            servername: client[kServerName],
-            localAddress: client[kLocalAddress]
-          },
-          connector: client[kConnector]
-        });
-      }
-      try {
-        const socket = await new Promise((resolve2, reject) => {
-          client[kConnector]({
-            host,
-            hostname,
-            protocol,
-            port,
-            servername: client[kServerName],
-            localAddress: client[kLocalAddress]
-          }, (err, socket2) => {
-            if (err) {
-              reject(err);
-            } else {
-              resolve2(socket2);
-            }
-          });
-        });
-        if (client.destroyed) {
-          util.destroy(socket.on("error", () => {
-          }), new ClientDestroyedError());
-          return;
-        }
-        client[kConnecting] = false;
-        assert(socket);
-        const isH2 = socket.alpnProtocol === "h2";
-        if (isH2) {
-          if (!h2ExperimentalWarned) {
-            h2ExperimentalWarned = true;
-            process.emitWarning("H2 support is experimental, expect them to change at any time.", {
-              code: "UNDICI-H2"
-            });
-          }
-          const session = http2.connect(client[kUrl], {
-            createConnection: () => socket,
-            peerMaxConcurrentStreams: client[kHTTP2SessionState].maxConcurrentStreams
-          });
-          client[kHTTPConnVersion] = "h2";
-          session[kClient] = client;
-          session[kSocket] = socket;
-          session.on("error", onHttp2SessionError);
-          session.on("frameError", onHttp2FrameError);
-          session.on("end", onHttp2SessionEnd);
-          session.on("goaway", onHTTP2GoAway);
-          session.on("close", onSocketClose);
-          session.unref();
-          client[kHTTP2Session] = session;
-          socket[kHTTP2Session] = session;
-        } else {
-          if (!llhttpInstance) {
-            llhttpInstance = await llhttpPromise;
-            llhttpPromise = null;
+        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();
           }
-          socket[kNoRef] = false;
-          socket[kWriting] = false;
-          socket[kReset] = false;
-          socket[kBlocking] = false;
-          socket[kParser] = new Parser(client, socket, llhttpInstance);
-        }
-        socket[kCounter] = 0;
-        socket[kMaxRequests] = client[kMaxRequests];
-        socket[kClient] = client;
-        socket[kError] = null;
-        socket.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose);
-        client[kSocket] = socket;
-        if (channels.connected.hasSubscribers) {
-          channels.connected.publish({
-            connectParams: {
-              host,
-              hostname,
-              protocol,
-              port,
-              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,
-              servername: client[kServerName],
-              localAddress: client[kLocalAddress]
-            },
-            connector: client[kConnector],
-            error: err
-          });
+          this[kParser].destroy();
+          this[kParser] = null;
         }
-        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]++];
-            errorRequest2(client, request2, err);
+        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 {
-          onError(client, err);
-        }
-        client.emit("connectionError", client[kUrl], [client], err);
-      }
-      resume(client);
-    }
-    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;
+        } 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);
         }
-        const socket = client[kSocket];
-        if (socket && !socket.destroyed && socket.alpnProtocol !== "h2") {
-          if (client[kSize] === 0) {
-            if (!socket[kNoRef] && socket.unref) {
-              socket.unref();
-              socket[kNoRef] = true;
-            }
-          } else if (socket[kNoRef] && socket.ref) {
-            socket.ref();
-            socket[kNoRef] = false;
+        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 (client[kSize] === 0) {
-            if (socket[kParser].timeoutType !== TIMEOUT_IDLE) {
-              socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE);
+          if (request2) {
+            if (client[kRunning] > 0 && !request2.idempotent) {
+              return true;
+            }
+            if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
+              return true;
             }
-          } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
-            if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
-              const request3 = client[kQueue][client[kRunningIdx]];
-              const headersTimeout = request3.headersTimeout != null ? request3.headersTimeout : client[kHeadersTimeout];
-              socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
+            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;
         }
-        if (client[kBusy]) {
-          client[kNeedDrain] = 2;
-        } else if (client[kNeedDrain] === 2) {
-          if (sync) {
-            client[kNeedDrain] = 1;
-            process.nextTick(emitDrain, client);
-          } else {
-            emitDrain(client);
+      };
+    }
+    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;
           }
-          continue;
-        }
-        if (client[kPending] === 0) {
-          return;
-        }
-        if (client[kRunning] >= (client[kPipelining] || 1)) {
-          return;
+        } else if (socket[kNoRef] && socket.ref) {
+          socket.ref();
+          socket[kNoRef] = false;
         }
-        const request2 = client[kQueue][client[kPendingIdx]];
-        if (client[kUrl].protocol === "https:" && client[kServerName] !== request2.servername) {
-          if (client[kRunning] > 0) {
-            return;
+        if (client[kSize] === 0) {
+          if (socket[kParser].timeoutType !== TIMEOUT_KEEP_ALIVE) {
+            socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_KEEP_ALIVE);
           }
-          client[kServerName] = request2.servername;
-          if (socket && socket.servername !== request2.servername) {
-            util.destroy(socket, new InformationalError("servername changed"));
-            return;
+        } 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);
           }
         }
-        if (client[kConnecting]) {
-          return;
-        }
-        if (!socket && !client[kHTTP2Session]) {
-          connect(client);
-          return;
-        }
-        if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) {
-          return;
-        }
-        if (client[kRunning] > 0 && !request2.idempotent) {
-          return;
-        }
-        if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
-          return;
-        }
-        if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body))) {
-          return;
-        }
-        if (!request2.aborted && write(client, request2)) {
-          client[kPendingIdx]++;
-        } else {
-          client[kQueue].splice(client[kPendingIdx], 1);
-        }
       }
     }
     function shouldSendContentLength(method) {
       return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
     }
-    function write(client, request2) {
-      if (client[kHTTPConnVersion] === "h2") {
-        writeH2(client, client[kHTTP2Session], request2);
-        return;
+    function writeH1(client, request2) {
+      const { method, path: path3, host, upgrade, blocking, reset } = request2;
+      let { body, headers, contentLength } = request2;
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH" || method === "QUERY" || method === "PROPFIND" || method === "PROPPATCH";
+      if (util.isFormDataLike(body)) {
+        if (!extractBody) {
+          extractBody = require_body2().extractBody;
+        }
+        const [bodyStream, contentType] = extractBody(body);
+        if (request2.contentType == null) {
+          headers.push("content-type", contentType);
+        }
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
+      } else if (util.isBlobLike(body) && request2.contentType == null && body.type) {
+        headers.push("content-type", body.type);
       }
-      const { body, method, path: path3, host, upgrade, headers, blocking, reset } = request2;
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
       if (body && typeof body.read === "function") {
         body.read(0);
       }
       const bodyLength = util.bodyLength(body);
-      let contentLength = bodyLength;
+      contentLength = bodyLength ?? contentLength;
       if (contentLength === null) {
         contentLength = request2.contentLength;
       }
@@ -46807,22 +45347,24 @@ var require_client2 = __commonJS({
       }
       if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
         if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
+          util.errorRequest(client, request2, new RequestContentLengthMismatchError());
           return false;
         }
         process.emitWarning(new RequestContentLengthMismatchError());
       }
       const socket = client[kSocket];
+      const abort = (err) => {
+        if (request2.aborted || request2.completed) {
+          return;
+        }
+        util.errorRequest(client, request2, err || new RequestAbortedError());
+        util.destroy(body);
+        util.destroy(socket, new InformationalError("aborted"));
+      };
       try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
-            return;
-          }
-          errorRequest2(client, request2, err || new RequestAbortedError());
-          util.destroy(socket, new InformationalError("aborted"));
-        });
+        request2.onConnect(abort);
       } catch (err) {
-        errorRequest2(client, request2, err);
+        util.errorRequest(client, request2, err);
       }
       if (request2.aborted) {
         return false;
@@ -46859,257 +45401,47 @@ upgrade: ${upgrade}\r
       } else {
         header += "connection: close\r\n";
       }
-      if (headers) {
-        header += headers;
+      if (Array.isArray(headers)) {
+        for (let n = 0; n < headers.length; n += 2) {
+          const key = headers[n + 0];
+          const val = headers[n + 1];
+          if (Array.isArray(val)) {
+            for (let i = 0; i < val.length; i++) {
+              header += `${key}: ${val[i]}\r
+`;
+            }
+          } else {
+            header += `${key}: ${val}\r
+`;
+          }
+        }
       }
       if (channels.sendHeaders.hasSubscribers) {
         channels.sendHeaders.publish({ request: request2, headers: header, socket });
       }
       if (!body || bodyLength === 0) {
-        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");
-        }
-        request2.onRequestSent();
+        writeBuffer(abort, null, client, request2, socket, contentLength, header, expectsPayload);
       } else if (util.isBuffer(body)) {
-        assert(contentLength === body.byteLength, "buffer body must have content length");
-        socket.cork();
-        socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-        socket.write(body);
-        socket.uncork();
-        request2.onBodySent(body);
-        request2.onRequestSent();
-        if (!expectsPayload) {
-          socket[kReset] = true;
-        }
+        writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload);
       } else if (util.isBlobLike(body)) {
         if (typeof body.stream === "function") {
-          writeIterable({ body: body.stream(), client, request: request2, socket, contentLength, header, expectsPayload });
+          writeIterable(abort, body.stream(), client, request2, socket, contentLength, header, expectsPayload);
         } else {
-          writeBlob({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+          writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload);
         }
       } else if (util.isStream(body)) {
-        writeStream({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+        writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload);
       } else if (util.isIterable(body)) {
-        writeIterable({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+        writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload);
       } else {
         assert(false);
       }
       return true;
     }
-    function writeH2(client, session, request2) {
-      const { body, method, path: path3, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
-      let headers;
-      if (typeof reqHeaders === "string") headers = Request[kHTTP2CopyHeaders](reqHeaders.trim());
-      else headers = reqHeaders;
-      if (upgrade) {
-        errorRequest2(client, request2, new Error("Upgrade not supported for H2"));
-        return false;
-      }
-      try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
-            return;
-          }
-          errorRequest2(client, request2, err || new RequestAbortedError());
-        });
-      } catch (err) {
-        errorRequest2(client, request2, err);
-      }
-      if (request2.aborted) {
-        return false;
-      }
-      let stream;
-      const h2State = client[kHTTP2SessionState];
-      headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost];
-      headers[HTTP2_HEADER_METHOD] = method;
-      if (method === "CONNECT") {
-        session.ref();
-        stream = session.request(headers, { endStream: false, signal });
-        if (stream.id && !stream.pending) {
-          request2.onUpgrade(null, null, stream);
-          ++h2State.openStreams;
-        } else {
-          stream.once("ready", () => {
-            request2.onUpgrade(null, null, stream);
-            ++h2State.openStreams;
-          });
-        }
-        stream.once("close", () => {
-          h2State.openStreams -= 1;
-          if (h2State.openStreams === 0) session.unref();
-        });
-        return true;
-      }
-      headers[HTTP2_HEADER_PATH] = path3;
-      headers[HTTP2_HEADER_SCHEME] = "https";
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
-      if (body && typeof body.read === "function") {
-        body.read(0);
-      }
-      let contentLength = util.bodyLength(body);
-      if (contentLength == null) {
-        contentLength = request2.contentLength;
-      }
-      if (contentLength === 0 || !expectsPayload) {
-        contentLength = null;
-      }
-      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
-        if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
-          return false;
-        }
-        process.emitWarning(new RequestContentLengthMismatchError());
-      }
-      if (contentLength != null) {
-        assert(body, "no body must not have content length");
-        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
-      }
-      session.ref();
-      const shouldEndStream = method === "GET" || method === "HEAD";
-      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();
-      }
-      ++h2State.openStreams;
-      stream.once("response", (headers2) => {
-        const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
-        if (request2.onHeaders(Number(statusCode), realHeaders, stream.resume.bind(stream), "") === false) {
-          stream.pause();
-        }
-      });
-      stream.once("end", () => {
-        request2.onComplete([]);
-      });
-      stream.on("data", (chunk) => {
-        if (request2.onData(chunk) === false) {
-          stream.pause();
-        }
-      });
-      stream.once("close", () => {
-        h2State.openStreams -= 1;
-        if (h2State.openStreams === 0) {
-          session.unref();
-        }
-      });
-      stream.once("error", function(err) {
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream, err);
-        }
-      });
-      stream.once("frameError", (type2, code) => {
-        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-        errorRequest2(client, request2, err);
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream, err);
-        }
-      });
-      return true;
-      function writeBodyH2() {
-        if (!body) {
-          request2.onRequestSent();
-        } else if (util.isBuffer(body)) {
-          assert(contentLength === body.byteLength, "buffer body must have content length");
-          stream.cork();
-          stream.write(body);
-          stream.uncork();
-          stream.end();
-          request2.onBodySent(body);
-          request2.onRequestSent();
-        } else if (util.isBlobLike(body)) {
-          if (typeof body.stream === "function") {
-            writeIterable({
-              client,
-              request: request2,
-              contentLength,
-              h2stream: stream,
-              expectsPayload,
-              body: body.stream(),
-              socket: client[kSocket],
-              header: ""
-            });
-          } else {
-            writeBlob({
-              body,
-              client,
-              request: request2,
-              contentLength,
-              expectsPayload,
-              h2stream: stream,
-              header: "",
-              socket: client[kSocket]
-            });
-          }
-        } else if (util.isStream(body)) {
-          writeStream({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            socket: client[kSocket],
-            h2stream: stream,
-            header: ""
-          });
-        } else if (util.isIterable(body)) {
-          writeIterable({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            header: "",
-            h2stream: stream,
-            socket: client[kSocket]
-          });
-        } else {
-          assert(false);
-        }
-      }
-    }
-    function writeStream({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
+    function writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
       assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
-      if (client[kHTTPConnVersion] === "h2") {
-        let onPipeData = function(chunk) {
-          request2.onBodySent(chunk);
-        };
-        const pipe = pipeline(
-          body,
-          h2stream,
-          (err) => {
-            if (err) {
-              util.destroy(body, err);
-              util.destroy(h2stream, err);
-            } else {
-              request2.onRequestSent();
-            }
-          }
-        );
-        pipe.on("data", onPipeData);
-        pipe.once("end", () => {
-          pipe.removeListener("data", onPipeData);
-          util.destroy(pipe);
-        });
-        return;
-      }
       let finished = false;
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
       const onData = function(chunk) {
         if (finished) {
           return;
@@ -47130,13 +45462,15 @@ upgrade: ${upgrade}\r
           body.resume();
         }
       };
-      const onAbort = function() {
-        if (finished) {
-          return;
-        }
-        const err = new RequestAbortedError();
-        queueMicrotask(() => onFinished(err));
-      };
+      const onClose = function() {
+        queueMicrotask(() => {
+          body.removeListener("error", onFinished);
+        });
+        if (!finished) {
+          const err = new RequestAbortedError();
+          queueMicrotask(() => onFinished(err));
+        }
+      };
       const onFinished = function(err) {
         if (finished) {
           return;
@@ -47144,7 +45478,7 @@ upgrade: ${upgrade}\r
         finished = true;
         assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
         socket.off("drain", onDrain).off("error", onFinished);
-        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("error", onFinished).removeListener("close", onAbort);
+        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("close", onClose);
         if (!err) {
           try {
             writer.end();
@@ -47159,43 +45493,75 @@ upgrade: ${upgrade}\r
           util.destroy(body);
         }
       };
-      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onAbort);
+      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onClose);
       if (body.resume) {
         body.resume();
       }
       socket.on("drain", onDrain).on("error", onFinished);
+      if (body.errorEmitted ?? body.errored) {
+        setImmediate(() => onFinished(body.errored));
+      } else if (body.endEmitted ?? body.readableEnded) {
+        setImmediate(() => onFinished(null));
+      }
+      if (body.closeEmitted ?? body.closed) {
+        setImmediate(onClose);
+      }
+    }
+    function writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      try {
+        if (!body) {
+          if (contentLength === 0) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
+          } else {
+            assert(contentLength === null, "no body must not have content length");
+            socket.write(`${header}\r
+`, "latin1");
+          }
+        } else if (util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          socket.cork();
+          socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+          socket.write(body);
+          socket.uncork();
+          request2.onBodySent(body);
+          if (!expectsPayload && request2.reset !== false) {
+            socket[kReset] = true;
+          }
+        }
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (err) {
+        abort(err);
+      }
     }
-    async function writeBlob({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
+    async function writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
       assert(contentLength === body.size, "blob body must have content length");
-      const isH2 = client[kHTTPConnVersion] === "h2";
       try {
         if (contentLength != null && contentLength !== body.size) {
           throw new RequestContentLengthMismatchError();
         }
         const buffer = Buffer.from(await body.arrayBuffer());
-        if (isH2) {
-          h2stream.cork();
-          h2stream.write(buffer);
-          h2stream.uncork();
-        } else {
-          socket.cork();
-          socket.write(`${header}content-length: ${contentLength}\r
+        socket.cork();
+        socket.write(`${header}content-length: ${contentLength}\r
 \r
 `, "latin1");
-          socket.write(buffer);
-          socket.uncork();
-        }
+        socket.write(buffer);
+        socket.uncork();
         request2.onBodySent(buffer);
         request2.onRequestSent();
-        if (!expectsPayload) {
+        if (!expectsPayload && request2.reset !== false) {
           socket[kReset] = true;
         }
-        resume(client);
+        client[kResume]();
       } catch (err) {
-        util.destroy(isH2 ? h2stream : socket, err);
+        abort(err);
       }
     }
-    async function writeIterable({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
+    async function writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
       assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
       let callback = null;
       function onDrain() {
@@ -47213,30 +45579,8 @@ upgrade: ${upgrade}\r
           callback = resolve2;
         }
       });
-      if (client[kHTTPConnVersion] === "h2") {
-        h2stream.on("close", onDrain).on("drain", onDrain);
-        try {
-          for await (const chunk of body) {
-            if (socket[kError]) {
-              throw socket[kError];
-            }
-            const res = h2stream.write(chunk);
-            request2.onBodySent(chunk);
-            if (!res) {
-              await waitForDrain();
-            }
-          }
-        } catch (err) {
-          h2stream.destroy(err);
-        } finally {
-          request2.onRequestSent();
-          h2stream.end();
-          h2stream.off("close", onDrain).off("drain", onDrain);
-        }
-        return;
-      }
       socket.on("close", onDrain).on("drain", onDrain);
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
       try {
         for await (const chunk of body) {
           if (socket[kError]) {
@@ -47254,7 +45598,7 @@ upgrade: ${upgrade}\r
       }
     }
     var AsyncWriter = class {
-      constructor({ socket, request: request2, contentLength, client, expectsPayload, header }) {
+      constructor({ abort, socket, request: request2, contentLength, client, expectsPayload, header }) {
         this.socket = socket;
         this.request = request2;
         this.contentLength = contentLength;
@@ -47262,6 +45606,7 @@ upgrade: ${upgrade}\r
         this.bytesWritten = 0;
         this.expectsPayload = expectsPayload;
         this.header = header;
+        this.abort = abort;
         socket[kWriting] = true;
       }
       write(chunk) {
@@ -47284,7 +45629,7 @@ upgrade: ${upgrade}\r
         }
         socket.cork();
         if (bytesWritten === 0) {
-          if (!expectsPayload) {
+          if (!expectsPayload && request2.reset !== false) {
             socket[kReset] = true;
           }
           if (contentLength === null) {
@@ -47348,2577 +45693,1916 @@ ${len.toString(16)}\r
             socket[kParser].timeout.refresh();
           }
         }
-        resume(client);
+        client[kResume]();
       }
       destroy(err) {
-        const { socket, client } = this;
+        const { socket, client, abort } = this;
         socket[kWriting] = false;
         if (err) {
           assert(client[kRunning] <= 1, "pipeline should only contain this request");
-          util.destroy(socket, err);
+          abort(err);
         }
       }
     };
-    function errorRequest2(client, request2, err) {
-      try {
-        request2.onError(err);
-        assert(request2.aborted);
-      } catch (err2) {
-        client.emit("error", err2);
-      }
-    }
-    module2.exports = Client;
+    module2.exports = connectH1;
   }
 });
 
-// node_modules/undici/lib/node/fixed-queue.js
-var require_fixed_queue2 = __commonJS({
-  "node_modules/undici/lib/node/fixed-queue.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h2.js
+var require_client_h22 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h2.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;
+    var assert = require("node:assert");
+    var { pipeline } = require("node:stream");
+    var util = require_util10();
+    var {
+      RequestContentLengthMismatchError,
+      RequestAbortedError,
+      SocketError,
+      InformationalError
+    } = require_errors2();
+    var {
+      kUrl,
+      kReset,
+      kClient,
+      kRunning,
+      kPending,
+      kQueue,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kSocket,
+      kStrictContentLength,
+      kOnError,
+      kMaxConcurrentStreams,
+      kHTTP2Session,
+      kResume,
+      kSize,
+      kHTTPContext
+    } = require_symbols6();
+    var kOpenStreams = /* @__PURE__ */ 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
       }
-    };
-    module2.exports = class FixedQueue {
-      constructor() {
-        this.head = this.tail = new FixedCircularBuffer();
+    } = 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));
+        }
       }
-      isEmpty() {
-        return this.head.isEmpty();
+      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"
+        });
       }
-      push(data) {
-        if (this.head.isFull()) {
-          this.head = this.head.next = new FixedCircularBuffer();
+      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);
+          }
         }
-        this.head.push(data);
-      }
-      shift() {
-        const tail = this.tail;
-        const next = tail.shift();
-        if (tail.isEmpty() && tail.next !== null) {
-          this.tail = tail.next;
+      });
+      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();
         }
-        return next;
-      }
-    };
-  }
-});
-
-// node_modules/undici/lib/pool-stats.js
-var require_pool_stats2 = __commonJS({
-  "node_modules/undici/lib/pool-stats.js"(exports2, module2) {
-    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
-    var kPool = /* @__PURE__ */ 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];
+    }
+    function onHttp2SessionError(err) {
+      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+      this[kSocket][kError] = err;
+      this[kClient][kOnError](err);
+    }
+    function onHttp2FrameError(type2, code, id) {
+      if (id === 0) {
+        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
+        this[kSocket][kError] = err;
+        this[kClient][kOnError](err);
       }
-      get queued() {
-        return this[kPool][kQueued];
+    }
+    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;
       }
-      get running() {
-        return this[kPool][kRunning];
+      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];
       }
-      get size() {
-        return this[kPool][kSize];
+      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: path3, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
+      let { body } = request2;
+      if (upgrade) {
+        util.errorRequest(client, request2, new Error("Upgrade not supported for H2"));
+        return false;
       }
-    };
-    module2.exports = PoolStats;
-  }
-});
-
-// node_modules/undici/lib/pool-base.js
-var require_pool_base2 = __commonJS({
-  "node_modules/undici/lib/pool-base.js"(exports2, module2) {
-    "use strict";
-    var DispatcherBase = require_dispatcher_base2();
-    var FixedQueue = require_fixed_queue2();
-    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
-    var PoolStats = require_pool_stats2();
-    var kClients = /* @__PURE__ */ Symbol("clients");
-    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
-    var kQueue = /* @__PURE__ */ Symbol("queue");
-    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
-    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
-    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
-    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
-    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
-    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
-    var kAddClient = /* @__PURE__ */ Symbol("add client");
-    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
-    var kStats = /* @__PURE__ */ 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;
+      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];
             }
-            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;
+        } else {
+          headers[key] = val;
         }
-        return ret;
       }
-      get [kRunning]() {
-        let ret = 0;
-        for (const { [kRunning]: running } of this[kClients]) {
-          ret += running;
+      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;
         }
-        return ret;
-      }
-      get [kSize]() {
-        let ret = this[kQueued];
-        for (const { [kSize]: size } of this[kClients]) {
-          ret += size;
+        err = err || new RequestAbortedError();
+        util.errorRequest(client, request2, err);
+        if (stream != null) {
+          util.destroy(stream, err);
         }
-        return ret;
+        util.destroy(body, err);
+        client[kQueue][client[kRunningIdx]++] = null;
+        client[kResume]();
+      };
+      try {
+        request2.onConnect(abort);
+      } catch (err) {
+        util.errorRequest(client, request2, err);
       }
-      get stats() {
-        return this[kStats];
+      if (request2.aborted) {
+        return false;
       }
-      async [kClose]() {
-        if (this[kQueue].isEmpty()) {
-          return Promise.all(this[kClients].map((c) => c.close()));
+      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 {
-          return new Promise((resolve2) => {
-            this[kClosedResolve] = resolve2;
+          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;
       }
-      async [kDestroy](err) {
-        while (true) {
-          const item = this[kQueue].shift();
-          if (!item) {
-            break;
-          }
-          item.handler.onError(err);
-        }
-        return Promise.all(this[kClients].map((c) => c.destroy(err)));
+      headers[HTTP2_HEADER_PATH] = path3;
+      headers[HTTP2_HEADER_SCHEME] = "https";
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
+      if (body && typeof body.read === "function") {
+        body.read(0);
       }
-      [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];
+      let contentLength = util.bodyLength(body);
+      if (util.isFormDataLike(body)) {
+        extractBody ??= require_body2().extractBody;
+        const [bodyStream, contentType] = extractBody(body);
+        headers["content-type"] = contentType;
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
       }
-      [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]) {
-          process.nextTick(() => {
-            if (this[kNeedDrain]) {
-              this[kOnDrain](client[kUrl], [this, client]);
-            }
-          });
+      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;
         }
-        return this;
+        process.emitWarning(new RequestContentLengthMismatchError());
       }
-      [kRemoveClient](client) {
-        client.close(() => {
-          const idx = this[kClients].indexOf(client);
-          if (idx !== -1) {
-            this[kClients].splice(idx, 1);
-          }
+      if (contentLength != null) {
+        assert(body, "no body must not have content length");
+        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
+      }
+      session.ref();
+      const shouldEndStream = method === "GET" || method === "HEAD" || body === null;
+      if (expectContinue) {
+        headers[HTTP2_HEADER_EXPECT] = "100-continue";
+        stream = session.request(headers, { endStream: shouldEndStream, signal });
+        stream.once("continue", writeBodyH2);
+      } else {
+        stream = session.request(headers, {
+          endStream: shouldEndStream,
+          signal
         });
-        this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
+        writeBodyH2();
       }
-    };
-    module2.exports = {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kRemoveClient,
-      kGetDispatcher
-    };
-  }
-});
-
-// node_modules/undici/lib/pool.js
-var require_pool2 = __commonJS({
-  "node_modules/undici/lib/pool.js"(exports2, module2) {
-    "use strict";
-    var {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kGetDispatcher
-    } = require_pool_base2();
-    var Client = require_client2();
-    var {
-      InvalidArgumentError
-    } = require_errors2();
-    var util = require_util10();
-    var { kUrl, kInterceptors } = require_symbols6();
-    var buildConnector = require_connect2();
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    var kConnections = /* @__PURE__ */ Symbol("connections");
-    var kFactory = /* @__PURE__ */ 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");
+      ++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 (typeof connect !== "function") {
-          connect = buildConnector({
-            ...tls,
-            maxCachedSessions,
-            allowH2,
-            socketPath,
-            timeout: connectTimeout,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
-            ...connect
-          });
+        if (request2.onHeaders(Number(statusCode), parseH2Headers(realHeaders), stream.resume.bind(stream), "") === false) {
+          stream.pause();
         }
-        this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
-        this[kConnections] = connections || null;
-        this[kUrl] = util.parseOrigin(origin);
-        this[kOptions] = { ...util.deepClone(options), connect, allowH2 };
-        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
-        this[kFactory] = factory;
-        this.on("connectionError", (origin2, targets, error3) => {
-          for (const target of targets) {
-            const idx = this[kClients].indexOf(target);
-            if (idx !== -1) {
-              this[kClients].splice(idx, 1);
-            }
+        stream.on("data", (chunk) => {
+          if (request2.onData(chunk) === false) {
+            stream.pause();
           }
         });
-      }
-      [kGetDispatcher]() {
-        let dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain]);
-        if (dispatcher) {
-          return dispatcher;
+      });
+      stream.once("end", () => {
+        if (stream.state?.state == null || stream.state.state < 6) {
+          request2.onComplete([]);
         }
-        if (!this[kConnections] || this[kClients].length < this[kConnections]) {
-          dispatcher = this[kFactory](this[kUrl], this[kOptions]);
-          this[kAddClient](dispatcher);
+        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", (type2, code) => {
+        abort(new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`));
+      });
+      return true;
+      function writeBodyH2() {
+        if (!body || contentLength === 0) {
+          writeBuffer(
+            abort,
+            stream,
+            null,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else if (util.isBuffer(body)) {
+          writeBuffer(
+            abort,
+            stream,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else if (util.isBlobLike(body)) {
+          if (typeof body.stream === "function") {
+            writeIterable(
+              abort,
+              stream,
+              body.stream(),
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
+          } else {
+            writeBlob(
+              abort,
+              stream,
+              body,
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
+          }
+        } else if (util.isStream(body)) {
+          writeStream(
+            abort,
+            client[kSocket],
+            expectsPayload,
+            stream,
+            body,
+            client,
+            request2,
+            contentLength
+          );
+        } else if (util.isIterable(body)) {
+          writeIterable(
+            abort,
+            stream,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else {
+          assert(false);
         }
-        return dispatcher;
       }
-    };
-    module2.exports = Pool;
-  }
-});
-
-// node_modules/undici/lib/balanced-pool.js
-var require_balanced_pool2 = __commonJS({
-  "node_modules/undici/lib/balanced-pool.js"(exports2, module2) {
-    "use strict";
-    var {
-      BalancedPoolMissingUpstreamError,
-      InvalidArgumentError
-    } = require_errors2();
-    var {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kRemoveClient,
-      kGetDispatcher
-    } = require_pool_base2();
-    var Pool = require_pool2();
-    var { kUrl, kInterceptors } = require_symbols6();
-    var { parseOrigin } = require_util10();
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
-    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
-    var kIndex = /* @__PURE__ */ Symbol("kIndex");
-    var kWeight = /* @__PURE__ */ Symbol("kWeight");
-    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
-    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
-    function getGreatestCommonDivisor(a, b) {
-      if (b === 0) return a;
-      return getGreatestCommonDivisor(b, a % b);
-    }
-    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.");
+    function writeBuffer(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      try {
+        if (body != null && util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          h2stream.cork();
+          h2stream.write(body);
+          h2stream.uncork();
+          h2stream.end();
+          request2.onBodySent(body);
         }
-        this[kInterceptors] = opts.interceptors && opts.interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : [];
-        this[kFactory] = factory;
-        for (const upstream of upstreams) {
-          this.addUpstream(upstream);
+        if (!expectsPayload) {
+          socket[kReset] = true;
         }
-        this._updateBalancedPoolStats();
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (error3) {
+        abort(error3);
       }
-      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();
+    }
+    function writeStream(abort, socket, expectsPayload, h2stream, body, client, request2, contentLength) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      const pipe = pipeline(
+        body,
+        h2stream,
+        (err) => {
+          if (err) {
+            util.destroy(pipe, err);
+            abort(err);
+          } else {
+            util.removeAllListeners(pipe);
+            request2.onRequestSent();
+            if (!expectsPayload) {
+              socket[kReset] = true;
+            }
+            client[kResume]();
           }
-        });
-        for (const client of this[kClients]) {
-          client[kWeight] = this[kMaxWeightPerServer];
         }
-        this._updateBalancedPoolStats();
-        return this;
-      }
-      _updateBalancedPoolStats() {
-        this[kGreatestCommonDivisor] = this[kClients].map((p) => p[kWeight]).reduce(getGreatestCommonDivisor, 0);
+      );
+      util.addListener(pipe, "data", onPipeData);
+      function onPipeData(chunk) {
+        request2.onBodySent(chunk);
       }
-      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);
+    }
+    async function writeBlob(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength === body.size, "blob body must have content length");
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
         }
-        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 buffer = Buffer.from(await body.arrayBuffer());
+        h2stream.cork();
+        h2stream.write(buffer);
+        h2stream.uncork();
+        h2stream.end();
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
         }
-        const dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain] && dispatcher2.closed !== true && dispatcher2.destroyed !== true);
-        if (!dispatcher) {
-          return;
+        client[kResume]();
+      } catch (err) {
+        abort(err);
+      }
+    }
+    async function writeIterable(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
         }
-        const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b) => a && b, true);
-        if (allClientsBusy) {
-          return;
+      }
+      const waitForDrain = () => new Promise((resolve2, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve2;
         }
-        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];
-            }
+      });
+      h2stream.on("close", onDrain).on("drain", onDrain);
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
           }
-          if (pool[kWeight] >= this[kCurrentWeight] && !pool[kNeedDrain]) {
-            return pool;
+          const res = h2stream.write(chunk);
+          request2.onBodySent(chunk);
+          if (!res) {
+            await waitForDrain();
           }
         }
-        this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight];
-        this[kIndex] = maxWeightIndex;
-        return this[kClients][maxWeightIndex];
+        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 = BalancedPool;
+    }
+    module2.exports = connectH2;
   }
 });
 
-// node_modules/undici/lib/compat/dispatcher-weakref.js
-var require_dispatcher_weakref2 = __commonJS({
-  "node_modules/undici/lib/compat/dispatcher-weakref.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js
+var require_redirect_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js"(exports2, module2) {
     "use strict";
-    var { kConnected, kSize } = require_symbols6();
-    var CompatWeakRef = class {
-      constructor(value) {
-        this.value = value;
+    var util = require_util10();
+    var { kBodyUsed } = require_symbols6();
+    var assert = require("node:assert");
+    var { InvalidArgumentError } = require_errors2();
+    var EE = require("node:events");
+    var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
+    var kBody = /* @__PURE__ */ Symbol("body");
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
       }
-      deref() {
-        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
       }
     };
-    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);
-            }
-          });
+    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");
         }
-      }
-    };
-    module2.exports = function() {
-      if (process.env.NODE_V8_COVERAGE) {
-        return {
-          WeakRef: CompatWeakRef,
-          FinalizationRegistry: CompatFinalizer
-        };
-      }
-      return {
-        WeakRef: global.WeakRef || CompatWeakRef,
-        FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer
-      };
-    };
-  }
-});
-
-// node_modules/undici/lib/agent.js
-var require_agent2 = __commonJS({
-  "node_modules/undici/lib/agent.js"(exports2, module2) {
-    "use strict";
-    var { InvalidArgumentError } = require_errors2();
-    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
-    var DispatcherBase = require_dispatcher_base2();
-    var Pool = require_pool2();
-    var Client = require_client2();
-    var util = require_util10();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var { WeakRef: WeakRef2, FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
-    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
-    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
-    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
-    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
-    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    var kFinalizer = /* @__PURE__ */ Symbol("finalizer");
-    var kOptions = /* @__PURE__ */ 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 && options.interceptors.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
-        this[kOptions] = { ...util.deepClone(options), connect };
-        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
-        this[kMaxRedirections] = maxRedirections;
-        this[kFactory] = factory;
-        this[kClients] = /* @__PURE__ */ new Map();
-        this[kFinalizer] = new FinalizationRegistry2(
-          /* istanbul ignore next: gc is undeterministic */
-          (key) => {
-            const ref = this[kClients].get(key);
-            if (ref !== void 0 && ref.deref() === void 0) {
-              this[kClients].delete(key);
-            }
+        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);
+            });
           }
-        );
-        const agent = this;
-        this[kOnDrain] = (origin, targets) => {
-          agent.emit("drain", origin, [agent, ...targets]);
-        };
-        this[kOnConnect] = (origin, targets) => {
-          agent.emit("connect", origin, [agent, ...targets]);
-        };
-        this[kOnDisconnect] = (origin, targets, err) => {
-          agent.emit("disconnect", origin, [agent, ...targets], err);
-        };
-        this[kOnConnectionError] = (origin, targets, err) => {
-          agent.emit("connectionError", origin, [agent, ...targets], err);
-        };
-      }
-      get [kRunning]() {
-        let ret = 0;
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            ret += client[kRunning];
+          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);
         }
-        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.");
-        }
-        const ref = this[kClients].get(key);
-        let dispatcher = ref ? ref.deref() : null;
-        if (!dispatcher) {
-          dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
-          this[kClients].set(key, new WeakRef2(dispatcher));
-          this[kFinalizer].register(dispatcher, key);
-        }
-        return dispatcher.dispatch(opts, handler2);
       }
-      async [kClose]() {
-        const closePromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            closePromises.push(client.close());
-          }
-        }
-        await Promise.all(closePromises);
+      onConnect(abort) {
+        this.abort = abort;
+        this.handler.onConnect(abort, { history: this.history });
       }
-      async [kDestroy](err) {
-        const destroyPromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            destroyPromises.push(client.destroy(err));
-          }
-        }
-        await Promise.all(destroyPromises);
+      onUpgrade(statusCode, headers, socket) {
+        this.handler.onUpgrade(statusCode, headers, socket);
       }
-    };
-    module2.exports = Agent;
-  }
-});
-
-// node_modules/undici/lib/api/readable.js
-var require_readable2 = __commonJS({
-  "node_modules/undici/lib/api/readable.js"(exports2, module2) {
-    "use strict";
-    var assert = require("assert");
-    var { Readable } = require("stream");
-    var { RequestAbortedError, NotSupportedError, InvalidArgumentError } = require_errors2();
-    var util = require_util10();
-    var { ReadableStreamFrom, toUSVString } = require_util10();
-    var Blob2;
-    var kConsume = /* @__PURE__ */ Symbol("kConsume");
-    var kReading = /* @__PURE__ */ Symbol("kReading");
-    var kBody = /* @__PURE__ */ Symbol("kBody");
-    var kAbort = /* @__PURE__ */ Symbol("abort");
-    var kContentType = /* @__PURE__ */ Symbol("kContentType");
-    var noop3 = () => {
-    };
-    module2.exports = class BodyReadable extends Readable {
-      constructor({
-        resume,
-        abort,
-        contentType = "",
-        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[kReading] = false;
+      onError(error3) {
+        this.handler.onError(error3);
       }
-      destroy(err) {
-        if (this.destroyed) {
-          return this;
+      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 (!err && !this._readableState.endEmitted) {
-          err = new RequestAbortedError();
+        if (this.opts.origin) {
+          this.history.push(new URL(this.opts.path, this.opts.origin));
         }
-        if (err) {
-          this[kAbort]();
+        if (!this.location) {
+          return this.handler.onHeaders(statusCode, headers, resume, statusText);
         }
-        return super.destroy(err);
-      }
-      emit(ev, ...args) {
-        if (ev === "data") {
-          this._readableState.dataEmitted = true;
-        } else if (ev === "error") {
-          this._readableState.errorEmitted = true;
+        const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)));
+        const path3 = search ? `${pathname}${search}` : pathname;
+        this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
+        this.opts.path = path3;
+        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;
         }
-        return super.emit(ev, ...args);
       }
-      on(ev, ...args) {
-        if (ev === "data" || ev === "readable") {
-          this[kReading] = true;
+      onData(chunk) {
+        if (this.location) {
+        } else {
+          return this.handler.onData(chunk);
         }
-        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;
+      onComplete(trailers) {
+        if (this.location) {
+          this.location = null;
+          this.abort = null;
+          this.dispatch(this.opts, this);
+        } else {
+          this.handler.onComplete(trailers);
         }
-        return ret;
-      }
-      removeListener(ev, ...args) {
-        return this.off(ev, ...args);
       }
-      push(chunk) {
-        if (this[kConsume] && chunk !== null && this.readableLength === 0) {
-          consumePush(this[kConsume], chunk);
-          return this[kReading] ? super.push(chunk) : true;
+      onBodySent(chunk) {
+        if (this.handler.onBodySent) {
+          this.handler.onBodySent(chunk);
         }
-        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-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];
+    };
+    function parseLocation(statusCode, headers) {
+      if (redirectableStatusCodes.indexOf(statusCode) === -1) {
+        return null;
       }
-      dump(opts) {
-        let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144;
-        const signal = opts && opts.signal;
-        if (signal) {
-          try {
-            if (typeof signal !== "object" || !("aborted" in signal)) {
-              throw new InvalidArgumentError("signal must be an AbortSignal");
-            }
-            util.throwIfAborted(signal);
-          } catch (err) {
-            return Promise.reject(err);
-          }
-        }
-        if (this.closed) {
-          return Promise.resolve(null);
+      for (let i = 0; i < headers.length; i += 2) {
+        if (headers[i].length === 8 && util.headerNameToString(headers[i]) === "location") {
+          return headers[i + 1];
         }
-        return new Promise((resolve2, reject) => {
-          const signalListenerCleanup = signal ? util.addAbortListener(signal, () => {
-            this.destroy();
-          }) : noop3;
-          this.on("close", function() {
-            signalListenerCleanup();
-            if (signal && signal.aborted) {
-              reject(signal.reason || Object.assign(new Error("The operation was aborted"), { name: "AbortError" }));
-            } else {
-              resolve2(null);
-            }
-          }).on("error", noop3).on("data", function(chunk) {
-            limit -= chunk.length;
-            if (limit <= 0) {
-              this.destroy();
-            }
-          }).resume();
-        });
-      }
-    };
-    function isLocked(self2) {
-      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
-    }
-    function isUnusable(self2) {
-      return util.isDisturbed(self2) || isLocked(self2);
-    }
-    async function consume(stream, type2) {
-      if (isUnusable(stream)) {
-        throw new TypeError("unusable");
       }
-      assert(!stream[kConsume]);
-      return new Promise((resolve2, reject) => {
-        stream[kConsume] = {
-          type: type2,
-          stream,
-          resolve: resolve2,
-          reject,
-          length: 0,
-          body: []
-        };
-        stream.on("error", function(err) {
-          consumeFinish(this[kConsume], err);
-        }).on("close", function() {
-          if (this[kConsume].body !== null) {
-            consumeFinish(this[kConsume], new RequestAbortedError());
-          }
-        });
-        process.nextTick(consumeStart, stream[kConsume]);
-      });
     }
-    function consumeStart(consume2) {
-      if (consume2.body === null) {
-        return;
-      }
-      const { _readableState: state } = consume2.stream;
-      for (const chunk of state.buffer) {
-        consumePush(consume2, chunk);
+    function shouldRemoveHeader(header, removeContent, unknownOrigin) {
+      if (header.length === 4) {
+        return util.headerNameToString(header) === "host";
       }
-      if (state.endEmitted) {
-        consumeEnd(this[kConsume]);
-      } else {
-        consume2.stream.on("end", function() {
-          consumeEnd(this[kConsume]);
-        });
+      if (removeContent && util.headerNameToString(header).startsWith("content-")) {
+        return true;
       }
-      consume2.stream.resume();
-      while (consume2.stream.read() != null) {
+      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 consumeEnd(consume2) {
-      const { type: type2, body, resolve: resolve2, stream, length } = consume2;
-      try {
-        if (type2 === "text") {
-          resolve2(toUSVString(Buffer.concat(body)));
-        } else if (type2 === "json") {
-          resolve2(JSON.parse(Buffer.concat(body)));
-        } else if (type2 === "arrayBuffer") {
-          const dst = new Uint8Array(length);
-          let pos = 0;
-          for (const buf of body) {
-            dst.set(buf, pos);
-            pos += buf.byteLength;
+    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]);
           }
-          resolve2(dst.buffer);
-        } else if (type2 === "blob") {
-          if (!Blob2) {
-            Blob2 = require("buffer").Blob;
+        }
+      } else if (headers && typeof headers === "object") {
+        for (const key of Object.keys(headers)) {
+          if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {
+            ret.push(key, headers[key]);
           }
-          resolve2(new Blob2(body, { type: stream[kContentType] }));
         }
-        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;
-    }
-  }
-});
-
-// node_modules/undici/lib/api/util.js
-var require_util12 = __commonJS({
-  "node_modules/undici/lib/api/util.js"(exports2, module2) {
-    var assert = require("assert");
-    var {
-      ResponseStatusCodeError
-    } = require_errors2();
-    var { toUSVString } = require_util10();
-    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
-      assert(body);
-      let chunks = [];
-      let limit = 0;
-      for await (const chunk of body) {
-        chunks.push(chunk);
-        limit += chunk.length;
-        if (limit > 128 * 1024) {
-          chunks = null;
-          break;
-        }
-      }
-      if (statusCode === 204 || !contentType || !chunks) {
-        process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
-        return;
-      }
-      try {
-        if (contentType.startsWith("application/json")) {
-          const payload = JSON.parse(toUSVString(Buffer.concat(chunks)));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
-        }
-        if (contentType.startsWith("text/")) {
-          const payload = toUSVString(Buffer.concat(chunks));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
-        }
-      } catch (err) {
+        assert(headers == null, "headers must be an object or an array");
       }
-      process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
+      return ret;
     }
-    module2.exports = { getResolveErrorBodyCallback };
+    module2.exports = RedirectHandler;
   }
 });
 
-// node_modules/undici/lib/api/abort-signal.js
-var require_abort_signal2 = __commonJS({
-  "node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
-    var { addAbortListener } = require_util10();
-    var { RequestAbortedError } = require_errors2();
-    var kListener = /* @__PURE__ */ Symbol("kListener");
-    var kSignal = /* @__PURE__ */ Symbol("kSignal");
-    function abort(self2) {
-      if (self2.abort) {
-        self2.abort();
-      } else {
-        self2.onError(new RequestAbortedError());
-      }
-    }
-    function addSignal(self2, signal) {
-      self2[kSignal] = null;
-      self2[kListener] = null;
-      if (!signal) {
-        return;
-      }
-      if (signal.aborted) {
-        abort(self2);
-        return;
-      }
-      self2[kSignal] = signal;
-      self2[kListener] = () => {
-        abort(self2);
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js
+var require_redirect_interceptor2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js"(exports2, module2) {
+    "use strict";
+    var RedirectHandler = require_redirect_handler2();
+    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);
+        };
       };
-      addAbortListener(self2[kSignal], self2[kListener]);
-    }
-    function removeSignal(self2) {
-      if (!self2[kSignal]) {
-        return;
-      }
-      if ("removeEventListener" in self2[kSignal]) {
-        self2[kSignal].removeEventListener("abort", self2[kListener]);
-      } else {
-        self2[kSignal].removeListener("abort", self2[kListener]);
-      }
-      self2[kSignal] = null;
-      self2[kListener] = null;
     }
-    module2.exports = {
-      addSignal,
-      removeSignal
-    };
+    module2.exports = createRedirectInterceptor;
   }
 });
 
-// node_modules/undici/lib/api/api-request.js
-var require_api_request2 = __commonJS({
-  "node_modules/undici/lib/api/api-request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js
+var require_client2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js"(exports2, module2) {
     "use strict";
-    var Readable = require_readable2();
+    var assert = require("node:assert");
+    var net = require("node:net");
+    var http = require("node:http");
+    var util = require_util10();
+    var { channels } = require_diagnostics2();
+    var Request = require_request3();
+    var DispatcherBase = require_dispatcher_base2();
     var {
       InvalidArgumentError,
-      RequestAbortedError
+      InformationalError,
+      ClientDestroyedError
     } = require_errors2();
-    var util = require_util10();
-    var { getResolveErrorBodyCallback } = require_util12();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var RequestHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
-        try {
-          if (typeof callback !== "function") {
-            throw new InvalidArgumentError("invalid callback");
-          }
-          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
-            throw new InvalidArgumentError("invalid highWaterMark");
-          }
-          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-          }
-          if (method === "CONNECT") {
-            throw new InvalidArgumentError("invalid method");
-          }
-          if (onInfo && typeof onInfo !== "function") {
-            throw new InvalidArgumentError("invalid onInfo callback");
-          }
-          super("UNDICI_REQUEST");
-        } catch (err) {
-          if (util.isStream(body)) {
-            util.destroy(body.on("error", util.nop), err);
-          }
-          throw err;
-        }
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.callback = callback;
-        this.res = null;
-        this.abort = null;
-        this.body = body;
-        this.trailers = {};
-        this.context = null;
-        this.onInfo = onInfo || null;
-        this.throwOnError = throwOnError;
-        this.highWaterMark = highWaterMark;
-        if (util.isStream(body)) {
-          body.on("error", (err) => {
-            this.onError(err);
-          });
-        }
-        addSignal(this, signal);
-      }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
-      }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const { callback, opaque, abort, context: context2, 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 body = new Readable({ resume, abort, contentType, highWaterMark });
-        this.callback = null;
-        this.res = body;
-        if (callback !== null) {
-          if (this.throwOnError && statusCode >= 400) {
-            this.runInAsyncScope(
-              getResolveErrorBodyCallback,
-              null,
-              { callback, body, contentType, statusCode, statusMessage, headers }
-            );
-          } else {
-            this.runInAsyncScope(callback, null, null, {
-              statusCode,
-              headers,
-              trailers: this.trailers,
-              opaque,
-              body,
-              context: context2
-            });
-          }
+    var buildConnector = require_connect2();
+    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_symbols6();
+    var connectH1 = require_client_h12();
+    var connectH2 = require_client_h22();
+    var deprecatedInterceptorWarned = false;
+    var kClosedResolve = /* @__PURE__ */ 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");
         }
-      }
-      onData(chunk) {
-        const { res } = this;
-        return res.push(chunk);
-      }
-      onComplete(trailers) {
-        const { res } = this;
-        removeSignal(this);
-        util.parseHeaders(trailers, this.trailers);
-        res.push(null);
-      }
-      onError(err) {
-        const { res, callback, body, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
+        if (socketTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");
         }
-        if (res) {
-          this.res = null;
-          queueMicrotask(() => {
-            util.destroy(res, err);
-          });
+        if (requestTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");
         }
-        if (body) {
-          this.body = null;
-          util.destroy(body, err);
+        if (idleTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported idleTimeout, use keepAliveTimeout instead");
         }
-      }
-    };
-    function request2(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve2, reject) => {
-          request2.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve2(data);
-          });
-        });
-      }
-      try {
-        this.dispatch(opts, new RequestHandler(opts, callback));
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
+        if (maxKeepAliveTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");
         }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
-      }
-    }
-    module2.exports = request2;
-    module2.exports.RequestHandler = RequestHandler;
-  }
-});
-
-// node_modules/undici/lib/api/api-stream.js
-var require_api_stream2 = __commonJS({
-  "node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
-    "use strict";
-    var { finished, PassThrough } = require("stream");
-    var {
-      InvalidArgumentError,
-      InvalidReturnValueError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util10();
-    var { getResolveErrorBodyCallback } = require_util12();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var StreamHandler = class extends AsyncResource {
-      constructor(opts, factory, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+        if (maxHeaderSize != null && !Number.isFinite(maxHeaderSize)) {
+          throw new InvalidArgumentError("invalid maxHeaderSize");
         }
-        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
-        try {
-          if (typeof callback !== "function") {
-            throw new InvalidArgumentError("invalid callback");
-          }
-          if (typeof factory !== "function") {
-            throw new InvalidArgumentError("invalid factory");
-          }
-          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-          }
-          if (method === "CONNECT") {
-            throw new InvalidArgumentError("invalid method");
-          }
-          if (onInfo && typeof onInfo !== "function") {
-            throw new InvalidArgumentError("invalid onInfo callback");
-          }
-          super("UNDICI_STREAM");
-        } catch (err) {
-          if (util.isStream(body)) {
-            util.destroy(body.on("error", util.nop), err);
-          }
-          throw err;
+        if (socketPath != null && typeof socketPath !== "string") {
+          throw new InvalidArgumentError("invalid socketPath");
         }
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.factory = factory;
-        this.callback = callback;
-        this.res = null;
-        this.abort = null;
-        this.context = null;
-        this.trailers = null;
-        this.body = body;
-        this.onInfo = onInfo || null;
-        this.throwOnError = throwOnError || false;
-        if (util.isStream(body)) {
-          body.on("error", (err) => {
-            this.onError(err);
-          });
+        if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) {
+          throw new InvalidArgumentError("invalid connectTimeout");
         }
-        addSignal(this, signal);
-      }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
+        if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) {
+          throw new InvalidArgumentError("invalid keepAliveTimeout");
         }
-        this.abort = abort;
-        this.context = context2;
-      }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const { factory, opaque, context: context2, callback, responseHeaders } = this;
-        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            this.onInfo({ statusCode, headers });
-          }
-          return;
+        if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) {
+          throw new InvalidArgumentError("invalid keepAliveMaxTimeout");
         }
-        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: context2
-          });
-          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();
-            }
-          });
+        if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) {
+          throw new InvalidArgumentError("invalid keepAliveTimeoutThreshold");
         }
-        res.on("drain", resume);
-        this.res = res;
-        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState && res._writableState.needDrain;
-        return needDrain !== true;
-      }
-      onData(chunk) {
-        const { res } = this;
-        return res ? res.write(chunk) : true;
-      }
-      onComplete(trailers) {
-        const { res } = this;
-        removeSignal(this);
-        if (!res) {
-          return;
+        if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) {
+          throw new InvalidArgumentError("headersTimeout must be a positive integer or zero");
         }
-        this.trailers = util.parseHeaders(trailers);
-        res.end();
-      }
-      onError(err) {
-        const { res, callback, opaque, body } = this;
-        removeSignal(this);
-        this.factory = null;
-        if (res) {
-          this.res = null;
-          util.destroy(res, err);
-        } else if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
+        if (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 (body) {
-          this.body = null;
-          util.destroy(body, err);
+        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);
       }
-    };
-    function stream(opts, factory, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve2, reject) => {
-          stream.call(this, opts, factory, (err, data) => {
-            return err ? reject(err) : resolve2(data);
-          });
-        });
+      get pipelining() {
+        return this[kPipelining];
       }
-      try {
-        this.dispatch(opts, new StreamHandler(opts, factory, callback));
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
-        }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+      set pipelining(value) {
+        this[kPipelining] = value;
+        this[kResume](true);
       }
-    }
-    module2.exports = stream;
-  }
-});
-
-// node_modules/undici/lib/api/api-pipeline.js
-var require_api_pipeline2 = __commonJS({
-  "node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
-    "use strict";
-    var {
-      Readable,
-      Duplex,
-      PassThrough
-    } = require("stream");
-    var {
-      InvalidArgumentError,
-      InvalidReturnValueError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util10();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
-    var kResume = /* @__PURE__ */ Symbol("resume");
-    var PipelineRequest = class extends Readable {
-      constructor() {
-        super({ autoDestroy: true });
-        this[kResume] = null;
+      get [kPending]() {
+        return this[kQueue].length - this[kPendingIdx];
       }
-      _read() {
-        const { [kResume]: resume } = this;
-        if (resume) {
-          this[kResume] = null;
-          resume();
-        }
+      get [kRunning]() {
+        return this[kPendingIdx] - this[kRunningIdx];
       }
-      _destroy(err, callback) {
-        this._read();
-        callback(err);
+      get [kSize]() {
+        return this[kQueue].length - this[kRunningIdx];
       }
-    };
-    var PipelineResponse = class extends Readable {
-      constructor(resume) {
-        super({ autoDestroy: true });
-        this[kResume] = resume;
+      get [kConnected]() {
+        return !!this[kHTTPContext] && !this[kConnecting] && !this[kHTTPContext].destroyed;
       }
-      _read() {
-        this[kResume]();
+      get [kBusy]() {
+        return Boolean(
+          this[kHTTPContext]?.busy(null) || this[kSize] >= (getPipelining(this) || 1) || this[kPending] > 0
+        );
       }
-      _destroy(err, callback) {
-        if (!err && !this._readableState.endEmitted) {
-          err = new RequestAbortedError();
+      /* 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);
         }
-        callback(err);
+        if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
+          this[kNeedDrain] = 2;
+        }
+        return this[kNeedDrain] < 2;
+      }
+      async [kClose]() {
+        return new Promise((resolve2) => {
+          if (this[kSize]) {
+            this[kClosedResolve] = resolve2;
+          } else {
+            resolve2(null);
+          }
+        });
+      }
+      async [kDestroy](err) {
+        return new Promise((resolve2) => {
+          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;
+            }
+            resolve2(null);
+          };
+          if (this[kHTTPContext]) {
+            this[kHTTPContext].destroy(err, callback);
+            this[kHTTPContext] = null;
+          } else {
+            queueMicrotask(callback);
+          }
+          this[kResume]();
+        });
       }
     };
-    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");
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    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);
         }
-        const { signal, method, opaque, onInfo, responseHeaders } = opts;
-        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-        }
-        if (method === "CONNECT") {
-          throw new InvalidArgumentError("invalid method");
-        }
-        if (onInfo && typeof onInfo !== "function") {
-          throw new InvalidArgumentError("invalid onInfo callback");
-        }
-        super("UNDICI_PIPELINE");
-        this.opaque = opaque || null;
-        this.responseHeaders = responseHeaders || null;
-        this.handler = handler2;
-        this.abort = null;
-        this.context = null;
-        this.onInfo = onInfo || null;
-        this.req = new PipelineRequest().on("error", util.nop);
-        this.ret = new Duplex({
-          readableObjectMode: opts.objectMode,
-          autoDestroy: true,
-          read: () => {
-            const { body } = this;
-            if (body && body.resume) {
-              body.resume();
-            }
+        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]
           },
-          write: (chunk, encoding, callback) => {
-            const { req } = this;
-            if (req.push(chunk, encoding) || req._readableState.destroyed) {
-              callback();
+          connector: client[kConnector]
+        });
+      }
+      try {
+        const socket = await new Promise((resolve2, reject) => {
+          client[kConnector]({
+            host,
+            hostname,
+            protocol,
+            port,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          }, (err, socket2) => {
+            if (err) {
+              reject(err);
             } else {
-              req[kResume] = callback;
-            }
-          },
-          destroy: (err, callback) => {
-            const { body, req, res, ret, abort } = this;
-            if (!err && !ret._readableState.endEmitted) {
-              err = new RequestAbortedError();
-            }
-            if (abort && err) {
-              abort();
+              resolve2(socket2);
             }
-            util.destroy(body, err);
-            util.destroy(req, err);
-            util.destroy(res, err);
-            removeSignal(this);
-            callback(err);
-          }
-        }).on("prefinish", () => {
-          const { req } = this;
-          req.push(null);
+          });
         });
-        this.res = null;
-        addSignal(this, signal);
-      }
-      onConnect(abort, context2) {
-        const { ret, res } = this;
-        assert(!res, "pipeline cannot be retried");
-        if (ret.destroyed) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
-      }
-      onHeaders(statusCode, rawHeaders, resume) {
-        const { opaque, handler: handler2, context: context2 } = this;
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-            this.onInfo({ statusCode, headers });
-          }
+        if (client.destroyed) {
+          util.destroy(socket.on("error", noop3), new ClientDestroyedError());
           return;
         }
-        this.res = new PipelineResponse(resume);
-        let body;
+        assert(socket);
         try {
-          this.handler = null;
-          const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-          body = this.runInAsyncScope(handler2, null, {
-            statusCode,
-            headers,
-            opaque,
-            body: this.res,
-            context: context2
-          });
+          client[kHTTPContext] = socket.alpnProtocol === "h2" ? await connectH2(client, socket) : await connectH1(client, socket);
         } catch (err) {
-          this.res.on("error", util.nop);
+          socket.destroy().on("error", noop3);
           throw err;
         }
-        if (!body || typeof body.on !== "function") {
-          throw new InvalidReturnValueError("expected Readable");
+        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
+          });
         }
-        body.on("data", (chunk) => {
-          const { ret, body: body2 } = this;
-          if (!ret.push(chunk) && body2.pause) {
-            body2.pause();
-          }
-        }).on("error", (err) => {
-          const { ret } = this;
-          util.destroy(ret, err);
-        }).on("end", () => {
-          const { ret } = this;
-          ret.push(null);
-        }).on("close", () => {
-          const { ret } = this;
-          if (!ret._readableState.ended) {
-            util.destroy(ret, new RequestAbortedError());
+        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);
           }
-        });
-        this.body = body;
-      }
-      onData(chunk) {
-        const { res } = this;
-        return res.push(chunk);
-      }
-      onComplete(trailers) {
-        const { res } = this;
-        res.push(null);
+        } else {
+          onError(client, err);
+        }
+        client.emit("connectionError", client[kUrl], [client], err);
       }
-      onError(err) {
-        const { ret } = this;
-        this.handler = null;
-        util.destroy(ret, err);
+      client[kResume]();
+    }
+    function emitDrain(client) {
+      client[kNeedDrain] = 0;
+      client.emit("drain", client[kUrl], [client]);
+    }
+    function resume(client, sync) {
+      if (client[kResuming] === 2) {
+        return;
       }
-    };
-    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);
+      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;
       }
     }
-    module2.exports = pipeline;
-  }
-});
-
-// node_modules/undici/lib/api/api-upgrade.js
-var require_api_upgrade2 = __commonJS({
-  "node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
-    "use strict";
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
-    var { AsyncResource } = require("async_hooks");
-    var util = require_util10();
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
-    var UpgradeHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+    function _resume(client, sync) {
+      while (true) {
+        if (client.destroyed) {
+          assert(client[kPending] === 0);
+          return;
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        if (client[kClosedResolve] && !client[kSize]) {
+          client[kClosedResolve]();
+          client[kClosedResolve] = null;
+          return;
         }
-        const { signal, opaque, responseHeaders } = opts;
-        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        if (client[kHTTPContext]) {
+          client[kHTTPContext].resume();
         }
-        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, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
+        if (client[kBusy]) {
+          client[kNeedDrain] = 2;
+        } else if (client[kNeedDrain] === 2) {
+          if (sync) {
+            client[kNeedDrain] = 1;
+            queueMicrotask(() => emitDrain(client));
+          } else {
+            emitDrain(client);
+          }
+          continue;
         }
-        this.abort = abort;
-        this.context = null;
-      }
-      onHeaders() {
-        throw new SocketError("bad upgrade", null);
-      }
-      onUpgrade(statusCode, rawHeaders, socket) {
-        const { callback, opaque, context: context2 } = this;
-        assert.strictEqual(statusCode, 101);
-        removeSignal(this);
-        this.callback = null;
-        const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        this.runInAsyncScope(callback, null, null, {
-          headers,
-          socket,
-          opaque,
-          context: context2
-        });
-      }
-      onError(err) {
-        const { callback, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
+        if (client[kPending] === 0) {
+          return;
         }
-      }
-    };
-    function upgrade(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve2, reject) => {
-          upgrade.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve2(data);
+        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);
           });
-        });
-      }
-      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 && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        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 = upgrade;
+    module2.exports = Client;
   }
 });
 
-// node_modules/undici/lib/api/api-connect.js
-var require_api_connect2 = __commonJS({
-  "node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/fixed-queue.js
+var require_fixed_queue2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/fixed-queue.js"(exports2, module2) {
     "use strict";
-    var { AsyncResource } = require("async_hooks");
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
-    var util = require_util10();
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var ConnectHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
-        }
-        const { signal, opaque, responseHeaders } = opts;
-        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-        }
-        super("UNDICI_CONNECT");
-        this.opaque = opaque || null;
-        this.responseHeaders = responseHeaders || null;
-        this.callback = callback;
-        this.abort = null;
-        addSignal(this, signal);
+    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;
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
+      isEmpty() {
+        return this.top === this.bottom;
       }
-      onHeaders() {
-        throw new SocketError("bad connect", null);
+      isFull() {
+        return (this.top + 1 & kMask) === this.bottom;
       }
-      onUpgrade(statusCode, rawHeaders, socket) {
-        const { callback, opaque, context: context2 } = 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: context2
-        });
+      push(data) {
+        this.list[this.top] = data;
+        this.top = this.top + 1 & kMask;
       }
-      onError(err) {
-        const { callback, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
+      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;
       }
     };
-    function connect(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve2, reject) => {
-          connect.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve2(data);
-          });
-        });
+    module2.exports = class FixedQueue {
+      constructor() {
+        this.head = this.tail = new FixedCircularBuffer();
       }
-      try {
-        const connectHandler = new ConnectHandler(opts, callback);
-        this.dispatch({ ...opts, method: "CONNECT" }, connectHandler);
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
+      isEmpty() {
+        return this.head.isEmpty();
+      }
+      push(data) {
+        if (this.head.isFull()) {
+          this.head = this.head.next = new FixedCircularBuffer();
         }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        this.head.push(data);
       }
-    }
-    module2.exports = connect;
+      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/api/index.js
-var require_api2 = __commonJS({
-  "node_modules/undici/lib/api/index.js"(exports2, module2) {
-    "use strict";
-    module2.exports.request = require_api_request2();
-    module2.exports.stream = require_api_stream2();
-    module2.exports.pipeline = require_api_pipeline2();
-    module2.exports.upgrade = require_api_upgrade2();
-    module2.exports.connect = require_api_connect2();
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js
+var require_pool_stats2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js"(exports2, module2) {
+    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
+    var kPool = /* @__PURE__ */ 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/mock/mock-errors.js
-var require_mock_errors2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js
+var require_pool_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js"(exports2, module2) {
     "use strict";
-    var { UndiciError } = require_errors2();
-    var MockNotMatchedError = class _MockNotMatchedError extends UndiciError {
-      constructor(message) {
-        super(message);
-        Error.captureStackTrace(this, _MockNotMatchedError);
-        this.name = "MockNotMatchedError";
-        this.message = message || "The request does not match any registered mock dispatches";
-        this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED";
-      }
-    };
-    module2.exports = {
-      MockNotMatchedError
-    };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-symbols.js
-var require_mock_symbols2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      kAgent: /* @__PURE__ */ Symbol("agent"),
-      kOptions: /* @__PURE__ */ Symbol("options"),
-      kFactory: /* @__PURE__ */ Symbol("factory"),
-      kDispatches: /* @__PURE__ */ Symbol("dispatches"),
-      kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
-      kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
-      kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
-      kContentLength: /* @__PURE__ */ Symbol("content length"),
-      kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
-      kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
-      kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
-      kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
-      kClose: /* @__PURE__ */ Symbol("close"),
-      kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
-      kOrigin: /* @__PURE__ */ Symbol("origin"),
-      kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
-      kNetConnect: /* @__PURE__ */ Symbol("net connect"),
-      kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
-      kConnected: /* @__PURE__ */ Symbol("connected")
-    };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-utils.js
-var require_mock_utils2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
-    "use strict";
-    var { MockNotMatchedError } = require_mock_errors2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kOriginalDispatch,
-      kOrigin,
-      kGetNetConnect
-    } = require_mock_symbols2();
-    var { buildURL, nop } = require_util10();
-    var { STATUS_CODES } = require("http");
-    var {
-      types: {
-        isPromise
+    var DispatcherBase = require_dispatcher_base2();
+    var FixedQueue = require_fixed_queue2();
+    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
+    var PoolStats = require_pool_stats2();
+    var kClients = /* @__PURE__ */ Symbol("clients");
+    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
+    var kQueue = /* @__PURE__ */ Symbol("queue");
+    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
+    var kAddClient = /* @__PURE__ */ Symbol("add client");
+    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
+    var kStats = /* @__PURE__ */ 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);
       }
-    } = require("util");
-    function matchValue(match, value) {
-      if (typeof match === "string") {
-        return match === value;
+      get [kBusy]() {
+        return this[kNeedDrain];
       }
-      if (match instanceof RegExp) {
-        return match.test(value);
+      get [kConnected]() {
+        return this[kClients].filter((client) => client[kConnected]).length;
       }
-      if (typeof match === "function") {
-        return match(value) === true;
+      get [kFree]() {
+        return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;
       }
-      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];
-          }
+      get [kPending]() {
+        let ret = this[kQueued];
+        for (const { [kPending]: pending } of this[kClients]) {
+          ret += pending;
         }
-        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 ret;
       }
-      return Object.fromEntries(entries);
-    }
-    function matchHeaders(mockDispatch2, headers) {
-      if (typeof mockDispatch2.headers === "function") {
-        if (Array.isArray(headers)) {
-          headers = buildHeadersFromArray(headers);
+      get [kRunning]() {
+        let ret = 0;
+        for (const { [kRunning]: running } of this[kClients]) {
+          ret += running;
         }
-        return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {});
-      }
-      if (typeof mockDispatch2.headers === "undefined") {
-        return true;
-      }
-      if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") {
-        return false;
+        return ret;
       }
-      for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) {
-        const headerValue = getHeaderByName(headers, matchHeaderName);
-        if (!matchValue(matchHeaderValue, headerValue)) {
-          return false;
+      get [kSize]() {
+        let ret = this[kQueued];
+        for (const { [kSize]: size } of this[kClients]) {
+          ret += size;
         }
+        return ret;
       }
-      return true;
-    }
-    function safeUrl(path3) {
-      if (typeof path3 !== "string") {
-        return path3;
-      }
-      const pathSegments = path3.split("?");
-      if (pathSegments.length !== 2) {
-        return path3;
-      }
-      const qp = new URLSearchParams(pathSegments.pop());
-      qp.sort();
-      return [...pathSegments, qp.toString()].join("?");
-    }
-    function matchKey(mockDispatch2, { path: path3, method, body, headers }) {
-      const pathMatch = matchValue(mockDispatch2.path, path3);
-      const methodMatch = matchValue(mockDispatch2.method, method);
-      const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
-      const headersMatch = matchHeaders(mockDispatch2, headers);
-      return pathMatch && methodMatch && bodyMatch && headersMatch;
-    }
-    function getResponseData2(data) {
-      if (Buffer.isBuffer(data)) {
-        return data;
-      } else if (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: path3 }) => matchValue(safeUrl(path3), 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}'`);
-      }
-      matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`);
-      }
-      matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers}'`);
+      get stats() {
+        return this[kStats];
       }
-      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;
+      async [kClose]() {
+        if (this[kQueue].isEmpty()) {
+          await Promise.all(this[kClients].map((c) => c.close()));
+        } else {
+          await new Promise((resolve2) => {
+            this[kClosedResolve] = resolve2;
+          });
         }
-        return matchKey(dispatch, key);
-      });
-      if (index !== -1) {
-        mockDispatches.splice(index, 1);
-      }
-    }
-    function buildKey(opts) {
-      const { path: path3, method, body, headers, query } = opts;
-      return {
-        path: path3,
-        method,
-        body,
-        headers,
-        query
-      };
-    }
-    function generateKeyValues(data) {
-      return Object.entries(data).reduce((keyValuePairs, [key, value]) => [
-        ...keyValuePairs,
-        Buffer.from(`${key}`),
-        Array.isArray(value) ? value.map((x) => Buffer.from(`${x}`)) : Buffer.from(`${value}`)
-      ], []);
-    }
-    function getStatusText(statusCode) {
-      return STATUS_CODES[statusCode] || "unknown";
-    }
-    async function getResponse(body) {
-      const buffers = [];
-      for await (const data of body) {
-        buffers.push(data);
-      }
-      return Buffer.concat(buffers).toString("utf8");
-    }
-    function mockDispatch(opts, handler2) {
-      const key = buildKey(opts);
-      const mockDispatch2 = getMockDispatch(this[kDispatches], key);
-      mockDispatch2.timesInvoked++;
-      if (mockDispatch2.data.callback) {
-        mockDispatch2.data = { ...mockDispatch2.data, ...mockDispatch2.data.callback(opts) };
-      }
-      const { data: { statusCode, data, headers, trailers, error: error3 }, delay: delay2, persist } = mockDispatch2;
-      const { timesInvoked, times } = mockDispatch2;
-      mockDispatch2.consumed = !persist && timesInvoked >= times;
-      mockDispatch2.pending = timesInvoked < times;
-      if (error3 !== null) {
-        deleteMockDispatch(this[kDispatches], key);
-        handler2.onError(error3);
-        return true;
-      }
-      if (typeof delay2 === "number" && delay2 > 0) {
-        setTimeout(() => {
-          handleReply(this[kDispatches]);
-        }, delay2);
-      } else {
-        handleReply(this[kDispatches]);
       }
-      function handleReply(mockDispatches, _data = data) {
-        const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
-        const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
-        if (isPromise(body)) {
-          body.then((newData) => handleReply(mockDispatches, newData));
-          return;
+      async [kDestroy](err) {
+        while (true) {
+          const item = this[kQueue].shift();
+          if (!item) {
+            break;
+          }
+          item.handler.onError(err);
         }
-        const responseData = getResponseData2(body);
-        const responseHeaders = generateKeyValues(headers);
-        const responseTrailers = generateKeyValues(trailers);
-        handler2.abort = nop;
-        handler2.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode));
-        handler2.onData(Buffer.from(responseData));
-        handler2.onComplete(responseTrailers);
-        deleteMockDispatch(mockDispatches, key);
+        await Promise.all(this[kClients].map((c) => c.destroy(err)));
       }
-      function resume() {
+      [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];
       }
-      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 (error3) {
-            if (error3 instanceof MockNotMatchedError) {
-              const netConnect = agent[kGetNetConnect]();
-              if (netConnect === false) {
-                throw new MockNotMatchedError(`${error3.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(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
-              }
-            } else {
-              throw error3;
+      [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]);
             }
-          }
-        } 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 this;
       }
-      return false;
-    }
-    function buildMockOptions(opts) {
-      if (opts) {
-        const { agent, ...mockOptions } = opts;
-        return mockOptions;
+      [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 = {
-      getResponseData: getResponseData2,
-      getMockDispatch,
-      addMockDispatch,
-      deleteMockDispatch,
-      buildKey,
-      generateKeyValues,
-      matchValue,
-      getResponse,
-      getStatusText,
-      mockDispatch,
-      buildMockDispatch,
-      checkNetConnect,
-      buildMockOptions,
-      getHeaderByName
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
     };
   }
 });
 
-// node_modules/undici/lib/mock/mock-interceptor.js
-var require_mock_interceptor2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js
+var require_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js"(exports2, module2) {
     "use strict";
-    var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils2();
     var {
-      kDispatches,
-      kDispatchKey,
-      kDefaultHeaders,
-      kDefaultTrailers,
-      kContentLength,
-      kMockDispatch
-    } = require_mock_symbols2();
-    var { InvalidArgumentError } = require_errors2();
-    var { buildURL } = require_util10();
-    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");
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kGetDispatcher
+    } = require_pool_base2();
+    var Client = require_client2();
+    var {
+      InvalidArgumentError
+    } = require_errors2();
+    var util = require_util10();
+    var { kUrl, kInterceptors } = require_symbols6();
+    var buildConnector = require_connect2();
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kConnections = /* @__PURE__ */ Symbol("connections");
+    var kFactory = /* @__PURE__ */ 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");
         }
-        this[kMockDispatch].delay = waitInMs;
-        return this;
-      }
-      /**
-       * For a defined reply, never mark as consumed.
-       */
-      persist() {
-        this[kMockDispatch].persist = true;
-        return this;
+        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, error3) => {
+          for (const target of targets) {
+            const idx = this[kClients].indexOf(target);
+            if (idx !== -1) {
+              this[kClients].splice(idx, 1);
+            }
+          }
+        });
       }
-      /**
-       * 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");
+      [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;
         }
-        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 };
+    module2.exports = Pool;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js
+var require_balanced_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js"(exports2, module2) {
+    "use strict";
+    var {
+      BalancedPoolMissingUpstreamError,
+      InvalidArgumentError
+    } = require_errors2();
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    } = require_pool_base2();
+    var Pool = require_pool2();
+    var { kUrl, kInterceptors } = require_symbols6();
+    var { parseOrigin } = require_util10();
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
+    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
+    var kIndex = /* @__PURE__ */ Symbol("kIndex");
+    var kWeight = /* @__PURE__ */ Symbol("kWeight");
+    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
+    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
+    function getGreatestCommonDivisor(a, b) {
+      if (a === 0) return b;
+      while (b !== 0) {
+        const t = b;
+        b = a % b;
+        a = t;
       }
-      validateReplyParameters(statusCode, data, responseOptions) {
-        if (typeof statusCode === "undefined") {
-          throw new InvalidArgumentError("statusCode must be defined");
+      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 data === "undefined") {
-          throw new InvalidArgumentError("data must be defined");
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
         }
-        if (typeof responseOptions !== "object") {
-          throw new InvalidArgumentError("responseOptions must be an object");
+        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();
       }
-      /**
-       * Mock an undici request with a defined reply.
-       */
-      reply(replyData) {
-        if (typeof replyData === "function") {
-          const wrappedDefaultsCallback = (opts) => {
-            const resolvedData = replyData(opts);
-            if (typeof resolvedData !== "object") {
-              throw new InvalidArgumentError("reply options callback must return an object");
-            }
-            const { statusCode: statusCode2, data: data2 = "", responseOptions: responseOptions2 = {} } = resolvedData;
-            this.validateReplyParameters(statusCode2, data2, responseOptions2);
-            return {
-              ...this.createMockScopeDispatchData(statusCode2, data2, responseOptions2)
-            };
-          };
-          const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback);
-          return new MockScope(newMockDispatch2);
+      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 [statusCode, data = "", responseOptions = {}] = [...arguments];
-        this.validateReplyParameters(statusCode, data, responseOptions);
-        const dispatchData = this.createMockScopeDispatchData(statusCode, data, responseOptions);
-        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData);
-        return new MockScope(newMockDispatch);
-      }
-      /**
-       * Mock an undici request with a defined error.
-       */
-      replyWithError(error3) {
-        if (typeof error3 === "undefined") {
-          throw new InvalidArgumentError("error must be defined");
+        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];
         }
-        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error: error3 });
-        return new MockScope(newMockDispatch);
+        this._updateBalancedPoolStats();
+        return this;
       }
-      /**
-       * Set default reply headers on the interceptor for subsequent replies
-       */
-      defaultReplyHeaders(headers) {
-        if (typeof headers === "undefined") {
-          throw new InvalidArgumentError("headers must be defined");
+      _updateBalancedPoolStats() {
+        let result = 0;
+        for (let i = 0; i < this[kClients].length; i++) {
+          result = getGreatestCommonDivisor(this[kClients][i][kWeight], result);
         }
-        this[kDefaultHeaders] = headers;
-        return this;
+        this[kGreatestCommonDivisor] = result;
       }
-      /**
-       * Set default reply trailers on the interceptor for subsequent replies
-       */
-      defaultReplyTrailers(trailers) {
-        if (typeof trailers === "undefined") {
-          throw new InvalidArgumentError("trailers must be defined");
+      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);
         }
-        this[kDefaultTrailers] = trailers;
         return this;
       }
-      /**
-       * Set reply content length header for replies on the interceptor
-       */
-      replyContentLength() {
-        this[kContentLength] = true;
-        return this;
+      get upstreams() {
+        return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin);
       }
-    };
-    module2.exports.MockInterceptor = MockInterceptor;
-    module2.exports.MockScope = MockScope;
-  }
-});
-
-// node_modules/undici/lib/mock/mock-client.js
-var require_mock_client2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
-    "use strict";
-    var { promisify } = require("util");
-    var Client = require_client2();
-    var { buildMockDispatch } = require_mock_utils2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kClose,
-      kOriginalClose,
-      kOrigin,
-      kOriginalDispatch,
-      kConnected
-    } = require_mock_symbols2();
-    var { MockInterceptor } = require_mock_interceptor2();
-    var Symbols = require_symbols6();
-    var { InvalidArgumentError } = require_errors2();
-    var MockClient = class extends Client {
-      constructor(origin, opts) {
-        super(origin, opts);
-        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
+      [kGetDispatcher]() {
+        if (this[kClients].length === 0) {
+          throw new BalancedPoolMissingUpstreamError();
         }
-        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]);
+        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 = MockClient;
+    module2.exports = BalancedPool;
   }
 });
 
-// node_modules/undici/lib/mock/mock-pool.js
-var require_mock_pool2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js
+var require_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js"(exports2, module2) {
     "use strict";
-    var { promisify } = require("util");
-    var Pool = require_pool2();
-    var { buildMockDispatch } = require_mock_utils2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kClose,
-      kOriginalClose,
-      kOrigin,
-      kOriginalDispatch,
-      kConnected
-    } = require_mock_symbols2();
-    var { MockInterceptor } = require_mock_interceptor2();
-    var Symbols = require_symbols6();
     var { InvalidArgumentError } = require_errors2();
-    var MockPool = class extends Pool {
-      constructor(origin, opts) {
-        super(origin, opts);
-        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
+    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
+    var DispatcherBase = require_dispatcher_base2();
+    var Pool = require_pool2();
+    var Client = require_client2();
+    var util = require_util10();
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ 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.");
         }
-        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];
+        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 [Symbols.kConnected]() {
-        return this[kConnected];
+      get [kRunning]() {
+        let ret = 0;
+        for (const client of this[kClients].values()) {
+          ret += client[kRunning];
+        }
+        return ret;
       }
-      /**
-       * Sets up the base interceptor for mocking replies from undici.
-       */
-      intercept(opts) {
-        return new MockInterceptor(opts, this[kDispatches]);
+      [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]() {
-        await promisify(this[kOriginalClose])();
-        this[kConnected] = 0;
-        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
+        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 = MockPool;
+    module2.exports = Agent;
   }
 });
 
-// node_modules/undici/lib/mock/pluralizer.js
-var require_pluralizer2 = __commonJS({
-  "node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js
+var require_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.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"
+    var { kProxy, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
+    var { URL: URL2 } = require("node:url");
+    var Agent = require_agent2();
+    var Pool = require_pool2();
+    var DispatcherBase = require_dispatcher_base2();
+    var { InvalidArgumentError, RequestAbortedError, SecureProxyConnectionError } = require_errors2();
+    var buildConnector = require_connect2();
+    var Client = require_client2();
+    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
+    var kClient = /* @__PURE__ */ Symbol("proxy client");
+    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
+    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
+    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
+    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
+    var kTunnelProxy = /* @__PURE__ */ Symbol("tunnel proxy");
+    function defaultProtocolPort(protocol) {
+      return protocol === "https:" ? 443 : 80;
+    }
+    function defaultFactory(origin, opts) {
+      return new Pool(origin, opts);
+    }
+    var noop3 = () => {
     };
-    module2.exports = class Pluralizer {
-      constructor(singular, plural) {
-        this.singular = singular;
-        this.plural = plural;
+    function defaultAgentFactory(origin, opts) {
+      if (opts.connections === 1) {
+        return new Client(origin, opts);
       }
-      pluralize(count) {
-        const one = count === 1;
-        const keys = one ? singulars : plurals;
-        const noun = one ? this.singular : this.plural;
-        return { ...keys, count, noun };
+      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 });
+        }
       }
-    };
-  }
-});
-
-// node_modules/undici/lib/mock/pending-interceptors-formatter.js
-var require_pending_interceptors_formatter2 = __commonJS({
-  "node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
-    "use strict";
-    var { Transform } = require("stream");
-    var { Console } = require("console");
-    module2.exports = class PendingInterceptorsFormatter {
-      constructor({ disableColors } = {}) {
-        this.transform = new Transform({
-          transform(chunk, _enc, cb) {
-            cb(null, chunk);
-          }
-        });
-        this.logger = new Console({
-          stdout: this.transform,
-          inspectOptions: {
-            colors: !disableColors && !process.env.CI
+      [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: path3 = "/",
+          headers = {}
+        } = opts;
+        opts.path = origin + path3;
+        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);
       }
-      format(pendingInterceptors) {
-        const withPrettyHeaders = pendingInterceptors.map(
-          ({ method, path: path3, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
-            Method: method,
-            Origin: origin,
-            Path: path3,
-            "Status code": statusCode,
-            Persistent: persist ? "\u2705" : "\u274C",
-            Invocations: timesInvoked,
-            Remaining: persist ? Infinity : times - timesInvoked
-          })
-        );
-        this.logger.table(withPrettyHeaders);
-        return this.transform.read().toString();
+      async [kClose]() {
+        return this.#client.close();
+      }
+      async [kDestroy](err) {
+        return this.#client.destroy(err);
       }
     };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-agent.js
-var require_mock_agent2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
-    "use strict";
-    var { kClients } = require_symbols6();
-    var Agent = require_agent2();
-    var {
-      kAgent,
-      kMockAgentSet,
-      kMockAgentGet,
-      kDispatches,
-      kIsMockActive,
-      kNetConnect,
-      kGetNetConnect,
-      kOptions,
-      kFactory
-    } = require_mock_symbols2();
-    var MockClient = require_mock_client2();
-    var MockPool = require_mock_pool2();
-    var { matchValue, buildMockOptions } = require_mock_utils2();
-    var { InvalidArgumentError, UndiciError } = require_errors2();
-    var Dispatcher = require_dispatcher2();
-    var Pluralizer = require_pluralizer2();
-    var PendingInterceptorsFormatter = require_pending_interceptors_formatter2();
-    var FakeWeakRef = class {
-      constructor(value) {
-        this.value = value;
-      }
-      deref() {
-        return this.value;
-      }
-    };
-    var MockAgent = class extends Dispatcher {
-      constructor(opts) {
-        super(opts);
-        this[kNetConnect] = true;
-        this[kIsMockActive] = true;
-        if (opts && opts.agent && typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
-        }
-        const agent = opts && opts.agent ? opts.agent : new Agent(opts);
-        this[kAgent] = agent;
-        this[kClients] = agent[kClients];
-        this[kOptions] = buildMockOptions(opts);
-      }
-      get(origin) {
-        let dispatcher = this[kMockAgentGet](origin);
-        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, new FakeWeakRef(dispatcher));
-      }
-      [kFactory](origin) {
-        const mockOptions = Object.assign({ agent: this }, this[kOptions]);
-        return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions);
-      }
-      [kMockAgentGet](origin) {
-        const ref = this[kClients].get(origin);
-        if (ref) {
-          return ref.deref();
-        }
-        if (typeof origin !== "string") {
-          const dispatcher = this[kFactory]("http://localhost:9999");
-          this[kMockAgentSet](origin, dispatcher);
-          return dispatcher;
-        }
-        for (const [keyMatcher, nonExplicitRef] of Array.from(this[kClients])) {
-          const nonExplicitDispatcher = nonExplicitRef.deref();
-          if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) {
-            const dispatcher = this[kFactory](origin);
-            this[kMockAgentSet](origin, dispatcher);
-            dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches];
-            return dispatcher;
-          }
-        }
-      }
-      [kGetNetConnect]() {
-        return this[kNetConnect];
-      }
-      pendingInterceptors() {
-        const mockAgentClients = this[kClients];
-        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope.deref()[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
-      }
-      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/proxy-agent.js
-var require_proxy_agent2 = __commonJS({
-  "node_modules/undici/lib/proxy-agent.js"(exports2, module2) {
-    "use strict";
-    var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols6();
-    var { URL: URL2 } = require("url");
-    var Agent = require_agent2();
-    var Pool = require_pool2();
-    var DispatcherBase = require_dispatcher_base2();
-    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
-    var buildConnector = require_connect2();
-    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
-    var kClient = /* @__PURE__ */ Symbol("proxy client");
-    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
-    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
-    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
-    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
-    function defaultProtocolPort(protocol) {
-      return protocol === "https:" ? 443 : 80;
-    }
-    function buildProxyOptions(opts) {
-      if (typeof opts === "string") {
-        opts = { uri: opts };
-      }
-      if (!opts || !opts.uri) {
-        throw new InvalidArgumentError("Proxy opts.uri is mandatory");
-      }
-      return {
-        uri: opts.uri,
-        protocol: opts.protocol || "https"
-      };
-    }
-    function defaultFactory(origin, opts) {
-      return new Pool(origin, opts);
-    }
     var ProxyAgent = class extends DispatcherBase {
       constructor(opts) {
-        super(opts);
-        this[kProxy] = buildProxyOptions(opts);
-        this[kAgent] = new Agent(opts);
-        this[kInterceptors] = opts.interceptors && opts.interceptors.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : [];
-        if (typeof opts === "string") {
-          opts = { uri: opts };
-        }
-        if (!opts || !opts.uri) {
-          throw new InvalidArgumentError("Proxy opts.uri is mandatory");
+        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 || {};
-        const resolvedUrl = new URL2(opts.uri);
-        const { origin, port, host, username, password } = resolvedUrl;
+        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) {
@@ -49930,28 +47614,41 @@ var require_proxy_agent2 = __commonJS({
         }
         const connect = buildConnector({ ...opts.proxyTls });
         this[kConnectEndpoint] = buildConnector({ ...opts.requestTls });
-        this[kClient] = clientFactory(resolvedUrl, { connect });
+        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 requestedHost = opts2.host;
+            let requestedPath = opts2.host;
             if (!opts2.port) {
-              requestedHost += `:${defaultProtocolPort(opts2.protocol)}`;
+              requestedPath += `:${defaultProtocolPort(opts2.protocol)}`;
             }
             try {
               const { socket, statusCode } = await this[kClient].connect({
                 origin,
                 port,
-                path: requestedHost,
+                path: requestedPath,
                 signal: opts2.signal,
                 headers: {
                   ...this[kProxyHeaders],
-                  host
-                }
+                  host: opts2.host
+                },
+                servername: this[kProxyTls]?.servername || proxyHostname
               });
               if (statusCode !== 200) {
-                socket.on("error", () => {
-                }).destroy();
+                socket.on("error", noop3).destroy();
                 callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`));
               }
               if (opts2.protocol !== "https:") {
@@ -49966,26 +47663,43 @@ var require_proxy_agent2 = __commonJS({
               }
               this[kConnectEndpoint]({ ...opts2, servername, httpSocket: socket }, callback);
             } catch (err) {
-              callback(err);
+              if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
+                callback(new SecureProxyConnectionError(err));
+              } else {
+                callback(err);
+              }
             }
           }
         });
       }
       dispatch(opts, handler2) {
-        const { host } = new URL2(opts.origin);
         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: {
-              ...headers,
-              host
-            }
+            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();
@@ -50015,17 +47729,158 @@ var require_proxy_agent2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/handler/RetryHandler.js
-var require_RetryHandler = __commonJS({
-  "node_modules/undici/lib/handler/RetryHandler.js"(exports2, module2) {
-    var assert = require("assert");
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js
+var require_env_http_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js"(exports2, module2) {
+    "use strict";
+    var DispatcherBase = require_dispatcher_base2();
+    var { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require_symbols6();
+    var ProxyAgent = require_proxy_agent2();
+    var Agent = require_agent2();
+    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/@actions/github/node_modules/undici/lib/handler/retry-handler.js
+var require_retry_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/retry-handler.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
     var { kRetryHandlerDefaultRetry } = require_symbols6();
     var { RequestRetryError } = require_errors2();
-    var { isDisturbed, parseHeaders, parseRangeHeader } = require_util10();
+    var {
+      isDisturbed,
+      parseHeaders,
+      parseRangeHeader,
+      wrapRequestBody
+    } = require_util10();
     function calculateRetryAfterHeader(retryAfter) {
       const current = Date.now();
-      const diff = new Date(retryAfter).getTime() - current;
-      return diff;
+      return new Date(retryAfter).getTime() - current;
     }
     var RetryHandler = class _RetryHandler {
       constructor(opts, handlers) {
@@ -50045,7 +47900,7 @@ var require_RetryHandler = __commonJS({
         } = retryOptions ?? {};
         this.dispatch = handlers.dispatch;
         this.handler = handlers.handler;
-        this.opts = dispatchOpts;
+        this.opts = { ...dispatchOpts, body: wrapRequestBody(opts.body) };
         this.abort = null;
         this.aborted = false;
         this.retryOpts = {
@@ -50053,7 +47908,7 @@ var require_RetryHandler = __commonJS({
           retryAfter: retryAfter ?? true,
           maxTimeout: maxTimeout ?? 30 * 1e3,
           // 30s,
-          timeout: minTimeout ?? 500,
+          minTimeout: minTimeout ?? 500,
           // .5s
           timeoutFactor: timeoutFactor ?? 2,
           maxRetries: maxRetries ?? 5,
@@ -50070,10 +47925,12 @@ var require_RetryHandler = __commonJS({
             "ENETUNREACH",
             "EHOSTDOWN",
             "EHOSTUNREACH",
-            "EPIPE"
+            "EPIPE",
+            "UND_ERR_SOCKET"
           ]
         };
         this.retryCount = 0;
+        this.retryCountCheckpoint = 0;
         this.start = 0;
         this.end = null;
         this.etag = null;
@@ -50112,16 +47969,15 @@ var require_RetryHandler = __commonJS({
         const { method, retryOptions } = opts;
         const {
           maxRetries,
-          timeout,
+          minTimeout,
           maxTimeout,
           timeoutFactor,
           statusCodes,
           errorCodes,
           methods
         } = retryOptions;
-        let { counter, currentTimeout } = state;
-        currentTimeout = currentTimeout != null && currentTimeout > 0 ? currentTimeout : timeout;
-        if (code && code !== "UND_ERR_REQ_RETRY" && code !== "UND_ERR_SOCKET" && !errorCodes.includes(code)) {
+        const { counter } = state;
+        if (code && code !== "UND_ERR_REQ_RETRY" && !errorCodes.includes(code)) {
           cb(err);
           return;
         }
@@ -50137,38 +47993,54 @@ var require_RetryHandler = __commonJS({
           cb(err);
           return;
         }
-        let retryAfterHeader = headers != null && headers["retry-after"];
+        let retryAfterHeader = headers?.["retry-after"];
         if (retryAfterHeader) {
           retryAfterHeader = Number(retryAfterHeader);
-          retryAfterHeader = isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3;
+          retryAfterHeader = Number.isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3;
         }
-        const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(currentTimeout * timeoutFactor ** counter, maxTimeout);
-        state.currentTimeout = retryTimeout;
+        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) {
-          this.abort(
-            new RequestRetryError("Request failed", statusCode, {
-              headers,
-              count: this.retryCount
-            })
-          );
-          return false;
+          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) {
-            return true;
+          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,
-                count: this.retryCount
+                data: { count: this.retryCount }
               })
             );
             return false;
@@ -50177,12 +48049,12 @@ var require_RetryHandler = __commonJS({
             this.abort(
               new RequestRetryError("ETag mismatch", statusCode, {
                 headers,
-                count: this.retryCount
+                data: { count: this.retryCount }
               })
             );
             return false;
           }
-          const { start, size, end = size } = contentRange;
+          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;
@@ -50199,22 +48071,18 @@ var require_RetryHandler = __commonJS({
                 statusMessage
               );
             }
-            const { start, size, end = size } = range;
+            const { start, size, end = size - 1 } = range;
             assert(
-              start != null && Number.isFinite(start) && this.start !== start,
+              start != null && Number.isFinite(start),
               "content-range mismatch"
             );
-            assert(Number.isFinite(start));
-            assert(
-              end != null && Number.isFinite(end) && this.end !== end,
-              "invalid content-length"
-            );
+            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) : null;
+            this.end = contentLength != null ? Number(contentLength) - 1 : null;
           }
           assert(Number.isFinite(this.start));
           assert(
@@ -50223,6 +48091,9 @@ var require_RetryHandler = __commonJS({
           );
           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,
@@ -50232,7 +48103,7 @@ var require_RetryHandler = __commonJS({
         }
         const err = new RequestRetryError("Request failed", statusCode, {
           headers,
-          count: this.retryCount
+          data: { count: this.retryCount }
         });
         this.abort(err);
         return false;
@@ -50249,10 +48120,15 @@ var require_RetryHandler = __commonJS({
         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++, currentTimeout: this.retryAfter },
+            state: { counter: this.retryCount },
             opts: { retryOptions: this.retryOpts, ...this.opts }
           },
           onRetry.bind(this)
@@ -50262,15 +48138,20 @@ var require_RetryHandler = __commonJS({
             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,
-                range: `bytes=${this.start}-${this.end ?? ""}`
+                ...headers
               }
             };
           }
           try {
+            this.retryCountCheckpoint = this.retryCount;
             this.dispatch(this.opts, this);
           } catch (err3) {
             this.handler.onError(err3);
@@ -50282,5496 +48163,9192 @@ var require_RetryHandler = __commonJS({
   }
 });
 
-// node_modules/undici/lib/global.js
-var require_global4 = __commonJS({
-  "node_modules/undici/lib/global.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js
+var require_retry_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js"(exports2, module2) {
     "use strict";
-    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
-    var { InvalidArgumentError } = require_errors2();
-    var Agent = require_agent2();
-    if (getGlobalDispatcher() === void 0) {
-      setGlobalDispatcher(new Agent());
-    }
-    function setGlobalDispatcher(agent) {
-      if (!agent || typeof agent.dispatch !== "function") {
-        throw new InvalidArgumentError("Argument agent must implement Agent");
+    var Dispatcher = require_dispatcher2();
+    var RetryHandler = require_retry_handler2();
+    var RetryAgent = class extends Dispatcher {
+      #agent = null;
+      #options = null;
+      constructor(agent, options = {}) {
+        super(options);
+        this.#agent = agent;
+        this.#options = options;
+      }
+      dispatch(opts, handler2) {
+        const retry2 = new RetryHandler({
+          ...opts,
+          retryOptions: this.#options
+        }, {
+          dispatch: this.#agent.dispatch.bind(this.#agent),
+          handler: handler2
+        });
+        return this.#agent.dispatch(opts, retry2);
+      }
+      close() {
+        return this.#agent.close();
+      }
+      destroy() {
+        return this.#agent.destroy();
       }
-      Object.defineProperty(globalThis, globalDispatcher, {
-        value: agent,
-        writable: true,
-        enumerable: false,
-        configurable: false
-      });
-    }
-    function getGlobalDispatcher() {
-      return globalThis[globalDispatcher];
-    }
-    module2.exports = {
-      setGlobalDispatcher,
-      getGlobalDispatcher
     };
+    module2.exports = RetryAgent;
   }
 });
 
-// node_modules/undici/lib/handler/DecoratorHandler.js
-var require_DecoratorHandler = __commonJS({
-  "node_modules/undici/lib/handler/DecoratorHandler.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/api/readable.js
+var require_readable2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/readable.js"(exports2, module2) {
     "use strict";
-    module2.exports = class DecoratorHandler {
-      constructor(handler2) {
-        this.handler = handler2;
-      }
-      onConnect(...args) {
-        return this.handler.onConnect(...args);
+    var assert = require("node:assert");
+    var { Readable } = require("node:stream");
+    var { RequestAbortedError, NotSupportedError, InvalidArgumentError, AbortError } = require_errors2();
+    var util = require_util10();
+    var { ReadableStreamFrom } = require_util10();
+    var kConsume = /* @__PURE__ */ Symbol("kConsume");
+    var kReading = /* @__PURE__ */ Symbol("kReading");
+    var kBody = /* @__PURE__ */ Symbol("kBody");
+    var kAbort = /* @__PURE__ */ Symbol("kAbort");
+    var kContentType = /* @__PURE__ */ Symbol("kContentType");
+    var kContentLength = /* @__PURE__ */ 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;
       }
-      onError(...args) {
-        return this.handler.onError(...args);
+      destroy(err) {
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
+        }
+        if (err) {
+          this[kAbort]();
+        }
+        return super.destroy(err);
       }
-      onUpgrade(...args) {
-        return this.handler.onUpgrade(...args);
+      _destroy(err, callback) {
+        if (!this[kReading]) {
+          setImmediate(() => {
+            callback(err);
+          });
+        } else {
+          callback(err);
+        }
       }
-      onHeaders(...args) {
-        return this.handler.onHeaders(...args);
+      on(ev, ...args) {
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = true;
+        }
+        return super.on(ev, ...args);
       }
-      onData(...args) {
-        return this.handler.onData(...args);
+      addListener(ev, ...args) {
+        return this.on(ev, ...args);
       }
-      onComplete(...args) {
-        return this.handler.onComplete(...args);
-      }
-      onBodySent(...args) {
-        return this.handler.onBodySent(...args);
-      }
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/headers.js
-var require_headers2 = __commonJS({
-  "node_modules/undici/lib/fetch/headers.js"(exports2, module2) {
-    "use strict";
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var { kGuard } = require_symbols7();
-    var { kEnumerableProperty } = require_util10();
-    var {
-      makeIterator,
-      isValidHeaderName,
-      isValidHeaderValue
-    } = require_util11();
-    var util = require("util");
-    var { webidl } = require_webidl2();
-    var assert = require("assert");
-    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
-    var kHeadersSortedMap = /* @__PURE__ */ 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]]);
+      off(ev, ...args) {
+        const ret = super.off(ev, ...args);
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0;
         }
-      } 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"
-        });
+        return ret;
       }
-      if (headers[kGuard] === "immutable") {
-        throw new TypeError("immutable");
-      } else if (headers[kGuard] === "request-no-cors") {
+      removeListener(ev, ...args) {
+        return this.off(ev, ...args);
       }
-      return headers[kHeadersList].append(name, value);
-    }
-    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;
+      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/#header-list-contains
-      contains(name) {
-        name = name.toLowerCase();
-        return this[kHeadersMap].has(name);
+      // https://fetch.spec.whatwg.org/#dom-body-text
+      async text() {
+        return consume(this, "text");
       }
-      clear() {
-        this[kHeadersMap].clear();
-        this[kHeadersSortedMap] = null;
-        this.cookies = null;
+      // https://fetch.spec.whatwg.org/#dom-body-json
+      async json() {
+        return consume(this, "json");
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-append
-      append(name, value) {
-        this[kHeadersSortedMap] = null;
-        const lowercaseName = name.toLowerCase();
-        const exists = this[kHeadersMap].get(lowercaseName);
-        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 ??= [];
-          this.cookies.push(value);
-        }
+      // https://fetch.spec.whatwg.org/#dom-body-blob
+      async blob() {
+        return consume(this, "blob");
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-set
-      set(name, value) {
-        this[kHeadersSortedMap] = null;
-        const lowercaseName = name.toLowerCase();
-        if (lowercaseName === "set-cookie") {
-          this.cookies = [value];
-        }
-        this[kHeadersMap].set(lowercaseName, { name, value });
+      // https://fetch.spec.whatwg.org/#dom-body-bytes
+      async bytes() {
+        return consume(this, "bytes");
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-delete
-      delete(name) {
-        this[kHeadersSortedMap] = null;
-        name = name.toLowerCase();
-        if (name === "set-cookie") {
-          this.cookies = null;
-        }
-        this[kHeadersMap].delete(name);
+      // https://fetch.spec.whatwg.org/#dom-body-arraybuffer
+      async arrayBuffer() {
+        return consume(this, "arrayBuffer");
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-get
-      get(name) {
-        const value = this[kHeadersMap].get(name.toLowerCase());
-        return value === void 0 ? null : value.value;
+      // https://fetch.spec.whatwg.org/#dom-body-formdata
+      async formData() {
+        throw new NotSupportedError();
       }
-      *[Symbol.iterator]() {
-        for (const [name, { value }] of this[kHeadersMap]) {
-          yield [name, value];
-        }
+      // https://fetch.spec.whatwg.org/#dom-body-bodyused
+      get bodyUsed() {
+        return util.isDisturbed(this);
       }
-      get entries() {
-        const headers = {};
-        if (this[kHeadersMap].size) {
-          for (const { name, value } of this[kHeadersMap].values()) {
-            headers[name] = value;
+      // 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 headers;
+        return this[kBody];
       }
-    };
-    var Headers = class _Headers {
-      constructor(init = void 0) {
-        if (init === kConstruct) {
-          return;
+      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");
         }
-        this[kHeadersList] = new HeadersList();
-        this[kGuard] = "none";
-        if (init !== void 0) {
-          init = webidl.converters.HeadersInit(init);
-          fill(this, init);
+        signal?.throwIfAborted();
+        if (this._readableState.closeEmitted) {
+          return null;
         }
+        return await new Promise((resolve2, 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 {
+              resolve2(null);
+            }
+          }).on("error", noop3).on("data", function(chunk) {
+            limit -= chunk.length;
+            if (limit <= 0) {
+              this.destroy();
+            }
+          }).resume();
+        });
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-append
-      append(name, value) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.append" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
-        return appendHeader(this, name, value);
-      }
-      // https://fetch.spec.whatwg.org/#dom-headers-delete
-      delete(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.delete" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.delete",
-            value: name,
-            type: "header name"
+    };
+    function isLocked(self2) {
+      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
+    }
+    function isUnusable(self2) {
+      return util.isDisturbed(self2) || isLocked(self2);
+    }
+    async function consume(stream, type2) {
+      assert(!stream[kConsume]);
+      return new Promise((resolve2, 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: type2,
+              stream,
+              resolve: resolve2,
+              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]);
           });
         }
-        if (this[kGuard] === "immutable") {
-          throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
+      });
+    }
+    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]);
         }
-        if (!this[kHeadersList].contains(name)) {
-          return;
+      } else {
+        for (const chunk of state.buffer) {
+          consumePush(consume2, chunk);
         }
-        this[kHeadersList].delete(name);
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-get
-      get(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.get" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.get",
-            value: name,
-            type: "header name"
-          });
-        }
-        return this[kHeadersList].get(name);
+      if (state.endEmitted) {
+        consumeEnd(this[kConsume]);
+      } else {
+        consume2.stream.on("end", function() {
+          consumeEnd(this[kConsume]);
+        });
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-has
-      has(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.has" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.has",
-            value: name,
-            type: "header name"
-          });
-        }
-        return this[kHeadersList].contains(name);
+      consume2.stream.resume();
+      while (consume2.stream.read() != null) {
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-set
-      set(name, value) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.set" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
-        value = headerValueNormalize(value);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
-            value: name,
-            type: "header name"
-          });
-        } else if (!isValidHeaderValue(value)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
-            value,
-            type: "header value"
-          });
-        }
-        if (this[kGuard] === "immutable") {
-          throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
-        }
-        this[kHeadersList].set(name, value);
+    }
+    function chunksDecode(chunks, length) {
+      if (chunks.length === 0 || length === 0) {
+        return "";
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
-      getSetCookie() {
-        webidl.brandCheck(this, _Headers);
-        const list = this[kHeadersList].cookies;
-        if (list) {
-          return [...list];
-        }
-        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);
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
-      get [kHeadersSortedMap]() {
-        if (this[kHeadersList][kHeadersSortedMap]) {
-          return this[kHeadersList][kHeadersSortedMap];
-        }
-        const headers = [];
-        const names = [...this[kHeadersList]].sort((a, b) => a[0] < b[0] ? -1 : 1);
-        const cookies = this[kHeadersList].cookies;
-        for (let i = 0; i < names.length; ++i) {
-          const [name, value] = names[i];
-          if (name === "set-cookie") {
-            for (let j = 0; j < cookies.length; ++j) {
-              headers.push([name, cookies[j]]);
-            }
-          } else {
-            assert(value !== null);
-            headers.push([name, value]);
-          }
-        }
-        this[kHeadersList][kHeadersSortedMap] = headers;
-        return headers;
+      if (chunks.length === 1) {
+        return new Uint8Array(chunks[0]);
       }
-      keys() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key"
-        );
+      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;
       }
-      values() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "value"
-          );
+      return buffer;
+    }
+    function consumeEnd(consume2) {
+      const { type: type2, body, resolve: resolve2, stream, length } = consume2;
+      try {
+        if (type2 === "text") {
+          resolve2(chunksDecode(body, length));
+        } else if (type2 === "json") {
+          resolve2(JSON.parse(chunksDecode(body, length)));
+        } else if (type2 === "arrayBuffer") {
+          resolve2(chunksConcat(body, length).buffer);
+        } else if (type2 === "blob") {
+          resolve2(new Blob(body, { type: stream[kContentType] }));
+        } else if (type2 === "bytes") {
+          resolve2(chunksConcat(body, length));
         }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "value"
-        );
+        consumeFinish(consume2);
+      } catch (err) {
+        stream.destroy(err);
       }
-      entries() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key+value"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key+value"
-        );
+    }
+    function consumePush(consume2, chunk) {
+      consume2.length += chunk.length;
+      consume2.body.push(chunk);
+    }
+    function consumeFinish(consume2, err) {
+      if (consume2.body === null) {
+        return;
       }
-      /**
-       * @param {(value: string, key: string, self: Headers) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'."
-          );
-        }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
-        }
+      if (err) {
+        consume2.reject(err);
+      } else {
+        consume2.resolve();
       }
-      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")]() {
-        webidl.brandCheck(this, _Headers);
-        return this[kHeadersList];
+      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/@actions/github/node_modules/undici/lib/api/util.js
+var require_util12 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/util.js"(exports2, module2) {
+    var assert = require("node:assert");
+    var {
+      ResponseStatusCodeError
+    } = require_errors2();
+    var { chunksDecode } = require_readable2();
+    var CHUNK_LIMIT = 128 * 1024;
+    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
+      assert(body);
+      let chunks = [];
+      let length = 0;
+      try {
+        for await (const chunk of body) {
+          chunks.push(chunk);
+          length += chunk.length;
+          if (length > CHUNK_LIMIT) {
+            chunks = [];
+            length = 0;
+            break;
+          }
+        }
+      } catch {
+        chunks = [];
+        length = 0;
       }
-    };
-    Headers.prototype[Symbol.iterator] = Headers.prototype.entries;
-    Object.defineProperties(Headers.prototype, {
-      append: kEnumerableProperty,
-      delete: kEnumerableProperty,
-      get: kEnumerableProperty,
-      has: kEnumerableProperty,
-      set: kEnumerableProperty,
-      getSetCookie: kEnumerableProperty,
-      keys: kEnumerableProperty,
-      values: kEnumerableProperty,
-      entries: kEnumerableProperty,
-      forEach: kEnumerableProperty,
-      [Symbol.iterator]: { enumerable: false },
-      [Symbol.toStringTag]: {
-        value: "Headers",
-        configurable: true
-      },
-      [util.inspect.custom]: {
-        enumerable: false
+      const message = `Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`;
+      if (statusCode === 204 || !contentType || !length) {
+        queueMicrotask(() => callback(new ResponseStatusCodeError(message, statusCode, headers)));
+        return;
       }
-    });
-    webidl.converters.HeadersInit = function(V) {
-      if (webidl.util.Type(V) === "Object") {
-        if (V[Symbol.iterator]) {
-          return webidl.converters["sequence>"](V);
+      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);
         }
-        return webidl.converters["record"](V);
+      } catch {
+      } finally {
+        Error.stackTraceLimit = stackTraceLimit;
       }
-      throw webidl.errors.conversionFailed({
-        prefix: "Headers constructor",
-        argument: "Argument 1",
-        types: ["sequence>", "record"]
-      });
+      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 = {
-      fill,
-      Headers,
-      HeadersList
+      getResolveErrorBodyCallback,
+      isContentTypeApplicationJson,
+      isContentTypeText
     };
   }
 });
 
-// node_modules/undici/lib/fetch/response.js
-var require_response2 = __commonJS({
-  "node_modules/undici/lib/fetch/response.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/api/api-request.js
+var require_api_request2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-request.js"(exports2, module2) {
     "use strict";
-    var { Headers, HeadersList, fill } = require_headers2();
-    var { extractBody, cloneBody, mixinBody } = require_body2();
+    var assert = require("node:assert");
+    var { Readable } = require_readable2();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
     var util = require_util10();
-    var { kEnumerableProperty } = util;
-    var {
-      isValidReasonPhrase,
-      isCancelled,
-      isAborted,
-      isBlobLike,
-      serializeJavascriptValueToJSONString,
-      isErrorLike,
-      isomorphicEncode
-    } = require_util11();
-    var {
-      redirectStatusSet,
-      nullBodyStatus,
-      DOMException: DOMException2
-    } = require_constants7();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
-    var { webidl } = require_webidl2();
-    var { FormData: FormData2 } = require_formdata2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { types } = require("util");
-    var ReadableStream2 = globalThis.ReadableStream || require("stream/web").ReadableStream;
-    var textEncoder = new TextEncoder("utf-8");
-    var Response = class _Response {
-      // Creates network error Response.
-      static error() {
-        const relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kState] = makeNetworkError();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = responseObject[kState].headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        return responseObject;
-      }
-      // https://fetch.spec.whatwg.org/#dom-response-json
-      static json(data, init = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.json" });
-        if (init !== null) {
-          init = webidl.converters.ResponseInit(init);
+    var { getResolveErrorBodyCallback } = require_util12();
+    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 bytes = textEncoder.encode(
-          serializeJavascriptValueToJSONString(data)
-        );
-        const body = extractBody(bytes);
-        const relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "response";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
-        return responseObject;
-      }
-      // Creates a redirect Response that redirects to url with status status.
-      static redirect(url, status = 302) {
-        const relevantRealm = { settingsObject: {} };
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.redirect" });
-        url = webidl.converters.USVString(url);
-        status = webidl.converters["unsigned short"](status);
-        let parsedURL;
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
         try {
-          parsedURL = new URL(url, getGlobalOrigin());
+          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) {
-          throw Object.assign(new TypeError("Failed to parse URL from " + url), {
-            cause: err
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
+        }
+        this.method = method;
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.body = body;
+        this.trailers = {};
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError;
+        this.highWaterMark = highWaterMark;
+        this.signal = signal;
+        this.reason = null;
+        this.removeAbortListener = null;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
           });
         }
-        if (!redirectStatusSet.has(status)) {
-          throw new RangeError("Invalid status code " + status);
+        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;
+              }
+            });
+          }
         }
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        responseObject[kState].status = status;
-        const value = isomorphicEncode(URLSerializer(parsedURL));
-        responseObject[kState].headersList.append("location", value);
-        return responseObject;
       }
-      // https://fetch.spec.whatwg.org/#dom-response
-      constructor(body = null, init = {}) {
-        if (body !== null) {
-          body = webidl.converters.BodyInit(body);
-        }
-        init = webidl.converters.ResponseInit(init);
-        this[kRealm] = { settingsObject: {} };
-        this[kState] = makeResponse({});
-        this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kGuard] = "response";
-        this[kHeaders][kHeadersList] = this[kState].headersList;
-        this[kHeaders][kRealm] = this[kRealm];
-        let bodyWithType = null;
-        if (body != null) {
-          const [extractedBody, type2] = extractBody(body);
-          bodyWithType = { body: extractedBody, type: type2 };
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
-        initializeResponse(this, init, bodyWithType);
-      }
-      // Returns response’s type, e.g., "cors".
-      get type() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].type;
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
       }
-      // 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 "";
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { callback, opaque, abort, context: context2, 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: context2
+            });
+          }
         }
-        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;
+      onData(chunk) {
+        return this.res.push(chunk);
       }
-      get bodyUsed() {
-        webidl.brandCheck(this, _Response);
-        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
+      onComplete(trailers) {
+        util.parseHeaders(trailers, this.trailers);
+        this.res.push(null);
       }
-      // Returns a clone of response.
-      clone() {
-        webidl.brandCheck(this, _Response);
-        if (this.bodyUsed || this.body && this.body.locked) {
-          throw webidl.errors.exception({
-            header: "Response.clone",
-            message: "Body has already been consumed."
+      onError(err) {
+        const { res, callback, body, opaque } = this;
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
           });
         }
-        const clonedResponse = cloneResponse(this[kState]);
-        const clonedResponseObject = new _Response();
-        clonedResponseObject[kState] = clonedResponse;
-        clonedResponseObject[kRealm] = this[kRealm];
-        clonedResponseObject[kHeaders][kHeadersList] = clonedResponse.headersList;
-        clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm];
-        return clonedResponseObject;
+        if (res) {
+          this.res = null;
+          queueMicrotask(() => {
+            util.destroy(res, err);
+          });
+        }
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
+        }
+        if (this.removeAbortListener) {
+          res?.off("close", this.removeAbortListener);
+          this.removeAbortListener();
+          this.removeAbortListener = null;
+        }
       }
     };
-    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(response.body);
+    function request2(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve2, reject) => {
+          request2.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve2(data);
+          });
+        });
       }
-      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 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;
+      try {
+        this.dispatch(opts, new RequestHandler(opts, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
-      });
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
+      }
     }
-    function filterResponse(response, type2) {
-      if (type2 === "basic") {
-        return makeFilteredResponse(response, {
-          type: "basic",
-          headersList: response.headersList
-        });
-      } else if (type2 === "cors") {
-        return makeFilteredResponse(response, {
-          type: "cors",
-          headersList: response.headersList
-        });
-      } else if (type2 === "opaque") {
-        return makeFilteredResponse(response, {
-          type: "opaque",
-          urlList: Object.freeze([]),
-          status: 0,
-          statusText: "",
-          body: null
-        });
-      } else if (type2 === "opaqueredirect") {
-        return makeFilteredResponse(response, {
-          type: "opaqueredirect",
-          status: 0,
-          statusText: "",
-          headersList: [],
-          body: null
-        });
+    module2.exports = request2;
+    module2.exports.RequestHandler = RequestHandler;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js
+var require_abort_signal2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
+    var { addAbortListener } = require_util10();
+    var { RequestAbortedError } = require_errors2();
+    var kListener = /* @__PURE__ */ Symbol("kListener");
+    var kSignal = /* @__PURE__ */ Symbol("kSignal");
+    function abort(self2) {
+      if (self2.abort) {
+        self2.abort(self2[kSignal]?.reason);
       } else {
-        assert(false);
+        self2.reason = self2[kSignal]?.reason ?? new RequestAbortedError();
       }
+      removeSignal(self2);
     }
-    function makeAppropriateNetworkError(fetchParams, err = null) {
-      assert(isCancelled(fetchParams));
-      return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException2("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException2("Request was cancelled."), { cause: err }));
-    }
-    function initializeResponse(response, init, body) {
-      if (init.status !== null && (init.status < 200 || init.status > 599)) {
-        throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
-      }
-      if ("statusText" in init && init.statusText != null) {
-        if (!isValidReasonPhrase(String(init.statusText))) {
-          throw new TypeError("Invalid statusText");
-        }
-      }
-      if ("status" in init && init.status != null) {
-        response[kState].status = init.status;
-      }
-      if ("statusText" in init && init.statusText != null) {
-        response[kState].statusText = init.statusText;
-      }
-      if ("headers" in init && init.headers != null) {
-        fill(response[kHeaders], init.headers);
+    function addSignal(self2, signal) {
+      self2.reason = null;
+      self2[kSignal] = null;
+      self2[kListener] = null;
+      if (!signal) {
+        return;
       }
-      if (body) {
-        if (nullBodyStatus.includes(response.status)) {
-          throw webidl.errors.exception({
-            header: "Response constructor",
-            message: "Invalid response status code " + response.status
-          });
-        }
-        response[kState].body = body.body;
-        if (body.type != null && !response[kState].headersList.contains("Content-Type")) {
-          response[kState].headersList.append("content-type", body.type);
-        }
+      if (signal.aborted) {
+        abort(self2);
+        return;
       }
+      self2[kSignal] = signal;
+      self2[kListener] = () => {
+        abort(self2);
+      };
+      addAbortListener(self2[kSignal], self2[kListener]);
     }
-    webidl.converters.ReadableStream = webidl.interfaceConverter(
-      ReadableStream2
-    );
-    webidl.converters.FormData = webidl.interfaceConverter(
-      FormData2
-    );
-    webidl.converters.URLSearchParams = webidl.interfaceConverter(
-      URLSearchParams
-    );
-    webidl.converters.XMLHttpRequestBodyInit = function(V) {
-      if (typeof V === "string") {
-        return webidl.converters.USVString(V);
-      }
-      if (isBlobLike(V)) {
-        return webidl.converters.Blob(V, { strict: false });
-      }
-      if (types.isArrayBuffer(V) || types.isTypedArray(V) || types.isDataView(V)) {
-        return webidl.converters.BufferSource(V);
-      }
-      if (util.isFormDataLike(V)) {
-        return webidl.converters.FormData(V, { strict: false });
-      }
-      if (V instanceof URLSearchParams) {
-        return webidl.converters.URLSearchParams(V);
-      }
-      return webidl.converters.DOMString(V);
-    };
-    webidl.converters.BodyInit = function(V) {
-      if (V instanceof ReadableStream2) {
-        return webidl.converters.ReadableStream(V);
-      }
-      if (V?.[Symbol.asyncIterator]) {
-        return V;
+    function removeSignal(self2) {
+      if (!self2[kSignal]) {
+        return;
       }
-      return webidl.converters.XMLHttpRequestBodyInit(V);
-    };
-    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
+      if ("removeEventListener" in self2[kSignal]) {
+        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      } else {
+        self2[kSignal].removeListener("abort", self2[kListener]);
       }
-    ]);
+      self2[kSignal] = null;
+      self2[kListener] = null;
+    }
     module2.exports = {
-      makeNetworkError,
-      makeResponse,
-      makeAppropriateNetworkError,
-      filterResponse,
-      Response,
-      cloneResponse
+      addSignal,
+      removeSignal
     };
   }
 });
 
-// node_modules/undici/lib/fetch/request.js
-var require_request4 = __commonJS({
-  "node_modules/undici/lib/fetch/request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/api/api-stream.js
+var require_api_stream2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
     "use strict";
-    var { extractBody, mixinBody, cloneBody } = require_body2();
-    var { Headers, fill: fillHeaders, HeadersList } = require_headers2();
-    var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
+    var assert = require("node:assert");
+    var { finished, PassThrough } = require("node:stream");
+    var { InvalidArgumentError, InvalidReturnValueError } = require_errors2();
     var util = require_util10();
-    var {
-      isValidHTTPToken,
-      sameOrigin,
-      normalizeMethod,
-      makePolicyContainer,
-      normalizeMethodRecord
-    } = require_util11();
-    var {
-      forbiddenMethodsSet,
-      corsSafeListedMethodsSet,
-      referrerPolicy,
-      requestRedirect,
-      requestMode,
-      requestCredentials,
-      requestCache,
-      requestDuplex
-    } = require_constants7();
-    var { kEnumerableProperty } = util;
-    var { kHeaders, kSignal, kState, kGuard, kRealm } = require_symbols7();
-    var { webidl } = require_webidl2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events");
-    var TransformStream2 = globalThis.TransformStream;
-    var kAbortController = /* @__PURE__ */ Symbol("abortController");
-    var requestFinalizer = new FinalizationRegistry2(({ signal, abort }) => {
-      signal.removeEventListener("abort", abort);
-    });
-    var Request = class _Request {
-      // https://fetch.spec.whatwg.org/#dom-request
-      constructor(input, init = {}) {
-        if (input === kConstruct) {
-          return;
+    var { getResolveErrorBodyCallback } = require_util12();
+    var { AsyncResource } = require("node:async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var StreamHandler = class extends AsyncResource {
+      constructor(opts, factory, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        webidl.argumentLengthCheck(arguments, 1, { header: "Request constructor" });
-        input = webidl.converters.RequestInfo(input);
-        init = webidl.converters.RequestInit(init);
-        this[kRealm] = {
-          settingsObject: {
-            baseUrl: getGlobalOrigin(),
-            get origin() {
-              return this.baseUrl?.origin;
-            },
-            policyContainer: makePolicyContainer()
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
+        try {
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
           }
-        };
-        let request2 = null;
-        let fallbackMode = null;
-        const baseUrl = this[kRealm].settingsObject.baseUrl;
-        let signal = null;
-        if (typeof input === "string") {
-          let parsedURL;
-          try {
-            parsedURL = new URL(input, baseUrl);
-          } catch (err) {
-            throw new TypeError("Failed to parse URL from " + input, { cause: err });
+          if (typeof factory !== "function") {
+            throw new InvalidArgumentError("invalid factory");
           }
-          if (parsedURL.username || parsedURL.password) {
-            throw new TypeError(
-              "Request cannot be constructed from a URL that includes credentials: " + input
-            );
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
           }
-          request2 = makeRequest({ urlList: [parsedURL] });
-          fallbackMode = "cors";
-        } else {
-          assert(input instanceof _Request);
-          request2 = input[kState];
-          signal = input[kSignal];
-        }
-        const origin = this[kRealm].settingsObject.origin;
-        let window2 = "client";
-        if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
-          window2 = request2.window;
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
+          }
+          super("UNDICI_STREAM");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
         }
-        if (init.window != null) {
-          throw new TypeError(`'window' option '${window2}' must be null`);
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.factory = factory;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.context = null;
+        this.trailers = null;
+        this.body = body;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError || false;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
         }
-        if ("window" in init) {
-          window2 = "no-window";
+        addSignal(this, signal);
+      }
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
-        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: this[kRealm].settingsObject,
-          // window window.
-          window: window2,
-          // 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";
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
+      }
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { factory, opaque, context: context2, callback, responseHeaders } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
           }
-          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];
+          return;
         }
-        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 });
+        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: context2
+          });
+          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);
             }
-            if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, this[kRealm].settingsObject.baseUrl)) {
-              request2.referrer = "client";
-            } else {
-              request2.referrer = parsedReferrer;
+            this.callback = null;
+            this.runInAsyncScope(callback2, null, err || null, { opaque: opaque2, trailers });
+            if (err) {
+              abort();
             }
-          }
+          });
         }
-        if (init.referrerPolicy !== void 0) {
-          request2.referrerPolicy = init.referrerPolicy;
+        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;
         }
-        let mode;
-        if (init.mode !== void 0) {
-          mode = init.mode;
-        } else {
-          mode = fallbackMode;
+        this.trailers = util.parseHeaders(trailers);
+        res.end();
+      }
+      onError(err) {
+        const { res, callback, opaque, body } = this;
+        removeSignal(this);
+        this.factory = null;
+        if (res) {
+          this.res = null;
+          util.destroy(res, err);
+        } else if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        if (mode === "navigate") {
-          throw webidl.errors.exception({
-            header: "Request constructor",
-            message: "invalid request mode navigate."
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
+        }
+      }
+    };
+    function stream(opts, factory, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve2, reject) => {
+          stream.call(this, opts, factory, (err, data) => {
+            return err ? reject(err) : resolve2(data);
           });
+        });
+      }
+      try {
+        this.dispatch(opts, new StreamHandler(opts, factory, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
-        if (mode != null) {
-          request2.mode = mode;
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
+      }
+    }
+    module2.exports = stream;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js
+var require_api_pipeline2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
+    "use strict";
+    var {
+      Readable,
+      Duplex,
+      PassThrough
+    } = require("node:stream");
+    var {
+      InvalidArgumentError,
+      InvalidReturnValueError,
+      RequestAbortedError
+    } = require_errors2();
+    var util = require_util10();
+    var { AsyncResource } = require("node:async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var assert = require("node:assert");
+    var kResume = /* @__PURE__ */ 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();
         }
-        if (init.credentials !== void 0) {
-          request2.credentials = init.credentials;
+      }
+      _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();
         }
-        if (init.cache !== void 0) {
-          request2.cache = init.cache;
+        callback(err);
+      }
+    };
+    var PipelineHandler = class extends AsyncResource {
+      constructor(opts, handler2) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        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 (typeof handler2 !== "function") {
+          throw new InvalidArgumentError("invalid handler");
         }
-        if (init.redirect !== void 0) {
-          request2.redirect = init.redirect;
+        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 (init.integrity != null) {
-          request2.integrity = String(init.integrity);
+        if (method === "CONNECT") {
+          throw new InvalidArgumentError("invalid method");
         }
-        if (init.keepalive !== void 0) {
-          request2.keepalive = Boolean(init.keepalive);
+        if (onInfo && typeof onInfo !== "function") {
+          throw new InvalidArgumentError("invalid onInfo callback");
         }
-        if (init.method !== void 0) {
-          let method = init.method;
-          if (!isValidHTTPToken(method)) {
-            throw new TypeError(`'${method}' is not a valid HTTP method.`);
+        super("UNDICI_PIPELINE");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.handler = handler2;
+        this.abort = null;
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.req = new PipelineRequest().on("error", util.nop);
+        this.ret = new Duplex({
+          readableObjectMode: opts.objectMode,
+          autoDestroy: true,
+          read: () => {
+            const { body } = this;
+            if (body?.resume) {
+              body.resume();
+            }
+          },
+          write: (chunk, encoding, callback) => {
+            const { req } = this;
+            if (req.push(chunk, encoding) || req._readableState.destroyed) {
+              callback();
+            } else {
+              req[kResume] = callback;
+            }
+          },
+          destroy: (err, callback) => {
+            const { body, req, res, ret, abort } = this;
+            if (!err && !ret._readableState.endEmitted) {
+              err = new RequestAbortedError();
+            }
+            if (abort && err) {
+              abort();
+            }
+            util.destroy(body, err);
+            util.destroy(req, err);
+            util.destroy(res, err);
+            removeSignal(this);
+            callback(err);
           }
-          if (forbiddenMethodsSet.has(method.toUpperCase())) {
-            throw new TypeError(`'${method}' HTTP method is unsupported.`);
+        }).on("prefinish", () => {
+          const { req } = this;
+          req.push(null);
+        });
+        this.res = null;
+        addSignal(this, signal);
+      }
+      onConnect(abort, context2) {
+        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 = context2;
+      }
+      onHeaders(statusCode, rawHeaders, resume) {
+        const { opaque, handler: handler2, context: context2 } = this;
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+            this.onInfo({ statusCode, headers });
           }
-          method = normalizeMethodRecord[method] ?? normalizeMethod(method);
-          request2.method = method;
+          return;
         }
-        if (init.signal !== void 0) {
-          signal = init.signal;
+        this.res = new PipelineResponse(resume);
+        let body;
+        try {
+          this.handler = null;
+          const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+          body = this.runInAsyncScope(handler2, null, {
+            statusCode,
+            headers,
+            opaque,
+            body: this.res,
+            context: context2
+          });
+        } catch (err) {
+          this.res.on("error", util.nop);
+          throw err;
         }
-        this[kState] = request2;
-        const ac = new AbortController();
-        this[kSignal] = ac.signal;
-        this[kSignal][kRealm] = this[kRealm];
-        if (signal != null) {
-          if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") {
-            throw new TypeError(
-              "Failed to construct 'Request': member signal is not of type AbortSignal."
-            );
+        if (!body || typeof body.on !== "function") {
+          throw new InvalidReturnValueError("expected Readable");
+        }
+        body.on("data", (chunk) => {
+          const { ret, body: body2 } = this;
+          if (!ret.push(chunk) && body2.pause) {
+            body2.pause();
           }
-          if (signal.aborted) {
-            ac.abort(signal.reason);
-          } else {
-            this[kAbortController] = ac;
-            const acRef = new WeakRef(ac);
-            const abort = function() {
-              const ac2 = acRef.deref();
-              if (ac2 !== void 0) {
-                ac2.abort(this.reason);
-              }
-            };
-            try {
-              if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) {
-                setMaxListeners(100, signal);
-              } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) {
-                setMaxListeners(100, signal);
+        }).on("error", (err) => {
+          const { ret } = this;
+          util.destroy(ret, err);
+        }).on("end", () => {
+          const { ret } = this;
+          ret.push(null);
+        }).on("close", () => {
+          const { ret } = this;
+          if (!ret._readableState.ended) {
+            util.destroy(ret, new RequestAbortedError());
+          }
+        });
+        this.body = body;
+      }
+      onData(chunk) {
+        const { res } = this;
+        return res.push(chunk);
+      }
+      onComplete(trailers) {
+        const { res } = this;
+        res.push(null);
+      }
+      onError(err) {
+        const { ret } = this;
+        this.handler = null;
+        util.destroy(ret, err);
+      }
+    };
+    function pipeline(opts, handler2) {
+      try {
+        const pipelineHandler = new PipelineHandler(opts, handler2);
+        this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler);
+        return pipelineHandler.ret;
+      } catch (err) {
+        return new PassThrough().destroy(err);
+      }
+    }
+    module2.exports = pipeline;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js
+var require_api_upgrade2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
+    "use strict";
+    var { InvalidArgumentError, SocketError } = require_errors2();
+    var { AsyncResource } = require("node:async_hooks");
+    var util = require_util10();
+    var { addSignal, removeSignal } = require_abort_signal2();
+    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, context2) {
+        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: context2 } = 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: context2
+        });
+      }
+      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((resolve2, reject) => {
+          upgrade.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve2(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/@actions/github/node_modules/undici/lib/api/api-connect.js
+var require_api_connect2 = __commonJS({
+  "node_modules/@actions/github/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_errors2();
+    var util = require_util10();
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var ConnectHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        const { signal, opaque, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        }
+        super("UNDICI_CONNECT");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.callback = callback;
+        this.abort = null;
+        addSignal(this, signal);
+      }
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
+        }
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
+      }
+      onHeaders() {
+        throw new SocketError("bad connect", null);
+      }
+      onUpgrade(statusCode, rawHeaders, socket) {
+        const { callback, opaque, context: context2 } = 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: context2
+        });
+      }
+      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((resolve2, reject) => {
+          connect.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve2(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/@actions/github/node_modules/undici/lib/api/index.js
+var require_api2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/index.js"(exports2, module2) {
+    "use strict";
+    module2.exports.request = require_api_request2();
+    module2.exports.stream = require_api_stream2();
+    module2.exports.pipeline = require_api_pipeline2();
+    module2.exports.upgrade = require_api_upgrade2();
+    module2.exports.connect = require_api_connect2();
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js
+var require_mock_errors2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
+    "use strict";
+    var { UndiciError } = require_errors2();
+    var kMockNotMatchedError = /* @__PURE__ */ 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/@actions/github/node_modules/undici/lib/mock/mock-symbols.js
+var require_mock_symbols2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kAgent: /* @__PURE__ */ Symbol("agent"),
+      kOptions: /* @__PURE__ */ Symbol("options"),
+      kFactory: /* @__PURE__ */ Symbol("factory"),
+      kDispatches: /* @__PURE__ */ Symbol("dispatches"),
+      kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
+      kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
+      kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
+      kContentLength: /* @__PURE__ */ Symbol("content length"),
+      kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
+      kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
+      kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
+      kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
+      kClose: /* @__PURE__ */ Symbol("close"),
+      kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
+      kOrigin: /* @__PURE__ */ Symbol("origin"),
+      kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
+      kNetConnect: /* @__PURE__ */ Symbol("net connect"),
+      kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
+      kConnected: /* @__PURE__ */ Symbol("connected")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js
+var require_mock_utils2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
+    "use strict";
+    var { MockNotMatchedError } = require_mock_errors2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kOriginalDispatch,
+      kOrigin,
+      kGetNetConnect
+    } = require_mock_symbols2();
+    var { buildURL } = require_util10();
+    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(path3) {
+      if (typeof path3 !== "string") {
+        return path3;
+      }
+      const pathSegments = path3.split("?");
+      if (pathSegments.length !== 2) {
+        return path3;
+      }
+      const qp = new URLSearchParams(pathSegments.pop());
+      qp.sort();
+      return [...pathSegments, qp.toString()].join("?");
+    }
+    function matchKey(mockDispatch2, { path: path3, method, body, headers }) {
+      const pathMatch = matchValue(mockDispatch2.path, path3);
+      const methodMatch = matchValue(mockDispatch2.method, method);
+      const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
+      const headersMatch = matchHeaders(mockDispatch2, headers);
+      return pathMatch && methodMatch && bodyMatch && headersMatch;
+    }
+    function getResponseData2(data) {
+      if (Buffer.isBuffer(data)) {
+        return data;
+      } else if (data instanceof Uint8Array) {
+        return data;
+      } else if (data instanceof ArrayBuffer) {
+        return data;
+      } else if (typeof data === "object") {
+        return JSON.stringify(data);
+      } else {
+        return data.toString();
+      }
+    }
+    function getMockDispatch(mockDispatches, key) {
+      const basePath = key.query ? buildURL(key.path, key.query) : key.path;
+      const resolvedPath = typeof basePath === "string" ? safeUrl(basePath) : basePath;
+      let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path: path3 }) => matchValue(safeUrl(path3), resolvedPath));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
+      }
+      matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}' on path '${resolvedPath}'`);
+      }
+      matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}' on path '${resolvedPath}'`);
+      }
+      matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers));
+      if (matchedMockDispatches.length === 0) {
+        const headers = typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers;
+        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${headers}' on path '${resolvedPath}'`);
+      }
+      return matchedMockDispatches[0];
+    }
+    function addMockDispatch(mockDispatches, key, data) {
+      const baseData = { timesInvoked: 0, times: 1, persist: false, consumed: false };
+      const replyData = typeof data === "function" ? { callback: data } : { ...data };
+      const newMockDispatch = { ...baseData, ...key, pending: true, data: { error: null, ...replyData } };
+      mockDispatches.push(newMockDispatch);
+      return newMockDispatch;
+    }
+    function deleteMockDispatch(mockDispatches, key) {
+      const index = mockDispatches.findIndex((dispatch) => {
+        if (!dispatch.consumed) {
+          return false;
+        }
+        return matchKey(dispatch, key);
+      });
+      if (index !== -1) {
+        mockDispatches.splice(index, 1);
+      }
+    }
+    function buildKey(opts) {
+      const { path: path3, method, body, headers, query } = opts;
+      return {
+        path: path3,
+        method,
+        body,
+        headers,
+        query
+      };
+    }
+    function generateKeyValues(data) {
+      const keys = Object.keys(data);
+      const result = [];
+      for (let i = 0; i < keys.length; ++i) {
+        const key = keys[i];
+        const value = data[key];
+        const name = Buffer.from(`${key}`);
+        if (Array.isArray(value)) {
+          for (let j = 0; j < value.length; ++j) {
+            result.push(name, Buffer.from(`${value[j]}`));
+          }
+        } else {
+          result.push(name, Buffer.from(`${value}`));
+        }
+      }
+      return result;
+    }
+    function getStatusText(statusCode) {
+      return STATUS_CODES[statusCode] || "unknown";
+    }
+    async function getResponse(body) {
+      const buffers = [];
+      for await (const data of body) {
+        buffers.push(data);
+      }
+      return Buffer.concat(buffers).toString("utf8");
+    }
+    function mockDispatch(opts, handler2) {
+      const key = buildKey(opts);
+      const mockDispatch2 = getMockDispatch(this[kDispatches], key);
+      mockDispatch2.timesInvoked++;
+      if (mockDispatch2.data.callback) {
+        mockDispatch2.data = { ...mockDispatch2.data, ...mockDispatch2.data.callback(opts) };
+      }
+      const { data: { statusCode, data, headers, trailers, error: error3 }, delay: delay2, persist } = mockDispatch2;
+      const { timesInvoked, times } = mockDispatch2;
+      mockDispatch2.consumed = !persist && timesInvoked >= times;
+      mockDispatch2.pending = timesInvoked < times;
+      if (error3 !== null) {
+        deleteMockDispatch(this[kDispatches], key);
+        handler2.onError(error3);
+        return true;
+      }
+      if (typeof delay2 === "number" && delay2 > 0) {
+        setTimeout(() => {
+          handleReply(this[kDispatches]);
+        }, delay2);
+      } else {
+        handleReply(this[kDispatches]);
+      }
+      function handleReply(mockDispatches, _data = data) {
+        const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
+        const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
+        if (isPromise(body)) {
+          body.then((newData) => handleReply(mockDispatches, newData));
+          return;
+        }
+        const responseData = getResponseData2(body);
+        const responseHeaders = generateKeyValues(headers);
+        const responseTrailers = generateKeyValues(trailers);
+        handler2.onConnect?.((err) => handler2.onError(err), null);
+        handler2.onHeaders?.(statusCode, responseHeaders, resume, getStatusText(statusCode));
+        handler2.onData?.(Buffer.from(responseData));
+        handler2.onComplete?.(responseTrailers);
+        deleteMockDispatch(mockDispatches, key);
+      }
+      function resume() {
+      }
+      return true;
+    }
+    function buildMockDispatch() {
+      const agent = this[kMockAgent];
+      const origin = this[kOrigin];
+      const originalDispatch = this[kOriginalDispatch];
+      return function dispatch(opts, handler2) {
+        if (agent.isMockActive) {
+          try {
+            mockDispatch.call(this, opts, handler2);
+          } catch (error3) {
+            if (error3 instanceof MockNotMatchedError) {
+              const netConnect = agent[kGetNetConnect]();
+              if (netConnect === false) {
+                throw new MockNotMatchedError(`${error3.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(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
+              }
+            } else {
+              throw error3;
+            }
+          }
+        } 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/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js
+var require_mock_interceptor2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
+    "use strict";
+    var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kDispatchKey,
+      kDefaultHeaders,
+      kDefaultTrailers,
+      kContentLength,
+      kMockDispatch
+    } = require_mock_symbols2();
+    var { InvalidArgumentError } = require_errors2();
+    var { buildURL } = require_util10();
+    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(error3) {
+        if (typeof error3 === "undefined") {
+          throw new InvalidArgumentError("error must be defined");
+        }
+        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error: error3 });
+        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/@actions/github/node_modules/undici/lib/mock/mock-client.js
+var require_mock_client2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
+    "use strict";
+    var { promisify } = require("node:util");
+    var Client = require_client2();
+    var { buildMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols2();
+    var { MockInterceptor } = require_mock_interceptor2();
+    var Symbols = require_symbols6();
+    var { InvalidArgumentError } = require_errors2();
+    var MockClient = class extends Client {
+      constructor(origin, opts) {
+        super(origin, opts);
+        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
+        }
+        this[kMockAgent] = opts.agent;
+        this[kOrigin] = origin;
+        this[kDispatches] = [];
+        this[kConnected] = 1;
+        this[kOriginalDispatch] = this.dispatch;
+        this[kOriginalClose] = this.close.bind(this);
+        this.dispatch = buildMockDispatch.call(this);
+        this.close = this[kClose];
+      }
+      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/@actions/github/node_modules/undici/lib/mock/mock-pool.js
+var require_mock_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
+    "use strict";
+    var { promisify } = require("node:util");
+    var Pool = require_pool2();
+    var { buildMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols2();
+    var { MockInterceptor } = require_mock_interceptor2();
+    var Symbols = require_symbols6();
+    var { InvalidArgumentError } = require_errors2();
+    var MockPool = class extends Pool {
+      constructor(origin, opts) {
+        super(origin, opts);
+        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
+        }
+        this[kMockAgent] = opts.agent;
+        this[kOrigin] = origin;
+        this[kDispatches] = [];
+        this[kConnected] = 1;
+        this[kOriginalDispatch] = this.dispatch;
+        this[kOriginalClose] = this.close.bind(this);
+        this.dispatch = buildMockDispatch.call(this);
+        this.close = this[kClose];
+      }
+      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/@actions/github/node_modules/undici/lib/mock/pluralizer.js
+var require_pluralizer2 = __commonJS({
+  "node_modules/@actions/github/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/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js
+var require_pending_interceptors_formatter2 = __commonJS({
+  "node_modules/@actions/github/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: path3, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
+            Method: method,
+            Origin: origin,
+            Path: path3,
+            "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/@actions/github/node_modules/undici/lib/mock/mock-agent.js
+var require_mock_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
+    "use strict";
+    var { kClients } = require_symbols6();
+    var Agent = require_agent2();
+    var {
+      kAgent,
+      kMockAgentSet,
+      kMockAgentGet,
+      kDispatches,
+      kIsMockActive,
+      kNetConnect,
+      kGetNetConnect,
+      kOptions,
+      kFactory
+    } = require_mock_symbols2();
+    var MockClient = require_mock_client2();
+    var MockPool = require_mock_pool2();
+    var { matchValue, buildMockOptions } = require_mock_utils2();
+    var { InvalidArgumentError, UndiciError } = require_errors2();
+    var Dispatcher = require_dispatcher2();
+    var Pluralizer = require_pluralizer2();
+    var PendingInterceptorsFormatter = require_pending_interceptors_formatter2();
+    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/@actions/github/node_modules/undici/lib/global.js
+var require_global4 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/global.js"(exports2, module2) {
+    "use strict";
+    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
+    var { InvalidArgumentError } = require_errors2();
+    var Agent = require_agent2();
+    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/@actions/github/node_modules/undici/lib/handler/decorator-handler.js
+var require_decorator_handler2 = __commonJS({
+  "node_modules/@actions/github/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/@actions/github/node_modules/undici/lib/interceptor/redirect.js
+var require_redirect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js"(exports2, module2) {
+    "use strict";
+    var RedirectHandler = require_redirect_handler2();
+    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/@actions/github/node_modules/undici/lib/interceptor/retry.js
+var require_retry2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js"(exports2, module2) {
+    "use strict";
+    var RetryHandler = require_retry_handler2();
+    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/@actions/github/node_modules/undici/lib/interceptor/dump.js
+var require_dump2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/dump.js"(exports2, module2) {
+    "use strict";
+    var util = require_util10();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
+    var DecoratorHandler = require_decorator_handler2();
+    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/@actions/github/node_modules/undici/lib/interceptor/dns.js
+var require_dns2 = __commonJS({
+  "node_modules/@actions/github/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_handler2();
+    var { InvalidArgumentError, InformationalError } = require_errors2();
+    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 timestamp2 = Date.now();
+        const records = { records: { 4: null, 6: null } };
+        for (const record of addresses) {
+          record.timestamp = timestamp2;
+          if (typeof record.ttl === "number") {
+            record.ttl = Math.min(record.ttl, this.#maxTTL);
+          } else {
+            record.ttl = this.#maxTTL;
+          }
+          const familyRecords = records.records[record.family] ?? { ips: [] };
+          familyRecords.ips.push(record);
+          records.records[record.family] = familyRecords;
+        }
+        this.#records.set(origin.hostname, records);
+      }
+      getHandler(meta, opts) {
+        return new DNSDispatchHandler(this, meta, opts);
+      }
+    };
+    var DNSDispatchHandler = class extends DecoratorHandler {
+      #state = null;
+      #opts = null;
+      #dispatch = null;
+      #handler = null;
+      #origin = null;
+      constructor(state, { origin, handler: handler2, dispatch }, opts) {
+        super(handler2);
+        this.#origin = origin;
+        this.#handler = handler2;
+        this.#opts = { ...opts };
+        this.#state = state;
+        this.#dispatch = dispatch;
+      }
+      onError(err) {
+        switch (err.code) {
+          case "ETIMEDOUT":
+          case "ECONNREFUSED": {
+            if (this.#state.dualStack) {
+              this.#state.runLookup(this.#origin, this.#opts, (err2, newOrigin) => {
+                if (err2) {
+                  return this.#handler.onError(err2);
+                }
+                const dispatchOpts = {
+                  ...this.#opts,
+                  origin: newOrigin
+                };
+                this.#dispatch(dispatchOpts, this);
+              });
+              return;
+            }
+            this.#handler.onError(err);
+            return;
+          }
+          case "ENOTFOUND":
+            this.#state.deleteRecord(this.#origin);
+          // eslint-disable-next-line no-fallthrough
+          default:
+            this.#handler.onError(err);
+            break;
+        }
+      }
+    };
+    module2.exports = (interceptorOpts) => {
+      if (interceptorOpts?.maxTTL != null && (typeof interceptorOpts?.maxTTL !== "number" || interceptorOpts?.maxTTL < 0)) {
+        throw new InvalidArgumentError("Invalid maxTTL. Must be a positive number");
+      }
+      if (interceptorOpts?.maxItems != null && (typeof interceptorOpts?.maxItems !== "number" || interceptorOpts?.maxItems < 1)) {
+        throw new InvalidArgumentError(
+          "Invalid maxItems. Must be a positive number and greater than zero"
+        );
+      }
+      if (interceptorOpts?.affinity != null && interceptorOpts?.affinity !== 4 && interceptorOpts?.affinity !== 6) {
+        throw new InvalidArgumentError("Invalid affinity. Must be either 4 or 6");
+      }
+      if (interceptorOpts?.dualStack != null && typeof interceptorOpts?.dualStack !== "boolean") {
+        throw new InvalidArgumentError("Invalid dualStack. Must be a boolean");
+      }
+      if (interceptorOpts?.lookup != null && typeof interceptorOpts?.lookup !== "function") {
+        throw new InvalidArgumentError("Invalid lookup. Must be a function");
+      }
+      if (interceptorOpts?.pick != null && typeof interceptorOpts?.pick !== "function") {
+        throw new InvalidArgumentError("Invalid pick. Must be a function");
+      }
+      const dualStack = interceptorOpts?.dualStack ?? true;
+      let affinity;
+      if (dualStack) {
+        affinity = interceptorOpts?.affinity ?? null;
+      } else {
+        affinity = interceptorOpts?.affinity ?? 4;
+      }
+      const opts = {
+        maxTTL: interceptorOpts?.maxTTL ?? 1e4,
+        // Expressed in ms
+        lookup: interceptorOpts?.lookup ?? null,
+        pick: interceptorOpts?.pick ?? null,
+        dualStack,
+        affinity,
+        maxItems: interceptorOpts?.maxItems ?? Infinity
+      };
+      const instance = new DNSInstance(opts);
+      return (dispatch) => {
+        return function dnsInterceptor(origDispatchOpts, handler2) {
+          const origin = origDispatchOpts.origin.constructor === URL ? origDispatchOpts.origin : new URL(origDispatchOpts.origin);
+          if (isIP(origin.hostname) !== 0) {
+            return dispatch(origDispatchOpts, handler2);
+          }
+          instance.runLookup(origin, origDispatchOpts, (err, newOrigin) => {
+            if (err) {
+              return handler2.onError(err);
+            }
+            let dispatchOpts = null;
+            dispatchOpts = {
+              ...origDispatchOpts,
+              servername: origin.hostname,
+              // For SNI on TLS
+              origin: newOrigin,
+              headers: {
+                host: origin.hostname,
+                ...origDispatchOpts.headers
+              }
+            };
+            dispatch(
+              dispatchOpts,
+              instance.getHandler({ origin, dispatch, handler: handler2 }, origDispatchOpts)
+            );
+          });
+          return true;
+        };
+      };
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js
+var require_headers2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols6();
+    var { kEnumerableProperty } = require_util10();
+    var {
+      iteratorMixin,
+      isValidHeaderName,
+      isValidHeaderValue
+    } = require_util11();
+    var { webidl } = require_webidl2();
+    var assert = require("node:assert");
+    var util = require("node:util");
+    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
+    var kHeadersSortedMap = /* @__PURE__ */ 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/@actions/github/node_modules/undici/lib/web/fetch/response.js
+var require_response2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js"(exports2, module2) {
+    "use strict";
+    var { Headers, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers2();
+    var { extractBody, cloneBody, mixinBody, hasFinalizationRegistry, streamRegistry, bodyUnusable } = require_body2();
+    var util = require_util10();
+    var nodeUtil = require("node:util");
+    var { kEnumerableProperty } = util;
+    var {
+      isValidReasonPhrase,
+      isCancelled,
+      isAborted,
+      isBlobLike,
+      serializeJavascriptValueToJSONString,
+      isErrorLike,
+      isomorphicEncode,
+      environmentSettingsObject: relevantRealm
+    } = require_util11();
+    var {
+      redirectStatusSet,
+      nullBodyStatus
+    } = require_constants8();
+    var { kState, kHeaders } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var { FormData: FormData2 } = require_formdata2();
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    var assert = require("node:assert");
+    var { types } = require("node:util");
+    var textEncoder = new TextEncoder("utf-8");
+    var Response = class _Response {
+      // Creates network error Response.
+      static error() {
+        const responseObject = fromInnerResponse(makeNetworkError(), "immutable");
+        return responseObject;
+      }
+      // https://fetch.spec.whatwg.org/#dom-response-json
+      static json(data, init = {}) {
+        webidl.argumentLengthCheck(arguments, 1, "Response.json");
+        if (init !== null) {
+          init = webidl.converters.ResponseInit(init);
+        }
+        const bytes = textEncoder.encode(
+          serializeJavascriptValueToJSONString(data)
+        );
+        const body = extractBody(bytes);
+        const responseObject = fromInnerResponse(makeResponse({}), "response");
+        initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
+        return responseObject;
+      }
+      // Creates a redirect Response that redirects to url with status status.
+      static redirect(url, status = 302) {
+        webidl.argumentLengthCheck(arguments, 1, "Response.redirect");
+        url = webidl.converters.USVString(url);
+        status = webidl.converters["unsigned short"](status);
+        let parsedURL;
+        try {
+          parsedURL = new URL(url, relevantRealm.settingsObject.baseUrl);
+        } catch (err) {
+          throw new TypeError(`Failed to parse URL from ${url}`, { cause: err });
+        }
+        if (!redirectStatusSet.has(status)) {
+          throw new RangeError(`Invalid status code ${status}`);
+        }
+        const responseObject = fromInnerResponse(makeResponse({}), "immutable");
+        responseObject[kState].status = status;
+        const value = isomorphicEncode(URLSerializer(parsedURL));
+        responseObject[kState].headersList.append("location", value, true);
+        return responseObject;
+      }
+      // https://fetch.spec.whatwg.org/#dom-response
+      constructor(body = null, init = {}) {
+        webidl.util.markAsUncloneable(this);
+        if (body === kConstruct) {
+          return;
+        }
+        if (body !== null) {
+          body = webidl.converters.BodyInit(body);
+        }
+        init = webidl.converters.ResponseInit(init);
+        this[kState] = makeResponse({});
+        this[kHeaders] = new Headers(kConstruct);
+        setHeadersGuard(this[kHeaders], "response");
+        setHeadersList(this[kHeaders], this[kState].headersList);
+        let bodyWithType = null;
+        if (body != null) {
+          const [extractedBody, type2] = extractBody(body);
+          bodyWithType = { body: extractedBody, type: type2 };
+        }
+        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, type2) {
+      if (type2 === "basic") {
+        return makeFilteredResponse(response, {
+          type: "basic",
+          headersList: response.headersList
+        });
+      } else if (type2 === "cors") {
+        return makeFilteredResponse(response, {
+          type: "cors",
+          headersList: response.headersList
+        });
+      } else if (type2 === "opaque") {
+        return makeFilteredResponse(response, {
+          type: "opaque",
+          urlList: Object.freeze([]),
+          status: 0,
+          statusText: "",
+          body: null
+        });
+      } else if (type2 === "opaqueredirect") {
+        return makeFilteredResponse(response, {
+          type: "opaqueredirect",
+          status: 0,
+          statusText: "",
+          headersList: [],
+          body: null
+        });
+      } else {
+        assert(false);
+      }
+    }
+    function makeAppropriateNetworkError(fetchParams, err = null) {
+      assert(isCancelled(fetchParams));
+      return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException("Request was cancelled."), { cause: err }));
+    }
+    function initializeResponse(response, init, body) {
+      if (init.status !== null && (init.status < 200 || init.status > 599)) {
+        throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
+      }
+      if ("statusText" in init && init.statusText != null) {
+        if (!isValidReasonPhrase(String(init.statusText))) {
+          throw new TypeError("Invalid statusText");
+        }
+      }
+      if ("status" in init && init.status != null) {
+        response[kState].status = init.status;
+      }
+      if ("statusText" in init && init.statusText != null) {
+        response[kState].statusText = init.statusText;
+      }
+      if ("headers" in init && init.headers != null) {
+        fill(response[kHeaders], init.headers);
+      }
+      if (body) {
+        if (nullBodyStatus.includes(response.status)) {
+          throw webidl.errors.exception({
+            header: "Response constructor",
+            message: `Invalid response status code ${response.status}`
+          });
+        }
+        response[kState].body = body.body;
+        if (body.type != null && !response[kState].headersList.contains("content-type", true)) {
+          response[kState].headersList.append("content-type", body.type, true);
+        }
+      }
+    }
+    function fromInnerResponse(innerResponse, guard) {
+      const response = new Response(kConstruct);
+      response[kState] = innerResponse;
+      response[kHeaders] = new Headers(kConstruct);
+      setHeadersList(response[kHeaders], innerResponse.headersList);
+      setHeadersGuard(response[kHeaders], guard);
+      if (hasFinalizationRegistry && innerResponse.body?.stream) {
+        streamRegistry.register(response, new WeakRef(innerResponse.body.stream));
+      }
+      return response;
+    }
+    webidl.converters.ReadableStream = webidl.interfaceConverter(
+      ReadableStream
+    );
+    webidl.converters.FormData = webidl.interfaceConverter(
+      FormData2
+    );
+    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/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js
+var require_dispatcher_weakref2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js"(exports2, module2) {
+    "use strict";
+    var { kConnected, kSize } = require_symbols6();
+    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/@actions/github/node_modules/undici/lib/web/fetch/request.js
+var require_request4 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js"(exports2, module2) {
+    "use strict";
+    var { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body2();
+    var { Headers, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers2();
+    var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
+    var util = require_util10();
+    var nodeUtil = require("node:util");
+    var {
+      isValidHTTPToken,
+      sameOrigin,
+      environmentSettingsObject
+    } = require_util11();
+    var {
+      forbiddenMethodsSet,
+      corsSafeListedMethodsSet,
+      referrerPolicy,
+      requestRedirect,
+      requestMode,
+      requestCredentials,
+      requestCache,
+      requestDuplex
+    } = require_constants8();
+    var { kEnumerableProperty, normalizedMethodRecordsBase, normalizedMethodRecords } = util;
+    var { kHeaders, kSignal, kState, kDispatcher } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    var assert = require("node:assert");
+    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("node:events");
+    var kAbortController = /* @__PURE__ */ 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 window2 = "client";
+        if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
+          window2 = request2.window;
+        }
+        if (init.window != null) {
+          throw new TypeError(`'window' option '${window2}' must be null`);
+        }
+        if ("window" in init) {
+          window2 = "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: window2,
+          // 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/@actions/github/node_modules/undici/lib/web/fetch/index.js
+var require_fetch2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js"(exports2, module2) {
+    "use strict";
+    var {
+      makeNetworkError,
+      makeAppropriateNetworkError,
+      filterResponse,
+      makeResponse,
+      fromInnerResponse
+    } = require_response2();
+    var { HeadersList } = require_headers2();
+    var { Request, cloneRequest } = require_request4();
+    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_util11();
+    var { kState, kDispatcher } = require_symbols7();
+    var assert = require("node:assert");
+    var { safelyExtractBody, extractBody } = require_body2();
+    var {
+      redirectStatusSet,
+      nullBodyStatus,
+      safeMethodsSet,
+      requestBodyHeader,
+      subresourceSet
+    } = require_constants8();
+    var EE = require("node:events");
+    var { Readable, pipeline, finished } = require("node:stream");
+    var { addAbortListener, isErrored, isReadable, bufferToLowerCasedHeaderName } = require_util10();
+    var { dataURLProcessor, serializeAMimeType, minimizeSupportedMimeType } = require_data_url2();
+    var { getGlobalDispatcher } = require_global4();
+    var { webidl } = require_webidl2();
+    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(error3) {
+        if (this.state !== "ongoing") {
+          return;
+        }
+        this.state = "aborted";
+        if (!error3) {
+          error3 = new DOMException("The operation was aborted.", "AbortError");
+        }
+        this.serializedAbortReason = error3;
+        this.connection?.destroy(error3);
+        this.emit("terminated", error3);
+      }
+    };
+    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, error3) {
+      if (p) {
+        p.reject(error3);
+      }
+      if (request2.body != null && isReadable(request2.body?.stream)) {
+        request2.body.stream.cancel(error3).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(error3).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 type2 = 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", type2, 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, type2);
+            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", type2, true);
+            response.headersList.set("content-range", contentRange, true);
+          }
+          return Promise.resolve(response);
+        }
+        case "data:": {
+          const currentURL = requestCurrentURL(request2);
+          const dataURLStruct = dataURLProcessor(currentURL);
+          if (dataURLStruct === "failure") {
+            return Promise.resolve(makeNetworkError("failed to fetch the data URL"));
+          }
+          const mimeType = serializeAMimeType(dataURLStruct.mimeType);
+          return Promise.resolve(makeResponse({
+            statusText: "OK",
+            headersList: [
+              ["content-type", { name: "Content-Type", value: mimeType }]
+            ],
+            body: safelyExtractBody(dataURLStruct.body)[0]
+          }));
+        }
+        case "file:": {
+          return Promise.resolve(makeNetworkError("not implemented... yet..."));
+        }
+        case "http:":
+        case "https:": {
+          return httpFetch(fetchParams).catch((err) => makeNetworkError(err));
+        }
+        default: {
+          return Promise.resolve(makeNetworkError("unknown scheme"));
+        }
+      }
+    }
+    function finalizeResponse(fetchParams, response) {
+      fetchParams.request.done = true;
+      if (fetchParams.processResponseDone != null) {
+        queueMicrotask(() => fetchParams.processResponseDone(response));
+      }
+    }
+    function fetchFinale(fetchParams, response) {
+      let timingInfo = fetchParams.timingInfo;
+      const processResponseEndOfBody = () => {
+        const unsafeEndTime = Date.now();
+        if (fetchParams.request.destination === "document") {
+          fetchParams.controller.fullTimingInfo = timingInfo;
+        }
+        fetchParams.controller.reportTimingSteps = () => {
+          if (fetchParams.request.url.protocol !== "https:") {
+            return;
+          }
+          timingInfo.endTime = unsafeEndTime;
+          let cacheState = response.cacheState;
+          const bodyInfo = response.bodyInfo;
+          if (!response.timingAllowPassed) {
+            timingInfo = createOpaqueTimingInfo(timingInfo);
+            cacheState = "";
+          }
+          let responseStatus = 0;
+          if (fetchParams.request.mode !== "navigator" || !response.hasCrossOriginRedirects) {
+            responseStatus = response.status;
+            const mimeType = extractMimeType(response.headersList);
+            if (mimeType !== "failure") {
+              bodyInfo.contentType = minimizeSupportedMimeType(mimeType);
+            }
+          }
+          if (fetchParams.request.initiatorType != null) {
+            markResourceTiming(timingInfo, fetchParams.request.url.href, fetchParams.request.initiatorType, globalThis, cacheState, bodyInfo, responseStatus);
+          }
+        };
+        const processResponseEndOfBodyTask = () => {
+          fetchParams.request.done = true;
+          if (fetchParams.processResponseEndOfBody != null) {
+            queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
+          }
+          if (fetchParams.request.initiatorType != null) {
+            fetchParams.controller.reportTimingSteps();
+          }
+        };
+        queueMicrotask(() => processResponseEndOfBodyTask());
+      };
+      if (fetchParams.processResponse != null) {
+        queueMicrotask(() => {
+          fetchParams.processResponse(response);
+          fetchParams.processResponse = null;
+        });
+      }
+      const internalResponse = response.type === "error" ? response : response.internalResponse ?? response;
+      if (internalResponse.body == null) {
+        processResponseEndOfBody();
+      } else {
+        finished(internalResponse.body.stream, () => {
+          processResponseEndOfBody();
+        });
+      }
+    }
+    async function httpFetch(fetchParams) {
+      const request2 = fetchParams.request;
+      let response = null;
+      let actualResponse = null;
+      const timingInfo = fetchParams.timingInfo;
+      if (request2.serviceWorkers === "all") {
+      }
+      if (response === null) {
+        if (request2.redirect === "follow") {
+          request2.serviceWorkers = "none";
+        }
+        actualResponse = response = await httpNetworkOrCacheFetch(fetchParams);
+        if (request2.responseTainting === "cors" && corsCheck(request2, response) === "failure") {
+          return makeNetworkError("cors failure");
+        }
+        if (TAOCheck(request2, response) === "failure") {
+          request2.timingAllowFailed = true;
+        }
+      }
+      if ((request2.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
+        request2.origin,
+        request2.client,
+        request2.destination,
+        actualResponse
+      ) === "blocked") {
+        return makeNetworkError("blocked");
+      }
+      if (redirectStatusSet.has(actualResponse.status)) {
+        if (request2.redirect !== "manual") {
+          fetchParams.controller.connection.destroy(void 0, false);
+        }
+        if (request2.redirect === "error") {
+          response = makeNetworkError("unexpected redirect");
+        } else if (request2.redirect === "manual") {
+          response = actualResponse;
+        } else if (request2.redirect === "follow") {
+          response = await httpRedirectFetch(fetchParams, response);
+        } else {
+          assert(false);
+        }
+      }
+      response.timingInfo = timingInfo;
+      return response;
+    }
+    function httpRedirectFetch(fetchParams, response) {
+      const request2 = fetchParams.request;
+      const actualResponse = response.internalResponse ? response.internalResponse : response;
+      let locationURL;
+      try {
+        locationURL = responseLocationURL(
+          actualResponse,
+          requestCurrentURL(request2).hash
+        );
+        if (locationURL == null) {
+          return response;
+        }
+      } catch (err) {
+        return Promise.resolve(makeNetworkError(err));
+      }
+      if (!urlIsHttpHttpsScheme(locationURL)) {
+        return Promise.resolve(makeNetworkError("URL scheme must be a HTTP(S) scheme"));
+      }
+      if (request2.redirectCount === 20) {
+        return Promise.resolve(makeNetworkError("redirect count exceeded"));
+      }
+      request2.redirectCount += 1;
+      if (request2.mode === "cors" && (locationURL.username || locationURL.password) && !sameOrigin(request2, locationURL)) {
+        return Promise.resolve(makeNetworkError('cross origin not allowed for request mode "cors"'));
+      }
+      if (request2.responseTainting === "cors" && (locationURL.username || locationURL.password)) {
+        return Promise.resolve(makeNetworkError(
+          'URL cannot contain credentials for request mode "cors"'
+        ));
+      }
+      if (actualResponse.status !== 303 && request2.body != null && request2.body.source == null) {
+        return Promise.resolve(makeNetworkError());
+      }
+      if ([301, 302].includes(actualResponse.status) && request2.method === "POST" || actualResponse.status === 303 && !GET_OR_HEAD.includes(request2.method)) {
+        request2.method = "GET";
+        request2.body = null;
+        for (const headerName of requestBodyHeader) {
+          request2.headersList.delete(headerName);
+        }
+      }
+      if (!sameOrigin(requestCurrentURL(request2), locationURL)) {
+        request2.headersList.delete("authorization", true);
+        request2.headersList.delete("proxy-authorization", true);
+        request2.headersList.delete("cookie", true);
+        request2.headersList.delete("host", true);
+      }
+      if (request2.body != null) {
+        assert(request2.body.source != null);
+        request2.body = safelyExtractBody(request2.body.source)[0];
+      }
+      const timingInfo = fetchParams.timingInfo;
+      timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+      if (timingInfo.redirectStartTime === 0) {
+        timingInfo.redirectStartTime = timingInfo.startTime;
+      }
+      request2.urlList.push(locationURL);
+      setRequestReferrerPolicyOnRedirect(request2, actualResponse);
+      return mainFetch(fetchParams, true);
+    }
+    async function httpNetworkOrCacheFetch(fetchParams, isAuthenticationFetch = false, isNewConnectionFetch = false) {
+      const request2 = fetchParams.request;
+      let httpFetchParams = null;
+      let httpRequest = null;
+      let response = null;
+      const httpCache = null;
+      const revalidatingFlag = false;
+      if (request2.window === "no-window" && request2.redirect === "error") {
+        httpFetchParams = fetchParams;
+        httpRequest = request2;
+      } else {
+        httpRequest = cloneRequest(request2);
+        httpFetchParams = { ...fetchParams };
+        httpFetchParams.request = httpRequest;
+      }
+      const includeCredentials = request2.credentials === "include" || request2.credentials === "same-origin" && request2.responseTainting === "basic";
+      const contentLength = httpRequest.body ? httpRequest.body.length : null;
+      let contentLengthHeaderValue = null;
+      if (httpRequest.body == null && ["POST", "PUT"].includes(httpRequest.method)) {
+        contentLengthHeaderValue = "0";
+      }
+      if (contentLength != null) {
+        contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
+      }
+      if (contentLengthHeaderValue != null) {
+        httpRequest.headersList.append("content-length", contentLengthHeaderValue, true);
+      }
+      if (contentLength != null && httpRequest.keepalive) {
+      }
+      if (httpRequest.referrer instanceof URL) {
+        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href), true);
+      }
+      appendRequestOriginHeader(httpRequest);
+      appendFetchMetadata(httpRequest);
+      if (!httpRequest.headersList.contains("user-agent", true)) {
+        httpRequest.headersList.append("user-agent", defaultUserAgent);
+      }
+      if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since", true) || httpRequest.headersList.contains("if-none-match", true) || httpRequest.headersList.contains("if-unmodified-since", true) || httpRequest.headersList.contains("if-match", true) || httpRequest.headersList.contains("if-range", true))) {
+        httpRequest.cache = "no-store";
+      }
+      if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control", true)) {
+        httpRequest.headersList.append("cache-control", "max-age=0", true);
+      }
+      if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") {
+        if (!httpRequest.headersList.contains("pragma", true)) {
+          httpRequest.headersList.append("pragma", "no-cache", true);
+        }
+        if (!httpRequest.headersList.contains("cache-control", true)) {
+          httpRequest.headersList.append("cache-control", "no-cache", true);
+        }
+      }
+      if (httpRequest.headersList.contains("range", true)) {
+        httpRequest.headersList.append("accept-encoding", "identity", true);
+      }
+      if (!httpRequest.headersList.contains("accept-encoding", true)) {
+        if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
+          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate", true);
+        } else {
+          httpRequest.headersList.append("accept-encoding", "gzip, deflate", true);
+        }
+      }
+      httpRequest.headersList.delete("host", true);
+      if (includeCredentials) {
+      }
+      if (httpCache == null) {
+        httpRequest.cache = "no-store";
+      }
+      if (httpRequest.cache !== "no-store" && httpRequest.cache !== "reload") {
+      }
+      if (response == null) {
+        if (httpRequest.cache === "only-if-cached") {
+          return makeNetworkError("only if cached");
+        }
+        const forwardResponse = await httpNetworkFetch(
+          httpFetchParams,
+          includeCredentials,
+          isNewConnectionFetch
+        );
+        if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {
+        }
+        if (revalidatingFlag && forwardResponse.status === 304) {
+        }
+        if (response == null) {
+          response = forwardResponse;
+        }
+      }
+      response.urlList = [...httpRequest.urlList];
+      if (httpRequest.headersList.contains("range", true)) {
+        response.rangeRequested = true;
+      }
+      response.requestIncludesCredentials = includeCredentials;
+      if (response.status === 407) {
+        if (request2.window === "no-window") {
+          return makeNetworkError();
+        }
+        if (isCancelled(fetchParams)) {
+          return makeAppropriateNetworkError(fetchParams);
+        }
+        return makeNetworkError("proxy authentication required");
+      }
+      if (
+        // response’s status is 421
+        response.status === 421 && // isNewConnectionFetch is false
+        !isNewConnectionFetch && // request’s body is null, or request’s body is non-null and request’s body’s source is non-null
+        (request2.body == null || request2.body.source != null)
+      ) {
+        if (isCancelled(fetchParams)) {
+          return makeAppropriateNetworkError(fetchParams);
+        }
+        fetchParams.controller.connection.destroy();
+        response = await httpNetworkOrCacheFetch(
+          fetchParams,
+          isAuthenticationFetch,
+          true
+        );
+      }
+      if (isAuthenticationFetch) {
+      }
+      return response;
+    }
+    async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) {
+      assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed);
+      fetchParams.controller.connection = {
+        abort: null,
+        destroyed: false,
+        destroy(err, abort = true) {
+          if (!this.destroyed) {
+            this.destroyed = true;
+            if (abort) {
+              this.abort?.(err ?? new DOMException("The operation was aborted.", "AbortError"));
+            }
+          }
+        }
+      };
+      const request2 = fetchParams.request;
+      let response = null;
+      const timingInfo = fetchParams.timingInfo;
+      const httpCache = null;
+      if (httpCache == null) {
+        request2.cache = "no-store";
+      }
+      const newConnection = forceNewConnection ? "yes" : "no";
+      if (request2.mode === "websocket") {
+      } else {
+      }
+      let requestBody = null;
+      if (request2.body == null && fetchParams.processRequestEndOfBody) {
+        queueMicrotask(() => fetchParams.processRequestEndOfBody());
+      } else if (request2.body != null) {
+        const processBodyChunk = async function* (bytes) {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          yield bytes;
+          fetchParams.processRequestBodyChunkLength?.(bytes.byteLength);
+        };
+        const processEndOfBody = () => {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          if (fetchParams.processRequestEndOfBody) {
+            fetchParams.processRequestEndOfBody();
+          }
+        };
+        const processBodyError = (e) => {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          if (e.name === "AbortError") {
+            fetchParams.controller.abort();
+          } else {
+            fetchParams.controller.terminate(e);
+          }
+        };
+        requestBody = (async function* () {
+          try {
+            for await (const bytes of request2.body.stream) {
+              yield* processBodyChunk(bytes);
+            }
+            processEndOfBody();
+          } catch (err) {
+            processBodyError(err);
+          }
+        })();
+      }
+      try {
+        const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
+        if (socket) {
+          response = makeResponse({ status, statusText, headersList, socket });
+        } else {
+          const iterator2 = body[Symbol.asyncIterator]();
+          fetchParams.controller.next = () => iterator2.next();
+          response = makeResponse({ status, statusText, headersList });
+        }
+      } catch (err) {
+        if (err.name === "AbortError") {
+          fetchParams.controller.connection.destroy();
+          return makeAppropriateNetworkError(fetchParams, err);
+        }
+        return makeNetworkError(err);
+      }
+      const pullAlgorithm = async () => {
+        await fetchParams.controller.resume();
+      };
+      const cancelAlgorithm = (reason) => {
+        if (!isCancelled(fetchParams)) {
+          fetchParams.controller.abort(reason);
+        }
+      };
+      const stream = new ReadableStream(
+        {
+          async start(controller) {
+            fetchParams.controller.controller = controller;
+          },
+          async pull(controller) {
+            await pullAlgorithm(controller);
+          },
+          async cancel(reason) {
+            await cancelAlgorithm(reason);
+          },
+          type: "bytes"
+        }
+      );
+      response.body = { stream, source: null, length: null };
+      fetchParams.controller.onAborted = onAborted;
+      fetchParams.controller.on("terminated", onAborted);
+      fetchParams.controller.resume = async () => {
+        while (true) {
+          let bytes;
+          let isFailure;
+          try {
+            const { done, value } = await fetchParams.controller.next();
+            if (isAborted(fetchParams)) {
+              break;
+            }
+            bytes = done ? void 0 : value;
+          } catch (err) {
+            if (fetchParams.controller.ended && !timingInfo.encodedBodySize) {
+              bytes = void 0;
+            } else {
+              bytes = err;
+              isFailure = true;
+            }
+          }
+          if (bytes === void 0) {
+            readableStreamClose(fetchParams.controller.controller);
+            finalizeResponse(fetchParams, response);
+            return;
+          }
+          timingInfo.decodedBodySize += bytes?.byteLength ?? 0;
+          if (isFailure) {
+            fetchParams.controller.terminate(bytes);
+            return;
+          }
+          const buffer = new Uint8Array(bytes);
+          if (buffer.byteLength) {
+            fetchParams.controller.controller.enqueue(buffer);
+          }
+          if (isErrored(stream)) {
+            fetchParams.controller.terminate();
+            return;
+          }
+          if (fetchParams.controller.controller.desiredSize <= 0) {
+            return;
+          }
+        }
+      };
+      function onAborted(reason) {
+        if (isAborted(fetchParams)) {
+          response.aborted = true;
+          if (isReadable(stream)) {
+            fetchParams.controller.controller.error(
+              fetchParams.controller.serializedAbortReason
+            );
+          }
+        } else {
+          if (isReadable(stream)) {
+            fetchParams.controller.controller.error(new TypeError("terminated", {
+              cause: isErrorLike(reason) ? reason : void 0
+            }));
+          }
+        }
+        fetchParams.controller.connection.destroy();
+      }
+      return response;
+      function dispatch({ body }) {
+        const url = requestCurrentURL(request2);
+        const agent = fetchParams.controller.dispatcher;
+        return new Promise((resolve2, reject) => agent.dispatch(
+          {
+            path: url.pathname + url.search,
+            origin: url.origin,
+            method: request2.method,
+            body: agent.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
+            headers: request2.headersList.entries,
+            maxRedirections: 0,
+            upgrade: request2.mode === "websocket" ? "websocket" : void 0
+          },
+          {
+            body: null,
+            abort: null,
+            onConnect(abort) {
+              const { connection } = fetchParams.controller;
+              timingInfo.finalConnectionTimingInfo = clampAndCoarsenConnectionTimingInfo(void 0, timingInfo.postRedirectStartTime, fetchParams.crossOriginIsolatedCapability);
+              if (connection.destroyed) {
+                abort(new DOMException("The operation was aborted.", "AbortError"));
+              } else {
+                fetchParams.controller.on("terminated", abort);
+                this.abort = connection.abort = abort;
+              }
+              timingInfo.finalNetworkRequestStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+            },
+            onResponseStarted() {
+              timingInfo.finalNetworkResponseStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+            },
+            onHeaders(status, rawHeaders, resume, statusText) {
+              if (status < 200) {
+                return;
+              }
+              let location = "";
+              const headersList = new HeadersList();
+              for (let i = 0; i < rawHeaders.length; i += 2) {
+                headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true);
+              }
+              location = headersList.get("location", true);
+              this.body = new Readable({ read: resume });
+              const decoders = [];
+              const willFollow = location && request2.redirect === "follow" && redirectStatusSet.has(status);
+              if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
+                const contentEncoding = headersList.get("content-encoding", true);
+                const codings = contentEncoding ? contentEncoding.toLowerCase().split(",") : [];
+                const maxContentEncodings = 5;
+                if (codings.length > maxContentEncodings) {
+                  reject(new Error(`too many content-encodings in response: ${codings.length}, maximum allowed is ${maxContentEncodings}`));
+                  return true;
+                }
+                for (let i = codings.length - 1; i >= 0; --i) {
+                  const coding = codings[i].trim();
+                  if (coding === "x-gzip" || coding === "gzip") {
+                    decoders.push(zlib.createGunzip({
+                      // Be less strict when decoding compressed responses, since sometimes
+                      // servers send slightly invalid responses that are still accepted
+                      // by common browsers.
+                      // Always using Z_SYNC_FLUSH is what cURL does.
+                      flush: zlib.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib.constants.Z_SYNC_FLUSH
+                    }));
+                  } else if (coding === "deflate") {
+                    decoders.push(createInflate({
+                      flush: zlib.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib.constants.Z_SYNC_FLUSH
+                    }));
+                  } else if (coding === "br") {
+                    decoders.push(zlib.createBrotliDecompress({
+                      flush: zlib.constants.BROTLI_OPERATION_FLUSH,
+                      finishFlush: zlib.constants.BROTLI_OPERATION_FLUSH
+                    }));
+                  } else {
+                    decoders.length = 0;
+                    break;
+                  }
+                }
+              }
+              const onError = this.onError.bind(this);
+              resolve2({
+                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(error3) {
+              if (this.abort) {
+                fetchParams.controller.off("terminated", this.abort);
+              }
+              this.body?.destroy(error3);
+              fetchParams.controller.terminate(error3);
+              reject(error3);
+            },
+            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);
+              }
+              resolve2({
+                status,
+                statusText: STATUS_CODES[status],
+                headersList,
+                socket
+              });
+              return true;
+            }
+          }
+        ));
+      }
+    }
+    module2.exports = {
+      fetch,
+      Fetch,
+      fetching,
+      finalizeAndReportTiming
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js
+var require_symbols8 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kState: /* @__PURE__ */ Symbol("FileReader state"),
+      kResult: /* @__PURE__ */ Symbol("FileReader result"),
+      kError: /* @__PURE__ */ Symbol("FileReader error"),
+      kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"),
+      kEvents: /* @__PURE__ */ Symbol("FileReader events"),
+      kAborted: /* @__PURE__ */ Symbol("FileReader aborted")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js
+var require_progressevent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js"(exports2, module2) {
+    "use strict";
+    var { webidl } = require_webidl2();
+    var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
+    var ProgressEvent = class _ProgressEvent extends Event {
+      constructor(type2, eventInitDict = {}) {
+        type2 = webidl.converters.DOMString(type2, "ProgressEvent constructor", "type");
+        eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
+        super(type2, 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/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js
+var require_encoding2 = __commonJS({
+  "node_modules/@actions/github/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/@actions/github/node_modules/undici/lib/web/fileapi/util.js
+var require_util13 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js"(exports2, module2) {
+    "use strict";
+    var {
+      kState,
+      kError,
+      kResult,
+      kAborted,
+      kLastProgressEventFired
+    } = require_symbols8();
+    var { ProgressEvent } = require_progressevent2();
+    var { getEncoding } = require_encoding2();
+    var { serializeAMimeType, parseMIMEType } = require_data_url2();
+    var { types } = require("node:util");
+    var { StringDecoder } = require("string_decoder");
+    var { btoa: btoa2 } = require("node:buffer");
+    var staticPropertyDescriptors = {
+      enumerable: true,
+      writable: false,
+      configurable: false
+    };
+    function readOperation(fr, blob, type2, 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, type2, blob.type, encodingName);
+                  if (fr[kAborted]) {
+                    return;
+                  }
+                  fr[kResult] = result;
+                  fireAProgressEvent("load", fr);
+                } catch (error3) {
+                  fr[kError] = error3;
+                  fireAProgressEvent("error", fr);
+                }
+                if (fr[kState] !== "loading") {
+                  fireAProgressEvent("loadend", fr);
+                }
+              });
+              break;
+            }
+          } catch (error3) {
+            if (fr[kAborted]) {
+              return;
+            }
+            queueMicrotask(() => {
+              fr[kState] = "done";
+              fr[kError] = error3;
+              fireAProgressEvent("error", fr);
+              if (fr[kState] !== "loading") {
+                fireAProgressEvent("loadend", fr);
               }
-            } catch {
-            }
-            util.addAbortListener(signal, abort);
-            requestFinalizer.register(ac, { signal, abort });
-          }
-        }
-        this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kHeadersList] = request2.headersList;
-        this[kHeaders][kGuard] = "request";
-        this[kHeaders][kRealm] = this[kRealm];
-        if (mode === "no-cors") {
-          if (!corsSafeListedMethodsSet.has(request2.method)) {
-            throw new TypeError(
-              `'${request2.method} is unsupported in no-cors mode.`
-            );
+            });
+            break;
           }
-          this[kHeaders][kGuard] = "request-no-cors";
         }
-        if (initHasKey) {
-          const headersList = this[kHeaders][kHeadersList];
-          const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList);
-          headersList.clear();
-          if (headers instanceof HeadersList) {
-            for (const [key, val] of headers) {
-              headersList.append(key, val);
-            }
-            headersList.cookies = headers.cookies;
-          } else {
-            fillHeaders(this[kHeaders], headers);
+      })();
+    }
+    function fireAProgressEvent(e, reader) {
+      const event = new ProgressEvent(e, {
+        bubbles: false,
+        cancelable: false
+      });
+      reader.dispatchEvent(event);
+    }
+    function packageData(bytes, type2, mimeType, encodingName) {
+      switch (type2) {
+        case "DataURL": {
+          let dataURL = "data:";
+          const parsed = parseMIMEType(mimeType || "application/octet-stream");
+          if (parsed !== "failure") {
+            dataURL += serializeAMimeType(parsed);
           }
-        }
-        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 && !this[kHeaders][kHeadersList].contains("content-type")) {
-            this[kHeaders].append("content-type", contentType);
+          dataURL += ";base64,";
+          const decoder = new StringDecoder("latin1");
+          for (const chunk of bytes) {
+            dataURL += btoa2(decoder.write(chunk));
           }
+          dataURL += btoa2(decoder.end());
+          return dataURL;
         }
-        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"'
-            );
+        case "Text": {
+          let encoding = "failure";
+          if (encodingName) {
+            encoding = getEncoding(encodingName);
           }
-          request2.useCORSPreflightFlag = true;
-        }
-        let finalBody = inputOrInitBody;
-        if (initBody == null && inputBody != null) {
-          if (util.isDisturbed(inputBody.stream) || inputBody.stream.locked) {
-            throw new TypeError(
-              "Cannot construct a Request with a Request object that has already been used."
-            );
+          if (encoding === "failure" && mimeType) {
+            const type3 = parseMIMEType(mimeType);
+            if (type3 !== "failure") {
+              encoding = getEncoding(type3.parameters.get("charset"));
+            }
           }
-          if (!TransformStream2) {
-            TransformStream2 = require("stream/web").TransformStream;
+          if (encoding === "failure") {
+            encoding = "UTF-8";
           }
-          const identityTransform = new TransformStream2();
-          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 decode(bytes, encoding);
         }
-        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-foward 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 (this.bodyUsed || this.body?.locked) {
-          throw new TypeError("unusable");
+        case "ArrayBuffer": {
+          const sequence = combineByteSequences(bytes);
+          return sequence.buffer;
         }
-        const clonedRequest = cloneRequest(this[kState]);
-        const clonedRequestObject = new _Request(kConstruct);
-        clonedRequestObject[kState] = clonedRequest;
-        clonedRequestObject[kRealm] = this[kRealm];
-        clonedRequestObject[kHeaders] = new Headers(kConstruct);
-        clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList;
-        clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm];
-        const ac = new AbortController();
-        if (this.signal.aborted) {
-          ac.abort(this.signal.reason);
-        } else {
-          util.addAbortListener(
-            this.signal,
-            () => {
-              ac.abort(this.signal.reason);
-            }
-          );
+        case "BinaryString": {
+          let binaryString = "";
+          const decoder = new StringDecoder("latin1");
+          for (const chunk of bytes) {
+            binaryString += decoder.write(chunk);
+          }
+          binaryString += decoder.end();
+          return binaryString;
         }
-        clonedRequestObject[kSignal] = ac.signal;
-        return clonedRequestObject;
       }
-    };
-    mixinBody(Request);
-    function makeRequest(init) {
-      const request2 = {
-        method: "GET",
-        localURLsOnly: false,
-        unsafeRequest: false,
-        body: null,
-        client: null,
-        reservedClient: null,
-        replacesClientId: "",
-        window: "client",
-        keepalive: false,
-        serviceWorkers: "all",
-        initiator: "",
-        destination: "",
-        priority: null,
-        origin: "client",
-        policyContainer: "client",
-        referrer: "client",
-        referrerPolicy: "",
-        mode: "no-cors",
-        useCORSPreflightFlag: false,
-        credentials: "same-origin",
-        useCredentials: false,
-        cache: "default",
-        redirect: "follow",
-        integrity: "",
-        cryptoGraphicsNonceMetadata: "",
-        parserMetadata: "",
-        reloadNavigation: false,
-        historyNavigation: false,
-        userActivation: false,
-        taintedOrigin: false,
-        redirectCount: 0,
-        responseTainting: "basic",
-        preventNoCacheCacheControlHeaderModification: false,
-        done: false,
-        timingAllowFailed: false,
-        ...init,
-        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList()
-      };
-      request2.url = request2.urlList[0];
-      return request2;
     }
-    function cloneRequest(request2) {
-      const newRequest = makeRequest({ ...request2, body: null });
-      if (request2.body != null) {
-        newRequest.body = cloneBody(request2.body);
+    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;
       }
-      return newRequest;
+      const sliced = bytes.slice(slice);
+      return new TextDecoder(encoding).decode(sliced);
     }
-    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) {
-      if (typeof V === "string") {
-        return webidl.converters.USVString(V);
-      }
-      if (V instanceof Request) {
-        return webidl.converters.Request(V);
+    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 webidl.converters.USVString(V);
+      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
     };
-    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,
-            { strict: false }
-          )
-        )
-      },
-      {
-        key: "window",
-        converter: webidl.converters.any
-      },
-      {
-        key: "duplex",
-        converter: webidl.converters.DOMString,
-        allowedValues: requestDuplex
-      }
-    ]);
-    module2.exports = { Request, makeRequest };
   }
 });
 
-// node_modules/undici/lib/fetch/index.js
-var require_fetch2 = __commonJS({
-  "node_modules/undici/lib/fetch/index.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js
+var require_filereader2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js"(exports2, module2) {
     "use strict";
     var {
-      Response,
-      makeNetworkError,
-      makeAppropriateNetworkError,
-      filterResponse,
-      makeResponse
-    } = require_response2();
-    var { Headers } = require_headers2();
-    var { Request, makeRequest } = require_request4();
-    var zlib = require("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
-    } = require_util11();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
-    var assert = require("assert");
-    var { safelyExtractBody } = require_body2();
+      staticPropertyDescriptors,
+      readOperation,
+      fireAProgressEvent
+    } = require_util13();
     var {
-      redirectStatusSet,
-      nullBodyStatus,
-      safeMethodsSet,
-      requestBodyHeader,
-      subresourceSet,
-      DOMException: DOMException2
-    } = require_constants7();
-    var { kHeadersList } = require_symbols6();
-    var EE = require("events");
-    var { Readable, pipeline } = require("stream");
-    var { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require_util10();
-    var { dataURLProcessor, serializeAMimeType } = require_dataURL();
-    var { TransformStream: TransformStream2 } = require("stream/web");
-    var { getGlobalDispatcher } = require_global4();
+      kState,
+      kError,
+      kResult,
+      kEvents,
+      kAborted
+    } = require_symbols8();
     var { webidl } = require_webidl2();
-    var { STATUS_CODES } = require("http");
-    var GET_OR_HEAD = ["GET", "HEAD"];
-    var resolveObjectURL;
-    var ReadableStream2 = globalThis.ReadableStream;
-    var Fetch = class extends EE {
-      constructor(dispatcher) {
+    var { kEnumerableProperty } = require_util10();
+    var FileReader = class _FileReader extends EventTarget {
+      constructor() {
         super();
-        this.dispatcher = dispatcher;
-        this.connection = null;
-        this.dump = false;
-        this.state = "ongoing";
-        this.setMaxListeners(21);
+        this[kState] = "empty";
+        this[kResult] = null;
+        this[kError] = null;
+        this[kEvents] = {
+          loadend: null,
+          error: null,
+          abort: null,
+          load: null,
+          progress: null,
+          loadstart: null
+        };
       }
-      terminate(reason) {
-        if (this.state !== "ongoing") {
+      /**
+       * @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;
         }
-        this.state = "terminated";
-        this.connection?.destroy(reason);
-        this.emit("terminated", reason);
+        if (this[kState] === "loading") {
+          this[kState] = "done";
+          this[kResult] = null;
+        }
+        this[kAborted] = true;
+        fireAProgressEvent("abort", this);
+        if (this[kState] !== "loading") {
+          fireAProgressEvent("loadend", this);
+        }
       }
-      // https://fetch.spec.whatwg.org/#fetch-controller-abort
-      abort(error3) {
-        if (this.state !== "ongoing") {
-          return;
+      /**
+       * @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;
         }
-        this.state = "aborted";
-        if (!error3) {
-          error3 = new DOMException2("The operation was aborted.", "AbortError");
+      }
+      /**
+       * @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;
         }
-        this.serializedAbortReason = error3;
-        this.connection?.destroy(error3);
-        this.emit("terminated", error3);
       }
-    };
-    function fetch(input, init = {}) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "globalThis.fetch" });
-      const p = createDeferredPromise();
-      let requestObject;
-      try {
-        requestObject = new Request(input, init);
-      } catch (e) {
-        p.reject(e);
-        return p.promise;
+      get onerror() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].error;
       }
-      const request2 = requestObject[kState];
-      if (requestObject.signal.aborted) {
-        abortFetch(p, request2, null, requestObject.signal.reason);
-        return p.promise;
+      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;
+        }
       }
-      const globalObject = request2.client.globalObject;
-      if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") {
-        request2.serviceWorkers = "none";
+      get onloadstart() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].loadstart;
       }
-      let responseObject = null;
-      const relevantRealm = null;
-      let locallyAborted = false;
-      let controller = null;
-      addAbortListener(
-        requestObject.signal,
-        () => {
-          locallyAborted = true;
-          assert(controller != null);
-          controller.abort(requestObject.signal.reason);
-          abortFetch(p, request2, responseObject, requestObject.signal.reason);
+      set onloadstart(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].loadstart) {
+          this.removeEventListener("loadstart", this[kEvents].loadstart);
         }
-      );
-      const handleFetchDone = (response) => finalizeAndReportTiming(response, "fetch");
-      const processResponse = (response) => {
-        if (locallyAborted) {
-          return Promise.resolve();
+        if (typeof fn === "function") {
+          this[kEvents].loadstart = fn;
+          this.addEventListener("loadstart", fn);
+        } else {
+          this[kEvents].loadstart = null;
         }
-        if (response.aborted) {
-          abortFetch(p, request2, responseObject, controller.serializedAbortReason);
-          return Promise.resolve();
+      }
+      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 (response.type === "error") {
-          p.reject(
-            Object.assign(new TypeError("fetch failed"), { cause: response.error })
-          );
-          return Promise.resolve();
+        if (typeof fn === "function") {
+          this[kEvents].progress = fn;
+          this.addEventListener("progress", fn);
+        } else {
+          this[kEvents].progress = null;
         }
-        responseObject = new Response();
-        responseObject[kState] = response;
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = response.headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        p.resolve(responseObject);
-      };
-      controller = fetching({
-        request: request2,
-        processResponseEndOfBody: handleFetchDone,
-        processResponse,
-        dispatcher: init.dispatcher ?? getGlobalDispatcher()
-        // undici
-      });
-      return p.promise;
-    }
-    function finalizeAndReportTiming(response, initiatorType = "other") {
-      if (response.type === "error" && response.aborted) {
-        return;
       }
-      if (!response.urlList?.length) {
-        return;
+      get onload() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].load;
       }
-      const originalURL = response.urlList[0];
-      let timingInfo = response.timingInfo;
-      let cacheState = response.cacheState;
-      if (!urlIsHttpHttpsScheme(originalURL)) {
-        return;
+      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;
+        }
       }
-      if (timingInfo === null) {
-        return;
+      get onabort() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].abort;
       }
-      if (!response.timingAllowPassed) {
-        timingInfo = createOpaqueTimingInfo({
-          startTime: timingInfo.startTime
-        });
-        cacheState = "";
+      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;
+        }
       }
-      timingInfo.endTime = coarsenedSharedCurrentTime();
-      response.timingInfo = timingInfo;
-      markResourceTiming(
-        timingInfo,
-        originalURL,
-        initiatorType,
-        globalThis,
-        cacheState
-      );
+    };
+    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/@actions/github/node_modules/undici/lib/web/cache/symbols.js
+var require_symbols9 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kConstruct: require_symbols6().kConstruct
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js
+var require_util14 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { URLSerializer } = require_data_url2();
+    var { isValidHeaderName } = require_util11();
+    function urlEquals(A, B, excludeFragment = false) {
+      const serializedA = URLSerializer(A, excludeFragment);
+      const serializedB = URLSerializer(B, excludeFragment);
+      return serializedA === serializedB;
     }
-    function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) {
-      if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) {
-        performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis2, cacheState);
+    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;
     }
-    function abortFetch(p, request2, responseObject, error3) {
-      if (!error3) {
-        error3 = new DOMException2("The operation was aborted.", "AbortError");
+    module2.exports = {
+      urlEquals,
+      getFieldValues
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js
+var require_cache2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols9();
+    var { urlEquals, getFieldValues } = require_util14();
+    var { kEnumerableProperty, isDisturbed } = require_util10();
+    var { webidl } = require_webidl2();
+    var { Response, cloneResponse, fromInnerResponse } = require_response2();
+    var { Request, fromInnerRequest } = require_request4();
+    var { kState } = require_symbols7();
+    var { fetching } = require_fetch2();
+    var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util11();
+    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];
       }
-      p.reject(error3);
-      if (request2.body != null && isReadable(request2.body?.stream)) {
-        request2.body.stream.cancel(error3).catch((err) => {
-          if (err.code === "ERR_INVALID_STATE") {
-            return;
+      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);
           }
-          throw err;
         });
+        return cacheJobPromise.promise;
       }
-      if (responseObject == null) {
-        return;
-      }
-      const response = responseObject[kState];
-      if (response.body != null && isReadable(response.body?.stream)) {
-        response.body.stream.cancel(error3).catch((err) => {
-          if (err.code === "ERR_INVALID_STATE") {
-            return;
+      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);
           }
-          throw err;
         });
+        return cacheJobPromise.promise;
       }
-    }
-    function fetching({
-      request: request2,
-      processRequestBodyChunkLength,
-      processRequestEndOfBody,
-      processResponse,
-      processResponseEndOfBody,
-      processResponseConsumeBody,
-      useParallelQueue = false,
-      dispatcher
-      // undici
-    }) {
-      let taskDestination = null;
-      let crossOriginIsolatedCapability = false;
-      if (request2.client != null) {
-        taskDestination = request2.client.globalObject;
-        crossOriginIsolatedCapability = request2.client.crossOriginIsolatedCapability;
-      }
-      const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
-      const timingInfo = createOpaqueTimingInfo({
-        startTime: currenTime
-      });
-      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
-          );
+      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 {
-          request2.policyContainer = makePolicyContainer();
+          assert(typeof request2 === "string");
+          r = new Request(request2)[kState];
         }
-      }
-      if (!request2.headersList.contains("accept")) {
-        const value = "*/*";
-        request2.headersList.append("accept", value);
-      }
-      if (!request2.headersList.contains("accept-language")) {
-        request2.headersList.append("accept-language", "*");
-      }
-      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"');
+        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);
           }
-          if (request2.mode === "no-cors") {
-            if (request2.redirect !== "follow") {
-              return makeNetworkError(
-                'redirect mode cannot be "follow" for "no-cors" request'
-              );
+        });
+        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 [];
             }
-            request2.responseTainting = "opaque";
-            return await schemeFetch(fetchParams);
-          }
-          if (!urlIsHttpHttpsScheme(requestCurrentURL(request2))) {
-            return makeNetworkError("URL scheme must be a HTTP(S) scheme");
+          } else if (typeof request2 === "string") {
+            r = new Request(request2)[kState];
           }
-          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");
+        const promise = createDeferredPromise();
+        const requests = [];
+        if (request2 === void 0) {
+          for (const requestResponse of this.#relevantRequestResponseList) {
+            requests.push(requestResponse[0]);
+          }
         } else {
-          assert(false);
+          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;
       }
-      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")) {
-        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;
+      /**
+       * @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]);
           }
-          response.body = safelyExtractBody(bytes)[0];
-          fetchFinale(fetchParams, response);
-        };
-        await fullyReadBody(response.body, processBody, processBodyError);
-      } else {
-        fetchFinale(fetchParams, response);
+          return resultList;
+        } catch (e) {
+          this.#relevantRequestResponseList.length = 0;
+          this.#relevantRequestResponseList = backupCache;
+          throw e;
+        }
       }
-    }
-    function schemeFetch(fetchParams) {
-      if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {
-        return Promise.resolve(makeAppropriateNetworkError(fetchParams));
+      /**
+       * @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;
       }
-      const { request: request2 } = fetchParams;
-      const { protocol: scheme } = requestCurrentURL(request2);
-      switch (scheme) {
-        case "about:": {
-          return Promise.resolve(makeNetworkError("about scheme is not supported"));
+      /**
+       * @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 = "";
         }
-        case "blob:": {
-          if (!resolveObjectURL) {
-            resolveObjectURL = require("buffer").resolveObjectURL;
-          }
-          const blobURLEntry = requestCurrentURL(request2);
-          if (blobURLEntry.search.length !== 0) {
-            return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));
+        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 blobURLEntryObject = resolveObjectURL(blobURLEntry.toString());
-          if (request2.method !== "GET" || !isBlobLike(blobURLEntryObject)) {
-            return Promise.resolve(makeNetworkError("invalid method"));
+          const requestValue = request2.headersList.get(fieldValue);
+          const queryValue = requestQuery.headersList.get(fieldValue);
+          if (requestValue !== queryValue) {
+            return false;
           }
-          const bodyWithType = safelyExtractBody(blobURLEntryObject);
-          const body = bodyWithType[0];
-          const length = isomorphicEncode(`${body.length}`);
-          const type2 = bodyWithType[1] ?? "";
-          const response = makeResponse({
-            statusText: "OK",
-            headersList: [
-              ["content-length", { name: "Content-Length", value: length }],
-              ["content-type", { name: "Content-Type", value: type2 }]
-            ]
-          });
-          response.body = body;
-          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"));
+        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 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));
+        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]);
+          }
         }
-        default: {
-          return Promise.resolve(makeNetworkError("unknown scheme"));
+        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);
       }
-    }
-    function finalizeResponse(fetchParams, response) {
-      fetchParams.request.done = true;
-      if (fetchParams.processResponseDone != null) {
-        queueMicrotask(() => fetchParams.processResponseDone(response));
+    };
+    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
       }
-    }
-    function fetchFinale(fetchParams, response) {
-      if (response.type === "error") {
-        response.urlList = [fetchParams.request.urlList[0]];
-        response.timingInfo = createOpaqueTimingInfo({
-          startTime: fetchParams.timingInfo.startTime
-        });
+    ];
+    webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters);
+    webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([
+      ...cacheQueryOptionConverters,
+      {
+        key: "cacheName",
+        converter: webidl.converters.DOMString
       }
-      const processResponseEndOfBody = () => {
-        fetchParams.request.done = true;
-        if (fetchParams.processResponseEndOfBody != null) {
-          queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
+    ]);
+    webidl.converters.Response = webidl.interfaceConverter(Response);
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.RequestInfo
+    );
+    module2.exports = {
+      Cache
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js
+var require_cachestorage2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols9();
+    var { Cache } = require_cache2();
+    var { webidl } = require_webidl2();
+    var { kEnumerableProperty } = require_util10();
+    var CacheStorage = class _CacheStorage {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
+       * @type {Map fetchParams.processResponse(response));
-      }
-      if (response.body == null) {
-        processResponseEndOfBody();
-      } else {
-        const identityTransformAlgorithm = (chunk, controller) => {
-          controller.enqueue(chunk);
-        };
-        const transformStream = new TransformStream2({
-          start() {
-          },
-          transform: identityTransformAlgorithm,
-          flush: processResponseEndOfBody
-        }, {
-          size() {
-            return 1;
-          }
-        }, {
-          size() {
-            return 1;
-          }
-        });
-        response.body = { stream: response.body.stream.pipeThrough(transformStream) };
+        webidl.util.markAsUncloneable(this);
       }
-      if (fetchParams.processResponseConsumeBody != null) {
-        const processBody = (nullOrBytes) => fetchParams.processResponseConsumeBody(response, nullOrBytes);
-        const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure);
-        if (response.body == null) {
-          queueMicrotask(() => processBody(null));
+      async match(request2, options = {}) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, "CacheStorage.match");
+        request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.MultiCacheQueryOptions(options);
+        if (options.cacheName != null) {
+          if (this.#caches.has(options.cacheName)) {
+            const cacheList = this.#caches.get(options.cacheName);
+            const cache = new Cache(kConstruct, cacheList);
+            return await cache.match(request2, options);
+          }
         } else {
-          return fullyReadBody(response.body, processBody, processBodyError);
+          for (const cacheList of this.#caches.values()) {
+            const cache = new Cache(kConstruct, cacheList);
+            const response = await cache.match(request2, options);
+            if (response !== void 0) {
+              return response;
+            }
+          }
         }
-        return Promise.resolve();
       }
-    }
-    async function httpFetch(fetchParams) {
-      const request2 = fetchParams.request;
-      let response = null;
-      let actualResponse = null;
-      const timingInfo = fetchParams.timingInfo;
-      if (request2.serviceWorkers === "all") {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-has
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      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);
       }
-      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;
+      /**
+       * @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);
       }
-      if ((request2.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
-        request2.origin,
-        request2.client,
-        request2.destination,
-        actualResponse
-      ) === "blocked") {
-        return makeNetworkError("blocked");
+      /**
+       * @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);
       }
-      if (redirectStatusSet.has(actualResponse.status)) {
-        if (request2.redirect !== "manual") {
-          fetchParams.controller.connection.destroy();
-        }
-        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);
+      /**
+       * @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/@actions/github/node_modules/undici/lib/web/cookies/constants.js
+var require_constants9 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/constants.js"(exports2, module2) {
+    "use strict";
+    var maxAttributeValueSize = 1024;
+    var maxNameValuePairSize = 4096;
+    module2.exports = {
+      maxAttributeValueSize,
+      maxNameValuePairSize
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/util.js
+var require_util15 = __commonJS({
+  "node_modules/@actions/github/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;
         }
       }
-      response.timingInfo = timingInfo;
-      return response;
+      return false;
     }
-    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;
+    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");
         }
-      } 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);
+    }
+    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;
       }
-      if (!sameOrigin(requestCurrentURL(request2), locationURL)) {
-        request2.headersList.delete("authorization");
-        request2.headersList.delete("proxy-authorization", true);
-        request2.headersList.delete("cookie");
-        request2.headersList.delete("host");
-      }
-      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;
+      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");
+        }
       }
-      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 = makeRequest(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";
+    function validateCookiePath(path3) {
+      for (let i = 0; i < path3.length; ++i) {
+        const code = path3.charCodeAt(i);
+        if (code < 32 || // exclude CTLs (0-31)
+        code === 127 || // DEL
+        code === 59) {
+          throw new Error("Invalid cookie path");
+        }
       }
-      if (contentLength != null) {
-        contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
+    }
+    function validateCookieDomain(domain) {
+      if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
+        throw new Error("Invalid cookie domain");
       }
-      if (contentLengthHeaderValue != null) {
-        httpRequest.headersList.append("content-length", contentLengthHeaderValue);
+    }
+    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);
       }
-      if (contentLength != null && httpRequest.keepalive) {
+      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");
       }
-      if (httpRequest.referrer instanceof URL) {
-        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href));
+    }
+    function stringify(cookie) {
+      if (cookie.name.length === 0) {
+        return null;
       }
-      appendRequestOriginHeader(httpRequest);
-      appendFetchMetadata(httpRequest);
-      if (!httpRequest.headersList.contains("user-agent")) {
-        httpRequest.headersList.append("user-agent", typeof esbuildDetection === "undefined" ? "undici" : "node");
+      validateCookieName(cookie.name);
+      validateCookieValue(cookie.value);
+      const out = [`${cookie.name}=${cookie.value}`];
+      if (cookie.name.startsWith("__Secure-")) {
+        cookie.secure = true;
       }
-      if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since") || httpRequest.headersList.contains("if-none-match") || httpRequest.headersList.contains("if-unmodified-since") || httpRequest.headersList.contains("if-match") || httpRequest.headersList.contains("if-range"))) {
-        httpRequest.cache = "no-store";
+      if (cookie.name.startsWith("__Host-")) {
+        cookie.secure = true;
+        cookie.domain = null;
+        cookie.path = "/";
       }
-      if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control")) {
-        httpRequest.headersList.append("cache-control", "max-age=0");
+      if (cookie.secure) {
+        out.push("Secure");
       }
-      if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") {
-        if (!httpRequest.headersList.contains("pragma")) {
-          httpRequest.headersList.append("pragma", "no-cache");
-        }
-        if (!httpRequest.headersList.contains("cache-control")) {
-          httpRequest.headersList.append("cache-control", "no-cache");
-        }
+      if (cookie.httpOnly) {
+        out.push("HttpOnly");
       }
-      if (httpRequest.headersList.contains("range")) {
-        httpRequest.headersList.append("accept-encoding", "identity");
+      if (typeof cookie.maxAge === "number") {
+        validateCookieMaxAge(cookie.maxAge);
+        out.push(`Max-Age=${cookie.maxAge}`);
       }
-      if (!httpRequest.headersList.contains("accept-encoding")) {
-        if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
-          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate");
-        } else {
-          httpRequest.headersList.append("accept-encoding", "gzip, deflate");
-        }
+      if (cookie.domain) {
+        validateCookieDomain(cookie.domain);
+        out.push(`Domain=${cookie.domain}`);
       }
-      httpRequest.headersList.delete("host");
-      if (includeCredentials) {
+      if (cookie.path) {
+        validateCookiePath(cookie.path);
+        out.push(`Path=${cookie.path}`);
       }
-      if (httpCache == null) {
-        httpRequest.cache = "no-store";
+      if (cookie.expires && cookie.expires.toString() !== "Invalid Date") {
+        out.push(`Expires=${toIMFDate(cookie.expires)}`);
       }
-      if (httpRequest.mode !== "no-store" && httpRequest.mode !== "reload") {
+      if (cookie.sameSite) {
+        out.push(`SameSite=${cookie.sameSite}`);
       }
-      if (response == null) {
-        if (httpRequest.mode === "only-if-cached") {
-          return makeNetworkError("only if cached");
-        }
-        const forwardResponse = await httpNetworkFetch(
-          httpFetchParams,
-          includeCredentials,
-          isNewConnectionFetch
-        );
-        if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {
-        }
-        if (revalidatingFlag && forwardResponse.status === 304) {
-        }
-        if (response == null) {
-          response = forwardResponse;
+      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("=")}`);
       }
-      response.urlList = [...httpRequest.urlList];
-      if (httpRequest.headersList.contains("range")) {
-        response.rangeRequested = true;
+      return out.join("; ");
+    }
+    module2.exports = {
+      isCTLExcludingHtab,
+      validateCookieName,
+      validateCookiePath,
+      validateCookieValue,
+      toIMFDate,
+      stringify
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js
+var require_parse2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js"(exports2, module2) {
+    "use strict";
+    var { maxNameValuePairSize, maxAttributeValueSize } = require_constants9();
+    var { isCTLExcludingHtab } = require_util15();
+    var { collectASequenceOfCodePointsFast } = require_data_url2();
+    var assert = require("node:assert");
+    function parseSetCookie(header) {
+      if (isCTLExcludingHtab(header)) {
+        return null;
       }
-      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");
+      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 (
-        // 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 (!nameValuePair.includes("=")) {
+        value = nameValuePair;
+      } else {
+        const position = { position: 0 };
+        name = collectASequenceOfCodePointsFast(
+          "=",
+          nameValuePair,
+          position
         );
+        value = nameValuePair.slice(position.position + 1);
       }
-      if (isAuthenticationFetch) {
+      name = name.trim();
+      value = value.trim();
+      if (name.length + value.length > maxNameValuePairSize) {
+        return null;
       }
-      return response;
-    }
-    async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) {
-      assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed);
-      fetchParams.controller.connection = {
-        abort: null,
-        destroyed: false,
-        destroy(err) {
-          if (!this.destroyed) {
-            this.destroyed = true;
-            this.abort?.(err ?? new DOMException2("The operation was aborted.", "AbortError"));
-          }
-        }
+      return {
+        name,
+        value,
+        ...parseUnparsedAttributes(unparsedAttributes)
       };
-      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 {
+    }
+    function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) {
+      if (unparsedAttributes.length === 0) {
+        return cookieAttributeList;
       }
-      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);
-          }
-        })();
+      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 = "";
       }
-      try {
-        const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
-        if (socket) {
-          response = makeResponse({ status, statusText, headersList, socket });
-        } else {
-          const iterator2 = body[Symbol.asyncIterator]();
-          fetchParams.controller.next = () => iterator2.next();
-          response = makeResponse({ status, statusText, headersList });
-        }
-      } catch (err) {
-        if (err.name === "AbortError") {
-          fetchParams.controller.connection.destroy();
-          return makeAppropriateNetworkError(fetchParams, err);
-        }
-        return makeNetworkError(err);
+      let attributeName = "";
+      let attributeValue = "";
+      if (cookieAv.includes("=")) {
+        const position = { position: 0 };
+        attributeName = collectASequenceOfCodePointsFast(
+          "=",
+          cookieAv,
+          position
+        );
+        attributeValue = cookieAv.slice(position.position + 1);
+      } else {
+        attributeName = cookieAv;
       }
-      const pullAlgorithm = () => {
-        fetchParams.controller.resume();
-      };
-      const cancelAlgorithm = (reason) => {
-        fetchParams.controller.abort(reason);
-      };
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+      attributeName = attributeName.trim();
+      attributeValue = attributeValue.trim();
+      if (attributeValue.length > maxAttributeValueSize) {
+        return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
       }
-      const stream = new ReadableStream2(
-        {
-          async start(controller) {
-            fetchParams.controller.controller = controller;
-          },
-          async pull(controller) {
-            await pullAlgorithm(controller);
-          },
-          async cancel(reason) {
-            await cancelAlgorithm(reason);
-          }
-        },
-        {
-          highWaterMark: 0,
-          size() {
-            return 1;
-          }
+      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);
         }
-      );
-      response.body = { stream };
-      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;
-          }
-          fetchParams.controller.controller.enqueue(new Uint8Array(bytes));
-          if (isErrored(stream)) {
-            fetchParams.controller.terminate();
-            return;
-          }
-          if (!fetchParams.controller.controller.desiredSize) {
-            return;
-          }
+        if (!/^\d+$/.test(attributeValue)) {
+          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
         }
-      };
-      function onAborted(reason) {
-        if (isAborted(fetchParams)) {
-          response.aborted = true;
-          if (isReadable(stream)) {
-            fetchParams.controller.controller.error(
-              fetchParams.controller.serializedAbortReason
-            );
-          }
+        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 {
-          if (isReadable(stream)) {
-            fetchParams.controller.controller.error(new TypeError("terminated", {
-              cause: isErrorLike(reason) ? reason : void 0
-            }));
-          }
+          cookiePath = attributeValue;
         }
-        fetchParams.controller.connection.destroy();
-      }
-      return response;
-      async function dispatch({ body }) {
-        const url = requestCurrentURL(request2);
-        const agent = fetchParams.controller.dispatcher;
-        return new Promise((resolve2, reject) => agent.dispatch(
-          {
-            path: url.pathname + url.search,
-            origin: url.origin,
-            method: request2.method,
-            body: fetchParams.controller.dispatcher.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
-            headers: request2.headersList.entries,
-            maxRedirections: 0,
-            upgrade: request2.mode === "websocket" ? "websocket" : void 0
-          },
-          {
-            body: null,
-            abort: null,
-            onConnect(abort) {
-              const { connection } = fetchParams.controller;
-              if (connection.destroyed) {
-                abort(new DOMException2("The operation was aborted.", "AbortError"));
-              } else {
-                fetchParams.controller.on("terminated", abort);
-                this.abort = connection.abort = abort;
-              }
-            },
-            onHeaders(status, headersList, resume, statusText) {
-              if (status < 200) {
-                return;
-              }
-              let codings = [];
-              let location = "";
-              const headers = new Headers();
-              if (Array.isArray(headersList)) {
-                for (let n = 0; n < headersList.length; n += 2) {
-                  const key = headersList[n + 0].toString("latin1");
-                  const val = headersList[n + 1].toString("latin1");
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim());
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
-              } else {
-                const keys = Object.keys(headersList);
-                for (const key of keys) {
-                  const val = headersList[key];
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim()).reverse();
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
-              }
-              this.body = new Readable({ read: resume });
-              const decoders = [];
-              const willFollow = request2.redirect === "follow" && location && redirectStatusSet.has(status);
-              if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
-                for (const coding of codings) {
-                  if (coding === "x-gzip" || coding === "gzip") {
-                    decoders.push(zlib.createGunzip({
-                      // Be less strict when decoding compressed responses, since sometimes
-                      // servers send slightly invalid responses that are still accepted
-                      // by common browsers.
-                      // Always using Z_SYNC_FLUSH is what cURL does.
-                      flush: zlib.constants.Z_SYNC_FLUSH,
-                      finishFlush: zlib.constants.Z_SYNC_FLUSH
-                    }));
-                  } else if (coding === "deflate") {
-                    decoders.push(zlib.createInflate());
-                  } else if (coding === "br") {
-                    decoders.push(zlib.createBrotliDecompress());
-                  } else {
-                    decoders.length = 0;
-                    break;
-                  }
-                }
-              }
-              resolve2({
-                status,
-                statusText,
-                headersList: headers[kHeadersList],
-                body: decoders.length ? pipeline(this.body, ...decoders, () => {
-                }) : this.body.on("error", () => {
-                })
-              });
-              return true;
-            },
-            onData(chunk) {
-              if (fetchParams.controller.dump) {
-                return;
-              }
-              const bytes = chunk;
-              timingInfo.encodedBodySize += bytes.byteLength;
-              return this.body.push(bytes);
-            },
-            onComplete() {
-              if (this.abort) {
-                fetchParams.controller.off("terminated", this.abort);
-              }
-              fetchParams.controller.ended = true;
-              this.body.push(null);
-            },
-            onError(error3) {
-              if (this.abort) {
-                fetchParams.controller.off("terminated", this.abort);
-              }
-              this.body?.destroy(error3);
-              fetchParams.controller.terminate(error3);
-              reject(error3);
-            },
-            onUpgrade(status, headersList, socket) {
-              if (status !== 101) {
-                return;
-              }
-              const headers = new Headers();
-              for (let n = 0; n < headersList.length; n += 2) {
-                const key = headersList[n + 0].toString("latin1");
-                const val = headersList[n + 1].toString("latin1");
-                headers[kHeadersList].append(key, val);
-              }
-              resolve2({
-                status,
-                statusText: STATUS_CODES[status],
-                headersList: headers[kHeadersList],
-                socket
-              });
-              return true;
-            }
-          }
-        ));
+        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 = {
-      fetch,
-      Fetch,
-      fetching,
-      finalizeAndReportTiming
+      parseSetCookie,
+      parseUnparsedAttributes
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/symbols.js
-var require_symbols8 = __commonJS({
-  "node_modules/undici/lib/fileapi/symbols.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js
+var require_cookies2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js"(exports2, module2) {
     "use strict";
+    var { parseSetCookie } = require_parse2();
+    var { stringify } = require_util15();
+    var { webidl } = require_webidl2();
+    var { Headers } = require_headers2();
+    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 str2 = stringify(cookie);
+      if (str2) {
+        headers.append("Set-Cookie", str2);
+      }
+    }
+    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 = {
-      kState: /* @__PURE__ */ Symbol("FileReader state"),
-      kResult: /* @__PURE__ */ Symbol("FileReader result"),
-      kError: /* @__PURE__ */ Symbol("FileReader error"),
-      kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"),
-      kEvents: /* @__PURE__ */ Symbol("FileReader events"),
-      kAborted: /* @__PURE__ */ Symbol("FileReader aborted")
+      getCookies,
+      deleteCookie,
+      getSetCookies,
+      setCookie
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/progressevent.js
-var require_progressevent2 = __commonJS({
-  "node_modules/undici/lib/fileapi/progressevent.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js
+var require_events2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js"(exports2, module2) {
     "use strict";
     var { webidl } = require_webidl2();
-    var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
-    var ProgressEvent = class _ProgressEvent extends Event {
+    var { kEnumerableProperty } = require_util10();
+    var { kConstruct } = require_symbols6();
+    var { MessagePort } = require("node:worker_threads");
+    var MessageEvent = class _MessageEvent extends Event {
+      #eventInit;
       constructor(type2, eventInitDict = {}) {
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
+        if (type2 === kConstruct) {
+          super(arguments[1], arguments[2]);
+          webidl.util.markAsUncloneable(this);
+          return;
+        }
+        const prefix = "MessageEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.MessageEventInit(eventInitDict, prefix, "eventInitDict");
         super(type2, eventInitDict);
-        this[kState] = {
-          lengthComputable: eventInitDict.lengthComputable,
-          loaded: eventInitDict.loaded,
-          total: eventInitDict.total
-        };
+        this.#eventInit = eventInitDict;
+        webidl.util.markAsUncloneable(this);
       }
-      get lengthComputable() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].lengthComputable;
+      get data() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.data;
       }
-      get loaded() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].loaded;
+      get origin() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.origin;
       }
-      get total() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].total;
+      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(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
+        webidl.brandCheck(this, _MessageEvent);
+        webidl.argumentLengthCheck(arguments, 1, "MessageEvent.initMessageEvent");
+        return new _MessageEvent(type2, {
+          bubbles,
+          cancelable,
+          data,
+          origin,
+          lastEventId,
+          source,
+          ports
+        });
+      }
+      static createFastMessageEvent(type2, init) {
+        const messageEvent = new _MessageEvent(kConstruct, type2, 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(type2, eventInitDict = {}) {
+        const prefix = "CloseEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
+        super(type2, 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(type2, eventInitDict) {
+        const prefix = "ErrorEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        super(type2, eventInitDict);
+        webidl.util.markAsUncloneable(this);
+        type2 = webidl.converters.DOMString(type2, 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;
       }
     };
-    webidl.converters.ProgressEventInit = webidl.dictionaryConverter([
-      {
-        key: "lengthComputable",
-        converter: webidl.converters.boolean,
-        defaultValue: false
+    Object.defineProperties(MessageEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "MessageEvent",
+        configurable: true
       },
-      {
-        key: "loaded",
-        converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
+      data: kEnumerableProperty,
+      origin: kEnumerableProperty,
+      lastEventId: kEnumerableProperty,
+      source: kEnumerableProperty,
+      ports: kEnumerableProperty,
+      initMessageEvent: kEnumerableProperty
+    });
+    Object.defineProperties(CloseEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "CloseEvent",
+        configurable: true
       },
-      {
-        key: "total",
-        converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
+      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
+        defaultValue: () => false
       },
       {
         key: "cancelable",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "composed",
         converter: webidl.converters.boolean,
-        defaultValue: false
-      }
-    ]);
-    module2.exports = {
-      ProgressEvent
-    };
-  }
-});
-
-// node_modules/undici/lib/fileapi/encoding.js
-var require_encoding2 = __commonJS({
-  "node_modules/undici/lib/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/fileapi/util.js
-var require_util13 = __commonJS({
-  "node_modules/undici/lib/fileapi/util.js"(exports2, module2) {
-    "use strict";
-    var {
-      kState,
-      kError,
-      kResult,
-      kAborted,
-      kLastProgressEventFired
-    } = require_symbols8();
-    var { ProgressEvent } = require_progressevent2();
-    var { getEncoding } = require_encoding2();
-    var { DOMException: DOMException2 } = require_constants7();
-    var { serializeAMimeType, parseMIMEType } = require_dataURL();
-    var { types } = require("util");
-    var { StringDecoder } = require("string_decoder");
-    var { btoa: btoa2 } = require("buffer");
-    var staticPropertyDescriptors = {
-      enumerable: true,
-      writable: false,
-      configurable: false
-    };
-    function readOperation(fr, blob, type2, encodingName) {
-      if (fr[kState] === "loading") {
-        throw new DOMException2("Invalid state", "InvalidStateError");
+        defaultValue: () => false
       }
-      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, type2, blob.type, encodingName);
-                  if (fr[kAborted]) {
-                    return;
-                  }
-                  fr[kResult] = result;
-                  fireAProgressEvent("load", fr);
-                } catch (error3) {
-                  fr[kError] = error3;
-                  fireAProgressEvent("error", fr);
-                }
-                if (fr[kState] !== "loading") {
-                  fireAProgressEvent("loadend", fr);
-                }
-              });
-              break;
-            }
-          } catch (error3) {
-            if (fr[kAborted]) {
-              return;
-            }
-            queueMicrotask(() => {
-              fr[kState] = "done";
-              fr[kError] = error3;
-              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, type2, mimeType, encodingName) {
-      switch (type2) {
-        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 += btoa2(decoder.write(chunk));
-          }
-          dataURL += btoa2(decoder.end());
-          return dataURL;
-        }
-        case "Text": {
-          let encoding = "failure";
-          if (encodingName) {
-            encoding = getEncoding(encodingName);
-          }
-          if (encoding === "failure" && mimeType) {
-            const type3 = parseMIMEType(mimeType);
-            if (type3 !== "failure") {
-              encoding = getEncoding(type3.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;
-        }
+    ];
+    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)
       }
-    }
-    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;
+    ]);
+    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: () => ""
       }
-      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";
+    ]);
+    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
       }
-      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
+      MessageEvent,
+      CloseEvent,
+      ErrorEvent,
+      createFastMessageEvent
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/filereader.js
-var require_filereader2 = __commonJS({
-  "node_modules/undici/lib/fileapi/filereader.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js
+var require_constants10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js"(exports2, module2) {
     "use strict";
-    var {
+    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,
-      readOperation,
-      fireAProgressEvent
-    } = require_util13();
-    var {
-      kState,
-      kError,
-      kResult,
-      kEvents,
-      kAborted
-    } = require_symbols8();
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util10();
-    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, { header: "FileReader.readAsArrayBuffer" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "ArrayBuffer");
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#readAsBinaryString
-       * @param {import('buffer').Blob} blob
-       */
-      readAsBinaryString(blob) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsBinaryString" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "BinaryString");
-      }
-      /**
-       * @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, { header: "FileReader.readAsText" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        if (encoding !== void 0) {
-          encoding = webidl.converters.DOMString(encoding);
-        }
-        readOperation(this, blob, "Text", encoding);
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dfn-readAsDataURL
-       * @param {import('buffer').Blob} blob
-       */
-      readAsDataURL(blob) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsDataURL" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "DataURL");
+      states,
+      opcodes,
+      maxUnsigned16Bit,
+      parserStates,
+      emptyBuffer,
+      sendHints
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js
+var require_symbols10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
+      kReadyState: /* @__PURE__ */ Symbol("ready state"),
+      kController: /* @__PURE__ */ Symbol("controller"),
+      kResponse: /* @__PURE__ */ Symbol("response"),
+      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
+      kSentClose: /* @__PURE__ */ Symbol("sent close"),
+      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
+      kByteParser: /* @__PURE__ */ Symbol("byte parser")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js
+var require_util16 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js"(exports2, module2) {
+    "use strict";
+    var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols10();
+    var { states, opcodes } = require_constants10();
+    var { ErrorEvent, createFastMessageEvent } = require_events2();
+    var { isUtf8 } = require("node:buffer");
+    var { collectASequenceOfCodePointsFast, removeHTTPWhitespace } = require_data_url2();
+    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 = (type2, init) => new Event(type2, init), eventInitDict = {}) {
+      const event = eventFactory(e, eventInitDict);
+      target.dispatchEvent(event);
+    }
+    function websocketMessageReceived(ws, type2, data) {
+      if (ws[kReadyState] !== states.OPEN) {
+        return;
       }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dfn-abort
-       */
-      abort() {
-        if (this[kState] === "empty" || this[kState] === "done") {
-          this[kResult] = null;
+      let dataForEvent;
+      if (type2 === opcodes.TEXT) {
+        try {
+          dataForEvent = utf8Decode(data);
+        } catch {
+          failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
           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 if (type2 === opcodes.BINARY) {
+        if (ws[kBinaryType] === "blob") {
+          dataForEvent = new Blob([data]);
         } else {
-          this[kEvents].loadend = null;
+          dataForEvent = toArrayBuffer(data);
         }
       }
-      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;
-        }
+      fireEvent("message", ws, createFastMessageEvent, {
+        origin: ws[kWebSocketURL].origin,
+        data: dataForEvent
+      });
+    }
+    function toArrayBuffer(buffer) {
+      if (buffer.byteLength === buffer.buffer.byteLength) {
+        return buffer.buffer;
       }
-      get onloadstart() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].loadstart;
+      return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
+    }
+    function isValidSubprotocol(protocol) {
+      if (protocol.length === 0) {
+        return false;
       }
-      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;
+      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;
         }
       }
-      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;
-        }
+      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;
       }
-      get onload() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].load;
+      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();
       }
-      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;
-        }
+      if (reason) {
+        fireEvent("error", ws, (type2, init) => new ErrorEvent(type2, init), {
+          error: new Error(reason),
+          message: reason
+        });
       }
-      get onabort() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].abort;
+    }
+    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++;
       }
-      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;
+      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;
         }
       }
-    };
-    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
+      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");
       }
-    });
-    Object.defineProperties(FileReader, {
-      EMPTY: staticPropertyDescriptors,
-      LOADING: staticPropertyDescriptors,
-      DONE: staticPropertyDescriptors
-    });
-    module2.exports = {
-      FileReader
+      throw new TypeError("Invalid utf-8 received.");
     };
-  }
-});
-
-// node_modules/undici/lib/cache/symbols.js
-var require_symbols9 = __commonJS({
-  "node_modules/undici/lib/cache/symbols.js"(exports2, module2) {
-    "use strict";
     module2.exports = {
-      kConstruct: require_symbols6().kConstruct
+      isConnecting,
+      isEstablished,
+      isClosing,
+      isClosed,
+      fireEvent,
+      isValidSubprotocol,
+      isValidStatusCode,
+      failWebsocketConnection,
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isContinuationFrame,
+      isTextBinaryFrame,
+      isValidOpcode,
+      parseExtensions,
+      isValidClientWindowBits
     };
   }
 });
 
-// node_modules/undici/lib/cache/util.js
-var require_util14 = __commonJS({
-  "node_modules/undici/lib/cache/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js
+var require_frame2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { URLSerializer } = require_dataURL();
-    var { isValidHeaderName } = require_util11();
-    function urlEquals(A, B, excludeFragment = false) {
-      const serializedA = URLSerializer(A, excludeFragment);
-      const serializedB = URLSerializer(B, excludeFragment);
-      return serializedA === serializedB;
-    }
-    function fieldValues(header) {
-      assert(header !== null);
-      const values = [];
-      for (let value of header.split(",")) {
-        value = value.trim();
-        if (!value.length) {
-          continue;
-        } else if (!isValidHeaderName(value)) {
-          continue;
+    var { maxUnsigned16Bit } = require_constants10();
+    var BUFFER_SIZE = 16386;
+    var crypto2;
+    var buffer = null;
+    var bufIdx = BUFFER_SIZE;
+    try {
+      crypto2 = require("node:crypto");
+    } catch {
+      crypto2 = {
+        // 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;
         }
-        values.push(value);
+      };
+    }
+    function generateMask() {
+      if (bufIdx === BUFFER_SIZE) {
+        bufIdx = 0;
+        crypto2.randomFillSync(buffer ??= Buffer.allocUnsafe(BUFFER_SIZE), 0, BUFFER_SIZE);
       }
-      return values;
+      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 = {
-      urlEquals,
-      fieldValues
+      WebsocketFrameSend
     };
   }
 });
 
-// node_modules/undici/lib/cache/cache.js
-var require_cache2 = __commonJS({
-  "node_modules/undici/lib/cache/cache.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js
+var require_connection2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js"(exports2, module2) {
     "use strict";
-    var { kConstruct } = require_symbols9();
-    var { urlEquals, fieldValues: getFieldValues } = require_util14();
-    var { kEnumerableProperty, isDisturbed } = require_util10();
-    var { kHeadersList } = require_symbols6();
-    var { webidl } = require_webidl2();
-    var { Response, cloneResponse } = require_response2();
-    var { Request } = require_request4();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
+    var { uid, states, sentCloseFrameState, emptyBuffer, opcodes } = require_constants10();
+    var {
+      kReadyState,
+      kSentClose,
+      kByteParser,
+      kReceivedClose,
+      kResponse
+    } = require_symbols10();
+    var { fireEvent, failWebsocketConnection, isClosing, isClosed, isEstablished, parseExtensions } = require_util16();
+    var { channels } = require_diagnostics2();
+    var { CloseEvent } = require_events2();
+    var { makeRequest } = require_request4();
     var { fetching } = require_fetch2();
-    var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util11();
-    var assert = require("assert");
-    var { getGlobalDispatcher } = require_global4();
-    var Cache = class _Cache {
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list
-       * @type {requestResponseList}
-       */
-      #relevantRequestResponseList;
-      constructor() {
-        if (arguments[0] !== kConstruct) {
-          webidl.illegalConstructor();
-        }
-        this.#relevantRequestResponseList = arguments[1];
+    var { Headers, getHeadersList } = require_headers2();
+    var { getDecodeSplit } = require_util11();
+    var { WebsocketFrameSend } = require_frame2();
+    var crypto2;
+    try {
+      crypto2 = 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;
       }
-      async match(request2, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.match" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        const p = await this.matchAll(request2, options);
-        if (p.length === 0) {
-          return;
-        }
-        return p[0];
+      const keyValue = crypto2.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);
       }
-      async matchAll(request2 = void 0, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(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 responses = [];
-        if (request2 === void 0) {
-          for (const requestResponse of this.#relevantRequestResponseList) {
-            responses.push(requestResponse[1]);
+      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;
           }
-        } else {
-          const requestResponses = this.#queryCache(r, options);
-          for (const requestResponse of requestResponses) {
-            responses.push(requestResponse[1]);
+          if (protocols.length !== 0 && !response.headersList.get("Sec-WebSocket-Protocol")) {
+            failWebsocketConnection(ws, "Server did not respond with sent protocols.");
+            return;
           }
-        }
-        const responseList = [];
-        for (const response of responses) {
-          const responseObject = new Response(response.body?.source ?? null);
-          const body = responseObject[kState].body;
-          responseObject[kState] = response;
-          responseObject[kState].body = body;
-          responseObject[kHeaders][kHeadersList] = response.headersList;
-          responseObject[kHeaders][kGuard] = "immutable";
-          responseList.push(responseObject);
-        }
-        return Object.freeze(responseList);
-      }
-      async add(request2) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.add" });
-        request2 = webidl.converters.RequestInfo(request2);
-        const requests = [request2];
-        const responseArrayPromise = this.addAll(requests);
-        return await responseArrayPromise;
-      }
-      async addAll(requests) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.addAll" });
-        requests = webidl.converters["sequence"](requests);
-        const responsePromises = [];
-        const requestList = [];
-        for (const request2 of requests) {
-          if (typeof request2 === "string") {
-            continue;
+          if (response.headersList.get("Upgrade")?.toLowerCase() !== "websocket") {
+            failWebsocketConnection(ws, 'Server did not set Upgrade header to "websocket".');
+            return;
           }
-          const r = request2[kState];
-          if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") {
-            throw webidl.errors.exception({
-              header: "Cache.addAll",
-              message: "Expected http/s scheme when method is not GET."
-            });
+          if (response.headersList.get("Connection")?.toLowerCase() !== "upgrade") {
+            failWebsocketConnection(ws, 'Server did not set Connection header to "upgrade".');
+            return;
           }
-        }
-        const fetchControllers = [];
-        for (const request2 of requests) {
-          const r = new Request(request2)[kState];
-          if (!urlIsHttpHttpsScheme(r.url)) {
-            throw webidl.errors.exception({
-              header: "Cache.addAll",
-              message: "Expected http/s scheme."
-            });
+          const secWSAccept = response.headersList.get("Sec-WebSocket-Accept");
+          const digest = crypto2.createHash("sha1").update(keyValue + uid).digest("base64");
+          if (secWSAccept !== digest) {
+            failWebsocketConnection(ws, "Incorrect hash received in Sec-WebSocket-Accept header.");
+            return;
           }
-          r.initiator = "fetch";
-          r.destination = "subresource";
-          requestList.push(r);
-          const responsePromise = createDeferredPromise();
-          fetchControllers.push(fetching({
-            request: r,
-            dispatcher: getGlobalDispatcher(),
-            processResponse(response) {
-              if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) {
-                responsePromise.reject(webidl.errors.exception({
-                  header: "Cache.addAll",
-                  message: "Received an invalid status code or the request failed."
-                }));
-              } else if (response.headersList.contains("vary")) {
-                const fieldValues = getFieldValues(response.headersList.get("vary"));
-                for (const fieldValue of fieldValues) {
-                  if (fieldValue === "*") {
-                    responsePromise.reject(webidl.errors.exception({
-                      header: "Cache.addAll",
-                      message: "invalid vary field value"
-                    }));
-                    for (const controller of fetchControllers) {
-                      controller.abort();
-                    }
-                    return;
-                  }
-                }
-              }
-            },
-            processResponseEndOfBody(response) {
-              if (response.aborted) {
-                responsePromise.reject(new DOMException("aborted", "AbortError"));
-                return;
-              }
-              responsePromise.resolve(response);
+          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;
             }
-          }));
-          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);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Cache.put" });
-        request2 = webidl.converters.RequestInfo(request2);
-        response = webidl.converters.Response(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: "Cache.put",
-            message: "Expected an http/s scheme when method is not GET"
-          });
-        }
-        const innerResponse = response[kState];
-        if (innerResponse.status === 206) {
-          throw webidl.errors.exception({
-            header: "Cache.put",
-            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: "Cache.put",
-                message: "Got * vary field value"
-              });
+          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);
         }
-        if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {
-          throw webidl.errors.exception({
-            header: "Cache.put",
-            message: "Response body is locked or disturbed"
-          });
-        }
-        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);
+      });
+      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 {
-          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;
+          frame.frameData = emptyBuffer;
         }
-        queueMicrotask(() => {
-          if (errorData === null) {
-            cacheJobPromise.resolve();
-          } else {
-            cacheJobPromise.reject(errorData);
-          }
-        });
-        return cacheJobPromise.promise;
+        const socket = ws[kResponse].socket;
+        socket.write(frame.createFrame(opcodes.CLOSE));
+        ws[kSentClose] = sentCloseFrameState.SENT;
+        ws[kReadyState] = states.CLOSING;
+      } else {
+        ws[kReadyState] = states.CLOSING;
       }
-      async delete(request2, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.delete" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(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);
-          }
+    }
+    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, (type2, init) => new CloseEvent(type2, init), {
+        wasClean,
+        code,
+        reason
+      });
+      if (channels.close.hasSubscribers) {
+        channels.close.publish({
+          websocket: ws,
+          code,
+          reason
         });
-        return cacheJobPromise.promise;
       }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys
-       * @param {any} request
-       * @param {import('../../types/cache').CacheQueryOptions} options
-       * @returns {readonly Request[]}
-       */
-      async keys(request2 = void 0, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        let r = null;
-        if (request2 !== void 0) {
-          if (request2 instanceof Request) {
-            r = request2[kState];
-            if (r.method !== "GET" && !options.ignoreMethod) {
-              return [];
+    }
+    function onSocketError(error3) {
+      const { ws } = this;
+      ws[kReadyState] = states.CLOSING;
+      if (channels.socketError.hasSubscribers) {
+        channels.socketError.publish(error3);
+      }
+      this.destroy();
+    }
+    module2.exports = {
+      establishWebSocketConnection,
+      closeWebSocketConnection
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js
+var require_permessage_deflate2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js"(exports2, module2) {
+    "use strict";
+    var { createInflateRaw, Z_DEFAULT_WINDOWBITS } = require("node:zlib");
+    var { isValidClientWindowBits } = require_util16();
+    var tail = Buffer.from([0, 0, 255, 255]);
+    var kBuffer = /* @__PURE__ */ Symbol("kBuffer");
+    var kLength = /* @__PURE__ */ 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;
             }
-          } else if (typeof request2 === "string") {
-            r = new Request(request2)[kState];
+            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);
+          });
         }
-        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]);
-          }
+        this.#inflate.write(chunk);
+        if (fin) {
+          this.#inflate.write(tail);
         }
-        queueMicrotask(() => {
-          const requestList = [];
-          for (const request3 of requests) {
-            const requestObject = new Request("https://a");
-            requestObject[kState] = request3;
-            requestObject[kHeaders][kHeadersList] = request3.headersList;
-            requestObject[kHeaders][kGuard] = "immutable";
-            requestObject[kRealm] = request3.client;
-            requestList.push(requestObject);
-          }
-          promise.resolve(Object.freeze(requestList));
+        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);
         });
-        return promise.promise;
+      }
+    };
+    module2.exports = { PerMessageDeflate };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/receiver.js
+var require_receiver2 = __commonJS({
+  "node_modules/@actions/github/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_constants10();
+    var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols10();
+    var { channels } = require_diagnostics2();
+    var {
+      isValidStatusCode,
+      isValidOpcode,
+      failWebsocketConnection,
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isTextBinaryFrame,
+      isContinuationFrame
+    } = require_util16();
+    var { WebsocketFrameSend } = require_frame2();
+    var { closeWebSocketConnection } = require_connection2();
+    var { PerMessageDeflate } = require_permessage_deflate2();
+    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));
+        }
       }
       /**
-       * @see https://w3c.github.io/ServiceWorker/#batch-cache-operations-algorithm
-       * @param {CacheBatchOperation[]} operations
-       * @returns {requestResponseList}
+       * @param {Buffer} chunk
+       * @param {() => void} callback
        */
-      #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"'
-              });
+      _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();
             }
-            if (operation.type === "delete" && operation.response != null) {
-              throw webidl.errors.exception({
-                header: "Cache.#batchCacheOperations",
-                message: "delete operation should not have an associated response"
-              });
+            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 (this.#queryCache(operation.request, operation.options, addedItems).length) {
-              throw new DOMException("???", "InvalidStateError");
+            if (masked) {
+              failWebsocketConnection(this.ws, "Frame cannot be masked");
+              return callback();
             }
-            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"
+            if (rsv1 !== 0 && !this.#extensions.has("permessage-deflate")) {
+              failWebsocketConnection(this.ws, "Expected RSV1 to be clear.");
+              return;
+            }
+            if (rsv2 !== 0 || rsv3 !== 0) {
+              failWebsocketConnection(this.ws, "RSV1, RSV2, RSV3 must be clear");
+              return;
+            }
+            if (fragmented && !isTextBinaryFrame(opcode)) {
+              failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
+              return;
+            }
+            if (isTextBinaryFrame(opcode) && this.#fragments.length > 0) {
+              failWebsocketConnection(this.ws, "Expected continuation frame");
+              return;
+            }
+            if (this.#info.fragmented && fragmented) {
+              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
+              return;
+            }
+            if ((payloadLength > 125 || fragmented) && isControlFrame(opcode)) {
+              failWebsocketConnection(this.ws, "Control frame either too large or fragmented");
+              return;
+            }
+            if (isContinuationFrame(opcode) && this.#fragments.length === 0 && !this.#info.compressed) {
+              failWebsocketConnection(this.ws, "Unexpected continuation frame");
+              return;
+            }
+            if (payloadLength <= 125) {
+              this.#info.payloadLength = payloadLength;
+              this.#state = parserStates.READ_DATA;
+            } else if (payloadLength === 126) {
+              this.#state = parserStates.PAYLOADLENGTH_16;
+            } else if (payloadLength === 127) {
+              this.#state = parserStates.PAYLOADLENGTH_64;
+            }
+            if (isTextBinaryFrame(opcode)) {
+              this.#info.binaryType = opcode;
+              this.#info.compressed = rsv1 !== 0;
+            }
+            this.#info.opcode = opcode;
+            this.#info.masked = masked;
+            this.#info.fin = fin;
+            this.#info.fragmented = fragmented;
+          } else if (this.#state === parserStates.PAYLOADLENGTH_16) {
+            if (this.#byteOffset < 2) {
+              return callback();
+            }
+            const buffer = this.consume(2);
+            this.#info.payloadLength = buffer.readUInt16BE(0);
+            this.#state = parserStates.READ_DATA;
+          } else if (this.#state === parserStates.PAYLOADLENGTH_64) {
+            if (this.#byteOffset < 8) {
+              return callback();
+            }
+            const buffer = this.consume(8);
+            const upper = buffer.readUInt32BE(0);
+            if (upper > 2 ** 31 - 1) {
+              failWebsocketConnection(this.ws, "Received payload length > 2^31 bytes.");
+              return;
+            }
+            const lower = buffer.readUInt32BE(4);
+            this.#info.payloadLength = (upper << 8) + lower;
+            this.#state = parserStates.READ_DATA;
+          } else if (this.#state === parserStates.READ_DATA) {
+            if (this.#byteOffset < this.#info.payloadLength) {
+              return callback();
+            }
+            const body = this.consume(this.#info.payloadLength);
+            if (isControlFrame(this.#info.opcode)) {
+              this.#loop = this.parseControlFrame(body);
+              this.#state = parserStates.INFO;
+            } else {
+              if (!this.#info.compressed) {
+                this.#fragments.push(body);
+                if (!this.#info.fragmented && this.#info.fin) {
+                  const fullMessage = Buffer.concat(this.#fragments);
+                  websocketMessageReceived(this.ws, this.#info.binaryType, fullMessage);
+                  this.#fragments.length = 0;
+                }
+                this.#state = parserStates.INFO;
+              } else {
+                this.#extensions.get("permessage-deflate").decompress(body, this.#info.fin, (error3, data) => {
+                  if (error3) {
+                    closeWebSocketConnection(this.ws, 1007, error3.message, error3.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;
               }
-              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}
+       * Take n bytes from the buffered Buffers
+       * @param {number} n
+       * @returns {Buffer}
        */
-      #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);
+      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;
           }
         }
-        return resultList;
+        this.#byteOffset -= n;
+        return buffer;
       }
-      /**
-       * @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 = "";
+      parseCloseBody(data) {
+        assert(data.length !== 1);
+        let code;
+        if (data.length >= 2) {
+          code = data.readUInt16BE(0);
         }
-        if (!urlEquals(queryURL, cachedURL, true)) {
-          return false;
+        if (code !== void 0 && !isValidStatusCode(code)) {
+          return { code: 1002, reason: "Invalid status code", error: true };
         }
-        if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) {
-          return true;
+        let reason = data.subarray(2);
+        if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
+          reason = reason.subarray(3);
         }
-        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;
-          }
+        try {
+          reason = utf8Decode(reason);
+        } catch {
+          return { code: 1007, reason: "Invalid UTF-8", error: true };
         }
-        return true;
-      }
-    };
-    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
+        return { code, reason, error: false };
       }
-    ]);
-    webidl.converters.Response = webidl.interfaceConverter(Response);
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.RequestInfo
-    );
-    module2.exports = {
-      Cache
-    };
-  }
-});
-
-// node_modules/undici/lib/cache/cachestorage.js
-var require_cachestorage2 = __commonJS({
-  "node_modules/undici/lib/cache/cachestorage.js"(exports2, module2) {
-    "use strict";
-    var { kConstruct } = require_symbols9();
-    var { Cache } = require_cache2();
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util10();
-    var CacheStorage = class _CacheStorage {
       /**
-       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
-       * @type {Map {
+                if (!err) {
+                  this.ws[kSentClose] = sentCloseFrameState.SENT;
+                }
+              }
+            );
+          }
+          this.ws[kReadyState] = states.CLOSING;
+          this.ws[kReceivedClose] = true;
+          return false;
+        } else if (opcode === opcodes.PING) {
+          if (!this.ws[kReceivedClose]) {
+            const frame = new WebsocketFrameSend(body);
+            this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
+            if (channels.ping.hasSubscribers) {
+              channels.ping.publish({
+                payload: body
+              });
             }
           }
+        } else if (opcode === opcodes.PONG) {
+          if (channels.pong.hasSubscribers) {
+            channels.pong.publish({
+              payload: body
+            });
+          }
         }
+        return true;
       }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#cache-storage-has
-       * @param {string} cacheName
-       * @returns {Promise}
-       */
-      async has(cacheName) {
-        webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.has" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        return this.#caches.has(cacheName);
-      }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open
-       * @param {string} cacheName
-       * @returns {Promise}
-       */
-      async open(cacheName) {
-        webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.open" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        if (this.#caches.has(cacheName)) {
-          const cache2 = this.#caches.get(cacheName);
-          return new Cache(kConstruct, cache2);
-        }
-        const 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);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.delete" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        return this.#caches.delete(cacheName);
-      }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys
-       * @returns {string[]}
-       */
-      async keys() {
-        webidl.brandCheck(this, _CacheStorage);
-        const keys = this.#caches.keys();
-        return [...keys];
+      get closingInfo() {
+        return this.#info.closeInfo;
       }
     };
-    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/cookies/constants.js
-var require_constants9 = __commonJS({
-  "node_modules/undici/lib/cookies/constants.js"(exports2, module2) {
-    "use strict";
-    var maxAttributeValueSize = 1024;
-    var maxNameValuePairSize = 4096;
     module2.exports = {
-      maxAttributeValueSize,
-      maxNameValuePairSize
+      ByteParser
     };
   }
 });
 
-// node_modules/undici/lib/cookies/util.js
-var require_util15 = __commonJS({
-  "node_modules/undici/lib/cookies/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js
+var require_sender2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js"(exports2, module2) {
     "use strict";
-    function isCTLExcludingHtab(value) {
-      if (value.length === 0) {
-        return false;
-      }
-      for (const char of value) {
-        const code = char.charCodeAt(0);
-        if (code >= 0 || code <= 8 || (code >= 10 || code <= 31) || code === 127) {
-          return false;
-        }
+    var { WebsocketFrameSend } = require_frame2();
+    var { opcodes, sendHints } = require_constants10();
+    var FixedQueue = require_fixed_queue2();
+    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;
       }
-    }
-    function validateCookieName(name) {
-      for (const char of name) {
-        const code = char.charCodeAt(0);
-        if (code <= 32 || code > 127 || char === "(" || char === ")" || char === ">" || char === "<" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}") {
-          throw new Error("Invalid cookie name");
+      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;
         }
-      }
-    }
-    function validateCookieValue(value) {
-      for (const char of value) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || // exclude CTLs (0-31)
-        code === 34 || code === 44 || code === 59 || code === 92 || code > 126) {
-          throw new Error("Invalid header value");
+        const 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();
         }
       }
-    }
-    function validateCookiePath(path3) {
-      for (const char of path3) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || char === ";") {
-          throw new Error("Invalid cookie path");
+      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 validateCookieDomain(domain) {
-      if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
-        throw new Error("Invalid cookie domain");
-      }
-    }
-    function toIMFDate(date) {
-      if (typeof date === "number") {
-        date = new Date(date);
-      }
-      const days = [
-        "Sun",
-        "Mon",
-        "Tue",
-        "Wed",
-        "Thu",
-        "Fri",
-        "Sat"
-      ];
-      const months = [
-        "Jan",
-        "Feb",
-        "Mar",
-        "Apr",
-        "May",
-        "Jun",
-        "Jul",
-        "Aug",
-        "Sep",
-        "Oct",
-        "Nov",
-        "Dec"
-      ];
-      const dayName = days[date.getUTCDay()];
-      const day = date.getUTCDate().toString().padStart(2, "0");
-      const month = months[date.getUTCMonth()];
-      const year = date.getUTCFullYear();
-      const hour = date.getUTCHours().toString().padStart(2, "0");
-      const minute = date.getUTCMinutes().toString().padStart(2, "0");
-      const second = date.getUTCSeconds().toString().padStart(2, "0");
-      return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`;
-    }
-    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("=")}`);
+    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);
       }
-      return out.join("; ");
     }
-    module2.exports = {
-      isCTLExcludingHtab,
-      validateCookieName,
-      validateCookiePath,
-      validateCookieValue,
-      toIMFDate,
-      stringify
-    };
+    module2.exports = { SendQueue };
   }
 });
 
-// node_modules/undici/lib/cookies/parse.js
-var require_parse2 = __commonJS({
-  "node_modules/undici/lib/cookies/parse.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js
+var require_websocket2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js"(exports2, module2) {
     "use strict";
-    var { maxNameValuePairSize, maxAttributeValueSize } = require_constants9();
-    var { isCTLExcludingHtab } = require_util15();
-    var { collectASequenceOfCodePointsFast } = require_dataURL();
-    var assert = require("assert");
-    function parseSetCookie(header) {
-      if (isCTLExcludingHtab(header)) {
-        return null;
-      }
-      let nameValuePair = "";
-      let unparsedAttributes = "";
-      let name = "";
-      let value = "";
-      if (header.includes(";")) {
-        const position = { position: 0 };
-        nameValuePair = collectASequenceOfCodePointsFast(";", header, position);
-        unparsedAttributes = header.slice(position.position);
-      } 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)
+    var { webidl } = require_webidl2();
+    var { URLSerializer } = require_data_url2();
+    var { environmentSettingsObject } = require_util11();
+    var { staticPropertyDescriptors, states, sentCloseFrameState, sendHints } = require_constants10();
+    var {
+      kWebSocketURL,
+      kReadyState,
+      kController,
+      kBinaryType,
+      kResponse,
+      kSentClose,
+      kByteParser
+    } = require_symbols10();
+    var {
+      isConnecting,
+      isEstablished,
+      isClosing,
+      isValidSubprotocol,
+      fireEvent
+    } = require_util16();
+    var { establishWebSocketConnection, closeWebSocketConnection } = require_connection2();
+    var { ByteParser } = require_receiver2();
+    var { kEnumerableProperty, isBlobLike } = require_util10();
+    var { getGlobalDispatcher } = require_global4();
+    var { types } = require("node:util");
+    var { ErrorEvent, CloseEvent } = require_events2();
+    var { SendQueue } = require_sender2();
+    var WebSocket = class _WebSocket extends EventTarget {
+      #events = {
+        open: null,
+        error: null,
+        close: null,
+        message: null
       };
-    }
-    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);
+      #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 (!/^\d+$/.test(attributeValue)) {
-          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
+        if (urlRecord.protocol === "http:") {
+          urlRecord.protocol = "ws:";
+        } else if (urlRecord.protocol === "https:") {
+          urlRecord.protocol = "wss:";
         }
-        const deltaSeconds = Number(attributeValue);
-        cookieAttributeList.maxAge = deltaSeconds;
-      } else if (attributeNameLowercase === "domain") {
-        let cookieDomain = attributeValue;
-        if (cookieDomain[0] === ".") {
-          cookieDomain = cookieDomain.slice(1);
+        if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") {
+          throw new DOMException(
+            `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
+            "SyntaxError"
+          );
         }
-        cookieDomain = cookieDomain.toLowerCase();
-        cookieAttributeList.domain = cookieDomain;
-      } else if (attributeNameLowercase === "path") {
-        let cookiePath = "";
-        if (attributeValue.length === 0 || attributeValue[0] !== "/") {
-          cookiePath = "/";
-        } else {
-          cookiePath = attributeValue;
+        if (urlRecord.hash || urlRecord.href.endsWith("#")) {
+          throw new DOMException("Got fragment", "SyntaxError");
         }
-        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 (typeof protocols === "string") {
+          protocols = [protocols];
         }
-        if (attributeValueLowercase.includes("strict")) {
-          enforcement = "Strict";
+        if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
+          throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
         }
-        if (attributeValueLowercase.includes("lax")) {
-          enforcement = "Lax";
+        if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
+          throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
         }
-        cookieAttributeList.sameSite = enforcement;
-      } else {
-        cookieAttributeList.unparsed ??= [];
-        cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`);
-      }
-      return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
-    }
-    module2.exports = {
-      parseSetCookie,
-      parseUnparsedAttributes
-    };
-  }
-});
-
-// node_modules/undici/lib/cookies/index.js
-var require_cookies2 = __commonJS({
-  "node_modules/undici/lib/cookies/index.js"(exports2, module2) {
-    "use strict";
-    var { parseSetCookie } = require_parse2();
-    var { stringify } = require_util15();
-    var { webidl } = require_webidl2();
-    var { Headers } = require_headers2();
-    function getCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "getCookies" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      const cookie = headers.get("cookie");
-      const out = {};
-      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.argumentLengthCheck(arguments, 2, { header: "deleteCookie" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      name = webidl.converters.DOMString(name);
-      attributes = webidl.converters.DeleteCookieAttributes(attributes);
-      setCookie(headers, {
-        name,
-        value: "",
-        expires: /* @__PURE__ */ new Date(0),
-        ...attributes
-      });
-    }
-    function getSetCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "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, { header: "setCookie" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      cookie = webidl.converters.Cookie(cookie);
-      const str2 = stringify(cookie);
-      if (str2) {
-        headers.append("Set-Cookie", stringify(cookie));
-      }
-    }
-    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
+        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";
       }
-    ]);
-    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);
+      /**
+       * @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"
+            );
           }
-          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: []
+        }
+        closeWebSocketConnection(this, code, reason, reasonByteLength);
       }
-    ]);
-    module2.exports = {
-      getCookies,
-      deleteCookie,
-      getSetCookies,
-      setCookie
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/constants.js
-var require_constants10 = __commonJS({
-  "node_modules/undici/lib/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 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);
-    module2.exports = {
-      uid,
-      staticPropertyDescriptors,
-      states,
-      opcodes,
-      maxUnsigned16Bit,
-      parserStates,
-      emptyBuffer
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/symbols.js
-var require_symbols10 = __commonJS({
-  "node_modules/undici/lib/websocket/symbols.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
-      kReadyState: /* @__PURE__ */ Symbol("ready state"),
-      kController: /* @__PURE__ */ Symbol("controller"),
-      kResponse: /* @__PURE__ */ Symbol("response"),
-      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
-      kSentClose: /* @__PURE__ */ Symbol("sent close"),
-      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
-      kByteParser: /* @__PURE__ */ Symbol("byte parser")
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/events.js
-var require_events2 = __commonJS({
-  "node_modules/undici/lib/websocket/events.js"(exports2, module2) {
-    "use strict";
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util10();
-    var { MessagePort } = require("worker_threads");
-    var MessageEvent = class _MessageEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.MessageEventInit(eventInitDict);
-        super(type2, eventInitDict);
-        this.#eventInit = eventInitDict;
+      /**
+       * @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 data() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.data;
+      get readyState() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kReadyState];
       }
-      get origin() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.origin;
+      get bufferedAmount() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#bufferedAmount;
       }
-      get lastEventId() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.lastEventId;
+      get url() {
+        webidl.brandCheck(this, _WebSocket);
+        return URLSerializer(this[kWebSocketURL]);
       }
-      get source() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.source;
+      get extensions() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#extensions;
       }
-      get ports() {
-        webidl.brandCheck(this, _MessageEvent);
-        if (!Object.isFrozen(this.#eventInit.ports)) {
-          Object.freeze(this.#eventInit.ports);
-        }
-        return this.#eventInit.ports;
+      get protocol() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#protocol;
       }
-      initMessageEvent(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
-        webidl.brandCheck(this, _MessageEvent);
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent.initMessageEvent" });
-        return new _MessageEvent(type2, {
-          bubbles,
-          cancelable,
-          data,
-          origin,
-          lastEventId,
-          source,
-          ports
-        });
+      get onopen() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.open;
       }
-    };
-    var CloseEvent = class _CloseEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
-        super(type2, eventInitDict);
-        this.#eventInit = eventInitDict;
+      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 wasClean() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.wasClean;
+      get onerror() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.error;
       }
-      get code() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.code;
+      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 reason() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.reason;
+      get onclose() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.close;
       }
-    };
-    var ErrorEvent = class _ErrorEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" });
-        super(type2, eventInitDict);
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});
-        this.#eventInit = eventInitDict;
+      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 message() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.message;
+      get onmessage() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.message;
       }
-      get filename() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.filename;
+      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 lineno() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.lineno;
+      get binaryType() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kBinaryType];
       }
-      get colno() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.colno;
+      set binaryType(type2) {
+        webidl.brandCheck(this, _WebSocket);
+        if (type2 !== "blob" && type2 !== "arraybuffer") {
+          this[kBinaryType] = "blob";
+        } else {
+          this[kBinaryType] = type2;
+        }
       }
-      get error() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.error;
+      /**
+       * @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);
       }
     };
-    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, {
+    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: "CloseEvent",
+        value: "WebSocket",
+        writable: false,
+        enumerable: false,
         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
+    Object.defineProperties(WebSocket, {
+      CONNECTING: staticPropertyDescriptors,
+      OPEN: staticPropertyDescriptors,
+      CLOSING: staticPropertyDescriptors,
+      CLOSED: staticPropertyDescriptors
     });
-    webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort);
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.MessagePort
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.DOMString
     );
-    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"],
-        get defaultValue() {
-          return [];
-        }
-      }
-    ]);
-    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["DOMString or sequence"] = function(V, prefix, argument) {
+      if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
+        return webidl.converters["sequence"](V);
       }
-    ]);
-    webidl.converters.ErrorEventInit = webidl.dictionaryConverter([
-      ...eventInit,
-      {
-        key: "message",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "filename",
-        converter: webidl.converters.USVString,
-        defaultValue: ""
-      },
+      return webidl.converters.DOMString(V, prefix, argument);
+    };
+    webidl.converters.WebSocketInit = webidl.dictionaryConverter([
       {
-        key: "lineno",
-        converter: webidl.converters["unsigned long"],
-        defaultValue: 0
+        key: "protocols",
+        converter: webidl.converters["DOMString or sequence"],
+        defaultValue: () => new Array(0)
       },
       {
-        key: "colno",
-        converter: webidl.converters["unsigned long"],
-        defaultValue: 0
+        key: "dispatcher",
+        converter: webidl.converters.any,
+        defaultValue: () => getGlobalDispatcher()
       },
       {
-        key: "error",
-        converter: webidl.converters.any
-      }
-    ]);
-    module2.exports = {
-      MessageEvent,
-      CloseEvent,
-      ErrorEvent
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/util.js
-var require_util16 = __commonJS({
-  "node_modules/undici/lib/websocket/util.js"(exports2, module2) {
-    "use strict";
-    var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols10();
-    var { states, opcodes } = require_constants10();
-    var { MessageEvent, ErrorEvent } = require_events2();
-    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, eventConstructor = Event, eventInitDict) {
-      const event = new eventConstructor(e, eventInitDict);
-      target.dispatchEvent(event);
-    }
-    function websocketMessageReceived(ws, type2, data) {
-      if (ws[kReadyState] !== states.OPEN) {
-        return;
-      }
-      let dataForEvent;
-      if (type2 === opcodes.TEXT) {
-        try {
-          dataForEvent = new TextDecoder("utf-8", { fatal: true }).decode(data);
-        } catch {
-          failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
-          return;
-        }
-      } else if (type2 === opcodes.BINARY) {
-        if (ws[kBinaryType] === "blob") {
-          dataForEvent = new Blob([data]);
-        } else {
-          dataForEvent = new Uint8Array(data).buffer;
-        }
+        key: "headers",
+        converter: webidl.nullableConverter(webidl.converters.HeadersInit)
       }
-      fireEvent("message", ws, MessageEvent, {
-        origin: ws[kWebSocketURL].origin,
-        data: dataForEvent
-      });
-    }
-    function isValidSubprotocol(protocol) {
-      if (protocol.length === 0) {
-        return false;
+    ]);
+    webidl.converters["DOMString or sequence or WebSocketInit"] = function(V) {
+      if (webidl.util.Type(V) === "Object" && !(Symbol.iterator in V)) {
+        return webidl.converters.WebSocketInit(V);
       }
-      for (const char of protocol) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || code > 126 || char === "(" || char === ")" || char === "<" || char === ">" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}" || code === 32 || // SP
-        code === 9) {
-          return false;
+      return { 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 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;
+      return webidl.converters.USVString(V);
+    };
+    function onParserDrain() {
+      this.ws[kResponse].socket.resume();
     }
-    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, ErrorEvent, {
-          error: new Error(reason)
-        });
+    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 = {
-      isEstablished,
-      isClosing,
-      isClosed,
-      fireEvent,
-      isValidSubprotocol,
-      isValidStatusCode,
-      failWebsocketConnection,
-      websocketMessageReceived
+      WebSocket
     };
   }
 });
 
-// node_modules/undici/lib/websocket/connection.js
-var require_connection2 = __commonJS({
-  "node_modules/undici/lib/websocket/connection.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js
+var require_util17 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js"(exports2, module2) {
     "use strict";
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { uid, states } = require_constants10();
-    var {
-      kReadyState,
-      kSentClose,
-      kByteParser,
-      kReceivedClose
-    } = require_symbols10();
-    var { fireEvent, failWebsocketConnection } = require_util16();
-    var { CloseEvent } = require_events2();
-    var { makeRequest } = require_request4();
-    var { fetching } = require_fetch2();
-    var { Headers } = require_headers2();
-    var { getGlobalDispatcher } = require_global4();
-    var { kHeadersList } = require_symbols6();
-    var channels = {};
-    channels.open = diagnosticsChannel.channel("undici:websocket:open");
-    channels.close = diagnosticsChannel.channel("undici:websocket:close");
-    channels.socketError = diagnosticsChannel.channel("undici:websocket:socket_error");
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-    } catch {
-    }
-    function establishWebSocketConnection(url, protocols, ws, onEstablish, options) {
-      const requestURL = url;
-      requestURL.protocol = url.protocol === "ws:" ? "http:" : "https:";
-      const request2 = makeRequest({
-        urlList: [requestURL],
-        serviceWorkers: "none",
-        referrer: "no-referrer",
-        mode: "websocket",
-        credentials: "include",
-        cache: "no-store",
-        redirect: "error"
-      });
-      if (options.headers) {
-        const headersList = new Headers(options.headers)[kHeadersList];
-        request2.headersList = headersList;
-      }
-      const keyValue = crypto2.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 = "";
-      const controller = fetching({
-        request: request2,
-        useParallelQueue: true,
-        dispatcher: options.dispatcher ?? getGlobalDispatcher(),
-        processResponse(response) {
-          if (response.type === "error" || response.status !== 101) {
-            failWebsocketConnection(ws, "Received network error or non-101 status code.");
-            return;
-          }
-          if (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 = crypto2.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");
-          if (secExtension !== null && secExtension !== permessageDeflate) {
-            failWebsocketConnection(ws, "Received different permessage-deflate than the one set.");
-            return;
-          }
-          const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");
-          if (secProtocol !== null && secProtocol !== request2.headersList.get("Sec-WebSocket-Protocol")) {
-            failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");
-            return;
-          }
-          response.socket.on("data", onSocketData);
-          response.socket.on("close", onSocketClose);
-          response.socket.on("error", onSocketError);
-          if (channels.open.hasSubscribers) {
-            channels.open.publish({
-              address: response.socket.address(),
-              protocol: secProtocol,
-              extensions: secExtension
-            });
-          }
-          onEstablish(response);
-        }
-      });
-      return controller;
+    function isValidLastEventId(value) {
+      return value.indexOf("\0") === -1;
     }
-    function onSocketData(chunk) {
-      if (!this.ws[kByteParser].write(chunk)) {
-        this.pause();
+    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 onSocketClose() {
-      const { ws } = this;
-      const wasClean = ws[kSentClose] && ws[kReceivedClose];
-      let code = 1005;
-      let reason = "";
-      const result = ws[kByteParser].closingInfo;
-      if (result) {
-        code = result.code ?? 1005;
-        reason = result.reason;
-      } else if (!ws[kSentClose]) {
-        code = 1006;
-      }
-      ws[kReadyState] = states.CLOSED;
-      fireEvent("close", ws, CloseEvent, {
-        wasClean,
-        code,
-        reason
+    function delay2(ms) {
+      return new Promise((resolve2) => {
+        setTimeout(resolve2, ms).unref();
       });
-      if (channels.close.hasSubscribers) {
-        channels.close.publish({
-          websocket: ws,
-          code,
-          reason
-        });
-      }
-    }
-    function onSocketError(error3) {
-      const { ws } = this;
-      ws[kReadyState] = states.CLOSING;
-      if (channels.socketError.hasSubscribers) {
-        channels.socketError.publish(error3);
-      }
-      this.destroy();
     }
     module2.exports = {
-      establishWebSocketConnection
+      isValidLastEventId,
+      isASCIINumber,
+      delay: delay2
     };
   }
 });
 
-// node_modules/undici/lib/websocket/frame.js
-var require_frame2 = __commonJS({
-  "node_modules/undici/lib/websocket/frame.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js
+var require_eventsource_stream2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js"(exports2, module2) {
     "use strict";
-    var { maxUnsigned16Bit } = require_constants10();
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-    } catch {
-    }
-    var WebsocketFrameSend = class {
+    var { Transform } = require("node:stream");
+    var { isASCIINumber, isValidLastEventId } = require_util17();
+    var BOM = [239, 187, 191];
+    var LF = 10;
+    var CR = 13;
+    var COLON = 58;
+    var SPACE = 32;
+    var EventSourceStream = class extends Transform {
       /**
-       * @param {Buffer|undefined} data
+       * @type {eventSourceSettings}
        */
-      constructor(data) {
-        this.frameData = data;
-        this.maskKey = crypto2.randomBytes(4);
-      }
-      createFrame(opcode) {
-        const bodyLength = this.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 buffer = Buffer.allocUnsafe(bodyLength + offset);
-        buffer[0] = buffer[1] = 0;
-        buffer[0] |= 128;
-        buffer[0] = (buffer[0] & 240) + opcode;
-        buffer[offset - 4] = this.maskKey[0];
-        buffer[offset - 3] = this.maskKey[1];
-        buffer[offset - 2] = this.maskKey[2];
-        buffer[offset - 1] = this.maskKey[3];
-        buffer[1] = payloadLength;
-        if (payloadLength === 126) {
-          buffer.writeUInt16BE(bodyLength, 2);
-        } else if (payloadLength === 127) {
-          buffer[2] = buffer[3] = 0;
-          buffer.writeUIntBE(bodyLength, 4, 6);
-        }
-        buffer[1] |= 128;
-        for (let i = 0; i < bodyLength; i++) {
-          buffer[offset + i] = this.frameData[i] ^ this.maskKey[i % 4];
-        }
-        return buffer;
-      }
-    };
-    module2.exports = {
-      WebsocketFrameSend
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/receiver.js
-var require_receiver2 = __commonJS({
-  "node_modules/undici/lib/websocket/receiver.js"(exports2, module2) {
-    "use strict";
-    var { Writable } = require("stream");
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { parserStates, opcodes, states, emptyBuffer } = require_constants10();
-    var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols10();
-    var { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require_util16();
-    var { WebsocketFrameSend } = require_frame2();
-    var channels = {};
-    channels.ping = diagnosticsChannel.channel("undici:websocket:ping");
-    channels.pong = diagnosticsChannel.channel("undici:websocket:pong");
-    var ByteParser = class extends Writable {
-      #buffers = [];
-      #byteOffset = 0;
-      #state = parserStates.INFO;
-      #info = {};
-      #fragments = [];
-      constructor(ws) {
-        super();
-        this.ws = ws;
-      }
+      state = null;
       /**
-       * @param {Buffer} chunk
-       * @param {() => void} callback
+       * Leading byte-order-mark check.
+       * @type {boolean}
        */
-      _write(chunk, _, callback) {
-        this.#buffers.push(chunk);
-        this.#byteOffset += chunk.length;
-        this.run(callback);
+      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;
+        }
       }
       /**
-       * 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.
+       * @param {Buffer} chunk
+       * @param {string} _encoding
+       * @param {Function} callback
+       * @returns {void}
        */
-      run(callback) {
-        while (true) {
-          if (this.#state === parserStates.INFO) {
-            if (this.#byteOffset < 2) {
-              return callback();
-            }
-            const buffer = this.consume(2);
-            this.#info.fin = (buffer[0] & 128) !== 0;
-            this.#info.opcode = buffer[0] & 15;
-            this.#info.originalOpcode ??= this.#info.opcode;
-            this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION;
-            if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) {
-              failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
-              return;
-            }
-            const payloadLength = buffer[1] & 127;
-            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 (this.#info.fragmented && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
-              return;
-            } else if ((this.#info.opcode === opcodes.PING || this.#info.opcode === opcodes.PONG || this.#info.opcode === opcodes.CLOSE) && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Payload length for control frame exceeded 125 bytes.");
-              return;
-            } else if (this.#info.opcode === opcodes.CLOSE) {
-              if (payloadLength === 1) {
-                failWebsocketConnection(this.ws, "Received close frame with a 1-byte body.");
+      _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;
               }
-              const body = this.consume(payloadLength);
-              this.#info.closeInfo = this.parseCloseBody(false, body);
-              if (!this.ws[kSentClose]) {
-                const body2 = Buffer.allocUnsafe(2);
-                body2.writeUInt16BE(this.#info.closeInfo.code, 0);
-                const closeFrame = new WebsocketFrameSend(body2);
-                this.ws[kResponse].socket.write(
-                  closeFrame.createFrame(opcodes.CLOSE),
-                  (err) => {
-                    if (!err) {
-                      this.ws[kSentClose] = true;
-                    }
-                  }
-                );
-              }
-              this.ws[kReadyState] = states.CLOSING;
-              this.ws[kReceivedClose] = true;
-              this.end();
+              this.checkBOM = false;
+              callback();
               return;
-            } else if (this.#info.opcode === opcodes.PING) {
-              const body = this.consume(payloadLength);
-              if (!this.ws[kReceivedClose]) {
-                const frame = new WebsocketFrameSend(body);
-                this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
-                if (channels.ping.hasSubscribers) {
-                  channels.ping.publish({
-                    payload: body
-                  });
-                }
+            case 2:
+              if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1]) {
+                callback();
+                return;
               }
-              this.#state = parserStates.INFO;
-              if (this.#byteOffset > 0) {
-                continue;
-              } else {
+              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;
               }
-            } else if (this.#info.opcode === opcodes.PONG) {
-              const body = this.consume(payloadLength);
-              if (channels.pong.hasSubscribers) {
-                channels.pong.publish({
-                  payload: body
-                });
+              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);
               }
-              if (this.#byteOffset > 0) {
+              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;
-              } else {
-                callback();
-                return;
               }
+              this.crlfCheck = false;
             }
-          } 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();
-            } else if (this.#byteOffset >= this.#info.payloadLength) {
-              const body = this.consume(this.#info.payloadLength);
-              this.#fragments.push(body);
-              if (!this.#info.fragmented || this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) {
-                const fullMessage = Buffer.concat(this.#fragments);
-                websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage);
-                this.#info = {};
-                this.#fragments.length = 0;
+            if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) {
+              if (this.buffer[this.pos] === CR) {
+                this.crlfCheck = true;
               }
-              this.#state = parserStates.INFO;
+              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.#byteOffset > 0) {
+          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;
-          } else {
-            callback();
-            break;
           }
+          this.pos++;
         }
+        callback();
       }
       /**
-       * Take n bytes from the buffered Buffers
-       * @param {number} n
-       * @returns {Buffer|null}
+       * @param {Buffer} line
+       * @param {EventStreamEvent} event
        */
-      consume(n) {
-        if (n > this.#byteOffset) {
-          return null;
-        } else if (n === 0) {
-          return emptyBuffer;
+      parseLine(line, event) {
+        if (line.length === 0) {
+          return;
         }
-        if (this.#buffers[0].length === n) {
-          this.#byteOffset -= this.#buffers[0].length;
-          return this.#buffers.shift();
+        const colonPosition = line.indexOf(COLON);
+        if (colonPosition === 0) {
+          return;
         }
-        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);
+        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;
-          } else if (length + offset > n) {
-            buffer.set(next.subarray(0, n - offset), offset);
-            this.#buffers[0] = next.subarray(n - offset);
+          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;
-          } else {
-            buffer.set(this.#buffers.shift(), offset);
-            offset += next.length;
-          }
         }
-        this.#byteOffset -= n;
-        return buffer;
       }
-      parseCloseBody(onlyCode, data) {
-        let code;
-        if (data.length >= 2) {
-          code = data.readUInt16BE(0);
-        }
-        if (onlyCode) {
-          if (!isValidStatusCode(code)) {
-            return null;
-          }
-          return { code };
-        }
-        let reason = data.subarray(2);
-        if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
-          reason = reason.subarray(3);
+      /**
+       * @param {EventSourceStreamEvent} event
+       */
+      processEvent(event) {
+        if (event.retry && isASCIINumber(event.retry)) {
+          this.state.reconnectionTime = parseInt(event.retry, 10);
         }
-        if (code !== void 0 && !isValidStatusCode(code)) {
-          return null;
+        if (event.id && isValidLastEventId(event.id)) {
+          this.state.lastEventId = event.id;
         }
-        try {
-          reason = new TextDecoder("utf-8", { fatal: true }).decode(reason);
-        } catch {
-          return null;
+        if (event.data !== void 0) {
+          this.push({
+            type: event.event || "message",
+            options: {
+              data: event.data,
+              lastEventId: this.state.lastEventId,
+              origin: this.state.origin
+            }
+          });
         }
-        return { code, reason };
       }
-      get closingInfo() {
-        return this.#info.closeInfo;
+      clearEvent() {
+        this.event = {
+          data: void 0,
+          event: void 0,
+          id: void 0,
+          retry: void 0
+        };
       }
     };
     module2.exports = {
-      ByteParser
+      EventSourceStream
     };
   }
 });
 
-// node_modules/undici/lib/websocket/websocket.js
-var require_websocket2 = __commonJS({
-  "node_modules/undici/lib/websocket/websocket.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js
+var require_eventsource2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js"(exports2, module2) {
     "use strict";
+    var { pipeline } = require("node:stream");
+    var { fetching } = require_fetch2();
+    var { makeRequest } = require_request4();
     var { webidl } = require_webidl2();
-    var { DOMException: DOMException2 } = require_constants7();
-    var { URLSerializer } = require_dataURL();
-    var { getGlobalOrigin } = require_global3();
-    var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require_constants10();
-    var {
-      kWebSocketURL,
-      kReadyState,
-      kController,
-      kBinaryType,
-      kResponse,
-      kSentClose,
-      kByteParser
-    } = require_symbols10();
-    var { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require_util16();
-    var { establishWebSocketConnection } = require_connection2();
-    var { WebsocketFrameSend } = require_frame2();
-    var { ByteParser } = require_receiver2();
-    var { kEnumerableProperty, isBlobLike } = require_util10();
-    var { getGlobalDispatcher } = require_global4();
-    var { types } = require("util");
+    var { EventSourceStream } = require_eventsource_stream2();
+    var { parseMIMEType } = require_data_url2();
+    var { createFastMessageEvent } = require_events2();
+    var { isNetworkError } = require_response2();
+    var { delay: delay2 } = require_util17();
+    var { kEnumerableProperty } = require_util10();
+    var { environmentSettingsObject } = require_util11();
     var experimentalWarned = false;
-    var WebSocket = class _WebSocket extends EventTarget {
+    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,
-        close: null,
         message: null
       };
-      #bufferedAmount = 0;
-      #protocol = "";
-      #extensions = "";
+      #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 {string|string[]} protocols
+       * @param {EventSourceInit} [eventSourceInitDict]
+       * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#the-eventsource-interface
        */
-      constructor(url, protocols = []) {
+      constructor(url, eventSourceInitDict = {}) {
         super();
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket constructor" });
+        webidl.util.markAsUncloneable(this);
+        const prefix = "EventSource constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
         if (!experimentalWarned) {
           experimentalWarned = true;
-          process.emitWarning("WebSockets are experimental, expect them to change at any time.", {
-            code: "UNDICI-WS"
+          process.emitWarning("EventSource is experimental, expect them to change at any time.", {
+            code: "UNDICI-ES"
           });
         }
-        const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols);
-        url = webidl.converters.USVString(url);
-        protocols = options.protocols;
-        const baseURL = getGlobalOrigin();
+        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, baseURL);
+          urlRecord = new URL(url, settings.settingsObject.baseUrl);
+          this.#state.origin = urlRecord.origin;
         } catch (e) {
-          throw new DOMException2(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 DOMException2(
-            `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
-            "SyntaxError"
-          );
-        }
-        if (urlRecord.hash || urlRecord.href.endsWith("#")) {
-          throw new DOMException2("Got fragment", "SyntaxError");
-        }
-        if (typeof protocols === "string") {
-          protocols = [protocols];
-        }
-        if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
-          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+          throw new DOMException(e, "SyntaxError");
         }
-        if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
-          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+        this.#url = urlRecord.href;
+        let corsAttributeState = ANONYMOUS;
+        if (eventSourceInitDict.withCredentials) {
+          corsAttributeState = USE_CREDENTIALS;
+          this.#withCredentials = true;
         }
-        this[kWebSocketURL] = new URL(urlRecord.href);
-        this[kController] = establishWebSocketConnection(
-          urlRecord,
-          protocols,
-          this,
-          (response) => this.#onConnectionEstablished(response),
-          options
-        );
-        this[kReadyState] = _WebSocket.CONNECTING;
-        this[kBinaryType] = "blob";
+        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();
       }
       /**
-       * @see https://websockets.spec.whatwg.org/#dom-websocket-close
-       * @param {number|undefined} code
-       * @param {string|undefined} reason
+       * Returns the state of this EventSource object's connection. It can have the
+       * values described below.
+       * @returns {0|1|2}
+       * @readonly
        */
-      close(code = void 0, reason = void 0) {
-        webidl.brandCheck(this, _WebSocket);
-        if (code !== void 0) {
-          code = webidl.converters["unsigned short"](code, { clamp: true });
-        }
-        if (reason !== void 0) {
-          reason = webidl.converters.USVString(reason);
-        }
-        if (code !== void 0) {
-          if (code !== 1e3 && (code < 3e3 || code > 4999)) {
-            throw new DOMException2("invalid code", "InvalidAccessError");
+      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();
           }
-        }
-        let reasonByteLength = 0;
-        if (reason !== void 0) {
-          reasonByteLength = Buffer.byteLength(reason);
-          if (reasonByteLength > 123) {
-            throw new DOMException2(
-              `Reason must be less than 123 bytes; received ${reasonByteLength}`,
-              "SyntaxError"
-            );
+          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;
+            }
           }
-        }
-        if (this[kReadyState] === _WebSocket.CLOSING || this[kReadyState] === _WebSocket.CLOSED) {
-        } else if (!isEstablished(this)) {
-          failWebsocketConnection(this, "Connection was closed before it was established.");
-          this[kReadyState] = _WebSocket.CLOSING;
-        } else if (!isClosing(this)) {
-          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 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;
           }
-          const socket = this[kResponse].socket;
-          socket.write(frame.createFrame(opcodes.CLOSE), (err) => {
-            if (!err) {
-              this[kSentClose] = true;
+          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
+              ));
             }
           });
-          this[kReadyState] = states.CLOSING;
-        } else {
-          this[kReadyState] = _WebSocket.CLOSING;
-        }
+          pipeline(
+            response.body.stream,
+            eventSourceStream,
+            (error3) => {
+              if (error3?.aborted === false) {
+                this.close();
+                this.dispatchEvent(new Event("error"));
+              }
+            }
+          );
+        };
+        this.#controller = fetching(fetchParams);
       }
       /**
-       * @see https://websockets.spec.whatwg.org/#dom-websocket-send
-       * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data
+       * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#sse-processing-model
+       * @returns {Promise}
        */
-      send(data) {
-        webidl.brandCheck(this, _WebSocket);
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" });
-        data = webidl.converters.WebSocketSendData(data);
-        if (this[kReadyState] === _WebSocket.CONNECTING) {
-          throw new DOMException2("Sent before connected.", "InvalidStateError");
-        }
-        if (!isEstablished(this) || isClosing(this)) {
-          return;
-        }
-        const socket = this[kResponse].socket;
-        if (typeof data === "string") {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.TEXT);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
-        } else if (types.isArrayBuffer(data)) {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
-        } else if (ArrayBuffer.isView(data)) {
-          const ab = Buffer.from(data, data.byteOffset, data.byteLength);
-          const frame = new WebsocketFrameSend(ab);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += ab.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= ab.byteLength;
-          });
-        } else if (isBlobLike(data)) {
-          const frame = new WebsocketFrameSend();
-          data.arrayBuffer().then((ab) => {
-            const value = Buffer.from(ab);
-            frame.frameData = value;
-            const buffer = frame.createFrame(opcodes.BINARY);
-            this.#bufferedAmount += value.byteLength;
-            socket.write(buffer, () => {
-              this.#bufferedAmount -= value.byteLength;
-            });
-          });
+      async #reconnect() {
+        if (this.#readyState === CLOSED) return;
+        this.#readyState = CONNECTING;
+        this.dispatchEvent(new Event("error"));
+        await delay2(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();
       }
-      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;
+      /**
+       * 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() {
-        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);
         }
@@ -55782,44 +57359,10 @@ var require_websocket2 = __commonJS({
           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);
         }
@@ -55830,137 +57373,87 @@ var require_websocket2 = __commonJS({
           this.#events.message = null;
         }
       }
-      get binaryType() {
-        webidl.brandCheck(this, _WebSocket);
-        return this[kBinaryType];
+      get onerror() {
+        return this.#events.error;
       }
-      set binaryType(type2) {
-        webidl.brandCheck(this, _WebSocket);
-        if (type2 !== "blob" && type2 !== "arraybuffer") {
-          this[kBinaryType] = "blob";
+      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[kBinaryType] = type2;
+          this.#events.error = null;
         }
       }
-      /**
-       * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
-       */
-      #onConnectionEstablished(response) {
-        this[kResponse] = response;
-        const parser = new ByteParser(this);
-        parser.on("drain", function onParserDrain() {
-          this.ws[kResponse].socket.resume();
-        });
-        response.socket.ws = this;
-        this[kByteParser] = parser;
-        this[kReadyState] = states.OPEN;
-        const extensions = response.headersList.get("sec-websocket-extensions");
-        if (extensions !== null) {
-          this.#extensions = extensions;
-        }
-        const protocol = response.headersList.get("sec-websocket-protocol");
-        if (protocol !== null) {
-          this.#protocol = protocol;
-        }
-        fireEvent("open", this);
+    };
+    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
       }
     };
-    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,
+    Object.defineProperties(EventSource, constantsPropertyDescriptors);
+    Object.defineProperties(EventSource.prototype, constantsPropertyDescriptors);
+    Object.defineProperties(EventSource.prototype, {
       close: kEnumerableProperty,
+      onerror: 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
+      onopen: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      url: kEnumerableProperty,
+      withCredentials: kEnumerableProperty
     });
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.DOMString
-    );
-    webidl.converters["DOMString or sequence"] = function(V) {
-      if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
-        return webidl.converters["sequence"](V);
-      }
-      return webidl.converters.DOMString(V);
-    };
-    webidl.converters.WebSocketInit = webidl.dictionaryConverter([
+    webidl.converters.EventSourceInitDict = webidl.dictionaryConverter([
       {
-        key: "protocols",
-        converter: webidl.converters["DOMString or sequence"],
-        get defaultValue() {
-          return [];
-        }
+        key: "withCredentials",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
       },
       {
         key: "dispatcher",
-        converter: (V) => V,
-        get defaultValue() {
-          return getGlobalDispatcher();
-        }
-      },
-      {
-        key: "headers",
-        converter: webidl.nullableConverter(webidl.converters.HeadersInit)
+        // undici only
+        converter: webidl.converters.any
       }
     ]);
-    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.isAnyArrayBuffer(V)) {
-          return webidl.converters.BufferSource(V);
-        }
-      }
-      return webidl.converters.USVString(V);
-    };
     module2.exports = {
-      WebSocket
+      EventSource,
+      defaultReconnectionTime
     };
   }
 });
 
-// node_modules/undici/index.js
+// node_modules/@actions/github/node_modules/undici/index.js
 var require_undici2 = __commonJS({
-  "node_modules/undici/index.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/index.js"(exports2, module2) {
     "use strict";
     var Client = require_client2();
     var Dispatcher = require_dispatcher2();
-    var errors = require_errors2();
     var Pool = require_pool2();
     var BalancedPool = require_balanced_pool2();
     var Agent = require_agent2();
+    var ProxyAgent = require_proxy_agent2();
+    var EnvHttpProxyAgent = require_env_http_proxy_agent2();
+    var RetryAgent = require_retry_agent2();
+    var errors = require_errors2();
     var util = require_util10();
     var { InvalidArgumentError } = errors;
     var api = require_api2();
@@ -55969,19 +57462,11 @@ var require_undici2 = __commonJS({
     var MockAgent = require_mock_agent2();
     var MockPool = require_mock_pool2();
     var mockErrors = require_mock_errors2();
-    var ProxyAgent = require_proxy_agent2();
-    var RetryHandler = require_RetryHandler();
+    var RetryHandler = require_retry_handler2();
     var { getGlobalDispatcher, setGlobalDispatcher } = require_global4();
-    var DecoratorHandler = require_DecoratorHandler();
-    var RedirectHandler = require_RedirectHandler();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var hasCrypto;
-    try {
-      require("crypto");
-      hasCrypto = true;
-    } catch {
-      hasCrypto = false;
-    }
+    var DecoratorHandler = require_decorator_handler2();
+    var RedirectHandler = require_redirect_handler2();
+    var createRedirectInterceptor = require_redirect_interceptor2();
     Object.assign(Dispatcher.prototype, api);
     module2.exports.Dispatcher = Dispatcher;
     module2.exports.Client = Client;
@@ -55989,12 +57474,24 @@ var require_undici2 = __commonJS({
     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_redirect2(),
+      retry: require_retry2(),
+      dump: require_dump2(),
+      dns: require_dns2()
+    };
     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") {
@@ -56036,48 +57533,42 @@ var require_undici2 = __commonJS({
     }
     module2.exports.setGlobalDispatcher = setGlobalDispatcher;
     module2.exports.getGlobalDispatcher = getGlobalDispatcher;
-    if (util.nodeMajor > 16 || util.nodeMajor === 16 && util.nodeMinor >= 8) {
-      let fetchImpl = null;
-      module2.exports.fetch = async function fetch(resource) {
-        if (!fetchImpl) {
-          fetchImpl = require_fetch2().fetch;
-        }
-        try {
-          return await fetchImpl(...arguments);
-        } catch (err) {
-          if (typeof err === "object") {
-            Error.captureStackTrace(err, this);
-          }
-          throw err;
+    var fetchImpl = require_fetch2().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);
         }
-      };
-      module2.exports.Headers = require_headers2().Headers;
-      module2.exports.Response = require_response2().Response;
-      module2.exports.Request = require_request4().Request;
-      module2.exports.FormData = require_formdata2().FormData;
-      module2.exports.File = require_file2().File;
-      module2.exports.FileReader = require_filereader2().FileReader;
-      const { setGlobalOrigin, getGlobalOrigin } = require_global3();
-      module2.exports.setGlobalOrigin = setGlobalOrigin;
-      module2.exports.getGlobalOrigin = getGlobalOrigin;
-      const { CacheStorage } = require_cachestorage2();
-      const { kConstruct } = require_symbols9();
-      module2.exports.caches = new CacheStorage(kConstruct);
-    }
-    if (util.nodeMajor >= 16) {
-      const { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
-      module2.exports.deleteCookie = deleteCookie;
-      module2.exports.getCookies = getCookies;
-      module2.exports.getSetCookies = getSetCookies;
-      module2.exports.setCookie = setCookie;
-      const { parseMIMEType, serializeAMimeType } = require_dataURL();
-      module2.exports.parseMIMEType = parseMIMEType;
-      module2.exports.serializeAMimeType = serializeAMimeType;
-    }
-    if (util.nodeMajor >= 18 && hasCrypto) {
-      const { WebSocket } = require_websocket2();
-      module2.exports.WebSocket = WebSocket;
-    }
+        throw err;
+      }
+    };
+    module2.exports.Headers = require_headers2().Headers;
+    module2.exports.Response = require_response2().Response;
+    module2.exports.Request = require_request4().Request;
+    module2.exports.FormData = require_formdata2().FormData;
+    module2.exports.File = globalThis.File ?? require("node:buffer").File;
+    module2.exports.FileReader = require_filereader2().FileReader;
+    var { setGlobalOrigin, getGlobalOrigin } = require_global3();
+    module2.exports.setGlobalOrigin = setGlobalOrigin;
+    module2.exports.getGlobalOrigin = getGlobalOrigin;
+    var { CacheStorage } = require_cachestorage2();
+    var { kConstruct } = require_symbols9();
+    module2.exports.caches = new CacheStorage(kConstruct);
+    var { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
+    module2.exports.deleteCookie = deleteCookie;
+    module2.exports.getCookies = getCookies;
+    module2.exports.getSetCookies = getSetCookies;
+    module2.exports.setCookie = setCookie;
+    var { parseMIMEType, serializeAMimeType } = require_data_url2();
+    module2.exports.parseMIMEType = parseMIMEType;
+    module2.exports.serializeAMimeType = serializeAMimeType;
+    var { CloseEvent, ErrorEvent, MessageEvent } = require_events2();
+    module2.exports.WebSocket = require_websocket2().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);
@@ -56087,6 +57578,8 @@ var require_undici2 = __commonJS({
     module2.exports.MockPool = MockPool;
     module2.exports.MockAgent = MockAgent;
     module2.exports.mockErrors = mockErrors;
+    var { EventSource } = require_eventsource2();
+    module2.exports.EventSource = EventSource;
   }
 });
 
@@ -62306,7 +63799,7 @@ var require_package = __commonJS({
         "@actions/cache": "^5.0.5",
         "@actions/core": "^2.0.3",
         "@actions/exec": "^2.0.0",
-        "@actions/github": "^8.0.0",
+        "@actions/github": "^8.0.1",
         "@actions/glob": "^0.5.0",
         "@actions/http-client": "^3.0.0",
         "@actions/io": "^2.0.0",
@@ -62338,7 +63831,7 @@ var require_package = __commonJS({
         "@types/node-forge": "^1.3.14",
         "@types/semver": "^7.7.1",
         "@types/sinon": "^21.0.0",
-        "@typescript-eslint/eslint-plugin": "^8.53.1",
+        "@typescript-eslint/eslint-plugin": "^8.54.0",
         "@typescript-eslint/parser": "^8.48.0",
         ava: "^6.4.1",
         esbuild: "^0.27.2",
@@ -62347,7 +63840,7 @@ var require_package = __commonJS({
         "eslint-plugin-filenames": "^1.3.2",
         "eslint-plugin-github": "^5.1.8",
         "eslint-plugin-import": "2.29.1",
-        "eslint-plugin-jsdoc": "^62.3.0",
+        "eslint-plugin-jsdoc": "^62.4.1",
         "eslint-plugin-no-async-foreach": "^0.1.1",
         glob: "^11.1.0",
         nock: "^14.0.10",
@@ -73660,7 +75153,7 @@ var require_clientHelpers = __commonJS({
 });
 
 // node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js
-var require_multipart2 = __commonJS({
+var require_multipart = __commonJS({
   "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -73783,7 +75276,7 @@ var require_sendRequest = __commonJS({
     var pipelineRequest_js_1 = require_pipelineRequest();
     var clientHelpers_js_1 = require_clientHelpers();
     var typeGuards_js_1 = require_typeGuards();
-    var multipart_js_1 = require_multipart2();
+    var multipart_js_1 = require_multipart();
     async function sendRequest(method, url, pipeline, options = {}, customHttpClient) {
       const httpClient = customHttpClient ?? (0, clientHelpers_js_1.getCachedDefaultHttpsClient)();
       const request2 = buildPipelineRequest(method, url, options);
@@ -78481,7 +79974,7 @@ var require_commonjs8 = __commonJS({
 });
 
 // node_modules/@azure/core-http-compat/dist/commonjs/util.js
-var require_util17 = __commonJS({
+var require_util18 = __commonJS({
   "node_modules/@azure/core-http-compat/dist/commonjs/util.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -78736,7 +80229,7 @@ var require_response3 = __commonJS({
     exports2.toCompatResponse = toCompatResponse;
     exports2.toPipelineResponse = toPipelineResponse;
     var core_rest_pipeline_1 = require_commonjs6();
-    var util_js_1 = require_util17();
+    var util_js_1 = require_util18();
     var originalResponse = /* @__PURE__ */ Symbol("Original FullOperationResponse");
     function toCompatResponse(response, options) {
       let request2 = (0, util_js_1.toWebResourceLike)(response.request);
@@ -78850,7 +80343,7 @@ var require_requestPolicyFactoryPolicy = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.requestPolicyFactoryPolicyName = exports2.HttpPipelineLogLevel = void 0;
     exports2.createRequestPolicyFactoryPolicy = createRequestPolicyFactoryPolicy;
-    var util_js_1 = require_util17();
+    var util_js_1 = require_util18();
     var response_js_1 = require_response3();
     var HttpPipelineLogLevel;
     (function(HttpPipelineLogLevel2) {
@@ -78897,7 +80390,7 @@ var require_httpClientAdapter = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.convertHttpClient = convertHttpClient;
     var response_js_1 = require_response3();
-    var util_js_1 = require_util17();
+    var util_js_1 = require_util18();
     function convertHttpClient(requestPolicyClient) {
       return {
         sendRequest: async (request2) => {
@@ -78937,7 +80430,7 @@ var require_commonjs9 = __commonJS({
     Object.defineProperty(exports2, "convertHttpClient", { enumerable: true, get: function() {
       return httpClientAdapter_js_1.convertHttpClient;
     } });
-    var util_js_1 = require_util17();
+    var util_js_1 = require_util18();
     Object.defineProperty(exports2, "toHttpHeadersLike", { enumerable: true, get: function() {
       return util_js_1.toHttpHeadersLike;
     } });
@@ -115018,7 +116511,7 @@ var require_cache_twirp_client = __commonJS({
 });
 
 // node_modules/@actions/cache/lib/internal/shared/util.js
-var require_util18 = __commonJS({
+var require_util19 = __commonJS({
   "node_modules/@actions/cache/lib/internal/shared/util.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -115095,7 +116588,7 @@ var require_cacheTwirpClient = __commonJS({
     var auth_1 = require_auth();
     var http_client_1 = require_lib();
     var cache_twirp_client_1 = require_cache_twirp_client();
-    var util_1 = require_util18();
+    var util_1 = require_util19();
     var CacheServiceClient = class {
       constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) {
         this.maxAttempts = 5;
@@ -120008,11 +121501,11 @@ void runWrapper();
 /*! Bundled license information:
 
 undici/lib/web/fetch/body.js:
-undici/lib/fetch/body.js:
+undici/lib/web/fetch/body.js:
   (*! formdata-polyfill. MIT License. Jimmy Wärting  *)
 
 undici/lib/web/websocket/frame.js:
-undici/lib/websocket/frame.js:
+undici/lib/web/websocket/frame.js:
   (*! ws. MIT License. Einar Otto Stangvik  *)
 
 @octokit/request-error/dist-src/index.js:
diff --git a/lib/upload-lib.js b/lib/upload-lib.js
index 4917e2df6c..f88e43fdf1 100644
--- a/lib/upload-lib.js
+++ b/lib/upload-lib.js
@@ -22846,9 +22846,9 @@ var require_context = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/core/symbols.js
 var require_symbols6 = __commonJS({
-  "node_modules/undici/lib/core/symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/symbols.js"(exports2, module2) {
     module2.exports = {
       kClose: /* @__PURE__ */ Symbol("close"),
       kDestroy: /* @__PURE__ */ Symbol("destroy"),
@@ -22859,7 +22859,6 @@ var require_symbols6 = __commonJS({
       kQueue: /* @__PURE__ */ Symbol("queue"),
       kConnect: /* @__PURE__ */ Symbol("connect"),
       kConnecting: /* @__PURE__ */ Symbol("connecting"),
-      kHeadersList: /* @__PURE__ */ Symbol("headers list"),
       kKeepAliveDefaultTimeout: /* @__PURE__ */ Symbol("default keep alive timeout"),
       kKeepAliveMaxTimeout: /* @__PURE__ */ Symbol("max keep alive timeout"),
       kKeepAliveTimeoutThreshold: /* @__PURE__ */ Symbol("keep alive timeout threshold"),
@@ -22872,6 +22871,7 @@ var require_symbols6 = __commonJS({
       kHost: /* @__PURE__ */ Symbol("host"),
       kNoRef: /* @__PURE__ */ Symbol("no ref"),
       kBodyUsed: /* @__PURE__ */ Symbol("used"),
+      kBody: /* @__PURE__ */ Symbol("abstracted request body"),
       kRunning: /* @__PURE__ */ Symbol("running"),
       kBlocking: /* @__PURE__ */ Symbol("blocking"),
       kPending: /* @__PURE__ */ Symbol("pending"),
@@ -22884,6 +22884,8 @@ var require_symbols6 = __commonJS({
       kNeedDrain: /* @__PURE__ */ Symbol("need drain"),
       kReset: /* @__PURE__ */ Symbol("reset"),
       kDestroyed: /* @__PURE__ */ Symbol.for("nodejs.stream.destroyed"),
+      kResume: /* @__PURE__ */ Symbol("resume"),
+      kOnError: /* @__PURE__ */ Symbol("on error"),
       kMaxHeadersSize: /* @__PURE__ */ Symbol("max headers size"),
       kRunningIdx: /* @__PURE__ */ Symbol("running index"),
       kPendingIdx: /* @__PURE__ */ Symbol("pending index"),
@@ -22905,67 +22907,90 @@ var require_symbols6 = __commonJS({
       kMaxResponseSize: /* @__PURE__ */ Symbol("max response size"),
       kHTTP2Session: /* @__PURE__ */ Symbol("http2Session"),
       kHTTP2SessionState: /* @__PURE__ */ Symbol("http2Session state"),
-      kHTTP2BuildRequest: /* @__PURE__ */ Symbol("http2 build request"),
-      kHTTP1BuildRequest: /* @__PURE__ */ Symbol("http1 build request"),
-      kHTTP2CopyHeaders: /* @__PURE__ */ Symbol("http2 copy headers"),
-      kHTTPConnVersion: /* @__PURE__ */ Symbol("http connection version"),
       kRetryHandlerDefaultRetry: /* @__PURE__ */ Symbol("retry agent default retry"),
-      kConstruct: /* @__PURE__ */ Symbol("constructable")
+      kConstruct: /* @__PURE__ */ Symbol("constructable"),
+      kListeners: /* @__PURE__ */ Symbol("listeners"),
+      kHTTPContext: /* @__PURE__ */ Symbol("http context"),
+      kMaxConcurrentStreams: /* @__PURE__ */ Symbol("max concurrent streams"),
+      kNoProxyAgent: /* @__PURE__ */ Symbol("no proxy agent"),
+      kHttpProxyAgent: /* @__PURE__ */ Symbol("http proxy agent"),
+      kHttpsProxyAgent: /* @__PURE__ */ Symbol("https proxy agent")
     };
   }
 });
 
-// node_modules/undici/lib/core/errors.js
+// node_modules/@actions/github/node_modules/undici/lib/core/errors.js
 var require_errors2 = __commonJS({
-  "node_modules/undici/lib/core/errors.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/errors.js"(exports2, module2) {
     "use strict";
+    var kUndiciError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR");
     var UndiciError = class extends Error {
       constructor(message) {
         super(message);
         this.name = "UndiciError";
         this.code = "UND_ERR";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kUndiciError] === true;
+      }
+      [kUndiciError] = true;
     };
-    var ConnectTimeoutError = class _ConnectTimeoutError extends UndiciError {
+    var kConnectTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT");
+    var ConnectTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ConnectTimeoutError);
         this.name = "ConnectTimeoutError";
         this.message = message || "Connect Timeout Error";
         this.code = "UND_ERR_CONNECT_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kConnectTimeoutError] === true;
+      }
+      [kConnectTimeoutError] = true;
     };
-    var HeadersTimeoutError = class _HeadersTimeoutError extends UndiciError {
+    var kHeadersTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT");
+    var HeadersTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersTimeoutError);
         this.name = "HeadersTimeoutError";
         this.message = message || "Headers Timeout Error";
         this.code = "UND_ERR_HEADERS_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersTimeoutError] === true;
+      }
+      [kHeadersTimeoutError] = true;
     };
-    var HeadersOverflowError = class _HeadersOverflowError extends UndiciError {
+    var kHeadersOverflowError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW");
+    var HeadersOverflowError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersOverflowError);
         this.name = "HeadersOverflowError";
         this.message = message || "Headers Overflow Error";
         this.code = "UND_ERR_HEADERS_OVERFLOW";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersOverflowError] === true;
+      }
+      [kHeadersOverflowError] = true;
     };
-    var BodyTimeoutError = class _BodyTimeoutError extends UndiciError {
+    var kBodyTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT");
+    var BodyTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _BodyTimeoutError);
         this.name = "BodyTimeoutError";
         this.message = message || "Body Timeout Error";
         this.code = "UND_ERR_BODY_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBodyTimeoutError] === true;
+      }
+      [kBodyTimeoutError] = true;
     };
-    var ResponseStatusCodeError = class _ResponseStatusCodeError extends UndiciError {
+    var kResponseStatusCodeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RESPONSE_STATUS_CODE");
+    var ResponseStatusCodeError = class extends UndiciError {
       constructor(message, statusCode, headers, body) {
         super(message);
-        Error.captureStackTrace(this, _ResponseStatusCodeError);
         this.name = "ResponseStatusCodeError";
         this.message = message || "Response Status Code Error";
         this.code = "UND_ERR_RESPONSE_STATUS_CODE";
@@ -22974,129 +22999,198 @@ var require_errors2 = __commonJS({
         this.statusCode = statusCode;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseStatusCodeError] === true;
+      }
+      [kResponseStatusCodeError] = true;
     };
-    var InvalidArgumentError = class _InvalidArgumentError extends UndiciError {
+    var kInvalidArgumentError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_ARG");
+    var InvalidArgumentError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidArgumentError);
         this.name = "InvalidArgumentError";
         this.message = message || "Invalid Argument Error";
         this.code = "UND_ERR_INVALID_ARG";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidArgumentError] === true;
+      }
+      [kInvalidArgumentError] = true;
     };
-    var InvalidReturnValueError = class _InvalidReturnValueError extends UndiciError {
+    var kInvalidReturnValueError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE");
+    var InvalidReturnValueError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidReturnValueError);
         this.name = "InvalidReturnValueError";
         this.message = message || "Invalid Return Value Error";
         this.code = "UND_ERR_INVALID_RETURN_VALUE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidReturnValueError] === true;
+      }
+      [kInvalidReturnValueError] = true;
+    };
+    var kAbortError = /* @__PURE__ */ 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";
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kAbortError] === true;
+      }
+      [kAbortError] = true;
     };
-    var RequestAbortedError = class _RequestAbortedError extends UndiciError {
+    var kRequestAbortedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_ABORTED");
+    var RequestAbortedError = class extends AbortError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestAbortedError);
         this.name = "AbortError";
         this.message = message || "Request aborted";
         this.code = "UND_ERR_ABORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestAbortedError] === true;
+      }
+      [kRequestAbortedError] = true;
     };
-    var InformationalError = class _InformationalError extends UndiciError {
+    var kInformationalError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INFO");
+    var InformationalError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InformationalError);
         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 RequestContentLengthMismatchError = class _RequestContentLengthMismatchError extends UndiciError {
+    var kRequestContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH");
+    var RequestContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestContentLengthMismatchError);
         this.name = "RequestContentLengthMismatchError";
         this.message = message || "Request body length does not match content-length header";
         this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestContentLengthMismatchError] === true;
+      }
+      [kRequestContentLengthMismatchError] = true;
     };
-    var ResponseContentLengthMismatchError = class _ResponseContentLengthMismatchError extends UndiciError {
+    var kResponseContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH");
+    var ResponseContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseContentLengthMismatchError);
         this.name = "ResponseContentLengthMismatchError";
         this.message = message || "Response body length does not match content-length header";
         this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseContentLengthMismatchError] === true;
+      }
+      [kResponseContentLengthMismatchError] = true;
     };
-    var ClientDestroyedError = class _ClientDestroyedError extends UndiciError {
+    var kClientDestroyedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_DESTROYED");
+    var ClientDestroyedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientDestroyedError);
         this.name = "ClientDestroyedError";
         this.message = message || "The client is destroyed";
         this.code = "UND_ERR_DESTROYED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientDestroyedError] === true;
+      }
+      [kClientDestroyedError] = true;
     };
-    var ClientClosedError = class _ClientClosedError extends UndiciError {
+    var kClientClosedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CLOSED");
+    var ClientClosedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientClosedError);
         this.name = "ClientClosedError";
         this.message = message || "The client is closed";
         this.code = "UND_ERR_CLOSED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientClosedError] === true;
+      }
+      [kClientClosedError] = true;
     };
-    var SocketError = class _SocketError extends UndiciError {
+    var kSocketError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_SOCKET");
+    var SocketError = class extends UndiciError {
       constructor(message, socket) {
         super(message);
-        Error.captureStackTrace(this, _SocketError);
         this.name = "SocketError";
         this.message = message || "Socket error";
         this.code = "UND_ERR_SOCKET";
         this.socket = socket;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kSocketError] === true;
+      }
+      [kSocketError] = true;
     };
-    var NotSupportedError = class _NotSupportedError extends UndiciError {
+    var kNotSupportedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED");
+    var NotSupportedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _NotSupportedError);
         this.name = "NotSupportedError";
         this.message = message || "Not supported error";
         this.code = "UND_ERR_NOT_SUPPORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kNotSupportedError] === true;
+      }
+      [kNotSupportedError] = true;
     };
+    var kBalancedPoolMissingUpstreamError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM");
     var BalancedPoolMissingUpstreamError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, NotSupportedError);
         this.name = "MissingUpstreamError";
         this.message = message || "No upstream has been added to the BalancedPool";
         this.code = "UND_ERR_BPL_MISSING_UPSTREAM";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBalancedPoolMissingUpstreamError] === true;
+      }
+      [kBalancedPoolMissingUpstreamError] = true;
     };
-    var HTTPParserError = class _HTTPParserError extends Error {
+    var kHTTPParserError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HTTP_PARSER");
+    var HTTPParserError = class extends Error {
       constructor(message, code, data) {
         super(message);
-        Error.captureStackTrace(this, _HTTPParserError);
         this.name = "HTTPParserError";
         this.code = code ? `HPE_${code}` : void 0;
         this.data = data ? data.toString() : void 0;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHTTPParserError] === true;
+      }
+      [kHTTPParserError] = true;
     };
-    var ResponseExceededMaxSizeError = class _ResponseExceededMaxSizeError extends UndiciError {
+    var kResponseExceededMaxSizeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE");
+    var ResponseExceededMaxSizeError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseExceededMaxSizeError);
         this.name = "ResponseExceededMaxSizeError";
         this.message = message || "Response content exceeded max size";
         this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseExceededMaxSizeError] === true;
+      }
+      [kResponseExceededMaxSizeError] = true;
     };
-    var RequestRetryError = class _RequestRetryError extends UndiciError {
+    var kRequestRetryError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_RETRY");
+    var RequestRetryError = class extends UndiciError {
       constructor(message, code, { headers, data }) {
         super(message);
-        Error.captureStackTrace(this, _RequestRetryError);
         this.name = "RequestRetryError";
         this.message = message || "Request retry error";
         this.code = "UND_ERR_REQ_RETRY";
@@ -23104,8 +23198,43 @@ var require_errors2 = __commonJS({
         this.data = data;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestRetryError] === true;
+      }
+      [kRequestRetryError] = true;
+    };
+    var kResponseError = /* @__PURE__ */ 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 = /* @__PURE__ */ 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,
@@ -23125,14 +23254,16 @@ var require_errors2 = __commonJS({
       ResponseContentLengthMismatchError,
       BalancedPoolMissingUpstreamError,
       ResponseExceededMaxSizeError,
-      RequestRetryError
+      RequestRetryError,
+      ResponseError,
+      SecureProxyConnectionError
     };
   }
 });
 
-// node_modules/undici/lib/core/constants.js
+// node_modules/@actions/github/node_modules/undici/lib/core/constants.js
 var require_constants6 = __commonJS({
-  "node_modules/undici/lib/core/constants.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/constants.js"(exports2, module2) {
     "use strict";
     var headerNameLowerCasedRecord = {};
     var wellknownHeaderNames = [
@@ -23245,28 +23376,212 @@ var require_constants6 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/util.js
+// node_modules/@actions/github/node_modules/undici/lib/core/tree.js
+var require_tree2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/tree.js"(exports2, module2) {
+    "use strict";
+    var {
+      wellknownHeaderNames,
+      headerNameLowerCasedRecord
+    } = require_constants6();
+    var TstNode = class _TstNode {
+      /** @type {any} */
+      value = null;
+      /** @type {null | TstNode} */
+      left = null;
+      /** @type {null | TstNode} */
+      middle = null;
+      /** @type {null | TstNode} */
+      right = null;
+      /** @type {number} */
+      code;
+      /**
+       * @param {string} key
+       * @param {any} value
+       * @param {number} index
+       */
+      constructor(key, value, index) {
+        if (index === void 0 || index >= key.length) {
+          throw new TypeError("Unreachable");
+        }
+        const code = this.code = key.charCodeAt(index);
+        if (code > 127) {
+          throw new TypeError("key must be ascii string");
+        }
+        if (key.length !== ++index) {
+          this.middle = new _TstNode(key, value, index);
+        } else {
+          this.value = value;
+        }
+      }
+      /**
+       * @param {string} key
+       * @param {any} value
+       */
+      add(key, value) {
+        const length = key.length;
+        if (length === 0) {
+          throw new TypeError("Unreachable");
+        }
+        let index = 0;
+        let node = this;
+        while (true) {
+          const code = key.charCodeAt(index);
+          if (code > 127) {
+            throw new TypeError("key must be ascii string");
+          }
+          if (node.code === code) {
+            if (length === ++index) {
+              node.value = value;
+              break;
+            } else if (node.middle !== null) {
+              node = node.middle;
+            } else {
+              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;
+          }
+        }
+      }
+      /**
+       * @param {Uint8Array} key
+       * @return {TstNode | null}
+       */
+      search(key) {
+        const keylength = key.length;
+        let index = 0;
+        let node = this;
+        while (node !== null && index < keylength) {
+          let code = key[index];
+          if (code <= 90 && code >= 65) {
+            code |= 32;
+          }
+          while (node !== null) {
+            if (code === node.code) {
+              if (keylength === ++index) {
+                return node;
+              }
+              node = node.middle;
+              break;
+            }
+            node = node.code < code ? node.left : node.right;
+          }
+        }
+        return null;
+      }
+    };
+    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);
+        }
+      }
+      /**
+       * @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/@actions/github/node_modules/undici/lib/core/util.js
 var require_util9 = __commonJS({
-  "node_modules/undici/lib/core/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/util.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { kDestroyed, kBodyUsed } = require_symbols6();
-    var { IncomingMessage } = require("http");
-    var stream2 = require("stream");
-    var net = require("net");
+    var assert = require("node:assert");
+    var { kDestroyed, kBodyUsed, kListeners, kBody } = require_symbols6();
+    var { IncomingMessage } = require("node:http");
+    var stream2 = 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_errors2();
-    var { Blob: Blob2 } = require("buffer");
-    var nodeUtil = require("util");
-    var { stringify } = require("querystring");
     var { headerNameLowerCasedRecord } = require_constants6();
+    var { tree } = require_tree2();
     var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v) => Number(v));
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
+      }
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
+      }
+    };
+    function wrapRequestBody(body) {
+      if (isStream(body)) {
+        if (bodyLength(body) === 0) {
+          body.on("data", function() {
+            assert(false);
+          });
+        }
+        if (typeof body.readableDidRead !== "boolean") {
+          body[kBodyUsed] = false;
+          EE.prototype.on.call(body, "data", function() {
+            this[kBodyUsed] = true;
+          });
+        }
+        return body;
+      } else if (body && typeof body.pipeTo === "function") {
+        return new BodyAsyncIterable(body);
+      } else if (body && typeof body !== "string" && !ArrayBuffer.isView(body) && isIterable(body)) {
+        return new BodyAsyncIterable(body);
+      } else {
+        return body;
+      }
+    }
     function nop() {
     }
     function isStream(obj) {
       return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function";
     }
     function isBlobLike(object) {
-      return Blob2 && object instanceof Blob2 || object && typeof object === "object" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]);
+      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(url2, queryParams) {
       if (url2.includes("?") || url2.includes("#")) {
@@ -23278,10 +23593,17 @@ var require_util9 = __commonJS({
       }
       return url2;
     }
+    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(url2) {
       if (typeof url2 === "string") {
         url2 = new URL(url2);
-        if (!/^https?:/.test(url2.origin || url2.protocol)) {
+        if (!isHttpOrHttpsPrefixed(url2.origin || url2.protocol)) {
           throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
         }
         return url2;
@@ -23289,11 +23611,8 @@ var require_util9 = __commonJS({
       if (!url2 || typeof url2 !== "object") {
         throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object.");
       }
-      if (!/^https?:/.test(url2.origin || url2.protocol)) {
-        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
-      }
       if (!(url2 instanceof URL)) {
-        if (url2.port != null && url2.port !== "" && !Number.isFinite(parseInt(url2.port))) {
+        if (url2.port != null && url2.port !== "" && isValidPort(url2.port) === false) {
           throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer.");
         }
         if (url2.path != null && typeof url2.path !== "string") {
@@ -23308,16 +23627,22 @@ var require_util9 = __commonJS({
         if (url2.origin != null && typeof url2.origin !== "string") {
           throw new InvalidArgumentError("Invalid URL origin: the origin must be a string or null/undefined.");
         }
+        if (!isHttpOrHttpsPrefixed(url2.origin || url2.protocol)) {
+          throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
+        }
         const port = url2.port != null ? url2.port : url2.protocol === "https:" ? 443 : 80;
-        let origin = url2.origin != null ? url2.origin : `${url2.protocol}//${url2.hostname}:${port}`;
+        let origin = url2.origin != null ? url2.origin : `${url2.protocol || ""}//${url2.hostname || ""}:${port}`;
         let path11 = url2.path != null ? url2.path : `${url2.pathname || ""}${url2.search || ""}`;
-        if (origin.endsWith("/")) {
-          origin = origin.substring(0, origin.length - 1);
+        if (origin[origin.length - 1] === "/") {
+          origin = origin.slice(0, origin.length - 1);
         }
-        if (path11 && !path11.startsWith("/")) {
+        if (path11 && path11[0] !== "/") {
           path11 = `/${path11}`;
         }
-        url2 = new URL(origin + path11);
+        return new URL(`${origin}${path11}`);
+      }
+      if (!isHttpOrHttpsPrefixed(url2.origin || url2.protocol)) {
+        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
       }
       return url2;
     }
@@ -23342,7 +23667,7 @@ var require_util9 = __commonJS({
       if (!host) {
         return null;
       }
-      assert.strictEqual(typeof host, "string");
+      assert(typeof host === "string");
       const servername = getHostname(host);
       if (net.isIP(servername)) {
         return "";
@@ -23371,12 +23696,8 @@ var require_util9 = __commonJS({
       }
       return null;
     }
-    function isDestroyed(stream3) {
-      return !stream3 || !!(stream3.destroyed || stream3[kDestroyed]);
-    }
-    function isReadableAborted(stream3) {
-      const state = stream3 && stream3._readableState;
-      return isDestroyed(stream3) && state && !state.endEmitted;
+    function isDestroyed(body) {
+      return body && !!(body.destroyed || body[kDestroyed] || stream2.isDestroyed?.(body));
     }
     function destroy(stream3, err) {
       if (stream3 == null || !isStream(stream3) || isDestroyed(stream3)) {
@@ -23388,9 +23709,9 @@ var require_util9 = __commonJS({
         }
         stream3.destroy(err);
       } else if (err) {
-        process.nextTick((stream4, err2) => {
-          stream4.emit("error", err2);
-        }, stream3, err);
+        queueMicrotask(() => {
+          stream3.emit("error", err);
+        });
       }
       if (stream3.destroyed !== true) {
         stream3[kDestroyed] = true;
@@ -23402,25 +23723,29 @@ var require_util9 = __commonJS({
       return m ? parseInt(m[1], 10) * 1e3 : null;
     }
     function headerNameToString(value) {
-      return headerNameLowerCasedRecord[value] || value.toLowerCase();
+      return typeof value === "string" ? headerNameLowerCasedRecord[value] ?? value.toLowerCase() : tree.lookup(value) ?? value.toString("latin1").toLowerCase();
+    }
+    function bufferToLowerCasedHeaderName(value) {
+      return tree.lookup(value) ?? value.toString("latin1").toLowerCase();
     }
-    function parseHeaders(headers, obj = {}) {
-      if (!Array.isArray(headers)) return headers;
+    function parseHeaders(headers, obj) {
+      if (obj === void 0) obj = {};
       for (let i = 0; i < headers.length; i += 2) {
-        const key = headers[i].toString().toLowerCase();
+        const key = headerNameToString(headers[i]);
         let val = obj[key];
-        if (!val) {
-          if (Array.isArray(headers[i + 1])) {
-            obj[key] = headers[i + 1].map((x) => x.toString("utf8"));
-          } else {
-            obj[key] = headers[i + 1].toString("utf8");
-          }
-        } else {
-          if (!Array.isArray(val)) {
+        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");
+          }
         }
       }
       if ("content-length" in obj && "content-disposition" in obj) {
@@ -23429,20 +23754,26 @@ var require_util9 = __commonJS({
       return obj;
     }
     function parseRawHeaders(headers) {
-      const ret = [];
+      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) {
-        const key = headers[n + 0].toString();
-        const val = headers[n + 1].toString("utf8");
-        if (key.length === 14 && (key === "content-length" || key.toLowerCase() === "content-length")) {
-          ret.push(key, val);
+        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 (key.length === 19 && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
-          contentDispositionIdx = ret.push(key, val) - 1;
-        } else {
-          ret.push(key, val);
+        } else if (kLen === 19 && key[7] === "-" && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
+          contentDispositionIdx = n + 1;
         }
+        ret[n] = key;
+        ret[n + 1] = val;
       }
       if (hasContentLength && contentDispositionIdx !== -1) {
         ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1");
@@ -23482,17 +23813,13 @@ var require_util9 = __commonJS({
       }
     }
     function isDisturbed(body) {
-      return !!(body && (stream2.isDisturbed ? stream2.isDisturbed(body) || body[kBodyUsed] : body[kBodyUsed] || body.readableDidRead || body._readableState && body._readableState.dataEmitted || isReadableAborted(body)));
+      return !!(body && (stream2.isDisturbed(body) || body[kBodyUsed]));
     }
     function isErrored(body) {
-      return !!(body && (stream2.isErrored ? stream2.isErrored(body) : /state: 'errored'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream2.isErrored(body));
     }
     function isReadable(body) {
-      return !!(body && (stream2.isReadable ? stream2.isReadable(body) : /state: 'readable'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream2.isReadable(body));
     }
     function getSocketInfo(socket) {
       return {
@@ -23506,21 +23833,9 @@ var require_util9 = __commonJS({
         bytesRead: socket.bytesRead
       };
     }
-    async function* convertIterableToBuffer(iterable) {
-      for await (const chunk of iterable) {
-        yield Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
-      }
-    }
-    var ReadableStream2;
     function ReadableStreamFrom(iterable) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      if (ReadableStream2.from) {
-        return ReadableStream2.from(convertIterableToBuffer(iterable));
-      }
       let iterator2;
-      return new ReadableStream2(
+      return new ReadableStream(
         {
           async start() {
             iterator2 = iterable[Symbol.asyncIterator]();
@@ -23530,37 +23845,26 @@ var require_util9 = __commonJS({
             if (done) {
               queueMicrotask(() => {
                 controller.close();
+                controller.byobRequest?.respond(0);
               });
             } else {
               const buf = Buffer.isBuffer(value) ? value : Buffer.from(value);
-              controller.enqueue(new Uint8Array(buf));
+              if (buf.byteLength) {
+                controller.enqueue(new Uint8Array(buf));
+              }
             }
             return controller.desiredSize > 0;
           },
           async cancel(reason) {
             await iterator2.return();
-          }
-        },
-        0
+          },
+          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 throwIfAborted(signal) {
-      if (!signal) {
-        return;
-      }
-      if (typeof signal.throwIfAborted === "function") {
-        signal.throwIfAborted();
-      } else {
-        if (signal.aborted) {
-          const err = new Error("The operation was aborted");
-          err.name = "AbortError";
-          throw err;
-        }
-      }
-    }
     function addAbortListener(signal, listener) {
       if ("addEventListener" in signal) {
         signal.addEventListener("abort", listener, { once: true });
@@ -23569,14 +23873,52 @@ var require_util9 = __commonJS({
       signal.addListener("abort", listener);
       return () => signal.removeListener("abort", listener);
     }
-    var hasToWellFormed = !!String.prototype.toWellFormed;
+    var hasToWellFormed = typeof String.prototype.toWellFormed === "function";
+    var hasIsWellFormed = typeof String.prototype.isWellFormed === "function";
     function toUSVString(val) {
-      if (hasToWellFormed) {
-        return `${val}`.toWellFormed();
-      } else if (nodeUtil.toUSVString) {
-        return nodeUtil.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;
+      }
+    }
+    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 `${val}`;
+      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 };
@@ -23587,25 +23929,70 @@ var require_util9 = __commonJS({
         size: m[3] ? parseInt(m[3]) : null
       } : null;
     }
-    var kEnumerableProperty = /* @__PURE__ */ Object.create(null);
-    kEnumerableProperty.enumerable = true;
-    module2.exports = {
-      kEnumerableProperty,
-      nop,
-      isDisturbed,
-      isErrored,
-      isReadable,
-      toUSVString,
-      isReadableAborted,
-      isBlobLike,
-      parseOrigin,
-      parseURL,
-      getServerName,
+    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);
+      }
+      obj[kListeners] = null;
+    }
+    function errorRequest2(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: errorRequest2,
       parseRawHeaders,
       parseHeaders,
       parseKeepAliveTimeout,
@@ -23618,15673 +24005,16863 @@ var require_util9 = __commonJS({
       getSocketInfo,
       isFormDataLike,
       buildURL,
-      throwIfAborted,
       addAbortListener,
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isTokenCharCode,
       parseRangeHeader,
+      normalizedMethodRecordsBase,
+      normalizedMethodRecords,
+      isValidPort,
+      isHttpOrHttpsPrefixed,
       nodeMajor,
       nodeMinor,
-      nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13,
-      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"]
+      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"],
+      wrapRequestBody
     };
   }
 });
 
-// node_modules/undici/lib/timers.js
-var require_timers2 = __commonJS({
-  "node_modules/undici/lib/timers.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js
+var require_diagnostics2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js"(exports2, module2) {
     "use strict";
-    var fastNow = Date.now();
-    var fastNowTimeout;
-    var fastTimers = [];
-    function onTimeout() {
-      fastNow = Date.now();
-      let len = fastTimers.length;
-      let idx = 0;
-      while (idx < len) {
-        const timer = fastTimers[idx];
-        if (timer.state === 0) {
-          timer.state = fastNow + timer.delay;
-        } else if (timer.state > 0 && fastNow >= timer.state) {
-          timer.state = -1;
-          timer.callback(timer.opaque);
-        }
-        if (timer.state === -1) {
-          timer.state = -2;
-          if (idx !== len - 1) {
-            fastTimers[idx] = fastTimers.pop();
-          } else {
-            fastTimers.pop();
-          }
-          len -= 1;
-        } else {
-          idx += 1;
-        }
-      }
-      if (fastTimers.length > 0) {
-        refreshTimeout();
-      }
-    }
-    function refreshTimeout() {
-      if (fastNowTimeout && fastNowTimeout.refresh) {
-        fastNowTimeout.refresh();
-      } else {
-        clearTimeout(fastNowTimeout);
-        fastNowTimeout = setTimeout(onTimeout, 1e3);
-        if (fastNowTimeout.unref) {
-          fastNowTimeout.unref();
-        }
-      }
-    }
-    var Timeout = class {
-      constructor(callback, delay2, opaque) {
-        this.callback = callback;
-        this.delay = delay2;
-        this.opaque = opaque;
-        this.state = -2;
-        this.refresh();
-      }
-      refresh() {
-        if (this.state === -2) {
-          fastTimers.push(this);
-          if (!fastNowTimeout || fastTimers.length === 1) {
-            refreshTimeout();
-          }
-        }
-        this.state = 0;
-      }
-      clear() {
-        this.state = -1;
-      }
-    };
-    module2.exports = {
-      setTimeout(callback, delay2, opaque) {
-        return delay2 < 1e3 ? setTimeout(callback, delay2, opaque) : new Timeout(callback, delay2, opaque);
-      },
-      clearTimeout(timeout) {
-        if (timeout instanceof Timeout) {
-          timeout.clear();
-        } else {
-          clearTimeout(timeout);
-        }
-      }
+    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")
     };
-  }
-});
-
-// node_modules/@fastify/busboy/deps/streamsearch/sbmh.js
-var require_sbmh = __commonJS({
-  "node_modules/@fastify/busboy/deps/streamsearch/sbmh.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    function SBMH(needle) {
-      if (typeof needle === "string") {
-        needle = Buffer.from(needle);
-      }
-      if (!Buffer.isBuffer(needle)) {
-        throw new TypeError("The needle has to be a String or a Buffer.");
-      }
-      const needleLength = needle.length;
-      if (needleLength === 0) {
-        throw new Error("The needle cannot be an empty String/Buffer.");
-      }
-      if (needleLength > 256) {
-        throw new Error("The needle cannot have a length bigger than 256.");
-      }
-      this.maxMatches = Infinity;
-      this.matches = 0;
-      this._occ = new Array(256).fill(needleLength);
-      this._lookbehind_size = 0;
-      this._needle = needle;
-      this._bufpos = 0;
-      this._lookbehind = Buffer.alloc(needleLength);
-      for (var i = 0; i < needleLength - 1; ++i) {
-        this._occ[needle[i]] = needleLength - 1 - i;
-      }
+    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: error3
+        } = evt;
+        debuglog(
+          "connection to %s using %s%s errored - %s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version,
+          error3.message
+        );
+      });
+      diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+        const {
+          request: { method, path: path11, origin }
+        } = evt;
+        debuglog("sending request to %s %s/%s", method, origin, path11);
+      });
+      diagnosticsChannel.channel("undici:request:headers").subscribe((evt) => {
+        const {
+          request: { method, path: path11, origin },
+          response: { statusCode }
+        } = evt;
+        debuglog(
+          "received response to %s %s/%s - HTTP %d",
+          method,
+          origin,
+          path11,
+          statusCode
+        );
+      });
+      diagnosticsChannel.channel("undici:request:trailers").subscribe((evt) => {
+        const {
+          request: { method, path: path11, origin }
+        } = evt;
+        debuglog("trailers received from %s %s/%s", method, origin, path11);
+      });
+      diagnosticsChannel.channel("undici:request:error").subscribe((evt) => {
+        const {
+          request: { method, path: path11, origin },
+          error: error3
+        } = evt;
+        debuglog(
+          "request to %s %s/%s errored - %s",
+          method,
+          origin,
+          path11,
+          error3.message
+        );
+      });
+      isClientSet = true;
     }
-    inherits(SBMH, EventEmitter);
-    SBMH.prototype.reset = function() {
-      this._lookbehind_size = 0;
-      this.matches = 0;
-      this._bufpos = 0;
-    };
-    SBMH.prototype.push = function(chunk, pos) {
-      if (!Buffer.isBuffer(chunk)) {
-        chunk = Buffer.from(chunk, "binary");
-      }
-      const chlen = chunk.length;
-      this._bufpos = pos || 0;
-      let r;
-      while (r !== chlen && this.matches < this.maxMatches) {
-        r = this._sbmh_feed(chunk);
-      }
-      return r;
-    };
-    SBMH.prototype._sbmh_feed = function(data) {
-      const len = data.length;
-      const needle = this._needle;
-      const needleLength = needle.length;
-      const lastNeedleChar = needle[needleLength - 1];
-      let pos = -this._lookbehind_size;
-      let ch;
-      if (pos < 0) {
-        while (pos < 0 && pos <= len - needleLength) {
-          ch = this._sbmh_lookup_char(data, pos + needleLength - 1);
-          if (ch === lastNeedleChar && this._sbmh_memcmp(data, pos, needleLength - 1)) {
-            this._lookbehind_size = 0;
-            ++this.matches;
-            this.emit("info", true);
-            return this._bufpos = pos + needleLength;
-          }
-          pos += this._occ[ch];
-        }
-        if (pos < 0) {
-          while (pos < 0 && !this._sbmh_memcmp(data, pos, len - pos)) {
-            ++pos;
-          }
-        }
-        if (pos >= 0) {
-          this.emit("info", false, this._lookbehind, 0, this._lookbehind_size);
-          this._lookbehind_size = 0;
-        } else {
-          const bytesToCutOff = this._lookbehind_size + pos;
-          if (bytesToCutOff > 0) {
-            this.emit("info", false, this._lookbehind, 0, bytesToCutOff);
-          }
-          this._lookbehind.copy(
-            this._lookbehind,
-            0,
-            bytesToCutOff,
-            this._lookbehind_size - bytesToCutOff
+    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
           );
-          this._lookbehind_size -= bytesToCutOff;
-          data.copy(this._lookbehind, this._lookbehind_size);
-          this._lookbehind_size += len;
-          this._bufpos = len;
-          return len;
-        }
-      }
-      pos += (pos >= 0) * this._bufpos;
-      if (data.indexOf(needle, pos) !== -1) {
-        pos = data.indexOf(needle, pos);
-        ++this.matches;
-        if (pos > 0) {
-          this.emit("info", true, data, this._bufpos, pos);
-        } else {
-          this.emit("info", true);
-        }
-        return this._bufpos = pos + needleLength;
-      } else {
-        pos = len - needleLength;
-      }
-      while (pos < len && (data[pos] !== needle[0] || Buffer.compare(
-        data.subarray(pos, pos + len - pos),
-        needle.subarray(0, len - pos)
-      ) !== 0)) {
-        ++pos;
-      }
-      if (pos < len) {
-        data.copy(this._lookbehind, 0, pos, pos + (len - pos));
-        this._lookbehind_size = len - pos;
-      }
-      if (pos > 0) {
-        this.emit("info", false, data, this._bufpos, pos < len ? pos : len);
-      }
-      this._bufpos = len;
-      return len;
-    };
-    SBMH.prototype._sbmh_lookup_char = function(data, pos) {
-      return pos < 0 ? this._lookbehind[this._lookbehind_size + pos] : data[pos];
-    };
-    SBMH.prototype._sbmh_memcmp = function(data, pos, len) {
-      for (var i = 0; i < len; ++i) {
-        if (this._sbmh_lookup_char(data, pos + i) !== this._needle[i]) {
-          return false;
-        }
+        });
+        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: error3
+          } = evt;
+          debuglog(
+            "connection to %s%s using %s%s errored - %s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version,
+            error3.message
+          );
+        });
+        diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+          const {
+            request: { method, path: path11, origin }
+          } = evt;
+          debuglog("sending request to %s %s/%s", method, origin, path11);
+        });
       }
-      return true;
-    };
-    module2.exports = SBMH;
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js
-var require_PartStream = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js"(exports2, module2) {
-    "use strict";
-    var inherits = require("node:util").inherits;
-    var ReadableStream2 = require("node:stream").Readable;
-    function PartStream(opts) {
-      ReadableStream2.call(this, opts);
+      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");
+      });
     }
-    inherits(PartStream, ReadableStream2);
-    PartStream.prototype._read = function(n) {
-    };
-    module2.exports = PartStream;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/getLimit.js
-var require_getLimit = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/getLimit.js"(exports2, module2) {
-    "use strict";
-    module2.exports = function getLimit(limits, name, defaultLimit) {
-      if (!limits || limits[name] === void 0 || limits[name] === null) {
-        return defaultLimit;
-      }
-      if (typeof limits[name] !== "number" || isNaN(limits[name])) {
-        throw new TypeError("Limit " + name + " is not a valid number");
-      }
-      return limits[name];
+    module2.exports = {
+      channels
     };
   }
 });
 
-// node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js
-var require_HeaderParser = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/request.js
+var require_request3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/request.js"(exports2, module2) {
     "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    var getLimit = require_getLimit();
-    var StreamSearch = require_sbmh();
-    var B_DCRLF = Buffer.from("\r\n\r\n");
-    var RE_CRLF = /\r\n/g;
-    var RE_HDR = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/;
-    function HeaderParser(cfg) {
-      EventEmitter.call(this);
-      cfg = cfg || {};
-      const self2 = this;
-      this.nread = 0;
-      this.maxed = false;
-      this.npairs = 0;
-      this.maxHeaderPairs = getLimit(cfg, "maxHeaderPairs", 2e3);
-      this.maxHeaderSize = getLimit(cfg, "maxHeaderSize", 80 * 1024);
-      this.buffer = "";
-      this.header = {};
-      this.finished = false;
-      this.ss = new StreamSearch(B_DCRLF);
-      this.ss.on("info", function(isMatch, data, start, end) {
-        if (data && !self2.maxed) {
-          if (self2.nread + end - start >= self2.maxHeaderSize) {
-            end = self2.maxHeaderSize - self2.nread + start;
-            self2.nread = self2.maxHeaderSize;
-            self2.maxed = true;
-          } else {
-            self2.nread += end - start;
-          }
-          self2.buffer += data.toString("binary", start, end);
+    var {
+      InvalidArgumentError,
+      NotSupportedError
+    } = require_errors2();
+    var assert = require("node:assert");
+    var {
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isStream,
+      destroy,
+      isBuffer,
+      isFormDataLike,
+      isIterable,
+      isBlobLike,
+      buildURL,
+      validateHandler,
+      getServerName,
+      normalizedMethodRecords
+    } = require_util9();
+    var { channels } = require_diagnostics2();
+    var { headerNameLowerCasedRecord } = require_constants6();
+    var invalidPathRegex = /[^\u0021-\u00ff]/;
+    var kHandler = /* @__PURE__ */ Symbol("handler");
+    var Request = class {
+      constructor(origin, {
+        path: path11,
+        method,
+        body,
+        headers,
+        query,
+        idempotent,
+        blocking,
+        upgrade,
+        headersTimeout,
+        bodyTimeout,
+        reset,
+        throwOnError,
+        expectContinue,
+        servername
+      }, handler2) {
+        if (typeof path11 !== "string") {
+          throw new InvalidArgumentError("path must be a string");
+        } else if (path11[0] !== "/" && !(path11.startsWith("http://") || path11.startsWith("https://")) && method !== "CONNECT") {
+          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
+        } else if (invalidPathRegex.test(path11)) {
+          throw new InvalidArgumentError("invalid request path");
         }
-        if (isMatch) {
-          self2._finish();
+        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");
         }
-      });
-    }
-    inherits(HeaderParser, EventEmitter);
-    HeaderParser.prototype.push = function(data) {
-      const r = this.ss.push(data);
-      if (this.finished) {
-        return r;
-      }
-    };
-    HeaderParser.prototype.reset = function() {
-      this.finished = false;
-      this.buffer = "";
-      this.header = {};
-      this.ss.reset();
-    };
-    HeaderParser.prototype._finish = function() {
-      if (this.buffer) {
-        this._parseHeader();
-      }
-      this.ss.matches = this.ss.maxMatches;
-      const header = this.header;
-      this.header = {};
-      this.buffer = "";
-      this.finished = true;
-      this.nread = this.npairs = 0;
-      this.maxed = false;
-      this.emit("header", header);
-    };
-    HeaderParser.prototype._parseHeader = function() {
-      if (this.npairs === this.maxHeaderPairs) {
-        return;
-      }
-      const lines = this.buffer.split(RE_CRLF);
-      const len = lines.length;
-      let m, h;
-      for (var i = 0; i < len; ++i) {
-        if (lines[i].length === 0) {
-          continue;
+        if (upgrade && typeof upgrade !== "string") {
+          throw new InvalidArgumentError("upgrade must be a string");
         }
-        if (lines[i][0] === "	" || lines[i][0] === " ") {
-          if (h) {
-            this.header[h][this.header[h].length - 1] += lines[i];
-            continue;
-          }
+        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
+          throw new InvalidArgumentError("invalid headersTimeout");
         }
-        const posColon = lines[i].indexOf(":");
-        if (posColon === -1 || posColon === 0) {
-          return;
+        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
+          throw new InvalidArgumentError("invalid bodyTimeout");
         }
-        m = RE_HDR.exec(lines[i]);
-        h = m[1].toLowerCase();
-        this.header[h] = this.header[h] || [];
-        this.header[h].push(m[2] || "");
-        if (++this.npairs === this.maxHeaderPairs) {
-          break;
+        if (reset != null && typeof reset !== "boolean") {
+          throw new InvalidArgumentError("invalid reset");
         }
-      }
-    };
-    module2.exports = HeaderParser;
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js
-var require_Dicer = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js"(exports2, module2) {
-    "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var inherits = require("node:util").inherits;
-    var StreamSearch = require_sbmh();
-    var PartStream = require_PartStream();
-    var HeaderParser = require_HeaderParser();
-    var DASH = 45;
-    var B_ONEDASH = Buffer.from("-");
-    var B_CRLF = Buffer.from("\r\n");
-    var EMPTY_FN = function() {
-    };
-    function Dicer(cfg) {
-      if (!(this instanceof Dicer)) {
-        return new Dicer(cfg);
-      }
-      WritableStream.call(this, cfg);
-      if (!cfg || !cfg.headerFirst && typeof cfg.boundary !== "string") {
-        throw new TypeError("Boundary required");
-      }
-      if (typeof cfg.boundary === "string") {
-        this.setBoundary(cfg.boundary);
-      } else {
-        this._bparser = void 0;
-      }
-      this._headerFirst = cfg.headerFirst;
-      this._dashes = 0;
-      this._parts = 0;
-      this._finished = false;
-      this._realFinish = false;
-      this._isPreamble = true;
-      this._justMatched = false;
-      this._firstWrite = true;
-      this._inHeader = true;
-      this._part = void 0;
-      this._cb = void 0;
-      this._ignoreData = false;
-      this._partOpts = { highWaterMark: cfg.partHwm };
-      this._pause = false;
-      const self2 = this;
-      this._hparser = new HeaderParser(cfg);
-      this._hparser.on("header", function(header) {
-        self2._inHeader = false;
-        self2._part.emit("header", header);
-      });
-    }
-    inherits(Dicer, WritableStream);
-    Dicer.prototype.emit = function(ev) {
-      if (ev === "finish" && !this._realFinish) {
-        if (!this._finished) {
-          const self2 = this;
-          process.nextTick(function() {
-            self2.emit("error", new Error("Unexpected end of multipart data"));
-            if (self2._part && !self2._ignoreData) {
-              const type2 = self2._isPreamble ? "Preamble" : "Part";
-              self2._part.emit("error", new Error(type2 + " terminated early due to unexpected end of multipart data"));
-              self2._part.push(null);
-              process.nextTick(function() {
-                self2._realFinish = true;
-                self2.emit("finish");
-                self2._realFinish = false;
-              });
-              return;
-            }
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
-          });
+        if (expectContinue != null && typeof expectContinue !== "boolean") {
+          throw new InvalidArgumentError("invalid expectContinue");
         }
-      } else {
-        WritableStream.prototype.emit.apply(this, arguments);
-      }
-    };
-    Dicer.prototype._write = function(data, encoding, cb) {
-      if (!this._hparser && !this._bparser) {
-        return cb();
-      }
-      if (this._headerFirst && this._isPreamble) {
-        if (!this._part) {
-          this._part = new PartStream(this._partOpts);
-          if (this.listenerCount("preamble") !== 0) {
-            this.emit("preamble", this._part);
-          } else {
-            this._ignore();
+        this.headersTimeout = headersTimeout;
+        this.bodyTimeout = bodyTimeout;
+        this.throwOnError = throwOnError === true;
+        this.method = method;
+        this.abort = null;
+        if (body == null) {
+          this.body = null;
+        } else if (isStream(body)) {
+          this.body = body;
+          const rState = this.body._readableState;
+          if (!rState || !rState.autoDestroy) {
+            this.endHandler = function autoDestroy() {
+              destroy(this);
+            };
+            this.body.on("end", this.endHandler);
           }
-        }
-        const r = this._hparser.push(data);
-        if (!this._inHeader && r !== void 0 && r < data.length) {
-          data = data.slice(r);
+          this.errorHandler = (err) => {
+            if (this.abort) {
+              this.abort(err);
+            } else {
+              this.error = err;
+            }
+          };
+          this.body.on("error", this.errorHandler);
+        } else if (isBuffer(body)) {
+          this.body = body.byteLength ? body : null;
+        } else if (ArrayBuffer.isView(body)) {
+          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
+        } else if (body instanceof ArrayBuffer) {
+          this.body = body.byteLength ? Buffer.from(body) : null;
+        } else if (typeof body === "string") {
+          this.body = body.length ? Buffer.from(body) : null;
+        } else if (isFormDataLike(body) || isIterable(body) || isBlobLike(body)) {
+          this.body = body;
         } else {
-          return cb();
+          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
         }
-      }
-      if (this._firstWrite) {
-        this._bparser.push(B_CRLF);
-        this._firstWrite = false;
-      }
-      this._bparser.push(data);
-      if (this._pause) {
-        this._cb = cb;
-      } else {
-        cb();
-      }
-    };
-    Dicer.prototype.reset = function() {
-      this._part = void 0;
-      this._bparser = void 0;
-      this._hparser = void 0;
-    };
-    Dicer.prototype.setBoundary = function(boundary) {
-      const self2 = this;
-      this._bparser = new StreamSearch("\r\n--" + boundary);
-      this._bparser.on("info", function(isMatch, data, start, end) {
-        self2._oninfo(isMatch, data, start, end);
-      });
-    };
-    Dicer.prototype._ignore = function() {
-      if (this._part && !this._ignoreData) {
-        this._ignoreData = true;
-        this._part.on("error", EMPTY_FN);
-        this._part.resume();
-      }
-    };
-    Dicer.prototype._oninfo = function(isMatch, data, start, end) {
-      let buf;
-      const self2 = this;
-      let i = 0;
-      let r;
-      let shouldWriteMore = true;
-      if (!this._part && this._justMatched && data) {
-        while (this._dashes < 2 && start + i < end) {
-          if (data[start + i] === DASH) {
-            ++i;
-            ++this._dashes;
-          } else {
-            if (this._dashes) {
-              buf = B_ONEDASH;
-            }
-            this._dashes = 0;
-            break;
+        this.completed = false;
+        this.aborted = false;
+        this.upgrade = upgrade || null;
+        this.path = query ? buildURL(path11, query) : path11;
+        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");
           }
-        }
-        if (this._dashes === 2) {
-          if (start + i < end && this.listenerCount("trailer") !== 0) {
-            this.emit("trailer", data.slice(start + i, end));
+          for (let i = 0; i < headers.length; i += 2) {
+            processHeader(this, headers[i], headers[i + 1]);
           }
-          this.reset();
-          this._finished = true;
-          if (self2._parts === 0) {
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
+        } 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");
         }
-        if (this._dashes) {
-          return;
+        validateHandler(handler2, method, upgrade);
+        this.servername = servername || getServerName(this.host);
+        this[kHandler] = handler2;
+        if (channels.create.hasSubscribers) {
+          channels.create.publish({ request: this });
         }
       }
-      if (this._justMatched) {
-        this._justMatched = false;
+      onBodySent(chunk) {
+        if (this[kHandler].onBodySent) {
+          try {
+            return this[kHandler].onBodySent(chunk);
+          } catch (err) {
+            this.abort(err);
+          }
+        }
       }
-      if (!this._part) {
-        this._part = new PartStream(this._partOpts);
-        this._part._read = function(n) {
-          self2._unpause();
-        };
-        if (this._isPreamble && this.listenerCount("preamble") !== 0) {
-          this.emit("preamble", this._part);
-        } else if (this._isPreamble !== true && this.listenerCount("part") !== 0) {
-          this.emit("part", this._part);
-        } else {
-          this._ignore();
-        }
-        if (!this._isPreamble) {
-          this._inHeader = true;
+      onRequestSent() {
+        if (channels.bodySent.hasSubscribers) {
+          channels.bodySent.publish({ request: this });
         }
-      }
-      if (data && start < end && !this._ignoreData) {
-        if (this._isPreamble || !this._inHeader) {
-          if (buf) {
-            shouldWriteMore = this._part.push(buf);
-          }
-          shouldWriteMore = this._part.push(data.slice(start, end));
-          if (!shouldWriteMore) {
-            this._pause = true;
-          }
-        } else if (!this._isPreamble && this._inHeader) {
-          if (buf) {
-            this._hparser.push(buf);
-          }
-          r = this._hparser.push(data.slice(start, end));
-          if (!this._inHeader && r !== void 0 && r < end) {
-            this._oninfo(false, data, start + r, end);
+        if (this[kHandler].onRequestSent) {
+          try {
+            return this[kHandler].onRequestSent();
+          } catch (err) {
+            this.abort(err);
           }
         }
       }
-      if (isMatch) {
-        this._hparser.reset();
-        if (this._isPreamble) {
-          this._isPreamble = false;
+      onConnect(abort) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (this.error) {
+          abort(this.error);
         } else {
-          if (start !== end) {
-            ++this._parts;
-            this._part.on("end", function() {
-              if (--self2._parts === 0) {
-                if (self2._finished) {
-                  self2._realFinish = true;
-                  self2.emit("finish");
-                  self2._realFinish = false;
-                } else {
-                  self2._unpause();
-                }
-              }
-            });
-          }
+          this.abort = abort;
+          return this[kHandler].onConnect(abort);
         }
-        this._part.push(null);
-        this._part = void 0;
-        this._ignoreData = false;
-        this._justMatched = true;
-        this._dashes = 0;
-      }
-    };
-    Dicer.prototype._unpause = function() {
-      if (!this._pause) {
-        return;
       }
-      this._pause = false;
-      if (this._cb) {
-        const cb = this._cb;
-        this._cb = void 0;
-        cb();
-      }
-    };
-    module2.exports = Dicer;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/decodeText.js
-var require_decodeText = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/decodeText.js"(exports2, module2) {
-    "use strict";
-    var utf8Decoder = new TextDecoder("utf-8");
-    var textDecoders = /* @__PURE__ */ new Map([
-      ["utf-8", utf8Decoder],
-      ["utf8", utf8Decoder]
-    ]);
-    function getDecoder(charset) {
-      let lc;
-      while (true) {
-        switch (charset) {
-          case "utf-8":
-          case "utf8":
-            return decoders.utf8;
-          case "latin1":
-          case "ascii":
-          // TODO: Make these a separate, strict decoder?
-          case "us-ascii":
-          case "iso-8859-1":
-          case "iso8859-1":
-          case "iso88591":
-          case "iso_8859-1":
-          case "windows-1252":
-          case "iso_8859-1:1987":
-          case "cp1252":
-          case "x-cp1252":
-            return decoders.latin1;
-          case "utf16le":
-          case "utf-16le":
-          case "ucs2":
-          case "ucs-2":
-            return decoders.utf16le;
-          case "base64":
-            return decoders.base64;
-          default:
-            if (lc === void 0) {
-              lc = true;
-              charset = charset.toLowerCase();
-              continue;
-            }
-            return decoders.other.bind(charset);
-        }
+      onResponseStarted() {
+        return this[kHandler].onResponseStarted?.();
       }
-    }
-    var decoders = {
-      utf8: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
-        }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
-        }
-        return data.utf8Slice(0, data.length);
-      },
-      latin1: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+      onHeaders(statusCode, headers, resume, statusText) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (channels.headers.hasSubscribers) {
+          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
         }
-        if (typeof data === "string") {
-          return data;
+        try {
+          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
+        } catch (err) {
+          this.abort(err);
         }
-        return data.latin1Slice(0, data.length);
-      },
-      utf16le: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+      }
+      onData(chunk) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        try {
+          return this[kHandler].onData(chunk);
+        } catch (err) {
+          this.abort(err);
+          return false;
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      }
+      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 });
         }
-        return data.ucs2Slice(0, data.length);
-      },
-      base64: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+        try {
+          return this[kHandler].onComplete(trailers);
+        } catch (err) {
+          this.onError(err);
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      }
+      onError(error3) {
+        this.onFinally();
+        if (channels.error.hasSubscribers) {
+          channels.error.publish({ request: this, error: error3 });
         }
-        return data.base64Slice(0, data.length);
-      },
-      other: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+        if (this.aborted) {
+          return;
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+        this.aborted = true;
+        return this[kHandler].onError(error3);
+      }
+      onFinally() {
+        if (this.errorHandler) {
+          this.body.off("error", this.errorHandler);
+          this.errorHandler = null;
         }
-        if (textDecoders.has(exports2.toString())) {
-          try {
-            return textDecoders.get(exports2).decode(data);
-          } catch {
-          }
+        if (this.endHandler) {
+          this.body.off("end", this.endHandler);
+          this.endHandler = null;
         }
-        return typeof data === "string" ? data : data.toString();
+      }
+      addHeader(key, value) {
+        processHeader(this, key, value);
+        return this;
       }
     };
-    function decodeText(text, sourceEncoding, destEncoding) {
-      if (text) {
-        return getDecoder(destEncoding)(text, sourceEncoding);
+    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;
       }
-      return text;
-    }
-    module2.exports = decodeText;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/parseParams.js
-var require_parseParams = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/parseParams.js"(exports2, module2) {
-    "use strict";
-    var decodeText = require_decodeText();
-    var RE_ENCODED = /%[a-fA-F0-9][a-fA-F0-9]/g;
-    var EncodedLookup = {
-      "%00": "\0",
-      "%01": "",
-      "%02": "",
-      "%03": "",
-      "%04": "",
-      "%05": "",
-      "%06": "",
-      "%07": "\x07",
-      "%08": "\b",
-      "%09": "	",
-      "%0a": "\n",
-      "%0A": "\n",
-      "%0b": "\v",
-      "%0B": "\v",
-      "%0c": "\f",
-      "%0C": "\f",
-      "%0d": "\r",
-      "%0D": "\r",
-      "%0e": "",
-      "%0E": "",
-      "%0f": "",
-      "%0F": "",
-      "%10": "",
-      "%11": "",
-      "%12": "",
-      "%13": "",
-      "%14": "",
-      "%15": "",
-      "%16": "",
-      "%17": "",
-      "%18": "",
-      "%19": "",
-      "%1a": "",
-      "%1A": "",
-      "%1b": "\x1B",
-      "%1B": "\x1B",
-      "%1c": "",
-      "%1C": "",
-      "%1d": "",
-      "%1D": "",
-      "%1e": "",
-      "%1E": "",
-      "%1f": "",
-      "%1F": "",
-      "%20": " ",
-      "%21": "!",
-      "%22": '"',
-      "%23": "#",
-      "%24": "$",
-      "%25": "%",
-      "%26": "&",
-      "%27": "'",
-      "%28": "(",
-      "%29": ")",
-      "%2a": "*",
-      "%2A": "*",
-      "%2b": "+",
-      "%2B": "+",
-      "%2c": ",",
-      "%2C": ",",
-      "%2d": "-",
-      "%2D": "-",
-      "%2e": ".",
-      "%2E": ".",
-      "%2f": "/",
-      "%2F": "/",
-      "%30": "0",
-      "%31": "1",
-      "%32": "2",
-      "%33": "3",
-      "%34": "4",
-      "%35": "5",
-      "%36": "6",
-      "%37": "7",
-      "%38": "8",
-      "%39": "9",
-      "%3a": ":",
-      "%3A": ":",
-      "%3b": ";",
-      "%3B": ";",
-      "%3c": "<",
-      "%3C": "<",
-      "%3d": "=",
-      "%3D": "=",
-      "%3e": ">",
-      "%3E": ">",
-      "%3f": "?",
-      "%3F": "?",
-      "%40": "@",
-      "%41": "A",
-      "%42": "B",
-      "%43": "C",
-      "%44": "D",
-      "%45": "E",
-      "%46": "F",
-      "%47": "G",
-      "%48": "H",
-      "%49": "I",
-      "%4a": "J",
-      "%4A": "J",
-      "%4b": "K",
-      "%4B": "K",
-      "%4c": "L",
-      "%4C": "L",
-      "%4d": "M",
-      "%4D": "M",
-      "%4e": "N",
-      "%4E": "N",
-      "%4f": "O",
-      "%4F": "O",
-      "%50": "P",
-      "%51": "Q",
-      "%52": "R",
-      "%53": "S",
-      "%54": "T",
-      "%55": "U",
-      "%56": "V",
-      "%57": "W",
-      "%58": "X",
-      "%59": "Y",
-      "%5a": "Z",
-      "%5A": "Z",
-      "%5b": "[",
-      "%5B": "[",
-      "%5c": "\\",
-      "%5C": "\\",
-      "%5d": "]",
-      "%5D": "]",
-      "%5e": "^",
-      "%5E": "^",
-      "%5f": "_",
-      "%5F": "_",
-      "%60": "`",
-      "%61": "a",
-      "%62": "b",
-      "%63": "c",
-      "%64": "d",
-      "%65": "e",
-      "%66": "f",
-      "%67": "g",
-      "%68": "h",
-      "%69": "i",
-      "%6a": "j",
-      "%6A": "j",
-      "%6b": "k",
-      "%6B": "k",
-      "%6c": "l",
-      "%6C": "l",
-      "%6d": "m",
-      "%6D": "m",
-      "%6e": "n",
-      "%6E": "n",
-      "%6f": "o",
-      "%6F": "o",
-      "%70": "p",
-      "%71": "q",
-      "%72": "r",
-      "%73": "s",
-      "%74": "t",
-      "%75": "u",
-      "%76": "v",
-      "%77": "w",
-      "%78": "x",
-      "%79": "y",
-      "%7a": "z",
-      "%7A": "z",
-      "%7b": "{",
-      "%7B": "{",
-      "%7c": "|",
-      "%7C": "|",
-      "%7d": "}",
-      "%7D": "}",
-      "%7e": "~",
-      "%7E": "~",
-      "%7f": "\x7F",
-      "%7F": "\x7F",
-      "%80": "\x80",
-      "%81": "\x81",
-      "%82": "\x82",
-      "%83": "\x83",
-      "%84": "\x84",
-      "%85": "\x85",
-      "%86": "\x86",
-      "%87": "\x87",
-      "%88": "\x88",
-      "%89": "\x89",
-      "%8a": "\x8A",
-      "%8A": "\x8A",
-      "%8b": "\x8B",
-      "%8B": "\x8B",
-      "%8c": "\x8C",
-      "%8C": "\x8C",
-      "%8d": "\x8D",
-      "%8D": "\x8D",
-      "%8e": "\x8E",
-      "%8E": "\x8E",
-      "%8f": "\x8F",
-      "%8F": "\x8F",
-      "%90": "\x90",
-      "%91": "\x91",
-      "%92": "\x92",
-      "%93": "\x93",
-      "%94": "\x94",
-      "%95": "\x95",
-      "%96": "\x96",
-      "%97": "\x97",
-      "%98": "\x98",
-      "%99": "\x99",
-      "%9a": "\x9A",
-      "%9A": "\x9A",
-      "%9b": "\x9B",
-      "%9B": "\x9B",
-      "%9c": "\x9C",
-      "%9C": "\x9C",
-      "%9d": "\x9D",
-      "%9D": "\x9D",
-      "%9e": "\x9E",
-      "%9E": "\x9E",
-      "%9f": "\x9F",
-      "%9F": "\x9F",
-      "%a0": "\xA0",
-      "%A0": "\xA0",
-      "%a1": "\xA1",
-      "%A1": "\xA1",
-      "%a2": "\xA2",
-      "%A2": "\xA2",
-      "%a3": "\xA3",
-      "%A3": "\xA3",
-      "%a4": "\xA4",
-      "%A4": "\xA4",
-      "%a5": "\xA5",
-      "%A5": "\xA5",
-      "%a6": "\xA6",
-      "%A6": "\xA6",
-      "%a7": "\xA7",
-      "%A7": "\xA7",
-      "%a8": "\xA8",
-      "%A8": "\xA8",
-      "%a9": "\xA9",
-      "%A9": "\xA9",
-      "%aa": "\xAA",
-      "%Aa": "\xAA",
-      "%aA": "\xAA",
-      "%AA": "\xAA",
-      "%ab": "\xAB",
-      "%Ab": "\xAB",
-      "%aB": "\xAB",
-      "%AB": "\xAB",
-      "%ac": "\xAC",
-      "%Ac": "\xAC",
-      "%aC": "\xAC",
-      "%AC": "\xAC",
-      "%ad": "\xAD",
-      "%Ad": "\xAD",
-      "%aD": "\xAD",
-      "%AD": "\xAD",
-      "%ae": "\xAE",
-      "%Ae": "\xAE",
-      "%aE": "\xAE",
-      "%AE": "\xAE",
-      "%af": "\xAF",
-      "%Af": "\xAF",
-      "%aF": "\xAF",
-      "%AF": "\xAF",
-      "%b0": "\xB0",
-      "%B0": "\xB0",
-      "%b1": "\xB1",
-      "%B1": "\xB1",
-      "%b2": "\xB2",
-      "%B2": "\xB2",
-      "%b3": "\xB3",
-      "%B3": "\xB3",
-      "%b4": "\xB4",
-      "%B4": "\xB4",
-      "%b5": "\xB5",
-      "%B5": "\xB5",
-      "%b6": "\xB6",
-      "%B6": "\xB6",
-      "%b7": "\xB7",
-      "%B7": "\xB7",
-      "%b8": "\xB8",
-      "%B8": "\xB8",
-      "%b9": "\xB9",
-      "%B9": "\xB9",
-      "%ba": "\xBA",
-      "%Ba": "\xBA",
-      "%bA": "\xBA",
-      "%BA": "\xBA",
-      "%bb": "\xBB",
-      "%Bb": "\xBB",
-      "%bB": "\xBB",
-      "%BB": "\xBB",
-      "%bc": "\xBC",
-      "%Bc": "\xBC",
-      "%bC": "\xBC",
-      "%BC": "\xBC",
-      "%bd": "\xBD",
-      "%Bd": "\xBD",
-      "%bD": "\xBD",
-      "%BD": "\xBD",
-      "%be": "\xBE",
-      "%Be": "\xBE",
-      "%bE": "\xBE",
-      "%BE": "\xBE",
-      "%bf": "\xBF",
-      "%Bf": "\xBF",
-      "%bF": "\xBF",
-      "%BF": "\xBF",
-      "%c0": "\xC0",
-      "%C0": "\xC0",
-      "%c1": "\xC1",
-      "%C1": "\xC1",
-      "%c2": "\xC2",
-      "%C2": "\xC2",
-      "%c3": "\xC3",
-      "%C3": "\xC3",
-      "%c4": "\xC4",
-      "%C4": "\xC4",
-      "%c5": "\xC5",
-      "%C5": "\xC5",
-      "%c6": "\xC6",
-      "%C6": "\xC6",
-      "%c7": "\xC7",
-      "%C7": "\xC7",
-      "%c8": "\xC8",
-      "%C8": "\xC8",
-      "%c9": "\xC9",
-      "%C9": "\xC9",
-      "%ca": "\xCA",
-      "%Ca": "\xCA",
-      "%cA": "\xCA",
-      "%CA": "\xCA",
-      "%cb": "\xCB",
-      "%Cb": "\xCB",
-      "%cB": "\xCB",
-      "%CB": "\xCB",
-      "%cc": "\xCC",
-      "%Cc": "\xCC",
-      "%cC": "\xCC",
-      "%CC": "\xCC",
-      "%cd": "\xCD",
-      "%Cd": "\xCD",
-      "%cD": "\xCD",
-      "%CD": "\xCD",
-      "%ce": "\xCE",
-      "%Ce": "\xCE",
-      "%cE": "\xCE",
-      "%CE": "\xCE",
-      "%cf": "\xCF",
-      "%Cf": "\xCF",
-      "%cF": "\xCF",
-      "%CF": "\xCF",
-      "%d0": "\xD0",
-      "%D0": "\xD0",
-      "%d1": "\xD1",
-      "%D1": "\xD1",
-      "%d2": "\xD2",
-      "%D2": "\xD2",
-      "%d3": "\xD3",
-      "%D3": "\xD3",
-      "%d4": "\xD4",
-      "%D4": "\xD4",
-      "%d5": "\xD5",
-      "%D5": "\xD5",
-      "%d6": "\xD6",
-      "%D6": "\xD6",
-      "%d7": "\xD7",
-      "%D7": "\xD7",
-      "%d8": "\xD8",
-      "%D8": "\xD8",
-      "%d9": "\xD9",
-      "%D9": "\xD9",
-      "%da": "\xDA",
-      "%Da": "\xDA",
-      "%dA": "\xDA",
-      "%DA": "\xDA",
-      "%db": "\xDB",
-      "%Db": "\xDB",
-      "%dB": "\xDB",
-      "%DB": "\xDB",
-      "%dc": "\xDC",
-      "%Dc": "\xDC",
-      "%dC": "\xDC",
-      "%DC": "\xDC",
-      "%dd": "\xDD",
-      "%Dd": "\xDD",
-      "%dD": "\xDD",
-      "%DD": "\xDD",
-      "%de": "\xDE",
-      "%De": "\xDE",
-      "%dE": "\xDE",
-      "%DE": "\xDE",
-      "%df": "\xDF",
-      "%Df": "\xDF",
-      "%dF": "\xDF",
-      "%DF": "\xDF",
-      "%e0": "\xE0",
-      "%E0": "\xE0",
-      "%e1": "\xE1",
-      "%E1": "\xE1",
-      "%e2": "\xE2",
-      "%E2": "\xE2",
-      "%e3": "\xE3",
-      "%E3": "\xE3",
-      "%e4": "\xE4",
-      "%E4": "\xE4",
-      "%e5": "\xE5",
-      "%E5": "\xE5",
-      "%e6": "\xE6",
-      "%E6": "\xE6",
-      "%e7": "\xE7",
-      "%E7": "\xE7",
-      "%e8": "\xE8",
-      "%E8": "\xE8",
-      "%e9": "\xE9",
-      "%E9": "\xE9",
-      "%ea": "\xEA",
-      "%Ea": "\xEA",
-      "%eA": "\xEA",
-      "%EA": "\xEA",
-      "%eb": "\xEB",
-      "%Eb": "\xEB",
-      "%eB": "\xEB",
-      "%EB": "\xEB",
-      "%ec": "\xEC",
-      "%Ec": "\xEC",
-      "%eC": "\xEC",
-      "%EC": "\xEC",
-      "%ed": "\xED",
-      "%Ed": "\xED",
-      "%eD": "\xED",
-      "%ED": "\xED",
-      "%ee": "\xEE",
-      "%Ee": "\xEE",
-      "%eE": "\xEE",
-      "%EE": "\xEE",
-      "%ef": "\xEF",
-      "%Ef": "\xEF",
-      "%eF": "\xEF",
-      "%EF": "\xEF",
-      "%f0": "\xF0",
-      "%F0": "\xF0",
-      "%f1": "\xF1",
-      "%F1": "\xF1",
-      "%f2": "\xF2",
-      "%F2": "\xF2",
-      "%f3": "\xF3",
-      "%F3": "\xF3",
-      "%f4": "\xF4",
-      "%F4": "\xF4",
-      "%f5": "\xF5",
-      "%F5": "\xF5",
-      "%f6": "\xF6",
-      "%F6": "\xF6",
-      "%f7": "\xF7",
-      "%F7": "\xF7",
-      "%f8": "\xF8",
-      "%F8": "\xF8",
-      "%f9": "\xF9",
-      "%F9": "\xF9",
-      "%fa": "\xFA",
-      "%Fa": "\xFA",
-      "%fA": "\xFA",
-      "%FA": "\xFA",
-      "%fb": "\xFB",
-      "%Fb": "\xFB",
-      "%fB": "\xFB",
-      "%FB": "\xFB",
-      "%fc": "\xFC",
-      "%Fc": "\xFC",
-      "%fC": "\xFC",
-      "%FC": "\xFC",
-      "%fd": "\xFD",
-      "%Fd": "\xFD",
-      "%fD": "\xFD",
-      "%FD": "\xFD",
-      "%fe": "\xFE",
-      "%Fe": "\xFE",
-      "%fE": "\xFE",
-      "%FE": "\xFE",
-      "%ff": "\xFF",
-      "%Ff": "\xFF",
-      "%fF": "\xFF",
-      "%FF": "\xFF"
-    };
-    function encodedReplacer(match) {
-      return EncodedLookup[match];
-    }
-    var STATE_KEY = 0;
-    var STATE_VALUE = 1;
-    var STATE_CHARSET = 2;
-    var STATE_LANG = 3;
-    function parseParams(str2) {
-      const res = [];
-      let state = STATE_KEY;
-      let charset = "";
-      let inquote = false;
-      let escaping = false;
-      let p = 0;
-      let tmp = "";
-      const len = str2.length;
-      for (var i = 0; i < len; ++i) {
-        const char = str2[i];
-        if (char === "\\" && inquote) {
-          if (escaping) {
-            escaping = false;
-          } else {
-            escaping = true;
-            continue;
-          }
-        } else if (char === '"') {
-          if (!escaping) {
-            if (inquote) {
-              inquote = false;
-              state = STATE_KEY;
-            } else {
-              inquote = true;
+      let headerName = headerNameLowerCasedRecord[key];
+      if (headerName === void 0) {
+        headerName = key.toLowerCase();
+        if (headerNameLowerCasedRecord[headerName] === void 0 && !isValidHTTPToken(headerName)) {
+          throw new InvalidArgumentError("invalid header key");
+        }
+      }
+      if (Array.isArray(val)) {
+        const arr = [];
+        for (let i = 0; i < val.length; i++) {
+          if (typeof val[i] === "string") {
+            if (!isValidHeaderValue(val[i])) {
+              throw new InvalidArgumentError(`invalid ${key} header`);
             }
-            continue;
+            arr.push(val[i]);
+          } else if (val[i] === null) {
+            arr.push("");
+          } else if (typeof val[i] === "object") {
+            throw new InvalidArgumentError(`invalid ${key} header`);
           } else {
-            escaping = false;
-          }
-        } else {
-          if (escaping && inquote) {
-            tmp += "\\";
-          }
-          escaping = false;
-          if ((state === STATE_CHARSET || state === STATE_LANG) && char === "'") {
-            if (state === STATE_CHARSET) {
-              state = STATE_LANG;
-              charset = tmp.substring(1);
-            } else {
-              state = STATE_VALUE;
-            }
-            tmp = "";
-            continue;
-          } else if (state === STATE_KEY && (char === "*" || char === "=") && res.length) {
-            state = char === "*" ? STATE_CHARSET : STATE_VALUE;
-            res[p] = [tmp, void 0];
-            tmp = "";
-            continue;
-          } else if (!inquote && char === ";") {
-            state = STATE_KEY;
-            if (charset) {
-              if (tmp.length) {
-                tmp = decodeText(
-                  tmp.replace(RE_ENCODED, encodedReplacer),
-                  "binary",
-                  charset
-                );
-              }
-              charset = "";
-            } else if (tmp.length) {
-              tmp = decodeText(tmp, "binary", "utf8");
-            }
-            if (res[p] === void 0) {
-              res[p] = tmp;
-            } else {
-              res[p][1] = tmp;
-            }
-            tmp = "";
-            ++p;
-            continue;
-          } else if (!inquote && (char === " " || char === "	")) {
-            continue;
+            arr.push(`${val[i]}`);
           }
         }
-        tmp += char;
-      }
-      if (charset && tmp.length) {
-        tmp = decodeText(
-          tmp.replace(RE_ENCODED, encodedReplacer),
-          "binary",
-          charset
-        );
-      } else if (tmp) {
-        tmp = decodeText(tmp, "binary", "utf8");
-      }
-      if (res[p] === void 0) {
-        if (tmp) {
-          res[p] = tmp;
+        val = arr;
+      } else if (typeof val === "string") {
+        if (!isValidHeaderValue(val)) {
+          throw new InvalidArgumentError(`invalid ${key} header`);
         }
+      } else if (val === null) {
+        val = "";
       } else {
-        res[p][1] = tmp;
-      }
-      return res;
-    }
-    module2.exports = parseParams;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/basename.js
-var require_basename = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/basename.js"(exports2, module2) {
-    "use strict";
-    module2.exports = function basename(path11) {
-      if (typeof path11 !== "string") {
-        return "";
+        val = `${val}`;
       }
-      for (var i = path11.length - 1; i >= 0; --i) {
-        switch (path11.charCodeAt(i)) {
-          case 47:
-          // '/'
-          case 92:
-            path11 = path11.slice(i + 1);
-            return path11 === ".." || path11 === "." ? "" : path11;
+      if (request2.host === null && headerName === "host") {
+        if (typeof val !== "string") {
+          throw new InvalidArgumentError("invalid host header");
         }
-      }
-      return path11 === ".." || path11 === "." ? "" : path11;
-    };
-  }
-});
-
-// node_modules/@fastify/busboy/lib/types/multipart.js
-var require_multipart = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/multipart.js"(exports2, module2) {
-    "use strict";
-    var { Readable: Readable2 } = require("node:stream");
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var parseParams = require_parseParams();
-    var decodeText = require_decodeText();
-    var basename = require_basename();
-    var getLimit = require_getLimit();
-    var RE_BOUNDARY = /^boundary$/i;
-    var RE_FIELD = /^form-data$/i;
-    var RE_CHARSET = /^charset$/i;
-    var RE_FILENAME = /^filename$/i;
-    var RE_NAME = /^name$/i;
-    Multipart.detect = /^multipart\/form-data/i;
-    function Multipart(boy, cfg) {
-      let i;
-      let len;
-      const self2 = this;
-      let boundary;
-      const limits = cfg.limits;
-      const isPartAFile = cfg.isPartAFile || ((fieldName, contentType, fileName) => contentType === "application/octet-stream" || fileName !== void 0);
-      const parsedConType = cfg.parsedConType || [];
-      const defCharset = cfg.defCharset || "utf8";
-      const preservePath = cfg.preservePath;
-      const fileOpts = { highWaterMark: cfg.fileHwm };
-      for (i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_BOUNDARY.test(parsedConType[i][0])) {
-          boundary = parsedConType[i][1];
-          break;
+        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");
         }
-      }
-      function checkFinished() {
-        if (nends === 0 && finished && !boy._done) {
-          finished = false;
-          self2.end();
+      } 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 (typeof boundary !== "string") {
-        throw new Error("Multipart: Boundary not found");
-      }
-      const fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      const fileSizeLimit = getLimit(limits, "fileSize", Infinity);
-      const filesLimit = getLimit(limits, "files", Infinity);
-      const fieldsLimit = getLimit(limits, "fields", Infinity);
-      const partsLimit = getLimit(limits, "parts", Infinity);
-      const headerPairsLimit = getLimit(limits, "headerPairs", 2e3);
-      const headerSizeLimit = getLimit(limits, "headerSize", 80 * 1024);
-      let nfiles = 0;
-      let nfields = 0;
-      let nends = 0;
-      let curFile;
-      let curField;
-      let finished = false;
-      this._needDrain = false;
-      this._pause = false;
-      this._cb = void 0;
-      this._nparts = 0;
-      this._boy = boy;
-      const parserCfg = {
-        boundary,
-        maxHeaderPairs: headerPairsLimit,
-        maxHeaderSize: headerSizeLimit,
-        partHwm: fileOpts.highWaterMark,
-        highWaterMark: cfg.highWaterMark
-      };
-      this.parser = new Dicer(parserCfg);
-      this.parser.on("drain", function() {
-        self2._needDrain = false;
-        if (self2._cb && !self2._pause) {
-          const cb = self2._cb;
-          self2._cb = void 0;
-          cb();
+        if (value === "close") {
+          request2.reset = true;
         }
-      }).on("part", function onPart(part) {
-        if (++self2._nparts > partsLimit) {
-          self2.parser.removeListener("part", onPart);
-          self2.parser.on("part", skipPart);
-          boy.hitPartsLimit = true;
-          boy.emit("partsLimit");
-          return skipPart(part);
-        }
-        if (curField) {
-          const field = curField;
-          field.emit("end");
-          field.removeAllListeners("end");
-        }
-        part.on("header", function(header) {
-          let contype;
-          let fieldname;
-          let parsed;
-          let charset;
-          let encoding;
-          let filename;
-          let nsize = 0;
-          if (header["content-type"]) {
-            parsed = parseParams(header["content-type"][0]);
-            if (parsed[0]) {
-              contype = parsed[0].toLowerCase();
-              for (i = 0, len = parsed.length; i < len; ++i) {
-                if (RE_CHARSET.test(parsed[i][0])) {
-                  charset = parsed[i][1].toLowerCase();
-                  break;
-                }
-              }
-            }
-          }
-          if (contype === void 0) {
-            contype = "text/plain";
-          }
-          if (charset === void 0) {
-            charset = defCharset;
-          }
-          if (header["content-disposition"]) {
-            parsed = parseParams(header["content-disposition"][0]);
-            if (!RE_FIELD.test(parsed[0])) {
-              return skipPart(part);
-            }
-            for (i = 0, len = parsed.length; i < len; ++i) {
-              if (RE_NAME.test(parsed[i][0])) {
-                fieldname = parsed[i][1];
-              } else if (RE_FILENAME.test(parsed[i][0])) {
-                filename = parsed[i][1];
-                if (!preservePath) {
-                  filename = basename(filename);
-                }
-              }
-            }
-          } else {
-            return skipPart(part);
-          }
-          if (header["content-transfer-encoding"]) {
-            encoding = header["content-transfer-encoding"][0].toLowerCase();
-          } else {
-            encoding = "7bit";
-          }
-          let onData, onEnd;
-          if (isPartAFile(fieldname, contype, filename)) {
-            if (nfiles === filesLimit) {
-              if (!boy.hitFilesLimit) {
-                boy.hitFilesLimit = true;
-                boy.emit("filesLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfiles;
-            if (boy.listenerCount("file") === 0) {
-              self2.parser._ignore();
-              return;
-            }
-            ++nends;
-            const file = new FileStream(fileOpts);
-            curFile = file;
-            file.on("end", function() {
-              --nends;
-              self2._pause = false;
-              checkFinished();
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            });
-            file._read = function(n) {
-              if (!self2._pause) {
-                return;
-              }
-              self2._pause = false;
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            };
-            boy.emit("file", fieldname, file, filename, encoding, contype);
-            onData = function(data) {
-              if ((nsize += data.length) > fileSizeLimit) {
-                const extralen = fileSizeLimit - nsize + data.length;
-                if (extralen > 0) {
-                  file.push(data.slice(0, extralen));
-                }
-                file.truncated = true;
-                file.bytesRead = fileSizeLimit;
-                part.removeAllListeners("data");
-                file.emit("limit");
-                return;
-              } else if (!file.push(data)) {
-                self2._pause = true;
-              }
-              file.bytesRead = nsize;
-            };
-            onEnd = function() {
-              curFile = void 0;
-              file.push(null);
-            };
-          } else {
-            if (nfields === fieldsLimit) {
-              if (!boy.hitFieldsLimit) {
-                boy.hitFieldsLimit = true;
-                boy.emit("fieldsLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfields;
-            ++nends;
-            let buffer = "";
-            let truncated = false;
-            curField = part;
-            onData = function(data) {
-              if ((nsize += data.length) > fieldSizeLimit) {
-                const extralen = fieldSizeLimit - (nsize - data.length);
-                buffer += data.toString("binary", 0, extralen);
-                truncated = true;
-                part.removeAllListeners("data");
-              } else {
-                buffer += data.toString("binary");
-              }
-            };
-            onEnd = function() {
-              curField = void 0;
-              if (buffer.length) {
-                buffer = decodeText(buffer, "binary", charset);
-              }
-              boy.emit("field", fieldname, buffer, false, truncated, encoding, contype);
-              --nends;
-              checkFinished();
-            };
-          }
-          part._readableState.sync = false;
-          part.on("data", onData);
-          part.on("end", onEnd);
-        }).on("error", function(err) {
-          if (curFile) {
-            curFile.emit("error", err);
-          }
-        });
-      }).on("error", function(err) {
-        boy.emit("error", err);
-      }).on("finish", function() {
-        finished = true;
-        checkFinished();
-      });
-    }
-    Multipart.prototype.write = function(chunk, cb) {
-      const r = this.parser.write(chunk);
-      if (r && !this._pause) {
-        cb();
+      } else if (headerName === "expect") {
+        throw new NotSupportedError("expect header not supported");
       } else {
-        this._needDrain = !r;
-        this._cb = cb;
-      }
-    };
-    Multipart.prototype.end = function() {
-      const self2 = this;
-      if (self2.parser.writable) {
-        self2.parser.end();
-      } else if (!self2._boy._done) {
-        process.nextTick(function() {
-          self2._boy._done = true;
-          self2._boy.emit("finish");
-        });
+        request2.headers.push(key, val);
       }
-    };
-    function skipPart(part) {
-      part.resume();
-    }
-    function FileStream(opts) {
-      Readable2.call(this, opts);
-      this.bytesRead = 0;
-      this.truncated = false;
     }
-    inherits(FileStream, Readable2);
-    FileStream.prototype._read = function(n) {
-    };
-    module2.exports = Multipart;
+    module2.exports = Request;
   }
 });
 
-// node_modules/@fastify/busboy/lib/utils/Decoder.js
-var require_Decoder = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/Decoder.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js
+var require_dispatcher2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js"(exports2, module2) {
     "use strict";
-    var RE_PLUS = /\+/g;
-    var HEX = [
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0
-    ];
-    function Decoder() {
-      this.buffer = void 0;
-    }
-    Decoder.prototype.write = function(str2) {
-      str2 = str2.replace(RE_PLUS, " ");
-      let res = "";
-      let i = 0;
-      let p = 0;
-      const len = str2.length;
-      for (; i < len; ++i) {
-        if (this.buffer !== void 0) {
-          if (!HEX[str2.charCodeAt(i)]) {
-            res += "%" + this.buffer;
-            this.buffer = void 0;
-            --i;
-          } else {
-            this.buffer += str2[i];
-            ++p;
-            if (this.buffer.length === 2) {
-              res += String.fromCharCode(parseInt(this.buffer, 16));
-              this.buffer = void 0;
-            }
-          }
-        } else if (str2[i] === "%") {
-          if (i > p) {
-            res += str2.substring(p, i);
-            p = i;
-          }
-          this.buffer = "";
-          ++p;
-        }
+    var EventEmitter = require("node:events");
+    var Dispatcher = class extends EventEmitter {
+      dispatch() {
+        throw new Error("not implemented");
       }
-      if (p < len && this.buffer === void 0) {
-        res += str2.substring(p);
+      close() {
+        throw new Error("not implemented");
       }
-      return res;
-    };
-    Decoder.prototype.reset = function() {
-      this.buffer = void 0;
-    };
-    module2.exports = Decoder;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/types/urlencoded.js
-var require_urlencoded = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/urlencoded.js"(exports2, module2) {
-    "use strict";
-    var Decoder = require_Decoder();
-    var decodeText = require_decodeText();
-    var getLimit = require_getLimit();
-    var RE_CHARSET = /^charset$/i;
-    UrlEncoded.detect = /^application\/x-www-form-urlencoded/i;
-    function UrlEncoded(boy, cfg) {
-      const limits = cfg.limits;
-      const parsedConType = cfg.parsedConType;
-      this.boy = boy;
-      this.fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      this.fieldNameSizeLimit = getLimit(limits, "fieldNameSize", 100);
-      this.fieldsLimit = getLimit(limits, "fields", Infinity);
-      let charset;
-      for (var i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_CHARSET.test(parsedConType[i][0])) {
-          charset = parsedConType[i][1].toLowerCase();
-          break;
-        }
+      destroy() {
+        throw new Error("not implemented");
       }
-      if (charset === void 0) {
-        charset = cfg.defCharset || "utf8";
-      }
-      this.decoder = new Decoder();
-      this.charset = charset;
-      this._fields = 0;
-      this._state = "key";
-      this._checkingBytes = true;
-      this._bytesKey = 0;
-      this._bytesVal = 0;
-      this._key = "";
-      this._val = "";
-      this._keyTrunc = false;
-      this._valTrunc = false;
-      this._hitLimit = false;
-    }
-    UrlEncoded.prototype.write = function(data, cb) {
-      if (this._fields === this.fieldsLimit) {
-        if (!this.boy.hitFieldsLimit) {
-          this.boy.hitFieldsLimit = true;
-          this.boy.emit("fieldsLimit");
-        }
-        return cb();
-      }
-      let idxeq;
-      let idxamp;
-      let i;
-      let p = 0;
-      const len = data.length;
-      while (p < len) {
-        if (this._state === "key") {
-          idxeq = idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 61) {
-              idxeq = i;
-              break;
-            } else if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesKey === this.fieldNameSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesKey;
-            }
-          }
-          if (idxeq !== void 0) {
-            if (idxeq > p) {
-              this._key += this.decoder.write(data.toString("binary", p, idxeq));
-            }
-            this._state = "val";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._val = "";
-            this._bytesVal = 0;
-            this._valTrunc = false;
-            this.decoder.reset();
-            p = idxeq + 1;
-          } else if (idxamp !== void 0) {
-            ++this._fields;
-            let key;
-            const keyTrunc = this._keyTrunc;
-            if (idxamp > p) {
-              key = this._key += this.decoder.write(data.toString("binary", p, idxamp));
-            } else {
-              key = this._key;
-            }
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            if (key.length) {
-              this.boy.emit(
-                "field",
-                decodeText(key, "binary", this.charset),
-                "",
-                keyTrunc,
-                false
-              );
-            }
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._key += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if ((this._bytesKey = this._key.length) === this.fieldNameSizeLimit) {
-              this._checkingBytes = false;
-              this._keyTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._key += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+      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;
           }
-        } else {
-          idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesVal === this.fieldSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesVal;
-            }
+          if (typeof interceptor !== "function") {
+            throw new TypeError(`invalid interceptor, expected function received ${typeof interceptor}`);
           }
-          if (idxamp !== void 0) {
-            ++this._fields;
-            if (idxamp > p) {
-              this._val += this.decoder.write(data.toString("binary", p, idxamp));
-            }
-            this.boy.emit(
-              "field",
-              decodeText(this._key, "binary", this.charset),
-              decodeText(this._val, "binary", this.charset),
-              this._keyTrunc,
-              this._valTrunc
-            );
-            this._state = "key";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._val += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if (this._val === "" && this.fieldSizeLimit === 0 || (this._bytesVal = this._val.length) === this.fieldSizeLimit) {
-              this._checkingBytes = false;
-              this._valTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._val += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+          dispatch = interceptor(dispatch);
+          if (dispatch == null || typeof dispatch !== "function" || dispatch.length !== 2) {
+            throw new TypeError("invalid interceptor");
           }
         }
+        return new ComposedDispatcher(this, dispatch);
       }
-      cb();
     };
-    UrlEncoded.prototype.end = function() {
-      if (this.boy._done) {
-        return;
+    var ComposedDispatcher = class extends Dispatcher {
+      #dispatcher = null;
+      #dispatch = null;
+      constructor(dispatcher, dispatch) {
+        super();
+        this.#dispatcher = dispatcher;
+        this.#dispatch = dispatch;
       }
-      if (this._state === "key" && this._key.length > 0) {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          "",
-          this._keyTrunc,
-          false
-        );
-      } else if (this._state === "val") {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          decodeText(this._val, "binary", this.charset),
-          this._keyTrunc,
-          this._valTrunc
-        );
+      dispatch(...args) {
+        this.#dispatch(...args);
+      }
+      close(...args) {
+        return this.#dispatcher.close(...args);
+      }
+      destroy(...args) {
+        return this.#dispatcher.destroy(...args);
       }
-      this.boy._done = true;
-      this.boy.emit("finish");
     };
-    module2.exports = UrlEncoded;
+    module2.exports = Dispatcher;
   }
 });
 
-// node_modules/@fastify/busboy/lib/main.js
-var require_main = __commonJS({
-  "node_modules/@fastify/busboy/lib/main.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js
+var require_dispatcher_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js"(exports2, module2) {
     "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var MultipartParser = require_multipart();
-    var UrlencodedParser = require_urlencoded();
-    var parseParams = require_parseParams();
-    function Busboy(opts) {
-      if (!(this instanceof Busboy)) {
-        return new Busboy(opts);
+    var Dispatcher = require_dispatcher2();
+    var {
+      ClientDestroyedError,
+      ClientClosedError,
+      InvalidArgumentError
+    } = require_errors2();
+    var { kDestroy, kClose, kClosed, kDestroyed, kDispatch, kInterceptors } = require_symbols6();
+    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
+    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
+    var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
+    var DispatcherBase = class extends Dispatcher {
+      constructor() {
+        super();
+        this[kDestroyed] = false;
+        this[kOnDestroyed] = null;
+        this[kClosed] = false;
+        this[kOnClosed] = [];
       }
-      if (typeof opts !== "object") {
-        throw new TypeError("Busboy expected an options-Object.");
+      get destroyed() {
+        return this[kDestroyed];
       }
-      if (typeof opts.headers !== "object") {
-        throw new TypeError("Busboy expected an options-Object with headers-attribute.");
+      get closed() {
+        return this[kClosed];
       }
-      if (typeof opts.headers["content-type"] !== "string") {
-        throw new TypeError("Missing Content-Type-header.");
+      get interceptors() {
+        return this[kInterceptors];
       }
-      const {
-        headers,
-        ...streamOptions
-      } = opts;
-      this.opts = {
-        autoDestroy: false,
-        ...streamOptions
-      };
-      WritableStream.call(this, this.opts);
-      this._done = false;
-      this._parser = this.getParserByHeaders(headers);
-      this._finished = false;
-    }
-    inherits(Busboy, WritableStream);
-    Busboy.prototype.emit = function(ev) {
-      if (ev === "finish") {
-        if (!this._done) {
-          this._parser?.end();
+      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");
+            }
+          }
+        }
+        this[kInterceptors] = newInterceptors;
+      }
+      close(callback) {
+        if (callback === void 0) {
+          return new Promise((resolve6, reject) => {
+            this.close((err, data) => {
+              return err ? reject(err) : resolve6(data);
+            });
+          });
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        if (this[kDestroyed]) {
+          queueMicrotask(() => callback(new ClientDestroyedError(), null));
           return;
-        } else if (this._finished) {
+        }
+        if (this[kClosed]) {
+          if (this[kOnClosed]) {
+            this[kOnClosed].push(callback);
+          } else {
+            queueMicrotask(() => callback(null, null));
+          }
           return;
         }
-        this._finished = true;
-      }
-      WritableStream.prototype.emit.apply(this, arguments);
-    };
-    Busboy.prototype.getParserByHeaders = function(headers) {
-      const parsed = parseParams(headers["content-type"]);
-      const cfg = {
-        defCharset: this.opts.defCharset,
-        fileHwm: this.opts.fileHwm,
-        headers,
-        highWaterMark: this.opts.highWaterMark,
-        isPartAFile: this.opts.isPartAFile,
-        limits: this.opts.limits,
-        parsedConType: parsed,
-        preservePath: this.opts.preservePath
-      };
-      if (MultipartParser.detect.test(parsed[0])) {
-        return new MultipartParser(this, cfg);
+        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);
+        });
       }
-      if (UrlencodedParser.detect.test(parsed[0])) {
-        return new UrlencodedParser(this, cfg);
+      destroy(err, callback) {
+        if (typeof err === "function") {
+          callback = err;
+          err = null;
+        }
+        if (callback === void 0) {
+          return new Promise((resolve6, reject) => {
+            this.destroy(err, (err2, data) => {
+              return err2 ? (
+                /* istanbul ignore next: should never error */
+                reject(err2)
+              ) : resolve6(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;
+        }
       }
-      throw new Error("Unsupported Content-Type.");
-    };
-    Busboy.prototype._write = function(chunk, encoding, cb) {
-      this._parser.write(chunk, cb);
     };
-    module2.exports = Busboy;
-    module2.exports.default = Busboy;
-    module2.exports.Busboy = Busboy;
-    module2.exports.Dicer = Dicer;
+    module2.exports = DispatcherBase;
   }
 });
 
-// node_modules/undici/lib/fetch/constants.js
-var require_constants7 = __commonJS({
-  "node_modules/undici/lib/fetch/constants.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/util/timers.js
+var require_timers2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/util/timers.js"(exports2, module2) {
     "use strict";
-    var { MessageChannel, receiveMessageOnPort } = require("worker_threads");
-    var corsSafeListedMethods = ["GET", "HEAD", "POST"];
-    var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
-    var nullBodyStatus = [101, 204, 205, 304];
-    var redirectStatus = [301, 302, 303, 307, 308];
-    var redirectStatusSet = new Set(redirectStatus);
-    var badPorts = [
-      "1",
-      "7",
-      "9",
-      "11",
-      "13",
-      "15",
-      "17",
-      "19",
-      "20",
-      "21",
-      "22",
-      "23",
-      "25",
-      "37",
-      "42",
-      "43",
-      "53",
-      "69",
-      "77",
-      "79",
-      "87",
-      "95",
-      "101",
-      "102",
-      "103",
-      "104",
-      "109",
-      "110",
-      "111",
-      "113",
-      "115",
-      "117",
-      "119",
-      "123",
-      "135",
-      "137",
-      "139",
-      "143",
-      "161",
-      "179",
-      "389",
-      "427",
-      "465",
-      "512",
-      "513",
-      "514",
-      "515",
-      "526",
-      "530",
-      "531",
-      "532",
-      "540",
-      "548",
-      "554",
-      "556",
-      "563",
-      "587",
-      "601",
-      "636",
-      "989",
-      "990",
-      "993",
-      "995",
-      "1719",
-      "1720",
-      "1723",
-      "2049",
-      "3659",
-      "4045",
-      "5060",
-      "5061",
-      "6000",
-      "6566",
-      "6665",
-      "6666",
-      "6667",
-      "6668",
-      "6669",
-      "6697",
-      "10080"
-    ];
-    var badPortsSet = new Set(badPorts);
-    var referrerPolicy = [
-      "",
-      "no-referrer",
-      "no-referrer-when-downgrade",
-      "same-origin",
-      "origin",
-      "strict-origin",
-      "origin-when-cross-origin",
-      "strict-origin-when-cross-origin",
-      "unsafe-url"
-    ];
-    var referrerPolicySet = new Set(referrerPolicy);
-    var requestRedirect = ["follow", "manual", "error"];
-    var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"];
-    var safeMethodsSet = new Set(safeMethods);
-    var requestMode = ["navigate", "same-origin", "no-cors", "cors"];
-    var requestCredentials = ["omit", "same-origin", "include"];
-    var requestCache = [
-      "default",
-      "no-store",
-      "reload",
-      "no-cache",
-      "force-cache",
-      "only-if-cached"
-    ];
-    var requestBodyHeader = [
-      "content-encoding",
-      "content-language",
-      "content-location",
-      "content-type",
-      // See https://github.com/nodejs/undici/issues/2021
-      // 'Content-Length' is a forbidden header name, which is typically
-      // removed in the Headers implementation. However, undici doesn't
-      // filter out headers, so we add it here.
-      "content-length"
-    ];
-    var requestDuplex = [
-      "half"
-    ];
-    var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"];
-    var forbiddenMethodsSet = new Set(forbiddenMethods);
-    var subresource = [
-      "audio",
-      "audioworklet",
-      "font",
-      "image",
-      "manifest",
-      "paintworklet",
-      "script",
-      "style",
-      "track",
-      "video",
-      "xslt",
-      ""
-    ];
-    var subresourceSet = new Set(subresource);
-    var DOMException2 = globalThis.DOMException ?? (() => {
-      try {
-        atob("~");
-      } catch (err) {
-        return Object.getPrototypeOf(err).constructor;
+    var fastNow = 0;
+    var RESOLUTION_MS = 1e3;
+    var TICK_MS = (RESOLUTION_MS >> 1) - 1;
+    var fastNowTimeout;
+    var kFastTimer = /* @__PURE__ */ 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;
+        }
       }
-    })();
-    var channel;
-    var structuredClone = globalThis.structuredClone ?? // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js
-    // structuredClone was added in v17.0.0, but fetch supports v16.8
-    function structuredClone2(value, options = void 0) {
-      if (arguments.length === 0) {
-        throw new TypeError("missing argument");
+      fastTimers.length = len;
+      if (fastTimers.length !== 0) {
+        refreshTimeout();
       }
-      if (!channel) {
-        channel = new MessageChannel();
+    }
+    function refreshTimeout() {
+      if (fastNowTimeout) {
+        fastNowTimeout.refresh();
+      } else {
+        clearTimeout(fastNowTimeout);
+        fastNowTimeout = setTimeout(onTick, TICK_MS);
+        if (fastNowTimeout.unref) {
+          fastNowTimeout.unref();
+        }
       }
-      channel.port1.unref();
-      channel.port2.unref();
-      channel.port1.postMessage(value, options?.transfer);
-      return receiveMessageOnPort(channel.port2).message;
-    };
-    module2.exports = {
-      DOMException: DOMException2,
-      structuredClone,
-      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/fetch/global.js
-var require_global3 = __commonJS({
-  "node_modules/undici/lib/fetch/global.js"(exports2, module2) {
-    "use strict";
-    var globalOrigin = /* @__PURE__ */ 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;
+    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, delay2, arg) {
+        this._onTimeout = callback;
+        this._idleTimeout = delay2;
+        this._timerArg = arg;
+        this.refresh();
       }
-      const parsedURL = new URL(newOrigin);
-      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
-        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
+      /**
+       * 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;
       }
-      Object.defineProperty(globalThis, globalOrigin, {
-        value: parsedURL,
-        writable: true,
-        enumerable: false,
-        configurable: false
-      });
-    }
+      /**
+       * The `clear` method cancels the timer, preventing it from executing.
+       *
+       * @returns {void}
+       * @private
+       */
+      clear() {
+        this._state = TO_BE_CLEARED;
+        this._idleStart = -1;
+      }
+    };
     module2.exports = {
-      getGlobalOrigin,
-      setGlobalOrigin
+      /**
+       * 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, delay2, arg) {
+        return delay2 <= RESOLUTION_MS ? setTimeout(callback, delay2, arg) : new FastTimer(callback, delay2, 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, delay2, arg) {
+        return new FastTimer(callback, delay2, 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(delay2 = 0) {
+        fastNow += delay2 - 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/undici/lib/fetch/util.js
-var require_util10 = __commonJS({
-  "node_modules/undici/lib/fetch/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/connect.js
+var require_connect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/connect.js"(exports2, module2) {
     "use strict";
-    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants7();
-    var { getGlobalOrigin } = require_global3();
-    var { performance: performance3 } = require("perf_hooks");
-    var { isBlobLike, toUSVString, ReadableStreamFrom } = require_util9();
-    var assert = require("assert");
-    var { isUint8Array } = require("util/types");
-    var supportedHashes = [];
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
-      supportedHashes = crypto2.getHashes().filter((hash2) => possibleRelevantHashes.includes(hash2));
-    } 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");
-      if (location !== null && isValidHeaderValue(location)) {
-        location = new URL(location, responseURL(response));
-      }
-      if (location && !location.hash) {
-        location.hash = requestFragment;
-      }
-      return location;
-    }
-    function requestCurrentURL(request2) {
-      return request2.urlList[request2.urlList.length - 1];
-    }
-    function requestBadPort(request2) {
-      const url2 = requestCurrentURL(request2);
-      if (urlIsHttpHttpsScheme(url2) && badPortsSet.has(url2.port)) {
-        return "blocked";
-      }
-      return "allowed";
-    }
-    function isErrorLike(object) {
-      return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException");
+    var net = require("node:net");
+    var assert = require("node:assert");
+    var util = require_util9();
+    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
+    var timers = require_timers2();
+    function noop3() {
     }
-    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;
+    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);
+            }
+          });
         }
-      }
-      return true;
-    }
-    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;
-      }
-    }
-    function isValidHTTPToken(characters) {
-      if (characters.length === 0) {
-        return false;
-      }
-      for (let i = 0; i < characters.length; ++i) {
-        if (!isTokenCharCode(characters.charCodeAt(i))) {
-          return false;
+        get(sessionKey) {
+          const ref = this._sessionCache.get(sessionKey);
+          return ref ? ref.deref() : null;
         }
-      }
-      return true;
-    }
-    function isValidHeaderName(potentialValue) {
-      return isValidHTTPToken(potentialValue);
-    }
-    function isValidHeaderValue(potentialValue) {
-      if (potentialValue.startsWith("	") || potentialValue.startsWith(" ") || potentialValue.endsWith("	") || potentialValue.endsWith(" ")) {
-        return false;
-      }
-      if (potentialValue.includes("\0") || potentialValue.includes("\r") || potentialValue.includes("\n")) {
-        return false;
-      }
-      return true;
-    }
-    function setRequestReferrerPolicyOnRedirect(request2, actualResponse) {
-      const { headersList } = actualResponse;
-      const policyHeader = (headersList.get("referrer-policy") ?? "").split(",");
-      let policy = "";
-      if (policyHeader.length > 0) {
-        for (let i = policyHeader.length; i !== 0; i--) {
-          const token = policyHeader[i - 1].trim();
-          if (referrerPolicyTokens.has(token)) {
-            policy = token;
-            break;
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
+          this._sessionCache.set(sessionKey, new WeakRef(session));
+          this._sessionRegistry.register(session, sessionKey);
         }
-      }
-      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);
-    }
-    function appendRequestOriginHeader(request2) {
-      let serializedOrigin = request2.origin;
-      if (request2.responseTainting === "cors" || request2.mode === "websocket") {
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
-        }
-      } 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:
-        }
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
-        }
-      }
-    }
-    function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
-      return performance3.now();
-    }
-    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";
+    } else {
+      SessionCache = class SimpleSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
         }
-        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;
+        get(sessionKey) {
+          return this._sessionCache.get(sessionKey);
+        }
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
-          if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {
-            return "no-referrer";
+          if (this._sessionCache.size >= this._maxCachedSessions) {
+            const { value: oldestKey } = this._sessionCache.keys().next();
+            this._sessionCache.delete(oldestKey);
           }
-          return referrerOrigin;
-        }
-        case "strict-origin":
-        // eslint-disable-line
-        /**
-           * 1. If referrerURL is a potentially trustworthy URL and
-           * request’s current URL is not a potentially trustworthy URL,
-           * then return no referrer.
-           * 2. Return referrerOrigin
-          */
-        case "no-referrer-when-downgrade":
-        // eslint-disable-line
-        /**
-         * 1. If referrerURL is a potentially trustworthy URL and
-         * request’s current URL is not a potentially trustworthy URL,
-         * then return no referrer.
-         * 2. Return referrerOrigin
-        */
-        default:
-          return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
-      }
-    }
-    function stripURLForReferrer(url2, originOnly) {
-      assert(url2 instanceof URL);
-      if (url2.protocol === "file:" || url2.protocol === "about:" || url2.protocol === "blank:") {
-        return "no-referrer";
-      }
-      url2.username = "";
-      url2.password = "";
-      url2.hash = "";
-      if (originOnly) {
-        url2.pathname = "";
-        url2.search = "";
-      }
-      return url2;
-    }
-    function isURLPotentiallyTrustworthy(url2) {
-      if (!(url2 instanceof URL)) {
-        return false;
-      }
-      if (url2.href === "about:blank" || url2.href === "about:srcdoc") {
-        return true;
-      }
-      if (url2.protocol === "data:") return true;
-      if (url2.protocol === "file:") return true;
-      return isOriginPotentiallyTrustworthy(url2.origin);
-      function isOriginPotentiallyTrustworthy(origin) {
-        if (origin == null || origin === "null") return false;
-        const originAsURL = new URL(origin);
-        if (originAsURL.protocol === "https:" || originAsURL.protocol === "wss:") {
-          return true;
-        }
-        if (/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(originAsURL.hostname) || (originAsURL.hostname === "localhost" || originAsURL.hostname.includes("localhost.")) || originAsURL.hostname.endsWith(".localhost")) {
-          return true;
+          this._sessionCache.set(sessionKey, session);
         }
-        return false;
-      }
+      };
     }
-    function bytesMatch(bytes, metadataList) {
-      if (crypto2 === void 0) {
-        return true;
-      }
-      const parsedMetadata = parseMetadata(metadataList);
-      if (parsedMetadata === "no metadata") {
-        return true;
-      }
-      if (parsedMetadata.length === 0) {
-        return true;
+    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 strongest = getStrongestMetadata(parsedMetadata);
-      const metadata = filterMetadataListByAlgorithm(parsedMetadata, strongest);
-      for (const item of metadata) {
-        const algorithm = item.algo;
-        const expectedValue = item.hash;
-        let actualValue = crypto2.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);
+      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");
           }
+          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 (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 token of metadata.split(" ")) {
-        empty = false;
-        const parsedToken = parseHashWithOptions.exec(token);
-        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;
+        if (options.keepAlive == null || options.keepAlive) {
+          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
+          socket.setKeepAlive(true, keepAliveInitialDelay);
         }
-      }
-      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((resolve6, reject) => {
-        res = resolve6;
-        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";
-    }
-    var normalizeMethodRecord = {
-      delete: "DELETE",
-      DELETE: "DELETE",
-      get: "GET",
-      GET: "GET",
-      head: "HEAD",
-      HEAD: "HEAD",
-      options: "OPTIONS",
-      OPTIONS: "OPTIONS",
-      post: "POST",
-      POST: "POST",
-      put: "PUT",
-      PUT: "PUT"
-    };
-    Object.setPrototypeOf(normalizeMethodRecord, null);
-    function normalizeMethod(method) {
-      return normalizeMethodRecord[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 makeIterator(iterator2, name, kind) {
-      const object = {
-        index: 0,
-        kind,
-        target: iterator2
-      };
-      const i = {
-        next() {
-          if (Object.getPrototypeOf(this) !== i) {
-            throw new TypeError(
-              `'next' called on an object that does not implement interface ${name} Iterator.`
-            );
+        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);
           }
-          const { index, kind: kind2, target } = object;
-          const values = target();
-          const len = values.length;
-          if (index >= len) {
-            return { value: void 0, done: true };
+        }).on("error", function(err) {
+          queueMicrotask(clearConnectTimeout);
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(err);
           }
-          const pair = values[index];
-          object.index = index + 1;
-          return iteratorResult(pair, kind2);
-        },
-        // The class string of an iterator prototype object for a given interface is the
-        // result of concatenating the identifier of the interface and the string " Iterator".
-        [Symbol.toStringTag]: `${name} Iterator`
+        });
+        return socket;
       };
-      Object.setPrototypeOf(i, esIteratorPrototype);
-      return Object.setPrototypeOf({}, i);
-    }
-    function iteratorResult(pair, kind) {
-      let result;
-      switch (kind) {
-        case "key": {
-          result = pair[0];
-          break;
-        }
-        case "value": {
-          result = pair[1];
-          break;
-        }
-        case "key+value": {
-          result = pair;
-          break;
-        }
-      }
-      return { value: result, done: false };
-    }
-    async function fullyReadBody(body, processBody, processBodyError) {
-      const successSteps = processBody;
-      const errorSteps = processBodyError;
-      let reader;
-      try {
-        reader = body.stream.getReader();
-      } catch (e) {
-        errorSteps(e);
-        return;
-      }
-      try {
-        const result = await readAllBytes(reader);
-        successSteps(result);
-      } catch (e) {
-        errorSteps(e);
-      }
     }
-    var ReadableStream2 = globalThis.ReadableStream;
-    function isReadableStreamLike(stream2) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+    var setupConnectTimeout = process.platform === "win32" ? (socketWeakRef, opts) => {
+      if (!opts.timeout) {
+        return noop3;
       }
-      return stream2 instanceof ReadableStream2 || stream2[Symbol.toStringTag] === "ReadableStream" && typeof stream2.tee === "function";
-    }
-    var MAXIMUM_ARGUMENT_LENGTH = 65535;
-    function isomorphicDecode(input) {
-      if (input.length < MAXIMUM_ARGUMENT_LENGTH) {
-        return String.fromCharCode(...input);
+      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;
       }
-      return input.reduce((previous, current) => previous + String.fromCharCode(current), "");
-    }
-    function readableStreamClose(controller) {
-      try {
-        controller.close();
-      } catch (err) {
-        if (!err.message.includes("Controller is already closed")) {
-          throw err;
-        }
+      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;
       }
-    }
-    function isomorphicEncode(input) {
-      for (let i = 0; i < input.length; i++) {
-        assert(input.charCodeAt(i) <= 255);
+      let message = "Connect Timeout Error";
+      if (Array.isArray(socket.autoSelectFamilyAttemptedAddresses)) {
+        message += ` (attempted addresses: ${socket.autoSelectFamilyAttemptedAddresses.join(", ")},`;
+      } else {
+        message += ` (attempted address: ${opts.hostname}:${opts.port},`;
       }
-      return input;
+      message += ` timeout: ${opts.timeout}ms)`;
+      util.destroy(socket, new ConnectTimeoutError(message));
     }
-    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");
+    module2.exports = buildConnector;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js
+var require_utils3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.enumToMap = void 0;
+    function enumToMap(obj) {
+      const res = {};
+      Object.keys(obj).forEach((key) => {
+        const value = obj[key];
+        if (typeof value === "number") {
+          res[key] = value;
         }
-        bytes.push(chunk);
-        byteLength += chunk.length;
-      }
-    }
-    function urlIsLocal(url2) {
-      assert("protocol" in url2);
-      const protocol = url2.protocol;
-      return protocol === "about:" || protocol === "blob:" || protocol === "data:";
-    }
-    function urlHasHttpsScheme(url2) {
-      if (typeof url2 === "string") {
-        return url2.startsWith("https:");
-      }
-      return url2.protocol === "https:";
-    }
-    function urlIsHttpHttpsScheme(url2) {
-      assert("protocol" in url2);
-      const protocol = url2.protocol;
-      return protocol === "http:" || protocol === "https:";
+      });
+      return res;
     }
-    var hasOwn = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key));
-    module2.exports = {
-      isAborted,
-      isCancelled,
-      createDeferredPromise,
-      ReadableStreamFrom,
-      toUSVString,
-      tryUpgradeRequestToAPotentiallyTrustworthyURL,
-      coarsenedSharedCurrentTime,
-      determineRequestsReferrer,
-      makePolicyContainer,
-      clonePolicyContainer,
-      appendFetchMetadata,
-      appendRequestOriginHeader,
-      TAOCheck,
-      corsCheck,
-      crossOriginResourcePolicyCheck,
-      createOpaqueTimingInfo,
-      setRequestReferrerPolicyOnRedirect,
-      isValidHTTPToken,
-      requestBadPort,
-      requestCurrentURL,
-      responseURL,
-      responseLocationURL,
-      isBlobLike,
-      isURLPotentiallyTrustworthy,
-      isValidReasonPhrase,
-      sameOrigin,
-      normalizeMethod,
-      serializeJavascriptValueToJSONString,
-      makeIterator,
-      isValidHeaderName,
-      isValidHeaderValue,
-      hasOwn,
-      isErrorLike,
-      fullyReadBody,
-      bytesMatch,
-      isReadableStreamLike,
-      readableStreamClose,
-      isomorphicEncode,
-      isomorphicDecode,
-      urlIsLocal,
-      urlHasHttpsScheme,
-      urlIsHttpHttpsScheme,
-      readAllBytes,
-      normalizeMethodRecord,
-      parseMetadata
-    };
+    exports2.enumToMap = enumToMap;
   }
 });
 
-// node_modules/undici/lib/fetch/symbols.js
-var require_symbols7 = __commonJS({
-  "node_modules/undici/lib/fetch/symbols.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js
+var require_constants7 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js"(exports2) {
     "use strict";
-    module2.exports = {
-      kUrl: /* @__PURE__ */ Symbol("url"),
-      kHeaders: /* @__PURE__ */ Symbol("headers"),
-      kSignal: /* @__PURE__ */ Symbol("signal"),
-      kState: /* @__PURE__ */ Symbol("state"),
-      kGuard: /* @__PURE__ */ Symbol("guard"),
-      kRealm: /* @__PURE__ */ Symbol("realm")
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
+    var utils_1 = require_utils3();
+    var ERROR;
+    (function(ERROR2) {
+      ERROR2[ERROR2["OK"] = 0] = "OK";
+      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
+      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
+      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
+      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
+      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
+      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
+      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
+      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
+      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
+      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
+      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
+      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
+      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
+      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
+      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
+      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
+      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
+      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
+      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
+      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
+      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
+      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
+      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
+      ERROR2[ERROR2["USER"] = 24] = "USER";
+    })(ERROR = 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];
+      }
+    });
+    var FINISH;
+    (function(FINISH2) {
+      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
+      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
+      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
+    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
+    exports2.ALPHA = [];
+    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
+      exports2.ALPHA.push(String.fromCharCode(i));
+      exports2.ALPHA.push(String.fromCharCode(i + 32));
+    }
+    exports2.NUM_MAP = {
+      0: 0,
+      1: 1,
+      2: 2,
+      3: 3,
+      4: 4,
+      5: 5,
+      6: 6,
+      7: 7,
+      8: 8,
+      9: 9
+    };
+    exports2.HEX_MAP = {
+      0: 0,
+      1: 1,
+      2: 2,
+      3: 3,
+      4: 4,
+      5: 5,
+      6: 6,
+      7: 7,
+      8: 8,
+      9: 9,
+      A: 10,
+      B: 11,
+      C: 12,
+      D: 13,
+      E: 14,
+      F: 15,
+      a: 10,
+      b: 11,
+      c: 12,
+      d: 13,
+      e: 14,
+      f: 15
+    };
+    exports2.NUM = [
+      "0",
+      "1",
+      "2",
+      "3",
+      "4",
+      "5",
+      "6",
+      "7",
+      "8",
+      "9"
+    ];
+    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
+    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
+    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
+    exports2.STRICT_URL_CHAR = [
+      "!",
+      '"',
+      "$",
+      "%",
+      "&",
+      "'",
+      "(",
+      ")",
+      "*",
+      "+",
+      ",",
+      "-",
+      ".",
+      "/",
+      ":",
+      ";",
+      "<",
+      "=",
+      ">",
+      "@",
+      "[",
+      "\\",
+      "]",
+      "^",
+      "_",
+      "`",
+      "{",
+      "|",
+      "}",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
+    for (let i = 128; i <= 255; i++) {
+      exports2.URL_CHAR.push(i);
+    }
+    exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
+    exports2.STRICT_TOKEN = [
+      "!",
+      "#",
+      "$",
+      "%",
+      "&",
+      "'",
+      "*",
+      "+",
+      "-",
+      ".",
+      "^",
+      "_",
+      "`",
+      "|",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]);
+    exports2.HEADER_CHARS = ["	"];
+    for (let i = 32; i <= 255; i++) {
+      if (i !== 127) {
+        exports2.HEADER_CHARS.push(i);
+      }
+    }
+    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/fetch/webidl.js
-var require_webidl2 = __commonJS({
-  "node_modules/undici/lib/fetch/webidl.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js
+var require_llhttp_wasm2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
     "use strict";
-    var { types } = require("util");
-    var { hasOwn, toUSVString } = require_util10();
-    var webidl = {};
-    webidl.converters = {};
-    webidl.util = {};
-    webidl.errors = {};
-    webidl.errors.exception = function(message) {
-      return new TypeError(`${message.header}: ${message.message}`);
+    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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CABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv", "base64");
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
+var require_llhttp_simd_wasm2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
+    "use strict";
+    var { Buffer: Buffer2 } = require("node:buffer");
+    module2.exports = Buffer2.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEVDF8LQZIBIQMgASAERg2aAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGhzwBqLQAARw1dIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAybAgsgAkEANgIAIAZBAWohAUEeDF4LIAEgBEYEQEGTASEDDJoCCyABLQAAQcwARw1bIAFBAWohAUEKDF0LIAEgBEYEQEGUASEDDJkCCwJAAkAgAS0AAEHBAGsODwBcXFxcXFxcXFxcXFxcAVwLIAFBAWohAUH+ACEDDIACCyABQQFqIQFB/wAhAwz/AQsgASAERgRAQZUBIQMMmAILAkACQCABLQAAQcEAaw4DAFsBWwsgAUEBaiEBQf0AIQMM/wELIAFBAWohAUGAASEDDP4BC0GWASEDIAEgBEYNlgIgAigCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBp88Aai0AAEcNWSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMlwILIAJBADYCACAGQQFqIQFBCwxaCyABIARGBEBBlwEhAwyWAgsCQAJAAkACQCABLQAAQS1rDiMAW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1sBW1tbW1sCW1tbA1sLIAFBAWohAUH7ACEDDP8BCyABQQFqIQFB/AAhAwz+AQsgAUEBaiEBQYEBIQMM/QELIAFBAWohAUGCASEDDPwBC0GYASEDIAEgBEYNlAIgAigCACIAIAQgAWtqIQUgASAAa0EEaiEGAkADQCABLQAAIABBqc8Aai0AAEcNVyAAQQRGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMlQILIAJBADYCACAGQQFqIQFBGQxYC0GZASEDIAEgBEYNkwIgAigCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBrs8Aai0AAEcNViAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMlAILIAJBADYCACAGQQFqIQFBBgxXC0GaASEDIAEgBEYNkgIgAigCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBtM8Aai0AAEcNVSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMkwILIAJBADYCACAGQQFqIQFBHAxWC0GbASEDIAEgBEYNkQIgAigCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBts8Aai0AAEcNVCAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMkgILIAJBADYCACAGQQFqIQFBJwxVCyABIARGBEBBnAEhAwyRAgsCQAJAIAEtAABB1ABrDgIAAVQLIAFBAWohAUGGASEDDPgBCyABQQFqIQFBhwEhAwz3AQtBnQEhAyABIARGDY8CIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQbjPAGotAABHDVIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADJACCyACQQA2AgAgBkEBaiEBQSYMUwtBngEhAyABIARGDY4CIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQbrPAGotAABHDVEgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADI8CCyACQQA2AgAgBkEBaiEBQQMMUgtBnwEhAyABIARGDY0CIAIoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQe3PAGotAABHDVAgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADI4CCyACQQA2AgAgBkEBaiEBQQwMUQtBoAEhAyABIARGDYwCIAIoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQbzPAGotAABHDU8gAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADI0CCyACQQA2AgAgBkEBaiEBQQ0MUAsgASAERgRAQaEBIQMMjAILAkACQCABLQAAQcYAaw4LAE9PT09PT09PTwFPCyABQQFqIQFBiwEhAwzzAQsgAUEBaiEBQYwBIQMM8gELIAEgBEYEQEGiASEDDIsCCyABLQAAQdAARw1MIAFBAWohAQxGCyABIARGBEBBowEhAwyKAgsCQAJAIAEtAABByQBrDgcBTU1NTU0ATQsgAUEBaiEBQY4BIQMM8QELIAFBAWohAUEiDE0LQaQBIQMgASAERg2IAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHAzwBqLQAARw1LIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyJAgsgAkEANgIAIAZBAWohAUEdDEwLIAEgBEYEQEGlASEDDIgCCwJAAkAgAS0AAEHSAGsOAwBLAUsLIAFBAWohAUGQASEDDO8BCyABQQFqIQFBBAxLCyABIARGBEBBpgEhAwyHAgsCQAJAAkACQAJAIAEtAABBwQBrDhUATU1NTU1NTU1NTQFNTQJNTQNNTQRNCyABQQFqIQFBiAEhAwzxAQsgAUEBaiEBQYkBIQMM8AELIAFBAWohAUGKASEDDO8BCyABQQFqIQFBjwEhAwzuAQsgAUEBaiEBQZEBIQMM7QELQacBIQMgASAERg2FAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHtzwBqLQAARw1IIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyGAgsgAkEANgIAIAZBAWohAUERDEkLQagBIQMgASAERg2EAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHCzwBqLQAARw1HIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyFAgsgAkEANgIAIAZBAWohAUEsDEgLQakBIQMgASAERg2DAiACKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEHFzwBqLQAARw1GIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyEAgsgAkEANgIAIAZBAWohAUErDEcLQaoBIQMgASAERg2CAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHKzwBqLQAARw1FIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyDAgsgAkEANgIAIAZBAWohAUEUDEYLIAEgBEYEQEGrASEDDIICCwJAAkACQAJAIAEtAABBwgBrDg8AAQJHR0dHR0dHR0dHRwNHCyABQQFqIQFBkwEhAwzrAQsgAUEBaiEBQZQBIQMM6gELIAFBAWohAUGVASEDDOkBCyABQQFqIQFBlgEhAwzoAQsgASAERgRAQawBIQMMgQILIAEtAABBxQBHDUIgAUEBaiEBDD0LQa0BIQMgASAERg3/ASACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHNzwBqLQAARw1CIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyAAgsgAkEANgIAIAZBAWohAUEODEMLIAEgBEYEQEGuASEDDP8BCyABLQAAQdAARw1AIAFBAWohAUElDEILQa8BIQMgASAERg39ASACKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEHQzwBqLQAARw1AIABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAz+AQsgAkEANgIAIAZBAWohAUEqDEELIAEgBEYEQEGwASEDDP0BCwJAAkAgAS0AAEHVAGsOCwBAQEBAQEBAQEABQAsgAUEBaiEBQZoBIQMM5AELIAFBAWohAUGbASEDDOMBCyABIARGBEBBsQEhAwz8AQsCQAJAIAEtAABBwQBrDhQAPz8/Pz8/Pz8/Pz8/Pz8/Pz8/AT8LIAFBAWohAUGZASEDDOMBCyABQQFqIQFBnAEhAwziAQtBsgEhAyABIARGDfoBIAIoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQdnPAGotAABHDT0gAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADPsBCyACQQA2AgAgBkEBaiEBQSEMPgtBswEhAyABIARGDfkBIAIoAgAiACAEIAFraiEFIAEgAGtBBmohBgJAA0AgAS0AACAAQd3PAGotAABHDTwgAEEGRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADPoBCyACQQA2AgAgBkEBaiEBQRoMPQsgASAERgRAQbQBIQMM+QELAkACQAJAIAEtAABBxQBrDhEAPT09PT09PT09AT09PT09Aj0LIAFBAWohAUGdASEDDOEBCyABQQFqIQFBngEhAwzgAQsgAUEBaiEBQZ8BIQMM3wELQbUBIQMgASAERg33ASACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHkzwBqLQAARw06IABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAz4AQsgAkEANgIAIAZBAWohAUEoDDsLQbYBIQMgASAERg32ASACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHqzwBqLQAARw05IABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAz3AQsgAkEANgIAIAZBAWohAUEHDDoLIAEgBEYEQEG3ASEDDPYBCwJAAkAgAS0AAEHFAGsODgA5OTk5OTk5OTk5OTkBOQsgAUEBaiEBQaEBIQMM3QELIAFBAWohAUGiASEDDNwBC0G4ASEDIAEgBEYN9AEgAigCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABB7c8Aai0AAEcNNyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAM9QELIAJBADYCACAGQQFqIQFBEgw4C0G5ASEDIAEgBEYN8wEgAigCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABB8M8Aai0AAEcNNiAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAM9AELIAJBADYCACAGQQFqIQFBIAw3C0G6ASEDIAEgBEYN8gEgAigCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABB8s8Aai0AAEcNNSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAM8wELIAJBADYCACAGQQFqIQFBDww2CyABIARGBEBBuwEhAwzyAQsCQAJAIAEtAABByQBrDgcANTU1NTUBNQsgAUEBaiEBQaUBIQMM2QELIAFBAWohAUGmASEDDNgBC0G8ASEDIAEgBEYN8AEgAigCACIAIAQgAWtqIQUgASAAa0EHaiEGAkADQCABLQAAIABB9M8Aai0AAEcNMyAAQQdGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAM8QELIAJBADYCACAGQQFqIQFBGww0CyABIARGBEBBvQEhAwzwAQsCQAJAAkAgAS0AAEHCAGsOEgA0NDQ0NDQ0NDQBNDQ0NDQ0AjQLIAFBAWohAUGkASEDDNgBCyABQQFqIQFBpwEhAwzXAQsgAUEBaiEBQagBIQMM1gELIAEgBEYEQEG+ASEDDO8BCyABLQAAQc4ARw0wIAFBAWohAQwsCyABIARGBEBBvwEhAwzuAQsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABLQAAQcEAaw4VAAECAz8EBQY/Pz8HCAkKCz8MDQ4PPwsgAUEBaiEBQegAIQMM4wELIAFBAWohAUHpACEDDOIBCyABQQFqIQFB7gAhAwzhAQsgAUEBaiEBQfIAIQMM4AELIAFBAWohAUHzACEDDN8BCyABQQFqIQFB9gAhAwzeAQsgAUEBaiEBQfcAIQMM3QELIAFBAWohAUH6ACEDDNwBCyABQQFqIQFBgwEhAwzbAQsgAUEBaiEBQYQBIQMM2gELIAFBAWohAUGFASEDDNkBCyABQQFqIQFBkgEhAwzYAQsgAUEBaiEBQZgBIQMM1wELIAFBAWohAUGgASEDDNYBCyABQQFqIQFBowEhAwzVAQsgAUEBaiEBQaoBIQMM1AELIAEgBEcEQCACQRA2AgggAiABNgIEQasBIQMM1AELQcABIQMM7AELQQAhAAJAIAIoAjgiA0UNACADKAI0IgNFDQAgAiADEQAAIQALIABFDV4gAEEVRw0HIAJB0QA2AhwgAiABNgIUIAJBsBc2AhAgAkEVNgIMQQAhAwzrAQsgAUEBaiABIARHDQgaQcIBIQMM6gELA0ACQCABLQAAQQprDgQIAAALAAsgBCABQQFqIgFHDQALQcMBIQMM6QELIAEgBEcEQCACQRE2AgggAiABNgIEQQEhAwzQAQtBxAEhAwzoAQsgASAERgRAQcUBIQMM6AELAkACQCABLQAAQQprDgQBKCgAKAsgAUEBagwJCyABQQFqDAULIAEgBEYEQEHGASEDDOcBCwJAAkAgAS0AAEEKaw4XAQsLAQsLCwsLCwsLCwsLCwsLCwsLCwALCyABQQFqIQELQbABIQMMzQELIAEgBEYEQEHIASEDDOYBCyABLQAAQSBHDQkgAkEAOwEyIAFBAWohAUGzASEDDMwBCwNAIAEhAAJAIAEgBEcEQCABLQAAQTBrQf8BcSIDQQpJDQEMJwtBxwEhAwzmAQsCQCACLwEyIgFBmTNLDQAgAiABQQpsIgU7ATIgBUH+/wNxIANB//8Dc0sNACAAQQFqIQEgAiADIAVqIgM7ATIgA0H//wNxQegHSQ0BCwtBACEDIAJBADYCHCACQcEJNgIQIAJBDTYCDCACIABBAWo2AhQM5AELIAJBADYCHCACIAE2AhQgAkHwDDYCECACQRs2AgxBACEDDOMBCyACKAIEIQAgAkEANgIEIAIgACABECYiAA0BIAFBAWoLIQFBrQEhAwzIAQsgAkHBATYCHCACIAA2AgwgAiABQQFqNgIUQQAhAwzgAQsgAigCBCEAIAJBADYCBCACIAAgARAmIgANASABQQFqCyEBQa4BIQMMxQELIAJBwgE2AhwgAiAANgIMIAIgAUEBajYCFEEAIQMM3QELIAJBADYCHCACIAE2AhQgAkGXCzYCECACQQ02AgxBACEDDNwBCyACQQA2AhwgAiABNgIUIAJB4xA2AhAgAkEJNgIMQQAhAwzbAQsgAkECOgAoDKwBC0EAIQMgAkEANgIcIAJBrws2AhAgAkECNgIMIAIgAUEBajYCFAzZAQtBAiEDDL8BC0ENIQMMvgELQSYhAwy9AQtBFSEDDLwBC0EWIQMMuwELQRghAwy6AQtBHCEDDLkBC0EdIQMMuAELQSAhAwy3AQtBISEDDLYBC0EjIQMMtQELQcYAIQMMtAELQS4hAwyzAQtBPSEDDLIBC0HLACEDDLEBC0HOACEDDLABC0HYACEDDK8BC0HZACEDDK4BC0HbACEDDK0BC0HxACEDDKwBC0H0ACEDDKsBC0GNASEDDKoBC0GXASEDDKkBC0GpASEDDKgBC0GvASEDDKcBC0GxASEDDKYBCyACQQA2AgALQQAhAyACQQA2AhwgAiABNgIUIAJB8Rs2AhAgAkEGNgIMDL0BCyACQQA2AgAgBkEBaiEBQSQLOgApIAIoAgQhACACQQA2AgQgAiAAIAEQJyIARQRAQeUAIQMMowELIAJB+QA2AhwgAiABNgIUIAIgADYCDEEAIQMMuwELIABBFUcEQCACQQA2AhwgAiABNgIUIAJBzA42AhAgAkEgNgIMQQAhAwy7AQsgAkH4ADYCHCACIAE2AhQgAkHKGDYCECACQRU2AgxBACEDDLoBCyACQQA2AhwgAiABNgIUIAJBjhs2AhAgAkEGNgIMQQAhAwy5AQsgAkEANgIcIAIgATYCFCACQf4RNgIQIAJBBzYCDEEAIQMMuAELIAJBADYCHCACIAE2AhQgAkGMHDYCECACQQc2AgxBACEDDLcBCyACQQA2AhwgAiABNgIUIAJBww82AhAgAkEHNgIMQQAhAwy2AQsgAkEANgIcIAIgATYCFCACQcMPNgIQIAJBBzYCDEEAIQMMtQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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AAADAEGUCAsFBAAAAAUAQaQICwkGAAAABwAAAAgAQdwIC4otSW52YWxpZCBjaGFyIGluIHVybCBxdWVyeQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2JvZHkAQ29udGVudC1MZW5ndGggb3ZlcmZsb3cAQ2h1bmsgc2l6ZSBvdmVyZmxvdwBSZXNwb25zZSBvdmVyZmxvdwBJbnZhbGlkIG1ldGhvZCBmb3IgSFRUUC94LnggcmVxdWVzdABJbnZhbGlkIG1ldGhvZCBmb3IgUlRTUC94LnggcmVxdWVzdABFeHBlY3RlZCBTT1VSQ0UgbWV0aG9kIGZvciBJQ0UveC54IHJlcXVlc3QASW52YWxpZCBjaGFyIGluIHVybCBmcmFnbWVudCBzdGFydABFeHBlY3RlZCBkb3QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9zdGF0dXMASW52YWxpZCByZXNwb25zZSBzdGF0dXMASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucwBVc2VyIGNhbGxiYWNrIGVycm9yAGBvbl9yZXNldGAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2hlYWRlcmAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfYmVnaW5gIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwBB+TULAQEAQZA2C+ABAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQf03CwEBAEGROAteAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgBB/TkLAQEAQZE6C14CAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEHwOwsNbG9zZWVlcC1hbGl2ZQBBiTwLAQEAQaA8C+ABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQYk+CwEBAEGgPgvnAQEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZABBsMAAC18BAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBBkMIACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQcDCAAstcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQoNClNNDQoNClRUUC9DRS9UU1AvAEH5wgALBQECAAEDAEGQwwAL4AEEAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cQACwUBAgABAwBBkMUAC+ABBAEBBQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQfnGAAsEAQAAAQBBkccAC98BAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+sgACwQBAAACAEGQyQALXwMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAEH6ygALBAEAAAEAQZDLAAsBAQBBqssAC0ECAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB+swACwQBAAABAEGQzQALAQEAQZrNAAsGAgAAAAACAEGxzQALOgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQfDOAAuWAU5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==", "base64");
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/constants.js
+var require_constants8 = __commonJS({
+  "node_modules/@actions/github/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/@actions/github/node_modules/undici/lib/web/fetch/global.js
+var require_global3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/global.js"(exports2, module2) {
+    "use strict";
+    var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
+    function getGlobalOrigin() {
+      return globalThis[globalOrigin];
+    }
+    function setGlobalOrigin(newOrigin) {
+      if (newOrigin === void 0) {
+        Object.defineProperty(globalThis, globalOrigin, {
+          value: void 0,
+          writable: true,
+          enumerable: false,
+          configurable: false
+        });
+        return;
+      }
+      const parsedURL = new URL(newOrigin);
+      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
+        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
+      }
+      Object.defineProperty(globalThis, globalOrigin, {
+        value: parsedURL,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
+    }
+    module2.exports = {
+      getGlobalOrigin,
+      setGlobalOrigin
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js
+var require_data_url2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var encoder = new TextEncoder();
+    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+\-.^_|~A-Za-z0-9]+$/;
+    var HTTP_WHITESPACE_REGEX = /[\u000A\u000D\u0009\u0020]/;
+    var ASCII_WHITESPACE_REPLACE_REGEX = /[\u0009\u000A\u000C\u000D\u0020]/g;
+    var HTTP_QUOTED_STRING_TOKENS = /^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;
+    function dataURLProcessor(dataURL) {
+      assert(dataURL.protocol === "data:");
+      let input = URLSerializer(dataURL, true);
+      input = input.slice(5);
+      const position = { position: 0 };
+      let mimeType = collectASequenceOfCodePointsFast(
+        ",",
+        input,
+        position
+      );
+      const mimeTypeLength = mimeType.length;
+      mimeType = removeASCIIWhitespace(mimeType, true, true);
+      if (position.position >= input.length) {
+        return "failure";
+      }
+      position.position++;
+      const encodedBody = input.slice(mimeTypeLength + 1);
+      let body = stringPercentDecode(encodedBody);
+      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
+        const stringBody = isomorphicDecode(body);
+        body = forgivingBase64(stringBody);
+        if (body === "failure") {
+          return "failure";
+        }
+        mimeType = mimeType.slice(0, -6);
+        mimeType = mimeType.replace(/(\u0020)+$/, "");
+        mimeType = mimeType.slice(0, -1);
+      }
+      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 };
+    }
+    function URLSerializer(url2, excludeFragment = false) {
+      if (!excludeFragment) {
+        return url2.href;
+      }
+      const href = url2.href;
+      const hashLength = url2.hash.length;
+      const serialized = hashLength === 0 ? href : href.substring(0, href.length - hashLength);
+      if (!hashLength && href.endsWith("#")) {
+        return serialized.slice(0, -1);
+      }
+      return serialized;
+    }
+    function collectASequenceOfCodePoints(condition, input, position) {
+      let result = "";
+      while (position.position < input.length && condition(input[position.position])) {
+        result += input[position.position];
+        position.position++;
+      }
+      return result;
+    }
+    function collectASequenceOfCodePointsFast(char, input, position) {
+      const idx = input.indexOf(char, position.position);
+      const start = position.position;
+      if (idx === -1) {
+        position.position = input.length;
+        return input.slice(start);
+      }
+      position.position = idx;
+      return input.slice(start, position.position);
+    }
+    function stringPercentDecode(input) {
+      const bytes = encoder.encode(input);
+      return percentDecode(bytes);
+    }
+    function isHexCharByte(byte) {
+      return byte >= 48 && byte <= 57 || byte >= 65 && byte <= 70 || byte >= 97 && byte <= 102;
+    }
+    function hexByteToNumber(byte) {
+      return (
+        // 0-9
+        byte >= 48 && byte <= 57 ? byte - 48 : (byte & 223) - 55
+      );
+    }
+    function 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);
+    }
+    function parseMIMEType(input) {
+      input = removeHTTPWhitespace(input, true, true);
+      const position = { position: 0 };
+      const type2 = collectASequenceOfCodePointsFast(
+        "/",
+        input,
+        position
+      );
+      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
+        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 = type2.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;
+    }
+    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);
+    }
+    function collectAnHTTPQuotedString(input, position, extractValue) {
+      const positionStart = position.position;
+      let value = "";
+      assert(input[position.position] === '"');
+      position.position++;
+      while (true) {
+        value += collectASequenceOfCodePoints(
+          (char) => char !== '"' && char !== "\\",
+          input,
+          position
+        );
+        if (position.position >= input.length) {
+          break;
+        }
+        const quoteOrBackslash = input[position.position];
+        position.position++;
+        if (quoteOrBackslash === "\\") {
+          if (position.position >= input.length) {
+            value += "\\";
+            break;
+          }
+          value += input[position.position];
+          position.position++;
+        } else {
+          assert(quoteOrBackslash === '"');
+          break;
+        }
+      }
+      if (extractValue) {
+        return value;
+      }
+      return input.slice(positionStart, position.position);
+    }
+    function serializeAMimeType(mimeType) {
+      assert(mimeType !== "failure");
+      const { parameters, essence } = mimeType;
+      let serialization = essence;
+      for (let [name, value] of parameters.entries()) {
+        serialization += ";";
+        serialization += name;
+        serialization += "=";
+        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
+          value = value.replace(/(\\|")/g, "\\$1");
+          value = '"' + value;
+          value += '"';
+        }
+        serialization += value;
+      }
+      return serialization;
+    }
+    function isHTTPWhiteSpace(char) {
+      return char === 13 || char === 10 || char === 9 || char === 32;
+    }
+    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isHTTPWhiteSpace);
+    }
+    function isASCIIWhitespace(char) {
+      return char === 13 || char === 10 || char === 9 || char === 12 || char === 32;
+    }
+    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isASCIIWhitespace);
+    }
+    function removeChars(str2, leading, trailing, predicate) {
+      let lead = 0;
+      let trail = str2.length - 1;
+      if (leading) {
+        while (lead < str2.length && predicate(str2.charCodeAt(lead))) lead++;
+      }
+      if (trailing) {
+        while (trail > 0 && predicate(str2.charCodeAt(trail))) trail--;
+      }
+      return lead === 0 && trail === str2.length - 1 ? str2 : str2.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/node_modules/undici/lib/web/fetch/webidl.js
+var require_webidl2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/webidl.js"(exports2, module2) {
+    "use strict";
+    var { types, inspect } = require("node:util");
+    var { markAsUncloneable } = require("node:worker_threads");
+    var { toUSVString } = require_util9();
+    var webidl = {};
+    webidl.converters = {};
+    webidl.util = {};
+    webidl.errors = {};
+    webidl.errors.exception = function(message) {
+      return new TypeError(`${message.header}: ${message.message}`);
+    };
+    webidl.errors.conversionFailed = function(context2) {
+      const plural = context2.types.length === 1 ? "" : " one of";
+      const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`;
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message
+      });
+    };
+    webidl.errors.invalidArgument = function(context2) {
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message: `"${context2.value}" is an invalid ${context2.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";
+        }
+      }
+    };
+    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;
+      }
+      if (!Number.isNaN(x) && opts?.clamp === true) {
+        x = Math.min(Math.max(x, lowerBound), upperBound);
+        if (Math.floor(x) % 2 === 0) {
+          x = Math.floor(x);
+        } else {
+          x = Math.ceil(x);
+        }
+        return x;
+      }
+      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 type2 = webidl.util.Type(V);
+      switch (type2) {
+        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.`
+          });
+        }
+        const method = typeof Iterable === "function" ? Iterable() : V?.[Symbol.iterator]?.();
+        const seq2 = [];
+        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;
+          }
+          seq2.push(converter(value, prefix, `${argument}[${index++}]`));
+        }
+        return seq2;
+      };
+    };
+    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 type2 = webidl.util.Type(dictionary);
+        const dict = {};
+        if (type2 === "Null" || type2 === "Undefined") {
+          return dict;
+        } else if (type2 !== "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);
+    };
+    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/@actions/github/node_modules/undici/lib/web/fetch/util.js
+var require_util10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/util.js"(exports2, module2) {
+    "use strict";
+    var { Transform } = require("node:stream");
+    var zlib2 = require("node:zlib");
+    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants8();
+    var { getGlobalOrigin } = require_global3();
+    var { collectASequenceOfCodePoints, collectAnHTTPQuotedString, removeChars, parseMIMEType } = require_data_url2();
+    var { performance: performance3 } = require("node:perf_hooks");
+    var { isBlobLike, ReadableStreamFrom, isValidHTTPToken, normalizedMethodRecordsBase } = require_util9();
+    var assert = require("node:assert");
+    var { isUint8Array } = require("node:util/types");
+    var { webidl } = require_webidl2();
+    var supportedHashes = [];
+    var crypto2;
+    try {
+      crypto2 = require("node:crypto");
+      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
+      supportedHashes = crypto2.getHashes().filter((hash2) => possibleRelevantHashes.includes(hash2));
+    } 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(url2) {
+      for (let i = 0; i < url2.length; ++i) {
+        const code = url2.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 url2 = requestCurrentURL(request2);
+      if (urlIsHttpHttpsScheme(url2) && badPortsSet.has(url2.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 token = policyHeader[i - 1].trim();
+          if (referrerPolicyTokens.has(token)) {
+            policy = token;
+            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(timestamp2, crossOriginIsolatedCapability) {
+      return timestamp2;
+    }
+    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(performance3.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":
+        // eslint-disable-line
+        /**
+           * 1. If referrerURL is a potentially trustworthy URL and
+           * request’s current URL is not a potentially trustworthy URL,
+           * then return no referrer.
+           * 2. Return referrerOrigin
+          */
+        case "no-referrer-when-downgrade":
+        // eslint-disable-line
+        /**
+         * 1. If referrerURL is a potentially trustworthy URL and
+         * request’s current URL is not a potentially trustworthy URL,
+         * then return no referrer.
+         * 2. Return referrerOrigin
+        */
+        default:
+          return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
+      }
+    }
+    function stripURLForReferrer(url2, originOnly) {
+      assert(url2 instanceof URL);
+      url2 = new URL(url2);
+      if (url2.protocol === "file:" || url2.protocol === "about:" || url2.protocol === "blank:") {
+        return "no-referrer";
+      }
+      url2.username = "";
+      url2.password = "";
+      url2.hash = "";
+      if (originOnly) {
+        url2.pathname = "";
+        url2.search = "";
+      }
+      return url2;
+    }
+    function isURLPotentiallyTrustworthy(url2) {
+      if (!(url2 instanceof URL)) {
+        return false;
+      }
+      if (url2.href === "about:blank" || url2.href === "about:srcdoc") {
+        return true;
+      }
+      if (url2.protocol === "data:") return true;
+      if (url2.protocol === "file:") return true;
+      return isOriginPotentiallyTrustworthy(url2.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 (crypto2 === 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 = crypto2.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 token of metadata.split(" ")) {
+        empty = false;
+        const parsedToken = parseHashWithOptions.exec(token);
+        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((resolve6, reject) => {
+        res = resolve6;
+        rej = reject;
+      });
+      return { promise, resolve: res, reject: rej };
+    }
+    function isAborted(fetchParams) {
+      return fetchParams.controller.state === "aborted";
+    }
+    function isCancelled(fetchParams) {
+      return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";
+    }
+    function normalizeMethod(method) {
+      return normalizedMethodRecordsBase[method.toLowerCase()] ?? method;
+    }
+    function serializeJavascriptValueToJSONString(value) {
+      const result = JSON.stringify(value);
+      if (result === void 0) {
+        throw new TypeError("Value is not JSON serializable");
+      }
+      assert(typeof result === "string");
+      return result;
+    }
+    var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
+    function createIterator(name, kInternalIterator, keyIndex = 0, valueIndex = 1) {
+      class FastIterableIterator {
+        /** @type {any} */
+        #target;
+        /** @type {'key' | 'value' | 'key+value'} */
+        #kind;
+        /** @type {number} */
+        #index;
+        /**
+         * @see https://webidl.spec.whatwg.org/#dfn-default-iterator-object
+         * @param {unknown} target
+         * @param {'key' | 'value' | 'key+value'} kind
+         */
+        constructor(target, kind) {
+          this.#target = target;
+          this.#kind = kind;
+          this.#index = 0;
+        }
+        next() {
+          if (typeof this !== "object" || this === null || !(#target in this)) {
+            throw new TypeError(
+              `'next' called on an object that does not implement interface ${name} Iterator.`
+            );
+          }
+          const index = this.#index;
+          const values = this.#target[kInternalIterator];
+          const len = values.length;
+          if (index >= len) {
+            return {
+              value: void 0,
+              done: true
+            };
+          }
+          const { [keyIndex]: key, [valueIndex]: value } = values[index];
+          this.#index = index + 1;
+          let result;
+          switch (this.#kind) {
+            case "key":
+              result = key;
+              break;
+            case "value":
+              result = value;
+              break;
+            case "key+value":
+              result = [key, value];
+              break;
+          }
+          return {
+            value: result,
+            done: false
+          };
+        }
+      }
+      delete FastIterableIterator.prototype.constructor;
+      Object.setPrototypeOf(FastIterableIterator.prototype, esIteratorPrototype);
+      Object.defineProperties(FastIterableIterator.prototype, {
+        [Symbol.toStringTag]: {
+          writable: false,
+          enumerable: false,
+          configurable: true,
+          value: `${name} Iterator`
+        },
+        next: { writable: true, enumerable: true, configurable: true }
+      });
+      return function(target, kind) {
+        return new FastIterableIterator(target, kind);
+      };
+    }
+    function iteratorMixin(name, object, kInternalIterator, keyIndex = 0, valueIndex = 1) {
+      const makeIterator = createIterator(name, kInternalIterator, keyIndex, valueIndex);
+      const properties = {
+        keys: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function keys() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "key");
+          }
+        },
+        values: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function values() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "value");
+          }
+        },
+        entries: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function entries() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "key+value");
+          }
+        },
+        forEach: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function forEach(callbackfn, thisArg = globalThis) {
+            webidl.brandCheck(this, object);
+            webidl.argumentLengthCheck(arguments, 1, `${name}.forEach`);
+            if (typeof callbackfn !== "function") {
+              throw new TypeError(
+                `Failed to execute 'forEach' on '${name}': parameter 1 is not of type 'Function'.`
+              );
+            }
+            for (const { 0: key, 1: value } of makeIterator(this, "key+value")) {
+              callbackfn.call(thisArg, value, key, this);
+            }
+          }
+        }
+      };
+      return Object.defineProperties(object.prototype, {
+        ...properties,
+        [Symbol.iterator]: {
+          writable: true,
+          enumerable: false,
+          configurable: true,
+          value: properties.entries.value
+        }
+      });
+    }
+    async function fullyReadBody(body, processBody, processBodyError) {
+      const successSteps = processBody;
+      const errorSteps = processBodyError;
+      let reader;
+      try {
+        reader = body.stream.getReader();
+      } catch (e) {
+        errorSteps(e);
+        return;
+      }
+      try {
+        successSteps(await readAllBytes(reader));
+      } catch (e) {
+        errorSteps(e);
+      }
+    }
+    function isReadableStreamLike(stream2) {
+      return stream2 instanceof ReadableStream || stream2[Symbol.toStringTag] === "ReadableStream" && typeof stream2.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(url2) {
+      assert("protocol" in url2);
+      const protocol = url2.protocol;
+      return protocol === "about:" || protocol === "blob:" || protocol === "data:";
+    }
+    function urlHasHttpsScheme(url2) {
+      return typeof url2 === "string" && url2[5] === ":" && url2[0] === "h" && url2[1] === "t" && url2[2] === "t" && url2[3] === "p" && url2[4] === "s" || url2.protocol === "https:";
+    }
+    function urlIsHttpHttpsScheme(url2) {
+      assert("protocol" in url2);
+      const protocol = url2.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 ? zlib2.createInflate(this.#zlibOptions) : zlib2.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/@actions/github/node_modules/undici/lib/web/fetch/symbols.js
+var require_symbols7 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kUrl: /* @__PURE__ */ Symbol("url"),
+      kHeaders: /* @__PURE__ */ Symbol("headers"),
+      kSignal: /* @__PURE__ */ Symbol("signal"),
+      kState: /* @__PURE__ */ Symbol("state"),
+      kDispatcher: /* @__PURE__ */ Symbol("dispatcher")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js
+var require_file2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js"(exports2, module2) {
+    "use strict";
+    var { Blob: Blob2, File: File2 } = require("node:buffer");
+    var { kState } = require_symbols7();
+    var { webidl } = require_webidl2();
+    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 File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
+    }
+    module2.exports = { FileLike, isFileLike };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js
+var require_formdata2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js"(exports2, module2) {
+    "use strict";
+    var { isBlobLike, iteratorMixin } = require_util10();
+    var { kState } = require_symbols7();
+    var { kEnumerableProperty } = require_util9();
+    var { FileLike, isFileLike } = require_file2();
+    var { webidl } = require_webidl2();
+    var { File: NativeFile } = require("node:buffer");
+    var nodeUtil = require("node:util");
+    var File2 = globalThis.File ?? NativeFile;
+    var FormData2 = 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", FormData2, kState, "name", "value");
+    Object.defineProperties(FormData2.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 File2([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 File2([value], filename, options) : new FileLike(value, filename, options);
+        }
+      }
+      return { name, value };
+    }
+    module2.exports = { FormData: FormData2, makeEntry };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js
+var require_formdata_parser2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js"(exports2, module2) {
+    "use strict";
+    var { isUSVString, bufferToLowerCasedHeaderName } = require_util9();
+    var { utf8DecodeBytes } = require_util10();
+    var { HTTP_TOKEN_CODEPOINTS, isomorphicDecode } = require_data_url2();
+    var { isFileLike } = require_file2();
+    var { makeEntry } = require_formdata2();
+    var assert = require("node:assert");
+    var { File: NodeFile } = require("node:buffer");
+    var File2 = globalThis.File ?? NodeFile;
+    var formDataNameBuffer = Buffer.from('form-data; name="');
+    var filenameBuffer = Buffer.from("; filename");
+    var dd = Buffer.from("--");
+    var ddcrlf = Buffer.from("--\r\n");
+    function isAsciiString(chars) {
+      for (let i = 0; i < chars.length; ++i) {
+        if ((chars.charCodeAt(i) & ~127) !== 0) {
+          return false;
+        }
+      }
+      return true;
+    }
+    function validateBoundary(boundary) {
+      const length = boundary.length;
+      if (length < 27 || length > 70) {
+        return false;
+      }
+      for (let i = 0; i < length; ++i) {
+        const cp = boundary.charCodeAt(i);
+        if (!(cp >= 48 && cp <= 57 || cp >= 65 && cp <= 90 || cp >= 97 && cp <= 122 || cp === 39 || cp === 45 || cp === 95)) {
+          return false;
+        }
+      }
+      return true;
+    }
+    function multipartFormDataParser(input, mimeType) {
+      assert(mimeType !== "failure" && mimeType.essence === "multipart/form-data");
+      const boundaryString = mimeType.parameters.get("boundary");
+      if (boundaryString === void 0) {
+        return "failure";
+      }
+      const boundary = Buffer.from(`--${boundaryString}`, "utf8");
+      const entryList = [];
+      const position = { position: 0 };
+      while (input[position.position] === 13 && input[position.position + 1] === 10) {
+        position.position += 2;
+      }
+      let trailing = input.length;
+      while (input[trailing - 1] === 10 && input[trailing - 2] === 13) {
+        trailing -= 2;
+      }
+      if (trailing !== input.length) {
+        input = input.subarray(0, trailing);
+      }
+      while (true) {
+        if (input.subarray(position.position, position.position + boundary.length).equals(boundary)) {
+          position.position += boundary.length;
+        } else {
+          return "failure";
+        }
+        if (position.position === input.length - 2 && bufferStartsWith(input, dd, position) || position.position === input.length - 4 && bufferStartsWith(input, ddcrlf, position)) {
+          return entryList;
+        }
+        if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
+          return "failure";
+        }
+        position.position += 2;
+        const result = parseMultipartFormDataHeaders(input, position);
+        if (result === "failure") {
+          return "failure";
+        }
+        let { name, filename, contentType, encoding } = result;
+        position.position += 2;
+        let body;
+        {
+          const boundaryIndex = input.indexOf(boundary.subarray(2), position.position);
+          if (boundaryIndex === -1) {
+            return "failure";
+          }
+          body = input.subarray(position.position, boundaryIndex - 4);
+          position.position += body.length;
+          if (encoding === "base64") {
+            body = Buffer.from(body.toString(), "base64");
+          }
+        }
+        if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
+          return "failure";
+        } else {
+          position.position += 2;
+        }
+        let value;
+        if (filename !== null) {
+          contentType ??= "text/plain";
+          if (!isAsciiString(contentType)) {
+            contentType = "";
+          }
+          value = new File2([body], filename, { type: contentType });
+        } else {
+          value = utf8DecodeBytes(Buffer.from(body));
+        }
+        assert(isUSVString(name));
+        assert(typeof value === "string" && isUSVString(value) || isFileLike(value));
+        entryList.push(makeEntry(name, value, filename));
+      }
+    }
+    function parseMultipartFormDataHeaders(input, position) {
+      let name = null;
+      let filename = null;
+      let contentType = null;
+      let encoding = null;
+      while (true) {
+        if (input[position.position] === 13 && input[position.position + 1] === 10) {
+          if (name === null) {
+            return "failure";
+          }
+          return { name, filename, contentType, encoding };
+        }
+        let headerName = collectASequenceOfBytes(
+          (char) => char !== 10 && char !== 13 && char !== 58,
+          input,
+          position
+        );
+        headerName = removeChars(headerName, true, true, (char) => char === 9 || char === 32);
+        if (!HTTP_TOKEN_CODEPOINTS.test(headerName.toString())) {
+          return "failure";
+        }
+        if (input[position.position] !== 58) {
+          return "failure";
+        }
+        position.position++;
+        collectASequenceOfBytes(
+          (char) => char === 32 || char === 9,
+          input,
+          position
+        );
+        switch (bufferToLowerCasedHeaderName(headerName)) {
+          case "content-disposition": {
+            name = filename = null;
+            if (!bufferStartsWith(input, formDataNameBuffer, position)) {
+              return "failure";
+            }
+            position.position += 17;
+            name = parseMultipartFormDataName(input, position);
+            if (name === null) {
+              return "failure";
+            }
+            if (bufferStartsWith(input, filenameBuffer, position)) {
+              let check = position.position + filenameBuffer.length;
+              if (input[check] === 42) {
+                position.position += 1;
+                check += 1;
+              }
+              if (input[check] !== 61 || input[check + 1] !== 34) {
+                return "failure";
+              }
+              position.position += 12;
+              filename = parseMultipartFormDataName(input, position);
+              if (filename === null) {
+                return "failure";
+              }
+            }
+            break;
+          }
+          case "content-type": {
+            let headerValue = collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+            headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
+            contentType = isomorphicDecode(headerValue);
+            break;
+          }
+          case "content-transfer-encoding": {
+            let headerValue = collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+            headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
+            encoding = isomorphicDecode(headerValue);
+            break;
+          }
+          default: {
+            collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+          }
+        }
+        if (input[position.position] !== 13 && input[position.position + 1] !== 10) {
+          return "failure";
+        } else {
+          position.position += 2;
+        }
+      }
+    }
+    function parseMultipartFormDataName(input, position) {
+      assert(input[position.position - 1] === 34);
+      let name = collectASequenceOfBytes(
+        (char) => char !== 10 && char !== 13 && char !== 34,
+        input,
+        position
+      );
+      if (input[position.position] !== 34) {
+        return null;
+      } else {
+        position.position++;
+      }
+      name = new TextDecoder().decode(name).replace(/%0A/ig, "\n").replace(/%0D/ig, "\r").replace(/%22/g, '"');
+      return name;
+    }
+    function collectASequenceOfBytes(condition, input, position) {
+      let start = position.position;
+      while (start < input.length && condition(input[start])) {
+        ++start;
+      }
+      return input.subarray(position.position, position.position = start);
+    }
+    function removeChars(buf, leading, trailing, predicate) {
+      let lead = 0;
+      let trail = buf.length - 1;
+      if (leading) {
+        while (lead < buf.length && predicate(buf[lead])) lead++;
+      }
+      if (trailing) {
+        while (trail > 0 && predicate(buf[trail])) trail--;
+      }
+      return lead === 0 && trail === buf.length - 1 ? buf : buf.subarray(lead, trail + 1);
+    }
+    function bufferStartsWith(buffer, start, position) {
+      if (buffer.length < start.length) {
+        return false;
+      }
+      for (let i = 0; i < start.length; i++) {
+        if (start[i] !== buffer[position.position + i]) {
+          return false;
+        }
+      }
+      return true;
+    }
+    module2.exports = {
+      multipartFormDataParser,
+      validateBoundary
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js
+var require_body2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js"(exports2, module2) {
+    "use strict";
+    var util = require_util9();
+    var {
+      ReadableStreamFrom,
+      isBlobLike,
+      isReadableStreamLike,
+      readableStreamClose,
+      createDeferredPromise,
+      fullyReadBody,
+      extractMimeType,
+      utf8DecodeBytes
+    } = require_util10();
+    var { FormData: FormData2 } = require_formdata2();
+    var { kState } = require_symbols7();
+    var { webidl } = require_webidl2();
+    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_url2();
+    var { multipartFormDataParser } = require_formdata_parser2();
+    var random;
+    try {
+      const crypto2 = require("node:crypto");
+      random = (max) => crypto2.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 stream2 = weakRef.deref();
+        if (stream2 && !stream2.locked && !isDisturbed(stream2) && !isErrored(stream2)) {
+          stream2.cancel("Response object has been garbage collected").catch(noop3);
+        }
+      });
+    }
+    function extractBody(object, keepalive = false) {
+      let stream2 = null;
+      if (object instanceof ReadableStream) {
+        stream2 = object;
+      } else if (isBlobLike(object)) {
+        stream2 = object.stream();
+      } else {
+        stream2 = 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(stream2));
+      let action = null;
+      let source = null;
+      let length = null;
+      let type2 = null;
+      if (typeof object === "string") {
+        source = object;
+        type2 = "text/plain;charset=UTF-8";
+      } else if (object instanceof URLSearchParams) {
+        source = object.toString();
+        type2 = "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 = (str2) => str2.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;
+            }
+          }
+        };
+        type2 = `multipart/form-data; boundary=${boundary}`;
+      } else if (isBlobLike(object)) {
+        source = object;
+        length = object.size;
+        if (object.type) {
+          type2 = 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"
+          );
+        }
+        stream2 = object instanceof ReadableStream ? object : ReadableStreamFrom(object);
+      }
+      if (typeof source === "string" || util.isBuffer(source)) {
+        length = Buffer.byteLength(source);
+      }
+      if (action != null) {
+        let iterator2;
+        stream2 = 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(stream2)) {
+                const buffer = new Uint8Array(value);
+                if (buffer.byteLength) {
+                  controller.enqueue(buffer);
+                }
+              }
+            }
+            return controller.desiredSize > 0;
+          },
+          async cancel(reason) {
+            await iterator2.return();
+          },
+          type: "bytes"
+        });
+      }
+      const body = { stream: stream2, source, length };
+      return [body, type2];
+    }
+    function safelyExtractBody(object, keepalive = false) {
+      if (object instanceof ReadableStream) {
+        assert(!util.isDisturbed(object), "The body has already been consumed.");
+        assert(!object.locked, "The stream is locked.");
+      }
+      return extractBody(object, keepalive);
+    }
+    function cloneBody(instance, body) {
+      const [out1, out2] = body.stream.tee();
+      body.stream = out1;
+      return {
+        stream: out2,
+        length: body.length,
+        source: body.source
+      };
+    }
+    function throwIfAborted(state) {
+      if (state.aborted) {
+        throw new DOMException("The operation was aborted.", "AbortError");
+      }
+    }
+    function bodyMixinMethods(instance) {
+      const methods = {
+        blob() {
+          return consumeBody(this, (bytes) => {
+            let mimeType = bodyMimeType(this);
+            if (mimeType === null) {
+              mimeType = "";
+            } else if (mimeType) {
+              mimeType = serializeAMimeType(mimeType);
+            }
+            return new Blob2([bytes], { type: mimeType });
+          }, instance);
+        },
+        arrayBuffer() {
+          return consumeBody(this, (bytes) => {
+            return new Uint8Array(bytes).buffer;
+          }, instance);
+        },
+        text() {
+          return consumeBody(this, utf8DecodeBytes, instance);
+        },
+        json() {
+          return consumeBody(this, parseJSONFromBytes, instance);
+        },
+        formData() {
+          return consumeBody(this, (value) => {
+            const mimeType = bodyMimeType(this);
+            if (mimeType !== null) {
+              switch (mimeType.essence) {
+                case "multipart/form-data": {
+                  const parsed = multipartFormDataParser(value, mimeType);
+                  if (parsed === "failure") {
+                    throw new TypeError("Failed to parse body as FormData.");
+                  }
+                  const fd = new FormData2();
+                  fd[kState] = parsed;
+                  return fd;
+                }
+                case "application/x-www-form-urlencoded": {
+                  const entries = new URLSearchParams(value.toString());
+                  const fd = new FormData2();
+                  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 = (error3) => promise.reject(error3);
+      const successSteps = (data) => {
+        try {
+          promise.resolve(convertBytesToJSValue(data));
+        } catch (e) {
+          errorSteps(e);
+        }
+      };
+      if (object[kState].body == null) {
+        successSteps(Buffer.allocUnsafe(0));
+        return promise.promise;
+      }
+      await fullyReadBody(object[kState].body, successSteps, errorSteps);
+      return promise.promise;
+    }
+    function bodyUnusable(object) {
+      const body = object[kState].body;
+      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
+    }
+    function parseJSONFromBytes(bytes) {
+      return JSON.parse(utf8DecodeBytes(bytes));
+    }
+    function bodyMimeType(requestOrResponse) {
+      const headers = requestOrResponse[kState].headersList;
+      const mimeType = extractMimeType(headers);
+      if (mimeType === "failure") {
+        return null;
+      }
+      return mimeType;
+    }
+    module2.exports = {
+      extractBody,
+      safelyExtractBody,
+      cloneBody,
+      mixinBody,
+      streamRegistry,
+      hasFinalizationRegistry,
+      bodyUnusable
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js
+var require_client_h12 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var util = require_util9();
+    var { channels } = require_diagnostics2();
+    var timers = require_timers2();
+    var {
+      RequestContentLengthMismatchError,
+      ResponseContentLengthMismatchError,
+      RequestAbortedError,
+      HeadersTimeoutError,
+      HeadersOverflowError,
+      SocketError,
+      InformationalError,
+      BodyTimeoutError,
+      HTTPParserError,
+      ResponseExceededMaxSizeError
+    } = require_errors2();
+    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_symbols6();
+    var constants = require_constants7();
+    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_wasm2() : void 0;
+      let mod;
+      try {
+        mod = await WebAssembly.compile(require_llhttp_simd_wasm2());
+      } catch (e) {
+        mod = await WebAssembly.compile(llhttpWasmData || require_llhttp_wasm2());
+      }
+      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(delay2, type2) {
+        if (delay2 !== this.timeoutValue || type2 & USE_FAST_TIMER ^ this.timeoutType & USE_FAST_TIMER) {
+          if (this.timeout) {
+            timers.clearTimeout(this.timeout);
+            this.timeout = null;
+          }
+          if (delay2) {
+            if (type2 & USE_FAST_TIMER) {
+              this.timeout = timers.setFastTimeout(onParserTimeout, delay2, new WeakRef(this));
+            } else {
+              this.timeout = setTimeout(onParserTimeout, delay2, new WeakRef(this));
+              this.timeout.unref();
+            }
+          }
+          this.timeoutValue = delay2;
+        } else if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
+        }
+        this.timeoutType = type2;
+      }
+      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]();
+        }
+      }
     };
-    webidl.errors.conversionFailed = function(context2) {
-      const plural = context2.types.length === 1 ? "" : " one of";
-      const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`;
-      return webidl.errors.exception({
-        header: context2.prefix,
-        message
+    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);
       });
-    };
-    webidl.errors.invalidArgument = function(context2) {
-      return webidl.errors.exception({
-        header: context2.prefix,
-        message: `"${context2.value}" is an invalid ${context2.type}.`
+      addListener(socket, "readable", function() {
+        const parser = this[kParser];
+        if (parser) {
+          parser.readMore();
+        }
       });
-    };
-    webidl.brandCheck = function(V, I, opts = void 0) {
-      if (opts?.strict !== false && !(V instanceof I)) {
-        throw new TypeError("Illegal invocation");
+      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: path11, host, upgrade, blocking, reset } = request2;
+      let { body, headers, contentLength } = request2;
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH" || method === "QUERY" || method === "PROPFIND" || method === "PROPPATCH";
+      if (util.isFormDataLike(body)) {
+        if (!extractBody) {
+          extractBody = require_body2().extractBody;
+        }
+        const [bodyStream, contentType] = extractBody(body);
+        if (request2.contentType == null) {
+          headers.push("content-type", contentType);
+        }
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
+      } else if (util.isBlobLike(body) && request2.contentType == null && body.type) {
+        headers.push("content-type", body.type);
+      }
+      if (body && typeof body.read === "function") {
+        body.read(0);
+      }
+      const bodyLength = util.bodyLength(body);
+      contentLength = bodyLength ?? contentLength;
+      if (contentLength === null) {
+        contentLength = request2.contentLength;
+      }
+      if (contentLength === 0 && !expectsPayload) {
+        contentLength = null;
+      }
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          util.errorRequest(client, request2, new RequestContentLengthMismatchError());
+          return false;
+        }
+        process.emitWarning(new RequestContentLengthMismatchError());
+      }
+      const socket = client[kSocket];
+      const abort = (err) => {
+        if (request2.aborted || request2.completed) {
+          return;
+        }
+        util.errorRequest(client, request2, err || new RequestAbortedError());
+        util.destroy(body);
+        util.destroy(socket, new InformationalError("aborted"));
+      };
+      try {
+        request2.onConnect(abort);
+      } catch (err) {
+        util.errorRequest(client, request2, err);
+      }
+      if (request2.aborted) {
+        return false;
+      }
+      if (method === "HEAD") {
+        socket[kReset] = true;
+      }
+      if (upgrade || method === "CONNECT") {
+        socket[kReset] = true;
+      }
+      if (reset != null) {
+        socket[kReset] = reset;
+      }
+      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
+        socket[kReset] = true;
+      }
+      if (blocking) {
+        socket[kBlocking] = true;
+      }
+      let header = `${method} ${path11} HTTP/1.1\r
+`;
+      if (typeof host === "string") {
+        header += `host: ${host}\r
+`;
       } else {
-        return V?.[Symbol.toStringTag] === I.prototype[Symbol.toStringTag];
+        header += client[kHostHeader];
       }
-    };
-    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.`,
-          ...ctx
-        });
+      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";
       }
-    };
-    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";
+      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
+`;
           }
-          return "Object";
         }
       }
-    };
-    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;
+      if (channels.sendHeaders.hasSubscribers) {
+        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      }
+      if (!body || bodyLength === 0) {
+        writeBuffer(abort, null, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isBuffer(body)) {
+        writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isBlobLike(body)) {
+        if (typeof body.stream === "function") {
+          writeIterable(abort, body.stream(), client, request2, socket, contentLength, header, expectsPayload);
+        } else {
+          writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+        }
+      } else if (util.isStream(body)) {
+        writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isIterable(body)) {
+        writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else {
+        assert(false);
+      }
+      return true;
+    }
+    function writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      let finished = false;
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
+      const onData = function(chunk) {
+        if (finished) {
+          return;
+        }
+        try {
+          if (!writer.write(chunk) && this.pause) {
+            this.pause();
+          }
+        } catch (err) {
+          util.destroy(this, err);
+        }
+      };
+      const onDrain = function() {
+        if (finished) {
+          return;
+        }
+        if (body.resume) {
+          body.resume();
+        }
+      };
+      const onClose = function() {
+        queueMicrotask(() => {
+          body.removeListener("error", onFinished);
+        });
+        if (!finished) {
+          const err = new RequestAbortedError();
+          queueMicrotask(() => onFinished(err));
+        }
+      };
+      const onFinished = function(err) {
+        if (finished) {
+          return;
+        }
+        finished = true;
+        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
+        socket.off("drain", onDrain).off("error", onFinished);
+        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("close", onClose);
+        if (!err) {
+          try {
+            writer.end();
+          } catch (er) {
+            err = er;
+          }
+        }
+        writer.destroy(err);
+        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
+          util.destroy(body, err);
         } else {
-          lowerBound = Math.pow(-2, 53) + 1;
+          util.destroy(body);
         }
-      } 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;
+      };
+      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onClose);
+      if (body.resume) {
+        body.resume();
       }
-      let x = Number(V);
-      if (x === 0) {
-        x = 0;
+      socket.on("drain", onDrain).on("error", onFinished);
+      if (body.errorEmitted ?? body.errored) {
+        setImmediate(() => onFinished(body.errored));
+      } else if (body.endEmitted ?? body.readableEnded) {
+        setImmediate(() => onFinished(null));
       }
-      if (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 ${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}.`
-          });
+      if (body.closeEmitted ?? body.closed) {
+        setImmediate(onClose);
+      }
+    }
+    function writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      try {
+        if (!body) {
+          if (contentLength === 0) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
+          } else {
+            assert(contentLength === null, "no body must not have content length");
+            socket.write(`${header}\r
+`, "latin1");
+          }
+        } else if (util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          socket.cork();
+          socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+          socket.write(body);
+          socket.uncork();
+          request2.onBodySent(body);
+          if (!expectsPayload && request2.reset !== false) {
+            socket[kReset] = true;
+          }
         }
-        return x;
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      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);
+    }
+    async function writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength === body.size, "blob body must have content length");
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
         }
-        return x;
+        const buffer = Buffer.from(await body.arrayBuffer());
+        socket.cork();
+        socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+        socket.write(buffer);
+        socket.uncork();
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload && request2.reset !== false) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
-        return 0;
+    }
+    async function writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
+        }
       }
-      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);
+      const waitForDrain = () => new Promise((resolve6, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve6;
+        }
+      });
+      socket.on("close", onDrain).on("drain", onDrain);
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          if (!writer.write(chunk)) {
+            await waitForDrain();
+          }
+        }
+        writer.end();
+      } catch (err) {
+        writer.destroy(err);
+      } finally {
+        socket.off("close", onDrain).off("drain", onDrain);
       }
-      return x;
-    };
-    webidl.util.IntegerPart = function(n) {
-      const r = Math.floor(Math.abs(n));
-      if (n < 0) {
-        return -1 * r;
+    }
+    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;
       }
-      return r;
-    };
-    webidl.sequenceConverter = function(converter) {
-      return (V) => {
-        if (webidl.util.Type(V) !== "Object") {
-          throw webidl.errors.exception({
-            header: "Sequence",
-            message: `Value of type ${webidl.util.Type(V)} is not an Object.`
-          });
-        }
-        const method = V?.[Symbol.iterator]?.();
-        const seq2 = [];
-        if (method === void 0 || typeof method.next !== "function") {
-          throw webidl.errors.exception({
-            header: "Sequence",
-            message: "Object is not an iterator."
-          });
+      write(chunk) {
+        const { socket, request: request2, contentLength, client, bytesWritten, expectsPayload, header } = this;
+        if (socket[kError]) {
+          throw socket[kError];
         }
-        while (true) {
-          const { done, value } = method.next();
-          if (done) {
-            break;
-          }
-          seq2.push(converter(value));
+        if (socket.destroyed) {
+          return false;
         }
-        return seq2;
-      };
-    };
-    webidl.recordConverter = function(keyConverter, valueConverter) {
-      return (O) => {
-        if (webidl.util.Type(O) !== "Object") {
-          throw webidl.errors.exception({
-            header: "Record",
-            message: `Value of type ${webidl.util.Type(O)} is not an Object.`
-          });
+        const len = Buffer.byteLength(chunk);
+        if (!len) {
+          return true;
         }
-        const result = {};
-        if (!types.isProxy(O)) {
-          const keys2 = Object.keys(O);
-          for (const key of keys2) {
-            const typedKey = keyConverter(key);
-            const typedValue = valueConverter(O[key]);
-            result[typedKey] = typedValue;
+        if (contentLength !== null && bytesWritten + len > contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
           }
-          return result;
+          process.emitWarning(new RequestContentLengthMismatchError());
         }
-        const keys = Reflect.ownKeys(O);
-        for (const key of keys) {
-          const desc = Reflect.getOwnPropertyDescriptor(O, key);
-          if (desc?.enumerable) {
-            const typedKey = keyConverter(key);
-            const typedValue = valueConverter(O[key]);
-            result[typedKey] = typedValue;
+        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");
           }
         }
-        return result;
-      };
-    };
-    webidl.interfaceConverter = function(i) {
-      return (V, opts = {}) => {
-        if (opts.strict !== false && !(V instanceof i)) {
-          throw webidl.errors.exception({
-            header: i.name,
-            message: `Expected ${V} to be an instance of ${i.name}.`
-          });
-        }
-        return V;
-      };
-    };
-    webidl.dictionaryConverter = function(converters) {
-      return (dictionary) => {
-        const type2 = webidl.util.Type(dictionary);
-        const dict = {};
-        if (type2 === "Null" || type2 === "Undefined") {
-          return dict;
-        } else if (type2 !== "Object") {
-          throw webidl.errors.exception({
-            header: "Dictionary",
-            message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`
-          });
+        if (contentLength === null) {
+          socket.write(`\r
+${len.toString(16)}\r
+`, "latin1");
         }
-        for (const options of converters) {
-          const { key, defaultValue, required, converter } = options;
-          if (required === true) {
-            if (!hasOwn(dictionary, key)) {
-              throw webidl.errors.exception({
-                header: "Dictionary",
-                message: `Missing required key "${key}".`
-              });
+        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();
             }
           }
-          let value = dictionary[key];
-          const hasDefault = hasOwn(options, "defaultValue");
-          if (hasDefault && value !== null) {
-            value = value ?? defaultValue;
+        }
+        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");
           }
-          if (required || hasDefault || value !== void 0) {
-            value = converter(value);
-            if (options.allowedValues && !options.allowedValues.includes(value)) {
-              throw webidl.errors.exception({
-                header: "Dictionary",
-                message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
-              });
-            }
-            dict[key] = value;
+        } 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());
           }
         }
-        return dict;
-      };
-    };
-    webidl.nullableConverter = function(converter) {
-      return (V) => {
-        if (V === null) {
-          return V;
+        if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
+          if (socket[kParser].timeout.refresh) {
+            socket[kParser].timeout.refresh();
+          }
         }
-        return converter(V);
-      };
-    };
-    webidl.converters.DOMString = function(V, opts = {}) {
-      if (V === null && opts.legacyNullToEmptyString) {
-        return "";
-      }
-      if (typeof V === "symbol") {
-        throw new TypeError("Could not convert argument of type symbol to string.");
+        client[kResume]();
       }
-      return String(V);
-    };
-    webidl.converters.ByteString = function(V) {
-      const x = webidl.converters.DOMString(V);
-      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.`
-          );
+      destroy(err) {
+        const { socket, client, abort } = this;
+        socket[kWriting] = false;
+        if (err) {
+          assert(client[kRunning] <= 1, "pipeline should only contain this request");
+          abort(err);
         }
       }
-      return x;
-    };
-    webidl.converters.USVString = toUSVString;
-    webidl.converters.boolean = function(V) {
-      const x = Boolean(V);
-      return x;
-    };
-    webidl.converters.any = function(V) {
-      return V;
-    };
-    webidl.converters["long long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 64, "signed");
-      return x;
     };
-    webidl.converters["unsigned long long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 64, "unsigned");
-      return x;
-    };
-    webidl.converters["unsigned long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 32, "unsigned");
-      return x;
-    };
-    webidl.converters["unsigned short"] = function(V, opts) {
-      const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts);
-      return x;
-    };
-    webidl.converters.ArrayBuffer = function(V, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {
-        throw webidl.errors.conversionFailed({
-          prefix: `${V}`,
-          argument: `${V}`,
-          types: ["ArrayBuffer"]
-        });
-      }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
+    module2.exports = connectH1;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h2.js
+var require_client_h22 = __commonJS({
+  "node_modules/@actions/github/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_util9();
+    var {
+      RequestContentLengthMismatchError,
+      RequestAbortedError,
+      SocketError,
+      InformationalError
+    } = require_errors2();
+    var {
+      kUrl,
+      kReset,
+      kClient,
+      kRunning,
+      kPending,
+      kQueue,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kSocket,
+      kStrictContentLength,
+      kOnError,
+      kMaxConcurrentStreams,
+      kHTTP2Session,
+      kResume,
+      kSize,
+      kHTTPContext
+    } = require_symbols6();
+    var kOpenStreams = /* @__PURE__ */ 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
       }
-      return V;
-    };
-    webidl.converters.TypedArray = function(V, T, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {
-        throw webidl.errors.conversionFailed({
-          prefix: `${T.name}`,
-          argument: `${V}`,
-          types: [T.name]
-        });
+    } = 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));
+        }
       }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
+      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"
         });
       }
-      return V;
-    };
-    webidl.converters.DataView = function(V, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {
-        throw webidl.errors.exception({
-          header: "DataView",
-          message: "Object is not a DataView."
-        });
+      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();
+        }
       }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
+    }
+    function onHttp2SessionError(err) {
+      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+      this[kSocket][kError] = err;
+      this[kClient][kOnError](err);
+    }
+    function onHttp2FrameError(type2, code, id) {
+      if (id === 0) {
+        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
+        this[kSocket][kError] = err;
+        this[kClient][kOnError](err);
       }
-      return V;
-    };
-    webidl.converters.BufferSource = function(V, opts = {}) {
-      if (types.isAnyArrayBuffer(V)) {
-        return webidl.converters.ArrayBuffer(V, opts);
+    }
+    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;
       }
-      if (types.isTypedArray(V)) {
-        return webidl.converters.TypedArray(V, V.constructor);
+      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];
       }
-      if (types.isDataView(V)) {
-        return webidl.converters.DataView(V, opts);
+      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: path11, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
+      let { body } = request2;
+      if (upgrade) {
+        util.errorRequest(client, request2, new Error("Upgrade not supported for H2"));
+        return false;
       }
-      throw new TypeError(`Could not convert ${V} to a BufferSource.`);
-    };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.ByteString
-    );
-    webidl.converters["sequence>"] = webidl.sequenceConverter(
-      webidl.converters["sequence"]
-    );
-    webidl.converters["record"] = webidl.recordConverter(
-      webidl.converters.ByteString,
-      webidl.converters.ByteString
-    );
-    module2.exports = {
-      webidl
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/dataURL.js
-var require_dataURL = __commonJS({
-  "node_modules/undici/lib/fetch/dataURL.js"(exports2, module2) {
-    var assert = require("assert");
-    var { atob: atob2 } = require("buffer");
-    var { isomorphicDecode } = require_util10();
-    var encoder = new TextEncoder();
-    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/;
-    var HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/;
-    var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/;
-    function dataURLProcessor(dataURL) {
-      assert(dataURL.protocol === "data:");
-      let input = URLSerializer(dataURL, true);
-      input = input.slice(5);
-      const position = { position: 0 };
-      let mimeType = collectASequenceOfCodePointsFast(
-        ",",
-        input,
-        position
-      );
-      const mimeTypeLength = mimeType.length;
-      mimeType = removeASCIIWhitespace(mimeType, true, true);
-      if (position.position >= input.length) {
-        return "failure";
+      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;
+        }
       }
-      position.position++;
-      const encodedBody = input.slice(mimeTypeLength + 1);
-      let body = stringPercentDecode(encodedBody);
-      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
-        const stringBody = isomorphicDecode(body);
-        body = forgivingBase64(stringBody);
-        if (body === "failure") {
-          return "failure";
+      let stream2;
+      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;
         }
-        mimeType = mimeType.slice(0, -6);
-        mimeType = mimeType.replace(/(\u0020)+$/, "");
-        mimeType = mimeType.slice(0, -1);
+        err = err || new RequestAbortedError();
+        util.errorRequest(client, request2, err);
+        if (stream2 != null) {
+          util.destroy(stream2, err);
+        }
+        util.destroy(body, err);
+        client[kQueue][client[kRunningIdx]++] = null;
+        client[kResume]();
+      };
+      try {
+        request2.onConnect(abort);
+      } catch (err) {
+        util.errorRequest(client, request2, err);
       }
-      if (mimeType.startsWith(";")) {
-        mimeType = "text/plain" + mimeType;
+      if (request2.aborted) {
+        return false;
       }
-      let mimeTypeRecord = parseMIMEType(mimeType);
-      if (mimeTypeRecord === "failure") {
-        mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
+      if (method === "CONNECT") {
+        session.ref();
+        stream2 = session.request(headers, { endStream: false, signal });
+        if (stream2.id && !stream2.pending) {
+          request2.onUpgrade(null, null, stream2);
+          ++session[kOpenStreams];
+          client[kQueue][client[kRunningIdx]++] = null;
+        } else {
+          stream2.once("ready", () => {
+            request2.onUpgrade(null, null, stream2);
+            ++session[kOpenStreams];
+            client[kQueue][client[kRunningIdx]++] = null;
+          });
+        }
+        stream2.once("close", () => {
+          session[kOpenStreams] -= 1;
+          if (session[kOpenStreams] === 0) session.unref();
+        });
+        return true;
       }
-      return { mimeType: mimeTypeRecord, body };
-    }
-    function URLSerializer(url2, excludeFragment = false) {
-      if (!excludeFragment) {
-        return url2.href;
+      headers[HTTP2_HEADER_PATH] = path11;
+      headers[HTTP2_HEADER_SCHEME] = "https";
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
+      if (body && typeof body.read === "function") {
+        body.read(0);
       }
-      const href = url2.href;
-      const hashLength = url2.hash.length;
-      return hashLength === 0 ? href : href.substring(0, href.length - hashLength);
-    }
-    function collectASequenceOfCodePoints(condition, input, position) {
-      let result = "";
-      while (position.position < input.length && condition(input[position.position])) {
-        result += input[position.position];
-        position.position++;
+      let contentLength = util.bodyLength(body);
+      if (util.isFormDataLike(body)) {
+        extractBody ??= require_body2().extractBody;
+        const [bodyStream, contentType] = extractBody(body);
+        headers["content-type"] = contentType;
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
       }
-      return result;
-    }
-    function collectASequenceOfCodePointsFast(char, input, position) {
-      const idx = input.indexOf(char, position.position);
-      const start = position.position;
-      if (idx === -1) {
-        position.position = input.length;
-        return input.slice(start);
+      if (contentLength == null) {
+        contentLength = request2.contentLength;
       }
-      position.position = idx;
-      return input.slice(start, position.position);
-    }
-    function stringPercentDecode(input) {
-      const bytes = encoder.encode(input);
-      return percentDecode(bytes);
-    }
-    function percentDecode(input) {
-      const output = [];
-      for (let i = 0; i < input.length; i++) {
-        const byte = input[i];
-        if (byte !== 37) {
-          output.push(byte);
-        } else if (byte === 37 && !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i + 1], input[i + 2]))) {
-          output.push(37);
-        } else {
-          const nextTwoBytes = String.fromCharCode(input[i + 1], input[i + 2]);
-          const bytePoint = Number.parseInt(nextTwoBytes, 16);
-          output.push(bytePoint);
-          i += 2;
-        }
+      if (contentLength === 0 || !expectsPayload) {
+        contentLength = null;
       }
-      return Uint8Array.from(output);
-    }
-    function parseMIMEType(input) {
-      input = removeHTTPWhitespace(input, true, true);
-      const position = { position: 0 };
-      const type2 = collectASequenceOfCodePointsFast(
-        "/",
-        input,
-        position
-      );
-      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
-        return "failure";
+      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 (position.position > input.length) {
-        return "failure";
+      if (contentLength != null) {
+        assert(body, "no body must not have content length");
+        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
       }
-      position.position++;
-      let subtype = collectASequenceOfCodePointsFast(
-        ";",
-        input,
-        position
-      );
-      subtype = removeHTTPWhitespace(subtype, false, true);
-      if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {
-        return "failure";
+      session.ref();
+      const shouldEndStream = method === "GET" || method === "HEAD" || body === null;
+      if (expectContinue) {
+        headers[HTTP2_HEADER_EXPECT] = "100-continue";
+        stream2 = session.request(headers, { endStream: shouldEndStream, signal });
+        stream2.once("continue", writeBodyH2);
+      } else {
+        stream2 = session.request(headers, {
+          endStream: shouldEndStream,
+          signal
+        });
+        writeBodyH2();
       }
-      const typeLowercase = type2.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;
+      ++session[kOpenStreams];
+      stream2.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(stream2, err);
+          return;
+        }
+        if (request2.onHeaders(Number(statusCode), parseH2Headers(realHeaders), stream2.resume.bind(stream2), "") === false) {
+          stream2.pause();
+        }
+        stream2.on("data", (chunk) => {
+          if (request2.onData(chunk) === false) {
+            stream2.pause();
           }
-          position.position++;
+        });
+      });
+      stream2.once("end", () => {
+        if (stream2.state?.state == null || stream2.state.state < 6) {
+          request2.onComplete([]);
         }
-        if (position.position > input.length) {
-          break;
+        if (session[kOpenStreams] === 0) {
+          session.unref();
         }
-        let parameterValue = null;
-        if (input[position.position] === '"') {
-          parameterValue = collectAnHTTPQuotedString(input, position, true);
-          collectASequenceOfCodePointsFast(
-            ";",
-            input,
-            position
+        abort(new InformationalError("HTTP/2: stream half-closed (remote)"));
+        client[kQueue][client[kRunningIdx]++] = null;
+        client[kPendingIdx] = client[kRunningIdx];
+        client[kResume]();
+      });
+      stream2.once("close", () => {
+        session[kOpenStreams] -= 1;
+        if (session[kOpenStreams] === 0) {
+          session.unref();
+        }
+      });
+      stream2.once("error", function(err) {
+        abort(err);
+      });
+      stream2.once("frameError", (type2, code) => {
+        abort(new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`));
+      });
+      return true;
+      function writeBodyH2() {
+        if (!body || contentLength === 0) {
+          writeBuffer(
+            abort,
+            stream2,
+            null,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
           );
-        } else {
-          parameterValue = collectASequenceOfCodePointsFast(
-            ";",
-            input,
-            position
+        } else if (util.isBuffer(body)) {
+          writeBuffer(
+            abort,
+            stream2,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
           );
-          parameterValue = removeHTTPWhitespace(parameterValue, false, true);
-          if (parameterValue.length === 0) {
-            continue;
+        } else if (util.isBlobLike(body)) {
+          if (typeof body.stream === "function") {
+            writeIterable(
+              abort,
+              stream2,
+              body.stream(),
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
+          } else {
+            writeBlob(
+              abort,
+              stream2,
+              body,
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
           }
+        } else if (util.isStream(body)) {
+          writeStream(
+            abort,
+            client[kSocket],
+            expectsPayload,
+            stream2,
+            body,
+            client,
+            request2,
+            contentLength
+          );
+        } else if (util.isIterable(body)) {
+          writeIterable(
+            abort,
+            stream2,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else {
+          assert(false);
         }
-        if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {
-          mimeType.parameters.set(parameterName, parameterValue);
-        }
-      }
-      return mimeType;
-    }
-    function forgivingBase64(data) {
-      data = data.replace(/[\u0009\u000A\u000C\u000D\u0020]/g, "");
-      if (data.length % 4 === 0) {
-        data = data.replace(/=?=$/, "");
-      }
-      if (data.length % 4 === 1) {
-        return "failure";
-      }
-      if (/[^+/0-9A-Za-z]/.test(data)) {
-        return "failure";
       }
-      const binary2 = atob2(data);
-      const bytes = new Uint8Array(binary2.length);
-      for (let byte = 0; byte < binary2.length; byte++) {
-        bytes[byte] = binary2.charCodeAt(byte);
-      }
-      return bytes;
     }
-    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;
+    function writeBuffer(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      try {
+        if (body != null && util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          h2stream.cork();
+          h2stream.write(body);
+          h2stream.uncork();
+          h2stream.end();
+          request2.onBodySent(body);
         }
-        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 (!expectsPayload) {
+          socket[kReset] = true;
         }
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (error3) {
+        abort(error3);
       }
-      if (extractValue) {
-        return value;
-      }
-      return input.slice(positionStart, position.position);
     }
-    function serializeAMimeType(mimeType) {
-      assert(mimeType !== "failure");
-      const { parameters, essence } = mimeType;
-      let serialization = essence;
-      for (let [name, value] of parameters.entries()) {
-        serialization += ";";
-        serialization += name;
-        serialization += "=";
-        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
-          value = value.replace(/(\\|")/g, "\\$1");
-          value = '"' + value;
-          value += '"';
+    function writeStream(abort, socket, expectsPayload, h2stream, body, client, request2, contentLength) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      const pipe = pipeline(
+        body,
+        h2stream,
+        (err) => {
+          if (err) {
+            util.destroy(pipe, err);
+            abort(err);
+          } else {
+            util.removeAllListeners(pipe);
+            request2.onRequestSent();
+            if (!expectsPayload) {
+              socket[kReset] = true;
+            }
+            client[kResume]();
+          }
         }
-        serialization += value;
+      );
+      util.addListener(pipe, "data", onPipeData);
+      function onPipeData(chunk) {
+        request2.onBodySent(chunk);
       }
-      return serialization;
     }
-    function isHTTPWhiteSpace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === " ";
-    }
-    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
-      let lead = 0;
-      let trail = str2.length - 1;
-      if (leading) {
-        for (; lead < str2.length && isHTTPWhiteSpace(str2[lead]); lead++) ;
-      }
-      if (trailing) {
-        for (; trail > 0 && isHTTPWhiteSpace(str2[trail]); trail--) ;
+    async function writeBlob(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength === body.size, "blob body must have content length");
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
+        }
+        const buffer = Buffer.from(await body.arrayBuffer());
+        h2stream.cork();
+        h2stream.write(buffer);
+        h2stream.uncork();
+        h2stream.end();
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      return str2.slice(lead, trail + 1);
-    }
-    function isASCIIWhitespace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === "\f" || char === " ";
     }
-    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
-      let lead = 0;
-      let trail = str2.length - 1;
-      if (leading) {
-        for (; lead < str2.length && isASCIIWhitespace(str2[lead]); lead++) ;
+    async function writeIterable(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
+        }
       }
-      if (trailing) {
-        for (; trail > 0 && isASCIIWhitespace(str2[trail]); trail--) ;
+      const waitForDrain = () => new Promise((resolve6, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve6;
+        }
+      });
+      h2stream.on("close", onDrain).on("drain", onDrain);
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          const res = h2stream.write(chunk);
+          request2.onBodySent(chunk);
+          if (!res) {
+            await waitForDrain();
+          }
+        }
+        h2stream.end();
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
+      } finally {
+        h2stream.off("close", onDrain).off("drain", onDrain);
       }
-      return str2.slice(lead, trail + 1);
     }
-    module2.exports = {
-      dataURLProcessor,
-      URLSerializer,
-      collectASequenceOfCodePoints,
-      collectASequenceOfCodePointsFast,
-      stringPercentDecode,
-      parseMIMEType,
-      collectAnHTTPQuotedString,
-      serializeAMimeType
-    };
+    module2.exports = connectH2;
   }
 });
 
-// node_modules/undici/lib/fetch/file.js
-var require_file2 = __commonJS({
-  "node_modules/undici/lib/fetch/file.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js
+var require_redirect_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js"(exports2, module2) {
     "use strict";
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { types } = require("util");
-    var { kState } = require_symbols7();
-    var { isBlobLike } = require_util10();
-    var { webidl } = require_webidl2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var { kEnumerableProperty } = require_util9();
-    var encoder = new TextEncoder();
-    var File2 = class _File extends Blob2 {
-      constructor(fileBits, fileName, options = {}) {
-        webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" });
-        fileBits = webidl.converters["sequence"](fileBits);
-        fileName = webidl.converters.USVString(fileName);
-        options = webidl.converters.FilePropertyBag(options);
-        const n = fileName;
-        let t = options.type;
-        let d;
-        substep: {
-          if (t) {
-            t = parseMIMEType(t);
-            if (t === "failure") {
-              t = "";
-              break substep;
-            }
-            t = serializeAMimeType(t).toLowerCase();
-          }
-          d = options.lastModified;
-        }
-        super(processBlobParts(fileBits, options), { type: t });
-        this[kState] = {
-          name: n,
-          lastModified: d,
-          type: t
-        };
+    var util = require_util9();
+    var { kBodyUsed } = require_symbols6();
+    var assert = require("node:assert");
+    var { InvalidArgumentError } = require_errors2();
+    var EE = require("node:events");
+    var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
+    var kBody = /* @__PURE__ */ Symbol("body");
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
       }
-      get name() {
-        webidl.brandCheck(this, _File);
-        return this[kState].name;
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
       }
-      get lastModified() {
-        webidl.brandCheck(this, _File);
-        return this[kState].lastModified;
+    };
+    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);
+        }
       }
-      get type() {
-        webidl.brandCheck(this, _File);
-        return this[kState].type;
+      onConnect(abort) {
+        this.abort = abort;
+        this.handler.onConnect(abort, { history: this.history });
       }
-    };
-    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
-        };
+      onUpgrade(statusCode, headers, socket) {
+        this.handler.onUpgrade(statusCode, headers, socket);
       }
-      stream(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.stream(...args);
+      onError(error3) {
+        this.handler.onError(error3);
       }
-      arrayBuffer(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.arrayBuffer(...args);
+      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 path11 = search ? `${pathname}${search}` : pathname;
+        this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
+        this.opts.path = path11;
+        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;
+        }
       }
-      slice(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.slice(...args);
+      onData(chunk) {
+        if (this.location) {
+        } else {
+          return this.handler.onData(chunk);
+        }
       }
-      text(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.text(...args);
+      onComplete(trailers) {
+        if (this.location) {
+          this.location = null;
+          this.abort = null;
+          this.dispatch(this.opts, this);
+        } else {
+          this.handler.onComplete(trailers);
+        }
       }
-      get size() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.size;
+      onBodySent(chunk) {
+        if (this.handler.onBodySent) {
+          this.handler.onBodySent(chunk);
+        }
       }
-      get type() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.type;
+    };
+    function parseLocation(statusCode, headers) {
+      if (redirectableStatusCodes.indexOf(statusCode) === -1) {
+        return null;
       }
-      get name() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].name;
+      for (let i = 0; i < headers.length; i += 2) {
+        if (headers[i].length === 8 && util.headerNameToString(headers[i]) === "location") {
+          return headers[i + 1];
+        }
       }
-      get lastModified() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].lastModified;
+    }
+    function shouldRemoveHeader(header, removeContent, unknownOrigin) {
+      if (header.length === 4) {
+        return util.headerNameToString(header) === "host";
       }
-      get [Symbol.toStringTag]() {
-        return "File";
+      if (removeContent && util.headerNameToString(header).startsWith("content-")) {
+        return true;
       }
-    };
-    Object.defineProperties(File2.prototype, {
-      [Symbol.toStringTag]: {
-        value: "File",
-        configurable: true
-      },
-      name: kEnumerableProperty,
-      lastModified: kEnumerableProperty
-    });
-    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
-    webidl.converters.BlobPart = function(V, opts) {
-      if (webidl.util.Type(V) === "Object") {
-        if (isBlobLike(V)) {
-          return webidl.converters.Blob(V, { strict: false });
-        }
-        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
-          return webidl.converters.BufferSource(V, opts);
-        }
+      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 webidl.converters.USVString(V, opts);
-    };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.BlobPart
-    );
-    webidl.converters.FilePropertyBag = webidl.dictionaryConverter([
-      {
-        key: "lastModified",
-        converter: webidl.converters["long long"],
-        get defaultValue() {
-          return Date.now();
-        }
-      },
-      {
-        key: "type",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "endings",
-        converter: (value) => {
-          value = webidl.converters.DOMString(value);
-          value = value.toLowerCase();
-          if (value !== "native") {
-            value = "transparent";
+      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]);
           }
-          return value;
-        },
-        defaultValue: "transparent"
-      }
-    ]);
-    function processBlobParts(parts, options) {
-      const bytes = [];
-      for (const element of parts) {
-        if (typeof element === "string") {
-          let s = element;
-          if (options.endings === "native") {
-            s = convertLineEndingsNative(s);
-          }
-          bytes.push(encoder.encode(s));
-        } else if (types.isAnyArrayBuffer(element) || types.isTypedArray(element)) {
-          if (!element.buffer) {
-            bytes.push(new Uint8Array(element));
-          } else {
-            bytes.push(
-              new Uint8Array(element.buffer, element.byteOffset, element.byteLength)
-            );
+        }
+      } else if (headers && typeof headers === "object") {
+        for (const key of Object.keys(headers)) {
+          if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {
+            ret.push(key, headers[key]);
           }
-        } else if (isBlobLike(element)) {
-          bytes.push(element);
         }
+      } else {
+        assert(headers == null, "headers must be an object or an array");
       }
-      return bytes;
-    }
-    function convertLineEndingsNative(s) {
-      let nativeLineEnding = "\n";
-      if (process.platform === "win32") {
-        nativeLineEnding = "\r\n";
-      }
-      return s.replace(/\r?\n/g, nativeLineEnding);
+      return ret;
     }
-    function isFileLike(object) {
-      return NativeFile && object instanceof NativeFile || object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
+    module2.exports = RedirectHandler;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js
+var require_redirect_interceptor2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js"(exports2, module2) {
+    "use strict";
+    var RedirectHandler = require_redirect_handler2();
+    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 = { File: File2, FileLike, isFileLike };
+    module2.exports = createRedirectInterceptor;
   }
 });
 
-// node_modules/undici/lib/fetch/formdata.js
-var require_formdata2 = __commonJS({
-  "node_modules/undici/lib/fetch/formdata.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js
+var require_client2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js"(exports2, module2) {
     "use strict";
-    var { isBlobLike, toUSVString, makeIterator } = require_util10();
-    var { kState } = require_symbols7();
-    var { File: UndiciFile, FileLike, isFileLike } = require_file2();
-    var { webidl } = require_webidl2();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var File2 = NativeFile ?? UndiciFile;
-    var FormData2 = class _FormData {
-      constructor(form) {
-        if (form !== void 0) {
-          throw webidl.errors.conversionFailed({
-            prefix: "FormData constructor",
-            argument: "Argument 1",
-            types: ["undefined"]
-          });
+    var assert = require("node:assert");
+    var net = require("node:net");
+    var http = require("node:http");
+    var util = require_util9();
+    var { channels } = require_diagnostics2();
+    var Request = require_request3();
+    var DispatcherBase = require_dispatcher_base2();
+    var {
+      InvalidArgumentError,
+      InformationalError,
+      ClientDestroyedError
+    } = require_errors2();
+    var buildConnector = require_connect2();
+    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_symbols6();
+    var connectH1 = require_client_h12();
+    var connectH2 = require_client_h22();
+    var deprecatedInterceptorWarned = false;
+    var kClosedResolve = /* @__PURE__ */ 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(url2, {
+        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");
         }
-        this[kState] = [];
-      }
-      append(name, value, filename = void 0) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" });
-        if (arguments.length === 3 && !isBlobLike(value)) {
-          throw new TypeError(
-            "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"
-          );
+        if (socketTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");
         }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0;
-        const entry = makeEntry(name, value, filename);
-        this[kState].push(entry);
-      }
-      delete(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" });
-        name = webidl.converters.USVString(name);
-        this[kState] = this[kState].filter((entry) => entry.name !== name);
-      }
-      get(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" });
-        name = webidl.converters.USVString(name);
-        const idx = this[kState].findIndex((entry) => entry.name === name);
-        if (idx === -1) {
-          return null;
+        if (requestTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");
         }
-        return this[kState][idx].value;
-      }
-      getAll(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" });
-        name = webidl.converters.USVString(name);
-        return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value);
-      }
-      has(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" });
-        name = webidl.converters.USVString(name);
-        return this[kState].findIndex((entry) => entry.name === name) !== -1;
-      }
-      set(name, value, filename = void 0) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" });
-        if (arguments.length === 3 && !isBlobLike(value)) {
-          throw new TypeError(
-            "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"
-          );
+        if (idleTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported idleTimeout, use keepAliveTimeout instead");
         }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? toUSVString(filename) : void 0;
-        const entry = makeEntry(name, value, filename);
-        const idx = this[kState].findIndex((entry2) => entry2.name === name);
-        if (idx !== -1) {
-          this[kState] = [
-            ...this[kState].slice(0, idx),
-            entry,
-            ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name)
-          ];
-        } else {
-          this[kState].push(entry);
+        if (maxKeepAliveTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");
         }
-      }
-      entries() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key+value"
-        );
-      }
-      keys() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key"
-        );
-      }
-      values() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "value"
-        );
-      }
-      /**
-       * @param {(value: string, key: string, self: FormData) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'."
-          );
+        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");
         }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
+        if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) {
+          throw new InvalidArgumentError("maxRequestsPerClient must be a positive number");
         }
-      }
-    };
-    FormData2.prototype[Symbol.iterator] = FormData2.prototype.entries;
-    Object.defineProperties(FormData2.prototype, {
-      [Symbol.toStringTag]: {
-        value: "FormData",
-        configurable: true
-      }
-    });
-    function makeEntry(name, value, filename) {
-      name = Buffer.from(name).toString("utf8");
-      if (typeof value === "string") {
-        value = Buffer.from(value).toString("utf8");
-      } else {
-        if (!isFileLike(value)) {
-          value = value instanceof Blob2 ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
+        if (localAddress != null && (typeof localAddress !== "string" || net.isIP(localAddress) === 0)) {
+          throw new InvalidArgumentError("localAddress must be valid string IP address");
         }
-        if (filename !== void 0) {
-          const options = {
-            type: value.type,
-            lastModified: value.lastModified
-          };
-          value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
+        if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) {
+          throw new InvalidArgumentError("maxResponseSize must be a positive number");
         }
-      }
-      return { name, value };
-    }
-    module2.exports = { FormData: FormData2 };
-  }
-});
-
-// node_modules/undici/lib/fetch/body.js
-var require_body2 = __commonJS({
-  "node_modules/undici/lib/fetch/body.js"(exports2, module2) {
-    "use strict";
-    var Busboy = require_main();
-    var util = require_util9();
-    var {
-      ReadableStreamFrom,
-      isBlobLike,
-      isReadableStreamLike,
-      readableStreamClose,
-      createDeferredPromise,
-      fullyReadBody
-    } = require_util10();
-    var { FormData: FormData2 } = require_formdata2();
-    var { kState } = require_symbols7();
-    var { webidl } = require_webidl2();
-    var { DOMException: DOMException2, structuredClone } = require_constants7();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
-    var { isErrored } = require_util9();
-    var { isUint8Array, isArrayBuffer } = require("util/types");
-    var { File: UndiciFile } = require_file2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var random;
-    try {
-      const crypto2 = require("node:crypto");
-      random = (max) => crypto2.randomInt(0, max);
-    } catch {
-      random = (max) => Math.floor(Math.random(max));
-    }
-    var ReadableStream2 = globalThis.ReadableStream;
-    var File2 = NativeFile ?? UndiciFile;
-    var textEncoder = new TextEncoder();
-    var textDecoder = new TextDecoder();
-    function extractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      let stream2 = null;
-      if (object instanceof ReadableStream2) {
-        stream2 = object;
-      } else if (isBlobLike(object)) {
-        stream2 = object.stream();
-      } else {
-        stream2 = new ReadableStream2({
-          async pull(controller) {
-            controller.enqueue(
-              typeof source === "string" ? textEncoder.encode(source) : source
-            );
-            queueMicrotask(() => readableStreamClose(controller));
-          },
-          start() {
-          },
-          type: void 0
-        });
-      }
-      assert(isReadableStreamLike(stream2));
-      let action = null;
-      let source = null;
-      let length = null;
-      let type2 = null;
-      if (typeof object === "string") {
-        source = object;
-        type2 = "text/plain;charset=UTF-8";
-      } else if (object instanceof URLSearchParams) {
-        source = object.toString();
-        type2 = "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 = (str2) => str2.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;
-            }
-          }
+        if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) {
+          throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number");
         }
-        const chunk = textEncoder.encode(`--${boundary}--`);
-        blobParts.push(chunk);
-        length += chunk.byteLength;
-        if (hasUnknownSizeValue) {
-          length = null;
+        if (allowH2 != null && typeof allowH2 !== "boolean") {
+          throw new InvalidArgumentError("allowH2 must be a valid boolean value");
         }
-        source = object;
-        action = async function* () {
-          for (const part of blobParts) {
-            if (part.stream) {
-              yield* part.stream();
-            } else {
-              yield part;
-            }
-          }
-        };
-        type2 = "multipart/form-data; boundary=" + boundary;
-      } else if (isBlobLike(object)) {
-        source = object;
-        length = object.size;
-        if (object.type) {
-          type2 = object.type;
+        if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) {
+          throw new InvalidArgumentError("maxConcurrentStreams must be a positive integer, greater than 0");
         }
-      } else if (typeof object[Symbol.asyncIterator] === "function") {
-        if (keepalive) {
-          throw new TypeError("keepalive");
+        if (typeof connect2 !== "function") {
+          connect2 = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect2
+          });
         }
-        if (util.isDisturbed(object) || object.locked) {
-          throw new TypeError(
-            "Response body object should not be disturbed or locked"
-          );
+        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 })];
         }
-        stream2 = object instanceof ReadableStream2 ? object : ReadableStreamFrom(object);
+        this[kUrl] = util.parseOrigin(url2);
+        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);
       }
-      if (typeof source === "string" || util.isBuffer(source)) {
-        length = Buffer.byteLength(source);
+      get pipelining() {
+        return this[kPipelining];
       }
-      if (action != null) {
-        let iterator2;
-        stream2 = new ReadableStream2({
-          async start() {
-            iterator2 = action(object)[Symbol.asyncIterator]();
-          },
-          async pull(controller) {
-            const { value, done } = await iterator2.next();
-            if (done) {
-              queueMicrotask(() => {
-                controller.close();
-              });
-            } else {
-              if (!isErrored(stream2)) {
-                controller.enqueue(new Uint8Array(value));
-              }
-            }
-            return controller.desiredSize > 0;
-          },
-          async cancel(reason) {
-            await iterator2.return();
-          },
-          type: void 0
-        });
+      set pipelining(value) {
+        this[kPipelining] = value;
+        this[kResume](true);
       }
-      const body = { stream: stream2, source, length };
-      return [body, type2];
-    }
-    function safelyExtractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+      get [kPending]() {
+        return this[kQueue].length - this[kPendingIdx];
       }
-      if (object instanceof ReadableStream2) {
-        assert(!util.isDisturbed(object), "The body has already been consumed.");
-        assert(!object.locked, "The stream is locked.");
+      get [kRunning]() {
+        return this[kPendingIdx] - this[kRunningIdx];
       }
-      return extractBody(object, keepalive);
-    }
-    function cloneBody(body) {
-      const [out1, out2] = body.stream.tee();
-      const out2Clone = structuredClone(out2, { transfer: [out2] });
-      const [, finalClone] = out2Clone.tee();
-      body.stream = out1;
-      return {
-        stream: finalClone,
-        length: body.length,
-        source: body.source
-      };
-    }
-    async function* consumeBody(body) {
-      if (body) {
-        if (isUint8Array(body)) {
-          yield body;
+      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 {
-          const stream2 = body.stream;
-          if (util.isDisturbed(stream2)) {
-            throw new TypeError("The body has already been consumed.");
-          }
-          if (stream2.locked) {
-            throw new TypeError("The stream is locked.");
-          }
-          stream2[kBodyUsed] = true;
-          yield* stream2;
+          this[kResume](true);
+        }
+        if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
+          this[kNeedDrain] = 2;
         }
+        return this[kNeedDrain] < 2;
       }
-    }
-    function throwIfAborted(state) {
-      if (state.aborted) {
-        throw new DOMException2("The operation was aborted.", "AbortError");
+      async [kClose]() {
+        return new Promise((resolve6) => {
+          if (this[kSize]) {
+            this[kClosedResolve] = resolve6;
+          } else {
+            resolve6(null);
+          }
+        });
       }
-    }
-    function bodyMixinMethods(instance) {
-      const methods = {
-        blob() {
-          return specConsumeBody(this, (bytes) => {
-            let mimeType = bodyMimeType(this);
-            if (mimeType === "failure") {
-              mimeType = "";
-            } else if (mimeType) {
-              mimeType = serializeAMimeType(mimeType);
-            }
-            return new Blob2([bytes], { type: mimeType });
-          }, instance);
-        },
-        arrayBuffer() {
-          return specConsumeBody(this, (bytes) => {
-            return new Uint8Array(bytes).buffer;
-          }, instance);
-        },
-        text() {
-          return specConsumeBody(this, utf8DecodeBytes, instance);
-        },
-        json() {
-          return specConsumeBody(this, parseJSONFromBytes, instance);
-        },
-        async formData() {
-          webidl.brandCheck(this, instance);
-          throwIfAborted(this[kState]);
-          const contentType = this.headers.get("Content-Type");
-          if (/multipart\/form-data/.test(contentType)) {
-            const headers = {};
-            for (const [key, value] of this.headers) headers[key.toLowerCase()] = value;
-            const responseFormData = new FormData2();
-            let busboy;
-            try {
-              busboy = new Busboy({
-                headers,
-                preservePath: true
-              });
-            } catch (err) {
-              throw new DOMException2(`${err}`, "AbortError");
-            }
-            busboy.on("field", (name, value) => {
-              responseFormData.append(name, value);
-            });
-            busboy.on("file", (name, value, filename, encoding, mimeType) => {
-              const chunks = [];
-              if (encoding === "base64" || encoding.toLowerCase() === "base64") {
-                let base64chunk = "";
-                value.on("data", (chunk) => {
-                  base64chunk += chunk.toString().replace(/[\r\n]/gm, "");
-                  const end = base64chunk.length - base64chunk.length % 4;
-                  chunks.push(Buffer.from(base64chunk.slice(0, end), "base64"));
-                  base64chunk = base64chunk.slice(end);
-                });
-                value.on("end", () => {
-                  chunks.push(Buffer.from(base64chunk, "base64"));
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              } else {
-                value.on("data", (chunk) => {
-                  chunks.push(chunk);
-                });
-                value.on("end", () => {
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              }
-            });
-            const busboyResolve = new Promise((resolve6, reject) => {
-              busboy.on("finish", resolve6);
-              busboy.on("error", (err) => reject(new TypeError(err)));
-            });
-            if (this.body !== null) for await (const chunk of consumeBody(this[kState].body)) busboy.write(chunk);
-            busboy.end();
-            await busboyResolve;
-            return responseFormData;
-          } else if (/application\/x-www-form-urlencoded/.test(contentType)) {
-            let entries;
-            try {
-              let text = "";
-              const streamingDecoder = new TextDecoder("utf-8", { ignoreBOM: true });
-              for await (const chunk of consumeBody(this[kState].body)) {
-                if (!isUint8Array(chunk)) {
-                  throw new TypeError("Expected Uint8Array chunk");
-                }
-                text += streamingDecoder.decode(chunk, { stream: true });
-              }
-              text += streamingDecoder.decode();
-              entries = new URLSearchParams(text);
-            } catch (err) {
-              throw Object.assign(new TypeError(), { cause: err });
-            }
-            const formData = new FormData2();
-            for (const [name, value] of entries) {
-              formData.append(name, value);
+      async [kDestroy](err) {
+        return new Promise((resolve6) => {
+          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;
             }
-            return formData;
+            resolve6(null);
+          };
+          if (this[kHTTPContext]) {
+            this[kHTTPContext].destroy(err, callback);
+            this[kHTTPContext] = null;
           } else {
-            await Promise.resolve();
-            throwIfAborted(this[kState]);
-            throw webidl.errors.exception({
-              header: `${instance.name}.formData`,
-              message: "Could not parse content as FormData."
-            });
+            queueMicrotask(callback);
           }
-        }
-      };
-      return methods;
-    }
-    function mixinBody(prototype) {
-      Object.assign(prototype.prototype, bodyMixinMethods(prototype));
-    }
-    async function specConsumeBody(object, convertBytesToJSValue, instance) {
-      webidl.brandCheck(object, instance);
-      throwIfAborted(object[kState]);
-      if (bodyUnusable(object[kState].body)) {
-        throw new TypeError("Body is unusable");
+          this[kResume]();
+        });
       }
-      const promise = createDeferredPromise();
-      const errorSteps = (error3) => promise.reject(error3);
-      const successSteps = (data) => {
-        try {
-          promise.resolve(convertBytesToJSValue(data));
-        } catch (e) {
-          errorSteps(e);
+    };
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    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);
         }
-      };
-      if (object[kState].body == null) {
-        successSteps(new Uint8Array());
-        return promise.promise;
+        assert(client[kSize] === 0);
       }
-      await fullyReadBody(object[kState].body, successSteps, errorSteps);
-      return promise.promise;
-    }
-    function bodyUnusable(body) {
-      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
     }
-    function utf8DecodeBytes(buffer) {
-      if (buffer.length === 0) {
-        return "";
-      }
-      if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
-        buffer = buffer.subarray(3);
+    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;
       }
-      const output = textDecoder.decode(buffer);
-      return output;
-    }
-    function parseJSONFromBytes(bytes) {
-      return JSON.parse(utf8DecodeBytes(bytes));
-    }
-    function bodyMimeType(object) {
-      const { headersList } = object[kState];
-      const contentType = headersList.get("content-type");
-      if (contentType === null) {
-        return "failure";
+      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]
+        });
       }
-      return parseMIMEType(contentType);
-    }
-    module2.exports = {
-      extractBody,
-      safelyExtractBody,
-      cloneBody,
-      mixinBody
-    };
-  }
-});
-
-// node_modules/undici/lib/core/request.js
-var require_request3 = __commonJS({
-  "node_modules/undici/lib/core/request.js"(exports2, module2) {
-    "use strict";
-    var {
-      InvalidArgumentError,
-      NotSupportedError
-    } = require_errors2();
-    var assert = require("assert");
-    var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = require_symbols6();
-    var util = require_util9();
-    var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;
-    var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
-    var invalidPathRegex = /[^\u0021-\u00ff]/;
-    var kHandler = /* @__PURE__ */ Symbol("handler");
-    var channels = {};
-    var extractBody;
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.create = diagnosticsChannel.channel("undici:request:create");
-      channels.bodySent = diagnosticsChannel.channel("undici:request:bodySent");
-      channels.headers = diagnosticsChannel.channel("undici:request:headers");
-      channels.trailers = diagnosticsChannel.channel("undici:request:trailers");
-      channels.error = diagnosticsChannel.channel("undici:request:error");
-    } catch {
-      channels.create = { hasSubscribers: false };
-      channels.bodySent = { hasSubscribers: false };
-      channels.headers = { hasSubscribers: false };
-      channels.trailers = { hasSubscribers: false };
-      channels.error = { hasSubscribers: false };
-    }
-    var Request = class _Request {
-      constructor(origin, {
-        path: path11,
-        method,
-        body,
-        headers,
-        query,
-        idempotent,
-        blocking,
-        upgrade,
-        headersTimeout,
-        bodyTimeout,
-        reset,
-        throwOnError,
-        expectContinue
-      }, handler2) {
-        if (typeof path11 !== "string") {
-          throw new InvalidArgumentError("path must be a string");
-        } else if (path11[0] !== "/" && !(path11.startsWith("http://") || path11.startsWith("https://")) && method !== "CONNECT") {
-          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
-        } else if (invalidPathRegex.exec(path11) !== null) {
-          throw new InvalidArgumentError("invalid request path");
-        }
-        if (typeof method !== "string") {
-          throw new InvalidArgumentError("method must be a string");
-        } else if (tokenRegExp.exec(method) === null) {
-          throw new InvalidArgumentError("invalid request method");
-        }
-        if (upgrade && typeof upgrade !== "string") {
-          throw new InvalidArgumentError("upgrade must be a string");
+      try {
+        const socket = await new Promise((resolve6, reject) => {
+          client[kConnector]({
+            host,
+            hostname,
+            protocol,
+            port,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          }, (err, socket2) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve6(socket2);
+            }
+          });
+        });
+        if (client.destroyed) {
+          util.destroy(socket.on("error", noop3), new ClientDestroyedError());
+          return;
         }
-        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
-          throw new InvalidArgumentError("invalid headersTimeout");
+        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;
         }
-        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
-          throw new InvalidArgumentError("invalid bodyTimeout");
+        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
+          });
         }
-        if (reset != null && typeof reset !== "boolean") {
-          throw new InvalidArgumentError("invalid reset");
+        client.emit("connect", client[kUrl], [client]);
+      } catch (err) {
+        if (client.destroyed) {
+          return;
         }
-        if (expectContinue != null && typeof expectContinue !== "boolean") {
-          throw new InvalidArgumentError("invalid expectContinue");
+        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
+          });
         }
-        this.headersTimeout = headersTimeout;
-        this.bodyTimeout = bodyTimeout;
-        this.throwOnError = throwOnError === true;
-        this.method = method;
-        this.abort = null;
-        if (body == null) {
-          this.body = null;
-        } else if (util.isStream(body)) {
-          this.body = body;
-          const rState = this.body._readableState;
-          if (!rState || !rState.autoDestroy) {
-            this.endHandler = function autoDestroy() {
-              util.destroy(this);
-            };
-            this.body.on("end", this.endHandler);
+        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);
           }
-          this.errorHandler = (err) => {
-            if (this.abort) {
-              this.abort(err);
-            } else {
-              this.error = err;
-            }
-          };
-          this.body.on("error", this.errorHandler);
-        } else if (util.isBuffer(body)) {
-          this.body = body.byteLength ? body : null;
-        } else if (ArrayBuffer.isView(body)) {
-          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
-        } else if (body instanceof ArrayBuffer) {
-          this.body = body.byteLength ? Buffer.from(body) : null;
-        } else if (typeof body === "string") {
-          this.body = body.length ? Buffer.from(body) : null;
-        } else if (util.isFormDataLike(body) || util.isIterable(body) || util.isBlobLike(body)) {
-          this.body = body;
         } else {
-          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
-        }
-        this.completed = false;
-        this.aborted = false;
-        this.upgrade = upgrade || null;
-        this.path = query ? util.buildURL(path11, query) : path11;
-        this.origin = origin;
-        this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
-        this.blocking = blocking == null ? false : blocking;
-        this.reset = reset == null ? null : reset;
-        this.host = null;
-        this.contentLength = null;
-        this.contentType = null;
-        this.headers = "";
-        this.expectContinue = expectContinue != null ? expectContinue : false;
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
-          }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(this, headers[i], headers[i + 1]);
-          }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(this, key, headers[key]);
-          }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
-        }
-        if (util.isFormDataLike(this.body)) {
-          if (util.nodeMajor < 16 || util.nodeMajor === 16 && util.nodeMinor < 8) {
-            throw new InvalidArgumentError("Form-Data bodies are only supported in node v16.8 and newer.");
-          }
-          if (!extractBody) {
-            extractBody = require_body2().extractBody;
-          }
-          const [bodyStream, contentType] = extractBody(body);
-          if (this.contentType == null) {
-            this.contentType = contentType;
-            this.headers += `content-type: ${contentType}\r
-`;
-          }
-          this.body = bodyStream.stream;
-          this.contentLength = bodyStream.length;
-        } else if (util.isBlobLike(body) && this.contentType == null && body.type) {
-          this.contentType = body.type;
-          this.headers += `content-type: ${body.type}\r
-`;
-        }
-        util.validateHandler(handler2, method, upgrade);
-        this.servername = util.getServerName(this.host);
-        this[kHandler] = handler2;
-        if (channels.create.hasSubscribers) {
-          channels.create.publish({ request: this });
+          onError(client, err);
         }
+        client.emit("connectionError", client[kUrl], [client], err);
       }
-      onBodySent(chunk) {
-        if (this[kHandler].onBodySent) {
-          try {
-            return this[kHandler].onBodySent(chunk);
-          } catch (err) {
-            this.abort(err);
-          }
-        }
+      client[kResume]();
+    }
+    function emitDrain(client) {
+      client[kNeedDrain] = 0;
+      client.emit("drain", client[kUrl], [client]);
+    }
+    function resume(client, sync) {
+      if (client[kResuming] === 2) {
+        return;
       }
-      onRequestSent() {
-        if (channels.bodySent.hasSubscribers) {
-          channels.bodySent.publish({ request: this });
+      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 (this[kHandler].onRequestSent) {
-          try {
-            return this[kHandler].onRequestSent();
-          } catch (err) {
-            this.abort(err);
-          }
+        if (client[kClosedResolve] && !client[kSize]) {
+          client[kClosedResolve]();
+          client[kClosedResolve] = null;
+          return;
         }
-      }
-      onConnect(abort) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (this.error) {
-          abort(this.error);
-        } else {
-          this.abort = abort;
-          return this[kHandler].onConnect(abort);
+        if (client[kHTTPContext]) {
+          client[kHTTPContext].resume();
         }
-      }
-      onHeaders(statusCode, headers, resume, statusText) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (channels.headers.hasSubscribers) {
-          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
+        if (client[kBusy]) {
+          client[kNeedDrain] = 2;
+        } else if (client[kNeedDrain] === 2) {
+          if (sync) {
+            client[kNeedDrain] = 1;
+            queueMicrotask(() => emitDrain(client));
+          } else {
+            emitDrain(client);
+          }
+          continue;
         }
-        try {
-          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
-        } catch (err) {
-          this.abort(err);
+        if (client[kPending] === 0) {
+          return;
         }
-      }
-      onData(chunk) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        try {
-          return this[kHandler].onData(chunk);
-        } catch (err) {
-          this.abort(err);
-          return false;
+        if (client[kRunning] >= (getPipelining(client) || 1)) {
+          return;
         }
-      }
-      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 });
+        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);
+          });
         }
-        try {
-          return this[kHandler].onComplete(trailers);
-        } catch (err) {
-          this.onError(err);
+        if (client[kConnecting]) {
+          return;
         }
-      }
-      onError(error3) {
-        this.onFinally();
-        if (channels.error.hasSubscribers) {
-          channels.error.publish({ request: this, error: error3 });
+        if (!client[kHTTPContext]) {
+          connect(client);
+          return;
         }
-        if (this.aborted) {
+        if (client[kHTTPContext].destroyed) {
           return;
         }
-        this.aborted = true;
-        return this[kHandler].onError(error3);
-      }
-      onFinally() {
-        if (this.errorHandler) {
-          this.body.off("error", this.errorHandler);
-          this.errorHandler = null;
+        if (client[kHTTPContext].busy(request2)) {
+          return;
         }
-        if (this.endHandler) {
-          this.body.off("end", this.endHandler);
-          this.endHandler = null;
+        if (!request2.aborted && client[kHTTPContext].write(request2)) {
+          client[kPendingIdx]++;
+        } else {
+          client[kQueue].splice(client[kPendingIdx], 1);
         }
       }
-      // TODO: adjust to support H2
-      addHeader(key, value) {
-        processHeader(this, key, value);
-        return this;
+    }
+    module2.exports = Client;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/fixed-queue.js
+var require_fixed_queue2 = __commonJS({
+  "node_modules/@actions/github/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;
       }
-      static [kHTTP1BuildRequest](origin, opts, handler2) {
-        return new _Request(origin, opts, handler2);
+      isEmpty() {
+        return this.top === this.bottom;
       }
-      static [kHTTP2BuildRequest](origin, opts, handler2) {
-        const headers = opts.headers;
-        opts = { ...opts, headers: null };
-        const request2 = new _Request(origin, opts, handler2);
-        request2.headers = {};
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
-          }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(request2, headers[i], headers[i + 1], true);
-          }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(request2, key, headers[key], true);
-          }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
-        }
-        return request2;
+      isFull() {
+        return (this.top + 1 & kMask) === this.bottom;
       }
-      static [kHTTP2CopyHeaders](raw) {
-        const rawHeaders = raw.split("\r\n");
-        const headers = {};
-        for (const header of rawHeaders) {
-          const [key, value] = header.split(": ");
-          if (value == null || value.length === 0) continue;
-          if (headers[key]) headers[key] += `,${value}`;
-          else headers[key] = value;
-        }
-        return headers;
+      push(data) {
+        this.list[this.top] = data;
+        this.top = this.top + 1 & kMask;
       }
-    };
-    function processHeaderValue(key, val, skipAppend) {
-      if (val && typeof val === "object") {
-        throw new InvalidArgumentError(`invalid ${key} header`);
+      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;
       }
-      val = val != null ? `${val}` : "";
-      if (headerCharRegex.exec(val) !== null) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
+    };
+    module2.exports = class FixedQueue {
+      constructor() {
+        this.head = this.tail = new FixedCircularBuffer();
       }
-      return skipAppend ? val : `${key}: ${val}\r
-`;
-    }
-    function processHeader(request2, key, val, skipAppend = false) {
-      if (val && (typeof val === "object" && !Array.isArray(val))) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      } else if (val === void 0) {
-        return;
+      isEmpty() {
+        return this.head.isEmpty();
       }
-      if (request2.host === null && key.length === 4 && key.toLowerCase() === "host") {
-        if (headerCharRegex.exec(val) !== null) {
-          throw new InvalidArgumentError(`invalid ${key} header`);
-        }
-        request2.host = val;
-      } else if (request2.contentLength === null && key.length === 14 && key.toLowerCase() === "content-length") {
-        request2.contentLength = parseInt(val, 10);
-        if (!Number.isFinite(request2.contentLength)) {
-          throw new InvalidArgumentError("invalid content-length header");
-        }
-      } else if (request2.contentType === null && key.length === 12 && key.toLowerCase() === "content-type") {
-        request2.contentType = val;
-        if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-        else request2.headers += processHeaderValue(key, val);
-      } else if (key.length === 17 && key.toLowerCase() === "transfer-encoding") {
-        throw new InvalidArgumentError("invalid transfer-encoding header");
-      } else if (key.length === 10 && key.toLowerCase() === "connection") {
-        const value = typeof val === "string" ? val.toLowerCase() : null;
-        if (value !== "close" && value !== "keep-alive") {
-          throw new InvalidArgumentError("invalid connection header");
-        } else if (value === "close") {
-          request2.reset = true;
+      push(data) {
+        if (this.head.isFull()) {
+          this.head = this.head.next = new FixedCircularBuffer();
         }
-      } else if (key.length === 10 && key.toLowerCase() === "keep-alive") {
-        throw new InvalidArgumentError("invalid keep-alive header");
-      } else if (key.length === 7 && key.toLowerCase() === "upgrade") {
-        throw new InvalidArgumentError("invalid upgrade header");
-      } else if (key.length === 6 && key.toLowerCase() === "expect") {
-        throw new NotSupportedError("expect header not supported");
-      } else if (tokenRegExp.exec(key) === null) {
-        throw new InvalidArgumentError("invalid header key");
-      } else {
-        if (Array.isArray(val)) {
-          for (let i = 0; i < val.length; i++) {
-            if (skipAppend) {
-              if (request2.headers[key]) request2.headers[key] += `,${processHeaderValue(key, val[i], skipAppend)}`;
-              else request2.headers[key] = processHeaderValue(key, val[i], skipAppend);
-            } else {
-              request2.headers += processHeaderValue(key, val[i]);
-            }
-          }
-        } else {
-          if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-          else request2.headers += processHeaderValue(key, val);
+        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;
       }
-    }
-    module2.exports = Request;
+    };
   }
 });
 
-// node_modules/undici/lib/dispatcher.js
-var require_dispatcher2 = __commonJS({
-  "node_modules/undici/lib/dispatcher.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("events");
-    var Dispatcher = class extends EventEmitter {
-      dispatch() {
-        throw new Error("not implemented");
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js
+var require_pool_stats2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js"(exports2, module2) {
+    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
+    var kPool = /* @__PURE__ */ Symbol("pool");
+    var PoolStats = class {
+      constructor(pool) {
+        this[kPool] = pool;
       }
-      close() {
-        throw new Error("not implemented");
+      get connected() {
+        return this[kPool][kConnected];
       }
-      destroy() {
-        throw new Error("not implemented");
+      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 = Dispatcher;
+    module2.exports = PoolStats;
   }
 });
 
-// node_modules/undici/lib/dispatcher-base.js
-var require_dispatcher_base2 = __commonJS({
-  "node_modules/undici/lib/dispatcher-base.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js
+var require_pool_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js"(exports2, module2) {
     "use strict";
-    var Dispatcher = require_dispatcher2();
-    var {
-      ClientDestroyedError,
-      ClientClosedError,
-      InvalidArgumentError
-    } = require_errors2();
-    var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols6();
-    var kDestroyed = /* @__PURE__ */ Symbol("destroyed");
-    var kClosed = /* @__PURE__ */ Symbol("closed");
-    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
-    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
-    var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
-    var DispatcherBase = class extends Dispatcher {
+    var DispatcherBase = require_dispatcher_base2();
+    var FixedQueue = require_fixed_queue2();
+    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
+    var PoolStats = require_pool_stats2();
+    var kClients = /* @__PURE__ */ Symbol("clients");
+    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
+    var kQueue = /* @__PURE__ */ Symbol("queue");
+    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
+    var kAddClient = /* @__PURE__ */ Symbol("add client");
+    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
+    var kStats = /* @__PURE__ */ Symbol("stats");
+    var PoolBase = class extends DispatcherBase {
       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");
+        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[kInterceptors] = newInterceptors;
-      }
-      close(callback) {
-        if (callback === void 0) {
-          return new Promise((resolve6, reject) => {
-            this.close((err, data) => {
-              return err ? reject(err) : resolve6(data);
-            });
-          });
-        }
-        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));
+          this[kNeedDrain] = needDrain;
+          if (!this[kNeedDrain] && pool[kNeedDrain]) {
+            pool[kNeedDrain] = false;
+            pool.emit("drain", origin, [pool, ...targets]);
           }
-          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);
+          if (pool[kClosedResolve] && queue.isEmpty()) {
+            Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]);
           }
         };
-        this[kClose]().then(() => this.destroy()).then(() => {
-          queueMicrotask(onClosed);
-        });
+        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);
       }
-      destroy(err, callback) {
-        if (typeof err === "function") {
-          callback = err;
-          err = null;
-        }
-        if (callback === void 0) {
-          return new Promise((resolve6, reject) => {
-            this.destroy(err, (err2, data) => {
-              return err2 ? (
-                /* istanbul ignore next: should never error */
-                reject(err2)
-              ) : resolve6(data);
-            });
-          });
+      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;
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        return ret;
+      }
+      get [kRunning]() {
+        let ret = 0;
+        for (const { [kRunning]: running } of this[kClients]) {
+          ret += running;
         }
-        if (this[kDestroyed]) {
-          if (this[kOnDestroyed]) {
-            this[kOnDestroyed].push(callback);
-          } else {
-            queueMicrotask(() => callback(null, null));
-          }
-          return;
+        return ret;
+      }
+      get [kSize]() {
+        let ret = this[kQueued];
+        for (const { [kSize]: size } of this[kClients]) {
+          ret += size;
         }
-        if (!err) {
-          err = new ClientDestroyedError();
+        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((resolve6) => {
+            this[kClosedResolve] = resolve6;
+          });
         }
-        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);
+      async [kDestroy](err) {
+        while (true) {
+          const item = this[kQueue].shift();
+          if (!item) {
+            break;
+          }
+          item.handler.onError(err);
         }
-        let dispatch = this[kDispatch].bind(this);
-        for (let i = this[kInterceptors].length - 1; i >= 0; i--) {
-          dispatch = this[kInterceptors][i](dispatch);
+        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]();
         }
-        this[kInterceptedDispatch] = dispatch;
-        return dispatch(opts, handler2);
+        return !this[kNeedDrain];
       }
-      dispatch(opts, handler2) {
-        if (!handler2 || typeof handler2 !== "object") {
-          throw new InvalidArgumentError("handler must be an object");
+      [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]);
+            }
+          });
         }
-        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");
+        return this;
+      }
+      [kRemoveClient](client) {
+        client.close(() => {
+          const idx = this[kClients].indexOf(client);
+          if (idx !== -1) {
+            this[kClients].splice(idx, 1);
           }
-          handler2.onError(err);
-          return false;
-        }
+        });
+        this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
       }
     };
-    module2.exports = DispatcherBase;
+    module2.exports = {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    };
   }
 });
 
-// node_modules/undici/lib/core/connect.js
-var require_connect2 = __commonJS({
-  "node_modules/undici/lib/core/connect.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js
+var require_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js"(exports2, module2) {
     "use strict";
-    var net = require("net");
-    var assert = require("assert");
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kGetDispatcher
+    } = require_pool_base2();
+    var Client = require_client2();
+    var {
+      InvalidArgumentError
+    } = require_errors2();
     var util = require_util9();
-    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
-    var tls;
-    var SessionCache;
-    if (global.FinalizationRegistry && !process.env.NODE_V8_COVERAGE) {
-      SessionCache = class WeakSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
-          this._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);
-            }
-          });
-        }
-        get(sessionKey) {
-          const ref = this._sessionCache.get(sessionKey);
-          return ref ? ref.deref() : null;
-        }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
-            return;
-          }
-          this._sessionCache.set(sessionKey, new WeakRef(session));
-          this._sessionRegistry.register(session, sessionKey);
-        }
-      };
-    } else {
-      SessionCache = class SimpleSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
+    var { kUrl, kInterceptors } = require_symbols6();
+    var buildConnector = require_connect2();
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kConnections = /* @__PURE__ */ Symbol("connections");
+    var kFactory = /* @__PURE__ */ 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");
         }
-        get(sessionKey) {
-          return this._sessionCache.get(sessionKey);
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
         }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
-            return;
-          }
-          if (this._sessionCache.size >= this._maxCachedSessions) {
-            const { value: oldestKey } = this._sessionCache.keys().next();
-            this._sessionCache.delete(oldestKey);
-          }
-          this._sessionCache.set(sessionKey, session);
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
         }
-      };
-    }
-    function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, ...opts }) {
-      if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
-        throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
-      }
-      const options = { path: socketPath, ...opts };
-      const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
-      timeout = timeout == null ? 1e4 : timeout;
-      allowH2 = allowH2 != null ? allowH2 : false;
-      return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
-        let socket;
-        if (protocol === "https:") {
-          if (!tls) {
-            tls = require("tls");
-          }
-          servername = servername || options.servername || util.getServerName(host) || null;
-          const sessionKey = servername || hostname;
-          const session = sessionCache.get(sessionKey) || null;
-          assert(sessionKey);
-          socket = tls.connect({
-            highWaterMark: 16384,
-            // TLS in node can't have bigger HWM anyway...
-            ...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: port || 443,
-            host: hostname
-          });
-          socket.on("session", function(session2) {
-            sessionCache.set(sessionKey, session2);
-          });
-        } else {
-          assert(!httpSocket, "httpSocket can only be sent on TLS update");
-          socket = net.connect({
-            highWaterMark: 64 * 1024,
-            // Same as nodejs fs streams.
-            ...options,
-            localAddress,
-            port: port || 80,
-            host: hostname
+        if (typeof connect !== "function") {
+          connect = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect
           });
         }
-        if (options.keepAlive == null || options.keepAlive) {
-          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
-          socket.setKeepAlive(true, keepAliveInitialDelay);
-        }
-        const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout);
-        socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(null, this);
-          }
-        }).on("error", function(err) {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(err);
+        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, error3) => {
+          for (const target of targets) {
+            const idx = this[kClients].indexOf(target);
+            if (idx !== -1) {
+              this[kClients].splice(idx, 1);
+            }
           }
         });
-        return socket;
-      };
-    }
-    function setupTimeout(onConnectTimeout2, timeout) {
-      if (!timeout) {
-        return () => {
-        };
       }
-      let s1 = null;
-      let s2 = null;
-      const timeoutId = setTimeout(() => {
-        s1 = setImmediate(() => {
-          if (process.platform === "win32") {
-            s2 = setImmediate(() => onConnectTimeout2());
-          } else {
-            onConnectTimeout2();
+      [kGetDispatcher]() {
+        for (const client of this[kClients]) {
+          if (!client[kNeedDrain]) {
+            return client;
           }
-        });
-      }, timeout);
-      return () => {
-        clearTimeout(timeoutId);
-        clearImmediate(s1);
-        clearImmediate(s2);
-      };
-    }
-    function onConnectTimeout(socket) {
-      util.destroy(socket, new ConnectTimeoutError());
-    }
-    module2.exports = buildConnector;
-  }
-});
-
-// node_modules/undici/lib/llhttp/utils.js
-var require_utils3 = __commonJS({
-  "node_modules/undici/lib/llhttp/utils.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.enumToMap = void 0;
-    function enumToMap(obj) {
-      const res = {};
-      Object.keys(obj).forEach((key) => {
-        const value = obj[key];
-        if (typeof value === "number") {
-          res[key] = value;
         }
-      });
-      return res;
-    }
-    exports2.enumToMap = enumToMap;
+        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/llhttp/constants.js
-var require_constants8 = __commonJS({
-  "node_modules/undici/lib/llhttp/constants.js"(exports2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js
+var require_balanced_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
-    var utils_1 = require_utils3();
-    var ERROR;
-    (function(ERROR2) {
-      ERROR2[ERROR2["OK"] = 0] = "OK";
-      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
-      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
-      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
-      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
-      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
-      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
-      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
-      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
-      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
-      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
-      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
-      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
-      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
-      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
-      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
-      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
-      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
-      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
-      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
-      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
-      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
-      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
-      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
-      ERROR2[ERROR2["USER"] = 24] = "USER";
-    })(ERROR = 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];
+    var {
+      BalancedPoolMissingUpstreamError,
+      InvalidArgumentError
+    } = require_errors2();
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    } = require_pool_base2();
+    var Pool = require_pool2();
+    var { kUrl, kInterceptors } = require_symbols6();
+    var { parseOrigin } = require_util9();
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
+    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
+    var kIndex = /* @__PURE__ */ Symbol("kIndex");
+    var kWeight = /* @__PURE__ */ Symbol("kWeight");
+    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
+    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
+    function getGreatestCommonDivisor(a, b) {
+      if (a === 0) return b;
+      while (b !== 0) {
+        const t = b;
+        b = a % b;
+        a = t;
       }
-    });
-    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));
+      return a;
     }
-    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);
+    function defaultFactory(origin, opts) {
+      return new Pool(origin, opts);
     }
-    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);
+    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];
       }
-    }
-    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
     };
+    module2.exports = BalancedPool;
   }
 });
 
-// node_modules/undici/lib/handler/RedirectHandler.js
-var require_RedirectHandler = __commonJS({
-  "node_modules/undici/lib/handler/RedirectHandler.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js
+var require_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js"(exports2, module2) {
     "use strict";
-    var util = require_util9();
-    var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
     var { InvalidArgumentError } = require_errors2();
-    var EE = require("events");
-    var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
-    var kBody = /* @__PURE__ */ Symbol("body");
-    var BodyAsyncIterable = class {
-      constructor(body) {
-        this[kBody] = body;
-        this[kBodyUsed] = false;
+    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
+    var DispatcherBase = require_dispatcher_base2();
+    var Pool = require_pool2();
+    var Client = require_client2();
+    var util = require_util9();
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ 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);
+        };
       }
-      async *[Symbol.asyncIterator]() {
-        assert(!this[kBodyUsed], "disturbed");
-        this[kBodyUsed] = true;
-        yield* this[kBody];
+      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);
       }
     };
-    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");
+    module2.exports = Agent;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js
+var require_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js"(exports2, module2) {
+    "use strict";
+    var { kProxy, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
+    var { URL: URL2 } = require("node:url");
+    var Agent = require_agent2();
+    var Pool = require_pool2();
+    var DispatcherBase = require_dispatcher_base2();
+    var { InvalidArgumentError, RequestAbortedError, SecureProxyConnectionError } = require_errors2();
+    var buildConnector = require_connect2();
+    var Client = require_client2();
+    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
+    var kClient = /* @__PURE__ */ Symbol("proxy client");
+    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
+    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
+    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
+    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
+    var kTunnelProxy = /* @__PURE__ */ 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");
         }
-        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 = [];
-        if (util.isStream(this.opts.body)) {
-          if (util.bodyLength(this.opts.body) === 0) {
-            this.opts.body.on("data", function() {
-              assert(false);
-            });
+        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 (typeof this.opts.body.readableDidRead !== "boolean") {
-            this.opts.body[kBodyUsed] = false;
-            EE.prototype.on.call(this.opts.body, "data", function() {
-              this[kBodyUsed] = true;
+          if (onHeaders) onHeaders.call(this, statusCode, data, resume);
+        };
+        const {
+          origin,
+          path: path11 = "/",
+          headers = {}
+        } = opts;
+        opts.path = origin + path11;
+        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 url2 = this.#getUrl(opts);
+        const { href, origin, port, protocol, username, password, hostname: proxyHostname } = url2;
+        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
             });
           }
-        } 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(error3) {
-        this.handler.onError(error3);
+          return agentFactory(origin2, options);
+        };
+        this[kClient] = clientFactory(url2, { 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);
+              }
+            }
+          }
+        });
       }
-      onHeaders(statusCode, headers, resume, statusText) {
-        this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers);
-        if (this.opts.origin) {
-          this.history.push(new URL(this.opts.path, this.opts.origin));
-        }
-        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 path11 = search ? `${pathname}${search}` : pathname;
-        this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
-        this.opts.path = path11;
-        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;
+      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
+        );
       }
-      onData(chunk) {
-        if (this.location) {
+      /**
+       * @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 this.handler.onData(chunk);
+          return new URL2(opts.uri);
         }
       }
-      onComplete(trailers) {
-        if (this.location) {
-          this.location = null;
-          this.abort = null;
-          this.dispatch(this.opts, this);
-        } else {
-          this.handler.onComplete(trailers);
-        }
+      async [kClose]() {
+        await this[kAgent].close();
+        await this[kClient].close();
       }
-      onBodySent(chunk) {
-        if (this.handler.onBodySent) {
-          this.handler.onBodySent(chunk);
-        }
+      async [kDestroy]() {
+        await this[kAgent].destroy();
+        await this[kClient].destroy();
       }
     };
-    function parseLocation(statusCode, headers) {
-      if (redirectableStatusCodes.indexOf(statusCode) === -1) {
-        return null;
-      }
-      for (let i = 0; i < headers.length; i += 2) {
-        if (headers[i].toString().toLowerCase() === "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 = [];
+    function buildHeaders(headers) {
       if (Array.isArray(headers)) {
+        const headersPair = {};
         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]);
-          }
+          headersPair[headers[i]] = headers[i + 1];
         }
-      } else {
-        assert(headers == null, "headers must be an object or an array");
+        return headersPair;
       }
-      return ret;
+      return headers;
     }
-    module2.exports = RedirectHandler;
-  }
-});
-
-// node_modules/undici/lib/interceptor/redirectInterceptor.js
-var require_redirectInterceptor = __commonJS({
-  "node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports2, module2) {
-    "use strict";
-    var RedirectHandler = require_RedirectHandler();
-    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);
-        };
-      };
+    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 = createRedirectInterceptor;
-  }
-});
-
-// node_modules/undici/lib/llhttp/llhttp-wasm.js
-var require_llhttp_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8=";
-  }
-});
-
-// node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
-var require_llhttp_simd_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==";
+    module2.exports = ProxyAgent;
   }
 });
 
-// node_modules/undici/lib/client.js
-var require_client2 = __commonJS({
-  "node_modules/undici/lib/client.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js
+var require_env_http_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var net = require("net");
-    var http = require("http");
-    var { pipeline } = require("stream");
-    var util = require_util9();
-    var timers = require_timers2();
-    var Request = require_request3();
     var DispatcherBase = require_dispatcher_base2();
-    var {
-      RequestContentLengthMismatchError,
-      ResponseContentLengthMismatchError,
-      InvalidArgumentError,
-      RequestAbortedError,
-      HeadersTimeoutError,
-      HeadersOverflowError,
-      SocketError,
-      InformationalError,
-      BodyTimeoutError,
-      HTTPParserError,
-      ResponseExceededMaxSizeError,
-      ClientDestroyedError
-    } = require_errors2();
-    var buildConnector = require_connect2();
-    var {
-      kUrl,
-      kReset,
-      kServerName,
-      kClient,
-      kBusy,
-      kParser,
-      kConnect,
-      kBlocking,
-      kResuming,
-      kRunning,
-      kPending,
-      kSize,
-      kWriting,
-      kQueue,
-      kConnected,
-      kConnecting,
-      kNeedDrain,
-      kNoRef,
-      kKeepAliveDefaultTimeout,
-      kHostHeader,
-      kPendingIdx,
-      kRunningIdx,
-      kError,
-      kPipelining,
-      kSocket,
-      kKeepAliveTimeoutValue,
-      kMaxHeadersSize,
-      kKeepAliveMaxTimeout,
-      kKeepAliveTimeoutThreshold,
-      kHeadersTimeout,
-      kBodyTimeout,
-      kStrictContentLength,
-      kConnector,
-      kMaxRedirections,
-      kMaxRequests,
-      kCounter,
-      kClose,
-      kDestroy,
-      kDispatch,
-      kInterceptors,
-      kLocalAddress,
-      kMaxResponseSize,
-      kHTTPConnVersion,
-      // HTTP2
-      kHost,
-      kHTTP2Session,
-      kHTTP2SessionState,
-      kHTTP2BuildRequest,
-      kHTTP2CopyHeaders,
-      kHTTP1BuildRequest
-    } = require_symbols6();
-    var http2;
-    try {
-      http2 = require("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;
-    var h2ExperimentalWarned = false;
-    var FastBuffer = Buffer[Symbol.species];
-    var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
-    var channels = {};
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.sendHeaders = diagnosticsChannel.channel("undici:client:sendHeaders");
-      channels.beforeConnect = diagnosticsChannel.channel("undici:client:beforeConnect");
-      channels.connectError = diagnosticsChannel.channel("undici:client:connectError");
-      channels.connected = diagnosticsChannel.channel("undici:client:connected");
-    } catch {
-      channels.sendHeaders = { hasSubscribers: false };
-      channels.beforeConnect = { hasSubscribers: false };
-      channels.connectError = { hasSubscribers: false };
-      channels.connected = { hasSubscribers: false };
-    }
-    var Client = class extends DispatcherBase {
-      /**
-       *
-       * @param {string|URL} url
-       * @param {import('../types/client').Client.Options} options
-       */
-      constructor(url2, {
-        interceptors,
-        maxHeaderSize,
-        headersTimeout,
-        socketTimeout,
-        requestTimeout,
-        connectTimeout,
-        bodyTimeout,
-        idleTimeout,
-        keepAlive,
-        keepAliveTimeout,
-        maxKeepAliveTimeout,
-        keepAliveMaxTimeout,
-        keepAliveTimeoutThreshold,
-        socketPath,
-        pipelining,
-        tls,
-        strictContentLength,
-        maxCachedSessions,
-        maxRedirections,
-        connect: connect2,
-        maxRequestsPerClient,
-        localAddress,
-        maxResponseSize,
-        autoSelectFamily,
-        autoSelectFamilyAttemptTimeout,
-        // h2
-        allowH2,
-        maxConcurrentStreams
-      } = {}) {
+    var { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require_symbols6();
+    var ProxyAgent = require_proxy_agent2();
+    var Agent = require_agent2();
+    var DEFAULT_PORTS = {
+      "http:": 80,
+      "https:": 443
+    };
+    var experimentalWarned = false;
+    var EnvHttpProxyAgent = class extends DispatcherBase {
+      #noProxyValue = null;
+      #noProxyEntries = null;
+      #opts = null;
+      constructor(opts = {}) {
         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");
+        this.#opts = opts;
+        if (!experimentalWarned) {
+          experimentalWarned = true;
+          process.emitWarning("EnvHttpProxyAgent is experimental, expect them to change at any time.", {
+            code: "UNDICI-EHPA"
+          });
         }
-        if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) {
-          throw new InvalidArgumentError("invalid keepAliveMaxTimeout");
+        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];
         }
-        if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) {
-          throw new InvalidArgumentError("invalid keepAliveTimeoutThreshold");
+        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];
         }
-        if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) {
-          throw new InvalidArgumentError("headersTimeout must be a positive integer or zero");
+        this.#parseNoProxy();
+      }
+      [kDispatch](opts, handler2) {
+        const url2 = new URL(opts.origin);
+        const agent = this.#getProxyAgentForUrl(url2);
+        return agent.dispatch(opts, handler2);
+      }
+      async [kClose]() {
+        await this[kNoProxyAgent].close();
+        if (!this[kHttpProxyAgent][kClosed]) {
+          await this[kHttpProxyAgent].close();
         }
-        if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) {
-          throw new InvalidArgumentError("bodyTimeout must be a positive integer or zero");
+        if (!this[kHttpsProxyAgent][kClosed]) {
+          await this[kHttpsProxyAgent].close();
         }
-        if (connect2 != null && typeof connect2 !== "function" && typeof connect2 !== "object") {
-          throw new InvalidArgumentError("connect must be a function or an object");
+      }
+      async [kDestroy](err) {
+        await this[kNoProxyAgent].destroy(err);
+        if (!this[kHttpProxyAgent][kDestroyed]) {
+          await this[kHttpProxyAgent].destroy(err);
         }
-        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
-          throw new InvalidArgumentError("maxRedirections must be a positive number");
+        if (!this[kHttpsProxyAgent][kDestroyed]) {
+          await this[kHttpsProxyAgent].destroy(err);
         }
-        if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) {
-          throw new InvalidArgumentError("maxRequestsPerClient must be a positive number");
+      }
+      #getProxyAgentForUrl(url2) {
+        let { protocol, host: hostname, port } = url2;
+        hostname = hostname.replace(/:\d*$/, "").toLowerCase();
+        port = Number.parseInt(port, 10) || DEFAULT_PORTS[protocol] || 0;
+        if (!this.#shouldProxy(hostname, port)) {
+          return this[kNoProxyAgent];
         }
-        if (localAddress != null && (typeof localAddress !== "string" || net.isIP(localAddress) === 0)) {
-          throw new InvalidArgumentError("localAddress must be valid string IP address");
+        if (protocol === "https:") {
+          return this[kHttpsProxyAgent];
         }
-        if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) {
-          throw new InvalidArgumentError("maxResponseSize must be a positive number");
+        return this[kHttpProxyAgent];
+      }
+      #shouldProxy(hostname, port) {
+        if (this.#noProxyChanged) {
+          this.#parseNoProxy();
         }
-        if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) {
-          throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number");
+        if (this.#noProxyEntries.length === 0) {
+          return true;
         }
-        if (allowH2 != null && typeof allowH2 !== "boolean") {
-          throw new InvalidArgumentError("allowH2 must be a valid boolean value");
+        if (this.#noProxyValue === "*") {
+          return false;
         }
-        if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) {
-          throw new InvalidArgumentError("maxConcurrentStreams must be a possitive integer, greater than 0");
+        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;
+            }
+          }
         }
-        if (typeof connect2 !== "function") {
-          connect2 = buildConnector({
-            ...tls,
-            maxCachedSessions,
-            allowH2,
-            socketPath,
-            timeout: connectTimeout,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
-            ...connect2
+        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[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client) ? interceptors.Client : [createRedirectInterceptor({ maxRedirections })];
-        this[kUrl] = util.parseOrigin(url2);
-        this[kConnector] = connect2;
-        this[kSocket] = null;
-        this[kPipelining] = pipelining != null ? pipelining : 1;
-        this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize;
-        this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;
-        this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;
-        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold;
-        this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
-        this[kServerName] = null;
-        this[kLocalAddress] = localAddress != null ? localAddress : null;
-        this[kResuming] = 0;
-        this[kNeedDrain] = 0;
-        this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r
-`;
-        this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5;
-        this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5;
-        this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength;
-        this[kMaxRedirections] = maxRedirections;
-        this[kMaxRequests] = maxRequestsPerClient;
-        this[kClosedResolve] = null;
-        this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
-        this[kHTTPConnVersion] = "h1";
-        this[kHTTP2Session] = null;
-        this[kHTTP2SessionState] = !allowH2 ? null : {
-          // streams: null, // Fixed queue of streams - For future support of `push`
-          openStreams: 0,
-          // Keep track of them to decide wether or not unref the session
-          maxConcurrentStreams: maxConcurrentStreams != null ? maxConcurrentStreams : 100
-          // Max peerConcurrentStreams for a Node h2 server
+        this.#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/@actions/github/node_modules/undici/lib/handler/retry-handler.js
+var require_retry_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/retry-handler.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { kRetryHandlerDefaultRetry } = require_symbols6();
+    var { RequestRetryError } = require_errors2();
+    var {
+      isDisturbed,
+      parseHeaders,
+      parseRangeHeader,
+      wrapRequestBody
+    } = require_util9();
+    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[kHost] = `${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}`;
-        this[kQueue] = [];
-        this[kRunningIdx] = 0;
-        this[kPendingIdx] = 0;
-      }
-      get pipelining() {
-        return this[kPipelining];
-      }
-      set pipelining(value) {
-        this[kPipelining] = value;
-        resume(this, true);
-      }
-      get [kPending]() {
-        return this[kQueue].length - this[kPendingIdx];
-      }
-      get [kRunning]() {
-        return this[kPendingIdx] - this[kRunningIdx];
+        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;
+          }
+        });
       }
-      get [kSize]() {
-        return this[kQueue].length - this[kRunningIdx];
+      onRequestSent() {
+        if (this.handler.onRequestSent) {
+          this.handler.onRequestSent();
+        }
       }
-      get [kConnected]() {
-        return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed;
+      onUpgrade(statusCode, headers, socket) {
+        if (this.handler.onUpgrade) {
+          this.handler.onUpgrade(statusCode, headers, socket);
+        }
       }
-      get [kBusy]() {
-        const socket = this[kSocket];
-        return socket && (socket[kReset] || socket[kWriting] || socket[kBlocking]) || this[kSize] >= (this[kPipelining] || 1) || this[kPending] > 0;
+      onConnect(abort) {
+        if (this.aborted) {
+          abort(this.reason);
+        } else {
+          this.abort = abort;
+        }
       }
-      /* istanbul ignore: only used for test */
-      [kConnect](cb) {
-        connect(this);
-        this.once("connect", cb);
+      onBodySent(chunk) {
+        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
       }
-      [kDispatch](opts, handler2) {
-        const origin = opts.origin || this[kUrl].origin;
-        const request2 = this[kHTTPConnVersion] === "h2" ? Request[kHTTP2BuildRequest](origin, opts, handler2) : Request[kHTTP1BuildRequest](origin, opts, handler2);
-        this[kQueue].push(request2);
-        if (this[kResuming]) {
-        } else if (util.bodyLength(request2.body) == null && util.isIterable(request2.body)) {
-          this[kResuming] = 1;
-          process.nextTick(resume, this);
-        } else {
-          resume(this, true);
+      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 (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
-          this[kNeedDrain] = 2;
+        if (Array.isArray(methods) && !methods.includes(method)) {
+          cb(err);
+          return;
         }
-        return this[kNeedDrain] < 2;
+        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);
       }
-      async [kClose]() {
-        return new Promise((resolve6) => {
-          if (!this[kSize]) {
-            resolve6(null);
+      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[kClosedResolve] = resolve6;
+            this.abort(
+              new RequestRetryError("Request failed", statusCode, {
+                headers,
+                data: {
+                  count: this.retryCount
+                }
+              })
+            );
+            return false;
           }
-        });
-      }
-      async [kDestroy](err) {
-        return new Promise((resolve6) => {
-          const requests = this[kQueue].splice(this[kPendingIdx]);
-          for (let i = 0; i < requests.length; i++) {
-            const request2 = requests[i];
-            errorRequest2(this, request2, err);
+        }
+        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 callback = () => {
-            if (this[kClosedResolve]) {
-              this[kClosedResolve]();
-              this[kClosedResolve] = null;
+          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
+              );
             }
-            resolve6();
-          };
-          if (this[kHTTP2Session] != null) {
-            util.destroy(this[kHTTP2Session], err);
-            this[kHTTP2Session] = null;
-            this[kHTTP2SessionState] = null;
+            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[kSocket]) {
-            queueMicrotask(callback);
-          } else {
-            util.destroy(this[kSocket].on("close", callback), err);
+          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;
           }
-          resume(this);
+          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;
       }
-    };
-    function onHttp2SessionError(err) {
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      this[kSocket][kError] = err;
-      onError(this[kClient], err);
-    }
-    function onHttp2FrameError(type2, code, id) {
-      const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-      if (id === 0) {
-        this[kSocket][kError] = err;
-        onError(this[kClient], err);
-      }
-    }
-    function onHttp2SessionEnd() {
-      util.destroy(this, new SocketError("other side closed"));
-      util.destroy(this[kSocket], new SocketError("other side closed"));
-    }
-    function onHTTP2GoAway(code) {
-      const client = this[kClient];
-      const err = new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`);
-      client[kSocket] = null;
-      client[kHTTP2Session] = null;
-      if (client.destroyed) {
-        assert(this[kPending] === 0);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(this, request2, err);
-        }
-      } else if (client[kRunning] > 0) {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
+      onData(chunk) {
+        this.start += chunk.length;
+        return this.handler.onData(chunk);
       }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit(
-        "disconnect",
-        client[kUrl],
-        [client],
-        err
-      );
-      resume(client);
-    }
-    var constants = require_constants8();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var EMPTY_BUF = Buffer.alloc(0);
-    async function lazyllhttp() {
-      const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm2() : void 0;
-      let mod;
-      try {
-        mod = await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm2(), "base64"));
-      } catch (e) {
-        mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require_llhttp_wasm2(), "base64"));
+      onComplete(rawTrailers) {
+        this.retryCount = 0;
+        return this.handler.onComplete(rawTrailers);
       }
-      return await WebAssembly.instantiate(mod, {
-        env: {
-          /* eslint-disable camelcase */
-          wasm_on_url: (p, at, len) => {
-            return 0;
-          },
-          wasm_on_status: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_message_begin: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onMessageBegin() || 0;
-          },
-          wasm_on_header_field: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_header_value: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;
-          },
-          wasm_on_body: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+      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 }
           },
-          wasm_on_message_complete: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onMessageComplete() || 0;
+          onRetry.bind(this)
+        );
+        function onRetry(err2) {
+          if (err2 != null || this.aborted || isDisturbed(this.opts.body)) {
+            return this.handler.onError(err2);
           }
-          /* eslint-enable camelcase */
-        }
-      });
-    }
-    var llhttpInstance = null;
-    var llhttpPromise = lazyllhttp();
-    llhttpPromise.catch();
-    var currentParser = null;
-    var currentBufferRef = null;
-    var currentBufferSize = 0;
-    var currentBufferPtr = null;
-    var TIMEOUT_HEADERS = 1;
-    var TIMEOUT_BODY = 2;
-    var TIMEOUT_IDLE = 3;
-    var 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(value, type2) {
-        this.timeoutType = type2;
-        if (value !== this.timeoutValue) {
-          timers.clearTimeout(this.timeout);
-          if (value) {
-            this.timeout = timers.setTimeout(onParserTimeout, value, this);
-            if (this.timeout.unref) {
-              this.timeout.unref();
+          if (this.start !== 0) {
+            const headers = { range: `bytes=${this.start}-${this.end ?? ""}` };
+            if (this.etag != null) {
+              headers["if-match"] = this.etag;
             }
-          } else {
-            this.timeout = null;
+            this.opts = {
+              ...this.opts,
+              headers: {
+                ...this.opts.headers,
+                ...headers
+              }
+            };
           }
-          this.timeoutValue = value;
-        } else if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
+          try {
+            this.retryCountCheckpoint = this.retryCount;
+            this.dispatch(this.opts, this);
+          } catch (err3) {
+            this.handler.onError(err3);
           }
         }
       }
-      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();
+    };
+    module2.exports = RetryHandler;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js
+var require_retry_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js"(exports2, module2) {
+    "use strict";
+    var Dispatcher = require_dispatcher2();
+    var RetryHandler = require_retry_handler2();
+    var RetryAgent = class extends Dispatcher {
+      #agent = null;
+      #options = null;
+      constructor(agent, options = {}) {
+        super(options);
+        this.#agent = agent;
+        this.#options = options;
       }
-      readMore() {
-        while (!this.paused && this.ptr) {
-          const chunk = this.socket.read();
-          if (chunk === null) {
-            break;
-          }
-          this.execute(chunk);
-        }
+      dispatch(opts, handler2) {
+        const retry2 = new RetryHandler({
+          ...opts,
+          retryOptions: this.#options
+        }, {
+          dispatch: this.#agent.dispatch.bind(this.#agent),
+          handler: handler2
+        });
+        return this.#agent.dispatch(opts, retry2);
       }
-      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);
-        }
+      close() {
+        return this.#agent.close();
       }
       destroy() {
-        assert(this.ptr != null);
-        assert(currentParser == null);
-        this.llhttp.llhttp_free(this.ptr);
-        this.ptr = null;
-        timers.clearTimeout(this.timeout);
-        this.timeout = null;
-        this.timeoutValue = null;
-        this.timeoutType = null;
-        this.paused = false;
+        return this.#agent.destroy();
       }
-      onStatus(buf) {
-        this.statusText = buf.toString();
+    };
+    module2.exports = RetryAgent;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/readable.js
+var require_readable2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/readable.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { Readable: Readable2 } = require("node:stream");
+    var { RequestAbortedError, NotSupportedError, InvalidArgumentError, AbortError } = require_errors2();
+    var util = require_util9();
+    var { ReadableStreamFrom } = require_util9();
+    var kConsume = /* @__PURE__ */ Symbol("kConsume");
+    var kReading = /* @__PURE__ */ Symbol("kReading");
+    var kBody = /* @__PURE__ */ Symbol("kBody");
+    var kAbort = /* @__PURE__ */ Symbol("kAbort");
+    var kContentType = /* @__PURE__ */ Symbol("kContentType");
+    var kContentLength = /* @__PURE__ */ Symbol("kContentLength");
+    var noop3 = () => {
+    };
+    var BodyReadable = class extends Readable2 {
+      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;
       }
-      onMessageBegin() {
-        const { socket, client } = this;
-        if (socket.destroyed) {
-          return -1;
+      destroy(err) {
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
         }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        if (!request2) {
-          return -1;
+        if (err) {
+          this[kAbort]();
         }
+        return super.destroy(err);
       }
-      onHeaderField(buf) {
-        const len = this.headers.length;
-        if ((len & 1) === 0) {
-          this.headers.push(buf);
+      _destroy(err, callback) {
+        if (!this[kReading]) {
+          setImmediate(() => {
+            callback(err);
+          });
         } else {
-          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
+          callback(err);
         }
-        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 && key.toString().toLowerCase() === "keep-alive") {
-          this.keepAlive += buf.toString();
-        } else if (key.length === 10 && key.toString().toLowerCase() === "connection") {
-          this.connection += buf.toString();
-        } else if (key.length === 14 && key.toString().toLowerCase() === "content-length") {
-          this.contentLength += buf.toString();
+      on(ev, ...args) {
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = true;
         }
-        this.trackHeader(buf.length);
+        return super.on(ev, ...args);
       }
-      trackHeader(len) {
-        this.headersSize += len;
-        if (this.headersSize >= this.headersMaxSize) {
-          util.destroy(this.socket, new HeadersOverflowError());
-        }
+      addListener(ev, ...args) {
+        return this.on(ev, ...args);
       }
-      onUpgrade(head) {
-        const { upgrade, client, socket, headers, statusCode } = this;
-        assert(upgrade);
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert(!socket.destroyed);
-        assert(socket === client[kSocket]);
-        assert(!this.paused);
-        assert(request2.upgrade || request2.method === "CONNECT");
-        this.statusCode = null;
-        this.statusText = "";
-        this.shouldKeepAlive = null;
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        socket.unshift(head);
-        socket[kParser].destroy();
-        socket[kParser] = null;
-        socket[kClient] = null;
-        socket[kError] = null;
-        socket.removeListener("error", onSocketError).removeListener("readable", onSocketReadable).removeListener("end", onSocketEnd).removeListener("close", onSocketClose);
-        client[kSocket] = null;
-        client[kQueue][client[kRunningIdx]++] = null;
-        client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
-        try {
-          request2.onUpgrade(statusCode, headers, socket);
-        } catch (err) {
-          util.destroy(socket, err);
+      off(ev, ...args) {
+        const ret = super.off(ev, ...args);
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0;
         }
-        resume(client);
+        return ret;
       }
-      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;
+      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;
         }
-        assert.strictEqual(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();
+        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);
           }
         }
-        if (request2.method === "CONNECT") {
-          assert(client[kRunning] === 1);
-          this.upgrade = true;
-          return 2;
+        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");
         }
-        if (upgrade) {
-          assert(client[kRunning] === 1);
-          this.upgrade = true;
-          return 2;
+        signal?.throwIfAborted();
+        if (this._readableState.closeEmitted) {
+          return null;
         }
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        if (this.shouldKeepAlive && client[kPipelining]) {
-          const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null;
-          if (keepAliveTimeout != null) {
-            const timeout = Math.min(
-              keepAliveTimeout - client[kKeepAliveTimeoutThreshold],
-              client[kKeepAliveMaxTimeout]
-            );
-            if (timeout <= 0) {
-              socket[kReset] = true;
+        return await new Promise((resolve6, 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 {
-              client[kKeepAliveTimeoutValue] = timeout;
+              resolve6(null);
+            }
+          }).on("error", noop3).on("data", function(chunk) {
+            limit -= chunk.length;
+            if (limit <= 0) {
+              this.destroy();
             }
+          }).resume();
+        });
+      }
+    };
+    function isLocked(self2) {
+      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
+    }
+    function isUnusable(self2) {
+      return util.isDisturbed(self2) || isLocked(self2);
+    }
+    async function consume(stream2, type2) {
+      assert(!stream2[kConsume]);
+      return new Promise((resolve6, reject) => {
+        if (isUnusable(stream2)) {
+          const rState = stream2._readableState;
+          if (rState.destroyed && rState.closeEmitted === false) {
+            stream2.on("error", (err) => {
+              reject(err);
+            }).on("close", () => {
+              reject(new TypeError("unusable"));
+            });
           } else {
-            client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout];
+            reject(rState.errored ?? new TypeError("unusable"));
           }
         } else {
-          socket[kReset] = true;
+          queueMicrotask(() => {
+            stream2[kConsume] = {
+              type: type2,
+              stream: stream2,
+              resolve: resolve6,
+              reject,
+              length: 0,
+              body: []
+            };
+            stream2.on("error", function(err) {
+              consumeFinish(this[kConsume], err);
+            }).on("close", function() {
+              if (this[kConsume].body !== null) {
+                consumeFinish(this[kConsume], new RequestAbortedError());
+              }
+            });
+            consumeStart(stream2[kConsume]);
+          });
         }
-        const pause = request2.onHeaders(statusCode, headers, this.resume, statusText) === false;
-        if (request2.aborted) {
-          return -1;
+      });
+    }
+    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]);
         }
-        if (request2.method === "HEAD") {
-          return 1;
+      } else {
+        for (const chunk of state.buffer) {
+          consumePush(consume2, chunk);
         }
-        if (statusCode < 200) {
-          return 1;
+      }
+      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: type2, body, resolve: resolve6, stream: stream2, length } = consume2;
+      try {
+        if (type2 === "text") {
+          resolve6(chunksDecode(body, length));
+        } else if (type2 === "json") {
+          resolve6(JSON.parse(chunksDecode(body, length)));
+        } else if (type2 === "arrayBuffer") {
+          resolve6(chunksConcat(body, length).buffer);
+        } else if (type2 === "blob") {
+          resolve6(new Blob(body, { type: stream2[kContentType] }));
+        } else if (type2 === "bytes") {
+          resolve6(chunksConcat(body, length));
         }
-        if (socket[kBlocking]) {
-          socket[kBlocking] = false;
-          resume(client);
+        consumeFinish(consume2);
+      } catch (err) {
+        stream2.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/@actions/github/node_modules/undici/lib/api/util.js
+var require_util11 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/util.js"(exports2, module2) {
+    var assert = require("node:assert");
+    var {
+      ResponseStatusCodeError
+    } = require_errors2();
+    var { chunksDecode } = require_readable2();
+    var CHUNK_LIMIT = 128 * 1024;
+    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
+      assert(body);
+      let chunks = [];
+      let length = 0;
+      try {
+        for await (const chunk of body) {
+          chunks.push(chunk);
+          length += chunk.length;
+          if (length > CHUNK_LIMIT) {
+            chunks = [];
+            length = 0;
+            break;
+          }
         }
-        return pause ? constants.ERROR.PAUSED : 0;
+      } catch {
+        chunks = [];
+        length = 0;
       }
-      onBody(buf) {
-        const { client, socket, statusCode, maxResponseSize } = this;
-        if (socket.destroyed) {
-          return -1;
+      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);
         }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert.strictEqual(this.timeoutType, TIMEOUT_BODY);
-        if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
+      } 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/@actions/github/node_modules/undici/lib/api/api-request.js
+var require_api_request2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-request.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { Readable: Readable2 } = require_readable2();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
+    var util = require_util9();
+    var { getResolveErrorBodyCallback } = require_util11();
+    var { AsyncResource } = require("node:async_hooks");
+    var RequestHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
+        try {
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
+            throw new InvalidArgumentError("invalid highWaterMark");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
           }
+          super("UNDICI_REQUEST");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
         }
-        assert(statusCode >= 200);
-        if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
-          util.destroy(socket, new ResponseExceededMaxSizeError());
-          return -1;
+        this.method = method;
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.body = body;
+        this.trailers = {};
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError;
+        this.highWaterMark = highWaterMark;
+        this.signal = signal;
+        this.reason = null;
+        this.removeAbortListener = null;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
         }
-        this.bytesRead += buf.length;
-        if (request2.onData(buf) === false) {
-          return constants.ERROR.PAUSED;
+        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;
+              }
+            });
+          }
         }
       }
-      onMessageComplete() {
-        const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;
-        if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
-          return -1;
-        }
-        if (upgrade) {
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
           return;
         }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert(statusCode >= 100);
-        this.statusCode = null;
-        this.statusText = "";
-        this.bytesRead = 0;
-        this.contentLength = "";
-        this.keepAlive = "";
-        this.connection = "";
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
+      }
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { callback, opaque, abort, context: context2, responseHeaders, highWaterMark } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
         if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
+          }
           return;
         }
-        if (request2.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) {
-          util.destroy(socket, new ResponseContentLengthMismatchError());
-          return -1;
+        const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
+        const contentType = parsedHeaders["content-type"];
+        const contentLength = parsedHeaders["content-length"];
+        const res = new Readable2({
+          resume,
+          abort,
+          contentType,
+          contentLength: this.method !== "HEAD" && contentLength ? Number(contentLength) : null,
+          highWaterMark
+        });
+        if (this.removeAbortListener) {
+          res.on("close", this.removeAbortListener);
         }
-        request2.onComplete(headers);
-        client[kQueue][client[kRunningIdx]++] = null;
-        if (socket[kWriting]) {
-          assert.strictEqual(client[kRunning], 0);
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (!shouldKeepAlive) {
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (socket[kReset] && client[kRunning] === 0) {
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (client[kPipelining] === 1) {
-          setImmediate(resume, client);
-        } else {
-          resume(client);
+        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: context2
+            });
+          }
         }
       }
-    };
-    function onParserTimeout(parser) {
-      const { socket, timeoutType, client } = parser;
-      if (timeoutType === TIMEOUT_HEADERS) {
-        if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
-          assert(!parser.paused, "cannot be paused while waiting for headers");
-          util.destroy(socket, new HeadersTimeoutError());
+      onData(chunk) {
+        return this.res.push(chunk);
+      }
+      onComplete(trailers) {
+        util.parseHeaders(trailers, this.trailers);
+        this.res.push(null);
+      }
+      onError(err) {
+        const { res, callback, body, opaque } = this;
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-      } else if (timeoutType === TIMEOUT_BODY) {
-        if (!parser.paused) {
-          util.destroy(socket, new BodyTimeoutError());
+        if (res) {
+          this.res = null;
+          queueMicrotask(() => {
+            util.destroy(res, err);
+          });
+        }
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
+        }
+        if (this.removeAbortListener) {
+          res?.off("close", this.removeAbortListener);
+          this.removeAbortListener();
+          this.removeAbortListener = null;
         }
-      } else if (timeoutType === TIMEOUT_IDLE) {
-        assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
-        util.destroy(socket, new InformationalError("socket idle timeout"));
       }
-    }
-    function onSocketReadable() {
-      const { [kParser]: parser } = this;
-      if (parser) {
-        parser.readMore();
+    };
+    function request2(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve6, reject) => {
+          request2.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve6(data);
+          });
+        });
       }
-    }
-    function onSocketError(err) {
-      const { [kClient]: client, [kParser]: parser } = this;
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      if (client[kHTTPConnVersion] !== "h2") {
-        if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-          return;
+      try {
+        this.dispatch(opts, new RequestHandler(opts, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
-      this[kError] = err;
-      onError(this[kClient], err);
     }
-    function onError(client, err) {
-      if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
-        assert(client[kPendingIdx] === client[kRunningIdx]);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
-        }
-        assert(client[kSize] === 0);
+    module2.exports = request2;
+    module2.exports.RequestHandler = RequestHandler;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js
+var require_abort_signal2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
+    var { addAbortListener } = require_util9();
+    var { RequestAbortedError } = require_errors2();
+    var kListener = /* @__PURE__ */ Symbol("kListener");
+    var kSignal = /* @__PURE__ */ Symbol("kSignal");
+    function abort(self2) {
+      if (self2.abort) {
+        self2.abort(self2[kSignal]?.reason);
+      } else {
+        self2.reason = self2[kSignal]?.reason ?? new RequestAbortedError();
       }
+      removeSignal(self2);
     }
-    function onSocketEnd() {
-      const { [kParser]: parser, [kClient]: client } = this;
-      if (client[kHTTPConnVersion] !== "h2") {
-        if (parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-          return;
-        }
+    function addSignal(self2, signal) {
+      self2.reason = null;
+      self2[kSignal] = null;
+      self2[kListener] = null;
+      if (!signal) {
+        return;
+      }
+      if (signal.aborted) {
+        abort(self2);
+        return;
       }
-      util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+      self2[kSignal] = signal;
+      self2[kListener] = () => {
+        abort(self2);
+      };
+      addAbortListener(self2[kSignal], self2[kListener]);
     }
-    function onSocketClose() {
-      const { [kClient]: client, [kParser]: parser } = this;
-      if (client[kHTTPConnVersion] === "h1" && parser) {
-        if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-        }
-        this[kParser].destroy();
-        this[kParser] = null;
+    function removeSignal(self2) {
+      if (!self2[kSignal]) {
+        return;
       }
-      const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
-      client[kSocket] = null;
-      if (client.destroyed) {
-        assert(client[kPending] === 0);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
-        }
-      } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
+      if ("removeEventListener" in self2[kSignal]) {
+        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      } else {
+        self2[kSignal].removeListener("abort", self2[kListener]);
       }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit("disconnect", client[kUrl], [client], err);
-      resume(client);
+      self2[kSignal] = null;
+      self2[kListener] = null;
     }
-    async function connect(client) {
-      assert(!client[kConnecting]);
-      assert(!client[kSocket]);
-      let { host, hostname, protocol, port } = client[kUrl];
-      if (hostname[0] === "[") {
-        const idx = hostname.indexOf("]");
-        assert(idx !== -1);
-        const ip = hostname.substring(1, idx);
-        assert(net.isIP(ip));
-        hostname = ip;
+    module2.exports = {
+      addSignal,
+      removeSignal
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-stream.js
+var require_api_stream2 = __commonJS({
+  "node_modules/@actions/github/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_errors2();
+    var util = require_util9();
+    var { getResolveErrorBodyCallback } = require_util11();
+    var { AsyncResource } = require("node:async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var StreamHandler = class extends AsyncResource {
+      constructor(opts, factory, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
+        try {
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (typeof factory !== "function") {
+            throw new InvalidArgumentError("invalid factory");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
+          }
+          super("UNDICI_STREAM");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
+        }
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.factory = factory;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.context = null;
+        this.trailers = null;
+        this.body = body;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError || false;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
+        }
+        addSignal(this, signal);
       }
-      client[kConnecting] = true;
-      if (channels.beforeConnect.hasSubscribers) {
-        channels.beforeConnect.publish({
-          connectParams: {
-            host,
-            hostname,
-            protocol,
-            port,
-            servername: client[kServerName],
-            localAddress: client[kLocalAddress]
-          },
-          connector: client[kConnector]
-        });
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
+        }
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
       }
-      try {
-        const socket = await new Promise((resolve6, reject) => {
-          client[kConnector]({
-            host,
-            hostname,
-            protocol,
-            port,
-            servername: client[kServerName],
-            localAddress: client[kLocalAddress]
-          }, (err, socket2) => {
-            if (err) {
-              reject(err);
-            } else {
-              resolve6(socket2);
-            }
-          });
-        });
-        if (client.destroyed) {
-          util.destroy(socket.on("error", () => {
-          }), new ClientDestroyedError());
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { factory, opaque, context: context2, callback, responseHeaders } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
+          }
           return;
         }
-        client[kConnecting] = false;
-        assert(socket);
-        const isH2 = socket.alpnProtocol === "h2";
-        if (isH2) {
-          if (!h2ExperimentalWarned) {
-            h2ExperimentalWarned = true;
-            process.emitWarning("H2 support is experimental, expect them to change at any time.", {
-              code: "UNDICI-H2"
-            });
+        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;
           }
-          const session = http2.connect(client[kUrl], {
-            createConnection: () => socket,
-            peerMaxConcurrentStreams: client[kHTTP2SessionState].maxConcurrentStreams
+          res = this.runInAsyncScope(factory, null, {
+            statusCode,
+            headers,
+            opaque,
+            context: context2
           });
-          client[kHTTPConnVersion] = "h2";
-          session[kClient] = client;
-          session[kSocket] = socket;
-          session.on("error", onHttp2SessionError);
-          session.on("frameError", onHttp2FrameError);
-          session.on("end", onHttp2SessionEnd);
-          session.on("goaway", onHTTP2GoAway);
-          session.on("close", onSocketClose);
-          session.unref();
-          client[kHTTP2Session] = session;
-          socket[kHTTP2Session] = session;
-        } else {
-          if (!llhttpInstance) {
-            llhttpInstance = await llhttpPromise;
-            llhttpPromise = null;
+          if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") {
+            throw new InvalidReturnValueError("expected Writable");
           }
-          socket[kNoRef] = false;
-          socket[kWriting] = false;
-          socket[kReset] = false;
-          socket[kBlocking] = false;
-          socket[kParser] = new Parser(client, socket, llhttpInstance);
-        }
-        socket[kCounter] = 0;
-        socket[kMaxRequests] = client[kMaxRequests];
-        socket[kClient] = client;
-        socket[kError] = null;
-        socket.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose);
-        client[kSocket] = socket;
-        if (channels.connected.hasSubscribers) {
-          channels.connected.publish({
-            connectParams: {
-              host,
-              hostname,
-              protocol,
-              port,
-              servername: client[kServerName],
-              localAddress: client[kLocalAddress]
-            },
-            connector: client[kConnector],
-            socket
+          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();
+            }
           });
         }
-        client.emit("connect", client[kUrl], [client]);
-      } catch (err) {
-        if (client.destroyed) {
+        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;
         }
-        client[kConnecting] = false;
-        if (channels.connectError.hasSubscribers) {
-          channels.connectError.publish({
-            connectParams: {
-              host,
-              hostname,
-              protocol,
-              port,
-              servername: client[kServerName],
-              localAddress: client[kLocalAddress]
-            },
-            connector: client[kConnector],
-            error: err
+        this.trailers = util.parseHeaders(trailers);
+        res.end();
+      }
+      onError(err) {
+        const { res, callback, opaque, body } = this;
+        removeSignal(this);
+        this.factory = null;
+        if (res) {
+          this.res = null;
+          util.destroy(res, err);
+        } else if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
           });
         }
-        if (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]++];
-            errorRequest2(client, request2, err);
-          }
-        } else {
-          onError(client, err);
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
         }
-        client.emit("connectionError", client[kUrl], [client], err);
       }
-      resume(client);
-    }
-    function emitDrain(client) {
-      client[kNeedDrain] = 0;
-      client.emit("drain", client[kUrl], [client]);
-    }
-    function resume(client, sync) {
-      if (client[kResuming] === 2) {
-        return;
+    };
+    function stream2(opts, factory, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve6, reject) => {
+          stream2.call(this, opts, factory, (err, data) => {
+            return err ? reject(err) : resolve6(data);
+          });
+        });
       }
-      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;
+      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 }));
       }
     }
-    function _resume(client, sync) {
-      while (true) {
-        if (client.destroyed) {
-          assert(client[kPending] === 0);
-          return;
+    module2.exports = stream2;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js
+var require_api_pipeline2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
+    "use strict";
+    var {
+      Readable: Readable2,
+      Duplex,
+      PassThrough
+    } = require("node:stream");
+    var {
+      InvalidArgumentError,
+      InvalidReturnValueError,
+      RequestAbortedError
+    } = require_errors2();
+    var util = require_util9();
+    var { AsyncResource } = require("node:async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var assert = require("node:assert");
+    var kResume = /* @__PURE__ */ Symbol("resume");
+    var PipelineRequest = class extends Readable2 {
+      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 Readable2 {
+      constructor(resume) {
+        super({ autoDestroy: true });
+        this[kResume] = resume;
+      }
+      _read() {
+        this[kResume]();
+      }
+      _destroy(err, callback) {
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
         }
-        if (client[kClosedResolve] && !client[kSize]) {
-          client[kClosedResolve]();
-          client[kClosedResolve] = null;
-          return;
+        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");
         }
-        const socket = client[kSocket];
-        if (socket && !socket.destroyed && socket.alpnProtocol !== "h2") {
-          if (client[kSize] === 0) {
-            if (!socket[kNoRef] && socket.unref) {
-              socket.unref();
-              socket[kNoRef] = true;
+        super("UNDICI_PIPELINE");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.handler = handler2;
+        this.abort = null;
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.req = new PipelineRequest().on("error", util.nop);
+        this.ret = new Duplex({
+          readableObjectMode: opts.objectMode,
+          autoDestroy: true,
+          read: () => {
+            const { body } = this;
+            if (body?.resume) {
+              body.resume();
             }
-          } else if (socket[kNoRef] && socket.ref) {
-            socket.ref();
-            socket[kNoRef] = false;
-          }
-          if (client[kSize] === 0) {
-            if (socket[kParser].timeoutType !== TIMEOUT_IDLE) {
-              socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE);
+          },
+          write: (chunk, encoding, callback) => {
+            const { req } = this;
+            if (req.push(chunk, encoding) || req._readableState.destroyed) {
+              callback();
+            } else {
+              req[kResume] = callback;
+            }
+          },
+          destroy: (err, callback) => {
+            const { body, req, res, ret, abort } = this;
+            if (!err && !ret._readableState.endEmitted) {
+              err = new RequestAbortedError();
             }
-          } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
-            if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
-              const request3 = client[kQueue][client[kRunningIdx]];
-              const headersTimeout = request3.headersTimeout != null ? request3.headersTimeout : client[kHeadersTimeout];
-              socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
+            if (abort && err) {
+              abort();
             }
+            util.destroy(body, err);
+            util.destroy(req, err);
+            util.destroy(res, err);
+            removeSignal(this);
+            callback(err);
           }
+        }).on("prefinish", () => {
+          const { req } = this;
+          req.push(null);
+        });
+        this.res = null;
+        addSignal(this, signal);
+      }
+      onConnect(abort, context2) {
+        const { ret, res } = this;
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
-        if (client[kBusy]) {
-          client[kNeedDrain] = 2;
-        } else if (client[kNeedDrain] === 2) {
-          if (sync) {
-            client[kNeedDrain] = 1;
-            process.nextTick(emitDrain, client);
-          } else {
-            emitDrain(client);
+        assert(!res, "pipeline cannot be retried");
+        assert(!ret.destroyed);
+        this.abort = abort;
+        this.context = context2;
+      }
+      onHeaders(statusCode, rawHeaders, resume) {
+        const { opaque, handler: handler2, context: context2 } = this;
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+            this.onInfo({ statusCode, headers });
           }
-          continue;
-        }
-        if (client[kPending] === 0) {
           return;
         }
-        if (client[kRunning] >= (client[kPipelining] || 1)) {
-          return;
+        this.res = new PipelineResponse(resume);
+        let body;
+        try {
+          this.handler = null;
+          const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+          body = this.runInAsyncScope(handler2, null, {
+            statusCode,
+            headers,
+            opaque,
+            body: this.res,
+            context: context2
+          });
+        } catch (err) {
+          this.res.on("error", util.nop);
+          throw err;
         }
-        const request2 = client[kQueue][client[kPendingIdx]];
-        if (client[kUrl].protocol === "https:" && client[kServerName] !== request2.servername) {
-          if (client[kRunning] > 0) {
-            return;
+        if (!body || typeof body.on !== "function") {
+          throw new InvalidReturnValueError("expected Readable");
+        }
+        body.on("data", (chunk) => {
+          const { ret, body: body2 } = this;
+          if (!ret.push(chunk) && body2.pause) {
+            body2.pause();
           }
-          client[kServerName] = request2.servername;
-          if (socket && socket.servername !== request2.servername) {
-            util.destroy(socket, new InformationalError("servername changed"));
-            return;
+        }).on("error", (err) => {
+          const { ret } = this;
+          util.destroy(ret, err);
+        }).on("end", () => {
+          const { ret } = this;
+          ret.push(null);
+        }).on("close", () => {
+          const { ret } = this;
+          if (!ret._readableState.ended) {
+            util.destroy(ret, new RequestAbortedError());
           }
+        });
+        this.body = body;
+      }
+      onData(chunk) {
+        const { res } = this;
+        return res.push(chunk);
+      }
+      onComplete(trailers) {
+        const { res } = this;
+        res.push(null);
+      }
+      onError(err) {
+        const { ret } = this;
+        this.handler = null;
+        util.destroy(ret, err);
+      }
+    };
+    function pipeline(opts, handler2) {
+      try {
+        const pipelineHandler = new PipelineHandler(opts, handler2);
+        this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler);
+        return pipelineHandler.ret;
+      } catch (err) {
+        return new PassThrough().destroy(err);
+      }
+    }
+    module2.exports = pipeline;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js
+var require_api_upgrade2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
+    "use strict";
+    var { InvalidArgumentError, SocketError } = require_errors2();
+    var { AsyncResource } = require("node:async_hooks");
+    var util = require_util9();
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var assert = require("node:assert");
+    var UpgradeHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        if (client[kConnecting]) {
-          return;
-        }
-        if (!socket && !client[kHTTP2Session]) {
-          connect(client);
-          return;
-        }
-        if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) {
-          return;
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
         }
-        if (client[kRunning] > 0 && !request2.idempotent) {
-          return;
+        const { signal, opaque, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
         }
-        if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
+        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, context2) {
+        if (this.reason) {
+          abort(this.reason);
           return;
         }
-        if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body))) {
-          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: context2 } = 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: context2
+        });
+      }
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        if (!request2.aborted && write(client, request2)) {
-          client[kPendingIdx]++;
-        } else {
-          client[kQueue].splice(client[kPendingIdx], 1);
+      }
+    };
+    function upgrade(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve6, reject) => {
+          upgrade.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve6(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 }));
       }
     }
-    function shouldSendContentLength(method) {
-      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
-    }
-    function write(client, request2) {
-      if (client[kHTTPConnVersion] === "h2") {
-        writeH2(client, client[kHTTP2Session], request2);
-        return;
-      }
-      const { body, method, path: path11, host, upgrade, headers, blocking, reset } = request2;
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
-      if (body && typeof body.read === "function") {
-        body.read(0);
+    module2.exports = upgrade;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-connect.js
+var require_api_connect2 = __commonJS({
+  "node_modules/@actions/github/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_errors2();
+    var util = require_util9();
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var ConnectHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        const { signal, opaque, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        }
+        super("UNDICI_CONNECT");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.callback = callback;
+        this.abort = null;
+        addSignal(this, signal);
       }
-      const bodyLength = util.bodyLength(body);
-      let contentLength = bodyLength;
-      if (contentLength === null) {
-        contentLength = request2.contentLength;
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
+        }
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
       }
-      if (contentLength === 0 && !expectsPayload) {
-        contentLength = null;
+      onHeaders() {
+        throw new SocketError("bad connect", null);
       }
-      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
-        if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
-          return false;
+      onUpgrade(statusCode, rawHeaders, socket) {
+        const { callback, opaque, context: context2 } = this;
+        removeSignal(this);
+        this.callback = null;
+        let headers = rawHeaders;
+        if (headers != null) {
+          headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
         }
-        process.emitWarning(new RequestContentLengthMismatchError());
-      }
-      const socket = client[kSocket];
-      try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
-            return;
-          }
-          errorRequest2(client, request2, err || new RequestAbortedError());
-          util.destroy(socket, new InformationalError("aborted"));
+        this.runInAsyncScope(callback, null, null, {
+          statusCode,
+          headers,
+          socket,
+          opaque,
+          context: context2
         });
-      } catch (err) {
-        errorRequest2(client, request2, err);
       }
-      if (request2.aborted) {
-        return false;
-      }
-      if (method === "HEAD") {
-        socket[kReset] = true;
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
+        }
       }
-      if (upgrade || method === "CONNECT") {
-        socket[kReset] = true;
+    };
+    function connect(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve6, reject) => {
+          connect.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve6(data);
+          });
+        });
       }
-      if (reset != null) {
-        socket[kReset] = reset;
+      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 }));
       }
-      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
-        socket[kReset] = true;
+    }
+    module2.exports = connect;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/index.js
+var require_api2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/index.js"(exports2, module2) {
+    "use strict";
+    module2.exports.request = require_api_request2();
+    module2.exports.stream = require_api_stream2();
+    module2.exports.pipeline = require_api_pipeline2();
+    module2.exports.upgrade = require_api_upgrade2();
+    module2.exports.connect = require_api_connect2();
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js
+var require_mock_errors2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
+    "use strict";
+    var { UndiciError } = require_errors2();
+    var kMockNotMatchedError = /* @__PURE__ */ 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";
       }
-      if (blocking) {
-        socket[kBlocking] = true;
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kMockNotMatchedError] === true;
       }
-      let header = `${method} ${path11} HTTP/1.1\r
-`;
-      if (typeof host === "string") {
-        header += `host: ${host}\r
-`;
-      } else {
-        header += client[kHostHeader];
+      [kMockNotMatchedError] = true;
+    };
+    module2.exports = {
+      MockNotMatchedError
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js
+var require_mock_symbols2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kAgent: /* @__PURE__ */ Symbol("agent"),
+      kOptions: /* @__PURE__ */ Symbol("options"),
+      kFactory: /* @__PURE__ */ Symbol("factory"),
+      kDispatches: /* @__PURE__ */ Symbol("dispatches"),
+      kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
+      kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
+      kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
+      kContentLength: /* @__PURE__ */ Symbol("content length"),
+      kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
+      kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
+      kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
+      kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
+      kClose: /* @__PURE__ */ Symbol("close"),
+      kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
+      kOrigin: /* @__PURE__ */ Symbol("origin"),
+      kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
+      kNetConnect: /* @__PURE__ */ Symbol("net connect"),
+      kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
+      kConnected: /* @__PURE__ */ Symbol("connected")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js
+var require_mock_utils2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
+    "use strict";
+    var { MockNotMatchedError } = require_mock_errors2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kOriginalDispatch,
+      kOrigin,
+      kGetNetConnect
+    } = require_mock_symbols2();
+    var { buildURL } = require_util9();
+    var { STATUS_CODES } = require("node:http");
+    var {
+      types: {
+        isPromise
       }
-      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";
+    } = require("node:util");
+    function matchValue(match, value) {
+      if (typeof match === "string") {
+        return match === value;
       }
-      if (headers) {
-        header += headers;
+      if (match instanceof RegExp) {
+        return match.test(value);
       }
-      if (channels.sendHeaders.hasSubscribers) {
-        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      if (typeof match === "function") {
+        return match(value) === true;
       }
-      if (!body || bodyLength === 0) {
-        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");
-        }
-        request2.onRequestSent();
-      } else if (util.isBuffer(body)) {
-        assert(contentLength === body.byteLength, "buffer body must have content length");
-        socket.cork();
-        socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-        socket.write(body);
-        socket.uncork();
-        request2.onBodySent(body);
-        request2.onRequestSent();
-        if (!expectsPayload) {
-          socket[kReset] = true;
-        }
-      } else if (util.isBlobLike(body)) {
-        if (typeof body.stream === "function") {
-          writeIterable({ body: body.stream(), client, request: request2, socket, contentLength, header, expectsPayload });
-        } else {
-          writeBlob({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+      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];
+          }
         }
-      } else if (util.isStream(body)) {
-        writeStream({ body, client, request: request2, socket, contentLength, header, expectsPayload });
-      } else if (util.isIterable(body)) {
-        writeIterable({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+        return void 0;
+      } else if (typeof headers.get === "function") {
+        return headers.get(key);
       } else {
-        assert(false);
+        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 true;
+      return Object.fromEntries(entries);
     }
-    function writeH2(client, session, request2) {
-      const { body, method, path: path11, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
-      let headers;
-      if (typeof reqHeaders === "string") headers = Request[kHTTP2CopyHeaders](reqHeaders.trim());
-      else headers = reqHeaders;
-      if (upgrade) {
-        errorRequest2(client, request2, new Error("Upgrade not supported for H2"));
-        return false;
+    function matchHeaders(mockDispatch2, headers) {
+      if (typeof mockDispatch2.headers === "function") {
+        if (Array.isArray(headers)) {
+          headers = buildHeadersFromArray(headers);
+        }
+        return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {});
       }
-      try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
-            return;
-          }
-          errorRequest2(client, request2, err || new RequestAbortedError());
-        });
-      } catch (err) {
-        errorRequest2(client, request2, err);
+      if (typeof mockDispatch2.headers === "undefined") {
+        return true;
       }
-      if (request2.aborted) {
+      if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") {
         return false;
       }
-      let stream2;
-      const h2State = client[kHTTP2SessionState];
-      headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost];
-      headers[HTTP2_HEADER_METHOD] = method;
-      if (method === "CONNECT") {
-        session.ref();
-        stream2 = session.request(headers, { endStream: false, signal });
-        if (stream2.id && !stream2.pending) {
-          request2.onUpgrade(null, null, stream2);
-          ++h2State.openStreams;
-        } else {
-          stream2.once("ready", () => {
-            request2.onUpgrade(null, null, stream2);
-            ++h2State.openStreams;
-          });
+      for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) {
+        const headerValue = getHeaderByName(headers, matchHeaderName);
+        if (!matchValue(matchHeaderValue, headerValue)) {
+          return false;
         }
-        stream2.once("close", () => {
-          h2State.openStreams -= 1;
-          if (h2State.openStreams === 0) session.unref();
-        });
-        return true;
       }
-      headers[HTTP2_HEADER_PATH] = path11;
-      headers[HTTP2_HEADER_SCHEME] = "https";
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
-      if (body && typeof body.read === "function") {
-        body.read(0);
+      return true;
+    }
+    function safeUrl(path11) {
+      if (typeof path11 !== "string") {
+        return path11;
       }
-      let contentLength = util.bodyLength(body);
-      if (contentLength == null) {
-        contentLength = request2.contentLength;
+      const pathSegments = path11.split("?");
+      if (pathSegments.length !== 2) {
+        return path11;
       }
-      if (contentLength === 0 || !expectsPayload) {
-        contentLength = null;
+      const qp = new URLSearchParams(pathSegments.pop());
+      qp.sort();
+      return [...pathSegments, qp.toString()].join("?");
+    }
+    function matchKey(mockDispatch2, { path: path11, method, body, headers }) {
+      const pathMatch = matchValue(mockDispatch2.path, path11);
+      const methodMatch = matchValue(mockDispatch2.method, method);
+      const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
+      const headersMatch = matchHeaders(mockDispatch2, headers);
+      return pathMatch && methodMatch && bodyMatch && headersMatch;
+    }
+    function getResponseData2(data) {
+      if (Buffer.isBuffer(data)) {
+        return data;
+      } else if (data instanceof Uint8Array) {
+        return data;
+      } else if (data instanceof ArrayBuffer) {
+        return data;
+      } else if (typeof data === "object") {
+        return JSON.stringify(data);
+      } else {
+        return data.toString();
       }
-      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
-        if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
-          return false;
-        }
-        process.emitWarning(new RequestContentLengthMismatchError());
+    }
+    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: path11 }) => matchValue(safeUrl(path11), resolvedPath));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
       }
-      if (contentLength != null) {
-        assert(body, "no body must not have content length");
-        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
+      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}'`);
       }
-      session.ref();
-      const shouldEndStream = method === "GET" || method === "HEAD";
-      if (expectContinue) {
-        headers[HTTP2_HEADER_EXPECT] = "100-continue";
-        stream2 = session.request(headers, { endStream: shouldEndStream, signal });
-        stream2.once("continue", writeBodyH2);
-      } else {
-        stream2 = session.request(headers, {
-          endStream: shouldEndStream,
-          signal
-        });
-        writeBodyH2();
+      matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}' on path '${resolvedPath}'`);
       }
-      ++h2State.openStreams;
-      stream2.once("response", (headers2) => {
-        const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
-        if (request2.onHeaders(Number(statusCode), realHeaders, stream2.resume.bind(stream2), "") === false) {
-          stream2.pause();
-        }
-      });
-      stream2.once("end", () => {
-        request2.onComplete([]);
-      });
-      stream2.on("data", (chunk) => {
-        if (request2.onData(chunk) === false) {
-          stream2.pause();
-        }
-      });
-      stream2.once("close", () => {
-        h2State.openStreams -= 1;
-        if (h2State.openStreams === 0) {
-          session.unref();
-        }
-      });
-      stream2.once("error", function(err) {
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream2, err);
-        }
-      });
-      stream2.once("frameError", (type2, code) => {
-        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-        errorRequest2(client, request2, err);
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream2, err);
+      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);
       });
-      return true;
-      function writeBodyH2() {
-        if (!body) {
-          request2.onRequestSent();
-        } else if (util.isBuffer(body)) {
-          assert(contentLength === body.byteLength, "buffer body must have content length");
-          stream2.cork();
-          stream2.write(body);
-          stream2.uncork();
-          stream2.end();
-          request2.onBodySent(body);
-          request2.onRequestSent();
-        } else if (util.isBlobLike(body)) {
-          if (typeof body.stream === "function") {
-            writeIterable({
-              client,
-              request: request2,
-              contentLength,
-              h2stream: stream2,
-              expectsPayload,
-              body: body.stream(),
-              socket: client[kSocket],
-              header: ""
-            });
-          } else {
-            writeBlob({
-              body,
-              client,
-              request: request2,
-              contentLength,
-              expectsPayload,
-              h2stream: stream2,
-              header: "",
-              socket: client[kSocket]
-            });
-          }
-        } else if (util.isStream(body)) {
-          writeStream({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            socket: client[kSocket],
-            h2stream: stream2,
-            header: ""
-          });
-        } else if (util.isIterable(body)) {
-          writeIterable({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            header: "",
-            h2stream: stream2,
-            socket: client[kSocket]
-          });
-        } else {
-          assert(false);
-        }
+      if (index !== -1) {
+        mockDispatches.splice(index, 1);
       }
     }
-    function writeStream({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
-      if (client[kHTTPConnVersion] === "h2") {
-        let onPipeData = function(chunk) {
-          request2.onBodySent(chunk);
-        };
-        const pipe = pipeline(
-          body,
-          h2stream,
-          (err) => {
-            if (err) {
-              util.destroy(body, err);
-              util.destroy(h2stream, err);
-            } else {
-              request2.onRequestSent();
-            }
-          }
-        );
-        pipe.on("data", onPipeData);
-        pipe.once("end", () => {
-          pipe.removeListener("data", onPipeData);
-          util.destroy(pipe);
-        });
-        return;
-      }
-      let finished = false;
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
-      const onData = function(chunk) {
-        if (finished) {
-          return;
-        }
-        try {
-          if (!writer.write(chunk) && this.pause) {
-            this.pause();
-          }
-        } catch (err) {
-          util.destroy(this, err);
-        }
-      };
-      const onDrain = function() {
-        if (finished) {
-          return;
-        }
-        if (body.resume) {
-          body.resume();
-        }
-      };
-      const onAbort = function() {
-        if (finished) {
-          return;
-        }
-        const err = new RequestAbortedError();
-        queueMicrotask(() => onFinished(err));
+    function buildKey(opts) {
+      const { path: path11, method, body, headers, query } = opts;
+      return {
+        path: path11,
+        method,
+        body,
+        headers,
+        query
       };
-      const onFinished = function(err) {
-        if (finished) {
-          return;
-        }
-        finished = true;
-        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
-        socket.off("drain", onDrain).off("error", onFinished);
-        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("error", onFinished).removeListener("close", onAbort);
-        if (!err) {
-          try {
-            writer.end();
-          } catch (er) {
-            err = er;
+    }
+    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]}`));
           }
-        }
-        writer.destroy(err);
-        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
-          util.destroy(body, err);
         } else {
-          util.destroy(body);
+          result.push(name, Buffer.from(`${value}`));
         }
-      };
-      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onAbort);
-      if (body.resume) {
-        body.resume();
       }
-      socket.on("drain", onDrain).on("error", onFinished);
+      return result;
     }
-    async function writeBlob({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength === body.size, "blob body must have content length");
-      const isH2 = client[kHTTPConnVersion] === "h2";
-      try {
-        if (contentLength != null && contentLength !== body.size) {
-          throw new RequestContentLengthMismatchError();
-        }
-        const buffer = Buffer.from(await body.arrayBuffer());
-        if (isH2) {
-          h2stream.cork();
-          h2stream.write(buffer);
-          h2stream.uncork();
-        } else {
-          socket.cork();
-          socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-          socket.write(buffer);
-          socket.uncork();
-        }
-        request2.onBodySent(buffer);
-        request2.onRequestSent();
-        if (!expectsPayload) {
-          socket[kReset] = true;
-        }
-        resume(client);
-      } catch (err) {
-        util.destroy(isH2 ? h2stream : socket, err);
+    function getStatusText(statusCode) {
+      return STATUS_CODES[statusCode] || "unknown";
+    }
+    async function getResponse(body) {
+      const buffers = [];
+      for await (const data of body) {
+        buffers.push(data);
       }
+      return Buffer.concat(buffers).toString("utf8");
     }
-    async function writeIterable({ h2stream, body, client, request: 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();
-        }
+    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 waitForDrain = () => new Promise((resolve6, reject) => {
-        assert(callback === null);
-        if (socket[kError]) {
-          reject(socket[kError]);
-        } else {
-          callback = resolve6;
-        }
-      });
-      if (client[kHTTPConnVersion] === "h2") {
-        h2stream.on("close", onDrain).on("drain", onDrain);
-        try {
-          for await (const chunk of body) {
-            if (socket[kError]) {
-              throw socket[kError];
-            }
-            const res = h2stream.write(chunk);
-            request2.onBodySent(chunk);
-            if (!res) {
-              await waitForDrain();
-            }
-          }
-        } catch (err) {
-          h2stream.destroy(err);
-        } finally {
-          request2.onRequestSent();
-          h2stream.end();
-          h2stream.off("close", onDrain).off("drain", onDrain);
-        }
-        return;
+      const { data: { statusCode, data, headers, trailers, error: error3 }, delay: delay2, persist } = mockDispatch2;
+      const { timesInvoked, times } = mockDispatch2;
+      mockDispatch2.consumed = !persist && timesInvoked >= times;
+      mockDispatch2.pending = timesInvoked < times;
+      if (error3 !== null) {
+        deleteMockDispatch(this[kDispatches], key);
+        handler2.onError(error3);
+        return true;
       }
-      socket.on("close", onDrain).on("drain", onDrain);
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
-      try {
-        for await (const chunk of body) {
-          if (socket[kError]) {
-            throw socket[kError];
-          }
-          if (!writer.write(chunk)) {
-            await waitForDrain();
-          }
+      if (typeof delay2 === "number" && delay2 > 0) {
+        setTimeout(() => {
+          handleReply(this[kDispatches]);
+        }, delay2);
+      } else {
+        handleReply(this[kDispatches]);
+      }
+      function handleReply(mockDispatches, _data = data) {
+        const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
+        const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
+        if (isPromise(body)) {
+          body.then((newData) => handleReply(mockDispatches, newData));
+          return;
         }
-        writer.end();
-      } catch (err) {
-        writer.destroy(err);
-      } finally {
-        socket.off("close", onDrain).off("drain", onDrain);
+        const responseData = getResponseData2(body);
+        const responseHeaders = generateKeyValues(headers);
+        const responseTrailers = generateKeyValues(trailers);
+        handler2.onConnect?.((err) => handler2.onError(err), null);
+        handler2.onHeaders?.(statusCode, responseHeaders, resume, getStatusText(statusCode));
+        handler2.onData?.(Buffer.from(responseData));
+        handler2.onComplete?.(responseTrailers);
+        deleteMockDispatch(mockDispatches, key);
       }
-    }
-    var AsyncWriter = class {
-      constructor({ 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;
-        socket[kWriting] = true;
+      function resume() {
       }
-      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) {
-            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 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 (error3) {
+            if (error3 instanceof MockNotMatchedError) {
+              const netConnect = agent[kGetNetConnect]();
+              if (netConnect === false) {
+                throw new MockNotMatchedError(`${error3.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(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
+              }
+            } else {
+              throw error3;
             }
           }
+        } else {
+          originalDispatch.call(this, opts, handler2);
         }
-        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();
-          }
-        }
-        resume(client);
-      }
-      destroy(err) {
-        const { socket, client } = this;
-        socket[kWriting] = false;
-        if (err) {
-          assert(client[kRunning] <= 1, "pipeline should only contain this request");
-          util.destroy(socket, err);
-        }
+      };
+    }
+    function checkNetConnect(netConnect, origin) {
+      const url2 = new URL(origin);
+      if (netConnect === true) {
+        return true;
+      } else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url2.host))) {
+        return true;
       }
-    };
-    function errorRequest2(client, request2, err) {
-      try {
-        request2.onError(err);
-        assert(request2.aborted);
-      } catch (err2) {
-        client.emit("error", err2);
+      return false;
+    }
+    function buildMockOptions(opts) {
+      if (opts) {
+        const { agent, ...mockOptions } = opts;
+        return mockOptions;
       }
     }
-    module2.exports = Client;
+    module2.exports = {
+      getResponseData: getResponseData2,
+      getMockDispatch,
+      addMockDispatch,
+      deleteMockDispatch,
+      buildKey,
+      generateKeyValues,
+      matchValue,
+      getResponse,
+      getStatusText,
+      mockDispatch,
+      buildMockDispatch,
+      checkNetConnect,
+      buildMockOptions,
+      getHeaderByName,
+      buildHeadersFromArray
+    };
   }
 });
 
-// node_modules/undici/lib/node/fixed-queue.js
-var require_fixed_queue2 = __commonJS({
-  "node_modules/undici/lib/node/fixed-queue.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js
+var require_mock_interceptor2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.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;
+    var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kDispatchKey,
+      kDefaultHeaders,
+      kDefaultTrailers,
+      kContentLength,
+      kMockDispatch
+    } = require_mock_symbols2();
+    var { InvalidArgumentError } = require_errors2();
+    var { buildURL } = require_util9();
+    var MockScope = class {
+      constructor(mockDispatch) {
+        this[kMockDispatch] = mockDispatch;
       }
-      isFull() {
-        return (this.top + 1 & kMask) === this.bottom;
+      /**
+       * 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;
       }
-      push(data) {
-        this.list[this.top] = data;
-        this.top = this.top + 1 & kMask;
+      /**
+       * For a defined reply, never mark as consumed.
+       */
+      persist() {
+        this[kMockDispatch].persist = true;
+        return this;
       }
-      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;
+      /**
+       * 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;
       }
     };
-    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();
+    var MockInterceptor = class {
+      constructor(opts, mockDispatches) {
+        if (typeof opts !== "object") {
+          throw new InvalidArgumentError("opts must be an object");
         }
-        this.head.push(data);
-      }
-      shift() {
-        const tail = this.tail;
-        const next = tail.shift();
-        if (tail.isEmpty() && tail.next !== null) {
-          this.tail = tail.next;
+        if (typeof opts.path === "undefined") {
+          throw new InvalidArgumentError("opts.path must be defined");
         }
-        return next;
+        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;
       }
-    };
-  }
-});
-
-// node_modules/undici/lib/pool-stats.js
-var require_pool_stats2 = __commonJS({
-  "node_modules/undici/lib/pool-stats.js"(exports2, module2) {
-    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
-    var kPool = /* @__PURE__ */ Symbol("pool");
-    var PoolStats = class {
-      constructor(pool) {
-        this[kPool] = pool;
+      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 };
       }
-      get connected() {
-        return this[kPool][kConnected];
+      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");
+        }
       }
-      get free() {
-        return this[kPool][kFree];
+      /**
+       * 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);
       }
-      get pending() {
-        return this[kPool][kPending];
+      /**
+       * Mock an undici request with a defined error.
+       */
+      replyWithError(error3) {
+        if (typeof error3 === "undefined") {
+          throw new InvalidArgumentError("error must be defined");
+        }
+        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error: error3 });
+        return new MockScope(newMockDispatch);
       }
-      get queued() {
-        return this[kPool][kQueued];
+      /**
+       * 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;
       }
-      get running() {
-        return this[kPool][kRunning];
+      /**
+       * 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;
       }
-      get size() {
-        return this[kPool][kSize];
+      /**
+       * Set reply content length header for replies on the interceptor
+       */
+      replyContentLength() {
+        this[kContentLength] = true;
+        return this;
       }
     };
-    module2.exports = PoolStats;
+    module2.exports.MockInterceptor = MockInterceptor;
+    module2.exports.MockScope = MockScope;
   }
 });
 
-// node_modules/undici/lib/pool-base.js
-var require_pool_base2 = __commonJS({
-  "node_modules/undici/lib/pool-base.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js
+var require_mock_client2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
     "use strict";
-    var DispatcherBase = require_dispatcher_base2();
-    var FixedQueue = require_fixed_queue2();
-    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
-    var PoolStats = require_pool_stats2();
-    var kClients = /* @__PURE__ */ Symbol("clients");
-    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
-    var kQueue = /* @__PURE__ */ Symbol("queue");
-    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
-    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
-    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
-    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
-    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
-    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
-    var kAddClient = /* @__PURE__ */ Symbol("add client");
-    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
-    var kStats = /* @__PURE__ */ 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;
+    var { promisify } = require("node:util");
+    var Client = require_client2();
+    var { buildMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols2();
+    var { MockInterceptor } = require_mock_interceptor2();
+    var Symbols = require_symbols6();
+    var { InvalidArgumentError } = require_errors2();
+    var MockClient = class extends Client {
+      constructor(origin, opts) {
+        super(origin, opts);
+        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
         }
-        return ret;
+        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 [kSize]() {
-        let ret = this[kQueued];
-        for (const { [kSize]: size } of this[kClients]) {
-          ret += size;
-        }
-        return ret;
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
-      get stats() {
-        return this[kStats];
+      /**
+       * Sets up the base interceptor for mocking replies from undici.
+       */
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
       }
       async [kClose]() {
-        if (this[kQueue].isEmpty()) {
-          return Promise.all(this[kClients].map((c) => c.close()));
-        } else {
-          return new Promise((resolve6) => {
-            this[kClosedResolve] = resolve6;
-          });
-        }
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
-      async [kDestroy](err) {
-        while (true) {
-          const item = this[kQueue].shift();
-          if (!item) {
-            break;
-          }
-          item.handler.onError(err);
+    };
+    module2.exports = MockClient;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js
+var require_mock_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
+    "use strict";
+    var { promisify } = require("node:util");
+    var Pool = require_pool2();
+    var { buildMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols2();
+    var { MockInterceptor } = require_mock_interceptor2();
+    var Symbols = require_symbols6();
+    var { InvalidArgumentError } = require_errors2();
+    var MockPool = class extends Pool {
+      constructor(origin, opts) {
+        super(origin, opts);
+        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
         }
-        return Promise.all(this[kClients].map((c) => c.destroy(err)));
+        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];
       }
-      [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];
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
-      [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]) {
-          process.nextTick(() => {
-            if (this[kNeedDrain]) {
-              this[kOnDrain](client[kUrl], [this, client]);
-            }
-          });
-        }
-        return this;
+      /**
+       * Sets up the base interceptor for mocking replies from undici.
+       */
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
       }
-      [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);
+      async [kClose]() {
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
     };
-    module2.exports = {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kRemoveClient,
-      kGetDispatcher
-    };
+    module2.exports = MockPool;
   }
 });
 
-// node_modules/undici/lib/pool.js
-var require_pool2 = __commonJS({
-  "node_modules/undici/lib/pool.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/pluralizer.js
+var require_pluralizer2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) {
     "use strict";
-    var {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kGetDispatcher
-    } = require_pool_base2();
-    var Client = require_client2();
-    var {
-      InvalidArgumentError
-    } = require_errors2();
-    var util = require_util9();
-    var { kUrl, kInterceptors } = require_symbols6();
-    var buildConnector = require_connect2();
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    var kConnections = /* @__PURE__ */ Symbol("connections");
-    var kFactory = /* @__PURE__ */ 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,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
-            ...connect
-          });
-        }
-        this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
-        this[kConnections] = connections || null;
-        this[kUrl] = util.parseOrigin(origin);
-        this[kOptions] = { ...util.deepClone(options), connect, allowH2 };
-        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
-        this[kFactory] = factory;
-        this.on("connectionError", (origin2, targets, error3) => {
-          for (const target of targets) {
-            const idx = this[kClients].indexOf(target);
-            if (idx !== -1) {
-              this[kClients].splice(idx, 1);
-            }
+    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/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js
+var require_pending_interceptors_formatter2 = __commonJS({
+  "node_modules/@actions/github/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
           }
         });
       }
-      [kGetDispatcher]() {
-        let dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain]);
-        if (dispatcher) {
-          return dispatcher;
-        }
-        if (!this[kConnections] || this[kClients].length < this[kConnections]) {
-          dispatcher = this[kFactory](this[kUrl], this[kOptions]);
-          this[kAddClient](dispatcher);
-        }
-        return dispatcher;
+      format(pendingInterceptors) {
+        const withPrettyHeaders = pendingInterceptors.map(
+          ({ method, path: path11, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
+            Method: method,
+            Origin: origin,
+            Path: path11,
+            "Status code": statusCode,
+            Persistent: persist ? PERSISTENT : NOT_PERSISTENT,
+            Invocations: timesInvoked,
+            Remaining: persist ? Infinity : times - timesInvoked
+          })
+        );
+        this.logger.table(withPrettyHeaders);
+        return this.transform.read().toString();
       }
     };
-    module2.exports = Pool;
   }
 });
 
-// node_modules/undici/lib/balanced-pool.js
-var require_balanced_pool2 = __commonJS({
-  "node_modules/undici/lib/balanced-pool.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js
+var require_mock_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
     "use strict";
+    var { kClients } = require_symbols6();
+    var Agent = require_agent2();
     var {
-      BalancedPoolMissingUpstreamError,
-      InvalidArgumentError
-    } = require_errors2();
-    var {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kRemoveClient,
-      kGetDispatcher
-    } = require_pool_base2();
-    var Pool = require_pool2();
-    var { kUrl, kInterceptors } = require_symbols6();
-    var { parseOrigin } = require_util9();
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
-    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
-    var kIndex = /* @__PURE__ */ Symbol("kIndex");
-    var kWeight = /* @__PURE__ */ Symbol("kWeight");
-    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
-    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
-    function getGreatestCommonDivisor(a, b) {
-      if (b === 0) return a;
-      return getGreatestCommonDivisor(b, a % b);
-    }
-    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 && opts.interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : [];
-        this[kFactory] = factory;
-        for (const upstream of upstreams) {
-          this.addUpstream(upstream);
+      kAgent,
+      kMockAgentSet,
+      kMockAgentGet,
+      kDispatches,
+      kIsMockActive,
+      kNetConnect,
+      kGetNetConnect,
+      kOptions,
+      kFactory
+    } = require_mock_symbols2();
+    var MockClient = require_mock_client2();
+    var MockPool = require_mock_pool2();
+    var { matchValue, buildMockOptions } = require_mock_utils2();
+    var { InvalidArgumentError, UndiciError } = require_errors2();
+    var Dispatcher = require_dispatcher2();
+    var Pluralizer = require_pluralizer2();
+    var PendingInterceptorsFormatter = require_pending_interceptors_formatter2();
+    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");
         }
-        this._updateBalancedPoolStats();
+        const agent = opts?.agent ? opts.agent : new Agent(opts);
+        this[kAgent] = agent;
+        this[kClients] = agent[kClients];
+        this[kOptions] = buildMockOptions(opts);
       }
-      addUpstream(upstream) {
-        const upstreamOrigin = parseOrigin(upstream).origin;
-        if (this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true)) {
-          return this;
+      get(origin) {
+        let dispatcher = this[kMockAgentGet](origin);
+        if (!dispatcher) {
+          dispatcher = this[kFactory](origin);
+          this[kMockAgentSet](origin, dispatcher);
         }
-        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();
+        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];
           }
-        });
-        for (const client of this[kClients]) {
-          client[kWeight] = this[kMaxWeightPerServer];
+        } else if (typeof matcher === "undefined") {
+          this[kNetConnect] = true;
+        } else {
+          throw new InvalidArgumentError("Unsupported matcher. Must be one of String|Function|RegExp.");
         }
-        this._updateBalancedPoolStats();
-        return this;
       }
-      _updateBalancedPoolStats() {
-        this[kGreatestCommonDivisor] = this[kClients].map((p) => p[kWeight]).reduce(getGreatestCommonDivisor, 0);
+      disableNetConnect() {
+        this[kNetConnect] = false;
       }
-      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;
+      // This is required to bypass issues caused by using global symbols - see:
+      // https://github.com/nodejs/undici/issues/1447
+      get isMockActive() {
+        return this[kIsMockActive];
       }
-      get upstreams() {
-        return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin);
+      [kMockAgentSet](origin, dispatcher) {
+        this[kClients].set(origin, dispatcher);
       }
-      [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;
+      [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;
         }
-        const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b) => a && b, true);
-        if (allClientsBusy) {
-          return;
+        if (typeof origin !== "string") {
+          const dispatcher = this[kFactory]("http://localhost:9999");
+          this[kMockAgentSet](origin, dispatcher);
+          return dispatcher;
         }
-        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;
+        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;
           }
         }
-        this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight];
-        this[kIndex] = maxWeightIndex;
-        return this[kClients][maxWeightIndex];
-      }
-    };
-    module2.exports = BalancedPool;
-  }
-});
-
-// node_modules/undici/lib/compat/dispatcher-weakref.js
-var require_dispatcher_weakref2 = __commonJS({
-  "node_modules/undici/lib/compat/dispatcher-weakref.js"(exports2, module2) {
-    "use strict";
-    var { kConnected, kSize } = require_symbols6();
-    var CompatWeakRef = class {
-      constructor(value) {
-        this.value = value;
       }
-      deref() {
-        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
+      [kGetNetConnect]() {
+        return this[kNetConnect];
       }
-    };
-    var CompatFinalizer = class {
-      constructor(finalizer) {
-        this.finalizer = finalizer;
+      pendingInterceptors() {
+        const mockAgentClients = this[kClients];
+        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
       }
-      register(dispatcher, key) {
-        if (dispatcher.on) {
-          dispatcher.on("disconnect", () => {
-            if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {
-              this.finalizer(key);
-            }
-          });
+      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 = function() {
-      if (process.env.NODE_V8_COVERAGE) {
-        return {
-          WeakRef: CompatWeakRef,
-          FinalizationRegistry: CompatFinalizer
-        };
-      }
-      return {
-        WeakRef: global.WeakRef || CompatWeakRef,
-        FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer
-      };
-    };
+    module2.exports = MockAgent;
   }
 });
 
-// node_modules/undici/lib/agent.js
-var require_agent2 = __commonJS({
-  "node_modules/undici/lib/agent.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/global.js
+var require_global4 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/global.js"(exports2, module2) {
     "use strict";
+    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
     var { InvalidArgumentError } = require_errors2();
-    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
-    var DispatcherBase = require_dispatcher_base2();
-    var Pool = require_pool2();
-    var Client = require_client2();
-    var util = require_util9();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var { WeakRef: WeakRef2, FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
-    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
-    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
-    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
-    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
-    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    var kFinalizer = /* @__PURE__ */ Symbol("finalizer");
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    function defaultFactory(origin, opts) {
-      return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts);
+    var Agent = require_agent2();
+    if (getGlobalDispatcher() === void 0) {
+      setGlobalDispatcher(new Agent());
     }
-    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 && options.interceptors.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
-        this[kOptions] = { ...util.deepClone(options), connect };
-        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
-        this[kMaxRedirections] = maxRedirections;
-        this[kFactory] = factory;
-        this[kClients] = /* @__PURE__ */ new Map();
-        this[kFinalizer] = new FinalizationRegistry2(
-          /* istanbul ignore next: gc is undeterministic */
-          (key) => {
-            const ref = this[kClients].get(key);
-            if (ref !== void 0 && ref.deref() === void 0) {
-              this[kClients].delete(key);
-            }
-          }
-        );
-        const agent = this;
-        this[kOnDrain] = (origin, targets) => {
-          agent.emit("drain", origin, [agent, ...targets]);
-        };
-        this[kOnConnect] = (origin, targets) => {
-          agent.emit("connect", origin, [agent, ...targets]);
-        };
-        this[kOnDisconnect] = (origin, targets, err) => {
-          agent.emit("disconnect", origin, [agent, ...targets], err);
-        };
-        this[kOnConnectionError] = (origin, targets, err) => {
-          agent.emit("connectionError", origin, [agent, ...targets], err);
-        };
+    function setGlobalDispatcher(agent) {
+      if (!agent || typeof agent.dispatch !== "function") {
+        throw new InvalidArgumentError("Argument agent must implement Agent");
       }
-      get [kRunning]() {
-        let ret = 0;
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            ret += client[kRunning];
-          }
+      Object.defineProperty(globalThis, globalDispatcher, {
+        value: agent,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
+    }
+    function getGlobalDispatcher() {
+      return globalThis[globalDispatcher];
+    }
+    module2.exports = {
+      setGlobalDispatcher,
+      getGlobalDispatcher
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/handler/decorator-handler.js
+var require_decorator_handler2 = __commonJS({
+  "node_modules/@actions/github/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");
         }
-        return ret;
+        this.#handler = handler2;
       }
-      [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.");
-        }
-        const ref = this[kClients].get(key);
-        let dispatcher = ref ? ref.deref() : null;
-        if (!dispatcher) {
-          dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
-          this[kClients].set(key, new WeakRef2(dispatcher));
-          this[kFinalizer].register(dispatcher, key);
-        }
-        return dispatcher.dispatch(opts, handler2);
+      onConnect(...args) {
+        return this.#handler.onConnect?.(...args);
       }
-      async [kClose]() {
-        const closePromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            closePromises.push(client.close());
-          }
-        }
-        await Promise.all(closePromises);
+      onError(...args) {
+        return this.#handler.onError?.(...args);
       }
-      async [kDestroy](err) {
-        const destroyPromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            destroyPromises.push(client.destroy(err));
-          }
-        }
-        await Promise.all(destroyPromises);
+      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);
       }
     };
-    module2.exports = Agent;
   }
 });
 
-// node_modules/undici/lib/api/readable.js
-var require_readable2 = __commonJS({
-  "node_modules/undici/lib/api/readable.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js
+var require_redirect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { Readable: Readable2 } = require("stream");
-    var { RequestAbortedError, NotSupportedError, InvalidArgumentError } = require_errors2();
-    var util = require_util9();
-    var { ReadableStreamFrom, toUSVString } = require_util9();
-    var Blob2;
-    var kConsume = /* @__PURE__ */ Symbol("kConsume");
-    var kReading = /* @__PURE__ */ Symbol("kReading");
-    var kBody = /* @__PURE__ */ Symbol("kBody");
-    var kAbort = /* @__PURE__ */ Symbol("abort");
-    var kContentType = /* @__PURE__ */ Symbol("kContentType");
-    var noop3 = () => {
+    var RedirectHandler = require_redirect_handler2();
+    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);
+        };
+      };
     };
-    module2.exports = class BodyReadable extends Readable2 {
-      constructor({
-        resume,
-        abort,
-        contentType = "",
-        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[kReading] = false;
-      }
-      destroy(err) {
-        if (this.destroyed) {
-          return this;
-        }
-        if (!err && !this._readableState.endEmitted) {
-          err = new RequestAbortedError();
-        }
-        if (err) {
-          this[kAbort]();
-        }
-        return super.destroy(err);
-      }
-      emit(ev, ...args) {
-        if (ev === "data") {
-          this._readableState.dataEmitted = true;
-        } else if (ev === "error") {
-          this._readableState.errorEmitted = true;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js
+var require_retry2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js"(exports2, module2) {
+    "use strict";
+    var RetryHandler = require_retry_handler2();
+    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/@actions/github/node_modules/undici/lib/interceptor/dump.js
+var require_dump2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/dump.js"(exports2, module2) {
+    "use strict";
+    var util = require_util9();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
+    var DecoratorHandler = require_decorator_handler2();
+    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");
         }
-        return super.emit(ev, ...args);
+        this.#maxSize = maxSize ?? this.#maxSize;
+        this.#handler = handler2;
       }
-      on(ev, ...args) {
-        if (ev === "data" || ev === "readable") {
-          this[kReading] = true;
-        }
-        return super.on(ev, ...args);
+      onConnect(abort) {
+        this.#abort = abort;
+        this.#handler.onConnect(this.#customAbort.bind(this));
       }
-      addListener(ev, ...args) {
-        return this.on(ev, ...args);
+      #customAbort(reason) {
+        this.#aborted = true;
+        this.#reason = reason;
       }
-      off(ev, ...args) {
-        const ret = super.off(ev, ...args);
-        if (ev === "data" || ev === "readable") {
-          this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0;
+      // 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})`
+          );
         }
-        return ret;
-      }
-      removeListener(ev, ...args) {
-        return this.off(ev, ...args);
-      }
-      push(chunk) {
-        if (this[kConsume] && chunk !== null && this.readableLength === 0) {
-          consumePush(this[kConsume], chunk);
-          return this[kReading] ? super.push(chunk) : true;
+        if (this.#aborted) {
+          return 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-arraybuffer
-      async arrayBuffer() {
-        return consume(this, "arrayBuffer");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-formdata
-      async formData() {
-        throw new NotSupportedError();
+        return this.#handler.onHeaders(
+          statusCode,
+          rawHeaders,
+          resume,
+          statusMessage
+        );
       }
-      // https://fetch.spec.whatwg.org/#dom-body-bodyused
-      get bodyUsed() {
-        return util.isDisturbed(this);
+      onError(err) {
+        if (this.#dumped) {
+          return;
+        }
+        err = this.#reason ?? err;
+        this.#handler.onError(err);
       }
-      // 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);
+      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 this[kBody];
+        return true;
       }
-      dump(opts) {
-        let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144;
-        const signal = opts && opts.signal;
-        if (signal) {
-          try {
-            if (typeof signal !== "object" || !("aborted" in signal)) {
-              throw new InvalidArgumentError("signal must be an AbortSignal");
-            }
-            util.throwIfAborted(signal);
-          } catch (err) {
-            return Promise.reject(err);
-          }
+      onComplete(trailers) {
+        if (this.#dumped) {
+          return;
         }
-        if (this.closed) {
-          return Promise.resolve(null);
+        if (this.#aborted) {
+          this.#handler.onError(this.reason);
+          return;
         }
-        return new Promise((resolve6, reject) => {
-          const signalListenerCleanup = signal ? util.addAbortListener(signal, () => {
-            this.destroy();
-          }) : noop3;
-          this.on("close", function() {
-            signalListenerCleanup();
-            if (signal && signal.aborted) {
-              reject(signal.reason || Object.assign(new Error("The operation was aborted"), { name: "AbortError" }));
-            } else {
-              resolve6(null);
-            }
-          }).on("error", noop3).on("data", function(chunk) {
-            limit -= chunk.length;
-            if (limit <= 0) {
-              this.destroy();
-            }
-          }).resume();
-        });
+        this.#handler.onComplete(trailers);
       }
     };
-    function isLocked(self2) {
-      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
-    }
-    function isUnusable(self2) {
-      return util.isDisturbed(self2) || isLocked(self2);
-    }
-    async function consume(stream2, type2) {
-      if (isUnusable(stream2)) {
-        throw new TypeError("unusable");
-      }
-      assert(!stream2[kConsume]);
-      return new Promise((resolve6, reject) => {
-        stream2[kConsume] = {
-          type: type2,
-          stream: stream2,
-          resolve: resolve6,
-          reject,
-          length: 0,
-          body: []
+    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);
         };
-        stream2.on("error", function(err) {
-          consumeFinish(this[kConsume], err);
-        }).on("close", function() {
-          if (this[kConsume].body !== null) {
-            consumeFinish(this[kConsume], new RequestAbortedError());
-          }
-        });
-        process.nextTick(consumeStart, stream2[kConsume]);
-      });
+      };
     }
-    function consumeStart(consume2) {
-      if (consume2.body === null) {
-        return;
+    module2.exports = createDumpInterceptor;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/dns.js
+var require_dns2 = __commonJS({
+  "node_modules/@actions/github/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_handler2();
+    var { InvalidArgumentError, InformationalError } = require_errors2();
+    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;
       }
-      const { _readableState: state } = consume2.stream;
-      for (const chunk of state.buffer) {
-        consumePush(consume2, chunk);
+      get full() {
+        return this.#records.size === this.#maxItems;
       }
-      if (state.endEmitted) {
-        consumeEnd(this[kConsume]);
-      } else {
-        consume2.stream.on("end", function() {
-          consumeEnd(this[kConsume]);
-        });
+      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}`
+          );
+        }
       }
-      consume2.stream.resume();
-      while (consume2.stream.read() != null) {
+      #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());
+          }
+        );
       }
-    }
-    function consumeEnd(consume2) {
-      const { type: type2, body, resolve: resolve6, stream: stream2, length } = consume2;
-      try {
-        if (type2 === "text") {
-          resolve6(toUSVString(Buffer.concat(body)));
-        } else if (type2 === "json") {
-          resolve6(JSON.parse(Buffer.concat(body)));
-        } else if (type2 === "arrayBuffer") {
-          const dst = new Uint8Array(length);
-          let pos = 0;
-          for (const buf of body) {
-            dst.set(buf, pos);
-            pos += buf.byteLength;
+      #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;
+            }
           }
-          resolve6(dst.buffer);
-        } else if (type2 === "blob") {
-          if (!Blob2) {
-            Blob2 = require("buffer").Blob;
+          if (records[affinity] != null && records[affinity].ips.length > 0) {
+            family = records[affinity];
+          } else {
+            family = records[affinity === 4 ? 6 : 4];
           }
-          resolve6(new Blob2(body, { type: stream2[kContentType] }));
+        } else {
+          family = records[affinity];
         }
-        consumeFinish(consume2);
-      } catch (err) {
-        stream2.destroy(err);
+        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;
       }
-    }
-    function consumePush(consume2, chunk) {
-      consume2.length += chunk.length;
-      consume2.body.push(chunk);
-    }
-    function consumeFinish(consume2, err) {
-      if (consume2.body === null) {
-        return;
+      setRecords(origin, addresses) {
+        const timestamp2 = Date.now();
+        const records = { records: { 4: null, 6: null } };
+        for (const record of addresses) {
+          record.timestamp = timestamp2;
+          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);
       }
-      if (err) {
-        consume2.reject(err);
-      } else {
-        consume2.resolve();
+      getHandler(meta, opts) {
+        return new DNSDispatchHandler(this, meta, opts);
       }
-      consume2.type = null;
-      consume2.stream = null;
-      consume2.resolve = null;
-      consume2.reject = null;
-      consume2.length = 0;
-      consume2.body = null;
-    }
-  }
-});
-
-// node_modules/undici/lib/api/util.js
-var require_util11 = __commonJS({
-  "node_modules/undici/lib/api/util.js"(exports2, module2) {
-    var assert = require("assert");
-    var {
-      ResponseStatusCodeError
-    } = require_errors2();
-    var { toUSVString } = require_util9();
-    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
-      assert(body);
-      let chunks = [];
-      let limit = 0;
-      for await (const chunk of body) {
-        chunks.push(chunk);
-        limit += chunk.length;
-        if (limit > 128 * 1024) {
-          chunks = null;
-          break;
+    };
+    var DNSDispatchHandler = class extends DecoratorHandler {
+      #state = null;
+      #opts = null;
+      #dispatch = null;
+      #handler = null;
+      #origin = null;
+      constructor(state, { origin, handler: handler2, dispatch }, opts) {
+        super(handler2);
+        this.#origin = origin;
+        this.#handler = handler2;
+        this.#opts = { ...opts };
+        this.#state = state;
+        this.#dispatch = dispatch;
+      }
+      onError(err) {
+        switch (err.code) {
+          case "ETIMEDOUT":
+          case "ECONNREFUSED": {
+            if (this.#state.dualStack) {
+              this.#state.runLookup(this.#origin, this.#opts, (err2, newOrigin) => {
+                if (err2) {
+                  return this.#handler.onError(err2);
+                }
+                const dispatchOpts = {
+                  ...this.#opts,
+                  origin: newOrigin
+                };
+                this.#dispatch(dispatchOpts, this);
+              });
+              return;
+            }
+            this.#handler.onError(err);
+            return;
+          }
+          case "ENOTFOUND":
+            this.#state.deleteRecord(this.#origin);
+          // eslint-disable-next-line no-fallthrough
+          default:
+            this.#handler.onError(err);
+            break;
         }
       }
-      if (statusCode === 204 || !contentType || !chunks) {
-        process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
-        return;
+    };
+    module2.exports = (interceptorOpts) => {
+      if (interceptorOpts?.maxTTL != null && (typeof interceptorOpts?.maxTTL !== "number" || interceptorOpts?.maxTTL < 0)) {
+        throw new InvalidArgumentError("Invalid maxTTL. Must be a positive number");
       }
-      try {
-        if (contentType.startsWith("application/json")) {
-          const payload = JSON.parse(toUSVString(Buffer.concat(chunks)));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
-        }
-        if (contentType.startsWith("text/")) {
-          const payload = toUSVString(Buffer.concat(chunks));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
-        }
-      } catch (err) {
+      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"
+        );
       }
-      process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
-    }
-    module2.exports = { getResolveErrorBodyCallback };
-  }
-});
-
-// node_modules/undici/lib/api/abort-signal.js
-var require_abort_signal2 = __commonJS({
-  "node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
-    var { addAbortListener } = require_util9();
-    var { RequestAbortedError } = require_errors2();
-    var kListener = /* @__PURE__ */ Symbol("kListener");
-    var kSignal = /* @__PURE__ */ Symbol("kSignal");
-    function abort(self2) {
-      if (self2.abort) {
-        self2.abort();
-      } else {
-        self2.onError(new RequestAbortedError());
+      if (interceptorOpts?.affinity != null && interceptorOpts?.affinity !== 4 && interceptorOpts?.affinity !== 6) {
+        throw new InvalidArgumentError("Invalid affinity. Must be either 4 or 6");
       }
-    }
-    function addSignal(self2, signal) {
-      self2[kSignal] = null;
-      self2[kListener] = null;
-      if (!signal) {
-        return;
+      if (interceptorOpts?.dualStack != null && typeof interceptorOpts?.dualStack !== "boolean") {
+        throw new InvalidArgumentError("Invalid dualStack. Must be a boolean");
       }
-      if (signal.aborted) {
-        abort(self2);
-        return;
+      if (interceptorOpts?.lookup != null && typeof interceptorOpts?.lookup !== "function") {
+        throw new InvalidArgumentError("Invalid lookup. Must be a function");
       }
-      self2[kSignal] = signal;
-      self2[kListener] = () => {
-        abort(self2);
-      };
-      addAbortListener(self2[kSignal], self2[kListener]);
-    }
-    function removeSignal(self2) {
-      if (!self2[kSignal]) {
-        return;
+      if (interceptorOpts?.pick != null && typeof interceptorOpts?.pick !== "function") {
+        throw new InvalidArgumentError("Invalid pick. Must be a function");
       }
-      if ("removeEventListener" in self2[kSignal]) {
-        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      const dualStack = interceptorOpts?.dualStack ?? true;
+      let affinity;
+      if (dualStack) {
+        affinity = interceptorOpts?.affinity ?? null;
       } else {
-        self2[kSignal].removeListener("abort", self2[kListener]);
+        affinity = interceptorOpts?.affinity ?? 4;
       }
-      self2[kSignal] = null;
-      self2[kListener] = null;
-    }
-    module2.exports = {
-      addSignal,
-      removeSignal
+      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/api/api-request.js
-var require_api_request2 = __commonJS({
-  "node_modules/undici/lib/api/api-request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js
+var require_headers2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js"(exports2, module2) {
     "use strict";
-    var Readable2 = require_readable2();
+    var { kConstruct } = require_symbols6();
+    var { kEnumerableProperty } = require_util9();
     var {
-      InvalidArgumentError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { getResolveErrorBodyCallback } = require_util11();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var RequestHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
-        try {
-          if (typeof callback !== "function") {
-            throw new InvalidArgumentError("invalid callback");
-          }
-          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
-            throw new InvalidArgumentError("invalid highWaterMark");
-          }
-          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-          }
-          if (method === "CONNECT") {
-            throw new InvalidArgumentError("invalid method");
-          }
-          if (onInfo && typeof onInfo !== "function") {
-            throw new InvalidArgumentError("invalid onInfo callback");
-          }
-          super("UNDICI_REQUEST");
-        } catch (err) {
-          if (util.isStream(body)) {
-            util.destroy(body.on("error", util.nop), err);
+      iteratorMixin,
+      isValidHeaderName,
+      isValidHeaderValue
+    } = require_util10();
+    var { webidl } = require_webidl2();
+    var assert = require("node:assert");
+    var util = require("node:util");
+    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
+    var kHeadersSortedMap = /* @__PURE__ */ 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}.`
+            });
           }
-          throw err;
+          appendHeader(headers, header[0], header[1]);
         }
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.callback = callback;
-        this.res = null;
-        this.abort = null;
-        this.body = body;
-        this.trailers = {};
-        this.context = null;
-        this.onInfo = onInfo || null;
-        this.throwOnError = throwOnError;
-        this.highWaterMark = highWaterMark;
-        if (util.isStream(body)) {
-          body.on("error", (err) => {
-            this.onError(err);
-          });
+      } 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]]);
         }
-        addSignal(this, signal);
+      } else {
+        throw webidl.errors.conversionFailed({
+          prefix: "Headers constructor",
+          argument: "Argument 1",
+          types: ["sequence>", "record"]
+        });
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
+    }
+    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"
+        });
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const { callback, opaque, abort, context: context2, 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 body = new Readable2({ resume, abort, contentType, highWaterMark });
-        this.callback = null;
-        this.res = body;
-        if (callback !== null) {
-          if (this.throwOnError && statusCode >= 400) {
-            this.runInAsyncScope(
-              getResolveErrorBodyCallback,
-              null,
-              { callback, body, contentType, statusCode, statusMessage, headers }
-            );
-          } else {
-            this.runInAsyncScope(callback, null, null, {
-              statusCode,
-              headers,
-              trailers: this.trailers,
-              opaque,
-              body,
-              context: context2
-            });
-          }
+      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;
         }
       }
-      onData(chunk) {
-        const { res } = this;
-        return res.push(chunk);
+      /**
+       * @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());
       }
-      onComplete(trailers) {
-        const { res } = this;
-        removeSignal(this);
-        util.parseHeaders(trailers, this.trailers);
-        res.push(null);
+      clear() {
+        this[kHeadersMap].clear();
+        this[kHeadersSortedMap] = null;
+        this.cookies = null;
       }
-      onError(err) {
-        const { res, callback, body, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
-        if (res) {
-          this.res = null;
-          queueMicrotask(() => {
-            util.destroy(res, err);
+      /**
+       * @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 (body) {
-          this.body = null;
-          util.destroy(body, err);
+        if (lowercaseName === "set-cookie") {
+          (this.cookies ??= []).push(value);
         }
       }
-    };
-    function request2(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve6, reject) => {
-          request2.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve6(data);
-          });
-        });
+      /**
+       * @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 });
       }
-      try {
-        this.dispatch(opts, new RequestHandler(opts, callback));
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
+      /**
+       * @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;
         }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        this[kHeadersMap].delete(name);
       }
-    }
-    module2.exports = request2;
-    module2.exports.RequestHandler = RequestHandler;
-  }
-});
-
-// node_modules/undici/lib/api/api-stream.js
-var require_api_stream2 = __commonJS({
-  "node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
-    "use strict";
-    var { finished, PassThrough } = require("stream");
-    var {
-      InvalidArgumentError,
-      InvalidReturnValueError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { getResolveErrorBodyCallback } = require_util11();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var StreamHandler = class extends AsyncResource {
-      constructor(opts, factory, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+      /**
+       * @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];
         }
-        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
-        try {
-          if (typeof callback !== "function") {
-            throw new InvalidArgumentError("invalid callback");
-          }
-          if (typeof factory !== "function") {
-            throw new InvalidArgumentError("invalid factory");
-          }
-          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-          }
-          if (method === "CONNECT") {
-            throw new InvalidArgumentError("invalid method");
-          }
-          if (onInfo && typeof onInfo !== "function") {
-            throw new InvalidArgumentError("invalid onInfo callback");
-          }
-          super("UNDICI_STREAM");
-        } catch (err) {
-          if (util.isStream(body)) {
-            util.destroy(body.on("error", util.nop), err);
+      }
+      get entries() {
+        const headers = {};
+        if (this[kHeadersMap].size !== 0) {
+          for (const { name, value } of this[kHeadersMap].values()) {
+            headers[name] = value;
           }
-          throw err;
-        }
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.factory = factory;
-        this.callback = callback;
-        this.res = null;
-        this.abort = null;
-        this.context = null;
-        this.trailers = null;
-        this.body = body;
-        this.onInfo = onInfo || null;
-        this.throwOnError = throwOnError || false;
-        if (util.isStream(body)) {
-          body.on("error", (err) => {
-            this.onError(err);
-          });
         }
-        addSignal(this, signal);
+        return headers;
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
+      rawValues() {
+        return this[kHeadersMap].values();
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const { factory, opaque, context: context2, callback, responseHeaders } = this;
-        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            this.onInfo({ statusCode, headers });
+      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;
         }
-        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: context2
-          });
-          if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") {
-            throw new InvalidReturnValueError("expected Writable");
+        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;
           }
-          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);
+          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;
+              }
             }
-            this.callback = null;
-            this.runInAsyncScope(callback2, null, err || null, { opaque: opaque2, trailers });
-            if (err) {
-              abort();
+            if (i !== pivot) {
+              j = i;
+              while (j > left) {
+                array[j] = array[--j];
+              }
+              array[left] = x;
             }
-          });
-        }
-        res.on("drain", resume);
-        this.res = res;
-        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState && res._writableState.needDrain;
-        return needDrain !== true;
-      }
-      onData(chunk) {
-        const { res } = this;
-        return res ? res.write(chunk) : true;
-      }
-      onComplete(trailers) {
-        const { res } = this;
-        removeSignal(this);
-        if (!res) {
-          return;
-        }
-        this.trailers = util.parseHeaders(trailers);
-        res.end();
-      }
-      onError(err) {
-        const { res, callback, opaque, body } = this;
-        removeSignal(this);
-        this.factory = null;
-        if (res) {
-          this.res = null;
-          util.destroy(res, err);
-        } else if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
-        if (body) {
-          this.body = null;
-          util.destroy(body, err);
-        }
-      }
-    };
-    function stream2(opts, factory, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve6, reject) => {
-          stream2.call(this, opts, factory, (err, data) => {
-            return err ? reject(err) : resolve6(data);
-          });
-        });
-      }
-      try {
-        this.dispatch(opts, new StreamHandler(opts, factory, callback));
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
-        }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
-      }
-    }
-    module2.exports = stream2;
-  }
-});
-
-// node_modules/undici/lib/api/api-pipeline.js
-var require_api_pipeline2 = __commonJS({
-  "node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
-    "use strict";
-    var {
-      Readable: Readable2,
-      Duplex,
-      PassThrough
-    } = require("stream");
-    var {
-      InvalidArgumentError,
-      InvalidReturnValueError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
-    var kResume = /* @__PURE__ */ Symbol("resume");
-    var PipelineRequest = class extends Readable2 {
-      constructor() {
-        super({ autoDestroy: true });
-        this[kResume] = null;
-      }
-      _read() {
-        const { [kResume]: resume } = this;
-        if (resume) {
-          this[kResume] = null;
-          resume();
+          }
+          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);
         }
       }
-      _destroy(err, callback) {
-        this._read();
-        callback(err);
-      }
     };
-    var PipelineResponse = class extends Readable2 {
-      constructor(resume) {
-        super({ autoDestroy: true });
-        this[kResume] = resume;
-      }
-      _read() {
-        this[kResume]();
-      }
-      _destroy(err, callback) {
-        if (!err && !this._readableState.endEmitted) {
-          err = new RequestAbortedError();
+    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);
         }
-        callback(err);
       }
-    };
-    var PipelineHandler = class extends AsyncResource {
-      constructor(opts, handler2) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+      // 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 (typeof handler2 !== "function") {
-          throw new InvalidArgumentError("invalid handler");
+        if (this.#guard === "immutable") {
+          throw new TypeError("immutable");
         }
-        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 (!this.#headersList.contains(name, false)) {
+          return;
         }
-        if (method === "CONNECT") {
-          throw new InvalidArgumentError("invalid method");
+        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"
+          });
         }
-        if (onInfo && typeof onInfo !== "function") {
-          throw new InvalidArgumentError("invalid onInfo callback");
+        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"
+          });
         }
-        super("UNDICI_PIPELINE");
-        this.opaque = opaque || null;
-        this.responseHeaders = responseHeaders || null;
-        this.handler = handler2;
-        this.abort = null;
-        this.context = null;
-        this.onInfo = onInfo || null;
-        this.req = new PipelineRequest().on("error", util.nop);
-        this.ret = new Duplex({
-          readableObjectMode: opts.objectMode,
-          autoDestroy: true,
-          read: () => {
-            const { body } = this;
-            if (body && body.resume) {
-              body.resume();
-            }
-          },
-          write: (chunk, encoding, callback) => {
-            const { req } = this;
-            if (req.push(chunk, encoding) || req._readableState.destroyed) {
-              callback();
-            } else {
-              req[kResume] = callback;
-            }
-          },
-          destroy: (err, callback) => {
-            const { body, req, res, ret, abort } = this;
-            if (!err && !ret._readableState.endEmitted) {
-              err = new RequestAbortedError();
-            }
-            if (abort && err) {
-              abort();
-            }
-            util.destroy(body, err);
-            util.destroy(req, err);
-            util.destroy(res, err);
-            removeSignal(this);
-            callback(err);
-          }
-        }).on("prefinish", () => {
-          const { req } = this;
-          req.push(null);
-        });
-        this.res = null;
-        addSignal(this, signal);
+        return this.#headersList.contains(name, false);
       }
-      onConnect(abort, context2) {
-        const { ret, res } = this;
-        assert(!res, "pipeline cannot be retried");
-        if (ret.destroyed) {
-          throw new RequestAbortedError();
+      // 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"
+          });
         }
-        this.abort = abort;
-        this.context = context2;
+        if (this.#guard === "immutable") {
+          throw new TypeError("immutable");
+        }
+        this.#headersList.set(name, value, false);
       }
-      onHeaders(statusCode, rawHeaders, resume) {
-        const { opaque, handler: handler2, context: context2 } = this;
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-            this.onInfo({ statusCode, headers });
-          }
-          return;
+      // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
+      getSetCookie() {
+        webidl.brandCheck(this, _Headers);
+        const list = this.#headersList.cookies;
+        if (list) {
+          return [...list];
         }
-        this.res = new PipelineResponse(resume);
-        let body;
-        try {
-          this.handler = null;
-          const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-          body = this.runInAsyncScope(handler2, null, {
-            statusCode,
-            headers,
-            opaque,
-            body: this.res,
-            context: context2
-          });
-        } catch (err) {
-          this.res.on("error", util.nop);
-          throw err;
+        return [];
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
+      get [kHeadersSortedMap]() {
+        if (this.#headersList[kHeadersSortedMap]) {
+          return this.#headersList[kHeadersSortedMap];
         }
-        if (!body || typeof body.on !== "function") {
-          throw new InvalidReturnValueError("expected Readable");
+        const headers = [];
+        const names = this.#headersList.toSortedArray();
+        const cookies = this.#headersList.cookies;
+        if (cookies === null || cookies.length === 1) {
+          return this.#headersList[kHeadersSortedMap] = names;
         }
-        body.on("data", (chunk) => {
-          const { ret, body: body2 } = this;
-          if (!ret.push(chunk) && body2.pause) {
-            body2.pause();
-          }
-        }).on("error", (err) => {
-          const { ret } = this;
-          util.destroy(ret, err);
-        }).on("end", () => {
-          const { ret } = this;
-          ret.push(null);
-        }).on("close", () => {
-          const { ret } = this;
-          if (!ret._readableState.ended) {
-            util.destroy(ret, new RequestAbortedError());
+        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]);
           }
-        });
-        this.body = body;
+        }
+        return this.#headersList[kHeadersSortedMap] = headers;
       }
-      onData(chunk) {
-        const { res } = this;
-        return res.push(chunk);
+      [util.inspect.custom](depth, options) {
+        options.depth ??= depth;
+        return `Headers ${util.formatWithOptions(options, this.#headersList.entries)}`;
       }
-      onComplete(trailers) {
-        const { res } = this;
-        res.push(null);
+      static getHeadersGuard(o) {
+        return o.#guard;
       }
-      onError(err) {
-        const { ret } = this;
-        this.handler = null;
-        util.destroy(ret, err);
+      static setHeadersGuard(o, guard) {
+        o.#guard = guard;
+      }
+      static getHeadersList(o) {
+        return o.#headersList;
+      }
+      static setHeadersList(o, list) {
+        o.#headersList = list;
       }
     };
-    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);
+    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
       }
-    }
-    module2.exports = pipeline;
+    });
+    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/api/api-upgrade.js
-var require_api_upgrade2 = __commonJS({
-  "node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js
+var require_response2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js"(exports2, module2) {
     "use strict";
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
-    var { AsyncResource } = require("async_hooks");
+    var { Headers, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers2();
+    var { extractBody, cloneBody, mixinBody, hasFinalizationRegistry, streamRegistry, bodyUnusable } = require_body2();
     var util = require_util9();
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
-    var UpgradeHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+    var nodeUtil = require("node:util");
+    var { kEnumerableProperty } = util;
+    var {
+      isValidReasonPhrase,
+      isCancelled,
+      isAborted,
+      isBlobLike,
+      serializeJavascriptValueToJSONString,
+      isErrorLike,
+      isomorphicEncode,
+      environmentSettingsObject: relevantRealm
+    } = require_util10();
+    var {
+      redirectStatusSet,
+      nullBodyStatus
+    } = require_constants8();
+    var { kState, kHeaders } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var { FormData: FormData2 } = require_formdata2();
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    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);
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        const bytes = textEncoder.encode(
+          serializeJavascriptValueToJSONString(data)
+        );
+        const body = extractBody(bytes);
+        const responseObject = fromInnerResponse(makeResponse({}), "response");
+        initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
+        return responseObject;
+      }
+      // Creates a redirect Response that redirects to url with status status.
+      static redirect(url2, status = 302) {
+        webidl.argumentLengthCheck(arguments, 1, "Response.redirect");
+        url2 = webidl.converters.USVString(url2);
+        status = webidl.converters["unsigned short"](status);
+        let parsedURL;
+        try {
+          parsedURL = new URL(url2, relevantRealm.settingsObject.baseUrl);
+        } catch (err) {
+          throw new TypeError(`Failed to parse URL from ${url2}`, { cause: err });
         }
-        const { signal, opaque, responseHeaders } = opts;
-        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        if (!redirectStatusSet.has(status)) {
+          throw new RangeError(`Invalid status code ${status}`);
         }
-        super("UNDICI_UPGRADE");
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.callback = callback;
-        this.abort = null;
-        this.context = null;
-        addSignal(this, signal);
+        const responseObject = fromInnerResponse(makeResponse({}), "immutable");
+        responseObject[kState].status = status;
+        const value = isomorphicEncode(URLSerializer(parsedURL));
+        responseObject[kState].headersList.append("location", value, true);
+        return responseObject;
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
+      // https://fetch.spec.whatwg.org/#dom-response
+      constructor(body = null, init = {}) {
+        webidl.util.markAsUncloneable(this);
+        if (body === kConstruct) {
+          return;
         }
-        this.abort = abort;
-        this.context = null;
-      }
-      onHeaders() {
-        throw new SocketError("bad upgrade", null);
-      }
-      onUpgrade(statusCode, rawHeaders, socket) {
-        const { callback, opaque, context: context2 } = this;
-        assert.strictEqual(statusCode, 101);
-        removeSignal(this);
-        this.callback = null;
-        const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        this.runInAsyncScope(callback, null, null, {
-          headers,
-          socket,
-          opaque,
-          context: context2
-        });
-      }
-      onError(err) {
-        const { callback, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
+        if (body !== null) {
+          body = webidl.converters.BodyInit(body);
+        }
+        init = webidl.converters.ResponseInit(init);
+        this[kState] = makeResponse({});
+        this[kHeaders] = new Headers(kConstruct);
+        setHeadersGuard(this[kHeaders], "response");
+        setHeadersList(this[kHeaders], this[kState].headersList);
+        let bodyWithType = null;
+        if (body != null) {
+          const [extractedBody, type2] = extractBody(body);
+          bodyWithType = { body: extractedBody, type: type2 };
         }
+        initializeResponse(this, init, bodyWithType);
       }
-    };
-    function upgrade(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve6, reject) => {
-          upgrade.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve6(data);
-          });
-        });
+      // Returns response’s type, e.g., "cors".
+      get type() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].type;
       }
-      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;
+      // Returns response’s URL, if it has one; otherwise the empty string.
+      get url() {
+        webidl.brandCheck(this, _Response);
+        const urlList = this[kState].urlList;
+        const url2 = urlList[urlList.length - 1] ?? null;
+        if (url2 === null) {
+          return "";
         }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        return URLSerializer(url2, true);
       }
-    }
-    module2.exports = upgrade;
-  }
-});
-
-// node_modules/undici/lib/api/api-connect.js
-var require_api_connect2 = __commonJS({
-  "node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
-    "use strict";
-    var { AsyncResource } = require("async_hooks");
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
-    var util = require_util9();
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var ConnectHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
-        }
-        const { signal, opaque, responseHeaders } = opts;
-        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-        }
-        super("UNDICI_CONNECT");
-        this.opaque = opaque || null;
-        this.responseHeaders = responseHeaders || null;
-        this.callback = callback;
-        this.abort = null;
-        addSignal(this, signal);
+      // Returns whether response was obtained through a redirect.
+      get redirected() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].urlList.length > 1;
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
+      // Returns response’s status.
+      get status() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status;
       }
-      onHeaders() {
-        throw new SocketError("bad connect", null);
+      // Returns whether response’s status is an ok status.
+      get ok() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status >= 200 && this[kState].status <= 299;
       }
-      onUpgrade(statusCode, rawHeaders, socket) {
-        const { callback, opaque, context: context2 } = 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: context2
-        });
+      // Returns response’s status message.
+      get statusText() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].statusText;
       }
-      onError(err) {
-        const { callback, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
+      // Returns response’s headers as Headers.
+      get headers() {
+        webidl.brandCheck(this, _Response);
+        return this[kHeaders];
       }
-    };
-    function connect(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve6, reject) => {
-          connect.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve6(data);
-          });
-        });
+      get body() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      try {
-        const connectHandler = new ConnectHandler(opts, callback);
-        this.dispatch({ ...opts, method: "CONNECT" }, connectHandler);
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
+      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 opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        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]));
       }
-    }
-    module2.exports = connect;
-  }
-});
-
-// node_modules/undici/lib/api/index.js
-var require_api2 = __commonJS({
-  "node_modules/undici/lib/api/index.js"(exports2, module2) {
-    "use strict";
-    module2.exports.request = require_api_request2();
-    module2.exports.stream = require_api_stream2();
-    module2.exports.pipeline = require_api_pipeline2();
-    module2.exports.upgrade = require_api_upgrade2();
-    module2.exports.connect = require_api_connect2();
-  }
-});
-
-// node_modules/undici/lib/mock/mock-errors.js
-var require_mock_errors2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
-    "use strict";
-    var { UndiciError } = require_errors2();
-    var MockNotMatchedError = class _MockNotMatchedError extends UndiciError {
-      constructor(message) {
-        super(message);
-        Error.captureStackTrace(this, _MockNotMatchedError);
-        this.name = "MockNotMatchedError";
-        this.message = message || "The request does not match any registered mock dispatches";
-        this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED";
+      [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)}`;
       }
     };
-    module2.exports = {
-      MockNotMatchedError
-    };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-symbols.js
-var require_mock_symbols2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      kAgent: /* @__PURE__ */ Symbol("agent"),
-      kOptions: /* @__PURE__ */ Symbol("options"),
-      kFactory: /* @__PURE__ */ Symbol("factory"),
-      kDispatches: /* @__PURE__ */ Symbol("dispatches"),
-      kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
-      kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
-      kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
-      kContentLength: /* @__PURE__ */ Symbol("content length"),
-      kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
-      kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
-      kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
-      kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
-      kClose: /* @__PURE__ */ Symbol("close"),
-      kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
-      kOrigin: /* @__PURE__ */ Symbol("origin"),
-      kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
-      kNetConnect: /* @__PURE__ */ Symbol("net connect"),
-      kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
-      kConnected: /* @__PURE__ */ Symbol("connected")
-    };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-utils.js
-var require_mock_utils2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
-    "use strict";
-    var { MockNotMatchedError } = require_mock_errors2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kOriginalDispatch,
-      kOrigin,
-      kGetNetConnect
-    } = require_mock_symbols2();
-    var { buildURL, nop } = require_util9();
-    var { STATUS_CODES } = require("http");
-    var {
-      types: {
-        isPromise
-      }
-    } = require("util");
-    function matchValue(match, value) {
-      if (typeof match === "string") {
-        return match === value;
+    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
       }
-      if (match instanceof RegExp) {
-        return match.test(value);
+    });
+    Object.defineProperties(Response, {
+      json: kEnumerableProperty,
+      redirect: kEnumerableProperty,
+      error: kEnumerableProperty
+    });
+    function cloneResponse(response) {
+      if (response.internalResponse) {
+        return filterResponse(
+          cloneResponse(response.internalResponse),
+          response.type
+        );
       }
-      if (typeof match === "function") {
-        return match(value) === true;
+      const newResponse = makeResponse({ ...response, body: null });
+      if (response.body != null) {
+        newResponse.body = cloneBody(newResponse, response.body);
       }
-      return false;
+      return newResponse;
     }
-    function lowerCaseEntries(headers) {
-      return Object.fromEntries(
-        Object.entries(headers).map(([headerName, headerValue]) => {
-          return [headerName.toLocaleLowerCase(), headerValue];
-        })
+    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 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];
-          }
+    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;
         }
-        return void 0;
-      } else if (typeof headers.get === "function") {
-        return headers.get(key);
+      });
+    }
+    function filterResponse(response, type2) {
+      if (type2 === "basic") {
+        return makeFilteredResponse(response, {
+          type: "basic",
+          headersList: response.headersList
+        });
+      } else if (type2 === "cors") {
+        return makeFilteredResponse(response, {
+          type: "cors",
+          headersList: response.headersList
+        });
+      } else if (type2 === "opaque") {
+        return makeFilteredResponse(response, {
+          type: "opaque",
+          urlList: Object.freeze([]),
+          status: 0,
+          statusText: "",
+          body: null
+        });
+      } else if (type2 === "opaqueredirect") {
+        return makeFilteredResponse(response, {
+          type: "opaqueredirect",
+          status: 0,
+          statusText: "",
+          headersList: [],
+          body: null
+        });
       } else {
-        return lowerCaseEntries(headers)[key.toLocaleLowerCase()];
+        assert(false);
       }
     }
-    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 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 matchHeaders(mockDispatch2, headers) {
-      if (typeof mockDispatch2.headers === "function") {
-        if (Array.isArray(headers)) {
-          headers = buildHeadersFromArray(headers);
-        }
-        return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {});
+    function initializeResponse(response, init, body) {
+      if (init.status !== null && (init.status < 200 || init.status > 599)) {
+        throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
       }
-      if (typeof mockDispatch2.headers === "undefined") {
-        return true;
+      if ("statusText" in init && init.statusText != null) {
+        if (!isValidReasonPhrase(String(init.statusText))) {
+          throw new TypeError("Invalid statusText");
+        }
       }
-      if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") {
-        return false;
+      if ("status" in init && init.status != null) {
+        response[kState].status = init.status;
       }
-      for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) {
-        const headerValue = getHeaderByName(headers, matchHeaderName);
-        if (!matchValue(matchHeaderValue, headerValue)) {
-          return false;
-        }
+      if ("statusText" in init && init.statusText != null) {
+        response[kState].statusText = init.statusText;
       }
-      return true;
-    }
-    function safeUrl(path11) {
-      if (typeof path11 !== "string") {
-        return path11;
+      if ("headers" in init && init.headers != null) {
+        fill(response[kHeaders], init.headers);
       }
-      const pathSegments = path11.split("?");
-      if (pathSegments.length !== 2) {
-        return path11;
+      if (body) {
+        if (nullBodyStatus.includes(response.status)) {
+          throw webidl.errors.exception({
+            header: "Response constructor",
+            message: `Invalid response status code ${response.status}`
+          });
+        }
+        response[kState].body = body.body;
+        if (body.type != null && !response[kState].headersList.contains("content-type", true)) {
+          response[kState].headersList.append("content-type", body.type, true);
+        }
       }
-      const qp = new URLSearchParams(pathSegments.pop());
-      qp.sort();
-      return [...pathSegments, qp.toString()].join("?");
-    }
-    function matchKey(mockDispatch2, { path: path11, method, body, headers }) {
-      const pathMatch = matchValue(mockDispatch2.path, path11);
-      const methodMatch = matchValue(mockDispatch2.method, method);
-      const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
-      const headersMatch = matchHeaders(mockDispatch2, headers);
-      return pathMatch && methodMatch && bodyMatch && headersMatch;
     }
-    function getResponseData2(data) {
-      if (Buffer.isBuffer(data)) {
-        return data;
-      } else if (typeof data === "object") {
-        return JSON.stringify(data);
-      } else {
-        return data.toString();
+    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;
     }
-    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: path11 }) => matchValue(safeUrl(path11), resolvedPath));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
+    webidl.converters.ReadableStream = webidl.interfaceConverter(
+      ReadableStream
+    );
+    webidl.converters.FormData = webidl.interfaceConverter(
+      FormData2
+    );
+    webidl.converters.URLSearchParams = webidl.interfaceConverter(
+      URLSearchParams
+    );
+    webidl.converters.XMLHttpRequestBodyInit = function(V, prefix, name) {
+      if (typeof V === "string") {
+        return webidl.converters.USVString(V, prefix, name);
       }
-      matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`);
+      if (isBlobLike(V)) {
+        return webidl.converters.Blob(V, prefix, name, { strict: false });
       }
-      matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`);
+      if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) {
+        return webidl.converters.BufferSource(V, prefix, name);
       }
-      matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers}'`);
+      if (util.isFormDataLike(V)) {
+        return webidl.converters.FormData(V, prefix, name, { strict: false });
       }
-      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);
+      if (V instanceof URLSearchParams) {
+        return webidl.converters.URLSearchParams(V, prefix, name);
       }
-    }
-    function buildKey(opts) {
-      const { path: path11, method, body, headers, query } = opts;
-      return {
-        path: path11,
-        method,
-        body,
-        headers,
-        query
-      };
-    }
-    function generateKeyValues(data) {
-      return Object.entries(data).reduce((keyValuePairs, [key, value]) => [
-        ...keyValuePairs,
-        Buffer.from(`${key}`),
-        Array.isArray(value) ? value.map((x) => Buffer.from(`${x}`)) : Buffer.from(`${value}`)
-      ], []);
-    }
-    function getStatusText(statusCode) {
-      return STATUS_CODES[statusCode] || "unknown";
-    }
-    async function getResponse(body) {
-      const buffers = [];
-      for await (const data of body) {
-        buffers.push(data);
+      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);
       }
-      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) };
+      if (V?.[Symbol.asyncIterator]) {
+        return V;
       }
-      const { data: { statusCode, data, headers, trailers, error: error3 }, delay: delay2, persist } = mockDispatch2;
-      const { timesInvoked, times } = mockDispatch2;
-      mockDispatch2.consumed = !persist && timesInvoked >= times;
-      mockDispatch2.pending = timesInvoked < times;
-      if (error3 !== null) {
-        deleteMockDispatch(this[kDispatches], key);
-        handler2.onError(error3);
-        return true;
+      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
       }
-      if (typeof delay2 === "number" && delay2 > 0) {
-        setTimeout(() => {
-          handleReply(this[kDispatches]);
-        }, delay2);
-      } else {
-        handleReply(this[kDispatches]);
+    ]);
+    module2.exports = {
+      isNetworkError,
+      makeNetworkError,
+      makeResponse,
+      makeAppropriateNetworkError,
+      filterResponse,
+      Response,
+      cloneResponse,
+      fromInnerResponse
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js
+var require_dispatcher_weakref2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js"(exports2, module2) {
+    "use strict";
+    var { kConnected, kSize } = require_symbols6();
+    var CompatWeakRef = class {
+      constructor(value) {
+        this.value = value;
       }
-      function handleReply(mockDispatches, _data = data) {
-        const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
-        const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
-        if (isPromise(body)) {
-          body.then((newData) => handleReply(mockDispatches, newData));
-          return;
-        }
-        const responseData = getResponseData2(body);
-        const responseHeaders = generateKeyValues(headers);
-        const responseTrailers = generateKeyValues(trailers);
-        handler2.abort = nop;
-        handler2.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode));
-        handler2.onData(Buffer.from(responseData));
-        handler2.onComplete(responseTrailers);
-        deleteMockDispatch(mockDispatches, key);
+      deref() {
+        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
       }
-      function resume() {
+    };
+    var CompatFinalizer = class {
+      constructor(finalizer) {
+        this.finalizer = finalizer;
       }
-      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 (error3) {
-            if (error3 instanceof MockNotMatchedError) {
-              const netConnect = agent[kGetNetConnect]();
-              if (netConnect === false) {
-                throw new MockNotMatchedError(`${error3.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(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
-              }
-            } else {
-              throw error3;
+      register(dispatcher, key) {
+        if (dispatcher.on) {
+          dispatcher.on("disconnect", () => {
+            if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {
+              this.finalizer(key);
             }
-          }
-        } else {
-          originalDispatch.call(this, opts, handler2);
+          });
         }
-      };
-    }
-    function checkNetConnect(netConnect, origin) {
-      const url2 = new URL(origin);
-      if (netConnect === true) {
-        return true;
-      } else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url2.host))) {
-        return true;
       }
-      return false;
-    }
-    function buildMockOptions(opts) {
-      if (opts) {
-        const { agent, ...mockOptions } = opts;
-        return mockOptions;
+      unregister(key) {
       }
-    }
-    module2.exports = {
-      getResponseData: getResponseData2,
-      getMockDispatch,
-      addMockDispatch,
-      deleteMockDispatch,
-      buildKey,
-      generateKeyValues,
-      matchValue,
-      getResponse,
-      getStatusText,
-      mockDispatch,
-      buildMockDispatch,
-      checkNetConnect,
-      buildMockOptions,
-      getHeaderByName
+    };
+    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/mock/mock-interceptor.js
-var require_mock_interceptor2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js
+var require_request4 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js"(exports2, module2) {
     "use strict";
-    var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils2();
+    var { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body2();
+    var { Headers, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers2();
+    var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
+    var util = require_util9();
+    var nodeUtil = require("node:util");
     var {
-      kDispatches,
-      kDispatchKey,
-      kDefaultHeaders,
-      kDefaultTrailers,
-      kContentLength,
-      kMockDispatch
-    } = require_mock_symbols2();
-    var { InvalidArgumentError } = require_errors2();
-    var { buildURL } = require_util9();
-    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");
+      isValidHTTPToken,
+      sameOrigin,
+      environmentSettingsObject
+    } = require_util10();
+    var {
+      forbiddenMethodsSet,
+      corsSafeListedMethodsSet,
+      referrerPolicy,
+      requestRedirect,
+      requestMode,
+      requestCredentials,
+      requestCache,
+      requestDuplex
+    } = require_constants8();
+    var { kEnumerableProperty, normalizedMethodRecordsBase, normalizedMethodRecords } = util;
+    var { kHeaders, kSignal, kState, kDispatcher } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    var assert = require("node:assert");
+    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("node:events");
+    var kAbortController = /* @__PURE__ */ 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);
+          }
         }
-        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");
+    }
+    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;
         }
-        this[kMockDispatch].times = repeatTimes;
-        return this;
-      }
-    };
-    var MockInterceptor = class {
-      constructor(opts, mockDispatches) {
-        if (typeof opts !== "object") {
-          throw new InvalidArgumentError("opts must be an object");
+        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];
         }
-        if (typeof opts.path === "undefined") {
-          throw new InvalidArgumentError("opts.path must be defined");
+        const origin = environmentSettingsObject.settingsObject.origin;
+        let window2 = "client";
+        if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
+          window2 = request2.window;
         }
-        if (typeof opts.method === "undefined") {
-          opts.method = "GET";
+        if (init.window != null) {
+          throw new TypeError(`'window' option '${window2}' must be null`);
         }
-        if (typeof opts.path === "string") {
-          if (opts.query) {
-            opts.path = buildURL(opts.path, opts.query);
+        if ("window" in init) {
+          window2 = "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: window2,
+          // 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 {
-            const parsedURL = new URL(opts.path, "data://");
-            opts.path = parsedURL.pathname + parsedURL.search;
+            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 (typeof opts.method === "string") {
-          opts.method = opts.method.toUpperCase();
+        if (init.referrerPolicy !== void 0) {
+          request2.referrerPolicy = init.referrerPolicy;
         }
-        this[kDispatchKey] = buildKey(opts);
-        this[kDispatches] = mockDispatches;
-        this[kDefaultHeaders] = {};
-        this[kDefaultTrailers] = {};
-        this[kContentLength] = false;
+        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;
       }
-      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 };
+      // Returns request’s HTTP method, which is "GET" by default.
+      get method() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].method;
       }
-      validateReplyParameters(statusCode, data, responseOptions) {
-        if (typeof statusCode === "undefined") {
-          throw new InvalidArgumentError("statusCode must be defined");
-        }
-        if (typeof data === "undefined") {
-          throw new InvalidArgumentError("data must be defined");
+      // 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 (typeof responseOptions !== "object") {
-          throw new InvalidArgumentError("responseOptions must be an object");
+        if (this[kState].referrer === "client") {
+          return "about:client";
         }
+        return this[kState].referrer.toString();
       }
-      /**
-       * Mock an undici request with a defined reply.
-       */
-      reply(replyData) {
-        if (typeof replyData === "function") {
-          const wrappedDefaultsCallback = (opts) => {
-            const resolvedData = replyData(opts);
-            if (typeof resolvedData !== "object") {
-              throw new InvalidArgumentError("reply options callback must return an object");
-            }
-            const { statusCode: statusCode2, data: data2 = "", responseOptions: responseOptions2 = {} } = resolvedData;
-            this.validateReplyParameters(statusCode2, data2, responseOptions2);
-            return {
-              ...this.createMockScopeDispatchData(statusCode2, data2, responseOptions2)
-            };
-          };
-          const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback);
-          return new MockScope(newMockDispatch2);
-        }
-        const [statusCode, data = "", responseOptions = {}] = [...arguments];
-        this.validateReplyParameters(statusCode, data, responseOptions);
-        const dispatchData = this.createMockScopeDispatchData(statusCode, data, responseOptions);
-        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData);
-        return new MockScope(newMockDispatch);
+      // 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;
       }
-      /**
-       * Mock an undici request with a defined error.
-       */
-      replyWithError(error3) {
-        if (typeof error3 === "undefined") {
-          throw new InvalidArgumentError("error must be defined");
-        }
-        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error: error3 });
-        return new MockScope(newMockDispatch);
+      // 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;
       }
-      /**
-       * 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;
+      // 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;
       }
-      /**
-       * 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;
+      // 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;
       }
-      /**
-       * Set reply content length header for replies on the interceptor
-       */
-      replyContentLength() {
-        this[kContentLength] = true;
-        return this;
+      // 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;
       }
-    };
-    module2.exports.MockInterceptor = MockInterceptor;
-    module2.exports.MockScope = MockScope;
-  }
-});
-
-// node_modules/undici/lib/mock/mock-client.js
-var require_mock_client2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
-    "use strict";
-    var { promisify } = require("util");
-    var Client = require_client2();
-    var { buildMockDispatch } = require_mock_utils2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kClose,
-      kOriginalClose,
-      kOrigin,
-      kOriginalDispatch,
-      kConnected
-    } = require_mock_symbols2();
-    var { MockInterceptor } = require_mock_interceptor2();
-    var Symbols = require_symbols6();
-    var { InvalidArgumentError } = require_errors2();
-    var MockClient = class extends Client {
-      constructor(origin, opts) {
-        super(origin, opts);
-        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
-        }
-        this[kMockAgent] = opts.agent;
-        this[kOrigin] = origin;
-        this[kDispatches] = [];
-        this[kConnected] = 1;
-        this[kOriginalDispatch] = this.dispatch;
-        this[kOriginalClose] = this.close.bind(this);
-        this.dispatch = buildMockDispatch.call(this);
-        this.close = this[kClose];
+      // 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;
       }
-      get [Symbols.kConnected]() {
-        return this[kConnected];
+      // 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;
       }
-      /**
-       * Sets up the base interceptor for mocking replies from undici.
-       */
-      intercept(opts) {
-        return new MockInterceptor(opts, this[kDispatches]);
+      // Returns a boolean indicating whether or not request is for a reload
+      // navigation.
+      get isReloadNavigation() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].reloadNavigation;
       }
-      async [kClose]() {
-        await promisify(this[kOriginalClose])();
-        this[kConnected] = 0;
-        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
+      // 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;
       }
-    };
-    module2.exports = MockClient;
-  }
-});
-
-// node_modules/undici/lib/mock/mock-pool.js
-var require_mock_pool2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
-    "use strict";
-    var { promisify } = require("util");
-    var Pool = require_pool2();
-    var { buildMockDispatch } = require_mock_utils2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kClose,
-      kOriginalClose,
-      kOrigin,
-      kOriginalDispatch,
-      kConnected
-    } = require_mock_symbols2();
-    var { MockInterceptor } = require_mock_interceptor2();
-    var Symbols = require_symbols6();
-    var { InvalidArgumentError } = require_errors2();
-    var MockPool = class extends Pool {
-      constructor(origin, opts) {
-        super(origin, opts);
-        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
-        }
-        this[kMockAgent] = opts.agent;
-        this[kOrigin] = origin;
-        this[kDispatches] = [];
-        this[kConnected] = 1;
-        this[kOriginalDispatch] = this.dispatch;
-        this[kOriginalClose] = this.close.bind(this);
-        this.dispatch = buildMockDispatch.call(this);
-        this.close = this[kClose];
+      // 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 [Symbols.kConnected]() {
-        return this[kConnected];
+      get body() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      /**
-       * Sets up the base interceptor for mocking replies from undici.
-       */
-      intercept(opts) {
-        return new MockInterceptor(opts, this[kDispatches]);
+      get bodyUsed() {
+        webidl.brandCheck(this, _Request);
+        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
       }
-      async [kClose]() {
-        await promisify(this[kOriginalClose])();
-        this[kConnected] = 0;
-        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
+      get duplex() {
+        webidl.brandCheck(this, _Request);
+        return "half";
       }
-    };
-    module2.exports = MockPool;
-  }
-});
-
-// node_modules/undici/lib/mock/pluralizer.js
-var require_pluralizer2 = __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;
+      // 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]));
       }
-      pluralize(count) {
-        const one = count === 1;
-        const keys = one ? singulars : plurals;
-        const noun = one ? this.singular : this.plural;
-        return { ...keys, count, noun };
+      [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)}`;
       }
     };
-  }
-});
-
-// node_modules/undici/lib/mock/pending-interceptors-formatter.js
-var require_pending_interceptors_formatter2 = __commonJS({
-  "node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
-    "use strict";
-    var { Transform } = require("stream");
-    var { Console } = require("console");
-    module2.exports = class PendingInterceptorsFormatter {
-      constructor({ disableColors } = {}) {
-        this.transform = new Transform({
-          transform(chunk, _enc, cb) {
-            cb(null, chunk);
-          }
-        });
-        this.logger = new Console({
-          stdout: this.transform,
-          inspectOptions: {
-            colors: !disableColors && !process.env.CI
-          }
-        });
+    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);
       }
-      format(pendingInterceptors) {
-        const withPrettyHeaders = pendingInterceptors.map(
-          ({ method, path: path11, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
-            Method: method,
-            Origin: origin,
-            Path: path11,
-            "Status code": statusCode,
-            Persistent: persist ? "\u2705" : "\u274C",
-            Invocations: timesInvoked,
-            Remaining: persist ? Infinity : times - timesInvoked
-          })
-        );
-        this.logger.table(withPrettyHeaders);
-        return this.transform.read().toString();
+      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);
     };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-agent.js
-var require_mock_agent2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
-    "use strict";
-    var { kClients } = require_symbols6();
-    var Agent = require_agent2();
-    var {
-      kAgent,
-      kMockAgentSet,
-      kMockAgentGet,
-      kDispatches,
-      kIsMockActive,
-      kNetConnect,
-      kGetNetConnect,
-      kOptions,
-      kFactory
-    } = require_mock_symbols2();
-    var MockClient = require_mock_client2();
-    var MockPool = require_mock_pool2();
-    var { matchValue, buildMockOptions } = require_mock_utils2();
-    var { InvalidArgumentError, UndiciError } = require_errors2();
-    var Dispatcher = require_dispatcher2();
-    var Pluralizer = require_pluralizer2();
-    var PendingInterceptorsFormatter = require_pending_interceptors_formatter2();
-    var FakeWeakRef = class {
-      constructor(value) {
-        this.value = value;
+    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
       }
-      deref() {
-        return this.value;
+    ]);
+    module2.exports = { Request, makeRequest, fromInnerRequest, cloneRequest };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js
+var require_fetch2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js"(exports2, module2) {
+    "use strict";
+    var {
+      makeNetworkError,
+      makeAppropriateNetworkError,
+      filterResponse,
+      makeResponse,
+      fromInnerResponse
+    } = require_response2();
+    var { HeadersList } = require_headers2();
+    var { Request, cloneRequest } = require_request4();
+    var zlib2 = 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_util10();
+    var { kState, kDispatcher } = require_symbols7();
+    var assert = require("node:assert");
+    var { safelyExtractBody, extractBody } = require_body2();
+    var {
+      redirectStatusSet,
+      nullBodyStatus,
+      safeMethodsSet,
+      requestBodyHeader,
+      subresourceSet
+    } = require_constants8();
+    var EE = require("node:events");
+    var { Readable: Readable2, pipeline, finished } = require("node:stream");
+    var { addAbortListener, isErrored, isReadable, bufferToLowerCasedHeaderName } = require_util9();
+    var { dataURLProcessor, serializeAMimeType, minimizeSupportedMimeType } = require_data_url2();
+    var { getGlobalDispatcher } = require_global4();
+    var { webidl } = require_webidl2();
+    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";
       }
-    };
-    var MockAgent = class extends Dispatcher {
-      constructor(opts) {
-        super(opts);
-        this[kNetConnect] = true;
-        this[kIsMockActive] = true;
-        if (opts && opts.agent && typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
+      terminate(reason) {
+        if (this.state !== "ongoing") {
+          return;
         }
-        const agent = opts && opts.agent ? opts.agent : new Agent(opts);
-        this[kAgent] = agent;
-        this[kClients] = agent[kClients];
-        this[kOptions] = buildMockOptions(opts);
+        this.state = "terminated";
+        this.connection?.destroy(reason);
+        this.emit("terminated", reason);
       }
-      get(origin) {
-        let dispatcher = this[kMockAgentGet](origin);
-        if (!dispatcher) {
-          dispatcher = this[kFactory](origin);
-          this[kMockAgentSet](origin, dispatcher);
+      // https://fetch.spec.whatwg.org/#fetch-controller-abort
+      abort(error3) {
+        if (this.state !== "ongoing") {
+          return;
         }
-        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.");
+        this.state = "aborted";
+        if (!error3) {
+          error3 = new DOMException("The operation was aborted.", "AbortError");
         }
+        this.serializedAbortReason = error3;
+        this.connection?.destroy(error3);
+        this.emit("terminated", error3);
       }
-      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];
+    };
+    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;
       }
-      [kMockAgentSet](origin, dispatcher) {
-        this[kClients].set(origin, new FakeWeakRef(dispatcher));
+      const request2 = requestObject[kState];
+      if (requestObject.signal.aborted) {
+        abortFetch(p, request2, null, requestObject.signal.reason);
+        return p.promise;
       }
-      [kFactory](origin) {
-        const mockOptions = Object.assign({ agent: this }, this[kOptions]);
-        return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions);
+      const globalObject = request2.client.globalObject;
+      if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") {
+        request2.serviceWorkers = "none";
       }
-      [kMockAgentGet](origin) {
-        const ref = this[kClients].get(origin);
-        if (ref) {
-          return ref.deref();
+      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);
         }
-        if (typeof origin !== "string") {
-          const dispatcher = this[kFactory]("http://localhost:9999");
-          this[kMockAgentSet](origin, dispatcher);
-          return dispatcher;
+      );
+      const processResponse = (response) => {
+        if (locallyAborted) {
+          return;
         }
-        for (const [keyMatcher, nonExplicitRef] of Array.from(this[kClients])) {
-          const nonExplicitDispatcher = nonExplicitRef.deref();
-          if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) {
-            const dispatcher = this[kFactory](origin);
-            this[kMockAgentSet](origin, dispatcher);
-            dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches];
-            return dispatcher;
-          }
+        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;
       }
-      [kGetNetConnect]() {
-        return this[kNetConnect];
+      if (!response.urlList?.length) {
+        return;
       }
-      pendingInterceptors() {
-        const mockAgentClients = this[kClients];
-        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope.deref()[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
+      const originalURL = response.urlList[0];
+      let timingInfo = response.timingInfo;
+      let cacheState = response.cacheState;
+      if (!urlIsHttpHttpsScheme(originalURL)) {
+        return;
       }
-      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());
+      if (timingInfo === null) {
+        return;
       }
-    };
-    module2.exports = MockAgent;
-  }
-});
-
-// node_modules/undici/lib/proxy-agent.js
-var require_proxy_agent2 = __commonJS({
-  "node_modules/undici/lib/proxy-agent.js"(exports2, module2) {
-    "use strict";
-    var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols6();
-    var { URL: URL2 } = require("url");
-    var Agent = require_agent2();
-    var Pool = require_pool2();
-    var DispatcherBase = require_dispatcher_base2();
-    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
-    var buildConnector = require_connect2();
-    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
-    var kClient = /* @__PURE__ */ Symbol("proxy client");
-    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
-    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
-    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
-    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
-    function defaultProtocolPort(protocol) {
-      return protocol === "https:" ? 443 : 80;
+      if (!response.timingAllowPassed) {
+        timingInfo = createOpaqueTimingInfo({
+          startTime: timingInfo.startTime
+        });
+        cacheState = "";
+      }
+      timingInfo.endTime = coarsenedSharedCurrentTime();
+      response.timingInfo = timingInfo;
+      markResourceTiming(
+        timingInfo,
+        originalURL.href,
+        initiatorType,
+        globalThis,
+        cacheState
+      );
     }
-    function buildProxyOptions(opts) {
-      if (typeof opts === "string") {
-        opts = { uri: opts };
+    var markResourceTiming = performance.markResourceTiming;
+    function abortFetch(p, request2, responseObject, error3) {
+      if (p) {
+        p.reject(error3);
       }
-      if (!opts || !opts.uri) {
-        throw new InvalidArgumentError("Proxy opts.uri is mandatory");
+      if (request2.body != null && isReadable(request2.body?.stream)) {
+        request2.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
+          }
+          throw err;
+        });
       }
-      return {
-        uri: opts.uri,
-        protocol: opts.protocol || "https"
-      };
-    }
-    function defaultFactory(origin, opts) {
-      return new Pool(origin, opts);
-    }
-    var ProxyAgent = class extends DispatcherBase {
-      constructor(opts) {
-        super(opts);
-        this[kProxy] = buildProxyOptions(opts);
-        this[kAgent] = new Agent(opts);
-        this[kInterceptors] = opts.interceptors && opts.interceptors.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : [];
-        if (typeof opts === "string") {
-          opts = { uri: opts };
-        }
-        if (!opts || !opts.uri) {
-          throw new InvalidArgumentError("Proxy opts.uri is mandatory");
-        }
-        const { clientFactory = defaultFactory } = opts;
-        if (typeof clientFactory !== "function") {
-          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
-        }
-        this[kRequestTls] = opts.requestTls;
-        this[kProxyTls] = opts.proxyTls;
-        this[kProxyHeaders] = opts.headers || {};
-        const resolvedUrl = new URL2(opts.uri);
-        const { origin, port, host, username, password } = resolvedUrl;
-        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 });
-        this[kClient] = clientFactory(resolvedUrl, { connect });
-        this[kAgent] = new Agent({
-          ...opts,
-          connect: async (opts2, callback) => {
-            let requestedHost = opts2.host;
-            if (!opts2.port) {
-              requestedHost += `:${defaultProtocolPort(opts2.protocol)}`;
-            }
-            try {
-              const { socket, statusCode } = await this[kClient].connect({
-                origin,
-                port,
-                path: requestedHost,
-                signal: opts2.signal,
-                headers: {
-                  ...this[kProxyHeaders],
-                  host
-                }
-              });
-              if (statusCode !== 200) {
-                socket.on("error", () => {
-                }).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) {
-              callback(err);
-            }
+      if (responseObject == null) {
+        return;
+      }
+      const response = responseObject[kState];
+      if (response.body != null && isReadable(response.body?.stream)) {
+        response.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
           }
+          throw err;
         });
       }
-      dispatch(opts, handler2) {
-        const { host } = new URL2(opts.origin);
-        const headers = buildHeaders(opts.headers);
-        throwIfProxyAuthIsSent(headers);
-        return this[kAgent].dispatch(
-          {
-            ...opts,
-            headers: {
-              ...headers,
-              host
-            }
-          },
-          handler2
-        );
+    }
+    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;
       }
-      async [kClose]() {
-        await this[kAgent].close();
-        await this[kClient].close();
+      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";
       }
-      async [kDestroy]() {
-        await this[kAgent].destroy();
-        await this[kClient].destroy();
+      if (request2.origin === "client") {
+        request2.origin = request2.client.origin;
       }
-    };
-    function buildHeaders(headers) {
-      if (Array.isArray(headers)) {
-        const headersPair = {};
-        for (let i = 0; i < headers.length; i += 2) {
-          headersPair[headers[i]] = headers[i + 1];
+      if (request2.policyContainer === "client") {
+        if (request2.client != null) {
+          request2.policyContainer = clonePolicyContainer(
+            request2.client.policyContainer
+          );
+        } else {
+          request2.policyContainer = makePolicyContainer();
         }
-        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");
+      if (!request2.headersList.contains("accept", true)) {
+        const value = "*/*";
+        request2.headersList.append("accept", value, true);
       }
-    }
-    module2.exports = ProxyAgent;
-  }
-});
-
-// node_modules/undici/lib/handler/RetryHandler.js
-var require_RetryHandler = __commonJS({
-  "node_modules/undici/lib/handler/RetryHandler.js"(exports2, module2) {
-    var assert = require("assert");
-    var { kRetryHandlerDefaultRetry } = require_symbols6();
-    var { RequestRetryError } = require_errors2();
-    var { isDisturbed, parseHeaders, parseRangeHeader } = require_util9();
-    function calculateRetryAfterHeader(retryAfter) {
-      const current = Date.now();
-      const diff = new Date(retryAfter).getTime() - current;
-      return diff;
-    }
-    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;
-        this.abort = null;
-        this.aborted = false;
-        this.retryOpts = {
-          retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry],
-          retryAfter: retryAfter ?? true,
-          maxTimeout: maxTimeout ?? 30 * 1e3,
-          // 30s,
-          timeout: 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"
-          ]
-        };
-        this.retryCount = 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;
+      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);
+        })();
       }
-      onRequestSent() {
-        if (this.handler.onRequestSent) {
-          this.handler.onRequestSent();
-        }
+      if (recursive) {
+        return response;
       }
-      onUpgrade(statusCode, headers, socket) {
-        if (this.handler.onUpgrade) {
-          this.handler.onUpgrade(statusCode, headers, socket);
+      if (response.status !== 0 && !response.internalResponse) {
+        if (request2.responseTainting === "cors") {
         }
-      }
-      onConnect(abort) {
-        if (this.aborted) {
-          abort(this.reason);
+        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 {
-          this.abort = abort;
+          assert(false);
         }
       }
-      onBodySent(chunk) {
-        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
+      let internalResponse = response.status === 0 ? response : response.internalResponse;
+      if (internalResponse.urlList.length === 0) {
+        internalResponse.urlList.push(...request2.urlList);
       }
-      static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) {
-        const { statusCode, code, headers } = err;
-        const { method, retryOptions } = opts;
-        const {
-          maxRetries,
-          timeout,
-          maxTimeout,
-          timeoutFactor,
-          statusCodes,
-          errorCodes,
-          methods
-        } = retryOptions;
-        let { counter, currentTimeout } = state;
-        currentTimeout = currentTimeout != null && currentTimeout > 0 ? currentTimeout : timeout;
-        if (code && code !== "UND_ERR_REQ_RETRY" && code !== "UND_ERR_SOCKET" && !errorCodes.includes(code)) {
-          cb(err);
+      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;
         }
-        if (Array.isArray(methods) && !methods.includes(method)) {
-          cb(err);
-          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"));
         }
-        if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) {
-          cb(err);
-          return;
+        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 type2 = 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", type2, 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, type2);
+            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", type2, true);
+            response.headersList.set("content-range", contentRange, true);
+          }
+          return Promise.resolve(response);
         }
-        if (counter > maxRetries) {
-          cb(err);
-          return;
+        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]
+          }));
         }
-        let retryAfterHeader = headers != null && headers["retry-after"];
-        if (retryAfterHeader) {
-          retryAfterHeader = Number(retryAfterHeader);
-          retryAfterHeader = isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3;
+        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"));
         }
-        const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(currentTimeout * timeoutFactor ** counter, maxTimeout);
-        state.currentTimeout = retryTimeout;
-        setTimeout(() => cb(null), retryTimeout);
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const headers = parseHeaders(rawHeaders);
-        this.retryCount += 1;
-        if (statusCode >= 300) {
-          this.abort(
-            new RequestRetryError("Request failed", statusCode, {
-              headers,
-              count: this.retryCount
-            })
-          );
-          return false;
+    }
+    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;
         }
-        if (this.resume != null) {
-          this.resume = null;
-          if (statusCode !== 206) {
-            return true;
-          }
-          const contentRange = parseRangeHeader(headers["content-range"]);
-          if (!contentRange) {
-            this.abort(
-              new RequestRetryError("Content-Range mismatch", statusCode, {
-                headers,
-                count: this.retryCount
-              })
-            );
-            return false;
+        fetchParams.controller.reportTimingSteps = () => {
+          if (fetchParams.request.url.protocol !== "https:") {
+            return;
           }
-          if (this.etag != null && this.etag !== headers.etag) {
-            this.abort(
-              new RequestRetryError("ETag mismatch", statusCode, {
-                headers,
-                count: this.retryCount
-              })
-            );
-            return false;
+          timingInfo.endTime = unsafeEndTime;
+          let cacheState = response.cacheState;
+          const bodyInfo = response.bodyInfo;
+          if (!response.timingAllowPassed) {
+            timingInfo = createOpaqueTimingInfo(timingInfo);
+            cacheState = "";
           }
-          const { start, size, end = size } = 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
-              );
+          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);
             }
-            const { start, size, end = size } = range;
-            assert(
-              start != null && Number.isFinite(start) && this.start !== start,
-              "content-range mismatch"
-            );
-            assert(Number.isFinite(start));
-            assert(
-              end != null && Number.isFinite(end) && this.end !== 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) : null;
+          if (fetchParams.request.initiatorType != null) {
+            markResourceTiming(timingInfo, fetchParams.request.url.href, fetchParams.request.initiatorType, globalThis, cacheState, bodyInfo, responseStatus);
           }
-          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;
-          return this.handler.onHeaders(
-            statusCode,
-            rawHeaders,
-            resume,
-            statusMessage
-          );
-        }
-        const err = new RequestRetryError("Request failed", statusCode, {
-          headers,
-          count: this.retryCount
+        };
+        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;
         });
-        this.abort(err);
-        return false;
       }
-      onData(chunk) {
-        this.start += chunk.length;
-        return this.handler.onData(chunk);
+      const internalResponse = response.type === "error" ? response : response.internalResponse ?? response;
+      if (internalResponse.body == null) {
+        processResponseEndOfBody();
+      } else {
+        finished(internalResponse.body.stream, () => {
+          processResponseEndOfBody();
+        });
       }
-      onComplete(rawTrailers) {
-        this.retryCount = 0;
-        return this.handler.onComplete(rawTrailers);
+    }
+    async function httpFetch(fetchParams) {
+      const request2 = fetchParams.request;
+      let response = null;
+      let actualResponse = null;
+      const timingInfo = fetchParams.timingInfo;
+      if (request2.serviceWorkers === "all") {
       }
-      onError(err) {
-        if (this.aborted || isDisturbed(this.opts.body)) {
-          return this.handler.onError(err);
+      if (response === null) {
+        if (request2.redirect === "follow") {
+          request2.serviceWorkers = "none";
         }
-        this.retryOpts.retry(
-          err,
-          {
-            state: { counter: this.retryCount++, currentTimeout: this.retryAfter },
-            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) {
-            this.opts = {
-              ...this.opts,
-              headers: {
-                ...this.opts.headers,
-                range: `bytes=${this.start}-${this.end ?? ""}`
-              }
-            };
-          }
-          try {
-            this.dispatch(this.opts, this);
-          } catch (err3) {
-            this.handler.onError(err3);
-          }
+        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;
         }
       }
-    };
-    module2.exports = RetryHandler;
-  }
-});
-
-// node_modules/undici/lib/global.js
-var require_global4 = __commonJS({
-  "node_modules/undici/lib/global.js"(exports2, module2) {
-    "use strict";
-    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
-    var { InvalidArgumentError } = require_errors2();
-    var Agent = require_agent2();
-    if (getGlobalDispatcher() === void 0) {
-      setGlobalDispatcher(new Agent());
-    }
-    function setGlobalDispatcher(agent) {
-      if (!agent || typeof agent.dispatch !== "function") {
-        throw new InvalidArgumentError("Argument agent must implement Agent");
+      if ((request2.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
+        request2.origin,
+        request2.client,
+        request2.destination,
+        actualResponse
+      ) === "blocked") {
+        return makeNetworkError("blocked");
       }
-      Object.defineProperty(globalThis, globalDispatcher, {
-        value: agent,
-        writable: true,
-        enumerable: false,
-        configurable: false
-      });
+      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 getGlobalDispatcher() {
-      return globalThis[globalDispatcher];
+    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);
     }
-    module2.exports = {
-      setGlobalDispatcher,
-      getGlobalDispatcher
-    };
-  }
-});
-
-// node_modules/undici/lib/handler/DecoratorHandler.js
-var require_DecoratorHandler = __commonJS({
-  "node_modules/undici/lib/handler/DecoratorHandler.js"(exports2, module2) {
-    "use strict";
-    module2.exports = class DecoratorHandler {
-      constructor(handler2) {
-        this.handler = handler2;
+    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;
       }
-      onConnect(...args) {
-        return this.handler.onConnect(...args);
+      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";
       }
-      onError(...args) {
-        return this.handler.onError(...args);
+      if (contentLength != null) {
+        contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
       }
-      onUpgrade(...args) {
-        return this.handler.onUpgrade(...args);
+      if (contentLengthHeaderValue != null) {
+        httpRequest.headersList.append("content-length", contentLengthHeaderValue, true);
       }
-      onHeaders(...args) {
-        return this.handler.onHeaders(...args);
+      if (contentLength != null && httpRequest.keepalive) {
       }
-      onData(...args) {
-        return this.handler.onData(...args);
+      if (httpRequest.referrer instanceof URL) {
+        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href), true);
       }
-      onComplete(...args) {
-        return this.handler.onComplete(...args);
+      appendRequestOriginHeader(httpRequest);
+      appendFetchMetadata(httpRequest);
+      if (!httpRequest.headersList.contains("user-agent", true)) {
+        httpRequest.headersList.append("user-agent", defaultUserAgent);
       }
-      onBodySent(...args) {
-        return this.handler.onBodySent(...args);
+      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";
       }
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/headers.js
-var require_headers2 = __commonJS({
-  "node_modules/undici/lib/fetch/headers.js"(exports2, module2) {
-    "use strict";
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var { kGuard } = require_symbols7();
-    var { kEnumerableProperty } = require_util9();
-    var {
-      makeIterator,
-      isValidHeaderName,
-      isValidHeaderValue
-    } = require_util10();
-    var util = require("util");
-    var { webidl } = require_webidl2();
-    var assert = require("assert");
-    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
-    var kHeadersSortedMap = /* @__PURE__ */ 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]);
+      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);
         }
-      } 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]]);
+        if (!httpRequest.headersList.contains("cache-control", true)) {
+          httpRequest.headersList.append("cache-control", "no-cache", true);
         }
-      } 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 (headers[kGuard] === "immutable") {
-        throw new TypeError("immutable");
-      } else if (headers[kGuard] === "request-no-cors") {
+      if (httpRequest.headersList.contains("range", true)) {
+        httpRequest.headersList.append("accept-encoding", "identity", true);
       }
-      return headers[kHeadersList].append(name, value);
-    }
-    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];
+      if (!httpRequest.headersList.contains("accept-encoding", true)) {
+        if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
+          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate", true);
         } else {
-          this[kHeadersMap] = new Map(init);
-          this[kHeadersSortedMap] = null;
+          httpRequest.headersList.append("accept-encoding", "gzip, deflate", true);
         }
       }
-      // https://fetch.spec.whatwg.org/#header-list-contains
-      contains(name) {
-        name = name.toLowerCase();
-        return this[kHeadersMap].has(name);
+      httpRequest.headersList.delete("host", true);
+      if (includeCredentials) {
       }
-      clear() {
-        this[kHeadersMap].clear();
-        this[kHeadersSortedMap] = null;
-        this.cookies = null;
+      if (httpCache == null) {
+        httpRequest.cache = "no-store";
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-append
-      append(name, value) {
-        this[kHeadersSortedMap] = null;
-        const lowercaseName = name.toLowerCase();
-        const exists = this[kHeadersMap].get(lowercaseName);
-        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 (httpRequest.cache !== "no-store" && httpRequest.cache !== "reload") {
+      }
+      if (response == null) {
+        if (httpRequest.cache === "only-if-cached") {
+          return makeNetworkError("only if cached");
         }
-        if (lowercaseName === "set-cookie") {
-          this.cookies ??= [];
-          this.cookies.push(value);
+        const forwardResponse = await httpNetworkFetch(
+          httpFetchParams,
+          includeCredentials,
+          isNewConnectionFetch
+        );
+        if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {
         }
-      }
-      // https://fetch.spec.whatwg.org/#concept-header-list-set
-      set(name, value) {
-        this[kHeadersSortedMap] = null;
-        const lowercaseName = name.toLowerCase();
-        if (lowercaseName === "set-cookie") {
-          this.cookies = [value];
+        if (revalidatingFlag && forwardResponse.status === 304) {
         }
-        this[kHeadersMap].set(lowercaseName, { name, value });
-      }
-      // https://fetch.spec.whatwg.org/#concept-header-list-delete
-      delete(name) {
-        this[kHeadersSortedMap] = null;
-        name = name.toLowerCase();
-        if (name === "set-cookie") {
-          this.cookies = null;
+        if (response == null) {
+          response = forwardResponse;
         }
-        this[kHeadersMap].delete(name);
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-get
-      get(name) {
-        const value = this[kHeadersMap].get(name.toLowerCase());
-        return value === void 0 ? null : value.value;
+      response.urlList = [...httpRequest.urlList];
+      if (httpRequest.headersList.contains("range", true)) {
+        response.rangeRequested = true;
       }
-      *[Symbol.iterator]() {
-        for (const [name, { value }] of this[kHeadersMap]) {
-          yield [name, value];
+      response.requestIncludesCredentials = includeCredentials;
+      if (response.status === 407) {
+        if (request2.window === "no-window") {
+          return makeNetworkError();
         }
-      }
-      get entries() {
-        const headers = {};
-        if (this[kHeadersMap].size) {
-          for (const { name, value } of this[kHeadersMap].values()) {
-            headers[name] = value;
-          }
+        if (isCancelled(fetchParams)) {
+          return makeAppropriateNetworkError(fetchParams);
         }
-        return headers;
+        return makeNetworkError("proxy authentication required");
       }
-    };
-    var Headers = class _Headers {
-      constructor(init = void 0) {
-        if (init === kConstruct) {
-          return;
-        }
-        this[kHeadersList] = new HeadersList();
-        this[kGuard] = "none";
-        if (init !== void 0) {
-          init = webidl.converters.HeadersInit(init);
-          fill(this, init);
+      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
+        );
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-append
-      append(name, value) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.append" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
-        return appendHeader(this, name, value);
+      if (isAuthenticationFetch) {
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-delete
-      delete(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.delete" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.delete",
-            value: name,
-            type: "header name"
-          });
-        }
-        if (this[kGuard] === "immutable") {
-          throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
-        }
-        if (!this[kHeadersList].contains(name)) {
-          return;
+      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"));
+            }
+          }
         }
-        this[kHeadersList].delete(name);
+      };
+      const request2 = fetchParams.request;
+      let response = null;
+      const timingInfo = fetchParams.timingInfo;
+      const httpCache = null;
+      if (httpCache == null) {
+        request2.cache = "no-store";
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-get
-      get(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.get" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.get",
-            value: name,
-            type: "header name"
-          });
-        }
-        return this[kHeadersList].get(name);
+      const newConnection = forceNewConnection ? "yes" : "no";
+      if (request2.mode === "websocket") {
+      } else {
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-has
-      has(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.has" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.has",
-            value: name,
-            type: "header name"
-          });
-        }
-        return this[kHeadersList].contains(name);
+      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);
+          }
+        })();
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-set
-      set(name, value) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.set" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
-        value = headerValueNormalize(value);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
-            value: name,
-            type: "header name"
-          });
-        } else if (!isValidHeaderValue(value)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
-            value,
-            type: "header value"
-          });
+      try {
+        const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
+        if (socket) {
+          response = makeResponse({ status, statusText, headersList, socket });
+        } else {
+          const iterator2 = body[Symbol.asyncIterator]();
+          fetchParams.controller.next = () => iterator2.next();
+          response = makeResponse({ status, statusText, headersList });
         }
-        if (this[kGuard] === "immutable") {
-          throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
+      } catch (err) {
+        if (err.name === "AbortError") {
+          fetchParams.controller.connection.destroy();
+          return makeAppropriateNetworkError(fetchParams, err);
         }
-        this[kHeadersList].set(name, value);
+        return makeNetworkError(err);
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
-      getSetCookie() {
-        webidl.brandCheck(this, _Headers);
-        const list = this[kHeadersList].cookies;
-        if (list) {
-          return [...list];
+      const pullAlgorithm = async () => {
+        await fetchParams.controller.resume();
+      };
+      const cancelAlgorithm = (reason) => {
+        if (!isCancelled(fetchParams)) {
+          fetchParams.controller.abort(reason);
         }
-        return [];
-      }
-      // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
-      get [kHeadersSortedMap]() {
-        if (this[kHeadersList][kHeadersSortedMap]) {
-          return this[kHeadersList][kHeadersSortedMap];
+      };
+      const stream2 = new ReadableStream(
+        {
+          async start(controller) {
+            fetchParams.controller.controller = controller;
+          },
+          async pull(controller) {
+            await pullAlgorithm(controller);
+          },
+          async cancel(reason) {
+            await cancelAlgorithm(reason);
+          },
+          type: "bytes"
         }
-        const headers = [];
-        const names = [...this[kHeadersList]].sort((a, b) => a[0] < b[0] ? -1 : 1);
-        const cookies = this[kHeadersList].cookies;
-        for (let i = 0; i < names.length; ++i) {
-          const [name, value] = names[i];
-          if (name === "set-cookie") {
-            for (let j = 0; j < cookies.length; ++j) {
-              headers.push([name, cookies[j]]);
+      );
+      response.body = { stream: stream2, 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(stream2)) {
+            fetchParams.controller.terminate();
+            return;
+          }
+          if (fetchParams.controller.controller.desiredSize <= 0) {
+            return;
+          }
+        }
+      };
+      function onAborted(reason) {
+        if (isAborted(fetchParams)) {
+          response.aborted = true;
+          if (isReadable(stream2)) {
+            fetchParams.controller.controller.error(
+              fetchParams.controller.serializedAbortReason
+            );
+          }
+        } else {
+          if (isReadable(stream2)) {
+            fetchParams.controller.controller.error(new TypeError("terminated", {
+              cause: isErrorLike(reason) ? reason : void 0
+            }));
+          }
+        }
+        fetchParams.controller.connection.destroy();
+      }
+      return response;
+      function dispatch({ body }) {
+        const url2 = requestCurrentURL(request2);
+        const agent = fetchParams.controller.dispatcher;
+        return new Promise((resolve6, reject) => agent.dispatch(
+          {
+            path: url2.pathname + url2.search,
+            origin: url2.origin,
+            method: request2.method,
+            body: agent.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
+            headers: request2.headersList.entries,
+            maxRedirections: 0,
+            upgrade: request2.mode === "websocket" ? "websocket" : void 0
+          },
+          {
+            body: null,
+            abort: null,
+            onConnect(abort) {
+              const { connection } = fetchParams.controller;
+              timingInfo.finalConnectionTimingInfo = clampAndCoarsenConnectionTimingInfo(void 0, timingInfo.postRedirectStartTime, fetchParams.crossOriginIsolatedCapability);
+              if (connection.destroyed) {
+                abort(new DOMException("The operation was aborted.", "AbortError"));
+              } else {
+                fetchParams.controller.on("terminated", abort);
+                this.abort = connection.abort = abort;
+              }
+              timingInfo.finalNetworkRequestStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+            },
+            onResponseStarted() {
+              timingInfo.finalNetworkResponseStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+            },
+            onHeaders(status, rawHeaders, resume, statusText) {
+              if (status < 200) {
+                return;
+              }
+              let location = "";
+              const headersList = new HeadersList();
+              for (let i = 0; i < rawHeaders.length; i += 2) {
+                headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true);
+              }
+              location = headersList.get("location", true);
+              this.body = new Readable2({ 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(zlib2.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: zlib2.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib2.constants.Z_SYNC_FLUSH
+                    }));
+                  } else if (coding === "deflate") {
+                    decoders.push(createInflate({
+                      flush: zlib2.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib2.constants.Z_SYNC_FLUSH
+                    }));
+                  } else if (coding === "br") {
+                    decoders.push(zlib2.createBrotliDecompress({
+                      flush: zlib2.constants.BROTLI_OPERATION_FLUSH,
+                      finishFlush: zlib2.constants.BROTLI_OPERATION_FLUSH
+                    }));
+                  } else {
+                    decoders.length = 0;
+                    break;
+                  }
+                }
+              }
+              const onError = this.onError.bind(this);
+              resolve6({
+                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(error3) {
+              if (this.abort) {
+                fetchParams.controller.off("terminated", this.abort);
+              }
+              this.body?.destroy(error3);
+              fetchParams.controller.terminate(error3);
+              reject(error3);
+            },
+            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);
+              }
+              resolve6({
+                status,
+                statusText: STATUS_CODES[status],
+                headersList,
+                socket
+              });
+              return true;
             }
-          } else {
-            assert(value !== null);
-            headers.push([name, value]);
           }
-        }
-        this[kHeadersList][kHeadersSortedMap] = headers;
-        return headers;
-      }
-      keys() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key"
-        );
-      }
-      values() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "value"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "value"
-        );
-      }
-      entries() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key+value"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key+value"
-        );
-      }
-      /**
-       * @param {(value: string, key: string, self: Headers) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'."
-          );
-        }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
-        }
-      }
-      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")]() {
-        webidl.brandCheck(this, _Headers);
-        return this[kHeadersList];
-      }
-    };
-    Headers.prototype[Symbol.iterator] = Headers.prototype.entries;
-    Object.defineProperties(Headers.prototype, {
-      append: kEnumerableProperty,
-      delete: kEnumerableProperty,
-      get: kEnumerableProperty,
-      has: kEnumerableProperty,
-      set: kEnumerableProperty,
-      getSetCookie: kEnumerableProperty,
-      keys: kEnumerableProperty,
-      values: kEnumerableProperty,
-      entries: kEnumerableProperty,
-      forEach: kEnumerableProperty,
-      [Symbol.iterator]: { enumerable: false },
-      [Symbol.toStringTag]: {
-        value: "Headers",
-        configurable: true
-      },
-      [util.inspect.custom]: {
-        enumerable: false
-      }
-    });
-    webidl.converters.HeadersInit = function(V) {
-      if (webidl.util.Type(V) === "Object") {
-        if (V[Symbol.iterator]) {
-          return webidl.converters["sequence>"](V);
-        }
-        return webidl.converters["record"](V);
+        ));
       }
-      throw webidl.errors.conversionFailed({
-        prefix: "Headers constructor",
-        argument: "Argument 1",
-        types: ["sequence>", "record"]
-      });
+    }
+    module2.exports = {
+      fetch,
+      Fetch,
+      fetching,
+      finalizeAndReportTiming
     };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js
+var require_symbols8 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js"(exports2, module2) {
+    "use strict";
     module2.exports = {
-      fill,
-      Headers,
-      HeadersList
+      kState: /* @__PURE__ */ Symbol("FileReader state"),
+      kResult: /* @__PURE__ */ Symbol("FileReader result"),
+      kError: /* @__PURE__ */ Symbol("FileReader error"),
+      kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"),
+      kEvents: /* @__PURE__ */ Symbol("FileReader events"),
+      kAborted: /* @__PURE__ */ Symbol("FileReader aborted")
     };
   }
 });
 
-// node_modules/undici/lib/fetch/response.js
-var require_response2 = __commonJS({
-  "node_modules/undici/lib/fetch/response.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js
+var require_progressevent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js"(exports2, module2) {
     "use strict";
-    var { Headers, HeadersList, fill } = require_headers2();
-    var { extractBody, cloneBody, mixinBody } = require_body2();
-    var util = require_util9();
-    var { kEnumerableProperty } = util;
-    var {
-      isValidReasonPhrase,
-      isCancelled,
-      isAborted,
-      isBlobLike,
-      serializeJavascriptValueToJSONString,
-      isErrorLike,
-      isomorphicEncode
-    } = require_util10();
-    var {
-      redirectStatusSet,
-      nullBodyStatus,
-      DOMException: DOMException2
-    } = require_constants7();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
     var { webidl } = require_webidl2();
-    var { FormData: FormData2 } = require_formdata2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { types } = require("util");
-    var ReadableStream2 = globalThis.ReadableStream || require("stream/web").ReadableStream;
-    var textEncoder = new TextEncoder("utf-8");
-    var Response = class _Response {
-      // Creates network error Response.
-      static error() {
-        const relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kState] = makeNetworkError();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = responseObject[kState].headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        return responseObject;
-      }
-      // https://fetch.spec.whatwg.org/#dom-response-json
-      static json(data, init = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.json" });
-        if (init !== null) {
-          init = webidl.converters.ResponseInit(init);
-        }
-        const bytes = textEncoder.encode(
-          serializeJavascriptValueToJSONString(data)
-        );
-        const body = extractBody(bytes);
-        const relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "response";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
-        return responseObject;
-      }
-      // Creates a redirect Response that redirects to url with status status.
-      static redirect(url2, status = 302) {
-        const relevantRealm = { settingsObject: {} };
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.redirect" });
-        url2 = webidl.converters.USVString(url2);
-        status = webidl.converters["unsigned short"](status);
-        let parsedURL;
-        try {
-          parsedURL = new URL(url2, getGlobalOrigin());
-        } catch (err) {
-          throw Object.assign(new TypeError("Failed to parse URL from " + url2), {
-            cause: err
-          });
-        }
-        if (!redirectStatusSet.has(status)) {
-          throw new RangeError("Invalid status code " + status);
-        }
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        responseObject[kState].status = status;
-        const value = isomorphicEncode(URLSerializer(parsedURL));
-        responseObject[kState].headersList.append("location", value);
-        return responseObject;
-      }
-      // https://fetch.spec.whatwg.org/#dom-response
-      constructor(body = null, init = {}) {
-        if (body !== null) {
-          body = webidl.converters.BodyInit(body);
-        }
-        init = webidl.converters.ResponseInit(init);
-        this[kRealm] = { settingsObject: {} };
-        this[kState] = makeResponse({});
-        this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kGuard] = "response";
-        this[kHeaders][kHeadersList] = this[kState].headersList;
-        this[kHeaders][kRealm] = this[kRealm];
-        let bodyWithType = null;
-        if (body != null) {
-          const [extractedBody, type2] = extractBody(body);
-          bodyWithType = { body: extractedBody, type: type2 };
-        }
-        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 url2 = urlList[urlList.length - 1] ?? null;
-        if (url2 === null) {
-          return "";
-        }
-        return URLSerializer(url2, 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];
+    var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
+    var ProgressEvent = class _ProgressEvent extends Event {
+      constructor(type2, eventInitDict = {}) {
+        type2 = webidl.converters.DOMString(type2, "ProgressEvent constructor", "type");
+        eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
+        super(type2, eventInitDict);
+        this[kState] = {
+          lengthComputable: eventInitDict.lengthComputable,
+          loaded: eventInitDict.loaded,
+          total: eventInitDict.total
+        };
       }
-      get body() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].body ? this[kState].body.stream : null;
+      get lengthComputable() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].lengthComputable;
       }
-      get bodyUsed() {
-        webidl.brandCheck(this, _Response);
-        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
+      get loaded() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].loaded;
       }
-      // Returns a clone of response.
-      clone() {
-        webidl.brandCheck(this, _Response);
-        if (this.bodyUsed || this.body && this.body.locked) {
-          throw webidl.errors.exception({
-            header: "Response.clone",
-            message: "Body has already been consumed."
-          });
-        }
-        const clonedResponse = cloneResponse(this[kState]);
-        const clonedResponseObject = new _Response();
-        clonedResponseObject[kState] = clonedResponse;
-        clonedResponseObject[kRealm] = this[kRealm];
-        clonedResponseObject[kHeaders][kHeadersList] = clonedResponse.headersList;
-        clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm];
-        return clonedResponseObject;
+      get total() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].total;
       }
     };
-    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(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 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, type2) {
-      if (type2 === "basic") {
-        return makeFilteredResponse(response, {
-          type: "basic",
-          headersList: response.headersList
-        });
-      } else if (type2 === "cors") {
-        return makeFilteredResponse(response, {
-          type: "cors",
-          headersList: response.headersList
-        });
-      } else if (type2 === "opaque") {
-        return makeFilteredResponse(response, {
-          type: "opaque",
-          urlList: Object.freeze([]),
-          status: 0,
-          statusText: "",
-          body: null
-        });
-      } else if (type2 === "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 DOMException2("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException2("Request was cancelled."), { cause: err }));
-    }
-    function initializeResponse(response, init, body) {
-      if (init.status !== null && (init.status < 200 || init.status > 599)) {
-        throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
-      }
-      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;
+    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
       }
-      if ("headers" in init && init.headers != null) {
-        fill(response[kHeaders], init.headers);
+    ]);
+    module2.exports = {
+      ProgressEvent
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js
+var require_encoding2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js"(exports2, module2) {
+    "use strict";
+    function getEncoding(label) {
+      if (!label) {
+        return "failure";
       }
-      if (body) {
-        if (nullBodyStatus.includes(response.status)) {
-          throw webidl.errors.exception({
-            header: "Response constructor",
-            message: "Invalid response status code " + response.status
-          });
-        }
-        response[kState].body = body.body;
-        if (body.type != null && !response[kState].headersList.contains("Content-Type")) {
-          response[kState].headersList.append("content-type", body.type);
-        }
+      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";
       }
     }
-    webidl.converters.ReadableStream = webidl.interfaceConverter(
-      ReadableStream2
-    );
-    webidl.converters.FormData = webidl.interfaceConverter(
-      FormData2
-    );
-    webidl.converters.URLSearchParams = webidl.interfaceConverter(
-      URLSearchParams
-    );
-    webidl.converters.XMLHttpRequestBodyInit = function(V) {
-      if (typeof V === "string") {
-        return webidl.converters.USVString(V);
-      }
-      if (isBlobLike(V)) {
-        return webidl.converters.Blob(V, { strict: false });
-      }
-      if (types.isArrayBuffer(V) || types.isTypedArray(V) || types.isDataView(V)) {
-        return webidl.converters.BufferSource(V);
-      }
-      if (util.isFormDataLike(V)) {
-        return webidl.converters.FormData(V, { strict: false });
-      }
-      if (V instanceof URLSearchParams) {
-        return webidl.converters.URLSearchParams(V);
-      }
-      return webidl.converters.DOMString(V);
-    };
-    webidl.converters.BodyInit = function(V) {
-      if (V instanceof ReadableStream2) {
-        return webidl.converters.ReadableStream(V);
-      }
-      if (V?.[Symbol.asyncIterator]) {
-        return V;
-      }
-      return webidl.converters.XMLHttpRequestBodyInit(V);
-    };
-    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 = {
-      makeNetworkError,
-      makeResponse,
-      makeAppropriateNetworkError,
-      filterResponse,
-      Response,
-      cloneResponse
+      getEncoding
     };
   }
 });
 
-// node_modules/undici/lib/fetch/request.js
-var require_request4 = __commonJS({
-  "node_modules/undici/lib/fetch/request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js
+var require_util12 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js"(exports2, module2) {
     "use strict";
-    var { extractBody, mixinBody, cloneBody } = require_body2();
-    var { Headers, fill: fillHeaders, HeadersList } = require_headers2();
-    var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
-    var util = require_util9();
-    var {
-      isValidHTTPToken,
-      sameOrigin,
-      normalizeMethod,
-      makePolicyContainer,
-      normalizeMethodRecord
-    } = require_util10();
     var {
-      forbiddenMethodsSet,
-      corsSafeListedMethodsSet,
-      referrerPolicy,
-      requestRedirect,
-      requestMode,
-      requestCredentials,
-      requestCache,
-      requestDuplex
-    } = require_constants7();
-    var { kEnumerableProperty } = util;
-    var { kHeaders, kSignal, kState, kGuard, kRealm } = require_symbols7();
-    var { webidl } = require_webidl2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events");
-    var TransformStream2 = globalThis.TransformStream;
-    var kAbortController = /* @__PURE__ */ Symbol("abortController");
-    var requestFinalizer = new FinalizationRegistry2(({ signal, abort }) => {
-      signal.removeEventListener("abort", abort);
-    });
-    var Request = class _Request {
-      // https://fetch.spec.whatwg.org/#dom-request
-      constructor(input, init = {}) {
-        if (input === kConstruct) {
-          return;
-        }
-        webidl.argumentLengthCheck(arguments, 1, { header: "Request constructor" });
-        input = webidl.converters.RequestInfo(input);
-        init = webidl.converters.RequestInit(init);
-        this[kRealm] = {
-          settingsObject: {
-            baseUrl: getGlobalOrigin(),
-            get origin() {
-              return this.baseUrl?.origin;
-            },
-            policyContainer: makePolicyContainer()
-          }
-        };
-        let request2 = null;
-        let fallbackMode = null;
-        const baseUrl = this[kRealm].settingsObject.baseUrl;
-        let signal = null;
-        if (typeof input === "string") {
-          let parsedURL;
+      kState,
+      kError,
+      kResult,
+      kAborted,
+      kLastProgressEventFired
+    } = require_symbols8();
+    var { ProgressEvent } = require_progressevent2();
+    var { getEncoding } = require_encoding2();
+    var { serializeAMimeType, parseMIMEType } = require_data_url2();
+    var { types } = require("node:util");
+    var { StringDecoder } = require("string_decoder");
+    var { btoa: btoa2 } = require("node:buffer");
+    var staticPropertyDescriptors = {
+      enumerable: true,
+      writable: false,
+      configurable: false
+    };
+    function readOperation(fr, blob, type2, encodingName) {
+      if (fr[kState] === "loading") {
+        throw new DOMException("Invalid state", "InvalidStateError");
+      }
+      fr[kState] = "loading";
+      fr[kResult] = null;
+      fr[kError] = null;
+      const stream2 = blob.stream();
+      const reader = stream2.getReader();
+      const bytes = [];
+      let chunkPromise = reader.read();
+      let isFirstChunk = true;
+      (async () => {
+        while (!fr[kAborted]) {
           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 {
-          assert(input instanceof _Request);
-          request2 = input[kState];
-          signal = input[kSignal];
-        }
-        const origin = this[kRealm].settingsObject.origin;
-        let window2 = "client";
-        if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
-          window2 = request2.window;
-        }
-        if (init.window != null) {
-          throw new TypeError(`'window' option '${window2}' must be null`);
-        }
-        if ("window" in init) {
-          window2 = "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: this[kRealm].settingsObject,
-          // window window.
-          window: window2,
-          // 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, this[kRealm].settingsObject.baseUrl)) {
-              request2.referrer = "client";
-            } else {
-              request2.referrer = parsedReferrer;
+            const { done, value } = await chunkPromise;
+            if (isFirstChunk && !fr[kAborted]) {
+              queueMicrotask(() => {
+                fireAProgressEvent("loadstart", fr);
+              });
             }
-          }
-        }
-        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;
-          if (!isValidHTTPToken(method)) {
-            throw new TypeError(`'${method}' is not a valid HTTP method.`);
-          }
-          if (forbiddenMethodsSet.has(method.toUpperCase())) {
-            throw new TypeError(`'${method}' HTTP method is unsupported.`);
-          }
-          method = normalizeMethodRecord[method] ?? normalizeMethod(method);
-          request2.method = method;
-        }
-        if (init.signal !== void 0) {
-          signal = init.signal;
-        }
-        this[kState] = request2;
-        const ac = new AbortController();
-        this[kSignal] = ac.signal;
-        this[kSignal][kRealm] = this[kRealm];
-        if (signal != null) {
-          if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") {
-            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 = function() {
-              const ac2 = acRef.deref();
-              if (ac2 !== void 0) {
-                ac2.abort(this.reason);
+            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);
+                });
               }
-            };
-            try {
-              if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) {
-                setMaxListeners(100, signal);
-              } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) {
-                setMaxListeners(100, signal);
+              chunkPromise = reader.read();
+            } else if (done) {
+              queueMicrotask(() => {
+                fr[kState] = "done";
+                try {
+                  const result = packageData(bytes, type2, blob.type, encodingName);
+                  if (fr[kAborted]) {
+                    return;
+                  }
+                  fr[kResult] = result;
+                  fireAProgressEvent("load", fr);
+                } catch (error3) {
+                  fr[kError] = error3;
+                  fireAProgressEvent("error", fr);
+                }
+                if (fr[kState] !== "loading") {
+                  fireAProgressEvent("loadend", fr);
+                }
+              });
+              break;
+            }
+          } catch (error3) {
+            if (fr[kAborted]) {
+              return;
+            }
+            queueMicrotask(() => {
+              fr[kState] = "done";
+              fr[kError] = error3;
+              fireAProgressEvent("error", fr);
+              if (fr[kState] !== "loading") {
+                fireAProgressEvent("loadend", fr);
               }
-            } catch {
-            }
-            util.addAbortListener(signal, abort);
-            requestFinalizer.register(ac, { signal, abort });
-          }
-        }
-        this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kHeadersList] = request2.headersList;
-        this[kHeaders][kGuard] = "request";
-        this[kHeaders][kRealm] = this[kRealm];
-        if (mode === "no-cors") {
-          if (!corsSafeListedMethodsSet.has(request2.method)) {
-            throw new TypeError(
-              `'${request2.method} is unsupported in no-cors mode.`
-            );
+            });
+            break;
           }
-          this[kHeaders][kGuard] = "request-no-cors";
         }
-        if (initHasKey) {
-          const headersList = this[kHeaders][kHeadersList];
-          const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList);
-          headersList.clear();
-          if (headers instanceof HeadersList) {
-            for (const [key, val] of headers) {
-              headersList.append(key, val);
-            }
-            headersList.cookies = headers.cookies;
-          } else {
-            fillHeaders(this[kHeaders], headers);
+      })();
+    }
+    function fireAProgressEvent(e, reader) {
+      const event = new ProgressEvent(e, {
+        bubbles: false,
+        cancelable: false
+      });
+      reader.dispatchEvent(event);
+    }
+    function packageData(bytes, type2, mimeType, encodingName) {
+      switch (type2) {
+        case "DataURL": {
+          let dataURL = "data:";
+          const parsed = parseMIMEType(mimeType || "application/octet-stream");
+          if (parsed !== "failure") {
+            dataURL += serializeAMimeType(parsed);
           }
-        }
-        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 && !this[kHeaders][kHeadersList].contains("content-type")) {
-            this[kHeaders].append("content-type", contentType);
+          dataURL += ";base64,";
+          const decoder = new StringDecoder("latin1");
+          for (const chunk of bytes) {
+            dataURL += btoa2(decoder.write(chunk));
           }
+          dataURL += btoa2(decoder.end());
+          return dataURL;
         }
-        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"'
-            );
+        case "Text": {
+          let encoding = "failure";
+          if (encodingName) {
+            encoding = getEncoding(encodingName);
           }
-          request2.useCORSPreflightFlag = true;
-        }
-        let finalBody = inputOrInitBody;
-        if (initBody == null && inputBody != null) {
-          if (util.isDisturbed(inputBody.stream) || inputBody.stream.locked) {
-            throw new TypeError(
-              "Cannot construct a Request with a Request object that has already been used."
-            );
+          if (encoding === "failure" && mimeType) {
+            const type3 = parseMIMEType(mimeType);
+            if (type3 !== "failure") {
+              encoding = getEncoding(type3.parameters.get("charset"));
+            }
           }
-          if (!TransformStream2) {
-            TransformStream2 = require("stream/web").TransformStream;
+          if (encoding === "failure") {
+            encoding = "UTF-8";
           }
-          const identityTransform = new TransformStream2();
-          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 decode(bytes, encoding);
         }
-        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-foward 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 (this.bodyUsed || this.body?.locked) {
-          throw new TypeError("unusable");
+        case "ArrayBuffer": {
+          const sequence = combineByteSequences(bytes);
+          return sequence.buffer;
         }
-        const clonedRequest = cloneRequest(this[kState]);
-        const clonedRequestObject = new _Request(kConstruct);
-        clonedRequestObject[kState] = clonedRequest;
-        clonedRequestObject[kRealm] = this[kRealm];
-        clonedRequestObject[kHeaders] = new Headers(kConstruct);
-        clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList;
-        clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm];
-        const ac = new AbortController();
-        if (this.signal.aborted) {
-          ac.abort(this.signal.reason);
-        } else {
-          util.addAbortListener(
-            this.signal,
-            () => {
-              ac.abort(this.signal.reason);
-            }
-          );
+        case "BinaryString": {
+          let binaryString = "";
+          const decoder = new StringDecoder("latin1");
+          for (const chunk of bytes) {
+            binaryString += decoder.write(chunk);
+          }
+          binaryString += decoder.end();
+          return binaryString;
         }
-        clonedRequestObject[kSignal] = ac.signal;
-        return clonedRequestObject;
       }
-    };
-    mixinBody(Request);
-    function makeRequest(init) {
-      const request2 = {
-        method: "GET",
-        localURLsOnly: false,
-        unsafeRequest: false,
-        body: null,
-        client: null,
-        reservedClient: null,
-        replacesClientId: "",
-        window: "client",
-        keepalive: false,
-        serviceWorkers: "all",
-        initiator: "",
-        destination: "",
-        priority: null,
-        origin: "client",
-        policyContainer: "client",
-        referrer: "client",
-        referrerPolicy: "",
-        mode: "no-cors",
-        useCORSPreflightFlag: false,
-        credentials: "same-origin",
-        useCredentials: false,
-        cache: "default",
-        redirect: "follow",
-        integrity: "",
-        cryptoGraphicsNonceMetadata: "",
-        parserMetadata: "",
-        reloadNavigation: false,
-        historyNavigation: false,
-        userActivation: false,
-        taintedOrigin: false,
-        redirectCount: 0,
-        responseTainting: "basic",
-        preventNoCacheCacheControlHeaderModification: false,
-        done: false,
-        timingAllowFailed: false,
-        ...init,
-        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList()
-      };
-      request2.url = request2.urlList[0];
-      return request2;
     }
-    function cloneRequest(request2) {
-      const newRequest = makeRequest({ ...request2, body: null });
-      if (request2.body != null) {
-        newRequest.body = cloneBody(request2.body);
+    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;
       }
-      return newRequest;
+      const sliced = bytes.slice(slice);
+      return new TextDecoder(encoding).decode(sliced);
     }
-    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) {
-      if (typeof V === "string") {
-        return webidl.converters.USVString(V);
-      }
-      if (V instanceof Request) {
-        return webidl.converters.Request(V);
+    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 webidl.converters.USVString(V);
+      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
     };
-    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,
-            { strict: false }
-          )
-        )
-      },
-      {
-        key: "window",
-        converter: webidl.converters.any
-      },
-      {
-        key: "duplex",
-        converter: webidl.converters.DOMString,
-        allowedValues: requestDuplex
-      }
-    ]);
-    module2.exports = { Request, makeRequest };
   }
 });
 
-// node_modules/undici/lib/fetch/index.js
-var require_fetch2 = __commonJS({
-  "node_modules/undici/lib/fetch/index.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js
+var require_filereader2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js"(exports2, module2) {
     "use strict";
     var {
-      Response,
-      makeNetworkError,
-      makeAppropriateNetworkError,
-      filterResponse,
-      makeResponse
-    } = require_response2();
-    var { Headers } = require_headers2();
-    var { Request, makeRequest } = require_request4();
-    var zlib2 = require("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
-    } = require_util10();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
-    var assert = require("assert");
-    var { safelyExtractBody } = require_body2();
+      staticPropertyDescriptors,
+      readOperation,
+      fireAProgressEvent
+    } = require_util12();
     var {
-      redirectStatusSet,
-      nullBodyStatus,
-      safeMethodsSet,
-      requestBodyHeader,
-      subresourceSet,
-      DOMException: DOMException2
-    } = require_constants7();
-    var { kHeadersList } = require_symbols6();
-    var EE = require("events");
-    var { Readable: Readable2, pipeline } = require("stream");
-    var { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require_util9();
-    var { dataURLProcessor, serializeAMimeType } = require_dataURL();
-    var { TransformStream: TransformStream2 } = require("stream/web");
-    var { getGlobalDispatcher } = require_global4();
+      kState,
+      kError,
+      kResult,
+      kEvents,
+      kAborted
+    } = require_symbols8();
     var { webidl } = require_webidl2();
-    var { STATUS_CODES } = require("http");
-    var GET_OR_HEAD = ["GET", "HEAD"];
-    var resolveObjectURL;
-    var ReadableStream2 = globalThis.ReadableStream;
-    var Fetch = class extends EE {
-      constructor(dispatcher) {
+    var { kEnumerableProperty } = require_util9();
+    var FileReader = class _FileReader extends EventTarget {
+      constructor() {
         super();
-        this.dispatcher = dispatcher;
-        this.connection = null;
-        this.dump = false;
-        this.state = "ongoing";
-        this.setMaxListeners(21);
+        this[kState] = "empty";
+        this[kResult] = null;
+        this[kError] = null;
+        this[kEvents] = {
+          loadend: null,
+          error: null,
+          abort: null,
+          load: null,
+          progress: null,
+          loadstart: null
+        };
       }
-      terminate(reason) {
-        if (this.state !== "ongoing") {
+      /**
+       * @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;
         }
-        this.state = "terminated";
-        this.connection?.destroy(reason);
-        this.emit("terminated", reason);
+        if (this[kState] === "loading") {
+          this[kState] = "done";
+          this[kResult] = null;
+        }
+        this[kAborted] = true;
+        fireAProgressEvent("abort", this);
+        if (this[kState] !== "loading") {
+          fireAProgressEvent("loadend", this);
+        }
       }
-      // https://fetch.spec.whatwg.org/#fetch-controller-abort
-      abort(error3) {
-        if (this.state !== "ongoing") {
-          return;
+      /**
+       * @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;
         }
-        this.state = "aborted";
-        if (!error3) {
-          error3 = new DOMException2("The operation was aborted.", "AbortError");
+      }
+      /**
+       * @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;
         }
-        this.serializedAbortReason = error3;
-        this.connection?.destroy(error3);
-        this.emit("terminated", error3);
       }
-    };
-    function fetch(input, init = {}) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "globalThis.fetch" });
-      const p = createDeferredPromise();
-      let requestObject;
-      try {
-        requestObject = new Request(input, init);
-      } catch (e) {
-        p.reject(e);
-        return p.promise;
+      get onerror() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].error;
       }
-      const request2 = requestObject[kState];
-      if (requestObject.signal.aborted) {
-        abortFetch(p, request2, null, requestObject.signal.reason);
-        return p.promise;
+      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;
+        }
       }
-      const globalObject = request2.client.globalObject;
-      if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") {
-        request2.serviceWorkers = "none";
+      get onloadstart() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].loadstart;
       }
-      let responseObject = null;
-      const relevantRealm = null;
-      let locallyAborted = false;
-      let controller = null;
-      addAbortListener(
-        requestObject.signal,
-        () => {
-          locallyAborted = true;
-          assert(controller != null);
-          controller.abort(requestObject.signal.reason);
-          abortFetch(p, request2, responseObject, requestObject.signal.reason);
+      set onloadstart(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].loadstart) {
+          this.removeEventListener("loadstart", this[kEvents].loadstart);
         }
-      );
-      const handleFetchDone = (response) => finalizeAndReportTiming(response, "fetch");
-      const processResponse = (response) => {
-        if (locallyAborted) {
-          return Promise.resolve();
+        if (typeof fn === "function") {
+          this[kEvents].loadstart = fn;
+          this.addEventListener("loadstart", fn);
+        } else {
+          this[kEvents].loadstart = null;
         }
-        if (response.aborted) {
-          abortFetch(p, request2, responseObject, controller.serializedAbortReason);
-          return Promise.resolve();
+      }
+      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 (response.type === "error") {
-          p.reject(
-            Object.assign(new TypeError("fetch failed"), { cause: response.error })
-          );
-          return Promise.resolve();
+        if (typeof fn === "function") {
+          this[kEvents].progress = fn;
+          this.addEventListener("progress", fn);
+        } else {
+          this[kEvents].progress = null;
         }
-        responseObject = new Response();
-        responseObject[kState] = response;
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = response.headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        p.resolve(responseObject);
-      };
-      controller = fetching({
-        request: request2,
-        processResponseEndOfBody: handleFetchDone,
-        processResponse,
-        dispatcher: init.dispatcher ?? getGlobalDispatcher()
-        // undici
-      });
-      return p.promise;
-    }
-    function finalizeAndReportTiming(response, initiatorType = "other") {
-      if (response.type === "error" && response.aborted) {
-        return;
       }
-      if (!response.urlList?.length) {
-        return;
+      get onload() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].load;
       }
-      const originalURL = response.urlList[0];
-      let timingInfo = response.timingInfo;
-      let cacheState = response.cacheState;
-      if (!urlIsHttpHttpsScheme(originalURL)) {
-        return;
+      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;
+        }
       }
-      if (timingInfo === null) {
-        return;
+      get onabort() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].abort;
       }
-      if (!response.timingAllowPassed) {
-        timingInfo = createOpaqueTimingInfo({
-          startTime: timingInfo.startTime
-        });
-        cacheState = "";
+      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;
+        }
       }
-      timingInfo.endTime = coarsenedSharedCurrentTime();
-      response.timingInfo = timingInfo;
-      markResourceTiming(
-        timingInfo,
-        originalURL,
-        initiatorType,
-        globalThis,
-        cacheState
-      );
+    };
+    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/@actions/github/node_modules/undici/lib/web/cache/symbols.js
+var require_symbols9 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kConstruct: require_symbols6().kConstruct
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js
+var require_util13 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { URLSerializer } = require_data_url2();
+    var { isValidHeaderName } = require_util10();
+    function urlEquals(A, B, excludeFragment = false) {
+      const serializedA = URLSerializer(A, excludeFragment);
+      const serializedB = URLSerializer(B, excludeFragment);
+      return serializedA === serializedB;
     }
-    function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) {
-      if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) {
-        performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis2, cacheState);
+    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;
     }
-    function abortFetch(p, request2, responseObject, error3) {
-      if (!error3) {
-        error3 = new DOMException2("The operation was aborted.", "AbortError");
+    module2.exports = {
+      urlEquals,
+      getFieldValues
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js
+var require_cache2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols9();
+    var { urlEquals, getFieldValues } = require_util13();
+    var { kEnumerableProperty, isDisturbed } = require_util9();
+    var { webidl } = require_webidl2();
+    var { Response, cloneResponse, fromInnerResponse } = require_response2();
+    var { Request, fromInnerRequest } = require_request4();
+    var { kState } = require_symbols7();
+    var { fetching } = require_fetch2();
+    var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util10();
+    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];
       }
-      p.reject(error3);
-      if (request2.body != null && isReadable(request2.body?.stream)) {
-        request2.body.stream.cancel(error3).catch((err) => {
-          if (err.code === "ERR_INVALID_STATE") {
-            return;
+      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);
           }
-          throw err;
         });
+        return cacheJobPromise.promise;
       }
-      if (responseObject == null) {
-        return;
-      }
-      const response = responseObject[kState];
-      if (response.body != null && isReadable(response.body?.stream)) {
-        response.body.stream.cancel(error3).catch((err) => {
-          if (err.code === "ERR_INVALID_STATE") {
-            return;
+      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 stream2 = innerResponse.body.stream;
+          const reader = stream2.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);
           }
-          throw err;
         });
+        return cacheJobPromise.promise;
       }
-    }
-    function fetching({
-      request: request2,
-      processRequestBodyChunkLength,
-      processRequestEndOfBody,
-      processResponse,
-      processResponseEndOfBody,
-      processResponseConsumeBody,
-      useParallelQueue = false,
-      dispatcher
-      // undici
-    }) {
-      let taskDestination = null;
-      let crossOriginIsolatedCapability = false;
-      if (request2.client != null) {
-        taskDestination = request2.client.globalObject;
-        crossOriginIsolatedCapability = request2.client.crossOriginIsolatedCapability;
-      }
-      const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
-      const timingInfo = createOpaqueTimingInfo({
-        startTime: currenTime
-      });
-      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
-          );
+      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 {
-          request2.policyContainer = makePolicyContainer();
+          assert(typeof request2 === "string");
+          r = new Request(request2)[kState];
         }
-      }
-      if (!request2.headersList.contains("accept")) {
-        const value = "*/*";
-        request2.headersList.append("accept", value);
-      }
-      if (!request2.headersList.contains("accept-language")) {
-        request2.headersList.append("accept-language", "*");
-      }
-      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"');
+        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);
           }
-          if (request2.mode === "no-cors") {
-            if (request2.redirect !== "follow") {
-              return makeNetworkError(
-                'redirect mode cannot be "follow" for "no-cors" request'
-              );
+        });
+        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 [];
             }
-            request2.responseTainting = "opaque";
-            return await schemeFetch(fetchParams);
-          }
-          if (!urlIsHttpHttpsScheme(requestCurrentURL(request2))) {
-            return makeNetworkError("URL scheme must be a HTTP(S) scheme");
+          } else if (typeof request2 === "string") {
+            r = new Request(request2)[kState];
           }
-          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");
+        const promise = createDeferredPromise();
+        const requests = [];
+        if (request2 === void 0) {
+          for (const requestResponse of this.#relevantRequestResponseList) {
+            requests.push(requestResponse[0]);
+          }
         } else {
-          assert(false);
+          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;
       }
-      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")) {
-        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;
+      /**
+       * @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]);
           }
-          response.body = safelyExtractBody(bytes)[0];
-          fetchFinale(fetchParams, response);
-        };
-        await fullyReadBody(response.body, processBody, processBodyError);
-      } else {
-        fetchFinale(fetchParams, response);
+          return resultList;
+        } catch (e) {
+          this.#relevantRequestResponseList.length = 0;
+          this.#relevantRequestResponseList = backupCache;
+          throw e;
+        }
       }
-    }
-    function schemeFetch(fetchParams) {
-      if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {
-        return Promise.resolve(makeAppropriateNetworkError(fetchParams));
+      /**
+       * @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;
       }
-      const { request: request2 } = fetchParams;
-      const { protocol: scheme } = requestCurrentURL(request2);
-      switch (scheme) {
-        case "about:": {
-          return Promise.resolve(makeNetworkError("about scheme is not supported"));
+      /**
+       * @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 = "";
         }
-        case "blob:": {
-          if (!resolveObjectURL) {
-            resolveObjectURL = require("buffer").resolveObjectURL;
-          }
-          const blobURLEntry = requestCurrentURL(request2);
-          if (blobURLEntry.search.length !== 0) {
-            return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));
+        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 blobURLEntryObject = resolveObjectURL(blobURLEntry.toString());
-          if (request2.method !== "GET" || !isBlobLike(blobURLEntryObject)) {
-            return Promise.resolve(makeNetworkError("invalid method"));
+          const requestValue = request2.headersList.get(fieldValue);
+          const queryValue = requestQuery.headersList.get(fieldValue);
+          if (requestValue !== queryValue) {
+            return false;
           }
-          const bodyWithType = safelyExtractBody(blobURLEntryObject);
-          const body = bodyWithType[0];
-          const length = isomorphicEncode(`${body.length}`);
-          const type2 = bodyWithType[1] ?? "";
-          const response = makeResponse({
-            statusText: "OK",
-            headersList: [
-              ["content-length", { name: "Content-Length", value: length }],
-              ["content-type", { name: "Content-Type", value: type2 }]
-            ]
-          });
-          response.body = body;
-          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"));
+        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 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));
+        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]);
+          }
         }
-        default: {
-          return Promise.resolve(makeNetworkError("unknown scheme"));
+        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);
       }
-    }
-    function finalizeResponse(fetchParams, response) {
-      fetchParams.request.done = true;
-      if (fetchParams.processResponseDone != null) {
-        queueMicrotask(() => fetchParams.processResponseDone(response));
-      }
-    }
-    function fetchFinale(fetchParams, response) {
-      if (response.type === "error") {
-        response.urlList = [fetchParams.request.urlList[0]];
-        response.timingInfo = createOpaqueTimingInfo({
-          startTime: fetchParams.timingInfo.startTime
-        });
+    };
+    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
       }
-      const processResponseEndOfBody = () => {
-        fetchParams.request.done = true;
-        if (fetchParams.processResponseEndOfBody != null) {
-          queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
-        }
-      };
-      if (fetchParams.processResponse != null) {
-        queueMicrotask(() => fetchParams.processResponse(response));
+    ];
+    webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters);
+    webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([
+      ...cacheQueryOptionConverters,
+      {
+        key: "cacheName",
+        converter: webidl.converters.DOMString
       }
-      if (response.body == null) {
-        processResponseEndOfBody();
-      } else {
-        const identityTransformAlgorithm = (chunk, controller) => {
-          controller.enqueue(chunk);
-        };
-        const transformStream = new TransformStream2({
-          start() {
-          },
-          transform: identityTransformAlgorithm,
-          flush: processResponseEndOfBody
-        }, {
-          size() {
-            return 1;
-          }
-        }, {
-          size() {
-            return 1;
-          }
-        });
-        response.body = { stream: response.body.stream.pipeThrough(transformStream) };
+    ]);
+    webidl.converters.Response = webidl.interfaceConverter(Response);
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.RequestInfo
+    );
+    module2.exports = {
+      Cache
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js
+var require_cachestorage2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols9();
+    var { Cache } = require_cache2();
+    var { webidl } = require_webidl2();
+    var { kEnumerableProperty } = require_util9();
+    var CacheStorage = class _CacheStorage {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
+       * @type {Map fetchParams.processResponseConsumeBody(response, nullOrBytes);
-        const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure);
-        if (response.body == null) {
-          queueMicrotask(() => processBody(null));
+      async match(request2, options = {}) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, "CacheStorage.match");
+        request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.MultiCacheQueryOptions(options);
+        if (options.cacheName != null) {
+          if (this.#caches.has(options.cacheName)) {
+            const cacheList = this.#caches.get(options.cacheName);
+            const cache = new Cache(kConstruct, cacheList);
+            return await cache.match(request2, options);
+          }
         } else {
-          return fullyReadBody(response.body, processBody, processBodyError);
+          for (const cacheList of this.#caches.values()) {
+            const cache = new Cache(kConstruct, cacheList);
+            const response = await cache.match(request2, options);
+            if (response !== void 0) {
+              return response;
+            }
+          }
         }
-        return Promise.resolve();
       }
-    }
-    async function httpFetch(fetchParams) {
-      const request2 = fetchParams.request;
-      let response = null;
-      let actualResponse = null;
-      const timingInfo = fetchParams.timingInfo;
-      if (request2.serviceWorkers === "all") {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-has
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      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);
       }
-      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;
+      /**
+       * @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);
       }
-      if ((request2.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
-        request2.origin,
-        request2.client,
-        request2.destination,
-        actualResponse
-      ) === "blocked") {
-        return makeNetworkError("blocked");
+      /**
+       * @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);
       }
-      if (redirectStatusSet.has(actualResponse.status)) {
-        if (request2.redirect !== "manual") {
-          fetchParams.controller.connection.destroy();
-        }
-        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);
+      /**
+       * @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/@actions/github/node_modules/undici/lib/web/cookies/constants.js
+var require_constants9 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/constants.js"(exports2, module2) {
+    "use strict";
+    var maxAttributeValueSize = 1024;
+    var maxNameValuePairSize = 4096;
+    module2.exports = {
+      maxAttributeValueSize,
+      maxNameValuePairSize
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/util.js
+var require_util14 = __commonJS({
+  "node_modules/@actions/github/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;
         }
       }
-      response.timingInfo = timingInfo;
-      return response;
+      return false;
     }
-    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;
+    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");
         }
-      } 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);
+    }
+    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;
       }
-      if (!sameOrigin(requestCurrentURL(request2), locationURL)) {
-        request2.headersList.delete("authorization");
-        request2.headersList.delete("proxy-authorization", true);
-        request2.headersList.delete("cookie");
-        request2.headersList.delete("host");
-      }
-      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;
+      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");
+        }
       }
-      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 = makeRequest(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";
+    function validateCookiePath(path11) {
+      for (let i = 0; i < path11.length; ++i) {
+        const code = path11.charCodeAt(i);
+        if (code < 32 || // exclude CTLs (0-31)
+        code === 127 || // DEL
+        code === 59) {
+          throw new Error("Invalid cookie path");
+        }
       }
-      if (contentLength != null) {
-        contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
+    }
+    function validateCookieDomain(domain) {
+      if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
+        throw new Error("Invalid cookie domain");
       }
-      if (contentLengthHeaderValue != null) {
-        httpRequest.headersList.append("content-length", contentLengthHeaderValue);
+    }
+    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);
       }
-      if (contentLength != null && httpRequest.keepalive) {
+      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");
       }
-      if (httpRequest.referrer instanceof URL) {
-        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href));
+    }
+    function stringify(cookie) {
+      if (cookie.name.length === 0) {
+        return null;
       }
-      appendRequestOriginHeader(httpRequest);
-      appendFetchMetadata(httpRequest);
-      if (!httpRequest.headersList.contains("user-agent")) {
-        httpRequest.headersList.append("user-agent", typeof esbuildDetection === "undefined" ? "undici" : "node");
+      validateCookieName(cookie.name);
+      validateCookieValue(cookie.value);
+      const out = [`${cookie.name}=${cookie.value}`];
+      if (cookie.name.startsWith("__Secure-")) {
+        cookie.secure = true;
       }
-      if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since") || httpRequest.headersList.contains("if-none-match") || httpRequest.headersList.contains("if-unmodified-since") || httpRequest.headersList.contains("if-match") || httpRequest.headersList.contains("if-range"))) {
-        httpRequest.cache = "no-store";
+      if (cookie.name.startsWith("__Host-")) {
+        cookie.secure = true;
+        cookie.domain = null;
+        cookie.path = "/";
       }
-      if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control")) {
-        httpRequest.headersList.append("cache-control", "max-age=0");
+      if (cookie.secure) {
+        out.push("Secure");
       }
-      if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") {
-        if (!httpRequest.headersList.contains("pragma")) {
-          httpRequest.headersList.append("pragma", "no-cache");
-        }
-        if (!httpRequest.headersList.contains("cache-control")) {
-          httpRequest.headersList.append("cache-control", "no-cache");
-        }
+      if (cookie.httpOnly) {
+        out.push("HttpOnly");
       }
-      if (httpRequest.headersList.contains("range")) {
-        httpRequest.headersList.append("accept-encoding", "identity");
+      if (typeof cookie.maxAge === "number") {
+        validateCookieMaxAge(cookie.maxAge);
+        out.push(`Max-Age=${cookie.maxAge}`);
       }
-      if (!httpRequest.headersList.contains("accept-encoding")) {
-        if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
-          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate");
-        } else {
-          httpRequest.headersList.append("accept-encoding", "gzip, deflate");
-        }
+      if (cookie.domain) {
+        validateCookieDomain(cookie.domain);
+        out.push(`Domain=${cookie.domain}`);
       }
-      httpRequest.headersList.delete("host");
-      if (includeCredentials) {
+      if (cookie.path) {
+        validateCookiePath(cookie.path);
+        out.push(`Path=${cookie.path}`);
       }
-      if (httpCache == null) {
-        httpRequest.cache = "no-store";
+      if (cookie.expires && cookie.expires.toString() !== "Invalid Date") {
+        out.push(`Expires=${toIMFDate(cookie.expires)}`);
       }
-      if (httpRequest.mode !== "no-store" && httpRequest.mode !== "reload") {
+      if (cookie.sameSite) {
+        out.push(`SameSite=${cookie.sameSite}`);
       }
-      if (response == null) {
-        if (httpRequest.mode === "only-if-cached") {
-          return makeNetworkError("only if cached");
-        }
-        const forwardResponse = await httpNetworkFetch(
-          httpFetchParams,
-          includeCredentials,
-          isNewConnectionFetch
-        );
-        if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {
-        }
-        if (revalidatingFlag && forwardResponse.status === 304) {
-        }
-        if (response == null) {
-          response = forwardResponse;
+      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("=")}`);
       }
-      response.urlList = [...httpRequest.urlList];
-      if (httpRequest.headersList.contains("range")) {
-        response.rangeRequested = true;
+      return out.join("; ");
+    }
+    module2.exports = {
+      isCTLExcludingHtab,
+      validateCookieName,
+      validateCookiePath,
+      validateCookieValue,
+      toIMFDate,
+      stringify
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js
+var require_parse2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js"(exports2, module2) {
+    "use strict";
+    var { maxNameValuePairSize, maxAttributeValueSize } = require_constants9();
+    var { isCTLExcludingHtab } = require_util14();
+    var { collectASequenceOfCodePointsFast } = require_data_url2();
+    var assert = require("node:assert");
+    function parseSetCookie(header) {
+      if (isCTLExcludingHtab(header)) {
+        return null;
       }
-      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");
+      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 (
-        // 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 (!nameValuePair.includes("=")) {
+        value = nameValuePair;
+      } else {
+        const position = { position: 0 };
+        name = collectASequenceOfCodePointsFast(
+          "=",
+          nameValuePair,
+          position
         );
+        value = nameValuePair.slice(position.position + 1);
       }
-      if (isAuthenticationFetch) {
+      name = name.trim();
+      value = value.trim();
+      if (name.length + value.length > maxNameValuePairSize) {
+        return null;
       }
-      return response;
-    }
-    async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) {
-      assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed);
-      fetchParams.controller.connection = {
-        abort: null,
-        destroyed: false,
-        destroy(err) {
-          if (!this.destroyed) {
-            this.destroyed = true;
-            this.abort?.(err ?? new DOMException2("The operation was aborted.", "AbortError"));
-          }
-        }
+      return {
+        name,
+        value,
+        ...parseUnparsedAttributes(unparsedAttributes)
       };
-      const request2 = fetchParams.request;
-      let response = null;
-      const timingInfo = fetchParams.timingInfo;
-      const httpCache = null;
-      if (httpCache == null) {
-        request2.cache = "no-store";
+    }
+    function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) {
+      if (unparsedAttributes.length === 0) {
+        return cookieAttributeList;
       }
-      const newConnection = forceNewConnection ? "yes" : "no";
-      if (request2.mode === "websocket") {
+      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 requestBody = null;
-      if (request2.body == null && fetchParams.processRequestEndOfBody) {
-        queueMicrotask(() => fetchParams.processRequestEndOfBody());
-      } else if (request2.body != null) {
-        const processBodyChunk = async function* (bytes) {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          yield bytes;
-          fetchParams.processRequestBodyChunkLength?.(bytes.byteLength);
-        };
-        const processEndOfBody = () => {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          if (fetchParams.processRequestEndOfBody) {
-            fetchParams.processRequestEndOfBody();
-          }
-        };
-        const processBodyError = (e) => {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          if (e.name === "AbortError") {
-            fetchParams.controller.abort();
-          } else {
-            fetchParams.controller.terminate(e);
-          }
-        };
-        requestBody = (async function* () {
-          try {
-            for await (const bytes of request2.body.stream) {
-              yield* processBodyChunk(bytes);
-            }
-            processEndOfBody();
-          } catch (err) {
-            processBodyError(err);
-          }
-        })();
-      }
-      try {
-        const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
-        if (socket) {
-          response = makeResponse({ status, statusText, headersList, socket });
-        } else {
-          const iterator2 = body[Symbol.asyncIterator]();
-          fetchParams.controller.next = () => iterator2.next();
-          response = makeResponse({ status, statusText, headersList });
-        }
-      } catch (err) {
-        if (err.name === "AbortError") {
-          fetchParams.controller.connection.destroy();
-          return makeAppropriateNetworkError(fetchParams, err);
-        }
-        return makeNetworkError(err);
+      let attributeName = "";
+      let attributeValue = "";
+      if (cookieAv.includes("=")) {
+        const position = { position: 0 };
+        attributeName = collectASequenceOfCodePointsFast(
+          "=",
+          cookieAv,
+          position
+        );
+        attributeValue = cookieAv.slice(position.position + 1);
+      } else {
+        attributeName = cookieAv;
       }
-      const pullAlgorithm = () => {
-        fetchParams.controller.resume();
-      };
-      const cancelAlgorithm = (reason) => {
-        fetchParams.controller.abort(reason);
-      };
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+      attributeName = attributeName.trim();
+      attributeValue = attributeValue.trim();
+      if (attributeValue.length > maxAttributeValueSize) {
+        return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
       }
-      const stream2 = new ReadableStream2(
-        {
-          async start(controller) {
-            fetchParams.controller.controller = controller;
-          },
-          async pull(controller) {
-            await pullAlgorithm(controller);
-          },
-          async cancel(reason) {
-            await cancelAlgorithm(reason);
-          }
-        },
-        {
-          highWaterMark: 0,
-          size() {
-            return 1;
-          }
+      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);
         }
-      );
-      response.body = { stream: stream2 };
-      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;
-          }
-          fetchParams.controller.controller.enqueue(new Uint8Array(bytes));
-          if (isErrored(stream2)) {
-            fetchParams.controller.terminate();
-            return;
-          }
-          if (!fetchParams.controller.controller.desiredSize) {
-            return;
-          }
+        if (!/^\d+$/.test(attributeValue)) {
+          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
         }
-      };
-      function onAborted(reason) {
-        if (isAborted(fetchParams)) {
-          response.aborted = true;
-          if (isReadable(stream2)) {
-            fetchParams.controller.controller.error(
-              fetchParams.controller.serializedAbortReason
-            );
-          }
+        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 {
-          if (isReadable(stream2)) {
-            fetchParams.controller.controller.error(new TypeError("terminated", {
-              cause: isErrorLike(reason) ? reason : void 0
-            }));
-          }
+          cookiePath = attributeValue;
         }
-        fetchParams.controller.connection.destroy();
-      }
-      return response;
-      async function dispatch({ body }) {
-        const url2 = requestCurrentURL(request2);
-        const agent = fetchParams.controller.dispatcher;
-        return new Promise((resolve6, reject) => agent.dispatch(
-          {
-            path: url2.pathname + url2.search,
-            origin: url2.origin,
-            method: request2.method,
-            body: fetchParams.controller.dispatcher.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
-            headers: request2.headersList.entries,
-            maxRedirections: 0,
-            upgrade: request2.mode === "websocket" ? "websocket" : void 0
-          },
-          {
-            body: null,
-            abort: null,
-            onConnect(abort) {
-              const { connection } = fetchParams.controller;
-              if (connection.destroyed) {
-                abort(new DOMException2("The operation was aborted.", "AbortError"));
-              } else {
-                fetchParams.controller.on("terminated", abort);
-                this.abort = connection.abort = abort;
-              }
-            },
-            onHeaders(status, headersList, resume, statusText) {
-              if (status < 200) {
-                return;
-              }
-              let codings = [];
-              let location = "";
-              const headers = new Headers();
-              if (Array.isArray(headersList)) {
-                for (let n = 0; n < headersList.length; n += 2) {
-                  const key = headersList[n + 0].toString("latin1");
-                  const val = headersList[n + 1].toString("latin1");
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim());
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
-              } else {
-                const keys = Object.keys(headersList);
-                for (const key of keys) {
-                  const val = headersList[key];
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim()).reverse();
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
-              }
-              this.body = new Readable2({ read: resume });
-              const decoders = [];
-              const willFollow = request2.redirect === "follow" && location && redirectStatusSet.has(status);
-              if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
-                for (const coding of codings) {
-                  if (coding === "x-gzip" || coding === "gzip") {
-                    decoders.push(zlib2.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: zlib2.constants.Z_SYNC_FLUSH,
-                      finishFlush: zlib2.constants.Z_SYNC_FLUSH
-                    }));
-                  } else if (coding === "deflate") {
-                    decoders.push(zlib2.createInflate());
-                  } else if (coding === "br") {
-                    decoders.push(zlib2.createBrotliDecompress());
-                  } else {
-                    decoders.length = 0;
-                    break;
-                  }
-                }
-              }
-              resolve6({
-                status,
-                statusText,
-                headersList: headers[kHeadersList],
-                body: decoders.length ? pipeline(this.body, ...decoders, () => {
-                }) : this.body.on("error", () => {
-                })
-              });
-              return true;
-            },
-            onData(chunk) {
-              if (fetchParams.controller.dump) {
-                return;
-              }
-              const bytes = chunk;
-              timingInfo.encodedBodySize += bytes.byteLength;
-              return this.body.push(bytes);
-            },
-            onComplete() {
-              if (this.abort) {
-                fetchParams.controller.off("terminated", this.abort);
-              }
-              fetchParams.controller.ended = true;
-              this.body.push(null);
-            },
-            onError(error3) {
-              if (this.abort) {
-                fetchParams.controller.off("terminated", this.abort);
-              }
-              this.body?.destroy(error3);
-              fetchParams.controller.terminate(error3);
-              reject(error3);
-            },
-            onUpgrade(status, headersList, socket) {
-              if (status !== 101) {
-                return;
-              }
-              const headers = new Headers();
-              for (let n = 0; n < headersList.length; n += 2) {
-                const key = headersList[n + 0].toString("latin1");
-                const val = headersList[n + 1].toString("latin1");
-                headers[kHeadersList].append(key, val);
-              }
-              resolve6({
-                status,
-                statusText: STATUS_CODES[status],
-                headersList: headers[kHeadersList],
-                socket
-              });
-              return true;
-            }
-          }
-        ));
+        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 = {
-      fetch,
-      Fetch,
-      fetching,
-      finalizeAndReportTiming
+      parseSetCookie,
+      parseUnparsedAttributes
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/symbols.js
-var require_symbols8 = __commonJS({
-  "node_modules/undici/lib/fileapi/symbols.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js
+var require_cookies2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js"(exports2, module2) {
     "use strict";
+    var { parseSetCookie } = require_parse2();
+    var { stringify } = require_util14();
+    var { webidl } = require_webidl2();
+    var { Headers } = require_headers2();
+    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 str2 = stringify(cookie);
+      if (str2) {
+        headers.append("Set-Cookie", str2);
+      }
+    }
+    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 = {
-      kState: /* @__PURE__ */ Symbol("FileReader state"),
-      kResult: /* @__PURE__ */ Symbol("FileReader result"),
-      kError: /* @__PURE__ */ Symbol("FileReader error"),
-      kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"),
-      kEvents: /* @__PURE__ */ Symbol("FileReader events"),
-      kAborted: /* @__PURE__ */ Symbol("FileReader aborted")
+      getCookies,
+      deleteCookie,
+      getSetCookies,
+      setCookie
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/progressevent.js
-var require_progressevent2 = __commonJS({
-  "node_modules/undici/lib/fileapi/progressevent.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js
+var require_events2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js"(exports2, module2) {
     "use strict";
     var { webidl } = require_webidl2();
-    var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
-    var ProgressEvent = class _ProgressEvent extends Event {
+    var { kEnumerableProperty } = require_util9();
+    var { kConstruct } = require_symbols6();
+    var { MessagePort } = require("node:worker_threads");
+    var MessageEvent = class _MessageEvent extends Event {
+      #eventInit;
       constructor(type2, eventInitDict = {}) {
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
+        if (type2 === kConstruct) {
+          super(arguments[1], arguments[2]);
+          webidl.util.markAsUncloneable(this);
+          return;
+        }
+        const prefix = "MessageEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.MessageEventInit(eventInitDict, prefix, "eventInitDict");
         super(type2, eventInitDict);
-        this[kState] = {
-          lengthComputable: eventInitDict.lengthComputable,
-          loaded: eventInitDict.loaded,
-          total: eventInitDict.total
-        };
+        this.#eventInit = eventInitDict;
+        webidl.util.markAsUncloneable(this);
       }
-      get lengthComputable() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].lengthComputable;
+      get data() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.data;
       }
-      get loaded() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].loaded;
+      get origin() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.origin;
       }
-      get total() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].total;
+      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(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
+        webidl.brandCheck(this, _MessageEvent);
+        webidl.argumentLengthCheck(arguments, 1, "MessageEvent.initMessageEvent");
+        return new _MessageEvent(type2, {
+          bubbles,
+          cancelable,
+          data,
+          origin,
+          lastEventId,
+          source,
+          ports
+        });
+      }
+      static createFastMessageEvent(type2, init) {
+        const messageEvent = new _MessageEvent(kConstruct, type2, 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(type2, eventInitDict = {}) {
+        const prefix = "CloseEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
+        super(type2, 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(type2, eventInitDict) {
+        const prefix = "ErrorEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        super(type2, eventInitDict);
+        webidl.util.markAsUncloneable(this);
+        type2 = webidl.converters.DOMString(type2, 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;
       }
     };
-    webidl.converters.ProgressEventInit = webidl.dictionaryConverter([
-      {
-        key: "lengthComputable",
-        converter: webidl.converters.boolean,
-        defaultValue: false
+    Object.defineProperties(MessageEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "MessageEvent",
+        configurable: true
       },
-      {
-        key: "loaded",
-        converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
+      data: kEnumerableProperty,
+      origin: kEnumerableProperty,
+      lastEventId: kEnumerableProperty,
+      source: kEnumerableProperty,
+      ports: kEnumerableProperty,
+      initMessageEvent: kEnumerableProperty
+    });
+    Object.defineProperties(CloseEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "CloseEvent",
+        configurable: true
       },
-      {
-        key: "total",
-        converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
+      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
+        defaultValue: () => false
       },
       {
         key: "cancelable",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "composed",
         converter: webidl.converters.boolean,
-        defaultValue: false
-      }
-    ]);
-    module2.exports = {
-      ProgressEvent
-    };
-  }
-});
-
-// node_modules/undici/lib/fileapi/encoding.js
-var require_encoding2 = __commonJS({
-  "node_modules/undici/lib/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/fileapi/util.js
-var require_util12 = __commonJS({
-  "node_modules/undici/lib/fileapi/util.js"(exports2, module2) {
-    "use strict";
-    var {
-      kState,
-      kError,
-      kResult,
-      kAborted,
-      kLastProgressEventFired
-    } = require_symbols8();
-    var { ProgressEvent } = require_progressevent2();
-    var { getEncoding } = require_encoding2();
-    var { DOMException: DOMException2 } = require_constants7();
-    var { serializeAMimeType, parseMIMEType } = require_dataURL();
-    var { types } = require("util");
-    var { StringDecoder } = require("string_decoder");
-    var { btoa: btoa2 } = require("buffer");
-    var staticPropertyDescriptors = {
-      enumerable: true,
-      writable: false,
-      configurable: false
-    };
-    function readOperation(fr, blob, type2, encodingName) {
-      if (fr[kState] === "loading") {
-        throw new DOMException2("Invalid state", "InvalidStateError");
-      }
-      fr[kState] = "loading";
-      fr[kResult] = null;
-      fr[kError] = null;
-      const stream2 = blob.stream();
-      const reader = stream2.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, type2, blob.type, encodingName);
-                  if (fr[kAborted]) {
-                    return;
-                  }
-                  fr[kResult] = result;
-                  fireAProgressEvent("load", fr);
-                } catch (error3) {
-                  fr[kError] = error3;
-                  fireAProgressEvent("error", fr);
-                }
-                if (fr[kState] !== "loading") {
-                  fireAProgressEvent("loadend", fr);
-                }
-              });
-              break;
-            }
-          } catch (error3) {
-            if (fr[kAborted]) {
-              return;
-            }
-            queueMicrotask(() => {
-              fr[kState] = "done";
-              fr[kError] = error3;
-              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, type2, mimeType, encodingName) {
-      switch (type2) {
-        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 += btoa2(decoder.write(chunk));
-          }
-          dataURL += btoa2(decoder.end());
-          return dataURL;
-        }
-        case "Text": {
-          let encoding = "failure";
-          if (encodingName) {
-            encoding = getEncoding(encodingName);
-          }
-          if (encoding === "failure" && mimeType) {
-            const type3 = parseMIMEType(mimeType);
-            if (type3 !== "failure") {
-              encoding = getEncoding(type3.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;
-        }
+        defaultValue: () => false
       }
-    }
-    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;
+    ];
+    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)
       }
-      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";
+    ]);
+    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: () => ""
       }
-      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));
-    }
+    ]);
+    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 = {
-      staticPropertyDescriptors,
-      readOperation,
-      fireAProgressEvent
+      MessageEvent,
+      CloseEvent,
+      ErrorEvent,
+      createFastMessageEvent
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/filereader.js
-var require_filereader2 = __commonJS({
-  "node_modules/undici/lib/fileapi/filereader.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js
+var require_constants10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js"(exports2, module2) {
     "use strict";
-    var {
+    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,
-      readOperation,
-      fireAProgressEvent
-    } = require_util12();
-    var {
-      kState,
-      kError,
-      kResult,
-      kEvents,
-      kAborted
-    } = require_symbols8();
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util9();
-    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, { header: "FileReader.readAsArrayBuffer" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "ArrayBuffer");
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#readAsBinaryString
-       * @param {import('buffer').Blob} blob
-       */
-      readAsBinaryString(blob) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsBinaryString" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "BinaryString");
-      }
-      /**
-       * @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, { header: "FileReader.readAsText" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        if (encoding !== void 0) {
-          encoding = webidl.converters.DOMString(encoding);
-        }
-        readOperation(this, blob, "Text", encoding);
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dfn-readAsDataURL
-       * @param {import('buffer').Blob} blob
-       */
-      readAsDataURL(blob) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsDataURL" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "DataURL");
+      states,
+      opcodes,
+      maxUnsigned16Bit,
+      parserStates,
+      emptyBuffer,
+      sendHints
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js
+var require_symbols10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
+      kReadyState: /* @__PURE__ */ Symbol("ready state"),
+      kController: /* @__PURE__ */ Symbol("controller"),
+      kResponse: /* @__PURE__ */ Symbol("response"),
+      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
+      kSentClose: /* @__PURE__ */ Symbol("sent close"),
+      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
+      kByteParser: /* @__PURE__ */ Symbol("byte parser")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js
+var require_util15 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js"(exports2, module2) {
+    "use strict";
+    var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols10();
+    var { states, opcodes } = require_constants10();
+    var { ErrorEvent, createFastMessageEvent } = require_events2();
+    var { isUtf8 } = require("node:buffer");
+    var { collectASequenceOfCodePointsFast, removeHTTPWhitespace } = require_data_url2();
+    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 = (type2, init) => new Event(type2, init), eventInitDict = {}) {
+      const event = eventFactory(e, eventInitDict);
+      target.dispatchEvent(event);
+    }
+    function websocketMessageReceived(ws, type2, data) {
+      if (ws[kReadyState] !== states.OPEN) {
+        return;
       }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dfn-abort
-       */
-      abort() {
-        if (this[kState] === "empty" || this[kState] === "done") {
-          this[kResult] = null;
+      let dataForEvent;
+      if (type2 === opcodes.TEXT) {
+        try {
+          dataForEvent = utf8Decode(data);
+        } catch {
+          failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
           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 if (type2 === opcodes.BINARY) {
+        if (ws[kBinaryType] === "blob") {
+          dataForEvent = new Blob([data]);
         } else {
-          this[kEvents].loadend = null;
+          dataForEvent = toArrayBuffer(data);
         }
       }
-      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;
-        }
+      fireEvent("message", ws, createFastMessageEvent, {
+        origin: ws[kWebSocketURL].origin,
+        data: dataForEvent
+      });
+    }
+    function toArrayBuffer(buffer) {
+      if (buffer.byteLength === buffer.buffer.byteLength) {
+        return buffer.buffer;
       }
-      get onloadstart() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].loadstart;
+      return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
+    }
+    function isValidSubprotocol(protocol) {
+      if (protocol.length === 0) {
+        return false;
       }
-      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;
+      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;
         }
       }
-      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;
-        }
+      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;
       }
-      get onload() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].load;
+      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();
       }
-      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;
-        }
+      if (reason) {
+        fireEvent("error", ws, (type2, init) => new ErrorEvent(type2, init), {
+          error: new Error(reason),
+          message: reason
+        });
       }
-      get onabort() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].abort;
+    }
+    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++;
       }
-      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;
+      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;
         }
       }
-    };
-    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
+      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");
       }
-    });
-    Object.defineProperties(FileReader, {
-      EMPTY: staticPropertyDescriptors,
-      LOADING: staticPropertyDescriptors,
-      DONE: staticPropertyDescriptors
-    });
-    module2.exports = {
-      FileReader
+      throw new TypeError("Invalid utf-8 received.");
     };
-  }
-});
-
-// node_modules/undici/lib/cache/symbols.js
-var require_symbols9 = __commonJS({
-  "node_modules/undici/lib/cache/symbols.js"(exports2, module2) {
-    "use strict";
     module2.exports = {
-      kConstruct: require_symbols6().kConstruct
+      isConnecting,
+      isEstablished,
+      isClosing,
+      isClosed,
+      fireEvent,
+      isValidSubprotocol,
+      isValidStatusCode,
+      failWebsocketConnection,
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isContinuationFrame,
+      isTextBinaryFrame,
+      isValidOpcode,
+      parseExtensions,
+      isValidClientWindowBits
     };
   }
 });
 
-// node_modules/undici/lib/cache/util.js
-var require_util13 = __commonJS({
-  "node_modules/undici/lib/cache/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js
+var require_frame2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { URLSerializer } = require_dataURL();
-    var { isValidHeaderName } = require_util10();
-    function urlEquals(A, B, excludeFragment = false) {
-      const serializedA = URLSerializer(A, excludeFragment);
-      const serializedB = URLSerializer(B, excludeFragment);
-      return serializedA === serializedB;
-    }
-    function fieldValues(header) {
-      assert(header !== null);
-      const values = [];
-      for (let value of header.split(",")) {
-        value = value.trim();
-        if (!value.length) {
-          continue;
-        } else if (!isValidHeaderName(value)) {
-          continue;
+    var { maxUnsigned16Bit } = require_constants10();
+    var BUFFER_SIZE = 16386;
+    var crypto2;
+    var buffer = null;
+    var bufIdx = BUFFER_SIZE;
+    try {
+      crypto2 = require("node:crypto");
+    } catch {
+      crypto2 = {
+        // not full compatibility, but minimum.
+        randomFillSync: function randomFillSync2(buffer2, _offset, _size) {
+          for (let i = 0; i < buffer2.length; ++i) {
+            buffer2[i] = Math.random() * 255 | 0;
+          }
+          return buffer2;
         }
-        values.push(value);
+      };
+    }
+    function generateMask() {
+      if (bufIdx === BUFFER_SIZE) {
+        bufIdx = 0;
+        crypto2.randomFillSync(buffer ??= Buffer.allocUnsafe(BUFFER_SIZE), 0, BUFFER_SIZE);
       }
-      return values;
+      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 = {
-      urlEquals,
-      fieldValues
+      WebsocketFrameSend
     };
   }
 });
 
-// node_modules/undici/lib/cache/cache.js
-var require_cache2 = __commonJS({
-  "node_modules/undici/lib/cache/cache.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js
+var require_connection2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js"(exports2, module2) {
     "use strict";
-    var { kConstruct } = require_symbols9();
-    var { urlEquals, fieldValues: getFieldValues } = require_util13();
-    var { kEnumerableProperty, isDisturbed } = require_util9();
-    var { kHeadersList } = require_symbols6();
-    var { webidl } = require_webidl2();
-    var { Response, cloneResponse } = require_response2();
-    var { Request } = require_request4();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
+    var { uid, states, sentCloseFrameState, emptyBuffer, opcodes } = require_constants10();
+    var {
+      kReadyState,
+      kSentClose,
+      kByteParser,
+      kReceivedClose,
+      kResponse
+    } = require_symbols10();
+    var { fireEvent, failWebsocketConnection, isClosing, isClosed, isEstablished, parseExtensions } = require_util15();
+    var { channels } = require_diagnostics2();
+    var { CloseEvent } = require_events2();
+    var { makeRequest } = require_request4();
     var { fetching } = require_fetch2();
-    var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util10();
-    var assert = require("assert");
-    var { getGlobalDispatcher } = require_global4();
-    var Cache = class _Cache {
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list
-       * @type {requestResponseList}
-       */
-      #relevantRequestResponseList;
-      constructor() {
-        if (arguments[0] !== kConstruct) {
-          webidl.illegalConstructor();
-        }
-        this.#relevantRequestResponseList = arguments[1];
+    var { Headers, getHeadersList } = require_headers2();
+    var { getDecodeSplit } = require_util10();
+    var { WebsocketFrameSend } = require_frame2();
+    var crypto2;
+    try {
+      crypto2 = require("node:crypto");
+    } catch {
+    }
+    function establishWebSocketConnection(url2, protocols, client, ws, onEstablish, options) {
+      const requestURL = url2;
+      requestURL.protocol = url2.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;
       }
-      async match(request2, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.match" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        const p = await this.matchAll(request2, options);
-        if (p.length === 0) {
-          return;
-        }
-        return p[0];
+      const keyValue = crypto2.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);
       }
-      async matchAll(request2 = void 0, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(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 responses = [];
-        if (request2 === void 0) {
-          for (const requestResponse of this.#relevantRequestResponseList) {
-            responses.push(requestResponse[1]);
+      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;
           }
-        } else {
-          const requestResponses = this.#queryCache(r, options);
-          for (const requestResponse of requestResponses) {
-            responses.push(requestResponse[1]);
+          if (protocols.length !== 0 && !response.headersList.get("Sec-WebSocket-Protocol")) {
+            failWebsocketConnection(ws, "Server did not respond with sent protocols.");
+            return;
           }
-        }
-        const responseList = [];
-        for (const response of responses) {
-          const responseObject = new Response(response.body?.source ?? null);
-          const body = responseObject[kState].body;
-          responseObject[kState] = response;
-          responseObject[kState].body = body;
-          responseObject[kHeaders][kHeadersList] = response.headersList;
-          responseObject[kHeaders][kGuard] = "immutable";
-          responseList.push(responseObject);
-        }
-        return Object.freeze(responseList);
-      }
-      async add(request2) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.add" });
-        request2 = webidl.converters.RequestInfo(request2);
-        const requests = [request2];
-        const responseArrayPromise = this.addAll(requests);
-        return await responseArrayPromise;
-      }
-      async addAll(requests) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.addAll" });
-        requests = webidl.converters["sequence"](requests);
-        const responsePromises = [];
-        const requestList = [];
-        for (const request2 of requests) {
-          if (typeof request2 === "string") {
-            continue;
+          if (response.headersList.get("Upgrade")?.toLowerCase() !== "websocket") {
+            failWebsocketConnection(ws, 'Server did not set Upgrade header to "websocket".');
+            return;
           }
-          const r = request2[kState];
-          if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") {
-            throw webidl.errors.exception({
-              header: "Cache.addAll",
-              message: "Expected http/s scheme when method is not GET."
-            });
+          if (response.headersList.get("Connection")?.toLowerCase() !== "upgrade") {
+            failWebsocketConnection(ws, 'Server did not set Connection header to "upgrade".');
+            return;
           }
-        }
-        const fetchControllers = [];
-        for (const request2 of requests) {
-          const r = new Request(request2)[kState];
-          if (!urlIsHttpHttpsScheme(r.url)) {
-            throw webidl.errors.exception({
-              header: "Cache.addAll",
-              message: "Expected http/s scheme."
-            });
+          const secWSAccept = response.headersList.get("Sec-WebSocket-Accept");
+          const digest = crypto2.createHash("sha1").update(keyValue + uid).digest("base64");
+          if (secWSAccept !== digest) {
+            failWebsocketConnection(ws, "Incorrect hash received in Sec-WebSocket-Accept header.");
+            return;
           }
-          r.initiator = "fetch";
-          r.destination = "subresource";
-          requestList.push(r);
-          const responsePromise = createDeferredPromise();
-          fetchControllers.push(fetching({
-            request: r,
-            dispatcher: getGlobalDispatcher(),
-            processResponse(response) {
-              if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) {
-                responsePromise.reject(webidl.errors.exception({
-                  header: "Cache.addAll",
-                  message: "Received an invalid status code or the request failed."
-                }));
-              } else if (response.headersList.contains("vary")) {
-                const fieldValues = getFieldValues(response.headersList.get("vary"));
-                for (const fieldValue of fieldValues) {
-                  if (fieldValue === "*") {
-                    responsePromise.reject(webidl.errors.exception({
-                      header: "Cache.addAll",
-                      message: "invalid vary field value"
-                    }));
-                    for (const controller of fetchControllers) {
-                      controller.abort();
-                    }
-                    return;
-                  }
-                }
-              }
-            },
-            processResponseEndOfBody(response) {
-              if (response.aborted) {
-                responsePromise.reject(new DOMException("aborted", "AbortError"));
-                return;
-              }
-              responsePromise.resolve(response);
+          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;
             }
-          }));
-          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);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Cache.put" });
-        request2 = webidl.converters.RequestInfo(request2);
-        response = webidl.converters.Response(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: "Cache.put",
-            message: "Expected an http/s scheme when method is not GET"
-          });
-        }
-        const innerResponse = response[kState];
-        if (innerResponse.status === 206) {
-          throw webidl.errors.exception({
-            header: "Cache.put",
-            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: "Cache.put",
-                message: "Got * vary field value"
-              });
+          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);
         }
-        if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {
-          throw webidl.errors.exception({
-            header: "Cache.put",
-            message: "Response body is locked or disturbed"
-          });
-        }
-        const clonedResponse = cloneResponse(innerResponse);
-        const bodyReadPromise = createDeferredPromise();
-        if (innerResponse.body != null) {
-          const stream2 = innerResponse.body.stream;
-          const reader = stream2.getReader();
-          readAllBytes(reader).then(bodyReadPromise.resolve, bodyReadPromise.reject);
+      });
+      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 {
-          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;
+          frame.frameData = emptyBuffer;
         }
-        queueMicrotask(() => {
-          if (errorData === null) {
-            cacheJobPromise.resolve();
-          } else {
-            cacheJobPromise.reject(errorData);
-          }
-        });
-        return cacheJobPromise.promise;
+        const socket = ws[kResponse].socket;
+        socket.write(frame.createFrame(opcodes.CLOSE));
+        ws[kSentClose] = sentCloseFrameState.SENT;
+        ws[kReadyState] = states.CLOSING;
+      } else {
+        ws[kReadyState] = states.CLOSING;
       }
-      async delete(request2, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.delete" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(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);
-          }
+    }
+    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, (type2, init) => new CloseEvent(type2, init), {
+        wasClean,
+        code,
+        reason
+      });
+      if (channels.close.hasSubscribers) {
+        channels.close.publish({
+          websocket: ws,
+          code,
+          reason
         });
-        return cacheJobPromise.promise;
       }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys
-       * @param {any} request
-       * @param {import('../../types/cache').CacheQueryOptions} options
-       * @returns {readonly Request[]}
-       */
-      async keys(request2 = void 0, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        let r = null;
-        if (request2 !== void 0) {
-          if (request2 instanceof Request) {
-            r = request2[kState];
-            if (r.method !== "GET" && !options.ignoreMethod) {
-              return [];
+    }
+    function onSocketError(error3) {
+      const { ws } = this;
+      ws[kReadyState] = states.CLOSING;
+      if (channels.socketError.hasSubscribers) {
+        channels.socketError.publish(error3);
+      }
+      this.destroy();
+    }
+    module2.exports = {
+      establishWebSocketConnection,
+      closeWebSocketConnection
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js
+var require_permessage_deflate2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js"(exports2, module2) {
+    "use strict";
+    var { createInflateRaw, Z_DEFAULT_WINDOWBITS } = require("node:zlib");
+    var { isValidClientWindowBits } = require_util15();
+    var tail = Buffer.from([0, 0, 255, 255]);
+    var kBuffer = /* @__PURE__ */ Symbol("kBuffer");
+    var kLength = /* @__PURE__ */ 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;
             }
-          } else if (typeof request2 === "string") {
-            r = new Request(request2)[kState];
+            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);
+          });
         }
-        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]);
-          }
+        this.#inflate.write(chunk);
+        if (fin) {
+          this.#inflate.write(tail);
         }
-        queueMicrotask(() => {
-          const requestList = [];
-          for (const request3 of requests) {
-            const requestObject = new Request("https://a");
-            requestObject[kState] = request3;
-            requestObject[kHeaders][kHeadersList] = request3.headersList;
-            requestObject[kHeaders][kGuard] = "immutable";
-            requestObject[kRealm] = request3.client;
-            requestList.push(requestObject);
-          }
-          promise.resolve(Object.freeze(requestList));
+        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);
         });
-        return promise.promise;
+      }
+    };
+    module2.exports = { PerMessageDeflate };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/receiver.js
+var require_receiver2 = __commonJS({
+  "node_modules/@actions/github/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_constants10();
+    var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols10();
+    var { channels } = require_diagnostics2();
+    var {
+      isValidStatusCode,
+      isValidOpcode,
+      failWebsocketConnection,
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isTextBinaryFrame,
+      isContinuationFrame
+    } = require_util15();
+    var { WebsocketFrameSend } = require_frame2();
+    var { closeWebSocketConnection } = require_connection2();
+    var { PerMessageDeflate } = require_permessage_deflate2();
+    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));
+        }
       }
       /**
-       * @see https://w3c.github.io/ServiceWorker/#batch-cache-operations-algorithm
-       * @param {CacheBatchOperation[]} operations
-       * @returns {requestResponseList}
+       * @param {Buffer} chunk
+       * @param {() => void} callback
        */
-      #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"'
-              });
+      _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();
             }
-            if (operation.type === "delete" && operation.response != null) {
-              throw webidl.errors.exception({
-                header: "Cache.#batchCacheOperations",
-                message: "delete operation should not have an associated response"
-              });
+            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 (this.#queryCache(operation.request, operation.options, addedItems).length) {
-              throw new DOMException("???", "InvalidStateError");
+            if (masked) {
+              failWebsocketConnection(this.ws, "Frame cannot be masked");
+              return callback();
             }
-            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"
+            if (rsv1 !== 0 && !this.#extensions.has("permessage-deflate")) {
+              failWebsocketConnection(this.ws, "Expected RSV1 to be clear.");
+              return;
+            }
+            if (rsv2 !== 0 || rsv3 !== 0) {
+              failWebsocketConnection(this.ws, "RSV1, RSV2, RSV3 must be clear");
+              return;
+            }
+            if (fragmented && !isTextBinaryFrame(opcode)) {
+              failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
+              return;
+            }
+            if (isTextBinaryFrame(opcode) && this.#fragments.length > 0) {
+              failWebsocketConnection(this.ws, "Expected continuation frame");
+              return;
+            }
+            if (this.#info.fragmented && fragmented) {
+              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
+              return;
+            }
+            if ((payloadLength > 125 || fragmented) && isControlFrame(opcode)) {
+              failWebsocketConnection(this.ws, "Control frame either too large or fragmented");
+              return;
+            }
+            if (isContinuationFrame(opcode) && this.#fragments.length === 0 && !this.#info.compressed) {
+              failWebsocketConnection(this.ws, "Unexpected continuation frame");
+              return;
+            }
+            if (payloadLength <= 125) {
+              this.#info.payloadLength = payloadLength;
+              this.#state = parserStates.READ_DATA;
+            } else if (payloadLength === 126) {
+              this.#state = parserStates.PAYLOADLENGTH_16;
+            } else if (payloadLength === 127) {
+              this.#state = parserStates.PAYLOADLENGTH_64;
+            }
+            if (isTextBinaryFrame(opcode)) {
+              this.#info.binaryType = opcode;
+              this.#info.compressed = rsv1 !== 0;
+            }
+            this.#info.opcode = opcode;
+            this.#info.masked = masked;
+            this.#info.fin = fin;
+            this.#info.fragmented = fragmented;
+          } else if (this.#state === parserStates.PAYLOADLENGTH_16) {
+            if (this.#byteOffset < 2) {
+              return callback();
+            }
+            const buffer = this.consume(2);
+            this.#info.payloadLength = buffer.readUInt16BE(0);
+            this.#state = parserStates.READ_DATA;
+          } else if (this.#state === parserStates.PAYLOADLENGTH_64) {
+            if (this.#byteOffset < 8) {
+              return callback();
+            }
+            const buffer = this.consume(8);
+            const upper = buffer.readUInt32BE(0);
+            if (upper > 2 ** 31 - 1) {
+              failWebsocketConnection(this.ws, "Received payload length > 2^31 bytes.");
+              return;
+            }
+            const lower = buffer.readUInt32BE(4);
+            this.#info.payloadLength = (upper << 8) + lower;
+            this.#state = parserStates.READ_DATA;
+          } else if (this.#state === parserStates.READ_DATA) {
+            if (this.#byteOffset < this.#info.payloadLength) {
+              return callback();
+            }
+            const body = this.consume(this.#info.payloadLength);
+            if (isControlFrame(this.#info.opcode)) {
+              this.#loop = this.parseControlFrame(body);
+              this.#state = parserStates.INFO;
+            } else {
+              if (!this.#info.compressed) {
+                this.#fragments.push(body);
+                if (!this.#info.fragmented && this.#info.fin) {
+                  const fullMessage = Buffer.concat(this.#fragments);
+                  websocketMessageReceived(this.ws, this.#info.binaryType, fullMessage);
+                  this.#fragments.length = 0;
+                }
+                this.#state = parserStates.INFO;
+              } else {
+                this.#extensions.get("permessage-deflate").decompress(body, this.#info.fin, (error3, data) => {
+                  if (error3) {
+                    closeWebSocketConnection(this.ws, 1007, error3.message, error3.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;
               }
-              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}
+       * Take n bytes from the buffered Buffers
+       * @param {number} n
+       * @returns {Buffer}
        */
-      #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);
+      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;
           }
         }
-        return resultList;
+        this.#byteOffset -= n;
+        return buffer;
       }
-      /**
-       * @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 = "";
+      parseCloseBody(data) {
+        assert(data.length !== 1);
+        let code;
+        if (data.length >= 2) {
+          code = data.readUInt16BE(0);
         }
-        if (!urlEquals(queryURL, cachedURL, true)) {
-          return false;
+        if (code !== void 0 && !isValidStatusCode(code)) {
+          return { code: 1002, reason: "Invalid status code", error: true };
         }
-        if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) {
-          return true;
+        let reason = data.subarray(2);
+        if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
+          reason = reason.subarray(3);
         }
-        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;
-          }
+        try {
+          reason = utf8Decode(reason);
+        } catch {
+          return { code: 1007, reason: "Invalid UTF-8", error: true };
         }
-        return true;
-      }
-    };
-    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
+        return { code, reason, error: false };
       }
-    ]);
-    webidl.converters.Response = webidl.interfaceConverter(Response);
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.RequestInfo
-    );
-    module2.exports = {
-      Cache
-    };
-  }
-});
-
-// node_modules/undici/lib/cache/cachestorage.js
-var require_cachestorage2 = __commonJS({
-  "node_modules/undici/lib/cache/cachestorage.js"(exports2, module2) {
-    "use strict";
-    var { kConstruct } = require_symbols9();
-    var { Cache } = require_cache2();
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util9();
-    var CacheStorage = class _CacheStorage {
       /**
-       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
-       * @type {Map {
+                if (!err) {
+                  this.ws[kSentClose] = sentCloseFrameState.SENT;
+                }
+              }
+            );
+          }
+          this.ws[kReadyState] = states.CLOSING;
+          this.ws[kReceivedClose] = true;
+          return false;
+        } else if (opcode === opcodes.PING) {
+          if (!this.ws[kReceivedClose]) {
+            const frame = new WebsocketFrameSend(body);
+            this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
+            if (channels.ping.hasSubscribers) {
+              channels.ping.publish({
+                payload: body
+              });
             }
           }
+        } else if (opcode === opcodes.PONG) {
+          if (channels.pong.hasSubscribers) {
+            channels.pong.publish({
+              payload: body
+            });
+          }
         }
+        return true;
       }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#cache-storage-has
-       * @param {string} cacheName
-       * @returns {Promise}
-       */
-      async has(cacheName) {
-        webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.has" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        return this.#caches.has(cacheName);
-      }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open
-       * @param {string} cacheName
-       * @returns {Promise}
-       */
-      async open(cacheName) {
-        webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.open" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        if (this.#caches.has(cacheName)) {
-          const cache2 = this.#caches.get(cacheName);
-          return new Cache(kConstruct, cache2);
-        }
-        const 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);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.delete" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        return this.#caches.delete(cacheName);
-      }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys
-       * @returns {string[]}
-       */
-      async keys() {
-        webidl.brandCheck(this, _CacheStorage);
-        const keys = this.#caches.keys();
-        return [...keys];
+      get closingInfo() {
+        return this.#info.closeInfo;
       }
     };
-    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/cookies/constants.js
-var require_constants9 = __commonJS({
-  "node_modules/undici/lib/cookies/constants.js"(exports2, module2) {
-    "use strict";
-    var maxAttributeValueSize = 1024;
-    var maxNameValuePairSize = 4096;
     module2.exports = {
-      maxAttributeValueSize,
-      maxNameValuePairSize
+      ByteParser
     };
   }
 });
 
-// node_modules/undici/lib/cookies/util.js
-var require_util14 = __commonJS({
-  "node_modules/undici/lib/cookies/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js
+var require_sender2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js"(exports2, module2) {
     "use strict";
-    function isCTLExcludingHtab(value) {
-      if (value.length === 0) {
-        return false;
-      }
-      for (const char of value) {
-        const code = char.charCodeAt(0);
-        if (code >= 0 || code <= 8 || (code >= 10 || code <= 31) || code === 127) {
-          return false;
-        }
+    var { WebsocketFrameSend } = require_frame2();
+    var { opcodes, sendHints } = require_constants10();
+    var FixedQueue = require_fixed_queue2();
+    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;
       }
-    }
-    function validateCookieName(name) {
-      for (const char of name) {
-        const code = char.charCodeAt(0);
-        if (code <= 32 || code > 127 || char === "(" || char === ")" || char === ">" || char === "<" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}") {
-          throw new Error("Invalid cookie name");
+      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;
         }
-      }
-    }
-    function validateCookieValue(value) {
-      for (const char of value) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || // exclude CTLs (0-31)
-        code === 34 || code === 44 || code === 59 || code === 92 || code > 126) {
-          throw new Error("Invalid header value");
+        const 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();
         }
       }
-    }
-    function validateCookiePath(path11) {
-      for (const char of path11) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || char === ";") {
-          throw new Error("Invalid cookie path");
+      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 validateCookieDomain(domain) {
-      if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
-        throw new Error("Invalid cookie domain");
-      }
-    }
-    function toIMFDate(date) {
-      if (typeof date === "number") {
-        date = new Date(date);
-      }
-      const days = [
-        "Sun",
-        "Mon",
-        "Tue",
-        "Wed",
-        "Thu",
-        "Fri",
-        "Sat"
-      ];
-      const months = [
-        "Jan",
-        "Feb",
-        "Mar",
-        "Apr",
-        "May",
-        "Jun",
-        "Jul",
-        "Aug",
-        "Sep",
-        "Oct",
-        "Nov",
-        "Dec"
-      ];
-      const dayName = days[date.getUTCDay()];
-      const day = date.getUTCDate().toString().padStart(2, "0");
-      const month = months[date.getUTCMonth()];
-      const year = date.getUTCFullYear();
-      const hour = date.getUTCHours().toString().padStart(2, "0");
-      const minute = date.getUTCMinutes().toString().padStart(2, "0");
-      const second = date.getUTCSeconds().toString().padStart(2, "0");
-      return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`;
-    }
-    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("=")}`);
+    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);
       }
-      return out.join("; ");
     }
-    module2.exports = {
-      isCTLExcludingHtab,
-      validateCookieName,
-      validateCookiePath,
-      validateCookieValue,
-      toIMFDate,
-      stringify
-    };
+    module2.exports = { SendQueue };
   }
 });
 
-// node_modules/undici/lib/cookies/parse.js
-var require_parse2 = __commonJS({
-  "node_modules/undici/lib/cookies/parse.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js
+var require_websocket2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js"(exports2, module2) {
     "use strict";
-    var { maxNameValuePairSize, maxAttributeValueSize } = require_constants9();
-    var { isCTLExcludingHtab } = require_util14();
-    var { collectASequenceOfCodePointsFast } = require_dataURL();
-    var assert = require("assert");
-    function parseSetCookie(header) {
-      if (isCTLExcludingHtab(header)) {
-        return null;
-      }
-      let nameValuePair = "";
-      let unparsedAttributes = "";
-      let name = "";
-      let value = "";
-      if (header.includes(";")) {
-        const position = { position: 0 };
-        nameValuePair = collectASequenceOfCodePointsFast(";", header, position);
-        unparsedAttributes = header.slice(position.position);
-      } 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)
+    var { webidl } = require_webidl2();
+    var { URLSerializer } = require_data_url2();
+    var { environmentSettingsObject } = require_util10();
+    var { staticPropertyDescriptors, states, sentCloseFrameState, sendHints } = require_constants10();
+    var {
+      kWebSocketURL,
+      kReadyState,
+      kController,
+      kBinaryType,
+      kResponse,
+      kSentClose,
+      kByteParser
+    } = require_symbols10();
+    var {
+      isConnecting,
+      isEstablished,
+      isClosing,
+      isValidSubprotocol,
+      fireEvent
+    } = require_util15();
+    var { establishWebSocketConnection, closeWebSocketConnection } = require_connection2();
+    var { ByteParser } = require_receiver2();
+    var { kEnumerableProperty, isBlobLike } = require_util9();
+    var { getGlobalDispatcher } = require_global4();
+    var { types } = require("node:util");
+    var { ErrorEvent, CloseEvent } = require_events2();
+    var { SendQueue } = require_sender2();
+    var WebSocket = class _WebSocket extends EventTarget {
+      #events = {
+        open: null,
+        error: null,
+        close: null,
+        message: null
       };
-    }
-    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);
+      #bufferedAmount = 0;
+      #protocol = "";
+      #extensions = "";
+      /** @type {SendQueue} */
+      #sendQueue;
+      /**
+       * @param {string} url
+       * @param {string|string[]} protocols
+       */
+      constructor(url2, 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");
+        url2 = webidl.converters.USVString(url2, prefix, "url");
+        protocols = options.protocols;
+        const baseURL = environmentSettingsObject.settingsObject.baseUrl;
+        let urlRecord;
+        try {
+          urlRecord = new URL(url2, baseURL);
+        } catch (e) {
+          throw new DOMException(e, "SyntaxError");
         }
-        if (!/^\d+$/.test(attributeValue)) {
-          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
+        if (urlRecord.protocol === "http:") {
+          urlRecord.protocol = "ws:";
+        } else if (urlRecord.protocol === "https:") {
+          urlRecord.protocol = "wss:";
         }
-        const deltaSeconds = Number(attributeValue);
-        cookieAttributeList.maxAge = deltaSeconds;
-      } else if (attributeNameLowercase === "domain") {
-        let cookieDomain = attributeValue;
-        if (cookieDomain[0] === ".") {
-          cookieDomain = cookieDomain.slice(1);
+        if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") {
+          throw new DOMException(
+            `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
+            "SyntaxError"
+          );
         }
-        cookieDomain = cookieDomain.toLowerCase();
-        cookieAttributeList.domain = cookieDomain;
-      } else if (attributeNameLowercase === "path") {
-        let cookiePath = "";
-        if (attributeValue.length === 0 || attributeValue[0] !== "/") {
-          cookiePath = "/";
-        } else {
-          cookiePath = attributeValue;
+        if (urlRecord.hash || urlRecord.href.endsWith("#")) {
+          throw new DOMException("Got fragment", "SyntaxError");
         }
-        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 (typeof protocols === "string") {
+          protocols = [protocols];
         }
-        if (attributeValueLowercase.includes("strict")) {
-          enforcement = "Strict";
+        if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
+          throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
         }
-        if (attributeValueLowercase.includes("lax")) {
-          enforcement = "Lax";
+        if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
+          throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
         }
-        cookieAttributeList.sameSite = enforcement;
-      } else {
-        cookieAttributeList.unparsed ??= [];
-        cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`);
-      }
-      return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
-    }
-    module2.exports = {
-      parseSetCookie,
-      parseUnparsedAttributes
-    };
-  }
-});
-
-// node_modules/undici/lib/cookies/index.js
-var require_cookies2 = __commonJS({
-  "node_modules/undici/lib/cookies/index.js"(exports2, module2) {
-    "use strict";
-    var { parseSetCookie } = require_parse2();
-    var { stringify } = require_util14();
-    var { webidl } = require_webidl2();
-    var { Headers } = require_headers2();
-    function getCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "getCookies" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      const cookie = headers.get("cookie");
-      const out = {};
-      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.argumentLengthCheck(arguments, 2, { header: "deleteCookie" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      name = webidl.converters.DOMString(name);
-      attributes = webidl.converters.DeleteCookieAttributes(attributes);
-      setCookie(headers, {
-        name,
-        value: "",
-        expires: /* @__PURE__ */ new Date(0),
-        ...attributes
-      });
-    }
-    function getSetCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "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, { header: "setCookie" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      cookie = webidl.converters.Cookie(cookie);
-      const str2 = stringify(cookie);
-      if (str2) {
-        headers.append("Set-Cookie", stringify(cookie));
-      }
-    }
-    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
+        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";
       }
-    ]);
-    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);
+      /**
+       * @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");
           }
-          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: []
+        }
+        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);
       }
-    ]);
-    module2.exports = {
-      getCookies,
-      deleteCookie,
-      getSetCookies,
-      setCookie
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/constants.js
-var require_constants10 = __commonJS({
-  "node_modules/undici/lib/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 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);
-    module2.exports = {
-      uid,
-      staticPropertyDescriptors,
-      states,
-      opcodes,
-      maxUnsigned16Bit,
-      parserStates,
-      emptyBuffer
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/symbols.js
-var require_symbols10 = __commonJS({
-  "node_modules/undici/lib/websocket/symbols.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
-      kReadyState: /* @__PURE__ */ Symbol("ready state"),
-      kController: /* @__PURE__ */ Symbol("controller"),
-      kResponse: /* @__PURE__ */ Symbol("response"),
-      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
-      kSentClose: /* @__PURE__ */ Symbol("sent close"),
-      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
-      kByteParser: /* @__PURE__ */ Symbol("byte parser")
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/events.js
-var require_events2 = __commonJS({
-  "node_modules/undici/lib/websocket/events.js"(exports2, module2) {
-    "use strict";
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util9();
-    var { MessagePort } = require("worker_threads");
-    var MessageEvent = class _MessageEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.MessageEventInit(eventInitDict);
-        super(type2, eventInitDict);
-        this.#eventInit = eventInitDict;
+      /**
+       * @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 data() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.data;
+      get readyState() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kReadyState];
       }
-      get origin() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.origin;
+      get bufferedAmount() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#bufferedAmount;
       }
-      get lastEventId() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.lastEventId;
+      get url() {
+        webidl.brandCheck(this, _WebSocket);
+        return URLSerializer(this[kWebSocketURL]);
       }
-      get source() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.source;
+      get extensions() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#extensions;
       }
-      get ports() {
-        webidl.brandCheck(this, _MessageEvent);
-        if (!Object.isFrozen(this.#eventInit.ports)) {
-          Object.freeze(this.#eventInit.ports);
-        }
-        return this.#eventInit.ports;
+      get protocol() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#protocol;
       }
-      initMessageEvent(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
-        webidl.brandCheck(this, _MessageEvent);
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent.initMessageEvent" });
-        return new _MessageEvent(type2, {
-          bubbles,
-          cancelable,
-          data,
-          origin,
-          lastEventId,
-          source,
-          ports
-        });
+      get onopen() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.open;
       }
-    };
-    var CloseEvent = class _CloseEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
-        super(type2, eventInitDict);
-        this.#eventInit = eventInitDict;
+      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 wasClean() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.wasClean;
+      get onerror() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.error;
       }
-      get code() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.code;
+      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 reason() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.reason;
+      get onclose() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.close;
       }
-    };
-    var ErrorEvent = class _ErrorEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" });
-        super(type2, eventInitDict);
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});
-        this.#eventInit = eventInitDict;
+      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 message() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.message;
+      get onmessage() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.message;
       }
-      get filename() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.filename;
+      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 lineno() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.lineno;
+      get binaryType() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kBinaryType];
       }
-      get colno() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.colno;
+      set binaryType(type2) {
+        webidl.brandCheck(this, _WebSocket);
+        if (type2 !== "blob" && type2 !== "arraybuffer") {
+          this[kBinaryType] = "blob";
+        } else {
+          this[kBinaryType] = type2;
+        }
       }
-      get error() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.error;
+      /**
+       * @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);
       }
     };
-    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, {
+    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: "CloseEvent",
+        value: "WebSocket",
+        writable: false,
+        enumerable: false,
         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
+    Object.defineProperties(WebSocket, {
+      CONNECTING: staticPropertyDescriptors,
+      OPEN: staticPropertyDescriptors,
+      CLOSING: staticPropertyDescriptors,
+      CLOSED: staticPropertyDescriptors
     });
-    webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort);
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.MessagePort
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.DOMString
     );
-    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"],
-        get defaultValue() {
-          return [];
-        }
-      }
-    ]);
-    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["DOMString or sequence"] = function(V, prefix, argument) {
+      if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
+        return webidl.converters["sequence"](V);
       }
-    ]);
-    webidl.converters.ErrorEventInit = webidl.dictionaryConverter([
-      ...eventInit,
-      {
-        key: "message",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "filename",
-        converter: webidl.converters.USVString,
-        defaultValue: ""
-      },
+      return webidl.converters.DOMString(V, prefix, argument);
+    };
+    webidl.converters.WebSocketInit = webidl.dictionaryConverter([
       {
-        key: "lineno",
-        converter: webidl.converters["unsigned long"],
-        defaultValue: 0
+        key: "protocols",
+        converter: webidl.converters["DOMString or sequence"],
+        defaultValue: () => new Array(0)
       },
       {
-        key: "colno",
-        converter: webidl.converters["unsigned long"],
-        defaultValue: 0
+        key: "dispatcher",
+        converter: webidl.converters.any,
+        defaultValue: () => getGlobalDispatcher()
       },
-      {
-        key: "error",
-        converter: webidl.converters.any
-      }
-    ]);
-    module2.exports = {
-      MessageEvent,
-      CloseEvent,
-      ErrorEvent
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/util.js
-var require_util15 = __commonJS({
-  "node_modules/undici/lib/websocket/util.js"(exports2, module2) {
-    "use strict";
-    var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols10();
-    var { states, opcodes } = require_constants10();
-    var { MessageEvent, ErrorEvent } = require_events2();
-    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, eventConstructor = Event, eventInitDict) {
-      const event = new eventConstructor(e, eventInitDict);
-      target.dispatchEvent(event);
-    }
-    function websocketMessageReceived(ws, type2, data) {
-      if (ws[kReadyState] !== states.OPEN) {
-        return;
-      }
-      let dataForEvent;
-      if (type2 === opcodes.TEXT) {
-        try {
-          dataForEvent = new TextDecoder("utf-8", { fatal: true }).decode(data);
-        } catch {
-          failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
-          return;
-        }
-      } else if (type2 === opcodes.BINARY) {
-        if (ws[kBinaryType] === "blob") {
-          dataForEvent = new Blob([data]);
-        } else {
-          dataForEvent = new Uint8Array(data).buffer;
-        }
+      {
+        key: "headers",
+        converter: webidl.nullableConverter(webidl.converters.HeadersInit)
       }
-      fireEvent("message", ws, MessageEvent, {
-        origin: ws[kWebSocketURL].origin,
-        data: dataForEvent
-      });
-    }
-    function isValidSubprotocol(protocol) {
-      if (protocol.length === 0) {
-        return false;
+    ]);
+    webidl.converters["DOMString or sequence or WebSocketInit"] = function(V) {
+      if (webidl.util.Type(V) === "Object" && !(Symbol.iterator in V)) {
+        return webidl.converters.WebSocketInit(V);
       }
-      for (const char of protocol) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || code > 126 || char === "(" || char === ")" || char === "<" || char === ">" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}" || code === 32 || // SP
-        code === 9) {
-          return false;
+      return { 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 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;
+      return webidl.converters.USVString(V);
+    };
+    function onParserDrain() {
+      this.ws[kResponse].socket.resume();
     }
-    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, ErrorEvent, {
-          error: new Error(reason)
-        });
+    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 = {
-      isEstablished,
-      isClosing,
-      isClosed,
-      fireEvent,
-      isValidSubprotocol,
-      isValidStatusCode,
-      failWebsocketConnection,
-      websocketMessageReceived
+      WebSocket
     };
   }
 });
 
-// node_modules/undici/lib/websocket/connection.js
-var require_connection2 = __commonJS({
-  "node_modules/undici/lib/websocket/connection.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js
+var require_util16 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js"(exports2, module2) {
     "use strict";
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { uid, states } = require_constants10();
-    var {
-      kReadyState,
-      kSentClose,
-      kByteParser,
-      kReceivedClose
-    } = require_symbols10();
-    var { fireEvent, failWebsocketConnection } = require_util15();
-    var { CloseEvent } = require_events2();
-    var { makeRequest } = require_request4();
-    var { fetching } = require_fetch2();
-    var { Headers } = require_headers2();
-    var { getGlobalDispatcher } = require_global4();
-    var { kHeadersList } = require_symbols6();
-    var channels = {};
-    channels.open = diagnosticsChannel.channel("undici:websocket:open");
-    channels.close = diagnosticsChannel.channel("undici:websocket:close");
-    channels.socketError = diagnosticsChannel.channel("undici:websocket:socket_error");
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-    } catch {
-    }
-    function establishWebSocketConnection(url2, protocols, ws, onEstablish, options) {
-      const requestURL = url2;
-      requestURL.protocol = url2.protocol === "ws:" ? "http:" : "https:";
-      const request2 = makeRequest({
-        urlList: [requestURL],
-        serviceWorkers: "none",
-        referrer: "no-referrer",
-        mode: "websocket",
-        credentials: "include",
-        cache: "no-store",
-        redirect: "error"
-      });
-      if (options.headers) {
-        const headersList = new Headers(options.headers)[kHeadersList];
-        request2.headersList = headersList;
-      }
-      const keyValue = crypto2.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 = "";
-      const controller = fetching({
-        request: request2,
-        useParallelQueue: true,
-        dispatcher: options.dispatcher ?? getGlobalDispatcher(),
-        processResponse(response) {
-          if (response.type === "error" || response.status !== 101) {
-            failWebsocketConnection(ws, "Received network error or non-101 status code.");
-            return;
-          }
-          if (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 = crypto2.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");
-          if (secExtension !== null && secExtension !== permessageDeflate) {
-            failWebsocketConnection(ws, "Received different permessage-deflate than the one set.");
-            return;
-          }
-          const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");
-          if (secProtocol !== null && secProtocol !== request2.headersList.get("Sec-WebSocket-Protocol")) {
-            failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");
-            return;
-          }
-          response.socket.on("data", onSocketData);
-          response.socket.on("close", onSocketClose);
-          response.socket.on("error", onSocketError);
-          if (channels.open.hasSubscribers) {
-            channels.open.publish({
-              address: response.socket.address(),
-              protocol: secProtocol,
-              extensions: secExtension
-            });
-          }
-          onEstablish(response);
-        }
-      });
-      return controller;
+    function isValidLastEventId(value) {
+      return value.indexOf("\0") === -1;
     }
-    function onSocketData(chunk) {
-      if (!this.ws[kByteParser].write(chunk)) {
-        this.pause();
+    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 onSocketClose() {
-      const { ws } = this;
-      const wasClean = ws[kSentClose] && ws[kReceivedClose];
-      let code = 1005;
-      let reason = "";
-      const result = ws[kByteParser].closingInfo;
-      if (result) {
-        code = result.code ?? 1005;
-        reason = result.reason;
-      } else if (!ws[kSentClose]) {
-        code = 1006;
-      }
-      ws[kReadyState] = states.CLOSED;
-      fireEvent("close", ws, CloseEvent, {
-        wasClean,
-        code,
-        reason
+    function delay2(ms) {
+      return new Promise((resolve6) => {
+        setTimeout(resolve6, ms).unref();
       });
-      if (channels.close.hasSubscribers) {
-        channels.close.publish({
-          websocket: ws,
-          code,
-          reason
-        });
-      }
-    }
-    function onSocketError(error3) {
-      const { ws } = this;
-      ws[kReadyState] = states.CLOSING;
-      if (channels.socketError.hasSubscribers) {
-        channels.socketError.publish(error3);
-      }
-      this.destroy();
     }
     module2.exports = {
-      establishWebSocketConnection
+      isValidLastEventId,
+      isASCIINumber,
+      delay: delay2
     };
   }
 });
 
-// node_modules/undici/lib/websocket/frame.js
-var require_frame2 = __commonJS({
-  "node_modules/undici/lib/websocket/frame.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js
+var require_eventsource_stream2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js"(exports2, module2) {
     "use strict";
-    var { maxUnsigned16Bit } = require_constants10();
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-    } catch {
-    }
-    var WebsocketFrameSend = class {
+    var { Transform } = require("node:stream");
+    var { isASCIINumber, isValidLastEventId } = require_util16();
+    var BOM = [239, 187, 191];
+    var LF = 10;
+    var CR = 13;
+    var COLON = 58;
+    var SPACE = 32;
+    var EventSourceStream = class extends Transform {
       /**
-       * @param {Buffer|undefined} data
+       * @type {eventSourceSettings}
        */
-      constructor(data) {
-        this.frameData = data;
-        this.maskKey = crypto2.randomBytes(4);
-      }
-      createFrame(opcode) {
-        const bodyLength = this.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 buffer = Buffer.allocUnsafe(bodyLength + offset);
-        buffer[0] = buffer[1] = 0;
-        buffer[0] |= 128;
-        buffer[0] = (buffer[0] & 240) + opcode;
-        buffer[offset - 4] = this.maskKey[0];
-        buffer[offset - 3] = this.maskKey[1];
-        buffer[offset - 2] = this.maskKey[2];
-        buffer[offset - 1] = this.maskKey[3];
-        buffer[1] = payloadLength;
-        if (payloadLength === 126) {
-          buffer.writeUInt16BE(bodyLength, 2);
-        } else if (payloadLength === 127) {
-          buffer[2] = buffer[3] = 0;
-          buffer.writeUIntBE(bodyLength, 4, 6);
-        }
-        buffer[1] |= 128;
-        for (let i = 0; i < bodyLength; i++) {
-          buffer[offset + i] = this.frameData[i] ^ this.maskKey[i % 4];
-        }
-        return buffer;
-      }
-    };
-    module2.exports = {
-      WebsocketFrameSend
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/receiver.js
-var require_receiver2 = __commonJS({
-  "node_modules/undici/lib/websocket/receiver.js"(exports2, module2) {
-    "use strict";
-    var { Writable } = require("stream");
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { parserStates, opcodes, states, emptyBuffer } = require_constants10();
-    var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols10();
-    var { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require_util15();
-    var { WebsocketFrameSend } = require_frame2();
-    var channels = {};
-    channels.ping = diagnosticsChannel.channel("undici:websocket:ping");
-    channels.pong = diagnosticsChannel.channel("undici:websocket:pong");
-    var ByteParser = class extends Writable {
-      #buffers = [];
-      #byteOffset = 0;
-      #state = parserStates.INFO;
-      #info = {};
-      #fragments = [];
-      constructor(ws) {
-        super();
-        this.ws = ws;
-      }
+      state = null;
       /**
-       * @param {Buffer} chunk
-       * @param {() => void} callback
+       * Leading byte-order-mark check.
+       * @type {boolean}
        */
-      _write(chunk, _, callback) {
-        this.#buffers.push(chunk);
-        this.#byteOffset += chunk.length;
-        this.run(callback);
+      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;
+        }
       }
       /**
-       * 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.
+       * @param {Buffer} chunk
+       * @param {string} _encoding
+       * @param {Function} callback
+       * @returns {void}
        */
-      run(callback) {
-        while (true) {
-          if (this.#state === parserStates.INFO) {
-            if (this.#byteOffset < 2) {
-              return callback();
-            }
-            const buffer = this.consume(2);
-            this.#info.fin = (buffer[0] & 128) !== 0;
-            this.#info.opcode = buffer[0] & 15;
-            this.#info.originalOpcode ??= this.#info.opcode;
-            this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION;
-            if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) {
-              failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
-              return;
-            }
-            const payloadLength = buffer[1] & 127;
-            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 (this.#info.fragmented && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
-              return;
-            } else if ((this.#info.opcode === opcodes.PING || this.#info.opcode === opcodes.PONG || this.#info.opcode === opcodes.CLOSE) && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Payload length for control frame exceeded 125 bytes.");
-              return;
-            } else if (this.#info.opcode === opcodes.CLOSE) {
-              if (payloadLength === 1) {
-                failWebsocketConnection(this.ws, "Received close frame with a 1-byte body.");
+      _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;
               }
-              const body = this.consume(payloadLength);
-              this.#info.closeInfo = this.parseCloseBody(false, body);
-              if (!this.ws[kSentClose]) {
-                const body2 = Buffer.allocUnsafe(2);
-                body2.writeUInt16BE(this.#info.closeInfo.code, 0);
-                const closeFrame = new WebsocketFrameSend(body2);
-                this.ws[kResponse].socket.write(
-                  closeFrame.createFrame(opcodes.CLOSE),
-                  (err) => {
-                    if (!err) {
-                      this.ws[kSentClose] = true;
-                    }
-                  }
-                );
-              }
-              this.ws[kReadyState] = states.CLOSING;
-              this.ws[kReceivedClose] = true;
-              this.end();
+              this.checkBOM = false;
+              callback();
               return;
-            } else if (this.#info.opcode === opcodes.PING) {
-              const body = this.consume(payloadLength);
-              if (!this.ws[kReceivedClose]) {
-                const frame = new WebsocketFrameSend(body);
-                this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
-                if (channels.ping.hasSubscribers) {
-                  channels.ping.publish({
-                    payload: body
-                  });
-                }
+            case 2:
+              if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1]) {
+                callback();
+                return;
               }
-              this.#state = parserStates.INFO;
-              if (this.#byteOffset > 0) {
-                continue;
-              } else {
+              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;
               }
-            } else if (this.#info.opcode === opcodes.PONG) {
-              const body = this.consume(payloadLength);
-              if (channels.pong.hasSubscribers) {
-                channels.pong.publish({
-                  payload: body
-                });
+              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);
               }
-              if (this.#byteOffset > 0) {
+              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;
-              } else {
-                callback();
-                return;
               }
+              this.crlfCheck = false;
             }
-          } 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();
-            } else if (this.#byteOffset >= this.#info.payloadLength) {
-              const body = this.consume(this.#info.payloadLength);
-              this.#fragments.push(body);
-              if (!this.#info.fragmented || this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) {
-                const fullMessage = Buffer.concat(this.#fragments);
-                websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage);
-                this.#info = {};
-                this.#fragments.length = 0;
+            if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) {
+              if (this.buffer[this.pos] === CR) {
+                this.crlfCheck = true;
               }
-              this.#state = parserStates.INFO;
+              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.#byteOffset > 0) {
+          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;
-          } else {
-            callback();
-            break;
           }
+          this.pos++;
         }
+        callback();
       }
       /**
-       * Take n bytes from the buffered Buffers
-       * @param {number} n
-       * @returns {Buffer|null}
+       * @param {Buffer} line
+       * @param {EventStreamEvent} event
        */
-      consume(n) {
-        if (n > this.#byteOffset) {
-          return null;
-        } else if (n === 0) {
-          return emptyBuffer;
+      parseLine(line, event) {
+        if (line.length === 0) {
+          return;
         }
-        if (this.#buffers[0].length === n) {
-          this.#byteOffset -= this.#buffers[0].length;
-          return this.#buffers.shift();
+        const colonPosition = line.indexOf(COLON);
+        if (colonPosition === 0) {
+          return;
         }
-        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);
+        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;
-          } else if (length + offset > n) {
-            buffer.set(next.subarray(0, n - offset), offset);
-            this.#buffers[0] = next.subarray(n - offset);
+          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;
-          } else {
-            buffer.set(this.#buffers.shift(), offset);
-            offset += next.length;
-          }
         }
-        this.#byteOffset -= n;
-        return buffer;
       }
-      parseCloseBody(onlyCode, data) {
-        let code;
-        if (data.length >= 2) {
-          code = data.readUInt16BE(0);
-        }
-        if (onlyCode) {
-          if (!isValidStatusCode(code)) {
-            return null;
-          }
-          return { code };
-        }
-        let reason = data.subarray(2);
-        if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
-          reason = reason.subarray(3);
+      /**
+       * @param {EventSourceStreamEvent} event
+       */
+      processEvent(event) {
+        if (event.retry && isASCIINumber(event.retry)) {
+          this.state.reconnectionTime = parseInt(event.retry, 10);
         }
-        if (code !== void 0 && !isValidStatusCode(code)) {
-          return null;
+        if (event.id && isValidLastEventId(event.id)) {
+          this.state.lastEventId = event.id;
         }
-        try {
-          reason = new TextDecoder("utf-8", { fatal: true }).decode(reason);
-        } catch {
-          return null;
+        if (event.data !== void 0) {
+          this.push({
+            type: event.event || "message",
+            options: {
+              data: event.data,
+              lastEventId: this.state.lastEventId,
+              origin: this.state.origin
+            }
+          });
         }
-        return { code, reason };
       }
-      get closingInfo() {
-        return this.#info.closeInfo;
+      clearEvent() {
+        this.event = {
+          data: void 0,
+          event: void 0,
+          id: void 0,
+          retry: void 0
+        };
       }
     };
     module2.exports = {
-      ByteParser
+      EventSourceStream
     };
   }
 });
 
-// node_modules/undici/lib/websocket/websocket.js
-var require_websocket2 = __commonJS({
-  "node_modules/undici/lib/websocket/websocket.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js
+var require_eventsource2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js"(exports2, module2) {
     "use strict";
+    var { pipeline } = require("node:stream");
+    var { fetching } = require_fetch2();
+    var { makeRequest } = require_request4();
     var { webidl } = require_webidl2();
-    var { DOMException: DOMException2 } = require_constants7();
-    var { URLSerializer } = require_dataURL();
-    var { getGlobalOrigin } = require_global3();
-    var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require_constants10();
-    var {
-      kWebSocketURL,
-      kReadyState,
-      kController,
-      kBinaryType,
-      kResponse,
-      kSentClose,
-      kByteParser
-    } = require_symbols10();
-    var { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require_util15();
-    var { establishWebSocketConnection } = require_connection2();
-    var { WebsocketFrameSend } = require_frame2();
-    var { ByteParser } = require_receiver2();
-    var { kEnumerableProperty, isBlobLike } = require_util9();
-    var { getGlobalDispatcher } = require_global4();
-    var { types } = require("util");
+    var { EventSourceStream } = require_eventsource_stream2();
+    var { parseMIMEType } = require_data_url2();
+    var { createFastMessageEvent } = require_events2();
+    var { isNetworkError } = require_response2();
+    var { delay: delay2 } = require_util16();
+    var { kEnumerableProperty } = require_util9();
+    var { environmentSettingsObject } = require_util10();
     var experimentalWarned = false;
-    var WebSocket = class _WebSocket extends EventTarget {
+    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,
-        close: null,
         message: null
       };
-      #bufferedAmount = 0;
-      #protocol = "";
-      #extensions = "";
+      #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 {string|string[]} protocols
+       * @param {EventSourceInit} [eventSourceInitDict]
+       * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#the-eventsource-interface
        */
-      constructor(url2, protocols = []) {
+      constructor(url2, eventSourceInitDict = {}) {
         super();
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket constructor" });
+        webidl.util.markAsUncloneable(this);
+        const prefix = "EventSource constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
         if (!experimentalWarned) {
           experimentalWarned = true;
-          process.emitWarning("WebSockets are experimental, expect them to change at any time.", {
-            code: "UNDICI-WS"
+          process.emitWarning("EventSource is experimental, expect them to change at any time.", {
+            code: "UNDICI-ES"
           });
         }
-        const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols);
-        url2 = webidl.converters.USVString(url2);
-        protocols = options.protocols;
-        const baseURL = getGlobalOrigin();
+        url2 = webidl.converters.USVString(url2, 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(url2, baseURL);
+          urlRecord = new URL(url2, settings.settingsObject.baseUrl);
+          this.#state.origin = urlRecord.origin;
         } catch (e) {
-          throw new DOMException2(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 DOMException2(
-            `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
-            "SyntaxError"
-          );
-        }
-        if (urlRecord.hash || urlRecord.href.endsWith("#")) {
-          throw new DOMException2("Got fragment", "SyntaxError");
-        }
-        if (typeof protocols === "string") {
-          protocols = [protocols];
-        }
-        if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
-          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+          throw new DOMException(e, "SyntaxError");
         }
-        if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
-          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+        this.#url = urlRecord.href;
+        let corsAttributeState = ANONYMOUS;
+        if (eventSourceInitDict.withCredentials) {
+          corsAttributeState = USE_CREDENTIALS;
+          this.#withCredentials = true;
         }
-        this[kWebSocketURL] = new URL(urlRecord.href);
-        this[kController] = establishWebSocketConnection(
-          urlRecord,
-          protocols,
-          this,
-          (response) => this.#onConnectionEstablished(response),
-          options
-        );
-        this[kReadyState] = _WebSocket.CONNECTING;
-        this[kBinaryType] = "blob";
+        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();
       }
       /**
-       * @see https://websockets.spec.whatwg.org/#dom-websocket-close
-       * @param {number|undefined} code
-       * @param {string|undefined} reason
+       * Returns the state of this EventSource object's connection. It can have the
+       * values described below.
+       * @returns {0|1|2}
+       * @readonly
        */
-      close(code = void 0, reason = void 0) {
-        webidl.brandCheck(this, _WebSocket);
-        if (code !== void 0) {
-          code = webidl.converters["unsigned short"](code, { clamp: true });
-        }
-        if (reason !== void 0) {
-          reason = webidl.converters.USVString(reason);
-        }
-        if (code !== void 0) {
-          if (code !== 1e3 && (code < 3e3 || code > 4999)) {
-            throw new DOMException2("invalid code", "InvalidAccessError");
+      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();
           }
-        }
-        let reasonByteLength = 0;
-        if (reason !== void 0) {
-          reasonByteLength = Buffer.byteLength(reason);
-          if (reasonByteLength > 123) {
-            throw new DOMException2(
-              `Reason must be less than 123 bytes; received ${reasonByteLength}`,
-              "SyntaxError"
-            );
+          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;
+            }
           }
-        }
-        if (this[kReadyState] === _WebSocket.CLOSING || this[kReadyState] === _WebSocket.CLOSED) {
-        } else if (!isEstablished(this)) {
-          failWebsocketConnection(this, "Connection was closed before it was established.");
-          this[kReadyState] = _WebSocket.CLOSING;
-        } else if (!isClosing(this)) {
-          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 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;
           }
-          const socket = this[kResponse].socket;
-          socket.write(frame.createFrame(opcodes.CLOSE), (err) => {
-            if (!err) {
-              this[kSentClose] = true;
+          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
+              ));
             }
           });
-          this[kReadyState] = states.CLOSING;
-        } else {
-          this[kReadyState] = _WebSocket.CLOSING;
-        }
+          pipeline(
+            response.body.stream,
+            eventSourceStream,
+            (error3) => {
+              if (error3?.aborted === false) {
+                this.close();
+                this.dispatchEvent(new Event("error"));
+              }
+            }
+          );
+        };
+        this.#controller = fetching(fetchParams);
       }
       /**
-       * @see https://websockets.spec.whatwg.org/#dom-websocket-send
-       * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data
+       * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#sse-processing-model
+       * @returns {Promise}
        */
-      send(data) {
-        webidl.brandCheck(this, _WebSocket);
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" });
-        data = webidl.converters.WebSocketSendData(data);
-        if (this[kReadyState] === _WebSocket.CONNECTING) {
-          throw new DOMException2("Sent before connected.", "InvalidStateError");
-        }
-        if (!isEstablished(this) || isClosing(this)) {
-          return;
-        }
-        const socket = this[kResponse].socket;
-        if (typeof data === "string") {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.TEXT);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
-        } else if (types.isArrayBuffer(data)) {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
-        } else if (ArrayBuffer.isView(data)) {
-          const ab = Buffer.from(data, data.byteOffset, data.byteLength);
-          const frame = new WebsocketFrameSend(ab);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += ab.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= ab.byteLength;
-          });
-        } else if (isBlobLike(data)) {
-          const frame = new WebsocketFrameSend();
-          data.arrayBuffer().then((ab) => {
-            const value = Buffer.from(ab);
-            frame.frameData = value;
-            const buffer = frame.createFrame(opcodes.BINARY);
-            this.#bufferedAmount += value.byteLength;
-            socket.write(buffer, () => {
-              this.#bufferedAmount -= value.byteLength;
-            });
-          });
+      async #reconnect() {
+        if (this.#readyState === CLOSED) return;
+        this.#readyState = CONNECTING;
+        this.dispatchEvent(new Event("error"));
+        await delay2(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();
       }
-      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;
+      /**
+       * 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() {
-        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);
         }
@@ -39295,44 +40872,10 @@ var require_websocket2 = __commonJS({
           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);
         }
@@ -39343,137 +40886,87 @@ var require_websocket2 = __commonJS({
           this.#events.message = null;
         }
       }
-      get binaryType() {
-        webidl.brandCheck(this, _WebSocket);
-        return this[kBinaryType];
+      get onerror() {
+        return this.#events.error;
       }
-      set binaryType(type2) {
-        webidl.brandCheck(this, _WebSocket);
-        if (type2 !== "blob" && type2 !== "arraybuffer") {
-          this[kBinaryType] = "blob";
+      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[kBinaryType] = type2;
+          this.#events.error = null;
         }
       }
-      /**
-       * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
-       */
-      #onConnectionEstablished(response) {
-        this[kResponse] = response;
-        const parser = new ByteParser(this);
-        parser.on("drain", function onParserDrain() {
-          this.ws[kResponse].socket.resume();
-        });
-        response.socket.ws = this;
-        this[kByteParser] = parser;
-        this[kReadyState] = states.OPEN;
-        const extensions = response.headersList.get("sec-websocket-extensions");
-        if (extensions !== null) {
-          this.#extensions = extensions;
-        }
-        const protocol = response.headersList.get("sec-websocket-protocol");
-        if (protocol !== null) {
-          this.#protocol = protocol;
-        }
-        fireEvent("open", this);
+    };
+    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
       }
     };
-    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,
+    Object.defineProperties(EventSource, constantsPropertyDescriptors);
+    Object.defineProperties(EventSource.prototype, constantsPropertyDescriptors);
+    Object.defineProperties(EventSource.prototype, {
       close: kEnumerableProperty,
+      onerror: 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
+      onopen: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      url: kEnumerableProperty,
+      withCredentials: kEnumerableProperty
     });
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.DOMString
-    );
-    webidl.converters["DOMString or sequence"] = function(V) {
-      if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
-        return webidl.converters["sequence"](V);
-      }
-      return webidl.converters.DOMString(V);
-    };
-    webidl.converters.WebSocketInit = webidl.dictionaryConverter([
+    webidl.converters.EventSourceInitDict = webidl.dictionaryConverter([
       {
-        key: "protocols",
-        converter: webidl.converters["DOMString or sequence"],
-        get defaultValue() {
-          return [];
-        }
+        key: "withCredentials",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
       },
       {
         key: "dispatcher",
-        converter: (V) => V,
-        get defaultValue() {
-          return getGlobalDispatcher();
-        }
-      },
-      {
-        key: "headers",
-        converter: webidl.nullableConverter(webidl.converters.HeadersInit)
+        // undici only
+        converter: webidl.converters.any
       }
     ]);
-    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.isAnyArrayBuffer(V)) {
-          return webidl.converters.BufferSource(V);
-        }
-      }
-      return webidl.converters.USVString(V);
-    };
     module2.exports = {
-      WebSocket
+      EventSource,
+      defaultReconnectionTime
     };
   }
 });
 
-// node_modules/undici/index.js
+// node_modules/@actions/github/node_modules/undici/index.js
 var require_undici2 = __commonJS({
-  "node_modules/undici/index.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/index.js"(exports2, module2) {
     "use strict";
     var Client = require_client2();
     var Dispatcher = require_dispatcher2();
-    var errors = require_errors2();
     var Pool = require_pool2();
     var BalancedPool = require_balanced_pool2();
     var Agent = require_agent2();
+    var ProxyAgent = require_proxy_agent2();
+    var EnvHttpProxyAgent = require_env_http_proxy_agent2();
+    var RetryAgent = require_retry_agent2();
+    var errors = require_errors2();
     var util = require_util9();
     var { InvalidArgumentError } = errors;
     var api = require_api2();
@@ -39482,19 +40975,11 @@ var require_undici2 = __commonJS({
     var MockAgent = require_mock_agent2();
     var MockPool = require_mock_pool2();
     var mockErrors = require_mock_errors2();
-    var ProxyAgent = require_proxy_agent2();
-    var RetryHandler = require_RetryHandler();
+    var RetryHandler = require_retry_handler2();
     var { getGlobalDispatcher, setGlobalDispatcher } = require_global4();
-    var DecoratorHandler = require_DecoratorHandler();
-    var RedirectHandler = require_RedirectHandler();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var hasCrypto;
-    try {
-      require("crypto");
-      hasCrypto = true;
-    } catch {
-      hasCrypto = false;
-    }
+    var DecoratorHandler = require_decorator_handler2();
+    var RedirectHandler = require_redirect_handler2();
+    var createRedirectInterceptor = require_redirect_interceptor2();
     Object.assign(Dispatcher.prototype, api);
     module2.exports.Dispatcher = Dispatcher;
     module2.exports.Client = Client;
@@ -39502,12 +40987,24 @@ var require_undici2 = __commonJS({
     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_redirect2(),
+      retry: require_retry2(),
+      dump: require_dump2(),
+      dns: require_dns2()
+    };
     module2.exports.buildConnector = buildConnector;
     module2.exports.errors = errors;
+    module2.exports.util = {
+      parseHeaders: util.parseHeaders,
+      headerNameToString: util.headerNameToString
+    };
     function makeDispatcher(fn) {
       return (url2, opts, handler2) => {
         if (typeof opts === "function") {
@@ -39549,48 +41046,42 @@ var require_undici2 = __commonJS({
     }
     module2.exports.setGlobalDispatcher = setGlobalDispatcher;
     module2.exports.getGlobalDispatcher = getGlobalDispatcher;
-    if (util.nodeMajor > 16 || util.nodeMajor === 16 && util.nodeMinor >= 8) {
-      let fetchImpl = null;
-      module2.exports.fetch = async function fetch(resource) {
-        if (!fetchImpl) {
-          fetchImpl = require_fetch2().fetch;
-        }
-        try {
-          return await fetchImpl(...arguments);
-        } catch (err) {
-          if (typeof err === "object") {
-            Error.captureStackTrace(err, this);
-          }
-          throw err;
+    var fetchImpl = require_fetch2().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);
         }
-      };
-      module2.exports.Headers = require_headers2().Headers;
-      module2.exports.Response = require_response2().Response;
-      module2.exports.Request = require_request4().Request;
-      module2.exports.FormData = require_formdata2().FormData;
-      module2.exports.File = require_file2().File;
-      module2.exports.FileReader = require_filereader2().FileReader;
-      const { setGlobalOrigin, getGlobalOrigin } = require_global3();
-      module2.exports.setGlobalOrigin = setGlobalOrigin;
-      module2.exports.getGlobalOrigin = getGlobalOrigin;
-      const { CacheStorage } = require_cachestorage2();
-      const { kConstruct } = require_symbols9();
-      module2.exports.caches = new CacheStorage(kConstruct);
-    }
-    if (util.nodeMajor >= 16) {
-      const { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
-      module2.exports.deleteCookie = deleteCookie;
-      module2.exports.getCookies = getCookies;
-      module2.exports.getSetCookies = getSetCookies;
-      module2.exports.setCookie = setCookie;
-      const { parseMIMEType, serializeAMimeType } = require_dataURL();
-      module2.exports.parseMIMEType = parseMIMEType;
-      module2.exports.serializeAMimeType = serializeAMimeType;
-    }
-    if (util.nodeMajor >= 18 && hasCrypto) {
-      const { WebSocket } = require_websocket2();
-      module2.exports.WebSocket = WebSocket;
-    }
+        throw err;
+      }
+    };
+    module2.exports.Headers = require_headers2().Headers;
+    module2.exports.Response = require_response2().Response;
+    module2.exports.Request = require_request4().Request;
+    module2.exports.FormData = require_formdata2().FormData;
+    module2.exports.File = globalThis.File ?? require("node:buffer").File;
+    module2.exports.FileReader = require_filereader2().FileReader;
+    var { setGlobalOrigin, getGlobalOrigin } = require_global3();
+    module2.exports.setGlobalOrigin = setGlobalOrigin;
+    module2.exports.getGlobalOrigin = getGlobalOrigin;
+    var { CacheStorage } = require_cachestorage2();
+    var { kConstruct } = require_symbols9();
+    module2.exports.caches = new CacheStorage(kConstruct);
+    var { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
+    module2.exports.deleteCookie = deleteCookie;
+    module2.exports.getCookies = getCookies;
+    module2.exports.getSetCookies = getSetCookies;
+    module2.exports.setCookie = setCookie;
+    var { parseMIMEType, serializeAMimeType } = require_data_url2();
+    module2.exports.parseMIMEType = parseMIMEType;
+    module2.exports.serializeAMimeType = serializeAMimeType;
+    var { CloseEvent, ErrorEvent, MessageEvent } = require_events2();
+    module2.exports.WebSocket = require_websocket2().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);
@@ -39600,6 +41091,8 @@ var require_undici2 = __commonJS({
     module2.exports.MockPool = MockPool;
     module2.exports.MockAgent = MockAgent;
     module2.exports.mockErrors = mockErrors;
+    var { EventSource } = require_eventsource2();
+    module2.exports.EventSource = EventSource;
   }
 });
 
@@ -45819,7 +47312,7 @@ var require_package = __commonJS({
         "@actions/cache": "^5.0.5",
         "@actions/core": "^2.0.3",
         "@actions/exec": "^2.0.0",
-        "@actions/github": "^8.0.0",
+        "@actions/github": "^8.0.1",
         "@actions/glob": "^0.5.0",
         "@actions/http-client": "^3.0.0",
         "@actions/io": "^2.0.0",
@@ -45851,7 +47344,7 @@ var require_package = __commonJS({
         "@types/node-forge": "^1.3.14",
         "@types/semver": "^7.7.1",
         "@types/sinon": "^21.0.0",
-        "@typescript-eslint/eslint-plugin": "^8.53.1",
+        "@typescript-eslint/eslint-plugin": "^8.54.0",
         "@typescript-eslint/parser": "^8.48.0",
         ava: "^6.4.1",
         esbuild: "^0.27.2",
@@ -45860,7 +47353,7 @@ var require_package = __commonJS({
         "eslint-plugin-filenames": "^1.3.2",
         "eslint-plugin-github": "^5.1.8",
         "eslint-plugin-import": "2.29.1",
-        "eslint-plugin-jsdoc": "^62.3.0",
+        "eslint-plugin-jsdoc": "^62.4.1",
         "eslint-plugin-no-async-foreach": "^0.1.1",
         glob: "^11.1.0",
         nock: "^14.0.10",
@@ -55054,7 +56547,7 @@ var require_clientHelpers = __commonJS({
 });
 
 // node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js
-var require_multipart2 = __commonJS({
+var require_multipart = __commonJS({
   "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -55177,7 +56670,7 @@ var require_sendRequest = __commonJS({
     var pipelineRequest_js_1 = require_pipelineRequest();
     var clientHelpers_js_1 = require_clientHelpers();
     var typeGuards_js_1 = require_typeGuards();
-    var multipart_js_1 = require_multipart2();
+    var multipart_js_1 = require_multipart();
     async function sendRequest(method, url2, pipeline, options = {}, customHttpClient) {
       const httpClient = customHttpClient ?? (0, clientHelpers_js_1.getCachedDefaultHttpsClient)();
       const request2 = buildPipelineRequest(method, url2, options);
@@ -59875,7 +61368,7 @@ var require_commonjs8 = __commonJS({
 });
 
 // node_modules/@azure/core-http-compat/dist/commonjs/util.js
-var require_util16 = __commonJS({
+var require_util17 = __commonJS({
   "node_modules/@azure/core-http-compat/dist/commonjs/util.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -60130,7 +61623,7 @@ var require_response3 = __commonJS({
     exports2.toCompatResponse = toCompatResponse;
     exports2.toPipelineResponse = toPipelineResponse;
     var core_rest_pipeline_1 = require_commonjs6();
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     var originalResponse = /* @__PURE__ */ Symbol("Original FullOperationResponse");
     function toCompatResponse(response, options) {
       let request2 = (0, util_js_1.toWebResourceLike)(response.request);
@@ -60244,7 +61737,7 @@ var require_requestPolicyFactoryPolicy = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.requestPolicyFactoryPolicyName = exports2.HttpPipelineLogLevel = void 0;
     exports2.createRequestPolicyFactoryPolicy = createRequestPolicyFactoryPolicy;
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     var response_js_1 = require_response3();
     var HttpPipelineLogLevel;
     (function(HttpPipelineLogLevel2) {
@@ -60291,7 +61784,7 @@ var require_httpClientAdapter = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.convertHttpClient = convertHttpClient;
     var response_js_1 = require_response3();
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     function convertHttpClient(requestPolicyClient) {
       return {
         sendRequest: async (request2) => {
@@ -60331,7 +61824,7 @@ var require_commonjs9 = __commonJS({
     Object.defineProperty(exports2, "convertHttpClient", { enumerable: true, get: function() {
       return httpClientAdapter_js_1.convertHttpClient;
     } });
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     Object.defineProperty(exports2, "toHttpHeadersLike", { enumerable: true, get: function() {
       return util_js_1.toHttpHeadersLike;
     } });
@@ -96412,7 +97905,7 @@ var require_cache_twirp_client = __commonJS({
 });
 
 // node_modules/@actions/cache/lib/internal/shared/util.js
-var require_util17 = __commonJS({
+var require_util18 = __commonJS({
   "node_modules/@actions/cache/lib/internal/shared/util.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -96489,7 +97982,7 @@ var require_cacheTwirpClient = __commonJS({
     var auth_1 = require_auth();
     var http_client_1 = require_lib();
     var cache_twirp_client_1 = require_cache_twirp_client();
-    var util_1 = require_util17();
+    var util_1 = require_util18();
     var CacheServiceClient = class {
       constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) {
         this.maxAttempts = 5;
@@ -109173,11 +110666,11 @@ function filterAlertsByDiffRange(logger, sarif) {
 /*! Bundled license information:
 
 undici/lib/web/fetch/body.js:
-undici/lib/fetch/body.js:
+undici/lib/web/fetch/body.js:
   (*! formdata-polyfill. MIT License. Jimmy Wärting  *)
 
 undici/lib/web/websocket/frame.js:
-undici/lib/websocket/frame.js:
+undici/lib/web/websocket/frame.js:
   (*! ws. MIT License. Einar Otto Stangvik  *)
 
 @octokit/request-error/dist-src/index.js:
diff --git a/lib/upload-sarif-action-post.js b/lib/upload-sarif-action-post.js
index 9eb7356679..07716a2c0b 100644
--- a/lib/upload-sarif-action-post.js
+++ b/lib/upload-sarif-action-post.js
@@ -21549,9 +21549,9 @@ var require_context = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/core/symbols.js
 var require_symbols6 = __commonJS({
-  "node_modules/undici/lib/core/symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/symbols.js"(exports2, module2) {
     module2.exports = {
       kClose: /* @__PURE__ */ Symbol("close"),
       kDestroy: /* @__PURE__ */ Symbol("destroy"),
@@ -21562,7 +21562,6 @@ var require_symbols6 = __commonJS({
       kQueue: /* @__PURE__ */ Symbol("queue"),
       kConnect: /* @__PURE__ */ Symbol("connect"),
       kConnecting: /* @__PURE__ */ Symbol("connecting"),
-      kHeadersList: /* @__PURE__ */ Symbol("headers list"),
       kKeepAliveDefaultTimeout: /* @__PURE__ */ Symbol("default keep alive timeout"),
       kKeepAliveMaxTimeout: /* @__PURE__ */ Symbol("max keep alive timeout"),
       kKeepAliveTimeoutThreshold: /* @__PURE__ */ Symbol("keep alive timeout threshold"),
@@ -21575,6 +21574,7 @@ var require_symbols6 = __commonJS({
       kHost: /* @__PURE__ */ Symbol("host"),
       kNoRef: /* @__PURE__ */ Symbol("no ref"),
       kBodyUsed: /* @__PURE__ */ Symbol("used"),
+      kBody: /* @__PURE__ */ Symbol("abstracted request body"),
       kRunning: /* @__PURE__ */ Symbol("running"),
       kBlocking: /* @__PURE__ */ Symbol("blocking"),
       kPending: /* @__PURE__ */ Symbol("pending"),
@@ -21587,6 +21587,8 @@ var require_symbols6 = __commonJS({
       kNeedDrain: /* @__PURE__ */ Symbol("need drain"),
       kReset: /* @__PURE__ */ Symbol("reset"),
       kDestroyed: /* @__PURE__ */ Symbol.for("nodejs.stream.destroyed"),
+      kResume: /* @__PURE__ */ Symbol("resume"),
+      kOnError: /* @__PURE__ */ Symbol("on error"),
       kMaxHeadersSize: /* @__PURE__ */ Symbol("max headers size"),
       kRunningIdx: /* @__PURE__ */ Symbol("running index"),
       kPendingIdx: /* @__PURE__ */ Symbol("pending index"),
@@ -21608,67 +21610,90 @@ var require_symbols6 = __commonJS({
       kMaxResponseSize: /* @__PURE__ */ Symbol("max response size"),
       kHTTP2Session: /* @__PURE__ */ Symbol("http2Session"),
       kHTTP2SessionState: /* @__PURE__ */ Symbol("http2Session state"),
-      kHTTP2BuildRequest: /* @__PURE__ */ Symbol("http2 build request"),
-      kHTTP1BuildRequest: /* @__PURE__ */ Symbol("http1 build request"),
-      kHTTP2CopyHeaders: /* @__PURE__ */ Symbol("http2 copy headers"),
-      kHTTPConnVersion: /* @__PURE__ */ Symbol("http connection version"),
       kRetryHandlerDefaultRetry: /* @__PURE__ */ Symbol("retry agent default retry"),
-      kConstruct: /* @__PURE__ */ Symbol("constructable")
+      kConstruct: /* @__PURE__ */ Symbol("constructable"),
+      kListeners: /* @__PURE__ */ Symbol("listeners"),
+      kHTTPContext: /* @__PURE__ */ Symbol("http context"),
+      kMaxConcurrentStreams: /* @__PURE__ */ Symbol("max concurrent streams"),
+      kNoProxyAgent: /* @__PURE__ */ Symbol("no proxy agent"),
+      kHttpProxyAgent: /* @__PURE__ */ Symbol("http proxy agent"),
+      kHttpsProxyAgent: /* @__PURE__ */ Symbol("https proxy agent")
     };
   }
 });
 
-// node_modules/undici/lib/core/errors.js
+// node_modules/@actions/github/node_modules/undici/lib/core/errors.js
 var require_errors2 = __commonJS({
-  "node_modules/undici/lib/core/errors.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/errors.js"(exports2, module2) {
     "use strict";
+    var kUndiciError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR");
     var UndiciError = class extends Error {
       constructor(message) {
         super(message);
         this.name = "UndiciError";
         this.code = "UND_ERR";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kUndiciError] === true;
+      }
+      [kUndiciError] = true;
     };
-    var ConnectTimeoutError = class _ConnectTimeoutError extends UndiciError {
+    var kConnectTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT");
+    var ConnectTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ConnectTimeoutError);
         this.name = "ConnectTimeoutError";
         this.message = message || "Connect Timeout Error";
         this.code = "UND_ERR_CONNECT_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kConnectTimeoutError] === true;
+      }
+      [kConnectTimeoutError] = true;
     };
-    var HeadersTimeoutError = class _HeadersTimeoutError extends UndiciError {
+    var kHeadersTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT");
+    var HeadersTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersTimeoutError);
         this.name = "HeadersTimeoutError";
         this.message = message || "Headers Timeout Error";
         this.code = "UND_ERR_HEADERS_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersTimeoutError] === true;
+      }
+      [kHeadersTimeoutError] = true;
     };
-    var HeadersOverflowError = class _HeadersOverflowError extends UndiciError {
+    var kHeadersOverflowError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW");
+    var HeadersOverflowError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersOverflowError);
         this.name = "HeadersOverflowError";
         this.message = message || "Headers Overflow Error";
         this.code = "UND_ERR_HEADERS_OVERFLOW";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersOverflowError] === true;
+      }
+      [kHeadersOverflowError] = true;
     };
-    var BodyTimeoutError = class _BodyTimeoutError extends UndiciError {
+    var kBodyTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT");
+    var BodyTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _BodyTimeoutError);
         this.name = "BodyTimeoutError";
         this.message = message || "Body Timeout Error";
         this.code = "UND_ERR_BODY_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBodyTimeoutError] === true;
+      }
+      [kBodyTimeoutError] = true;
     };
-    var ResponseStatusCodeError = class _ResponseStatusCodeError extends UndiciError {
+    var kResponseStatusCodeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RESPONSE_STATUS_CODE");
+    var ResponseStatusCodeError = class extends UndiciError {
       constructor(message, statusCode, headers, body) {
         super(message);
-        Error.captureStackTrace(this, _ResponseStatusCodeError);
         this.name = "ResponseStatusCodeError";
         this.message = message || "Response Status Code Error";
         this.code = "UND_ERR_RESPONSE_STATUS_CODE";
@@ -21677,129 +21702,198 @@ var require_errors2 = __commonJS({
         this.statusCode = statusCode;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseStatusCodeError] === true;
+      }
+      [kResponseStatusCodeError] = true;
     };
-    var InvalidArgumentError = class _InvalidArgumentError extends UndiciError {
+    var kInvalidArgumentError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_ARG");
+    var InvalidArgumentError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidArgumentError);
         this.name = "InvalidArgumentError";
         this.message = message || "Invalid Argument Error";
         this.code = "UND_ERR_INVALID_ARG";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidArgumentError] === true;
+      }
+      [kInvalidArgumentError] = true;
     };
-    var InvalidReturnValueError = class _InvalidReturnValueError extends UndiciError {
+    var kInvalidReturnValueError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE");
+    var InvalidReturnValueError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidReturnValueError);
         this.name = "InvalidReturnValueError";
         this.message = message || "Invalid Return Value Error";
         this.code = "UND_ERR_INVALID_RETURN_VALUE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidReturnValueError] === true;
+      }
+      [kInvalidReturnValueError] = true;
     };
-    var RequestAbortedError = class _RequestAbortedError extends UndiciError {
+    var kAbortError = /* @__PURE__ */ 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";
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kAbortError] === true;
+      }
+      [kAbortError] = true;
+    };
+    var kRequestAbortedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_ABORTED");
+    var RequestAbortedError = class extends AbortError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestAbortedError);
         this.name = "AbortError";
         this.message = message || "Request aborted";
         this.code = "UND_ERR_ABORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestAbortedError] === true;
+      }
+      [kRequestAbortedError] = true;
     };
-    var InformationalError = class _InformationalError extends UndiciError {
+    var kInformationalError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INFO");
+    var InformationalError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InformationalError);
         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 RequestContentLengthMismatchError = class _RequestContentLengthMismatchError extends UndiciError {
+    var kRequestContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH");
+    var RequestContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestContentLengthMismatchError);
         this.name = "RequestContentLengthMismatchError";
         this.message = message || "Request body length does not match content-length header";
         this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestContentLengthMismatchError] === true;
+      }
+      [kRequestContentLengthMismatchError] = true;
     };
-    var ResponseContentLengthMismatchError = class _ResponseContentLengthMismatchError extends UndiciError {
+    var kResponseContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH");
+    var ResponseContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseContentLengthMismatchError);
         this.name = "ResponseContentLengthMismatchError";
         this.message = message || "Response body length does not match content-length header";
         this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseContentLengthMismatchError] === true;
+      }
+      [kResponseContentLengthMismatchError] = true;
     };
-    var ClientDestroyedError = class _ClientDestroyedError extends UndiciError {
+    var kClientDestroyedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_DESTROYED");
+    var ClientDestroyedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientDestroyedError);
         this.name = "ClientDestroyedError";
         this.message = message || "The client is destroyed";
         this.code = "UND_ERR_DESTROYED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientDestroyedError] === true;
+      }
+      [kClientDestroyedError] = true;
     };
-    var ClientClosedError = class _ClientClosedError extends UndiciError {
+    var kClientClosedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CLOSED");
+    var ClientClosedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientClosedError);
         this.name = "ClientClosedError";
         this.message = message || "The client is closed";
         this.code = "UND_ERR_CLOSED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientClosedError] === true;
+      }
+      [kClientClosedError] = true;
     };
-    var SocketError = class _SocketError extends UndiciError {
+    var kSocketError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_SOCKET");
+    var SocketError = class extends UndiciError {
       constructor(message, socket) {
         super(message);
-        Error.captureStackTrace(this, _SocketError);
         this.name = "SocketError";
         this.message = message || "Socket error";
         this.code = "UND_ERR_SOCKET";
         this.socket = socket;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kSocketError] === true;
+      }
+      [kSocketError] = true;
     };
-    var NotSupportedError = class _NotSupportedError extends UndiciError {
+    var kNotSupportedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED");
+    var NotSupportedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _NotSupportedError);
         this.name = "NotSupportedError";
         this.message = message || "Not supported error";
         this.code = "UND_ERR_NOT_SUPPORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kNotSupportedError] === true;
+      }
+      [kNotSupportedError] = true;
     };
+    var kBalancedPoolMissingUpstreamError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM");
     var BalancedPoolMissingUpstreamError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, NotSupportedError);
         this.name = "MissingUpstreamError";
         this.message = message || "No upstream has been added to the BalancedPool";
         this.code = "UND_ERR_BPL_MISSING_UPSTREAM";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBalancedPoolMissingUpstreamError] === true;
+      }
+      [kBalancedPoolMissingUpstreamError] = true;
     };
-    var HTTPParserError = class _HTTPParserError extends Error {
+    var kHTTPParserError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HTTP_PARSER");
+    var HTTPParserError = class extends Error {
       constructor(message, code, data) {
         super(message);
-        Error.captureStackTrace(this, _HTTPParserError);
         this.name = "HTTPParserError";
         this.code = code ? `HPE_${code}` : void 0;
         this.data = data ? data.toString() : void 0;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHTTPParserError] === true;
+      }
+      [kHTTPParserError] = true;
     };
-    var ResponseExceededMaxSizeError = class _ResponseExceededMaxSizeError extends UndiciError {
+    var kResponseExceededMaxSizeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE");
+    var ResponseExceededMaxSizeError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseExceededMaxSizeError);
         this.name = "ResponseExceededMaxSizeError";
         this.message = message || "Response content exceeded max size";
         this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseExceededMaxSizeError] === true;
+      }
+      [kResponseExceededMaxSizeError] = true;
     };
-    var RequestRetryError = class _RequestRetryError extends UndiciError {
+    var kRequestRetryError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_RETRY");
+    var RequestRetryError = class extends UndiciError {
       constructor(message, code, { headers, data }) {
         super(message);
-        Error.captureStackTrace(this, _RequestRetryError);
         this.name = "RequestRetryError";
         this.message = message || "Request retry error";
         this.code = "UND_ERR_REQ_RETRY";
@@ -21807,8 +21901,43 @@ var require_errors2 = __commonJS({
         this.data = data;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestRetryError] === true;
+      }
+      [kRequestRetryError] = true;
+    };
+    var kResponseError = /* @__PURE__ */ 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 = /* @__PURE__ */ 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,
@@ -21828,14 +21957,16 @@ var require_errors2 = __commonJS({
       ResponseContentLengthMismatchError,
       BalancedPoolMissingUpstreamError,
       ResponseExceededMaxSizeError,
-      RequestRetryError
+      RequestRetryError,
+      ResponseError,
+      SecureProxyConnectionError
     };
   }
 });
 
-// node_modules/undici/lib/core/constants.js
+// node_modules/@actions/github/node_modules/undici/lib/core/constants.js
 var require_constants6 = __commonJS({
-  "node_modules/undici/lib/core/constants.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/constants.js"(exports2, module2) {
     "use strict";
     var headerNameLowerCasedRecord = {};
     var wellknownHeaderNames = [
@@ -21948,28 +22079,212 @@ var require_constants6 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/util.js
+// node_modules/@actions/github/node_modules/undici/lib/core/tree.js
+var require_tree2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/tree.js"(exports2, module2) {
+    "use strict";
+    var {
+      wellknownHeaderNames,
+      headerNameLowerCasedRecord
+    } = require_constants6();
+    var TstNode = class _TstNode {
+      /** @type {any} */
+      value = null;
+      /** @type {null | TstNode} */
+      left = null;
+      /** @type {null | TstNode} */
+      middle = null;
+      /** @type {null | TstNode} */
+      right = null;
+      /** @type {number} */
+      code;
+      /**
+       * @param {string} key
+       * @param {any} value
+       * @param {number} index
+       */
+      constructor(key, value, index) {
+        if (index === void 0 || index >= key.length) {
+          throw new TypeError("Unreachable");
+        }
+        const code = this.code = key.charCodeAt(index);
+        if (code > 127) {
+          throw new TypeError("key must be ascii string");
+        }
+        if (key.length !== ++index) {
+          this.middle = new _TstNode(key, value, index);
+        } else {
+          this.value = value;
+        }
+      }
+      /**
+       * @param {string} key
+       * @param {any} value
+       */
+      add(key, value) {
+        const length = key.length;
+        if (length === 0) {
+          throw new TypeError("Unreachable");
+        }
+        let index = 0;
+        let node = this;
+        while (true) {
+          const code = key.charCodeAt(index);
+          if (code > 127) {
+            throw new TypeError("key must be ascii string");
+          }
+          if (node.code === code) {
+            if (length === ++index) {
+              node.value = value;
+              break;
+            } else if (node.middle !== null) {
+              node = node.middle;
+            } else {
+              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;
+          }
+        }
+      }
+      /**
+       * @param {Uint8Array} key
+       * @return {TstNode | null}
+       */
+      search(key) {
+        const keylength = key.length;
+        let index = 0;
+        let node = this;
+        while (node !== null && index < keylength) {
+          let code = key[index];
+          if (code <= 90 && code >= 65) {
+            code |= 32;
+          }
+          while (node !== null) {
+            if (code === node.code) {
+              if (keylength === ++index) {
+                return node;
+              }
+              node = node.middle;
+              break;
+            }
+            node = node.code < code ? node.left : node.right;
+          }
+        }
+        return null;
+      }
+    };
+    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);
+        }
+      }
+      /**
+       * @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/@actions/github/node_modules/undici/lib/core/util.js
 var require_util9 = __commonJS({
-  "node_modules/undici/lib/core/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/util.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { kDestroyed, kBodyUsed } = require_symbols6();
-    var { IncomingMessage } = require("http");
-    var stream = require("stream");
-    var net = require("net");
+    var assert = require("node:assert");
+    var { kDestroyed, kBodyUsed, kListeners, kBody } = require_symbols6();
+    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_errors2();
-    var { Blob: Blob2 } = require("buffer");
-    var nodeUtil = require("util");
-    var { stringify } = require("querystring");
     var { headerNameLowerCasedRecord } = require_constants6();
+    var { tree } = require_tree2();
     var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v) => Number(v));
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
+      }
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
+      }
+    };
+    function wrapRequestBody(body) {
+      if (isStream(body)) {
+        if (bodyLength(body) === 0) {
+          body.on("data", function() {
+            assert(false);
+          });
+        }
+        if (typeof body.readableDidRead !== "boolean") {
+          body[kBodyUsed] = false;
+          EE.prototype.on.call(body, "data", function() {
+            this[kBodyUsed] = true;
+          });
+        }
+        return body;
+      } else if (body && typeof body.pipeTo === "function") {
+        return new BodyAsyncIterable(body);
+      } else if (body && typeof body !== "string" && !ArrayBuffer.isView(body) && isIterable(body)) {
+        return new BodyAsyncIterable(body);
+      } else {
+        return body;
+      }
+    }
     function nop() {
     }
     function isStream(obj) {
       return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function";
     }
     function isBlobLike(object) {
-      return Blob2 && object instanceof Blob2 || object && typeof object === "object" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]);
+      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("#")) {
@@ -21981,10 +22296,17 @@ var require_util9 = __commonJS({
       }
       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 (!/^https?:/.test(url.origin || url.protocol)) {
+        if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {
           throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
         }
         return url;
@@ -21992,11 +22314,8 @@ var require_util9 = __commonJS({
       if (!url || typeof url !== "object") {
         throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object.");
       }
-      if (!/^https?:/.test(url.origin || url.protocol)) {
-        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
-      }
       if (!(url instanceof URL)) {
-        if (url.port != null && url.port !== "" && !Number.isFinite(parseInt(url.port))) {
+        if (url.port != null && url.port !== "" && isValidPort(url.port) === false) {
           throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer.");
         }
         if (url.path != null && typeof url.path !== "string") {
@@ -22011,16 +22330,22 @@ var require_util9 = __commonJS({
         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 origin = url.origin != null ? url.origin : `${url.protocol || ""}//${url.hostname || ""}:${port}`;
         let path3 = url.path != null ? url.path : `${url.pathname || ""}${url.search || ""}`;
-        if (origin.endsWith("/")) {
-          origin = origin.substring(0, origin.length - 1);
+        if (origin[origin.length - 1] === "/") {
+          origin = origin.slice(0, origin.length - 1);
         }
-        if (path3 && !path3.startsWith("/")) {
+        if (path3 && path3[0] !== "/") {
           path3 = `/${path3}`;
         }
-        url = new URL(origin + path3);
+        return new URL(`${origin}${path3}`);
+      }
+      if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {
+        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
       }
       return url;
     }
@@ -22045,7 +22370,7 @@ var require_util9 = __commonJS({
       if (!host) {
         return null;
       }
-      assert.strictEqual(typeof host, "string");
+      assert(typeof host === "string");
       const servername = getHostname(host);
       if (net.isIP(servername)) {
         return "";
@@ -22074,12 +22399,8 @@ var require_util9 = __commonJS({
       }
       return null;
     }
-    function isDestroyed(stream2) {
-      return !stream2 || !!(stream2.destroyed || stream2[kDestroyed]);
-    }
-    function isReadableAborted(stream2) {
-      const state = stream2 && stream2._readableState;
-      return isDestroyed(stream2) && state && !state.endEmitted;
+    function isDestroyed(body) {
+      return body && !!(body.destroyed || body[kDestroyed] || stream.isDestroyed?.(body));
     }
     function destroy(stream2, err) {
       if (stream2 == null || !isStream(stream2) || isDestroyed(stream2)) {
@@ -22091,9 +22412,9 @@ var require_util9 = __commonJS({
         }
         stream2.destroy(err);
       } else if (err) {
-        process.nextTick((stream3, err2) => {
-          stream3.emit("error", err2);
-        }, stream2, err);
+        queueMicrotask(() => {
+          stream2.emit("error", err);
+        });
       }
       if (stream2.destroyed !== true) {
         stream2[kDestroyed] = true;
@@ -22105,25 +22426,29 @@ var require_util9 = __commonJS({
       return m ? parseInt(m[1], 10) * 1e3 : null;
     }
     function headerNameToString(value) {
-      return headerNameLowerCasedRecord[value] || value.toLowerCase();
+      return typeof value === "string" ? headerNameLowerCasedRecord[value] ?? value.toLowerCase() : tree.lookup(value) ?? value.toString("latin1").toLowerCase();
     }
-    function parseHeaders(headers, obj = {}) {
-      if (!Array.isArray(headers)) return headers;
+    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 = headers[i].toString().toLowerCase();
+        const key = headerNameToString(headers[i]);
         let val = obj[key];
-        if (!val) {
-          if (Array.isArray(headers[i + 1])) {
-            obj[key] = headers[i + 1].map((x) => x.toString("utf8"));
-          } else {
-            obj[key] = headers[i + 1].toString("utf8");
-          }
-        } else {
-          if (!Array.isArray(val)) {
+        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");
+          }
         }
       }
       if ("content-length" in obj && "content-disposition" in obj) {
@@ -22132,20 +22457,26 @@ var require_util9 = __commonJS({
       return obj;
     }
     function parseRawHeaders(headers) {
-      const ret = [];
+      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) {
-        const key = headers[n + 0].toString();
-        const val = headers[n + 1].toString("utf8");
-        if (key.length === 14 && (key === "content-length" || key.toLowerCase() === "content-length")) {
-          ret.push(key, val);
+        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 (key.length === 19 && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
-          contentDispositionIdx = ret.push(key, val) - 1;
-        } else {
-          ret.push(key, val);
+        } else if (kLen === 19 && key[7] === "-" && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
+          contentDispositionIdx = n + 1;
         }
+        ret[n] = key;
+        ret[n + 1] = val;
       }
       if (hasContentLength && contentDispositionIdx !== -1) {
         ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1");
@@ -22185,17 +22516,13 @@ var require_util9 = __commonJS({
       }
     }
     function isDisturbed(body) {
-      return !!(body && (stream.isDisturbed ? stream.isDisturbed(body) || body[kBodyUsed] : body[kBodyUsed] || body.readableDidRead || body._readableState && body._readableState.dataEmitted || isReadableAborted(body)));
+      return !!(body && (stream.isDisturbed(body) || body[kBodyUsed]));
     }
     function isErrored(body) {
-      return !!(body && (stream.isErrored ? stream.isErrored(body) : /state: 'errored'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream.isErrored(body));
     }
     function isReadable(body) {
-      return !!(body && (stream.isReadable ? stream.isReadable(body) : /state: 'readable'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream.isReadable(body));
     }
     function getSocketInfo(socket) {
       return {
@@ -22209,21 +22536,9 @@ var require_util9 = __commonJS({
         bytesRead: socket.bytesRead
       };
     }
-    async function* convertIterableToBuffer(iterable) {
-      for await (const chunk of iterable) {
-        yield Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
-      }
-    }
-    var ReadableStream2;
     function ReadableStreamFrom(iterable) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      if (ReadableStream2.from) {
-        return ReadableStream2.from(convertIterableToBuffer(iterable));
-      }
       let iterator2;
-      return new ReadableStream2(
+      return new ReadableStream(
         {
           async start() {
             iterator2 = iterable[Symbol.asyncIterator]();
@@ -22233,37 +22548,26 @@ var require_util9 = __commonJS({
             if (done) {
               queueMicrotask(() => {
                 controller.close();
+                controller.byobRequest?.respond(0);
               });
             } else {
               const buf = Buffer.isBuffer(value) ? value : Buffer.from(value);
-              controller.enqueue(new Uint8Array(buf));
+              if (buf.byteLength) {
+                controller.enqueue(new Uint8Array(buf));
+              }
             }
             return controller.desiredSize > 0;
           },
           async cancel(reason) {
             await iterator2.return();
-          }
-        },
-        0
+          },
+          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 throwIfAborted(signal) {
-      if (!signal) {
-        return;
-      }
-      if (typeof signal.throwIfAborted === "function") {
-        signal.throwIfAborted();
-      } else {
-        if (signal.aborted) {
-          const err = new Error("The operation was aborted");
-          err.name = "AbortError";
-          throw err;
-        }
-      }
-    }
     function addAbortListener(signal, listener) {
       if ("addEventListener" in signal) {
         signal.addEventListener("abort", listener, { once: true });
@@ -22272,14 +22576,52 @@ var require_util9 = __commonJS({
       signal.addListener("abort", listener);
       return () => signal.removeListener("abort", listener);
     }
-    var hasToWellFormed = !!String.prototype.toWellFormed;
+    var hasToWellFormed = typeof String.prototype.toWellFormed === "function";
+    var hasIsWellFormed = typeof String.prototype.isWellFormed === "function";
     function toUSVString(val) {
-      if (hasToWellFormed) {
-        return `${val}`.toWellFormed();
-      } else if (nodeUtil.toUSVString) {
-        return nodeUtil.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;
       }
-      return `${val}`;
+    }
+    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 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 };
@@ -22290,8 +22632,49 @@ var require_util9 = __commonJS({
         size: m[3] ? parseInt(m[3]) : null
       } : null;
     }
+    function addListener(obj, name, listener) {
+      const listeners = obj[kListeners] ??= [];
+      listeners.push([name, listener]);
+      obj.on(name, listener);
+      return obj;
+    }
+    function removeAllListeners(obj) {
+      for (const [name, listener] of obj[kListeners] ?? []) {
+        obj.removeListener(name, listener);
+      }
+      obj[kListeners] = null;
+    }
+    function errorRequest2(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,
@@ -22299,7 +22682,7 @@ var require_util9 = __commonJS({
       isErrored,
       isReadable,
       toUSVString,
-      isReadableAborted,
+      isUSVString,
       isBlobLike,
       parseOrigin,
       parseURL,
@@ -22309,6 +22692,10 @@ var require_util9 = __commonJS({
       isAsyncIterable,
       isDestroyed,
       headerNameToString,
+      bufferToLowerCasedHeaderName,
+      addListener,
+      removeAllListeners,
+      errorRequest: errorRequest2,
       parseRawHeaders,
       parseHeaders,
       parseKeepAliveTimeout,
@@ -22321,2519 +22708,2736 @@ var require_util9 = __commonJS({
       getSocketInfo,
       isFormDataLike,
       buildURL,
-      throwIfAborted,
       addAbortListener,
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isTokenCharCode,
       parseRangeHeader,
+      normalizedMethodRecordsBase,
+      normalizedMethodRecords,
+      isValidPort,
+      isHttpOrHttpsPrefixed,
       nodeMajor,
       nodeMinor,
-      nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13,
-      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"]
+      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"],
+      wrapRequestBody
     };
   }
 });
 
-// node_modules/undici/lib/timers.js
-var require_timers2 = __commonJS({
-  "node_modules/undici/lib/timers.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js
+var require_diagnostics2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js"(exports2, module2) {
     "use strict";
-    var fastNow = Date.now();
-    var fastNowTimeout;
-    var fastTimers = [];
-    function onTimeout() {
-      fastNow = Date.now();
-      let len = fastTimers.length;
-      let idx = 0;
-      while (idx < len) {
-        const timer = fastTimers[idx];
-        if (timer.state === 0) {
-          timer.state = fastNow + timer.delay;
-        } else if (timer.state > 0 && fastNow >= timer.state) {
-          timer.state = -1;
-          timer.callback(timer.opaque);
-        }
-        if (timer.state === -1) {
-          timer.state = -2;
-          if (idx !== len - 1) {
-            fastTimers[idx] = fastTimers.pop();
-          } else {
-            fastTimers.pop();
-          }
-          len -= 1;
-        } else {
-          idx += 1;
-        }
-      }
-      if (fastTimers.length > 0) {
-        refreshTimeout();
-      }
+    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: error3
+        } = evt;
+        debuglog(
+          "connection to %s using %s%s errored - %s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version,
+          error3.message
+        );
+      });
+      diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+        const {
+          request: { method, path: path3, origin }
+        } = evt;
+        debuglog("sending request to %s %s/%s", method, origin, path3);
+      });
+      diagnosticsChannel.channel("undici:request:headers").subscribe((evt) => {
+        const {
+          request: { method, path: path3, origin },
+          response: { statusCode }
+        } = evt;
+        debuglog(
+          "received response to %s %s/%s - HTTP %d",
+          method,
+          origin,
+          path3,
+          statusCode
+        );
+      });
+      diagnosticsChannel.channel("undici:request:trailers").subscribe((evt) => {
+        const {
+          request: { method, path: path3, origin }
+        } = evt;
+        debuglog("trailers received from %s %s/%s", method, origin, path3);
+      });
+      diagnosticsChannel.channel("undici:request:error").subscribe((evt) => {
+        const {
+          request: { method, path: path3, origin },
+          error: error3
+        } = evt;
+        debuglog(
+          "request to %s %s/%s errored - %s",
+          method,
+          origin,
+          path3,
+          error3.message
+        );
+      });
+      isClientSet = true;
     }
-    function refreshTimeout() {
-      if (fastNowTimeout && fastNowTimeout.refresh) {
-        fastNowTimeout.refresh();
-      } else {
-        clearTimeout(fastNowTimeout);
-        fastNowTimeout = setTimeout(onTimeout, 1e3);
-        if (fastNowTimeout.unref) {
-          fastNowTimeout.unref();
-        }
+    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: error3
+          } = evt;
+          debuglog(
+            "connection to %s%s using %s%s errored - %s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version,
+            error3.message
+          );
+        });
+        diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+          const {
+            request: { method, path: path3, origin }
+          } = evt;
+          debuglog("sending request to %s %s/%s", method, origin, path3);
+        });
       }
+      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");
+      });
     }
-    var Timeout = class {
-      constructor(callback, delay, opaque) {
-        this.callback = callback;
-        this.delay = delay;
-        this.opaque = opaque;
-        this.state = -2;
-        this.refresh();
-      }
-      refresh() {
-        if (this.state === -2) {
-          fastTimers.push(this);
-          if (!fastNowTimeout || fastTimers.length === 1) {
-            refreshTimeout();
-          }
-        }
-        this.state = 0;
-      }
-      clear() {
-        this.state = -1;
-      }
-    };
     module2.exports = {
-      setTimeout(callback, delay, opaque) {
-        return delay < 1e3 ? setTimeout(callback, delay, opaque) : new Timeout(callback, delay, opaque);
-      },
-      clearTimeout(timeout) {
-        if (timeout instanceof Timeout) {
-          timeout.clear();
-        } else {
-          clearTimeout(timeout);
-        }
-      }
+      channels
     };
   }
 });
 
-// node_modules/@fastify/busboy/deps/streamsearch/sbmh.js
-var require_sbmh = __commonJS({
-  "node_modules/@fastify/busboy/deps/streamsearch/sbmh.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/request.js
+var require_request3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/request.js"(exports2, module2) {
     "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    function SBMH(needle) {
-      if (typeof needle === "string") {
-        needle = Buffer.from(needle);
-      }
-      if (!Buffer.isBuffer(needle)) {
-        throw new TypeError("The needle has to be a String or a Buffer.");
-      }
-      const needleLength = needle.length;
-      if (needleLength === 0) {
-        throw new Error("The needle cannot be an empty String/Buffer.");
-      }
-      if (needleLength > 256) {
-        throw new Error("The needle cannot have a length bigger than 256.");
-      }
-      this.maxMatches = Infinity;
-      this.matches = 0;
-      this._occ = new Array(256).fill(needleLength);
-      this._lookbehind_size = 0;
-      this._needle = needle;
-      this._bufpos = 0;
-      this._lookbehind = Buffer.alloc(needleLength);
-      for (var i = 0; i < needleLength - 1; ++i) {
-        this._occ[needle[i]] = needleLength - 1 - i;
-      }
-    }
-    inherits(SBMH, EventEmitter);
-    SBMH.prototype.reset = function() {
-      this._lookbehind_size = 0;
-      this.matches = 0;
-      this._bufpos = 0;
-    };
-    SBMH.prototype.push = function(chunk, pos) {
-      if (!Buffer.isBuffer(chunk)) {
-        chunk = Buffer.from(chunk, "binary");
-      }
-      const chlen = chunk.length;
-      this._bufpos = pos || 0;
-      let r;
-      while (r !== chlen && this.matches < this.maxMatches) {
-        r = this._sbmh_feed(chunk);
-      }
-      return r;
-    };
-    SBMH.prototype._sbmh_feed = function(data) {
-      const len = data.length;
-      const needle = this._needle;
-      const needleLength = needle.length;
-      const lastNeedleChar = needle[needleLength - 1];
-      let pos = -this._lookbehind_size;
-      let ch;
-      if (pos < 0) {
-        while (pos < 0 && pos <= len - needleLength) {
-          ch = this._sbmh_lookup_char(data, pos + needleLength - 1);
-          if (ch === lastNeedleChar && this._sbmh_memcmp(data, pos, needleLength - 1)) {
-            this._lookbehind_size = 0;
-            ++this.matches;
-            this.emit("info", true);
-            return this._bufpos = pos + needleLength;
-          }
-          pos += this._occ[ch];
-        }
-        if (pos < 0) {
-          while (pos < 0 && !this._sbmh_memcmp(data, pos, len - pos)) {
-            ++pos;
-          }
-        }
-        if (pos >= 0) {
-          this.emit("info", false, this._lookbehind, 0, this._lookbehind_size);
-          this._lookbehind_size = 0;
-        } else {
-          const bytesToCutOff = this._lookbehind_size + pos;
-          if (bytesToCutOff > 0) {
-            this.emit("info", false, this._lookbehind, 0, bytesToCutOff);
-          }
-          this._lookbehind.copy(
-            this._lookbehind,
-            0,
-            bytesToCutOff,
-            this._lookbehind_size - bytesToCutOff
-          );
-          this._lookbehind_size -= bytesToCutOff;
-          data.copy(this._lookbehind, this._lookbehind_size);
-          this._lookbehind_size += len;
-          this._bufpos = len;
-          return len;
-        }
-      }
-      pos += (pos >= 0) * this._bufpos;
-      if (data.indexOf(needle, pos) !== -1) {
-        pos = data.indexOf(needle, pos);
-        ++this.matches;
-        if (pos > 0) {
-          this.emit("info", true, data, this._bufpos, pos);
-        } else {
-          this.emit("info", true);
+    var {
+      InvalidArgumentError,
+      NotSupportedError
+    } = require_errors2();
+    var assert = require("node:assert");
+    var {
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isStream,
+      destroy,
+      isBuffer,
+      isFormDataLike,
+      isIterable,
+      isBlobLike,
+      buildURL,
+      validateHandler,
+      getServerName,
+      normalizedMethodRecords
+    } = require_util9();
+    var { channels } = require_diagnostics2();
+    var { headerNameLowerCasedRecord } = require_constants6();
+    var invalidPathRegex = /[^\u0021-\u00ff]/;
+    var kHandler = /* @__PURE__ */ Symbol("handler");
+    var Request = class {
+      constructor(origin, {
+        path: path3,
+        method,
+        body,
+        headers,
+        query,
+        idempotent,
+        blocking,
+        upgrade,
+        headersTimeout,
+        bodyTimeout,
+        reset,
+        throwOnError,
+        expectContinue,
+        servername
+      }, handler2) {
+        if (typeof path3 !== "string") {
+          throw new InvalidArgumentError("path must be a string");
+        } else if (path3[0] !== "/" && !(path3.startsWith("http://") || path3.startsWith("https://")) && method !== "CONNECT") {
+          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
+        } else if (invalidPathRegex.test(path3)) {
+          throw new InvalidArgumentError("invalid request path");
+        }
+        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 (body == null) {
+          this.body = null;
+        } else if (isStream(body)) {
+          this.body = body;
+          const rState = this.body._readableState;
+          if (!rState || !rState.autoDestroy) {
+            this.endHandler = function autoDestroy() {
+              destroy(this);
+            };
+            this.body.on("end", this.endHandler);
+          }
+          this.errorHandler = (err) => {
+            if (this.abort) {
+              this.abort(err);
+            } else {
+              this.error = err;
+            }
+          };
+          this.body.on("error", this.errorHandler);
+        } else if (isBuffer(body)) {
+          this.body = body.byteLength ? body : null;
+        } else if (ArrayBuffer.isView(body)) {
+          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
+        } else if (body instanceof ArrayBuffer) {
+          this.body = body.byteLength ? Buffer.from(body) : null;
+        } else if (typeof body === "string") {
+          this.body = body.length ? Buffer.from(body) : null;
+        } else if (isFormDataLike(body) || isIterable(body) || isBlobLike(body)) {
+          this.body = body;
+        } else {
+          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
+        }
+        this.completed = false;
+        this.aborted = false;
+        this.upgrade = upgrade || null;
+        this.path = query ? buildURL(path3, query) : path3;
+        this.origin = origin;
+        this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
+        this.blocking = blocking == null ? false : blocking;
+        this.reset = reset == null ? null : reset;
+        this.host = null;
+        this.contentLength = null;
+        this.contentType = null;
+        this.headers = [];
+        this.expectContinue = expectContinue != null ? expectContinue : false;
+        if (Array.isArray(headers)) {
+          if (headers.length % 2 !== 0) {
+            throw new InvalidArgumentError("headers array must be even");
+          }
+          for (let i = 0; i < headers.length; i += 2) {
+            processHeader(this, headers[i], headers[i + 1]);
+          }
+        } else if (headers && typeof headers === "object") {
+          if (headers[Symbol.iterator]) {
+            for (const header of headers) {
+              if (!Array.isArray(header) || header.length !== 2) {
+                throw new InvalidArgumentError("headers must be in key-value pair format");
+              }
+              processHeader(this, header[0], header[1]);
+            }
+          } else {
+            const keys = Object.keys(headers);
+            for (let i = 0; i < keys.length; ++i) {
+              processHeader(this, keys[i], headers[keys[i]]);
+            }
+          }
+        } else if (headers != null) {
+          throw new InvalidArgumentError("headers must be an object or an array");
+        }
+        validateHandler(handler2, method, upgrade);
+        this.servername = servername || getServerName(this.host);
+        this[kHandler] = handler2;
+        if (channels.create.hasSubscribers) {
+          channels.create.publish({ request: this });
         }
-        return this._bufpos = pos + needleLength;
-      } else {
-        pos = len - needleLength;
       }
-      while (pos < len && (data[pos] !== needle[0] || Buffer.compare(
-        data.subarray(pos, pos + len - pos),
-        needle.subarray(0, len - pos)
-      ) !== 0)) {
-        ++pos;
+      onBodySent(chunk) {
+        if (this[kHandler].onBodySent) {
+          try {
+            return this[kHandler].onBodySent(chunk);
+          } catch (err) {
+            this.abort(err);
+          }
+        }
       }
-      if (pos < len) {
-        data.copy(this._lookbehind, 0, pos, pos + (len - pos));
-        this._lookbehind_size = len - pos;
+      onRequestSent() {
+        if (channels.bodySent.hasSubscribers) {
+          channels.bodySent.publish({ request: this });
+        }
+        if (this[kHandler].onRequestSent) {
+          try {
+            return this[kHandler].onRequestSent();
+          } catch (err) {
+            this.abort(err);
+          }
+        }
       }
-      if (pos > 0) {
-        this.emit("info", false, data, this._bufpos, pos < len ? pos : len);
+      onConnect(abort) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (this.error) {
+          abort(this.error);
+        } else {
+          this.abort = abort;
+          return this[kHandler].onConnect(abort);
+        }
       }
-      this._bufpos = len;
-      return len;
-    };
-    SBMH.prototype._sbmh_lookup_char = function(data, pos) {
-      return pos < 0 ? this._lookbehind[this._lookbehind_size + pos] : data[pos];
-    };
-    SBMH.prototype._sbmh_memcmp = function(data, pos, len) {
-      for (var i = 0; i < len; ++i) {
-        if (this._sbmh_lookup_char(data, pos + i) !== this._needle[i]) {
+      onResponseStarted() {
+        return this[kHandler].onResponseStarted?.();
+      }
+      onHeaders(statusCode, headers, resume, statusText) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (channels.headers.hasSubscribers) {
+          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
+        }
+        try {
+          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
+        } catch (err) {
+          this.abort(err);
+        }
+      }
+      onData(chunk) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        try {
+          return this[kHandler].onData(chunk);
+        } catch (err) {
+          this.abort(err);
           return false;
         }
       }
-      return true;
-    };
-    module2.exports = SBMH;
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js
-var require_PartStream = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js"(exports2, module2) {
-    "use strict";
-    var inherits = require("node:util").inherits;
-    var ReadableStream2 = require("node:stream").Readable;
-    function PartStream(opts) {
-      ReadableStream2.call(this, opts);
-    }
-    inherits(PartStream, ReadableStream2);
-    PartStream.prototype._read = function(n) {
-    };
-    module2.exports = PartStream;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/getLimit.js
-var require_getLimit = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/getLimit.js"(exports2, module2) {
-    "use strict";
-    module2.exports = function getLimit(limits, name, defaultLimit) {
-      if (!limits || limits[name] === void 0 || limits[name] === null) {
-        return defaultLimit;
+      onUpgrade(statusCode, headers, socket) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        return this[kHandler].onUpgrade(statusCode, headers, socket);
       }
-      if (typeof limits[name] !== "number" || isNaN(limits[name])) {
-        throw new TypeError("Limit " + name + " is not a valid number");
+      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);
+        }
       }
-      return limits[name];
-    };
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js
-var require_HeaderParser = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    var getLimit = require_getLimit();
-    var StreamSearch = require_sbmh();
-    var B_DCRLF = Buffer.from("\r\n\r\n");
-    var RE_CRLF = /\r\n/g;
-    var RE_HDR = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/;
-    function HeaderParser(cfg) {
-      EventEmitter.call(this);
-      cfg = cfg || {};
-      const self2 = this;
-      this.nread = 0;
-      this.maxed = false;
-      this.npairs = 0;
-      this.maxHeaderPairs = getLimit(cfg, "maxHeaderPairs", 2e3);
-      this.maxHeaderSize = getLimit(cfg, "maxHeaderSize", 80 * 1024);
-      this.buffer = "";
-      this.header = {};
-      this.finished = false;
-      this.ss = new StreamSearch(B_DCRLF);
-      this.ss.on("info", function(isMatch, data, start, end) {
-        if (data && !self2.maxed) {
-          if (self2.nread + end - start >= self2.maxHeaderSize) {
-            end = self2.maxHeaderSize - self2.nread + start;
-            self2.nread = self2.maxHeaderSize;
-            self2.maxed = true;
-          } else {
-            self2.nread += end - start;
-          }
-          self2.buffer += data.toString("binary", start, end);
+      onError(error3) {
+        this.onFinally();
+        if (channels.error.hasSubscribers) {
+          channels.error.publish({ request: this, error: error3 });
         }
-        if (isMatch) {
-          self2._finish();
+        if (this.aborted) {
+          return;
         }
-      });
-    }
-    inherits(HeaderParser, EventEmitter);
-    HeaderParser.prototype.push = function(data) {
-      const r = this.ss.push(data);
-      if (this.finished) {
-        return r;
+        this.aborted = true;
+        return this[kHandler].onError(error3);
       }
-    };
-    HeaderParser.prototype.reset = function() {
-      this.finished = false;
-      this.buffer = "";
-      this.header = {};
-      this.ss.reset();
-    };
-    HeaderParser.prototype._finish = function() {
-      if (this.buffer) {
-        this._parseHeader();
+      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;
+        }
+      }
+      addHeader(key, value) {
+        processHeader(this, key, value);
+        return this;
       }
-      this.ss.matches = this.ss.maxMatches;
-      const header = this.header;
-      this.header = {};
-      this.buffer = "";
-      this.finished = true;
-      this.nread = this.npairs = 0;
-      this.maxed = false;
-      this.emit("header", header);
     };
-    HeaderParser.prototype._parseHeader = function() {
-      if (this.npairs === this.maxHeaderPairs) {
+    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;
       }
-      const lines = this.buffer.split(RE_CRLF);
-      const len = lines.length;
-      let m, h;
-      for (var i = 0; i < len; ++i) {
-        if (lines[i].length === 0) {
-          continue;
+      let headerName = headerNameLowerCasedRecord[key];
+      if (headerName === void 0) {
+        headerName = key.toLowerCase();
+        if (headerNameLowerCasedRecord[headerName] === void 0 && !isValidHTTPToken(headerName)) {
+          throw new InvalidArgumentError("invalid header key");
         }
-        if (lines[i][0] === "	" || lines[i][0] === " ") {
-          if (h) {
-            this.header[h][this.header[h].length - 1] += lines[i];
-            continue;
+      }
+      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]}`);
           }
         }
-        const posColon = lines[i].indexOf(":");
-        if (posColon === -1 || posColon === 0) {
-          return;
+        val = arr;
+      } else if (typeof val === "string") {
+        if (!isValidHeaderValue(val)) {
+          throw new InvalidArgumentError(`invalid ${key} header`);
         }
-        m = RE_HDR.exec(lines[i]);
-        h = m[1].toLowerCase();
-        this.header[h] = this.header[h] || [];
-        this.header[h].push(m[2] || "");
-        if (++this.npairs === this.maxHeaderPairs) {
-          break;
+      } else if (val === null) {
+        val = "";
+      } else {
+        val = `${val}`;
+      }
+      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);
       }
-    };
-    module2.exports = HeaderParser;
+    }
+    module2.exports = Request;
   }
 });
 
-// node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js
-var require_Dicer = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js
+var require_dispatcher2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js"(exports2, module2) {
     "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var inherits = require("node:util").inherits;
-    var StreamSearch = require_sbmh();
-    var PartStream = require_PartStream();
-    var HeaderParser = require_HeaderParser();
-    var DASH = 45;
-    var B_ONEDASH = Buffer.from("-");
-    var B_CRLF = Buffer.from("\r\n");
-    var EMPTY_FN = function() {
+    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);
+      }
     };
-    function Dicer(cfg) {
-      if (!(this instanceof Dicer)) {
-        return new Dicer(cfg);
+    var ComposedDispatcher = class extends Dispatcher {
+      #dispatcher = null;
+      #dispatch = null;
+      constructor(dispatcher, dispatch) {
+        super();
+        this.#dispatcher = dispatcher;
+        this.#dispatch = dispatch;
       }
-      WritableStream.call(this, cfg);
-      if (!cfg || !cfg.headerFirst && typeof cfg.boundary !== "string") {
-        throw new TypeError("Boundary required");
+      dispatch(...args) {
+        this.#dispatch(...args);
       }
-      if (typeof cfg.boundary === "string") {
-        this.setBoundary(cfg.boundary);
-      } else {
-        this._bparser = void 0;
+      close(...args) {
+        return this.#dispatcher.close(...args);
       }
-      this._headerFirst = cfg.headerFirst;
-      this._dashes = 0;
-      this._parts = 0;
-      this._finished = false;
-      this._realFinish = false;
-      this._isPreamble = true;
-      this._justMatched = false;
-      this._firstWrite = true;
-      this._inHeader = true;
-      this._part = void 0;
-      this._cb = void 0;
-      this._ignoreData = false;
-      this._partOpts = { highWaterMark: cfg.partHwm };
-      this._pause = false;
-      const self2 = this;
-      this._hparser = new HeaderParser(cfg);
-      this._hparser.on("header", function(header) {
-        self2._inHeader = false;
-        self2._part.emit("header", header);
-      });
-    }
-    inherits(Dicer, WritableStream);
-    Dicer.prototype.emit = function(ev) {
-      if (ev === "finish" && !this._realFinish) {
-        if (!this._finished) {
-          const self2 = this;
-          process.nextTick(function() {
-            self2.emit("error", new Error("Unexpected end of multipart data"));
-            if (self2._part && !self2._ignoreData) {
-              const type2 = self2._isPreamble ? "Preamble" : "Part";
-              self2._part.emit("error", new Error(type2 + " terminated early due to unexpected end of multipart data"));
-              self2._part.push(null);
-              process.nextTick(function() {
-                self2._realFinish = true;
-                self2.emit("finish");
-                self2._realFinish = false;
-              });
-              return;
-            }
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
-          });
-        }
-      } else {
-        WritableStream.prototype.emit.apply(this, arguments);
+      destroy(...args) {
+        return this.#dispatcher.destroy(...args);
       }
     };
-    Dicer.prototype._write = function(data, encoding, cb) {
-      if (!this._hparser && !this._bparser) {
-        return cb();
-      }
-      if (this._headerFirst && this._isPreamble) {
-        if (!this._part) {
-          this._part = new PartStream(this._partOpts);
-          if (this.listenerCount("preamble") !== 0) {
-            this.emit("preamble", this._part);
-          } else {
-            this._ignore();
-          }
-        }
-        const r = this._hparser.push(data);
-        if (!this._inHeader && r !== void 0 && r < data.length) {
-          data = data.slice(r);
-        } else {
-          return cb();
-        }
+    module2.exports = Dispatcher;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js
+var require_dispatcher_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js"(exports2, module2) {
+    "use strict";
+    var Dispatcher = require_dispatcher2();
+    var {
+      ClientDestroyedError,
+      ClientClosedError,
+      InvalidArgumentError
+    } = require_errors2();
+    var { kDestroy, kClose, kClosed, kDestroyed, kDispatch, kInterceptors } = require_symbols6();
+    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
+    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
+    var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
+    var DispatcherBase = class extends Dispatcher {
+      constructor() {
+        super();
+        this[kDestroyed] = false;
+        this[kOnDestroyed] = null;
+        this[kClosed] = false;
+        this[kOnClosed] = [];
       }
-      if (this._firstWrite) {
-        this._bparser.push(B_CRLF);
-        this._firstWrite = false;
+      get destroyed() {
+        return this[kDestroyed];
       }
-      this._bparser.push(data);
-      if (this._pause) {
-        this._cb = cb;
-      } else {
-        cb();
+      get closed() {
+        return this[kClosed];
       }
-    };
-    Dicer.prototype.reset = function() {
-      this._part = void 0;
-      this._bparser = void 0;
-      this._hparser = void 0;
-    };
-    Dicer.prototype.setBoundary = function(boundary) {
-      const self2 = this;
-      this._bparser = new StreamSearch("\r\n--" + boundary);
-      this._bparser.on("info", function(isMatch, data, start, end) {
-        self2._oninfo(isMatch, data, start, end);
-      });
-    };
-    Dicer.prototype._ignore = function() {
-      if (this._part && !this._ignoreData) {
-        this._ignoreData = true;
-        this._part.on("error", EMPTY_FN);
-        this._part.resume();
+      get interceptors() {
+        return this[kInterceptors];
       }
-    };
-    Dicer.prototype._oninfo = function(isMatch, data, start, end) {
-      let buf;
-      const self2 = this;
-      let i = 0;
-      let r;
-      let shouldWriteMore = true;
-      if (!this._part && this._justMatched && data) {
-        while (this._dashes < 2 && start + i < end) {
-          if (data[start + i] === DASH) {
-            ++i;
-            ++this._dashes;
-          } else {
-            if (this._dashes) {
-              buf = B_ONEDASH;
+      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");
             }
-            this._dashes = 0;
-            break;
           }
         }
-        if (this._dashes === 2) {
-          if (start + i < end && this.listenerCount("trailer") !== 0) {
-            this.emit("trailer", data.slice(start + i, end));
+        this[kInterceptors] = newInterceptors;
+      }
+      close(callback) {
+        if (callback === void 0) {
+          return new Promise((resolve2, reject) => {
+            this.close((err, data) => {
+              return err ? reject(err) : resolve2(data);
+            });
+          });
+        }
+        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));
           }
-          this.reset();
-          this._finished = true;
-          if (self2._parts === 0) {
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
+          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);
+        });
+      }
+      destroy(err, callback) {
+        if (typeof err === "function") {
+          callback = err;
+          err = null;
         }
-        if (this._dashes) {
+        if (callback === void 0) {
+          return new Promise((resolve2, reject) => {
+            this.destroy(err, (err2, data) => {
+              return err2 ? (
+                /* istanbul ignore next: should never error */
+                reject(err2)
+              ) : resolve2(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 (this._justMatched) {
-        this._justMatched = false;
-      }
-      if (!this._part) {
-        this._part = new PartStream(this._partOpts);
-        this._part._read = function(n) {
-          self2._unpause();
+        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);
+          }
         };
-        if (this._isPreamble && this.listenerCount("preamble") !== 0) {
-          this.emit("preamble", this._part);
-        } else if (this._isPreamble !== true && this.listenerCount("part") !== 0) {
-          this.emit("part", this._part);
-        } else {
-          this._ignore();
+        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);
         }
-        if (!this._isPreamble) {
-          this._inHeader = true;
+        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);
       }
-      if (data && start < end && !this._ignoreData) {
-        if (this._isPreamble || !this._inHeader) {
-          if (buf) {
-            shouldWriteMore = this._part.push(buf);
-          }
-          shouldWriteMore = this._part.push(data.slice(start, end));
-          if (!shouldWriteMore) {
-            this._pause = true;
+      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.");
           }
-        } else if (!this._isPreamble && this._inHeader) {
-          if (buf) {
-            this._hparser.push(buf);
+          if (this[kDestroyed] || this[kOnDestroyed]) {
+            throw new ClientDestroyedError();
           }
-          r = this._hparser.push(data.slice(start, end));
-          if (!this._inHeader && r !== void 0 && r < end) {
-            this._oninfo(false, data, start + r, end);
+          if (this[kClosed]) {
+            throw new ClientClosedError();
           }
-        }
-      }
-      if (isMatch) {
-        this._hparser.reset();
-        if (this._isPreamble) {
-          this._isPreamble = false;
-        } else {
-          if (start !== end) {
-            ++this._parts;
-            this._part.on("end", function() {
-              if (--self2._parts === 0) {
-                if (self2._finished) {
-                  self2._realFinish = true;
-                  self2.emit("finish");
-                  self2._realFinish = false;
-                } else {
-                  self2._unpause();
-                }
-              }
-            });
+          return this[kInterceptedDispatch](opts, handler2);
+        } catch (err) {
+          if (typeof handler2.onError !== "function") {
+            throw new InvalidArgumentError("invalid onError method");
           }
+          handler2.onError(err);
+          return false;
         }
-        this._part.push(null);
-        this._part = void 0;
-        this._ignoreData = false;
-        this._justMatched = true;
-        this._dashes = 0;
-      }
-    };
-    Dicer.prototype._unpause = function() {
-      if (!this._pause) {
-        return;
-      }
-      this._pause = false;
-      if (this._cb) {
-        const cb = this._cb;
-        this._cb = void 0;
-        cb();
       }
     };
-    module2.exports = Dicer;
+    module2.exports = DispatcherBase;
   }
 });
 
-// node_modules/@fastify/busboy/lib/utils/decodeText.js
-var require_decodeText = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/decodeText.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/util/timers.js
+var require_timers2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/util/timers.js"(exports2, module2) {
     "use strict";
-    var utf8Decoder = new TextDecoder("utf-8");
-    var textDecoders = /* @__PURE__ */ new Map([
-      ["utf-8", utf8Decoder],
-      ["utf8", utf8Decoder]
-    ]);
-    function getDecoder(charset) {
-      let lc;
-      while (true) {
-        switch (charset) {
-          case "utf-8":
-          case "utf8":
-            return decoders.utf8;
-          case "latin1":
-          case "ascii":
-          // TODO: Make these a separate, strict decoder?
-          case "us-ascii":
-          case "iso-8859-1":
-          case "iso8859-1":
-          case "iso88591":
-          case "iso_8859-1":
-          case "windows-1252":
-          case "iso_8859-1:1987":
-          case "cp1252":
-          case "x-cp1252":
-            return decoders.latin1;
-          case "utf16le":
-          case "utf-16le":
-          case "ucs2":
-          case "ucs-2":
-            return decoders.utf16le;
-          case "base64":
-            return decoders.base64;
-          default:
-            if (lc === void 0) {
-              lc = true;
-              charset = charset.toLowerCase();
-              continue;
-            }
-            return decoders.other.bind(charset);
+    var fastNow = 0;
+    var RESOLUTION_MS = 1e3;
+    var TICK_MS = (RESOLUTION_MS >> 1) - 1;
+    var fastNowTimeout;
+    var kFastTimer = /* @__PURE__ */ 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();
+      }
     }
-    var decoders = {
-      utf8: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
-        }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+    function refreshTimeout() {
+      if (fastNowTimeout) {
+        fastNowTimeout.refresh();
+      } else {
+        clearTimeout(fastNowTimeout);
+        fastNowTimeout = setTimeout(onTick, TICK_MS);
+        if (fastNowTimeout.unref) {
+          fastNowTimeout.unref();
         }
-        return data.utf8Slice(0, data.length);
-      },
-      latin1: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+      }
+    }
+    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 (typeof data === "string") {
-          return data;
+        if (!fastNowTimeout || fastTimers.length === 1) {
+          refreshTimeout();
         }
-        return data.latin1Slice(0, data.length);
+        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);
       },
-      utf16le: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
-        }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      /**
+       * 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);
         }
-        return data.ucs2Slice(0, data.length);
       },
-      base64: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+      /**
+       * 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/github/node_modules/undici/lib/core/connect.js
+var require_connect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/connect.js"(exports2, module2) {
+    "use strict";
+    var net = require("node:net");
+    var assert = require("node:assert");
+    var util = require_util9();
+    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
+    var timers = require_timers2();
+    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);
+            }
+          });
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+        get(sessionKey) {
+          const ref = this._sessionCache.get(sessionKey);
+          return ref ? ref.deref() : null;
         }
-        return data.base64Slice(0, data.length);
-      },
-      other: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
+          }
+          this._sessionCache.set(sessionKey, new WeakRef(session));
+          this._sessionRegistry.register(session, sessionKey);
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      };
+    } else {
+      SessionCache = class SimpleSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
         }
-        if (textDecoders.has(exports2.toString())) {
-          try {
-            return textDecoders.get(exports2).decode(data);
-          } catch {
+        get(sessionKey) {
+          return this._sessionCache.get(sessionKey);
+        }
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
+          }
+          if (this._sessionCache.size >= this._maxCachedSessions) {
+            const { value: oldestKey } = this._sessionCache.keys().next();
+            this._sessionCache.delete(oldestKey);
           }
+          this._sessionCache.set(sessionKey, session);
         }
-        return typeof data === "string" ? data : data.toString();
+      };
+    }
+    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");
+          }
+          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 decodeText(text, sourceEncoding, destEncoding) {
-      if (text) {
-        return getDecoder(destEncoding)(text, sourceEncoding);
+    function onConnectTimeout(socket, opts) {
+      if (socket == null) {
+        return;
       }
-      return text;
+      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 = decodeText;
+    module2.exports = buildConnector;
   }
 });
 
-// node_modules/@fastify/busboy/lib/utils/parseParams.js
-var require_parseParams = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/parseParams.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js
+var require_utils3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js"(exports2) {
     "use strict";
-    var decodeText = require_decodeText();
-    var RE_ENCODED = /%[a-fA-F0-9][a-fA-F0-9]/g;
-    var EncodedLookup = {
-      "%00": "\0",
-      "%01": "",
-      "%02": "",
-      "%03": "",
-      "%04": "",
-      "%05": "",
-      "%06": "",
-      "%07": "\x07",
-      "%08": "\b",
-      "%09": "	",
-      "%0a": "\n",
-      "%0A": "\n",
-      "%0b": "\v",
-      "%0B": "\v",
-      "%0c": "\f",
-      "%0C": "\f",
-      "%0d": "\r",
-      "%0D": "\r",
-      "%0e": "",
-      "%0E": "",
-      "%0f": "",
-      "%0F": "",
-      "%10": "",
-      "%11": "",
-      "%12": "",
-      "%13": "",
-      "%14": "",
-      "%15": "",
-      "%16": "",
-      "%17": "",
-      "%18": "",
-      "%19": "",
-      "%1a": "",
-      "%1A": "",
-      "%1b": "\x1B",
-      "%1B": "\x1B",
-      "%1c": "",
-      "%1C": "",
-      "%1d": "",
-      "%1D": "",
-      "%1e": "",
-      "%1E": "",
-      "%1f": "",
-      "%1F": "",
-      "%20": " ",
-      "%21": "!",
-      "%22": '"',
-      "%23": "#",
-      "%24": "$",
-      "%25": "%",
-      "%26": "&",
-      "%27": "'",
-      "%28": "(",
-      "%29": ")",
-      "%2a": "*",
-      "%2A": "*",
-      "%2b": "+",
-      "%2B": "+",
-      "%2c": ",",
-      "%2C": ",",
-      "%2d": "-",
-      "%2D": "-",
-      "%2e": ".",
-      "%2E": ".",
-      "%2f": "/",
-      "%2F": "/",
-      "%30": "0",
-      "%31": "1",
-      "%32": "2",
-      "%33": "3",
-      "%34": "4",
-      "%35": "5",
-      "%36": "6",
-      "%37": "7",
-      "%38": "8",
-      "%39": "9",
-      "%3a": ":",
-      "%3A": ":",
-      "%3b": ";",
-      "%3B": ";",
-      "%3c": "<",
-      "%3C": "<",
-      "%3d": "=",
-      "%3D": "=",
-      "%3e": ">",
-      "%3E": ">",
-      "%3f": "?",
-      "%3F": "?",
-      "%40": "@",
-      "%41": "A",
-      "%42": "B",
-      "%43": "C",
-      "%44": "D",
-      "%45": "E",
-      "%46": "F",
-      "%47": "G",
-      "%48": "H",
-      "%49": "I",
-      "%4a": "J",
-      "%4A": "J",
-      "%4b": "K",
-      "%4B": "K",
-      "%4c": "L",
-      "%4C": "L",
-      "%4d": "M",
-      "%4D": "M",
-      "%4e": "N",
-      "%4E": "N",
-      "%4f": "O",
-      "%4F": "O",
-      "%50": "P",
-      "%51": "Q",
-      "%52": "R",
-      "%53": "S",
-      "%54": "T",
-      "%55": "U",
-      "%56": "V",
-      "%57": "W",
-      "%58": "X",
-      "%59": "Y",
-      "%5a": "Z",
-      "%5A": "Z",
-      "%5b": "[",
-      "%5B": "[",
-      "%5c": "\\",
-      "%5C": "\\",
-      "%5d": "]",
-      "%5D": "]",
-      "%5e": "^",
-      "%5E": "^",
-      "%5f": "_",
-      "%5F": "_",
-      "%60": "`",
-      "%61": "a",
-      "%62": "b",
-      "%63": "c",
-      "%64": "d",
-      "%65": "e",
-      "%66": "f",
-      "%67": "g",
-      "%68": "h",
-      "%69": "i",
-      "%6a": "j",
-      "%6A": "j",
-      "%6b": "k",
-      "%6B": "k",
-      "%6c": "l",
-      "%6C": "l",
-      "%6d": "m",
-      "%6D": "m",
-      "%6e": "n",
-      "%6E": "n",
-      "%6f": "o",
-      "%6F": "o",
-      "%70": "p",
-      "%71": "q",
-      "%72": "r",
-      "%73": "s",
-      "%74": "t",
-      "%75": "u",
-      "%76": "v",
-      "%77": "w",
-      "%78": "x",
-      "%79": "y",
-      "%7a": "z",
-      "%7A": "z",
-      "%7b": "{",
-      "%7B": "{",
-      "%7c": "|",
-      "%7C": "|",
-      "%7d": "}",
-      "%7D": "}",
-      "%7e": "~",
-      "%7E": "~",
-      "%7f": "\x7F",
-      "%7F": "\x7F",
-      "%80": "\x80",
-      "%81": "\x81",
-      "%82": "\x82",
-      "%83": "\x83",
-      "%84": "\x84",
-      "%85": "\x85",
-      "%86": "\x86",
-      "%87": "\x87",
-      "%88": "\x88",
-      "%89": "\x89",
-      "%8a": "\x8A",
-      "%8A": "\x8A",
-      "%8b": "\x8B",
-      "%8B": "\x8B",
-      "%8c": "\x8C",
-      "%8C": "\x8C",
-      "%8d": "\x8D",
-      "%8D": "\x8D",
-      "%8e": "\x8E",
-      "%8E": "\x8E",
-      "%8f": "\x8F",
-      "%8F": "\x8F",
-      "%90": "\x90",
-      "%91": "\x91",
-      "%92": "\x92",
-      "%93": "\x93",
-      "%94": "\x94",
-      "%95": "\x95",
-      "%96": "\x96",
-      "%97": "\x97",
-      "%98": "\x98",
-      "%99": "\x99",
-      "%9a": "\x9A",
-      "%9A": "\x9A",
-      "%9b": "\x9B",
-      "%9B": "\x9B",
-      "%9c": "\x9C",
-      "%9C": "\x9C",
-      "%9d": "\x9D",
-      "%9D": "\x9D",
-      "%9e": "\x9E",
-      "%9E": "\x9E",
-      "%9f": "\x9F",
-      "%9F": "\x9F",
-      "%a0": "\xA0",
-      "%A0": "\xA0",
-      "%a1": "\xA1",
-      "%A1": "\xA1",
-      "%a2": "\xA2",
-      "%A2": "\xA2",
-      "%a3": "\xA3",
-      "%A3": "\xA3",
-      "%a4": "\xA4",
-      "%A4": "\xA4",
-      "%a5": "\xA5",
-      "%A5": "\xA5",
-      "%a6": "\xA6",
-      "%A6": "\xA6",
-      "%a7": "\xA7",
-      "%A7": "\xA7",
-      "%a8": "\xA8",
-      "%A8": "\xA8",
-      "%a9": "\xA9",
-      "%A9": "\xA9",
-      "%aa": "\xAA",
-      "%Aa": "\xAA",
-      "%aA": "\xAA",
-      "%AA": "\xAA",
-      "%ab": "\xAB",
-      "%Ab": "\xAB",
-      "%aB": "\xAB",
-      "%AB": "\xAB",
-      "%ac": "\xAC",
-      "%Ac": "\xAC",
-      "%aC": "\xAC",
-      "%AC": "\xAC",
-      "%ad": "\xAD",
-      "%Ad": "\xAD",
-      "%aD": "\xAD",
-      "%AD": "\xAD",
-      "%ae": "\xAE",
-      "%Ae": "\xAE",
-      "%aE": "\xAE",
-      "%AE": "\xAE",
-      "%af": "\xAF",
-      "%Af": "\xAF",
-      "%aF": "\xAF",
-      "%AF": "\xAF",
-      "%b0": "\xB0",
-      "%B0": "\xB0",
-      "%b1": "\xB1",
-      "%B1": "\xB1",
-      "%b2": "\xB2",
-      "%B2": "\xB2",
-      "%b3": "\xB3",
-      "%B3": "\xB3",
-      "%b4": "\xB4",
-      "%B4": "\xB4",
-      "%b5": "\xB5",
-      "%B5": "\xB5",
-      "%b6": "\xB6",
-      "%B6": "\xB6",
-      "%b7": "\xB7",
-      "%B7": "\xB7",
-      "%b8": "\xB8",
-      "%B8": "\xB8",
-      "%b9": "\xB9",
-      "%B9": "\xB9",
-      "%ba": "\xBA",
-      "%Ba": "\xBA",
-      "%bA": "\xBA",
-      "%BA": "\xBA",
-      "%bb": "\xBB",
-      "%Bb": "\xBB",
-      "%bB": "\xBB",
-      "%BB": "\xBB",
-      "%bc": "\xBC",
-      "%Bc": "\xBC",
-      "%bC": "\xBC",
-      "%BC": "\xBC",
-      "%bd": "\xBD",
-      "%Bd": "\xBD",
-      "%bD": "\xBD",
-      "%BD": "\xBD",
-      "%be": "\xBE",
-      "%Be": "\xBE",
-      "%bE": "\xBE",
-      "%BE": "\xBE",
-      "%bf": "\xBF",
-      "%Bf": "\xBF",
-      "%bF": "\xBF",
-      "%BF": "\xBF",
-      "%c0": "\xC0",
-      "%C0": "\xC0",
-      "%c1": "\xC1",
-      "%C1": "\xC1",
-      "%c2": "\xC2",
-      "%C2": "\xC2",
-      "%c3": "\xC3",
-      "%C3": "\xC3",
-      "%c4": "\xC4",
-      "%C4": "\xC4",
-      "%c5": "\xC5",
-      "%C5": "\xC5",
-      "%c6": "\xC6",
-      "%C6": "\xC6",
-      "%c7": "\xC7",
-      "%C7": "\xC7",
-      "%c8": "\xC8",
-      "%C8": "\xC8",
-      "%c9": "\xC9",
-      "%C9": "\xC9",
-      "%ca": "\xCA",
-      "%Ca": "\xCA",
-      "%cA": "\xCA",
-      "%CA": "\xCA",
-      "%cb": "\xCB",
-      "%Cb": "\xCB",
-      "%cB": "\xCB",
-      "%CB": "\xCB",
-      "%cc": "\xCC",
-      "%Cc": "\xCC",
-      "%cC": "\xCC",
-      "%CC": "\xCC",
-      "%cd": "\xCD",
-      "%Cd": "\xCD",
-      "%cD": "\xCD",
-      "%CD": "\xCD",
-      "%ce": "\xCE",
-      "%Ce": "\xCE",
-      "%cE": "\xCE",
-      "%CE": "\xCE",
-      "%cf": "\xCF",
-      "%Cf": "\xCF",
-      "%cF": "\xCF",
-      "%CF": "\xCF",
-      "%d0": "\xD0",
-      "%D0": "\xD0",
-      "%d1": "\xD1",
-      "%D1": "\xD1",
-      "%d2": "\xD2",
-      "%D2": "\xD2",
-      "%d3": "\xD3",
-      "%D3": "\xD3",
-      "%d4": "\xD4",
-      "%D4": "\xD4",
-      "%d5": "\xD5",
-      "%D5": "\xD5",
-      "%d6": "\xD6",
-      "%D6": "\xD6",
-      "%d7": "\xD7",
-      "%D7": "\xD7",
-      "%d8": "\xD8",
-      "%D8": "\xD8",
-      "%d9": "\xD9",
-      "%D9": "\xD9",
-      "%da": "\xDA",
-      "%Da": "\xDA",
-      "%dA": "\xDA",
-      "%DA": "\xDA",
-      "%db": "\xDB",
-      "%Db": "\xDB",
-      "%dB": "\xDB",
-      "%DB": "\xDB",
-      "%dc": "\xDC",
-      "%Dc": "\xDC",
-      "%dC": "\xDC",
-      "%DC": "\xDC",
-      "%dd": "\xDD",
-      "%Dd": "\xDD",
-      "%dD": "\xDD",
-      "%DD": "\xDD",
-      "%de": "\xDE",
-      "%De": "\xDE",
-      "%dE": "\xDE",
-      "%DE": "\xDE",
-      "%df": "\xDF",
-      "%Df": "\xDF",
-      "%dF": "\xDF",
-      "%DF": "\xDF",
-      "%e0": "\xE0",
-      "%E0": "\xE0",
-      "%e1": "\xE1",
-      "%E1": "\xE1",
-      "%e2": "\xE2",
-      "%E2": "\xE2",
-      "%e3": "\xE3",
-      "%E3": "\xE3",
-      "%e4": "\xE4",
-      "%E4": "\xE4",
-      "%e5": "\xE5",
-      "%E5": "\xE5",
-      "%e6": "\xE6",
-      "%E6": "\xE6",
-      "%e7": "\xE7",
-      "%E7": "\xE7",
-      "%e8": "\xE8",
-      "%E8": "\xE8",
-      "%e9": "\xE9",
-      "%E9": "\xE9",
-      "%ea": "\xEA",
-      "%Ea": "\xEA",
-      "%eA": "\xEA",
-      "%EA": "\xEA",
-      "%eb": "\xEB",
-      "%Eb": "\xEB",
-      "%eB": "\xEB",
-      "%EB": "\xEB",
-      "%ec": "\xEC",
-      "%Ec": "\xEC",
-      "%eC": "\xEC",
-      "%EC": "\xEC",
-      "%ed": "\xED",
-      "%Ed": "\xED",
-      "%eD": "\xED",
-      "%ED": "\xED",
-      "%ee": "\xEE",
-      "%Ee": "\xEE",
-      "%eE": "\xEE",
-      "%EE": "\xEE",
-      "%ef": "\xEF",
-      "%Ef": "\xEF",
-      "%eF": "\xEF",
-      "%EF": "\xEF",
-      "%f0": "\xF0",
-      "%F0": "\xF0",
-      "%f1": "\xF1",
-      "%F1": "\xF1",
-      "%f2": "\xF2",
-      "%F2": "\xF2",
-      "%f3": "\xF3",
-      "%F3": "\xF3",
-      "%f4": "\xF4",
-      "%F4": "\xF4",
-      "%f5": "\xF5",
-      "%F5": "\xF5",
-      "%f6": "\xF6",
-      "%F6": "\xF6",
-      "%f7": "\xF7",
-      "%F7": "\xF7",
-      "%f8": "\xF8",
-      "%F8": "\xF8",
-      "%f9": "\xF9",
-      "%F9": "\xF9",
-      "%fa": "\xFA",
-      "%Fa": "\xFA",
-      "%fA": "\xFA",
-      "%FA": "\xFA",
-      "%fb": "\xFB",
-      "%Fb": "\xFB",
-      "%fB": "\xFB",
-      "%FB": "\xFB",
-      "%fc": "\xFC",
-      "%Fc": "\xFC",
-      "%fC": "\xFC",
-      "%FC": "\xFC",
-      "%fd": "\xFD",
-      "%Fd": "\xFD",
-      "%fD": "\xFD",
-      "%FD": "\xFD",
-      "%fe": "\xFE",
-      "%Fe": "\xFE",
-      "%fE": "\xFE",
-      "%FE": "\xFE",
-      "%ff": "\xFF",
-      "%Ff": "\xFF",
-      "%fF": "\xFF",
-      "%FF": "\xFF"
-    };
-    function encodedReplacer(match) {
-      return EncodedLookup[match];
-    }
-    var STATE_KEY = 0;
-    var STATE_VALUE = 1;
-    var STATE_CHARSET = 2;
-    var STATE_LANG = 3;
-    function parseParams(str2) {
-      const res = [];
-      let state = STATE_KEY;
-      let charset = "";
-      let inquote = false;
-      let escaping = false;
-      let p = 0;
-      let tmp = "";
-      const len = str2.length;
-      for (var i = 0; i < len; ++i) {
-        const char = str2[i];
-        if (char === "\\" && inquote) {
-          if (escaping) {
-            escaping = false;
-          } else {
-            escaping = true;
-            continue;
-          }
-        } else if (char === '"') {
-          if (!escaping) {
-            if (inquote) {
-              inquote = false;
-              state = STATE_KEY;
-            } else {
-              inquote = true;
-            }
-            continue;
-          } else {
-            escaping = false;
-          }
-        } else {
-          if (escaping && inquote) {
-            tmp += "\\";
-          }
-          escaping = false;
-          if ((state === STATE_CHARSET || state === STATE_LANG) && char === "'") {
-            if (state === STATE_CHARSET) {
-              state = STATE_LANG;
-              charset = tmp.substring(1);
-            } else {
-              state = STATE_VALUE;
-            }
-            tmp = "";
-            continue;
-          } else if (state === STATE_KEY && (char === "*" || char === "=") && res.length) {
-            state = char === "*" ? STATE_CHARSET : STATE_VALUE;
-            res[p] = [tmp, void 0];
-            tmp = "";
-            continue;
-          } else if (!inquote && char === ";") {
-            state = STATE_KEY;
-            if (charset) {
-              if (tmp.length) {
-                tmp = decodeText(
-                  tmp.replace(RE_ENCODED, encodedReplacer),
-                  "binary",
-                  charset
-                );
-              }
-              charset = "";
-            } else if (tmp.length) {
-              tmp = decodeText(tmp, "binary", "utf8");
-            }
-            if (res[p] === void 0) {
-              res[p] = tmp;
-            } else {
-              res[p][1] = tmp;
-            }
-            tmp = "";
-            ++p;
-            continue;
-          } else if (!inquote && (char === " " || char === "	")) {
-            continue;
-          }
-        }
-        tmp += char;
-      }
-      if (charset && tmp.length) {
-        tmp = decodeText(
-          tmp.replace(RE_ENCODED, encodedReplacer),
-          "binary",
-          charset
-        );
-      } else if (tmp) {
-        tmp = decodeText(tmp, "binary", "utf8");
-      }
-      if (res[p] === void 0) {
-        if (tmp) {
-          res[p] = tmp;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.enumToMap = void 0;
+    function enumToMap(obj) {
+      const res = {};
+      Object.keys(obj).forEach((key) => {
+        const value = obj[key];
+        if (typeof value === "number") {
+          res[key] = value;
         }
-      } else {
-        res[p][1] = tmp;
-      }
+      });
       return res;
     }
-    module2.exports = parseParams;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/basename.js
-var require_basename = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/basename.js"(exports2, module2) {
-    "use strict";
-    module2.exports = function basename2(path3) {
-      if (typeof path3 !== "string") {
-        return "";
-      }
-      for (var i = path3.length - 1; i >= 0; --i) {
-        switch (path3.charCodeAt(i)) {
-          case 47:
-          // '/'
-          case 92:
-            path3 = path3.slice(i + 1);
-            return path3 === ".." || path3 === "." ? "" : path3;
-        }
-      }
-      return path3 === ".." || path3 === "." ? "" : path3;
-    };
+    exports2.enumToMap = enumToMap;
   }
 });
 
-// node_modules/@fastify/busboy/lib/types/multipart.js
-var require_multipart = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/multipart.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js
+var require_constants7 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js"(exports2) {
     "use strict";
-    var { Readable } = require("node:stream");
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var parseParams = require_parseParams();
-    var decodeText = require_decodeText();
-    var basename2 = require_basename();
-    var getLimit = require_getLimit();
-    var RE_BOUNDARY = /^boundary$/i;
-    var RE_FIELD = /^form-data$/i;
-    var RE_CHARSET = /^charset$/i;
-    var RE_FILENAME = /^filename$/i;
-    var RE_NAME = /^name$/i;
-    Multipart.detect = /^multipart\/form-data/i;
-    function Multipart(boy, cfg) {
-      let i;
-      let len;
-      const self2 = this;
-      let boundary;
-      const limits = cfg.limits;
-      const isPartAFile = cfg.isPartAFile || ((fieldName, contentType, fileName) => contentType === "application/octet-stream" || fileName !== void 0);
-      const parsedConType = cfg.parsedConType || [];
-      const defCharset = cfg.defCharset || "utf8";
-      const preservePath = cfg.preservePath;
-      const fileOpts = { highWaterMark: cfg.fileHwm };
-      for (i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_BOUNDARY.test(parsedConType[i][0])) {
-          boundary = parsedConType[i][1];
-          break;
-        }
-      }
-      function checkFinished() {
-        if (nends === 0 && finished && !boy._done) {
-          finished = false;
-          self2.end();
-        }
-      }
-      if (typeof boundary !== "string") {
-        throw new Error("Multipart: Boundary not found");
-      }
-      const fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      const fileSizeLimit = getLimit(limits, "fileSize", Infinity);
-      const filesLimit = getLimit(limits, "files", Infinity);
-      const fieldsLimit = getLimit(limits, "fields", Infinity);
-      const partsLimit = getLimit(limits, "parts", Infinity);
-      const headerPairsLimit = getLimit(limits, "headerPairs", 2e3);
-      const headerSizeLimit = getLimit(limits, "headerSize", 80 * 1024);
-      let nfiles = 0;
-      let nfields = 0;
-      let nends = 0;
-      let curFile;
-      let curField;
-      let finished = false;
-      this._needDrain = false;
-      this._pause = false;
-      this._cb = void 0;
-      this._nparts = 0;
-      this._boy = boy;
-      const parserCfg = {
-        boundary,
-        maxHeaderPairs: headerPairsLimit,
-        maxHeaderSize: headerSizeLimit,
-        partHwm: fileOpts.highWaterMark,
-        highWaterMark: cfg.highWaterMark
-      };
-      this.parser = new Dicer(parserCfg);
-      this.parser.on("drain", function() {
-        self2._needDrain = false;
-        if (self2._cb && !self2._pause) {
-          const cb = self2._cb;
-          self2._cb = void 0;
-          cb();
-        }
-      }).on("part", function onPart(part) {
-        if (++self2._nparts > partsLimit) {
-          self2.parser.removeListener("part", onPart);
-          self2.parser.on("part", skipPart);
-          boy.hitPartsLimit = true;
-          boy.emit("partsLimit");
-          return skipPart(part);
-        }
-        if (curField) {
-          const field = curField;
-          field.emit("end");
-          field.removeAllListeners("end");
-        }
-        part.on("header", function(header) {
-          let contype;
-          let fieldname;
-          let parsed;
-          let charset;
-          let encoding;
-          let filename;
-          let nsize = 0;
-          if (header["content-type"]) {
-            parsed = parseParams(header["content-type"][0]);
-            if (parsed[0]) {
-              contype = parsed[0].toLowerCase();
-              for (i = 0, len = parsed.length; i < len; ++i) {
-                if (RE_CHARSET.test(parsed[i][0])) {
-                  charset = parsed[i][1].toLowerCase();
-                  break;
-                }
-              }
-            }
-          }
-          if (contype === void 0) {
-            contype = "text/plain";
-          }
-          if (charset === void 0) {
-            charset = defCharset;
-          }
-          if (header["content-disposition"]) {
-            parsed = parseParams(header["content-disposition"][0]);
-            if (!RE_FIELD.test(parsed[0])) {
-              return skipPart(part);
-            }
-            for (i = 0, len = parsed.length; i < len; ++i) {
-              if (RE_NAME.test(parsed[i][0])) {
-                fieldname = parsed[i][1];
-              } else if (RE_FILENAME.test(parsed[i][0])) {
-                filename = parsed[i][1];
-                if (!preservePath) {
-                  filename = basename2(filename);
-                }
-              }
-            }
-          } else {
-            return skipPart(part);
-          }
-          if (header["content-transfer-encoding"]) {
-            encoding = header["content-transfer-encoding"][0].toLowerCase();
-          } else {
-            encoding = "7bit";
-          }
-          let onData, onEnd;
-          if (isPartAFile(fieldname, contype, filename)) {
-            if (nfiles === filesLimit) {
-              if (!boy.hitFilesLimit) {
-                boy.hitFilesLimit = true;
-                boy.emit("filesLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfiles;
-            if (boy.listenerCount("file") === 0) {
-              self2.parser._ignore();
-              return;
-            }
-            ++nends;
-            const file = new FileStream(fileOpts);
-            curFile = file;
-            file.on("end", function() {
-              --nends;
-              self2._pause = false;
-              checkFinished();
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            });
-            file._read = function(n) {
-              if (!self2._pause) {
-                return;
-              }
-              self2._pause = false;
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            };
-            boy.emit("file", fieldname, file, filename, encoding, contype);
-            onData = function(data) {
-              if ((nsize += data.length) > fileSizeLimit) {
-                const extralen = fileSizeLimit - nsize + data.length;
-                if (extralen > 0) {
-                  file.push(data.slice(0, extralen));
-                }
-                file.truncated = true;
-                file.bytesRead = fileSizeLimit;
-                part.removeAllListeners("data");
-                file.emit("limit");
-                return;
-              } else if (!file.push(data)) {
-                self2._pause = true;
-              }
-              file.bytesRead = nsize;
-            };
-            onEnd = function() {
-              curFile = void 0;
-              file.push(null);
-            };
-          } else {
-            if (nfields === fieldsLimit) {
-              if (!boy.hitFieldsLimit) {
-                boy.hitFieldsLimit = true;
-                boy.emit("fieldsLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfields;
-            ++nends;
-            let buffer = "";
-            let truncated = false;
-            curField = part;
-            onData = function(data) {
-              if ((nsize += data.length) > fieldSizeLimit) {
-                const extralen = fieldSizeLimit - (nsize - data.length);
-                buffer += data.toString("binary", 0, extralen);
-                truncated = true;
-                part.removeAllListeners("data");
-              } else {
-                buffer += data.toString("binary");
-              }
-            };
-            onEnd = function() {
-              curField = void 0;
-              if (buffer.length) {
-                buffer = decodeText(buffer, "binary", charset);
-              }
-              boy.emit("field", fieldname, buffer, false, truncated, encoding, contype);
-              --nends;
-              checkFinished();
-            };
-          }
-          part._readableState.sync = false;
-          part.on("data", onData);
-          part.on("end", onEnd);
-        }).on("error", function(err) {
-          if (curFile) {
-            curFile.emit("error", err);
-          }
-        });
-      }).on("error", function(err) {
-        boy.emit("error", err);
-      }).on("finish", function() {
-        finished = true;
-        checkFinished();
-      });
-    }
-    Multipart.prototype.write = function(chunk, cb) {
-      const r = this.parser.write(chunk);
-      if (r && !this._pause) {
-        cb();
-      } else {
-        this._needDrain = !r;
-        this._cb = cb;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
+    var utils_1 = require_utils3();
+    var ERROR;
+    (function(ERROR2) {
+      ERROR2[ERROR2["OK"] = 0] = "OK";
+      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
+      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
+      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
+      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
+      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
+      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
+      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
+      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
+      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
+      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
+      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
+      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
+      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
+      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
+      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
+      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
+      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
+      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
+      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
+      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
+      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
+      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
+      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
+      ERROR2[ERROR2["USER"] = 24] = "USER";
+    })(ERROR = 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];
       }
+    });
+    var FINISH;
+    (function(FINISH2) {
+      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
+      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
+      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
+    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
+    exports2.ALPHA = [];
+    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
+      exports2.ALPHA.push(String.fromCharCode(i));
+      exports2.ALPHA.push(String.fromCharCode(i + 32));
+    }
+    exports2.NUM_MAP = {
+      0: 0,
+      1: 1,
+      2: 2,
+      3: 3,
+      4: 4,
+      5: 5,
+      6: 6,
+      7: 7,
+      8: 8,
+      9: 9
     };
-    Multipart.prototype.end = function() {
-      const self2 = this;
-      if (self2.parser.writable) {
-        self2.parser.end();
-      } else if (!self2._boy._done) {
-        process.nextTick(function() {
-          self2._boy._done = true;
-          self2._boy.emit("finish");
-        });
-      }
+    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
     };
-    function skipPart(part) {
-      part.resume();
+    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);
     }
-    function FileStream(opts) {
-      Readable.call(this, opts);
-      this.bytesRead = 0;
-      this.truncated = false;
+    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);
+      }
     }
-    inherits(FileStream, Readable);
-    FileStream.prototype._read = function(n) {
+    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
     };
-    module2.exports = Multipart;
   }
 });
 
-// node_modules/@fastify/busboy/lib/utils/Decoder.js
-var require_Decoder = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/Decoder.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js
+var require_llhttp_wasm2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
     "use strict";
-    var RE_PLUS = /\+/g;
-    var HEX = [
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0
-    ];
-    function Decoder() {
-      this.buffer = void 0;
+    var { Buffer: Buffer2 } = require("node:buffer");
+    module2.exports = Buffer2.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADDsYBAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHyAhIyUmKCorLC8wMTIzNDU2Nzk6Ozw9lANAQkRFRklLTk9QUVJTVFVWWFpbXF1eX2BhYmNkZWZnaGpsb3Bxc3V2eHl6e3x/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAccByAHJAcsBzAHNAc4BzwGKA4kDiAOHA4QDgwOAA/sC+gL5AvgC9wL0AvMC8gLLAsECsALZAQsgASAERw3wAkHdASEDDLMDCyABIARHDcgBQcMBIQMMsgMLIAEgBEcNe0H3ACEDDLEDCyABIARHDXBB7wAhAwywAwsgASAERw1pQeoAIQMMrwMLIAEgBEcNZUHoACEDDK4DCyABIARHDWJB5gAhAwytAwsgASAERw0aQRghAwysAwsgASAERw0VQRIhAwyrAwsgASAERw1CQcUAIQMMqgMLIAEgBEcNNEE/IQMMqQMLIAEgBEcNMkE8IQMMqAMLIAEgBEcNK0ExIQMMpwMLIAItAC5BAUYNnwMMwQILQQAhAAJAAkACQCACLQAqRQ0AIAItACtFDQAgAi8BMCIDQQJxRQ0BDAILIAIvATAiA0EBcUUNAQtBASEAIAItAChBAUYNACACLwEyIgVB5ABrQeQASQ0AIAVBzAFGDQAgBUGwAkYNACADQcAAcQ0AQQAhACADQYgEcUGABEYNACADQShxQQBHIQALIAJBADsBMCACQQA6AC8gAEUN3wIgAkIANwMgDOACC0EAIQACQCACKAI4IgNFDQAgAygCLCIDRQ0AIAIgAxEAACEACyAARQ3MASAAQRVHDd0CIAJBBDYCHCACIAE2AhQgAkGwGDYCECACQRU2AgxBACEDDKQDCyABIARGBEBBBiEDDKQDCyABQQFqIQFBACEAAkAgAigCOCIDRQ0AIAMoAlQiA0UNACACIAMRAAAhAAsgAA3ZAgwcCyACQgA3AyBBEiEDDIkDCyABIARHDRZBHSEDDKEDCyABIARHBEAgAUEBaiEBQRAhAwyIAwtBByEDDKADCyACIAIpAyAiCiAEIAFrrSILfSIMQgAgCiAMWhs3AyAgCiALWA3UAkEIIQMMnwMLIAEgBEcEQCACQQk2AgggAiABNgIEQRQhAwyGAwtBCSEDDJ4DCyACKQMgQgBSDccBIAIgAi8BMEGAAXI7ATAMQgsgASAERw0/QdAAIQMMnAMLIAEgBEYEQEELIQMMnAMLIAFBAWohAUEAIQACQCACKAI4IgNFDQAgAygCUCIDRQ0AIAIgAxEAACEACyAADc8CDMYBC0EAIQACQCACKAI4IgNFDQAgAygCSCIDRQ0AIAIgAxEAACEACyAARQ3GASAAQRVHDc0CIAJBCzYCHCACIAE2AhQgAkGCGTYCECACQRU2AgxBACEDDJoDC0EAIQACQCACKAI4IgNFDQAgAygCSCIDRQ0AIAIgAxEAACEACyAARQ0MIABBFUcNygIgAkEaNgIcIAIgATYCFCACQYIZNgIQIAJBFTYCDEEAIQMMmQMLQQAhAAJAIAIoAjgiA0UNACADKAJMIgNFDQAgAiADEQAAIQALIABFDcQBIABBFUcNxwIgAkELNgIcIAIgATYCFCACQZEXNgIQIAJBFTYCDEEAIQMMmAMLIAEgBEYEQEEPIQMMmAMLIAEtAAAiAEE7Rg0HIABBDUcNxAIgAUEBaiEBDMMBC0EAIQACQCACKAI4IgNFDQAgAygCTCIDRQ0AIAIgAxEAACEACyAARQ3DASAAQRVHDcICIAJBDzYCHCACIAE2AhQgAkGRFzYCECACQRU2AgxBACEDDJYDCwNAIAEtAABB8DVqLQAAIgBBAUcEQCAAQQJHDcECIAIoAgQhAEEAIQMgAkEANgIEIAIgACABQQFqIgEQLSIADcICDMUBCyAEIAFBAWoiAUcNAAtBEiEDDJUDC0EAIQACQCACKAI4IgNFDQAgAygCTCIDRQ0AIAIgAxEAACEACyAARQ3FASAAQRVHDb0CIAJBGzYCHCACIAE2AhQgAkGRFzYCECACQRU2AgxBACEDDJQDCyABIARGBEBBFiEDDJQDCyACQQo2AgggAiABNgIEQQAhAAJAIAIoAjgiA0UNACADKAJIIgNFDQAgAiADEQAAIQALIABFDcIBIABBFUcNuQIgAkEVNgIcIAIgATYCFCACQYIZNgIQIAJBFTYCDEEAIQMMkwMLIAEgBEcEQANAIAEtAABB8DdqLQAAIgBBAkcEQAJAIABBAWsOBMQCvQIAvgK9AgsgAUEBaiEBQQghAwz8AgsgBCABQQFqIgFHDQALQRUhAwyTAwtBFSEDDJIDCwNAIAEtAABB8DlqLQAAIgBBAkcEQCAAQQFrDgTFArcCwwK4ArcCCyAEIAFBAWoiAUcNAAtBGCEDDJEDCyABIARHBEAgAkELNgIIIAIgATYCBEEHIQMM+AILQRkhAwyQAwsgAUEBaiEBDAILIAEgBEYEQEEaIQMMjwMLAkAgAS0AAEENaw4UtQG/Ab8BvwG/Ab8BvwG/Ab8BvwG/Ab8BvwG/Ab8BvwG/Ab8BvwEAvwELQQAhAyACQQA2AhwgAkGvCzYCECACQQI2AgwgAiABQQFqNgIUDI4DCyABIARGBEBBGyEDDI4DCyABLQAAIgBBO0cEQCAAQQ1HDbECIAFBAWohAQy6AQsgAUEBaiEBC0EiIQMM8wILIAEgBEYEQEEcIQMMjAMLQgAhCgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAS0AAEEwaw43wQLAAgABAgMEBQYH0AHQAdAB0AHQAdAB0AEICQoLDA3QAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdABDg8QERIT0AELQgIhCgzAAgtCAyEKDL8CC0IEIQoMvgILQgUhCgy9AgtCBiEKDLwCC0IHIQoMuwILQgghCgy6AgtCCSEKDLkCC0IKIQoMuAILQgshCgy3AgtCDCEKDLYCC0INIQoMtQILQg4hCgy0AgtCDyEKDLMCC0IKIQoMsgILQgshCgyxAgtCDCEKDLACC0INIQoMrwILQg4hCgyuAgtCDyEKDK0CC0IAIQoCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEtAABBMGsON8ACvwIAAQIDBAUGB74CvgK+Ar4CvgK+Ar4CCAkKCwwNvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ag4PEBESE74CC0ICIQoMvwILQgMhCgy+AgtCBCEKDL0CC0IFIQoMvAILQgYhCgy7AgtCByEKDLoCC0IIIQoMuQILQgkhCgy4AgtCCiEKDLcCC0ILIQoMtgILQgwhCgy1AgtCDSEKDLQCC0IOIQoMswILQg8hCgyyAgtCCiEKDLECC0ILIQoMsAILQgwhCgyvAgtCDSEKDK4CC0IOIQoMrQILQg8hCgysAgsgAiACKQMgIgogBCABa60iC30iDEIAIAogDFobNwMgIAogC1gNpwJBHyEDDIkDCyABIARHBEAgAkEJNgIIIAIgATYCBEElIQMM8AILQSAhAwyIAwtBASEFIAIvATAiA0EIcUUEQCACKQMgQgBSIQULAkAgAi0ALgRAQQEhACACLQApQQVGDQEgA0HAAHFFIAVxRQ0BC0EAIQAgA0HAAHENAEECIQAgA0EIcQ0AIANBgARxBEACQCACLQAoQQFHDQAgAi0ALUEKcQ0AQQUhAAwCC0EEIQAMAQsgA0EgcUUEQAJAIAItAChBAUYNACACLwEyIgBB5ABrQeQASQ0AIABBzAFGDQAgAEGwAkYNAEEEIQAgA0EocUUNAiADQYgEcUGABEYNAgtBACEADAELQQBBAyACKQMgUBshAAsgAEEBaw4FvgIAsAEBpAKhAgtBESEDDO0CCyACQQE6AC8MhAMLIAEgBEcNnQJBJCEDDIQDCyABIARHDRxBxgAhAwyDAwtBACEAAkAgAigCOCIDRQ0AIAMoAkQiA0UNACACIAMRAAAhAAsgAEUNJyAAQRVHDZgCIAJB0AA2AhwgAiABNgIUIAJBkRg2AhAgAkEVNgIMQQAhAwyCAwsgASAERgRAQSghAwyCAwtBACEDIAJBADYCBCACQQw2AgggAiABIAEQKiIARQ2UAiACQSc2AhwgAiABNgIUIAIgADYCDAyBAwsgASAERgRAQSkhAwyBAwsgAS0AACIAQSBGDRMgAEEJRw2VAiABQQFqIQEMFAsgASAERwRAIAFBAWohAQwWC0EqIQMM/wILIAEgBEYEQEErIQMM/wILIAEtAAAiAEEJRyAAQSBHcQ2QAiACLQAsQQhHDd0CIAJBADoALAzdAgsgASAERgRAQSwhAwz+AgsgAS0AAEEKRw2OAiABQQFqIQEMsAELIAEgBEcNigJBLyEDDPwCCwNAIAEtAAAiAEEgRwRAIABBCmsOBIQCiAKIAoQChgILIAQgAUEBaiIBRw0AC0ExIQMM+wILQTIhAyABIARGDfoCIAIoAgAiACAEIAFraiEHIAEgAGtBA2ohBgJAA0AgAEHwO2otAAAgAS0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQEgAEEDRgRAQQYhAQziAgsgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAc2AgAM+wILIAJBADYCAAyGAgtBMyEDIAQgASIARg35AiAEIAFrIAIoAgAiAWohByAAIAFrQQhqIQYCQANAIAFB9DtqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBCEYEQEEFIQEM4QILIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADPoCCyACQQA2AgAgACEBDIUCC0E0IQMgBCABIgBGDfgCIAQgAWsgAigCACIBaiEHIAAgAWtBBWohBgJAA0AgAUHQwgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBBUYEQEEHIQEM4AILIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADPkCCyACQQA2AgAgACEBDIQCCyABIARHBEADQCABLQAAQYA+ai0AACIAQQFHBEAgAEECRg0JDIECCyAEIAFBAWoiAUcNAAtBMCEDDPgCC0EwIQMM9wILIAEgBEcEQANAIAEtAAAiAEEgRwRAIABBCmsOBP8B/gH+Af8B/gELIAQgAUEBaiIBRw0AC0E4IQMM9wILQTghAwz2AgsDQCABLQAAIgBBIEcgAEEJR3EN9gEgBCABQQFqIgFHDQALQTwhAwz1AgsDQCABLQAAIgBBIEcEQAJAIABBCmsOBPkBBAT5AQALIABBLEYN9QEMAwsgBCABQQFqIgFHDQALQT8hAwz0AgtBwAAhAyABIARGDfMCIAIoAgAiACAEIAFraiEFIAEgAGtBBmohBgJAA0AgAEGAQGstAAAgAS0AAEEgckcNASAAQQZGDdsCIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADPQCCyACQQA2AgALQTYhAwzZAgsgASAERgRAQcEAIQMM8gILIAJBDDYCCCACIAE2AgQgAi0ALEEBaw4E+wHuAewB6wHUAgsgAUEBaiEBDPoBCyABIARHBEADQAJAIAEtAAAiAEEgciAAIABBwQBrQf8BcUEaSRtB/wFxIgBBCUYNACAAQSBGDQACQAJAAkACQCAAQeMAaw4TAAMDAwMDAwMBAwMDAwMDAwMDAgMLIAFBAWohAUExIQMM3AILIAFBAWohAUEyIQMM2wILIAFBAWohAUEzIQMM2gILDP4BCyAEIAFBAWoiAUcNAAtBNSEDDPACC0E1IQMM7wILIAEgBEcEQANAIAEtAABBgDxqLQAAQQFHDfcBIAQgAUEBaiIBRw0AC0E9IQMM7wILQT0hAwzuAgtBACEAAkAgAigCOCIDRQ0AIAMoAkAiA0UNACACIAMRAAAhAAsgAEUNASAAQRVHDeYBIAJBwgA2AhwgAiABNgIUIAJB4xg2AhAgAkEVNgIMQQAhAwztAgsgAUEBaiEBC0E8IQMM0gILIAEgBEYEQEHCACEDDOsCCwJAA0ACQCABLQAAQQlrDhgAAswCzALRAswCzALMAswCzALMAswCzALMAswCzALMAswCzALMAswCzALMAgDMAgsgBCABQQFqIgFHDQALQcIAIQMM6wILIAFBAWohASACLQAtQQFxRQ3+AQtBLCEDDNACCyABIARHDd4BQcQAIQMM6AILA0AgAS0AAEGQwABqLQAAQQFHDZwBIAQgAUEBaiIBRw0AC0HFACEDDOcCCyABLQAAIgBBIEYN/gEgAEE6Rw3AAiACKAIEIQBBACEDIAJBADYCBCACIAAgARApIgAN3gEM3QELQccAIQMgBCABIgBGDeUCIAQgAWsgAigCACIBaiEHIAAgAWtBBWohBgNAIAFBkMIAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNvwIgAUEFRg3CAiABQQFqIQEgBCAAQQFqIgBHDQALIAIgBzYCAAzlAgtByAAhAyAEIAEiAEYN5AIgBCABayACKAIAIgFqIQcgACABa0EJaiEGA0AgAUGWwgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw2+AkECIAFBCUYNwgIaIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADOQCCyABIARGBEBByQAhAwzkAgsCQAJAIAEtAAAiAEEgciAAIABBwQBrQf8BcUEaSRtB/wFxQe4Aaw4HAL8CvwK/Ar8CvwIBvwILIAFBAWohAUE+IQMMywILIAFBAWohAUE/IQMMygILQcoAIQMgBCABIgBGDeICIAQgAWsgAigCACIBaiEGIAAgAWtBAWohBwNAIAFBoMIAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNvAIgAUEBRg2+AiABQQFqIQEgBCAAQQFqIgBHDQALIAIgBjYCAAziAgtBywAhAyAEIAEiAEYN4QIgBCABayACKAIAIgFqIQcgACABa0EOaiEGA0AgAUGiwgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw27AiABQQ5GDb4CIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADOECC0HMACEDIAQgASIARg3gAiAEIAFrIAIoAgAiAWohByAAIAFrQQ9qIQYDQCABQcDCAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDboCQQMgAUEPRg2+AhogAUEBaiEBIAQgAEEBaiIARw0ACyACIAc2AgAM4AILQc0AIQMgBCABIgBGDd8CIAQgAWsgAigCACIBaiEHIAAgAWtBBWohBgNAIAFB0MIAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNuQJBBCABQQVGDb0CGiABQQFqIQEgBCAAQQFqIgBHDQALIAIgBzYCAAzfAgsgASAERgRAQc4AIQMM3wILAkACQAJAAkAgAS0AACIAQSByIAAgAEHBAGtB/wFxQRpJG0H/AXFB4wBrDhMAvAK8ArwCvAK8ArwCvAK8ArwCvAK8ArwCAbwCvAK8AgIDvAILIAFBAWohAUHBACEDDMgCCyABQQFqIQFBwgAhAwzHAgsgAUEBaiEBQcMAIQMMxgILIAFBAWohAUHEACEDDMUCCyABIARHBEAgAkENNgIIIAIgATYCBEHFACEDDMUCC0HPACEDDN0CCwJAAkAgAS0AAEEKaw4EAZABkAEAkAELIAFBAWohAQtBKCEDDMMCCyABIARGBEBB0QAhAwzcAgsgAS0AAEEgRw0AIAFBAWohASACLQAtQQFxRQ3QAQtBFyEDDMECCyABIARHDcsBQdIAIQMM2QILQdMAIQMgASAERg3YAiACKAIAIgAgBCABa2ohBiABIABrQQFqIQUDQCABLQAAIABB1sIAai0AAEcNxwEgAEEBRg3KASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBjYCAAzYAgsgASAERgRAQdUAIQMM2AILIAEtAABBCkcNwgEgAUEBaiEBDMoBCyABIARGBEBB1gAhAwzXAgsCQAJAIAEtAABBCmsOBADDAcMBAcMBCyABQQFqIQEMygELIAFBAWohAUHKACEDDL0CC0EAIQACQCACKAI4IgNFDQAgAygCPCIDRQ0AIAIgAxEAACEACyAADb8BQc0AIQMMvAILIAItAClBIkYNzwIMiQELIAQgASIFRgRAQdsAIQMM1AILQQAhAEEBIQFBASEGQQAhAwJAAn8CQAJAAkACQAJAAkACQCAFLQAAQTBrDgrFAcQBAAECAwQFBgjDAQtBAgwGC0EDDAULQQQMBAtBBQwDC0EGDAILQQcMAQtBCAshA0EAIQFBACEGDL0BC0EJIQNBASEAQQAhAUEAIQYMvAELIAEgBEYEQEHdACEDDNMCCyABLQAAQS5HDbgBIAFBAWohAQyIAQsgASAERw22AUHfACEDDNECCyABIARHBEAgAkEONgIIIAIgATYCBEHQACEDDLgCC0HgACEDDNACC0HhACEDIAEgBEYNzwIgAigCACIAIAQgAWtqIQUgASAAa0EDaiEGA0AgAS0AACAAQeLCAGotAABHDbEBIABBA0YNswEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMzwILQeIAIQMgASAERg3OAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYDQCABLQAAIABB5sIAai0AAEcNsAEgAEECRg2vASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAzOAgtB4wAhAyABIARGDc0CIAIoAgAiACAEIAFraiEFIAEgAGtBA2ohBgNAIAEtAAAgAEHpwgBqLQAARw2vASAAQQNGDa0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADM0CCyABIARGBEBB5QAhAwzNAgsgAUEBaiEBQQAhAAJAIAIoAjgiA0UNACADKAIwIgNFDQAgAiADEQAAIQALIAANqgFB1gAhAwyzAgsgASAERwRAA0AgAS0AACIAQSBHBEACQAJAAkAgAEHIAGsOCwABswGzAbMBswGzAbMBswGzAQKzAQsgAUEBaiEBQdIAIQMMtwILIAFBAWohAUHTACEDDLYCCyABQQFqIQFB1AAhAwy1AgsgBCABQQFqIgFHDQALQeQAIQMMzAILQeQAIQMMywILA0AgAS0AAEHwwgBqLQAAIgBBAUcEQCAAQQJrDgOnAaYBpQGkAQsgBCABQQFqIgFHDQALQeYAIQMMygILIAFBAWogASAERw0CGkHnACEDDMkCCwNAIAEtAABB8MQAai0AACIAQQFHBEACQCAAQQJrDgSiAaEBoAEAnwELQdcAIQMMsQILIAQgAUEBaiIBRw0AC0HoACEDDMgCCyABIARGBEBB6QAhAwzIAgsCQCABLQAAIgBBCmsOGrcBmwGbAbQBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBpAGbAZsBAJkBCyABQQFqCyEBQQYhAwytAgsDQCABLQAAQfDGAGotAABBAUcNfSAEIAFBAWoiAUcNAAtB6gAhAwzFAgsgAUEBaiABIARHDQIaQesAIQMMxAILIAEgBEYEQEHsACEDDMQCCyABQQFqDAELIAEgBEYEQEHtACEDDMMCCyABQQFqCyEBQQQhAwyoAgsgASAERgRAQe4AIQMMwQILAkACQAJAIAEtAABB8MgAai0AAEEBaw4HkAGPAY4BAHwBAo0BCyABQQFqIQEMCwsgAUEBagyTAQtBACEDIAJBADYCHCACQZsSNgIQIAJBBzYCDCACIAFBAWo2AhQMwAILAkADQCABLQAAQfDIAGotAAAiAEEERwRAAkACQCAAQQFrDgeUAZMBkgGNAQAEAY0BC0HaACEDDKoCCyABQQFqIQFB3AAhAwypAgsgBCABQQFqIgFHDQALQe8AIQMMwAILIAFBAWoMkQELIAQgASIARgRAQfAAIQMMvwILIAAtAABBL0cNASAAQQFqIQEMBwsgBCABIgBGBEBB8QAhAwy+AgsgAC0AACIBQS9GBEAgAEEBaiEBQd0AIQMMpQILIAFBCmsiA0EWSw0AIAAhAUEBIAN0QYmAgAJxDfkBC0EAIQMgAkEANgIcIAIgADYCFCACQYwcNgIQIAJBBzYCDAy8AgsgASAERwRAIAFBAWohAUHeACEDDKMCC0HyACEDDLsCCyABIARGBEBB9AAhAwy7AgsCQCABLQAAQfDMAGotAABBAWsOA/cBcwCCAQtB4QAhAwyhAgsgASAERwRAA0AgAS0AAEHwygBqLQAAIgBBA0cEQAJAIABBAWsOAvkBAIUBC0HfACEDDKMCCyAEIAFBAWoiAUcNAAtB8wAhAwy6AgtB8wAhAwy5AgsgASAERwRAIAJBDzYCCCACIAE2AgRB4AAhAwygAgtB9QAhAwy4AgsgASAERgRAQfYAIQMMuAILIAJBDzYCCCACIAE2AgQLQQMhAwydAgsDQCABLQAAQSBHDY4CIAQgAUEBaiIBRw0AC0H3ACEDDLUCCyABIARGBEBB+AAhAwy1AgsgAS0AAEEgRw16IAFBAWohAQxbC0EAIQACQCACKAI4IgNFDQAgAygCOCIDRQ0AIAIgAxEAACEACyAADXgMgAILIAEgBEYEQEH6ACEDDLMCCyABLQAAQcwARw10IAFBAWohAUETDHYLQfsAIQMgASAERg2xAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYDQCABLQAAIABB8M4Aai0AAEcNcyAAQQVGDXUgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMsQILIAEgBEYEQEH8ACEDDLECCwJAAkAgAS0AAEHDAGsODAB0dHR0dHR0dHR0AXQLIAFBAWohAUHmACEDDJgCCyABQQFqIQFB5wAhAwyXAgtB/QAhAyABIARGDa8CIAIoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQe3PAGotAABHDXIgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADLACCyACQQA2AgAgBkEBaiEBQRAMcwtB/gAhAyABIARGDa4CIAIoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQfbOAGotAABHDXEgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADK8CCyACQQA2AgAgBkEBaiEBQRYMcgtB/wAhAyABIARGDa0CIAIoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQfzOAGotAABHDXAgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADK4CCyACQQA2AgAgBkEBaiEBQQUMcQsgASAERgRAQYABIQMMrQILIAEtAABB2QBHDW4gAUEBaiEBQQgMcAsgASAERgRAQYEBIQMMrAILAkACQCABLQAAQc4Aaw4DAG8BbwsgAUEBaiEBQesAIQMMkwILIAFBAWohAUHsACEDDJICCyABIARGBEBBggEhAwyrAgsCQAJAIAEtAABByABrDggAbm5ubm5uAW4LIAFBAWohAUHqACEDDJICCyABQQFqIQFB7QAhAwyRAgtBgwEhAyABIARGDakCIAIoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQYDPAGotAABHDWwgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADKoCCyACQQA2AgAgBkEBaiEBQQAMbQtBhAEhAyABIARGDagCIAIoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQYPPAGotAABHDWsgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADKkCCyACQQA2AgAgBkEBaiEBQSMMbAsgASAERgRAQYUBIQMMqAILAkACQCABLQAAQcwAaw4IAGtra2trawFrCyABQQFqIQFB7wAhAwyPAgsgAUEBaiEBQfAAIQMMjgILIAEgBEYEQEGGASEDDKcCCyABLQAAQcUARw1oIAFBAWohAQxgC0GHASEDIAEgBEYNpQIgAigCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBiM8Aai0AAEcNaCAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMpgILIAJBADYCACAGQQFqIQFBLQxpC0GIASEDIAEgBEYNpAIgAigCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABB0M8Aai0AAEcNZyAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMpQILIAJBADYCACAGQQFqIQFBKQxoCyABIARGBEBBiQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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CABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv", "base64");
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
+var require_llhttp_simd_wasm2 = __commonJS({
+  "node_modules/@actions/github/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/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADDsYBAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHyAhIyUmKCorLC8wMTIzNDU2Nzk6Ozw9lANAQkRFRklLTk9QUVJTVFVWWFpbXF1eX2BhYmNkZWZnaGpsb3Bxc3V2eHl6e3x/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAccByAHJAcsBzAHNAc4BzwGKA4kDiAOHA4QDgwOAA/sC+gL5AvgC9wL0AvMC8gLLAsECsALZAQsgASAERw3wAkHdASEDDLMDCyABIARHDcgBQcMBIQMMsgMLIAEgBEcNe0H3ACEDDLEDCyABIARHDXBB7wAhAwywAwsgASAERw1pQeoAIQMMrwMLIAEgBEcNZUHoACEDDK4DCyABIARHDWJB5gAhAwytAwsgASAERw0aQRghAwysAwsgASAERw0VQRIhAwyrAwsgASAERw1CQcUAIQMMqgMLIAEgBEcNNEE/IQMMqQMLIAEgBEcNMkE8IQMMqAMLIAEgBEcNK0ExIQMMpwMLIAItAC5BAUYNnwMMwQILQQAhAAJAAkACQCACLQAqRQ0AIAItACtFDQAgAi8BMCIDQQJxRQ0BDAILIAIvATAiA0EBcUUNAQtBASEAIAItAChBAUYNACACLwEyIgVB5ABrQeQASQ0AIAVBzAFGDQAgBUGwAkYNACADQcAAcQ0AQQAhACADQYgEcUGABEYNACADQShxQQBHIQALIAJBADsBMCACQQA6AC8gAEUN3wIgAkIANwMgDOACC0EAIQACQCACKAI4IgNFDQAgAygCLCIDRQ0AIAIgAxEAACEACyAARQ3MASAAQRVHDd0CIAJBBDYCHCACIAE2AhQgAkGwGDYCECACQRU2AgxBACEDDKQDCyABIARGBEBBBiEDDKQDCyABQQFqIQFBACEAAkAgAigCOCIDRQ0AIAMoAlQiA0UNACACIAMRAAAhAAsgAA3ZAgwcCyACQgA3AyBBEiEDDIkDCyABIARHDRZBHSEDDKEDCyABIARHBEAgAUEBaiEBQRAhAwyIAwtBByEDDKADCyACIAIpAyAiCiAEIAFrrSILfSIMQgAgCiAMWhs3AyAgCiALWA3UAkEIIQMMnwMLIAEgBEcEQCACQQk2AgggAiABNgIEQRQhAwyGAwtBCSEDDJ4DCyACKQMgQgBSDccBIAIgAi8BMEGAAXI7ATAMQgsgASAERw0/QdAAIQMMnAMLIAEgBEYEQEELIQMMnAMLIAFBAWohAUEAIQACQCACKAI4IgNFDQAgAygCUCIDRQ0AIAIgAxEAACEACyAADc8CDMYBC0EAIQACQCACKAI4IgNFDQAgAygCSCIDRQ0AIAIgAxEAACEACyAARQ3GASAAQRVHDc0CIAJBCzYCHCACIAE2AhQgAkGCGTYCECACQRU2AgxBACEDDJoDC0EAIQACQCACKAI4IgNFDQAgAygCSCIDRQ0AIAIgAxEAACEACyAARQ0MIABBFUcNygIgAkEaNgIcIAIgATYCFCACQYIZNgIQIAJBFTYCDEEAIQMMmQMLQQAhAAJAIAIoAjgiA0UNACADKAJMIgNFDQAgAiADEQAAIQALIABFDcQBIABBFUcNxwIgAkELNgIcIAIgATYCFCACQZEXNgIQIAJBFTYCDEEAIQMMmAMLIAEgBEYEQEEPIQMMmAMLIAEtAAAiAEE7Rg0HIABBDUcNxAIgAUEBaiEBDMMBC0EAIQACQCACKAI4IgNFDQAgAygCTCIDRQ0AIAIgAxEAACEACyAARQ3DASAAQRVHDcICIAJBDzYCHCACIAE2AhQgAkGRFzYCECACQRU2AgxBACEDDJYDCwNAIAEtAABB8DVqLQAAIgBBAUcEQCAAQQJHDcECIAIoAgQhAEEAIQMgAkEANgIEIAIgACABQQFqIgEQLSIADcICDMUBCyAEIAFBAWoiAUcNAAtBEiEDDJUDC0EAIQACQCACKAI4IgNFDQAgAygCTCIDRQ0AIAIgAxEAACEACyAARQ3FASAAQRVHDb0CIAJBGzYCHCACIAE2AhQgAkGRFzYCECACQRU2AgxBACEDDJQDCyABIARGBEBBFiEDDJQDCyACQQo2AgggAiABNgIEQQAhAAJAIAIoAjgiA0UNACADKAJIIgNFDQAgAiADEQAAIQALIABFDcIBIABBFUcNuQIgAkEVNgIcIAIgATYCFCACQYIZNgIQIAJBFTYCDEEAIQMMkwMLIAEgBEcEQANAIAEtAABB8DdqLQAAIgBBAkcEQAJAIABBAWsOBMQCvQIAvgK9AgsgAUEBaiEBQQghAwz8AgsgBCABQQFqIgFHDQALQRUhAwyTAwtBFSEDDJIDCwNAIAEtAABB8DlqLQAAIgBBAkcEQCAAQQFrDgTFArcCwwK4ArcCCyAEIAFBAWoiAUcNAAtBGCEDDJEDCyABIARHBEAgAkELNgIIIAIgATYCBEEHIQMM+AILQRkhAwyQAwsgAUEBaiEBDAILIAEgBEYEQEEaIQMMjwMLAkAgAS0AAEENaw4UtQG/Ab8BvwG/Ab8BvwG/Ab8BvwG/Ab8BvwG/Ab8BvwG/Ab8BvwEAvwELQQAhAyACQQA2AhwgAkGvCzYCECACQQI2AgwgAiABQQFqNgIUDI4DCyABIARGBEBBGyEDDI4DCyABLQAAIgBBO0cEQCAAQQ1HDbECIAFBAWohAQy6AQsgAUEBaiEBC0EiIQMM8wILIAEgBEYEQEEcIQMMjAMLQgAhCgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAS0AAEEwaw43wQLAAgABAgMEBQYH0AHQAdAB0AHQAdAB0AEICQoLDA3QAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdABDg8QERIT0AELQgIhCgzAAgtCAyEKDL8CC0IEIQoMvgILQgUhCgy9AgtCBiEKDLwCC0IHIQoMuwILQgghCgy6AgtCCSEKDLkCC0IKIQoMuAILQgshCgy3AgtCDCEKDLYCC0INIQoMtQILQg4hCgy0AgtCDyEKDLMCC0IKIQoMsgILQgshCgyxAgtCDCEKDLACC0INIQoMrwILQg4hCgyuAgtCDyEKDK0CC0IAIQoCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEtAABBMGsON8ACvwIAAQIDBAUGB74CvgK+Ar4CvgK+Ar4CCAkKCwwNvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ag4PEBESE74CC0ICIQoMvwILQgMhCgy+AgtCBCEKDL0CC0IFIQoMvAILQgYhCgy7AgtCByEKDLoCC0IIIQoMuQILQgkhCgy4AgtCCiEKDLcCC0ILIQoMtgILQgwhCgy1AgtCDSEKDLQCC0IOIQoMswILQg8hCgyyAgtCCiEKDLECC0ILIQoMsAILQgwhCgyvAgtCDSEKDK4CC0IOIQoMrQILQg8hCgysAgsgAiACKQMgIgogBCABa60iC30iDEIAIAogDFobNwMgIAogC1gNpwJBHyEDDIkDCyABIARHBEAgAkEJNgIIIAIgATYCBEElIQMM8AILQSAhAwyIAwtBASEFIAIvATAiA0EIcUUEQCACKQMgQgBSIQULAkAgAi0ALgRAQQEhACACLQApQQVGDQEgA0HAAHFFIAVxRQ0BC0EAIQAgA0HAAHENAEECIQAgA0EIcQ0AIANBgARxBEACQCACLQAoQQFHDQAgAi0ALUEKcQ0AQQUhAAwCC0EEIQAMAQsgA0EgcUUEQAJAIAItAChBAUYNACACLwEyIgBB5ABrQeQASQ0AIABBzAFGDQAgAEGwAkYNAEEEIQAgA0EocUUNAiADQYgEcUGABEYNAgtBACEADAELQQBBAyACKQMgUBshAAsgAEEBaw4FvgIAsAEBpAKhAgtBESEDDO0CCyACQQE6AC8MhAMLIAEgBEcNnQJBJCEDDIQDCyABIARHDRxBxgAhAwyDAwtBACEAAkAgAigCOCIDRQ0AIAMoAkQiA0UNACACIAMRAAAhAAsgAEUNJyAAQRVHDZgCIAJB0AA2AhwgAiABNgIUIAJBkRg2AhAgAkEVNgIMQQAhAwyCAwsgASAERgRAQSghAwyCAwtBACEDIAJBADYCBCACQQw2AgggAiABIAEQKiIARQ2UAiACQSc2AhwgAiABNgIUIAIgADYCDAyBAwsgASAERgRAQSkhAwyBAwsgAS0AACIAQSBGDRMgAEEJRw2VAiABQQFqIQEMFAsgASAERwRAIAFBAWohAQwWC0EqIQMM/wILIAEgBEYEQEErIQMM/wILIAEtAAAiAEEJRyAAQSBHcQ2QAiACLQAsQQhHDd0CIAJBADoALAzdAgsgASAERgRAQSwhAwz+AgsgAS0AAEEKRw2OAiABQQFqIQEMsAELIAEgBEcNigJBLyEDDPwCCwNAIAEtAAAiAEEgRwRAIABBCmsOBIQCiAKIAoQChgILIAQgAUEBaiIBRw0AC0ExIQMM+wILQTIhAyABIARGDfoCIAIoAgAiACAEIAFraiEHIAEgAGtBA2ohBgJAA0AgAEHwO2otAAAgAS0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQEgAEEDRgRAQQYhAQziAgsgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAc2AgAM+wILIAJBADYCAAyGAgtBMyEDIAQgASIARg35AiAEIAFrIAIoAgAiAWohByAAIAFrQQhqIQYCQANAIAFB9DtqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBCEYEQEEFIQEM4QILIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADPoCCyACQQA2AgAgACEBDIUCC0E0IQMgBCABIgBGDfgCIAQgAWsgAigCACIBaiEHIAAgAWtBBWohBgJAA0AgAUHQwgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBBUYEQEEHIQEM4AILIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADPkCCyACQQA2AgAgACEBDIQCCyABIARHBEADQCABLQAAQYA+ai0AACIAQQFHBEAgAEECRg0JDIECCyAEIAFBAWoiAUcNAAtBMCEDDPgCC0EwIQMM9wILIAEgBEcEQANAIAEtAAAiAEEgRwRAIABBCmsOBP8B/gH+Af8B/gELIAQgAUEBaiIBRw0AC0E4IQMM9wILQTghAwz2AgsDQCABLQAAIgBBIEcgAEEJR3EN9gEgBCABQQFqIgFHDQALQTwhAwz1AgsDQCABLQAAIgBBIEcEQAJAIABBCmsOBPkBBAT5AQALIABBLEYN9QEMAwsgBCABQQFqIgFHDQALQT8hAwz0AgtBwAAhAyABIARGDfMCIAIoAgAiACAEIAFraiEFIAEgAGtBBmohBgJAA0AgAEGAQGstAAAgAS0AAEEgckcNASAAQQZGDdsCIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADPQCCyACQQA2AgALQTYhAwzZAgsgASAERgRAQcEAIQMM8gILIAJBDDYCCCACIAE2AgQgAi0ALEEBaw4E+wHuAewB6wHUAgsgAUEBaiEBDPoBCyABIARHBEADQAJAIAEtAAAiAEEgciAAIABBwQBrQf8BcUEaSRtB/wFxIgBBCUYNACAAQSBGDQACQAJAAkACQCAAQeMAaw4TAAMDAwMDAwMBAwMDAwMDAwMDAgMLIAFBAWohAUExIQMM3AILIAFBAWohAUEyIQMM2wILIAFBAWohAUEzIQMM2gILDP4BCyAEIAFBAWoiAUcNAAtBNSEDDPACC0E1IQMM7wILIAEgBEcEQANAIAEtAABBgDxqLQAAQQFHDfcBIAQgAUEBaiIBRw0AC0E9IQMM7wILQT0hAwzuAgtBACEAAkAgAigCOCIDRQ0AIAMoAkAiA0UNACACIAMRAAAhAAsgAEUNASAAQRVHDeYBIAJBwgA2AhwgAiABNgIUIAJB4xg2AhAgAkEVNgIMQQAhAwztAgsgAUEBaiEBC0E8IQMM0gILIAEgBEYEQEHCACEDDOsCCwJAA0ACQCABLQAAQQlrDhgAAswCzALRAswCzALMAswCzALMAswCzALMAswCzALMAswCzALMAswCzALMAgDMAgsgBCABQQFqIgFHDQALQcIAIQMM6wILIAFBAWohASACLQAtQQFxRQ3+AQtBLCEDDNACCyABIARHDd4BQcQAIQMM6AILA0AgAS0AAEGQwABqLQAAQQFHDZwBIAQgAUEBaiIBRw0AC0HFACEDDOcCCyABLQAAIgBBIEYN/gEgAEE6Rw3AAiACKAIEIQBBACEDIAJBADYCBCACIAAgARApIgAN3gEM3QELQccAIQMgBCABIgBGDeUCIAQgAWsgAigCACIBaiEHIAAgAWtBBWohBgNAIAFBkMIAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNvwIgAUEFRg3CAiABQQFqIQEgBCAAQQFqIgBHDQALIAIgBzYCAAzlAgtByAAhAyAEIAEiAEYN5AIgBCABayACKAIAIgFqIQcgACABa0EJaiEGA0AgAUGWwgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw2+AkECIAFBCUYNwgIaIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADOQCCyABIARGBEBByQAhAwzkAgsCQAJAIAEtAAAiAEEgciAAIABBwQBrQf8BcUEaSRtB/wFxQe4Aaw4HAL8CvwK/Ar8CvwIBvwILIAFBAWohAUE+IQMMywILIAFBAWohAUE/IQMMygILQcoAIQMgBCABIgBGDeICIAQgAWsgAigCACIBaiEGIAAgAWtBAWohBwNAIAFBoMIAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNvAIgAUEBRg2+AiABQQFqIQEgBCAAQQFqIgBHDQALIAIgBjYCAAziAgtBywAhAyAEIAEiAEYN4QIgBCABayACKAIAIgFqIQcgACABa0EOaiEGA0AgAUGiwgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw27AiABQQ5GDb4CIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADOECC0HMACEDIAQgASIARg3gAiAEIAFrIAIoAgAiAWohByAAIAFrQQ9qIQYDQCABQcDCAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDboCQQMgAUEPRg2+AhogAUEBaiEBIAQgAEEBaiIARw0ACyACIAc2AgAM4AILQc0AIQMgBCABIgBGDd8CIAQgAWsgAigCACIBaiEHIAAgAWtBBWohBgNAIAFB0MIAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNuQJBBCABQQVGDb0CGiABQQFqIQEgBCAAQQFqIgBHDQALIAIgBzYCAAzfAgsgASAERgRAQc4AIQMM3wILAkACQAJAAkAgAS0AACIAQSByIAAgAEHBAGtB/wFxQRpJG0H/AXFB4wBrDhMAvAK8ArwCvAK8ArwCvAK8ArwCvAK8ArwCAbwCvAK8AgIDvAILIAFBAWohAUHBACEDDMgCCyABQQFqIQFBwgAhAwzHAgsgAUEBaiEBQcMAIQMMxgILIAFBAWohAUHEACEDDMUCCyABIARHBEAgAkENNgIIIAIgATYCBEHFACEDDMUCC0HPACEDDN0CCwJAAkAgAS0AAEEKaw4EAZABkAEAkAELIAFBAWohAQtBKCEDDMMCCyABIARGBEBB0QAhAwzcAgsgAS0AAEEgRw0AIAFBAWohASACLQAtQQFxRQ3QAQtBFyEDDMECCyABIARHDcsBQdIAIQMM2QILQdMAIQMgASAERg3YAiACKAIAIgAgBCABa2ohBiABIABrQQFqIQUDQCABLQAAIABB1sIAai0AAEcNxwEgAEEBRg3KASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBjYCAAzYAgsgASAERgRAQdUAIQMM2AILIAEtAABBCkcNwgEgAUEBaiEBDMoBCyABIARGBEBB1gAhAwzXAgsCQAJAIAEtAABBCmsOBADDAcMBAcMBCyABQQFqIQEMygELIAFBAWohAUHKACEDDL0CC0EAIQACQCACKAI4IgNFDQAgAygCPCIDRQ0AIAIgAxEAACEACyAADb8BQc0AIQMMvAILIAItAClBIkYNzwIMiQELIAQgASIFRgRAQdsAIQMM1AILQQAhAEEBIQFBASEGQQAhAwJAAn8CQAJAAkACQAJAAkACQCAFLQAAQTBrDgrFAcQBAAECAwQFBgjDAQtBAgwGC0EDDAULQQQMBAtBBQwDC0EGDAILQQcMAQtBCAshA0EAIQFBACEGDL0BC0EJIQNBASEAQQAhAUEAIQYMvAELIAEgBEYEQEHdACEDDNMCCyABLQAAQS5HDbgBIAFBAWohAQyIAQsgASAERw22AUHfACEDDNECCyABIARHBEAgAkEONgIIIAIgATYCBEHQACEDDLgCC0HgACEDDNACC0HhACEDIAEgBEYNzwIgAigCACIAIAQgAWtqIQUgASAAa0EDaiEGA0AgAS0AACAAQeLCAGotAABHDbEBIABBA0YNswEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMzwILQeIAIQMgASAERg3OAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYDQCABLQAAIABB5sIAai0AAEcNsAEgAEECRg2vASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAzOAgtB4wAhAyABIARGDc0CIAIoAgAiACAEIAFraiEFIAEgAGtBA2ohBgNAIAEtAAAgAEHpwgBqLQAARw2vASAAQQNGDa0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADM0CCyABIARGBEBB5QAhAwzNAgsgAUEBaiEBQQAhAAJAIAIoAjgiA0UNACADKAIwIgNFDQAgAiADEQAAIQALIAANqgFB1gAhAwyzAgsgASAERwRAA0AgAS0AACIAQSBHBEACQAJAAkAgAEHIAGsOCwABswGzAbMBswGzAbMBswGzAQKzAQsgAUEBaiEBQdIAIQMMtwILIAFBAWohAUHTACEDDLYCCyABQQFqIQFB1AAhAwy1AgsgBCABQQFqIgFHDQALQeQAIQMMzAILQeQAIQMMywILA0AgAS0AAEHwwgBqLQAAIgBBAUcEQCAAQQJrDgOnAaYBpQGkAQsgBCABQQFqIgFHDQALQeYAIQMMygILIAFBAWogASAERw0CGkHnACEDDMkCCwNAIAEtAABB8MQAai0AACIAQQFHBEACQCAAQQJrDgSiAaEBoAEAnwELQdcAIQMMsQILIAQgAUEBaiIBRw0AC0HoACEDDMgCCyABIARGBEBB6QAhAwzIAgsCQCABLQAAIgBBCmsOGrcBmwGbAbQBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBpAGbAZsBAJkBCyABQQFqCyEBQQYhAwytAgsDQCABLQAAQfDGAGotAABBAUcNfSAEIAFBAWoiAUcNAAtB6gAhAwzFAgsgAUEBaiABIARHDQIaQesAIQMMxAILIAEgBEYEQEHsACEDDMQCCyABQQFqDAELIAEgBEYEQEHtACEDDMMCCyABQQFqCyEBQQQhAwyoAgsgASAERgRAQe4AIQMMwQILAkACQAJAIAEtAABB8MgAai0AAEEBaw4HkAGPAY4BAHwBAo0BCyABQQFqIQEMCwsgAUEBagyTAQtBACEDIAJBADYCHCACQZsSNgIQIAJBBzYCDCACIAFBAWo2AhQMwAILAkADQCABLQAAQfDIAGotAAAiAEEERwRAAkACQCAAQQFrDgeUAZMBkgGNAQAEAY0BC0HaACEDDKoCCyABQQFqIQFB3AAhAwypAgsgBCABQQFqIgFHDQALQe8AIQMMwAILIAFBAWoMkQELIAQgASIARgRAQfAAIQMMvwILIAAtAABBL0cNASAAQQFqIQEMBwsgBCABIgBGBEBB8QAhAwy+AgsgAC0AACIBQS9GBEAgAEEBaiEBQd0AIQMMpQILIAFBCmsiA0EWSw0AIAAhAUEBIAN0QYmAgAJxDfkBC0EAIQMgAkEANgIcIAIgADYCFCACQYwcNgIQIAJBBzYCDAy8AgsgASAERwRAIAFBAWohAUHeACEDDKMCC0HyACEDDLsCCyABIARGBEBB9AAhAwy7AgsCQCABLQAAQfDMAGotAABBAWsOA/cBcwCCAQtB4QAhAwyhAgsgASAERwRAA0AgAS0AAEHwygBqLQAAIgBBA0cEQAJAIABBAWsOAvkBAIUBC0HfACEDDKMCCyAEIAFBAWoiAUcNAAtB8wAhAwy6AgtB8wAhAwy5AgsgASAERwRAIAJBDzYCCCACIAE2AgRB4AAhAwygAgtB9QAhAwy4AgsgASAERgRAQfYAIQMMuAILIAJBDzYCCCACIAE2AgQLQQMhAwydAgsDQCABLQAAQSBHDY4CIAQgAUEBaiIBRw0AC0H3ACEDDLUCCyABIARGBEBB+AAhAwy1AgsgAS0AAEEgRw16IAFBAWohAQxbC0EAIQACQCACKAI4IgNFDQAgAygCOCIDRQ0AIAIgAxEAACEACyAADXgMgAILIAEgBEYEQEH6ACEDDLMCCyABLQAAQcwARw10IAFBAWohAUETDHYLQfsAIQMgASAERg2xAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYDQCABLQAAIABB8M4Aai0AAEcNcyAAQQVGDXUgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMsQILIAEgBEYEQEH8ACEDDLECCwJAAkAgAS0AAEHDAGsODAB0dHR0dHR0dHR0AXQLIAFBAWohAUHmACEDDJgCCyABQQFqIQFB5wAhAwyXAgtB/QAhAyABIARGDa8CIAIoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQe3PAGotAABHDXIgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADLACCyACQQA2AgAgBkEBaiEBQRAMcwtB/gAhAyABIARGDa4CIAIoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQfbOAGotAABHDXEgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADK8CCyACQQA2AgAgBkEBaiEBQRYMcgtB/wAhAyABIARGDa0CIAIoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQfzOAGotAABHDXAgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADK4CCyACQQA2AgAgBkEBaiEBQQUMcQsgASAERgRAQYABIQMMrQILIAEtAABB2QBHDW4gAUEBaiEBQQgMcAsgASAERgRAQYEBIQMMrAILAkACQCABLQAAQc4Aaw4DAG8BbwsgAUEBaiEBQesAIQMMkwILIAFBAWohAUHsACEDDJICCyABIARGBEBBggEhAwyrAgsCQAJAIAEtAABByABrDggAbm5ubm5uAW4LIAFBAWohAUHqACEDDJICCyABQQFqIQFB7QAhAwyRAgtBgwEhAyABIARGDakCIAIoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQYDPAGotAABHDWwgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADKoCCyACQQA2AgAgBkEBaiEBQQAMbQtBhAEhAyABIARGDagCIAIoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQYPPAGotAABHDWsgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADKkCCyACQQA2AgAgBkEBaiEBQSMMbAsgASAERgRAQYUBIQMMqAILAkACQCABLQAAQcwAaw4IAGtra2trawFrCyABQQFqIQFB7wAhAwyPAgsgAUEBaiEBQfAAIQMMjgILIAEgBEYEQEGGASEDDKcCCyABLQAAQcUARw1oIAFBAWohAQxgC0GHASEDIAEgBEYNpQIgAigCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBiM8Aai0AAEcNaCAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMpgILIAJBADYCACAGQQFqIQFBLQxpC0GIASEDIAEgBEYNpAIgAigCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABB0M8Aai0AAEcNZyAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMpQILIAJBADYCACAGQQFqIQFBKQxoCyABIARGBEBBiQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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AAADAEGUCAsFBAAAAAUAQaQICwkGAAAABwAAAAgAQdwIC4otSW52YWxpZCBjaGFyIGluIHVybCBxdWVyeQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2JvZHkAQ29udGVudC1MZW5ndGggb3ZlcmZsb3cAQ2h1bmsgc2l6ZSBvdmVyZmxvdwBSZXNwb25zZSBvdmVyZmxvdwBJbnZhbGlkIG1ldGhvZCBmb3IgSFRUUC94LnggcmVxdWVzdABJbnZhbGlkIG1ldGhvZCBmb3IgUlRTUC94LnggcmVxdWVzdABFeHBlY3RlZCBTT1VSQ0UgbWV0aG9kIGZvciBJQ0UveC54IHJlcXVlc3QASW52YWxpZCBjaGFyIGluIHVybCBmcmFnbWVudCBzdGFydABFeHBlY3RlZCBkb3QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9zdGF0dXMASW52YWxpZCByZXNwb25zZSBzdGF0dXMASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucwBVc2VyIGNhbGxiYWNrIGVycm9yAGBvbl9yZXNldGAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2hlYWRlcmAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfYmVnaW5gIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwBB+TULAQEAQZA2C+ABAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQf03CwEBAEGROAteAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgBB/TkLAQEAQZE6C14CAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEHwOwsNbG9zZWVlcC1hbGl2ZQBBiTwLAQEAQaA8C+ABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQYk+CwEBAEGgPgvnAQEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZABBsMAAC18BAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBBkMIACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQcDCAAstcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQoNClNNDQoNClRUUC9DRS9UU1AvAEH5wgALBQECAAEDAEGQwwAL4AEEAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cQACwUBAgABAwBBkMUAC+ABBAEBBQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQfnGAAsEAQAAAQBBkccAC98BAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+sgACwQBAAACAEGQyQALXwMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAEH6ygALBAEAAAEAQZDLAAsBAQBBqssAC0ECAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB+swACwQBAAABAEGQzQALAQEAQZrNAAsGAgAAAAACAEGxzQALOgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQfDOAAuWAU5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==", "base64");
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/constants.js
+var require_constants8 = __commonJS({
+  "node_modules/@actions/github/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/@actions/github/node_modules/undici/lib/web/fetch/global.js
+var require_global3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/global.js"(exports2, module2) {
+    "use strict";
+    var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
+    function getGlobalOrigin() {
+      return globalThis[globalOrigin];
     }
-    Decoder.prototype.write = function(str2) {
-      str2 = str2.replace(RE_PLUS, " ");
-      let res = "";
-      let i = 0;
-      let p = 0;
-      const len = str2.length;
-      for (; i < len; ++i) {
-        if (this.buffer !== void 0) {
-          if (!HEX[str2.charCodeAt(i)]) {
-            res += "%" + this.buffer;
-            this.buffer = void 0;
-            --i;
-          } else {
-            this.buffer += str2[i];
-            ++p;
-            if (this.buffer.length === 2) {
-              res += String.fromCharCode(parseInt(this.buffer, 16));
-              this.buffer = void 0;
-            }
-          }
-        } else if (str2[i] === "%") {
-          if (i > p) {
-            res += str2.substring(p, i);
-            p = i;
-          }
-          this.buffer = "";
-          ++p;
-        }
+    function setGlobalOrigin(newOrigin) {
+      if (newOrigin === void 0) {
+        Object.defineProperty(globalThis, globalOrigin, {
+          value: void 0,
+          writable: true,
+          enumerable: false,
+          configurable: false
+        });
+        return;
       }
-      if (p < len && this.buffer === void 0) {
-        res += str2.substring(p);
+      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 res;
-    };
-    Decoder.prototype.reset = function() {
-      this.buffer = void 0;
+      Object.defineProperty(globalThis, globalOrigin, {
+        value: parsedURL,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
+    }
+    module2.exports = {
+      getGlobalOrigin,
+      setGlobalOrigin
     };
-    module2.exports = Decoder;
   }
 });
 
-// node_modules/@fastify/busboy/lib/types/urlencoded.js
-var require_urlencoded = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/urlencoded.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js
+var require_data_url2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js"(exports2, module2) {
     "use strict";
-    var Decoder = require_Decoder();
-    var decodeText = require_decodeText();
-    var getLimit = require_getLimit();
-    var RE_CHARSET = /^charset$/i;
-    UrlEncoded.detect = /^application\/x-www-form-urlencoded/i;
-    function UrlEncoded(boy, cfg) {
-      const limits = cfg.limits;
-      const parsedConType = cfg.parsedConType;
-      this.boy = boy;
-      this.fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      this.fieldNameSizeLimit = getLimit(limits, "fieldNameSize", 100);
-      this.fieldsLimit = getLimit(limits, "fields", Infinity);
-      let charset;
-      for (var i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_CHARSET.test(parsedConType[i][0])) {
-          charset = parsedConType[i][1].toLowerCase();
-          break;
+    var assert = require("node:assert");
+    var encoder = new TextEncoder();
+    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+\-.^_|~A-Za-z0-9]+$/;
+    var HTTP_WHITESPACE_REGEX = /[\u000A\u000D\u0009\u0020]/;
+    var ASCII_WHITESPACE_REPLACE_REGEX = /[\u0009\u000A\u000C\u000D\u0020]/g;
+    var HTTP_QUOTED_STRING_TOKENS = /^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;
+    function dataURLProcessor(dataURL) {
+      assert(dataURL.protocol === "data:");
+      let input = URLSerializer(dataURL, true);
+      input = input.slice(5);
+      const position = { position: 0 };
+      let mimeType = collectASequenceOfCodePointsFast(
+        ",",
+        input,
+        position
+      );
+      const mimeTypeLength = mimeType.length;
+      mimeType = removeASCIIWhitespace(mimeType, true, true);
+      if (position.position >= input.length) {
+        return "failure";
+      }
+      position.position++;
+      const encodedBody = input.slice(mimeTypeLength + 1);
+      let body = stringPercentDecode(encodedBody);
+      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
+        const stringBody = isomorphicDecode(body);
+        body = forgivingBase64(stringBody);
+        if (body === "failure") {
+          return "failure";
         }
+        mimeType = mimeType.slice(0, -6);
+        mimeType = mimeType.replace(/(\u0020)+$/, "");
+        mimeType = mimeType.slice(0, -1);
       }
-      if (charset === void 0) {
-        charset = cfg.defCharset || "utf8";
+      if (mimeType.startsWith(";")) {
+        mimeType = "text/plain" + mimeType;
       }
-      this.decoder = new Decoder();
-      this.charset = charset;
-      this._fields = 0;
-      this._state = "key";
-      this._checkingBytes = true;
-      this._bytesKey = 0;
-      this._bytesVal = 0;
-      this._key = "";
-      this._val = "";
-      this._keyTrunc = false;
-      this._valTrunc = false;
-      this._hitLimit = false;
+      let mimeTypeRecord = parseMIMEType(mimeType);
+      if (mimeTypeRecord === "failure") {
+        mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
+      }
+      return { mimeType: mimeTypeRecord, body };
     }
-    UrlEncoded.prototype.write = function(data, cb) {
-      if (this._fields === this.fieldsLimit) {
-        if (!this.boy.hitFieldsLimit) {
-          this.boy.hitFieldsLimit = true;
-          this.boy.emit("fieldsLimit");
+    function URLSerializer(url, excludeFragment = false) {
+      if (!excludeFragment) {
+        return url.href;
+      }
+      const href = url.href;
+      const hashLength = url.hash.length;
+      const serialized = hashLength === 0 ? href : href.substring(0, href.length - hashLength);
+      if (!hashLength && href.endsWith("#")) {
+        return serialized.slice(0, -1);
+      }
+      return serialized;
+    }
+    function collectASequenceOfCodePoints(condition, input, position) {
+      let result = "";
+      while (position.position < input.length && condition(input[position.position])) {
+        result += input[position.position];
+        position.position++;
+      }
+      return result;
+    }
+    function collectASequenceOfCodePointsFast(char, input, position) {
+      const idx = input.indexOf(char, position.position);
+      const start = position.position;
+      if (idx === -1) {
+        position.position = input.length;
+        return input.slice(start);
+      }
+      position.position = idx;
+      return input.slice(start, position.position);
+    }
+    function stringPercentDecode(input) {
+      const bytes = encoder.encode(input);
+      return percentDecode(bytes);
+    }
+    function isHexCharByte(byte) {
+      return byte >= 48 && byte <= 57 || byte >= 65 && byte <= 70 || byte >= 97 && byte <= 102;
+    }
+    function hexByteToNumber(byte) {
+      return (
+        // 0-9
+        byte >= 48 && byte <= 57 ? byte - 48 : (byte & 223) - 55
+      );
+    }
+    function 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 cb();
       }
-      let idxeq;
-      let idxamp;
-      let i;
-      let p = 0;
-      const len = data.length;
-      while (p < len) {
-        if (this._state === "key") {
-          idxeq = idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 61) {
-              idxeq = i;
-              break;
-            } else if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesKey === this.fieldNameSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesKey;
-            }
-          }
-          if (idxeq !== void 0) {
-            if (idxeq > p) {
-              this._key += this.decoder.write(data.toString("binary", p, idxeq));
-            }
-            this._state = "val";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._val = "";
-            this._bytesVal = 0;
-            this._valTrunc = false;
-            this.decoder.reset();
-            p = idxeq + 1;
-          } else if (idxamp !== void 0) {
-            ++this._fields;
-            let key;
-            const keyTrunc = this._keyTrunc;
-            if (idxamp > p) {
-              key = this._key += this.decoder.write(data.toString("binary", p, idxamp));
-            } else {
-              key = this._key;
-            }
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            if (key.length) {
-              this.boy.emit(
-                "field",
-                decodeText(key, "binary", this.charset),
-                "",
-                keyTrunc,
-                false
-              );
-            }
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._key += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if ((this._bytesKey = this._key.length) === this.fieldNameSizeLimit) {
-              this._checkingBytes = false;
-              this._keyTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._key += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+      return length === j ? output : output.subarray(0, j);
+    }
+    function parseMIMEType(input) {
+      input = removeHTTPWhitespace(input, true, true);
+      const position = { position: 0 };
+      const type2 = collectASequenceOfCodePointsFast(
+        "/",
+        input,
+        position
+      );
+      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
+        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 = type2.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 {
-          idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesVal === this.fieldSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesVal;
-            }
+          parameterValue = collectASequenceOfCodePointsFast(
+            ";",
+            input,
+            position
+          );
+          parameterValue = removeHTTPWhitespace(parameterValue, false, true);
+          if (parameterValue.length === 0) {
+            continue;
           }
-          if (idxamp !== void 0) {
-            ++this._fields;
-            if (idxamp > p) {
-              this._val += this.decoder.write(data.toString("binary", p, idxamp));
-            }
-            this.boy.emit(
-              "field",
-              decodeText(this._key, "binary", this.charset),
-              decodeText(this._val, "binary", this.charset),
-              this._keyTrunc,
-              this._valTrunc
-            );
-            this._state = "key";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._val += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if (this._val === "" && this.fieldSizeLimit === 0 || (this._bytesVal = this._val.length) === this.fieldSizeLimit) {
-              this._checkingBytes = false;
-              this._valTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._val += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+        }
+        if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {
+          mimeType.parameters.set(parameterName, parameterValue);
+        }
+      }
+      return mimeType;
+    }
+    function forgivingBase64(data) {
+      data = data.replace(ASCII_WHITESPACE_REPLACE_REGEX, "");
+      let dataLength = data.length;
+      if (dataLength % 4 === 0) {
+        if (data.charCodeAt(dataLength - 1) === 61) {
+          --dataLength;
+          if (data.charCodeAt(dataLength - 1) === 61) {
+            --dataLength;
           }
         }
       }
-      cb();
-    };
-    UrlEncoded.prototype.end = function() {
-      if (this.boy._done) {
-        return;
+      if (dataLength % 4 === 1) {
+        return "failure";
       }
-      if (this._state === "key" && this._key.length > 0) {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          "",
-          this._keyTrunc,
-          false
-        );
-      } else if (this._state === "val") {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          decodeText(this._val, "binary", this.charset),
-          this._keyTrunc,
-          this._valTrunc
+      if (/[^+/0-9A-Za-z]/.test(data.length === dataLength ? data : data.substring(0, dataLength))) {
+        return "failure";
+      }
+      const buffer = Buffer.from(data, "base64");
+      return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);
+    }
+    function collectAnHTTPQuotedString(input, position, extractValue) {
+      const positionStart = position.position;
+      let value = "";
+      assert(input[position.position] === '"');
+      position.position++;
+      while (true) {
+        value += collectASequenceOfCodePoints(
+          (char) => char !== '"' && char !== "\\",
+          input,
+          position
         );
+        if (position.position >= input.length) {
+          break;
+        }
+        const quoteOrBackslash = input[position.position];
+        position.position++;
+        if (quoteOrBackslash === "\\") {
+          if (position.position >= input.length) {
+            value += "\\";
+            break;
+          }
+          value += input[position.position];
+          position.position++;
+        } else {
+          assert(quoteOrBackslash === '"');
+          break;
+        }
       }
-      this.boy._done = true;
-      this.boy.emit("finish");
-    };
-    module2.exports = UrlEncoded;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/main.js
-var require_main = __commonJS({
-  "node_modules/@fastify/busboy/lib/main.js"(exports2, module2) {
-    "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var MultipartParser = require_multipart();
-    var UrlencodedParser = require_urlencoded();
-    var parseParams = require_parseParams();
-    function Busboy(opts) {
-      if (!(this instanceof Busboy)) {
-        return new Busboy(opts);
+      if (extractValue) {
+        return value;
       }
-      if (typeof opts !== "object") {
-        throw new TypeError("Busboy expected an options-Object.");
+      return input.slice(positionStart, position.position);
+    }
+    function serializeAMimeType(mimeType) {
+      assert(mimeType !== "failure");
+      const { parameters, essence } = mimeType;
+      let serialization = essence;
+      for (let [name, value] of parameters.entries()) {
+        serialization += ";";
+        serialization += name;
+        serialization += "=";
+        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
+          value = value.replace(/(\\|")/g, "\\$1");
+          value = '"' + value;
+          value += '"';
+        }
+        serialization += value;
       }
-      if (typeof opts.headers !== "object") {
-        throw new TypeError("Busboy expected an options-Object with headers-attribute.");
+      return serialization;
+    }
+    function isHTTPWhiteSpace(char) {
+      return char === 13 || char === 10 || char === 9 || char === 32;
+    }
+    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isHTTPWhiteSpace);
+    }
+    function isASCIIWhitespace(char) {
+      return char === 13 || char === 10 || char === 9 || char === 12 || char === 32;
+    }
+    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isASCIIWhitespace);
+    }
+    function removeChars(str2, leading, trailing, predicate) {
+      let lead = 0;
+      let trail = str2.length - 1;
+      if (leading) {
+        while (lead < str2.length && predicate(str2.charCodeAt(lead))) lead++;
       }
-      if (typeof opts.headers["content-type"] !== "string") {
-        throw new TypeError("Missing Content-Type-header.");
+      if (trailing) {
+        while (trail > 0 && predicate(str2.charCodeAt(trail))) trail--;
       }
-      const {
-        headers,
-        ...streamOptions
-      } = opts;
-      this.opts = {
-        autoDestroy: false,
-        ...streamOptions
-      };
-      WritableStream.call(this, this.opts);
-      this._done = false;
-      this._parser = this.getParserByHeaders(headers);
-      this._finished = false;
+      return lead === 0 && trail === str2.length - 1 ? str2 : str2.slice(lead, trail + 1);
     }
-    inherits(Busboy, WritableStream);
-    Busboy.prototype.emit = function(ev) {
-      if (ev === "finish") {
-        if (!this._done) {
-          this._parser?.end();
-          return;
-        } else if (this._finished) {
-          return;
+    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;
         }
-        this._finished = true;
+        result += String.fromCharCode.apply(null, input.subarray(i, i += addition));
       }
-      WritableStream.prototype.emit.apply(this, arguments);
-    };
-    Busboy.prototype.getParserByHeaders = function(headers) {
-      const parsed = parseParams(headers["content-type"]);
-      const cfg = {
-        defCharset: this.opts.defCharset,
-        fileHwm: this.opts.fileHwm,
-        headers,
-        highWaterMark: this.opts.highWaterMark,
-        isPartAFile: this.opts.isPartAFile,
-        limits: this.opts.limits,
-        parsedConType: parsed,
-        preservePath: this.opts.preservePath
-      };
-      if (MultipartParser.detect.test(parsed[0])) {
-        return new MultipartParser(this, cfg);
+      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 (UrlencodedParser.detect.test(parsed[0])) {
-        return new UrlencodedParser(this, cfg);
+      if (mimeType.subtype.endsWith("+json")) {
+        return "application/json";
       }
-      throw new Error("Unsupported Content-Type.");
-    };
-    Busboy.prototype._write = function(chunk, encoding, cb) {
-      this._parser.write(chunk, cb);
+      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
     };
-    module2.exports = Busboy;
-    module2.exports.default = Busboy;
-    module2.exports.Busboy = Busboy;
-    module2.exports.Dicer = Dicer;
   }
 });
 
-// node_modules/undici/lib/fetch/constants.js
-var require_constants7 = __commonJS({
-  "node_modules/undici/lib/fetch/constants.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/webidl.js
+var require_webidl2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/webidl.js"(exports2, module2) {
     "use strict";
-    var { MessageChannel, receiveMessageOnPort } = require("worker_threads");
-    var corsSafeListedMethods = ["GET", "HEAD", "POST"];
-    var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
-    var nullBodyStatus = [101, 204, 205, 304];
-    var redirectStatus = [301, 302, 303, 307, 308];
-    var redirectStatusSet = new Set(redirectStatus);
-    var badPorts = [
-      "1",
-      "7",
-      "9",
-      "11",
-      "13",
-      "15",
-      "17",
-      "19",
-      "20",
-      "21",
-      "22",
-      "23",
-      "25",
-      "37",
-      "42",
-      "43",
-      "53",
-      "69",
-      "77",
-      "79",
-      "87",
-      "95",
-      "101",
-      "102",
-      "103",
-      "104",
-      "109",
-      "110",
-      "111",
-      "113",
-      "115",
-      "117",
-      "119",
-      "123",
-      "135",
-      "137",
-      "139",
-      "143",
-      "161",
-      "179",
-      "389",
-      "427",
-      "465",
-      "512",
-      "513",
-      "514",
-      "515",
-      "526",
-      "530",
-      "531",
-      "532",
-      "540",
-      "548",
-      "554",
-      "556",
-      "563",
-      "587",
-      "601",
-      "636",
-      "989",
-      "990",
-      "993",
-      "995",
-      "1719",
-      "1720",
-      "1723",
-      "2049",
-      "3659",
-      "4045",
-      "5060",
-      "5061",
-      "6000",
-      "6566",
-      "6665",
-      "6666",
-      "6667",
-      "6668",
-      "6669",
-      "6697",
-      "10080"
-    ];
-    var badPortsSet = new Set(badPorts);
-    var referrerPolicy = [
-      "",
-      "no-referrer",
-      "no-referrer-when-downgrade",
-      "same-origin",
-      "origin",
-      "strict-origin",
-      "origin-when-cross-origin",
-      "strict-origin-when-cross-origin",
-      "unsafe-url"
-    ];
-    var referrerPolicySet = new Set(referrerPolicy);
-    var requestRedirect = ["follow", "manual", "error"];
-    var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"];
-    var safeMethodsSet = new Set(safeMethods);
-    var requestMode = ["navigate", "same-origin", "no-cors", "cors"];
-    var requestCredentials = ["omit", "same-origin", "include"];
-    var requestCache = [
-      "default",
-      "no-store",
-      "reload",
-      "no-cache",
-      "force-cache",
-      "only-if-cached"
-    ];
-    var requestBodyHeader = [
-      "content-encoding",
-      "content-language",
-      "content-location",
-      "content-type",
-      // See https://github.com/nodejs/undici/issues/2021
-      // 'Content-Length' is a forbidden header name, which is typically
-      // removed in the Headers implementation. However, undici doesn't
-      // filter out headers, so we add it here.
-      "content-length"
-    ];
-    var requestDuplex = [
-      "half"
-    ];
-    var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"];
-    var forbiddenMethodsSet = new Set(forbiddenMethods);
-    var subresource = [
-      "audio",
-      "audioworklet",
-      "font",
-      "image",
-      "manifest",
-      "paintworklet",
-      "script",
-      "style",
-      "track",
-      "video",
-      "xslt",
-      ""
-    ];
-    var subresourceSet = new Set(subresource);
-    var DOMException2 = globalThis.DOMException ?? (() => {
-      try {
-        atob("~");
-      } catch (err) {
-        return Object.getPrototypeOf(err).constructor;
-      }
-    })();
-    var channel;
-    var structuredClone = globalThis.structuredClone ?? // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js
-    // structuredClone was added in v17.0.0, but fetch supports v16.8
-    function structuredClone2(value, options = void 0) {
-      if (arguments.length === 0) {
-        throw new TypeError("missing argument");
-      }
-      if (!channel) {
-        channel = new MessageChannel();
-      }
-      channel.port1.unref();
-      channel.port2.unref();
-      channel.port1.postMessage(value, options?.transfer);
-      return receiveMessageOnPort(channel.port2).message;
+    var { types, inspect } = require("node:util");
+    var { markAsUncloneable } = require("node:worker_threads");
+    var { toUSVString } = require_util9();
+    var webidl = {};
+    webidl.converters = {};
+    webidl.util = {};
+    webidl.errors = {};
+    webidl.errors.exception = function(message) {
+      return new TypeError(`${message.header}: ${message.message}`);
     };
-    module2.exports = {
-      DOMException: DOMException2,
-      structuredClone,
-      subresource,
-      forbiddenMethods,
-      requestBodyHeader,
-      referrerPolicy,
-      requestRedirect,
-      requestMode,
-      requestCredentials,
-      requestCache,
-      redirectStatus,
-      corsSafeListedMethods,
-      nullBodyStatus,
-      safeMethods,
-      badPorts,
-      requestDuplex,
-      subresourceSet,
-      badPortsSet,
-      redirectStatusSet,
-      corsSafeListedMethodsSet,
-      safeMethodsSet,
-      forbiddenMethodsSet,
-      referrerPolicySet
+    webidl.errors.conversionFailed = function(context2) {
+      const plural = context2.types.length === 1 ? "" : " one of";
+      const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`;
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message
+      });
     };
-  }
-});
-
-// node_modules/undici/lib/fetch/global.js
-var require_global3 = __commonJS({
-  "node_modules/undici/lib/fetch/global.js"(exports2, module2) {
-    "use strict";
-    var globalOrigin = /* @__PURE__ */ 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;
+    webidl.errors.invalidArgument = function(context2) {
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message: `"${context2.value}" is an invalid ${context2.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;
+        }
       }
-      const parsedURL = new URL(newOrigin);
-      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
-        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
+    };
+    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
+        });
       }
-      Object.defineProperty(globalThis, globalOrigin, {
-        value: parsedURL,
-        writable: true,
-        enumerable: false,
-        configurable: false
+    };
+    webidl.illegalConstructor = function() {
+      throw webidl.errors.exception({
+        header: "TypeError",
+        message: "Illegal constructor"
       });
-    }
-    module2.exports = {
-      getGlobalOrigin,
-      setGlobalOrigin
     };
-  }
-});
-
-// node_modules/undici/lib/fetch/util.js
-var require_util10 = __commonJS({
-  "node_modules/undici/lib/fetch/util.js"(exports2, module2) {
-    "use strict";
-    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants7();
-    var { getGlobalOrigin } = require_global3();
-    var { performance: performance2 } = require("perf_hooks");
-    var { isBlobLike, toUSVString, ReadableStreamFrom } = require_util9();
-    var assert = require("assert");
-    var { isUint8Array } = require("util/types");
-    var supportedHashes = [];
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
-      supportedHashes = crypto2.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");
-      if (location !== null && isValidHeaderValue(location)) {
-        location = new URL(location, responseURL(response));
+    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";
+        }
       }
-      if (location && !location.hash) {
-        location.hash = requestFragment;
+    };
+    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;
       }
-      return location;
-    }
-    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";
+      let x = Number(V);
+      if (x === 0) {
+        x = 0;
       }
-      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;
+      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;
       }
-      return true;
-    }
-    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;
+      if (!Number.isNaN(x) && opts?.clamp === true) {
+        x = Math.min(Math.max(x, lowerBound), upperBound);
+        if (Math.floor(x) % 2 === 0) {
+          x = Math.floor(x);
+        } else {
+          x = Math.ceil(x);
+        }
+        return x;
       }
-    }
-    function isValidHTTPToken(characters) {
-      if (characters.length === 0) {
-        return false;
+      if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
+        return 0;
       }
-      for (let i = 0; i < characters.length; ++i) {
-        if (!isTokenCharCode(characters.charCodeAt(i))) {
-          return false;
-        }
+      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 true;
-    }
-    function isValidHeaderName(potentialValue) {
-      return isValidHTTPToken(potentialValue);
-    }
-    function isValidHeaderValue(potentialValue) {
-      if (potentialValue.startsWith("	") || potentialValue.startsWith(" ") || potentialValue.endsWith("	") || potentialValue.endsWith(" ")) {
-        return false;
+      return x;
+    };
+    webidl.util.IntegerPart = function(n) {
+      const r = Math.floor(Math.abs(n));
+      if (n < 0) {
+        return -1 * r;
       }
-      if (potentialValue.includes("\0") || potentialValue.includes("\r") || potentialValue.includes("\n")) {
-        return false;
+      return r;
+    };
+    webidl.util.Stringify = function(V) {
+      const type2 = webidl.util.Type(V);
+      switch (type2) {
+        case "Symbol":
+          return `Symbol(${V.description})`;
+        case "Object":
+          return inspect(V);
+        case "String":
+          return `"${V}"`;
+        default:
+          return `${V}`;
       }
-      return true;
-    }
-    function setRequestReferrerPolicyOnRedirect(request2, actualResponse) {
-      const { headersList } = actualResponse;
-      const policyHeader = (headersList.get("referrer-policy") ?? "").split(",");
-      let policy = "";
-      if (policyHeader.length > 0) {
-        for (let i = policyHeader.length; i !== 0; i--) {
-          const token = policyHeader[i - 1].trim();
-          if (referrerPolicyTokens.has(token)) {
-            policy = token;
+    };
+    webidl.sequenceConverter = function(converter) {
+      return (V, prefix, argument, Iterable) => {
+        if (webidl.util.Type(V) !== "Object") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `${argument} (${webidl.util.Stringify(V)}) is not iterable.`
+          });
+        }
+        const method = typeof Iterable === "function" ? Iterable() : V?.[Symbol.iterator]?.();
+        const seq2 = [];
+        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;
           }
+          seq2.push(converter(value, prefix, `${argument}[${index++}]`));
         }
-      }
-      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);
-    }
-    function appendRequestOriginHeader(request2) {
-      let serializedOrigin = request2.origin;
-      if (request2.responseTainting === "cors" || request2.mode === "websocket") {
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
+        return seq2;
+      };
+    };
+    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.`
+          });
         }
-      } else if (request2.method !== "GET" && request2.method !== "HEAD") {
-        switch (request2.referrerPolicy) {
-          case "no-referrer":
-            serializedOrigin = null;
-            break;
-          case "no-referrer-when-downgrade":
-          case "strict-origin":
-          case "strict-origin-when-cross-origin":
-            if (request2.origin && urlHasHttpsScheme(request2.origin) && !urlHasHttpsScheme(requestCurrentURL(request2))) {
-              serializedOrigin = null;
-            }
-            break;
-          case "same-origin":
-            if (!sameOrigin(request2, requestCurrentURL(request2))) {
-              serializedOrigin = null;
-            }
-            break;
-          default:
+        const 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;
         }
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
+        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;
+          }
         }
-      }
-    }
-    function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
-      return performance2.now();
-    }
-    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
+        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 type2 = webidl.util.Type(dictionary);
+        const dict = {};
+        if (type2 === "Null" || type2 === "Undefined") {
+          return dict;
+        } else if (type2 !== "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);
+    };
+    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/@actions/github/node_modules/undici/lib/web/fetch/util.js
+var require_util10 = __commonJS({
+  "node_modules/@actions/github/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_constants8();
+    var { getGlobalOrigin } = require_global3();
+    var { collectASequenceOfCodePoints, collectAnHTTPQuotedString, removeChars, parseMIMEType } = require_data_url2();
+    var { performance: performance2 } = require("node:perf_hooks");
+    var { isBlobLike, ReadableStreamFrom, isValidHTTPToken, normalizedMethodRecordsBase } = require_util9();
+    var assert = require("node:assert");
+    var { isUint8Array } = require("node:util/types");
+    var { webidl } = require_webidl2();
+    var supportedHashes = [];
+    var crypto2;
+    try {
+      crypto2 = require("node:crypto");
+      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
+      supportedHashes = crypto2.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 token = policyHeader[i - 1].trim();
+          if (referrerPolicyTokens.has(token)) {
+            policy = token;
+            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(timestamp2, crossOriginIsolatedCapability) {
+      return timestamp2;
+    }
+    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) {
@@ -24897,6 +25501,7 @@ var require_util10 = __commonJS({
     }
     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";
       }
@@ -25052,23 +25657,8 @@ var require_util10 = __commonJS({
     function isCancelled(fetchParams) {
       return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";
     }
-    var normalizeMethodRecord = {
-      delete: "DELETE",
-      DELETE: "DELETE",
-      get: "GET",
-      GET: "GET",
-      head: "HEAD",
-      HEAD: "HEAD",
-      options: "OPTIONS",
-      OPTIONS: "OPTIONS",
-      post: "POST",
-      POST: "POST",
-      put: "PUT",
-      PUT: "PUT"
-    };
-    Object.setPrototypeOf(normalizeMethodRecord, null);
     function normalizeMethod(method) {
-      return normalizeMethodRecord[method.toLowerCase()] ?? method;
+      return normalizedMethodRecordsBase[method.toLowerCase()] ?? method;
     }
     function serializeJavascriptValueToJSONString(value) {
       const result = JSON.stringify(value);
@@ -25079,98 +25669,164 @@ var require_util10 = __commonJS({
       return result;
     }
     var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
-    function makeIterator(iterator2, name, kind) {
-      const object = {
-        index: 0,
-        kind,
-        target: iterator2
-      };
-      const i = {
+    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 (Object.getPrototypeOf(this) !== i) {
+          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, kind: kind2, target } = object;
-          const values = target();
+          const index = this.#index;
+          const values = this.#target[kInternalIterator];
           const len = values.length;
           if (index >= len) {
-            return { value: void 0, done: true };
+            return {
+              value: void 0,
+              done: true
+            };
           }
-          const pair = values[index];
-          object.index = index + 1;
-          return iteratorResult(pair, kind2);
-        },
-        // The class string of an iterator prototype object for a given interface is the
-        // result of concatenating the identifier of the interface and the string " Iterator".
-        [Symbol.toStringTag]: `${name} Iterator`
-      };
-      Object.setPrototypeOf(i, esIteratorPrototype);
-      return Object.setPrototypeOf({}, i);
-    }
-    function iteratorResult(pair, kind) {
-      let result;
-      switch (kind) {
-        case "key": {
-          result = pair[0];
-          break;
-        }
-        case "value": {
-          result = pair[1];
-          break;
-        }
-        case "key+value": {
-          result = pair;
-          break;
+          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
+          };
         }
       }
-      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);
+      };
     }
-    async function fullyReadBody(body, processBody, processBodyError) {
-      const successSteps = processBody;
-      const errorSteps = processBodyError;
-      let reader;
-      try {
-        reader = body.stream.getReader();
+    function iteratorMixin(name, object, kInternalIterator, keyIndex = 0, valueIndex = 1) {
+      const makeIterator = createIterator(name, kInternalIterator, keyIndex, valueIndex);
+      const properties = {
+        keys: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function keys() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "key");
+          }
+        },
+        values: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function values() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "value");
+          }
+        },
+        entries: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function entries() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "key+value");
+          }
+        },
+        forEach: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function forEach(callbackfn, thisArg = globalThis) {
+            webidl.brandCheck(this, object);
+            webidl.argumentLengthCheck(arguments, 1, `${name}.forEach`);
+            if (typeof callbackfn !== "function") {
+              throw new TypeError(
+                `Failed to execute 'forEach' on '${name}': parameter 1 is not of type 'Function'.`
+              );
+            }
+            for (const { 0: key, 1: value } of makeIterator(this, "key+value")) {
+              callbackfn.call(thisArg, value, key, this);
+            }
+          }
+        }
+      };
+      return Object.defineProperties(object.prototype, {
+        ...properties,
+        [Symbol.iterator]: {
+          writable: true,
+          enumerable: false,
+          configurable: true,
+          value: properties.entries.value
+        }
+      });
+    }
+    async function fullyReadBody(body, processBody, processBodyError) {
+      const successSteps = processBody;
+      const errorSteps = processBodyError;
+      let reader;
+      try {
+        reader = body.stream.getReader();
       } catch (e) {
         errorSteps(e);
         return;
       }
       try {
-        const result = await readAllBytes(reader);
-        successSteps(result);
+        successSteps(await readAllBytes(reader));
       } catch (e) {
         errorSteps(e);
       }
     }
-    var ReadableStream2 = globalThis.ReadableStream;
     function isReadableStreamLike(stream) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      return stream instanceof ReadableStream2 || stream[Symbol.toStringTag] === "ReadableStream" && typeof stream.tee === "function";
-    }
-    var MAXIMUM_ARGUMENT_LENGTH = 65535;
-    function isomorphicDecode(input) {
-      if (input.length < MAXIMUM_ARGUMENT_LENGTH) {
-        return String.fromCharCode(...input);
-      }
-      return input.reduce((previous, current) => previous + String.fromCharCode(current), "");
+      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")) {
+        if (!err.message.includes("Controller is already closed") && !err.message.includes("ReadableStream is already closed")) {
           throw err;
         }
       }
     }
+    var invalidIsomorphicEncodeValueRegex = /[^\x00-\xFF]/;
     function isomorphicEncode(input) {
-      for (let i = 0; i < input.length; i++) {
-        assert(input.charCodeAt(i) <= 255);
-      }
+      assert(!invalidIsomorphicEncodeValueRegex.test(input));
       return input;
     }
     async function readAllBytes(reader) {
@@ -25194,24 +25850,223 @@ var require_util10 = __commonJS({
       return protocol === "about:" || protocol === "blob:" || protocol === "data:";
     }
     function urlHasHttpsScheme(url) {
-      if (typeof url === "string") {
-        return url.startsWith("https:");
-      }
-      return url.protocol === "https:";
+      return typeof url === "string" && url[5] === ":" && url[0] === "h" && url[1] === "t" && url[2] === "t" && url[3] === "p" && url[4] === "s" || url.protocol === "https:";
     }
     function urlIsHttpHttpsScheme(url) {
       assert("protocol" in url);
       const protocol = url.protocol;
       return protocol === "http:" || protocol === "https:";
     }
-    var hasOwn = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key));
+    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,
-      toUSVString,
       tryUpgradeRequestToAPotentiallyTrustworthyURL,
+      clampAndCoarsenConnectionTimingInfo,
       coarsenedSharedCurrentTime,
       determineRequestsReferrer,
       makePolicyContainer,
@@ -25234,2475 +26089,2391 @@ var require_util10 = __commonJS({
       sameOrigin,
       normalizeMethod,
       serializeJavascriptValueToJSONString,
-      makeIterator,
+      iteratorMixin,
+      createIterator,
       isValidHeaderName,
       isValidHeaderValue,
-      hasOwn,
       isErrorLike,
       fullyReadBody,
       bytesMatch,
       isReadableStreamLike,
       readableStreamClose,
       isomorphicEncode,
-      isomorphicDecode,
       urlIsLocal,
       urlHasHttpsScheme,
       urlIsHttpHttpsScheme,
       readAllBytes,
-      normalizeMethodRecord,
-      parseMetadata
+      simpleRangeHeaderValue,
+      buildContentRange,
+      parseMetadata,
+      createInflate,
+      extractMimeType,
+      getDecodeSplit,
+      utf8DecodeBytes,
+      environmentSettingsObject
     };
   }
 });
 
-// node_modules/undici/lib/fetch/symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js
 var require_symbols7 = __commonJS({
-  "node_modules/undici/lib/fetch/symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js"(exports2, module2) {
     "use strict";
     module2.exports = {
       kUrl: /* @__PURE__ */ Symbol("url"),
       kHeaders: /* @__PURE__ */ Symbol("headers"),
       kSignal: /* @__PURE__ */ Symbol("signal"),
       kState: /* @__PURE__ */ Symbol("state"),
-      kGuard: /* @__PURE__ */ Symbol("guard"),
-      kRealm: /* @__PURE__ */ Symbol("realm")
+      kDispatcher: /* @__PURE__ */ Symbol("dispatcher")
     };
   }
 });
 
-// node_modules/undici/lib/fetch/webidl.js
-var require_webidl2 = __commonJS({
-  "node_modules/undici/lib/fetch/webidl.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js
+var require_file2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js"(exports2, module2) {
     "use strict";
-    var { types } = require("util");
-    var { hasOwn, toUSVString } = require_util10();
-    var webidl = {};
-    webidl.converters = {};
-    webidl.util = {};
-    webidl.errors = {};
-    webidl.errors.exception = function(message) {
-      return new TypeError(`${message.header}: ${message.message}`);
-    };
-    webidl.errors.conversionFailed = function(context2) {
-      const plural = context2.types.length === 1 ? "" : " one of";
-      const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`;
-      return webidl.errors.exception({
-        header: context2.prefix,
-        message
-      });
-    };
-    webidl.errors.invalidArgument = function(context2) {
-      return webidl.errors.exception({
-        header: context2.prefix,
-        message: `"${context2.value}" is an invalid ${context2.type}.`
-      });
-    };
-    webidl.brandCheck = function(V, I, opts = void 0) {
-      if (opts?.strict !== false && !(V instanceof I)) {
-        throw new TypeError("Illegal invocation");
-      } else {
-        return V?.[Symbol.toStringTag] === I.prototype[Symbol.toStringTag];
+    var { Blob: Blob2, File: File2 } = require("node:buffer");
+    var { kState } = require_symbols7();
+    var { webidl } = require_webidl2();
+    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
+        };
       }
-    };
-    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.`,
-          ...ctx
-        });
+      stream(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.stream(...args);
       }
-    };
-    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";
-        }
+      arrayBuffer(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.arrayBuffer(...args);
       }
-    };
-    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;
+      slice(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.slice(...args);
       }
-      let x = Number(V);
-      if (x === 0) {
-        x = 0;
+      text(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.text(...args);
       }
-      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 ${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 size() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.size;
       }
-      if (!Number.isNaN(x) && opts.clamp === true) {
-        x = Math.min(Math.max(x, lowerBound), upperBound);
-        if (Math.floor(x) % 2 === 0) {
-          x = Math.floor(x);
-        } else {
-          x = Math.ceil(x);
-        }
-        return x;
+      get type() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.type;
       }
-      if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
-        return 0;
+      get name() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].name;
       }
-      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);
+      get lastModified() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].lastModified;
       }
-      return x;
-    };
-    webidl.util.IntegerPart = function(n) {
-      const r = Math.floor(Math.abs(n));
-      if (n < 0) {
-        return -1 * r;
+      get [Symbol.toStringTag]() {
+        return "File";
       }
-      return r;
     };
-    webidl.sequenceConverter = function(converter) {
-      return (V) => {
-        if (webidl.util.Type(V) !== "Object") {
-          throw webidl.errors.exception({
-            header: "Sequence",
-            message: `Value of type ${webidl.util.Type(V)} is not an Object.`
+    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
+    function isFileLike(object) {
+      return object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
+    }
+    module2.exports = { FileLike, isFileLike };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js
+var require_formdata2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js"(exports2, module2) {
+    "use strict";
+    var { isBlobLike, iteratorMixin } = require_util10();
+    var { kState } = require_symbols7();
+    var { kEnumerableProperty } = require_util9();
+    var { FileLike, isFileLike } = require_file2();
+    var { webidl } = require_webidl2();
+    var { File: NativeFile } = require("node:buffer");
+    var nodeUtil = require("node:util");
+    var File2 = globalThis.File ?? NativeFile;
+    var FormData2 = class _FormData {
+      constructor(form) {
+        webidl.util.markAsUncloneable(this);
+        if (form !== void 0) {
+          throw webidl.errors.conversionFailed({
+            prefix: "FormData constructor",
+            argument: "Argument 1",
+            types: ["undefined"]
           });
         }
-        const method = V?.[Symbol.iterator]?.();
-        const seq2 = [];
-        if (method === void 0 || typeof method.next !== "function") {
-          throw webidl.errors.exception({
-            header: "Sequence",
-            message: "Object is not an iterator."
-          });
-        }
-        while (true) {
-          const { done, value } = method.next();
-          if (done) {
-            break;
-          }
-          seq2.push(converter(value));
-        }
-        return seq2;
-      };
-    };
-    webidl.recordConverter = function(keyConverter, valueConverter) {
-      return (O) => {
-        if (webidl.util.Type(O) !== "Object") {
-          throw webidl.errors.exception({
-            header: "Record",
-            message: `Value of type ${webidl.util.Type(O)} is not an Object.`
-          });
-        }
-        const result = {};
-        if (!types.isProxy(O)) {
-          const keys2 = Object.keys(O);
-          for (const key of keys2) {
-            const typedKey = keyConverter(key);
-            const typedValue = valueConverter(O[key]);
-            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);
-            const typedValue = valueConverter(O[key]);
-            result[typedKey] = typedValue;
-          }
-        }
-        return result;
-      };
-    };
-    webidl.interfaceConverter = function(i) {
-      return (V, opts = {}) => {
-        if (opts.strict !== false && !(V instanceof i)) {
-          throw webidl.errors.exception({
-            header: i.name,
-            message: `Expected ${V} to be an instance of ${i.name}.`
-          });
-        }
-        return V;
-      };
-    };
-    webidl.dictionaryConverter = function(converters) {
-      return (dictionary) => {
-        const type2 = webidl.util.Type(dictionary);
-        const dict = {};
-        if (type2 === "Null" || type2 === "Undefined") {
-          return dict;
-        } else if (type2 !== "Object") {
-          throw webidl.errors.exception({
-            header: "Dictionary",
-            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 (!hasOwn(dictionary, key)) {
-              throw webidl.errors.exception({
-                header: "Dictionary",
-                message: `Missing required key "${key}".`
-              });
-            }
-          }
-          let value = dictionary[key];
-          const hasDefault = hasOwn(options, "defaultValue");
-          if (hasDefault && value !== null) {
-            value = value ?? defaultValue;
-          }
-          if (required || hasDefault || value !== void 0) {
-            value = converter(value);
-            if (options.allowedValues && !options.allowedValues.includes(value)) {
-              throw webidl.errors.exception({
-                header: "Dictionary",
-                message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
-              });
-            }
-            dict[key] = value;
-          }
-        }
-        return dict;
-      };
-    };
-    webidl.nullableConverter = function(converter) {
-      return (V) => {
-        if (V === null) {
-          return V;
-        }
-        return converter(V);
-      };
-    };
-    webidl.converters.DOMString = function(V, opts = {}) {
-      if (V === null && opts.legacyNullToEmptyString) {
-        return "";
-      }
-      if (typeof V === "symbol") {
-        throw new TypeError("Could not convert argument of type symbol to string.");
+        this[kState] = [];
       }
-      return String(V);
-    };
-    webidl.converters.ByteString = function(V) {
-      const x = webidl.converters.DOMString(V);
-      for (let index = 0; index < x.length; index++) {
-        if (x.charCodeAt(index) > 255) {
+      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(
-            `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${x.charCodeAt(index)} which is greater than 255.`
+            "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);
       }
-      return x;
-    };
-    webidl.converters.USVString = toUSVString;
-    webidl.converters.boolean = function(V) {
-      const x = Boolean(V);
-      return x;
-    };
-    webidl.converters.any = function(V) {
-      return V;
-    };
-    webidl.converters["long long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 64, "signed");
-      return x;
-    };
-    webidl.converters["unsigned long long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 64, "unsigned");
-      return x;
-    };
-    webidl.converters["unsigned long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 32, "unsigned");
-      return x;
-    };
-    webidl.converters["unsigned short"] = function(V, opts) {
-      const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts);
-      return x;
-    };
-    webidl.converters.ArrayBuffer = function(V, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {
-        throw webidl.errors.conversionFailed({
-          prefix: `${V}`,
-          argument: `${V}`,
-          types: ["ArrayBuffer"]
-        });
+      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);
       }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
+      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;
       }
-      return V;
-    };
-    webidl.converters.TypedArray = function(V, T, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {
-        throw webidl.errors.conversionFailed({
-          prefix: `${T.name}`,
-          argument: `${V}`,
-          types: [T.name]
-        });
+      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);
       }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
+      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;
       }
-      return V;
-    };
-    webidl.converters.DataView = function(V, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {
-        throw webidl.errors.exception({
-          header: "DataView",
-          message: "Object is not a DataView."
-        });
+      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);
+        }
       }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
+      [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)}`;
       }
-      return V;
     };
-    webidl.converters.BufferSource = function(V, opts = {}) {
-      if (types.isAnyArrayBuffer(V)) {
-        return webidl.converters.ArrayBuffer(V, opts);
-      }
-      if (types.isTypedArray(V)) {
-        return webidl.converters.TypedArray(V, V.constructor);
+    iteratorMixin("FormData", FormData2, kState, "name", "value");
+    Object.defineProperties(FormData2.prototype, {
+      append: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      get: kEnumerableProperty,
+      getAll: kEnumerableProperty,
+      has: kEnumerableProperty,
+      set: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "FormData",
+        configurable: true
       }
-      if (types.isDataView(V)) {
-        return webidl.converters.DataView(V, opts);
+    });
+    function makeEntry(name, value, filename) {
+      if (typeof value === "string") {
+      } else {
+        if (!isFileLike(value)) {
+          value = value instanceof Blob ? new File2([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 File2([value], filename, options) : new FileLike(value, filename, options);
+        }
       }
-      throw new TypeError(`Could not convert ${V} to a BufferSource.`);
-    };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.ByteString
-    );
-    webidl.converters["sequence>"] = webidl.sequenceConverter(
-      webidl.converters["sequence"]
-    );
-    webidl.converters["record"] = webidl.recordConverter(
-      webidl.converters.ByteString,
-      webidl.converters.ByteString
-    );
-    module2.exports = {
-      webidl
-    };
+      return { name, value };
+    }
+    module2.exports = { FormData: FormData2, makeEntry };
   }
 });
 
-// node_modules/undici/lib/fetch/dataURL.js
-var require_dataURL = __commonJS({
-  "node_modules/undici/lib/fetch/dataURL.js"(exports2, module2) {
-    var assert = require("assert");
-    var { atob: atob2 } = require("buffer");
-    var { isomorphicDecode } = require_util10();
-    var encoder = new TextEncoder();
-    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/;
-    var HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/;
-    var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/;
-    function dataURLProcessor(dataURL) {
-      assert(dataURL.protocol === "data:");
-      let input = URLSerializer(dataURL, true);
-      input = input.slice(5);
-      const position = { position: 0 };
-      let mimeType = collectASequenceOfCodePointsFast(
-        ",",
-        input,
-        position
-      );
-      const mimeTypeLength = mimeType.length;
-      mimeType = removeASCIIWhitespace(mimeType, true, true);
-      if (position.position >= input.length) {
-        return "failure";
-      }
-      position.position++;
-      const encodedBody = input.slice(mimeTypeLength + 1);
-      let body = stringPercentDecode(encodedBody);
-      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
-        const stringBody = isomorphicDecode(body);
-        body = forgivingBase64(stringBody);
-        if (body === "failure") {
-          return "failure";
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js
+var require_formdata_parser2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js"(exports2, module2) {
+    "use strict";
+    var { isUSVString, bufferToLowerCasedHeaderName } = require_util9();
+    var { utf8DecodeBytes } = require_util10();
+    var { HTTP_TOKEN_CODEPOINTS, isomorphicDecode } = require_data_url2();
+    var { isFileLike } = require_file2();
+    var { makeEntry } = require_formdata2();
+    var assert = require("node:assert");
+    var { File: NodeFile } = require("node:buffer");
+    var File2 = 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;
         }
-        mimeType = mimeType.slice(0, -6);
-        mimeType = mimeType.replace(/(\u0020)+$/, "");
-        mimeType = mimeType.slice(0, -1);
-      }
-      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 };
-    }
-    function URLSerializer(url, excludeFragment = false) {
-      if (!excludeFragment) {
-        return url.href;
-      }
-      const href = url.href;
-      const hashLength = url.hash.length;
-      return hashLength === 0 ? href : href.substring(0, href.length - hashLength);
-    }
-    function collectASequenceOfCodePoints(condition, input, position) {
-      let result = "";
-      while (position.position < input.length && condition(input[position.position])) {
-        result += input[position.position];
-        position.position++;
       }
-      return result;
+      return true;
     }
-    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);
+    function validateBoundary(boundary) {
+      const length = boundary.length;
+      if (length < 27 || length > 70) {
+        return false;
       }
-      position.position = idx;
-      return input.slice(start, position.position);
-    }
-    function stringPercentDecode(input) {
-      const bytes = encoder.encode(input);
-      return percentDecode(bytes);
-    }
-    function percentDecode(input) {
-      const output = [];
-      for (let i = 0; i < input.length; i++) {
-        const byte = input[i];
-        if (byte !== 37) {
-          output.push(byte);
-        } else if (byte === 37 && !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i + 1], input[i + 2]))) {
-          output.push(37);
-        } else {
-          const nextTwoBytes = String.fromCharCode(input[i + 1], input[i + 2]);
-          const bytePoint = Number.parseInt(nextTwoBytes, 16);
-          output.push(bytePoint);
-          i += 2;
+      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 Uint8Array.from(output);
+      return true;
     }
-    function parseMIMEType(input) {
-      input = removeHTTPWhitespace(input, true, true);
-      const position = { position: 0 };
-      const type2 = collectASequenceOfCodePointsFast(
-        "/",
-        input,
-        position
-      );
-      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
+    function multipartFormDataParser(input, mimeType) {
+      assert(mimeType !== "failure" && mimeType.essence === "multipart/form-data");
+      const boundaryString = mimeType.parameters.get("boundary");
+      if (boundaryString === void 0) {
         return "failure";
       }
-      if (position.position > input.length) {
-        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;
       }
-      position.position++;
-      let subtype = collectASequenceOfCodePointsFast(
-        ";",
-        input,
-        position
-      );
-      subtype = removeHTTPWhitespace(subtype, false, true);
-      if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {
-        return "failure";
+      let trailing = input.length;
+      while (input[trailing - 1] === 10 && input[trailing - 2] === 13) {
+        trailing -= 2;
       }
-      const typeLowercase = type2.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 (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) {
-          break;
+        if (position.position === input.length - 2 && bufferStartsWith(input, dd, position) || position.position === input.length - 4 && bufferStartsWith(input, ddcrlf, position)) {
+          return entryList;
         }
-        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 (input[position.position] !== 13 || input[position.position + 1] !== 10) {
+          return "failure";
+        }
+        position.position += 2;
+        const result = parseMultipartFormDataHeaders(input, position);
+        if (result === "failure") {
+          return "failure";
+        }
+        let { name, filename, contentType, encoding } = result;
+        position.position += 2;
+        let body;
+        {
+          const boundaryIndex = input.indexOf(boundary.subarray(2), position.position);
+          if (boundaryIndex === -1) {
+            return "failure";
+          }
+          body = input.subarray(position.position, boundaryIndex - 4);
+          position.position += body.length;
+          if (encoding === "base64") {
+            body = Buffer.from(body.toString(), "base64");
           }
         }
-        if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {
-          mimeType.parameters.set(parameterName, parameterValue);
+        if (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 File2([body], filename, { type: contentType });
+        } else {
+          value = utf8DecodeBytes(Buffer.from(body));
+        }
+        assert(isUSVString(name));
+        assert(typeof value === "string" && isUSVString(value) || isFileLike(value));
+        entryList.push(makeEntry(name, value, filename));
       }
-      return mimeType;
-    }
-    function forgivingBase64(data) {
-      data = data.replace(/[\u0009\u000A\u000C\u000D\u0020]/g, "");
-      if (data.length % 4 === 0) {
-        data = data.replace(/=?=$/, "");
-      }
-      if (data.length % 4 === 1) {
-        return "failure";
-      }
-      if (/[^+/0-9A-Za-z]/.test(data)) {
-        return "failure";
-      }
-      const binary2 = atob2(data);
-      const bytes = new Uint8Array(binary2.length);
-      for (let byte = 0; byte < binary2.length; byte++) {
-        bytes[byte] = binary2.charCodeAt(byte);
-      }
-      return bytes;
     }
-    function collectAnHTTPQuotedString(input, position, extractValue) {
-      const positionStart = position.position;
-      let value = "";
-      assert(input[position.position] === '"');
-      position.position++;
+    function parseMultipartFormDataHeaders(input, position) {
+      let name = null;
+      let filename = null;
+      let contentType = null;
+      let encoding = null;
       while (true) {
-        value += collectASequenceOfCodePoints(
-          (char) => char !== '"' && char !== "\\",
+        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
         );
-        if (position.position >= input.length) {
-          break;
+        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";
         }
-        const quoteOrBackslash = input[position.position];
         position.position++;
-        if (quoteOrBackslash === "\\") {
-          if (position.position >= input.length) {
-            value += "\\";
+        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;
           }
-          value += input[position.position];
-          position.position++;
+          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 {
-          assert(quoteOrBackslash === '"');
-          break;
+          position.position += 2;
         }
       }
-      if (extractValue) {
-        return value;
-      }
-      return input.slice(positionStart, position.position);
     }
-    function serializeAMimeType(mimeType) {
-      assert(mimeType !== "failure");
-      const { parameters, essence } = mimeType;
-      let serialization = essence;
-      for (let [name, value] of parameters.entries()) {
-        serialization += ";";
-        serialization += name;
-        serialization += "=";
-        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
-          value = value.replace(/(\\|")/g, "\\$1");
-          value = '"' + value;
-          value += '"';
-        }
-        serialization += value;
+    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++;
       }
-      return serialization;
+      name = new TextDecoder().decode(name).replace(/%0A/ig, "\n").replace(/%0D/ig, "\r").replace(/%22/g, '"');
+      return name;
     }
-    function isHTTPWhiteSpace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === " ";
+    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 removeHTTPWhitespace(str2, leading = true, trailing = true) {
+    function removeChars(buf, leading, trailing, predicate) {
       let lead = 0;
-      let trail = str2.length - 1;
+      let trail = buf.length - 1;
       if (leading) {
-        for (; lead < str2.length && isHTTPWhiteSpace(str2[lead]); lead++) ;
+        while (lead < buf.length && predicate(buf[lead])) lead++;
       }
       if (trailing) {
-        for (; trail > 0 && isHTTPWhiteSpace(str2[trail]); trail--) ;
+        while (trail > 0 && predicate(buf[trail])) trail--;
       }
-      return str2.slice(lead, trail + 1);
-    }
-    function isASCIIWhitespace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === "\f" || char === " ";
+      return lead === 0 && trail === buf.length - 1 ? buf : buf.subarray(lead, trail + 1);
     }
-    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
-      let lead = 0;
-      let trail = str2.length - 1;
-      if (leading) {
-        for (; lead < str2.length && isASCIIWhitespace(str2[lead]); lead++) ;
+    function bufferStartsWith(buffer, start, position) {
+      if (buffer.length < start.length) {
+        return false;
       }
-      if (trailing) {
-        for (; trail > 0 && isASCIIWhitespace(str2[trail]); trail--) ;
+      for (let i = 0; i < start.length; i++) {
+        if (start[i] !== buffer[position.position + i]) {
+          return false;
+        }
       }
-      return str2.slice(lead, trail + 1);
+      return true;
     }
     module2.exports = {
-      dataURLProcessor,
-      URLSerializer,
-      collectASequenceOfCodePoints,
-      collectASequenceOfCodePointsFast,
-      stringPercentDecode,
-      parseMIMEType,
-      collectAnHTTPQuotedString,
-      serializeAMimeType
+      multipartFormDataParser,
+      validateBoundary
     };
   }
 });
 
-// node_modules/undici/lib/fetch/file.js
-var require_file2 = __commonJS({
-  "node_modules/undici/lib/fetch/file.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js
+var require_body2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js"(exports2, module2) {
     "use strict";
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { types } = require("util");
+    var util = require_util9();
+    var {
+      ReadableStreamFrom,
+      isBlobLike,
+      isReadableStreamLike,
+      readableStreamClose,
+      createDeferredPromise,
+      fullyReadBody,
+      extractMimeType,
+      utf8DecodeBytes
+    } = require_util10();
+    var { FormData: FormData2 } = require_formdata2();
     var { kState } = require_symbols7();
-    var { isBlobLike } = require_util10();
     var { webidl } = require_webidl2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var { kEnumerableProperty } = require_util9();
-    var encoder = new TextEncoder();
-    var File2 = class _File extends Blob2 {
-      constructor(fileBits, fileName, options = {}) {
-        webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" });
-        fileBits = webidl.converters["sequence"](fileBits);
-        fileName = webidl.converters.USVString(fileName);
-        options = webidl.converters.FilePropertyBag(options);
-        const n = fileName;
-        let t = options.type;
-        let d;
-        substep: {
-          if (t) {
-            t = parseMIMEType(t);
-            if (t === "failure") {
-              t = "";
-              break substep;
+    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_url2();
+    var { multipartFormDataParser } = require_formdata_parser2();
+    var random;
+    try {
+      const crypto2 = require("node:crypto");
+      random = (max) => crypto2.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 type2 = null;
+      if (typeof object === "string") {
+        source = object;
+        type2 = "text/plain;charset=UTF-8";
+      } else if (object instanceof URLSearchParams) {
+        source = object.toString();
+        type2 = "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 = (str2) => str2.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;
             }
-            t = serializeAMimeType(t).toLowerCase();
           }
-          d = options.lastModified;
         }
-        super(processBlobParts(fileBits, options), { type: t });
-        this[kState] = {
-          name: n,
-          lastModified: d,
-          type: t
-        };
-      }
-      get name() {
-        webidl.brandCheck(this, _File);
-        return this[kState].name;
-      }
-      get lastModified() {
-        webidl.brandCheck(this, _File);
-        return this[kState].lastModified;
-      }
-      get type() {
-        webidl.brandCheck(this, _File);
-        return this[kState].type;
-      }
-    };
-    var FileLike = class _FileLike {
-      constructor(blobLike, fileName, options = {}) {
-        const n = fileName;
-        const t = options.type;
-        const d = options.lastModified ?? Date.now();
-        this[kState] = {
-          blobLike,
-          name: n,
-          type: t,
-          lastModified: d
+        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;
+            }
+          }
         };
+        type2 = `multipart/form-data; boundary=${boundary}`;
+      } else if (isBlobLike(object)) {
+        source = object;
+        length = object.size;
+        if (object.type) {
+          type2 = 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);
       }
-      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;
+      if (typeof source === "string" || util.isBuffer(source)) {
+        length = Buffer.byteLength(source);
       }
-      get name() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].name;
+      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"
+        });
       }
-      get lastModified() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].lastModified;
+      const body = { stream, source, length };
+      return [body, type2];
+    }
+    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.");
       }
-      get [Symbol.toStringTag]() {
-        return "File";
+      return extractBody(object, keepalive);
+    }
+    function cloneBody(instance, body) {
+      const [out1, out2] = body.stream.tee();
+      body.stream = out1;
+      return {
+        stream: out2,
+        length: body.length,
+        source: body.source
+      };
+    }
+    function throwIfAborted(state) {
+      if (state.aborted) {
+        throw new DOMException("The operation was aborted.", "AbortError");
       }
-    };
-    Object.defineProperties(File2.prototype, {
-      [Symbol.toStringTag]: {
-        value: "File",
-        configurable: true
-      },
-      name: kEnumerableProperty,
-      lastModified: kEnumerableProperty
-    });
-    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
-    webidl.converters.BlobPart = function(V, opts) {
-      if (webidl.util.Type(V) === "Object") {
-        if (isBlobLike(V)) {
-          return webidl.converters.Blob(V, { strict: false });
-        }
-        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
-          return webidl.converters.BufferSource(V, opts);
-        }
-      }
-      return webidl.converters.USVString(V, opts);
-    };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.BlobPart
-    );
-    webidl.converters.FilePropertyBag = webidl.dictionaryConverter([
-      {
-        key: "lastModified",
-        converter: webidl.converters["long long"],
-        get defaultValue() {
-          return Date.now();
-        }
-      },
-      {
-        key: "type",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "endings",
-        converter: (value) => {
-          value = webidl.converters.DOMString(value);
-          value = value.toLowerCase();
-          if (value !== "native") {
-            value = "transparent";
-          }
-          return value;
+    }
+    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);
         },
-        defaultValue: "transparent"
-      }
-    ]);
-    function processBlobParts(parts, options) {
-      const bytes = [];
-      for (const element of parts) {
-        if (typeof element === "string") {
-          let s = element;
-          if (options.endings === "native") {
-            s = convertLineEndingsNative(s);
-          }
-          bytes.push(encoder.encode(s));
-        } else if (types.isAnyArrayBuffer(element) || types.isTypedArray(element)) {
-          if (!element.buffer) {
-            bytes.push(new Uint8Array(element));
-          } else {
-            bytes.push(
-              new Uint8Array(element.buffer, element.byteOffset, element.byteLength)
+        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 FormData2();
+                  fd[kState] = parsed;
+                  return fd;
+                }
+                case "application/x-www-form-urlencoded": {
+                  const entries = new URLSearchParams(value.toString());
+                  const fd = new FormData2();
+                  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".'
             );
-          }
-        } else if (isBlobLike(element)) {
-          bytes.push(element);
+          }, instance);
+        },
+        bytes() {
+          return consumeBody(this, (bytes) => {
+            return new Uint8Array(bytes);
+          }, instance);
         }
-      }
-      return bytes;
+      };
+      return methods;
     }
-    function convertLineEndingsNative(s) {
-      let nativeLineEnding = "\n";
-      if (process.platform === "win32") {
-        nativeLineEnding = "\r\n";
+    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");
       }
-      return s.replace(/\r?\n/g, nativeLineEnding);
+      throwIfAborted(object[kState]);
+      const promise = createDeferredPromise();
+      const errorSteps = (error3) => promise.reject(error3);
+      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 isFileLike(object) {
-      return NativeFile && object instanceof NativeFile || object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
+    function bodyUnusable(object) {
+      const body = object[kState].body;
+      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
     }
-    module2.exports = { File: File2, FileLike, isFileLike };
+    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/fetch/formdata.js
-var require_formdata2 = __commonJS({
-  "node_modules/undici/lib/fetch/formdata.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js
+var require_client_h12 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js"(exports2, module2) {
     "use strict";
-    var { isBlobLike, toUSVString, makeIterator } = require_util10();
-    var { kState } = require_symbols7();
-    var { File: UndiciFile, FileLike, isFileLike } = require_file2();
-    var { webidl } = require_webidl2();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var File2 = NativeFile ?? UndiciFile;
-    var FormData2 = class _FormData {
-      constructor(form) {
-        if (form !== void 0) {
-          throw webidl.errors.conversionFailed({
-            prefix: "FormData constructor",
-            argument: "Argument 1",
-            types: ["undefined"]
-          });
+    var assert = require("node:assert");
+    var util = require_util9();
+    var { channels } = require_diagnostics2();
+    var timers = require_timers2();
+    var {
+      RequestContentLengthMismatchError,
+      ResponseContentLengthMismatchError,
+      RequestAbortedError,
+      HeadersTimeoutError,
+      HeadersOverflowError,
+      SocketError,
+      InformationalError,
+      BodyTimeoutError,
+      HTTPParserError,
+      ResponseExceededMaxSizeError
+    } = require_errors2();
+    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_symbols6();
+    var constants = require_constants7();
+    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_wasm2() : void 0;
+      let mod;
+      try {
+        mod = await WebAssembly.compile(require_llhttp_simd_wasm2());
+      } catch (e) {
+        mod = await WebAssembly.compile(llhttpWasmData || require_llhttp_wasm2());
+      }
+      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 */
         }
-        this[kState] = [];
+      });
+    }
+    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];
       }
-      append(name, value, filename = void 0) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" });
-        if (arguments.length === 3 && !isBlobLike(value)) {
-          throw new TypeError(
-            "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"
-          );
+      setTimeout(delay, type2) {
+        if (delay !== this.timeoutValue || type2 & USE_FAST_TIMER ^ this.timeoutType & USE_FAST_TIMER) {
+          if (this.timeout) {
+            timers.clearTimeout(this.timeout);
+            this.timeout = null;
+          }
+          if (delay) {
+            if (type2 & 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();
+          }
         }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0;
-        const entry = makeEntry(name, value, filename);
-        this[kState].push(entry);
+        this.timeoutType = type2;
       }
-      delete(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" });
-        name = webidl.converters.USVString(name);
-        this[kState] = this[kState].filter((entry) => entry.name !== name);
+      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();
       }
-      get(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" });
-        name = webidl.converters.USVString(name);
-        const idx = this[kState].findIndex((entry) => entry.name === name);
-        if (idx === -1) {
-          return null;
+      readMore() {
+        while (!this.paused && this.ptr) {
+          const chunk = this.socket.read();
+          if (chunk === null) {
+            break;
+          }
+          this.execute(chunk);
         }
-        return this[kState][idx].value;
       }
-      getAll(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" });
-        name = webidl.converters.USVString(name);
-        return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value);
+      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);
+        }
       }
-      has(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" });
-        name = webidl.converters.USVString(name);
-        return this[kState].findIndex((entry) => entry.name === name) !== -1;
+      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;
       }
-      set(name, value, filename = void 0) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" });
-        if (arguments.length === 3 && !isBlobLike(value)) {
-          throw new TypeError(
-            "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"
-          );
+      onStatus(buf) {
+        this.statusText = buf.toString();
+      }
+      onMessageBegin() {
+        const { socket, client } = this;
+        if (socket.destroyed) {
+          return -1;
         }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? toUSVString(filename) : void 0;
-        const entry = makeEntry(name, value, filename);
-        const idx = this[kState].findIndex((entry2) => entry2.name === name);
-        if (idx !== -1) {
-          this[kState] = [
-            ...this[kState].slice(0, idx),
-            entry,
-            ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name)
-          ];
-        } else {
-          this[kState].push(entry);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        if (!request2) {
+          return -1;
         }
+        request2.onResponseStarted();
       }
-      entries() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key+value"
-        );
+      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);
       }
-      keys() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key"
-        );
-      }
-      values() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "value"
-        );
-      }
-      /**
-       * @param {(value: string, key: string, self: FormData) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'."
-          );
+      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]);
         }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
+        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);
       }
-    };
-    FormData2.prototype[Symbol.iterator] = FormData2.prototype.entries;
-    Object.defineProperties(FormData2.prototype, {
-      [Symbol.toStringTag]: {
-        value: "FormData",
-        configurable: true
-      }
-    });
-    function makeEntry(name, value, filename) {
-      name = Buffer.from(name).toString("utf8");
-      if (typeof value === "string") {
-        value = Buffer.from(value).toString("utf8");
-      } else {
-        if (!isFileLike(value)) {
-          value = value instanceof Blob2 ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
-        }
-        if (filename !== void 0) {
-          const options = {
-            type: value.type,
-            lastModified: value.lastModified
-          };
-          value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
+      trackHeader(len) {
+        this.headersSize += len;
+        if (this.headersSize >= this.headersMaxSize) {
+          util.destroy(this.socket, new HeadersOverflowError());
         }
       }
-      return { name, value };
-    }
-    module2.exports = { FormData: FormData2 };
-  }
-});
-
-// node_modules/undici/lib/fetch/body.js
-var require_body2 = __commonJS({
-  "node_modules/undici/lib/fetch/body.js"(exports2, module2) {
-    "use strict";
-    var Busboy = require_main();
-    var util = require_util9();
-    var {
-      ReadableStreamFrom,
-      isBlobLike,
-      isReadableStreamLike,
-      readableStreamClose,
-      createDeferredPromise,
-      fullyReadBody
-    } = require_util10();
-    var { FormData: FormData2 } = require_formdata2();
-    var { kState } = require_symbols7();
-    var { webidl } = require_webidl2();
-    var { DOMException: DOMException2, structuredClone } = require_constants7();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
-    var { isErrored } = require_util9();
-    var { isUint8Array, isArrayBuffer } = require("util/types");
-    var { File: UndiciFile } = require_file2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var random;
-    try {
-      const crypto2 = require("node:crypto");
-      random = (max) => crypto2.randomInt(0, max);
-    } catch {
-      random = (max) => Math.floor(Math.random(max));
-    }
-    var ReadableStream2 = globalThis.ReadableStream;
-    var File2 = NativeFile ?? UndiciFile;
-    var textEncoder = new TextEncoder();
-    var textDecoder = new TextDecoder();
-    function extractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+      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]();
       }
-      let stream = null;
-      if (object instanceof ReadableStream2) {
-        stream = object;
-      } else if (isBlobLike(object)) {
-        stream = object.stream();
-      } else {
-        stream = new ReadableStream2({
-          async pull(controller) {
-            controller.enqueue(
-              typeof source === "string" ? textEncoder.encode(source) : source
+      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]
             );
-            queueMicrotask(() => readableStreamClose(controller));
-          },
-          start() {
-          },
-          type: void 0
-        });
-      }
-      assert(isReadableStreamLike(stream));
-      let action = null;
-      let source = null;
-      let length = null;
-      let type2 = null;
-      if (typeof object === "string") {
-        source = object;
-        type2 = "text/plain;charset=UTF-8";
-      } else if (object instanceof URLSearchParams) {
-        source = object.toString();
-        type2 = "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 = (str2) => str2.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;
+            if (timeout <= 0) {
+              socket[kReset] = true;
             } else {
-              hasUnknownSizeValue = true;
+              client[kKeepAliveTimeoutValue] = timeout;
             }
+          } else {
+            client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout];
           }
+        } else {
+          socket[kReset] = true;
         }
-        const chunk = textEncoder.encode(`--${boundary}--`);
-        blobParts.push(chunk);
-        length += chunk.byteLength;
-        if (hasUnknownSizeValue) {
-          length = null;
+        const pause = request2.onHeaders(statusCode, headers, this.resume, statusText) === false;
+        if (request2.aborted) {
+          return -1;
         }
-        source = object;
-        action = async function* () {
-          for (const part of blobParts) {
-            if (part.stream) {
-              yield* part.stream();
-            } else {
-              yield part;
-            }
+        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();
           }
-        };
-        type2 = "multipart/form-data; boundary=" + boundary;
-      } else if (isBlobLike(object)) {
-        source = object;
-        length = object.size;
-        if (object.type) {
-          type2 = object.type;
         }
-      } else if (typeof object[Symbol.asyncIterator] === "function") {
-        if (keepalive) {
-          throw new TypeError("keepalive");
+        assert(statusCode >= 200);
+        if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
+          util.destroy(socket, new ResponseExceededMaxSizeError());
+          return -1;
         }
-        if (util.isDisturbed(object) || object.locked) {
-          throw new TypeError(
-            "Response body object should not be disturbed or locked"
-          );
+        this.bytesRead += buf.length;
+        if (request2.onData(buf) === false) {
+          return constants.ERROR.PAUSED;
         }
-        stream = object instanceof ReadableStream2 ? object : ReadableStreamFrom(object);
       }
-      if (typeof source === "string" || util.isBuffer(source)) {
-        length = Buffer.byteLength(source);
+      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]();
+        }
       }
-      if (action != null) {
-        let iterator2;
-        stream = new ReadableStream2({
-          async start() {
-            iterator2 = action(object)[Symbol.asyncIterator]();
-          },
-          async pull(controller) {
-            const { value, done } = await iterator2.next();
-            if (done) {
-              queueMicrotask(() => {
-                controller.close();
-              });
-            } else {
-              if (!isErrored(stream)) {
-                controller.enqueue(new Uint8Array(value));
-              }
-            }
-            return controller.desiredSize > 0;
-          },
-          async cancel(reason) {
-            await iterator2.return();
-          },
-          type: void 0
-        });
+    };
+    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"));
       }
-      const body = { stream, source, length };
-      return [body, type2];
     }
-    function safelyExtractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      if (object instanceof ReadableStream2) {
-        assert(!util.isDisturbed(object), "The body has already been consumed.");
-        assert(!object.locked, "The stream is locked.");
+    async function connectH1(client, socket) {
+      client[kSocket] = socket;
+      if (!llhttpInstance) {
+        llhttpInstance = await llhttpPromise;
+        llhttpPromise = null;
       }
-      return extractBody(object, keepalive);
-    }
-    function cloneBody(body) {
-      const [out1, out2] = body.stream.tee();
-      const out2Clone = structuredClone(out2, { transfer: [out2] });
-      const [, finalClone] = out2Clone.tee();
-      body.stream = out1;
-      return {
-        stream: finalClone,
-        length: body.length,
-        source: body.source
-      };
-    }
-    async function* consumeBody(body) {
-      if (body) {
-        if (isUint8Array(body)) {
-          yield body;
-        } else {
-          const stream = body.stream;
-          if (util.isDisturbed(stream)) {
-            throw new TypeError("The body has already been consumed.");
+      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();
           }
-          if (stream.locked) {
-            throw new TypeError("The stream is locked.");
+          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);
           }
-          stream[kBodyUsed] = true;
-          yield* stream;
+        } 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);
         }
-      }
-    }
-    function throwIfAborted(state) {
-      if (state.aborted) {
-        throw new DOMException2("The operation was aborted.", "AbortError");
-      }
-    }
-    function bodyMixinMethods(instance) {
-      const methods = {
-        blob() {
-          return specConsumeBody(this, (bytes) => {
-            let mimeType = bodyMimeType(this);
-            if (mimeType === "failure") {
-              mimeType = "";
-            } else if (mimeType) {
-              mimeType = serializeAMimeType(mimeType);
-            }
-            return new Blob2([bytes], { type: mimeType });
-          }, instance);
-        },
-        arrayBuffer() {
-          return specConsumeBody(this, (bytes) => {
-            return new Uint8Array(bytes).buffer;
-          }, instance);
+        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);
         },
-        text() {
-          return specConsumeBody(this, utf8DecodeBytes, instance);
+        resume() {
+          resumeH1(client);
         },
-        json() {
-          return specConsumeBody(this, parseJSONFromBytes, instance);
+        destroy(err, callback) {
+          if (closed) {
+            queueMicrotask(callback);
+          } else {
+            socket.destroy(err).on("close", callback);
+          }
         },
-        async formData() {
-          webidl.brandCheck(this, instance);
-          throwIfAborted(this[kState]);
-          const contentType = this.headers.get("Content-Type");
-          if (/multipart\/form-data/.test(contentType)) {
-            const headers = {};
-            for (const [key, value] of this.headers) headers[key.toLowerCase()] = value;
-            const responseFormData = new FormData2();
-            let busboy;
-            try {
-              busboy = new Busboy({
-                headers,
-                preservePath: true
-              });
-            } catch (err) {
-              throw new DOMException2(`${err}`, "AbortError");
+        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;
             }
-            busboy.on("field", (name, value) => {
-              responseFormData.append(name, value);
-            });
-            busboy.on("file", (name, value, filename, encoding, mimeType) => {
-              const chunks = [];
-              if (encoding === "base64" || encoding.toLowerCase() === "base64") {
-                let base64chunk = "";
-                value.on("data", (chunk) => {
-                  base64chunk += chunk.toString().replace(/[\r\n]/gm, "");
-                  const end = base64chunk.length - base64chunk.length % 4;
-                  chunks.push(Buffer.from(base64chunk.slice(0, end), "base64"));
-                  base64chunk = base64chunk.slice(end);
-                });
-                value.on("end", () => {
-                  chunks.push(Buffer.from(base64chunk, "base64"));
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              } else {
-                value.on("data", (chunk) => {
-                  chunks.push(chunk);
-                });
-                value.on("end", () => {
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              }
-            });
-            const busboyResolve = new Promise((resolve2, reject) => {
-              busboy.on("finish", resolve2);
-              busboy.on("error", (err) => reject(new TypeError(err)));
-            });
-            if (this.body !== null) for await (const chunk of consumeBody(this[kState].body)) busboy.write(chunk);
-            busboy.end();
-            await busboyResolve;
-            return responseFormData;
-          } else if (/application\/x-www-form-urlencoded/.test(contentType)) {
-            let entries;
-            try {
-              let text = "";
-              const streamingDecoder = new TextDecoder("utf-8", { ignoreBOM: true });
-              for await (const chunk of consumeBody(this[kState].body)) {
-                if (!isUint8Array(chunk)) {
-                  throw new TypeError("Expected Uint8Array chunk");
-                }
-                text += streamingDecoder.decode(chunk, { stream: true });
-              }
-              text += streamingDecoder.decode();
-              entries = new URLSearchParams(text);
-            } catch (err) {
-              throw Object.assign(new TypeError(), { cause: err });
+            if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
+              return true;
             }
-            const formData = new FormData2();
-            for (const [name, value] of entries) {
-              formData.append(name, value);
+            if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body) || util.isFormDataLike(request2.body))) {
+              return true;
             }
-            return formData;
-          } else {
-            await Promise.resolve();
-            throwIfAborted(this[kState]);
-            throw webidl.errors.exception({
-              header: `${instance.name}.formData`,
-              message: "Could not parse content as FormData."
-            });
           }
+          return false;
         }
       };
-      return methods;
-    }
-    function mixinBody(prototype) {
-      Object.assign(prototype.prototype, bodyMixinMethods(prototype));
     }
-    async function specConsumeBody(object, convertBytesToJSValue, instance) {
-      webidl.brandCheck(object, instance);
-      throwIfAborted(object[kState]);
-      if (bodyUnusable(object[kState].body)) {
-        throw new TypeError("Body is unusable");
-      }
-      const promise = createDeferredPromise();
-      const errorSteps = (error3) => promise.reject(error3);
-      const successSteps = (data) => {
-        try {
-          promise.resolve(convertBytesToJSValue(data));
-        } catch (e) {
-          errorSteps(e);
+    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);
+          }
         }
-      };
-      if (object[kState].body == null) {
-        successSteps(new Uint8Array());
-        return promise.promise;
       }
-      await fullyReadBody(object[kState].body, successSteps, errorSteps);
-      return promise.promise;
     }
-    function bodyUnusable(body) {
-      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
+    function shouldSendContentLength(method) {
+      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
     }
-    function utf8DecodeBytes(buffer) {
-      if (buffer.length === 0) {
-        return "";
+    function writeH1(client, request2) {
+      const { method, path: path3, host, upgrade, blocking, reset } = request2;
+      let { body, headers, contentLength } = request2;
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH" || method === "QUERY" || method === "PROPFIND" || method === "PROPPATCH";
+      if (util.isFormDataLike(body)) {
+        if (!extractBody) {
+          extractBody = require_body2().extractBody;
+        }
+        const [bodyStream, contentType] = extractBody(body);
+        if (request2.contentType == null) {
+          headers.push("content-type", contentType);
+        }
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
+      } else if (util.isBlobLike(body) && request2.contentType == null && body.type) {
+        headers.push("content-type", body.type);
       }
-      if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
-        buffer = buffer.subarray(3);
+      if (body && typeof body.read === "function") {
+        body.read(0);
       }
-      const output = textDecoder.decode(buffer);
-      return output;
-    }
-    function parseJSONFromBytes(bytes) {
-      return JSON.parse(utf8DecodeBytes(bytes));
-    }
-    function bodyMimeType(object) {
-      const { headersList } = object[kState];
-      const contentType = headersList.get("content-type");
-      if (contentType === null) {
-        return "failure";
+      const bodyLength = util.bodyLength(body);
+      contentLength = bodyLength ?? contentLength;
+      if (contentLength === null) {
+        contentLength = request2.contentLength;
       }
-      return parseMIMEType(contentType);
-    }
-    module2.exports = {
-      extractBody,
-      safelyExtractBody,
-      cloneBody,
-      mixinBody
-    };
-  }
-});
-
-// node_modules/undici/lib/core/request.js
-var require_request3 = __commonJS({
-  "node_modules/undici/lib/core/request.js"(exports2, module2) {
-    "use strict";
-    var {
-      InvalidArgumentError,
-      NotSupportedError
-    } = require_errors2();
-    var assert = require("assert");
-    var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = require_symbols6();
-    var util = require_util9();
-    var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;
-    var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
-    var invalidPathRegex = /[^\u0021-\u00ff]/;
-    var kHandler = /* @__PURE__ */ Symbol("handler");
-    var channels = {};
-    var extractBody;
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.create = diagnosticsChannel.channel("undici:request:create");
-      channels.bodySent = diagnosticsChannel.channel("undici:request:bodySent");
-      channels.headers = diagnosticsChannel.channel("undici:request:headers");
-      channels.trailers = diagnosticsChannel.channel("undici:request:trailers");
-      channels.error = diagnosticsChannel.channel("undici:request:error");
-    } catch {
-      channels.create = { hasSubscribers: false };
-      channels.bodySent = { hasSubscribers: false };
-      channels.headers = { hasSubscribers: false };
-      channels.trailers = { hasSubscribers: false };
-      channels.error = { hasSubscribers: false };
-    }
-    var Request = class _Request {
-      constructor(origin, {
-        path: path3,
-        method,
-        body,
-        headers,
-        query,
-        idempotent,
-        blocking,
-        upgrade,
-        headersTimeout,
-        bodyTimeout,
-        reset,
-        throwOnError,
-        expectContinue
-      }, handler2) {
-        if (typeof path3 !== "string") {
-          throw new InvalidArgumentError("path must be a string");
-        } else if (path3[0] !== "/" && !(path3.startsWith("http://") || path3.startsWith("https://")) && method !== "CONNECT") {
-          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
-        } else if (invalidPathRegex.exec(path3) !== null) {
-          throw new InvalidArgumentError("invalid request path");
-        }
-        if (typeof method !== "string") {
-          throw new InvalidArgumentError("method must be a string");
-        } else if (tokenRegExp.exec(method) === null) {
-          throw new InvalidArgumentError("invalid request method");
-        }
-        if (upgrade && typeof upgrade !== "string") {
-          throw new InvalidArgumentError("upgrade must be a string");
-        }
-        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
-          throw new InvalidArgumentError("invalid headersTimeout");
-        }
-        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
-          throw new InvalidArgumentError("invalid bodyTimeout");
-        }
-        if (reset != null && typeof reset !== "boolean") {
-          throw new InvalidArgumentError("invalid reset");
-        }
-        if (expectContinue != null && typeof expectContinue !== "boolean") {
-          throw new InvalidArgumentError("invalid expectContinue");
-        }
-        this.headersTimeout = headersTimeout;
-        this.bodyTimeout = bodyTimeout;
-        this.throwOnError = throwOnError === true;
-        this.method = method;
-        this.abort = null;
-        if (body == null) {
-          this.body = null;
-        } else if (util.isStream(body)) {
-          this.body = body;
-          const rState = this.body._readableState;
-          if (!rState || !rState.autoDestroy) {
-            this.endHandler = function autoDestroy() {
-              util.destroy(this);
-            };
-            this.body.on("end", this.endHandler);
-          }
-          this.errorHandler = (err) => {
-            if (this.abort) {
-              this.abort(err);
-            } else {
-              this.error = err;
-            }
-          };
-          this.body.on("error", this.errorHandler);
-        } else if (util.isBuffer(body)) {
-          this.body = body.byteLength ? body : null;
-        } else if (ArrayBuffer.isView(body)) {
-          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
-        } else if (body instanceof ArrayBuffer) {
-          this.body = body.byteLength ? Buffer.from(body) : null;
-        } else if (typeof body === "string") {
-          this.body = body.length ? Buffer.from(body) : null;
-        } else if (util.isFormDataLike(body) || util.isIterable(body) || util.isBlobLike(body)) {
-          this.body = body;
-        } else {
-          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
+      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;
         }
-        this.completed = false;
-        this.aborted = false;
-        this.upgrade = upgrade || null;
-        this.path = query ? util.buildURL(path3, query) : path3;
-        this.origin = origin;
-        this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
-        this.blocking = blocking == null ? false : blocking;
-        this.reset = reset == null ? null : reset;
-        this.host = null;
-        this.contentLength = null;
-        this.contentType = null;
-        this.headers = "";
-        this.expectContinue = expectContinue != null ? expectContinue : false;
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
-          }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(this, headers[i], headers[i + 1]);
-          }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(this, key, headers[key]);
-          }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
+        process.emitWarning(new RequestContentLengthMismatchError());
+      }
+      const socket = client[kSocket];
+      const abort = (err) => {
+        if (request2.aborted || request2.completed) {
+          return;
         }
-        if (util.isFormDataLike(this.body)) {
-          if (util.nodeMajor < 16 || util.nodeMajor === 16 && util.nodeMinor < 8) {
-            throw new InvalidArgumentError("Form-Data bodies are only supported in node v16.8 and newer.");
-          }
-          if (!extractBody) {
-            extractBody = require_body2().extractBody;
-          }
-          const [bodyStream, contentType] = extractBody(body);
-          if (this.contentType == null) {
-            this.contentType = contentType;
-            this.headers += `content-type: ${contentType}\r
+        util.errorRequest(client, request2, err || new RequestAbortedError());
+        util.destroy(body);
+        util.destroy(socket, new InformationalError("aborted"));
+      };
+      try {
+        request2.onConnect(abort);
+      } catch (err) {
+        util.errorRequest(client, request2, err);
+      }
+      if (request2.aborted) {
+        return false;
+      }
+      if (method === "HEAD") {
+        socket[kReset] = true;
+      }
+      if (upgrade || method === "CONNECT") {
+        socket[kReset] = true;
+      }
+      if (reset != null) {
+        socket[kReset] = reset;
+      }
+      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
+        socket[kReset] = true;
+      }
+      if (blocking) {
+        socket[kBlocking] = true;
+      }
+      let header = `${method} ${path3} HTTP/1.1\r
 `;
-          }
-          this.body = bodyStream.stream;
-          this.contentLength = bodyStream.length;
-        } else if (util.isBlobLike(body) && this.contentType == null && body.type) {
-          this.contentType = body.type;
-          this.headers += `content-type: ${body.type}\r
+      if (typeof host === "string") {
+        header += `host: ${host}\r
 `;
-        }
-        util.validateHandler(handler2, method, upgrade);
-        this.servername = util.getServerName(this.host);
-        this[kHandler] = handler2;
-        if (channels.create.hasSubscribers) {
-          channels.create.publish({ request: this });
-        }
+      } else {
+        header += client[kHostHeader];
       }
-      onBodySent(chunk) {
-        if (this[kHandler].onBodySent) {
-          try {
-            return this[kHandler].onBodySent(chunk);
-          } catch (err) {
-            this.abort(err);
-          }
-        }
+      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";
       }
-      onRequestSent() {
-        if (channels.bodySent.hasSubscribers) {
-          channels.bodySent.publish({ request: this });
-        }
-        if (this[kHandler].onRequestSent) {
-          try {
-            return this[kHandler].onRequestSent();
-          } catch (err) {
-            this.abort(err);
+      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
+`;
           }
         }
       }
-      onConnect(abort) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (this.error) {
-          abort(this.error);
+      if (channels.sendHeaders.hasSubscribers) {
+        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      }
+      if (!body || bodyLength === 0) {
+        writeBuffer(abort, null, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isBuffer(body)) {
+        writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isBlobLike(body)) {
+        if (typeof body.stream === "function") {
+          writeIterable(abort, body.stream(), client, request2, socket, contentLength, header, expectsPayload);
         } else {
-          this.abort = abort;
-          return this[kHandler].onConnect(abort);
+          writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload);
         }
+      } else if (util.isStream(body)) {
+        writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isIterable(body)) {
+        writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else {
+        assert(false);
       }
-      onHeaders(statusCode, headers, resume, statusText) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (channels.headers.hasSubscribers) {
-          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
+      return true;
+    }
+    function writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      let finished = false;
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
+      const onData = function(chunk) {
+        if (finished) {
+          return;
         }
         try {
-          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
+          if (!writer.write(chunk) && this.pause) {
+            this.pause();
+          }
         } catch (err) {
-          this.abort(err);
+          util.destroy(this, err);
         }
-      }
-      onData(chunk) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        try {
-          return this[kHandler].onData(chunk);
-        } catch (err) {
-          this.abort(err);
-          return false;
-        }
-      }
-      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 });
+      };
+      const onDrain = function() {
+        if (finished) {
+          return;
         }
-        try {
-          return this[kHandler].onComplete(trailers);
-        } catch (err) {
-          this.onError(err);
+        if (body.resume) {
+          body.resume();
         }
-      }
-      onError(error3) {
-        this.onFinally();
-        if (channels.error.hasSubscribers) {
-          channels.error.publish({ request: this, error: error3 });
+      };
+      const onClose = function() {
+        queueMicrotask(() => {
+          body.removeListener("error", onFinished);
+        });
+        if (!finished) {
+          const err = new RequestAbortedError();
+          queueMicrotask(() => onFinished(err));
         }
-        if (this.aborted) {
+      };
+      const onFinished = function(err) {
+        if (finished) {
           return;
         }
-        this.aborted = true;
-        return this[kHandler].onError(error3);
-      }
-      onFinally() {
-        if (this.errorHandler) {
-          this.body.off("error", this.errorHandler);
-          this.errorHandler = null;
+        finished = true;
+        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
+        socket.off("drain", onDrain).off("error", onFinished);
+        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("close", onClose);
+        if (!err) {
+          try {
+            writer.end();
+          } catch (er) {
+            err = er;
+          }
         }
-        if (this.endHandler) {
-          this.body.off("end", this.endHandler);
-          this.endHandler = null;
+        writer.destroy(err);
+        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
+          util.destroy(body, err);
+        } else {
+          util.destroy(body);
         }
+      };
+      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onClose);
+      if (body.resume) {
+        body.resume();
       }
-      // TODO: adjust to support H2
-      addHeader(key, value) {
-        processHeader(this, key, value);
-        return this;
+      socket.on("drain", onDrain).on("error", onFinished);
+      if (body.errorEmitted ?? body.errored) {
+        setImmediate(() => onFinished(body.errored));
+      } else if (body.endEmitted ?? body.readableEnded) {
+        setImmediate(() => onFinished(null));
       }
-      static [kHTTP1BuildRequest](origin, opts, handler2) {
-        return new _Request(origin, opts, handler2);
+      if (body.closeEmitted ?? body.closed) {
+        setImmediate(onClose);
       }
-      static [kHTTP2BuildRequest](origin, opts, handler2) {
-        const headers = opts.headers;
-        opts = { ...opts, headers: null };
-        const request2 = new _Request(origin, opts, handler2);
-        request2.headers = {};
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
-          }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(request2, headers[i], headers[i + 1], true);
+    }
+    function writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      try {
+        if (!body) {
+          if (contentLength === 0) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
+          } else {
+            assert(contentLength === null, "no body must not have content length");
+            socket.write(`${header}\r
+`, "latin1");
           }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(request2, key, headers[key], true);
+        } else if (util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          socket.cork();
+          socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+          socket.write(body);
+          socket.uncork();
+          request2.onBodySent(body);
+          if (!expectsPayload && request2.reset !== false) {
+            socket[kReset] = true;
           }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
         }
-        return request2;
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      static [kHTTP2CopyHeaders](raw) {
-        const rawHeaders = raw.split("\r\n");
-        const headers = {};
-        for (const header of rawHeaders) {
-          const [key, value] = header.split(": ");
-          if (value == null || value.length === 0) continue;
-          if (headers[key]) headers[key] += `,${value}`;
-          else headers[key] = value;
+    }
+    async function writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength === body.size, "blob body must have content length");
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
         }
-        return headers;
-      }
-    };
-    function processHeaderValue(key, val, skipAppend) {
-      if (val && typeof val === "object") {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      }
-      val = val != null ? `${val}` : "";
-      if (headerCharRegex.exec(val) !== null) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
+        const buffer = Buffer.from(await body.arrayBuffer());
+        socket.cork();
+        socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+        socket.write(buffer);
+        socket.uncork();
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload && request2.reset !== false) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      return skipAppend ? val : `${key}: ${val}\r
-`;
     }
-    function processHeader(request2, key, val, skipAppend = false) {
-      if (val && (typeof val === "object" && !Array.isArray(val))) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      } else if (val === void 0) {
-        return;
-      }
-      if (request2.host === null && key.length === 4 && key.toLowerCase() === "host") {
-        if (headerCharRegex.exec(val) !== null) {
-          throw new InvalidArgumentError(`invalid ${key} header`);
-        }
-        request2.host = val;
-      } else if (request2.contentLength === null && key.length === 14 && key.toLowerCase() === "content-length") {
-        request2.contentLength = parseInt(val, 10);
-        if (!Number.isFinite(request2.contentLength)) {
-          throw new InvalidArgumentError("invalid content-length header");
+    async function writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
         }
-      } else if (request2.contentType === null && key.length === 12 && key.toLowerCase() === "content-type") {
-        request2.contentType = val;
-        if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-        else request2.headers += processHeaderValue(key, val);
-      } else if (key.length === 17 && key.toLowerCase() === "transfer-encoding") {
-        throw new InvalidArgumentError("invalid transfer-encoding header");
-      } else if (key.length === 10 && key.toLowerCase() === "connection") {
-        const value = typeof val === "string" ? val.toLowerCase() : null;
-        if (value !== "close" && value !== "keep-alive") {
-          throw new InvalidArgumentError("invalid connection header");
-        } else if (value === "close") {
-          request2.reset = true;
+      }
+      const waitForDrain = () => new Promise((resolve2, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve2;
         }
-      } else if (key.length === 10 && key.toLowerCase() === "keep-alive") {
-        throw new InvalidArgumentError("invalid keep-alive header");
-      } else if (key.length === 7 && key.toLowerCase() === "upgrade") {
-        throw new InvalidArgumentError("invalid upgrade header");
-      } else if (key.length === 6 && key.toLowerCase() === "expect") {
-        throw new NotSupportedError("expect header not supported");
-      } else if (tokenRegExp.exec(key) === null) {
-        throw new InvalidArgumentError("invalid header key");
-      } else {
-        if (Array.isArray(val)) {
-          for (let i = 0; i < val.length; i++) {
-            if (skipAppend) {
-              if (request2.headers[key]) request2.headers[key] += `,${processHeaderValue(key, val[i], skipAppend)}`;
-              else request2.headers[key] = processHeaderValue(key, val[i], skipAppend);
-            } else {
-              request2.headers += processHeaderValue(key, val[i]);
-            }
+      });
+      socket.on("close", onDrain).on("drain", onDrain);
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          if (!writer.write(chunk)) {
+            await waitForDrain();
           }
-        } else {
-          if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-          else request2.headers += processHeaderValue(key, val);
         }
+        writer.end();
+      } catch (err) {
+        writer.destroy(err);
+      } finally {
+        socket.off("close", onDrain).off("drain", onDrain);
       }
     }
-    module2.exports = Request;
-  }
-});
-
-// node_modules/undici/lib/dispatcher.js
-var require_dispatcher2 = __commonJS({
-  "node_modules/undici/lib/dispatcher.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("events");
-    var Dispatcher = class extends EventEmitter {
-      dispatch() {
-        throw new Error("not implemented");
-      }
-      close() {
-        throw new Error("not implemented");
-      }
-      destroy() {
-        throw new Error("not implemented");
-      }
-    };
-    module2.exports = Dispatcher;
-  }
-});
-
-// node_modules/undici/lib/dispatcher-base.js
-var require_dispatcher_base2 = __commonJS({
-  "node_modules/undici/lib/dispatcher-base.js"(exports2, module2) {
-    "use strict";
-    var Dispatcher = require_dispatcher2();
-    var {
-      ClientDestroyedError,
-      ClientClosedError,
-      InvalidArgumentError
-    } = require_errors2();
-    var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols6();
-    var kDestroyed = /* @__PURE__ */ Symbol("destroyed");
-    var kClosed = /* @__PURE__ */ Symbol("closed");
-    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
-    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
-    var kInterceptedDispatch = /* @__PURE__ */ 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];
+    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;
       }
-      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");
-            }
-          }
+      write(chunk) {
+        const { socket, request: request2, contentLength, client, bytesWritten, expectsPayload, header } = this;
+        if (socket[kError]) {
+          throw socket[kError];
         }
-        this[kInterceptors] = newInterceptors;
-      }
-      close(callback) {
-        if (callback === void 0) {
-          return new Promise((resolve2, reject) => {
-            this.close((err, data) => {
-              return err ? reject(err) : resolve2(data);
-            });
-          });
+        if (socket.destroyed) {
+          return false;
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        const len = Buffer.byteLength(chunk);
+        if (!len) {
+          return true;
         }
-        if (this[kDestroyed]) {
-          queueMicrotask(() => callback(new ClientDestroyedError(), null));
-          return;
+        if (contentLength !== null && bytesWritten + len > contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
+          }
+          process.emitWarning(new RequestContentLengthMismatchError());
         }
-        if (this[kClosed]) {
-          if (this[kOnClosed]) {
-            this[kOnClosed].push(callback);
+        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 {
-            queueMicrotask(() => callback(null, null));
+            socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
           }
-          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);
+        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();
+            }
           }
-        };
-        this[kClose]().then(() => this.destroy()).then(() => {
-          queueMicrotask(onClosed);
-        });
-      }
-      destroy(err, callback) {
-        if (typeof err === "function") {
-          callback = err;
-          err = null;
         }
-        if (callback === void 0) {
-          return new Promise((resolve2, reject) => {
-            this.destroy(err, (err2, data) => {
-              return err2 ? (
-                /* istanbul ignore next: should never error */
-                reject(err2)
-              ) : resolve2(data);
-            });
-          });
+        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 (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        if (socket.destroyed) {
+          return;
         }
-        if (this[kDestroyed]) {
-          if (this[kOnDestroyed]) {
-            this[kOnDestroyed].push(callback);
+        if (bytesWritten === 0) {
+          if (expectsPayload) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
           } else {
-            queueMicrotask(() => callback(null, null));
+            socket.write(`${header}\r
+`, "latin1");
           }
-          return;
-        }
-        if (!err) {
-          err = new ClientDestroyedError();
+        } else if (contentLength === null) {
+          socket.write("\r\n0\r\n\r\n", "latin1");
         }
-        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);
+        if (contentLength !== null && bytesWritten !== contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
+          } else {
+            process.emitWarning(new RequestContentLengthMismatchError());
           }
-        };
-        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);
+        if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
+          if (socket[kParser].timeout.refresh) {
+            socket[kParser].timeout.refresh();
+          }
         }
-        this[kInterceptedDispatch] = dispatch;
-        return dispatch(opts, handler2);
+        client[kResume]();
       }
-      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;
+      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 = DispatcherBase;
+    module2.exports = connectH1;
   }
 });
 
-// node_modules/undici/lib/core/connect.js
-var require_connect2 = __commonJS({
-  "node_modules/undici/lib/core/connect.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h2.js
+var require_client_h22 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h2.js"(exports2, module2) {
     "use strict";
-    var net = require("net");
-    var assert = require("assert");
+    var assert = require("node:assert");
+    var { pipeline } = require("node:stream");
     var util = require_util9();
-    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
-    var tls;
-    var SessionCache;
-    if (global.FinalizationRegistry && !process.env.NODE_V8_COVERAGE) {
-      SessionCache = class WeakSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
-          this._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);
-            }
-          });
-        }
-        get(sessionKey) {
-          const ref = this._sessionCache.get(sessionKey);
-          return ref ? ref.deref() : null;
-        }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
-            return;
+    var {
+      RequestContentLengthMismatchError,
+      RequestAbortedError,
+      SocketError,
+      InformationalError
+    } = require_errors2();
+    var {
+      kUrl,
+      kReset,
+      kClient,
+      kRunning,
+      kPending,
+      kQueue,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kSocket,
+      kStrictContentLength,
+      kOnError,
+      kMaxConcurrentStreams,
+      kHTTP2Session,
+      kResume,
+      kSize,
+      kHTTPContext
+    } = require_symbols6();
+    var kOpenStreams = /* @__PURE__ */ 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));
           }
-          this._sessionCache.set(sessionKey, new WeakRef(session));
-          this._sessionRegistry.register(session, sessionKey);
+        } else {
+          result.push(Buffer.from(name), Buffer.from(value));
         }
-      };
-    } else {
-      SessionCache = class SimpleSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
+      }
+      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);
+          }
         }
-        get(sessionKey) {
-          return this._sessionCache.get(sessionKey);
+      });
+      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);
         }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
-            return;
-          }
-          if (this._sessionCache.size >= this._maxCachedSessions) {
-            const { value: oldestKey } = this._sessionCache.keys().next();
-            this._sessionCache.delete(oldestKey);
+        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);
           }
-          this._sessionCache.set(sessionKey, session);
+        },
+        get destroyed() {
+          return socket.destroyed;
+        },
+        busy() {
+          return false;
         }
       };
     }
-    function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, ...opts }) {
-      if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
-        throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
+    function 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();
+        }
       }
-      const options = { path: socketPath, ...opts };
-      const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
-      timeout = timeout == null ? 1e4 : timeout;
-      allowH2 = allowH2 != null ? allowH2 : false;
-      return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
-        let socket;
-        if (protocol === "https:") {
-          if (!tls) {
-            tls = require("tls");
+    }
+    function onHttp2SessionError(err) {
+      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+      this[kSocket][kError] = err;
+      this[kClient][kOnError](err);
+    }
+    function onHttp2FrameError(type2, code, id) {
+      if (id === 0) {
+        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, 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: path3, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
+      let { body } = request2;
+      if (upgrade) {
+        util.errorRequest(client, request2, new Error("Upgrade not supported for H2"));
+        return false;
+      }
+      const headers = {};
+      for (let n = 0; n < reqHeaders.length; n += 2) {
+        const key = reqHeaders[n + 0];
+        const val = reqHeaders[n + 1];
+        if (Array.isArray(val)) {
+          for (let i = 0; i < val.length; i++) {
+            if (headers[key]) {
+              headers[key] += `,${val[i]}`;
+            } else {
+              headers[key] = val[i];
+            }
           }
-          servername = servername || options.servername || util.getServerName(host) || null;
-          const sessionKey = servername || hostname;
-          const session = sessionCache.get(sessionKey) || null;
-          assert(sessionKey);
-          socket = tls.connect({
-            highWaterMark: 16384,
-            // TLS in node can't have bigger HWM anyway...
-            ...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: port || 443,
-            host: hostname
-          });
-          socket.on("session", function(session2) {
-            sessionCache.set(sessionKey, session2);
-          });
         } else {
-          assert(!httpSocket, "httpSocket can only be sent on TLS update");
-          socket = net.connect({
-            highWaterMark: 64 * 1024,
-            // Same as nodejs fs streams.
-            ...options,
-            localAddress,
-            port: port || 80,
-            host: hostname
+          headers[key] = val;
+        }
+      }
+      let stream;
+      const { hostname, port } = client[kUrl];
+      headers[HTTP2_HEADER_AUTHORITY] = host || `${hostname}${port ? `:${port}` : ""}`;
+      headers[HTTP2_HEADER_METHOD] = method;
+      const abort = (err) => {
+        if (request2.aborted || request2.completed) {
+          return;
+        }
+        err = err || new RequestAbortedError();
+        util.errorRequest(client, request2, err);
+        if (stream != null) {
+          util.destroy(stream, err);
+        }
+        util.destroy(body, err);
+        client[kQueue][client[kRunningIdx]++] = null;
+        client[kResume]();
+      };
+      try {
+        request2.onConnect(abort);
+      } catch (err) {
+        util.errorRequest(client, request2, err);
+      }
+      if (request2.aborted) {
+        return false;
+      }
+      if (method === "CONNECT") {
+        session.ref();
+        stream = session.request(headers, { endStream: false, signal });
+        if (stream.id && !stream.pending) {
+          request2.onUpgrade(null, null, stream);
+          ++session[kOpenStreams];
+          client[kQueue][client[kRunningIdx]++] = null;
+        } else {
+          stream.once("ready", () => {
+            request2.onUpgrade(null, null, stream);
+            ++session[kOpenStreams];
+            client[kQueue][client[kRunningIdx]++] = null;
           });
         }
-        if (options.keepAlive == null || options.keepAlive) {
-          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
-          socket.setKeepAlive(true, keepAliveInitialDelay);
+        stream.once("close", () => {
+          session[kOpenStreams] -= 1;
+          if (session[kOpenStreams] === 0) session.unref();
+        });
+        return true;
+      }
+      headers[HTTP2_HEADER_PATH] = path3;
+      headers[HTTP2_HEADER_SCHEME] = "https";
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
+      if (body && typeof body.read === "function") {
+        body.read(0);
+      }
+      let contentLength = util.bodyLength(body);
+      if (util.isFormDataLike(body)) {
+        extractBody ??= require_body2().extractBody;
+        const [bodyStream, contentType] = extractBody(body);
+        headers["content-type"] = contentType;
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
+      }
+      if (contentLength == null) {
+        contentLength = request2.contentLength;
+      }
+      if (contentLength === 0 || !expectsPayload) {
+        contentLength = null;
+      }
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          util.errorRequest(client, request2, new RequestContentLengthMismatchError());
+          return false;
         }
-        const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout);
-        socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(null, this);
-          }
-        }).on("error", function(err) {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(err);
-          }
+        process.emitWarning(new RequestContentLengthMismatchError());
+      }
+      if (contentLength != null) {
+        assert(body, "no body must not have content length");
+        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
+      }
+      session.ref();
+      const shouldEndStream = method === "GET" || method === "HEAD" || body === null;
+      if (expectContinue) {
+        headers[HTTP2_HEADER_EXPECT] = "100-continue";
+        stream = session.request(headers, { endStream: shouldEndStream, signal });
+        stream.once("continue", writeBodyH2);
+      } else {
+        stream = session.request(headers, {
+          endStream: shouldEndStream,
+          signal
         });
-        return socket;
-      };
-    }
-    function setupTimeout(onConnectTimeout2, timeout) {
-      if (!timeout) {
-        return () => {
-        };
+        writeBodyH2();
       }
-      let s1 = null;
-      let s2 = null;
-      const timeoutId = setTimeout(() => {
-        s1 = setImmediate(() => {
-          if (process.platform === "win32") {
-            s2 = setImmediate(() => onConnectTimeout2());
-          } else {
-            onConnectTimeout2();
+      ++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();
           }
         });
-      }, timeout);
-      return () => {
-        clearTimeout(timeoutId);
-        clearImmediate(s1);
-        clearImmediate(s2);
-      };
-    }
-    function onConnectTimeout(socket) {
-      util.destroy(socket, new ConnectTimeoutError());
-    }
-    module2.exports = buildConnector;
-  }
-});
-
-// node_modules/undici/lib/llhttp/utils.js
-var require_utils3 = __commonJS({
-  "node_modules/undici/lib/llhttp/utils.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.enumToMap = void 0;
-    function enumToMap(obj) {
-      const res = {};
-      Object.keys(obj).forEach((key) => {
-        const value = obj[key];
-        if (typeof value === "number") {
-          res[key] = value;
+      });
+      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]();
       });
-      return res;
-    }
-    exports2.enumToMap = enumToMap;
-  }
-});
-
-// node_modules/undici/lib/llhttp/constants.js
-var require_constants8 = __commonJS({
-  "node_modules/undici/lib/llhttp/constants.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
-    var utils_1 = require_utils3();
-    var ERROR;
-    (function(ERROR2) {
-      ERROR2[ERROR2["OK"] = 0] = "OK";
-      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
-      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
-      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
-      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
-      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
-      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
-      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
-      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
-      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
-      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
-      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
-      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
-      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
-      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
-      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
-      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
-      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
-      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
-      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
-      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
-      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
-      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
-      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
-      ERROR2[ERROR2["USER"] = 24] = "USER";
-    })(ERROR = 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];
+      stream.once("close", () => {
+        session[kOpenStreams] -= 1;
+        if (session[kOpenStreams] === 0) {
+          session.unref();
+        }
+      });
+      stream.once("error", function(err) {
+        abort(err);
+      });
+      stream.once("frameError", (type2, code) => {
+        abort(new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`));
+      });
+      return true;
+      function writeBodyH2() {
+        if (!body || contentLength === 0) {
+          writeBuffer(
+            abort,
+            stream,
+            null,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else if (util.isBuffer(body)) {
+          writeBuffer(
+            abort,
+            stream,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else if (util.isBlobLike(body)) {
+          if (typeof body.stream === "function") {
+            writeIterable(
+              abort,
+              stream,
+              body.stream(),
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
+          } else {
+            writeBlob(
+              abort,
+              stream,
+              body,
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
+          }
+        } else if (util.isStream(body)) {
+          writeStream(
+            abort,
+            client[kSocket],
+            expectsPayload,
+            stream,
+            body,
+            client,
+            request2,
+            contentLength
+          );
+        } else if (util.isIterable(body)) {
+          writeIterable(
+            abort,
+            stream,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else {
+          assert(false);
+        }
       }
-    });
-    var FINISH;
-    (function(FINISH2) {
-      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
-      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
-      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
-    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
-    exports2.ALPHA = [];
-    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
-      exports2.ALPHA.push(String.fromCharCode(i));
-      exports2.ALPHA.push(String.fromCharCode(i + 32));
     }
-    exports2.NUM_MAP = {
-      0: 0,
-      1: 1,
-      2: 2,
-      3: 3,
-      4: 4,
-      5: 5,
-      6: 6,
-      7: 7,
-      8: 8,
-      9: 9
-    };
-    exports2.HEX_MAP = {
-      0: 0,
-      1: 1,
-      2: 2,
-      3: 3,
-      4: 4,
-      5: 5,
-      6: 6,
-      7: 7,
-      8: 8,
-      9: 9,
-      A: 10,
-      B: 11,
-      C: 12,
-      D: 13,
-      E: 14,
-      F: 15,
-      a: 10,
-      b: 11,
-      c: 12,
-      d: 13,
-      e: 14,
-      f: 15
-    };
-    exports2.NUM = [
-      "0",
-      "1",
-      "2",
-      "3",
-      "4",
-      "5",
-      "6",
-      "7",
-      "8",
-      "9"
-    ];
-    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
-    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
-    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
-    exports2.STRICT_URL_CHAR = [
-      "!",
-      '"',
-      "$",
-      "%",
-      "&",
-      "'",
-      "(",
-      ")",
-      "*",
-      "+",
-      ",",
-      "-",
-      ".",
-      "/",
-      ":",
-      ";",
-      "<",
-      "=",
-      ">",
-      "@",
-      "[",
-      "\\",
-      "]",
-      "^",
-      "_",
-      "`",
-      "{",
-      "|",
-      "}",
-      "~"
-    ].concat(exports2.ALPHANUM);
-    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
-    for (let i = 128; i <= 255; i++) {
-      exports2.URL_CHAR.push(i);
+    function writeBuffer(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      try {
+        if (body != null && util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          h2stream.cork();
+          h2stream.write(body);
+          h2stream.uncork();
+          h2stream.end();
+          request2.onBodySent(body);
+        }
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (error3) {
+        abort(error3);
+      }
     }
-    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);
+    function writeStream(abort, socket, expectsPayload, h2stream, body, client, request2, contentLength) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      const pipe = pipeline(
+        body,
+        h2stream,
+        (err) => {
+          if (err) {
+            util.destroy(pipe, err);
+            abort(err);
+          } else {
+            util.removeAllListeners(pipe);
+            request2.onRequestSent();
+            if (!expectsPayload) {
+              socket[kReset] = true;
+            }
+            client[kResume]();
+          }
+        }
+      );
+      util.addListener(pipe, "data", onPipeData);
+      function onPipeData(chunk) {
+        request2.onBodySent(chunk);
       }
     }
-    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
-    };
+    async function writeBlob(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength === body.size, "blob body must have content length");
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
+        }
+        const buffer = Buffer.from(await body.arrayBuffer());
+        h2stream.cork();
+        h2stream.write(buffer);
+        h2stream.uncork();
+        h2stream.end();
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
+      }
+    }
+    async function writeIterable(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
+        }
+      }
+      const waitForDrain = () => new Promise((resolve2, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve2;
+        }
+      });
+      h2stream.on("close", onDrain).on("drain", onDrain);
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          const res = h2stream.write(chunk);
+          request2.onBodySent(chunk);
+          if (!res) {
+            await waitForDrain();
+          }
+        }
+        h2stream.end();
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
+      } finally {
+        h2stream.off("close", onDrain).off("drain", onDrain);
+      }
+    }
+    module2.exports = connectH2;
   }
 });
 
-// node_modules/undici/lib/handler/RedirectHandler.js
-var require_RedirectHandler = __commonJS({
-  "node_modules/undici/lib/handler/RedirectHandler.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js
+var require_redirect_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js"(exports2, module2) {
     "use strict";
     var util = require_util9();
     var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
+    var assert = require("node:assert");
     var { InvalidArgumentError } = require_errors2();
-    var EE = require("events");
+    var EE = require("node:events");
     var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
     var kBody = /* @__PURE__ */ Symbol("body");
     var BodyAsyncIterable = class {
@@ -27729,6 +28500,7 @@ var require_RedirectHandler = __commonJS({
         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() {
@@ -27759,6 +28531,14 @@ var require_RedirectHandler = __commonJS({
       }
       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));
         }
@@ -27803,7 +28583,7 @@ var require_RedirectHandler = __commonJS({
         return null;
       }
       for (let i = 0; i < headers.length; i += 2) {
-        if (headers[i].toString().toLowerCase() === "location") {
+        if (headers[i].length === 8 && util.headerNameToString(headers[i]) === "location") {
           return headers[i + 1];
         }
       }
@@ -27844,11 +28624,11 @@ var require_RedirectHandler = __commonJS({
   }
 });
 
-// node_modules/undici/lib/interceptor/redirectInterceptor.js
-var require_redirectInterceptor = __commonJS({
-  "node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js
+var require_redirect_interceptor2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js"(exports2, module2) {
     "use strict";
-    var RedirectHandler = require_RedirectHandler();
+    var RedirectHandler = require_redirect_handler2();
     function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) {
       return (dispatch) => {
         return function Intercept(opts, handler2) {
@@ -27866,73 +28646,43 @@ var require_redirectInterceptor = __commonJS({
   }
 });
 
-// node_modules/undici/lib/llhttp/llhttp-wasm.js
-var require_llhttp_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8=";
-  }
-});
-
-// node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
-var require_llhttp_simd_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==";
-  }
-});
-
-// node_modules/undici/lib/client.js
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js
 var require_client2 = __commonJS({
-  "node_modules/undici/lib/client.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var net = require("net");
-    var http = require("http");
-    var { pipeline } = require("stream");
+    var assert = require("node:assert");
+    var net = require("node:net");
+    var http = require("node:http");
     var util = require_util9();
-    var timers = require_timers2();
+    var { channels } = require_diagnostics2();
     var Request = require_request3();
     var DispatcherBase = require_dispatcher_base2();
     var {
-      RequestContentLengthMismatchError,
-      ResponseContentLengthMismatchError,
       InvalidArgumentError,
-      RequestAbortedError,
-      HeadersTimeoutError,
-      HeadersOverflowError,
-      SocketError,
       InformationalError,
-      BodyTimeoutError,
-      HTTPParserError,
-      ResponseExceededMaxSizeError,
       ClientDestroyedError
     } = require_errors2();
     var buildConnector = require_connect2();
     var {
       kUrl,
-      kReset,
       kServerName,
       kClient,
       kBusy,
-      kParser,
       kConnect,
-      kBlocking,
       kResuming,
       kRunning,
       kPending,
       kSize,
-      kWriting,
       kQueue,
       kConnected,
       kConnecting,
       kNeedDrain,
-      kNoRef,
       kKeepAliveDefaultTimeout,
       kHostHeader,
       kPendingIdx,
       kRunningIdx,
       kError,
       kPipelining,
-      kSocket,
       kKeepAliveTimeoutValue,
       kMaxHeadersSize,
       kKeepAliveMaxTimeout,
@@ -27950,53 +28700,25 @@ var require_client2 = __commonJS({
       kInterceptors,
       kLocalAddress,
       kMaxResponseSize,
-      kHTTPConnVersion,
-      // HTTP2
-      kHost,
-      kHTTP2Session,
-      kHTTP2SessionState,
-      kHTTP2BuildRequest,
-      kHTTP2CopyHeaders,
-      kHTTP1BuildRequest
+      kOnError,
+      kHTTPContext,
+      kMaxConcurrentStreams,
+      kResume
     } = require_symbols6();
-    var http2;
-    try {
-      http2 = require("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;
-    var h2ExperimentalWarned = false;
-    var FastBuffer = Buffer[Symbol.species];
+    var connectH1 = require_client_h12();
+    var connectH2 = require_client_h22();
+    var deprecatedInterceptorWarned = false;
     var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
-    var channels = {};
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.sendHeaders = diagnosticsChannel.channel("undici:client:sendHeaders");
-      channels.beforeConnect = diagnosticsChannel.channel("undici:client:beforeConnect");
-      channels.connectError = diagnosticsChannel.channel("undici:client:connectError");
-      channels.connected = diagnosticsChannel.channel("undici:client:connected");
-    } catch {
-      channels.sendHeaders = { hasSubscribers: false };
-      channels.beforeConnect = { hasSubscribers: false };
-      channels.connectError = { hasSubscribers: false };
-      channels.connected = { hasSubscribers: false };
+    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').Client.Options} options
+       * @param {import('../../types/client.js').Client.Options} options
        */
       constructor(url, {
         interceptors,
@@ -28025,8 +28747,8 @@ var require_client2 = __commonJS({
         autoSelectFamily,
         autoSelectFamilyAttemptTimeout,
         // h2
-        allowH2,
-        maxConcurrentStreams
+        maxConcurrentStreams,
+        allowH2
       } = {}) {
         super();
         if (keepAlive !== void 0) {
@@ -28090,7 +28812,7 @@ var require_client2 = __commonJS({
           throw new InvalidArgumentError("allowH2 must be a valid boolean value");
         }
         if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) {
-          throw new InvalidArgumentError("maxConcurrentStreams must be a possitive integer, greater than 0");
+          throw new InvalidArgumentError("maxConcurrentStreams must be a positive integer, greater than 0");
         }
         if (typeof connect2 !== "function") {
           connect2 = buildConnector({
@@ -28099,19 +28821,28 @@ var require_client2 = __commonJS({
             allowH2,
             socketPath,
             timeout: connectTimeout,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
             ...connect2
           });
         }
-        this[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client) ? interceptors.Client : [createRedirectInterceptor({ maxRedirections })];
+        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[kSocket] = null;
         this[kPipelining] = pipelining != null ? pipelining : 1;
         this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize;
         this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;
         this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;
-        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold;
+        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 2e3 : keepAliveTimeoutThreshold;
         this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
         this[kServerName] = null;
         this[kLocalAddress] = localAddress != null ? localAddress : null;
@@ -28126,26 +28857,20 @@ var require_client2 = __commonJS({
         this[kMaxRequests] = maxRequestsPerClient;
         this[kClosedResolve] = null;
         this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
-        this[kHTTPConnVersion] = "h1";
-        this[kHTTP2Session] = null;
-        this[kHTTP2SessionState] = !allowH2 ? null : {
-          // streams: null, // Fixed queue of streams - For future support of `push`
-          openStreams: 0,
-          // Keep track of them to decide wether or not unref the session
-          maxConcurrentStreams: maxConcurrentStreams != null ? maxConcurrentStreams : 100
-          // Max peerConcurrentStreams for a Node h2 server
-        };
-        this[kHost] = `${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}`;
+        this[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;
-        resume(this, true);
+        this[kResume](true);
       }
       get [kPending]() {
         return this[kQueue].length - this[kPendingIdx];
@@ -28157,11 +28882,12 @@ var require_client2 = __commonJS({
         return this[kQueue].length - this[kRunningIdx];
       }
       get [kConnected]() {
-        return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed;
+        return !!this[kHTTPContext] && !this[kConnecting] && !this[kHTTPContext].destroyed;
       }
       get [kBusy]() {
-        const socket = this[kSocket];
-        return socket && (socket[kReset] || socket[kWriting] || socket[kBlocking]) || this[kSize] >= (this[kPipelining] || 1) || this[kPending] > 0;
+        return Boolean(
+          this[kHTTPContext]?.busy(null) || this[kSize] >= (getPipelining(this) || 1) || this[kPending] > 0
+        );
       }
       /* istanbul ignore: only used for test */
       [kConnect](cb) {
@@ -28170,14 +28896,14 @@ var require_client2 = __commonJS({
       }
       [kDispatch](opts, handler2) {
         const origin = opts.origin || this[kUrl].origin;
-        const request2 = this[kHTTPConnVersion] === "h2" ? Request[kHTTP2BuildRequest](origin, opts, handler2) : Request[kHTTP1BuildRequest](origin, opts, handler2);
+        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;
-          process.nextTick(resume, this);
+          queueMicrotask(() => resume(this));
         } else {
-          resume(this, true);
+          this[kResume](true);
         }
         if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
           this[kNeedDrain] = 2;
@@ -28186,10 +28912,10 @@ var require_client2 = __commonJS({
       }
       async [kClose]() {
         return new Promise((resolve2) => {
-          if (!this[kSize]) {
-            resolve2(null);
-          } else {
+          if (this[kSize]) {
             this[kClosedResolve] = resolve2;
+          } else {
+            resolve2(null);
           }
         });
       }
@@ -28198,2393 +28924,2110 @@ var require_client2 = __commonJS({
           const requests = this[kQueue].splice(this[kPendingIdx]);
           for (let i = 0; i < requests.length; i++) {
             const request2 = requests[i];
-            errorRequest2(this, request2, err);
+            util.errorRequest(this, request2, err);
           }
           const callback = () => {
             if (this[kClosedResolve]) {
               this[kClosedResolve]();
               this[kClosedResolve] = null;
             }
-            resolve2();
+            resolve2(null);
           };
-          if (this[kHTTP2Session] != null) {
-            util.destroy(this[kHTTP2Session], err);
-            this[kHTTP2Session] = null;
-            this[kHTTP2SessionState] = null;
-          }
-          if (!this[kSocket]) {
-            queueMicrotask(callback);
+          if (this[kHTTPContext]) {
+            this[kHTTPContext].destroy(err, callback);
+            this[kHTTPContext] = null;
           } else {
-            util.destroy(this[kSocket].on("close", callback), err);
+            queueMicrotask(callback);
           }
-          resume(this);
+          this[kResume]();
         });
       }
     };
-    function onHttp2SessionError(err) {
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      this[kSocket][kError] = err;
-      onError(this[kClient], err);
-    }
-    function onHttp2FrameError(type2, code, id) {
-      const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-      if (id === 0) {
-        this[kSocket][kError] = err;
-        onError(this[kClient], err);
-      }
-    }
-    function onHttp2SessionEnd() {
-      util.destroy(this, new SocketError("other side closed"));
-      util.destroy(this[kSocket], new SocketError("other side closed"));
-    }
-    function onHTTP2GoAway(code) {
-      const client = this[kClient];
-      const err = new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`);
-      client[kSocket] = null;
-      client[kHTTP2Session] = null;
-      if (client.destroyed) {
-        assert(this[kPending] === 0);
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    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];
-          errorRequest2(this, request2, err);
+          util.errorRequest(client, request2, err);
         }
-      } else if (client[kRunning] > 0) {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
+        assert(client[kSize] === 0);
       }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit(
-        "disconnect",
-        client[kUrl],
-        [client],
-        err
-      );
-      resume(client);
     }
-    var constants = require_constants8();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var EMPTY_BUF = Buffer.alloc(0);
-    async function lazyllhttp() {
-      const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm2() : void 0;
-      let mod;
-      try {
-        mod = await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm2(), "base64"));
-      } catch (e) {
-        mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require_llhttp_wasm2(), "base64"));
+    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;
       }
-      return await WebAssembly.instantiate(mod, {
-        env: {
-          /* eslint-disable camelcase */
-          wasm_on_url: (p, at, len) => {
-            return 0;
-          },
-          wasm_on_status: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_message_begin: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onMessageBegin() || 0;
-          },
-          wasm_on_header_field: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_header_value: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;
-          },
-          wasm_on_body: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+      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]
           },
-          wasm_on_message_complete: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onMessageComplete() || 0;
+          connector: client[kConnector]
+        });
+      }
+      try {
+        const socket = await new Promise((resolve2, reject) => {
+          client[kConnector]({
+            host,
+            hostname,
+            protocol,
+            port,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          }, (err, socket2) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve2(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);
           }
-          /* eslint-enable camelcase */
+        } else {
+          onError(client, err);
         }
-      });
+        client.emit("connectionError", client[kUrl], [client], err);
+      }
+      client[kResume]();
     }
-    var llhttpInstance = null;
-    var llhttpPromise = lazyllhttp();
-    llhttpPromise.catch();
-    var currentParser = null;
-    var currentBufferRef = null;
-    var currentBufferSize = 0;
-    var currentBufferPtr = null;
-    var TIMEOUT_HEADERS = 1;
-    var TIMEOUT_BODY = 2;
-    var TIMEOUT_IDLE = 3;
-    var Parser = class {
-      constructor(client, socket, { exports: 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];
+    function emitDrain(client) {
+      client[kNeedDrain] = 0;
+      client.emit("drain", client[kUrl], [client]);
+    }
+    function resume(client, sync) {
+      if (client[kResuming] === 2) {
+        return;
       }
-      setTimeout(value, type2) {
-        this.timeoutType = type2;
-        if (value !== this.timeoutValue) {
-          timers.clearTimeout(this.timeout);
-          if (value) {
-            this.timeout = timers.setTimeout(onParserTimeout, value, this);
-            if (this.timeout.unref) {
-              this.timeout.unref();
-            }
+      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 {
-            this.timeout = null;
-          }
-          this.timeoutValue = value;
-        } else if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
+            emitDrain(client);
           }
+          continue;
         }
-      }
-      resume() {
-        if (this.socket.destroyed || !this.paused) {
+        if (client[kPending] === 0) {
           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();
-          }
+        if (client[kRunning] >= (getPipelining(client) || 1)) {
+          return;
         }
-        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;
+        const request2 = client[kQueue][client[kPendingIdx]];
+        if (client[kUrl].protocol === "https:" && client[kServerName] !== request2.servername) {
+          if (client[kRunning] > 0) {
+            return;
           }
-          this.execute(chunk);
+          client[kServerName] = request2.servername;
+          client[kHTTPContext]?.destroy(new InformationalError("servername changed"), () => {
+            client[kHTTPContext] = null;
+            resume(client);
+          });
         }
-      }
-      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);
+        if (client[kConnecting]) {
+          return;
         }
-        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);
+        if (!client[kHTTPContext]) {
+          connect(client);
+          return;
         }
-      }
-      destroy() {
-        assert(this.ptr != null);
-        assert(currentParser == null);
-        this.llhttp.llhttp_free(this.ptr);
-        this.ptr = null;
-        timers.clearTimeout(this.timeout);
-        this.timeout = null;
-        this.timeoutValue = null;
-        this.timeoutType = null;
-        this.paused = false;
-      }
-      onStatus(buf) {
-        this.statusText = buf.toString();
-      }
-      onMessageBegin() {
-        const { socket, client } = this;
-        if (socket.destroyed) {
-          return -1;
+        if (client[kHTTPContext].destroyed) {
+          return;
         }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        if (!request2) {
-          return -1;
+        if (client[kHTTPContext].busy(request2)) {
+          return;
         }
-      }
-      onHeaderField(buf) {
-        const len = this.headers.length;
-        if ((len & 1) === 0) {
-          this.headers.push(buf);
+        if (!request2.aborted && client[kHTTPContext].write(request2)) {
+          client[kPendingIdx]++;
         } else {
-          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
+          client[kQueue].splice(client[kPendingIdx], 1);
         }
-        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 && key.toString().toLowerCase() === "keep-alive") {
-          this.keepAlive += buf.toString();
-        } else if (key.length === 10 && key.toString().toLowerCase() === "connection") {
-          this.connection += buf.toString();
-        } else if (key.length === 14 && key.toString().toLowerCase() === "content-length") {
-          this.contentLength += buf.toString();
-        }
-        this.trackHeader(buf.length);
+    }
+    module2.exports = Client;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/fixed-queue.js
+var require_fixed_queue2 = __commonJS({
+  "node_modules/@actions/github/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;
       }
-      trackHeader(len) {
-        this.headersSize += len;
-        if (this.headersSize >= this.headersMaxSize) {
-          util.destroy(this.socket, new HeadersOverflowError());
-        }
+      isEmpty() {
+        return this.top === this.bottom;
       }
-      onUpgrade(head) {
-        const { upgrade, client, socket, headers, statusCode } = this;
-        assert(upgrade);
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert(!socket.destroyed);
-        assert(socket === client[kSocket]);
-        assert(!this.paused);
-        assert(request2.upgrade || request2.method === "CONNECT");
-        this.statusCode = null;
-        this.statusText = "";
-        this.shouldKeepAlive = null;
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        socket.unshift(head);
-        socket[kParser].destroy();
-        socket[kParser] = null;
-        socket[kClient] = null;
-        socket[kError] = null;
-        socket.removeListener("error", onSocketError).removeListener("readable", onSocketReadable).removeListener("end", onSocketEnd).removeListener("close", onSocketClose);
-        client[kSocket] = null;
-        client[kQueue][client[kRunningIdx]++] = null;
-        client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
-        try {
-          request2.onUpgrade(statusCode, headers, socket);
-        } catch (err) {
-          util.destroy(socket, err);
-        }
-        resume(client);
+      isFull() {
+        return (this.top + 1 & kMask) === this.bottom;
       }
-      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.strictEqual(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;
+      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();
         }
-        if (upgrade) {
-          assert(client[kRunning] === 1);
-          this.upgrade = true;
-          return 2;
+        this.head.push(data);
+      }
+      shift() {
+        const tail = this.tail;
+        const next = tail.shift();
+        if (tail.isEmpty() && tail.next !== null) {
+          this.tail = tail.next;
         }
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        if (this.shouldKeepAlive && client[kPipelining]) {
-          const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null;
-          if (keepAliveTimeout != null) {
-            const timeout = Math.min(
-              keepAliveTimeout - client[kKeepAliveTimeoutThreshold],
-              client[kKeepAliveMaxTimeout]
-            );
-            if (timeout <= 0) {
-              socket[kReset] = true;
-            } else {
-              client[kKeepAliveTimeoutValue] = timeout;
+        return next;
+      }
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js
+var require_pool_stats2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js"(exports2, module2) {
+    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
+    var kPool = /* @__PURE__ */ 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/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js
+var require_pool_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js"(exports2, module2) {
+    "use strict";
+    var DispatcherBase = require_dispatcher_base2();
+    var FixedQueue = require_fixed_queue2();
+    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
+    var PoolStats = require_pool_stats2();
+    var kClients = /* @__PURE__ */ Symbol("clients");
+    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
+    var kQueue = /* @__PURE__ */ Symbol("queue");
+    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
+    var kAddClient = /* @__PURE__ */ Symbol("add client");
+    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
+    var kStats = /* @__PURE__ */ 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;
             }
-          } else {
-            client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout];
+            pool[kQueued]--;
+            needDrain = !this.dispatch(item.opts, item.handler);
           }
-        } 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;
-          resume(client);
-        }
-        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.strictEqual(this.timeoutType, TIMEOUT_BODY);
-        if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
+          this[kNeedDrain] = needDrain;
+          if (!this[kNeedDrain] && pool[kNeedDrain]) {
+            pool[kNeedDrain] = false;
+            pool.emit("drain", origin, [pool, ...targets]);
           }
-        }
-        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;
-        }
+          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);
       }
-      onMessageComplete() {
-        const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;
-        if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
-          return -1;
-        }
-        if (upgrade) {
-          return;
-        }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert(statusCode >= 100);
-        this.statusCode = null;
-        this.statusText = "";
-        this.bytesRead = 0;
-        this.contentLength = "";
-        this.keepAlive = "";
-        this.connection = "";
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        if (statusCode < 200) {
-          return;
-        }
-        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.strictEqual(client[kRunning], 0);
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (!shouldKeepAlive) {
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (socket[kReset] && client[kRunning] === 0) {
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (client[kPipelining] === 1) {
-          setImmediate(resume, client);
-        } else {
-          resume(client);
-        }
+      get [kBusy]() {
+        return this[kNeedDrain];
       }
-    };
-    function onParserTimeout(parser) {
-      const { socket, timeoutType, client } = parser;
-      if (timeoutType === TIMEOUT_HEADERS) {
-        if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
-          assert(!parser.paused, "cannot be paused while waiting for headers");
-          util.destroy(socket, new HeadersTimeoutError());
-        }
-      } else if (timeoutType === TIMEOUT_BODY) {
-        if (!parser.paused) {
-          util.destroy(socket, new BodyTimeoutError());
-        }
-      } else if (timeoutType === TIMEOUT_IDLE) {
-        assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
-        util.destroy(socket, new InformationalError("socket idle timeout"));
+      get [kConnected]() {
+        return this[kClients].filter((client) => client[kConnected]).length;
       }
-    }
-    function onSocketReadable() {
-      const { [kParser]: parser } = this;
-      if (parser) {
-        parser.readMore();
+      get [kFree]() {
+        return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;
       }
-    }
-    function onSocketError(err) {
-      const { [kClient]: client, [kParser]: parser } = this;
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      if (client[kHTTPConnVersion] !== "h2") {
-        if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-          return;
+      get [kPending]() {
+        let ret = this[kQueued];
+        for (const { [kPending]: pending } of this[kClients]) {
+          ret += pending;
         }
+        return ret;
       }
-      this[kError] = err;
-      onError(this[kClient], err);
-    }
-    function onError(client, err) {
-      if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
-        assert(client[kPendingIdx] === client[kRunningIdx]);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
+      get [kRunning]() {
+        let ret = 0;
+        for (const { [kRunning]: running } of this[kClients]) {
+          ret += running;
         }
-        assert(client[kSize] === 0);
+        return ret;
       }
-    }
-    function onSocketEnd() {
-      const { [kParser]: parser, [kClient]: client } = this;
-      if (client[kHTTPConnVersion] !== "h2") {
-        if (parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-          return;
+      get [kSize]() {
+        let ret = this[kQueued];
+        for (const { [kSize]: size } of this[kClients]) {
+          ret += size;
         }
+        return ret;
       }
-      util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
-    }
-    function onSocketClose() {
-      const { [kClient]: client, [kParser]: parser } = this;
-      if (client[kHTTPConnVersion] === "h1" && parser) {
-        if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-        }
-        this[kParser].destroy();
-        this[kParser] = null;
+      get stats() {
+        return this[kStats];
       }
-      const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
-      client[kSocket] = null;
-      if (client.destroyed) {
-        assert(client[kPending] === 0);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
+      async [kClose]() {
+        if (this[kQueue].isEmpty()) {
+          await Promise.all(this[kClients].map((c) => c.close()));
+        } else {
+          await new Promise((resolve2) => {
+            this[kClosedResolve] = resolve2;
+          });
         }
-      } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
       }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit("disconnect", client[kUrl], [client], err);
-      resume(client);
-    }
-    async function connect(client) {
-      assert(!client[kConnecting]);
-      assert(!client[kSocket]);
-      let { host, hostname, protocol, port } = client[kUrl];
-      if (hostname[0] === "[") {
-        const idx = hostname.indexOf("]");
-        assert(idx !== -1);
-        const ip = hostname.substring(1, idx);
-        assert(net.isIP(ip));
-        hostname = ip;
+      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)));
       }
-      client[kConnecting] = true;
-      if (channels.beforeConnect.hasSubscribers) {
-        channels.beforeConnect.publish({
-          connectParams: {
-            host,
-            hostname,
-            protocol,
-            port,
-            servername: client[kServerName],
-            localAddress: client[kLocalAddress]
-          },
-          connector: client[kConnector]
-        });
+      [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];
       }
-      try {
-        const socket = await new Promise((resolve2, reject) => {
-          client[kConnector]({
-            host,
-            hostname,
-            protocol,
-            port,
-            servername: client[kServerName],
-            localAddress: client[kLocalAddress]
-          }, (err, socket2) => {
-            if (err) {
-              reject(err);
-            } else {
-              resolve2(socket2);
+      [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]);
             }
           });
-        });
-        if (client.destroyed) {
-          util.destroy(socket.on("error", () => {
-          }), new ClientDestroyedError());
-          return;
         }
-        client[kConnecting] = false;
-        assert(socket);
-        const isH2 = socket.alpnProtocol === "h2";
-        if (isH2) {
-          if (!h2ExperimentalWarned) {
-            h2ExperimentalWarned = true;
-            process.emitWarning("H2 support is experimental, expect them to change at any time.", {
-              code: "UNDICI-H2"
-            });
-          }
-          const session = http2.connect(client[kUrl], {
-            createConnection: () => socket,
-            peerMaxConcurrentStreams: client[kHTTP2SessionState].maxConcurrentStreams
-          });
-          client[kHTTPConnVersion] = "h2";
-          session[kClient] = client;
-          session[kSocket] = socket;
-          session.on("error", onHttp2SessionError);
-          session.on("frameError", onHttp2FrameError);
-          session.on("end", onHttp2SessionEnd);
-          session.on("goaway", onHTTP2GoAway);
-          session.on("close", onSocketClose);
-          session.unref();
-          client[kHTTP2Session] = session;
-          socket[kHTTP2Session] = session;
-        } else {
-          if (!llhttpInstance) {
-            llhttpInstance = await llhttpPromise;
-            llhttpPromise = null;
+        return this;
+      }
+      [kRemoveClient](client) {
+        client.close(() => {
+          const idx = this[kClients].indexOf(client);
+          if (idx !== -1) {
+            this[kClients].splice(idx, 1);
           }
-          socket[kNoRef] = false;
-          socket[kWriting] = false;
-          socket[kReset] = false;
-          socket[kBlocking] = false;
-          socket[kParser] = new Parser(client, socket, llhttpInstance);
+        });
+        this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
+      }
+    };
+    module2.exports = {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js
+var require_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js"(exports2, module2) {
+    "use strict";
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kGetDispatcher
+    } = require_pool_base2();
+    var Client = require_client2();
+    var {
+      InvalidArgumentError
+    } = require_errors2();
+    var util = require_util9();
+    var { kUrl, kInterceptors } = require_symbols6();
+    var buildConnector = require_connect2();
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kConnections = /* @__PURE__ */ Symbol("connections");
+    var kFactory = /* @__PURE__ */ 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");
         }
-        socket[kCounter] = 0;
-        socket[kMaxRequests] = client[kMaxRequests];
-        socket[kClient] = client;
-        socket[kError] = null;
-        socket.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose);
-        client[kSocket] = socket;
-        if (channels.connected.hasSubscribers) {
-          channels.connected.publish({
-            connectParams: {
-              host,
-              hostname,
-              protocol,
-              port,
-              servername: client[kServerName],
-              localAddress: client[kLocalAddress]
-            },
-            connector: client[kConnector],
-            socket
-          });
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
         }
-        client.emit("connect", client[kUrl], [client]);
-      } catch (err) {
-        if (client.destroyed) {
-          return;
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
         }
-        client[kConnecting] = false;
-        if (channels.connectError.hasSubscribers) {
-          channels.connectError.publish({
-            connectParams: {
-              host,
-              hostname,
-              protocol,
-              port,
-              servername: client[kServerName],
-              localAddress: client[kLocalAddress]
-            },
-            connector: client[kConnector],
-            error: err
+        if (typeof connect !== "function") {
+          connect = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect
           });
         }
-        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]++];
-            errorRequest2(client, request2, err);
+        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, error3) => {
+          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;
           }
-        } else {
-          onError(client, err);
         }
-        client.emit("connectionError", client[kUrl], [client], err);
+        if (!this[kConnections] || this[kClients].length < this[kConnections]) {
+          const dispatcher = this[kFactory](this[kUrl], this[kOptions]);
+          this[kAddClient](dispatcher);
+          return dispatcher;
+        }
       }
-      resume(client);
+    };
+    module2.exports = Pool;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js
+var require_balanced_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js"(exports2, module2) {
+    "use strict";
+    var {
+      BalancedPoolMissingUpstreamError,
+      InvalidArgumentError
+    } = require_errors2();
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    } = require_pool_base2();
+    var Pool = require_pool2();
+    var { kUrl, kInterceptors } = require_symbols6();
+    var { parseOrigin } = require_util9();
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
+    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
+    var kIndex = /* @__PURE__ */ Symbol("kIndex");
+    var kWeight = /* @__PURE__ */ Symbol("kWeight");
+    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
+    var kErrorPenalty = /* @__PURE__ */ 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 emitDrain(client) {
-      client[kNeedDrain] = 0;
-      client.emit("drain", client[kUrl], [client]);
+    function defaultFactory(origin, opts) {
+      return new Pool(origin, opts);
     }
-    function resume(client, sync) {
-      if (client[kResuming] === 2) {
-        return;
+    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();
       }
-      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;
+      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;
       }
-    }
-    function _resume(client, sync) {
-      while (true) {
-        if (client.destroyed) {
-          assert(client[kPending] === 0);
+      _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;
         }
-        if (client[kClosedResolve] && !client[kSize]) {
-          client[kClosedResolve]();
-          client[kClosedResolve] = null;
+        const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b) => a && b, true);
+        if (allClientsBusy) {
           return;
         }
-        const socket = client[kSocket];
-        if (socket && !socket.destroyed && socket.alpnProtocol !== "h2") {
-          if (client[kSize] === 0) {
-            if (!socket[kNoRef] && socket.unref) {
-              socket.unref();
-              socket[kNoRef] = true;
-            }
-          } else if (socket[kNoRef] && socket.ref) {
-            socket.ref();
-            socket[kNoRef] = false;
+        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 (client[kSize] === 0) {
-            if (socket[kParser].timeoutType !== TIMEOUT_IDLE) {
-              socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE);
-            }
-          } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
-            if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
-              const request3 = client[kQueue][client[kRunningIdx]];
-              const headersTimeout = request3.headersTimeout != null ? request3.headersTimeout : client[kHeadersTimeout];
-              socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
+          if (this[kIndex] === 0) {
+            this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor];
+            if (this[kCurrentWeight] <= 0) {
+              this[kCurrentWeight] = this[kMaxWeightPerServer];
             }
           }
-        }
-        if (client[kBusy]) {
-          client[kNeedDrain] = 2;
-        } else if (client[kNeedDrain] === 2) {
-          if (sync) {
-            client[kNeedDrain] = 1;
-            process.nextTick(emitDrain, client);
-          } else {
-            emitDrain(client);
+          if (pool[kWeight] >= this[kCurrentWeight] && !pool[kNeedDrain]) {
+            return pool;
           }
-          continue;
         }
-        if (client[kPending] === 0) {
-          return;
-        }
-        if (client[kRunning] >= (client[kPipelining] || 1)) {
-          return;
+        this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight];
+        this[kIndex] = maxWeightIndex;
+        return this[kClients][maxWeightIndex];
+      }
+    };
+    module2.exports = BalancedPool;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js
+var require_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js"(exports2, module2) {
+    "use strict";
+    var { InvalidArgumentError } = require_errors2();
+    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
+    var DispatcherBase = require_dispatcher_base2();
+    var Pool = require_pool2();
+    var Client = require_client2();
+    var util = require_util9();
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ 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.");
         }
-        const request2 = client[kQueue][client[kPendingIdx]];
-        if (client[kUrl].protocol === "https:" && client[kServerName] !== request2.servername) {
-          if (client[kRunning] > 0) {
-            return;
-          }
-          client[kServerName] = request2.servername;
-          if (socket && socket.servername !== request2.servername) {
-            util.destroy(socket, new InformationalError("servername changed"));
-            return;
-          }
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
         }
-        if (client[kConnecting]) {
-          return;
+        if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
         }
-        if (!socket && !client[kHTTP2Session]) {
-          connect(client);
-          return;
+        if (connect && typeof connect !== "function") {
+          connect = { ...connect };
         }
-        if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) {
-          return;
+        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];
         }
-        if (client[kRunning] > 0 && !request2.idempotent) {
-          return;
+        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.");
         }
-        if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
-          return;
+        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);
         }
-        if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body))) {
-          return;
+        return dispatcher.dispatch(opts, handler2);
+      }
+      async [kClose]() {
+        const closePromises = [];
+        for (const client of this[kClients].values()) {
+          closePromises.push(client.close());
         }
-        if (!request2.aborted && write(client, request2)) {
-          client[kPendingIdx]++;
-        } else {
-          client[kQueue].splice(client[kPendingIdx], 1);
+        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/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js
+var require_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js"(exports2, module2) {
+    "use strict";
+    var { kProxy, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
+    var { URL: URL2 } = require("node:url");
+    var Agent = require_agent2();
+    var Pool = require_pool2();
+    var DispatcherBase = require_dispatcher_base2();
+    var { InvalidArgumentError, RequestAbortedError, SecureProxyConnectionError } = require_errors2();
+    var buildConnector = require_connect2();
+    var Client = require_client2();
+    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
+    var kClient = /* @__PURE__ */ Symbol("proxy client");
+    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
+    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
+    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
+    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
+    var kTunnelProxy = /* @__PURE__ */ Symbol("tunnel proxy");
+    function defaultProtocolPort(protocol) {
+      return protocol === "https:" ? 443 : 80;
     }
-    function shouldSendContentLength(method) {
-      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
+    function defaultFactory(origin, opts) {
+      return new Pool(origin, opts);
     }
-    function write(client, request2) {
-      if (client[kHTTPConnVersion] === "h2") {
-        writeH2(client, client[kHTTP2Session], request2);
-        return;
-      }
-      const { body, method, path: path3, host, upgrade, headers, blocking, reset } = request2;
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
-      if (body && typeof body.read === "function") {
-        body.read(0);
-      }
-      const bodyLength = util.bodyLength(body);
-      let contentLength = bodyLength;
-      if (contentLength === null) {
-        contentLength = request2.contentLength;
-      }
-      if (contentLength === 0 && !expectsPayload) {
-        contentLength = null;
+    var noop3 = () => {
+    };
+    function defaultAgentFactory(origin, opts) {
+      if (opts.connections === 1) {
+        return new Client(origin, opts);
       }
-      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
-        if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
-          return false;
+      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 });
         }
-        process.emitWarning(new RequestContentLengthMismatchError());
       }
-      const socket = client[kSocket];
-      try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
+      [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;
           }
-          errorRequest2(client, request2, err || new RequestAbortedError());
-          util.destroy(socket, new InformationalError("aborted"));
-        });
-      } catch (err) {
-        errorRequest2(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} ${path3} 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 (onHeaders) onHeaders.call(this, statusCode, data, resume);
+        };
+        const {
+          origin,
+          path: path3 = "/",
+          headers = {}
+        } = opts;
+        opts.path = origin + path3;
+        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);
       }
-      if (headers) {
-        header += headers;
+      async [kClose]() {
+        return this.#client.close();
       }
-      if (channels.sendHeaders.hasSubscribers) {
-        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      async [kDestroy](err) {
+        return this.#client.destroy(err);
       }
-      if (!body || bodyLength === 0) {
-        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");
+    };
+    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");
         }
-        request2.onRequestSent();
-      } else if (util.isBuffer(body)) {
-        assert(contentLength === body.byteLength, "buffer body must have content length");
-        socket.cork();
-        socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-        socket.write(body);
-        socket.uncork();
-        request2.onBodySent(body);
-        request2.onRequestSent();
-        if (!expectsPayload) {
-          socket[kReset] = true;
+        const { clientFactory = defaultFactory } = opts;
+        if (typeof clientFactory !== "function") {
+          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
         }
-      } else if (util.isBlobLike(body)) {
-        if (typeof body.stream === "function") {
-          writeIterable({ body: body.stream(), client, request: request2, socket, contentLength, header, expectsPayload });
-        } else {
-          writeBlob({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+        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")}`;
         }
-      } else if (util.isStream(body)) {
-        writeStream({ body, client, request: request2, socket, contentLength, header, expectsPayload });
-      } else if (util.isIterable(body)) {
-        writeIterable({ body, client, request: request2, socket, contentLength, header, expectsPayload });
-      } else {
-        assert(false);
-      }
-      return true;
-    }
-    function writeH2(client, session, request2) {
-      const { body, method, path: path3, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
-      let headers;
-      if (typeof reqHeaders === "string") headers = Request[kHTTP2CopyHeaders](reqHeaders.trim());
-      else headers = reqHeaders;
-      if (upgrade) {
-        errorRequest2(client, request2, new Error("Upgrade not supported for H2"));
-        return false;
-      }
-      try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
-            return;
+        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);
+              }
+            }
           }
-          errorRequest2(client, request2, err || new RequestAbortedError());
         });
-      } catch (err) {
-        errorRequest2(client, request2, err);
       }
-      if (request2.aborted) {
-        return false;
+      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
+        );
       }
-      let stream;
-      const h2State = client[kHTTP2SessionState];
-      headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost];
-      headers[HTTP2_HEADER_METHOD] = method;
-      if (method === "CONNECT") {
-        session.ref();
-        stream = session.request(headers, { endStream: false, signal });
-        if (stream.id && !stream.pending) {
-          request2.onUpgrade(null, null, stream);
-          ++h2State.openStreams;
+      /**
+       * @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 {
-          stream.once("ready", () => {
-            request2.onUpgrade(null, null, stream);
-            ++h2State.openStreams;
-          });
+          return new URL2(opts.uri);
         }
-        stream.once("close", () => {
-          h2State.openStreams -= 1;
-          if (h2State.openStreams === 0) session.unref();
-        });
-        return true;
       }
-      headers[HTTP2_HEADER_PATH] = path3;
-      headers[HTTP2_HEADER_SCHEME] = "https";
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
-      if (body && typeof body.read === "function") {
-        body.read(0);
+      async [kClose]() {
+        await this[kAgent].close();
+        await this[kClient].close();
       }
-      let contentLength = util.bodyLength(body);
-      if (contentLength == null) {
-        contentLength = request2.contentLength;
+      async [kDestroy]() {
+        await this[kAgent].destroy();
+        await this[kClient].destroy();
       }
-      if (contentLength === 0 || !expectsPayload) {
-        contentLength = null;
+    };
+    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;
       }
-      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
-        if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
-          return false;
+      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/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js
+var require_env_http_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js"(exports2, module2) {
+    "use strict";
+    var DispatcherBase = require_dispatcher_base2();
+    var { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require_symbols6();
+    var ProxyAgent = require_proxy_agent2();
+    var Agent = require_agent2();
+    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"
+          });
         }
-        process.emitWarning(new RequestContentLengthMismatchError());
+        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();
       }
-      if (contentLength != null) {
-        assert(body, "no body must not have content length");
-        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
+      [kDispatch](opts, handler2) {
+        const url = new URL(opts.origin);
+        const agent = this.#getProxyAgentForUrl(url);
+        return agent.dispatch(opts, handler2);
       }
-      session.ref();
-      const shouldEndStream = method === "GET" || method === "HEAD";
-      if (expectContinue) {
-        headers[HTTP2_HEADER_EXPECT] = "100-continue";
-        stream = session.request(headers, { endStream: shouldEndStream, signal });
-        stream.once("continue", writeBodyH2);
-      } else {
-        stream = session.request(headers, {
-          endStream: shouldEndStream,
-          signal
-        });
-        writeBodyH2();
+      async [kClose]() {
+        await this[kNoProxyAgent].close();
+        if (!this[kHttpProxyAgent][kClosed]) {
+          await this[kHttpProxyAgent].close();
+        }
+        if (!this[kHttpsProxyAgent][kClosed]) {
+          await this[kHttpsProxyAgent].close();
+        }
       }
-      ++h2State.openStreams;
-      stream.once("response", (headers2) => {
-        const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
-        if (request2.onHeaders(Number(statusCode), realHeaders, stream.resume.bind(stream), "") === false) {
-          stream.pause();
+      async [kDestroy](err) {
+        await this[kNoProxyAgent].destroy(err);
+        if (!this[kHttpProxyAgent][kDestroyed]) {
+          await this[kHttpProxyAgent].destroy(err);
         }
-      });
-      stream.once("end", () => {
-        request2.onComplete([]);
-      });
-      stream.on("data", (chunk) => {
-        if (request2.onData(chunk) === false) {
-          stream.pause();
+        if (!this[kHttpsProxyAgent][kDestroyed]) {
+          await this[kHttpsProxyAgent].destroy(err);
         }
-      });
-      stream.once("close", () => {
-        h2State.openStreams -= 1;
-        if (h2State.openStreams === 0) {
-          session.unref();
+      }
+      #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];
         }
-      });
-      stream.once("error", function(err) {
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream, err);
+        if (protocol === "https:") {
+          return this[kHttpsProxyAgent];
         }
-      });
-      stream.once("frameError", (type2, code) => {
-        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-        errorRequest2(client, request2, err);
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream, err);
+        return this[kHttpProxyAgent];
+      }
+      #shouldProxy(hostname, port) {
+        if (this.#noProxyChanged) {
+          this.#parseNoProxy();
         }
-      });
-      return true;
-      function writeBodyH2() {
-        if (!body) {
-          request2.onRequestSent();
-        } else if (util.isBuffer(body)) {
-          assert(contentLength === body.byteLength, "buffer body must have content length");
-          stream.cork();
-          stream.write(body);
-          stream.uncork();
-          stream.end();
-          request2.onBodySent(body);
-          request2.onRequestSent();
-        } else if (util.isBlobLike(body)) {
-          if (typeof body.stream === "function") {
-            writeIterable({
-              client,
-              request: request2,
-              contentLength,
-              h2stream: stream,
-              expectsPayload,
-              body: body.stream(),
-              socket: client[kSocket],
-              header: ""
-            });
+        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 {
-            writeBlob({
-              body,
-              client,
-              request: request2,
-              contentLength,
-              expectsPayload,
-              h2stream: stream,
-              header: "",
-              socket: client[kSocket]
-            });
+            if (hostname.endsWith(entry.hostname.replace(/^\*/, ""))) {
+              return false;
+            }
           }
-        } else if (util.isStream(body)) {
-          writeStream({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            socket: client[kSocket],
-            h2stream: stream,
-            header: ""
-          });
-        } else if (util.isIterable(body)) {
-          writeIterable({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            header: "",
-            h2stream: stream,
-            socket: client[kSocket]
-          });
-        } else {
-          assert(false);
         }
+        return true;
       }
-    }
-    function writeStream({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
-      if (client[kHTTPConnVersion] === "h2") {
-        let onPipeData = function(chunk) {
-          request2.onBodySent(chunk);
-        };
-        const pipe = pipeline(
-          body,
-          h2stream,
-          (err) => {
-            if (err) {
-              util.destroy(body, err);
-              util.destroy(h2stream, err);
-            } else {
-              request2.onRequestSent();
-            }
+      #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;
           }
-        );
-        pipe.on("data", onPipeData);
-        pipe.once("end", () => {
-          pipe.removeListener("data", onPipeData);
-          util.destroy(pipe);
-        });
-        return;
+          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;
       }
-      let finished = false;
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
-      const onData = function(chunk) {
-        if (finished) {
-          return;
+      get #noProxyChanged() {
+        if (this.#opts.noProxy !== void 0) {
+          return false;
         }
-        try {
-          if (!writer.write(chunk) && this.pause) {
-            this.pause();
+        return this.#noProxyValue !== this.#noProxyEnv;
+      }
+      get #noProxyEnv() {
+        return process.env.no_proxy ?? process.env.NO_PROXY ?? "";
+      }
+    };
+    module2.exports = EnvHttpProxyAgent;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/handler/retry-handler.js
+var require_retry_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/retry-handler.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { kRetryHandlerDefaultRetry } = require_symbols6();
+    var { RequestRetryError } = require_errors2();
+    var {
+      isDisturbed,
+      parseHeaders,
+      parseRangeHeader,
+      wrapRequestBody
+    } = require_util9();
+    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;
           }
-        } catch (err) {
-          util.destroy(this, err);
+        });
+      }
+      onRequestSent() {
+        if (this.handler.onRequestSent) {
+          this.handler.onRequestSent();
         }
-      };
-      const onDrain = function() {
-        if (finished) {
-          return;
+      }
+      onUpgrade(statusCode, headers, socket) {
+        if (this.handler.onUpgrade) {
+          this.handler.onUpgrade(statusCode, headers, socket);
         }
-        if (body.resume) {
-          body.resume();
+      }
+      onConnect(abort) {
+        if (this.aborted) {
+          abort(this.reason);
+        } else {
+          this.abort = abort;
         }
-      };
-      const onAbort = function() {
-        if (finished) {
+      }
+      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;
         }
-        const err = new RequestAbortedError();
-        queueMicrotask(() => onFinished(err));
-      };
-      const onFinished = function(err) {
-        if (finished) {
+        if (Array.isArray(methods) && !methods.includes(method)) {
+          cb(err);
           return;
         }
-        finished = true;
-        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
-        socket.off("drain", onDrain).off("error", onFinished);
-        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("error", onFinished).removeListener("close", onAbort);
-        if (!err) {
-          try {
-            writer.end();
-          } catch (er) {
-            err = er;
-          }
-        }
-        writer.destroy(err);
-        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
-          util.destroy(body, err);
-        } else {
-          util.destroy(body);
-        }
-      };
-      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onAbort);
-      if (body.resume) {
-        body.resume();
-      }
-      socket.on("drain", onDrain).on("error", onFinished);
-    }
-    async function writeBlob({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength === body.size, "blob body must have content length");
-      const isH2 = client[kHTTPConnVersion] === "h2";
-      try {
-        if (contentLength != null && contentLength !== body.size) {
-          throw new RequestContentLengthMismatchError();
-        }
-        const buffer = Buffer.from(await body.arrayBuffer());
-        if (isH2) {
-          h2stream.cork();
-          h2stream.write(buffer);
-          h2stream.uncork();
-        } else {
-          socket.cork();
-          socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-          socket.write(buffer);
-          socket.uncork();
+        if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) {
+          cb(err);
+          return;
         }
-        request2.onBodySent(buffer);
-        request2.onRequestSent();
-        if (!expectsPayload) {
-          socket[kReset] = true;
+        if (counter > maxRetries) {
+          cb(err);
+          return;
         }
-        resume(client);
-      } catch (err) {
-        util.destroy(isH2 ? h2stream : socket, err);
-      }
-    }
-    async function writeIterable({ h2stream, body, client, request: 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();
+        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);
       }
-      const waitForDrain = () => new Promise((resolve2, reject) => {
-        assert(callback === null);
-        if (socket[kError]) {
-          reject(socket[kError]);
-        } else {
-          callback = resolve2;
-        }
-      });
-      if (client[kHTTPConnVersion] === "h2") {
-        h2stream.on("close", onDrain).on("drain", onDrain);
-        try {
-          for await (const chunk of body) {
-            if (socket[kError]) {
-              throw socket[kError];
-            }
-            const res = h2stream.write(chunk);
-            request2.onBodySent(chunk);
-            if (!res) {
-              await waitForDrain();
-            }
+      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;
           }
-        } catch (err) {
-          h2stream.destroy(err);
-        } finally {
-          request2.onRequestSent();
-          h2stream.end();
-          h2stream.off("close", onDrain).off("drain", onDrain);
         }
-        return;
-      }
-      socket.on("close", onDrain).on("drain", onDrain);
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
-      try {
-        for await (const chunk of body) {
-          if (socket[kError]) {
-            throw socket[kError];
+        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;
           }
-          if (!writer.write(chunk)) {
-            await waitForDrain();
+          const contentRange = parseRangeHeader(headers["content-range"]);
+          if (!contentRange) {
+            this.abort(
+              new RequestRetryError("Content-Range mismatch", statusCode, {
+                headers,
+                data: { count: this.retryCount }
+              })
+            );
+            return false;
           }
-        }
-        writer.end();
-      } catch (err) {
-        writer.destroy(err);
-      } finally {
-        socket.off("close", onDrain).off("drain", onDrain);
-      }
-    }
-    var AsyncWriter = class {
-      constructor({ 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;
-        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();
+          if (this.etag != null && this.etag !== headers.etag) {
+            this.abort(
+              new RequestRetryError("ETag mismatch", statusCode, {
+                headers,
+                data: { count: this.retryCount }
+              })
+            );
+            return false;
           }
-          process.emitWarning(new RequestContentLengthMismatchError());
+          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;
         }
-        socket.cork();
-        if (bytesWritten === 0) {
-          if (!expectsPayload) {
-            socket[kReset] = 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 (contentLength === null) {
-            socket.write(`${header}transfer-encoding: chunked\r
-`, "latin1");
-          } else {
-            socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
+          if (this.end == null) {
+            const contentLength = headers["content-length"];
+            this.end = contentLength != null ? Number(contentLength) - 1 : null;
           }
-        }
-        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();
-            }
+          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
+          );
         }
-        return ret;
+        const err = new RequestRetryError("Request failed", statusCode, {
+          headers,
+          data: { count: this.retryCount }
+        });
+        this.abort(err);
+        return false;
       }
-      end() {
-        const { socket, contentLength, client, bytesWritten, expectsPayload, header, request: request2 } = this;
-        request2.onRequestSent();
-        socket[kWriting] = false;
-        if (socket[kError]) {
-          throw socket[kError];
+      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 (socket.destroyed) {
-          return;
+        if (this.retryCount - this.retryCountCheckpoint > 0) {
+          this.retryCount = this.retryCountCheckpoint + (this.retryCount - this.retryCountCheckpoint);
+        } else {
+          this.retryCount += 1;
         }
-        if (bytesWritten === 0) {
-          if (expectsPayload) {
-            socket.write(`${header}content-length: 0\r
-\r
-`, "latin1");
-          } else {
-            socket.write(`${header}\r
-`, "latin1");
+        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);
           }
-        } 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 (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
+              }
+            };
           }
-        }
-        if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
-          if (socket[kParser].timeout.refresh) {
-            socket[kParser].timeout.refresh();
+          try {
+            this.retryCountCheckpoint = this.retryCount;
+            this.dispatch(this.opts, this);
+          } catch (err3) {
+            this.handler.onError(err3);
           }
         }
-        resume(client);
-      }
-      destroy(err) {
-        const { socket, client } = this;
-        socket[kWriting] = false;
-        if (err) {
-          assert(client[kRunning] <= 1, "pipeline should only contain this request");
-          util.destroy(socket, err);
-        }
       }
     };
-    function errorRequest2(client, request2, err) {
-      try {
-        request2.onError(err);
-        assert(request2.aborted);
-      } catch (err2) {
-        client.emit("error", err2);
-      }
-    }
-    module2.exports = Client;
+    module2.exports = RetryHandler;
   }
 });
 
-// node_modules/undici/lib/node/fixed-queue.js
-var require_fixed_queue2 = __commonJS({
-  "node_modules/undici/lib/node/fixed-queue.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js
+var require_retry_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.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;
+    var Dispatcher = require_dispatcher2();
+    var RetryHandler = require_retry_handler2();
+    var RetryAgent = class extends Dispatcher {
+      #agent = null;
+      #options = null;
+      constructor(agent, options = {}) {
+        super(options);
+        this.#agent = agent;
+        this.#options = options;
       }
-      isFull() {
-        return (this.top + 1 & kMask) === this.bottom;
+      dispatch(opts, handler2) {
+        const retry2 = new RetryHandler({
+          ...opts,
+          retryOptions: this.#options
+        }, {
+          dispatch: this.#agent.dispatch.bind(this.#agent),
+          handler: handler2
+        });
+        return this.#agent.dispatch(opts, retry2);
       }
-      push(data) {
-        this.list[this.top] = data;
-        this.top = this.top + 1 & kMask;
+      close() {
+        return this.#agent.close();
       }
-      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;
+      destroy() {
+        return this.#agent.destroy();
       }
     };
-    module2.exports = class FixedQueue {
-      constructor() {
-        this.head = this.tail = new FixedCircularBuffer();
+    module2.exports = RetryAgent;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/readable.js
+var require_readable2 = __commonJS({
+  "node_modules/@actions/github/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_errors2();
+    var util = require_util9();
+    var { ReadableStreamFrom } = require_util9();
+    var kConsume = /* @__PURE__ */ Symbol("kConsume");
+    var kReading = /* @__PURE__ */ Symbol("kReading");
+    var kBody = /* @__PURE__ */ Symbol("kBody");
+    var kAbort = /* @__PURE__ */ Symbol("kAbort");
+    var kContentType = /* @__PURE__ */ Symbol("kContentType");
+    var kContentLength = /* @__PURE__ */ 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;
       }
-      isEmpty() {
-        return this.head.isEmpty();
+      destroy(err) {
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
+        }
+        if (err) {
+          this[kAbort]();
+        }
+        return super.destroy(err);
       }
-      push(data) {
-        if (this.head.isFull()) {
-          this.head = this.head.next = new FixedCircularBuffer();
+      _destroy(err, callback) {
+        if (!this[kReading]) {
+          setImmediate(() => {
+            callback(err);
+          });
+        } else {
+          callback(err);
         }
-        this.head.push(data);
       }
-      shift() {
-        const tail = this.tail;
-        const next = tail.shift();
-        if (tail.isEmpty() && tail.next !== null) {
-          this.tail = tail.next;
+      on(ev, ...args) {
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = true;
         }
-        return next;
+        return super.on(ev, ...args);
       }
-    };
-  }
-});
-
-// node_modules/undici/lib/pool-stats.js
-var require_pool_stats2 = __commonJS({
-  "node_modules/undici/lib/pool-stats.js"(exports2, module2) {
-    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
-    var kPool = /* @__PURE__ */ Symbol("pool");
-    var PoolStats = class {
-      constructor(pool) {
-        this[kPool] = pool;
+      addListener(ev, ...args) {
+        return this.on(ev, ...args);
       }
-      get connected() {
-        return this[kPool][kConnected];
+      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;
       }
-      get free() {
-        return this[kPool][kFree];
+      removeListener(ev, ...args) {
+        return this.off(ev, ...args);
       }
-      get pending() {
-        return this[kPool][kPending];
+      push(chunk) {
+        if (this[kConsume] && chunk !== null) {
+          consumePush(this[kConsume], chunk);
+          return this[kReading] ? super.push(chunk) : true;
+        }
+        return super.push(chunk);
       }
-      get queued() {
-        return this[kPool][kQueued];
+      // https://fetch.spec.whatwg.org/#dom-body-text
+      async text() {
+        return consume(this, "text");
       }
-      get running() {
-        return this[kPool][kRunning];
+      // https://fetch.spec.whatwg.org/#dom-body-json
+      async json() {
+        return consume(this, "json");
       }
-      get size() {
-        return this[kPool][kSize];
+      // https://fetch.spec.whatwg.org/#dom-body-blob
+      async blob() {
+        return consume(this, "blob");
       }
-    };
-    module2.exports = PoolStats;
-  }
-});
-
-// node_modules/undici/lib/pool-base.js
-var require_pool_base2 = __commonJS({
-  "node_modules/undici/lib/pool-base.js"(exports2, module2) {
-    "use strict";
-    var DispatcherBase = require_dispatcher_base2();
-    var FixedQueue = require_fixed_queue2();
-    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
-    var PoolStats = require_pool_stats2();
-    var kClients = /* @__PURE__ */ Symbol("clients");
-    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
-    var kQueue = /* @__PURE__ */ Symbol("queue");
-    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
-    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
-    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
-    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
-    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
-    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
-    var kAddClient = /* @__PURE__ */ Symbol("add client");
-    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
-    var kStats = /* @__PURE__ */ 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);
+      // https://fetch.spec.whatwg.org/#dom-body-bytes
+      async bytes() {
+        return consume(this, "bytes");
       }
-      get [kBusy]() {
-        return this[kNeedDrain];
+      // https://fetch.spec.whatwg.org/#dom-body-arraybuffer
+      async arrayBuffer() {
+        return consume(this, "arrayBuffer");
       }
-      get [kConnected]() {
-        return this[kClients].filter((client) => client[kConnected]).length;
+      // https://fetch.spec.whatwg.org/#dom-body-formdata
+      async formData() {
+        throw new NotSupportedError();
       }
-      get [kFree]() {
-        return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;
+      // https://fetch.spec.whatwg.org/#dom-body-bodyused
+      get bodyUsed() {
+        return util.isDisturbed(this);
       }
-      get [kPending]() {
-        let ret = this[kQueued];
-        for (const { [kPending]: pending } of this[kClients]) {
-          ret += pending;
+      // 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 ret;
+        return this[kBody];
       }
-      get [kRunning]() {
-        let ret = 0;
-        for (const { [kRunning]: running } of this[kClients]) {
-          ret += running;
+      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");
         }
-        return ret;
-      }
-      get [kSize]() {
-        let ret = this[kQueued];
-        for (const { [kSize]: size } of this[kClients]) {
-          ret += size;
+        signal?.throwIfAborted();
+        if (this._readableState.closeEmitted) {
+          return null;
         }
-        return ret;
-      }
-      get stats() {
-        return this[kStats];
+        return await new Promise((resolve2, 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 {
+              resolve2(null);
+            }
+          }).on("error", noop3).on("data", function(chunk) {
+            limit -= chunk.length;
+            if (limit <= 0) {
+              this.destroy();
+            }
+          }).resume();
+        });
       }
-      async [kClose]() {
-        if (this[kQueue].isEmpty()) {
-          return Promise.all(this[kClients].map((c) => c.close()));
+    };
+    function isLocked(self2) {
+      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
+    }
+    function isUnusable(self2) {
+      return util.isDisturbed(self2) || isLocked(self2);
+    }
+    async function consume(stream, type2) {
+      assert(!stream[kConsume]);
+      return new Promise((resolve2, 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 {
-          return new Promise((resolve2) => {
-            this[kClosedResolve] = resolve2;
+          queueMicrotask(() => {
+            stream[kConsume] = {
+              type: type2,
+              stream,
+              resolve: resolve2,
+              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;
       }
-      async [kDestroy](err) {
-        while (true) {
-          const item = this[kQueue].shift();
-          if (!item) {
-            break;
-          }
-          item.handler.onError(err);
+      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]);
         }
-        return 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]();
+      } else {
+        for (const chunk of state.buffer) {
+          consumePush(consume2, chunk);
         }
-        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]) {
-          process.nextTick(() => {
-            if (this[kNeedDrain]) {
-              this[kOnDrain](client[kUrl], [this, client]);
-            }
-          });
+      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: type2, body, resolve: resolve2, stream, length } = consume2;
+      try {
+        if (type2 === "text") {
+          resolve2(chunksDecode(body, length));
+        } else if (type2 === "json") {
+          resolve2(JSON.parse(chunksDecode(body, length)));
+        } else if (type2 === "arrayBuffer") {
+          resolve2(chunksConcat(body, length).buffer);
+        } else if (type2 === "blob") {
+          resolve2(new Blob(body, { type: stream[kContentType] }));
+        } else if (type2 === "bytes") {
+          resolve2(chunksConcat(body, length));
         }
-        return this;
+        consumeFinish(consume2);
+      } catch (err) {
+        stream.destroy(err);
       }
-      [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);
+    }
+    function consumePush(consume2, chunk) {
+      consume2.length += chunk.length;
+      consume2.body.push(chunk);
+    }
+    function consumeFinish(consume2, err) {
+      if (consume2.body === null) {
+        return;
       }
-    };
-    module2.exports = {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kRemoveClient,
-      kGetDispatcher
-    };
+      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/pool.js
-var require_pool2 = __commonJS({
-  "node_modules/undici/lib/pool.js"(exports2, module2) {
-    "use strict";
-    var {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kGetDispatcher
-    } = require_pool_base2();
-    var Client = require_client2();
+// node_modules/@actions/github/node_modules/undici/lib/api/util.js
+var require_util11 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/util.js"(exports2, module2) {
+    var assert = require("node:assert");
     var {
-      InvalidArgumentError
+      ResponseStatusCodeError
     } = require_errors2();
-    var util = require_util9();
-    var { kUrl, kInterceptors } = require_symbols6();
-    var buildConnector = require_connect2();
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    var kConnections = /* @__PURE__ */ Symbol("connections");
-    var kFactory = /* @__PURE__ */ 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,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
-            ...connect
-          });
-        }
-        this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
-        this[kConnections] = connections || null;
-        this[kUrl] = util.parseOrigin(origin);
-        this[kOptions] = { ...util.deepClone(options), connect, allowH2 };
-        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
-        this[kFactory] = factory;
-        this.on("connectionError", (origin2, targets, error3) => {
-          for (const target of targets) {
-            const idx = this[kClients].indexOf(target);
-            if (idx !== -1) {
-              this[kClients].splice(idx, 1);
-            }
+    var { chunksDecode } = require_readable2();
+    var CHUNK_LIMIT = 128 * 1024;
+    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
+      assert(body);
+      let chunks = [];
+      let length = 0;
+      try {
+        for await (const chunk of body) {
+          chunks.push(chunk);
+          length += chunk.length;
+          if (length > CHUNK_LIMIT) {
+            chunks = [];
+            length = 0;
+            break;
           }
-        });
-      }
-      [kGetDispatcher]() {
-        let dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain]);
-        if (dispatcher) {
-          return dispatcher;
         }
-        if (!this[kConnections] || this[kClients].length < this[kConnections]) {
-          dispatcher = this[kFactory](this[kUrl], this[kOptions]);
-          this[kAddClient](dispatcher);
+      } 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);
         }
-        return dispatcher;
+      } 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
     };
-    module2.exports = Pool;
   }
 });
 
-// node_modules/undici/lib/balanced-pool.js
-var require_balanced_pool2 = __commonJS({
-  "node_modules/undici/lib/balanced-pool.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/api/api-request.js
+var require_api_request2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-request.js"(exports2, module2) {
     "use strict";
-    var {
-      BalancedPoolMissingUpstreamError,
-      InvalidArgumentError
-    } = require_errors2();
-    var {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kRemoveClient,
-      kGetDispatcher
-    } = require_pool_base2();
-    var Pool = require_pool2();
-    var { kUrl, kInterceptors } = require_symbols6();
-    var { parseOrigin } = require_util9();
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
-    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
-    var kIndex = /* @__PURE__ */ Symbol("kIndex");
-    var kWeight = /* @__PURE__ */ Symbol("kWeight");
-    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
-    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
-    function getGreatestCommonDivisor(a, b) {
-      if (b === 0) return a;
-      return getGreatestCommonDivisor(b, a % b);
-    }
-    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];
+    var assert = require("node:assert");
+    var { Readable } = require_readable2();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
+    var util = require_util9();
+    var { getResolveErrorBodyCallback } = require_util11();
+    var { AsyncResource } = require("node:async_hooks");
+    var RequestHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        if (typeof factory !== "function") {
-          throw new InvalidArgumentError("factory must be a function.");
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
+        try {
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
+            throw new InvalidArgumentError("invalid highWaterMark");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
+          }
+          super("UNDICI_REQUEST");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
         }
-        this[kInterceptors] = opts.interceptors && opts.interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : [];
-        this[kFactory] = factory;
-        for (const upstream of upstreams) {
-          this.addUpstream(upstream);
+        this.method = method;
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.body = body;
+        this.trailers = {};
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError;
+        this.highWaterMark = highWaterMark;
+        this.signal = signal;
+        this.reason = null;
+        this.removeAbortListener = null;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
+        }
+        if (this.signal) {
+          if (this.signal.aborted) {
+            this.reason = this.signal.reason ?? new RequestAbortedError();
+          } else {
+            this.removeAbortListener = util.addAbortListener(this.signal, () => {
+              this.reason = this.signal.reason ?? new RequestAbortedError();
+              if (this.res) {
+                util.destroy(this.res.on("error", util.nop), this.reason);
+              } else if (this.abort) {
+                this.abort(this.reason);
+              }
+              if (this.removeAbortListener) {
+                this.res?.off("close", this.removeAbortListener);
+                this.removeAbortListener();
+                this.removeAbortListener = null;
+              }
+            });
+          }
         }
-        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;
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
-        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();
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
+      }
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { callback, opaque, abort, context: context2, 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
         });
-        for (const client of this[kClients]) {
-          client[kWeight] = this[kMaxWeightPerServer];
+        if (this.removeAbortListener) {
+          res.on("close", this.removeAbortListener);
         }
-        this._updateBalancedPoolStats();
-        return this;
-      }
-      _updateBalancedPoolStats() {
-        this[kGreatestCommonDivisor] = this[kClients].map((p) => p[kWeight]).reduce(getGreatestCommonDivisor, 0);
-      }
-      removeUpstream(upstream) {
-        const upstreamOrigin = parseOrigin(upstream).origin;
-        const pool = this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true);
-        if (pool) {
-          this[kRemoveClient](pool);
+        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: context2
+            });
+          }
         }
-        return this;
       }
-      get upstreams() {
-        return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin);
+      onData(chunk) {
+        return this.res.push(chunk);
       }
-      [kGetDispatcher]() {
-        if (this[kClients].length === 0) {
-          throw new BalancedPoolMissingUpstreamError();
+      onComplete(trailers) {
+        util.parseHeaders(trailers, this.trailers);
+        this.res.push(null);
+      }
+      onError(err) {
+        const { res, callback, body, opaque } = this;
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        const dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain] && dispatcher2.closed !== true && dispatcher2.destroyed !== true);
-        if (!dispatcher) {
-          return;
+        if (res) {
+          this.res = null;
+          queueMicrotask(() => {
+            util.destroy(res, err);
+          });
         }
-        const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b) => a && b, true);
-        if (allClientsBusy) {
-          return;
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
         }
-        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;
-          }
+        if (this.removeAbortListener) {
+          res?.off("close", this.removeAbortListener);
+          this.removeAbortListener();
+          this.removeAbortListener = null;
         }
-        this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight];
-        this[kIndex] = maxWeightIndex;
-        return this[kClients][maxWeightIndex];
       }
     };
-    module2.exports = BalancedPool;
+    function request2(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve2, reject) => {
+          request2.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve2(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/compat/dispatcher-weakref.js
-var require_dispatcher_weakref2 = __commonJS({
-  "node_modules/undici/lib/compat/dispatcher-weakref.js"(exports2, module2) {
-    "use strict";
-    var { kConnected, kSize } = require_symbols6();
-    var CompatWeakRef = class {
-      constructor(value) {
-        this.value = value;
+// node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js
+var require_abort_signal2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
+    var { addAbortListener } = require_util9();
+    var { RequestAbortedError } = require_errors2();
+    var kListener = /* @__PURE__ */ Symbol("kListener");
+    var kSignal = /* @__PURE__ */ Symbol("kSignal");
+    function abort(self2) {
+      if (self2.abort) {
+        self2.abort(self2[kSignal]?.reason);
+      } else {
+        self2.reason = self2[kSignal]?.reason ?? new RequestAbortedError();
       }
-      deref() {
-        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
+      removeSignal(self2);
+    }
+    function addSignal(self2, signal) {
+      self2.reason = null;
+      self2[kSignal] = null;
+      self2[kListener] = null;
+      if (!signal) {
+        return;
       }
-    };
-    var CompatFinalizer = class {
-      constructor(finalizer) {
-        this.finalizer = finalizer;
+      if (signal.aborted) {
+        abort(self2);
+        return;
       }
-      register(dispatcher, key) {
-        if (dispatcher.on) {
-          dispatcher.on("disconnect", () => {
-            if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {
-              this.finalizer(key);
-            }
-          });
-        }
+      self2[kSignal] = signal;
+      self2[kListener] = () => {
+        abort(self2);
+      };
+      addAbortListener(self2[kSignal], self2[kListener]);
+    }
+    function removeSignal(self2) {
+      if (!self2[kSignal]) {
+        return;
       }
-    };
-    module2.exports = function() {
-      if (process.env.NODE_V8_COVERAGE) {
-        return {
-          WeakRef: CompatWeakRef,
-          FinalizationRegistry: CompatFinalizer
-        };
+      if ("removeEventListener" in self2[kSignal]) {
+        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      } else {
+        self2[kSignal].removeListener("abort", self2[kListener]);
       }
-      return {
-        WeakRef: global.WeakRef || CompatWeakRef,
-        FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer
-      };
+      self2[kSignal] = null;
+      self2[kListener] = null;
+    }
+    module2.exports = {
+      addSignal,
+      removeSignal
     };
   }
 });
 
-// node_modules/undici/lib/agent.js
-var require_agent2 = __commonJS({
-  "node_modules/undici/lib/agent.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/api/api-stream.js
+var require_api_stream2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
     "use strict";
-    var { InvalidArgumentError } = require_errors2();
-    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
-    var DispatcherBase = require_dispatcher_base2();
-    var Pool = require_pool2();
-    var Client = require_client2();
+    var assert = require("node:assert");
+    var { finished, PassThrough } = require("node:stream");
+    var { InvalidArgumentError, InvalidReturnValueError } = require_errors2();
     var util = require_util9();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var { WeakRef: WeakRef2, FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
-    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
-    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
-    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
-    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
-    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    var kFinalizer = /* @__PURE__ */ Symbol("finalizer");
-    var kOptions = /* @__PURE__ */ 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 };
+    var { getResolveErrorBodyCallback } = require_util11();
+    var { AsyncResource } = require("node:async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var StreamHandler = class extends AsyncResource {
+      constructor(opts, factory, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        this[kInterceptors] = options.interceptors && options.interceptors.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
-        this[kOptions] = { ...util.deepClone(options), connect };
-        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
-        this[kMaxRedirections] = maxRedirections;
-        this[kFactory] = factory;
-        this[kClients] = /* @__PURE__ */ new Map();
-        this[kFinalizer] = new FinalizationRegistry2(
-          /* istanbul ignore next: gc is undeterministic */
-          (key) => {
-            const ref = this[kClients].get(key);
-            if (ref !== void 0 && ref.deref() === void 0) {
-              this[kClients].delete(key);
-            }
-          }
-        );
-        const agent = this;
-        this[kOnDrain] = (origin, targets) => {
-          agent.emit("drain", origin, [agent, ...targets]);
-        };
-        this[kOnConnect] = (origin, targets) => {
-          agent.emit("connect", origin, [agent, ...targets]);
-        };
-        this[kOnDisconnect] = (origin, targets, err) => {
-          agent.emit("disconnect", origin, [agent, ...targets], err);
-        };
-        this[kOnConnectionError] = (origin, targets, err) => {
-          agent.emit("connectionError", origin, [agent, ...targets], err);
-        };
-      }
-      get [kRunning]() {
-        let ret = 0;
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            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.");
-        }
-        const ref = this[kClients].get(key);
-        let dispatcher = ref ? ref.deref() : null;
-        if (!dispatcher) {
-          dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
-          this[kClients].set(key, new WeakRef2(dispatcher));
-          this[kFinalizer].register(dispatcher, key);
-        }
-        return dispatcher.dispatch(opts, handler2);
-      }
-      async [kClose]() {
-        const closePromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            closePromises.push(client.close());
-          }
-        }
-        await Promise.all(closePromises);
-      }
-      async [kDestroy](err) {
-        const destroyPromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            destroyPromises.push(client.destroy(err));
-          }
-        }
-        await Promise.all(destroyPromises);
-      }
-    };
-    module2.exports = Agent;
-  }
-});
-
-// node_modules/undici/lib/api/readable.js
-var require_readable2 = __commonJS({
-  "node_modules/undici/lib/api/readable.js"(exports2, module2) {
-    "use strict";
-    var assert = require("assert");
-    var { Readable } = require("stream");
-    var { RequestAbortedError, NotSupportedError, InvalidArgumentError } = require_errors2();
-    var util = require_util9();
-    var { ReadableStreamFrom, toUSVString } = require_util9();
-    var Blob2;
-    var kConsume = /* @__PURE__ */ Symbol("kConsume");
-    var kReading = /* @__PURE__ */ Symbol("kReading");
-    var kBody = /* @__PURE__ */ Symbol("kBody");
-    var kAbort = /* @__PURE__ */ Symbol("abort");
-    var kContentType = /* @__PURE__ */ Symbol("kContentType");
-    var noop3 = () => {
-    };
-    module2.exports = class BodyReadable extends Readable {
-      constructor({
-        resume,
-        abort,
-        contentType = "",
-        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[kReading] = false;
-      }
-      destroy(err) {
-        if (this.destroyed) {
-          return this;
-        }
-        if (!err && !this._readableState.endEmitted) {
-          err = new RequestAbortedError();
-        }
-        if (err) {
-          this[kAbort]();
-        }
-        return super.destroy(err);
-      }
-      emit(ev, ...args) {
-        if (ev === "data") {
-          this._readableState.dataEmitted = true;
-        } else if (ev === "error") {
-          this._readableState.errorEmitted = true;
-        }
-        return super.emit(ev, ...args);
-      }
-      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 && this.readableLength === 0) {
-          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-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];
-      }
-      dump(opts) {
-        let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144;
-        const signal = opts && opts.signal;
-        if (signal) {
-          try {
-            if (typeof signal !== "object" || !("aborted" in signal)) {
-              throw new InvalidArgumentError("signal must be an AbortSignal");
-            }
-            util.throwIfAborted(signal);
-          } catch (err) {
-            return Promise.reject(err);
-          }
-        }
-        if (this.closed) {
-          return Promise.resolve(null);
-        }
-        return new Promise((resolve2, reject) => {
-          const signalListenerCleanup = signal ? util.addAbortListener(signal, () => {
-            this.destroy();
-          }) : noop3;
-          this.on("close", function() {
-            signalListenerCleanup();
-            if (signal && signal.aborted) {
-              reject(signal.reason || Object.assign(new Error("The operation was aborted"), { name: "AbortError" }));
-            } else {
-              resolve2(null);
-            }
-          }).on("error", noop3).on("data", function(chunk) {
-            limit -= chunk.length;
-            if (limit <= 0) {
-              this.destroy();
-            }
-          }).resume();
-        });
-      }
-    };
-    function isLocked(self2) {
-      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
-    }
-    function isUnusable(self2) {
-      return util.isDisturbed(self2) || isLocked(self2);
-    }
-    async function consume(stream, type2) {
-      if (isUnusable(stream)) {
-        throw new TypeError("unusable");
-      }
-      assert(!stream[kConsume]);
-      return new Promise((resolve2, reject) => {
-        stream[kConsume] = {
-          type: type2,
-          stream,
-          resolve: resolve2,
-          reject,
-          length: 0,
-          body: []
-        };
-        stream.on("error", function(err) {
-          consumeFinish(this[kConsume], err);
-        }).on("close", function() {
-          if (this[kConsume].body !== null) {
-            consumeFinish(this[kConsume], new RequestAbortedError());
-          }
-        });
-        process.nextTick(consumeStart, stream[kConsume]);
-      });
-    }
-    function consumeStart(consume2) {
-      if (consume2.body === null) {
-        return;
-      }
-      const { _readableState: state } = consume2.stream;
-      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 consumeEnd(consume2) {
-      const { type: type2, body, resolve: resolve2, stream, length } = consume2;
-      try {
-        if (type2 === "text") {
-          resolve2(toUSVString(Buffer.concat(body)));
-        } else if (type2 === "json") {
-          resolve2(JSON.parse(Buffer.concat(body)));
-        } else if (type2 === "arrayBuffer") {
-          const dst = new Uint8Array(length);
-          let pos = 0;
-          for (const buf of body) {
-            dst.set(buf, pos);
-            pos += buf.byteLength;
-          }
-          resolve2(dst.buffer);
-        } else if (type2 === "blob") {
-          if (!Blob2) {
-            Blob2 = require("buffer").Blob;
-          }
-          resolve2(new Blob2(body, { type: stream[kContentType] }));
-        }
-        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;
-    }
-  }
-});
-
-// node_modules/undici/lib/api/util.js
-var require_util11 = __commonJS({
-  "node_modules/undici/lib/api/util.js"(exports2, module2) {
-    var assert = require("assert");
-    var {
-      ResponseStatusCodeError
-    } = require_errors2();
-    var { toUSVString } = require_util9();
-    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
-      assert(body);
-      let chunks = [];
-      let limit = 0;
-      for await (const chunk of body) {
-        chunks.push(chunk);
-        limit += chunk.length;
-        if (limit > 128 * 1024) {
-          chunks = null;
-          break;
-        }
-      }
-      if (statusCode === 204 || !contentType || !chunks) {
-        process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
-        return;
-      }
-      try {
-        if (contentType.startsWith("application/json")) {
-          const payload = JSON.parse(toUSVString(Buffer.concat(chunks)));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
-        }
-        if (contentType.startsWith("text/")) {
-          const payload = toUSVString(Buffer.concat(chunks));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
-        }
-      } catch (err) {
-      }
-      process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
-    }
-    module2.exports = { getResolveErrorBodyCallback };
-  }
-});
-
-// node_modules/undici/lib/api/abort-signal.js
-var require_abort_signal2 = __commonJS({
-  "node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
-    var { addAbortListener } = require_util9();
-    var { RequestAbortedError } = require_errors2();
-    var kListener = /* @__PURE__ */ Symbol("kListener");
-    var kSignal = /* @__PURE__ */ Symbol("kSignal");
-    function abort(self2) {
-      if (self2.abort) {
-        self2.abort();
-      } else {
-        self2.onError(new RequestAbortedError());
-      }
-    }
-    function addSignal(self2, signal) {
-      self2[kSignal] = null;
-      self2[kListener] = null;
-      if (!signal) {
-        return;
-      }
-      if (signal.aborted) {
-        abort(self2);
-        return;
-      }
-      self2[kSignal] = signal;
-      self2[kListener] = () => {
-        abort(self2);
-      };
-      addAbortListener(self2[kSignal], self2[kListener]);
-    }
-    function removeSignal(self2) {
-      if (!self2[kSignal]) {
-        return;
-      }
-      if ("removeEventListener" in self2[kSignal]) {
-        self2[kSignal].removeEventListener("abort", self2[kListener]);
-      } else {
-        self2[kSignal].removeListener("abort", self2[kListener]);
-      }
-      self2[kSignal] = null;
-      self2[kListener] = null;
-    }
-    module2.exports = {
-      addSignal,
-      removeSignal
-    };
-  }
-});
-
-// node_modules/undici/lib/api/api-request.js
-var require_api_request2 = __commonJS({
-  "node_modules/undici/lib/api/api-request.js"(exports2, module2) {
-    "use strict";
-    var Readable = require_readable2();
-    var {
-      InvalidArgumentError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { getResolveErrorBodyCallback } = require_util11();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var RequestHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
         try {
           if (typeof callback !== "function") {
             throw new InvalidArgumentError("invalid callback");
           }
-          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
-            throw new InvalidArgumentError("invalid highWaterMark");
+          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");
@@ -30595,7 +31038,7 @@ var require_api_request2 = __commonJS({
           if (onInfo && typeof onInfo !== "function") {
             throw new InvalidArgumentError("invalid onInfo callback");
           }
-          super("UNDICI_REQUEST");
+          super("UNDICI_STREAM");
         } catch (err) {
           if (util.isStream(body)) {
             util.destroy(body.on("error", util.nop), err);
@@ -30604,15 +31047,15 @@ var require_api_request2 = __commonJS({
         }
         this.responseHeaders = responseHeaders || null;
         this.opaque = opaque || null;
+        this.factory = factory;
         this.callback = callback;
         this.res = null;
         this.abort = null;
-        this.body = body;
-        this.trailers = {};
         this.context = null;
+        this.trailers = null;
+        this.body = body;
         this.onInfo = onInfo || null;
-        this.throwOnError = throwOnError;
-        this.highWaterMark = highWaterMark;
+        this.throwOnError = throwOnError || false;
         if (util.isStream(body)) {
           body.on("error", (err) => {
             this.onError(err);
@@ -30621,14 +31064,16 @@ var require_api_request2 = __commonJS({
         addSignal(this, signal);
       }
       onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
+        assert(this.callback);
         this.abort = abort;
         this.context = context2;
       }
       onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const { callback, opaque, abort, context: context2, responseHeaders, highWaterMark } = this;
+        const { factory, opaque, context: context2, callback, responseHeaders } = this;
         const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
         if (statusCode < 200) {
           if (this.onInfo) {
@@ -30636,167 +31081,12 @@ var require_api_request2 = __commonJS({
           }
           return;
         }
-        const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
-        const contentType = parsedHeaders["content-type"];
-        const body = new Readable({ resume, abort, contentType, highWaterMark });
-        this.callback = null;
-        this.res = body;
-        if (callback !== null) {
-          if (this.throwOnError && statusCode >= 400) {
-            this.runInAsyncScope(
-              getResolveErrorBodyCallback,
-              null,
-              { callback, body, contentType, statusCode, statusMessage, headers }
-            );
-          } else {
-            this.runInAsyncScope(callback, null, null, {
-              statusCode,
-              headers,
-              trailers: this.trailers,
-              opaque,
-              body,
-              context: context2
-            });
-          }
-        }
-      }
-      onData(chunk) {
-        const { res } = this;
-        return res.push(chunk);
-      }
-      onComplete(trailers) {
-        const { res } = this;
-        removeSignal(this);
-        util.parseHeaders(trailers, this.trailers);
-        res.push(null);
-      }
-      onError(err) {
-        const { res, callback, body, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
-        if (res) {
-          this.res = null;
-          queueMicrotask(() => {
-            util.destroy(res, err);
-          });
-        }
-        if (body) {
-          this.body = null;
-          util.destroy(body, err);
-        }
-      }
-    };
-    function request2(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve2, reject) => {
-          request2.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve2(data);
-          });
-        });
-      }
-      try {
-        this.dispatch(opts, new RequestHandler(opts, callback));
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
-        }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
-      }
-    }
-    module2.exports = request2;
-    module2.exports.RequestHandler = RequestHandler;
-  }
-});
-
-// node_modules/undici/lib/api/api-stream.js
-var require_api_stream2 = __commonJS({
-  "node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
-    "use strict";
-    var { finished, PassThrough } = require("stream");
-    var {
-      InvalidArgumentError,
-      InvalidReturnValueError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { getResolveErrorBodyCallback } = require_util11();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var StreamHandler = class extends AsyncResource {
-      constructor(opts, factory, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
-        try {
-          if (typeof callback !== "function") {
-            throw new InvalidArgumentError("invalid callback");
-          }
-          if (typeof factory !== "function") {
-            throw new InvalidArgumentError("invalid factory");
-          }
-          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-          }
-          if (method === "CONNECT") {
-            throw new InvalidArgumentError("invalid method");
-          }
-          if (onInfo && typeof onInfo !== "function") {
-            throw new InvalidArgumentError("invalid onInfo callback");
-          }
-          super("UNDICI_STREAM");
-        } catch (err) {
-          if (util.isStream(body)) {
-            util.destroy(body.on("error", util.nop), err);
-          }
-          throw err;
-        }
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.factory = factory;
-        this.callback = callback;
-        this.res = null;
-        this.abort = null;
-        this.context = null;
-        this.trailers = null;
-        this.body = body;
-        this.onInfo = onInfo || null;
-        this.throwOnError = throwOnError || false;
-        if (util.isStream(body)) {
-          body.on("error", (err) => {
-            this.onError(err);
-          });
-        }
-        addSignal(this, signal);
-      }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
-      }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const { factory, opaque, context: context2, 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.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,
@@ -30831,7 +31121,7 @@ var require_api_stream2 = __commonJS({
         }
         res.on("drain", resume);
         this.res = res;
-        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState && res._writableState.needDrain;
+        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState?.needDrain;
         return needDrain !== true;
       }
       onData(chunk) {
@@ -30880,7 +31170,7 @@ var require_api_stream2 = __commonJS({
         if (typeof callback !== "function") {
           throw err;
         }
-        const opaque = opts && opts.opaque;
+        const opaque = opts?.opaque;
         queueMicrotask(() => callback(err, { opaque }));
       }
     }
@@ -30888,24 +31178,24 @@ var require_api_stream2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/api/api-pipeline.js
+// node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js
 var require_api_pipeline2 = __commonJS({
-  "node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
     "use strict";
     var {
       Readable,
       Duplex,
       PassThrough
-    } = require("stream");
+    } = require("node:stream");
     var {
       InvalidArgumentError,
       InvalidReturnValueError,
       RequestAbortedError
     } = require_errors2();
     var util = require_util9();
-    var { AsyncResource } = require("async_hooks");
+    var { AsyncResource } = require("node:async_hooks");
     var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
+    var assert = require("node:assert");
     var kResume = /* @__PURE__ */ Symbol("resume");
     var PipelineRequest = class extends Readable {
       constructor() {
@@ -30970,7 +31260,7 @@ var require_api_pipeline2 = __commonJS({
           autoDestroy: true,
           read: () => {
             const { body } = this;
-            if (body && body.resume) {
+            if (body?.resume) {
               body.resume();
             }
           },
@@ -31005,10 +31295,12 @@ var require_api_pipeline2 = __commonJS({
       }
       onConnect(abort, context2) {
         const { ret, res } = this;
-        assert(!res, "pipeline cannot be retried");
-        if (ret.destroyed) {
-          throw new RequestAbortedError();
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
+        assert(!res, "pipeline cannot be retried");
+        assert(!ret.destroyed);
         this.abort = abort;
         this.context = context2;
       }
@@ -31086,15 +31378,15 @@ var require_api_pipeline2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/api/api-upgrade.js
+// node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js
 var require_api_upgrade2 = __commonJS({
-  "node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
     "use strict";
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
-    var { AsyncResource } = require("async_hooks");
+    var { InvalidArgumentError, SocketError } = require_errors2();
+    var { AsyncResource } = require("node:async_hooks");
     var util = require_util9();
     var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
+    var assert = require("node:assert");
     var UpgradeHandler = class extends AsyncResource {
       constructor(opts, callback) {
         if (!opts || typeof opts !== "object") {
@@ -31116,9 +31408,11 @@ var require_api_upgrade2 = __commonJS({
         addSignal(this, signal);
       }
       onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
+        assert(this.callback);
         this.abort = abort;
         this.context = null;
       }
@@ -31126,8 +31420,8 @@ var require_api_upgrade2 = __commonJS({
         throw new SocketError("bad upgrade", null);
       }
       onUpgrade(statusCode, rawHeaders, socket) {
+        assert(statusCode === 101);
         const { callback, opaque, context: context2 } = this;
-        assert.strictEqual(statusCode, 101);
         removeSignal(this);
         this.callback = null;
         const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
@@ -31168,7 +31462,7 @@ var require_api_upgrade2 = __commonJS({
         if (typeof callback !== "function") {
           throw err;
         }
-        const opaque = opts && opts.opaque;
+        const opaque = opts?.opaque;
         queueMicrotask(() => callback(err, { opaque }));
       }
     }
@@ -31176,12 +31470,13 @@ var require_api_upgrade2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/api/api-connect.js
+// node_modules/@actions/github/node_modules/undici/lib/api/api-connect.js
 var require_api_connect2 = __commonJS({
-  "node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
     "use strict";
-    var { AsyncResource } = require("async_hooks");
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
+    var assert = require("node:assert");
+    var { AsyncResource } = require("node:async_hooks");
+    var { InvalidArgumentError, SocketError } = require_errors2();
     var util = require_util9();
     var { addSignal, removeSignal } = require_abort_signal2();
     var ConnectHandler = class extends AsyncResource {
@@ -31204,9 +31499,11 @@ var require_api_connect2 = __commonJS({
         addSignal(this, signal);
       }
       onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
+        assert(this.callback);
         this.abort = abort;
         this.context = context2;
       }
@@ -31255,7 +31552,7 @@ var require_api_connect2 = __commonJS({
         if (typeof callback !== "function") {
           throw err;
         }
-        const opaque = opts && opts.opaque;
+        const opaque = opts?.opaque;
         queueMicrotask(() => callback(err, { opaque }));
       }
     }
@@ -31263,9 +31560,9 @@ var require_api_connect2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/api/index.js
+// node_modules/@actions/github/node_modules/undici/lib/api/index.js
 var require_api2 = __commonJS({
-  "node_modules/undici/lib/api/index.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/api/index.js"(exports2, module2) {
     "use strict";
     module2.exports.request = require_api_request2();
     module2.exports.stream = require_api_stream2();
@@ -31275,11 +31572,12 @@ var require_api2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/mock-errors.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js
 var require_mock_errors2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
     "use strict";
     var { UndiciError } = require_errors2();
+    var kMockNotMatchedError = /* @__PURE__ */ Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED");
     var MockNotMatchedError = class _MockNotMatchedError extends UndiciError {
       constructor(message) {
         super(message);
@@ -31288,6 +31586,10 @@ var require_mock_errors2 = __commonJS({
         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
@@ -31295,9 +31597,9 @@ var require_mock_errors2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/mock-symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js
 var require_mock_symbols2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
     "use strict";
     module2.exports = {
       kAgent: /* @__PURE__ */ Symbol("agent"),
@@ -31323,9 +31625,9 @@ var require_mock_symbols2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/mock-utils.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js
 var require_mock_utils2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
     "use strict";
     var { MockNotMatchedError } = require_mock_errors2();
     var {
@@ -31335,13 +31637,13 @@ var require_mock_utils2 = __commonJS({
       kOrigin,
       kGetNetConnect
     } = require_mock_symbols2();
-    var { buildURL, nop } = require_util9();
-    var { STATUS_CODES } = require("http");
+    var { buildURL } = require_util9();
+    var { STATUS_CODES } = require("node:http");
     var {
       types: {
         isPromise
       }
-    } = require("util");
+    } = require("node:util");
     function matchValue(match, value) {
       if (typeof match === "string") {
         return match === value;
@@ -31426,6 +31728,10 @@ var require_mock_utils2 = __commonJS({
     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 {
@@ -31441,15 +31747,16 @@ var require_mock_utils2 = __commonJS({
       }
       matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method));
       if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`);
+        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}' on path '${resolvedPath}'`);
       }
       matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
       if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`);
+        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) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers}'`);
+        const headers = typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers;
+        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${headers}' on path '${resolvedPath}'`);
       }
       return matchedMockDispatches[0];
     }
@@ -31482,11 +31789,21 @@ var require_mock_utils2 = __commonJS({
       };
     }
     function generateKeyValues(data) {
-      return Object.entries(data).reduce((keyValuePairs, [key, value]) => [
-        ...keyValuePairs,
-        Buffer.from(`${key}`),
-        Array.isArray(value) ? value.map((x) => Buffer.from(`${x}`)) : Buffer.from(`${value}`)
-      ], []);
+      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";
@@ -31531,10 +31848,10 @@ var require_mock_utils2 = __commonJS({
         const responseData = getResponseData2(body);
         const responseHeaders = generateKeyValues(headers);
         const responseTrailers = generateKeyValues(trailers);
-        handler2.abort = nop;
-        handler2.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode));
-        handler2.onData(Buffer.from(responseData));
-        handler2.onComplete(responseTrailers);
+        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() {
@@ -31598,14 +31915,15 @@ var require_mock_utils2 = __commonJS({
       buildMockDispatch,
       checkNetConnect,
       buildMockOptions,
-      getHeaderByName
+      getHeaderByName,
+      buildHeadersFromArray
     };
   }
 });
 
-// node_modules/undici/lib/mock/mock-interceptor.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js
 var require_mock_interceptor2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
     "use strict";
     var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils2();
     var {
@@ -31678,46 +31996,47 @@ var require_mock_interceptor2 = __commonJS({
         this[kDefaultTrailers] = {};
         this[kContentLength] = false;
       }
-      createMockScopeDispatchData(statusCode, data, responseOptions = {}) {
+      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(statusCode, data, responseOptions) {
-        if (typeof statusCode === "undefined") {
+      validateReplyParameters(replyParameters) {
+        if (typeof replyParameters.statusCode === "undefined") {
           throw new InvalidArgumentError("statusCode must be defined");
         }
-        if (typeof data === "undefined") {
-          throw new InvalidArgumentError("data must be defined");
-        }
-        if (typeof responseOptions !== "object") {
+        if (typeof replyParameters.responseOptions !== "object" || replyParameters.responseOptions === null) {
           throw new InvalidArgumentError("responseOptions must be an object");
         }
       }
       /**
        * Mock an undici request with a defined reply.
        */
-      reply(replyData) {
-        if (typeof replyData === "function") {
+      reply(replyOptionsCallbackOrStatusCode) {
+        if (typeof replyOptionsCallbackOrStatusCode === "function") {
           const wrappedDefaultsCallback = (opts) => {
-            const resolvedData = replyData(opts);
-            if (typeof resolvedData !== "object") {
+            const resolvedData = replyOptionsCallbackOrStatusCode(opts);
+            if (typeof resolvedData !== "object" || resolvedData === null) {
               throw new InvalidArgumentError("reply options callback must return an object");
             }
-            const { statusCode: statusCode2, data: data2 = "", responseOptions: responseOptions2 = {} } = resolvedData;
-            this.validateReplyParameters(statusCode2, data2, responseOptions2);
+            const replyParameters2 = { data: "", responseOptions: {}, ...resolvedData };
+            this.validateReplyParameters(replyParameters2);
             return {
-              ...this.createMockScopeDispatchData(statusCode2, data2, responseOptions2)
+              ...this.createMockScopeDispatchData(replyParameters2)
             };
           };
           const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback);
           return new MockScope(newMockDispatch2);
         }
-        const [statusCode, data = "", responseOptions = {}] = [...arguments];
-        this.validateReplyParameters(statusCode, data, responseOptions);
-        const dispatchData = this.createMockScopeDispatchData(statusCode, data, responseOptions);
+        const 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);
       }
@@ -31764,11 +32083,11 @@ var require_mock_interceptor2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/mock-client.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js
 var require_mock_client2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
     "use strict";
-    var { promisify } = require("util");
+    var { promisify } = require("node:util");
     var Client = require_client2();
     var { buildMockDispatch } = require_mock_utils2();
     var {
@@ -31817,11 +32136,11 @@ var require_mock_client2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/mock-pool.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js
 var require_mock_pool2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
     "use strict";
-    var { promisify } = require("util");
+    var { promisify } = require("node:util");
     var Pool = require_pool2();
     var { buildMockDispatch } = require_mock_utils2();
     var {
@@ -31870,9 +32189,9 @@ var require_mock_pool2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/pluralizer.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/pluralizer.js
 var require_pluralizer2 = __commonJS({
-  "node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) {
     "use strict";
     var singulars = {
       pronoun: "it",
@@ -31901,12 +32220,14 @@ var require_pluralizer2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/pending-interceptors-formatter.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js
 var require_pending_interceptors_formatter2 = __commonJS({
-  "node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
     "use strict";
-    var { Transform } = require("stream");
-    var { Console } = require("console");
+    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({
@@ -31928,7 +32249,7 @@ var require_pending_interceptors_formatter2 = __commonJS({
             Origin: origin,
             Path: path3,
             "Status code": statusCode,
-            Persistent: persist ? "\u2705" : "\u274C",
+            Persistent: persist ? PERSISTENT : NOT_PERSISTENT,
             Invocations: timesInvoked,
             Remaining: persist ? Infinity : times - timesInvoked
           })
@@ -31940,9 +32261,9 @@ var require_pending_interceptors_formatter2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/mock-agent.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js
 var require_mock_agent2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
     "use strict";
     var { kClients } = require_symbols6();
     var Agent = require_agent2();
@@ -31964,23 +32285,15 @@ var require_mock_agent2 = __commonJS({
     var Dispatcher = require_dispatcher2();
     var Pluralizer = require_pluralizer2();
     var PendingInterceptorsFormatter = require_pending_interceptors_formatter2();
-    var FakeWeakRef = class {
-      constructor(value) {
-        this.value = value;
-      }
-      deref() {
-        return this.value;
-      }
-    };
     var MockAgent = class extends Dispatcher {
       constructor(opts) {
         super(opts);
         this[kNetConnect] = true;
         this[kIsMockActive] = true;
-        if (opts && opts.agent && typeof opts.agent.dispatch !== "function") {
+        if (opts?.agent && typeof opts.agent.dispatch !== "function") {
           throw new InvalidArgumentError("Argument opts.agent must implement Agent");
         }
-        const agent = opts && opts.agent ? opts.agent : new Agent(opts);
+        const agent = opts?.agent ? opts.agent : new Agent(opts);
         this[kAgent] = agent;
         this[kClients] = agent[kClients];
         this[kOptions] = buildMockOptions(opts);
@@ -32029,24 +32342,23 @@ var require_mock_agent2 = __commonJS({
         return this[kIsMockActive];
       }
       [kMockAgentSet](origin, dispatcher) {
-        this[kClients].set(origin, new FakeWeakRef(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 ref = this[kClients].get(origin);
-        if (ref) {
-          return ref.deref();
+        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, nonExplicitRef] of Array.from(this[kClients])) {
-          const nonExplicitDispatcher = nonExplicitRef.deref();
+        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);
@@ -32060,7 +32372,7 @@ var require_mock_agent2 = __commonJS({
       }
       pendingInterceptors() {
         const mockAgentClients = this[kClients];
-        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope.deref()[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
+        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
       }
       assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) {
         const pending = this.pendingInterceptors();
@@ -32079,428 +32391,9 @@ ${pendingInterceptorsFormatter.format(pending)}
   }
 });
 
-// node_modules/undici/lib/proxy-agent.js
-var require_proxy_agent2 = __commonJS({
-  "node_modules/undici/lib/proxy-agent.js"(exports2, module2) {
-    "use strict";
-    var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols6();
-    var { URL: URL2 } = require("url");
-    var Agent = require_agent2();
-    var Pool = require_pool2();
-    var DispatcherBase = require_dispatcher_base2();
-    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
-    var buildConnector = require_connect2();
-    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
-    var kClient = /* @__PURE__ */ Symbol("proxy client");
-    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
-    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
-    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
-    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
-    function defaultProtocolPort(protocol) {
-      return protocol === "https:" ? 443 : 80;
-    }
-    function buildProxyOptions(opts) {
-      if (typeof opts === "string") {
-        opts = { uri: opts };
-      }
-      if (!opts || !opts.uri) {
-        throw new InvalidArgumentError("Proxy opts.uri is mandatory");
-      }
-      return {
-        uri: opts.uri,
-        protocol: opts.protocol || "https"
-      };
-    }
-    function defaultFactory(origin, opts) {
-      return new Pool(origin, opts);
-    }
-    var ProxyAgent = class extends DispatcherBase {
-      constructor(opts) {
-        super(opts);
-        this[kProxy] = buildProxyOptions(opts);
-        this[kAgent] = new Agent(opts);
-        this[kInterceptors] = opts.interceptors && opts.interceptors.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : [];
-        if (typeof opts === "string") {
-          opts = { uri: opts };
-        }
-        if (!opts || !opts.uri) {
-          throw new InvalidArgumentError("Proxy opts.uri is mandatory");
-        }
-        const { clientFactory = defaultFactory } = opts;
-        if (typeof clientFactory !== "function") {
-          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
-        }
-        this[kRequestTls] = opts.requestTls;
-        this[kProxyTls] = opts.proxyTls;
-        this[kProxyHeaders] = opts.headers || {};
-        const resolvedUrl = new URL2(opts.uri);
-        const { origin, port, host, username, password } = resolvedUrl;
-        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 });
-        this[kClient] = clientFactory(resolvedUrl, { connect });
-        this[kAgent] = new Agent({
-          ...opts,
-          connect: async (opts2, callback) => {
-            let requestedHost = opts2.host;
-            if (!opts2.port) {
-              requestedHost += `:${defaultProtocolPort(opts2.protocol)}`;
-            }
-            try {
-              const { socket, statusCode } = await this[kClient].connect({
-                origin,
-                port,
-                path: requestedHost,
-                signal: opts2.signal,
-                headers: {
-                  ...this[kProxyHeaders],
-                  host
-                }
-              });
-              if (statusCode !== 200) {
-                socket.on("error", () => {
-                }).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) {
-              callback(err);
-            }
-          }
-        });
-      }
-      dispatch(opts, handler2) {
-        const { host } = new URL2(opts.origin);
-        const headers = buildHeaders(opts.headers);
-        throwIfProxyAuthIsSent(headers);
-        return this[kAgent].dispatch(
-          {
-            ...opts,
-            headers: {
-              ...headers,
-              host
-            }
-          },
-          handler2
-        );
-      }
-      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/handler/RetryHandler.js
-var require_RetryHandler = __commonJS({
-  "node_modules/undici/lib/handler/RetryHandler.js"(exports2, module2) {
-    var assert = require("assert");
-    var { kRetryHandlerDefaultRetry } = require_symbols6();
-    var { RequestRetryError } = require_errors2();
-    var { isDisturbed, parseHeaders, parseRangeHeader } = require_util9();
-    function calculateRetryAfterHeader(retryAfter) {
-      const current = Date.now();
-      const diff = new Date(retryAfter).getTime() - current;
-      return diff;
-    }
-    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;
-        this.abort = null;
-        this.aborted = false;
-        this.retryOpts = {
-          retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry],
-          retryAfter: retryAfter ?? true,
-          maxTimeout: maxTimeout ?? 30 * 1e3,
-          // 30s,
-          timeout: 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"
-          ]
-        };
-        this.retryCount = 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,
-          timeout,
-          maxTimeout,
-          timeoutFactor,
-          statusCodes,
-          errorCodes,
-          methods
-        } = retryOptions;
-        let { counter, currentTimeout } = state;
-        currentTimeout = currentTimeout != null && currentTimeout > 0 ? currentTimeout : timeout;
-        if (code && code !== "UND_ERR_REQ_RETRY" && code !== "UND_ERR_SOCKET" && !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 != null && headers["retry-after"];
-        if (retryAfterHeader) {
-          retryAfterHeader = Number(retryAfterHeader);
-          retryAfterHeader = isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3;
-        }
-        const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(currentTimeout * timeoutFactor ** counter, maxTimeout);
-        state.currentTimeout = retryTimeout;
-        setTimeout(() => cb(null), retryTimeout);
-      }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const headers = parseHeaders(rawHeaders);
-        this.retryCount += 1;
-        if (statusCode >= 300) {
-          this.abort(
-            new RequestRetryError("Request failed", statusCode, {
-              headers,
-              count: this.retryCount
-            })
-          );
-          return false;
-        }
-        if (this.resume != null) {
-          this.resume = null;
-          if (statusCode !== 206) {
-            return true;
-          }
-          const contentRange = parseRangeHeader(headers["content-range"]);
-          if (!contentRange) {
-            this.abort(
-              new RequestRetryError("Content-Range mismatch", statusCode, {
-                headers,
-                count: this.retryCount
-              })
-            );
-            return false;
-          }
-          if (this.etag != null && this.etag !== headers.etag) {
-            this.abort(
-              new RequestRetryError("ETag mismatch", statusCode, {
-                headers,
-                count: this.retryCount
-              })
-            );
-            return false;
-          }
-          const { start, size, end = size } = 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 } = range;
-            assert(
-              start != null && Number.isFinite(start) && this.start !== start,
-              "content-range mismatch"
-            );
-            assert(Number.isFinite(start));
-            assert(
-              end != null && Number.isFinite(end) && this.end !== 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) : 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;
-          return this.handler.onHeaders(
-            statusCode,
-            rawHeaders,
-            resume,
-            statusMessage
-          );
-        }
-        const err = new RequestRetryError("Request failed", statusCode, {
-          headers,
-          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);
-        }
-        this.retryOpts.retry(
-          err,
-          {
-            state: { counter: this.retryCount++, currentTimeout: this.retryAfter },
-            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) {
-            this.opts = {
-              ...this.opts,
-              headers: {
-                ...this.opts.headers,
-                range: `bytes=${this.start}-${this.end ?? ""}`
-              }
-            };
-          }
-          try {
-            this.dispatch(this.opts, this);
-          } catch (err3) {
-            this.handler.onError(err3);
-          }
-        }
-      }
-    };
-    module2.exports = RetryHandler;
-  }
-});
-
-// node_modules/undici/lib/global.js
+// node_modules/@actions/github/node_modules/undici/lib/global.js
 var require_global4 = __commonJS({
-  "node_modules/undici/lib/global.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/global.js"(exports2, module2) {
     "use strict";
     var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
     var { InvalidArgumentError } = require_errors2();
@@ -32529,62 +32422,505 @@ var require_global4 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/handler/DecoratorHandler.js
-var require_DecoratorHandler = __commonJS({
-  "node_modules/undici/lib/handler/DecoratorHandler.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/handler/decorator-handler.js
+var require_decorator_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/decorator-handler.js"(exports2, module2) {
     "use strict";
     module2.exports = class DecoratorHandler {
+      #handler;
       constructor(handler2) {
-        this.handler = 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);
+        return this.#handler.onConnect?.(...args);
       }
       onError(...args) {
-        return this.handler.onError(...args);
+        return this.#handler.onError?.(...args);
       }
       onUpgrade(...args) {
-        return this.handler.onUpgrade(...args);
+        return this.#handler.onUpgrade?.(...args);
+      }
+      onResponseStarted(...args) {
+        return this.#handler.onResponseStarted?.(...args);
       }
       onHeaders(...args) {
-        return this.handler.onHeaders(...args);
+        return this.#handler.onHeaders?.(...args);
       }
       onData(...args) {
-        return this.handler.onData(...args);
+        return this.#handler.onData?.(...args);
       }
       onComplete(...args) {
-        return this.handler.onComplete(...args);
+        return this.#handler.onComplete?.(...args);
       }
       onBodySent(...args) {
-        return this.handler.onBodySent(...args);
+        return this.#handler.onBodySent?.(...args);
       }
     };
   }
 });
 
-// node_modules/undici/lib/fetch/headers.js
-var require_headers2 = __commonJS({
-  "node_modules/undici/lib/fetch/headers.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js
+var require_redirect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js"(exports2, module2) {
     "use strict";
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var { kGuard } = require_symbols7();
-    var { kEnumerableProperty } = require_util9();
-    var {
-      makeIterator,
-      isValidHeaderName,
-      isValidHeaderValue
-    } = require_util10();
-    var util = require("util");
-    var { webidl } = require_webidl2();
-    var assert = require("assert");
-    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
-    var kHeadersSortedMap = /* @__PURE__ */ 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;
+    var RedirectHandler = require_redirect_handler2();
+    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/@actions/github/node_modules/undici/lib/interceptor/retry.js
+var require_retry2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js"(exports2, module2) {
+    "use strict";
+    var RetryHandler = require_retry_handler2();
+    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/@actions/github/node_modules/undici/lib/interceptor/dump.js
+var require_dump2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/dump.js"(exports2, module2) {
+    "use strict";
+    var util = require_util9();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
+    var DecoratorHandler = require_decorator_handler2();
+    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/@actions/github/node_modules/undici/lib/interceptor/dns.js
+var require_dns2 = __commonJS({
+  "node_modules/@actions/github/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_handler2();
+    var { InvalidArgumentError, InformationalError } = require_errors2();
+    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 timestamp2 = Date.now();
+        const records = { records: { 4: null, 6: null } };
+        for (const record of addresses) {
+          record.timestamp = timestamp2;
+          if (typeof record.ttl === "number") {
+            record.ttl = Math.min(record.ttl, this.#maxTTL);
+          } else {
+            record.ttl = this.#maxTTL;
+          }
+          const familyRecords = records.records[record.family] ?? { ips: [] };
+          familyRecords.ips.push(record);
+          records.records[record.family] = familyRecords;
+        }
+        this.#records.set(origin.hostname, records);
+      }
+      getHandler(meta, opts) {
+        return new DNSDispatchHandler(this, meta, opts);
+      }
+    };
+    var DNSDispatchHandler = class extends DecoratorHandler {
+      #state = null;
+      #opts = null;
+      #dispatch = null;
+      #handler = null;
+      #origin = null;
+      constructor(state, { origin, handler: handler2, dispatch }, opts) {
+        super(handler2);
+        this.#origin = origin;
+        this.#handler = handler2;
+        this.#opts = { ...opts };
+        this.#state = state;
+        this.#dispatch = dispatch;
+      }
+      onError(err) {
+        switch (err.code) {
+          case "ETIMEDOUT":
+          case "ECONNREFUSED": {
+            if (this.#state.dualStack) {
+              this.#state.runLookup(this.#origin, this.#opts, (err2, newOrigin) => {
+                if (err2) {
+                  return this.#handler.onError(err2);
+                }
+                const dispatchOpts = {
+                  ...this.#opts,
+                  origin: newOrigin
+                };
+                this.#dispatch(dispatchOpts, this);
+              });
+              return;
+            }
+            this.#handler.onError(err);
+            return;
+          }
+          case "ENOTFOUND":
+            this.#state.deleteRecord(this.#origin);
+          // eslint-disable-next-line no-fallthrough
+          default:
+            this.#handler.onError(err);
+            break;
+        }
+      }
+    };
+    module2.exports = (interceptorOpts) => {
+      if (interceptorOpts?.maxTTL != null && (typeof interceptorOpts?.maxTTL !== "number" || interceptorOpts?.maxTTL < 0)) {
+        throw new InvalidArgumentError("Invalid maxTTL. Must be a positive number");
+      }
+      if (interceptorOpts?.maxItems != null && (typeof interceptorOpts?.maxItems !== "number" || interceptorOpts?.maxItems < 1)) {
+        throw new InvalidArgumentError(
+          "Invalid maxItems. Must be a positive number and greater than zero"
+        );
+      }
+      if (interceptorOpts?.affinity != null && interceptorOpts?.affinity !== 4 && interceptorOpts?.affinity !== 6) {
+        throw new InvalidArgumentError("Invalid affinity. Must be either 4 or 6");
+      }
+      if (interceptorOpts?.dualStack != null && typeof interceptorOpts?.dualStack !== "boolean") {
+        throw new InvalidArgumentError("Invalid dualStack. Must be a boolean");
+      }
+      if (interceptorOpts?.lookup != null && typeof interceptorOpts?.lookup !== "function") {
+        throw new InvalidArgumentError("Invalid lookup. Must be a function");
+      }
+      if (interceptorOpts?.pick != null && typeof interceptorOpts?.pick !== "function") {
+        throw new InvalidArgumentError("Invalid pick. Must be a function");
+      }
+      const dualStack = interceptorOpts?.dualStack ?? true;
+      let affinity;
+      if (dualStack) {
+        affinity = interceptorOpts?.affinity ?? null;
+      } else {
+        affinity = interceptorOpts?.affinity ?? 4;
+      }
+      const opts = {
+        maxTTL: interceptorOpts?.maxTTL ?? 1e4,
+        // Expressed in ms
+        lookup: interceptorOpts?.lookup ?? null,
+        pick: interceptorOpts?.pick ?? null,
+        dualStack,
+        affinity,
+        maxItems: interceptorOpts?.maxItems ?? Infinity
+      };
+      const instance = new DNSInstance(opts);
+      return (dispatch) => {
+        return function dnsInterceptor(origDispatchOpts, handler2) {
+          const origin = origDispatchOpts.origin.constructor === URL ? origDispatchOpts.origin : new URL(origDispatchOpts.origin);
+          if (isIP(origin.hostname) !== 0) {
+            return dispatch(origDispatchOpts, handler2);
+          }
+          instance.runLookup(origin, origDispatchOpts, (err, newOrigin) => {
+            if (err) {
+              return handler2.onError(err);
+            }
+            let dispatchOpts = null;
+            dispatchOpts = {
+              ...origDispatchOpts,
+              servername: origin.hostname,
+              // For SNI on TLS
+              origin: newOrigin,
+              headers: {
+                host: origin.hostname,
+                ...origDispatchOpts.headers
+              }
+            };
+            dispatch(
+              dispatchOpts,
+              instance.getHandler({ origin, dispatch, handler: handler2 }, origDispatchOpts)
+            );
+          });
+          return true;
+        };
+      };
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js
+var require_headers2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols6();
+    var { kEnumerableProperty } = require_util9();
+    var {
+      iteratorMixin,
+      isValidHeaderName,
+      isValidHeaderValue
+    } = require_util10();
+    var { webidl } = require_webidl2();
+    var assert = require("node:assert");
+    var util = require("node:util");
+    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
+    var kHeadersSortedMap = /* @__PURE__ */ 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);
@@ -32629,11 +32965,13 @@ var require_headers2 = __commonJS({
           type: "header value"
         });
       }
-      if (headers[kGuard] === "immutable") {
+      if (getHeadersGuard(headers) === "immutable") {
         throw new TypeError("immutable");
-      } else if (headers[kGuard] === "request-no-cors") {
       }
-      return headers[kHeadersList].append(name, value);
+      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} */
@@ -32648,20 +32986,28 @@ var require_headers2 = __commonJS({
           this[kHeadersSortedMap] = null;
         }
       }
-      // https://fetch.spec.whatwg.org/#header-list-contains
-      contains(name) {
-        name = name.toLowerCase();
-        return this[kHeadersMap].has(name);
+      /**
+       * @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;
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-append
-      append(name, value) {
+      /**
+       * @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 = name.toLowerCase();
+        const lowercaseName = isLowerCase ? name : name.toLowerCase();
         const exists = this[kHeadersMap].get(lowercaseName);
         if (exists) {
           const delimiter = lowercaseName === "cookie" ? "; " : ", ";
@@ -32673,73 +33019,155 @@ var require_headers2 = __commonJS({
           this[kHeadersMap].set(lowercaseName, { name, value });
         }
         if (lowercaseName === "set-cookie") {
-          this.cookies ??= [];
-          this.cookies.push(value);
+          (this.cookies ??= []).push(value);
         }
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-set
-      set(name, 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 = name.toLowerCase();
+        const lowercaseName = isLowerCase ? name : name.toLowerCase();
         if (lowercaseName === "set-cookie") {
           this.cookies = [value];
         }
         this[kHeadersMap].set(lowercaseName, { name, value });
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-delete
-      delete(name) {
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-delete
+       * @param {string} name
+       * @param {boolean} isLowerCase
+       */
+      delete(name, isLowerCase) {
         this[kHeadersSortedMap] = null;
-        name = name.toLowerCase();
+        if (!isLowerCase) name = name.toLowerCase();
         if (name === "set-cookie") {
           this.cookies = null;
         }
         this[kHeadersMap].delete(name);
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-get
-      get(name) {
-        const value = this[kHeadersMap].get(name.toLowerCase());
-        return value === void 0 ? null : value.value;
+      /**
+       * @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 [name, { value }] of this[kHeadersMap]) {
+        for (const { 0: name, 1: { value } } of this[kHeadersMap]) {
           yield [name, value];
         }
       }
       get entries() {
         const headers = {};
-        if (this[kHeadersMap].size) {
+        if (this[kHeadersMap].size !== 0) {
           for (const { name, value } of this[kHeadersMap].values()) {
             headers[name] = value;
           }
         }
         return headers;
       }
-    };
-    var Headers = class _Headers {
-      constructor(init = void 0) {
-        if (init === kConstruct) {
+      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[kHeadersList] = new HeadersList();
-        this[kGuard] = "none";
+        this.#headersList = new HeadersList();
+        this.#guard = "none";
         if (init !== void 0) {
-          init = webidl.converters.HeadersInit(init);
+          init = webidl.converters.HeadersInit(init, "Headers contructor", "init");
           fill(this, init);
         }
       }
       // https://fetch.spec.whatwg.org/#dom-headers-append
       append(name, value) {
         webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.append" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
+        webidl.argumentLengthCheck(arguments, 2, "Headers.append");
+        const prefix = "Headers.append";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        value = webidl.converters.ByteString(value, prefix, "value");
         return appendHeader(this, name, value);
       }
       // https://fetch.spec.whatwg.org/#dom-headers-delete
       delete(name) {
         webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.delete" });
-        name = webidl.converters.ByteString(name);
+        webidl.argumentLengthCheck(arguments, 1, "Headers.delete");
+        const prefix = "Headers.delete";
+        name = webidl.converters.ByteString(name, prefix, "name");
         if (!isValidHeaderName(name)) {
           throw webidl.errors.invalidArgument({
             prefix: "Headers.delete",
@@ -32747,73 +33175,74 @@ var require_headers2 = __commonJS({
             type: "header name"
           });
         }
-        if (this[kGuard] === "immutable") {
+        if (this.#guard === "immutable") {
           throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
         }
-        if (!this[kHeadersList].contains(name)) {
+        if (!this.#headersList.contains(name, false)) {
           return;
         }
-        this[kHeadersList].delete(name);
+        this.#headersList.delete(name, false);
       }
       // https://fetch.spec.whatwg.org/#dom-headers-get
       get(name) {
         webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.get" });
-        name = webidl.converters.ByteString(name);
+        webidl.argumentLengthCheck(arguments, 1, "Headers.get");
+        const prefix = "Headers.get";
+        name = webidl.converters.ByteString(name, prefix, "name");
         if (!isValidHeaderName(name)) {
           throw webidl.errors.invalidArgument({
-            prefix: "Headers.get",
+            prefix,
             value: name,
             type: "header name"
           });
         }
-        return this[kHeadersList].get(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, { header: "Headers.has" });
-        name = webidl.converters.ByteString(name);
+        webidl.argumentLengthCheck(arguments, 1, "Headers.has");
+        const prefix = "Headers.has";
+        name = webidl.converters.ByteString(name, prefix, "name");
         if (!isValidHeaderName(name)) {
           throw webidl.errors.invalidArgument({
-            prefix: "Headers.has",
+            prefix,
             value: name,
             type: "header name"
           });
         }
-        return this[kHeadersList].contains(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, { header: "Headers.set" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
+        webidl.argumentLengthCheck(arguments, 2, "Headers.set");
+        const prefix = "Headers.set";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        value = webidl.converters.ByteString(value, prefix, "value");
         value = headerValueNormalize(value);
         if (!isValidHeaderName(name)) {
           throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
+            prefix,
             value: name,
             type: "header name"
           });
         } else if (!isValidHeaderValue(value)) {
           throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
+            prefix,
             value,
             type: "header value"
           });
         }
-        if (this[kGuard] === "immutable") {
+        if (this.#guard === "immutable") {
           throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
         }
-        this[kHeadersList].set(name, value);
+        this.#headersList.set(name, value, false);
       }
       // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
       getSetCookie() {
         webidl.brandCheck(this, _Headers);
-        const list = this[kHeadersList].cookies;
+        const list = this.#headersList.cookies;
         if (list) {
           return [...list];
         }
@@ -32821,96 +33250,50 @@ var require_headers2 = __commonJS({
       }
       // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
       get [kHeadersSortedMap]() {
-        if (this[kHeadersList][kHeadersSortedMap]) {
-          return this[kHeadersList][kHeadersSortedMap];
+        if (this.#headersList[kHeadersSortedMap]) {
+          return this.#headersList[kHeadersSortedMap];
         }
         const headers = [];
-        const names = [...this[kHeadersList]].sort((a, b) => a[0] < b[0] ? -1 : 1);
-        const cookies = this[kHeadersList].cookies;
+        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 [name, value] = names[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 {
-            assert(value !== null);
             headers.push([name, value]);
           }
         }
-        this[kHeadersList][kHeadersSortedMap] = headers;
-        return headers;
+        return this.#headersList[kHeadersSortedMap] = headers;
       }
-      keys() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key"
-        );
+      [util.inspect.custom](depth, options) {
+        options.depth ??= depth;
+        return `Headers ${util.formatWithOptions(options, this.#headersList.entries)}`;
       }
-      values() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "value"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "value"
-        );
+      static getHeadersGuard(o) {
+        return o.#guard;
       }
-      entries() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key+value"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key+value"
-        );
+      static setHeadersGuard(o, guard) {
+        o.#guard = guard;
       }
-      /**
-       * @param {(value: string, key: string, self: Headers) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'."
-          );
-        }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
-        }
+      static getHeadersList(o) {
+        return o.#headersList;
       }
-      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")]() {
-        webidl.brandCheck(this, _Headers);
-        return this[kHeadersList];
+      static setHeadersList(o, list) {
+        o.#headersList = list;
       }
     };
-    Headers.prototype[Symbol.iterator] = Headers.prototype.entries;
+    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,
@@ -32918,11 +33301,6 @@ var require_headers2 = __commonJS({
       has: kEnumerableProperty,
       set: kEnumerableProperty,
       getSetCookie: kEnumerableProperty,
-      keys: kEnumerableProperty,
-      values: kEnumerableProperty,
-      entries: kEnumerableProperty,
-      forEach: kEnumerableProperty,
-      [Symbol.iterator]: { enumerable: false },
       [Symbol.toStringTag]: {
         value: "Headers",
         configurable: true
@@ -32931,12 +33309,19 @@ var require_headers2 = __commonJS({
         enumerable: false
       }
     });
-    webidl.converters.HeadersInit = function(V) {
+    webidl.converters.HeadersInit = function(V, prefix, argument) {
       if (webidl.util.Type(V) === "Object") {
-        if (V[Symbol.iterator]) {
-          return webidl.converters["sequence>"](V);
+        const iterator2 = Reflect.get(V, Symbol.iterator);
+        if (!util.types.isProxy(V) && iterator2 === Headers.prototype.entries) {
+          try {
+            return getHeadersList(V).entriesList;
+          } catch {
+          }
         }
-        return webidl.converters["record"](V);
+        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",
@@ -32946,19 +33331,26 @@ var require_headers2 = __commonJS({
     };
     module2.exports = {
       fill,
+      // for test.
+      compareHeaderName,
       Headers,
-      HeadersList
+      HeadersList,
+      getHeadersGuard,
+      setHeadersGuard,
+      setHeadersList,
+      getHeadersList
     };
   }
 });
 
-// node_modules/undici/lib/fetch/response.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js
 var require_response2 = __commonJS({
-  "node_modules/undici/lib/fetch/response.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js"(exports2, module2) {
     "use strict";
-    var { Headers, HeadersList, fill } = require_headers2();
-    var { extractBody, cloneBody, mixinBody } = require_body2();
+    var { Headers, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers2();
+    var { extractBody, cloneBody, mixinBody, hasFinalizationRegistry, streamRegistry, bodyUnusable } = require_body2();
     var util = require_util9();
+    var nodeUtil = require("node:util");
     var { kEnumerableProperty } = util;
     var {
       isValidReasonPhrase,
@@ -32967,38 +33359,30 @@ var require_response2 = __commonJS({
       isBlobLike,
       serializeJavascriptValueToJSONString,
       isErrorLike,
-      isomorphicEncode
+      isomorphicEncode,
+      environmentSettingsObject: relevantRealm
     } = require_util10();
     var {
       redirectStatusSet,
-      nullBodyStatus,
-      DOMException: DOMException2
-    } = require_constants7();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
+      nullBodyStatus
+    } = require_constants8();
+    var { kState, kHeaders } = require_symbols7();
     var { webidl } = require_webidl2();
     var { FormData: FormData2 } = require_formdata2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { types } = require("util");
-    var ReadableStream2 = globalThis.ReadableStream || require("stream/web").ReadableStream;
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    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 relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kState] = makeNetworkError();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = responseObject[kState].headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
+        const responseObject = fromInnerResponse(makeNetworkError(), "immutable");
         return responseObject;
       }
       // https://fetch.spec.whatwg.org/#dom-response-json
       static json(data, init = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.json" });
+        webidl.argumentLengthCheck(arguments, 1, "Response.json");
         if (init !== null) {
           init = webidl.converters.ResponseInit(init);
         }
@@ -33006,52 +33390,44 @@ var require_response2 = __commonJS({
           serializeJavascriptValueToJSONString(data)
         );
         const body = extractBody(bytes);
-        const relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "response";
-        responseObject[kHeaders][kRealm] = relevantRealm;
+        const responseObject = fromInnerResponse(makeResponse({}), "response");
         initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
         return responseObject;
       }
       // Creates a redirect Response that redirects to url with status status.
       static redirect(url, status = 302) {
-        const relevantRealm = { settingsObject: {} };
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.redirect" });
+        webidl.argumentLengthCheck(arguments, 1, "Response.redirect");
         url = webidl.converters.USVString(url);
         status = webidl.converters["unsigned short"](status);
         let parsedURL;
         try {
-          parsedURL = new URL(url, getGlobalOrigin());
+          parsedURL = new URL(url, relevantRealm.settingsObject.baseUrl);
         } catch (err) {
-          throw Object.assign(new TypeError("Failed to parse URL from " + url), {
-            cause: err
-          });
+          throw new TypeError(`Failed to parse URL from ${url}`, { cause: err });
         }
         if (!redirectStatusSet.has(status)) {
-          throw new RangeError("Invalid status code " + status);
+          throw new RangeError(`Invalid status code ${status}`);
         }
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
+        const responseObject = fromInnerResponse(makeResponse({}), "immutable");
         responseObject[kState].status = status;
         const value = isomorphicEncode(URLSerializer(parsedURL));
-        responseObject[kState].headersList.append("location", value);
+        responseObject[kState].headersList.append("location", value, true);
         return responseObject;
       }
       // https://fetch.spec.whatwg.org/#dom-response
       constructor(body = null, init = {}) {
+        webidl.util.markAsUncloneable(this);
+        if (body === kConstruct) {
+          return;
+        }
         if (body !== null) {
           body = webidl.converters.BodyInit(body);
         }
         init = webidl.converters.ResponseInit(init);
-        this[kRealm] = { settingsObject: {} };
         this[kState] = makeResponse({});
         this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kGuard] = "response";
-        this[kHeaders][kHeadersList] = this[kState].headersList;
-        this[kHeaders][kRealm] = this[kRealm];
+        setHeadersGuard(this[kHeaders], "response");
+        setHeadersList(this[kHeaders], this[kState].headersList);
         let bodyWithType = null;
         if (body != null) {
           const [extractedBody, type2] = extractBody(body);
@@ -33110,20 +33486,35 @@ var require_response2 = __commonJS({
       // Returns a clone of response.
       clone() {
         webidl.brandCheck(this, _Response);
-        if (this.bodyUsed || this.body && this.body.locked) {
+        if (bodyUnusable(this)) {
           throw webidl.errors.exception({
             header: "Response.clone",
             message: "Body has already been consumed."
           });
         }
         const clonedResponse = cloneResponse(this[kState]);
-        const clonedResponseObject = new _Response();
-        clonedResponseObject[kState] = clonedResponse;
-        clonedResponseObject[kRealm] = this[kRealm];
-        clonedResponseObject[kHeaders][kHeadersList] = clonedResponse.headersList;
-        clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm];
-        return clonedResponseObject;
+        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);
@@ -33157,7 +33548,7 @@ var require_response2 = __commonJS({
       }
       const newResponse = makeResponse({ ...response, body: null });
       if (response.body != null) {
-        newResponse.body = cloneBody(response.body);
+        newResponse.body = cloneBody(newResponse, response.body);
       }
       return newResponse;
     }
@@ -33173,8 +33564,8 @@ var require_response2 = __commonJS({
         cacheState: "",
         statusText: "",
         ...init,
-        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList(),
-        urlList: init.urlList ? [...init.urlList] : []
+        headersList: init?.headersList ? new HeadersList(init?.headersList) : new HeadersList(),
+        urlList: init?.urlList ? [...init.urlList] : []
       };
     }
     function makeNetworkError(reason) {
@@ -33186,6 +33577,13 @@ var require_response2 = __commonJS({
         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,
@@ -33235,7 +33633,7 @@ var require_response2 = __commonJS({
     }
     function makeAppropriateNetworkError(fetchParams, err = null) {
       assert(isCancelled(fetchParams));
-      return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException2("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException2("Request was cancelled."), { cause: err }));
+      return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException("Request was cancelled."), { cause: err }));
     }
     function initializeResponse(response, init, body) {
       if (init.status !== null && (init.status < 200 || init.status > 599)) {
@@ -33259,17 +33657,28 @@ var require_response2 = __commonJS({
         if (nullBodyStatus.includes(response.status)) {
           throw webidl.errors.exception({
             header: "Response constructor",
-            message: "Invalid response status code " + response.status
+            message: `Invalid response status code ${response.status}`
           });
         }
         response[kState].body = body.body;
-        if (body.type != null && !response[kState].headersList.contains("Content-Type")) {
-          response[kState].headersList.append("content-type", body.type);
+        if (body.type != null && !response[kState].headersList.contains("content-type", true)) {
+          response[kState].headersList.append("content-type", body.type, true);
         }
       }
     }
+    function fromInnerResponse(innerResponse, guard) {
+      const response = new Response(kConstruct);
+      response[kState] = innerResponse;
+      response[kHeaders] = new Headers(kConstruct);
+      setHeadersList(response[kHeaders], innerResponse.headersList);
+      setHeadersGuard(response[kHeaders], guard);
+      if (hasFinalizationRegistry && innerResponse.body?.stream) {
+        streamRegistry.register(response, new WeakRef(innerResponse.body.stream));
+      }
+      return response;
+    }
     webidl.converters.ReadableStream = webidl.interfaceConverter(
-      ReadableStream2
+      ReadableStream
     );
     webidl.converters.FormData = webidl.interfaceConverter(
       FormData2
@@ -33277,43 +33686,43 @@ var require_response2 = __commonJS({
     webidl.converters.URLSearchParams = webidl.interfaceConverter(
       URLSearchParams
     );
-    webidl.converters.XMLHttpRequestBodyInit = function(V) {
+    webidl.converters.XMLHttpRequestBodyInit = function(V, prefix, name) {
       if (typeof V === "string") {
-        return webidl.converters.USVString(V);
+        return webidl.converters.USVString(V, prefix, name);
       }
       if (isBlobLike(V)) {
-        return webidl.converters.Blob(V, { strict: false });
+        return webidl.converters.Blob(V, prefix, name, { strict: false });
       }
-      if (types.isArrayBuffer(V) || types.isTypedArray(V) || types.isDataView(V)) {
-        return webidl.converters.BufferSource(V);
+      if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) {
+        return webidl.converters.BufferSource(V, prefix, name);
       }
       if (util.isFormDataLike(V)) {
-        return webidl.converters.FormData(V, { strict: false });
+        return webidl.converters.FormData(V, prefix, name, { strict: false });
       }
       if (V instanceof URLSearchParams) {
-        return webidl.converters.URLSearchParams(V);
+        return webidl.converters.URLSearchParams(V, prefix, name);
       }
-      return webidl.converters.DOMString(V);
+      return webidl.converters.DOMString(V, prefix, name);
     };
-    webidl.converters.BodyInit = function(V) {
-      if (V instanceof ReadableStream2) {
-        return webidl.converters.ReadableStream(V);
+    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);
+      return webidl.converters.XMLHttpRequestBodyInit(V, prefix, argument);
     };
     webidl.converters.ResponseInit = webidl.dictionaryConverter([
       {
         key: "status",
         converter: webidl.converters["unsigned short"],
-        defaultValue: 200
+        defaultValue: () => 200
       },
       {
         key: "statusText",
         converter: webidl.converters.ByteString,
-        defaultValue: ""
+        defaultValue: () => ""
       },
       {
         key: "headers",
@@ -33321,30 +33730,73 @@ var require_response2 = __commonJS({
       }
     ]);
     module2.exports = {
+      isNetworkError,
       makeNetworkError,
       makeResponse,
       makeAppropriateNetworkError,
       filterResponse,
       Response,
-      cloneResponse
+      cloneResponse,
+      fromInnerResponse
     };
   }
 });
 
-// node_modules/undici/lib/fetch/request.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js
+var require_dispatcher_weakref2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js"(exports2, module2) {
+    "use strict";
+    var { kConnected, kSize } = require_symbols6();
+    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/@actions/github/node_modules/undici/lib/web/fetch/request.js
 var require_request4 = __commonJS({
-  "node_modules/undici/lib/fetch/request.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js"(exports2, module2) {
     "use strict";
-    var { extractBody, mixinBody, cloneBody } = require_body2();
-    var { Headers, fill: fillHeaders, HeadersList } = require_headers2();
+    var { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body2();
+    var { Headers, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers2();
     var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
     var util = require_util9();
+    var nodeUtil = require("node:util");
     var {
       isValidHTTPToken,
       sameOrigin,
-      normalizeMethod,
-      makePolicyContainer,
-      normalizeMethodRecord
+      environmentSettingsObject
     } = require_util10();
     var {
       forbiddenMethodsSet,
@@ -33355,43 +33807,61 @@ var require_request4 = __commonJS({
       requestCredentials,
       requestCache,
       requestDuplex
-    } = require_constants7();
-    var { kEnumerableProperty } = util;
-    var { kHeaders, kSignal, kState, kGuard, kRealm } = require_symbols7();
+    } = require_constants8();
+    var { kEnumerableProperty, normalizedMethodRecordsBase, normalizedMethodRecords } = util;
+    var { kHeaders, kSignal, kState, kDispatcher } = require_symbols7();
     var { webidl } = require_webidl2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events");
-    var TransformStream2 = globalThis.TransformStream;
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    var assert = require("node:assert");
+    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("node:events");
     var kAbortController = /* @__PURE__ */ 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;
         }
-        webidl.argumentLengthCheck(arguments, 1, { header: "Request constructor" });
-        input = webidl.converters.RequestInfo(input);
-        init = webidl.converters.RequestInit(init);
-        this[kRealm] = {
-          settingsObject: {
-            baseUrl: getGlobalOrigin(),
-            get origin() {
-              return this.baseUrl?.origin;
-            },
-            policyContainer: makePolicyContainer()
-          }
-        };
-        let request2 = null;
+        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 = this[kRealm].settingsObject.baseUrl;
+        const baseUrl = environmentSettingsObject.settingsObject.baseUrl;
         let signal = null;
         if (typeof input === "string") {
+          this[kDispatcher] = init.dispatcher;
           let parsedURL;
           try {
             parsedURL = new URL(input, baseUrl);
@@ -33406,11 +33876,12 @@ var require_request4 = __commonJS({
           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 = this[kRealm].settingsObject.origin;
+        const origin = environmentSettingsObject.settingsObject.origin;
         let window2 = "client";
         if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
           window2 = request2.window;
@@ -33432,7 +33903,7 @@ var require_request4 = __commonJS({
           // unsafe-request flag Set.
           unsafeRequest: request2.unsafeRequest,
           // client This’s relevant settings object.
-          client: this[kRealm].settingsObject,
+          client: environmentSettingsObject.settingsObject,
           // window window.
           window: window2,
           // priority request’s priority.
@@ -33488,7 +33959,7 @@ var require_request4 = __commonJS({
             } catch (err) {
               throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err });
             }
-            if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, this[kRealm].settingsObject.baseUrl)) {
+            if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, environmentSettingsObject.settingsObject.baseUrl)) {
               request2.referrer = "client";
             } else {
               request2.referrer = parsedReferrer;
@@ -33535,14 +34006,26 @@ var require_request4 = __commonJS({
         }
         if (init.method !== void 0) {
           let method = init.method;
-          if (!isValidHTTPToken(method)) {
-            throw new TypeError(`'${method}' is not a valid HTTP 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 (forbiddenMethodsSet.has(method.toUpperCase())) {
-            throw new TypeError(`'${method}' HTTP method is unsupported.`);
+          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;
           }
-          method = normalizeMethodRecord[method] ?? normalizeMethod(method);
-          request2.method = method;
         }
         if (init.signal !== void 0) {
           signal = init.signal;
@@ -33550,7 +34033,6 @@ var require_request4 = __commonJS({
         this[kState] = request2;
         const ac = new AbortController();
         this[kSignal] = ac.signal;
-        this[kSignal][kRealm] = this[kRealm];
         if (signal != null) {
           if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") {
             throw new TypeError(
@@ -33562,43 +34044,37 @@ var require_request4 = __commonJS({
           } else {
             this[kAbortController] = ac;
             const acRef = new WeakRef(ac);
-            const abort = function() {
-              const ac2 = acRef.deref();
-              if (ac2 !== void 0) {
-                ac2.abort(this.reason);
-              }
-            };
+            const abort = buildAbort(acRef);
             try {
               if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) {
-                setMaxListeners(100, signal);
+                setMaxListeners(1500, signal);
               } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) {
-                setMaxListeners(100, signal);
+                setMaxListeners(1500, signal);
               }
             } catch {
             }
             util.addAbortListener(signal, abort);
-            requestFinalizer.register(ac, { signal, abort });
+            requestFinalizer.register(ac, { signal, abort }, abort);
           }
         }
         this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kHeadersList] = request2.headersList;
-        this[kHeaders][kGuard] = "request";
-        this[kHeaders][kRealm] = this[kRealm];
+        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.`
             );
           }
-          this[kHeaders][kGuard] = "request-no-cors";
+          setHeadersGuard(this[kHeaders], "request-no-cors");
         }
         if (initHasKey) {
-          const headersList = this[kHeaders][kHeadersList];
+          const headersList = getHeadersList(this[kHeaders]);
           const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList);
           headersList.clear();
           if (headers instanceof HeadersList) {
-            for (const [key, val] of headers) {
-              headersList.append(key, val);
+            for (const { name, value } of headers.rawValues()) {
+              headersList.append(name, value, false);
             }
             headersList.cookies = headers.cookies;
           } else {
@@ -33616,7 +34092,7 @@ var require_request4 = __commonJS({
             request2.keepalive
           );
           initBody = extractedBody;
-          if (contentType && !this[kHeaders][kHeadersList].contains("content-type")) {
+          if (contentType && !getHeadersList(this[kHeaders]).contains("content-type", true)) {
             this[kHeaders].append("content-type", contentType);
           }
         }
@@ -33634,15 +34110,12 @@ var require_request4 = __commonJS({
         }
         let finalBody = inputOrInitBody;
         if (initBody == null && inputBody != null) {
-          if (util.isDisturbed(inputBody.stream) || inputBody.stream.locked) {
+          if (bodyUnusable(input)) {
             throw new TypeError(
               "Cannot construct a Request with a Request object that has already been used."
             );
           }
-          if (!TransformStream2) {
-            TransformStream2 = require("stream/web").TransformStream;
-          }
-          const identityTransform = new TransformStream2();
+          const identityTransform = new TransformStream();
           inputBody.stream.pipeThrough(identityTransform);
           finalBody = {
             source: inputBody.source,
@@ -33745,7 +34218,7 @@ var require_request4 = __commonJS({
         return this[kState].reloadNavigation;
       }
       // Returns a boolean indicating whether or not request is for a history
-      // navigation (a.k.a. back-foward navigation).
+      // navigation (a.k.a. back-forward navigation).
       get isHistoryNavigation() {
         webidl.brandCheck(this, _Request);
         return this[kState].historyNavigation;
@@ -33772,83 +34245,112 @@ var require_request4 = __commonJS({
       // Returns a clone of request.
       clone() {
         webidl.brandCheck(this, _Request);
-        if (this.bodyUsed || this.body?.locked) {
+        if (bodyUnusable(this)) {
           throw new TypeError("unusable");
         }
         const clonedRequest = cloneRequest(this[kState]);
-        const clonedRequestObject = new _Request(kConstruct);
-        clonedRequestObject[kState] = clonedRequest;
-        clonedRequestObject[kRealm] = this[kRealm];
-        clonedRequestObject[kHeaders] = new Headers(kConstruct);
-        clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList;
-        clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm];
         const ac = new AbortController();
         if (this.signal.aborted) {
           ac.abort(this.signal.reason);
         } 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(
-            this.signal,
-            () => {
-              ac.abort(this.signal.reason);
-            }
+            ac.signal,
+            buildAbort(acRef)
           );
         }
-        clonedRequestObject[kSignal] = ac.signal;
-        return clonedRequestObject;
+        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) {
-      const request2 = {
-        method: "GET",
-        localURLsOnly: false,
-        unsafeRequest: false,
-        body: null,
-        client: null,
-        reservedClient: null,
-        replacesClientId: "",
-        window: "client",
-        keepalive: false,
-        serviceWorkers: "all",
-        initiator: "",
-        destination: "",
-        priority: null,
-        origin: "client",
-        policyContainer: "client",
-        referrer: "client",
-        referrerPolicy: "",
-        mode: "no-cors",
-        useCORSPreflightFlag: false,
-        credentials: "same-origin",
-        useCredentials: false,
-        cache: "default",
-        redirect: "follow",
-        integrity: "",
-        cryptoGraphicsNonceMetadata: "",
-        parserMetadata: "",
-        reloadNavigation: false,
-        historyNavigation: false,
-        userActivation: false,
-        taintedOrigin: false,
-        redirectCount: 0,
-        responseTainting: "basic",
-        preventNoCacheCacheControlHeaderModification: false,
-        done: false,
-        timingAllowFailed: false,
-        ...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()
       };
-      request2.url = request2.urlList[0];
-      return request2;
     }
     function cloneRequest(request2) {
       const newRequest = makeRequest({ ...request2, body: null });
       if (request2.body != null) {
-        newRequest.body = cloneBody(request2.body);
+        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,
@@ -33878,14 +34380,14 @@ var require_request4 = __commonJS({
     webidl.converters.Request = webidl.interfaceConverter(
       Request
     );
-    webidl.converters.RequestInfo = function(V) {
+    webidl.converters.RequestInfo = function(V, prefix, argument) {
       if (typeof V === "string") {
-        return webidl.converters.USVString(V);
+        return webidl.converters.USVString(V, prefix, argument);
       }
       if (V instanceof Request) {
-        return webidl.converters.Request(V);
+        return webidl.converters.Request(V, prefix, argument);
       }
-      return webidl.converters.USVString(V);
+      return webidl.converters.USVString(V, prefix, argument);
     };
     webidl.converters.AbortSignal = webidl.interfaceConverter(
       AbortSignal
@@ -33952,6 +34454,8 @@ var require_request4 = __commonJS({
         converter: webidl.nullableConverter(
           (signal) => webidl.converters.AbortSignal(
             signal,
+            "RequestInit",
+            "signal",
             { strict: false }
           )
         )
@@ -33964,26 +34468,31 @@ var require_request4 = __commonJS({
         key: "duplex",
         converter: webidl.converters.DOMString,
         allowedValues: requestDuplex
+      },
+      {
+        key: "dispatcher",
+        // undici specific option
+        converter: webidl.converters.any
       }
     ]);
-    module2.exports = { Request, makeRequest };
+    module2.exports = { Request, makeRequest, fromInnerRequest, cloneRequest };
   }
 });
 
-// node_modules/undici/lib/fetch/index.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js
 var require_fetch2 = __commonJS({
-  "node_modules/undici/lib/fetch/index.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js"(exports2, module2) {
     "use strict";
     var {
-      Response,
       makeNetworkError,
       makeAppropriateNetworkError,
       filterResponse,
-      makeResponse
+      makeResponse,
+      fromInnerResponse
     } = require_response2();
-    var { Headers } = require_headers2();
-    var { Request, makeRequest } = require_request4();
-    var zlib = require("zlib");
+    var { HeadersList } = require_headers2();
+    var { Request, cloneRequest } = require_request4();
+    var zlib = require("node:zlib");
     var {
       bytesMatch,
       makePolicyContainer,
@@ -34012,31 +34521,33 @@ var require_fetch2 = __commonJS({
       isomorphicEncode,
       urlIsLocal,
       urlIsHttpHttpsScheme,
-      urlHasHttpsScheme
+      urlHasHttpsScheme,
+      clampAndCoarsenConnectionTimingInfo,
+      simpleRangeHeaderValue,
+      buildContentRange,
+      createInflate,
+      extractMimeType
     } = require_util10();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
-    var assert = require("assert");
-    var { safelyExtractBody } = require_body2();
+    var { kState, kDispatcher } = require_symbols7();
+    var assert = require("node:assert");
+    var { safelyExtractBody, extractBody } = require_body2();
     var {
       redirectStatusSet,
       nullBodyStatus,
       safeMethodsSet,
       requestBodyHeader,
-      subresourceSet,
-      DOMException: DOMException2
-    } = require_constants7();
-    var { kHeadersList } = require_symbols6();
-    var EE = require("events");
-    var { Readable, pipeline } = require("stream");
-    var { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require_util9();
-    var { dataURLProcessor, serializeAMimeType } = require_dataURL();
-    var { TransformStream: TransformStream2 } = require("stream/web");
+      subresourceSet
+    } = require_constants8();
+    var EE = require("node:events");
+    var { Readable, pipeline, finished } = require("node:stream");
+    var { addAbortListener, isErrored, isReadable, bufferToLowerCasedHeaderName } = require_util9();
+    var { dataURLProcessor, serializeAMimeType, minimizeSupportedMimeType } = require_data_url2();
     var { getGlobalDispatcher } = require_global4();
     var { webidl } = require_webidl2();
-    var { STATUS_CODES } = require("http");
+    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 ReadableStream2 = globalThis.ReadableStream;
     var Fetch = class extends EE {
       constructor(dispatcher) {
         super();
@@ -34044,7 +34555,6 @@ var require_fetch2 = __commonJS({
         this.connection = null;
         this.dump = false;
         this.state = "ongoing";
-        this.setMaxListeners(21);
       }
       terminate(reason) {
         if (this.state !== "ongoing") {
@@ -34061,16 +34571,19 @@ var require_fetch2 = __commonJS({
         }
         this.state = "aborted";
         if (!error3) {
-          error3 = new DOMException2("The operation was aborted.", "AbortError");
+          error3 = new DOMException("The operation was aborted.", "AbortError");
         }
         this.serializedAbortReason = error3;
         this.connection?.destroy(error3);
         this.emit("terminated", error3);
       }
     };
-    function fetch(input, init = {}) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "globalThis.fetch" });
-      const p = createDeferredPromise();
+    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);
@@ -34088,7 +34601,6 @@ var require_fetch2 = __commonJS({
         request2.serviceWorkers = "none";
       }
       let responseObject = null;
-      const relevantRealm = null;
       let locallyAborted = false;
       let controller = null;
       addAbortListener(
@@ -34097,37 +34609,31 @@ var require_fetch2 = __commonJS({
           locallyAborted = true;
           assert(controller != null);
           controller.abort(requestObject.signal.reason);
-          abortFetch(p, request2, responseObject, requestObject.signal.reason);
+          const realResponse = responseObject?.deref();
+          abortFetch(p, request2, realResponse, requestObject.signal.reason);
         }
       );
-      const handleFetchDone = (response) => finalizeAndReportTiming(response, "fetch");
       const processResponse = (response) => {
         if (locallyAborted) {
-          return Promise.resolve();
+          return;
         }
         if (response.aborted) {
           abortFetch(p, request2, responseObject, controller.serializedAbortReason);
-          return Promise.resolve();
+          return;
         }
         if (response.type === "error") {
-          p.reject(
-            Object.assign(new TypeError("fetch failed"), { cause: response.error })
-          );
-          return Promise.resolve();
+          p.reject(new TypeError("fetch failed", { cause: response.error }));
+          return;
         }
-        responseObject = new Response();
-        responseObject[kState] = response;
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = response.headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        p.resolve(responseObject);
+        responseObject = new WeakRef(fromInnerResponse(response, "immutable"));
+        p.resolve(responseObject.deref());
+        p = null;
       };
       controller = fetching({
         request: request2,
         processResponseEndOfBody: handleFetchDone,
         processResponse,
-        dispatcher: init.dispatcher ?? getGlobalDispatcher()
+        dispatcher: requestObject[kDispatcher]
         // undici
       });
       return p.promise;
@@ -34158,22 +34664,17 @@ var require_fetch2 = __commonJS({
       response.timingInfo = timingInfo;
       markResourceTiming(
         timingInfo,
-        originalURL,
+        originalURL.href,
         initiatorType,
         globalThis,
         cacheState
       );
     }
-    function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) {
-      if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) {
-        performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis2, cacheState);
-      }
-    }
+    var markResourceTiming = performance.markResourceTiming;
     function abortFetch(p, request2, responseObject, error3) {
-      if (!error3) {
-        error3 = new DOMException2("The operation was aborted.", "AbortError");
+      if (p) {
+        p.reject(error3);
       }
-      p.reject(error3);
       if (request2.body != null && isReadable(request2.body?.stream)) {
         request2.body.stream.cancel(error3).catch((err) => {
           if (err.code === "ERR_INVALID_STATE") {
@@ -34203,18 +34704,19 @@ var require_fetch2 = __commonJS({
       processResponseEndOfBody,
       processResponseConsumeBody,
       useParallelQueue = false,
-      dispatcher
+      dispatcher = getGlobalDispatcher()
       // undici
     }) {
+      assert(dispatcher);
       let taskDestination = null;
       let crossOriginIsolatedCapability = false;
       if (request2.client != null) {
         taskDestination = request2.client.globalObject;
         crossOriginIsolatedCapability = request2.client.crossOriginIsolatedCapability;
       }
-      const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
+      const currentTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
       const timingInfo = createOpaqueTimingInfo({
-        startTime: currenTime
+        startTime: currentTime
       });
       const fetchParams = {
         controller: new Fetch(dispatcher),
@@ -34233,7 +34735,7 @@ var require_fetch2 = __commonJS({
         request2.window = request2.client?.globalObject?.constructor?.name === "Window" ? request2.client : "no-window";
       }
       if (request2.origin === "client") {
-        request2.origin = request2.client?.origin;
+        request2.origin = request2.client.origin;
       }
       if (request2.policyContainer === "client") {
         if (request2.client != null) {
@@ -34244,12 +34746,12 @@ var require_fetch2 = __commonJS({
           request2.policyContainer = makePolicyContainer();
         }
       }
-      if (!request2.headersList.contains("accept")) {
+      if (!request2.headersList.contains("accept", true)) {
         const value = "*/*";
-        request2.headersList.append("accept", value);
+        request2.headersList.append("accept", value, true);
       }
-      if (!request2.headersList.contains("accept-language")) {
-        request2.headersList.append("accept-language", "*");
+      if (!request2.headersList.contains("accept-language", true)) {
+        request2.headersList.append("accept-language", "*", true);
       }
       if (request2.priority === null) {
       }
@@ -34331,7 +34833,7 @@ var require_fetch2 = __commonJS({
       if (!request2.timingAllowFailed) {
         response.timingAllowPassed = true;
       }
-      if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request2.headers.contains("range")) {
+      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))) {
@@ -34369,28 +34871,56 @@ var require_fetch2 = __commonJS({
         }
         case "blob:": {
           if (!resolveObjectURL) {
-            resolveObjectURL = require("buffer").resolveObjectURL;
+            resolveObjectURL = require("node:buffer").resolveObjectURL;
           }
           const blobURLEntry = requestCurrentURL(request2);
           if (blobURLEntry.search.length !== 0) {
             return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));
           }
-          const blobURLEntryObject = resolveObjectURL(blobURLEntry.toString());
-          if (request2.method !== "GET" || !isBlobLike(blobURLEntryObject)) {
+          const blob = resolveObjectURL(blobURLEntry.toString());
+          if (request2.method !== "GET" || !isBlobLike(blob)) {
             return Promise.resolve(makeNetworkError("invalid method"));
           }
-          const bodyWithType = safelyExtractBody(blobURLEntryObject);
-          const body = bodyWithType[0];
-          const length = isomorphicEncode(`${body.length}`);
-          const type2 = bodyWithType[1] ?? "";
-          const response = makeResponse({
-            statusText: "OK",
-            headersList: [
-              ["content-length", { name: "Content-Length", value: length }],
-              ["content-type", { name: "Content-Type", value: type2 }]
-            ]
-          });
-          response.body = body;
+          const response = makeResponse();
+          const fullLength = blob.size;
+          const serializedFullLength = isomorphicEncode(`${fullLength}`);
+          const type2 = 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", type2, 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, type2);
+            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", type2, true);
+            response.headersList.set("content-range", contentRange, true);
+          }
           return Promise.resolve(response);
         }
         case "data:": {
@@ -34427,52 +34957,59 @@ var require_fetch2 = __commonJS({
       }
     }
     function fetchFinale(fetchParams, response) {
-      if (response.type === "error") {
-        response.urlList = [fetchParams.request.urlList[0]];
-        response.timingInfo = createOpaqueTimingInfo({
-          startTime: fetchParams.timingInfo.startTime
-        });
-      }
+      let timingInfo = fetchParams.timingInfo;
       const processResponseEndOfBody = () => {
-        fetchParams.request.done = true;
-        if (fetchParams.processResponseEndOfBody != null) {
-          queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
+        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));
+        queueMicrotask(() => {
+          fetchParams.processResponse(response);
+          fetchParams.processResponse = null;
+        });
       }
-      if (response.body == null) {
+      const internalResponse = response.type === "error" ? response : response.internalResponse ?? response;
+      if (internalResponse.body == null) {
         processResponseEndOfBody();
       } else {
-        const identityTransformAlgorithm = (chunk, controller) => {
-          controller.enqueue(chunk);
-        };
-        const transformStream = new TransformStream2({
-          start() {
-          },
-          transform: identityTransformAlgorithm,
-          flush: processResponseEndOfBody
-        }, {
-          size() {
-            return 1;
-          }
-        }, {
-          size() {
-            return 1;
-          }
+        finished(internalResponse.body.stream, () => {
+          processResponseEndOfBody();
         });
-        response.body = { stream: response.body.stream.pipeThrough(transformStream) };
-      }
-      if (fetchParams.processResponseConsumeBody != null) {
-        const processBody = (nullOrBytes) => fetchParams.processResponseConsumeBody(response, nullOrBytes);
-        const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure);
-        if (response.body == null) {
-          queueMicrotask(() => processBody(null));
-        } else {
-          return fullyReadBody(response.body, processBody, processBodyError);
-        }
-        return Promise.resolve();
       }
     }
     async function httpFetch(fetchParams) {
@@ -34504,7 +35041,7 @@ var require_fetch2 = __commonJS({
       }
       if (redirectStatusSet.has(actualResponse.status)) {
         if (request2.redirect !== "manual") {
-          fetchParams.controller.connection.destroy();
+          fetchParams.controller.connection.destroy(void 0, false);
         }
         if (request2.redirect === "error") {
           response = makeNetworkError("unexpected redirect");
@@ -34560,10 +35097,10 @@ var require_fetch2 = __commonJS({
         }
       }
       if (!sameOrigin(requestCurrentURL(request2), locationURL)) {
-        request2.headersList.delete("authorization");
+        request2.headersList.delete("authorization", true);
         request2.headersList.delete("proxy-authorization", true);
-        request2.headersList.delete("cookie");
-        request2.headersList.delete("host");
+        request2.headersList.delete("cookie", true);
+        request2.headersList.delete("host", true);
       }
       if (request2.body != null) {
         assert(request2.body.source != null);
@@ -34589,7 +35126,7 @@ var require_fetch2 = __commonJS({
         httpFetchParams = fetchParams;
         httpRequest = request2;
       } else {
-        httpRequest = makeRequest(request2);
+        httpRequest = cloneRequest(request2);
         httpFetchParams = { ...fetchParams };
         httpFetchParams.request = httpRequest;
       }
@@ -34603,52 +35140,52 @@ var require_fetch2 = __commonJS({
         contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
       }
       if (contentLengthHeaderValue != null) {
-        httpRequest.headersList.append("content-length", contentLengthHeaderValue);
+        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));
+        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href), true);
       }
       appendRequestOriginHeader(httpRequest);
       appendFetchMetadata(httpRequest);
-      if (!httpRequest.headersList.contains("user-agent")) {
-        httpRequest.headersList.append("user-agent", typeof esbuildDetection === "undefined" ? "undici" : "node");
+      if (!httpRequest.headersList.contains("user-agent", true)) {
+        httpRequest.headersList.append("user-agent", defaultUserAgent);
       }
-      if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since") || httpRequest.headersList.contains("if-none-match") || httpRequest.headersList.contains("if-unmodified-since") || httpRequest.headersList.contains("if-match") || httpRequest.headersList.contains("if-range"))) {
+      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")) {
-        httpRequest.headersList.append("cache-control", "max-age=0");
+      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")) {
-          httpRequest.headersList.append("pragma", "no-cache");
+        if (!httpRequest.headersList.contains("pragma", true)) {
+          httpRequest.headersList.append("pragma", "no-cache", true);
         }
-        if (!httpRequest.headersList.contains("cache-control")) {
-          httpRequest.headersList.append("cache-control", "no-cache");
+        if (!httpRequest.headersList.contains("cache-control", true)) {
+          httpRequest.headersList.append("cache-control", "no-cache", true);
         }
       }
-      if (httpRequest.headersList.contains("range")) {
-        httpRequest.headersList.append("accept-encoding", "identity");
+      if (httpRequest.headersList.contains("range", true)) {
+        httpRequest.headersList.append("accept-encoding", "identity", true);
       }
-      if (!httpRequest.headersList.contains("accept-encoding")) {
+      if (!httpRequest.headersList.contains("accept-encoding", true)) {
         if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
-          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate");
+          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate", true);
         } else {
-          httpRequest.headersList.append("accept-encoding", "gzip, deflate");
+          httpRequest.headersList.append("accept-encoding", "gzip, deflate", true);
         }
       }
-      httpRequest.headersList.delete("host");
+      httpRequest.headersList.delete("host", true);
       if (includeCredentials) {
       }
       if (httpCache == null) {
         httpRequest.cache = "no-store";
       }
-      if (httpRequest.mode !== "no-store" && httpRequest.mode !== "reload") {
+      if (httpRequest.cache !== "no-store" && httpRequest.cache !== "reload") {
       }
       if (response == null) {
-        if (httpRequest.mode === "only-if-cached") {
+        if (httpRequest.cache === "only-if-cached") {
           return makeNetworkError("only if cached");
         }
         const forwardResponse = await httpNetworkFetch(
@@ -34665,7 +35202,7 @@ var require_fetch2 = __commonJS({
         }
       }
       response.urlList = [...httpRequest.urlList];
-      if (httpRequest.headersList.contains("range")) {
+      if (httpRequest.headersList.contains("range", true)) {
         response.rangeRequested = true;
       }
       response.requestIncludesCredentials = includeCredentials;
@@ -34703,10 +35240,12 @@ var require_fetch2 = __commonJS({
       fetchParams.controller.connection = {
         abort: null,
         destroyed: false,
-        destroy(err) {
+        destroy(err, abort = true) {
           if (!this.destroyed) {
             this.destroyed = true;
-            this.abort?.(err ?? new DOMException2("The operation was aborted.", "AbortError"));
+            if (abort) {
+              this.abort?.(err ?? new DOMException("The operation was aborted.", "AbortError"));
+            }
           }
         }
       };
@@ -34777,16 +35316,15 @@ var require_fetch2 = __commonJS({
         }
         return makeNetworkError(err);
       }
-      const pullAlgorithm = () => {
-        fetchParams.controller.resume();
+      const pullAlgorithm = async () => {
+        await fetchParams.controller.resume();
       };
       const cancelAlgorithm = (reason) => {
-        fetchParams.controller.abort(reason);
+        if (!isCancelled(fetchParams)) {
+          fetchParams.controller.abort(reason);
+        }
       };
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      const stream = new ReadableStream2(
+      const stream = new ReadableStream(
         {
           async start(controller) {
             fetchParams.controller.controller = controller;
@@ -34796,16 +35334,12 @@ var require_fetch2 = __commonJS({
           },
           async cancel(reason) {
             await cancelAlgorithm(reason);
-          }
-        },
-        {
-          highWaterMark: 0,
-          size() {
-            return 1;
-          }
+          },
+          type: "bytes"
         }
       );
-      response.body = { stream };
+      response.body = { stream, source: null, length: null };
+      fetchParams.controller.onAborted = onAborted;
       fetchParams.controller.on("terminated", onAborted);
       fetchParams.controller.resume = async () => {
         while (true) {
@@ -34835,12 +35369,15 @@ var require_fetch2 = __commonJS({
             fetchParams.controller.terminate(bytes);
             return;
           }
-          fetchParams.controller.controller.enqueue(new Uint8Array(bytes));
+          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) {
+          if (fetchParams.controller.controller.desiredSize <= 0) {
             return;
           }
         }
@@ -34863,7 +35400,7 @@ var require_fetch2 = __commonJS({
         fetchParams.controller.connection.destroy();
       }
       return response;
-      async function dispatch({ body }) {
+      function dispatch({ body }) {
         const url = requestCurrentURL(request2);
         const agent = fetchParams.controller.dispatcher;
         return new Promise((resolve2, reject) => agent.dispatch(
@@ -34871,7 +35408,7 @@ var require_fetch2 = __commonJS({
             path: url.pathname + url.search,
             origin: url.origin,
             method: request2.method,
-            body: fetchParams.controller.dispatcher.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
+            body: agent.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
             headers: request2.headersList.entries,
             maxRedirections: 0,
             upgrade: request2.mode === "websocket" ? "websocket" : void 0
@@ -34881,48 +35418,41 @@ var require_fetch2 = __commonJS({
             abort: null,
             onConnect(abort) {
               const { connection } = fetchParams.controller;
+              timingInfo.finalConnectionTimingInfo = clampAndCoarsenConnectionTimingInfo(void 0, timingInfo.postRedirectStartTime, fetchParams.crossOriginIsolatedCapability);
               if (connection.destroyed) {
-                abort(new DOMException2("The operation was aborted.", "AbortError"));
+                abort(new DOMException("The operation was aborted.", "AbortError"));
               } else {
                 fetchParams.controller.on("terminated", abort);
                 this.abort = connection.abort = abort;
               }
+              timingInfo.finalNetworkRequestStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
             },
-            onHeaders(status, headersList, resume, statusText) {
+            onResponseStarted() {
+              timingInfo.finalNetworkResponseStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+            },
+            onHeaders(status, rawHeaders, resume, statusText) {
               if (status < 200) {
                 return;
               }
-              let codings = [];
               let location = "";
-              const headers = new Headers();
-              if (Array.isArray(headersList)) {
-                for (let n = 0; n < headersList.length; n += 2) {
-                  const key = headersList[n + 0].toString("latin1");
-                  const val = headersList[n + 1].toString("latin1");
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim());
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
-              } else {
-                const keys = Object.keys(headersList);
-                for (const key of keys) {
-                  const val = headersList[key];
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim()).reverse();
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
+              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 = request2.redirect === "follow" && location && redirectStatusSet.has(status);
+              const willFollow = location && request2.redirect === "follow" && redirectStatusSet.has(status);
               if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
-                for (const coding of codings) {
+                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
@@ -34933,22 +35463,31 @@ var require_fetch2 = __commonJS({
                       finishFlush: zlib.constants.Z_SYNC_FLUSH
                     }));
                   } else if (coding === "deflate") {
-                    decoders.push(zlib.createInflate());
+                    decoders.push(createInflate({
+                      flush: zlib.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib.constants.Z_SYNC_FLUSH
+                    }));
                   } else if (coding === "br") {
-                    decoders.push(zlib.createBrotliDecompress());
+                    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);
               resolve2({
                 status,
                 statusText,
-                headersList: headers[kHeadersList],
-                body: decoders.length ? pipeline(this.body, ...decoders, () => {
-                }) : this.body.on("error", () => {
-                })
+                headersList,
+                body: decoders.length ? pipeline(this.body, ...decoders, (err) => {
+                  if (err) {
+                    this.onError(err);
+                  }
+                }).on("error", onError) : this.body.on("error", onError)
               });
               return true;
             },
@@ -34964,6 +35503,9 @@ var require_fetch2 = __commonJS({
               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);
             },
@@ -34975,20 +35517,18 @@ var require_fetch2 = __commonJS({
               fetchParams.controller.terminate(error3);
               reject(error3);
             },
-            onUpgrade(status, headersList, socket) {
+            onUpgrade(status, rawHeaders, socket) {
               if (status !== 101) {
                 return;
               }
-              const headers = new Headers();
-              for (let n = 0; n < headersList.length; n += 2) {
-                const key = headersList[n + 0].toString("latin1");
-                const val = headersList[n + 1].toString("latin1");
-                headers[kHeadersList].append(key, val);
+              const headersList = new HeadersList();
+              for (let i = 0; i < rawHeaders.length; i += 2) {
+                headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true);
               }
               resolve2({
                 status,
                 statusText: STATUS_CODES[status],
-                headersList: headers[kHeadersList],
+                headersList,
                 socket
               });
               return true;
@@ -35006,9 +35546,9 @@ var require_fetch2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/fileapi/symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js
 var require_symbols8 = __commonJS({
-  "node_modules/undici/lib/fileapi/symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js"(exports2, module2) {
     "use strict";
     module2.exports = {
       kState: /* @__PURE__ */ Symbol("FileReader state"),
@@ -35021,15 +35561,15 @@ var require_symbols8 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/fileapi/progressevent.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js
 var require_progressevent2 = __commonJS({
-  "node_modules/undici/lib/fileapi/progressevent.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js"(exports2, module2) {
     "use strict";
     var { webidl } = require_webidl2();
     var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
     var ProgressEvent = class _ProgressEvent extends Event {
       constructor(type2, eventInitDict = {}) {
-        type2 = webidl.converters.DOMString(type2);
+        type2 = webidl.converters.DOMString(type2, "ProgressEvent constructor", "type");
         eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
         super(type2, eventInitDict);
         this[kState] = {
@@ -35055,32 +35595,32 @@ var require_progressevent2 = __commonJS({
       {
         key: "lengthComputable",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "loaded",
         converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
+        defaultValue: () => 0
       },
       {
         key: "total",
         converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
+        defaultValue: () => 0
       },
       {
         key: "bubbles",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "cancelable",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "composed",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       }
     ]);
     module2.exports = {
@@ -35089,9 +35629,9 @@ var require_progressevent2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/fileapi/encoding.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js
 var require_encoding2 = __commonJS({
-  "node_modules/undici/lib/fileapi/encoding.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js"(exports2, module2) {
     "use strict";
     function getEncoding(label) {
       if (!label) {
@@ -35375,9 +35915,9 @@ var require_encoding2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/fileapi/util.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js
 var require_util12 = __commonJS({
-  "node_modules/undici/lib/fileapi/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js"(exports2, module2) {
     "use strict";
     var {
       kState,
@@ -35388,11 +35928,10 @@ var require_util12 = __commonJS({
     } = require_symbols8();
     var { ProgressEvent } = require_progressevent2();
     var { getEncoding } = require_encoding2();
-    var { DOMException: DOMException2 } = require_constants7();
-    var { serializeAMimeType, parseMIMEType } = require_dataURL();
-    var { types } = require("util");
+    var { serializeAMimeType, parseMIMEType } = require_data_url2();
+    var { types } = require("node:util");
     var { StringDecoder } = require("string_decoder");
-    var { btoa: btoa2 } = require("buffer");
+    var { btoa: btoa2 } = require("node:buffer");
     var staticPropertyDescriptors = {
       enumerable: true,
       writable: false,
@@ -35400,7 +35939,7 @@ var require_util12 = __commonJS({
     };
     function readOperation(fr, blob, type2, encodingName) {
       if (fr[kState] === "loading") {
-        throw new DOMException2("Invalid state", "InvalidStateError");
+        throw new DOMException("Invalid state", "InvalidStateError");
       }
       fr[kState] = "loading";
       fr[kResult] = null;
@@ -35561,9 +36100,9 @@ var require_util12 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/fileapi/filereader.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js
 var require_filereader2 = __commonJS({
-  "node_modules/undici/lib/fileapi/filereader.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js"(exports2, module2) {
     "use strict";
     var {
       staticPropertyDescriptors,
@@ -35600,7 +36139,7 @@ var require_filereader2 = __commonJS({
        */
       readAsArrayBuffer(blob) {
         webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsArrayBuffer" });
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsArrayBuffer");
         blob = webidl.converters.Blob(blob, { strict: false });
         readOperation(this, blob, "ArrayBuffer");
       }
@@ -35610,7 +36149,7 @@ var require_filereader2 = __commonJS({
        */
       readAsBinaryString(blob) {
         webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsBinaryString" });
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsBinaryString");
         blob = webidl.converters.Blob(blob, { strict: false });
         readOperation(this, blob, "BinaryString");
       }
@@ -35621,10 +36160,10 @@ var require_filereader2 = __commonJS({
        */
       readAsText(blob, encoding = void 0) {
         webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsText" });
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsText");
         blob = webidl.converters.Blob(blob, { strict: false });
         if (encoding !== void 0) {
-          encoding = webidl.converters.DOMString(encoding);
+          encoding = webidl.converters.DOMString(encoding, "FileReader.readAsText", "encoding");
         }
         readOperation(this, blob, "Text", encoding);
       }
@@ -35634,7 +36173,7 @@ var require_filereader2 = __commonJS({
        */
       readAsDataURL(blob) {
         webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsDataURL" });
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsDataURL");
         blob = webidl.converters.Blob(blob, { strict: false });
         readOperation(this, blob, "DataURL");
       }
@@ -35820,9 +36359,9 @@ var require_filereader2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/cache/symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/symbols.js
 var require_symbols9 = __commonJS({
-  "node_modules/undici/lib/cache/symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/symbols.js"(exports2, module2) {
     "use strict";
     module2.exports = {
       kConstruct: require_symbols6().kConstruct
@@ -35830,55 +36369,50 @@ var require_symbols9 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/cache/util.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js
 var require_util13 = __commonJS({
-  "node_modules/undici/lib/cache/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { URLSerializer } = require_dataURL();
+    var assert = require("node:assert");
+    var { URLSerializer } = require_data_url2();
     var { isValidHeaderName } = require_util10();
     function urlEquals(A, B, excludeFragment = false) {
       const serializedA = URLSerializer(A, excludeFragment);
       const serializedB = URLSerializer(B, excludeFragment);
       return serializedA === serializedB;
     }
-    function fieldValues(header) {
+    function getFieldValues(header) {
       assert(header !== null);
       const values = [];
       for (let value of header.split(",")) {
         value = value.trim();
-        if (!value.length) {
-          continue;
-        } else if (!isValidHeaderName(value)) {
-          continue;
+        if (isValidHeaderName(value)) {
+          values.push(value);
         }
-        values.push(value);
       }
       return values;
     }
     module2.exports = {
       urlEquals,
-      fieldValues
+      getFieldValues
     };
   }
 });
 
-// node_modules/undici/lib/cache/cache.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js
 var require_cache2 = __commonJS({
-  "node_modules/undici/lib/cache/cache.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js"(exports2, module2) {
     "use strict";
     var { kConstruct } = require_symbols9();
-    var { urlEquals, fieldValues: getFieldValues } = require_util13();
+    var { urlEquals, getFieldValues } = require_util13();
     var { kEnumerableProperty, isDisturbed } = require_util9();
-    var { kHeadersList } = require_symbols6();
     var { webidl } = require_webidl2();
-    var { Response, cloneResponse } = require_response2();
-    var { Request } = require_request4();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
+    var { Response, cloneResponse, fromInnerResponse } = require_response2();
+    var { Request, fromInnerRequest } = require_request4();
+    var { kState } = require_symbols7();
     var { fetching } = require_fetch2();
     var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util10();
-    var assert = require("assert");
-    var { getGlobalDispatcher } = require_global4();
+    var assert = require("node:assert");
     var Cache = class _Cache {
       /**
        * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list
@@ -35889,14 +36423,16 @@ var require_cache2 = __commonJS({
         if (arguments[0] !== kConstruct) {
           webidl.illegalConstructor();
         }
+        webidl.util.markAsUncloneable(this);
         this.#relevantRequestResponseList = arguments[1];
       }
       async match(request2, options = {}) {
         webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.match" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        const p = await this.matchAll(request2, options);
+        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;
         }
@@ -35904,64 +36440,42 @@ var require_cache2 = __commonJS({
       }
       async matchAll(request2 = void 0, options = {}) {
         webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(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 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 = new Response(response.body?.source ?? null);
-          const body = responseObject[kState].body;
-          responseObject[kState] = response;
-          responseObject[kState].body = body;
-          responseObject[kHeaders][kHeadersList] = response.headersList;
-          responseObject[kHeaders][kGuard] = "immutable";
-          responseList.push(responseObject);
-        }
-        return Object.freeze(responseList);
+        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);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.add" });
-        request2 = webidl.converters.RequestInfo(request2);
+        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);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.addAll" });
-        requests = webidl.converters["sequence"](requests);
+        const prefix = "Cache.addAll";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
         const responsePromises = [];
         const requestList = [];
-        for (const request2 of requests) {
+        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: "Cache.addAll",
+              header: prefix,
               message: "Expected http/s scheme when method is not GET."
             });
           }
@@ -35971,7 +36485,7 @@ var require_cache2 = __commonJS({
           const r = new Request(request2)[kState];
           if (!urlIsHttpHttpsScheme(r.url)) {
             throw webidl.errors.exception({
-              header: "Cache.addAll",
+              header: prefix,
               message: "Expected http/s scheme."
             });
           }
@@ -35981,7 +36495,6 @@ var require_cache2 = __commonJS({
           const responsePromise = createDeferredPromise();
           fetchControllers.push(fetching({
             request: r,
-            dispatcher: getGlobalDispatcher(),
             processResponse(response) {
               if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) {
                 responsePromise.reject(webidl.errors.exception({
@@ -36048,9 +36561,10 @@ var require_cache2 = __commonJS({
       }
       async put(request2, response) {
         webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Cache.put" });
-        request2 = webidl.converters.RequestInfo(request2);
-        response = webidl.converters.Response(response);
+        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];
@@ -36059,14 +36573,14 @@ var require_cache2 = __commonJS({
         }
         if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") {
           throw webidl.errors.exception({
-            header: "Cache.put",
+            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: "Cache.put",
+            header: prefix,
             message: "Got 206 status"
           });
         }
@@ -36075,7 +36589,7 @@ var require_cache2 = __commonJS({
           for (const fieldValue of fieldValues) {
             if (fieldValue === "*") {
               throw webidl.errors.exception({
-                header: "Cache.put",
+                header: prefix,
                 message: "Got * vary field value"
               });
             }
@@ -36083,7 +36597,7 @@ var require_cache2 = __commonJS({
         }
         if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {
           throw webidl.errors.exception({
-            header: "Cache.put",
+            header: prefix,
             message: "Response body is locked or disturbed"
           });
         }
@@ -36128,9 +36642,10 @@ var require_cache2 = __commonJS({
       }
       async delete(request2, options = {}) {
         webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.delete" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
+        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];
@@ -36169,12 +36684,13 @@ var require_cache2 = __commonJS({
        * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys
        * @param {any} request
        * @param {import('../../types/cache').CacheQueryOptions} options
-       * @returns {readonly Request[]}
+       * @returns {Promise}
        */
       async keys(request2 = void 0, options = {}) {
         webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
+        const prefix = "Cache.keys";
+        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
         let r = null;
         if (request2 !== void 0) {
           if (request2 instanceof Request) {
@@ -36201,11 +36717,11 @@ var require_cache2 = __commonJS({
         queueMicrotask(() => {
           const requestList = [];
           for (const request3 of requests) {
-            const requestObject = new Request("https://a");
-            requestObject[kState] = request3;
-            requestObject[kHeaders][kHeadersList] = request3.headersList;
-            requestObject[kHeaders][kGuard] = "immutable";
-            requestObject[kRealm] = request3.client;
+            const requestObject = fromInnerRequest(
+              request3,
+              new AbortController().signal,
+              "immutable"
+            );
             requestList.push(requestObject);
           }
           promise.resolve(Object.freeze(requestList));
@@ -36346,6 +36862,39 @@ var require_cache2 = __commonJS({
         }
         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]: {
@@ -36364,17 +36913,17 @@ var require_cache2 = __commonJS({
       {
         key: "ignoreSearch",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "ignoreMethod",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "ignoreVary",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       }
     ];
     webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters);
@@ -36395,9 +36944,9 @@ var require_cache2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/cache/cachestorage.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js
 var require_cachestorage2 = __commonJS({
-  "node_modules/undici/lib/cache/cachestorage.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js"(exports2, module2) {
     "use strict";
     var { kConstruct } = require_symbols9();
     var { Cache } = require_cache2();
@@ -36413,10 +36962,11 @@ var require_cachestorage2 = __commonJS({
         if (arguments[0] !== kConstruct) {
           webidl.illegalConstructor();
         }
+        webidl.util.markAsUncloneable(this);
       }
       async match(request2, options = {}) {
         webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.match" });
+        webidl.argumentLengthCheck(arguments, 1, "CacheStorage.match");
         request2 = webidl.converters.RequestInfo(request2);
         options = webidl.converters.MultiCacheQueryOptions(options);
         if (options.cacheName != null) {
@@ -36442,8 +36992,9 @@ var require_cachestorage2 = __commonJS({
        */
       async has(cacheName) {
         webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.has" });
-        cacheName = webidl.converters.DOMString(cacheName);
+        const prefix = "CacheStorage.has";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
         return this.#caches.has(cacheName);
       }
       /**
@@ -36453,8 +37004,9 @@ var require_cachestorage2 = __commonJS({
        */
       async open(cacheName) {
         webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.open" });
-        cacheName = webidl.converters.DOMString(cacheName);
+        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);
@@ -36470,13 +37022,14 @@ var require_cachestorage2 = __commonJS({
        */
       async delete(cacheName) {
         webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.delete" });
-        cacheName = webidl.converters.DOMString(cacheName);
+        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 {string[]}
+       * @returns {Promise}
        */
       async keys() {
         webidl.brandCheck(this, _CacheStorage);
@@ -36501,9 +37054,9 @@ var require_cachestorage2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/cookies/constants.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/constants.js
 var require_constants9 = __commonJS({
-  "node_modules/undici/lib/cookies/constants.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/constants.js"(exports2, module2) {
     "use strict";
     var maxAttributeValueSize = 1024;
     var maxNameValuePairSize = 4096;
@@ -36514,42 +37067,73 @@ var require_constants9 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/cookies/util.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/util.js
 var require_util14 = __commonJS({
-  "node_modules/undici/lib/cookies/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/util.js"(exports2, module2) {
     "use strict";
     function isCTLExcludingHtab(value) {
-      if (value.length === 0) {
-        return false;
-      }
-      for (const char of value) {
-        const code = char.charCodeAt(0);
-        if (code >= 0 || code <= 8 || (code >= 10 || code <= 31) || code === 127) {
-          return false;
+      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 (const char of name) {
-        const code = char.charCodeAt(0);
-        if (code <= 32 || code > 127 || char === "(" || char === ")" || char === ">" || char === "<" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}") {
+      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) {
-      for (const char of value) {
-        const code = char.charCodeAt(0);
+      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 === 34 || code === 44 || code === 59 || code === 92 || code > 126) {
-          throw new Error("Invalid header value");
+        code > 126 || // non-ascii and DEL (127)
+        code === 34 || // "
+        code === 44 || // ,
+        code === 59 || // ;
+        code === 92) {
+          throw new Error("Invalid cookie value");
         }
       }
     }
     function validateCookiePath(path3) {
-      for (const char of path3) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || char === ";") {
+      for (let i = 0; i < path3.length; ++i) {
+        const code = path3.charCodeAt(i);
+        if (code < 32 || // exclude CTLs (0-31)
+        code === 127 || // DEL
+        code === 59) {
           throw new Error("Invalid cookie path");
         }
       }
@@ -36559,41 +37143,35 @@ var require_util14 = __commonJS({
         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((_2, i) => i.toString().padStart(2, "0"));
     function toIMFDate(date) {
       if (typeof date === "number") {
         date = new Date(date);
       }
-      const days = [
-        "Sun",
-        "Mon",
-        "Tue",
-        "Wed",
-        "Thu",
-        "Fri",
-        "Sat"
-      ];
-      const months = [
-        "Jan",
-        "Feb",
-        "Mar",
-        "Apr",
-        "May",
-        "Jun",
-        "Jul",
-        "Aug",
-        "Sep",
-        "Oct",
-        "Nov",
-        "Dec"
-      ];
-      const dayName = days[date.getUTCDay()];
-      const day = date.getUTCDate().toString().padStart(2, "0");
-      const month = months[date.getUTCMonth()];
-      const year = date.getUTCFullYear();
-      const hour = date.getUTCHours().toString().padStart(2, "0");
-      const minute = date.getUTCMinutes().toString().padStart(2, "0");
-      const second = date.getUTCSeconds().toString().padStart(2, "0");
-      return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`;
+      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) {
@@ -36659,14 +37237,14 @@ var require_util14 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/cookies/parse.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js
 var require_parse2 = __commonJS({
-  "node_modules/undici/lib/cookies/parse.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js"(exports2, module2) {
     "use strict";
     var { maxNameValuePairSize, maxAttributeValueSize } = require_constants9();
     var { isCTLExcludingHtab } = require_util14();
-    var { collectASequenceOfCodePointsFast } = require_dataURL();
-    var assert = require("assert");
+    var { collectASequenceOfCodePointsFast } = require_data_url2();
+    var assert = require("node:assert");
     function parseSetCookie(header) {
       if (isCTLExcludingHtab(header)) {
         return null;
@@ -36799,16 +37377,16 @@ var require_parse2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/cookies/index.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js
 var require_cookies2 = __commonJS({
-  "node_modules/undici/lib/cookies/index.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js"(exports2, module2) {
     "use strict";
     var { parseSetCookie } = require_parse2();
     var { stringify } = require_util14();
     var { webidl } = require_webidl2();
     var { Headers } = require_headers2();
     function getCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "getCookies" });
+      webidl.argumentLengthCheck(arguments, 1, "getCookies");
       webidl.brandCheck(headers, Headers, { strict: false });
       const cookie = headers.get("cookie");
       const out = {};
@@ -36822,9 +37400,10 @@ var require_cookies2 = __commonJS({
       return out;
     }
     function deleteCookie(headers, name, attributes) {
-      webidl.argumentLengthCheck(arguments, 2, { header: "deleteCookie" });
       webidl.brandCheck(headers, Headers, { strict: false });
-      name = webidl.converters.DOMString(name);
+      const prefix = "deleteCookie";
+      webidl.argumentLengthCheck(arguments, 2, prefix);
+      name = webidl.converters.DOMString(name, prefix, "name");
       attributes = webidl.converters.DeleteCookieAttributes(attributes);
       setCookie(headers, {
         name,
@@ -36834,7 +37413,7 @@ var require_cookies2 = __commonJS({
       });
     }
     function getSetCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "getSetCookies" });
+      webidl.argumentLengthCheck(arguments, 1, "getSetCookies");
       webidl.brandCheck(headers, Headers, { strict: false });
       const cookies = headers.getSetCookie();
       if (!cookies) {
@@ -36843,24 +37422,24 @@ var require_cookies2 = __commonJS({
       return cookies.map((pair) => parseSetCookie(pair));
     }
     function setCookie(headers, cookie) {
-      webidl.argumentLengthCheck(arguments, 2, { header: "setCookie" });
+      webidl.argumentLengthCheck(arguments, 2, "setCookie");
       webidl.brandCheck(headers, Headers, { strict: false });
       cookie = webidl.converters.Cookie(cookie);
       const str2 = stringify(cookie);
       if (str2) {
-        headers.append("Set-Cookie", stringify(cookie));
+        headers.append("Set-Cookie", str2);
       }
     }
     webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([
       {
         converter: webidl.nullableConverter(webidl.converters.DOMString),
         key: "path",
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         converter: webidl.nullableConverter(webidl.converters.DOMString),
         key: "domain",
-        defaultValue: null
+        defaultValue: () => null
       }
     ]);
     webidl.converters.Cookie = webidl.dictionaryConverter([
@@ -36880,32 +37459,32 @@ var require_cookies2 = __commonJS({
           return new Date(value);
         }),
         key: "expires",
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         converter: webidl.nullableConverter(webidl.converters["long long"]),
         key: "maxAge",
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         converter: webidl.nullableConverter(webidl.converters.DOMString),
         key: "domain",
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         converter: webidl.nullableConverter(webidl.converters.DOMString),
         key: "path",
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         converter: webidl.nullableConverter(webidl.converters.boolean),
         key: "secure",
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         converter: webidl.nullableConverter(webidl.converters.boolean),
         key: "httpOnly",
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         converter: webidl.converters.USVString,
@@ -36915,7 +37494,7 @@ var require_cookies2 = __commonJS({
       {
         converter: webidl.sequenceConverter(webidl.converters.DOMString),
         key: "unparsed",
-        defaultValue: []
+        defaultValue: () => new Array(0)
       }
     ]);
     module2.exports = {
@@ -36927,82 +37506,29 @@ var require_cookies2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/websocket/constants.js
-var require_constants10 = __commonJS({
-  "node_modules/undici/lib/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 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);
-    module2.exports = {
-      uid,
-      staticPropertyDescriptors,
-      states,
-      opcodes,
-      maxUnsigned16Bit,
-      parserStates,
-      emptyBuffer
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/symbols.js
-var require_symbols10 = __commonJS({
-  "node_modules/undici/lib/websocket/symbols.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
-      kReadyState: /* @__PURE__ */ Symbol("ready state"),
-      kController: /* @__PURE__ */ Symbol("controller"),
-      kResponse: /* @__PURE__ */ Symbol("response"),
-      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
-      kSentClose: /* @__PURE__ */ Symbol("sent close"),
-      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
-      kByteParser: /* @__PURE__ */ Symbol("byte parser")
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/events.js
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js
 var require_events2 = __commonJS({
-  "node_modules/undici/lib/websocket/events.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js"(exports2, module2) {
     "use strict";
     var { webidl } = require_webidl2();
     var { kEnumerableProperty } = require_util9();
-    var { MessagePort } = require("worker_threads");
+    var { kConstruct } = require_symbols6();
+    var { MessagePort } = require("node:worker_threads");
     var MessageEvent = class _MessageEvent extends Event {
       #eventInit;
       constructor(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.MessageEventInit(eventInitDict);
+        if (type2 === kConstruct) {
+          super(arguments[1], arguments[2]);
+          webidl.util.markAsUncloneable(this);
+          return;
+        }
+        const prefix = "MessageEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.MessageEventInit(eventInitDict, prefix, "eventInitDict");
         super(type2, eventInitDict);
         this.#eventInit = eventInitDict;
+        webidl.util.markAsUncloneable(this);
       }
       get data() {
         webidl.brandCheck(this, _MessageEvent);
@@ -37029,7 +37555,7 @@ var require_events2 = __commonJS({
       }
       initMessageEvent(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
         webidl.brandCheck(this, _MessageEvent);
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent.initMessageEvent" });
+        webidl.argumentLengthCheck(arguments, 1, "MessageEvent.initMessageEvent");
         return new _MessageEvent(type2, {
           bubbles,
           cancelable,
@@ -37040,15 +37566,29 @@ var require_events2 = __commonJS({
           ports
         });
       }
+      static createFastMessageEvent(type2, init) {
+        const messageEvent = new _MessageEvent(kConstruct, type2, 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(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
+        const prefix = "CloseEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
         eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
         super(type2, eventInitDict);
         this.#eventInit = eventInitDict;
+        webidl.util.markAsUncloneable(this);
       }
       get wasClean() {
         webidl.brandCheck(this, _CloseEvent);
@@ -37066,9 +37606,11 @@ var require_events2 = __commonJS({
     var ErrorEvent = class _ErrorEvent extends Event {
       #eventInit;
       constructor(type2, eventInitDict) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" });
+        const prefix = "ErrorEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
         super(type2, eventInitDict);
-        type2 = webidl.converters.DOMString(type2);
+        webidl.util.markAsUncloneable(this);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
         eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});
         this.#eventInit = eventInitDict;
       }
@@ -37133,17 +37675,17 @@ var require_events2 = __commonJS({
       {
         key: "bubbles",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "cancelable",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "composed",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       }
     ];
     webidl.converters.MessageEventInit = webidl.dictionaryConverter([
@@ -37151,31 +37693,29 @@ var require_events2 = __commonJS({
       {
         key: "data",
         converter: webidl.converters.any,
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         key: "origin",
         converter: webidl.converters.USVString,
-        defaultValue: ""
+        defaultValue: () => ""
       },
       {
         key: "lastEventId",
         converter: webidl.converters.DOMString,
-        defaultValue: ""
+        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
+        defaultValue: () => null
       },
       {
         key: "ports",
         converter: webidl.converters["sequence"],
-        get defaultValue() {
-          return [];
-        }
+        defaultValue: () => new Array(0)
       }
     ]);
     webidl.converters.CloseEventInit = webidl.dictionaryConverter([
@@ -37183,17 +37723,17 @@ var require_events2 = __commonJS({
       {
         key: "wasClean",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "code",
         converter: webidl.converters["unsigned short"],
-        defaultValue: 0
+        defaultValue: () => 0
       },
       {
         key: "reason",
         converter: webidl.converters.USVString,
-        defaultValue: ""
+        defaultValue: () => ""
       }
     ]);
     webidl.converters.ErrorEventInit = webidl.dictionaryConverter([
@@ -37201,22 +37741,22 @@ var require_events2 = __commonJS({
       {
         key: "message",
         converter: webidl.converters.DOMString,
-        defaultValue: ""
+        defaultValue: () => ""
       },
       {
         key: "filename",
         converter: webidl.converters.USVString,
-        defaultValue: ""
+        defaultValue: () => ""
       },
       {
         key: "lineno",
         converter: webidl.converters["unsigned long"],
-        defaultValue: 0
+        defaultValue: () => 0
       },
       {
         key: "colno",
         converter: webidl.converters["unsigned long"],
-        defaultValue: 0
+        defaultValue: () => 0
       },
       {
         key: "error",
@@ -37226,18 +37766,98 @@ var require_events2 = __commonJS({
     module2.exports = {
       MessageEvent,
       CloseEvent,
-      ErrorEvent
+      ErrorEvent,
+      createFastMessageEvent
     };
   }
 });
 
-// node_modules/undici/lib/websocket/util.js
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js
+var require_constants10 = __commonJS({
+  "node_modules/@actions/github/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/@actions/github/node_modules/undici/lib/web/websocket/symbols.js
+var require_symbols10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
+      kReadyState: /* @__PURE__ */ Symbol("ready state"),
+      kController: /* @__PURE__ */ Symbol("controller"),
+      kResponse: /* @__PURE__ */ Symbol("response"),
+      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
+      kSentClose: /* @__PURE__ */ Symbol("sent close"),
+      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
+      kByteParser: /* @__PURE__ */ Symbol("byte parser")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js
 var require_util15 = __commonJS({
-  "node_modules/undici/lib/websocket/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js"(exports2, module2) {
     "use strict";
     var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols10();
     var { states, opcodes } = require_constants10();
-    var { MessageEvent, ErrorEvent } = require_events2();
+    var { ErrorEvent, createFastMessageEvent } = require_events2();
+    var { isUtf8 } = require("node:buffer");
+    var { collectASequenceOfCodePointsFast, removeHTTPWhitespace } = require_data_url2();
+    function isConnecting(ws) {
+      return ws[kReadyState] === states.CONNECTING;
+    }
     function isEstablished(ws) {
       return ws[kReadyState] === states.OPEN;
     }
@@ -37247,8 +37867,8 @@ var require_util15 = __commonJS({
     function isClosed(ws) {
       return ws[kReadyState] === states.CLOSED;
     }
-    function fireEvent(e, target, eventConstructor = Event, eventInitDict) {
-      const event = new eventConstructor(e, eventInitDict);
+    function fireEvent(e, target, eventFactory = (type2, init) => new Event(type2, init), eventInitDict = {}) {
+      const event = eventFactory(e, eventInitDict);
       target.dispatchEvent(event);
     }
     function websocketMessageReceived(ws, type2, data) {
@@ -37258,7 +37878,7 @@ var require_util15 = __commonJS({
       let dataForEvent;
       if (type2 === opcodes.TEXT) {
         try {
-          dataForEvent = new TextDecoder("utf-8", { fatal: true }).decode(data);
+          dataForEvent = utf8Decode(data);
         } catch {
           failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
           return;
@@ -37267,22 +37887,44 @@ var require_util15 = __commonJS({
         if (ws[kBinaryType] === "blob") {
           dataForEvent = new Blob([data]);
         } else {
-          dataForEvent = new Uint8Array(data).buffer;
+          dataForEvent = toArrayBuffer(data);
         }
       }
-      fireEvent("message", ws, MessageEvent, {
+      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 (const char of protocol) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || code > 126 || char === "(" || char === ")" || char === "<" || char === ">" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}" || code === 32 || // SP
-        code === 9) {
+      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;
         }
       }
@@ -37303,12 +37945,57 @@ var require_util15 = __commonJS({
         response.socket.destroy();
       }
       if (reason) {
-        fireEvent("error", ws, ErrorEvent, {
-          error: new Error(reason)
+        fireEvent("error", ws, (type2, init) => new ErrorEvent(type2, 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,
@@ -37316,44 +38003,126 @@ var require_util15 = __commonJS({
       isValidSubprotocol,
       isValidStatusCode,
       failWebsocketConnection,
-      websocketMessageReceived
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isContinuationFrame,
+      isTextBinaryFrame,
+      isValidOpcode,
+      parseExtensions,
+      isValidClientWindowBits
     };
   }
 });
 
-// node_modules/undici/lib/websocket/connection.js
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js
+var require_frame2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js"(exports2, module2) {
+    "use strict";
+    var { maxUnsigned16Bit } = require_constants10();
+    var BUFFER_SIZE = 16386;
+    var crypto2;
+    var buffer = null;
+    var bufIdx = BUFFER_SIZE;
+    try {
+      crypto2 = require("node:crypto");
+    } catch {
+      crypto2 = {
+        // 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;
+        crypto2.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/@actions/github/node_modules/undici/lib/web/websocket/connection.js
 var require_connection2 = __commonJS({
-  "node_modules/undici/lib/websocket/connection.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js"(exports2, module2) {
     "use strict";
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { uid, states } = require_constants10();
+    var { uid, states, sentCloseFrameState, emptyBuffer, opcodes } = require_constants10();
     var {
       kReadyState,
       kSentClose,
       kByteParser,
-      kReceivedClose
+      kReceivedClose,
+      kResponse
     } = require_symbols10();
-    var { fireEvent, failWebsocketConnection } = require_util15();
+    var { fireEvent, failWebsocketConnection, isClosing, isClosed, isEstablished, parseExtensions } = require_util15();
+    var { channels } = require_diagnostics2();
     var { CloseEvent } = require_events2();
     var { makeRequest } = require_request4();
     var { fetching } = require_fetch2();
-    var { Headers } = require_headers2();
-    var { getGlobalDispatcher } = require_global4();
-    var { kHeadersList } = require_symbols6();
-    var channels = {};
-    channels.open = diagnosticsChannel.channel("undici:websocket:open");
-    channels.close = diagnosticsChannel.channel("undici:websocket:close");
-    channels.socketError = diagnosticsChannel.channel("undici:websocket:socket_error");
+    var { Headers, getHeadersList } = require_headers2();
+    var { getDecodeSplit } = require_util10();
+    var { WebsocketFrameSend } = require_frame2();
     var crypto2;
     try {
-      crypto2 = require("crypto");
+      crypto2 = require("node:crypto");
     } catch {
     }
-    function establishWebSocketConnection(url, protocols, ws, onEstablish, options) {
+    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",
@@ -37362,7 +38131,7 @@ var require_connection2 = __commonJS({
         redirect: "error"
       });
       if (options.headers) {
-        const headersList = new Headers(options.headers)[kHeadersList];
+        const headersList = getHeadersList(new Headers(options.headers));
         request2.headersList = headersList;
       }
       const keyValue = crypto2.randomBytes(16).toString("base64");
@@ -37371,11 +38140,12 @@ var require_connection2 = __commonJS({
       for (const protocol of protocols) {
         request2.headersList.append("sec-websocket-protocol", protocol);
       }
-      const permessageDeflate = "";
+      const permessageDeflate = "permessage-deflate; client_max_window_bits";
+      request2.headersList.append("sec-websocket-extensions", permessageDeflate);
       const controller = fetching({
         request: request2,
         useParallelQueue: true,
-        dispatcher: options.dispatcher ?? getGlobalDispatcher(),
+        dispatcher: options.dispatcher,
         processResponse(response) {
           if (response.type === "error" || response.status !== 101) {
             failWebsocketConnection(ws, "Received network error or non-101 status code.");
@@ -37400,14 +38170,21 @@ var require_connection2 = __commonJS({
             return;
           }
           const secExtension = response.headersList.get("Sec-WebSocket-Extensions");
-          if (secExtension !== null && secExtension !== permessageDeflate) {
-            failWebsocketConnection(ws, "Received different permessage-deflate than the one set.");
-            return;
+          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 && secProtocol !== request2.headersList.get("Sec-WebSocket-Protocol")) {
-            failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");
-            return;
+          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);
@@ -37419,11 +38196,37 @@ var require_connection2 = __commonJS({
               extensions: secExtension
             });
           }
-          onEstablish(response);
+          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();
@@ -37431,18 +38234,22 @@ var require_connection2 = __commonJS({
     }
     function onSocketClose() {
       const { ws } = this;
-      const wasClean = ws[kSentClose] && ws[kReceivedClose];
+      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) {
+      if (result && !result.error) {
         code = result.code ?? 1005;
         reason = result.reason;
-      } else if (!ws[kSentClose]) {
+      } else if (!ws[kReceivedClose]) {
         code = 1006;
       }
       ws[kReadyState] = states.CLOSED;
-      fireEvent("close", ws, CloseEvent, {
+      fireEvent("close", ws, (type2, init) => new CloseEvent(type2, init), {
         wasClean,
         code,
         reason
@@ -37464,98 +38271,114 @@ var require_connection2 = __commonJS({
       this.destroy();
     }
     module2.exports = {
-      establishWebSocketConnection
+      establishWebSocketConnection,
+      closeWebSocketConnection
     };
   }
 });
 
-// node_modules/undici/lib/websocket/frame.js
-var require_frame2 = __commonJS({
-  "node_modules/undici/lib/websocket/frame.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js
+var require_permessage_deflate2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js"(exports2, module2) {
     "use strict";
-    var { maxUnsigned16Bit } = require_constants10();
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-    } catch {
-    }
-    var WebsocketFrameSend = class {
-      /**
-       * @param {Buffer|undefined} data
-       */
-      constructor(data) {
-        this.frameData = data;
-        this.maskKey = crypto2.randomBytes(4);
+    var { createInflateRaw, Z_DEFAULT_WINDOWBITS } = require("node:zlib");
+    var { isValidClientWindowBits } = require_util15();
+    var tail = Buffer.from([0, 0, 255, 255]);
+    var kBuffer = /* @__PURE__ */ Symbol("kBuffer");
+    var kLength = /* @__PURE__ */ 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");
       }
-      createFrame(opcode) {
-        const bodyLength = this.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 buffer = Buffer.allocUnsafe(bodyLength + offset);
-        buffer[0] = buffer[1] = 0;
-        buffer[0] |= 128;
-        buffer[0] = (buffer[0] & 240) + opcode;
-        buffer[offset - 4] = this.maskKey[0];
-        buffer[offset - 3] = this.maskKey[1];
-        buffer[offset - 2] = this.maskKey[2];
-        buffer[offset - 1] = this.maskKey[3];
-        buffer[1] = payloadLength;
-        if (payloadLength === 126) {
-          buffer.writeUInt16BE(bodyLength, 2);
-        } else if (payloadLength === 127) {
-          buffer[2] = buffer[3] = 0;
-          buffer.writeUIntBE(bodyLength, 4, 6);
+      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);
+          });
         }
-        buffer[1] |= 128;
-        for (let i = 0; i < bodyLength; i++) {
-          buffer[offset + i] = this.frameData[i] ^ this.maskKey[i % 4];
+        this.#inflate.write(chunk);
+        if (fin) {
+          this.#inflate.write(tail);
         }
-        return buffer;
+        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 = {
-      WebsocketFrameSend
-    };
+    module2.exports = { PerMessageDeflate };
   }
 });
 
-// node_modules/undici/lib/websocket/receiver.js
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/receiver.js
 var require_receiver2 = __commonJS({
-  "node_modules/undici/lib/websocket/receiver.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/receiver.js"(exports2, module2) {
     "use strict";
-    var { Writable } = require("stream");
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { parserStates, opcodes, states, emptyBuffer } = require_constants10();
+    var { Writable } = require("node:stream");
+    var assert = require("node:assert");
+    var { parserStates, opcodes, states, emptyBuffer, sentCloseFrameState } = require_constants10();
     var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols10();
-    var { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require_util15();
+    var { channels } = require_diagnostics2();
+    var {
+      isValidStatusCode,
+      isValidOpcode,
+      failWebsocketConnection,
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isTextBinaryFrame,
+      isContinuationFrame
+    } = require_util15();
     var { WebsocketFrameSend } = require_frame2();
-    var channels = {};
-    channels.ping = diagnosticsChannel.channel("undici:websocket:ping");
-    channels.pong = diagnosticsChannel.channel("undici:websocket:pong");
+    var { closeWebSocketConnection } = require_connection2();
+    var { PerMessageDeflate } = require_permessage_deflate2();
     var ByteParser = class extends Writable {
       #buffers = [];
       #byteOffset = 0;
+      #loop = false;
       #state = parserStates.INFO;
       #info = {};
       #fragments = [];
-      constructor(ws) {
+      /** @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, _2, callback) {
         this.#buffers.push(chunk);
         this.#byteOffset += chunk.length;
+        this.#loop = true;
         this.run(callback);
       }
       /**
@@ -37564,21 +38387,56 @@ var require_receiver2 = __commonJS({
        * or not enough bytes are buffered to parse.
        */
       run(callback) {
-        while (true) {
+        while (this.#loop) {
           if (this.#state === parserStates.INFO) {
             if (this.#byteOffset < 2) {
               return callback();
             }
             const buffer = this.consume(2);
-            this.#info.fin = (buffer[0] & 128) !== 0;
-            this.#info.opcode = buffer[0] & 15;
-            this.#info.originalOpcode ??= this.#info.opcode;
-            this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION;
-            if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) {
+            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;
             }
-            const payloadLength = buffer[1] & 127;
+            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;
@@ -37587,68 +38445,14 @@ var require_receiver2 = __commonJS({
             } else if (payloadLength === 127) {
               this.#state = parserStates.PAYLOADLENGTH_64;
             }
-            if (this.#info.fragmented && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
-              return;
-            } else if ((this.#info.opcode === opcodes.PING || this.#info.opcode === opcodes.PONG || this.#info.opcode === opcodes.CLOSE) && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Payload length for control frame exceeded 125 bytes.");
-              return;
-            } else if (this.#info.opcode === opcodes.CLOSE) {
-              if (payloadLength === 1) {
-                failWebsocketConnection(this.ws, "Received close frame with a 1-byte body.");
-                return;
-              }
-              const body = this.consume(payloadLength);
-              this.#info.closeInfo = this.parseCloseBody(false, body);
-              if (!this.ws[kSentClose]) {
-                const body2 = Buffer.allocUnsafe(2);
-                body2.writeUInt16BE(this.#info.closeInfo.code, 0);
-                const closeFrame = new WebsocketFrameSend(body2);
-                this.ws[kResponse].socket.write(
-                  closeFrame.createFrame(opcodes.CLOSE),
-                  (err) => {
-                    if (!err) {
-                      this.ws[kSentClose] = true;
-                    }
-                  }
-                );
-              }
-              this.ws[kReadyState] = states.CLOSING;
-              this.ws[kReceivedClose] = true;
-              this.end();
-              return;
-            } else if (this.#info.opcode === opcodes.PING) {
-              const body = this.consume(payloadLength);
-              if (!this.ws[kReceivedClose]) {
-                const frame = new WebsocketFrameSend(body);
-                this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
-                if (channels.ping.hasSubscribers) {
-                  channels.ping.publish({
-                    payload: body
-                  });
-                }
-              }
-              this.#state = parserStates.INFO;
-              if (this.#byteOffset > 0) {
-                continue;
-              } else {
-                callback();
-                return;
-              }
-            } else if (this.#info.opcode === opcodes.PONG) {
-              const body = this.consume(payloadLength);
-              if (channels.pong.hasSubscribers) {
-                channels.pong.publish({
-                  payload: body
-                });
-              }
-              if (this.#byteOffset > 0) {
-                continue;
-              } else {
-                callback();
-                return;
-              }
+            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();
@@ -37672,34 +38476,54 @@ var require_receiver2 = __commonJS({
           } else if (this.#state === parserStates.READ_DATA) {
             if (this.#byteOffset < this.#info.payloadLength) {
               return callback();
-            } else if (this.#byteOffset >= this.#info.payloadLength) {
-              const body = this.consume(this.#info.payloadLength);
-              this.#fragments.push(body);
-              if (!this.#info.fragmented || this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) {
-                const fullMessage = Buffer.concat(this.#fragments);
-                websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage);
-                this.#info = {};
-                this.#fragments.length = 0;
-              }
+            }
+            const body = this.consume(this.#info.payloadLength);
+            if (isControlFrame(this.#info.opcode)) {
+              this.#loop = this.parseControlFrame(body);
               this.#state = parserStates.INFO;
+            } else {
+              if (!this.#info.compressed) {
+                this.#fragments.push(body);
+                if (!this.#info.fragmented && this.#info.fin) {
+                  const fullMessage = Buffer.concat(this.#fragments);
+                  websocketMessageReceived(this.ws, this.#info.binaryType, fullMessage);
+                  this.#fragments.length = 0;
+                }
+                this.#state = parserStates.INFO;
+              } else {
+                this.#extensions.get("permessage-deflate").decompress(body, this.#info.fin, (error3, data) => {
+                  if (error3) {
+                    closeWebSocketConnection(this.ws, 1007, error3.message, error3.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;
+              }
             }
           }
-          if (this.#byteOffset > 0) {
-            continue;
-          } else {
-            callback();
-            break;
-          }
         }
       }
       /**
        * Take n bytes from the buffered Buffers
        * @param {number} n
-       * @returns {Buffer|null}
+       * @returns {Buffer}
        */
       consume(n) {
         if (n > this.#byteOffset) {
-          return null;
+          throw new Error("Called consume() before buffers satiated.");
         } else if (n === 0) {
           return emptyBuffer;
         }
@@ -37727,30 +38551,81 @@ var require_receiver2 = __commonJS({
         this.#byteOffset -= n;
         return buffer;
       }
-      parseCloseBody(onlyCode, data) {
+      parseCloseBody(data) {
+        assert(data.length !== 1);
         let code;
         if (data.length >= 2) {
           code = data.readUInt16BE(0);
         }
-        if (onlyCode) {
-          if (!isValidStatusCode(code)) {
-            return null;
-          }
-          return { code };
+        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);
         }
-        if (code !== void 0 && !isValidStatusCode(code)) {
-          return null;
-        }
         try {
-          reason = new TextDecoder("utf-8", { fatal: true }).decode(reason);
+          reason = utf8Decode(reason);
         } catch {
-          return null;
+          return { code: 1007, reason: "Invalid UTF-8", error: true };
         }
-        return { code, reason };
+        return { code, reason, error: false };
+      }
+      /**
+       * Parses control frames.
+       * @param {Buffer} body
+       */
+      parseControlFrame(body) {
+        const { opcode, payloadLength } = this.#info;
+        if (opcode === opcodes.CLOSE) {
+          if (payloadLength === 1) {
+            failWebsocketConnection(this.ws, "Received close frame with a 1-byte body.");
+            return false;
+          }
+          this.#info.closeInfo = this.parseCloseBody(body);
+          if (this.#info.closeInfo.error) {
+            const { code, reason } = this.#info.closeInfo;
+            closeWebSocketConnection(this.ws, code, reason, reason.length);
+            failWebsocketConnection(this.ws, reason);
+            return false;
+          }
+          if (this.ws[kSentClose] !== sentCloseFrameState.SENT) {
+            let body2 = emptyBuffer;
+            if (this.#info.closeInfo.code) {
+              body2 = Buffer.allocUnsafe(2);
+              body2.writeUInt16BE(this.#info.closeInfo.code, 0);
+            }
+            const closeFrame = new WebsocketFrameSend(body2);
+            this.ws[kResponse].socket.write(
+              closeFrame.createFrame(opcodes.CLOSE),
+              (err) => {
+                if (!err) {
+                  this.ws[kSentClose] = sentCloseFrameState.SENT;
+                }
+              }
+            );
+          }
+          this.ws[kReadyState] = states.CLOSING;
+          this.ws[kReceivedClose] = true;
+          return false;
+        } else if (opcode === opcodes.PING) {
+          if (!this.ws[kReceivedClose]) {
+            const frame = new WebsocketFrameSend(body);
+            this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
+            if (channels.ping.hasSubscribers) {
+              channels.ping.publish({
+                payload: body
+              });
+            }
+          }
+        } else if (opcode === opcodes.PONG) {
+          if (channels.pong.hasSubscribers) {
+            channels.pong.publish({
+              payload: body
+            });
+          }
+        }
+        return true;
       }
       get closingInfo() {
         return this.#info.closeInfo;
@@ -37762,15 +38637,96 @@ var require_receiver2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/websocket/websocket.js
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js
+var require_sender2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js"(exports2, module2) {
+    "use strict";
+    var { WebsocketFrameSend } = require_frame2();
+    var { opcodes, sendHints } = require_constants10();
+    var FixedQueue = require_fixed_queue2();
+    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/@actions/github/node_modules/undici/lib/web/websocket/websocket.js
 var require_websocket2 = __commonJS({
-  "node_modules/undici/lib/websocket/websocket.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js"(exports2, module2) {
     "use strict";
     var { webidl } = require_webidl2();
-    var { DOMException: DOMException2 } = require_constants7();
-    var { URLSerializer } = require_dataURL();
-    var { getGlobalOrigin } = require_global3();
-    var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require_constants10();
+    var { URLSerializer } = require_data_url2();
+    var { environmentSettingsObject } = require_util10();
+    var { staticPropertyDescriptors, states, sentCloseFrameState, sendHints } = require_constants10();
     var {
       kWebSocketURL,
       kReadyState,
@@ -37780,14 +38736,20 @@ var require_websocket2 = __commonJS({
       kSentClose,
       kByteParser
     } = require_symbols10();
-    var { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require_util15();
-    var { establishWebSocketConnection } = require_connection2();
-    var { WebsocketFrameSend } = require_frame2();
+    var {
+      isConnecting,
+      isEstablished,
+      isClosing,
+      isValidSubprotocol,
+      fireEvent
+    } = require_util15();
+    var { establishWebSocketConnection, closeWebSocketConnection } = require_connection2();
     var { ByteParser } = require_receiver2();
     var { kEnumerableProperty, isBlobLike } = require_util9();
     var { getGlobalDispatcher } = require_global4();
-    var { types } = require("util");
-    var experimentalWarned = false;
+    var { types } = require("node:util");
+    var { ErrorEvent, CloseEvent } = require_events2();
+    var { SendQueue } = require_sender2();
     var WebSocket = class _WebSocket extends EventTarget {
       #events = {
         open: null,
@@ -37798,28 +38760,26 @@ var require_websocket2 = __commonJS({
       #bufferedAmount = 0;
       #protocol = "";
       #extensions = "";
+      /** @type {SendQueue} */
+      #sendQueue;
       /**
        * @param {string} url
        * @param {string|string[]} protocols
        */
       constructor(url, protocols = []) {
         super();
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket constructor" });
-        if (!experimentalWarned) {
-          experimentalWarned = true;
-          process.emitWarning("WebSockets are experimental, expect them to change at any time.", {
-            code: "UNDICI-WS"
-          });
-        }
-        const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols);
-        url = webidl.converters.USVString(url);
+        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 = getGlobalOrigin();
+        const baseURL = environmentSettingsObject.settingsObject.baseUrl;
         let urlRecord;
         try {
           urlRecord = new URL(url, baseURL);
         } catch (e) {
-          throw new DOMException2(e, "SyntaxError");
+          throw new DOMException(e, "SyntaxError");
         }
         if (urlRecord.protocol === "http:") {
           urlRecord.protocol = "ws:";
@@ -37827,32 +38787,35 @@ var require_websocket2 = __commonJS({
           urlRecord.protocol = "wss:";
         }
         if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") {
-          throw new DOMException2(
+          throw new DOMException(
             `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
             "SyntaxError"
           );
         }
         if (urlRecord.hash || urlRecord.href.endsWith("#")) {
-          throw new DOMException2("Got fragment", "SyntaxError");
+          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 DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+          throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
         }
         if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
-          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+          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) => this.#onConnectionEstablished(response),
+          (response, extensions) => this.#onConnectionEstablished(response, extensions),
           options
         );
         this[kReadyState] = _WebSocket.CONNECTING;
+        this[kSentClose] = sentCloseFrameState.NOT_SENT;
         this[kBinaryType] = "blob";
       }
       /**
@@ -37862,53 +38825,29 @@ var require_websocket2 = __commonJS({
        */
       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, { clamp: true });
+          code = webidl.converters["unsigned short"](code, prefix, "code", { clamp: true });
         }
         if (reason !== void 0) {
-          reason = webidl.converters.USVString(reason);
+          reason = webidl.converters.USVString(reason, prefix, "reason");
         }
         if (code !== void 0) {
           if (code !== 1e3 && (code < 3e3 || code > 4999)) {
-            throw new DOMException2("invalid code", "InvalidAccessError");
+            throw new DOMException("invalid code", "InvalidAccessError");
           }
         }
         let reasonByteLength = 0;
         if (reason !== void 0) {
           reasonByteLength = Buffer.byteLength(reason);
           if (reasonByteLength > 123) {
-            throw new DOMException2(
+            throw new DOMException(
               `Reason must be less than 123 bytes; received ${reasonByteLength}`,
               "SyntaxError"
             );
           }
         }
-        if (this[kReadyState] === _WebSocket.CLOSING || this[kReadyState] === _WebSocket.CLOSED) {
-        } else if (!isEstablished(this)) {
-          failWebsocketConnection(this, "Connection was closed before it was established.");
-          this[kReadyState] = _WebSocket.CLOSING;
-        } else if (!isClosing(this)) {
-          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 = this[kResponse].socket;
-          socket.write(frame.createFrame(opcodes.CLOSE), (err) => {
-            if (!err) {
-              this[kSentClose] = true;
-            }
-          });
-          this[kReadyState] = states.CLOSING;
-        } else {
-          this[kReadyState] = _WebSocket.CLOSING;
-        }
+        closeWebSocketConnection(this, code, reason, reasonByteLength);
       }
       /**
        * @see https://websockets.spec.whatwg.org/#dom-websocket-send
@@ -37916,50 +38855,36 @@ var require_websocket2 = __commonJS({
        */
       send(data) {
         webidl.brandCheck(this, _WebSocket);
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" });
-        data = webidl.converters.WebSocketSendData(data);
-        if (this[kReadyState] === _WebSocket.CONNECTING) {
-          throw new DOMException2("Sent before connected.", "InvalidStateError");
+        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;
         }
-        const socket = this[kResponse].socket;
         if (typeof data === "string") {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.TEXT);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
+          const length = Buffer.byteLength(data);
+          this.#bufferedAmount += length;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= length;
+          }, sendHints.string);
         } else if (types.isArrayBuffer(data)) {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
+          this.#bufferedAmount += data.byteLength;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= data.byteLength;
+          }, sendHints.arrayBuffer);
         } else if (ArrayBuffer.isView(data)) {
-          const ab = Buffer.from(data, data.byteOffset, data.byteLength);
-          const frame = new WebsocketFrameSend(ab);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += ab.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= ab.byteLength;
-          });
+          this.#bufferedAmount += data.byteLength;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= data.byteLength;
+          }, sendHints.typedArray);
         } else if (isBlobLike(data)) {
-          const frame = new WebsocketFrameSend();
-          data.arrayBuffer().then((ab) => {
-            const value = Buffer.from(ab);
-            frame.frameData = value;
-            const buffer = frame.createFrame(opcodes.BINARY);
-            this.#bufferedAmount += value.byteLength;
-            socket.write(buffer, () => {
-              this.#bufferedAmount -= value.byteLength;
-            });
-          });
+          this.#bufferedAmount += data.size;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= data.size;
+          }, sendHints.blob);
         }
       }
       get readyState() {
@@ -38061,14 +38986,14 @@ var require_websocket2 = __commonJS({
       /**
        * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
        */
-      #onConnectionEstablished(response) {
+      #onConnectionEstablished(response, parsedExtensions) {
         this[kResponse] = response;
-        const parser = new ByteParser(this);
-        parser.on("drain", function onParserDrain() {
-          this.ws[kResponse].socket.resume();
-        });
+        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) {
@@ -38118,26 +39043,22 @@ var require_websocket2 = __commonJS({
     webidl.converters["sequence"] = webidl.sequenceConverter(
       webidl.converters.DOMString
     );
-    webidl.converters["DOMString or sequence"] = function(V) {
+    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);
+      return webidl.converters.DOMString(V, prefix, argument);
     };
     webidl.converters.WebSocketInit = webidl.dictionaryConverter([
       {
         key: "protocols",
         converter: webidl.converters["DOMString or sequence"],
-        get defaultValue() {
-          return [];
-        }
+        defaultValue: () => new Array(0)
       },
       {
         key: "dispatcher",
-        converter: (V) => V,
-        get defaultValue() {
-          return getGlobalDispatcher();
-        }
+        converter: webidl.converters.any,
+        defaultValue: () => getGlobalDispatcher()
       },
       {
         key: "headers",
@@ -38155,1081 +39076,977 @@ var require_websocket2 = __commonJS({
         if (isBlobLike(V)) {
           return webidl.converters.Blob(V, { strict: false });
         }
-        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
+        if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) {
           return webidl.converters.BufferSource(V);
         }
       }
       return webidl.converters.USVString(V);
     };
-    module2.exports = {
-      WebSocket
-    };
-  }
-});
-
-// node_modules/undici/index.js
-var require_undici2 = __commonJS({
-  "node_modules/undici/index.js"(exports2, module2) {
-    "use strict";
-    var Client = require_client2();
-    var Dispatcher = require_dispatcher2();
-    var errors = require_errors2();
-    var Pool = require_pool2();
-    var BalancedPool = require_balanced_pool2();
-    var Agent = require_agent2();
-    var util = require_util9();
-    var { InvalidArgumentError } = errors;
-    var api = require_api2();
-    var buildConnector = require_connect2();
-    var MockClient = require_mock_client2();
-    var MockAgent = require_mock_agent2();
-    var MockPool = require_mock_pool2();
-    var mockErrors = require_mock_errors2();
-    var ProxyAgent = require_proxy_agent2();
-    var RetryHandler = require_RetryHandler();
-    var { getGlobalDispatcher, setGlobalDispatcher } = require_global4();
-    var DecoratorHandler = require_DecoratorHandler();
-    var RedirectHandler = require_RedirectHandler();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var hasCrypto;
-    try {
-      require("crypto");
-      hasCrypto = true;
-    } catch {
-      hasCrypto = false;
+    function onParserDrain() {
+      this.ws[kResponse].socket.resume();
     }
-    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.RetryHandler = RetryHandler;
-    module2.exports.DecoratorHandler = DecoratorHandler;
-    module2.exports.RedirectHandler = RedirectHandler;
-    module2.exports.createRedirectInterceptor = createRedirectInterceptor;
-    module2.exports.buildConnector = buildConnector;
-    module2.exports.errors = errors;
-    function makeDispatcher(fn) {
-      return (url, opts, 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 path3 = opts.path;
-          if (!opts.path.startsWith("/")) {
-            path3 = `/${path3}`;
-          }
-          url = new URL(util.parseOrigin(url).origin + path3);
-        } 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);
-      };
+    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.setGlobalDispatcher = setGlobalDispatcher;
-    module2.exports.getGlobalDispatcher = getGlobalDispatcher;
-    if (util.nodeMajor > 16 || util.nodeMajor === 16 && util.nodeMinor >= 8) {
-      let fetchImpl = null;
-      module2.exports.fetch = async function fetch(resource) {
-        if (!fetchImpl) {
-          fetchImpl = require_fetch2().fetch;
-        }
-        try {
-          return await fetchImpl(...arguments);
-        } catch (err) {
-          if (typeof err === "object") {
-            Error.captureStackTrace(err, this);
-          }
-          throw err;
-        }
-      };
-      module2.exports.Headers = require_headers2().Headers;
-      module2.exports.Response = require_response2().Response;
-      module2.exports.Request = require_request4().Request;
-      module2.exports.FormData = require_formdata2().FormData;
-      module2.exports.File = require_file2().File;
-      module2.exports.FileReader = require_filereader2().FileReader;
-      const { setGlobalOrigin, getGlobalOrigin } = require_global3();
-      module2.exports.setGlobalOrigin = setGlobalOrigin;
-      module2.exports.getGlobalOrigin = getGlobalOrigin;
-      const { CacheStorage } = require_cachestorage2();
-      const { kConstruct } = require_symbols9();
-      module2.exports.caches = new CacheStorage(kConstruct);
+    module2.exports = {
+      WebSocket
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js
+var require_util16 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js"(exports2, module2) {
+    "use strict";
+    function isValidLastEventId(value) {
+      return value.indexOf("\0") === -1;
     }
-    if (util.nodeMajor >= 16) {
-      const { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
-      module2.exports.deleteCookie = deleteCookie;
-      module2.exports.getCookies = getCookies;
-      module2.exports.getSetCookies = getSetCookies;
-      module2.exports.setCookie = setCookie;
-      const { parseMIMEType, serializeAMimeType } = require_dataURL();
-      module2.exports.parseMIMEType = parseMIMEType;
-      module2.exports.serializeAMimeType = serializeAMimeType;
+    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;
     }
-    if (util.nodeMajor >= 18 && hasCrypto) {
-      const { WebSocket } = require_websocket2();
-      module2.exports.WebSocket = WebSocket;
+    function delay(ms) {
+      return new Promise((resolve2) => {
+        setTimeout(resolve2, ms).unref();
+      });
     }
-    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;
+    module2.exports = {
+      isValidLastEventId,
+      isASCIINumber,
+      delay
+    };
   }
 });
 
-// node_modules/@actions/github/lib/internal/utils.js
-var require_utils4 = __commonJS({
-  "node_modules/@actions/github/lib/internal/utils.js"(exports2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js
+var require_eventsource_stream2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js"(exports2, module2) {
     "use strict";
-    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = 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 ownKeys2(o);
+    var { Transform } = require("node:stream");
+    var { isASCIINumber, isValidLastEventId } = require_util16();
+    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
       };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+      /**
+       * @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;
         }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve2) {
-          resolve2(value);
-        });
       }
-      return new (P || (P = Promise))(function(resolve2, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
+      /**
+       * @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;
           }
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
+        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++;
         }
-        function step(result) {
-          result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
+        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;
         }
-        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 = __importStar2(require_lib());
-    var undici_1 = require_undici2();
-    function getAuthString(token, options) {
-      if (!token && !options.auth) {
-        throw new Error("Parameter token or opts.auth is required");
-      } else if (token && options.auth) {
-        throw new Error("Parameters token and opts.auth may not both be specified");
       }
-      return typeof options.auth === "string" ? options.auth : `token ${token}`;
-    }
-    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) => __awaiter2(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/@octokit/core/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/@octokit/core/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"() {
+      /**
+       * @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/before-after-hook/lib/add.js
-function addHook(state, kind, name, hook2) {
-  const orig = hook2;
-  if (!state.registry[name]) {
-    state.registry[name] = [];
-  }
-  if (kind === "before") {
-    hook2 = (method, options) => {
-      return Promise.resolve().then(orig.bind(null, options)).then(method.bind(null, options));
-    };
-  }
-  if (kind === "after") {
-    hook2 = (method, options) => {
-      let result;
-      return Promise.resolve().then(method.bind(null, options)).then((result_) => {
-        result = result_;
-        return orig(result, options);
-      }).then(() => {
-        return result;
-      });
-    };
-  }
-  if (kind === "error") {
-    hook2 = (method, options) => {
-      return Promise.resolve().then(method.bind(null, options)).catch((error3) => {
-        return orig(error3, 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 = /* @__PURE__ */ 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/node_modules/universal-user-agent/index.js
-function getUserAgent2() {
-  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_agent2 = __esm({
-  "node_modules/@octokit/endpoint/node_modules/universal-user-agent/index.js"() {
-  }
-});
-
-// 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] });
-    }
-  });
-  return result;
-}
-function removeUndefinedProperties(obj) {
-  for (const key in obj) {
-    if (obj[key] === void 0) {
-      delete obj[key];
-    }
-  }
-  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);
-    }
-    mergedOptions.mediaType.previews = (mergedOptions.mediaType.previews || []).map((preview) => preview.replace(/-preview/, ""));
-  }
-  return mergedOptions;
-}
-function addQueryParameters(url, parameters) {
-  const separator = /\?/.test(url) ? "&" : "?";
-  const names = Object.keys(parameters);
-  if (names.length === 0) {
-    return url;
-  }
-  return url + separator + names.map((name) => {
-    if (name === "q") {
-      return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+");
-    }
-    return `${name}=${encodeURIComponent(parameters[name])}`;
-  }).join("&");
-}
-function removeNonChars(variableName) {
-  return variableName.replace(/(?:^\W+)|(?:(? a.concat(b), []);
-}
-function omit(object, keysToOmit) {
-  const result = { __proto__: null };
-  for (const key of Object.keys(object)) {
-    if (keysToOmit.indexOf(key) === -1) {
-      result[key] = object[key];
-    }
-  }
-  return result;
-}
-function encodeReserved(str2) {
-  return str2.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(str2) {
-  return encodeURIComponent(str2).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(context2, operator, key, modifier) {
-  var value = context2[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));
-            }
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js
+var require_eventsource2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js"(exports2, module2) {
+    "use strict";
+    var { pipeline } = require("node:stream");
+    var { fetching } = require_fetch2();
+    var { makeRequest } = require_request4();
+    var { webidl } = require_webidl2();
+    var { EventSourceStream } = require_eventsource_stream2();
+    var { parseMIMEType } = require_data_url2();
+    var { createFastMessageEvent } = require_events2();
+    var { isNetworkError } = require_response2();
+    var { delay } = require_util16();
+    var { kEnumerableProperty } = require_util9();
+    var { environmentSettingsObject } = require_util10();
+    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"
           });
         }
-      } 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()));
+        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,
+            (error3) => {
+              if (error3?.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);
         }
-        if (isKeyOperator(operator)) {
-          result.push(encodeUnreserved(key) + "=" + tmp.join(","));
-        } else if (tmp.length !== 0) {
-          result.push(tmp.join(","));
+        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;
         }
       }
-    }
-  } else {
-    if (operator === ";") {
-      if (isDefined(value)) {
-        result.push(encodeUnreserved(key));
+      get onmessage() {
+        return this.#events.message;
       }
-    } 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, context2) {
-  var operators = ["+", "#", ".", "/", ";", "?", "&"];
-  template = template.replace(
-    /\{([^\{\}]+)\}|([^\{\}]+)/g,
-    function(_2, expression, literal) {
-      if (expression) {
-        let operator = "";
-        const values = [];
-        if (operators.indexOf(expression.charAt(0)) !== -1) {
-          operator = expression.charAt(0);
-          expression = expression.substr(1);
+      set onmessage(fn) {
+        if (this.#events.message) {
+          this.removeEventListener("message", this.#events.message);
         }
-        expression.split(/,/g).forEach(function(variable) {
-          var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable);
-          values.push(getValues(context2, 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);
+        if (typeof fn === "function") {
+          this.#events.message = fn;
+          this.addEventListener("message", fn);
         } else {
-          return values.join(",");
+          this.#events.message = null;
         }
-      } else {
-        return encodeReserved(literal);
       }
-    }
-  );
-  if (template === "/") {
-    return template;
-  } else {
-    return template.replace(/\/$/, "");
-  }
-}
-function parse(options) {
-  let method = options.method.toUpperCase();
-  let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}");
-  let headers = Object.assign({}, options.headers);
-  let body;
-  let parameters = omit(options, [
-    "method",
-    "baseUrl",
-    "url",
-    "headers",
-    "request",
-    "mediaType"
-  ]);
-  const urlVariableNames = extractUrlVariableNames(url);
-  url = parseUrl(url).expand(parameters);
-  if (!/^http/.test(url)) {
-    url = options.baseUrl + url;
-  }
-  const omittedParameters = Object.keys(options).filter((option) => urlVariableNames.includes(option)).concat("baseUrl");
-  const remainingParameters = omit(parameters, omittedParameters);
-  const isBinaryRequest = /application\/octet-stream/i.test(headers.accept);
-  if (!isBinaryRequest) {
-    if (options.mediaType.format) {
-      headers.accept = headers.accept.split(/,/).map(
-        (format) => format.replace(
-          /application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,
-          `application/vnd$1$2.${options.mediaType.format}`
-        )
-      ).join(",");
-    }
-    if (url.endsWith("/graphql")) {
-      if (options.mediaType.previews?.length) {
-        const previewsFromAcceptHeader = headers.accept.match(/(? {
-          const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json";
-          return `application/vnd.github.${preview}-preview${format}`;
-        }).join(",");
+      get onerror() {
+        return this.#events.error;
       }
-    }
-  }
-  if (["GET", "HEAD"].includes(method)) {
-    url = addQueryParameters(url, remainingParameters);
-  } else {
-    if ("data" in remainingParameters) {
-      body = remainingParameters.data;
-    } else {
-      if (Object.keys(remainingParameters).length) {
-        body = remainingParameters;
+      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;
+        }
       }
-    }
-  }
-  if (!headers["content-type"] && typeof body !== "undefined") {
-    headers["content-type"] = "application/json; charset=utf-8";
-  }
-  if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") {
-    body = "";
-  }
-  return Object.assign(
-    { method, url, headers },
-    typeof body !== "undefined" ? { body } : null,
-    options.request ? { request: options.request } : null
-  );
-}
-function endpointWithDefaults(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_agent2();
-    VERSION = "0.0.0-development";
-    userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent2()}`;
-    DEFAULTS = {
-      method: "GET",
-      baseUrl: "https://api.github.com",
-      headers: {
-        accept: "application/vnd.github.v3+json",
-        "user-agent": userAgent
+    };
+    var constantsPropertyDescriptors = {
+      CONNECTING: {
+        __proto__: null,
+        configurable: false,
+        enumerable: true,
+        value: CONNECTING,
+        writable: false
       },
-      mediaType: {
-        format: ""
+      OPEN: {
+        __proto__: null,
+        configurable: false,
+        enumerable: true,
+        value: OPEN,
+        writable: false
+      },
+      CLOSED: {
+        __proto__: null,
+        configurable: false,
+        enumerable: true,
+        value: CLOSED,
+        writable: false
       }
     };
-    urlVariableRegex = /\{[^{}}]+\}/g;
-    endpoint = withDefaults(null, DEFAULTS);
-  }
-});
-
-// node_modules/@octokit/request/node_modules/universal-user-agent/index.js
-function getUserAgent3() {
-  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_agent3 = __esm({
-  "node_modules/@octokit/request/node_modules/universal-user-agent/index.js"() {
+    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/fast-content-type-parse/index.js
-var require_fast_content_type_parse = __commonJS({
-  "node_modules/fast-content-type-parse/index.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/index.js
+var require_undici2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/index.js"(exports2, module2) {
     "use strict";
-    var NullObject = function NullObject2() {
+    var Client = require_client2();
+    var Dispatcher = require_dispatcher2();
+    var Pool = require_pool2();
+    var BalancedPool = require_balanced_pool2();
+    var Agent = require_agent2();
+    var ProxyAgent = require_proxy_agent2();
+    var EnvHttpProxyAgent = require_env_http_proxy_agent2();
+    var RetryAgent = require_retry_agent2();
+    var errors = require_errors2();
+    var util = require_util9();
+    var { InvalidArgumentError } = errors;
+    var api = require_api2();
+    var buildConnector = require_connect2();
+    var MockClient = require_mock_client2();
+    var MockAgent = require_mock_agent2();
+    var MockPool = require_mock_pool2();
+    var mockErrors = require_mock_errors2();
+    var RetryHandler = require_retry_handler2();
+    var { getGlobalDispatcher, setGlobalDispatcher } = require_global4();
+    var DecoratorHandler = require_decorator_handler2();
+    var RedirectHandler = require_redirect_handler2();
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    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_redirect2(),
+      retry: require_retry2(),
+      dump: require_dump2(),
+      dns: require_dns2()
     };
-    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 type2 = index !== -1 ? header.slice(0, index).trim() : header.trim();
-      if (mediaTypeRE.test(type2) === false) {
-        throw new TypeError("invalid media type");
-      }
-      const result = {
-        type: type2.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");
+    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;
         }
-        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"));
+        if (!url || typeof url !== "string" && typeof url !== "object" && !(url instanceof URL)) {
+          throw new InvalidArgumentError("invalid url");
         }
-        result.parameters[key] = value;
-      }
-      if (index !== header.length) {
-        throw new TypeError("invalid parameter format");
-      }
-      return result;
+        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 path3 = opts.path;
+          if (!opts.path.startsWith("/")) {
+            path3 = `/${path3}`;
+          }
+          url = new URL(util.parseOrigin(url).origin + path3);
+        } 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);
+      };
     }
-    function safeParse2(header) {
-      if (typeof header !== "string") {
-        return defaultContentType;
+    module2.exports.setGlobalDispatcher = setGlobalDispatcher;
+    module2.exports.getGlobalDispatcher = getGlobalDispatcher;
+    var fetchImpl = require_fetch2().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;
       }
-      let index = header.indexOf(";");
-      const type2 = index !== -1 ? header.slice(0, index).trim() : header.trim();
-      if (mediaTypeRE.test(type2) === false) {
-        return defaultContentType;
+    };
+    module2.exports.Headers = require_headers2().Headers;
+    module2.exports.Response = require_response2().Response;
+    module2.exports.Request = require_request4().Request;
+    module2.exports.FormData = require_formdata2().FormData;
+    module2.exports.File = globalThis.File ?? require("node:buffer").File;
+    module2.exports.FileReader = require_filereader2().FileReader;
+    var { setGlobalOrigin, getGlobalOrigin } = require_global3();
+    module2.exports.setGlobalOrigin = setGlobalOrigin;
+    module2.exports.getGlobalOrigin = getGlobalOrigin;
+    var { CacheStorage } = require_cachestorage2();
+    var { kConstruct } = require_symbols9();
+    module2.exports.caches = new CacheStorage(kConstruct);
+    var { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
+    module2.exports.deleteCookie = deleteCookie;
+    module2.exports.getCookies = getCookies;
+    module2.exports.getSetCookies = getSetCookies;
+    module2.exports.setCookie = setCookie;
+    var { parseMIMEType, serializeAMimeType } = require_data_url2();
+    module2.exports.parseMIMEType = parseMIMEType;
+    module2.exports.serializeAMimeType = serializeAMimeType;
+    var { CloseEvent, ErrorEvent, MessageEvent } = require_events2();
+    module2.exports.WebSocket = require_websocket2().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_eventsource2();
+    module2.exports.EventSource = EventSource;
+  }
+});
+
+// node_modules/@actions/github/lib/internal/utils.js
+var require_utils4 = __commonJS({
+  "node_modules/@actions/github/lib/internal/utils.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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];
+        } };
       }
-      const result = {
-        type: type2.toLowerCase(),
-        parameters: new NullObject()
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = 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 ownKeys2(o);
       };
-      if (index === -1) {
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
         return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve2) {
+          resolve2(value);
+        });
       }
-      let key;
-      let match;
-      let value;
-      paramRE.lastIndex = index;
-      while (match = paramRE.exec(header)) {
-        if (match.index !== index) {
-          return defaultContentType;
+      return new (P || (P = Promise))(function(resolve2, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        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"));
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        result.parameters[key] = value;
-      }
-      if (index !== header.length) {
-        return defaultContentType;
+        function step(result) {
+          result.done ? resolve2(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 = __importStar2(require_lib());
+    var undici_1 = require_undici2();
+    function getAuthString(token, options) {
+      if (!token && !options.auth) {
+        throw new Error("Parameter token or opts.auth is required");
+      } else if (token && options.auth) {
+        throw new Error("Parameters token and opts.auth may not both be specified");
       }
-      return result;
+      return typeof options.auth === "string" ? options.auth : `token ${token}`;
+    }
+    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) => __awaiter2(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";
     }
-    module2.exports.default = { parse: parse2, safeParse: safeParse2 };
-    module2.exports.parse = parse2;
-    module2.exports.safeParse = safeParse2;
-    module2.exports.defaultContentType = defaultContentType;
   }
 });
 
-// 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, { cause: options.cause });
-        this.name = "HttpError";
-        this.status = Number.parseInt(statusCode);
-        if (Number.isNaN(this.status)) {
-          this.status = 0;
-        }
-        if ("response" in options) {
-          this.response = options.response;
-        }
-        const requestCopy = Object.assign({}, options.request);
-        if (options.request.headers.authorization) {
-          requestCopy.headers = Object.assign({}, options.request.headers, {
-            authorization: options.request.headers.authorization.replace(
-              /(?";
+}
+var init_universal_user_agent = __esm({
+  "node_modules/@octokit/core/node_modules/universal-user-agent/index.js"() {
   }
 });
 
-// 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 body = isPlainObject2(requestOptions.body) || Array.isArray(requestOptions.body) ? JSON.stringify(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,
-      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 (error3) {
-    let message = "Unknown Error";
-    if (error3 instanceof Error) {
-      if (error3.name === "AbortError") {
-        error3.status = 500;
-        throw error3;
-      }
-      message = error3.message;
-      if (error3.name === "TypeError" && "cause" in error3) {
-        if (error3.cause instanceof Error) {
-          message = error3.cause.message;
-        } else if (typeof error3.cause === "string") {
-          message = error3.cause;
-        }
-      }
-    }
-    const requestError = new RequestError(message, 500, {
-      request: requestOptions
-    });
-    requestError.cause = error3;
-    throw requestError;
-  }
-  const status = fetchResponse.status;
-  const url = fetchResponse.url;
-  const responseHeaders = {};
-  for (const [key, value] of fetchResponse.headers) {
-    responseHeaders[key] = value;
+// 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");
   }
-  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 (!options) {
+    options = {};
   }
-  if (status === 204 || status === 205) {
-    return octokitResponse;
+  if (Array.isArray(name)) {
+    return name.reverse().reduce((callback, name2) => {
+      return register.bind(null, state, name2, callback, options);
+    }, method)();
   }
-  if (requestOptions.method === "HEAD") {
-    if (status < 400) {
-      return octokitResponse;
+  return Promise.resolve().then(() => {
+    if (!state.registry[name]) {
+      return method(options);
     }
-    throw new RequestError(fetchResponse.statusText, status, {
-      response: octokitResponse,
-      request: requestOptions
-    });
+    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"() {
   }
-  if (status === 304) {
-    octokitResponse.data = await getResponseData(fetchResponse);
-    throw new RequestError("Not modified", status, {
-      response: octokitResponse,
-      request: requestOptions
-    });
+});
+
+// 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 (status >= 400) {
-    octokitResponse.data = await getResponseData(fetchResponse);
-    throw new RequestError(toErrorMessage(octokitResponse.data), status, {
-      response: octokitResponse,
-      request: requestOptions
-    });
+  if (kind === "before") {
+    hook2 = (method, options) => {
+      return Promise.resolve().then(orig.bind(null, options)).then(method.bind(null, options));
+    };
   }
-  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);
+  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;
+      });
+    };
   }
-  const mimetype = (0, import_fast_content_type_parse.safeParse)(contentType);
-  if (isJSONResponse(mimetype)) {
-    let text = "";
-    try {
-      text = await response.text();
-      return JSON.parse(text);
-    } catch (err) {
-      return text;
-    }
-  } else if (mimetype.type.startsWith("text/") || mimetype.parameters.charset?.toLowerCase() === "utf-8") {
-    return response.text().catch(noop);
-  } else {
-    return response.arrayBuffer().catch(
-      /* v8 ignore next -- @preserve */
-      () => new ArrayBuffer(0)
-    );
+  if (kind === "error") {
+    hook2 = (method, options) => {
+      return Promise.resolve().then(method.bind(null, options)).catch((error3) => {
+        return orig(error3, options);
+      });
+    };
   }
+  state.registry[name].push({
+    hook: hook2,
+    orig
+  });
 }
-function isJSONResponse(mimetype) {
-  return mimetype.type === "application/json" || mimetype.type === "application/scim+json";
-}
-function toErrorMessage(data) {
-  if (typeof data === "string") {
-    return data;
+var init_add = __esm({
+  "node_modules/before-after-hook/lib/add.js"() {
   }
-  if (data instanceof ArrayBuffer) {
-    return "Unknown error";
+});
+
+// node_modules/before-after-hook/lib/remove.js
+function removeHook(state, name, method) {
+  if (!state.registry[name]) {
+    return;
   }
-  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}`;
+  const index = state.registry[name].map((registered) => {
+    return registered.orig;
+  }).indexOf(method);
+  if (index === -1) {
+    return;
   }
-  return `Unknown error: ${JSON.stringify(data)}`;
+  state.registry[name].splice(index, 1);
 }
-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 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);
   });
 }
-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_agent3();
-    import_fast_content_type_parse = __toESM(require_fast_content_type_parse(), 1);
-    init_dist_src();
-    VERSION2 = "10.0.7";
-    defaults_default = {
-      headers: {
-        "user-agent": `octokit-request.js/${VERSION2} ${getUserAgent3()}`
-      }
-    };
-    noop = () => "";
-    request = withDefaults2(endpoint, defaults_default);
+function Singular() {
+  const singularHookName = /* @__PURE__ */ 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/graphql/node_modules/universal-user-agent/index.js
-function getUserAgent4() {
+// node_modules/@octokit/endpoint/node_modules/universal-user-agent/index.js
+function getUserAgent2() {
   if (typeof navigator === "object" && "userAgent" in navigator) {
     return navigator.userAgent;
   }
@@ -39238,363 +40055,1039 @@ function getUserAgent4() {
   }
   return "";
 }
-var init_universal_user_agent4 = __esm({
-  "node_modules/@octokit/graphql/node_modules/universal-user-agent/index.js"() {
+var init_universal_user_agent2 = __esm({
+  "node_modules/@octokit/endpoint/node_modules/universal-user-agent/index.js"() {
   }
 });
 
-// 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");
+// 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 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`)
-      );
+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] });
     }
-    for (const key in options) {
-      if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue;
-      return Promise.reject(
-        new Error(
-          `[@octokit/graphql] "${key}" cannot be used as variable name`
-        )
-      );
+  });
+  return result;
+}
+function removeUndefinedProperties(obj) {
+  for (const key in obj) {
+    if (obj[key] === void 0) {
+      delete obj[key];
     }
   }
-  const parsedOptions = typeof query === "string" ? Object.assign({ query }, options) : query;
-  const requestOptions = Object.keys(
-    parsedOptions
-  ).reduce((result, key) => {
-    if (NON_VARIABLE_OPTIONS.includes(key)) {
-      result[key] = parsedOptions[key];
-      return result;
+  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);
     }
-    if (!result.variables) {
-      result.variables = {};
+    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("+");
     }
-    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 `${name}=${encodeURIComponent(parameters[name])}`;
+  }).join("&");
+}
+function removeNonChars(variableName) {
+  return variableName.replace(/(?:^\W+)|(?:(? {
-    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 matches.map(removeNonChars).reduce((a, b) => 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 response.data.data;
-  });
+  }
+  return result;
 }
-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 encodeReserved(str2) {
+  return str2.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 withCustomRequest(customRequest) {
-  return withDefaults3(customRequest, {
-    method: "POST",
-    url: "/graphql"
+function encodeUnreserved(str2) {
+  return encodeURIComponent(str2).replace(/[!'()*]/g, function(c) {
+    return "%" + c.charCodeAt(0).toString(16).toUpperCase();
   });
 }
-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_agent4();
-    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.errors = response.errors;
-        this.data = response.data;
-        if (Error.captureStackTrace) {
-          Error.captureStackTrace(this, this.constructor);
-        }
-      }
-      name = "GraphqlResponseError";
-      errors;
-      data;
-    };
-    NON_VARIABLE_OPTIONS = [
-      "method",
-      "baseUrl",
-      "url",
-      "headers",
-      "request",
-      "query",
-      "mediaType",
-      "operationName"
-    ];
-    FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"];
-    GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/;
-    graphql2 = withDefaults3(request, {
-      headers: {
-        "user-agent": `octokit-graphql.js/${VERSION3} ${getUserAgent4()}`
-      },
-      method: "POST",
-      url: "/graphql"
-    });
+function encodeValue(operator, value, key) {
+  value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value);
+  if (key) {
+    return encodeUnreserved(key) + "=" + value;
+  } else {
+    return value;
   }
-});
-
-// node_modules/@octokit/auth-token/dist-bundle/index.js
-async function auth(token) {
-  const isApp = isJWT(token);
-  const isInstallation = token.startsWith("v1.") || token.startsWith("ghs_");
-  const isUserToServer = token.startsWith("ghu_");
-  const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth";
-  return {
-    type: "token",
-    token,
-    tokenType
-  };
 }
-function withAuthorizationPrefix(token) {
-  if (token.split(/\./).length === 3) {
-    return `bearer ${token}`;
-  }
-  return `token ${token}`;
+function isDefined(value) {
+  return value !== void 0 && value !== null;
 }
-async function hook(token, request2, route, parameters) {
-  const endpoint2 = request2.endpoint.merge(
-    route,
-    parameters
-  );
-  endpoint2.headers.authorization = withAuthorizationPrefix(token);
-  return request2(endpoint2);
+function isKeyOperator(operator) {
+  return operator === ";" || operator === "&" || operator === "?";
 }
-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(token) {
-      if (!token) {
-        throw new Error("[@octokit/auth-token] No token passed to createTokenAuth");
+function getValues(context2, operator, key, modifier) {
+  var value = context2[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));
       }
-      if (typeof token !== "string") {
-        throw new Error(
-          "[@octokit/auth-token] Token passed to createTokenAuth is not a string"
-        );
+      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(","));
+        }
       }
-      token = token.replace(/^(token|bearer) +/i, "");
-      return Object.assign(auth.bind(null, token), {
-        hook: hook.bind(null, token)
-      });
-    };
+    }
+  } else {
+    if (operator === ";") {
+      if (isDefined(value)) {
+        result.push(encodeUnreserved(key));
+      }
+    } else if (value === "" && (operator === "&" || operator === "?")) {
+      result.push(encodeUnreserved(key) + "=");
+    } else if (value === "") {
+      result.push("");
+    }
   }
-});
-
-// 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";
+  return result;
+}
+function parseUrl(template) {
+  return {
+    expand: expand.bind(null, template)
+  };
+}
+function expand(template, context2) {
+  var operators = ["+", "#", ".", "/", ";", "?", "&"];
+  template = template.replace(
+    /\{([^\{\}]+)\}|([^\{\}]+)/g,
+    function(_2, 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(context2, operator, tmp[1], tmp[2] || tmp[3]));
+        });
+        if (operator && operator !== "+") {
+          var separator = ",";
+          if (operator === "?") {
+            separator = "&";
+          } else if (operator !== "#") {
+            separator = operator;
+          }
+          return (values.length !== 0 ? operator : "") + values.join(separator);
+        } else {
+          return values.join(",");
+        }
+      } else {
+        return encodeReserved(literal);
+      }
+    }
+  );
+  if (template === "/") {
+    return template;
+  } else {
+    return template.replace(/\/$/, "");
   }
-});
-
-// 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;
+}
+function parse(options) {
+  let method = options.method.toUpperCase();
+  let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}");
+  let headers = Object.assign({}, options.headers);
+  let body;
+  let parameters = omit(options, [
+    "method",
+    "baseUrl",
+    "url",
+    "headers",
+    "request",
+    "mediaType"
+  ]);
+  const urlVariableNames = extractUrlVariableNames(url);
+  url = parseUrl(url).expand(parameters);
+  if (!/^http/.test(url)) {
+    url = options.baseUrl + url;
   }
-  if (typeof logger.info !== "function") {
-    logger.info = noop2;
+  const omittedParameters = Object.keys(options).filter((option) => urlVariableNames.includes(option)).concat("baseUrl");
+  const remainingParameters = omit(parameters, omittedParameters);
+  const isBinaryRequest = /application\/octet-stream/i.test(headers.accept);
+  if (!isBinaryRequest) {
+    if (options.mediaType.format) {
+      headers.accept = headers.accept.split(/,/).map(
+        (format) => format.replace(
+          /application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,
+          `application/vnd$1$2.${options.mediaType.format}`
+        )
+      ).join(",");
+    }
+    if (url.endsWith("/graphql")) {
+      if (options.mediaType.previews?.length) {
+        const previewsFromAcceptHeader = headers.accept.match(/(? {
+          const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json";
+          return `application/vnd.github.${preview}-preview${format}`;
+        }).join(",");
+      }
+    }
   }
-  if (typeof logger.warn !== "function") {
-    logger.warn = consoleWarn;
+  if (["GET", "HEAD"].includes(method)) {
+    url = addQueryParameters(url, remainingParameters);
+  } else {
+    if ("data" in remainingParameters) {
+      body = remainingParameters.data;
+    } else {
+      if (Object.keys(remainingParameters).length) {
+        body = remainingParameters;
+      }
+    }
   }
-  if (typeof logger.error !== "function") {
-    logger.error = consoleError;
+  if (!headers["content-type"] && typeof body !== "undefined") {
+    headers["content-type"] = "application/json; charset=utf-8";
   }
-  return logger;
+  if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") {
+    body = "";
+  }
+  return Object.assign(
+    { method, url, headers },
+    typeof body !== "undefined" ? { body } : null,
+    options.request ? { request: options.request } : null
+  );
 }
-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 = () => {
+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_agent2();
+    VERSION = "0.0.0-development";
+    userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent2()}`;
+    DEFAULTS = {
+      method: "GET",
+      baseUrl: "https://api.github.com",
+      headers: {
+        accept: "application/vnd.github.v3+json",
+        "user-agent": userAgent
+      },
+      mediaType: {
+        format: ""
+      }
     };
-    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;
+    urlVariableRegex = /\{[^{}}]+\}/g;
+    endpoint = withDefaults(null, DEFAULTS);
+  }
+});
+
+// node_modules/@octokit/request/node_modules/universal-user-agent/index.js
+function getUserAgent3() {
+  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_agent3 = __esm({
+  "node_modules/@octokit/request/node_modules/universal-user-agent/index.js"() {
+  }
+});
+
+// node_modules/fast-content-type-parse/index.js
+var require_fast_content_type_parse = __commonJS({
+  "node_modules/fast-content-type-parse/index.js"(exports2, module2) {
+    "use strict";
+    var NullObject = function NullObject2() {
+    };
+    NullObject.prototype = /* @__PURE__ */ Object.create(null);
+    var paramRE = /; *([!#$%&'*+.^\w`|~-]+)=("(?:[\v\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\v\u0020-\u00ff])*"|[!#$%&'*+.^\w`|~-]+) */gu;
+    var quotedPairRE = /\\([\v\u0020-\u00ff])/gu;
+    var mediaTypeRE = /^[!#$%&'*+.^\w|~-]+\/[!#$%&'*+.^\w|~-]+$/u;
+    var defaultContentType = { type: "", parameters: new NullObject() };
+    Object.freeze(defaultContentType.parameters);
+    Object.freeze(defaultContentType);
+    function parse2(header) {
+      if (typeof header !== "string") {
+        throw new TypeError("argument header is required and must be a string");
       }
-      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;
+      let index = header.indexOf(";");
+      const type2 = index !== -1 ? header.slice(0, index).trim() : header.trim();
+      if (mediaTypeRE.test(type2) === false) {
+        throw new TypeError("invalid media type");
       }
-      constructor(options = {}) {
-        const hook2 = new before_after_hook_default.Collection();
-        const requestDefaults = {
-          baseUrl: request.endpoint.DEFAULTS.baseUrl,
-          headers: {},
-          request: Object.assign({}, options.request, {
-            // @ts-ignore internal usage only, no need to type
-            hook: hook2.bind(null, "request")
-          }),
-          mediaType: {
-            previews: [],
-            format: ""
-          }
-        };
-        requestDefaults.headers["user-agent"] = options.userAgent ? `${options.userAgent} ${userAgentTrail}` : userAgentTrail;
-        if (options.baseUrl) {
-          requestDefaults.baseUrl = options.baseUrl;
-        }
-        if (options.previews) {
-          requestDefaults.mediaType.previews = options.previews;
+      const result = {
+        type: type2.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");
         }
-        if (options.timeZone) {
-          requestDefaults.headers["time-zone"] = options.timeZone;
+        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.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 auth2 = createTokenAuth(options.auth);
-            hook2.wrap("request", auth2.hook);
-            this.auth = auth2;
-          }
-        } else {
-          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
-            )
-          );
-          hook2.wrap("request", auth2.hook);
-          this.auth = auth2;
+        result.parameters[key] = value;
+      }
+      if (index !== header.length) {
+        throw new TypeError("invalid parameter format");
+      }
+      return result;
+    }
+    function safeParse2(header) {
+      if (typeof header !== "string") {
+        return defaultContentType;
+      }
+      let index = header.indexOf(";");
+      const type2 = index !== -1 ? header.slice(0, index).trim() : header.trim();
+      if (mediaTypeRE.test(type2) === false) {
+        return defaultContentType;
+      }
+      const result = {
+        type: type2.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;
         }
-        const classConstructor = this.constructor;
-        for (let i = 0; i < classConstructor.plugins.length; ++i) {
-          Object.assign(this, classConstructor.plugins[i](this, options));
+        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;
       }
-      // assigned during constructor
-      request;
-      graphql;
-      log;
-      hook;
-      // TODO: type `octokit.auth` based on passed options.authStrategy
-      auth;
-    };
+      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/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js
-var VERSION5;
-var init_version2 = __esm({
-  "node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js"() {
-    VERSION5 = "17.0.0";
+// 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, { cause: options.cause });
+        this.name = "HttpError";
+        this.status = Number.parseInt(statusCode);
+        if (Number.isNaN(this.status)) {
+          this.status = 0;
+        }
+        if ("response" in options) {
+          this.response = options.response;
+        }
+        const requestCopy = Object.assign({}, options.request);
+        if (options.request.headers.authorization) {
+          requestCopy.headers = Object.assign({}, options.request.headers, {
+            authorization: options.request.headers.authorization.replace(
+              /(? [
+      name,
+      String(value)
+    ])
+  );
+  let fetchResponse;
+  try {
+    fetchResponse = await fetch(requestOptions.url, {
+      method: requestOptions.method,
+      body,
+      redirect: requestOptions.request?.redirect,
+      headers: requestHeaders,
+      signal: requestOptions.request?.signal,
+      // duplex must be set if request.body is ReadableStream or Async Iterables.
+      // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex.
+      ...requestOptions.body && { duplex: "half" }
+    });
+  } catch (error3) {
+    let message = "Unknown Error";
+    if (error3 instanceof Error) {
+      if (error3.name === "AbortError") {
+        error3.status = 500;
+        throw error3;
+      }
+      message = error3.message;
+      if (error3.name === "TypeError" && "cause" in error3) {
+        if (error3.cause instanceof Error) {
+          message = error3.cause.message;
+        } else if (typeof error3.cause === "string") {
+          message = error3.cause;
+        }
+      }
+    }
+    const requestError = new RequestError(message, 500, {
+      request: requestOptions
+    });
+    requestError.cause = error3;
+    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 JSON.parse(text);
+    } catch (err) {
+      return text;
+    }
+  } else if (mimetype.type.startsWith("text/") || mimetype.parameters.charset?.toLowerCase() === "utf-8") {
+    return response.text().catch(noop);
+  } else {
+    return response.arrayBuffer().catch(
+      /* v8 ignore next -- @preserve */
+      () => new ArrayBuffer(0)
+    );
+  }
+}
+function isJSONResponse(mimetype) {
+  return mimetype.type === "application/json" || mimetype.type === "application/scim+json";
+}
+function toErrorMessage(data) {
+  if (typeof data === "string") {
+    return data;
+  }
+  if (data instanceof ArrayBuffer) {
+    return "Unknown error";
+  }
+  if ("message" in data) {
+    const suffix = "documentation_url" in data ? ` - ${data.documentation_url}` : "";
+    return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(", ")}${suffix}` : `${data.message}${suffix}`;
+  }
+  return `Unknown error: ${JSON.stringify(data)}`;
+}
+function withDefaults2(oldEndpoint, newDefaults) {
+  const endpoint2 = oldEndpoint.defaults(newDefaults);
+  const newApi = function(route, parameters) {
+    const endpointOptions = endpoint2.merge(route, parameters);
+    if (!endpointOptions.request || !endpointOptions.request.hook) {
+      return fetchWrapper(endpoint2.parse(endpointOptions));
+    }
+    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_agent3();
+    import_fast_content_type_parse = __toESM(require_fast_content_type_parse(), 1);
+    init_dist_src();
+    VERSION2 = "10.0.7";
+    defaults_default = {
+      headers: {
+        "user-agent": `octokit-request.js/${VERSION2} ${getUserAgent3()}`
+      }
+    };
+    noop = () => "";
+    request = withDefaults2(endpoint, defaults_default);
+  }
+});
+
+// node_modules/@octokit/graphql/node_modules/universal-user-agent/index.js
+function getUserAgent4() {
+  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_agent4 = __esm({
+  "node_modules/@octokit/graphql/node_modules/universal-user-agent/index.js"() {
+  }
+});
+
+// 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
+      );
+    }
+    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_agent4();
+    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.errors = response.errors;
+        this.data = response.data;
+        if (Error.captureStackTrace) {
+          Error.captureStackTrace(this, this.constructor);
+        }
+      }
+      name = "GraphqlResponseError";
+      errors;
+      data;
+    };
+    NON_VARIABLE_OPTIONS = [
+      "method",
+      "baseUrl",
+      "url",
+      "headers",
+      "request",
+      "query",
+      "mediaType",
+      "operationName"
+    ];
+    FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"];
+    GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/;
+    graphql2 = withDefaults3(request, {
+      headers: {
+        "user-agent": `octokit-graphql.js/${VERSION3} ${getUserAgent4()}`
+      },
+      method: "POST",
+      url: "/graphql"
+    });
+  }
+});
+
+// node_modules/@octokit/auth-token/dist-bundle/index.js
+async function auth(token) {
+  const isApp = isJWT(token);
+  const isInstallation = token.startsWith("v1.") || token.startsWith("ghs_");
+  const isUserToServer = token.startsWith("ghu_");
+  const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth";
+  return {
+    type: "token",
+    token,
+    tokenType
+  };
+}
+function withAuthorizationPrefix(token) {
+  if (token.split(/\./).length === 3) {
+    return `bearer ${token}`;
+  }
+  return `token ${token}`;
+}
+async function hook(token, request2, route, parameters) {
+  const endpoint2 = request2.endpoint.merge(
+    route,
+    parameters
+  );
+  endpoint2.headers.authorization = withAuthorizationPrefix(token);
+  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(token) {
+      if (!token) {
+        throw new Error("[@octokit/auth-token] No token passed to createTokenAuth");
+      }
+      if (typeof token !== "string") {
+        throw new Error(
+          "[@octokit/auth-token] Token passed to createTokenAuth is not a string"
+        );
+      }
+      token = token.replace(/^(token|bearer) +/i, "");
+      return Object.assign(auth.bind(null, token), {
+        hook: hook.bind(null, token)
+      });
+    };
+  }
+});
+
+// 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;
+      }
+      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;
+      }
+      constructor(options = {}) {
+        const hook2 = new before_after_hook_default.Collection();
+        const requestDefaults = {
+          baseUrl: request.endpoint.DEFAULTS.baseUrl,
+          headers: {},
+          request: Object.assign({}, options.request, {
+            // @ts-ignore internal usage only, no need to type
+            hook: hook2.bind(null, "request")
+          }),
+          mediaType: {
+            previews: [],
+            format: ""
+          }
+        };
+        requestDefaults.headers["user-agent"] = options.userAgent ? `${options.userAgent} ${userAgentTrail}` : userAgentTrail;
+        if (options.baseUrl) {
+          requestDefaults.baseUrl = options.baseUrl;
+        }
+        if (options.previews) {
+          requestDefaults.mediaType.previews = options.previews;
+        }
+        if (options.timeZone) {
+          requestDefaults.headers["time-zone"] = options.timeZone;
+        }
+        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 auth2 = createTokenAuth(options.auth);
+            hook2.wrap("request", auth2.hook);
+            this.auth = auth2;
+          }
+        } else {
+          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
+            )
+          );
+          hook2.wrap("request", auth2.hook);
+          this.auth = auth2;
+        }
+        const classConstructor = this.constructor;
+        for (let i = 0; i < classConstructor.plugins.length; ++i) {
+          Object.assign(this, classConstructor.plugins[i](this, options));
+        }
+      }
+      // assigned during constructor
+      request;
+      graphql;
+      log;
+      hook;
+      // TODO: type `octokit.auth` based on passed options.authStrategy
+      auth;
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js
+var VERSION5;
+var init_version2 = __esm({
+  "node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js"() {
+    VERSION5 = "17.0.0";
+  }
+});
+
+// node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js
+var Endpoints, endpoints_default;
+var init_endpoints = __esm({
+  "node_modules/@actions/github/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"
@@ -41552,50789 +43045,68197 @@ var init_endpoints = __esm({
         setAdminBranchProtection: [
           "POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"
         ],
-        setAppAccessRestrictions: [
-          "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",
+        setAppAccessRestrictions: [
+          "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",
+          {},
+          { mapToData: "apps" }
+        ],
+        setStatusCheckContexts: [
+          "PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",
+          {},
+          { mapToData: "contexts" }
+        ],
+        setTeamAccessRestrictions: [
+          "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",
+          {},
+          { mapToData: "teams" }
+        ],
+        setUserAccessRestrictions: [
+          "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",
+          {},
+          { mapToData: "users" }
+        ],
+        testPushWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"],
+        transfer: ["POST /repos/{owner}/{repo}/transfer"],
+        update: ["PATCH /repos/{owner}/{repo}"],
+        updateBranchProtection: [
+          "PUT /repos/{owner}/{repo}/branches/{branch}/protection"
+        ],
+        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"] }
+        ],
+        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" }
+        ]
+      },
+      search: {
+        code: ["GET /search/code"],
+        commits: ["GET /search/commits"],
+        issuesAndPullRequests: ["GET /search/issues"],
+        labels: ["GET /search/labels"],
+        repos: ["GET /search/repositories"],
+        topics: ["GET /search/topics"],
+        users: ["GET /search/users"]
+      },
+      secretScanning: {
+        createPushProtectionBypass: [
+          "POST /repos/{owner}/{repo}/secret-scanning/push-protection-bypasses"
+        ],
+        getAlert: [
+          "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"
+        ],
+        getScanHistory: ["GET /repos/{owner}/{repo}/secret-scanning/scan-history"],
+        listAlertsForOrg: ["GET /orgs/{org}/secret-scanning/alerts"],
+        listAlertsForRepo: ["GET /repos/{owner}/{repo}/secret-scanning/alerts"],
+        listLocationsForAlert: [
+          "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"
+        ],
+        listOrgPatternConfigs: [
+          "GET /orgs/{org}/secret-scanning/pattern-configurations"
+        ],
+        updateAlert: [
+          "PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"
+        ],
+        updateOrgPatternConfigs: [
+          "PATCH /orgs/{org}/secret-scanning/pattern-configurations"
+        ]
+      },
+      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}"
+        ],
+        addOrUpdateRepoPermissionsInOrg: [
+          "PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
+        ],
+        checkPermissionsForRepoInOrg: [
+          "GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
+        ],
+        create: ["POST /orgs/{org}/teams"],
+        createDiscussionCommentInOrg: [
+          "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"
+        ],
+        createDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions"],
+        deleteDiscussionCommentInOrg: [
+          "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"
+        ],
+        deleteDiscussionInOrg: [
+          "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"
+        ],
+        deleteInOrg: ["DELETE /orgs/{org}/teams/{team_slug}"],
+        getByName: ["GET /orgs/{org}/teams/{team_slug}"],
+        getDiscussionCommentInOrg: [
+          "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"
+        ],
+        getDiscussionInOrg: [
+          "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"
+        ],
+        getMembershipForUserInOrg: [
+          "GET /orgs/{org}/teams/{team_slug}/memberships/{username}"
+        ],
+        list: ["GET /orgs/{org}/teams"],
+        listChildInOrg: ["GET /orgs/{org}/teams/{team_slug}/teams"],
+        listDiscussionCommentsInOrg: [
+          "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"
+        ],
+        listDiscussionsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions"],
+        listForAuthenticatedUser: ["GET /user/teams"],
+        listMembersInOrg: ["GET /orgs/{org}/teams/{team_slug}/members"],
+        listPendingInvitationsInOrg: [
+          "GET /orgs/{org}/teams/{team_slug}/invitations"
+        ],
+        listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"],
+        removeMembershipForUserInOrg: [
+          "DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"
+        ],
+        removeRepoInOrg: [
+          "DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
+        ],
+        updateDiscussionCommentInOrg: [
+          "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"
+        ],
+        updateDiscussionInOrg: [
+          "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"
+        ],
+        updateInOrg: ["PATCH /orgs/{org}/teams/{team_slug}"]
+      },
+      users: {
+        addEmailForAuthenticated: [
+          "POST /user/emails",
+          {},
+          { renamed: ["users", "addEmailForAuthenticatedUser"] }
+        ],
+        addEmailForAuthenticatedUser: ["POST /user/emails"],
+        addSocialAccountForAuthenticatedUser: ["POST /user/social_accounts"],
+        block: ["PUT /user/blocks/{username}"],
+        checkBlocked: ["GET /user/blocks/{username}"],
+        checkFollowingForUser: ["GET /users/{username}/following/{target_user}"],
+        checkPersonIsFollowedByAuthenticated: ["GET /user/following/{username}"],
+        createGpgKeyForAuthenticated: [
+          "POST /user/gpg_keys",
+          {},
+          { renamed: ["users", "createGpgKeyForAuthenticatedUser"] }
+        ],
+        createGpgKeyForAuthenticatedUser: ["POST /user/gpg_keys"],
+        createPublicSshKeyForAuthenticated: [
+          "POST /user/keys",
+          {},
+          { renamed: ["users", "createPublicSshKeyForAuthenticatedUser"] }
+        ],
+        createPublicSshKeyForAuthenticatedUser: ["POST /user/keys"],
+        createSshSigningKeyForAuthenticatedUser: ["POST /user/ssh_signing_keys"],
+        deleteAttestationsBulk: [
+          "POST /users/{username}/attestations/delete-request"
+        ],
+        deleteAttestationsById: [
+          "DELETE /users/{username}/attestations/{attestation_id}"
+        ],
+        deleteAttestationsBySubjectDigest: [
+          "DELETE /users/{username}/attestations/digest/{subject_digest}"
+        ],
+        deleteEmailForAuthenticated: [
+          "DELETE /user/emails",
+          {},
+          { renamed: ["users", "deleteEmailForAuthenticatedUser"] }
+        ],
+        deleteEmailForAuthenticatedUser: ["DELETE /user/emails"],
+        deleteGpgKeyForAuthenticated: [
+          "DELETE /user/gpg_keys/{gpg_key_id}",
+          {},
+          { renamed: ["users", "deleteGpgKeyForAuthenticatedUser"] }
+        ],
+        deleteGpgKeyForAuthenticatedUser: ["DELETE /user/gpg_keys/{gpg_key_id}"],
+        deletePublicSshKeyForAuthenticated: [
+          "DELETE /user/keys/{key_id}",
+          {},
+          { renamed: ["users", "deletePublicSshKeyForAuthenticatedUser"] }
+        ],
+        deletePublicSshKeyForAuthenticatedUser: ["DELETE /user/keys/{key_id}"],
+        deleteSocialAccountForAuthenticatedUser: ["DELETE /user/social_accounts"],
+        deleteSshSigningKeyForAuthenticatedUser: [
+          "DELETE /user/ssh_signing_keys/{ssh_signing_key_id}"
+        ],
+        follow: ["PUT /user/following/{username}"],
+        getAuthenticated: ["GET /user"],
+        getById: ["GET /user/{account_id}"],
+        getByUsername: ["GET /users/{username}"],
+        getContextForUser: ["GET /users/{username}/hovercard"],
+        getGpgKeyForAuthenticated: [
+          "GET /user/gpg_keys/{gpg_key_id}",
+          {},
+          { renamed: ["users", "getGpgKeyForAuthenticatedUser"] }
+        ],
+        getGpgKeyForAuthenticatedUser: ["GET /user/gpg_keys/{gpg_key_id}"],
+        getPublicSshKeyForAuthenticated: [
+          "GET /user/keys/{key_id}",
+          {},
+          { renamed: ["users", "getPublicSshKeyForAuthenticatedUser"] }
+        ],
+        getPublicSshKeyForAuthenticatedUser: ["GET /user/keys/{key_id}"],
+        getSshSigningKeyForAuthenticatedUser: [
+          "GET /user/ssh_signing_keys/{ssh_signing_key_id}"
+        ],
+        list: ["GET /users"],
+        listAttestations: ["GET /users/{username}/attestations/{subject_digest}"],
+        listAttestationsBulk: [
+          "POST /users/{username}/attestations/bulk-list{?per_page,before,after}"
+        ],
+        listBlockedByAuthenticated: [
+          "GET /user/blocks",
           {},
-          { mapToData: "apps" }
+          { renamed: ["users", "listBlockedByAuthenticatedUser"] }
         ],
-        setStatusCheckContexts: [
-          "PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",
+        listBlockedByAuthenticatedUser: ["GET /user/blocks"],
+        listEmailsForAuthenticated: [
+          "GET /user/emails",
           {},
-          { mapToData: "contexts" }
+          { renamed: ["users", "listEmailsForAuthenticatedUser"] }
         ],
-        setTeamAccessRestrictions: [
-          "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",
+        listEmailsForAuthenticatedUser: ["GET /user/emails"],
+        listFollowedByAuthenticated: [
+          "GET /user/following",
           {},
-          { mapToData: "teams" }
+          { renamed: ["users", "listFollowedByAuthenticatedUser"] }
         ],
-        setUserAccessRestrictions: [
-          "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",
+        listFollowedByAuthenticatedUser: ["GET /user/following"],
+        listFollowersForAuthenticatedUser: ["GET /user/followers"],
+        listFollowersForUser: ["GET /users/{username}/followers"],
+        listFollowingForUser: ["GET /users/{username}/following"],
+        listGpgKeysForAuthenticated: [
+          "GET /user/gpg_keys",
           {},
-          { 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"
+          { renamed: ["users", "listGpgKeysForAuthenticatedUser"] }
         ],
-        updateRelease: ["PATCH /repos/{owner}/{repo}/releases/{release_id}"],
-        updateReleaseAsset: [
-          "PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}"
+        listGpgKeysForAuthenticatedUser: ["GET /user/gpg_keys"],
+        listGpgKeysForUser: ["GET /users/{username}/gpg_keys"],
+        listPublicEmailsForAuthenticated: [
+          "GET /user/public_emails",
+          {},
+          { renamed: ["users", "listPublicEmailsForAuthenticatedUser"] }
         ],
-        updateRepoRuleset: ["PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}"],
-        updateStatusCheckPotection: [
-          "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks",
+        listPublicEmailsForAuthenticatedUser: ["GET /user/public_emails"],
+        listPublicKeysForUser: ["GET /users/{username}/keys"],
+        listPublicSshKeysForAuthenticated: [
+          "GET /user/keys",
           {},
-          { renamed: ["repos", "updateStatusCheckProtection"] }
+          { renamed: ["users", "listPublicSshKeysForAuthenticatedUser"] }
         ],
-        updateStatusCheckProtection: [
-          "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"
+        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"] }
         ],
-        updateWebhook: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"],
-        updateWebhookConfigForRepo: [
-          "PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config"
+        setPrimaryEmailVisibilityForAuthenticatedUser: [
+          "PATCH /user/email/visibility"
         ],
-        uploadReleaseAsset: [
-          "POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}",
-          { baseUrl: "https://uploads.github.com" }
-        ]
+        unblock: ["DELETE /user/blocks/{username}"],
+        unfollow: ["DELETE /user/following/{username}"],
+        updateAuthenticated: ["PATCH /user"]
+      }
+    };
+    endpoints_default = Endpoints;
+  }
+});
+
+// node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js
+function endpointsToMethods(octokit) {
+  const newMethods = {};
+  for (const scope of endpointMethodsMap.keys()) {
+    newMethods[scope] = new Proxy({ octokit, scope, cache: {} }, handler);
+  }
+  return newMethods;
+}
+function decorate(octokit, scope, methodName, defaults, decorations) {
+  const requestWithDefaults = octokit.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;
+      octokit.log.warn(
+        `octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`
+      );
+    }
+    if (decorations.deprecated) {
+      octokit.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) {
+          octokit.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);
+    }
+    return requestWithDefaults(...args);
+  }
+  return Object.assign(withDecorations, requestWithDefaults);
+}
+var endpointMethodsMap, handler;
+var init_endpoints_to_methods = __esm({
+  "node_modules/@actions/github/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());
+        }
+        endpointMethodsMap.get(scope).set(methodName, {
+          scope,
+          methodName,
+          endpointDefaults,
+          decorations
+        });
+      }
+    }
+    handler = {
+      has({ scope }, methodName) {
+        return endpointMethodsMap.get(scope).has(methodName);
       },
-      search: {
-        code: ["GET /search/code"],
-        commits: ["GET /search/commits"],
-        issuesAndPullRequests: ["GET /search/issues"],
-        labels: ["GET /search/labels"],
-        repos: ["GET /search/repositories"],
-        topics: ["GET /search/topics"],
-        users: ["GET /search/users"]
+      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, scope, cache }, methodName) {
+        if (cache[methodName]) {
+          return cache[methodName];
+        }
+        const method = endpointMethodsMap.get(scope).get(methodName);
+        if (!method) {
+          return void 0;
+        }
+        const { endpointDefaults, decorations } = method;
+        if (decorations) {
+          cache[methodName] = decorate(
+            octokit,
+            scope,
+            methodName,
+            endpointDefaults,
+            decorations
+          );
+        } else {
+          cache[methodName] = octokit.request.defaults(endpointDefaults);
+        }
+        return cache[methodName];
+      }
+    };
+  }
+});
+
+// node_modules/@actions/github/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(octokit) {
+  const api = endpointsToMethods(octokit);
+  return {
+    rest: api
+  };
+}
+function legacyRestEndpointMethods(octokit) {
+  const api = endpointsToMethods(octokit);
+  return {
+    ...api,
+    rest: api
+  };
+}
+var init_dist_src3 = __esm({
+  "node_modules/@actions/github/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/@actions/github/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(octokit, route, parameters) {
+  const options = typeof route === "function" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters);
+  const requestMethod = typeof route === "function" ? route : octokit.request;
+  const method = options.method;
+  const headers = options.headers;
+  let url = options.url;
+  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();
+            }
+          }
+          return { value: normalizedResponse };
+        } catch (error3) {
+          if (error3.status !== 409) throw error3;
+          url = "";
+          return {
+            value: {
+              status: 200,
+              headers: {},
+              data: []
+            }
+          };
+        }
+      }
+    })
+  };
+}
+function paginate(octokit, route, parameters, mapFn) {
+  if (typeof parameters === "function") {
+    mapFn = parameters;
+    parameters = void 0;
+  }
+  return gather(
+    octokit,
+    [],
+    iterator(octokit, route, parameters)[Symbol.asyncIterator](),
+    mapFn
+  );
+}
+function gather(octokit, results, iterator2, mapFn) {
+  return iterator2.next().then((result) => {
+    if (result.done) {
+      return results;
+    }
+    let earlyExit = false;
+    function done() {
+      earlyExit = true;
+    }
+    results = results.concat(
+      mapFn ? mapFn(result.value, done) : result.value.data
+    );
+    if (earlyExit) {
+      return results;
+    }
+    return gather(octokit, results, iterator2, mapFn);
+  });
+}
+function isPaginatingEndpoint(arg) {
+  if (typeof arg === "string") {
+    return paginatingEndpoints.includes(arg);
+  } else {
+    return false;
+  }
+}
+function paginateRest(octokit) {
+  return {
+    paginate: Object.assign(paginate.bind(null, octokit), {
+      iterator: iterator.bind(null, octokit)
+    })
+  };
+}
+var VERSION6, composePaginateRest, paginatingEndpoints;
+var init_dist_bundle5 = __esm({
+  "node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-bundle/index.js"() {
+    VERSION6 = "0.0.0-development";
+    composePaginateRest = Object.assign(paginate, {
+      iterator
+    });
+    paginatingEndpoints = [
+      "GET /advisories",
+      "GET /app/hook/deliveries",
+      "GET /app/installation-requests",
+      "GET /app/installations",
+      "GET /assignments/{assignment_id}/accepted_assignments",
+      "GET /classrooms",
+      "GET /classrooms/{classroom_id}/assignments",
+      "GET /enterprises/{enterprise}/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",
+      "GET /gists/starred",
+      "GET /gists/{gist_id}/comments",
+      "GET /gists/{gist_id}/commits",
+      "GET /gists/{gist_id}/forks",
+      "GET /installation/repositories",
+      "GET /issues",
+      "GET /licenses",
+      "GET /marketplace_listing/plans",
+      "GET /marketplace_listing/plans/{plan_id}/accounts",
+      "GET /marketplace_listing/stubbed/plans",
+      "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts",
+      "GET /networks/{owner}/{repo}/events",
+      "GET /notifications",
+      "GET /organizations",
+      "GET /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}/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}/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}/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}/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",
+      "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions",
+      "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions",
+      "GET /orgs/{org}/teams/{team_slug}/invitations",
+      "GET /orgs/{org}/teams/{team_slug}/members",
+      "GET /orgs/{org}/teams/{team_slug}/projects",
+      "GET /orgs/{org}/teams/{team_slug}/repos",
+      "GET /orgs/{org}/teams/{team_slug}/teams",
+      "GET /projects/{project_id}/collaborators",
+      "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",
+      "GET /repos/{owner}/{repo}/code-scanning/alerts",
+      "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances",
+      "GET /repos/{owner}/{repo}/code-scanning/analyses",
+      "GET /repos/{owner}/{repo}/codespaces",
+      "GET /repos/{owner}/{repo}/codespaces/devcontainers",
+      "GET /repos/{owner}/{repo}/codespaces/secrets",
+      "GET /repos/{owner}/{repo}/collaborators",
+      "GET /repos/{owner}/{repo}/comments",
+      "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions",
+      "GET /repos/{owner}/{repo}/commits",
+      "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments",
+      "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls",
+      "GET /repos/{owner}/{repo}/commits/{ref}/check-runs",
+      "GET /repos/{owner}/{repo}/commits/{ref}/check-suites",
+      "GET /repos/{owner}/{repo}/commits/{ref}/status",
+      "GET /repos/{owner}/{repo}/commits/{ref}/statuses",
+      "GET /repos/{owner}/{repo}/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}/hooks",
+      "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries",
+      "GET /repos/{owner}/{repo}/invitations",
+      "GET /repos/{owner}/{repo}/issues",
+      "GET /repos/{owner}/{repo}/issues/comments",
+      "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions",
+      "GET /repos/{owner}/{repo}/issues/events",
+      "GET /repos/{owner}/{repo}/issues/{issue_number}/comments",
+      "GET /repos/{owner}/{repo}/issues/{issue_number}/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",
+      "GET /repos/{owner}/{repo}/milestones",
+      "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels",
+      "GET /repos/{owner}/{repo}/notifications",
+      "GET /repos/{owner}/{repo}/pages/builds",
+      "GET /repos/{owner}/{repo}/projects",
+      "GET /repos/{owner}/{repo}/pulls",
+      "GET /repos/{owner}/{repo}/pulls/comments",
+      "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions",
+      "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments",
+      "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits",
+      "GET /repos/{owner}/{repo}/pulls/{pull_number}/files",
+      "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews",
+      "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments",
+      "GET /repos/{owner}/{repo}/releases",
+      "GET /repos/{owner}/{repo}/releases/{release_id}/assets",
+      "GET /repos/{owner}/{repo}/releases/{release_id}/reactions",
+      "GET /repos/{owner}/{repo}/rules/branches/{branch}",
+      "GET /repos/{owner}/{repo}/rulesets",
+      "GET /repos/{owner}/{repo}/rulesets/rule-suites",
+      "GET /repos/{owner}/{repo}/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 /search/code",
+      "GET /search/commits",
+      "GET /search/issues",
+      "GET /search/labels",
+      "GET /search/repositories",
+      "GET /search/topics",
+      "GET /search/users",
+      "GET /teams/{team_id}/discussions",
+      "GET /teams/{team_id}/discussions/{discussion_number}/comments",
+      "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions",
+      "GET /teams/{team_id}/discussions/{discussion_number}/reactions",
+      "GET /teams/{team_id}/invitations",
+      "GET /teams/{team_id}/members",
+      "GET /teams/{team_id}/projects",
+      "GET /teams/{team_id}/repos",
+      "GET /teams/{team_id}/teams",
+      "GET /user/blocks",
+      "GET /user/codespaces",
+      "GET /user/codespaces/secrets",
+      "GET /user/emails",
+      "GET /user/followers",
+      "GET /user/following",
+      "GET /user/gpg_keys",
+      "GET /user/installations",
+      "GET /user/installations/{installation_id}/repositories",
+      "GET /user/issues",
+      "GET /user/keys",
+      "GET /user/marketplace_purchases",
+      "GET /user/marketplace_purchases/stubbed",
+      "GET /user/memberships/orgs",
+      "GET /user/migrations",
+      "GET /user/migrations/{migration_id}/repositories",
+      "GET /user/orgs",
+      "GET /user/packages",
+      "GET /user/packages/{package_type}/{package_name}/versions",
+      "GET /user/public_emails",
+      "GET /user/repos",
+      "GET /user/repository_invitations",
+      "GET /user/social_accounts",
+      "GET /user/ssh_signing_keys",
+      "GET /user/starred",
+      "GET /user/subscriptions",
+      "GET /user/teams",
+      "GET /users",
+      "GET /users/{username}/attestations/{subject_digest}",
+      "GET /users/{username}/events",
+      "GET /users/{username}/events/orgs/{org}",
+      "GET /users/{username}/events/public",
+      "GET /users/{username}/followers",
+      "GET /users/{username}/following",
+      "GET /users/{username}/gists",
+      "GET /users/{username}/gpg_keys",
+      "GET /users/{username}/keys",
+      "GET /users/{username}/orgs",
+      "GET /users/{username}/packages",
+      "GET /users/{username}/projects",
+      "GET /users/{username}/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"
+    ];
+    paginateRest.VERSION = VERSION6;
+  }
+});
+
+// node_modules/@actions/github/lib/utils.js
+var require_utils5 = __commonJS({
+  "node_modules/@actions/github/lib/utils.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = 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 ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.GitHub = exports2.defaults = exports2.context = void 0;
+    exports2.getOctokitOptions = getOctokitOptions2;
+    var Context = __importStar2(require_context());
+    var Utils = __importStar2(require_utils4());
+    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),
+        fetch: Utils.getProxyFetch(baseUrl)
+      }
+    };
+    exports2.GitHub = core_1.Octokit.plugin(plugin_rest_endpoint_methods_1.restEndpointMethods, plugin_paginate_rest_1.paginateRest).defaults(exports2.defaults);
+    function getOctokitOptions2(token, options) {
+      const opts = Object.assign({}, options || {});
+      const auth2 = Utils.getAuthString(token, opts);
+      if (auth2) {
+        opts.auth = auth2;
+      }
+      return opts;
+    }
+  }
+});
+
+// node_modules/@actions/github/lib/github.js
+var require_github = __commonJS({
+  "node_modules/@actions/github/lib/github.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = 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 ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.context = void 0;
+    exports2.getOctokit = getOctokit;
+    var Context = __importStar2(require_context());
+    var utils_1 = require_utils5();
+    exports2.context = new Context.Context();
+    function getOctokit(token, options, ...additionalPlugins) {
+      const GitHubWithPlugins = utils_1.GitHub.plugin(...additionalPlugins);
+      return new GitHubWithPlugins((0, utils_1.getOctokitOptions)(token, options));
+    }
+  }
+});
+
+// node_modules/semver/internal/constants.js
+var require_constants11 = __commonJS({
+  "node_modules/semver/internal/constants.js"(exports2, module2) {
+    "use strict";
+    var SEMVER_SPEC_VERSION = "2.0.0";
+    var MAX_LENGTH = 256;
+    var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */
+    9007199254740991;
+    var MAX_SAFE_COMPONENT_LENGTH = 16;
+    var MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6;
+    var RELEASE_TYPES = [
+      "major",
+      "premajor",
+      "minor",
+      "preminor",
+      "patch",
+      "prepatch",
+      "prerelease"
+    ];
+    module2.exports = {
+      MAX_LENGTH,
+      MAX_SAFE_COMPONENT_LENGTH,
+      MAX_SAFE_BUILD_LENGTH,
+      MAX_SAFE_INTEGER,
+      RELEASE_TYPES,
+      SEMVER_SPEC_VERSION,
+      FLAG_INCLUDE_PRERELEASE: 1,
+      FLAG_LOOSE: 2
+    };
+  }
+});
+
+// node_modules/semver/internal/debug.js
+var require_debug = __commonJS({
+  "node_modules/semver/internal/debug.js"(exports2, module2) {
+    "use strict";
+    var debug4 = typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error("SEMVER", ...args) : () => {
+    };
+    module2.exports = debug4;
+  }
+});
+
+// node_modules/semver/internal/re.js
+var require_re = __commonJS({
+  "node_modules/semver/internal/re.js"(exports2, module2) {
+    "use strict";
+    var {
+      MAX_SAFE_COMPONENT_LENGTH,
+      MAX_SAFE_BUILD_LENGTH,
+      MAX_LENGTH
+    } = require_constants11();
+    var debug4 = require_debug();
+    exports2 = module2.exports = {};
+    var re = exports2.re = [];
+    var safeRe = exports2.safeRe = [];
+    var src = exports2.src = [];
+    var safeSrc = exports2.safeSrc = [];
+    var t = exports2.t = {};
+    var R = 0;
+    var LETTERDASHNUMBER = "[a-zA-Z0-9-]";
+    var safeRegexReplacements = [
+      ["\\s", 1],
+      ["\\d", MAX_LENGTH],
+      [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH]
+    ];
+    var makeSafeRegex = (value) => {
+      for (const [token, max] of safeRegexReplacements) {
+        value = value.split(`${token}*`).join(`${token}{0,${max}}`).split(`${token}+`).join(`${token}{1,${max}}`);
+      }
+      return value;
+    };
+    var createToken = (name, value, isGlobal) => {
+      const safe = makeSafeRegex(value);
+      const index = R++;
+      debug4(name, index, value);
+      t[name] = index;
+      src[index] = value;
+      safeSrc[index] = safe;
+      re[index] = new RegExp(value, isGlobal ? "g" : void 0);
+      safeRe[index] = new RegExp(safe, isGlobal ? "g" : void 0);
+    };
+    createToken("NUMERICIDENTIFIER", "0|[1-9]\\d*");
+    createToken("NUMERICIDENTIFIERLOOSE", "\\d+");
+    createToken("NONNUMERICIDENTIFIER", `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);
+    createToken("MAINVERSION", `(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})`);
+    createToken("MAINVERSIONLOOSE", `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})`);
+    createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIER]})`);
+    createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIERLOOSE]})`);
+    createToken("PRERELEASE", `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`);
+    createToken("PRERELEASELOOSE", `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`);
+    createToken("BUILDIDENTIFIER", `${LETTERDASHNUMBER}+`);
+    createToken("BUILD", `(?:\\+(${src[t.BUILDIDENTIFIER]}(?:\\.${src[t.BUILDIDENTIFIER]})*))`);
+    createToken("FULLPLAIN", `v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`);
+    createToken("FULL", `^${src[t.FULLPLAIN]}$`);
+    createToken("LOOSEPLAIN", `[v=\\s]*${src[t.MAINVERSIONLOOSE]}${src[t.PRERELEASELOOSE]}?${src[t.BUILD]}?`);
+    createToken("LOOSE", `^${src[t.LOOSEPLAIN]}$`);
+    createToken("GTLT", "((?:<|>)?=?)");
+    createToken("XRANGEIDENTIFIERLOOSE", `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);
+    createToken("XRANGEIDENTIFIER", `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`);
+    createToken("XRANGEPLAIN", `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:${src[t.PRERELEASE]})?${src[t.BUILD]}?)?)?`);
+    createToken("XRANGEPLAINLOOSE", `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:${src[t.PRERELEASELOOSE]})?${src[t.BUILD]}?)?)?`);
+    createToken("XRANGE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`);
+    createToken("XRANGELOOSE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`);
+    createToken("COERCEPLAIN", `${"(^|[^\\d])(\\d{1,"}${MAX_SAFE_COMPONENT_LENGTH}})(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`);
+    createToken("COERCE", `${src[t.COERCEPLAIN]}(?:$|[^\\d])`);
+    createToken("COERCEFULL", src[t.COERCEPLAIN] + `(?:${src[t.PRERELEASE]})?(?:${src[t.BUILD]})?(?:$|[^\\d])`);
+    createToken("COERCERTL", src[t.COERCE], true);
+    createToken("COERCERTLFULL", src[t.COERCEFULL], true);
+    createToken("LONETILDE", "(?:~>?)");
+    createToken("TILDETRIM", `(\\s*)${src[t.LONETILDE]}\\s+`, true);
+    exports2.tildeTrimReplace = "$1~";
+    createToken("TILDE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`);
+    createToken("TILDELOOSE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`);
+    createToken("LONECARET", "(?:\\^)");
+    createToken("CARETTRIM", `(\\s*)${src[t.LONECARET]}\\s+`, true);
+    exports2.caretTrimReplace = "$1^";
+    createToken("CARET", `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`);
+    createToken("CARETLOOSE", `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`);
+    createToken("COMPARATORLOOSE", `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`);
+    createToken("COMPARATOR", `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`);
+    createToken("COMPARATORTRIM", `(\\s*)${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true);
+    exports2.comparatorTrimReplace = "$1$2$3";
+    createToken("HYPHENRANGE", `^\\s*(${src[t.XRANGEPLAIN]})\\s+-\\s+(${src[t.XRANGEPLAIN]})\\s*$`);
+    createToken("HYPHENRANGELOOSE", `^\\s*(${src[t.XRANGEPLAINLOOSE]})\\s+-\\s+(${src[t.XRANGEPLAINLOOSE]})\\s*$`);
+    createToken("STAR", "(<|>)?=?\\s*\\*");
+    createToken("GTE0", "^\\s*>=\\s*0\\.0\\.0\\s*$");
+    createToken("GTE0PRE", "^\\s*>=\\s*0\\.0\\.0-0\\s*$");
+  }
+});
+
+// node_modules/semver/internal/parse-options.js
+var require_parse_options = __commonJS({
+  "node_modules/semver/internal/parse-options.js"(exports2, module2) {
+    "use strict";
+    var looseOption = Object.freeze({ loose: true });
+    var emptyOpts = Object.freeze({});
+    var parseOptions = (options) => {
+      if (!options) {
+        return emptyOpts;
+      }
+      if (typeof options !== "object") {
+        return looseOption;
+      }
+      return options;
+    };
+    module2.exports = parseOptions;
+  }
+});
+
+// node_modules/semver/internal/identifiers.js
+var require_identifiers = __commonJS({
+  "node_modules/semver/internal/identifiers.js"(exports2, module2) {
+    "use strict";
+    var numeric = /^[0-9]+$/;
+    var compareIdentifiers = (a, b) => {
+      if (typeof a === "number" && typeof b === "number") {
+        return a === b ? 0 : a < b ? -1 : 1;
+      }
+      const anum = numeric.test(a);
+      const bnum = numeric.test(b);
+      if (anum && bnum) {
+        a = +a;
+        b = +b;
+      }
+      return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;
+    };
+    var rcompareIdentifiers = (a, b) => compareIdentifiers(b, a);
+    module2.exports = {
+      compareIdentifiers,
+      rcompareIdentifiers
+    };
+  }
+});
+
+// node_modules/semver/classes/semver.js
+var require_semver = __commonJS({
+  "node_modules/semver/classes/semver.js"(exports2, module2) {
+    "use strict";
+    var debug4 = require_debug();
+    var { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants11();
+    var { safeRe: re, t } = require_re();
+    var parseOptions = require_parse_options();
+    var { compareIdentifiers } = require_identifiers();
+    var SemVer = class _SemVer {
+      constructor(version, options) {
+        options = parseOptions(options);
+        if (version instanceof _SemVer) {
+          if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) {
+            return version;
+          } else {
+            version = version.version;
+          }
+        } else if (typeof version !== "string") {
+          throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version}".`);
+        }
+        if (version.length > MAX_LENGTH) {
+          throw new TypeError(
+            `version is longer than ${MAX_LENGTH} characters`
+          );
+        }
+        debug4("SemVer", version, options);
+        this.options = options;
+        this.loose = !!options.loose;
+        this.includePrerelease = !!options.includePrerelease;
+        const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]);
+        if (!m) {
+          throw new TypeError(`Invalid Version: ${version}`);
+        }
+        this.raw = version;
+        this.major = +m[1];
+        this.minor = +m[2];
+        this.patch = +m[3];
+        if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
+          throw new TypeError("Invalid major version");
+        }
+        if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
+          throw new TypeError("Invalid minor version");
+        }
+        if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
+          throw new TypeError("Invalid patch version");
+        }
+        if (!m[4]) {
+          this.prerelease = [];
+        } else {
+          this.prerelease = m[4].split(".").map((id) => {
+            if (/^[0-9]+$/.test(id)) {
+              const num = +id;
+              if (num >= 0 && num < MAX_SAFE_INTEGER) {
+                return num;
+              }
+            }
+            return id;
+          });
+        }
+        this.build = m[5] ? m[5].split(".") : [];
+        this.format();
+      }
+      format() {
+        this.version = `${this.major}.${this.minor}.${this.patch}`;
+        if (this.prerelease.length) {
+          this.version += `-${this.prerelease.join(".")}`;
+        }
+        return this.version;
+      }
+      toString() {
+        return this.version;
+      }
+      compare(other) {
+        debug4("SemVer.compare", this.version, this.options, other);
+        if (!(other instanceof _SemVer)) {
+          if (typeof other === "string" && other === this.version) {
+            return 0;
+          }
+          other = new _SemVer(other, this.options);
+        }
+        if (other.version === this.version) {
+          return 0;
+        }
+        return this.compareMain(other) || this.comparePre(other);
+      }
+      compareMain(other) {
+        if (!(other instanceof _SemVer)) {
+          other = new _SemVer(other, this.options);
+        }
+        if (this.major < other.major) {
+          return -1;
+        }
+        if (this.major > other.major) {
+          return 1;
+        }
+        if (this.minor < other.minor) {
+          return -1;
+        }
+        if (this.minor > other.minor) {
+          return 1;
+        }
+        if (this.patch < other.patch) {
+          return -1;
+        }
+        if (this.patch > other.patch) {
+          return 1;
+        }
+        return 0;
+      }
+      comparePre(other) {
+        if (!(other instanceof _SemVer)) {
+          other = new _SemVer(other, this.options);
+        }
+        if (this.prerelease.length && !other.prerelease.length) {
+          return -1;
+        } else if (!this.prerelease.length && other.prerelease.length) {
+          return 1;
+        } else if (!this.prerelease.length && !other.prerelease.length) {
+          return 0;
+        }
+        let i = 0;
+        do {
+          const a = this.prerelease[i];
+          const b = other.prerelease[i];
+          debug4("prerelease compare", i, a, b);
+          if (a === void 0 && b === void 0) {
+            return 0;
+          } else if (b === void 0) {
+            return 1;
+          } else if (a === void 0) {
+            return -1;
+          } else if (a === b) {
+            continue;
+          } else {
+            return compareIdentifiers(a, b);
+          }
+        } while (++i);
+      }
+      compareBuild(other) {
+        if (!(other instanceof _SemVer)) {
+          other = new _SemVer(other, this.options);
+        }
+        let i = 0;
+        do {
+          const a = this.build[i];
+          const b = other.build[i];
+          debug4("build compare", i, a, b);
+          if (a === void 0 && b === void 0) {
+            return 0;
+          } else if (b === void 0) {
+            return 1;
+          } else if (a === void 0) {
+            return -1;
+          } else if (a === b) {
+            continue;
+          } else {
+            return compareIdentifiers(a, b);
+          }
+        } while (++i);
+      }
+      // preminor will bump the version up to the next minor release, and immediately
+      // down to pre-release. premajor and prepatch work the same way.
+      inc(release, identifier, identifierBase) {
+        if (release.startsWith("pre")) {
+          if (!identifier && identifierBase === false) {
+            throw new Error("invalid increment argument: identifier is empty");
+          }
+          if (identifier) {
+            const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE]);
+            if (!match || match[1] !== identifier) {
+              throw new Error(`invalid identifier: ${identifier}`);
+            }
+          }
+        }
+        switch (release) {
+          case "premajor":
+            this.prerelease.length = 0;
+            this.patch = 0;
+            this.minor = 0;
+            this.major++;
+            this.inc("pre", identifier, identifierBase);
+            break;
+          case "preminor":
+            this.prerelease.length = 0;
+            this.patch = 0;
+            this.minor++;
+            this.inc("pre", identifier, identifierBase);
+            break;
+          case "prepatch":
+            this.prerelease.length = 0;
+            this.inc("patch", identifier, identifierBase);
+            this.inc("pre", identifier, identifierBase);
+            break;
+          // If the input is a non-prerelease version, this acts the same as
+          // prepatch.
+          case "prerelease":
+            if (this.prerelease.length === 0) {
+              this.inc("patch", identifier, identifierBase);
+            }
+            this.inc("pre", identifier, identifierBase);
+            break;
+          case "release":
+            if (this.prerelease.length === 0) {
+              throw new Error(`version ${this.raw} is not a prerelease`);
+            }
+            this.prerelease.length = 0;
+            break;
+          case "major":
+            if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
+              this.major++;
+            }
+            this.minor = 0;
+            this.patch = 0;
+            this.prerelease = [];
+            break;
+          case "minor":
+            if (this.patch !== 0 || this.prerelease.length === 0) {
+              this.minor++;
+            }
+            this.patch = 0;
+            this.prerelease = [];
+            break;
+          case "patch":
+            if (this.prerelease.length === 0) {
+              this.patch++;
+            }
+            this.prerelease = [];
+            break;
+          // This probably shouldn't be used publicly.
+          // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.
+          case "pre": {
+            const base = Number(identifierBase) ? 1 : 0;
+            if (this.prerelease.length === 0) {
+              this.prerelease = [base];
+            } else {
+              let i = this.prerelease.length;
+              while (--i >= 0) {
+                if (typeof this.prerelease[i] === "number") {
+                  this.prerelease[i]++;
+                  i = -2;
+                }
+              }
+              if (i === -1) {
+                if (identifier === this.prerelease.join(".") && identifierBase === false) {
+                  throw new Error("invalid increment argument: identifier already exists");
+                }
+                this.prerelease.push(base);
+              }
+            }
+            if (identifier) {
+              let prerelease = [identifier, base];
+              if (identifierBase === false) {
+                prerelease = [identifier];
+              }
+              if (compareIdentifiers(this.prerelease[0], identifier) === 0) {
+                if (isNaN(this.prerelease[1])) {
+                  this.prerelease = prerelease;
+                }
+              } else {
+                this.prerelease = prerelease;
+              }
+            }
+            break;
+          }
+          default:
+            throw new Error(`invalid increment argument: ${release}`);
+        }
+        this.raw = this.format();
+        if (this.build.length) {
+          this.raw += `+${this.build.join(".")}`;
+        }
+        return this;
+      }
+    };
+    module2.exports = SemVer;
+  }
+});
+
+// node_modules/semver/functions/parse.js
+var require_parse3 = __commonJS({
+  "node_modules/semver/functions/parse.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var parse2 = (version, options, throwErrors = false) => {
+      if (version instanceof SemVer) {
+        return version;
+      }
+      try {
+        return new SemVer(version, options);
+      } catch (er) {
+        if (!throwErrors) {
+          return null;
+        }
+        throw er;
+      }
+    };
+    module2.exports = parse2;
+  }
+});
+
+// node_modules/semver/functions/valid.js
+var require_valid = __commonJS({
+  "node_modules/semver/functions/valid.js"(exports2, module2) {
+    "use strict";
+    var parse2 = require_parse3();
+    var valid3 = (version, options) => {
+      const v = parse2(version, options);
+      return v ? v.version : null;
+    };
+    module2.exports = valid3;
+  }
+});
+
+// node_modules/semver/functions/clean.js
+var require_clean = __commonJS({
+  "node_modules/semver/functions/clean.js"(exports2, module2) {
+    "use strict";
+    var parse2 = require_parse3();
+    var clean3 = (version, options) => {
+      const s = parse2(version.trim().replace(/^[=v]+/, ""), options);
+      return s ? s.version : null;
+    };
+    module2.exports = clean3;
+  }
+});
+
+// node_modules/semver/functions/inc.js
+var require_inc = __commonJS({
+  "node_modules/semver/functions/inc.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var inc = (version, release, options, identifier, identifierBase) => {
+      if (typeof options === "string") {
+        identifierBase = identifier;
+        identifier = options;
+        options = void 0;
+      }
+      try {
+        return new SemVer(
+          version instanceof SemVer ? version.version : version,
+          options
+        ).inc(release, identifier, identifierBase).version;
+      } catch (er) {
+        return null;
+      }
+    };
+    module2.exports = inc;
+  }
+});
+
+// node_modules/semver/functions/diff.js
+var require_diff = __commonJS({
+  "node_modules/semver/functions/diff.js"(exports2, module2) {
+    "use strict";
+    var parse2 = require_parse3();
+    var diff = (version1, version2) => {
+      const v1 = parse2(version1, null, true);
+      const v2 = parse2(version2, null, true);
+      const comparison = v1.compare(v2);
+      if (comparison === 0) {
+        return null;
+      }
+      const v1Higher = comparison > 0;
+      const highVersion = v1Higher ? v1 : v2;
+      const lowVersion = v1Higher ? v2 : v1;
+      const highHasPre = !!highVersion.prerelease.length;
+      const lowHasPre = !!lowVersion.prerelease.length;
+      if (lowHasPre && !highHasPre) {
+        if (!lowVersion.patch && !lowVersion.minor) {
+          return "major";
+        }
+        if (lowVersion.compareMain(highVersion) === 0) {
+          if (lowVersion.minor && !lowVersion.patch) {
+            return "minor";
+          }
+          return "patch";
+        }
+      }
+      const prefix = highHasPre ? "pre" : "";
+      if (v1.major !== v2.major) {
+        return prefix + "major";
+      }
+      if (v1.minor !== v2.minor) {
+        return prefix + "minor";
+      }
+      if (v1.patch !== v2.patch) {
+        return prefix + "patch";
+      }
+      return "prerelease";
+    };
+    module2.exports = diff;
+  }
+});
+
+// node_modules/semver/functions/major.js
+var require_major = __commonJS({
+  "node_modules/semver/functions/major.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var major = (a, loose) => new SemVer(a, loose).major;
+    module2.exports = major;
+  }
+});
+
+// node_modules/semver/functions/minor.js
+var require_minor = __commonJS({
+  "node_modules/semver/functions/minor.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var minor = (a, loose) => new SemVer(a, loose).minor;
+    module2.exports = minor;
+  }
+});
+
+// node_modules/semver/functions/patch.js
+var require_patch = __commonJS({
+  "node_modules/semver/functions/patch.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var patch = (a, loose) => new SemVer(a, loose).patch;
+    module2.exports = patch;
+  }
+});
+
+// node_modules/semver/functions/prerelease.js
+var require_prerelease = __commonJS({
+  "node_modules/semver/functions/prerelease.js"(exports2, module2) {
+    "use strict";
+    var parse2 = require_parse3();
+    var prerelease = (version, options) => {
+      const parsed = parse2(version, options);
+      return parsed && parsed.prerelease.length ? parsed.prerelease : null;
+    };
+    module2.exports = prerelease;
+  }
+});
+
+// node_modules/semver/functions/compare.js
+var require_compare = __commonJS({
+  "node_modules/semver/functions/compare.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var compare2 = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose));
+    module2.exports = compare2;
+  }
+});
+
+// node_modules/semver/functions/rcompare.js
+var require_rcompare = __commonJS({
+  "node_modules/semver/functions/rcompare.js"(exports2, module2) {
+    "use strict";
+    var compare2 = require_compare();
+    var rcompare = (a, b, loose) => compare2(b, a, loose);
+    module2.exports = rcompare;
+  }
+});
+
+// node_modules/semver/functions/compare-loose.js
+var require_compare_loose = __commonJS({
+  "node_modules/semver/functions/compare-loose.js"(exports2, module2) {
+    "use strict";
+    var compare2 = require_compare();
+    var compareLoose = (a, b) => compare2(a, b, true);
+    module2.exports = compareLoose;
+  }
+});
+
+// node_modules/semver/functions/compare-build.js
+var require_compare_build = __commonJS({
+  "node_modules/semver/functions/compare-build.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var compareBuild = (a, b, loose) => {
+      const versionA = new SemVer(a, loose);
+      const versionB = new SemVer(b, loose);
+      return versionA.compare(versionB) || versionA.compareBuild(versionB);
+    };
+    module2.exports = compareBuild;
+  }
+});
+
+// node_modules/semver/functions/sort.js
+var require_sort = __commonJS({
+  "node_modules/semver/functions/sort.js"(exports2, module2) {
+    "use strict";
+    var compareBuild = require_compare_build();
+    var sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose));
+    module2.exports = sort;
+  }
+});
+
+// node_modules/semver/functions/rsort.js
+var require_rsort = __commonJS({
+  "node_modules/semver/functions/rsort.js"(exports2, module2) {
+    "use strict";
+    var compareBuild = require_compare_build();
+    var rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose));
+    module2.exports = rsort;
+  }
+});
+
+// node_modules/semver/functions/gt.js
+var require_gt = __commonJS({
+  "node_modules/semver/functions/gt.js"(exports2, module2) {
+    "use strict";
+    var compare2 = require_compare();
+    var gt = (a, b, loose) => compare2(a, b, loose) > 0;
+    module2.exports = gt;
+  }
+});
+
+// node_modules/semver/functions/lt.js
+var require_lt = __commonJS({
+  "node_modules/semver/functions/lt.js"(exports2, module2) {
+    "use strict";
+    var compare2 = require_compare();
+    var lt = (a, b, loose) => compare2(a, b, loose) < 0;
+    module2.exports = lt;
+  }
+});
+
+// node_modules/semver/functions/eq.js
+var require_eq = __commonJS({
+  "node_modules/semver/functions/eq.js"(exports2, module2) {
+    "use strict";
+    var compare2 = require_compare();
+    var eq = (a, b, loose) => compare2(a, b, loose) === 0;
+    module2.exports = eq;
+  }
+});
+
+// node_modules/semver/functions/neq.js
+var require_neq = __commonJS({
+  "node_modules/semver/functions/neq.js"(exports2, module2) {
+    "use strict";
+    var compare2 = require_compare();
+    var neq = (a, b, loose) => compare2(a, b, loose) !== 0;
+    module2.exports = neq;
+  }
+});
+
+// node_modules/semver/functions/gte.js
+var require_gte = __commonJS({
+  "node_modules/semver/functions/gte.js"(exports2, module2) {
+    "use strict";
+    var compare2 = require_compare();
+    var gte6 = (a, b, loose) => compare2(a, b, loose) >= 0;
+    module2.exports = gte6;
+  }
+});
+
+// node_modules/semver/functions/lte.js
+var require_lte = __commonJS({
+  "node_modules/semver/functions/lte.js"(exports2, module2) {
+    "use strict";
+    var compare2 = require_compare();
+    var lte = (a, b, loose) => compare2(a, b, loose) <= 0;
+    module2.exports = lte;
+  }
+});
+
+// node_modules/semver/functions/cmp.js
+var require_cmp = __commonJS({
+  "node_modules/semver/functions/cmp.js"(exports2, module2) {
+    "use strict";
+    var eq = require_eq();
+    var neq = require_neq();
+    var gt = require_gt();
+    var gte6 = require_gte();
+    var lt = require_lt();
+    var lte = require_lte();
+    var cmp = (a, op, b, loose) => {
+      switch (op) {
+        case "===":
+          if (typeof a === "object") {
+            a = a.version;
+          }
+          if (typeof b === "object") {
+            b = b.version;
+          }
+          return a === b;
+        case "!==":
+          if (typeof a === "object") {
+            a = a.version;
+          }
+          if (typeof b === "object") {
+            b = b.version;
+          }
+          return a !== b;
+        case "":
+        case "=":
+        case "==":
+          return eq(a, b, loose);
+        case "!=":
+          return neq(a, b, loose);
+        case ">":
+          return gt(a, b, loose);
+        case ">=":
+          return gte6(a, b, loose);
+        case "<":
+          return lt(a, b, loose);
+        case "<=":
+          return lte(a, b, loose);
+        default:
+          throw new TypeError(`Invalid operator: ${op}`);
+      }
+    };
+    module2.exports = cmp;
+  }
+});
+
+// node_modules/semver/functions/coerce.js
+var require_coerce = __commonJS({
+  "node_modules/semver/functions/coerce.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var parse2 = require_parse3();
+    var { safeRe: re, t } = require_re();
+    var coerce3 = (version, options) => {
+      if (version instanceof SemVer) {
+        return version;
+      }
+      if (typeof version === "number") {
+        version = String(version);
+      }
+      if (typeof version !== "string") {
+        return null;
+      }
+      options = options || {};
+      let match = null;
+      if (!options.rtl) {
+        match = version.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE]);
+      } else {
+        const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL];
+        let next;
+        while ((next = coerceRtlRegex.exec(version)) && (!match || match.index + match[0].length !== version.length)) {
+          if (!match || next.index + next[0].length !== match.index + match[0].length) {
+            match = next;
+          }
+          coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length;
+        }
+        coerceRtlRegex.lastIndex = -1;
+      }
+      if (match === null) {
+        return null;
+      }
+      const major = match[2];
+      const minor = match[3] || "0";
+      const patch = match[4] || "0";
+      const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : "";
+      const build = options.includePrerelease && match[6] ? `+${match[6]}` : "";
+      return parse2(`${major}.${minor}.${patch}${prerelease}${build}`, options);
+    };
+    module2.exports = coerce3;
+  }
+});
+
+// node_modules/semver/internal/lrucache.js
+var require_lrucache = __commonJS({
+  "node_modules/semver/internal/lrucache.js"(exports2, module2) {
+    "use strict";
+    var LRUCache = class {
+      constructor() {
+        this.max = 1e3;
+        this.map = /* @__PURE__ */ new Map();
+      }
+      get(key) {
+        const value = this.map.get(key);
+        if (value === void 0) {
+          return void 0;
+        } else {
+          this.map.delete(key);
+          this.map.set(key, value);
+          return value;
+        }
+      }
+      delete(key) {
+        return this.map.delete(key);
+      }
+      set(key, value) {
+        const deleted = this.delete(key);
+        if (!deleted && value !== void 0) {
+          if (this.map.size >= this.max) {
+            const firstKey = this.map.keys().next().value;
+            this.delete(firstKey);
+          }
+          this.map.set(key, value);
+        }
+        return this;
+      }
+    };
+    module2.exports = LRUCache;
+  }
+});
+
+// node_modules/semver/classes/range.js
+var require_range = __commonJS({
+  "node_modules/semver/classes/range.js"(exports2, module2) {
+    "use strict";
+    var SPACE_CHARACTERS = /\s+/g;
+    var Range2 = class _Range {
+      constructor(range, options) {
+        options = parseOptions(options);
+        if (range instanceof _Range) {
+          if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
+            return range;
+          } else {
+            return new _Range(range.raw, options);
+          }
+        }
+        if (range instanceof Comparator) {
+          this.raw = range.value;
+          this.set = [[range]];
+          this.formatted = void 0;
+          return this;
+        }
+        this.options = options;
+        this.loose = !!options.loose;
+        this.includePrerelease = !!options.includePrerelease;
+        this.raw = range.trim().replace(SPACE_CHARACTERS, " ");
+        this.set = this.raw.split("||").map((r) => this.parseRange(r.trim())).filter((c) => c.length);
+        if (!this.set.length) {
+          throw new TypeError(`Invalid SemVer Range: ${this.raw}`);
+        }
+        if (this.set.length > 1) {
+          const first = this.set[0];
+          this.set = this.set.filter((c) => !isNullSet(c[0]));
+          if (this.set.length === 0) {
+            this.set = [first];
+          } else if (this.set.length > 1) {
+            for (const c of this.set) {
+              if (c.length === 1 && isAny(c[0])) {
+                this.set = [c];
+                break;
+              }
+            }
+          }
+        }
+        this.formatted = void 0;
+      }
+      get range() {
+        if (this.formatted === void 0) {
+          this.formatted = "";
+          for (let i = 0; i < this.set.length; i++) {
+            if (i > 0) {
+              this.formatted += "||";
+            }
+            const comps = this.set[i];
+            for (let k = 0; k < comps.length; k++) {
+              if (k > 0) {
+                this.formatted += " ";
+              }
+              this.formatted += comps[k].toString().trim();
+            }
+          }
+        }
+        return this.formatted;
+      }
+      format() {
+        return this.range;
+      }
+      toString() {
+        return this.range;
+      }
+      parseRange(range) {
+        const memoOpts = (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | (this.options.loose && FLAG_LOOSE);
+        const memoKey = memoOpts + ":" + range;
+        const cached = cache.get(memoKey);
+        if (cached) {
+          return cached;
+        }
+        const loose = this.options.loose;
+        const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE];
+        range = range.replace(hr, hyphenReplace(this.options.includePrerelease));
+        debug4("hyphen replace", range);
+        range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace);
+        debug4("comparator trim", range);
+        range = range.replace(re[t.TILDETRIM], tildeTrimReplace);
+        debug4("tilde trim", range);
+        range = range.replace(re[t.CARETTRIM], caretTrimReplace);
+        debug4("caret trim", range);
+        let rangeList = range.split(" ").map((comp) => parseComparator(comp, this.options)).join(" ").split(/\s+/).map((comp) => replaceGTE0(comp, this.options));
+        if (loose) {
+          rangeList = rangeList.filter((comp) => {
+            debug4("loose invalid filter", comp, this.options);
+            return !!comp.match(re[t.COMPARATORLOOSE]);
+          });
+        }
+        debug4("range list", rangeList);
+        const rangeMap = /* @__PURE__ */ new Map();
+        const comparators = rangeList.map((comp) => new Comparator(comp, this.options));
+        for (const comp of comparators) {
+          if (isNullSet(comp)) {
+            return [comp];
+          }
+          rangeMap.set(comp.value, comp);
+        }
+        if (rangeMap.size > 1 && rangeMap.has("")) {
+          rangeMap.delete("");
+        }
+        const result = [...rangeMap.values()];
+        cache.set(memoKey, result);
+        return result;
+      }
+      intersects(range, options) {
+        if (!(range instanceof _Range)) {
+          throw new TypeError("a Range is required");
+        }
+        return this.set.some((thisComparators) => {
+          return isSatisfiable(thisComparators, options) && range.set.some((rangeComparators) => {
+            return isSatisfiable(rangeComparators, options) && thisComparators.every((thisComparator) => {
+              return rangeComparators.every((rangeComparator) => {
+                return thisComparator.intersects(rangeComparator, options);
+              });
+            });
+          });
+        });
+      }
+      // if ANY of the sets match ALL of its comparators, then pass
+      test(version) {
+        if (!version) {
+          return false;
+        }
+        if (typeof version === "string") {
+          try {
+            version = new SemVer(version, this.options);
+          } catch (er) {
+            return false;
+          }
+        }
+        for (let i = 0; i < this.set.length; i++) {
+          if (testSet(this.set[i], version, this.options)) {
+            return true;
+          }
+        }
+        return false;
+      }
+    };
+    module2.exports = Range2;
+    var LRU = require_lrucache();
+    var cache = new LRU();
+    var parseOptions = require_parse_options();
+    var Comparator = require_comparator();
+    var debug4 = require_debug();
+    var SemVer = require_semver();
+    var {
+      safeRe: re,
+      t,
+      comparatorTrimReplace,
+      tildeTrimReplace,
+      caretTrimReplace
+    } = require_re();
+    var { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require_constants11();
+    var isNullSet = (c) => c.value === "<0.0.0-0";
+    var isAny = (c) => c.value === "";
+    var isSatisfiable = (comparators, options) => {
+      let result = true;
+      const remainingComparators = comparators.slice();
+      let testComparator = remainingComparators.pop();
+      while (result && remainingComparators.length) {
+        result = remainingComparators.every((otherComparator) => {
+          return testComparator.intersects(otherComparator, options);
+        });
+        testComparator = remainingComparators.pop();
+      }
+      return result;
+    };
+    var parseComparator = (comp, options) => {
+      comp = comp.replace(re[t.BUILD], "");
+      debug4("comp", comp, options);
+      comp = replaceCarets(comp, options);
+      debug4("caret", comp);
+      comp = replaceTildes(comp, options);
+      debug4("tildes", comp);
+      comp = replaceXRanges(comp, options);
+      debug4("xrange", comp);
+      comp = replaceStars(comp, options);
+      debug4("stars", comp);
+      return comp;
+    };
+    var isX = (id) => !id || id.toLowerCase() === "x" || id === "*";
+    var replaceTildes = (comp, options) => {
+      return comp.trim().split(/\s+/).map((c) => replaceTilde(c, options)).join(" ");
+    };
+    var replaceTilde = (comp, options) => {
+      const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
+      return comp.replace(r, (_2, M, m, p, pr) => {
+        debug4("tilde", comp, _2, M, m, p, pr);
+        let ret;
+        if (isX(M)) {
+          ret = "";
+        } else if (isX(m)) {
+          ret = `>=${M}.0.0 <${+M + 1}.0.0-0`;
+        } else if (isX(p)) {
+          ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`;
+        } else if (pr) {
+          debug4("replaceTilde pr", pr);
+          ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
+        } else {
+          ret = `>=${M}.${m}.${p} <${M}.${+m + 1}.0-0`;
+        }
+        debug4("tilde return", ret);
+        return ret;
+      });
+    };
+    var replaceCarets = (comp, options) => {
+      return comp.trim().split(/\s+/).map((c) => replaceCaret(c, options)).join(" ");
+    };
+    var replaceCaret = (comp, options) => {
+      debug4("caret", comp, options);
+      const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET];
+      const z = options.includePrerelease ? "-0" : "";
+      return comp.replace(r, (_2, M, m, p, pr) => {
+        debug4("caret", comp, _2, M, m, p, pr);
+        let ret;
+        if (isX(M)) {
+          ret = "";
+        } else if (isX(m)) {
+          ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`;
+        } else if (isX(p)) {
+          if (M === "0") {
+            ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`;
+          } else {
+            ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`;
+          }
+        } else if (pr) {
+          debug4("replaceCaret pr", pr);
+          if (M === "0") {
+            if (m === "0") {
+              ret = `>=${M}.${m}.${p}-${pr} <${M}.${m}.${+p + 1}-0`;
+            } else {
+              ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
+            }
+          } else {
+            ret = `>=${M}.${m}.${p}-${pr} <${+M + 1}.0.0-0`;
+          }
+        } else {
+          debug4("no pr");
+          if (M === "0") {
+            if (m === "0") {
+              ret = `>=${M}.${m}.${p}${z} <${M}.${m}.${+p + 1}-0`;
+            } else {
+              ret = `>=${M}.${m}.${p}${z} <${M}.${+m + 1}.0-0`;
+            }
+          } else {
+            ret = `>=${M}.${m}.${p} <${+M + 1}.0.0-0`;
+          }
+        }
+        debug4("caret return", ret);
+        return ret;
+      });
+    };
+    var replaceXRanges = (comp, options) => {
+      debug4("replaceXRanges", comp, options);
+      return comp.split(/\s+/).map((c) => replaceXRange(c, options)).join(" ");
+    };
+    var replaceXRange = (comp, options) => {
+      comp = comp.trim();
+      const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
+      return comp.replace(r, (ret, gtlt, M, m, p, pr) => {
+        debug4("xRange", comp, ret, gtlt, M, m, p, pr);
+        const xM = isX(M);
+        const xm = xM || isX(m);
+        const xp = xm || isX(p);
+        const anyX = xp;
+        if (gtlt === "=" && anyX) {
+          gtlt = "";
+        }
+        pr = options.includePrerelease ? "-0" : "";
+        if (xM) {
+          if (gtlt === ">" || gtlt === "<") {
+            ret = "<0.0.0-0";
+          } else {
+            ret = "*";
+          }
+        } else if (gtlt && anyX) {
+          if (xm) {
+            m = 0;
+          }
+          p = 0;
+          if (gtlt === ">") {
+            gtlt = ">=";
+            if (xm) {
+              M = +M + 1;
+              m = 0;
+              p = 0;
+            } else {
+              m = +m + 1;
+              p = 0;
+            }
+          } else if (gtlt === "<=") {
+            gtlt = "<";
+            if (xm) {
+              M = +M + 1;
+            } else {
+              m = +m + 1;
+            }
+          }
+          if (gtlt === "<") {
+            pr = "-0";
+          }
+          ret = `${gtlt + M}.${m}.${p}${pr}`;
+        } else if (xm) {
+          ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`;
+        } else if (xp) {
+          ret = `>=${M}.${m}.0${pr} <${M}.${+m + 1}.0-0`;
+        }
+        debug4("xRange return", ret);
+        return ret;
+      });
+    };
+    var replaceStars = (comp, options) => {
+      debug4("replaceStars", comp, options);
+      return comp.trim().replace(re[t.STAR], "");
+    };
+    var replaceGTE0 = (comp, options) => {
+      debug4("replaceGTE0", comp, options);
+      return comp.trim().replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], "");
+    };
+    var hyphenReplace = (incPr) => ($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr) => {
+      if (isX(fM)) {
+        from = "";
+      } else if (isX(fm)) {
+        from = `>=${fM}.0.0${incPr ? "-0" : ""}`;
+      } else if (isX(fp)) {
+        from = `>=${fM}.${fm}.0${incPr ? "-0" : ""}`;
+      } else if (fpr) {
+        from = `>=${from}`;
+      } else {
+        from = `>=${from}${incPr ? "-0" : ""}`;
+      }
+      if (isX(tM)) {
+        to = "";
+      } else if (isX(tm)) {
+        to = `<${+tM + 1}.0.0-0`;
+      } else if (isX(tp)) {
+        to = `<${tM}.${+tm + 1}.0-0`;
+      } else if (tpr) {
+        to = `<=${tM}.${tm}.${tp}-${tpr}`;
+      } else if (incPr) {
+        to = `<${tM}.${tm}.${+tp + 1}-0`;
+      } else {
+        to = `<=${to}`;
+      }
+      return `${from} ${to}`.trim();
+    };
+    var testSet = (set2, version, options) => {
+      for (let i = 0; i < set2.length; i++) {
+        if (!set2[i].test(version)) {
+          return false;
+        }
+      }
+      if (version.prerelease.length && !options.includePrerelease) {
+        for (let i = 0; i < set2.length; i++) {
+          debug4(set2[i].semver);
+          if (set2[i].semver === Comparator.ANY) {
+            continue;
+          }
+          if (set2[i].semver.prerelease.length > 0) {
+            const allowed = set2[i].semver;
+            if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) {
+              return true;
+            }
+          }
+        }
+        return false;
+      }
+      return true;
+    };
+  }
+});
+
+// node_modules/semver/classes/comparator.js
+var require_comparator = __commonJS({
+  "node_modules/semver/classes/comparator.js"(exports2, module2) {
+    "use strict";
+    var ANY = /* @__PURE__ */ Symbol("SemVer ANY");
+    var Comparator = class _Comparator {
+      static get ANY() {
+        return ANY;
+      }
+      constructor(comp, options) {
+        options = parseOptions(options);
+        if (comp instanceof _Comparator) {
+          if (comp.loose === !!options.loose) {
+            return comp;
+          } else {
+            comp = comp.value;
+          }
+        }
+        comp = comp.trim().split(/\s+/).join(" ");
+        debug4("comparator", comp, options);
+        this.options = options;
+        this.loose = !!options.loose;
+        this.parse(comp);
+        if (this.semver === ANY) {
+          this.value = "";
+        } else {
+          this.value = this.operator + this.semver.version;
+        }
+        debug4("comp", this);
+      }
+      parse(comp) {
+        const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
+        const m = comp.match(r);
+        if (!m) {
+          throw new TypeError(`Invalid comparator: ${comp}`);
+        }
+        this.operator = m[1] !== void 0 ? m[1] : "";
+        if (this.operator === "=") {
+          this.operator = "";
+        }
+        if (!m[2]) {
+          this.semver = ANY;
+        } else {
+          this.semver = new SemVer(m[2], this.options.loose);
+        }
+      }
+      toString() {
+        return this.value;
+      }
+      test(version) {
+        debug4("Comparator.test", version, this.options.loose);
+        if (this.semver === ANY || version === ANY) {
+          return true;
+        }
+        if (typeof version === "string") {
+          try {
+            version = new SemVer(version, this.options);
+          } catch (er) {
+            return false;
+          }
+        }
+        return cmp(version, this.operator, this.semver, this.options);
+      }
+      intersects(comp, options) {
+        if (!(comp instanceof _Comparator)) {
+          throw new TypeError("a Comparator is required");
+        }
+        if (this.operator === "") {
+          if (this.value === "") {
+            return true;
+          }
+          return new Range2(comp.value, options).test(this.value);
+        } else if (comp.operator === "") {
+          if (comp.value === "") {
+            return true;
+          }
+          return new Range2(this.value, options).test(comp.semver);
+        }
+        options = parseOptions(options);
+        if (options.includePrerelease && (this.value === "<0.0.0-0" || comp.value === "<0.0.0-0")) {
+          return false;
+        }
+        if (!options.includePrerelease && (this.value.startsWith("<0.0.0") || comp.value.startsWith("<0.0.0"))) {
+          return false;
+        }
+        if (this.operator.startsWith(">") && comp.operator.startsWith(">")) {
+          return true;
+        }
+        if (this.operator.startsWith("<") && comp.operator.startsWith("<")) {
+          return true;
+        }
+        if (this.semver.version === comp.semver.version && this.operator.includes("=") && comp.operator.includes("=")) {
+          return true;
+        }
+        if (cmp(this.semver, "<", comp.semver, options) && this.operator.startsWith(">") && comp.operator.startsWith("<")) {
+          return true;
+        }
+        if (cmp(this.semver, ">", comp.semver, options) && this.operator.startsWith("<") && comp.operator.startsWith(">")) {
+          return true;
+        }
+        return false;
+      }
+    };
+    module2.exports = Comparator;
+    var parseOptions = require_parse_options();
+    var { safeRe: re, t } = require_re();
+    var cmp = require_cmp();
+    var debug4 = require_debug();
+    var SemVer = require_semver();
+    var Range2 = require_range();
+  }
+});
+
+// node_modules/semver/functions/satisfies.js
+var require_satisfies = __commonJS({
+  "node_modules/semver/functions/satisfies.js"(exports2, module2) {
+    "use strict";
+    var Range2 = require_range();
+    var satisfies2 = (version, range, options) => {
+      try {
+        range = new Range2(range, options);
+      } catch (er) {
+        return false;
+      }
+      return range.test(version);
+    };
+    module2.exports = satisfies2;
+  }
+});
+
+// node_modules/semver/ranges/to-comparators.js
+var require_to_comparators = __commonJS({
+  "node_modules/semver/ranges/to-comparators.js"(exports2, module2) {
+    "use strict";
+    var Range2 = require_range();
+    var toComparators = (range, options) => new Range2(range, options).set.map((comp) => comp.map((c) => c.value).join(" ").trim().split(" "));
+    module2.exports = toComparators;
+  }
+});
+
+// node_modules/semver/ranges/max-satisfying.js
+var require_max_satisfying = __commonJS({
+  "node_modules/semver/ranges/max-satisfying.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var Range2 = require_range();
+    var maxSatisfying = (versions, range, options) => {
+      let max = null;
+      let maxSV = null;
+      let rangeObj = null;
+      try {
+        rangeObj = new Range2(range, options);
+      } catch (er) {
+        return null;
+      }
+      versions.forEach((v) => {
+        if (rangeObj.test(v)) {
+          if (!max || maxSV.compare(v) === -1) {
+            max = v;
+            maxSV = new SemVer(max, options);
+          }
+        }
+      });
+      return max;
+    };
+    module2.exports = maxSatisfying;
+  }
+});
+
+// node_modules/semver/ranges/min-satisfying.js
+var require_min_satisfying = __commonJS({
+  "node_modules/semver/ranges/min-satisfying.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var Range2 = require_range();
+    var minSatisfying = (versions, range, options) => {
+      let min = null;
+      let minSV = null;
+      let rangeObj = null;
+      try {
+        rangeObj = new Range2(range, options);
+      } catch (er) {
+        return null;
+      }
+      versions.forEach((v) => {
+        if (rangeObj.test(v)) {
+          if (!min || minSV.compare(v) === 1) {
+            min = v;
+            minSV = new SemVer(min, options);
+          }
+        }
+      });
+      return min;
+    };
+    module2.exports = minSatisfying;
+  }
+});
+
+// node_modules/semver/ranges/min-version.js
+var require_min_version = __commonJS({
+  "node_modules/semver/ranges/min-version.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var Range2 = require_range();
+    var gt = require_gt();
+    var minVersion = (range, loose) => {
+      range = new Range2(range, loose);
+      let minver = new SemVer("0.0.0");
+      if (range.test(minver)) {
+        return minver;
+      }
+      minver = new SemVer("0.0.0-0");
+      if (range.test(minver)) {
+        return minver;
+      }
+      minver = null;
+      for (let i = 0; i < range.set.length; ++i) {
+        const comparators = range.set[i];
+        let setMin = null;
+        comparators.forEach((comparator) => {
+          const compver = new SemVer(comparator.semver.version);
+          switch (comparator.operator) {
+            case ">":
+              if (compver.prerelease.length === 0) {
+                compver.patch++;
+              } else {
+                compver.prerelease.push(0);
+              }
+              compver.raw = compver.format();
+            /* fallthrough */
+            case "":
+            case ">=":
+              if (!setMin || gt(compver, setMin)) {
+                setMin = compver;
+              }
+              break;
+            case "<":
+            case "<=":
+              break;
+            /* istanbul ignore next */
+            default:
+              throw new Error(`Unexpected operation: ${comparator.operator}`);
+          }
+        });
+        if (setMin && (!minver || gt(minver, setMin))) {
+          minver = setMin;
+        }
+      }
+      if (minver && range.test(minver)) {
+        return minver;
+      }
+      return null;
+    };
+    module2.exports = minVersion;
+  }
+});
+
+// node_modules/semver/ranges/valid.js
+var require_valid2 = __commonJS({
+  "node_modules/semver/ranges/valid.js"(exports2, module2) {
+    "use strict";
+    var Range2 = require_range();
+    var validRange = (range, options) => {
+      try {
+        return new Range2(range, options).range || "*";
+      } catch (er) {
+        return null;
+      }
+    };
+    module2.exports = validRange;
+  }
+});
+
+// node_modules/semver/ranges/outside.js
+var require_outside = __commonJS({
+  "node_modules/semver/ranges/outside.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var Comparator = require_comparator();
+    var { ANY } = Comparator;
+    var Range2 = require_range();
+    var satisfies2 = require_satisfies();
+    var gt = require_gt();
+    var lt = require_lt();
+    var lte = require_lte();
+    var gte6 = require_gte();
+    var outside = (version, range, hilo, options) => {
+      version = new SemVer(version, options);
+      range = new Range2(range, options);
+      let gtfn, ltefn, ltfn, comp, ecomp;
+      switch (hilo) {
+        case ">":
+          gtfn = gt;
+          ltefn = lte;
+          ltfn = lt;
+          comp = ">";
+          ecomp = ">=";
+          break;
+        case "<":
+          gtfn = lt;
+          ltefn = gte6;
+          ltfn = gt;
+          comp = "<";
+          ecomp = "<=";
+          break;
+        default:
+          throw new TypeError('Must provide a hilo val of "<" or ">"');
+      }
+      if (satisfies2(version, range, options)) {
+        return false;
+      }
+      for (let i = 0; i < range.set.length; ++i) {
+        const comparators = range.set[i];
+        let high = null;
+        let low = null;
+        comparators.forEach((comparator) => {
+          if (comparator.semver === ANY) {
+            comparator = new Comparator(">=0.0.0");
+          }
+          high = high || comparator;
+          low = low || comparator;
+          if (gtfn(comparator.semver, high.semver, options)) {
+            high = comparator;
+          } else if (ltfn(comparator.semver, low.semver, options)) {
+            low = comparator;
+          }
+        });
+        if (high.operator === comp || high.operator === ecomp) {
+          return false;
+        }
+        if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) {
+          return false;
+        } else if (low.operator === ecomp && ltfn(version, low.semver)) {
+          return false;
+        }
+      }
+      return true;
+    };
+    module2.exports = outside;
+  }
+});
+
+// node_modules/semver/ranges/gtr.js
+var require_gtr = __commonJS({
+  "node_modules/semver/ranges/gtr.js"(exports2, module2) {
+    "use strict";
+    var outside = require_outside();
+    var gtr = (version, range, options) => outside(version, range, ">", options);
+    module2.exports = gtr;
+  }
+});
+
+// node_modules/semver/ranges/ltr.js
+var require_ltr = __commonJS({
+  "node_modules/semver/ranges/ltr.js"(exports2, module2) {
+    "use strict";
+    var outside = require_outside();
+    var ltr = (version, range, options) => outside(version, range, "<", options);
+    module2.exports = ltr;
+  }
+});
+
+// node_modules/semver/ranges/intersects.js
+var require_intersects = __commonJS({
+  "node_modules/semver/ranges/intersects.js"(exports2, module2) {
+    "use strict";
+    var Range2 = require_range();
+    var intersects = (r1, r2, options) => {
+      r1 = new Range2(r1, options);
+      r2 = new Range2(r2, options);
+      return r1.intersects(r2, options);
+    };
+    module2.exports = intersects;
+  }
+});
+
+// node_modules/semver/ranges/simplify.js
+var require_simplify = __commonJS({
+  "node_modules/semver/ranges/simplify.js"(exports2, module2) {
+    "use strict";
+    var satisfies2 = require_satisfies();
+    var compare2 = require_compare();
+    module2.exports = (versions, range, options) => {
+      const set2 = [];
+      let first = null;
+      let prev = null;
+      const v = versions.sort((a, b) => compare2(a, b, options));
+      for (const version of v) {
+        const included = satisfies2(version, range, options);
+        if (included) {
+          prev = version;
+          if (!first) {
+            first = version;
+          }
+        } else {
+          if (prev) {
+            set2.push([first, prev]);
+          }
+          prev = null;
+          first = null;
+        }
+      }
+      if (first) {
+        set2.push([first, null]);
+      }
+      const ranges = [];
+      for (const [min, max] of set2) {
+        if (min === max) {
+          ranges.push(min);
+        } else if (!max && min === v[0]) {
+          ranges.push("*");
+        } else if (!max) {
+          ranges.push(`>=${min}`);
+        } else if (min === v[0]) {
+          ranges.push(`<=${max}`);
+        } else {
+          ranges.push(`${min} - ${max}`);
+        }
+      }
+      const simplified = ranges.join(" || ");
+      const original = typeof range.raw === "string" ? range.raw : String(range);
+      return simplified.length < original.length ? simplified : range;
+    };
+  }
+});
+
+// node_modules/semver/ranges/subset.js
+var require_subset = __commonJS({
+  "node_modules/semver/ranges/subset.js"(exports2, module2) {
+    "use strict";
+    var Range2 = require_range();
+    var Comparator = require_comparator();
+    var { ANY } = Comparator;
+    var satisfies2 = require_satisfies();
+    var compare2 = require_compare();
+    var subset = (sub, dom, options = {}) => {
+      if (sub === dom) {
+        return true;
+      }
+      sub = new Range2(sub, options);
+      dom = new Range2(dom, options);
+      let sawNonNull = false;
+      OUTER: for (const simpleSub of sub.set) {
+        for (const simpleDom of dom.set) {
+          const isSub = simpleSubset(simpleSub, simpleDom, options);
+          sawNonNull = sawNonNull || isSub !== null;
+          if (isSub) {
+            continue OUTER;
+          }
+        }
+        if (sawNonNull) {
+          return false;
+        }
+      }
+      return true;
+    };
+    var minimumVersionWithPreRelease = [new Comparator(">=0.0.0-0")];
+    var minimumVersion2 = [new Comparator(">=0.0.0")];
+    var simpleSubset = (sub, dom, options) => {
+      if (sub === dom) {
+        return true;
+      }
+      if (sub.length === 1 && sub[0].semver === ANY) {
+        if (dom.length === 1 && dom[0].semver === ANY) {
+          return true;
+        } else if (options.includePrerelease) {
+          sub = minimumVersionWithPreRelease;
+        } else {
+          sub = minimumVersion2;
+        }
+      }
+      if (dom.length === 1 && dom[0].semver === ANY) {
+        if (options.includePrerelease) {
+          return true;
+        } else {
+          dom = minimumVersion2;
+        }
+      }
+      const eqSet = /* @__PURE__ */ new Set();
+      let gt, lt;
+      for (const c of sub) {
+        if (c.operator === ">" || c.operator === ">=") {
+          gt = higherGT(gt, c, options);
+        } else if (c.operator === "<" || c.operator === "<=") {
+          lt = lowerLT(lt, c, options);
+        } else {
+          eqSet.add(c.semver);
+        }
+      }
+      if (eqSet.size > 1) {
+        return null;
+      }
+      let gtltComp;
+      if (gt && lt) {
+        gtltComp = compare2(gt.semver, lt.semver, options);
+        if (gtltComp > 0) {
+          return null;
+        } else if (gtltComp === 0 && (gt.operator !== ">=" || lt.operator !== "<=")) {
+          return null;
+        }
+      }
+      for (const eq of eqSet) {
+        if (gt && !satisfies2(eq, String(gt), options)) {
+          return null;
+        }
+        if (lt && !satisfies2(eq, String(lt), options)) {
+          return null;
+        }
+        for (const c of dom) {
+          if (!satisfies2(eq, String(c), options)) {
+            return false;
+          }
+        }
+        return true;
+      }
+      let higher, lower;
+      let hasDomLT, hasDomGT;
+      let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false;
+      let needDomGTPre = gt && !options.includePrerelease && gt.semver.prerelease.length ? gt.semver : false;
+      if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt.operator === "<" && needDomLTPre.prerelease[0] === 0) {
+        needDomLTPre = false;
+      }
+      for (const c of dom) {
+        hasDomGT = hasDomGT || c.operator === ">" || c.operator === ">=";
+        hasDomLT = hasDomLT || c.operator === "<" || c.operator === "<=";
+        if (gt) {
+          if (needDomGTPre) {
+            if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomGTPre.major && c.semver.minor === needDomGTPre.minor && c.semver.patch === needDomGTPre.patch) {
+              needDomGTPre = false;
+            }
+          }
+          if (c.operator === ">" || c.operator === ">=") {
+            higher = higherGT(gt, c, options);
+            if (higher === c && higher !== gt) {
+              return false;
+            }
+          } else if (gt.operator === ">=" && !satisfies2(gt.semver, String(c), options)) {
+            return false;
+          }
+        }
+        if (lt) {
+          if (needDomLTPre) {
+            if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomLTPre.major && c.semver.minor === needDomLTPre.minor && c.semver.patch === needDomLTPre.patch) {
+              needDomLTPre = false;
+            }
+          }
+          if (c.operator === "<" || c.operator === "<=") {
+            lower = lowerLT(lt, c, options);
+            if (lower === c && lower !== lt) {
+              return false;
+            }
+          } else if (lt.operator === "<=" && !satisfies2(lt.semver, String(c), options)) {
+            return false;
+          }
+        }
+        if (!c.operator && (lt || gt) && gtltComp !== 0) {
+          return false;
+        }
+      }
+      if (gt && hasDomLT && !lt && gtltComp !== 0) {
+        return false;
+      }
+      if (lt && hasDomGT && !gt && gtltComp !== 0) {
+        return false;
+      }
+      if (needDomGTPre || needDomLTPre) {
+        return false;
+      }
+      return true;
+    };
+    var higherGT = (a, b, options) => {
+      if (!a) {
+        return b;
+      }
+      const comp = compare2(a.semver, b.semver, options);
+      return comp > 0 ? a : comp < 0 ? b : b.operator === ">" && a.operator === ">=" ? b : a;
+    };
+    var lowerLT = (a, b, options) => {
+      if (!a) {
+        return b;
+      }
+      const comp = compare2(a.semver, b.semver, options);
+      return comp < 0 ? a : comp > 0 ? b : b.operator === "<" && a.operator === "<=" ? b : a;
+    };
+    module2.exports = subset;
+  }
+});
+
+// node_modules/semver/index.js
+var require_semver2 = __commonJS({
+  "node_modules/semver/index.js"(exports2, module2) {
+    "use strict";
+    var internalRe = require_re();
+    var constants = require_constants11();
+    var SemVer = require_semver();
+    var identifiers = require_identifiers();
+    var parse2 = require_parse3();
+    var valid3 = require_valid();
+    var clean3 = require_clean();
+    var inc = require_inc();
+    var diff = require_diff();
+    var major = require_major();
+    var minor = require_minor();
+    var patch = require_patch();
+    var prerelease = require_prerelease();
+    var compare2 = require_compare();
+    var rcompare = require_rcompare();
+    var compareLoose = require_compare_loose();
+    var compareBuild = require_compare_build();
+    var sort = require_sort();
+    var rsort = require_rsort();
+    var gt = require_gt();
+    var lt = require_lt();
+    var eq = require_eq();
+    var neq = require_neq();
+    var gte6 = require_gte();
+    var lte = require_lte();
+    var cmp = require_cmp();
+    var coerce3 = require_coerce();
+    var Comparator = require_comparator();
+    var Range2 = require_range();
+    var satisfies2 = require_satisfies();
+    var toComparators = require_to_comparators();
+    var maxSatisfying = require_max_satisfying();
+    var minSatisfying = require_min_satisfying();
+    var minVersion = require_min_version();
+    var validRange = require_valid2();
+    var outside = require_outside();
+    var gtr = require_gtr();
+    var ltr = require_ltr();
+    var intersects = require_intersects();
+    var simplifyRange = require_simplify();
+    var subset = require_subset();
+    module2.exports = {
+      parse: parse2,
+      valid: valid3,
+      clean: clean3,
+      inc,
+      diff,
+      major,
+      minor,
+      patch,
+      prerelease,
+      compare: compare2,
+      rcompare,
+      compareLoose,
+      compareBuild,
+      sort,
+      rsort,
+      gt,
+      lt,
+      eq,
+      neq,
+      gte: gte6,
+      lte,
+      cmp,
+      coerce: coerce3,
+      Comparator,
+      Range: Range2,
+      satisfies: satisfies2,
+      toComparators,
+      maxSatisfying,
+      minSatisfying,
+      minVersion,
+      validRange,
+      outside,
+      gtr,
+      ltr,
+      intersects,
+      simplifyRange,
+      subset,
+      SemVer,
+      re: internalRe.re,
+      src: internalRe.src,
+      tokens: internalRe.t,
+      SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,
+      RELEASE_TYPES: constants.RELEASE_TYPES,
+      compareIdentifiers: identifiers.compareIdentifiers,
+      rcompareIdentifiers: identifiers.rcompareIdentifiers
+    };
+  }
+});
+
+// package.json
+var require_package = __commonJS({
+  "package.json"(exports2, module2) {
+    module2.exports = {
+      name: "codeql",
+      version: "4.32.2",
+      private: true,
+      description: "CodeQL action",
+      scripts: {
+        _build_comment: "echo 'Run the full build so we typecheck the project and can reuse the transpiled files in npm test'",
+        build: "./scripts/check-node-modules.sh && npm run transpile && node build.mjs",
+        lint: "eslint --report-unused-disable-directives --max-warnings=0 .",
+        "lint-ci": "SARIF_ESLINT_IGNORE_SUPPRESSED=true eslint --report-unused-disable-directives --max-warnings=0 . --format @microsoft/eslint-formatter-sarif --output-file=eslint.sarif",
+        "lint-fix": "eslint --report-unused-disable-directives --max-warnings=0 . --fix",
+        ava: "npm run transpile && ava --serial --verbose",
+        test: "npm run ava -- src/",
+        "test-debug": "npm run test -- --timeout=20m",
+        transpile: "tsc --build --verbose"
       },
-      secretScanning: {
-        createPushProtectionBypass: [
-          "POST /repos/{owner}/{repo}/secret-scanning/push-protection-bypasses"
-        ],
-        getAlert: [
-          "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"
-        ],
-        getScanHistory: ["GET /repos/{owner}/{repo}/secret-scanning/scan-history"],
-        listAlertsForOrg: ["GET /orgs/{org}/secret-scanning/alerts"],
-        listAlertsForRepo: ["GET /repos/{owner}/{repo}/secret-scanning/alerts"],
-        listLocationsForAlert: [
-          "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"
-        ],
-        listOrgPatternConfigs: [
-          "GET /orgs/{org}/secret-scanning/pattern-configurations"
-        ],
-        updateAlert: [
-          "PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"
-        ],
-        updateOrgPatternConfigs: [
-          "PATCH /orgs/{org}/secret-scanning/pattern-configurations"
-        ]
+      ava: {
+        typescript: {
+          rewritePaths: {
+            "src/": "build/"
+          },
+          compile: false
+        }
       },
-      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}"
-        ]
+      license: "MIT",
+      dependencies: {
+        "@actions/artifact": "^5.0.3",
+        "@actions/artifact-legacy": "npm:@actions/artifact@^1.1.2",
+        "@actions/cache": "^5.0.5",
+        "@actions/core": "^2.0.3",
+        "@actions/exec": "^2.0.0",
+        "@actions/github": "^8.0.1",
+        "@actions/glob": "^0.5.0",
+        "@actions/http-client": "^3.0.0",
+        "@actions/io": "^2.0.0",
+        "@actions/tool-cache": "^3.0.1",
+        "@octokit/plugin-retry": "^8.0.0",
+        "@schemastore/package": "0.0.10",
+        archiver: "^7.0.1",
+        "fast-deep-equal": "^3.1.3",
+        "follow-redirects": "^1.15.11",
+        "get-folder-size": "^5.0.0",
+        "js-yaml": "^4.1.1",
+        jsonschema: "1.4.1",
+        long: "^5.3.2",
+        "node-forge": "^1.3.3",
+        semver: "^7.7.3",
+        uuid: "^13.0.0"
       },
-      teams: {
-        addOrUpdateMembershipForUserInOrg: [
-          "PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"
-        ],
-        addOrUpdateRepoPermissionsInOrg: [
-          "PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
-        ],
-        checkPermissionsForRepoInOrg: [
-          "GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
-        ],
-        create: ["POST /orgs/{org}/teams"],
-        createDiscussionCommentInOrg: [
-          "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"
-        ],
-        createDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions"],
-        deleteDiscussionCommentInOrg: [
-          "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"
-        ],
-        deleteDiscussionInOrg: [
-          "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"
-        ],
-        deleteInOrg: ["DELETE /orgs/{org}/teams/{team_slug}"],
-        getByName: ["GET /orgs/{org}/teams/{team_slug}"],
-        getDiscussionCommentInOrg: [
-          "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"
-        ],
-        getDiscussionInOrg: [
-          "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"
-        ],
-        getMembershipForUserInOrg: [
-          "GET /orgs/{org}/teams/{team_slug}/memberships/{username}"
-        ],
-        list: ["GET /orgs/{org}/teams"],
-        listChildInOrg: ["GET /orgs/{org}/teams/{team_slug}/teams"],
-        listDiscussionCommentsInOrg: [
-          "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"
-        ],
-        listDiscussionsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions"],
-        listForAuthenticatedUser: ["GET /user/teams"],
-        listMembersInOrg: ["GET /orgs/{org}/teams/{team_slug}/members"],
-        listPendingInvitationsInOrg: [
-          "GET /orgs/{org}/teams/{team_slug}/invitations"
-        ],
-        listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"],
-        removeMembershipForUserInOrg: [
-          "DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"
-        ],
-        removeRepoInOrg: [
-          "DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
-        ],
-        updateDiscussionCommentInOrg: [
-          "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"
-        ],
-        updateDiscussionInOrg: [
-          "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"
-        ],
-        updateInOrg: ["PATCH /orgs/{org}/teams/{team_slug}"]
+      devDependencies: {
+        "@ava/typescript": "6.0.0",
+        "@eslint/compat": "^2.0.1",
+        "@eslint/eslintrc": "^3.3.3",
+        "@eslint/js": "^9.39.2",
+        "@microsoft/eslint-formatter-sarif": "^3.1.0",
+        "@octokit/types": "^16.0.0",
+        "@types/archiver": "^7.0.0",
+        "@types/follow-redirects": "^1.14.4",
+        "@types/js-yaml": "^4.0.9",
+        "@types/node": "^20.19.9",
+        "@types/node-forge": "^1.3.14",
+        "@types/semver": "^7.7.1",
+        "@types/sinon": "^21.0.0",
+        "@typescript-eslint/eslint-plugin": "^8.54.0",
+        "@typescript-eslint/parser": "^8.48.0",
+        ava: "^6.4.1",
+        esbuild: "^0.27.2",
+        eslint: "^8.57.1",
+        "eslint-import-resolver-typescript": "^3.8.7",
+        "eslint-plugin-filenames": "^1.3.2",
+        "eslint-plugin-github": "^5.1.8",
+        "eslint-plugin-import": "2.29.1",
+        "eslint-plugin-jsdoc": "^62.4.1",
+        "eslint-plugin-no-async-foreach": "^0.1.1",
+        glob: "^11.1.0",
+        nock: "^14.0.10",
+        sinon: "^21.0.1",
+        typescript: "^5.9.3"
       },
-      users: {
-        addEmailForAuthenticated: [
-          "POST /user/emails",
-          {},
-          { renamed: ["users", "addEmailForAuthenticatedUser"] }
-        ],
-        addEmailForAuthenticatedUser: ["POST /user/emails"],
-        addSocialAccountForAuthenticatedUser: ["POST /user/social_accounts"],
-        block: ["PUT /user/blocks/{username}"],
-        checkBlocked: ["GET /user/blocks/{username}"],
-        checkFollowingForUser: ["GET /users/{username}/following/{target_user}"],
-        checkPersonIsFollowedByAuthenticated: ["GET /user/following/{username}"],
-        createGpgKeyForAuthenticated: [
-          "POST /user/gpg_keys",
-          {},
-          { renamed: ["users", "createGpgKeyForAuthenticatedUser"] }
-        ],
-        createGpgKeyForAuthenticatedUser: ["POST /user/gpg_keys"],
-        createPublicSshKeyForAuthenticated: [
-          "POST /user/keys",
-          {},
-          { renamed: ["users", "createPublicSshKeyForAuthenticatedUser"] }
-        ],
-        createPublicSshKeyForAuthenticatedUser: ["POST /user/keys"],
-        createSshSigningKeyForAuthenticatedUser: ["POST /user/ssh_signing_keys"],
-        deleteAttestationsBulk: [
-          "POST /users/{username}/attestations/delete-request"
-        ],
-        deleteAttestationsById: [
-          "DELETE /users/{username}/attestations/{attestation_id}"
-        ],
-        deleteAttestationsBySubjectDigest: [
-          "DELETE /users/{username}/attestations/digest/{subject_digest}"
-        ],
-        deleteEmailForAuthenticated: [
-          "DELETE /user/emails",
-          {},
-          { renamed: ["users", "deleteEmailForAuthenticatedUser"] }
-        ],
-        deleteEmailForAuthenticatedUser: ["DELETE /user/emails"],
-        deleteGpgKeyForAuthenticated: [
-          "DELETE /user/gpg_keys/{gpg_key_id}",
-          {},
-          { renamed: ["users", "deleteGpgKeyForAuthenticatedUser"] }
-        ],
-        deleteGpgKeyForAuthenticatedUser: ["DELETE /user/gpg_keys/{gpg_key_id}"],
-        deletePublicSshKeyForAuthenticated: [
-          "DELETE /user/keys/{key_id}",
-          {},
-          { renamed: ["users", "deletePublicSshKeyForAuthenticatedUser"] }
-        ],
-        deletePublicSshKeyForAuthenticatedUser: ["DELETE /user/keys/{key_id}"],
-        deleteSocialAccountForAuthenticatedUser: ["DELETE /user/social_accounts"],
-        deleteSshSigningKeyForAuthenticatedUser: [
-          "DELETE /user/ssh_signing_keys/{ssh_signing_key_id}"
-        ],
-        follow: ["PUT /user/following/{username}"],
-        getAuthenticated: ["GET /user"],
-        getById: ["GET /user/{account_id}"],
-        getByUsername: ["GET /users/{username}"],
-        getContextForUser: ["GET /users/{username}/hovercard"],
-        getGpgKeyForAuthenticated: [
-          "GET /user/gpg_keys/{gpg_key_id}",
-          {},
-          { renamed: ["users", "getGpgKeyForAuthenticatedUser"] }
-        ],
-        getGpgKeyForAuthenticatedUser: ["GET /user/gpg_keys/{gpg_key_id}"],
-        getPublicSshKeyForAuthenticated: [
-          "GET /user/keys/{key_id}",
-          {},
-          { renamed: ["users", "getPublicSshKeyForAuthenticatedUser"] }
-        ],
-        getPublicSshKeyForAuthenticatedUser: ["GET /user/keys/{key_id}"],
-        getSshSigningKeyForAuthenticatedUser: [
-          "GET /user/ssh_signing_keys/{ssh_signing_key_id}"
-        ],
-        list: ["GET /users"],
-        listAttestations: ["GET /users/{username}/attestations/{subject_digest}"],
-        listAttestationsBulk: [
-          "POST /users/{username}/attestations/bulk-list{?per_page,before,after}"
-        ],
-        listBlockedByAuthenticated: [
-          "GET /user/blocks",
-          {},
-          { renamed: ["users", "listBlockedByAuthenticatedUser"] }
-        ],
-        listBlockedByAuthenticatedUser: ["GET /user/blocks"],
-        listEmailsForAuthenticated: [
-          "GET /user/emails",
-          {},
-          { renamed: ["users", "listEmailsForAuthenticatedUser"] }
-        ],
-        listEmailsForAuthenticatedUser: ["GET /user/emails"],
-        listFollowedByAuthenticated: [
-          "GET /user/following",
-          {},
-          { renamed: ["users", "listFollowedByAuthenticatedUser"] }
-        ],
-        listFollowedByAuthenticatedUser: ["GET /user/following"],
-        listFollowersForAuthenticatedUser: ["GET /user/followers"],
-        listFollowersForUser: ["GET /users/{username}/followers"],
-        listFollowingForUser: ["GET /users/{username}/following"],
-        listGpgKeysForAuthenticated: [
-          "GET /user/gpg_keys",
-          {},
-          { renamed: ["users", "listGpgKeysForAuthenticatedUser"] }
-        ],
-        listGpgKeysForAuthenticatedUser: ["GET /user/gpg_keys"],
-        listGpgKeysForUser: ["GET /users/{username}/gpg_keys"],
-        listPublicEmailsForAuthenticated: [
-          "GET /user/public_emails",
-          {},
-          { renamed: ["users", "listPublicEmailsForAuthenticatedUser"] }
-        ],
-        listPublicEmailsForAuthenticatedUser: ["GET /user/public_emails"],
-        listPublicKeysForUser: ["GET /users/{username}/keys"],
-        listPublicSshKeysForAuthenticated: [
-          "GET /user/keys",
-          {},
-          { 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"] }
-        ],
-        setPrimaryEmailVisibilityForAuthenticatedUser: [
-          "PATCH /user/email/visibility"
-        ],
-        unblock: ["DELETE /user/blocks/{username}"],
-        unfollow: ["DELETE /user/following/{username}"],
-        updateAuthenticated: ["PATCH /user"]
+      overrides: {
+        "@actions/tool-cache": {
+          semver: ">=6.3.1"
+        },
+        "@octokit/request-error": {
+          semver: ">=5.1.1"
+        },
+        "@octokit/request": {
+          semver: ">=8.4.1"
+        },
+        "@octokit/plugin-paginate-rest": {
+          semver: ">=9.2.2"
+        },
+        "eslint-plugin-import": {
+          semver: ">=6.3.1"
+        },
+        "eslint-plugin-jsx-a11y": {
+          semver: ">=6.3.1"
+        },
+        "brace-expansion@2.0.1": "2.0.2",
+        glob: "^11.1.0"
+      }
+    };
+  }
+});
+
+// node_modules/bottleneck/light.js
+var require_light = __commonJS({
+  "node_modules/bottleneck/light.js"(exports2, module2) {
+    (function(global2, factory) {
+      typeof exports2 === "object" && typeof module2 !== "undefined" ? module2.exports = factory() : typeof define === "function" && define.amd ? define(factory) : global2.Bottleneck = factory();
+    })(exports2, (function() {
+      "use strict";
+      var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
+      function getCjsExportFromNamespace(n) {
+        return n && n["default"] || n;
+      }
+      var load2 = function(received, defaults, onto = {}) {
+        var k, ref, v;
+        for (k in defaults) {
+          v = defaults[k];
+          onto[k] = (ref = received[k]) != null ? ref : v;
+        }
+        return onto;
+      };
+      var overwrite = function(received, defaults, onto = {}) {
+        var k, v;
+        for (k in received) {
+          v = received[k];
+          if (defaults[k] !== void 0) {
+            onto[k] = v;
+          }
+        }
+        return onto;
+      };
+      var parser = {
+        load: load2,
+        overwrite
+      };
+      var DLList;
+      DLList = class DLList {
+        constructor(incr, decr) {
+          this.incr = incr;
+          this.decr = decr;
+          this._first = null;
+          this._last = null;
+          this.length = 0;
+        }
+        push(value) {
+          var node;
+          this.length++;
+          if (typeof this.incr === "function") {
+            this.incr();
+          }
+          node = {
+            value,
+            prev: this._last,
+            next: null
+          };
+          if (this._last != null) {
+            this._last.next = node;
+            this._last = node;
+          } else {
+            this._first = this._last = node;
+          }
+          return void 0;
+        }
+        shift() {
+          var value;
+          if (this._first == null) {
+            return;
+          } else {
+            this.length--;
+            if (typeof this.decr === "function") {
+              this.decr();
+            }
+          }
+          value = this._first.value;
+          if ((this._first = this._first.next) != null) {
+            this._first.prev = null;
+          } else {
+            this._last = null;
+          }
+          return value;
+        }
+        first() {
+          if (this._first != null) {
+            return this._first.value;
+          }
+        }
+        getArray() {
+          var node, ref, results;
+          node = this._first;
+          results = [];
+          while (node != null) {
+            results.push((ref = node, node = node.next, ref.value));
+          }
+          return results;
+        }
+        forEachShift(cb) {
+          var node;
+          node = this.shift();
+          while (node != null) {
+            cb(node), node = this.shift();
+          }
+          return void 0;
+        }
+        debug() {
+          var node, ref, ref1, ref2, results;
+          node = this._first;
+          results = [];
+          while (node != null) {
+            results.push((ref = node, node = node.next, {
+              value: ref.value,
+              prev: (ref1 = ref.prev) != null ? ref1.value : void 0,
+              next: (ref2 = ref.next) != null ? ref2.value : void 0
+            }));
+          }
+          return results;
+        }
+      };
+      var DLList_1 = DLList;
+      var Events;
+      Events = class Events {
+        constructor(instance) {
+          this.instance = instance;
+          this._events = {};
+          if (this.instance.on != null || this.instance.once != null || this.instance.removeAllListeners != null) {
+            throw new Error("An Emitter already exists for this object");
+          }
+          this.instance.on = (name, cb) => {
+            return this._addListener(name, "many", cb);
+          };
+          this.instance.once = (name, cb) => {
+            return this._addListener(name, "once", cb);
+          };
+          this.instance.removeAllListeners = (name = null) => {
+            if (name != null) {
+              return delete this._events[name];
+            } else {
+              return this._events = {};
+            }
+          };
+        }
+        _addListener(name, status, cb) {
+          var base;
+          if ((base = this._events)[name] == null) {
+            base[name] = [];
+          }
+          this._events[name].push({ cb, status });
+          return this.instance;
+        }
+        listenerCount(name) {
+          if (this._events[name] != null) {
+            return this._events[name].length;
+          } else {
+            return 0;
+          }
+        }
+        async trigger(name, ...args) {
+          var e, promises2;
+          try {
+            if (name !== "debug") {
+              this.trigger("debug", `Event triggered: ${name}`, args);
+            }
+            if (this._events[name] == null) {
+              return;
+            }
+            this._events[name] = this._events[name].filter(function(listener) {
+              return listener.status !== "none";
+            });
+            promises2 = this._events[name].map(async (listener) => {
+              var e2, returned;
+              if (listener.status === "none") {
+                return;
+              }
+              if (listener.status === "once") {
+                listener.status = "none";
+              }
+              try {
+                returned = typeof listener.cb === "function" ? listener.cb(...args) : void 0;
+                if (typeof (returned != null ? returned.then : void 0) === "function") {
+                  return await returned;
+                } else {
+                  return returned;
+                }
+              } catch (error3) {
+                e2 = error3;
+                {
+                  this.trigger("error", e2);
+                }
+                return null;
+              }
+            });
+            return (await Promise.all(promises2)).find(function(x) {
+              return x != null;
+            });
+          } catch (error3) {
+            e = error3;
+            {
+              this.trigger("error", e);
+            }
+            return null;
+          }
+        }
+      };
+      var Events_1 = Events;
+      var DLList$1, Events$1, Queues;
+      DLList$1 = DLList_1;
+      Events$1 = Events_1;
+      Queues = class Queues {
+        constructor(num_priorities) {
+          var i;
+          this.Events = new Events$1(this);
+          this._length = 0;
+          this._lists = (function() {
+            var j, ref, results;
+            results = [];
+            for (i = j = 1, ref = num_priorities; 1 <= ref ? j <= ref : j >= ref; i = 1 <= ref ? ++j : --j) {
+              results.push(new DLList$1((() => {
+                return this.incr();
+              }), (() => {
+                return this.decr();
+              })));
+            }
+            return results;
+          }).call(this);
+        }
+        incr() {
+          if (this._length++ === 0) {
+            return this.Events.trigger("leftzero");
+          }
+        }
+        decr() {
+          if (--this._length === 0) {
+            return this.Events.trigger("zero");
+          }
+        }
+        push(job) {
+          return this._lists[job.options.priority].push(job);
+        }
+        queued(priority) {
+          if (priority != null) {
+            return this._lists[priority].length;
+          } else {
+            return this._length;
+          }
+        }
+        shiftAll(fn) {
+          return this._lists.forEach(function(list) {
+            return list.forEachShift(fn);
+          });
+        }
+        getFirst(arr = this._lists) {
+          var j, len, list;
+          for (j = 0, len = arr.length; j < len; j++) {
+            list = arr[j];
+            if (list.length > 0) {
+              return list;
+            }
+          }
+          return [];
+        }
+        shiftLastFrom(priority) {
+          return this.getFirst(this._lists.slice(priority).reverse()).shift();
+        }
+      };
+      var Queues_1 = Queues;
+      var BottleneckError;
+      BottleneckError = class BottleneckError extends Error {
+      };
+      var BottleneckError_1 = BottleneckError;
+      var BottleneckError$1, DEFAULT_PRIORITY, Job, NUM_PRIORITIES, parser$1;
+      NUM_PRIORITIES = 10;
+      DEFAULT_PRIORITY = 5;
+      parser$1 = parser;
+      BottleneckError$1 = BottleneckError_1;
+      Job = class Job {
+        constructor(task, args, options, jobDefaults, rejectOnDrop, Events2, _states, Promise2) {
+          this.task = task;
+          this.args = args;
+          this.rejectOnDrop = rejectOnDrop;
+          this.Events = Events2;
+          this._states = _states;
+          this.Promise = Promise2;
+          this.options = parser$1.load(options, jobDefaults);
+          this.options.priority = this._sanitizePriority(this.options.priority);
+          if (this.options.id === jobDefaults.id) {
+            this.options.id = `${this.options.id}-${this._randomIndex()}`;
+          }
+          this.promise = new this.Promise((_resolve, _reject) => {
+            this._resolve = _resolve;
+            this._reject = _reject;
+          });
+          this.retryCount = 0;
+        }
+        _sanitizePriority(priority) {
+          var sProperty;
+          sProperty = ~~priority !== priority ? DEFAULT_PRIORITY : priority;
+          if (sProperty < 0) {
+            return 0;
+          } else if (sProperty > NUM_PRIORITIES - 1) {
+            return NUM_PRIORITIES - 1;
+          } else {
+            return sProperty;
+          }
+        }
+        _randomIndex() {
+          return Math.random().toString(36).slice(2);
+        }
+        doDrop({ error: error3, message = "This job has been dropped by Bottleneck" } = {}) {
+          if (this._states.remove(this.options.id)) {
+            if (this.rejectOnDrop) {
+              this._reject(error3 != null ? error3 : new BottleneckError$1(message));
+            }
+            this.Events.trigger("dropped", { args: this.args, options: this.options, task: this.task, promise: this.promise });
+            return true;
+          } else {
+            return false;
+          }
+        }
+        _assertStatus(expected) {
+          var status;
+          status = this._states.jobStatus(this.options.id);
+          if (!(status === expected || expected === "DONE" && status === null)) {
+            throw new BottleneckError$1(`Invalid job status ${status}, expected ${expected}. Please open an issue at https://github.com/SGrondin/bottleneck/issues`);
+          }
+        }
+        doReceive() {
+          this._states.start(this.options.id);
+          return this.Events.trigger("received", { args: this.args, options: this.options });
+        }
+        doQueue(reachedHWM, blocked) {
+          this._assertStatus("RECEIVED");
+          this._states.next(this.options.id);
+          return this.Events.trigger("queued", { args: this.args, options: this.options, reachedHWM, blocked });
+        }
+        doRun() {
+          if (this.retryCount === 0) {
+            this._assertStatus("QUEUED");
+            this._states.next(this.options.id);
+          } else {
+            this._assertStatus("EXECUTING");
+          }
+          return this.Events.trigger("scheduled", { args: this.args, options: this.options });
+        }
+        async doExecute(chained, clearGlobalState, run, free) {
+          var error3, eventInfo, passed;
+          if (this.retryCount === 0) {
+            this._assertStatus("RUNNING");
+            this._states.next(this.options.id);
+          } else {
+            this._assertStatus("EXECUTING");
+          }
+          eventInfo = { args: this.args, options: this.options, retryCount: this.retryCount };
+          this.Events.trigger("executing", eventInfo);
+          try {
+            passed = await (chained != null ? chained.schedule(this.options, this.task, ...this.args) : this.task(...this.args));
+            if (clearGlobalState()) {
+              this.doDone(eventInfo);
+              await free(this.options, eventInfo);
+              this._assertStatus("DONE");
+              return this._resolve(passed);
+            }
+          } catch (error1) {
+            error3 = error1;
+            return this._onFailure(error3, eventInfo, clearGlobalState, run, free);
+          }
+        }
+        doExpire(clearGlobalState, run, free) {
+          var error3, eventInfo;
+          if (this._states.jobStatus(this.options.id === "RUNNING")) {
+            this._states.next(this.options.id);
+          }
+          this._assertStatus("EXECUTING");
+          eventInfo = { args: this.args, options: this.options, retryCount: this.retryCount };
+          error3 = new BottleneckError$1(`This job timed out after ${this.options.expiration} ms.`);
+          return this._onFailure(error3, eventInfo, clearGlobalState, run, free);
+        }
+        async _onFailure(error3, eventInfo, clearGlobalState, run, free) {
+          var retry2, retryAfter;
+          if (clearGlobalState()) {
+            retry2 = await this.Events.trigger("failed", error3, eventInfo);
+            if (retry2 != null) {
+              retryAfter = ~~retry2;
+              this.Events.trigger("retry", `Retrying ${this.options.id} after ${retryAfter} ms`, eventInfo);
+              this.retryCount++;
+              return run(retryAfter);
+            } else {
+              this.doDone(eventInfo);
+              await free(this.options, eventInfo);
+              this._assertStatus("DONE");
+              return this._reject(error3);
+            }
+          }
+        }
+        doDone(eventInfo) {
+          this._assertStatus("EXECUTING");
+          this._states.next(this.options.id);
+          return this.Events.trigger("done", eventInfo);
+        }
+      };
+      var Job_1 = Job;
+      var BottleneckError$2, LocalDatastore, parser$2;
+      parser$2 = parser;
+      BottleneckError$2 = BottleneckError_1;
+      LocalDatastore = class LocalDatastore {
+        constructor(instance, storeOptions, storeInstanceOptions) {
+          this.instance = instance;
+          this.storeOptions = storeOptions;
+          this.clientId = this.instance._randomIndex();
+          parser$2.load(storeInstanceOptions, storeInstanceOptions, this);
+          this._nextRequest = this._lastReservoirRefresh = this._lastReservoirIncrease = Date.now();
+          this._running = 0;
+          this._done = 0;
+          this._unblockTime = 0;
+          this.ready = this.Promise.resolve();
+          this.clients = {};
+          this._startHeartbeat();
+        }
+        _startHeartbeat() {
+          var base;
+          if (this.heartbeat == null && (this.storeOptions.reservoirRefreshInterval != null && this.storeOptions.reservoirRefreshAmount != null || this.storeOptions.reservoirIncreaseInterval != null && this.storeOptions.reservoirIncreaseAmount != null)) {
+            return typeof (base = this.heartbeat = setInterval(() => {
+              var amount, incr, maximum, now, reservoir;
+              now = Date.now();
+              if (this.storeOptions.reservoirRefreshInterval != null && now >= this._lastReservoirRefresh + this.storeOptions.reservoirRefreshInterval) {
+                this._lastReservoirRefresh = now;
+                this.storeOptions.reservoir = this.storeOptions.reservoirRefreshAmount;
+                this.instance._drainAll(this.computeCapacity());
+              }
+              if (this.storeOptions.reservoirIncreaseInterval != null && now >= this._lastReservoirIncrease + this.storeOptions.reservoirIncreaseInterval) {
+                ({
+                  reservoirIncreaseAmount: amount,
+                  reservoirIncreaseMaximum: maximum,
+                  reservoir
+                } = this.storeOptions);
+                this._lastReservoirIncrease = now;
+                incr = maximum != null ? Math.min(amount, maximum - reservoir) : amount;
+                if (incr > 0) {
+                  this.storeOptions.reservoir += incr;
+                  return this.instance._drainAll(this.computeCapacity());
+                }
+              }
+            }, this.heartbeatInterval)).unref === "function" ? base.unref() : void 0;
+          } else {
+            return clearInterval(this.heartbeat);
+          }
+        }
+        async __publish__(message) {
+          await this.yieldLoop();
+          return this.instance.Events.trigger("message", message.toString());
+        }
+        async __disconnect__(flush) {
+          await this.yieldLoop();
+          clearInterval(this.heartbeat);
+          return this.Promise.resolve();
+        }
+        yieldLoop(t = 0) {
+          return new this.Promise(function(resolve2, reject) {
+            return setTimeout(resolve2, t);
+          });
+        }
+        computePenalty() {
+          var ref;
+          return (ref = this.storeOptions.penalty) != null ? ref : 15 * this.storeOptions.minTime || 5e3;
+        }
+        async __updateSettings__(options) {
+          await this.yieldLoop();
+          parser$2.overwrite(options, options, this.storeOptions);
+          this._startHeartbeat();
+          this.instance._drainAll(this.computeCapacity());
+          return true;
+        }
+        async __running__() {
+          await this.yieldLoop();
+          return this._running;
+        }
+        async __queued__() {
+          await this.yieldLoop();
+          return this.instance.queued();
+        }
+        async __done__() {
+          await this.yieldLoop();
+          return this._done;
+        }
+        async __groupCheck__(time) {
+          await this.yieldLoop();
+          return this._nextRequest + this.timeout < time;
+        }
+        computeCapacity() {
+          var maxConcurrent, reservoir;
+          ({ maxConcurrent, reservoir } = this.storeOptions);
+          if (maxConcurrent != null && reservoir != null) {
+            return Math.min(maxConcurrent - this._running, reservoir);
+          } else if (maxConcurrent != null) {
+            return maxConcurrent - this._running;
+          } else if (reservoir != null) {
+            return reservoir;
+          } else {
+            return null;
+          }
+        }
+        conditionsCheck(weight) {
+          var capacity;
+          capacity = this.computeCapacity();
+          return capacity == null || weight <= capacity;
+        }
+        async __incrementReservoir__(incr) {
+          var reservoir;
+          await this.yieldLoop();
+          reservoir = this.storeOptions.reservoir += incr;
+          this.instance._drainAll(this.computeCapacity());
+          return reservoir;
+        }
+        async __currentReservoir__() {
+          await this.yieldLoop();
+          return this.storeOptions.reservoir;
+        }
+        isBlocked(now) {
+          return this._unblockTime >= now;
+        }
+        check(weight, now) {
+          return this.conditionsCheck(weight) && this._nextRequest - now <= 0;
+        }
+        async __check__(weight) {
+          var now;
+          await this.yieldLoop();
+          now = Date.now();
+          return this.check(weight, now);
+        }
+        async __register__(index, weight, expiration) {
+          var now, wait;
+          await this.yieldLoop();
+          now = Date.now();
+          if (this.conditionsCheck(weight)) {
+            this._running += weight;
+            if (this.storeOptions.reservoir != null) {
+              this.storeOptions.reservoir -= weight;
+            }
+            wait = Math.max(this._nextRequest - now, 0);
+            this._nextRequest = now + wait + this.storeOptions.minTime;
+            return {
+              success: true,
+              wait,
+              reservoir: this.storeOptions.reservoir
+            };
+          } else {
+            return {
+              success: false
+            };
+          }
+        }
+        strategyIsBlock() {
+          return this.storeOptions.strategy === 3;
+        }
+        async __submit__(queueLength, weight) {
+          var blocked, now, reachedHWM;
+          await this.yieldLoop();
+          if (this.storeOptions.maxConcurrent != null && weight > this.storeOptions.maxConcurrent) {
+            throw new BottleneckError$2(`Impossible to add a job having a weight of ${weight} to a limiter having a maxConcurrent setting of ${this.storeOptions.maxConcurrent}`);
+          }
+          now = Date.now();
+          reachedHWM = this.storeOptions.highWater != null && queueLength === this.storeOptions.highWater && !this.check(weight, now);
+          blocked = this.strategyIsBlock() && (reachedHWM || this.isBlocked(now));
+          if (blocked) {
+            this._unblockTime = now + this.computePenalty();
+            this._nextRequest = this._unblockTime + this.storeOptions.minTime;
+            this.instance._dropAllQueued();
+          }
+          return {
+            reachedHWM,
+            blocked,
+            strategy: this.storeOptions.strategy
+          };
+        }
+        async __free__(index, weight) {
+          await this.yieldLoop();
+          this._running -= weight;
+          this._done += weight;
+          this.instance._drainAll(this.computeCapacity());
+          return {
+            running: this._running
+          };
+        }
+      };
+      var LocalDatastore_1 = LocalDatastore;
+      var BottleneckError$3, States;
+      BottleneckError$3 = BottleneckError_1;
+      States = class States {
+        constructor(status1) {
+          this.status = status1;
+          this._jobs = {};
+          this.counts = this.status.map(function() {
+            return 0;
+          });
+        }
+        next(id) {
+          var current, next;
+          current = this._jobs[id];
+          next = current + 1;
+          if (current != null && next < this.status.length) {
+            this.counts[current]--;
+            this.counts[next]++;
+            return this._jobs[id]++;
+          } else if (current != null) {
+            this.counts[current]--;
+            return delete this._jobs[id];
+          }
+        }
+        start(id) {
+          var initial;
+          initial = 0;
+          this._jobs[id] = initial;
+          return this.counts[initial]++;
+        }
+        remove(id) {
+          var current;
+          current = this._jobs[id];
+          if (current != null) {
+            this.counts[current]--;
+            delete this._jobs[id];
+          }
+          return current != null;
+        }
+        jobStatus(id) {
+          var ref;
+          return (ref = this.status[this._jobs[id]]) != null ? ref : null;
+        }
+        statusJobs(status) {
+          var k, pos, ref, results, v;
+          if (status != null) {
+            pos = this.status.indexOf(status);
+            if (pos < 0) {
+              throw new BottleneckError$3(`status must be one of ${this.status.join(", ")}`);
+            }
+            ref = this._jobs;
+            results = [];
+            for (k in ref) {
+              v = ref[k];
+              if (v === pos) {
+                results.push(k);
+              }
+            }
+            return results;
+          } else {
+            return Object.keys(this._jobs);
+          }
+        }
+        statusCounts() {
+          return this.counts.reduce(((acc, v, i) => {
+            acc[this.status[i]] = v;
+            return acc;
+          }), {});
+        }
+      };
+      var States_1 = States;
+      var DLList$2, Sync;
+      DLList$2 = DLList_1;
+      Sync = class Sync {
+        constructor(name, Promise2) {
+          this.schedule = this.schedule.bind(this);
+          this.name = name;
+          this.Promise = Promise2;
+          this._running = 0;
+          this._queue = new DLList$2();
+        }
+        isEmpty() {
+          return this._queue.length === 0;
+        }
+        async _tryToRun() {
+          var args, cb, error3, reject, resolve2, returned, task;
+          if (this._running < 1 && this._queue.length > 0) {
+            this._running++;
+            ({ task, args, resolve: resolve2, reject } = this._queue.shift());
+            cb = await (async function() {
+              try {
+                returned = await task(...args);
+                return function() {
+                  return resolve2(returned);
+                };
+              } catch (error1) {
+                error3 = error1;
+                return function() {
+                  return reject(error3);
+                };
+              }
+            })();
+            this._running--;
+            this._tryToRun();
+            return cb();
+          }
+        }
+        schedule(task, ...args) {
+          var promise, reject, resolve2;
+          resolve2 = reject = null;
+          promise = new this.Promise(function(_resolve, _reject) {
+            resolve2 = _resolve;
+            return reject = _reject;
+          });
+          this._queue.push({ task, args, resolve: resolve2, reject });
+          this._tryToRun();
+          return promise;
+        }
+      };
+      var Sync_1 = Sync;
+      var version = "2.19.5";
+      var version$1 = {
+        version
+      };
+      var version$2 = /* @__PURE__ */ Object.freeze({
+        version,
+        default: version$1
+      });
+      var require$$2 = () => console.log("You must import the full version of Bottleneck in order to use this feature.");
+      var require$$3 = () => console.log("You must import the full version of Bottleneck in order to use this feature.");
+      var require$$4 = () => console.log("You must import the full version of Bottleneck in order to use this feature.");
+      var Events$2, Group, IORedisConnection$1, RedisConnection$1, Scripts$1, parser$3;
+      parser$3 = parser;
+      Events$2 = Events_1;
+      RedisConnection$1 = require$$2;
+      IORedisConnection$1 = require$$3;
+      Scripts$1 = require$$4;
+      Group = (function() {
+        class Group2 {
+          constructor(limiterOptions = {}) {
+            this.deleteKey = this.deleteKey.bind(this);
+            this.limiterOptions = limiterOptions;
+            parser$3.load(this.limiterOptions, this.defaults, this);
+            this.Events = new Events$2(this);
+            this.instances = {};
+            this.Bottleneck = Bottleneck_1;
+            this._startAutoCleanup();
+            this.sharedConnection = this.connection != null;
+            if (this.connection == null) {
+              if (this.limiterOptions.datastore === "redis") {
+                this.connection = new RedisConnection$1(Object.assign({}, this.limiterOptions, { Events: this.Events }));
+              } else if (this.limiterOptions.datastore === "ioredis") {
+                this.connection = new IORedisConnection$1(Object.assign({}, this.limiterOptions, { Events: this.Events }));
+              }
+            }
+          }
+          key(key = "") {
+            var ref;
+            return (ref = this.instances[key]) != null ? ref : (() => {
+              var limiter;
+              limiter = this.instances[key] = new this.Bottleneck(Object.assign(this.limiterOptions, {
+                id: `${this.id}-${key}`,
+                timeout: this.timeout,
+                connection: this.connection
+              }));
+              this.Events.trigger("created", limiter, key);
+              return limiter;
+            })();
+          }
+          async deleteKey(key = "") {
+            var deleted, instance;
+            instance = this.instances[key];
+            if (this.connection) {
+              deleted = await this.connection.__runCommand__(["del", ...Scripts$1.allKeys(`${this.id}-${key}`)]);
+            }
+            if (instance != null) {
+              delete this.instances[key];
+              await instance.disconnect();
+            }
+            return instance != null || deleted > 0;
+          }
+          limiters() {
+            var k, ref, results, v;
+            ref = this.instances;
+            results = [];
+            for (k in ref) {
+              v = ref[k];
+              results.push({
+                key: k,
+                limiter: v
+              });
+            }
+            return results;
+          }
+          keys() {
+            return Object.keys(this.instances);
+          }
+          async clusterKeys() {
+            var cursor, end, found, i, k, keys, len, next, start;
+            if (this.connection == null) {
+              return this.Promise.resolve(this.keys());
+            }
+            keys = [];
+            cursor = null;
+            start = `b_${this.id}-`.length;
+            end = "_settings".length;
+            while (cursor !== 0) {
+              [next, found] = await this.connection.__runCommand__(["scan", cursor != null ? cursor : 0, "match", `b_${this.id}-*_settings`, "count", 1e4]);
+              cursor = ~~next;
+              for (i = 0, len = found.length; i < len; i++) {
+                k = found[i];
+                keys.push(k.slice(start, -end));
+              }
+            }
+            return keys;
+          }
+          _startAutoCleanup() {
+            var base;
+            clearInterval(this.interval);
+            return typeof (base = this.interval = setInterval(async () => {
+              var e, k, ref, results, time, v;
+              time = Date.now();
+              ref = this.instances;
+              results = [];
+              for (k in ref) {
+                v = ref[k];
+                try {
+                  if (await v._store.__groupCheck__(time)) {
+                    results.push(this.deleteKey(k));
+                  } else {
+                    results.push(void 0);
+                  }
+                } catch (error3) {
+                  e = error3;
+                  results.push(v.Events.trigger("error", e));
+                }
+              }
+              return results;
+            }, this.timeout / 2)).unref === "function" ? base.unref() : void 0;
+          }
+          updateSettings(options = {}) {
+            parser$3.overwrite(options, this.defaults, this);
+            parser$3.overwrite(options, options, this.limiterOptions);
+            if (options.timeout != null) {
+              return this._startAutoCleanup();
+            }
+          }
+          disconnect(flush = true) {
+            var ref;
+            if (!this.sharedConnection) {
+              return (ref = this.connection) != null ? ref.disconnect(flush) : void 0;
+            }
+          }
+        }
+        Group2.prototype.defaults = {
+          timeout: 1e3 * 60 * 5,
+          connection: null,
+          Promise,
+          id: "group-key"
+        };
+        return Group2;
+      }).call(commonjsGlobal);
+      var Group_1 = Group;
+      var Batcher, Events$3, parser$4;
+      parser$4 = parser;
+      Events$3 = Events_1;
+      Batcher = (function() {
+        class Batcher2 {
+          constructor(options = {}) {
+            this.options = options;
+            parser$4.load(this.options, this.defaults, this);
+            this.Events = new Events$3(this);
+            this._arr = [];
+            this._resetPromise();
+            this._lastFlush = Date.now();
+          }
+          _resetPromise() {
+            return this._promise = new this.Promise((res, rej) => {
+              return this._resolve = res;
+            });
+          }
+          _flush() {
+            clearTimeout(this._timeout);
+            this._lastFlush = Date.now();
+            this._resolve();
+            this.Events.trigger("batch", this._arr);
+            this._arr = [];
+            return this._resetPromise();
+          }
+          add(data) {
+            var ret;
+            this._arr.push(data);
+            ret = this._promise;
+            if (this._arr.length === this.maxSize) {
+              this._flush();
+            } else if (this.maxTime != null && this._arr.length === 1) {
+              this._timeout = setTimeout(() => {
+                return this._flush();
+              }, this.maxTime);
+            }
+            return ret;
+          }
+        }
+        Batcher2.prototype.defaults = {
+          maxTime: null,
+          maxSize: null,
+          Promise
+        };
+        return Batcher2;
+      }).call(commonjsGlobal);
+      var Batcher_1 = Batcher;
+      var require$$4$1 = () => console.log("You must import the full version of Bottleneck in order to use this feature.");
+      var require$$8 = getCjsExportFromNamespace(version$2);
+      var Bottleneck2, DEFAULT_PRIORITY$1, Events$4, Job$1, LocalDatastore$1, NUM_PRIORITIES$1, Queues$1, RedisDatastore$1, States$1, Sync$1, parser$5, splice = [].splice;
+      NUM_PRIORITIES$1 = 10;
+      DEFAULT_PRIORITY$1 = 5;
+      parser$5 = parser;
+      Queues$1 = Queues_1;
+      Job$1 = Job_1;
+      LocalDatastore$1 = LocalDatastore_1;
+      RedisDatastore$1 = require$$4$1;
+      Events$4 = Events_1;
+      States$1 = States_1;
+      Sync$1 = Sync_1;
+      Bottleneck2 = (function() {
+        class Bottleneck3 {
+          constructor(options = {}, ...invalid) {
+            var storeInstanceOptions, storeOptions;
+            this._addToQueue = this._addToQueue.bind(this);
+            this._validateOptions(options, invalid);
+            parser$5.load(options, this.instanceDefaults, this);
+            this._queues = new Queues$1(NUM_PRIORITIES$1);
+            this._scheduled = {};
+            this._states = new States$1(["RECEIVED", "QUEUED", "RUNNING", "EXECUTING"].concat(this.trackDoneStatus ? ["DONE"] : []));
+            this._limiter = null;
+            this.Events = new Events$4(this);
+            this._submitLock = new Sync$1("submit", this.Promise);
+            this._registerLock = new Sync$1("register", this.Promise);
+            storeOptions = parser$5.load(options, this.storeDefaults, {});
+            this._store = (function() {
+              if (this.datastore === "redis" || this.datastore === "ioredis" || this.connection != null) {
+                storeInstanceOptions = parser$5.load(options, this.redisStoreDefaults, {});
+                return new RedisDatastore$1(this, storeOptions, storeInstanceOptions);
+              } else if (this.datastore === "local") {
+                storeInstanceOptions = parser$5.load(options, this.localStoreDefaults, {});
+                return new LocalDatastore$1(this, storeOptions, storeInstanceOptions);
+              } else {
+                throw new Bottleneck3.prototype.BottleneckError(`Invalid datastore type: ${this.datastore}`);
+              }
+            }).call(this);
+            this._queues.on("leftzero", () => {
+              var ref;
+              return (ref = this._store.heartbeat) != null ? typeof ref.ref === "function" ? ref.ref() : void 0 : void 0;
+            });
+            this._queues.on("zero", () => {
+              var ref;
+              return (ref = this._store.heartbeat) != null ? typeof ref.unref === "function" ? ref.unref() : void 0 : void 0;
+            });
+          }
+          _validateOptions(options, invalid) {
+            if (!(options != null && typeof options === "object" && invalid.length === 0)) {
+              throw new Bottleneck3.prototype.BottleneckError("Bottleneck v2 takes a single object argument. Refer to https://github.com/SGrondin/bottleneck#upgrading-to-v2 if you're upgrading from Bottleneck v1.");
+            }
+          }
+          ready() {
+            return this._store.ready;
+          }
+          clients() {
+            return this._store.clients;
+          }
+          channel() {
+            return `b_${this.id}`;
+          }
+          channel_client() {
+            return `b_${this.id}_${this._store.clientId}`;
+          }
+          publish(message) {
+            return this._store.__publish__(message);
+          }
+          disconnect(flush = true) {
+            return this._store.__disconnect__(flush);
+          }
+          chain(_limiter) {
+            this._limiter = _limiter;
+            return this;
+          }
+          queued(priority) {
+            return this._queues.queued(priority);
+          }
+          clusterQueued() {
+            return this._store.__queued__();
+          }
+          empty() {
+            return this.queued() === 0 && this._submitLock.isEmpty();
+          }
+          running() {
+            return this._store.__running__();
+          }
+          done() {
+            return this._store.__done__();
+          }
+          jobStatus(id) {
+            return this._states.jobStatus(id);
+          }
+          jobs(status) {
+            return this._states.statusJobs(status);
+          }
+          counts() {
+            return this._states.statusCounts();
+          }
+          _randomIndex() {
+            return Math.random().toString(36).slice(2);
+          }
+          check(weight = 1) {
+            return this._store.__check__(weight);
+          }
+          _clearGlobalState(index) {
+            if (this._scheduled[index] != null) {
+              clearTimeout(this._scheduled[index].expiration);
+              delete this._scheduled[index];
+              return true;
+            } else {
+              return false;
+            }
+          }
+          async _free(index, job, options, eventInfo) {
+            var e, running;
+            try {
+              ({ running } = await this._store.__free__(index, options.weight));
+              this.Events.trigger("debug", `Freed ${options.id}`, eventInfo);
+              if (running === 0 && this.empty()) {
+                return this.Events.trigger("idle");
+              }
+            } catch (error1) {
+              e = error1;
+              return this.Events.trigger("error", e);
+            }
+          }
+          _run(index, job, wait) {
+            var clearGlobalState, free, run;
+            job.doRun();
+            clearGlobalState = this._clearGlobalState.bind(this, index);
+            run = this._run.bind(this, index, job);
+            free = this._free.bind(this, index, job);
+            return this._scheduled[index] = {
+              timeout: setTimeout(() => {
+                return job.doExecute(this._limiter, clearGlobalState, run, free);
+              }, wait),
+              expiration: job.options.expiration != null ? setTimeout(function() {
+                return job.doExpire(clearGlobalState, run, free);
+              }, wait + job.options.expiration) : void 0,
+              job
+            };
+          }
+          _drainOne(capacity) {
+            return this._registerLock.schedule(() => {
+              var args, index, next, options, queue;
+              if (this.queued() === 0) {
+                return this.Promise.resolve(null);
+              }
+              queue = this._queues.getFirst();
+              ({ options, args } = next = queue.first());
+              if (capacity != null && options.weight > capacity) {
+                return this.Promise.resolve(null);
+              }
+              this.Events.trigger("debug", `Draining ${options.id}`, { args, options });
+              index = this._randomIndex();
+              return this._store.__register__(index, options.weight, options.expiration).then(({ success, wait, reservoir }) => {
+                var empty;
+                this.Events.trigger("debug", `Drained ${options.id}`, { success, args, options });
+                if (success) {
+                  queue.shift();
+                  empty = this.empty();
+                  if (empty) {
+                    this.Events.trigger("empty");
+                  }
+                  if (reservoir === 0) {
+                    this.Events.trigger("depleted", empty);
+                  }
+                  this._run(index, next, wait);
+                  return this.Promise.resolve(options.weight);
+                } else {
+                  return this.Promise.resolve(null);
+                }
+              });
+            });
+          }
+          _drainAll(capacity, total = 0) {
+            return this._drainOne(capacity).then((drained) => {
+              var newCapacity;
+              if (drained != null) {
+                newCapacity = capacity != null ? capacity - drained : capacity;
+                return this._drainAll(newCapacity, total + drained);
+              } else {
+                return this.Promise.resolve(total);
+              }
+            }).catch((e) => {
+              return this.Events.trigger("error", e);
+            });
+          }
+          _dropAllQueued(message) {
+            return this._queues.shiftAll(function(job) {
+              return job.doDrop({ message });
+            });
+          }
+          stop(options = {}) {
+            var done, waitForExecuting;
+            options = parser$5.load(options, this.stopDefaults);
+            waitForExecuting = (at) => {
+              var finished;
+              finished = () => {
+                var counts;
+                counts = this._states.counts;
+                return counts[0] + counts[1] + counts[2] + counts[3] === at;
+              };
+              return new this.Promise((resolve2, reject) => {
+                if (finished()) {
+                  return resolve2();
+                } else {
+                  return this.on("done", () => {
+                    if (finished()) {
+                      this.removeAllListeners("done");
+                      return resolve2();
+                    }
+                  });
+                }
+              });
+            };
+            done = options.dropWaitingJobs ? (this._run = function(index, next) {
+              return next.doDrop({
+                message: options.dropErrorMessage
+              });
+            }, this._drainOne = () => {
+              return this.Promise.resolve(null);
+            }, this._registerLock.schedule(() => {
+              return this._submitLock.schedule(() => {
+                var k, ref, v;
+                ref = this._scheduled;
+                for (k in ref) {
+                  v = ref[k];
+                  if (this.jobStatus(v.job.options.id) === "RUNNING") {
+                    clearTimeout(v.timeout);
+                    clearTimeout(v.expiration);
+                    v.job.doDrop({
+                      message: options.dropErrorMessage
+                    });
+                  }
+                }
+                this._dropAllQueued(options.dropErrorMessage);
+                return waitForExecuting(0);
+              });
+            })) : this.schedule({
+              priority: NUM_PRIORITIES$1 - 1,
+              weight: 0
+            }, () => {
+              return waitForExecuting(1);
+            });
+            this._receive = function(job) {
+              return job._reject(new Bottleneck3.prototype.BottleneckError(options.enqueueErrorMessage));
+            };
+            this.stop = () => {
+              return this.Promise.reject(new Bottleneck3.prototype.BottleneckError("stop() has already been called"));
+            };
+            return done;
+          }
+          async _addToQueue(job) {
+            var args, blocked, error3, options, reachedHWM, shifted, strategy;
+            ({ args, options } = job);
+            try {
+              ({ reachedHWM, blocked, strategy } = await this._store.__submit__(this.queued(), options.weight));
+            } catch (error1) {
+              error3 = error1;
+              this.Events.trigger("debug", `Could not queue ${options.id}`, { args, options, error: error3 });
+              job.doDrop({ error: error3 });
+              return false;
+            }
+            if (blocked) {
+              job.doDrop();
+              return true;
+            } else if (reachedHWM) {
+              shifted = strategy === Bottleneck3.prototype.strategy.LEAK ? this._queues.shiftLastFrom(options.priority) : strategy === Bottleneck3.prototype.strategy.OVERFLOW_PRIORITY ? this._queues.shiftLastFrom(options.priority + 1) : strategy === Bottleneck3.prototype.strategy.OVERFLOW ? job : void 0;
+              if (shifted != null) {
+                shifted.doDrop();
+              }
+              if (shifted == null || strategy === Bottleneck3.prototype.strategy.OVERFLOW) {
+                if (shifted == null) {
+                  job.doDrop();
+                }
+                return reachedHWM;
+              }
+            }
+            job.doQueue(reachedHWM, blocked);
+            this._queues.push(job);
+            await this._drainAll();
+            return reachedHWM;
+          }
+          _receive(job) {
+            if (this._states.jobStatus(job.options.id) != null) {
+              job._reject(new Bottleneck3.prototype.BottleneckError(`A job with the same id already exists (id=${job.options.id})`));
+              return false;
+            } else {
+              job.doReceive();
+              return this._submitLock.schedule(this._addToQueue, job);
+            }
+          }
+          submit(...args) {
+            var cb, fn, job, options, ref, ref1, task;
+            if (typeof args[0] === "function") {
+              ref = args, [fn, ...args] = ref, [cb] = splice.call(args, -1);
+              options = parser$5.load({}, this.jobDefaults);
+            } else {
+              ref1 = args, [options, fn, ...args] = ref1, [cb] = splice.call(args, -1);
+              options = parser$5.load(options, this.jobDefaults);
+            }
+            task = (...args2) => {
+              return new this.Promise(function(resolve2, reject) {
+                return fn(...args2, function(...args3) {
+                  return (args3[0] != null ? reject : resolve2)(args3);
+                });
+              });
+            };
+            job = new Job$1(task, args, options, this.jobDefaults, this.rejectOnDrop, this.Events, this._states, this.Promise);
+            job.promise.then(function(args2) {
+              return typeof cb === "function" ? cb(...args2) : void 0;
+            }).catch(function(args2) {
+              if (Array.isArray(args2)) {
+                return typeof cb === "function" ? cb(...args2) : void 0;
+              } else {
+                return typeof cb === "function" ? cb(args2) : void 0;
+              }
+            });
+            return this._receive(job);
+          }
+          schedule(...args) {
+            var job, options, task;
+            if (typeof args[0] === "function") {
+              [task, ...args] = args;
+              options = {};
+            } else {
+              [options, task, ...args] = args;
+            }
+            job = new Job$1(task, args, options, this.jobDefaults, this.rejectOnDrop, this.Events, this._states, this.Promise);
+            this._receive(job);
+            return job.promise;
+          }
+          wrap(fn) {
+            var schedule, wrapped;
+            schedule = this.schedule.bind(this);
+            wrapped = function(...args) {
+              return schedule(fn.bind(this), ...args);
+            };
+            wrapped.withOptions = function(options, ...args) {
+              return schedule(options, fn, ...args);
+            };
+            return wrapped;
+          }
+          async updateSettings(options = {}) {
+            await this._store.__updateSettings__(parser$5.overwrite(options, this.storeDefaults));
+            parser$5.overwrite(options, this.instanceDefaults, this);
+            return this;
+          }
+          currentReservoir() {
+            return this._store.__currentReservoir__();
+          }
+          incrementReservoir(incr = 0) {
+            return this._store.__incrementReservoir__(incr);
+          }
+        }
+        Bottleneck3.default = Bottleneck3;
+        Bottleneck3.Events = Events$4;
+        Bottleneck3.version = Bottleneck3.prototype.version = require$$8.version;
+        Bottleneck3.strategy = Bottleneck3.prototype.strategy = {
+          LEAK: 1,
+          OVERFLOW: 2,
+          OVERFLOW_PRIORITY: 4,
+          BLOCK: 3
+        };
+        Bottleneck3.BottleneckError = Bottleneck3.prototype.BottleneckError = BottleneckError_1;
+        Bottleneck3.Group = Bottleneck3.prototype.Group = Group_1;
+        Bottleneck3.RedisConnection = Bottleneck3.prototype.RedisConnection = require$$2;
+        Bottleneck3.IORedisConnection = Bottleneck3.prototype.IORedisConnection = require$$3;
+        Bottleneck3.Batcher = Bottleneck3.prototype.Batcher = Batcher_1;
+        Bottleneck3.prototype.jobDefaults = {
+          priority: DEFAULT_PRIORITY$1,
+          weight: 1,
+          expiration: null,
+          id: ""
+        };
+        Bottleneck3.prototype.storeDefaults = {
+          maxConcurrent: null,
+          minTime: 0,
+          highWater: null,
+          strategy: Bottleneck3.prototype.strategy.LEAK,
+          penalty: null,
+          reservoir: null,
+          reservoirRefreshInterval: null,
+          reservoirRefreshAmount: null,
+          reservoirIncreaseInterval: null,
+          reservoirIncreaseAmount: null,
+          reservoirIncreaseMaximum: null
+        };
+        Bottleneck3.prototype.localStoreDefaults = {
+          Promise,
+          timeout: null,
+          heartbeatInterval: 250
+        };
+        Bottleneck3.prototype.redisStoreDefaults = {
+          Promise,
+          timeout: null,
+          heartbeatInterval: 5e3,
+          clientTimeout: 1e4,
+          Redis: null,
+          clientOptions: {},
+          clusterNodes: null,
+          clearDatastore: false,
+          connection: null
+        };
+        Bottleneck3.prototype.instanceDefaults = {
+          datastore: "local",
+          connection: null,
+          id: "",
+          rejectOnDrop: true,
+          trackDoneStatus: false,
+          Promise
+        };
+        Bottleneck3.prototype.stopDefaults = {
+          enqueueErrorMessage: "This limiter has been stopped and cannot accept new jobs.",
+          dropWaitingJobs: true,
+          dropErrorMessage: "This limiter has been stopped."
+        };
+        return Bottleneck3;
+      }).call(commonjsGlobal);
+      var Bottleneck_1 = Bottleneck2;
+      var lib = Bottleneck_1;
+      return lib;
+    }));
+  }
+});
+
+// node_modules/@actions/artifact/lib/internal/shared/config.js
+var require_config = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/shared/config.js"(exports2) {
+    "use strict";
+    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
+      return mod && mod.__esModule ? mod : { "default": mod };
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getMaxArtifactListCount = exports2.getUploadChunkTimeout = exports2.getConcurrency = exports2.getGitHubWorkspaceDir = exports2.isGhes = exports2.getResultsServiceUrl = exports2.getRuntimeToken = exports2.getUploadChunkSize = void 0;
+    var os_1 = __importDefault2(require("os"));
+    var core_1 = require_core();
+    function getUploadChunkSize() {
+      return 8 * 1024 * 1024;
+    }
+    exports2.getUploadChunkSize = getUploadChunkSize;
+    function getRuntimeToken() {
+      const token = process.env["ACTIONS_RUNTIME_TOKEN"];
+      if (!token) {
+        throw new Error("Unable to get the ACTIONS_RUNTIME_TOKEN env variable");
+      }
+      return token;
+    }
+    exports2.getRuntimeToken = getRuntimeToken;
+    function getResultsServiceUrl() {
+      const resultsUrl = process.env["ACTIONS_RESULTS_URL"];
+      if (!resultsUrl) {
+        throw new Error("Unable to get the ACTIONS_RESULTS_URL env variable");
+      }
+      return new URL(resultsUrl).origin;
+    }
+    exports2.getResultsServiceUrl = getResultsServiceUrl;
+    function isGhes() {
+      const ghUrl = new URL(process.env["GITHUB_SERVER_URL"] || "https://github.com");
+      const hostname = ghUrl.hostname.trimEnd().toUpperCase();
+      const isGitHubHost = hostname === "GITHUB.COM";
+      const isGheHost = hostname.endsWith(".GHE.COM");
+      const isLocalHost = hostname.endsWith(".LOCALHOST");
+      return !isGitHubHost && !isGheHost && !isLocalHost;
+    }
+    exports2.isGhes = isGhes;
+    function getGitHubWorkspaceDir() {
+      const ghWorkspaceDir = process.env["GITHUB_WORKSPACE"];
+      if (!ghWorkspaceDir) {
+        throw new Error("Unable to get the GITHUB_WORKSPACE env variable");
+      }
+      return ghWorkspaceDir;
+    }
+    exports2.getGitHubWorkspaceDir = getGitHubWorkspaceDir;
+    function getConcurrency() {
+      const numCPUs = os_1.default.cpus().length;
+      let concurrencyCap = 32;
+      if (numCPUs > 4) {
+        const concurrency = 16 * numCPUs;
+        concurrencyCap = concurrency > 300 ? 300 : concurrency;
+      }
+      const concurrencyOverride = process.env["ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY"];
+      if (concurrencyOverride) {
+        const concurrency = parseInt(concurrencyOverride);
+        if (isNaN(concurrency) || concurrency < 1) {
+          throw new Error("Invalid value set for ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY env variable");
+        }
+        if (concurrency < concurrencyCap) {
+          (0, core_1.info)(`Set concurrency based on the value set in ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY.`);
+          return concurrency;
+        }
+        (0, core_1.info)(`ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY is higher than the cap of ${concurrencyCap} based on the number of cpus. Set it to the maximum value allowed.`);
+        return concurrencyCap;
+      }
+      return 5;
+    }
+    exports2.getConcurrency = getConcurrency;
+    function getUploadChunkTimeout() {
+      const timeoutVar = process.env["ACTIONS_ARTIFACT_UPLOAD_TIMEOUT_MS"];
+      if (!timeoutVar) {
+        return 3e5;
+      }
+      const timeout = parseInt(timeoutVar);
+      if (isNaN(timeout)) {
+        throw new Error("Invalid value set for ACTIONS_ARTIFACT_UPLOAD_TIMEOUT_MS env variable");
+      }
+      return timeout;
+    }
+    exports2.getUploadChunkTimeout = getUploadChunkTimeout;
+    function getMaxArtifactListCount() {
+      const maxCountVar = process.env["ACTIONS_ARTIFACT_MAX_ARTIFACT_COUNT"] || "1000";
+      const maxCount = parseInt(maxCountVar);
+      if (isNaN(maxCount) || maxCount < 1) {
+        throw new Error("Invalid value set for ACTIONS_ARTIFACT_MAX_ARTIFACT_COUNT env variable");
+      }
+      return maxCount;
+    }
+    exports2.getMaxArtifactListCount = getMaxArtifactListCount;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/json-typings.js
+var require_json_typings = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/json-typings.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isJsonObject = exports2.typeofJsonValue = void 0;
+    function typeofJsonValue(value) {
+      let t = typeof value;
+      if (t == "object") {
+        if (Array.isArray(value))
+          return "array";
+        if (value === null)
+          return "null";
+      }
+      return t;
+    }
+    exports2.typeofJsonValue = typeofJsonValue;
+    function isJsonObject(value) {
+      return value !== null && typeof value == "object" && !Array.isArray(value);
+    }
+    exports2.isJsonObject = isJsonObject;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/base64.js
+var require_base64 = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/base64.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.base64encode = exports2.base64decode = void 0;
+    var encTable = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");
+    var decTable = [];
+    for (let i = 0; i < encTable.length; i++)
+      decTable[encTable[i].charCodeAt(0)] = i;
+    decTable["-".charCodeAt(0)] = encTable.indexOf("+");
+    decTable["_".charCodeAt(0)] = encTable.indexOf("/");
+    function base64decode(base64Str) {
+      let es = base64Str.length * 3 / 4;
+      if (base64Str[base64Str.length - 2] == "=")
+        es -= 2;
+      else if (base64Str[base64Str.length - 1] == "=")
+        es -= 1;
+      let bytes = new Uint8Array(es), bytePos = 0, groupPos = 0, b, p = 0;
+      for (let i = 0; i < base64Str.length; i++) {
+        b = decTable[base64Str.charCodeAt(i)];
+        if (b === void 0) {
+          switch (base64Str[i]) {
+            case "=":
+              groupPos = 0;
+            // reset state when padding found
+            case "\n":
+            case "\r":
+            case "	":
+            case " ":
+              continue;
+            // skip white-space, and padding
+            default:
+              throw Error(`invalid base64 string.`);
+          }
+        }
+        switch (groupPos) {
+          case 0:
+            p = b;
+            groupPos = 1;
+            break;
+          case 1:
+            bytes[bytePos++] = p << 2 | (b & 48) >> 4;
+            p = b;
+            groupPos = 2;
+            break;
+          case 2:
+            bytes[bytePos++] = (p & 15) << 4 | (b & 60) >> 2;
+            p = b;
+            groupPos = 3;
+            break;
+          case 3:
+            bytes[bytePos++] = (p & 3) << 6 | b;
+            groupPos = 0;
+            break;
+        }
+      }
+      if (groupPos == 1)
+        throw Error(`invalid base64 string.`);
+      return bytes.subarray(0, bytePos);
+    }
+    exports2.base64decode = base64decode;
+    function base64encode(bytes) {
+      let base64 = "", groupPos = 0, b, p = 0;
+      for (let i = 0; i < bytes.length; i++) {
+        b = bytes[i];
+        switch (groupPos) {
+          case 0:
+            base64 += encTable[b >> 2];
+            p = (b & 3) << 4;
+            groupPos = 1;
+            break;
+          case 1:
+            base64 += encTable[p | b >> 4];
+            p = (b & 15) << 2;
+            groupPos = 2;
+            break;
+          case 2:
+            base64 += encTable[p | b >> 6];
+            base64 += encTable[b & 63];
+            groupPos = 0;
+            break;
+        }
+      }
+      if (groupPos) {
+        base64 += encTable[p];
+        base64 += "=";
+        if (groupPos == 1)
+          base64 += "=";
+      }
+      return base64;
+    }
+    exports2.base64encode = base64encode;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/protobufjs-utf8.js
+var require_protobufjs_utf8 = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/protobufjs-utf8.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.utf8read = void 0;
+    var fromCharCodes = (chunk) => String.fromCharCode.apply(String, chunk);
+    function utf8read(bytes) {
+      if (bytes.length < 1)
+        return "";
+      let pos = 0, parts = [], chunk = [], i = 0, t;
+      let len = bytes.length;
+      while (pos < len) {
+        t = bytes[pos++];
+        if (t < 128)
+          chunk[i++] = t;
+        else if (t > 191 && t < 224)
+          chunk[i++] = (t & 31) << 6 | bytes[pos++] & 63;
+        else if (t > 239 && t < 365) {
+          t = ((t & 7) << 18 | (bytes[pos++] & 63) << 12 | (bytes[pos++] & 63) << 6 | bytes[pos++] & 63) - 65536;
+          chunk[i++] = 55296 + (t >> 10);
+          chunk[i++] = 56320 + (t & 1023);
+        } else
+          chunk[i++] = (t & 15) << 12 | (bytes[pos++] & 63) << 6 | bytes[pos++] & 63;
+        if (i > 8191) {
+          parts.push(fromCharCodes(chunk));
+          i = 0;
+        }
+      }
+      if (parts.length) {
+        if (i)
+          parts.push(fromCharCodes(chunk.slice(0, i)));
+        return parts.join("");
+      }
+      return fromCharCodes(chunk.slice(0, i));
+    }
+    exports2.utf8read = utf8read;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/binary-format-contract.js
+var require_binary_format_contract = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/binary-format-contract.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.WireType = exports2.mergeBinaryOptions = exports2.UnknownFieldHandler = void 0;
+    var UnknownFieldHandler;
+    (function(UnknownFieldHandler2) {
+      UnknownFieldHandler2.symbol = /* @__PURE__ */ Symbol.for("protobuf-ts/unknown");
+      UnknownFieldHandler2.onRead = (typeName, message, fieldNo, wireType, data) => {
+        let container = is(message) ? message[UnknownFieldHandler2.symbol] : message[UnknownFieldHandler2.symbol] = [];
+        container.push({ no: fieldNo, wireType, data });
+      };
+      UnknownFieldHandler2.onWrite = (typeName, message, writer) => {
+        for (let { no, wireType, data } of UnknownFieldHandler2.list(message))
+          writer.tag(no, wireType).raw(data);
+      };
+      UnknownFieldHandler2.list = (message, fieldNo) => {
+        if (is(message)) {
+          let all = message[UnknownFieldHandler2.symbol];
+          return fieldNo ? all.filter((uf) => uf.no == fieldNo) : all;
+        }
+        return [];
+      };
+      UnknownFieldHandler2.last = (message, fieldNo) => UnknownFieldHandler2.list(message, fieldNo).slice(-1)[0];
+      const is = (message) => message && Array.isArray(message[UnknownFieldHandler2.symbol]);
+    })(UnknownFieldHandler = exports2.UnknownFieldHandler || (exports2.UnknownFieldHandler = {}));
+    function mergeBinaryOptions(a, b) {
+      return Object.assign(Object.assign({}, a), b);
+    }
+    exports2.mergeBinaryOptions = mergeBinaryOptions;
+    var WireType;
+    (function(WireType2) {
+      WireType2[WireType2["Varint"] = 0] = "Varint";
+      WireType2[WireType2["Bit64"] = 1] = "Bit64";
+      WireType2[WireType2["LengthDelimited"] = 2] = "LengthDelimited";
+      WireType2[WireType2["StartGroup"] = 3] = "StartGroup";
+      WireType2[WireType2["EndGroup"] = 4] = "EndGroup";
+      WireType2[WireType2["Bit32"] = 5] = "Bit32";
+    })(WireType = exports2.WireType || (exports2.WireType = {}));
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/goog-varint.js
+var require_goog_varint = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/goog-varint.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.varint32read = exports2.varint32write = exports2.int64toString = exports2.int64fromString = exports2.varint64write = exports2.varint64read = void 0;
+    function varint64read() {
+      let lowBits = 0;
+      let highBits = 0;
+      for (let shift = 0; shift < 28; shift += 7) {
+        let b = this.buf[this.pos++];
+        lowBits |= (b & 127) << shift;
+        if ((b & 128) == 0) {
+          this.assertBounds();
+          return [lowBits, highBits];
+        }
+      }
+      let middleByte = this.buf[this.pos++];
+      lowBits |= (middleByte & 15) << 28;
+      highBits = (middleByte & 112) >> 4;
+      if ((middleByte & 128) == 0) {
+        this.assertBounds();
+        return [lowBits, highBits];
+      }
+      for (let shift = 3; shift <= 31; shift += 7) {
+        let b = this.buf[this.pos++];
+        highBits |= (b & 127) << shift;
+        if ((b & 128) == 0) {
+          this.assertBounds();
+          return [lowBits, highBits];
+        }
+      }
+      throw new Error("invalid varint");
+    }
+    exports2.varint64read = varint64read;
+    function varint64write(lo, hi, bytes) {
+      for (let i = 0; i < 28; i = i + 7) {
+        const shift = lo >>> i;
+        const hasNext = !(shift >>> 7 == 0 && hi == 0);
+        const byte = (hasNext ? shift | 128 : shift) & 255;
+        bytes.push(byte);
+        if (!hasNext) {
+          return;
+        }
+      }
+      const splitBits = lo >>> 28 & 15 | (hi & 7) << 4;
+      const hasMoreBits = !(hi >> 3 == 0);
+      bytes.push((hasMoreBits ? splitBits | 128 : splitBits) & 255);
+      if (!hasMoreBits) {
+        return;
+      }
+      for (let i = 3; i < 31; i = i + 7) {
+        const shift = hi >>> i;
+        const hasNext = !(shift >>> 7 == 0);
+        const byte = (hasNext ? shift | 128 : shift) & 255;
+        bytes.push(byte);
+        if (!hasNext) {
+          return;
+        }
+      }
+      bytes.push(hi >>> 31 & 1);
+    }
+    exports2.varint64write = varint64write;
+    var TWO_PWR_32_DBL = (1 << 16) * (1 << 16);
+    function int64fromString(dec) {
+      let minus = dec[0] == "-";
+      if (minus)
+        dec = dec.slice(1);
+      const base = 1e6;
+      let lowBits = 0;
+      let highBits = 0;
+      function add1e6digit(begin, end) {
+        const digit1e6 = Number(dec.slice(begin, end));
+        highBits *= base;
+        lowBits = lowBits * base + digit1e6;
+        if (lowBits >= TWO_PWR_32_DBL) {
+          highBits = highBits + (lowBits / TWO_PWR_32_DBL | 0);
+          lowBits = lowBits % TWO_PWR_32_DBL;
+        }
+      }
+      add1e6digit(-24, -18);
+      add1e6digit(-18, -12);
+      add1e6digit(-12, -6);
+      add1e6digit(-6);
+      return [minus, lowBits, highBits];
+    }
+    exports2.int64fromString = int64fromString;
+    function int64toString(bitsLow, bitsHigh) {
+      if (bitsHigh >>> 0 <= 2097151) {
+        return "" + (TWO_PWR_32_DBL * bitsHigh + (bitsLow >>> 0));
+      }
+      let low = bitsLow & 16777215;
+      let mid = (bitsLow >>> 24 | bitsHigh << 8) >>> 0 & 16777215;
+      let high = bitsHigh >> 16 & 65535;
+      let digitA = low + mid * 6777216 + high * 6710656;
+      let digitB = mid + high * 8147497;
+      let digitC = high * 2;
+      let base = 1e7;
+      if (digitA >= base) {
+        digitB += Math.floor(digitA / base);
+        digitA %= base;
+      }
+      if (digitB >= base) {
+        digitC += Math.floor(digitB / base);
+        digitB %= base;
+      }
+      function decimalFrom1e7(digit1e7, needLeadingZeros) {
+        let partial = digit1e7 ? String(digit1e7) : "";
+        if (needLeadingZeros) {
+          return "0000000".slice(partial.length) + partial;
+        }
+        return partial;
+      }
+      return decimalFrom1e7(
+        digitC,
+        /*needLeadingZeros=*/
+        0
+      ) + decimalFrom1e7(
+        digitB,
+        /*needLeadingZeros=*/
+        digitC
+      ) + // If the final 1e7 digit didn't need leading zeros, we would have
+      // returned via the trivial code path at the top.
+      decimalFrom1e7(
+        digitA,
+        /*needLeadingZeros=*/
+        1
+      );
+    }
+    exports2.int64toString = int64toString;
+    function varint32write(value, bytes) {
+      if (value >= 0) {
+        while (value > 127) {
+          bytes.push(value & 127 | 128);
+          value = value >>> 7;
+        }
+        bytes.push(value);
+      } else {
+        for (let i = 0; i < 9; i++) {
+          bytes.push(value & 127 | 128);
+          value = value >> 7;
+        }
+        bytes.push(1);
+      }
+    }
+    exports2.varint32write = varint32write;
+    function varint32read() {
+      let b = this.buf[this.pos++];
+      let result = b & 127;
+      if ((b & 128) == 0) {
+        this.assertBounds();
+        return result;
+      }
+      b = this.buf[this.pos++];
+      result |= (b & 127) << 7;
+      if ((b & 128) == 0) {
+        this.assertBounds();
+        return result;
+      }
+      b = this.buf[this.pos++];
+      result |= (b & 127) << 14;
+      if ((b & 128) == 0) {
+        this.assertBounds();
+        return result;
+      }
+      b = this.buf[this.pos++];
+      result |= (b & 127) << 21;
+      if ((b & 128) == 0) {
+        this.assertBounds();
+        return result;
+      }
+      b = this.buf[this.pos++];
+      result |= (b & 15) << 28;
+      for (let readBytes = 5; (b & 128) !== 0 && readBytes < 10; readBytes++)
+        b = this.buf[this.pos++];
+      if ((b & 128) != 0)
+        throw new Error("invalid varint");
+      this.assertBounds();
+      return result >>> 0;
+    }
+    exports2.varint32read = varint32read;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/pb-long.js
+var require_pb_long = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/pb-long.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.PbLong = exports2.PbULong = exports2.detectBi = void 0;
+    var goog_varint_1 = require_goog_varint();
+    var BI;
+    function detectBi() {
+      const dv = new DataView(new ArrayBuffer(8));
+      const ok = globalThis.BigInt !== void 0 && typeof dv.getBigInt64 === "function" && typeof dv.getBigUint64 === "function" && typeof dv.setBigInt64 === "function" && typeof dv.setBigUint64 === "function";
+      BI = ok ? {
+        MIN: BigInt("-9223372036854775808"),
+        MAX: BigInt("9223372036854775807"),
+        UMIN: BigInt("0"),
+        UMAX: BigInt("18446744073709551615"),
+        C: BigInt,
+        V: dv
+      } : void 0;
+    }
+    exports2.detectBi = detectBi;
+    detectBi();
+    function assertBi(bi) {
+      if (!bi)
+        throw new Error("BigInt unavailable, see https://github.com/timostamm/protobuf-ts/blob/v1.0.8/MANUAL.md#bigint-support");
+    }
+    var RE_DECIMAL_STR = /^-?[0-9]+$/;
+    var TWO_PWR_32_DBL = 4294967296;
+    var HALF_2_PWR_32 = 2147483648;
+    var SharedPbLong = class {
+      /**
+       * Create a new instance with the given bits.
+       */
+      constructor(lo, hi) {
+        this.lo = lo | 0;
+        this.hi = hi | 0;
+      }
+      /**
+       * Is this instance equal to 0?
+       */
+      isZero() {
+        return this.lo == 0 && this.hi == 0;
+      }
+      /**
+       * Convert to a native number.
+       */
+      toNumber() {
+        let result = this.hi * TWO_PWR_32_DBL + (this.lo >>> 0);
+        if (!Number.isSafeInteger(result))
+          throw new Error("cannot convert to safe number");
+        return result;
+      }
+    };
+    var PbULong = class _PbULong extends SharedPbLong {
+      /**
+       * Create instance from a `string`, `number` or `bigint`.
+       */
+      static from(value) {
+        if (BI)
+          switch (typeof value) {
+            case "string":
+              if (value == "0")
+                return this.ZERO;
+              if (value == "")
+                throw new Error("string is no integer");
+              value = BI.C(value);
+            case "number":
+              if (value === 0)
+                return this.ZERO;
+              value = BI.C(value);
+            case "bigint":
+              if (!value)
+                return this.ZERO;
+              if (value < BI.UMIN)
+                throw new Error("signed value for ulong");
+              if (value > BI.UMAX)
+                throw new Error("ulong too large");
+              BI.V.setBigUint64(0, value, true);
+              return new _PbULong(BI.V.getInt32(0, true), BI.V.getInt32(4, true));
+          }
+        else
+          switch (typeof value) {
+            case "string":
+              if (value == "0")
+                return this.ZERO;
+              value = value.trim();
+              if (!RE_DECIMAL_STR.test(value))
+                throw new Error("string is no integer");
+              let [minus, lo, hi] = goog_varint_1.int64fromString(value);
+              if (minus)
+                throw new Error("signed value for ulong");
+              return new _PbULong(lo, hi);
+            case "number":
+              if (value == 0)
+                return this.ZERO;
+              if (!Number.isSafeInteger(value))
+                throw new Error("number is no integer");
+              if (value < 0)
+                throw new Error("signed value for ulong");
+              return new _PbULong(value, value / TWO_PWR_32_DBL);
+          }
+        throw new Error("unknown value " + typeof value);
+      }
+      /**
+       * Convert to decimal string.
+       */
+      toString() {
+        return BI ? this.toBigInt().toString() : goog_varint_1.int64toString(this.lo, this.hi);
+      }
+      /**
+       * Convert to native bigint.
+       */
+      toBigInt() {
+        assertBi(BI);
+        BI.V.setInt32(0, this.lo, true);
+        BI.V.setInt32(4, this.hi, true);
+        return BI.V.getBigUint64(0, true);
+      }
+    };
+    exports2.PbULong = PbULong;
+    PbULong.ZERO = new PbULong(0, 0);
+    var PbLong = class _PbLong extends SharedPbLong {
+      /**
+       * Create instance from a `string`, `number` or `bigint`.
+       */
+      static from(value) {
+        if (BI)
+          switch (typeof value) {
+            case "string":
+              if (value == "0")
+                return this.ZERO;
+              if (value == "")
+                throw new Error("string is no integer");
+              value = BI.C(value);
+            case "number":
+              if (value === 0)
+                return this.ZERO;
+              value = BI.C(value);
+            case "bigint":
+              if (!value)
+                return this.ZERO;
+              if (value < BI.MIN)
+                throw new Error("signed long too small");
+              if (value > BI.MAX)
+                throw new Error("signed long too large");
+              BI.V.setBigInt64(0, value, true);
+              return new _PbLong(BI.V.getInt32(0, true), BI.V.getInt32(4, true));
+          }
+        else
+          switch (typeof value) {
+            case "string":
+              if (value == "0")
+                return this.ZERO;
+              value = value.trim();
+              if (!RE_DECIMAL_STR.test(value))
+                throw new Error("string is no integer");
+              let [minus, lo, hi] = goog_varint_1.int64fromString(value);
+              if (minus) {
+                if (hi > HALF_2_PWR_32 || hi == HALF_2_PWR_32 && lo != 0)
+                  throw new Error("signed long too small");
+              } else if (hi >= HALF_2_PWR_32)
+                throw new Error("signed long too large");
+              let pbl = new _PbLong(lo, hi);
+              return minus ? pbl.negate() : pbl;
+            case "number":
+              if (value == 0)
+                return this.ZERO;
+              if (!Number.isSafeInteger(value))
+                throw new Error("number is no integer");
+              return value > 0 ? new _PbLong(value, value / TWO_PWR_32_DBL) : new _PbLong(-value, -value / TWO_PWR_32_DBL).negate();
+          }
+        throw new Error("unknown value " + typeof value);
+      }
+      /**
+       * Do we have a minus sign?
+       */
+      isNegative() {
+        return (this.hi & HALF_2_PWR_32) !== 0;
+      }
+      /**
+       * Negate two's complement.
+       * Invert all the bits and add one to the result.
+       */
+      negate() {
+        let hi = ~this.hi, lo = this.lo;
+        if (lo)
+          lo = ~lo + 1;
+        else
+          hi += 1;
+        return new _PbLong(lo, hi);
+      }
+      /**
+       * Convert to decimal string.
+       */
+      toString() {
+        if (BI)
+          return this.toBigInt().toString();
+        if (this.isNegative()) {
+          let n = this.negate();
+          return "-" + goog_varint_1.int64toString(n.lo, n.hi);
+        }
+        return goog_varint_1.int64toString(this.lo, this.hi);
+      }
+      /**
+       * Convert to native bigint.
+       */
+      toBigInt() {
+        assertBi(BI);
+        BI.V.setInt32(0, this.lo, true);
+        BI.V.setInt32(4, this.hi, true);
+        return BI.V.getBigInt64(0, true);
+      }
+    };
+    exports2.PbLong = PbLong;
+    PbLong.ZERO = new PbLong(0, 0);
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/binary-reader.js
+var require_binary_reader = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/binary-reader.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BinaryReader = exports2.binaryReadOptions = void 0;
+    var binary_format_contract_1 = require_binary_format_contract();
+    var pb_long_1 = require_pb_long();
+    var goog_varint_1 = require_goog_varint();
+    var defaultsRead = {
+      readUnknownField: true,
+      readerFactory: (bytes) => new BinaryReader(bytes)
+    };
+    function binaryReadOptions(options) {
+      return options ? Object.assign(Object.assign({}, defaultsRead), options) : defaultsRead;
+    }
+    exports2.binaryReadOptions = binaryReadOptions;
+    var BinaryReader = class {
+      constructor(buf, textDecoder) {
+        this.varint64 = goog_varint_1.varint64read;
+        this.uint32 = goog_varint_1.varint32read;
+        this.buf = buf;
+        this.len = buf.length;
+        this.pos = 0;
+        this.view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
+        this.textDecoder = textDecoder !== null && textDecoder !== void 0 ? textDecoder : new TextDecoder("utf-8", {
+          fatal: true,
+          ignoreBOM: true
+        });
+      }
+      /**
+       * Reads a tag - field number and wire type.
+       */
+      tag() {
+        let tag = this.uint32(), fieldNo = tag >>> 3, wireType = tag & 7;
+        if (fieldNo <= 0 || wireType < 0 || wireType > 5)
+          throw new Error("illegal tag: field no " + fieldNo + " wire type " + wireType);
+        return [fieldNo, wireType];
+      }
+      /**
+       * Skip one element on the wire and return the skipped data.
+       * Supports WireType.StartGroup since v2.0.0-alpha.23.
+       */
+      skip(wireType) {
+        let start = this.pos;
+        switch (wireType) {
+          case binary_format_contract_1.WireType.Varint:
+            while (this.buf[this.pos++] & 128) {
+            }
+            break;
+          case binary_format_contract_1.WireType.Bit64:
+            this.pos += 4;
+          case binary_format_contract_1.WireType.Bit32:
+            this.pos += 4;
+            break;
+          case binary_format_contract_1.WireType.LengthDelimited:
+            let len = this.uint32();
+            this.pos += len;
+            break;
+          case binary_format_contract_1.WireType.StartGroup:
+            let t;
+            while ((t = this.tag()[1]) !== binary_format_contract_1.WireType.EndGroup) {
+              this.skip(t);
+            }
+            break;
+          default:
+            throw new Error("cant skip wire type " + wireType);
+        }
+        this.assertBounds();
+        return this.buf.subarray(start, this.pos);
+      }
+      /**
+       * Throws error if position in byte array is out of range.
+       */
+      assertBounds() {
+        if (this.pos > this.len)
+          throw new RangeError("premature EOF");
+      }
+      /**
+       * Read a `int32` field, a signed 32 bit varint.
+       */
+      int32() {
+        return this.uint32() | 0;
+      }
+      /**
+       * Read a `sint32` field, a signed, zigzag-encoded 32-bit varint.
+       */
+      sint32() {
+        let zze = this.uint32();
+        return zze >>> 1 ^ -(zze & 1);
+      }
+      /**
+       * Read a `int64` field, a signed 64-bit varint.
+       */
+      int64() {
+        return new pb_long_1.PbLong(...this.varint64());
+      }
+      /**
+       * Read a `uint64` field, an unsigned 64-bit varint.
+       */
+      uint64() {
+        return new pb_long_1.PbULong(...this.varint64());
+      }
+      /**
+       * Read a `sint64` field, a signed, zig-zag-encoded 64-bit varint.
+       */
+      sint64() {
+        let [lo, hi] = this.varint64();
+        let s = -(lo & 1);
+        lo = (lo >>> 1 | (hi & 1) << 31) ^ s;
+        hi = hi >>> 1 ^ s;
+        return new pb_long_1.PbLong(lo, hi);
+      }
+      /**
+       * Read a `bool` field, a variant.
+       */
+      bool() {
+        let [lo, hi] = this.varint64();
+        return lo !== 0 || hi !== 0;
+      }
+      /**
+       * Read a `fixed32` field, an unsigned, fixed-length 32-bit integer.
+       */
+      fixed32() {
+        return this.view.getUint32((this.pos += 4) - 4, true);
+      }
+      /**
+       * Read a `sfixed32` field, a signed, fixed-length 32-bit integer.
+       */
+      sfixed32() {
+        return this.view.getInt32((this.pos += 4) - 4, true);
+      }
+      /**
+       * Read a `fixed64` field, an unsigned, fixed-length 64 bit integer.
+       */
+      fixed64() {
+        return new pb_long_1.PbULong(this.sfixed32(), this.sfixed32());
+      }
+      /**
+       * Read a `fixed64` field, a signed, fixed-length 64-bit integer.
+       */
+      sfixed64() {
+        return new pb_long_1.PbLong(this.sfixed32(), this.sfixed32());
+      }
+      /**
+       * Read a `float` field, 32-bit floating point number.
+       */
+      float() {
+        return this.view.getFloat32((this.pos += 4) - 4, true);
+      }
+      /**
+       * Read a `double` field, a 64-bit floating point number.
+       */
+      double() {
+        return this.view.getFloat64((this.pos += 8) - 8, true);
+      }
+      /**
+       * Read a `bytes` field, length-delimited arbitrary data.
+       */
+      bytes() {
+        let len = this.uint32();
+        let start = this.pos;
+        this.pos += len;
+        this.assertBounds();
+        return this.buf.subarray(start, start + len);
+      }
+      /**
+       * Read a `string` field, length-delimited data converted to UTF-8 text.
+       */
+      string() {
+        return this.textDecoder.decode(this.bytes());
+      }
+    };
+    exports2.BinaryReader = BinaryReader;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/assert.js
+var require_assert = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/assert.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.assertFloat32 = exports2.assertUInt32 = exports2.assertInt32 = exports2.assertNever = exports2.assert = void 0;
+    function assert(condition, msg) {
+      if (!condition) {
+        throw new Error(msg);
+      }
+    }
+    exports2.assert = assert;
+    function assertNever2(value, msg) {
+      throw new Error(msg !== null && msg !== void 0 ? msg : "Unexpected object: " + value);
+    }
+    exports2.assertNever = assertNever2;
+    var FLOAT32_MAX = 34028234663852886e22;
+    var FLOAT32_MIN = -34028234663852886e22;
+    var UINT32_MAX = 4294967295;
+    var INT32_MAX = 2147483647;
+    var INT32_MIN = -2147483648;
+    function assertInt32(arg) {
+      if (typeof arg !== "number")
+        throw new Error("invalid int 32: " + typeof arg);
+      if (!Number.isInteger(arg) || arg > INT32_MAX || arg < INT32_MIN)
+        throw new Error("invalid int 32: " + arg);
+    }
+    exports2.assertInt32 = assertInt32;
+    function assertUInt32(arg) {
+      if (typeof arg !== "number")
+        throw new Error("invalid uint 32: " + typeof arg);
+      if (!Number.isInteger(arg) || arg > UINT32_MAX || arg < 0)
+        throw new Error("invalid uint 32: " + arg);
+    }
+    exports2.assertUInt32 = assertUInt32;
+    function assertFloat32(arg) {
+      if (typeof arg !== "number")
+        throw new Error("invalid float 32: " + typeof arg);
+      if (!Number.isFinite(arg))
+        return;
+      if (arg > FLOAT32_MAX || arg < FLOAT32_MIN)
+        throw new Error("invalid float 32: " + arg);
+    }
+    exports2.assertFloat32 = assertFloat32;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/binary-writer.js
+var require_binary_writer = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/binary-writer.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BinaryWriter = exports2.binaryWriteOptions = void 0;
+    var pb_long_1 = require_pb_long();
+    var goog_varint_1 = require_goog_varint();
+    var assert_1 = require_assert();
+    var defaultsWrite = {
+      writeUnknownFields: true,
+      writerFactory: () => new BinaryWriter()
+    };
+    function binaryWriteOptions(options) {
+      return options ? Object.assign(Object.assign({}, defaultsWrite), options) : defaultsWrite;
+    }
+    exports2.binaryWriteOptions = binaryWriteOptions;
+    var BinaryWriter = class {
+      constructor(textEncoder) {
+        this.stack = [];
+        this.textEncoder = textEncoder !== null && textEncoder !== void 0 ? textEncoder : new TextEncoder();
+        this.chunks = [];
+        this.buf = [];
+      }
+      /**
+       * Return all bytes written and reset this writer.
+       */
+      finish() {
+        this.chunks.push(new Uint8Array(this.buf));
+        let len = 0;
+        for (let i = 0; i < this.chunks.length; i++)
+          len += this.chunks[i].length;
+        let bytes = new Uint8Array(len);
+        let offset = 0;
+        for (let i = 0; i < this.chunks.length; i++) {
+          bytes.set(this.chunks[i], offset);
+          offset += this.chunks[i].length;
+        }
+        this.chunks = [];
+        return bytes;
+      }
+      /**
+       * Start a new fork for length-delimited data like a message
+       * or a packed repeated field.
+       *
+       * Must be joined later with `join()`.
+       */
+      fork() {
+        this.stack.push({ chunks: this.chunks, buf: this.buf });
+        this.chunks = [];
+        this.buf = [];
+        return this;
+      }
+      /**
+       * Join the last fork. Write its length and bytes, then
+       * return to the previous state.
+       */
+      join() {
+        let chunk = this.finish();
+        let prev = this.stack.pop();
+        if (!prev)
+          throw new Error("invalid state, fork stack empty");
+        this.chunks = prev.chunks;
+        this.buf = prev.buf;
+        this.uint32(chunk.byteLength);
+        return this.raw(chunk);
+      }
+      /**
+       * Writes a tag (field number and wire type).
+       *
+       * Equivalent to `uint32( (fieldNo << 3 | type) >>> 0 )`.
+       *
+       * Generated code should compute the tag ahead of time and call `uint32()`.
+       */
+      tag(fieldNo, type2) {
+        return this.uint32((fieldNo << 3 | type2) >>> 0);
+      }
+      /**
+       * Write a chunk of raw bytes.
+       */
+      raw(chunk) {
+        if (this.buf.length) {
+          this.chunks.push(new Uint8Array(this.buf));
+          this.buf = [];
+        }
+        this.chunks.push(chunk);
+        return this;
+      }
+      /**
+       * Write a `uint32` value, an unsigned 32 bit varint.
+       */
+      uint32(value) {
+        assert_1.assertUInt32(value);
+        while (value > 127) {
+          this.buf.push(value & 127 | 128);
+          value = value >>> 7;
+        }
+        this.buf.push(value);
+        return this;
+      }
+      /**
+       * Write a `int32` value, a signed 32 bit varint.
+       */
+      int32(value) {
+        assert_1.assertInt32(value);
+        goog_varint_1.varint32write(value, this.buf);
+        return this;
+      }
+      /**
+       * Write a `bool` value, a variant.
+       */
+      bool(value) {
+        this.buf.push(value ? 1 : 0);
+        return this;
+      }
+      /**
+       * Write a `bytes` value, length-delimited arbitrary data.
+       */
+      bytes(value) {
+        this.uint32(value.byteLength);
+        return this.raw(value);
+      }
+      /**
+       * Write a `string` value, length-delimited data converted to UTF-8 text.
+       */
+      string(value) {
+        let chunk = this.textEncoder.encode(value);
+        this.uint32(chunk.byteLength);
+        return this.raw(chunk);
+      }
+      /**
+       * Write a `float` value, 32-bit floating point number.
+       */
+      float(value) {
+        assert_1.assertFloat32(value);
+        let chunk = new Uint8Array(4);
+        new DataView(chunk.buffer).setFloat32(0, value, true);
+        return this.raw(chunk);
+      }
+      /**
+       * Write a `double` value, a 64-bit floating point number.
+       */
+      double(value) {
+        let chunk = new Uint8Array(8);
+        new DataView(chunk.buffer).setFloat64(0, value, true);
+        return this.raw(chunk);
+      }
+      /**
+       * Write a `fixed32` value, an unsigned, fixed-length 32-bit integer.
+       */
+      fixed32(value) {
+        assert_1.assertUInt32(value);
+        let chunk = new Uint8Array(4);
+        new DataView(chunk.buffer).setUint32(0, value, true);
+        return this.raw(chunk);
+      }
+      /**
+       * Write a `sfixed32` value, a signed, fixed-length 32-bit integer.
+       */
+      sfixed32(value) {
+        assert_1.assertInt32(value);
+        let chunk = new Uint8Array(4);
+        new DataView(chunk.buffer).setInt32(0, value, true);
+        return this.raw(chunk);
+      }
+      /**
+       * Write a `sint32` value, a signed, zigzag-encoded 32-bit varint.
+       */
+      sint32(value) {
+        assert_1.assertInt32(value);
+        value = (value << 1 ^ value >> 31) >>> 0;
+        goog_varint_1.varint32write(value, this.buf);
+        return this;
+      }
+      /**
+       * Write a `fixed64` value, a signed, fixed-length 64-bit integer.
+       */
+      sfixed64(value) {
+        let chunk = new Uint8Array(8);
+        let view = new DataView(chunk.buffer);
+        let long = pb_long_1.PbLong.from(value);
+        view.setInt32(0, long.lo, true);
+        view.setInt32(4, long.hi, true);
+        return this.raw(chunk);
+      }
+      /**
+       * Write a `fixed64` value, an unsigned, fixed-length 64 bit integer.
+       */
+      fixed64(value) {
+        let chunk = new Uint8Array(8);
+        let view = new DataView(chunk.buffer);
+        let long = pb_long_1.PbULong.from(value);
+        view.setInt32(0, long.lo, true);
+        view.setInt32(4, long.hi, true);
+        return this.raw(chunk);
+      }
+      /**
+       * Write a `int64` value, a signed 64-bit varint.
+       */
+      int64(value) {
+        let long = pb_long_1.PbLong.from(value);
+        goog_varint_1.varint64write(long.lo, long.hi, this.buf);
+        return this;
+      }
+      /**
+       * Write a `sint64` value, a signed, zig-zag-encoded 64-bit varint.
+       */
+      sint64(value) {
+        let long = pb_long_1.PbLong.from(value), sign = long.hi >> 31, lo = long.lo << 1 ^ sign, hi = (long.hi << 1 | long.lo >>> 31) ^ sign;
+        goog_varint_1.varint64write(lo, hi, this.buf);
+        return this;
+      }
+      /**
+       * Write a `uint64` value, an unsigned 64-bit varint.
+       */
+      uint64(value) {
+        let long = pb_long_1.PbULong.from(value);
+        goog_varint_1.varint64write(long.lo, long.hi, this.buf);
+        return this;
+      }
+    };
+    exports2.BinaryWriter = BinaryWriter;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/json-format-contract.js
+var require_json_format_contract = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/json-format-contract.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.mergeJsonOptions = exports2.jsonWriteOptions = exports2.jsonReadOptions = void 0;
+    var defaultsWrite = {
+      emitDefaultValues: false,
+      enumAsInteger: false,
+      useProtoFieldName: false,
+      prettySpaces: 0
+    };
+    var defaultsRead = {
+      ignoreUnknownFields: false
+    };
+    function jsonReadOptions(options) {
+      return options ? Object.assign(Object.assign({}, defaultsRead), options) : defaultsRead;
+    }
+    exports2.jsonReadOptions = jsonReadOptions;
+    function jsonWriteOptions(options) {
+      return options ? Object.assign(Object.assign({}, defaultsWrite), options) : defaultsWrite;
+    }
+    exports2.jsonWriteOptions = jsonWriteOptions;
+    function mergeJsonOptions(a, b) {
+      var _a, _b;
+      let c = Object.assign(Object.assign({}, a), b);
+      c.typeRegistry = [...(_a = a === null || a === void 0 ? void 0 : a.typeRegistry) !== null && _a !== void 0 ? _a : [], ...(_b = b === null || b === void 0 ? void 0 : b.typeRegistry) !== null && _b !== void 0 ? _b : []];
+      return c;
+    }
+    exports2.mergeJsonOptions = mergeJsonOptions;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/message-type-contract.js
+var require_message_type_contract = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/message-type-contract.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.MESSAGE_TYPE = void 0;
+    exports2.MESSAGE_TYPE = /* @__PURE__ */ Symbol.for("protobuf-ts/message-type");
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/lower-camel-case.js
+var require_lower_camel_case = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/lower-camel-case.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.lowerCamelCase = void 0;
+    function lowerCamelCase(snakeCase) {
+      let capNext = false;
+      const sb = [];
+      for (let i = 0; i < snakeCase.length; i++) {
+        let next = snakeCase.charAt(i);
+        if (next == "_") {
+          capNext = true;
+        } else if (/\d/.test(next)) {
+          sb.push(next);
+          capNext = true;
+        } else if (capNext) {
+          sb.push(next.toUpperCase());
+          capNext = false;
+        } else if (i == 0) {
+          sb.push(next.toLowerCase());
+        } else {
+          sb.push(next);
+        }
+      }
+      return sb.join("");
+    }
+    exports2.lowerCamelCase = lowerCamelCase;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-info.js
+var require_reflection_info = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-info.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.readMessageOption = exports2.readFieldOption = exports2.readFieldOptions = exports2.normalizeFieldInfo = exports2.RepeatType = exports2.LongType = exports2.ScalarType = void 0;
+    var lower_camel_case_1 = require_lower_camel_case();
+    var ScalarType;
+    (function(ScalarType2) {
+      ScalarType2[ScalarType2["DOUBLE"] = 1] = "DOUBLE";
+      ScalarType2[ScalarType2["FLOAT"] = 2] = "FLOAT";
+      ScalarType2[ScalarType2["INT64"] = 3] = "INT64";
+      ScalarType2[ScalarType2["UINT64"] = 4] = "UINT64";
+      ScalarType2[ScalarType2["INT32"] = 5] = "INT32";
+      ScalarType2[ScalarType2["FIXED64"] = 6] = "FIXED64";
+      ScalarType2[ScalarType2["FIXED32"] = 7] = "FIXED32";
+      ScalarType2[ScalarType2["BOOL"] = 8] = "BOOL";
+      ScalarType2[ScalarType2["STRING"] = 9] = "STRING";
+      ScalarType2[ScalarType2["BYTES"] = 12] = "BYTES";
+      ScalarType2[ScalarType2["UINT32"] = 13] = "UINT32";
+      ScalarType2[ScalarType2["SFIXED32"] = 15] = "SFIXED32";
+      ScalarType2[ScalarType2["SFIXED64"] = 16] = "SFIXED64";
+      ScalarType2[ScalarType2["SINT32"] = 17] = "SINT32";
+      ScalarType2[ScalarType2["SINT64"] = 18] = "SINT64";
+    })(ScalarType = exports2.ScalarType || (exports2.ScalarType = {}));
+    var LongType;
+    (function(LongType2) {
+      LongType2[LongType2["BIGINT"] = 0] = "BIGINT";
+      LongType2[LongType2["STRING"] = 1] = "STRING";
+      LongType2[LongType2["NUMBER"] = 2] = "NUMBER";
+    })(LongType = exports2.LongType || (exports2.LongType = {}));
+    var RepeatType;
+    (function(RepeatType2) {
+      RepeatType2[RepeatType2["NO"] = 0] = "NO";
+      RepeatType2[RepeatType2["PACKED"] = 1] = "PACKED";
+      RepeatType2[RepeatType2["UNPACKED"] = 2] = "UNPACKED";
+    })(RepeatType = exports2.RepeatType || (exports2.RepeatType = {}));
+    function normalizeFieldInfo(field) {
+      var _a, _b, _c, _d;
+      field.localName = (_a = field.localName) !== null && _a !== void 0 ? _a : lower_camel_case_1.lowerCamelCase(field.name);
+      field.jsonName = (_b = field.jsonName) !== null && _b !== void 0 ? _b : lower_camel_case_1.lowerCamelCase(field.name);
+      field.repeat = (_c = field.repeat) !== null && _c !== void 0 ? _c : RepeatType.NO;
+      field.opt = (_d = field.opt) !== null && _d !== void 0 ? _d : field.repeat ? false : field.oneof ? false : field.kind == "message";
+      return field;
+    }
+    exports2.normalizeFieldInfo = normalizeFieldInfo;
+    function readFieldOptions(messageType, fieldName, extensionName, extensionType) {
+      var _a;
+      const options = (_a = messageType.fields.find((m, i) => m.localName == fieldName || i == fieldName)) === null || _a === void 0 ? void 0 : _a.options;
+      return options && options[extensionName] ? extensionType.fromJson(options[extensionName]) : void 0;
+    }
+    exports2.readFieldOptions = readFieldOptions;
+    function readFieldOption(messageType, fieldName, extensionName, extensionType) {
+      var _a;
+      const options = (_a = messageType.fields.find((m, i) => m.localName == fieldName || i == fieldName)) === null || _a === void 0 ? void 0 : _a.options;
+      if (!options) {
+        return void 0;
+      }
+      const optionVal = options[extensionName];
+      if (optionVal === void 0) {
+        return optionVal;
+      }
+      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
+    }
+    exports2.readFieldOption = readFieldOption;
+    function readMessageOption(messageType, extensionName, extensionType) {
+      const options = messageType.options;
+      const optionVal = options[extensionName];
+      if (optionVal === void 0) {
+        return optionVal;
+      }
+      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
+    }
+    exports2.readMessageOption = readMessageOption;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/oneof.js
+var require_oneof = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/oneof.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getSelectedOneofValue = exports2.clearOneofValue = exports2.setUnknownOneofValue = exports2.setOneofValue = exports2.getOneofValue = exports2.isOneofGroup = void 0;
+    function isOneofGroup(any) {
+      if (typeof any != "object" || any === null || !any.hasOwnProperty("oneofKind")) {
+        return false;
+      }
+      switch (typeof any.oneofKind) {
+        case "string":
+          if (any[any.oneofKind] === void 0)
+            return false;
+          return Object.keys(any).length == 2;
+        case "undefined":
+          return Object.keys(any).length == 1;
+        default:
+          return false;
+      }
+    }
+    exports2.isOneofGroup = isOneofGroup;
+    function getOneofValue(oneof, kind) {
+      return oneof[kind];
+    }
+    exports2.getOneofValue = getOneofValue;
+    function setOneofValue(oneof, kind, value) {
+      if (oneof.oneofKind !== void 0) {
+        delete oneof[oneof.oneofKind];
+      }
+      oneof.oneofKind = kind;
+      if (value !== void 0) {
+        oneof[kind] = value;
+      }
+    }
+    exports2.setOneofValue = setOneofValue;
+    function setUnknownOneofValue(oneof, kind, value) {
+      if (oneof.oneofKind !== void 0) {
+        delete oneof[oneof.oneofKind];
+      }
+      oneof.oneofKind = kind;
+      if (value !== void 0 && kind !== void 0) {
+        oneof[kind] = value;
+      }
+    }
+    exports2.setUnknownOneofValue = setUnknownOneofValue;
+    function clearOneofValue(oneof) {
+      if (oneof.oneofKind !== void 0) {
+        delete oneof[oneof.oneofKind];
+      }
+      oneof.oneofKind = void 0;
+    }
+    exports2.clearOneofValue = clearOneofValue;
+    function getSelectedOneofValue(oneof) {
+      if (oneof.oneofKind === void 0) {
+        return void 0;
+      }
+      return oneof[oneof.oneofKind];
+    }
+    exports2.getSelectedOneofValue = getSelectedOneofValue;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-type-check.js
+var require_reflection_type_check = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-type-check.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ReflectionTypeCheck = void 0;
+    var reflection_info_1 = require_reflection_info();
+    var oneof_1 = require_oneof();
+    var ReflectionTypeCheck = class {
+      constructor(info7) {
+        var _a;
+        this.fields = (_a = info7.fields) !== null && _a !== void 0 ? _a : [];
+      }
+      prepare() {
+        if (this.data)
+          return;
+        const req = [], known = [], oneofs = [];
+        for (let field of this.fields) {
+          if (field.oneof) {
+            if (!oneofs.includes(field.oneof)) {
+              oneofs.push(field.oneof);
+              req.push(field.oneof);
+              known.push(field.oneof);
+            }
+          } else {
+            known.push(field.localName);
+            switch (field.kind) {
+              case "scalar":
+              case "enum":
+                if (!field.opt || field.repeat)
+                  req.push(field.localName);
+                break;
+              case "message":
+                if (field.repeat)
+                  req.push(field.localName);
+                break;
+              case "map":
+                req.push(field.localName);
+                break;
+            }
+          }
+        }
+        this.data = { req, known, oneofs: Object.values(oneofs) };
+      }
+      /**
+       * Is the argument a valid message as specified by the
+       * reflection information?
+       *
+       * Checks all field types recursively. The `depth`
+       * specifies how deep into the structure the check will be.
+       *
+       * With a depth of 0, only the presence of fields
+       * is checked.
+       *
+       * With a depth of 1 or more, the field types are checked.
+       *
+       * With a depth of 2 or more, the members of map, repeated
+       * and message fields are checked.
+       *
+       * Message fields will be checked recursively with depth - 1.
+       *
+       * The number of map entries / repeated values being checked
+       * is < depth.
+       */
+      is(message, depth, allowExcessProperties = false) {
+        if (depth < 0)
+          return true;
+        if (message === null || message === void 0 || typeof message != "object")
+          return false;
+        this.prepare();
+        let keys = Object.keys(message), data = this.data;
+        if (keys.length < data.req.length || data.req.some((n) => !keys.includes(n)))
+          return false;
+        if (!allowExcessProperties) {
+          if (keys.some((k) => !data.known.includes(k)))
+            return false;
+        }
+        if (depth < 1) {
+          return true;
+        }
+        for (const name of data.oneofs) {
+          const group = message[name];
+          if (!oneof_1.isOneofGroup(group))
+            return false;
+          if (group.oneofKind === void 0)
+            continue;
+          const field = this.fields.find((f) => f.localName === group.oneofKind);
+          if (!field)
+            return false;
+          if (!this.field(group[group.oneofKind], field, allowExcessProperties, depth))
+            return false;
+        }
+        for (const field of this.fields) {
+          if (field.oneof !== void 0)
+            continue;
+          if (!this.field(message[field.localName], field, allowExcessProperties, depth))
+            return false;
+        }
+        return true;
+      }
+      field(arg, field, allowExcessProperties, depth) {
+        let repeated = field.repeat;
+        switch (field.kind) {
+          case "scalar":
+            if (arg === void 0)
+              return field.opt;
+            if (repeated)
+              return this.scalars(arg, field.T, depth, field.L);
+            return this.scalar(arg, field.T, field.L);
+          case "enum":
+            if (arg === void 0)
+              return field.opt;
+            if (repeated)
+              return this.scalars(arg, reflection_info_1.ScalarType.INT32, depth);
+            return this.scalar(arg, reflection_info_1.ScalarType.INT32);
+          case "message":
+            if (arg === void 0)
+              return true;
+            if (repeated)
+              return this.messages(arg, field.T(), allowExcessProperties, depth);
+            return this.message(arg, field.T(), allowExcessProperties, depth);
+          case "map":
+            if (typeof arg != "object" || arg === null)
+              return false;
+            if (depth < 2)
+              return true;
+            if (!this.mapKeys(arg, field.K, depth))
+              return false;
+            switch (field.V.kind) {
+              case "scalar":
+                return this.scalars(Object.values(arg), field.V.T, depth, field.V.L);
+              case "enum":
+                return this.scalars(Object.values(arg), reflection_info_1.ScalarType.INT32, depth);
+              case "message":
+                return this.messages(Object.values(arg), field.V.T(), allowExcessProperties, depth);
+            }
+            break;
+        }
+        return true;
+      }
+      message(arg, type2, allowExcessProperties, depth) {
+        if (allowExcessProperties) {
+          return type2.isAssignable(arg, depth);
+        }
+        return type2.is(arg, depth);
+      }
+      messages(arg, type2, allowExcessProperties, depth) {
+        if (!Array.isArray(arg))
+          return false;
+        if (depth < 2)
+          return true;
+        if (allowExcessProperties) {
+          for (let i = 0; i < arg.length && i < depth; i++)
+            if (!type2.isAssignable(arg[i], depth - 1))
+              return false;
+        } else {
+          for (let i = 0; i < arg.length && i < depth; i++)
+            if (!type2.is(arg[i], depth - 1))
+              return false;
+        }
+        return true;
+      }
+      scalar(arg, type2, longType) {
+        let argType = typeof arg;
+        switch (type2) {
+          case reflection_info_1.ScalarType.UINT64:
+          case reflection_info_1.ScalarType.FIXED64:
+          case reflection_info_1.ScalarType.INT64:
+          case reflection_info_1.ScalarType.SFIXED64:
+          case reflection_info_1.ScalarType.SINT64:
+            switch (longType) {
+              case reflection_info_1.LongType.BIGINT:
+                return argType == "bigint";
+              case reflection_info_1.LongType.NUMBER:
+                return argType == "number" && !isNaN(arg);
+              default:
+                return argType == "string";
+            }
+          case reflection_info_1.ScalarType.BOOL:
+            return argType == "boolean";
+          case reflection_info_1.ScalarType.STRING:
+            return argType == "string";
+          case reflection_info_1.ScalarType.BYTES:
+            return arg instanceof Uint8Array;
+          case reflection_info_1.ScalarType.DOUBLE:
+          case reflection_info_1.ScalarType.FLOAT:
+            return argType == "number" && !isNaN(arg);
+          default:
+            return argType == "number" && Number.isInteger(arg);
+        }
+      }
+      scalars(arg, type2, depth, longType) {
+        if (!Array.isArray(arg))
+          return false;
+        if (depth < 2)
+          return true;
+        if (Array.isArray(arg)) {
+          for (let i = 0; i < arg.length && i < depth; i++)
+            if (!this.scalar(arg[i], type2, longType))
+              return false;
+        }
+        return true;
+      }
+      mapKeys(map2, type2, depth) {
+        let keys = Object.keys(map2);
+        switch (type2) {
+          case reflection_info_1.ScalarType.INT32:
+          case reflection_info_1.ScalarType.FIXED32:
+          case reflection_info_1.ScalarType.SFIXED32:
+          case reflection_info_1.ScalarType.SINT32:
+          case reflection_info_1.ScalarType.UINT32:
+            return this.scalars(keys.slice(0, depth).map((k) => parseInt(k)), type2, depth);
+          case reflection_info_1.ScalarType.BOOL:
+            return this.scalars(keys.slice(0, depth).map((k) => k == "true" ? true : k == "false" ? false : k), type2, depth);
+          default:
+            return this.scalars(keys, type2, depth, reflection_info_1.LongType.STRING);
+        }
+      }
+    };
+    exports2.ReflectionTypeCheck = ReflectionTypeCheck;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-long-convert.js
+var require_reflection_long_convert = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-long-convert.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.reflectionLongConvert = void 0;
+    var reflection_info_1 = require_reflection_info();
+    function reflectionLongConvert(long, type2) {
+      switch (type2) {
+        case reflection_info_1.LongType.BIGINT:
+          return long.toBigInt();
+        case reflection_info_1.LongType.NUMBER:
+          return long.toNumber();
+        default:
+          return long.toString();
+      }
+    }
+    exports2.reflectionLongConvert = reflectionLongConvert;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-reader.js
+var require_reflection_json_reader = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-reader.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ReflectionJsonReader = void 0;
+    var json_typings_1 = require_json_typings();
+    var base64_1 = require_base64();
+    var reflection_info_1 = require_reflection_info();
+    var pb_long_1 = require_pb_long();
+    var assert_1 = require_assert();
+    var reflection_long_convert_1 = require_reflection_long_convert();
+    var ReflectionJsonReader = class {
+      constructor(info7) {
+        this.info = info7;
+      }
+      prepare() {
+        var _a;
+        if (this.fMap === void 0) {
+          this.fMap = {};
+          const fieldsInput = (_a = this.info.fields) !== null && _a !== void 0 ? _a : [];
+          for (const field of fieldsInput) {
+            this.fMap[field.name] = field;
+            this.fMap[field.jsonName] = field;
+            this.fMap[field.localName] = field;
+          }
+        }
+      }
+      // Cannot parse JSON  for #.
+      assert(condition, fieldName, jsonValue) {
+        if (!condition) {
+          let what = json_typings_1.typeofJsonValue(jsonValue);
+          if (what == "number" || what == "boolean")
+            what = jsonValue.toString();
+          throw new Error(`Cannot parse JSON ${what} for ${this.info.typeName}#${fieldName}`);
+        }
+      }
+      /**
+       * Reads a message from canonical JSON format into the target message.
+       *
+       * Repeated fields are appended. Map entries are added, overwriting
+       * existing keys.
+       *
+       * If a message field is already present, it will be merged with the
+       * new data.
+       */
+      read(input, message, options) {
+        this.prepare();
+        const oneofsHandled = [];
+        for (const [jsonKey, jsonValue] of Object.entries(input)) {
+          const field = this.fMap[jsonKey];
+          if (!field) {
+            if (!options.ignoreUnknownFields)
+              throw new Error(`Found unknown field while reading ${this.info.typeName} from JSON format. JSON key: ${jsonKey}`);
+            continue;
+          }
+          const localName = field.localName;
+          let target;
+          if (field.oneof) {
+            if (jsonValue === null && (field.kind !== "enum" || field.T()[0] !== "google.protobuf.NullValue")) {
+              continue;
+            }
+            if (oneofsHandled.includes(field.oneof))
+              throw new Error(`Multiple members of the oneof group "${field.oneof}" of ${this.info.typeName} are present in JSON.`);
+            oneofsHandled.push(field.oneof);
+            target = message[field.oneof] = {
+              oneofKind: localName
+            };
+          } else {
+            target = message;
+          }
+          if (field.kind == "map") {
+            if (jsonValue === null) {
+              continue;
+            }
+            this.assert(json_typings_1.isJsonObject(jsonValue), field.name, jsonValue);
+            const fieldObj = target[localName];
+            for (const [jsonObjKey, jsonObjValue] of Object.entries(jsonValue)) {
+              this.assert(jsonObjValue !== null, field.name + " map value", null);
+              let val;
+              switch (field.V.kind) {
+                case "message":
+                  val = field.V.T().internalJsonRead(jsonObjValue, options);
+                  break;
+                case "enum":
+                  val = this.enum(field.V.T(), jsonObjValue, field.name, options.ignoreUnknownFields);
+                  if (val === false)
+                    continue;
+                  break;
+                case "scalar":
+                  val = this.scalar(jsonObjValue, field.V.T, field.V.L, field.name);
+                  break;
+              }
+              this.assert(val !== void 0, field.name + " map value", jsonObjValue);
+              let key = jsonObjKey;
+              if (field.K == reflection_info_1.ScalarType.BOOL)
+                key = key == "true" ? true : key == "false" ? false : key;
+              key = this.scalar(key, field.K, reflection_info_1.LongType.STRING, field.name).toString();
+              fieldObj[key] = val;
+            }
+          } else if (field.repeat) {
+            if (jsonValue === null)
+              continue;
+            this.assert(Array.isArray(jsonValue), field.name, jsonValue);
+            const fieldArr = target[localName];
+            for (const jsonItem of jsonValue) {
+              this.assert(jsonItem !== null, field.name, null);
+              let val;
+              switch (field.kind) {
+                case "message":
+                  val = field.T().internalJsonRead(jsonItem, options);
+                  break;
+                case "enum":
+                  val = this.enum(field.T(), jsonItem, field.name, options.ignoreUnknownFields);
+                  if (val === false)
+                    continue;
+                  break;
+                case "scalar":
+                  val = this.scalar(jsonItem, field.T, field.L, field.name);
+                  break;
+              }
+              this.assert(val !== void 0, field.name, jsonValue);
+              fieldArr.push(val);
+            }
+          } else {
+            switch (field.kind) {
+              case "message":
+                if (jsonValue === null && field.T().typeName != "google.protobuf.Value") {
+                  this.assert(field.oneof === void 0, field.name + " (oneof member)", null);
+                  continue;
+                }
+                target[localName] = field.T().internalJsonRead(jsonValue, options, target[localName]);
+                break;
+              case "enum":
+                if (jsonValue === null)
+                  continue;
+                let val = this.enum(field.T(), jsonValue, field.name, options.ignoreUnknownFields);
+                if (val === false)
+                  continue;
+                target[localName] = val;
+                break;
+              case "scalar":
+                if (jsonValue === null)
+                  continue;
+                target[localName] = this.scalar(jsonValue, field.T, field.L, field.name);
+                break;
+            }
+          }
+        }
+      }
+      /**
+       * Returns `false` for unrecognized string representations.
+       *
+       * google.protobuf.NullValue accepts only JSON `null` (or the old `"NULL_VALUE"`).
+       */
+      enum(type2, json2, fieldName, ignoreUnknownFields) {
+        if (type2[0] == "google.protobuf.NullValue")
+          assert_1.assert(json2 === null || json2 === "NULL_VALUE", `Unable to parse field ${this.info.typeName}#${fieldName}, enum ${type2[0]} only accepts null.`);
+        if (json2 === null)
+          return 0;
+        switch (typeof json2) {
+          case "number":
+            assert_1.assert(Number.isInteger(json2), `Unable to parse field ${this.info.typeName}#${fieldName}, enum can only be integral number, got ${json2}.`);
+            return json2;
+          case "string":
+            let localEnumName = json2;
+            if (type2[2] && json2.substring(0, type2[2].length) === type2[2])
+              localEnumName = json2.substring(type2[2].length);
+            let enumNumber = type2[1][localEnumName];
+            if (typeof enumNumber === "undefined" && ignoreUnknownFields) {
+              return false;
+            }
+            assert_1.assert(typeof enumNumber == "number", `Unable to parse field ${this.info.typeName}#${fieldName}, enum ${type2[0]} has no value for "${json2}".`);
+            return enumNumber;
+        }
+        assert_1.assert(false, `Unable to parse field ${this.info.typeName}#${fieldName}, cannot parse enum value from ${typeof json2}".`);
+      }
+      scalar(json2, type2, longType, fieldName) {
+        let e;
+        try {
+          switch (type2) {
+            // float, double: JSON value will be a number or one of the special string values "NaN", "Infinity", and "-Infinity".
+            // Either numbers or strings are accepted. Exponent notation is also accepted.
+            case reflection_info_1.ScalarType.DOUBLE:
+            case reflection_info_1.ScalarType.FLOAT:
+              if (json2 === null)
+                return 0;
+              if (json2 === "NaN")
+                return Number.NaN;
+              if (json2 === "Infinity")
+                return Number.POSITIVE_INFINITY;
+              if (json2 === "-Infinity")
+                return Number.NEGATIVE_INFINITY;
+              if (json2 === "") {
+                e = "empty string";
+                break;
+              }
+              if (typeof json2 == "string" && json2.trim().length !== json2.length) {
+                e = "extra whitespace";
+                break;
+              }
+              if (typeof json2 != "string" && typeof json2 != "number") {
+                break;
+              }
+              let float2 = Number(json2);
+              if (Number.isNaN(float2)) {
+                e = "not a number";
+                break;
+              }
+              if (!Number.isFinite(float2)) {
+                e = "too large or small";
+                break;
+              }
+              if (type2 == reflection_info_1.ScalarType.FLOAT)
+                assert_1.assertFloat32(float2);
+              return float2;
+            // int32, fixed32, uint32: JSON value will be a decimal number. Either numbers or strings are accepted.
+            case reflection_info_1.ScalarType.INT32:
+            case reflection_info_1.ScalarType.FIXED32:
+            case reflection_info_1.ScalarType.SFIXED32:
+            case reflection_info_1.ScalarType.SINT32:
+            case reflection_info_1.ScalarType.UINT32:
+              if (json2 === null)
+                return 0;
+              let int32;
+              if (typeof json2 == "number")
+                int32 = json2;
+              else if (json2 === "")
+                e = "empty string";
+              else if (typeof json2 == "string") {
+                if (json2.trim().length !== json2.length)
+                  e = "extra whitespace";
+                else
+                  int32 = Number(json2);
+              }
+              if (int32 === void 0)
+                break;
+              if (type2 == reflection_info_1.ScalarType.UINT32)
+                assert_1.assertUInt32(int32);
+              else
+                assert_1.assertInt32(int32);
+              return int32;
+            // int64, fixed64, uint64: JSON value will be a decimal string. Either numbers or strings are accepted.
+            case reflection_info_1.ScalarType.INT64:
+            case reflection_info_1.ScalarType.SFIXED64:
+            case reflection_info_1.ScalarType.SINT64:
+              if (json2 === null)
+                return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.ZERO, longType);
+              if (typeof json2 != "number" && typeof json2 != "string")
+                break;
+              return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.from(json2), longType);
+            case reflection_info_1.ScalarType.FIXED64:
+            case reflection_info_1.ScalarType.UINT64:
+              if (json2 === null)
+                return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.ZERO, longType);
+              if (typeof json2 != "number" && typeof json2 != "string")
+                break;
+              return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.from(json2), longType);
+            // bool:
+            case reflection_info_1.ScalarType.BOOL:
+              if (json2 === null)
+                return false;
+              if (typeof json2 !== "boolean")
+                break;
+              return json2;
+            // string:
+            case reflection_info_1.ScalarType.STRING:
+              if (json2 === null)
+                return "";
+              if (typeof json2 !== "string") {
+                e = "extra whitespace";
+                break;
+              }
+              try {
+                encodeURIComponent(json2);
+              } catch (e2) {
+                e2 = "invalid UTF8";
+                break;
+              }
+              return json2;
+            // bytes: JSON value will be the data encoded as a string using standard base64 encoding with paddings.
+            // Either standard or URL-safe base64 encoding with/without paddings are accepted.
+            case reflection_info_1.ScalarType.BYTES:
+              if (json2 === null || json2 === "")
+                return new Uint8Array(0);
+              if (typeof json2 !== "string")
+                break;
+              return base64_1.base64decode(json2);
+          }
+        } catch (error3) {
+          e = error3.message;
+        }
+        this.assert(false, fieldName + (e ? " - " + e : ""), json2);
+      }
+    };
+    exports2.ReflectionJsonReader = ReflectionJsonReader;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-writer.js
+var require_reflection_json_writer = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-writer.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ReflectionJsonWriter = void 0;
+    var base64_1 = require_base64();
+    var pb_long_1 = require_pb_long();
+    var reflection_info_1 = require_reflection_info();
+    var assert_1 = require_assert();
+    var ReflectionJsonWriter = class {
+      constructor(info7) {
+        var _a;
+        this.fields = (_a = info7.fields) !== null && _a !== void 0 ? _a : [];
+      }
+      /**
+       * Converts the message to a JSON object, based on the field descriptors.
+       */
+      write(message, options) {
+        const json2 = {}, source = message;
+        for (const field of this.fields) {
+          if (!field.oneof) {
+            let jsonValue2 = this.field(field, source[field.localName], options);
+            if (jsonValue2 !== void 0)
+              json2[options.useProtoFieldName ? field.name : field.jsonName] = jsonValue2;
+            continue;
+          }
+          const group = source[field.oneof];
+          if (group.oneofKind !== field.localName)
+            continue;
+          const opt = field.kind == "scalar" || field.kind == "enum" ? Object.assign(Object.assign({}, options), { emitDefaultValues: true }) : options;
+          let jsonValue = this.field(field, group[field.localName], opt);
+          assert_1.assert(jsonValue !== void 0);
+          json2[options.useProtoFieldName ? field.name : field.jsonName] = jsonValue;
+        }
+        return json2;
+      }
+      field(field, value, options) {
+        let jsonValue = void 0;
+        if (field.kind == "map") {
+          assert_1.assert(typeof value == "object" && value !== null);
+          const jsonObj = {};
+          switch (field.V.kind) {
+            case "scalar":
+              for (const [entryKey, entryValue] of Object.entries(value)) {
+                const val = this.scalar(field.V.T, entryValue, field.name, false, true);
+                assert_1.assert(val !== void 0);
+                jsonObj[entryKey.toString()] = val;
+              }
+              break;
+            case "message":
+              const messageType = field.V.T();
+              for (const [entryKey, entryValue] of Object.entries(value)) {
+                const val = this.message(messageType, entryValue, field.name, options);
+                assert_1.assert(val !== void 0);
+                jsonObj[entryKey.toString()] = val;
+              }
+              break;
+            case "enum":
+              const enumInfo = field.V.T();
+              for (const [entryKey, entryValue] of Object.entries(value)) {
+                assert_1.assert(entryValue === void 0 || typeof entryValue == "number");
+                const val = this.enum(enumInfo, entryValue, field.name, false, true, options.enumAsInteger);
+                assert_1.assert(val !== void 0);
+                jsonObj[entryKey.toString()] = val;
+              }
+              break;
+          }
+          if (options.emitDefaultValues || Object.keys(jsonObj).length > 0)
+            jsonValue = jsonObj;
+        } else if (field.repeat) {
+          assert_1.assert(Array.isArray(value));
+          const jsonArr = [];
+          switch (field.kind) {
+            case "scalar":
+              for (let i = 0; i < value.length; i++) {
+                const val = this.scalar(field.T, value[i], field.name, field.opt, true);
+                assert_1.assert(val !== void 0);
+                jsonArr.push(val);
+              }
+              break;
+            case "enum":
+              const enumInfo = field.T();
+              for (let i = 0; i < value.length; i++) {
+                assert_1.assert(value[i] === void 0 || typeof value[i] == "number");
+                const val = this.enum(enumInfo, value[i], field.name, field.opt, true, options.enumAsInteger);
+                assert_1.assert(val !== void 0);
+                jsonArr.push(val);
+              }
+              break;
+            case "message":
+              const messageType = field.T();
+              for (let i = 0; i < value.length; i++) {
+                const val = this.message(messageType, value[i], field.name, options);
+                assert_1.assert(val !== void 0);
+                jsonArr.push(val);
+              }
+              break;
+          }
+          if (options.emitDefaultValues || jsonArr.length > 0 || options.emitDefaultValues)
+            jsonValue = jsonArr;
+        } else {
+          switch (field.kind) {
+            case "scalar":
+              jsonValue = this.scalar(field.T, value, field.name, field.opt, options.emitDefaultValues);
+              break;
+            case "enum":
+              jsonValue = this.enum(field.T(), value, field.name, field.opt, options.emitDefaultValues, options.enumAsInteger);
+              break;
+            case "message":
+              jsonValue = this.message(field.T(), value, field.name, options);
+              break;
+          }
+        }
+        return jsonValue;
+      }
+      /**
+       * Returns `null` as the default for google.protobuf.NullValue.
+       */
+      enum(type2, value, fieldName, optional, emitDefaultValues, enumAsInteger) {
+        if (type2[0] == "google.protobuf.NullValue")
+          return !emitDefaultValues && !optional ? void 0 : null;
+        if (value === void 0) {
+          assert_1.assert(optional);
+          return void 0;
+        }
+        if (value === 0 && !emitDefaultValues && !optional)
+          return void 0;
+        assert_1.assert(typeof value == "number");
+        assert_1.assert(Number.isInteger(value));
+        if (enumAsInteger || !type2[1].hasOwnProperty(value))
+          return value;
+        if (type2[2])
+          return type2[2] + type2[1][value];
+        return type2[1][value];
+      }
+      message(type2, value, fieldName, options) {
+        if (value === void 0)
+          return options.emitDefaultValues ? null : void 0;
+        return type2.internalJsonWrite(value, options);
+      }
+      scalar(type2, value, fieldName, optional, emitDefaultValues) {
+        if (value === void 0) {
+          assert_1.assert(optional);
+          return void 0;
+        }
+        const ed = emitDefaultValues || optional;
+        switch (type2) {
+          // int32, fixed32, uint32: JSON value will be a decimal number. Either numbers or strings are accepted.
+          case reflection_info_1.ScalarType.INT32:
+          case reflection_info_1.ScalarType.SFIXED32:
+          case reflection_info_1.ScalarType.SINT32:
+            if (value === 0)
+              return ed ? 0 : void 0;
+            assert_1.assertInt32(value);
+            return value;
+          case reflection_info_1.ScalarType.FIXED32:
+          case reflection_info_1.ScalarType.UINT32:
+            if (value === 0)
+              return ed ? 0 : void 0;
+            assert_1.assertUInt32(value);
+            return value;
+          // float, double: JSON value will be a number or one of the special string values "NaN", "Infinity", and "-Infinity".
+          // Either numbers or strings are accepted. Exponent notation is also accepted.
+          case reflection_info_1.ScalarType.FLOAT:
+            assert_1.assertFloat32(value);
+          case reflection_info_1.ScalarType.DOUBLE:
+            if (value === 0)
+              return ed ? 0 : void 0;
+            assert_1.assert(typeof value == "number");
+            if (Number.isNaN(value))
+              return "NaN";
+            if (value === Number.POSITIVE_INFINITY)
+              return "Infinity";
+            if (value === Number.NEGATIVE_INFINITY)
+              return "-Infinity";
+            return value;
+          // string:
+          case reflection_info_1.ScalarType.STRING:
+            if (value === "")
+              return ed ? "" : void 0;
+            assert_1.assert(typeof value == "string");
+            return value;
+          // bool:
+          case reflection_info_1.ScalarType.BOOL:
+            if (value === false)
+              return ed ? false : void 0;
+            assert_1.assert(typeof value == "boolean");
+            return value;
+          // JSON value will be a decimal string. Either numbers or strings are accepted.
+          case reflection_info_1.ScalarType.UINT64:
+          case reflection_info_1.ScalarType.FIXED64:
+            assert_1.assert(typeof value == "number" || typeof value == "string" || typeof value == "bigint");
+            let ulong = pb_long_1.PbULong.from(value);
+            if (ulong.isZero() && !ed)
+              return void 0;
+            return ulong.toString();
+          // JSON value will be a decimal string. Either numbers or strings are accepted.
+          case reflection_info_1.ScalarType.INT64:
+          case reflection_info_1.ScalarType.SFIXED64:
+          case reflection_info_1.ScalarType.SINT64:
+            assert_1.assert(typeof value == "number" || typeof value == "string" || typeof value == "bigint");
+            let long = pb_long_1.PbLong.from(value);
+            if (long.isZero() && !ed)
+              return void 0;
+            return long.toString();
+          // bytes: JSON value will be the data encoded as a string using standard base64 encoding with paddings.
+          // Either standard or URL-safe base64 encoding with/without paddings are accepted.
+          case reflection_info_1.ScalarType.BYTES:
+            assert_1.assert(value instanceof Uint8Array);
+            if (!value.byteLength)
+              return ed ? "" : void 0;
+            return base64_1.base64encode(value);
+        }
+      }
+    };
+    exports2.ReflectionJsonWriter = ReflectionJsonWriter;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-scalar-default.js
+var require_reflection_scalar_default = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-scalar-default.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.reflectionScalarDefault = void 0;
+    var reflection_info_1 = require_reflection_info();
+    var reflection_long_convert_1 = require_reflection_long_convert();
+    var pb_long_1 = require_pb_long();
+    function reflectionScalarDefault(type2, longType = reflection_info_1.LongType.STRING) {
+      switch (type2) {
+        case reflection_info_1.ScalarType.BOOL:
+          return false;
+        case reflection_info_1.ScalarType.UINT64:
+        case reflection_info_1.ScalarType.FIXED64:
+          return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.ZERO, longType);
+        case reflection_info_1.ScalarType.INT64:
+        case reflection_info_1.ScalarType.SFIXED64:
+        case reflection_info_1.ScalarType.SINT64:
+          return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.ZERO, longType);
+        case reflection_info_1.ScalarType.DOUBLE:
+        case reflection_info_1.ScalarType.FLOAT:
+          return 0;
+        case reflection_info_1.ScalarType.BYTES:
+          return new Uint8Array(0);
+        case reflection_info_1.ScalarType.STRING:
+          return "";
+        default:
+          return 0;
+      }
+    }
+    exports2.reflectionScalarDefault = reflectionScalarDefault;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-reader.js
+var require_reflection_binary_reader = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-reader.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ReflectionBinaryReader = void 0;
+    var binary_format_contract_1 = require_binary_format_contract();
+    var reflection_info_1 = require_reflection_info();
+    var reflection_long_convert_1 = require_reflection_long_convert();
+    var reflection_scalar_default_1 = require_reflection_scalar_default();
+    var ReflectionBinaryReader = class {
+      constructor(info7) {
+        this.info = info7;
+      }
+      prepare() {
+        var _a;
+        if (!this.fieldNoToField) {
+          const fieldsInput = (_a = this.info.fields) !== null && _a !== void 0 ? _a : [];
+          this.fieldNoToField = new Map(fieldsInput.map((field) => [field.no, field]));
+        }
+      }
+      /**
+       * Reads a message from binary format into the target message.
+       *
+       * Repeated fields are appended. Map entries are added, overwriting
+       * existing keys.
+       *
+       * If a message field is already present, it will be merged with the
+       * new data.
+       */
+      read(reader, message, options, length) {
+        this.prepare();
+        const end = length === void 0 ? reader.len : reader.pos + length;
+        while (reader.pos < end) {
+          const [fieldNo, wireType] = reader.tag(), field = this.fieldNoToField.get(fieldNo);
+          if (!field) {
+            let u = options.readUnknownField;
+            if (u == "throw")
+              throw new Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.info.typeName}`);
+            let d = reader.skip(wireType);
+            if (u !== false)
+              (u === true ? binary_format_contract_1.UnknownFieldHandler.onRead : u)(this.info.typeName, message, fieldNo, wireType, d);
+            continue;
+          }
+          let target = message, repeated = field.repeat, localName = field.localName;
+          if (field.oneof) {
+            target = target[field.oneof];
+            if (target.oneofKind !== localName)
+              target = message[field.oneof] = {
+                oneofKind: localName
+              };
+          }
+          switch (field.kind) {
+            case "scalar":
+            case "enum":
+              let T = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T;
+              let L = field.kind == "scalar" ? field.L : void 0;
+              if (repeated) {
+                let arr = target[localName];
+                if (wireType == binary_format_contract_1.WireType.LengthDelimited && T != reflection_info_1.ScalarType.STRING && T != reflection_info_1.ScalarType.BYTES) {
+                  let e = reader.uint32() + reader.pos;
+                  while (reader.pos < e)
+                    arr.push(this.scalar(reader, T, L));
+                } else
+                  arr.push(this.scalar(reader, T, L));
+              } else
+                target[localName] = this.scalar(reader, T, L);
+              break;
+            case "message":
+              if (repeated) {
+                let arr = target[localName];
+                let msg = field.T().internalBinaryRead(reader, reader.uint32(), options);
+                arr.push(msg);
+              } else
+                target[localName] = field.T().internalBinaryRead(reader, reader.uint32(), options, target[localName]);
+              break;
+            case "map":
+              let [mapKey, mapVal] = this.mapEntry(field, reader, options);
+              target[localName][mapKey] = mapVal;
+              break;
+          }
+        }
+      }
+      /**
+       * Read a map field, expecting key field = 1, value field = 2
+       */
+      mapEntry(field, reader, options) {
+        let length = reader.uint32();
+        let end = reader.pos + length;
+        let key = void 0;
+        let val = void 0;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case 1:
+              if (field.K == reflection_info_1.ScalarType.BOOL)
+                key = reader.bool().toString();
+              else
+                key = this.scalar(reader, field.K, reflection_info_1.LongType.STRING);
+              break;
+            case 2:
+              switch (field.V.kind) {
+                case "scalar":
+                  val = this.scalar(reader, field.V.T, field.V.L);
+                  break;
+                case "enum":
+                  val = reader.int32();
+                  break;
+                case "message":
+                  val = field.V.T().internalBinaryRead(reader, reader.uint32(), options);
+                  break;
+              }
+              break;
+            default:
+              throw new Error(`Unknown field ${fieldNo} (wire type ${wireType}) in map entry for ${this.info.typeName}#${field.name}`);
+          }
+        }
+        if (key === void 0) {
+          let keyRaw = reflection_scalar_default_1.reflectionScalarDefault(field.K);
+          key = field.K == reflection_info_1.ScalarType.BOOL ? keyRaw.toString() : keyRaw;
+        }
+        if (val === void 0)
+          switch (field.V.kind) {
+            case "scalar":
+              val = reflection_scalar_default_1.reflectionScalarDefault(field.V.T, field.V.L);
+              break;
+            case "enum":
+              val = 0;
+              break;
+            case "message":
+              val = field.V.T().create();
+              break;
+          }
+        return [key, val];
+      }
+      scalar(reader, type2, longType) {
+        switch (type2) {
+          case reflection_info_1.ScalarType.INT32:
+            return reader.int32();
+          case reflection_info_1.ScalarType.STRING:
+            return reader.string();
+          case reflection_info_1.ScalarType.BOOL:
+            return reader.bool();
+          case reflection_info_1.ScalarType.DOUBLE:
+            return reader.double();
+          case reflection_info_1.ScalarType.FLOAT:
+            return reader.float();
+          case reflection_info_1.ScalarType.INT64:
+            return reflection_long_convert_1.reflectionLongConvert(reader.int64(), longType);
+          case reflection_info_1.ScalarType.UINT64:
+            return reflection_long_convert_1.reflectionLongConvert(reader.uint64(), longType);
+          case reflection_info_1.ScalarType.FIXED64:
+            return reflection_long_convert_1.reflectionLongConvert(reader.fixed64(), longType);
+          case reflection_info_1.ScalarType.FIXED32:
+            return reader.fixed32();
+          case reflection_info_1.ScalarType.BYTES:
+            return reader.bytes();
+          case reflection_info_1.ScalarType.UINT32:
+            return reader.uint32();
+          case reflection_info_1.ScalarType.SFIXED32:
+            return reader.sfixed32();
+          case reflection_info_1.ScalarType.SFIXED64:
+            return reflection_long_convert_1.reflectionLongConvert(reader.sfixed64(), longType);
+          case reflection_info_1.ScalarType.SINT32:
+            return reader.sint32();
+          case reflection_info_1.ScalarType.SINT64:
+            return reflection_long_convert_1.reflectionLongConvert(reader.sint64(), longType);
+        }
+      }
+    };
+    exports2.ReflectionBinaryReader = ReflectionBinaryReader;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-writer.js
+var require_reflection_binary_writer = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-writer.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ReflectionBinaryWriter = void 0;
+    var binary_format_contract_1 = require_binary_format_contract();
+    var reflection_info_1 = require_reflection_info();
+    var assert_1 = require_assert();
+    var pb_long_1 = require_pb_long();
+    var ReflectionBinaryWriter = class {
+      constructor(info7) {
+        this.info = info7;
+      }
+      prepare() {
+        if (!this.fields) {
+          const fieldsInput = this.info.fields ? this.info.fields.concat() : [];
+          this.fields = fieldsInput.sort((a, b) => a.no - b.no);
+        }
+      }
+      /**
+       * Writes the message to binary format.
+       */
+      write(message, writer, options) {
+        this.prepare();
+        for (const field of this.fields) {
+          let value, emitDefault, repeated = field.repeat, localName = field.localName;
+          if (field.oneof) {
+            const group = message[field.oneof];
+            if (group.oneofKind !== localName)
+              continue;
+            value = group[localName];
+            emitDefault = true;
+          } else {
+            value = message[localName];
+            emitDefault = false;
+          }
+          switch (field.kind) {
+            case "scalar":
+            case "enum":
+              let T = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T;
+              if (repeated) {
+                assert_1.assert(Array.isArray(value));
+                if (repeated == reflection_info_1.RepeatType.PACKED)
+                  this.packed(writer, T, field.no, value);
+                else
+                  for (const item of value)
+                    this.scalar(writer, T, field.no, item, true);
+              } else if (value === void 0)
+                assert_1.assert(field.opt);
+              else
+                this.scalar(writer, T, field.no, value, emitDefault || field.opt);
+              break;
+            case "message":
+              if (repeated) {
+                assert_1.assert(Array.isArray(value));
+                for (const item of value)
+                  this.message(writer, options, field.T(), field.no, item);
+              } else {
+                this.message(writer, options, field.T(), field.no, value);
+              }
+              break;
+            case "map":
+              assert_1.assert(typeof value == "object" && value !== null);
+              for (const [key, val] of Object.entries(value))
+                this.mapEntry(writer, options, field, key, val);
+              break;
+          }
+        }
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u === true ? binary_format_contract_1.UnknownFieldHandler.onWrite : u)(this.info.typeName, message, writer);
+      }
+      mapEntry(writer, options, field, key, value) {
+        writer.tag(field.no, binary_format_contract_1.WireType.LengthDelimited);
+        writer.fork();
+        let keyValue = key;
+        switch (field.K) {
+          case reflection_info_1.ScalarType.INT32:
+          case reflection_info_1.ScalarType.FIXED32:
+          case reflection_info_1.ScalarType.UINT32:
+          case reflection_info_1.ScalarType.SFIXED32:
+          case reflection_info_1.ScalarType.SINT32:
+            keyValue = Number.parseInt(key);
+            break;
+          case reflection_info_1.ScalarType.BOOL:
+            assert_1.assert(key == "true" || key == "false");
+            keyValue = key == "true";
+            break;
+        }
+        this.scalar(writer, field.K, 1, keyValue, true);
+        switch (field.V.kind) {
+          case "scalar":
+            this.scalar(writer, field.V.T, 2, value, true);
+            break;
+          case "enum":
+            this.scalar(writer, reflection_info_1.ScalarType.INT32, 2, value, true);
+            break;
+          case "message":
+            this.message(writer, options, field.V.T(), 2, value);
+            break;
+        }
+        writer.join();
+      }
+      message(writer, options, handler2, fieldNo, value) {
+        if (value === void 0)
+          return;
+        handler2.internalBinaryWrite(value, writer.tag(fieldNo, binary_format_contract_1.WireType.LengthDelimited).fork(), options);
+        writer.join();
+      }
+      /**
+       * Write a single scalar value.
+       */
+      scalar(writer, type2, fieldNo, value, emitDefault) {
+        let [wireType, method, isDefault] = this.scalarInfo(type2, value);
+        if (!isDefault || emitDefault) {
+          writer.tag(fieldNo, wireType);
+          writer[method](value);
+        }
+      }
+      /**
+       * Write an array of scalar values in packed format.
+       */
+      packed(writer, type2, fieldNo, value) {
+        if (!value.length)
+          return;
+        assert_1.assert(type2 !== reflection_info_1.ScalarType.BYTES && type2 !== reflection_info_1.ScalarType.STRING);
+        writer.tag(fieldNo, binary_format_contract_1.WireType.LengthDelimited);
+        writer.fork();
+        let [, method] = this.scalarInfo(type2);
+        for (let i = 0; i < value.length; i++)
+          writer[method](value[i]);
+        writer.join();
+      }
+      /**
+       * Get information for writing a scalar value.
+       *
+       * Returns tuple:
+       * [0]: appropriate WireType
+       * [1]: name of the appropriate method of IBinaryWriter
+       * [2]: whether the given value is a default value
+       *
+       * If argument `value` is omitted, [2] is always false.
+       */
+      scalarInfo(type2, value) {
+        let t = binary_format_contract_1.WireType.Varint;
+        let m;
+        let i = value === void 0;
+        let d = value === 0;
+        switch (type2) {
+          case reflection_info_1.ScalarType.INT32:
+            m = "int32";
+            break;
+          case reflection_info_1.ScalarType.STRING:
+            d = i || !value.length;
+            t = binary_format_contract_1.WireType.LengthDelimited;
+            m = "string";
+            break;
+          case reflection_info_1.ScalarType.BOOL:
+            d = value === false;
+            m = "bool";
+            break;
+          case reflection_info_1.ScalarType.UINT32:
+            m = "uint32";
+            break;
+          case reflection_info_1.ScalarType.DOUBLE:
+            t = binary_format_contract_1.WireType.Bit64;
+            m = "double";
+            break;
+          case reflection_info_1.ScalarType.FLOAT:
+            t = binary_format_contract_1.WireType.Bit32;
+            m = "float";
+            break;
+          case reflection_info_1.ScalarType.INT64:
+            d = i || pb_long_1.PbLong.from(value).isZero();
+            m = "int64";
+            break;
+          case reflection_info_1.ScalarType.UINT64:
+            d = i || pb_long_1.PbULong.from(value).isZero();
+            m = "uint64";
+            break;
+          case reflection_info_1.ScalarType.FIXED64:
+            d = i || pb_long_1.PbULong.from(value).isZero();
+            t = binary_format_contract_1.WireType.Bit64;
+            m = "fixed64";
+            break;
+          case reflection_info_1.ScalarType.BYTES:
+            d = i || !value.byteLength;
+            t = binary_format_contract_1.WireType.LengthDelimited;
+            m = "bytes";
+            break;
+          case reflection_info_1.ScalarType.FIXED32:
+            t = binary_format_contract_1.WireType.Bit32;
+            m = "fixed32";
+            break;
+          case reflection_info_1.ScalarType.SFIXED32:
+            t = binary_format_contract_1.WireType.Bit32;
+            m = "sfixed32";
+            break;
+          case reflection_info_1.ScalarType.SFIXED64:
+            d = i || pb_long_1.PbLong.from(value).isZero();
+            t = binary_format_contract_1.WireType.Bit64;
+            m = "sfixed64";
+            break;
+          case reflection_info_1.ScalarType.SINT32:
+            m = "sint32";
+            break;
+          case reflection_info_1.ScalarType.SINT64:
+            d = i || pb_long_1.PbLong.from(value).isZero();
+            m = "sint64";
+            break;
+        }
+        return [t, m, i || d];
+      }
+    };
+    exports2.ReflectionBinaryWriter = ReflectionBinaryWriter;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-create.js
+var require_reflection_create = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-create.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.reflectionCreate = void 0;
+    var reflection_scalar_default_1 = require_reflection_scalar_default();
+    var message_type_contract_1 = require_message_type_contract();
+    function reflectionCreate(type2) {
+      const msg = type2.messagePrototype ? Object.create(type2.messagePrototype) : Object.defineProperty({}, message_type_contract_1.MESSAGE_TYPE, { value: type2 });
+      for (let field of type2.fields) {
+        let name = field.localName;
+        if (field.opt)
+          continue;
+        if (field.oneof)
+          msg[field.oneof] = { oneofKind: void 0 };
+        else if (field.repeat)
+          msg[name] = [];
+        else
+          switch (field.kind) {
+            case "scalar":
+              msg[name] = reflection_scalar_default_1.reflectionScalarDefault(field.T, field.L);
+              break;
+            case "enum":
+              msg[name] = 0;
+              break;
+            case "map":
+              msg[name] = {};
+              break;
+          }
+      }
+      return msg;
+    }
+    exports2.reflectionCreate = reflectionCreate;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-merge-partial.js
+var require_reflection_merge_partial = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-merge-partial.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.reflectionMergePartial = void 0;
+    function reflectionMergePartial(info7, target, source) {
+      let fieldValue, input = source, output;
+      for (let field of info7.fields) {
+        let name = field.localName;
+        if (field.oneof) {
+          const group = input[field.oneof];
+          if ((group === null || group === void 0 ? void 0 : group.oneofKind) == void 0) {
+            continue;
+          }
+          fieldValue = group[name];
+          output = target[field.oneof];
+          output.oneofKind = group.oneofKind;
+          if (fieldValue == void 0) {
+            delete output[name];
+            continue;
+          }
+        } else {
+          fieldValue = input[name];
+          output = target;
+          if (fieldValue == void 0) {
+            continue;
+          }
+        }
+        if (field.repeat)
+          output[name].length = fieldValue.length;
+        switch (field.kind) {
+          case "scalar":
+          case "enum":
+            if (field.repeat)
+              for (let i = 0; i < fieldValue.length; i++)
+                output[name][i] = fieldValue[i];
+            else
+              output[name] = fieldValue;
+            break;
+          case "message":
+            let T = field.T();
+            if (field.repeat)
+              for (let i = 0; i < fieldValue.length; i++)
+                output[name][i] = T.create(fieldValue[i]);
+            else if (output[name] === void 0)
+              output[name] = T.create(fieldValue);
+            else
+              T.mergePartial(output[name], fieldValue);
+            break;
+          case "map":
+            switch (field.V.kind) {
+              case "scalar":
+              case "enum":
+                Object.assign(output[name], fieldValue);
+                break;
+              case "message":
+                let T2 = field.V.T();
+                for (let k of Object.keys(fieldValue))
+                  output[name][k] = T2.create(fieldValue[k]);
+                break;
+            }
+            break;
+        }
+      }
+    }
+    exports2.reflectionMergePartial = reflectionMergePartial;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-equals.js
+var require_reflection_equals = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-equals.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.reflectionEquals = void 0;
+    var reflection_info_1 = require_reflection_info();
+    function reflectionEquals(info7, a, b) {
+      if (a === b)
+        return true;
+      if (!a || !b)
+        return false;
+      for (let field of info7.fields) {
+        let localName = field.localName;
+        let val_a = field.oneof ? a[field.oneof][localName] : a[localName];
+        let val_b = field.oneof ? b[field.oneof][localName] : b[localName];
+        switch (field.kind) {
+          case "enum":
+          case "scalar":
+            let t = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T;
+            if (!(field.repeat ? repeatedPrimitiveEq(t, val_a, val_b) : primitiveEq(t, val_a, val_b)))
+              return false;
+            break;
+          case "map":
+            if (!(field.V.kind == "message" ? repeatedMsgEq(field.V.T(), objectValues(val_a), objectValues(val_b)) : repeatedPrimitiveEq(field.V.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.V.T, objectValues(val_a), objectValues(val_b))))
+              return false;
+            break;
+          case "message":
+            let T = field.T();
+            if (!(field.repeat ? repeatedMsgEq(T, val_a, val_b) : T.equals(val_a, val_b)))
+              return false;
+            break;
+        }
+      }
+      return true;
+    }
+    exports2.reflectionEquals = reflectionEquals;
+    var objectValues = Object.values;
+    function primitiveEq(type2, a, b) {
+      if (a === b)
+        return true;
+      if (type2 !== reflection_info_1.ScalarType.BYTES)
+        return false;
+      let ba = a;
+      let bb = b;
+      if (ba.length !== bb.length)
+        return false;
+      for (let i = 0; i < ba.length; i++)
+        if (ba[i] != bb[i])
+          return false;
+      return true;
+    }
+    function repeatedPrimitiveEq(type2, a, b) {
+      if (a.length !== b.length)
+        return false;
+      for (let i = 0; i < a.length; i++)
+        if (!primitiveEq(type2, a[i], b[i]))
+          return false;
+      return true;
+    }
+    function repeatedMsgEq(type2, a, b) {
+      if (a.length !== b.length)
+        return false;
+      for (let i = 0; i < a.length; i++)
+        if (!type2.equals(a[i], b[i]))
+          return false;
+      return true;
+    }
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/message-type.js
+var require_message_type = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/message-type.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.MessageType = void 0;
+    var message_type_contract_1 = require_message_type_contract();
+    var reflection_info_1 = require_reflection_info();
+    var reflection_type_check_1 = require_reflection_type_check();
+    var reflection_json_reader_1 = require_reflection_json_reader();
+    var reflection_json_writer_1 = require_reflection_json_writer();
+    var reflection_binary_reader_1 = require_reflection_binary_reader();
+    var reflection_binary_writer_1 = require_reflection_binary_writer();
+    var reflection_create_1 = require_reflection_create();
+    var reflection_merge_partial_1 = require_reflection_merge_partial();
+    var json_typings_1 = require_json_typings();
+    var json_format_contract_1 = require_json_format_contract();
+    var reflection_equals_1 = require_reflection_equals();
+    var binary_writer_1 = require_binary_writer();
+    var binary_reader_1 = require_binary_reader();
+    var baseDescriptors = Object.getOwnPropertyDescriptors(Object.getPrototypeOf({}));
+    var messageTypeDescriptor = baseDescriptors[message_type_contract_1.MESSAGE_TYPE] = {};
+    var MessageType = class {
+      constructor(name, fields, options) {
+        this.defaultCheckDepth = 16;
+        this.typeName = name;
+        this.fields = fields.map(reflection_info_1.normalizeFieldInfo);
+        this.options = options !== null && options !== void 0 ? options : {};
+        messageTypeDescriptor.value = this;
+        this.messagePrototype = Object.create(null, baseDescriptors);
+        this.refTypeCheck = new reflection_type_check_1.ReflectionTypeCheck(this);
+        this.refJsonReader = new reflection_json_reader_1.ReflectionJsonReader(this);
+        this.refJsonWriter = new reflection_json_writer_1.ReflectionJsonWriter(this);
+        this.refBinReader = new reflection_binary_reader_1.ReflectionBinaryReader(this);
+        this.refBinWriter = new reflection_binary_writer_1.ReflectionBinaryWriter(this);
+      }
+      create(value) {
+        let message = reflection_create_1.reflectionCreate(this);
+        if (value !== void 0) {
+          reflection_merge_partial_1.reflectionMergePartial(this, message, value);
+        }
+        return message;
+      }
+      /**
+       * Clone the message.
+       *
+       * Unknown fields are discarded.
+       */
+      clone(message) {
+        let copy = this.create();
+        reflection_merge_partial_1.reflectionMergePartial(this, copy, message);
+        return copy;
+      }
+      /**
+       * Determines whether two message of the same type have the same field values.
+       * Checks for deep equality, traversing repeated fields, oneof groups, maps
+       * and messages recursively.
+       * Will also return true if both messages are `undefined`.
+       */
+      equals(a, b) {
+        return reflection_equals_1.reflectionEquals(this, a, b);
+      }
+      /**
+       * Is the given value assignable to our message type
+       * and contains no [excess properties](https://www.typescriptlang.org/docs/handbook/interfaces.html#excess-property-checks)?
+       */
+      is(arg, depth = this.defaultCheckDepth) {
+        return this.refTypeCheck.is(arg, depth, false);
+      }
+      /**
+       * Is the given value assignable to our message type,
+       * regardless of [excess properties](https://www.typescriptlang.org/docs/handbook/interfaces.html#excess-property-checks)?
+       */
+      isAssignable(arg, depth = this.defaultCheckDepth) {
+        return this.refTypeCheck.is(arg, depth, true);
+      }
+      /**
+       * Copy partial data into the target message.
+       */
+      mergePartial(target, source) {
+        reflection_merge_partial_1.reflectionMergePartial(this, target, source);
+      }
+      /**
+       * Create a new message from binary format.
+       */
+      fromBinary(data, options) {
+        let opt = binary_reader_1.binaryReadOptions(options);
+        return this.internalBinaryRead(opt.readerFactory(data), data.byteLength, opt);
+      }
+      /**
+       * Read a new message from a JSON value.
+       */
+      fromJson(json2, options) {
+        return this.internalJsonRead(json2, json_format_contract_1.jsonReadOptions(options));
+      }
+      /**
+       * Read a new message from a JSON string.
+       * This is equivalent to `T.fromJson(JSON.parse(json))`.
+       */
+      fromJsonString(json2, options) {
+        let value = JSON.parse(json2);
+        return this.fromJson(value, options);
+      }
+      /**
+       * Write the message to canonical JSON value.
+       */
+      toJson(message, options) {
+        return this.internalJsonWrite(message, json_format_contract_1.jsonWriteOptions(options));
+      }
+      /**
+       * Convert the message to canonical JSON string.
+       * This is equivalent to `JSON.stringify(T.toJson(t))`
+       */
+      toJsonString(message, options) {
+        var _a;
+        let value = this.toJson(message, options);
+        return JSON.stringify(value, null, (_a = options === null || options === void 0 ? void 0 : options.prettySpaces) !== null && _a !== void 0 ? _a : 0);
+      }
+      /**
+       * Write the message to binary format.
+       */
+      toBinary(message, options) {
+        let opt = binary_writer_1.binaryWriteOptions(options);
+        return this.internalBinaryWrite(message, opt.writerFactory(), opt).finish();
+      }
+      /**
+       * This is an internal method. If you just want to read a message from
+       * JSON, use `fromJson()` or `fromJsonString()`.
+       *
+       * Reads JSON value and merges the fields into the target
+       * according to protobuf rules. If the target is omitted,
+       * a new instance is created first.
+       */
+      internalJsonRead(json2, options, target) {
+        if (json2 !== null && typeof json2 == "object" && !Array.isArray(json2)) {
+          let message = target !== null && target !== void 0 ? target : this.create();
+          this.refJsonReader.read(json2, message, options);
+          return message;
+        }
+        throw new Error(`Unable to parse message ${this.typeName} from JSON ${json_typings_1.typeofJsonValue(json2)}.`);
+      }
+      /**
+       * This is an internal method. If you just want to write a message
+       * to JSON, use `toJson()` or `toJsonString().
+       *
+       * Writes JSON value and returns it.
+       */
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.write(message, options);
+      }
+      /**
+       * This is an internal method. If you just want to write a message
+       * in binary format, use `toBinary()`.
+       *
+       * Serializes the message in binary format and appends it to the given
+       * writer. Returns passed writer.
+       */
+      internalBinaryWrite(message, writer, options) {
+        this.refBinWriter.write(message, writer, options);
+        return writer;
+      }
+      /**
+       * This is an internal method. If you just want to read a message from
+       * binary data, use `fromBinary()`.
+       *
+       * Reads data from binary format and merges the fields into
+       * the target according to protobuf rules. If the target is
+       * omitted, a new instance is created first.
+       */
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create();
+        this.refBinReader.read(reader, message, options, length);
+        return message;
+      }
+    };
+    exports2.MessageType = MessageType;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-contains-message-type.js
+var require_reflection_contains_message_type = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-contains-message-type.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.containsMessageType = void 0;
+    var message_type_contract_1 = require_message_type_contract();
+    function containsMessageType(msg) {
+      return msg[message_type_contract_1.MESSAGE_TYPE] != null;
+    }
+    exports2.containsMessageType = containsMessageType;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/enum-object.js
+var require_enum_object = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/enum-object.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.listEnumNumbers = exports2.listEnumNames = exports2.listEnumValues = exports2.isEnumObject = void 0;
+    function isEnumObject(arg) {
+      if (typeof arg != "object" || arg === null) {
+        return false;
+      }
+      if (!arg.hasOwnProperty(0)) {
+        return false;
+      }
+      for (let k of Object.keys(arg)) {
+        let num = parseInt(k);
+        if (!Number.isNaN(num)) {
+          let nam = arg[num];
+          if (nam === void 0)
+            return false;
+          if (arg[nam] !== num)
+            return false;
+        } else {
+          let num2 = arg[k];
+          if (num2 === void 0)
+            return false;
+          if (typeof num2 !== "number")
+            return false;
+          if (arg[num2] === void 0)
+            return false;
+        }
+      }
+      return true;
+    }
+    exports2.isEnumObject = isEnumObject;
+    function listEnumValues(enumObject) {
+      if (!isEnumObject(enumObject))
+        throw new Error("not a typescript enum object");
+      let values = [];
+      for (let [name, number] of Object.entries(enumObject))
+        if (typeof number == "number")
+          values.push({ name, number });
+      return values;
+    }
+    exports2.listEnumValues = listEnumValues;
+    function listEnumNames(enumObject) {
+      return listEnumValues(enumObject).map((val) => val.name);
+    }
+    exports2.listEnumNames = listEnumNames;
+    function listEnumNumbers(enumObject) {
+      return listEnumValues(enumObject).map((val) => val.number).filter((num, index, arr) => arr.indexOf(num) == index);
+    }
+    exports2.listEnumNumbers = listEnumNumbers;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/index.js
+var require_commonjs = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    var json_typings_1 = require_json_typings();
+    Object.defineProperty(exports2, "typeofJsonValue", { enumerable: true, get: function() {
+      return json_typings_1.typeofJsonValue;
+    } });
+    Object.defineProperty(exports2, "isJsonObject", { enumerable: true, get: function() {
+      return json_typings_1.isJsonObject;
+    } });
+    var base64_1 = require_base64();
+    Object.defineProperty(exports2, "base64decode", { enumerable: true, get: function() {
+      return base64_1.base64decode;
+    } });
+    Object.defineProperty(exports2, "base64encode", { enumerable: true, get: function() {
+      return base64_1.base64encode;
+    } });
+    var protobufjs_utf8_1 = require_protobufjs_utf8();
+    Object.defineProperty(exports2, "utf8read", { enumerable: true, get: function() {
+      return protobufjs_utf8_1.utf8read;
+    } });
+    var binary_format_contract_1 = require_binary_format_contract();
+    Object.defineProperty(exports2, "WireType", { enumerable: true, get: function() {
+      return binary_format_contract_1.WireType;
+    } });
+    Object.defineProperty(exports2, "mergeBinaryOptions", { enumerable: true, get: function() {
+      return binary_format_contract_1.mergeBinaryOptions;
+    } });
+    Object.defineProperty(exports2, "UnknownFieldHandler", { enumerable: true, get: function() {
+      return binary_format_contract_1.UnknownFieldHandler;
+    } });
+    var binary_reader_1 = require_binary_reader();
+    Object.defineProperty(exports2, "BinaryReader", { enumerable: true, get: function() {
+      return binary_reader_1.BinaryReader;
+    } });
+    Object.defineProperty(exports2, "binaryReadOptions", { enumerable: true, get: function() {
+      return binary_reader_1.binaryReadOptions;
+    } });
+    var binary_writer_1 = require_binary_writer();
+    Object.defineProperty(exports2, "BinaryWriter", { enumerable: true, get: function() {
+      return binary_writer_1.BinaryWriter;
+    } });
+    Object.defineProperty(exports2, "binaryWriteOptions", { enumerable: true, get: function() {
+      return binary_writer_1.binaryWriteOptions;
+    } });
+    var pb_long_1 = require_pb_long();
+    Object.defineProperty(exports2, "PbLong", { enumerable: true, get: function() {
+      return pb_long_1.PbLong;
+    } });
+    Object.defineProperty(exports2, "PbULong", { enumerable: true, get: function() {
+      return pb_long_1.PbULong;
+    } });
+    var json_format_contract_1 = require_json_format_contract();
+    Object.defineProperty(exports2, "jsonReadOptions", { enumerable: true, get: function() {
+      return json_format_contract_1.jsonReadOptions;
+    } });
+    Object.defineProperty(exports2, "jsonWriteOptions", { enumerable: true, get: function() {
+      return json_format_contract_1.jsonWriteOptions;
+    } });
+    Object.defineProperty(exports2, "mergeJsonOptions", { enumerable: true, get: function() {
+      return json_format_contract_1.mergeJsonOptions;
+    } });
+    var message_type_contract_1 = require_message_type_contract();
+    Object.defineProperty(exports2, "MESSAGE_TYPE", { enumerable: true, get: function() {
+      return message_type_contract_1.MESSAGE_TYPE;
+    } });
+    var message_type_1 = require_message_type();
+    Object.defineProperty(exports2, "MessageType", { enumerable: true, get: function() {
+      return message_type_1.MessageType;
+    } });
+    var reflection_info_1 = require_reflection_info();
+    Object.defineProperty(exports2, "ScalarType", { enumerable: true, get: function() {
+      return reflection_info_1.ScalarType;
+    } });
+    Object.defineProperty(exports2, "LongType", { enumerable: true, get: function() {
+      return reflection_info_1.LongType;
+    } });
+    Object.defineProperty(exports2, "RepeatType", { enumerable: true, get: function() {
+      return reflection_info_1.RepeatType;
+    } });
+    Object.defineProperty(exports2, "normalizeFieldInfo", { enumerable: true, get: function() {
+      return reflection_info_1.normalizeFieldInfo;
+    } });
+    Object.defineProperty(exports2, "readFieldOptions", { enumerable: true, get: function() {
+      return reflection_info_1.readFieldOptions;
+    } });
+    Object.defineProperty(exports2, "readFieldOption", { enumerable: true, get: function() {
+      return reflection_info_1.readFieldOption;
+    } });
+    Object.defineProperty(exports2, "readMessageOption", { enumerable: true, get: function() {
+      return reflection_info_1.readMessageOption;
+    } });
+    var reflection_type_check_1 = require_reflection_type_check();
+    Object.defineProperty(exports2, "ReflectionTypeCheck", { enumerable: true, get: function() {
+      return reflection_type_check_1.ReflectionTypeCheck;
+    } });
+    var reflection_create_1 = require_reflection_create();
+    Object.defineProperty(exports2, "reflectionCreate", { enumerable: true, get: function() {
+      return reflection_create_1.reflectionCreate;
+    } });
+    var reflection_scalar_default_1 = require_reflection_scalar_default();
+    Object.defineProperty(exports2, "reflectionScalarDefault", { enumerable: true, get: function() {
+      return reflection_scalar_default_1.reflectionScalarDefault;
+    } });
+    var reflection_merge_partial_1 = require_reflection_merge_partial();
+    Object.defineProperty(exports2, "reflectionMergePartial", { enumerable: true, get: function() {
+      return reflection_merge_partial_1.reflectionMergePartial;
+    } });
+    var reflection_equals_1 = require_reflection_equals();
+    Object.defineProperty(exports2, "reflectionEquals", { enumerable: true, get: function() {
+      return reflection_equals_1.reflectionEquals;
+    } });
+    var reflection_binary_reader_1 = require_reflection_binary_reader();
+    Object.defineProperty(exports2, "ReflectionBinaryReader", { enumerable: true, get: function() {
+      return reflection_binary_reader_1.ReflectionBinaryReader;
+    } });
+    var reflection_binary_writer_1 = require_reflection_binary_writer();
+    Object.defineProperty(exports2, "ReflectionBinaryWriter", { enumerable: true, get: function() {
+      return reflection_binary_writer_1.ReflectionBinaryWriter;
+    } });
+    var reflection_json_reader_1 = require_reflection_json_reader();
+    Object.defineProperty(exports2, "ReflectionJsonReader", { enumerable: true, get: function() {
+      return reflection_json_reader_1.ReflectionJsonReader;
+    } });
+    var reflection_json_writer_1 = require_reflection_json_writer();
+    Object.defineProperty(exports2, "ReflectionJsonWriter", { enumerable: true, get: function() {
+      return reflection_json_writer_1.ReflectionJsonWriter;
+    } });
+    var reflection_contains_message_type_1 = require_reflection_contains_message_type();
+    Object.defineProperty(exports2, "containsMessageType", { enumerable: true, get: function() {
+      return reflection_contains_message_type_1.containsMessageType;
+    } });
+    var oneof_1 = require_oneof();
+    Object.defineProperty(exports2, "isOneofGroup", { enumerable: true, get: function() {
+      return oneof_1.isOneofGroup;
+    } });
+    Object.defineProperty(exports2, "setOneofValue", { enumerable: true, get: function() {
+      return oneof_1.setOneofValue;
+    } });
+    Object.defineProperty(exports2, "getOneofValue", { enumerable: true, get: function() {
+      return oneof_1.getOneofValue;
+    } });
+    Object.defineProperty(exports2, "clearOneofValue", { enumerable: true, get: function() {
+      return oneof_1.clearOneofValue;
+    } });
+    Object.defineProperty(exports2, "getSelectedOneofValue", { enumerable: true, get: function() {
+      return oneof_1.getSelectedOneofValue;
+    } });
+    var enum_object_1 = require_enum_object();
+    Object.defineProperty(exports2, "listEnumValues", { enumerable: true, get: function() {
+      return enum_object_1.listEnumValues;
+    } });
+    Object.defineProperty(exports2, "listEnumNames", { enumerable: true, get: function() {
+      return enum_object_1.listEnumNames;
+    } });
+    Object.defineProperty(exports2, "listEnumNumbers", { enumerable: true, get: function() {
+      return enum_object_1.listEnumNumbers;
+    } });
+    Object.defineProperty(exports2, "isEnumObject", { enumerable: true, get: function() {
+      return enum_object_1.isEnumObject;
+    } });
+    var lower_camel_case_1 = require_lower_camel_case();
+    Object.defineProperty(exports2, "lowerCamelCase", { enumerable: true, get: function() {
+      return lower_camel_case_1.lowerCamelCase;
+    } });
+    var assert_1 = require_assert();
+    Object.defineProperty(exports2, "assert", { enumerable: true, get: function() {
+      return assert_1.assert;
+    } });
+    Object.defineProperty(exports2, "assertNever", { enumerable: true, get: function() {
+      return assert_1.assertNever;
+    } });
+    Object.defineProperty(exports2, "assertInt32", { enumerable: true, get: function() {
+      return assert_1.assertInt32;
+    } });
+    Object.defineProperty(exports2, "assertUInt32", { enumerable: true, get: function() {
+      return assert_1.assertUInt32;
+    } });
+    Object.defineProperty(exports2, "assertFloat32", { enumerable: true, get: function() {
+      return assert_1.assertFloat32;
+    } });
+  }
+});
+
+// node_modules/@actions/artifact/lib/generated/google/protobuf/timestamp.js
+var require_timestamp = __commonJS({
+  "node_modules/@actions/artifact/lib/generated/google/protobuf/timestamp.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Timestamp = void 0;
+    var runtime_1 = require_commonjs();
+    var runtime_2 = require_commonjs();
+    var runtime_3 = require_commonjs();
+    var runtime_4 = require_commonjs();
+    var runtime_5 = require_commonjs();
+    var runtime_6 = require_commonjs();
+    var runtime_7 = require_commonjs();
+    var Timestamp$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.Timestamp", [
+          {
+            no: 1,
+            name: "seconds",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          },
+          {
+            no: 2,
+            name: "nanos",
+            kind: "scalar",
+            T: 5
+            /*ScalarType.INT32*/
+          }
+        ]);
+      }
+      /**
+       * Creates a new `Timestamp` for the current time.
+       */
+      now() {
+        const msg = this.create();
+        const ms = Date.now();
+        msg.seconds = runtime_6.PbLong.from(Math.floor(ms / 1e3)).toString();
+        msg.nanos = ms % 1e3 * 1e6;
+        return msg;
+      }
+      /**
+       * Converts a `Timestamp` to a JavaScript Date.
+       */
+      toDate(message) {
+        return new Date(runtime_6.PbLong.from(message.seconds).toNumber() * 1e3 + Math.ceil(message.nanos / 1e6));
+      }
+      /**
+       * Converts a JavaScript Date to a `Timestamp`.
+       */
+      fromDate(date) {
+        const msg = this.create();
+        const ms = date.getTime();
+        msg.seconds = runtime_6.PbLong.from(Math.floor(ms / 1e3)).toString();
+        msg.nanos = ms % 1e3 * 1e6;
+        return msg;
+      }
+      /**
+       * In JSON format, the `Timestamp` type is encoded as a string
+       * in the RFC 3339 format.
+       */
+      internalJsonWrite(message, options) {
+        let ms = runtime_6.PbLong.from(message.seconds).toNumber() * 1e3;
+        if (ms < Date.parse("0001-01-01T00:00:00Z") || ms > Date.parse("9999-12-31T23:59:59Z"))
+          throw new Error("Unable to encode Timestamp to JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.");
+        if (message.nanos < 0)
+          throw new Error("Unable to encode invalid Timestamp to JSON. Nanos must not be negative.");
+        let z = "Z";
+        if (message.nanos > 0) {
+          let nanosStr = (message.nanos + 1e9).toString().substring(1);
+          if (nanosStr.substring(3) === "000000")
+            z = "." + nanosStr.substring(0, 3) + "Z";
+          else if (nanosStr.substring(6) === "000")
+            z = "." + nanosStr.substring(0, 6) + "Z";
+          else
+            z = "." + nanosStr + "Z";
+        }
+        return new Date(ms).toISOString().replace(".000Z", z);
+      }
+      /**
+       * In JSON format, the `Timestamp` type is encoded as a string
+       * in the RFC 3339 format.
+       */
+      internalJsonRead(json2, options, target) {
+        if (typeof json2 !== "string")
+          throw new Error("Unable to parse Timestamp from JSON " + (0, runtime_5.typeofJsonValue)(json2) + ".");
+        let matches = json2.match(/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(?:Z|\.([0-9]{3,9})Z|([+-][0-9][0-9]:[0-9][0-9]))$/);
+        if (!matches)
+          throw new Error("Unable to parse Timestamp from JSON. Invalid format.");
+        let ms = Date.parse(matches[1] + "-" + matches[2] + "-" + matches[3] + "T" + matches[4] + ":" + matches[5] + ":" + matches[6] + (matches[8] ? matches[8] : "Z"));
+        if (Number.isNaN(ms))
+          throw new Error("Unable to parse Timestamp from JSON. Invalid value.");
+        if (ms < Date.parse("0001-01-01T00:00:00Z") || ms > Date.parse("9999-12-31T23:59:59Z"))
+          throw new globalThis.Error("Unable to parse Timestamp from JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.");
+        if (!target)
+          target = this.create();
+        target.seconds = runtime_6.PbLong.from(ms / 1e3).toString();
+        target.nanos = 0;
+        if (matches[7])
+          target.nanos = parseInt("1" + matches[7] + "0".repeat(9 - matches[7].length)) - 1e9;
+        return target;
+      }
+      create(value) {
+        const message = { seconds: "0", nanos: 0 };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* int64 seconds */
+            1:
+              message.seconds = reader.int64().toString();
+              break;
+            case /* int32 nanos */
+            2:
+              message.nanos = reader.int32();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.seconds !== "0")
+          writer.tag(1, runtime_1.WireType.Varint).int64(message.seconds);
+        if (message.nanos !== 0)
+          writer.tag(2, runtime_1.WireType.Varint).int32(message.nanos);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.Timestamp = new Timestamp$Type();
+  }
+});
+
+// node_modules/@actions/artifact/lib/generated/google/protobuf/wrappers.js
+var require_wrappers = __commonJS({
+  "node_modules/@actions/artifact/lib/generated/google/protobuf/wrappers.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BytesValue = exports2.StringValue = exports2.BoolValue = exports2.UInt32Value = exports2.Int32Value = exports2.UInt64Value = exports2.Int64Value = exports2.FloatValue = exports2.DoubleValue = void 0;
+    var runtime_1 = require_commonjs();
+    var runtime_2 = require_commonjs();
+    var runtime_3 = require_commonjs();
+    var runtime_4 = require_commonjs();
+    var runtime_5 = require_commonjs();
+    var runtime_6 = require_commonjs();
+    var runtime_7 = require_commonjs();
+    var DoubleValue$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.DoubleValue", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 1
+            /*ScalarType.DOUBLE*/
+          }
+        ]);
+      }
+      /**
+       * Encode `DoubleValue` to JSON number.
+       */
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.scalar(2, message.value, "value", false, true);
+      }
+      /**
+       * Decode `DoubleValue` from JSON number.
+       */
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, 1, void 0, "value");
+        return target;
+      }
+      create(value) {
+        const message = { value: 0 };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* double value */
+            1:
+              message.value = reader.double();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== 0)
+          writer.tag(1, runtime_3.WireType.Bit64).double(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.DoubleValue = new DoubleValue$Type();
+    var FloatValue$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.FloatValue", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 2
+            /*ScalarType.FLOAT*/
+          }
+        ]);
+      }
+      /**
+       * Encode `FloatValue` to JSON number.
+       */
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.scalar(1, message.value, "value", false, true);
+      }
+      /**
+       * Decode `FloatValue` from JSON number.
+       */
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, 1, void 0, "value");
+        return target;
+      }
+      create(value) {
+        const message = { value: 0 };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* float value */
+            1:
+              message.value = reader.float();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== 0)
+          writer.tag(1, runtime_3.WireType.Bit32).float(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.FloatValue = new FloatValue$Type();
+    var Int64Value$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.Int64Value", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          }
+        ]);
+      }
+      /**
+       * Encode `Int64Value` to JSON string.
+       */
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.scalar(runtime_1.ScalarType.INT64, message.value, "value", false, true);
+      }
+      /**
+       * Decode `Int64Value` from JSON string.
+       */
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, runtime_1.ScalarType.INT64, runtime_2.LongType.STRING, "value");
+        return target;
+      }
+      create(value) {
+        const message = { value: "0" };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* int64 value */
+            1:
+              message.value = reader.int64().toString();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== "0")
+          writer.tag(1, runtime_3.WireType.Varint).int64(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.Int64Value = new Int64Value$Type();
+    var UInt64Value$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.UInt64Value", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 4
+            /*ScalarType.UINT64*/
+          }
+        ]);
+      }
+      /**
+       * Encode `UInt64Value` to JSON string.
+       */
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.scalar(runtime_1.ScalarType.UINT64, message.value, "value", false, true);
+      }
+      /**
+       * Decode `UInt64Value` from JSON string.
+       */
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, runtime_1.ScalarType.UINT64, runtime_2.LongType.STRING, "value");
+        return target;
+      }
+      create(value) {
+        const message = { value: "0" };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* uint64 value */
+            1:
+              message.value = reader.uint64().toString();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== "0")
+          writer.tag(1, runtime_3.WireType.Varint).uint64(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.UInt64Value = new UInt64Value$Type();
+    var Int32Value$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.Int32Value", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 5
+            /*ScalarType.INT32*/
+          }
+        ]);
+      }
+      /**
+       * Encode `Int32Value` to JSON string.
+       */
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.scalar(5, message.value, "value", false, true);
+      }
+      /**
+       * Decode `Int32Value` from JSON string.
+       */
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, 5, void 0, "value");
+        return target;
+      }
+      create(value) {
+        const message = { value: 0 };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* int32 value */
+            1:
+              message.value = reader.int32();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== 0)
+          writer.tag(1, runtime_3.WireType.Varint).int32(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.Int32Value = new Int32Value$Type();
+    var UInt32Value$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.UInt32Value", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 13
+            /*ScalarType.UINT32*/
+          }
+        ]);
+      }
+      /**
+       * Encode `UInt32Value` to JSON string.
+       */
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.scalar(13, message.value, "value", false, true);
+      }
+      /**
+       * Decode `UInt32Value` from JSON string.
+       */
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, 13, void 0, "value");
+        return target;
+      }
+      create(value) {
+        const message = { value: 0 };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* uint32 value */
+            1:
+              message.value = reader.uint32();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== 0)
+          writer.tag(1, runtime_3.WireType.Varint).uint32(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.UInt32Value = new UInt32Value$Type();
+    var BoolValue$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.BoolValue", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          }
+        ]);
+      }
+      /**
+       * Encode `BoolValue` to JSON bool.
+       */
+      internalJsonWrite(message, options) {
+        return message.value;
+      }
+      /**
+       * Decode `BoolValue` from JSON bool.
+       */
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, 8, void 0, "value");
+        return target;
+      }
+      create(value) {
+        const message = { value: false };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool value */
+            1:
+              message.value = reader.bool();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== false)
+          writer.tag(1, runtime_3.WireType.Varint).bool(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.BoolValue = new BoolValue$Type();
+    var StringValue$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.StringValue", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
+      }
+      /**
+       * Encode `StringValue` to JSON string.
+       */
+      internalJsonWrite(message, options) {
+        return message.value;
+      }
+      /**
+       * Decode `StringValue` from JSON string.
+       */
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, 9, void 0, "value");
+        return target;
+      }
+      create(value) {
+        const message = { value: "" };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string value */
+            1:
+              message.value = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== "")
+          writer.tag(1, runtime_3.WireType.LengthDelimited).string(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.StringValue = new StringValue$Type();
+    var BytesValue$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.BytesValue", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 12
+            /*ScalarType.BYTES*/
+          }
+        ]);
+      }
+      /**
+       * Encode `BytesValue` to JSON string.
+       */
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.scalar(12, message.value, "value", false, true);
+      }
+      /**
+       * Decode `BytesValue` from JSON string.
+       */
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, 12, void 0, "value");
+        return target;
+      }
+      create(value) {
+        const message = { value: new Uint8Array(0) };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bytes value */
+            1:
+              message.value = reader.bytes();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.value.length)
+          writer.tag(1, runtime_3.WireType.LengthDelimited).bytes(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.BytesValue = new BytesValue$Type();
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/reflection-info.js
+var require_reflection_info2 = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/reflection-info.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.readServiceOption = exports2.readMethodOption = exports2.readMethodOptions = exports2.normalizeMethodInfo = void 0;
+    var runtime_1 = require_commonjs();
+    function normalizeMethodInfo(method, service) {
+      var _a, _b, _c;
+      let m = method;
+      m.service = service;
+      m.localName = (_a = m.localName) !== null && _a !== void 0 ? _a : runtime_1.lowerCamelCase(m.name);
+      m.serverStreaming = !!m.serverStreaming;
+      m.clientStreaming = !!m.clientStreaming;
+      m.options = (_b = m.options) !== null && _b !== void 0 ? _b : {};
+      m.idempotency = (_c = m.idempotency) !== null && _c !== void 0 ? _c : void 0;
+      return m;
+    }
+    exports2.normalizeMethodInfo = normalizeMethodInfo;
+    function readMethodOptions(service, methodName, extensionName, extensionType) {
+      var _a;
+      const options = (_a = service.methods.find((m, i) => m.localName === methodName || i === methodName)) === null || _a === void 0 ? void 0 : _a.options;
+      return options && options[extensionName] ? extensionType.fromJson(options[extensionName]) : void 0;
+    }
+    exports2.readMethodOptions = readMethodOptions;
+    function readMethodOption(service, methodName, extensionName, extensionType) {
+      var _a;
+      const options = (_a = service.methods.find((m, i) => m.localName === methodName || i === methodName)) === null || _a === void 0 ? void 0 : _a.options;
+      if (!options) {
+        return void 0;
+      }
+      const optionVal = options[extensionName];
+      if (optionVal === void 0) {
+        return optionVal;
+      }
+      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
+    }
+    exports2.readMethodOption = readMethodOption;
+    function readServiceOption(service, extensionName, extensionType) {
+      const options = service.options;
+      if (!options) {
+        return void 0;
+      }
+      const optionVal = options[extensionName];
+      if (optionVal === void 0) {
+        return optionVal;
+      }
+      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
+    }
+    exports2.readServiceOption = readServiceOption;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/service-type.js
+var require_service_type = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/service-type.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ServiceType = void 0;
+    var reflection_info_1 = require_reflection_info2();
+    var ServiceType = class {
+      constructor(typeName, methods, options) {
+        this.typeName = typeName;
+        this.methods = methods.map((i) => reflection_info_1.normalizeMethodInfo(i, this));
+        this.options = options !== null && options !== void 0 ? options : {};
+      }
+    };
+    exports2.ServiceType = ServiceType;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-error.js
+var require_rpc_error = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-error.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.RpcError = void 0;
+    var RpcError = class extends Error {
+      constructor(message, code = "UNKNOWN", meta) {
+        super(message);
+        this.name = "RpcError";
+        Object.setPrototypeOf(this, new.target.prototype);
+        this.code = code;
+        this.meta = meta !== null && meta !== void 0 ? meta : {};
+      }
+      toString() {
+        const l = [this.name + ": " + this.message];
+        if (this.code) {
+          l.push("");
+          l.push("Code: " + this.code);
+        }
+        if (this.serviceName && this.methodName) {
+          l.push("Method: " + this.serviceName + "/" + this.methodName);
+        }
+        let m = Object.entries(this.meta);
+        if (m.length) {
+          l.push("");
+          l.push("Meta:");
+          for (let [k, v] of m) {
+            l.push(`  ${k}: ${v}`);
+          }
+        }
+        return l.join("\n");
+      }
+    };
+    exports2.RpcError = RpcError;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-options.js
+var require_rpc_options = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-options.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.mergeRpcOptions = void 0;
+    var runtime_1 = require_commonjs();
+    function mergeRpcOptions(defaults, options) {
+      if (!options)
+        return defaults;
+      let o = {};
+      copy(defaults, o);
+      copy(options, o);
+      for (let key of Object.keys(options)) {
+        let val = options[key];
+        switch (key) {
+          case "jsonOptions":
+            o.jsonOptions = runtime_1.mergeJsonOptions(defaults.jsonOptions, o.jsonOptions);
+            break;
+          case "binaryOptions":
+            o.binaryOptions = runtime_1.mergeBinaryOptions(defaults.binaryOptions, o.binaryOptions);
+            break;
+          case "meta":
+            o.meta = {};
+            copy(defaults.meta, o.meta);
+            copy(options.meta, o.meta);
+            break;
+          case "interceptors":
+            o.interceptors = defaults.interceptors ? defaults.interceptors.concat(val) : val.concat();
+            break;
+        }
+      }
+      return o;
+    }
+    exports2.mergeRpcOptions = mergeRpcOptions;
+    function copy(a, into) {
+      if (!a)
+        return;
+      let c = into;
+      for (let [k, v] of Object.entries(a)) {
+        if (v instanceof Date)
+          c[k] = new Date(v.getTime());
+        else if (Array.isArray(v))
+          c[k] = v.concat();
+        else
+          c[k] = v;
+      }
+    }
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/deferred.js
+var require_deferred = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/deferred.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Deferred = exports2.DeferredState = void 0;
+    var DeferredState;
+    (function(DeferredState2) {
+      DeferredState2[DeferredState2["PENDING"] = 0] = "PENDING";
+      DeferredState2[DeferredState2["REJECTED"] = 1] = "REJECTED";
+      DeferredState2[DeferredState2["RESOLVED"] = 2] = "RESOLVED";
+    })(DeferredState = exports2.DeferredState || (exports2.DeferredState = {}));
+    var Deferred = class {
+      /**
+       * @param preventUnhandledRejectionWarning - prevents the warning
+       * "Unhandled Promise rejection" by adding a noop rejection handler.
+       * Working with calls returned from the runtime-rpc package in an
+       * async function usually means awaiting one call property after
+       * the other. This means that the "status" is not being awaited when
+       * an earlier await for the "headers" is rejected. This causes the
+       * "unhandled promise reject" warning. A more correct behaviour for
+       * calls might be to become aware whether at least one of the
+       * promises is handled and swallow the rejection warning for the
+       * others.
+       */
+      constructor(preventUnhandledRejectionWarning = true) {
+        this._state = DeferredState.PENDING;
+        this._promise = new Promise((resolve2, reject) => {
+          this._resolve = resolve2;
+          this._reject = reject;
+        });
+        if (preventUnhandledRejectionWarning) {
+          this._promise.catch((_2) => {
+          });
+        }
+      }
+      /**
+       * Get the current state of the promise.
+       */
+      get state() {
+        return this._state;
+      }
+      /**
+       * Get the deferred promise.
+       */
+      get promise() {
+        return this._promise;
+      }
+      /**
+       * Resolve the promise. Throws if the promise is already resolved or rejected.
+       */
+      resolve(value) {
+        if (this.state !== DeferredState.PENDING)
+          throw new Error(`cannot resolve ${DeferredState[this.state].toLowerCase()}`);
+        this._resolve(value);
+        this._state = DeferredState.RESOLVED;
+      }
+      /**
+       * Reject the promise. Throws if the promise is already resolved or rejected.
+       */
+      reject(reason) {
+        if (this.state !== DeferredState.PENDING)
+          throw new Error(`cannot reject ${DeferredState[this.state].toLowerCase()}`);
+        this._reject(reason);
+        this._state = DeferredState.REJECTED;
+      }
+      /**
+       * Resolve the promise. Ignore if not pending.
+       */
+      resolvePending(val) {
+        if (this._state === DeferredState.PENDING)
+          this.resolve(val);
+      }
+      /**
+       * Reject the promise. Ignore if not pending.
+       */
+      rejectPending(reason) {
+        if (this._state === DeferredState.PENDING)
+          this.reject(reason);
+      }
+    };
+    exports2.Deferred = Deferred;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-output-stream.js
+var require_rpc_output_stream = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-output-stream.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.RpcOutputStreamController = void 0;
+    var deferred_1 = require_deferred();
+    var runtime_1 = require_commonjs();
+    var RpcOutputStreamController = class {
+      constructor() {
+        this._lis = {
+          nxt: [],
+          msg: [],
+          err: [],
+          cmp: []
+        };
+        this._closed = false;
+        this._itState = { q: [] };
+      }
+      // --- RpcOutputStream callback API
+      onNext(callback) {
+        return this.addLis(callback, this._lis.nxt);
+      }
+      onMessage(callback) {
+        return this.addLis(callback, this._lis.msg);
+      }
+      onError(callback) {
+        return this.addLis(callback, this._lis.err);
+      }
+      onComplete(callback) {
+        return this.addLis(callback, this._lis.cmp);
+      }
+      addLis(callback, list) {
+        list.push(callback);
+        return () => {
+          let i = list.indexOf(callback);
+          if (i >= 0)
+            list.splice(i, 1);
+        };
+      }
+      // remove all listeners
+      clearLis() {
+        for (let l of Object.values(this._lis))
+          l.splice(0, l.length);
+      }
+      // --- Controller API
+      /**
+       * Is this stream already closed by a completion or error?
+       */
+      get closed() {
+        return this._closed !== false;
+      }
+      /**
+       * Emit message, close with error, or close successfully, but only one
+       * at a time.
+       * Can be used to wrap a stream by using the other stream's `onNext`.
+       */
+      notifyNext(message, error3, complete) {
+        runtime_1.assert((message ? 1 : 0) + (error3 ? 1 : 0) + (complete ? 1 : 0) <= 1, "only one emission at a time");
+        if (message)
+          this.notifyMessage(message);
+        if (error3)
+          this.notifyError(error3);
+        if (complete)
+          this.notifyComplete();
+      }
+      /**
+       * Emits a new message. Throws if stream is closed.
+       *
+       * Triggers onNext and onMessage callbacks.
+       */
+      notifyMessage(message) {
+        runtime_1.assert(!this.closed, "stream is closed");
+        this.pushIt({ value: message, done: false });
+        this._lis.msg.forEach((l) => l(message));
+        this._lis.nxt.forEach((l) => l(message, void 0, false));
+      }
+      /**
+       * Closes the stream with an error. Throws if stream is closed.
+       *
+       * Triggers onNext and onError callbacks.
+       */
+      notifyError(error3) {
+        runtime_1.assert(!this.closed, "stream is closed");
+        this._closed = error3;
+        this.pushIt(error3);
+        this._lis.err.forEach((l) => l(error3));
+        this._lis.nxt.forEach((l) => l(void 0, error3, false));
+        this.clearLis();
+      }
+      /**
+       * Closes the stream successfully. Throws if stream is closed.
+       *
+       * Triggers onNext and onComplete callbacks.
+       */
+      notifyComplete() {
+        runtime_1.assert(!this.closed, "stream is closed");
+        this._closed = true;
+        this.pushIt({ value: null, done: true });
+        this._lis.cmp.forEach((l) => l());
+        this._lis.nxt.forEach((l) => l(void 0, void 0, true));
+        this.clearLis();
+      }
+      /**
+       * Creates an async iterator (that can be used with `for await {...}`)
+       * to consume the stream.
+       *
+       * Some things to note:
+       * - If an error occurs, the `for await` will throw it.
+       * - If an error occurred before the `for await` was started, `for await`
+       *   will re-throw it.
+       * - If the stream is already complete, the `for await` will be empty.
+       * - If your `for await` consumes slower than the stream produces,
+       *   for example because you are relaying messages in a slow operation,
+       *   messages are queued.
+       */
+      [Symbol.asyncIterator]() {
+        if (this._closed === true)
+          this.pushIt({ value: null, done: true });
+        else if (this._closed !== false)
+          this.pushIt(this._closed);
+        return {
+          next: () => {
+            let state = this._itState;
+            runtime_1.assert(state, "bad state");
+            runtime_1.assert(!state.p, "iterator contract broken");
+            let first = state.q.shift();
+            if (first)
+              return "value" in first ? Promise.resolve(first) : Promise.reject(first);
+            state.p = new deferred_1.Deferred();
+            return state.p.promise;
+          }
+        };
+      }
+      // "push" a new iterator result.
+      // this either resolves a pending promise, or enqueues the result.
+      pushIt(result) {
+        let state = this._itState;
+        if (state.p) {
+          const p = state.p;
+          runtime_1.assert(p.state == deferred_1.DeferredState.PENDING, "iterator contract broken");
+          "value" in result ? p.resolve(result) : p.reject(result);
+          delete state.p;
+        } else {
+          state.q.push(result);
+        }
+      }
+    };
+    exports2.RpcOutputStreamController = RpcOutputStreamController;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/unary-call.js
+var require_unary_call = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/unary-call.js"(exports2) {
+    "use strict";
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve2) {
+          resolve2(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve2, 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 ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.UnaryCall = void 0;
+    var UnaryCall = class {
+      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
+        this.method = method;
+        this.requestHeaders = requestHeaders;
+        this.request = request2;
+        this.headers = headers;
+        this.response = response;
+        this.status = status;
+        this.trailers = trailers;
+      }
+      /**
+       * If you are only interested in the final outcome of this call,
+       * you can await it to receive a `FinishedUnaryCall`.
+       */
+      then(onfulfilled, onrejected) {
+        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
+      }
+      promiseFinished() {
+        return __awaiter2(this, void 0, void 0, function* () {
+          let [headers, response, status, trailers] = yield Promise.all([this.headers, this.response, this.status, this.trailers]);
+          return {
+            method: this.method,
+            requestHeaders: this.requestHeaders,
+            request: this.request,
+            headers,
+            response,
+            status,
+            trailers
+          };
+        });
+      }
+    };
+    exports2.UnaryCall = UnaryCall;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-streaming-call.js
+var require_server_streaming_call = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-streaming-call.js"(exports2) {
+    "use strict";
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve2) {
+          resolve2(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve2, 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 ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ServerStreamingCall = void 0;
+    var ServerStreamingCall = class {
+      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
+        this.method = method;
+        this.requestHeaders = requestHeaders;
+        this.request = request2;
+        this.headers = headers;
+        this.responses = response;
+        this.status = status;
+        this.trailers = trailers;
+      }
+      /**
+       * Instead of awaiting the response status and trailers, you can
+       * just as well await this call itself to receive the server outcome.
+       * You should first setup some listeners to the `request` to
+       * see the actual messages the server replied with.
+       */
+      then(onfulfilled, onrejected) {
+        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
+      }
+      promiseFinished() {
+        return __awaiter2(this, void 0, void 0, function* () {
+          let [headers, status, trailers] = yield Promise.all([this.headers, this.status, this.trailers]);
+          return {
+            method: this.method,
+            requestHeaders: this.requestHeaders,
+            request: this.request,
+            headers,
+            status,
+            trailers
+          };
+        });
+      }
+    };
+    exports2.ServerStreamingCall = ServerStreamingCall;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/client-streaming-call.js
+var require_client_streaming_call = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/client-streaming-call.js"(exports2) {
+    "use strict";
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve2) {
+          resolve2(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve2, 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 ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ClientStreamingCall = void 0;
+    var ClientStreamingCall = class {
+      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
+        this.method = method;
+        this.requestHeaders = requestHeaders;
+        this.requests = request2;
+        this.headers = headers;
+        this.response = response;
+        this.status = status;
+        this.trailers = trailers;
+      }
+      /**
+       * Instead of awaiting the response status and trailers, you can
+       * just as well await this call itself to receive the server outcome.
+       * Note that it may still be valid to send more request messages.
+       */
+      then(onfulfilled, onrejected) {
+        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
+      }
+      promiseFinished() {
+        return __awaiter2(this, void 0, void 0, function* () {
+          let [headers, response, status, trailers] = yield Promise.all([this.headers, this.response, this.status, this.trailers]);
+          return {
+            method: this.method,
+            requestHeaders: this.requestHeaders,
+            headers,
+            response,
+            status,
+            trailers
+          };
+        });
+      }
+    };
+    exports2.ClientStreamingCall = ClientStreamingCall;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/duplex-streaming-call.js
+var require_duplex_streaming_call = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/duplex-streaming-call.js"(exports2) {
+    "use strict";
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve2) {
+          resolve2(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve2, 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 ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.DuplexStreamingCall = void 0;
+    var DuplexStreamingCall = class {
+      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
+        this.method = method;
+        this.requestHeaders = requestHeaders;
+        this.requests = request2;
+        this.headers = headers;
+        this.responses = response;
+        this.status = status;
+        this.trailers = trailers;
+      }
+      /**
+       * Instead of awaiting the response status and trailers, you can
+       * just as well await this call itself to receive the server outcome.
+       * Note that it may still be valid to send more request messages.
+       */
+      then(onfulfilled, onrejected) {
+        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
+      }
+      promiseFinished() {
+        return __awaiter2(this, void 0, void 0, function* () {
+          let [headers, status, trailers] = yield Promise.all([this.headers, this.status, this.trailers]);
+          return {
+            method: this.method,
+            requestHeaders: this.requestHeaders,
+            headers,
+            status,
+            trailers
+          };
+        });
+      }
+    };
+    exports2.DuplexStreamingCall = DuplexStreamingCall;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/test-transport.js
+var require_test_transport = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/test-transport.js"(exports2) {
+    "use strict";
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve2) {
+          resolve2(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve2, 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 ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.TestTransport = void 0;
+    var rpc_error_1 = require_rpc_error();
+    var runtime_1 = require_commonjs();
+    var rpc_output_stream_1 = require_rpc_output_stream();
+    var rpc_options_1 = require_rpc_options();
+    var unary_call_1 = require_unary_call();
+    var server_streaming_call_1 = require_server_streaming_call();
+    var client_streaming_call_1 = require_client_streaming_call();
+    var duplex_streaming_call_1 = require_duplex_streaming_call();
+    var TestTransport = class _TestTransport {
+      /**
+       * Initialize with mock data. Omitted fields have default value.
+       */
+      constructor(data) {
+        this.suppressUncaughtRejections = true;
+        this.headerDelay = 10;
+        this.responseDelay = 50;
+        this.betweenResponseDelay = 10;
+        this.afterResponseDelay = 10;
+        this.data = data !== null && data !== void 0 ? data : {};
+      }
+      /**
+       * Sent message(s) during the last operation.
+       */
+      get sentMessages() {
+        if (this.lastInput instanceof TestInputStream) {
+          return this.lastInput.sent;
+        } else if (typeof this.lastInput == "object") {
+          return [this.lastInput.single];
+        }
+        return [];
+      }
+      /**
+       * Sending message(s) completed?
+       */
+      get sendComplete() {
+        if (this.lastInput instanceof TestInputStream) {
+          return this.lastInput.completed;
+        } else if (typeof this.lastInput == "object") {
+          return true;
+        }
+        return false;
+      }
+      // Creates a promise for response headers from the mock data.
+      promiseHeaders() {
+        var _a;
+        const headers = (_a = this.data.headers) !== null && _a !== void 0 ? _a : _TestTransport.defaultHeaders;
+        return headers instanceof rpc_error_1.RpcError ? Promise.reject(headers) : Promise.resolve(headers);
+      }
+      // Creates a promise for a single, valid, message from the mock data.
+      promiseSingleResponse(method) {
+        if (this.data.response instanceof rpc_error_1.RpcError) {
+          return Promise.reject(this.data.response);
+        }
+        let r;
+        if (Array.isArray(this.data.response)) {
+          runtime_1.assert(this.data.response.length > 0);
+          r = this.data.response[0];
+        } else if (this.data.response !== void 0) {
+          r = this.data.response;
+        } else {
+          r = method.O.create();
+        }
+        runtime_1.assert(method.O.is(r));
+        return Promise.resolve(r);
+      }
+      /**
+       * Pushes response messages from the mock data to the output stream.
+       * If an error response, status or trailers are mocked, the stream is
+       * closed with the respective error.
+       * Otherwise, stream is completed successfully.
+       *
+       * The returned promise resolves when the stream is closed. It should
+       * not reject. If it does, code is broken.
+       */
+      streamResponses(method, stream, abort) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          const messages = [];
+          if (this.data.response === void 0) {
+            messages.push(method.O.create());
+          } else if (Array.isArray(this.data.response)) {
+            for (let msg of this.data.response) {
+              runtime_1.assert(method.O.is(msg));
+              messages.push(msg);
+            }
+          } else if (!(this.data.response instanceof rpc_error_1.RpcError)) {
+            runtime_1.assert(method.O.is(this.data.response));
+            messages.push(this.data.response);
+          }
+          try {
+            yield delay(this.responseDelay, abort)(void 0);
+          } catch (error3) {
+            stream.notifyError(error3);
+            return;
+          }
+          if (this.data.response instanceof rpc_error_1.RpcError) {
+            stream.notifyError(this.data.response);
+            return;
+          }
+          for (let msg of messages) {
+            stream.notifyMessage(msg);
+            try {
+              yield delay(this.betweenResponseDelay, abort)(void 0);
+            } catch (error3) {
+              stream.notifyError(error3);
+              return;
+            }
+          }
+          if (this.data.status instanceof rpc_error_1.RpcError) {
+            stream.notifyError(this.data.status);
+            return;
+          }
+          if (this.data.trailers instanceof rpc_error_1.RpcError) {
+            stream.notifyError(this.data.trailers);
+            return;
+          }
+          stream.notifyComplete();
+        });
+      }
+      // Creates a promise for response status from the mock data.
+      promiseStatus() {
+        var _a;
+        const status = (_a = this.data.status) !== null && _a !== void 0 ? _a : _TestTransport.defaultStatus;
+        return status instanceof rpc_error_1.RpcError ? Promise.reject(status) : Promise.resolve(status);
+      }
+      // Creates a promise for response trailers from the mock data.
+      promiseTrailers() {
+        var _a;
+        const trailers = (_a = this.data.trailers) !== null && _a !== void 0 ? _a : _TestTransport.defaultTrailers;
+        return trailers instanceof rpc_error_1.RpcError ? Promise.reject(trailers) : Promise.resolve(trailers);
+      }
+      maybeSuppressUncaught(...promise) {
+        if (this.suppressUncaughtRejections) {
+          for (let p of promise) {
+            p.catch(() => {
+            });
+          }
+        }
+      }
+      mergeOptions(options) {
+        return rpc_options_1.mergeRpcOptions({}, options);
+      }
+      unary(method, input, options) {
+        var _a;
+        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), responsePromise = headersPromise.catch((_2) => {
+        }).then(delay(this.responseDelay, options.abort)).then((_2) => this.promiseSingleResponse(method)), statusPromise = responsePromise.catch((_2) => {
+        }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseStatus()), trailersPromise = responsePromise.catch((_2) => {
+        }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseTrailers());
+        this.maybeSuppressUncaught(statusPromise, trailersPromise);
+        this.lastInput = { single: input };
+        return new unary_call_1.UnaryCall(method, requestHeaders, input, headersPromise, responsePromise, statusPromise, trailersPromise);
+      }
+      serverStreaming(method, input, options) {
+        var _a;
+        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), outputStream = new rpc_output_stream_1.RpcOutputStreamController(), responseStreamClosedPromise = headersPromise.then(delay(this.responseDelay, options.abort)).catch(() => {
+        }).then(() => this.streamResponses(method, outputStream, options.abort)).then(delay(this.afterResponseDelay, options.abort)), statusPromise = responseStreamClosedPromise.then(() => this.promiseStatus()), trailersPromise = responseStreamClosedPromise.then(() => this.promiseTrailers());
+        this.maybeSuppressUncaught(statusPromise, trailersPromise);
+        this.lastInput = { single: input };
+        return new server_streaming_call_1.ServerStreamingCall(method, requestHeaders, input, headersPromise, outputStream, statusPromise, trailersPromise);
+      }
+      clientStreaming(method, options) {
+        var _a;
+        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), responsePromise = headersPromise.catch((_2) => {
+        }).then(delay(this.responseDelay, options.abort)).then((_2) => this.promiseSingleResponse(method)), statusPromise = responsePromise.catch((_2) => {
+        }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseStatus()), trailersPromise = responsePromise.catch((_2) => {
+        }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseTrailers());
+        this.maybeSuppressUncaught(statusPromise, trailersPromise);
+        this.lastInput = new TestInputStream(this.data, options.abort);
+        return new client_streaming_call_1.ClientStreamingCall(method, requestHeaders, this.lastInput, headersPromise, responsePromise, statusPromise, trailersPromise);
+      }
+      duplex(method, options) {
+        var _a;
+        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), outputStream = new rpc_output_stream_1.RpcOutputStreamController(), responseStreamClosedPromise = headersPromise.then(delay(this.responseDelay, options.abort)).catch(() => {
+        }).then(() => this.streamResponses(method, outputStream, options.abort)).then(delay(this.afterResponseDelay, options.abort)), statusPromise = responseStreamClosedPromise.then(() => this.promiseStatus()), trailersPromise = responseStreamClosedPromise.then(() => this.promiseTrailers());
+        this.maybeSuppressUncaught(statusPromise, trailersPromise);
+        this.lastInput = new TestInputStream(this.data, options.abort);
+        return new duplex_streaming_call_1.DuplexStreamingCall(method, requestHeaders, this.lastInput, headersPromise, outputStream, statusPromise, trailersPromise);
+      }
+    };
+    exports2.TestTransport = TestTransport;
+    TestTransport.defaultHeaders = {
+      responseHeader: "test"
+    };
+    TestTransport.defaultStatus = {
+      code: "OK",
+      detail: "all good"
+    };
+    TestTransport.defaultTrailers = {
+      responseTrailer: "test"
+    };
+    function delay(ms, abort) {
+      return (v) => new Promise((resolve2, reject) => {
+        if (abort === null || abort === void 0 ? void 0 : abort.aborted) {
+          reject(new rpc_error_1.RpcError("user cancel", "CANCELLED"));
+        } else {
+          const id = setTimeout(() => resolve2(v), ms);
+          if (abort) {
+            abort.addEventListener("abort", (ev) => {
+              clearTimeout(id);
+              reject(new rpc_error_1.RpcError("user cancel", "CANCELLED"));
+            });
+          }
+        }
+      });
+    }
+    var TestInputStream = class {
+      constructor(data, abort) {
+        this._completed = false;
+        this._sent = [];
+        this.data = data;
+        this.abort = abort;
+      }
+      get sent() {
+        return this._sent;
+      }
+      get completed() {
+        return this._completed;
+      }
+      send(message) {
+        if (this.data.inputMessage instanceof rpc_error_1.RpcError) {
+          return Promise.reject(this.data.inputMessage);
+        }
+        const delayMs = this.data.inputMessage === void 0 ? 10 : this.data.inputMessage;
+        return Promise.resolve(void 0).then(() => {
+          this._sent.push(message);
+        }).then(delay(delayMs, this.abort));
+      }
+      complete() {
+        if (this.data.inputComplete instanceof rpc_error_1.RpcError) {
+          return Promise.reject(this.data.inputComplete);
+        }
+        const delayMs = this.data.inputComplete === void 0 ? 10 : this.data.inputComplete;
+        return Promise.resolve(void 0).then(() => {
+          this._completed = true;
+        }).then(delay(delayMs, this.abort));
+      }
+    };
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-interceptor.js
+var require_rpc_interceptor = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-interceptor.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.stackDuplexStreamingInterceptors = exports2.stackClientStreamingInterceptors = exports2.stackServerStreamingInterceptors = exports2.stackUnaryInterceptors = exports2.stackIntercept = void 0;
+    var runtime_1 = require_commonjs();
+    function stackIntercept(kind, transport, method, options, input) {
+      var _a, _b, _c, _d;
+      if (kind == "unary") {
+        let tail = (mtd, inp, opt) => transport.unary(mtd, inp, opt);
+        for (const curr of ((_a = options.interceptors) !== null && _a !== void 0 ? _a : []).filter((i) => i.interceptUnary).reverse()) {
+          const next = tail;
+          tail = (mtd, inp, opt) => curr.interceptUnary(next, mtd, inp, opt);
+        }
+        return tail(method, input, options);
+      }
+      if (kind == "serverStreaming") {
+        let tail = (mtd, inp, opt) => transport.serverStreaming(mtd, inp, opt);
+        for (const curr of ((_b = options.interceptors) !== null && _b !== void 0 ? _b : []).filter((i) => i.interceptServerStreaming).reverse()) {
+          const next = tail;
+          tail = (mtd, inp, opt) => curr.interceptServerStreaming(next, mtd, inp, opt);
+        }
+        return tail(method, input, options);
+      }
+      if (kind == "clientStreaming") {
+        let tail = (mtd, opt) => transport.clientStreaming(mtd, opt);
+        for (const curr of ((_c = options.interceptors) !== null && _c !== void 0 ? _c : []).filter((i) => i.interceptClientStreaming).reverse()) {
+          const next = tail;
+          tail = (mtd, opt) => curr.interceptClientStreaming(next, mtd, opt);
+        }
+        return tail(method, options);
+      }
+      if (kind == "duplex") {
+        let tail = (mtd, opt) => transport.duplex(mtd, opt);
+        for (const curr of ((_d = options.interceptors) !== null && _d !== void 0 ? _d : []).filter((i) => i.interceptDuplex).reverse()) {
+          const next = tail;
+          tail = (mtd, opt) => curr.interceptDuplex(next, mtd, opt);
+        }
+        return tail(method, options);
+      }
+      runtime_1.assertNever(kind);
+    }
+    exports2.stackIntercept = stackIntercept;
+    function stackUnaryInterceptors(transport, method, input, options) {
+      return stackIntercept("unary", transport, method, options, input);
+    }
+    exports2.stackUnaryInterceptors = stackUnaryInterceptors;
+    function stackServerStreamingInterceptors(transport, method, input, options) {
+      return stackIntercept("serverStreaming", transport, method, options, input);
+    }
+    exports2.stackServerStreamingInterceptors = stackServerStreamingInterceptors;
+    function stackClientStreamingInterceptors(transport, method, options) {
+      return stackIntercept("clientStreaming", transport, method, options);
+    }
+    exports2.stackClientStreamingInterceptors = stackClientStreamingInterceptors;
+    function stackDuplexStreamingInterceptors(transport, method, options) {
+      return stackIntercept("duplex", transport, method, options);
+    }
+    exports2.stackDuplexStreamingInterceptors = stackDuplexStreamingInterceptors;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-call-context.js
+var require_server_call_context = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-call-context.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ServerCallContextController = void 0;
+    var ServerCallContextController = class {
+      constructor(method, headers, deadline, sendResponseHeadersFn, defaultStatus = { code: "OK", detail: "" }) {
+        this._cancelled = false;
+        this._listeners = [];
+        this.method = method;
+        this.headers = headers;
+        this.deadline = deadline;
+        this.trailers = {};
+        this._sendRH = sendResponseHeadersFn;
+        this.status = defaultStatus;
+      }
+      /**
+       * Set the call cancelled.
+       *
+       * Invokes all callbacks registered with onCancel() and
+       * sets `cancelled = true`.
+       */
+      notifyCancelled() {
+        if (!this._cancelled) {
+          this._cancelled = true;
+          for (let l of this._listeners) {
+            l();
+          }
+        }
+      }
+      /**
+       * Send response headers.
+       */
+      sendResponseHeaders(data) {
+        this._sendRH(data);
+      }
+      /**
+       * Is the call cancelled?
+       *
+       * When the client closes the connection before the server
+       * is done, the call is cancelled.
+       *
+       * If you want to cancel a request on the server, throw a
+       * RpcError with the CANCELLED status code.
+       */
+      get cancelled() {
+        return this._cancelled;
+      }
+      /**
+       * Add a callback for cancellation.
+       */
+      onCancel(callback) {
+        const l = this._listeners;
+        l.push(callback);
+        return () => {
+          let i = l.indexOf(callback);
+          if (i >= 0)
+            l.splice(i, 1);
+        };
+      }
+    };
+    exports2.ServerCallContextController = ServerCallContextController;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/index.js
+var require_commonjs2 = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    var service_type_1 = require_service_type();
+    Object.defineProperty(exports2, "ServiceType", { enumerable: true, get: function() {
+      return service_type_1.ServiceType;
+    } });
+    var reflection_info_1 = require_reflection_info2();
+    Object.defineProperty(exports2, "readMethodOptions", { enumerable: true, get: function() {
+      return reflection_info_1.readMethodOptions;
+    } });
+    Object.defineProperty(exports2, "readMethodOption", { enumerable: true, get: function() {
+      return reflection_info_1.readMethodOption;
+    } });
+    Object.defineProperty(exports2, "readServiceOption", { enumerable: true, get: function() {
+      return reflection_info_1.readServiceOption;
+    } });
+    var rpc_error_1 = require_rpc_error();
+    Object.defineProperty(exports2, "RpcError", { enumerable: true, get: function() {
+      return rpc_error_1.RpcError;
+    } });
+    var rpc_options_1 = require_rpc_options();
+    Object.defineProperty(exports2, "mergeRpcOptions", { enumerable: true, get: function() {
+      return rpc_options_1.mergeRpcOptions;
+    } });
+    var rpc_output_stream_1 = require_rpc_output_stream();
+    Object.defineProperty(exports2, "RpcOutputStreamController", { enumerable: true, get: function() {
+      return rpc_output_stream_1.RpcOutputStreamController;
+    } });
+    var test_transport_1 = require_test_transport();
+    Object.defineProperty(exports2, "TestTransport", { enumerable: true, get: function() {
+      return test_transport_1.TestTransport;
+    } });
+    var deferred_1 = require_deferred();
+    Object.defineProperty(exports2, "Deferred", { enumerable: true, get: function() {
+      return deferred_1.Deferred;
+    } });
+    Object.defineProperty(exports2, "DeferredState", { enumerable: true, get: function() {
+      return deferred_1.DeferredState;
+    } });
+    var duplex_streaming_call_1 = require_duplex_streaming_call();
+    Object.defineProperty(exports2, "DuplexStreamingCall", { enumerable: true, get: function() {
+      return duplex_streaming_call_1.DuplexStreamingCall;
+    } });
+    var client_streaming_call_1 = require_client_streaming_call();
+    Object.defineProperty(exports2, "ClientStreamingCall", { enumerable: true, get: function() {
+      return client_streaming_call_1.ClientStreamingCall;
+    } });
+    var server_streaming_call_1 = require_server_streaming_call();
+    Object.defineProperty(exports2, "ServerStreamingCall", { enumerable: true, get: function() {
+      return server_streaming_call_1.ServerStreamingCall;
+    } });
+    var unary_call_1 = require_unary_call();
+    Object.defineProperty(exports2, "UnaryCall", { enumerable: true, get: function() {
+      return unary_call_1.UnaryCall;
+    } });
+    var rpc_interceptor_1 = require_rpc_interceptor();
+    Object.defineProperty(exports2, "stackIntercept", { enumerable: true, get: function() {
+      return rpc_interceptor_1.stackIntercept;
+    } });
+    Object.defineProperty(exports2, "stackDuplexStreamingInterceptors", { enumerable: true, get: function() {
+      return rpc_interceptor_1.stackDuplexStreamingInterceptors;
+    } });
+    Object.defineProperty(exports2, "stackClientStreamingInterceptors", { enumerable: true, get: function() {
+      return rpc_interceptor_1.stackClientStreamingInterceptors;
+    } });
+    Object.defineProperty(exports2, "stackServerStreamingInterceptors", { enumerable: true, get: function() {
+      return rpc_interceptor_1.stackServerStreamingInterceptors;
+    } });
+    Object.defineProperty(exports2, "stackUnaryInterceptors", { enumerable: true, get: function() {
+      return rpc_interceptor_1.stackUnaryInterceptors;
+    } });
+    var server_call_context_1 = require_server_call_context();
+    Object.defineProperty(exports2, "ServerCallContextController", { enumerable: true, get: function() {
+      return server_call_context_1.ServerCallContextController;
+    } });
+  }
+});
+
+// node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.js
+var require_artifact = __commonJS({
+  "node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ArtifactService = exports2.DeleteArtifactResponse = exports2.DeleteArtifactRequest = exports2.GetSignedArtifactURLResponse = exports2.GetSignedArtifactURLRequest = exports2.ListArtifactsResponse_MonolithArtifact = exports2.ListArtifactsResponse = exports2.ListArtifactsRequest = exports2.FinalizeArtifactResponse = exports2.FinalizeArtifactRequest = exports2.CreateArtifactResponse = exports2.CreateArtifactRequest = exports2.FinalizeMigratedArtifactResponse = exports2.FinalizeMigratedArtifactRequest = exports2.MigrateArtifactResponse = exports2.MigrateArtifactRequest = void 0;
+    var runtime_rpc_1 = require_commonjs2();
+    var runtime_1 = require_commonjs();
+    var runtime_2 = require_commonjs();
+    var runtime_3 = require_commonjs();
+    var runtime_4 = require_commonjs();
+    var runtime_5 = require_commonjs();
+    var wrappers_1 = require_wrappers();
+    var wrappers_2 = require_wrappers();
+    var timestamp_1 = require_timestamp();
+    var MigrateArtifactRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.MigrateArtifactRequest", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "name",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          { no: 3, name: "expires_at", kind: "message", T: () => timestamp_1.Timestamp }
+        ]);
+      }
+      create(value) {
+        const message = { workflowRunBackendId: "", name: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string name */
+            2:
+              message.name = reader.string();
+              break;
+            case /* google.protobuf.Timestamp expires_at */
+            3:
+              message.expiresAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expiresAt);
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.name !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.name);
+        if (message.expiresAt)
+          timestamp_1.Timestamp.internalBinaryWrite(message.expiresAt, writer.tag(3, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.MigrateArtifactRequest = new MigrateArtifactRequest$Type();
+    var MigrateArtifactResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.MigrateArtifactResponse", [
+          {
+            no: 1,
+            name: "ok",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          },
+          {
+            no: 2,
+            name: "signed_upload_url",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { ok: false, signedUploadUrl: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool ok */
+            1:
+              message.ok = reader.bool();
+              break;
+            case /* string signed_upload_url */
+            2:
+              message.signedUploadUrl = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.ok !== false)
+          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
+        if (message.signedUploadUrl !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.MigrateArtifactResponse = new MigrateArtifactResponse$Type();
+    var FinalizeMigratedArtifactRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.FinalizeMigratedArtifactRequest", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "name",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "size",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { workflowRunBackendId: "", name: "", size: "0" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string name */
+            2:
+              message.name = reader.string();
+              break;
+            case /* int64 size */
+            3:
+              message.size = reader.int64().toString();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.name !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.name);
+        if (message.size !== "0")
+          writer.tag(3, runtime_1.WireType.Varint).int64(message.size);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.FinalizeMigratedArtifactRequest = new FinalizeMigratedArtifactRequest$Type();
+    var FinalizeMigratedArtifactResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.FinalizeMigratedArtifactResponse", [
+          {
+            no: 1,
+            name: "ok",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          },
+          {
+            no: 2,
+            name: "artifact_id",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { ok: false, artifactId: "0" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool ok */
+            1:
+              message.ok = reader.bool();
+              break;
+            case /* int64 artifact_id */
+            2:
+              message.artifactId = reader.int64().toString();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.ok !== false)
+          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
+        if (message.artifactId !== "0")
+          writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.FinalizeMigratedArtifactResponse = new FinalizeMigratedArtifactResponse$Type();
+    var CreateArtifactRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.CreateArtifactRequest", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "workflow_job_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "name",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          { no: 4, name: "expires_at", kind: "message", T: () => timestamp_1.Timestamp },
+          {
+            no: 5,
+            name: "version",
+            kind: "scalar",
+            T: 5
+            /*ScalarType.INT32*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "", version: 0 };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string workflow_job_run_backend_id */
+            2:
+              message.workflowJobRunBackendId = reader.string();
+              break;
+            case /* string name */
+            3:
+              message.name = reader.string();
+              break;
+            case /* google.protobuf.Timestamp expires_at */
+            4:
+              message.expiresAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expiresAt);
+              break;
+            case /* int32 version */
+            5:
+              message.version = reader.int32();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.workflowJobRunBackendId !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
+        if (message.name !== "")
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
+        if (message.expiresAt)
+          timestamp_1.Timestamp.internalBinaryWrite(message.expiresAt, writer.tag(4, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        if (message.version !== 0)
+          writer.tag(5, runtime_1.WireType.Varint).int32(message.version);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.CreateArtifactRequest = new CreateArtifactRequest$Type();
+    var CreateArtifactResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.CreateArtifactResponse", [
+          {
+            no: 1,
+            name: "ok",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          },
+          {
+            no: 2,
+            name: "signed_upload_url",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { ok: false, signedUploadUrl: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool ok */
+            1:
+              message.ok = reader.bool();
+              break;
+            case /* string signed_upload_url */
+            2:
+              message.signedUploadUrl = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.ok !== false)
+          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
+        if (message.signedUploadUrl !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.CreateArtifactResponse = new CreateArtifactResponse$Type();
+    var FinalizeArtifactRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.FinalizeArtifactRequest", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "workflow_job_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "name",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 4,
+            name: "size",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          },
+          { no: 5, name: "hash", kind: "message", T: () => wrappers_2.StringValue }
+        ]);
+      }
+      create(value) {
+        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "", size: "0" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string workflow_job_run_backend_id */
+            2:
+              message.workflowJobRunBackendId = reader.string();
+              break;
+            case /* string name */
+            3:
+              message.name = reader.string();
+              break;
+            case /* int64 size */
+            4:
+              message.size = reader.int64().toString();
+              break;
+            case /* google.protobuf.StringValue hash */
+            5:
+              message.hash = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.hash);
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.workflowJobRunBackendId !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
+        if (message.name !== "")
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
+        if (message.size !== "0")
+          writer.tag(4, runtime_1.WireType.Varint).int64(message.size);
+        if (message.hash)
+          wrappers_2.StringValue.internalBinaryWrite(message.hash, writer.tag(5, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.FinalizeArtifactRequest = new FinalizeArtifactRequest$Type();
+    var FinalizeArtifactResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.FinalizeArtifactResponse", [
+          {
+            no: 1,
+            name: "ok",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          },
+          {
+            no: 2,
+            name: "artifact_id",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { ok: false, artifactId: "0" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool ok */
+            1:
+              message.ok = reader.bool();
+              break;
+            case /* int64 artifact_id */
+            2:
+              message.artifactId = reader.int64().toString();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.ok !== false)
+          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
+        if (message.artifactId !== "0")
+          writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.FinalizeArtifactResponse = new FinalizeArtifactResponse$Type();
+    var ListArtifactsRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.ListArtifactsRequest", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "workflow_job_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          { no: 3, name: "name_filter", kind: "message", T: () => wrappers_2.StringValue },
+          { no: 4, name: "id_filter", kind: "message", T: () => wrappers_1.Int64Value }
+        ]);
+      }
+      create(value) {
+        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string workflow_job_run_backend_id */
+            2:
+              message.workflowJobRunBackendId = reader.string();
+              break;
+            case /* google.protobuf.StringValue name_filter */
+            3:
+              message.nameFilter = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.nameFilter);
+              break;
+            case /* google.protobuf.Int64Value id_filter */
+            4:
+              message.idFilter = wrappers_1.Int64Value.internalBinaryRead(reader, reader.uint32(), options, message.idFilter);
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.workflowJobRunBackendId !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
+        if (message.nameFilter)
+          wrappers_2.StringValue.internalBinaryWrite(message.nameFilter, writer.tag(3, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        if (message.idFilter)
+          wrappers_1.Int64Value.internalBinaryWrite(message.idFilter, writer.tag(4, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.ListArtifactsRequest = new ListArtifactsRequest$Type();
+    var ListArtifactsResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.ListArtifactsResponse", [
+          { no: 1, name: "artifacts", kind: "message", repeat: 1, T: () => exports2.ListArtifactsResponse_MonolithArtifact }
+        ]);
+      }
+      create(value) {
+        const message = { artifacts: [] };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* repeated github.actions.results.api.v1.ListArtifactsResponse.MonolithArtifact artifacts */
+            1:
+              message.artifacts.push(exports2.ListArtifactsResponse_MonolithArtifact.internalBinaryRead(reader, reader.uint32(), options));
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        for (let i = 0; i < message.artifacts.length; i++)
+          exports2.ListArtifactsResponse_MonolithArtifact.internalBinaryWrite(message.artifacts[i], writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.ListArtifactsResponse = new ListArtifactsResponse$Type();
+    var ListArtifactsResponse_MonolithArtifact$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.ListArtifactsResponse.MonolithArtifact", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "workflow_job_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "database_id",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          },
+          {
+            no: 4,
+            name: "name",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 5,
+            name: "size",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          },
+          { no: 6, name: "created_at", kind: "message", T: () => timestamp_1.Timestamp },
+          { no: 7, name: "digest", kind: "message", T: () => wrappers_2.StringValue }
+        ]);
+      }
+      create(value) {
+        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", databaseId: "0", name: "", size: "0" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string workflow_job_run_backend_id */
+            2:
+              message.workflowJobRunBackendId = reader.string();
+              break;
+            case /* int64 database_id */
+            3:
+              message.databaseId = reader.int64().toString();
+              break;
+            case /* string name */
+            4:
+              message.name = reader.string();
+              break;
+            case /* int64 size */
+            5:
+              message.size = reader.int64().toString();
+              break;
+            case /* google.protobuf.Timestamp created_at */
+            6:
+              message.createdAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.createdAt);
+              break;
+            case /* google.protobuf.StringValue digest */
+            7:
+              message.digest = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.digest);
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.workflowJobRunBackendId !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
+        if (message.databaseId !== "0")
+          writer.tag(3, runtime_1.WireType.Varint).int64(message.databaseId);
+        if (message.name !== "")
+          writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.name);
+        if (message.size !== "0")
+          writer.tag(5, runtime_1.WireType.Varint).int64(message.size);
+        if (message.createdAt)
+          timestamp_1.Timestamp.internalBinaryWrite(message.createdAt, writer.tag(6, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        if (message.digest)
+          wrappers_2.StringValue.internalBinaryWrite(message.digest, writer.tag(7, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.ListArtifactsResponse_MonolithArtifact = new ListArtifactsResponse_MonolithArtifact$Type();
+    var GetSignedArtifactURLRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.GetSignedArtifactURLRequest", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "workflow_job_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "name",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string workflow_job_run_backend_id */
+            2:
+              message.workflowJobRunBackendId = reader.string();
+              break;
+            case /* string name */
+            3:
+              message.name = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.workflowJobRunBackendId !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
+        if (message.name !== "")
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.GetSignedArtifactURLRequest = new GetSignedArtifactURLRequest$Type();
+    var GetSignedArtifactURLResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.GetSignedArtifactURLResponse", [
+          {
+            no: 1,
+            name: "signed_url",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { signedUrl: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string signed_url */
+            1:
+              message.signedUrl = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.signedUrl !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.signedUrl);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.GetSignedArtifactURLResponse = new GetSignedArtifactURLResponse$Type();
+    var DeleteArtifactRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.DeleteArtifactRequest", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "workflow_job_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "name",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string workflow_job_run_backend_id */
+            2:
+              message.workflowJobRunBackendId = reader.string();
+              break;
+            case /* string name */
+            3:
+              message.name = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.workflowJobRunBackendId !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
+        if (message.name !== "")
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.DeleteArtifactRequest = new DeleteArtifactRequest$Type();
+    var DeleteArtifactResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.DeleteArtifactResponse", [
+          {
+            no: 1,
+            name: "ok",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          },
+          {
+            no: 2,
+            name: "artifact_id",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { ok: false, artifactId: "0" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool ok */
+            1:
+              message.ok = reader.bool();
+              break;
+            case /* int64 artifact_id */
+            2:
+              message.artifactId = reader.int64().toString();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.ok !== false)
+          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
+        if (message.artifactId !== "0")
+          writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.DeleteArtifactResponse = new DeleteArtifactResponse$Type();
+    exports2.ArtifactService = new runtime_rpc_1.ServiceType("github.actions.results.api.v1.ArtifactService", [
+      { name: "CreateArtifact", options: {}, I: exports2.CreateArtifactRequest, O: exports2.CreateArtifactResponse },
+      { name: "FinalizeArtifact", options: {}, I: exports2.FinalizeArtifactRequest, O: exports2.FinalizeArtifactResponse },
+      { name: "ListArtifacts", options: {}, I: exports2.ListArtifactsRequest, O: exports2.ListArtifactsResponse },
+      { name: "GetSignedArtifactURL", options: {}, I: exports2.GetSignedArtifactURLRequest, O: exports2.GetSignedArtifactURLResponse },
+      { name: "DeleteArtifact", options: {}, I: exports2.DeleteArtifactRequest, O: exports2.DeleteArtifactResponse },
+      { name: "MigrateArtifact", options: {}, I: exports2.MigrateArtifactRequest, O: exports2.MigrateArtifactResponse },
+      { name: "FinalizeMigratedArtifact", options: {}, I: exports2.FinalizeMigratedArtifactRequest, O: exports2.FinalizeMigratedArtifactResponse }
+    ]);
+  }
+});
+
+// node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.js
+var require_artifact_twirp_client = __commonJS({
+  "node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ArtifactServiceClientProtobuf = exports2.ArtifactServiceClientJSON = void 0;
+    var artifact_1 = require_artifact();
+    var ArtifactServiceClientJSON = class {
+      constructor(rpc) {
+        this.rpc = rpc;
+        this.CreateArtifact.bind(this);
+        this.FinalizeArtifact.bind(this);
+        this.ListArtifacts.bind(this);
+        this.GetSignedArtifactURL.bind(this);
+        this.DeleteArtifact.bind(this);
+      }
+      CreateArtifact(request2) {
+        const data = artifact_1.CreateArtifactRequest.toJson(request2, {
+          useProtoFieldName: true,
+          emitDefaultValues: false
+        });
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "CreateArtifact", "application/json", data);
+        return promise.then((data2) => artifact_1.CreateArtifactResponse.fromJson(data2, {
+          ignoreUnknownFields: true
+        }));
+      }
+      FinalizeArtifact(request2) {
+        const data = artifact_1.FinalizeArtifactRequest.toJson(request2, {
+          useProtoFieldName: true,
+          emitDefaultValues: false
+        });
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "FinalizeArtifact", "application/json", data);
+        return promise.then((data2) => artifact_1.FinalizeArtifactResponse.fromJson(data2, {
+          ignoreUnknownFields: true
+        }));
+      }
+      ListArtifacts(request2) {
+        const data = artifact_1.ListArtifactsRequest.toJson(request2, {
+          useProtoFieldName: true,
+          emitDefaultValues: false
+        });
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "ListArtifacts", "application/json", data);
+        return promise.then((data2) => artifact_1.ListArtifactsResponse.fromJson(data2, { ignoreUnknownFields: true }));
+      }
+      GetSignedArtifactURL(request2) {
+        const data = artifact_1.GetSignedArtifactURLRequest.toJson(request2, {
+          useProtoFieldName: true,
+          emitDefaultValues: false
+        });
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "GetSignedArtifactURL", "application/json", data);
+        return promise.then((data2) => artifact_1.GetSignedArtifactURLResponse.fromJson(data2, {
+          ignoreUnknownFields: true
+        }));
+      }
+      DeleteArtifact(request2) {
+        const data = artifact_1.DeleteArtifactRequest.toJson(request2, {
+          useProtoFieldName: true,
+          emitDefaultValues: false
+        });
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "DeleteArtifact", "application/json", data);
+        return promise.then((data2) => artifact_1.DeleteArtifactResponse.fromJson(data2, {
+          ignoreUnknownFields: true
+        }));
+      }
+    };
+    exports2.ArtifactServiceClientJSON = ArtifactServiceClientJSON;
+    var ArtifactServiceClientProtobuf = class {
+      constructor(rpc) {
+        this.rpc = rpc;
+        this.CreateArtifact.bind(this);
+        this.FinalizeArtifact.bind(this);
+        this.ListArtifacts.bind(this);
+        this.GetSignedArtifactURL.bind(this);
+        this.DeleteArtifact.bind(this);
+      }
+      CreateArtifact(request2) {
+        const data = artifact_1.CreateArtifactRequest.toBinary(request2);
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "CreateArtifact", "application/protobuf", data);
+        return promise.then((data2) => artifact_1.CreateArtifactResponse.fromBinary(data2));
+      }
+      FinalizeArtifact(request2) {
+        const data = artifact_1.FinalizeArtifactRequest.toBinary(request2);
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "FinalizeArtifact", "application/protobuf", data);
+        return promise.then((data2) => artifact_1.FinalizeArtifactResponse.fromBinary(data2));
+      }
+      ListArtifacts(request2) {
+        const data = artifact_1.ListArtifactsRequest.toBinary(request2);
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "ListArtifacts", "application/protobuf", data);
+        return promise.then((data2) => artifact_1.ListArtifactsResponse.fromBinary(data2));
+      }
+      GetSignedArtifactURL(request2) {
+        const data = artifact_1.GetSignedArtifactURLRequest.toBinary(request2);
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "GetSignedArtifactURL", "application/protobuf", data);
+        return promise.then((data2) => artifact_1.GetSignedArtifactURLResponse.fromBinary(data2));
+      }
+      DeleteArtifact(request2) {
+        const data = artifact_1.DeleteArtifactRequest.toBinary(request2);
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "DeleteArtifact", "application/protobuf", data);
+        return promise.then((data2) => artifact_1.DeleteArtifactResponse.fromBinary(data2));
+      }
+    };
+    exports2.ArtifactServiceClientProtobuf = ArtifactServiceClientProtobuf;
+  }
+});
+
+// node_modules/@actions/artifact/lib/generated/index.js
+var require_generated = __commonJS({
+  "node_modules/@actions/artifact/lib/generated/index.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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 __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
+      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p);
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    __exportStar2(require_timestamp(), exports2);
+    __exportStar2(require_wrappers(), exports2);
+    __exportStar2(require_artifact(), exports2);
+    __exportStar2(require_artifact_twirp_client(), exports2);
+  }
+});
+
+// node_modules/@actions/artifact/lib/internal/upload/retention.js
+var require_retention = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/upload/retention.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      }
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getExpiration = void 0;
+    var generated_1 = require_generated();
+    var core14 = __importStar2(require_core());
+    function getExpiration(retentionDays) {
+      if (!retentionDays) {
+        return void 0;
+      }
+      const maxRetentionDays = getRetentionDays();
+      if (maxRetentionDays && maxRetentionDays < retentionDays) {
+        core14.warning(`Retention days cannot be greater than the maximum allowed retention set within the repository. Using ${maxRetentionDays} instead.`);
+        retentionDays = maxRetentionDays;
+      }
+      const expirationDate = /* @__PURE__ */ new Date();
+      expirationDate.setDate(expirationDate.getDate() + retentionDays);
+      return generated_1.Timestamp.fromDate(expirationDate);
+    }
+    exports2.getExpiration = getExpiration;
+    function getRetentionDays() {
+      const retentionDays = process.env["GITHUB_RETENTION_DAYS"];
+      if (!retentionDays) {
+        return void 0;
+      }
+      const days = parseInt(retentionDays);
+      if (isNaN(days)) {
+        return void 0;
+      }
+      return days;
+    }
+  }
+});
+
+// node_modules/@actions/artifact/lib/internal/upload/path-and-artifact-name-validation.js
+var require_path_and_artifact_name_validation = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/upload/path-and-artifact-name-validation.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.validateFilePath = exports2.validateArtifactName = void 0;
+    var core_1 = require_core();
+    var invalidArtifactFilePathCharacters = /* @__PURE__ */ new Map([
+      ['"', ' Double quote "'],
+      [":", " Colon :"],
+      ["<", " Less than <"],
+      [">", " Greater than >"],
+      ["|", " Vertical bar |"],
+      ["*", " Asterisk *"],
+      ["?", " Question mark ?"],
+      ["\r", " Carriage return \\r"],
+      ["\n", " Line feed \\n"]
+    ]);
+    var invalidArtifactNameCharacters = new Map([
+      ...invalidArtifactFilePathCharacters,
+      ["\\", " Backslash \\"],
+      ["/", " Forward slash /"]
+    ]);
+    function validateArtifactName(name) {
+      if (!name) {
+        throw new Error(`Provided artifact name input during validation is empty`);
+      }
+      for (const [invalidCharacterKey, errorMessageForCharacter] of invalidArtifactNameCharacters) {
+        if (name.includes(invalidCharacterKey)) {
+          throw new Error(`The artifact name is not valid: ${name}. Contains the following character: ${errorMessageForCharacter}
+          
+Invalid characters include: ${Array.from(invalidArtifactNameCharacters.values()).toString()}
+          
+These characters are not allowed in the artifact name due to limitations with certain file systems such as NTFS. To maintain file system agnostic behavior, these characters are intentionally not allowed to prevent potential problems with downloads on different file systems.`);
+        }
+      }
+      (0, core_1.info)(`Artifact name is valid!`);
+    }
+    exports2.validateArtifactName = validateArtifactName;
+    function validateFilePath(path3) {
+      if (!path3) {
+        throw new Error(`Provided file path input during validation is empty`);
+      }
+      for (const [invalidCharacterKey, errorMessageForCharacter] of invalidArtifactFilePathCharacters) {
+        if (path3.includes(invalidCharacterKey)) {
+          throw new Error(`The path for one of the files in artifact is not valid: ${path3}. Contains the following character: ${errorMessageForCharacter}
+          
+Invalid characters include: ${Array.from(invalidArtifactFilePathCharacters.values()).toString()}
+          
+The following characters are not allowed in files that are uploaded due to limitations with certain file systems such as NTFS. To maintain file system agnostic behavior, these characters are intentionally not allowed to prevent potential problems with downloads on different file systems.
+          `);
+        }
+      }
+    }
+    exports2.validateFilePath = validateFilePath;
+  }
+});
+
+// node_modules/@actions/artifact/package.json
+var require_package2 = __commonJS({
+  "node_modules/@actions/artifact/package.json"(exports2, module2) {
+    module2.exports = {
+      name: "@actions/artifact",
+      version: "5.0.3",
+      preview: true,
+      description: "Actions artifact lib",
+      keywords: [
+        "github",
+        "actions",
+        "artifact"
+      ],
+      homepage: "https://github.com/actions/toolkit/tree/main/packages/artifact",
+      license: "MIT",
+      main: "lib/artifact.js",
+      types: "lib/artifact.d.ts",
+      directories: {
+        lib: "lib",
+        test: "__tests__"
+      },
+      files: [
+        "lib",
+        "!.DS_Store"
+      ],
+      publishConfig: {
+        access: "public"
+      },
+      repository: {
+        type: "git",
+        url: "git+https://github.com/actions/toolkit.git",
+        directory: "packages/artifact"
+      },
+      scripts: {
+        "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json",
+        test: "cd ../../ && npm run test ./packages/artifact",
+        bootstrap: "cd ../../ && npm run bootstrap",
+        "tsc-run": "tsc",
+        tsc: "npm run bootstrap && npm run tsc-run",
+        "gen:docs": "typedoc --plugin typedoc-plugin-markdown --out docs/generated src/artifact.ts --githubPages false --readme none"
+      },
+      bugs: {
+        url: "https://github.com/actions/toolkit/issues"
+      },
+      dependencies: {
+        "@actions/core": "^2.0.0",
+        "@actions/github": "^6.0.1",
+        "@actions/http-client": "^3.0.2",
+        "@azure/storage-blob": "^12.29.1",
+        "@octokit/core": "^5.2.1",
+        "@octokit/plugin-request-log": "^1.0.4",
+        "@octokit/plugin-retry": "^3.0.9",
+        "@octokit/request": "^8.4.1",
+        "@octokit/request-error": "^5.1.1",
+        "@protobuf-ts/plugin": "^2.2.3-alpha.1",
+        archiver: "^7.0.1",
+        "jwt-decode": "^3.1.2",
+        "unzip-stream": "^0.3.1"
+      },
+      devDependencies: {
+        "@types/archiver": "^5.3.2",
+        "@types/unzip-stream": "^0.3.4",
+        typedoc: "^0.28.13",
+        "typedoc-plugin-markdown": "^3.17.1",
+        typescript: "^5.2.2"
+      },
+      overrides: {
+        "uri-js": "npm:uri-js-replace@^1.0.1",
+        "node-fetch": "^3.3.2"
+      }
+    };
+  }
+});
+
+// node_modules/@actions/artifact/lib/internal/shared/user-agent.js
+var require_user_agent = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/shared/user-agent.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getUserAgentString = void 0;
+    var packageJson = require_package2();
+    function getUserAgentString() {
+      return `@actions/artifact-${packageJson.version}`;
+    }
+    exports2.getUserAgentString = getUserAgentString;
+  }
+});
+
+// node_modules/@actions/artifact/lib/internal/shared/errors.js
+var require_errors3 = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/shared/errors.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.UsageError = exports2.NetworkError = exports2.GHESNotSupportedError = exports2.ArtifactNotFoundError = exports2.InvalidResponseError = exports2.FilesNotFoundError = void 0;
+    var FilesNotFoundError = class extends Error {
+      constructor(files = []) {
+        let message = "No files were found to upload";
+        if (files.length > 0) {
+          message += `: ${files.join(", ")}`;
+        }
+        super(message);
+        this.files = files;
+        this.name = "FilesNotFoundError";
+      }
+    };
+    exports2.FilesNotFoundError = FilesNotFoundError;
+    var InvalidResponseError = class extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "InvalidResponseError";
+      }
+    };
+    exports2.InvalidResponseError = InvalidResponseError;
+    var ArtifactNotFoundError = class extends Error {
+      constructor(message = "Artifact not found") {
+        super(message);
+        this.name = "ArtifactNotFoundError";
+      }
+    };
+    exports2.ArtifactNotFoundError = ArtifactNotFoundError;
+    var GHESNotSupportedError = class extends Error {
+      constructor(message = "@actions/artifact v2.0.0+, upload-artifact@v4+ and download-artifact@v4+ are not currently supported on GHES.") {
+        super(message);
+        this.name = "GHESNotSupportedError";
+      }
+    };
+    exports2.GHESNotSupportedError = GHESNotSupportedError;
+    var NetworkError = class extends Error {
+      constructor(code) {
+        const message = `Unable to make request: ${code}
+If you are using self-hosted runners, please make sure your runner has access to all GitHub endpoints: https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#communication-between-self-hosted-runners-and-github`;
+        super(message);
+        this.code = code;
+        this.name = "NetworkError";
+      }
+    };
+    exports2.NetworkError = NetworkError;
+    NetworkError.isNetworkErrorCode = (code) => {
+      if (!code)
+        return false;
+      return [
+        "ECONNRESET",
+        "ENOTFOUND",
+        "ETIMEDOUT",
+        "ECONNREFUSED",
+        "EHOSTUNREACH"
+      ].includes(code);
+    };
+    var UsageError = class extends Error {
+      constructor() {
+        const message = `Artifact storage quota has been hit. Unable to upload any new artifacts. Usage is recalculated every 6-12 hours.
+More info on storage limits: https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#calculating-minute-and-storage-spending`;
+        super(message);
+        this.name = "UsageError";
+      }
+    };
+    exports2.UsageError = UsageError;
+    UsageError.isUsageErrorMessage = (msg) => {
+      if (!msg)
+        return false;
+      return msg.includes("insufficient usage");
+    };
+  }
+});
+
+// node_modules/jwt-decode/build/jwt-decode.cjs.js
+var require_jwt_decode_cjs = __commonJS({
+  "node_modules/jwt-decode/build/jwt-decode.cjs.js"(exports2, module2) {
+    "use strict";
+    function e(e2) {
+      this.message = e2;
+    }
+    e.prototype = new Error(), e.prototype.name = "InvalidCharacterError";
+    var r = "undefined" != typeof window && window.atob && window.atob.bind(window) || function(r2) {
+      var t2 = String(r2).replace(/=+$/, "");
+      if (t2.length % 4 == 1) throw new e("'atob' failed: The string to be decoded is not correctly encoded.");
+      for (var n2, o2, a2 = 0, i = 0, c = ""; o2 = t2.charAt(i++); ~o2 && (n2 = a2 % 4 ? 64 * n2 + o2 : o2, a2++ % 4) ? c += String.fromCharCode(255 & n2 >> (-2 * a2 & 6)) : 0) o2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(o2);
+      return c;
+    };
+    function t(e2) {
+      var t2 = e2.replace(/-/g, "+").replace(/_/g, "/");
+      switch (t2.length % 4) {
+        case 0:
+          break;
+        case 2:
+          t2 += "==";
+          break;
+        case 3:
+          t2 += "=";
+          break;
+        default:
+          throw "Illegal base64url string!";
+      }
+      try {
+        return (function(e3) {
+          return decodeURIComponent(r(e3).replace(/(.)/g, (function(e4, r2) {
+            var t3 = r2.charCodeAt(0).toString(16).toUpperCase();
+            return t3.length < 2 && (t3 = "0" + t3), "%" + t3;
+          })));
+        })(t2);
+      } catch (e3) {
+        return r(t2);
+      }
+    }
+    function n(e2) {
+      this.message = e2;
+    }
+    function o(e2, r2) {
+      if ("string" != typeof e2) throw new n("Invalid token specified");
+      var o2 = true === (r2 = r2 || {}).header ? 0 : 1;
+      try {
+        return JSON.parse(t(e2.split(".")[o2]));
+      } catch (e3) {
+        throw new n("Invalid token specified: " + e3.message);
+      }
+    }
+    n.prototype = new Error(), n.prototype.name = "InvalidTokenError";
+    var a = o;
+    a.default = o, a.InvalidTokenError = n, module2.exports = a;
+  }
+});
+
+// node_modules/@actions/artifact/lib/internal/shared/util.js
+var require_util17 = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/shared/util.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      }
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
+      return mod && mod.__esModule ? mod : { "default": mod };
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.maskSecretUrls = exports2.maskSigUrl = exports2.getBackendIdsFromToken = void 0;
+    var core14 = __importStar2(require_core());
+    var config_1 = require_config();
+    var jwt_decode_1 = __importDefault2(require_jwt_decode_cjs());
+    var core_1 = require_core();
+    var InvalidJwtError = new Error("Failed to get backend IDs: The provided JWT token is invalid and/or missing claims");
+    function getBackendIdsFromToken() {
+      const token = (0, config_1.getRuntimeToken)();
+      const decoded = (0, jwt_decode_1.default)(token);
+      if (!decoded.scp) {
+        throw InvalidJwtError;
+      }
+      const scpParts = decoded.scp.split(" ");
+      if (scpParts.length === 0) {
+        throw InvalidJwtError;
+      }
+      for (const scopes of scpParts) {
+        const scopeParts = scopes.split(":");
+        if ((scopeParts === null || scopeParts === void 0 ? void 0 : scopeParts[0]) !== "Actions.Results") {
+          continue;
+        }
+        if (scopeParts.length !== 3) {
+          throw InvalidJwtError;
+        }
+        const ids = {
+          workflowRunBackendId: scopeParts[1],
+          workflowJobRunBackendId: scopeParts[2]
+        };
+        core14.debug(`Workflow Run Backend ID: ${ids.workflowRunBackendId}`);
+        core14.debug(`Workflow Job Run Backend ID: ${ids.workflowJobRunBackendId}`);
+        return ids;
+      }
+      throw InvalidJwtError;
+    }
+    exports2.getBackendIdsFromToken = getBackendIdsFromToken;
+    function maskSigUrl(url) {
+      if (!url)
+        return;
+      try {
+        const parsedUrl = new URL(url);
+        const signature = parsedUrl.searchParams.get("sig");
+        if (signature) {
+          (0, core_1.setSecret)(signature);
+          (0, core_1.setSecret)(encodeURIComponent(signature));
+        }
+      } catch (error3) {
+        (0, core_1.debug)(`Failed to parse URL: ${url} ${error3 instanceof Error ? error3.message : String(error3)}`);
+      }
+    }
+    exports2.maskSigUrl = maskSigUrl;
+    function maskSecretUrls(body) {
+      if (typeof body !== "object" || body === null) {
+        (0, core_1.debug)("body is not an object or is null");
+        return;
+      }
+      if ("signed_upload_url" in body && typeof body.signed_upload_url === "string") {
+        maskSigUrl(body.signed_upload_url);
+      }
+      if ("signed_url" in body && typeof body.signed_url === "string") {
+        maskSigUrl(body.signed_url);
+      }
+    }
+    exports2.maskSecretUrls = maskSecretUrls;
+  }
+});
+
+// node_modules/@actions/artifact/lib/internal/shared/artifact-twirp-client.js
+var require_artifact_twirp_client2 = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/shared/artifact-twirp-client.js"(exports2) {
+    "use strict";
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve2) {
+          resolve2(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve2, 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 ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.internalArtifactTwirpClient = void 0;
+    var http_client_1 = require_lib();
+    var auth_1 = require_auth();
+    var core_1 = require_core();
+    var generated_1 = require_generated();
+    var config_1 = require_config();
+    var user_agent_1 = require_user_agent();
+    var errors_1 = require_errors3();
+    var util_1 = require_util17();
+    var ArtifactHttpClient = class {
+      constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) {
+        this.maxAttempts = 5;
+        this.baseRetryIntervalMilliseconds = 3e3;
+        this.retryMultiplier = 1.5;
+        const token = (0, config_1.getRuntimeToken)();
+        this.baseUrl = (0, config_1.getResultsServiceUrl)();
+        if (maxAttempts) {
+          this.maxAttempts = maxAttempts;
+        }
+        if (baseRetryIntervalMilliseconds) {
+          this.baseRetryIntervalMilliseconds = baseRetryIntervalMilliseconds;
+        }
+        if (retryMultiplier) {
+          this.retryMultiplier = retryMultiplier;
+        }
+        this.httpClient = new http_client_1.HttpClient(userAgent2, [
+          new auth_1.BearerCredentialHandler(token)
+        ]);
+      }
+      // This function satisfies the Rpc interface. It is compatible with the JSON
+      // JSON generated client.
+      request(service, method, contentType, data) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          const url = new URL(`/twirp/${service}/${method}`, this.baseUrl).href;
+          (0, core_1.debug)(`[Request] ${method} ${url}`);
+          const headers = {
+            "Content-Type": contentType
+          };
+          try {
+            const { body } = yield this.retryableRequest(() => __awaiter2(this, void 0, void 0, function* () {
+              return this.httpClient.post(url, JSON.stringify(data), headers);
+            }));
+            return body;
+          } catch (error3) {
+            throw new Error(`Failed to ${method}: ${error3.message}`);
+          }
+        });
+      }
+      retryableRequest(operation) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          let attempt = 0;
+          let errorMessage = "";
+          let rawBody = "";
+          while (attempt < this.maxAttempts) {
+            let isRetryable = false;
+            try {
+              const response = yield operation();
+              const statusCode = response.message.statusCode;
+              rawBody = yield response.readBody();
+              (0, core_1.debug)(`[Response] - ${response.message.statusCode}`);
+              (0, core_1.debug)(`Headers: ${JSON.stringify(response.message.headers, null, 2)}`);
+              const body = JSON.parse(rawBody);
+              (0, util_1.maskSecretUrls)(body);
+              (0, core_1.debug)(`Body: ${JSON.stringify(body, null, 2)}`);
+              if (this.isSuccessStatusCode(statusCode)) {
+                return { response, body };
+              }
+              isRetryable = this.isRetryableHttpStatusCode(statusCode);
+              errorMessage = `Failed request: (${statusCode}) ${response.message.statusMessage}`;
+              if (body.msg) {
+                if (errors_1.UsageError.isUsageErrorMessage(body.msg)) {
+                  throw new errors_1.UsageError();
+                }
+                errorMessage = `${errorMessage}: ${body.msg}`;
+              }
+            } catch (error3) {
+              if (error3 instanceof SyntaxError) {
+                (0, core_1.debug)(`Raw Body: ${rawBody}`);
+              }
+              if (error3 instanceof errors_1.UsageError) {
+                throw error3;
+              }
+              if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) {
+                throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code);
+              }
+              isRetryable = true;
+              errorMessage = error3.message;
+            }
+            if (!isRetryable) {
+              throw new Error(`Received non-retryable error: ${errorMessage}`);
+            }
+            if (attempt + 1 === this.maxAttempts) {
+              throw new Error(`Failed to make request after ${this.maxAttempts} attempts: ${errorMessage}`);
+            }
+            const retryTimeMilliseconds = this.getExponentialRetryTimeMilliseconds(attempt);
+            (0, core_1.info)(`Attempt ${attempt + 1} of ${this.maxAttempts} failed with error: ${errorMessage}. Retrying request in ${retryTimeMilliseconds} ms...`);
+            yield this.sleep(retryTimeMilliseconds);
+            attempt++;
+          }
+          throw new Error(`Request failed`);
+        });
+      }
+      isSuccessStatusCode(statusCode) {
+        if (!statusCode)
+          return false;
+        return statusCode >= 200 && statusCode < 300;
+      }
+      isRetryableHttpStatusCode(statusCode) {
+        if (!statusCode)
+          return false;
+        const retryableStatusCodes = [
+          http_client_1.HttpCodes.BadGateway,
+          http_client_1.HttpCodes.GatewayTimeout,
+          http_client_1.HttpCodes.InternalServerError,
+          http_client_1.HttpCodes.ServiceUnavailable,
+          http_client_1.HttpCodes.TooManyRequests
+        ];
+        return retryableStatusCodes.includes(statusCode);
+      }
+      sleep(milliseconds) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          return new Promise((resolve2) => setTimeout(resolve2, milliseconds));
+        });
+      }
+      getExponentialRetryTimeMilliseconds(attempt) {
+        if (attempt < 0) {
+          throw new Error("attempt should be a positive integer");
+        }
+        if (attempt === 0) {
+          return this.baseRetryIntervalMilliseconds;
+        }
+        const minTime = this.baseRetryIntervalMilliseconds * Math.pow(this.retryMultiplier, attempt);
+        const maxTime = minTime * this.retryMultiplier;
+        return Math.trunc(Math.random() * (maxTime - minTime) + minTime);
+      }
+    };
+    function internalArtifactTwirpClient(options) {
+      const client = new ArtifactHttpClient((0, user_agent_1.getUserAgentString)(), options === null || options === void 0 ? void 0 : options.maxAttempts, options === null || options === void 0 ? void 0 : options.retryIntervalMs, options === null || options === void 0 ? void 0 : options.retryMultiplier);
+      return new generated_1.ArtifactServiceClientJSON(client);
+    }
+    exports2.internalArtifactTwirpClient = internalArtifactTwirpClient;
+  }
+});
+
+// node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.js
+var require_upload_zip_specification = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      }
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getUploadZipSpecification = exports2.validateRootDirectory = void 0;
+    var fs3 = __importStar2(require("fs"));
+    var core_1 = require_core();
+    var path_1 = require("path");
+    var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation();
+    function validateRootDirectory(rootDirectory) {
+      if (!fs3.existsSync(rootDirectory)) {
+        throw new Error(`The provided rootDirectory ${rootDirectory} does not exist`);
+      }
+      if (!fs3.statSync(rootDirectory).isDirectory()) {
+        throw new Error(`The provided rootDirectory ${rootDirectory} is not a valid directory`);
+      }
+      (0, core_1.info)(`Root directory input is valid!`);
+    }
+    exports2.validateRootDirectory = validateRootDirectory;
+    function getUploadZipSpecification(filesToZip, rootDirectory) {
+      const specification = [];
+      rootDirectory = (0, path_1.normalize)(rootDirectory);
+      rootDirectory = (0, path_1.resolve)(rootDirectory);
+      for (let file of filesToZip) {
+        const stats = fs3.lstatSync(file, { throwIfNoEntry: false });
+        if (!stats) {
+          throw new Error(`File ${file} does not exist`);
+        }
+        if (!stats.isDirectory()) {
+          file = (0, path_1.normalize)(file);
+          file = (0, path_1.resolve)(file);
+          if (!file.startsWith(rootDirectory)) {
+            throw new Error(`The rootDirectory: ${rootDirectory} is not a parent directory of the file: ${file}`);
+          }
+          const uploadPath = file.replace(rootDirectory, "");
+          (0, path_and_artifact_name_validation_1.validateFilePath)(uploadPath);
+          specification.push({
+            sourcePath: file,
+            destinationPath: uploadPath,
+            stats
+          });
+        } else {
+          const directoryPath = file.replace(rootDirectory, "");
+          (0, path_and_artifact_name_validation_1.validateFilePath)(directoryPath);
+          specification.push({
+            sourcePath: null,
+            destinationPath: directoryPath,
+            stats
+          });
+        }
+      }
+      return specification;
+    }
+    exports2.getUploadZipSpecification = getUploadZipSpecification;
+  }
+});
+
+// node_modules/tslib/tslib.es6.mjs
+var tslib_es6_exports = {};
+__export(tslib_es6_exports, {
+  __addDisposableResource: () => __addDisposableResource,
+  __assign: () => __assign,
+  __asyncDelegator: () => __asyncDelegator,
+  __asyncGenerator: () => __asyncGenerator,
+  __asyncValues: () => __asyncValues,
+  __await: () => __await,
+  __awaiter: () => __awaiter,
+  __classPrivateFieldGet: () => __classPrivateFieldGet,
+  __classPrivateFieldIn: () => __classPrivateFieldIn,
+  __classPrivateFieldSet: () => __classPrivateFieldSet,
+  __createBinding: () => __createBinding,
+  __decorate: () => __decorate,
+  __disposeResources: () => __disposeResources,
+  __esDecorate: () => __esDecorate,
+  __exportStar: () => __exportStar,
+  __extends: () => __extends,
+  __generator: () => __generator,
+  __importDefault: () => __importDefault,
+  __importStar: () => __importStar,
+  __makeTemplateObject: () => __makeTemplateObject,
+  __metadata: () => __metadata,
+  __param: () => __param,
+  __propKey: () => __propKey,
+  __read: () => __read,
+  __rest: () => __rest,
+  __rewriteRelativeImportExtension: () => __rewriteRelativeImportExtension,
+  __runInitializers: () => __runInitializers,
+  __setFunctionName: () => __setFunctionName,
+  __spread: () => __spread,
+  __spreadArray: () => __spreadArray,
+  __spreadArrays: () => __spreadArrays,
+  __values: () => __values2,
+  default: () => tslib_es6_default
+});
+function __extends(d, b) {
+  if (typeof b !== "function" && b !== null)
+    throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
+  extendStatics(d, b);
+  function __() {
+    this.constructor = d;
+  }
+  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+}
+function __rest(s, e) {
+  var t = {};
+  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
+    t[p] = s[p];
+  if (s != null && typeof Object.getOwnPropertySymbols === "function")
+    for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
+      if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
+        t[p[i]] = s[p[i]];
+    }
+  return t;
+}
+function __decorate(decorators, target, key, desc) {
+  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+  return c > 3 && r && Object.defineProperty(target, key, r), r;
+}
+function __param(paramIndex, decorator) {
+  return function(target, key) {
+    decorator(target, key, paramIndex);
+  };
+}
+function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
+  function accept(f) {
+    if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected");
+    return f;
+  }
+  var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
+  var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
+  var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
+  var _2, done = false;
+  for (var i = decorators.length - 1; i >= 0; i--) {
+    var context2 = {};
+    for (var p in contextIn) context2[p] = p === "access" ? {} : contextIn[p];
+    for (var p in contextIn.access) context2.access[p] = contextIn.access[p];
+    context2.addInitializer = function(f) {
+      if (done) throw new TypeError("Cannot add initializers after decoration has completed");
+      extraInitializers.push(accept(f || null));
+    };
+    var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context2);
+    if (kind === "accessor") {
+      if (result === void 0) continue;
+      if (result === null || typeof result !== "object") throw new TypeError("Object expected");
+      if (_2 = accept(result.get)) descriptor.get = _2;
+      if (_2 = accept(result.set)) descriptor.set = _2;
+      if (_2 = accept(result.init)) initializers.unshift(_2);
+    } else if (_2 = accept(result)) {
+      if (kind === "field") initializers.unshift(_2);
+      else descriptor[key] = _2;
+    }
+  }
+  if (target) Object.defineProperty(target, contextIn.name, descriptor);
+  done = true;
+}
+function __runInitializers(thisArg, initializers, value) {
+  var useValue = arguments.length > 2;
+  for (var i = 0; i < initializers.length; i++) {
+    value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
+  }
+  return useValue ? value : void 0;
+}
+function __propKey(x) {
+  return typeof x === "symbol" ? x : "".concat(x);
+}
+function __setFunctionName(f, name, prefix) {
+  if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
+  return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
+}
+function __metadata(metadataKey, metadataValue) {
+  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
+}
+function __awaiter(thisArg, _arguments, P, generator) {
+  function adopt(value) {
+    return value instanceof P ? value : new P(function(resolve2) {
+      resolve2(value);
+    });
+  }
+  return new (P || (P = Promise))(function(resolve2, 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 ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
+    }
+    step((generator = generator.apply(thisArg, _arguments || [])).next());
+  });
+}
+function __generator(thisArg, body) {
+  var _2 = { label: 0, sent: function() {
+    if (t[0] & 1) throw t[1];
+    return t[1];
+  }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
+  return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
+    return this;
+  }), g;
+  function verb(n) {
+    return function(v) {
+      return step([n, v]);
+    };
+  }
+  function step(op) {
+    if (f) throw new TypeError("Generator is already executing.");
+    while (g && (g = 0, op[0] && (_2 = 0)), _2) try {
+      if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+      if (y = 0, t) op = [op[0] & 2, t.value];
+      switch (op[0]) {
+        case 0:
+        case 1:
+          t = op;
+          break;
+        case 4:
+          _2.label++;
+          return { value: op[1], done: false };
+        case 5:
+          _2.label++;
+          y = op[1];
+          op = [0];
+          continue;
+        case 7:
+          op = _2.ops.pop();
+          _2.trys.pop();
+          continue;
+        default:
+          if (!(t = _2.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
+            _2 = 0;
+            continue;
+          }
+          if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
+            _2.label = op[1];
+            break;
+          }
+          if (op[0] === 6 && _2.label < t[1]) {
+            _2.label = t[1];
+            t = op;
+            break;
+          }
+          if (t && _2.label < t[2]) {
+            _2.label = t[2];
+            _2.ops.push(op);
+            break;
+          }
+          if (t[2]) _2.ops.pop();
+          _2.trys.pop();
+          continue;
+      }
+      op = body.call(thisArg, _2);
+    } catch (e) {
+      op = [6, e];
+      y = 0;
+    } finally {
+      f = t = 0;
+    }
+    if (op[0] & 5) throw op[1];
+    return { value: op[0] ? op[1] : void 0, done: true };
+  }
+}
+function __exportStar(m, o) {
+  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
+}
+function __values2(o) {
+  var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
+  if (m) return m.call(o);
+  if (o && typeof o.length === "number") return {
+    next: function() {
+      if (o && i >= o.length) o = void 0;
+      return { value: o && o[i++], done: !o };
+    }
+  };
+  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
+}
+function __read(o, n) {
+  var m = typeof Symbol === "function" && o[Symbol.iterator];
+  if (!m) return o;
+  var i = m.call(o), r, ar = [], e;
+  try {
+    while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
+  } catch (error3) {
+    e = { error: error3 };
+  } finally {
+    try {
+      if (r && !r.done && (m = i["return"])) m.call(i);
+    } finally {
+      if (e) throw e.error;
+    }
+  }
+  return ar;
+}
+function __spread() {
+  for (var ar = [], i = 0; i < arguments.length; i++)
+    ar = ar.concat(__read(arguments[i]));
+  return ar;
+}
+function __spreadArrays() {
+  for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
+  for (var r = Array(s), k = 0, i = 0; i < il; i++)
+    for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
+      r[k] = a[j];
+  return r;
+}
+function __spreadArray(to, from, pack) {
+  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
+    if (ar || !(i in from)) {
+      if (!ar) ar = Array.prototype.slice.call(from, 0, i);
+      ar[i] = from[i];
+    }
+  }
+  return to.concat(ar || Array.prototype.slice.call(from));
+}
+function __await(v) {
+  return this instanceof __await ? (this.v = v, this) : new __await(v);
+}
+function __asyncGenerator(thisArg, _arguments, generator) {
+  if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+  var g = generator.apply(thisArg, _arguments || []), i, q = [];
+  return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function() {
+    return this;
+  }, i;
+  function awaitReturn(f) {
+    return function(v) {
+      return Promise.resolve(v).then(f, reject);
+    };
+  }
+  function verb(n, f) {
+    if (g[n]) {
+      i[n] = function(v) {
+        return new Promise(function(a, b) {
+          q.push([n, v, a, b]) > 1 || resume(n, v);
+        });
+      };
+      if (f) i[n] = f(i[n]);
+    }
+  }
+  function resume(n, v) {
+    try {
+      step(g[n](v));
+    } catch (e) {
+      settle(q[0][3], e);
+    }
+  }
+  function step(r) {
+    r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);
+  }
+  function fulfill(value) {
+    resume("next", value);
+  }
+  function reject(value) {
+    resume("throw", value);
+  }
+  function settle(f, v) {
+    if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);
+  }
+}
+function __asyncDelegator(o) {
+  var i, p;
+  return i = {}, verb("next"), verb("throw", function(e) {
+    throw e;
+  }), verb("return"), i[Symbol.iterator] = function() {
+    return this;
+  }, i;
+  function verb(n, f) {
+    i[n] = o[n] ? function(v) {
+      return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v;
+    } : f;
+  }
+}
+function __asyncValues(o) {
+  if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+  var m = o[Symbol.asyncIterator], i;
+  return m ? m.call(o) : (o = typeof __values2 === "function" ? __values2(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() {
+    return this;
+  }, i);
+  function verb(n) {
+    i[n] = o[n] && function(v) {
+      return new Promise(function(resolve2, reject) {
+        v = o[n](v), settle(resolve2, reject, v.done, v.value);
+      });
+    };
+  }
+  function settle(resolve2, reject, d, v) {
+    Promise.resolve(v).then(function(v2) {
+      resolve2({ value: v2, done: d });
+    }, reject);
+  }
+}
+function __makeTemplateObject(cooked, raw) {
+  if (Object.defineProperty) {
+    Object.defineProperty(cooked, "raw", { value: raw });
+  } else {
+    cooked.raw = raw;
+  }
+  return cooked;
+}
+function __importStar(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;
+}
+function __importDefault(mod) {
+  return mod && mod.__esModule ? mod : { default: mod };
+}
+function __classPrivateFieldGet(receiver, state, kind, f) {
+  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
+  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
+  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
+}
+function __classPrivateFieldSet(receiver, state, value, kind, f) {
+  if (kind === "m") throw new TypeError("Private method is not writable");
+  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
+  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
+  return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;
+}
+function __classPrivateFieldIn(state, receiver) {
+  if (receiver === null || typeof receiver !== "object" && typeof receiver !== "function") throw new TypeError("Cannot use 'in' operator on non-object");
+  return typeof state === "function" ? receiver === state : state.has(receiver);
+}
+function __addDisposableResource(env, value, async) {
+  if (value !== null && value !== void 0) {
+    if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
+    var dispose, inner;
+    if (async) {
+      if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
+      dispose = value[Symbol.asyncDispose];
+    }
+    if (dispose === void 0) {
+      if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
+      dispose = value[Symbol.dispose];
+      if (async) inner = dispose;
+    }
+    if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
+    if (inner) dispose = function() {
+      try {
+        inner.call(this);
+      } catch (e) {
+        return Promise.reject(e);
+      }
+    };
+    env.stack.push({ value, dispose, async });
+  } else if (async) {
+    env.stack.push({ async: true });
+  }
+  return value;
+}
+function __disposeResources(env) {
+  function fail(e) {
+    env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
+    env.hasError = true;
+  }
+  var r, s = 0;
+  function next() {
+    while (r = env.stack.pop()) {
+      try {
+        if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
+        if (r.dispose) {
+          var result = r.dispose.call(r.value);
+          if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {
+            fail(e);
+            return next();
+          });
+        } else s |= 1;
+      } catch (e) {
+        fail(e);
+      }
+    }
+    if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
+    if (env.hasError) throw env.error;
+  }
+  return next();
+}
+function __rewriteRelativeImportExtension(path3, preserveJsx) {
+  if (typeof path3 === "string" && /^\.\.?\//.test(path3)) {
+    return path3.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function(m, tsx, d, ext, cm) {
+      return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : d + ext + "." + cm.toLowerCase() + "js";
+    });
+  }
+  return path3;
+}
+var extendStatics, __assign, __createBinding, __setModuleDefault, ownKeys, _SuppressedError, tslib_es6_default;
+var init_tslib_es6 = __esm({
+  "node_modules/tslib/tslib.es6.mjs"() {
+    extendStatics = function(d, b) {
+      extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
+        d2.__proto__ = b2;
+      } || function(d2, b2) {
+        for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
+      };
+      return extendStatics(d, b);
+    };
+    __assign = function() {
+      __assign = Object.assign || function __assign2(t) {
+        for (var s, i = 1, n = arguments.length; i < n; i++) {
+          s = arguments[i];
+          for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
+        }
+        return t;
+      };
+      return __assign.apply(this, arguments);
+    };
+    __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];
+    });
+    __setModuleDefault = Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    };
+    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);
+    };
+    _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function(error3, suppressed, message) {
+      var e = new Error(message);
+      return e.name = "SuppressedError", e.error = error3, e.suppressed = suppressed, e;
+    };
+    tslib_es6_default = {
+      __extends,
+      __assign,
+      __rest,
+      __decorate,
+      __param,
+      __esDecorate,
+      __runInitializers,
+      __propKey,
+      __setFunctionName,
+      __metadata,
+      __awaiter,
+      __generator,
+      __createBinding,
+      __exportStar,
+      __values: __values2,
+      __read,
+      __spread,
+      __spreadArrays,
+      __spreadArray,
+      __await,
+      __asyncGenerator,
+      __asyncDelegator,
+      __asyncValues,
+      __makeTemplateObject,
+      __importStar,
+      __importDefault,
+      __classPrivateFieldGet,
+      __classPrivateFieldSet,
+      __classPrivateFieldIn,
+      __addDisposableResource,
+      __disposeResources,
+      __rewriteRelativeImportExtension
+    };
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/abort-controller/AbortError.js
+var require_AbortError = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/abort-controller/AbortError.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AbortError = void 0;
+    var AbortError = class extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "AbortError";
+      }
+    };
+    exports2.AbortError = AbortError;
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/log.js
+var require_log = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/log.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.log = log;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var node_os_1 = require("node:os");
+    var node_util_1 = tslib_1.__importDefault(require("node:util"));
+    var node_process_1 = tslib_1.__importDefault(require("node:process"));
+    function log(message, ...args) {
+      node_process_1.default.stderr.write(`${node_util_1.default.format(message, ...args)}${node_os_1.EOL}`);
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/debug.js
+var require_debug2 = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/debug.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    var log_js_1 = require_log();
+    var debugEnvVariable = typeof process !== "undefined" && process.env && process.env.DEBUG || void 0;
+    var enabledString;
+    var enabledNamespaces = [];
+    var skippedNamespaces = [];
+    var debuggers = [];
+    if (debugEnvVariable) {
+      enable(debugEnvVariable);
+    }
+    var debugObj = Object.assign((namespace) => {
+      return createDebugger(namespace);
+    }, {
+      enable,
+      enabled,
+      disable,
+      log: log_js_1.log
+    });
+    function enable(namespaces) {
+      enabledString = namespaces;
+      enabledNamespaces = [];
+      skippedNamespaces = [];
+      const namespaceList = namespaces.split(",").map((ns) => ns.trim());
+      for (const ns of namespaceList) {
+        if (ns.startsWith("-")) {
+          skippedNamespaces.push(ns.substring(1));
+        } else {
+          enabledNamespaces.push(ns);
+        }
+      }
+      for (const instance of debuggers) {
+        instance.enabled = enabled(instance.namespace);
+      }
+    }
+    function enabled(namespace) {
+      if (namespace.endsWith("*")) {
+        return true;
+      }
+      for (const skipped of skippedNamespaces) {
+        if (namespaceMatches(namespace, skipped)) {
+          return false;
+        }
+      }
+      for (const enabledNamespace of enabledNamespaces) {
+        if (namespaceMatches(namespace, enabledNamespace)) {
+          return true;
+        }
+      }
+      return false;
+    }
+    function namespaceMatches(namespace, patternToMatch) {
+      if (patternToMatch.indexOf("*") === -1) {
+        return namespace === patternToMatch;
+      }
+      let pattern = patternToMatch;
+      if (patternToMatch.indexOf("**") !== -1) {
+        const patternParts = [];
+        let lastCharacter = "";
+        for (const character of patternToMatch) {
+          if (character === "*" && lastCharacter === "*") {
+            continue;
+          } else {
+            lastCharacter = character;
+            patternParts.push(character);
+          }
+        }
+        pattern = patternParts.join("");
+      }
+      let namespaceIndex = 0;
+      let patternIndex = 0;
+      const patternLength = pattern.length;
+      const namespaceLength = namespace.length;
+      let lastWildcard = -1;
+      let lastWildcardNamespace = -1;
+      while (namespaceIndex < namespaceLength && patternIndex < patternLength) {
+        if (pattern[patternIndex] === "*") {
+          lastWildcard = patternIndex;
+          patternIndex++;
+          if (patternIndex === patternLength) {
+            return true;
+          }
+          while (namespace[namespaceIndex] !== pattern[patternIndex]) {
+            namespaceIndex++;
+            if (namespaceIndex === namespaceLength) {
+              return false;
+            }
+          }
+          lastWildcardNamespace = namespaceIndex;
+          namespaceIndex++;
+          patternIndex++;
+          continue;
+        } else if (pattern[patternIndex] === namespace[namespaceIndex]) {
+          patternIndex++;
+          namespaceIndex++;
+        } else if (lastWildcard >= 0) {
+          patternIndex = lastWildcard + 1;
+          namespaceIndex = lastWildcardNamespace + 1;
+          if (namespaceIndex === namespaceLength) {
+            return false;
+          }
+          while (namespace[namespaceIndex] !== pattern[patternIndex]) {
+            namespaceIndex++;
+            if (namespaceIndex === namespaceLength) {
+              return false;
+            }
+          }
+          lastWildcardNamespace = namespaceIndex;
+          namespaceIndex++;
+          patternIndex++;
+          continue;
+        } else {
+          return false;
+        }
+      }
+      const namespaceDone = namespaceIndex === namespace.length;
+      const patternDone = patternIndex === pattern.length;
+      const trailingWildCard = patternIndex === pattern.length - 1 && pattern[patternIndex] === "*";
+      return namespaceDone && (patternDone || trailingWildCard);
+    }
+    function disable() {
+      const result = enabledString || "";
+      enable("");
+      return result;
+    }
+    function createDebugger(namespace) {
+      const newDebugger = Object.assign(debug4, {
+        enabled: enabled(namespace),
+        destroy,
+        log: debugObj.log,
+        namespace,
+        extend: extend3
+      });
+      function debug4(...args) {
+        if (!newDebugger.enabled) {
+          return;
+        }
+        if (args.length > 0) {
+          args[0] = `${namespace} ${args[0]}`;
+        }
+        newDebugger.log(...args);
+      }
+      debuggers.push(newDebugger);
+      return newDebugger;
+    }
+    function destroy() {
+      const index = debuggers.indexOf(this);
+      if (index >= 0) {
+        debuggers.splice(index, 1);
+        return true;
+      }
+      return false;
+    }
+    function extend3(namespace) {
+      const newDebugger = createDebugger(`${this.namespace}:${namespace}`);
+      newDebugger.log = this.log;
+      return newDebugger;
+    }
+    exports2.default = debugObj;
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/logger.js
+var require_logger = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/logger.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.TypeSpecRuntimeLogger = void 0;
+    exports2.createLoggerContext = createLoggerContext;
+    exports2.setLogLevel = setLogLevel;
+    exports2.getLogLevel = getLogLevel;
+    exports2.createClientLogger = createClientLogger;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var debug_js_1 = tslib_1.__importDefault(require_debug2());
+    var TYPESPEC_RUNTIME_LOG_LEVELS = ["verbose", "info", "warning", "error"];
+    var levelMap = {
+      verbose: 400,
+      info: 300,
+      warning: 200,
+      error: 100
+    };
+    function patchLogMethod(parent, child) {
+      child.log = (...args) => {
+        parent.log(...args);
+      };
+    }
+    function isTypeSpecRuntimeLogLevel(level) {
+      return TYPESPEC_RUNTIME_LOG_LEVELS.includes(level);
+    }
+    function createLoggerContext(options) {
+      const registeredLoggers = /* @__PURE__ */ new Set();
+      const logLevelFromEnv = typeof process !== "undefined" && process.env && process.env[options.logLevelEnvVarName] || void 0;
+      let logLevel;
+      const clientLogger = (0, debug_js_1.default)(options.namespace);
+      clientLogger.log = (...args) => {
+        debug_js_1.default.log(...args);
+      };
+      function contextSetLogLevel(level) {
+        if (level && !isTypeSpecRuntimeLogLevel(level)) {
+          throw new Error(`Unknown log level '${level}'. Acceptable values: ${TYPESPEC_RUNTIME_LOG_LEVELS.join(",")}`);
+        }
+        logLevel = level;
+        const enabledNamespaces = [];
+        for (const logger of registeredLoggers) {
+          if (shouldEnable(logger)) {
+            enabledNamespaces.push(logger.namespace);
+          }
+        }
+        debug_js_1.default.enable(enabledNamespaces.join(","));
+      }
+      if (logLevelFromEnv) {
+        if (isTypeSpecRuntimeLogLevel(logLevelFromEnv)) {
+          contextSetLogLevel(logLevelFromEnv);
+        } else {
+          console.error(`${options.logLevelEnvVarName} set to unknown log level '${logLevelFromEnv}'; logging is not enabled. Acceptable values: ${TYPESPEC_RUNTIME_LOG_LEVELS.join(", ")}.`);
+        }
+      }
+      function shouldEnable(logger) {
+        return Boolean(logLevel && levelMap[logger.level] <= levelMap[logLevel]);
+      }
+      function createLogger2(parent, level) {
+        const logger = Object.assign(parent.extend(level), {
+          level
+        });
+        patchLogMethod(parent, logger);
+        if (shouldEnable(logger)) {
+          const enabledNamespaces = debug_js_1.default.disable();
+          debug_js_1.default.enable(enabledNamespaces + "," + logger.namespace);
+        }
+        registeredLoggers.add(logger);
+        return logger;
+      }
+      function contextGetLogLevel() {
+        return logLevel;
+      }
+      function contextCreateClientLogger(namespace) {
+        const clientRootLogger = clientLogger.extend(namespace);
+        patchLogMethod(clientLogger, clientRootLogger);
+        return {
+          error: createLogger2(clientRootLogger, "error"),
+          warning: createLogger2(clientRootLogger, "warning"),
+          info: createLogger2(clientRootLogger, "info"),
+          verbose: createLogger2(clientRootLogger, "verbose")
+        };
+      }
+      return {
+        setLogLevel: contextSetLogLevel,
+        getLogLevel: contextGetLogLevel,
+        createClientLogger: contextCreateClientLogger,
+        logger: clientLogger
+      };
+    }
+    var context2 = createLoggerContext({
+      logLevelEnvVarName: "TYPESPEC_RUNTIME_LOG_LEVEL",
+      namespace: "typeSpecRuntime"
+    });
+    exports2.TypeSpecRuntimeLogger = context2.logger;
+    function setLogLevel(logLevel) {
+      context2.setLogLevel(logLevel);
+    }
+    function getLogLevel() {
+      return context2.getLogLevel();
+    }
+    function createClientLogger(namespace) {
+      return context2.createClientLogger(namespace);
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/httpHeaders.js
+var require_httpHeaders = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/httpHeaders.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createHttpHeaders = createHttpHeaders;
+    function normalizeName(name) {
+      return name.toLowerCase();
+    }
+    function* headerIterator(map2) {
+      for (const entry of map2.values()) {
+        yield [entry.name, entry.value];
+      }
+    }
+    var HttpHeadersImpl = class {
+      _headersMap;
+      constructor(rawHeaders) {
+        this._headersMap = /* @__PURE__ */ new Map();
+        if (rawHeaders) {
+          for (const headerName of Object.keys(rawHeaders)) {
+            this.set(headerName, rawHeaders[headerName]);
+          }
+        }
+      }
+      /**
+       * Set a header in this collection with the provided name and value. The name is
+       * case-insensitive.
+       * @param name - The name of the header to set. This value is case-insensitive.
+       * @param value - The value of the header to set.
+       */
+      set(name, value) {
+        this._headersMap.set(normalizeName(name), { name, value: String(value).trim() });
+      }
+      /**
+       * Get the header value for the provided header name, or undefined if no header exists in this
+       * collection with the provided name.
+       * @param name - The name of the header. This value is case-insensitive.
+       */
+      get(name) {
+        return this._headersMap.get(normalizeName(name))?.value;
+      }
+      /**
+       * Get whether or not this header collection contains a header entry for the provided header name.
+       * @param name - The name of the header to set. This value is case-insensitive.
+       */
+      has(name) {
+        return this._headersMap.has(normalizeName(name));
+      }
+      /**
+       * Remove the header with the provided headerName.
+       * @param name - The name of the header to remove.
+       */
+      delete(name) {
+        this._headersMap.delete(normalizeName(name));
+      }
+      /**
+       * Get the JSON object representation of this HTTP header collection.
+       */
+      toJSON(options = {}) {
+        const result = {};
+        if (options.preserveCase) {
+          for (const entry of this._headersMap.values()) {
+            result[entry.name] = entry.value;
+          }
+        } else {
+          for (const [normalizedName, entry] of this._headersMap) {
+            result[normalizedName] = entry.value;
+          }
+        }
+        return result;
+      }
+      /**
+       * Get the string representation of this HTTP header collection.
+       */
+      toString() {
+        return JSON.stringify(this.toJSON({ preserveCase: true }));
+      }
+      /**
+       * Iterate over tuples of header [name, value] pairs.
+       */
+      [Symbol.iterator]() {
+        return headerIterator(this._headersMap);
+      }
+    };
+    function createHttpHeaders(rawHeaders) {
+      return new HttpHeadersImpl(rawHeaders);
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/schemes.js
+var require_schemes = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/schemes.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/oauth2Flows.js
+var require_oauth2Flows = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/oauth2Flows.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/uuidUtils.js
+var require_uuidUtils = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/uuidUtils.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.randomUUID = randomUUID;
+    function randomUUID() {
+      return crypto.randomUUID();
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/pipelineRequest.js
+var require_pipelineRequest = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/pipelineRequest.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createPipelineRequest = createPipelineRequest;
+    var httpHeaders_js_1 = require_httpHeaders();
+    var uuidUtils_js_1 = require_uuidUtils();
+    var PipelineRequestImpl = class {
+      url;
+      method;
+      headers;
+      timeout;
+      withCredentials;
+      body;
+      multipartBody;
+      formData;
+      streamResponseStatusCodes;
+      enableBrowserStreams;
+      proxySettings;
+      disableKeepAlive;
+      abortSignal;
+      requestId;
+      allowInsecureConnection;
+      onUploadProgress;
+      onDownloadProgress;
+      requestOverrides;
+      authSchemes;
+      constructor(options) {
+        this.url = options.url;
+        this.body = options.body;
+        this.headers = options.headers ?? (0, httpHeaders_js_1.createHttpHeaders)();
+        this.method = options.method ?? "GET";
+        this.timeout = options.timeout ?? 0;
+        this.multipartBody = options.multipartBody;
+        this.formData = options.formData;
+        this.disableKeepAlive = options.disableKeepAlive ?? false;
+        this.proxySettings = options.proxySettings;
+        this.streamResponseStatusCodes = options.streamResponseStatusCodes;
+        this.withCredentials = options.withCredentials ?? false;
+        this.abortSignal = options.abortSignal;
+        this.onUploadProgress = options.onUploadProgress;
+        this.onDownloadProgress = options.onDownloadProgress;
+        this.requestId = options.requestId || (0, uuidUtils_js_1.randomUUID)();
+        this.allowInsecureConnection = options.allowInsecureConnection ?? false;
+        this.enableBrowserStreams = options.enableBrowserStreams ?? false;
+        this.requestOverrides = options.requestOverrides;
+        this.authSchemes = options.authSchemes;
+      }
+    };
+    function createPipelineRequest(options) {
+      return new PipelineRequestImpl(options);
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/pipeline.js
+var require_pipeline = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/pipeline.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createEmptyPipeline = createEmptyPipeline;
+    var ValidPhaseNames = /* @__PURE__ */ new Set(["Deserialize", "Serialize", "Retry", "Sign"]);
+    var HttpPipeline = class _HttpPipeline {
+      _policies = [];
+      _orderedPolicies;
+      constructor(policies) {
+        this._policies = policies?.slice(0) ?? [];
+        this._orderedPolicies = void 0;
+      }
+      addPolicy(policy, options = {}) {
+        if (options.phase && options.afterPhase) {
+          throw new Error("Policies inside a phase cannot specify afterPhase.");
+        }
+        if (options.phase && !ValidPhaseNames.has(options.phase)) {
+          throw new Error(`Invalid phase name: ${options.phase}`);
+        }
+        if (options.afterPhase && !ValidPhaseNames.has(options.afterPhase)) {
+          throw new Error(`Invalid afterPhase name: ${options.afterPhase}`);
+        }
+        this._policies.push({
+          policy,
+          options
+        });
+        this._orderedPolicies = void 0;
+      }
+      removePolicy(options) {
+        const removedPolicies = [];
+        this._policies = this._policies.filter((policyDescriptor) => {
+          if (options.name && policyDescriptor.policy.name === options.name || options.phase && policyDescriptor.options.phase === options.phase) {
+            removedPolicies.push(policyDescriptor.policy);
+            return false;
+          } else {
+            return true;
+          }
+        });
+        this._orderedPolicies = void 0;
+        return removedPolicies;
+      }
+      sendRequest(httpClient, request2) {
+        const policies = this.getOrderedPolicies();
+        const pipeline = policies.reduceRight((next, policy) => {
+          return (req) => {
+            return policy.sendRequest(req, next);
+          };
+        }, (req) => httpClient.sendRequest(req));
+        return pipeline(request2);
+      }
+      getOrderedPolicies() {
+        if (!this._orderedPolicies) {
+          this._orderedPolicies = this.orderPolicies();
+        }
+        return this._orderedPolicies;
+      }
+      clone() {
+        return new _HttpPipeline(this._policies);
+      }
+      static create() {
+        return new _HttpPipeline();
+      }
+      orderPolicies() {
+        const result = [];
+        const policyMap = /* @__PURE__ */ new Map();
+        function createPhase(name) {
+          return {
+            name,
+            policies: /* @__PURE__ */ new Set(),
+            hasRun: false,
+            hasAfterPolicies: false
+          };
+        }
+        const serializePhase = createPhase("Serialize");
+        const noPhase = createPhase("None");
+        const deserializePhase = createPhase("Deserialize");
+        const retryPhase = createPhase("Retry");
+        const signPhase = createPhase("Sign");
+        const orderedPhases = [serializePhase, noPhase, deserializePhase, retryPhase, signPhase];
+        function getPhase(phase) {
+          if (phase === "Retry") {
+            return retryPhase;
+          } else if (phase === "Serialize") {
+            return serializePhase;
+          } else if (phase === "Deserialize") {
+            return deserializePhase;
+          } else if (phase === "Sign") {
+            return signPhase;
+          } else {
+            return noPhase;
+          }
+        }
+        for (const descriptor of this._policies) {
+          const policy = descriptor.policy;
+          const options = descriptor.options;
+          const policyName = policy.name;
+          if (policyMap.has(policyName)) {
+            throw new Error("Duplicate policy names not allowed in pipeline");
+          }
+          const node = {
+            policy,
+            dependsOn: /* @__PURE__ */ new Set(),
+            dependants: /* @__PURE__ */ new Set()
+          };
+          if (options.afterPhase) {
+            node.afterPhase = getPhase(options.afterPhase);
+            node.afterPhase.hasAfterPolicies = true;
+          }
+          policyMap.set(policyName, node);
+          const phase = getPhase(options.phase);
+          phase.policies.add(node);
+        }
+        for (const descriptor of this._policies) {
+          const { policy, options } = descriptor;
+          const policyName = policy.name;
+          const node = policyMap.get(policyName);
+          if (!node) {
+            throw new Error(`Missing node for policy ${policyName}`);
+          }
+          if (options.afterPolicies) {
+            for (const afterPolicyName of options.afterPolicies) {
+              const afterNode = policyMap.get(afterPolicyName);
+              if (afterNode) {
+                node.dependsOn.add(afterNode);
+                afterNode.dependants.add(node);
+              }
+            }
+          }
+          if (options.beforePolicies) {
+            for (const beforePolicyName of options.beforePolicies) {
+              const beforeNode = policyMap.get(beforePolicyName);
+              if (beforeNode) {
+                beforeNode.dependsOn.add(node);
+                node.dependants.add(beforeNode);
+              }
+            }
+          }
+        }
+        function walkPhase(phase) {
+          phase.hasRun = true;
+          for (const node of phase.policies) {
+            if (node.afterPhase && (!node.afterPhase.hasRun || node.afterPhase.policies.size)) {
+              continue;
+            }
+            if (node.dependsOn.size === 0) {
+              result.push(node.policy);
+              for (const dependant of node.dependants) {
+                dependant.dependsOn.delete(node);
+              }
+              policyMap.delete(node.policy.name);
+              phase.policies.delete(node);
+            }
+          }
+        }
+        function walkPhases() {
+          for (const phase of orderedPhases) {
+            walkPhase(phase);
+            if (phase.policies.size > 0 && phase !== noPhase) {
+              if (!noPhase.hasRun) {
+                walkPhase(noPhase);
+              }
+              return;
+            }
+            if (phase.hasAfterPolicies) {
+              walkPhase(noPhase);
+            }
+          }
+        }
+        let iteration = 0;
+        while (policyMap.size > 0) {
+          iteration++;
+          const initialResultLength = result.length;
+          walkPhases();
+          if (result.length <= initialResultLength && iteration > 1) {
+            throw new Error("Cannot satisfy policy dependencies due to requirements cycle.");
+          }
+        }
+        return result;
+      }
+    };
+    function createEmptyPipeline() {
+      return HttpPipeline.create();
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/object.js
+var require_object = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/object.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isObject = isObject2;
+    function isObject2(input) {
+      return typeof input === "object" && input !== null && !Array.isArray(input) && !(input instanceof RegExp) && !(input instanceof Date);
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/error.js
+var require_error = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/error.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isError = isError;
+    var object_js_1 = require_object();
+    function isError(e) {
+      if ((0, object_js_1.isObject)(e)) {
+        const hasName = typeof e.name === "string";
+        const hasMessage = typeof e.message === "string";
+        return hasName && hasMessage;
+      }
+      return false;
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/inspect.js
+var require_inspect = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/inspect.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.custom = void 0;
+    var node_util_1 = require("node:util");
+    exports2.custom = node_util_1.inspect.custom;
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/sanitizer.js
+var require_sanitizer = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/sanitizer.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Sanitizer = void 0;
+    var object_js_1 = require_object();
+    var RedactedString = "REDACTED";
+    var defaultAllowedHeaderNames = [
+      "x-ms-client-request-id",
+      "x-ms-return-client-request-id",
+      "x-ms-useragent",
+      "x-ms-correlation-request-id",
+      "x-ms-request-id",
+      "client-request-id",
+      "ms-cv",
+      "return-client-request-id",
+      "traceparent",
+      "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",
+      "Origin",
+      "Accept",
+      "Accept-Encoding",
+      "Cache-Control",
+      "Connection",
+      "Content-Length",
+      "Content-Type",
+      "Date",
+      "ETag",
+      "Expires",
+      "If-Match",
+      "If-Modified-Since",
+      "If-None-Match",
+      "If-Unmodified-Since",
+      "Last-Modified",
+      "Pragma",
+      "Request-Id",
+      "Retry-After",
+      "Server",
+      "Transfer-Encoding",
+      "User-Agent",
+      "WWW-Authenticate"
+    ];
+    var defaultAllowedQueryParameters = ["api-version"];
+    var Sanitizer = class {
+      allowedHeaderNames;
+      allowedQueryParameters;
+      constructor({ additionalAllowedHeaderNames: allowedHeaderNames = [], additionalAllowedQueryParameters: allowedQueryParameters = [] } = {}) {
+        allowedHeaderNames = defaultAllowedHeaderNames.concat(allowedHeaderNames);
+        allowedQueryParameters = defaultAllowedQueryParameters.concat(allowedQueryParameters);
+        this.allowedHeaderNames = new Set(allowedHeaderNames.map((n) => n.toLowerCase()));
+        this.allowedQueryParameters = new Set(allowedQueryParameters.map((p) => p.toLowerCase()));
+      }
+      /**
+       * Sanitizes an object for logging.
+       * @param obj - The object to sanitize
+       * @returns - The sanitized object as a string
+       */
+      sanitize(obj) {
+        const seen = /* @__PURE__ */ new Set();
+        return JSON.stringify(obj, (key, value) => {
+          if (value instanceof Error) {
+            return {
+              ...value,
+              name: value.name,
+              message: value.message
+            };
+          }
+          if (key === "headers") {
+            return this.sanitizeHeaders(value);
+          } else if (key === "url") {
+            return this.sanitizeUrl(value);
+          } else if (key === "query") {
+            return this.sanitizeQuery(value);
+          } else if (key === "body") {
+            return void 0;
+          } else if (key === "response") {
+            return void 0;
+          } else if (key === "operationSpec") {
+            return void 0;
+          } else if (Array.isArray(value) || (0, object_js_1.isObject)(value)) {
+            if (seen.has(value)) {
+              return "[Circular]";
+            }
+            seen.add(value);
+          }
+          return value;
+        }, 2);
+      }
+      /**
+       * Sanitizes a URL for logging.
+       * @param value - The URL to sanitize
+       * @returns - The sanitized URL as a string
+       */
+      sanitizeUrl(value) {
+        if (typeof value !== "string" || value === null || value === "") {
+          return value;
+        }
+        const url = new URL(value);
+        if (!url.search) {
+          return value;
+        }
+        for (const [key] of url.searchParams) {
+          if (!this.allowedQueryParameters.has(key.toLowerCase())) {
+            url.searchParams.set(key, RedactedString);
+          }
+        }
+        return url.toString();
+      }
+      sanitizeHeaders(obj) {
+        const sanitized = {};
+        for (const key of Object.keys(obj)) {
+          if (this.allowedHeaderNames.has(key.toLowerCase())) {
+            sanitized[key] = obj[key];
+          } else {
+            sanitized[key] = RedactedString;
+          }
+        }
+        return sanitized;
+      }
+      sanitizeQuery(value) {
+        if (typeof value !== "object" || value === null) {
+          return value;
+        }
+        const sanitized = {};
+        for (const k of Object.keys(value)) {
+          if (this.allowedQueryParameters.has(k.toLowerCase())) {
+            sanitized[k] = value[k];
+          } else {
+            sanitized[k] = RedactedString;
+          }
+        }
+        return sanitized;
+      }
+    };
+    exports2.Sanitizer = Sanitizer;
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/restError.js
+var require_restError = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/restError.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.RestError = void 0;
+    exports2.isRestError = isRestError;
+    var error_js_1 = require_error();
+    var inspect_js_1 = require_inspect();
+    var sanitizer_js_1 = require_sanitizer();
+    var errorSanitizer = new sanitizer_js_1.Sanitizer();
+    var RestError = class _RestError extends Error {
+      /**
+       * Something went wrong when making the request.
+       * This means the actual request failed for some reason,
+       * such as a DNS issue or the connection being lost.
+       */
+      static REQUEST_SEND_ERROR = "REQUEST_SEND_ERROR";
+      /**
+       * This means that parsing the response from the server failed.
+       * It may have been malformed.
+       */
+      static PARSE_ERROR = "PARSE_ERROR";
+      /**
+       * The code of the error itself (use statics on RestError if possible.)
+       */
+      code;
+      /**
+       * The HTTP status code of the request (if applicable.)
+       */
+      statusCode;
+      /**
+       * The request that was made.
+       * This property is non-enumerable.
+       */
+      request;
+      /**
+       * The response received (if any.)
+       * This property is non-enumerable.
+       */
+      response;
+      /**
+       * Bonus property set by the throw site.
+       */
+      details;
+      constructor(message, options = {}) {
+        super(message);
+        this.name = "RestError";
+        this.code = options.code;
+        this.statusCode = options.statusCode;
+        Object.defineProperty(this, "request", { value: options.request, enumerable: false });
+        Object.defineProperty(this, "response", { value: options.response, enumerable: false });
+        const agent = this.request?.agent ? {
+          maxFreeSockets: this.request.agent.maxFreeSockets,
+          maxSockets: this.request.agent.maxSockets
+        } : void 0;
+        Object.defineProperty(this, inspect_js_1.custom, {
+          value: () => {
+            return `RestError: ${this.message} 
+ ${errorSanitizer.sanitize({
+              ...this,
+              request: { ...this.request, agent },
+              response: this.response
+            })}`;
+          },
+          enumerable: false
+        });
+        Object.setPrototypeOf(this, _RestError.prototype);
+      }
+    };
+    exports2.RestError = RestError;
+    function isRestError(e) {
+      if (e instanceof RestError) {
+        return true;
+      }
+      return (0, error_js_1.isError)(e) && e.name === "RestError";
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/bytesEncoding.js
+var require_bytesEncoding = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/bytesEncoding.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.uint8ArrayToString = uint8ArrayToString;
+    exports2.stringToUint8Array = stringToUint8Array;
+    function uint8ArrayToString(bytes, format) {
+      return Buffer.from(bytes).toString(format);
+    }
+    function stringToUint8Array(value, format) {
+      return Buffer.from(value, format);
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/log.js
+var require_log2 = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/log.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.logger = void 0;
+    var logger_js_1 = require_logger();
+    exports2.logger = (0, logger_js_1.createClientLogger)("ts-http-runtime");
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/nodeHttpClient.js
+var require_nodeHttpClient = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/nodeHttpClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getBodyLength = getBodyLength;
+    exports2.createNodeHttpClient = createNodeHttpClient;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var node_http_1 = tslib_1.__importDefault(require("node:http"));
+    var node_https_1 = tslib_1.__importDefault(require("node:https"));
+    var node_zlib_1 = tslib_1.__importDefault(require("node:zlib"));
+    var node_stream_1 = require("node:stream");
+    var AbortError_js_1 = require_AbortError();
+    var httpHeaders_js_1 = require_httpHeaders();
+    var restError_js_1 = require_restError();
+    var log_js_1 = require_log2();
+    var sanitizer_js_1 = require_sanitizer();
+    var DEFAULT_TLS_SETTINGS = {};
+    function isReadableStream(body) {
+      return body && typeof body.pipe === "function";
+    }
+    function isStreamComplete(stream) {
+      if (stream.readable === false) {
+        return Promise.resolve();
+      }
+      return new Promise((resolve2) => {
+        const handler2 = () => {
+          resolve2();
+          stream.removeListener("close", handler2);
+          stream.removeListener("end", handler2);
+          stream.removeListener("error", handler2);
+        };
+        stream.on("close", handler2);
+        stream.on("end", handler2);
+        stream.on("error", handler2);
+      });
+    }
+    function isArrayBuffer(body) {
+      return body && typeof body.byteLength === "number";
+    }
+    var ReportTransform = class extends node_stream_1.Transform {
+      loadedBytes = 0;
+      progressCallback;
+      // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
+      _transform(chunk, _encoding, callback) {
+        this.push(chunk);
+        this.loadedBytes += chunk.length;
+        try {
+          this.progressCallback({ loadedBytes: this.loadedBytes });
+          callback();
+        } catch (e) {
+          callback(e);
+        }
+      }
+      constructor(progressCallback) {
+        super();
+        this.progressCallback = progressCallback;
+      }
+    };
+    var NodeHttpClient = class {
+      cachedHttpAgent;
+      cachedHttpsAgents = /* @__PURE__ */ new WeakMap();
+      /**
+       * Makes a request over an underlying transport layer and returns the response.
+       * @param request - The request to be made.
+       */
+      async sendRequest(request2) {
+        const abortController = new AbortController();
+        let abortListener;
+        if (request2.abortSignal) {
+          if (request2.abortSignal.aborted) {
+            throw new AbortError_js_1.AbortError("The operation was aborted. Request has already been canceled.");
+          }
+          abortListener = (event) => {
+            if (event.type === "abort") {
+              abortController.abort();
+            }
+          };
+          request2.abortSignal.addEventListener("abort", abortListener);
+        }
+        let timeoutId;
+        if (request2.timeout > 0) {
+          timeoutId = setTimeout(() => {
+            const sanitizer = new sanitizer_js_1.Sanitizer();
+            log_js_1.logger.info(`request to '${sanitizer.sanitizeUrl(request2.url)}' timed out. canceling...`);
+            abortController.abort();
+          }, request2.timeout);
+        }
+        const acceptEncoding = request2.headers.get("Accept-Encoding");
+        const shouldDecompress = acceptEncoding?.includes("gzip") || acceptEncoding?.includes("deflate");
+        let body = typeof request2.body === "function" ? request2.body() : request2.body;
+        if (body && !request2.headers.has("Content-Length")) {
+          const bodyLength = getBodyLength(body);
+          if (bodyLength !== null) {
+            request2.headers.set("Content-Length", bodyLength);
+          }
+        }
+        let responseStream;
+        try {
+          if (body && request2.onUploadProgress) {
+            const onUploadProgress = request2.onUploadProgress;
+            const uploadReportStream = new ReportTransform(onUploadProgress);
+            uploadReportStream.on("error", (e) => {
+              log_js_1.logger.error("Error in upload progress", e);
+            });
+            if (isReadableStream(body)) {
+              body.pipe(uploadReportStream);
+            } else {
+              uploadReportStream.end(body);
+            }
+            body = uploadReportStream;
+          }
+          const res = await this.makeRequest(request2, abortController, body);
+          if (timeoutId !== void 0) {
+            clearTimeout(timeoutId);
+          }
+          const headers = getResponseHeaders(res);
+          const status = res.statusCode ?? 0;
+          const response = {
+            status,
+            headers,
+            request: request2
+          };
+          if (request2.method === "HEAD") {
+            res.resume();
+            return response;
+          }
+          responseStream = shouldDecompress ? getDecodedResponseStream(res, headers) : res;
+          const onDownloadProgress = request2.onDownloadProgress;
+          if (onDownloadProgress) {
+            const downloadReportStream = new ReportTransform(onDownloadProgress);
+            downloadReportStream.on("error", (e) => {
+              log_js_1.logger.error("Error in download progress", e);
+            });
+            responseStream.pipe(downloadReportStream);
+            responseStream = downloadReportStream;
+          }
+          if (
+            // Value of POSITIVE_INFINITY in streamResponseStatusCodes is considered as any status code
+            request2.streamResponseStatusCodes?.has(Number.POSITIVE_INFINITY) || request2.streamResponseStatusCodes?.has(response.status)
+          ) {
+            response.readableStreamBody = responseStream;
+          } else {
+            response.bodyAsText = await streamToText(responseStream);
+          }
+          return response;
+        } finally {
+          if (request2.abortSignal && abortListener) {
+            let uploadStreamDone = Promise.resolve();
+            if (isReadableStream(body)) {
+              uploadStreamDone = isStreamComplete(body);
+            }
+            let downloadStreamDone = Promise.resolve();
+            if (isReadableStream(responseStream)) {
+              downloadStreamDone = isStreamComplete(responseStream);
+            }
+            Promise.all([uploadStreamDone, downloadStreamDone]).then(() => {
+              if (abortListener) {
+                request2.abortSignal?.removeEventListener("abort", abortListener);
+              }
+            }).catch((e) => {
+              log_js_1.logger.warning("Error when cleaning up abortListener on httpRequest", e);
+            });
+          }
+        }
+      }
+      makeRequest(request2, abortController, body) {
+        const url = new URL(request2.url);
+        const isInsecure = url.protocol !== "https:";
+        if (isInsecure && !request2.allowInsecureConnection) {
+          throw new Error(`Cannot connect to ${request2.url} while allowInsecureConnection is false.`);
+        }
+        const agent = request2.agent ?? this.getOrCreateAgent(request2, isInsecure);
+        const options = {
+          agent,
+          hostname: url.hostname,
+          path: `${url.pathname}${url.search}`,
+          port: url.port,
+          method: request2.method,
+          headers: request2.headers.toJSON({ preserveCase: true }),
+          ...request2.requestOverrides
+        };
+        return new Promise((resolve2, reject) => {
+          const req = isInsecure ? node_http_1.default.request(options, resolve2) : node_https_1.default.request(options, resolve2);
+          req.once("error", (err) => {
+            reject(new restError_js_1.RestError(err.message, { code: err.code ?? restError_js_1.RestError.REQUEST_SEND_ERROR, request: request2 }));
+          });
+          abortController.signal.addEventListener("abort", () => {
+            const abortError = new AbortError_js_1.AbortError("The operation was aborted. Rejecting from abort signal callback while making request.");
+            req.destroy(abortError);
+            reject(abortError);
+          });
+          if (body && isReadableStream(body)) {
+            body.pipe(req);
+          } else if (body) {
+            if (typeof body === "string" || Buffer.isBuffer(body)) {
+              req.end(body);
+            } else if (isArrayBuffer(body)) {
+              req.end(ArrayBuffer.isView(body) ? Buffer.from(body.buffer) : Buffer.from(body));
+            } else {
+              log_js_1.logger.error("Unrecognized body type", body);
+              reject(new restError_js_1.RestError("Unrecognized body type"));
+            }
+          } else {
+            req.end();
+          }
+        });
+      }
+      getOrCreateAgent(request2, isInsecure) {
+        const disableKeepAlive = request2.disableKeepAlive;
+        if (isInsecure) {
+          if (disableKeepAlive) {
+            return node_http_1.default.globalAgent;
+          }
+          if (!this.cachedHttpAgent) {
+            this.cachedHttpAgent = new node_http_1.default.Agent({ keepAlive: true });
+          }
+          return this.cachedHttpAgent;
+        } else {
+          if (disableKeepAlive && !request2.tlsSettings) {
+            return node_https_1.default.globalAgent;
+          }
+          const tlsSettings = request2.tlsSettings ?? DEFAULT_TLS_SETTINGS;
+          let agent = this.cachedHttpsAgents.get(tlsSettings);
+          if (agent && agent.options.keepAlive === !disableKeepAlive) {
+            return agent;
+          }
+          log_js_1.logger.info("No cached TLS Agent exist, creating a new Agent");
+          agent = new node_https_1.default.Agent({
+            // keepAlive is true if disableKeepAlive is false.
+            keepAlive: !disableKeepAlive,
+            // Since we are spreading, if no tslSettings were provided, nothing is added to the agent options.
+            ...tlsSettings
+          });
+          this.cachedHttpsAgents.set(tlsSettings, agent);
+          return agent;
+        }
+      }
+    };
+    function getResponseHeaders(res) {
+      const headers = (0, httpHeaders_js_1.createHttpHeaders)();
+      for (const header of Object.keys(res.headers)) {
+        const value = res.headers[header];
+        if (Array.isArray(value)) {
+          if (value.length > 0) {
+            headers.set(header, value[0]);
+          }
+        } else if (value) {
+          headers.set(header, value);
+        }
+      }
+      return headers;
+    }
+    function getDecodedResponseStream(stream, headers) {
+      const contentEncoding = headers.get("Content-Encoding");
+      if (contentEncoding === "gzip") {
+        const unzip = node_zlib_1.default.createGunzip();
+        stream.pipe(unzip);
+        return unzip;
+      } else if (contentEncoding === "deflate") {
+        const inflate = node_zlib_1.default.createInflate();
+        stream.pipe(inflate);
+        return inflate;
+      }
+      return stream;
+    }
+    function streamToText(stream) {
+      return new Promise((resolve2, reject) => {
+        const buffer = [];
+        stream.on("data", (chunk) => {
+          if (Buffer.isBuffer(chunk)) {
+            buffer.push(chunk);
+          } else {
+            buffer.push(Buffer.from(chunk));
+          }
+        });
+        stream.on("end", () => {
+          resolve2(Buffer.concat(buffer).toString("utf8"));
+        });
+        stream.on("error", (e) => {
+          if (e && e?.name === "AbortError") {
+            reject(e);
+          } else {
+            reject(new restError_js_1.RestError(`Error reading response as text: ${e.message}`, {
+              code: restError_js_1.RestError.PARSE_ERROR
+            }));
+          }
+        });
+      });
+    }
+    function getBodyLength(body) {
+      if (!body) {
+        return 0;
+      } else if (Buffer.isBuffer(body)) {
+        return body.length;
+      } else if (isReadableStream(body)) {
+        return null;
+      } else if (isArrayBuffer(body)) {
+        return body.byteLength;
+      } else if (typeof body === "string") {
+        return Buffer.from(body).length;
+      } else {
+        return null;
+      }
+    }
+    function createNodeHttpClient() {
+      return new NodeHttpClient();
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/defaultHttpClient.js
+var require_defaultHttpClient = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/defaultHttpClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createDefaultHttpClient = createDefaultHttpClient;
+    var nodeHttpClient_js_1 = require_nodeHttpClient();
+    function createDefaultHttpClient() {
+      return (0, nodeHttpClient_js_1.createNodeHttpClient)();
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/logPolicy.js
+var require_logPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/logPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.logPolicyName = void 0;
+    exports2.logPolicy = logPolicy;
+    var log_js_1 = require_log2();
+    var sanitizer_js_1 = require_sanitizer();
+    exports2.logPolicyName = "logPolicy";
+    function logPolicy(options = {}) {
+      const logger = options.logger ?? log_js_1.logger.info;
+      const sanitizer = new sanitizer_js_1.Sanitizer({
+        additionalAllowedHeaderNames: options.additionalAllowedHeaderNames,
+        additionalAllowedQueryParameters: options.additionalAllowedQueryParameters
+      });
+      return {
+        name: exports2.logPolicyName,
+        async sendRequest(request2, next) {
+          if (!logger.enabled) {
+            return next(request2);
+          }
+          logger(`Request: ${sanitizer.sanitize(request2)}`);
+          const response = await next(request2);
+          logger(`Response status code: ${response.status}`);
+          logger(`Headers: ${sanitizer.sanitize(response.headers)}`);
+          return response;
+        }
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/redirectPolicy.js
+var require_redirectPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/redirectPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.redirectPolicyName = void 0;
+    exports2.redirectPolicy = redirectPolicy;
+    exports2.redirectPolicyName = "redirectPolicy";
+    var allowedRedirect = ["GET", "HEAD"];
+    function redirectPolicy(options = {}) {
+      const { maxRetries = 20 } = options;
+      return {
+        name: exports2.redirectPolicyName,
+        async sendRequest(request2, next) {
+          const response = await next(request2);
+          return handleRedirect(next, response, maxRetries);
+        }
+      };
+    }
+    async function handleRedirect(next, response, maxRetries, currentRetries = 0) {
+      const { request: request2, status, headers } = response;
+      const locationHeader = headers.get("location");
+      if (locationHeader && (status === 300 || status === 301 && allowedRedirect.includes(request2.method) || status === 302 && allowedRedirect.includes(request2.method) || status === 303 && request2.method === "POST" || status === 307) && currentRetries < maxRetries) {
+        const url = new URL(locationHeader, request2.url);
+        request2.url = url.toString();
+        if (status === 303) {
+          request2.method = "GET";
+          request2.headers.delete("Content-Length");
+          delete request2.body;
+        }
+        request2.headers.delete("Authorization");
+        const res = await next(request2);
+        return handleRedirect(next, res, maxRetries, currentRetries + 1);
+      }
+      return response;
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/userAgentPlatform.js
+var require_userAgentPlatform = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/userAgentPlatform.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getHeaderName = getHeaderName;
+    exports2.setPlatformSpecificData = setPlatformSpecificData;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var node_os_1 = tslib_1.__importDefault(require("node:os"));
+    var node_process_1 = tslib_1.__importDefault(require("node:process"));
+    function getHeaderName() {
+      return "User-Agent";
+    }
+    async function setPlatformSpecificData(map2) {
+      if (node_process_1.default && node_process_1.default.versions) {
+        const osInfo = `${node_os_1.default.type()} ${node_os_1.default.release()}; ${node_os_1.default.arch()}`;
+        const versions = node_process_1.default.versions;
+        if (versions.bun) {
+          map2.set("Bun", `${versions.bun} (${osInfo})`);
+        } else if (versions.deno) {
+          map2.set("Deno", `${versions.deno} (${osInfo})`);
+        } else if (versions.node) {
+          map2.set("Node", `${versions.node} (${osInfo})`);
+        }
+      }
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/constants.js
+var require_constants12 = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/constants.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.DEFAULT_RETRY_POLICY_COUNT = exports2.SDK_VERSION = void 0;
+    exports2.SDK_VERSION = "0.3.2";
+    exports2.DEFAULT_RETRY_POLICY_COUNT = 3;
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/userAgent.js
+var require_userAgent = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/userAgent.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getUserAgentHeaderName = getUserAgentHeaderName;
+    exports2.getUserAgentValue = getUserAgentValue;
+    var userAgentPlatform_js_1 = require_userAgentPlatform();
+    var constants_js_1 = require_constants12();
+    function getUserAgentString(telemetryInfo) {
+      const parts = [];
+      for (const [key, value] of telemetryInfo) {
+        const token = value ? `${key}/${value}` : key;
+        parts.push(token);
+      }
+      return parts.join(" ");
+    }
+    function getUserAgentHeaderName() {
+      return (0, userAgentPlatform_js_1.getHeaderName)();
+    }
+    async function getUserAgentValue(prefix) {
+      const runtimeInfo = /* @__PURE__ */ new Map();
+      runtimeInfo.set("ts-http-runtime", constants_js_1.SDK_VERSION);
+      await (0, userAgentPlatform_js_1.setPlatformSpecificData)(runtimeInfo);
+      const defaultAgent = getUserAgentString(runtimeInfo);
+      const userAgentValue = prefix ? `${prefix} ${defaultAgent}` : defaultAgent;
+      return userAgentValue;
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/userAgentPolicy.js
+var require_userAgentPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/userAgentPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.userAgentPolicyName = void 0;
+    exports2.userAgentPolicy = userAgentPolicy;
+    var userAgent_js_1 = require_userAgent();
+    var UserAgentHeaderName = (0, userAgent_js_1.getUserAgentHeaderName)();
+    exports2.userAgentPolicyName = "userAgentPolicy";
+    function userAgentPolicy(options = {}) {
+      const userAgentValue = (0, userAgent_js_1.getUserAgentValue)(options.userAgentPrefix);
+      return {
+        name: exports2.userAgentPolicyName,
+        async sendRequest(request2, next) {
+          if (!request2.headers.has(UserAgentHeaderName)) {
+            request2.headers.set(UserAgentHeaderName, await userAgentValue);
+          }
+          return next(request2);
+        }
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/decompressResponsePolicy.js
+var require_decompressResponsePolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/decompressResponsePolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.decompressResponsePolicyName = void 0;
+    exports2.decompressResponsePolicy = decompressResponsePolicy;
+    exports2.decompressResponsePolicyName = "decompressResponsePolicy";
+    function decompressResponsePolicy() {
+      return {
+        name: exports2.decompressResponsePolicyName,
+        async sendRequest(request2, next) {
+          if (request2.method !== "HEAD") {
+            request2.headers.set("Accept-Encoding", "gzip,deflate");
+          }
+          return next(request2);
+        }
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/random.js
+var require_random = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/random.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getRandomIntegerInclusive = getRandomIntegerInclusive;
+    function getRandomIntegerInclusive(min, max) {
+      min = Math.ceil(min);
+      max = Math.floor(max);
+      const offset = Math.floor(Math.random() * (max - min + 1));
+      return offset + min;
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/delay.js
+var require_delay = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/delay.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.calculateRetryDelay = calculateRetryDelay;
+    var random_js_1 = require_random();
+    function calculateRetryDelay(retryAttempt, config) {
+      const exponentialDelay = config.retryDelayInMs * Math.pow(2, retryAttempt);
+      const clampedDelay = Math.min(config.maxRetryDelayInMs, exponentialDelay);
+      const retryAfterInMs = clampedDelay / 2 + (0, random_js_1.getRandomIntegerInclusive)(0, clampedDelay / 2);
+      return { retryAfterInMs };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/helpers.js
+var require_helpers = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/helpers.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.delay = delay;
+    exports2.parseHeaderValueAsNumber = parseHeaderValueAsNumber;
+    var AbortError_js_1 = require_AbortError();
+    var StandardAbortMessage = "The operation was aborted.";
+    function delay(delayInMs, value, options) {
+      return new Promise((resolve2, reject) => {
+        let timer = void 0;
+        let onAborted = void 0;
+        const rejectOnAbort = () => {
+          return reject(new AbortError_js_1.AbortError(options?.abortErrorMsg ? options?.abortErrorMsg : StandardAbortMessage));
+        };
+        const removeListeners = () => {
+          if (options?.abortSignal && onAborted) {
+            options.abortSignal.removeEventListener("abort", onAborted);
+          }
+        };
+        onAborted = () => {
+          if (timer) {
+            clearTimeout(timer);
+          }
+          removeListeners();
+          return rejectOnAbort();
+        };
+        if (options?.abortSignal && options.abortSignal.aborted) {
+          return rejectOnAbort();
+        }
+        timer = setTimeout(() => {
+          removeListeners();
+          resolve2(value);
+        }, delayInMs);
+        if (options?.abortSignal) {
+          options.abortSignal.addEventListener("abort", onAborted);
+        }
+      });
+    }
+    function parseHeaderValueAsNumber(response, headerName) {
+      const value = response.headers.get(headerName);
+      if (!value)
+        return;
+      const valueAsNum = Number(value);
+      if (Number.isNaN(valueAsNum))
+        return;
+      return valueAsNum;
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/retryStrategies/throttlingRetryStrategy.js
+var require_throttlingRetryStrategy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/retryStrategies/throttlingRetryStrategy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isThrottlingRetryResponse = isThrottlingRetryResponse;
+    exports2.throttlingRetryStrategy = throttlingRetryStrategy;
+    var helpers_js_1 = require_helpers();
+    var RetryAfterHeader = "Retry-After";
+    var AllRetryAfterHeaders = ["retry-after-ms", "x-ms-retry-after-ms", RetryAfterHeader];
+    function getRetryAfterInMs(response) {
+      if (!(response && [429, 503].includes(response.status)))
+        return void 0;
+      try {
+        for (const header of AllRetryAfterHeaders) {
+          const retryAfterValue = (0, helpers_js_1.parseHeaderValueAsNumber)(response, header);
+          if (retryAfterValue === 0 || retryAfterValue) {
+            const multiplyingFactor = header === RetryAfterHeader ? 1e3 : 1;
+            return retryAfterValue * multiplyingFactor;
+          }
+        }
+        const retryAfterHeader = response.headers.get(RetryAfterHeader);
+        if (!retryAfterHeader)
+          return;
+        const date = Date.parse(retryAfterHeader);
+        const diff = date - Date.now();
+        return Number.isFinite(diff) ? Math.max(0, diff) : void 0;
+      } catch {
+        return void 0;
+      }
+    }
+    function isThrottlingRetryResponse(response) {
+      return Number.isFinite(getRetryAfterInMs(response));
+    }
+    function throttlingRetryStrategy() {
+      return {
+        name: "throttlingRetryStrategy",
+        retry({ response }) {
+          const retryAfterInMs = getRetryAfterInMs(response);
+          if (!Number.isFinite(retryAfterInMs)) {
+            return { skipStrategy: true };
+          }
+          return {
+            retryAfterInMs
+          };
+        }
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/retryStrategies/exponentialRetryStrategy.js
+var require_exponentialRetryStrategy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/retryStrategies/exponentialRetryStrategy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.exponentialRetryStrategy = exponentialRetryStrategy;
+    exports2.isExponentialRetryResponse = isExponentialRetryResponse;
+    exports2.isSystemError = isSystemError;
+    var delay_js_1 = require_delay();
+    var throttlingRetryStrategy_js_1 = require_throttlingRetryStrategy();
+    var DEFAULT_CLIENT_RETRY_INTERVAL = 1e3;
+    var DEFAULT_CLIENT_MAX_RETRY_INTERVAL = 1e3 * 64;
+    function exponentialRetryStrategy(options = {}) {
+      const retryInterval = options.retryDelayInMs ?? DEFAULT_CLIENT_RETRY_INTERVAL;
+      const maxRetryInterval = options.maxRetryDelayInMs ?? DEFAULT_CLIENT_MAX_RETRY_INTERVAL;
+      return {
+        name: "exponentialRetryStrategy",
+        retry({ retryCount, response, responseError }) {
+          const matchedSystemError = isSystemError(responseError);
+          const ignoreSystemErrors = matchedSystemError && options.ignoreSystemErrors;
+          const isExponential = isExponentialRetryResponse(response);
+          const ignoreExponentialResponse = isExponential && options.ignoreHttpStatusCodes;
+          const unknownResponse = response && ((0, throttlingRetryStrategy_js_1.isThrottlingRetryResponse)(response) || !isExponential);
+          if (unknownResponse || ignoreExponentialResponse || ignoreSystemErrors) {
+            return { skipStrategy: true };
+          }
+          if (responseError && !matchedSystemError && !isExponential) {
+            return { errorToThrow: responseError };
+          }
+          return (0, delay_js_1.calculateRetryDelay)(retryCount, {
+            retryDelayInMs: retryInterval,
+            maxRetryDelayInMs: maxRetryInterval
+          });
+        }
+      };
+    }
+    function isExponentialRetryResponse(response) {
+      return Boolean(response && response.status !== void 0 && (response.status >= 500 || response.status === 408) && response.status !== 501 && response.status !== 505);
+    }
+    function isSystemError(err) {
+      if (!err) {
+        return false;
+      }
+      return err.code === "ETIMEDOUT" || err.code === "ESOCKETTIMEDOUT" || err.code === "ECONNREFUSED" || err.code === "ECONNRESET" || err.code === "ENOENT" || err.code === "ENOTFOUND";
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/retryPolicy.js
+var require_retryPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/retryPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.retryPolicy = retryPolicy;
+    var helpers_js_1 = require_helpers();
+    var AbortError_js_1 = require_AbortError();
+    var logger_js_1 = require_logger();
+    var constants_js_1 = require_constants12();
+    var retryPolicyLogger = (0, logger_js_1.createClientLogger)("ts-http-runtime retryPolicy");
+    var retryPolicyName = "retryPolicy";
+    function retryPolicy(strategies, options = { maxRetries: constants_js_1.DEFAULT_RETRY_POLICY_COUNT }) {
+      const logger = options.logger || retryPolicyLogger;
+      return {
+        name: retryPolicyName,
+        async sendRequest(request2, next) {
+          let response;
+          let responseError;
+          let retryCount = -1;
+          retryRequest: while (true) {
+            retryCount += 1;
+            response = void 0;
+            responseError = void 0;
+            try {
+              logger.info(`Retry ${retryCount}: Attempting to send request`, request2.requestId);
+              response = await next(request2);
+              logger.info(`Retry ${retryCount}: Received a response from request`, request2.requestId);
+            } catch (e) {
+              logger.error(`Retry ${retryCount}: Received an error from request`, request2.requestId);
+              responseError = e;
+              if (!e || responseError.name !== "RestError") {
+                throw e;
+              }
+              response = responseError.response;
+            }
+            if (request2.abortSignal?.aborted) {
+              logger.error(`Retry ${retryCount}: Request aborted.`);
+              const abortError = new AbortError_js_1.AbortError();
+              throw abortError;
+            }
+            if (retryCount >= (options.maxRetries ?? constants_js_1.DEFAULT_RETRY_POLICY_COUNT)) {
+              logger.info(`Retry ${retryCount}: Maximum retries reached. Returning the last received response, or throwing the last received error.`);
+              if (responseError) {
+                throw responseError;
+              } else if (response) {
+                return response;
+              } else {
+                throw new Error("Maximum retries reached with no response or error to throw");
+              }
+            }
+            logger.info(`Retry ${retryCount}: Processing ${strategies.length} retry strategies.`);
+            strategiesLoop: for (const strategy of strategies) {
+              const strategyLogger = strategy.logger || logger;
+              strategyLogger.info(`Retry ${retryCount}: Processing retry strategy ${strategy.name}.`);
+              const modifiers = strategy.retry({
+                retryCount,
+                response,
+                responseError
+              });
+              if (modifiers.skipStrategy) {
+                strategyLogger.info(`Retry ${retryCount}: Skipped.`);
+                continue strategiesLoop;
+              }
+              const { errorToThrow, retryAfterInMs, redirectTo } = modifiers;
+              if (errorToThrow) {
+                strategyLogger.error(`Retry ${retryCount}: Retry strategy ${strategy.name} throws error:`, errorToThrow);
+                throw errorToThrow;
+              }
+              if (retryAfterInMs || retryAfterInMs === 0) {
+                strategyLogger.info(`Retry ${retryCount}: Retry strategy ${strategy.name} retries after ${retryAfterInMs}`);
+                await (0, helpers_js_1.delay)(retryAfterInMs, void 0, { abortSignal: request2.abortSignal });
+                continue retryRequest;
+              }
+              if (redirectTo) {
+                strategyLogger.info(`Retry ${retryCount}: Retry strategy ${strategy.name} redirects to ${redirectTo}`);
+                request2.url = redirectTo;
+                continue retryRequest;
+              }
+            }
+            if (responseError) {
+              logger.info(`None of the retry strategies could work with the received error. Throwing it.`);
+              throw responseError;
+            }
+            if (response) {
+              logger.info(`None of the retry strategies could work with the received response. Returning it.`);
+              return response;
+            }
+          }
+        }
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/defaultRetryPolicy.js
+var require_defaultRetryPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/defaultRetryPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.defaultRetryPolicyName = void 0;
+    exports2.defaultRetryPolicy = defaultRetryPolicy;
+    var exponentialRetryStrategy_js_1 = require_exponentialRetryStrategy();
+    var throttlingRetryStrategy_js_1 = require_throttlingRetryStrategy();
+    var retryPolicy_js_1 = require_retryPolicy();
+    var constants_js_1 = require_constants12();
+    exports2.defaultRetryPolicyName = "defaultRetryPolicy";
+    function defaultRetryPolicy(options = {}) {
+      return {
+        name: exports2.defaultRetryPolicyName,
+        sendRequest: (0, retryPolicy_js_1.retryPolicy)([(0, throttlingRetryStrategy_js_1.throttlingRetryStrategy)(), (0, exponentialRetryStrategy_js_1.exponentialRetryStrategy)(options)], {
+          maxRetries: options.maxRetries ?? constants_js_1.DEFAULT_RETRY_POLICY_COUNT
+        }).sendRequest
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/checkEnvironment.js
+var require_checkEnvironment = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/checkEnvironment.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isReactNative = exports2.isNodeRuntime = exports2.isNodeLike = exports2.isBun = exports2.isDeno = exports2.isWebWorker = exports2.isBrowser = void 0;
+    exports2.isBrowser = typeof window !== "undefined" && typeof window.document !== "undefined";
+    exports2.isWebWorker = typeof self === "object" && typeof self?.importScripts === "function" && (self.constructor?.name === "DedicatedWorkerGlobalScope" || self.constructor?.name === "ServiceWorkerGlobalScope" || self.constructor?.name === "SharedWorkerGlobalScope");
+    exports2.isDeno = typeof Deno !== "undefined" && typeof Deno.version !== "undefined" && typeof Deno.version.deno !== "undefined";
+    exports2.isBun = typeof Bun !== "undefined" && typeof Bun.version !== "undefined";
+    exports2.isNodeLike = typeof globalThis.process !== "undefined" && Boolean(globalThis.process.version) && Boolean(globalThis.process.versions?.node);
+    exports2.isNodeRuntime = exports2.isNodeLike && !exports2.isBun && !exports2.isDeno;
+    exports2.isReactNative = typeof navigator !== "undefined" && navigator?.product === "ReactNative";
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/formDataPolicy.js
+var require_formDataPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/formDataPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.formDataPolicyName = void 0;
+    exports2.formDataPolicy = formDataPolicy;
+    var bytesEncoding_js_1 = require_bytesEncoding();
+    var checkEnvironment_js_1 = require_checkEnvironment();
+    var httpHeaders_js_1 = require_httpHeaders();
+    exports2.formDataPolicyName = "formDataPolicy";
+    function formDataToFormDataMap(formData) {
+      const formDataMap = {};
+      for (const [key, value] of formData.entries()) {
+        formDataMap[key] ??= [];
+        formDataMap[key].push(value);
+      }
+      return formDataMap;
+    }
+    function formDataPolicy() {
+      return {
+        name: exports2.formDataPolicyName,
+        async sendRequest(request2, next) {
+          if (checkEnvironment_js_1.isNodeLike && typeof FormData !== "undefined" && request2.body instanceof FormData) {
+            request2.formData = formDataToFormDataMap(request2.body);
+            request2.body = void 0;
+          }
+          if (request2.formData) {
+            const contentType = request2.headers.get("Content-Type");
+            if (contentType && contentType.indexOf("application/x-www-form-urlencoded") !== -1) {
+              request2.body = wwwFormUrlEncode(request2.formData);
+            } else {
+              await prepareFormData(request2.formData, request2);
+            }
+            request2.formData = void 0;
+          }
+          return next(request2);
+        }
+      };
+    }
+    function wwwFormUrlEncode(formData) {
+      const urlSearchParams = new URLSearchParams();
+      for (const [key, value] of Object.entries(formData)) {
+        if (Array.isArray(value)) {
+          for (const subValue of value) {
+            urlSearchParams.append(key, subValue.toString());
+          }
+        } else {
+          urlSearchParams.append(key, value.toString());
+        }
+      }
+      return urlSearchParams.toString();
+    }
+    async function prepareFormData(formData, request2) {
+      const contentType = request2.headers.get("Content-Type");
+      if (contentType && !contentType.startsWith("multipart/form-data")) {
+        return;
+      }
+      request2.headers.set("Content-Type", contentType ?? "multipart/form-data");
+      const parts = [];
+      for (const [fieldName, values] of Object.entries(formData)) {
+        for (const value of Array.isArray(values) ? values : [values]) {
+          if (typeof value === "string") {
+            parts.push({
+              headers: (0, httpHeaders_js_1.createHttpHeaders)({
+                "Content-Disposition": `form-data; name="${fieldName}"`
+              }),
+              body: (0, bytesEncoding_js_1.stringToUint8Array)(value, "utf-8")
+            });
+          } else if (value === void 0 || value === null || typeof value !== "object") {
+            throw new Error(`Unexpected value for key ${fieldName}: ${value}. Value should be serialized to string first.`);
+          } else {
+            const fileName = value.name || "blob";
+            const headers = (0, httpHeaders_js_1.createHttpHeaders)();
+            headers.set("Content-Disposition", `form-data; name="${fieldName}"; filename="${fileName}"`);
+            headers.set("Content-Type", value.type || "application/octet-stream");
+            parts.push({
+              headers,
+              body: value
+            });
+          }
+        }
+      }
+      request2.multipartBody = { parts };
+    }
+  }
+});
+
+// node_modules/ms/index.js
+var require_ms = __commonJS({
+  "node_modules/ms/index.js"(exports2, module2) {
+    var s = 1e3;
+    var m = s * 60;
+    var h = m * 60;
+    var d = h * 24;
+    var w = d * 7;
+    var y = d * 365.25;
+    module2.exports = function(val, options) {
+      options = options || {};
+      var type2 = typeof val;
+      if (type2 === "string" && val.length > 0) {
+        return parse2(val);
+      } else if (type2 === "number" && isFinite(val)) {
+        return options.long ? fmtLong(val) : fmtShort(val);
+      }
+      throw new Error(
+        "val is not a non-empty string or a valid number. val=" + JSON.stringify(val)
+      );
+    };
+    function parse2(str2) {
+      str2 = String(str2);
+      if (str2.length > 100) {
+        return;
+      }
+      var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(
+        str2
+      );
+      if (!match) {
+        return;
+      }
+      var n = parseFloat(match[1]);
+      var type2 = (match[2] || "ms").toLowerCase();
+      switch (type2) {
+        case "years":
+        case "year":
+        case "yrs":
+        case "yr":
+        case "y":
+          return n * y;
+        case "weeks":
+        case "week":
+        case "w":
+          return n * w;
+        case "days":
+        case "day":
+        case "d":
+          return n * d;
+        case "hours":
+        case "hour":
+        case "hrs":
+        case "hr":
+        case "h":
+          return n * h;
+        case "minutes":
+        case "minute":
+        case "mins":
+        case "min":
+        case "m":
+          return n * m;
+        case "seconds":
+        case "second":
+        case "secs":
+        case "sec":
+        case "s":
+          return n * s;
+        case "milliseconds":
+        case "millisecond":
+        case "msecs":
+        case "msec":
+        case "ms":
+          return n;
+        default:
+          return void 0;
+      }
+    }
+    function fmtShort(ms) {
+      var msAbs = Math.abs(ms);
+      if (msAbs >= d) {
+        return Math.round(ms / d) + "d";
+      }
+      if (msAbs >= h) {
+        return Math.round(ms / h) + "h";
+      }
+      if (msAbs >= m) {
+        return Math.round(ms / m) + "m";
+      }
+      if (msAbs >= s) {
+        return Math.round(ms / s) + "s";
+      }
+      return ms + "ms";
+    }
+    function fmtLong(ms) {
+      var msAbs = Math.abs(ms);
+      if (msAbs >= d) {
+        return plural(ms, msAbs, d, "day");
+      }
+      if (msAbs >= h) {
+        return plural(ms, msAbs, h, "hour");
+      }
+      if (msAbs >= m) {
+        return plural(ms, msAbs, m, "minute");
+      }
+      if (msAbs >= s) {
+        return plural(ms, msAbs, s, "second");
+      }
+      return ms + " ms";
+    }
+    function plural(ms, msAbs, n, name) {
+      var isPlural = msAbs >= n * 1.5;
+      return Math.round(ms / n) + " " + name + (isPlural ? "s" : "");
+    }
+  }
+});
+
+// node_modules/debug/src/common.js
+var require_common = __commonJS({
+  "node_modules/debug/src/common.js"(exports2, module2) {
+    function setup(env) {
+      createDebug.debug = createDebug;
+      createDebug.default = createDebug;
+      createDebug.coerce = coerce3;
+      createDebug.disable = disable;
+      createDebug.enable = enable;
+      createDebug.enabled = enabled;
+      createDebug.humanize = require_ms();
+      createDebug.destroy = destroy;
+      Object.keys(env).forEach((key) => {
+        createDebug[key] = env[key];
+      });
+      createDebug.names = [];
+      createDebug.skips = [];
+      createDebug.formatters = {};
+      function selectColor(namespace) {
+        let hash = 0;
+        for (let i = 0; i < namespace.length; i++) {
+          hash = (hash << 5) - hash + namespace.charCodeAt(i);
+          hash |= 0;
+        }
+        return createDebug.colors[Math.abs(hash) % createDebug.colors.length];
+      }
+      createDebug.selectColor = selectColor;
+      function createDebug(namespace) {
+        let prevTime;
+        let enableOverride = null;
+        let namespacesCache;
+        let enabledCache;
+        function debug4(...args) {
+          if (!debug4.enabled) {
+            return;
+          }
+          const self2 = debug4;
+          const curr = Number(/* @__PURE__ */ new Date());
+          const ms = curr - (prevTime || curr);
+          self2.diff = ms;
+          self2.prev = prevTime;
+          self2.curr = curr;
+          prevTime = curr;
+          args[0] = createDebug.coerce(args[0]);
+          if (typeof args[0] !== "string") {
+            args.unshift("%O");
+          }
+          let index = 0;
+          args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {
+            if (match === "%%") {
+              return "%";
+            }
+            index++;
+            const formatter = createDebug.formatters[format];
+            if (typeof formatter === "function") {
+              const val = args[index];
+              match = formatter.call(self2, val);
+              args.splice(index, 1);
+              index--;
+            }
+            return match;
+          });
+          createDebug.formatArgs.call(self2, args);
+          const logFn = self2.log || createDebug.log;
+          logFn.apply(self2, args);
+        }
+        debug4.namespace = namespace;
+        debug4.useColors = createDebug.useColors();
+        debug4.color = createDebug.selectColor(namespace);
+        debug4.extend = extend3;
+        debug4.destroy = createDebug.destroy;
+        Object.defineProperty(debug4, "enabled", {
+          enumerable: true,
+          configurable: false,
+          get: () => {
+            if (enableOverride !== null) {
+              return enableOverride;
+            }
+            if (namespacesCache !== createDebug.namespaces) {
+              namespacesCache = createDebug.namespaces;
+              enabledCache = createDebug.enabled(namespace);
+            }
+            return enabledCache;
+          },
+          set: (v) => {
+            enableOverride = v;
+          }
+        });
+        if (typeof createDebug.init === "function") {
+          createDebug.init(debug4);
+        }
+        return debug4;
+      }
+      function extend3(namespace, delimiter) {
+        const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace);
+        newDebug.log = this.log;
+        return newDebug;
+      }
+      function enable(namespaces) {
+        createDebug.save(namespaces);
+        createDebug.namespaces = namespaces;
+        createDebug.names = [];
+        createDebug.skips = [];
+        const split = (typeof namespaces === "string" ? namespaces : "").trim().replace(/\s+/g, ",").split(",").filter(Boolean);
+        for (const ns of split) {
+          if (ns[0] === "-") {
+            createDebug.skips.push(ns.slice(1));
+          } else {
+            createDebug.names.push(ns);
+          }
+        }
+      }
+      function matchesTemplate(search, template) {
+        let searchIndex = 0;
+        let templateIndex = 0;
+        let starIndex = -1;
+        let matchIndex = 0;
+        while (searchIndex < search.length) {
+          if (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === "*")) {
+            if (template[templateIndex] === "*") {
+              starIndex = templateIndex;
+              matchIndex = searchIndex;
+              templateIndex++;
+            } else {
+              searchIndex++;
+              templateIndex++;
+            }
+          } else if (starIndex !== -1) {
+            templateIndex = starIndex + 1;
+            matchIndex++;
+            searchIndex = matchIndex;
+          } else {
+            return false;
+          }
+        }
+        while (templateIndex < template.length && template[templateIndex] === "*") {
+          templateIndex++;
+        }
+        return templateIndex === template.length;
+      }
+      function disable() {
+        const namespaces = [
+          ...createDebug.names,
+          ...createDebug.skips.map((namespace) => "-" + namespace)
+        ].join(",");
+        createDebug.enable("");
+        return namespaces;
+      }
+      function enabled(name) {
+        for (const skip of createDebug.skips) {
+          if (matchesTemplate(name, skip)) {
+            return false;
+          }
+        }
+        for (const ns of createDebug.names) {
+          if (matchesTemplate(name, ns)) {
+            return true;
+          }
+        }
+        return false;
+      }
+      function coerce3(val) {
+        if (val instanceof Error) {
+          return val.stack || val.message;
+        }
+        return val;
+      }
+      function destroy() {
+        console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
+      }
+      createDebug.enable(createDebug.load());
+      return createDebug;
+    }
+    module2.exports = setup;
+  }
+});
+
+// node_modules/debug/src/browser.js
+var require_browser = __commonJS({
+  "node_modules/debug/src/browser.js"(exports2, module2) {
+    exports2.formatArgs = formatArgs;
+    exports2.save = save;
+    exports2.load = load2;
+    exports2.useColors = useColors;
+    exports2.storage = localstorage();
+    exports2.destroy = /* @__PURE__ */ (() => {
+      let warned = false;
+      return () => {
+        if (!warned) {
+          warned = true;
+          console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
+        }
+      };
+    })();
+    exports2.colors = [
+      "#0000CC",
+      "#0000FF",
+      "#0033CC",
+      "#0033FF",
+      "#0066CC",
+      "#0066FF",
+      "#0099CC",
+      "#0099FF",
+      "#00CC00",
+      "#00CC33",
+      "#00CC66",
+      "#00CC99",
+      "#00CCCC",
+      "#00CCFF",
+      "#3300CC",
+      "#3300FF",
+      "#3333CC",
+      "#3333FF",
+      "#3366CC",
+      "#3366FF",
+      "#3399CC",
+      "#3399FF",
+      "#33CC00",
+      "#33CC33",
+      "#33CC66",
+      "#33CC99",
+      "#33CCCC",
+      "#33CCFF",
+      "#6600CC",
+      "#6600FF",
+      "#6633CC",
+      "#6633FF",
+      "#66CC00",
+      "#66CC33",
+      "#9900CC",
+      "#9900FF",
+      "#9933CC",
+      "#9933FF",
+      "#99CC00",
+      "#99CC33",
+      "#CC0000",
+      "#CC0033",
+      "#CC0066",
+      "#CC0099",
+      "#CC00CC",
+      "#CC00FF",
+      "#CC3300",
+      "#CC3333",
+      "#CC3366",
+      "#CC3399",
+      "#CC33CC",
+      "#CC33FF",
+      "#CC6600",
+      "#CC6633",
+      "#CC9900",
+      "#CC9933",
+      "#CCCC00",
+      "#CCCC33",
+      "#FF0000",
+      "#FF0033",
+      "#FF0066",
+      "#FF0099",
+      "#FF00CC",
+      "#FF00FF",
+      "#FF3300",
+      "#FF3333",
+      "#FF3366",
+      "#FF3399",
+      "#FF33CC",
+      "#FF33FF",
+      "#FF6600",
+      "#FF6633",
+      "#FF9900",
+      "#FF9933",
+      "#FFCC00",
+      "#FFCC33"
+    ];
+    function useColors() {
+      if (typeof window !== "undefined" && window.process && (window.process.type === "renderer" || window.process.__nwjs)) {
+        return true;
+      }
+      if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
+        return false;
+      }
+      let m;
+      return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // Is firebug? http://stackoverflow.com/a/398120/376773
+      typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31?
+      // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
+      typeof navigator !== "undefined" && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)) && parseInt(m[1], 10) >= 31 || // Double check webkit in userAgent just in case we are in a worker
+      typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);
+    }
+    function formatArgs(args) {
+      args[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args[0] + (this.useColors ? "%c " : " ") + "+" + module2.exports.humanize(this.diff);
+      if (!this.useColors) {
+        return;
+      }
+      const c = "color: " + this.color;
+      args.splice(1, 0, c, "color: inherit");
+      let index = 0;
+      let lastC = 0;
+      args[0].replace(/%[a-zA-Z%]/g, (match) => {
+        if (match === "%%") {
+          return;
+        }
+        index++;
+        if (match === "%c") {
+          lastC = index;
+        }
+      });
+      args.splice(lastC, 0, c);
+    }
+    exports2.log = console.debug || console.log || (() => {
+    });
+    function save(namespaces) {
+      try {
+        if (namespaces) {
+          exports2.storage.setItem("debug", namespaces);
+        } else {
+          exports2.storage.removeItem("debug");
+        }
+      } catch (error3) {
+      }
+    }
+    function load2() {
+      let r;
+      try {
+        r = exports2.storage.getItem("debug") || exports2.storage.getItem("DEBUG");
+      } catch (error3) {
+      }
+      if (!r && typeof process !== "undefined" && "env" in process) {
+        r = process.env.DEBUG;
+      }
+      return r;
+    }
+    function localstorage() {
+      try {
+        return localStorage;
+      } catch (error3) {
+      }
+    }
+    module2.exports = require_common()(exports2);
+    var { formatters } = module2.exports;
+    formatters.j = function(v) {
+      try {
+        return JSON.stringify(v);
+      } catch (error3) {
+        return "[UnexpectedJSONParseError]: " + error3.message;
+      }
+    };
+  }
+});
+
+// node_modules/has-flag/index.js
+var require_has_flag = __commonJS({
+  "node_modules/has-flag/index.js"(exports2, module2) {
+    "use strict";
+    module2.exports = (flag, argv = process.argv) => {
+      const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
+      const position = argv.indexOf(prefix + flag);
+      const terminatorPosition = argv.indexOf("--");
+      return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
+    };
+  }
+});
+
+// node_modules/supports-color/index.js
+var require_supports_color = __commonJS({
+  "node_modules/supports-color/index.js"(exports2, module2) {
+    "use strict";
+    var os2 = require("os");
+    var tty = require("tty");
+    var hasFlag = require_has_flag();
+    var { env } = process;
+    var forceColor;
+    if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
+      forceColor = 0;
+    } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
+      forceColor = 1;
+    }
+    if ("FORCE_COLOR" in env) {
+      if (env.FORCE_COLOR === "true") {
+        forceColor = 1;
+      } else if (env.FORCE_COLOR === "false") {
+        forceColor = 0;
+      } else {
+        forceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env.FORCE_COLOR, 10), 3);
+      }
+    }
+    function translateLevel(level) {
+      if (level === 0) {
+        return false;
+      }
+      return {
+        level,
+        hasBasic: true,
+        has256: level >= 2,
+        has16m: level >= 3
+      };
+    }
+    function supportsColor(haveStream, streamIsTTY) {
+      if (forceColor === 0) {
+        return 0;
+      }
+      if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
+        return 3;
+      }
+      if (hasFlag("color=256")) {
+        return 2;
+      }
+      if (haveStream && !streamIsTTY && forceColor === void 0) {
+        return 0;
+      }
+      const min = forceColor || 0;
+      if (env.TERM === "dumb") {
+        return min;
+      }
+      if (process.platform === "win32") {
+        const osRelease = os2.release().split(".");
+        if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
+          return Number(osRelease[2]) >= 14931 ? 3 : 2;
+        }
+        return 1;
+      }
+      if ("CI" in env) {
+        if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "GITHUB_ACTIONS", "BUILDKITE"].some((sign) => sign in env) || env.CI_NAME === "codeship") {
+          return 1;
+        }
+        return min;
+      }
+      if ("TEAMCITY_VERSION" in env) {
+        return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
+      }
+      if (env.COLORTERM === "truecolor") {
+        return 3;
+      }
+      if ("TERM_PROGRAM" in env) {
+        const version = parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
+        switch (env.TERM_PROGRAM) {
+          case "iTerm.app":
+            return version >= 3 ? 3 : 2;
+          case "Apple_Terminal":
+            return 2;
+        }
+      }
+      if (/-256(color)?$/i.test(env.TERM)) {
+        return 2;
+      }
+      if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
+        return 1;
+      }
+      if ("COLORTERM" in env) {
+        return 1;
+      }
+      return min;
+    }
+    function getSupportLevel(stream) {
+      const level = supportsColor(stream, stream && stream.isTTY);
+      return translateLevel(level);
+    }
+    module2.exports = {
+      supportsColor: getSupportLevel,
+      stdout: translateLevel(supportsColor(true, tty.isatty(1))),
+      stderr: translateLevel(supportsColor(true, tty.isatty(2)))
+    };
+  }
+});
+
+// node_modules/debug/src/node.js
+var require_node = __commonJS({
+  "node_modules/debug/src/node.js"(exports2, module2) {
+    var tty = require("tty");
+    var util = require("util");
+    exports2.init = init;
+    exports2.log = log;
+    exports2.formatArgs = formatArgs;
+    exports2.save = save;
+    exports2.load = load2;
+    exports2.useColors = useColors;
+    exports2.destroy = util.deprecate(
+      () => {
+      },
+      "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."
+    );
+    exports2.colors = [6, 2, 3, 4, 5, 1];
+    try {
+      const supportsColor = require_supports_color();
+      if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {
+        exports2.colors = [
+          20,
+          21,
+          26,
+          27,
+          32,
+          33,
+          38,
+          39,
+          40,
+          41,
+          42,
+          43,
+          44,
+          45,
+          56,
+          57,
+          62,
+          63,
+          68,
+          69,
+          74,
+          75,
+          76,
+          77,
+          78,
+          79,
+          80,
+          81,
+          92,
+          93,
+          98,
+          99,
+          112,
+          113,
+          128,
+          129,
+          134,
+          135,
+          148,
+          149,
+          160,
+          161,
+          162,
+          163,
+          164,
+          165,
+          166,
+          167,
+          168,
+          169,
+          170,
+          171,
+          172,
+          173,
+          178,
+          179,
+          184,
+          185,
+          196,
+          197,
+          198,
+          199,
+          200,
+          201,
+          202,
+          203,
+          204,
+          205,
+          206,
+          207,
+          208,
+          209,
+          214,
+          215,
+          220,
+          221
+        ];
+      }
+    } catch (error3) {
+    }
+    exports2.inspectOpts = Object.keys(process.env).filter((key) => {
+      return /^debug_/i.test(key);
+    }).reduce((obj, key) => {
+      const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_2, k) => {
+        return k.toUpperCase();
+      });
+      let val = process.env[key];
+      if (/^(yes|on|true|enabled)$/i.test(val)) {
+        val = true;
+      } else if (/^(no|off|false|disabled)$/i.test(val)) {
+        val = false;
+      } else if (val === "null") {
+        val = null;
+      } else {
+        val = Number(val);
+      }
+      obj[prop] = val;
+      return obj;
+    }, {});
+    function useColors() {
+      return "colors" in exports2.inspectOpts ? Boolean(exports2.inspectOpts.colors) : tty.isatty(process.stderr.fd);
+    }
+    function formatArgs(args) {
+      const { namespace: name, useColors: useColors2 } = this;
+      if (useColors2) {
+        const c = this.color;
+        const colorCode = "\x1B[3" + (c < 8 ? c : "8;5;" + c);
+        const prefix = `  ${colorCode};1m${name} \x1B[0m`;
+        args[0] = prefix + args[0].split("\n").join("\n" + prefix);
+        args.push(colorCode + "m+" + module2.exports.humanize(this.diff) + "\x1B[0m");
+      } else {
+        args[0] = getDate() + name + " " + args[0];
+      }
+    }
+    function getDate() {
+      if (exports2.inspectOpts.hideDate) {
+        return "";
+      }
+      return (/* @__PURE__ */ new Date()).toISOString() + " ";
+    }
+    function log(...args) {
+      return process.stderr.write(util.formatWithOptions(exports2.inspectOpts, ...args) + "\n");
+    }
+    function save(namespaces) {
+      if (namespaces) {
+        process.env.DEBUG = namespaces;
+      } else {
+        delete process.env.DEBUG;
+      }
+    }
+    function load2() {
+      return process.env.DEBUG;
+    }
+    function init(debug4) {
+      debug4.inspectOpts = {};
+      const keys = Object.keys(exports2.inspectOpts);
+      for (let i = 0; i < keys.length; i++) {
+        debug4.inspectOpts[keys[i]] = exports2.inspectOpts[keys[i]];
+      }
+    }
+    module2.exports = require_common()(exports2);
+    var { formatters } = module2.exports;
+    formatters.o = function(v) {
+      this.inspectOpts.colors = this.useColors;
+      return util.inspect(v, this.inspectOpts).split("\n").map((str2) => str2.trim()).join(" ");
+    };
+    formatters.O = function(v) {
+      this.inspectOpts.colors = this.useColors;
+      return util.inspect(v, this.inspectOpts);
+    };
+  }
+});
+
+// node_modules/debug/src/index.js
+var require_src = __commonJS({
+  "node_modules/debug/src/index.js"(exports2, module2) {
+    if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) {
+      module2.exports = require_browser();
+    } else {
+      module2.exports = require_node();
+    }
+  }
+});
+
+// node_modules/agent-base/dist/helpers.js
+var require_helpers2 = __commonJS({
+  "node_modules/agent-base/dist/helpers.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      }
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.req = exports2.json = exports2.toBuffer = void 0;
+    var http = __importStar2(require("http"));
+    var https2 = __importStar2(require("https"));
+    async function toBuffer(stream) {
+      let length = 0;
+      const chunks = [];
+      for await (const chunk of stream) {
+        length += chunk.length;
+        chunks.push(chunk);
+      }
+      return Buffer.concat(chunks, length);
+    }
+    exports2.toBuffer = toBuffer;
+    async function json2(stream) {
+      const buf = await toBuffer(stream);
+      const str2 = buf.toString("utf8");
+      try {
+        return JSON.parse(str2);
+      } catch (_err) {
+        const err = _err;
+        err.message += ` (input: ${str2})`;
+        throw err;
+      }
+    }
+    exports2.json = json2;
+    function req(url, opts = {}) {
+      const href = typeof url === "string" ? url : url.href;
+      const req2 = (href.startsWith("https:") ? https2 : http).request(url, opts);
+      const promise = new Promise((resolve2, reject) => {
+        req2.once("response", resolve2).once("error", reject).end();
+      });
+      req2.then = promise.then.bind(promise);
+      return req2;
+    }
+    exports2.req = req;
+  }
+});
+
+// node_modules/agent-base/dist/index.js
+var require_dist = __commonJS({
+  "node_modules/agent-base/dist/index.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      }
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
+      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p);
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Agent = void 0;
+    var net = __importStar2(require("net"));
+    var http = __importStar2(require("http"));
+    var https_1 = require("https");
+    __exportStar2(require_helpers2(), exports2);
+    var INTERNAL = /* @__PURE__ */ Symbol("AgentBaseInternalState");
+    var Agent = class extends http.Agent {
+      constructor(opts) {
+        super(opts);
+        this[INTERNAL] = {};
+      }
+      /**
+       * Determine whether this is an `http` or `https` request.
+       */
+      isSecureEndpoint(options) {
+        if (options) {
+          if (typeof options.secureEndpoint === "boolean") {
+            return options.secureEndpoint;
+          }
+          if (typeof options.protocol === "string") {
+            return options.protocol === "https:";
+          }
+        }
+        const { stack } = new Error();
+        if (typeof stack !== "string")
+          return false;
+        return stack.split("\n").some((l) => l.indexOf("(https.js:") !== -1 || l.indexOf("node:https:") !== -1);
+      }
+      // In order to support async signatures in `connect()` and Node's native
+      // connection pooling in `http.Agent`, the array of sockets for each origin
+      // has to be updated synchronously. This is so the length of the array is
+      // accurate when `addRequest()` is next called. We achieve this by creating a
+      // fake socket and adding it to `sockets[origin]` and incrementing
+      // `totalSocketCount`.
+      incrementSockets(name) {
+        if (this.maxSockets === Infinity && this.maxTotalSockets === Infinity) {
+          return null;
+        }
+        if (!this.sockets[name]) {
+          this.sockets[name] = [];
+        }
+        const fakeSocket = new net.Socket({ writable: false });
+        this.sockets[name].push(fakeSocket);
+        this.totalSocketCount++;
+        return fakeSocket;
+      }
+      decrementSockets(name, socket) {
+        if (!this.sockets[name] || socket === null) {
+          return;
+        }
+        const sockets = this.sockets[name];
+        const index = sockets.indexOf(socket);
+        if (index !== -1) {
+          sockets.splice(index, 1);
+          this.totalSocketCount--;
+          if (sockets.length === 0) {
+            delete this.sockets[name];
+          }
+        }
+      }
+      // In order to properly update the socket pool, we need to call `getName()` on
+      // the core `https.Agent` if it is a secureEndpoint.
+      getName(options) {
+        const secureEndpoint = typeof options.secureEndpoint === "boolean" ? options.secureEndpoint : this.isSecureEndpoint(options);
+        if (secureEndpoint) {
+          return https_1.Agent.prototype.getName.call(this, options);
+        }
+        return super.getName(options);
+      }
+      createSocket(req, options, cb) {
+        const connectOpts = {
+          ...options,
+          secureEndpoint: this.isSecureEndpoint(options)
+        };
+        const name = this.getName(connectOpts);
+        const fakeSocket = this.incrementSockets(name);
+        Promise.resolve().then(() => this.connect(req, connectOpts)).then((socket) => {
+          this.decrementSockets(name, fakeSocket);
+          if (socket instanceof http.Agent) {
+            try {
+              return socket.addRequest(req, connectOpts);
+            } catch (err) {
+              return cb(err);
+            }
+          }
+          this[INTERNAL].currentSocket = socket;
+          super.createSocket(req, options, cb);
+        }, (err) => {
+          this.decrementSockets(name, fakeSocket);
+          cb(err);
+        });
+      }
+      createConnection() {
+        const socket = this[INTERNAL].currentSocket;
+        this[INTERNAL].currentSocket = void 0;
+        if (!socket) {
+          throw new Error("No socket was returned in the `connect()` function");
+        }
+        return socket;
+      }
+      get defaultPort() {
+        return this[INTERNAL].defaultPort ?? (this.protocol === "https:" ? 443 : 80);
+      }
+      set defaultPort(v) {
+        if (this[INTERNAL]) {
+          this[INTERNAL].defaultPort = v;
+        }
+      }
+      get protocol() {
+        return this[INTERNAL].protocol ?? (this.isSecureEndpoint() ? "https:" : "http:");
+      }
+      set protocol(v) {
+        if (this[INTERNAL]) {
+          this[INTERNAL].protocol = v;
+        }
+      }
+    };
+    exports2.Agent = Agent;
+  }
+});
+
+// node_modules/https-proxy-agent/dist/parse-proxy-response.js
+var require_parse_proxy_response = __commonJS({
+  "node_modules/https-proxy-agent/dist/parse-proxy-response.js"(exports2) {
+    "use strict";
+    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
+      return mod && mod.__esModule ? mod : { "default": mod };
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.parseProxyResponse = void 0;
+    var debug_1 = __importDefault2(require_src());
+    var debug4 = (0, debug_1.default)("https-proxy-agent:parse-proxy-response");
+    function parseProxyResponse(socket) {
+      return new Promise((resolve2, reject) => {
+        let buffersLength = 0;
+        const buffers = [];
+        function read() {
+          const b = socket.read();
+          if (b)
+            ondata(b);
+          else
+            socket.once("readable", read);
+        }
+        function cleanup() {
+          socket.removeListener("end", onend);
+          socket.removeListener("error", onerror);
+          socket.removeListener("readable", read);
+        }
+        function onend() {
+          cleanup();
+          debug4("onend");
+          reject(new Error("Proxy connection ended before receiving CONNECT response"));
+        }
+        function onerror(err) {
+          cleanup();
+          debug4("onerror %o", err);
+          reject(err);
+        }
+        function ondata(b) {
+          buffers.push(b);
+          buffersLength += b.length;
+          const buffered = Buffer.concat(buffers, buffersLength);
+          const endOfHeaders = buffered.indexOf("\r\n\r\n");
+          if (endOfHeaders === -1) {
+            debug4("have not received end of HTTP headers yet...");
+            read();
+            return;
+          }
+          const headerParts = buffered.slice(0, endOfHeaders).toString("ascii").split("\r\n");
+          const firstLine = headerParts.shift();
+          if (!firstLine) {
+            socket.destroy();
+            return reject(new Error("No header received from proxy CONNECT response"));
+          }
+          const firstLineParts = firstLine.split(" ");
+          const statusCode = +firstLineParts[1];
+          const statusText = firstLineParts.slice(2).join(" ");
+          const headers = {};
+          for (const header of headerParts) {
+            if (!header)
+              continue;
+            const firstColon = header.indexOf(":");
+            if (firstColon === -1) {
+              socket.destroy();
+              return reject(new Error(`Invalid header from proxy CONNECT response: "${header}"`));
+            }
+            const key = header.slice(0, firstColon).toLowerCase();
+            const value = header.slice(firstColon + 1).trimStart();
+            const current = headers[key];
+            if (typeof current === "string") {
+              headers[key] = [current, value];
+            } else if (Array.isArray(current)) {
+              current.push(value);
+            } else {
+              headers[key] = value;
+            }
+          }
+          debug4("got proxy server response: %o %o", firstLine, headers);
+          cleanup();
+          resolve2({
+            connect: {
+              statusCode,
+              statusText,
+              headers
+            },
+            buffered
+          });
+        }
+        socket.on("error", onerror);
+        socket.on("end", onend);
+        read();
+      });
+    }
+    exports2.parseProxyResponse = parseProxyResponse;
+  }
+});
+
+// node_modules/https-proxy-agent/dist/index.js
+var require_dist2 = __commonJS({
+  "node_modules/https-proxy-agent/dist/index.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
       }
+      __setModuleDefault2(result, mod);
+      return result;
     };
-    endpoints_default = Endpoints;
+    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
+      return mod && mod.__esModule ? mod : { "default": mod };
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.HttpsProxyAgent = void 0;
+    var net = __importStar2(require("net"));
+    var tls = __importStar2(require("tls"));
+    var assert_1 = __importDefault2(require("assert"));
+    var debug_1 = __importDefault2(require_src());
+    var agent_base_1 = require_dist();
+    var url_1 = require("url");
+    var parse_proxy_response_1 = require_parse_proxy_response();
+    var debug4 = (0, debug_1.default)("https-proxy-agent");
+    var setServernameFromNonIpHost = (options) => {
+      if (options.servername === void 0 && options.host && !net.isIP(options.host)) {
+        return {
+          ...options,
+          servername: options.host
+        };
+      }
+      return options;
+    };
+    var HttpsProxyAgent = class extends agent_base_1.Agent {
+      constructor(proxy, opts) {
+        super(opts);
+        this.options = { path: void 0 };
+        this.proxy = typeof proxy === "string" ? new url_1.URL(proxy) : proxy;
+        this.proxyHeaders = opts?.headers ?? {};
+        debug4("Creating new HttpsProxyAgent instance: %o", this.proxy.href);
+        const host = (this.proxy.hostname || this.proxy.host).replace(/^\[|\]$/g, "");
+        const port = this.proxy.port ? parseInt(this.proxy.port, 10) : this.proxy.protocol === "https:" ? 443 : 80;
+        this.connectOpts = {
+          // Attempt to negotiate http/1.1 for proxy servers that support http/2
+          ALPNProtocols: ["http/1.1"],
+          ...opts ? omit2(opts, "headers") : null,
+          host,
+          port
+        };
+      }
+      /**
+       * Called when the node-core HTTP client library is creating a
+       * new HTTP request.
+       */
+      async connect(req, opts) {
+        const { proxy } = this;
+        if (!opts.host) {
+          throw new TypeError('No "host" provided');
+        }
+        let socket;
+        if (proxy.protocol === "https:") {
+          debug4("Creating `tls.Socket`: %o", this.connectOpts);
+          socket = tls.connect(setServernameFromNonIpHost(this.connectOpts));
+        } else {
+          debug4("Creating `net.Socket`: %o", this.connectOpts);
+          socket = net.connect(this.connectOpts);
+        }
+        const headers = typeof this.proxyHeaders === "function" ? this.proxyHeaders() : { ...this.proxyHeaders };
+        const host = net.isIPv6(opts.host) ? `[${opts.host}]` : opts.host;
+        let payload = `CONNECT ${host}:${opts.port} HTTP/1.1\r
+`;
+        if (proxy.username || proxy.password) {
+          const auth2 = `${decodeURIComponent(proxy.username)}:${decodeURIComponent(proxy.password)}`;
+          headers["Proxy-Authorization"] = `Basic ${Buffer.from(auth2).toString("base64")}`;
+        }
+        headers.Host = `${host}:${opts.port}`;
+        if (!headers["Proxy-Connection"]) {
+          headers["Proxy-Connection"] = this.keepAlive ? "Keep-Alive" : "close";
+        }
+        for (const name of Object.keys(headers)) {
+          payload += `${name}: ${headers[name]}\r
+`;
+        }
+        const proxyResponsePromise = (0, parse_proxy_response_1.parseProxyResponse)(socket);
+        socket.write(`${payload}\r
+`);
+        const { connect, buffered } = await proxyResponsePromise;
+        req.emit("proxyConnect", connect);
+        this.emit("proxyConnect", connect, req);
+        if (connect.statusCode === 200) {
+          req.once("socket", resume);
+          if (opts.secureEndpoint) {
+            debug4("Upgrading socket connection to TLS");
+            return tls.connect({
+              ...omit2(setServernameFromNonIpHost(opts), "host", "path", "port"),
+              socket
+            });
+          }
+          return socket;
+        }
+        socket.destroy();
+        const fakeSocket = new net.Socket({ writable: false });
+        fakeSocket.readable = true;
+        req.once("socket", (s) => {
+          debug4("Replaying proxy buffer for failed request");
+          (0, assert_1.default)(s.listenerCount("data") > 0);
+          s.push(buffered);
+          s.push(null);
+        });
+        return fakeSocket;
+      }
+    };
+    HttpsProxyAgent.protocols = ["http", "https"];
+    exports2.HttpsProxyAgent = HttpsProxyAgent;
+    function resume(socket) {
+      socket.resume();
+    }
+    function omit2(obj, ...keys) {
+      const ret = {};
+      let key;
+      for (key in obj) {
+        if (!keys.includes(key)) {
+          ret[key] = obj[key];
+        }
+      }
+      return ret;
+    }
   }
 });
 
-// node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js
-function endpointsToMethods(octokit) {
-  const newMethods = {};
-  for (const scope of endpointMethodsMap.keys()) {
-    newMethods[scope] = new Proxy({ octokit, scope, cache: {} }, handler);
-  }
-  return newMethods;
-}
-function decorate(octokit, scope, methodName, defaults, decorations) {
-  const requestWithDefaults = octokit.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);
+// node_modules/http-proxy-agent/dist/index.js
+var require_dist3 = __commonJS({
+  "node_modules/http-proxy-agent/dist/index.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      }
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
+      return mod && mod.__esModule ? mod : { "default": mod };
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.HttpProxyAgent = void 0;
+    var net = __importStar2(require("net"));
+    var tls = __importStar2(require("tls"));
+    var debug_1 = __importDefault2(require_src());
+    var events_1 = require("events");
+    var agent_base_1 = require_dist();
+    var url_1 = require("url");
+    var debug4 = (0, debug_1.default)("http-proxy-agent");
+    var HttpProxyAgent = class extends agent_base_1.Agent {
+      constructor(proxy, opts) {
+        super(opts);
+        this.proxy = typeof proxy === "string" ? new url_1.URL(proxy) : proxy;
+        this.proxyHeaders = opts?.headers ?? {};
+        debug4("Creating new HttpProxyAgent instance: %o", this.proxy.href);
+        const host = (this.proxy.hostname || this.proxy.host).replace(/^\[|\]$/g, "");
+        const port = this.proxy.port ? parseInt(this.proxy.port, 10) : this.proxy.protocol === "https:" ? 443 : 80;
+        this.connectOpts = {
+          ...opts ? omit2(opts, "headers") : null,
+          host,
+          port
+        };
+      }
+      addRequest(req, opts) {
+        req._header = null;
+        this.setRequestProps(req, opts);
+        super.addRequest(req, opts);
+      }
+      setRequestProps(req, opts) {
+        const { proxy } = this;
+        const protocol = opts.secureEndpoint ? "https:" : "http:";
+        const hostname = req.getHeader("host") || "localhost";
+        const base = `${protocol}//${hostname}`;
+        const url = new url_1.URL(req.path, base);
+        if (opts.port !== 80) {
+          url.port = String(opts.port);
+        }
+        req.path = String(url);
+        const headers = typeof this.proxyHeaders === "function" ? this.proxyHeaders() : { ...this.proxyHeaders };
+        if (proxy.username || proxy.password) {
+          const auth2 = `${decodeURIComponent(proxy.username)}:${decodeURIComponent(proxy.password)}`;
+          headers["Proxy-Authorization"] = `Basic ${Buffer.from(auth2).toString("base64")}`;
+        }
+        if (!headers["Proxy-Connection"]) {
+          headers["Proxy-Connection"] = this.keepAlive ? "Keep-Alive" : "close";
+        }
+        for (const name of Object.keys(headers)) {
+          const value = headers[name];
+          if (value) {
+            req.setHeader(name, value);
+          }
+        }
+      }
+      async connect(req, opts) {
+        req._header = null;
+        if (!req.path.includes("://")) {
+          this.setRequestProps(req, opts);
+        }
+        let first;
+        let endOfHeaders;
+        debug4("Regenerating stored HTTP header string for request");
+        req._implicitHeader();
+        if (req.outputData && req.outputData.length > 0) {
+          debug4("Patching connection write() output buffer with updated header");
+          first = req.outputData[0].data;
+          endOfHeaders = first.indexOf("\r\n\r\n") + 4;
+          req.outputData[0].data = req._header + first.substring(endOfHeaders);
+          debug4("Output buffer: %o", req.outputData[0].data);
+        }
+        let socket;
+        if (this.proxy.protocol === "https:") {
+          debug4("Creating `tls.Socket`: %o", this.connectOpts);
+          socket = tls.connect(this.connectOpts);
+        } else {
+          debug4("Creating `net.Socket`: %o", this.connectOpts);
+          socket = net.connect(this.connectOpts);
+        }
+        await (0, events_1.once)(socket, "connect");
+        return socket;
+      }
+    };
+    HttpProxyAgent.protocols = ["http", "https"];
+    exports2.HttpProxyAgent = HttpProxyAgent;
+    function omit2(obj, ...keys) {
+      const ret = {};
+      let key;
+      for (key in obj) {
+        if (!keys.includes(key)) {
+          ret[key] = obj[key];
+        }
+      }
+      return ret;
     }
-    if (decorations.renamed) {
-      const [newScope, newMethodName] = decorations.renamed;
-      octokit.log.warn(
-        `octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`
-      );
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/proxyPolicy.js
+var require_proxyPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/proxyPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.globalNoProxyList = exports2.proxyPolicyName = void 0;
+    exports2.loadNoProxy = loadNoProxy;
+    exports2.getDefaultProxySettings = getDefaultProxySettings;
+    exports2.proxyPolicy = proxyPolicy;
+    var https_proxy_agent_1 = require_dist2();
+    var http_proxy_agent_1 = require_dist3();
+    var log_js_1 = require_log2();
+    var HTTPS_PROXY = "HTTPS_PROXY";
+    var HTTP_PROXY = "HTTP_PROXY";
+    var ALL_PROXY = "ALL_PROXY";
+    var NO_PROXY = "NO_PROXY";
+    exports2.proxyPolicyName = "proxyPolicy";
+    exports2.globalNoProxyList = [];
+    var noProxyListLoaded = false;
+    var globalBypassedMap = /* @__PURE__ */ new Map();
+    function getEnvironmentValue(name) {
+      if (process.env[name]) {
+        return process.env[name];
+      } else if (process.env[name.toLowerCase()]) {
+        return process.env[name.toLowerCase()];
+      }
+      return void 0;
     }
-    if (decorations.deprecated) {
-      octokit.log.warn(decorations.deprecated);
+    function loadEnvironmentProxyValue() {
+      if (!process) {
+        return void 0;
+      }
+      const httpsProxy = getEnvironmentValue(HTTPS_PROXY);
+      const allProxy = getEnvironmentValue(ALL_PROXY);
+      const httpProxy = getEnvironmentValue(HTTP_PROXY);
+      return httpsProxy || allProxy || httpProxy;
     }
-    if (decorations.renamedParameters) {
-      const options2 = requestWithDefaults.endpoint.merge(...args);
-      for (const [name, alias] of Object.entries(
-        decorations.renamedParameters
-      )) {
-        if (name in options2) {
-          octokit.log.warn(
-            `"${name}" parameter is deprecated for "octokit.${scope}.${methodName}()". Use "${alias}" instead`
-          );
-          if (!(alias in options2)) {
-            options2[alias] = options2[name];
+    function isBypassed(uri, noProxyList, bypassedMap) {
+      if (noProxyList.length === 0) {
+        return false;
+      }
+      const host = new URL(uri).hostname;
+      if (bypassedMap?.has(host)) {
+        return bypassedMap.get(host);
+      }
+      let isBypassedFlag = false;
+      for (const pattern of noProxyList) {
+        if (pattern[0] === ".") {
+          if (host.endsWith(pattern)) {
+            isBypassedFlag = true;
+          } else {
+            if (host.length === pattern.length - 1 && host === pattern.slice(1)) {
+              isBypassedFlag = true;
+            }
+          }
+        } else {
+          if (host === pattern) {
+            isBypassedFlag = true;
           }
-          delete options2[name];
         }
       }
-      return requestWithDefaults(options2);
+      bypassedMap?.set(host, isBypassedFlag);
+      return isBypassedFlag;
     }
-    return requestWithDefaults(...args);
-  }
-  return Object.assign(withDecorations, requestWithDefaults);
-}
-var endpointMethodsMap, handler;
-var init_endpoints_to_methods = __esm({
-  "node_modules/@actions/github/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());
-        }
-        endpointMethodsMap.get(scope).set(methodName, {
-          scope,
-          methodName,
-          endpointDefaults,
-          decorations
-        });
+    function loadNoProxy() {
+      const noProxy = getEnvironmentValue(NO_PROXY);
+      noProxyListLoaded = true;
+      if (noProxy) {
+        return noProxy.split(",").map((item) => item.trim()).filter((item) => item.length);
       }
+      return [];
     }
-    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, scope, cache }, methodName) {
-        if (cache[methodName]) {
-          return cache[methodName];
-        }
-        const method = endpointMethodsMap.get(scope).get(methodName);
-        if (!method) {
+    function getDefaultProxySettings(proxyUrl) {
+      if (!proxyUrl) {
+        proxyUrl = loadEnvironmentProxyValue();
+        if (!proxyUrl) {
           return void 0;
         }
-        const { endpointDefaults, decorations } = method;
-        if (decorations) {
-          cache[methodName] = decorate(
-            octokit,
-            scope,
-            methodName,
-            endpointDefaults,
-            decorations
-          );
-        } else {
-          cache[methodName] = octokit.request.defaults(endpointDefaults);
+      }
+      const parsedUrl = new URL(proxyUrl);
+      const schema2 = parsedUrl.protocol ? parsedUrl.protocol + "//" : "";
+      return {
+        host: schema2 + parsedUrl.hostname,
+        port: Number.parseInt(parsedUrl.port || "80"),
+        username: parsedUrl.username,
+        password: parsedUrl.password
+      };
+    }
+    function getDefaultProxySettingsInternal() {
+      const envProxy = loadEnvironmentProxyValue();
+      return envProxy ? new URL(envProxy) : void 0;
+    }
+    function getUrlFromProxySettings(settings) {
+      let parsedProxyUrl;
+      try {
+        parsedProxyUrl = new URL(settings.host);
+      } catch {
+        throw new Error(`Expecting a valid host string in proxy settings, but found "${settings.host}".`);
+      }
+      parsedProxyUrl.port = String(settings.port);
+      if (settings.username) {
+        parsedProxyUrl.username = settings.username;
+      }
+      if (settings.password) {
+        parsedProxyUrl.password = settings.password;
+      }
+      return parsedProxyUrl;
+    }
+    function setProxyAgentOnRequest(request2, cachedAgents, proxyUrl) {
+      if (request2.agent) {
+        return;
+      }
+      const url = new URL(request2.url);
+      const isInsecure = url.protocol !== "https:";
+      if (request2.tlsSettings) {
+        log_js_1.logger.warning("TLS settings are not supported in combination with custom Proxy, certificates provided to the client will be ignored.");
+      }
+      const headers = request2.headers.toJSON();
+      if (isInsecure) {
+        if (!cachedAgents.httpProxyAgent) {
+          cachedAgents.httpProxyAgent = new http_proxy_agent_1.HttpProxyAgent(proxyUrl, { headers });
         }
-        return cache[methodName];
+        request2.agent = cachedAgents.httpProxyAgent;
+      } else {
+        if (!cachedAgents.httpsProxyAgent) {
+          cachedAgents.httpsProxyAgent = new https_proxy_agent_1.HttpsProxyAgent(proxyUrl, { headers });
+        }
+        request2.agent = cachedAgents.httpsProxyAgent;
       }
-    };
+    }
+    function proxyPolicy(proxySettings, options) {
+      if (!noProxyListLoaded) {
+        exports2.globalNoProxyList.push(...loadNoProxy());
+      }
+      const defaultProxy = proxySettings ? getUrlFromProxySettings(proxySettings) : getDefaultProxySettingsInternal();
+      const cachedAgents = {};
+      return {
+        name: exports2.proxyPolicyName,
+        async sendRequest(request2, next) {
+          if (!request2.proxySettings && defaultProxy && !isBypassed(request2.url, options?.customNoProxyList ?? exports2.globalNoProxyList, options?.customNoProxyList ? void 0 : globalBypassedMap)) {
+            setProxyAgentOnRequest(request2, cachedAgents, defaultProxy);
+          } else if (request2.proxySettings) {
+            setProxyAgentOnRequest(request2, cachedAgents, getUrlFromProxySettings(request2.proxySettings));
+          }
+          return next(request2);
+        }
+      };
+    }
   }
 });
 
-// node_modules/@actions/github/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(octokit) {
-  const api = endpointsToMethods(octokit);
-  return {
-    rest: api
-  };
-}
-function legacyRestEndpointMethods(octokit) {
-  const api = endpointsToMethods(octokit);
-  return {
-    ...api,
-    rest: api
-  };
-}
-var init_dist_src3 = __esm({
-  "node_modules/@actions/github/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/@typespec/ts-http-runtime/dist/commonjs/policies/agentPolicy.js
+var require_agentPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/agentPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.agentPolicyName = void 0;
+    exports2.agentPolicy = agentPolicy;
+    exports2.agentPolicyName = "agentPolicy";
+    function agentPolicy(agent) {
+      return {
+        name: exports2.agentPolicyName,
+        sendRequest: async (req, next) => {
+          if (!req.agent) {
+            req.agent = agent;
+          }
+          return next(req);
+        }
+      };
+    }
   }
 });
 
-// node_modules/@actions/github/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(octokit, route, parameters) {
-  const options = typeof route === "function" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters);
-  const requestMethod = typeof route === "function" ? route : octokit.request;
-  const method = options.method;
-  const headers = options.headers;
-  let url = options.url;
-  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();
-            }
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/tlsPolicy.js
+var require_tlsPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/tlsPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.tlsPolicyName = void 0;
+    exports2.tlsPolicy = tlsPolicy;
+    exports2.tlsPolicyName = "tlsPolicy";
+    function tlsPolicy(tlsSettings) {
+      return {
+        name: exports2.tlsPolicyName,
+        sendRequest: async (req, next) => {
+          if (!req.tlsSettings) {
+            req.tlsSettings = tlsSettings;
           }
-          return { value: normalizedResponse };
-        } catch (error3) {
-          if (error3.status !== 409) throw error3;
-          url = "";
-          return {
-            value: {
-              status: 200,
-              headers: {},
-              data: []
-            }
-          };
+          return next(req);
         }
-      }
-    })
-  };
-}
-function paginate(octokit, route, parameters, mapFn) {
-  if (typeof parameters === "function") {
-    mapFn = parameters;
-    parameters = void 0;
+      };
+    }
   }
-  return gather(
-    octokit,
-    [],
-    iterator(octokit, route, parameters)[Symbol.asyncIterator](),
-    mapFn
-  );
-}
-function gather(octokit, results, iterator2, mapFn) {
-  return iterator2.next().then((result) => {
-    if (result.done) {
-      return results;
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/typeGuards.js
+var require_typeGuards = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/typeGuards.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isNodeReadableStream = isNodeReadableStream;
+    exports2.isWebReadableStream = isWebReadableStream;
+    exports2.isBinaryBody = isBinaryBody;
+    exports2.isReadableStream = isReadableStream;
+    exports2.isBlob = isBlob;
+    function isNodeReadableStream(x) {
+      return Boolean(x && typeof x["pipe"] === "function");
     }
-    let earlyExit = false;
-    function done() {
-      earlyExit = true;
+    function isWebReadableStream(x) {
+      return Boolean(x && typeof x.getReader === "function" && typeof x.tee === "function");
     }
-    results = results.concat(
-      mapFn ? mapFn(result.value, done) : result.value.data
-    );
-    if (earlyExit) {
-      return results;
+    function isBinaryBody(body) {
+      return body !== void 0 && (body instanceof Uint8Array || isReadableStream(body) || typeof body === "function" || body instanceof Blob);
+    }
+    function isReadableStream(x) {
+      return isNodeReadableStream(x) || isWebReadableStream(x);
+    }
+    function isBlob(x) {
+      return typeof x.stream === "function";
     }
-    return gather(octokit, results, iterator2, mapFn);
-  });
-}
-function isPaginatingEndpoint(arg) {
-  if (typeof arg === "string") {
-    return paginatingEndpoints.includes(arg);
-  } else {
-    return false;
-  }
-}
-function paginateRest(octokit) {
-  return {
-    paginate: Object.assign(paginate.bind(null, octokit), {
-      iterator: iterator.bind(null, octokit)
-    })
-  };
-}
-var VERSION6, composePaginateRest, paginatingEndpoints;
-var init_dist_bundle5 = __esm({
-  "node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-bundle/index.js"() {
-    VERSION6 = "0.0.0-development";
-    composePaginateRest = Object.assign(paginate, {
-      iterator
-    });
-    paginatingEndpoints = [
-      "GET /advisories",
-      "GET /app/hook/deliveries",
-      "GET /app/installation-requests",
-      "GET /app/installations",
-      "GET /assignments/{assignment_id}/accepted_assignments",
-      "GET /classrooms",
-      "GET /classrooms/{classroom_id}/assignments",
-      "GET /enterprises/{enterprise}/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",
-      "GET /gists/starred",
-      "GET /gists/{gist_id}/comments",
-      "GET /gists/{gist_id}/commits",
-      "GET /gists/{gist_id}/forks",
-      "GET /installation/repositories",
-      "GET /issues",
-      "GET /licenses",
-      "GET /marketplace_listing/plans",
-      "GET /marketplace_listing/plans/{plan_id}/accounts",
-      "GET /marketplace_listing/stubbed/plans",
-      "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts",
-      "GET /networks/{owner}/{repo}/events",
-      "GET /notifications",
-      "GET /organizations",
-      "GET /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}/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}/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}/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}/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",
-      "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions",
-      "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions",
-      "GET /orgs/{org}/teams/{team_slug}/invitations",
-      "GET /orgs/{org}/teams/{team_slug}/members",
-      "GET /orgs/{org}/teams/{team_slug}/projects",
-      "GET /orgs/{org}/teams/{team_slug}/repos",
-      "GET /orgs/{org}/teams/{team_slug}/teams",
-      "GET /projects/{project_id}/collaborators",
-      "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",
-      "GET /repos/{owner}/{repo}/code-scanning/alerts",
-      "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances",
-      "GET /repos/{owner}/{repo}/code-scanning/analyses",
-      "GET /repos/{owner}/{repo}/codespaces",
-      "GET /repos/{owner}/{repo}/codespaces/devcontainers",
-      "GET /repos/{owner}/{repo}/codespaces/secrets",
-      "GET /repos/{owner}/{repo}/collaborators",
-      "GET /repos/{owner}/{repo}/comments",
-      "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions",
-      "GET /repos/{owner}/{repo}/commits",
-      "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments",
-      "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls",
-      "GET /repos/{owner}/{repo}/commits/{ref}/check-runs",
-      "GET /repos/{owner}/{repo}/commits/{ref}/check-suites",
-      "GET /repos/{owner}/{repo}/commits/{ref}/status",
-      "GET /repos/{owner}/{repo}/commits/{ref}/statuses",
-      "GET /repos/{owner}/{repo}/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}/hooks",
-      "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries",
-      "GET /repos/{owner}/{repo}/invitations",
-      "GET /repos/{owner}/{repo}/issues",
-      "GET /repos/{owner}/{repo}/issues/comments",
-      "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions",
-      "GET /repos/{owner}/{repo}/issues/events",
-      "GET /repos/{owner}/{repo}/issues/{issue_number}/comments",
-      "GET /repos/{owner}/{repo}/issues/{issue_number}/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",
-      "GET /repos/{owner}/{repo}/milestones",
-      "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels",
-      "GET /repos/{owner}/{repo}/notifications",
-      "GET /repos/{owner}/{repo}/pages/builds",
-      "GET /repos/{owner}/{repo}/projects",
-      "GET /repos/{owner}/{repo}/pulls",
-      "GET /repos/{owner}/{repo}/pulls/comments",
-      "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions",
-      "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments",
-      "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits",
-      "GET /repos/{owner}/{repo}/pulls/{pull_number}/files",
-      "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews",
-      "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments",
-      "GET /repos/{owner}/{repo}/releases",
-      "GET /repos/{owner}/{repo}/releases/{release_id}/assets",
-      "GET /repos/{owner}/{repo}/releases/{release_id}/reactions",
-      "GET /repos/{owner}/{repo}/rules/branches/{branch}",
-      "GET /repos/{owner}/{repo}/rulesets",
-      "GET /repos/{owner}/{repo}/rulesets/rule-suites",
-      "GET /repos/{owner}/{repo}/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 /search/code",
-      "GET /search/commits",
-      "GET /search/issues",
-      "GET /search/labels",
-      "GET /search/repositories",
-      "GET /search/topics",
-      "GET /search/users",
-      "GET /teams/{team_id}/discussions",
-      "GET /teams/{team_id}/discussions/{discussion_number}/comments",
-      "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions",
-      "GET /teams/{team_id}/discussions/{discussion_number}/reactions",
-      "GET /teams/{team_id}/invitations",
-      "GET /teams/{team_id}/members",
-      "GET /teams/{team_id}/projects",
-      "GET /teams/{team_id}/repos",
-      "GET /teams/{team_id}/teams",
-      "GET /user/blocks",
-      "GET /user/codespaces",
-      "GET /user/codespaces/secrets",
-      "GET /user/emails",
-      "GET /user/followers",
-      "GET /user/following",
-      "GET /user/gpg_keys",
-      "GET /user/installations",
-      "GET /user/installations/{installation_id}/repositories",
-      "GET /user/issues",
-      "GET /user/keys",
-      "GET /user/marketplace_purchases",
-      "GET /user/marketplace_purchases/stubbed",
-      "GET /user/memberships/orgs",
-      "GET /user/migrations",
-      "GET /user/migrations/{migration_id}/repositories",
-      "GET /user/orgs",
-      "GET /user/packages",
-      "GET /user/packages/{package_type}/{package_name}/versions",
-      "GET /user/public_emails",
-      "GET /user/repos",
-      "GET /user/repository_invitations",
-      "GET /user/social_accounts",
-      "GET /user/ssh_signing_keys",
-      "GET /user/starred",
-      "GET /user/subscriptions",
-      "GET /user/teams",
-      "GET /users",
-      "GET /users/{username}/attestations/{subject_digest}",
-      "GET /users/{username}/events",
-      "GET /users/{username}/events/orgs/{org}",
-      "GET /users/{username}/events/public",
-      "GET /users/{username}/followers",
-      "GET /users/{username}/following",
-      "GET /users/{username}/gists",
-      "GET /users/{username}/gpg_keys",
-      "GET /users/{username}/keys",
-      "GET /users/{username}/orgs",
-      "GET /users/{username}/packages",
-      "GET /users/{username}/projects",
-      "GET /users/{username}/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"
-    ];
-    paginateRest.VERSION = VERSION6;
   }
 });
 
-// node_modules/@actions/github/lib/utils.js
-var require_utils5 = __commonJS({
-  "node_modules/@actions/github/lib/utils.js"(exports2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/concat.js
+var require_concat = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/concat.js"(exports2) {
     "use strict";
-    var __createBinding2 = 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(exports2, "__esModule", { value: true });
+    exports2.concat = concat;
+    var stream_1 = require("stream");
+    var typeGuards_js_1 = require_typeGuards();
+    async function* streamAsyncIterator() {
+      const reader = this.getReader();
+      try {
+        while (true) {
+          const { done, value } = await reader.read();
+          if (done) {
+            return;
+          }
+          yield value;
+        }
+      } finally {
+        reader.releaseLock();
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = 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 ownKeys2(o);
+    }
+    function makeAsyncIterable(webStream) {
+      if (!webStream[Symbol.asyncIterator]) {
+        webStream[Symbol.asyncIterator] = streamAsyncIterator.bind(webStream);
+      }
+      if (!webStream.values) {
+        webStream.values = streamAsyncIterator.bind(webStream);
+      }
+    }
+    function ensureNodeStream(stream) {
+      if (stream instanceof ReadableStream) {
+        makeAsyncIterable(stream);
+        return stream_1.Readable.fromWeb(stream);
+      } else {
+        return stream;
+      }
+    }
+    function toStream(source) {
+      if (source instanceof Uint8Array) {
+        return stream_1.Readable.from(Buffer.from(source));
+      } else if ((0, typeGuards_js_1.isBlob)(source)) {
+        return ensureNodeStream(source.stream());
+      } else {
+        return ensureNodeStream(source);
+      }
+    }
+    async function concat(sources) {
+      return function() {
+        const streams = sources.map((x) => typeof x === "function" ? x() : x).map(toStream);
+        return stream_1.Readable.from((async function* () {
+          for (const stream of streams) {
+            for await (const chunk of stream) {
+              yield chunk;
+            }
+          }
+        })());
       };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/multipartPolicy.js
+var require_multipartPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/multipartPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.multipartPolicyName = void 0;
+    exports2.multipartPolicy = multipartPolicy;
+    var bytesEncoding_js_1 = require_bytesEncoding();
+    var typeGuards_js_1 = require_typeGuards();
+    var uuidUtils_js_1 = require_uuidUtils();
+    var concat_js_1 = require_concat();
+    function generateBoundary() {
+      return `----AzSDKFormBoundary${(0, uuidUtils_js_1.randomUUID)()}`;
+    }
+    function encodeHeaders(headers) {
+      let result = "";
+      for (const [key, value] of headers) {
+        result += `${key}: ${value}\r
+`;
+      }
+      return result;
+    }
+    function getLength(source) {
+      if (source instanceof Uint8Array) {
+        return source.byteLength;
+      } else if ((0, typeGuards_js_1.isBlob)(source)) {
+        return source.size === -1 ? void 0 : source.size;
+      } else {
+        return void 0;
+      }
+    }
+    function getTotalLength(sources) {
+      let total = 0;
+      for (const source of sources) {
+        const partLength = getLength(source);
+        if (partLength === void 0) {
+          return void 0;
+        } else {
+          total += partLength;
+        }
+      }
+      return total;
+    }
+    async function buildRequestBody(request2, parts, boundary) {
+      const sources = [
+        (0, bytesEncoding_js_1.stringToUint8Array)(`--${boundary}`, "utf-8"),
+        ...parts.flatMap((part) => [
+          (0, bytesEncoding_js_1.stringToUint8Array)("\r\n", "utf-8"),
+          (0, bytesEncoding_js_1.stringToUint8Array)(encodeHeaders(part.headers), "utf-8"),
+          (0, bytesEncoding_js_1.stringToUint8Array)("\r\n", "utf-8"),
+          part.body,
+          (0, bytesEncoding_js_1.stringToUint8Array)(`\r
+--${boundary}`, "utf-8")
+        ]),
+        (0, bytesEncoding_js_1.stringToUint8Array)("--\r\n\r\n", "utf-8")
+      ];
+      const contentLength = getTotalLength(sources);
+      if (contentLength) {
+        request2.headers.set("Content-Length", contentLength);
+      }
+      request2.body = await (0, concat_js_1.concat)(sources);
+    }
+    exports2.multipartPolicyName = "multipartPolicy";
+    var maxBoundaryLength = 70;
+    var validBoundaryCharacters = new Set(`abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'()+,-./:=?`);
+    function assertValidBoundary(boundary) {
+      if (boundary.length > maxBoundaryLength) {
+        throw new Error(`Multipart boundary "${boundary}" exceeds maximum length of 70 characters`);
+      }
+      if (Array.from(boundary).some((x) => !validBoundaryCharacters.has(x))) {
+        throw new Error(`Multipart boundary "${boundary}" contains invalid characters`);
+      }
+    }
+    function multipartPolicy() {
+      return {
+        name: exports2.multipartPolicyName,
+        async sendRequest(request2, next) {
+          if (!request2.multipartBody) {
+            return next(request2);
+          }
+          if (request2.body) {
+            throw new Error("multipartBody and regular body cannot be set at the same time");
+          }
+          let boundary = request2.multipartBody.boundary;
+          const contentTypeHeader = request2.headers.get("Content-Type") ?? "multipart/mixed";
+          const parsedHeader = contentTypeHeader.match(/^(multipart\/[^ ;]+)(?:; *boundary=(.+))?$/);
+          if (!parsedHeader) {
+            throw new Error(`Got multipart request body, but content-type header was not multipart: ${contentTypeHeader}`);
+          }
+          const [, contentType, parsedBoundary] = parsedHeader;
+          if (parsedBoundary && boundary && parsedBoundary !== boundary) {
+            throw new Error(`Multipart boundary was specified as ${parsedBoundary} in the header, but got ${boundary} in the request body`);
+          }
+          boundary ??= parsedBoundary;
+          if (boundary) {
+            assertValidBoundary(boundary);
+          } else {
+            boundary = generateBoundary();
+          }
+          request2.headers.set("Content-Type", `${contentType}; boundary=${boundary}`);
+          await buildRequestBody(request2, request2.multipartBody.parts, boundary);
+          request2.multipartBody = void 0;
+          return next(request2);
         }
-        __setModuleDefault2(result, mod);
-        return result;
       };
-    })();
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/createPipelineFromOptions.js
+var require_createPipelineFromOptions = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/createPipelineFromOptions.js"(exports2) {
+    "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.GitHub = exports2.defaults = exports2.context = void 0;
-    exports2.getOctokitOptions = getOctokitOptions2;
-    var Context = __importStar2(require_context());
-    var Utils = __importStar2(require_utils4());
-    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),
-        fetch: Utils.getProxyFetch(baseUrl)
+    exports2.createPipelineFromOptions = createPipelineFromOptions;
+    var logPolicy_js_1 = require_logPolicy();
+    var pipeline_js_1 = require_pipeline();
+    var redirectPolicy_js_1 = require_redirectPolicy();
+    var userAgentPolicy_js_1 = require_userAgentPolicy();
+    var decompressResponsePolicy_js_1 = require_decompressResponsePolicy();
+    var defaultRetryPolicy_js_1 = require_defaultRetryPolicy();
+    var formDataPolicy_js_1 = require_formDataPolicy();
+    var checkEnvironment_js_1 = require_checkEnvironment();
+    var proxyPolicy_js_1 = require_proxyPolicy();
+    var agentPolicy_js_1 = require_agentPolicy();
+    var tlsPolicy_js_1 = require_tlsPolicy();
+    var multipartPolicy_js_1 = require_multipartPolicy();
+    function createPipelineFromOptions(options) {
+      const pipeline = (0, pipeline_js_1.createEmptyPipeline)();
+      if (checkEnvironment_js_1.isNodeLike) {
+        if (options.agent) {
+          pipeline.addPolicy((0, agentPolicy_js_1.agentPolicy)(options.agent));
+        }
+        if (options.tlsOptions) {
+          pipeline.addPolicy((0, tlsPolicy_js_1.tlsPolicy)(options.tlsOptions));
+        }
+        pipeline.addPolicy((0, proxyPolicy_js_1.proxyPolicy)(options.proxyOptions));
+        pipeline.addPolicy((0, decompressResponsePolicy_js_1.decompressResponsePolicy)());
       }
-    };
-    exports2.GitHub = core_1.Octokit.plugin(plugin_rest_endpoint_methods_1.restEndpointMethods, plugin_paginate_rest_1.paginateRest).defaults(exports2.defaults);
-    function getOctokitOptions2(token, options) {
-      const opts = Object.assign({}, options || {});
-      const auth2 = Utils.getAuthString(token, opts);
-      if (auth2) {
-        opts.auth = auth2;
+      pipeline.addPolicy((0, formDataPolicy_js_1.formDataPolicy)(), { beforePolicies: [multipartPolicy_js_1.multipartPolicyName] });
+      pipeline.addPolicy((0, userAgentPolicy_js_1.userAgentPolicy)(options.userAgentOptions));
+      pipeline.addPolicy((0, multipartPolicy_js_1.multipartPolicy)(), { afterPhase: "Deserialize" });
+      pipeline.addPolicy((0, defaultRetryPolicy_js_1.defaultRetryPolicy)(options.retryOptions), { phase: "Retry" });
+      if (checkEnvironment_js_1.isNodeLike) {
+        pipeline.addPolicy((0, redirectPolicy_js_1.redirectPolicy)(options.redirectOptions), { afterPhase: "Retry" });
       }
-      return opts;
+      pipeline.addPolicy((0, logPolicy_js_1.logPolicy)(options.loggingOptions), { afterPhase: "Sign" });
+      return pipeline;
     }
   }
 });
 
-// node_modules/@actions/github/lib/github.js
-var require_github = __commonJS({
-  "node_modules/@actions/github/lib/github.js"(exports2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/apiVersionPolicy.js
+var require_apiVersionPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/apiVersionPolicy.js"(exports2) {
     "use strict";
-    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = 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 ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.apiVersionPolicyName = void 0;
+    exports2.apiVersionPolicy = apiVersionPolicy;
+    exports2.apiVersionPolicyName = "ApiVersionPolicy";
+    function apiVersionPolicy(options) {
+      return {
+        name: exports2.apiVersionPolicyName,
+        sendRequest: (req, next) => {
+          const url = new URL(req.url);
+          if (!url.searchParams.get("api-version") && options.apiVersion) {
+            req.url = `${req.url}${Array.from(url.searchParams.keys()).length > 0 ? "&" : "?"}api-version=${options.apiVersion}`;
+          }
+          return next(req);
         }
-        __setModuleDefault2(result, mod);
-        return result;
       };
-    })();
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.context = void 0;
-    exports2.getOctokit = getOctokit;
-    var Context = __importStar2(require_context());
-    var utils_1 = require_utils5();
-    exports2.context = new Context.Context();
-    function getOctokit(token, options, ...additionalPlugins) {
-      const GitHubWithPlugins = utils_1.GitHub.plugin(...additionalPlugins);
-      return new GitHubWithPlugins((0, utils_1.getOctokitOptions)(token, options));
     }
   }
 });
 
-// node_modules/semver/internal/constants.js
-var require_constants11 = __commonJS({
-  "node_modules/semver/internal/constants.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/credentials.js
+var require_credentials = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/credentials.js"(exports2) {
     "use strict";
-    var SEMVER_SPEC_VERSION = "2.0.0";
-    var MAX_LENGTH = 256;
-    var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */
-    9007199254740991;
-    var MAX_SAFE_COMPONENT_LENGTH = 16;
-    var MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6;
-    var RELEASE_TYPES = [
-      "major",
-      "premajor",
-      "minor",
-      "preminor",
-      "patch",
-      "prepatch",
-      "prerelease"
-    ];
-    module2.exports = {
-      MAX_LENGTH,
-      MAX_SAFE_COMPONENT_LENGTH,
-      MAX_SAFE_BUILD_LENGTH,
-      MAX_SAFE_INTEGER,
-      RELEASE_TYPES,
-      SEMVER_SPEC_VERSION,
-      FLAG_INCLUDE_PRERELEASE: 1,
-      FLAG_LOOSE: 2
-    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isOAuth2TokenCredential = isOAuth2TokenCredential;
+    exports2.isBearerTokenCredential = isBearerTokenCredential;
+    exports2.isBasicCredential = isBasicCredential;
+    exports2.isApiKeyCredential = isApiKeyCredential;
+    function isOAuth2TokenCredential(credential) {
+      return "getOAuth2Token" in credential;
+    }
+    function isBearerTokenCredential(credential) {
+      return "getBearerToken" in credential;
+    }
+    function isBasicCredential(credential) {
+      return "username" in credential && "password" in credential;
+    }
+    function isApiKeyCredential(credential) {
+      return "key" in credential;
+    }
   }
 });
 
-// node_modules/semver/internal/debug.js
-var require_debug = __commonJS({
-  "node_modules/semver/internal/debug.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/checkInsecureConnection.js
+var require_checkInsecureConnection = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/checkInsecureConnection.js"(exports2) {
     "use strict";
-    var debug4 = typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error("SEMVER", ...args) : () => {
-    };
-    module2.exports = debug4;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ensureSecureConnection = ensureSecureConnection;
+    var log_js_1 = require_log2();
+    var insecureConnectionWarningEmmitted = false;
+    function allowInsecureConnection(request2, options) {
+      if (options.allowInsecureConnection && request2.allowInsecureConnection) {
+        const url = new URL(request2.url);
+        if (url.hostname === "localhost" || url.hostname === "127.0.0.1") {
+          return true;
+        }
+      }
+      return false;
+    }
+    function emitInsecureConnectionWarning() {
+      const warning10 = "Sending token over insecure transport. Assume any token issued is compromised.";
+      log_js_1.logger.warning(warning10);
+      if (typeof process?.emitWarning === "function" && !insecureConnectionWarningEmmitted) {
+        insecureConnectionWarningEmmitted = true;
+        process.emitWarning(warning10);
+      }
+    }
+    function ensureSecureConnection(request2, options) {
+      if (!request2.url.toLowerCase().startsWith("https://")) {
+        if (allowInsecureConnection(request2, options)) {
+          emitInsecureConnectionWarning();
+        } else {
+          throw new Error("Authentication is not permitted for non-TLS protected (non-https) URLs when allowInsecureConnection is false.");
+        }
+      }
+    }
   }
 });
 
-// node_modules/semver/internal/re.js
-var require_re = __commonJS({
-  "node_modules/semver/internal/re.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/apiKeyAuthenticationPolicy.js
+var require_apiKeyAuthenticationPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/apiKeyAuthenticationPolicy.js"(exports2) {
     "use strict";
-    var {
-      MAX_SAFE_COMPONENT_LENGTH,
-      MAX_SAFE_BUILD_LENGTH,
-      MAX_LENGTH
-    } = require_constants11();
-    var debug4 = require_debug();
-    exports2 = module2.exports = {};
-    var re = exports2.re = [];
-    var safeRe = exports2.safeRe = [];
-    var src = exports2.src = [];
-    var safeSrc = exports2.safeSrc = [];
-    var t = exports2.t = {};
-    var R = 0;
-    var LETTERDASHNUMBER = "[a-zA-Z0-9-]";
-    var safeRegexReplacements = [
-      ["\\s", 1],
-      ["\\d", MAX_LENGTH],
-      [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH]
-    ];
-    var makeSafeRegex = (value) => {
-      for (const [token, max] of safeRegexReplacements) {
-        value = value.split(`${token}*`).join(`${token}{0,${max}}`).split(`${token}+`).join(`${token}{1,${max}}`);
-      }
-      return value;
-    };
-    var createToken = (name, value, isGlobal) => {
-      const safe = makeSafeRegex(value);
-      const index = R++;
-      debug4(name, index, value);
-      t[name] = index;
-      src[index] = value;
-      safeSrc[index] = safe;
-      re[index] = new RegExp(value, isGlobal ? "g" : void 0);
-      safeRe[index] = new RegExp(safe, isGlobal ? "g" : void 0);
-    };
-    createToken("NUMERICIDENTIFIER", "0|[1-9]\\d*");
-    createToken("NUMERICIDENTIFIERLOOSE", "\\d+");
-    createToken("NONNUMERICIDENTIFIER", `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);
-    createToken("MAINVERSION", `(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})`);
-    createToken("MAINVERSIONLOOSE", `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})`);
-    createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIER]})`);
-    createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIERLOOSE]})`);
-    createToken("PRERELEASE", `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`);
-    createToken("PRERELEASELOOSE", `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`);
-    createToken("BUILDIDENTIFIER", `${LETTERDASHNUMBER}+`);
-    createToken("BUILD", `(?:\\+(${src[t.BUILDIDENTIFIER]}(?:\\.${src[t.BUILDIDENTIFIER]})*))`);
-    createToken("FULLPLAIN", `v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`);
-    createToken("FULL", `^${src[t.FULLPLAIN]}$`);
-    createToken("LOOSEPLAIN", `[v=\\s]*${src[t.MAINVERSIONLOOSE]}${src[t.PRERELEASELOOSE]}?${src[t.BUILD]}?`);
-    createToken("LOOSE", `^${src[t.LOOSEPLAIN]}$`);
-    createToken("GTLT", "((?:<|>)?=?)");
-    createToken("XRANGEIDENTIFIERLOOSE", `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);
-    createToken("XRANGEIDENTIFIER", `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`);
-    createToken("XRANGEPLAIN", `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:${src[t.PRERELEASE]})?${src[t.BUILD]}?)?)?`);
-    createToken("XRANGEPLAINLOOSE", `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:${src[t.PRERELEASELOOSE]})?${src[t.BUILD]}?)?)?`);
-    createToken("XRANGE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`);
-    createToken("XRANGELOOSE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`);
-    createToken("COERCEPLAIN", `${"(^|[^\\d])(\\d{1,"}${MAX_SAFE_COMPONENT_LENGTH}})(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`);
-    createToken("COERCE", `${src[t.COERCEPLAIN]}(?:$|[^\\d])`);
-    createToken("COERCEFULL", src[t.COERCEPLAIN] + `(?:${src[t.PRERELEASE]})?(?:${src[t.BUILD]})?(?:$|[^\\d])`);
-    createToken("COERCERTL", src[t.COERCE], true);
-    createToken("COERCERTLFULL", src[t.COERCEFULL], true);
-    createToken("LONETILDE", "(?:~>?)");
-    createToken("TILDETRIM", `(\\s*)${src[t.LONETILDE]}\\s+`, true);
-    exports2.tildeTrimReplace = "$1~";
-    createToken("TILDE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`);
-    createToken("TILDELOOSE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`);
-    createToken("LONECARET", "(?:\\^)");
-    createToken("CARETTRIM", `(\\s*)${src[t.LONECARET]}\\s+`, true);
-    exports2.caretTrimReplace = "$1^";
-    createToken("CARET", `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`);
-    createToken("CARETLOOSE", `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`);
-    createToken("COMPARATORLOOSE", `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`);
-    createToken("COMPARATOR", `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`);
-    createToken("COMPARATORTRIM", `(\\s*)${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true);
-    exports2.comparatorTrimReplace = "$1$2$3";
-    createToken("HYPHENRANGE", `^\\s*(${src[t.XRANGEPLAIN]})\\s+-\\s+(${src[t.XRANGEPLAIN]})\\s*$`);
-    createToken("HYPHENRANGELOOSE", `^\\s*(${src[t.XRANGEPLAINLOOSE]})\\s+-\\s+(${src[t.XRANGEPLAINLOOSE]})\\s*$`);
-    createToken("STAR", "(<|>)?=?\\s*\\*");
-    createToken("GTE0", "^\\s*>=\\s*0\\.0\\.0\\s*$");
-    createToken("GTE0PRE", "^\\s*>=\\s*0\\.0\\.0-0\\s*$");
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.apiKeyAuthenticationPolicyName = void 0;
+    exports2.apiKeyAuthenticationPolicy = apiKeyAuthenticationPolicy;
+    var checkInsecureConnection_js_1 = require_checkInsecureConnection();
+    exports2.apiKeyAuthenticationPolicyName = "apiKeyAuthenticationPolicy";
+    function apiKeyAuthenticationPolicy(options) {
+      return {
+        name: exports2.apiKeyAuthenticationPolicyName,
+        async sendRequest(request2, next) {
+          (0, checkInsecureConnection_js_1.ensureSecureConnection)(request2, options);
+          const scheme = (request2.authSchemes ?? options.authSchemes)?.find((x) => x.kind === "apiKey");
+          if (!scheme) {
+            return next(request2);
+          }
+          if (scheme.apiKeyLocation !== "header") {
+            throw new Error(`Unsupported API key location: ${scheme.apiKeyLocation}`);
+          }
+          request2.headers.set(scheme.name, options.credential.key);
+          return next(request2);
+        }
+      };
+    }
   }
 });
 
-// node_modules/semver/internal/parse-options.js
-var require_parse_options = __commonJS({
-  "node_modules/semver/internal/parse-options.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/basicAuthenticationPolicy.js
+var require_basicAuthenticationPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/basicAuthenticationPolicy.js"(exports2) {
     "use strict";
-    var looseOption = Object.freeze({ loose: true });
-    var emptyOpts = Object.freeze({});
-    var parseOptions = (options) => {
-      if (!options) {
-        return emptyOpts;
-      }
-      if (typeof options !== "object") {
-        return looseOption;
-      }
-      return options;
-    };
-    module2.exports = parseOptions;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.basicAuthenticationPolicyName = void 0;
+    exports2.basicAuthenticationPolicy = basicAuthenticationPolicy;
+    var bytesEncoding_js_1 = require_bytesEncoding();
+    var checkInsecureConnection_js_1 = require_checkInsecureConnection();
+    exports2.basicAuthenticationPolicyName = "bearerAuthenticationPolicy";
+    function basicAuthenticationPolicy(options) {
+      return {
+        name: exports2.basicAuthenticationPolicyName,
+        async sendRequest(request2, next) {
+          (0, checkInsecureConnection_js_1.ensureSecureConnection)(request2, options);
+          const scheme = (request2.authSchemes ?? options.authSchemes)?.find((x) => x.kind === "http" && x.scheme === "basic");
+          if (!scheme) {
+            return next(request2);
+          }
+          const { username, password } = options.credential;
+          const headerValue = (0, bytesEncoding_js_1.uint8ArrayToString)((0, bytesEncoding_js_1.stringToUint8Array)(`${username}:${password}`, "utf-8"), "base64");
+          request2.headers.set("Authorization", `Basic ${headerValue}`);
+          return next(request2);
+        }
+      };
+    }
   }
 });
 
-// node_modules/semver/internal/identifiers.js
-var require_identifiers = __commonJS({
-  "node_modules/semver/internal/identifiers.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/bearerAuthenticationPolicy.js
+var require_bearerAuthenticationPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/bearerAuthenticationPolicy.js"(exports2) {
     "use strict";
-    var numeric = /^[0-9]+$/;
-    var compareIdentifiers = (a, b) => {
-      if (typeof a === "number" && typeof b === "number") {
-        return a === b ? 0 : a < b ? -1 : 1;
-      }
-      const anum = numeric.test(a);
-      const bnum = numeric.test(b);
-      if (anum && bnum) {
-        a = +a;
-        b = +b;
-      }
-      return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;
-    };
-    var rcompareIdentifiers = (a, b) => compareIdentifiers(b, a);
-    module2.exports = {
-      compareIdentifiers,
-      rcompareIdentifiers
-    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.bearerAuthenticationPolicyName = void 0;
+    exports2.bearerAuthenticationPolicy = bearerAuthenticationPolicy;
+    var checkInsecureConnection_js_1 = require_checkInsecureConnection();
+    exports2.bearerAuthenticationPolicyName = "bearerAuthenticationPolicy";
+    function bearerAuthenticationPolicy(options) {
+      return {
+        name: exports2.bearerAuthenticationPolicyName,
+        async sendRequest(request2, next) {
+          (0, checkInsecureConnection_js_1.ensureSecureConnection)(request2, options);
+          const scheme = (request2.authSchemes ?? options.authSchemes)?.find((x) => x.kind === "http" && x.scheme === "bearer");
+          if (!scheme) {
+            return next(request2);
+          }
+          const token = await options.credential.getBearerToken({
+            abortSignal: request2.abortSignal
+          });
+          request2.headers.set("Authorization", `Bearer ${token}`);
+          return next(request2);
+        }
+      };
+    }
   }
 });
 
-// node_modules/semver/classes/semver.js
-var require_semver = __commonJS({
-  "node_modules/semver/classes/semver.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/oauth2AuthenticationPolicy.js
+var require_oauth2AuthenticationPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/oauth2AuthenticationPolicy.js"(exports2) {
     "use strict";
-    var debug4 = require_debug();
-    var { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants11();
-    var { safeRe: re, t } = require_re();
-    var parseOptions = require_parse_options();
-    var { compareIdentifiers } = require_identifiers();
-    var SemVer = class _SemVer {
-      constructor(version, options) {
-        options = parseOptions(options);
-        if (version instanceof _SemVer) {
-          if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) {
-            return version;
-          } else {
-            version = version.version;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.oauth2AuthenticationPolicyName = void 0;
+    exports2.oauth2AuthenticationPolicy = oauth2AuthenticationPolicy;
+    var checkInsecureConnection_js_1 = require_checkInsecureConnection();
+    exports2.oauth2AuthenticationPolicyName = "oauth2AuthenticationPolicy";
+    function oauth2AuthenticationPolicy(options) {
+      return {
+        name: exports2.oauth2AuthenticationPolicyName,
+        async sendRequest(request2, next) {
+          (0, checkInsecureConnection_js_1.ensureSecureConnection)(request2, options);
+          const scheme = (request2.authSchemes ?? options.authSchemes)?.find((x) => x.kind === "oauth2");
+          if (!scheme) {
+            return next(request2);
           }
-        } else if (typeof version !== "string") {
-          throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version}".`);
+          const token = await options.credential.getOAuth2Token(scheme.flows, {
+            abortSignal: request2.abortSignal
+          });
+          request2.headers.set("Authorization", `Bearer ${token}`);
+          return next(request2);
         }
-        if (version.length > MAX_LENGTH) {
-          throw new TypeError(
-            `version is longer than ${MAX_LENGTH} characters`
-          );
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/clientHelpers.js
+var require_clientHelpers = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/clientHelpers.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createDefaultPipeline = createDefaultPipeline;
+    exports2.getCachedDefaultHttpsClient = getCachedDefaultHttpsClient;
+    var defaultHttpClient_js_1 = require_defaultHttpClient();
+    var createPipelineFromOptions_js_1 = require_createPipelineFromOptions();
+    var apiVersionPolicy_js_1 = require_apiVersionPolicy();
+    var credentials_js_1 = require_credentials();
+    var apiKeyAuthenticationPolicy_js_1 = require_apiKeyAuthenticationPolicy();
+    var basicAuthenticationPolicy_js_1 = require_basicAuthenticationPolicy();
+    var bearerAuthenticationPolicy_js_1 = require_bearerAuthenticationPolicy();
+    var oauth2AuthenticationPolicy_js_1 = require_oauth2AuthenticationPolicy();
+    var cachedHttpClient;
+    function createDefaultPipeline(options = {}) {
+      const pipeline = (0, createPipelineFromOptions_js_1.createPipelineFromOptions)(options);
+      pipeline.addPolicy((0, apiVersionPolicy_js_1.apiVersionPolicy)(options));
+      const { credential, authSchemes, allowInsecureConnection } = options;
+      if (credential) {
+        if ((0, credentials_js_1.isApiKeyCredential)(credential)) {
+          pipeline.addPolicy((0, apiKeyAuthenticationPolicy_js_1.apiKeyAuthenticationPolicy)({ authSchemes, credential, allowInsecureConnection }));
+        } else if ((0, credentials_js_1.isBasicCredential)(credential)) {
+          pipeline.addPolicy((0, basicAuthenticationPolicy_js_1.basicAuthenticationPolicy)({ authSchemes, credential, allowInsecureConnection }));
+        } else if ((0, credentials_js_1.isBearerTokenCredential)(credential)) {
+          pipeline.addPolicy((0, bearerAuthenticationPolicy_js_1.bearerAuthenticationPolicy)({ authSchemes, credential, allowInsecureConnection }));
+        } else if ((0, credentials_js_1.isOAuth2TokenCredential)(credential)) {
+          pipeline.addPolicy((0, oauth2AuthenticationPolicy_js_1.oauth2AuthenticationPolicy)({ authSchemes, credential, allowInsecureConnection }));
         }
-        debug4("SemVer", version, options);
-        this.options = options;
-        this.loose = !!options.loose;
-        this.includePrerelease = !!options.includePrerelease;
-        const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]);
-        if (!m) {
-          throw new TypeError(`Invalid Version: ${version}`);
+      }
+      return pipeline;
+    }
+    function getCachedDefaultHttpsClient() {
+      if (!cachedHttpClient) {
+        cachedHttpClient = (0, defaultHttpClient_js_1.createDefaultHttpClient)();
+      }
+      return cachedHttpClient;
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js
+var require_multipart = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.buildBodyPart = buildBodyPart;
+    exports2.buildMultipartBody = buildMultipartBody;
+    var restError_js_1 = require_restError();
+    var httpHeaders_js_1 = require_httpHeaders();
+    var bytesEncoding_js_1 = require_bytesEncoding();
+    var typeGuards_js_1 = require_typeGuards();
+    function getHeaderValue(descriptor, headerName) {
+      if (descriptor.headers) {
+        const actualHeaderName = Object.keys(descriptor.headers).find((x) => x.toLowerCase() === headerName.toLowerCase());
+        if (actualHeaderName) {
+          return descriptor.headers[actualHeaderName];
         }
-        this.raw = version;
-        this.major = +m[1];
-        this.minor = +m[2];
-        this.patch = +m[3];
-        if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
-          throw new TypeError("Invalid major version");
+      }
+      return void 0;
+    }
+    function getPartContentType(descriptor) {
+      const contentTypeHeader = getHeaderValue(descriptor, "content-type");
+      if (contentTypeHeader) {
+        return contentTypeHeader;
+      }
+      if (descriptor.contentType === null) {
+        return void 0;
+      }
+      if (descriptor.contentType) {
+        return descriptor.contentType;
+      }
+      const { body } = descriptor;
+      if (body === null || body === void 0) {
+        return void 0;
+      }
+      if (typeof body === "string" || typeof body === "number" || typeof body === "boolean") {
+        return "text/plain; charset=UTF-8";
+      }
+      if (body instanceof Blob) {
+        return body.type || "application/octet-stream";
+      }
+      if ((0, typeGuards_js_1.isBinaryBody)(body)) {
+        return "application/octet-stream";
+      }
+      return "application/json";
+    }
+    function escapeDispositionField(value) {
+      return JSON.stringify(value);
+    }
+    function getContentDisposition(descriptor) {
+      const contentDispositionHeader = getHeaderValue(descriptor, "content-disposition");
+      if (contentDispositionHeader) {
+        return contentDispositionHeader;
+      }
+      if (descriptor.dispositionType === void 0 && descriptor.name === void 0 && descriptor.filename === void 0) {
+        return void 0;
+      }
+      const dispositionType = descriptor.dispositionType ?? "form-data";
+      let disposition = dispositionType;
+      if (descriptor.name) {
+        disposition += `; name=${escapeDispositionField(descriptor.name)}`;
+      }
+      let filename = void 0;
+      if (descriptor.filename) {
+        filename = descriptor.filename;
+      } else if (typeof File !== "undefined" && descriptor.body instanceof File) {
+        const filenameFromFile = descriptor.body.name;
+        if (filenameFromFile !== "") {
+          filename = filenameFromFile;
         }
-        if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
-          throw new TypeError("Invalid minor version");
+      }
+      if (filename) {
+        disposition += `; filename=${escapeDispositionField(filename)}`;
+      }
+      return disposition;
+    }
+    function normalizeBody(body, contentType) {
+      if (body === void 0) {
+        return new Uint8Array([]);
+      }
+      if ((0, typeGuards_js_1.isBinaryBody)(body)) {
+        return body;
+      }
+      if (typeof body === "string" || typeof body === "number" || typeof body === "boolean") {
+        return (0, bytesEncoding_js_1.stringToUint8Array)(String(body), "utf-8");
+      }
+      if (contentType && /application\/(.+\+)?json(;.+)?/i.test(String(contentType))) {
+        return (0, bytesEncoding_js_1.stringToUint8Array)(JSON.stringify(body), "utf-8");
+      }
+      throw new restError_js_1.RestError(`Unsupported body/content-type combination: ${body}, ${contentType}`);
+    }
+    function buildBodyPart(descriptor) {
+      const contentType = getPartContentType(descriptor);
+      const contentDisposition = getContentDisposition(descriptor);
+      const headers = (0, httpHeaders_js_1.createHttpHeaders)(descriptor.headers ?? {});
+      if (contentType) {
+        headers.set("content-type", contentType);
+      }
+      if (contentDisposition) {
+        headers.set("content-disposition", contentDisposition);
+      }
+      const body = normalizeBody(descriptor.body, contentType);
+      return {
+        headers,
+        body
+      };
+    }
+    function buildMultipartBody(parts) {
+      return { parts: parts.map(buildBodyPart) };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/sendRequest.js
+var require_sendRequest = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/sendRequest.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.sendRequest = sendRequest;
+    var restError_js_1 = require_restError();
+    var httpHeaders_js_1 = require_httpHeaders();
+    var pipelineRequest_js_1 = require_pipelineRequest();
+    var clientHelpers_js_1 = require_clientHelpers();
+    var typeGuards_js_1 = require_typeGuards();
+    var multipart_js_1 = require_multipart();
+    async function sendRequest(method, url, pipeline, options = {}, customHttpClient) {
+      const httpClient = customHttpClient ?? (0, clientHelpers_js_1.getCachedDefaultHttpsClient)();
+      const request2 = buildPipelineRequest(method, url, options);
+      try {
+        const response = await pipeline.sendRequest(httpClient, request2);
+        const headers = response.headers.toJSON();
+        const stream = response.readableStreamBody ?? response.browserStreamBody;
+        const parsedBody = options.responseAsStream || stream !== void 0 ? void 0 : getResponseBody(response);
+        const body = stream ?? parsedBody;
+        if (options?.onResponse) {
+          options.onResponse({ ...response, request: request2, rawHeaders: headers, parsedBody });
         }
-        if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
-          throw new TypeError("Invalid patch version");
+        return {
+          request: request2,
+          headers,
+          status: `${response.status}`,
+          body
+        };
+      } catch (e) {
+        if ((0, restError_js_1.isRestError)(e) && e.response && options.onResponse) {
+          const { response } = e;
+          const rawHeaders = response.headers.toJSON();
+          options?.onResponse({ ...response, request: request2, rawHeaders }, e);
         }
-        if (!m[4]) {
-          this.prerelease = [];
-        } else {
-          this.prerelease = m[4].split(".").map((id) => {
-            if (/^[0-9]+$/.test(id)) {
-              const num = +id;
-              if (num >= 0 && num < MAX_SAFE_INTEGER) {
-                return num;
-              }
-            }
-            return id;
-          });
+        throw e;
+      }
+    }
+    function getRequestContentType(options = {}) {
+      return options.contentType ?? options.headers?.["content-type"] ?? getContentType(options.body);
+    }
+    function getContentType(body) {
+      if (ArrayBuffer.isView(body)) {
+        return "application/octet-stream";
+      }
+      if (typeof body === "string") {
+        try {
+          JSON.parse(body);
+          return "application/json";
+        } catch (error3) {
+          return void 0;
         }
-        this.build = m[5] ? m[5].split(".") : [];
-        this.format();
       }
-      format() {
-        this.version = `${this.major}.${this.minor}.${this.patch}`;
-        if (this.prerelease.length) {
-          this.version += `-${this.prerelease.join(".")}`;
+      return "application/json";
+    }
+    function buildPipelineRequest(method, url, options = {}) {
+      const requestContentType = getRequestContentType(options);
+      const { body, multipartBody } = getRequestBody(options.body, requestContentType);
+      const hasContent = body !== void 0 || multipartBody !== void 0;
+      const headers = (0, httpHeaders_js_1.createHttpHeaders)({
+        ...options.headers ? options.headers : {},
+        accept: options.accept ?? options.headers?.accept ?? "application/json",
+        ...hasContent && requestContentType && {
+          "content-type": requestContentType
         }
-        return this.version;
+      });
+      return (0, pipelineRequest_js_1.createPipelineRequest)({
+        url,
+        method,
+        body,
+        multipartBody,
+        headers,
+        allowInsecureConnection: options.allowInsecureConnection,
+        abortSignal: options.abortSignal,
+        onUploadProgress: options.onUploadProgress,
+        onDownloadProgress: options.onDownloadProgress,
+        timeout: options.timeout,
+        enableBrowserStreams: true,
+        streamResponseStatusCodes: options.responseAsStream ? /* @__PURE__ */ new Set([Number.POSITIVE_INFINITY]) : void 0
+      });
+    }
+    function getRequestBody(body, contentType = "") {
+      if (body === void 0) {
+        return { body: void 0 };
       }
-      toString() {
-        return this.version;
+      if (typeof FormData !== "undefined" && body instanceof FormData) {
+        return { body };
       }
-      compare(other) {
-        debug4("SemVer.compare", this.version, this.options, other);
-        if (!(other instanceof _SemVer)) {
-          if (typeof other === "string" && other === this.version) {
-            return 0;
+      if ((0, typeGuards_js_1.isReadableStream)(body)) {
+        return { body };
+      }
+      if (ArrayBuffer.isView(body)) {
+        return { body: body instanceof Uint8Array ? body : JSON.stringify(body) };
+      }
+      const firstType = contentType.split(";")[0];
+      switch (firstType) {
+        case "application/json":
+          return { body: JSON.stringify(body) };
+        case "multipart/form-data":
+          if (Array.isArray(body)) {
+            return { multipartBody: (0, multipart_js_1.buildMultipartBody)(body) };
           }
-          other = new _SemVer(other, this.options);
-        }
-        if (other.version === this.version) {
-          return 0;
+          return { body: JSON.stringify(body) };
+        case "text/plain":
+          return { body: String(body) };
+        default:
+          if (typeof body === "string") {
+            return { body };
+          }
+          return { body: JSON.stringify(body) };
+      }
+    }
+    function getResponseBody(response) {
+      const contentType = response.headers.get("content-type") ?? "";
+      const firstType = contentType.split(";")[0];
+      const bodyToParse = response.bodyAsText ?? "";
+      if (firstType === "text/plain") {
+        return String(bodyToParse);
+      }
+      try {
+        return bodyToParse ? JSON.parse(bodyToParse) : void 0;
+      } catch (error3) {
+        if (firstType === "application/json") {
+          throw createParseError(response, error3);
         }
-        return this.compareMain(other) || this.comparePre(other);
+        return String(bodyToParse);
+      }
+    }
+    function createParseError(response, err) {
+      const msg = `Error "${err}" occurred while parsing the response body - ${response.bodyAsText}.`;
+      const errCode = err.code ?? restError_js_1.RestError.PARSE_ERROR;
+      return new restError_js_1.RestError(msg, {
+        code: errCode,
+        statusCode: response.status,
+        request: response.request,
+        response
+      });
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/urlHelpers.js
+var require_urlHelpers = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/urlHelpers.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.buildRequestUrl = buildRequestUrl;
+    exports2.buildBaseUrl = buildBaseUrl;
+    exports2.replaceAll = replaceAll;
+    function isQueryParameterWithOptions(x) {
+      const value = x.value;
+      return value !== void 0 && value.toString !== void 0 && typeof value.toString === "function";
+    }
+    function buildRequestUrl(endpoint2, routePath, pathParameters, options = {}) {
+      if (routePath.startsWith("https://") || routePath.startsWith("http://")) {
+        return routePath;
+      }
+      endpoint2 = buildBaseUrl(endpoint2, options);
+      routePath = buildRoutePath(routePath, pathParameters, options);
+      const requestUrl = appendQueryParams(`${endpoint2}/${routePath}`, options);
+      const url = new URL(requestUrl);
+      return url.toString().replace(/([^:]\/)\/+/g, "$1");
+    }
+    function getQueryParamValue(key, allowReserved, style, param) {
+      let separator;
+      if (style === "pipeDelimited") {
+        separator = "|";
+      } else if (style === "spaceDelimited") {
+        separator = "%20";
+      } else {
+        separator = ",";
+      }
+      let paramValues;
+      if (Array.isArray(param)) {
+        paramValues = param;
+      } else if (typeof param === "object" && param.toString === Object.prototype.toString) {
+        paramValues = Object.entries(param).flat();
+      } else {
+        paramValues = [param];
       }
-      compareMain(other) {
-        if (!(other instanceof _SemVer)) {
-          other = new _SemVer(other, this.options);
-        }
-        if (this.major < other.major) {
-          return -1;
-        }
-        if (this.major > other.major) {
-          return 1;
-        }
-        if (this.minor < other.minor) {
-          return -1;
-        }
-        if (this.minor > other.minor) {
-          return 1;
-        }
-        if (this.patch < other.patch) {
-          return -1;
+      const value = paramValues.map((p) => {
+        if (p === null || p === void 0) {
+          return "";
         }
-        if (this.patch > other.patch) {
-          return 1;
+        if (!p.toString || typeof p.toString !== "function") {
+          throw new Error(`Query parameters must be able to be represented as string, ${key} can't`);
         }
-        return 0;
+        const rawValue = p.toISOString !== void 0 ? p.toISOString() : p.toString();
+        return allowReserved ? rawValue : encodeURIComponent(rawValue);
+      }).join(separator);
+      return `${allowReserved ? key : encodeURIComponent(key)}=${value}`;
+    }
+    function appendQueryParams(url, options = {}) {
+      if (!options.queryParameters) {
+        return url;
       }
-      comparePre(other) {
-        if (!(other instanceof _SemVer)) {
-          other = new _SemVer(other, this.options);
-        }
-        if (this.prerelease.length && !other.prerelease.length) {
-          return -1;
-        } else if (!this.prerelease.length && other.prerelease.length) {
-          return 1;
-        } else if (!this.prerelease.length && !other.prerelease.length) {
-          return 0;
+      const parsedUrl = new URL(url);
+      const queryParams = options.queryParameters;
+      const paramStrings = [];
+      for (const key of Object.keys(queryParams)) {
+        const param = queryParams[key];
+        if (param === void 0 || param === null) {
+          continue;
         }
-        let i = 0;
-        do {
-          const a = this.prerelease[i];
-          const b = other.prerelease[i];
-          debug4("prerelease compare", i, a, b);
-          if (a === void 0 && b === void 0) {
-            return 0;
-          } else if (b === void 0) {
-            return 1;
-          } else if (a === void 0) {
-            return -1;
-          } else if (a === b) {
-            continue;
+        const hasMetadata = isQueryParameterWithOptions(param);
+        const rawValue = hasMetadata ? param.value : param;
+        const explode = hasMetadata ? param.explode ?? false : false;
+        const style = hasMetadata && param.style ? param.style : "form";
+        if (explode) {
+          if (Array.isArray(rawValue)) {
+            for (const item of rawValue) {
+              paramStrings.push(getQueryParamValue(key, options.skipUrlEncoding ?? false, style, item));
+            }
+          } else if (typeof rawValue === "object") {
+            for (const [actualKey, value] of Object.entries(rawValue)) {
+              paramStrings.push(getQueryParamValue(actualKey, options.skipUrlEncoding ?? false, style, value));
+            }
           } else {
-            return compareIdentifiers(a, b);
+            throw new Error("explode can only be set to true for objects and arrays");
           }
-        } while (++i);
-      }
-      compareBuild(other) {
-        if (!(other instanceof _SemVer)) {
-          other = new _SemVer(other, this.options);
+        } else {
+          paramStrings.push(getQueryParamValue(key, options.skipUrlEncoding ?? false, style, rawValue));
         }
-        let i = 0;
-        do {
-          const a = this.build[i];
-          const b = other.build[i];
-          debug4("build compare", i, a, b);
-          if (a === void 0 && b === void 0) {
-            return 0;
-          } else if (b === void 0) {
-            return 1;
-          } else if (a === void 0) {
-            return -1;
-          } else if (a === b) {
-            continue;
-          } else {
-            return compareIdentifiers(a, b);
-          }
-        } while (++i);
       }
-      // preminor will bump the version up to the next minor release, and immediately
-      // down to pre-release. premajor and prepatch work the same way.
-      inc(release, identifier, identifierBase) {
-        if (release.startsWith("pre")) {
-          if (!identifier && identifierBase === false) {
-            throw new Error("invalid increment argument: identifier is empty");
-          }
-          if (identifier) {
-            const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE]);
-            if (!match || match[1] !== identifier) {
-              throw new Error(`invalid identifier: ${identifier}`);
-            }
-          }
+      if (parsedUrl.search !== "") {
+        parsedUrl.search += "&";
+      }
+      parsedUrl.search += paramStrings.join("&");
+      return parsedUrl.toString();
+    }
+    function buildBaseUrl(endpoint2, options) {
+      if (!options.pathParameters) {
+        return endpoint2;
+      }
+      const pathParams = options.pathParameters;
+      for (const [key, param] of Object.entries(pathParams)) {
+        if (param === void 0 || param === null) {
+          throw new Error(`Path parameters ${key} must not be undefined or null`);
         }
-        switch (release) {
-          case "premajor":
-            this.prerelease.length = 0;
-            this.patch = 0;
-            this.minor = 0;
-            this.major++;
-            this.inc("pre", identifier, identifierBase);
-            break;
-          case "preminor":
-            this.prerelease.length = 0;
-            this.patch = 0;
-            this.minor++;
-            this.inc("pre", identifier, identifierBase);
-            break;
-          case "prepatch":
-            this.prerelease.length = 0;
-            this.inc("patch", identifier, identifierBase);
-            this.inc("pre", identifier, identifierBase);
-            break;
-          // If the input is a non-prerelease version, this acts the same as
-          // prepatch.
-          case "prerelease":
-            if (this.prerelease.length === 0) {
-              this.inc("patch", identifier, identifierBase);
-            }
-            this.inc("pre", identifier, identifierBase);
-            break;
-          case "release":
-            if (this.prerelease.length === 0) {
-              throw new Error(`version ${this.raw} is not a prerelease`);
-            }
-            this.prerelease.length = 0;
-            break;
-          case "major":
-            if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
-              this.major++;
-            }
-            this.minor = 0;
-            this.patch = 0;
-            this.prerelease = [];
-            break;
-          case "minor":
-            if (this.patch !== 0 || this.prerelease.length === 0) {
-              this.minor++;
-            }
-            this.patch = 0;
-            this.prerelease = [];
-            break;
-          case "patch":
-            if (this.prerelease.length === 0) {
-              this.patch++;
-            }
-            this.prerelease = [];
-            break;
-          // This probably shouldn't be used publicly.
-          // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.
-          case "pre": {
-            const base = Number(identifierBase) ? 1 : 0;
-            if (this.prerelease.length === 0) {
-              this.prerelease = [base];
-            } else {
-              let i = this.prerelease.length;
-              while (--i >= 0) {
-                if (typeof this.prerelease[i] === "number") {
-                  this.prerelease[i]++;
-                  i = -2;
-                }
-              }
-              if (i === -1) {
-                if (identifier === this.prerelease.join(".") && identifierBase === false) {
-                  throw new Error("invalid increment argument: identifier already exists");
-                }
-                this.prerelease.push(base);
-              }
-            }
-            if (identifier) {
-              let prerelease = [identifier, base];
-              if (identifierBase === false) {
-                prerelease = [identifier];
-              }
-              if (compareIdentifiers(this.prerelease[0], identifier) === 0) {
-                if (isNaN(this.prerelease[1])) {
-                  this.prerelease = prerelease;
-                }
-              } else {
-                this.prerelease = prerelease;
-              }
-            }
-            break;
-          }
-          default:
-            throw new Error(`invalid increment argument: ${release}`);
+        if (!param.toString || typeof param.toString !== "function") {
+          throw new Error(`Path parameters must be able to be represented as string, ${key} can't`);
         }
-        this.raw = this.format();
-        if (this.build.length) {
-          this.raw += `+${this.build.join(".")}`;
+        let value = param.toISOString !== void 0 ? param.toISOString() : String(param);
+        if (!options.skipUrlEncoding) {
+          value = encodeURIComponent(param);
         }
-        return this;
-      }
-    };
-    module2.exports = SemVer;
-  }
-});
-
-// node_modules/semver/functions/parse.js
-var require_parse3 = __commonJS({
-  "node_modules/semver/functions/parse.js"(exports2, module2) {
-    "use strict";
-    var SemVer = require_semver();
-    var parse2 = (version, options, throwErrors = false) => {
-      if (version instanceof SemVer) {
-        return version;
+        endpoint2 = replaceAll(endpoint2, `{${key}}`, value) ?? "";
       }
-      try {
-        return new SemVer(version, options);
-      } catch (er) {
-        if (!throwErrors) {
-          return null;
+      return endpoint2;
+    }
+    function buildRoutePath(routePath, pathParameters, options = {}) {
+      for (const pathParam of pathParameters) {
+        const allowReserved = typeof pathParam === "object" && (pathParam.allowReserved ?? false);
+        let value = typeof pathParam === "object" ? pathParam.value : pathParam;
+        if (!options.skipUrlEncoding && !allowReserved) {
+          value = encodeURIComponent(value);
         }
-        throw er;
+        routePath = routePath.replace(/\{[\w-]+\}/, String(value));
       }
-    };
-    module2.exports = parse2;
+      return routePath;
+    }
+    function replaceAll(value, searchValue, replaceValue) {
+      return !value || !searchValue ? value : value.split(searchValue).join(replaceValue || "");
+    }
   }
 });
 
-// node_modules/semver/functions/valid.js
-var require_valid = __commonJS({
-  "node_modules/semver/functions/valid.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/getClient.js
+var require_getClient = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/getClient.js"(exports2) {
     "use strict";
-    var parse2 = require_parse3();
-    var valid3 = (version, options) => {
-      const v = parse2(version, options);
-      return v ? v.version : null;
-    };
-    module2.exports = valid3;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getClient = getClient;
+    var clientHelpers_js_1 = require_clientHelpers();
+    var sendRequest_js_1 = require_sendRequest();
+    var urlHelpers_js_1 = require_urlHelpers();
+    var checkEnvironment_js_1 = require_checkEnvironment();
+    function getClient(endpoint2, clientOptions = {}) {
+      const pipeline = clientOptions.pipeline ?? (0, clientHelpers_js_1.createDefaultPipeline)(clientOptions);
+      if (clientOptions.additionalPolicies?.length) {
+        for (const { policy, position } of clientOptions.additionalPolicies) {
+          const afterPhase = position === "perRetry" ? "Sign" : void 0;
+          pipeline.addPolicy(policy, {
+            afterPhase
+          });
+        }
+      }
+      const { allowInsecureConnection, httpClient } = clientOptions;
+      const endpointUrl = clientOptions.endpoint ?? endpoint2;
+      const client = (path3, ...args) => {
+        const getUrl = (requestOptions) => (0, urlHelpers_js_1.buildRequestUrl)(endpointUrl, path3, args, { allowInsecureConnection, ...requestOptions });
+        return {
+          get: (requestOptions = {}) => {
+            return buildOperation("GET", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          },
+          post: (requestOptions = {}) => {
+            return buildOperation("POST", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          },
+          put: (requestOptions = {}) => {
+            return buildOperation("PUT", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          },
+          patch: (requestOptions = {}) => {
+            return buildOperation("PATCH", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          },
+          delete: (requestOptions = {}) => {
+            return buildOperation("DELETE", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          },
+          head: (requestOptions = {}) => {
+            return buildOperation("HEAD", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          },
+          options: (requestOptions = {}) => {
+            return buildOperation("OPTIONS", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          },
+          trace: (requestOptions = {}) => {
+            return buildOperation("TRACE", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          }
+        };
+      };
+      return {
+        path: client,
+        pathUnchecked: client,
+        pipeline
+      };
+    }
+    function buildOperation(method, url, pipeline, options, allowInsecureConnection, httpClient) {
+      allowInsecureConnection = options.allowInsecureConnection ?? allowInsecureConnection;
+      return {
+        then: function(onFulfilled, onrejected) {
+          return (0, sendRequest_js_1.sendRequest)(method, url, pipeline, { ...options, allowInsecureConnection }, httpClient).then(onFulfilled, onrejected);
+        },
+        async asBrowserStream() {
+          if (checkEnvironment_js_1.isNodeLike) {
+            throw new Error("`asBrowserStream` is supported only in the browser environment. Use `asNodeStream` instead to obtain the response body stream. If you require a Web stream of the response in Node, consider using `Readable.toWeb` on the result of `asNodeStream`.");
+          } else {
+            return (0, sendRequest_js_1.sendRequest)(method, url, pipeline, { ...options, allowInsecureConnection, responseAsStream: true }, httpClient);
+          }
+        },
+        async asNodeStream() {
+          if (checkEnvironment_js_1.isNodeLike) {
+            return (0, sendRequest_js_1.sendRequest)(method, url, pipeline, { ...options, allowInsecureConnection, responseAsStream: true }, httpClient);
+          } else {
+            throw new Error("`isNodeStream` is not supported in the browser environment. Use `asBrowserStream` to obtain the response body stream.");
+          }
+        }
+      };
+    }
   }
 });
 
-// node_modules/semver/functions/clean.js
-var require_clean = __commonJS({
-  "node_modules/semver/functions/clean.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/operationOptionHelpers.js
+var require_operationOptionHelpers = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/operationOptionHelpers.js"(exports2) {
     "use strict";
-    var parse2 = require_parse3();
-    var clean3 = (version, options) => {
-      const s = parse2(version.trim().replace(/^[=v]+/, ""), options);
-      return s ? s.version : null;
-    };
-    module2.exports = clean3;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.operationOptionsToRequestParameters = operationOptionsToRequestParameters;
+    function operationOptionsToRequestParameters(options) {
+      return {
+        allowInsecureConnection: options.requestOptions?.allowInsecureConnection,
+        timeout: options.requestOptions?.timeout,
+        skipUrlEncoding: options.requestOptions?.skipUrlEncoding,
+        abortSignal: options.abortSignal,
+        onUploadProgress: options.requestOptions?.onUploadProgress,
+        onDownloadProgress: options.requestOptions?.onDownloadProgress,
+        headers: { ...options.requestOptions?.headers },
+        onResponse: options.onResponse
+      };
+    }
   }
 });
 
-// node_modules/semver/functions/inc.js
-var require_inc = __commonJS({
-  "node_modules/semver/functions/inc.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/restError.js
+var require_restError2 = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/restError.js"(exports2) {
     "use strict";
-    var SemVer = require_semver();
-    var inc = (version, release, options, identifier, identifierBase) => {
-      if (typeof options === "string") {
-        identifierBase = identifier;
-        identifier = options;
-        options = void 0;
-      }
-      try {
-        return new SemVer(
-          version instanceof SemVer ? version.version : version,
-          options
-        ).inc(release, identifier, identifierBase).version;
-      } catch (er) {
-        return null;
-      }
-    };
-    module2.exports = inc;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createRestError = createRestError;
+    var restError_js_1 = require_restError();
+    var httpHeaders_js_1 = require_httpHeaders();
+    function createRestError(messageOrResponse, response) {
+      const resp = typeof messageOrResponse === "string" ? response : messageOrResponse;
+      const internalError = resp.body?.error ?? resp.body;
+      const message = typeof messageOrResponse === "string" ? messageOrResponse : internalError?.message ?? `Unexpected status code: ${resp.status}`;
+      return new restError_js_1.RestError(message, {
+        statusCode: statusCodeToNumber(resp.status),
+        code: internalError?.code,
+        request: resp.request,
+        response: toPipelineResponse(resp)
+      });
+    }
+    function toPipelineResponse(response) {
+      return {
+        headers: (0, httpHeaders_js_1.createHttpHeaders)(response.headers),
+        request: response.request,
+        status: statusCodeToNumber(response.status) ?? -1
+      };
+    }
+    function statusCodeToNumber(statusCode) {
+      const status = Number.parseInt(statusCode);
+      return Number.isNaN(status) ? void 0 : status;
+    }
   }
 });
 
-// node_modules/semver/functions/diff.js
-var require_diff = __commonJS({
-  "node_modules/semver/functions/diff.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/index.js
+var require_commonjs3 = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/index.js"(exports2) {
     "use strict";
-    var parse2 = require_parse3();
-    var diff = (version1, version2) => {
-      const v1 = parse2(version1, null, true);
-      const v2 = parse2(version2, null, true);
-      const comparison = v1.compare(v2);
-      if (comparison === 0) {
-        return null;
-      }
-      const v1Higher = comparison > 0;
-      const highVersion = v1Higher ? v1 : v2;
-      const lowVersion = v1Higher ? v2 : v1;
-      const highHasPre = !!highVersion.prerelease.length;
-      const lowHasPre = !!lowVersion.prerelease.length;
-      if (lowHasPre && !highHasPre) {
-        if (!lowVersion.patch && !lowVersion.minor) {
-          return "major";
-        }
-        if (lowVersion.compareMain(highVersion) === 0) {
-          if (lowVersion.minor && !lowVersion.patch) {
-            return "minor";
-          }
-          return "patch";
-        }
-      }
-      const prefix = highHasPre ? "pre" : "";
-      if (v1.major !== v2.major) {
-        return prefix + "major";
-      }
-      if (v1.minor !== v2.minor) {
-        return prefix + "minor";
-      }
-      if (v1.patch !== v2.patch) {
-        return prefix + "patch";
-      }
-      return "prerelease";
-    };
-    module2.exports = diff;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createRestError = exports2.operationOptionsToRequestParameters = exports2.getClient = exports2.createDefaultHttpClient = exports2.uint8ArrayToString = exports2.stringToUint8Array = exports2.isRestError = exports2.RestError = exports2.createEmptyPipeline = exports2.createPipelineRequest = exports2.createHttpHeaders = exports2.TypeSpecRuntimeLogger = exports2.setLogLevel = exports2.getLogLevel = exports2.createClientLogger = exports2.AbortError = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var AbortError_js_1 = require_AbortError();
+    Object.defineProperty(exports2, "AbortError", { enumerable: true, get: function() {
+      return AbortError_js_1.AbortError;
+    } });
+    var logger_js_1 = require_logger();
+    Object.defineProperty(exports2, "createClientLogger", { enumerable: true, get: function() {
+      return logger_js_1.createClientLogger;
+    } });
+    Object.defineProperty(exports2, "getLogLevel", { enumerable: true, get: function() {
+      return logger_js_1.getLogLevel;
+    } });
+    Object.defineProperty(exports2, "setLogLevel", { enumerable: true, get: function() {
+      return logger_js_1.setLogLevel;
+    } });
+    Object.defineProperty(exports2, "TypeSpecRuntimeLogger", { enumerable: true, get: function() {
+      return logger_js_1.TypeSpecRuntimeLogger;
+    } });
+    var httpHeaders_js_1 = require_httpHeaders();
+    Object.defineProperty(exports2, "createHttpHeaders", { enumerable: true, get: function() {
+      return httpHeaders_js_1.createHttpHeaders;
+    } });
+    tslib_1.__exportStar(require_schemes(), exports2);
+    tslib_1.__exportStar(require_oauth2Flows(), exports2);
+    var pipelineRequest_js_1 = require_pipelineRequest();
+    Object.defineProperty(exports2, "createPipelineRequest", { enumerable: true, get: function() {
+      return pipelineRequest_js_1.createPipelineRequest;
+    } });
+    var pipeline_js_1 = require_pipeline();
+    Object.defineProperty(exports2, "createEmptyPipeline", { enumerable: true, get: function() {
+      return pipeline_js_1.createEmptyPipeline;
+    } });
+    var restError_js_1 = require_restError();
+    Object.defineProperty(exports2, "RestError", { enumerable: true, get: function() {
+      return restError_js_1.RestError;
+    } });
+    Object.defineProperty(exports2, "isRestError", { enumerable: true, get: function() {
+      return restError_js_1.isRestError;
+    } });
+    var bytesEncoding_js_1 = require_bytesEncoding();
+    Object.defineProperty(exports2, "stringToUint8Array", { enumerable: true, get: function() {
+      return bytesEncoding_js_1.stringToUint8Array;
+    } });
+    Object.defineProperty(exports2, "uint8ArrayToString", { enumerable: true, get: function() {
+      return bytesEncoding_js_1.uint8ArrayToString;
+    } });
+    var defaultHttpClient_js_1 = require_defaultHttpClient();
+    Object.defineProperty(exports2, "createDefaultHttpClient", { enumerable: true, get: function() {
+      return defaultHttpClient_js_1.createDefaultHttpClient;
+    } });
+    var getClient_js_1 = require_getClient();
+    Object.defineProperty(exports2, "getClient", { enumerable: true, get: function() {
+      return getClient_js_1.getClient;
+    } });
+    var operationOptionHelpers_js_1 = require_operationOptionHelpers();
+    Object.defineProperty(exports2, "operationOptionsToRequestParameters", { enumerable: true, get: function() {
+      return operationOptionHelpers_js_1.operationOptionsToRequestParameters;
+    } });
+    var restError_js_2 = require_restError2();
+    Object.defineProperty(exports2, "createRestError", { enumerable: true, get: function() {
+      return restError_js_2.createRestError;
+    } });
   }
 });
 
-// node_modules/semver/functions/major.js
-var require_major = __commonJS({
-  "node_modules/semver/functions/major.js"(exports2, module2) {
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/pipeline.js
+var require_pipeline2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/pipeline.js"(exports2) {
     "use strict";
-    var SemVer = require_semver();
-    var major = (a, loose) => new SemVer(a, loose).major;
-    module2.exports = major;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createEmptyPipeline = createEmptyPipeline;
+    var ts_http_runtime_1 = require_commonjs3();
+    function createEmptyPipeline() {
+      return (0, ts_http_runtime_1.createEmptyPipeline)();
+    }
   }
 });
 
-// node_modules/semver/functions/minor.js
-var require_minor = __commonJS({
-  "node_modules/semver/functions/minor.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/internal.js
+var require_internal = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/internal.js"(exports2) {
     "use strict";
-    var SemVer = require_semver();
-    var minor = (a, loose) => new SemVer(a, loose).minor;
-    module2.exports = minor;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createLoggerContext = void 0;
+    var logger_js_1 = require_logger();
+    Object.defineProperty(exports2, "createLoggerContext", { enumerable: true, get: function() {
+      return logger_js_1.createLoggerContext;
+    } });
   }
 });
 
-// node_modules/semver/functions/patch.js
-var require_patch = __commonJS({
-  "node_modules/semver/functions/patch.js"(exports2, module2) {
+// node_modules/@azure/logger/dist/commonjs/index.js
+var require_commonjs4 = __commonJS({
+  "node_modules/@azure/logger/dist/commonjs/index.js"(exports2) {
     "use strict";
-    var SemVer = require_semver();
-    var patch = (a, loose) => new SemVer(a, loose).patch;
-    module2.exports = patch;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AzureLogger = void 0;
+    exports2.setLogLevel = setLogLevel;
+    exports2.getLogLevel = getLogLevel;
+    exports2.createClientLogger = createClientLogger;
+    var logger_1 = require_internal();
+    var context2 = (0, logger_1.createLoggerContext)({
+      logLevelEnvVarName: "AZURE_LOG_LEVEL",
+      namespace: "azure"
+    });
+    exports2.AzureLogger = context2.logger;
+    function setLogLevel(level) {
+      context2.setLogLevel(level);
+    }
+    function getLogLevel() {
+      return context2.getLogLevel();
+    }
+    function createClientLogger(namespace) {
+      return context2.createClientLogger(namespace);
+    }
   }
 });
 
-// node_modules/semver/functions/prerelease.js
-var require_prerelease = __commonJS({
-  "node_modules/semver/functions/prerelease.js"(exports2, module2) {
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/log.js
+var require_log3 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/log.js"(exports2) {
     "use strict";
-    var parse2 = require_parse3();
-    var prerelease = (version, options) => {
-      const parsed = parse2(version, options);
-      return parsed && parsed.prerelease.length ? parsed.prerelease : null;
-    };
-    module2.exports = prerelease;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.logger = void 0;
+    var logger_1 = require_commonjs4();
+    exports2.logger = (0, logger_1.createClientLogger)("core-rest-pipeline");
   }
 });
 
-// node_modules/semver/functions/compare.js
-var require_compare = __commonJS({
-  "node_modules/semver/functions/compare.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/exponentialRetryPolicy.js
+var require_exponentialRetryPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/exponentialRetryPolicy.js"(exports2) {
     "use strict";
-    var SemVer = require_semver();
-    var compare2 = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose));
-    module2.exports = compare2;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.exponentialRetryPolicyName = void 0;
+    exports2.exponentialRetryPolicy = exponentialRetryPolicy;
+    var exponentialRetryStrategy_js_1 = require_exponentialRetryStrategy();
+    var retryPolicy_js_1 = require_retryPolicy();
+    var constants_js_1 = require_constants12();
+    exports2.exponentialRetryPolicyName = "exponentialRetryPolicy";
+    function exponentialRetryPolicy(options = {}) {
+      return (0, retryPolicy_js_1.retryPolicy)([
+        (0, exponentialRetryStrategy_js_1.exponentialRetryStrategy)({
+          ...options,
+          ignoreSystemErrors: true
+        })
+      ], {
+        maxRetries: options.maxRetries ?? constants_js_1.DEFAULT_RETRY_POLICY_COUNT
+      });
+    }
   }
 });
 
-// node_modules/semver/functions/rcompare.js
-var require_rcompare = __commonJS({
-  "node_modules/semver/functions/rcompare.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/systemErrorRetryPolicy.js
+var require_systemErrorRetryPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/systemErrorRetryPolicy.js"(exports2) {
     "use strict";
-    var compare2 = require_compare();
-    var rcompare = (a, b, loose) => compare2(b, a, loose);
-    module2.exports = rcompare;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.systemErrorRetryPolicyName = void 0;
+    exports2.systemErrorRetryPolicy = systemErrorRetryPolicy;
+    var exponentialRetryStrategy_js_1 = require_exponentialRetryStrategy();
+    var retryPolicy_js_1 = require_retryPolicy();
+    var constants_js_1 = require_constants12();
+    exports2.systemErrorRetryPolicyName = "systemErrorRetryPolicy";
+    function systemErrorRetryPolicy(options = {}) {
+      return {
+        name: exports2.systemErrorRetryPolicyName,
+        sendRequest: (0, retryPolicy_js_1.retryPolicy)([
+          (0, exponentialRetryStrategy_js_1.exponentialRetryStrategy)({
+            ...options,
+            ignoreHttpStatusCodes: true
+          })
+        ], {
+          maxRetries: options.maxRetries ?? constants_js_1.DEFAULT_RETRY_POLICY_COUNT
+        }).sendRequest
+      };
+    }
   }
 });
 
-// node_modules/semver/functions/compare-loose.js
-var require_compare_loose = __commonJS({
-  "node_modules/semver/functions/compare-loose.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/throttlingRetryPolicy.js
+var require_throttlingRetryPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/throttlingRetryPolicy.js"(exports2) {
     "use strict";
-    var compare2 = require_compare();
-    var compareLoose = (a, b) => compare2(a, b, true);
-    module2.exports = compareLoose;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.throttlingRetryPolicyName = void 0;
+    exports2.throttlingRetryPolicy = throttlingRetryPolicy;
+    var throttlingRetryStrategy_js_1 = require_throttlingRetryStrategy();
+    var retryPolicy_js_1 = require_retryPolicy();
+    var constants_js_1 = require_constants12();
+    exports2.throttlingRetryPolicyName = "throttlingRetryPolicy";
+    function throttlingRetryPolicy(options = {}) {
+      return {
+        name: exports2.throttlingRetryPolicyName,
+        sendRequest: (0, retryPolicy_js_1.retryPolicy)([(0, throttlingRetryStrategy_js_1.throttlingRetryStrategy)()], {
+          maxRetries: options.maxRetries ?? constants_js_1.DEFAULT_RETRY_POLICY_COUNT
+        }).sendRequest
+      };
+    }
   }
 });
 
-// node_modules/semver/functions/compare-build.js
-var require_compare_build = __commonJS({
-  "node_modules/semver/functions/compare-build.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/internal.js
+var require_internal2 = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/internal.js"(exports2) {
     "use strict";
-    var SemVer = require_semver();
-    var compareBuild = (a, b, loose) => {
-      const versionA = new SemVer(a, loose);
-      const versionB = new SemVer(b, loose);
-      return versionA.compare(versionB) || versionA.compareBuild(versionB);
-    };
-    module2.exports = compareBuild;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.userAgentPolicyName = exports2.userAgentPolicy = exports2.tlsPolicyName = exports2.tlsPolicy = exports2.redirectPolicyName = exports2.redirectPolicy = exports2.getDefaultProxySettings = exports2.proxyPolicyName = exports2.proxyPolicy = exports2.multipartPolicyName = exports2.multipartPolicy = exports2.logPolicyName = exports2.logPolicy = exports2.formDataPolicyName = exports2.formDataPolicy = exports2.throttlingRetryPolicyName = exports2.throttlingRetryPolicy = exports2.systemErrorRetryPolicyName = exports2.systemErrorRetryPolicy = exports2.retryPolicy = exports2.exponentialRetryPolicyName = exports2.exponentialRetryPolicy = exports2.defaultRetryPolicyName = exports2.defaultRetryPolicy = exports2.decompressResponsePolicyName = exports2.decompressResponsePolicy = exports2.agentPolicyName = exports2.agentPolicy = void 0;
+    var agentPolicy_js_1 = require_agentPolicy();
+    Object.defineProperty(exports2, "agentPolicy", { enumerable: true, get: function() {
+      return agentPolicy_js_1.agentPolicy;
+    } });
+    Object.defineProperty(exports2, "agentPolicyName", { enumerable: true, get: function() {
+      return agentPolicy_js_1.agentPolicyName;
+    } });
+    var decompressResponsePolicy_js_1 = require_decompressResponsePolicy();
+    Object.defineProperty(exports2, "decompressResponsePolicy", { enumerable: true, get: function() {
+      return decompressResponsePolicy_js_1.decompressResponsePolicy;
+    } });
+    Object.defineProperty(exports2, "decompressResponsePolicyName", { enumerable: true, get: function() {
+      return decompressResponsePolicy_js_1.decompressResponsePolicyName;
+    } });
+    var defaultRetryPolicy_js_1 = require_defaultRetryPolicy();
+    Object.defineProperty(exports2, "defaultRetryPolicy", { enumerable: true, get: function() {
+      return defaultRetryPolicy_js_1.defaultRetryPolicy;
+    } });
+    Object.defineProperty(exports2, "defaultRetryPolicyName", { enumerable: true, get: function() {
+      return defaultRetryPolicy_js_1.defaultRetryPolicyName;
+    } });
+    var exponentialRetryPolicy_js_1 = require_exponentialRetryPolicy();
+    Object.defineProperty(exports2, "exponentialRetryPolicy", { enumerable: true, get: function() {
+      return exponentialRetryPolicy_js_1.exponentialRetryPolicy;
+    } });
+    Object.defineProperty(exports2, "exponentialRetryPolicyName", { enumerable: true, get: function() {
+      return exponentialRetryPolicy_js_1.exponentialRetryPolicyName;
+    } });
+    var retryPolicy_js_1 = require_retryPolicy();
+    Object.defineProperty(exports2, "retryPolicy", { enumerable: true, get: function() {
+      return retryPolicy_js_1.retryPolicy;
+    } });
+    var systemErrorRetryPolicy_js_1 = require_systemErrorRetryPolicy();
+    Object.defineProperty(exports2, "systemErrorRetryPolicy", { enumerable: true, get: function() {
+      return systemErrorRetryPolicy_js_1.systemErrorRetryPolicy;
+    } });
+    Object.defineProperty(exports2, "systemErrorRetryPolicyName", { enumerable: true, get: function() {
+      return systemErrorRetryPolicy_js_1.systemErrorRetryPolicyName;
+    } });
+    var throttlingRetryPolicy_js_1 = require_throttlingRetryPolicy();
+    Object.defineProperty(exports2, "throttlingRetryPolicy", { enumerable: true, get: function() {
+      return throttlingRetryPolicy_js_1.throttlingRetryPolicy;
+    } });
+    Object.defineProperty(exports2, "throttlingRetryPolicyName", { enumerable: true, get: function() {
+      return throttlingRetryPolicy_js_1.throttlingRetryPolicyName;
+    } });
+    var formDataPolicy_js_1 = require_formDataPolicy();
+    Object.defineProperty(exports2, "formDataPolicy", { enumerable: true, get: function() {
+      return formDataPolicy_js_1.formDataPolicy;
+    } });
+    Object.defineProperty(exports2, "formDataPolicyName", { enumerable: true, get: function() {
+      return formDataPolicy_js_1.formDataPolicyName;
+    } });
+    var logPolicy_js_1 = require_logPolicy();
+    Object.defineProperty(exports2, "logPolicy", { enumerable: true, get: function() {
+      return logPolicy_js_1.logPolicy;
+    } });
+    Object.defineProperty(exports2, "logPolicyName", { enumerable: true, get: function() {
+      return logPolicy_js_1.logPolicyName;
+    } });
+    var multipartPolicy_js_1 = require_multipartPolicy();
+    Object.defineProperty(exports2, "multipartPolicy", { enumerable: true, get: function() {
+      return multipartPolicy_js_1.multipartPolicy;
+    } });
+    Object.defineProperty(exports2, "multipartPolicyName", { enumerable: true, get: function() {
+      return multipartPolicy_js_1.multipartPolicyName;
+    } });
+    var proxyPolicy_js_1 = require_proxyPolicy();
+    Object.defineProperty(exports2, "proxyPolicy", { enumerable: true, get: function() {
+      return proxyPolicy_js_1.proxyPolicy;
+    } });
+    Object.defineProperty(exports2, "proxyPolicyName", { enumerable: true, get: function() {
+      return proxyPolicy_js_1.proxyPolicyName;
+    } });
+    Object.defineProperty(exports2, "getDefaultProxySettings", { enumerable: true, get: function() {
+      return proxyPolicy_js_1.getDefaultProxySettings;
+    } });
+    var redirectPolicy_js_1 = require_redirectPolicy();
+    Object.defineProperty(exports2, "redirectPolicy", { enumerable: true, get: function() {
+      return redirectPolicy_js_1.redirectPolicy;
+    } });
+    Object.defineProperty(exports2, "redirectPolicyName", { enumerable: true, get: function() {
+      return redirectPolicy_js_1.redirectPolicyName;
+    } });
+    var tlsPolicy_js_1 = require_tlsPolicy();
+    Object.defineProperty(exports2, "tlsPolicy", { enumerable: true, get: function() {
+      return tlsPolicy_js_1.tlsPolicy;
+    } });
+    Object.defineProperty(exports2, "tlsPolicyName", { enumerable: true, get: function() {
+      return tlsPolicy_js_1.tlsPolicyName;
+    } });
+    var userAgentPolicy_js_1 = require_userAgentPolicy();
+    Object.defineProperty(exports2, "userAgentPolicy", { enumerable: true, get: function() {
+      return userAgentPolicy_js_1.userAgentPolicy;
+    } });
+    Object.defineProperty(exports2, "userAgentPolicyName", { enumerable: true, get: function() {
+      return userAgentPolicy_js_1.userAgentPolicyName;
+    } });
   }
 });
 
-// node_modules/semver/functions/sort.js
-var require_sort = __commonJS({
-  "node_modules/semver/functions/sort.js"(exports2, module2) {
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/logPolicy.js
+var require_logPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/logPolicy.js"(exports2) {
     "use strict";
-    var compareBuild = require_compare_build();
-    var sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose));
-    module2.exports = sort;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.logPolicyName = void 0;
+    exports2.logPolicy = logPolicy;
+    var log_js_1 = require_log3();
+    var policies_1 = require_internal2();
+    exports2.logPolicyName = policies_1.logPolicyName;
+    function logPolicy(options = {}) {
+      return (0, policies_1.logPolicy)({
+        logger: log_js_1.logger.info,
+        ...options
+      });
+    }
   }
 });
 
-// node_modules/semver/functions/rsort.js
-var require_rsort = __commonJS({
-  "node_modules/semver/functions/rsort.js"(exports2, module2) {
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/redirectPolicy.js
+var require_redirectPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/redirectPolicy.js"(exports2) {
     "use strict";
-    var compareBuild = require_compare_build();
-    var rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose));
-    module2.exports = rsort;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.redirectPolicyName = void 0;
+    exports2.redirectPolicy = redirectPolicy;
+    var policies_1 = require_internal2();
+    exports2.redirectPolicyName = policies_1.redirectPolicyName;
+    function redirectPolicy(options = {}) {
+      return (0, policies_1.redirectPolicy)(options);
+    }
   }
 });
 
-// node_modules/semver/functions/gt.js
-var require_gt = __commonJS({
-  "node_modules/semver/functions/gt.js"(exports2, module2) {
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/util/userAgentPlatform.js
+var require_userAgentPlatform2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/util/userAgentPlatform.js"(exports2) {
     "use strict";
-    var compare2 = require_compare();
-    var gt = (a, b, loose) => compare2(a, b, loose) > 0;
-    module2.exports = gt;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getHeaderName = getHeaderName;
+    exports2.setPlatformSpecificData = setPlatformSpecificData;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var node_os_1 = tslib_1.__importDefault(require("node:os"));
+    var node_process_1 = tslib_1.__importDefault(require("node:process"));
+    function getHeaderName() {
+      return "User-Agent";
+    }
+    async function setPlatformSpecificData(map2) {
+      if (node_process_1.default && node_process_1.default.versions) {
+        const osInfo = `${node_os_1.default.type()} ${node_os_1.default.release()}; ${node_os_1.default.arch()}`;
+        const versions = node_process_1.default.versions;
+        if (versions.bun) {
+          map2.set("Bun", `${versions.bun} (${osInfo})`);
+        } else if (versions.deno) {
+          map2.set("Deno", `${versions.deno} (${osInfo})`);
+        } else if (versions.node) {
+          map2.set("Node", `${versions.node} (${osInfo})`);
+        }
+      }
+    }
   }
 });
 
-// node_modules/semver/functions/lt.js
-var require_lt = __commonJS({
-  "node_modules/semver/functions/lt.js"(exports2, module2) {
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/constants.js
+var require_constants13 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/constants.js"(exports2) {
     "use strict";
-    var compare2 = require_compare();
-    var lt = (a, b, loose) => compare2(a, b, loose) < 0;
-    module2.exports = lt;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.DEFAULT_RETRY_POLICY_COUNT = exports2.SDK_VERSION = void 0;
+    exports2.SDK_VERSION = "1.22.2";
+    exports2.DEFAULT_RETRY_POLICY_COUNT = 3;
   }
 });
 
-// node_modules/semver/functions/eq.js
-var require_eq = __commonJS({
-  "node_modules/semver/functions/eq.js"(exports2, module2) {
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/util/userAgent.js
+var require_userAgent2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/util/userAgent.js"(exports2) {
     "use strict";
-    var compare2 = require_compare();
-    var eq = (a, b, loose) => compare2(a, b, loose) === 0;
-    module2.exports = eq;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getUserAgentHeaderName = getUserAgentHeaderName;
+    exports2.getUserAgentValue = getUserAgentValue;
+    var userAgentPlatform_js_1 = require_userAgentPlatform2();
+    var constants_js_1 = require_constants13();
+    function getUserAgentString(telemetryInfo) {
+      const parts = [];
+      for (const [key, value] of telemetryInfo) {
+        const token = value ? `${key}/${value}` : key;
+        parts.push(token);
+      }
+      return parts.join(" ");
+    }
+    function getUserAgentHeaderName() {
+      return (0, userAgentPlatform_js_1.getHeaderName)();
+    }
+    async function getUserAgentValue(prefix) {
+      const runtimeInfo = /* @__PURE__ */ new Map();
+      runtimeInfo.set("core-rest-pipeline", constants_js_1.SDK_VERSION);
+      await (0, userAgentPlatform_js_1.setPlatformSpecificData)(runtimeInfo);
+      const defaultAgent = getUserAgentString(runtimeInfo);
+      const userAgentValue = prefix ? `${prefix} ${defaultAgent}` : defaultAgent;
+      return userAgentValue;
+    }
   }
 });
 
-// node_modules/semver/functions/neq.js
-var require_neq = __commonJS({
-  "node_modules/semver/functions/neq.js"(exports2, module2) {
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/userAgentPolicy.js
+var require_userAgentPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/userAgentPolicy.js"(exports2) {
     "use strict";
-    var compare2 = require_compare();
-    var neq = (a, b, loose) => compare2(a, b, loose) !== 0;
-    module2.exports = neq;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.userAgentPolicyName = void 0;
+    exports2.userAgentPolicy = userAgentPolicy;
+    var userAgent_js_1 = require_userAgent2();
+    var UserAgentHeaderName = (0, userAgent_js_1.getUserAgentHeaderName)();
+    exports2.userAgentPolicyName = "userAgentPolicy";
+    function userAgentPolicy(options = {}) {
+      const userAgentValue = (0, userAgent_js_1.getUserAgentValue)(options.userAgentPrefix);
+      return {
+        name: exports2.userAgentPolicyName,
+        async sendRequest(request2, next) {
+          if (!request2.headers.has(UserAgentHeaderName)) {
+            request2.headers.set(UserAgentHeaderName, await userAgentValue);
+          }
+          return next(request2);
+        }
+      };
+    }
   }
 });
 
-// node_modules/semver/functions/gte.js
-var require_gte = __commonJS({
-  "node_modules/semver/functions/gte.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/sha256.js
+var require_sha256 = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/sha256.js"(exports2) {
     "use strict";
-    var compare2 = require_compare();
-    var gte6 = (a, b, loose) => compare2(a, b, loose) >= 0;
-    module2.exports = gte6;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.computeSha256Hmac = computeSha256Hmac;
+    exports2.computeSha256Hash = computeSha256Hash;
+    var node_crypto_1 = require("node:crypto");
+    async function computeSha256Hmac(key, stringToSign, encoding) {
+      const decodedKey = Buffer.from(key, "base64");
+      return (0, node_crypto_1.createHmac)("sha256", decodedKey).update(stringToSign).digest(encoding);
+    }
+    async function computeSha256Hash(content, encoding) {
+      return (0, node_crypto_1.createHash)("sha256").update(content).digest(encoding);
+    }
   }
 });
 
-// node_modules/semver/functions/lte.js
-var require_lte = __commonJS({
-  "node_modules/semver/functions/lte.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/internal.js
+var require_internal3 = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/internal.js"(exports2) {
     "use strict";
-    var compare2 = require_compare();
-    var lte = (a, b, loose) => compare2(a, b, loose) <= 0;
-    module2.exports = lte;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Sanitizer = exports2.uint8ArrayToString = exports2.stringToUint8Array = exports2.isWebWorker = exports2.isReactNative = exports2.isDeno = exports2.isNodeRuntime = exports2.isNodeLike = exports2.isBun = exports2.isBrowser = exports2.randomUUID = exports2.computeSha256Hmac = exports2.computeSha256Hash = exports2.isError = exports2.isObject = exports2.getRandomIntegerInclusive = exports2.calculateRetryDelay = void 0;
+    var delay_js_1 = require_delay();
+    Object.defineProperty(exports2, "calculateRetryDelay", { enumerable: true, get: function() {
+      return delay_js_1.calculateRetryDelay;
+    } });
+    var random_js_1 = require_random();
+    Object.defineProperty(exports2, "getRandomIntegerInclusive", { enumerable: true, get: function() {
+      return random_js_1.getRandomIntegerInclusive;
+    } });
+    var object_js_1 = require_object();
+    Object.defineProperty(exports2, "isObject", { enumerable: true, get: function() {
+      return object_js_1.isObject;
+    } });
+    var error_js_1 = require_error();
+    Object.defineProperty(exports2, "isError", { enumerable: true, get: function() {
+      return error_js_1.isError;
+    } });
+    var sha256_js_1 = require_sha256();
+    Object.defineProperty(exports2, "computeSha256Hash", { enumerable: true, get: function() {
+      return sha256_js_1.computeSha256Hash;
+    } });
+    Object.defineProperty(exports2, "computeSha256Hmac", { enumerable: true, get: function() {
+      return sha256_js_1.computeSha256Hmac;
+    } });
+    var uuidUtils_js_1 = require_uuidUtils();
+    Object.defineProperty(exports2, "randomUUID", { enumerable: true, get: function() {
+      return uuidUtils_js_1.randomUUID;
+    } });
+    var checkEnvironment_js_1 = require_checkEnvironment();
+    Object.defineProperty(exports2, "isBrowser", { enumerable: true, get: function() {
+      return checkEnvironment_js_1.isBrowser;
+    } });
+    Object.defineProperty(exports2, "isBun", { enumerable: true, get: function() {
+      return checkEnvironment_js_1.isBun;
+    } });
+    Object.defineProperty(exports2, "isNodeLike", { enumerable: true, get: function() {
+      return checkEnvironment_js_1.isNodeLike;
+    } });
+    Object.defineProperty(exports2, "isNodeRuntime", { enumerable: true, get: function() {
+      return checkEnvironment_js_1.isNodeRuntime;
+    } });
+    Object.defineProperty(exports2, "isDeno", { enumerable: true, get: function() {
+      return checkEnvironment_js_1.isDeno;
+    } });
+    Object.defineProperty(exports2, "isReactNative", { enumerable: true, get: function() {
+      return checkEnvironment_js_1.isReactNative;
+    } });
+    Object.defineProperty(exports2, "isWebWorker", { enumerable: true, get: function() {
+      return checkEnvironment_js_1.isWebWorker;
+    } });
+    var bytesEncoding_js_1 = require_bytesEncoding();
+    Object.defineProperty(exports2, "stringToUint8Array", { enumerable: true, get: function() {
+      return bytesEncoding_js_1.stringToUint8Array;
+    } });
+    Object.defineProperty(exports2, "uint8ArrayToString", { enumerable: true, get: function() {
+      return bytesEncoding_js_1.uint8ArrayToString;
+    } });
+    var sanitizer_js_1 = require_sanitizer();
+    Object.defineProperty(exports2, "Sanitizer", { enumerable: true, get: function() {
+      return sanitizer_js_1.Sanitizer;
+    } });
   }
 });
 
-// node_modules/semver/functions/cmp.js
-var require_cmp = __commonJS({
-  "node_modules/semver/functions/cmp.js"(exports2, module2) {
+// node_modules/@azure/core-util/dist/commonjs/aborterUtils.js
+var require_aborterUtils = __commonJS({
+  "node_modules/@azure/core-util/dist/commonjs/aborterUtils.js"(exports2) {
     "use strict";
-    var eq = require_eq();
-    var neq = require_neq();
-    var gt = require_gt();
-    var gte6 = require_gte();
-    var lt = require_lt();
-    var lte = require_lte();
-    var cmp = (a, op, b, loose) => {
-      switch (op) {
-        case "===":
-          if (typeof a === "object") {
-            a = a.version;
-          }
-          if (typeof b === "object") {
-            b = b.version;
-          }
-          return a === b;
-        case "!==":
-          if (typeof a === "object") {
-            a = a.version;
-          }
-          if (typeof b === "object") {
-            b = b.version;
-          }
-          return a !== b;
-        case "":
-        case "=":
-        case "==":
-          return eq(a, b, loose);
-        case "!=":
-          return neq(a, b, loose);
-        case ">":
-          return gt(a, b, loose);
-        case ">=":
-          return gte6(a, b, loose);
-        case "<":
-          return lt(a, b, loose);
-        case "<=":
-          return lte(a, b, loose);
-        default:
-          throw new TypeError(`Invalid operator: ${op}`);
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.cancelablePromiseRace = cancelablePromiseRace;
+    async function cancelablePromiseRace(abortablePromiseBuilders, options) {
+      const aborter = new AbortController();
+      function abortHandler() {
+        aborter.abort();
       }
-    };
-    module2.exports = cmp;
+      options?.abortSignal?.addEventListener("abort", abortHandler);
+      try {
+        return await Promise.race(abortablePromiseBuilders.map((p) => p({ abortSignal: aborter.signal })));
+      } finally {
+        aborter.abort();
+        options?.abortSignal?.removeEventListener("abort", abortHandler);
+      }
+    }
   }
 });
 
-// node_modules/semver/functions/coerce.js
-var require_coerce = __commonJS({
-  "node_modules/semver/functions/coerce.js"(exports2, module2) {
+// node_modules/@azure/core-util/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js
+var require_AbortError2 = __commonJS({
+  "node_modules/@azure/core-util/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js"(exports2) {
     "use strict";
-    var SemVer = require_semver();
-    var parse2 = require_parse3();
-    var { safeRe: re, t } = require_re();
-    var coerce3 = (version, options) => {
-      if (version instanceof SemVer) {
-        return version;
-      }
-      if (typeof version === "number") {
-        version = String(version);
-      }
-      if (typeof version !== "string") {
-        return null;
-      }
-      options = options || {};
-      let match = null;
-      if (!options.rtl) {
-        match = version.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE]);
-      } else {
-        const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL];
-        let next;
-        while ((next = coerceRtlRegex.exec(version)) && (!match || match.index + match[0].length !== version.length)) {
-          if (!match || next.index + next[0].length !== match.index + match[0].length) {
-            match = next;
-          }
-          coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length;
-        }
-        coerceRtlRegex.lastIndex = -1;
-      }
-      if (match === null) {
-        return null;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AbortError = void 0;
+    var AbortError = class extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "AbortError";
       }
-      const major = match[2];
-      const minor = match[3] || "0";
-      const patch = match[4] || "0";
-      const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : "";
-      const build = options.includePrerelease && match[6] ? `+${match[6]}` : "";
-      return parse2(`${major}.${minor}.${patch}${prerelease}${build}`, options);
     };
-    module2.exports = coerce3;
+    exports2.AbortError = AbortError;
   }
 });
 
-// node_modules/semver/internal/lrucache.js
-var require_lrucache = __commonJS({
-  "node_modules/semver/internal/lrucache.js"(exports2, module2) {
+// node_modules/@azure/core-util/node_modules/@azure/abort-controller/dist/commonjs/index.js
+var require_commonjs5 = __commonJS({
+  "node_modules/@azure/core-util/node_modules/@azure/abort-controller/dist/commonjs/index.js"(exports2) {
     "use strict";
-    var LRUCache = class {
-      constructor() {
-        this.max = 1e3;
-        this.map = /* @__PURE__ */ new Map();
-      }
-      get(key) {
-        const value = this.map.get(key);
-        if (value === void 0) {
-          return void 0;
-        } else {
-          this.map.delete(key);
-          this.map.set(key, value);
-          return value;
-        }
-      }
-      delete(key) {
-        return this.map.delete(key);
-      }
-      set(key, value) {
-        const deleted = this.delete(key);
-        if (!deleted && value !== void 0) {
-          if (this.map.size >= this.max) {
-            const firstKey = this.map.keys().next().value;
-            this.delete(firstKey);
-          }
-          this.map.set(key, value);
-        }
-        return this;
-      }
-    };
-    module2.exports = LRUCache;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AbortError = void 0;
+    var AbortError_js_1 = require_AbortError2();
+    Object.defineProperty(exports2, "AbortError", { enumerable: true, get: function() {
+      return AbortError_js_1.AbortError;
+    } });
   }
 });
 
-// node_modules/semver/classes/range.js
-var require_range = __commonJS({
-  "node_modules/semver/classes/range.js"(exports2, module2) {
+// node_modules/@azure/core-util/dist/commonjs/createAbortablePromise.js
+var require_createAbortablePromise = __commonJS({
+  "node_modules/@azure/core-util/dist/commonjs/createAbortablePromise.js"(exports2) {
     "use strict";
-    var SPACE_CHARACTERS = /\s+/g;
-    var Range2 = class _Range {
-      constructor(range, options) {
-        options = parseOptions(options);
-        if (range instanceof _Range) {
-          if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
-            return range;
-          } else {
-            return new _Range(range.raw, options);
-          }
-        }
-        if (range instanceof Comparator) {
-          this.raw = range.value;
-          this.set = [[range]];
-          this.formatted = void 0;
-          return this;
-        }
-        this.options = options;
-        this.loose = !!options.loose;
-        this.includePrerelease = !!options.includePrerelease;
-        this.raw = range.trim().replace(SPACE_CHARACTERS, " ");
-        this.set = this.raw.split("||").map((r) => this.parseRange(r.trim())).filter((c) => c.length);
-        if (!this.set.length) {
-          throw new TypeError(`Invalid SemVer Range: ${this.raw}`);
-        }
-        if (this.set.length > 1) {
-          const first = this.set[0];
-          this.set = this.set.filter((c) => !isNullSet(c[0]));
-          if (this.set.length === 0) {
-            this.set = [first];
-          } else if (this.set.length > 1) {
-            for (const c of this.set) {
-              if (c.length === 1 && isAny(c[0])) {
-                this.set = [c];
-                break;
-              }
-            }
-          }
-        }
-        this.formatted = void 0;
-      }
-      get range() {
-        if (this.formatted === void 0) {
-          this.formatted = "";
-          for (let i = 0; i < this.set.length; i++) {
-            if (i > 0) {
-              this.formatted += "||";
-            }
-            const comps = this.set[i];
-            for (let k = 0; k < comps.length; k++) {
-              if (k > 0) {
-                this.formatted += " ";
-              }
-              this.formatted += comps[k].toString().trim();
-            }
-          }
-        }
-        return this.formatted;
-      }
-      format() {
-        return this.range;
-      }
-      toString() {
-        return this.range;
-      }
-      parseRange(range) {
-        const memoOpts = (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | (this.options.loose && FLAG_LOOSE);
-        const memoKey = memoOpts + ":" + range;
-        const cached = cache.get(memoKey);
-        if (cached) {
-          return cached;
-        }
-        const loose = this.options.loose;
-        const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE];
-        range = range.replace(hr, hyphenReplace(this.options.includePrerelease));
-        debug4("hyphen replace", range);
-        range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace);
-        debug4("comparator trim", range);
-        range = range.replace(re[t.TILDETRIM], tildeTrimReplace);
-        debug4("tilde trim", range);
-        range = range.replace(re[t.CARETTRIM], caretTrimReplace);
-        debug4("caret trim", range);
-        let rangeList = range.split(" ").map((comp) => parseComparator(comp, this.options)).join(" ").split(/\s+/).map((comp) => replaceGTE0(comp, this.options));
-        if (loose) {
-          rangeList = rangeList.filter((comp) => {
-            debug4("loose invalid filter", comp, this.options);
-            return !!comp.match(re[t.COMPARATORLOOSE]);
-          });
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createAbortablePromise = createAbortablePromise;
+    var abort_controller_1 = require_commonjs5();
+    function createAbortablePromise(buildPromise, options) {
+      const { cleanupBeforeAbort, abortSignal, abortErrorMsg } = options ?? {};
+      return new Promise((resolve2, reject) => {
+        function rejectOnAbort() {
+          reject(new abort_controller_1.AbortError(abortErrorMsg ?? "The operation was aborted."));
         }
-        debug4("range list", rangeList);
-        const rangeMap = /* @__PURE__ */ new Map();
-        const comparators = rangeList.map((comp) => new Comparator(comp, this.options));
-        for (const comp of comparators) {
-          if (isNullSet(comp)) {
-            return [comp];
-          }
-          rangeMap.set(comp.value, comp);
+        function removeListeners() {
+          abortSignal?.removeEventListener("abort", onAbort);
         }
-        if (rangeMap.size > 1 && rangeMap.has("")) {
-          rangeMap.delete("");
+        function onAbort() {
+          cleanupBeforeAbort?.();
+          removeListeners();
+          rejectOnAbort();
         }
-        const result = [...rangeMap.values()];
-        cache.set(memoKey, result);
-        return result;
-      }
-      intersects(range, options) {
-        if (!(range instanceof _Range)) {
-          throw new TypeError("a Range is required");
+        if (abortSignal?.aborted) {
+          return rejectOnAbort();
         }
-        return this.set.some((thisComparators) => {
-          return isSatisfiable(thisComparators, options) && range.set.some((rangeComparators) => {
-            return isSatisfiable(rangeComparators, options) && thisComparators.every((thisComparator) => {
-              return rangeComparators.every((rangeComparator) => {
-                return thisComparator.intersects(rangeComparator, options);
-              });
-            });
+        try {
+          buildPromise((x) => {
+            removeListeners();
+            resolve2(x);
+          }, (x) => {
+            removeListeners();
+            reject(x);
           });
-        });
-      }
-      // if ANY of the sets match ALL of its comparators, then pass
-      test(version) {
-        if (!version) {
-          return false;
-        }
-        if (typeof version === "string") {
-          try {
-            version = new SemVer(version, this.options);
-          } catch (er) {
-            return false;
-          }
-        }
-        for (let i = 0; i < this.set.length; i++) {
-          if (testSet(this.set[i], version, this.options)) {
-            return true;
-          }
-        }
-        return false;
-      }
-    };
-    module2.exports = Range2;
-    var LRU = require_lrucache();
-    var cache = new LRU();
-    var parseOptions = require_parse_options();
-    var Comparator = require_comparator();
-    var debug4 = require_debug();
-    var SemVer = require_semver();
-    var {
-      safeRe: re,
-      t,
-      comparatorTrimReplace,
-      tildeTrimReplace,
-      caretTrimReplace
-    } = require_re();
-    var { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require_constants11();
-    var isNullSet = (c) => c.value === "<0.0.0-0";
-    var isAny = (c) => c.value === "";
-    var isSatisfiable = (comparators, options) => {
-      let result = true;
-      const remainingComparators = comparators.slice();
-      let testComparator = remainingComparators.pop();
-      while (result && remainingComparators.length) {
-        result = remainingComparators.every((otherComparator) => {
-          return testComparator.intersects(otherComparator, options);
-        });
-        testComparator = remainingComparators.pop();
-      }
-      return result;
-    };
-    var parseComparator = (comp, options) => {
-      comp = comp.replace(re[t.BUILD], "");
-      debug4("comp", comp, options);
-      comp = replaceCarets(comp, options);
-      debug4("caret", comp);
-      comp = replaceTildes(comp, options);
-      debug4("tildes", comp);
-      comp = replaceXRanges(comp, options);
-      debug4("xrange", comp);
-      comp = replaceStars(comp, options);
-      debug4("stars", comp);
-      return comp;
-    };
-    var isX = (id) => !id || id.toLowerCase() === "x" || id === "*";
-    var replaceTildes = (comp, options) => {
-      return comp.trim().split(/\s+/).map((c) => replaceTilde(c, options)).join(" ");
-    };
-    var replaceTilde = (comp, options) => {
-      const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
-      return comp.replace(r, (_2, M, m, p, pr) => {
-        debug4("tilde", comp, _2, M, m, p, pr);
-        let ret;
-        if (isX(M)) {
-          ret = "";
-        } else if (isX(m)) {
-          ret = `>=${M}.0.0 <${+M + 1}.0.0-0`;
-        } else if (isX(p)) {
-          ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`;
-        } else if (pr) {
-          debug4("replaceTilde pr", pr);
-          ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
-        } else {
-          ret = `>=${M}.${m}.${p} <${M}.${+m + 1}.0-0`;
+        } catch (err) {
+          reject(err);
         }
-        debug4("tilde return", ret);
-        return ret;
+        abortSignal?.addEventListener("abort", onAbort);
       });
-    };
-    var replaceCarets = (comp, options) => {
-      return comp.trim().split(/\s+/).map((c) => replaceCaret(c, options)).join(" ");
-    };
-    var replaceCaret = (comp, options) => {
-      debug4("caret", comp, options);
-      const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET];
-      const z = options.includePrerelease ? "-0" : "";
-      return comp.replace(r, (_2, M, m, p, pr) => {
-        debug4("caret", comp, _2, M, m, p, pr);
-        let ret;
-        if (isX(M)) {
-          ret = "";
-        } else if (isX(m)) {
-          ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`;
-        } else if (isX(p)) {
-          if (M === "0") {
-            ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`;
-          } else {
-            ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`;
-          }
-        } else if (pr) {
-          debug4("replaceCaret pr", pr);
-          if (M === "0") {
-            if (m === "0") {
-              ret = `>=${M}.${m}.${p}-${pr} <${M}.${m}.${+p + 1}-0`;
-            } else {
-              ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
-            }
-          } else {
-            ret = `>=${M}.${m}.${p}-${pr} <${+M + 1}.0.0-0`;
-          }
-        } else {
-          debug4("no pr");
-          if (M === "0") {
-            if (m === "0") {
-              ret = `>=${M}.${m}.${p}${z} <${M}.${m}.${+p + 1}-0`;
-            } else {
-              ret = `>=${M}.${m}.${p}${z} <${M}.${+m + 1}.0-0`;
-            }
-          } else {
-            ret = `>=${M}.${m}.${p} <${+M + 1}.0.0-0`;
-          }
-        }
-        debug4("caret return", ret);
-        return ret;
+    }
+  }
+});
+
+// node_modules/@azure/core-util/dist/commonjs/delay.js
+var require_delay2 = __commonJS({
+  "node_modules/@azure/core-util/dist/commonjs/delay.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.delay = delay;
+    exports2.calculateRetryDelay = calculateRetryDelay;
+    var createAbortablePromise_js_1 = require_createAbortablePromise();
+    var util_1 = require_internal3();
+    var StandardAbortMessage = "The delay was aborted.";
+    function delay(timeInMs, options) {
+      let token;
+      const { abortSignal, abortErrorMsg } = options ?? {};
+      return (0, createAbortablePromise_js_1.createAbortablePromise)((resolve2) => {
+        token = setTimeout(resolve2, timeInMs);
+      }, {
+        cleanupBeforeAbort: () => clearTimeout(token),
+        abortSignal,
+        abortErrorMsg: abortErrorMsg ?? StandardAbortMessage
       });
-    };
-    var replaceXRanges = (comp, options) => {
-      debug4("replaceXRanges", comp, options);
-      return comp.split(/\s+/).map((c) => replaceXRange(c, options)).join(" ");
-    };
-    var replaceXRange = (comp, options) => {
-      comp = comp.trim();
-      const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
-      return comp.replace(r, (ret, gtlt, M, m, p, pr) => {
-        debug4("xRange", comp, ret, gtlt, M, m, p, pr);
-        const xM = isX(M);
-        const xm = xM || isX(m);
-        const xp = xm || isX(p);
-        const anyX = xp;
-        if (gtlt === "=" && anyX) {
-          gtlt = "";
-        }
-        pr = options.includePrerelease ? "-0" : "";
-        if (xM) {
-          if (gtlt === ">" || gtlt === "<") {
-            ret = "<0.0.0-0";
+    }
+    function calculateRetryDelay(retryAttempt, config) {
+      const exponentialDelay = config.retryDelayInMs * Math.pow(2, retryAttempt);
+      const clampedDelay = Math.min(config.maxRetryDelayInMs, exponentialDelay);
+      const retryAfterInMs = clampedDelay / 2 + (0, util_1.getRandomIntegerInclusive)(0, clampedDelay / 2);
+      return { retryAfterInMs };
+    }
+  }
+});
+
+// node_modules/@azure/core-util/dist/commonjs/error.js
+var require_error2 = __commonJS({
+  "node_modules/@azure/core-util/dist/commonjs/error.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getErrorMessage = getErrorMessage2;
+    var util_1 = require_internal3();
+    function getErrorMessage2(e) {
+      if ((0, util_1.isError)(e)) {
+        return e.message;
+      } else {
+        let stringified;
+        try {
+          if (typeof e === "object" && e) {
+            stringified = JSON.stringify(e);
           } else {
-            ret = "*";
-          }
-        } else if (gtlt && anyX) {
-          if (xm) {
-            m = 0;
-          }
-          p = 0;
-          if (gtlt === ">") {
-            gtlt = ">=";
-            if (xm) {
-              M = +M + 1;
-              m = 0;
-              p = 0;
-            } else {
-              m = +m + 1;
-              p = 0;
-            }
-          } else if (gtlt === "<=") {
-            gtlt = "<";
-            if (xm) {
-              M = +M + 1;
-            } else {
-              m = +m + 1;
-            }
-          }
-          if (gtlt === "<") {
-            pr = "-0";
+            stringified = String(e);
           }
-          ret = `${gtlt + M}.${m}.${p}${pr}`;
-        } else if (xm) {
-          ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`;
-        } else if (xp) {
-          ret = `>=${M}.${m}.0${pr} <${M}.${+m + 1}.0-0`;
+        } catch (err) {
+          stringified = "[unable to stringify input]";
         }
-        debug4("xRange return", ret);
-        return ret;
-      });
-    };
-    var replaceStars = (comp, options) => {
-      debug4("replaceStars", comp, options);
-      return comp.trim().replace(re[t.STAR], "");
-    };
-    var replaceGTE0 = (comp, options) => {
-      debug4("replaceGTE0", comp, options);
-      return comp.trim().replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], "");
-    };
-    var hyphenReplace = (incPr) => ($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr) => {
-      if (isX(fM)) {
-        from = "";
-      } else if (isX(fm)) {
-        from = `>=${fM}.0.0${incPr ? "-0" : ""}`;
-      } else if (isX(fp)) {
-        from = `>=${fM}.${fm}.0${incPr ? "-0" : ""}`;
-      } else if (fpr) {
-        from = `>=${from}`;
-      } else {
-        from = `>=${from}${incPr ? "-0" : ""}`;
+        return `Unknown error ${stringified}`;
       }
-      if (isX(tM)) {
-        to = "";
-      } else if (isX(tm)) {
-        to = `<${+tM + 1}.0.0-0`;
-      } else if (isX(tp)) {
-        to = `<${tM}.${+tm + 1}.0-0`;
-      } else if (tpr) {
-        to = `<=${tM}.${tm}.${tp}-${tpr}`;
-      } else if (incPr) {
-        to = `<${tM}.${tm}.${+tp + 1}-0`;
-      } else {
-        to = `<=${to}`;
+    }
+  }
+});
+
+// node_modules/@azure/core-util/dist/commonjs/typeGuards.js
+var require_typeGuards2 = __commonJS({
+  "node_modules/@azure/core-util/dist/commonjs/typeGuards.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isDefined = isDefined3;
+    exports2.isObjectWithProperties = isObjectWithProperties;
+    exports2.objectHasProperty = objectHasProperty;
+    function isDefined3(thing) {
+      return typeof thing !== "undefined" && thing !== null;
+    }
+    function isObjectWithProperties(thing, properties) {
+      if (!isDefined3(thing) || typeof thing !== "object") {
+        return false;
       }
-      return `${from} ${to}`.trim();
-    };
-    var testSet = (set2, version, options) => {
-      for (let i = 0; i < set2.length; i++) {
-        if (!set2[i].test(version)) {
+      for (const property of properties) {
+        if (!objectHasProperty(thing, property)) {
           return false;
         }
       }
-      if (version.prerelease.length && !options.includePrerelease) {
-        for (let i = 0; i < set2.length; i++) {
-          debug4(set2[i].semver);
-          if (set2[i].semver === Comparator.ANY) {
-            continue;
-          }
-          if (set2[i].semver.prerelease.length > 0) {
-            const allowed = set2[i].semver;
-            if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) {
-              return true;
-            }
-          }
-        }
-        return false;
-      }
       return true;
-    };
+    }
+    function objectHasProperty(thing, property) {
+      return isDefined3(thing) && typeof thing === "object" && property in thing;
+    }
   }
 });
 
-// node_modules/semver/classes/comparator.js
-var require_comparator = __commonJS({
-  "node_modules/semver/classes/comparator.js"(exports2, module2) {
+// node_modules/@azure/core-util/dist/commonjs/index.js
+var require_commonjs6 = __commonJS({
+  "node_modules/@azure/core-util/dist/commonjs/index.js"(exports2) {
     "use strict";
-    var ANY = /* @__PURE__ */ Symbol("SemVer ANY");
-    var Comparator = class _Comparator {
-      static get ANY() {
-        return ANY;
-      }
-      constructor(comp, options) {
-        options = parseOptions(options);
-        if (comp instanceof _Comparator) {
-          if (comp.loose === !!options.loose) {
-            return comp;
-          } else {
-            comp = comp.value;
-          }
-        }
-        comp = comp.trim().split(/\s+/).join(" ");
-        debug4("comparator", comp, options);
-        this.options = options;
-        this.loose = !!options.loose;
-        this.parse(comp);
-        if (this.semver === ANY) {
-          this.value = "";
-        } else {
-          this.value = this.operator + this.semver.version;
-        }
-        debug4("comp", this);
-      }
-      parse(comp) {
-        const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
-        const m = comp.match(r);
-        if (!m) {
-          throw new TypeError(`Invalid comparator: ${comp}`);
-        }
-        this.operator = m[1] !== void 0 ? m[1] : "";
-        if (this.operator === "=") {
-          this.operator = "";
-        }
-        if (!m[2]) {
-          this.semver = ANY;
-        } else {
-          this.semver = new SemVer(m[2], this.options.loose);
-        }
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isWebWorker = exports2.isReactNative = exports2.isNodeRuntime = exports2.isNodeLike = exports2.isNode = exports2.isDeno = exports2.isBun = exports2.isBrowser = exports2.objectHasProperty = exports2.isObjectWithProperties = exports2.isDefined = exports2.getErrorMessage = exports2.delay = exports2.createAbortablePromise = exports2.cancelablePromiseRace = void 0;
+    exports2.calculateRetryDelay = calculateRetryDelay;
+    exports2.computeSha256Hash = computeSha256Hash;
+    exports2.computeSha256Hmac = computeSha256Hmac;
+    exports2.getRandomIntegerInclusive = getRandomIntegerInclusive;
+    exports2.isError = isError;
+    exports2.isObject = isObject2;
+    exports2.randomUUID = randomUUID;
+    exports2.uint8ArrayToString = uint8ArrayToString;
+    exports2.stringToUint8Array = stringToUint8Array;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var tspRuntime = tslib_1.__importStar(require_internal3());
+    var aborterUtils_js_1 = require_aborterUtils();
+    Object.defineProperty(exports2, "cancelablePromiseRace", { enumerable: true, get: function() {
+      return aborterUtils_js_1.cancelablePromiseRace;
+    } });
+    var createAbortablePromise_js_1 = require_createAbortablePromise();
+    Object.defineProperty(exports2, "createAbortablePromise", { enumerable: true, get: function() {
+      return createAbortablePromise_js_1.createAbortablePromise;
+    } });
+    var delay_js_1 = require_delay2();
+    Object.defineProperty(exports2, "delay", { enumerable: true, get: function() {
+      return delay_js_1.delay;
+    } });
+    var error_js_1 = require_error2();
+    Object.defineProperty(exports2, "getErrorMessage", { enumerable: true, get: function() {
+      return error_js_1.getErrorMessage;
+    } });
+    var typeGuards_js_1 = require_typeGuards2();
+    Object.defineProperty(exports2, "isDefined", { enumerable: true, get: function() {
+      return typeGuards_js_1.isDefined;
+    } });
+    Object.defineProperty(exports2, "isObjectWithProperties", { enumerable: true, get: function() {
+      return typeGuards_js_1.isObjectWithProperties;
+    } });
+    Object.defineProperty(exports2, "objectHasProperty", { enumerable: true, get: function() {
+      return typeGuards_js_1.objectHasProperty;
+    } });
+    function calculateRetryDelay(retryAttempt, config) {
+      return tspRuntime.calculateRetryDelay(retryAttempt, config);
+    }
+    function computeSha256Hash(content, encoding) {
+      return tspRuntime.computeSha256Hash(content, encoding);
+    }
+    function computeSha256Hmac(key, stringToSign, encoding) {
+      return tspRuntime.computeSha256Hmac(key, stringToSign, encoding);
+    }
+    function getRandomIntegerInclusive(min, max) {
+      return tspRuntime.getRandomIntegerInclusive(min, max);
+    }
+    function isError(e) {
+      return tspRuntime.isError(e);
+    }
+    function isObject2(input) {
+      return tspRuntime.isObject(input);
+    }
+    function randomUUID() {
+      return tspRuntime.randomUUID();
+    }
+    exports2.isBrowser = tspRuntime.isBrowser;
+    exports2.isBun = tspRuntime.isBun;
+    exports2.isDeno = tspRuntime.isDeno;
+    exports2.isNode = tspRuntime.isNodeLike;
+    exports2.isNodeLike = tspRuntime.isNodeLike;
+    exports2.isNodeRuntime = tspRuntime.isNodeRuntime;
+    exports2.isReactNative = tspRuntime.isReactNative;
+    exports2.isWebWorker = tspRuntime.isWebWorker;
+    function uint8ArrayToString(bytes, format) {
+      return tspRuntime.uint8ArrayToString(bytes, format);
+    }
+    function stringToUint8Array(value, format) {
+      return tspRuntime.stringToUint8Array(value, format);
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/util/file.js
+var require_file3 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/util/file.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.hasRawContent = hasRawContent;
+    exports2.getRawContent = getRawContent;
+    exports2.createFileFromStream = createFileFromStream;
+    exports2.createFile = createFile;
+    var core_util_1 = require_commonjs6();
+    function isNodeReadableStream(x) {
+      return Boolean(x && typeof x["pipe"] === "function");
+    }
+    var unimplementedMethods = {
+      arrayBuffer: () => {
+        throw new Error("Not implemented");
+      },
+      bytes: () => {
+        throw new Error("Not implemented");
+      },
+      slice: () => {
+        throw new Error("Not implemented");
+      },
+      text: () => {
+        throw new Error("Not implemented");
       }
-      toString() {
-        return this.value;
+    };
+    var rawContent = /* @__PURE__ */ Symbol("rawContent");
+    function hasRawContent(x) {
+      return typeof x[rawContent] === "function";
+    }
+    function getRawContent(blob) {
+      if (hasRawContent(blob)) {
+        return blob[rawContent]();
+      } else {
+        return blob;
       }
-      test(version) {
-        debug4("Comparator.test", version, this.options.loose);
-        if (this.semver === ANY || version === ANY) {
-          return true;
-        }
-        if (typeof version === "string") {
-          try {
-            version = new SemVer(version, this.options);
-          } catch (er) {
-            return false;
+    }
+    function createFileFromStream(stream, name, options = {}) {
+      return {
+        ...unimplementedMethods,
+        type: options.type ?? "",
+        lastModified: options.lastModified ?? (/* @__PURE__ */ new Date()).getTime(),
+        webkitRelativePath: options.webkitRelativePath ?? "",
+        size: options.size ?? -1,
+        name,
+        stream: () => {
+          const s = stream();
+          if (isNodeReadableStream(s)) {
+            throw new Error("Not supported: a Node stream was provided as input to createFileFromStream.");
           }
-        }
-        return cmp(version, this.operator, this.semver, this.options);
+          return s;
+        },
+        [rawContent]: stream
+      };
+    }
+    function createFile(content, name, options = {}) {
+      if (core_util_1.isNodeLike) {
+        return {
+          ...unimplementedMethods,
+          type: options.type ?? "",
+          lastModified: options.lastModified ?? (/* @__PURE__ */ new Date()).getTime(),
+          webkitRelativePath: options.webkitRelativePath ?? "",
+          size: content.byteLength,
+          name,
+          arrayBuffer: async () => content.buffer,
+          stream: () => new Blob([toArrayBuffer(content)]).stream(),
+          [rawContent]: () => content
+        };
+      } else {
+        return new File([toArrayBuffer(content)], name, options);
       }
-      intersects(comp, options) {
-        if (!(comp instanceof _Comparator)) {
-          throw new TypeError("a Comparator is required");
-        }
-        if (this.operator === "") {
-          if (this.value === "") {
-            return true;
-          }
-          return new Range2(comp.value, options).test(this.value);
-        } else if (comp.operator === "") {
-          if (comp.value === "") {
-            return true;
+    }
+    function toArrayBuffer(source) {
+      if ("resize" in source.buffer) {
+        return source;
+      }
+      return source.map((x) => x);
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/multipartPolicy.js
+var require_multipartPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/multipartPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.multipartPolicyName = void 0;
+    exports2.multipartPolicy = multipartPolicy;
+    var policies_1 = require_internal2();
+    var file_js_1 = require_file3();
+    exports2.multipartPolicyName = policies_1.multipartPolicyName;
+    function multipartPolicy() {
+      const tspPolicy = (0, policies_1.multipartPolicy)();
+      return {
+        name: exports2.multipartPolicyName,
+        sendRequest: async (request2, next) => {
+          if (request2.multipartBody) {
+            for (const part of request2.multipartBody.parts) {
+              if ((0, file_js_1.hasRawContent)(part.body)) {
+                part.body = (0, file_js_1.getRawContent)(part.body);
+              }
+            }
           }
-          return new Range2(this.value, options).test(comp.semver);
-        }
-        options = parseOptions(options);
-        if (options.includePrerelease && (this.value === "<0.0.0-0" || comp.value === "<0.0.0-0")) {
-          return false;
-        }
-        if (!options.includePrerelease && (this.value.startsWith("<0.0.0") || comp.value.startsWith("<0.0.0"))) {
-          return false;
-        }
-        if (this.operator.startsWith(">") && comp.operator.startsWith(">")) {
-          return true;
-        }
-        if (this.operator.startsWith("<") && comp.operator.startsWith("<")) {
-          return true;
-        }
-        if (this.semver.version === comp.semver.version && this.operator.includes("=") && comp.operator.includes("=")) {
-          return true;
-        }
-        if (cmp(this.semver, "<", comp.semver, options) && this.operator.startsWith(">") && comp.operator.startsWith("<")) {
-          return true;
-        }
-        if (cmp(this.semver, ">", comp.semver, options) && this.operator.startsWith("<") && comp.operator.startsWith(">")) {
-          return true;
+          return tspPolicy.sendRequest(request2, next);
         }
-        return false;
-      }
-    };
-    module2.exports = Comparator;
-    var parseOptions = require_parse_options();
-    var { safeRe: re, t } = require_re();
-    var cmp = require_cmp();
-    var debug4 = require_debug();
-    var SemVer = require_semver();
-    var Range2 = require_range();
+      };
+    }
   }
 });
 
-// node_modules/semver/functions/satisfies.js
-var require_satisfies = __commonJS({
-  "node_modules/semver/functions/satisfies.js"(exports2, module2) {
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/decompressResponsePolicy.js
+var require_decompressResponsePolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/decompressResponsePolicy.js"(exports2) {
     "use strict";
-    var Range2 = require_range();
-    var satisfies2 = (version, range, options) => {
-      try {
-        range = new Range2(range, options);
-      } catch (er) {
-        return false;
-      }
-      return range.test(version);
-    };
-    module2.exports = satisfies2;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.decompressResponsePolicyName = void 0;
+    exports2.decompressResponsePolicy = decompressResponsePolicy;
+    var policies_1 = require_internal2();
+    exports2.decompressResponsePolicyName = policies_1.decompressResponsePolicyName;
+    function decompressResponsePolicy() {
+      return (0, policies_1.decompressResponsePolicy)();
+    }
   }
 });
 
-// node_modules/semver/ranges/to-comparators.js
-var require_to_comparators = __commonJS({
-  "node_modules/semver/ranges/to-comparators.js"(exports2, module2) {
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/defaultRetryPolicy.js
+var require_defaultRetryPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/defaultRetryPolicy.js"(exports2) {
     "use strict";
-    var Range2 = require_range();
-    var toComparators = (range, options) => new Range2(range, options).set.map((comp) => comp.map((c) => c.value).join(" ").trim().split(" "));
-    module2.exports = toComparators;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.defaultRetryPolicyName = void 0;
+    exports2.defaultRetryPolicy = defaultRetryPolicy;
+    var policies_1 = require_internal2();
+    exports2.defaultRetryPolicyName = policies_1.defaultRetryPolicyName;
+    function defaultRetryPolicy(options = {}) {
+      return (0, policies_1.defaultRetryPolicy)(options);
+    }
   }
 });
 
-// node_modules/semver/ranges/max-satisfying.js
-var require_max_satisfying = __commonJS({
-  "node_modules/semver/ranges/max-satisfying.js"(exports2, module2) {
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/formDataPolicy.js
+var require_formDataPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/formDataPolicy.js"(exports2) {
     "use strict";
-    var SemVer = require_semver();
-    var Range2 = require_range();
-    var maxSatisfying = (versions, range, options) => {
-      let max = null;
-      let maxSV = null;
-      let rangeObj = null;
-      try {
-        rangeObj = new Range2(range, options);
-      } catch (er) {
-        return null;
-      }
-      versions.forEach((v) => {
-        if (rangeObj.test(v)) {
-          if (!max || maxSV.compare(v) === -1) {
-            max = v;
-            maxSV = new SemVer(max, options);
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.formDataPolicyName = void 0;
+    exports2.formDataPolicy = formDataPolicy;
+    var policies_1 = require_internal2();
+    exports2.formDataPolicyName = policies_1.formDataPolicyName;
+    function formDataPolicy() {
+      return (0, policies_1.formDataPolicy)();
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/proxyPolicy.js
+var require_proxyPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/proxyPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.proxyPolicyName = void 0;
+    exports2.getDefaultProxySettings = getDefaultProxySettings;
+    exports2.proxyPolicy = proxyPolicy;
+    var policies_1 = require_internal2();
+    exports2.proxyPolicyName = policies_1.proxyPolicyName;
+    function getDefaultProxySettings(proxyUrl) {
+      return (0, policies_1.getDefaultProxySettings)(proxyUrl);
+    }
+    function proxyPolicy(proxySettings, options) {
+      return (0, policies_1.proxyPolicy)(proxySettings, options);
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/setClientRequestIdPolicy.js
+var require_setClientRequestIdPolicy = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/setClientRequestIdPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.setClientRequestIdPolicyName = void 0;
+    exports2.setClientRequestIdPolicy = setClientRequestIdPolicy;
+    exports2.setClientRequestIdPolicyName = "setClientRequestIdPolicy";
+    function setClientRequestIdPolicy(requestIdHeaderName = "x-ms-client-request-id") {
+      return {
+        name: exports2.setClientRequestIdPolicyName,
+        async sendRequest(request2, next) {
+          if (!request2.headers.has(requestIdHeaderName)) {
+            request2.headers.set(requestIdHeaderName, request2.requestId);
           }
+          return next(request2);
         }
-      });
-      return max;
-    };
-    module2.exports = maxSatisfying;
+      };
+    }
   }
 });
 
-// node_modules/semver/ranges/min-satisfying.js
-var require_min_satisfying = __commonJS({
-  "node_modules/semver/ranges/min-satisfying.js"(exports2, module2) {
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/agentPolicy.js
+var require_agentPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/agentPolicy.js"(exports2) {
     "use strict";
-    var SemVer = require_semver();
-    var Range2 = require_range();
-    var minSatisfying = (versions, range, options) => {
-      let min = null;
-      let minSV = null;
-      let rangeObj = null;
-      try {
-        rangeObj = new Range2(range, options);
-      } catch (er) {
-        return null;
-      }
-      versions.forEach((v) => {
-        if (rangeObj.test(v)) {
-          if (!min || minSV.compare(v) === 1) {
-            min = v;
-            minSV = new SemVer(min, options);
-          }
-        }
-      });
-      return min;
-    };
-    module2.exports = minSatisfying;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.agentPolicyName = void 0;
+    exports2.agentPolicy = agentPolicy;
+    var policies_1 = require_internal2();
+    exports2.agentPolicyName = policies_1.agentPolicyName;
+    function agentPolicy(agent) {
+      return (0, policies_1.agentPolicy)(agent);
+    }
   }
 });
 
-// node_modules/semver/ranges/min-version.js
-var require_min_version = __commonJS({
-  "node_modules/semver/ranges/min-version.js"(exports2, module2) {
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/tlsPolicy.js
+var require_tlsPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/tlsPolicy.js"(exports2) {
     "use strict";
-    var SemVer = require_semver();
-    var Range2 = require_range();
-    var gt = require_gt();
-    var minVersion = (range, loose) => {
-      range = new Range2(range, loose);
-      let minver = new SemVer("0.0.0");
-      if (range.test(minver)) {
-        return minver;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.tlsPolicyName = void 0;
+    exports2.tlsPolicy = tlsPolicy;
+    var policies_1 = require_internal2();
+    exports2.tlsPolicyName = policies_1.tlsPolicyName;
+    function tlsPolicy(tlsSettings) {
+      return (0, policies_1.tlsPolicy)(tlsSettings);
+    }
+  }
+});
+
+// node_modules/@azure/core-tracing/dist/commonjs/tracingContext.js
+var require_tracingContext = __commonJS({
+  "node_modules/@azure/core-tracing/dist/commonjs/tracingContext.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.TracingContextImpl = exports2.knownContextKeys = void 0;
+    exports2.createTracingContext = createTracingContext;
+    exports2.knownContextKeys = {
+      span: /* @__PURE__ */ Symbol.for("@azure/core-tracing span"),
+      namespace: /* @__PURE__ */ Symbol.for("@azure/core-tracing namespace")
+    };
+    function createTracingContext(options = {}) {
+      let context2 = new TracingContextImpl(options.parentContext);
+      if (options.span) {
+        context2 = context2.setValue(exports2.knownContextKeys.span, options.span);
       }
-      minver = new SemVer("0.0.0-0");
-      if (range.test(minver)) {
-        return minver;
+      if (options.namespace) {
+        context2 = context2.setValue(exports2.knownContextKeys.namespace, options.namespace);
       }
-      minver = null;
-      for (let i = 0; i < range.set.length; ++i) {
-        const comparators = range.set[i];
-        let setMin = null;
-        comparators.forEach((comparator) => {
-          const compver = new SemVer(comparator.semver.version);
-          switch (comparator.operator) {
-            case ">":
-              if (compver.prerelease.length === 0) {
-                compver.patch++;
-              } else {
-                compver.prerelease.push(0);
-              }
-              compver.raw = compver.format();
-            /* fallthrough */
-            case "":
-            case ">=":
-              if (!setMin || gt(compver, setMin)) {
-                setMin = compver;
-              }
-              break;
-            case "<":
-            case "<=":
-              break;
-            /* istanbul ignore next */
-            default:
-              throw new Error(`Unexpected operation: ${comparator.operator}`);
-          }
-        });
-        if (setMin && (!minver || gt(minver, setMin))) {
-          minver = setMin;
-        }
+      return context2;
+    }
+    var TracingContextImpl = class _TracingContextImpl {
+      _contextMap;
+      constructor(initialContext) {
+        this._contextMap = initialContext instanceof _TracingContextImpl ? new Map(initialContext._contextMap) : /* @__PURE__ */ new Map();
       }
-      if (minver && range.test(minver)) {
-        return minver;
+      setValue(key, value) {
+        const newContext = new _TracingContextImpl(this);
+        newContext._contextMap.set(key, value);
+        return newContext;
+      }
+      getValue(key) {
+        return this._contextMap.get(key);
+      }
+      deleteValue(key) {
+        const newContext = new _TracingContextImpl(this);
+        newContext._contextMap.delete(key);
+        return newContext;
       }
-      return null;
     };
-    module2.exports = minVersion;
+    exports2.TracingContextImpl = TracingContextImpl;
   }
 });
 
-// node_modules/semver/ranges/valid.js
-var require_valid2 = __commonJS({
-  "node_modules/semver/ranges/valid.js"(exports2, module2) {
+// node_modules/@azure/core-tracing/dist/commonjs/state.js
+var require_state = __commonJS({
+  "node_modules/@azure/core-tracing/dist/commonjs/state.js"(exports2) {
     "use strict";
-    var Range2 = require_range();
-    var validRange = (range, options) => {
-      try {
-        return new Range2(range, options).range || "*";
-      } catch (er) {
-        return null;
-      }
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.state = void 0;
+    exports2.state = {
+      instrumenterImplementation: void 0
     };
-    module2.exports = validRange;
   }
 });
 
-// node_modules/semver/ranges/outside.js
-var require_outside = __commonJS({
-  "node_modules/semver/ranges/outside.js"(exports2, module2) {
+// node_modules/@azure/core-tracing/dist/commonjs/instrumenter.js
+var require_instrumenter = __commonJS({
+  "node_modules/@azure/core-tracing/dist/commonjs/instrumenter.js"(exports2) {
     "use strict";
-    var SemVer = require_semver();
-    var Comparator = require_comparator();
-    var { ANY } = Comparator;
-    var Range2 = require_range();
-    var satisfies2 = require_satisfies();
-    var gt = require_gt();
-    var lt = require_lt();
-    var lte = require_lte();
-    var gte6 = require_gte();
-    var outside = (version, range, hilo, options) => {
-      version = new SemVer(version, options);
-      range = new Range2(range, options);
-      let gtfn, ltefn, ltfn, comp, ecomp;
-      switch (hilo) {
-        case ">":
-          gtfn = gt;
-          ltefn = lte;
-          ltfn = lt;
-          comp = ">";
-          ecomp = ">=";
-          break;
-        case "<":
-          gtfn = lt;
-          ltefn = gte6;
-          ltfn = gt;
-          comp = "<";
-          ecomp = "<=";
-          break;
-        default:
-          throw new TypeError('Must provide a hilo val of "<" or ">"');
-      }
-      if (satisfies2(version, range, options)) {
-        return false;
-      }
-      for (let i = 0; i < range.set.length; ++i) {
-        const comparators = range.set[i];
-        let high = null;
-        let low = null;
-        comparators.forEach((comparator) => {
-          if (comparator.semver === ANY) {
-            comparator = new Comparator(">=0.0.0");
-          }
-          high = high || comparator;
-          low = low || comparator;
-          if (gtfn(comparator.semver, high.semver, options)) {
-            high = comparator;
-          } else if (ltfn(comparator.semver, low.semver, options)) {
-            low = comparator;
-          }
-        });
-        if (high.operator === comp || high.operator === ecomp) {
-          return false;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createDefaultTracingSpan = createDefaultTracingSpan;
+    exports2.createDefaultInstrumenter = createDefaultInstrumenter;
+    exports2.useInstrumenter = useInstrumenter;
+    exports2.getInstrumenter = getInstrumenter;
+    var tracingContext_js_1 = require_tracingContext();
+    var state_js_1 = require_state();
+    function createDefaultTracingSpan() {
+      return {
+        end: () => {
+        },
+        isRecording: () => false,
+        recordException: () => {
+        },
+        setAttribute: () => {
+        },
+        setStatus: () => {
+        },
+        addEvent: () => {
         }
-        if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) {
-          return false;
-        } else if (low.operator === ecomp && ltfn(version, low.semver)) {
-          return false;
+      };
+    }
+    function createDefaultInstrumenter() {
+      return {
+        createRequestHeaders: () => {
+          return {};
+        },
+        parseTraceparentHeader: () => {
+          return void 0;
+        },
+        startSpan: (_name, spanOptions) => {
+          return {
+            span: createDefaultTracingSpan(),
+            tracingContext: (0, tracingContext_js_1.createTracingContext)({ parentContext: spanOptions.tracingContext })
+          };
+        },
+        withContext(_context, callback, ...callbackArgs) {
+          return callback(...callbackArgs);
         }
+      };
+    }
+    function useInstrumenter(instrumenter) {
+      state_js_1.state.instrumenterImplementation = instrumenter;
+    }
+    function getInstrumenter() {
+      if (!state_js_1.state.instrumenterImplementation) {
+        state_js_1.state.instrumenterImplementation = createDefaultInstrumenter();
       }
-      return true;
-    };
-    module2.exports = outside;
+      return state_js_1.state.instrumenterImplementation;
+    }
   }
 });
 
-// node_modules/semver/ranges/gtr.js
-var require_gtr = __commonJS({
-  "node_modules/semver/ranges/gtr.js"(exports2, module2) {
+// node_modules/@azure/core-tracing/dist/commonjs/tracingClient.js
+var require_tracingClient = __commonJS({
+  "node_modules/@azure/core-tracing/dist/commonjs/tracingClient.js"(exports2) {
     "use strict";
-    var outside = require_outside();
-    var gtr = (version, range, options) => outside(version, range, ">", options);
-    module2.exports = gtr;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createTracingClient = createTracingClient;
+    var instrumenter_js_1 = require_instrumenter();
+    var tracingContext_js_1 = require_tracingContext();
+    function createTracingClient(options) {
+      const { namespace, packageName, packageVersion } = options;
+      function startSpan(name, operationOptions, spanOptions) {
+        const startSpanResult = (0, instrumenter_js_1.getInstrumenter)().startSpan(name, {
+          ...spanOptions,
+          packageName,
+          packageVersion,
+          tracingContext: operationOptions?.tracingOptions?.tracingContext
+        });
+        let tracingContext = startSpanResult.tracingContext;
+        const span = startSpanResult.span;
+        if (!tracingContext.getValue(tracingContext_js_1.knownContextKeys.namespace)) {
+          tracingContext = tracingContext.setValue(tracingContext_js_1.knownContextKeys.namespace, namespace);
+        }
+        span.setAttribute("az.namespace", tracingContext.getValue(tracingContext_js_1.knownContextKeys.namespace));
+        const updatedOptions = Object.assign({}, operationOptions, {
+          tracingOptions: { ...operationOptions?.tracingOptions, tracingContext }
+        });
+        return {
+          span,
+          updatedOptions
+        };
+      }
+      async function withSpan(name, operationOptions, callback, spanOptions) {
+        const { span, updatedOptions } = startSpan(name, operationOptions, spanOptions);
+        try {
+          const result = await withContext(updatedOptions.tracingOptions.tracingContext, () => Promise.resolve(callback(updatedOptions, span)));
+          span.setStatus({ status: "success" });
+          return result;
+        } catch (err) {
+          span.setStatus({ status: "error", error: err });
+          throw err;
+        } finally {
+          span.end();
+        }
+      }
+      function withContext(context2, callback, ...callbackArgs) {
+        return (0, instrumenter_js_1.getInstrumenter)().withContext(context2, callback, ...callbackArgs);
+      }
+      function parseTraceparentHeader(traceparentHeader) {
+        return (0, instrumenter_js_1.getInstrumenter)().parseTraceparentHeader(traceparentHeader);
+      }
+      function createRequestHeaders(tracingContext) {
+        return (0, instrumenter_js_1.getInstrumenter)().createRequestHeaders(tracingContext);
+      }
+      return {
+        startSpan,
+        withSpan,
+        withContext,
+        parseTraceparentHeader,
+        createRequestHeaders
+      };
+    }
   }
 });
 
-// node_modules/semver/ranges/ltr.js
-var require_ltr = __commonJS({
-  "node_modules/semver/ranges/ltr.js"(exports2, module2) {
+// node_modules/@azure/core-tracing/dist/commonjs/index.js
+var require_commonjs7 = __commonJS({
+  "node_modules/@azure/core-tracing/dist/commonjs/index.js"(exports2) {
     "use strict";
-    var outside = require_outside();
-    var ltr = (version, range, options) => outside(version, range, "<", options);
-    module2.exports = ltr;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createTracingClient = exports2.useInstrumenter = void 0;
+    var instrumenter_js_1 = require_instrumenter();
+    Object.defineProperty(exports2, "useInstrumenter", { enumerable: true, get: function() {
+      return instrumenter_js_1.useInstrumenter;
+    } });
+    var tracingClient_js_1 = require_tracingClient();
+    Object.defineProperty(exports2, "createTracingClient", { enumerable: true, get: function() {
+      return tracingClient_js_1.createTracingClient;
+    } });
   }
 });
 
-// node_modules/semver/ranges/intersects.js
-var require_intersects = __commonJS({
-  "node_modules/semver/ranges/intersects.js"(exports2, module2) {
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/restError.js
+var require_restError3 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/restError.js"(exports2) {
     "use strict";
-    var Range2 = require_range();
-    var intersects = (r1, r2, options) => {
-      r1 = new Range2(r1, options);
-      r2 = new Range2(r2, options);
-      return r1.intersects(r2, options);
-    };
-    module2.exports = intersects;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.RestError = void 0;
+    exports2.isRestError = isRestError;
+    var ts_http_runtime_1 = require_commonjs3();
+    exports2.RestError = ts_http_runtime_1.RestError;
+    function isRestError(e) {
+      return (0, ts_http_runtime_1.isRestError)(e);
+    }
   }
 });
 
-// node_modules/semver/ranges/simplify.js
-var require_simplify = __commonJS({
-  "node_modules/semver/ranges/simplify.js"(exports2, module2) {
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/tracingPolicy.js
+var require_tracingPolicy = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/tracingPolicy.js"(exports2) {
     "use strict";
-    var satisfies2 = require_satisfies();
-    var compare2 = require_compare();
-    module2.exports = (versions, range, options) => {
-      const set2 = [];
-      let first = null;
-      let prev = null;
-      const v = versions.sort((a, b) => compare2(a, b, options));
-      for (const version of v) {
-        const included = satisfies2(version, range, options);
-        if (included) {
-          prev = version;
-          if (!first) {
-            first = version;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.tracingPolicyName = void 0;
+    exports2.tracingPolicy = tracingPolicy;
+    var core_tracing_1 = require_commonjs7();
+    var constants_js_1 = require_constants13();
+    var userAgent_js_1 = require_userAgent2();
+    var log_js_1 = require_log3();
+    var core_util_1 = require_commonjs6();
+    var restError_js_1 = require_restError3();
+    var util_1 = require_internal3();
+    exports2.tracingPolicyName = "tracingPolicy";
+    function tracingPolicy(options = {}) {
+      const userAgentPromise = (0, userAgent_js_1.getUserAgentValue)(options.userAgentPrefix);
+      const sanitizer = new util_1.Sanitizer({
+        additionalAllowedQueryParameters: options.additionalAllowedQueryParameters
+      });
+      const tracingClient = tryCreateTracingClient();
+      return {
+        name: exports2.tracingPolicyName,
+        async sendRequest(request2, next) {
+          if (!tracingClient) {
+            return next(request2);
           }
-        } else {
-          if (prev) {
-            set2.push([first, prev]);
+          const userAgent2 = await userAgentPromise;
+          const spanAttributes = {
+            "http.url": sanitizer.sanitizeUrl(request2.url),
+            "http.method": request2.method,
+            "http.user_agent": userAgent2,
+            requestId: request2.requestId
+          };
+          if (userAgent2) {
+            spanAttributes["http.user_agent"] = userAgent2;
+          }
+          const { span, tracingContext } = tryCreateSpan(tracingClient, request2, spanAttributes) ?? {};
+          if (!span || !tracingContext) {
+            return next(request2);
+          }
+          try {
+            const response = await tracingClient.withContext(tracingContext, next, request2);
+            tryProcessResponse(span, response);
+            return response;
+          } catch (err) {
+            tryProcessError(span, err);
+            throw err;
           }
-          prev = null;
-          first = null;
-        }
-      }
-      if (first) {
-        set2.push([first, null]);
-      }
-      const ranges = [];
-      for (const [min, max] of set2) {
-        if (min === max) {
-          ranges.push(min);
-        } else if (!max && min === v[0]) {
-          ranges.push("*");
-        } else if (!max) {
-          ranges.push(`>=${min}`);
-        } else if (min === v[0]) {
-          ranges.push(`<=${max}`);
-        } else {
-          ranges.push(`${min} - ${max}`);
         }
+      };
+    }
+    function tryCreateTracingClient() {
+      try {
+        return (0, core_tracing_1.createTracingClient)({
+          namespace: "",
+          packageName: "@azure/core-rest-pipeline",
+          packageVersion: constants_js_1.SDK_VERSION
+        });
+      } catch (e) {
+        log_js_1.logger.warning(`Error when creating the TracingClient: ${(0, core_util_1.getErrorMessage)(e)}`);
+        return void 0;
       }
-      const simplified = ranges.join(" || ");
-      const original = typeof range.raw === "string" ? range.raw : String(range);
-      return simplified.length < original.length ? simplified : range;
-    };
-  }
-});
-
-// node_modules/semver/ranges/subset.js
-var require_subset = __commonJS({
-  "node_modules/semver/ranges/subset.js"(exports2, module2) {
-    "use strict";
-    var Range2 = require_range();
-    var Comparator = require_comparator();
-    var { ANY } = Comparator;
-    var satisfies2 = require_satisfies();
-    var compare2 = require_compare();
-    var subset = (sub, dom, options = {}) => {
-      if (sub === dom) {
-        return true;
-      }
-      sub = new Range2(sub, options);
-      dom = new Range2(dom, options);
-      let sawNonNull = false;
-      OUTER: for (const simpleSub of sub.set) {
-        for (const simpleDom of dom.set) {
-          const isSub = simpleSubset(simpleSub, simpleDom, options);
-          sawNonNull = sawNonNull || isSub !== null;
-          if (isSub) {
-            continue OUTER;
-          }
+    }
+    function tryCreateSpan(tracingClient, request2, spanAttributes) {
+      try {
+        const { span, updatedOptions } = tracingClient.startSpan(`HTTP ${request2.method}`, { tracingOptions: request2.tracingOptions }, {
+          spanKind: "client",
+          spanAttributes
+        });
+        if (!span.isRecording()) {
+          span.end();
+          return void 0;
         }
-        if (sawNonNull) {
-          return false;
+        const headers = tracingClient.createRequestHeaders(updatedOptions.tracingOptions.tracingContext);
+        for (const [key, value] of Object.entries(headers)) {
+          request2.headers.set(key, value);
         }
+        return { span, tracingContext: updatedOptions.tracingOptions.tracingContext };
+      } catch (e) {
+        log_js_1.logger.warning(`Skipping creating a tracing span due to an error: ${(0, core_util_1.getErrorMessage)(e)}`);
+        return void 0;
       }
-      return true;
-    };
-    var minimumVersionWithPreRelease = [new Comparator(">=0.0.0-0")];
-    var minimumVersion2 = [new Comparator(">=0.0.0")];
-    var simpleSubset = (sub, dom, options) => {
-      if (sub === dom) {
-        return true;
-      }
-      if (sub.length === 1 && sub[0].semver === ANY) {
-        if (dom.length === 1 && dom[0].semver === ANY) {
-          return true;
-        } else if (options.includePrerelease) {
-          sub = minimumVersionWithPreRelease;
-        } else {
-          sub = minimumVersion2;
+    }
+    function tryProcessError(span, error3) {
+      try {
+        span.setStatus({
+          status: "error",
+          error: (0, core_util_1.isError)(error3) ? error3 : void 0
+        });
+        if ((0, restError_js_1.isRestError)(error3) && error3.statusCode) {
+          span.setAttribute("http.status_code", error3.statusCode);
         }
+        span.end();
+      } catch (e) {
+        log_js_1.logger.warning(`Skipping tracing span processing due to an error: ${(0, core_util_1.getErrorMessage)(e)}`);
       }
-      if (dom.length === 1 && dom[0].semver === ANY) {
-        if (options.includePrerelease) {
-          return true;
-        } else {
-          dom = minimumVersion2;
+    }
+    function tryProcessResponse(span, response) {
+      try {
+        span.setAttribute("http.status_code", response.status);
+        const serviceRequestId = response.headers.get("x-ms-request-id");
+        if (serviceRequestId) {
+          span.setAttribute("serviceRequestId", serviceRequestId);
         }
-      }
-      const eqSet = /* @__PURE__ */ new Set();
-      let gt, lt;
-      for (const c of sub) {
-        if (c.operator === ">" || c.operator === ">=") {
-          gt = higherGT(gt, c, options);
-        } else if (c.operator === "<" || c.operator === "<=") {
-          lt = lowerLT(lt, c, options);
-        } else {
-          eqSet.add(c.semver);
+        if (response.status >= 400) {
+          span.setStatus({
+            status: "error"
+          });
         }
+        span.end();
+      } catch (e) {
+        log_js_1.logger.warning(`Skipping tracing span processing due to an error: ${(0, core_util_1.getErrorMessage)(e)}`);
       }
-      if (eqSet.size > 1) {
-        return null;
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/util/wrapAbortSignal.js
+var require_wrapAbortSignal = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/util/wrapAbortSignal.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.wrapAbortSignalLike = wrapAbortSignalLike;
+    function wrapAbortSignalLike(abortSignalLike) {
+      if (abortSignalLike instanceof AbortSignal) {
+        return { abortSignal: abortSignalLike };
       }
-      let gtltComp;
-      if (gt && lt) {
-        gtltComp = compare2(gt.semver, lt.semver, options);
-        if (gtltComp > 0) {
-          return null;
-        } else if (gtltComp === 0 && (gt.operator !== ">=" || lt.operator !== "<=")) {
-          return null;
-        }
+      if (abortSignalLike.aborted) {
+        return { abortSignal: AbortSignal.abort(abortSignalLike.reason) };
       }
-      for (const eq of eqSet) {
-        if (gt && !satisfies2(eq, String(gt), options)) {
-          return null;
-        }
-        if (lt && !satisfies2(eq, String(lt), options)) {
-          return null;
-        }
-        for (const c of dom) {
-          if (!satisfies2(eq, String(c), options)) {
-            return false;
-          }
+      const controller = new AbortController();
+      let needsCleanup = true;
+      function cleanup() {
+        if (needsCleanup) {
+          abortSignalLike.removeEventListener("abort", listener);
+          needsCleanup = false;
         }
-        return true;
       }
-      let higher, lower;
-      let hasDomLT, hasDomGT;
-      let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false;
-      let needDomGTPre = gt && !options.includePrerelease && gt.semver.prerelease.length ? gt.semver : false;
-      if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt.operator === "<" && needDomLTPre.prerelease[0] === 0) {
-        needDomLTPre = false;
+      function listener() {
+        controller.abort(abortSignalLike.reason);
+        cleanup();
       }
-      for (const c of dom) {
-        hasDomGT = hasDomGT || c.operator === ">" || c.operator === ">=";
-        hasDomLT = hasDomLT || c.operator === "<" || c.operator === "<=";
-        if (gt) {
-          if (needDomGTPre) {
-            if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomGTPre.major && c.semver.minor === needDomGTPre.minor && c.semver.patch === needDomGTPre.patch) {
-              needDomGTPre = false;
-            }
+      abortSignalLike.addEventListener("abort", listener);
+      return { abortSignal: controller.signal, cleanup };
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/wrapAbortSignalLikePolicy.js
+var require_wrapAbortSignalLikePolicy = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/wrapAbortSignalLikePolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.wrapAbortSignalLikePolicyName = void 0;
+    exports2.wrapAbortSignalLikePolicy = wrapAbortSignalLikePolicy;
+    var wrapAbortSignal_js_1 = require_wrapAbortSignal();
+    exports2.wrapAbortSignalLikePolicyName = "wrapAbortSignalLikePolicy";
+    function wrapAbortSignalLikePolicy() {
+      return {
+        name: exports2.wrapAbortSignalLikePolicyName,
+        sendRequest: async (request2, next) => {
+          if (!request2.abortSignal) {
+            return next(request2);
           }
-          if (c.operator === ">" || c.operator === ">=") {
-            higher = higherGT(gt, c, options);
-            if (higher === c && higher !== gt) {
-              return false;
-            }
-          } else if (gt.operator === ">=" && !satisfies2(gt.semver, String(c), options)) {
-            return false;
+          const { abortSignal, cleanup } = (0, wrapAbortSignal_js_1.wrapAbortSignalLike)(request2.abortSignal);
+          request2.abortSignal = abortSignal;
+          try {
+            return await next(request2);
+          } finally {
+            cleanup?.();
           }
         }
-        if (lt) {
-          if (needDomLTPre) {
-            if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomLTPre.major && c.semver.minor === needDomLTPre.minor && c.semver.patch === needDomLTPre.patch) {
-              needDomLTPre = false;
-            }
-          }
-          if (c.operator === "<" || c.operator === "<=") {
-            lower = lowerLT(lt, c, options);
-            if (lower === c && lower !== lt) {
-              return false;
-            }
-          } else if (lt.operator === "<=" && !satisfies2(lt.semver, String(c), options)) {
-            return false;
-          }
+      };
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/createPipelineFromOptions.js
+var require_createPipelineFromOptions2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/createPipelineFromOptions.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createPipelineFromOptions = createPipelineFromOptions;
+    var logPolicy_js_1 = require_logPolicy2();
+    var pipeline_js_1 = require_pipeline2();
+    var redirectPolicy_js_1 = require_redirectPolicy2();
+    var userAgentPolicy_js_1 = require_userAgentPolicy2();
+    var multipartPolicy_js_1 = require_multipartPolicy2();
+    var decompressResponsePolicy_js_1 = require_decompressResponsePolicy2();
+    var defaultRetryPolicy_js_1 = require_defaultRetryPolicy2();
+    var formDataPolicy_js_1 = require_formDataPolicy2();
+    var core_util_1 = require_commonjs6();
+    var proxyPolicy_js_1 = require_proxyPolicy2();
+    var setClientRequestIdPolicy_js_1 = require_setClientRequestIdPolicy();
+    var agentPolicy_js_1 = require_agentPolicy2();
+    var tlsPolicy_js_1 = require_tlsPolicy2();
+    var tracingPolicy_js_1 = require_tracingPolicy();
+    var wrapAbortSignalLikePolicy_js_1 = require_wrapAbortSignalLikePolicy();
+    function createPipelineFromOptions(options) {
+      const pipeline = (0, pipeline_js_1.createEmptyPipeline)();
+      if (core_util_1.isNodeLike) {
+        if (options.agent) {
+          pipeline.addPolicy((0, agentPolicy_js_1.agentPolicy)(options.agent));
         }
-        if (!c.operator && (lt || gt) && gtltComp !== 0) {
-          return false;
+        if (options.tlsOptions) {
+          pipeline.addPolicy((0, tlsPolicy_js_1.tlsPolicy)(options.tlsOptions));
         }
+        pipeline.addPolicy((0, proxyPolicy_js_1.proxyPolicy)(options.proxyOptions));
+        pipeline.addPolicy((0, decompressResponsePolicy_js_1.decompressResponsePolicy)());
       }
-      if (gt && hasDomLT && !lt && gtltComp !== 0) {
-        return false;
-      }
-      if (lt && hasDomGT && !gt && gtltComp !== 0) {
-        return false;
-      }
-      if (needDomGTPre || needDomLTPre) {
-        return false;
-      }
-      return true;
-    };
-    var higherGT = (a, b, options) => {
-      if (!a) {
-        return b;
-      }
-      const comp = compare2(a.semver, b.semver, options);
-      return comp > 0 ? a : comp < 0 ? b : b.operator === ">" && a.operator === ">=" ? b : a;
-    };
-    var lowerLT = (a, b, options) => {
-      if (!a) {
-        return b;
+      pipeline.addPolicy((0, wrapAbortSignalLikePolicy_js_1.wrapAbortSignalLikePolicy)());
+      pipeline.addPolicy((0, formDataPolicy_js_1.formDataPolicy)(), { beforePolicies: [multipartPolicy_js_1.multipartPolicyName] });
+      pipeline.addPolicy((0, userAgentPolicy_js_1.userAgentPolicy)(options.userAgentOptions));
+      pipeline.addPolicy((0, setClientRequestIdPolicy_js_1.setClientRequestIdPolicy)(options.telemetryOptions?.clientRequestIdHeaderName));
+      pipeline.addPolicy((0, multipartPolicy_js_1.multipartPolicy)(), { afterPhase: "Deserialize" });
+      pipeline.addPolicy((0, defaultRetryPolicy_js_1.defaultRetryPolicy)(options.retryOptions), { phase: "Retry" });
+      pipeline.addPolicy((0, tracingPolicy_js_1.tracingPolicy)({ ...options.userAgentOptions, ...options.loggingOptions }), {
+        afterPhase: "Retry"
+      });
+      if (core_util_1.isNodeLike) {
+        pipeline.addPolicy((0, redirectPolicy_js_1.redirectPolicy)(options.redirectOptions), { afterPhase: "Retry" });
       }
-      const comp = compare2(a.semver, b.semver, options);
-      return comp < 0 ? a : comp > 0 ? b : b.operator === "<" && a.operator === "<=" ? b : a;
-    };
-    module2.exports = subset;
+      pipeline.addPolicy((0, logPolicy_js_1.logPolicy)(options.loggingOptions), { afterPhase: "Sign" });
+      return pipeline;
+    }
   }
 });
 
-// node_modules/semver/index.js
-var require_semver2 = __commonJS({
-  "node_modules/semver/index.js"(exports2, module2) {
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/defaultHttpClient.js
+var require_defaultHttpClient2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/defaultHttpClient.js"(exports2) {
     "use strict";
-    var internalRe = require_re();
-    var constants = require_constants11();
-    var SemVer = require_semver();
-    var identifiers = require_identifiers();
-    var parse2 = require_parse3();
-    var valid3 = require_valid();
-    var clean3 = require_clean();
-    var inc = require_inc();
-    var diff = require_diff();
-    var major = require_major();
-    var minor = require_minor();
-    var patch = require_patch();
-    var prerelease = require_prerelease();
-    var compare2 = require_compare();
-    var rcompare = require_rcompare();
-    var compareLoose = require_compare_loose();
-    var compareBuild = require_compare_build();
-    var sort = require_sort();
-    var rsort = require_rsort();
-    var gt = require_gt();
-    var lt = require_lt();
-    var eq = require_eq();
-    var neq = require_neq();
-    var gte6 = require_gte();
-    var lte = require_lte();
-    var cmp = require_cmp();
-    var coerce3 = require_coerce();
-    var Comparator = require_comparator();
-    var Range2 = require_range();
-    var satisfies2 = require_satisfies();
-    var toComparators = require_to_comparators();
-    var maxSatisfying = require_max_satisfying();
-    var minSatisfying = require_min_satisfying();
-    var minVersion = require_min_version();
-    var validRange = require_valid2();
-    var outside = require_outside();
-    var gtr = require_gtr();
-    var ltr = require_ltr();
-    var intersects = require_intersects();
-    var simplifyRange = require_simplify();
-    var subset = require_subset();
-    module2.exports = {
-      parse: parse2,
-      valid: valid3,
-      clean: clean3,
-      inc,
-      diff,
-      major,
-      minor,
-      patch,
-      prerelease,
-      compare: compare2,
-      rcompare,
-      compareLoose,
-      compareBuild,
-      sort,
-      rsort,
-      gt,
-      lt,
-      eq,
-      neq,
-      gte: gte6,
-      lte,
-      cmp,
-      coerce: coerce3,
-      Comparator,
-      Range: Range2,
-      satisfies: satisfies2,
-      toComparators,
-      maxSatisfying,
-      minSatisfying,
-      minVersion,
-      validRange,
-      outside,
-      gtr,
-      ltr,
-      intersects,
-      simplifyRange,
-      subset,
-      SemVer,
-      re: internalRe.re,
-      src: internalRe.src,
-      tokens: internalRe.t,
-      SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,
-      RELEASE_TYPES: constants.RELEASE_TYPES,
-      compareIdentifiers: identifiers.compareIdentifiers,
-      rcompareIdentifiers: identifiers.rcompareIdentifiers
-    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createDefaultHttpClient = createDefaultHttpClient;
+    var ts_http_runtime_1 = require_commonjs3();
+    var wrapAbortSignal_js_1 = require_wrapAbortSignal();
+    function createDefaultHttpClient() {
+      const client = (0, ts_http_runtime_1.createDefaultHttpClient)();
+      return {
+        async sendRequest(request2) {
+          const { abortSignal, cleanup } = request2.abortSignal ? (0, wrapAbortSignal_js_1.wrapAbortSignalLike)(request2.abortSignal) : {};
+          try {
+            request2.abortSignal = abortSignal;
+            return await client.sendRequest(request2);
+          } finally {
+            cleanup?.();
+          }
+        }
+      };
+    }
   }
 });
 
-// package.json
-var require_package = __commonJS({
-  "package.json"(exports2, module2) {
-    module2.exports = {
-      name: "codeql",
-      version: "4.32.2",
-      private: true,
-      description: "CodeQL action",
-      scripts: {
-        _build_comment: "echo 'Run the full build so we typecheck the project and can reuse the transpiled files in npm test'",
-        build: "./scripts/check-node-modules.sh && npm run transpile && node build.mjs",
-        lint: "eslint --report-unused-disable-directives --max-warnings=0 .",
-        "lint-ci": "SARIF_ESLINT_IGNORE_SUPPRESSED=true eslint --report-unused-disable-directives --max-warnings=0 . --format @microsoft/eslint-formatter-sarif --output-file=eslint.sarif",
-        "lint-fix": "eslint --report-unused-disable-directives --max-warnings=0 . --fix",
-        ava: "npm run transpile && ava --serial --verbose",
-        test: "npm run ava -- src/",
-        "test-debug": "npm run test -- --timeout=20m",
-        transpile: "tsc --build --verbose"
-      },
-      ava: {
-        typescript: {
-          rewritePaths: {
-            "src/": "build/"
-          },
-          compile: false
-        }
-      },
-      license: "MIT",
-      dependencies: {
-        "@actions/artifact": "^5.0.3",
-        "@actions/artifact-legacy": "npm:@actions/artifact@^1.1.2",
-        "@actions/cache": "^5.0.5",
-        "@actions/core": "^2.0.3",
-        "@actions/exec": "^2.0.0",
-        "@actions/github": "^8.0.0",
-        "@actions/glob": "^0.5.0",
-        "@actions/http-client": "^3.0.0",
-        "@actions/io": "^2.0.0",
-        "@actions/tool-cache": "^3.0.1",
-        "@octokit/plugin-retry": "^8.0.0",
-        "@schemastore/package": "0.0.10",
-        archiver: "^7.0.1",
-        "fast-deep-equal": "^3.1.3",
-        "follow-redirects": "^1.15.11",
-        "get-folder-size": "^5.0.0",
-        "js-yaml": "^4.1.1",
-        jsonschema: "1.4.1",
-        long: "^5.3.2",
-        "node-forge": "^1.3.3",
-        semver: "^7.7.3",
-        uuid: "^13.0.0"
-      },
-      devDependencies: {
-        "@ava/typescript": "6.0.0",
-        "@eslint/compat": "^2.0.1",
-        "@eslint/eslintrc": "^3.3.3",
-        "@eslint/js": "^9.39.2",
-        "@microsoft/eslint-formatter-sarif": "^3.1.0",
-        "@octokit/types": "^16.0.0",
-        "@types/archiver": "^7.0.0",
-        "@types/follow-redirects": "^1.14.4",
-        "@types/js-yaml": "^4.0.9",
-        "@types/node": "^20.19.9",
-        "@types/node-forge": "^1.3.14",
-        "@types/semver": "^7.7.1",
-        "@types/sinon": "^21.0.0",
-        "@typescript-eslint/eslint-plugin": "^8.53.1",
-        "@typescript-eslint/parser": "^8.48.0",
-        ava: "^6.4.1",
-        esbuild: "^0.27.2",
-        eslint: "^8.57.1",
-        "eslint-import-resolver-typescript": "^3.8.7",
-        "eslint-plugin-filenames": "^1.3.2",
-        "eslint-plugin-github": "^5.1.8",
-        "eslint-plugin-import": "2.29.1",
-        "eslint-plugin-jsdoc": "^62.3.0",
-        "eslint-plugin-no-async-foreach": "^0.1.1",
-        glob: "^11.1.0",
-        nock: "^14.0.10",
-        sinon: "^21.0.1",
-        typescript: "^5.9.3"
-      },
-      overrides: {
-        "@actions/tool-cache": {
-          semver: ">=6.3.1"
-        },
-        "@octokit/request-error": {
-          semver: ">=5.1.1"
-        },
-        "@octokit/request": {
-          semver: ">=8.4.1"
-        },
-        "@octokit/plugin-paginate-rest": {
-          semver: ">=9.2.2"
-        },
-        "eslint-plugin-import": {
-          semver: ">=6.3.1"
-        },
-        "eslint-plugin-jsx-a11y": {
-          semver: ">=6.3.1"
-        },
-        "brace-expansion@2.0.1": "2.0.2",
-        glob: "^11.1.0"
-      }
-    };
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/httpHeaders.js
+var require_httpHeaders2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/httpHeaders.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createHttpHeaders = createHttpHeaders;
+    var ts_http_runtime_1 = require_commonjs3();
+    function createHttpHeaders(rawHeaders) {
+      return (0, ts_http_runtime_1.createHttpHeaders)(rawHeaders);
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/pipelineRequest.js
+var require_pipelineRequest2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/pipelineRequest.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createPipelineRequest = createPipelineRequest;
+    var ts_http_runtime_1 = require_commonjs3();
+    function createPipelineRequest(options) {
+      return (0, ts_http_runtime_1.createPipelineRequest)(options);
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/exponentialRetryPolicy.js
+var require_exponentialRetryPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/exponentialRetryPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.exponentialRetryPolicyName = void 0;
+    exports2.exponentialRetryPolicy = exponentialRetryPolicy;
+    var policies_1 = require_internal2();
+    exports2.exponentialRetryPolicyName = policies_1.exponentialRetryPolicyName;
+    function exponentialRetryPolicy(options = {}) {
+      return (0, policies_1.exponentialRetryPolicy)(options);
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/systemErrorRetryPolicy.js
+var require_systemErrorRetryPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/systemErrorRetryPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.systemErrorRetryPolicyName = void 0;
+    exports2.systemErrorRetryPolicy = systemErrorRetryPolicy;
+    var policies_1 = require_internal2();
+    exports2.systemErrorRetryPolicyName = policies_1.systemErrorRetryPolicyName;
+    function systemErrorRetryPolicy(options = {}) {
+      return (0, policies_1.systemErrorRetryPolicy)(options);
+    }
   }
 });
 
-// node_modules/bottleneck/light.js
-var require_light = __commonJS({
-  "node_modules/bottleneck/light.js"(exports2, module2) {
-    (function(global2, factory) {
-      typeof exports2 === "object" && typeof module2 !== "undefined" ? module2.exports = factory() : typeof define === "function" && define.amd ? define(factory) : global2.Bottleneck = factory();
-    })(exports2, (function() {
-      "use strict";
-      var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
-      function getCjsExportFromNamespace(n) {
-        return n && n["default"] || n;
-      }
-      var load2 = function(received, defaults, onto = {}) {
-        var k, ref, v;
-        for (k in defaults) {
-          v = defaults[k];
-          onto[k] = (ref = received[k]) != null ? ref : v;
-        }
-        return onto;
-      };
-      var overwrite = function(received, defaults, onto = {}) {
-        var k, v;
-        for (k in received) {
-          v = received[k];
-          if (defaults[k] !== void 0) {
-            onto[k] = v;
-          }
-        }
-        return onto;
-      };
-      var parser = {
-        load: load2,
-        overwrite
-      };
-      var DLList;
-      DLList = class DLList {
-        constructor(incr, decr) {
-          this.incr = incr;
-          this.decr = decr;
-          this._first = null;
-          this._last = null;
-          this.length = 0;
-        }
-        push(value) {
-          var node;
-          this.length++;
-          if (typeof this.incr === "function") {
-            this.incr();
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/throttlingRetryPolicy.js
+var require_throttlingRetryPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/throttlingRetryPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.throttlingRetryPolicyName = void 0;
+    exports2.throttlingRetryPolicy = throttlingRetryPolicy;
+    var policies_1 = require_internal2();
+    exports2.throttlingRetryPolicyName = policies_1.throttlingRetryPolicyName;
+    function throttlingRetryPolicy(options = {}) {
+      return (0, policies_1.throttlingRetryPolicy)(options);
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/retryPolicy.js
+var require_retryPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/retryPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.retryPolicy = retryPolicy;
+    var logger_1 = require_commonjs4();
+    var constants_js_1 = require_constants13();
+    var policies_1 = require_internal2();
+    var retryPolicyLogger = (0, logger_1.createClientLogger)("core-rest-pipeline retryPolicy");
+    function retryPolicy(strategies, options = { maxRetries: constants_js_1.DEFAULT_RETRY_POLICY_COUNT }) {
+      return (0, policies_1.retryPolicy)(strategies, {
+        logger: retryPolicyLogger,
+        ...options
+      });
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/util/tokenCycler.js
+var require_tokenCycler = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/util/tokenCycler.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.DEFAULT_CYCLER_OPTIONS = void 0;
+    exports2.createTokenCycler = createTokenCycler;
+    var core_util_1 = require_commonjs6();
+    exports2.DEFAULT_CYCLER_OPTIONS = {
+      forcedRefreshWindowInMs: 1e3,
+      // Force waiting for a refresh 1s before the token expires
+      retryIntervalInMs: 3e3,
+      // Allow refresh attempts every 3s
+      refreshWindowInMs: 1e3 * 60 * 2
+      // Start refreshing 2m before expiry
+    };
+    async function beginRefresh(getAccessToken, retryIntervalInMs, refreshTimeout) {
+      async function tryGetAccessToken() {
+        if (Date.now() < refreshTimeout) {
+          try {
+            return await getAccessToken();
+          } catch {
+            return null;
           }
-          node = {
-            value,
-            prev: this._last,
-            next: null
-          };
-          if (this._last != null) {
-            this._last.next = node;
-            this._last = node;
-          } else {
-            this._first = this._last = node;
+        } else {
+          const finalToken = await getAccessToken();
+          if (finalToken === null) {
+            throw new Error("Failed to refresh access token.");
           }
-          return void 0;
+          return finalToken;
         }
-        shift() {
-          var value;
-          if (this._first == null) {
-            return;
-          } else {
-            this.length--;
-            if (typeof this.decr === "function") {
-              this.decr();
-            }
+      }
+      let token = await tryGetAccessToken();
+      while (token === null) {
+        await (0, core_util_1.delay)(retryIntervalInMs);
+        token = await tryGetAccessToken();
+      }
+      return token;
+    }
+    function createTokenCycler(credential, tokenCyclerOptions) {
+      let refreshWorker = null;
+      let token = null;
+      let tenantId;
+      const options = {
+        ...exports2.DEFAULT_CYCLER_OPTIONS,
+        ...tokenCyclerOptions
+      };
+      const cycler = {
+        /**
+         * Produces true if a refresh job is currently in progress.
+         */
+        get isRefreshing() {
+          return refreshWorker !== null;
+        },
+        /**
+         * Produces true if the cycler SHOULD refresh (we are within the refresh
+         * window and not already refreshing)
+         */
+        get shouldRefresh() {
+          if (cycler.isRefreshing) {
+            return false;
           }
-          value = this._first.value;
-          if ((this._first = this._first.next) != null) {
-            this._first.prev = null;
-          } else {
-            this._last = null;
+          if (token?.refreshAfterTimestamp && token.refreshAfterTimestamp < Date.now()) {
+            return true;
           }
-          return value;
+          return (token?.expiresOnTimestamp ?? 0) - options.refreshWindowInMs < Date.now();
+        },
+        /**
+         * Produces true if the cycler MUST refresh (null or nearly-expired
+         * token).
+         */
+        get mustRefresh() {
+          return token === null || token.expiresOnTimestamp - options.forcedRefreshWindowInMs < Date.now();
         }
-        first() {
-          if (this._first != null) {
-            return this._first.value;
-          }
+      };
+      function refresh(scopes, getTokenOptions) {
+        if (!cycler.isRefreshing) {
+          const tryGetAccessToken = () => credential.getToken(scopes, getTokenOptions);
+          refreshWorker = beginRefresh(
+            tryGetAccessToken,
+            options.retryIntervalInMs,
+            // If we don't have a token, then we should timeout immediately
+            token?.expiresOnTimestamp ?? Date.now()
+          ).then((_token) => {
+            refreshWorker = null;
+            token = _token;
+            tenantId = getTokenOptions.tenantId;
+            return token;
+          }).catch((reason) => {
+            refreshWorker = null;
+            token = null;
+            tenantId = void 0;
+            throw reason;
+          });
         }
-        getArray() {
-          var node, ref, results;
-          node = this._first;
-          results = [];
-          while (node != null) {
-            results.push((ref = node, node = node.next, ref.value));
-          }
-          return results;
+        return refreshWorker;
+      }
+      return async (scopes, tokenOptions) => {
+        const hasClaimChallenge = Boolean(tokenOptions.claims);
+        const tenantIdChanged = tenantId !== tokenOptions.tenantId;
+        if (hasClaimChallenge) {
+          token = null;
         }
-        forEachShift(cb) {
-          var node;
-          node = this.shift();
-          while (node != null) {
-            cb(node), node = this.shift();
-          }
-          return void 0;
+        const mustRefresh = tenantIdChanged || hasClaimChallenge || cycler.mustRefresh;
+        if (mustRefresh) {
+          return refresh(scopes, tokenOptions);
         }
-        debug() {
-          var node, ref, ref1, ref2, results;
-          node = this._first;
-          results = [];
-          while (node != null) {
-            results.push((ref = node, node = node.next, {
-              value: ref.value,
-              prev: (ref1 = ref.prev) != null ? ref1.value : void 0,
-              next: (ref2 = ref.next) != null ? ref2.value : void 0
-            }));
-          }
-          return results;
+        if (cycler.shouldRefresh) {
+          refresh(scopes, tokenOptions);
         }
+        return token;
       };
-      var DLList_1 = DLList;
-      var Events;
-      Events = class Events {
-        constructor(instance) {
-          this.instance = instance;
-          this._events = {};
-          if (this.instance.on != null || this.instance.once != null || this.instance.removeAllListeners != null) {
-            throw new Error("An Emitter already exists for this object");
-          }
-          this.instance.on = (name, cb) => {
-            return this._addListener(name, "many", cb);
-          };
-          this.instance.once = (name, cb) => {
-            return this._addListener(name, "once", cb);
-          };
-          this.instance.removeAllListeners = (name = null) => {
-            if (name != null) {
-              return delete this._events[name];
-            } else {
-              return this._events = {};
-            }
-          };
-        }
-        _addListener(name, status, cb) {
-          var base;
-          if ((base = this._events)[name] == null) {
-            base[name] = [];
-          }
-          this._events[name].push({ cb, status });
-          return this.instance;
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/bearerTokenAuthenticationPolicy.js
+var require_bearerTokenAuthenticationPolicy = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/bearerTokenAuthenticationPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.bearerTokenAuthenticationPolicyName = void 0;
+    exports2.bearerTokenAuthenticationPolicy = bearerTokenAuthenticationPolicy;
+    exports2.parseChallenges = parseChallenges;
+    var tokenCycler_js_1 = require_tokenCycler();
+    var log_js_1 = require_log3();
+    var restError_js_1 = require_restError3();
+    exports2.bearerTokenAuthenticationPolicyName = "bearerTokenAuthenticationPolicy";
+    async function trySendRequest(request2, next) {
+      try {
+        return [await next(request2), void 0];
+      } catch (e) {
+        if ((0, restError_js_1.isRestError)(e) && e.response) {
+          return [e.response, e];
+        } else {
+          throw e;
         }
-        listenerCount(name) {
-          if (this._events[name] != null) {
-            return this._events[name].length;
-          } else {
-            return 0;
+      }
+    }
+    async function defaultAuthorizeRequest(options) {
+      const { scopes, getAccessToken, request: request2 } = options;
+      const getTokenOptions = {
+        abortSignal: request2.abortSignal,
+        tracingOptions: request2.tracingOptions,
+        enableCae: true
+      };
+      const accessToken = await getAccessToken(scopes, getTokenOptions);
+      if (accessToken) {
+        options.request.headers.set("Authorization", `Bearer ${accessToken.token}`);
+      }
+    }
+    function isChallengeResponse(response) {
+      return response.status === 401 && response.headers.has("WWW-Authenticate");
+    }
+    async function authorizeRequestOnCaeChallenge(onChallengeOptions, caeClaims) {
+      const { scopes } = onChallengeOptions;
+      const accessToken = await onChallengeOptions.getAccessToken(scopes, {
+        enableCae: true,
+        claims: caeClaims
+      });
+      if (!accessToken) {
+        return false;
+      }
+      onChallengeOptions.request.headers.set("Authorization", `${accessToken.tokenType ?? "Bearer"} ${accessToken.token}`);
+      return true;
+    }
+    function bearerTokenAuthenticationPolicy(options) {
+      const { credential, scopes, challengeCallbacks } = options;
+      const logger = options.logger || log_js_1.logger;
+      const callbacks = {
+        authorizeRequest: challengeCallbacks?.authorizeRequest?.bind(challengeCallbacks) ?? defaultAuthorizeRequest,
+        authorizeRequestOnChallenge: challengeCallbacks?.authorizeRequestOnChallenge?.bind(challengeCallbacks)
+      };
+      const getAccessToken = credential ? (0, tokenCycler_js_1.createTokenCycler)(
+        credential
+        /* , options */
+      ) : () => Promise.resolve(null);
+      return {
+        name: exports2.bearerTokenAuthenticationPolicyName,
+        /**
+         * If there's no challenge parameter:
+         * - It will try to retrieve the token using the cache, or the credential's getToken.
+         * - Then it will try the next policy with or without the retrieved token.
+         *
+         * It uses the challenge parameters to:
+         * - Skip a first attempt to get the token from the credential if there's no cached token,
+         *   since it expects the token to be retrievable only after the challenge.
+         * - Prepare the outgoing request if the `prepareRequest` method has been provided.
+         * - Send an initial request to receive the challenge if it fails.
+         * - Process a challenge if the response contains it.
+         * - Retrieve a token with the challenge information, then re-send the request.
+         */
+        async sendRequest(request2, next) {
+          if (!request2.url.toLowerCase().startsWith("https://")) {
+            throw new Error("Bearer token authentication is not permitted for non-TLS protected (non-https) URLs.");
           }
-        }
-        async trigger(name, ...args) {
-          var e, promises2;
-          try {
-            if (name !== "debug") {
-              this.trigger("debug", `Event triggered: ${name}`, args);
-            }
-            if (this._events[name] == null) {
-              return;
-            }
-            this._events[name] = this._events[name].filter(function(listener) {
-              return listener.status !== "none";
-            });
-            promises2 = this._events[name].map(async (listener) => {
-              var e2, returned;
-              if (listener.status === "none") {
-                return;
+          await callbacks.authorizeRequest({
+            scopes: Array.isArray(scopes) ? scopes : [scopes],
+            request: request2,
+            getAccessToken,
+            logger
+          });
+          let response;
+          let error3;
+          let shouldSendRequest;
+          [response, error3] = await trySendRequest(request2, next);
+          if (isChallengeResponse(response)) {
+            let claims = getCaeChallengeClaims(response.headers.get("WWW-Authenticate"));
+            if (claims) {
+              let parsedClaim;
+              try {
+                parsedClaim = atob(claims);
+              } catch (e) {
+                logger.warning(`The WWW-Authenticate header contains "claims" that cannot be parsed. Unable to perform the Continuous Access Evaluation authentication flow. Unparsable claims: ${claims}`);
+                return response;
               }
-              if (listener.status === "once") {
-                listener.status = "none";
+              shouldSendRequest = await authorizeRequestOnCaeChallenge({
+                scopes: Array.isArray(scopes) ? scopes : [scopes],
+                response,
+                request: request2,
+                getAccessToken,
+                logger
+              }, parsedClaim);
+              if (shouldSendRequest) {
+                [response, error3] = await trySendRequest(request2, next);
               }
-              try {
-                returned = typeof listener.cb === "function" ? listener.cb(...args) : void 0;
-                if (typeof (returned != null ? returned.then : void 0) === "function") {
-                  return await returned;
-                } else {
-                  return returned;
-                }
-              } catch (error3) {
-                e2 = error3;
-                {
-                  this.trigger("error", e2);
-                }
-                return null;
+            } else if (callbacks.authorizeRequestOnChallenge) {
+              shouldSendRequest = await callbacks.authorizeRequestOnChallenge({
+                scopes: Array.isArray(scopes) ? scopes : [scopes],
+                request: request2,
+                response,
+                getAccessToken,
+                logger
+              });
+              if (shouldSendRequest) {
+                [response, error3] = await trySendRequest(request2, next);
+              }
+              if (isChallengeResponse(response)) {
+                claims = getCaeChallengeClaims(response.headers.get("WWW-Authenticate"));
+                if (claims) {
+                  let parsedClaim;
+                  try {
+                    parsedClaim = atob(claims);
+                  } catch (e) {
+                    logger.warning(`The WWW-Authenticate header contains "claims" that cannot be parsed. Unable to perform the Continuous Access Evaluation authentication flow. Unparsable claims: ${claims}`);
+                    return response;
+                  }
+                  shouldSendRequest = await authorizeRequestOnCaeChallenge({
+                    scopes: Array.isArray(scopes) ? scopes : [scopes],
+                    response,
+                    request: request2,
+                    getAccessToken,
+                    logger
+                  }, parsedClaim);
+                  if (shouldSendRequest) {
+                    [response, error3] = await trySendRequest(request2, next);
+                  }
+                }
               }
-            });
-            return (await Promise.all(promises2)).find(function(x) {
-              return x != null;
-            });
-          } catch (error3) {
-            e = error3;
-            {
-              this.trigger("error", e);
-            }
-            return null;
-          }
-        }
-      };
-      var Events_1 = Events;
-      var DLList$1, Events$1, Queues;
-      DLList$1 = DLList_1;
-      Events$1 = Events_1;
-      Queues = class Queues {
-        constructor(num_priorities) {
-          var i;
-          this.Events = new Events$1(this);
-          this._length = 0;
-          this._lists = (function() {
-            var j, ref, results;
-            results = [];
-            for (i = j = 1, ref = num_priorities; 1 <= ref ? j <= ref : j >= ref; i = 1 <= ref ? ++j : --j) {
-              results.push(new DLList$1((() => {
-                return this.incr();
-              }), (() => {
-                return this.decr();
-              })));
-            }
-            return results;
-          }).call(this);
-        }
-        incr() {
-          if (this._length++ === 0) {
-            return this.Events.trigger("leftzero");
-          }
-        }
-        decr() {
-          if (--this._length === 0) {
-            return this.Events.trigger("zero");
-          }
-        }
-        push(job) {
-          return this._lists[job.options.priority].push(job);
-        }
-        queued(priority) {
-          if (priority != null) {
-            return this._lists[priority].length;
-          } else {
-            return this._length;
-          }
-        }
-        shiftAll(fn) {
-          return this._lists.forEach(function(list) {
-            return list.forEachShift(fn);
-          });
-        }
-        getFirst(arr = this._lists) {
-          var j, len, list;
-          for (j = 0, len = arr.length; j < len; j++) {
-            list = arr[j];
-            if (list.length > 0) {
-              return list;
             }
           }
-          return [];
-        }
-        shiftLastFrom(priority) {
-          return this.getFirst(this._lists.slice(priority).reverse()).shift();
-        }
-      };
-      var Queues_1 = Queues;
-      var BottleneckError;
-      BottleneckError = class BottleneckError extends Error {
-      };
-      var BottleneckError_1 = BottleneckError;
-      var BottleneckError$1, DEFAULT_PRIORITY, Job, NUM_PRIORITIES, parser$1;
-      NUM_PRIORITIES = 10;
-      DEFAULT_PRIORITY = 5;
-      parser$1 = parser;
-      BottleneckError$1 = BottleneckError_1;
-      Job = class Job {
-        constructor(task, args, options, jobDefaults, rejectOnDrop, Events2, _states, Promise2) {
-          this.task = task;
-          this.args = args;
-          this.rejectOnDrop = rejectOnDrop;
-          this.Events = Events2;
-          this._states = _states;
-          this.Promise = Promise2;
-          this.options = parser$1.load(options, jobDefaults);
-          this.options.priority = this._sanitizePriority(this.options.priority);
-          if (this.options.id === jobDefaults.id) {
-            this.options.id = `${this.options.id}-${this._randomIndex()}`;
-          }
-          this.promise = new this.Promise((_resolve, _reject) => {
-            this._resolve = _resolve;
-            this._reject = _reject;
-          });
-          this.retryCount = 0;
-        }
-        _sanitizePriority(priority) {
-          var sProperty;
-          sProperty = ~~priority !== priority ? DEFAULT_PRIORITY : priority;
-          if (sProperty < 0) {
-            return 0;
-          } else if (sProperty > NUM_PRIORITIES - 1) {
-            return NUM_PRIORITIES - 1;
+          if (error3) {
+            throw error3;
           } else {
-            return sProperty;
+            return response;
           }
         }
-        _randomIndex() {
-          return Math.random().toString(36).slice(2);
+      };
+    }
+    function parseChallenges(challenges) {
+      const challengeRegex = /(\w+)\s+((?:\w+=(?:"[^"]*"|[^,]*),?\s*)+)/g;
+      const paramRegex = /(\w+)="([^"]*)"/g;
+      const parsedChallenges = [];
+      let match;
+      while ((match = challengeRegex.exec(challenges)) !== null) {
+        const scheme = match[1];
+        const paramsString = match[2];
+        const params = {};
+        let paramMatch;
+        while ((paramMatch = paramRegex.exec(paramsString)) !== null) {
+          params[paramMatch[1]] = paramMatch[2];
         }
-        doDrop({ error: error3, message = "This job has been dropped by Bottleneck" } = {}) {
-          if (this._states.remove(this.options.id)) {
-            if (this.rejectOnDrop) {
-              this._reject(error3 != null ? error3 : new BottleneckError$1(message));
+        parsedChallenges.push({ scheme, params });
+      }
+      return parsedChallenges;
+    }
+    function getCaeChallengeClaims(challenges) {
+      if (!challenges) {
+        return;
+      }
+      const parsedChallenges = parseChallenges(challenges);
+      return parsedChallenges.find((x) => x.scheme === "Bearer" && x.params.claims && x.params.error === "insufficient_claims")?.params.claims;
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/ndJsonPolicy.js
+var require_ndJsonPolicy = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/ndJsonPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ndJsonPolicyName = void 0;
+    exports2.ndJsonPolicy = ndJsonPolicy;
+    exports2.ndJsonPolicyName = "ndJsonPolicy";
+    function ndJsonPolicy() {
+      return {
+        name: exports2.ndJsonPolicyName,
+        async sendRequest(request2, next) {
+          if (typeof request2.body === "string" && request2.body.startsWith("[")) {
+            const body = JSON.parse(request2.body);
+            if (Array.isArray(body)) {
+              request2.body = body.map((item) => JSON.stringify(item) + "\n").join("");
             }
-            this.Events.trigger("dropped", { args: this.args, options: this.options, task: this.task, promise: this.promise });
-            return true;
-          } else {
-            return false;
-          }
-        }
-        _assertStatus(expected) {
-          var status;
-          status = this._states.jobStatus(this.options.id);
-          if (!(status === expected || expected === "DONE" && status === null)) {
-            throw new BottleneckError$1(`Invalid job status ${status}, expected ${expected}. Please open an issue at https://github.com/SGrondin/bottleneck/issues`);
           }
+          return next(request2);
         }
-        doReceive() {
-          this._states.start(this.options.id);
-          return this.Events.trigger("received", { args: this.args, options: this.options });
-        }
-        doQueue(reachedHWM, blocked) {
-          this._assertStatus("RECEIVED");
-          this._states.next(this.options.id);
-          return this.Events.trigger("queued", { args: this.args, options: this.options, reachedHWM, blocked });
-        }
-        doRun() {
-          if (this.retryCount === 0) {
-            this._assertStatus("QUEUED");
-            this._states.next(this.options.id);
-          } else {
-            this._assertStatus("EXECUTING");
+      };
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/auxiliaryAuthenticationHeaderPolicy.js
+var require_auxiliaryAuthenticationHeaderPolicy = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/auxiliaryAuthenticationHeaderPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.auxiliaryAuthenticationHeaderPolicyName = void 0;
+    exports2.auxiliaryAuthenticationHeaderPolicy = auxiliaryAuthenticationHeaderPolicy;
+    var tokenCycler_js_1 = require_tokenCycler();
+    var log_js_1 = require_log3();
+    exports2.auxiliaryAuthenticationHeaderPolicyName = "auxiliaryAuthenticationHeaderPolicy";
+    var AUTHORIZATION_AUXILIARY_HEADER = "x-ms-authorization-auxiliary";
+    async function sendAuthorizeRequest(options) {
+      const { scopes, getAccessToken, request: request2 } = options;
+      const getTokenOptions = {
+        abortSignal: request2.abortSignal,
+        tracingOptions: request2.tracingOptions
+      };
+      return (await getAccessToken(scopes, getTokenOptions))?.token ?? "";
+    }
+    function auxiliaryAuthenticationHeaderPolicy(options) {
+      const { credentials, scopes } = options;
+      const logger = options.logger || log_js_1.logger;
+      const tokenCyclerMap = /* @__PURE__ */ new WeakMap();
+      return {
+        name: exports2.auxiliaryAuthenticationHeaderPolicyName,
+        async sendRequest(request2, next) {
+          if (!request2.url.toLowerCase().startsWith("https://")) {
+            throw new Error("Bearer token authentication for auxiliary header is not permitted for non-TLS protected (non-https) URLs.");
           }
-          return this.Events.trigger("scheduled", { args: this.args, options: this.options });
-        }
-        async doExecute(chained, clearGlobalState, run, free) {
-          var error3, eventInfo, passed;
-          if (this.retryCount === 0) {
-            this._assertStatus("RUNNING");
-            this._states.next(this.options.id);
-          } else {
-            this._assertStatus("EXECUTING");
+          if (!credentials || credentials.length === 0) {
+            logger.info(`${exports2.auxiliaryAuthenticationHeaderPolicyName} header will not be set due to empty credentials.`);
+            return next(request2);
           }
-          eventInfo = { args: this.args, options: this.options, retryCount: this.retryCount };
-          this.Events.trigger("executing", eventInfo);
-          try {
-            passed = await (chained != null ? chained.schedule(this.options, this.task, ...this.args) : this.task(...this.args));
-            if (clearGlobalState()) {
-              this.doDone(eventInfo);
-              await free(this.options, eventInfo);
-              this._assertStatus("DONE");
-              return this._resolve(passed);
+          const tokenPromises = [];
+          for (const credential of credentials) {
+            let getAccessToken = tokenCyclerMap.get(credential);
+            if (!getAccessToken) {
+              getAccessToken = (0, tokenCycler_js_1.createTokenCycler)(credential);
+              tokenCyclerMap.set(credential, getAccessToken);
             }
-          } catch (error1) {
-            error3 = error1;
-            return this._onFailure(error3, eventInfo, clearGlobalState, run, free);
-          }
-        }
-        doExpire(clearGlobalState, run, free) {
-          var error3, eventInfo;
-          if (this._states.jobStatus(this.options.id === "RUNNING")) {
-            this._states.next(this.options.id);
+            tokenPromises.push(sendAuthorizeRequest({
+              scopes: Array.isArray(scopes) ? scopes : [scopes],
+              request: request2,
+              getAccessToken,
+              logger
+            }));
           }
-          this._assertStatus("EXECUTING");
-          eventInfo = { args: this.args, options: this.options, retryCount: this.retryCount };
-          error3 = new BottleneckError$1(`This job timed out after ${this.options.expiration} ms.`);
-          return this._onFailure(error3, eventInfo, clearGlobalState, run, free);
-        }
-        async _onFailure(error3, eventInfo, clearGlobalState, run, free) {
-          var retry2, retryAfter;
-          if (clearGlobalState()) {
-            retry2 = await this.Events.trigger("failed", error3, eventInfo);
-            if (retry2 != null) {
-              retryAfter = ~~retry2;
-              this.Events.trigger("retry", `Retrying ${this.options.id} after ${retryAfter} ms`, eventInfo);
-              this.retryCount++;
-              return run(retryAfter);
-            } else {
-              this.doDone(eventInfo);
-              await free(this.options, eventInfo);
-              this._assertStatus("DONE");
-              return this._reject(error3);
-            }
+          const auxiliaryTokens = (await Promise.all(tokenPromises)).filter((token) => Boolean(token));
+          if (auxiliaryTokens.length === 0) {
+            logger.warning(`None of the auxiliary tokens are valid. ${AUTHORIZATION_AUXILIARY_HEADER} header will not be set.`);
+            return next(request2);
           }
-        }
-        doDone(eventInfo) {
-          this._assertStatus("EXECUTING");
-          this._states.next(this.options.id);
-          return this.Events.trigger("done", eventInfo);
+          request2.headers.set(AUTHORIZATION_AUXILIARY_HEADER, auxiliaryTokens.map((token) => `Bearer ${token}`).join(", "));
+          return next(request2);
         }
       };
-      var Job_1 = Job;
-      var BottleneckError$2, LocalDatastore, parser$2;
-      parser$2 = parser;
-      BottleneckError$2 = BottleneckError_1;
-      LocalDatastore = class LocalDatastore {
-        constructor(instance, storeOptions, storeInstanceOptions) {
-          this.instance = instance;
-          this.storeOptions = storeOptions;
-          this.clientId = this.instance._randomIndex();
-          parser$2.load(storeInstanceOptions, storeInstanceOptions, this);
-          this._nextRequest = this._lastReservoirRefresh = this._lastReservoirIncrease = Date.now();
-          this._running = 0;
-          this._done = 0;
-          this._unblockTime = 0;
-          this.ready = this.Promise.resolve();
-          this.clients = {};
-          this._startHeartbeat();
-        }
-        _startHeartbeat() {
-          var base;
-          if (this.heartbeat == null && (this.storeOptions.reservoirRefreshInterval != null && this.storeOptions.reservoirRefreshAmount != null || this.storeOptions.reservoirIncreaseInterval != null && this.storeOptions.reservoirIncreaseAmount != null)) {
-            return typeof (base = this.heartbeat = setInterval(() => {
-              var amount, incr, maximum, now, reservoir;
-              now = Date.now();
-              if (this.storeOptions.reservoirRefreshInterval != null && now >= this._lastReservoirRefresh + this.storeOptions.reservoirRefreshInterval) {
-                this._lastReservoirRefresh = now;
-                this.storeOptions.reservoir = this.storeOptions.reservoirRefreshAmount;
-                this.instance._drainAll(this.computeCapacity());
-              }
-              if (this.storeOptions.reservoirIncreaseInterval != null && now >= this._lastReservoirIncrease + this.storeOptions.reservoirIncreaseInterval) {
-                ({
-                  reservoirIncreaseAmount: amount,
-                  reservoirIncreaseMaximum: maximum,
-                  reservoir
-                } = this.storeOptions);
-                this._lastReservoirIncrease = now;
-                incr = maximum != null ? Math.min(amount, maximum - reservoir) : amount;
-                if (incr > 0) {
-                  this.storeOptions.reservoir += incr;
-                  return this.instance._drainAll(this.computeCapacity());
-                }
-              }
-            }, this.heartbeatInterval)).unref === "function" ? base.unref() : void 0;
-          } else {
-            return clearInterval(this.heartbeat);
-          }
-        }
-        async __publish__(message) {
-          await this.yieldLoop();
-          return this.instance.Events.trigger("message", message.toString());
-        }
-        async __disconnect__(flush) {
-          await this.yieldLoop();
-          clearInterval(this.heartbeat);
-          return this.Promise.resolve();
-        }
-        yieldLoop(t = 0) {
-          return new this.Promise(function(resolve2, reject) {
-            return setTimeout(resolve2, t);
-          });
-        }
-        computePenalty() {
-          var ref;
-          return (ref = this.storeOptions.penalty) != null ? ref : 15 * this.storeOptions.minTime || 5e3;
-        }
-        async __updateSettings__(options) {
-          await this.yieldLoop();
-          parser$2.overwrite(options, options, this.storeOptions);
-          this._startHeartbeat();
-          this.instance._drainAll(this.computeCapacity());
-          return true;
-        }
-        async __running__() {
-          await this.yieldLoop();
-          return this._running;
-        }
-        async __queued__() {
-          await this.yieldLoop();
-          return this.instance.queued();
-        }
-        async __done__() {
-          await this.yieldLoop();
-          return this._done;
-        }
-        async __groupCheck__(time) {
-          await this.yieldLoop();
-          return this._nextRequest + this.timeout < time;
-        }
-        computeCapacity() {
-          var maxConcurrent, reservoir;
-          ({ maxConcurrent, reservoir } = this.storeOptions);
-          if (maxConcurrent != null && reservoir != null) {
-            return Math.min(maxConcurrent - this._running, reservoir);
-          } else if (maxConcurrent != null) {
-            return maxConcurrent - this._running;
-          } else if (reservoir != null) {
-            return reservoir;
-          } else {
-            return null;
-          }
-        }
-        conditionsCheck(weight) {
-          var capacity;
-          capacity = this.computeCapacity();
-          return capacity == null || weight <= capacity;
-        }
-        async __incrementReservoir__(incr) {
-          var reservoir;
-          await this.yieldLoop();
-          reservoir = this.storeOptions.reservoir += incr;
-          this.instance._drainAll(this.computeCapacity());
-          return reservoir;
-        }
-        async __currentReservoir__() {
-          await this.yieldLoop();
-          return this.storeOptions.reservoir;
-        }
-        isBlocked(now) {
-          return this._unblockTime >= now;
-        }
-        check(weight, now) {
-          return this.conditionsCheck(weight) && this._nextRequest - now <= 0;
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/index.js
+var require_commonjs8 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createFileFromStream = exports2.createFile = exports2.agentPolicyName = exports2.agentPolicy = exports2.auxiliaryAuthenticationHeaderPolicyName = exports2.auxiliaryAuthenticationHeaderPolicy = exports2.ndJsonPolicyName = exports2.ndJsonPolicy = exports2.bearerTokenAuthenticationPolicyName = exports2.bearerTokenAuthenticationPolicy = exports2.formDataPolicyName = exports2.formDataPolicy = exports2.tlsPolicyName = exports2.tlsPolicy = exports2.userAgentPolicyName = exports2.userAgentPolicy = exports2.defaultRetryPolicy = exports2.tracingPolicyName = exports2.tracingPolicy = exports2.retryPolicy = exports2.throttlingRetryPolicyName = exports2.throttlingRetryPolicy = exports2.systemErrorRetryPolicyName = exports2.systemErrorRetryPolicy = exports2.redirectPolicyName = exports2.redirectPolicy = exports2.getDefaultProxySettings = exports2.proxyPolicyName = exports2.proxyPolicy = exports2.multipartPolicyName = exports2.multipartPolicy = exports2.logPolicyName = exports2.logPolicy = exports2.setClientRequestIdPolicyName = exports2.setClientRequestIdPolicy = exports2.exponentialRetryPolicyName = exports2.exponentialRetryPolicy = exports2.decompressResponsePolicyName = exports2.decompressResponsePolicy = exports2.isRestError = exports2.RestError = exports2.createPipelineRequest = exports2.createHttpHeaders = exports2.createDefaultHttpClient = exports2.createPipelineFromOptions = exports2.createEmptyPipeline = void 0;
+    var pipeline_js_1 = require_pipeline2();
+    Object.defineProperty(exports2, "createEmptyPipeline", { enumerable: true, get: function() {
+      return pipeline_js_1.createEmptyPipeline;
+    } });
+    var createPipelineFromOptions_js_1 = require_createPipelineFromOptions2();
+    Object.defineProperty(exports2, "createPipelineFromOptions", { enumerable: true, get: function() {
+      return createPipelineFromOptions_js_1.createPipelineFromOptions;
+    } });
+    var defaultHttpClient_js_1 = require_defaultHttpClient2();
+    Object.defineProperty(exports2, "createDefaultHttpClient", { enumerable: true, get: function() {
+      return defaultHttpClient_js_1.createDefaultHttpClient;
+    } });
+    var httpHeaders_js_1 = require_httpHeaders2();
+    Object.defineProperty(exports2, "createHttpHeaders", { enumerable: true, get: function() {
+      return httpHeaders_js_1.createHttpHeaders;
+    } });
+    var pipelineRequest_js_1 = require_pipelineRequest2();
+    Object.defineProperty(exports2, "createPipelineRequest", { enumerable: true, get: function() {
+      return pipelineRequest_js_1.createPipelineRequest;
+    } });
+    var restError_js_1 = require_restError3();
+    Object.defineProperty(exports2, "RestError", { enumerable: true, get: function() {
+      return restError_js_1.RestError;
+    } });
+    Object.defineProperty(exports2, "isRestError", { enumerable: true, get: function() {
+      return restError_js_1.isRestError;
+    } });
+    var decompressResponsePolicy_js_1 = require_decompressResponsePolicy2();
+    Object.defineProperty(exports2, "decompressResponsePolicy", { enumerable: true, get: function() {
+      return decompressResponsePolicy_js_1.decompressResponsePolicy;
+    } });
+    Object.defineProperty(exports2, "decompressResponsePolicyName", { enumerable: true, get: function() {
+      return decompressResponsePolicy_js_1.decompressResponsePolicyName;
+    } });
+    var exponentialRetryPolicy_js_1 = require_exponentialRetryPolicy2();
+    Object.defineProperty(exports2, "exponentialRetryPolicy", { enumerable: true, get: function() {
+      return exponentialRetryPolicy_js_1.exponentialRetryPolicy;
+    } });
+    Object.defineProperty(exports2, "exponentialRetryPolicyName", { enumerable: true, get: function() {
+      return exponentialRetryPolicy_js_1.exponentialRetryPolicyName;
+    } });
+    var setClientRequestIdPolicy_js_1 = require_setClientRequestIdPolicy();
+    Object.defineProperty(exports2, "setClientRequestIdPolicy", { enumerable: true, get: function() {
+      return setClientRequestIdPolicy_js_1.setClientRequestIdPolicy;
+    } });
+    Object.defineProperty(exports2, "setClientRequestIdPolicyName", { enumerable: true, get: function() {
+      return setClientRequestIdPolicy_js_1.setClientRequestIdPolicyName;
+    } });
+    var logPolicy_js_1 = require_logPolicy2();
+    Object.defineProperty(exports2, "logPolicy", { enumerable: true, get: function() {
+      return logPolicy_js_1.logPolicy;
+    } });
+    Object.defineProperty(exports2, "logPolicyName", { enumerable: true, get: function() {
+      return logPolicy_js_1.logPolicyName;
+    } });
+    var multipartPolicy_js_1 = require_multipartPolicy2();
+    Object.defineProperty(exports2, "multipartPolicy", { enumerable: true, get: function() {
+      return multipartPolicy_js_1.multipartPolicy;
+    } });
+    Object.defineProperty(exports2, "multipartPolicyName", { enumerable: true, get: function() {
+      return multipartPolicy_js_1.multipartPolicyName;
+    } });
+    var proxyPolicy_js_1 = require_proxyPolicy2();
+    Object.defineProperty(exports2, "proxyPolicy", { enumerable: true, get: function() {
+      return proxyPolicy_js_1.proxyPolicy;
+    } });
+    Object.defineProperty(exports2, "proxyPolicyName", { enumerable: true, get: function() {
+      return proxyPolicy_js_1.proxyPolicyName;
+    } });
+    Object.defineProperty(exports2, "getDefaultProxySettings", { enumerable: true, get: function() {
+      return proxyPolicy_js_1.getDefaultProxySettings;
+    } });
+    var redirectPolicy_js_1 = require_redirectPolicy2();
+    Object.defineProperty(exports2, "redirectPolicy", { enumerable: true, get: function() {
+      return redirectPolicy_js_1.redirectPolicy;
+    } });
+    Object.defineProperty(exports2, "redirectPolicyName", { enumerable: true, get: function() {
+      return redirectPolicy_js_1.redirectPolicyName;
+    } });
+    var systemErrorRetryPolicy_js_1 = require_systemErrorRetryPolicy2();
+    Object.defineProperty(exports2, "systemErrorRetryPolicy", { enumerable: true, get: function() {
+      return systemErrorRetryPolicy_js_1.systemErrorRetryPolicy;
+    } });
+    Object.defineProperty(exports2, "systemErrorRetryPolicyName", { enumerable: true, get: function() {
+      return systemErrorRetryPolicy_js_1.systemErrorRetryPolicyName;
+    } });
+    var throttlingRetryPolicy_js_1 = require_throttlingRetryPolicy2();
+    Object.defineProperty(exports2, "throttlingRetryPolicy", { enumerable: true, get: function() {
+      return throttlingRetryPolicy_js_1.throttlingRetryPolicy;
+    } });
+    Object.defineProperty(exports2, "throttlingRetryPolicyName", { enumerable: true, get: function() {
+      return throttlingRetryPolicy_js_1.throttlingRetryPolicyName;
+    } });
+    var retryPolicy_js_1 = require_retryPolicy2();
+    Object.defineProperty(exports2, "retryPolicy", { enumerable: true, get: function() {
+      return retryPolicy_js_1.retryPolicy;
+    } });
+    var tracingPolicy_js_1 = require_tracingPolicy();
+    Object.defineProperty(exports2, "tracingPolicy", { enumerable: true, get: function() {
+      return tracingPolicy_js_1.tracingPolicy;
+    } });
+    Object.defineProperty(exports2, "tracingPolicyName", { enumerable: true, get: function() {
+      return tracingPolicy_js_1.tracingPolicyName;
+    } });
+    var defaultRetryPolicy_js_1 = require_defaultRetryPolicy2();
+    Object.defineProperty(exports2, "defaultRetryPolicy", { enumerable: true, get: function() {
+      return defaultRetryPolicy_js_1.defaultRetryPolicy;
+    } });
+    var userAgentPolicy_js_1 = require_userAgentPolicy2();
+    Object.defineProperty(exports2, "userAgentPolicy", { enumerable: true, get: function() {
+      return userAgentPolicy_js_1.userAgentPolicy;
+    } });
+    Object.defineProperty(exports2, "userAgentPolicyName", { enumerable: true, get: function() {
+      return userAgentPolicy_js_1.userAgentPolicyName;
+    } });
+    var tlsPolicy_js_1 = require_tlsPolicy2();
+    Object.defineProperty(exports2, "tlsPolicy", { enumerable: true, get: function() {
+      return tlsPolicy_js_1.tlsPolicy;
+    } });
+    Object.defineProperty(exports2, "tlsPolicyName", { enumerable: true, get: function() {
+      return tlsPolicy_js_1.tlsPolicyName;
+    } });
+    var formDataPolicy_js_1 = require_formDataPolicy2();
+    Object.defineProperty(exports2, "formDataPolicy", { enumerable: true, get: function() {
+      return formDataPolicy_js_1.formDataPolicy;
+    } });
+    Object.defineProperty(exports2, "formDataPolicyName", { enumerable: true, get: function() {
+      return formDataPolicy_js_1.formDataPolicyName;
+    } });
+    var bearerTokenAuthenticationPolicy_js_1 = require_bearerTokenAuthenticationPolicy();
+    Object.defineProperty(exports2, "bearerTokenAuthenticationPolicy", { enumerable: true, get: function() {
+      return bearerTokenAuthenticationPolicy_js_1.bearerTokenAuthenticationPolicy;
+    } });
+    Object.defineProperty(exports2, "bearerTokenAuthenticationPolicyName", { enumerable: true, get: function() {
+      return bearerTokenAuthenticationPolicy_js_1.bearerTokenAuthenticationPolicyName;
+    } });
+    var ndJsonPolicy_js_1 = require_ndJsonPolicy();
+    Object.defineProperty(exports2, "ndJsonPolicy", { enumerable: true, get: function() {
+      return ndJsonPolicy_js_1.ndJsonPolicy;
+    } });
+    Object.defineProperty(exports2, "ndJsonPolicyName", { enumerable: true, get: function() {
+      return ndJsonPolicy_js_1.ndJsonPolicyName;
+    } });
+    var auxiliaryAuthenticationHeaderPolicy_js_1 = require_auxiliaryAuthenticationHeaderPolicy();
+    Object.defineProperty(exports2, "auxiliaryAuthenticationHeaderPolicy", { enumerable: true, get: function() {
+      return auxiliaryAuthenticationHeaderPolicy_js_1.auxiliaryAuthenticationHeaderPolicy;
+    } });
+    Object.defineProperty(exports2, "auxiliaryAuthenticationHeaderPolicyName", { enumerable: true, get: function() {
+      return auxiliaryAuthenticationHeaderPolicy_js_1.auxiliaryAuthenticationHeaderPolicyName;
+    } });
+    var agentPolicy_js_1 = require_agentPolicy2();
+    Object.defineProperty(exports2, "agentPolicy", { enumerable: true, get: function() {
+      return agentPolicy_js_1.agentPolicy;
+    } });
+    Object.defineProperty(exports2, "agentPolicyName", { enumerable: true, get: function() {
+      return agentPolicy_js_1.agentPolicyName;
+    } });
+    var file_js_1 = require_file3();
+    Object.defineProperty(exports2, "createFile", { enumerable: true, get: function() {
+      return file_js_1.createFile;
+    } });
+    Object.defineProperty(exports2, "createFileFromStream", { enumerable: true, get: function() {
+      return file_js_1.createFileFromStream;
+    } });
+  }
+});
+
+// node_modules/@azure/core-auth/dist/commonjs/azureKeyCredential.js
+var require_azureKeyCredential = __commonJS({
+  "node_modules/@azure/core-auth/dist/commonjs/azureKeyCredential.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AzureKeyCredential = void 0;
+    var AzureKeyCredential = class {
+      _key;
+      /**
+       * The value of the key to be used in authentication
+       */
+      get key() {
+        return this._key;
+      }
+      /**
+       * Create an instance of an AzureKeyCredential for use
+       * with a service client.
+       *
+       * @param key - The initial value of the key to use in authentication
+       */
+      constructor(key) {
+        if (!key) {
+          throw new Error("key must be a non-empty string");
         }
-        async __check__(weight) {
-          var now;
-          await this.yieldLoop();
-          now = Date.now();
-          return this.check(weight, now);
+        this._key = key;
+      }
+      /**
+       * Change the value of the key.
+       *
+       * Updates will take effect upon the next request after
+       * updating the key value.
+       *
+       * @param newKey - The new key value to be used
+       */
+      update(newKey) {
+        this._key = newKey;
+      }
+    };
+    exports2.AzureKeyCredential = AzureKeyCredential;
+  }
+});
+
+// node_modules/@azure/core-auth/dist/commonjs/keyCredential.js
+var require_keyCredential = __commonJS({
+  "node_modules/@azure/core-auth/dist/commonjs/keyCredential.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isKeyCredential = isKeyCredential;
+    var core_util_1 = require_commonjs6();
+    function isKeyCredential(credential) {
+      return (0, core_util_1.isObjectWithProperties)(credential, ["key"]) && typeof credential.key === "string";
+    }
+  }
+});
+
+// node_modules/@azure/core-auth/dist/commonjs/azureNamedKeyCredential.js
+var require_azureNamedKeyCredential = __commonJS({
+  "node_modules/@azure/core-auth/dist/commonjs/azureNamedKeyCredential.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AzureNamedKeyCredential = void 0;
+    exports2.isNamedKeyCredential = isNamedKeyCredential;
+    var core_util_1 = require_commonjs6();
+    var AzureNamedKeyCredential = class {
+      _key;
+      _name;
+      /**
+       * The value of the key to be used in authentication.
+       */
+      get key() {
+        return this._key;
+      }
+      /**
+       * The value of the name to be used in authentication.
+       */
+      get name() {
+        return this._name;
+      }
+      /**
+       * Create an instance of an AzureNamedKeyCredential for use
+       * with a service client.
+       *
+       * @param name - The initial value of the name to use in authentication.
+       * @param key - The initial value of the key to use in authentication.
+       */
+      constructor(name, key) {
+        if (!name || !key) {
+          throw new TypeError("name and key must be non-empty strings");
         }
-        async __register__(index, weight, expiration) {
-          var now, wait;
-          await this.yieldLoop();
-          now = Date.now();
-          if (this.conditionsCheck(weight)) {
-            this._running += weight;
-            if (this.storeOptions.reservoir != null) {
-              this.storeOptions.reservoir -= weight;
-            }
-            wait = Math.max(this._nextRequest - now, 0);
-            this._nextRequest = now + wait + this.storeOptions.minTime;
-            return {
-              success: true,
-              wait,
-              reservoir: this.storeOptions.reservoir
-            };
-          } else {
-            return {
-              success: false
-            };
-          }
+        this._name = name;
+        this._key = key;
+      }
+      /**
+       * Change the value of the key.
+       *
+       * Updates will take effect upon the next request after
+       * updating the key value.
+       *
+       * @param newName - The new name value to be used.
+       * @param newKey - The new key value to be used.
+       */
+      update(newName, newKey) {
+        if (!newName || !newKey) {
+          throw new TypeError("newName and newKey must be non-empty strings");
         }
-        strategyIsBlock() {
-          return this.storeOptions.strategy === 3;
+        this._name = newName;
+        this._key = newKey;
+      }
+    };
+    exports2.AzureNamedKeyCredential = AzureNamedKeyCredential;
+    function isNamedKeyCredential(credential) {
+      return (0, core_util_1.isObjectWithProperties)(credential, ["name", "key"]) && typeof credential.key === "string" && typeof credential.name === "string";
+    }
+  }
+});
+
+// node_modules/@azure/core-auth/dist/commonjs/azureSASCredential.js
+var require_azureSASCredential = __commonJS({
+  "node_modules/@azure/core-auth/dist/commonjs/azureSASCredential.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AzureSASCredential = void 0;
+    exports2.isSASCredential = isSASCredential;
+    var core_util_1 = require_commonjs6();
+    var AzureSASCredential = class {
+      _signature;
+      /**
+       * The value of the shared access signature to be used in authentication
+       */
+      get signature() {
+        return this._signature;
+      }
+      /**
+       * Create an instance of an AzureSASCredential for use
+       * with a service client.
+       *
+       * @param signature - The initial value of the shared access signature to use in authentication
+       */
+      constructor(signature) {
+        if (!signature) {
+          throw new Error("shared access signature must be a non-empty string");
         }
-        async __submit__(queueLength, weight) {
-          var blocked, now, reachedHWM;
-          await this.yieldLoop();
-          if (this.storeOptions.maxConcurrent != null && weight > this.storeOptions.maxConcurrent) {
-            throw new BottleneckError$2(`Impossible to add a job having a weight of ${weight} to a limiter having a maxConcurrent setting of ${this.storeOptions.maxConcurrent}`);
-          }
-          now = Date.now();
-          reachedHWM = this.storeOptions.highWater != null && queueLength === this.storeOptions.highWater && !this.check(weight, now);
-          blocked = this.strategyIsBlock() && (reachedHWM || this.isBlocked(now));
-          if (blocked) {
-            this._unblockTime = now + this.computePenalty();
-            this._nextRequest = this._unblockTime + this.storeOptions.minTime;
-            this.instance._dropAllQueued();
-          }
-          return {
-            reachedHWM,
-            blocked,
-            strategy: this.storeOptions.strategy
-          };
+        this._signature = signature;
+      }
+      /**
+       * Change the value of the signature.
+       *
+       * Updates will take effect upon the next request after
+       * updating the signature value.
+       *
+       * @param newSignature - The new shared access signature value to be used
+       */
+      update(newSignature) {
+        if (!newSignature) {
+          throw new Error("shared access signature must be a non-empty string");
         }
-        async __free__(index, weight) {
-          await this.yieldLoop();
-          this._running -= weight;
-          this._done += weight;
-          this.instance._drainAll(this.computeCapacity());
-          return {
-            running: this._running
-          };
+        this._signature = newSignature;
+      }
+    };
+    exports2.AzureSASCredential = AzureSASCredential;
+    function isSASCredential(credential) {
+      return (0, core_util_1.isObjectWithProperties)(credential, ["signature"]) && typeof credential.signature === "string";
+    }
+  }
+});
+
+// node_modules/@azure/core-auth/dist/commonjs/tokenCredential.js
+var require_tokenCredential = __commonJS({
+  "node_modules/@azure/core-auth/dist/commonjs/tokenCredential.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isBearerToken = isBearerToken;
+    exports2.isPopToken = isPopToken;
+    exports2.isTokenCredential = isTokenCredential;
+    function isBearerToken(accessToken) {
+      return !accessToken.tokenType || accessToken.tokenType === "Bearer";
+    }
+    function isPopToken(accessToken) {
+      return accessToken.tokenType === "pop";
+    }
+    function isTokenCredential(credential) {
+      const castCredential = credential;
+      return castCredential && typeof castCredential.getToken === "function" && (castCredential.signRequest === void 0 || castCredential.getToken.length > 0);
+    }
+  }
+});
+
+// node_modules/@azure/core-auth/dist/commonjs/index.js
+var require_commonjs9 = __commonJS({
+  "node_modules/@azure/core-auth/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isTokenCredential = exports2.isSASCredential = exports2.AzureSASCredential = exports2.isNamedKeyCredential = exports2.AzureNamedKeyCredential = exports2.isKeyCredential = exports2.AzureKeyCredential = void 0;
+    var azureKeyCredential_js_1 = require_azureKeyCredential();
+    Object.defineProperty(exports2, "AzureKeyCredential", { enumerable: true, get: function() {
+      return azureKeyCredential_js_1.AzureKeyCredential;
+    } });
+    var keyCredential_js_1 = require_keyCredential();
+    Object.defineProperty(exports2, "isKeyCredential", { enumerable: true, get: function() {
+      return keyCredential_js_1.isKeyCredential;
+    } });
+    var azureNamedKeyCredential_js_1 = require_azureNamedKeyCredential();
+    Object.defineProperty(exports2, "AzureNamedKeyCredential", { enumerable: true, get: function() {
+      return azureNamedKeyCredential_js_1.AzureNamedKeyCredential;
+    } });
+    Object.defineProperty(exports2, "isNamedKeyCredential", { enumerable: true, get: function() {
+      return azureNamedKeyCredential_js_1.isNamedKeyCredential;
+    } });
+    var azureSASCredential_js_1 = require_azureSASCredential();
+    Object.defineProperty(exports2, "AzureSASCredential", { enumerable: true, get: function() {
+      return azureSASCredential_js_1.AzureSASCredential;
+    } });
+    Object.defineProperty(exports2, "isSASCredential", { enumerable: true, get: function() {
+      return azureSASCredential_js_1.isSASCredential;
+    } });
+    var tokenCredential_js_1 = require_tokenCredential();
+    Object.defineProperty(exports2, "isTokenCredential", { enumerable: true, get: function() {
+      return tokenCredential_js_1.isTokenCredential;
+    } });
+  }
+});
+
+// node_modules/@azure/core-http-compat/dist/commonjs/policies/disableKeepAlivePolicy.js
+var require_disableKeepAlivePolicy = __commonJS({
+  "node_modules/@azure/core-http-compat/dist/commonjs/policies/disableKeepAlivePolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.disableKeepAlivePolicyName = void 0;
+    exports2.createDisableKeepAlivePolicy = createDisableKeepAlivePolicy;
+    exports2.pipelineContainsDisableKeepAlivePolicy = pipelineContainsDisableKeepAlivePolicy;
+    exports2.disableKeepAlivePolicyName = "DisableKeepAlivePolicy";
+    function createDisableKeepAlivePolicy() {
+      return {
+        name: exports2.disableKeepAlivePolicyName,
+        async sendRequest(request2, next) {
+          request2.disableKeepAlive = true;
+          return next(request2);
         }
       };
-      var LocalDatastore_1 = LocalDatastore;
-      var BottleneckError$3, States;
-      BottleneckError$3 = BottleneckError_1;
-      States = class States {
-        constructor(status1) {
-          this.status = status1;
-          this._jobs = {};
-          this.counts = this.status.map(function() {
-            return 0;
-          });
-        }
-        next(id) {
-          var current, next;
-          current = this._jobs[id];
-          next = current + 1;
-          if (current != null && next < this.status.length) {
-            this.counts[current]--;
-            this.counts[next]++;
-            return this._jobs[id]++;
-          } else if (current != null) {
-            this.counts[current]--;
-            return delete this._jobs[id];
-          }
-        }
-        start(id) {
-          var initial;
-          initial = 0;
-          this._jobs[id] = initial;
-          return this.counts[initial]++;
-        }
-        remove(id) {
-          var current;
-          current = this._jobs[id];
-          if (current != null) {
-            this.counts[current]--;
-            delete this._jobs[id];
-          }
-          return current != null;
-        }
-        jobStatus(id) {
-          var ref;
-          return (ref = this.status[this._jobs[id]]) != null ? ref : null;
-        }
-        statusJobs(status) {
-          var k, pos, ref, results, v;
-          if (status != null) {
-            pos = this.status.indexOf(status);
-            if (pos < 0) {
-              throw new BottleneckError$3(`status must be one of ${this.status.join(", ")}`);
-            }
-            ref = this._jobs;
-            results = [];
-            for (k in ref) {
-              v = ref[k];
-              if (v === pos) {
-                results.push(k);
-              }
-            }
-            return results;
-          } else {
-            return Object.keys(this._jobs);
-          }
-        }
-        statusCounts() {
-          return this.counts.reduce(((acc, v, i) => {
-            acc[this.status[i]] = v;
-            return acc;
-          }), {});
-        }
+    }
+    function pipelineContainsDisableKeepAlivePolicy(pipeline) {
+      return pipeline.getOrderedPolicies().some((policy) => policy.name === exports2.disableKeepAlivePolicyName);
+    }
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/base64.js
+var require_base642 = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/base64.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.encodeString = encodeString;
+    exports2.encodeByteArray = encodeByteArray;
+    exports2.decodeString = decodeString;
+    exports2.decodeStringToString = decodeStringToString;
+    function encodeString(value) {
+      return Buffer.from(value).toString("base64");
+    }
+    function encodeByteArray(value) {
+      const bufferValue = value instanceof Buffer ? value : Buffer.from(value.buffer);
+      return bufferValue.toString("base64");
+    }
+    function decodeString(value) {
+      return Buffer.from(value, "base64");
+    }
+    function decodeStringToString(value) {
+      return Buffer.from(value, "base64").toString();
+    }
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/interfaces.js
+var require_interfaces = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/interfaces.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.XML_CHARKEY = exports2.XML_ATTRKEY = void 0;
+    exports2.XML_ATTRKEY = "$";
+    exports2.XML_CHARKEY = "_";
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/utils.js
+var require_utils6 = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/utils.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isPrimitiveBody = isPrimitiveBody;
+    exports2.isDuration = isDuration;
+    exports2.isValidUuid = isValidUuid;
+    exports2.flattenResponse = flattenResponse;
+    function isPrimitiveBody(value, mapperTypeName) {
+      return mapperTypeName !== "Composite" && mapperTypeName !== "Dictionary" && (typeof value === "string" || typeof value === "number" || typeof value === "boolean" || mapperTypeName?.match(/^(Date|DateTime|DateTimeRfc1123|UnixTime|ByteArray|Base64Url)$/i) !== null || value === void 0 || value === null);
+    }
+    var validateISODuration = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;
+    function isDuration(value) {
+      return validateISODuration.test(value);
+    }
+    var validUuidRegex = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/i;
+    function isValidUuid(uuid) {
+      return validUuidRegex.test(uuid);
+    }
+    function handleNullableResponseAndWrappableBody(responseObject) {
+      const combinedHeadersAndBody = {
+        ...responseObject.headers,
+        ...responseObject.body
       };
-      var States_1 = States;
-      var DLList$2, Sync;
-      DLList$2 = DLList_1;
-      Sync = class Sync {
-        constructor(name, Promise2) {
-          this.schedule = this.schedule.bind(this);
-          this.name = name;
-          this.Promise = Promise2;
-          this._running = 0;
-          this._queue = new DLList$2();
-        }
-        isEmpty() {
-          return this._queue.length === 0;
-        }
-        async _tryToRun() {
-          var args, cb, error3, reject, resolve2, returned, task;
-          if (this._running < 1 && this._queue.length > 0) {
-            this._running++;
-            ({ task, args, resolve: resolve2, reject } = this._queue.shift());
-            cb = await (async function() {
-              try {
-                returned = await task(...args);
-                return function() {
-                  return resolve2(returned);
-                };
-              } catch (error1) {
-                error3 = error1;
-                return function() {
-                  return reject(error3);
-                };
-              }
-            })();
-            this._running--;
-            this._tryToRun();
-            return cb();
+      if (responseObject.hasNullableType && Object.getOwnPropertyNames(combinedHeadersAndBody).length === 0) {
+        return responseObject.shouldWrapBody ? { body: null } : null;
+      } else {
+        return responseObject.shouldWrapBody ? {
+          ...responseObject.headers,
+          body: responseObject.body
+        } : combinedHeadersAndBody;
+      }
+    }
+    function flattenResponse(fullResponse, responseSpec) {
+      const parsedHeaders = fullResponse.parsedHeaders;
+      if (fullResponse.request.method === "HEAD") {
+        return {
+          ...parsedHeaders,
+          body: fullResponse.parsedBody
+        };
+      }
+      const bodyMapper = responseSpec && responseSpec.bodyMapper;
+      const isNullable = Boolean(bodyMapper?.nullable);
+      const expectedBodyTypeName = bodyMapper?.type.name;
+      if (expectedBodyTypeName === "Stream") {
+        return {
+          ...parsedHeaders,
+          blobBody: fullResponse.blobBody,
+          readableStreamBody: fullResponse.readableStreamBody
+        };
+      }
+      const modelProperties = expectedBodyTypeName === "Composite" && bodyMapper.type.modelProperties || {};
+      const isPageableResponse = Object.keys(modelProperties).some((k) => modelProperties[k].serializedName === "");
+      if (expectedBodyTypeName === "Sequence" || isPageableResponse) {
+        const arrayResponse = fullResponse.parsedBody ?? [];
+        for (const key of Object.keys(modelProperties)) {
+          if (modelProperties[key].serializedName) {
+            arrayResponse[key] = fullResponse.parsedBody?.[key];
           }
         }
-        schedule(task, ...args) {
-          var promise, reject, resolve2;
-          resolve2 = reject = null;
-          promise = new this.Promise(function(_resolve, _reject) {
-            resolve2 = _resolve;
-            return reject = _reject;
-          });
-          this._queue.push({ task, args, resolve: resolve2, reject });
-          this._tryToRun();
-          return promise;
+        if (parsedHeaders) {
+          for (const key of Object.keys(parsedHeaders)) {
+            arrayResponse[key] = parsedHeaders[key];
+          }
         }
-      };
-      var Sync_1 = Sync;
-      var version = "2.19.5";
-      var version$1 = {
-        version
-      };
-      var version$2 = /* @__PURE__ */ Object.freeze({
-        version,
-        default: version$1
+        return isNullable && !fullResponse.parsedBody && !parsedHeaders && Object.getOwnPropertyNames(modelProperties).length === 0 ? null : arrayResponse;
+      }
+      return handleNullableResponseAndWrappableBody({
+        body: fullResponse.parsedBody,
+        headers: parsedHeaders,
+        hasNullableType: isNullable,
+        shouldWrapBody: isPrimitiveBody(fullResponse.parsedBody, expectedBodyTypeName)
       });
-      var require$$2 = () => console.log("You must import the full version of Bottleneck in order to use this feature.");
-      var require$$3 = () => console.log("You must import the full version of Bottleneck in order to use this feature.");
-      var require$$4 = () => console.log("You must import the full version of Bottleneck in order to use this feature.");
-      var Events$2, Group, IORedisConnection$1, RedisConnection$1, Scripts$1, parser$3;
-      parser$3 = parser;
-      Events$2 = Events_1;
-      RedisConnection$1 = require$$2;
-      IORedisConnection$1 = require$$3;
-      Scripts$1 = require$$4;
-      Group = (function() {
-        class Group2 {
-          constructor(limiterOptions = {}) {
-            this.deleteKey = this.deleteKey.bind(this);
-            this.limiterOptions = limiterOptions;
-            parser$3.load(this.limiterOptions, this.defaults, this);
-            this.Events = new Events$2(this);
-            this.instances = {};
-            this.Bottleneck = Bottleneck_1;
-            this._startAutoCleanup();
-            this.sharedConnection = this.connection != null;
-            if (this.connection == null) {
-              if (this.limiterOptions.datastore === "redis") {
-                this.connection = new RedisConnection$1(Object.assign({}, this.limiterOptions, { Events: this.Events }));
-              } else if (this.limiterOptions.datastore === "ioredis") {
-                this.connection = new IORedisConnection$1(Object.assign({}, this.limiterOptions, { Events: this.Events }));
-              }
-            }
+    }
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/serializer.js
+var require_serializer = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/serializer.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.MapperTypeNames = void 0;
+    exports2.createSerializer = createSerializer;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var base64 = tslib_1.__importStar(require_base642());
+    var interfaces_js_1 = require_interfaces();
+    var utils_js_1 = require_utils6();
+    var SerializerImpl = class {
+      modelMappers;
+      isXML;
+      constructor(modelMappers = {}, isXML = false) {
+        this.modelMappers = modelMappers;
+        this.isXML = isXML;
+      }
+      /**
+       * @deprecated Removing the constraints validation on client side.
+       */
+      validateConstraints(mapper, value, objectName) {
+        const failValidation = (constraintName, constraintValue) => {
+          throw new Error(`"${objectName}" with value "${value}" should satisfy the constraint "${constraintName}": ${constraintValue}.`);
+        };
+        if (mapper.constraints && value !== void 0 && value !== null) {
+          const { ExclusiveMaximum, ExclusiveMinimum, InclusiveMaximum, InclusiveMinimum, MaxItems, MaxLength, MinItems, MinLength, MultipleOf, Pattern, UniqueItems } = mapper.constraints;
+          if (ExclusiveMaximum !== void 0 && value >= ExclusiveMaximum) {
+            failValidation("ExclusiveMaximum", ExclusiveMaximum);
           }
-          key(key = "") {
-            var ref;
-            return (ref = this.instances[key]) != null ? ref : (() => {
-              var limiter;
-              limiter = this.instances[key] = new this.Bottleneck(Object.assign(this.limiterOptions, {
-                id: `${this.id}-${key}`,
-                timeout: this.timeout,
-                connection: this.connection
-              }));
-              this.Events.trigger("created", limiter, key);
-              return limiter;
-            })();
+          if (ExclusiveMinimum !== void 0 && value <= ExclusiveMinimum) {
+            failValidation("ExclusiveMinimum", ExclusiveMinimum);
           }
-          async deleteKey(key = "") {
-            var deleted, instance;
-            instance = this.instances[key];
-            if (this.connection) {
-              deleted = await this.connection.__runCommand__(["del", ...Scripts$1.allKeys(`${this.id}-${key}`)]);
-            }
-            if (instance != null) {
-              delete this.instances[key];
-              await instance.disconnect();
-            }
-            return instance != null || deleted > 0;
+          if (InclusiveMaximum !== void 0 && value > InclusiveMaximum) {
+            failValidation("InclusiveMaximum", InclusiveMaximum);
           }
-          limiters() {
-            var k, ref, results, v;
-            ref = this.instances;
-            results = [];
-            for (k in ref) {
-              v = ref[k];
-              results.push({
-                key: k,
-                limiter: v
-              });
-            }
-            return results;
+          if (InclusiveMinimum !== void 0 && value < InclusiveMinimum) {
+            failValidation("InclusiveMinimum", InclusiveMinimum);
           }
-          keys() {
-            return Object.keys(this.instances);
+          if (MaxItems !== void 0 && value.length > MaxItems) {
+            failValidation("MaxItems", MaxItems);
           }
-          async clusterKeys() {
-            var cursor, end, found, i, k, keys, len, next, start;
-            if (this.connection == null) {
-              return this.Promise.resolve(this.keys());
-            }
-            keys = [];
-            cursor = null;
-            start = `b_${this.id}-`.length;
-            end = "_settings".length;
-            while (cursor !== 0) {
-              [next, found] = await this.connection.__runCommand__(["scan", cursor != null ? cursor : 0, "match", `b_${this.id}-*_settings`, "count", 1e4]);
-              cursor = ~~next;
-              for (i = 0, len = found.length; i < len; i++) {
-                k = found[i];
-                keys.push(k.slice(start, -end));
-              }
-            }
-            return keys;
+          if (MaxLength !== void 0 && value.length > MaxLength) {
+            failValidation("MaxLength", MaxLength);
           }
-          _startAutoCleanup() {
-            var base;
-            clearInterval(this.interval);
-            return typeof (base = this.interval = setInterval(async () => {
-              var e, k, ref, results, time, v;
-              time = Date.now();
-              ref = this.instances;
-              results = [];
-              for (k in ref) {
-                v = ref[k];
-                try {
-                  if (await v._store.__groupCheck__(time)) {
-                    results.push(this.deleteKey(k));
-                  } else {
-                    results.push(void 0);
-                  }
-                } catch (error3) {
-                  e = error3;
-                  results.push(v.Events.trigger("error", e));
-                }
-              }
-              return results;
-            }, this.timeout / 2)).unref === "function" ? base.unref() : void 0;
+          if (MinItems !== void 0 && value.length < MinItems) {
+            failValidation("MinItems", MinItems);
           }
-          updateSettings(options = {}) {
-            parser$3.overwrite(options, this.defaults, this);
-            parser$3.overwrite(options, options, this.limiterOptions);
-            if (options.timeout != null) {
-              return this._startAutoCleanup();
-            }
+          if (MinLength !== void 0 && value.length < MinLength) {
+            failValidation("MinLength", MinLength);
           }
-          disconnect(flush = true) {
-            var ref;
-            if (!this.sharedConnection) {
-              return (ref = this.connection) != null ? ref.disconnect(flush) : void 0;
-            }
+          if (MultipleOf !== void 0 && value % MultipleOf !== 0) {
+            failValidation("MultipleOf", MultipleOf);
           }
-        }
-        Group2.prototype.defaults = {
-          timeout: 1e3 * 60 * 5,
-          connection: null,
-          Promise,
-          id: "group-key"
-        };
-        return Group2;
-      }).call(commonjsGlobal);
-      var Group_1 = Group;
-      var Batcher, Events$3, parser$4;
-      parser$4 = parser;
-      Events$3 = Events_1;
-      Batcher = (function() {
-        class Batcher2 {
-          constructor(options = {}) {
-            this.options = options;
-            parser$4.load(this.options, this.defaults, this);
-            this.Events = new Events$3(this);
-            this._arr = [];
-            this._resetPromise();
-            this._lastFlush = Date.now();
+          if (Pattern) {
+            const pattern = typeof Pattern === "string" ? new RegExp(Pattern) : Pattern;
+            if (typeof value !== "string" || value.match(pattern) === null) {
+              failValidation("Pattern", Pattern);
+            }
           }
-          _resetPromise() {
-            return this._promise = new this.Promise((res, rej) => {
-              return this._resolve = res;
-            });
+          if (UniqueItems && value.some((item, i, ar) => ar.indexOf(item) !== i)) {
+            failValidation("UniqueItems", UniqueItems);
           }
-          _flush() {
-            clearTimeout(this._timeout);
-            this._lastFlush = Date.now();
-            this._resolve();
-            this.Events.trigger("batch", this._arr);
-            this._arr = [];
-            return this._resetPromise();
+        }
+      }
+      /**
+       * Serialize the given object based on its metadata defined in the mapper
+       *
+       * @param mapper - The mapper which defines the metadata of the serializable object
+       *
+       * @param object - A valid Javascript object to be serialized
+       *
+       * @param objectName - Name of the serialized object
+       *
+       * @param options - additional options to serialization
+       *
+       * @returns A valid serialized Javascript object
+       */
+      serialize(mapper, object, objectName, options = { xml: {} }) {
+        const updatedOptions = {
+          xml: {
+            rootName: options.xml.rootName ?? "",
+            includeRoot: options.xml.includeRoot ?? false,
+            xmlCharKey: options.xml.xmlCharKey ?? interfaces_js_1.XML_CHARKEY
           }
-          add(data) {
-            var ret;
-            this._arr.push(data);
-            ret = this._promise;
-            if (this._arr.length === this.maxSize) {
-              this._flush();
-            } else if (this.maxTime != null && this._arr.length === 1) {
-              this._timeout = setTimeout(() => {
-                return this._flush();
-              }, this.maxTime);
-            }
-            return ret;
+        };
+        let payload = {};
+        const mapperType = mapper.type.name;
+        if (!objectName) {
+          objectName = mapper.serializedName;
+        }
+        if (mapperType.match(/^Sequence$/i) !== null) {
+          payload = [];
+        }
+        if (mapper.isConstant) {
+          object = mapper.defaultValue;
+        }
+        const { required, nullable } = mapper;
+        if (required && nullable && object === void 0) {
+          throw new Error(`${objectName} cannot be undefined.`);
+        }
+        if (required && !nullable && (object === void 0 || object === null)) {
+          throw new Error(`${objectName} cannot be null or undefined.`);
+        }
+        if (!required && nullable === false && object === null) {
+          throw new Error(`${objectName} cannot be null.`);
+        }
+        if (object === void 0 || object === null) {
+          payload = object;
+        } else {
+          if (mapperType.match(/^any$/i) !== null) {
+            payload = object;
+          } else if (mapperType.match(/^(Number|String|Boolean|Object|Stream|Uuid)$/i) !== null) {
+            payload = serializeBasicTypes(mapperType, objectName, object);
+          } else if (mapperType.match(/^Enum$/i) !== null) {
+            const enumMapper = mapper;
+            payload = serializeEnumType(objectName, enumMapper.type.allowedValues, object);
+          } else if (mapperType.match(/^(Date|DateTime|TimeSpan|DateTimeRfc1123|UnixTime)$/i) !== null) {
+            payload = serializeDateTypes(mapperType, object, objectName);
+          } else if (mapperType.match(/^ByteArray$/i) !== null) {
+            payload = serializeByteArrayType(objectName, object);
+          } else if (mapperType.match(/^Base64Url$/i) !== null) {
+            payload = serializeBase64UrlType(objectName, object);
+          } else if (mapperType.match(/^Sequence$/i) !== null) {
+            payload = serializeSequenceType(this, mapper, object, objectName, Boolean(this.isXML), updatedOptions);
+          } else if (mapperType.match(/^Dictionary$/i) !== null) {
+            payload = serializeDictionaryType(this, mapper, object, objectName, Boolean(this.isXML), updatedOptions);
+          } else if (mapperType.match(/^Composite$/i) !== null) {
+            payload = serializeCompositeType(this, mapper, object, objectName, Boolean(this.isXML), updatedOptions);
           }
         }
-        Batcher2.prototype.defaults = {
-          maxTime: null,
-          maxSize: null,
-          Promise
+        return payload;
+      }
+      /**
+       * Deserialize the given object based on its metadata defined in the mapper
+       *
+       * @param mapper - The mapper which defines the metadata of the serializable object
+       *
+       * @param responseBody - A valid Javascript entity to be deserialized
+       *
+       * @param objectName - Name of the deserialized object
+       *
+       * @param options - Controls behavior of XML parser and builder.
+       *
+       * @returns A valid deserialized Javascript object
+       */
+      deserialize(mapper, responseBody, objectName, options = { xml: {} }) {
+        const updatedOptions = {
+          xml: {
+            rootName: options.xml.rootName ?? "",
+            includeRoot: options.xml.includeRoot ?? false,
+            xmlCharKey: options.xml.xmlCharKey ?? interfaces_js_1.XML_CHARKEY
+          },
+          ignoreUnknownProperties: options.ignoreUnknownProperties ?? false
         };
-        return Batcher2;
-      }).call(commonjsGlobal);
-      var Batcher_1 = Batcher;
-      var require$$4$1 = () => console.log("You must import the full version of Bottleneck in order to use this feature.");
-      var require$$8 = getCjsExportFromNamespace(version$2);
-      var Bottleneck2, DEFAULT_PRIORITY$1, Events$4, Job$1, LocalDatastore$1, NUM_PRIORITIES$1, Queues$1, RedisDatastore$1, States$1, Sync$1, parser$5, splice = [].splice;
-      NUM_PRIORITIES$1 = 10;
-      DEFAULT_PRIORITY$1 = 5;
-      parser$5 = parser;
-      Queues$1 = Queues_1;
-      Job$1 = Job_1;
-      LocalDatastore$1 = LocalDatastore_1;
-      RedisDatastore$1 = require$$4$1;
-      Events$4 = Events_1;
-      States$1 = States_1;
-      Sync$1 = Sync_1;
-      Bottleneck2 = (function() {
-        class Bottleneck3 {
-          constructor(options = {}, ...invalid) {
-            var storeInstanceOptions, storeOptions;
-            this._addToQueue = this._addToQueue.bind(this);
-            this._validateOptions(options, invalid);
-            parser$5.load(options, this.instanceDefaults, this);
-            this._queues = new Queues$1(NUM_PRIORITIES$1);
-            this._scheduled = {};
-            this._states = new States$1(["RECEIVED", "QUEUED", "RUNNING", "EXECUTING"].concat(this.trackDoneStatus ? ["DONE"] : []));
-            this._limiter = null;
-            this.Events = new Events$4(this);
-            this._submitLock = new Sync$1("submit", this.Promise);
-            this._registerLock = new Sync$1("register", this.Promise);
-            storeOptions = parser$5.load(options, this.storeDefaults, {});
-            this._store = (function() {
-              if (this.datastore === "redis" || this.datastore === "ioredis" || this.connection != null) {
-                storeInstanceOptions = parser$5.load(options, this.redisStoreDefaults, {});
-                return new RedisDatastore$1(this, storeOptions, storeInstanceOptions);
-              } else if (this.datastore === "local") {
-                storeInstanceOptions = parser$5.load(options, this.localStoreDefaults, {});
-                return new LocalDatastore$1(this, storeOptions, storeInstanceOptions);
-              } else {
-                throw new Bottleneck3.prototype.BottleneckError(`Invalid datastore type: ${this.datastore}`);
-              }
-            }).call(this);
-            this._queues.on("leftzero", () => {
-              var ref;
-              return (ref = this._store.heartbeat) != null ? typeof ref.ref === "function" ? ref.ref() : void 0 : void 0;
-            });
-            this._queues.on("zero", () => {
-              var ref;
-              return (ref = this._store.heartbeat) != null ? typeof ref.unref === "function" ? ref.unref() : void 0 : void 0;
-            });
-          }
-          _validateOptions(options, invalid) {
-            if (!(options != null && typeof options === "object" && invalid.length === 0)) {
-              throw new Bottleneck3.prototype.BottleneckError("Bottleneck v2 takes a single object argument. Refer to https://github.com/SGrondin/bottleneck#upgrading-to-v2 if you're upgrading from Bottleneck v1.");
-            }
-          }
-          ready() {
-            return this._store.ready;
+        if (responseBody === void 0 || responseBody === null) {
+          if (this.isXML && mapper.type.name === "Sequence" && !mapper.xmlIsWrapped) {
+            responseBody = [];
           }
-          clients() {
-            return this._store.clients;
+          if (mapper.defaultValue !== void 0) {
+            responseBody = mapper.defaultValue;
           }
-          channel() {
-            return `b_${this.id}`;
+          return responseBody;
+        }
+        let payload;
+        const mapperType = mapper.type.name;
+        if (!objectName) {
+          objectName = mapper.serializedName;
+        }
+        if (mapperType.match(/^Composite$/i) !== null) {
+          payload = deserializeCompositeType(this, mapper, responseBody, objectName, updatedOptions);
+        } else {
+          if (this.isXML) {
+            const xmlCharKey = updatedOptions.xml.xmlCharKey;
+            if (responseBody[interfaces_js_1.XML_ATTRKEY] !== void 0 && responseBody[xmlCharKey] !== void 0) {
+              responseBody = responseBody[xmlCharKey];
+            }
           }
-          channel_client() {
-            return `b_${this.id}_${this._store.clientId}`;
+          if (mapperType.match(/^Number$/i) !== null) {
+            payload = parseFloat(responseBody);
+            if (isNaN(payload)) {
+              payload = responseBody;
+            }
+          } else if (mapperType.match(/^Boolean$/i) !== null) {
+            if (responseBody === "true") {
+              payload = true;
+            } else if (responseBody === "false") {
+              payload = false;
+            } else {
+              payload = responseBody;
+            }
+          } else if (mapperType.match(/^(String|Enum|Object|Stream|Uuid|TimeSpan|any)$/i) !== null) {
+            payload = responseBody;
+          } else if (mapperType.match(/^(Date|DateTime|DateTimeRfc1123)$/i) !== null) {
+            payload = new Date(responseBody);
+          } else if (mapperType.match(/^UnixTime$/i) !== null) {
+            payload = unixTimeToDate(responseBody);
+          } else if (mapperType.match(/^ByteArray$/i) !== null) {
+            payload = base64.decodeString(responseBody);
+          } else if (mapperType.match(/^Base64Url$/i) !== null) {
+            payload = base64UrlToByteArray(responseBody);
+          } else if (mapperType.match(/^Sequence$/i) !== null) {
+            payload = deserializeSequenceType(this, mapper, responseBody, objectName, updatedOptions);
+          } else if (mapperType.match(/^Dictionary$/i) !== null) {
+            payload = deserializeDictionaryType(this, mapper, responseBody, objectName, updatedOptions);
           }
-          publish(message) {
-            return this._store.__publish__(message);
+        }
+        if (mapper.isConstant) {
+          payload = mapper.defaultValue;
+        }
+        return payload;
+      }
+    };
+    function createSerializer(modelMappers = {}, isXML = false) {
+      return new SerializerImpl(modelMappers, isXML);
+    }
+    function trimEnd(str2, ch) {
+      let len = str2.length;
+      while (len - 1 >= 0 && str2[len - 1] === ch) {
+        --len;
+      }
+      return str2.substr(0, len);
+    }
+    function bufferToBase64Url(buffer) {
+      if (!buffer) {
+        return void 0;
+      }
+      if (!(buffer instanceof Uint8Array)) {
+        throw new Error(`Please provide an input of type Uint8Array for converting to Base64Url.`);
+      }
+      const str2 = base64.encodeByteArray(buffer);
+      return trimEnd(str2, "=").replace(/\+/g, "-").replace(/\//g, "_");
+    }
+    function base64UrlToByteArray(str2) {
+      if (!str2) {
+        return void 0;
+      }
+      if (str2 && typeof str2.valueOf() !== "string") {
+        throw new Error("Please provide an input of type string for converting to Uint8Array");
+      }
+      str2 = str2.replace(/-/g, "+").replace(/_/g, "/");
+      return base64.decodeString(str2);
+    }
+    function splitSerializeName(prop) {
+      const classes = [];
+      let partialclass = "";
+      if (prop) {
+        const subwords = prop.split(".");
+        for (const item of subwords) {
+          if (item.charAt(item.length - 1) === "\\") {
+            partialclass += item.substr(0, item.length - 1) + ".";
+          } else {
+            partialclass += item;
+            classes.push(partialclass);
+            partialclass = "";
           }
-          disconnect(flush = true) {
-            return this._store.__disconnect__(flush);
+        }
+      }
+      return classes;
+    }
+    function dateToUnixTime(d) {
+      if (!d) {
+        return void 0;
+      }
+      if (typeof d.valueOf() === "string") {
+        d = new Date(d);
+      }
+      return Math.floor(d.getTime() / 1e3);
+    }
+    function unixTimeToDate(n) {
+      if (!n) {
+        return void 0;
+      }
+      return new Date(n * 1e3);
+    }
+    function serializeBasicTypes(typeName, objectName, value) {
+      if (value !== null && value !== void 0) {
+        if (typeName.match(/^Number$/i) !== null) {
+          if (typeof value !== "number") {
+            throw new Error(`${objectName} with value ${value} must be of type number.`);
           }
-          chain(_limiter) {
-            this._limiter = _limiter;
-            return this;
+        } else if (typeName.match(/^String$/i) !== null) {
+          if (typeof value.valueOf() !== "string") {
+            throw new Error(`${objectName} with value "${value}" must be of type string.`);
           }
-          queued(priority) {
-            return this._queues.queued(priority);
+        } else if (typeName.match(/^Uuid$/i) !== null) {
+          if (!(typeof value.valueOf() === "string" && (0, utils_js_1.isValidUuid)(value))) {
+            throw new Error(`${objectName} with value "${value}" must be of type string and a valid uuid.`);
           }
-          clusterQueued() {
-            return this._store.__queued__();
+        } else if (typeName.match(/^Boolean$/i) !== null) {
+          if (typeof value !== "boolean") {
+            throw new Error(`${objectName} with value ${value} must be of type boolean.`);
           }
-          empty() {
-            return this.queued() === 0 && this._submitLock.isEmpty();
+        } else if (typeName.match(/^Stream$/i) !== null) {
+          const objectType = typeof value;
+          if (objectType !== "string" && typeof value.pipe !== "function" && // NodeJS.ReadableStream
+          typeof value.tee !== "function" && // browser ReadableStream
+          !(value instanceof ArrayBuffer) && !ArrayBuffer.isView(value) && // File objects count as a type of Blob, so we want to use instanceof explicitly
+          !((typeof Blob === "function" || typeof Blob === "object") && value instanceof Blob) && objectType !== "function") {
+            throw new Error(`${objectName} must be a string, Blob, ArrayBuffer, ArrayBufferView, ReadableStream, or () => ReadableStream.`);
           }
-          running() {
-            return this._store.__running__();
+        }
+      }
+      return value;
+    }
+    function serializeEnumType(objectName, allowedValues, value) {
+      if (!allowedValues) {
+        throw new Error(`Please provide a set of allowedValues to validate ${objectName} as an Enum Type.`);
+      }
+      const isPresent = allowedValues.some((item) => {
+        if (typeof item.valueOf() === "string") {
+          return item.toLowerCase() === value.toLowerCase();
+        }
+        return item === value;
+      });
+      if (!isPresent) {
+        throw new Error(`${value} is not a valid value for ${objectName}. The valid values are: ${JSON.stringify(allowedValues)}.`);
+      }
+      return value;
+    }
+    function serializeByteArrayType(objectName, value) {
+      if (value !== void 0 && value !== null) {
+        if (!(value instanceof Uint8Array)) {
+          throw new Error(`${objectName} must be of type Uint8Array.`);
+        }
+        value = base64.encodeByteArray(value);
+      }
+      return value;
+    }
+    function serializeBase64UrlType(objectName, value) {
+      if (value !== void 0 && value !== null) {
+        if (!(value instanceof Uint8Array)) {
+          throw new Error(`${objectName} must be of type Uint8Array.`);
+        }
+        value = bufferToBase64Url(value);
+      }
+      return value;
+    }
+    function serializeDateTypes(typeName, value, objectName) {
+      if (value !== void 0 && value !== null) {
+        if (typeName.match(/^Date$/i) !== null) {
+          if (!(value instanceof Date || typeof value.valueOf() === "string" && !isNaN(Date.parse(value)))) {
+            throw new Error(`${objectName} must be an instanceof Date or a string in ISO8601 format.`);
           }
-          done() {
-            return this._store.__done__();
+          value = value instanceof Date ? value.toISOString().substring(0, 10) : new Date(value).toISOString().substring(0, 10);
+        } else if (typeName.match(/^DateTime$/i) !== null) {
+          if (!(value instanceof Date || typeof value.valueOf() === "string" && !isNaN(Date.parse(value)))) {
+            throw new Error(`${objectName} must be an instanceof Date or a string in ISO8601 format.`);
           }
-          jobStatus(id) {
-            return this._states.jobStatus(id);
+          value = value instanceof Date ? value.toISOString() : new Date(value).toISOString();
+        } else if (typeName.match(/^DateTimeRfc1123$/i) !== null) {
+          if (!(value instanceof Date || typeof value.valueOf() === "string" && !isNaN(Date.parse(value)))) {
+            throw new Error(`${objectName} must be an instanceof Date or a string in RFC-1123 format.`);
           }
-          jobs(status) {
-            return this._states.statusJobs(status);
+          value = value instanceof Date ? value.toUTCString() : new Date(value).toUTCString();
+        } else if (typeName.match(/^UnixTime$/i) !== null) {
+          if (!(value instanceof Date || typeof value.valueOf() === "string" && !isNaN(Date.parse(value)))) {
+            throw new Error(`${objectName} must be an instanceof Date or a string in RFC-1123/ISO8601 format for it to be serialized in UnixTime/Epoch format.`);
           }
-          counts() {
-            return this._states.statusCounts();
+          value = dateToUnixTime(value);
+        } else if (typeName.match(/^TimeSpan$/i) !== null) {
+          if (!(0, utils_js_1.isDuration)(value)) {
+            throw new Error(`${objectName} must be a string in ISO 8601 format. Instead was "${value}".`);
           }
-          _randomIndex() {
-            return Math.random().toString(36).slice(2);
+        }
+      }
+      return value;
+    }
+    function serializeSequenceType(serializer, mapper, object, objectName, isXml, options) {
+      if (!Array.isArray(object)) {
+        throw new Error(`${objectName} must be of type Array.`);
+      }
+      let elementType = mapper.type.element;
+      if (!elementType || typeof elementType !== "object") {
+        throw new Error(`element" metadata for an Array must be defined in the mapper and it must of type "object" in ${objectName}.`);
+      }
+      if (elementType.type.name === "Composite" && elementType.type.className) {
+        elementType = serializer.modelMappers[elementType.type.className] ?? elementType;
+      }
+      const tempArray = [];
+      for (let i = 0; i < object.length; i++) {
+        const serializedValue = serializer.serialize(elementType, object[i], objectName, options);
+        if (isXml && elementType.xmlNamespace) {
+          const xmlnsKey = elementType.xmlNamespacePrefix ? `xmlns:${elementType.xmlNamespacePrefix}` : "xmlns";
+          if (elementType.type.name === "Composite") {
+            tempArray[i] = { ...serializedValue };
+            tempArray[i][interfaces_js_1.XML_ATTRKEY] = { [xmlnsKey]: elementType.xmlNamespace };
+          } else {
+            tempArray[i] = {};
+            tempArray[i][options.xml.xmlCharKey] = serializedValue;
+            tempArray[i][interfaces_js_1.XML_ATTRKEY] = { [xmlnsKey]: elementType.xmlNamespace };
           }
-          check(weight = 1) {
-            return this._store.__check__(weight);
+        } else {
+          tempArray[i] = serializedValue;
+        }
+      }
+      return tempArray;
+    }
+    function serializeDictionaryType(serializer, mapper, object, objectName, isXml, options) {
+      if (typeof object !== "object") {
+        throw new Error(`${objectName} must be of type object.`);
+      }
+      const valueType = mapper.type.value;
+      if (!valueType || typeof valueType !== "object") {
+        throw new Error(`"value" metadata for a Dictionary must be defined in the mapper and it must of type "object" in ${objectName}.`);
+      }
+      const tempDictionary = {};
+      for (const key of Object.keys(object)) {
+        const serializedValue = serializer.serialize(valueType, object[key], objectName, options);
+        tempDictionary[key] = getXmlObjectValue(valueType, serializedValue, isXml, options);
+      }
+      if (isXml && mapper.xmlNamespace) {
+        const xmlnsKey = mapper.xmlNamespacePrefix ? `xmlns:${mapper.xmlNamespacePrefix}` : "xmlns";
+        const result = tempDictionary;
+        result[interfaces_js_1.XML_ATTRKEY] = { [xmlnsKey]: mapper.xmlNamespace };
+        return result;
+      }
+      return tempDictionary;
+    }
+    function resolveAdditionalProperties(serializer, mapper, objectName) {
+      const additionalProperties = mapper.type.additionalProperties;
+      if (!additionalProperties && mapper.type.className) {
+        const modelMapper = resolveReferencedMapper(serializer, mapper, objectName);
+        return modelMapper?.type.additionalProperties;
+      }
+      return additionalProperties;
+    }
+    function resolveReferencedMapper(serializer, mapper, objectName) {
+      const className = mapper.type.className;
+      if (!className) {
+        throw new Error(`Class name for model "${objectName}" is not provided in the mapper "${JSON.stringify(mapper, void 0, 2)}".`);
+      }
+      return serializer.modelMappers[className];
+    }
+    function resolveModelProperties(serializer, mapper, objectName) {
+      let modelProps = mapper.type.modelProperties;
+      if (!modelProps) {
+        const modelMapper = resolveReferencedMapper(serializer, mapper, objectName);
+        if (!modelMapper) {
+          throw new Error(`mapper() cannot be null or undefined for model "${mapper.type.className}".`);
+        }
+        modelProps = modelMapper?.type.modelProperties;
+        if (!modelProps) {
+          throw new Error(`modelProperties cannot be null or undefined in the mapper "${JSON.stringify(modelMapper)}" of type "${mapper.type.className}" for object "${objectName}".`);
+        }
+      }
+      return modelProps;
+    }
+    function serializeCompositeType(serializer, mapper, object, objectName, isXml, options) {
+      if (getPolymorphicDiscriminatorRecursively(serializer, mapper)) {
+        mapper = getPolymorphicMapper(serializer, mapper, object, "clientName");
+      }
+      if (object !== void 0 && object !== null) {
+        const payload = {};
+        const modelProps = resolveModelProperties(serializer, mapper, objectName);
+        for (const key of Object.keys(modelProps)) {
+          const propertyMapper = modelProps[key];
+          if (propertyMapper.readOnly) {
+            continue;
           }
-          _clearGlobalState(index) {
-            if (this._scheduled[index] != null) {
-              clearTimeout(this._scheduled[index].expiration);
-              delete this._scheduled[index];
-              return true;
+          let propName;
+          let parentObject = payload;
+          if (serializer.isXML) {
+            if (propertyMapper.xmlIsWrapped) {
+              propName = propertyMapper.xmlName;
             } else {
-              return false;
+              propName = propertyMapper.xmlElementName || propertyMapper.xmlName;
             }
-          }
-          async _free(index, job, options, eventInfo) {
-            var e, running;
-            try {
-              ({ running } = await this._store.__free__(index, options.weight));
-              this.Events.trigger("debug", `Freed ${options.id}`, eventInfo);
-              if (running === 0 && this.empty()) {
-                return this.Events.trigger("idle");
+          } else {
+            const paths = splitSerializeName(propertyMapper.serializedName);
+            propName = paths.pop();
+            for (const pathName of paths) {
+              const childObject = parentObject[pathName];
+              if ((childObject === void 0 || childObject === null) && (object[key] !== void 0 && object[key] !== null || propertyMapper.defaultValue !== void 0)) {
+                parentObject[pathName] = {};
               }
-            } catch (error1) {
-              e = error1;
-              return this.Events.trigger("error", e);
+              parentObject = parentObject[pathName];
             }
           }
-          _run(index, job, wait) {
-            var clearGlobalState, free, run;
-            job.doRun();
-            clearGlobalState = this._clearGlobalState.bind(this, index);
-            run = this._run.bind(this, index, job);
-            free = this._free.bind(this, index, job);
-            return this._scheduled[index] = {
-              timeout: setTimeout(() => {
-                return job.doExecute(this._limiter, clearGlobalState, run, free);
-              }, wait),
-              expiration: job.options.expiration != null ? setTimeout(function() {
-                return job.doExpire(clearGlobalState, run, free);
-              }, wait + job.options.expiration) : void 0,
-              job
-            };
-          }
-          _drainOne(capacity) {
-            return this._registerLock.schedule(() => {
-              var args, index, next, options, queue;
-              if (this.queued() === 0) {
-                return this.Promise.resolve(null);
-              }
-              queue = this._queues.getFirst();
-              ({ options, args } = next = queue.first());
-              if (capacity != null && options.weight > capacity) {
-                return this.Promise.resolve(null);
-              }
-              this.Events.trigger("debug", `Draining ${options.id}`, { args, options });
-              index = this._randomIndex();
-              return this._store.__register__(index, options.weight, options.expiration).then(({ success, wait, reservoir }) => {
-                var empty;
-                this.Events.trigger("debug", `Drained ${options.id}`, { success, args, options });
-                if (success) {
-                  queue.shift();
-                  empty = this.empty();
-                  if (empty) {
-                    this.Events.trigger("empty");
-                  }
-                  if (reservoir === 0) {
-                    this.Events.trigger("depleted", empty);
-                  }
-                  this._run(index, next, wait);
-                  return this.Promise.resolve(options.weight);
-                } else {
-                  return this.Promise.resolve(null);
-                }
-              });
-            });
-          }
-          _drainAll(capacity, total = 0) {
-            return this._drainOne(capacity).then((drained) => {
-              var newCapacity;
-              if (drained != null) {
-                newCapacity = capacity != null ? capacity - drained : capacity;
-                return this._drainAll(newCapacity, total + drained);
-              } else {
-                return this.Promise.resolve(total);
-              }
-            }).catch((e) => {
-              return this.Events.trigger("error", e);
-            });
-          }
-          _dropAllQueued(message) {
-            return this._queues.shiftAll(function(job) {
-              return job.doDrop({ message });
-            });
-          }
-          stop(options = {}) {
-            var done, waitForExecuting;
-            options = parser$5.load(options, this.stopDefaults);
-            waitForExecuting = (at) => {
-              var finished;
-              finished = () => {
-                var counts;
-                counts = this._states.counts;
-                return counts[0] + counts[1] + counts[2] + counts[3] === at;
+          if (parentObject !== void 0 && parentObject !== null) {
+            if (isXml && mapper.xmlNamespace) {
+              const xmlnsKey = mapper.xmlNamespacePrefix ? `xmlns:${mapper.xmlNamespacePrefix}` : "xmlns";
+              parentObject[interfaces_js_1.XML_ATTRKEY] = {
+                ...parentObject[interfaces_js_1.XML_ATTRKEY],
+                [xmlnsKey]: mapper.xmlNamespace
               };
-              return new this.Promise((resolve2, reject) => {
-                if (finished()) {
-                  return resolve2();
-                } else {
-                  return this.on("done", () => {
-                    if (finished()) {
-                      this.removeAllListeners("done");
-                      return resolve2();
-                    }
-                  });
-                }
-              });
-            };
-            done = options.dropWaitingJobs ? (this._run = function(index, next) {
-              return next.doDrop({
-                message: options.dropErrorMessage
-              });
-            }, this._drainOne = () => {
-              return this.Promise.resolve(null);
-            }, this._registerLock.schedule(() => {
-              return this._submitLock.schedule(() => {
-                var k, ref, v;
-                ref = this._scheduled;
-                for (k in ref) {
-                  v = ref[k];
-                  if (this.jobStatus(v.job.options.id) === "RUNNING") {
-                    clearTimeout(v.timeout);
-                    clearTimeout(v.expiration);
-                    v.job.doDrop({
-                      message: options.dropErrorMessage
-                    });
-                  }
-                }
-                this._dropAllQueued(options.dropErrorMessage);
-                return waitForExecuting(0);
-              });
-            })) : this.schedule({
-              priority: NUM_PRIORITIES$1 - 1,
-              weight: 0
-            }, () => {
-              return waitForExecuting(1);
-            });
-            this._receive = function(job) {
-              return job._reject(new Bottleneck3.prototype.BottleneckError(options.enqueueErrorMessage));
-            };
-            this.stop = () => {
-              return this.Promise.reject(new Bottleneck3.prototype.BottleneckError("stop() has already been called"));
-            };
-            return done;
-          }
-          async _addToQueue(job) {
-            var args, blocked, error3, options, reachedHWM, shifted, strategy;
-            ({ args, options } = job);
-            try {
-              ({ reachedHWM, blocked, strategy } = await this._store.__submit__(this.queued(), options.weight));
-            } catch (error1) {
-              error3 = error1;
-              this.Events.trigger("debug", `Could not queue ${options.id}`, { args, options, error: error3 });
-              job.doDrop({ error: error3 });
-              return false;
             }
-            if (blocked) {
-              job.doDrop();
-              return true;
-            } else if (reachedHWM) {
-              shifted = strategy === Bottleneck3.prototype.strategy.LEAK ? this._queues.shiftLastFrom(options.priority) : strategy === Bottleneck3.prototype.strategy.OVERFLOW_PRIORITY ? this._queues.shiftLastFrom(options.priority + 1) : strategy === Bottleneck3.prototype.strategy.OVERFLOW ? job : void 0;
-              if (shifted != null) {
-                shifted.doDrop();
-              }
-              if (shifted == null || strategy === Bottleneck3.prototype.strategy.OVERFLOW) {
-                if (shifted == null) {
-                  job.doDrop();
-                }
-                return reachedHWM;
+            const propertyObjectName = propertyMapper.serializedName !== "" ? objectName + "." + propertyMapper.serializedName : objectName;
+            let toSerialize = object[key];
+            const polymorphicDiscriminator = getPolymorphicDiscriminatorRecursively(serializer, mapper);
+            if (polymorphicDiscriminator && polymorphicDiscriminator.clientName === key && (toSerialize === void 0 || toSerialize === null)) {
+              toSerialize = mapper.serializedName;
+            }
+            const serializedValue = serializer.serialize(propertyMapper, toSerialize, propertyObjectName, options);
+            if (serializedValue !== void 0 && propName !== void 0 && propName !== null) {
+              const value = getXmlObjectValue(propertyMapper, serializedValue, isXml, options);
+              if (isXml && propertyMapper.xmlIsAttribute) {
+                parentObject[interfaces_js_1.XML_ATTRKEY] = parentObject[interfaces_js_1.XML_ATTRKEY] || {};
+                parentObject[interfaces_js_1.XML_ATTRKEY][propName] = serializedValue;
+              } else if (isXml && propertyMapper.xmlIsWrapped) {
+                parentObject[propName] = { [propertyMapper.xmlElementName]: value };
+              } else {
+                parentObject[propName] = value;
               }
             }
-            job.doQueue(reachedHWM, blocked);
-            this._queues.push(job);
-            await this._drainAll();
-            return reachedHWM;
           }
-          _receive(job) {
-            if (this._states.jobStatus(job.options.id) != null) {
-              job._reject(new Bottleneck3.prototype.BottleneckError(`A job with the same id already exists (id=${job.options.id})`));
-              return false;
-            } else {
-              job.doReceive();
-              return this._submitLock.schedule(this._addToQueue, job);
+        }
+        const additionalPropertiesMapper = resolveAdditionalProperties(serializer, mapper, objectName);
+        if (additionalPropertiesMapper) {
+          const propNames = Object.keys(modelProps);
+          for (const clientPropName in object) {
+            const isAdditionalProperty = propNames.every((pn) => pn !== clientPropName);
+            if (isAdditionalProperty) {
+              payload[clientPropName] = serializer.serialize(additionalPropertiesMapper, object[clientPropName], objectName + '["' + clientPropName + '"]', options);
             }
           }
-          submit(...args) {
-            var cb, fn, job, options, ref, ref1, task;
-            if (typeof args[0] === "function") {
-              ref = args, [fn, ...args] = ref, [cb] = splice.call(args, -1);
-              options = parser$5.load({}, this.jobDefaults);
-            } else {
-              ref1 = args, [options, fn, ...args] = ref1, [cb] = splice.call(args, -1);
-              options = parser$5.load(options, this.jobDefaults);
+        }
+        return payload;
+      }
+      return object;
+    }
+    function getXmlObjectValue(propertyMapper, serializedValue, isXml, options) {
+      if (!isXml || !propertyMapper.xmlNamespace) {
+        return serializedValue;
+      }
+      const xmlnsKey = propertyMapper.xmlNamespacePrefix ? `xmlns:${propertyMapper.xmlNamespacePrefix}` : "xmlns";
+      const xmlNamespace = { [xmlnsKey]: propertyMapper.xmlNamespace };
+      if (["Composite"].includes(propertyMapper.type.name)) {
+        if (serializedValue[interfaces_js_1.XML_ATTRKEY]) {
+          return serializedValue;
+        } else {
+          const result2 = { ...serializedValue };
+          result2[interfaces_js_1.XML_ATTRKEY] = xmlNamespace;
+          return result2;
+        }
+      }
+      const result = {};
+      result[options.xml.xmlCharKey] = serializedValue;
+      result[interfaces_js_1.XML_ATTRKEY] = xmlNamespace;
+      return result;
+    }
+    function isSpecialXmlProperty(propertyName, options) {
+      return [interfaces_js_1.XML_ATTRKEY, options.xml.xmlCharKey].includes(propertyName);
+    }
+    function deserializeCompositeType(serializer, mapper, responseBody, objectName, options) {
+      const xmlCharKey = options.xml.xmlCharKey ?? interfaces_js_1.XML_CHARKEY;
+      if (getPolymorphicDiscriminatorRecursively(serializer, mapper)) {
+        mapper = getPolymorphicMapper(serializer, mapper, responseBody, "serializedName");
+      }
+      const modelProps = resolveModelProperties(serializer, mapper, objectName);
+      let instance = {};
+      const handledPropertyNames = [];
+      for (const key of Object.keys(modelProps)) {
+        const propertyMapper = modelProps[key];
+        const paths = splitSerializeName(modelProps[key].serializedName);
+        handledPropertyNames.push(paths[0]);
+        const { serializedName, xmlName, xmlElementName } = propertyMapper;
+        let propertyObjectName = objectName;
+        if (serializedName !== "" && serializedName !== void 0) {
+          propertyObjectName = objectName + "." + serializedName;
+        }
+        const headerCollectionPrefix = propertyMapper.headerCollectionPrefix;
+        if (headerCollectionPrefix) {
+          const dictionary = {};
+          for (const headerKey of Object.keys(responseBody)) {
+            if (headerKey.startsWith(headerCollectionPrefix)) {
+              dictionary[headerKey.substring(headerCollectionPrefix.length)] = serializer.deserialize(propertyMapper.type.value, responseBody[headerKey], propertyObjectName, options);
             }
-            task = (...args2) => {
-              return new this.Promise(function(resolve2, reject) {
-                return fn(...args2, function(...args3) {
-                  return (args3[0] != null ? reject : resolve2)(args3);
-                });
-              });
-            };
-            job = new Job$1(task, args, options, this.jobDefaults, this.rejectOnDrop, this.Events, this._states, this.Promise);
-            job.promise.then(function(args2) {
-              return typeof cb === "function" ? cb(...args2) : void 0;
-            }).catch(function(args2) {
-              if (Array.isArray(args2)) {
-                return typeof cb === "function" ? cb(...args2) : void 0;
-              } else {
-                return typeof cb === "function" ? cb(args2) : void 0;
-              }
-            });
-            return this._receive(job);
+            handledPropertyNames.push(headerKey);
           }
-          schedule(...args) {
-            var job, options, task;
-            if (typeof args[0] === "function") {
-              [task, ...args] = args;
-              options = {};
+          instance[key] = dictionary;
+        } else if (serializer.isXML) {
+          if (propertyMapper.xmlIsAttribute && responseBody[interfaces_js_1.XML_ATTRKEY]) {
+            instance[key] = serializer.deserialize(propertyMapper, responseBody[interfaces_js_1.XML_ATTRKEY][xmlName], propertyObjectName, options);
+          } else if (propertyMapper.xmlIsMsText) {
+            if (responseBody[xmlCharKey] !== void 0) {
+              instance[key] = responseBody[xmlCharKey];
+            } else if (typeof responseBody === "string") {
+              instance[key] = responseBody;
+            }
+          } else {
+            const propertyName = xmlElementName || xmlName || serializedName;
+            if (propertyMapper.xmlIsWrapped) {
+              const wrapped = responseBody[xmlName];
+              const elementList = wrapped?.[xmlElementName] ?? [];
+              instance[key] = serializer.deserialize(propertyMapper, elementList, propertyObjectName, options);
+              handledPropertyNames.push(xmlName);
             } else {
-              [options, task, ...args] = args;
+              const property = responseBody[propertyName];
+              instance[key] = serializer.deserialize(propertyMapper, property, propertyObjectName, options);
+              handledPropertyNames.push(propertyName);
             }
-            job = new Job$1(task, args, options, this.jobDefaults, this.rejectOnDrop, this.Events, this._states, this.Promise);
-            this._receive(job);
-            return job.promise;
           }
-          wrap(fn) {
-            var schedule, wrapped;
-            schedule = this.schedule.bind(this);
-            wrapped = function(...args) {
-              return schedule(fn.bind(this), ...args);
-            };
-            wrapped.withOptions = function(options, ...args) {
-              return schedule(options, fn, ...args);
-            };
-            return wrapped;
+        } else {
+          let propertyInstance;
+          let res = responseBody;
+          let steps = 0;
+          for (const item of paths) {
+            if (!res)
+              break;
+            steps++;
+            res = res[item];
           }
-          async updateSettings(options = {}) {
-            await this._store.__updateSettings__(parser$5.overwrite(options, this.storeDefaults));
-            parser$5.overwrite(options, this.instanceDefaults, this);
-            return this;
+          if (res === null && steps < paths.length) {
+            res = void 0;
           }
-          currentReservoir() {
-            return this._store.__currentReservoir__();
+          propertyInstance = res;
+          const polymorphicDiscriminator = mapper.type.polymorphicDiscriminator;
+          if (polymorphicDiscriminator && key === polymorphicDiscriminator.clientName && (propertyInstance === void 0 || propertyInstance === null)) {
+            propertyInstance = mapper.serializedName;
           }
-          incrementReservoir(incr = 0) {
-            return this._store.__incrementReservoir__(incr);
+          let serializedValue;
+          if (Array.isArray(responseBody[key]) && modelProps[key].serializedName === "") {
+            propertyInstance = responseBody[key];
+            const arrayInstance = serializer.deserialize(propertyMapper, propertyInstance, propertyObjectName, options);
+            for (const [k, v] of Object.entries(instance)) {
+              if (!Object.prototype.hasOwnProperty.call(arrayInstance, k)) {
+                arrayInstance[k] = v;
+              }
+            }
+            instance = arrayInstance;
+          } else if (propertyInstance !== void 0 || propertyMapper.defaultValue !== void 0) {
+            serializedValue = serializer.deserialize(propertyMapper, propertyInstance, propertyObjectName, options);
+            instance[key] = serializedValue;
           }
         }
-        Bottleneck3.default = Bottleneck3;
-        Bottleneck3.Events = Events$4;
-        Bottleneck3.version = Bottleneck3.prototype.version = require$$8.version;
-        Bottleneck3.strategy = Bottleneck3.prototype.strategy = {
-          LEAK: 1,
-          OVERFLOW: 2,
-          OVERFLOW_PRIORITY: 4,
-          BLOCK: 3
-        };
-        Bottleneck3.BottleneckError = Bottleneck3.prototype.BottleneckError = BottleneckError_1;
-        Bottleneck3.Group = Bottleneck3.prototype.Group = Group_1;
-        Bottleneck3.RedisConnection = Bottleneck3.prototype.RedisConnection = require$$2;
-        Bottleneck3.IORedisConnection = Bottleneck3.prototype.IORedisConnection = require$$3;
-        Bottleneck3.Batcher = Bottleneck3.prototype.Batcher = Batcher_1;
-        Bottleneck3.prototype.jobDefaults = {
-          priority: DEFAULT_PRIORITY$1,
-          weight: 1,
-          expiration: null,
-          id: ""
-        };
-        Bottleneck3.prototype.storeDefaults = {
-          maxConcurrent: null,
-          minTime: 0,
-          highWater: null,
-          strategy: Bottleneck3.prototype.strategy.LEAK,
-          penalty: null,
-          reservoir: null,
-          reservoirRefreshInterval: null,
-          reservoirRefreshAmount: null,
-          reservoirIncreaseInterval: null,
-          reservoirIncreaseAmount: null,
-          reservoirIncreaseMaximum: null
-        };
-        Bottleneck3.prototype.localStoreDefaults = {
-          Promise,
-          timeout: null,
-          heartbeatInterval: 250
-        };
-        Bottleneck3.prototype.redisStoreDefaults = {
-          Promise,
-          timeout: null,
-          heartbeatInterval: 5e3,
-          clientTimeout: 1e4,
-          Redis: null,
-          clientOptions: {},
-          clusterNodes: null,
-          clearDatastore: false,
-          connection: null
-        };
-        Bottleneck3.prototype.instanceDefaults = {
-          datastore: "local",
-          connection: null,
-          id: "",
-          rejectOnDrop: true,
-          trackDoneStatus: false,
-          Promise
-        };
-        Bottleneck3.prototype.stopDefaults = {
-          enqueueErrorMessage: "This limiter has been stopped and cannot accept new jobs.",
-          dropWaitingJobs: true,
-          dropErrorMessage: "This limiter has been stopped."
+      }
+      const additionalPropertiesMapper = mapper.type.additionalProperties;
+      if (additionalPropertiesMapper) {
+        const isAdditionalProperty = (responsePropName) => {
+          for (const clientPropName in modelProps) {
+            const paths = splitSerializeName(modelProps[clientPropName].serializedName);
+            if (paths[0] === responsePropName) {
+              return false;
+            }
+          }
+          return true;
         };
-        return Bottleneck3;
-      }).call(commonjsGlobal);
-      var Bottleneck_1 = Bottleneck2;
-      var lib = Bottleneck_1;
-      return lib;
-    }));
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/shared/config.js
-var require_config = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/shared/config.js"(exports2) {
-    "use strict";
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getMaxArtifactListCount = exports2.getUploadChunkTimeout = exports2.getConcurrency = exports2.getGitHubWorkspaceDir = exports2.isGhes = exports2.getResultsServiceUrl = exports2.getRuntimeToken = exports2.getUploadChunkSize = void 0;
-    var os_1 = __importDefault2(require("os"));
-    var core_1 = require_core();
-    function getUploadChunkSize() {
-      return 8 * 1024 * 1024;
-    }
-    exports2.getUploadChunkSize = getUploadChunkSize;
-    function getRuntimeToken() {
-      const token = process.env["ACTIONS_RUNTIME_TOKEN"];
-      if (!token) {
-        throw new Error("Unable to get the ACTIONS_RUNTIME_TOKEN env variable");
+        for (const responsePropName in responseBody) {
+          if (isAdditionalProperty(responsePropName)) {
+            instance[responsePropName] = serializer.deserialize(additionalPropertiesMapper, responseBody[responsePropName], objectName + '["' + responsePropName + '"]', options);
+          }
+        }
+      } else if (responseBody && !options.ignoreUnknownProperties) {
+        for (const key of Object.keys(responseBody)) {
+          if (instance[key] === void 0 && !handledPropertyNames.includes(key) && !isSpecialXmlProperty(key, options)) {
+            instance[key] = responseBody[key];
+          }
+        }
       }
-      return token;
+      return instance;
     }
-    exports2.getRuntimeToken = getRuntimeToken;
-    function getResultsServiceUrl() {
-      const resultsUrl = process.env["ACTIONS_RESULTS_URL"];
-      if (!resultsUrl) {
-        throw new Error("Unable to get the ACTIONS_RESULTS_URL env variable");
+    function deserializeDictionaryType(serializer, mapper, responseBody, objectName, options) {
+      const value = mapper.type.value;
+      if (!value || typeof value !== "object") {
+        throw new Error(`"value" metadata for a Dictionary must be defined in the mapper and it must of type "object" in ${objectName}`);
       }
-      return new URL(resultsUrl).origin;
-    }
-    exports2.getResultsServiceUrl = getResultsServiceUrl;
-    function isGhes() {
-      const ghUrl = new URL(process.env["GITHUB_SERVER_URL"] || "https://github.com");
-      const hostname = ghUrl.hostname.trimEnd().toUpperCase();
-      const isGitHubHost = hostname === "GITHUB.COM";
-      const isGheHost = hostname.endsWith(".GHE.COM");
-      const isLocalHost = hostname.endsWith(".LOCALHOST");
-      return !isGitHubHost && !isGheHost && !isLocalHost;
-    }
-    exports2.isGhes = isGhes;
-    function getGitHubWorkspaceDir() {
-      const ghWorkspaceDir = process.env["GITHUB_WORKSPACE"];
-      if (!ghWorkspaceDir) {
-        throw new Error("Unable to get the GITHUB_WORKSPACE env variable");
+      if (responseBody) {
+        const tempDictionary = {};
+        for (const key of Object.keys(responseBody)) {
+          tempDictionary[key] = serializer.deserialize(value, responseBody[key], objectName, options);
+        }
+        return tempDictionary;
       }
-      return ghWorkspaceDir;
+      return responseBody;
     }
-    exports2.getGitHubWorkspaceDir = getGitHubWorkspaceDir;
-    function getConcurrency() {
-      const numCPUs = os_1.default.cpus().length;
-      let concurrencyCap = 32;
-      if (numCPUs > 4) {
-        const concurrency = 16 * numCPUs;
-        concurrencyCap = concurrency > 300 ? 300 : concurrency;
+    function deserializeSequenceType(serializer, mapper, responseBody, objectName, options) {
+      let element = mapper.type.element;
+      if (!element || typeof element !== "object") {
+        throw new Error(`element" metadata for an Array must be defined in the mapper and it must of type "object" in ${objectName}`);
       }
-      const concurrencyOverride = process.env["ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY"];
-      if (concurrencyOverride) {
-        const concurrency = parseInt(concurrencyOverride);
-        if (isNaN(concurrency) || concurrency < 1) {
-          throw new Error("Invalid value set for ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY env variable");
+      if (responseBody) {
+        if (!Array.isArray(responseBody)) {
+          responseBody = [responseBody];
         }
-        if (concurrency < concurrencyCap) {
-          (0, core_1.info)(`Set concurrency based on the value set in ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY.`);
-          return concurrency;
+        if (element.type.name === "Composite" && element.type.className) {
+          element = serializer.modelMappers[element.type.className] ?? element;
         }
-        (0, core_1.info)(`ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY is higher than the cap of ${concurrencyCap} based on the number of cpus. Set it to the maximum value allowed.`);
-        return concurrencyCap;
+        const tempArray = [];
+        for (let i = 0; i < responseBody.length; i++) {
+          tempArray[i] = serializer.deserialize(element, responseBody[i], `${objectName}[${i}]`, options);
+        }
+        return tempArray;
       }
-      return 5;
+      return responseBody;
     }
-    exports2.getConcurrency = getConcurrency;
-    function getUploadChunkTimeout() {
-      const timeoutVar = process.env["ACTIONS_ARTIFACT_UPLOAD_TIMEOUT_MS"];
-      if (!timeoutVar) {
-        return 3e5;
-      }
-      const timeout = parseInt(timeoutVar);
-      if (isNaN(timeout)) {
-        throw new Error("Invalid value set for ACTIONS_ARTIFACT_UPLOAD_TIMEOUT_MS env variable");
+    function getIndexDiscriminator(discriminators, discriminatorValue, typeName) {
+      const typeNamesToCheck = [typeName];
+      while (typeNamesToCheck.length) {
+        const currentName = typeNamesToCheck.shift();
+        const indexDiscriminator = discriminatorValue === currentName ? discriminatorValue : currentName + "." + discriminatorValue;
+        if (Object.prototype.hasOwnProperty.call(discriminators, indexDiscriminator)) {
+          return discriminators[indexDiscriminator];
+        } else {
+          for (const [name, mapper] of Object.entries(discriminators)) {
+            if (name.startsWith(currentName + ".") && mapper.type.uberParent === currentName && mapper.type.className) {
+              typeNamesToCheck.push(mapper.type.className);
+            }
+          }
+        }
       }
-      return timeout;
+      return void 0;
     }
-    exports2.getUploadChunkTimeout = getUploadChunkTimeout;
-    function getMaxArtifactListCount() {
-      const maxCountVar = process.env["ACTIONS_ARTIFACT_MAX_ARTIFACT_COUNT"] || "1000";
-      const maxCount = parseInt(maxCountVar);
-      if (isNaN(maxCount) || maxCount < 1) {
-        throw new Error("Invalid value set for ACTIONS_ARTIFACT_MAX_ARTIFACT_COUNT env variable");
+    function getPolymorphicMapper(serializer, mapper, object, polymorphicPropertyName) {
+      const polymorphicDiscriminator = getPolymorphicDiscriminatorRecursively(serializer, mapper);
+      if (polymorphicDiscriminator) {
+        let discriminatorName = polymorphicDiscriminator[polymorphicPropertyName];
+        if (discriminatorName) {
+          if (polymorphicPropertyName === "serializedName") {
+            discriminatorName = discriminatorName.replace(/\\/gi, "");
+          }
+          const discriminatorValue = object[discriminatorName];
+          const typeName = mapper.type.uberParent ?? mapper.type.className;
+          if (typeof discriminatorValue === "string" && typeName) {
+            const polymorphicMapper = getIndexDiscriminator(serializer.modelMappers.discriminators, discriminatorValue, typeName);
+            if (polymorphicMapper) {
+              mapper = polymorphicMapper;
+            }
+          }
+        }
       }
-      return maxCount;
+      return mapper;
     }
-    exports2.getMaxArtifactListCount = getMaxArtifactListCount;
+    function getPolymorphicDiscriminatorRecursively(serializer, mapper) {
+      return mapper.type.polymorphicDiscriminator || getPolymorphicDiscriminatorSafely(serializer, mapper.type.uberParent) || getPolymorphicDiscriminatorSafely(serializer, mapper.type.className);
+    }
+    function getPolymorphicDiscriminatorSafely(serializer, typeName) {
+      return typeName && serializer.modelMappers[typeName] && serializer.modelMappers[typeName].type.polymorphicDiscriminator;
+    }
+    exports2.MapperTypeNames = {
+      Base64Url: "Base64Url",
+      Boolean: "Boolean",
+      ByteArray: "ByteArray",
+      Composite: "Composite",
+      Date: "Date",
+      DateTime: "DateTime",
+      DateTimeRfc1123: "DateTimeRfc1123",
+      Dictionary: "Dictionary",
+      Enum: "Enum",
+      Number: "Number",
+      Object: "Object",
+      Sequence: "Sequence",
+      String: "String",
+      Stream: "Stream",
+      TimeSpan: "TimeSpan",
+      UnixTime: "UnixTime"
+    };
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/json-typings.js
-var require_json_typings = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/json-typings.js"(exports2) {
+// node_modules/@azure/core-client/dist/commonjs/state.js
+var require_state2 = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/state.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isJsonObject = exports2.typeofJsonValue = void 0;
-    function typeofJsonValue(value) {
-      let t = typeof value;
-      if (t == "object") {
-        if (Array.isArray(value))
-          return "array";
-        if (value === null)
-          return "null";
-      }
-      return t;
-    }
-    exports2.typeofJsonValue = typeofJsonValue;
-    function isJsonObject(value) {
-      return value !== null && typeof value == "object" && !Array.isArray(value);
-    }
-    exports2.isJsonObject = isJsonObject;
+    exports2.state = void 0;
+    exports2.state = {
+      operationRequestMap: /* @__PURE__ */ new WeakMap()
+    };
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/base64.js
-var require_base64 = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/base64.js"(exports2) {
+// node_modules/@azure/core-client/dist/commonjs/operationHelpers.js
+var require_operationHelpers = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/operationHelpers.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.base64encode = exports2.base64decode = void 0;
-    var encTable = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");
-    var decTable = [];
-    for (let i = 0; i < encTable.length; i++)
-      decTable[encTable[i].charCodeAt(0)] = i;
-    decTable["-".charCodeAt(0)] = encTable.indexOf("+");
-    decTable["_".charCodeAt(0)] = encTable.indexOf("/");
-    function base64decode(base64Str) {
-      let es = base64Str.length * 3 / 4;
-      if (base64Str[base64Str.length - 2] == "=")
-        es -= 2;
-      else if (base64Str[base64Str.length - 1] == "=")
-        es -= 1;
-      let bytes = new Uint8Array(es), bytePos = 0, groupPos = 0, b, p = 0;
-      for (let i = 0; i < base64Str.length; i++) {
-        b = decTable[base64Str.charCodeAt(i)];
-        if (b === void 0) {
-          switch (base64Str[i]) {
-            case "=":
-              groupPos = 0;
-            // reset state when padding found
-            case "\n":
-            case "\r":
-            case "	":
-            case " ":
-              continue;
-            // skip white-space, and padding
-            default:
-              throw Error(`invalid base64 string.`);
+    exports2.getOperationArgumentValueFromParameter = getOperationArgumentValueFromParameter;
+    exports2.getOperationRequestInfo = getOperationRequestInfo;
+    var state_js_1 = require_state2();
+    function getOperationArgumentValueFromParameter(operationArguments, parameter, fallbackObject) {
+      let parameterPath = parameter.parameterPath;
+      const parameterMapper = parameter.mapper;
+      let value;
+      if (typeof parameterPath === "string") {
+        parameterPath = [parameterPath];
+      }
+      if (Array.isArray(parameterPath)) {
+        if (parameterPath.length > 0) {
+          if (parameterMapper.isConstant) {
+            value = parameterMapper.defaultValue;
+          } else {
+            let propertySearchResult = getPropertyFromParameterPath(operationArguments, parameterPath);
+            if (!propertySearchResult.propertyFound && fallbackObject) {
+              propertySearchResult = getPropertyFromParameterPath(fallbackObject, parameterPath);
+            }
+            let useDefaultValue = false;
+            if (!propertySearchResult.propertyFound) {
+              useDefaultValue = parameterMapper.required || parameterPath[0] === "options" && parameterPath.length === 2;
+            }
+            value = useDefaultValue ? parameterMapper.defaultValue : propertySearchResult.propertyValue;
           }
         }
-        switch (groupPos) {
-          case 0:
-            p = b;
-            groupPos = 1;
-            break;
-          case 1:
-            bytes[bytePos++] = p << 2 | (b & 48) >> 4;
-            p = b;
-            groupPos = 2;
-            break;
-          case 2:
-            bytes[bytePos++] = (p & 15) << 4 | (b & 60) >> 2;
-            p = b;
-            groupPos = 3;
-            break;
-          case 3:
-            bytes[bytePos++] = (p & 3) << 6 | b;
-            groupPos = 0;
-            break;
-        }
-      }
-      if (groupPos == 1)
-        throw Error(`invalid base64 string.`);
-      return bytes.subarray(0, bytePos);
-    }
-    exports2.base64decode = base64decode;
-    function base64encode(bytes) {
-      let base64 = "", groupPos = 0, b, p = 0;
-      for (let i = 0; i < bytes.length; i++) {
-        b = bytes[i];
-        switch (groupPos) {
-          case 0:
-            base64 += encTable[b >> 2];
-            p = (b & 3) << 4;
-            groupPos = 1;
-            break;
-          case 1:
-            base64 += encTable[p | b >> 4];
-            p = (b & 15) << 2;
-            groupPos = 2;
-            break;
-          case 2:
-            base64 += encTable[p | b >> 6];
-            base64 += encTable[b & 63];
-            groupPos = 0;
-            break;
+      } else {
+        if (parameterMapper.required) {
+          value = {};
         }
-      }
-      if (groupPos) {
-        base64 += encTable[p];
-        base64 += "=";
-        if (groupPos == 1)
-          base64 += "=";
-      }
-      return base64;
-    }
-    exports2.base64encode = base64encode;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/protobufjs-utf8.js
-var require_protobufjs_utf8 = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/protobufjs-utf8.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.utf8read = void 0;
-    var fromCharCodes = (chunk) => String.fromCharCode.apply(String, chunk);
-    function utf8read(bytes) {
-      if (bytes.length < 1)
-        return "";
-      let pos = 0, parts = [], chunk = [], i = 0, t;
-      let len = bytes.length;
-      while (pos < len) {
-        t = bytes[pos++];
-        if (t < 128)
-          chunk[i++] = t;
-        else if (t > 191 && t < 224)
-          chunk[i++] = (t & 31) << 6 | bytes[pos++] & 63;
-        else if (t > 239 && t < 365) {
-          t = ((t & 7) << 18 | (bytes[pos++] & 63) << 12 | (bytes[pos++] & 63) << 6 | bytes[pos++] & 63) - 65536;
-          chunk[i++] = 55296 + (t >> 10);
-          chunk[i++] = 56320 + (t & 1023);
-        } else
-          chunk[i++] = (t & 15) << 12 | (bytes[pos++] & 63) << 6 | bytes[pos++] & 63;
-        if (i > 8191) {
-          parts.push(fromCharCodes(chunk));
-          i = 0;
+        for (const propertyName in parameterPath) {
+          const propertyMapper = parameterMapper.type.modelProperties[propertyName];
+          const propertyPath = parameterPath[propertyName];
+          const propertyValue = getOperationArgumentValueFromParameter(operationArguments, {
+            parameterPath: propertyPath,
+            mapper: propertyMapper
+          }, fallbackObject);
+          if (propertyValue !== void 0) {
+            if (!value) {
+              value = {};
+            }
+            value[propertyName] = propertyValue;
+          }
         }
       }
-      if (parts.length) {
-        if (i)
-          parts.push(fromCharCodes(chunk.slice(0, i)));
-        return parts.join("");
+      return value;
+    }
+    function getPropertyFromParameterPath(parent, parameterPath) {
+      const result = { propertyFound: false };
+      let i = 0;
+      for (; i < parameterPath.length; ++i) {
+        const parameterPathPart = parameterPath[i];
+        if (parent && parameterPathPart in parent) {
+          parent = parent[parameterPathPart];
+        } else {
+          break;
+        }
       }
-      return fromCharCodes(chunk.slice(0, i));
+      if (i === parameterPath.length) {
+        result.propertyValue = parent;
+        result.propertyFound = true;
+      }
+      return result;
+    }
+    var originalRequestSymbol = /* @__PURE__ */ Symbol.for("@azure/core-client original request");
+    function hasOriginalRequest(request2) {
+      return originalRequestSymbol in request2;
+    }
+    function getOperationRequestInfo(request2) {
+      if (hasOriginalRequest(request2)) {
+        return getOperationRequestInfo(request2[originalRequestSymbol]);
+      }
+      let info7 = state_js_1.state.operationRequestMap.get(request2);
+      if (!info7) {
+        info7 = {};
+        state_js_1.state.operationRequestMap.set(request2, info7);
+      }
+      return info7;
     }
-    exports2.utf8read = utf8read;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/binary-format-contract.js
-var require_binary_format_contract = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/binary-format-contract.js"(exports2) {
+// node_modules/@azure/core-client/dist/commonjs/deserializationPolicy.js
+var require_deserializationPolicy = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/deserializationPolicy.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.WireType = exports2.mergeBinaryOptions = exports2.UnknownFieldHandler = void 0;
-    var UnknownFieldHandler;
-    (function(UnknownFieldHandler2) {
-      UnknownFieldHandler2.symbol = /* @__PURE__ */ Symbol.for("protobuf-ts/unknown");
-      UnknownFieldHandler2.onRead = (typeName, message, fieldNo, wireType, data) => {
-        let container = is(message) ? message[UnknownFieldHandler2.symbol] : message[UnknownFieldHandler2.symbol] = [];
-        container.push({ no: fieldNo, wireType, data });
-      };
-      UnknownFieldHandler2.onWrite = (typeName, message, writer) => {
-        for (let { no, wireType, data } of UnknownFieldHandler2.list(message))
-          writer.tag(no, wireType).raw(data);
+    exports2.deserializationPolicyName = void 0;
+    exports2.deserializationPolicy = deserializationPolicy;
+    var interfaces_js_1 = require_interfaces();
+    var core_rest_pipeline_1 = require_commonjs8();
+    var serializer_js_1 = require_serializer();
+    var operationHelpers_js_1 = require_operationHelpers();
+    var defaultJsonContentTypes = ["application/json", "text/json"];
+    var defaultXmlContentTypes = ["application/xml", "application/atom+xml"];
+    exports2.deserializationPolicyName = "deserializationPolicy";
+    function deserializationPolicy(options = {}) {
+      const jsonContentTypes = options.expectedContentTypes?.json ?? defaultJsonContentTypes;
+      const xmlContentTypes = options.expectedContentTypes?.xml ?? defaultXmlContentTypes;
+      const parseXML = options.parseXML;
+      const serializerOptions = options.serializerOptions;
+      const updatedOptions = {
+        xml: {
+          rootName: serializerOptions?.xml.rootName ?? "",
+          includeRoot: serializerOptions?.xml.includeRoot ?? false,
+          xmlCharKey: serializerOptions?.xml.xmlCharKey ?? interfaces_js_1.XML_CHARKEY
+        }
       };
-      UnknownFieldHandler2.list = (message, fieldNo) => {
-        if (is(message)) {
-          let all = message[UnknownFieldHandler2.symbol];
-          return fieldNo ? all.filter((uf) => uf.no == fieldNo) : all;
+      return {
+        name: exports2.deserializationPolicyName,
+        async sendRequest(request2, next) {
+          const response = await next(request2);
+          return deserializeResponseBody(jsonContentTypes, xmlContentTypes, response, updatedOptions, parseXML);
         }
-        return [];
       };
-      UnknownFieldHandler2.last = (message, fieldNo) => UnknownFieldHandler2.list(message, fieldNo).slice(-1)[0];
-      const is = (message) => message && Array.isArray(message[UnknownFieldHandler2.symbol]);
-    })(UnknownFieldHandler = exports2.UnknownFieldHandler || (exports2.UnknownFieldHandler = {}));
-    function mergeBinaryOptions(a, b) {
-      return Object.assign(Object.assign({}, a), b);
     }
-    exports2.mergeBinaryOptions = mergeBinaryOptions;
-    var WireType;
-    (function(WireType2) {
-      WireType2[WireType2["Varint"] = 0] = "Varint";
-      WireType2[WireType2["Bit64"] = 1] = "Bit64";
-      WireType2[WireType2["LengthDelimited"] = 2] = "LengthDelimited";
-      WireType2[WireType2["StartGroup"] = 3] = "StartGroup";
-      WireType2[WireType2["EndGroup"] = 4] = "EndGroup";
-      WireType2[WireType2["Bit32"] = 5] = "Bit32";
-    })(WireType = exports2.WireType || (exports2.WireType = {}));
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/goog-varint.js
-var require_goog_varint = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/goog-varint.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.varint32read = exports2.varint32write = exports2.int64toString = exports2.int64fromString = exports2.varint64write = exports2.varint64read = void 0;
-    function varint64read() {
-      let lowBits = 0;
-      let highBits = 0;
-      for (let shift = 0; shift < 28; shift += 7) {
-        let b = this.buf[this.pos++];
-        lowBits |= (b & 127) << shift;
-        if ((b & 128) == 0) {
-          this.assertBounds();
-          return [lowBits, highBits];
+    function getOperationResponseMap(parsedResponse) {
+      let result;
+      const request2 = parsedResponse.request;
+      const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(request2);
+      const operationSpec = operationInfo?.operationSpec;
+      if (operationSpec) {
+        if (!operationInfo?.operationResponseGetter) {
+          result = operationSpec.responses[parsedResponse.status];
+        } else {
+          result = operationInfo?.operationResponseGetter(operationSpec, parsedResponse);
         }
       }
-      let middleByte = this.buf[this.pos++];
-      lowBits |= (middleByte & 15) << 28;
-      highBits = (middleByte & 112) >> 4;
-      if ((middleByte & 128) == 0) {
-        this.assertBounds();
-        return [lowBits, highBits];
+      return result;
+    }
+    function shouldDeserializeResponse(parsedResponse) {
+      const request2 = parsedResponse.request;
+      const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(request2);
+      const shouldDeserialize = operationInfo?.shouldDeserialize;
+      let result;
+      if (shouldDeserialize === void 0) {
+        result = true;
+      } else if (typeof shouldDeserialize === "boolean") {
+        result = shouldDeserialize;
+      } else {
+        result = shouldDeserialize(parsedResponse);
       }
-      for (let shift = 3; shift <= 31; shift += 7) {
-        let b = this.buf[this.pos++];
-        highBits |= (b & 127) << shift;
-        if ((b & 128) == 0) {
-          this.assertBounds();
-          return [lowBits, highBits];
+      return result;
+    }
+    async function deserializeResponseBody(jsonContentTypes, xmlContentTypes, response, options, parseXML) {
+      const parsedResponse = await parse2(jsonContentTypes, xmlContentTypes, response, options, parseXML);
+      if (!shouldDeserializeResponse(parsedResponse)) {
+        return parsedResponse;
+      }
+      const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(parsedResponse.request);
+      const operationSpec = operationInfo?.operationSpec;
+      if (!operationSpec || !operationSpec.responses) {
+        return parsedResponse;
+      }
+      const responseSpec = getOperationResponseMap(parsedResponse);
+      const { error: error3, shouldReturnResponse } = handleErrorResponse(parsedResponse, operationSpec, responseSpec, options);
+      if (error3) {
+        throw error3;
+      } else if (shouldReturnResponse) {
+        return parsedResponse;
+      }
+      if (responseSpec) {
+        if (responseSpec.bodyMapper) {
+          let valueToDeserialize = parsedResponse.parsedBody;
+          if (operationSpec.isXML && responseSpec.bodyMapper.type.name === serializer_js_1.MapperTypeNames.Sequence) {
+            valueToDeserialize = typeof valueToDeserialize === "object" ? valueToDeserialize[responseSpec.bodyMapper.xmlElementName] : [];
+          }
+          try {
+            parsedResponse.parsedBody = operationSpec.serializer.deserialize(responseSpec.bodyMapper, valueToDeserialize, "operationRes.parsedBody", options);
+          } catch (deserializeError) {
+            const restError = new core_rest_pipeline_1.RestError(`Error ${deserializeError} occurred in deserializing the responseBody - ${parsedResponse.bodyAsText}`, {
+              statusCode: parsedResponse.status,
+              request: parsedResponse.request,
+              response: parsedResponse
+            });
+            throw restError;
+          }
+        } else if (operationSpec.httpMethod === "HEAD") {
+          parsedResponse.parsedBody = response.status >= 200 && response.status < 300;
+        }
+        if (responseSpec.headersMapper) {
+          parsedResponse.parsedHeaders = operationSpec.serializer.deserialize(responseSpec.headersMapper, parsedResponse.headers.toJSON(), "operationRes.parsedHeaders", { xml: {}, ignoreUnknownProperties: true });
         }
       }
-      throw new Error("invalid varint");
+      return parsedResponse;
     }
-    exports2.varint64read = varint64read;
-    function varint64write(lo, hi, bytes) {
-      for (let i = 0; i < 28; i = i + 7) {
-        const shift = lo >>> i;
-        const hasNext = !(shift >>> 7 == 0 && hi == 0);
-        const byte = (hasNext ? shift | 128 : shift) & 255;
-        bytes.push(byte);
-        if (!hasNext) {
-          return;
+    function isOperationSpecEmpty(operationSpec) {
+      const expectedStatusCodes = Object.keys(operationSpec.responses);
+      return expectedStatusCodes.length === 0 || expectedStatusCodes.length === 1 && expectedStatusCodes[0] === "default";
+    }
+    function handleErrorResponse(parsedResponse, operationSpec, responseSpec, options) {
+      const isSuccessByStatus = 200 <= parsedResponse.status && parsedResponse.status < 300;
+      const isExpectedStatusCode = isOperationSpecEmpty(operationSpec) ? isSuccessByStatus : !!responseSpec;
+      if (isExpectedStatusCode) {
+        if (responseSpec) {
+          if (!responseSpec.isError) {
+            return { error: null, shouldReturnResponse: false };
+          }
+        } else {
+          return { error: null, shouldReturnResponse: false };
         }
       }
-      const splitBits = lo >>> 28 & 15 | (hi & 7) << 4;
-      const hasMoreBits = !(hi >> 3 == 0);
-      bytes.push((hasMoreBits ? splitBits | 128 : splitBits) & 255);
-      if (!hasMoreBits) {
-        return;
+      const errorResponseSpec = responseSpec ?? operationSpec.responses.default;
+      const initialErrorMessage = parsedResponse.request.streamResponseStatusCodes?.has(parsedResponse.status) ? `Unexpected status code: ${parsedResponse.status}` : parsedResponse.bodyAsText;
+      const error3 = new core_rest_pipeline_1.RestError(initialErrorMessage, {
+        statusCode: parsedResponse.status,
+        request: parsedResponse.request,
+        response: parsedResponse
+      });
+      if (!errorResponseSpec && !(parsedResponse.parsedBody?.error?.code && parsedResponse.parsedBody?.error?.message)) {
+        throw error3;
       }
-      for (let i = 3; i < 31; i = i + 7) {
-        const shift = hi >>> i;
-        const hasNext = !(shift >>> 7 == 0);
-        const byte = (hasNext ? shift | 128 : shift) & 255;
-        bytes.push(byte);
-        if (!hasNext) {
-          return;
+      const defaultBodyMapper = errorResponseSpec?.bodyMapper;
+      const defaultHeadersMapper = errorResponseSpec?.headersMapper;
+      try {
+        if (parsedResponse.parsedBody) {
+          const parsedBody = parsedResponse.parsedBody;
+          let deserializedError;
+          if (defaultBodyMapper) {
+            let valueToDeserialize = parsedBody;
+            if (operationSpec.isXML && defaultBodyMapper.type.name === serializer_js_1.MapperTypeNames.Sequence) {
+              valueToDeserialize = [];
+              const elementName = defaultBodyMapper.xmlElementName;
+              if (typeof parsedBody === "object" && elementName) {
+                valueToDeserialize = parsedBody[elementName];
+              }
+            }
+            deserializedError = operationSpec.serializer.deserialize(defaultBodyMapper, valueToDeserialize, "error.response.parsedBody", options);
+          }
+          const internalError = parsedBody.error || deserializedError || parsedBody;
+          error3.code = internalError.code;
+          if (internalError.message) {
+            error3.message = internalError.message;
+          }
+          if (defaultBodyMapper) {
+            error3.response.parsedBody = deserializedError;
+          }
         }
+        if (parsedResponse.headers && defaultHeadersMapper) {
+          error3.response.parsedHeaders = operationSpec.serializer.deserialize(defaultHeadersMapper, parsedResponse.headers.toJSON(), "operationRes.parsedHeaders");
+        }
+      } catch (defaultError) {
+        error3.message = `Error "${defaultError.message}" occurred in deserializing the responseBody - "${parsedResponse.bodyAsText}" for the default response.`;
       }
-      bytes.push(hi >>> 31 & 1);
+      return { error: error3, shouldReturnResponse: false };
     }
-    exports2.varint64write = varint64write;
-    var TWO_PWR_32_DBL = (1 << 16) * (1 << 16);
-    function int64fromString(dec) {
-      let minus = dec[0] == "-";
-      if (minus)
-        dec = dec.slice(1);
-      const base = 1e6;
-      let lowBits = 0;
-      let highBits = 0;
-      function add1e6digit(begin, end) {
-        const digit1e6 = Number(dec.slice(begin, end));
-        highBits *= base;
-        lowBits = lowBits * base + digit1e6;
-        if (lowBits >= TWO_PWR_32_DBL) {
-          highBits = highBits + (lowBits / TWO_PWR_32_DBL | 0);
-          lowBits = lowBits % TWO_PWR_32_DBL;
+    async function parse2(jsonContentTypes, xmlContentTypes, operationResponse, opts, parseXML) {
+      if (!operationResponse.request.streamResponseStatusCodes?.has(operationResponse.status) && operationResponse.bodyAsText) {
+        const text = operationResponse.bodyAsText;
+        const contentType = operationResponse.headers.get("Content-Type") || "";
+        const contentComponents = !contentType ? [] : contentType.split(";").map((component) => component.toLowerCase());
+        try {
+          if (contentComponents.length === 0 || contentComponents.some((component) => jsonContentTypes.indexOf(component) !== -1)) {
+            operationResponse.parsedBody = JSON.parse(text);
+            return operationResponse;
+          } else if (contentComponents.some((component) => xmlContentTypes.indexOf(component) !== -1)) {
+            if (!parseXML) {
+              throw new Error("Parsing XML not supported.");
+            }
+            const body = await parseXML(text, opts.xml);
+            operationResponse.parsedBody = body;
+            return operationResponse;
+          }
+        } catch (err) {
+          const msg = `Error "${err}" occurred while parsing the response body - ${operationResponse.bodyAsText}.`;
+          const errCode = err.code || core_rest_pipeline_1.RestError.PARSE_ERROR;
+          const e = new core_rest_pipeline_1.RestError(msg, {
+            code: errCode,
+            statusCode: operationResponse.status,
+            request: operationResponse.request,
+            response: operationResponse
+          });
+          throw e;
         }
       }
-      add1e6digit(-24, -18);
-      add1e6digit(-18, -12);
-      add1e6digit(-12, -6);
-      add1e6digit(-6);
-      return [minus, lowBits, highBits];
+      return operationResponse;
     }
-    exports2.int64fromString = int64fromString;
-    function int64toString(bitsLow, bitsHigh) {
-      if (bitsHigh >>> 0 <= 2097151) {
-        return "" + (TWO_PWR_32_DBL * bitsHigh + (bitsLow >>> 0));
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/interfaceHelpers.js
+var require_interfaceHelpers = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/interfaceHelpers.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getStreamingResponseStatusCodes = getStreamingResponseStatusCodes;
+    exports2.getPathStringFromParameter = getPathStringFromParameter;
+    var serializer_js_1 = require_serializer();
+    function getStreamingResponseStatusCodes(operationSpec) {
+      const result = /* @__PURE__ */ new Set();
+      for (const statusCode in operationSpec.responses) {
+        const operationResponse = operationSpec.responses[statusCode];
+        if (operationResponse.bodyMapper && operationResponse.bodyMapper.type.name === serializer_js_1.MapperTypeNames.Stream) {
+          result.add(Number(statusCode));
+        }
       }
-      let low = bitsLow & 16777215;
-      let mid = (bitsLow >>> 24 | bitsHigh << 8) >>> 0 & 16777215;
-      let high = bitsHigh >> 16 & 65535;
-      let digitA = low + mid * 6777216 + high * 6710656;
-      let digitB = mid + high * 8147497;
-      let digitC = high * 2;
-      let base = 1e7;
-      if (digitA >= base) {
-        digitB += Math.floor(digitA / base);
-        digitA %= base;
+      return result;
+    }
+    function getPathStringFromParameter(parameter) {
+      const { parameterPath, mapper } = parameter;
+      let result;
+      if (typeof parameterPath === "string") {
+        result = parameterPath;
+      } else if (Array.isArray(parameterPath)) {
+        result = parameterPath.join(".");
+      } else {
+        result = mapper.serializedName;
       }
-      if (digitB >= base) {
-        digitC += Math.floor(digitB / base);
-        digitB %= base;
+      return result;
+    }
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/serializationPolicy.js
+var require_serializationPolicy = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/serializationPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.serializationPolicyName = void 0;
+    exports2.serializationPolicy = serializationPolicy;
+    exports2.serializeHeaders = serializeHeaders;
+    exports2.serializeRequestBody = serializeRequestBody;
+    var interfaces_js_1 = require_interfaces();
+    var operationHelpers_js_1 = require_operationHelpers();
+    var serializer_js_1 = require_serializer();
+    var interfaceHelpers_js_1 = require_interfaceHelpers();
+    exports2.serializationPolicyName = "serializationPolicy";
+    function serializationPolicy(options = {}) {
+      const stringifyXML = options.stringifyXML;
+      return {
+        name: exports2.serializationPolicyName,
+        async sendRequest(request2, next) {
+          const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(request2);
+          const operationSpec = operationInfo?.operationSpec;
+          const operationArguments = operationInfo?.operationArguments;
+          if (operationSpec && operationArguments) {
+            serializeHeaders(request2, operationArguments, operationSpec);
+            serializeRequestBody(request2, operationArguments, operationSpec, stringifyXML);
+          }
+          return next(request2);
+        }
+      };
+    }
+    function serializeHeaders(request2, operationArguments, operationSpec) {
+      if (operationSpec.headerParameters) {
+        for (const headerParameter of operationSpec.headerParameters) {
+          let headerValue = (0, operationHelpers_js_1.getOperationArgumentValueFromParameter)(operationArguments, headerParameter);
+          if (headerValue !== null && headerValue !== void 0 || headerParameter.mapper.required) {
+            headerValue = operationSpec.serializer.serialize(headerParameter.mapper, headerValue, (0, interfaceHelpers_js_1.getPathStringFromParameter)(headerParameter));
+            const headerCollectionPrefix = headerParameter.mapper.headerCollectionPrefix;
+            if (headerCollectionPrefix) {
+              for (const key of Object.keys(headerValue)) {
+                request2.headers.set(headerCollectionPrefix + key, headerValue[key]);
+              }
+            } else {
+              request2.headers.set(headerParameter.mapper.serializedName || (0, interfaceHelpers_js_1.getPathStringFromParameter)(headerParameter), headerValue);
+            }
+          }
+        }
       }
-      function decimalFrom1e7(digit1e7, needLeadingZeros) {
-        let partial = digit1e7 ? String(digit1e7) : "";
-        if (needLeadingZeros) {
-          return "0000000".slice(partial.length) + partial;
+      const customHeaders = operationArguments.options?.requestOptions?.customHeaders;
+      if (customHeaders) {
+        for (const customHeaderName of Object.keys(customHeaders)) {
+          request2.headers.set(customHeaderName, customHeaders[customHeaderName]);
         }
-        return partial;
       }
-      return decimalFrom1e7(
-        digitC,
-        /*needLeadingZeros=*/
-        0
-      ) + decimalFrom1e7(
-        digitB,
-        /*needLeadingZeros=*/
-        digitC
-      ) + // If the final 1e7 digit didn't need leading zeros, we would have
-      // returned via the trivial code path at the top.
-      decimalFrom1e7(
-        digitA,
-        /*needLeadingZeros=*/
-        1
-      );
     }
-    exports2.int64toString = int64toString;
-    function varint32write(value, bytes) {
-      if (value >= 0) {
-        while (value > 127) {
-          bytes.push(value & 127 | 128);
-          value = value >>> 7;
+    function serializeRequestBody(request2, operationArguments, operationSpec, stringifyXML = function() {
+      throw new Error("XML serialization unsupported!");
+    }) {
+      const serializerOptions = operationArguments.options?.serializerOptions;
+      const updatedOptions = {
+        xml: {
+          rootName: serializerOptions?.xml.rootName ?? "",
+          includeRoot: serializerOptions?.xml.includeRoot ?? false,
+          xmlCharKey: serializerOptions?.xml.xmlCharKey ?? interfaces_js_1.XML_CHARKEY
         }
-        bytes.push(value);
-      } else {
-        for (let i = 0; i < 9; i++) {
-          bytes.push(value & 127 | 128);
-          value = value >> 7;
+      };
+      const xmlCharKey = updatedOptions.xml.xmlCharKey;
+      if (operationSpec.requestBody && operationSpec.requestBody.mapper) {
+        request2.body = (0, operationHelpers_js_1.getOperationArgumentValueFromParameter)(operationArguments, operationSpec.requestBody);
+        const bodyMapper = operationSpec.requestBody.mapper;
+        const { required, serializedName, xmlName, xmlElementName, xmlNamespace, xmlNamespacePrefix, nullable } = bodyMapper;
+        const typeName = bodyMapper.type.name;
+        try {
+          if (request2.body !== void 0 && request2.body !== null || nullable && request2.body === null || required) {
+            const requestBodyParameterPathString = (0, interfaceHelpers_js_1.getPathStringFromParameter)(operationSpec.requestBody);
+            request2.body = operationSpec.serializer.serialize(bodyMapper, request2.body, requestBodyParameterPathString, updatedOptions);
+            const isStream = typeName === serializer_js_1.MapperTypeNames.Stream;
+            if (operationSpec.isXML) {
+              const xmlnsKey = xmlNamespacePrefix ? `xmlns:${xmlNamespacePrefix}` : "xmlns";
+              const value = getXmlValueWithNamespace(xmlNamespace, xmlnsKey, typeName, request2.body, updatedOptions);
+              if (typeName === serializer_js_1.MapperTypeNames.Sequence) {
+                request2.body = stringifyXML(prepareXMLRootList(value, xmlElementName || xmlName || serializedName, xmlnsKey, xmlNamespace), { rootName: xmlName || serializedName, xmlCharKey });
+              } else if (!isStream) {
+                request2.body = stringifyXML(value, {
+                  rootName: xmlName || serializedName,
+                  xmlCharKey
+                });
+              }
+            } else if (typeName === serializer_js_1.MapperTypeNames.String && (operationSpec.contentType?.match("text/plain") || operationSpec.mediaType === "text")) {
+              return;
+            } else if (!isStream) {
+              request2.body = JSON.stringify(request2.body);
+            }
+          }
+        } catch (error3) {
+          throw new Error(`Error "${error3.message}" occurred in serializing the payload - ${JSON.stringify(serializedName, void 0, "  ")}.`);
+        }
+      } else if (operationSpec.formDataParameters && operationSpec.formDataParameters.length > 0) {
+        request2.formData = {};
+        for (const formDataParameter of operationSpec.formDataParameters) {
+          const formDataParameterValue = (0, operationHelpers_js_1.getOperationArgumentValueFromParameter)(operationArguments, formDataParameter);
+          if (formDataParameterValue !== void 0 && formDataParameterValue !== null) {
+            const formDataParameterPropertyName = formDataParameter.mapper.serializedName || (0, interfaceHelpers_js_1.getPathStringFromParameter)(formDataParameter);
+            request2.formData[formDataParameterPropertyName] = operationSpec.serializer.serialize(formDataParameter.mapper, formDataParameterValue, (0, interfaceHelpers_js_1.getPathStringFromParameter)(formDataParameter), updatedOptions);
+          }
         }
-        bytes.push(1);
       }
     }
-    exports2.varint32write = varint32write;
-    function varint32read() {
-      let b = this.buf[this.pos++];
-      let result = b & 127;
-      if ((b & 128) == 0) {
-        this.assertBounds();
+    function getXmlValueWithNamespace(xmlNamespace, xmlnsKey, typeName, serializedValue, options) {
+      if (xmlNamespace && !["Composite", "Sequence", "Dictionary"].includes(typeName)) {
+        const result = {};
+        result[options.xml.xmlCharKey] = serializedValue;
+        result[interfaces_js_1.XML_ATTRKEY] = { [xmlnsKey]: xmlNamespace };
         return result;
       }
-      b = this.buf[this.pos++];
-      result |= (b & 127) << 7;
-      if ((b & 128) == 0) {
-        this.assertBounds();
-        return result;
+      return serializedValue;
+    }
+    function prepareXMLRootList(obj, elementName, xmlNamespaceKey, xmlNamespace) {
+      if (!Array.isArray(obj)) {
+        obj = [obj];
       }
-      b = this.buf[this.pos++];
-      result |= (b & 127) << 14;
-      if ((b & 128) == 0) {
-        this.assertBounds();
-        return result;
+      if (!xmlNamespaceKey || !xmlNamespace) {
+        return { [elementName]: obj };
       }
-      b = this.buf[this.pos++];
-      result |= (b & 127) << 21;
-      if ((b & 128) == 0) {
-        this.assertBounds();
-        return result;
+      const result = { [elementName]: obj };
+      result[interfaces_js_1.XML_ATTRKEY] = { [xmlNamespaceKey]: xmlNamespace };
+      return result;
+    }
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/pipeline.js
+var require_pipeline3 = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/pipeline.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createClientPipeline = createClientPipeline;
+    var deserializationPolicy_js_1 = require_deserializationPolicy();
+    var core_rest_pipeline_1 = require_commonjs8();
+    var serializationPolicy_js_1 = require_serializationPolicy();
+    function createClientPipeline(options = {}) {
+      const pipeline = (0, core_rest_pipeline_1.createPipelineFromOptions)(options ?? {});
+      if (options.credentialOptions) {
+        pipeline.addPolicy((0, core_rest_pipeline_1.bearerTokenAuthenticationPolicy)({
+          credential: options.credentialOptions.credential,
+          scopes: options.credentialOptions.credentialScopes
+        }));
       }
-      b = this.buf[this.pos++];
-      result |= (b & 15) << 28;
-      for (let readBytes = 5; (b & 128) !== 0 && readBytes < 10; readBytes++)
-        b = this.buf[this.pos++];
-      if ((b & 128) != 0)
-        throw new Error("invalid varint");
-      this.assertBounds();
-      return result >>> 0;
+      pipeline.addPolicy((0, serializationPolicy_js_1.serializationPolicy)(options.serializationOptions), { phase: "Serialize" });
+      pipeline.addPolicy((0, deserializationPolicy_js_1.deserializationPolicy)(options.deserializationOptions), {
+        phase: "Deserialize"
+      });
+      return pipeline;
     }
-    exports2.varint32read = varint32read;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/pb-long.js
-var require_pb_long = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/pb-long.js"(exports2) {
+// node_modules/@azure/core-client/dist/commonjs/httpClientCache.js
+var require_httpClientCache = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/httpClientCache.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.PbLong = exports2.PbULong = exports2.detectBi = void 0;
-    var goog_varint_1 = require_goog_varint();
-    var BI;
-    function detectBi() {
-      const dv = new DataView(new ArrayBuffer(8));
-      const ok = globalThis.BigInt !== void 0 && typeof dv.getBigInt64 === "function" && typeof dv.getBigUint64 === "function" && typeof dv.setBigInt64 === "function" && typeof dv.setBigUint64 === "function";
-      BI = ok ? {
-        MIN: BigInt("-9223372036854775808"),
-        MAX: BigInt("9223372036854775807"),
-        UMIN: BigInt("0"),
-        UMAX: BigInt("18446744073709551615"),
-        C: BigInt,
-        V: dv
-      } : void 0;
+    exports2.getCachedDefaultHttpClient = getCachedDefaultHttpClient;
+    var core_rest_pipeline_1 = require_commonjs8();
+    var cachedHttpClient;
+    function getCachedDefaultHttpClient() {
+      if (!cachedHttpClient) {
+        cachedHttpClient = (0, core_rest_pipeline_1.createDefaultHttpClient)();
+      }
+      return cachedHttpClient;
     }
-    exports2.detectBi = detectBi;
-    detectBi();
-    function assertBi(bi) {
-      if (!bi)
-        throw new Error("BigInt unavailable, see https://github.com/timostamm/protobuf-ts/blob/v1.0.8/MANUAL.md#bigint-support");
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/urlHelpers.js
+var require_urlHelpers2 = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/urlHelpers.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getRequestUrl = getRequestUrl;
+    exports2.appendQueryParams = appendQueryParams;
+    var operationHelpers_js_1 = require_operationHelpers();
+    var interfaceHelpers_js_1 = require_interfaceHelpers();
+    var CollectionFormatToDelimiterMap = {
+      CSV: ",",
+      SSV: " ",
+      Multi: "Multi",
+      TSV: "	",
+      Pipes: "|"
+    };
+    function getRequestUrl(baseUri, operationSpec, operationArguments, fallbackObject) {
+      const urlReplacements = calculateUrlReplacements(operationSpec, operationArguments, fallbackObject);
+      let isAbsolutePath = false;
+      let requestUrl = replaceAll(baseUri, urlReplacements);
+      if (operationSpec.path) {
+        let path3 = replaceAll(operationSpec.path, urlReplacements);
+        if (operationSpec.path === "/{nextLink}" && path3.startsWith("/")) {
+          path3 = path3.substring(1);
+        }
+        if (isAbsoluteUrl(path3)) {
+          requestUrl = path3;
+          isAbsolutePath = true;
+        } else {
+          requestUrl = appendPath(requestUrl, path3);
+        }
+      }
+      const { queryParams, sequenceParams } = calculateQueryParameters(operationSpec, operationArguments, fallbackObject);
+      requestUrl = appendQueryParams(requestUrl, queryParams, sequenceParams, isAbsolutePath);
+      return requestUrl;
     }
-    var RE_DECIMAL_STR = /^-?[0-9]+$/;
-    var TWO_PWR_32_DBL = 4294967296;
-    var HALF_2_PWR_32 = 2147483648;
-    var SharedPbLong = class {
-      /**
-       * Create a new instance with the given bits.
-       */
-      constructor(lo, hi) {
-        this.lo = lo | 0;
-        this.hi = hi | 0;
+    function replaceAll(input, replacements) {
+      let result = input;
+      for (const [searchValue, replaceValue] of replacements) {
+        result = result.split(searchValue).join(replaceValue);
       }
-      /**
-       * Is this instance equal to 0?
-       */
-      isZero() {
-        return this.lo == 0 && this.hi == 0;
+      return result;
+    }
+    function calculateUrlReplacements(operationSpec, operationArguments, fallbackObject) {
+      const result = /* @__PURE__ */ new Map();
+      if (operationSpec.urlParameters?.length) {
+        for (const urlParameter of operationSpec.urlParameters) {
+          let urlParameterValue = (0, operationHelpers_js_1.getOperationArgumentValueFromParameter)(operationArguments, urlParameter, fallbackObject);
+          const parameterPathString = (0, interfaceHelpers_js_1.getPathStringFromParameter)(urlParameter);
+          urlParameterValue = operationSpec.serializer.serialize(urlParameter.mapper, urlParameterValue, parameterPathString);
+          if (!urlParameter.skipEncoding) {
+            urlParameterValue = encodeURIComponent(urlParameterValue);
+          }
+          result.set(`{${urlParameter.mapper.serializedName || parameterPathString}}`, urlParameterValue);
+        }
       }
-      /**
-       * Convert to a native number.
-       */
-      toNumber() {
-        let result = this.hi * TWO_PWR_32_DBL + (this.lo >>> 0);
-        if (!Number.isSafeInteger(result))
-          throw new Error("cannot convert to safe number");
-        return result;
+      return result;
+    }
+    function isAbsoluteUrl(url) {
+      return url.includes("://");
+    }
+    function appendPath(url, pathToAppend) {
+      if (!pathToAppend) {
+        return url;
       }
-    };
-    var PbULong = class _PbULong extends SharedPbLong {
-      /**
-       * Create instance from a `string`, `number` or `bigint`.
-       */
-      static from(value) {
-        if (BI)
-          switch (typeof value) {
-            case "string":
-              if (value == "0")
-                return this.ZERO;
-              if (value == "")
-                throw new Error("string is no integer");
-              value = BI.C(value);
-            case "number":
-              if (value === 0)
-                return this.ZERO;
-              value = BI.C(value);
-            case "bigint":
-              if (!value)
-                return this.ZERO;
-              if (value < BI.UMIN)
-                throw new Error("signed value for ulong");
-              if (value > BI.UMAX)
-                throw new Error("ulong too large");
-              BI.V.setBigUint64(0, value, true);
-              return new _PbULong(BI.V.getInt32(0, true), BI.V.getInt32(4, true));
-          }
-        else
-          switch (typeof value) {
-            case "string":
-              if (value == "0")
-                return this.ZERO;
-              value = value.trim();
-              if (!RE_DECIMAL_STR.test(value))
-                throw new Error("string is no integer");
-              let [minus, lo, hi] = goog_varint_1.int64fromString(value);
-              if (minus)
-                throw new Error("signed value for ulong");
-              return new _PbULong(lo, hi);
-            case "number":
-              if (value == 0)
-                return this.ZERO;
-              if (!Number.isSafeInteger(value))
-                throw new Error("number is no integer");
-              if (value < 0)
-                throw new Error("signed value for ulong");
-              return new _PbULong(value, value / TWO_PWR_32_DBL);
-          }
-        throw new Error("unknown value " + typeof value);
+      const parsedUrl = new URL(url);
+      let newPath = parsedUrl.pathname;
+      if (!newPath.endsWith("/")) {
+        newPath = `${newPath}/`;
       }
-      /**
-       * Convert to decimal string.
-       */
-      toString() {
-        return BI ? this.toBigInt().toString() : goog_varint_1.int64toString(this.lo, this.hi);
+      if (pathToAppend.startsWith("/")) {
+        pathToAppend = pathToAppend.substring(1);
       }
-      /**
-       * Convert to native bigint.
-       */
-      toBigInt() {
-        assertBi(BI);
-        BI.V.setInt32(0, this.lo, true);
-        BI.V.setInt32(4, this.hi, true);
-        return BI.V.getBigUint64(0, true);
+      const searchStart = pathToAppend.indexOf("?");
+      if (searchStart !== -1) {
+        const path3 = pathToAppend.substring(0, searchStart);
+        const search = pathToAppend.substring(searchStart + 1);
+        newPath = newPath + path3;
+        if (search) {
+          parsedUrl.search = parsedUrl.search ? `${parsedUrl.search}&${search}` : search;
+        }
+      } else {
+        newPath = newPath + pathToAppend;
       }
-    };
-    exports2.PbULong = PbULong;
-    PbULong.ZERO = new PbULong(0, 0);
-    var PbLong = class _PbLong extends SharedPbLong {
-      /**
-       * Create instance from a `string`, `number` or `bigint`.
-       */
-      static from(value) {
-        if (BI)
-          switch (typeof value) {
-            case "string":
-              if (value == "0")
-                return this.ZERO;
-              if (value == "")
-                throw new Error("string is no integer");
-              value = BI.C(value);
-            case "number":
-              if (value === 0)
-                return this.ZERO;
-              value = BI.C(value);
-            case "bigint":
-              if (!value)
-                return this.ZERO;
-              if (value < BI.MIN)
-                throw new Error("signed long too small");
-              if (value > BI.MAX)
-                throw new Error("signed long too large");
-              BI.V.setBigInt64(0, value, true);
-              return new _PbLong(BI.V.getInt32(0, true), BI.V.getInt32(4, true));
+      parsedUrl.pathname = newPath;
+      return parsedUrl.toString();
+    }
+    function calculateQueryParameters(operationSpec, operationArguments, fallbackObject) {
+      const result = /* @__PURE__ */ new Map();
+      const sequenceParams = /* @__PURE__ */ new Set();
+      if (operationSpec.queryParameters?.length) {
+        for (const queryParameter of operationSpec.queryParameters) {
+          if (queryParameter.mapper.type.name === "Sequence" && queryParameter.mapper.serializedName) {
+            sequenceParams.add(queryParameter.mapper.serializedName);
           }
-        else
-          switch (typeof value) {
-            case "string":
-              if (value == "0")
-                return this.ZERO;
-              value = value.trim();
-              if (!RE_DECIMAL_STR.test(value))
-                throw new Error("string is no integer");
-              let [minus, lo, hi] = goog_varint_1.int64fromString(value);
-              if (minus) {
-                if (hi > HALF_2_PWR_32 || hi == HALF_2_PWR_32 && lo != 0)
-                  throw new Error("signed long too small");
-              } else if (hi >= HALF_2_PWR_32)
-                throw new Error("signed long too large");
-              let pbl = new _PbLong(lo, hi);
-              return minus ? pbl.negate() : pbl;
-            case "number":
-              if (value == 0)
-                return this.ZERO;
-              if (!Number.isSafeInteger(value))
-                throw new Error("number is no integer");
-              return value > 0 ? new _PbLong(value, value / TWO_PWR_32_DBL) : new _PbLong(-value, -value / TWO_PWR_32_DBL).negate();
+          let queryParameterValue = (0, operationHelpers_js_1.getOperationArgumentValueFromParameter)(operationArguments, queryParameter, fallbackObject);
+          if (queryParameterValue !== void 0 && queryParameterValue !== null || queryParameter.mapper.required) {
+            queryParameterValue = operationSpec.serializer.serialize(queryParameter.mapper, queryParameterValue, (0, interfaceHelpers_js_1.getPathStringFromParameter)(queryParameter));
+            const delimiter = queryParameter.collectionFormat ? CollectionFormatToDelimiterMap[queryParameter.collectionFormat] : "";
+            if (Array.isArray(queryParameterValue)) {
+              queryParameterValue = queryParameterValue.map((item) => {
+                if (item === null || item === void 0) {
+                  return "";
+                }
+                return item;
+              });
+            }
+            if (queryParameter.collectionFormat === "Multi" && queryParameterValue.length === 0) {
+              continue;
+            } else if (Array.isArray(queryParameterValue) && (queryParameter.collectionFormat === "SSV" || queryParameter.collectionFormat === "TSV")) {
+              queryParameterValue = queryParameterValue.join(delimiter);
+            }
+            if (!queryParameter.skipEncoding) {
+              if (Array.isArray(queryParameterValue)) {
+                queryParameterValue = queryParameterValue.map((item) => {
+                  return encodeURIComponent(item);
+                });
+              } else {
+                queryParameterValue = encodeURIComponent(queryParameterValue);
+              }
+            }
+            if (Array.isArray(queryParameterValue) && (queryParameter.collectionFormat === "CSV" || queryParameter.collectionFormat === "Pipes")) {
+              queryParameterValue = queryParameterValue.join(delimiter);
+            }
+            result.set(queryParameter.mapper.serializedName || (0, interfaceHelpers_js_1.getPathStringFromParameter)(queryParameter), queryParameterValue);
           }
-        throw new Error("unknown value " + typeof value);
-      }
-      /**
-       * Do we have a minus sign?
-       */
-      isNegative() {
-        return (this.hi & HALF_2_PWR_32) !== 0;
+        }
       }
-      /**
-       * Negate two's complement.
-       * Invert all the bits and add one to the result.
-       */
-      negate() {
-        let hi = ~this.hi, lo = this.lo;
-        if (lo)
-          lo = ~lo + 1;
-        else
-          hi += 1;
-        return new _PbLong(lo, hi);
+      return {
+        queryParams: result,
+        sequenceParams
+      };
+    }
+    function simpleParseQueryParams(queryString) {
+      const result = /* @__PURE__ */ new Map();
+      if (!queryString || queryString[0] !== "?") {
+        return result;
       }
-      /**
-       * Convert to decimal string.
-       */
-      toString() {
-        if (BI)
-          return this.toBigInt().toString();
-        if (this.isNegative()) {
-          let n = this.negate();
-          return "-" + goog_varint_1.int64toString(n.lo, n.hi);
+      queryString = queryString.slice(1);
+      const pairs2 = queryString.split("&");
+      for (const pair of pairs2) {
+        const [name, value] = pair.split("=", 2);
+        const existingValue = result.get(name);
+        if (existingValue) {
+          if (Array.isArray(existingValue)) {
+            existingValue.push(value);
+          } else {
+            result.set(name, [existingValue, value]);
+          }
+        } else {
+          result.set(name, value);
         }
-        return goog_varint_1.int64toString(this.lo, this.hi);
-      }
-      /**
-       * Convert to native bigint.
-       */
-      toBigInt() {
-        assertBi(BI);
-        BI.V.setInt32(0, this.lo, true);
-        BI.V.setInt32(4, this.hi, true);
-        return BI.V.getBigInt64(0, true);
       }
-    };
-    exports2.PbLong = PbLong;
-    PbLong.ZERO = new PbLong(0, 0);
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/binary-reader.js
-var require_binary_reader = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/binary-reader.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BinaryReader = exports2.binaryReadOptions = void 0;
-    var binary_format_contract_1 = require_binary_format_contract();
-    var pb_long_1 = require_pb_long();
-    var goog_varint_1 = require_goog_varint();
-    var defaultsRead = {
-      readUnknownField: true,
-      readerFactory: (bytes) => new BinaryReader(bytes)
-    };
-    function binaryReadOptions(options) {
-      return options ? Object.assign(Object.assign({}, defaultsRead), options) : defaultsRead;
+      return result;
     }
-    exports2.binaryReadOptions = binaryReadOptions;
-    var BinaryReader = class {
-      constructor(buf, textDecoder) {
-        this.varint64 = goog_varint_1.varint64read;
-        this.uint32 = goog_varint_1.varint32read;
-        this.buf = buf;
-        this.len = buf.length;
-        this.pos = 0;
-        this.view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
-        this.textDecoder = textDecoder !== null && textDecoder !== void 0 ? textDecoder : new TextDecoder("utf-8", {
-          fatal: true,
-          ignoreBOM: true
-        });
+    function appendQueryParams(url, queryParams, sequenceParams, noOverwrite = false) {
+      if (queryParams.size === 0) {
+        return url;
       }
-      /**
-       * Reads a tag - field number and wire type.
-       */
-      tag() {
-        let tag = this.uint32(), fieldNo = tag >>> 3, wireType = tag & 7;
-        if (fieldNo <= 0 || wireType < 0 || wireType > 5)
-          throw new Error("illegal tag: field no " + fieldNo + " wire type " + wireType);
-        return [fieldNo, wireType];
+      const parsedUrl = new URL(url);
+      const combinedParams = simpleParseQueryParams(parsedUrl.search);
+      for (const [name, value] of queryParams) {
+        const existingValue = combinedParams.get(name);
+        if (Array.isArray(existingValue)) {
+          if (Array.isArray(value)) {
+            existingValue.push(...value);
+            const valueSet = new Set(existingValue);
+            combinedParams.set(name, Array.from(valueSet));
+          } else {
+            existingValue.push(value);
+          }
+        } else if (existingValue) {
+          if (Array.isArray(value)) {
+            value.unshift(existingValue);
+          } else if (sequenceParams.has(name)) {
+            combinedParams.set(name, [existingValue, value]);
+          }
+          if (!noOverwrite) {
+            combinedParams.set(name, value);
+          }
+        } else {
+          combinedParams.set(name, value);
+        }
       }
-      /**
-       * Skip one element on the wire and return the skipped data.
-       * Supports WireType.StartGroup since v2.0.0-alpha.23.
-       */
-      skip(wireType) {
-        let start = this.pos;
-        switch (wireType) {
-          case binary_format_contract_1.WireType.Varint:
-            while (this.buf[this.pos++] & 128) {
-            }
-            break;
-          case binary_format_contract_1.WireType.Bit64:
-            this.pos += 4;
-          case binary_format_contract_1.WireType.Bit32:
-            this.pos += 4;
-            break;
-          case binary_format_contract_1.WireType.LengthDelimited:
-            let len = this.uint32();
-            this.pos += len;
-            break;
-          case binary_format_contract_1.WireType.StartGroup:
-            let t;
-            while ((t = this.tag()[1]) !== binary_format_contract_1.WireType.EndGroup) {
-              this.skip(t);
-            }
-            break;
-          default:
-            throw new Error("cant skip wire type " + wireType);
+      const searchPieces = [];
+      for (const [name, value] of combinedParams) {
+        if (typeof value === "string") {
+          searchPieces.push(`${name}=${value}`);
+        } else if (Array.isArray(value)) {
+          for (const subValue of value) {
+            searchPieces.push(`${name}=${subValue}`);
+          }
+        } else {
+          searchPieces.push(`${name}=${value}`);
         }
-        this.assertBounds();
-        return this.buf.subarray(start, this.pos);
       }
+      parsedUrl.search = searchPieces.length ? `?${searchPieces.join("&")}` : "";
+      return parsedUrl.toString();
+    }
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/log.js
+var require_log4 = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/log.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.logger = void 0;
+    var logger_1 = require_commonjs4();
+    exports2.logger = (0, logger_1.createClientLogger)("core-client");
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/serviceClient.js
+var require_serviceClient = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/serviceClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ServiceClient = void 0;
+    var core_rest_pipeline_1 = require_commonjs8();
+    var pipeline_js_1 = require_pipeline3();
+    var utils_js_1 = require_utils6();
+    var httpClientCache_js_1 = require_httpClientCache();
+    var operationHelpers_js_1 = require_operationHelpers();
+    var urlHelpers_js_1 = require_urlHelpers2();
+    var interfaceHelpers_js_1 = require_interfaceHelpers();
+    var log_js_1 = require_log4();
+    var ServiceClient = class {
       /**
-       * Throws error if position in byte array is out of range.
+       * If specified, this is the base URI that requests will be made against for this ServiceClient.
+       * If it is not specified, then all OperationSpecs must contain a baseUrl property.
        */
-      assertBounds() {
-        if (this.pos > this.len)
-          throw new RangeError("premature EOF");
-      }
+      _endpoint;
       /**
-       * Read a `int32` field, a signed 32 bit varint.
+       * The default request content type for the service.
+       * Used if no requestContentType is present on an OperationSpec.
        */
-      int32() {
-        return this.uint32() | 0;
-      }
+      _requestContentType;
       /**
-       * Read a `sint32` field, a signed, zigzag-encoded 32-bit varint.
+       * Set to true if the request is sent over HTTP instead of HTTPS
        */
-      sint32() {
-        let zze = this.uint32();
-        return zze >>> 1 ^ -(zze & 1);
-      }
+      _allowInsecureConnection;
       /**
-       * Read a `int64` field, a signed 64-bit varint.
+       * The HTTP client that will be used to send requests.
        */
-      int64() {
-        return new pb_long_1.PbLong(...this.varint64());
-      }
+      _httpClient;
       /**
-       * Read a `uint64` field, an unsigned 64-bit varint.
+       * The pipeline used by this client to make requests
        */
-      uint64() {
-        return new pb_long_1.PbULong(...this.varint64());
-      }
+      pipeline;
       /**
-       * Read a `sint64` field, a signed, zig-zag-encoded 64-bit varint.
+       * The ServiceClient constructor
+       * @param options - The service client options that govern the behavior of the client.
        */
-      sint64() {
-        let [lo, hi] = this.varint64();
-        let s = -(lo & 1);
-        lo = (lo >>> 1 | (hi & 1) << 31) ^ s;
-        hi = hi >>> 1 ^ s;
-        return new pb_long_1.PbLong(lo, hi);
+      constructor(options = {}) {
+        this._requestContentType = options.requestContentType;
+        this._endpoint = options.endpoint ?? options.baseUri;
+        if (options.baseUri) {
+          log_js_1.logger.warning("The baseUri option for SDK Clients has been deprecated, please use endpoint instead.");
+        }
+        this._allowInsecureConnection = options.allowInsecureConnection;
+        this._httpClient = options.httpClient || (0, httpClientCache_js_1.getCachedDefaultHttpClient)();
+        this.pipeline = options.pipeline || createDefaultPipeline(options);
+        if (options.additionalPolicies?.length) {
+          for (const { policy, position } of options.additionalPolicies) {
+            const afterPhase = position === "perRetry" ? "Sign" : void 0;
+            this.pipeline.addPolicy(policy, {
+              afterPhase
+            });
+          }
+        }
       }
       /**
-       * Read a `bool` field, a variant.
+       * Send the provided httpRequest.
        */
-      bool() {
-        let [lo, hi] = this.varint64();
-        return lo !== 0 || hi !== 0;
+      async sendRequest(request2) {
+        return this.pipeline.sendRequest(this._httpClient, request2);
       }
       /**
-       * Read a `fixed32` field, an unsigned, fixed-length 32-bit integer.
+       * Send an HTTP request that is populated using the provided OperationSpec.
+       * @typeParam T - The typed result of the request, based on the OperationSpec.
+       * @param operationArguments - The arguments that the HTTP request's templated values will be populated from.
+       * @param operationSpec - The OperationSpec to use to populate the httpRequest.
        */
-      fixed32() {
-        return this.view.getUint32((this.pos += 4) - 4, true);
+      async sendOperationRequest(operationArguments, operationSpec) {
+        const endpoint2 = operationSpec.baseUrl || this._endpoint;
+        if (!endpoint2) {
+          throw new Error("If operationSpec.baseUrl is not specified, then the ServiceClient must have a endpoint string property that contains the base URL to use.");
+        }
+        const url = (0, urlHelpers_js_1.getRequestUrl)(endpoint2, operationSpec, operationArguments, this);
+        const request2 = (0, core_rest_pipeline_1.createPipelineRequest)({
+          url
+        });
+        request2.method = operationSpec.httpMethod;
+        const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(request2);
+        operationInfo.operationSpec = operationSpec;
+        operationInfo.operationArguments = operationArguments;
+        const contentType = operationSpec.contentType || this._requestContentType;
+        if (contentType && operationSpec.requestBody) {
+          request2.headers.set("Content-Type", contentType);
+        }
+        const options = operationArguments.options;
+        if (options) {
+          const requestOptions = options.requestOptions;
+          if (requestOptions) {
+            if (requestOptions.timeout) {
+              request2.timeout = requestOptions.timeout;
+            }
+            if (requestOptions.onUploadProgress) {
+              request2.onUploadProgress = requestOptions.onUploadProgress;
+            }
+            if (requestOptions.onDownloadProgress) {
+              request2.onDownloadProgress = requestOptions.onDownloadProgress;
+            }
+            if (requestOptions.shouldDeserialize !== void 0) {
+              operationInfo.shouldDeserialize = requestOptions.shouldDeserialize;
+            }
+            if (requestOptions.allowInsecureConnection) {
+              request2.allowInsecureConnection = true;
+            }
+          }
+          if (options.abortSignal) {
+            request2.abortSignal = options.abortSignal;
+          }
+          if (options.tracingOptions) {
+            request2.tracingOptions = options.tracingOptions;
+          }
+        }
+        if (this._allowInsecureConnection) {
+          request2.allowInsecureConnection = true;
+        }
+        if (request2.streamResponseStatusCodes === void 0) {
+          request2.streamResponseStatusCodes = (0, interfaceHelpers_js_1.getStreamingResponseStatusCodes)(operationSpec);
+        }
+        try {
+          const rawResponse = await this.sendRequest(request2);
+          const flatResponse = (0, utils_js_1.flattenResponse)(rawResponse, operationSpec.responses[rawResponse.status]);
+          if (options?.onResponse) {
+            options.onResponse(rawResponse, flatResponse);
+          }
+          return flatResponse;
+        } catch (error3) {
+          if (typeof error3 === "object" && error3?.response) {
+            const rawResponse = error3.response;
+            const flatResponse = (0, utils_js_1.flattenResponse)(rawResponse, operationSpec.responses[error3.statusCode] || operationSpec.responses["default"]);
+            error3.details = flatResponse;
+            if (options?.onResponse) {
+              options.onResponse(rawResponse, flatResponse, error3);
+            }
+          }
+          throw error3;
+        }
       }
-      /**
-       * Read a `sfixed32` field, a signed, fixed-length 32-bit integer.
-       */
-      sfixed32() {
-        return this.view.getInt32((this.pos += 4) - 4, true);
+    };
+    exports2.ServiceClient = ServiceClient;
+    function createDefaultPipeline(options) {
+      const credentialScopes = getCredentialScopes(options);
+      const credentialOptions = options.credential && credentialScopes ? { credentialScopes, credential: options.credential } : void 0;
+      return (0, pipeline_js_1.createClientPipeline)({
+        ...options,
+        credentialOptions
+      });
+    }
+    function getCredentialScopes(options) {
+      if (options.credentialScopes) {
+        return options.credentialScopes;
       }
-      /**
-       * Read a `fixed64` field, an unsigned, fixed-length 64 bit integer.
-       */
-      fixed64() {
-        return new pb_long_1.PbULong(this.sfixed32(), this.sfixed32());
+      if (options.endpoint) {
+        return `${options.endpoint}/.default`;
       }
-      /**
-       * Read a `fixed64` field, a signed, fixed-length 64-bit integer.
-       */
-      sfixed64() {
-        return new pb_long_1.PbLong(this.sfixed32(), this.sfixed32());
+      if (options.baseUri) {
+        return `${options.baseUri}/.default`;
       }
-      /**
-       * Read a `float` field, 32-bit floating point number.
-       */
-      float() {
-        return this.view.getFloat32((this.pos += 4) - 4, true);
+      if (options.credential && !options.credentialScopes) {
+        throw new Error(`When using credentials, the ServiceClientOptions must contain either a endpoint or a credentialScopes. Unable to create a bearerTokenAuthenticationPolicy`);
       }
-      /**
-       * Read a `double` field, a 64-bit floating point number.
-       */
-      double() {
-        return this.view.getFloat64((this.pos += 8) - 8, true);
+      return void 0;
+    }
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/authorizeRequestOnClaimChallenge.js
+var require_authorizeRequestOnClaimChallenge = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/authorizeRequestOnClaimChallenge.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.parseCAEChallenge = parseCAEChallenge;
+    exports2.authorizeRequestOnClaimChallenge = authorizeRequestOnClaimChallenge;
+    var log_js_1 = require_log4();
+    var base64_js_1 = require_base642();
+    function parseCAEChallenge(challenges) {
+      const bearerChallenges = `, ${challenges.trim()}`.split(", Bearer ").filter((x) => x);
+      return bearerChallenges.map((challenge) => {
+        const challengeParts = `${challenge.trim()}, `.split('", ').filter((x) => x);
+        const keyValuePairs = challengeParts.map((keyValue) => (([key, value]) => ({ [key]: value }))(keyValue.trim().split('="')));
+        return keyValuePairs.reduce((a, b) => ({ ...a, ...b }), {});
+      });
+    }
+    async function authorizeRequestOnClaimChallenge(onChallengeOptions) {
+      const { scopes, response } = onChallengeOptions;
+      const logger = onChallengeOptions.logger || log_js_1.logger;
+      const challenge = response.headers.get("WWW-Authenticate");
+      if (!challenge) {
+        logger.info(`The WWW-Authenticate header was missing. Failed to perform the Continuous Access Evaluation authentication flow.`);
+        return false;
       }
-      /**
-       * Read a `bytes` field, length-delimited arbitrary data.
-       */
-      bytes() {
-        let len = this.uint32();
-        let start = this.pos;
-        this.pos += len;
-        this.assertBounds();
-        return this.buf.subarray(start, start + len);
+      const challenges = parseCAEChallenge(challenge) || [];
+      const parsedChallenge = challenges.find((x) => x.claims);
+      if (!parsedChallenge) {
+        logger.info(`The WWW-Authenticate header was missing the necessary "claims" to perform the Continuous Access Evaluation authentication flow.`);
+        return false;
       }
-      /**
-       * Read a `string` field, length-delimited data converted to UTF-8 text.
-       */
-      string() {
-        return this.textDecoder.decode(this.bytes());
+      const accessToken = await onChallengeOptions.getAccessToken(parsedChallenge.scope ? [parsedChallenge.scope] : scopes, {
+        claims: (0, base64_js_1.decodeStringToString)(parsedChallenge.claims)
+      });
+      if (!accessToken) {
+        return false;
       }
-    };
-    exports2.BinaryReader = BinaryReader;
+      onChallengeOptions.request.headers.set("Authorization", `${accessToken.tokenType ?? "Bearer"} ${accessToken.token}`);
+      return true;
+    }
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/assert.js
-var require_assert = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/assert.js"(exports2) {
+// node_modules/@azure/core-client/dist/commonjs/authorizeRequestOnTenantChallenge.js
+var require_authorizeRequestOnTenantChallenge = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/authorizeRequestOnTenantChallenge.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.assertFloat32 = exports2.assertUInt32 = exports2.assertInt32 = exports2.assertNever = exports2.assert = void 0;
-    function assert(condition, msg) {
-      if (!condition) {
-        throw new Error(msg);
+    exports2.authorizeRequestOnTenantChallenge = void 0;
+    var Constants = {
+      DefaultScope: "/.default",
+      /**
+       * Defines constants for use with HTTP headers.
+       */
+      HeaderConstants: {
+        /**
+         * The Authorization header.
+         */
+        AUTHORIZATION: "authorization"
       }
+    };
+    function isUuid(text) {
+      return /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/.test(text);
     }
-    exports2.assert = assert;
-    function assertNever2(value, msg) {
-      throw new Error(msg !== null && msg !== void 0 ? msg : "Unexpected object: " + value);
+    var authorizeRequestOnTenantChallenge = async (challengeOptions) => {
+      const requestOptions = requestToOptions(challengeOptions.request);
+      const challenge = getChallenge(challengeOptions.response);
+      if (challenge) {
+        const challengeInfo = parseChallenge(challenge);
+        const challengeScopes = buildScopes(challengeOptions, challengeInfo);
+        const tenantId = extractTenantId(challengeInfo);
+        if (!tenantId) {
+          return false;
+        }
+        const accessToken = await challengeOptions.getAccessToken(challengeScopes, {
+          ...requestOptions,
+          tenantId
+        });
+        if (!accessToken) {
+          return false;
+        }
+        challengeOptions.request.headers.set(Constants.HeaderConstants.AUTHORIZATION, `${accessToken.tokenType ?? "Bearer"} ${accessToken.token}`);
+        return true;
+      }
+      return false;
+    };
+    exports2.authorizeRequestOnTenantChallenge = authorizeRequestOnTenantChallenge;
+    function extractTenantId(challengeInfo) {
+      const parsedAuthUri = new URL(challengeInfo.authorization_uri);
+      const pathSegments = parsedAuthUri.pathname.split("/");
+      const tenantId = pathSegments[1];
+      if (tenantId && isUuid(tenantId)) {
+        return tenantId;
+      }
+      return void 0;
     }
-    exports2.assertNever = assertNever2;
-    var FLOAT32_MAX = 34028234663852886e22;
-    var FLOAT32_MIN = -34028234663852886e22;
-    var UINT32_MAX = 4294967295;
-    var INT32_MAX = 2147483647;
-    var INT32_MIN = -2147483648;
-    function assertInt32(arg) {
-      if (typeof arg !== "number")
-        throw new Error("invalid int 32: " + typeof arg);
-      if (!Number.isInteger(arg) || arg > INT32_MAX || arg < INT32_MIN)
-        throw new Error("invalid int 32: " + arg);
+    function buildScopes(challengeOptions, challengeInfo) {
+      if (!challengeInfo.resource_id) {
+        return challengeOptions.scopes;
+      }
+      const challengeScopes = new URL(challengeInfo.resource_id);
+      challengeScopes.pathname = Constants.DefaultScope;
+      let scope = challengeScopes.toString();
+      if (scope === "https://disk.azure.com/.default") {
+        scope = "https://disk.azure.com//.default";
+      }
+      return [scope];
     }
-    exports2.assertInt32 = assertInt32;
-    function assertUInt32(arg) {
-      if (typeof arg !== "number")
-        throw new Error("invalid uint 32: " + typeof arg);
-      if (!Number.isInteger(arg) || arg > UINT32_MAX || arg < 0)
-        throw new Error("invalid uint 32: " + arg);
+    function getChallenge(response) {
+      const challenge = response.headers.get("WWW-Authenticate");
+      if (response.status === 401 && challenge) {
+        return challenge;
+      }
+      return;
     }
-    exports2.assertUInt32 = assertUInt32;
-    function assertFloat32(arg) {
-      if (typeof arg !== "number")
-        throw new Error("invalid float 32: " + typeof arg);
-      if (!Number.isFinite(arg))
-        return;
-      if (arg > FLOAT32_MAX || arg < FLOAT32_MIN)
-        throw new Error("invalid float 32: " + arg);
+    function parseChallenge(challenge) {
+      const bearerChallenge = challenge.slice("Bearer ".length);
+      const challengeParts = `${bearerChallenge.trim()} `.split(" ").filter((x) => x);
+      const keyValuePairs = challengeParts.map((keyValue) => (([key, value]) => ({ [key]: value }))(keyValue.trim().split("=")));
+      return keyValuePairs.reduce((a, b) => ({ ...a, ...b }), {});
+    }
+    function requestToOptions(request2) {
+      return {
+        abortSignal: request2.abortSignal,
+        requestOptions: {
+          timeout: request2.timeout
+        },
+        tracingOptions: request2.tracingOptions
+      };
     }
-    exports2.assertFloat32 = assertFloat32;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/binary-writer.js
-var require_binary_writer = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/binary-writer.js"(exports2) {
+// node_modules/@azure/core-client/dist/commonjs/index.js
+var require_commonjs10 = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/index.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BinaryWriter = exports2.binaryWriteOptions = void 0;
-    var pb_long_1 = require_pb_long();
-    var goog_varint_1 = require_goog_varint();
-    var assert_1 = require_assert();
-    var defaultsWrite = {
-      writeUnknownFields: true,
-      writerFactory: () => new BinaryWriter()
-    };
-    function binaryWriteOptions(options) {
-      return options ? Object.assign(Object.assign({}, defaultsWrite), options) : defaultsWrite;
-    }
-    exports2.binaryWriteOptions = binaryWriteOptions;
-    var BinaryWriter = class {
-      constructor(textEncoder) {
-        this.stack = [];
-        this.textEncoder = textEncoder !== null && textEncoder !== void 0 ? textEncoder : new TextEncoder();
-        this.chunks = [];
-        this.buf = [];
-      }
-      /**
-       * Return all bytes written and reset this writer.
-       */
-      finish() {
-        this.chunks.push(new Uint8Array(this.buf));
-        let len = 0;
-        for (let i = 0; i < this.chunks.length; i++)
-          len += this.chunks[i].length;
-        let bytes = new Uint8Array(len);
-        let offset = 0;
-        for (let i = 0; i < this.chunks.length; i++) {
-          bytes.set(this.chunks[i], offset);
-          offset += this.chunks[i].length;
+    exports2.authorizeRequestOnTenantChallenge = exports2.authorizeRequestOnClaimChallenge = exports2.serializationPolicyName = exports2.serializationPolicy = exports2.deserializationPolicyName = exports2.deserializationPolicy = exports2.XML_CHARKEY = exports2.XML_ATTRKEY = exports2.createClientPipeline = exports2.ServiceClient = exports2.MapperTypeNames = exports2.createSerializer = void 0;
+    var serializer_js_1 = require_serializer();
+    Object.defineProperty(exports2, "createSerializer", { enumerable: true, get: function() {
+      return serializer_js_1.createSerializer;
+    } });
+    Object.defineProperty(exports2, "MapperTypeNames", { enumerable: true, get: function() {
+      return serializer_js_1.MapperTypeNames;
+    } });
+    var serviceClient_js_1 = require_serviceClient();
+    Object.defineProperty(exports2, "ServiceClient", { enumerable: true, get: function() {
+      return serviceClient_js_1.ServiceClient;
+    } });
+    var pipeline_js_1 = require_pipeline3();
+    Object.defineProperty(exports2, "createClientPipeline", { enumerable: true, get: function() {
+      return pipeline_js_1.createClientPipeline;
+    } });
+    var interfaces_js_1 = require_interfaces();
+    Object.defineProperty(exports2, "XML_ATTRKEY", { enumerable: true, get: function() {
+      return interfaces_js_1.XML_ATTRKEY;
+    } });
+    Object.defineProperty(exports2, "XML_CHARKEY", { enumerable: true, get: function() {
+      return interfaces_js_1.XML_CHARKEY;
+    } });
+    var deserializationPolicy_js_1 = require_deserializationPolicy();
+    Object.defineProperty(exports2, "deserializationPolicy", { enumerable: true, get: function() {
+      return deserializationPolicy_js_1.deserializationPolicy;
+    } });
+    Object.defineProperty(exports2, "deserializationPolicyName", { enumerable: true, get: function() {
+      return deserializationPolicy_js_1.deserializationPolicyName;
+    } });
+    var serializationPolicy_js_1 = require_serializationPolicy();
+    Object.defineProperty(exports2, "serializationPolicy", { enumerable: true, get: function() {
+      return serializationPolicy_js_1.serializationPolicy;
+    } });
+    Object.defineProperty(exports2, "serializationPolicyName", { enumerable: true, get: function() {
+      return serializationPolicy_js_1.serializationPolicyName;
+    } });
+    var authorizeRequestOnClaimChallenge_js_1 = require_authorizeRequestOnClaimChallenge();
+    Object.defineProperty(exports2, "authorizeRequestOnClaimChallenge", { enumerable: true, get: function() {
+      return authorizeRequestOnClaimChallenge_js_1.authorizeRequestOnClaimChallenge;
+    } });
+    var authorizeRequestOnTenantChallenge_js_1 = require_authorizeRequestOnTenantChallenge();
+    Object.defineProperty(exports2, "authorizeRequestOnTenantChallenge", { enumerable: true, get: function() {
+      return authorizeRequestOnTenantChallenge_js_1.authorizeRequestOnTenantChallenge;
+    } });
+  }
+});
+
+// node_modules/@azure/core-http-compat/dist/commonjs/util.js
+var require_util18 = __commonJS({
+  "node_modules/@azure/core-http-compat/dist/commonjs/util.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.HttpHeaders = void 0;
+    exports2.toPipelineRequest = toPipelineRequest;
+    exports2.toWebResourceLike = toWebResourceLike;
+    exports2.toHttpHeadersLike = toHttpHeadersLike;
+    var core_rest_pipeline_1 = require_commonjs8();
+    var originalRequestSymbol = /* @__PURE__ */ Symbol("Original PipelineRequest");
+    var originalClientRequestSymbol = /* @__PURE__ */ Symbol.for("@azure/core-client original request");
+    function toPipelineRequest(webResource, options = {}) {
+      const compatWebResource = webResource;
+      const request2 = compatWebResource[originalRequestSymbol];
+      const headers = (0, core_rest_pipeline_1.createHttpHeaders)(webResource.headers.toJson({ preserveCase: true }));
+      if (request2) {
+        request2.headers = headers;
+        return request2;
+      } else {
+        const newRequest = (0, core_rest_pipeline_1.createPipelineRequest)({
+          url: webResource.url,
+          method: webResource.method,
+          headers,
+          withCredentials: webResource.withCredentials,
+          timeout: webResource.timeout,
+          requestId: webResource.requestId,
+          abortSignal: webResource.abortSignal,
+          body: webResource.body,
+          formData: webResource.formData,
+          disableKeepAlive: !!webResource.keepAlive,
+          onDownloadProgress: webResource.onDownloadProgress,
+          onUploadProgress: webResource.onUploadProgress,
+          proxySettings: webResource.proxySettings,
+          streamResponseStatusCodes: webResource.streamResponseStatusCodes,
+          agent: webResource.agent,
+          requestOverrides: webResource.requestOverrides
+        });
+        if (options.originalRequest) {
+          newRequest[originalClientRequestSymbol] = options.originalRequest;
         }
-        this.chunks = [];
-        return bytes;
-      }
-      /**
-       * Start a new fork for length-delimited data like a message
-       * or a packed repeated field.
-       *
-       * Must be joined later with `join()`.
-       */
-      fork() {
-        this.stack.push({ chunks: this.chunks, buf: this.buf });
-        this.chunks = [];
-        this.buf = [];
-        return this;
-      }
-      /**
-       * Join the last fork. Write its length and bytes, then
-       * return to the previous state.
-       */
-      join() {
-        let chunk = this.finish();
-        let prev = this.stack.pop();
-        if (!prev)
-          throw new Error("invalid state, fork stack empty");
-        this.chunks = prev.chunks;
-        this.buf = prev.buf;
-        this.uint32(chunk.byteLength);
-        return this.raw(chunk);
-      }
-      /**
-       * Writes a tag (field number and wire type).
-       *
-       * Equivalent to `uint32( (fieldNo << 3 | type) >>> 0 )`.
-       *
-       * Generated code should compute the tag ahead of time and call `uint32()`.
-       */
-      tag(fieldNo, type2) {
-        return this.uint32((fieldNo << 3 | type2) >>> 0);
+        return newRequest;
       }
-      /**
-       * Write a chunk of raw bytes.
-       */
-      raw(chunk) {
-        if (this.buf.length) {
-          this.chunks.push(new Uint8Array(this.buf));
-          this.buf = [];
+    }
+    function toWebResourceLike(request2, options) {
+      const originalRequest = options?.originalRequest ?? request2;
+      const webResource = {
+        url: request2.url,
+        method: request2.method,
+        headers: toHttpHeadersLike(request2.headers),
+        withCredentials: request2.withCredentials,
+        timeout: request2.timeout,
+        requestId: request2.headers.get("x-ms-client-request-id") || request2.requestId,
+        abortSignal: request2.abortSignal,
+        body: request2.body,
+        formData: request2.formData,
+        keepAlive: !!request2.disableKeepAlive,
+        onDownloadProgress: request2.onDownloadProgress,
+        onUploadProgress: request2.onUploadProgress,
+        proxySettings: request2.proxySettings,
+        streamResponseStatusCodes: request2.streamResponseStatusCodes,
+        agent: request2.agent,
+        requestOverrides: request2.requestOverrides,
+        clone() {
+          throw new Error("Cannot clone a non-proxied WebResourceLike");
+        },
+        prepare() {
+          throw new Error("WebResourceLike.prepare() is not supported by @azure/core-http-compat");
+        },
+        validateRequestProperties() {
         }
-        this.chunks.push(chunk);
-        return this;
+      };
+      if (options?.createProxy) {
+        return new Proxy(webResource, {
+          get(target, prop, receiver) {
+            if (prop === originalRequestSymbol) {
+              return request2;
+            } else if (prop === "clone") {
+              return () => {
+                return toWebResourceLike(toPipelineRequest(webResource, { originalRequest }), {
+                  createProxy: true,
+                  originalRequest
+                });
+              };
+            }
+            return Reflect.get(target, prop, receiver);
+          },
+          set(target, prop, value, receiver) {
+            if (prop === "keepAlive") {
+              request2.disableKeepAlive = !value;
+            }
+            const passThroughProps = [
+              "url",
+              "method",
+              "withCredentials",
+              "timeout",
+              "requestId",
+              "abortSignal",
+              "body",
+              "formData",
+              "onDownloadProgress",
+              "onUploadProgress",
+              "proxySettings",
+              "streamResponseStatusCodes",
+              "agent",
+              "requestOverrides"
+            ];
+            if (typeof prop === "string" && passThroughProps.includes(prop)) {
+              request2[prop] = value;
+            }
+            return Reflect.set(target, prop, value, receiver);
+          }
+        });
+      } else {
+        return webResource;
       }
-      /**
-       * Write a `uint32` value, an unsigned 32 bit varint.
-       */
-      uint32(value) {
-        assert_1.assertUInt32(value);
-        while (value > 127) {
-          this.buf.push(value & 127 | 128);
-          value = value >>> 7;
+    }
+    function toHttpHeadersLike(headers) {
+      return new HttpHeaders(headers.toJSON({ preserveCase: true }));
+    }
+    function getHeaderKey(headerName) {
+      return headerName.toLowerCase();
+    }
+    var HttpHeaders = class _HttpHeaders {
+      _headersMap;
+      constructor(rawHeaders) {
+        this._headersMap = {};
+        if (rawHeaders) {
+          for (const headerName in rawHeaders) {
+            this.set(headerName, rawHeaders[headerName]);
+          }
         }
-        this.buf.push(value);
-        return this;
-      }
-      /**
-       * Write a `int32` value, a signed 32 bit varint.
-       */
-      int32(value) {
-        assert_1.assertInt32(value);
-        goog_varint_1.varint32write(value, this.buf);
-        return this;
-      }
-      /**
-       * Write a `bool` value, a variant.
-       */
-      bool(value) {
-        this.buf.push(value ? 1 : 0);
-        return this;
       }
       /**
-       * Write a `bytes` value, length-delimited arbitrary data.
-       */
-      bytes(value) {
-        this.uint32(value.byteLength);
-        return this.raw(value);
-      }
-      /**
-       * Write a `string` value, length-delimited data converted to UTF-8 text.
+       * Set a header in this collection with the provided name and value. The name is
+       * case-insensitive.
+       * @param headerName - The name of the header to set. This value is case-insensitive.
+       * @param headerValue - The value of the header to set.
        */
-      string(value) {
-        let chunk = this.textEncoder.encode(value);
-        this.uint32(chunk.byteLength);
-        return this.raw(chunk);
+      set(headerName, headerValue) {
+        this._headersMap[getHeaderKey(headerName)] = {
+          name: headerName,
+          value: headerValue.toString()
+        };
       }
       /**
-       * Write a `float` value, 32-bit floating point number.
+       * Get the header value for the provided header name, or undefined if no header exists in this
+       * collection with the provided name.
+       * @param headerName - The name of the header.
        */
-      float(value) {
-        assert_1.assertFloat32(value);
-        let chunk = new Uint8Array(4);
-        new DataView(chunk.buffer).setFloat32(0, value, true);
-        return this.raw(chunk);
+      get(headerName) {
+        const header = this._headersMap[getHeaderKey(headerName)];
+        return !header ? void 0 : header.value;
       }
       /**
-       * Write a `double` value, a 64-bit floating point number.
+       * Get whether or not this header collection contains a header entry for the provided header name.
        */
-      double(value) {
-        let chunk = new Uint8Array(8);
-        new DataView(chunk.buffer).setFloat64(0, value, true);
-        return this.raw(chunk);
+      contains(headerName) {
+        return !!this._headersMap[getHeaderKey(headerName)];
       }
       /**
-       * Write a `fixed32` value, an unsigned, fixed-length 32-bit integer.
+       * Remove the header with the provided headerName. Return whether or not the header existed and
+       * was removed.
+       * @param headerName - The name of the header to remove.
        */
-      fixed32(value) {
-        assert_1.assertUInt32(value);
-        let chunk = new Uint8Array(4);
-        new DataView(chunk.buffer).setUint32(0, value, true);
-        return this.raw(chunk);
+      remove(headerName) {
+        const result = this.contains(headerName);
+        delete this._headersMap[getHeaderKey(headerName)];
+        return result;
       }
       /**
-       * Write a `sfixed32` value, a signed, fixed-length 32-bit integer.
+       * Get the headers that are contained this collection as an object.
        */
-      sfixed32(value) {
-        assert_1.assertInt32(value);
-        let chunk = new Uint8Array(4);
-        new DataView(chunk.buffer).setInt32(0, value, true);
-        return this.raw(chunk);
+      rawHeaders() {
+        return this.toJson({ preserveCase: true });
       }
       /**
-       * Write a `sint32` value, a signed, zigzag-encoded 32-bit varint.
+       * Get the headers that are contained in this collection as an array.
        */
-      sint32(value) {
-        assert_1.assertInt32(value);
-        value = (value << 1 ^ value >> 31) >>> 0;
-        goog_varint_1.varint32write(value, this.buf);
-        return this;
+      headersArray() {
+        const headers = [];
+        for (const headerKey in this._headersMap) {
+          headers.push(this._headersMap[headerKey]);
+        }
+        return headers;
       }
       /**
-       * Write a `fixed64` value, a signed, fixed-length 64-bit integer.
+       * Get the header names that are contained in this collection.
        */
-      sfixed64(value) {
-        let chunk = new Uint8Array(8);
-        let view = new DataView(chunk.buffer);
-        let long = pb_long_1.PbLong.from(value);
-        view.setInt32(0, long.lo, true);
-        view.setInt32(4, long.hi, true);
-        return this.raw(chunk);
+      headerNames() {
+        const headerNames = [];
+        const headers = this.headersArray();
+        for (let i = 0; i < headers.length; ++i) {
+          headerNames.push(headers[i].name);
+        }
+        return headerNames;
       }
       /**
-       * Write a `fixed64` value, an unsigned, fixed-length 64 bit integer.
+       * Get the header values that are contained in this collection.
        */
-      fixed64(value) {
-        let chunk = new Uint8Array(8);
-        let view = new DataView(chunk.buffer);
-        let long = pb_long_1.PbULong.from(value);
-        view.setInt32(0, long.lo, true);
-        view.setInt32(4, long.hi, true);
-        return this.raw(chunk);
+      headerValues() {
+        const headerValues = [];
+        const headers = this.headersArray();
+        for (let i = 0; i < headers.length; ++i) {
+          headerValues.push(headers[i].value);
+        }
+        return headerValues;
       }
       /**
-       * Write a `int64` value, a signed 64-bit varint.
+       * Get the JSON object representation of this HTTP header collection.
        */
-      int64(value) {
-        let long = pb_long_1.PbLong.from(value);
-        goog_varint_1.varint64write(long.lo, long.hi, this.buf);
-        return this;
+      toJson(options = {}) {
+        const result = {};
+        if (options.preserveCase) {
+          for (const headerKey in this._headersMap) {
+            const header = this._headersMap[headerKey];
+            result[header.name] = header.value;
+          }
+        } else {
+          for (const headerKey in this._headersMap) {
+            const header = this._headersMap[headerKey];
+            result[getHeaderKey(header.name)] = header.value;
+          }
+        }
+        return result;
       }
       /**
-       * Write a `sint64` value, a signed, zig-zag-encoded 64-bit varint.
+       * Get the string representation of this HTTP header collection.
        */
-      sint64(value) {
-        let long = pb_long_1.PbLong.from(value), sign = long.hi >> 31, lo = long.lo << 1 ^ sign, hi = (long.hi << 1 | long.lo >>> 31) ^ sign;
-        goog_varint_1.varint64write(lo, hi, this.buf);
-        return this;
+      toString() {
+        return JSON.stringify(this.toJson({ preserveCase: true }));
       }
       /**
-       * Write a `uint64` value, an unsigned 64-bit varint.
+       * Create a deep clone/copy of this HttpHeaders collection.
        */
-      uint64(value) {
-        let long = pb_long_1.PbULong.from(value);
-        goog_varint_1.varint64write(long.lo, long.hi, this.buf);
-        return this;
+      clone() {
+        const resultPreservingCasing = {};
+        for (const headerKey in this._headersMap) {
+          const header = this._headersMap[headerKey];
+          resultPreservingCasing[header.name] = header.value;
+        }
+        return new _HttpHeaders(resultPreservingCasing);
       }
     };
-    exports2.BinaryWriter = BinaryWriter;
+    exports2.HttpHeaders = HttpHeaders;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/json-format-contract.js
-var require_json_format_contract = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/json-format-contract.js"(exports2) {
+// node_modules/@azure/core-http-compat/dist/commonjs/response.js
+var require_response3 = __commonJS({
+  "node_modules/@azure/core-http-compat/dist/commonjs/response.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.mergeJsonOptions = exports2.jsonWriteOptions = exports2.jsonReadOptions = void 0;
-    var defaultsWrite = {
-      emitDefaultValues: false,
-      enumAsInteger: false,
-      useProtoFieldName: false,
-      prettySpaces: 0
-    };
-    var defaultsRead = {
-      ignoreUnknownFields: false
-    };
-    function jsonReadOptions(options) {
-      return options ? Object.assign(Object.assign({}, defaultsRead), options) : defaultsRead;
-    }
-    exports2.jsonReadOptions = jsonReadOptions;
-    function jsonWriteOptions(options) {
-      return options ? Object.assign(Object.assign({}, defaultsWrite), options) : defaultsWrite;
-    }
-    exports2.jsonWriteOptions = jsonWriteOptions;
-    function mergeJsonOptions(a, b) {
-      var _a, _b;
-      let c = Object.assign(Object.assign({}, a), b);
-      c.typeRegistry = [...(_a = a === null || a === void 0 ? void 0 : a.typeRegistry) !== null && _a !== void 0 ? _a : [], ...(_b = b === null || b === void 0 ? void 0 : b.typeRegistry) !== null && _b !== void 0 ? _b : []];
-      return c;
+    exports2.toCompatResponse = toCompatResponse;
+    exports2.toPipelineResponse = toPipelineResponse;
+    var core_rest_pipeline_1 = require_commonjs8();
+    var util_js_1 = require_util18();
+    var originalResponse = /* @__PURE__ */ Symbol("Original FullOperationResponse");
+    function toCompatResponse(response, options) {
+      let request2 = (0, util_js_1.toWebResourceLike)(response.request);
+      let headers = (0, util_js_1.toHttpHeadersLike)(response.headers);
+      if (options?.createProxy) {
+        return new Proxy(response, {
+          get(target, prop, receiver) {
+            if (prop === "headers") {
+              return headers;
+            } else if (prop === "request") {
+              return request2;
+            } else if (prop === originalResponse) {
+              return response;
+            }
+            return Reflect.get(target, prop, receiver);
+          },
+          set(target, prop, value, receiver) {
+            if (prop === "headers") {
+              headers = value;
+            } else if (prop === "request") {
+              request2 = value;
+            }
+            return Reflect.set(target, prop, value, receiver);
+          }
+        });
+      } else {
+        return {
+          ...response,
+          request: request2,
+          headers
+        };
+      }
     }
-    exports2.mergeJsonOptions = mergeJsonOptions;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/message-type-contract.js
-var require_message_type_contract = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/message-type-contract.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.MESSAGE_TYPE = void 0;
-    exports2.MESSAGE_TYPE = /* @__PURE__ */ Symbol.for("protobuf-ts/message-type");
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/lower-camel-case.js
-var require_lower_camel_case = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/lower-camel-case.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.lowerCamelCase = void 0;
-    function lowerCamelCase(snakeCase) {
-      let capNext = false;
-      const sb = [];
-      for (let i = 0; i < snakeCase.length; i++) {
-        let next = snakeCase.charAt(i);
-        if (next == "_") {
-          capNext = true;
-        } else if (/\d/.test(next)) {
-          sb.push(next);
-          capNext = true;
-        } else if (capNext) {
-          sb.push(next.toUpperCase());
-          capNext = false;
-        } else if (i == 0) {
-          sb.push(next.toLowerCase());
-        } else {
-          sb.push(next);
-        }
+    function toPipelineResponse(compatResponse) {
+      const extendedCompatResponse = compatResponse;
+      const response = extendedCompatResponse[originalResponse];
+      const headers = (0, core_rest_pipeline_1.createHttpHeaders)(compatResponse.headers.toJson({ preserveCase: true }));
+      if (response) {
+        response.headers = headers;
+        return response;
+      } else {
+        return {
+          ...compatResponse,
+          headers,
+          request: (0, util_js_1.toPipelineRequest)(compatResponse.request)
+        };
       }
-      return sb.join("");
     }
-    exports2.lowerCamelCase = lowerCamelCase;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-info.js
-var require_reflection_info = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-info.js"(exports2) {
+// node_modules/@azure/core-http-compat/dist/commonjs/extendedClient.js
+var require_extendedClient = __commonJS({
+  "node_modules/@azure/core-http-compat/dist/commonjs/extendedClient.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.readMessageOption = exports2.readFieldOption = exports2.readFieldOptions = exports2.normalizeFieldInfo = exports2.RepeatType = exports2.LongType = exports2.ScalarType = void 0;
-    var lower_camel_case_1 = require_lower_camel_case();
-    var ScalarType;
-    (function(ScalarType2) {
-      ScalarType2[ScalarType2["DOUBLE"] = 1] = "DOUBLE";
-      ScalarType2[ScalarType2["FLOAT"] = 2] = "FLOAT";
-      ScalarType2[ScalarType2["INT64"] = 3] = "INT64";
-      ScalarType2[ScalarType2["UINT64"] = 4] = "UINT64";
-      ScalarType2[ScalarType2["INT32"] = 5] = "INT32";
-      ScalarType2[ScalarType2["FIXED64"] = 6] = "FIXED64";
-      ScalarType2[ScalarType2["FIXED32"] = 7] = "FIXED32";
-      ScalarType2[ScalarType2["BOOL"] = 8] = "BOOL";
-      ScalarType2[ScalarType2["STRING"] = 9] = "STRING";
-      ScalarType2[ScalarType2["BYTES"] = 12] = "BYTES";
-      ScalarType2[ScalarType2["UINT32"] = 13] = "UINT32";
-      ScalarType2[ScalarType2["SFIXED32"] = 15] = "SFIXED32";
-      ScalarType2[ScalarType2["SFIXED64"] = 16] = "SFIXED64";
-      ScalarType2[ScalarType2["SINT32"] = 17] = "SINT32";
-      ScalarType2[ScalarType2["SINT64"] = 18] = "SINT64";
-    })(ScalarType = exports2.ScalarType || (exports2.ScalarType = {}));
-    var LongType;
-    (function(LongType2) {
-      LongType2[LongType2["BIGINT"] = 0] = "BIGINT";
-      LongType2[LongType2["STRING"] = 1] = "STRING";
-      LongType2[LongType2["NUMBER"] = 2] = "NUMBER";
-    })(LongType = exports2.LongType || (exports2.LongType = {}));
-    var RepeatType;
-    (function(RepeatType2) {
-      RepeatType2[RepeatType2["NO"] = 0] = "NO";
-      RepeatType2[RepeatType2["PACKED"] = 1] = "PACKED";
-      RepeatType2[RepeatType2["UNPACKED"] = 2] = "UNPACKED";
-    })(RepeatType = exports2.RepeatType || (exports2.RepeatType = {}));
-    function normalizeFieldInfo(field) {
-      var _a, _b, _c, _d;
-      field.localName = (_a = field.localName) !== null && _a !== void 0 ? _a : lower_camel_case_1.lowerCamelCase(field.name);
-      field.jsonName = (_b = field.jsonName) !== null && _b !== void 0 ? _b : lower_camel_case_1.lowerCamelCase(field.name);
-      field.repeat = (_c = field.repeat) !== null && _c !== void 0 ? _c : RepeatType.NO;
-      field.opt = (_d = field.opt) !== null && _d !== void 0 ? _d : field.repeat ? false : field.oneof ? false : field.kind == "message";
-      return field;
-    }
-    exports2.normalizeFieldInfo = normalizeFieldInfo;
-    function readFieldOptions(messageType, fieldName, extensionName, extensionType) {
-      var _a;
-      const options = (_a = messageType.fields.find((m, i) => m.localName == fieldName || i == fieldName)) === null || _a === void 0 ? void 0 : _a.options;
-      return options && options[extensionName] ? extensionType.fromJson(options[extensionName]) : void 0;
-    }
-    exports2.readFieldOptions = readFieldOptions;
-    function readFieldOption(messageType, fieldName, extensionName, extensionType) {
-      var _a;
-      const options = (_a = messageType.fields.find((m, i) => m.localName == fieldName || i == fieldName)) === null || _a === void 0 ? void 0 : _a.options;
-      if (!options) {
-        return void 0;
-      }
-      const optionVal = options[extensionName];
-      if (optionVal === void 0) {
-        return optionVal;
+    exports2.ExtendedServiceClient = void 0;
+    var disableKeepAlivePolicy_js_1 = require_disableKeepAlivePolicy();
+    var core_rest_pipeline_1 = require_commonjs8();
+    var core_client_1 = require_commonjs10();
+    var response_js_1 = require_response3();
+    var ExtendedServiceClient = class extends core_client_1.ServiceClient {
+      constructor(options) {
+        super(options);
+        if (options.keepAliveOptions?.enable === false && !(0, disableKeepAlivePolicy_js_1.pipelineContainsDisableKeepAlivePolicy)(this.pipeline)) {
+          this.pipeline.addPolicy((0, disableKeepAlivePolicy_js_1.createDisableKeepAlivePolicy)());
+        }
+        if (options.redirectOptions?.handleRedirects === false) {
+          this.pipeline.removePolicy({
+            name: core_rest_pipeline_1.redirectPolicyName
+          });
+        }
       }
-      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
-    }
-    exports2.readFieldOption = readFieldOption;
-    function readMessageOption(messageType, extensionName, extensionType) {
-      const options = messageType.options;
-      const optionVal = options[extensionName];
-      if (optionVal === void 0) {
-        return optionVal;
+      /**
+       * Compatible send operation request function.
+       *
+       * @param operationArguments - Operation arguments
+       * @param operationSpec - Operation Spec
+       * @returns
+       */
+      async sendOperationRequest(operationArguments, operationSpec) {
+        const userProvidedCallBack = operationArguments?.options?.onResponse;
+        let lastResponse;
+        function onResponse(rawResponse, flatResponse, error3) {
+          lastResponse = rawResponse;
+          if (userProvidedCallBack) {
+            userProvidedCallBack(rawResponse, flatResponse, error3);
+          }
+        }
+        operationArguments.options = {
+          ...operationArguments.options,
+          onResponse
+        };
+        const result = await super.sendOperationRequest(operationArguments, operationSpec);
+        if (lastResponse) {
+          Object.defineProperty(result, "_response", {
+            value: (0, response_js_1.toCompatResponse)(lastResponse)
+          });
+        }
+        return result;
       }
-      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
-    }
-    exports2.readMessageOption = readMessageOption;
+    };
+    exports2.ExtendedServiceClient = ExtendedServiceClient;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/oneof.js
-var require_oneof = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/oneof.js"(exports2) {
+// node_modules/@azure/core-http-compat/dist/commonjs/policies/requestPolicyFactoryPolicy.js
+var require_requestPolicyFactoryPolicy = __commonJS({
+  "node_modules/@azure/core-http-compat/dist/commonjs/policies/requestPolicyFactoryPolicy.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getSelectedOneofValue = exports2.clearOneofValue = exports2.setUnknownOneofValue = exports2.setOneofValue = exports2.getOneofValue = exports2.isOneofGroup = void 0;
-    function isOneofGroup(any) {
-      if (typeof any != "object" || any === null || !any.hasOwnProperty("oneofKind")) {
+    exports2.requestPolicyFactoryPolicyName = exports2.HttpPipelineLogLevel = void 0;
+    exports2.createRequestPolicyFactoryPolicy = createRequestPolicyFactoryPolicy;
+    var util_js_1 = require_util18();
+    var response_js_1 = require_response3();
+    var HttpPipelineLogLevel;
+    (function(HttpPipelineLogLevel2) {
+      HttpPipelineLogLevel2[HttpPipelineLogLevel2["ERROR"] = 1] = "ERROR";
+      HttpPipelineLogLevel2[HttpPipelineLogLevel2["INFO"] = 3] = "INFO";
+      HttpPipelineLogLevel2[HttpPipelineLogLevel2["OFF"] = 0] = "OFF";
+      HttpPipelineLogLevel2[HttpPipelineLogLevel2["WARNING"] = 2] = "WARNING";
+    })(HttpPipelineLogLevel || (exports2.HttpPipelineLogLevel = HttpPipelineLogLevel = {}));
+    var mockRequestPolicyOptions = {
+      log(_logLevel, _message) {
+      },
+      shouldLog(_logLevel) {
         return false;
       }
-      switch (typeof any.oneofKind) {
-        case "string":
-          if (any[any.oneofKind] === void 0)
-            return false;
-          return Object.keys(any).length == 2;
-        case "undefined":
-          return Object.keys(any).length == 1;
-        default:
-          return false;
-      }
-    }
-    exports2.isOneofGroup = isOneofGroup;
-    function getOneofValue(oneof, kind) {
-      return oneof[kind];
-    }
-    exports2.getOneofValue = getOneofValue;
-    function setOneofValue(oneof, kind, value) {
-      if (oneof.oneofKind !== void 0) {
-        delete oneof[oneof.oneofKind];
-      }
-      oneof.oneofKind = kind;
-      if (value !== void 0) {
-        oneof[kind] = value;
-      }
-    }
-    exports2.setOneofValue = setOneofValue;
-    function setUnknownOneofValue(oneof, kind, value) {
-      if (oneof.oneofKind !== void 0) {
-        delete oneof[oneof.oneofKind];
-      }
-      oneof.oneofKind = kind;
-      if (value !== void 0 && kind !== void 0) {
-        oneof[kind] = value;
-      }
-    }
-    exports2.setUnknownOneofValue = setUnknownOneofValue;
-    function clearOneofValue(oneof) {
-      if (oneof.oneofKind !== void 0) {
-        delete oneof[oneof.oneofKind];
-      }
-      oneof.oneofKind = void 0;
+    };
+    exports2.requestPolicyFactoryPolicyName = "RequestPolicyFactoryPolicy";
+    function createRequestPolicyFactoryPolicy(factories) {
+      const orderedFactories = factories.slice().reverse();
+      return {
+        name: exports2.requestPolicyFactoryPolicyName,
+        async sendRequest(request2, next) {
+          let httpPipeline = {
+            async sendRequest(httpRequest) {
+              const response2 = await next((0, util_js_1.toPipelineRequest)(httpRequest));
+              return (0, response_js_1.toCompatResponse)(response2, { createProxy: true });
+            }
+          };
+          for (const factory of orderedFactories) {
+            httpPipeline = factory.create(httpPipeline, mockRequestPolicyOptions);
+          }
+          const webResourceLike = (0, util_js_1.toWebResourceLike)(request2, { createProxy: true });
+          const response = await httpPipeline.sendRequest(webResourceLike);
+          return (0, response_js_1.toPipelineResponse)(response);
+        }
+      };
     }
-    exports2.clearOneofValue = clearOneofValue;
-    function getSelectedOneofValue(oneof) {
-      if (oneof.oneofKind === void 0) {
-        return void 0;
-      }
-      return oneof[oneof.oneofKind];
+  }
+});
+
+// node_modules/@azure/core-http-compat/dist/commonjs/httpClientAdapter.js
+var require_httpClientAdapter = __commonJS({
+  "node_modules/@azure/core-http-compat/dist/commonjs/httpClientAdapter.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.convertHttpClient = convertHttpClient;
+    var response_js_1 = require_response3();
+    var util_js_1 = require_util18();
+    function convertHttpClient(requestPolicyClient) {
+      return {
+        sendRequest: async (request2) => {
+          const response = await requestPolicyClient.sendRequest((0, util_js_1.toWebResourceLike)(request2, { createProxy: true }));
+          return (0, response_js_1.toPipelineResponse)(response);
+        }
+      };
     }
-    exports2.getSelectedOneofValue = getSelectedOneofValue;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-type-check.js
-var require_reflection_type_check = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-type-check.js"(exports2) {
+// node_modules/@azure/core-http-compat/dist/commonjs/index.js
+var require_commonjs11 = __commonJS({
+  "node_modules/@azure/core-http-compat/dist/commonjs/index.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ReflectionTypeCheck = void 0;
-    var reflection_info_1 = require_reflection_info();
-    var oneof_1 = require_oneof();
-    var ReflectionTypeCheck = class {
-      constructor(info7) {
-        var _a;
-        this.fields = (_a = info7.fields) !== null && _a !== void 0 ? _a : [];
+    exports2.toHttpHeadersLike = exports2.convertHttpClient = exports2.disableKeepAlivePolicyName = exports2.HttpPipelineLogLevel = exports2.createRequestPolicyFactoryPolicy = exports2.requestPolicyFactoryPolicyName = exports2.ExtendedServiceClient = void 0;
+    var extendedClient_js_1 = require_extendedClient();
+    Object.defineProperty(exports2, "ExtendedServiceClient", { enumerable: true, get: function() {
+      return extendedClient_js_1.ExtendedServiceClient;
+    } });
+    var requestPolicyFactoryPolicy_js_1 = require_requestPolicyFactoryPolicy();
+    Object.defineProperty(exports2, "requestPolicyFactoryPolicyName", { enumerable: true, get: function() {
+      return requestPolicyFactoryPolicy_js_1.requestPolicyFactoryPolicyName;
+    } });
+    Object.defineProperty(exports2, "createRequestPolicyFactoryPolicy", { enumerable: true, get: function() {
+      return requestPolicyFactoryPolicy_js_1.createRequestPolicyFactoryPolicy;
+    } });
+    Object.defineProperty(exports2, "HttpPipelineLogLevel", { enumerable: true, get: function() {
+      return requestPolicyFactoryPolicy_js_1.HttpPipelineLogLevel;
+    } });
+    var disableKeepAlivePolicy_js_1 = require_disableKeepAlivePolicy();
+    Object.defineProperty(exports2, "disableKeepAlivePolicyName", { enumerable: true, get: function() {
+      return disableKeepAlivePolicy_js_1.disableKeepAlivePolicyName;
+    } });
+    var httpClientAdapter_js_1 = require_httpClientAdapter();
+    Object.defineProperty(exports2, "convertHttpClient", { enumerable: true, get: function() {
+      return httpClientAdapter_js_1.convertHttpClient;
+    } });
+    var util_js_1 = require_util18();
+    Object.defineProperty(exports2, "toHttpHeadersLike", { enumerable: true, get: function() {
+      return util_js_1.toHttpHeadersLike;
+    } });
+  }
+});
+
+// node_modules/fast-xml-parser/lib/fxp.cjs
+var require_fxp = __commonJS({
+  "node_modules/fast-xml-parser/lib/fxp.cjs"(exports2, module2) {
+    (() => {
+      "use strict";
+      var t = { d: (e2, i2) => {
+        for (var n2 in i2) t.o(i2, n2) && !t.o(e2, n2) && Object.defineProperty(e2, n2, { enumerable: true, get: i2[n2] });
+      }, o: (t2, e2) => Object.prototype.hasOwnProperty.call(t2, e2), r: (t2) => {
+        "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t2, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(t2, "__esModule", { value: true });
+      } }, e = {};
+      t.r(e), t.d(e, { XMLBuilder: () => ut, XMLParser: () => et, XMLValidator: () => ft });
+      const i = ":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD", n = new RegExp("^[" + i + "][" + i + "\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$");
+      function s(t2, e2) {
+        const i2 = [];
+        let n2 = e2.exec(t2);
+        for (; n2; ) {
+          const s2 = [];
+          s2.startIndex = e2.lastIndex - n2[0].length;
+          const r2 = n2.length;
+          for (let t3 = 0; t3 < r2; t3++) s2.push(n2[t3]);
+          i2.push(s2), n2 = e2.exec(t2);
+        }
+        return i2;
       }
-      prepare() {
-        if (this.data)
-          return;
-        const req = [], known = [], oneofs = [];
-        for (let field of this.fields) {
-          if (field.oneof) {
-            if (!oneofs.includes(field.oneof)) {
-              oneofs.push(field.oneof);
-              req.push(field.oneof);
-              known.push(field.oneof);
+      const r = function(t2) {
+        return !(null == n.exec(t2));
+      }, o = { allowBooleanAttributes: false, unpairedTags: [] };
+      function a(t2, e2) {
+        e2 = Object.assign({}, o, e2);
+        const i2 = [];
+        let n2 = false, s2 = false;
+        "\uFEFF" === t2[0] && (t2 = t2.substr(1));
+        for (let o2 = 0; o2 < t2.length; o2++) if ("<" === t2[o2] && "?" === t2[o2 + 1]) {
+          if (o2 += 2, o2 = u(t2, o2), o2.err) return o2;
+        } else {
+          if ("<" !== t2[o2]) {
+            if (l(t2[o2])) continue;
+            return x("InvalidChar", "char '" + t2[o2] + "' is not expected.", b(t2, o2));
+          }
+          {
+            let a2 = o2;
+            if (o2++, "!" === t2[o2]) {
+              o2 = h(t2, o2);
+              continue;
             }
-          } else {
-            known.push(field.localName);
-            switch (field.kind) {
-              case "scalar":
-              case "enum":
-                if (!field.opt || field.repeat)
-                  req.push(field.localName);
-                break;
-              case "message":
-                if (field.repeat)
-                  req.push(field.localName);
-                break;
-              case "map":
-                req.push(field.localName);
-                break;
+            {
+              let d2 = false;
+              "/" === t2[o2] && (d2 = true, o2++);
+              let p2 = "";
+              for (; o2 < t2.length && ">" !== t2[o2] && " " !== t2[o2] && "	" !== t2[o2] && "\n" !== t2[o2] && "\r" !== t2[o2]; o2++) p2 += t2[o2];
+              if (p2 = p2.trim(), "/" === p2[p2.length - 1] && (p2 = p2.substring(0, p2.length - 1), o2--), !r(p2)) {
+                let e3;
+                return e3 = 0 === p2.trim().length ? "Invalid space after '<'." : "Tag '" + p2 + "' is an invalid name.", x("InvalidTag", e3, b(t2, o2));
+              }
+              const c2 = f(t2, o2);
+              if (false === c2) return x("InvalidAttr", "Attributes for '" + p2 + "' have open quote.", b(t2, o2));
+              let N2 = c2.value;
+              if (o2 = c2.index, "/" === N2[N2.length - 1]) {
+                const i3 = o2 - N2.length;
+                N2 = N2.substring(0, N2.length - 1);
+                const s3 = g(N2, e2);
+                if (true !== s3) return x(s3.err.code, s3.err.msg, b(t2, i3 + s3.err.line));
+                n2 = true;
+              } else if (d2) {
+                if (!c2.tagClosed) return x("InvalidTag", "Closing tag '" + p2 + "' doesn't have proper closing.", b(t2, o2));
+                if (N2.trim().length > 0) return x("InvalidTag", "Closing tag '" + p2 + "' can't have attributes or invalid starting.", b(t2, a2));
+                if (0 === i2.length) return x("InvalidTag", "Closing tag '" + p2 + "' has not been opened.", b(t2, a2));
+                {
+                  const e3 = i2.pop();
+                  if (p2 !== e3.tagName) {
+                    let i3 = b(t2, e3.tagStartPos);
+                    return x("InvalidTag", "Expected closing tag '" + e3.tagName + "' (opened in line " + i3.line + ", col " + i3.col + ") instead of closing tag '" + p2 + "'.", b(t2, a2));
+                  }
+                  0 == i2.length && (s2 = true);
+                }
+              } else {
+                const r2 = g(N2, e2);
+                if (true !== r2) return x(r2.err.code, r2.err.msg, b(t2, o2 - N2.length + r2.err.line));
+                if (true === s2) return x("InvalidXml", "Multiple possible root nodes found.", b(t2, o2));
+                -1 !== e2.unpairedTags.indexOf(p2) || i2.push({ tagName: p2, tagStartPos: a2 }), n2 = true;
+              }
+              for (o2++; o2 < t2.length; o2++) if ("<" === t2[o2]) {
+                if ("!" === t2[o2 + 1]) {
+                  o2++, o2 = h(t2, o2);
+                  continue;
+                }
+                if ("?" !== t2[o2 + 1]) break;
+                if (o2 = u(t2, ++o2), o2.err) return o2;
+              } else if ("&" === t2[o2]) {
+                const e3 = m(t2, o2);
+                if (-1 == e3) return x("InvalidChar", "char '&' is not expected.", b(t2, o2));
+                o2 = e3;
+              } else if (true === s2 && !l(t2[o2])) return x("InvalidXml", "Extra text at the end", b(t2, o2));
+              "<" === t2[o2] && o2--;
             }
           }
         }
-        this.data = { req, known, oneofs: Object.values(oneofs) };
+        return n2 ? 1 == i2.length ? x("InvalidTag", "Unclosed tag '" + i2[0].tagName + "'.", b(t2, i2[0].tagStartPos)) : !(i2.length > 0) || x("InvalidXml", "Invalid '" + JSON.stringify(i2.map(((t3) => t3.tagName)), null, 4).replace(/\r?\n/g, "") + "' found.", { line: 1, col: 1 }) : x("InvalidXml", "Start tag expected.", 1);
       }
-      /**
-       * Is the argument a valid message as specified by the
-       * reflection information?
-       *
-       * Checks all field types recursively. The `depth`
-       * specifies how deep into the structure the check will be.
-       *
-       * With a depth of 0, only the presence of fields
-       * is checked.
-       *
-       * With a depth of 1 or more, the field types are checked.
-       *
-       * With a depth of 2 or more, the members of map, repeated
-       * and message fields are checked.
-       *
-       * Message fields will be checked recursively with depth - 1.
-       *
-       * The number of map entries / repeated values being checked
-       * is < depth.
-       */
-      is(message, depth, allowExcessProperties = false) {
-        if (depth < 0)
-          return true;
-        if (message === null || message === void 0 || typeof message != "object")
-          return false;
-        this.prepare();
-        let keys = Object.keys(message), data = this.data;
-        if (keys.length < data.req.length || data.req.some((n) => !keys.includes(n)))
-          return false;
-        if (!allowExcessProperties) {
-          if (keys.some((k) => !data.known.includes(k)))
-            return false;
-        }
-        if (depth < 1) {
-          return true;
-        }
-        for (const name of data.oneofs) {
-          const group = message[name];
-          if (!oneof_1.isOneofGroup(group))
-            return false;
-          if (group.oneofKind === void 0)
-            continue;
-          const field = this.fields.find((f) => f.localName === group.oneofKind);
-          if (!field)
-            return false;
-          if (!this.field(group[group.oneofKind], field, allowExcessProperties, depth))
-            return false;
-        }
-        for (const field of this.fields) {
-          if (field.oneof !== void 0)
-            continue;
-          if (!this.field(message[field.localName], field, allowExcessProperties, depth))
-            return false;
-        }
-        return true;
+      function l(t2) {
+        return " " === t2 || "	" === t2 || "\n" === t2 || "\r" === t2;
       }
-      field(arg, field, allowExcessProperties, depth) {
-        let repeated = field.repeat;
-        switch (field.kind) {
-          case "scalar":
-            if (arg === void 0)
-              return field.opt;
-            if (repeated)
-              return this.scalars(arg, field.T, depth, field.L);
-            return this.scalar(arg, field.T, field.L);
-          case "enum":
-            if (arg === void 0)
-              return field.opt;
-            if (repeated)
-              return this.scalars(arg, reflection_info_1.ScalarType.INT32, depth);
-            return this.scalar(arg, reflection_info_1.ScalarType.INT32);
-          case "message":
-            if (arg === void 0)
-              return true;
-            if (repeated)
-              return this.messages(arg, field.T(), allowExcessProperties, depth);
-            return this.message(arg, field.T(), allowExcessProperties, depth);
-          case "map":
-            if (typeof arg != "object" || arg === null)
-              return false;
-            if (depth < 2)
-              return true;
-            if (!this.mapKeys(arg, field.K, depth))
-              return false;
-            switch (field.V.kind) {
-              case "scalar":
-                return this.scalars(Object.values(arg), field.V.T, depth, field.V.L);
-              case "enum":
-                return this.scalars(Object.values(arg), reflection_info_1.ScalarType.INT32, depth);
-              case "message":
-                return this.messages(Object.values(arg), field.V.T(), allowExcessProperties, depth);
-            }
+      function u(t2, e2) {
+        const i2 = e2;
+        for (; e2 < t2.length; e2++) if ("?" != t2[e2] && " " != t2[e2]) ;
+        else {
+          const n2 = t2.substr(i2, e2 - i2);
+          if (e2 > 5 && "xml" === n2) return x("InvalidXml", "XML declaration allowed only at the start of the document.", b(t2, e2));
+          if ("?" == t2[e2] && ">" == t2[e2 + 1]) {
+            e2++;
             break;
+          }
         }
-        return true;
-      }
-      message(arg, type2, allowExcessProperties, depth) {
-        if (allowExcessProperties) {
-          return type2.isAssignable(arg, depth);
-        }
-        return type2.is(arg, depth);
+        return e2;
       }
-      messages(arg, type2, allowExcessProperties, depth) {
-        if (!Array.isArray(arg))
-          return false;
-        if (depth < 2)
-          return true;
-        if (allowExcessProperties) {
-          for (let i = 0; i < arg.length && i < depth; i++)
-            if (!type2.isAssignable(arg[i], depth - 1))
-              return false;
-        } else {
-          for (let i = 0; i < arg.length && i < depth; i++)
-            if (!type2.is(arg[i], depth - 1))
-              return false;
+      function h(t2, e2) {
+        if (t2.length > e2 + 5 && "-" === t2[e2 + 1] && "-" === t2[e2 + 2]) {
+          for (e2 += 3; e2 < t2.length; e2++) if ("-" === t2[e2] && "-" === t2[e2 + 1] && ">" === t2[e2 + 2]) {
+            e2 += 2;
+            break;
+          }
+        } else if (t2.length > e2 + 8 && "D" === t2[e2 + 1] && "O" === t2[e2 + 2] && "C" === t2[e2 + 3] && "T" === t2[e2 + 4] && "Y" === t2[e2 + 5] && "P" === t2[e2 + 6] && "E" === t2[e2 + 7]) {
+          let i2 = 1;
+          for (e2 += 8; e2 < t2.length; e2++) if ("<" === t2[e2]) i2++;
+          else if (">" === t2[e2] && (i2--, 0 === i2)) break;
+        } else if (t2.length > e2 + 9 && "[" === t2[e2 + 1] && "C" === t2[e2 + 2] && "D" === t2[e2 + 3] && "A" === t2[e2 + 4] && "T" === t2[e2 + 5] && "A" === t2[e2 + 6] && "[" === t2[e2 + 7]) {
+          for (e2 += 8; e2 < t2.length; e2++) if ("]" === t2[e2] && "]" === t2[e2 + 1] && ">" === t2[e2 + 2]) {
+            e2 += 2;
+            break;
+          }
         }
-        return true;
+        return e2;
       }
-      scalar(arg, type2, longType) {
-        let argType = typeof arg;
-        switch (type2) {
-          case reflection_info_1.ScalarType.UINT64:
-          case reflection_info_1.ScalarType.FIXED64:
-          case reflection_info_1.ScalarType.INT64:
-          case reflection_info_1.ScalarType.SFIXED64:
-          case reflection_info_1.ScalarType.SINT64:
-            switch (longType) {
-              case reflection_info_1.LongType.BIGINT:
-                return argType == "bigint";
-              case reflection_info_1.LongType.NUMBER:
-                return argType == "number" && !isNaN(arg);
-              default:
-                return argType == "string";
-            }
-          case reflection_info_1.ScalarType.BOOL:
-            return argType == "boolean";
-          case reflection_info_1.ScalarType.STRING:
-            return argType == "string";
-          case reflection_info_1.ScalarType.BYTES:
-            return arg instanceof Uint8Array;
-          case reflection_info_1.ScalarType.DOUBLE:
-          case reflection_info_1.ScalarType.FLOAT:
-            return argType == "number" && !isNaN(arg);
-          default:
-            return argType == "number" && Number.isInteger(arg);
+      const d = '"', p = "'";
+      function f(t2, e2) {
+        let i2 = "", n2 = "", s2 = false;
+        for (; e2 < t2.length; e2++) {
+          if (t2[e2] === d || t2[e2] === p) "" === n2 ? n2 = t2[e2] : n2 !== t2[e2] || (n2 = "");
+          else if (">" === t2[e2] && "" === n2) {
+            s2 = true;
+            break;
+          }
+          i2 += t2[e2];
         }
+        return "" === n2 && { value: i2, index: e2, tagClosed: s2 };
       }
-      scalars(arg, type2, depth, longType) {
-        if (!Array.isArray(arg))
-          return false;
-        if (depth < 2)
-          return true;
-        if (Array.isArray(arg)) {
-          for (let i = 0; i < arg.length && i < depth; i++)
-            if (!this.scalar(arg[i], type2, longType))
-              return false;
+      const c = new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`, "g");
+      function g(t2, e2) {
+        const i2 = s(t2, c), n2 = {};
+        for (let t3 = 0; t3 < i2.length; t3++) {
+          if (0 === i2[t3][1].length) return x("InvalidAttr", "Attribute '" + i2[t3][2] + "' has no space in starting.", E(i2[t3]));
+          if (void 0 !== i2[t3][3] && void 0 === i2[t3][4]) return x("InvalidAttr", "Attribute '" + i2[t3][2] + "' is without value.", E(i2[t3]));
+          if (void 0 === i2[t3][3] && !e2.allowBooleanAttributes) return x("InvalidAttr", "boolean attribute '" + i2[t3][2] + "' is not allowed.", E(i2[t3]));
+          const s2 = i2[t3][2];
+          if (!N(s2)) return x("InvalidAttr", "Attribute '" + s2 + "' is an invalid name.", E(i2[t3]));
+          if (n2.hasOwnProperty(s2)) return x("InvalidAttr", "Attribute '" + s2 + "' is repeated.", E(i2[t3]));
+          n2[s2] = 1;
         }
         return true;
       }
-      mapKeys(map2, type2, depth) {
-        let keys = Object.keys(map2);
-        switch (type2) {
-          case reflection_info_1.ScalarType.INT32:
-          case reflection_info_1.ScalarType.FIXED32:
-          case reflection_info_1.ScalarType.SFIXED32:
-          case reflection_info_1.ScalarType.SINT32:
-          case reflection_info_1.ScalarType.UINT32:
-            return this.scalars(keys.slice(0, depth).map((k) => parseInt(k)), type2, depth);
-          case reflection_info_1.ScalarType.BOOL:
-            return this.scalars(keys.slice(0, depth).map((k) => k == "true" ? true : k == "false" ? false : k), type2, depth);
-          default:
-            return this.scalars(keys, type2, depth, reflection_info_1.LongType.STRING);
+      function m(t2, e2) {
+        if (";" === t2[++e2]) return -1;
+        if ("#" === t2[e2]) return (function(t3, e3) {
+          let i3 = /\d/;
+          for ("x" === t3[e3] && (e3++, i3 = /[\da-fA-F]/); e3 < t3.length; e3++) {
+            if (";" === t3[e3]) return e3;
+            if (!t3[e3].match(i3)) break;
+          }
+          return -1;
+        })(t2, ++e2);
+        let i2 = 0;
+        for (; e2 < t2.length; e2++, i2++) if (!(t2[e2].match(/\w/) && i2 < 20)) {
+          if (";" === t2[e2]) break;
+          return -1;
         }
+        return e2;
       }
-    };
-    exports2.ReflectionTypeCheck = ReflectionTypeCheck;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-long-convert.js
-var require_reflection_long_convert = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-long-convert.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.reflectionLongConvert = void 0;
-    var reflection_info_1 = require_reflection_info();
-    function reflectionLongConvert(long, type2) {
-      switch (type2) {
-        case reflection_info_1.LongType.BIGINT:
-          return long.toBigInt();
-        case reflection_info_1.LongType.NUMBER:
-          return long.toNumber();
-        default:
-          return long.toString();
+      function x(t2, e2, i2) {
+        return { err: { code: t2, msg: e2, line: i2.line || i2, col: i2.col } };
       }
-    }
-    exports2.reflectionLongConvert = reflectionLongConvert;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-reader.js
-var require_reflection_json_reader = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-reader.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ReflectionJsonReader = void 0;
-    var json_typings_1 = require_json_typings();
-    var base64_1 = require_base64();
-    var reflection_info_1 = require_reflection_info();
-    var pb_long_1 = require_pb_long();
-    var assert_1 = require_assert();
-    var reflection_long_convert_1 = require_reflection_long_convert();
-    var ReflectionJsonReader = class {
-      constructor(info7) {
-        this.info = info7;
+      function N(t2) {
+        return r(t2);
       }
-      prepare() {
-        var _a;
-        if (this.fMap === void 0) {
-          this.fMap = {};
-          const fieldsInput = (_a = this.info.fields) !== null && _a !== void 0 ? _a : [];
-          for (const field of fieldsInput) {
-            this.fMap[field.name] = field;
-            this.fMap[field.jsonName] = field;
-            this.fMap[field.localName] = field;
-          }
-        }
+      function b(t2, e2) {
+        const i2 = t2.substring(0, e2).split(/\r?\n/);
+        return { line: i2.length, col: i2[i2.length - 1].length + 1 };
       }
-      // Cannot parse JSON  for #.
-      assert(condition, fieldName, jsonValue) {
-        if (!condition) {
-          let what = json_typings_1.typeofJsonValue(jsonValue);
-          if (what == "number" || what == "boolean")
-            what = jsonValue.toString();
-          throw new Error(`Cannot parse JSON ${what} for ${this.info.typeName}#${fieldName}`);
+      function E(t2) {
+        return t2.startIndex + t2[1].length;
+      }
+      const v = { preserveOrder: false, attributeNamePrefix: "@_", attributesGroupName: false, textNodeName: "#text", ignoreAttributes: true, removeNSPrefix: false, allowBooleanAttributes: false, parseTagValue: true, parseAttributeValue: false, trimValues: true, cdataPropName: false, numberParseOptions: { hex: true, leadingZeros: true, eNotation: true }, tagValueProcessor: function(t2, e2) {
+        return e2;
+      }, attributeValueProcessor: function(t2, e2) {
+        return e2;
+      }, stopNodes: [], alwaysCreateTextNode: false, isArray: () => false, commentPropName: false, unpairedTags: [], processEntities: true, htmlEntities: false, ignoreDeclaration: false, ignorePiTags: false, transformTagName: false, transformAttributeName: false, updateTag: function(t2, e2, i2) {
+        return t2;
+      }, captureMetaData: false };
+      let T;
+      T = "function" != typeof Symbol ? "@@xmlMetadata" : /* @__PURE__ */ Symbol("XML Node Metadata");
+      class y {
+        constructor(t2) {
+          this.tagname = t2, this.child = [], this[":@"] = {};
+        }
+        add(t2, e2) {
+          "__proto__" === t2 && (t2 = "#__proto__"), this.child.push({ [t2]: e2 });
+        }
+        addChild(t2, e2) {
+          "__proto__" === t2.tagname && (t2.tagname = "#__proto__"), t2[":@"] && Object.keys(t2[":@"]).length > 0 ? this.child.push({ [t2.tagname]: t2.child, ":@": t2[":@"] }) : this.child.push({ [t2.tagname]: t2.child }), void 0 !== e2 && (this.child[this.child.length - 1][T] = { startIndex: e2 });
+        }
+        static getMetaDataSymbol() {
+          return T;
         }
       }
-      /**
-       * Reads a message from canonical JSON format into the target message.
-       *
-       * Repeated fields are appended. Map entries are added, overwriting
-       * existing keys.
-       *
-       * If a message field is already present, it will be merged with the
-       * new data.
-       */
-      read(input, message, options) {
-        this.prepare();
-        const oneofsHandled = [];
-        for (const [jsonKey, jsonValue] of Object.entries(input)) {
-          const field = this.fMap[jsonKey];
-          if (!field) {
-            if (!options.ignoreUnknownFields)
-              throw new Error(`Found unknown field while reading ${this.info.typeName} from JSON format. JSON key: ${jsonKey}`);
-            continue;
-          }
-          const localName = field.localName;
-          let target;
-          if (field.oneof) {
-            if (jsonValue === null && (field.kind !== "enum" || field.T()[0] !== "google.protobuf.NullValue")) {
-              continue;
-            }
-            if (oneofsHandled.includes(field.oneof))
-              throw new Error(`Multiple members of the oneof group "${field.oneof}" of ${this.info.typeName} are present in JSON.`);
-            oneofsHandled.push(field.oneof);
-            target = message[field.oneof] = {
-              oneofKind: localName
-            };
-          } else {
-            target = message;
-          }
-          if (field.kind == "map") {
-            if (jsonValue === null) {
-              continue;
-            }
-            this.assert(json_typings_1.isJsonObject(jsonValue), field.name, jsonValue);
-            const fieldObj = target[localName];
-            for (const [jsonObjKey, jsonObjValue] of Object.entries(jsonValue)) {
-              this.assert(jsonObjValue !== null, field.name + " map value", null);
-              let val;
-              switch (field.V.kind) {
-                case "message":
-                  val = field.V.T().internalJsonRead(jsonObjValue, options);
-                  break;
-                case "enum":
-                  val = this.enum(field.V.T(), jsonObjValue, field.name, options.ignoreUnknownFields);
-                  if (val === false)
-                    continue;
-                  break;
-                case "scalar":
-                  val = this.scalar(jsonObjValue, field.V.T, field.V.L, field.name);
-                  break;
+      class w {
+        constructor(t2) {
+          this.suppressValidationErr = !t2;
+        }
+        readDocType(t2, e2) {
+          const i2 = {};
+          if ("O" !== t2[e2 + 3] || "C" !== t2[e2 + 4] || "T" !== t2[e2 + 5] || "Y" !== t2[e2 + 6] || "P" !== t2[e2 + 7] || "E" !== t2[e2 + 8]) throw new Error("Invalid Tag instead of DOCTYPE");
+          {
+            e2 += 9;
+            let n2 = 1, s2 = false, r2 = false, o2 = "";
+            for (; e2 < t2.length; e2++) if ("<" !== t2[e2] || r2) if (">" === t2[e2]) {
+              if (r2 ? "-" === t2[e2 - 1] && "-" === t2[e2 - 2] && (r2 = false, n2--) : n2--, 0 === n2) break;
+            } else "[" === t2[e2] ? s2 = true : o2 += t2[e2];
+            else {
+              if (s2 && P(t2, "!ENTITY", e2)) {
+                let n3, s3;
+                e2 += 7, [n3, s3, e2] = this.readEntityExp(t2, e2 + 1, this.suppressValidationErr), -1 === s3.indexOf("&") && (i2[n3] = { regx: RegExp(`&${n3};`, "g"), val: s3 });
+              } else if (s2 && P(t2, "!ELEMENT", e2)) {
+                e2 += 8;
+                const { index: i3 } = this.readElementExp(t2, e2 + 1);
+                e2 = i3;
+              } else if (s2 && P(t2, "!ATTLIST", e2)) e2 += 8;
+              else if (s2 && P(t2, "!NOTATION", e2)) {
+                e2 += 9;
+                const { index: i3 } = this.readNotationExp(t2, e2 + 1, this.suppressValidationErr);
+                e2 = i3;
+              } else {
+                if (!P(t2, "!--", e2)) throw new Error("Invalid DOCTYPE");
+                r2 = true;
               }
-              this.assert(val !== void 0, field.name + " map value", jsonObjValue);
-              let key = jsonObjKey;
-              if (field.K == reflection_info_1.ScalarType.BOOL)
-                key = key == "true" ? true : key == "false" ? false : key;
-              key = this.scalar(key, field.K, reflection_info_1.LongType.STRING, field.name).toString();
-              fieldObj[key] = val;
+              n2++, o2 = "";
             }
-          } else if (field.repeat) {
-            if (jsonValue === null)
-              continue;
-            this.assert(Array.isArray(jsonValue), field.name, jsonValue);
-            const fieldArr = target[localName];
-            for (const jsonItem of jsonValue) {
-              this.assert(jsonItem !== null, field.name, null);
-              let val;
-              switch (field.kind) {
-                case "message":
-                  val = field.T().internalJsonRead(jsonItem, options);
-                  break;
-                case "enum":
-                  val = this.enum(field.T(), jsonItem, field.name, options.ignoreUnknownFields);
-                  if (val === false)
-                    continue;
-                  break;
-                case "scalar":
-                  val = this.scalar(jsonItem, field.T, field.L, field.name);
-                  break;
-              }
-              this.assert(val !== void 0, field.name, jsonValue);
-              fieldArr.push(val);
+            if (0 !== n2) throw new Error("Unclosed DOCTYPE");
+          }
+          return { entities: i2, i: e2 };
+        }
+        readEntityExp(t2, e2) {
+          e2 = I(t2, e2);
+          let i2 = "";
+          for (; e2 < t2.length && !/\s/.test(t2[e2]) && '"' !== t2[e2] && "'" !== t2[e2]; ) i2 += t2[e2], e2++;
+          if (O(i2), e2 = I(t2, e2), !this.suppressValidationErr) {
+            if ("SYSTEM" === t2.substring(e2, e2 + 6).toUpperCase()) throw new Error("External entities are not supported");
+            if ("%" === t2[e2]) throw new Error("Parameter entities are not supported");
+          }
+          let n2 = "";
+          return [e2, n2] = this.readIdentifierVal(t2, e2, "entity"), [i2, n2, --e2];
+        }
+        readNotationExp(t2, e2) {
+          e2 = I(t2, e2);
+          let i2 = "";
+          for (; e2 < t2.length && !/\s/.test(t2[e2]); ) i2 += t2[e2], e2++;
+          !this.suppressValidationErr && O(i2), e2 = I(t2, e2);
+          const n2 = t2.substring(e2, e2 + 6).toUpperCase();
+          if (!this.suppressValidationErr && "SYSTEM" !== n2 && "PUBLIC" !== n2) throw new Error(`Expected SYSTEM or PUBLIC, found "${n2}"`);
+          e2 += n2.length, e2 = I(t2, e2);
+          let s2 = null, r2 = null;
+          if ("PUBLIC" === n2) [e2, s2] = this.readIdentifierVal(t2, e2, "publicIdentifier"), '"' !== t2[e2 = I(t2, e2)] && "'" !== t2[e2] || ([e2, r2] = this.readIdentifierVal(t2, e2, "systemIdentifier"));
+          else if ("SYSTEM" === n2 && ([e2, r2] = this.readIdentifierVal(t2, e2, "systemIdentifier"), !this.suppressValidationErr && !r2)) throw new Error("Missing mandatory system identifier for SYSTEM notation");
+          return { notationName: i2, publicIdentifier: s2, systemIdentifier: r2, index: --e2 };
+        }
+        readIdentifierVal(t2, e2, i2) {
+          let n2 = "";
+          const s2 = t2[e2];
+          if ('"' !== s2 && "'" !== s2) throw new Error(`Expected quoted string, found "${s2}"`);
+          for (e2++; e2 < t2.length && t2[e2] !== s2; ) n2 += t2[e2], e2++;
+          if (t2[e2] !== s2) throw new Error(`Unterminated ${i2} value`);
+          return [++e2, n2];
+        }
+        readElementExp(t2, e2) {
+          e2 = I(t2, e2);
+          let i2 = "";
+          for (; e2 < t2.length && !/\s/.test(t2[e2]); ) i2 += t2[e2], e2++;
+          if (!this.suppressValidationErr && !r(i2)) throw new Error(`Invalid element name: "${i2}"`);
+          let n2 = "";
+          if ("E" === t2[e2 = I(t2, e2)] && P(t2, "MPTY", e2)) e2 += 4;
+          else if ("A" === t2[e2] && P(t2, "NY", e2)) e2 += 2;
+          else if ("(" === t2[e2]) {
+            for (e2++; e2 < t2.length && ")" !== t2[e2]; ) n2 += t2[e2], e2++;
+            if (")" !== t2[e2]) throw new Error("Unterminated content model");
+          } else if (!this.suppressValidationErr) throw new Error(`Invalid Element Expression, found "${t2[e2]}"`);
+          return { elementName: i2, contentModel: n2.trim(), index: e2 };
+        }
+        readAttlistExp(t2, e2) {
+          e2 = I(t2, e2);
+          let i2 = "";
+          for (; e2 < t2.length && !/\s/.test(t2[e2]); ) i2 += t2[e2], e2++;
+          O(i2), e2 = I(t2, e2);
+          let n2 = "";
+          for (; e2 < t2.length && !/\s/.test(t2[e2]); ) n2 += t2[e2], e2++;
+          if (!O(n2)) throw new Error(`Invalid attribute name: "${n2}"`);
+          e2 = I(t2, e2);
+          let s2 = "";
+          if ("NOTATION" === t2.substring(e2, e2 + 8).toUpperCase()) {
+            if (s2 = "NOTATION", "(" !== t2[e2 = I(t2, e2 += 8)]) throw new Error(`Expected '(', found "${t2[e2]}"`);
+            e2++;
+            let i3 = [];
+            for (; e2 < t2.length && ")" !== t2[e2]; ) {
+              let n3 = "";
+              for (; e2 < t2.length && "|" !== t2[e2] && ")" !== t2[e2]; ) n3 += t2[e2], e2++;
+              if (n3 = n3.trim(), !O(n3)) throw new Error(`Invalid notation name: "${n3}"`);
+              i3.push(n3), "|" === t2[e2] && (e2++, e2 = I(t2, e2));
             }
+            if (")" !== t2[e2]) throw new Error("Unterminated list of notations");
+            e2++, s2 += " (" + i3.join("|") + ")";
           } else {
-            switch (field.kind) {
-              case "message":
-                if (jsonValue === null && field.T().typeName != "google.protobuf.Value") {
-                  this.assert(field.oneof === void 0, field.name + " (oneof member)", null);
-                  continue;
-                }
-                target[localName] = field.T().internalJsonRead(jsonValue, options, target[localName]);
-                break;
-              case "enum":
-                if (jsonValue === null)
-                  continue;
-                let val = this.enum(field.T(), jsonValue, field.name, options.ignoreUnknownFields);
-                if (val === false)
-                  continue;
-                target[localName] = val;
-                break;
-              case "scalar":
-                if (jsonValue === null)
-                  continue;
-                target[localName] = this.scalar(jsonValue, field.T, field.L, field.name);
-                break;
-            }
+            for (; e2 < t2.length && !/\s/.test(t2[e2]); ) s2 += t2[e2], e2++;
+            const i3 = ["CDATA", "ID", "IDREF", "IDREFS", "ENTITY", "ENTITIES", "NMTOKEN", "NMTOKENS"];
+            if (!this.suppressValidationErr && !i3.includes(s2.toUpperCase())) throw new Error(`Invalid attribute type: "${s2}"`);
           }
+          e2 = I(t2, e2);
+          let r2 = "";
+          return "#REQUIRED" === t2.substring(e2, e2 + 8).toUpperCase() ? (r2 = "#REQUIRED", e2 += 8) : "#IMPLIED" === t2.substring(e2, e2 + 7).toUpperCase() ? (r2 = "#IMPLIED", e2 += 7) : [e2, r2] = this.readIdentifierVal(t2, e2, "ATTLIST"), { elementName: i2, attributeName: n2, attributeType: s2, defaultValue: r2, index: e2 };
         }
       }
-      /**
-       * Returns `false` for unrecognized string representations.
-       *
-       * google.protobuf.NullValue accepts only JSON `null` (or the old `"NULL_VALUE"`).
-       */
-      enum(type2, json2, fieldName, ignoreUnknownFields) {
-        if (type2[0] == "google.protobuf.NullValue")
-          assert_1.assert(json2 === null || json2 === "NULL_VALUE", `Unable to parse field ${this.info.typeName}#${fieldName}, enum ${type2[0]} only accepts null.`);
-        if (json2 === null)
-          return 0;
-        switch (typeof json2) {
-          case "number":
-            assert_1.assert(Number.isInteger(json2), `Unable to parse field ${this.info.typeName}#${fieldName}, enum can only be integral number, got ${json2}.`);
-            return json2;
-          case "string":
-            let localEnumName = json2;
-            if (type2[2] && json2.substring(0, type2[2].length) === type2[2])
-              localEnumName = json2.substring(type2[2].length);
-            let enumNumber = type2[1][localEnumName];
-            if (typeof enumNumber === "undefined" && ignoreUnknownFields) {
-              return false;
+      const I = (t2, e2) => {
+        for (; e2 < t2.length && /\s/.test(t2[e2]); ) e2++;
+        return e2;
+      };
+      function P(t2, e2, i2) {
+        for (let n2 = 0; n2 < e2.length; n2++) if (e2[n2] !== t2[i2 + n2 + 1]) return false;
+        return true;
+      }
+      function O(t2) {
+        if (r(t2)) return t2;
+        throw new Error(`Invalid entity name ${t2}`);
+      }
+      const A = /^[-+]?0x[a-fA-F0-9]+$/, S = /^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/, C = { hex: true, leadingZeros: true, decimalPoint: ".", eNotation: true };
+      const V = /^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/;
+      function $(t2) {
+        return "function" == typeof t2 ? t2 : Array.isArray(t2) ? (e2) => {
+          for (const i2 of t2) {
+            if ("string" == typeof i2 && e2 === i2) return true;
+            if (i2 instanceof RegExp && i2.test(e2)) return true;
+          }
+        } : () => false;
+      }
+      class D {
+        constructor(t2) {
+          if (this.options = t2, this.currentNode = null, this.tagsNodeStack = [], this.docTypeEntities = {}, this.lastEntities = { apos: { regex: /&(apos|#39|#x27);/g, val: "'" }, gt: { regex: /&(gt|#62|#x3E);/g, val: ">" }, lt: { regex: /&(lt|#60|#x3C);/g, val: "<" }, quot: { regex: /&(quot|#34|#x22);/g, val: '"' } }, this.ampEntity = { regex: /&(amp|#38|#x26);/g, val: "&" }, this.htmlEntities = { space: { regex: /&(nbsp|#160);/g, val: " " }, cent: { regex: /&(cent|#162);/g, val: "\xA2" }, pound: { regex: /&(pound|#163);/g, val: "\xA3" }, yen: { regex: /&(yen|#165);/g, val: "\xA5" }, euro: { regex: /&(euro|#8364);/g, val: "\u20AC" }, copyright: { regex: /&(copy|#169);/g, val: "\xA9" }, reg: { regex: /&(reg|#174);/g, val: "\xAE" }, inr: { regex: /&(inr|#8377);/g, val: "\u20B9" }, num_dec: { regex: /&#([0-9]{1,7});/g, val: (t3, e2) => Z(e2, 10, "&#") }, num_hex: { regex: /&#x([0-9a-fA-F]{1,6});/g, val: (t3, e2) => Z(e2, 16, "&#x") } }, this.addExternalEntities = j, this.parseXml = L, this.parseTextData = M, this.resolveNameSpace = F, this.buildAttributesMap = k, this.isItStopNode = Y, this.replaceEntitiesValue = B, this.readStopNodeData = W, this.saveTextToParentTag = R, this.addChild = U, this.ignoreAttributesFn = $(this.options.ignoreAttributes), this.options.stopNodes && this.options.stopNodes.length > 0) {
+            this.stopNodesExact = /* @__PURE__ */ new Set(), this.stopNodesWildcard = /* @__PURE__ */ new Set();
+            for (let t3 = 0; t3 < this.options.stopNodes.length; t3++) {
+              const e2 = this.options.stopNodes[t3];
+              "string" == typeof e2 && (e2.startsWith("*.") ? this.stopNodesWildcard.add(e2.substring(2)) : this.stopNodesExact.add(e2));
             }
-            assert_1.assert(typeof enumNumber == "number", `Unable to parse field ${this.info.typeName}#${fieldName}, enum ${type2[0]} has no value for "${json2}".`);
-            return enumNumber;
+          }
         }
-        assert_1.assert(false, `Unable to parse field ${this.info.typeName}#${fieldName}, cannot parse enum value from ${typeof json2}".`);
       }
-      scalar(json2, type2, longType, fieldName) {
-        let e;
-        try {
-          switch (type2) {
-            // float, double: JSON value will be a number or one of the special string values "NaN", "Infinity", and "-Infinity".
-            // Either numbers or strings are accepted. Exponent notation is also accepted.
-            case reflection_info_1.ScalarType.DOUBLE:
-            case reflection_info_1.ScalarType.FLOAT:
-              if (json2 === null)
-                return 0;
-              if (json2 === "NaN")
-                return Number.NaN;
-              if (json2 === "Infinity")
-                return Number.POSITIVE_INFINITY;
-              if (json2 === "-Infinity")
-                return Number.NEGATIVE_INFINITY;
-              if (json2 === "") {
-                e = "empty string";
-                break;
-              }
-              if (typeof json2 == "string" && json2.trim().length !== json2.length) {
-                e = "extra whitespace";
-                break;
-              }
-              if (typeof json2 != "string" && typeof json2 != "number") {
-                break;
-              }
-              let float2 = Number(json2);
-              if (Number.isNaN(float2)) {
-                e = "not a number";
-                break;
-              }
-              if (!Number.isFinite(float2)) {
-                e = "too large or small";
-                break;
-              }
-              if (type2 == reflection_info_1.ScalarType.FLOAT)
-                assert_1.assertFloat32(float2);
-              return float2;
-            // int32, fixed32, uint32: JSON value will be a decimal number. Either numbers or strings are accepted.
-            case reflection_info_1.ScalarType.INT32:
-            case reflection_info_1.ScalarType.FIXED32:
-            case reflection_info_1.ScalarType.SFIXED32:
-            case reflection_info_1.ScalarType.SINT32:
-            case reflection_info_1.ScalarType.UINT32:
-              if (json2 === null)
-                return 0;
-              let int32;
-              if (typeof json2 == "number")
-                int32 = json2;
-              else if (json2 === "")
-                e = "empty string";
-              else if (typeof json2 == "string") {
-                if (json2.trim().length !== json2.length)
-                  e = "extra whitespace";
-                else
-                  int32 = Number(json2);
-              }
-              if (int32 === void 0)
-                break;
-              if (type2 == reflection_info_1.ScalarType.UINT32)
-                assert_1.assertUInt32(int32);
-              else
-                assert_1.assertInt32(int32);
-              return int32;
-            // int64, fixed64, uint64: JSON value will be a decimal string. Either numbers or strings are accepted.
-            case reflection_info_1.ScalarType.INT64:
-            case reflection_info_1.ScalarType.SFIXED64:
-            case reflection_info_1.ScalarType.SINT64:
-              if (json2 === null)
-                return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.ZERO, longType);
-              if (typeof json2 != "number" && typeof json2 != "string")
-                break;
-              return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.from(json2), longType);
-            case reflection_info_1.ScalarType.FIXED64:
-            case reflection_info_1.ScalarType.UINT64:
-              if (json2 === null)
-                return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.ZERO, longType);
-              if (typeof json2 != "number" && typeof json2 != "string")
-                break;
-              return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.from(json2), longType);
-            // bool:
-            case reflection_info_1.ScalarType.BOOL:
-              if (json2 === null)
-                return false;
-              if (typeof json2 !== "boolean")
-                break;
-              return json2;
-            // string:
-            case reflection_info_1.ScalarType.STRING:
-              if (json2 === null)
-                return "";
-              if (typeof json2 !== "string") {
-                e = "extra whitespace";
-                break;
-              }
-              try {
-                encodeURIComponent(json2);
-              } catch (e2) {
-                e2 = "invalid UTF8";
-                break;
-              }
-              return json2;
-            // bytes: JSON value will be the data encoded as a string using standard base64 encoding with paddings.
-            // Either standard or URL-safe base64 encoding with/without paddings are accepted.
-            case reflection_info_1.ScalarType.BYTES:
-              if (json2 === null || json2 === "")
-                return new Uint8Array(0);
-              if (typeof json2 !== "string")
-                break;
-              return base64_1.base64decode(json2);
-          }
-        } catch (error3) {
-          e = error3.message;
+      function j(t2) {
+        const e2 = Object.keys(t2);
+        for (let i2 = 0; i2 < e2.length; i2++) {
+          const n2 = e2[i2];
+          this.lastEntities[n2] = { regex: new RegExp("&" + n2 + ";", "g"), val: t2[n2] };
+        }
+      }
+      function M(t2, e2, i2, n2, s2, r2, o2) {
+        if (void 0 !== t2 && (this.options.trimValues && !n2 && (t2 = t2.trim()), t2.length > 0)) {
+          o2 || (t2 = this.replaceEntitiesValue(t2));
+          const n3 = this.options.tagValueProcessor(e2, t2, i2, s2, r2);
+          return null == n3 ? t2 : typeof n3 != typeof t2 || n3 !== t2 ? n3 : this.options.trimValues || t2.trim() === t2 ? q(t2, this.options.parseTagValue, this.options.numberParseOptions) : t2;
         }
-        this.assert(false, fieldName + (e ? " - " + e : ""), json2);
       }
-    };
-    exports2.ReflectionJsonReader = ReflectionJsonReader;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-writer.js
-var require_reflection_json_writer = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-writer.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ReflectionJsonWriter = void 0;
-    var base64_1 = require_base64();
-    var pb_long_1 = require_pb_long();
-    var reflection_info_1 = require_reflection_info();
-    var assert_1 = require_assert();
-    var ReflectionJsonWriter = class {
-      constructor(info7) {
-        var _a;
-        this.fields = (_a = info7.fields) !== null && _a !== void 0 ? _a : [];
+      function F(t2) {
+        if (this.options.removeNSPrefix) {
+          const e2 = t2.split(":"), i2 = "/" === t2.charAt(0) ? "/" : "";
+          if ("xmlns" === e2[0]) return "";
+          2 === e2.length && (t2 = i2 + e2[1]);
+        }
+        return t2;
       }
-      /**
-       * Converts the message to a JSON object, based on the field descriptors.
-       */
-      write(message, options) {
-        const json2 = {}, source = message;
-        for (const field of this.fields) {
-          if (!field.oneof) {
-            let jsonValue2 = this.field(field, source[field.localName], options);
-            if (jsonValue2 !== void 0)
-              json2[options.useProtoFieldName ? field.name : field.jsonName] = jsonValue2;
-            continue;
+      const _2 = new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`, "gm");
+      function k(t2, e2) {
+        if (true !== this.options.ignoreAttributes && "string" == typeof t2) {
+          const i2 = s(t2, _2), n2 = i2.length, r2 = {};
+          for (let t3 = 0; t3 < n2; t3++) {
+            const n3 = this.resolveNameSpace(i2[t3][1]);
+            if (this.ignoreAttributesFn(n3, e2)) continue;
+            let s2 = i2[t3][4], o2 = this.options.attributeNamePrefix + n3;
+            if (n3.length) if (this.options.transformAttributeName && (o2 = this.options.transformAttributeName(o2)), "__proto__" === o2 && (o2 = "#__proto__"), void 0 !== s2) {
+              this.options.trimValues && (s2 = s2.trim()), s2 = this.replaceEntitiesValue(s2);
+              const t4 = this.options.attributeValueProcessor(n3, s2, e2);
+              r2[o2] = null == t4 ? s2 : typeof t4 != typeof s2 || t4 !== s2 ? t4 : q(s2, this.options.parseAttributeValue, this.options.numberParseOptions);
+            } else this.options.allowBooleanAttributes && (r2[o2] = true);
           }
-          const group = source[field.oneof];
-          if (group.oneofKind !== field.localName)
-            continue;
-          const opt = field.kind == "scalar" || field.kind == "enum" ? Object.assign(Object.assign({}, options), { emitDefaultValues: true }) : options;
-          let jsonValue = this.field(field, group[field.localName], opt);
-          assert_1.assert(jsonValue !== void 0);
-          json2[options.useProtoFieldName ? field.name : field.jsonName] = jsonValue;
+          if (!Object.keys(r2).length) return;
+          if (this.options.attributesGroupName) {
+            const t3 = {};
+            return t3[this.options.attributesGroupName] = r2, t3;
+          }
+          return r2;
         }
-        return json2;
       }
-      field(field, value, options) {
-        let jsonValue = void 0;
-        if (field.kind == "map") {
-          assert_1.assert(typeof value == "object" && value !== null);
-          const jsonObj = {};
-          switch (field.V.kind) {
-            case "scalar":
-              for (const [entryKey, entryValue] of Object.entries(value)) {
-                const val = this.scalar(field.V.T, entryValue, field.name, false, true);
-                assert_1.assert(val !== void 0);
-                jsonObj[entryKey.toString()] = val;
-              }
-              break;
-            case "message":
-              const messageType = field.V.T();
-              for (const [entryKey, entryValue] of Object.entries(value)) {
-                const val = this.message(messageType, entryValue, field.name, options);
-                assert_1.assert(val !== void 0);
-                jsonObj[entryKey.toString()] = val;
-              }
-              break;
-            case "enum":
-              const enumInfo = field.V.T();
-              for (const [entryKey, entryValue] of Object.entries(value)) {
-                assert_1.assert(entryValue === void 0 || typeof entryValue == "number");
-                const val = this.enum(enumInfo, entryValue, field.name, false, true, options.enumAsInteger);
-                assert_1.assert(val !== void 0);
-                jsonObj[entryKey.toString()] = val;
-              }
-              break;
+      const L = function(t2) {
+        t2 = t2.replace(/\r\n?/g, "\n");
+        const e2 = new y("!xml");
+        let i2 = e2, n2 = "", s2 = "";
+        const r2 = new w(this.options.processEntities);
+        for (let o2 = 0; o2 < t2.length; o2++) if ("<" === t2[o2]) if ("/" === t2[o2 + 1]) {
+          const e3 = G(t2, ">", o2, "Closing Tag is not closed.");
+          let r3 = t2.substring(o2 + 2, e3).trim();
+          if (this.options.removeNSPrefix) {
+            const t3 = r3.indexOf(":");
+            -1 !== t3 && (r3 = r3.substr(t3 + 1));
           }
-          if (options.emitDefaultValues || Object.keys(jsonObj).length > 0)
-            jsonValue = jsonObj;
-        } else if (field.repeat) {
-          assert_1.assert(Array.isArray(value));
-          const jsonArr = [];
-          switch (field.kind) {
-            case "scalar":
-              for (let i = 0; i < value.length; i++) {
-                const val = this.scalar(field.T, value[i], field.name, field.opt, true);
-                assert_1.assert(val !== void 0);
-                jsonArr.push(val);
-              }
-              break;
-            case "enum":
-              const enumInfo = field.T();
-              for (let i = 0; i < value.length; i++) {
-                assert_1.assert(value[i] === void 0 || typeof value[i] == "number");
-                const val = this.enum(enumInfo, value[i], field.name, field.opt, true, options.enumAsInteger);
-                assert_1.assert(val !== void 0);
-                jsonArr.push(val);
-              }
-              break;
-            case "message":
-              const messageType = field.T();
-              for (let i = 0; i < value.length; i++) {
-                const val = this.message(messageType, value[i], field.name, options);
-                assert_1.assert(val !== void 0);
-                jsonArr.push(val);
-              }
-              break;
+          this.options.transformTagName && (r3 = this.options.transformTagName(r3)), i2 && (n2 = this.saveTextToParentTag(n2, i2, s2));
+          const a2 = s2.substring(s2.lastIndexOf(".") + 1);
+          if (r3 && -1 !== this.options.unpairedTags.indexOf(r3)) throw new Error(`Unpaired tag can not be used as closing tag: `);
+          let l2 = 0;
+          a2 && -1 !== this.options.unpairedTags.indexOf(a2) ? (l2 = s2.lastIndexOf(".", s2.lastIndexOf(".") - 1), this.tagsNodeStack.pop()) : l2 = s2.lastIndexOf("."), s2 = s2.substring(0, l2), i2 = this.tagsNodeStack.pop(), n2 = "", o2 = e3;
+        } else if ("?" === t2[o2 + 1]) {
+          let e3 = X(t2, o2, false, "?>");
+          if (!e3) throw new Error("Pi Tag is not closed.");
+          if (n2 = this.saveTextToParentTag(n2, i2, s2), this.options.ignoreDeclaration && "?xml" === e3.tagName || this.options.ignorePiTags) ;
+          else {
+            const t3 = new y(e3.tagName);
+            t3.add(this.options.textNodeName, ""), e3.tagName !== e3.tagExp && e3.attrExpPresent && (t3[":@"] = this.buildAttributesMap(e3.tagExp, s2)), this.addChild(i2, t3, s2, o2);
           }
-          if (options.emitDefaultValues || jsonArr.length > 0 || options.emitDefaultValues)
-            jsonValue = jsonArr;
+          o2 = e3.closeIndex + 1;
+        } else if ("!--" === t2.substr(o2 + 1, 3)) {
+          const e3 = G(t2, "-->", o2 + 4, "Comment is not closed.");
+          if (this.options.commentPropName) {
+            const r3 = t2.substring(o2 + 4, e3 - 2);
+            n2 = this.saveTextToParentTag(n2, i2, s2), i2.add(this.options.commentPropName, [{ [this.options.textNodeName]: r3 }]);
+          }
+          o2 = e3;
+        } else if ("!D" === t2.substr(o2 + 1, 2)) {
+          const e3 = r2.readDocType(t2, o2);
+          this.docTypeEntities = e3.entities, o2 = e3.i;
+        } else if ("![" === t2.substr(o2 + 1, 2)) {
+          const e3 = G(t2, "]]>", o2, "CDATA is not closed.") - 2, r3 = t2.substring(o2 + 9, e3);
+          n2 = this.saveTextToParentTag(n2, i2, s2);
+          let a2 = this.parseTextData(r3, i2.tagname, s2, true, false, true, true);
+          null == a2 && (a2 = ""), this.options.cdataPropName ? i2.add(this.options.cdataPropName, [{ [this.options.textNodeName]: r3 }]) : i2.add(this.options.textNodeName, a2), o2 = e3 + 2;
         } else {
-          switch (field.kind) {
-            case "scalar":
-              jsonValue = this.scalar(field.T, value, field.name, field.opt, options.emitDefaultValues);
-              break;
-            case "enum":
-              jsonValue = this.enum(field.T(), value, field.name, field.opt, options.emitDefaultValues, options.enumAsInteger);
-              break;
-            case "message":
-              jsonValue = this.message(field.T(), value, field.name, options);
-              break;
+          let r3 = X(t2, o2, this.options.removeNSPrefix), a2 = r3.tagName;
+          const l2 = r3.rawTagName;
+          let u2 = r3.tagExp, h2 = r3.attrExpPresent, d2 = r3.closeIndex;
+          if (this.options.transformTagName) {
+            const t3 = this.options.transformTagName(a2);
+            u2 === a2 && (u2 = t3), a2 = t3;
+          }
+          i2 && n2 && "!xml" !== i2.tagname && (n2 = this.saveTextToParentTag(n2, i2, s2, false));
+          const p2 = i2;
+          p2 && -1 !== this.options.unpairedTags.indexOf(p2.tagname) && (i2 = this.tagsNodeStack.pop(), s2 = s2.substring(0, s2.lastIndexOf("."))), a2 !== e2.tagname && (s2 += s2 ? "." + a2 : a2);
+          const f2 = o2;
+          if (this.isItStopNode(this.stopNodesExact, this.stopNodesWildcard, s2, a2)) {
+            let e3 = "";
+            if (u2.length > 0 && u2.lastIndexOf("/") === u2.length - 1) "/" === a2[a2.length - 1] ? (a2 = a2.substr(0, a2.length - 1), s2 = s2.substr(0, s2.length - 1), u2 = a2) : u2 = u2.substr(0, u2.length - 1), o2 = r3.closeIndex;
+            else if (-1 !== this.options.unpairedTags.indexOf(a2)) o2 = r3.closeIndex;
+            else {
+              const i3 = this.readStopNodeData(t2, l2, d2 + 1);
+              if (!i3) throw new Error(`Unexpected end of ${l2}`);
+              o2 = i3.i, e3 = i3.tagContent;
+            }
+            const n3 = new y(a2);
+            a2 !== u2 && h2 && (n3[":@"] = this.buildAttributesMap(u2, s2)), e3 && (e3 = this.parseTextData(e3, a2, s2, true, h2, true, true)), s2 = s2.substr(0, s2.lastIndexOf(".")), n3.add(this.options.textNodeName, e3), this.addChild(i2, n3, s2, f2);
+          } else {
+            if (u2.length > 0 && u2.lastIndexOf("/") === u2.length - 1) {
+              if ("/" === a2[a2.length - 1] ? (a2 = a2.substr(0, a2.length - 1), s2 = s2.substr(0, s2.length - 1), u2 = a2) : u2 = u2.substr(0, u2.length - 1), this.options.transformTagName) {
+                const t4 = this.options.transformTagName(a2);
+                u2 === a2 && (u2 = t4), a2 = t4;
+              }
+              const t3 = new y(a2);
+              a2 !== u2 && h2 && (t3[":@"] = this.buildAttributesMap(u2, s2)), this.addChild(i2, t3, s2, f2), s2 = s2.substr(0, s2.lastIndexOf("."));
+            } else {
+              const t3 = new y(a2);
+              this.tagsNodeStack.push(i2), a2 !== u2 && h2 && (t3[":@"] = this.buildAttributesMap(u2, s2)), this.addChild(i2, t3, s2, f2), i2 = t3;
+            }
+            n2 = "", o2 = d2;
           }
         }
-        return jsonValue;
+        else n2 += t2[o2];
+        return e2.child;
+      };
+      function U(t2, e2, i2, n2) {
+        this.options.captureMetaData || (n2 = void 0);
+        const s2 = this.options.updateTag(e2.tagname, i2, e2[":@"]);
+        false === s2 || ("string" == typeof s2 ? (e2.tagname = s2, t2.addChild(e2, n2)) : t2.addChild(e2, n2));
       }
-      /**
-       * Returns `null` as the default for google.protobuf.NullValue.
-       */
-      enum(type2, value, fieldName, optional, emitDefaultValues, enumAsInteger) {
-        if (type2[0] == "google.protobuf.NullValue")
-          return !emitDefaultValues && !optional ? void 0 : null;
-        if (value === void 0) {
-          assert_1.assert(optional);
-          return void 0;
+      const B = function(t2) {
+        if (this.options.processEntities) {
+          for (let e2 in this.docTypeEntities) {
+            const i2 = this.docTypeEntities[e2];
+            t2 = t2.replace(i2.regx, i2.val);
+          }
+          for (let e2 in this.lastEntities) {
+            const i2 = this.lastEntities[e2];
+            t2 = t2.replace(i2.regex, i2.val);
+          }
+          if (this.options.htmlEntities) for (let e2 in this.htmlEntities) {
+            const i2 = this.htmlEntities[e2];
+            t2 = t2.replace(i2.regex, i2.val);
+          }
+          t2 = t2.replace(this.ampEntity.regex, this.ampEntity.val);
         }
-        if (value === 0 && !emitDefaultValues && !optional)
-          return void 0;
-        assert_1.assert(typeof value == "number");
-        assert_1.assert(Number.isInteger(value));
-        if (enumAsInteger || !type2[1].hasOwnProperty(value))
-          return value;
-        if (type2[2])
-          return type2[2] + type2[1][value];
-        return type2[1][value];
+        return t2;
+      };
+      function R(t2, e2, i2, n2) {
+        return t2 && (void 0 === n2 && (n2 = 0 === e2.child.length), void 0 !== (t2 = this.parseTextData(t2, e2.tagname, i2, false, !!e2[":@"] && 0 !== Object.keys(e2[":@"]).length, n2)) && "" !== t2 && e2.add(this.options.textNodeName, t2), t2 = ""), t2;
       }
-      message(type2, value, fieldName, options) {
-        if (value === void 0)
-          return options.emitDefaultValues ? null : void 0;
-        return type2.internalJsonWrite(value, options);
+      function Y(t2, e2, i2, n2) {
+        return !(!e2 || !e2.has(n2)) || !(!t2 || !t2.has(i2));
       }
-      scalar(type2, value, fieldName, optional, emitDefaultValues) {
-        if (value === void 0) {
-          assert_1.assert(optional);
-          return void 0;
+      function G(t2, e2, i2, n2) {
+        const s2 = t2.indexOf(e2, i2);
+        if (-1 === s2) throw new Error(n2);
+        return s2 + e2.length - 1;
+      }
+      function X(t2, e2, i2, n2 = ">") {
+        const s2 = (function(t3, e3, i3 = ">") {
+          let n3, s3 = "";
+          for (let r3 = e3; r3 < t3.length; r3++) {
+            let e4 = t3[r3];
+            if (n3) e4 === n3 && (n3 = "");
+            else if ('"' === e4 || "'" === e4) n3 = e4;
+            else if (e4 === i3[0]) {
+              if (!i3[1]) return { data: s3, index: r3 };
+              if (t3[r3 + 1] === i3[1]) return { data: s3, index: r3 };
+            } else "	" === e4 && (e4 = " ");
+            s3 += e4;
+          }
+        })(t2, e2 + 1, n2);
+        if (!s2) return;
+        let r2 = s2.data;
+        const o2 = s2.index, a2 = r2.search(/\s/);
+        let l2 = r2, u2 = true;
+        -1 !== a2 && (l2 = r2.substring(0, a2), r2 = r2.substring(a2 + 1).trimStart());
+        const h2 = l2;
+        if (i2) {
+          const t3 = l2.indexOf(":");
+          -1 !== t3 && (l2 = l2.substr(t3 + 1), u2 = l2 !== s2.data.substr(t3 + 1));
         }
-        const ed = emitDefaultValues || optional;
-        switch (type2) {
-          // int32, fixed32, uint32: JSON value will be a decimal number. Either numbers or strings are accepted.
-          case reflection_info_1.ScalarType.INT32:
-          case reflection_info_1.ScalarType.SFIXED32:
-          case reflection_info_1.ScalarType.SINT32:
-            if (value === 0)
-              return ed ? 0 : void 0;
-            assert_1.assertInt32(value);
-            return value;
-          case reflection_info_1.ScalarType.FIXED32:
-          case reflection_info_1.ScalarType.UINT32:
-            if (value === 0)
-              return ed ? 0 : void 0;
-            assert_1.assertUInt32(value);
-            return value;
-          // float, double: JSON value will be a number or one of the special string values "NaN", "Infinity", and "-Infinity".
-          // Either numbers or strings are accepted. Exponent notation is also accepted.
-          case reflection_info_1.ScalarType.FLOAT:
-            assert_1.assertFloat32(value);
-          case reflection_info_1.ScalarType.DOUBLE:
-            if (value === 0)
-              return ed ? 0 : void 0;
-            assert_1.assert(typeof value == "number");
-            if (Number.isNaN(value))
-              return "NaN";
-            if (value === Number.POSITIVE_INFINITY)
-              return "Infinity";
-            if (value === Number.NEGATIVE_INFINITY)
-              return "-Infinity";
-            return value;
-          // string:
-          case reflection_info_1.ScalarType.STRING:
-            if (value === "")
-              return ed ? "" : void 0;
-            assert_1.assert(typeof value == "string");
-            return value;
-          // bool:
-          case reflection_info_1.ScalarType.BOOL:
-            if (value === false)
-              return ed ? false : void 0;
-            assert_1.assert(typeof value == "boolean");
-            return value;
-          // JSON value will be a decimal string. Either numbers or strings are accepted.
-          case reflection_info_1.ScalarType.UINT64:
-          case reflection_info_1.ScalarType.FIXED64:
-            assert_1.assert(typeof value == "number" || typeof value == "string" || typeof value == "bigint");
-            let ulong = pb_long_1.PbULong.from(value);
-            if (ulong.isZero() && !ed)
-              return void 0;
-            return ulong.toString();
-          // JSON value will be a decimal string. Either numbers or strings are accepted.
-          case reflection_info_1.ScalarType.INT64:
-          case reflection_info_1.ScalarType.SFIXED64:
-          case reflection_info_1.ScalarType.SINT64:
-            assert_1.assert(typeof value == "number" || typeof value == "string" || typeof value == "bigint");
-            let long = pb_long_1.PbLong.from(value);
-            if (long.isZero() && !ed)
-              return void 0;
-            return long.toString();
-          // bytes: JSON value will be the data encoded as a string using standard base64 encoding with paddings.
-          // Either standard or URL-safe base64 encoding with/without paddings are accepted.
-          case reflection_info_1.ScalarType.BYTES:
-            assert_1.assert(value instanceof Uint8Array);
-            if (!value.byteLength)
-              return ed ? "" : void 0;
-            return base64_1.base64encode(value);
+        return { tagName: l2, tagExp: r2, closeIndex: o2, attrExpPresent: u2, rawTagName: h2 };
+      }
+      function W(t2, e2, i2) {
+        const n2 = i2;
+        let s2 = 1;
+        for (; i2 < t2.length; i2++) if ("<" === t2[i2]) if ("/" === t2[i2 + 1]) {
+          const r2 = G(t2, ">", i2, `${e2} is not closed`);
+          if (t2.substring(i2 + 2, r2).trim() === e2 && (s2--, 0 === s2)) return { tagContent: t2.substring(n2, i2), i: r2 };
+          i2 = r2;
+        } else if ("?" === t2[i2 + 1]) i2 = G(t2, "?>", i2 + 1, "StopNode is not closed.");
+        else if ("!--" === t2.substr(i2 + 1, 3)) i2 = G(t2, "-->", i2 + 3, "StopNode is not closed.");
+        else if ("![" === t2.substr(i2 + 1, 2)) i2 = G(t2, "]]>", i2, "StopNode is not closed.") - 2;
+        else {
+          const n3 = X(t2, i2, ">");
+          n3 && ((n3 && n3.tagName) === e2 && "/" !== n3.tagExp[n3.tagExp.length - 1] && s2++, i2 = n3.closeIndex);
         }
       }
-    };
-    exports2.ReflectionJsonWriter = ReflectionJsonWriter;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-scalar-default.js
-var require_reflection_scalar_default = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-scalar-default.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.reflectionScalarDefault = void 0;
-    var reflection_info_1 = require_reflection_info();
-    var reflection_long_convert_1 = require_reflection_long_convert();
-    var pb_long_1 = require_pb_long();
-    function reflectionScalarDefault(type2, longType = reflection_info_1.LongType.STRING) {
-      switch (type2) {
-        case reflection_info_1.ScalarType.BOOL:
-          return false;
-        case reflection_info_1.ScalarType.UINT64:
-        case reflection_info_1.ScalarType.FIXED64:
-          return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.ZERO, longType);
-        case reflection_info_1.ScalarType.INT64:
-        case reflection_info_1.ScalarType.SFIXED64:
-        case reflection_info_1.ScalarType.SINT64:
-          return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.ZERO, longType);
-        case reflection_info_1.ScalarType.DOUBLE:
-        case reflection_info_1.ScalarType.FLOAT:
-          return 0;
-        case reflection_info_1.ScalarType.BYTES:
-          return new Uint8Array(0);
-        case reflection_info_1.ScalarType.STRING:
-          return "";
-        default:
-          return 0;
+      function q(t2, e2, i2) {
+        if (e2 && "string" == typeof t2) {
+          const e3 = t2.trim();
+          return "true" === e3 || "false" !== e3 && (function(t3, e4 = {}) {
+            if (e4 = Object.assign({}, C, e4), !t3 || "string" != typeof t3) return t3;
+            let i3 = t3.trim();
+            if (void 0 !== e4.skipLike && e4.skipLike.test(i3)) return t3;
+            if ("0" === t3) return 0;
+            if (e4.hex && A.test(i3)) return (function(t4) {
+              if (parseInt) return parseInt(t4, 16);
+              if (Number.parseInt) return Number.parseInt(t4, 16);
+              if (window && window.parseInt) return window.parseInt(t4, 16);
+              throw new Error("parseInt, Number.parseInt, window.parseInt are not supported");
+            })(i3);
+            if (-1 !== i3.search(/.+[eE].+/)) return (function(t4, e5, i4) {
+              if (!i4.eNotation) return t4;
+              const n3 = e5.match(V);
+              if (n3) {
+                let s2 = n3[1] || "";
+                const r2 = -1 === n3[3].indexOf("e") ? "E" : "e", o2 = n3[2], a2 = s2 ? t4[o2.length + 1] === r2 : t4[o2.length] === r2;
+                return o2.length > 1 && a2 ? t4 : 1 !== o2.length || !n3[3].startsWith(`.${r2}`) && n3[3][0] !== r2 ? i4.leadingZeros && !a2 ? (e5 = (n3[1] || "") + n3[3], Number(e5)) : t4 : Number(e5);
+              }
+              return t4;
+            })(t3, i3, e4);
+            {
+              const s2 = S.exec(i3);
+              if (s2) {
+                const r2 = s2[1] || "", o2 = s2[2];
+                let a2 = (n2 = s2[3]) && -1 !== n2.indexOf(".") ? ("." === (n2 = n2.replace(/0+$/, "")) ? n2 = "0" : "." === n2[0] ? n2 = "0" + n2 : "." === n2[n2.length - 1] && (n2 = n2.substring(0, n2.length - 1)), n2) : n2;
+                const l2 = r2 ? "." === t3[o2.length + 1] : "." === t3[o2.length];
+                if (!e4.leadingZeros && (o2.length > 1 || 1 === o2.length && !l2)) return t3;
+                {
+                  const n3 = Number(i3), s3 = String(n3);
+                  if (0 === n3 || -0 === n3) return n3;
+                  if (-1 !== s3.search(/[eE]/)) return e4.eNotation ? n3 : t3;
+                  if (-1 !== i3.indexOf(".")) return "0" === s3 || s3 === a2 || s3 === `${r2}${a2}` ? n3 : t3;
+                  let l3 = o2 ? a2 : i3;
+                  return o2 ? l3 === s3 || r2 + l3 === s3 ? n3 : t3 : l3 === s3 || l3 === r2 + s3 ? n3 : t3;
+                }
+              }
+              return t3;
+            }
+            var n2;
+          })(t2, i2);
+        }
+        return void 0 !== t2 ? t2 : "";
       }
-    }
-    exports2.reflectionScalarDefault = reflectionScalarDefault;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-reader.js
-var require_reflection_binary_reader = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-reader.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ReflectionBinaryReader = void 0;
-    var binary_format_contract_1 = require_binary_format_contract();
-    var reflection_info_1 = require_reflection_info();
-    var reflection_long_convert_1 = require_reflection_long_convert();
-    var reflection_scalar_default_1 = require_reflection_scalar_default();
-    var ReflectionBinaryReader = class {
-      constructor(info7) {
-        this.info = info7;
+      function Z(t2, e2, i2) {
+        const n2 = Number.parseInt(t2, e2);
+        return n2 >= 0 && n2 <= 1114111 ? String.fromCodePoint(n2) : i2 + t2 + ";";
+      }
+      const K = y.getMetaDataSymbol();
+      function Q(t2, e2) {
+        return z(t2, e2);
+      }
+      function z(t2, e2, i2) {
+        let n2;
+        const s2 = {};
+        for (let r2 = 0; r2 < t2.length; r2++) {
+          const o2 = t2[r2], a2 = J(o2);
+          let l2 = "";
+          if (l2 = void 0 === i2 ? a2 : i2 + "." + a2, a2 === e2.textNodeName) void 0 === n2 ? n2 = o2[a2] : n2 += "" + o2[a2];
+          else {
+            if (void 0 === a2) continue;
+            if (o2[a2]) {
+              let t3 = z(o2[a2], e2, l2);
+              const i3 = tt(t3, e2);
+              void 0 !== o2[K] && (t3[K] = o2[K]), o2[":@"] ? H(t3, o2[":@"], l2, e2) : 1 !== Object.keys(t3).length || void 0 === t3[e2.textNodeName] || e2.alwaysCreateTextNode ? 0 === Object.keys(t3).length && (e2.alwaysCreateTextNode ? t3[e2.textNodeName] = "" : t3 = "") : t3 = t3[e2.textNodeName], void 0 !== s2[a2] && s2.hasOwnProperty(a2) ? (Array.isArray(s2[a2]) || (s2[a2] = [s2[a2]]), s2[a2].push(t3)) : e2.isArray(a2, l2, i3) ? s2[a2] = [t3] : s2[a2] = t3;
+            }
+          }
+        }
+        return "string" == typeof n2 ? n2.length > 0 && (s2[e2.textNodeName] = n2) : void 0 !== n2 && (s2[e2.textNodeName] = n2), s2;
+      }
+      function J(t2) {
+        const e2 = Object.keys(t2);
+        for (let t3 = 0; t3 < e2.length; t3++) {
+          const i2 = e2[t3];
+          if (":@" !== i2) return i2;
+        }
+      }
+      function H(t2, e2, i2, n2) {
+        if (e2) {
+          const s2 = Object.keys(e2), r2 = s2.length;
+          for (let o2 = 0; o2 < r2; o2++) {
+            const r3 = s2[o2];
+            n2.isArray(r3, i2 + "." + r3, true, true) ? t2[r3] = [e2[r3]] : t2[r3] = e2[r3];
+          }
+        }
       }
-      prepare() {
-        var _a;
-        if (!this.fieldNoToField) {
-          const fieldsInput = (_a = this.info.fields) !== null && _a !== void 0 ? _a : [];
-          this.fieldNoToField = new Map(fieldsInput.map((field) => [field.no, field]));
+      function tt(t2, e2) {
+        const { textNodeName: i2 } = e2, n2 = Object.keys(t2).length;
+        return 0 === n2 || !(1 !== n2 || !t2[i2] && "boolean" != typeof t2[i2] && 0 !== t2[i2]);
+      }
+      class et {
+        constructor(t2) {
+          this.externalEntities = {}, this.options = (function(t3) {
+            return Object.assign({}, v, t3);
+          })(t2);
+        }
+        parse(t2, e2) {
+          if ("string" != typeof t2 && t2.toString) t2 = t2.toString();
+          else if ("string" != typeof t2) throw new Error("XML data is accepted in String or Bytes[] form.");
+          if (e2) {
+            true === e2 && (e2 = {});
+            const i3 = a(t2, e2);
+            if (true !== i3) throw Error(`${i3.err.msg}:${i3.err.line}:${i3.err.col}`);
+          }
+          const i2 = new D(this.options);
+          i2.addExternalEntities(this.externalEntities);
+          const n2 = i2.parseXml(t2);
+          return this.options.preserveOrder || void 0 === n2 ? n2 : Q(n2, this.options);
+        }
+        addEntity(t2, e2) {
+          if (-1 !== e2.indexOf("&")) throw new Error("Entity value can't have '&'");
+          if (-1 !== t2.indexOf("&") || -1 !== t2.indexOf(";")) throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '
'");
+          if ("&" === e2) throw new Error("An entity with value '&' is not permitted");
+          this.externalEntities[t2] = e2;
+        }
+        static getMetaDataSymbol() {
+          return y.getMetaDataSymbol();
         }
       }
-      /**
-       * Reads a message from binary format into the target message.
-       *
-       * Repeated fields are appended. Map entries are added, overwriting
-       * existing keys.
-       *
-       * If a message field is already present, it will be merged with the
-       * new data.
-       */
-      read(reader, message, options, length) {
-        this.prepare();
-        const end = length === void 0 ? reader.len : reader.pos + length;
-        while (reader.pos < end) {
-          const [fieldNo, wireType] = reader.tag(), field = this.fieldNoToField.get(fieldNo);
-          if (!field) {
-            let u = options.readUnknownField;
-            if (u == "throw")
-              throw new Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.info.typeName}`);
-            let d = reader.skip(wireType);
-            if (u !== false)
-              (u === true ? binary_format_contract_1.UnknownFieldHandler.onRead : u)(this.info.typeName, message, fieldNo, wireType, d);
+      function it(t2, e2) {
+        let i2 = "";
+        return e2.format && e2.indentBy.length > 0 && (i2 = "\n"), nt(t2, e2, "", i2);
+      }
+      function nt(t2, e2, i2, n2) {
+        let s2 = "", r2 = false;
+        for (let o2 = 0; o2 < t2.length; o2++) {
+          const a2 = t2[o2], l2 = st(a2);
+          if (void 0 === l2) continue;
+          let u2 = "";
+          if (u2 = 0 === i2.length ? l2 : `${i2}.${l2}`, l2 === e2.textNodeName) {
+            let t3 = a2[l2];
+            ot(u2, e2) || (t3 = e2.tagValueProcessor(l2, t3), t3 = at(t3, e2)), r2 && (s2 += n2), s2 += t3, r2 = false;
             continue;
           }
-          let target = message, repeated = field.repeat, localName = field.localName;
-          if (field.oneof) {
-            target = target[field.oneof];
-            if (target.oneofKind !== localName)
-              target = message[field.oneof] = {
-                oneofKind: localName
-              };
+          if (l2 === e2.cdataPropName) {
+            r2 && (s2 += n2), s2 += ``, r2 = false;
+            continue;
           }
-          switch (field.kind) {
-            case "scalar":
-            case "enum":
-              let T = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T;
-              let L = field.kind == "scalar" ? field.L : void 0;
-              if (repeated) {
-                let arr = target[localName];
-                if (wireType == binary_format_contract_1.WireType.LengthDelimited && T != reflection_info_1.ScalarType.STRING && T != reflection_info_1.ScalarType.BYTES) {
-                  let e = reader.uint32() + reader.pos;
-                  while (reader.pos < e)
-                    arr.push(this.scalar(reader, T, L));
-                } else
-                  arr.push(this.scalar(reader, T, L));
-              } else
-                target[localName] = this.scalar(reader, T, L);
-              break;
-            case "message":
-              if (repeated) {
-                let arr = target[localName];
-                let msg = field.T().internalBinaryRead(reader, reader.uint32(), options);
-                arr.push(msg);
-              } else
-                target[localName] = field.T().internalBinaryRead(reader, reader.uint32(), options, target[localName]);
-              break;
-            case "map":
-              let [mapKey, mapVal] = this.mapEntry(field, reader, options);
-              target[localName][mapKey] = mapVal;
-              break;
+          if (l2 === e2.commentPropName) {
+            s2 += n2 + ``, r2 = true;
+            continue;
+          }
+          if ("?" === l2[0]) {
+            const t3 = rt(a2[":@"], e2), i3 = "?xml" === l2 ? "" : n2;
+            let o3 = a2[l2][0][e2.textNodeName];
+            o3 = 0 !== o3.length ? " " + o3 : "", s2 += i3 + `<${l2}${o3}${t3}?>`, r2 = true;
+            continue;
           }
+          let h2 = n2;
+          "" !== h2 && (h2 += e2.indentBy);
+          const d2 = n2 + `<${l2}${rt(a2[":@"], e2)}`, p2 = nt(a2[l2], e2, u2, h2);
+          -1 !== e2.unpairedTags.indexOf(l2) ? e2.suppressUnpairedNode ? s2 += d2 + ">" : s2 += d2 + "/>" : p2 && 0 !== p2.length || !e2.suppressEmptyNode ? p2 && p2.endsWith(">") ? s2 += d2 + `>${p2}${n2}` : (s2 += d2 + ">", p2 && "" !== n2 && (p2.includes("/>") || p2.includes("`) : s2 += d2 + "/>", r2 = true;
         }
+        return s2;
       }
-      /**
-       * Read a map field, expecting key field = 1, value field = 2
-       */
-      mapEntry(field, reader, options) {
-        let length = reader.uint32();
-        let end = reader.pos + length;
-        let key = void 0;
-        let val = void 0;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case 1:
-              if (field.K == reflection_info_1.ScalarType.BOOL)
-                key = reader.bool().toString();
-              else
-                key = this.scalar(reader, field.K, reflection_info_1.LongType.STRING);
-              break;
-            case 2:
-              switch (field.V.kind) {
-                case "scalar":
-                  val = this.scalar(reader, field.V.T, field.V.L);
-                  break;
-                case "enum":
-                  val = reader.int32();
-                  break;
-                case "message":
-                  val = field.V.T().internalBinaryRead(reader, reader.uint32(), options);
-                  break;
-              }
-              break;
-            default:
-              throw new Error(`Unknown field ${fieldNo} (wire type ${wireType}) in map entry for ${this.info.typeName}#${field.name}`);
-          }
+      function st(t2) {
+        const e2 = Object.keys(t2);
+        for (let i2 = 0; i2 < e2.length; i2++) {
+          const n2 = e2[i2];
+          if (t2.hasOwnProperty(n2) && ":@" !== n2) return n2;
         }
-        if (key === void 0) {
-          let keyRaw = reflection_scalar_default_1.reflectionScalarDefault(field.K);
-          key = field.K == reflection_info_1.ScalarType.BOOL ? keyRaw.toString() : keyRaw;
+      }
+      function rt(t2, e2) {
+        let i2 = "";
+        if (t2 && !e2.ignoreAttributes) for (let n2 in t2) {
+          if (!t2.hasOwnProperty(n2)) continue;
+          let s2 = e2.attributeValueProcessor(n2, t2[n2]);
+          s2 = at(s2, e2), true === s2 && e2.suppressBooleanAttributes ? i2 += ` ${n2.substr(e2.attributeNamePrefix.length)}` : i2 += ` ${n2.substr(e2.attributeNamePrefix.length)}="${s2}"`;
         }
-        if (val === void 0)
-          switch (field.V.kind) {
-            case "scalar":
-              val = reflection_scalar_default_1.reflectionScalarDefault(field.V.T, field.V.L);
-              break;
-            case "enum":
-              val = 0;
-              break;
-            case "message":
-              val = field.V.T().create();
-              break;
-          }
-        return [key, val];
+        return i2;
       }
-      scalar(reader, type2, longType) {
-        switch (type2) {
-          case reflection_info_1.ScalarType.INT32:
-            return reader.int32();
-          case reflection_info_1.ScalarType.STRING:
-            return reader.string();
-          case reflection_info_1.ScalarType.BOOL:
-            return reader.bool();
-          case reflection_info_1.ScalarType.DOUBLE:
-            return reader.double();
-          case reflection_info_1.ScalarType.FLOAT:
-            return reader.float();
-          case reflection_info_1.ScalarType.INT64:
-            return reflection_long_convert_1.reflectionLongConvert(reader.int64(), longType);
-          case reflection_info_1.ScalarType.UINT64:
-            return reflection_long_convert_1.reflectionLongConvert(reader.uint64(), longType);
-          case reflection_info_1.ScalarType.FIXED64:
-            return reflection_long_convert_1.reflectionLongConvert(reader.fixed64(), longType);
-          case reflection_info_1.ScalarType.FIXED32:
-            return reader.fixed32();
-          case reflection_info_1.ScalarType.BYTES:
-            return reader.bytes();
-          case reflection_info_1.ScalarType.UINT32:
-            return reader.uint32();
-          case reflection_info_1.ScalarType.SFIXED32:
-            return reader.sfixed32();
-          case reflection_info_1.ScalarType.SFIXED64:
-            return reflection_long_convert_1.reflectionLongConvert(reader.sfixed64(), longType);
-          case reflection_info_1.ScalarType.SINT32:
-            return reader.sint32();
-          case reflection_info_1.ScalarType.SINT64:
-            return reflection_long_convert_1.reflectionLongConvert(reader.sint64(), longType);
+      function ot(t2, e2) {
+        let i2 = (t2 = t2.substr(0, t2.length - e2.textNodeName.length - 1)).substr(t2.lastIndexOf(".") + 1);
+        for (let n2 in e2.stopNodes) if (e2.stopNodes[n2] === t2 || e2.stopNodes[n2] === "*." + i2) return true;
+        return false;
+      }
+      function at(t2, e2) {
+        if (t2 && t2.length > 0 && e2.processEntities) for (let i2 = 0; i2 < e2.entities.length; i2++) {
+          const n2 = e2.entities[i2];
+          t2 = t2.replace(n2.regex, n2.val);
         }
+        return t2;
       }
-    };
-    exports2.ReflectionBinaryReader = ReflectionBinaryReader;
+      const lt = { attributeNamePrefix: "@_", attributesGroupName: false, textNodeName: "#text", ignoreAttributes: true, cdataPropName: false, format: false, indentBy: "  ", suppressEmptyNode: false, suppressUnpairedNode: true, suppressBooleanAttributes: true, tagValueProcessor: function(t2, e2) {
+        return e2;
+      }, attributeValueProcessor: function(t2, e2) {
+        return e2;
+      }, preserveOrder: false, commentPropName: false, unpairedTags: [], entities: [{ regex: new RegExp("&", "g"), val: "&" }, { regex: new RegExp(">", "g"), val: ">" }, { regex: new RegExp("<", "g"), val: "<" }, { regex: new RegExp("'", "g"), val: "'" }, { regex: new RegExp('"', "g"), val: """ }], processEntities: true, stopNodes: [], oneListGroup: false };
+      function ut(t2) {
+        this.options = Object.assign({}, lt, t2), true === this.options.ignoreAttributes || this.options.attributesGroupName ? this.isAttribute = function() {
+          return false;
+        } : (this.ignoreAttributesFn = $(this.options.ignoreAttributes), this.attrPrefixLen = this.options.attributeNamePrefix.length, this.isAttribute = pt), this.processTextOrObjNode = ht, this.options.format ? (this.indentate = dt, this.tagEndChar = ">\n", this.newLine = "\n") : (this.indentate = function() {
+          return "";
+        }, this.tagEndChar = ">", this.newLine = "");
+      }
+      function ht(t2, e2, i2, n2) {
+        const s2 = this.j2x(t2, i2 + 1, n2.concat(e2));
+        return void 0 !== t2[this.options.textNodeName] && 1 === Object.keys(t2).length ? this.buildTextValNode(t2[this.options.textNodeName], e2, s2.attrStr, i2) : this.buildObjectNode(s2.val, e2, s2.attrStr, i2);
+      }
+      function dt(t2) {
+        return this.options.indentBy.repeat(t2);
+      }
+      function pt(t2) {
+        return !(!t2.startsWith(this.options.attributeNamePrefix) || t2 === this.options.textNodeName) && t2.substr(this.attrPrefixLen);
+      }
+      ut.prototype.build = function(t2) {
+        return this.options.preserveOrder ? it(t2, this.options) : (Array.isArray(t2) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1 && (t2 = { [this.options.arrayNodeName]: t2 }), this.j2x(t2, 0, []).val);
+      }, ut.prototype.j2x = function(t2, e2, i2) {
+        let n2 = "", s2 = "";
+        const r2 = i2.join(".");
+        for (let o2 in t2) if (Object.prototype.hasOwnProperty.call(t2, o2)) if (void 0 === t2[o2]) this.isAttribute(o2) && (s2 += "");
+        else if (null === t2[o2]) this.isAttribute(o2) || o2 === this.options.cdataPropName ? s2 += "" : "?" === o2[0] ? s2 += this.indentate(e2) + "<" + o2 + "?" + this.tagEndChar : s2 += this.indentate(e2) + "<" + o2 + "/" + this.tagEndChar;
+        else if (t2[o2] instanceof Date) s2 += this.buildTextValNode(t2[o2], o2, "", e2);
+        else if ("object" != typeof t2[o2]) {
+          const i3 = this.isAttribute(o2);
+          if (i3 && !this.ignoreAttributesFn(i3, r2)) n2 += this.buildAttrPairStr(i3, "" + t2[o2]);
+          else if (!i3) if (o2 === this.options.textNodeName) {
+            let e3 = this.options.tagValueProcessor(o2, "" + t2[o2]);
+            s2 += this.replaceEntitiesValue(e3);
+          } else s2 += this.buildTextValNode(t2[o2], o2, "", e2);
+        } else if (Array.isArray(t2[o2])) {
+          const n3 = t2[o2].length;
+          let r3 = "", a2 = "";
+          for (let l2 = 0; l2 < n3; l2++) {
+            const n4 = t2[o2][l2];
+            if (void 0 === n4) ;
+            else if (null === n4) "?" === o2[0] ? s2 += this.indentate(e2) + "<" + o2 + "?" + this.tagEndChar : s2 += this.indentate(e2) + "<" + o2 + "/" + this.tagEndChar;
+            else if ("object" == typeof n4) if (this.options.oneListGroup) {
+              const t3 = this.j2x(n4, e2 + 1, i2.concat(o2));
+              r3 += t3.val, this.options.attributesGroupName && n4.hasOwnProperty(this.options.attributesGroupName) && (a2 += t3.attrStr);
+            } else r3 += this.processTextOrObjNode(n4, o2, e2, i2);
+            else if (this.options.oneListGroup) {
+              let t3 = this.options.tagValueProcessor(o2, n4);
+              t3 = this.replaceEntitiesValue(t3), r3 += t3;
+            } else r3 += this.buildTextValNode(n4, o2, "", e2);
+          }
+          this.options.oneListGroup && (r3 = this.buildObjectNode(r3, o2, a2, e2)), s2 += r3;
+        } else if (this.options.attributesGroupName && o2 === this.options.attributesGroupName) {
+          const e3 = Object.keys(t2[o2]), i3 = e3.length;
+          for (let s3 = 0; s3 < i3; s3++) n2 += this.buildAttrPairStr(e3[s3], "" + t2[o2][e3[s3]]);
+        } else s2 += this.processTextOrObjNode(t2[o2], o2, e2, i2);
+        return { attrStr: n2, val: s2 };
+      }, ut.prototype.buildAttrPairStr = function(t2, e2) {
+        return e2 = this.options.attributeValueProcessor(t2, "" + e2), e2 = this.replaceEntitiesValue(e2), this.options.suppressBooleanAttributes && "true" === e2 ? " " + t2 : " " + t2 + '="' + e2 + '"';
+      }, ut.prototype.buildObjectNode = function(t2, e2, i2, n2) {
+        if ("" === t2) return "?" === e2[0] ? this.indentate(n2) + "<" + e2 + i2 + "?" + this.tagEndChar : this.indentate(n2) + "<" + e2 + i2 + this.closeTag(e2) + this.tagEndChar;
+        {
+          let s2 = "` + this.newLine : this.indentate(n2) + "<" + e2 + i2 + r2 + this.tagEndChar + t2 + this.indentate(n2) + s2 : this.indentate(n2) + "<" + e2 + i2 + r2 + ">" + t2 + s2;
+        }
+      }, ut.prototype.closeTag = function(t2) {
+        let e2 = "";
+        return -1 !== this.options.unpairedTags.indexOf(t2) ? this.options.suppressUnpairedNode || (e2 = "/") : e2 = this.options.suppressEmptyNode ? "/" : `>` + this.newLine;
+        if (false !== this.options.commentPropName && e2 === this.options.commentPropName) return this.indentate(n2) + `` + this.newLine;
+        if ("?" === e2[0]) return this.indentate(n2) + "<" + e2 + i2 + "?" + this.tagEndChar;
+        {
+          let s2 = this.options.tagValueProcessor(e2, t2);
+          return s2 = this.replaceEntitiesValue(s2), "" === s2 ? this.indentate(n2) + "<" + e2 + i2 + this.closeTag(e2) + this.tagEndChar : this.indentate(n2) + "<" + e2 + i2 + ">" + s2 + " 0 && this.options.processEntities) for (let e2 = 0; e2 < this.options.entities.length; e2++) {
+          const i2 = this.options.entities[e2];
+          t2 = t2.replace(i2.regex, i2.val);
+        }
+        return t2;
+      };
+      const ft = { validate: a };
+      module2.exports = e;
+    })();
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-writer.js
-var require_reflection_binary_writer = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-writer.js"(exports2) {
+// node_modules/@azure/core-xml/dist/commonjs/xml.common.js
+var require_xml_common = __commonJS({
+  "node_modules/@azure/core-xml/dist/commonjs/xml.common.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ReflectionBinaryWriter = void 0;
-    var binary_format_contract_1 = require_binary_format_contract();
-    var reflection_info_1 = require_reflection_info();
-    var assert_1 = require_assert();
-    var pb_long_1 = require_pb_long();
-    var ReflectionBinaryWriter = class {
-      constructor(info7) {
-        this.info = info7;
+    exports2.XML_CHARKEY = exports2.XML_ATTRKEY = void 0;
+    exports2.XML_ATTRKEY = "$";
+    exports2.XML_CHARKEY = "_";
+  }
+});
+
+// node_modules/@azure/core-xml/dist/commonjs/xml.js
+var require_xml = __commonJS({
+  "node_modules/@azure/core-xml/dist/commonjs/xml.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.stringifyXML = stringifyXML;
+    exports2.parseXML = parseXML;
+    var fast_xml_parser_1 = require_fxp();
+    var xml_common_js_1 = require_xml_common();
+    function getCommonOptions(options) {
+      var _a;
+      return {
+        attributesGroupName: xml_common_js_1.XML_ATTRKEY,
+        textNodeName: (_a = options.xmlCharKey) !== null && _a !== void 0 ? _a : xml_common_js_1.XML_CHARKEY,
+        ignoreAttributes: false,
+        suppressBooleanAttributes: false
+      };
+    }
+    function getSerializerOptions(options = {}) {
+      var _a, _b;
+      return Object.assign(Object.assign({}, getCommonOptions(options)), { attributeNamePrefix: "@_", format: true, suppressEmptyNode: true, indentBy: "", rootNodeName: (_a = options.rootName) !== null && _a !== void 0 ? _a : "root", cdataPropName: (_b = options.cdataPropName) !== null && _b !== void 0 ? _b : "__cdata" });
+    }
+    function getParserOptions(options = {}) {
+      return Object.assign(Object.assign({}, getCommonOptions(options)), { parseAttributeValue: false, parseTagValue: false, attributeNamePrefix: "", stopNodes: options.stopNodes, processEntities: true, trimValues: false });
+    }
+    function stringifyXML(obj, opts = {}) {
+      const parserOptions = getSerializerOptions(opts);
+      const j2x = new fast_xml_parser_1.XMLBuilder(parserOptions);
+      const node = { [parserOptions.rootNodeName]: obj };
+      const xmlData = j2x.build(node);
+      return `${xmlData}`.replace(/\n/g, "");
+    }
+    async function parseXML(str2, opts = {}) {
+      if (!str2) {
+        throw new Error("Document is empty");
       }
-      prepare() {
-        if (!this.fields) {
-          const fieldsInput = this.info.fields ? this.info.fields.concat() : [];
-          this.fields = fieldsInput.sort((a, b) => a.no - b.no);
-        }
+      const validation = fast_xml_parser_1.XMLValidator.validate(str2);
+      if (validation !== true) {
+        throw validation;
       }
-      /**
-       * Writes the message to binary format.
-       */
-      write(message, writer, options) {
-        this.prepare();
-        for (const field of this.fields) {
-          let value, emitDefault, repeated = field.repeat, localName = field.localName;
-          if (field.oneof) {
-            const group = message[field.oneof];
-            if (group.oneofKind !== localName)
-              continue;
-            value = group[localName];
-            emitDefault = true;
-          } else {
-            value = message[localName];
-            emitDefault = false;
-          }
-          switch (field.kind) {
-            case "scalar":
-            case "enum":
-              let T = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T;
-              if (repeated) {
-                assert_1.assert(Array.isArray(value));
-                if (repeated == reflection_info_1.RepeatType.PACKED)
-                  this.packed(writer, T, field.no, value);
-                else
-                  for (const item of value)
-                    this.scalar(writer, T, field.no, item, true);
-              } else if (value === void 0)
-                assert_1.assert(field.opt);
-              else
-                this.scalar(writer, T, field.no, value, emitDefault || field.opt);
-              break;
-            case "message":
-              if (repeated) {
-                assert_1.assert(Array.isArray(value));
-                for (const item of value)
-                  this.message(writer, options, field.T(), field.no, item);
-              } else {
-                this.message(writer, options, field.T(), field.no, value);
-              }
-              break;
-            case "map":
-              assert_1.assert(typeof value == "object" && value !== null);
-              for (const [key, val] of Object.entries(value))
-                this.mapEntry(writer, options, field, key, val);
-              break;
-          }
-        }
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u === true ? binary_format_contract_1.UnknownFieldHandler.onWrite : u)(this.info.typeName, message, writer);
+      const parser = new fast_xml_parser_1.XMLParser(getParserOptions(opts));
+      const parsedXml = parser.parse(str2);
+      if (parsedXml["?xml"]) {
+        delete parsedXml["?xml"];
       }
-      mapEntry(writer, options, field, key, value) {
-        writer.tag(field.no, binary_format_contract_1.WireType.LengthDelimited);
-        writer.fork();
-        let keyValue = key;
-        switch (field.K) {
-          case reflection_info_1.ScalarType.INT32:
-          case reflection_info_1.ScalarType.FIXED32:
-          case reflection_info_1.ScalarType.UINT32:
-          case reflection_info_1.ScalarType.SFIXED32:
-          case reflection_info_1.ScalarType.SINT32:
-            keyValue = Number.parseInt(key);
-            break;
-          case reflection_info_1.ScalarType.BOOL:
-            assert_1.assert(key == "true" || key == "false");
-            keyValue = key == "true";
-            break;
-        }
-        this.scalar(writer, field.K, 1, keyValue, true);
-        switch (field.V.kind) {
-          case "scalar":
-            this.scalar(writer, field.V.T, 2, value, true);
-            break;
-          case "enum":
-            this.scalar(writer, reflection_info_1.ScalarType.INT32, 2, value, true);
-            break;
-          case "message":
-            this.message(writer, options, field.V.T(), 2, value);
-            break;
+      if (!opts.includeRoot) {
+        for (const key of Object.keys(parsedXml)) {
+          const value = parsedXml[key];
+          return typeof value === "object" ? Object.assign({}, value) : value;
         }
-        writer.join();
       }
-      message(writer, options, handler2, fieldNo, value) {
-        if (value === void 0)
-          return;
-        handler2.internalBinaryWrite(value, writer.tag(fieldNo, binary_format_contract_1.WireType.LengthDelimited).fork(), options);
-        writer.join();
+      return parsedXml;
+    }
+  }
+});
+
+// node_modules/@azure/core-xml/dist/commonjs/index.js
+var require_commonjs12 = __commonJS({
+  "node_modules/@azure/core-xml/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.XML_CHARKEY = exports2.XML_ATTRKEY = exports2.parseXML = exports2.stringifyXML = void 0;
+    var xml_js_1 = require_xml();
+    Object.defineProperty(exports2, "stringifyXML", { enumerable: true, get: function() {
+      return xml_js_1.stringifyXML;
+    } });
+    Object.defineProperty(exports2, "parseXML", { enumerable: true, get: function() {
+      return xml_js_1.parseXML;
+    } });
+    var xml_common_js_1 = require_xml_common();
+    Object.defineProperty(exports2, "XML_ATTRKEY", { enumerable: true, get: function() {
+      return xml_common_js_1.XML_ATTRKEY;
+    } });
+    Object.defineProperty(exports2, "XML_CHARKEY", { enumerable: true, get: function() {
+      return xml_common_js_1.XML_CHARKEY;
+    } });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/log.js
+var require_log5 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/log.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.logger = void 0;
+    var logger_1 = require_commonjs4();
+    exports2.logger = (0, logger_1.createClientLogger)("storage-blob");
+  }
+});
+
+// node_modules/@azure/storage-blob/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js
+var require_AbortError3 = __commonJS({
+  "node_modules/@azure/storage-blob/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AbortError = void 0;
+    var AbortError = class extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "AbortError";
       }
+    };
+    exports2.AbortError = AbortError;
+  }
+});
+
+// node_modules/@azure/storage-blob/node_modules/@azure/abort-controller/dist/commonjs/index.js
+var require_commonjs13 = __commonJS({
+  "node_modules/@azure/storage-blob/node_modules/@azure/abort-controller/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AbortError = void 0;
+    var AbortError_js_1 = require_AbortError3();
+    Object.defineProperty(exports2, "AbortError", { enumerable: true, get: function() {
+      return AbortError_js_1.AbortError;
+    } });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/policies/RequestPolicy.js
+var require_RequestPolicy = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/RequestPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BaseRequestPolicy = void 0;
+    var BaseRequestPolicy = class {
+      _nextPolicy;
+      _options;
       /**
-       * Write a single scalar value.
+       * The main method to implement that manipulates a request/response.
        */
-      scalar(writer, type2, fieldNo, value, emitDefault) {
-        let [wireType, method, isDefault] = this.scalarInfo(type2, value);
-        if (!isDefault || emitDefault) {
-          writer.tag(fieldNo, wireType);
-          writer[method](value);
-        }
+      constructor(_nextPolicy, _options) {
+        this._nextPolicy = _nextPolicy;
+        this._options = _options;
       }
       /**
-       * Write an array of scalar values in packed format.
+       * Get whether or not a log with the provided log level should be logged.
+       * @param logLevel - The log level of the log that will be logged.
+       * @returns Whether or not a log with the provided log level should be logged.
        */
-      packed(writer, type2, fieldNo, value) {
-        if (!value.length)
-          return;
-        assert_1.assert(type2 !== reflection_info_1.ScalarType.BYTES && type2 !== reflection_info_1.ScalarType.STRING);
-        writer.tag(fieldNo, binary_format_contract_1.WireType.LengthDelimited);
-        writer.fork();
-        let [, method] = this.scalarInfo(type2);
-        for (let i = 0; i < value.length; i++)
-          writer[method](value[i]);
-        writer.join();
+      shouldLog(logLevel) {
+        return this._options.shouldLog(logLevel);
       }
       /**
-       * Get information for writing a scalar value.
-       *
-       * Returns tuple:
-       * [0]: appropriate WireType
-       * [1]: name of the appropriate method of IBinaryWriter
-       * [2]: whether the given value is a default value
-       *
-       * If argument `value` is omitted, [2] is always false.
+       * Attempt to log the provided message to the provided logger. If no logger was provided or if
+       * the log level does not meat the logger's threshold, then nothing will be logged.
+       * @param logLevel - The log level of this log.
+       * @param message - The message of this log.
        */
-      scalarInfo(type2, value) {
-        let t = binary_format_contract_1.WireType.Varint;
-        let m;
-        let i = value === void 0;
-        let d = value === 0;
-        switch (type2) {
-          case reflection_info_1.ScalarType.INT32:
-            m = "int32";
-            break;
-          case reflection_info_1.ScalarType.STRING:
-            d = i || !value.length;
-            t = binary_format_contract_1.WireType.LengthDelimited;
-            m = "string";
-            break;
-          case reflection_info_1.ScalarType.BOOL:
-            d = value === false;
-            m = "bool";
-            break;
-          case reflection_info_1.ScalarType.UINT32:
-            m = "uint32";
-            break;
-          case reflection_info_1.ScalarType.DOUBLE:
-            t = binary_format_contract_1.WireType.Bit64;
-            m = "double";
-            break;
-          case reflection_info_1.ScalarType.FLOAT:
-            t = binary_format_contract_1.WireType.Bit32;
-            m = "float";
-            break;
-          case reflection_info_1.ScalarType.INT64:
-            d = i || pb_long_1.PbLong.from(value).isZero();
-            m = "int64";
-            break;
-          case reflection_info_1.ScalarType.UINT64:
-            d = i || pb_long_1.PbULong.from(value).isZero();
-            m = "uint64";
-            break;
-          case reflection_info_1.ScalarType.FIXED64:
-            d = i || pb_long_1.PbULong.from(value).isZero();
-            t = binary_format_contract_1.WireType.Bit64;
-            m = "fixed64";
-            break;
-          case reflection_info_1.ScalarType.BYTES:
-            d = i || !value.byteLength;
-            t = binary_format_contract_1.WireType.LengthDelimited;
-            m = "bytes";
-            break;
-          case reflection_info_1.ScalarType.FIXED32:
-            t = binary_format_contract_1.WireType.Bit32;
-            m = "fixed32";
-            break;
-          case reflection_info_1.ScalarType.SFIXED32:
-            t = binary_format_contract_1.WireType.Bit32;
-            m = "sfixed32";
-            break;
-          case reflection_info_1.ScalarType.SFIXED64:
-            d = i || pb_long_1.PbLong.from(value).isZero();
-            t = binary_format_contract_1.WireType.Bit64;
-            m = "sfixed64";
-            break;
-          case reflection_info_1.ScalarType.SINT32:
-            m = "sint32";
-            break;
-          case reflection_info_1.ScalarType.SINT64:
-            d = i || pb_long_1.PbLong.from(value).isZero();
-            m = "sint64";
-            break;
-        }
-        return [t, m, i || d];
+      log(logLevel, message) {
+        this._options.log(logLevel, message);
       }
     };
-    exports2.ReflectionBinaryWriter = ReflectionBinaryWriter;
+    exports2.BaseRequestPolicy = BaseRequestPolicy;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-create.js
-var require_reflection_create = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-create.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/utils/constants.js
+var require_constants14 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/constants.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.reflectionCreate = void 0;
-    var reflection_scalar_default_1 = require_reflection_scalar_default();
-    var message_type_contract_1 = require_message_type_contract();
-    function reflectionCreate(type2) {
-      const msg = type2.messagePrototype ? Object.create(type2.messagePrototype) : Object.defineProperty({}, message_type_contract_1.MESSAGE_TYPE, { value: type2 });
-      for (let field of type2.fields) {
-        let name = field.localName;
-        if (field.opt)
-          continue;
-        if (field.oneof)
-          msg[field.oneof] = { oneofKind: void 0 };
-        else if (field.repeat)
-          msg[name] = [];
-        else
-          switch (field.kind) {
-            case "scalar":
-              msg[name] = reflection_scalar_default_1.reflectionScalarDefault(field.T, field.L);
-              break;
-            case "enum":
-              msg[name] = 0;
-              break;
-            case "map":
-              msg[name] = {};
-              break;
-          }
+    exports2.PathStylePorts = exports2.BlobDoesNotUseCustomerSpecifiedEncryption = exports2.BlobUsesCustomerSpecifiedEncryptionMsg = exports2.StorageBlobLoggingAllowedQueryParameters = exports2.StorageBlobLoggingAllowedHeaderNames = exports2.DevelopmentConnectionString = exports2.EncryptionAlgorithmAES25 = exports2.HTTP_VERSION_1_1 = exports2.HTTP_LINE_ENDING = exports2.BATCH_MAX_PAYLOAD_IN_BYTES = exports2.BATCH_MAX_REQUEST = exports2.SIZE_1_MB = exports2.ETagAny = exports2.ETagNone = exports2.HeaderConstants = exports2.HTTPURLConnection = exports2.URLConstants = exports2.StorageOAuthScopes = exports2.REQUEST_TIMEOUT = exports2.DEFAULT_MAX_DOWNLOAD_RETRY_REQUESTS = exports2.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES = exports2.DEFAULT_BLOCK_BUFFER_SIZE_BYTES = exports2.BLOCK_BLOB_MAX_BLOCKS = exports2.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES = exports2.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES = exports2.SERVICE_VERSION = exports2.SDK_VERSION = void 0;
+    exports2.SDK_VERSION = "12.29.1";
+    exports2.SERVICE_VERSION = "2025-11-05";
+    exports2.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES = 256 * 1024 * 1024;
+    exports2.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES = 4e3 * 1024 * 1024;
+    exports2.BLOCK_BLOB_MAX_BLOCKS = 5e4;
+    exports2.DEFAULT_BLOCK_BUFFER_SIZE_BYTES = 8 * 1024 * 1024;
+    exports2.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES = 4 * 1024 * 1024;
+    exports2.DEFAULT_MAX_DOWNLOAD_RETRY_REQUESTS = 5;
+    exports2.REQUEST_TIMEOUT = 100 * 1e3;
+    exports2.StorageOAuthScopes = "https://storage.azure.com/.default";
+    exports2.URLConstants = {
+      Parameters: {
+        FORCE_BROWSER_NO_CACHE: "_",
+        SIGNATURE: "sig",
+        SNAPSHOT: "snapshot",
+        VERSIONID: "versionid",
+        TIMEOUT: "timeout"
       }
-      return msg;
-    }
-    exports2.reflectionCreate = reflectionCreate;
+    };
+    exports2.HTTPURLConnection = {
+      HTTP_ACCEPTED: 202,
+      HTTP_CONFLICT: 409,
+      HTTP_NOT_FOUND: 404,
+      HTTP_PRECON_FAILED: 412,
+      HTTP_RANGE_NOT_SATISFIABLE: 416
+    };
+    exports2.HeaderConstants = {
+      AUTHORIZATION: "Authorization",
+      AUTHORIZATION_SCHEME: "Bearer",
+      CONTENT_ENCODING: "Content-Encoding",
+      CONTENT_ID: "Content-ID",
+      CONTENT_LANGUAGE: "Content-Language",
+      CONTENT_LENGTH: "Content-Length",
+      CONTENT_MD5: "Content-Md5",
+      CONTENT_TRANSFER_ENCODING: "Content-Transfer-Encoding",
+      CONTENT_TYPE: "Content-Type",
+      COOKIE: "Cookie",
+      DATE: "date",
+      IF_MATCH: "if-match",
+      IF_MODIFIED_SINCE: "if-modified-since",
+      IF_NONE_MATCH: "if-none-match",
+      IF_UNMODIFIED_SINCE: "if-unmodified-since",
+      PREFIX_FOR_STORAGE: "x-ms-",
+      RANGE: "Range",
+      USER_AGENT: "User-Agent",
+      X_MS_CLIENT_REQUEST_ID: "x-ms-client-request-id",
+      X_MS_COPY_SOURCE: "x-ms-copy-source",
+      X_MS_DATE: "x-ms-date",
+      X_MS_ERROR_CODE: "x-ms-error-code",
+      X_MS_VERSION: "x-ms-version",
+      X_MS_CopySourceErrorCode: "x-ms-copy-source-error-code"
+    };
+    exports2.ETagNone = "";
+    exports2.ETagAny = "*";
+    exports2.SIZE_1_MB = 1 * 1024 * 1024;
+    exports2.BATCH_MAX_REQUEST = 256;
+    exports2.BATCH_MAX_PAYLOAD_IN_BYTES = 4 * exports2.SIZE_1_MB;
+    exports2.HTTP_LINE_ENDING = "\r\n";
+    exports2.HTTP_VERSION_1_1 = "HTTP/1.1";
+    exports2.EncryptionAlgorithmAES25 = "AES256";
+    exports2.DevelopmentConnectionString = `DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;`;
+    exports2.StorageBlobLoggingAllowedHeaderNames = [
+      "Access-Control-Allow-Origin",
+      "Cache-Control",
+      "Content-Length",
+      "Content-Type",
+      "Date",
+      "Request-Id",
+      "traceparent",
+      "Transfer-Encoding",
+      "User-Agent",
+      "x-ms-client-request-id",
+      "x-ms-date",
+      "x-ms-error-code",
+      "x-ms-request-id",
+      "x-ms-return-client-request-id",
+      "x-ms-version",
+      "Accept-Ranges",
+      "Content-Disposition",
+      "Content-Encoding",
+      "Content-Language",
+      "Content-MD5",
+      "Content-Range",
+      "ETag",
+      "Last-Modified",
+      "Server",
+      "Vary",
+      "x-ms-content-crc64",
+      "x-ms-copy-action",
+      "x-ms-copy-completion-time",
+      "x-ms-copy-id",
+      "x-ms-copy-progress",
+      "x-ms-copy-status",
+      "x-ms-has-immutability-policy",
+      "x-ms-has-legal-hold",
+      "x-ms-lease-state",
+      "x-ms-lease-status",
+      "x-ms-range",
+      "x-ms-request-server-encrypted",
+      "x-ms-server-encrypted",
+      "x-ms-snapshot",
+      "x-ms-source-range",
+      "If-Match",
+      "If-Modified-Since",
+      "If-None-Match",
+      "If-Unmodified-Since",
+      "x-ms-access-tier",
+      "x-ms-access-tier-change-time",
+      "x-ms-access-tier-inferred",
+      "x-ms-account-kind",
+      "x-ms-archive-status",
+      "x-ms-blob-append-offset",
+      "x-ms-blob-cache-control",
+      "x-ms-blob-committed-block-count",
+      "x-ms-blob-condition-appendpos",
+      "x-ms-blob-condition-maxsize",
+      "x-ms-blob-content-disposition",
+      "x-ms-blob-content-encoding",
+      "x-ms-blob-content-language",
+      "x-ms-blob-content-length",
+      "x-ms-blob-content-md5",
+      "x-ms-blob-content-type",
+      "x-ms-blob-public-access",
+      "x-ms-blob-sequence-number",
+      "x-ms-blob-type",
+      "x-ms-copy-destination-snapshot",
+      "x-ms-creation-time",
+      "x-ms-default-encryption-scope",
+      "x-ms-delete-snapshots",
+      "x-ms-delete-type-permanent",
+      "x-ms-deny-encryption-scope-override",
+      "x-ms-encryption-algorithm",
+      "x-ms-if-sequence-number-eq",
+      "x-ms-if-sequence-number-le",
+      "x-ms-if-sequence-number-lt",
+      "x-ms-incremental-copy",
+      "x-ms-lease-action",
+      "x-ms-lease-break-period",
+      "x-ms-lease-duration",
+      "x-ms-lease-id",
+      "x-ms-lease-time",
+      "x-ms-page-write",
+      "x-ms-proposed-lease-id",
+      "x-ms-range-get-content-md5",
+      "x-ms-rehydrate-priority",
+      "x-ms-sequence-number-action",
+      "x-ms-sku-name",
+      "x-ms-source-content-md5",
+      "x-ms-source-if-match",
+      "x-ms-source-if-modified-since",
+      "x-ms-source-if-none-match",
+      "x-ms-source-if-unmodified-since",
+      "x-ms-tag-count",
+      "x-ms-encryption-key-sha256",
+      "x-ms-copy-source-error-code",
+      "x-ms-copy-source-status-code",
+      "x-ms-if-tags",
+      "x-ms-source-if-tags"
+    ];
+    exports2.StorageBlobLoggingAllowedQueryParameters = [
+      "comp",
+      "maxresults",
+      "rscc",
+      "rscd",
+      "rsce",
+      "rscl",
+      "rsct",
+      "se",
+      "si",
+      "sip",
+      "sp",
+      "spr",
+      "sr",
+      "srt",
+      "ss",
+      "st",
+      "sv",
+      "include",
+      "marker",
+      "prefix",
+      "copyid",
+      "restype",
+      "blockid",
+      "blocklisttype",
+      "delimiter",
+      "prevsnapshot",
+      "ske",
+      "skoid",
+      "sks",
+      "skt",
+      "sktid",
+      "skv",
+      "snapshot"
+    ];
+    exports2.BlobUsesCustomerSpecifiedEncryptionMsg = "BlobUsesCustomerSpecifiedEncryption";
+    exports2.BlobDoesNotUseCustomerSpecifiedEncryption = "BlobDoesNotUseCustomerSpecifiedEncryption";
+    exports2.PathStylePorts = [
+      "10000",
+      "10001",
+      "10002",
+      "10003",
+      "10004",
+      "10100",
+      "10101",
+      "10102",
+      "10103",
+      "10104",
+      "11000",
+      "11001",
+      "11002",
+      "11003",
+      "11004",
+      "11100",
+      "11101",
+      "11102",
+      "11103",
+      "11104"
+    ];
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-merge-partial.js
-var require_reflection_merge_partial = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-merge-partial.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/utils/utils.common.js
+var require_utils_common = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/utils.common.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.reflectionMergePartial = void 0;
-    function reflectionMergePartial(info7, target, source) {
-      let fieldValue, input = source, output;
-      for (let field of info7.fields) {
-        let name = field.localName;
-        if (field.oneof) {
-          const group = input[field.oneof];
-          if ((group === null || group === void 0 ? void 0 : group.oneofKind) == void 0) {
-            continue;
-          }
-          fieldValue = group[name];
-          output = target[field.oneof];
-          output.oneofKind = group.oneofKind;
-          if (fieldValue == void 0) {
-            delete output[name];
-            continue;
-          }
-        } else {
-          fieldValue = input[name];
-          output = target;
-          if (fieldValue == void 0) {
-            continue;
-          }
-        }
-        if (field.repeat)
-          output[name].length = fieldValue.length;
-        switch (field.kind) {
-          case "scalar":
-          case "enum":
-            if (field.repeat)
-              for (let i = 0; i < fieldValue.length; i++)
-                output[name][i] = fieldValue[i];
-            else
-              output[name] = fieldValue;
-            break;
-          case "message":
-            let T = field.T();
-            if (field.repeat)
-              for (let i = 0; i < fieldValue.length; i++)
-                output[name][i] = T.create(fieldValue[i]);
-            else if (output[name] === void 0)
-              output[name] = T.create(fieldValue);
-            else
-              T.mergePartial(output[name], fieldValue);
-            break;
-          case "map":
-            switch (field.V.kind) {
-              case "scalar":
-              case "enum":
-                Object.assign(output[name], fieldValue);
-                break;
-              case "message":
-                let T2 = field.V.T();
-                for (let k of Object.keys(fieldValue))
-                  output[name][k] = T2.create(fieldValue[k]);
-                break;
-            }
-            break;
+    exports2.escapeURLPath = escapeURLPath;
+    exports2.getValueInConnString = getValueInConnString;
+    exports2.extractConnectionStringParts = extractConnectionStringParts;
+    exports2.appendToURLPath = appendToURLPath;
+    exports2.setURLParameter = setURLParameter;
+    exports2.getURLParameter = getURLParameter;
+    exports2.setURLHost = setURLHost;
+    exports2.getURLPath = getURLPath;
+    exports2.getURLScheme = getURLScheme;
+    exports2.getURLPathAndQuery = getURLPathAndQuery;
+    exports2.getURLQueries = getURLQueries;
+    exports2.appendToURLQuery = appendToURLQuery;
+    exports2.truncatedISO8061Date = truncatedISO8061Date;
+    exports2.base64encode = base64encode;
+    exports2.base64decode = base64decode;
+    exports2.generateBlockID = generateBlockID;
+    exports2.delay = delay;
+    exports2.padStart = padStart2;
+    exports2.sanitizeURL = sanitizeURL;
+    exports2.sanitizeHeaders = sanitizeHeaders;
+    exports2.iEqual = iEqual;
+    exports2.getAccountNameFromUrl = getAccountNameFromUrl;
+    exports2.isIpEndpointStyle = isIpEndpointStyle;
+    exports2.toBlobTagsString = toBlobTagsString;
+    exports2.toBlobTags = toBlobTags;
+    exports2.toTags = toTags;
+    exports2.toQuerySerialization = toQuerySerialization;
+    exports2.parseObjectReplicationRecord = parseObjectReplicationRecord;
+    exports2.attachCredential = attachCredential;
+    exports2.httpAuthorizationToString = httpAuthorizationToString;
+    exports2.BlobNameToString = BlobNameToString;
+    exports2.ConvertInternalResponseOfListBlobFlat = ConvertInternalResponseOfListBlobFlat;
+    exports2.ConvertInternalResponseOfListBlobHierarchy = ConvertInternalResponseOfListBlobHierarchy;
+    exports2.ExtractPageRangeInfoItems = ExtractPageRangeInfoItems;
+    exports2.EscapePath = EscapePath;
+    exports2.assertResponse = assertResponse;
+    var core_rest_pipeline_1 = require_commonjs8();
+    var core_util_1 = require_commonjs6();
+    var constants_js_1 = require_constants14();
+    function escapeURLPath(url) {
+      const urlParsed = new URL(url);
+      let path3 = urlParsed.pathname;
+      path3 = path3 || "/";
+      path3 = escape(path3);
+      urlParsed.pathname = path3;
+      return urlParsed.toString();
+    }
+    function getProxyUriFromDevConnString(connectionString) {
+      let proxyUri = "";
+      if (connectionString.search("DevelopmentStorageProxyUri=") !== -1) {
+        const matchCredentials = connectionString.split(";");
+        for (const element of matchCredentials) {
+          if (element.trim().startsWith("DevelopmentStorageProxyUri=")) {
+            proxyUri = element.trim().match("DevelopmentStorageProxyUri=(.*)")[1];
+          }
         }
       }
+      return proxyUri;
     }
-    exports2.reflectionMergePartial = reflectionMergePartial;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-equals.js
-var require_reflection_equals = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-equals.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.reflectionEquals = void 0;
-    var reflection_info_1 = require_reflection_info();
-    function reflectionEquals(info7, a, b) {
-      if (a === b)
-        return true;
-      if (!a || !b)
-        return false;
-      for (let field of info7.fields) {
-        let localName = field.localName;
-        let val_a = field.oneof ? a[field.oneof][localName] : a[localName];
-        let val_b = field.oneof ? b[field.oneof][localName] : b[localName];
-        switch (field.kind) {
-          case "enum":
-          case "scalar":
-            let t = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T;
-            if (!(field.repeat ? repeatedPrimitiveEq(t, val_a, val_b) : primitiveEq(t, val_a, val_b)))
-              return false;
-            break;
-          case "map":
-            if (!(field.V.kind == "message" ? repeatedMsgEq(field.V.T(), objectValues(val_a), objectValues(val_b)) : repeatedPrimitiveEq(field.V.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.V.T, objectValues(val_a), objectValues(val_b))))
-              return false;
-            break;
-          case "message":
-            let T = field.T();
-            if (!(field.repeat ? repeatedMsgEq(T, val_a, val_b) : T.equals(val_a, val_b)))
-              return false;
-            break;
+    function getValueInConnString(connectionString, argument) {
+      const elements = connectionString.split(";");
+      for (const element of elements) {
+        if (element.trim().startsWith(argument)) {
+          return element.trim().match(argument + "=(.*)")[1];
         }
       }
-      return true;
+      return "";
     }
-    exports2.reflectionEquals = reflectionEquals;
-    var objectValues = Object.values;
-    function primitiveEq(type2, a, b) {
-      if (a === b)
-        return true;
-      if (type2 !== reflection_info_1.ScalarType.BYTES)
-        return false;
-      let ba = a;
-      let bb = b;
-      if (ba.length !== bb.length)
-        return false;
-      for (let i = 0; i < ba.length; i++)
-        if (ba[i] != bb[i])
-          return false;
-      return true;
+    function extractConnectionStringParts(connectionString) {
+      let proxyUri = "";
+      if (connectionString.startsWith("UseDevelopmentStorage=true")) {
+        proxyUri = getProxyUriFromDevConnString(connectionString);
+        connectionString = constants_js_1.DevelopmentConnectionString;
+      }
+      let blobEndpoint = getValueInConnString(connectionString, "BlobEndpoint");
+      blobEndpoint = blobEndpoint.endsWith("/") ? blobEndpoint.slice(0, -1) : blobEndpoint;
+      if (connectionString.search("DefaultEndpointsProtocol=") !== -1 && connectionString.search("AccountKey=") !== -1) {
+        let defaultEndpointsProtocol = "";
+        let accountName = "";
+        let accountKey = Buffer.from("accountKey", "base64");
+        let endpointSuffix = "";
+        accountName = getValueInConnString(connectionString, "AccountName");
+        accountKey = Buffer.from(getValueInConnString(connectionString, "AccountKey"), "base64");
+        if (!blobEndpoint) {
+          defaultEndpointsProtocol = getValueInConnString(connectionString, "DefaultEndpointsProtocol");
+          const protocol = defaultEndpointsProtocol.toLowerCase();
+          if (protocol !== "https" && protocol !== "http") {
+            throw new Error("Invalid DefaultEndpointsProtocol in the provided Connection String. Expecting 'https' or 'http'");
+          }
+          endpointSuffix = getValueInConnString(connectionString, "EndpointSuffix");
+          if (!endpointSuffix) {
+            throw new Error("Invalid EndpointSuffix in the provided Connection String");
+          }
+          blobEndpoint = `${defaultEndpointsProtocol}://${accountName}.blob.${endpointSuffix}`;
+        }
+        if (!accountName) {
+          throw new Error("Invalid AccountName in the provided Connection String");
+        } else if (accountKey.length === 0) {
+          throw new Error("Invalid AccountKey in the provided Connection String");
+        }
+        return {
+          kind: "AccountConnString",
+          url: blobEndpoint,
+          accountName,
+          accountKey,
+          proxyUri
+        };
+      } else {
+        let accountSas = getValueInConnString(connectionString, "SharedAccessSignature");
+        let accountName = getValueInConnString(connectionString, "AccountName");
+        if (!accountName) {
+          accountName = getAccountNameFromUrl(blobEndpoint);
+        }
+        if (!blobEndpoint) {
+          throw new Error("Invalid BlobEndpoint in the provided SAS Connection String");
+        } else if (!accountSas) {
+          throw new Error("Invalid SharedAccessSignature in the provided SAS Connection String");
+        }
+        if (accountSas.startsWith("?")) {
+          accountSas = accountSas.substring(1);
+        }
+        return { kind: "SASConnString", url: blobEndpoint, accountName, accountSas };
+      }
     }
-    function repeatedPrimitiveEq(type2, a, b) {
-      if (a.length !== b.length)
-        return false;
-      for (let i = 0; i < a.length; i++)
-        if (!primitiveEq(type2, a[i], b[i]))
-          return false;
-      return true;
+    function escape(text) {
+      return encodeURIComponent(text).replace(/%2F/g, "/").replace(/'/g, "%27").replace(/\+/g, "%20").replace(/%25/g, "%");
     }
-    function repeatedMsgEq(type2, a, b) {
-      if (a.length !== b.length)
-        return false;
-      for (let i = 0; i < a.length; i++)
-        if (!type2.equals(a[i], b[i]))
-          return false;
-      return true;
+    function appendToURLPath(url, name) {
+      const urlParsed = new URL(url);
+      let path3 = urlParsed.pathname;
+      path3 = path3 ? path3.endsWith("/") ? `${path3}${name}` : `${path3}/${name}` : name;
+      urlParsed.pathname = path3;
+      return urlParsed.toString();
     }
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/message-type.js
-var require_message_type = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/message-type.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.MessageType = void 0;
-    var message_type_contract_1 = require_message_type_contract();
-    var reflection_info_1 = require_reflection_info();
-    var reflection_type_check_1 = require_reflection_type_check();
-    var reflection_json_reader_1 = require_reflection_json_reader();
-    var reflection_json_writer_1 = require_reflection_json_writer();
-    var reflection_binary_reader_1 = require_reflection_binary_reader();
-    var reflection_binary_writer_1 = require_reflection_binary_writer();
-    var reflection_create_1 = require_reflection_create();
-    var reflection_merge_partial_1 = require_reflection_merge_partial();
-    var json_typings_1 = require_json_typings();
-    var json_format_contract_1 = require_json_format_contract();
-    var reflection_equals_1 = require_reflection_equals();
-    var binary_writer_1 = require_binary_writer();
-    var binary_reader_1 = require_binary_reader();
-    var baseDescriptors = Object.getOwnPropertyDescriptors(Object.getPrototypeOf({}));
-    var messageTypeDescriptor = baseDescriptors[message_type_contract_1.MESSAGE_TYPE] = {};
-    var MessageType = class {
-      constructor(name, fields, options) {
-        this.defaultCheckDepth = 16;
-        this.typeName = name;
-        this.fields = fields.map(reflection_info_1.normalizeFieldInfo);
-        this.options = options !== null && options !== void 0 ? options : {};
-        messageTypeDescriptor.value = this;
-        this.messagePrototype = Object.create(null, baseDescriptors);
-        this.refTypeCheck = new reflection_type_check_1.ReflectionTypeCheck(this);
-        this.refJsonReader = new reflection_json_reader_1.ReflectionJsonReader(this);
-        this.refJsonWriter = new reflection_json_writer_1.ReflectionJsonWriter(this);
-        this.refBinReader = new reflection_binary_reader_1.ReflectionBinaryReader(this);
-        this.refBinWriter = new reflection_binary_writer_1.ReflectionBinaryWriter(this);
-      }
-      create(value) {
-        let message = reflection_create_1.reflectionCreate(this);
-        if (value !== void 0) {
-          reflection_merge_partial_1.reflectionMergePartial(this, message, value);
+    function setURLParameter(url, name, value) {
+      const urlParsed = new URL(url);
+      const encodedName = encodeURIComponent(name);
+      const encodedValue = value ? encodeURIComponent(value) : void 0;
+      const searchString = urlParsed.search === "" ? "?" : urlParsed.search;
+      const searchPieces = [];
+      for (const pair of searchString.slice(1).split("&")) {
+        if (pair) {
+          const [key] = pair.split("=", 2);
+          if (key !== encodedName) {
+            searchPieces.push(pair);
+          }
         }
-        return message;
-      }
-      /**
-       * Clone the message.
-       *
-       * Unknown fields are discarded.
-       */
-      clone(message) {
-        let copy = this.create();
-        reflection_merge_partial_1.reflectionMergePartial(this, copy, message);
-        return copy;
-      }
-      /**
-       * Determines whether two message of the same type have the same field values.
-       * Checks for deep equality, traversing repeated fields, oneof groups, maps
-       * and messages recursively.
-       * Will also return true if both messages are `undefined`.
-       */
-      equals(a, b) {
-        return reflection_equals_1.reflectionEquals(this, a, b);
       }
-      /**
-       * Is the given value assignable to our message type
-       * and contains no [excess properties](https://www.typescriptlang.org/docs/handbook/interfaces.html#excess-property-checks)?
-       */
-      is(arg, depth = this.defaultCheckDepth) {
-        return this.refTypeCheck.is(arg, depth, false);
+      if (encodedValue) {
+        searchPieces.push(`${encodedName}=${encodedValue}`);
       }
-      /**
-       * Is the given value assignable to our message type,
-       * regardless of [excess properties](https://www.typescriptlang.org/docs/handbook/interfaces.html#excess-property-checks)?
-       */
-      isAssignable(arg, depth = this.defaultCheckDepth) {
-        return this.refTypeCheck.is(arg, depth, true);
+      urlParsed.search = searchPieces.length ? `?${searchPieces.join("&")}` : "";
+      return urlParsed.toString();
+    }
+    function getURLParameter(url, name) {
+      const urlParsed = new URL(url);
+      return urlParsed.searchParams.get(name) ?? void 0;
+    }
+    function setURLHost(url, host) {
+      const urlParsed = new URL(url);
+      urlParsed.hostname = host;
+      return urlParsed.toString();
+    }
+    function getURLPath(url) {
+      try {
+        const urlParsed = new URL(url);
+        return urlParsed.pathname;
+      } catch (e) {
+        return void 0;
       }
-      /**
-       * Copy partial data into the target message.
-       */
-      mergePartial(target, source) {
-        reflection_merge_partial_1.reflectionMergePartial(this, target, source);
+    }
+    function getURLScheme(url) {
+      try {
+        const urlParsed = new URL(url);
+        return urlParsed.protocol.endsWith(":") ? urlParsed.protocol.slice(0, -1) : urlParsed.protocol;
+      } catch (e) {
+        return void 0;
       }
-      /**
-       * Create a new message from binary format.
-       */
-      fromBinary(data, options) {
-        let opt = binary_reader_1.binaryReadOptions(options);
-        return this.internalBinaryRead(opt.readerFactory(data), data.byteLength, opt);
+    }
+    function getURLPathAndQuery(url) {
+      const urlParsed = new URL(url);
+      const pathString = urlParsed.pathname;
+      if (!pathString) {
+        throw new RangeError("Invalid url without valid path.");
       }
-      /**
-       * Read a new message from a JSON value.
-       */
-      fromJson(json2, options) {
-        return this.internalJsonRead(json2, json_format_contract_1.jsonReadOptions(options));
+      let queryString = urlParsed.search || "";
+      queryString = queryString.trim();
+      if (queryString !== "") {
+        queryString = queryString.startsWith("?") ? queryString : `?${queryString}`;
       }
-      /**
-       * Read a new message from a JSON string.
-       * This is equivalent to `T.fromJson(JSON.parse(json))`.
-       */
-      fromJsonString(json2, options) {
-        let value = JSON.parse(json2);
-        return this.fromJson(value, options);
+      return `${pathString}${queryString}`;
+    }
+    function getURLQueries(url) {
+      let queryString = new URL(url).search;
+      if (!queryString) {
+        return {};
       }
-      /**
-       * Write the message to canonical JSON value.
-       */
-      toJson(message, options) {
-        return this.internalJsonWrite(message, json_format_contract_1.jsonWriteOptions(options));
+      queryString = queryString.trim();
+      queryString = queryString.startsWith("?") ? queryString.substring(1) : queryString;
+      let querySubStrings = queryString.split("&");
+      querySubStrings = querySubStrings.filter((value) => {
+        const indexOfEqual = value.indexOf("=");
+        const lastIndexOfEqual = value.lastIndexOf("=");
+        return indexOfEqual > 0 && indexOfEqual === lastIndexOfEqual && lastIndexOfEqual < value.length - 1;
+      });
+      const queries = {};
+      for (const querySubString of querySubStrings) {
+        const splitResults = querySubString.split("=");
+        const key = splitResults[0];
+        const value = splitResults[1];
+        queries[key] = value;
       }
-      /**
-       * Convert the message to canonical JSON string.
-       * This is equivalent to `JSON.stringify(T.toJson(t))`
-       */
-      toJsonString(message, options) {
-        var _a;
-        let value = this.toJson(message, options);
-        return JSON.stringify(value, null, (_a = options === null || options === void 0 ? void 0 : options.prettySpaces) !== null && _a !== void 0 ? _a : 0);
+      return queries;
+    }
+    function appendToURLQuery(url, queryParts) {
+      const urlParsed = new URL(url);
+      let query = urlParsed.search;
+      if (query) {
+        query += "&" + queryParts;
+      } else {
+        query = queryParts;
       }
-      /**
-       * Write the message to binary format.
-       */
-      toBinary(message, options) {
-        let opt = binary_writer_1.binaryWriteOptions(options);
-        return this.internalBinaryWrite(message, opt.writerFactory(), opt).finish();
+      urlParsed.search = query;
+      return urlParsed.toString();
+    }
+    function truncatedISO8061Date(date, withMilliseconds = true) {
+      const dateString = date.toISOString();
+      return withMilliseconds ? dateString.substring(0, dateString.length - 1) + "0000Z" : dateString.substring(0, dateString.length - 5) + "Z";
+    }
+    function base64encode(content) {
+      return !core_util_1.isNodeLike ? btoa(content) : Buffer.from(content).toString("base64");
+    }
+    function base64decode(encodedString) {
+      return !core_util_1.isNodeLike ? atob(encodedString) : Buffer.from(encodedString, "base64").toString();
+    }
+    function generateBlockID(blockIDPrefix, blockIndex) {
+      const maxSourceStringLength = 48;
+      const maxBlockIndexLength = 6;
+      const maxAllowedBlockIDPrefixLength = maxSourceStringLength - maxBlockIndexLength;
+      if (blockIDPrefix.length > maxAllowedBlockIDPrefixLength) {
+        blockIDPrefix = blockIDPrefix.slice(0, maxAllowedBlockIDPrefixLength);
       }
-      /**
-       * This is an internal method. If you just want to read a message from
-       * JSON, use `fromJson()` or `fromJsonString()`.
-       *
-       * Reads JSON value and merges the fields into the target
-       * according to protobuf rules. If the target is omitted,
-       * a new instance is created first.
-       */
-      internalJsonRead(json2, options, target) {
-        if (json2 !== null && typeof json2 == "object" && !Array.isArray(json2)) {
-          let message = target !== null && target !== void 0 ? target : this.create();
-          this.refJsonReader.read(json2, message, options);
-          return message;
+      const res = blockIDPrefix + padStart2(blockIndex.toString(), maxSourceStringLength - blockIDPrefix.length, "0");
+      return base64encode(res);
+    }
+    async function delay(timeInMs, aborter, abortError) {
+      return new Promise((resolve2, reject) => {
+        let timeout;
+        const abortHandler = () => {
+          if (timeout !== void 0) {
+            clearTimeout(timeout);
+          }
+          reject(abortError);
+        };
+        const resolveHandler = () => {
+          if (aborter !== void 0) {
+            aborter.removeEventListener("abort", abortHandler);
+          }
+          resolve2();
+        };
+        timeout = setTimeout(resolveHandler, timeInMs);
+        if (aborter !== void 0) {
+          aborter.addEventListener("abort", abortHandler);
         }
-        throw new Error(`Unable to parse message ${this.typeName} from JSON ${json_typings_1.typeofJsonValue(json2)}.`);
-      }
-      /**
-       * This is an internal method. If you just want to write a message
-       * to JSON, use `toJson()` or `toJsonString().
-       *
-       * Writes JSON value and returns it.
-       */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.write(message, options);
-      }
-      /**
-       * This is an internal method. If you just want to write a message
-       * in binary format, use `toBinary()`.
-       *
-       * Serializes the message in binary format and appends it to the given
-       * writer. Returns passed writer.
-       */
-      internalBinaryWrite(message, writer, options) {
-        this.refBinWriter.write(message, writer, options);
-        return writer;
+      });
+    }
+    function padStart2(currentString, targetLength, padString = " ") {
+      if (String.prototype.padStart) {
+        return currentString.padStart(targetLength, padString);
       }
-      /**
-       * This is an internal method. If you just want to read a message from
-       * binary data, use `fromBinary()`.
-       *
-       * Reads data from binary format and merges the fields into
-       * the target according to protobuf rules. If the target is
-       * omitted, a new instance is created first.
-       */
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create();
-        this.refBinReader.read(reader, message, options, length);
-        return message;
+      padString = padString || " ";
+      if (currentString.length > targetLength) {
+        return currentString;
+      } else {
+        targetLength = targetLength - currentString.length;
+        if (targetLength > padString.length) {
+          padString += padString.repeat(targetLength / padString.length);
+        }
+        return padString.slice(0, targetLength) + currentString;
       }
-    };
-    exports2.MessageType = MessageType;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-contains-message-type.js
-var require_reflection_contains_message_type = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-contains-message-type.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.containsMessageType = void 0;
-    var message_type_contract_1 = require_message_type_contract();
-    function containsMessageType(msg) {
-      return msg[message_type_contract_1.MESSAGE_TYPE] != null;
     }
-    exports2.containsMessageType = containsMessageType;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/enum-object.js
-var require_enum_object = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/enum-object.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.listEnumNumbers = exports2.listEnumNames = exports2.listEnumValues = exports2.isEnumObject = void 0;
-    function isEnumObject(arg) {
-      if (typeof arg != "object" || arg === null) {
-        return false;
+    function sanitizeURL(url) {
+      let safeURL = url;
+      if (getURLParameter(safeURL, constants_js_1.URLConstants.Parameters.SIGNATURE)) {
+        safeURL = setURLParameter(safeURL, constants_js_1.URLConstants.Parameters.SIGNATURE, "*****");
       }
-      if (!arg.hasOwnProperty(0)) {
-        return false;
+      return safeURL;
+    }
+    function sanitizeHeaders(originalHeader) {
+      const headers = (0, core_rest_pipeline_1.createHttpHeaders)();
+      for (const [name, value] of originalHeader) {
+        if (name.toLowerCase() === constants_js_1.HeaderConstants.AUTHORIZATION.toLowerCase()) {
+          headers.set(name, "*****");
+        } else if (name.toLowerCase() === constants_js_1.HeaderConstants.X_MS_COPY_SOURCE) {
+          headers.set(name, sanitizeURL(value));
+        } else {
+          headers.set(name, value);
+        }
       }
-      for (let k of Object.keys(arg)) {
-        let num = parseInt(k);
-        if (!Number.isNaN(num)) {
-          let nam = arg[num];
-          if (nam === void 0)
-            return false;
-          if (arg[nam] !== num)
-            return false;
+      return headers;
+    }
+    function iEqual(str1, str2) {
+      return str1.toLocaleLowerCase() === str2.toLocaleLowerCase();
+    }
+    function getAccountNameFromUrl(url) {
+      const parsedUrl = new URL(url);
+      let accountName;
+      try {
+        if (parsedUrl.hostname.split(".")[1] === "blob") {
+          accountName = parsedUrl.hostname.split(".")[0];
+        } else if (isIpEndpointStyle(parsedUrl)) {
+          accountName = parsedUrl.pathname.split("/")[1];
         } else {
-          let num2 = arg[k];
-          if (num2 === void 0)
-            return false;
-          if (typeof num2 !== "number")
-            return false;
-          if (arg[num2] === void 0)
-            return false;
+          accountName = "";
         }
+        return accountName;
+      } catch (error3) {
+        throw new Error("Unable to extract accountName with provided information.");
       }
-      return true;
     }
-    exports2.isEnumObject = isEnumObject;
-    function listEnumValues(enumObject) {
-      if (!isEnumObject(enumObject))
-        throw new Error("not a typescript enum object");
-      let values = [];
-      for (let [name, number] of Object.entries(enumObject))
-        if (typeof number == "number")
-          values.push({ name, number });
-      return values;
+    function isIpEndpointStyle(parsedUrl) {
+      const host = parsedUrl.host;
+      return /^.*:.*:.*$|^(localhost|host.docker.internal)(:[0-9]+)?$|^(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])){3}(:[0-9]+)?$/.test(host) || Boolean(parsedUrl.port) && constants_js_1.PathStylePorts.includes(parsedUrl.port);
     }
-    exports2.listEnumValues = listEnumValues;
-    function listEnumNames(enumObject) {
-      return listEnumValues(enumObject).map((val) => val.name);
+    function toBlobTagsString(tags) {
+      if (tags === void 0) {
+        return void 0;
+      }
+      const tagPairs = [];
+      for (const key in tags) {
+        if (Object.prototype.hasOwnProperty.call(tags, key)) {
+          const value = tags[key];
+          tagPairs.push(`${encodeURIComponent(key)}=${encodeURIComponent(value)}`);
+        }
+      }
+      return tagPairs.join("&");
     }
-    exports2.listEnumNames = listEnumNames;
-    function listEnumNumbers(enumObject) {
-      return listEnumValues(enumObject).map((val) => val.number).filter((num, index, arr) => arr.indexOf(num) == index);
+    function toBlobTags(tags) {
+      if (tags === void 0) {
+        return void 0;
+      }
+      const res = {
+        blobTagSet: []
+      };
+      for (const key in tags) {
+        if (Object.prototype.hasOwnProperty.call(tags, key)) {
+          const value = tags[key];
+          res.blobTagSet.push({
+            key,
+            value
+          });
+        }
+      }
+      return res;
     }
-    exports2.listEnumNumbers = listEnumNumbers;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/index.js
-var require_commonjs = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    var json_typings_1 = require_json_typings();
-    Object.defineProperty(exports2, "typeofJsonValue", { enumerable: true, get: function() {
-      return json_typings_1.typeofJsonValue;
-    } });
-    Object.defineProperty(exports2, "isJsonObject", { enumerable: true, get: function() {
-      return json_typings_1.isJsonObject;
-    } });
-    var base64_1 = require_base64();
-    Object.defineProperty(exports2, "base64decode", { enumerable: true, get: function() {
-      return base64_1.base64decode;
-    } });
-    Object.defineProperty(exports2, "base64encode", { enumerable: true, get: function() {
-      return base64_1.base64encode;
-    } });
-    var protobufjs_utf8_1 = require_protobufjs_utf8();
-    Object.defineProperty(exports2, "utf8read", { enumerable: true, get: function() {
-      return protobufjs_utf8_1.utf8read;
-    } });
-    var binary_format_contract_1 = require_binary_format_contract();
-    Object.defineProperty(exports2, "WireType", { enumerable: true, get: function() {
-      return binary_format_contract_1.WireType;
-    } });
-    Object.defineProperty(exports2, "mergeBinaryOptions", { enumerable: true, get: function() {
-      return binary_format_contract_1.mergeBinaryOptions;
-    } });
-    Object.defineProperty(exports2, "UnknownFieldHandler", { enumerable: true, get: function() {
-      return binary_format_contract_1.UnknownFieldHandler;
-    } });
-    var binary_reader_1 = require_binary_reader();
-    Object.defineProperty(exports2, "BinaryReader", { enumerable: true, get: function() {
-      return binary_reader_1.BinaryReader;
-    } });
-    Object.defineProperty(exports2, "binaryReadOptions", { enumerable: true, get: function() {
-      return binary_reader_1.binaryReadOptions;
-    } });
-    var binary_writer_1 = require_binary_writer();
-    Object.defineProperty(exports2, "BinaryWriter", { enumerable: true, get: function() {
-      return binary_writer_1.BinaryWriter;
-    } });
-    Object.defineProperty(exports2, "binaryWriteOptions", { enumerable: true, get: function() {
-      return binary_writer_1.binaryWriteOptions;
-    } });
-    var pb_long_1 = require_pb_long();
-    Object.defineProperty(exports2, "PbLong", { enumerable: true, get: function() {
-      return pb_long_1.PbLong;
-    } });
-    Object.defineProperty(exports2, "PbULong", { enumerable: true, get: function() {
-      return pb_long_1.PbULong;
-    } });
-    var json_format_contract_1 = require_json_format_contract();
-    Object.defineProperty(exports2, "jsonReadOptions", { enumerable: true, get: function() {
-      return json_format_contract_1.jsonReadOptions;
-    } });
-    Object.defineProperty(exports2, "jsonWriteOptions", { enumerable: true, get: function() {
-      return json_format_contract_1.jsonWriteOptions;
-    } });
-    Object.defineProperty(exports2, "mergeJsonOptions", { enumerable: true, get: function() {
-      return json_format_contract_1.mergeJsonOptions;
-    } });
-    var message_type_contract_1 = require_message_type_contract();
-    Object.defineProperty(exports2, "MESSAGE_TYPE", { enumerable: true, get: function() {
-      return message_type_contract_1.MESSAGE_TYPE;
-    } });
-    var message_type_1 = require_message_type();
-    Object.defineProperty(exports2, "MessageType", { enumerable: true, get: function() {
-      return message_type_1.MessageType;
-    } });
-    var reflection_info_1 = require_reflection_info();
-    Object.defineProperty(exports2, "ScalarType", { enumerable: true, get: function() {
-      return reflection_info_1.ScalarType;
-    } });
-    Object.defineProperty(exports2, "LongType", { enumerable: true, get: function() {
-      return reflection_info_1.LongType;
-    } });
-    Object.defineProperty(exports2, "RepeatType", { enumerable: true, get: function() {
-      return reflection_info_1.RepeatType;
-    } });
-    Object.defineProperty(exports2, "normalizeFieldInfo", { enumerable: true, get: function() {
-      return reflection_info_1.normalizeFieldInfo;
-    } });
-    Object.defineProperty(exports2, "readFieldOptions", { enumerable: true, get: function() {
-      return reflection_info_1.readFieldOptions;
-    } });
-    Object.defineProperty(exports2, "readFieldOption", { enumerable: true, get: function() {
-      return reflection_info_1.readFieldOption;
-    } });
-    Object.defineProperty(exports2, "readMessageOption", { enumerable: true, get: function() {
-      return reflection_info_1.readMessageOption;
-    } });
-    var reflection_type_check_1 = require_reflection_type_check();
-    Object.defineProperty(exports2, "ReflectionTypeCheck", { enumerable: true, get: function() {
-      return reflection_type_check_1.ReflectionTypeCheck;
-    } });
-    var reflection_create_1 = require_reflection_create();
-    Object.defineProperty(exports2, "reflectionCreate", { enumerable: true, get: function() {
-      return reflection_create_1.reflectionCreate;
-    } });
-    var reflection_scalar_default_1 = require_reflection_scalar_default();
-    Object.defineProperty(exports2, "reflectionScalarDefault", { enumerable: true, get: function() {
-      return reflection_scalar_default_1.reflectionScalarDefault;
-    } });
-    var reflection_merge_partial_1 = require_reflection_merge_partial();
-    Object.defineProperty(exports2, "reflectionMergePartial", { enumerable: true, get: function() {
-      return reflection_merge_partial_1.reflectionMergePartial;
-    } });
-    var reflection_equals_1 = require_reflection_equals();
-    Object.defineProperty(exports2, "reflectionEquals", { enumerable: true, get: function() {
-      return reflection_equals_1.reflectionEquals;
-    } });
-    var reflection_binary_reader_1 = require_reflection_binary_reader();
-    Object.defineProperty(exports2, "ReflectionBinaryReader", { enumerable: true, get: function() {
-      return reflection_binary_reader_1.ReflectionBinaryReader;
-    } });
-    var reflection_binary_writer_1 = require_reflection_binary_writer();
-    Object.defineProperty(exports2, "ReflectionBinaryWriter", { enumerable: true, get: function() {
-      return reflection_binary_writer_1.ReflectionBinaryWriter;
-    } });
-    var reflection_json_reader_1 = require_reflection_json_reader();
-    Object.defineProperty(exports2, "ReflectionJsonReader", { enumerable: true, get: function() {
-      return reflection_json_reader_1.ReflectionJsonReader;
-    } });
-    var reflection_json_writer_1 = require_reflection_json_writer();
-    Object.defineProperty(exports2, "ReflectionJsonWriter", { enumerable: true, get: function() {
-      return reflection_json_writer_1.ReflectionJsonWriter;
-    } });
-    var reflection_contains_message_type_1 = require_reflection_contains_message_type();
-    Object.defineProperty(exports2, "containsMessageType", { enumerable: true, get: function() {
-      return reflection_contains_message_type_1.containsMessageType;
-    } });
-    var oneof_1 = require_oneof();
-    Object.defineProperty(exports2, "isOneofGroup", { enumerable: true, get: function() {
-      return oneof_1.isOneofGroup;
-    } });
-    Object.defineProperty(exports2, "setOneofValue", { enumerable: true, get: function() {
-      return oneof_1.setOneofValue;
-    } });
-    Object.defineProperty(exports2, "getOneofValue", { enumerable: true, get: function() {
-      return oneof_1.getOneofValue;
-    } });
-    Object.defineProperty(exports2, "clearOneofValue", { enumerable: true, get: function() {
-      return oneof_1.clearOneofValue;
-    } });
-    Object.defineProperty(exports2, "getSelectedOneofValue", { enumerable: true, get: function() {
-      return oneof_1.getSelectedOneofValue;
-    } });
-    var enum_object_1 = require_enum_object();
-    Object.defineProperty(exports2, "listEnumValues", { enumerable: true, get: function() {
-      return enum_object_1.listEnumValues;
-    } });
-    Object.defineProperty(exports2, "listEnumNames", { enumerable: true, get: function() {
-      return enum_object_1.listEnumNames;
-    } });
-    Object.defineProperty(exports2, "listEnumNumbers", { enumerable: true, get: function() {
-      return enum_object_1.listEnumNumbers;
-    } });
-    Object.defineProperty(exports2, "isEnumObject", { enumerable: true, get: function() {
-      return enum_object_1.isEnumObject;
-    } });
-    var lower_camel_case_1 = require_lower_camel_case();
-    Object.defineProperty(exports2, "lowerCamelCase", { enumerable: true, get: function() {
-      return lower_camel_case_1.lowerCamelCase;
-    } });
-    var assert_1 = require_assert();
-    Object.defineProperty(exports2, "assert", { enumerable: true, get: function() {
-      return assert_1.assert;
-    } });
-    Object.defineProperty(exports2, "assertNever", { enumerable: true, get: function() {
-      return assert_1.assertNever;
-    } });
-    Object.defineProperty(exports2, "assertInt32", { enumerable: true, get: function() {
-      return assert_1.assertInt32;
-    } });
-    Object.defineProperty(exports2, "assertUInt32", { enumerable: true, get: function() {
-      return assert_1.assertUInt32;
-    } });
-    Object.defineProperty(exports2, "assertFloat32", { enumerable: true, get: function() {
-      return assert_1.assertFloat32;
-    } });
-  }
-});
-
-// node_modules/@actions/artifact/lib/generated/google/protobuf/timestamp.js
-var require_timestamp = __commonJS({
-  "node_modules/@actions/artifact/lib/generated/google/protobuf/timestamp.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Timestamp = void 0;
-    var runtime_1 = require_commonjs();
-    var runtime_2 = require_commonjs();
-    var runtime_3 = require_commonjs();
-    var runtime_4 = require_commonjs();
-    var runtime_5 = require_commonjs();
-    var runtime_6 = require_commonjs();
-    var runtime_7 = require_commonjs();
-    var Timestamp$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.Timestamp", [
-          {
-            no: 1,
-            name: "seconds",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          },
-          {
-            no: 2,
-            name: "nanos",
-            kind: "scalar",
-            T: 5
-            /*ScalarType.INT32*/
-          }
-        ]);
+    function toTags(tags) {
+      if (tags === void 0) {
+        return void 0;
       }
-      /**
-       * Creates a new `Timestamp` for the current time.
-       */
-      now() {
-        const msg = this.create();
-        const ms = Date.now();
-        msg.seconds = runtime_6.PbLong.from(Math.floor(ms / 1e3)).toString();
-        msg.nanos = ms % 1e3 * 1e6;
-        return msg;
+      const res = {};
+      for (const blobTag of tags.blobTagSet) {
+        res[blobTag.key] = blobTag.value;
       }
-      /**
-       * Converts a `Timestamp` to a JavaScript Date.
-       */
-      toDate(message) {
-        return new Date(runtime_6.PbLong.from(message.seconds).toNumber() * 1e3 + Math.ceil(message.nanos / 1e6));
+      return res;
+    }
+    function toQuerySerialization(textConfiguration) {
+      if (textConfiguration === void 0) {
+        return void 0;
       }
-      /**
-       * Converts a JavaScript Date to a `Timestamp`.
-       */
-      fromDate(date) {
-        const msg = this.create();
-        const ms = date.getTime();
-        msg.seconds = runtime_6.PbLong.from(Math.floor(ms / 1e3)).toString();
-        msg.nanos = ms % 1e3 * 1e6;
-        return msg;
+      switch (textConfiguration.kind) {
+        case "csv":
+          return {
+            format: {
+              type: "delimited",
+              delimitedTextConfiguration: {
+                columnSeparator: textConfiguration.columnSeparator || ",",
+                fieldQuote: textConfiguration.fieldQuote || "",
+                recordSeparator: textConfiguration.recordSeparator,
+                escapeChar: textConfiguration.escapeCharacter || "",
+                headersPresent: textConfiguration.hasHeaders || false
+              }
+            }
+          };
+        case "json":
+          return {
+            format: {
+              type: "json",
+              jsonTextConfiguration: {
+                recordSeparator: textConfiguration.recordSeparator
+              }
+            }
+          };
+        case "arrow":
+          return {
+            format: {
+              type: "arrow",
+              arrowConfiguration: {
+                schema: textConfiguration.schema
+              }
+            }
+          };
+        case "parquet":
+          return {
+            format: {
+              type: "parquet"
+            }
+          };
+        default:
+          throw Error("Invalid BlobQueryTextConfiguration.");
       }
-      /**
-       * In JSON format, the `Timestamp` type is encoded as a string
-       * in the RFC 3339 format.
-       */
-      internalJsonWrite(message, options) {
-        let ms = runtime_6.PbLong.from(message.seconds).toNumber() * 1e3;
-        if (ms < Date.parse("0001-01-01T00:00:00Z") || ms > Date.parse("9999-12-31T23:59:59Z"))
-          throw new Error("Unable to encode Timestamp to JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.");
-        if (message.nanos < 0)
-          throw new Error("Unable to encode invalid Timestamp to JSON. Nanos must not be negative.");
-        let z = "Z";
-        if (message.nanos > 0) {
-          let nanosStr = (message.nanos + 1e9).toString().substring(1);
-          if (nanosStr.substring(3) === "000000")
-            z = "." + nanosStr.substring(0, 3) + "Z";
-          else if (nanosStr.substring(6) === "000")
-            z = "." + nanosStr.substring(0, 6) + "Z";
-          else
-            z = "." + nanosStr + "Z";
-        }
-        return new Date(ms).toISOString().replace(".000Z", z);
+    }
+    function parseObjectReplicationRecord(objectReplicationRecord) {
+      if (!objectReplicationRecord) {
+        return void 0;
       }
-      /**
-       * In JSON format, the `Timestamp` type is encoded as a string
-       * in the RFC 3339 format.
-       */
-      internalJsonRead(json2, options, target) {
-        if (typeof json2 !== "string")
-          throw new Error("Unable to parse Timestamp from JSON " + (0, runtime_5.typeofJsonValue)(json2) + ".");
-        let matches = json2.match(/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(?:Z|\.([0-9]{3,9})Z|([+-][0-9][0-9]:[0-9][0-9]))$/);
-        if (!matches)
-          throw new Error("Unable to parse Timestamp from JSON. Invalid format.");
-        let ms = Date.parse(matches[1] + "-" + matches[2] + "-" + matches[3] + "T" + matches[4] + ":" + matches[5] + ":" + matches[6] + (matches[8] ? matches[8] : "Z"));
-        if (Number.isNaN(ms))
-          throw new Error("Unable to parse Timestamp from JSON. Invalid value.");
-        if (ms < Date.parse("0001-01-01T00:00:00Z") || ms > Date.parse("9999-12-31T23:59:59Z"))
-          throw new globalThis.Error("Unable to parse Timestamp from JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.");
-        if (!target)
-          target = this.create();
-        target.seconds = runtime_6.PbLong.from(ms / 1e3).toString();
-        target.nanos = 0;
-        if (matches[7])
-          target.nanos = parseInt("1" + matches[7] + "0".repeat(9 - matches[7].length)) - 1e9;
-        return target;
+      if ("policy-id" in objectReplicationRecord) {
+        return void 0;
       }
-      create(value) {
-        const message = { seconds: "0", nanos: 0 };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      const orProperties = [];
+      for (const key in objectReplicationRecord) {
+        const ids = key.split("_");
+        const policyPrefix = "or-";
+        if (ids[0].startsWith(policyPrefix)) {
+          ids[0] = ids[0].substring(policyPrefix.length);
+        }
+        const rule = {
+          ruleId: ids[1],
+          replicationStatus: objectReplicationRecord[key]
+        };
+        const policyIndex = orProperties.findIndex((policy) => policy.policyId === ids[0]);
+        if (policyIndex > -1) {
+          orProperties[policyIndex].rules.push(rule);
+        } else {
+          orProperties.push({
+            policyId: ids[0],
+            rules: [rule]
+          });
+        }
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* int64 seconds */
-            1:
-              message.seconds = reader.int64().toString();
-              break;
-            case /* int32 nanos */
-            2:
-              message.nanos = reader.int32();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
+      return orProperties;
+    }
+    function attachCredential(thing, credential) {
+      thing.credential = credential;
+      return thing;
+    }
+    function httpAuthorizationToString(httpAuthorization) {
+      return httpAuthorization ? httpAuthorization.scheme + " " + httpAuthorization.value : void 0;
+    }
+    function BlobNameToString(name) {
+      if (name.encoded) {
+        return decodeURIComponent(name.content);
+      } else {
+        return name.content;
+      }
+    }
+    function ConvertInternalResponseOfListBlobFlat(internalResponse) {
+      return {
+        ...internalResponse,
+        segment: {
+          blobItems: internalResponse.segment.blobItems.map((blobItemInteral) => {
+            const blobItem = {
+              ...blobItemInteral,
+              name: BlobNameToString(blobItemInteral.name)
+            };
+            return blobItem;
+          })
+        }
+      };
+    }
+    function ConvertInternalResponseOfListBlobHierarchy(internalResponse) {
+      return {
+        ...internalResponse,
+        segment: {
+          blobPrefixes: internalResponse.segment.blobPrefixes?.map((blobPrefixInternal) => {
+            const blobPrefix = {
+              ...blobPrefixInternal,
+              name: BlobNameToString(blobPrefixInternal.name)
+            };
+            return blobPrefix;
+          }),
+          blobItems: internalResponse.segment.blobItems.map((blobItemInteral) => {
+            const blobItem = {
+              ...blobItemInteral,
+              name: BlobNameToString(blobItemInteral.name)
+            };
+            return blobItem;
+          })
+        }
+      };
+    }
+    function* ExtractPageRangeInfoItems(getPageRangesSegment) {
+      let pageRange = [];
+      let clearRange = [];
+      if (getPageRangesSegment.pageRange)
+        pageRange = getPageRangesSegment.pageRange;
+      if (getPageRangesSegment.clearRange)
+        clearRange = getPageRangesSegment.clearRange;
+      let pageRangeIndex = 0;
+      let clearRangeIndex = 0;
+      while (pageRangeIndex < pageRange.length && clearRangeIndex < clearRange.length) {
+        if (pageRange[pageRangeIndex].start < clearRange[clearRangeIndex].start) {
+          yield {
+            start: pageRange[pageRangeIndex].start,
+            end: pageRange[pageRangeIndex].end,
+            isClear: false
+          };
+          ++pageRangeIndex;
+        } else {
+          yield {
+            start: clearRange[clearRangeIndex].start,
+            end: clearRange[clearRangeIndex].end,
+            isClear: true
+          };
+          ++clearRangeIndex;
         }
-        return message;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.seconds !== "0")
-          writer.tag(1, runtime_1.WireType.Varint).int64(message.seconds);
-        if (message.nanos !== 0)
-          writer.tag(2, runtime_1.WireType.Varint).int32(message.nanos);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      for (; pageRangeIndex < pageRange.length; ++pageRangeIndex) {
+        yield {
+          start: pageRange[pageRangeIndex].start,
+          end: pageRange[pageRangeIndex].end,
+          isClear: false
+        };
       }
-    };
-    exports2.Timestamp = new Timestamp$Type();
+      for (; clearRangeIndex < clearRange.length; ++clearRangeIndex) {
+        yield {
+          start: clearRange[clearRangeIndex].start,
+          end: clearRange[clearRangeIndex].end,
+          isClear: true
+        };
+      }
+    }
+    function EscapePath(blobName) {
+      const split = blobName.split("/");
+      for (let i = 0; i < split.length; i++) {
+        split[i] = encodeURIComponent(split[i]);
+      }
+      return split.join("/");
+    }
+    function assertResponse(response) {
+      if (`_response` in response) {
+        return response;
+      }
+      throw new TypeError(`Unexpected response object ${response}`);
+    }
   }
 });
 
-// node_modules/@actions/artifact/lib/generated/google/protobuf/wrappers.js
-var require_wrappers = __commonJS({
-  "node_modules/@actions/artifact/lib/generated/google/protobuf/wrappers.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicyType.js
+var require_StorageRetryPolicyType = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicyType.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BytesValue = exports2.StringValue = exports2.BoolValue = exports2.UInt32Value = exports2.Int32Value = exports2.UInt64Value = exports2.Int64Value = exports2.FloatValue = exports2.DoubleValue = void 0;
-    var runtime_1 = require_commonjs();
-    var runtime_2 = require_commonjs();
-    var runtime_3 = require_commonjs();
-    var runtime_4 = require_commonjs();
-    var runtime_5 = require_commonjs();
-    var runtime_6 = require_commonjs();
-    var runtime_7 = require_commonjs();
-    var DoubleValue$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.DoubleValue", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 1
-            /*ScalarType.DOUBLE*/
-          }
-        ]);
-      }
+    exports2.StorageRetryPolicyType = void 0;
+    var StorageRetryPolicyType;
+    (function(StorageRetryPolicyType2) {
+      StorageRetryPolicyType2[StorageRetryPolicyType2["EXPONENTIAL"] = 0] = "EXPONENTIAL";
+      StorageRetryPolicyType2[StorageRetryPolicyType2["FIXED"] = 1] = "FIXED";
+    })(StorageRetryPolicyType || (exports2.StorageRetryPolicyType = StorageRetryPolicyType = {}));
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicy.js
+var require_StorageRetryPolicy = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageRetryPolicy = void 0;
+    exports2.NewRetryPolicyFactory = NewRetryPolicyFactory;
+    var abort_controller_1 = require_commonjs13();
+    var RequestPolicy_js_1 = require_RequestPolicy();
+    var constants_js_1 = require_constants14();
+    var utils_common_js_1 = require_utils_common();
+    var log_js_1 = require_log5();
+    var StorageRetryPolicyType_js_1 = require_StorageRetryPolicyType();
+    function NewRetryPolicyFactory(retryOptions) {
+      return {
+        create: (nextPolicy, options) => {
+          return new StorageRetryPolicy(nextPolicy, options, retryOptions);
+        }
+      };
+    }
+    var DEFAULT_RETRY_OPTIONS = {
+      maxRetryDelayInMs: 120 * 1e3,
+      maxTries: 4,
+      retryDelayInMs: 4 * 1e3,
+      retryPolicyType: StorageRetryPolicyType_js_1.StorageRetryPolicyType.EXPONENTIAL,
+      secondaryHost: "",
+      tryTimeoutInMs: void 0
+      // Use server side default timeout strategy
+    };
+    var RETRY_ABORT_ERROR = new abort_controller_1.AbortError("The operation was aborted.");
+    var StorageRetryPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
       /**
-       * Encode `DoubleValue` to JSON number.
+       * RetryOptions.
        */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(2, message.value, "value", false, true);
-      }
+      retryOptions;
       /**
-       * Decode `DoubleValue` from JSON number.
+       * Creates an instance of RetryPolicy.
+       *
+       * @param nextPolicy -
+       * @param options -
+       * @param retryOptions -
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 1, void 0, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: 0 };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* double value */
-            1:
-              message.value = reader.double();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== 0)
-          writer.tag(1, runtime_3.WireType.Bit64).double(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.DoubleValue = new DoubleValue$Type();
-    var FloatValue$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.FloatValue", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 2
-            /*ScalarType.FLOAT*/
-          }
-        ]);
+      constructor(nextPolicy, options, retryOptions = DEFAULT_RETRY_OPTIONS) {
+        super(nextPolicy, options);
+        this.retryOptions = {
+          retryPolicyType: retryOptions.retryPolicyType ? retryOptions.retryPolicyType : DEFAULT_RETRY_OPTIONS.retryPolicyType,
+          maxTries: retryOptions.maxTries && retryOptions.maxTries >= 1 ? Math.floor(retryOptions.maxTries) : DEFAULT_RETRY_OPTIONS.maxTries,
+          tryTimeoutInMs: retryOptions.tryTimeoutInMs && retryOptions.tryTimeoutInMs >= 0 ? retryOptions.tryTimeoutInMs : DEFAULT_RETRY_OPTIONS.tryTimeoutInMs,
+          retryDelayInMs: retryOptions.retryDelayInMs && retryOptions.retryDelayInMs >= 0 ? Math.min(retryOptions.retryDelayInMs, retryOptions.maxRetryDelayInMs ? retryOptions.maxRetryDelayInMs : DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs) : DEFAULT_RETRY_OPTIONS.retryDelayInMs,
+          maxRetryDelayInMs: retryOptions.maxRetryDelayInMs && retryOptions.maxRetryDelayInMs >= 0 ? retryOptions.maxRetryDelayInMs : DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs,
+          secondaryHost: retryOptions.secondaryHost ? retryOptions.secondaryHost : DEFAULT_RETRY_OPTIONS.secondaryHost
+        };
       }
       /**
-       * Encode `FloatValue` to JSON number.
+       * Sends request.
+       *
+       * @param request -
        */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(1, message.value, "value", false, true);
+      async sendRequest(request2) {
+        return this.attemptSendRequest(request2, false, 1);
       }
       /**
-       * Decode `FloatValue` from JSON number.
+       * Decide and perform next retry. Won't mutate request parameter.
+       *
+       * @param request -
+       * @param secondaryHas404 -  If attempt was against the secondary & it returned a StatusNotFound (404), then
+       *                                   the resource was not found. This may be due to replication delay. So, in this
+       *                                   case, we'll never try the secondary again for this operation.
+       * @param attempt -           How many retries has been attempted to performed, starting from 1, which includes
+       *                                   the attempt will be performed by this method call.
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 1, void 0, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: 0 };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* float value */
-            1:
-              message.value = reader.float();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
+      async attemptSendRequest(request2, secondaryHas404, attempt) {
+        const newRequest = request2.clone();
+        const isPrimaryRetry = secondaryHas404 || !this.retryOptions.secondaryHost || !(request2.method === "GET" || request2.method === "HEAD" || request2.method === "OPTIONS") || attempt % 2 === 1;
+        if (!isPrimaryRetry) {
+          newRequest.url = (0, utils_common_js_1.setURLHost)(newRequest.url, this.retryOptions.secondaryHost);
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== 0)
-          writer.tag(1, runtime_3.WireType.Bit32).float(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.FloatValue = new FloatValue$Type();
-    var Int64Value$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.Int64Value", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
+        if (this.retryOptions.tryTimeoutInMs) {
+          newRequest.url = (0, utils_common_js_1.setURLParameter)(newRequest.url, constants_js_1.URLConstants.Parameters.TIMEOUT, Math.floor(this.retryOptions.tryTimeoutInMs / 1e3).toString());
+        }
+        let response;
+        try {
+          log_js_1.logger.info(`RetryPolicy: =====> Try=${attempt} ${isPrimaryRetry ? "Primary" : "Secondary"}`);
+          response = await this._nextPolicy.sendRequest(newRequest);
+          if (!this.shouldRetry(isPrimaryRetry, attempt, response)) {
+            return response;
           }
-        ]);
+          secondaryHas404 = secondaryHas404 || !isPrimaryRetry && response.status === 404;
+        } catch (err) {
+          log_js_1.logger.error(`RetryPolicy: Caught error, message: ${err.message}, code: ${err.code}`);
+          if (!this.shouldRetry(isPrimaryRetry, attempt, response, err)) {
+            throw err;
+          }
+        }
+        await this.delay(isPrimaryRetry, attempt, request2.abortSignal);
+        return this.attemptSendRequest(request2, secondaryHas404, ++attempt);
       }
       /**
-       * Encode `Int64Value` to JSON string.
+       * Decide whether to retry according to last HTTP response and retry counters.
+       *
+       * @param isPrimaryRetry -
+       * @param attempt -
+       * @param response -
+       * @param err -
        */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(runtime_1.ScalarType.INT64, message.value, "value", false, true);
+      shouldRetry(isPrimaryRetry, attempt, response, err) {
+        if (attempt >= this.retryOptions.maxTries) {
+          log_js_1.logger.info(`RetryPolicy: Attempt(s) ${attempt} >= maxTries ${this.retryOptions.maxTries}, no further try.`);
+          return false;
+        }
+        const retriableErrors = [
+          "ETIMEDOUT",
+          "ESOCKETTIMEDOUT",
+          "ECONNREFUSED",
+          "ECONNRESET",
+          "ENOENT",
+          "ENOTFOUND",
+          "TIMEOUT",
+          "EPIPE",
+          "REQUEST_SEND_ERROR"
+          // For default xhr based http client provided in ms-rest-js
+        ];
+        if (err) {
+          for (const retriableError of retriableErrors) {
+            if (err.name.toUpperCase().includes(retriableError) || err.message.toUpperCase().includes(retriableError) || err.code && err.code.toString().toUpperCase() === retriableError) {
+              log_js_1.logger.info(`RetryPolicy: Network error ${retriableError} found, will retry.`);
+              return true;
+            }
+          }
+        }
+        if (response || err) {
+          const statusCode = response ? response.status : err ? err.statusCode : 0;
+          if (!isPrimaryRetry && statusCode === 404) {
+            log_js_1.logger.info(`RetryPolicy: Secondary access with 404, will retry.`);
+            return true;
+          }
+          if (statusCode === 503 || statusCode === 500) {
+            log_js_1.logger.info(`RetryPolicy: Will retry for status code ${statusCode}.`);
+            return true;
+          }
+        }
+        if (response) {
+          if (response?.status >= 400) {
+            const copySourceError = response.headers.get(constants_js_1.HeaderConstants.X_MS_CopySourceErrorCode);
+            if (copySourceError !== void 0) {
+              switch (copySourceError) {
+                case "InternalError":
+                case "OperationTimedOut":
+                case "ServerBusy":
+                  return true;
+              }
+            }
+          }
+        }
+        if (err?.code === "PARSE_ERROR" && err?.message.startsWith(`Error "Error: Unclosed root tag`)) {
+          log_js_1.logger.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry.");
+          return true;
+        }
+        return false;
       }
       /**
-       * Decode `Int64Value` from JSON string.
+       * Delay a calculated time between retries.
+       *
+       * @param isPrimaryRetry -
+       * @param attempt -
+       * @param abortSignal -
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, runtime_1.ScalarType.INT64, runtime_2.LongType.STRING, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: "0" };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* int64 value */
-            1:
-              message.value = reader.int64().toString();
+      async delay(isPrimaryRetry, attempt, abortSignal) {
+        let delayTimeInMs = 0;
+        if (isPrimaryRetry) {
+          switch (this.retryOptions.retryPolicyType) {
+            case StorageRetryPolicyType_js_1.StorageRetryPolicyType.EXPONENTIAL:
+              delayTimeInMs = Math.min((Math.pow(2, attempt - 1) - 1) * this.retryOptions.retryDelayInMs, this.retryOptions.maxRetryDelayInMs);
+              break;
+            case StorageRetryPolicyType_js_1.StorageRetryPolicyType.FIXED:
+              delayTimeInMs = this.retryOptions.retryDelayInMs;
               break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
           }
+        } else {
+          delayTimeInMs = Math.random() * 1e3;
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== "0")
-          writer.tag(1, runtime_3.WireType.Varint).int64(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+        log_js_1.logger.info(`RetryPolicy: Delay for ${delayTimeInMs}ms`);
+        return (0, utils_common_js_1.delay)(delayTimeInMs, abortSignal, RETRY_ABORT_ERROR);
       }
     };
-    exports2.Int64Value = new Int64Value$Type();
-    var UInt64Value$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.UInt64Value", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 4
-            /*ScalarType.UINT64*/
-          }
-        ]);
-      }
+    exports2.StorageRetryPolicy = StorageRetryPolicy;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/StorageRetryPolicyFactory.js
+var require_StorageRetryPolicyFactory = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/StorageRetryPolicyFactory.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageRetryPolicyFactory = exports2.StorageRetryPolicy = exports2.StorageRetryPolicyType = void 0;
+    var StorageRetryPolicy_js_1 = require_StorageRetryPolicy();
+    Object.defineProperty(exports2, "StorageRetryPolicy", { enumerable: true, get: function() {
+      return StorageRetryPolicy_js_1.StorageRetryPolicy;
+    } });
+    var StorageRetryPolicyType_js_1 = require_StorageRetryPolicyType();
+    Object.defineProperty(exports2, "StorageRetryPolicyType", { enumerable: true, get: function() {
+      return StorageRetryPolicyType_js_1.StorageRetryPolicyType;
+    } });
+    var StorageRetryPolicyFactory = class {
+      retryOptions;
       /**
-       * Encode `UInt64Value` to JSON string.
+       * Creates an instance of StorageRetryPolicyFactory.
+       * @param retryOptions -
        */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(runtime_1.ScalarType.UINT64, message.value, "value", false, true);
+      constructor(retryOptions) {
+        this.retryOptions = retryOptions;
       }
       /**
-       * Decode `UInt64Value` from JSON string.
+       * Creates a StorageRetryPolicy object.
+       *
+       * @param nextPolicy -
+       * @param options -
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, runtime_1.ScalarType.UINT64, runtime_2.LongType.STRING, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: "0" };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* uint64 value */
-            1:
-              message.value = reader.uint64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== "0")
-          writer.tag(1, runtime_3.WireType.Varint).uint64(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      create(nextPolicy, options) {
+        return new StorageRetryPolicy_js_1.StorageRetryPolicy(nextPolicy, options, this.retryOptions);
       }
     };
-    exports2.UInt64Value = new UInt64Value$Type();
-    var Int32Value$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.Int32Value", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 5
-            /*ScalarType.INT32*/
-          }
-        ]);
-      }
+    exports2.StorageRetryPolicyFactory = StorageRetryPolicyFactory;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/policies/CredentialPolicy.js
+var require_CredentialPolicy = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/CredentialPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.CredentialPolicy = void 0;
+    var RequestPolicy_js_1 = require_RequestPolicy();
+    var CredentialPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
       /**
-       * Encode `Int32Value` to JSON string.
+       * Sends out request.
+       *
+       * @param request -
        */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(5, message.value, "value", false, true);
+      sendRequest(request2) {
+        return this._nextPolicy.sendRequest(this.signRequest(request2));
       }
       /**
-       * Decode `Int32Value` from JSON string.
+       * Child classes must implement this method with request signing. This method
+       * will be executed in {@link sendRequest}.
+       *
+       * @param request -
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 5, void 0, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: 0 };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* int32 value */
-            1:
-              message.value = reader.int32();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== 0)
-          writer.tag(1, runtime_3.WireType.Varint).int32(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      signRequest(request2) {
+        return request2;
       }
     };
-    exports2.Int32Value = new Int32Value$Type();
-    var UInt32Value$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.UInt32Value", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 13
-            /*ScalarType.UINT32*/
-          }
-        ]);
+    exports2.CredentialPolicy = CredentialPolicy;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/utils/SharedKeyComparator.js
+var require_SharedKeyComparator = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/SharedKeyComparator.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.compareHeader = compareHeader;
+    var table_lv0 = new Uint32Array([
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      1820,
+      0,
+      1823,
+      1825,
+      1827,
+      1829,
+      0,
+      0,
+      0,
+      1837,
+      2051,
+      0,
+      0,
+      1843,
+      0,
+      3331,
+      3354,
+      3356,
+      3358,
+      3360,
+      3362,
+      3364,
+      3366,
+      3368,
+      3370,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      3586,
+      3593,
+      3594,
+      3610,
+      3617,
+      3619,
+      3621,
+      3628,
+      3634,
+      3637,
+      3638,
+      3656,
+      3665,
+      3696,
+      3708,
+      3710,
+      3721,
+      3722,
+      3729,
+      3737,
+      3743,
+      3746,
+      3748,
+      3750,
+      3751,
+      3753,
+      0,
+      0,
+      0,
+      1859,
+      1860,
+      1864,
+      3586,
+      3593,
+      3594,
+      3610,
+      3617,
+      3619,
+      3621,
+      3628,
+      3634,
+      3637,
+      3638,
+      3656,
+      3665,
+      3696,
+      3708,
+      3710,
+      3721,
+      3722,
+      3729,
+      3737,
+      3743,
+      3746,
+      3748,
+      3750,
+      3751,
+      3753,
+      0,
+      1868,
+      0,
+      1872,
+      0
+    ]);
+    var table_lv2 = new Uint32Array([
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0
+    ]);
+    var table_lv4 = new Uint32Array([
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      32786,
+      0,
+      0,
+      0,
+      0,
+      0,
+      33298,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0
+    ]);
+    function compareHeader(lhs, rhs) {
+      if (isLessThan(lhs, rhs))
+        return -1;
+      return 1;
+    }
+    function isLessThan(lhs, rhs) {
+      const tables = [table_lv0, table_lv2, table_lv4];
+      let curr_level = 0;
+      let i = 0;
+      let j = 0;
+      while (curr_level < tables.length) {
+        if (curr_level === tables.length - 1 && i !== j) {
+          return i > j;
+        }
+        const weight1 = i < lhs.length ? tables[curr_level][lhs[i].charCodeAt(0)] : 1;
+        const weight2 = j < rhs.length ? tables[curr_level][rhs[j].charCodeAt(0)] : 1;
+        if (weight1 === 1 && weight2 === 1) {
+          i = 0;
+          j = 0;
+          ++curr_level;
+        } else if (weight1 === weight2) {
+          ++i;
+          ++j;
+        } else if (weight1 === 0) {
+          ++i;
+        } else if (weight2 === 0) {
+          ++j;
+        } else {
+          return weight1 < weight2;
+        }
       }
+      return false;
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageSharedKeyCredentialPolicy.js
+var require_StorageSharedKeyCredentialPolicy = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageSharedKeyCredentialPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageSharedKeyCredentialPolicy = void 0;
+    var constants_js_1 = require_constants14();
+    var utils_common_js_1 = require_utils_common();
+    var CredentialPolicy_js_1 = require_CredentialPolicy();
+    var SharedKeyComparator_js_1 = require_SharedKeyComparator();
+    var StorageSharedKeyCredentialPolicy = class extends CredentialPolicy_js_1.CredentialPolicy {
       /**
-       * Encode `UInt32Value` to JSON string.
+       * Reference to StorageSharedKeyCredential which generates StorageSharedKeyCredentialPolicy
        */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(13, message.value, "value", false, true);
-      }
+      factory;
       /**
-       * Decode `UInt32Value` from JSON string.
+       * Creates an instance of StorageSharedKeyCredentialPolicy.
+       * @param nextPolicy -
+       * @param options -
+       * @param factory -
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 13, void 0, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: 0 };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* uint32 value */
-            1:
-              message.value = reader.uint32();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== 0)
-          writer.tag(1, runtime_3.WireType.Varint).uint32(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.UInt32Value = new UInt32Value$Type();
-    var BoolValue$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.BoolValue", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          }
-        ]);
+      constructor(nextPolicy, options, factory) {
+        super(nextPolicy, options);
+        this.factory = factory;
       }
       /**
-       * Encode `BoolValue` to JSON bool.
+       * Signs request.
+       *
+       * @param request -
        */
-      internalJsonWrite(message, options) {
-        return message.value;
+      signRequest(request2) {
+        request2.headers.set(constants_js_1.HeaderConstants.X_MS_DATE, (/* @__PURE__ */ new Date()).toUTCString());
+        if (request2.body && (typeof request2.body === "string" || request2.body !== void 0) && request2.body.length > 0) {
+          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
+        }
+        const stringToSign = [
+          request2.method.toUpperCase(),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LANGUAGE),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_ENCODING),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LENGTH),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_MD5),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_TYPE),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.DATE),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MODIFIED_SINCE),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MATCH),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_NONE_MATCH),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_UNMODIFIED_SINCE),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.RANGE)
+        ].join("\n") + "\n" + this.getCanonicalizedHeadersString(request2) + this.getCanonicalizedResourceString(request2);
+        const signature = this.factory.computeHMACSHA256(stringToSign);
+        request2.headers.set(constants_js_1.HeaderConstants.AUTHORIZATION, `SharedKey ${this.factory.accountName}:${signature}`);
+        return request2;
       }
       /**
-       * Decode `BoolValue` from JSON bool.
+       * Retrieve header value according to shared key sign rules.
+       * @see https://learn.microsoft.com/rest/api/storageservices/authenticate-with-shared-key
+       *
+       * @param request -
+       * @param headerName -
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 8, void 0, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: false };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool value */
-            1:
-              message.value = reader.bool();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
+      getHeaderValueToSign(request2, headerName) {
+        const value = request2.headers.get(headerName);
+        if (!value) {
+          return "";
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== false)
-          writer.tag(1, runtime_3.WireType.Varint).bool(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.BoolValue = new BoolValue$Type();
-    var StringValue$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.StringValue", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
+        if (headerName === constants_js_1.HeaderConstants.CONTENT_LENGTH && value === "0") {
+          return "";
+        }
+        return value;
       }
       /**
-       * Encode `StringValue` to JSON string.
+       * To construct the CanonicalizedHeaders portion of the signature string, follow these steps:
+       * 1. Retrieve all headers for the resource that begin with x-ms-, including the x-ms-date header.
+       * 2. Convert each HTTP header name to lowercase.
+       * 3. Sort the headers lexicographically by header name, in ascending order.
+       *    Each header may appear only once in the string.
+       * 4. Replace any linear whitespace in the header value with a single space.
+       * 5. Trim any whitespace around the colon in the header.
+       * 6. Finally, append a new-line character to each canonicalized header in the resulting list.
+       *    Construct the CanonicalizedHeaders string by concatenating all headers in this list into a single string.
+       *
+       * @param request -
        */
-      internalJsonWrite(message, options) {
-        return message.value;
+      getCanonicalizedHeadersString(request2) {
+        let headersArray = request2.headers.headersArray().filter((value) => {
+          return value.name.toLowerCase().startsWith(constants_js_1.HeaderConstants.PREFIX_FOR_STORAGE);
+        });
+        headersArray.sort((a, b) => {
+          return (0, SharedKeyComparator_js_1.compareHeader)(a.name.toLowerCase(), b.name.toLowerCase());
+        });
+        headersArray = headersArray.filter((value, index, array) => {
+          if (index > 0 && value.name.toLowerCase() === array[index - 1].name.toLowerCase()) {
+            return false;
+          }
+          return true;
+        });
+        let canonicalizedHeadersStringToSign = "";
+        headersArray.forEach((header) => {
+          canonicalizedHeadersStringToSign += `${header.name.toLowerCase().trimRight()}:${header.value.trimLeft()}
+`;
+        });
+        return canonicalizedHeadersStringToSign;
       }
       /**
-       * Decode `StringValue` from JSON string.
+       * Retrieves the webResource canonicalized resource string.
+       *
+       * @param request -
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 9, void 0, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: "" };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string value */
-            1:
-              message.value = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      getCanonicalizedResourceString(request2) {
+        const path3 = (0, utils_common_js_1.getURLPath)(request2.url) || "/";
+        let canonicalizedResourceString = "";
+        canonicalizedResourceString += `/${this.factory.accountName}${path3}`;
+        const queries = (0, utils_common_js_1.getURLQueries)(request2.url);
+        const lowercaseQueries = {};
+        if (queries) {
+          const queryKeys = [];
+          for (const key in queries) {
+            if (Object.prototype.hasOwnProperty.call(queries, key)) {
+              const lowercaseKey = key.toLowerCase();
+              lowercaseQueries[lowercaseKey] = queries[key];
+              queryKeys.push(lowercaseKey);
+            }
+          }
+          queryKeys.sort();
+          for (const key of queryKeys) {
+            canonicalizedResourceString += `
+${key}:${decodeURIComponent(lowercaseQueries[key])}`;
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== "")
-          writer.tag(1, runtime_3.WireType.LengthDelimited).string(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+        return canonicalizedResourceString;
       }
     };
-    exports2.StringValue = new StringValue$Type();
-    var BytesValue$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.BytesValue", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 12
-            /*ScalarType.BYTES*/
-          }
-        ]);
-      }
+    exports2.StorageSharedKeyCredentialPolicy = StorageSharedKeyCredentialPolicy;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/credentials/Credential.js
+var require_Credential = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/credentials/Credential.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Credential = void 0;
+    var Credential = class {
       /**
-       * Encode `BytesValue` to JSON string.
+       * Creates a RequestPolicy object.
+       *
+       * @param _nextPolicy -
+       * @param _options -
        */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(12, message.value, "value", false, true);
+      create(_nextPolicy, _options) {
+        throw new Error("Method should be implemented in children classes.");
       }
+    };
+    exports2.Credential = Credential;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/credentials/StorageSharedKeyCredential.js
+var require_StorageSharedKeyCredential = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/credentials/StorageSharedKeyCredential.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageSharedKeyCredential = void 0;
+    var node_crypto_1 = require("node:crypto");
+    var StorageSharedKeyCredentialPolicy_js_1 = require_StorageSharedKeyCredentialPolicy();
+    var Credential_js_1 = require_Credential();
+    var StorageSharedKeyCredential = class extends Credential_js_1.Credential {
       /**
-       * Decode `BytesValue` from JSON string.
+       * Azure Storage account name; readonly.
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 12, void 0, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: new Uint8Array(0) };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
+      accountName;
+      /**
+       * Azure Storage account key; readonly.
+       */
+      accountKey;
+      /**
+       * Creates an instance of StorageSharedKeyCredential.
+       * @param accountName -
+       * @param accountKey -
+       */
+      constructor(accountName, accountKey) {
+        super();
+        this.accountName = accountName;
+        this.accountKey = Buffer.from(accountKey, "base64");
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bytes value */
-            1:
-              message.value = reader.bytes();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
+      /**
+       * Creates a StorageSharedKeyCredentialPolicy object.
+       *
+       * @param nextPolicy -
+       * @param options -
+       */
+      create(nextPolicy, options) {
+        return new StorageSharedKeyCredentialPolicy_js_1.StorageSharedKeyCredentialPolicy(nextPolicy, options, this);
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value.length)
-          writer.tag(1, runtime_3.WireType.LengthDelimited).bytes(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      /**
+       * Generates a hash signature for an HTTP request or for a SAS.
+       *
+       * @param stringToSign -
+       */
+      computeHMACSHA256(stringToSign) {
+        return (0, node_crypto_1.createHmac)("sha256", this.accountKey).update(stringToSign, "utf8").digest("base64");
       }
     };
-    exports2.BytesValue = new BytesValue$Type();
+    exports2.StorageSharedKeyCredential = StorageSharedKeyCredential;
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/reflection-info.js
-var require_reflection_info2 = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/reflection-info.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/policies/AnonymousCredentialPolicy.js
+var require_AnonymousCredentialPolicy = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/AnonymousCredentialPolicy.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.readServiceOption = exports2.readMethodOption = exports2.readMethodOptions = exports2.normalizeMethodInfo = void 0;
-    var runtime_1 = require_commonjs();
-    function normalizeMethodInfo(method, service) {
-      var _a, _b, _c;
-      let m = method;
-      m.service = service;
-      m.localName = (_a = m.localName) !== null && _a !== void 0 ? _a : runtime_1.lowerCamelCase(m.name);
-      m.serverStreaming = !!m.serverStreaming;
-      m.clientStreaming = !!m.clientStreaming;
-      m.options = (_b = m.options) !== null && _b !== void 0 ? _b : {};
-      m.idempotency = (_c = m.idempotency) !== null && _c !== void 0 ? _c : void 0;
-      return m;
-    }
-    exports2.normalizeMethodInfo = normalizeMethodInfo;
-    function readMethodOptions(service, methodName, extensionName, extensionType) {
-      var _a;
-      const options = (_a = service.methods.find((m, i) => m.localName === methodName || i === methodName)) === null || _a === void 0 ? void 0 : _a.options;
-      return options && options[extensionName] ? extensionType.fromJson(options[extensionName]) : void 0;
-    }
-    exports2.readMethodOptions = readMethodOptions;
-    function readMethodOption(service, methodName, extensionName, extensionType) {
-      var _a;
-      const options = (_a = service.methods.find((m, i) => m.localName === methodName || i === methodName)) === null || _a === void 0 ? void 0 : _a.options;
-      if (!options) {
-        return void 0;
-      }
-      const optionVal = options[extensionName];
-      if (optionVal === void 0) {
-        return optionVal;
-      }
-      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
-    }
-    exports2.readMethodOption = readMethodOption;
-    function readServiceOption(service, extensionName, extensionType) {
-      const options = service.options;
-      if (!options) {
-        return void 0;
-      }
-      const optionVal = options[extensionName];
-      if (optionVal === void 0) {
-        return optionVal;
+    exports2.AnonymousCredentialPolicy = void 0;
+    var CredentialPolicy_js_1 = require_CredentialPolicy();
+    var AnonymousCredentialPolicy = class extends CredentialPolicy_js_1.CredentialPolicy {
+      /**
+       * Creates an instance of AnonymousCredentialPolicy.
+       * @param nextPolicy -
+       * @param options -
+       */
+      // The base class has a protected constructor. Adding a public one to enable constructing of this class.
+      /* eslint-disable-next-line @typescript-eslint/no-useless-constructor*/
+      constructor(nextPolicy, options) {
+        super(nextPolicy, options);
       }
-      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
-    }
-    exports2.readServiceOption = readServiceOption;
+    };
+    exports2.AnonymousCredentialPolicy = AnonymousCredentialPolicy;
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/service-type.js
-var require_service_type = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/service-type.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/credentials/AnonymousCredential.js
+var require_AnonymousCredential = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/credentials/AnonymousCredential.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ServiceType = void 0;
-    var reflection_info_1 = require_reflection_info2();
-    var ServiceType = class {
-      constructor(typeName, methods, options) {
-        this.typeName = typeName;
-        this.methods = methods.map((i) => reflection_info_1.normalizeMethodInfo(i, this));
-        this.options = options !== null && options !== void 0 ? options : {};
+    exports2.AnonymousCredential = void 0;
+    var AnonymousCredentialPolicy_js_1 = require_AnonymousCredentialPolicy();
+    var Credential_js_1 = require_Credential();
+    var AnonymousCredential = class extends Credential_js_1.Credential {
+      /**
+       * Creates an {@link AnonymousCredentialPolicy} object.
+       *
+       * @param nextPolicy -
+       * @param options -
+       */
+      create(nextPolicy, options) {
+        return new AnonymousCredentialPolicy_js_1.AnonymousCredentialPolicy(nextPolicy, options);
       }
     };
-    exports2.ServiceType = ServiceType;
+    exports2.AnonymousCredential = AnonymousCredential;
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-error.js
-var require_rpc_error = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-error.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/BuffersStream.js
+var require_BuffersStream = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/BuffersStream.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.RpcError = void 0;
-    var RpcError = class extends Error {
-      constructor(message, code = "UNKNOWN", meta) {
-        super(message);
-        this.name = "RpcError";
-        Object.setPrototypeOf(this, new.target.prototype);
-        this.code = code;
-        this.meta = meta !== null && meta !== void 0 ? meta : {};
+    exports2.BuffersStream = void 0;
+    var node_stream_1 = require("node:stream");
+    var BuffersStream = class extends node_stream_1.Readable {
+      buffers;
+      byteLength;
+      /**
+       * The offset of data to be read in the current buffer.
+       */
+      byteOffsetInCurrentBuffer;
+      /**
+       * The index of buffer to be read in the array of buffers.
+       */
+      bufferIndex;
+      /**
+       * The total length of data already read.
+       */
+      pushedBytesLength;
+      /**
+       * Creates an instance of BuffersStream that will emit the data
+       * contained in the array of buffers.
+       *
+       * @param buffers - Array of buffers containing the data
+       * @param byteLength - The total length of data contained in the buffers
+       */
+      constructor(buffers, byteLength, options) {
+        super(options);
+        this.buffers = buffers;
+        this.byteLength = byteLength;
+        this.byteOffsetInCurrentBuffer = 0;
+        this.bufferIndex = 0;
+        this.pushedBytesLength = 0;
+        let buffersLength = 0;
+        for (const buf of this.buffers) {
+          buffersLength += buf.byteLength;
+        }
+        if (buffersLength < this.byteLength) {
+          throw new Error("Data size shouldn't be larger than the total length of buffers.");
+        }
       }
-      toString() {
-        const l = [this.name + ": " + this.message];
-        if (this.code) {
-          l.push("");
-          l.push("Code: " + this.code);
+      /**
+       * Internal _read() that will be called when the stream wants to pull more data in.
+       *
+       * @param size - Optional. The size of data to be read
+       */
+      _read(size) {
+        if (this.pushedBytesLength >= this.byteLength) {
+          this.push(null);
         }
-        if (this.serviceName && this.methodName) {
-          l.push("Method: " + this.serviceName + "/" + this.methodName);
+        if (!size) {
+          size = this.readableHighWaterMark;
         }
-        let m = Object.entries(this.meta);
-        if (m.length) {
-          l.push("");
-          l.push("Meta:");
-          for (let [k, v] of m) {
-            l.push(`  ${k}: ${v}`);
+        const outBuffers = [];
+        let i = 0;
+        while (i < size && this.pushedBytesLength < this.byteLength) {
+          const remainingDataInAllBuffers = this.byteLength - this.pushedBytesLength;
+          const remainingCapacityInThisBuffer = this.buffers[this.bufferIndex].byteLength - this.byteOffsetInCurrentBuffer;
+          const remaining = Math.min(remainingCapacityInThisBuffer, remainingDataInAllBuffers);
+          if (remaining > size - i) {
+            const end = this.byteOffsetInCurrentBuffer + size - i;
+            outBuffers.push(this.buffers[this.bufferIndex].slice(this.byteOffsetInCurrentBuffer, end));
+            this.pushedBytesLength += size - i;
+            this.byteOffsetInCurrentBuffer = end;
+            i = size;
+            break;
+          } else {
+            const end = this.byteOffsetInCurrentBuffer + remaining;
+            outBuffers.push(this.buffers[this.bufferIndex].slice(this.byteOffsetInCurrentBuffer, end));
+            if (remaining === remainingCapacityInThisBuffer) {
+              this.byteOffsetInCurrentBuffer = 0;
+              this.bufferIndex++;
+            } else {
+              this.byteOffsetInCurrentBuffer = end;
+            }
+            this.pushedBytesLength += remaining;
+            i += remaining;
           }
         }
-        return l.join("\n");
-      }
-    };
-    exports2.RpcError = RpcError;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-options.js
-var require_rpc_options = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-options.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.mergeRpcOptions = void 0;
-    var runtime_1 = require_commonjs();
-    function mergeRpcOptions(defaults, options) {
-      if (!options)
-        return defaults;
-      let o = {};
-      copy(defaults, o);
-      copy(options, o);
-      for (let key of Object.keys(options)) {
-        let val = options[key];
-        switch (key) {
-          case "jsonOptions":
-            o.jsonOptions = runtime_1.mergeJsonOptions(defaults.jsonOptions, o.jsonOptions);
-            break;
-          case "binaryOptions":
-            o.binaryOptions = runtime_1.mergeBinaryOptions(defaults.binaryOptions, o.binaryOptions);
-            break;
-          case "meta":
-            o.meta = {};
-            copy(defaults.meta, o.meta);
-            copy(options.meta, o.meta);
-            break;
-          case "interceptors":
-            o.interceptors = defaults.interceptors ? defaults.interceptors.concat(val) : val.concat();
-            break;
+        if (outBuffers.length > 1) {
+          this.push(Buffer.concat(outBuffers));
+        } else if (outBuffers.length === 1) {
+          this.push(outBuffers[0]);
         }
       }
-      return o;
-    }
-    exports2.mergeRpcOptions = mergeRpcOptions;
-    function copy(a, into) {
-      if (!a)
-        return;
-      let c = into;
-      for (let [k, v] of Object.entries(a)) {
-        if (v instanceof Date)
-          c[k] = new Date(v.getTime());
-        else if (Array.isArray(v))
-          c[k] = v.concat();
-        else
-          c[k] = v;
-      }
-    }
+    };
+    exports2.BuffersStream = BuffersStream;
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/deferred.js
-var require_deferred = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/deferred.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/PooledBuffer.js
+var require_PooledBuffer = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/PooledBuffer.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Deferred = exports2.DeferredState = void 0;
-    var DeferredState;
-    (function(DeferredState2) {
-      DeferredState2[DeferredState2["PENDING"] = 0] = "PENDING";
-      DeferredState2[DeferredState2["REJECTED"] = 1] = "REJECTED";
-      DeferredState2[DeferredState2["RESOLVED"] = 2] = "RESOLVED";
-    })(DeferredState = exports2.DeferredState || (exports2.DeferredState = {}));
-    var Deferred = class {
+    exports2.PooledBuffer = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var BuffersStream_js_1 = require_BuffersStream();
+    var node_buffer_1 = tslib_1.__importDefault(require("node:buffer"));
+    var maxBufferLength = node_buffer_1.default.constants.MAX_LENGTH;
+    var PooledBuffer = class {
       /**
-       * @param preventUnhandledRejectionWarning - prevents the warning
-       * "Unhandled Promise rejection" by adding a noop rejection handler.
-       * Working with calls returned from the runtime-rpc package in an
-       * async function usually means awaiting one call property after
-       * the other. This means that the "status" is not being awaited when
-       * an earlier await for the "headers" is rejected. This causes the
-       * "unhandled promise reject" warning. A more correct behaviour for
-       * calls might be to become aware whether at least one of the
-       * promises is handled and swallow the rejection warning for the
-       * others.
+       * Internal buffers used to keep the data.
+       * Each buffer has a length of the maxBufferLength except last one.
        */
-      constructor(preventUnhandledRejectionWarning = true) {
-        this._state = DeferredState.PENDING;
-        this._promise = new Promise((resolve2, reject) => {
-          this._resolve = resolve2;
-          this._reject = reject;
-        });
-        if (preventUnhandledRejectionWarning) {
-          this._promise.catch((_2) => {
-          });
-        }
-      }
+      buffers = [];
       /**
-       * Get the current state of the promise.
+       * The total size of internal buffers.
        */
-      get state() {
-        return this._state;
-      }
+      capacity;
       /**
-       * Get the deferred promise.
+       * The total size of data contained in internal buffers.
        */
-      get promise() {
-        return this._promise;
-      }
+      _size;
       /**
-       * Resolve the promise. Throws if the promise is already resolved or rejected.
+       * The size of the data contained in the pooled buffers.
        */
-      resolve(value) {
-        if (this.state !== DeferredState.PENDING)
-          throw new Error(`cannot resolve ${DeferredState[this.state].toLowerCase()}`);
-        this._resolve(value);
-        this._state = DeferredState.RESOLVED;
+      get size() {
+        return this._size;
       }
-      /**
-       * Reject the promise. Throws if the promise is already resolved or rejected.
-       */
-      reject(reason) {
-        if (this.state !== DeferredState.PENDING)
-          throw new Error(`cannot reject ${DeferredState[this.state].toLowerCase()}`);
-        this._reject(reason);
-        this._state = DeferredState.REJECTED;
+      constructor(capacity, buffers, totalLength) {
+        this.capacity = capacity;
+        this._size = 0;
+        const bufferNum = Math.ceil(capacity / maxBufferLength);
+        for (let i = 0; i < bufferNum; i++) {
+          let len = i === bufferNum - 1 ? capacity % maxBufferLength : maxBufferLength;
+          if (len === 0) {
+            len = maxBufferLength;
+          }
+          this.buffers.push(Buffer.allocUnsafe(len));
+        }
+        if (buffers) {
+          this.fill(buffers, totalLength);
+        }
       }
       /**
-       * Resolve the promise. Ignore if not pending.
+       * Fill the internal buffers with data in the input buffers serially
+       * with respect to the total length and the total capacity of the internal buffers.
+       * Data copied will be shift out of the input buffers.
+       *
+       * @param buffers - Input buffers containing the data to be filled in the pooled buffer
+       * @param totalLength - Total length of the data to be filled in.
+       *
        */
-      resolvePending(val) {
-        if (this._state === DeferredState.PENDING)
-          this.resolve(val);
+      fill(buffers, totalLength) {
+        this._size = Math.min(this.capacity, totalLength);
+        let i = 0, j = 0, targetOffset = 0, sourceOffset = 0, totalCopiedNum = 0;
+        while (totalCopiedNum < this._size) {
+          const source = buffers[i];
+          const target = this.buffers[j];
+          const copiedNum = source.copy(target, targetOffset, sourceOffset);
+          totalCopiedNum += copiedNum;
+          sourceOffset += copiedNum;
+          targetOffset += copiedNum;
+          if (sourceOffset === source.length) {
+            i++;
+            sourceOffset = 0;
+          }
+          if (targetOffset === target.length) {
+            j++;
+            targetOffset = 0;
+          }
+        }
+        buffers.splice(0, i);
+        if (buffers.length > 0) {
+          buffers[0] = buffers[0].slice(sourceOffset);
+        }
       }
       /**
-       * Reject the promise. Ignore if not pending.
+       * Get the readable stream assembled from all the data in the internal buffers.
+       *
        */
-      rejectPending(reason) {
-        if (this._state === DeferredState.PENDING)
-          this.reject(reason);
+      getReadableStream() {
+        return new BuffersStream_js_1.BuffersStream(this.buffers, this.size);
       }
     };
-    exports2.Deferred = Deferred;
+    exports2.PooledBuffer = PooledBuffer;
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-output-stream.js
-var require_rpc_output_stream = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-output-stream.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/BufferScheduler.js
+var require_BufferScheduler = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/BufferScheduler.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.RpcOutputStreamController = void 0;
-    var deferred_1 = require_deferred();
-    var runtime_1 = require_commonjs();
-    var RpcOutputStreamController = class {
-      constructor() {
-        this._lis = {
-          nxt: [],
-          msg: [],
-          err: [],
-          cmp: []
-        };
-        this._closed = false;
-        this._itState = { q: [] };
-      }
-      // --- RpcOutputStream callback API
-      onNext(callback) {
-        return this.addLis(callback, this._lis.nxt);
-      }
-      onMessage(callback) {
-        return this.addLis(callback, this._lis.msg);
-      }
-      onError(callback) {
-        return this.addLis(callback, this._lis.err);
-      }
-      onComplete(callback) {
-        return this.addLis(callback, this._lis.cmp);
-      }
-      addLis(callback, list) {
-        list.push(callback);
-        return () => {
-          let i = list.indexOf(callback);
-          if (i >= 0)
-            list.splice(i, 1);
-        };
-      }
-      // remove all listeners
-      clearLis() {
-        for (let l of Object.values(this._lis))
-          l.splice(0, l.length);
+    exports2.BufferScheduler = void 0;
+    var events_1 = require("events");
+    var PooledBuffer_js_1 = require_PooledBuffer();
+    var BufferScheduler = class {
+      /**
+       * Size of buffers in incoming and outgoing queues. This class will try to align
+       * data read from Readable stream into buffer chunks with bufferSize defined.
+       */
+      bufferSize;
+      /**
+       * How many buffers can be created or maintained.
+       */
+      maxBuffers;
+      /**
+       * A Node.js Readable stream.
+       */
+      readable;
+      /**
+       * OutgoingHandler is an async function triggered by BufferScheduler when there
+       * are available buffers in outgoing array.
+       */
+      outgoingHandler;
+      /**
+       * An internal event emitter.
+       */
+      emitter = new events_1.EventEmitter();
+      /**
+       * Concurrency of executing outgoingHandlers. (0 lesser than concurrency lesser than or equal to maxBuffers)
+       */
+      concurrency;
+      /**
+       * An internal offset marker to track data offset in bytes of next outgoingHandler.
+       */
+      offset = 0;
+      /**
+       * An internal marker to track whether stream is end.
+       */
+      isStreamEnd = false;
+      /**
+       * An internal marker to track whether stream or outgoingHandler returns error.
+       */
+      isError = false;
+      /**
+       * How many handlers are executing.
+       */
+      executingOutgoingHandlers = 0;
+      /**
+       * Encoding of the input Readable stream which has string data type instead of Buffer.
+       */
+      encoding;
+      /**
+       * How many buffers have been allocated.
+       */
+      numBuffers = 0;
+      /**
+       * Because this class doesn't know how much data every time stream pops, which
+       * is defined by highWaterMarker of the stream. So BufferScheduler will cache
+       * data received from the stream, when data in unresolvedDataArray exceeds the
+       * blockSize defined, it will try to concat a blockSize of buffer, fill into available
+       * buffers from incoming and push to outgoing array.
+       */
+      unresolvedDataArray = [];
+      /**
+       * How much data consisted in unresolvedDataArray.
+       */
+      unresolvedLength = 0;
+      /**
+       * The array includes all the available buffers can be used to fill data from stream.
+       */
+      incoming = [];
+      /**
+       * The array (queue) includes all the buffers filled from stream data.
+       */
+      outgoing = [];
+      /**
+       * Creates an instance of BufferScheduler.
+       *
+       * @param readable - A Node.js Readable stream
+       * @param bufferSize - Buffer size of every maintained buffer
+       * @param maxBuffers - How many buffers can be allocated
+       * @param outgoingHandler - An async function scheduled to be
+       *                                          triggered when a buffer fully filled
+       *                                          with stream data
+       * @param concurrency - Concurrency of executing outgoingHandlers (>0)
+       * @param encoding - [Optional] Encoding of Readable stream when it's a string stream
+       */
+      constructor(readable, bufferSize, maxBuffers, outgoingHandler, concurrency, encoding) {
+        if (bufferSize <= 0) {
+          throw new RangeError(`bufferSize must be larger than 0, current is ${bufferSize}`);
+        }
+        if (maxBuffers <= 0) {
+          throw new RangeError(`maxBuffers must be larger than 0, current is ${maxBuffers}`);
+        }
+        if (concurrency <= 0) {
+          throw new RangeError(`concurrency must be larger than 0, current is ${concurrency}`);
+        }
+        this.bufferSize = bufferSize;
+        this.maxBuffers = maxBuffers;
+        this.readable = readable;
+        this.outgoingHandler = outgoingHandler;
+        this.concurrency = concurrency;
+        this.encoding = encoding;
       }
-      // --- Controller API
       /**
-       * Is this stream already closed by a completion or error?
+       * Start the scheduler, will return error when stream of any of the outgoingHandlers
+       * returns error.
+       *
        */
-      get closed() {
-        return this._closed !== false;
+      async do() {
+        return new Promise((resolve2, reject) => {
+          this.readable.on("data", (data) => {
+            data = typeof data === "string" ? Buffer.from(data, this.encoding) : data;
+            this.appendUnresolvedData(data);
+            if (!this.resolveData()) {
+              this.readable.pause();
+            }
+          });
+          this.readable.on("error", (err) => {
+            this.emitter.emit("error", err);
+          });
+          this.readable.on("end", () => {
+            this.isStreamEnd = true;
+            this.emitter.emit("checkEnd");
+          });
+          this.emitter.on("error", (err) => {
+            this.isError = true;
+            this.readable.pause();
+            reject(err);
+          });
+          this.emitter.on("checkEnd", () => {
+            if (this.outgoing.length > 0) {
+              this.triggerOutgoingHandlers();
+              return;
+            }
+            if (this.isStreamEnd && this.executingOutgoingHandlers === 0) {
+              if (this.unresolvedLength > 0 && this.unresolvedLength < this.bufferSize) {
+                const buffer = this.shiftBufferFromUnresolvedDataArray();
+                this.outgoingHandler(() => buffer.getReadableStream(), buffer.size, this.offset).then(resolve2).catch(reject);
+              } else if (this.unresolvedLength >= this.bufferSize) {
+                return;
+              } else {
+                resolve2();
+              }
+            }
+          });
+        });
       }
       /**
-       * Emit message, close with error, or close successfully, but only one
-       * at a time.
-       * Can be used to wrap a stream by using the other stream's `onNext`.
+       * Insert a new data into unresolved array.
+       *
+       * @param data -
        */
-      notifyNext(message, error3, complete) {
-        runtime_1.assert((message ? 1 : 0) + (error3 ? 1 : 0) + (complete ? 1 : 0) <= 1, "only one emission at a time");
-        if (message)
-          this.notifyMessage(message);
-        if (error3)
-          this.notifyError(error3);
-        if (complete)
-          this.notifyComplete();
+      appendUnresolvedData(data) {
+        this.unresolvedDataArray.push(data);
+        this.unresolvedLength += data.length;
       }
       /**
-       * Emits a new message. Throws if stream is closed.
+       * Try to shift a buffer with size in blockSize. The buffer returned may be less
+       * than blockSize when data in unresolvedDataArray is less than bufferSize.
        *
-       * Triggers onNext and onMessage callbacks.
        */
-      notifyMessage(message) {
-        runtime_1.assert(!this.closed, "stream is closed");
-        this.pushIt({ value: message, done: false });
-        this._lis.msg.forEach((l) => l(message));
-        this._lis.nxt.forEach((l) => l(message, void 0, false));
+      shiftBufferFromUnresolvedDataArray(buffer) {
+        if (!buffer) {
+          buffer = new PooledBuffer_js_1.PooledBuffer(this.bufferSize, this.unresolvedDataArray, this.unresolvedLength);
+        } else {
+          buffer.fill(this.unresolvedDataArray, this.unresolvedLength);
+        }
+        this.unresolvedLength -= buffer.size;
+        return buffer;
       }
       /**
-       * Closes the stream with an error. Throws if stream is closed.
+       * Resolve data in unresolvedDataArray. For every buffer with size in blockSize
+       * shifted, it will try to get (or allocate a buffer) from incoming, and fill it,
+       * then push it into outgoing to be handled by outgoing handler.
        *
-       * Triggers onNext and onError callbacks.
+       * Return false when available buffers in incoming are not enough, else true.
+       *
+       * @returns Return false when buffers in incoming are not enough, else true.
        */
-      notifyError(error3) {
-        runtime_1.assert(!this.closed, "stream is closed");
-        this._closed = error3;
-        this.pushIt(error3);
-        this._lis.err.forEach((l) => l(error3));
-        this._lis.nxt.forEach((l) => l(void 0, error3, false));
-        this.clearLis();
+      resolveData() {
+        while (this.unresolvedLength >= this.bufferSize) {
+          let buffer;
+          if (this.incoming.length > 0) {
+            buffer = this.incoming.shift();
+            this.shiftBufferFromUnresolvedDataArray(buffer);
+          } else {
+            if (this.numBuffers < this.maxBuffers) {
+              buffer = this.shiftBufferFromUnresolvedDataArray();
+              this.numBuffers++;
+            } else {
+              return false;
+            }
+          }
+          this.outgoing.push(buffer);
+          this.triggerOutgoingHandlers();
+        }
+        return true;
+      }
+      /**
+       * Try to trigger a outgoing handler for every buffer in outgoing. Stop when
+       * concurrency reaches.
+       */
+      async triggerOutgoingHandlers() {
+        let buffer;
+        do {
+          if (this.executingOutgoingHandlers >= this.concurrency) {
+            return;
+          }
+          buffer = this.outgoing.shift();
+          if (buffer) {
+            this.triggerOutgoingHandler(buffer);
+          }
+        } while (buffer);
       }
       /**
-       * Closes the stream successfully. Throws if stream is closed.
+       * Trigger a outgoing handler for a buffer shifted from outgoing.
        *
-       * Triggers onNext and onComplete callbacks.
+       * @param buffer -
        */
-      notifyComplete() {
-        runtime_1.assert(!this.closed, "stream is closed");
-        this._closed = true;
-        this.pushIt({ value: null, done: true });
-        this._lis.cmp.forEach((l) => l());
-        this._lis.nxt.forEach((l) => l(void 0, void 0, true));
-        this.clearLis();
+      async triggerOutgoingHandler(buffer) {
+        const bufferLength = buffer.size;
+        this.executingOutgoingHandlers++;
+        this.offset += bufferLength;
+        try {
+          await this.outgoingHandler(() => buffer.getReadableStream(), bufferLength, this.offset - bufferLength);
+        } catch (err) {
+          this.emitter.emit("error", err);
+          return;
+        }
+        this.executingOutgoingHandlers--;
+        this.reuseBuffer(buffer);
+        this.emitter.emit("checkEnd");
       }
       /**
-       * Creates an async iterator (that can be used with `for await {...}`)
-       * to consume the stream.
+       * Return buffer used by outgoing handler into incoming.
        *
-       * Some things to note:
-       * - If an error occurs, the `for await` will throw it.
-       * - If an error occurred before the `for await` was started, `for await`
-       *   will re-throw it.
-       * - If the stream is already complete, the `for await` will be empty.
-       * - If your `for await` consumes slower than the stream produces,
-       *   for example because you are relaying messages in a slow operation,
-       *   messages are queued.
+       * @param buffer -
        */
-      [Symbol.asyncIterator]() {
-        if (this._closed === true)
-          this.pushIt({ value: null, done: true });
-        else if (this._closed !== false)
-          this.pushIt(this._closed);
-        return {
-          next: () => {
-            let state = this._itState;
-            runtime_1.assert(state, "bad state");
-            runtime_1.assert(!state.p, "iterator contract broken");
-            let first = state.q.shift();
-            if (first)
-              return "value" in first ? Promise.resolve(first) : Promise.reject(first);
-            state.p = new deferred_1.Deferred();
-            return state.p.promise;
-          }
-        };
-      }
-      // "push" a new iterator result.
-      // this either resolves a pending promise, or enqueues the result.
-      pushIt(result) {
-        let state = this._itState;
-        if (state.p) {
-          const p = state.p;
-          runtime_1.assert(p.state == deferred_1.DeferredState.PENDING, "iterator contract broken");
-          "value" in result ? p.resolve(result) : p.reject(result);
-          delete state.p;
-        } else {
-          state.q.push(result);
+      reuseBuffer(buffer) {
+        this.incoming.push(buffer);
+        if (!this.isError && this.resolveData() && !this.isStreamEnd) {
+          this.readable.resume();
         }
       }
     };
-    exports2.RpcOutputStreamController = RpcOutputStreamController;
+    exports2.BufferScheduler = BufferScheduler;
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/unary-call.js
-var require_unary_call = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/unary-call.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/cache.js
+var require_cache3 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/cache.js"(exports2) {
     "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve2) {
-          resolve2(value);
-        });
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getCachedDefaultHttpClient = getCachedDefaultHttpClient;
+    var core_rest_pipeline_1 = require_commonjs8();
+    var _defaultHttpClient;
+    function getCachedDefaultHttpClient() {
+      if (!_defaultHttpClient) {
+        _defaultHttpClient = (0, core_rest_pipeline_1.createDefaultHttpClient)();
       }
-      return new (P || (P = Promise))(function(resolve2, 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 ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
+      return _defaultHttpClient;
+    }
+  }
+});
+
+// node_modules/@azure/storage-common/dist/commonjs/policies/RequestPolicy.js
+var require_RequestPolicy2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/RequestPolicy.js"(exports2) {
+    "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.UnaryCall = void 0;
-    var UnaryCall = class {
-      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
-        this.method = method;
-        this.requestHeaders = requestHeaders;
-        this.request = request2;
-        this.headers = headers;
-        this.response = response;
-        this.status = status;
-        this.trailers = trailers;
+    exports2.BaseRequestPolicy = void 0;
+    var BaseRequestPolicy = class {
+      _nextPolicy;
+      _options;
+      /**
+       * The main method to implement that manipulates a request/response.
+       */
+      constructor(_nextPolicy, _options) {
+        this._nextPolicy = _nextPolicy;
+        this._options = _options;
       }
       /**
-       * If you are only interested in the final outcome of this call,
-       * you can await it to receive a `FinishedUnaryCall`.
+       * Get whether or not a log with the provided log level should be logged.
+       * @param logLevel - The log level of the log that will be logged.
+       * @returns Whether or not a log with the provided log level should be logged.
        */
-      then(onfulfilled, onrejected) {
-        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
+      shouldLog(logLevel) {
+        return this._options.shouldLog(logLevel);
       }
-      promiseFinished() {
-        return __awaiter2(this, void 0, void 0, function* () {
-          let [headers, response, status, trailers] = yield Promise.all([this.headers, this.response, this.status, this.trailers]);
-          return {
-            method: this.method,
-            requestHeaders: this.requestHeaders,
-            request: this.request,
-            headers,
-            response,
-            status,
-            trailers
-          };
-        });
+      /**
+       * Attempt to log the provided message to the provided logger. If no logger was provided or if
+       * the log level does not meat the logger's threshold, then nothing will be logged.
+       * @param logLevel - The log level of this log.
+       * @param message - The message of this log.
+       */
+      log(logLevel, message) {
+        this._options.log(logLevel, message);
       }
     };
-    exports2.UnaryCall = UnaryCall;
+    exports2.BaseRequestPolicy = BaseRequestPolicy;
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-streaming-call.js
-var require_server_streaming_call = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-streaming-call.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/utils/constants.js
+var require_constants15 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/utils/constants.js"(exports2) {
     "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve2) {
-          resolve2(value);
-        });
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.PathStylePorts = exports2.DevelopmentConnectionString = exports2.HeaderConstants = exports2.URLConstants = exports2.SDK_VERSION = void 0;
+    exports2.SDK_VERSION = "1.0.0";
+    exports2.URLConstants = {
+      Parameters: {
+        FORCE_BROWSER_NO_CACHE: "_",
+        SIGNATURE: "sig",
+        SNAPSHOT: "snapshot",
+        VERSIONID: "versionid",
+        TIMEOUT: "timeout"
       }
-      return new (P || (P = Promise))(function(resolve2, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
+    };
+    exports2.HeaderConstants = {
+      AUTHORIZATION: "Authorization",
+      AUTHORIZATION_SCHEME: "Bearer",
+      CONTENT_ENCODING: "Content-Encoding",
+      CONTENT_ID: "Content-ID",
+      CONTENT_LANGUAGE: "Content-Language",
+      CONTENT_LENGTH: "Content-Length",
+      CONTENT_MD5: "Content-Md5",
+      CONTENT_TRANSFER_ENCODING: "Content-Transfer-Encoding",
+      CONTENT_TYPE: "Content-Type",
+      COOKIE: "Cookie",
+      DATE: "date",
+      IF_MATCH: "if-match",
+      IF_MODIFIED_SINCE: "if-modified-since",
+      IF_NONE_MATCH: "if-none-match",
+      IF_UNMODIFIED_SINCE: "if-unmodified-since",
+      PREFIX_FOR_STORAGE: "x-ms-",
+      RANGE: "Range",
+      USER_AGENT: "User-Agent",
+      X_MS_CLIENT_REQUEST_ID: "x-ms-client-request-id",
+      X_MS_COPY_SOURCE: "x-ms-copy-source",
+      X_MS_DATE: "x-ms-date",
+      X_MS_ERROR_CODE: "x-ms-error-code",
+      X_MS_VERSION: "x-ms-version",
+      X_MS_CopySourceErrorCode: "x-ms-copy-source-error-code"
+    };
+    exports2.DevelopmentConnectionString = `DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;`;
+    exports2.PathStylePorts = [
+      "10000",
+      "10001",
+      "10002",
+      "10003",
+      "10004",
+      "10100",
+      "10101",
+      "10102",
+      "10103",
+      "10104",
+      "11000",
+      "11001",
+      "11002",
+      "11003",
+      "11004",
+      "11100",
+      "11101",
+      "11102",
+      "11103",
+      "11104"
+    ];
+  }
+});
+
+// node_modules/@azure/storage-common/dist/commonjs/utils/utils.common.js
+var require_utils_common2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/utils/utils.common.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.escapeURLPath = escapeURLPath;
+    exports2.getValueInConnString = getValueInConnString;
+    exports2.extractConnectionStringParts = extractConnectionStringParts;
+    exports2.appendToURLPath = appendToURLPath;
+    exports2.setURLParameter = setURLParameter;
+    exports2.getURLParameter = getURLParameter;
+    exports2.setURLHost = setURLHost;
+    exports2.getURLPath = getURLPath;
+    exports2.getURLScheme = getURLScheme;
+    exports2.getURLPathAndQuery = getURLPathAndQuery;
+    exports2.getURLQueries = getURLQueries;
+    exports2.appendToURLQuery = appendToURLQuery;
+    exports2.truncatedISO8061Date = truncatedISO8061Date;
+    exports2.base64encode = base64encode;
+    exports2.base64decode = base64decode;
+    exports2.generateBlockID = generateBlockID;
+    exports2.delay = delay;
+    exports2.padStart = padStart2;
+    exports2.sanitizeURL = sanitizeURL;
+    exports2.sanitizeHeaders = sanitizeHeaders;
+    exports2.iEqual = iEqual;
+    exports2.getAccountNameFromUrl = getAccountNameFromUrl;
+    exports2.isIpEndpointStyle = isIpEndpointStyle;
+    exports2.attachCredential = attachCredential;
+    exports2.httpAuthorizationToString = httpAuthorizationToString;
+    exports2.EscapePath = EscapePath;
+    exports2.assertResponse = assertResponse;
+    var core_rest_pipeline_1 = require_commonjs8();
+    var core_util_1 = require_commonjs6();
+    var constants_js_1 = require_constants15();
+    function escapeURLPath(url) {
+      const urlParsed = new URL(url);
+      let path3 = urlParsed.pathname;
+      path3 = path3 || "/";
+      path3 = escape(path3);
+      urlParsed.pathname = path3;
+      return urlParsed.toString();
+    }
+    function getProxyUriFromDevConnString(connectionString) {
+      let proxyUri = "";
+      if (connectionString.search("DevelopmentStorageProxyUri=") !== -1) {
+        const matchCredentials = connectionString.split(";");
+        for (const element of matchCredentials) {
+          if (element.trim().startsWith("DevelopmentStorageProxyUri=")) {
+            proxyUri = element.trim().match("DevelopmentStorageProxyUri=(.*)")[1];
           }
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
+      }
+      return proxyUri;
+    }
+    function getValueInConnString(connectionString, argument) {
+      const elements = connectionString.split(";");
+      for (const element of elements) {
+        if (element.trim().startsWith(argument)) {
+          return element.trim().match(argument + "=(.*)")[1];
+        }
+      }
+      return "";
+    }
+    function extractConnectionStringParts(connectionString) {
+      let proxyUri = "";
+      if (connectionString.startsWith("UseDevelopmentStorage=true")) {
+        proxyUri = getProxyUriFromDevConnString(connectionString);
+        connectionString = constants_js_1.DevelopmentConnectionString;
+      }
+      let blobEndpoint = getValueInConnString(connectionString, "BlobEndpoint");
+      blobEndpoint = blobEndpoint.endsWith("/") ? blobEndpoint.slice(0, -1) : blobEndpoint;
+      if (connectionString.search("DefaultEndpointsProtocol=") !== -1 && connectionString.search("AccountKey=") !== -1) {
+        let defaultEndpointsProtocol = "";
+        let accountName = "";
+        let accountKey = Buffer.from("accountKey", "base64");
+        let endpointSuffix = "";
+        accountName = getValueInConnString(connectionString, "AccountName");
+        accountKey = Buffer.from(getValueInConnString(connectionString, "AccountKey"), "base64");
+        if (!blobEndpoint) {
+          defaultEndpointsProtocol = getValueInConnString(connectionString, "DefaultEndpointsProtocol");
+          const protocol = defaultEndpointsProtocol.toLowerCase();
+          if (protocol !== "https" && protocol !== "http") {
+            throw new Error("Invalid DefaultEndpointsProtocol in the provided Connection String. Expecting 'https' or 'http'");
           }
+          endpointSuffix = getValueInConnString(connectionString, "EndpointSuffix");
+          if (!endpointSuffix) {
+            throw new Error("Invalid EndpointSuffix in the provided Connection String");
+          }
+          blobEndpoint = `${defaultEndpointsProtocol}://${accountName}.blob.${endpointSuffix}`;
         }
-        function step(result) {
-          result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
+        if (!accountName) {
+          throw new Error("Invalid AccountName in the provided Connection String");
+        } else if (accountKey.length === 0) {
+          throw new Error("Invalid AccountKey in the provided Connection String");
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ServerStreamingCall = void 0;
-    var ServerStreamingCall = class {
-      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
-        this.method = method;
-        this.requestHeaders = requestHeaders;
-        this.request = request2;
-        this.headers = headers;
-        this.responses = response;
-        this.status = status;
-        this.trailers = trailers;
+        return {
+          kind: "AccountConnString",
+          url: blobEndpoint,
+          accountName,
+          accountKey,
+          proxyUri
+        };
+      } else {
+        let accountSas = getValueInConnString(connectionString, "SharedAccessSignature");
+        let accountName = getValueInConnString(connectionString, "AccountName");
+        if (!accountName) {
+          accountName = getAccountNameFromUrl(blobEndpoint);
+        }
+        if (!blobEndpoint) {
+          throw new Error("Invalid BlobEndpoint in the provided SAS Connection String");
+        } else if (!accountSas) {
+          throw new Error("Invalid SharedAccessSignature in the provided SAS Connection String");
+        }
+        if (accountSas.startsWith("?")) {
+          accountSas = accountSas.substring(1);
+        }
+        return { kind: "SASConnString", url: blobEndpoint, accountName, accountSas };
       }
-      /**
-       * Instead of awaiting the response status and trailers, you can
-       * just as well await this call itself to receive the server outcome.
-       * You should first setup some listeners to the `request` to
-       * see the actual messages the server replied with.
-       */
-      then(onfulfilled, onrejected) {
-        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
+    }
+    function escape(text) {
+      return encodeURIComponent(text).replace(/%2F/g, "/").replace(/'/g, "%27").replace(/\+/g, "%20").replace(/%25/g, "%");
+    }
+    function appendToURLPath(url, name) {
+      const urlParsed = new URL(url);
+      let path3 = urlParsed.pathname;
+      path3 = path3 ? path3.endsWith("/") ? `${path3}${name}` : `${path3}/${name}` : name;
+      urlParsed.pathname = path3;
+      return urlParsed.toString();
+    }
+    function setURLParameter(url, name, value) {
+      const urlParsed = new URL(url);
+      const encodedName = encodeURIComponent(name);
+      const encodedValue = value ? encodeURIComponent(value) : void 0;
+      const searchString = urlParsed.search === "" ? "?" : urlParsed.search;
+      const searchPieces = [];
+      for (const pair of searchString.slice(1).split("&")) {
+        if (pair) {
+          const [key] = pair.split("=", 2);
+          if (key !== encodedName) {
+            searchPieces.push(pair);
+          }
+        }
       }
-      promiseFinished() {
-        return __awaiter2(this, void 0, void 0, function* () {
-          let [headers, status, trailers] = yield Promise.all([this.headers, this.status, this.trailers]);
-          return {
-            method: this.method,
-            requestHeaders: this.requestHeaders,
-            request: this.request,
-            headers,
-            status,
-            trailers
-          };
-        });
+      if (encodedValue) {
+        searchPieces.push(`${encodedName}=${encodedValue}`);
+      }
+      urlParsed.search = searchPieces.length ? `?${searchPieces.join("&")}` : "";
+      return urlParsed.toString();
+    }
+    function getURLParameter(url, name) {
+      const urlParsed = new URL(url);
+      return urlParsed.searchParams.get(name) ?? void 0;
+    }
+    function setURLHost(url, host) {
+      const urlParsed = new URL(url);
+      urlParsed.hostname = host;
+      return urlParsed.toString();
+    }
+    function getURLPath(url) {
+      try {
+        const urlParsed = new URL(url);
+        return urlParsed.pathname;
+      } catch (e) {
+        return void 0;
+      }
+    }
+    function getURLScheme(url) {
+      try {
+        const urlParsed = new URL(url);
+        return urlParsed.protocol.endsWith(":") ? urlParsed.protocol.slice(0, -1) : urlParsed.protocol;
+      } catch (e) {
+        return void 0;
+      }
+    }
+    function getURLPathAndQuery(url) {
+      const urlParsed = new URL(url);
+      const pathString = urlParsed.pathname;
+      if (!pathString) {
+        throw new RangeError("Invalid url without valid path.");
+      }
+      let queryString = urlParsed.search || "";
+      queryString = queryString.trim();
+      if (queryString !== "") {
+        queryString = queryString.startsWith("?") ? queryString : `?${queryString}`;
+      }
+      return `${pathString}${queryString}`;
+    }
+    function getURLQueries(url) {
+      let queryString = new URL(url).search;
+      if (!queryString) {
+        return {};
+      }
+      queryString = queryString.trim();
+      queryString = queryString.startsWith("?") ? queryString.substring(1) : queryString;
+      let querySubStrings = queryString.split("&");
+      querySubStrings = querySubStrings.filter((value) => {
+        const indexOfEqual = value.indexOf("=");
+        const lastIndexOfEqual = value.lastIndexOf("=");
+        return indexOfEqual > 0 && indexOfEqual === lastIndexOfEqual && lastIndexOfEqual < value.length - 1;
+      });
+      const queries = {};
+      for (const querySubString of querySubStrings) {
+        const splitResults = querySubString.split("=");
+        const key = splitResults[0];
+        const value = splitResults[1];
+        queries[key] = value;
+      }
+      return queries;
+    }
+    function appendToURLQuery(url, queryParts) {
+      const urlParsed = new URL(url);
+      let query = urlParsed.search;
+      if (query) {
+        query += "&" + queryParts;
+      } else {
+        query = queryParts;
       }
-    };
-    exports2.ServerStreamingCall = ServerStreamingCall;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/client-streaming-call.js
-var require_client_streaming_call = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/client-streaming-call.js"(exports2) {
-    "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve2) {
-          resolve2(value);
-        });
+      urlParsed.search = query;
+      return urlParsed.toString();
+    }
+    function truncatedISO8061Date(date, withMilliseconds = true) {
+      const dateString = date.toISOString();
+      return withMilliseconds ? dateString.substring(0, dateString.length - 1) + "0000Z" : dateString.substring(0, dateString.length - 5) + "Z";
+    }
+    function base64encode(content) {
+      return !core_util_1.isNodeLike ? btoa(content) : Buffer.from(content).toString("base64");
+    }
+    function base64decode(encodedString) {
+      return !core_util_1.isNodeLike ? atob(encodedString) : Buffer.from(encodedString, "base64").toString();
+    }
+    function generateBlockID(blockIDPrefix, blockIndex) {
+      const maxSourceStringLength = 48;
+      const maxBlockIndexLength = 6;
+      const maxAllowedBlockIDPrefixLength = maxSourceStringLength - maxBlockIndexLength;
+      if (blockIDPrefix.length > maxAllowedBlockIDPrefixLength) {
+        blockIDPrefix = blockIDPrefix.slice(0, maxAllowedBlockIDPrefixLength);
       }
-      return new (P || (P = Promise))(function(resolve2, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
+      const res = blockIDPrefix + padStart2(blockIndex.toString(), maxSourceStringLength - blockIDPrefix.length, "0");
+      return base64encode(res);
+    }
+    async function delay(timeInMs, aborter, abortError) {
+      return new Promise((resolve2, reject) => {
+        let timeout;
+        const abortHandler = () => {
+          if (timeout !== void 0) {
+            clearTimeout(timeout);
           }
-        }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
+          reject(abortError);
+        };
+        const resolveHandler = () => {
+          if (aborter !== void 0) {
+            aborter.removeEventListener("abort", abortHandler);
           }
+          resolve2();
+        };
+        timeout = setTimeout(resolveHandler, timeInMs);
+        if (aborter !== void 0) {
+          aborter.addEventListener("abort", abortHandler);
         }
-        function step(result) {
-          result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
       });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ClientStreamingCall = void 0;
-    var ClientStreamingCall = class {
-      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
-        this.method = method;
-        this.requestHeaders = requestHeaders;
-        this.requests = request2;
-        this.headers = headers;
-        this.response = response;
-        this.status = status;
-        this.trailers = trailers;
-      }
-      /**
-       * Instead of awaiting the response status and trailers, you can
-       * just as well await this call itself to receive the server outcome.
-       * Note that it may still be valid to send more request messages.
-       */
-      then(onfulfilled, onrejected) {
-        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
+    }
+    function padStart2(currentString, targetLength, padString = " ") {
+      if (String.prototype.padStart) {
+        return currentString.padStart(targetLength, padString);
       }
-      promiseFinished() {
-        return __awaiter2(this, void 0, void 0, function* () {
-          let [headers, response, status, trailers] = yield Promise.all([this.headers, this.response, this.status, this.trailers]);
-          return {
-            method: this.method,
-            requestHeaders: this.requestHeaders,
-            headers,
-            response,
-            status,
-            trailers
-          };
-        });
+      padString = padString || " ";
+      if (currentString.length > targetLength) {
+        return currentString;
+      } else {
+        targetLength = targetLength - currentString.length;
+        if (targetLength > padString.length) {
+          padString += padString.repeat(targetLength / padString.length);
+        }
+        return padString.slice(0, targetLength) + currentString;
       }
-    };
-    exports2.ClientStreamingCall = ClientStreamingCall;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/duplex-streaming-call.js
-var require_duplex_streaming_call = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/duplex-streaming-call.js"(exports2) {
-    "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve2) {
-          resolve2(value);
-        });
+    }
+    function sanitizeURL(url) {
+      let safeURL = url;
+      if (getURLParameter(safeURL, constants_js_1.URLConstants.Parameters.SIGNATURE)) {
+        safeURL = setURLParameter(safeURL, constants_js_1.URLConstants.Parameters.SIGNATURE, "*****");
       }
-      return new (P || (P = Promise))(function(resolve2, 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);
-          }
+      return safeURL;
+    }
+    function sanitizeHeaders(originalHeader) {
+      const headers = (0, core_rest_pipeline_1.createHttpHeaders)();
+      for (const [name, value] of originalHeader) {
+        if (name.toLowerCase() === constants_js_1.HeaderConstants.AUTHORIZATION.toLowerCase()) {
+          headers.set(name, "*****");
+        } else if (name.toLowerCase() === constants_js_1.HeaderConstants.X_MS_COPY_SOURCE) {
+          headers.set(name, sanitizeURL(value));
+        } else {
+          headers.set(name, value);
         }
-        function step(result) {
-          result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
+      }
+      return headers;
+    }
+    function iEqual(str1, str2) {
+      return str1.toLocaleLowerCase() === str2.toLocaleLowerCase();
+    }
+    function getAccountNameFromUrl(url) {
+      const parsedUrl = new URL(url);
+      let accountName;
+      try {
+        if (parsedUrl.hostname.split(".")[1] === "blob") {
+          accountName = parsedUrl.hostname.split(".")[0];
+        } else if (isIpEndpointStyle(parsedUrl)) {
+          accountName = parsedUrl.pathname.split("/")[1];
+        } else {
+          accountName = "";
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.DuplexStreamingCall = void 0;
-    var DuplexStreamingCall = class {
-      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
-        this.method = method;
-        this.requestHeaders = requestHeaders;
-        this.requests = request2;
-        this.headers = headers;
-        this.responses = response;
-        this.status = status;
-        this.trailers = trailers;
+        return accountName;
+      } catch (error3) {
+        throw new Error("Unable to extract accountName with provided information.");
       }
-      /**
-       * Instead of awaiting the response status and trailers, you can
-       * just as well await this call itself to receive the server outcome.
-       * Note that it may still be valid to send more request messages.
-       */
-      then(onfulfilled, onrejected) {
-        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
+    }
+    function isIpEndpointStyle(parsedUrl) {
+      const host = parsedUrl.host;
+      return /^.*:.*:.*$|^(localhost|host.docker.internal)(:[0-9]+)?$|^(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])){3}(:[0-9]+)?$/.test(host) || Boolean(parsedUrl.port) && constants_js_1.PathStylePorts.includes(parsedUrl.port);
+    }
+    function attachCredential(thing, credential) {
+      thing.credential = credential;
+      return thing;
+    }
+    function httpAuthorizationToString(httpAuthorization) {
+      return httpAuthorization ? httpAuthorization.scheme + " " + httpAuthorization.value : void 0;
+    }
+    function EscapePath(blobName) {
+      const split = blobName.split("/");
+      for (let i = 0; i < split.length; i++) {
+        split[i] = encodeURIComponent(split[i]);
       }
-      promiseFinished() {
-        return __awaiter2(this, void 0, void 0, function* () {
-          let [headers, status, trailers] = yield Promise.all([this.headers, this.status, this.trailers]);
-          return {
-            method: this.method,
-            requestHeaders: this.requestHeaders,
-            headers,
-            status,
-            trailers
-          };
-        });
+      return split.join("/");
+    }
+    function assertResponse(response) {
+      if (`_response` in response) {
+        return response;
       }
-    };
-    exports2.DuplexStreamingCall = DuplexStreamingCall;
+      throw new TypeError(`Unexpected response object ${response}`);
+    }
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/test-transport.js
-var require_test_transport = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/test-transport.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/policies/StorageBrowserPolicy.js
+var require_StorageBrowserPolicy = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageBrowserPolicy.js"(exports2) {
     "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve2) {
-          resolve2(value);
-        });
-      }
-      return new (P || (P = Promise))(function(resolve2, 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 ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.TestTransport = void 0;
-    var rpc_error_1 = require_rpc_error();
-    var runtime_1 = require_commonjs();
-    var rpc_output_stream_1 = require_rpc_output_stream();
-    var rpc_options_1 = require_rpc_options();
-    var unary_call_1 = require_unary_call();
-    var server_streaming_call_1 = require_server_streaming_call();
-    var client_streaming_call_1 = require_client_streaming_call();
-    var duplex_streaming_call_1 = require_duplex_streaming_call();
-    var TestTransport = class _TestTransport {
-      /**
-       * Initialize with mock data. Omitted fields have default value.
-       */
-      constructor(data) {
-        this.suppressUncaughtRejections = true;
-        this.headerDelay = 10;
-        this.responseDelay = 50;
-        this.betweenResponseDelay = 10;
-        this.afterResponseDelay = 10;
-        this.data = data !== null && data !== void 0 ? data : {};
-      }
-      /**
-       * Sent message(s) during the last operation.
-       */
-      get sentMessages() {
-        if (this.lastInput instanceof TestInputStream) {
-          return this.lastInput.sent;
-        } else if (typeof this.lastInput == "object") {
-          return [this.lastInput.single];
-        }
-        return [];
-      }
+    exports2.StorageBrowserPolicy = void 0;
+    var RequestPolicy_js_1 = require_RequestPolicy2();
+    var core_util_1 = require_commonjs6();
+    var constants_js_1 = require_constants15();
+    var utils_common_js_1 = require_utils_common2();
+    var StorageBrowserPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
       /**
-       * Sending message(s) completed?
+       * Creates an instance of StorageBrowserPolicy.
+       * @param nextPolicy -
+       * @param options -
        */
-      get sendComplete() {
-        if (this.lastInput instanceof TestInputStream) {
-          return this.lastInput.completed;
-        } else if (typeof this.lastInput == "object") {
-          return true;
-        }
-        return false;
-      }
-      // Creates a promise for response headers from the mock data.
-      promiseHeaders() {
-        var _a;
-        const headers = (_a = this.data.headers) !== null && _a !== void 0 ? _a : _TestTransport.defaultHeaders;
-        return headers instanceof rpc_error_1.RpcError ? Promise.reject(headers) : Promise.resolve(headers);
-      }
-      // Creates a promise for a single, valid, message from the mock data.
-      promiseSingleResponse(method) {
-        if (this.data.response instanceof rpc_error_1.RpcError) {
-          return Promise.reject(this.data.response);
-        }
-        let r;
-        if (Array.isArray(this.data.response)) {
-          runtime_1.assert(this.data.response.length > 0);
-          r = this.data.response[0];
-        } else if (this.data.response !== void 0) {
-          r = this.data.response;
-        } else {
-          r = method.O.create();
-        }
-        runtime_1.assert(method.O.is(r));
-        return Promise.resolve(r);
+      // The base class has a protected constructor. Adding a public one to enable constructing of this class.
+      /* eslint-disable-next-line @typescript-eslint/no-useless-constructor*/
+      constructor(nextPolicy, options) {
+        super(nextPolicy, options);
       }
       /**
-       * Pushes response messages from the mock data to the output stream.
-       * If an error response, status or trailers are mocked, the stream is
-       * closed with the respective error.
-       * Otherwise, stream is completed successfully.
+       * Sends out request.
        *
-       * The returned promise resolves when the stream is closed. It should
-       * not reject. If it does, code is broken.
+       * @param request -
        */
-      streamResponses(method, stream, abort) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          const messages = [];
-          if (this.data.response === void 0) {
-            messages.push(method.O.create());
-          } else if (Array.isArray(this.data.response)) {
-            for (let msg of this.data.response) {
-              runtime_1.assert(method.O.is(msg));
-              messages.push(msg);
-            }
-          } else if (!(this.data.response instanceof rpc_error_1.RpcError)) {
-            runtime_1.assert(method.O.is(this.data.response));
-            messages.push(this.data.response);
-          }
-          try {
-            yield delay(this.responseDelay, abort)(void 0);
-          } catch (error3) {
-            stream.notifyError(error3);
-            return;
-          }
-          if (this.data.response instanceof rpc_error_1.RpcError) {
-            stream.notifyError(this.data.response);
-            return;
-          }
-          for (let msg of messages) {
-            stream.notifyMessage(msg);
-            try {
-              yield delay(this.betweenResponseDelay, abort)(void 0);
-            } catch (error3) {
-              stream.notifyError(error3);
-              return;
-            }
-          }
-          if (this.data.status instanceof rpc_error_1.RpcError) {
-            stream.notifyError(this.data.status);
-            return;
-          }
-          if (this.data.trailers instanceof rpc_error_1.RpcError) {
-            stream.notifyError(this.data.trailers);
-            return;
-          }
-          stream.notifyComplete();
-        });
-      }
-      // Creates a promise for response status from the mock data.
-      promiseStatus() {
-        var _a;
-        const status = (_a = this.data.status) !== null && _a !== void 0 ? _a : _TestTransport.defaultStatus;
-        return status instanceof rpc_error_1.RpcError ? Promise.reject(status) : Promise.resolve(status);
-      }
-      // Creates a promise for response trailers from the mock data.
-      promiseTrailers() {
-        var _a;
-        const trailers = (_a = this.data.trailers) !== null && _a !== void 0 ? _a : _TestTransport.defaultTrailers;
-        return trailers instanceof rpc_error_1.RpcError ? Promise.reject(trailers) : Promise.resolve(trailers);
-      }
-      maybeSuppressUncaught(...promise) {
-        if (this.suppressUncaughtRejections) {
-          for (let p of promise) {
-            p.catch(() => {
-            });
-          }
+      async sendRequest(request2) {
+        if (core_util_1.isNodeLike) {
+          return this._nextPolicy.sendRequest(request2);
         }
-      }
-      mergeOptions(options) {
-        return rpc_options_1.mergeRpcOptions({}, options);
-      }
-      unary(method, input, options) {
-        var _a;
-        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), responsePromise = headersPromise.catch((_2) => {
-        }).then(delay(this.responseDelay, options.abort)).then((_2) => this.promiseSingleResponse(method)), statusPromise = responsePromise.catch((_2) => {
-        }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseStatus()), trailersPromise = responsePromise.catch((_2) => {
-        }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseTrailers());
-        this.maybeSuppressUncaught(statusPromise, trailersPromise);
-        this.lastInput = { single: input };
-        return new unary_call_1.UnaryCall(method, requestHeaders, input, headersPromise, responsePromise, statusPromise, trailersPromise);
-      }
-      serverStreaming(method, input, options) {
-        var _a;
-        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), outputStream = new rpc_output_stream_1.RpcOutputStreamController(), responseStreamClosedPromise = headersPromise.then(delay(this.responseDelay, options.abort)).catch(() => {
-        }).then(() => this.streamResponses(method, outputStream, options.abort)).then(delay(this.afterResponseDelay, options.abort)), statusPromise = responseStreamClosedPromise.then(() => this.promiseStatus()), trailersPromise = responseStreamClosedPromise.then(() => this.promiseTrailers());
-        this.maybeSuppressUncaught(statusPromise, trailersPromise);
-        this.lastInput = { single: input };
-        return new server_streaming_call_1.ServerStreamingCall(method, requestHeaders, input, headersPromise, outputStream, statusPromise, trailersPromise);
-      }
-      clientStreaming(method, options) {
-        var _a;
-        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), responsePromise = headersPromise.catch((_2) => {
-        }).then(delay(this.responseDelay, options.abort)).then((_2) => this.promiseSingleResponse(method)), statusPromise = responsePromise.catch((_2) => {
-        }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseStatus()), trailersPromise = responsePromise.catch((_2) => {
-        }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseTrailers());
-        this.maybeSuppressUncaught(statusPromise, trailersPromise);
-        this.lastInput = new TestInputStream(this.data, options.abort);
-        return new client_streaming_call_1.ClientStreamingCall(method, requestHeaders, this.lastInput, headersPromise, responsePromise, statusPromise, trailersPromise);
-      }
-      duplex(method, options) {
-        var _a;
-        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), outputStream = new rpc_output_stream_1.RpcOutputStreamController(), responseStreamClosedPromise = headersPromise.then(delay(this.responseDelay, options.abort)).catch(() => {
-        }).then(() => this.streamResponses(method, outputStream, options.abort)).then(delay(this.afterResponseDelay, options.abort)), statusPromise = responseStreamClosedPromise.then(() => this.promiseStatus()), trailersPromise = responseStreamClosedPromise.then(() => this.promiseTrailers());
-        this.maybeSuppressUncaught(statusPromise, trailersPromise);
-        this.lastInput = new TestInputStream(this.data, options.abort);
-        return new duplex_streaming_call_1.DuplexStreamingCall(method, requestHeaders, this.lastInput, headersPromise, outputStream, statusPromise, trailersPromise);
-      }
-    };
-    exports2.TestTransport = TestTransport;
-    TestTransport.defaultHeaders = {
-      responseHeader: "test"
-    };
-    TestTransport.defaultStatus = {
-      code: "OK",
-      detail: "all good"
-    };
-    TestTransport.defaultTrailers = {
-      responseTrailer: "test"
-    };
-    function delay(ms, abort) {
-      return (v) => new Promise((resolve2, reject) => {
-        if (abort === null || abort === void 0 ? void 0 : abort.aborted) {
-          reject(new rpc_error_1.RpcError("user cancel", "CANCELLED"));
-        } else {
-          const id = setTimeout(() => resolve2(v), ms);
-          if (abort) {
-            abort.addEventListener("abort", (ev) => {
-              clearTimeout(id);
-              reject(new rpc_error_1.RpcError("user cancel", "CANCELLED"));
-            });
-          }
+        if (request2.method.toUpperCase() === "GET" || request2.method.toUpperCase() === "HEAD") {
+          request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.FORCE_BROWSER_NO_CACHE, (/* @__PURE__ */ new Date()).getTime().toString());
         }
-      });
-    }
-    var TestInputStream = class {
-      constructor(data, abort) {
-        this._completed = false;
-        this._sent = [];
-        this.data = data;
-        this.abort = abort;
+        request2.headers.remove(constants_js_1.HeaderConstants.COOKIE);
+        request2.headers.remove(constants_js_1.HeaderConstants.CONTENT_LENGTH);
+        return this._nextPolicy.sendRequest(request2);
       }
-      get sent() {
-        return this._sent;
+    };
+    exports2.StorageBrowserPolicy = StorageBrowserPolicy;
+  }
+});
+
+// node_modules/@azure/storage-common/dist/commonjs/StorageBrowserPolicyFactory.js
+var require_StorageBrowserPolicyFactory = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/StorageBrowserPolicyFactory.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageBrowserPolicyFactory = exports2.StorageBrowserPolicy = void 0;
+    var StorageBrowserPolicy_js_1 = require_StorageBrowserPolicy();
+    Object.defineProperty(exports2, "StorageBrowserPolicy", { enumerable: true, get: function() {
+      return StorageBrowserPolicy_js_1.StorageBrowserPolicy;
+    } });
+    var StorageBrowserPolicyFactory = class {
+      /**
+       * Creates a StorageBrowserPolicyFactory object.
+       *
+       * @param nextPolicy -
+       * @param options -
+       */
+      create(nextPolicy, options) {
+        return new StorageBrowserPolicy_js_1.StorageBrowserPolicy(nextPolicy, options);
       }
-      get completed() {
-        return this._completed;
+    };
+    exports2.StorageBrowserPolicyFactory = StorageBrowserPolicyFactory;
+  }
+});
+
+// node_modules/@azure/storage-common/dist/commonjs/policies/CredentialPolicy.js
+var require_CredentialPolicy2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/CredentialPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.CredentialPolicy = void 0;
+    var RequestPolicy_js_1 = require_RequestPolicy2();
+    var CredentialPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
+      /**
+       * Sends out request.
+       *
+       * @param request -
+       */
+      sendRequest(request2) {
+        return this._nextPolicy.sendRequest(this.signRequest(request2));
       }
-      send(message) {
-        if (this.data.inputMessage instanceof rpc_error_1.RpcError) {
-          return Promise.reject(this.data.inputMessage);
-        }
-        const delayMs = this.data.inputMessage === void 0 ? 10 : this.data.inputMessage;
-        return Promise.resolve(void 0).then(() => {
-          this._sent.push(message);
-        }).then(delay(delayMs, this.abort));
+      /**
+       * Child classes must implement this method with request signing. This method
+       * will be executed in {@link sendRequest}.
+       *
+       * @param request -
+       */
+      signRequest(request2) {
+        return request2;
       }
-      complete() {
-        if (this.data.inputComplete instanceof rpc_error_1.RpcError) {
-          return Promise.reject(this.data.inputComplete);
-        }
-        const delayMs = this.data.inputComplete === void 0 ? 10 : this.data.inputComplete;
-        return Promise.resolve(void 0).then(() => {
-          this._completed = true;
-        }).then(delay(delayMs, this.abort));
+    };
+    exports2.CredentialPolicy = CredentialPolicy;
+  }
+});
+
+// node_modules/@azure/storage-common/dist/commonjs/policies/AnonymousCredentialPolicy.js
+var require_AnonymousCredentialPolicy2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/AnonymousCredentialPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AnonymousCredentialPolicy = void 0;
+    var CredentialPolicy_js_1 = require_CredentialPolicy2();
+    var AnonymousCredentialPolicy = class extends CredentialPolicy_js_1.CredentialPolicy {
+      /**
+       * Creates an instance of AnonymousCredentialPolicy.
+       * @param nextPolicy -
+       * @param options -
+       */
+      // The base class has a protected constructor. Adding a public one to enable constructing of this class.
+      /* eslint-disable-next-line @typescript-eslint/no-useless-constructor*/
+      constructor(nextPolicy, options) {
+        super(nextPolicy, options);
       }
     };
+    exports2.AnonymousCredentialPolicy = AnonymousCredentialPolicy;
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-interceptor.js
-var require_rpc_interceptor = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-interceptor.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/credentials/Credential.js
+var require_Credential2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/credentials/Credential.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.stackDuplexStreamingInterceptors = exports2.stackClientStreamingInterceptors = exports2.stackServerStreamingInterceptors = exports2.stackUnaryInterceptors = exports2.stackIntercept = void 0;
-    var runtime_1 = require_commonjs();
-    function stackIntercept(kind, transport, method, options, input) {
-      var _a, _b, _c, _d;
-      if (kind == "unary") {
-        let tail = (mtd, inp, opt) => transport.unary(mtd, inp, opt);
-        for (const curr of ((_a = options.interceptors) !== null && _a !== void 0 ? _a : []).filter((i) => i.interceptUnary).reverse()) {
-          const next = tail;
-          tail = (mtd, inp, opt) => curr.interceptUnary(next, mtd, inp, opt);
-        }
-        return tail(method, input, options);
+    exports2.Credential = void 0;
+    var Credential = class {
+      /**
+       * Creates a RequestPolicy object.
+       *
+       * @param _nextPolicy -
+       * @param _options -
+       */
+      create(_nextPolicy, _options) {
+        throw new Error("Method should be implemented in children classes.");
       }
-      if (kind == "serverStreaming") {
-        let tail = (mtd, inp, opt) => transport.serverStreaming(mtd, inp, opt);
-        for (const curr of ((_b = options.interceptors) !== null && _b !== void 0 ? _b : []).filter((i) => i.interceptServerStreaming).reverse()) {
-          const next = tail;
-          tail = (mtd, inp, opt) => curr.interceptServerStreaming(next, mtd, inp, opt);
-        }
-        return tail(method, input, options);
+    };
+    exports2.Credential = Credential;
+  }
+});
+
+// node_modules/@azure/storage-common/dist/commonjs/credentials/AnonymousCredential.js
+var require_AnonymousCredential2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/credentials/AnonymousCredential.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AnonymousCredential = void 0;
+    var AnonymousCredentialPolicy_js_1 = require_AnonymousCredentialPolicy2();
+    var Credential_js_1 = require_Credential2();
+    var AnonymousCredential = class extends Credential_js_1.Credential {
+      /**
+       * Creates an {@link AnonymousCredentialPolicy} object.
+       *
+       * @param nextPolicy -
+       * @param options -
+       */
+      create(nextPolicy, options) {
+        return new AnonymousCredentialPolicy_js_1.AnonymousCredentialPolicy(nextPolicy, options);
       }
-      if (kind == "clientStreaming") {
-        let tail = (mtd, opt) => transport.clientStreaming(mtd, opt);
-        for (const curr of ((_c = options.interceptors) !== null && _c !== void 0 ? _c : []).filter((i) => i.interceptClientStreaming).reverse()) {
-          const next = tail;
-          tail = (mtd, opt) => curr.interceptClientStreaming(next, mtd, opt);
+    };
+    exports2.AnonymousCredential = AnonymousCredential;
+  }
+});
+
+// node_modules/@azure/storage-common/dist/commonjs/utils/SharedKeyComparator.js
+var require_SharedKeyComparator2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/utils/SharedKeyComparator.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.compareHeader = compareHeader;
+    var table_lv0 = new Uint32Array([
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      1820,
+      0,
+      1823,
+      1825,
+      1827,
+      1829,
+      0,
+      0,
+      0,
+      1837,
+      2051,
+      0,
+      0,
+      1843,
+      0,
+      3331,
+      3354,
+      3356,
+      3358,
+      3360,
+      3362,
+      3364,
+      3366,
+      3368,
+      3370,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      3586,
+      3593,
+      3594,
+      3610,
+      3617,
+      3619,
+      3621,
+      3628,
+      3634,
+      3637,
+      3638,
+      3656,
+      3665,
+      3696,
+      3708,
+      3710,
+      3721,
+      3722,
+      3729,
+      3737,
+      3743,
+      3746,
+      3748,
+      3750,
+      3751,
+      3753,
+      0,
+      0,
+      0,
+      1859,
+      1860,
+      1864,
+      3586,
+      3593,
+      3594,
+      3610,
+      3617,
+      3619,
+      3621,
+      3628,
+      3634,
+      3637,
+      3638,
+      3656,
+      3665,
+      3696,
+      3708,
+      3710,
+      3721,
+      3722,
+      3729,
+      3737,
+      3743,
+      3746,
+      3748,
+      3750,
+      3751,
+      3753,
+      0,
+      1868,
+      0,
+      1872,
+      0
+    ]);
+    var table_lv2 = new Uint32Array([
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0
+    ]);
+    var table_lv4 = new Uint32Array([
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      32786,
+      0,
+      0,
+      0,
+      0,
+      0,
+      33298,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0
+    ]);
+    function compareHeader(lhs, rhs) {
+      if (isLessThan(lhs, rhs))
+        return -1;
+      return 1;
+    }
+    function isLessThan(lhs, rhs) {
+      const tables = [table_lv0, table_lv2, table_lv4];
+      let curr_level = 0;
+      let i = 0;
+      let j = 0;
+      while (curr_level < tables.length) {
+        if (curr_level === tables.length - 1 && i !== j) {
+          return i > j;
         }
-        return tail(method, options);
-      }
-      if (kind == "duplex") {
-        let tail = (mtd, opt) => transport.duplex(mtd, opt);
-        for (const curr of ((_d = options.interceptors) !== null && _d !== void 0 ? _d : []).filter((i) => i.interceptDuplex).reverse()) {
-          const next = tail;
-          tail = (mtd, opt) => curr.interceptDuplex(next, mtd, opt);
+        const weight1 = i < lhs.length ? tables[curr_level][lhs[i].charCodeAt(0)] : 1;
+        const weight2 = j < rhs.length ? tables[curr_level][rhs[j].charCodeAt(0)] : 1;
+        if (weight1 === 1 && weight2 === 1) {
+          i = 0;
+          j = 0;
+          ++curr_level;
+        } else if (weight1 === weight2) {
+          ++i;
+          ++j;
+        } else if (weight1 === 0) {
+          ++i;
+        } else if (weight2 === 0) {
+          ++j;
+        } else {
+          return weight1 < weight2;
         }
-        return tail(method, options);
       }
-      runtime_1.assertNever(kind);
-    }
-    exports2.stackIntercept = stackIntercept;
-    function stackUnaryInterceptors(transport, method, input, options) {
-      return stackIntercept("unary", transport, method, options, input);
-    }
-    exports2.stackUnaryInterceptors = stackUnaryInterceptors;
-    function stackServerStreamingInterceptors(transport, method, input, options) {
-      return stackIntercept("serverStreaming", transport, method, options, input);
-    }
-    exports2.stackServerStreamingInterceptors = stackServerStreamingInterceptors;
-    function stackClientStreamingInterceptors(transport, method, options) {
-      return stackIntercept("clientStreaming", transport, method, options);
-    }
-    exports2.stackClientStreamingInterceptors = stackClientStreamingInterceptors;
-    function stackDuplexStreamingInterceptors(transport, method, options) {
-      return stackIntercept("duplex", transport, method, options);
+      return false;
     }
-    exports2.stackDuplexStreamingInterceptors = stackDuplexStreamingInterceptors;
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-call-context.js
-var require_server_call_context = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-call-context.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/policies/StorageSharedKeyCredentialPolicy.js
+var require_StorageSharedKeyCredentialPolicy2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageSharedKeyCredentialPolicy.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ServerCallContextController = void 0;
-    var ServerCallContextController = class {
-      constructor(method, headers, deadline, sendResponseHeadersFn, defaultStatus = { code: "OK", detail: "" }) {
-        this._cancelled = false;
-        this._listeners = [];
-        this.method = method;
-        this.headers = headers;
-        this.deadline = deadline;
-        this.trailers = {};
-        this._sendRH = sendResponseHeadersFn;
-        this.status = defaultStatus;
-      }
-      /**
-       * Set the call cancelled.
-       *
-       * Invokes all callbacks registered with onCancel() and
-       * sets `cancelled = true`.
-       */
-      notifyCancelled() {
-        if (!this._cancelled) {
-          this._cancelled = true;
-          for (let l of this._listeners) {
-            l();
-          }
-        }
-      }
-      /**
-       * Send response headers.
-       */
-      sendResponseHeaders(data) {
-        this._sendRH(data);
-      }
+    exports2.StorageSharedKeyCredentialPolicy = void 0;
+    var constants_js_1 = require_constants15();
+    var utils_common_js_1 = require_utils_common2();
+    var CredentialPolicy_js_1 = require_CredentialPolicy2();
+    var SharedKeyComparator_js_1 = require_SharedKeyComparator2();
+    var StorageSharedKeyCredentialPolicy = class extends CredentialPolicy_js_1.CredentialPolicy {
       /**
-       * Is the call cancelled?
-       *
-       * When the client closes the connection before the server
-       * is done, the call is cancelled.
-       *
-       * If you want to cancel a request on the server, throw a
-       * RpcError with the CANCELLED status code.
+       * Reference to StorageSharedKeyCredential which generates StorageSharedKeyCredentialPolicy
        */
-      get cancelled() {
-        return this._cancelled;
-      }
+      factory;
       /**
-       * Add a callback for cancellation.
+       * Creates an instance of StorageSharedKeyCredentialPolicy.
+       * @param nextPolicy -
+       * @param options -
+       * @param factory -
        */
-      onCancel(callback) {
-        const l = this._listeners;
-        l.push(callback);
-        return () => {
-          let i = l.indexOf(callback);
-          if (i >= 0)
-            l.splice(i, 1);
-        };
-      }
-    };
-    exports2.ServerCallContextController = ServerCallContextController;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/index.js
-var require_commonjs2 = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    var service_type_1 = require_service_type();
-    Object.defineProperty(exports2, "ServiceType", { enumerable: true, get: function() {
-      return service_type_1.ServiceType;
-    } });
-    var reflection_info_1 = require_reflection_info2();
-    Object.defineProperty(exports2, "readMethodOptions", { enumerable: true, get: function() {
-      return reflection_info_1.readMethodOptions;
-    } });
-    Object.defineProperty(exports2, "readMethodOption", { enumerable: true, get: function() {
-      return reflection_info_1.readMethodOption;
-    } });
-    Object.defineProperty(exports2, "readServiceOption", { enumerable: true, get: function() {
-      return reflection_info_1.readServiceOption;
-    } });
-    var rpc_error_1 = require_rpc_error();
-    Object.defineProperty(exports2, "RpcError", { enumerable: true, get: function() {
-      return rpc_error_1.RpcError;
-    } });
-    var rpc_options_1 = require_rpc_options();
-    Object.defineProperty(exports2, "mergeRpcOptions", { enumerable: true, get: function() {
-      return rpc_options_1.mergeRpcOptions;
-    } });
-    var rpc_output_stream_1 = require_rpc_output_stream();
-    Object.defineProperty(exports2, "RpcOutputStreamController", { enumerable: true, get: function() {
-      return rpc_output_stream_1.RpcOutputStreamController;
-    } });
-    var test_transport_1 = require_test_transport();
-    Object.defineProperty(exports2, "TestTransport", { enumerable: true, get: function() {
-      return test_transport_1.TestTransport;
-    } });
-    var deferred_1 = require_deferred();
-    Object.defineProperty(exports2, "Deferred", { enumerable: true, get: function() {
-      return deferred_1.Deferred;
-    } });
-    Object.defineProperty(exports2, "DeferredState", { enumerable: true, get: function() {
-      return deferred_1.DeferredState;
-    } });
-    var duplex_streaming_call_1 = require_duplex_streaming_call();
-    Object.defineProperty(exports2, "DuplexStreamingCall", { enumerable: true, get: function() {
-      return duplex_streaming_call_1.DuplexStreamingCall;
-    } });
-    var client_streaming_call_1 = require_client_streaming_call();
-    Object.defineProperty(exports2, "ClientStreamingCall", { enumerable: true, get: function() {
-      return client_streaming_call_1.ClientStreamingCall;
-    } });
-    var server_streaming_call_1 = require_server_streaming_call();
-    Object.defineProperty(exports2, "ServerStreamingCall", { enumerable: true, get: function() {
-      return server_streaming_call_1.ServerStreamingCall;
-    } });
-    var unary_call_1 = require_unary_call();
-    Object.defineProperty(exports2, "UnaryCall", { enumerable: true, get: function() {
-      return unary_call_1.UnaryCall;
-    } });
-    var rpc_interceptor_1 = require_rpc_interceptor();
-    Object.defineProperty(exports2, "stackIntercept", { enumerable: true, get: function() {
-      return rpc_interceptor_1.stackIntercept;
-    } });
-    Object.defineProperty(exports2, "stackDuplexStreamingInterceptors", { enumerable: true, get: function() {
-      return rpc_interceptor_1.stackDuplexStreamingInterceptors;
-    } });
-    Object.defineProperty(exports2, "stackClientStreamingInterceptors", { enumerable: true, get: function() {
-      return rpc_interceptor_1.stackClientStreamingInterceptors;
-    } });
-    Object.defineProperty(exports2, "stackServerStreamingInterceptors", { enumerable: true, get: function() {
-      return rpc_interceptor_1.stackServerStreamingInterceptors;
-    } });
-    Object.defineProperty(exports2, "stackUnaryInterceptors", { enumerable: true, get: function() {
-      return rpc_interceptor_1.stackUnaryInterceptors;
-    } });
-    var server_call_context_1 = require_server_call_context();
-    Object.defineProperty(exports2, "ServerCallContextController", { enumerable: true, get: function() {
-      return server_call_context_1.ServerCallContextController;
-    } });
-  }
-});
-
-// node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.js
-var require_artifact = __commonJS({
-  "node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ArtifactService = exports2.DeleteArtifactResponse = exports2.DeleteArtifactRequest = exports2.GetSignedArtifactURLResponse = exports2.GetSignedArtifactURLRequest = exports2.ListArtifactsResponse_MonolithArtifact = exports2.ListArtifactsResponse = exports2.ListArtifactsRequest = exports2.FinalizeArtifactResponse = exports2.FinalizeArtifactRequest = exports2.CreateArtifactResponse = exports2.CreateArtifactRequest = exports2.FinalizeMigratedArtifactResponse = exports2.FinalizeMigratedArtifactRequest = exports2.MigrateArtifactResponse = exports2.MigrateArtifactRequest = void 0;
-    var runtime_rpc_1 = require_commonjs2();
-    var runtime_1 = require_commonjs();
-    var runtime_2 = require_commonjs();
-    var runtime_3 = require_commonjs();
-    var runtime_4 = require_commonjs();
-    var runtime_5 = require_commonjs();
-    var wrappers_1 = require_wrappers();
-    var wrappers_2 = require_wrappers();
-    var timestamp_1 = require_timestamp();
-    var MigrateArtifactRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.MigrateArtifactRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          { no: 3, name: "expires_at", kind: "message", T: () => timestamp_1.Timestamp }
-        ]);
-      }
-      create(value) {
-        const message = { workflowRunBackendId: "", name: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string name */
-            2:
-              message.name = reader.string();
-              break;
-            case /* google.protobuf.Timestamp expires_at */
-            3:
-              message.expiresAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expiresAt);
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.name !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.name);
-        if (message.expiresAt)
-          timestamp_1.Timestamp.internalBinaryWrite(message.expiresAt, writer.tag(3, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.MigrateArtifactRequest = new MigrateArtifactRequest$Type();
-    var MigrateArtifactResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.MigrateArtifactResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "signed_upload_url",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
-      }
-      create(value) {
-        const message = { ok: false, signedUploadUrl: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* string signed_upload_url */
-            2:
-              message.signedUploadUrl = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.signedUploadUrl !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.MigrateArtifactResponse = new MigrateArtifactResponse$Type();
-    var FinalizeMigratedArtifactRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.FinalizeMigratedArtifactRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "size",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          }
-        ]);
-      }
-      create(value) {
-        const message = { workflowRunBackendId: "", name: "", size: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string name */
-            2:
-              message.name = reader.string();
-              break;
-            case /* int64 size */
-            3:
-              message.size = reader.int64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.name !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.name);
-        if (message.size !== "0")
-          writer.tag(3, runtime_1.WireType.Varint).int64(message.size);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.FinalizeMigratedArtifactRequest = new FinalizeMigratedArtifactRequest$Type();
-    var FinalizeMigratedArtifactResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.FinalizeMigratedArtifactResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "artifact_id",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          }
-        ]);
-      }
-      create(value) {
-        const message = { ok: false, artifactId: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      constructor(nextPolicy, options, factory) {
+        super(nextPolicy, options);
+        this.factory = factory;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* int64 artifact_id */
-            2:
-              message.artifactId = reader.int64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
+      /**
+       * Signs request.
+       *
+       * @param request -
+       */
+      signRequest(request2) {
+        request2.headers.set(constants_js_1.HeaderConstants.X_MS_DATE, (/* @__PURE__ */ new Date()).toUTCString());
+        if (request2.body && (typeof request2.body === "string" || request2.body !== void 0) && request2.body.length > 0) {
+          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
         }
-        return message;
+        const stringToSign = [
+          request2.method.toUpperCase(),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LANGUAGE),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_ENCODING),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LENGTH),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_MD5),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_TYPE),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.DATE),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MODIFIED_SINCE),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MATCH),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_NONE_MATCH),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_UNMODIFIED_SINCE),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.RANGE)
+        ].join("\n") + "\n" + this.getCanonicalizedHeadersString(request2) + this.getCanonicalizedResourceString(request2);
+        const signature = this.factory.computeHMACSHA256(stringToSign);
+        request2.headers.set(constants_js_1.HeaderConstants.AUTHORIZATION, `SharedKey ${this.factory.accountName}:${signature}`);
+        return request2;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.artifactId !== "0")
-          writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      /**
+       * Retrieve header value according to shared key sign rules.
+       * @see https://learn.microsoft.com/en-us/rest/api/storageservices/authenticate-with-shared-key
+       *
+       * @param request -
+       * @param headerName -
+       */
+      getHeaderValueToSign(request2, headerName) {
+        const value = request2.headers.get(headerName);
+        if (!value) {
+          return "";
+        }
+        if (headerName === constants_js_1.HeaderConstants.CONTENT_LENGTH && value === "0") {
+          return "";
+        }
+        return value;
       }
-    };
-    exports2.FinalizeMigratedArtifactResponse = new FinalizeMigratedArtifactResponse$Type();
-    var CreateArtifactRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.CreateArtifactRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          { no: 4, name: "expires_at", kind: "message", T: () => timestamp_1.Timestamp },
-          {
-            no: 5,
-            name: "version",
-            kind: "scalar",
-            T: 5
-            /*ScalarType.INT32*/
+      /**
+       * To construct the CanonicalizedHeaders portion of the signature string, follow these steps:
+       * 1. Retrieve all headers for the resource that begin with x-ms-, including the x-ms-date header.
+       * 2. Convert each HTTP header name to lowercase.
+       * 3. Sort the headers lexicographically by header name, in ascending order.
+       *    Each header may appear only once in the string.
+       * 4. Replace any linear whitespace in the header value with a single space.
+       * 5. Trim any whitespace around the colon in the header.
+       * 6. Finally, append a new-line character to each canonicalized header in the resulting list.
+       *    Construct the CanonicalizedHeaders string by concatenating all headers in this list into a single string.
+       *
+       * @param request -
+       */
+      getCanonicalizedHeadersString(request2) {
+        let headersArray = request2.headers.headersArray().filter((value) => {
+          return value.name.toLowerCase().startsWith(constants_js_1.HeaderConstants.PREFIX_FOR_STORAGE);
+        });
+        headersArray.sort((a, b) => {
+          return (0, SharedKeyComparator_js_1.compareHeader)(a.name.toLowerCase(), b.name.toLowerCase());
+        });
+        headersArray = headersArray.filter((value, index, array) => {
+          if (index > 0 && value.name.toLowerCase() === array[index - 1].name.toLowerCase()) {
+            return false;
           }
-        ]);
-      }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "", version: 0 };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+          return true;
+        });
+        let canonicalizedHeadersStringToSign = "";
+        headersArray.forEach((header) => {
+          canonicalizedHeadersStringToSign += `${header.name.toLowerCase().trimRight()}:${header.value.trimLeft()}
+`;
+        });
+        return canonicalizedHeadersStringToSign;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* string name */
-            3:
-              message.name = reader.string();
-              break;
-            case /* google.protobuf.Timestamp expires_at */
-            4:
-              message.expiresAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expiresAt);
-              break;
-            case /* int32 version */
-            5:
-              message.version = reader.int32();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      /**
+       * Retrieves the webResource canonicalized resource string.
+       *
+       * @param request -
+       */
+      getCanonicalizedResourceString(request2) {
+        const path3 = (0, utils_common_js_1.getURLPath)(request2.url) || "/";
+        let canonicalizedResourceString = "";
+        canonicalizedResourceString += `/${this.factory.accountName}${path3}`;
+        const queries = (0, utils_common_js_1.getURLQueries)(request2.url);
+        const lowercaseQueries = {};
+        if (queries) {
+          const queryKeys = [];
+          for (const key in queries) {
+            if (Object.prototype.hasOwnProperty.call(queries, key)) {
+              const lowercaseKey = key.toLowerCase();
+              lowercaseQueries[lowercaseKey] = queries[key];
+              queryKeys.push(lowercaseKey);
+            }
+          }
+          queryKeys.sort();
+          for (const key of queryKeys) {
+            canonicalizedResourceString += `
+${key}:${decodeURIComponent(lowercaseQueries[key])}`;
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.name !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
-        if (message.expiresAt)
-          timestamp_1.Timestamp.internalBinaryWrite(message.expiresAt, writer.tag(4, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        if (message.version !== 0)
-          writer.tag(5, runtime_1.WireType.Varint).int32(message.version);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+        return canonicalizedResourceString;
       }
     };
-    exports2.CreateArtifactRequest = new CreateArtifactRequest$Type();
-    var CreateArtifactResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.CreateArtifactResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "signed_upload_url",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
+    exports2.StorageSharedKeyCredentialPolicy = StorageSharedKeyCredentialPolicy;
+  }
+});
+
+// node_modules/@azure/storage-common/dist/commonjs/credentials/StorageSharedKeyCredential.js
+var require_StorageSharedKeyCredential2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/credentials/StorageSharedKeyCredential.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageSharedKeyCredential = void 0;
+    var node_crypto_1 = require("node:crypto");
+    var StorageSharedKeyCredentialPolicy_js_1 = require_StorageSharedKeyCredentialPolicy2();
+    var Credential_js_1 = require_Credential2();
+    var StorageSharedKeyCredential = class extends Credential_js_1.Credential {
+      /**
+       * Azure Storage account name; readonly.
+       */
+      accountName;
+      /**
+       * Azure Storage account key; readonly.
+       */
+      accountKey;
+      /**
+       * Creates an instance of StorageSharedKeyCredential.
+       * @param accountName -
+       * @param accountKey -
+       */
+      constructor(accountName, accountKey) {
+        super();
+        this.accountName = accountName;
+        this.accountKey = Buffer.from(accountKey, "base64");
       }
-      create(value) {
-        const message = { ok: false, signedUploadUrl: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      /**
+       * Creates a StorageSharedKeyCredentialPolicy object.
+       *
+       * @param nextPolicy -
+       * @param options -
+       */
+      create(nextPolicy, options) {
+        return new StorageSharedKeyCredentialPolicy_js_1.StorageSharedKeyCredentialPolicy(nextPolicy, options, this);
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* string signed_upload_url */
-            2:
-              message.signedUploadUrl = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
+      /**
+       * Generates a hash signature for an HTTP request or for a SAS.
+       *
+       * @param stringToSign -
+       */
+      computeHMACSHA256(stringToSign) {
+        return (0, node_crypto_1.createHmac)("sha256", this.accountKey).update(stringToSign, "utf8").digest("base64");
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.signedUploadUrl !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+    };
+    exports2.StorageSharedKeyCredential = StorageSharedKeyCredential;
+  }
+});
+
+// node_modules/@azure/storage-common/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js
+var require_AbortError4 = __commonJS({
+  "node_modules/@azure/storage-common/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AbortError = void 0;
+    var AbortError = class extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "AbortError";
       }
     };
-    exports2.CreateArtifactResponse = new CreateArtifactResponse$Type();
-    var FinalizeArtifactRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.FinalizeArtifactRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 4,
-            name: "size",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          },
-          { no: 5, name: "hash", kind: "message", T: () => wrappers_2.StringValue }
-        ]);
+    exports2.AbortError = AbortError;
+  }
+});
+
+// node_modules/@azure/storage-common/node_modules/@azure/abort-controller/dist/commonjs/index.js
+var require_commonjs14 = __commonJS({
+  "node_modules/@azure/storage-common/node_modules/@azure/abort-controller/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AbortError = void 0;
+    var AbortError_js_1 = require_AbortError4();
+    Object.defineProperty(exports2, "AbortError", { enumerable: true, get: function() {
+      return AbortError_js_1.AbortError;
+    } });
+  }
+});
+
+// node_modules/@azure/storage-common/dist/commonjs/log.js
+var require_log6 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/log.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.logger = void 0;
+    var logger_1 = require_commonjs4();
+    exports2.logger = (0, logger_1.createClientLogger)("storage-common");
+  }
+});
+
+// node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicyType.js
+var require_StorageRetryPolicyType2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicyType.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageRetryPolicyType = void 0;
+    var StorageRetryPolicyType;
+    (function(StorageRetryPolicyType2) {
+      StorageRetryPolicyType2[StorageRetryPolicyType2["EXPONENTIAL"] = 0] = "EXPONENTIAL";
+      StorageRetryPolicyType2[StorageRetryPolicyType2["FIXED"] = 1] = "FIXED";
+    })(StorageRetryPolicyType || (exports2.StorageRetryPolicyType = StorageRetryPolicyType = {}));
+  }
+});
+
+// node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicy.js
+var require_StorageRetryPolicy2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageRetryPolicy = void 0;
+    exports2.NewRetryPolicyFactory = NewRetryPolicyFactory;
+    var abort_controller_1 = require_commonjs14();
+    var RequestPolicy_js_1 = require_RequestPolicy2();
+    var constants_js_1 = require_constants15();
+    var utils_common_js_1 = require_utils_common2();
+    var log_js_1 = require_log6();
+    var StorageRetryPolicyType_js_1 = require_StorageRetryPolicyType2();
+    function NewRetryPolicyFactory(retryOptions) {
+      return {
+        create: (nextPolicy, options) => {
+          return new StorageRetryPolicy(nextPolicy, options, retryOptions);
+        }
+      };
+    }
+    var DEFAULT_RETRY_OPTIONS = {
+      maxRetryDelayInMs: 120 * 1e3,
+      maxTries: 4,
+      retryDelayInMs: 4 * 1e3,
+      retryPolicyType: StorageRetryPolicyType_js_1.StorageRetryPolicyType.EXPONENTIAL,
+      secondaryHost: "",
+      tryTimeoutInMs: void 0
+      // Use server side default timeout strategy
+    };
+    var RETRY_ABORT_ERROR = new abort_controller_1.AbortError("The operation was aborted.");
+    var StorageRetryPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
+      /**
+       * RetryOptions.
+       */
+      retryOptions;
+      /**
+       * Creates an instance of RetryPolicy.
+       *
+       * @param nextPolicy -
+       * @param options -
+       * @param retryOptions -
+       */
+      constructor(nextPolicy, options, retryOptions = DEFAULT_RETRY_OPTIONS) {
+        super(nextPolicy, options);
+        this.retryOptions = {
+          retryPolicyType: retryOptions.retryPolicyType ? retryOptions.retryPolicyType : DEFAULT_RETRY_OPTIONS.retryPolicyType,
+          maxTries: retryOptions.maxTries && retryOptions.maxTries >= 1 ? Math.floor(retryOptions.maxTries) : DEFAULT_RETRY_OPTIONS.maxTries,
+          tryTimeoutInMs: retryOptions.tryTimeoutInMs && retryOptions.tryTimeoutInMs >= 0 ? retryOptions.tryTimeoutInMs : DEFAULT_RETRY_OPTIONS.tryTimeoutInMs,
+          retryDelayInMs: retryOptions.retryDelayInMs && retryOptions.retryDelayInMs >= 0 ? Math.min(retryOptions.retryDelayInMs, retryOptions.maxRetryDelayInMs ? retryOptions.maxRetryDelayInMs : DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs) : DEFAULT_RETRY_OPTIONS.retryDelayInMs,
+          maxRetryDelayInMs: retryOptions.maxRetryDelayInMs && retryOptions.maxRetryDelayInMs >= 0 ? retryOptions.maxRetryDelayInMs : DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs,
+          secondaryHost: retryOptions.secondaryHost ? retryOptions.secondaryHost : DEFAULT_RETRY_OPTIONS.secondaryHost
+        };
       }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "", size: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      /**
+       * Sends request.
+       *
+       * @param request -
+       */
+      async sendRequest(request2) {
+        return this.attemptSendRequest(request2, false, 1);
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* string name */
-            3:
-              message.name = reader.string();
-              break;
-            case /* int64 size */
-            4:
-              message.size = reader.int64().toString();
-              break;
-            case /* google.protobuf.StringValue hash */
-            5:
-              message.hash = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.hash);
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      /**
+       * Decide and perform next retry. Won't mutate request parameter.
+       *
+       * @param request -
+       * @param secondaryHas404 -  If attempt was against the secondary & it returned a StatusNotFound (404), then
+       *                                   the resource was not found. This may be due to replication delay. So, in this
+       *                                   case, we'll never try the secondary again for this operation.
+       * @param attempt -           How many retries has been attempted to performed, starting from 1, which includes
+       *                                   the attempt will be performed by this method call.
+       */
+      async attemptSendRequest(request2, secondaryHas404, attempt) {
+        const newRequest = request2.clone();
+        const isPrimaryRetry = secondaryHas404 || !this.retryOptions.secondaryHost || !(request2.method === "GET" || request2.method === "HEAD" || request2.method === "OPTIONS") || attempt % 2 === 1;
+        if (!isPrimaryRetry) {
+          newRequest.url = (0, utils_common_js_1.setURLHost)(newRequest.url, this.retryOptions.secondaryHost);
+        }
+        if (this.retryOptions.tryTimeoutInMs) {
+          newRequest.url = (0, utils_common_js_1.setURLParameter)(newRequest.url, constants_js_1.URLConstants.Parameters.TIMEOUT, Math.floor(this.retryOptions.tryTimeoutInMs / 1e3).toString());
+        }
+        let response;
+        try {
+          log_js_1.logger.info(`RetryPolicy: =====> Try=${attempt} ${isPrimaryRetry ? "Primary" : "Secondary"}`);
+          response = await this._nextPolicy.sendRequest(newRequest);
+          if (!this.shouldRetry(isPrimaryRetry, attempt, response)) {
+            return response;
+          }
+          secondaryHas404 = secondaryHas404 || !isPrimaryRetry && response.status === 404;
+        } catch (err) {
+          log_js_1.logger.error(`RetryPolicy: Caught error, message: ${err.message}, code: ${err.code}`);
+          if (!this.shouldRetry(isPrimaryRetry, attempt, response, err)) {
+            throw err;
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.name !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
-        if (message.size !== "0")
-          writer.tag(4, runtime_1.WireType.Varint).int64(message.size);
-        if (message.hash)
-          wrappers_2.StringValue.internalBinaryWrite(message.hash, writer.tag(5, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+        await this.delay(isPrimaryRetry, attempt, request2.abortSignal);
+        return this.attemptSendRequest(request2, secondaryHas404, ++attempt);
       }
-    };
-    exports2.FinalizeArtifactRequest = new FinalizeArtifactRequest$Type();
-    var FinalizeArtifactResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.FinalizeArtifactResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "artifact_id",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
+      /**
+       * Decide whether to retry according to last HTTP response and retry counters.
+       *
+       * @param isPrimaryRetry -
+       * @param attempt -
+       * @param response -
+       * @param err -
+       */
+      shouldRetry(isPrimaryRetry, attempt, response, err) {
+        if (attempt >= this.retryOptions.maxTries) {
+          log_js_1.logger.info(`RetryPolicy: Attempt(s) ${attempt} >= maxTries ${this.retryOptions.maxTries}, no further try.`);
+          return false;
+        }
+        const retriableErrors = [
+          "ETIMEDOUT",
+          "ESOCKETTIMEDOUT",
+          "ECONNREFUSED",
+          "ECONNRESET",
+          "ENOENT",
+          "ENOTFOUND",
+          "TIMEOUT",
+          "EPIPE",
+          "REQUEST_SEND_ERROR"
+          // For default xhr based http client provided in ms-rest-js
+        ];
+        if (err) {
+          for (const retriableError of retriableErrors) {
+            if (err.name.toUpperCase().includes(retriableError) || err.message.toUpperCase().includes(retriableError) || err.code && err.code.toString().toUpperCase() === retriableError) {
+              log_js_1.logger.info(`RetryPolicy: Network error ${retriableError} found, will retry.`);
+              return true;
+            }
           }
-        ]);
-      }
-      create(value) {
-        const message = { ok: false, artifactId: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* int64 artifact_id */
-            2:
-              message.artifactId = reader.int64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+        }
+        if (response || err) {
+          const statusCode = response ? response.status : err ? err.statusCode : 0;
+          if (!isPrimaryRetry && statusCode === 404) {
+            log_js_1.logger.info(`RetryPolicy: Secondary access with 404, will retry.`);
+            return true;
+          }
+          if (statusCode === 503 || statusCode === 500) {
+            log_js_1.logger.info(`RetryPolicy: Will retry for status code ${statusCode}.`);
+            return true;
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.artifactId !== "0")
-          writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.FinalizeArtifactResponse = new FinalizeArtifactResponse$Type();
-    var ListArtifactsRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.ListArtifactsRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          { no: 3, name: "name_filter", kind: "message", T: () => wrappers_2.StringValue },
-          { no: 4, name: "id_filter", kind: "message", T: () => wrappers_1.Int64Value }
-        ]);
-      }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+        if (response) {
+          if (response?.status >= 400) {
+            const copySourceError = response.headers.get(constants_js_1.HeaderConstants.X_MS_CopySourceErrorCode);
+            if (copySourceError !== void 0) {
+              switch (copySourceError) {
+                case "InternalError":
+                case "OperationTimedOut":
+                case "ServerBusy":
+                  return true;
+              }
+            }
+          }
+        }
+        if (err?.code === "PARSE_ERROR" && err?.message.startsWith(`Error "Error: Unclosed root tag`)) {
+          log_js_1.logger.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry.");
+          return true;
+        }
+        return false;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* google.protobuf.StringValue name_filter */
-            3:
-              message.nameFilter = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.nameFilter);
+      /**
+       * Delay a calculated time between retries.
+       *
+       * @param isPrimaryRetry -
+       * @param attempt -
+       * @param abortSignal -
+       */
+      async delay(isPrimaryRetry, attempt, abortSignal) {
+        let delayTimeInMs = 0;
+        if (isPrimaryRetry) {
+          switch (this.retryOptions.retryPolicyType) {
+            case StorageRetryPolicyType_js_1.StorageRetryPolicyType.EXPONENTIAL:
+              delayTimeInMs = Math.min((Math.pow(2, attempt - 1) - 1) * this.retryOptions.retryDelayInMs, this.retryOptions.maxRetryDelayInMs);
               break;
-            case /* google.protobuf.Int64Value id_filter */
-            4:
-              message.idFilter = wrappers_1.Int64Value.internalBinaryRead(reader, reader.uint32(), options, message.idFilter);
+            case StorageRetryPolicyType_js_1.StorageRetryPolicyType.FIXED:
+              delayTimeInMs = this.retryOptions.retryDelayInMs;
               break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
           }
+        } else {
+          delayTimeInMs = Math.random() * 1e3;
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.nameFilter)
-          wrappers_2.StringValue.internalBinaryWrite(message.nameFilter, writer.tag(3, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        if (message.idFilter)
-          wrappers_1.Int64Value.internalBinaryWrite(message.idFilter, writer.tag(4, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+        log_js_1.logger.info(`RetryPolicy: Delay for ${delayTimeInMs}ms`);
+        return (0, utils_common_js_1.delay)(delayTimeInMs, abortSignal, RETRY_ABORT_ERROR);
       }
     };
-    exports2.ListArtifactsRequest = new ListArtifactsRequest$Type();
-    var ListArtifactsResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.ListArtifactsResponse", [
-          { no: 1, name: "artifacts", kind: "message", repeat: 1, T: () => exports2.ListArtifactsResponse_MonolithArtifact }
-        ]);
+    exports2.StorageRetryPolicy = StorageRetryPolicy;
+  }
+});
+
+// node_modules/@azure/storage-common/dist/commonjs/StorageRetryPolicyFactory.js
+var require_StorageRetryPolicyFactory2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/StorageRetryPolicyFactory.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageRetryPolicyFactory = exports2.StorageRetryPolicy = exports2.StorageRetryPolicyType = void 0;
+    var StorageRetryPolicy_js_1 = require_StorageRetryPolicy2();
+    Object.defineProperty(exports2, "StorageRetryPolicy", { enumerable: true, get: function() {
+      return StorageRetryPolicy_js_1.StorageRetryPolicy;
+    } });
+    var StorageRetryPolicyType_js_1 = require_StorageRetryPolicyType2();
+    Object.defineProperty(exports2, "StorageRetryPolicyType", { enumerable: true, get: function() {
+      return StorageRetryPolicyType_js_1.StorageRetryPolicyType;
+    } });
+    var StorageRetryPolicyFactory = class {
+      retryOptions;
+      /**
+       * Creates an instance of StorageRetryPolicyFactory.
+       * @param retryOptions -
+       */
+      constructor(retryOptions) {
+        this.retryOptions = retryOptions;
       }
-      create(value) {
-        const message = { artifacts: [] };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      /**
+       * Creates a StorageRetryPolicy object.
+       *
+       * @param nextPolicy -
+       * @param options -
+       */
+      create(nextPolicy, options) {
+        return new StorageRetryPolicy_js_1.StorageRetryPolicy(nextPolicy, options, this.retryOptions);
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* repeated github.actions.results.api.v1.ListArtifactsResponse.MonolithArtifact artifacts */
-            1:
-              message.artifacts.push(exports2.ListArtifactsResponse_MonolithArtifact.internalBinaryRead(reader, reader.uint32(), options));
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+    };
+    exports2.StorageRetryPolicyFactory = StorageRetryPolicyFactory;
+  }
+});
+
+// node_modules/@azure/storage-common/dist/commonjs/policies/StorageBrowserPolicyV2.js
+var require_StorageBrowserPolicyV2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageBrowserPolicyV2.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.storageBrowserPolicyName = void 0;
+    exports2.storageBrowserPolicy = storageBrowserPolicy;
+    var core_util_1 = require_commonjs6();
+    var constants_js_1 = require_constants15();
+    var utils_common_js_1 = require_utils_common2();
+    exports2.storageBrowserPolicyName = "storageBrowserPolicy";
+    function storageBrowserPolicy() {
+      return {
+        name: exports2.storageBrowserPolicyName,
+        async sendRequest(request2, next) {
+          if (core_util_1.isNodeLike) {
+            return next(request2);
+          }
+          if (request2.method === "GET" || request2.method === "HEAD") {
+            request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.FORCE_BROWSER_NO_CACHE, (/* @__PURE__ */ new Date()).getTime().toString());
           }
+          request2.headers.delete(constants_js_1.HeaderConstants.COOKIE);
+          request2.headers.delete(constants_js_1.HeaderConstants.CONTENT_LENGTH);
+          return next(request2);
+        }
+      };
+    }
+  }
+});
+
+// node_modules/@azure/storage-common/dist/commonjs/policies/StorageCorrectContentLengthPolicy.js
+var require_StorageCorrectContentLengthPolicy = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageCorrectContentLengthPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.storageCorrectContentLengthPolicyName = void 0;
+    exports2.storageCorrectContentLengthPolicy = storageCorrectContentLengthPolicy;
+    var constants_js_1 = require_constants15();
+    exports2.storageCorrectContentLengthPolicyName = "StorageCorrectContentLengthPolicy";
+    function storageCorrectContentLengthPolicy() {
+      function correctContentLength(request2) {
+        if (request2.body && (typeof request2.body === "string" || Buffer.isBuffer(request2.body)) && request2.body.length > 0) {
+          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        for (let i = 0; i < message.artifacts.length; i++)
-          exports2.ListArtifactsResponse_MonolithArtifact.internalBinaryWrite(message.artifacts[i], writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
       }
+      return {
+        name: exports2.storageCorrectContentLengthPolicyName,
+        async sendRequest(request2, next) {
+          correctContentLength(request2);
+          return next(request2);
+        }
+      };
+    }
+  }
+});
+
+// node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicyV2.js
+var require_StorageRetryPolicyV2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicyV2.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.storageRetryPolicyName = void 0;
+    exports2.storageRetryPolicy = storageRetryPolicy;
+    var abort_controller_1 = require_commonjs14();
+    var core_rest_pipeline_1 = require_commonjs8();
+    var core_util_1 = require_commonjs6();
+    var StorageRetryPolicyFactory_js_1 = require_StorageRetryPolicyFactory2();
+    var constants_js_1 = require_constants15();
+    var utils_common_js_1 = require_utils_common2();
+    var log_js_1 = require_log6();
+    exports2.storageRetryPolicyName = "storageRetryPolicy";
+    var DEFAULT_RETRY_OPTIONS = {
+      maxRetryDelayInMs: 120 * 1e3,
+      maxTries: 4,
+      retryDelayInMs: 4 * 1e3,
+      retryPolicyType: StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.EXPONENTIAL,
+      secondaryHost: "",
+      tryTimeoutInMs: void 0
+      // Use server side default timeout strategy
     };
-    exports2.ListArtifactsResponse = new ListArtifactsResponse$Type();
-    var ListArtifactsResponse_MonolithArtifact$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.ListArtifactsResponse.MonolithArtifact", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "database_id",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          },
-          {
-            no: 4,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 5,
-            name: "size",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          },
-          { no: 6, name: "created_at", kind: "message", T: () => timestamp_1.Timestamp },
-          { no: 7, name: "digest", kind: "message", T: () => wrappers_2.StringValue }
-        ]);
-      }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", databaseId: "0", name: "", size: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* int64 database_id */
-            3:
-              message.databaseId = reader.int64().toString();
-              break;
-            case /* string name */
-            4:
-              message.name = reader.string();
-              break;
-            case /* int64 size */
-            5:
-              message.size = reader.int64().toString();
-              break;
-            case /* google.protobuf.Timestamp created_at */
-            6:
-              message.createdAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.createdAt);
-              break;
-            case /* google.protobuf.StringValue digest */
-            7:
-              message.digest = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.digest);
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+    var retriableErrors = [
+      "ETIMEDOUT",
+      "ESOCKETTIMEDOUT",
+      "ECONNREFUSED",
+      "ECONNRESET",
+      "ENOENT",
+      "ENOTFOUND",
+      "TIMEOUT",
+      "EPIPE",
+      "REQUEST_SEND_ERROR"
+    ];
+    var RETRY_ABORT_ERROR = new abort_controller_1.AbortError("The operation was aborted.");
+    function storageRetryPolicy(options = {}) {
+      const retryPolicyType = options.retryPolicyType ?? DEFAULT_RETRY_OPTIONS.retryPolicyType;
+      const maxTries = options.maxTries ?? DEFAULT_RETRY_OPTIONS.maxTries;
+      const retryDelayInMs = options.retryDelayInMs ?? DEFAULT_RETRY_OPTIONS.retryDelayInMs;
+      const maxRetryDelayInMs = options.maxRetryDelayInMs ?? DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs;
+      const secondaryHost = options.secondaryHost ?? DEFAULT_RETRY_OPTIONS.secondaryHost;
+      const tryTimeoutInMs = options.tryTimeoutInMs ?? DEFAULT_RETRY_OPTIONS.tryTimeoutInMs;
+      function shouldRetry({ isPrimaryRetry, attempt, response, error: error3 }) {
+        if (attempt >= maxTries) {
+          log_js_1.logger.info(`RetryPolicy: Attempt(s) ${attempt} >= maxTries ${maxTries}, no further try.`);
+          return false;
+        }
+        if (error3) {
+          for (const retriableError of retriableErrors) {
+            if (error3.name.toUpperCase().includes(retriableError) || error3.message.toUpperCase().includes(retriableError) || error3.code && error3.code.toString().toUpperCase() === retriableError) {
+              log_js_1.logger.info(`RetryPolicy: Network error ${retriableError} found, will retry.`);
+              return true;
+            }
+          }
+          if (error3?.code === "PARSE_ERROR" && error3?.message.startsWith(`Error "Error: Unclosed root tag`)) {
+            log_js_1.logger.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry.");
+            return true;
+          }
+        }
+        if (response || error3) {
+          const statusCode = response?.status ?? error3?.statusCode ?? 0;
+          if (!isPrimaryRetry && statusCode === 404) {
+            log_js_1.logger.info(`RetryPolicy: Secondary access with 404, will retry.`);
+            return true;
+          }
+          if (statusCode === 503 || statusCode === 500) {
+            log_js_1.logger.info(`RetryPolicy: Will retry for status code ${statusCode}.`);
+            return true;
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.databaseId !== "0")
-          writer.tag(3, runtime_1.WireType.Varint).int64(message.databaseId);
-        if (message.name !== "")
-          writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.name);
-        if (message.size !== "0")
-          writer.tag(5, runtime_1.WireType.Varint).int64(message.size);
-        if (message.createdAt)
-          timestamp_1.Timestamp.internalBinaryWrite(message.createdAt, writer.tag(6, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        if (message.digest)
-          wrappers_2.StringValue.internalBinaryWrite(message.digest, writer.tag(7, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.ListArtifactsResponse_MonolithArtifact = new ListArtifactsResponse_MonolithArtifact$Type();
-    var GetSignedArtifactURLRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.GetSignedArtifactURLRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
+        if (response) {
+          if (response?.status >= 400) {
+            const copySourceError = response.headers.get(constants_js_1.HeaderConstants.X_MS_CopySourceErrorCode);
+            if (copySourceError !== void 0) {
+              switch (copySourceError) {
+                case "InternalError":
+                case "OperationTimedOut":
+                case "ServerBusy":
+                  return true;
+              }
+            }
           }
-        ]);
-      }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+        }
+        return false;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
+      function calculateDelay(isPrimaryRetry, attempt) {
+        let delayTimeInMs = 0;
+        if (isPrimaryRetry) {
+          switch (retryPolicyType) {
+            case StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.EXPONENTIAL:
+              delayTimeInMs = Math.min((Math.pow(2, attempt - 1) - 1) * retryDelayInMs, maxRetryDelayInMs);
               break;
-            case /* string name */
-            3:
-              message.name = reader.string();
+            case StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.FIXED:
+              delayTimeInMs = retryDelayInMs;
               break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
           }
+        } else {
+          delayTimeInMs = Math.random() * 1e3;
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.name !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+        log_js_1.logger.info(`RetryPolicy: Delay for ${delayTimeInMs}ms`);
+        return delayTimeInMs;
       }
-    };
-    exports2.GetSignedArtifactURLRequest = new GetSignedArtifactURLRequest$Type();
-    var GetSignedArtifactURLResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.GetSignedArtifactURLResponse", [
-          {
-            no: 1,
-            name: "signed_url",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
+      return {
+        name: exports2.storageRetryPolicyName,
+        async sendRequest(request2, next) {
+          if (tryTimeoutInMs) {
+            request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.TIMEOUT, String(Math.floor(tryTimeoutInMs / 1e3)));
           }
-        ]);
-      }
-      create(value) {
-        const message = { signedUrl: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string signed_url */
-            1:
-              message.signedUrl = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          const primaryUrl = request2.url;
+          const secondaryUrl = secondaryHost ? (0, utils_common_js_1.setURLHost)(request2.url, secondaryHost) : void 0;
+          let secondaryHas404 = false;
+          let attempt = 1;
+          let retryAgain = true;
+          let response;
+          let error3;
+          while (retryAgain) {
+            const isPrimaryRetry = secondaryHas404 || !secondaryUrl || !["GET", "HEAD", "OPTIONS"].includes(request2.method) || attempt % 2 === 1;
+            request2.url = isPrimaryRetry ? primaryUrl : secondaryUrl;
+            response = void 0;
+            error3 = void 0;
+            try {
+              log_js_1.logger.info(`RetryPolicy: =====> Try=${attempt} ${isPrimaryRetry ? "Primary" : "Secondary"}`);
+              response = await next(request2);
+              secondaryHas404 = secondaryHas404 || !isPrimaryRetry && response.status === 404;
+            } catch (e) {
+              if ((0, core_rest_pipeline_1.isRestError)(e)) {
+                log_js_1.logger.error(`RetryPolicy: Caught error, message: ${e.message}, code: ${e.code}`);
+                error3 = e;
+              } else {
+                log_js_1.logger.error(`RetryPolicy: Caught error, message: ${(0, core_util_1.getErrorMessage)(e)}`);
+                throw e;
+              }
+            }
+            retryAgain = shouldRetry({ isPrimaryRetry, attempt, response, error: error3 });
+            if (retryAgain) {
+              await (0, utils_common_js_1.delay)(calculateDelay(isPrimaryRetry, attempt), request2.abortSignal, RETRY_ABORT_ERROR);
+            }
+            attempt++;
+          }
+          if (response) {
+            return response;
           }
+          throw error3 ?? new core_rest_pipeline_1.RestError("RetryPolicy failed without known error.");
         }
-        return message;
+      };
+    }
+  }
+});
+
+// node_modules/@azure/storage-common/dist/commonjs/policies/StorageSharedKeyCredentialPolicyV2.js
+var require_StorageSharedKeyCredentialPolicyV2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageSharedKeyCredentialPolicyV2.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.storageSharedKeyCredentialPolicyName = void 0;
+    exports2.storageSharedKeyCredentialPolicy = storageSharedKeyCredentialPolicy;
+    var node_crypto_1 = require("node:crypto");
+    var constants_js_1 = require_constants15();
+    var utils_common_js_1 = require_utils_common2();
+    var SharedKeyComparator_js_1 = require_SharedKeyComparator2();
+    exports2.storageSharedKeyCredentialPolicyName = "storageSharedKeyCredentialPolicy";
+    function storageSharedKeyCredentialPolicy(options) {
+      function signRequest(request2) {
+        request2.headers.set(constants_js_1.HeaderConstants.X_MS_DATE, (/* @__PURE__ */ new Date()).toUTCString());
+        if (request2.body && (typeof request2.body === "string" || Buffer.isBuffer(request2.body)) && request2.body.length > 0) {
+          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
+        }
+        const stringToSign = [
+          request2.method.toUpperCase(),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LANGUAGE),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_ENCODING),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LENGTH),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_MD5),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_TYPE),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.DATE),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MODIFIED_SINCE),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MATCH),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_NONE_MATCH),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_UNMODIFIED_SINCE),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.RANGE)
+        ].join("\n") + "\n" + getCanonicalizedHeadersString(request2) + getCanonicalizedResourceString(request2);
+        const signature = (0, node_crypto_1.createHmac)("sha256", options.accountKey).update(stringToSign, "utf8").digest("base64");
+        request2.headers.set(constants_js_1.HeaderConstants.AUTHORIZATION, `SharedKey ${options.accountName}:${signature}`);
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.signedUrl !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.signedUrl);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      function getHeaderValueToSign(request2, headerName) {
+        const value = request2.headers.get(headerName);
+        if (!value) {
+          return "";
+        }
+        if (headerName === constants_js_1.HeaderConstants.CONTENT_LENGTH && value === "0") {
+          return "";
+        }
+        return value;
       }
-    };
-    exports2.GetSignedArtifactURLResponse = new GetSignedArtifactURLResponse$Type();
-    var DeleteArtifactRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.DeleteArtifactRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
+      function getCanonicalizedHeadersString(request2) {
+        let headersArray = [];
+        for (const [name, value] of request2.headers) {
+          if (name.toLowerCase().startsWith(constants_js_1.HeaderConstants.PREFIX_FOR_STORAGE)) {
+            headersArray.push({ name, value });
           }
-        ]);
+        }
+        headersArray.sort((a, b) => {
+          return (0, SharedKeyComparator_js_1.compareHeader)(a.name.toLowerCase(), b.name.toLowerCase());
+        });
+        headersArray = headersArray.filter((value, index, array) => {
+          if (index > 0 && value.name.toLowerCase() === array[index - 1].name.toLowerCase()) {
+            return false;
+          }
+          return true;
+        });
+        let canonicalizedHeadersStringToSign = "";
+        headersArray.forEach((header) => {
+          canonicalizedHeadersStringToSign += `${header.name.toLowerCase().trimRight()}:${header.value.trimLeft()}
+`;
+        });
+        return canonicalizedHeadersStringToSign;
       }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      function getCanonicalizedResourceString(request2) {
+        const path3 = (0, utils_common_js_1.getURLPath)(request2.url) || "/";
+        let canonicalizedResourceString = "";
+        canonicalizedResourceString += `/${options.accountName}${path3}`;
+        const queries = (0, utils_common_js_1.getURLQueries)(request2.url);
+        const lowercaseQueries = {};
+        if (queries) {
+          const queryKeys = [];
+          for (const key in queries) {
+            if (Object.prototype.hasOwnProperty.call(queries, key)) {
+              const lowercaseKey = key.toLowerCase();
+              lowercaseQueries[lowercaseKey] = queries[key];
+              queryKeys.push(lowercaseKey);
+            }
+          }
+          queryKeys.sort();
+          for (const key of queryKeys) {
+            canonicalizedResourceString += `
+${key}:${decodeURIComponent(lowercaseQueries[key])}`;
+          }
+        }
+        return canonicalizedResourceString;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* string name */
-            3:
-              message.name = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      return {
+        name: exports2.storageSharedKeyCredentialPolicyName,
+        async sendRequest(request2, next) {
+          signRequest(request2);
+          return next(request2);
+        }
+      };
+    }
+  }
+});
+
+// node_modules/@azure/storage-common/dist/commonjs/policies/StorageRequestFailureDetailsParserPolicy.js
+var require_StorageRequestFailureDetailsParserPolicy = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageRequestFailureDetailsParserPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.storageRequestFailureDetailsParserPolicyName = void 0;
+    exports2.storageRequestFailureDetailsParserPolicy = storageRequestFailureDetailsParserPolicy;
+    exports2.storageRequestFailureDetailsParserPolicyName = "storageRequestFailureDetailsParserPolicy";
+    function storageRequestFailureDetailsParserPolicy() {
+      return {
+        name: exports2.storageRequestFailureDetailsParserPolicyName,
+        async sendRequest(request2, next) {
+          try {
+            const response = await next(request2);
+            return response;
+          } catch (err) {
+            if (typeof err === "object" && err !== null && err.response && err.response.parsedBody) {
+              if (err.response.parsedBody.code === "InvalidHeaderValue" && err.response.parsedBody.HeaderName === "x-ms-version") {
+                err.message = "The provided service version is not enabled on this storage account. Please see https://learn.microsoft.com/rest/api/storageservices/versioning-for-the-azure-storage-services for additional information.\n";
+              }
+            }
+            throw err;
+          }
+        }
+      };
+    }
+  }
+});
+
+// node_modules/@azure/storage-common/dist/commonjs/index.js
+var require_commonjs15 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BaseRequestPolicy = exports2.getCachedDefaultHttpClient = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    tslib_1.__exportStar(require_BufferScheduler(), exports2);
+    var cache_js_1 = require_cache3();
+    Object.defineProperty(exports2, "getCachedDefaultHttpClient", { enumerable: true, get: function() {
+      return cache_js_1.getCachedDefaultHttpClient;
+    } });
+    tslib_1.__exportStar(require_StorageBrowserPolicyFactory(), exports2);
+    tslib_1.__exportStar(require_AnonymousCredential2(), exports2);
+    tslib_1.__exportStar(require_Credential2(), exports2);
+    tslib_1.__exportStar(require_StorageSharedKeyCredential2(), exports2);
+    tslib_1.__exportStar(require_StorageRetryPolicyFactory2(), exports2);
+    var RequestPolicy_js_1 = require_RequestPolicy2();
+    Object.defineProperty(exports2, "BaseRequestPolicy", { enumerable: true, get: function() {
+      return RequestPolicy_js_1.BaseRequestPolicy;
+    } });
+    tslib_1.__exportStar(require_AnonymousCredentialPolicy2(), exports2);
+    tslib_1.__exportStar(require_CredentialPolicy2(), exports2);
+    tslib_1.__exportStar(require_StorageBrowserPolicy(), exports2);
+    tslib_1.__exportStar(require_StorageBrowserPolicyV2(), exports2);
+    tslib_1.__exportStar(require_StorageCorrectContentLengthPolicy(), exports2);
+    tslib_1.__exportStar(require_StorageRetryPolicyType2(), exports2);
+    tslib_1.__exportStar(require_StorageRetryPolicy2(), exports2);
+    tslib_1.__exportStar(require_StorageRetryPolicyV2(), exports2);
+    tslib_1.__exportStar(require_StorageSharedKeyCredentialPolicy2(), exports2);
+    tslib_1.__exportStar(require_StorageSharedKeyCredentialPolicyV2(), exports2);
+    tslib_1.__exportStar(require_StorageRetryPolicyFactory2(), exports2);
+    tslib_1.__exportStar(require_StorageRequestFailureDetailsParserPolicy(), exports2);
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageBrowserPolicyV2.js
+var require_StorageBrowserPolicyV22 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageBrowserPolicyV2.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.storageBrowserPolicyName = void 0;
+    exports2.storageBrowserPolicy = storageBrowserPolicy;
+    var core_util_1 = require_commonjs6();
+    var constants_js_1 = require_constants14();
+    var utils_common_js_1 = require_utils_common();
+    exports2.storageBrowserPolicyName = "storageBrowserPolicy";
+    function storageBrowserPolicy() {
+      return {
+        name: exports2.storageBrowserPolicyName,
+        async sendRequest(request2, next) {
+          if (core_util_1.isNodeLike) {
+            return next(request2);
+          }
+          if (request2.method === "GET" || request2.method === "HEAD") {
+            request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.FORCE_BROWSER_NO_CACHE, (/* @__PURE__ */ new Date()).getTime().toString());
+          }
+          request2.headers.delete(constants_js_1.HeaderConstants.COOKIE);
+          request2.headers.delete(constants_js_1.HeaderConstants.CONTENT_LENGTH);
+          return next(request2);
+        }
+      };
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicyV2.js
+var require_StorageRetryPolicyV22 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicyV2.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.storageRetryPolicyName = void 0;
+    exports2.storageRetryPolicy = storageRetryPolicy;
+    var abort_controller_1 = require_commonjs13();
+    var core_rest_pipeline_1 = require_commonjs8();
+    var core_util_1 = require_commonjs6();
+    var StorageRetryPolicyFactory_js_1 = require_StorageRetryPolicyFactory();
+    var constants_js_1 = require_constants14();
+    var utils_common_js_1 = require_utils_common();
+    var log_js_1 = require_log5();
+    exports2.storageRetryPolicyName = "storageRetryPolicy";
+    var DEFAULT_RETRY_OPTIONS = {
+      maxRetryDelayInMs: 120 * 1e3,
+      maxTries: 4,
+      retryDelayInMs: 4 * 1e3,
+      retryPolicyType: StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.EXPONENTIAL,
+      secondaryHost: "",
+      tryTimeoutInMs: void 0
+      // Use server side default timeout strategy
+    };
+    var retriableErrors = [
+      "ETIMEDOUT",
+      "ESOCKETTIMEDOUT",
+      "ECONNREFUSED",
+      "ECONNRESET",
+      "ENOENT",
+      "ENOTFOUND",
+      "TIMEOUT",
+      "EPIPE",
+      "REQUEST_SEND_ERROR"
+    ];
+    var RETRY_ABORT_ERROR = new abort_controller_1.AbortError("The operation was aborted.");
+    function storageRetryPolicy(options = {}) {
+      const retryPolicyType = options.retryPolicyType ?? DEFAULT_RETRY_OPTIONS.retryPolicyType;
+      const maxTries = options.maxTries ?? DEFAULT_RETRY_OPTIONS.maxTries;
+      const retryDelayInMs = options.retryDelayInMs ?? DEFAULT_RETRY_OPTIONS.retryDelayInMs;
+      const maxRetryDelayInMs = options.maxRetryDelayInMs ?? DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs;
+      const secondaryHost = options.secondaryHost ?? DEFAULT_RETRY_OPTIONS.secondaryHost;
+      const tryTimeoutInMs = options.tryTimeoutInMs ?? DEFAULT_RETRY_OPTIONS.tryTimeoutInMs;
+      function shouldRetry({ isPrimaryRetry, attempt, response, error: error3 }) {
+        if (attempt >= maxTries) {
+          log_js_1.logger.info(`RetryPolicy: Attempt(s) ${attempt} >= maxTries ${maxTries}, no further try.`);
+          return false;
+        }
+        if (error3) {
+          for (const retriableError of retriableErrors) {
+            if (error3.name.toUpperCase().includes(retriableError) || error3.message.toUpperCase().includes(retriableError) || error3.code && error3.code.toString().toUpperCase() === retriableError) {
+              log_js_1.logger.info(`RetryPolicy: Network error ${retriableError} found, will retry.`);
+              return true;
+            }
+          }
+          if (error3?.code === "PARSE_ERROR" && error3?.message.startsWith(`Error "Error: Unclosed root tag`)) {
+            log_js_1.logger.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry.");
+            return true;
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.name !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.DeleteArtifactRequest = new DeleteArtifactRequest$Type();
-    var DeleteArtifactResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.DeleteArtifactResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "artifact_id",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
+        if (response || error3) {
+          const statusCode = response?.status ?? error3?.statusCode ?? 0;
+          if (!isPrimaryRetry && statusCode === 404) {
+            log_js_1.logger.info(`RetryPolicy: Secondary access with 404, will retry.`);
+            return true;
           }
-        ]);
-      }
-      create(value) {
-        const message = { ok: false, artifactId: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+          if (statusCode === 503 || statusCode === 500) {
+            log_js_1.logger.info(`RetryPolicy: Will retry for status code ${statusCode}.`);
+            return true;
+          }
+        }
+        if (response) {
+          if (response?.status >= 400) {
+            const copySourceError = response.headers.get(constants_js_1.HeaderConstants.X_MS_CopySourceErrorCode);
+            if (copySourceError !== void 0) {
+              switch (copySourceError) {
+                case "InternalError":
+                case "OperationTimedOut":
+                case "ServerBusy":
+                  return true;
+              }
+            }
+          }
+        }
+        return false;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
+      function calculateDelay(isPrimaryRetry, attempt) {
+        let delayTimeInMs = 0;
+        if (isPrimaryRetry) {
+          switch (retryPolicyType) {
+            case StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.EXPONENTIAL:
+              delayTimeInMs = Math.min((Math.pow(2, attempt - 1) - 1) * retryDelayInMs, maxRetryDelayInMs);
               break;
-            case /* int64 artifact_id */
-            2:
-              message.artifactId = reader.int64().toString();
+            case StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.FIXED:
+              delayTimeInMs = retryDelayInMs;
               break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
           }
+        } else {
+          delayTimeInMs = Math.random() * 1e3;
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.artifactId !== "0")
-          writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+        log_js_1.logger.info(`RetryPolicy: Delay for ${delayTimeInMs}ms`);
+        return delayTimeInMs;
       }
-    };
-    exports2.DeleteArtifactResponse = new DeleteArtifactResponse$Type();
-    exports2.ArtifactService = new runtime_rpc_1.ServiceType("github.actions.results.api.v1.ArtifactService", [
-      { name: "CreateArtifact", options: {}, I: exports2.CreateArtifactRequest, O: exports2.CreateArtifactResponse },
-      { name: "FinalizeArtifact", options: {}, I: exports2.FinalizeArtifactRequest, O: exports2.FinalizeArtifactResponse },
-      { name: "ListArtifacts", options: {}, I: exports2.ListArtifactsRequest, O: exports2.ListArtifactsResponse },
-      { name: "GetSignedArtifactURL", options: {}, I: exports2.GetSignedArtifactURLRequest, O: exports2.GetSignedArtifactURLResponse },
-      { name: "DeleteArtifact", options: {}, I: exports2.DeleteArtifactRequest, O: exports2.DeleteArtifactResponse },
-      { name: "MigrateArtifact", options: {}, I: exports2.MigrateArtifactRequest, O: exports2.MigrateArtifactResponse },
-      { name: "FinalizeMigratedArtifact", options: {}, I: exports2.FinalizeMigratedArtifactRequest, O: exports2.FinalizeMigratedArtifactResponse }
-    ]);
+      return {
+        name: exports2.storageRetryPolicyName,
+        async sendRequest(request2, next) {
+          if (tryTimeoutInMs) {
+            request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.TIMEOUT, String(Math.floor(tryTimeoutInMs / 1e3)));
+          }
+          const primaryUrl = request2.url;
+          const secondaryUrl = secondaryHost ? (0, utils_common_js_1.setURLHost)(request2.url, secondaryHost) : void 0;
+          let secondaryHas404 = false;
+          let attempt = 1;
+          let retryAgain = true;
+          let response;
+          let error3;
+          while (retryAgain) {
+            const isPrimaryRetry = secondaryHas404 || !secondaryUrl || !["GET", "HEAD", "OPTIONS"].includes(request2.method) || attempt % 2 === 1;
+            request2.url = isPrimaryRetry ? primaryUrl : secondaryUrl;
+            response = void 0;
+            error3 = void 0;
+            try {
+              log_js_1.logger.info(`RetryPolicy: =====> Try=${attempt} ${isPrimaryRetry ? "Primary" : "Secondary"}`);
+              response = await next(request2);
+              secondaryHas404 = secondaryHas404 || !isPrimaryRetry && response.status === 404;
+            } catch (e) {
+              if ((0, core_rest_pipeline_1.isRestError)(e)) {
+                log_js_1.logger.error(`RetryPolicy: Caught error, message: ${e.message}, code: ${e.code}`);
+                error3 = e;
+              } else {
+                log_js_1.logger.error(`RetryPolicy: Caught error, message: ${(0, core_util_1.getErrorMessage)(e)}`);
+                throw e;
+              }
+            }
+            retryAgain = shouldRetry({ isPrimaryRetry, attempt, response, error: error3 });
+            if (retryAgain) {
+              await (0, utils_common_js_1.delay)(calculateDelay(isPrimaryRetry, attempt), request2.abortSignal, RETRY_ABORT_ERROR);
+            }
+            attempt++;
+          }
+          if (response) {
+            return response;
+          }
+          throw error3 ?? new core_rest_pipeline_1.RestError("RetryPolicy failed without known error.");
+        }
+      };
+    }
   }
 });
 
-// node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.js
-var require_artifact_twirp_client = __commonJS({
-  "node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageSharedKeyCredentialPolicyV2.js
+var require_StorageSharedKeyCredentialPolicyV22 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageSharedKeyCredentialPolicyV2.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ArtifactServiceClientProtobuf = exports2.ArtifactServiceClientJSON = void 0;
-    var artifact_1 = require_artifact();
-    var ArtifactServiceClientJSON = class {
-      constructor(rpc) {
-        this.rpc = rpc;
-        this.CreateArtifact.bind(this);
-        this.FinalizeArtifact.bind(this);
-        this.ListArtifacts.bind(this);
-        this.GetSignedArtifactURL.bind(this);
-        this.DeleteArtifact.bind(this);
-      }
-      CreateArtifact(request2) {
-        const data = artifact_1.CreateArtifactRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
-        });
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "CreateArtifact", "application/json", data);
-        return promise.then((data2) => artifact_1.CreateArtifactResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
+    exports2.storageSharedKeyCredentialPolicyName = void 0;
+    exports2.storageSharedKeyCredentialPolicy = storageSharedKeyCredentialPolicy;
+    var node_crypto_1 = require("node:crypto");
+    var constants_js_1 = require_constants14();
+    var utils_common_js_1 = require_utils_common();
+    var SharedKeyComparator_js_1 = require_SharedKeyComparator();
+    exports2.storageSharedKeyCredentialPolicyName = "storageSharedKeyCredentialPolicy";
+    function storageSharedKeyCredentialPolicy(options) {
+      function signRequest(request2) {
+        request2.headers.set(constants_js_1.HeaderConstants.X_MS_DATE, (/* @__PURE__ */ new Date()).toUTCString());
+        if (request2.body && (typeof request2.body === "string" || Buffer.isBuffer(request2.body)) && request2.body.length > 0) {
+          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
+        }
+        const stringToSign = [
+          request2.method.toUpperCase(),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LANGUAGE),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_ENCODING),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LENGTH),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_MD5),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_TYPE),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.DATE),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MODIFIED_SINCE),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MATCH),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_NONE_MATCH),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_UNMODIFIED_SINCE),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.RANGE)
+        ].join("\n") + "\n" + getCanonicalizedHeadersString(request2) + getCanonicalizedResourceString(request2);
+        const signature = (0, node_crypto_1.createHmac)("sha256", options.accountKey).update(stringToSign, "utf8").digest("base64");
+        request2.headers.set(constants_js_1.HeaderConstants.AUTHORIZATION, `SharedKey ${options.accountName}:${signature}`);
       }
-      FinalizeArtifact(request2) {
-        const data = artifact_1.FinalizeArtifactRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
-        });
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "FinalizeArtifact", "application/json", data);
-        return promise.then((data2) => artifact_1.FinalizeArtifactResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
+      function getHeaderValueToSign(request2, headerName) {
+        const value = request2.headers.get(headerName);
+        if (!value) {
+          return "";
+        }
+        if (headerName === constants_js_1.HeaderConstants.CONTENT_LENGTH && value === "0") {
+          return "";
+        }
+        return value;
       }
-      ListArtifacts(request2) {
-        const data = artifact_1.ListArtifactsRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
+      function getCanonicalizedHeadersString(request2) {
+        let headersArray = [];
+        for (const [name, value] of request2.headers) {
+          if (name.toLowerCase().startsWith(constants_js_1.HeaderConstants.PREFIX_FOR_STORAGE)) {
+            headersArray.push({ name, value });
+          }
+        }
+        headersArray.sort((a, b) => {
+          return (0, SharedKeyComparator_js_1.compareHeader)(a.name.toLowerCase(), b.name.toLowerCase());
         });
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "ListArtifacts", "application/json", data);
-        return promise.then((data2) => artifact_1.ListArtifactsResponse.fromJson(data2, { ignoreUnknownFields: true }));
-      }
-      GetSignedArtifactURL(request2) {
-        const data = artifact_1.GetSignedArtifactURLRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
+        headersArray = headersArray.filter((value, index, array) => {
+          if (index > 0 && value.name.toLowerCase() === array[index - 1].name.toLowerCase()) {
+            return false;
+          }
+          return true;
         });
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "GetSignedArtifactURL", "application/json", data);
-        return promise.then((data2) => artifact_1.GetSignedArtifactURLResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
-      }
-      DeleteArtifact(request2) {
-        const data = artifact_1.DeleteArtifactRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
+        let canonicalizedHeadersStringToSign = "";
+        headersArray.forEach((header) => {
+          canonicalizedHeadersStringToSign += `${header.name.toLowerCase().trimRight()}:${header.value.trimLeft()}
+`;
         });
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "DeleteArtifact", "application/json", data);
-        return promise.then((data2) => artifact_1.DeleteArtifactResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
-      }
-    };
-    exports2.ArtifactServiceClientJSON = ArtifactServiceClientJSON;
-    var ArtifactServiceClientProtobuf = class {
-      constructor(rpc) {
-        this.rpc = rpc;
-        this.CreateArtifact.bind(this);
-        this.FinalizeArtifact.bind(this);
-        this.ListArtifacts.bind(this);
-        this.GetSignedArtifactURL.bind(this);
-        this.DeleteArtifact.bind(this);
-      }
-      CreateArtifact(request2) {
-        const data = artifact_1.CreateArtifactRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "CreateArtifact", "application/protobuf", data);
-        return promise.then((data2) => artifact_1.CreateArtifactResponse.fromBinary(data2));
-      }
-      FinalizeArtifact(request2) {
-        const data = artifact_1.FinalizeArtifactRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "FinalizeArtifact", "application/protobuf", data);
-        return promise.then((data2) => artifact_1.FinalizeArtifactResponse.fromBinary(data2));
-      }
-      ListArtifacts(request2) {
-        const data = artifact_1.ListArtifactsRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "ListArtifacts", "application/protobuf", data);
-        return promise.then((data2) => artifact_1.ListArtifactsResponse.fromBinary(data2));
-      }
-      GetSignedArtifactURL(request2) {
-        const data = artifact_1.GetSignedArtifactURLRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "GetSignedArtifactURL", "application/protobuf", data);
-        return promise.then((data2) => artifact_1.GetSignedArtifactURLResponse.fromBinary(data2));
-      }
-      DeleteArtifact(request2) {
-        const data = artifact_1.DeleteArtifactRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "DeleteArtifact", "application/protobuf", data);
-        return promise.then((data2) => artifact_1.DeleteArtifactResponse.fromBinary(data2));
-      }
-    };
-    exports2.ArtifactServiceClientProtobuf = ArtifactServiceClientProtobuf;
-  }
-});
-
-// node_modules/@actions/artifact/lib/generated/index.js
-var require_generated = __commonJS({
-  "node_modules/@actions/artifact/lib/generated/index.js"(exports2) {
-    "use strict";
-    var __createBinding2 = 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 __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
-      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p);
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    __exportStar2(require_timestamp(), exports2);
-    __exportStar2(require_wrappers(), exports2);
-    __exportStar2(require_artifact(), exports2);
-    __exportStar2(require_artifact_twirp_client(), exports2);
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/upload/retention.js
-var require_retention = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/retention.js"(exports2) {
-    "use strict";
-    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
-      }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getExpiration = void 0;
-    var generated_1 = require_generated();
-    var core14 = __importStar2(require_core());
-    function getExpiration(retentionDays) {
-      if (!retentionDays) {
-        return void 0;
-      }
-      const maxRetentionDays = getRetentionDays();
-      if (maxRetentionDays && maxRetentionDays < retentionDays) {
-        core14.warning(`Retention days cannot be greater than the maximum allowed retention set within the repository. Using ${maxRetentionDays} instead.`);
-        retentionDays = maxRetentionDays;
-      }
-      const expirationDate = /* @__PURE__ */ new Date();
-      expirationDate.setDate(expirationDate.getDate() + retentionDays);
-      return generated_1.Timestamp.fromDate(expirationDate);
-    }
-    exports2.getExpiration = getExpiration;
-    function getRetentionDays() {
-      const retentionDays = process.env["GITHUB_RETENTION_DAYS"];
-      if (!retentionDays) {
-        return void 0;
+        return canonicalizedHeadersStringToSign;
       }
-      const days = parseInt(retentionDays);
-      if (isNaN(days)) {
-        return void 0;
+      function getCanonicalizedResourceString(request2) {
+        const path3 = (0, utils_common_js_1.getURLPath)(request2.url) || "/";
+        let canonicalizedResourceString = "";
+        canonicalizedResourceString += `/${options.accountName}${path3}`;
+        const queries = (0, utils_common_js_1.getURLQueries)(request2.url);
+        const lowercaseQueries = {};
+        if (queries) {
+          const queryKeys = [];
+          for (const key in queries) {
+            if (Object.prototype.hasOwnProperty.call(queries, key)) {
+              const lowercaseKey = key.toLowerCase();
+              lowercaseQueries[lowercaseKey] = queries[key];
+              queryKeys.push(lowercaseKey);
+            }
+          }
+          queryKeys.sort();
+          for (const key of queryKeys) {
+            canonicalizedResourceString += `
+${key}:${decodeURIComponent(lowercaseQueries[key])}`;
+          }
+        }
+        return canonicalizedResourceString;
       }
-      return days;
+      return {
+        name: exports2.storageSharedKeyCredentialPolicyName,
+        async sendRequest(request2, next) {
+          signRequest(request2);
+          return next(request2);
+        }
+      };
     }
   }
 });
 
-// node_modules/@actions/artifact/lib/internal/upload/path-and-artifact-name-validation.js
-var require_path_and_artifact_name_validation = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/path-and-artifact-name-validation.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageBrowserPolicy.js
+var require_StorageBrowserPolicy2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageBrowserPolicy.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.validateFilePath = exports2.validateArtifactName = void 0;
-    var core_1 = require_core();
-    var invalidArtifactFilePathCharacters = /* @__PURE__ */ new Map([
-      ['"', ' Double quote "'],
-      [":", " Colon :"],
-      ["<", " Less than <"],
-      [">", " Greater than >"],
-      ["|", " Vertical bar |"],
-      ["*", " Asterisk *"],
-      ["?", " Question mark ?"],
-      ["\r", " Carriage return \\r"],
-      ["\n", " Line feed \\n"]
-    ]);
-    var invalidArtifactNameCharacters = new Map([
-      ...invalidArtifactFilePathCharacters,
-      ["\\", " Backslash \\"],
-      ["/", " Forward slash /"]
-    ]);
-    function validateArtifactName(name) {
-      if (!name) {
-        throw new Error(`Provided artifact name input during validation is empty`);
+    exports2.StorageBrowserPolicy = void 0;
+    var RequestPolicy_js_1 = require_RequestPolicy();
+    var core_util_1 = require_commonjs6();
+    var constants_js_1 = require_constants14();
+    var utils_common_js_1 = require_utils_common();
+    var StorageBrowserPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
+      /**
+       * Creates an instance of StorageBrowserPolicy.
+       * @param nextPolicy -
+       * @param options -
+       */
+      // The base class has a protected constructor. Adding a public one to enable constructing of this class.
+      /* eslint-disable-next-line @typescript-eslint/no-useless-constructor*/
+      constructor(nextPolicy, options) {
+        super(nextPolicy, options);
       }
-      for (const [invalidCharacterKey, errorMessageForCharacter] of invalidArtifactNameCharacters) {
-        if (name.includes(invalidCharacterKey)) {
-          throw new Error(`The artifact name is not valid: ${name}. Contains the following character: ${errorMessageForCharacter}
-          
-Invalid characters include: ${Array.from(invalidArtifactNameCharacters.values()).toString()}
-          
-These characters are not allowed in the artifact name due to limitations with certain file systems such as NTFS. To maintain file system agnostic behavior, these characters are intentionally not allowed to prevent potential problems with downloads on different file systems.`);
+      /**
+       * Sends out request.
+       *
+       * @param request -
+       */
+      async sendRequest(request2) {
+        if (core_util_1.isNodeLike) {
+          return this._nextPolicy.sendRequest(request2);
         }
-      }
-      (0, core_1.info)(`Artifact name is valid!`);
-    }
-    exports2.validateArtifactName = validateArtifactName;
-    function validateFilePath(path3) {
-      if (!path3) {
-        throw new Error(`Provided file path input during validation is empty`);
-      }
-      for (const [invalidCharacterKey, errorMessageForCharacter] of invalidArtifactFilePathCharacters) {
-        if (path3.includes(invalidCharacterKey)) {
-          throw new Error(`The path for one of the files in artifact is not valid: ${path3}. Contains the following character: ${errorMessageForCharacter}
-          
-Invalid characters include: ${Array.from(invalidArtifactFilePathCharacters.values()).toString()}
-          
-The following characters are not allowed in files that are uploaded due to limitations with certain file systems such as NTFS. To maintain file system agnostic behavior, these characters are intentionally not allowed to prevent potential problems with downloads on different file systems.
-          `);
+        if (request2.method.toUpperCase() === "GET" || request2.method.toUpperCase() === "HEAD") {
+          request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.FORCE_BROWSER_NO_CACHE, (/* @__PURE__ */ new Date()).getTime().toString());
         }
+        request2.headers.remove(constants_js_1.HeaderConstants.COOKIE);
+        request2.headers.remove(constants_js_1.HeaderConstants.CONTENT_LENGTH);
+        return this._nextPolicy.sendRequest(request2);
       }
-    }
-    exports2.validateFilePath = validateFilePath;
+    };
+    exports2.StorageBrowserPolicy = StorageBrowserPolicy;
   }
 });
 
-// node_modules/@actions/artifact/package.json
-var require_package2 = __commonJS({
-  "node_modules/@actions/artifact/package.json"(exports2, module2) {
-    module2.exports = {
-      name: "@actions/artifact",
-      version: "5.0.3",
-      preview: true,
-      description: "Actions artifact lib",
-      keywords: [
-        "github",
-        "actions",
-        "artifact"
-      ],
-      homepage: "https://github.com/actions/toolkit/tree/main/packages/artifact",
-      license: "MIT",
-      main: "lib/artifact.js",
-      types: "lib/artifact.d.ts",
-      directories: {
-        lib: "lib",
-        test: "__tests__"
-      },
-      files: [
-        "lib",
-        "!.DS_Store"
-      ],
-      publishConfig: {
-        access: "public"
-      },
-      repository: {
-        type: "git",
-        url: "git+https://github.com/actions/toolkit.git",
-        directory: "packages/artifact"
-      },
-      scripts: {
-        "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json",
-        test: "cd ../../ && npm run test ./packages/artifact",
-        bootstrap: "cd ../../ && npm run bootstrap",
-        "tsc-run": "tsc",
-        tsc: "npm run bootstrap && npm run tsc-run",
-        "gen:docs": "typedoc --plugin typedoc-plugin-markdown --out docs/generated src/artifact.ts --githubPages false --readme none"
-      },
-      bugs: {
-        url: "https://github.com/actions/toolkit/issues"
-      },
-      dependencies: {
-        "@actions/core": "^2.0.0",
-        "@actions/github": "^6.0.1",
-        "@actions/http-client": "^3.0.2",
-        "@azure/storage-blob": "^12.29.1",
-        "@octokit/core": "^5.2.1",
-        "@octokit/plugin-request-log": "^1.0.4",
-        "@octokit/plugin-retry": "^3.0.9",
-        "@octokit/request": "^8.4.1",
-        "@octokit/request-error": "^5.1.1",
-        "@protobuf-ts/plugin": "^2.2.3-alpha.1",
-        archiver: "^7.0.1",
-        "jwt-decode": "^3.1.2",
-        "unzip-stream": "^0.3.1"
-      },
-      devDependencies: {
-        "@types/archiver": "^5.3.2",
-        "@types/unzip-stream": "^0.3.4",
-        typedoc: "^0.28.13",
-        "typedoc-plugin-markdown": "^3.17.1",
-        typescript: "^5.2.2"
-      },
-      overrides: {
-        "uri-js": "npm:uri-js-replace@^1.0.1",
-        "node-fetch": "^3.3.2"
+// node_modules/@azure/storage-blob/dist/commonjs/StorageBrowserPolicyFactory.js
+var require_StorageBrowserPolicyFactory2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/StorageBrowserPolicyFactory.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageBrowserPolicyFactory = exports2.StorageBrowserPolicy = void 0;
+    var StorageBrowserPolicy_js_1 = require_StorageBrowserPolicy2();
+    Object.defineProperty(exports2, "StorageBrowserPolicy", { enumerable: true, get: function() {
+      return StorageBrowserPolicy_js_1.StorageBrowserPolicy;
+    } });
+    var StorageBrowserPolicyFactory = class {
+      /**
+       * Creates a StorageBrowserPolicyFactory object.
+       *
+       * @param nextPolicy -
+       * @param options -
+       */
+      create(nextPolicy, options) {
+        return new StorageBrowserPolicy_js_1.StorageBrowserPolicy(nextPolicy, options);
       }
     };
+    exports2.StorageBrowserPolicyFactory = StorageBrowserPolicyFactory;
   }
 });
 
-// node_modules/@actions/artifact/lib/internal/shared/user-agent.js
-var require_user_agent = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/shared/user-agent.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageCorrectContentLengthPolicy.js
+var require_StorageCorrectContentLengthPolicy2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageCorrectContentLengthPolicy.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getUserAgentString = void 0;
-    var packageJson = require_package2();
-    function getUserAgentString() {
-      return `@actions/artifact-${packageJson.version}`;
+    exports2.storageCorrectContentLengthPolicyName = void 0;
+    exports2.storageCorrectContentLengthPolicy = storageCorrectContentLengthPolicy;
+    var constants_js_1 = require_constants14();
+    exports2.storageCorrectContentLengthPolicyName = "StorageCorrectContentLengthPolicy";
+    function storageCorrectContentLengthPolicy() {
+      function correctContentLength(request2) {
+        if (request2.body && (typeof request2.body === "string" || Buffer.isBuffer(request2.body)) && request2.body.length > 0) {
+          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
+        }
+      }
+      return {
+        name: exports2.storageCorrectContentLengthPolicyName,
+        async sendRequest(request2, next) {
+          correctContentLength(request2);
+          return next(request2);
+        }
+      };
     }
-    exports2.getUserAgentString = getUserAgentString;
   }
 });
 
-// node_modules/@actions/artifact/lib/internal/shared/errors.js
-var require_errors3 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/shared/errors.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/Pipeline.js
+var require_Pipeline = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/Pipeline.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.UsageError = exports2.NetworkError = exports2.GHESNotSupportedError = exports2.ArtifactNotFoundError = exports2.InvalidResponseError = exports2.FilesNotFoundError = void 0;
-    var FilesNotFoundError = class extends Error {
-      constructor(files = []) {
-        let message = "No files were found to upload";
-        if (files.length > 0) {
-          message += `: ${files.join(", ")}`;
-        }
-        super(message);
-        this.files = files;
-        this.name = "FilesNotFoundError";
+    exports2.Pipeline = exports2.StorageOAuthScopes = void 0;
+    exports2.isPipelineLike = isPipelineLike;
+    exports2.newPipeline = newPipeline;
+    exports2.getCoreClientOptions = getCoreClientOptions;
+    exports2.getCredentialFromPipeline = getCredentialFromPipeline;
+    var core_http_compat_1 = require_commonjs11();
+    var core_rest_pipeline_1 = require_commonjs8();
+    var core_client_1 = require_commonjs10();
+    var core_xml_1 = require_commonjs12();
+    var core_auth_1 = require_commonjs9();
+    var log_js_1 = require_log5();
+    var StorageRetryPolicyFactory_js_1 = require_StorageRetryPolicyFactory();
+    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
+    var AnonymousCredential_js_1 = require_AnonymousCredential();
+    var constants_js_1 = require_constants14();
+    Object.defineProperty(exports2, "StorageOAuthScopes", { enumerable: true, get: function() {
+      return constants_js_1.StorageOAuthScopes;
+    } });
+    var storage_common_1 = require_commonjs15();
+    var StorageBrowserPolicyV2_js_1 = require_StorageBrowserPolicyV22();
+    var StorageRetryPolicyV2_js_1 = require_StorageRetryPolicyV22();
+    var StorageSharedKeyCredentialPolicyV2_js_1 = require_StorageSharedKeyCredentialPolicyV22();
+    var StorageBrowserPolicyFactory_js_1 = require_StorageBrowserPolicyFactory2();
+    var StorageCorrectContentLengthPolicy_js_1 = require_StorageCorrectContentLengthPolicy2();
+    function isPipelineLike(pipeline) {
+      if (!pipeline || typeof pipeline !== "object") {
+        return false;
       }
-    };
-    exports2.FilesNotFoundError = FilesNotFoundError;
-    var InvalidResponseError = class extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "InvalidResponseError";
+      const castPipeline = pipeline;
+      return Array.isArray(castPipeline.factories) && typeof castPipeline.options === "object" && typeof castPipeline.toServiceClientOptions === "function";
+    }
+    var Pipeline = class {
+      /**
+       * A list of chained request policy factories.
+       */
+      factories;
+      /**
+       * Configures pipeline logger and HTTP client.
+       */
+      options;
+      /**
+       * Creates an instance of Pipeline. Customize HTTPClient by implementing IHttpClient interface.
+       *
+       * @param factories -
+       * @param options -
+       */
+      constructor(factories, options = {}) {
+        this.factories = factories;
+        this.options = options;
       }
-    };
-    exports2.InvalidResponseError = InvalidResponseError;
-    var ArtifactNotFoundError = class extends Error {
-      constructor(message = "Artifact not found") {
-        super(message);
-        this.name = "ArtifactNotFoundError";
+      /**
+       * Transfer Pipeline object to ServiceClientOptions object which is required by
+       * ServiceClient constructor.
+       *
+       * @returns The ServiceClientOptions object from this Pipeline.
+       */
+      toServiceClientOptions() {
+        return {
+          httpClient: this.options.httpClient,
+          requestPolicyFactories: this.factories
+        };
       }
     };
-    exports2.ArtifactNotFoundError = ArtifactNotFoundError;
-    var GHESNotSupportedError = class extends Error {
-      constructor(message = "@actions/artifact v2.0.0+, upload-artifact@v4+ and download-artifact@v4+ are not currently supported on GHES.") {
-        super(message);
-        this.name = "GHESNotSupportedError";
+    exports2.Pipeline = Pipeline;
+    function newPipeline(credential, pipelineOptions = {}) {
+      if (!credential) {
+        credential = new AnonymousCredential_js_1.AnonymousCredential();
       }
-    };
-    exports2.GHESNotSupportedError = GHESNotSupportedError;
-    var NetworkError = class extends Error {
-      constructor(code) {
-        const message = `Unable to make request: ${code}
-If you are using self-hosted runners, please make sure your runner has access to all GitHub endpoints: https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#communication-between-self-hosted-runners-and-github`;
-        super(message);
-        this.code = code;
-        this.name = "NetworkError";
+      const pipeline = new Pipeline([], pipelineOptions);
+      pipeline._credential = credential;
+      return pipeline;
+    }
+    function processDownlevelPipeline(pipeline) {
+      const knownFactoryFunctions = [
+        isAnonymousCredential,
+        isStorageSharedKeyCredential,
+        isCoreHttpBearerTokenFactory,
+        isStorageBrowserPolicyFactory,
+        isStorageRetryPolicyFactory,
+        isStorageTelemetryPolicyFactory,
+        isCoreHttpPolicyFactory
+      ];
+      if (pipeline.factories.length) {
+        const novelFactories = pipeline.factories.filter((factory) => {
+          return !knownFactoryFunctions.some((knownFactory) => knownFactory(factory));
+        });
+        if (novelFactories.length) {
+          const hasInjector = novelFactories.some((factory) => isInjectorPolicyFactory(factory));
+          return {
+            wrappedPolicies: (0, core_http_compat_1.createRequestPolicyFactoryPolicy)(novelFactories),
+            afterRetry: hasInjector
+          };
+        }
       }
-    };
-    exports2.NetworkError = NetworkError;
-    NetworkError.isNetworkErrorCode = (code) => {
-      if (!code)
-        return false;
-      return [
-        "ECONNRESET",
-        "ENOTFOUND",
-        "ETIMEDOUT",
-        "ECONNREFUSED",
-        "EHOSTUNREACH"
-      ].includes(code);
-    };
-    var UsageError = class extends Error {
-      constructor() {
-        const message = `Artifact storage quota has been hit. Unable to upload any new artifacts. Usage is recalculated every 6-12 hours.
-More info on storage limits: https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#calculating-minute-and-storage-spending`;
-        super(message);
-        this.name = "UsageError";
+      return void 0;
+    }
+    function getCoreClientOptions(pipeline) {
+      const { httpClient: v1Client, ...restOptions } = pipeline.options;
+      let httpClient = pipeline._coreHttpClient;
+      if (!httpClient) {
+        httpClient = v1Client ? (0, core_http_compat_1.convertHttpClient)(v1Client) : (0, storage_common_1.getCachedDefaultHttpClient)();
+        pipeline._coreHttpClient = httpClient;
       }
-    };
-    exports2.UsageError = UsageError;
-    UsageError.isUsageErrorMessage = (msg) => {
-      if (!msg)
-        return false;
-      return msg.includes("insufficient usage");
-    };
-  }
-});
-
-// node_modules/jwt-decode/build/jwt-decode.cjs.js
-var require_jwt_decode_cjs = __commonJS({
-  "node_modules/jwt-decode/build/jwt-decode.cjs.js"(exports2, module2) {
-    "use strict";
-    function e(e2) {
-      this.message = e2;
+      let corePipeline = pipeline._corePipeline;
+      if (!corePipeline) {
+        const packageDetails = `azsdk-js-azure-storage-blob/${constants_js_1.SDK_VERSION}`;
+        const userAgentPrefix = restOptions.userAgentOptions && restOptions.userAgentOptions.userAgentPrefix ? `${restOptions.userAgentOptions.userAgentPrefix} ${packageDetails}` : `${packageDetails}`;
+        corePipeline = (0, core_client_1.createClientPipeline)({
+          ...restOptions,
+          loggingOptions: {
+            additionalAllowedHeaderNames: constants_js_1.StorageBlobLoggingAllowedHeaderNames,
+            additionalAllowedQueryParameters: constants_js_1.StorageBlobLoggingAllowedQueryParameters,
+            logger: log_js_1.logger.info
+          },
+          userAgentOptions: {
+            userAgentPrefix
+          },
+          serializationOptions: {
+            stringifyXML: core_xml_1.stringifyXML,
+            serializerOptions: {
+              xml: {
+                // Use customized XML char key of "#" so we can deserialize metadata
+                // with "_" key
+                xmlCharKey: "#"
+              }
+            }
+          },
+          deserializationOptions: {
+            parseXML: core_xml_1.parseXML,
+            serializerOptions: {
+              xml: {
+                // Use customized XML char key of "#" so we can deserialize metadata
+                // with "_" key
+                xmlCharKey: "#"
+              }
+            }
+          }
+        });
+        corePipeline.removePolicy({ phase: "Retry" });
+        corePipeline.removePolicy({ name: core_rest_pipeline_1.decompressResponsePolicyName });
+        corePipeline.addPolicy((0, StorageCorrectContentLengthPolicy_js_1.storageCorrectContentLengthPolicy)());
+        corePipeline.addPolicy((0, StorageRetryPolicyV2_js_1.storageRetryPolicy)(restOptions.retryOptions), { phase: "Retry" });
+        corePipeline.addPolicy((0, storage_common_1.storageRequestFailureDetailsParserPolicy)());
+        corePipeline.addPolicy((0, StorageBrowserPolicyV2_js_1.storageBrowserPolicy)());
+        const downlevelResults = processDownlevelPipeline(pipeline);
+        if (downlevelResults) {
+          corePipeline.addPolicy(downlevelResults.wrappedPolicies, downlevelResults.afterRetry ? { afterPhase: "Retry" } : void 0);
+        }
+        const credential = getCredentialFromPipeline(pipeline);
+        if ((0, core_auth_1.isTokenCredential)(credential)) {
+          corePipeline.addPolicy((0, core_rest_pipeline_1.bearerTokenAuthenticationPolicy)({
+            credential,
+            scopes: restOptions.audience ?? constants_js_1.StorageOAuthScopes,
+            challengeCallbacks: { authorizeRequestOnChallenge: core_client_1.authorizeRequestOnTenantChallenge }
+          }), { phase: "Sign" });
+        } else if (credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential) {
+          corePipeline.addPolicy((0, StorageSharedKeyCredentialPolicyV2_js_1.storageSharedKeyCredentialPolicy)({
+            accountName: credential.accountName,
+            accountKey: credential.accountKey
+          }), { phase: "Sign" });
+        }
+        pipeline._corePipeline = corePipeline;
+      }
+      return {
+        ...restOptions,
+        allowInsecureConnection: true,
+        httpClient,
+        pipeline: corePipeline
+      };
     }
-    e.prototype = new Error(), e.prototype.name = "InvalidCharacterError";
-    var r = "undefined" != typeof window && window.atob && window.atob.bind(window) || function(r2) {
-      var t2 = String(r2).replace(/=+$/, "");
-      if (t2.length % 4 == 1) throw new e("'atob' failed: The string to be decoded is not correctly encoded.");
-      for (var n2, o2, a2 = 0, i = 0, c = ""; o2 = t2.charAt(i++); ~o2 && (n2 = a2 % 4 ? 64 * n2 + o2 : o2, a2++ % 4) ? c += String.fromCharCode(255 & n2 >> (-2 * a2 & 6)) : 0) o2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(o2);
-      return c;
-    };
-    function t(e2) {
-      var t2 = e2.replace(/-/g, "+").replace(/_/g, "/");
-      switch (t2.length % 4) {
-        case 0:
-          break;
-        case 2:
-          t2 += "==";
-          break;
-        case 3:
-          t2 += "=";
-          break;
-        default:
-          throw "Illegal base64url string!";
+    function getCredentialFromPipeline(pipeline) {
+      if (pipeline._credential) {
+        return pipeline._credential;
       }
-      try {
-        return (function(e3) {
-          return decodeURIComponent(r(e3).replace(/(.)/g, (function(e4, r2) {
-            var t3 = r2.charCodeAt(0).toString(16).toUpperCase();
-            return t3.length < 2 && (t3 = "0" + t3), "%" + t3;
-          })));
-        })(t2);
-      } catch (e3) {
-        return r(t2);
+      let credential = new AnonymousCredential_js_1.AnonymousCredential();
+      for (const factory of pipeline.factories) {
+        if ((0, core_auth_1.isTokenCredential)(factory.credential)) {
+          credential = factory.credential;
+        } else if (isStorageSharedKeyCredential(factory)) {
+          return factory;
+        }
       }
+      return credential;
     }
-    function n(e2) {
-      this.message = e2;
+    function isStorageSharedKeyCredential(factory) {
+      if (factory instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential) {
+        return true;
+      }
+      return factory.constructor.name === "StorageSharedKeyCredential";
     }
-    function o(e2, r2) {
-      if ("string" != typeof e2) throw new n("Invalid token specified");
-      var o2 = true === (r2 = r2 || {}).header ? 0 : 1;
-      try {
-        return JSON.parse(t(e2.split(".")[o2]));
-      } catch (e3) {
-        throw new n("Invalid token specified: " + e3.message);
+    function isAnonymousCredential(factory) {
+      if (factory instanceof AnonymousCredential_js_1.AnonymousCredential) {
+        return true;
       }
+      return factory.constructor.name === "AnonymousCredential";
     }
-    n.prototype = new Error(), n.prototype.name = "InvalidTokenError";
-    var a = o;
-    a.default = o, a.InvalidTokenError = n, module2.exports = a;
+    function isCoreHttpBearerTokenFactory(factory) {
+      return (0, core_auth_1.isTokenCredential)(factory.credential);
+    }
+    function isStorageBrowserPolicyFactory(factory) {
+      if (factory instanceof StorageBrowserPolicyFactory_js_1.StorageBrowserPolicyFactory) {
+        return true;
+      }
+      return factory.constructor.name === "StorageBrowserPolicyFactory";
+    }
+    function isStorageRetryPolicyFactory(factory) {
+      if (factory instanceof StorageRetryPolicyFactory_js_1.StorageRetryPolicyFactory) {
+        return true;
+      }
+      return factory.constructor.name === "StorageRetryPolicyFactory";
+    }
+    function isStorageTelemetryPolicyFactory(factory) {
+      return factory.constructor.name === "TelemetryPolicyFactory";
+    }
+    function isInjectorPolicyFactory(factory) {
+      return factory.constructor.name === "InjectorPolicyFactory";
+    }
+    function isCoreHttpPolicyFactory(factory) {
+      const knownPolicies = [
+        "GenerateClientRequestIdPolicy",
+        "TracingPolicy",
+        "LogPolicy",
+        "ProxyPolicy",
+        "DisableResponseDecompressionPolicy",
+        "KeepAlivePolicy",
+        "DeserializationPolicy"
+      ];
+      const mockHttpClient = {
+        sendRequest: async (request2) => {
+          return {
+            request: request2,
+            headers: request2.headers.clone(),
+            status: 500
+          };
+        }
+      };
+      const mockRequestPolicyOptions = {
+        log(_logLevel, _message) {
+        },
+        shouldLog(_logLevel) {
+          return false;
+        }
+      };
+      const policyInstance = factory.create(mockHttpClient, mockRequestPolicyOptions);
+      const policyName = policyInstance.constructor.name;
+      return knownPolicies.some((knownPolicyName) => {
+        return policyName.startsWith(knownPolicyName);
+      });
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/index.js
+var require_models = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.KnownStorageErrorCode = exports2.KnownBlobExpiryOptions = exports2.KnownFileShareTokenIntent = exports2.KnownEncryptionAlgorithmType = void 0;
+    var KnownEncryptionAlgorithmType;
+    (function(KnownEncryptionAlgorithmType2) {
+      KnownEncryptionAlgorithmType2["AES256"] = "AES256";
+    })(KnownEncryptionAlgorithmType || (exports2.KnownEncryptionAlgorithmType = KnownEncryptionAlgorithmType = {}));
+    var KnownFileShareTokenIntent;
+    (function(KnownFileShareTokenIntent2) {
+      KnownFileShareTokenIntent2["Backup"] = "backup";
+    })(KnownFileShareTokenIntent || (exports2.KnownFileShareTokenIntent = KnownFileShareTokenIntent = {}));
+    var KnownBlobExpiryOptions;
+    (function(KnownBlobExpiryOptions2) {
+      KnownBlobExpiryOptions2["NeverExpire"] = "NeverExpire";
+      KnownBlobExpiryOptions2["RelativeToCreation"] = "RelativeToCreation";
+      KnownBlobExpiryOptions2["RelativeToNow"] = "RelativeToNow";
+      KnownBlobExpiryOptions2["Absolute"] = "Absolute";
+    })(KnownBlobExpiryOptions || (exports2.KnownBlobExpiryOptions = KnownBlobExpiryOptions = {}));
+    var KnownStorageErrorCode;
+    (function(KnownStorageErrorCode2) {
+      KnownStorageErrorCode2["AccountAlreadyExists"] = "AccountAlreadyExists";
+      KnownStorageErrorCode2["AccountBeingCreated"] = "AccountBeingCreated";
+      KnownStorageErrorCode2["AccountIsDisabled"] = "AccountIsDisabled";
+      KnownStorageErrorCode2["AuthenticationFailed"] = "AuthenticationFailed";
+      KnownStorageErrorCode2["AuthorizationFailure"] = "AuthorizationFailure";
+      KnownStorageErrorCode2["ConditionHeadersNotSupported"] = "ConditionHeadersNotSupported";
+      KnownStorageErrorCode2["ConditionNotMet"] = "ConditionNotMet";
+      KnownStorageErrorCode2["EmptyMetadataKey"] = "EmptyMetadataKey";
+      KnownStorageErrorCode2["InsufficientAccountPermissions"] = "InsufficientAccountPermissions";
+      KnownStorageErrorCode2["InternalError"] = "InternalError";
+      KnownStorageErrorCode2["InvalidAuthenticationInfo"] = "InvalidAuthenticationInfo";
+      KnownStorageErrorCode2["InvalidHeaderValue"] = "InvalidHeaderValue";
+      KnownStorageErrorCode2["InvalidHttpVerb"] = "InvalidHttpVerb";
+      KnownStorageErrorCode2["InvalidInput"] = "InvalidInput";
+      KnownStorageErrorCode2["InvalidMd5"] = "InvalidMd5";
+      KnownStorageErrorCode2["InvalidMetadata"] = "InvalidMetadata";
+      KnownStorageErrorCode2["InvalidQueryParameterValue"] = "InvalidQueryParameterValue";
+      KnownStorageErrorCode2["InvalidRange"] = "InvalidRange";
+      KnownStorageErrorCode2["InvalidResourceName"] = "InvalidResourceName";
+      KnownStorageErrorCode2["InvalidUri"] = "InvalidUri";
+      KnownStorageErrorCode2["InvalidXmlDocument"] = "InvalidXmlDocument";
+      KnownStorageErrorCode2["InvalidXmlNodeValue"] = "InvalidXmlNodeValue";
+      KnownStorageErrorCode2["Md5Mismatch"] = "Md5Mismatch";
+      KnownStorageErrorCode2["MetadataTooLarge"] = "MetadataTooLarge";
+      KnownStorageErrorCode2["MissingContentLengthHeader"] = "MissingContentLengthHeader";
+      KnownStorageErrorCode2["MissingRequiredQueryParameter"] = "MissingRequiredQueryParameter";
+      KnownStorageErrorCode2["MissingRequiredHeader"] = "MissingRequiredHeader";
+      KnownStorageErrorCode2["MissingRequiredXmlNode"] = "MissingRequiredXmlNode";
+      KnownStorageErrorCode2["MultipleConditionHeadersNotSupported"] = "MultipleConditionHeadersNotSupported";
+      KnownStorageErrorCode2["OperationTimedOut"] = "OperationTimedOut";
+      KnownStorageErrorCode2["OutOfRangeInput"] = "OutOfRangeInput";
+      KnownStorageErrorCode2["OutOfRangeQueryParameterValue"] = "OutOfRangeQueryParameterValue";
+      KnownStorageErrorCode2["RequestBodyTooLarge"] = "RequestBodyTooLarge";
+      KnownStorageErrorCode2["ResourceTypeMismatch"] = "ResourceTypeMismatch";
+      KnownStorageErrorCode2["RequestUrlFailedToParse"] = "RequestUrlFailedToParse";
+      KnownStorageErrorCode2["ResourceAlreadyExists"] = "ResourceAlreadyExists";
+      KnownStorageErrorCode2["ResourceNotFound"] = "ResourceNotFound";
+      KnownStorageErrorCode2["ServerBusy"] = "ServerBusy";
+      KnownStorageErrorCode2["UnsupportedHeader"] = "UnsupportedHeader";
+      KnownStorageErrorCode2["UnsupportedXmlNode"] = "UnsupportedXmlNode";
+      KnownStorageErrorCode2["UnsupportedQueryParameter"] = "UnsupportedQueryParameter";
+      KnownStorageErrorCode2["UnsupportedHttpVerb"] = "UnsupportedHttpVerb";
+      KnownStorageErrorCode2["AppendPositionConditionNotMet"] = "AppendPositionConditionNotMet";
+      KnownStorageErrorCode2["BlobAlreadyExists"] = "BlobAlreadyExists";
+      KnownStorageErrorCode2["BlobImmutableDueToPolicy"] = "BlobImmutableDueToPolicy";
+      KnownStorageErrorCode2["BlobNotFound"] = "BlobNotFound";
+      KnownStorageErrorCode2["BlobOverwritten"] = "BlobOverwritten";
+      KnownStorageErrorCode2["BlobTierInadequateForContentLength"] = "BlobTierInadequateForContentLength";
+      KnownStorageErrorCode2["BlobUsesCustomerSpecifiedEncryption"] = "BlobUsesCustomerSpecifiedEncryption";
+      KnownStorageErrorCode2["BlockCountExceedsLimit"] = "BlockCountExceedsLimit";
+      KnownStorageErrorCode2["BlockListTooLong"] = "BlockListTooLong";
+      KnownStorageErrorCode2["CannotChangeToLowerTier"] = "CannotChangeToLowerTier";
+      KnownStorageErrorCode2["CannotVerifyCopySource"] = "CannotVerifyCopySource";
+      KnownStorageErrorCode2["ContainerAlreadyExists"] = "ContainerAlreadyExists";
+      KnownStorageErrorCode2["ContainerBeingDeleted"] = "ContainerBeingDeleted";
+      KnownStorageErrorCode2["ContainerDisabled"] = "ContainerDisabled";
+      KnownStorageErrorCode2["ContainerNotFound"] = "ContainerNotFound";
+      KnownStorageErrorCode2["ContentLengthLargerThanTierLimit"] = "ContentLengthLargerThanTierLimit";
+      KnownStorageErrorCode2["CopyAcrossAccountsNotSupported"] = "CopyAcrossAccountsNotSupported";
+      KnownStorageErrorCode2["CopyIdMismatch"] = "CopyIdMismatch";
+      KnownStorageErrorCode2["FeatureVersionMismatch"] = "FeatureVersionMismatch";
+      KnownStorageErrorCode2["IncrementalCopyBlobMismatch"] = "IncrementalCopyBlobMismatch";
+      KnownStorageErrorCode2["IncrementalCopyOfEarlierVersionSnapshotNotAllowed"] = "IncrementalCopyOfEarlierVersionSnapshotNotAllowed";
+      KnownStorageErrorCode2["IncrementalCopySourceMustBeSnapshot"] = "IncrementalCopySourceMustBeSnapshot";
+      KnownStorageErrorCode2["InfiniteLeaseDurationRequired"] = "InfiniteLeaseDurationRequired";
+      KnownStorageErrorCode2["InvalidBlobOrBlock"] = "InvalidBlobOrBlock";
+      KnownStorageErrorCode2["InvalidBlobTier"] = "InvalidBlobTier";
+      KnownStorageErrorCode2["InvalidBlobType"] = "InvalidBlobType";
+      KnownStorageErrorCode2["InvalidBlockId"] = "InvalidBlockId";
+      KnownStorageErrorCode2["InvalidBlockList"] = "InvalidBlockList";
+      KnownStorageErrorCode2["InvalidOperation"] = "InvalidOperation";
+      KnownStorageErrorCode2["InvalidPageRange"] = "InvalidPageRange";
+      KnownStorageErrorCode2["InvalidSourceBlobType"] = "InvalidSourceBlobType";
+      KnownStorageErrorCode2["InvalidSourceBlobUrl"] = "InvalidSourceBlobUrl";
+      KnownStorageErrorCode2["InvalidVersionForPageBlobOperation"] = "InvalidVersionForPageBlobOperation";
+      KnownStorageErrorCode2["LeaseAlreadyPresent"] = "LeaseAlreadyPresent";
+      KnownStorageErrorCode2["LeaseAlreadyBroken"] = "LeaseAlreadyBroken";
+      KnownStorageErrorCode2["LeaseIdMismatchWithBlobOperation"] = "LeaseIdMismatchWithBlobOperation";
+      KnownStorageErrorCode2["LeaseIdMismatchWithContainerOperation"] = "LeaseIdMismatchWithContainerOperation";
+      KnownStorageErrorCode2["LeaseIdMismatchWithLeaseOperation"] = "LeaseIdMismatchWithLeaseOperation";
+      KnownStorageErrorCode2["LeaseIdMissing"] = "LeaseIdMissing";
+      KnownStorageErrorCode2["LeaseIsBreakingAndCannotBeAcquired"] = "LeaseIsBreakingAndCannotBeAcquired";
+      KnownStorageErrorCode2["LeaseIsBreakingAndCannotBeChanged"] = "LeaseIsBreakingAndCannotBeChanged";
+      KnownStorageErrorCode2["LeaseIsBrokenAndCannotBeRenewed"] = "LeaseIsBrokenAndCannotBeRenewed";
+      KnownStorageErrorCode2["LeaseLost"] = "LeaseLost";
+      KnownStorageErrorCode2["LeaseNotPresentWithBlobOperation"] = "LeaseNotPresentWithBlobOperation";
+      KnownStorageErrorCode2["LeaseNotPresentWithContainerOperation"] = "LeaseNotPresentWithContainerOperation";
+      KnownStorageErrorCode2["LeaseNotPresentWithLeaseOperation"] = "LeaseNotPresentWithLeaseOperation";
+      KnownStorageErrorCode2["MaxBlobSizeConditionNotMet"] = "MaxBlobSizeConditionNotMet";
+      KnownStorageErrorCode2["NoAuthenticationInformation"] = "NoAuthenticationInformation";
+      KnownStorageErrorCode2["NoPendingCopyOperation"] = "NoPendingCopyOperation";
+      KnownStorageErrorCode2["OperationNotAllowedOnIncrementalCopyBlob"] = "OperationNotAllowedOnIncrementalCopyBlob";
+      KnownStorageErrorCode2["PendingCopyOperation"] = "PendingCopyOperation";
+      KnownStorageErrorCode2["PreviousSnapshotCannotBeNewer"] = "PreviousSnapshotCannotBeNewer";
+      KnownStorageErrorCode2["PreviousSnapshotNotFound"] = "PreviousSnapshotNotFound";
+      KnownStorageErrorCode2["PreviousSnapshotOperationNotSupported"] = "PreviousSnapshotOperationNotSupported";
+      KnownStorageErrorCode2["SequenceNumberConditionNotMet"] = "SequenceNumberConditionNotMet";
+      KnownStorageErrorCode2["SequenceNumberIncrementTooLarge"] = "SequenceNumberIncrementTooLarge";
+      KnownStorageErrorCode2["SnapshotCountExceeded"] = "SnapshotCountExceeded";
+      KnownStorageErrorCode2["SnapshotOperationRateExceeded"] = "SnapshotOperationRateExceeded";
+      KnownStorageErrorCode2["SnapshotsPresent"] = "SnapshotsPresent";
+      KnownStorageErrorCode2["SourceConditionNotMet"] = "SourceConditionNotMet";
+      KnownStorageErrorCode2["SystemInUse"] = "SystemInUse";
+      KnownStorageErrorCode2["TargetConditionNotMet"] = "TargetConditionNotMet";
+      KnownStorageErrorCode2["UnauthorizedBlobOverwrite"] = "UnauthorizedBlobOverwrite";
+      KnownStorageErrorCode2["BlobBeingRehydrated"] = "BlobBeingRehydrated";
+      KnownStorageErrorCode2["BlobArchived"] = "BlobArchived";
+      KnownStorageErrorCode2["BlobNotArchived"] = "BlobNotArchived";
+      KnownStorageErrorCode2["AuthorizationSourceIPMismatch"] = "AuthorizationSourceIPMismatch";
+      KnownStorageErrorCode2["AuthorizationProtocolMismatch"] = "AuthorizationProtocolMismatch";
+      KnownStorageErrorCode2["AuthorizationPermissionMismatch"] = "AuthorizationPermissionMismatch";
+      KnownStorageErrorCode2["AuthorizationServiceMismatch"] = "AuthorizationServiceMismatch";
+      KnownStorageErrorCode2["AuthorizationResourceTypeMismatch"] = "AuthorizationResourceTypeMismatch";
+      KnownStorageErrorCode2["BlobAccessTierNotSupportedForAccountType"] = "BlobAccessTierNotSupportedForAccountType";
+    })(KnownStorageErrorCode || (exports2.KnownStorageErrorCode = KnownStorageErrorCode = {}));
   }
 });
 
-// node_modules/@actions/artifact/lib/internal/shared/util.js
-var require_util16 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/shared/util.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/mappers.js
+var require_mappers = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/mappers.js"(exports2) {
     "use strict";
-    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
-      }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
-    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.maskSecretUrls = exports2.maskSigUrl = exports2.getBackendIdsFromToken = void 0;
-    var core14 = __importStar2(require_core());
-    var config_1 = require_config();
-    var jwt_decode_1 = __importDefault2(require_jwt_decode_cjs());
-    var core_1 = require_core();
-    var InvalidJwtError = new Error("Failed to get backend IDs: The provided JWT token is invalid and/or missing claims");
-    function getBackendIdsFromToken() {
-      const token = (0, config_1.getRuntimeToken)();
-      const decoded = (0, jwt_decode_1.default)(token);
-      if (!decoded.scp) {
-        throw InvalidJwtError;
-      }
-      const scpParts = decoded.scp.split(" ");
-      if (scpParts.length === 0) {
-        throw InvalidJwtError;
-      }
-      for (const scopes of scpParts) {
-        const scopeParts = scopes.split(":");
-        if ((scopeParts === null || scopeParts === void 0 ? void 0 : scopeParts[0]) !== "Actions.Results") {
-          continue;
+    exports2.ServiceGetUserDelegationKeyHeaders = exports2.ServiceListContainersSegmentExceptionHeaders = exports2.ServiceListContainersSegmentHeaders = exports2.ServiceGetStatisticsExceptionHeaders = exports2.ServiceGetStatisticsHeaders = exports2.ServiceGetPropertiesExceptionHeaders = exports2.ServiceGetPropertiesHeaders = exports2.ServiceSetPropertiesExceptionHeaders = exports2.ServiceSetPropertiesHeaders = exports2.ArrowField = exports2.ArrowConfiguration = exports2.JsonTextConfiguration = exports2.DelimitedTextConfiguration = exports2.QueryFormat = exports2.QuerySerialization = exports2.QueryRequest = exports2.ClearRange = exports2.PageRange = exports2.PageList = exports2.Block = exports2.BlockList = exports2.BlockLookupList = exports2.BlobPrefix = exports2.BlobHierarchyListSegment = exports2.ListBlobsHierarchySegmentResponse = exports2.BlobPropertiesInternal = exports2.BlobName = exports2.BlobItemInternal = exports2.BlobFlatListSegment = exports2.ListBlobsFlatSegmentResponse = exports2.AccessPolicy = exports2.SignedIdentifier = exports2.BlobTag = exports2.BlobTags = exports2.FilterBlobItem = exports2.FilterBlobSegment = exports2.UserDelegationKey = exports2.KeyInfo = exports2.ContainerProperties = exports2.ContainerItem = exports2.ListContainersSegmentResponse = exports2.GeoReplication = exports2.BlobServiceStatistics = exports2.StorageError = exports2.StaticWebsite = exports2.CorsRule = exports2.Metrics = exports2.RetentionPolicy = exports2.Logging = exports2.BlobServiceProperties = void 0;
+    exports2.BlobUndeleteHeaders = exports2.BlobDeleteExceptionHeaders = exports2.BlobDeleteHeaders = exports2.BlobGetPropertiesExceptionHeaders = exports2.BlobGetPropertiesHeaders = exports2.BlobDownloadExceptionHeaders = exports2.BlobDownloadHeaders = exports2.ContainerGetAccountInfoExceptionHeaders = exports2.ContainerGetAccountInfoHeaders = exports2.ContainerListBlobHierarchySegmentExceptionHeaders = exports2.ContainerListBlobHierarchySegmentHeaders = exports2.ContainerListBlobFlatSegmentExceptionHeaders = exports2.ContainerListBlobFlatSegmentHeaders = exports2.ContainerChangeLeaseExceptionHeaders = exports2.ContainerChangeLeaseHeaders = exports2.ContainerBreakLeaseExceptionHeaders = exports2.ContainerBreakLeaseHeaders = exports2.ContainerRenewLeaseExceptionHeaders = exports2.ContainerRenewLeaseHeaders = exports2.ContainerReleaseLeaseExceptionHeaders = exports2.ContainerReleaseLeaseHeaders = exports2.ContainerAcquireLeaseExceptionHeaders = exports2.ContainerAcquireLeaseHeaders = exports2.ContainerFilterBlobsExceptionHeaders = exports2.ContainerFilterBlobsHeaders = exports2.ContainerSubmitBatchExceptionHeaders = exports2.ContainerSubmitBatchHeaders = exports2.ContainerRenameExceptionHeaders = exports2.ContainerRenameHeaders = exports2.ContainerRestoreExceptionHeaders = exports2.ContainerRestoreHeaders = exports2.ContainerSetAccessPolicyExceptionHeaders = exports2.ContainerSetAccessPolicyHeaders = exports2.ContainerGetAccessPolicyExceptionHeaders = exports2.ContainerGetAccessPolicyHeaders = exports2.ContainerSetMetadataExceptionHeaders = exports2.ContainerSetMetadataHeaders = exports2.ContainerDeleteExceptionHeaders = exports2.ContainerDeleteHeaders = exports2.ContainerGetPropertiesExceptionHeaders = exports2.ContainerGetPropertiesHeaders = exports2.ContainerCreateExceptionHeaders = exports2.ContainerCreateHeaders = exports2.ServiceFilterBlobsExceptionHeaders = exports2.ServiceFilterBlobsHeaders = exports2.ServiceSubmitBatchExceptionHeaders = exports2.ServiceSubmitBatchHeaders = exports2.ServiceGetAccountInfoExceptionHeaders = exports2.ServiceGetAccountInfoHeaders = exports2.ServiceGetUserDelegationKeyExceptionHeaders = void 0;
+    exports2.PageBlobGetPageRangesHeaders = exports2.PageBlobUploadPagesFromURLExceptionHeaders = exports2.PageBlobUploadPagesFromURLHeaders = exports2.PageBlobClearPagesExceptionHeaders = exports2.PageBlobClearPagesHeaders = exports2.PageBlobUploadPagesExceptionHeaders = exports2.PageBlobUploadPagesHeaders = exports2.PageBlobCreateExceptionHeaders = exports2.PageBlobCreateHeaders = exports2.BlobSetTagsExceptionHeaders = exports2.BlobSetTagsHeaders = exports2.BlobGetTagsExceptionHeaders = exports2.BlobGetTagsHeaders = exports2.BlobQueryExceptionHeaders = exports2.BlobQueryHeaders = exports2.BlobGetAccountInfoExceptionHeaders = exports2.BlobGetAccountInfoHeaders = exports2.BlobSetTierExceptionHeaders = exports2.BlobSetTierHeaders = exports2.BlobAbortCopyFromURLExceptionHeaders = exports2.BlobAbortCopyFromURLHeaders = exports2.BlobCopyFromURLExceptionHeaders = exports2.BlobCopyFromURLHeaders = exports2.BlobStartCopyFromURLExceptionHeaders = exports2.BlobStartCopyFromURLHeaders = exports2.BlobCreateSnapshotExceptionHeaders = exports2.BlobCreateSnapshotHeaders = exports2.BlobBreakLeaseExceptionHeaders = exports2.BlobBreakLeaseHeaders = exports2.BlobChangeLeaseExceptionHeaders = exports2.BlobChangeLeaseHeaders = exports2.BlobRenewLeaseExceptionHeaders = exports2.BlobRenewLeaseHeaders = exports2.BlobReleaseLeaseExceptionHeaders = exports2.BlobReleaseLeaseHeaders = exports2.BlobAcquireLeaseExceptionHeaders = exports2.BlobAcquireLeaseHeaders = exports2.BlobSetMetadataExceptionHeaders = exports2.BlobSetMetadataHeaders = exports2.BlobSetLegalHoldExceptionHeaders = exports2.BlobSetLegalHoldHeaders = exports2.BlobDeleteImmutabilityPolicyExceptionHeaders = exports2.BlobDeleteImmutabilityPolicyHeaders = exports2.BlobSetImmutabilityPolicyExceptionHeaders = exports2.BlobSetImmutabilityPolicyHeaders = exports2.BlobSetHttpHeadersExceptionHeaders = exports2.BlobSetHttpHeadersHeaders = exports2.BlobSetExpiryExceptionHeaders = exports2.BlobSetExpiryHeaders = exports2.BlobUndeleteExceptionHeaders = void 0;
+    exports2.BlockBlobGetBlockListExceptionHeaders = exports2.BlockBlobGetBlockListHeaders = exports2.BlockBlobCommitBlockListExceptionHeaders = exports2.BlockBlobCommitBlockListHeaders = exports2.BlockBlobStageBlockFromURLExceptionHeaders = exports2.BlockBlobStageBlockFromURLHeaders = exports2.BlockBlobStageBlockExceptionHeaders = exports2.BlockBlobStageBlockHeaders = exports2.BlockBlobPutBlobFromUrlExceptionHeaders = exports2.BlockBlobPutBlobFromUrlHeaders = exports2.BlockBlobUploadExceptionHeaders = exports2.BlockBlobUploadHeaders = exports2.AppendBlobSealExceptionHeaders = exports2.AppendBlobSealHeaders = exports2.AppendBlobAppendBlockFromUrlExceptionHeaders = exports2.AppendBlobAppendBlockFromUrlHeaders = exports2.AppendBlobAppendBlockExceptionHeaders = exports2.AppendBlobAppendBlockHeaders = exports2.AppendBlobCreateExceptionHeaders = exports2.AppendBlobCreateHeaders = exports2.PageBlobCopyIncrementalExceptionHeaders = exports2.PageBlobCopyIncrementalHeaders = exports2.PageBlobUpdateSequenceNumberExceptionHeaders = exports2.PageBlobUpdateSequenceNumberHeaders = exports2.PageBlobResizeExceptionHeaders = exports2.PageBlobResizeHeaders = exports2.PageBlobGetPageRangesDiffExceptionHeaders = exports2.PageBlobGetPageRangesDiffHeaders = exports2.PageBlobGetPageRangesExceptionHeaders = void 0;
+    exports2.BlobServiceProperties = {
+      serializedName: "BlobServiceProperties",
+      xmlName: "StorageServiceProperties",
+      type: {
+        name: "Composite",
+        className: "BlobServiceProperties",
+        modelProperties: {
+          blobAnalyticsLogging: {
+            serializedName: "Logging",
+            xmlName: "Logging",
+            type: {
+              name: "Composite",
+              className: "Logging"
+            }
+          },
+          hourMetrics: {
+            serializedName: "HourMetrics",
+            xmlName: "HourMetrics",
+            type: {
+              name: "Composite",
+              className: "Metrics"
+            }
+          },
+          minuteMetrics: {
+            serializedName: "MinuteMetrics",
+            xmlName: "MinuteMetrics",
+            type: {
+              name: "Composite",
+              className: "Metrics"
+            }
+          },
+          cors: {
+            serializedName: "Cors",
+            xmlName: "Cors",
+            xmlIsWrapped: true,
+            xmlElementName: "CorsRule",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "CorsRule"
+                }
+              }
+            }
+          },
+          defaultServiceVersion: {
+            serializedName: "DefaultServiceVersion",
+            xmlName: "DefaultServiceVersion",
+            type: {
+              name: "String"
+            }
+          },
+          deleteRetentionPolicy: {
+            serializedName: "DeleteRetentionPolicy",
+            xmlName: "DeleteRetentionPolicy",
+            type: {
+              name: "Composite",
+              className: "RetentionPolicy"
+            }
+          },
+          staticWebsite: {
+            serializedName: "StaticWebsite",
+            xmlName: "StaticWebsite",
+            type: {
+              name: "Composite",
+              className: "StaticWebsite"
+            }
+          }
         }
-        if (scopeParts.length !== 3) {
-          throw InvalidJwtError;
+      }
+    };
+    exports2.Logging = {
+      serializedName: "Logging",
+      type: {
+        name: "Composite",
+        className: "Logging",
+        modelProperties: {
+          version: {
+            serializedName: "Version",
+            required: true,
+            xmlName: "Version",
+            type: {
+              name: "String"
+            }
+          },
+          deleteProperty: {
+            serializedName: "Delete",
+            required: true,
+            xmlName: "Delete",
+            type: {
+              name: "Boolean"
+            }
+          },
+          read: {
+            serializedName: "Read",
+            required: true,
+            xmlName: "Read",
+            type: {
+              name: "Boolean"
+            }
+          },
+          write: {
+            serializedName: "Write",
+            required: true,
+            xmlName: "Write",
+            type: {
+              name: "Boolean"
+            }
+          },
+          retentionPolicy: {
+            serializedName: "RetentionPolicy",
+            xmlName: "RetentionPolicy",
+            type: {
+              name: "Composite",
+              className: "RetentionPolicy"
+            }
+          }
         }
-        const ids = {
-          workflowRunBackendId: scopeParts[1],
-          workflowJobRunBackendId: scopeParts[2]
-        };
-        core14.debug(`Workflow Run Backend ID: ${ids.workflowRunBackendId}`);
-        core14.debug(`Workflow Job Run Backend ID: ${ids.workflowJobRunBackendId}`);
-        return ids;
       }
-      throw InvalidJwtError;
-    }
-    exports2.getBackendIdsFromToken = getBackendIdsFromToken;
-    function maskSigUrl(url) {
-      if (!url)
-        return;
-      try {
-        const parsedUrl = new URL(url);
-        const signature = parsedUrl.searchParams.get("sig");
-        if (signature) {
-          (0, core_1.setSecret)(signature);
-          (0, core_1.setSecret)(encodeURIComponent(signature));
+    };
+    exports2.RetentionPolicy = {
+      serializedName: "RetentionPolicy",
+      type: {
+        name: "Composite",
+        className: "RetentionPolicy",
+        modelProperties: {
+          enabled: {
+            serializedName: "Enabled",
+            required: true,
+            xmlName: "Enabled",
+            type: {
+              name: "Boolean"
+            }
+          },
+          days: {
+            constraints: {
+              InclusiveMinimum: 1
+            },
+            serializedName: "Days",
+            xmlName: "Days",
+            type: {
+              name: "Number"
+            }
+          }
         }
-      } catch (error3) {
-        (0, core_1.debug)(`Failed to parse URL: ${url} ${error3 instanceof Error ? error3.message : String(error3)}`);
       }
-    }
-    exports2.maskSigUrl = maskSigUrl;
-    function maskSecretUrls(body) {
-      if (typeof body !== "object" || body === null) {
-        (0, core_1.debug)("body is not an object or is null");
-        return;
+    };
+    exports2.Metrics = {
+      serializedName: "Metrics",
+      type: {
+        name: "Composite",
+        className: "Metrics",
+        modelProperties: {
+          version: {
+            serializedName: "Version",
+            xmlName: "Version",
+            type: {
+              name: "String"
+            }
+          },
+          enabled: {
+            serializedName: "Enabled",
+            required: true,
+            xmlName: "Enabled",
+            type: {
+              name: "Boolean"
+            }
+          },
+          includeAPIs: {
+            serializedName: "IncludeAPIs",
+            xmlName: "IncludeAPIs",
+            type: {
+              name: "Boolean"
+            }
+          },
+          retentionPolicy: {
+            serializedName: "RetentionPolicy",
+            xmlName: "RetentionPolicy",
+            type: {
+              name: "Composite",
+              className: "RetentionPolicy"
+            }
+          }
+        }
       }
-      if ("signed_upload_url" in body && typeof body.signed_upload_url === "string") {
-        maskSigUrl(body.signed_upload_url);
+    };
+    exports2.CorsRule = {
+      serializedName: "CorsRule",
+      type: {
+        name: "Composite",
+        className: "CorsRule",
+        modelProperties: {
+          allowedOrigins: {
+            serializedName: "AllowedOrigins",
+            required: true,
+            xmlName: "AllowedOrigins",
+            type: {
+              name: "String"
+            }
+          },
+          allowedMethods: {
+            serializedName: "AllowedMethods",
+            required: true,
+            xmlName: "AllowedMethods",
+            type: {
+              name: "String"
+            }
+          },
+          allowedHeaders: {
+            serializedName: "AllowedHeaders",
+            required: true,
+            xmlName: "AllowedHeaders",
+            type: {
+              name: "String"
+            }
+          },
+          exposedHeaders: {
+            serializedName: "ExposedHeaders",
+            required: true,
+            xmlName: "ExposedHeaders",
+            type: {
+              name: "String"
+            }
+          },
+          maxAgeInSeconds: {
+            constraints: {
+              InclusiveMinimum: 0
+            },
+            serializedName: "MaxAgeInSeconds",
+            required: true,
+            xmlName: "MaxAgeInSeconds",
+            type: {
+              name: "Number"
+            }
+          }
+        }
       }
-      if ("signed_url" in body && typeof body.signed_url === "string") {
-        maskSigUrl(body.signed_url);
+    };
+    exports2.StaticWebsite = {
+      serializedName: "StaticWebsite",
+      type: {
+        name: "Composite",
+        className: "StaticWebsite",
+        modelProperties: {
+          enabled: {
+            serializedName: "Enabled",
+            required: true,
+            xmlName: "Enabled",
+            type: {
+              name: "Boolean"
+            }
+          },
+          indexDocument: {
+            serializedName: "IndexDocument",
+            xmlName: "IndexDocument",
+            type: {
+              name: "String"
+            }
+          },
+          errorDocument404Path: {
+            serializedName: "ErrorDocument404Path",
+            xmlName: "ErrorDocument404Path",
+            type: {
+              name: "String"
+            }
+          },
+          defaultIndexDocumentPath: {
+            serializedName: "DefaultIndexDocumentPath",
+            xmlName: "DefaultIndexDocumentPath",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-    }
-    exports2.maskSecretUrls = maskSecretUrls;
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/shared/artifact-twirp-client.js
-var require_artifact_twirp_client2 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/shared/artifact-twirp-client.js"(exports2) {
-    "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve2) {
-          resolve2(value);
-        });
+    };
+    exports2.StorageError = {
+      serializedName: "StorageError",
+      type: {
+        name: "Composite",
+        className: "StorageError",
+        modelProperties: {
+          message: {
+            serializedName: "Message",
+            xmlName: "Message",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceStatusCode: {
+            serializedName: "CopySourceStatusCode",
+            xmlName: "CopySourceStatusCode",
+            type: {
+              name: "Number"
+            }
+          },
+          copySourceErrorCode: {
+            serializedName: "CopySourceErrorCode",
+            xmlName: "CopySourceErrorCode",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceErrorMessage: {
+            serializedName: "CopySourceErrorMessage",
+            xmlName: "CopySourceErrorMessage",
+            type: {
+              name: "String"
+            }
+          },
+          code: {
+            serializedName: "Code",
+            xmlName: "Code",
+            type: {
+              name: "String"
+            }
+          },
+          authenticationErrorDetail: {
+            serializedName: "AuthenticationErrorDetail",
+            xmlName: "AuthenticationErrorDetail",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      return new (P || (P = Promise))(function(resolve2, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
+    };
+    exports2.BlobServiceStatistics = {
+      serializedName: "BlobServiceStatistics",
+      xmlName: "StorageServiceStats",
+      type: {
+        name: "Composite",
+        className: "BlobServiceStatistics",
+        modelProperties: {
+          geoReplication: {
+            serializedName: "GeoReplication",
+            xmlName: "GeoReplication",
+            type: {
+              name: "Composite",
+              className: "GeoReplication"
+            }
           }
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
+      }
+    };
+    exports2.GeoReplication = {
+      serializedName: "GeoReplication",
+      type: {
+        name: "Composite",
+        className: "GeoReplication",
+        modelProperties: {
+          status: {
+            serializedName: "Status",
+            required: true,
+            xmlName: "Status",
+            type: {
+              name: "Enum",
+              allowedValues: ["live", "bootstrap", "unavailable"]
+            }
+          },
+          lastSyncOn: {
+            serializedName: "LastSyncTime",
+            required: true,
+            xmlName: "LastSyncTime",
+            type: {
+              name: "DateTimeRfc1123"
+            }
           }
         }
-        function step(result) {
-          result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
+      }
+    };
+    exports2.ListContainersSegmentResponse = {
+      serializedName: "ListContainersSegmentResponse",
+      xmlName: "EnumerationResults",
+      type: {
+        name: "Composite",
+        className: "ListContainersSegmentResponse",
+        modelProperties: {
+          serviceEndpoint: {
+            serializedName: "ServiceEndpoint",
+            required: true,
+            xmlName: "ServiceEndpoint",
+            xmlIsAttribute: true,
+            type: {
+              name: "String"
+            }
+          },
+          prefix: {
+            serializedName: "Prefix",
+            xmlName: "Prefix",
+            type: {
+              name: "String"
+            }
+          },
+          marker: {
+            serializedName: "Marker",
+            xmlName: "Marker",
+            type: {
+              name: "String"
+            }
+          },
+          maxPageSize: {
+            serializedName: "MaxResults",
+            xmlName: "MaxResults",
+            type: {
+              name: "Number"
+            }
+          },
+          containerItems: {
+            serializedName: "ContainerItems",
+            required: true,
+            xmlName: "Containers",
+            xmlIsWrapped: true,
+            xmlElementName: "Container",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "ContainerItem"
+                }
+              }
+            }
+          },
+          continuationToken: {
+            serializedName: "NextMarker",
+            xmlName: "NextMarker",
+            type: {
+              name: "String"
+            }
+          }
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
+      }
     };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.internalArtifactTwirpClient = void 0;
-    var http_client_1 = require_lib();
-    var auth_1 = require_auth();
-    var core_1 = require_core();
-    var generated_1 = require_generated();
-    var config_1 = require_config();
-    var user_agent_1 = require_user_agent();
-    var errors_1 = require_errors3();
-    var util_1 = require_util16();
-    var ArtifactHttpClient = class {
-      constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) {
-        this.maxAttempts = 5;
-        this.baseRetryIntervalMilliseconds = 3e3;
-        this.retryMultiplier = 1.5;
-        const token = (0, config_1.getRuntimeToken)();
-        this.baseUrl = (0, config_1.getResultsServiceUrl)();
-        if (maxAttempts) {
-          this.maxAttempts = maxAttempts;
+    exports2.ContainerItem = {
+      serializedName: "ContainerItem",
+      xmlName: "Container",
+      type: {
+        name: "Composite",
+        className: "ContainerItem",
+        modelProperties: {
+          name: {
+            serializedName: "Name",
+            required: true,
+            xmlName: "Name",
+            type: {
+              name: "String"
+            }
+          },
+          deleted: {
+            serializedName: "Deleted",
+            xmlName: "Deleted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          version: {
+            serializedName: "Version",
+            xmlName: "Version",
+            type: {
+              name: "String"
+            }
+          },
+          properties: {
+            serializedName: "Properties",
+            xmlName: "Properties",
+            type: {
+              name: "Composite",
+              className: "ContainerProperties"
+            }
+          },
+          metadata: {
+            serializedName: "Metadata",
+            xmlName: "Metadata",
+            type: {
+              name: "Dictionary",
+              value: { type: { name: "String" } }
+            }
+          }
         }
-        if (baseRetryIntervalMilliseconds) {
-          this.baseRetryIntervalMilliseconds = baseRetryIntervalMilliseconds;
+      }
+    };
+    exports2.ContainerProperties = {
+      serializedName: "ContainerProperties",
+      type: {
+        name: "Composite",
+        className: "ContainerProperties",
+        modelProperties: {
+          lastModified: {
+            serializedName: "Last-Modified",
+            required: true,
+            xmlName: "Last-Modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          etag: {
+            serializedName: "Etag",
+            required: true,
+            xmlName: "Etag",
+            type: {
+              name: "String"
+            }
+          },
+          leaseStatus: {
+            serializedName: "LeaseStatus",
+            xmlName: "LeaseStatus",
+            type: {
+              name: "Enum",
+              allowedValues: ["locked", "unlocked"]
+            }
+          },
+          leaseState: {
+            serializedName: "LeaseState",
+            xmlName: "LeaseState",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "available",
+                "leased",
+                "expired",
+                "breaking",
+                "broken"
+              ]
+            }
+          },
+          leaseDuration: {
+            serializedName: "LeaseDuration",
+            xmlName: "LeaseDuration",
+            type: {
+              name: "Enum",
+              allowedValues: ["infinite", "fixed"]
+            }
+          },
+          publicAccess: {
+            serializedName: "PublicAccess",
+            xmlName: "PublicAccess",
+            type: {
+              name: "Enum",
+              allowedValues: ["container", "blob"]
+            }
+          },
+          hasImmutabilityPolicy: {
+            serializedName: "HasImmutabilityPolicy",
+            xmlName: "HasImmutabilityPolicy",
+            type: {
+              name: "Boolean"
+            }
+          },
+          hasLegalHold: {
+            serializedName: "HasLegalHold",
+            xmlName: "HasLegalHold",
+            type: {
+              name: "Boolean"
+            }
+          },
+          defaultEncryptionScope: {
+            serializedName: "DefaultEncryptionScope",
+            xmlName: "DefaultEncryptionScope",
+            type: {
+              name: "String"
+            }
+          },
+          preventEncryptionScopeOverride: {
+            serializedName: "DenyEncryptionScopeOverride",
+            xmlName: "DenyEncryptionScopeOverride",
+            type: {
+              name: "Boolean"
+            }
+          },
+          deletedOn: {
+            serializedName: "DeletedTime",
+            xmlName: "DeletedTime",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          remainingRetentionDays: {
+            serializedName: "RemainingRetentionDays",
+            xmlName: "RemainingRetentionDays",
+            type: {
+              name: "Number"
+            }
+          },
+          isImmutableStorageWithVersioningEnabled: {
+            serializedName: "ImmutableStorageWithVersioningEnabled",
+            xmlName: "ImmutableStorageWithVersioningEnabled",
+            type: {
+              name: "Boolean"
+            }
+          }
         }
-        if (retryMultiplier) {
-          this.retryMultiplier = retryMultiplier;
+      }
+    };
+    exports2.KeyInfo = {
+      serializedName: "KeyInfo",
+      type: {
+        name: "Composite",
+        className: "KeyInfo",
+        modelProperties: {
+          startsOn: {
+            serializedName: "Start",
+            required: true,
+            xmlName: "Start",
+            type: {
+              name: "String"
+            }
+          },
+          expiresOn: {
+            serializedName: "Expiry",
+            required: true,
+            xmlName: "Expiry",
+            type: {
+              name: "String"
+            }
+          }
         }
-        this.httpClient = new http_client_1.HttpClient(userAgent2, [
-          new auth_1.BearerCredentialHandler(token)
-        ]);
       }
-      // This function satisfies the Rpc interface. It is compatible with the JSON
-      // JSON generated client.
-      request(service, method, contentType, data) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          const url = new URL(`/twirp/${service}/${method}`, this.baseUrl).href;
-          (0, core_1.debug)(`[Request] ${method} ${url}`);
-          const headers = {
-            "Content-Type": contentType
-          };
-          try {
-            const { body } = yield this.retryableRequest(() => __awaiter2(this, void 0, void 0, function* () {
-              return this.httpClient.post(url, JSON.stringify(data), headers);
-            }));
-            return body;
-          } catch (error3) {
-            throw new Error(`Failed to ${method}: ${error3.message}`);
+    };
+    exports2.UserDelegationKey = {
+      serializedName: "UserDelegationKey",
+      type: {
+        name: "Composite",
+        className: "UserDelegationKey",
+        modelProperties: {
+          signedObjectId: {
+            serializedName: "SignedOid",
+            required: true,
+            xmlName: "SignedOid",
+            type: {
+              name: "String"
+            }
+          },
+          signedTenantId: {
+            serializedName: "SignedTid",
+            required: true,
+            xmlName: "SignedTid",
+            type: {
+              name: "String"
+            }
+          },
+          signedStartsOn: {
+            serializedName: "SignedStart",
+            required: true,
+            xmlName: "SignedStart",
+            type: {
+              name: "String"
+            }
+          },
+          signedExpiresOn: {
+            serializedName: "SignedExpiry",
+            required: true,
+            xmlName: "SignedExpiry",
+            type: {
+              name: "String"
+            }
+          },
+          signedService: {
+            serializedName: "SignedService",
+            required: true,
+            xmlName: "SignedService",
+            type: {
+              name: "String"
+            }
+          },
+          signedVersion: {
+            serializedName: "SignedVersion",
+            required: true,
+            xmlName: "SignedVersion",
+            type: {
+              name: "String"
+            }
+          },
+          value: {
+            serializedName: "Value",
+            required: true,
+            xmlName: "Value",
+            type: {
+              name: "String"
+            }
           }
-        });
+        }
       }
-      retryableRequest(operation) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          let attempt = 0;
-          let errorMessage = "";
-          let rawBody = "";
-          while (attempt < this.maxAttempts) {
-            let isRetryable = false;
-            try {
-              const response = yield operation();
-              const statusCode = response.message.statusCode;
-              rawBody = yield response.readBody();
-              (0, core_1.debug)(`[Response] - ${response.message.statusCode}`);
-              (0, core_1.debug)(`Headers: ${JSON.stringify(response.message.headers, null, 2)}`);
-              const body = JSON.parse(rawBody);
-              (0, util_1.maskSecretUrls)(body);
-              (0, core_1.debug)(`Body: ${JSON.stringify(body, null, 2)}`);
-              if (this.isSuccessStatusCode(statusCode)) {
-                return { response, body };
-              }
-              isRetryable = this.isRetryableHttpStatusCode(statusCode);
-              errorMessage = `Failed request: (${statusCode}) ${response.message.statusMessage}`;
-              if (body.msg) {
-                if (errors_1.UsageError.isUsageErrorMessage(body.msg)) {
-                  throw new errors_1.UsageError();
+    };
+    exports2.FilterBlobSegment = {
+      serializedName: "FilterBlobSegment",
+      xmlName: "EnumerationResults",
+      type: {
+        name: "Composite",
+        className: "FilterBlobSegment",
+        modelProperties: {
+          serviceEndpoint: {
+            serializedName: "ServiceEndpoint",
+            required: true,
+            xmlName: "ServiceEndpoint",
+            xmlIsAttribute: true,
+            type: {
+              name: "String"
+            }
+          },
+          where: {
+            serializedName: "Where",
+            required: true,
+            xmlName: "Where",
+            type: {
+              name: "String"
+            }
+          },
+          blobs: {
+            serializedName: "Blobs",
+            required: true,
+            xmlName: "Blobs",
+            xmlIsWrapped: true,
+            xmlElementName: "Blob",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "FilterBlobItem"
                 }
-                errorMessage = `${errorMessage}: ${body.msg}`;
-              }
-            } catch (error3) {
-              if (error3 instanceof SyntaxError) {
-                (0, core_1.debug)(`Raw Body: ${rawBody}`);
               }
-              if (error3 instanceof errors_1.UsageError) {
-                throw error3;
-              }
-              if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) {
-                throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code);
-              }
-              isRetryable = true;
-              errorMessage = error3.message;
             }
-            if (!isRetryable) {
-              throw new Error(`Received non-retryable error: ${errorMessage}`);
+          },
+          continuationToken: {
+            serializedName: "NextMarker",
+            xmlName: "NextMarker",
+            type: {
+              name: "String"
+            }
+          }
+        }
+      }
+    };
+    exports2.FilterBlobItem = {
+      serializedName: "FilterBlobItem",
+      xmlName: "Blob",
+      type: {
+        name: "Composite",
+        className: "FilterBlobItem",
+        modelProperties: {
+          name: {
+            serializedName: "Name",
+            required: true,
+            xmlName: "Name",
+            type: {
+              name: "String"
+            }
+          },
+          containerName: {
+            serializedName: "ContainerName",
+            required: true,
+            xmlName: "ContainerName",
+            type: {
+              name: "String"
             }
-            if (attempt + 1 === this.maxAttempts) {
-              throw new Error(`Failed to make request after ${this.maxAttempts} attempts: ${errorMessage}`);
+          },
+          tags: {
+            serializedName: "Tags",
+            xmlName: "Tags",
+            type: {
+              name: "Composite",
+              className: "BlobTags"
             }
-            const retryTimeMilliseconds = this.getExponentialRetryTimeMilliseconds(attempt);
-            (0, core_1.info)(`Attempt ${attempt + 1} of ${this.maxAttempts} failed with error: ${errorMessage}. Retrying request in ${retryTimeMilliseconds} ms...`);
-            yield this.sleep(retryTimeMilliseconds);
-            attempt++;
           }
-          throw new Error(`Request failed`);
-        });
-      }
-      isSuccessStatusCode(statusCode) {
-        if (!statusCode)
-          return false;
-        return statusCode >= 200 && statusCode < 300;
-      }
-      isRetryableHttpStatusCode(statusCode) {
-        if (!statusCode)
-          return false;
-        const retryableStatusCodes = [
-          http_client_1.HttpCodes.BadGateway,
-          http_client_1.HttpCodes.GatewayTimeout,
-          http_client_1.HttpCodes.InternalServerError,
-          http_client_1.HttpCodes.ServiceUnavailable,
-          http_client_1.HttpCodes.TooManyRequests
-        ];
-        return retryableStatusCodes.includes(statusCode);
-      }
-      sleep(milliseconds) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          return new Promise((resolve2) => setTimeout(resolve2, milliseconds));
-        });
-      }
-      getExponentialRetryTimeMilliseconds(attempt) {
-        if (attempt < 0) {
-          throw new Error("attempt should be a positive integer");
-        }
-        if (attempt === 0) {
-          return this.baseRetryIntervalMilliseconds;
         }
-        const minTime = this.baseRetryIntervalMilliseconds * Math.pow(this.retryMultiplier, attempt);
-        const maxTime = minTime * this.retryMultiplier;
-        return Math.trunc(Math.random() * (maxTime - minTime) + minTime);
       }
     };
-    function internalArtifactTwirpClient(options) {
-      const client = new ArtifactHttpClient((0, user_agent_1.getUserAgentString)(), options === null || options === void 0 ? void 0 : options.maxAttempts, options === null || options === void 0 ? void 0 : options.retryIntervalMs, options === null || options === void 0 ? void 0 : options.retryMultiplier);
-      return new generated_1.ArtifactServiceClientJSON(client);
-    }
-    exports2.internalArtifactTwirpClient = internalArtifactTwirpClient;
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.js
-var require_upload_zip_specification = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.js"(exports2) {
-    "use strict";
-    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+    exports2.BlobTags = {
+      serializedName: "BlobTags",
+      xmlName: "Tags",
+      type: {
+        name: "Composite",
+        className: "BlobTags",
+        modelProperties: {
+          blobTagSet: {
+            serializedName: "BlobTagSet",
+            required: true,
+            xmlName: "TagSet",
+            xmlIsWrapped: true,
+            xmlElementName: "Tag",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "BlobTag"
+                }
+              }
+            }
+          }
+        }
       }
-      __setModuleDefault2(result, mod);
-      return result;
     };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getUploadZipSpecification = exports2.validateRootDirectory = void 0;
-    var fs3 = __importStar2(require("fs"));
-    var core_1 = require_core();
-    var path_1 = require("path");
-    var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation();
-    function validateRootDirectory(rootDirectory) {
-      if (!fs3.existsSync(rootDirectory)) {
-        throw new Error(`The provided rootDirectory ${rootDirectory} does not exist`);
-      }
-      if (!fs3.statSync(rootDirectory).isDirectory()) {
-        throw new Error(`The provided rootDirectory ${rootDirectory} is not a valid directory`);
-      }
-      (0, core_1.info)(`Root directory input is valid!`);
-    }
-    exports2.validateRootDirectory = validateRootDirectory;
-    function getUploadZipSpecification(filesToZip, rootDirectory) {
-      const specification = [];
-      rootDirectory = (0, path_1.normalize)(rootDirectory);
-      rootDirectory = (0, path_1.resolve)(rootDirectory);
-      for (let file of filesToZip) {
-        const stats = fs3.lstatSync(file, { throwIfNoEntry: false });
-        if (!stats) {
-          throw new Error(`File ${file} does not exist`);
-        }
-        if (!stats.isDirectory()) {
-          file = (0, path_1.normalize)(file);
-          file = (0, path_1.resolve)(file);
-          if (!file.startsWith(rootDirectory)) {
-            throw new Error(`The rootDirectory: ${rootDirectory} is not a parent directory of the file: ${file}`);
+    exports2.BlobTag = {
+      serializedName: "BlobTag",
+      xmlName: "Tag",
+      type: {
+        name: "Composite",
+        className: "BlobTag",
+        modelProperties: {
+          key: {
+            serializedName: "Key",
+            required: true,
+            xmlName: "Key",
+            type: {
+              name: "String"
+            }
+          },
+          value: {
+            serializedName: "Value",
+            required: true,
+            xmlName: "Value",
+            type: {
+              name: "String"
+            }
           }
-          const uploadPath = file.replace(rootDirectory, "");
-          (0, path_and_artifact_name_validation_1.validateFilePath)(uploadPath);
-          specification.push({
-            sourcePath: file,
-            destinationPath: uploadPath,
-            stats
-          });
-        } else {
-          const directoryPath = file.replace(rootDirectory, "");
-          (0, path_and_artifact_name_validation_1.validateFilePath)(directoryPath);
-          specification.push({
-            sourcePath: null,
-            destinationPath: directoryPath,
-            stats
-          });
         }
       }
-      return specification;
-    }
-    exports2.getUploadZipSpecification = getUploadZipSpecification;
-  }
-});
-
-// node_modules/tslib/tslib.es6.mjs
-var tslib_es6_exports = {};
-__export(tslib_es6_exports, {
-  __addDisposableResource: () => __addDisposableResource,
-  __assign: () => __assign,
-  __asyncDelegator: () => __asyncDelegator,
-  __asyncGenerator: () => __asyncGenerator,
-  __asyncValues: () => __asyncValues,
-  __await: () => __await,
-  __awaiter: () => __awaiter,
-  __classPrivateFieldGet: () => __classPrivateFieldGet,
-  __classPrivateFieldIn: () => __classPrivateFieldIn,
-  __classPrivateFieldSet: () => __classPrivateFieldSet,
-  __createBinding: () => __createBinding,
-  __decorate: () => __decorate,
-  __disposeResources: () => __disposeResources,
-  __esDecorate: () => __esDecorate,
-  __exportStar: () => __exportStar,
-  __extends: () => __extends,
-  __generator: () => __generator,
-  __importDefault: () => __importDefault,
-  __importStar: () => __importStar,
-  __makeTemplateObject: () => __makeTemplateObject,
-  __metadata: () => __metadata,
-  __param: () => __param,
-  __propKey: () => __propKey,
-  __read: () => __read,
-  __rest: () => __rest,
-  __rewriteRelativeImportExtension: () => __rewriteRelativeImportExtension,
-  __runInitializers: () => __runInitializers,
-  __setFunctionName: () => __setFunctionName,
-  __spread: () => __spread,
-  __spreadArray: () => __spreadArray,
-  __spreadArrays: () => __spreadArrays,
-  __values: () => __values2,
-  default: () => tslib_es6_default
-});
-function __extends(d, b) {
-  if (typeof b !== "function" && b !== null)
-    throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
-  extendStatics(d, b);
-  function __() {
-    this.constructor = d;
-  }
-  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
-}
-function __rest(s, e) {
-  var t = {};
-  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
-    t[p] = s[p];
-  if (s != null && typeof Object.getOwnPropertySymbols === "function")
-    for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
-      if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
-        t[p[i]] = s[p[i]];
-    }
-  return t;
-}
-function __decorate(decorators, target, key, desc) {
-  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
-  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
-  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
-  return c > 3 && r && Object.defineProperty(target, key, r), r;
-}
-function __param(paramIndex, decorator) {
-  return function(target, key) {
-    decorator(target, key, paramIndex);
-  };
-}
-function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
-  function accept(f) {
-    if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected");
-    return f;
-  }
-  var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
-  var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
-  var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
-  var _2, done = false;
-  for (var i = decorators.length - 1; i >= 0; i--) {
-    var context2 = {};
-    for (var p in contextIn) context2[p] = p === "access" ? {} : contextIn[p];
-    for (var p in contextIn.access) context2.access[p] = contextIn.access[p];
-    context2.addInitializer = function(f) {
-      if (done) throw new TypeError("Cannot add initializers after decoration has completed");
-      extraInitializers.push(accept(f || null));
     };
-    var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context2);
-    if (kind === "accessor") {
-      if (result === void 0) continue;
-      if (result === null || typeof result !== "object") throw new TypeError("Object expected");
-      if (_2 = accept(result.get)) descriptor.get = _2;
-      if (_2 = accept(result.set)) descriptor.set = _2;
-      if (_2 = accept(result.init)) initializers.unshift(_2);
-    } else if (_2 = accept(result)) {
-      if (kind === "field") initializers.unshift(_2);
-      else descriptor[key] = _2;
-    }
-  }
-  if (target) Object.defineProperty(target, contextIn.name, descriptor);
-  done = true;
-}
-function __runInitializers(thisArg, initializers, value) {
-  var useValue = arguments.length > 2;
-  for (var i = 0; i < initializers.length; i++) {
-    value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
-  }
-  return useValue ? value : void 0;
-}
-function __propKey(x) {
-  return typeof x === "symbol" ? x : "".concat(x);
-}
-function __setFunctionName(f, name, prefix) {
-  if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
-  return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
-}
-function __metadata(metadataKey, metadataValue) {
-  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
-}
-function __awaiter(thisArg, _arguments, P, generator) {
-  function adopt(value) {
-    return value instanceof P ? value : new P(function(resolve2) {
-      resolve2(value);
-    });
-  }
-  return new (P || (P = Promise))(function(resolve2, 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);
+    exports2.SignedIdentifier = {
+      serializedName: "SignedIdentifier",
+      xmlName: "SignedIdentifier",
+      type: {
+        name: "Composite",
+        className: "SignedIdentifier",
+        modelProperties: {
+          id: {
+            serializedName: "Id",
+            required: true,
+            xmlName: "Id",
+            type: {
+              name: "String"
+            }
+          },
+          accessPolicy: {
+            serializedName: "AccessPolicy",
+            xmlName: "AccessPolicy",
+            type: {
+              name: "Composite",
+              className: "AccessPolicy"
+            }
+          }
+        }
       }
-    }
-    function step(result) {
-      result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
-    }
-    step((generator = generator.apply(thisArg, _arguments || [])).next());
-  });
-}
-function __generator(thisArg, body) {
-  var _2 = { label: 0, sent: function() {
-    if (t[0] & 1) throw t[1];
-    return t[1];
-  }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
-  return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
-    return this;
-  }), g;
-  function verb(n) {
-    return function(v) {
-      return step([n, v]);
     };
-  }
-  function step(op) {
-    if (f) throw new TypeError("Generator is already executing.");
-    while (g && (g = 0, op[0] && (_2 = 0)), _2) try {
-      if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
-      if (y = 0, t) op = [op[0] & 2, t.value];
-      switch (op[0]) {
-        case 0:
-        case 1:
-          t = op;
-          break;
-        case 4:
-          _2.label++;
-          return { value: op[1], done: false };
-        case 5:
-          _2.label++;
-          y = op[1];
-          op = [0];
-          continue;
-        case 7:
-          op = _2.ops.pop();
-          _2.trys.pop();
-          continue;
-        default:
-          if (!(t = _2.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
-            _2 = 0;
-            continue;
+    exports2.AccessPolicy = {
+      serializedName: "AccessPolicy",
+      type: {
+        name: "Composite",
+        className: "AccessPolicy",
+        modelProperties: {
+          startsOn: {
+            serializedName: "Start",
+            xmlName: "Start",
+            type: {
+              name: "String"
+            }
+          },
+          expiresOn: {
+            serializedName: "Expiry",
+            xmlName: "Expiry",
+            type: {
+              name: "String"
+            }
+          },
+          permissions: {
+            serializedName: "Permission",
+            xmlName: "Permission",
+            type: {
+              name: "String"
+            }
           }
-          if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
-            _2.label = op[1];
-            break;
+        }
+      }
+    };
+    exports2.ListBlobsFlatSegmentResponse = {
+      serializedName: "ListBlobsFlatSegmentResponse",
+      xmlName: "EnumerationResults",
+      type: {
+        name: "Composite",
+        className: "ListBlobsFlatSegmentResponse",
+        modelProperties: {
+          serviceEndpoint: {
+            serializedName: "ServiceEndpoint",
+            required: true,
+            xmlName: "ServiceEndpoint",
+            xmlIsAttribute: true,
+            type: {
+              name: "String"
+            }
+          },
+          containerName: {
+            serializedName: "ContainerName",
+            required: true,
+            xmlName: "ContainerName",
+            xmlIsAttribute: true,
+            type: {
+              name: "String"
+            }
+          },
+          prefix: {
+            serializedName: "Prefix",
+            xmlName: "Prefix",
+            type: {
+              name: "String"
+            }
+          },
+          marker: {
+            serializedName: "Marker",
+            xmlName: "Marker",
+            type: {
+              name: "String"
+            }
+          },
+          maxPageSize: {
+            serializedName: "MaxResults",
+            xmlName: "MaxResults",
+            type: {
+              name: "Number"
+            }
+          },
+          segment: {
+            serializedName: "Segment",
+            xmlName: "Blobs",
+            type: {
+              name: "Composite",
+              className: "BlobFlatListSegment"
+            }
+          },
+          continuationToken: {
+            serializedName: "NextMarker",
+            xmlName: "NextMarker",
+            type: {
+              name: "String"
+            }
           }
-          if (op[0] === 6 && _2.label < t[1]) {
-            _2.label = t[1];
-            t = op;
-            break;
+        }
+      }
+    };
+    exports2.BlobFlatListSegment = {
+      serializedName: "BlobFlatListSegment",
+      xmlName: "Blobs",
+      type: {
+        name: "Composite",
+        className: "BlobFlatListSegment",
+        modelProperties: {
+          blobItems: {
+            serializedName: "BlobItems",
+            required: true,
+            xmlName: "BlobItems",
+            xmlElementName: "Blob",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "BlobItemInternal"
+                }
+              }
+            }
           }
-          if (t && _2.label < t[2]) {
-            _2.label = t[2];
-            _2.ops.push(op);
-            break;
+        }
+      }
+    };
+    exports2.BlobItemInternal = {
+      serializedName: "BlobItemInternal",
+      xmlName: "Blob",
+      type: {
+        name: "Composite",
+        className: "BlobItemInternal",
+        modelProperties: {
+          name: {
+            serializedName: "Name",
+            xmlName: "Name",
+            type: {
+              name: "Composite",
+              className: "BlobName"
+            }
+          },
+          deleted: {
+            serializedName: "Deleted",
+            required: true,
+            xmlName: "Deleted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          snapshot: {
+            serializedName: "Snapshot",
+            required: true,
+            xmlName: "Snapshot",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "VersionId",
+            xmlName: "VersionId",
+            type: {
+              name: "String"
+            }
+          },
+          isCurrentVersion: {
+            serializedName: "IsCurrentVersion",
+            xmlName: "IsCurrentVersion",
+            type: {
+              name: "Boolean"
+            }
+          },
+          properties: {
+            serializedName: "Properties",
+            xmlName: "Properties",
+            type: {
+              name: "Composite",
+              className: "BlobPropertiesInternal"
+            }
+          },
+          metadata: {
+            serializedName: "Metadata",
+            xmlName: "Metadata",
+            type: {
+              name: "Dictionary",
+              value: { type: { name: "String" } }
+            }
+          },
+          blobTags: {
+            serializedName: "BlobTags",
+            xmlName: "Tags",
+            type: {
+              name: "Composite",
+              className: "BlobTags"
+            }
+          },
+          objectReplicationMetadata: {
+            serializedName: "ObjectReplicationMetadata",
+            xmlName: "OrMetadata",
+            type: {
+              name: "Dictionary",
+              value: { type: { name: "String" } }
+            }
+          },
+          hasVersionsOnly: {
+            serializedName: "HasVersionsOnly",
+            xmlName: "HasVersionsOnly",
+            type: {
+              name: "Boolean"
+            }
           }
-          if (t[2]) _2.ops.pop();
-          _2.trys.pop();
-          continue;
+        }
       }
-      op = body.call(thisArg, _2);
-    } catch (e) {
-      op = [6, e];
-      y = 0;
-    } finally {
-      f = t = 0;
-    }
-    if (op[0] & 5) throw op[1];
-    return { value: op[0] ? op[1] : void 0, done: true };
-  }
-}
-function __exportStar(m, o) {
-  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
-}
-function __values2(o) {
-  var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
-  if (m) return m.call(o);
-  if (o && typeof o.length === "number") return {
-    next: function() {
-      if (o && i >= o.length) o = void 0;
-      return { value: o && o[i++], done: !o };
-    }
-  };
-  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
-}
-function __read(o, n) {
-  var m = typeof Symbol === "function" && o[Symbol.iterator];
-  if (!m) return o;
-  var i = m.call(o), r, ar = [], e;
-  try {
-    while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
-  } catch (error3) {
-    e = { error: error3 };
-  } finally {
-    try {
-      if (r && !r.done && (m = i["return"])) m.call(i);
-    } finally {
-      if (e) throw e.error;
-    }
-  }
-  return ar;
-}
-function __spread() {
-  for (var ar = [], i = 0; i < arguments.length; i++)
-    ar = ar.concat(__read(arguments[i]));
-  return ar;
-}
-function __spreadArrays() {
-  for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
-  for (var r = Array(s), k = 0, i = 0; i < il; i++)
-    for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
-      r[k] = a[j];
-  return r;
-}
-function __spreadArray(to, from, pack) {
-  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
-    if (ar || !(i in from)) {
-      if (!ar) ar = Array.prototype.slice.call(from, 0, i);
-      ar[i] = from[i];
-    }
-  }
-  return to.concat(ar || Array.prototype.slice.call(from));
-}
-function __await(v) {
-  return this instanceof __await ? (this.v = v, this) : new __await(v);
-}
-function __asyncGenerator(thisArg, _arguments, generator) {
-  if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
-  var g = generator.apply(thisArg, _arguments || []), i, q = [];
-  return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function() {
-    return this;
-  }, i;
-  function awaitReturn(f) {
-    return function(v) {
-      return Promise.resolve(v).then(f, reject);
     };
-  }
-  function verb(n, f) {
-    if (g[n]) {
-      i[n] = function(v) {
-        return new Promise(function(a, b) {
-          q.push([n, v, a, b]) > 1 || resume(n, v);
-        });
-      };
-      if (f) i[n] = f(i[n]);
-    }
-  }
-  function resume(n, v) {
-    try {
-      step(g[n](v));
-    } catch (e) {
-      settle(q[0][3], e);
-    }
-  }
-  function step(r) {
-    r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);
-  }
-  function fulfill(value) {
-    resume("next", value);
-  }
-  function reject(value) {
-    resume("throw", value);
-  }
-  function settle(f, v) {
-    if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);
-  }
-}
-function __asyncDelegator(o) {
-  var i, p;
-  return i = {}, verb("next"), verb("throw", function(e) {
-    throw e;
-  }), verb("return"), i[Symbol.iterator] = function() {
-    return this;
-  }, i;
-  function verb(n, f) {
-    i[n] = o[n] ? function(v) {
-      return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v;
-    } : f;
-  }
-}
-function __asyncValues(o) {
-  if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
-  var m = o[Symbol.asyncIterator], i;
-  return m ? m.call(o) : (o = typeof __values2 === "function" ? __values2(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() {
-    return this;
-  }, i);
-  function verb(n) {
-    i[n] = o[n] && function(v) {
-      return new Promise(function(resolve2, reject) {
-        v = o[n](v), settle(resolve2, reject, v.done, v.value);
-      });
+    exports2.BlobName = {
+      serializedName: "BlobName",
+      type: {
+        name: "Composite",
+        className: "BlobName",
+        modelProperties: {
+          encoded: {
+            serializedName: "Encoded",
+            xmlName: "Encoded",
+            xmlIsAttribute: true,
+            type: {
+              name: "Boolean"
+            }
+          },
+          content: {
+            serializedName: "content",
+            xmlName: "content",
+            xmlIsMsText: true,
+            type: {
+              name: "String"
+            }
+          }
+        }
+      }
     };
-  }
-  function settle(resolve2, reject, d, v) {
-    Promise.resolve(v).then(function(v2) {
-      resolve2({ value: v2, done: d });
-    }, reject);
-  }
-}
-function __makeTemplateObject(cooked, raw) {
-  if (Object.defineProperty) {
-    Object.defineProperty(cooked, "raw", { value: raw });
-  } else {
-    cooked.raw = raw;
-  }
-  return cooked;
-}
-function __importStar(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;
-}
-function __importDefault(mod) {
-  return mod && mod.__esModule ? mod : { default: mod };
-}
-function __classPrivateFieldGet(receiver, state, kind, f) {
-  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-}
-function __classPrivateFieldSet(receiver, state, value, kind, f) {
-  if (kind === "m") throw new TypeError("Private method is not writable");
-  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-  return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;
-}
-function __classPrivateFieldIn(state, receiver) {
-  if (receiver === null || typeof receiver !== "object" && typeof receiver !== "function") throw new TypeError("Cannot use 'in' operator on non-object");
-  return typeof state === "function" ? receiver === state : state.has(receiver);
-}
-function __addDisposableResource(env, value, async) {
-  if (value !== null && value !== void 0) {
-    if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
-    var dispose, inner;
-    if (async) {
-      if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
-      dispose = value[Symbol.asyncDispose];
-    }
-    if (dispose === void 0) {
-      if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
-      dispose = value[Symbol.dispose];
-      if (async) inner = dispose;
-    }
-    if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
-    if (inner) dispose = function() {
-      try {
-        inner.call(this);
-      } catch (e) {
-        return Promise.reject(e);
+    exports2.BlobPropertiesInternal = {
+      serializedName: "BlobPropertiesInternal",
+      xmlName: "Properties",
+      type: {
+        name: "Composite",
+        className: "BlobPropertiesInternal",
+        modelProperties: {
+          createdOn: {
+            serializedName: "Creation-Time",
+            xmlName: "Creation-Time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          lastModified: {
+            serializedName: "Last-Modified",
+            required: true,
+            xmlName: "Last-Modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          etag: {
+            serializedName: "Etag",
+            required: true,
+            xmlName: "Etag",
+            type: {
+              name: "String"
+            }
+          },
+          contentLength: {
+            serializedName: "Content-Length",
+            xmlName: "Content-Length",
+            type: {
+              name: "Number"
+            }
+          },
+          contentType: {
+            serializedName: "Content-Type",
+            xmlName: "Content-Type",
+            type: {
+              name: "String"
+            }
+          },
+          contentEncoding: {
+            serializedName: "Content-Encoding",
+            xmlName: "Content-Encoding",
+            type: {
+              name: "String"
+            }
+          },
+          contentLanguage: {
+            serializedName: "Content-Language",
+            xmlName: "Content-Language",
+            type: {
+              name: "String"
+            }
+          },
+          contentMD5: {
+            serializedName: "Content-MD5",
+            xmlName: "Content-MD5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          contentDisposition: {
+            serializedName: "Content-Disposition",
+            xmlName: "Content-Disposition",
+            type: {
+              name: "String"
+            }
+          },
+          cacheControl: {
+            serializedName: "Cache-Control",
+            xmlName: "Cache-Control",
+            type: {
+              name: "String"
+            }
+          },
+          blobSequenceNumber: {
+            serializedName: "x-ms-blob-sequence-number",
+            xmlName: "x-ms-blob-sequence-number",
+            type: {
+              name: "Number"
+            }
+          },
+          blobType: {
+            serializedName: "BlobType",
+            xmlName: "BlobType",
+            type: {
+              name: "Enum",
+              allowedValues: ["BlockBlob", "PageBlob", "AppendBlob"]
+            }
+          },
+          leaseStatus: {
+            serializedName: "LeaseStatus",
+            xmlName: "LeaseStatus",
+            type: {
+              name: "Enum",
+              allowedValues: ["locked", "unlocked"]
+            }
+          },
+          leaseState: {
+            serializedName: "LeaseState",
+            xmlName: "LeaseState",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "available",
+                "leased",
+                "expired",
+                "breaking",
+                "broken"
+              ]
+            }
+          },
+          leaseDuration: {
+            serializedName: "LeaseDuration",
+            xmlName: "LeaseDuration",
+            type: {
+              name: "Enum",
+              allowedValues: ["infinite", "fixed"]
+            }
+          },
+          copyId: {
+            serializedName: "CopyId",
+            xmlName: "CopyId",
+            type: {
+              name: "String"
+            }
+          },
+          copyStatus: {
+            serializedName: "CopyStatus",
+            xmlName: "CopyStatus",
+            type: {
+              name: "Enum",
+              allowedValues: ["pending", "success", "aborted", "failed"]
+            }
+          },
+          copySource: {
+            serializedName: "CopySource",
+            xmlName: "CopySource",
+            type: {
+              name: "String"
+            }
+          },
+          copyProgress: {
+            serializedName: "CopyProgress",
+            xmlName: "CopyProgress",
+            type: {
+              name: "String"
+            }
+          },
+          copyCompletedOn: {
+            serializedName: "CopyCompletionTime",
+            xmlName: "CopyCompletionTime",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          copyStatusDescription: {
+            serializedName: "CopyStatusDescription",
+            xmlName: "CopyStatusDescription",
+            type: {
+              name: "String"
+            }
+          },
+          serverEncrypted: {
+            serializedName: "ServerEncrypted",
+            xmlName: "ServerEncrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          incrementalCopy: {
+            serializedName: "IncrementalCopy",
+            xmlName: "IncrementalCopy",
+            type: {
+              name: "Boolean"
+            }
+          },
+          destinationSnapshot: {
+            serializedName: "DestinationSnapshot",
+            xmlName: "DestinationSnapshot",
+            type: {
+              name: "String"
+            }
+          },
+          deletedOn: {
+            serializedName: "DeletedTime",
+            xmlName: "DeletedTime",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          remainingRetentionDays: {
+            serializedName: "RemainingRetentionDays",
+            xmlName: "RemainingRetentionDays",
+            type: {
+              name: "Number"
+            }
+          },
+          accessTier: {
+            serializedName: "AccessTier",
+            xmlName: "AccessTier",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "P4",
+                "P6",
+                "P10",
+                "P15",
+                "P20",
+                "P30",
+                "P40",
+                "P50",
+                "P60",
+                "P70",
+                "P80",
+                "Hot",
+                "Cool",
+                "Archive",
+                "Cold"
+              ]
+            }
+          },
+          accessTierInferred: {
+            serializedName: "AccessTierInferred",
+            xmlName: "AccessTierInferred",
+            type: {
+              name: "Boolean"
+            }
+          },
+          archiveStatus: {
+            serializedName: "ArchiveStatus",
+            xmlName: "ArchiveStatus",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "rehydrate-pending-to-hot",
+                "rehydrate-pending-to-cool",
+                "rehydrate-pending-to-cold"
+              ]
+            }
+          },
+          customerProvidedKeySha256: {
+            serializedName: "CustomerProvidedKeySha256",
+            xmlName: "CustomerProvidedKeySha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "EncryptionScope",
+            xmlName: "EncryptionScope",
+            type: {
+              name: "String"
+            }
+          },
+          accessTierChangedOn: {
+            serializedName: "AccessTierChangeTime",
+            xmlName: "AccessTierChangeTime",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          tagCount: {
+            serializedName: "TagCount",
+            xmlName: "TagCount",
+            type: {
+              name: "Number"
+            }
+          },
+          expiresOn: {
+            serializedName: "Expiry-Time",
+            xmlName: "Expiry-Time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isSealed: {
+            serializedName: "Sealed",
+            xmlName: "Sealed",
+            type: {
+              name: "Boolean"
+            }
+          },
+          rehydratePriority: {
+            serializedName: "RehydratePriority",
+            xmlName: "RehydratePriority",
+            type: {
+              name: "Enum",
+              allowedValues: ["High", "Standard"]
+            }
+          },
+          lastAccessedOn: {
+            serializedName: "LastAccessTime",
+            xmlName: "LastAccessTime",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          immutabilityPolicyExpiresOn: {
+            serializedName: "ImmutabilityPolicyUntilDate",
+            xmlName: "ImmutabilityPolicyUntilDate",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          immutabilityPolicyMode: {
+            serializedName: "ImmutabilityPolicyMode",
+            xmlName: "ImmutabilityPolicyMode",
+            type: {
+              name: "Enum",
+              allowedValues: ["Mutable", "Unlocked", "Locked"]
+            }
+          },
+          legalHold: {
+            serializedName: "LegalHold",
+            xmlName: "LegalHold",
+            type: {
+              name: "Boolean"
+            }
+          }
+        }
       }
     };
-    env.stack.push({ value, dispose, async });
-  } else if (async) {
-    env.stack.push({ async: true });
-  }
-  return value;
-}
-function __disposeResources(env) {
-  function fail(e) {
-    env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
-    env.hasError = true;
-  }
-  var r, s = 0;
-  function next() {
-    while (r = env.stack.pop()) {
-      try {
-        if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
-        if (r.dispose) {
-          var result = r.dispose.call(r.value);
-          if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {
-            fail(e);
-            return next();
-          });
-        } else s |= 1;
-      } catch (e) {
-        fail(e);
+    exports2.ListBlobsHierarchySegmentResponse = {
+      serializedName: "ListBlobsHierarchySegmentResponse",
+      xmlName: "EnumerationResults",
+      type: {
+        name: "Composite",
+        className: "ListBlobsHierarchySegmentResponse",
+        modelProperties: {
+          serviceEndpoint: {
+            serializedName: "ServiceEndpoint",
+            required: true,
+            xmlName: "ServiceEndpoint",
+            xmlIsAttribute: true,
+            type: {
+              name: "String"
+            }
+          },
+          containerName: {
+            serializedName: "ContainerName",
+            required: true,
+            xmlName: "ContainerName",
+            xmlIsAttribute: true,
+            type: {
+              name: "String"
+            }
+          },
+          prefix: {
+            serializedName: "Prefix",
+            xmlName: "Prefix",
+            type: {
+              name: "String"
+            }
+          },
+          marker: {
+            serializedName: "Marker",
+            xmlName: "Marker",
+            type: {
+              name: "String"
+            }
+          },
+          maxPageSize: {
+            serializedName: "MaxResults",
+            xmlName: "MaxResults",
+            type: {
+              name: "Number"
+            }
+          },
+          delimiter: {
+            serializedName: "Delimiter",
+            xmlName: "Delimiter",
+            type: {
+              name: "String"
+            }
+          },
+          segment: {
+            serializedName: "Segment",
+            xmlName: "Blobs",
+            type: {
+              name: "Composite",
+              className: "BlobHierarchyListSegment"
+            }
+          },
+          continuationToken: {
+            serializedName: "NextMarker",
+            xmlName: "NextMarker",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-    }
-    if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
-    if (env.hasError) throw env.error;
-  }
-  return next();
-}
-function __rewriteRelativeImportExtension(path3, preserveJsx) {
-  if (typeof path3 === "string" && /^\.\.?\//.test(path3)) {
-    return path3.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function(m, tsx, d, ext, cm) {
-      return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : d + ext + "." + cm.toLowerCase() + "js";
-    });
-  }
-  return path3;
-}
-var extendStatics, __assign, __createBinding, __setModuleDefault, ownKeys, _SuppressedError, tslib_es6_default;
-var init_tslib_es6 = __esm({
-  "node_modules/tslib/tslib.es6.mjs"() {
-    extendStatics = function(d, b) {
-      extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
-        d2.__proto__ = b2;
-      } || function(d2, b2) {
-        for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
-      };
-      return extendStatics(d, b);
     };
-    __assign = function() {
-      __assign = Object.assign || function __assign2(t) {
-        for (var s, i = 1, n = arguments.length; i < n; i++) {
-          s = arguments[i];
-          for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
+    exports2.BlobHierarchyListSegment = {
+      serializedName: "BlobHierarchyListSegment",
+      xmlName: "Blobs",
+      type: {
+        name: "Composite",
+        className: "BlobHierarchyListSegment",
+        modelProperties: {
+          blobPrefixes: {
+            serializedName: "BlobPrefixes",
+            xmlName: "BlobPrefixes",
+            xmlElementName: "BlobPrefix",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "BlobPrefix"
+                }
+              }
+            }
+          },
+          blobItems: {
+            serializedName: "BlobItems",
+            required: true,
+            xmlName: "BlobItems",
+            xmlElementName: "Blob",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "BlobItemInternal"
+                }
+              }
+            }
+          }
         }
-        return t;
-      };
-      return __assign.apply(this, arguments);
-    };
-    __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];
-    });
-    __setModuleDefault = Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    };
-    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);
     };
-    _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function(error3, suppressed, message) {
-      var e = new Error(message);
-      return e.name = "SuppressedError", e.error = error3, e.suppressed = suppressed, e;
-    };
-    tslib_es6_default = {
-      __extends,
-      __assign,
-      __rest,
-      __decorate,
-      __param,
-      __esDecorate,
-      __runInitializers,
-      __propKey,
-      __setFunctionName,
-      __metadata,
-      __awaiter,
-      __generator,
-      __createBinding,
-      __exportStar,
-      __values: __values2,
-      __read,
-      __spread,
-      __spreadArrays,
-      __spreadArray,
-      __await,
-      __asyncGenerator,
-      __asyncDelegator,
-      __asyncValues,
-      __makeTemplateObject,
-      __importStar,
-      __importDefault,
-      __classPrivateFieldGet,
-      __classPrivateFieldSet,
-      __classPrivateFieldIn,
-      __addDisposableResource,
-      __disposeResources,
-      __rewriteRelativeImportExtension
+    exports2.BlobPrefix = {
+      serializedName: "BlobPrefix",
+      type: {
+        name: "Composite",
+        className: "BlobPrefix",
+        modelProperties: {
+          name: {
+            serializedName: "Name",
+            xmlName: "Name",
+            type: {
+              name: "Composite",
+              className: "BlobName"
+            }
+          }
+        }
+      }
     };
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/abort-controller/AbortError.js
-var require_AbortError = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/abort-controller/AbortError.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AbortError = void 0;
-    var AbortError = class extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "AbortError";
+    exports2.BlockLookupList = {
+      serializedName: "BlockLookupList",
+      xmlName: "BlockList",
+      type: {
+        name: "Composite",
+        className: "BlockLookupList",
+        modelProperties: {
+          committed: {
+            serializedName: "Committed",
+            xmlName: "Committed",
+            xmlElementName: "Committed",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "String"
+                }
+              }
+            }
+          },
+          uncommitted: {
+            serializedName: "Uncommitted",
+            xmlName: "Uncommitted",
+            xmlElementName: "Uncommitted",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "String"
+                }
+              }
+            }
+          },
+          latest: {
+            serializedName: "Latest",
+            xmlName: "Latest",
+            xmlElementName: "Latest",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "String"
+                }
+              }
+            }
+          }
+        }
       }
     };
-    exports2.AbortError = AbortError;
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/log.js
-var require_log = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/log.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.log = log;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var node_os_1 = require("node:os");
-    var node_util_1 = tslib_1.__importDefault(require("node:util"));
-    var node_process_1 = tslib_1.__importDefault(require("node:process"));
-    function log(message, ...args) {
-      node_process_1.default.stderr.write(`${node_util_1.default.format(message, ...args)}${node_os_1.EOL}`);
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/debug.js
-var require_debug2 = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/debug.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    var log_js_1 = require_log();
-    var debugEnvVariable = typeof process !== "undefined" && process.env && process.env.DEBUG || void 0;
-    var enabledString;
-    var enabledNamespaces = [];
-    var skippedNamespaces = [];
-    var debuggers = [];
-    if (debugEnvVariable) {
-      enable(debugEnvVariable);
-    }
-    var debugObj = Object.assign((namespace) => {
-      return createDebugger(namespace);
-    }, {
-      enable,
-      enabled,
-      disable,
-      log: log_js_1.log
-    });
-    function enable(namespaces) {
-      enabledString = namespaces;
-      enabledNamespaces = [];
-      skippedNamespaces = [];
-      const namespaceList = namespaces.split(",").map((ns) => ns.trim());
-      for (const ns of namespaceList) {
-        if (ns.startsWith("-")) {
-          skippedNamespaces.push(ns.substring(1));
-        } else {
-          enabledNamespaces.push(ns);
+    exports2.BlockList = {
+      serializedName: "BlockList",
+      type: {
+        name: "Composite",
+        className: "BlockList",
+        modelProperties: {
+          committedBlocks: {
+            serializedName: "CommittedBlocks",
+            xmlName: "CommittedBlocks",
+            xmlIsWrapped: true,
+            xmlElementName: "Block",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "Block"
+                }
+              }
+            }
+          },
+          uncommittedBlocks: {
+            serializedName: "UncommittedBlocks",
+            xmlName: "UncommittedBlocks",
+            xmlIsWrapped: true,
+            xmlElementName: "Block",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "Block"
+                }
+              }
+            }
+          }
         }
       }
-      for (const instance of debuggers) {
-        instance.enabled = enabled(instance.namespace);
-      }
-    }
-    function enabled(namespace) {
-      if (namespace.endsWith("*")) {
-        return true;
-      }
-      for (const skipped of skippedNamespaces) {
-        if (namespaceMatches(namespace, skipped)) {
-          return false;
+    };
+    exports2.Block = {
+      serializedName: "Block",
+      type: {
+        name: "Composite",
+        className: "Block",
+        modelProperties: {
+          name: {
+            serializedName: "Name",
+            required: true,
+            xmlName: "Name",
+            type: {
+              name: "String"
+            }
+          },
+          size: {
+            serializedName: "Size",
+            required: true,
+            xmlName: "Size",
+            type: {
+              name: "Number"
+            }
+          }
         }
       }
-      for (const enabledNamespace of enabledNamespaces) {
-        if (namespaceMatches(namespace, enabledNamespace)) {
-          return true;
+    };
+    exports2.PageList = {
+      serializedName: "PageList",
+      type: {
+        name: "Composite",
+        className: "PageList",
+        modelProperties: {
+          pageRange: {
+            serializedName: "PageRange",
+            xmlName: "PageRange",
+            xmlElementName: "PageRange",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "PageRange"
+                }
+              }
+            }
+          },
+          clearRange: {
+            serializedName: "ClearRange",
+            xmlName: "ClearRange",
+            xmlElementName: "ClearRange",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "ClearRange"
+                }
+              }
+            }
+          },
+          continuationToken: {
+            serializedName: "NextMarker",
+            xmlName: "NextMarker",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-      return false;
-    }
-    function namespaceMatches(namespace, patternToMatch) {
-      if (patternToMatch.indexOf("*") === -1) {
-        return namespace === patternToMatch;
-      }
-      let pattern = patternToMatch;
-      if (patternToMatch.indexOf("**") !== -1) {
-        const patternParts = [];
-        let lastCharacter = "";
-        for (const character of patternToMatch) {
-          if (character === "*" && lastCharacter === "*") {
-            continue;
-          } else {
-            lastCharacter = character;
-            patternParts.push(character);
+    };
+    exports2.PageRange = {
+      serializedName: "PageRange",
+      xmlName: "PageRange",
+      type: {
+        name: "Composite",
+        className: "PageRange",
+        modelProperties: {
+          start: {
+            serializedName: "Start",
+            required: true,
+            xmlName: "Start",
+            type: {
+              name: "Number"
+            }
+          },
+          end: {
+            serializedName: "End",
+            required: true,
+            xmlName: "End",
+            type: {
+              name: "Number"
+            }
           }
         }
-        pattern = patternParts.join("");
       }
-      let namespaceIndex = 0;
-      let patternIndex = 0;
-      const patternLength = pattern.length;
-      const namespaceLength = namespace.length;
-      let lastWildcard = -1;
-      let lastWildcardNamespace = -1;
-      while (namespaceIndex < namespaceLength && patternIndex < patternLength) {
-        if (pattern[patternIndex] === "*") {
-          lastWildcard = patternIndex;
-          patternIndex++;
-          if (patternIndex === patternLength) {
-            return true;
+    };
+    exports2.ClearRange = {
+      serializedName: "ClearRange",
+      xmlName: "ClearRange",
+      type: {
+        name: "Composite",
+        className: "ClearRange",
+        modelProperties: {
+          start: {
+            serializedName: "Start",
+            required: true,
+            xmlName: "Start",
+            type: {
+              name: "Number"
+            }
+          },
+          end: {
+            serializedName: "End",
+            required: true,
+            xmlName: "End",
+            type: {
+              name: "Number"
+            }
           }
-          while (namespace[namespaceIndex] !== pattern[patternIndex]) {
-            namespaceIndex++;
-            if (namespaceIndex === namespaceLength) {
-              return false;
+        }
+      }
+    };
+    exports2.QueryRequest = {
+      serializedName: "QueryRequest",
+      xmlName: "QueryRequest",
+      type: {
+        name: "Composite",
+        className: "QueryRequest",
+        modelProperties: {
+          queryType: {
+            serializedName: "QueryType",
+            required: true,
+            xmlName: "QueryType",
+            type: {
+              name: "String"
+            }
+          },
+          expression: {
+            serializedName: "Expression",
+            required: true,
+            xmlName: "Expression",
+            type: {
+              name: "String"
+            }
+          },
+          inputSerialization: {
+            serializedName: "InputSerialization",
+            xmlName: "InputSerialization",
+            type: {
+              name: "Composite",
+              className: "QuerySerialization"
+            }
+          },
+          outputSerialization: {
+            serializedName: "OutputSerialization",
+            xmlName: "OutputSerialization",
+            type: {
+              name: "Composite",
+              className: "QuerySerialization"
             }
           }
-          lastWildcardNamespace = namespaceIndex;
-          namespaceIndex++;
-          patternIndex++;
-          continue;
-        } else if (pattern[patternIndex] === namespace[namespaceIndex]) {
-          patternIndex++;
-          namespaceIndex++;
-        } else if (lastWildcard >= 0) {
-          patternIndex = lastWildcard + 1;
-          namespaceIndex = lastWildcardNamespace + 1;
-          if (namespaceIndex === namespaceLength) {
-            return false;
+        }
+      }
+    };
+    exports2.QuerySerialization = {
+      serializedName: "QuerySerialization",
+      type: {
+        name: "Composite",
+        className: "QuerySerialization",
+        modelProperties: {
+          format: {
+            serializedName: "Format",
+            xmlName: "Format",
+            type: {
+              name: "Composite",
+              className: "QueryFormat"
+            }
           }
-          while (namespace[namespaceIndex] !== pattern[patternIndex]) {
-            namespaceIndex++;
-            if (namespaceIndex === namespaceLength) {
-              return false;
+        }
+      }
+    };
+    exports2.QueryFormat = {
+      serializedName: "QueryFormat",
+      type: {
+        name: "Composite",
+        className: "QueryFormat",
+        modelProperties: {
+          type: {
+            serializedName: "Type",
+            required: true,
+            xmlName: "Type",
+            type: {
+              name: "Enum",
+              allowedValues: ["delimited", "json", "arrow", "parquet"]
+            }
+          },
+          delimitedTextConfiguration: {
+            serializedName: "DelimitedTextConfiguration",
+            xmlName: "DelimitedTextConfiguration",
+            type: {
+              name: "Composite",
+              className: "DelimitedTextConfiguration"
+            }
+          },
+          jsonTextConfiguration: {
+            serializedName: "JsonTextConfiguration",
+            xmlName: "JsonTextConfiguration",
+            type: {
+              name: "Composite",
+              className: "JsonTextConfiguration"
+            }
+          },
+          arrowConfiguration: {
+            serializedName: "ArrowConfiguration",
+            xmlName: "ArrowConfiguration",
+            type: {
+              name: "Composite",
+              className: "ArrowConfiguration"
+            }
+          },
+          parquetTextConfiguration: {
+            serializedName: "ParquetTextConfiguration",
+            xmlName: "ParquetTextConfiguration",
+            type: {
+              name: "Dictionary",
+              value: { type: { name: "any" } }
             }
           }
-          lastWildcardNamespace = namespaceIndex;
-          namespaceIndex++;
-          patternIndex++;
-          continue;
-        } else {
-          return false;
         }
       }
-      const namespaceDone = namespaceIndex === namespace.length;
-      const patternDone = patternIndex === pattern.length;
-      const trailingWildCard = patternIndex === pattern.length - 1 && pattern[patternIndex] === "*";
-      return namespaceDone && (patternDone || trailingWildCard);
-    }
-    function disable() {
-      const result = enabledString || "";
-      enable("");
-      return result;
-    }
-    function createDebugger(namespace) {
-      const newDebugger = Object.assign(debug4, {
-        enabled: enabled(namespace),
-        destroy,
-        log: debugObj.log,
-        namespace,
-        extend: extend3
-      });
-      function debug4(...args) {
-        if (!newDebugger.enabled) {
-          return;
+    };
+    exports2.DelimitedTextConfiguration = {
+      serializedName: "DelimitedTextConfiguration",
+      xmlName: "DelimitedTextConfiguration",
+      type: {
+        name: "Composite",
+        className: "DelimitedTextConfiguration",
+        modelProperties: {
+          columnSeparator: {
+            serializedName: "ColumnSeparator",
+            xmlName: "ColumnSeparator",
+            type: {
+              name: "String"
+            }
+          },
+          fieldQuote: {
+            serializedName: "FieldQuote",
+            xmlName: "FieldQuote",
+            type: {
+              name: "String"
+            }
+          },
+          recordSeparator: {
+            serializedName: "RecordSeparator",
+            xmlName: "RecordSeparator",
+            type: {
+              name: "String"
+            }
+          },
+          escapeChar: {
+            serializedName: "EscapeChar",
+            xmlName: "EscapeChar",
+            type: {
+              name: "String"
+            }
+          },
+          headersPresent: {
+            serializedName: "HeadersPresent",
+            xmlName: "HasHeaders",
+            type: {
+              name: "Boolean"
+            }
+          }
         }
-        if (args.length > 0) {
-          args[0] = `${namespace} ${args[0]}`;
+      }
+    };
+    exports2.JsonTextConfiguration = {
+      serializedName: "JsonTextConfiguration",
+      xmlName: "JsonTextConfiguration",
+      type: {
+        name: "Composite",
+        className: "JsonTextConfiguration",
+        modelProperties: {
+          recordSeparator: {
+            serializedName: "RecordSeparator",
+            xmlName: "RecordSeparator",
+            type: {
+              name: "String"
+            }
+          }
         }
-        newDebugger.log(...args);
       }
-      debuggers.push(newDebugger);
-      return newDebugger;
-    }
-    function destroy() {
-      const index = debuggers.indexOf(this);
-      if (index >= 0) {
-        debuggers.splice(index, 1);
-        return true;
+    };
+    exports2.ArrowConfiguration = {
+      serializedName: "ArrowConfiguration",
+      xmlName: "ArrowConfiguration",
+      type: {
+        name: "Composite",
+        className: "ArrowConfiguration",
+        modelProperties: {
+          schema: {
+            serializedName: "Schema",
+            required: true,
+            xmlName: "Schema",
+            xmlIsWrapped: true,
+            xmlElementName: "Field",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "ArrowField"
+                }
+              }
+            }
+          }
+        }
       }
-      return false;
-    }
-    function extend3(namespace) {
-      const newDebugger = createDebugger(`${this.namespace}:${namespace}`);
-      newDebugger.log = this.log;
-      return newDebugger;
-    }
-    exports2.default = debugObj;
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/logger.js
-var require_logger = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/logger.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.TypeSpecRuntimeLogger = void 0;
-    exports2.createLoggerContext = createLoggerContext;
-    exports2.setLogLevel = setLogLevel;
-    exports2.getLogLevel = getLogLevel;
-    exports2.createClientLogger = createClientLogger;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var debug_js_1 = tslib_1.__importDefault(require_debug2());
-    var TYPESPEC_RUNTIME_LOG_LEVELS = ["verbose", "info", "warning", "error"];
-    var levelMap = {
-      verbose: 400,
-      info: 300,
-      warning: 200,
-      error: 100
     };
-    function patchLogMethod(parent, child) {
-      child.log = (...args) => {
-        parent.log(...args);
-      };
-    }
-    function isTypeSpecRuntimeLogLevel(level) {
-      return TYPESPEC_RUNTIME_LOG_LEVELS.includes(level);
-    }
-    function createLoggerContext(options) {
-      const registeredLoggers = /* @__PURE__ */ new Set();
-      const logLevelFromEnv = typeof process !== "undefined" && process.env && process.env[options.logLevelEnvVarName] || void 0;
-      let logLevel;
-      const clientLogger = (0, debug_js_1.default)(options.namespace);
-      clientLogger.log = (...args) => {
-        debug_js_1.default.log(...args);
-      };
-      function contextSetLogLevel(level) {
-        if (level && !isTypeSpecRuntimeLogLevel(level)) {
-          throw new Error(`Unknown log level '${level}'. Acceptable values: ${TYPESPEC_RUNTIME_LOG_LEVELS.join(",")}`);
+    exports2.ArrowField = {
+      serializedName: "ArrowField",
+      xmlName: "Field",
+      type: {
+        name: "Composite",
+        className: "ArrowField",
+        modelProperties: {
+          type: {
+            serializedName: "Type",
+            required: true,
+            xmlName: "Type",
+            type: {
+              name: "String"
+            }
+          },
+          name: {
+            serializedName: "Name",
+            xmlName: "Name",
+            type: {
+              name: "String"
+            }
+          },
+          precision: {
+            serializedName: "Precision",
+            xmlName: "Precision",
+            type: {
+              name: "Number"
+            }
+          },
+          scale: {
+            serializedName: "Scale",
+            xmlName: "Scale",
+            type: {
+              name: "Number"
+            }
+          }
         }
-        logLevel = level;
-        const enabledNamespaces = [];
-        for (const logger of registeredLoggers) {
-          if (shouldEnable(logger)) {
-            enabledNamespaces.push(logger.namespace);
+      }
+    };
+    exports2.ServiceSetPropertiesHeaders = {
+      serializedName: "Service_setPropertiesHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceSetPropertiesHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
-        debug_js_1.default.enable(enabledNamespaces.join(","));
       }
-      if (logLevelFromEnv) {
-        if (isTypeSpecRuntimeLogLevel(logLevelFromEnv)) {
-          contextSetLogLevel(logLevelFromEnv);
-        } else {
-          console.error(`${options.logLevelEnvVarName} set to unknown log level '${logLevelFromEnv}'; logging is not enabled. Acceptable values: ${TYPESPEC_RUNTIME_LOG_LEVELS.join(", ")}.`);
+    };
+    exports2.ServiceSetPropertiesExceptionHeaders = {
+      serializedName: "Service_setPropertiesExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceSetPropertiesExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-      function shouldEnable(logger) {
-        return Boolean(logLevel && levelMap[logger.level] <= levelMap[logLevel]);
-      }
-      function createLogger2(parent, level) {
-        const logger = Object.assign(parent.extend(level), {
-          level
-        });
-        patchLogMethod(parent, logger);
-        if (shouldEnable(logger)) {
-          const enabledNamespaces = debug_js_1.default.disable();
-          debug_js_1.default.enable(enabledNamespaces + "," + logger.namespace);
+    };
+    exports2.ServiceGetPropertiesHeaders = {
+      serializedName: "Service_getPropertiesHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceGetPropertiesHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        registeredLoggers.add(logger);
-        return logger;
-      }
-      function contextGetLogLevel() {
-        return logLevel;
-      }
-      function contextCreateClientLogger(namespace) {
-        const clientRootLogger = clientLogger.extend(namespace);
-        patchLogMethod(clientLogger, clientRootLogger);
-        return {
-          error: createLogger2(clientRootLogger, "error"),
-          warning: createLogger2(clientRootLogger, "warning"),
-          info: createLogger2(clientRootLogger, "info"),
-          verbose: createLogger2(clientRootLogger, "verbose")
-        };
-      }
-      return {
-        setLogLevel: contextSetLogLevel,
-        getLogLevel: contextGetLogLevel,
-        createClientLogger: contextCreateClientLogger,
-        logger: clientLogger
-      };
-    }
-    var context2 = createLoggerContext({
-      logLevelEnvVarName: "TYPESPEC_RUNTIME_LOG_LEVEL",
-      namespace: "typeSpecRuntime"
-    });
-    exports2.TypeSpecRuntimeLogger = context2.logger;
-    function setLogLevel(logLevel) {
-      context2.setLogLevel(logLevel);
-    }
-    function getLogLevel() {
-      return context2.getLogLevel();
-    }
-    function createClientLogger(namespace) {
-      return context2.createClientLogger(namespace);
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/httpHeaders.js
-var require_httpHeaders = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/httpHeaders.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createHttpHeaders = createHttpHeaders;
-    function normalizeName(name) {
-      return name.toLowerCase();
-    }
-    function* headerIterator(map2) {
-      for (const entry of map2.values()) {
-        yield [entry.name, entry.value];
       }
-    }
-    var HttpHeadersImpl = class {
-      _headersMap;
-      constructor(rawHeaders) {
-        this._headersMap = /* @__PURE__ */ new Map();
-        if (rawHeaders) {
-          for (const headerName of Object.keys(rawHeaders)) {
-            this.set(headerName, rawHeaders[headerName]);
+    };
+    exports2.ServiceGetPropertiesExceptionHeaders = {
+      serializedName: "Service_getPropertiesExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceGetPropertiesExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
       }
-      /**
-       * Set a header in this collection with the provided name and value. The name is
-       * case-insensitive.
-       * @param name - The name of the header to set. This value is case-insensitive.
-       * @param value - The value of the header to set.
-       */
-      set(name, value) {
-        this._headersMap.set(normalizeName(name), { name, value: String(value).trim() });
-      }
-      /**
-       * Get the header value for the provided header name, or undefined if no header exists in this
-       * collection with the provided name.
-       * @param name - The name of the header. This value is case-insensitive.
-       */
-      get(name) {
-        return this._headersMap.get(normalizeName(name))?.value;
-      }
-      /**
-       * Get whether or not this header collection contains a header entry for the provided header name.
-       * @param name - The name of the header to set. This value is case-insensitive.
-       */
-      has(name) {
-        return this._headersMap.has(normalizeName(name));
-      }
-      /**
-       * Remove the header with the provided headerName.
-       * @param name - The name of the header to remove.
-       */
-      delete(name) {
-        this._headersMap.delete(normalizeName(name));
-      }
-      /**
-       * Get the JSON object representation of this HTTP header collection.
-       */
-      toJSON(options = {}) {
-        const result = {};
-        if (options.preserveCase) {
-          for (const entry of this._headersMap.values()) {
-            result[entry.name] = entry.value;
-          }
-        } else {
-          for (const [normalizedName, entry] of this._headersMap) {
-            result[normalizedName] = entry.value;
+    };
+    exports2.ServiceGetStatisticsHeaders = {
+      serializedName: "Service_getStatisticsHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceGetStatisticsHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
-        return result;
-      }
-      /**
-       * Get the string representation of this HTTP header collection.
-       */
-      toString() {
-        return JSON.stringify(this.toJSON({ preserveCase: true }));
-      }
-      /**
-       * Iterate over tuples of header [name, value] pairs.
-       */
-      [Symbol.iterator]() {
-        return headerIterator(this._headersMap);
       }
     };
-    function createHttpHeaders(rawHeaders) {
-      return new HttpHeadersImpl(rawHeaders);
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/schemes.js
-var require_schemes = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/schemes.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/oauth2Flows.js
-var require_oauth2Flows = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/oauth2Flows.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/uuidUtils.js
-var require_uuidUtils = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/uuidUtils.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.randomUUID = randomUUID;
-    function randomUUID() {
-      return crypto.randomUUID();
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/pipelineRequest.js
-var require_pipelineRequest = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/pipelineRequest.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createPipelineRequest = createPipelineRequest;
-    var httpHeaders_js_1 = require_httpHeaders();
-    var uuidUtils_js_1 = require_uuidUtils();
-    var PipelineRequestImpl = class {
-      url;
-      method;
-      headers;
-      timeout;
-      withCredentials;
-      body;
-      multipartBody;
-      formData;
-      streamResponseStatusCodes;
-      enableBrowserStreams;
-      proxySettings;
-      disableKeepAlive;
-      abortSignal;
-      requestId;
-      allowInsecureConnection;
-      onUploadProgress;
-      onDownloadProgress;
-      requestOverrides;
-      authSchemes;
-      constructor(options) {
-        this.url = options.url;
-        this.body = options.body;
-        this.headers = options.headers ?? (0, httpHeaders_js_1.createHttpHeaders)();
-        this.method = options.method ?? "GET";
-        this.timeout = options.timeout ?? 0;
-        this.multipartBody = options.multipartBody;
-        this.formData = options.formData;
-        this.disableKeepAlive = options.disableKeepAlive ?? false;
-        this.proxySettings = options.proxySettings;
-        this.streamResponseStatusCodes = options.streamResponseStatusCodes;
-        this.withCredentials = options.withCredentials ?? false;
-        this.abortSignal = options.abortSignal;
-        this.onUploadProgress = options.onUploadProgress;
-        this.onDownloadProgress = options.onDownloadProgress;
-        this.requestId = options.requestId || (0, uuidUtils_js_1.randomUUID)();
-        this.allowInsecureConnection = options.allowInsecureConnection ?? false;
-        this.enableBrowserStreams = options.enableBrowserStreams ?? false;
-        this.requestOverrides = options.requestOverrides;
-        this.authSchemes = options.authSchemes;
+    exports2.ServiceGetStatisticsExceptionHeaders = {
+      serializedName: "Service_getStatisticsExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceGetStatisticsExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
     };
-    function createPipelineRequest(options) {
-      return new PipelineRequestImpl(options);
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/pipeline.js
-var require_pipeline = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/pipeline.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createEmptyPipeline = createEmptyPipeline;
-    var ValidPhaseNames = /* @__PURE__ */ new Set(["Deserialize", "Serialize", "Retry", "Sign"]);
-    var HttpPipeline = class _HttpPipeline {
-      _policies = [];
-      _orderedPolicies;
-      constructor(policies) {
-        this._policies = policies?.slice(0) ?? [];
-        this._orderedPolicies = void 0;
-      }
-      addPolicy(policy, options = {}) {
-        if (options.phase && options.afterPhase) {
-          throw new Error("Policies inside a phase cannot specify afterPhase.");
-        }
-        if (options.phase && !ValidPhaseNames.has(options.phase)) {
-          throw new Error(`Invalid phase name: ${options.phase}`);
-        }
-        if (options.afterPhase && !ValidPhaseNames.has(options.afterPhase)) {
-          throw new Error(`Invalid afterPhase name: ${options.afterPhase}`);
+    exports2.ServiceListContainersSegmentHeaders = {
+      serializedName: "Service_listContainersSegmentHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceListContainersSegmentHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        this._policies.push({
-          policy,
-          options
-        });
-        this._orderedPolicies = void 0;
       }
-      removePolicy(options) {
-        const removedPolicies = [];
-        this._policies = this._policies.filter((policyDescriptor) => {
-          if (options.name && policyDescriptor.policy.name === options.name || options.phase && policyDescriptor.options.phase === options.phase) {
-            removedPolicies.push(policyDescriptor.policy);
-            return false;
-          } else {
-            return true;
+    };
+    exports2.ServiceListContainersSegmentExceptionHeaders = {
+      serializedName: "Service_listContainersSegmentExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceListContainersSegmentExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-        });
-        this._orderedPolicies = void 0;
-        return removedPolicies;
-      }
-      sendRequest(httpClient, request2) {
-        const policies = this.getOrderedPolicies();
-        const pipeline = policies.reduceRight((next, policy) => {
-          return (req) => {
-            return policy.sendRequest(req, next);
-          };
-        }, (req) => httpClient.sendRequest(req));
-        return pipeline(request2);
-      }
-      getOrderedPolicies() {
-        if (!this._orderedPolicies) {
-          this._orderedPolicies = this.orderPolicies();
         }
-        return this._orderedPolicies;
-      }
-      clone() {
-        return new _HttpPipeline(this._policies);
-      }
-      static create() {
-        return new _HttpPipeline();
       }
-      orderPolicies() {
-        const result = [];
-        const policyMap = /* @__PURE__ */ new Map();
-        function createPhase(name) {
-          return {
-            name,
-            policies: /* @__PURE__ */ new Set(),
-            hasRun: false,
-            hasAfterPolicies: false
-          };
-        }
-        const serializePhase = createPhase("Serialize");
-        const noPhase = createPhase("None");
-        const deserializePhase = createPhase("Deserialize");
-        const retryPhase = createPhase("Retry");
-        const signPhase = createPhase("Sign");
-        const orderedPhases = [serializePhase, noPhase, deserializePhase, retryPhase, signPhase];
-        function getPhase(phase) {
-          if (phase === "Retry") {
-            return retryPhase;
-          } else if (phase === "Serialize") {
-            return serializePhase;
-          } else if (phase === "Deserialize") {
-            return deserializePhase;
-          } else if (phase === "Sign") {
-            return signPhase;
-          } else {
-            return noPhase;
+    };
+    exports2.ServiceGetUserDelegationKeyHeaders = {
+      serializedName: "Service_getUserDelegationKeyHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceGetUserDelegationKeyHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
-        for (const descriptor of this._policies) {
-          const policy = descriptor.policy;
-          const options = descriptor.options;
-          const policyName = policy.name;
-          if (policyMap.has(policyName)) {
-            throw new Error("Duplicate policy names not allowed in pipeline");
-          }
-          const node = {
-            policy,
-            dependsOn: /* @__PURE__ */ new Set(),
-            dependants: /* @__PURE__ */ new Set()
-          };
-          if (options.afterPhase) {
-            node.afterPhase = getPhase(options.afterPhase);
-            node.afterPhase.hasAfterPolicies = true;
+      }
+    };
+    exports2.ServiceGetUserDelegationKeyExceptionHeaders = {
+      serializedName: "Service_getUserDelegationKeyExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceGetUserDelegationKeyExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          policyMap.set(policyName, node);
-          const phase = getPhase(options.phase);
-          phase.policies.add(node);
         }
-        for (const descriptor of this._policies) {
-          const { policy, options } = descriptor;
-          const policyName = policy.name;
-          const node = policyMap.get(policyName);
-          if (!node) {
-            throw new Error(`Missing node for policy ${policyName}`);
-          }
-          if (options.afterPolicies) {
-            for (const afterPolicyName of options.afterPolicies) {
-              const afterNode = policyMap.get(afterPolicyName);
-              if (afterNode) {
-                node.dependsOn.add(afterNode);
-                afterNode.dependants.add(node);
-              }
+      }
+    };
+    exports2.ServiceGetAccountInfoHeaders = {
+      serializedName: "Service_getAccountInfoHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceGetAccountInfoHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
             }
-          }
-          if (options.beforePolicies) {
-            for (const beforePolicyName of options.beforePolicies) {
-              const beforeNode = policyMap.get(beforePolicyName);
-              if (beforeNode) {
-                beforeNode.dependsOn.add(node);
-                node.dependants.add(beforeNode);
-              }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          skuName: {
+            serializedName: "x-ms-sku-name",
+            xmlName: "x-ms-sku-name",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "Standard_LRS",
+                "Standard_GRS",
+                "Standard_RAGRS",
+                "Standard_ZRS",
+                "Premium_LRS"
+              ]
+            }
+          },
+          accountKind: {
+            serializedName: "x-ms-account-kind",
+            xmlName: "x-ms-account-kind",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "Storage",
+                "BlobStorage",
+                "StorageV2",
+                "FileStorage",
+                "BlockBlobStorage"
+              ]
+            }
+          },
+          isHierarchicalNamespaceEnabled: {
+            serializedName: "x-ms-is-hns-enabled",
+            xmlName: "x-ms-is-hns-enabled",
+            type: {
+              name: "Boolean"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
           }
         }
-        function walkPhase(phase) {
-          phase.hasRun = true;
-          for (const node of phase.policies) {
-            if (node.afterPhase && (!node.afterPhase.hasRun || node.afterPhase.policies.size)) {
-              continue;
-            }
-            if (node.dependsOn.size === 0) {
-              result.push(node.policy);
-              for (const dependant of node.dependants) {
-                dependant.dependsOn.delete(node);
-              }
-              policyMap.delete(node.policy.name);
-              phase.policies.delete(node);
+      }
+    };
+    exports2.ServiceGetAccountInfoExceptionHeaders = {
+      serializedName: "Service_getAccountInfoExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceGetAccountInfoExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
           }
         }
-        function walkPhases() {
-          for (const phase of orderedPhases) {
-            walkPhase(phase);
-            if (phase.policies.size > 0 && phase !== noPhase) {
-              if (!noPhase.hasRun) {
-                walkPhase(noPhase);
-              }
-              return;
+      }
+    };
+    exports2.ServiceSubmitBatchHeaders = {
+      serializedName: "Service_submitBatchHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceSubmitBatchHeaders",
+        modelProperties: {
+          contentType: {
+            serializedName: "content-type",
+            xmlName: "content-type",
+            type: {
+              name: "String"
             }
-            if (phase.hasAfterPolicies) {
-              walkPhase(noPhase);
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
           }
         }
-        let iteration = 0;
-        while (policyMap.size > 0) {
-          iteration++;
-          const initialResultLength = result.length;
-          walkPhases();
-          if (result.length <= initialResultLength && iteration > 1) {
-            throw new Error("Cannot satisfy policy dependencies due to requirements cycle.");
+      }
+    };
+    exports2.ServiceSubmitBatchExceptionHeaders = {
+      serializedName: "Service_submitBatchExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceSubmitBatchExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
-        return result;
       }
     };
-    function createEmptyPipeline() {
-      return HttpPipeline.create();
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/object.js
-var require_object = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/object.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isObject = isObject2;
-    function isObject2(input) {
-      return typeof input === "object" && input !== null && !Array.isArray(input) && !(input instanceof RegExp) && !(input instanceof Date);
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/error.js
-var require_error = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/error.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isError = isError;
-    var object_js_1 = require_object();
-    function isError(e) {
-      if ((0, object_js_1.isObject)(e)) {
-        const hasName = typeof e.name === "string";
-        const hasMessage = typeof e.message === "string";
-        return hasName && hasMessage;
-      }
-      return false;
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/inspect.js
-var require_inspect = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/inspect.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.custom = void 0;
-    var node_util_1 = require("node:util");
-    exports2.custom = node_util_1.inspect.custom;
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/sanitizer.js
-var require_sanitizer = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/sanitizer.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Sanitizer = void 0;
-    var object_js_1 = require_object();
-    var RedactedString = "REDACTED";
-    var defaultAllowedHeaderNames = [
-      "x-ms-client-request-id",
-      "x-ms-return-client-request-id",
-      "x-ms-useragent",
-      "x-ms-correlation-request-id",
-      "x-ms-request-id",
-      "client-request-id",
-      "ms-cv",
-      "return-client-request-id",
-      "traceparent",
-      "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",
-      "Origin",
-      "Accept",
-      "Accept-Encoding",
-      "Cache-Control",
-      "Connection",
-      "Content-Length",
-      "Content-Type",
-      "Date",
-      "ETag",
-      "Expires",
-      "If-Match",
-      "If-Modified-Since",
-      "If-None-Match",
-      "If-Unmodified-Since",
-      "Last-Modified",
-      "Pragma",
-      "Request-Id",
-      "Retry-After",
-      "Server",
-      "Transfer-Encoding",
-      "User-Agent",
-      "WWW-Authenticate"
-    ];
-    var defaultAllowedQueryParameters = ["api-version"];
-    var Sanitizer = class {
-      allowedHeaderNames;
-      allowedQueryParameters;
-      constructor({ additionalAllowedHeaderNames: allowedHeaderNames = [], additionalAllowedQueryParameters: allowedQueryParameters = [] } = {}) {
-        allowedHeaderNames = defaultAllowedHeaderNames.concat(allowedHeaderNames);
-        allowedQueryParameters = defaultAllowedQueryParameters.concat(allowedQueryParameters);
-        this.allowedHeaderNames = new Set(allowedHeaderNames.map((n) => n.toLowerCase()));
-        this.allowedQueryParameters = new Set(allowedQueryParameters.map((p) => p.toLowerCase()));
-      }
-      /**
-       * Sanitizes an object for logging.
-       * @param obj - The object to sanitize
-       * @returns - The sanitized object as a string
-       */
-      sanitize(obj) {
-        const seen = /* @__PURE__ */ new Set();
-        return JSON.stringify(obj, (key, value) => {
-          if (value instanceof Error) {
-            return {
-              ...value,
-              name: value.name,
-              message: value.message
-            };
-          }
-          if (key === "headers") {
-            return this.sanitizeHeaders(value);
-          } else if (key === "url") {
-            return this.sanitizeUrl(value);
-          } else if (key === "query") {
-            return this.sanitizeQuery(value);
-          } else if (key === "body") {
-            return void 0;
-          } else if (key === "response") {
-            return void 0;
-          } else if (key === "operationSpec") {
-            return void 0;
-          } else if (Array.isArray(value) || (0, object_js_1.isObject)(value)) {
-            if (seen.has(value)) {
-              return "[Circular]";
+    exports2.ServiceFilterBlobsHeaders = {
+      serializedName: "Service_filterBlobsHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceFilterBlobsHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
-            seen.add(value);
           }
-          return value;
-        }, 2);
-      }
-      /**
-       * Sanitizes a URL for logging.
-       * @param value - The URL to sanitize
-       * @returns - The sanitized URL as a string
-       */
-      sanitizeUrl(value) {
-        if (typeof value !== "string" || value === null || value === "") {
-          return value;
-        }
-        const url = new URL(value);
-        if (!url.search) {
-          return value;
         }
-        for (const [key] of url.searchParams) {
-          if (!this.allowedQueryParameters.has(key.toLowerCase())) {
-            url.searchParams.set(key, RedactedString);
+      }
+    };
+    exports2.ServiceFilterBlobsExceptionHeaders = {
+      serializedName: "Service_filterBlobsExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceFilterBlobsExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
-        return url.toString();
       }
-      sanitizeHeaders(obj) {
-        const sanitized = {};
-        for (const key of Object.keys(obj)) {
-          if (this.allowedHeaderNames.has(key.toLowerCase())) {
-            sanitized[key] = obj[key];
-          } else {
-            sanitized[key] = RedactedString;
+    };
+    exports2.ContainerCreateHeaders = {
+      serializedName: "Container_createHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerCreateHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
-        return sanitized;
       }
-      sanitizeQuery(value) {
-        if (typeof value !== "object" || value === null) {
-          return value;
-        }
-        const sanitized = {};
-        for (const k of Object.keys(value)) {
-          if (this.allowedQueryParameters.has(k.toLowerCase())) {
-            sanitized[k] = value[k];
-          } else {
-            sanitized[k] = RedactedString;
+    };
+    exports2.ContainerCreateExceptionHeaders = {
+      serializedName: "Container_createExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerCreateExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
-        return sanitized;
       }
     };
-    exports2.Sanitizer = Sanitizer;
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/restError.js
-var require_restError = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/restError.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.RestError = void 0;
-    exports2.isRestError = isRestError;
-    var error_js_1 = require_error();
-    var inspect_js_1 = require_inspect();
-    var sanitizer_js_1 = require_sanitizer();
-    var errorSanitizer = new sanitizer_js_1.Sanitizer();
-    var RestError = class _RestError extends Error {
-      /**
-       * Something went wrong when making the request.
-       * This means the actual request failed for some reason,
-       * such as a DNS issue or the connection being lost.
-       */
-      static REQUEST_SEND_ERROR = "REQUEST_SEND_ERROR";
-      /**
-       * This means that parsing the response from the server failed.
-       * It may have been malformed.
-       */
-      static PARSE_ERROR = "PARSE_ERROR";
-      /**
-       * The code of the error itself (use statics on RestError if possible.)
-       */
-      code;
-      /**
-       * The HTTP status code of the request (if applicable.)
-       */
-      statusCode;
-      /**
-       * The request that was made.
-       * This property is non-enumerable.
-       */
-      request;
-      /**
-       * The response received (if any.)
-       * This property is non-enumerable.
-       */
-      response;
-      /**
-       * Bonus property set by the throw site.
-       */
-      details;
-      constructor(message, options = {}) {
-        super(message);
-        this.name = "RestError";
-        this.code = options.code;
-        this.statusCode = options.statusCode;
-        Object.defineProperty(this, "request", { value: options.request, enumerable: false });
-        Object.defineProperty(this, "response", { value: options.response, enumerable: false });
-        const agent = this.request?.agent ? {
-          maxFreeSockets: this.request.agent.maxFreeSockets,
-          maxSockets: this.request.agent.maxSockets
-        } : void 0;
-        Object.defineProperty(this, inspect_js_1.custom, {
-          value: () => {
-            return `RestError: ${this.message} 
- ${errorSanitizer.sanitize({
-              ...this,
-              request: { ...this.request, agent },
-              response: this.response
-            })}`;
+    exports2.ContainerGetPropertiesHeaders = {
+      serializedName: "Container_getPropertiesHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerGetPropertiesHeaders",
+        modelProperties: {
+          metadata: {
+            serializedName: "x-ms-meta",
+            headerCollectionPrefix: "x-ms-meta-",
+            xmlName: "x-ms-meta",
+            type: {
+              name: "Dictionary",
+              value: { type: { name: "String" } }
+            }
           },
-          enumerable: false
-        });
-        Object.setPrototypeOf(this, _RestError.prototype);
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          leaseDuration: {
+            serializedName: "x-ms-lease-duration",
+            xmlName: "x-ms-lease-duration",
+            type: {
+              name: "Enum",
+              allowedValues: ["infinite", "fixed"]
+            }
+          },
+          leaseState: {
+            serializedName: "x-ms-lease-state",
+            xmlName: "x-ms-lease-state",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "available",
+                "leased",
+                "expired",
+                "breaking",
+                "broken"
+              ]
+            }
+          },
+          leaseStatus: {
+            serializedName: "x-ms-lease-status",
+            xmlName: "x-ms-lease-status",
+            type: {
+              name: "Enum",
+              allowedValues: ["locked", "unlocked"]
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          blobPublicAccess: {
+            serializedName: "x-ms-blob-public-access",
+            xmlName: "x-ms-blob-public-access",
+            type: {
+              name: "Enum",
+              allowedValues: ["container", "blob"]
+            }
+          },
+          hasImmutabilityPolicy: {
+            serializedName: "x-ms-has-immutability-policy",
+            xmlName: "x-ms-has-immutability-policy",
+            type: {
+              name: "Boolean"
+            }
+          },
+          hasLegalHold: {
+            serializedName: "x-ms-has-legal-hold",
+            xmlName: "x-ms-has-legal-hold",
+            type: {
+              name: "Boolean"
+            }
+          },
+          defaultEncryptionScope: {
+            serializedName: "x-ms-default-encryption-scope",
+            xmlName: "x-ms-default-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          denyEncryptionScopeOverride: {
+            serializedName: "x-ms-deny-encryption-scope-override",
+            xmlName: "x-ms-deny-encryption-scope-override",
+            type: {
+              name: "Boolean"
+            }
+          },
+          isImmutableStorageWithVersioningEnabled: {
+            serializedName: "x-ms-immutable-storage-with-versioning-enabled",
+            xmlName: "x-ms-immutable-storage-with-versioning-enabled",
+            type: {
+              name: "Boolean"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
     };
-    exports2.RestError = RestError;
-    function isRestError(e) {
-      if (e instanceof RestError) {
-        return true;
-      }
-      return (0, error_js_1.isError)(e) && e.name === "RestError";
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/bytesEncoding.js
-var require_bytesEncoding = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/bytesEncoding.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.uint8ArrayToString = uint8ArrayToString;
-    exports2.stringToUint8Array = stringToUint8Array;
-    function uint8ArrayToString(bytes, format) {
-      return Buffer.from(bytes).toString(format);
-    }
-    function stringToUint8Array(value, format) {
-      return Buffer.from(value, format);
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/log.js
-var require_log2 = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/log.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.logger = void 0;
-    var logger_js_1 = require_logger();
-    exports2.logger = (0, logger_js_1.createClientLogger)("ts-http-runtime");
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/nodeHttpClient.js
-var require_nodeHttpClient = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/nodeHttpClient.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getBodyLength = getBodyLength;
-    exports2.createNodeHttpClient = createNodeHttpClient;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var node_http_1 = tslib_1.__importDefault(require("node:http"));
-    var node_https_1 = tslib_1.__importDefault(require("node:https"));
-    var node_zlib_1 = tslib_1.__importDefault(require("node:zlib"));
-    var node_stream_1 = require("node:stream");
-    var AbortError_js_1 = require_AbortError();
-    var httpHeaders_js_1 = require_httpHeaders();
-    var restError_js_1 = require_restError();
-    var log_js_1 = require_log2();
-    var sanitizer_js_1 = require_sanitizer();
-    var DEFAULT_TLS_SETTINGS = {};
-    function isReadableStream(body) {
-      return body && typeof body.pipe === "function";
-    }
-    function isStreamComplete(stream) {
-      if (stream.readable === false) {
-        return Promise.resolve();
-      }
-      return new Promise((resolve2) => {
-        const handler2 = () => {
-          resolve2();
-          stream.removeListener("close", handler2);
-          stream.removeListener("end", handler2);
-          stream.removeListener("error", handler2);
-        };
-        stream.on("close", handler2);
-        stream.on("end", handler2);
-        stream.on("error", handler2);
-      });
-    }
-    function isArrayBuffer(body) {
-      return body && typeof body.byteLength === "number";
-    }
-    var ReportTransform = class extends node_stream_1.Transform {
-      loadedBytes = 0;
-      progressCallback;
-      // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
-      _transform(chunk, _encoding, callback) {
-        this.push(chunk);
-        this.loadedBytes += chunk.length;
-        try {
-          this.progressCallback({ loadedBytes: this.loadedBytes });
-          callback();
-        } catch (e) {
-          callback(e);
+    exports2.ContainerGetPropertiesExceptionHeaders = {
+      serializedName: "Container_getPropertiesExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerGetPropertiesExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-      constructor(progressCallback) {
-        super();
-        this.progressCallback = progressCallback;
-      }
     };
-    var NodeHttpClient = class {
-      cachedHttpAgent;
-      cachedHttpsAgents = /* @__PURE__ */ new WeakMap();
-      /**
-       * Makes a request over an underlying transport layer and returns the response.
-       * @param request - The request to be made.
-       */
-      async sendRequest(request2) {
-        const abortController = new AbortController();
-        let abortListener;
-        if (request2.abortSignal) {
-          if (request2.abortSignal.aborted) {
-            throw new AbortError_js_1.AbortError("The operation was aborted. Request has already been canceled.");
-          }
-          abortListener = (event) => {
-            if (event.type === "abort") {
-              abortController.abort();
+    exports2.ContainerDeleteHeaders = {
+      serializedName: "Container_deleteHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerDeleteHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
-          };
-          request2.abortSignal.addEventListener("abort", abortListener);
-        }
-        let timeoutId;
-        if (request2.timeout > 0) {
-          timeoutId = setTimeout(() => {
-            const sanitizer = new sanitizer_js_1.Sanitizer();
-            log_js_1.logger.info(`request to '${sanitizer.sanitizeUrl(request2.url)}' timed out. canceling...`);
-            abortController.abort();
-          }, request2.timeout);
-        }
-        const acceptEncoding = request2.headers.get("Accept-Encoding");
-        const shouldDecompress = acceptEncoding?.includes("gzip") || acceptEncoding?.includes("deflate");
-        let body = typeof request2.body === "function" ? request2.body() : request2.body;
-        if (body && !request2.headers.has("Content-Length")) {
-          const bodyLength = getBodyLength(body);
-          if (bodyLength !== null) {
-            request2.headers.set("Content-Length", bodyLength);
           }
         }
-        let responseStream;
-        try {
-          if (body && request2.onUploadProgress) {
-            const onUploadProgress = request2.onUploadProgress;
-            const uploadReportStream = new ReportTransform(onUploadProgress);
-            uploadReportStream.on("error", (e) => {
-              log_js_1.logger.error("Error in upload progress", e);
-            });
-            if (isReadableStream(body)) {
-              body.pipe(uploadReportStream);
-            } else {
-              uploadReportStream.end(body);
+      }
+    };
+    exports2.ContainerDeleteExceptionHeaders = {
+      serializedName: "Container_deleteExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerDeleteExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
-            body = uploadReportStream;
-          }
-          const res = await this.makeRequest(request2, abortController, body);
-          if (timeoutId !== void 0) {
-            clearTimeout(timeoutId);
-          }
-          const headers = getResponseHeaders(res);
-          const status = res.statusCode ?? 0;
-          const response = {
-            status,
-            headers,
-            request: request2
-          };
-          if (request2.method === "HEAD") {
-            res.resume();
-            return response;
-          }
-          responseStream = shouldDecompress ? getDecodedResponseStream(res, headers) : res;
-          const onDownloadProgress = request2.onDownloadProgress;
-          if (onDownloadProgress) {
-            const downloadReportStream = new ReportTransform(onDownloadProgress);
-            downloadReportStream.on("error", (e) => {
-              log_js_1.logger.error("Error in download progress", e);
-            });
-            responseStream.pipe(downloadReportStream);
-            responseStream = downloadReportStream;
-          }
-          if (
-            // Value of POSITIVE_INFINITY in streamResponseStatusCodes is considered as any status code
-            request2.streamResponseStatusCodes?.has(Number.POSITIVE_INFINITY) || request2.streamResponseStatusCodes?.has(response.status)
-          ) {
-            response.readableStreamBody = responseStream;
-          } else {
-            response.bodyAsText = await streamToText(responseStream);
           }
-          return response;
-        } finally {
-          if (request2.abortSignal && abortListener) {
-            let uploadStreamDone = Promise.resolve();
-            if (isReadableStream(body)) {
-              uploadStreamDone = isStreamComplete(body);
+        }
+      }
+    };
+    exports2.ContainerSetMetadataHeaders = {
+      serializedName: "Container_setMetadataHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerSetMetadataHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
             }
-            let downloadStreamDone = Promise.resolve();
-            if (isReadableStream(responseStream)) {
-              downloadStreamDone = isStreamComplete(responseStream);
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
-            Promise.all([uploadStreamDone, downloadStreamDone]).then(() => {
-              if (abortListener) {
-                request2.abortSignal?.removeEventListener("abort", abortListener);
-              }
-            }).catch((e) => {
-              log_js_1.logger.warning("Error when cleaning up abortListener on httpRequest", e);
-            });
           }
         }
       }
-      makeRequest(request2, abortController, body) {
-        const url = new URL(request2.url);
-        const isInsecure = url.protocol !== "https:";
-        if (isInsecure && !request2.allowInsecureConnection) {
-          throw new Error(`Cannot connect to ${request2.url} while allowInsecureConnection is false.`);
-        }
-        const agent = request2.agent ?? this.getOrCreateAgent(request2, isInsecure);
-        const options = {
-          agent,
-          hostname: url.hostname,
-          path: `${url.pathname}${url.search}`,
-          port: url.port,
-          method: request2.method,
-          headers: request2.headers.toJSON({ preserveCase: true }),
-          ...request2.requestOverrides
-        };
-        return new Promise((resolve2, reject) => {
-          const req = isInsecure ? node_http_1.default.request(options, resolve2) : node_https_1.default.request(options, resolve2);
-          req.once("error", (err) => {
-            reject(new restError_js_1.RestError(err.message, { code: err.code ?? restError_js_1.RestError.REQUEST_SEND_ERROR, request: request2 }));
-          });
-          abortController.signal.addEventListener("abort", () => {
-            const abortError = new AbortError_js_1.AbortError("The operation was aborted. Rejecting from abort signal callback while making request.");
-            req.destroy(abortError);
-            reject(abortError);
-          });
-          if (body && isReadableStream(body)) {
-            body.pipe(req);
-          } else if (body) {
-            if (typeof body === "string" || Buffer.isBuffer(body)) {
-              req.end(body);
-            } else if (isArrayBuffer(body)) {
-              req.end(ArrayBuffer.isView(body) ? Buffer.from(body.buffer) : Buffer.from(body));
-            } else {
-              log_js_1.logger.error("Unrecognized body type", body);
-              reject(new restError_js_1.RestError("Unrecognized body type"));
+    };
+    exports2.ContainerSetMetadataExceptionHeaders = {
+      serializedName: "Container_setMetadataExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerSetMetadataExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
-          } else {
-            req.end();
-          }
-        });
-      }
-      getOrCreateAgent(request2, isInsecure) {
-        const disableKeepAlive = request2.disableKeepAlive;
-        if (isInsecure) {
-          if (disableKeepAlive) {
-            return node_http_1.default.globalAgent;
-          }
-          if (!this.cachedHttpAgent) {
-            this.cachedHttpAgent = new node_http_1.default.Agent({ keepAlive: true });
-          }
-          return this.cachedHttpAgent;
-        } else {
-          if (disableKeepAlive && !request2.tlsSettings) {
-            return node_https_1.default.globalAgent;
-          }
-          const tlsSettings = request2.tlsSettings ?? DEFAULT_TLS_SETTINGS;
-          let agent = this.cachedHttpsAgents.get(tlsSettings);
-          if (agent && agent.options.keepAlive === !disableKeepAlive) {
-            return agent;
           }
-          log_js_1.logger.info("No cached TLS Agent exist, creating a new Agent");
-          agent = new node_https_1.default.Agent({
-            // keepAlive is true if disableKeepAlive is false.
-            keepAlive: !disableKeepAlive,
-            // Since we are spreading, if no tslSettings were provided, nothing is added to the agent options.
-            ...tlsSettings
-          });
-          this.cachedHttpsAgents.set(tlsSettings, agent);
-          return agent;
         }
       }
     };
-    function getResponseHeaders(res) {
-      const headers = (0, httpHeaders_js_1.createHttpHeaders)();
-      for (const header of Object.keys(res.headers)) {
-        const value = res.headers[header];
-        if (Array.isArray(value)) {
-          if (value.length > 0) {
-            headers.set(header, value[0]);
+    exports2.ContainerGetAccessPolicyHeaders = {
+      serializedName: "Container_getAccessPolicyHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerGetAccessPolicyHeaders",
+        modelProperties: {
+          blobPublicAccess: {
+            serializedName: "x-ms-blob-public-access",
+            xmlName: "x-ms-blob-public-access",
+            type: {
+              name: "Enum",
+              allowedValues: ["container", "blob"]
+            }
+          },
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-        } else if (value) {
-          headers.set(header, value);
         }
       }
-      return headers;
-    }
-    function getDecodedResponseStream(stream, headers) {
-      const contentEncoding = headers.get("Content-Encoding");
-      if (contentEncoding === "gzip") {
-        const unzip = node_zlib_1.default.createGunzip();
-        stream.pipe(unzip);
-        return unzip;
-      } else if (contentEncoding === "deflate") {
-        const inflate = node_zlib_1.default.createInflate();
-        stream.pipe(inflate);
-        return inflate;
-      }
-      return stream;
-    }
-    function streamToText(stream) {
-      return new Promise((resolve2, reject) => {
-        const buffer = [];
-        stream.on("data", (chunk) => {
-          if (Buffer.isBuffer(chunk)) {
-            buffer.push(chunk);
-          } else {
-            buffer.push(Buffer.from(chunk));
-          }
-        });
-        stream.on("end", () => {
-          resolve2(Buffer.concat(buffer).toString("utf8"));
-        });
-        stream.on("error", (e) => {
-          if (e && e?.name === "AbortError") {
-            reject(e);
-          } else {
-            reject(new restError_js_1.RestError(`Error reading response as text: ${e.message}`, {
-              code: restError_js_1.RestError.PARSE_ERROR
-            }));
+    };
+    exports2.ContainerGetAccessPolicyExceptionHeaders = {
+      serializedName: "Container_getAccessPolicyExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerGetAccessPolicyExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-        });
-      });
-    }
-    function getBodyLength(body) {
-      if (!body) {
-        return 0;
-      } else if (Buffer.isBuffer(body)) {
-        return body.length;
-      } else if (isReadableStream(body)) {
-        return null;
-      } else if (isArrayBuffer(body)) {
-        return body.byteLength;
-      } else if (typeof body === "string") {
-        return Buffer.from(body).length;
-      } else {
-        return null;
+        }
       }
-    }
-    function createNodeHttpClient() {
-      return new NodeHttpClient();
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/defaultHttpClient.js
-var require_defaultHttpClient = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/defaultHttpClient.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createDefaultHttpClient = createDefaultHttpClient;
-    var nodeHttpClient_js_1 = require_nodeHttpClient();
-    function createDefaultHttpClient() {
-      return (0, nodeHttpClient_js_1.createNodeHttpClient)();
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/logPolicy.js
-var require_logPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/logPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.logPolicyName = void 0;
-    exports2.logPolicy = logPolicy;
-    var log_js_1 = require_log2();
-    var sanitizer_js_1 = require_sanitizer();
-    exports2.logPolicyName = "logPolicy";
-    function logPolicy(options = {}) {
-      const logger = options.logger ?? log_js_1.logger.info;
-      const sanitizer = new sanitizer_js_1.Sanitizer({
-        additionalAllowedHeaderNames: options.additionalAllowedHeaderNames,
-        additionalAllowedQueryParameters: options.additionalAllowedQueryParameters
-      });
-      return {
-        name: exports2.logPolicyName,
-        async sendRequest(request2, next) {
-          if (!logger.enabled) {
-            return next(request2);
+    };
+    exports2.ContainerSetAccessPolicyHeaders = {
+      serializedName: "Container_setAccessPolicyHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerSetAccessPolicyHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          logger(`Request: ${sanitizer.sanitize(request2)}`);
-          const response = await next(request2);
-          logger(`Response status code: ${response.status}`);
-          logger(`Headers: ${sanitizer.sanitize(response.headers)}`);
-          return response;
-        }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/redirectPolicy.js
-var require_redirectPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/redirectPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.redirectPolicyName = void 0;
-    exports2.redirectPolicy = redirectPolicy;
-    exports2.redirectPolicyName = "redirectPolicy";
-    var allowedRedirect = ["GET", "HEAD"];
-    function redirectPolicy(options = {}) {
-      const { maxRetries = 20 } = options;
-      return {
-        name: exports2.redirectPolicyName,
-        async sendRequest(request2, next) {
-          const response = await next(request2);
-          return handleRedirect(next, response, maxRetries);
-        }
-      };
-    }
-    async function handleRedirect(next, response, maxRetries, currentRetries = 0) {
-      const { request: request2, status, headers } = response;
-      const locationHeader = headers.get("location");
-      if (locationHeader && (status === 300 || status === 301 && allowedRedirect.includes(request2.method) || status === 302 && allowedRedirect.includes(request2.method) || status === 303 && request2.method === "POST" || status === 307) && currentRetries < maxRetries) {
-        const url = new URL(locationHeader, request2.url);
-        request2.url = url.toString();
-        if (status === 303) {
-          request2.method = "GET";
-          request2.headers.delete("Content-Length");
-          delete request2.body;
         }
-        request2.headers.delete("Authorization");
-        const res = await next(request2);
-        return handleRedirect(next, res, maxRetries, currentRetries + 1);
       }
-      return response;
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/userAgentPlatform.js
-var require_userAgentPlatform = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/userAgentPlatform.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getHeaderName = getHeaderName;
-    exports2.setPlatformSpecificData = setPlatformSpecificData;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var node_os_1 = tslib_1.__importDefault(require("node:os"));
-    var node_process_1 = tslib_1.__importDefault(require("node:process"));
-    function getHeaderName() {
-      return "User-Agent";
-    }
-    async function setPlatformSpecificData(map2) {
-      if (node_process_1.default && node_process_1.default.versions) {
-        const osInfo = `${node_os_1.default.type()} ${node_os_1.default.release()}; ${node_os_1.default.arch()}`;
-        const versions = node_process_1.default.versions;
-        if (versions.bun) {
-          map2.set("Bun", `${versions.bun} (${osInfo})`);
-        } else if (versions.deno) {
-          map2.set("Deno", `${versions.deno} (${osInfo})`);
-        } else if (versions.node) {
-          map2.set("Node", `${versions.node} (${osInfo})`);
+    };
+    exports2.ContainerSetAccessPolicyExceptionHeaders = {
+      serializedName: "Container_setAccessPolicyExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerSetAccessPolicyExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/constants.js
-var require_constants12 = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/constants.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.DEFAULT_RETRY_POLICY_COUNT = exports2.SDK_VERSION = void 0;
-    exports2.SDK_VERSION = "0.3.2";
-    exports2.DEFAULT_RETRY_POLICY_COUNT = 3;
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/userAgent.js
-var require_userAgent = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/userAgent.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getUserAgentHeaderName = getUserAgentHeaderName;
-    exports2.getUserAgentValue = getUserAgentValue;
-    var userAgentPlatform_js_1 = require_userAgentPlatform();
-    var constants_js_1 = require_constants12();
-    function getUserAgentString(telemetryInfo) {
-      const parts = [];
-      for (const [key, value] of telemetryInfo) {
-        const token = value ? `${key}/${value}` : key;
-        parts.push(token);
-      }
-      return parts.join(" ");
-    }
-    function getUserAgentHeaderName() {
-      return (0, userAgentPlatform_js_1.getHeaderName)();
-    }
-    async function getUserAgentValue(prefix) {
-      const runtimeInfo = /* @__PURE__ */ new Map();
-      runtimeInfo.set("ts-http-runtime", constants_js_1.SDK_VERSION);
-      await (0, userAgentPlatform_js_1.setPlatformSpecificData)(runtimeInfo);
-      const defaultAgent = getUserAgentString(runtimeInfo);
-      const userAgentValue = prefix ? `${prefix} ${defaultAgent}` : defaultAgent;
-      return userAgentValue;
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/userAgentPolicy.js
-var require_userAgentPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/userAgentPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.userAgentPolicyName = void 0;
-    exports2.userAgentPolicy = userAgentPolicy;
-    var userAgent_js_1 = require_userAgent();
-    var UserAgentHeaderName = (0, userAgent_js_1.getUserAgentHeaderName)();
-    exports2.userAgentPolicyName = "userAgentPolicy";
-    function userAgentPolicy(options = {}) {
-      const userAgentValue = (0, userAgent_js_1.getUserAgentValue)(options.userAgentPrefix);
-      return {
-        name: exports2.userAgentPolicyName,
-        async sendRequest(request2, next) {
-          if (!request2.headers.has(UserAgentHeaderName)) {
-            request2.headers.set(UserAgentHeaderName, await userAgentValue);
+    };
+    exports2.ContainerRestoreHeaders = {
+      serializedName: "Container_restoreHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerRestoreHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          return next(request2);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/decompressResponsePolicy.js
-var require_decompressResponsePolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/decompressResponsePolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.decompressResponsePolicyName = void 0;
-    exports2.decompressResponsePolicy = decompressResponsePolicy;
-    exports2.decompressResponsePolicyName = "decompressResponsePolicy";
-    function decompressResponsePolicy() {
-      return {
-        name: exports2.decompressResponsePolicyName,
-        async sendRequest(request2, next) {
-          if (request2.method !== "HEAD") {
-            request2.headers.set("Accept-Encoding", "gzip,deflate");
+      }
+    };
+    exports2.ContainerRestoreExceptionHeaders = {
+      serializedName: "Container_restoreExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerRestoreExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          return next(request2);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/random.js
-var require_random = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/random.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getRandomIntegerInclusive = getRandomIntegerInclusive;
-    function getRandomIntegerInclusive(min, max) {
-      min = Math.ceil(min);
-      max = Math.floor(max);
-      const offset = Math.floor(Math.random() * (max - min + 1));
-      return offset + min;
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/delay.js
-var require_delay = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/delay.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.calculateRetryDelay = calculateRetryDelay;
-    var random_js_1 = require_random();
-    function calculateRetryDelay(retryAttempt, config) {
-      const exponentialDelay = config.retryDelayInMs * Math.pow(2, retryAttempt);
-      const clampedDelay = Math.min(config.maxRetryDelayInMs, exponentialDelay);
-      const retryAfterInMs = clampedDelay / 2 + (0, random_js_1.getRandomIntegerInclusive)(0, clampedDelay / 2);
-      return { retryAfterInMs };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/helpers.js
-var require_helpers = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/helpers.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.delay = delay;
-    exports2.parseHeaderValueAsNumber = parseHeaderValueAsNumber;
-    var AbortError_js_1 = require_AbortError();
-    var StandardAbortMessage = "The operation was aborted.";
-    function delay(delayInMs, value, options) {
-      return new Promise((resolve2, reject) => {
-        let timer = void 0;
-        let onAborted = void 0;
-        const rejectOnAbort = () => {
-          return reject(new AbortError_js_1.AbortError(options?.abortErrorMsg ? options?.abortErrorMsg : StandardAbortMessage));
-        };
-        const removeListeners = () => {
-          if (options?.abortSignal && onAborted) {
-            options.abortSignal.removeEventListener("abort", onAborted);
-          }
-        };
-        onAborted = () => {
-          if (timer) {
-            clearTimeout(timer);
+      }
+    };
+    exports2.ContainerRenameHeaders = {
+      serializedName: "Container_renameHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerRenameHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          removeListeners();
-          return rejectOnAbort();
-        };
-        if (options?.abortSignal && options.abortSignal.aborted) {
-          return rejectOnAbort();
         }
-        timer = setTimeout(() => {
-          removeListeners();
-          resolve2(value);
-        }, delayInMs);
-        if (options?.abortSignal) {
-          options.abortSignal.addEventListener("abort", onAborted);
+      }
+    };
+    exports2.ContainerRenameExceptionHeaders = {
+      serializedName: "Container_renameExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerRenameExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-      });
-    }
-    function parseHeaderValueAsNumber(response, headerName) {
-      const value = response.headers.get(headerName);
-      if (!value)
-        return;
-      const valueAsNum = Number(value);
-      if (Number.isNaN(valueAsNum))
-        return;
-      return valueAsNum;
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/retryStrategies/throttlingRetryStrategy.js
-var require_throttlingRetryStrategy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/retryStrategies/throttlingRetryStrategy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isThrottlingRetryResponse = isThrottlingRetryResponse;
-    exports2.throttlingRetryStrategy = throttlingRetryStrategy;
-    var helpers_js_1 = require_helpers();
-    var RetryAfterHeader = "Retry-After";
-    var AllRetryAfterHeaders = ["retry-after-ms", "x-ms-retry-after-ms", RetryAfterHeader];
-    function getRetryAfterInMs(response) {
-      if (!(response && [429, 503].includes(response.status)))
-        return void 0;
-      try {
-        for (const header of AllRetryAfterHeaders) {
-          const retryAfterValue = (0, helpers_js_1.parseHeaderValueAsNumber)(response, header);
-          if (retryAfterValue === 0 || retryAfterValue) {
-            const multiplyingFactor = header === RetryAfterHeader ? 1e3 : 1;
-            return retryAfterValue * multiplyingFactor;
+      }
+    };
+    exports2.ContainerSubmitBatchHeaders = {
+      serializedName: "Container_submitBatchHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerSubmitBatchHeaders",
+        modelProperties: {
+          contentType: {
+            serializedName: "content-type",
+            xmlName: "content-type",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
           }
         }
-        const retryAfterHeader = response.headers.get(RetryAfterHeader);
-        if (!retryAfterHeader)
-          return;
-        const date = Date.parse(retryAfterHeader);
-        const diff = date - Date.now();
-        return Number.isFinite(diff) ? Math.max(0, diff) : void 0;
-      } catch {
-        return void 0;
       }
-    }
-    function isThrottlingRetryResponse(response) {
-      return Number.isFinite(getRetryAfterInMs(response));
-    }
-    function throttlingRetryStrategy() {
-      return {
-        name: "throttlingRetryStrategy",
-        retry({ response }) {
-          const retryAfterInMs = getRetryAfterInMs(response);
-          if (!Number.isFinite(retryAfterInMs)) {
-            return { skipStrategy: true };
+    };
+    exports2.ContainerSubmitBatchExceptionHeaders = {
+      serializedName: "Container_submitBatchExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerSubmitBatchExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          return {
-            retryAfterInMs
-          };
         }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/retryStrategies/exponentialRetryStrategy.js
-var require_exponentialRetryStrategy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/retryStrategies/exponentialRetryStrategy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.exponentialRetryStrategy = exponentialRetryStrategy;
-    exports2.isExponentialRetryResponse = isExponentialRetryResponse;
-    exports2.isSystemError = isSystemError;
-    var delay_js_1 = require_delay();
-    var throttlingRetryStrategy_js_1 = require_throttlingRetryStrategy();
-    var DEFAULT_CLIENT_RETRY_INTERVAL = 1e3;
-    var DEFAULT_CLIENT_MAX_RETRY_INTERVAL = 1e3 * 64;
-    function exponentialRetryStrategy(options = {}) {
-      const retryInterval = options.retryDelayInMs ?? DEFAULT_CLIENT_RETRY_INTERVAL;
-      const maxRetryInterval = options.maxRetryDelayInMs ?? DEFAULT_CLIENT_MAX_RETRY_INTERVAL;
-      return {
-        name: "exponentialRetryStrategy",
-        retry({ retryCount, response, responseError }) {
-          const matchedSystemError = isSystemError(responseError);
-          const ignoreSystemErrors = matchedSystemError && options.ignoreSystemErrors;
-          const isExponential = isExponentialRetryResponse(response);
-          const ignoreExponentialResponse = isExponential && options.ignoreHttpStatusCodes;
-          const unknownResponse = response && ((0, throttlingRetryStrategy_js_1.isThrottlingRetryResponse)(response) || !isExponential);
-          if (unknownResponse || ignoreExponentialResponse || ignoreSystemErrors) {
-            return { skipStrategy: true };
+      }
+    };
+    exports2.ContainerFilterBlobsHeaders = {
+      serializedName: "Container_filterBlobsHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerFilterBlobsHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
           }
-          if (responseError && !matchedSystemError && !isExponential) {
-            return { errorToThrow: responseError };
+        }
+      }
+    };
+    exports2.ContainerFilterBlobsExceptionHeaders = {
+      serializedName: "Container_filterBlobsExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerFilterBlobsExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          return (0, delay_js_1.calculateRetryDelay)(retryCount, {
-            retryDelayInMs: retryInterval,
-            maxRetryDelayInMs: maxRetryInterval
-          });
         }
-      };
-    }
-    function isExponentialRetryResponse(response) {
-      return Boolean(response && response.status !== void 0 && (response.status >= 500 || response.status === 408) && response.status !== 501 && response.status !== 505);
-    }
-    function isSystemError(err) {
-      if (!err) {
-        return false;
       }
-      return err.code === "ETIMEDOUT" || err.code === "ESOCKETTIMEDOUT" || err.code === "ECONNREFUSED" || err.code === "ECONNRESET" || err.code === "ENOENT" || err.code === "ENOTFOUND";
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/retryPolicy.js
-var require_retryPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/retryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.retryPolicy = retryPolicy;
-    var helpers_js_1 = require_helpers();
-    var AbortError_js_1 = require_AbortError();
-    var logger_js_1 = require_logger();
-    var constants_js_1 = require_constants12();
-    var retryPolicyLogger = (0, logger_js_1.createClientLogger)("ts-http-runtime retryPolicy");
-    var retryPolicyName = "retryPolicy";
-    function retryPolicy(strategies, options = { maxRetries: constants_js_1.DEFAULT_RETRY_POLICY_COUNT }) {
-      const logger = options.logger || retryPolicyLogger;
-      return {
-        name: retryPolicyName,
-        async sendRequest(request2, next) {
-          let response;
-          let responseError;
-          let retryCount = -1;
-          retryRequest: while (true) {
-            retryCount += 1;
-            response = void 0;
-            responseError = void 0;
-            try {
-              logger.info(`Retry ${retryCount}: Attempting to send request`, request2.requestId);
-              response = await next(request2);
-              logger.info(`Retry ${retryCount}: Received a response from request`, request2.requestId);
-            } catch (e) {
-              logger.error(`Retry ${retryCount}: Received an error from request`, request2.requestId);
-              responseError = e;
-              if (!e || responseError.name !== "RestError") {
-                throw e;
-              }
-              response = responseError.response;
+    };
+    exports2.ContainerAcquireLeaseHeaders = {
+      serializedName: "Container_acquireLeaseHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerAcquireLeaseHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
             }
-            if (request2.abortSignal?.aborted) {
-              logger.error(`Retry ${retryCount}: Request aborted.`);
-              const abortError = new AbortError_js_1.AbortError();
-              throw abortError;
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
             }
-            if (retryCount >= (options.maxRetries ?? constants_js_1.DEFAULT_RETRY_POLICY_COUNT)) {
-              logger.info(`Retry ${retryCount}: Maximum retries reached. Returning the last received response, or throwing the last received error.`);
-              if (responseError) {
-                throw responseError;
-              } else if (response) {
-                return response;
-              } else {
-                throw new Error("Maximum retries reached with no response or error to throw");
-              }
+          },
+          leaseId: {
+            serializedName: "x-ms-lease-id",
+            xmlName: "x-ms-lease-id",
+            type: {
+              name: "String"
             }
-            logger.info(`Retry ${retryCount}: Processing ${strategies.length} retry strategies.`);
-            strategiesLoop: for (const strategy of strategies) {
-              const strategyLogger = strategy.logger || logger;
-              strategyLogger.info(`Retry ${retryCount}: Processing retry strategy ${strategy.name}.`);
-              const modifiers = strategy.retry({
-                retryCount,
-                response,
-                responseError
-              });
-              if (modifiers.skipStrategy) {
-                strategyLogger.info(`Retry ${retryCount}: Skipped.`);
-                continue strategiesLoop;
-              }
-              const { errorToThrow, retryAfterInMs, redirectTo } = modifiers;
-              if (errorToThrow) {
-                strategyLogger.error(`Retry ${retryCount}: Retry strategy ${strategy.name} throws error:`, errorToThrow);
-                throw errorToThrow;
-              }
-              if (retryAfterInMs || retryAfterInMs === 0) {
-                strategyLogger.info(`Retry ${retryCount}: Retry strategy ${strategy.name} retries after ${retryAfterInMs}`);
-                await (0, helpers_js_1.delay)(retryAfterInMs, void 0, { abortSignal: request2.abortSignal });
-                continue retryRequest;
-              }
-              if (redirectTo) {
-                strategyLogger.info(`Retry ${retryCount}: Retry strategy ${strategy.name} redirects to ${redirectTo}`);
-                request2.url = redirectTo;
-                continue retryRequest;
-              }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
             }
-            if (responseError) {
-              logger.info(`None of the retry strategies could work with the received error. Throwing it.`);
-              throw responseError;
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
             }
-            if (response) {
-              logger.info(`None of the retry strategies could work with the received response. Returning it.`);
-              return response;
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
             }
           }
         }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/defaultRetryPolicy.js
-var require_defaultRetryPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/defaultRetryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.defaultRetryPolicyName = void 0;
-    exports2.defaultRetryPolicy = defaultRetryPolicy;
-    var exponentialRetryStrategy_js_1 = require_exponentialRetryStrategy();
-    var throttlingRetryStrategy_js_1 = require_throttlingRetryStrategy();
-    var retryPolicy_js_1 = require_retryPolicy();
-    var constants_js_1 = require_constants12();
-    exports2.defaultRetryPolicyName = "defaultRetryPolicy";
-    function defaultRetryPolicy(options = {}) {
-      return {
-        name: exports2.defaultRetryPolicyName,
-        sendRequest: (0, retryPolicy_js_1.retryPolicy)([(0, throttlingRetryStrategy_js_1.throttlingRetryStrategy)(), (0, exponentialRetryStrategy_js_1.exponentialRetryStrategy)(options)], {
-          maxRetries: options.maxRetries ?? constants_js_1.DEFAULT_RETRY_POLICY_COUNT
-        }).sendRequest
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/checkEnvironment.js
-var require_checkEnvironment = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/checkEnvironment.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isReactNative = exports2.isNodeRuntime = exports2.isNodeLike = exports2.isBun = exports2.isDeno = exports2.isWebWorker = exports2.isBrowser = void 0;
-    exports2.isBrowser = typeof window !== "undefined" && typeof window.document !== "undefined";
-    exports2.isWebWorker = typeof self === "object" && typeof self?.importScripts === "function" && (self.constructor?.name === "DedicatedWorkerGlobalScope" || self.constructor?.name === "ServiceWorkerGlobalScope" || self.constructor?.name === "SharedWorkerGlobalScope");
-    exports2.isDeno = typeof Deno !== "undefined" && typeof Deno.version !== "undefined" && typeof Deno.version.deno !== "undefined";
-    exports2.isBun = typeof Bun !== "undefined" && typeof Bun.version !== "undefined";
-    exports2.isNodeLike = typeof globalThis.process !== "undefined" && Boolean(globalThis.process.version) && Boolean(globalThis.process.versions?.node);
-    exports2.isNodeRuntime = exports2.isNodeLike && !exports2.isBun && !exports2.isDeno;
-    exports2.isReactNative = typeof navigator !== "undefined" && navigator?.product === "ReactNative";
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/formDataPolicy.js
-var require_formDataPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/formDataPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.formDataPolicyName = void 0;
-    exports2.formDataPolicy = formDataPolicy;
-    var bytesEncoding_js_1 = require_bytesEncoding();
-    var checkEnvironment_js_1 = require_checkEnvironment();
-    var httpHeaders_js_1 = require_httpHeaders();
-    exports2.formDataPolicyName = "formDataPolicy";
-    function formDataToFormDataMap(formData) {
-      const formDataMap = {};
-      for (const [key, value] of formData.entries()) {
-        formDataMap[key] ??= [];
-        formDataMap[key].push(value);
       }
-      return formDataMap;
-    }
-    function formDataPolicy() {
-      return {
-        name: exports2.formDataPolicyName,
-        async sendRequest(request2, next) {
-          if (checkEnvironment_js_1.isNodeLike && typeof FormData !== "undefined" && request2.body instanceof FormData) {
-            request2.formData = formDataToFormDataMap(request2.body);
-            request2.body = void 0;
-          }
-          if (request2.formData) {
-            const contentType = request2.headers.get("Content-Type");
-            if (contentType && contentType.indexOf("application/x-www-form-urlencoded") !== -1) {
-              request2.body = wwwFormUrlEncode(request2.formData);
-            } else {
-              await prepareFormData(request2.formData, request2);
+    };
+    exports2.ContainerAcquireLeaseExceptionHeaders = {
+      serializedName: "Container_acquireLeaseExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerAcquireLeaseExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
-            request2.formData = void 0;
           }
-          return next(request2);
         }
-      };
-    }
-    function wwwFormUrlEncode(formData) {
-      const urlSearchParams = new URLSearchParams();
-      for (const [key, value] of Object.entries(formData)) {
-        if (Array.isArray(value)) {
-          for (const subValue of value) {
-            urlSearchParams.append(key, subValue.toString());
+      }
+    };
+    exports2.ContainerReleaseLeaseHeaders = {
+      serializedName: "Container_releaseLeaseHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerReleaseLeaseHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
           }
-        } else {
-          urlSearchParams.append(key, value.toString());
         }
       }
-      return urlSearchParams.toString();
-    }
-    async function prepareFormData(formData, request2) {
-      const contentType = request2.headers.get("Content-Type");
-      if (contentType && !contentType.startsWith("multipart/form-data")) {
-        return;
-      }
-      request2.headers.set("Content-Type", contentType ?? "multipart/form-data");
-      const parts = [];
-      for (const [fieldName, values] of Object.entries(formData)) {
-        for (const value of Array.isArray(values) ? values : [values]) {
-          if (typeof value === "string") {
-            parts.push({
-              headers: (0, httpHeaders_js_1.createHttpHeaders)({
-                "Content-Disposition": `form-data; name="${fieldName}"`
-              }),
-              body: (0, bytesEncoding_js_1.stringToUint8Array)(value, "utf-8")
-            });
-          } else if (value === void 0 || value === null || typeof value !== "object") {
-            throw new Error(`Unexpected value for key ${fieldName}: ${value}. Value should be serialized to string first.`);
-          } else {
-            const fileName = value.name || "blob";
-            const headers = (0, httpHeaders_js_1.createHttpHeaders)();
-            headers.set("Content-Disposition", `form-data; name="${fieldName}"; filename="${fileName}"`);
-            headers.set("Content-Type", value.type || "application/octet-stream");
-            parts.push({
-              headers,
-              body: value
-            });
+    };
+    exports2.ContainerReleaseLeaseExceptionHeaders = {
+      serializedName: "Container_releaseLeaseExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerReleaseLeaseExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
       }
-      request2.multipartBody = { parts };
-    }
-  }
-});
-
-// node_modules/ms/index.js
-var require_ms = __commonJS({
-  "node_modules/ms/index.js"(exports2, module2) {
-    var s = 1e3;
-    var m = s * 60;
-    var h = m * 60;
-    var d = h * 24;
-    var w = d * 7;
-    var y = d * 365.25;
-    module2.exports = function(val, options) {
-      options = options || {};
-      var type2 = typeof val;
-      if (type2 === "string" && val.length > 0) {
-        return parse2(val);
-      } else if (type2 === "number" && isFinite(val)) {
-        return options.long ? fmtLong(val) : fmtShort(val);
-      }
-      throw new Error(
-        "val is not a non-empty string or a valid number. val=" + JSON.stringify(val)
-      );
     };
-    function parse2(str2) {
-      str2 = String(str2);
-      if (str2.length > 100) {
-        return;
-      }
-      var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(
-        str2
-      );
-      if (!match) {
-        return;
-      }
-      var n = parseFloat(match[1]);
-      var type2 = (match[2] || "ms").toLowerCase();
-      switch (type2) {
-        case "years":
-        case "year":
-        case "yrs":
-        case "yr":
-        case "y":
-          return n * y;
-        case "weeks":
-        case "week":
-        case "w":
-          return n * w;
-        case "days":
-        case "day":
-        case "d":
-          return n * d;
-        case "hours":
-        case "hour":
-        case "hrs":
-        case "hr":
-        case "h":
-          return n * h;
-        case "minutes":
-        case "minute":
-        case "mins":
-        case "min":
-        case "m":
-          return n * m;
-        case "seconds":
-        case "second":
-        case "secs":
-        case "sec":
-        case "s":
-          return n * s;
-        case "milliseconds":
-        case "millisecond":
-        case "msecs":
-        case "msec":
-        case "ms":
-          return n;
-        default:
-          return void 0;
-      }
-    }
-    function fmtShort(ms) {
-      var msAbs = Math.abs(ms);
-      if (msAbs >= d) {
-        return Math.round(ms / d) + "d";
-      }
-      if (msAbs >= h) {
-        return Math.round(ms / h) + "h";
-      }
-      if (msAbs >= m) {
-        return Math.round(ms / m) + "m";
-      }
-      if (msAbs >= s) {
-        return Math.round(ms / s) + "s";
-      }
-      return ms + "ms";
-    }
-    function fmtLong(ms) {
-      var msAbs = Math.abs(ms);
-      if (msAbs >= d) {
-        return plural(ms, msAbs, d, "day");
-      }
-      if (msAbs >= h) {
-        return plural(ms, msAbs, h, "hour");
-      }
-      if (msAbs >= m) {
-        return plural(ms, msAbs, m, "minute");
-      }
-      if (msAbs >= s) {
-        return plural(ms, msAbs, s, "second");
-      }
-      return ms + " ms";
-    }
-    function plural(ms, msAbs, n, name) {
-      var isPlural = msAbs >= n * 1.5;
-      return Math.round(ms / n) + " " + name + (isPlural ? "s" : "");
-    }
-  }
-});
-
-// node_modules/debug/src/common.js
-var require_common = __commonJS({
-  "node_modules/debug/src/common.js"(exports2, module2) {
-    function setup(env) {
-      createDebug.debug = createDebug;
-      createDebug.default = createDebug;
-      createDebug.coerce = coerce3;
-      createDebug.disable = disable;
-      createDebug.enable = enable;
-      createDebug.enabled = enabled;
-      createDebug.humanize = require_ms();
-      createDebug.destroy = destroy;
-      Object.keys(env).forEach((key) => {
-        createDebug[key] = env[key];
-      });
-      createDebug.names = [];
-      createDebug.skips = [];
-      createDebug.formatters = {};
-      function selectColor(namespace) {
-        let hash = 0;
-        for (let i = 0; i < namespace.length; i++) {
-          hash = (hash << 5) - hash + namespace.charCodeAt(i);
-          hash |= 0;
+    exports2.ContainerRenewLeaseHeaders = {
+      serializedName: "Container_renewLeaseHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerRenewLeaseHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          leaseId: {
+            serializedName: "x-ms-lease-id",
+            xmlName: "x-ms-lease-id",
+            type: {
+              name: "String"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          }
         }
-        return createDebug.colors[Math.abs(hash) % createDebug.colors.length];
       }
-      createDebug.selectColor = selectColor;
-      function createDebug(namespace) {
-        let prevTime;
-        let enableOverride = null;
-        let namespacesCache;
-        let enabledCache;
-        function debug4(...args) {
-          if (!debug4.enabled) {
-            return;
-          }
-          const self2 = debug4;
-          const curr = Number(/* @__PURE__ */ new Date());
-          const ms = curr - (prevTime || curr);
-          self2.diff = ms;
-          self2.prev = prevTime;
-          self2.curr = curr;
-          prevTime = curr;
-          args[0] = createDebug.coerce(args[0]);
-          if (typeof args[0] !== "string") {
-            args.unshift("%O");
+    };
+    exports2.ContainerRenewLeaseExceptionHeaders = {
+      serializedName: "Container_renewLeaseExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerRenewLeaseExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          let index = 0;
-          args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {
-            if (match === "%%") {
-              return "%";
+        }
+      }
+    };
+    exports2.ContainerBreakLeaseHeaders = {
+      serializedName: "Container_breakLeaseHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerBreakLeaseHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
             }
-            index++;
-            const formatter = createDebug.formatters[format];
-            if (typeof formatter === "function") {
-              const val = args[index];
-              match = formatter.call(self2, val);
-              args.splice(index, 1);
-              index--;
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
             }
-            return match;
-          });
-          createDebug.formatArgs.call(self2, args);
-          const logFn = self2.log || createDebug.log;
-          logFn.apply(self2, args);
-        }
-        debug4.namespace = namespace;
-        debug4.useColors = createDebug.useColors();
-        debug4.color = createDebug.selectColor(namespace);
-        debug4.extend = extend3;
-        debug4.destroy = createDebug.destroy;
-        Object.defineProperty(debug4, "enabled", {
-          enumerable: true,
-          configurable: false,
-          get: () => {
-            if (enableOverride !== null) {
-              return enableOverride;
+          },
+          leaseTime: {
+            serializedName: "x-ms-lease-time",
+            xmlName: "x-ms-lease-time",
+            type: {
+              name: "Number"
             }
-            if (namespacesCache !== createDebug.namespaces) {
-              namespacesCache = createDebug.namespaces;
-              enabledCache = createDebug.enabled(namespace);
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
             }
-            return enabledCache;
-          },
-          set: (v) => {
-            enableOverride = v;
           }
-        });
-        if (typeof createDebug.init === "function") {
-          createDebug.init(debug4);
         }
-        return debug4;
       }
-      function extend3(namespace, delimiter) {
-        const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace);
-        newDebug.log = this.log;
-        return newDebug;
-      }
-      function enable(namespaces) {
-        createDebug.save(namespaces);
-        createDebug.namespaces = namespaces;
-        createDebug.names = [];
-        createDebug.skips = [];
-        const split = (typeof namespaces === "string" ? namespaces : "").trim().replace(/\s+/g, ",").split(",").filter(Boolean);
-        for (const ns of split) {
-          if (ns[0] === "-") {
-            createDebug.skips.push(ns.slice(1));
-          } else {
-            createDebug.names.push(ns);
+    };
+    exports2.ContainerBreakLeaseExceptionHeaders = {
+      serializedName: "Container_breakLeaseExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerBreakLeaseExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
       }
-      function matchesTemplate(search, template) {
-        let searchIndex = 0;
-        let templateIndex = 0;
-        let starIndex = -1;
-        let matchIndex = 0;
-        while (searchIndex < search.length) {
-          if (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === "*")) {
-            if (template[templateIndex] === "*") {
-              starIndex = templateIndex;
-              matchIndex = searchIndex;
-              templateIndex++;
-            } else {
-              searchIndex++;
-              templateIndex++;
+    };
+    exports2.ContainerChangeLeaseHeaders = {
+      serializedName: "Container_changeLeaseHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerChangeLeaseHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          leaseId: {
+            serializedName: "x-ms-lease-id",
+            xmlName: "x-ms-lease-id",
+            type: {
+              name: "String"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
             }
-          } else if (starIndex !== -1) {
-            templateIndex = starIndex + 1;
-            matchIndex++;
-            searchIndex = matchIndex;
-          } else {
-            return false;
           }
         }
-        while (templateIndex < template.length && template[templateIndex] === "*") {
-          templateIndex++;
-        }
-        return templateIndex === template.length;
-      }
-      function disable() {
-        const namespaces = [
-          ...createDebug.names,
-          ...createDebug.skips.map((namespace) => "-" + namespace)
-        ].join(",");
-        createDebug.enable("");
-        return namespaces;
       }
-      function enabled(name) {
-        for (const skip of createDebug.skips) {
-          if (matchesTemplate(name, skip)) {
-            return false;
-          }
-        }
-        for (const ns of createDebug.names) {
-          if (matchesTemplate(name, ns)) {
-            return true;
+    };
+    exports2.ContainerChangeLeaseExceptionHeaders = {
+      serializedName: "Container_changeLeaseExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerChangeLeaseExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
-        return false;
-      }
-      function coerce3(val) {
-        if (val instanceof Error) {
-          return val.stack || val.message;
-        }
-        return val;
-      }
-      function destroy() {
-        console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
-      }
-      createDebug.enable(createDebug.load());
-      return createDebug;
-    }
-    module2.exports = setup;
-  }
-});
-
-// node_modules/debug/src/browser.js
-var require_browser = __commonJS({
-  "node_modules/debug/src/browser.js"(exports2, module2) {
-    exports2.formatArgs = formatArgs;
-    exports2.save = save;
-    exports2.load = load2;
-    exports2.useColors = useColors;
-    exports2.storage = localstorage();
-    exports2.destroy = /* @__PURE__ */ (() => {
-      let warned = false;
-      return () => {
-        if (!warned) {
-          warned = true;
-          console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
-        }
-      };
-    })();
-    exports2.colors = [
-      "#0000CC",
-      "#0000FF",
-      "#0033CC",
-      "#0033FF",
-      "#0066CC",
-      "#0066FF",
-      "#0099CC",
-      "#0099FF",
-      "#00CC00",
-      "#00CC33",
-      "#00CC66",
-      "#00CC99",
-      "#00CCCC",
-      "#00CCFF",
-      "#3300CC",
-      "#3300FF",
-      "#3333CC",
-      "#3333FF",
-      "#3366CC",
-      "#3366FF",
-      "#3399CC",
-      "#3399FF",
-      "#33CC00",
-      "#33CC33",
-      "#33CC66",
-      "#33CC99",
-      "#33CCCC",
-      "#33CCFF",
-      "#6600CC",
-      "#6600FF",
-      "#6633CC",
-      "#6633FF",
-      "#66CC00",
-      "#66CC33",
-      "#9900CC",
-      "#9900FF",
-      "#9933CC",
-      "#9933FF",
-      "#99CC00",
-      "#99CC33",
-      "#CC0000",
-      "#CC0033",
-      "#CC0066",
-      "#CC0099",
-      "#CC00CC",
-      "#CC00FF",
-      "#CC3300",
-      "#CC3333",
-      "#CC3366",
-      "#CC3399",
-      "#CC33CC",
-      "#CC33FF",
-      "#CC6600",
-      "#CC6633",
-      "#CC9900",
-      "#CC9933",
-      "#CCCC00",
-      "#CCCC33",
-      "#FF0000",
-      "#FF0033",
-      "#FF0066",
-      "#FF0099",
-      "#FF00CC",
-      "#FF00FF",
-      "#FF3300",
-      "#FF3333",
-      "#FF3366",
-      "#FF3399",
-      "#FF33CC",
-      "#FF33FF",
-      "#FF6600",
-      "#FF6633",
-      "#FF9900",
-      "#FF9933",
-      "#FFCC00",
-      "#FFCC33"
-    ];
-    function useColors() {
-      if (typeof window !== "undefined" && window.process && (window.process.type === "renderer" || window.process.__nwjs)) {
-        return true;
-      }
-      if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
-        return false;
-      }
-      let m;
-      return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // Is firebug? http://stackoverflow.com/a/398120/376773
-      typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31?
-      // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
-      typeof navigator !== "undefined" && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)) && parseInt(m[1], 10) >= 31 || // Double check webkit in userAgent just in case we are in a worker
-      typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);
-    }
-    function formatArgs(args) {
-      args[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args[0] + (this.useColors ? "%c " : " ") + "+" + module2.exports.humanize(this.diff);
-      if (!this.useColors) {
-        return;
       }
-      const c = "color: " + this.color;
-      args.splice(1, 0, c, "color: inherit");
-      let index = 0;
-      let lastC = 0;
-      args[0].replace(/%[a-zA-Z%]/g, (match) => {
-        if (match === "%%") {
-          return;
-        }
-        index++;
-        if (match === "%c") {
-          lastC = index;
-        }
-      });
-      args.splice(lastC, 0, c);
-    }
-    exports2.log = console.debug || console.log || (() => {
-    });
-    function save(namespaces) {
-      try {
-        if (namespaces) {
-          exports2.storage.setItem("debug", namespaces);
-        } else {
-          exports2.storage.removeItem("debug");
+    };
+    exports2.ContainerListBlobFlatSegmentHeaders = {
+      serializedName: "Container_listBlobFlatSegmentHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerListBlobFlatSegmentHeaders",
+        modelProperties: {
+          contentType: {
+            serializedName: "content-type",
+            xmlName: "content-type",
+            type: {
+              name: "String"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-      } catch (error3) {
-      }
-    }
-    function load2() {
-      let r;
-      try {
-        r = exports2.storage.getItem("debug") || exports2.storage.getItem("DEBUG");
-      } catch (error3) {
-      }
-      if (!r && typeof process !== "undefined" && "env" in process) {
-        r = process.env.DEBUG;
-      }
-      return r;
-    }
-    function localstorage() {
-      try {
-        return localStorage;
-      } catch (error3) {
-      }
-    }
-    module2.exports = require_common()(exports2);
-    var { formatters } = module2.exports;
-    formatters.j = function(v) {
-      try {
-        return JSON.stringify(v);
-      } catch (error3) {
-        return "[UnexpectedJSONParseError]: " + error3.message;
       }
     };
-  }
-});
-
-// node_modules/has-flag/index.js
-var require_has_flag = __commonJS({
-  "node_modules/has-flag/index.js"(exports2, module2) {
-    "use strict";
-    module2.exports = (flag, argv = process.argv) => {
-      const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
-      const position = argv.indexOf(prefix + flag);
-      const terminatorPosition = argv.indexOf("--");
-      return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
-    };
-  }
-});
-
-// node_modules/supports-color/index.js
-var require_supports_color = __commonJS({
-  "node_modules/supports-color/index.js"(exports2, module2) {
-    "use strict";
-    var os2 = require("os");
-    var tty = require("tty");
-    var hasFlag = require_has_flag();
-    var { env } = process;
-    var forceColor;
-    if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
-      forceColor = 0;
-    } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
-      forceColor = 1;
-    }
-    if ("FORCE_COLOR" in env) {
-      if (env.FORCE_COLOR === "true") {
-        forceColor = 1;
-      } else if (env.FORCE_COLOR === "false") {
-        forceColor = 0;
-      } else {
-        forceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env.FORCE_COLOR, 10), 3);
-      }
-    }
-    function translateLevel(level) {
-      if (level === 0) {
-        return false;
-      }
-      return {
-        level,
-        hasBasic: true,
-        has256: level >= 2,
-        has16m: level >= 3
-      };
-    }
-    function supportsColor(haveStream, streamIsTTY) {
-      if (forceColor === 0) {
-        return 0;
-      }
-      if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
-        return 3;
-      }
-      if (hasFlag("color=256")) {
-        return 2;
-      }
-      if (haveStream && !streamIsTTY && forceColor === void 0) {
-        return 0;
-      }
-      const min = forceColor || 0;
-      if (env.TERM === "dumb") {
-        return min;
-      }
-      if (process.platform === "win32") {
-        const osRelease = os2.release().split(".");
-        if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
-          return Number(osRelease[2]) >= 14931 ? 3 : 2;
+    exports2.ContainerListBlobFlatSegmentExceptionHeaders = {
+      serializedName: "Container_listBlobFlatSegmentExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerListBlobFlatSegmentExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        return 1;
       }
-      if ("CI" in env) {
-        if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "GITHUB_ACTIONS", "BUILDKITE"].some((sign) => sign in env) || env.CI_NAME === "codeship") {
-          return 1;
+    };
+    exports2.ContainerListBlobHierarchySegmentHeaders = {
+      serializedName: "Container_listBlobHierarchySegmentHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerListBlobHierarchySegmentHeaders",
+        modelProperties: {
+          contentType: {
+            serializedName: "content-type",
+            xmlName: "content-type",
+            type: {
+              name: "String"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        return min;
-      }
-      if ("TEAMCITY_VERSION" in env) {
-        return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
       }
-      if (env.COLORTERM === "truecolor") {
-        return 3;
-      }
-      if ("TERM_PROGRAM" in env) {
-        const version = parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
-        switch (env.TERM_PROGRAM) {
-          case "iTerm.app":
-            return version >= 3 ? 3 : 2;
-          case "Apple_Terminal":
-            return 2;
+    };
+    exports2.ContainerListBlobHierarchySegmentExceptionHeaders = {
+      serializedName: "Container_listBlobHierarchySegmentExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerListBlobHierarchySegmentExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-      if (/-256(color)?$/i.test(env.TERM)) {
-        return 2;
-      }
-      if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
-        return 1;
-      }
-      if ("COLORTERM" in env) {
-        return 1;
-      }
-      return min;
-    }
-    function getSupportLevel(stream) {
-      const level = supportsColor(stream, stream && stream.isTTY);
-      return translateLevel(level);
-    }
-    module2.exports = {
-      supportsColor: getSupportLevel,
-      stdout: translateLevel(supportsColor(true, tty.isatty(1))),
-      stderr: translateLevel(supportsColor(true, tty.isatty(2)))
     };
-  }
-});
-
-// node_modules/debug/src/node.js
-var require_node = __commonJS({
-  "node_modules/debug/src/node.js"(exports2, module2) {
-    var tty = require("tty");
-    var util = require("util");
-    exports2.init = init;
-    exports2.log = log;
-    exports2.formatArgs = formatArgs;
-    exports2.save = save;
-    exports2.load = load2;
-    exports2.useColors = useColors;
-    exports2.destroy = util.deprecate(
-      () => {
-      },
-      "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."
-    );
-    exports2.colors = [6, 2, 3, 4, 5, 1];
-    try {
-      const supportsColor = require_supports_color();
-      if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {
-        exports2.colors = [
-          20,
-          21,
-          26,
-          27,
-          32,
-          33,
-          38,
-          39,
-          40,
-          41,
-          42,
-          43,
-          44,
-          45,
-          56,
-          57,
-          62,
-          63,
-          68,
-          69,
-          74,
-          75,
-          76,
-          77,
-          78,
-          79,
-          80,
-          81,
-          92,
-          93,
-          98,
-          99,
-          112,
-          113,
-          128,
-          129,
-          134,
-          135,
-          148,
-          149,
-          160,
-          161,
-          162,
-          163,
-          164,
-          165,
-          166,
-          167,
-          168,
-          169,
-          170,
-          171,
-          172,
-          173,
-          178,
-          179,
-          184,
-          185,
-          196,
-          197,
-          198,
-          199,
-          200,
-          201,
-          202,
-          203,
-          204,
-          205,
-          206,
-          207,
-          208,
-          209,
-          214,
-          215,
-          220,
-          221
-        ];
-      }
-    } catch (error3) {
-    }
-    exports2.inspectOpts = Object.keys(process.env).filter((key) => {
-      return /^debug_/i.test(key);
-    }).reduce((obj, key) => {
-      const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_2, k) => {
-        return k.toUpperCase();
-      });
-      let val = process.env[key];
-      if (/^(yes|on|true|enabled)$/i.test(val)) {
-        val = true;
-      } else if (/^(no|off|false|disabled)$/i.test(val)) {
-        val = false;
-      } else if (val === "null") {
-        val = null;
-      } else {
-        val = Number(val);
-      }
-      obj[prop] = val;
-      return obj;
-    }, {});
-    function useColors() {
-      return "colors" in exports2.inspectOpts ? Boolean(exports2.inspectOpts.colors) : tty.isatty(process.stderr.fd);
-    }
-    function formatArgs(args) {
-      const { namespace: name, useColors: useColors2 } = this;
-      if (useColors2) {
-        const c = this.color;
-        const colorCode = "\x1B[3" + (c < 8 ? c : "8;5;" + c);
-        const prefix = `  ${colorCode};1m${name} \x1B[0m`;
-        args[0] = prefix + args[0].split("\n").join("\n" + prefix);
-        args.push(colorCode + "m+" + module2.exports.humanize(this.diff) + "\x1B[0m");
-      } else {
-        args[0] = getDate() + name + " " + args[0];
+    exports2.ContainerGetAccountInfoHeaders = {
+      serializedName: "Container_getAccountInfoHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerGetAccountInfoHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          skuName: {
+            serializedName: "x-ms-sku-name",
+            xmlName: "x-ms-sku-name",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "Standard_LRS",
+                "Standard_GRS",
+                "Standard_RAGRS",
+                "Standard_ZRS",
+                "Premium_LRS"
+              ]
+            }
+          },
+          accountKind: {
+            serializedName: "x-ms-account-kind",
+            xmlName: "x-ms-account-kind",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "Storage",
+                "BlobStorage",
+                "StorageV2",
+                "FileStorage",
+                "BlockBlobStorage"
+              ]
+            }
+          },
+          isHierarchicalNamespaceEnabled: {
+            serializedName: "x-ms-is-hns-enabled",
+            xmlName: "x-ms-is-hns-enabled",
+            type: {
+              name: "Boolean"
+            }
+          }
+        }
       }
-    }
-    function getDate() {
-      if (exports2.inspectOpts.hideDate) {
-        return "";
+    };
+    exports2.ContainerGetAccountInfoExceptionHeaders = {
+      serializedName: "Container_getAccountInfoExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerGetAccountInfoExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      return (/* @__PURE__ */ new Date()).toISOString() + " ";
-    }
-    function log(...args) {
-      return process.stderr.write(util.formatWithOptions(exports2.inspectOpts, ...args) + "\n");
-    }
-    function save(namespaces) {
-      if (namespaces) {
-        process.env.DEBUG = namespaces;
-      } else {
-        delete process.env.DEBUG;
+    };
+    exports2.BlobDownloadHeaders = {
+      serializedName: "Blob_downloadHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobDownloadHeaders",
+        modelProperties: {
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          createdOn: {
+            serializedName: "x-ms-creation-time",
+            xmlName: "x-ms-creation-time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          metadata: {
+            serializedName: "x-ms-meta",
+            headerCollectionPrefix: "x-ms-meta-",
+            xmlName: "x-ms-meta",
+            type: {
+              name: "Dictionary",
+              value: { type: { name: "String" } }
+            }
+          },
+          objectReplicationPolicyId: {
+            serializedName: "x-ms-or-policy-id",
+            xmlName: "x-ms-or-policy-id",
+            type: {
+              name: "String"
+            }
+          },
+          objectReplicationRules: {
+            serializedName: "x-ms-or",
+            headerCollectionPrefix: "x-ms-or-",
+            xmlName: "x-ms-or",
+            type: {
+              name: "Dictionary",
+              value: { type: { name: "String" } }
+            }
+          },
+          contentLength: {
+            serializedName: "content-length",
+            xmlName: "content-length",
+            type: {
+              name: "Number"
+            }
+          },
+          contentType: {
+            serializedName: "content-type",
+            xmlName: "content-type",
+            type: {
+              name: "String"
+            }
+          },
+          contentRange: {
+            serializedName: "content-range",
+            xmlName: "content-range",
+            type: {
+              name: "String"
+            }
+          },
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          contentEncoding: {
+            serializedName: "content-encoding",
+            xmlName: "content-encoding",
+            type: {
+              name: "String"
+            }
+          },
+          cacheControl: {
+            serializedName: "cache-control",
+            xmlName: "cache-control",
+            type: {
+              name: "String"
+            }
+          },
+          contentDisposition: {
+            serializedName: "content-disposition",
+            xmlName: "content-disposition",
+            type: {
+              name: "String"
+            }
+          },
+          contentLanguage: {
+            serializedName: "content-language",
+            xmlName: "content-language",
+            type: {
+              name: "String"
+            }
+          },
+          blobSequenceNumber: {
+            serializedName: "x-ms-blob-sequence-number",
+            xmlName: "x-ms-blob-sequence-number",
+            type: {
+              name: "Number"
+            }
+          },
+          blobType: {
+            serializedName: "x-ms-blob-type",
+            xmlName: "x-ms-blob-type",
+            type: {
+              name: "Enum",
+              allowedValues: ["BlockBlob", "PageBlob", "AppendBlob"]
+            }
+          },
+          copyCompletedOn: {
+            serializedName: "x-ms-copy-completion-time",
+            xmlName: "x-ms-copy-completion-time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          copyStatusDescription: {
+            serializedName: "x-ms-copy-status-description",
+            xmlName: "x-ms-copy-status-description",
+            type: {
+              name: "String"
+            }
+          },
+          copyId: {
+            serializedName: "x-ms-copy-id",
+            xmlName: "x-ms-copy-id",
+            type: {
+              name: "String"
+            }
+          },
+          copyProgress: {
+            serializedName: "x-ms-copy-progress",
+            xmlName: "x-ms-copy-progress",
+            type: {
+              name: "String"
+            }
+          },
+          copySource: {
+            serializedName: "x-ms-copy-source",
+            xmlName: "x-ms-copy-source",
+            type: {
+              name: "String"
+            }
+          },
+          copyStatus: {
+            serializedName: "x-ms-copy-status",
+            xmlName: "x-ms-copy-status",
+            type: {
+              name: "Enum",
+              allowedValues: ["pending", "success", "aborted", "failed"]
+            }
+          },
+          leaseDuration: {
+            serializedName: "x-ms-lease-duration",
+            xmlName: "x-ms-lease-duration",
+            type: {
+              name: "Enum",
+              allowedValues: ["infinite", "fixed"]
+            }
+          },
+          leaseState: {
+            serializedName: "x-ms-lease-state",
+            xmlName: "x-ms-lease-state",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "available",
+                "leased",
+                "expired",
+                "breaking",
+                "broken"
+              ]
+            }
+          },
+          leaseStatus: {
+            serializedName: "x-ms-lease-status",
+            xmlName: "x-ms-lease-status",
+            type: {
+              name: "Enum",
+              allowedValues: ["locked", "unlocked"]
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          isCurrentVersion: {
+            serializedName: "x-ms-is-current-version",
+            xmlName: "x-ms-is-current-version",
+            type: {
+              name: "Boolean"
+            }
+          },
+          acceptRanges: {
+            serializedName: "accept-ranges",
+            xmlName: "accept-ranges",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          blobCommittedBlockCount: {
+            serializedName: "x-ms-blob-committed-block-count",
+            xmlName: "x-ms-blob-committed-block-count",
+            type: {
+              name: "Number"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-server-encrypted",
+            xmlName: "x-ms-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          blobContentMD5: {
+            serializedName: "x-ms-blob-content-md5",
+            xmlName: "x-ms-blob-content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          tagCount: {
+            serializedName: "x-ms-tag-count",
+            xmlName: "x-ms-tag-count",
+            type: {
+              name: "Number"
+            }
+          },
+          isSealed: {
+            serializedName: "x-ms-blob-sealed",
+            xmlName: "x-ms-blob-sealed",
+            type: {
+              name: "Boolean"
+            }
+          },
+          lastAccessed: {
+            serializedName: "x-ms-last-access-time",
+            xmlName: "x-ms-last-access-time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          immutabilityPolicyExpiresOn: {
+            serializedName: "x-ms-immutability-policy-until-date",
+            xmlName: "x-ms-immutability-policy-until-date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          immutabilityPolicyMode: {
+            serializedName: "x-ms-immutability-policy-mode",
+            xmlName: "x-ms-immutability-policy-mode",
+            type: {
+              name: "Enum",
+              allowedValues: ["Mutable", "Unlocked", "Locked"]
+            }
+          },
+          legalHold: {
+            serializedName: "x-ms-legal-hold",
+            xmlName: "x-ms-legal-hold",
+            type: {
+              name: "Boolean"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          contentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
+            }
+          }
+        }
       }
-    }
-    function load2() {
-      return process.env.DEBUG;
-    }
-    function init(debug4) {
-      debug4.inspectOpts = {};
-      const keys = Object.keys(exports2.inspectOpts);
-      for (let i = 0; i < keys.length; i++) {
-        debug4.inspectOpts[keys[i]] = exports2.inspectOpts[keys[i]];
+    };
+    exports2.BlobDownloadExceptionHeaders = {
+      serializedName: "Blob_downloadExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobDownloadExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-    }
-    module2.exports = require_common()(exports2);
-    var { formatters } = module2.exports;
-    formatters.o = function(v) {
-      this.inspectOpts.colors = this.useColors;
-      return util.inspect(v, this.inspectOpts).split("\n").map((str2) => str2.trim()).join(" ");
     };
-    formatters.O = function(v) {
-      this.inspectOpts.colors = this.useColors;
-      return util.inspect(v, this.inspectOpts);
+    exports2.BlobGetPropertiesHeaders = {
+      serializedName: "Blob_getPropertiesHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobGetPropertiesHeaders",
+        modelProperties: {
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          createdOn: {
+            serializedName: "x-ms-creation-time",
+            xmlName: "x-ms-creation-time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          metadata: {
+            serializedName: "x-ms-meta",
+            headerCollectionPrefix: "x-ms-meta-",
+            xmlName: "x-ms-meta",
+            type: {
+              name: "Dictionary",
+              value: { type: { name: "String" } }
+            }
+          },
+          objectReplicationPolicyId: {
+            serializedName: "x-ms-or-policy-id",
+            xmlName: "x-ms-or-policy-id",
+            type: {
+              name: "String"
+            }
+          },
+          objectReplicationRules: {
+            serializedName: "x-ms-or",
+            headerCollectionPrefix: "x-ms-or-",
+            xmlName: "x-ms-or",
+            type: {
+              name: "Dictionary",
+              value: { type: { name: "String" } }
+            }
+          },
+          blobType: {
+            serializedName: "x-ms-blob-type",
+            xmlName: "x-ms-blob-type",
+            type: {
+              name: "Enum",
+              allowedValues: ["BlockBlob", "PageBlob", "AppendBlob"]
+            }
+          },
+          copyCompletedOn: {
+            serializedName: "x-ms-copy-completion-time",
+            xmlName: "x-ms-copy-completion-time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          copyStatusDescription: {
+            serializedName: "x-ms-copy-status-description",
+            xmlName: "x-ms-copy-status-description",
+            type: {
+              name: "String"
+            }
+          },
+          copyId: {
+            serializedName: "x-ms-copy-id",
+            xmlName: "x-ms-copy-id",
+            type: {
+              name: "String"
+            }
+          },
+          copyProgress: {
+            serializedName: "x-ms-copy-progress",
+            xmlName: "x-ms-copy-progress",
+            type: {
+              name: "String"
+            }
+          },
+          copySource: {
+            serializedName: "x-ms-copy-source",
+            xmlName: "x-ms-copy-source",
+            type: {
+              name: "String"
+            }
+          },
+          copyStatus: {
+            serializedName: "x-ms-copy-status",
+            xmlName: "x-ms-copy-status",
+            type: {
+              name: "Enum",
+              allowedValues: ["pending", "success", "aborted", "failed"]
+            }
+          },
+          isIncrementalCopy: {
+            serializedName: "x-ms-incremental-copy",
+            xmlName: "x-ms-incremental-copy",
+            type: {
+              name: "Boolean"
+            }
+          },
+          destinationSnapshot: {
+            serializedName: "x-ms-copy-destination-snapshot",
+            xmlName: "x-ms-copy-destination-snapshot",
+            type: {
+              name: "String"
+            }
+          },
+          leaseDuration: {
+            serializedName: "x-ms-lease-duration",
+            xmlName: "x-ms-lease-duration",
+            type: {
+              name: "Enum",
+              allowedValues: ["infinite", "fixed"]
+            }
+          },
+          leaseState: {
+            serializedName: "x-ms-lease-state",
+            xmlName: "x-ms-lease-state",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "available",
+                "leased",
+                "expired",
+                "breaking",
+                "broken"
+              ]
+            }
+          },
+          leaseStatus: {
+            serializedName: "x-ms-lease-status",
+            xmlName: "x-ms-lease-status",
+            type: {
+              name: "Enum",
+              allowedValues: ["locked", "unlocked"]
+            }
+          },
+          contentLength: {
+            serializedName: "content-length",
+            xmlName: "content-length",
+            type: {
+              name: "Number"
+            }
+          },
+          contentType: {
+            serializedName: "content-type",
+            xmlName: "content-type",
+            type: {
+              name: "String"
+            }
+          },
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          contentEncoding: {
+            serializedName: "content-encoding",
+            xmlName: "content-encoding",
+            type: {
+              name: "String"
+            }
+          },
+          contentDisposition: {
+            serializedName: "content-disposition",
+            xmlName: "content-disposition",
+            type: {
+              name: "String"
+            }
+          },
+          contentLanguage: {
+            serializedName: "content-language",
+            xmlName: "content-language",
+            type: {
+              name: "String"
+            }
+          },
+          cacheControl: {
+            serializedName: "cache-control",
+            xmlName: "cache-control",
+            type: {
+              name: "String"
+            }
+          },
+          blobSequenceNumber: {
+            serializedName: "x-ms-blob-sequence-number",
+            xmlName: "x-ms-blob-sequence-number",
+            type: {
+              name: "Number"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          acceptRanges: {
+            serializedName: "accept-ranges",
+            xmlName: "accept-ranges",
+            type: {
+              name: "String"
+            }
+          },
+          blobCommittedBlockCount: {
+            serializedName: "x-ms-blob-committed-block-count",
+            xmlName: "x-ms-blob-committed-block-count",
+            type: {
+              name: "Number"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-server-encrypted",
+            xmlName: "x-ms-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          accessTier: {
+            serializedName: "x-ms-access-tier",
+            xmlName: "x-ms-access-tier",
+            type: {
+              name: "String"
+            }
+          },
+          accessTierInferred: {
+            serializedName: "x-ms-access-tier-inferred",
+            xmlName: "x-ms-access-tier-inferred",
+            type: {
+              name: "Boolean"
+            }
+          },
+          archiveStatus: {
+            serializedName: "x-ms-archive-status",
+            xmlName: "x-ms-archive-status",
+            type: {
+              name: "String"
+            }
+          },
+          accessTierChangedOn: {
+            serializedName: "x-ms-access-tier-change-time",
+            xmlName: "x-ms-access-tier-change-time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          isCurrentVersion: {
+            serializedName: "x-ms-is-current-version",
+            xmlName: "x-ms-is-current-version",
+            type: {
+              name: "Boolean"
+            }
+          },
+          tagCount: {
+            serializedName: "x-ms-tag-count",
+            xmlName: "x-ms-tag-count",
+            type: {
+              name: "Number"
+            }
+          },
+          expiresOn: {
+            serializedName: "x-ms-expiry-time",
+            xmlName: "x-ms-expiry-time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isSealed: {
+            serializedName: "x-ms-blob-sealed",
+            xmlName: "x-ms-blob-sealed",
+            type: {
+              name: "Boolean"
+            }
+          },
+          rehydratePriority: {
+            serializedName: "x-ms-rehydrate-priority",
+            xmlName: "x-ms-rehydrate-priority",
+            type: {
+              name: "Enum",
+              allowedValues: ["High", "Standard"]
+            }
+          },
+          lastAccessed: {
+            serializedName: "x-ms-last-access-time",
+            xmlName: "x-ms-last-access-time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          immutabilityPolicyExpiresOn: {
+            serializedName: "x-ms-immutability-policy-until-date",
+            xmlName: "x-ms-immutability-policy-until-date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          immutabilityPolicyMode: {
+            serializedName: "x-ms-immutability-policy-mode",
+            xmlName: "x-ms-immutability-policy-mode",
+            type: {
+              name: "Enum",
+              allowedValues: ["Mutable", "Unlocked", "Locked"]
+            }
+          },
+          legalHold: {
+            serializedName: "x-ms-legal-hold",
+            xmlName: "x-ms-legal-hold",
+            type: {
+              name: "Boolean"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
+      }
     };
-  }
-});
-
-// node_modules/debug/src/index.js
-var require_src = __commonJS({
-  "node_modules/debug/src/index.js"(exports2, module2) {
-    if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) {
-      module2.exports = require_browser();
-    } else {
-      module2.exports = require_node();
-    }
-  }
-});
-
-// node_modules/agent-base/dist/helpers.js
-var require_helpers2 = __commonJS({
-  "node_modules/agent-base/dist/helpers.js"(exports2) {
-    "use strict";
-    var __createBinding2 = 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];
-        } };
+    exports2.BlobGetPropertiesExceptionHeaders = {
+      serializedName: "Blob_getPropertiesExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobGetPropertiesExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+    };
+    exports2.BlobDeleteHeaders = {
+      serializedName: "Blob_deleteHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobDeleteHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      __setModuleDefault2(result, mod);
-      return result;
     };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.req = exports2.json = exports2.toBuffer = void 0;
-    var http = __importStar2(require("http"));
-    var https2 = __importStar2(require("https"));
-    async function toBuffer(stream) {
-      let length = 0;
-      const chunks = [];
-      for await (const chunk of stream) {
-        length += chunk.length;
-        chunks.push(chunk);
+    exports2.BlobDeleteExceptionHeaders = {
+      serializedName: "Blob_deleteExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobDeleteExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      return Buffer.concat(chunks, length);
-    }
-    exports2.toBuffer = toBuffer;
-    async function json2(stream) {
-      const buf = await toBuffer(stream);
-      const str2 = buf.toString("utf8");
-      try {
-        return JSON.parse(str2);
-      } catch (_err) {
-        const err = _err;
-        err.message += ` (input: ${str2})`;
-        throw err;
+    };
+    exports2.BlobUndeleteHeaders = {
+      serializedName: "Blob_undeleteHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobUndeleteHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-    }
-    exports2.json = json2;
-    function req(url, opts = {}) {
-      const href = typeof url === "string" ? url : url.href;
-      const req2 = (href.startsWith("https:") ? https2 : http).request(url, opts);
-      const promise = new Promise((resolve2, reject) => {
-        req2.once("response", resolve2).once("error", reject).end();
-      });
-      req2.then = promise.then.bind(promise);
-      return req2;
-    }
-    exports2.req = req;
-  }
-});
-
-// node_modules/agent-base/dist/index.js
-var require_dist = __commonJS({
-  "node_modules/agent-base/dist/index.js"(exports2) {
-    "use strict";
-    var __createBinding2 = 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];
-        } };
+    };
+    exports2.BlobUndeleteExceptionHeaders = {
+      serializedName: "Blob_undeleteExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobUndeleteExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+    };
+    exports2.BlobSetExpiryHeaders = {
+      serializedName: "Blob_setExpiryHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetExpiryHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          }
+        }
       }
-      __setModuleDefault2(result, mod);
-      return result;
     };
-    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
-      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p);
+    exports2.BlobSetExpiryExceptionHeaders = {
+      serializedName: "Blob_setExpiryExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetExpiryExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
+      }
     };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Agent = void 0;
-    var net = __importStar2(require("net"));
-    var http = __importStar2(require("http"));
-    var https_1 = require("https");
-    __exportStar2(require_helpers2(), exports2);
-    var INTERNAL = /* @__PURE__ */ Symbol("AgentBaseInternalState");
-    var Agent = class extends http.Agent {
-      constructor(opts) {
-        super(opts);
-        this[INTERNAL] = {};
+    exports2.BlobSetHttpHeadersHeaders = {
+      serializedName: "Blob_setHttpHeadersHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetHttpHeadersHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          blobSequenceNumber: {
+            serializedName: "x-ms-blob-sequence-number",
+            xmlName: "x-ms-blob-sequence-number",
+            type: {
+              name: "Number"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      /**
-       * Determine whether this is an `http` or `https` request.
-       */
-      isSecureEndpoint(options) {
-        if (options) {
-          if (typeof options.secureEndpoint === "boolean") {
-            return options.secureEndpoint;
+    };
+    exports2.BlobSetHttpHeadersExceptionHeaders = {
+      serializedName: "Blob_setHttpHeadersExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetHttpHeadersExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          if (typeof options.protocol === "string") {
-            return options.protocol === "https:";
+        }
+      }
+    };
+    exports2.BlobSetImmutabilityPolicyHeaders = {
+      serializedName: "Blob_setImmutabilityPolicyHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetImmutabilityPolicyHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          immutabilityPolicyExpiry: {
+            serializedName: "x-ms-immutability-policy-until-date",
+            xmlName: "x-ms-immutability-policy-until-date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          immutabilityPolicyMode: {
+            serializedName: "x-ms-immutability-policy-mode",
+            xmlName: "x-ms-immutability-policy-mode",
+            type: {
+              name: "Enum",
+              allowedValues: ["Mutable", "Unlocked", "Locked"]
+            }
           }
         }
-        const { stack } = new Error();
-        if (typeof stack !== "string")
-          return false;
-        return stack.split("\n").some((l) => l.indexOf("(https.js:") !== -1 || l.indexOf("node:https:") !== -1);
       }
-      // In order to support async signatures in `connect()` and Node's native
-      // connection pooling in `http.Agent`, the array of sockets for each origin
-      // has to be updated synchronously. This is so the length of the array is
-      // accurate when `addRequest()` is next called. We achieve this by creating a
-      // fake socket and adding it to `sockets[origin]` and incrementing
-      // `totalSocketCount`.
-      incrementSockets(name) {
-        if (this.maxSockets === Infinity && this.maxTotalSockets === Infinity) {
-          return null;
+    };
+    exports2.BlobSetImmutabilityPolicyExceptionHeaders = {
+      serializedName: "Blob_setImmutabilityPolicyExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetImmutabilityPolicyExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        if (!this.sockets[name]) {
-          this.sockets[name] = [];
+      }
+    };
+    exports2.BlobDeleteImmutabilityPolicyHeaders = {
+      serializedName: "Blob_deleteImmutabilityPolicyHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobDeleteImmutabilityPolicyHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          }
         }
-        const fakeSocket = new net.Socket({ writable: false });
-        this.sockets[name].push(fakeSocket);
-        this.totalSocketCount++;
-        return fakeSocket;
       }
-      decrementSockets(name, socket) {
-        if (!this.sockets[name] || socket === null) {
-          return;
-        }
-        const sockets = this.sockets[name];
-        const index = sockets.indexOf(socket);
-        if (index !== -1) {
-          sockets.splice(index, 1);
-          this.totalSocketCount--;
-          if (sockets.length === 0) {
-            delete this.sockets[name];
+    };
+    exports2.BlobDeleteImmutabilityPolicyExceptionHeaders = {
+      serializedName: "Blob_deleteImmutabilityPolicyExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobDeleteImmutabilityPolicyExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
       }
-      // In order to properly update the socket pool, we need to call `getName()` on
-      // the core `https.Agent` if it is a secureEndpoint.
-      getName(options) {
-        const secureEndpoint = typeof options.secureEndpoint === "boolean" ? options.secureEndpoint : this.isSecureEndpoint(options);
-        if (secureEndpoint) {
-          return https_1.Agent.prototype.getName.call(this, options);
+    };
+    exports2.BlobSetLegalHoldHeaders = {
+      serializedName: "Blob_setLegalHoldHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetLegalHoldHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          legalHold: {
+            serializedName: "x-ms-legal-hold",
+            xmlName: "x-ms-legal-hold",
+            type: {
+              name: "Boolean"
+            }
+          }
         }
-        return super.getName(options);
       }
-      createSocket(req, options, cb) {
-        const connectOpts = {
-          ...options,
-          secureEndpoint: this.isSecureEndpoint(options)
-        };
-        const name = this.getName(connectOpts);
-        const fakeSocket = this.incrementSockets(name);
-        Promise.resolve().then(() => this.connect(req, connectOpts)).then((socket) => {
-          this.decrementSockets(name, fakeSocket);
-          if (socket instanceof http.Agent) {
-            try {
-              return socket.addRequest(req, connectOpts);
-            } catch (err) {
-              return cb(err);
+    };
+    exports2.BlobSetLegalHoldExceptionHeaders = {
+      serializedName: "Blob_setLegalHoldExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetLegalHoldExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
           }
-          this[INTERNAL].currentSocket = socket;
-          super.createSocket(req, options, cb);
-        }, (err) => {
-          this.decrementSockets(name, fakeSocket);
-          cb(err);
-        });
-      }
-      createConnection() {
-        const socket = this[INTERNAL].currentSocket;
-        this[INTERNAL].currentSocket = void 0;
-        if (!socket) {
-          throw new Error("No socket was returned in the `connect()` function");
         }
-        return socket;
       }
-      get defaultPort() {
-        return this[INTERNAL].defaultPort ?? (this.protocol === "https:" ? 443 : 80);
-      }
-      set defaultPort(v) {
-        if (this[INTERNAL]) {
-          this[INTERNAL].defaultPort = v;
+    };
+    exports2.BlobSetMetadataHeaders = {
+      serializedName: "Blob_setMetadataHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetMetadataHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-      get protocol() {
-        return this[INTERNAL].protocol ?? (this.isSecureEndpoint() ? "https:" : "http:");
-      }
-      set protocol(v) {
-        if (this[INTERNAL]) {
-          this[INTERNAL].protocol = v;
+    };
+    exports2.BlobSetMetadataExceptionHeaders = {
+      serializedName: "Blob_setMetadataExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetMetadataExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
     };
-    exports2.Agent = Agent;
-  }
-});
-
-// node_modules/https-proxy-agent/dist/parse-proxy-response.js
-var require_parse_proxy_response = __commonJS({
-  "node_modules/https-proxy-agent/dist/parse-proxy-response.js"(exports2) {
-    "use strict";
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.parseProxyResponse = void 0;
-    var debug_1 = __importDefault2(require_src());
-    var debug4 = (0, debug_1.default)("https-proxy-agent:parse-proxy-response");
-    function parseProxyResponse(socket) {
-      return new Promise((resolve2, reject) => {
-        let buffersLength = 0;
-        const buffers = [];
-        function read() {
-          const b = socket.read();
-          if (b)
-            ondata(b);
-          else
-            socket.once("readable", read);
-        }
-        function cleanup() {
-          socket.removeListener("end", onend);
-          socket.removeListener("error", onerror);
-          socket.removeListener("readable", read);
-        }
-        function onend() {
-          cleanup();
-          debug4("onend");
-          reject(new Error("Proxy connection ended before receiving CONNECT response"));
-        }
-        function onerror(err) {
-          cleanup();
-          debug4("onerror %o", err);
-          reject(err);
-        }
-        function ondata(b) {
-          buffers.push(b);
-          buffersLength += b.length;
-          const buffered = Buffer.concat(buffers, buffersLength);
-          const endOfHeaders = buffered.indexOf("\r\n\r\n");
-          if (endOfHeaders === -1) {
-            debug4("have not received end of HTTP headers yet...");
-            read();
-            return;
-          }
-          const headerParts = buffered.slice(0, endOfHeaders).toString("ascii").split("\r\n");
-          const firstLine = headerParts.shift();
-          if (!firstLine) {
-            socket.destroy();
-            return reject(new Error("No header received from proxy CONNECT response"));
-          }
-          const firstLineParts = firstLine.split(" ");
-          const statusCode = +firstLineParts[1];
-          const statusText = firstLineParts.slice(2).join(" ");
-          const headers = {};
-          for (const header of headerParts) {
-            if (!header)
-              continue;
-            const firstColon = header.indexOf(":");
-            if (firstColon === -1) {
-              socket.destroy();
-              return reject(new Error(`Invalid header from proxy CONNECT response: "${header}"`));
+    exports2.BlobAcquireLeaseHeaders = {
+      serializedName: "Blob_acquireLeaseHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobAcquireLeaseHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
             }
-            const key = header.slice(0, firstColon).toLowerCase();
-            const value = header.slice(firstColon + 1).trimStart();
-            const current = headers[key];
-            if (typeof current === "string") {
-              headers[key] = [current, value];
-            } else if (Array.isArray(current)) {
-              current.push(value);
-            } else {
-              headers[key] = value;
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          leaseId: {
+            serializedName: "x-ms-lease-id",
+            xmlName: "x-ms-lease-id",
+            type: {
+              name: "String"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
             }
           }
-          debug4("got proxy server response: %o %o", firstLine, headers);
-          cleanup();
-          resolve2({
-            connect: {
-              statusCode,
-              statusText,
-              headers
-            },
-            buffered
-          });
         }
-        socket.on("error", onerror);
-        socket.on("end", onend);
-        read();
-      });
-    }
-    exports2.parseProxyResponse = parseProxyResponse;
-  }
-});
-
-// node_modules/https-proxy-agent/dist/index.js
-var require_dist2 = __commonJS({
-  "node_modules/https-proxy-agent/dist/index.js"(exports2) {
-    "use strict";
-    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
       }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
     };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.HttpsProxyAgent = void 0;
-    var net = __importStar2(require("net"));
-    var tls = __importStar2(require("tls"));
-    var assert_1 = __importDefault2(require("assert"));
-    var debug_1 = __importDefault2(require_src());
-    var agent_base_1 = require_dist();
-    var url_1 = require("url");
-    var parse_proxy_response_1 = require_parse_proxy_response();
-    var debug4 = (0, debug_1.default)("https-proxy-agent");
-    var setServernameFromNonIpHost = (options) => {
-      if (options.servername === void 0 && options.host && !net.isIP(options.host)) {
-        return {
-          ...options,
-          servername: options.host
-        };
+    exports2.BlobAcquireLeaseExceptionHeaders = {
+      serializedName: "Blob_acquireLeaseExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobAcquireLeaseExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      return options;
     };
-    var HttpsProxyAgent = class extends agent_base_1.Agent {
-      constructor(proxy, opts) {
-        super(opts);
-        this.options = { path: void 0 };
-        this.proxy = typeof proxy === "string" ? new url_1.URL(proxy) : proxy;
-        this.proxyHeaders = opts?.headers ?? {};
-        debug4("Creating new HttpsProxyAgent instance: %o", this.proxy.href);
-        const host = (this.proxy.hostname || this.proxy.host).replace(/^\[|\]$/g, "");
-        const port = this.proxy.port ? parseInt(this.proxy.port, 10) : this.proxy.protocol === "https:" ? 443 : 80;
-        this.connectOpts = {
-          // Attempt to negotiate http/1.1 for proxy servers that support http/2
-          ALPNProtocols: ["http/1.1"],
-          ...opts ? omit2(opts, "headers") : null,
-          host,
-          port
-        };
-      }
-      /**
-       * Called when the node-core HTTP client library is creating a
-       * new HTTP request.
-       */
-      async connect(req, opts) {
-        const { proxy } = this;
-        if (!opts.host) {
-          throw new TypeError('No "host" provided');
-        }
-        let socket;
-        if (proxy.protocol === "https:") {
-          debug4("Creating `tls.Socket`: %o", this.connectOpts);
-          socket = tls.connect(setServernameFromNonIpHost(this.connectOpts));
-        } else {
-          debug4("Creating `net.Socket`: %o", this.connectOpts);
-          socket = net.connect(this.connectOpts);
-        }
-        const headers = typeof this.proxyHeaders === "function" ? this.proxyHeaders() : { ...this.proxyHeaders };
-        const host = net.isIPv6(opts.host) ? `[${opts.host}]` : opts.host;
-        let payload = `CONNECT ${host}:${opts.port} HTTP/1.1\r
-`;
-        if (proxy.username || proxy.password) {
-          const auth2 = `${decodeURIComponent(proxy.username)}:${decodeURIComponent(proxy.password)}`;
-          headers["Proxy-Authorization"] = `Basic ${Buffer.from(auth2).toString("base64")}`;
-        }
-        headers.Host = `${host}:${opts.port}`;
-        if (!headers["Proxy-Connection"]) {
-          headers["Proxy-Connection"] = this.keepAlive ? "Keep-Alive" : "close";
-        }
-        for (const name of Object.keys(headers)) {
-          payload += `${name}: ${headers[name]}\r
-`;
-        }
-        const proxyResponsePromise = (0, parse_proxy_response_1.parseProxyResponse)(socket);
-        socket.write(`${payload}\r
-`);
-        const { connect, buffered } = await proxyResponsePromise;
-        req.emit("proxyConnect", connect);
-        this.emit("proxyConnect", connect, req);
-        if (connect.statusCode === 200) {
-          req.once("socket", resume);
-          if (opts.secureEndpoint) {
-            debug4("Upgrading socket connection to TLS");
-            return tls.connect({
-              ...omit2(setServernameFromNonIpHost(opts), "host", "path", "port"),
-              socket
-            });
+    exports2.BlobReleaseLeaseHeaders = {
+      serializedName: "Blob_releaseLeaseHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobReleaseLeaseHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
           }
-          return socket;
         }
-        socket.destroy();
-        const fakeSocket = new net.Socket({ writable: false });
-        fakeSocket.readable = true;
-        req.once("socket", (s) => {
-          debug4("Replaying proxy buffer for failed request");
-          (0, assert_1.default)(s.listenerCount("data") > 0);
-          s.push(buffered);
-          s.push(null);
-        });
-        return fakeSocket;
       }
     };
-    HttpsProxyAgent.protocols = ["http", "https"];
-    exports2.HttpsProxyAgent = HttpsProxyAgent;
-    function resume(socket) {
-      socket.resume();
-    }
-    function omit2(obj, ...keys) {
-      const ret = {};
-      let key;
-      for (key in obj) {
-        if (!keys.includes(key)) {
-          ret[key] = obj[key];
+    exports2.BlobReleaseLeaseExceptionHeaders = {
+      serializedName: "Blob_releaseLeaseExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobReleaseLeaseExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-      return ret;
-    }
-  }
-});
-
-// node_modules/http-proxy-agent/dist/index.js
-var require_dist3 = __commonJS({
-  "node_modules/http-proxy-agent/dist/index.js"(exports2) {
-    "use strict";
-    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
-      }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
     };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.HttpProxyAgent = void 0;
-    var net = __importStar2(require("net"));
-    var tls = __importStar2(require("tls"));
-    var debug_1 = __importDefault2(require_src());
-    var events_1 = require("events");
-    var agent_base_1 = require_dist();
-    var url_1 = require("url");
-    var debug4 = (0, debug_1.default)("http-proxy-agent");
-    var HttpProxyAgent = class extends agent_base_1.Agent {
-      constructor(proxy, opts) {
-        super(opts);
-        this.proxy = typeof proxy === "string" ? new url_1.URL(proxy) : proxy;
-        this.proxyHeaders = opts?.headers ?? {};
-        debug4("Creating new HttpProxyAgent instance: %o", this.proxy.href);
-        const host = (this.proxy.hostname || this.proxy.host).replace(/^\[|\]$/g, "");
-        const port = this.proxy.port ? parseInt(this.proxy.port, 10) : this.proxy.protocol === "https:" ? 443 : 80;
-        this.connectOpts = {
-          ...opts ? omit2(opts, "headers") : null,
-          host,
-          port
-        };
-      }
-      addRequest(req, opts) {
-        req._header = null;
-        this.setRequestProps(req, opts);
-        super.addRequest(req, opts);
-      }
-      setRequestProps(req, opts) {
-        const { proxy } = this;
-        const protocol = opts.secureEndpoint ? "https:" : "http:";
-        const hostname = req.getHeader("host") || "localhost";
-        const base = `${protocol}//${hostname}`;
-        const url = new url_1.URL(req.path, base);
-        if (opts.port !== 80) {
-          url.port = String(opts.port);
-        }
-        req.path = String(url);
-        const headers = typeof this.proxyHeaders === "function" ? this.proxyHeaders() : { ...this.proxyHeaders };
-        if (proxy.username || proxy.password) {
-          const auth2 = `${decodeURIComponent(proxy.username)}:${decodeURIComponent(proxy.password)}`;
-          headers["Proxy-Authorization"] = `Basic ${Buffer.from(auth2).toString("base64")}`;
-        }
-        if (!headers["Proxy-Connection"]) {
-          headers["Proxy-Connection"] = this.keepAlive ? "Keep-Alive" : "close";
-        }
-        for (const name of Object.keys(headers)) {
-          const value = headers[name];
-          if (value) {
-            req.setHeader(name, value);
+    exports2.BlobRenewLeaseHeaders = {
+      serializedName: "Blob_renewLeaseHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobRenewLeaseHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          leaseId: {
+            serializedName: "x-ms-lease-id",
+            xmlName: "x-ms-lease-id",
+            type: {
+              name: "String"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
           }
         }
       }
-      async connect(req, opts) {
-        req._header = null;
-        if (!req.path.includes("://")) {
-          this.setRequestProps(req, opts);
-        }
-        let first;
-        let endOfHeaders;
-        debug4("Regenerating stored HTTP header string for request");
-        req._implicitHeader();
-        if (req.outputData && req.outputData.length > 0) {
-          debug4("Patching connection write() output buffer with updated header");
-          first = req.outputData[0].data;
-          endOfHeaders = first.indexOf("\r\n\r\n") + 4;
-          req.outputData[0].data = req._header + first.substring(endOfHeaders);
-          debug4("Output buffer: %o", req.outputData[0].data);
-        }
-        let socket;
-        if (this.proxy.protocol === "https:") {
-          debug4("Creating `tls.Socket`: %o", this.connectOpts);
-          socket = tls.connect(this.connectOpts);
-        } else {
-          debug4("Creating `net.Socket`: %o", this.connectOpts);
-          socket = net.connect(this.connectOpts);
+    };
+    exports2.BlobRenewLeaseExceptionHeaders = {
+      serializedName: "Blob_renewLeaseExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobRenewLeaseExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        await (0, events_1.once)(socket, "connect");
-        return socket;
       }
     };
-    HttpProxyAgent.protocols = ["http", "https"];
-    exports2.HttpProxyAgent = HttpProxyAgent;
-    function omit2(obj, ...keys) {
-      const ret = {};
-      let key;
-      for (key in obj) {
-        if (!keys.includes(key)) {
-          ret[key] = obj[key];
+    exports2.BlobChangeLeaseHeaders = {
+      serializedName: "Blob_changeLeaseHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobChangeLeaseHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          leaseId: {
+            serializedName: "x-ms-lease-id",
+            xmlName: "x-ms-lease-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          }
         }
       }
-      return ret;
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/proxyPolicy.js
-var require_proxyPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/proxyPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.globalNoProxyList = exports2.proxyPolicyName = void 0;
-    exports2.loadNoProxy = loadNoProxy;
-    exports2.getDefaultProxySettings = getDefaultProxySettings;
-    exports2.proxyPolicy = proxyPolicy;
-    var https_proxy_agent_1 = require_dist2();
-    var http_proxy_agent_1 = require_dist3();
-    var log_js_1 = require_log2();
-    var HTTPS_PROXY = "HTTPS_PROXY";
-    var HTTP_PROXY = "HTTP_PROXY";
-    var ALL_PROXY = "ALL_PROXY";
-    var NO_PROXY = "NO_PROXY";
-    exports2.proxyPolicyName = "proxyPolicy";
-    exports2.globalNoProxyList = [];
-    var noProxyListLoaded = false;
-    var globalBypassedMap = /* @__PURE__ */ new Map();
-    function getEnvironmentValue(name) {
-      if (process.env[name]) {
-        return process.env[name];
-      } else if (process.env[name.toLowerCase()]) {
-        return process.env[name.toLowerCase()];
-      }
-      return void 0;
-    }
-    function loadEnvironmentProxyValue() {
-      if (!process) {
-        return void 0;
+    };
+    exports2.BlobChangeLeaseExceptionHeaders = {
+      serializedName: "Blob_changeLeaseExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobChangeLeaseExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      const httpsProxy = getEnvironmentValue(HTTPS_PROXY);
-      const allProxy = getEnvironmentValue(ALL_PROXY);
-      const httpProxy = getEnvironmentValue(HTTP_PROXY);
-      return httpsProxy || allProxy || httpProxy;
-    }
-    function isBypassed(uri, noProxyList, bypassedMap) {
-      if (noProxyList.length === 0) {
-        return false;
+    };
+    exports2.BlobBreakLeaseHeaders = {
+      serializedName: "Blob_breakLeaseHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobBreakLeaseHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          leaseTime: {
+            serializedName: "x-ms-lease-time",
+            xmlName: "x-ms-lease-time",
+            type: {
+              name: "Number"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          }
+        }
       }
-      const host = new URL(uri).hostname;
-      if (bypassedMap?.has(host)) {
-        return bypassedMap.get(host);
+    };
+    exports2.BlobBreakLeaseExceptionHeaders = {
+      serializedName: "Blob_breakLeaseExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobBreakLeaseExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      let isBypassedFlag = false;
-      for (const pattern of noProxyList) {
-        if (pattern[0] === ".") {
-          if (host.endsWith(pattern)) {
-            isBypassedFlag = true;
-          } else {
-            if (host.length === pattern.length - 1 && host === pattern.slice(1)) {
-              isBypassedFlag = true;
+    };
+    exports2.BlobCreateSnapshotHeaders = {
+      serializedName: "Blob_createSnapshotHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobCreateSnapshotHeaders",
+        modelProperties: {
+          snapshot: {
+            serializedName: "x-ms-snapshot",
+            xmlName: "x-ms-snapshot",
+            type: {
+              name: "String"
+            }
+          },
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
-          }
-        } else {
-          if (host === pattern) {
-            isBypassedFlag = true;
           }
         }
       }
-      bypassedMap?.set(host, isBypassedFlag);
-      return isBypassedFlag;
-    }
-    function loadNoProxy() {
-      const noProxy = getEnvironmentValue(NO_PROXY);
-      noProxyListLoaded = true;
-      if (noProxy) {
-        return noProxy.split(",").map((item) => item.trim()).filter((item) => item.length);
-      }
-      return [];
-    }
-    function getDefaultProxySettings(proxyUrl) {
-      if (!proxyUrl) {
-        proxyUrl = loadEnvironmentProxyValue();
-        if (!proxyUrl) {
-          return void 0;
-        }
-      }
-      const parsedUrl = new URL(proxyUrl);
-      const schema2 = parsedUrl.protocol ? parsedUrl.protocol + "//" : "";
-      return {
-        host: schema2 + parsedUrl.hostname,
-        port: Number.parseInt(parsedUrl.port || "80"),
-        username: parsedUrl.username,
-        password: parsedUrl.password
-      };
-    }
-    function getDefaultProxySettingsInternal() {
-      const envProxy = loadEnvironmentProxyValue();
-      return envProxy ? new URL(envProxy) : void 0;
-    }
-    function getUrlFromProxySettings(settings) {
-      let parsedProxyUrl;
-      try {
-        parsedProxyUrl = new URL(settings.host);
-      } catch {
-        throw new Error(`Expecting a valid host string in proxy settings, but found "${settings.host}".`);
-      }
-      parsedProxyUrl.port = String(settings.port);
-      if (settings.username) {
-        parsedProxyUrl.username = settings.username;
-      }
-      if (settings.password) {
-        parsedProxyUrl.password = settings.password;
-      }
-      return parsedProxyUrl;
-    }
-    function setProxyAgentOnRequest(request2, cachedAgents, proxyUrl) {
-      if (request2.agent) {
-        return;
-      }
-      const url = new URL(request2.url);
-      const isInsecure = url.protocol !== "https:";
-      if (request2.tlsSettings) {
-        log_js_1.logger.warning("TLS settings are not supported in combination with custom Proxy, certificates provided to the client will be ignored.");
-      }
-      const headers = request2.headers.toJSON();
-      if (isInsecure) {
-        if (!cachedAgents.httpProxyAgent) {
-          cachedAgents.httpProxyAgent = new http_proxy_agent_1.HttpProxyAgent(proxyUrl, { headers });
-        }
-        request2.agent = cachedAgents.httpProxyAgent;
-      } else {
-        if (!cachedAgents.httpsProxyAgent) {
-          cachedAgents.httpsProxyAgent = new https_proxy_agent_1.HttpsProxyAgent(proxyUrl, { headers });
+    };
+    exports2.BlobCreateSnapshotExceptionHeaders = {
+      serializedName: "Blob_createSnapshotExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobCreateSnapshotExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        request2.agent = cachedAgents.httpsProxyAgent;
       }
-    }
-    function proxyPolicy(proxySettings, options) {
-      if (!noProxyListLoaded) {
-        exports2.globalNoProxyList.push(...loadNoProxy());
-      }
-      const defaultProxy = proxySettings ? getUrlFromProxySettings(proxySettings) : getDefaultProxySettingsInternal();
-      const cachedAgents = {};
-      return {
-        name: exports2.proxyPolicyName,
-        async sendRequest(request2, next) {
-          if (!request2.proxySettings && defaultProxy && !isBypassed(request2.url, options?.customNoProxyList ?? exports2.globalNoProxyList, options?.customNoProxyList ? void 0 : globalBypassedMap)) {
-            setProxyAgentOnRequest(request2, cachedAgents, defaultProxy);
-          } else if (request2.proxySettings) {
-            setProxyAgentOnRequest(request2, cachedAgents, getUrlFromProxySettings(request2.proxySettings));
+    };
+    exports2.BlobStartCopyFromURLHeaders = {
+      serializedName: "Blob_startCopyFromURLHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobStartCopyFromURLHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          copyId: {
+            serializedName: "x-ms-copy-id",
+            xmlName: "x-ms-copy-id",
+            type: {
+              name: "String"
+            }
+          },
+          copyStatus: {
+            serializedName: "x-ms-copy-status",
+            xmlName: "x-ms-copy-status",
+            type: {
+              name: "Enum",
+              allowedValues: ["pending", "success", "aborted", "failed"]
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          return next(request2);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/agentPolicy.js
-var require_agentPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/agentPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.agentPolicyName = void 0;
-    exports2.agentPolicy = agentPolicy;
-    exports2.agentPolicyName = "agentPolicy";
-    function agentPolicy(agent) {
-      return {
-        name: exports2.agentPolicyName,
-        sendRequest: async (req, next) => {
-          if (!req.agent) {
-            req.agent = agent;
+      }
+    };
+    exports2.BlobStartCopyFromURLExceptionHeaders = {
+      serializedName: "Blob_startCopyFromURLExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobStartCopyFromURLExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceErrorCode: {
+            serializedName: "x-ms-copy-source-error-code",
+            xmlName: "x-ms-copy-source-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceStatusCode: {
+            serializedName: "x-ms-copy-source-status-code",
+            xmlName: "x-ms-copy-source-status-code",
+            type: {
+              name: "Number"
+            }
           }
-          return next(req);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/tlsPolicy.js
-var require_tlsPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/tlsPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.tlsPolicyName = void 0;
-    exports2.tlsPolicy = tlsPolicy;
-    exports2.tlsPolicyName = "tlsPolicy";
-    function tlsPolicy(tlsSettings) {
-      return {
-        name: exports2.tlsPolicyName,
-        sendRequest: async (req, next) => {
-          if (!req.tlsSettings) {
-            req.tlsSettings = tlsSettings;
+      }
+    };
+    exports2.BlobCopyFromURLHeaders = {
+      serializedName: "Blob_copyFromURLHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobCopyFromURLHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          copyId: {
+            serializedName: "x-ms-copy-id",
+            xmlName: "x-ms-copy-id",
+            type: {
+              name: "String"
+            }
+          },
+          copyStatus: {
+            defaultValue: "success",
+            isConstant: true,
+            serializedName: "x-ms-copy-status",
+            type: {
+              name: "String"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          xMsContentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          return next(req);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/typeGuards.js
-var require_typeGuards = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/typeGuards.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isNodeReadableStream = isNodeReadableStream;
-    exports2.isWebReadableStream = isWebReadableStream;
-    exports2.isBinaryBody = isBinaryBody;
-    exports2.isReadableStream = isReadableStream;
-    exports2.isBlob = isBlob;
-    function isNodeReadableStream(x) {
-      return Boolean(x && typeof x["pipe"] === "function");
-    }
-    function isWebReadableStream(x) {
-      return Boolean(x && typeof x.getReader === "function" && typeof x.tee === "function");
-    }
-    function isBinaryBody(body) {
-      return body !== void 0 && (body instanceof Uint8Array || isReadableStream(body) || typeof body === "function" || body instanceof Blob);
-    }
-    function isReadableStream(x) {
-      return isNodeReadableStream(x) || isWebReadableStream(x);
-    }
-    function isBlob(x) {
-      return typeof x.stream === "function";
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/concat.js
-var require_concat = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/concat.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.concat = concat;
-    var stream_1 = require("stream");
-    var typeGuards_js_1 = require_typeGuards();
-    async function* streamAsyncIterator() {
-      const reader = this.getReader();
-      try {
-        while (true) {
-          const { done, value } = await reader.read();
-          if (done) {
-            return;
+      }
+    };
+    exports2.BlobCopyFromURLExceptionHeaders = {
+      serializedName: "Blob_copyFromURLExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobCopyFromURLExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceErrorCode: {
+            serializedName: "x-ms-copy-source-error-code",
+            xmlName: "x-ms-copy-source-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceStatusCode: {
+            serializedName: "x-ms-copy-source-status-code",
+            xmlName: "x-ms-copy-source-status-code",
+            type: {
+              name: "Number"
+            }
           }
-          yield value;
         }
-      } finally {
-        reader.releaseLock();
-      }
-    }
-    function makeAsyncIterable(webStream) {
-      if (!webStream[Symbol.asyncIterator]) {
-        webStream[Symbol.asyncIterator] = streamAsyncIterator.bind(webStream);
-      }
-      if (!webStream.values) {
-        webStream.values = streamAsyncIterator.bind(webStream);
-      }
-    }
-    function ensureNodeStream(stream) {
-      if (stream instanceof ReadableStream) {
-        makeAsyncIterable(stream);
-        return stream_1.Readable.fromWeb(stream);
-      } else {
-        return stream;
-      }
-    }
-    function toStream(source) {
-      if (source instanceof Uint8Array) {
-        return stream_1.Readable.from(Buffer.from(source));
-      } else if ((0, typeGuards_js_1.isBlob)(source)) {
-        return ensureNodeStream(source.stream());
-      } else {
-        return ensureNodeStream(source);
       }
-    }
-    async function concat(sources) {
-      return function() {
-        const streams = sources.map((x) => typeof x === "function" ? x() : x).map(toStream);
-        return stream_1.Readable.from((async function* () {
-          for (const stream of streams) {
-            for await (const chunk of stream) {
-              yield chunk;
+    };
+    exports2.BlobAbortCopyFromURLHeaders = {
+      serializedName: "Blob_abortCopyFromURLHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobAbortCopyFromURLHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
           }
-        })());
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/multipartPolicy.js
-var require_multipartPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/multipartPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.multipartPolicyName = void 0;
-    exports2.multipartPolicy = multipartPolicy;
-    var bytesEncoding_js_1 = require_bytesEncoding();
-    var typeGuards_js_1 = require_typeGuards();
-    var uuidUtils_js_1 = require_uuidUtils();
-    var concat_js_1 = require_concat();
-    function generateBoundary() {
-      return `----AzSDKFormBoundary${(0, uuidUtils_js_1.randomUUID)()}`;
-    }
-    function encodeHeaders(headers) {
-      let result = "";
-      for (const [key, value] of headers) {
-        result += `${key}: ${value}\r
-`;
-      }
-      return result;
-    }
-    function getLength(source) {
-      if (source instanceof Uint8Array) {
-        return source.byteLength;
-      } else if ((0, typeGuards_js_1.isBlob)(source)) {
-        return source.size === -1 ? void 0 : source.size;
-      } else {
-        return void 0;
-      }
-    }
-    function getTotalLength(sources) {
-      let total = 0;
-      for (const source of sources) {
-        const partLength = getLength(source);
-        if (partLength === void 0) {
-          return void 0;
-        } else {
-          total += partLength;
         }
       }
-      return total;
-    }
-    async function buildRequestBody(request2, parts, boundary) {
-      const sources = [
-        (0, bytesEncoding_js_1.stringToUint8Array)(`--${boundary}`, "utf-8"),
-        ...parts.flatMap((part) => [
-          (0, bytesEncoding_js_1.stringToUint8Array)("\r\n", "utf-8"),
-          (0, bytesEncoding_js_1.stringToUint8Array)(encodeHeaders(part.headers), "utf-8"),
-          (0, bytesEncoding_js_1.stringToUint8Array)("\r\n", "utf-8"),
-          part.body,
-          (0, bytesEncoding_js_1.stringToUint8Array)(`\r
---${boundary}`, "utf-8")
-        ]),
-        (0, bytesEncoding_js_1.stringToUint8Array)("--\r\n\r\n", "utf-8")
-      ];
-      const contentLength = getTotalLength(sources);
-      if (contentLength) {
-        request2.headers.set("Content-Length", contentLength);
-      }
-      request2.body = await (0, concat_js_1.concat)(sources);
-    }
-    exports2.multipartPolicyName = "multipartPolicy";
-    var maxBoundaryLength = 70;
-    var validBoundaryCharacters = new Set(`abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'()+,-./:=?`);
-    function assertValidBoundary(boundary) {
-      if (boundary.length > maxBoundaryLength) {
-        throw new Error(`Multipart boundary "${boundary}" exceeds maximum length of 70 characters`);
-      }
-      if (Array.from(boundary).some((x) => !validBoundaryCharacters.has(x))) {
-        throw new Error(`Multipart boundary "${boundary}" contains invalid characters`);
+    };
+    exports2.BlobAbortCopyFromURLExceptionHeaders = {
+      serializedName: "Blob_abortCopyFromURLExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobAbortCopyFromURLExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-    }
-    function multipartPolicy() {
-      return {
-        name: exports2.multipartPolicyName,
-        async sendRequest(request2, next) {
-          if (!request2.multipartBody) {
-            return next(request2);
+    };
+    exports2.BlobSetTierHeaders = {
+      serializedName: "Blob_setTierHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetTierHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          if (request2.body) {
-            throw new Error("multipartBody and regular body cannot be set at the same time");
+        }
+      }
+    };
+    exports2.BlobSetTierExceptionHeaders = {
+      serializedName: "Blob_setTierExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetTierExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          let boundary = request2.multipartBody.boundary;
-          const contentTypeHeader = request2.headers.get("Content-Type") ?? "multipart/mixed";
-          const parsedHeader = contentTypeHeader.match(/^(multipart\/[^ ;]+)(?:; *boundary=(.+))?$/);
-          if (!parsedHeader) {
-            throw new Error(`Got multipart request body, but content-type header was not multipart: ${contentTypeHeader}`);
+        }
+      }
+    };
+    exports2.BlobGetAccountInfoHeaders = {
+      serializedName: "Blob_getAccountInfoHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobGetAccountInfoHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          skuName: {
+            serializedName: "x-ms-sku-name",
+            xmlName: "x-ms-sku-name",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "Standard_LRS",
+                "Standard_GRS",
+                "Standard_RAGRS",
+                "Standard_ZRS",
+                "Premium_LRS"
+              ]
+            }
+          },
+          accountKind: {
+            serializedName: "x-ms-account-kind",
+            xmlName: "x-ms-account-kind",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "Storage",
+                "BlobStorage",
+                "StorageV2",
+                "FileStorage",
+                "BlockBlobStorage"
+              ]
+            }
+          },
+          isHierarchicalNamespaceEnabled: {
+            serializedName: "x-ms-is-hns-enabled",
+            xmlName: "x-ms-is-hns-enabled",
+            type: {
+              name: "Boolean"
+            }
           }
-          const [, contentType, parsedBoundary] = parsedHeader;
-          if (parsedBoundary && boundary && parsedBoundary !== boundary) {
-            throw new Error(`Multipart boundary was specified as ${parsedBoundary} in the header, but got ${boundary} in the request body`);
+        }
+      }
+    };
+    exports2.BlobGetAccountInfoExceptionHeaders = {
+      serializedName: "Blob_getAccountInfoExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobGetAccountInfoExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          boundary ??= parsedBoundary;
-          if (boundary) {
-            assertValidBoundary(boundary);
-          } else {
-            boundary = generateBoundary();
+        }
+      }
+    };
+    exports2.BlobQueryHeaders = {
+      serializedName: "Blob_queryHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobQueryHeaders",
+        modelProperties: {
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          metadata: {
+            serializedName: "x-ms-meta",
+            headerCollectionPrefix: "x-ms-meta-",
+            xmlName: "x-ms-meta",
+            type: {
+              name: "Dictionary",
+              value: { type: { name: "String" } }
+            }
+          },
+          contentLength: {
+            serializedName: "content-length",
+            xmlName: "content-length",
+            type: {
+              name: "Number"
+            }
+          },
+          contentType: {
+            serializedName: "content-type",
+            xmlName: "content-type",
+            type: {
+              name: "String"
+            }
+          },
+          contentRange: {
+            serializedName: "content-range",
+            xmlName: "content-range",
+            type: {
+              name: "String"
+            }
+          },
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          contentEncoding: {
+            serializedName: "content-encoding",
+            xmlName: "content-encoding",
+            type: {
+              name: "String"
+            }
+          },
+          cacheControl: {
+            serializedName: "cache-control",
+            xmlName: "cache-control",
+            type: {
+              name: "String"
+            }
+          },
+          contentDisposition: {
+            serializedName: "content-disposition",
+            xmlName: "content-disposition",
+            type: {
+              name: "String"
+            }
+          },
+          contentLanguage: {
+            serializedName: "content-language",
+            xmlName: "content-language",
+            type: {
+              name: "String"
+            }
+          },
+          blobSequenceNumber: {
+            serializedName: "x-ms-blob-sequence-number",
+            xmlName: "x-ms-blob-sequence-number",
+            type: {
+              name: "Number"
+            }
+          },
+          blobType: {
+            serializedName: "x-ms-blob-type",
+            xmlName: "x-ms-blob-type",
+            type: {
+              name: "Enum",
+              allowedValues: ["BlockBlob", "PageBlob", "AppendBlob"]
+            }
+          },
+          copyCompletionTime: {
+            serializedName: "x-ms-copy-completion-time",
+            xmlName: "x-ms-copy-completion-time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          copyStatusDescription: {
+            serializedName: "x-ms-copy-status-description",
+            xmlName: "x-ms-copy-status-description",
+            type: {
+              name: "String"
+            }
+          },
+          copyId: {
+            serializedName: "x-ms-copy-id",
+            xmlName: "x-ms-copy-id",
+            type: {
+              name: "String"
+            }
+          },
+          copyProgress: {
+            serializedName: "x-ms-copy-progress",
+            xmlName: "x-ms-copy-progress",
+            type: {
+              name: "String"
+            }
+          },
+          copySource: {
+            serializedName: "x-ms-copy-source",
+            xmlName: "x-ms-copy-source",
+            type: {
+              name: "String"
+            }
+          },
+          copyStatus: {
+            serializedName: "x-ms-copy-status",
+            xmlName: "x-ms-copy-status",
+            type: {
+              name: "Enum",
+              allowedValues: ["pending", "success", "aborted", "failed"]
+            }
+          },
+          leaseDuration: {
+            serializedName: "x-ms-lease-duration",
+            xmlName: "x-ms-lease-duration",
+            type: {
+              name: "Enum",
+              allowedValues: ["infinite", "fixed"]
+            }
+          },
+          leaseState: {
+            serializedName: "x-ms-lease-state",
+            xmlName: "x-ms-lease-state",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "available",
+                "leased",
+                "expired",
+                "breaking",
+                "broken"
+              ]
+            }
+          },
+          leaseStatus: {
+            serializedName: "x-ms-lease-status",
+            xmlName: "x-ms-lease-status",
+            type: {
+              name: "Enum",
+              allowedValues: ["locked", "unlocked"]
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          acceptRanges: {
+            serializedName: "accept-ranges",
+            xmlName: "accept-ranges",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          blobCommittedBlockCount: {
+            serializedName: "x-ms-blob-committed-block-count",
+            xmlName: "x-ms-blob-committed-block-count",
+            type: {
+              name: "Number"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-server-encrypted",
+            xmlName: "x-ms-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          blobContentMD5: {
+            serializedName: "x-ms-blob-content-md5",
+            xmlName: "x-ms-blob-content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          contentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
+            }
           }
-          request2.headers.set("Content-Type", `${contentType}; boundary=${boundary}`);
-          await buildRequestBody(request2, request2.multipartBody.parts, boundary);
-          request2.multipartBody = void 0;
-          return next(request2);
-        }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/createPipelineFromOptions.js
-var require_createPipelineFromOptions = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/createPipelineFromOptions.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createPipelineFromOptions = createPipelineFromOptions;
-    var logPolicy_js_1 = require_logPolicy();
-    var pipeline_js_1 = require_pipeline();
-    var redirectPolicy_js_1 = require_redirectPolicy();
-    var userAgentPolicy_js_1 = require_userAgentPolicy();
-    var decompressResponsePolicy_js_1 = require_decompressResponsePolicy();
-    var defaultRetryPolicy_js_1 = require_defaultRetryPolicy();
-    var formDataPolicy_js_1 = require_formDataPolicy();
-    var checkEnvironment_js_1 = require_checkEnvironment();
-    var proxyPolicy_js_1 = require_proxyPolicy();
-    var agentPolicy_js_1 = require_agentPolicy();
-    var tlsPolicy_js_1 = require_tlsPolicy();
-    var multipartPolicy_js_1 = require_multipartPolicy();
-    function createPipelineFromOptions(options) {
-      const pipeline = (0, pipeline_js_1.createEmptyPipeline)();
-      if (checkEnvironment_js_1.isNodeLike) {
-        if (options.agent) {
-          pipeline.addPolicy((0, agentPolicy_js_1.agentPolicy)(options.agent));
-        }
-        if (options.tlsOptions) {
-          pipeline.addPolicy((0, tlsPolicy_js_1.tlsPolicy)(options.tlsOptions));
         }
-        pipeline.addPolicy((0, proxyPolicy_js_1.proxyPolicy)(options.proxyOptions));
-        pipeline.addPolicy((0, decompressResponsePolicy_js_1.decompressResponsePolicy)());
-      }
-      pipeline.addPolicy((0, formDataPolicy_js_1.formDataPolicy)(), { beforePolicies: [multipartPolicy_js_1.multipartPolicyName] });
-      pipeline.addPolicy((0, userAgentPolicy_js_1.userAgentPolicy)(options.userAgentOptions));
-      pipeline.addPolicy((0, multipartPolicy_js_1.multipartPolicy)(), { afterPhase: "Deserialize" });
-      pipeline.addPolicy((0, defaultRetryPolicy_js_1.defaultRetryPolicy)(options.retryOptions), { phase: "Retry" });
-      if (checkEnvironment_js_1.isNodeLike) {
-        pipeline.addPolicy((0, redirectPolicy_js_1.redirectPolicy)(options.redirectOptions), { afterPhase: "Retry" });
       }
-      pipeline.addPolicy((0, logPolicy_js_1.logPolicy)(options.loggingOptions), { afterPhase: "Sign" });
-      return pipeline;
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/apiVersionPolicy.js
-var require_apiVersionPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/apiVersionPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.apiVersionPolicyName = void 0;
-    exports2.apiVersionPolicy = apiVersionPolicy;
-    exports2.apiVersionPolicyName = "ApiVersionPolicy";
-    function apiVersionPolicy(options) {
-      return {
-        name: exports2.apiVersionPolicyName,
-        sendRequest: (req, next) => {
-          const url = new URL(req.url);
-          if (!url.searchParams.get("api-version") && options.apiVersion) {
-            req.url = `${req.url}${Array.from(url.searchParams.keys()).length > 0 ? "&" : "?"}api-version=${options.apiVersion}`;
+    };
+    exports2.BlobQueryExceptionHeaders = {
+      serializedName: "Blob_queryExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobQueryExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          return next(req);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/credentials.js
-var require_credentials = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/credentials.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isOAuth2TokenCredential = isOAuth2TokenCredential;
-    exports2.isBearerTokenCredential = isBearerTokenCredential;
-    exports2.isBasicCredential = isBasicCredential;
-    exports2.isApiKeyCredential = isApiKeyCredential;
-    function isOAuth2TokenCredential(credential) {
-      return "getOAuth2Token" in credential;
-    }
-    function isBearerTokenCredential(credential) {
-      return "getBearerToken" in credential;
-    }
-    function isBasicCredential(credential) {
-      return "username" in credential && "password" in credential;
-    }
-    function isApiKeyCredential(credential) {
-      return "key" in credential;
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/checkInsecureConnection.js
-var require_checkInsecureConnection = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/checkInsecureConnection.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ensureSecureConnection = ensureSecureConnection;
-    var log_js_1 = require_log2();
-    var insecureConnectionWarningEmmitted = false;
-    function allowInsecureConnection(request2, options) {
-      if (options.allowInsecureConnection && request2.allowInsecureConnection) {
-        const url = new URL(request2.url);
-        if (url.hostname === "localhost" || url.hostname === "127.0.0.1") {
-          return true;
+      }
+    };
+    exports2.BlobGetTagsHeaders = {
+      serializedName: "Blob_getTagsHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobGetTagsHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-      return false;
-    }
-    function emitInsecureConnectionWarning() {
-      const warning10 = "Sending token over insecure transport. Assume any token issued is compromised.";
-      log_js_1.logger.warning(warning10);
-      if (typeof process?.emitWarning === "function" && !insecureConnectionWarningEmmitted) {
-        insecureConnectionWarningEmmitted = true;
-        process.emitWarning(warning10);
+    };
+    exports2.BlobGetTagsExceptionHeaders = {
+      serializedName: "Blob_getTagsExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobGetTagsExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-    }
-    function ensureSecureConnection(request2, options) {
-      if (!request2.url.toLowerCase().startsWith("https://")) {
-        if (allowInsecureConnection(request2, options)) {
-          emitInsecureConnectionWarning();
-        } else {
-          throw new Error("Authentication is not permitted for non-TLS protected (non-https) URLs when allowInsecureConnection is false.");
+    };
+    exports2.BlobSetTagsHeaders = {
+      serializedName: "Blob_setTagsHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetTagsHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/apiKeyAuthenticationPolicy.js
-var require_apiKeyAuthenticationPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/apiKeyAuthenticationPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.apiKeyAuthenticationPolicyName = void 0;
-    exports2.apiKeyAuthenticationPolicy = apiKeyAuthenticationPolicy;
-    var checkInsecureConnection_js_1 = require_checkInsecureConnection();
-    exports2.apiKeyAuthenticationPolicyName = "apiKeyAuthenticationPolicy";
-    function apiKeyAuthenticationPolicy(options) {
-      return {
-        name: exports2.apiKeyAuthenticationPolicyName,
-        async sendRequest(request2, next) {
-          (0, checkInsecureConnection_js_1.ensureSecureConnection)(request2, options);
-          const scheme = (request2.authSchemes ?? options.authSchemes)?.find((x) => x.kind === "apiKey");
-          if (!scheme) {
-            return next(request2);
+    };
+    exports2.BlobSetTagsExceptionHeaders = {
+      serializedName: "Blob_setTagsExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetTagsExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          if (scheme.apiKeyLocation !== "header") {
-            throw new Error(`Unsupported API key location: ${scheme.apiKeyLocation}`);
+        }
+      }
+    };
+    exports2.PageBlobCreateHeaders = {
+      serializedName: "PageBlob_createHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobCreateHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          request2.headers.set(scheme.name, options.credential.key);
-          return next(request2);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/basicAuthenticationPolicy.js
-var require_basicAuthenticationPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/basicAuthenticationPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.basicAuthenticationPolicyName = void 0;
-    exports2.basicAuthenticationPolicy = basicAuthenticationPolicy;
-    var bytesEncoding_js_1 = require_bytesEncoding();
-    var checkInsecureConnection_js_1 = require_checkInsecureConnection();
-    exports2.basicAuthenticationPolicyName = "bearerAuthenticationPolicy";
-    function basicAuthenticationPolicy(options) {
-      return {
-        name: exports2.basicAuthenticationPolicyName,
-        async sendRequest(request2, next) {
-          (0, checkInsecureConnection_js_1.ensureSecureConnection)(request2, options);
-          const scheme = (request2.authSchemes ?? options.authSchemes)?.find((x) => x.kind === "http" && x.scheme === "basic");
-          if (!scheme) {
-            return next(request2);
+      }
+    };
+    exports2.PageBlobCreateExceptionHeaders = {
+      serializedName: "PageBlob_createExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobCreateExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          const { username, password } = options.credential;
-          const headerValue = (0, bytesEncoding_js_1.uint8ArrayToString)((0, bytesEncoding_js_1.stringToUint8Array)(`${username}:${password}`, "utf-8"), "base64");
-          request2.headers.set("Authorization", `Basic ${headerValue}`);
-          return next(request2);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/bearerAuthenticationPolicy.js
-var require_bearerAuthenticationPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/bearerAuthenticationPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.bearerAuthenticationPolicyName = void 0;
-    exports2.bearerAuthenticationPolicy = bearerAuthenticationPolicy;
-    var checkInsecureConnection_js_1 = require_checkInsecureConnection();
-    exports2.bearerAuthenticationPolicyName = "bearerAuthenticationPolicy";
-    function bearerAuthenticationPolicy(options) {
-      return {
-        name: exports2.bearerAuthenticationPolicyName,
-        async sendRequest(request2, next) {
-          (0, checkInsecureConnection_js_1.ensureSecureConnection)(request2, options);
-          const scheme = (request2.authSchemes ?? options.authSchemes)?.find((x) => x.kind === "http" && x.scheme === "bearer");
-          if (!scheme) {
-            return next(request2);
+      }
+    };
+    exports2.PageBlobUploadPagesHeaders = {
+      serializedName: "PageBlob_uploadPagesHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobUploadPagesHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          xMsContentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          blobSequenceNumber: {
+            serializedName: "x-ms-blob-sequence-number",
+            xmlName: "x-ms-blob-sequence-number",
+            type: {
+              name: "Number"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          const token = await options.credential.getBearerToken({
-            abortSignal: request2.abortSignal
-          });
-          request2.headers.set("Authorization", `Bearer ${token}`);
-          return next(request2);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/oauth2AuthenticationPolicy.js
-var require_oauth2AuthenticationPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/oauth2AuthenticationPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.oauth2AuthenticationPolicyName = void 0;
-    exports2.oauth2AuthenticationPolicy = oauth2AuthenticationPolicy;
-    var checkInsecureConnection_js_1 = require_checkInsecureConnection();
-    exports2.oauth2AuthenticationPolicyName = "oauth2AuthenticationPolicy";
-    function oauth2AuthenticationPolicy(options) {
-      return {
-        name: exports2.oauth2AuthenticationPolicyName,
-        async sendRequest(request2, next) {
-          (0, checkInsecureConnection_js_1.ensureSecureConnection)(request2, options);
-          const scheme = (request2.authSchemes ?? options.authSchemes)?.find((x) => x.kind === "oauth2");
-          if (!scheme) {
-            return next(request2);
+      }
+    };
+    exports2.PageBlobUploadPagesExceptionHeaders = {
+      serializedName: "PageBlob_uploadPagesExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobUploadPagesExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          const token = await options.credential.getOAuth2Token(scheme.flows, {
-            abortSignal: request2.abortSignal
-          });
-          request2.headers.set("Authorization", `Bearer ${token}`);
-          return next(request2);
-        }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/clientHelpers.js
-var require_clientHelpers = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/clientHelpers.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createDefaultPipeline = createDefaultPipeline;
-    exports2.getCachedDefaultHttpsClient = getCachedDefaultHttpsClient;
-    var defaultHttpClient_js_1 = require_defaultHttpClient();
-    var createPipelineFromOptions_js_1 = require_createPipelineFromOptions();
-    var apiVersionPolicy_js_1 = require_apiVersionPolicy();
-    var credentials_js_1 = require_credentials();
-    var apiKeyAuthenticationPolicy_js_1 = require_apiKeyAuthenticationPolicy();
-    var basicAuthenticationPolicy_js_1 = require_basicAuthenticationPolicy();
-    var bearerAuthenticationPolicy_js_1 = require_bearerAuthenticationPolicy();
-    var oauth2AuthenticationPolicy_js_1 = require_oauth2AuthenticationPolicy();
-    var cachedHttpClient;
-    function createDefaultPipeline(options = {}) {
-      const pipeline = (0, createPipelineFromOptions_js_1.createPipelineFromOptions)(options);
-      pipeline.addPolicy((0, apiVersionPolicy_js_1.apiVersionPolicy)(options));
-      const { credential, authSchemes, allowInsecureConnection } = options;
-      if (credential) {
-        if ((0, credentials_js_1.isApiKeyCredential)(credential)) {
-          pipeline.addPolicy((0, apiKeyAuthenticationPolicy_js_1.apiKeyAuthenticationPolicy)({ authSchemes, credential, allowInsecureConnection }));
-        } else if ((0, credentials_js_1.isBasicCredential)(credential)) {
-          pipeline.addPolicy((0, basicAuthenticationPolicy_js_1.basicAuthenticationPolicy)({ authSchemes, credential, allowInsecureConnection }));
-        } else if ((0, credentials_js_1.isBearerTokenCredential)(credential)) {
-          pipeline.addPolicy((0, bearerAuthenticationPolicy_js_1.bearerAuthenticationPolicy)({ authSchemes, credential, allowInsecureConnection }));
-        } else if ((0, credentials_js_1.isOAuth2TokenCredential)(credential)) {
-          pipeline.addPolicy((0, oauth2AuthenticationPolicy_js_1.oauth2AuthenticationPolicy)({ authSchemes, credential, allowInsecureConnection }));
         }
       }
-      return pipeline;
-    }
-    function getCachedDefaultHttpsClient() {
-      if (!cachedHttpClient) {
-        cachedHttpClient = (0, defaultHttpClient_js_1.createDefaultHttpClient)();
-      }
-      return cachedHttpClient;
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js
-var require_multipart2 = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.buildBodyPart = buildBodyPart;
-    exports2.buildMultipartBody = buildMultipartBody;
-    var restError_js_1 = require_restError();
-    var httpHeaders_js_1 = require_httpHeaders();
-    var bytesEncoding_js_1 = require_bytesEncoding();
-    var typeGuards_js_1 = require_typeGuards();
-    function getHeaderValue(descriptor, headerName) {
-      if (descriptor.headers) {
-        const actualHeaderName = Object.keys(descriptor.headers).find((x) => x.toLowerCase() === headerName.toLowerCase());
-        if (actualHeaderName) {
-          return descriptor.headers[actualHeaderName];
+    };
+    exports2.PageBlobClearPagesHeaders = {
+      serializedName: "PageBlob_clearPagesHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobClearPagesHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          xMsContentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          blobSequenceNumber: {
+            serializedName: "x-ms-blob-sequence-number",
+            xmlName: "x-ms-blob-sequence-number",
+            type: {
+              name: "Number"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-      return void 0;
-    }
-    function getPartContentType(descriptor) {
-      const contentTypeHeader = getHeaderValue(descriptor, "content-type");
-      if (contentTypeHeader) {
-        return contentTypeHeader;
-      }
-      if (descriptor.contentType === null) {
-        return void 0;
-      }
-      if (descriptor.contentType) {
-        return descriptor.contentType;
-      }
-      const { body } = descriptor;
-      if (body === null || body === void 0) {
-        return void 0;
-      }
-      if (typeof body === "string" || typeof body === "number" || typeof body === "boolean") {
-        return "text/plain; charset=UTF-8";
-      }
-      if (body instanceof Blob) {
-        return body.type || "application/octet-stream";
-      }
-      if ((0, typeGuards_js_1.isBinaryBody)(body)) {
-        return "application/octet-stream";
-      }
-      return "application/json";
-    }
-    function escapeDispositionField(value) {
-      return JSON.stringify(value);
-    }
-    function getContentDisposition(descriptor) {
-      const contentDispositionHeader = getHeaderValue(descriptor, "content-disposition");
-      if (contentDispositionHeader) {
-        return contentDispositionHeader;
-      }
-      if (descriptor.dispositionType === void 0 && descriptor.name === void 0 && descriptor.filename === void 0) {
-        return void 0;
-      }
-      const dispositionType = descriptor.dispositionType ?? "form-data";
-      let disposition = dispositionType;
-      if (descriptor.name) {
-        disposition += `; name=${escapeDispositionField(descriptor.name)}`;
-      }
-      let filename = void 0;
-      if (descriptor.filename) {
-        filename = descriptor.filename;
-      } else if (typeof File !== "undefined" && descriptor.body instanceof File) {
-        const filenameFromFile = descriptor.body.name;
-        if (filenameFromFile !== "") {
-          filename = filenameFromFile;
+    };
+    exports2.PageBlobClearPagesExceptionHeaders = {
+      serializedName: "PageBlob_clearPagesExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobClearPagesExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-      if (filename) {
-        disposition += `; filename=${escapeDispositionField(filename)}`;
-      }
-      return disposition;
-    }
-    function normalizeBody(body, contentType) {
-      if (body === void 0) {
-        return new Uint8Array([]);
-      }
-      if ((0, typeGuards_js_1.isBinaryBody)(body)) {
-        return body;
-      }
-      if (typeof body === "string" || typeof body === "number" || typeof body === "boolean") {
-        return (0, bytesEncoding_js_1.stringToUint8Array)(String(body), "utf-8");
-      }
-      if (contentType && /application\/(.+\+)?json(;.+)?/i.test(String(contentType))) {
-        return (0, bytesEncoding_js_1.stringToUint8Array)(JSON.stringify(body), "utf-8");
-      }
-      throw new restError_js_1.RestError(`Unsupported body/content-type combination: ${body}, ${contentType}`);
-    }
-    function buildBodyPart(descriptor) {
-      const contentType = getPartContentType(descriptor);
-      const contentDisposition = getContentDisposition(descriptor);
-      const headers = (0, httpHeaders_js_1.createHttpHeaders)(descriptor.headers ?? {});
-      if (contentType) {
-        headers.set("content-type", contentType);
-      }
-      if (contentDisposition) {
-        headers.set("content-disposition", contentDisposition);
-      }
-      const body = normalizeBody(descriptor.body, contentType);
-      return {
-        headers,
-        body
-      };
-    }
-    function buildMultipartBody(parts) {
-      return { parts: parts.map(buildBodyPart) };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/sendRequest.js
-var require_sendRequest = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/sendRequest.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.sendRequest = sendRequest;
-    var restError_js_1 = require_restError();
-    var httpHeaders_js_1 = require_httpHeaders();
-    var pipelineRequest_js_1 = require_pipelineRequest();
-    var clientHelpers_js_1 = require_clientHelpers();
-    var typeGuards_js_1 = require_typeGuards();
-    var multipart_js_1 = require_multipart2();
-    async function sendRequest(method, url, pipeline, options = {}, customHttpClient) {
-      const httpClient = customHttpClient ?? (0, clientHelpers_js_1.getCachedDefaultHttpsClient)();
-      const request2 = buildPipelineRequest(method, url, options);
-      try {
-        const response = await pipeline.sendRequest(httpClient, request2);
-        const headers = response.headers.toJSON();
-        const stream = response.readableStreamBody ?? response.browserStreamBody;
-        const parsedBody = options.responseAsStream || stream !== void 0 ? void 0 : getResponseBody(response);
-        const body = stream ?? parsedBody;
-        if (options?.onResponse) {
-          options.onResponse({ ...response, request: request2, rawHeaders: headers, parsedBody });
-        }
-        return {
-          request: request2,
-          headers,
-          status: `${response.status}`,
-          body
-        };
-      } catch (e) {
-        if ((0, restError_js_1.isRestError)(e) && e.response && options.onResponse) {
-          const { response } = e;
-          const rawHeaders = response.headers.toJSON();
-          options?.onResponse({ ...response, request: request2, rawHeaders }, e);
+    };
+    exports2.PageBlobUploadPagesFromURLHeaders = {
+      serializedName: "PageBlob_uploadPagesFromURLHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobUploadPagesFromURLHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          xMsContentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          blobSequenceNumber: {
+            serializedName: "x-ms-blob-sequence-number",
+            xmlName: "x-ms-blob-sequence-number",
+            type: {
+              name: "Number"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        throw e;
       }
-    }
-    function getRequestContentType(options = {}) {
-      return options.contentType ?? options.headers?.["content-type"] ?? getContentType(options.body);
-    }
-    function getContentType(body) {
-      if (ArrayBuffer.isView(body)) {
-        return "application/octet-stream";
+    };
+    exports2.PageBlobUploadPagesFromURLExceptionHeaders = {
+      serializedName: "PageBlob_uploadPagesFromURLExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobUploadPagesFromURLExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceErrorCode: {
+            serializedName: "x-ms-copy-source-error-code",
+            xmlName: "x-ms-copy-source-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceStatusCode: {
+            serializedName: "x-ms-copy-source-status-code",
+            xmlName: "x-ms-copy-source-status-code",
+            type: {
+              name: "Number"
+            }
+          }
+        }
       }
-      if (typeof body === "string") {
-        try {
-          JSON.parse(body);
-          return "application/json";
-        } catch (error3) {
-          return void 0;
+    };
+    exports2.PageBlobGetPageRangesHeaders = {
+      serializedName: "PageBlob_getPageRangesHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobGetPageRangesHeaders",
+        modelProperties: {
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          blobContentLength: {
+            serializedName: "x-ms-blob-content-length",
+            xmlName: "x-ms-blob-content-length",
+            type: {
+              name: "Number"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-      return "application/json";
-    }
-    function buildPipelineRequest(method, url, options = {}) {
-      const requestContentType = getRequestContentType(options);
-      const { body, multipartBody } = getRequestBody(options.body, requestContentType);
-      const hasContent = body !== void 0 || multipartBody !== void 0;
-      const headers = (0, httpHeaders_js_1.createHttpHeaders)({
-        ...options.headers ? options.headers : {},
-        accept: options.accept ?? options.headers?.accept ?? "application/json",
-        ...hasContent && requestContentType && {
-          "content-type": requestContentType
+    };
+    exports2.PageBlobGetPageRangesExceptionHeaders = {
+      serializedName: "PageBlob_getPageRangesExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobGetPageRangesExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-      });
-      return (0, pipelineRequest_js_1.createPipelineRequest)({
-        url,
-        method,
-        body,
-        multipartBody,
-        headers,
-        allowInsecureConnection: options.allowInsecureConnection,
-        abortSignal: options.abortSignal,
-        onUploadProgress: options.onUploadProgress,
-        onDownloadProgress: options.onDownloadProgress,
-        timeout: options.timeout,
-        enableBrowserStreams: true,
-        streamResponseStatusCodes: options.responseAsStream ? /* @__PURE__ */ new Set([Number.POSITIVE_INFINITY]) : void 0
-      });
-    }
-    function getRequestBody(body, contentType = "") {
-      if (body === void 0) {
-        return { body: void 0 };
-      }
-      if (typeof FormData !== "undefined" && body instanceof FormData) {
-        return { body };
-      }
-      if ((0, typeGuards_js_1.isReadableStream)(body)) {
-        return { body };
-      }
-      if (ArrayBuffer.isView(body)) {
-        return { body: body instanceof Uint8Array ? body : JSON.stringify(body) };
       }
-      const firstType = contentType.split(";")[0];
-      switch (firstType) {
-        case "application/json":
-          return { body: JSON.stringify(body) };
-        case "multipart/form-data":
-          if (Array.isArray(body)) {
-            return { multipartBody: (0, multipart_js_1.buildMultipartBody)(body) };
-          }
-          return { body: JSON.stringify(body) };
-        case "text/plain":
-          return { body: String(body) };
-        default:
-          if (typeof body === "string") {
-            return { body };
+    };
+    exports2.PageBlobGetPageRangesDiffHeaders = {
+      serializedName: "PageBlob_getPageRangesDiffHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobGetPageRangesDiffHeaders",
+        modelProperties: {
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          blobContentLength: {
+            serializedName: "x-ms-blob-content-length",
+            xmlName: "x-ms-blob-content-length",
+            type: {
+              name: "Number"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          return { body: JSON.stringify(body) };
-      }
-    }
-    function getResponseBody(response) {
-      const contentType = response.headers.get("content-type") ?? "";
-      const firstType = contentType.split(";")[0];
-      const bodyToParse = response.bodyAsText ?? "";
-      if (firstType === "text/plain") {
-        return String(bodyToParse);
-      }
-      try {
-        return bodyToParse ? JSON.parse(bodyToParse) : void 0;
-      } catch (error3) {
-        if (firstType === "application/json") {
-          throw createParseError(response, error3);
         }
-        return String(bodyToParse);
-      }
-    }
-    function createParseError(response, err) {
-      const msg = `Error "${err}" occurred while parsing the response body - ${response.bodyAsText}.`;
-      const errCode = err.code ?? restError_js_1.RestError.PARSE_ERROR;
-      return new restError_js_1.RestError(msg, {
-        code: errCode,
-        statusCode: response.status,
-        request: response.request,
-        response
-      });
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/urlHelpers.js
-var require_urlHelpers = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/urlHelpers.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.buildRequestUrl = buildRequestUrl;
-    exports2.buildBaseUrl = buildBaseUrl;
-    exports2.replaceAll = replaceAll;
-    function isQueryParameterWithOptions(x) {
-      const value = x.value;
-      return value !== void 0 && value.toString !== void 0 && typeof value.toString === "function";
-    }
-    function buildRequestUrl(endpoint2, routePath, pathParameters, options = {}) {
-      if (routePath.startsWith("https://") || routePath.startsWith("http://")) {
-        return routePath;
-      }
-      endpoint2 = buildBaseUrl(endpoint2, options);
-      routePath = buildRoutePath(routePath, pathParameters, options);
-      const requestUrl = appendQueryParams(`${endpoint2}/${routePath}`, options);
-      const url = new URL(requestUrl);
-      return url.toString().replace(/([^:]\/)\/+/g, "$1");
-    }
-    function getQueryParamValue(key, allowReserved, style, param) {
-      let separator;
-      if (style === "pipeDelimited") {
-        separator = "|";
-      } else if (style === "spaceDelimited") {
-        separator = "%20";
-      } else {
-        separator = ",";
-      }
-      let paramValues;
-      if (Array.isArray(param)) {
-        paramValues = param;
-      } else if (typeof param === "object" && param.toString === Object.prototype.toString) {
-        paramValues = Object.entries(param).flat();
-      } else {
-        paramValues = [param];
       }
-      const value = paramValues.map((p) => {
-        if (p === null || p === void 0) {
-          return "";
-        }
-        if (!p.toString || typeof p.toString !== "function") {
-          throw new Error(`Query parameters must be able to be represented as string, ${key} can't`);
+    };
+    exports2.PageBlobGetPageRangesDiffExceptionHeaders = {
+      serializedName: "PageBlob_getPageRangesDiffExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobGetPageRangesDiffExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        const rawValue = p.toISOString !== void 0 ? p.toISOString() : p.toString();
-        return allowReserved ? rawValue : encodeURIComponent(rawValue);
-      }).join(separator);
-      return `${allowReserved ? key : encodeURIComponent(key)}=${value}`;
-    }
-    function appendQueryParams(url, options = {}) {
-      if (!options.queryParameters) {
-        return url;
       }
-      const parsedUrl = new URL(url);
-      const queryParams = options.queryParameters;
-      const paramStrings = [];
-      for (const key of Object.keys(queryParams)) {
-        const param = queryParams[key];
-        if (param === void 0 || param === null) {
-          continue;
-        }
-        const hasMetadata = isQueryParameterWithOptions(param);
-        const rawValue = hasMetadata ? param.value : param;
-        const explode = hasMetadata ? param.explode ?? false : false;
-        const style = hasMetadata && param.style ? param.style : "form";
-        if (explode) {
-          if (Array.isArray(rawValue)) {
-            for (const item of rawValue) {
-              paramStrings.push(getQueryParamValue(key, options.skipUrlEncoding ?? false, style, item));
+    };
+    exports2.PageBlobResizeHeaders = {
+      serializedName: "PageBlob_resizeHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobResizeHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
             }
-          } else if (typeof rawValue === "object") {
-            for (const [actualKey, value] of Object.entries(rawValue)) {
-              paramStrings.push(getQueryParamValue(actualKey, options.skipUrlEncoding ?? false, style, value));
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          blobSequenceNumber: {
+            serializedName: "x-ms-blob-sequence-number",
+            xmlName: "x-ms-blob-sequence-number",
+            type: {
+              name: "Number"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
-          } else {
-            throw new Error("explode can only be set to true for objects and arrays");
           }
-        } else {
-          paramStrings.push(getQueryParamValue(key, options.skipUrlEncoding ?? false, style, rawValue));
         }
       }
-      if (parsedUrl.search !== "") {
-        parsedUrl.search += "&";
-      }
-      parsedUrl.search += paramStrings.join("&");
-      return parsedUrl.toString();
-    }
-    function buildBaseUrl(endpoint2, options) {
-      if (!options.pathParameters) {
-        return endpoint2;
-      }
-      const pathParams = options.pathParameters;
-      for (const [key, param] of Object.entries(pathParams)) {
-        if (param === void 0 || param === null) {
-          throw new Error(`Path parameters ${key} must not be undefined or null`);
-        }
-        if (!param.toString || typeof param.toString !== "function") {
-          throw new Error(`Path parameters must be able to be represented as string, ${key} can't`);
-        }
-        let value = param.toISOString !== void 0 ? param.toISOString() : String(param);
-        if (!options.skipUrlEncoding) {
-          value = encodeURIComponent(param);
+    };
+    exports2.PageBlobResizeExceptionHeaders = {
+      serializedName: "PageBlob_resizeExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobResizeExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        endpoint2 = replaceAll(endpoint2, `{${key}}`, value) ?? "";
       }
-      return endpoint2;
-    }
-    function buildRoutePath(routePath, pathParameters, options = {}) {
-      for (const pathParam of pathParameters) {
-        const allowReserved = typeof pathParam === "object" && (pathParam.allowReserved ?? false);
-        let value = typeof pathParam === "object" ? pathParam.value : pathParam;
-        if (!options.skipUrlEncoding && !allowReserved) {
-          value = encodeURIComponent(value);
+    };
+    exports2.PageBlobUpdateSequenceNumberHeaders = {
+      serializedName: "PageBlob_updateSequenceNumberHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobUpdateSequenceNumberHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          blobSequenceNumber: {
+            serializedName: "x-ms-blob-sequence-number",
+            xmlName: "x-ms-blob-sequence-number",
+            type: {
+              name: "Number"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        routePath = routePath.replace(/\{[\w-]+\}/, String(value));
       }
-      return routePath;
-    }
-    function replaceAll(value, searchValue, replaceValue) {
-      return !value || !searchValue ? value : value.split(searchValue).join(replaceValue || "");
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/getClient.js
-var require_getClient = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/getClient.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getClient = getClient;
-    var clientHelpers_js_1 = require_clientHelpers();
-    var sendRequest_js_1 = require_sendRequest();
-    var urlHelpers_js_1 = require_urlHelpers();
-    var checkEnvironment_js_1 = require_checkEnvironment();
-    function getClient(endpoint2, clientOptions = {}) {
-      const pipeline = clientOptions.pipeline ?? (0, clientHelpers_js_1.createDefaultPipeline)(clientOptions);
-      if (clientOptions.additionalPolicies?.length) {
-        for (const { policy, position } of clientOptions.additionalPolicies) {
-          const afterPhase = position === "perRetry" ? "Sign" : void 0;
-          pipeline.addPolicy(policy, {
-            afterPhase
-          });
+    };
+    exports2.PageBlobUpdateSequenceNumberExceptionHeaders = {
+      serializedName: "PageBlob_updateSequenceNumberExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobUpdateSequenceNumberExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-      const { allowInsecureConnection, httpClient } = clientOptions;
-      const endpointUrl = clientOptions.endpoint ?? endpoint2;
-      const client = (path3, ...args) => {
-        const getUrl = (requestOptions) => (0, urlHelpers_js_1.buildRequestUrl)(endpointUrl, path3, args, { allowInsecureConnection, ...requestOptions });
-        return {
-          get: (requestOptions = {}) => {
-            return buildOperation("GET", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
-          },
-          post: (requestOptions = {}) => {
-            return buildOperation("POST", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+    };
+    exports2.PageBlobCopyIncrementalHeaders = {
+      serializedName: "PageBlob_copyIncrementalHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobCopyIncrementalHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
           },
-          put: (requestOptions = {}) => {
-            return buildOperation("PUT", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
           },
-          patch: (requestOptions = {}) => {
-            return buildOperation("PATCH", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
           },
-          delete: (requestOptions = {}) => {
-            return buildOperation("DELETE", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
           },
-          head: (requestOptions = {}) => {
-            return buildOperation("HEAD", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
           },
-          options: (requestOptions = {}) => {
-            return buildOperation("OPTIONS", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
           },
-          trace: (requestOptions = {}) => {
-            return buildOperation("TRACE", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
-          }
-        };
-      };
-      return {
-        path: client,
-        pathUnchecked: client,
-        pipeline
-      };
-    }
-    function buildOperation(method, url, pipeline, options, allowInsecureConnection, httpClient) {
-      allowInsecureConnection = options.allowInsecureConnection ?? allowInsecureConnection;
-      return {
-        then: function(onFulfilled, onrejected) {
-          return (0, sendRequest_js_1.sendRequest)(method, url, pipeline, { ...options, allowInsecureConnection }, httpClient).then(onFulfilled, onrejected);
-        },
-        async asBrowserStream() {
-          if (checkEnvironment_js_1.isNodeLike) {
-            throw new Error("`asBrowserStream` is supported only in the browser environment. Use `asNodeStream` instead to obtain the response body stream. If you require a Web stream of the response in Node, consider using `Readable.toWeb` on the result of `asNodeStream`.");
-          } else {
-            return (0, sendRequest_js_1.sendRequest)(method, url, pipeline, { ...options, allowInsecureConnection, responseAsStream: true }, httpClient);
-          }
-        },
-        async asNodeStream() {
-          if (checkEnvironment_js_1.isNodeLike) {
-            return (0, sendRequest_js_1.sendRequest)(method, url, pipeline, { ...options, allowInsecureConnection, responseAsStream: true }, httpClient);
-          } else {
-            throw new Error("`isNodeStream` is not supported in the browser environment. Use `asBrowserStream` to obtain the response body stream.");
-          }
-        }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/operationOptionHelpers.js
-var require_operationOptionHelpers = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/operationOptionHelpers.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.operationOptionsToRequestParameters = operationOptionsToRequestParameters;
-    function operationOptionsToRequestParameters(options) {
-      return {
-        allowInsecureConnection: options.requestOptions?.allowInsecureConnection,
-        timeout: options.requestOptions?.timeout,
-        skipUrlEncoding: options.requestOptions?.skipUrlEncoding,
-        abortSignal: options.abortSignal,
-        onUploadProgress: options.requestOptions?.onUploadProgress,
-        onDownloadProgress: options.requestOptions?.onDownloadProgress,
-        headers: { ...options.requestOptions?.headers },
-        onResponse: options.onResponse
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/restError.js
-var require_restError2 = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/restError.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createRestError = createRestError;
-    var restError_js_1 = require_restError();
-    var httpHeaders_js_1 = require_httpHeaders();
-    function createRestError(messageOrResponse, response) {
-      const resp = typeof messageOrResponse === "string" ? response : messageOrResponse;
-      const internalError = resp.body?.error ?? resp.body;
-      const message = typeof messageOrResponse === "string" ? messageOrResponse : internalError?.message ?? `Unexpected status code: ${resp.status}`;
-      return new restError_js_1.RestError(message, {
-        statusCode: statusCodeToNumber(resp.status),
-        code: internalError?.code,
-        request: resp.request,
-        response: toPipelineResponse(resp)
-      });
-    }
-    function toPipelineResponse(response) {
-      return {
-        headers: (0, httpHeaders_js_1.createHttpHeaders)(response.headers),
-        request: response.request,
-        status: statusCodeToNumber(response.status) ?? -1
-      };
-    }
-    function statusCodeToNumber(statusCode) {
-      const status = Number.parseInt(statusCode);
-      return Number.isNaN(status) ? void 0 : status;
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/index.js
-var require_commonjs3 = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createRestError = exports2.operationOptionsToRequestParameters = exports2.getClient = exports2.createDefaultHttpClient = exports2.uint8ArrayToString = exports2.stringToUint8Array = exports2.isRestError = exports2.RestError = exports2.createEmptyPipeline = exports2.createPipelineRequest = exports2.createHttpHeaders = exports2.TypeSpecRuntimeLogger = exports2.setLogLevel = exports2.getLogLevel = exports2.createClientLogger = exports2.AbortError = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var AbortError_js_1 = require_AbortError();
-    Object.defineProperty(exports2, "AbortError", { enumerable: true, get: function() {
-      return AbortError_js_1.AbortError;
-    } });
-    var logger_js_1 = require_logger();
-    Object.defineProperty(exports2, "createClientLogger", { enumerable: true, get: function() {
-      return logger_js_1.createClientLogger;
-    } });
-    Object.defineProperty(exports2, "getLogLevel", { enumerable: true, get: function() {
-      return logger_js_1.getLogLevel;
-    } });
-    Object.defineProperty(exports2, "setLogLevel", { enumerable: true, get: function() {
-      return logger_js_1.setLogLevel;
-    } });
-    Object.defineProperty(exports2, "TypeSpecRuntimeLogger", { enumerable: true, get: function() {
-      return logger_js_1.TypeSpecRuntimeLogger;
-    } });
-    var httpHeaders_js_1 = require_httpHeaders();
-    Object.defineProperty(exports2, "createHttpHeaders", { enumerable: true, get: function() {
-      return httpHeaders_js_1.createHttpHeaders;
-    } });
-    tslib_1.__exportStar(require_schemes(), exports2);
-    tslib_1.__exportStar(require_oauth2Flows(), exports2);
-    var pipelineRequest_js_1 = require_pipelineRequest();
-    Object.defineProperty(exports2, "createPipelineRequest", { enumerable: true, get: function() {
-      return pipelineRequest_js_1.createPipelineRequest;
-    } });
-    var pipeline_js_1 = require_pipeline();
-    Object.defineProperty(exports2, "createEmptyPipeline", { enumerable: true, get: function() {
-      return pipeline_js_1.createEmptyPipeline;
-    } });
-    var restError_js_1 = require_restError();
-    Object.defineProperty(exports2, "RestError", { enumerable: true, get: function() {
-      return restError_js_1.RestError;
-    } });
-    Object.defineProperty(exports2, "isRestError", { enumerable: true, get: function() {
-      return restError_js_1.isRestError;
-    } });
-    var bytesEncoding_js_1 = require_bytesEncoding();
-    Object.defineProperty(exports2, "stringToUint8Array", { enumerable: true, get: function() {
-      return bytesEncoding_js_1.stringToUint8Array;
-    } });
-    Object.defineProperty(exports2, "uint8ArrayToString", { enumerable: true, get: function() {
-      return bytesEncoding_js_1.uint8ArrayToString;
-    } });
-    var defaultHttpClient_js_1 = require_defaultHttpClient();
-    Object.defineProperty(exports2, "createDefaultHttpClient", { enumerable: true, get: function() {
-      return defaultHttpClient_js_1.createDefaultHttpClient;
-    } });
-    var getClient_js_1 = require_getClient();
-    Object.defineProperty(exports2, "getClient", { enumerable: true, get: function() {
-      return getClient_js_1.getClient;
-    } });
-    var operationOptionHelpers_js_1 = require_operationOptionHelpers();
-    Object.defineProperty(exports2, "operationOptionsToRequestParameters", { enumerable: true, get: function() {
-      return operationOptionHelpers_js_1.operationOptionsToRequestParameters;
-    } });
-    var restError_js_2 = require_restError2();
-    Object.defineProperty(exports2, "createRestError", { enumerable: true, get: function() {
-      return restError_js_2.createRestError;
-    } });
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/pipeline.js
-var require_pipeline2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/pipeline.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createEmptyPipeline = createEmptyPipeline;
-    var ts_http_runtime_1 = require_commonjs3();
-    function createEmptyPipeline() {
-      return (0, ts_http_runtime_1.createEmptyPipeline)();
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/internal.js
-var require_internal = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/internal.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createLoggerContext = void 0;
-    var logger_js_1 = require_logger();
-    Object.defineProperty(exports2, "createLoggerContext", { enumerable: true, get: function() {
-      return logger_js_1.createLoggerContext;
-    } });
-  }
-});
-
-// node_modules/@azure/logger/dist/commonjs/index.js
-var require_commonjs4 = __commonJS({
-  "node_modules/@azure/logger/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AzureLogger = void 0;
-    exports2.setLogLevel = setLogLevel;
-    exports2.getLogLevel = getLogLevel;
-    exports2.createClientLogger = createClientLogger;
-    var logger_1 = require_internal();
-    var context2 = (0, logger_1.createLoggerContext)({
-      logLevelEnvVarName: "AZURE_LOG_LEVEL",
-      namespace: "azure"
-    });
-    exports2.AzureLogger = context2.logger;
-    function setLogLevel(level) {
-      context2.setLogLevel(level);
-    }
-    function getLogLevel() {
-      return context2.getLogLevel();
-    }
-    function createClientLogger(namespace) {
-      return context2.createClientLogger(namespace);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/log.js
-var require_log3 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/log.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.logger = void 0;
-    var logger_1 = require_commonjs4();
-    exports2.logger = (0, logger_1.createClientLogger)("core-rest-pipeline");
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/exponentialRetryPolicy.js
-var require_exponentialRetryPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/exponentialRetryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.exponentialRetryPolicyName = void 0;
-    exports2.exponentialRetryPolicy = exponentialRetryPolicy;
-    var exponentialRetryStrategy_js_1 = require_exponentialRetryStrategy();
-    var retryPolicy_js_1 = require_retryPolicy();
-    var constants_js_1 = require_constants12();
-    exports2.exponentialRetryPolicyName = "exponentialRetryPolicy";
-    function exponentialRetryPolicy(options = {}) {
-      return (0, retryPolicy_js_1.retryPolicy)([
-        (0, exponentialRetryStrategy_js_1.exponentialRetryStrategy)({
-          ...options,
-          ignoreSystemErrors: true
-        })
-      ], {
-        maxRetries: options.maxRetries ?? constants_js_1.DEFAULT_RETRY_POLICY_COUNT
-      });
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/systemErrorRetryPolicy.js
-var require_systemErrorRetryPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/systemErrorRetryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.systemErrorRetryPolicyName = void 0;
-    exports2.systemErrorRetryPolicy = systemErrorRetryPolicy;
-    var exponentialRetryStrategy_js_1 = require_exponentialRetryStrategy();
-    var retryPolicy_js_1 = require_retryPolicy();
-    var constants_js_1 = require_constants12();
-    exports2.systemErrorRetryPolicyName = "systemErrorRetryPolicy";
-    function systemErrorRetryPolicy(options = {}) {
-      return {
-        name: exports2.systemErrorRetryPolicyName,
-        sendRequest: (0, retryPolicy_js_1.retryPolicy)([
-          (0, exponentialRetryStrategy_js_1.exponentialRetryStrategy)({
-            ...options,
-            ignoreHttpStatusCodes: true
-          })
-        ], {
-          maxRetries: options.maxRetries ?? constants_js_1.DEFAULT_RETRY_POLICY_COUNT
-        }).sendRequest
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/throttlingRetryPolicy.js
-var require_throttlingRetryPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/throttlingRetryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.throttlingRetryPolicyName = void 0;
-    exports2.throttlingRetryPolicy = throttlingRetryPolicy;
-    var throttlingRetryStrategy_js_1 = require_throttlingRetryStrategy();
-    var retryPolicy_js_1 = require_retryPolicy();
-    var constants_js_1 = require_constants12();
-    exports2.throttlingRetryPolicyName = "throttlingRetryPolicy";
-    function throttlingRetryPolicy(options = {}) {
-      return {
-        name: exports2.throttlingRetryPolicyName,
-        sendRequest: (0, retryPolicy_js_1.retryPolicy)([(0, throttlingRetryStrategy_js_1.throttlingRetryStrategy)()], {
-          maxRetries: options.maxRetries ?? constants_js_1.DEFAULT_RETRY_POLICY_COUNT
-        }).sendRequest
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/internal.js
-var require_internal2 = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/internal.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.userAgentPolicyName = exports2.userAgentPolicy = exports2.tlsPolicyName = exports2.tlsPolicy = exports2.redirectPolicyName = exports2.redirectPolicy = exports2.getDefaultProxySettings = exports2.proxyPolicyName = exports2.proxyPolicy = exports2.multipartPolicyName = exports2.multipartPolicy = exports2.logPolicyName = exports2.logPolicy = exports2.formDataPolicyName = exports2.formDataPolicy = exports2.throttlingRetryPolicyName = exports2.throttlingRetryPolicy = exports2.systemErrorRetryPolicyName = exports2.systemErrorRetryPolicy = exports2.retryPolicy = exports2.exponentialRetryPolicyName = exports2.exponentialRetryPolicy = exports2.defaultRetryPolicyName = exports2.defaultRetryPolicy = exports2.decompressResponsePolicyName = exports2.decompressResponsePolicy = exports2.agentPolicyName = exports2.agentPolicy = void 0;
-    var agentPolicy_js_1 = require_agentPolicy();
-    Object.defineProperty(exports2, "agentPolicy", { enumerable: true, get: function() {
-      return agentPolicy_js_1.agentPolicy;
-    } });
-    Object.defineProperty(exports2, "agentPolicyName", { enumerable: true, get: function() {
-      return agentPolicy_js_1.agentPolicyName;
-    } });
-    var decompressResponsePolicy_js_1 = require_decompressResponsePolicy();
-    Object.defineProperty(exports2, "decompressResponsePolicy", { enumerable: true, get: function() {
-      return decompressResponsePolicy_js_1.decompressResponsePolicy;
-    } });
-    Object.defineProperty(exports2, "decompressResponsePolicyName", { enumerable: true, get: function() {
-      return decompressResponsePolicy_js_1.decompressResponsePolicyName;
-    } });
-    var defaultRetryPolicy_js_1 = require_defaultRetryPolicy();
-    Object.defineProperty(exports2, "defaultRetryPolicy", { enumerable: true, get: function() {
-      return defaultRetryPolicy_js_1.defaultRetryPolicy;
-    } });
-    Object.defineProperty(exports2, "defaultRetryPolicyName", { enumerable: true, get: function() {
-      return defaultRetryPolicy_js_1.defaultRetryPolicyName;
-    } });
-    var exponentialRetryPolicy_js_1 = require_exponentialRetryPolicy();
-    Object.defineProperty(exports2, "exponentialRetryPolicy", { enumerable: true, get: function() {
-      return exponentialRetryPolicy_js_1.exponentialRetryPolicy;
-    } });
-    Object.defineProperty(exports2, "exponentialRetryPolicyName", { enumerable: true, get: function() {
-      return exponentialRetryPolicy_js_1.exponentialRetryPolicyName;
-    } });
-    var retryPolicy_js_1 = require_retryPolicy();
-    Object.defineProperty(exports2, "retryPolicy", { enumerable: true, get: function() {
-      return retryPolicy_js_1.retryPolicy;
-    } });
-    var systemErrorRetryPolicy_js_1 = require_systemErrorRetryPolicy();
-    Object.defineProperty(exports2, "systemErrorRetryPolicy", { enumerable: true, get: function() {
-      return systemErrorRetryPolicy_js_1.systemErrorRetryPolicy;
-    } });
-    Object.defineProperty(exports2, "systemErrorRetryPolicyName", { enumerable: true, get: function() {
-      return systemErrorRetryPolicy_js_1.systemErrorRetryPolicyName;
-    } });
-    var throttlingRetryPolicy_js_1 = require_throttlingRetryPolicy();
-    Object.defineProperty(exports2, "throttlingRetryPolicy", { enumerable: true, get: function() {
-      return throttlingRetryPolicy_js_1.throttlingRetryPolicy;
-    } });
-    Object.defineProperty(exports2, "throttlingRetryPolicyName", { enumerable: true, get: function() {
-      return throttlingRetryPolicy_js_1.throttlingRetryPolicyName;
-    } });
-    var formDataPolicy_js_1 = require_formDataPolicy();
-    Object.defineProperty(exports2, "formDataPolicy", { enumerable: true, get: function() {
-      return formDataPolicy_js_1.formDataPolicy;
-    } });
-    Object.defineProperty(exports2, "formDataPolicyName", { enumerable: true, get: function() {
-      return formDataPolicy_js_1.formDataPolicyName;
-    } });
-    var logPolicy_js_1 = require_logPolicy();
-    Object.defineProperty(exports2, "logPolicy", { enumerable: true, get: function() {
-      return logPolicy_js_1.logPolicy;
-    } });
-    Object.defineProperty(exports2, "logPolicyName", { enumerable: true, get: function() {
-      return logPolicy_js_1.logPolicyName;
-    } });
-    var multipartPolicy_js_1 = require_multipartPolicy();
-    Object.defineProperty(exports2, "multipartPolicy", { enumerable: true, get: function() {
-      return multipartPolicy_js_1.multipartPolicy;
-    } });
-    Object.defineProperty(exports2, "multipartPolicyName", { enumerable: true, get: function() {
-      return multipartPolicy_js_1.multipartPolicyName;
-    } });
-    var proxyPolicy_js_1 = require_proxyPolicy();
-    Object.defineProperty(exports2, "proxyPolicy", { enumerable: true, get: function() {
-      return proxyPolicy_js_1.proxyPolicy;
-    } });
-    Object.defineProperty(exports2, "proxyPolicyName", { enumerable: true, get: function() {
-      return proxyPolicy_js_1.proxyPolicyName;
-    } });
-    Object.defineProperty(exports2, "getDefaultProxySettings", { enumerable: true, get: function() {
-      return proxyPolicy_js_1.getDefaultProxySettings;
-    } });
-    var redirectPolicy_js_1 = require_redirectPolicy();
-    Object.defineProperty(exports2, "redirectPolicy", { enumerable: true, get: function() {
-      return redirectPolicy_js_1.redirectPolicy;
-    } });
-    Object.defineProperty(exports2, "redirectPolicyName", { enumerable: true, get: function() {
-      return redirectPolicy_js_1.redirectPolicyName;
-    } });
-    var tlsPolicy_js_1 = require_tlsPolicy();
-    Object.defineProperty(exports2, "tlsPolicy", { enumerable: true, get: function() {
-      return tlsPolicy_js_1.tlsPolicy;
-    } });
-    Object.defineProperty(exports2, "tlsPolicyName", { enumerable: true, get: function() {
-      return tlsPolicy_js_1.tlsPolicyName;
-    } });
-    var userAgentPolicy_js_1 = require_userAgentPolicy();
-    Object.defineProperty(exports2, "userAgentPolicy", { enumerable: true, get: function() {
-      return userAgentPolicy_js_1.userAgentPolicy;
-    } });
-    Object.defineProperty(exports2, "userAgentPolicyName", { enumerable: true, get: function() {
-      return userAgentPolicy_js_1.userAgentPolicyName;
-    } });
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/logPolicy.js
-var require_logPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/logPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.logPolicyName = void 0;
-    exports2.logPolicy = logPolicy;
-    var log_js_1 = require_log3();
-    var policies_1 = require_internal2();
-    exports2.logPolicyName = policies_1.logPolicyName;
-    function logPolicy(options = {}) {
-      return (0, policies_1.logPolicy)({
-        logger: log_js_1.logger.info,
-        ...options
-      });
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/redirectPolicy.js
-var require_redirectPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/redirectPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.redirectPolicyName = void 0;
-    exports2.redirectPolicy = redirectPolicy;
-    var policies_1 = require_internal2();
-    exports2.redirectPolicyName = policies_1.redirectPolicyName;
-    function redirectPolicy(options = {}) {
-      return (0, policies_1.redirectPolicy)(options);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/util/userAgentPlatform.js
-var require_userAgentPlatform2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/util/userAgentPlatform.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getHeaderName = getHeaderName;
-    exports2.setPlatformSpecificData = setPlatformSpecificData;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var node_os_1 = tslib_1.__importDefault(require("node:os"));
-    var node_process_1 = tslib_1.__importDefault(require("node:process"));
-    function getHeaderName() {
-      return "User-Agent";
-    }
-    async function setPlatformSpecificData(map2) {
-      if (node_process_1.default && node_process_1.default.versions) {
-        const osInfo = `${node_os_1.default.type()} ${node_os_1.default.release()}; ${node_os_1.default.arch()}`;
-        const versions = node_process_1.default.versions;
-        if (versions.bun) {
-          map2.set("Bun", `${versions.bun} (${osInfo})`);
-        } else if (versions.deno) {
-          map2.set("Deno", `${versions.deno} (${osInfo})`);
-        } else if (versions.node) {
-          map2.set("Node", `${versions.node} (${osInfo})`);
+          copyId: {
+            serializedName: "x-ms-copy-id",
+            xmlName: "x-ms-copy-id",
+            type: {
+              name: "String"
+            }
+          },
+          copyStatus: {
+            serializedName: "x-ms-copy-status",
+            xmlName: "x-ms-copy-status",
+            type: {
+              name: "Enum",
+              allowedValues: ["pending", "success", "aborted", "failed"]
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/constants.js
-var require_constants13 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/constants.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.DEFAULT_RETRY_POLICY_COUNT = exports2.SDK_VERSION = void 0;
-    exports2.SDK_VERSION = "1.22.2";
-    exports2.DEFAULT_RETRY_POLICY_COUNT = 3;
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/util/userAgent.js
-var require_userAgent2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/util/userAgent.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getUserAgentHeaderName = getUserAgentHeaderName;
-    exports2.getUserAgentValue = getUserAgentValue;
-    var userAgentPlatform_js_1 = require_userAgentPlatform2();
-    var constants_js_1 = require_constants13();
-    function getUserAgentString(telemetryInfo) {
-      const parts = [];
-      for (const [key, value] of telemetryInfo) {
-        const token = value ? `${key}/${value}` : key;
-        parts.push(token);
+    };
+    exports2.PageBlobCopyIncrementalExceptionHeaders = {
+      serializedName: "PageBlob_copyIncrementalExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobCopyIncrementalExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      return parts.join(" ");
-    }
-    function getUserAgentHeaderName() {
-      return (0, userAgentPlatform_js_1.getHeaderName)();
-    }
-    async function getUserAgentValue(prefix) {
-      const runtimeInfo = /* @__PURE__ */ new Map();
-      runtimeInfo.set("core-rest-pipeline", constants_js_1.SDK_VERSION);
-      await (0, userAgentPlatform_js_1.setPlatformSpecificData)(runtimeInfo);
-      const defaultAgent = getUserAgentString(runtimeInfo);
-      const userAgentValue = prefix ? `${prefix} ${defaultAgent}` : defaultAgent;
-      return userAgentValue;
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/userAgentPolicy.js
-var require_userAgentPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/userAgentPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.userAgentPolicyName = void 0;
-    exports2.userAgentPolicy = userAgentPolicy;
-    var userAgent_js_1 = require_userAgent2();
-    var UserAgentHeaderName = (0, userAgent_js_1.getUserAgentHeaderName)();
-    exports2.userAgentPolicyName = "userAgentPolicy";
-    function userAgentPolicy(options = {}) {
-      const userAgentValue = (0, userAgent_js_1.getUserAgentValue)(options.userAgentPrefix);
-      return {
-        name: exports2.userAgentPolicyName,
-        async sendRequest(request2, next) {
-          if (!request2.headers.has(UserAgentHeaderName)) {
-            request2.headers.set(UserAgentHeaderName, await userAgentValue);
+    };
+    exports2.AppendBlobCreateHeaders = {
+      serializedName: "AppendBlob_createHeaders",
+      type: {
+        name: "Composite",
+        className: "AppendBlobCreateHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
+      }
+    };
+    exports2.AppendBlobCreateExceptionHeaders = {
+      serializedName: "AppendBlob_createExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "AppendBlobCreateExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
+      }
+    };
+    exports2.AppendBlobAppendBlockHeaders = {
+      serializedName: "AppendBlob_appendBlockHeaders",
+      type: {
+        name: "Composite",
+        className: "AppendBlobAppendBlockHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          xMsContentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          blobAppendOffset: {
+            serializedName: "x-ms-blob-append-offset",
+            xmlName: "x-ms-blob-append-offset",
+            type: {
+              name: "String"
+            }
+          },
+          blobCommittedBlockCount: {
+            serializedName: "x-ms-blob-committed-block-count",
+            xmlName: "x-ms-blob-committed-block-count",
+            type: {
+              name: "Number"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
+      }
+    };
+    exports2.AppendBlobAppendBlockExceptionHeaders = {
+      serializedName: "AppendBlob_appendBlockExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "AppendBlobAppendBlockExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
+      }
+    };
+    exports2.AppendBlobAppendBlockFromUrlHeaders = {
+      serializedName: "AppendBlob_appendBlockFromUrlHeaders",
+      type: {
+        name: "Composite",
+        className: "AppendBlobAppendBlockFromUrlHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          xMsContentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          blobAppendOffset: {
+            serializedName: "x-ms-blob-append-offset",
+            xmlName: "x-ms-blob-append-offset",
+            type: {
+              name: "String"
+            }
+          },
+          blobCommittedBlockCount: {
+            serializedName: "x-ms-blob-committed-block-count",
+            xmlName: "x-ms-blob-committed-block-count",
+            type: {
+              name: "Number"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          return next(request2);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/sha256.js
-var require_sha256 = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/sha256.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.computeSha256Hmac = computeSha256Hmac;
-    exports2.computeSha256Hash = computeSha256Hash;
-    var node_crypto_1 = require("node:crypto");
-    async function computeSha256Hmac(key, stringToSign, encoding) {
-      const decodedKey = Buffer.from(key, "base64");
-      return (0, node_crypto_1.createHmac)("sha256", decodedKey).update(stringToSign).digest(encoding);
-    }
-    async function computeSha256Hash(content, encoding) {
-      return (0, node_crypto_1.createHash)("sha256").update(content).digest(encoding);
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/internal.js
-var require_internal3 = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/internal.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Sanitizer = exports2.uint8ArrayToString = exports2.stringToUint8Array = exports2.isWebWorker = exports2.isReactNative = exports2.isDeno = exports2.isNodeRuntime = exports2.isNodeLike = exports2.isBun = exports2.isBrowser = exports2.randomUUID = exports2.computeSha256Hmac = exports2.computeSha256Hash = exports2.isError = exports2.isObject = exports2.getRandomIntegerInclusive = exports2.calculateRetryDelay = void 0;
-    var delay_js_1 = require_delay();
-    Object.defineProperty(exports2, "calculateRetryDelay", { enumerable: true, get: function() {
-      return delay_js_1.calculateRetryDelay;
-    } });
-    var random_js_1 = require_random();
-    Object.defineProperty(exports2, "getRandomIntegerInclusive", { enumerable: true, get: function() {
-      return random_js_1.getRandomIntegerInclusive;
-    } });
-    var object_js_1 = require_object();
-    Object.defineProperty(exports2, "isObject", { enumerable: true, get: function() {
-      return object_js_1.isObject;
-    } });
-    var error_js_1 = require_error();
-    Object.defineProperty(exports2, "isError", { enumerable: true, get: function() {
-      return error_js_1.isError;
-    } });
-    var sha256_js_1 = require_sha256();
-    Object.defineProperty(exports2, "computeSha256Hash", { enumerable: true, get: function() {
-      return sha256_js_1.computeSha256Hash;
-    } });
-    Object.defineProperty(exports2, "computeSha256Hmac", { enumerable: true, get: function() {
-      return sha256_js_1.computeSha256Hmac;
-    } });
-    var uuidUtils_js_1 = require_uuidUtils();
-    Object.defineProperty(exports2, "randomUUID", { enumerable: true, get: function() {
-      return uuidUtils_js_1.randomUUID;
-    } });
-    var checkEnvironment_js_1 = require_checkEnvironment();
-    Object.defineProperty(exports2, "isBrowser", { enumerable: true, get: function() {
-      return checkEnvironment_js_1.isBrowser;
-    } });
-    Object.defineProperty(exports2, "isBun", { enumerable: true, get: function() {
-      return checkEnvironment_js_1.isBun;
-    } });
-    Object.defineProperty(exports2, "isNodeLike", { enumerable: true, get: function() {
-      return checkEnvironment_js_1.isNodeLike;
-    } });
-    Object.defineProperty(exports2, "isNodeRuntime", { enumerable: true, get: function() {
-      return checkEnvironment_js_1.isNodeRuntime;
-    } });
-    Object.defineProperty(exports2, "isDeno", { enumerable: true, get: function() {
-      return checkEnvironment_js_1.isDeno;
-    } });
-    Object.defineProperty(exports2, "isReactNative", { enumerable: true, get: function() {
-      return checkEnvironment_js_1.isReactNative;
-    } });
-    Object.defineProperty(exports2, "isWebWorker", { enumerable: true, get: function() {
-      return checkEnvironment_js_1.isWebWorker;
-    } });
-    var bytesEncoding_js_1 = require_bytesEncoding();
-    Object.defineProperty(exports2, "stringToUint8Array", { enumerable: true, get: function() {
-      return bytesEncoding_js_1.stringToUint8Array;
-    } });
-    Object.defineProperty(exports2, "uint8ArrayToString", { enumerable: true, get: function() {
-      return bytesEncoding_js_1.uint8ArrayToString;
-    } });
-    var sanitizer_js_1 = require_sanitizer();
-    Object.defineProperty(exports2, "Sanitizer", { enumerable: true, get: function() {
-      return sanitizer_js_1.Sanitizer;
-    } });
-  }
-});
-
-// node_modules/@azure/core-util/dist/commonjs/aborterUtils.js
-var require_aborterUtils = __commonJS({
-  "node_modules/@azure/core-util/dist/commonjs/aborterUtils.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.cancelablePromiseRace = cancelablePromiseRace;
-    async function cancelablePromiseRace(abortablePromiseBuilders, options) {
-      const aborter = new AbortController();
-      function abortHandler() {
-        aborter.abort();
       }
-      options?.abortSignal?.addEventListener("abort", abortHandler);
-      try {
-        return await Promise.race(abortablePromiseBuilders.map((p) => p({ abortSignal: aborter.signal })));
-      } finally {
-        aborter.abort();
-        options?.abortSignal?.removeEventListener("abort", abortHandler);
+    };
+    exports2.AppendBlobAppendBlockFromUrlExceptionHeaders = {
+      serializedName: "AppendBlob_appendBlockFromUrlExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "AppendBlobAppendBlockFromUrlExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceErrorCode: {
+            serializedName: "x-ms-copy-source-error-code",
+            xmlName: "x-ms-copy-source-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceStatusCode: {
+            serializedName: "x-ms-copy-source-status-code",
+            xmlName: "x-ms-copy-source-status-code",
+            type: {
+              name: "Number"
+            }
+          }
+        }
       }
-    }
-  }
-});
-
-// node_modules/@azure/core-util/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js
-var require_AbortError2 = __commonJS({
-  "node_modules/@azure/core-util/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AbortError = void 0;
-    var AbortError = class extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "AbortError";
+    };
+    exports2.AppendBlobSealHeaders = {
+      serializedName: "AppendBlob_sealHeaders",
+      type: {
+        name: "Composite",
+        className: "AppendBlobSealHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isSealed: {
+            serializedName: "x-ms-blob-sealed",
+            xmlName: "x-ms-blob-sealed",
+            type: {
+              name: "Boolean"
+            }
+          }
+        }
       }
     };
-    exports2.AbortError = AbortError;
-  }
-});
-
-// node_modules/@azure/core-util/node_modules/@azure/abort-controller/dist/commonjs/index.js
-var require_commonjs5 = __commonJS({
-  "node_modules/@azure/core-util/node_modules/@azure/abort-controller/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AbortError = void 0;
-    var AbortError_js_1 = require_AbortError2();
-    Object.defineProperty(exports2, "AbortError", { enumerable: true, get: function() {
-      return AbortError_js_1.AbortError;
-    } });
-  }
-});
-
-// node_modules/@azure/core-util/dist/commonjs/createAbortablePromise.js
-var require_createAbortablePromise = __commonJS({
-  "node_modules/@azure/core-util/dist/commonjs/createAbortablePromise.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createAbortablePromise = createAbortablePromise;
-    var abort_controller_1 = require_commonjs5();
-    function createAbortablePromise(buildPromise, options) {
-      const { cleanupBeforeAbort, abortSignal, abortErrorMsg } = options ?? {};
-      return new Promise((resolve2, reject) => {
-        function rejectOnAbort() {
-          reject(new abort_controller_1.AbortError(abortErrorMsg ?? "The operation was aborted."));
+    exports2.AppendBlobSealExceptionHeaders = {
+      serializedName: "AppendBlob_sealExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "AppendBlobSealExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        function removeListeners() {
-          abortSignal?.removeEventListener("abort", onAbort);
+      }
+    };
+    exports2.BlockBlobUploadHeaders = {
+      serializedName: "BlockBlob_uploadHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobUploadHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        function onAbort() {
-          cleanupBeforeAbort?.();
-          removeListeners();
-          rejectOnAbort();
+      }
+    };
+    exports2.BlockBlobUploadExceptionHeaders = {
+      serializedName: "BlockBlob_uploadExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobUploadExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        if (abortSignal?.aborted) {
-          return rejectOnAbort();
+      }
+    };
+    exports2.BlockBlobPutBlobFromUrlHeaders = {
+      serializedName: "BlockBlob_putBlobFromUrlHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobPutBlobFromUrlHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        try {
-          buildPromise((x) => {
-            removeListeners();
-            resolve2(x);
-          }, (x) => {
-            removeListeners();
-            reject(x);
-          });
-        } catch (err) {
-          reject(err);
+      }
+    };
+    exports2.BlockBlobPutBlobFromUrlExceptionHeaders = {
+      serializedName: "BlockBlob_putBlobFromUrlExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobPutBlobFromUrlExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceErrorCode: {
+            serializedName: "x-ms-copy-source-error-code",
+            xmlName: "x-ms-copy-source-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceStatusCode: {
+            serializedName: "x-ms-copy-source-status-code",
+            xmlName: "x-ms-copy-source-status-code",
+            type: {
+              name: "Number"
+            }
+          }
         }
-        abortSignal?.addEventListener("abort", onAbort);
-      });
-    }
-  }
-});
-
-// node_modules/@azure/core-util/dist/commonjs/delay.js
-var require_delay2 = __commonJS({
-  "node_modules/@azure/core-util/dist/commonjs/delay.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.delay = delay;
-    exports2.calculateRetryDelay = calculateRetryDelay;
-    var createAbortablePromise_js_1 = require_createAbortablePromise();
-    var util_1 = require_internal3();
-    var StandardAbortMessage = "The delay was aborted.";
-    function delay(timeInMs, options) {
-      let token;
-      const { abortSignal, abortErrorMsg } = options ?? {};
-      return (0, createAbortablePromise_js_1.createAbortablePromise)((resolve2) => {
-        token = setTimeout(resolve2, timeInMs);
-      }, {
-        cleanupBeforeAbort: () => clearTimeout(token),
-        abortSignal,
-        abortErrorMsg: abortErrorMsg ?? StandardAbortMessage
-      });
-    }
-    function calculateRetryDelay(retryAttempt, config) {
-      const exponentialDelay = config.retryDelayInMs * Math.pow(2, retryAttempt);
-      const clampedDelay = Math.min(config.maxRetryDelayInMs, exponentialDelay);
-      const retryAfterInMs = clampedDelay / 2 + (0, util_1.getRandomIntegerInclusive)(0, clampedDelay / 2);
-      return { retryAfterInMs };
-    }
-  }
-});
-
-// node_modules/@azure/core-util/dist/commonjs/error.js
-var require_error2 = __commonJS({
-  "node_modules/@azure/core-util/dist/commonjs/error.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getErrorMessage = getErrorMessage2;
-    var util_1 = require_internal3();
-    function getErrorMessage2(e) {
-      if ((0, util_1.isError)(e)) {
-        return e.message;
-      } else {
-        let stringified;
-        try {
-          if (typeof e === "object" && e) {
-            stringified = JSON.stringify(e);
-          } else {
-            stringified = String(e);
+      }
+    };
+    exports2.BlockBlobStageBlockHeaders = {
+      serializedName: "BlockBlob_stageBlockHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobStageBlockHeaders",
+        modelProperties: {
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          xMsContentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-        } catch (err) {
-          stringified = "[unable to stringify input]";
         }
-        return `Unknown error ${stringified}`;
-      }
-    }
-  }
-});
-
-// node_modules/@azure/core-util/dist/commonjs/typeGuards.js
-var require_typeGuards2 = __commonJS({
-  "node_modules/@azure/core-util/dist/commonjs/typeGuards.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isDefined = isDefined3;
-    exports2.isObjectWithProperties = isObjectWithProperties;
-    exports2.objectHasProperty = objectHasProperty;
-    function isDefined3(thing) {
-      return typeof thing !== "undefined" && thing !== null;
-    }
-    function isObjectWithProperties(thing, properties) {
-      if (!isDefined3(thing) || typeof thing !== "object") {
-        return false;
       }
-      for (const property of properties) {
-        if (!objectHasProperty(thing, property)) {
-          return false;
+    };
+    exports2.BlockBlobStageBlockExceptionHeaders = {
+      serializedName: "BlockBlob_stageBlockExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobStageBlockExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-      return true;
-    }
-    function objectHasProperty(thing, property) {
-      return isDefined3(thing) && typeof thing === "object" && property in thing;
-    }
-  }
-});
-
-// node_modules/@azure/core-util/dist/commonjs/index.js
-var require_commonjs6 = __commonJS({
-  "node_modules/@azure/core-util/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isWebWorker = exports2.isReactNative = exports2.isNodeRuntime = exports2.isNodeLike = exports2.isNode = exports2.isDeno = exports2.isBun = exports2.isBrowser = exports2.objectHasProperty = exports2.isObjectWithProperties = exports2.isDefined = exports2.getErrorMessage = exports2.delay = exports2.createAbortablePromise = exports2.cancelablePromiseRace = void 0;
-    exports2.calculateRetryDelay = calculateRetryDelay;
-    exports2.computeSha256Hash = computeSha256Hash;
-    exports2.computeSha256Hmac = computeSha256Hmac;
-    exports2.getRandomIntegerInclusive = getRandomIntegerInclusive;
-    exports2.isError = isError;
-    exports2.isObject = isObject2;
-    exports2.randomUUID = randomUUID;
-    exports2.uint8ArrayToString = uint8ArrayToString;
-    exports2.stringToUint8Array = stringToUint8Array;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var tspRuntime = tslib_1.__importStar(require_internal3());
-    var aborterUtils_js_1 = require_aborterUtils();
-    Object.defineProperty(exports2, "cancelablePromiseRace", { enumerable: true, get: function() {
-      return aborterUtils_js_1.cancelablePromiseRace;
-    } });
-    var createAbortablePromise_js_1 = require_createAbortablePromise();
-    Object.defineProperty(exports2, "createAbortablePromise", { enumerable: true, get: function() {
-      return createAbortablePromise_js_1.createAbortablePromise;
-    } });
-    var delay_js_1 = require_delay2();
-    Object.defineProperty(exports2, "delay", { enumerable: true, get: function() {
-      return delay_js_1.delay;
-    } });
-    var error_js_1 = require_error2();
-    Object.defineProperty(exports2, "getErrorMessage", { enumerable: true, get: function() {
-      return error_js_1.getErrorMessage;
-    } });
-    var typeGuards_js_1 = require_typeGuards2();
-    Object.defineProperty(exports2, "isDefined", { enumerable: true, get: function() {
-      return typeGuards_js_1.isDefined;
-    } });
-    Object.defineProperty(exports2, "isObjectWithProperties", { enumerable: true, get: function() {
-      return typeGuards_js_1.isObjectWithProperties;
-    } });
-    Object.defineProperty(exports2, "objectHasProperty", { enumerable: true, get: function() {
-      return typeGuards_js_1.objectHasProperty;
-    } });
-    function calculateRetryDelay(retryAttempt, config) {
-      return tspRuntime.calculateRetryDelay(retryAttempt, config);
-    }
-    function computeSha256Hash(content, encoding) {
-      return tspRuntime.computeSha256Hash(content, encoding);
-    }
-    function computeSha256Hmac(key, stringToSign, encoding) {
-      return tspRuntime.computeSha256Hmac(key, stringToSign, encoding);
-    }
-    function getRandomIntegerInclusive(min, max) {
-      return tspRuntime.getRandomIntegerInclusive(min, max);
-    }
-    function isError(e) {
-      return tspRuntime.isError(e);
-    }
-    function isObject2(input) {
-      return tspRuntime.isObject(input);
-    }
-    function randomUUID() {
-      return tspRuntime.randomUUID();
-    }
-    exports2.isBrowser = tspRuntime.isBrowser;
-    exports2.isBun = tspRuntime.isBun;
-    exports2.isDeno = tspRuntime.isDeno;
-    exports2.isNode = tspRuntime.isNodeLike;
-    exports2.isNodeLike = tspRuntime.isNodeLike;
-    exports2.isNodeRuntime = tspRuntime.isNodeRuntime;
-    exports2.isReactNative = tspRuntime.isReactNative;
-    exports2.isWebWorker = tspRuntime.isWebWorker;
-    function uint8ArrayToString(bytes, format) {
-      return tspRuntime.uint8ArrayToString(bytes, format);
-    }
-    function stringToUint8Array(value, format) {
-      return tspRuntime.stringToUint8Array(value, format);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/util/file.js
-var require_file3 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/util/file.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.hasRawContent = hasRawContent;
-    exports2.getRawContent = getRawContent;
-    exports2.createFileFromStream = createFileFromStream;
-    exports2.createFile = createFile;
-    var core_util_1 = require_commonjs6();
-    function isNodeReadableStream(x) {
-      return Boolean(x && typeof x["pipe"] === "function");
-    }
-    var unimplementedMethods = {
-      arrayBuffer: () => {
-        throw new Error("Not implemented");
-      },
-      bytes: () => {
-        throw new Error("Not implemented");
-      },
-      slice: () => {
-        throw new Error("Not implemented");
-      },
-      text: () => {
-        throw new Error("Not implemented");
-      }
     };
-    var rawContent = /* @__PURE__ */ Symbol("rawContent");
-    function hasRawContent(x) {
-      return typeof x[rawContent] === "function";
-    }
-    function getRawContent(blob) {
-      if (hasRawContent(blob)) {
-        return blob[rawContent]();
-      } else {
-        return blob;
-      }
-    }
-    function createFileFromStream(stream, name, options = {}) {
-      return {
-        ...unimplementedMethods,
-        type: options.type ?? "",
-        lastModified: options.lastModified ?? (/* @__PURE__ */ new Date()).getTime(),
-        webkitRelativePath: options.webkitRelativePath ?? "",
-        size: options.size ?? -1,
-        name,
-        stream: () => {
-          const s = stream();
-          if (isNodeReadableStream(s)) {
-            throw new Error("Not supported: a Node stream was provided as input to createFileFromStream.");
+    exports2.BlockBlobStageBlockFromURLHeaders = {
+      serializedName: "BlockBlob_stageBlockFromURLHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobStageBlockFromURLHeaders",
+        modelProperties: {
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          xMsContentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          return s;
-        },
-        [rawContent]: stream
-      };
-    }
-    function createFile(content, name, options = {}) {
-      if (core_util_1.isNodeLike) {
-        return {
-          ...unimplementedMethods,
-          type: options.type ?? "",
-          lastModified: options.lastModified ?? (/* @__PURE__ */ new Date()).getTime(),
-          webkitRelativePath: options.webkitRelativePath ?? "",
-          size: content.byteLength,
-          name,
-          arrayBuffer: async () => content.buffer,
-          stream: () => new Blob([toArrayBuffer(content)]).stream(),
-          [rawContent]: () => content
-        };
-      } else {
-        return new File([toArrayBuffer(content)], name, options);
-      }
-    }
-    function toArrayBuffer(source) {
-      if ("resize" in source.buffer) {
-        return source;
+        }
       }
-      return source.map((x) => x);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/multipartPolicy.js
-var require_multipartPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/multipartPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.multipartPolicyName = void 0;
-    exports2.multipartPolicy = multipartPolicy;
-    var policies_1 = require_internal2();
-    var file_js_1 = require_file3();
-    exports2.multipartPolicyName = policies_1.multipartPolicyName;
-    function multipartPolicy() {
-      const tspPolicy = (0, policies_1.multipartPolicy)();
-      return {
-        name: exports2.multipartPolicyName,
-        sendRequest: async (request2, next) => {
-          if (request2.multipartBody) {
-            for (const part of request2.multipartBody.parts) {
-              if ((0, file_js_1.hasRawContent)(part.body)) {
-                part.body = (0, file_js_1.getRawContent)(part.body);
-              }
+    };
+    exports2.BlockBlobStageBlockFromURLExceptionHeaders = {
+      serializedName: "BlockBlob_stageBlockFromURLExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobStageBlockFromURLExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceErrorCode: {
+            serializedName: "x-ms-copy-source-error-code",
+            xmlName: "x-ms-copy-source-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceStatusCode: {
+            serializedName: "x-ms-copy-source-status-code",
+            xmlName: "x-ms-copy-source-status-code",
+            type: {
+              name: "Number"
             }
           }
-          return tspPolicy.sendRequest(request2, next);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/decompressResponsePolicy.js
-var require_decompressResponsePolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/decompressResponsePolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.decompressResponsePolicyName = void 0;
-    exports2.decompressResponsePolicy = decompressResponsePolicy;
-    var policies_1 = require_internal2();
-    exports2.decompressResponsePolicyName = policies_1.decompressResponsePolicyName;
-    function decompressResponsePolicy() {
-      return (0, policies_1.decompressResponsePolicy)();
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/defaultRetryPolicy.js
-var require_defaultRetryPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/defaultRetryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.defaultRetryPolicyName = void 0;
-    exports2.defaultRetryPolicy = defaultRetryPolicy;
-    var policies_1 = require_internal2();
-    exports2.defaultRetryPolicyName = policies_1.defaultRetryPolicyName;
-    function defaultRetryPolicy(options = {}) {
-      return (0, policies_1.defaultRetryPolicy)(options);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/formDataPolicy.js
-var require_formDataPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/formDataPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.formDataPolicyName = void 0;
-    exports2.formDataPolicy = formDataPolicy;
-    var policies_1 = require_internal2();
-    exports2.formDataPolicyName = policies_1.formDataPolicyName;
-    function formDataPolicy() {
-      return (0, policies_1.formDataPolicy)();
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/proxyPolicy.js
-var require_proxyPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/proxyPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.proxyPolicyName = void 0;
-    exports2.getDefaultProxySettings = getDefaultProxySettings;
-    exports2.proxyPolicy = proxyPolicy;
-    var policies_1 = require_internal2();
-    exports2.proxyPolicyName = policies_1.proxyPolicyName;
-    function getDefaultProxySettings(proxyUrl) {
-      return (0, policies_1.getDefaultProxySettings)(proxyUrl);
-    }
-    function proxyPolicy(proxySettings, options) {
-      return (0, policies_1.proxyPolicy)(proxySettings, options);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/setClientRequestIdPolicy.js
-var require_setClientRequestIdPolicy = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/setClientRequestIdPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.setClientRequestIdPolicyName = void 0;
-    exports2.setClientRequestIdPolicy = setClientRequestIdPolicy;
-    exports2.setClientRequestIdPolicyName = "setClientRequestIdPolicy";
-    function setClientRequestIdPolicy(requestIdHeaderName = "x-ms-client-request-id") {
-      return {
-        name: exports2.setClientRequestIdPolicyName,
-        async sendRequest(request2, next) {
-          if (!request2.headers.has(requestIdHeaderName)) {
-            request2.headers.set(requestIdHeaderName, request2.requestId);
+      }
+    };
+    exports2.BlockBlobCommitBlockListHeaders = {
+      serializedName: "BlockBlob_commitBlockListHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobCommitBlockListHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          xMsContentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          return next(request2);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/agentPolicy.js
-var require_agentPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/agentPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.agentPolicyName = void 0;
-    exports2.agentPolicy = agentPolicy;
-    var policies_1 = require_internal2();
-    exports2.agentPolicyName = policies_1.agentPolicyName;
-    function agentPolicy(agent) {
-      return (0, policies_1.agentPolicy)(agent);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/tlsPolicy.js
-var require_tlsPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/tlsPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.tlsPolicyName = void 0;
-    exports2.tlsPolicy = tlsPolicy;
-    var policies_1 = require_internal2();
-    exports2.tlsPolicyName = policies_1.tlsPolicyName;
-    function tlsPolicy(tlsSettings) {
-      return (0, policies_1.tlsPolicy)(tlsSettings);
-    }
-  }
-});
-
-// node_modules/@azure/core-tracing/dist/commonjs/tracingContext.js
-var require_tracingContext = __commonJS({
-  "node_modules/@azure/core-tracing/dist/commonjs/tracingContext.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.TracingContextImpl = exports2.knownContextKeys = void 0;
-    exports2.createTracingContext = createTracingContext;
-    exports2.knownContextKeys = {
-      span: /* @__PURE__ */ Symbol.for("@azure/core-tracing span"),
-      namespace: /* @__PURE__ */ Symbol.for("@azure/core-tracing namespace")
-    };
-    function createTracingContext(options = {}) {
-      let context2 = new TracingContextImpl(options.parentContext);
-      if (options.span) {
-        context2 = context2.setValue(exports2.knownContextKeys.span, options.span);
-      }
-      if (options.namespace) {
-        context2 = context2.setValue(exports2.knownContextKeys.namespace, options.namespace);
-      }
-      return context2;
-    }
-    var TracingContextImpl = class _TracingContextImpl {
-      _contextMap;
-      constructor(initialContext) {
-        this._contextMap = initialContext instanceof _TracingContextImpl ? new Map(initialContext._contextMap) : /* @__PURE__ */ new Map();
-      }
-      setValue(key, value) {
-        const newContext = new _TracingContextImpl(this);
-        newContext._contextMap.set(key, value);
-        return newContext;
-      }
-      getValue(key) {
-        return this._contextMap.get(key);
-      }
-      deleteValue(key) {
-        const newContext = new _TracingContextImpl(this);
-        newContext._contextMap.delete(key);
-        return newContext;
       }
     };
-    exports2.TracingContextImpl = TracingContextImpl;
-  }
-});
-
-// node_modules/@azure/core-tracing/dist/commonjs/state.js
-var require_state = __commonJS({
-  "node_modules/@azure/core-tracing/dist/commonjs/state.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.state = void 0;
-    exports2.state = {
-      instrumenterImplementation: void 0
-    };
-  }
-});
-
-// node_modules/@azure/core-tracing/dist/commonjs/instrumenter.js
-var require_instrumenter = __commonJS({
-  "node_modules/@azure/core-tracing/dist/commonjs/instrumenter.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createDefaultTracingSpan = createDefaultTracingSpan;
-    exports2.createDefaultInstrumenter = createDefaultInstrumenter;
-    exports2.useInstrumenter = useInstrumenter;
-    exports2.getInstrumenter = getInstrumenter;
-    var tracingContext_js_1 = require_tracingContext();
-    var state_js_1 = require_state();
-    function createDefaultTracingSpan() {
-      return {
-        end: () => {
-        },
-        isRecording: () => false,
-        recordException: () => {
-        },
-        setAttribute: () => {
-        },
-        setStatus: () => {
-        },
-        addEvent: () => {
-        }
-      };
-    }
-    function createDefaultInstrumenter() {
-      return {
-        createRequestHeaders: () => {
-          return {};
-        },
-        parseTraceparentHeader: () => {
-          return void 0;
-        },
-        startSpan: (_name, spanOptions) => {
-          return {
-            span: createDefaultTracingSpan(),
-            tracingContext: (0, tracingContext_js_1.createTracingContext)({ parentContext: spanOptions.tracingContext })
-          };
-        },
-        withContext(_context, callback, ...callbackArgs) {
-          return callback(...callbackArgs);
+    exports2.BlockBlobCommitBlockListExceptionHeaders = {
+      serializedName: "BlockBlob_commitBlockListExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobCommitBlockListExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-      };
-    }
-    function useInstrumenter(instrumenter) {
-      state_js_1.state.instrumenterImplementation = instrumenter;
-    }
-    function getInstrumenter() {
-      if (!state_js_1.state.instrumenterImplementation) {
-        state_js_1.state.instrumenterImplementation = createDefaultInstrumenter();
       }
-      return state_js_1.state.instrumenterImplementation;
-    }
-  }
-});
-
-// node_modules/@azure/core-tracing/dist/commonjs/tracingClient.js
-var require_tracingClient = __commonJS({
-  "node_modules/@azure/core-tracing/dist/commonjs/tracingClient.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createTracingClient = createTracingClient;
-    var instrumenter_js_1 = require_instrumenter();
-    var tracingContext_js_1 = require_tracingContext();
-    function createTracingClient(options) {
-      const { namespace, packageName, packageVersion } = options;
-      function startSpan(name, operationOptions, spanOptions) {
-        const startSpanResult = (0, instrumenter_js_1.getInstrumenter)().startSpan(name, {
-          ...spanOptions,
-          packageName,
-          packageVersion,
-          tracingContext: operationOptions?.tracingOptions?.tracingContext
-        });
-        let tracingContext = startSpanResult.tracingContext;
-        const span = startSpanResult.span;
-        if (!tracingContext.getValue(tracingContext_js_1.knownContextKeys.namespace)) {
-          tracingContext = tracingContext.setValue(tracingContext_js_1.knownContextKeys.namespace, namespace);
+    };
+    exports2.BlockBlobGetBlockListHeaders = {
+      serializedName: "BlockBlob_getBlockListHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobGetBlockListHeaders",
+        modelProperties: {
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          contentType: {
+            serializedName: "content-type",
+            xmlName: "content-type",
+            type: {
+              name: "String"
+            }
+          },
+          blobContentLength: {
+            serializedName: "x-ms-blob-content-length",
+            xmlName: "x-ms-blob-content-length",
+            type: {
+              name: "Number"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        span.setAttribute("az.namespace", tracingContext.getValue(tracingContext_js_1.knownContextKeys.namespace));
-        const updatedOptions = Object.assign({}, operationOptions, {
-          tracingOptions: { ...operationOptions?.tracingOptions, tracingContext }
-        });
-        return {
-          span,
-          updatedOptions
-        };
       }
-      async function withSpan(name, operationOptions, callback, spanOptions) {
-        const { span, updatedOptions } = startSpan(name, operationOptions, spanOptions);
-        try {
-          const result = await withContext(updatedOptions.tracingOptions.tracingContext, () => Promise.resolve(callback(updatedOptions, span)));
-          span.setStatus({ status: "success" });
-          return result;
-        } catch (err) {
-          span.setStatus({ status: "error", error: err });
-          throw err;
-        } finally {
-          span.end();
+    };
+    exports2.BlockBlobGetBlockListExceptionHeaders = {
+      serializedName: "BlockBlob_getBlockListExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobGetBlockListExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-      function withContext(context2, callback, ...callbackArgs) {
-        return (0, instrumenter_js_1.getInstrumenter)().withContext(context2, callback, ...callbackArgs);
-      }
-      function parseTraceparentHeader(traceparentHeader) {
-        return (0, instrumenter_js_1.getInstrumenter)().parseTraceparentHeader(traceparentHeader);
-      }
-      function createRequestHeaders(tracingContext) {
-        return (0, instrumenter_js_1.getInstrumenter)().createRequestHeaders(tracingContext);
-      }
-      return {
-        startSpan,
-        withSpan,
-        withContext,
-        parseTraceparentHeader,
-        createRequestHeaders
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-tracing/dist/commonjs/index.js
-var require_commonjs7 = __commonJS({
-  "node_modules/@azure/core-tracing/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createTracingClient = exports2.useInstrumenter = void 0;
-    var instrumenter_js_1 = require_instrumenter();
-    Object.defineProperty(exports2, "useInstrumenter", { enumerable: true, get: function() {
-      return instrumenter_js_1.useInstrumenter;
-    } });
-    var tracingClient_js_1 = require_tracingClient();
-    Object.defineProperty(exports2, "createTracingClient", { enumerable: true, get: function() {
-      return tracingClient_js_1.createTracingClient;
-    } });
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/restError.js
-var require_restError3 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/restError.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.RestError = void 0;
-    exports2.isRestError = isRestError;
-    var ts_http_runtime_1 = require_commonjs3();
-    exports2.RestError = ts_http_runtime_1.RestError;
-    function isRestError(e) {
-      return (0, ts_http_runtime_1.isRestError)(e);
-    }
+    };
   }
 });
 
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/tracingPolicy.js
-var require_tracingPolicy = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/tracingPolicy.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/parameters.js
+var require_parameters = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/parameters.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.tracingPolicyName = void 0;
-    exports2.tracingPolicy = tracingPolicy;
-    var core_tracing_1 = require_commonjs7();
-    var constants_js_1 = require_constants13();
-    var userAgent_js_1 = require_userAgent2();
-    var log_js_1 = require_log3();
-    var core_util_1 = require_commonjs6();
-    var restError_js_1 = require_restError3();
-    var util_1 = require_internal3();
-    exports2.tracingPolicyName = "tracingPolicy";
-    function tracingPolicy(options = {}) {
-      const userAgentPromise = (0, userAgent_js_1.getUserAgentValue)(options.userAgentPrefix);
-      const sanitizer = new util_1.Sanitizer({
-        additionalAllowedQueryParameters: options.additionalAllowedQueryParameters
-      });
-      const tracingClient = tryCreateTracingClient();
-      return {
-        name: exports2.tracingPolicyName,
-        async sendRequest(request2, next) {
-          if (!tracingClient) {
-            return next(request2);
-          }
-          const userAgent2 = await userAgentPromise;
-          const spanAttributes = {
-            "http.url": sanitizer.sanitizeUrl(request2.url),
-            "http.method": request2.method,
-            "http.user_agent": userAgent2,
-            requestId: request2.requestId
-          };
-          if (userAgent2) {
-            spanAttributes["http.user_agent"] = userAgent2;
-          }
-          const { span, tracingContext } = tryCreateSpan(tracingClient, request2, spanAttributes) ?? {};
-          if (!span || !tracingContext) {
-            return next(request2);
-          }
-          try {
-            const response = await tracingClient.withContext(tracingContext, next, request2);
-            tryProcessResponse(span, response);
-            return response;
-          } catch (err) {
-            tryProcessError(span, err);
-            throw err;
-          }
-        }
-      };
-    }
-    function tryCreateTracingClient() {
-      try {
-        return (0, core_tracing_1.createTracingClient)({
-          namespace: "",
-          packageName: "@azure/core-rest-pipeline",
-          packageVersion: constants_js_1.SDK_VERSION
-        });
-      } catch (e) {
-        log_js_1.logger.warning(`Error when creating the TracingClient: ${(0, core_util_1.getErrorMessage)(e)}`);
-        return void 0;
-      }
-    }
-    function tryCreateSpan(tracingClient, request2, spanAttributes) {
-      try {
-        const { span, updatedOptions } = tracingClient.startSpan(`HTTP ${request2.method}`, { tracingOptions: request2.tracingOptions }, {
-          spanKind: "client",
-          spanAttributes
-        });
-        if (!span.isRecording()) {
-          span.end();
-          return void 0;
-        }
-        const headers = tracingClient.createRequestHeaders(updatedOptions.tracingOptions.tracingContext);
-        for (const [key, value] of Object.entries(headers)) {
-          request2.headers.set(key, value);
+    exports2.action3 = exports2.action2 = exports2.leaseId1 = exports2.action1 = exports2.proposedLeaseId = exports2.duration = exports2.action = exports2.comp10 = exports2.sourceLeaseId = exports2.sourceContainerName = exports2.comp9 = exports2.deletedContainerVersion = exports2.deletedContainerName = exports2.comp8 = exports2.containerAcl = exports2.comp7 = exports2.comp6 = exports2.ifUnmodifiedSince = exports2.ifModifiedSince = exports2.leaseId = exports2.preventEncryptionScopeOverride = exports2.defaultEncryptionScope = exports2.access = exports2.metadata = exports2.restype2 = exports2.where = exports2.comp5 = exports2.multipartContentType = exports2.contentLength = exports2.comp4 = exports2.body = exports2.restype1 = exports2.comp3 = exports2.keyInfo = exports2.include = exports2.maxPageSize = exports2.marker = exports2.prefix = exports2.comp2 = exports2.comp1 = exports2.accept1 = exports2.requestId = exports2.version = exports2.timeoutInSeconds = exports2.comp = exports2.restype = exports2.url = exports2.accept = exports2.blobServiceProperties = exports2.contentType = void 0;
+    exports2.fileRequestIntent = exports2.copySourceTags = exports2.copySourceAuthorization = exports2.sourceContentMD5 = exports2.xMsRequiresSync = exports2.legalHold1 = exports2.sealBlob = exports2.blobTagsString = exports2.copySource = exports2.sourceIfTags = exports2.sourceIfNoneMatch = exports2.sourceIfMatch = exports2.sourceIfUnmodifiedSince = exports2.sourceIfModifiedSince = exports2.rehydratePriority = exports2.tier = exports2.comp14 = exports2.encryptionScope = exports2.legalHold = exports2.comp13 = exports2.immutabilityPolicyMode = exports2.immutabilityPolicyExpiry = exports2.comp12 = exports2.blobContentDisposition = exports2.blobContentLanguage = exports2.blobContentEncoding = exports2.blobContentMD5 = exports2.blobContentType = exports2.blobCacheControl = exports2.expiresOn = exports2.expiryOptions = exports2.comp11 = exports2.blobDeleteType = exports2.deleteSnapshots = exports2.ifTags = exports2.ifNoneMatch = exports2.ifMatch = exports2.encryptionAlgorithm = exports2.encryptionKeySha256 = exports2.encryptionKey = exports2.rangeGetContentCRC64 = exports2.rangeGetContentMD5 = exports2.range = exports2.versionId = exports2.snapshot = exports2.delimiter = exports2.include1 = exports2.proposedLeaseId1 = exports2.action4 = exports2.breakPeriod = void 0;
+    exports2.listType = exports2.comp25 = exports2.blocks = exports2.blockId = exports2.comp24 = exports2.copySourceBlobProperties = exports2.blobType2 = exports2.comp23 = exports2.sourceRange1 = exports2.appendPosition = exports2.maxSize = exports2.comp22 = exports2.blobType1 = exports2.comp21 = exports2.sequenceNumberAction = exports2.prevSnapshotUrl = exports2.prevsnapshot = exports2.comp20 = exports2.range1 = exports2.sourceContentCrc64 = exports2.sourceRange = exports2.sourceUrl = exports2.pageWrite1 = exports2.ifSequenceNumberEqualTo = exports2.ifSequenceNumberLessThan = exports2.ifSequenceNumberLessThanOrEqualTo = exports2.pageWrite = exports2.comp19 = exports2.accept2 = exports2.body1 = exports2.contentType1 = exports2.blobSequenceNumber = exports2.blobContentLength = exports2.blobType = exports2.transactionalContentCrc64 = exports2.transactionalContentMD5 = exports2.tags = exports2.comp18 = exports2.comp17 = exports2.queryRequest = exports2.tier1 = exports2.comp16 = exports2.copyId = exports2.copyActionAbortConstant = exports2.comp15 = void 0;
+    var mappers_js_1 = require_mappers();
+    exports2.contentType = {
+      parameterPath: ["options", "contentType"],
+      mapper: {
+        defaultValue: "application/xml",
+        isConstant: true,
+        serializedName: "Content-Type",
+        type: {
+          name: "String"
         }
-        return { span, tracingContext: updatedOptions.tracingOptions.tracingContext };
-      } catch (e) {
-        log_js_1.logger.warning(`Skipping creating a tracing span due to an error: ${(0, core_util_1.getErrorMessage)(e)}`);
-        return void 0;
       }
-    }
-    function tryProcessError(span, error3) {
-      try {
-        span.setStatus({
-          status: "error",
-          error: (0, core_util_1.isError)(error3) ? error3 : void 0
-        });
-        if ((0, restError_js_1.isRestError)(error3) && error3.statusCode) {
-          span.setAttribute("http.status_code", error3.statusCode);
+    };
+    exports2.blobServiceProperties = {
+      parameterPath: "blobServiceProperties",
+      mapper: mappers_js_1.BlobServiceProperties
+    };
+    exports2.accept = {
+      parameterPath: "accept",
+      mapper: {
+        defaultValue: "application/xml",
+        isConstant: true,
+        serializedName: "Accept",
+        type: {
+          name: "String"
         }
-        span.end();
-      } catch (e) {
-        log_js_1.logger.warning(`Skipping tracing span processing due to an error: ${(0, core_util_1.getErrorMessage)(e)}`);
       }
-    }
-    function tryProcessResponse(span, response) {
-      try {
-        span.setAttribute("http.status_code", response.status);
-        const serviceRequestId = response.headers.get("x-ms-request-id");
-        if (serviceRequestId) {
-          span.setAttribute("serviceRequestId", serviceRequestId);
-        }
-        if (response.status >= 400) {
-          span.setStatus({
-            status: "error"
-          });
+    };
+    exports2.url = {
+      parameterPath: "url",
+      mapper: {
+        serializedName: "url",
+        required: true,
+        xmlName: "url",
+        type: {
+          name: "String"
+        }
+      },
+      skipEncoding: true
+    };
+    exports2.restype = {
+      parameterPath: "restype",
+      mapper: {
+        defaultValue: "service",
+        isConstant: true,
+        serializedName: "restype",
+        type: {
+          name: "String"
         }
-        span.end();
-      } catch (e) {
-        log_js_1.logger.warning(`Skipping tracing span processing due to an error: ${(0, core_util_1.getErrorMessage)(e)}`);
-      }
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/util/wrapAbortSignal.js
-var require_wrapAbortSignal = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/util/wrapAbortSignal.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.wrapAbortSignalLike = wrapAbortSignalLike;
-    function wrapAbortSignalLike(abortSignalLike) {
-      if (abortSignalLike instanceof AbortSignal) {
-        return { abortSignal: abortSignalLike };
-      }
-      if (abortSignalLike.aborted) {
-        return { abortSignal: AbortSignal.abort(abortSignalLike.reason) };
       }
-      const controller = new AbortController();
-      let needsCleanup = true;
-      function cleanup() {
-        if (needsCleanup) {
-          abortSignalLike.removeEventListener("abort", listener);
-          needsCleanup = false;
+    };
+    exports2.comp = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "properties",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
       }
-      function listener() {
-        controller.abort(abortSignalLike.reason);
-        cleanup();
+    };
+    exports2.timeoutInSeconds = {
+      parameterPath: ["options", "timeoutInSeconds"],
+      mapper: {
+        constraints: {
+          InclusiveMinimum: 0
+        },
+        serializedName: "timeout",
+        xmlName: "timeout",
+        type: {
+          name: "Number"
+        }
       }
-      abortSignalLike.addEventListener("abort", listener);
-      return { abortSignal: controller.signal, cleanup };
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/wrapAbortSignalLikePolicy.js
-var require_wrapAbortSignalLikePolicy = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/wrapAbortSignalLikePolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.wrapAbortSignalLikePolicyName = void 0;
-    exports2.wrapAbortSignalLikePolicy = wrapAbortSignalLikePolicy;
-    var wrapAbortSignal_js_1 = require_wrapAbortSignal();
-    exports2.wrapAbortSignalLikePolicyName = "wrapAbortSignalLikePolicy";
-    function wrapAbortSignalLikePolicy() {
-      return {
-        name: exports2.wrapAbortSignalLikePolicyName,
-        sendRequest: async (request2, next) => {
-          if (!request2.abortSignal) {
-            return next(request2);
-          }
-          const { abortSignal, cleanup } = (0, wrapAbortSignal_js_1.wrapAbortSignalLike)(request2.abortSignal);
-          request2.abortSignal = abortSignal;
-          try {
-            return await next(request2);
-          } finally {
-            cleanup?.();
-          }
+    };
+    exports2.version = {
+      parameterPath: "version",
+      mapper: {
+        defaultValue: "2025-11-05",
+        isConstant: true,
+        serializedName: "x-ms-version",
+        type: {
+          name: "String"
         }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/createPipelineFromOptions.js
-var require_createPipelineFromOptions2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/createPipelineFromOptions.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createPipelineFromOptions = createPipelineFromOptions;
-    var logPolicy_js_1 = require_logPolicy2();
-    var pipeline_js_1 = require_pipeline2();
-    var redirectPolicy_js_1 = require_redirectPolicy2();
-    var userAgentPolicy_js_1 = require_userAgentPolicy2();
-    var multipartPolicy_js_1 = require_multipartPolicy2();
-    var decompressResponsePolicy_js_1 = require_decompressResponsePolicy2();
-    var defaultRetryPolicy_js_1 = require_defaultRetryPolicy2();
-    var formDataPolicy_js_1 = require_formDataPolicy2();
-    var core_util_1 = require_commonjs6();
-    var proxyPolicy_js_1 = require_proxyPolicy2();
-    var setClientRequestIdPolicy_js_1 = require_setClientRequestIdPolicy();
-    var agentPolicy_js_1 = require_agentPolicy2();
-    var tlsPolicy_js_1 = require_tlsPolicy2();
-    var tracingPolicy_js_1 = require_tracingPolicy();
-    var wrapAbortSignalLikePolicy_js_1 = require_wrapAbortSignalLikePolicy();
-    function createPipelineFromOptions(options) {
-      const pipeline = (0, pipeline_js_1.createEmptyPipeline)();
-      if (core_util_1.isNodeLike) {
-        if (options.agent) {
-          pipeline.addPolicy((0, agentPolicy_js_1.agentPolicy)(options.agent));
+      }
+    };
+    exports2.requestId = {
+      parameterPath: ["options", "requestId"],
+      mapper: {
+        serializedName: "x-ms-client-request-id",
+        xmlName: "x-ms-client-request-id",
+        type: {
+          name: "String"
         }
-        if (options.tlsOptions) {
-          pipeline.addPolicy((0, tlsPolicy_js_1.tlsPolicy)(options.tlsOptions));
+      }
+    };
+    exports2.accept1 = {
+      parameterPath: "accept",
+      mapper: {
+        defaultValue: "application/xml",
+        isConstant: true,
+        serializedName: "Accept",
+        type: {
+          name: "String"
         }
-        pipeline.addPolicy((0, proxyPolicy_js_1.proxyPolicy)(options.proxyOptions));
-        pipeline.addPolicy((0, decompressResponsePolicy_js_1.decompressResponsePolicy)());
       }
-      pipeline.addPolicy((0, wrapAbortSignalLikePolicy_js_1.wrapAbortSignalLikePolicy)());
-      pipeline.addPolicy((0, formDataPolicy_js_1.formDataPolicy)(), { beforePolicies: [multipartPolicy_js_1.multipartPolicyName] });
-      pipeline.addPolicy((0, userAgentPolicy_js_1.userAgentPolicy)(options.userAgentOptions));
-      pipeline.addPolicy((0, setClientRequestIdPolicy_js_1.setClientRequestIdPolicy)(options.telemetryOptions?.clientRequestIdHeaderName));
-      pipeline.addPolicy((0, multipartPolicy_js_1.multipartPolicy)(), { afterPhase: "Deserialize" });
-      pipeline.addPolicy((0, defaultRetryPolicy_js_1.defaultRetryPolicy)(options.retryOptions), { phase: "Retry" });
-      pipeline.addPolicy((0, tracingPolicy_js_1.tracingPolicy)({ ...options.userAgentOptions, ...options.loggingOptions }), {
-        afterPhase: "Retry"
-      });
-      if (core_util_1.isNodeLike) {
-        pipeline.addPolicy((0, redirectPolicy_js_1.redirectPolicy)(options.redirectOptions), { afterPhase: "Retry" });
+    };
+    exports2.comp1 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "stats",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
       }
-      pipeline.addPolicy((0, logPolicy_js_1.logPolicy)(options.loggingOptions), { afterPhase: "Sign" });
-      return pipeline;
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/defaultHttpClient.js
-var require_defaultHttpClient2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/defaultHttpClient.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createDefaultHttpClient = createDefaultHttpClient;
-    var ts_http_runtime_1 = require_commonjs3();
-    var wrapAbortSignal_js_1 = require_wrapAbortSignal();
-    function createDefaultHttpClient() {
-      const client = (0, ts_http_runtime_1.createDefaultHttpClient)();
-      return {
-        async sendRequest(request2) {
-          const { abortSignal, cleanup } = request2.abortSignal ? (0, wrapAbortSignal_js_1.wrapAbortSignalLike)(request2.abortSignal) : {};
-          try {
-            request2.abortSignal = abortSignal;
-            return await client.sendRequest(request2);
-          } finally {
-            cleanup?.();
-          }
+    };
+    exports2.comp2 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "list",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/httpHeaders.js
-var require_httpHeaders2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/httpHeaders.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createHttpHeaders = createHttpHeaders;
-    var ts_http_runtime_1 = require_commonjs3();
-    function createHttpHeaders(rawHeaders) {
-      return (0, ts_http_runtime_1.createHttpHeaders)(rawHeaders);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/pipelineRequest.js
-var require_pipelineRequest2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/pipelineRequest.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createPipelineRequest = createPipelineRequest;
-    var ts_http_runtime_1 = require_commonjs3();
-    function createPipelineRequest(options) {
-      return (0, ts_http_runtime_1.createPipelineRequest)(options);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/exponentialRetryPolicy.js
-var require_exponentialRetryPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/exponentialRetryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.exponentialRetryPolicyName = void 0;
-    exports2.exponentialRetryPolicy = exponentialRetryPolicy;
-    var policies_1 = require_internal2();
-    exports2.exponentialRetryPolicyName = policies_1.exponentialRetryPolicyName;
-    function exponentialRetryPolicy(options = {}) {
-      return (0, policies_1.exponentialRetryPolicy)(options);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/systemErrorRetryPolicy.js
-var require_systemErrorRetryPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/systemErrorRetryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.systemErrorRetryPolicyName = void 0;
-    exports2.systemErrorRetryPolicy = systemErrorRetryPolicy;
-    var policies_1 = require_internal2();
-    exports2.systemErrorRetryPolicyName = policies_1.systemErrorRetryPolicyName;
-    function systemErrorRetryPolicy(options = {}) {
-      return (0, policies_1.systemErrorRetryPolicy)(options);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/throttlingRetryPolicy.js
-var require_throttlingRetryPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/throttlingRetryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.throttlingRetryPolicyName = void 0;
-    exports2.throttlingRetryPolicy = throttlingRetryPolicy;
-    var policies_1 = require_internal2();
-    exports2.throttlingRetryPolicyName = policies_1.throttlingRetryPolicyName;
-    function throttlingRetryPolicy(options = {}) {
-      return (0, policies_1.throttlingRetryPolicy)(options);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/retryPolicy.js
-var require_retryPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/retryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.retryPolicy = retryPolicy;
-    var logger_1 = require_commonjs4();
-    var constants_js_1 = require_constants13();
-    var policies_1 = require_internal2();
-    var retryPolicyLogger = (0, logger_1.createClientLogger)("core-rest-pipeline retryPolicy");
-    function retryPolicy(strategies, options = { maxRetries: constants_js_1.DEFAULT_RETRY_POLICY_COUNT }) {
-      return (0, policies_1.retryPolicy)(strategies, {
-        logger: retryPolicyLogger,
-        ...options
-      });
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/util/tokenCycler.js
-var require_tokenCycler = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/util/tokenCycler.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.DEFAULT_CYCLER_OPTIONS = void 0;
-    exports2.createTokenCycler = createTokenCycler;
-    var core_util_1 = require_commonjs6();
-    exports2.DEFAULT_CYCLER_OPTIONS = {
-      forcedRefreshWindowInMs: 1e3,
-      // Force waiting for a refresh 1s before the token expires
-      retryIntervalInMs: 3e3,
-      // Allow refresh attempts every 3s
-      refreshWindowInMs: 1e3 * 60 * 2
-      // Start refreshing 2m before expiry
+      }
     };
-    async function beginRefresh(getAccessToken, retryIntervalInMs, refreshTimeout) {
-      async function tryGetAccessToken() {
-        if (Date.now() < refreshTimeout) {
-          try {
-            return await getAccessToken();
-          } catch {
-            return null;
-          }
-        } else {
-          const finalToken = await getAccessToken();
-          if (finalToken === null) {
-            throw new Error("Failed to refresh access token.");
-          }
-          return finalToken;
+    exports2.prefix = {
+      parameterPath: ["options", "prefix"],
+      mapper: {
+        serializedName: "prefix",
+        xmlName: "prefix",
+        type: {
+          name: "String"
         }
       }
-      let token = await tryGetAccessToken();
-      while (token === null) {
-        await (0, core_util_1.delay)(retryIntervalInMs);
-        token = await tryGetAccessToken();
+    };
+    exports2.marker = {
+      parameterPath: ["options", "marker"],
+      mapper: {
+        serializedName: "marker",
+        xmlName: "marker",
+        type: {
+          name: "String"
+        }
       }
-      return token;
-    }
-    function createTokenCycler(credential, tokenCyclerOptions) {
-      let refreshWorker = null;
-      let token = null;
-      let tenantId;
-      const options = {
-        ...exports2.DEFAULT_CYCLER_OPTIONS,
-        ...tokenCyclerOptions
-      };
-      const cycler = {
-        /**
-         * Produces true if a refresh job is currently in progress.
-         */
-        get isRefreshing() {
-          return refreshWorker !== null;
+    };
+    exports2.maxPageSize = {
+      parameterPath: ["options", "maxPageSize"],
+      mapper: {
+        constraints: {
+          InclusiveMinimum: 1
         },
-        /**
-         * Produces true if the cycler SHOULD refresh (we are within the refresh
-         * window and not already refreshing)
-         */
-        get shouldRefresh() {
-          if (cycler.isRefreshing) {
-            return false;
-          }
-          if (token?.refreshAfterTimestamp && token.refreshAfterTimestamp < Date.now()) {
-            return true;
+        serializedName: "maxresults",
+        xmlName: "maxresults",
+        type: {
+          name: "Number"
+        }
+      }
+    };
+    exports2.include = {
+      parameterPath: ["options", "include"],
+      mapper: {
+        serializedName: "include",
+        xmlName: "include",
+        xmlElementName: "ListContainersIncludeType",
+        type: {
+          name: "Sequence",
+          element: {
+            type: {
+              name: "Enum",
+              allowedValues: ["metadata", "deleted", "system"]
+            }
           }
-          return (token?.expiresOnTimestamp ?? 0) - options.refreshWindowInMs < Date.now();
-        },
-        /**
-         * Produces true if the cycler MUST refresh (null or nearly-expired
-         * token).
-         */
-        get mustRefresh() {
-          return token === null || token.expiresOnTimestamp - options.forcedRefreshWindowInMs < Date.now();
         }
-      };
-      function refresh(scopes, getTokenOptions) {
-        if (!cycler.isRefreshing) {
-          const tryGetAccessToken = () => credential.getToken(scopes, getTokenOptions);
-          refreshWorker = beginRefresh(
-            tryGetAccessToken,
-            options.retryIntervalInMs,
-            // If we don't have a token, then we should timeout immediately
-            token?.expiresOnTimestamp ?? Date.now()
-          ).then((_token) => {
-            refreshWorker = null;
-            token = _token;
-            tenantId = getTokenOptions.tenantId;
-            return token;
-          }).catch((reason) => {
-            refreshWorker = null;
-            token = null;
-            tenantId = void 0;
-            throw reason;
-          });
+      },
+      collectionFormat: "CSV"
+    };
+    exports2.keyInfo = {
+      parameterPath: "keyInfo",
+      mapper: mappers_js_1.KeyInfo
+    };
+    exports2.comp3 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "userdelegationkey",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
-        return refreshWorker;
       }
-      return async (scopes, tokenOptions) => {
-        const hasClaimChallenge = Boolean(tokenOptions.claims);
-        const tenantIdChanged = tenantId !== tokenOptions.tenantId;
-        if (hasClaimChallenge) {
-          token = null;
+    };
+    exports2.restype1 = {
+      parameterPath: "restype",
+      mapper: {
+        defaultValue: "account",
+        isConstant: true,
+        serializedName: "restype",
+        type: {
+          name: "String"
         }
-        const mustRefresh = tenantIdChanged || hasClaimChallenge || cycler.mustRefresh;
-        if (mustRefresh) {
-          return refresh(scopes, tokenOptions);
+      }
+    };
+    exports2.body = {
+      parameterPath: "body",
+      mapper: {
+        serializedName: "body",
+        required: true,
+        xmlName: "body",
+        type: {
+          name: "Stream"
         }
-        if (cycler.shouldRefresh) {
-          refresh(scopes, tokenOptions);
+      }
+    };
+    exports2.comp4 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "batch",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
-        return token;
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/bearerTokenAuthenticationPolicy.js
-var require_bearerTokenAuthenticationPolicy = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/bearerTokenAuthenticationPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.bearerTokenAuthenticationPolicyName = void 0;
-    exports2.bearerTokenAuthenticationPolicy = bearerTokenAuthenticationPolicy;
-    exports2.parseChallenges = parseChallenges;
-    var tokenCycler_js_1 = require_tokenCycler();
-    var log_js_1 = require_log3();
-    var restError_js_1 = require_restError3();
-    exports2.bearerTokenAuthenticationPolicyName = "bearerTokenAuthenticationPolicy";
-    async function trySendRequest(request2, next) {
-      try {
-        return [await next(request2), void 0];
-      } catch (e) {
-        if ((0, restError_js_1.isRestError)(e) && e.response) {
-          return [e.response, e];
-        } else {
-          throw e;
+      }
+    };
+    exports2.contentLength = {
+      parameterPath: "contentLength",
+      mapper: {
+        serializedName: "Content-Length",
+        required: true,
+        xmlName: "Content-Length",
+        type: {
+          name: "Number"
+        }
+      }
+    };
+    exports2.multipartContentType = {
+      parameterPath: "multipartContentType",
+      mapper: {
+        serializedName: "Content-Type",
+        required: true,
+        xmlName: "Content-Type",
+        type: {
+          name: "String"
         }
       }
-    }
-    async function defaultAuthorizeRequest(options) {
-      const { scopes, getAccessToken, request: request2 } = options;
-      const getTokenOptions = {
-        abortSignal: request2.abortSignal,
-        tracingOptions: request2.tracingOptions,
-        enableCae: true
-      };
-      const accessToken = await getAccessToken(scopes, getTokenOptions);
-      if (accessToken) {
-        options.request.headers.set("Authorization", `Bearer ${accessToken.token}`);
+    };
+    exports2.comp5 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "blobs",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
       }
-    }
-    function isChallengeResponse(response) {
-      return response.status === 401 && response.headers.has("WWW-Authenticate");
-    }
-    async function authorizeRequestOnCaeChallenge(onChallengeOptions, caeClaims) {
-      const { scopes } = onChallengeOptions;
-      const accessToken = await onChallengeOptions.getAccessToken(scopes, {
-        enableCae: true,
-        claims: caeClaims
-      });
-      if (!accessToken) {
-        return false;
+    };
+    exports2.where = {
+      parameterPath: ["options", "where"],
+      mapper: {
+        serializedName: "where",
+        xmlName: "where",
+        type: {
+          name: "String"
+        }
       }
-      onChallengeOptions.request.headers.set("Authorization", `${accessToken.tokenType ?? "Bearer"} ${accessToken.token}`);
-      return true;
-    }
-    function bearerTokenAuthenticationPolicy(options) {
-      const { credential, scopes, challengeCallbacks } = options;
-      const logger = options.logger || log_js_1.logger;
-      const callbacks = {
-        authorizeRequest: challengeCallbacks?.authorizeRequest?.bind(challengeCallbacks) ?? defaultAuthorizeRequest,
-        authorizeRequestOnChallenge: challengeCallbacks?.authorizeRequestOnChallenge?.bind(challengeCallbacks)
-      };
-      const getAccessToken = credential ? (0, tokenCycler_js_1.createTokenCycler)(
-        credential
-        /* , options */
-      ) : () => Promise.resolve(null);
-      return {
-        name: exports2.bearerTokenAuthenticationPolicyName,
-        /**
-         * If there's no challenge parameter:
-         * - It will try to retrieve the token using the cache, or the credential's getToken.
-         * - Then it will try the next policy with or without the retrieved token.
-         *
-         * It uses the challenge parameters to:
-         * - Skip a first attempt to get the token from the credential if there's no cached token,
-         *   since it expects the token to be retrievable only after the challenge.
-         * - Prepare the outgoing request if the `prepareRequest` method has been provided.
-         * - Send an initial request to receive the challenge if it fails.
-         * - Process a challenge if the response contains it.
-         * - Retrieve a token with the challenge information, then re-send the request.
-         */
-        async sendRequest(request2, next) {
-          if (!request2.url.toLowerCase().startsWith("https://")) {
-            throw new Error("Bearer token authentication is not permitted for non-TLS protected (non-https) URLs.");
-          }
-          await callbacks.authorizeRequest({
-            scopes: Array.isArray(scopes) ? scopes : [scopes],
-            request: request2,
-            getAccessToken,
-            logger
-          });
-          let response;
-          let error3;
-          let shouldSendRequest;
-          [response, error3] = await trySendRequest(request2, next);
-          if (isChallengeResponse(response)) {
-            let claims = getCaeChallengeClaims(response.headers.get("WWW-Authenticate"));
-            if (claims) {
-              let parsedClaim;
-              try {
-                parsedClaim = atob(claims);
-              } catch (e) {
-                logger.warning(`The WWW-Authenticate header contains "claims" that cannot be parsed. Unable to perform the Continuous Access Evaluation authentication flow. Unparsable claims: ${claims}`);
-                return response;
-              }
-              shouldSendRequest = await authorizeRequestOnCaeChallenge({
-                scopes: Array.isArray(scopes) ? scopes : [scopes],
-                response,
-                request: request2,
-                getAccessToken,
-                logger
-              }, parsedClaim);
-              if (shouldSendRequest) {
-                [response, error3] = await trySendRequest(request2, next);
-              }
-            } else if (callbacks.authorizeRequestOnChallenge) {
-              shouldSendRequest = await callbacks.authorizeRequestOnChallenge({
-                scopes: Array.isArray(scopes) ? scopes : [scopes],
-                request: request2,
-                response,
-                getAccessToken,
-                logger
-              });
-              if (shouldSendRequest) {
-                [response, error3] = await trySendRequest(request2, next);
-              }
-              if (isChallengeResponse(response)) {
-                claims = getCaeChallengeClaims(response.headers.get("WWW-Authenticate"));
-                if (claims) {
-                  let parsedClaim;
-                  try {
-                    parsedClaim = atob(claims);
-                  } catch (e) {
-                    logger.warning(`The WWW-Authenticate header contains "claims" that cannot be parsed. Unable to perform the Continuous Access Evaluation authentication flow. Unparsable claims: ${claims}`);
-                    return response;
-                  }
-                  shouldSendRequest = await authorizeRequestOnCaeChallenge({
-                    scopes: Array.isArray(scopes) ? scopes : [scopes],
-                    response,
-                    request: request2,
-                    getAccessToken,
-                    logger
-                  }, parsedClaim);
-                  if (shouldSendRequest) {
-                    [response, error3] = await trySendRequest(request2, next);
-                  }
-                }
-              }
-            }
-          }
-          if (error3) {
-            throw error3;
-          } else {
-            return response;
-          }
+    };
+    exports2.restype2 = {
+      parameterPath: "restype",
+      mapper: {
+        defaultValue: "container",
+        isConstant: true,
+        serializedName: "restype",
+        type: {
+          name: "String"
         }
-      };
-    }
-    function parseChallenges(challenges) {
-      const challengeRegex = /(\w+)\s+((?:\w+=(?:"[^"]*"|[^,]*),?\s*)+)/g;
-      const paramRegex = /(\w+)="([^"]*)"/g;
-      const parsedChallenges = [];
-      let match;
-      while ((match = challengeRegex.exec(challenges)) !== null) {
-        const scheme = match[1];
-        const paramsString = match[2];
-        const params = {};
-        let paramMatch;
-        while ((paramMatch = paramRegex.exec(paramsString)) !== null) {
-          params[paramMatch[1]] = paramMatch[2];
+      }
+    };
+    exports2.metadata = {
+      parameterPath: ["options", "metadata"],
+      mapper: {
+        serializedName: "x-ms-meta",
+        xmlName: "x-ms-meta",
+        headerCollectionPrefix: "x-ms-meta-",
+        type: {
+          name: "Dictionary",
+          value: { type: { name: "String" } }
         }
-        parsedChallenges.push({ scheme, params });
       }
-      return parsedChallenges;
-    }
-    function getCaeChallengeClaims(challenges) {
-      if (!challenges) {
-        return;
+    };
+    exports2.access = {
+      parameterPath: ["options", "access"],
+      mapper: {
+        serializedName: "x-ms-blob-public-access",
+        xmlName: "x-ms-blob-public-access",
+        type: {
+          name: "Enum",
+          allowedValues: ["container", "blob"]
+        }
       }
-      const parsedChallenges = parseChallenges(challenges);
-      return parsedChallenges.find((x) => x.scheme === "Bearer" && x.params.claims && x.params.error === "insufficient_claims")?.params.claims;
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/ndJsonPolicy.js
-var require_ndJsonPolicy = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/ndJsonPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ndJsonPolicyName = void 0;
-    exports2.ndJsonPolicy = ndJsonPolicy;
-    exports2.ndJsonPolicyName = "ndJsonPolicy";
-    function ndJsonPolicy() {
-      return {
-        name: exports2.ndJsonPolicyName,
-        async sendRequest(request2, next) {
-          if (typeof request2.body === "string" && request2.body.startsWith("[")) {
-            const body = JSON.parse(request2.body);
-            if (Array.isArray(body)) {
-              request2.body = body.map((item) => JSON.stringify(item) + "\n").join("");
-            }
-          }
-          return next(request2);
+    };
+    exports2.defaultEncryptionScope = {
+      parameterPath: [
+        "options",
+        "containerEncryptionScope",
+        "defaultEncryptionScope"
+      ],
+      mapper: {
+        serializedName: "x-ms-default-encryption-scope",
+        xmlName: "x-ms-default-encryption-scope",
+        type: {
+          name: "String"
         }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/auxiliaryAuthenticationHeaderPolicy.js
-var require_auxiliaryAuthenticationHeaderPolicy = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/auxiliaryAuthenticationHeaderPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.auxiliaryAuthenticationHeaderPolicyName = void 0;
-    exports2.auxiliaryAuthenticationHeaderPolicy = auxiliaryAuthenticationHeaderPolicy;
-    var tokenCycler_js_1 = require_tokenCycler();
-    var log_js_1 = require_log3();
-    exports2.auxiliaryAuthenticationHeaderPolicyName = "auxiliaryAuthenticationHeaderPolicy";
-    var AUTHORIZATION_AUXILIARY_HEADER = "x-ms-authorization-auxiliary";
-    async function sendAuthorizeRequest(options) {
-      const { scopes, getAccessToken, request: request2 } = options;
-      const getTokenOptions = {
-        abortSignal: request2.abortSignal,
-        tracingOptions: request2.tracingOptions
-      };
-      return (await getAccessToken(scopes, getTokenOptions))?.token ?? "";
-    }
-    function auxiliaryAuthenticationHeaderPolicy(options) {
-      const { credentials, scopes } = options;
-      const logger = options.logger || log_js_1.logger;
-      const tokenCyclerMap = /* @__PURE__ */ new WeakMap();
-      return {
-        name: exports2.auxiliaryAuthenticationHeaderPolicyName,
-        async sendRequest(request2, next) {
-          if (!request2.url.toLowerCase().startsWith("https://")) {
-            throw new Error("Bearer token authentication for auxiliary header is not permitted for non-TLS protected (non-https) URLs.");
-          }
-          if (!credentials || credentials.length === 0) {
-            logger.info(`${exports2.auxiliaryAuthenticationHeaderPolicyName} header will not be set due to empty credentials.`);
-            return next(request2);
-          }
-          const tokenPromises = [];
-          for (const credential of credentials) {
-            let getAccessToken = tokenCyclerMap.get(credential);
-            if (!getAccessToken) {
-              getAccessToken = (0, tokenCycler_js_1.createTokenCycler)(credential);
-              tokenCyclerMap.set(credential, getAccessToken);
-            }
-            tokenPromises.push(sendAuthorizeRequest({
-              scopes: Array.isArray(scopes) ? scopes : [scopes],
-              request: request2,
-              getAccessToken,
-              logger
-            }));
-          }
-          const auxiliaryTokens = (await Promise.all(tokenPromises)).filter((token) => Boolean(token));
-          if (auxiliaryTokens.length === 0) {
-            logger.warning(`None of the auxiliary tokens are valid. ${AUTHORIZATION_AUXILIARY_HEADER} header will not be set.`);
-            return next(request2);
-          }
-          request2.headers.set(AUTHORIZATION_AUXILIARY_HEADER, auxiliaryTokens.map((token) => `Bearer ${token}`).join(", "));
-          return next(request2);
+      }
+    };
+    exports2.preventEncryptionScopeOverride = {
+      parameterPath: [
+        "options",
+        "containerEncryptionScope",
+        "preventEncryptionScopeOverride"
+      ],
+      mapper: {
+        serializedName: "x-ms-deny-encryption-scope-override",
+        xmlName: "x-ms-deny-encryption-scope-override",
+        type: {
+          name: "Boolean"
         }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/index.js
-var require_commonjs8 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createFileFromStream = exports2.createFile = exports2.agentPolicyName = exports2.agentPolicy = exports2.auxiliaryAuthenticationHeaderPolicyName = exports2.auxiliaryAuthenticationHeaderPolicy = exports2.ndJsonPolicyName = exports2.ndJsonPolicy = exports2.bearerTokenAuthenticationPolicyName = exports2.bearerTokenAuthenticationPolicy = exports2.formDataPolicyName = exports2.formDataPolicy = exports2.tlsPolicyName = exports2.tlsPolicy = exports2.userAgentPolicyName = exports2.userAgentPolicy = exports2.defaultRetryPolicy = exports2.tracingPolicyName = exports2.tracingPolicy = exports2.retryPolicy = exports2.throttlingRetryPolicyName = exports2.throttlingRetryPolicy = exports2.systemErrorRetryPolicyName = exports2.systemErrorRetryPolicy = exports2.redirectPolicyName = exports2.redirectPolicy = exports2.getDefaultProxySettings = exports2.proxyPolicyName = exports2.proxyPolicy = exports2.multipartPolicyName = exports2.multipartPolicy = exports2.logPolicyName = exports2.logPolicy = exports2.setClientRequestIdPolicyName = exports2.setClientRequestIdPolicy = exports2.exponentialRetryPolicyName = exports2.exponentialRetryPolicy = exports2.decompressResponsePolicyName = exports2.decompressResponsePolicy = exports2.isRestError = exports2.RestError = exports2.createPipelineRequest = exports2.createHttpHeaders = exports2.createDefaultHttpClient = exports2.createPipelineFromOptions = exports2.createEmptyPipeline = void 0;
-    var pipeline_js_1 = require_pipeline2();
-    Object.defineProperty(exports2, "createEmptyPipeline", { enumerable: true, get: function() {
-      return pipeline_js_1.createEmptyPipeline;
-    } });
-    var createPipelineFromOptions_js_1 = require_createPipelineFromOptions2();
-    Object.defineProperty(exports2, "createPipelineFromOptions", { enumerable: true, get: function() {
-      return createPipelineFromOptions_js_1.createPipelineFromOptions;
-    } });
-    var defaultHttpClient_js_1 = require_defaultHttpClient2();
-    Object.defineProperty(exports2, "createDefaultHttpClient", { enumerable: true, get: function() {
-      return defaultHttpClient_js_1.createDefaultHttpClient;
-    } });
-    var httpHeaders_js_1 = require_httpHeaders2();
-    Object.defineProperty(exports2, "createHttpHeaders", { enumerable: true, get: function() {
-      return httpHeaders_js_1.createHttpHeaders;
-    } });
-    var pipelineRequest_js_1 = require_pipelineRequest2();
-    Object.defineProperty(exports2, "createPipelineRequest", { enumerable: true, get: function() {
-      return pipelineRequest_js_1.createPipelineRequest;
-    } });
-    var restError_js_1 = require_restError3();
-    Object.defineProperty(exports2, "RestError", { enumerable: true, get: function() {
-      return restError_js_1.RestError;
-    } });
-    Object.defineProperty(exports2, "isRestError", { enumerable: true, get: function() {
-      return restError_js_1.isRestError;
-    } });
-    var decompressResponsePolicy_js_1 = require_decompressResponsePolicy2();
-    Object.defineProperty(exports2, "decompressResponsePolicy", { enumerable: true, get: function() {
-      return decompressResponsePolicy_js_1.decompressResponsePolicy;
-    } });
-    Object.defineProperty(exports2, "decompressResponsePolicyName", { enumerable: true, get: function() {
-      return decompressResponsePolicy_js_1.decompressResponsePolicyName;
-    } });
-    var exponentialRetryPolicy_js_1 = require_exponentialRetryPolicy2();
-    Object.defineProperty(exports2, "exponentialRetryPolicy", { enumerable: true, get: function() {
-      return exponentialRetryPolicy_js_1.exponentialRetryPolicy;
-    } });
-    Object.defineProperty(exports2, "exponentialRetryPolicyName", { enumerable: true, get: function() {
-      return exponentialRetryPolicy_js_1.exponentialRetryPolicyName;
-    } });
-    var setClientRequestIdPolicy_js_1 = require_setClientRequestIdPolicy();
-    Object.defineProperty(exports2, "setClientRequestIdPolicy", { enumerable: true, get: function() {
-      return setClientRequestIdPolicy_js_1.setClientRequestIdPolicy;
-    } });
-    Object.defineProperty(exports2, "setClientRequestIdPolicyName", { enumerable: true, get: function() {
-      return setClientRequestIdPolicy_js_1.setClientRequestIdPolicyName;
-    } });
-    var logPolicy_js_1 = require_logPolicy2();
-    Object.defineProperty(exports2, "logPolicy", { enumerable: true, get: function() {
-      return logPolicy_js_1.logPolicy;
-    } });
-    Object.defineProperty(exports2, "logPolicyName", { enumerable: true, get: function() {
-      return logPolicy_js_1.logPolicyName;
-    } });
-    var multipartPolicy_js_1 = require_multipartPolicy2();
-    Object.defineProperty(exports2, "multipartPolicy", { enumerable: true, get: function() {
-      return multipartPolicy_js_1.multipartPolicy;
-    } });
-    Object.defineProperty(exports2, "multipartPolicyName", { enumerable: true, get: function() {
-      return multipartPolicy_js_1.multipartPolicyName;
-    } });
-    var proxyPolicy_js_1 = require_proxyPolicy2();
-    Object.defineProperty(exports2, "proxyPolicy", { enumerable: true, get: function() {
-      return proxyPolicy_js_1.proxyPolicy;
-    } });
-    Object.defineProperty(exports2, "proxyPolicyName", { enumerable: true, get: function() {
-      return proxyPolicy_js_1.proxyPolicyName;
-    } });
-    Object.defineProperty(exports2, "getDefaultProxySettings", { enumerable: true, get: function() {
-      return proxyPolicy_js_1.getDefaultProxySettings;
-    } });
-    var redirectPolicy_js_1 = require_redirectPolicy2();
-    Object.defineProperty(exports2, "redirectPolicy", { enumerable: true, get: function() {
-      return redirectPolicy_js_1.redirectPolicy;
-    } });
-    Object.defineProperty(exports2, "redirectPolicyName", { enumerable: true, get: function() {
-      return redirectPolicy_js_1.redirectPolicyName;
-    } });
-    var systemErrorRetryPolicy_js_1 = require_systemErrorRetryPolicy2();
-    Object.defineProperty(exports2, "systemErrorRetryPolicy", { enumerable: true, get: function() {
-      return systemErrorRetryPolicy_js_1.systemErrorRetryPolicy;
-    } });
-    Object.defineProperty(exports2, "systemErrorRetryPolicyName", { enumerable: true, get: function() {
-      return systemErrorRetryPolicy_js_1.systemErrorRetryPolicyName;
-    } });
-    var throttlingRetryPolicy_js_1 = require_throttlingRetryPolicy2();
-    Object.defineProperty(exports2, "throttlingRetryPolicy", { enumerable: true, get: function() {
-      return throttlingRetryPolicy_js_1.throttlingRetryPolicy;
-    } });
-    Object.defineProperty(exports2, "throttlingRetryPolicyName", { enumerable: true, get: function() {
-      return throttlingRetryPolicy_js_1.throttlingRetryPolicyName;
-    } });
-    var retryPolicy_js_1 = require_retryPolicy2();
-    Object.defineProperty(exports2, "retryPolicy", { enumerable: true, get: function() {
-      return retryPolicy_js_1.retryPolicy;
-    } });
-    var tracingPolicy_js_1 = require_tracingPolicy();
-    Object.defineProperty(exports2, "tracingPolicy", { enumerable: true, get: function() {
-      return tracingPolicy_js_1.tracingPolicy;
-    } });
-    Object.defineProperty(exports2, "tracingPolicyName", { enumerable: true, get: function() {
-      return tracingPolicy_js_1.tracingPolicyName;
-    } });
-    var defaultRetryPolicy_js_1 = require_defaultRetryPolicy2();
-    Object.defineProperty(exports2, "defaultRetryPolicy", { enumerable: true, get: function() {
-      return defaultRetryPolicy_js_1.defaultRetryPolicy;
-    } });
-    var userAgentPolicy_js_1 = require_userAgentPolicy2();
-    Object.defineProperty(exports2, "userAgentPolicy", { enumerable: true, get: function() {
-      return userAgentPolicy_js_1.userAgentPolicy;
-    } });
-    Object.defineProperty(exports2, "userAgentPolicyName", { enumerable: true, get: function() {
-      return userAgentPolicy_js_1.userAgentPolicyName;
-    } });
-    var tlsPolicy_js_1 = require_tlsPolicy2();
-    Object.defineProperty(exports2, "tlsPolicy", { enumerable: true, get: function() {
-      return tlsPolicy_js_1.tlsPolicy;
-    } });
-    Object.defineProperty(exports2, "tlsPolicyName", { enumerable: true, get: function() {
-      return tlsPolicy_js_1.tlsPolicyName;
-    } });
-    var formDataPolicy_js_1 = require_formDataPolicy2();
-    Object.defineProperty(exports2, "formDataPolicy", { enumerable: true, get: function() {
-      return formDataPolicy_js_1.formDataPolicy;
-    } });
-    Object.defineProperty(exports2, "formDataPolicyName", { enumerable: true, get: function() {
-      return formDataPolicy_js_1.formDataPolicyName;
-    } });
-    var bearerTokenAuthenticationPolicy_js_1 = require_bearerTokenAuthenticationPolicy();
-    Object.defineProperty(exports2, "bearerTokenAuthenticationPolicy", { enumerable: true, get: function() {
-      return bearerTokenAuthenticationPolicy_js_1.bearerTokenAuthenticationPolicy;
-    } });
-    Object.defineProperty(exports2, "bearerTokenAuthenticationPolicyName", { enumerable: true, get: function() {
-      return bearerTokenAuthenticationPolicy_js_1.bearerTokenAuthenticationPolicyName;
-    } });
-    var ndJsonPolicy_js_1 = require_ndJsonPolicy();
-    Object.defineProperty(exports2, "ndJsonPolicy", { enumerable: true, get: function() {
-      return ndJsonPolicy_js_1.ndJsonPolicy;
-    } });
-    Object.defineProperty(exports2, "ndJsonPolicyName", { enumerable: true, get: function() {
-      return ndJsonPolicy_js_1.ndJsonPolicyName;
-    } });
-    var auxiliaryAuthenticationHeaderPolicy_js_1 = require_auxiliaryAuthenticationHeaderPolicy();
-    Object.defineProperty(exports2, "auxiliaryAuthenticationHeaderPolicy", { enumerable: true, get: function() {
-      return auxiliaryAuthenticationHeaderPolicy_js_1.auxiliaryAuthenticationHeaderPolicy;
-    } });
-    Object.defineProperty(exports2, "auxiliaryAuthenticationHeaderPolicyName", { enumerable: true, get: function() {
-      return auxiliaryAuthenticationHeaderPolicy_js_1.auxiliaryAuthenticationHeaderPolicyName;
-    } });
-    var agentPolicy_js_1 = require_agentPolicy2();
-    Object.defineProperty(exports2, "agentPolicy", { enumerable: true, get: function() {
-      return agentPolicy_js_1.agentPolicy;
-    } });
-    Object.defineProperty(exports2, "agentPolicyName", { enumerable: true, get: function() {
-      return agentPolicy_js_1.agentPolicyName;
-    } });
-    var file_js_1 = require_file3();
-    Object.defineProperty(exports2, "createFile", { enumerable: true, get: function() {
-      return file_js_1.createFile;
-    } });
-    Object.defineProperty(exports2, "createFileFromStream", { enumerable: true, get: function() {
-      return file_js_1.createFileFromStream;
-    } });
-  }
-});
-
-// node_modules/@azure/core-auth/dist/commonjs/azureKeyCredential.js
-var require_azureKeyCredential = __commonJS({
-  "node_modules/@azure/core-auth/dist/commonjs/azureKeyCredential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AzureKeyCredential = void 0;
-    var AzureKeyCredential = class {
-      _key;
-      /**
-       * The value of the key to be used in authentication
-       */
-      get key() {
-        return this._key;
       }
-      /**
-       * Create an instance of an AzureKeyCredential for use
-       * with a service client.
-       *
-       * @param key - The initial value of the key to use in authentication
-       */
-      constructor(key) {
-        if (!key) {
-          throw new Error("key must be a non-empty string");
+    };
+    exports2.leaseId = {
+      parameterPath: ["options", "leaseAccessConditions", "leaseId"],
+      mapper: {
+        serializedName: "x-ms-lease-id",
+        xmlName: "x-ms-lease-id",
+        type: {
+          name: "String"
         }
-        this._key = key;
       }
-      /**
-       * Change the value of the key.
-       *
-       * Updates will take effect upon the next request after
-       * updating the key value.
-       *
-       * @param newKey - The new key value to be used
-       */
-      update(newKey) {
-        this._key = newKey;
+    };
+    exports2.ifModifiedSince = {
+      parameterPath: ["options", "modifiedAccessConditions", "ifModifiedSince"],
+      mapper: {
+        serializedName: "If-Modified-Since",
+        xmlName: "If-Modified-Since",
+        type: {
+          name: "DateTimeRfc1123"
+        }
       }
     };
-    exports2.AzureKeyCredential = AzureKeyCredential;
-  }
-});
-
-// node_modules/@azure/core-auth/dist/commonjs/keyCredential.js
-var require_keyCredential = __commonJS({
-  "node_modules/@azure/core-auth/dist/commonjs/keyCredential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isKeyCredential = isKeyCredential;
-    var core_util_1 = require_commonjs6();
-    function isKeyCredential(credential) {
-      return (0, core_util_1.isObjectWithProperties)(credential, ["key"]) && typeof credential.key === "string";
-    }
-  }
-});
-
-// node_modules/@azure/core-auth/dist/commonjs/azureNamedKeyCredential.js
-var require_azureNamedKeyCredential = __commonJS({
-  "node_modules/@azure/core-auth/dist/commonjs/azureNamedKeyCredential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AzureNamedKeyCredential = void 0;
-    exports2.isNamedKeyCredential = isNamedKeyCredential;
-    var core_util_1 = require_commonjs6();
-    var AzureNamedKeyCredential = class {
-      _key;
-      _name;
-      /**
-       * The value of the key to be used in authentication.
-       */
-      get key() {
-        return this._key;
+    exports2.ifUnmodifiedSince = {
+      parameterPath: ["options", "modifiedAccessConditions", "ifUnmodifiedSince"],
+      mapper: {
+        serializedName: "If-Unmodified-Since",
+        xmlName: "If-Unmodified-Since",
+        type: {
+          name: "DateTimeRfc1123"
+        }
       }
-      /**
-       * The value of the name to be used in authentication.
-       */
-      get name() {
-        return this._name;
+    };
+    exports2.comp6 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "metadata",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
       }
-      /**
-       * Create an instance of an AzureNamedKeyCredential for use
-       * with a service client.
-       *
-       * @param name - The initial value of the name to use in authentication.
-       * @param key - The initial value of the key to use in authentication.
-       */
-      constructor(name, key) {
-        if (!name || !key) {
-          throw new TypeError("name and key must be non-empty strings");
+    };
+    exports2.comp7 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "acl",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
-        this._name = name;
-        this._key = key;
       }
-      /**
-       * Change the value of the key.
-       *
-       * Updates will take effect upon the next request after
-       * updating the key value.
-       *
-       * @param newName - The new name value to be used.
-       * @param newKey - The new key value to be used.
-       */
-      update(newName, newKey) {
-        if (!newName || !newKey) {
-          throw new TypeError("newName and newKey must be non-empty strings");
+    };
+    exports2.containerAcl = {
+      parameterPath: ["options", "containerAcl"],
+      mapper: {
+        serializedName: "containerAcl",
+        xmlName: "SignedIdentifiers",
+        xmlIsWrapped: true,
+        xmlElementName: "SignedIdentifier",
+        type: {
+          name: "Sequence",
+          element: {
+            type: {
+              name: "Composite",
+              className: "SignedIdentifier"
+            }
+          }
         }
-        this._name = newName;
-        this._key = newKey;
       }
     };
-    exports2.AzureNamedKeyCredential = AzureNamedKeyCredential;
-    function isNamedKeyCredential(credential) {
-      return (0, core_util_1.isObjectWithProperties)(credential, ["name", "key"]) && typeof credential.key === "string" && typeof credential.name === "string";
-    }
-  }
-});
-
-// node_modules/@azure/core-auth/dist/commonjs/azureSASCredential.js
-var require_azureSASCredential = __commonJS({
-  "node_modules/@azure/core-auth/dist/commonjs/azureSASCredential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AzureSASCredential = void 0;
-    exports2.isSASCredential = isSASCredential;
-    var core_util_1 = require_commonjs6();
-    var AzureSASCredential = class {
-      _signature;
-      /**
-       * The value of the shared access signature to be used in authentication
-       */
-      get signature() {
-        return this._signature;
+    exports2.comp8 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "undelete",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
       }
-      /**
-       * Create an instance of an AzureSASCredential for use
-       * with a service client.
-       *
-       * @param signature - The initial value of the shared access signature to use in authentication
-       */
-      constructor(signature) {
-        if (!signature) {
-          throw new Error("shared access signature must be a non-empty string");
+    };
+    exports2.deletedContainerName = {
+      parameterPath: ["options", "deletedContainerName"],
+      mapper: {
+        serializedName: "x-ms-deleted-container-name",
+        xmlName: "x-ms-deleted-container-name",
+        type: {
+          name: "String"
         }
-        this._signature = signature;
       }
-      /**
-       * Change the value of the signature.
-       *
-       * Updates will take effect upon the next request after
-       * updating the signature value.
-       *
-       * @param newSignature - The new shared access signature value to be used
-       */
-      update(newSignature) {
-        if (!newSignature) {
-          throw new Error("shared access signature must be a non-empty string");
+    };
+    exports2.deletedContainerVersion = {
+      parameterPath: ["options", "deletedContainerVersion"],
+      mapper: {
+        serializedName: "x-ms-deleted-container-version",
+        xmlName: "x-ms-deleted-container-version",
+        type: {
+          name: "String"
         }
-        this._signature = newSignature;
       }
     };
-    exports2.AzureSASCredential = AzureSASCredential;
-    function isSASCredential(credential) {
-      return (0, core_util_1.isObjectWithProperties)(credential, ["signature"]) && typeof credential.signature === "string";
-    }
-  }
-});
-
-// node_modules/@azure/core-auth/dist/commonjs/tokenCredential.js
-var require_tokenCredential = __commonJS({
-  "node_modules/@azure/core-auth/dist/commonjs/tokenCredential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isBearerToken = isBearerToken;
-    exports2.isPopToken = isPopToken;
-    exports2.isTokenCredential = isTokenCredential;
-    function isBearerToken(accessToken) {
-      return !accessToken.tokenType || accessToken.tokenType === "Bearer";
-    }
-    function isPopToken(accessToken) {
-      return accessToken.tokenType === "pop";
-    }
-    function isTokenCredential(credential) {
-      const castCredential = credential;
-      return castCredential && typeof castCredential.getToken === "function" && (castCredential.signRequest === void 0 || castCredential.getToken.length > 0);
-    }
-  }
-});
-
-// node_modules/@azure/core-auth/dist/commonjs/index.js
-var require_commonjs9 = __commonJS({
-  "node_modules/@azure/core-auth/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isTokenCredential = exports2.isSASCredential = exports2.AzureSASCredential = exports2.isNamedKeyCredential = exports2.AzureNamedKeyCredential = exports2.isKeyCredential = exports2.AzureKeyCredential = void 0;
-    var azureKeyCredential_js_1 = require_azureKeyCredential();
-    Object.defineProperty(exports2, "AzureKeyCredential", { enumerable: true, get: function() {
-      return azureKeyCredential_js_1.AzureKeyCredential;
-    } });
-    var keyCredential_js_1 = require_keyCredential();
-    Object.defineProperty(exports2, "isKeyCredential", { enumerable: true, get: function() {
-      return keyCredential_js_1.isKeyCredential;
-    } });
-    var azureNamedKeyCredential_js_1 = require_azureNamedKeyCredential();
-    Object.defineProperty(exports2, "AzureNamedKeyCredential", { enumerable: true, get: function() {
-      return azureNamedKeyCredential_js_1.AzureNamedKeyCredential;
-    } });
-    Object.defineProperty(exports2, "isNamedKeyCredential", { enumerable: true, get: function() {
-      return azureNamedKeyCredential_js_1.isNamedKeyCredential;
-    } });
-    var azureSASCredential_js_1 = require_azureSASCredential();
-    Object.defineProperty(exports2, "AzureSASCredential", { enumerable: true, get: function() {
-      return azureSASCredential_js_1.AzureSASCredential;
-    } });
-    Object.defineProperty(exports2, "isSASCredential", { enumerable: true, get: function() {
-      return azureSASCredential_js_1.isSASCredential;
-    } });
-    var tokenCredential_js_1 = require_tokenCredential();
-    Object.defineProperty(exports2, "isTokenCredential", { enumerable: true, get: function() {
-      return tokenCredential_js_1.isTokenCredential;
-    } });
-  }
-});
-
-// node_modules/@azure/core-http-compat/dist/commonjs/policies/disableKeepAlivePolicy.js
-var require_disableKeepAlivePolicy = __commonJS({
-  "node_modules/@azure/core-http-compat/dist/commonjs/policies/disableKeepAlivePolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.disableKeepAlivePolicyName = void 0;
-    exports2.createDisableKeepAlivePolicy = createDisableKeepAlivePolicy;
-    exports2.pipelineContainsDisableKeepAlivePolicy = pipelineContainsDisableKeepAlivePolicy;
-    exports2.disableKeepAlivePolicyName = "DisableKeepAlivePolicy";
-    function createDisableKeepAlivePolicy() {
-      return {
-        name: exports2.disableKeepAlivePolicyName,
-        async sendRequest(request2, next) {
-          request2.disableKeepAlive = true;
-          return next(request2);
+    exports2.comp9 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "rename",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
-      };
-    }
-    function pipelineContainsDisableKeepAlivePolicy(pipeline) {
-      return pipeline.getOrderedPolicies().some((policy) => policy.name === exports2.disableKeepAlivePolicyName);
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/base64.js
-var require_base642 = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/base64.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.encodeString = encodeString;
-    exports2.encodeByteArray = encodeByteArray;
-    exports2.decodeString = decodeString;
-    exports2.decodeStringToString = decodeStringToString;
-    function encodeString(value) {
-      return Buffer.from(value).toString("base64");
-    }
-    function encodeByteArray(value) {
-      const bufferValue = value instanceof Buffer ? value : Buffer.from(value.buffer);
-      return bufferValue.toString("base64");
-    }
-    function decodeString(value) {
-      return Buffer.from(value, "base64");
-    }
-    function decodeStringToString(value) {
-      return Buffer.from(value, "base64").toString();
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/interfaces.js
-var require_interfaces = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/interfaces.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.XML_CHARKEY = exports2.XML_ATTRKEY = void 0;
-    exports2.XML_ATTRKEY = "$";
-    exports2.XML_CHARKEY = "_";
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/utils.js
-var require_utils6 = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/utils.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isPrimitiveBody = isPrimitiveBody;
-    exports2.isDuration = isDuration;
-    exports2.isValidUuid = isValidUuid;
-    exports2.flattenResponse = flattenResponse;
-    function isPrimitiveBody(value, mapperTypeName) {
-      return mapperTypeName !== "Composite" && mapperTypeName !== "Dictionary" && (typeof value === "string" || typeof value === "number" || typeof value === "boolean" || mapperTypeName?.match(/^(Date|DateTime|DateTimeRfc1123|UnixTime|ByteArray|Base64Url)$/i) !== null || value === void 0 || value === null);
-    }
-    var validateISODuration = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;
-    function isDuration(value) {
-      return validateISODuration.test(value);
-    }
-    var validUuidRegex = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/i;
-    function isValidUuid(uuid) {
-      return validUuidRegex.test(uuid);
-    }
-    function handleNullableResponseAndWrappableBody(responseObject) {
-      const combinedHeadersAndBody = {
-        ...responseObject.headers,
-        ...responseObject.body
-      };
-      if (responseObject.hasNullableType && Object.getOwnPropertyNames(combinedHeadersAndBody).length === 0) {
-        return responseObject.shouldWrapBody ? { body: null } : null;
-      } else {
-        return responseObject.shouldWrapBody ? {
-          ...responseObject.headers,
-          body: responseObject.body
-        } : combinedHeadersAndBody;
       }
-    }
-    function flattenResponse(fullResponse, responseSpec) {
-      const parsedHeaders = fullResponse.parsedHeaders;
-      if (fullResponse.request.method === "HEAD") {
-        return {
-          ...parsedHeaders,
-          body: fullResponse.parsedBody
-        };
+    };
+    exports2.sourceContainerName = {
+      parameterPath: "sourceContainerName",
+      mapper: {
+        serializedName: "x-ms-source-container-name",
+        required: true,
+        xmlName: "x-ms-source-container-name",
+        type: {
+          name: "String"
+        }
       }
-      const bodyMapper = responseSpec && responseSpec.bodyMapper;
-      const isNullable = Boolean(bodyMapper?.nullable);
-      const expectedBodyTypeName = bodyMapper?.type.name;
-      if (expectedBodyTypeName === "Stream") {
-        return {
-          ...parsedHeaders,
-          blobBody: fullResponse.blobBody,
-          readableStreamBody: fullResponse.readableStreamBody
-        };
+    };
+    exports2.sourceLeaseId = {
+      parameterPath: ["options", "sourceLeaseId"],
+      mapper: {
+        serializedName: "x-ms-source-lease-id",
+        xmlName: "x-ms-source-lease-id",
+        type: {
+          name: "String"
+        }
       }
-      const modelProperties = expectedBodyTypeName === "Composite" && bodyMapper.type.modelProperties || {};
-      const isPageableResponse = Object.keys(modelProperties).some((k) => modelProperties[k].serializedName === "");
-      if (expectedBodyTypeName === "Sequence" || isPageableResponse) {
-        const arrayResponse = fullResponse.parsedBody ?? [];
-        for (const key of Object.keys(modelProperties)) {
-          if (modelProperties[key].serializedName) {
-            arrayResponse[key] = fullResponse.parsedBody?.[key];
-          }
+    };
+    exports2.comp10 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "lease",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
-        if (parsedHeaders) {
-          for (const key of Object.keys(parsedHeaders)) {
-            arrayResponse[key] = parsedHeaders[key];
-          }
+      }
+    };
+    exports2.action = {
+      parameterPath: "action",
+      mapper: {
+        defaultValue: "acquire",
+        isConstant: true,
+        serializedName: "x-ms-lease-action",
+        type: {
+          name: "String"
         }
-        return isNullable && !fullResponse.parsedBody && !parsedHeaders && Object.getOwnPropertyNames(modelProperties).length === 0 ? null : arrayResponse;
       }
-      return handleNullableResponseAndWrappableBody({
-        body: fullResponse.parsedBody,
-        headers: parsedHeaders,
-        hasNullableType: isNullable,
-        shouldWrapBody: isPrimitiveBody(fullResponse.parsedBody, expectedBodyTypeName)
-      });
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/serializer.js
-var require_serializer = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/serializer.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.MapperTypeNames = void 0;
-    exports2.createSerializer = createSerializer;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var base64 = tslib_1.__importStar(require_base642());
-    var interfaces_js_1 = require_interfaces();
-    var utils_js_1 = require_utils6();
-    var SerializerImpl = class {
-      modelMappers;
-      isXML;
-      constructor(modelMappers = {}, isXML = false) {
-        this.modelMappers = modelMappers;
-        this.isXML = isXML;
+    };
+    exports2.duration = {
+      parameterPath: ["options", "duration"],
+      mapper: {
+        serializedName: "x-ms-lease-duration",
+        xmlName: "x-ms-lease-duration",
+        type: {
+          name: "Number"
+        }
       }
-      /**
-       * @deprecated Removing the constraints validation on client side.
-       */
-      validateConstraints(mapper, value, objectName) {
-        const failValidation = (constraintName, constraintValue) => {
-          throw new Error(`"${objectName}" with value "${value}" should satisfy the constraint "${constraintName}": ${constraintValue}.`);
-        };
-        if (mapper.constraints && value !== void 0 && value !== null) {
-          const { ExclusiveMaximum, ExclusiveMinimum, InclusiveMaximum, InclusiveMinimum, MaxItems, MaxLength, MinItems, MinLength, MultipleOf, Pattern, UniqueItems } = mapper.constraints;
-          if (ExclusiveMaximum !== void 0 && value >= ExclusiveMaximum) {
-            failValidation("ExclusiveMaximum", ExclusiveMaximum);
-          }
-          if (ExclusiveMinimum !== void 0 && value <= ExclusiveMinimum) {
-            failValidation("ExclusiveMinimum", ExclusiveMinimum);
-          }
-          if (InclusiveMaximum !== void 0 && value > InclusiveMaximum) {
-            failValidation("InclusiveMaximum", InclusiveMaximum);
-          }
-          if (InclusiveMinimum !== void 0 && value < InclusiveMinimum) {
-            failValidation("InclusiveMinimum", InclusiveMinimum);
-          }
-          if (MaxItems !== void 0 && value.length > MaxItems) {
-            failValidation("MaxItems", MaxItems);
-          }
-          if (MaxLength !== void 0 && value.length > MaxLength) {
-            failValidation("MaxLength", MaxLength);
-          }
-          if (MinItems !== void 0 && value.length < MinItems) {
-            failValidation("MinItems", MinItems);
-          }
-          if (MinLength !== void 0 && value.length < MinLength) {
-            failValidation("MinLength", MinLength);
-          }
-          if (MultipleOf !== void 0 && value % MultipleOf !== 0) {
-            failValidation("MultipleOf", MultipleOf);
-          }
-          if (Pattern) {
-            const pattern = typeof Pattern === "string" ? new RegExp(Pattern) : Pattern;
-            if (typeof value !== "string" || value.match(pattern) === null) {
-              failValidation("Pattern", Pattern);
-            }
-          }
-          if (UniqueItems && value.some((item, i, ar) => ar.indexOf(item) !== i)) {
-            failValidation("UniqueItems", UniqueItems);
-          }
+    };
+    exports2.proposedLeaseId = {
+      parameterPath: ["options", "proposedLeaseId"],
+      mapper: {
+        serializedName: "x-ms-proposed-lease-id",
+        xmlName: "x-ms-proposed-lease-id",
+        type: {
+          name: "String"
         }
       }
-      /**
-       * Serialize the given object based on its metadata defined in the mapper
-       *
-       * @param mapper - The mapper which defines the metadata of the serializable object
-       *
-       * @param object - A valid Javascript object to be serialized
-       *
-       * @param objectName - Name of the serialized object
-       *
-       * @param options - additional options to serialization
-       *
-       * @returns A valid serialized Javascript object
-       */
-      serialize(mapper, object, objectName, options = { xml: {} }) {
-        const updatedOptions = {
-          xml: {
-            rootName: options.xml.rootName ?? "",
-            includeRoot: options.xml.includeRoot ?? false,
-            xmlCharKey: options.xml.xmlCharKey ?? interfaces_js_1.XML_CHARKEY
-          }
-        };
-        let payload = {};
-        const mapperType = mapper.type.name;
-        if (!objectName) {
-          objectName = mapper.serializedName;
+    };
+    exports2.action1 = {
+      parameterPath: "action",
+      mapper: {
+        defaultValue: "release",
+        isConstant: true,
+        serializedName: "x-ms-lease-action",
+        type: {
+          name: "String"
         }
-        if (mapperType.match(/^Sequence$/i) !== null) {
-          payload = [];
+      }
+    };
+    exports2.leaseId1 = {
+      parameterPath: "leaseId",
+      mapper: {
+        serializedName: "x-ms-lease-id",
+        required: true,
+        xmlName: "x-ms-lease-id",
+        type: {
+          name: "String"
         }
-        if (mapper.isConstant) {
-          object = mapper.defaultValue;
+      }
+    };
+    exports2.action2 = {
+      parameterPath: "action",
+      mapper: {
+        defaultValue: "renew",
+        isConstant: true,
+        serializedName: "x-ms-lease-action",
+        type: {
+          name: "String"
         }
-        const { required, nullable } = mapper;
-        if (required && nullable && object === void 0) {
-          throw new Error(`${objectName} cannot be undefined.`);
+      }
+    };
+    exports2.action3 = {
+      parameterPath: "action",
+      mapper: {
+        defaultValue: "break",
+        isConstant: true,
+        serializedName: "x-ms-lease-action",
+        type: {
+          name: "String"
         }
-        if (required && !nullable && (object === void 0 || object === null)) {
-          throw new Error(`${objectName} cannot be null or undefined.`);
+      }
+    };
+    exports2.breakPeriod = {
+      parameterPath: ["options", "breakPeriod"],
+      mapper: {
+        serializedName: "x-ms-lease-break-period",
+        xmlName: "x-ms-lease-break-period",
+        type: {
+          name: "Number"
         }
-        if (!required && nullable === false && object === null) {
-          throw new Error(`${objectName} cannot be null.`);
+      }
+    };
+    exports2.action4 = {
+      parameterPath: "action",
+      mapper: {
+        defaultValue: "change",
+        isConstant: true,
+        serializedName: "x-ms-lease-action",
+        type: {
+          name: "String"
         }
-        if (object === void 0 || object === null) {
-          payload = object;
-        } else {
-          if (mapperType.match(/^any$/i) !== null) {
-            payload = object;
-          } else if (mapperType.match(/^(Number|String|Boolean|Object|Stream|Uuid)$/i) !== null) {
-            payload = serializeBasicTypes(mapperType, objectName, object);
-          } else if (mapperType.match(/^Enum$/i) !== null) {
-            const enumMapper = mapper;
-            payload = serializeEnumType(objectName, enumMapper.type.allowedValues, object);
-          } else if (mapperType.match(/^(Date|DateTime|TimeSpan|DateTimeRfc1123|UnixTime)$/i) !== null) {
-            payload = serializeDateTypes(mapperType, object, objectName);
-          } else if (mapperType.match(/^ByteArray$/i) !== null) {
-            payload = serializeByteArrayType(objectName, object);
-          } else if (mapperType.match(/^Base64Url$/i) !== null) {
-            payload = serializeBase64UrlType(objectName, object);
-          } else if (mapperType.match(/^Sequence$/i) !== null) {
-            payload = serializeSequenceType(this, mapper, object, objectName, Boolean(this.isXML), updatedOptions);
-          } else if (mapperType.match(/^Dictionary$/i) !== null) {
-            payload = serializeDictionaryType(this, mapper, object, objectName, Boolean(this.isXML), updatedOptions);
-          } else if (mapperType.match(/^Composite$/i) !== null) {
-            payload = serializeCompositeType(this, mapper, object, objectName, Boolean(this.isXML), updatedOptions);
-          }
+      }
+    };
+    exports2.proposedLeaseId1 = {
+      parameterPath: "proposedLeaseId",
+      mapper: {
+        serializedName: "x-ms-proposed-lease-id",
+        required: true,
+        xmlName: "x-ms-proposed-lease-id",
+        type: {
+          name: "String"
         }
-        return payload;
       }
-      /**
-       * Deserialize the given object based on its metadata defined in the mapper
-       *
-       * @param mapper - The mapper which defines the metadata of the serializable object
-       *
-       * @param responseBody - A valid Javascript entity to be deserialized
-       *
-       * @param objectName - Name of the deserialized object
-       *
-       * @param options - Controls behavior of XML parser and builder.
-       *
-       * @returns A valid deserialized Javascript object
-       */
-      deserialize(mapper, responseBody, objectName, options = { xml: {} }) {
-        const updatedOptions = {
-          xml: {
-            rootName: options.xml.rootName ?? "",
-            includeRoot: options.xml.includeRoot ?? false,
-            xmlCharKey: options.xml.xmlCharKey ?? interfaces_js_1.XML_CHARKEY
-          },
-          ignoreUnknownProperties: options.ignoreUnknownProperties ?? false
-        };
-        if (responseBody === void 0 || responseBody === null) {
-          if (this.isXML && mapper.type.name === "Sequence" && !mapper.xmlIsWrapped) {
-            responseBody = [];
-          }
-          if (mapper.defaultValue !== void 0) {
-            responseBody = mapper.defaultValue;
+    };
+    exports2.include1 = {
+      parameterPath: ["options", "include"],
+      mapper: {
+        serializedName: "include",
+        xmlName: "include",
+        xmlElementName: "ListBlobsIncludeItem",
+        type: {
+          name: "Sequence",
+          element: {
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "copy",
+                "deleted",
+                "metadata",
+                "snapshots",
+                "uncommittedblobs",
+                "versions",
+                "tags",
+                "immutabilitypolicy",
+                "legalhold",
+                "deletedwithversions"
+              ]
+            }
           }
-          return responseBody;
         }
-        let payload;
-        const mapperType = mapper.type.name;
-        if (!objectName) {
-          objectName = mapper.serializedName;
+      },
+      collectionFormat: "CSV"
+    };
+    exports2.delimiter = {
+      parameterPath: "delimiter",
+      mapper: {
+        serializedName: "delimiter",
+        required: true,
+        xmlName: "delimiter",
+        type: {
+          name: "String"
         }
-        if (mapperType.match(/^Composite$/i) !== null) {
-          payload = deserializeCompositeType(this, mapper, responseBody, objectName, updatedOptions);
-        } else {
-          if (this.isXML) {
-            const xmlCharKey = updatedOptions.xml.xmlCharKey;
-            if (responseBody[interfaces_js_1.XML_ATTRKEY] !== void 0 && responseBody[xmlCharKey] !== void 0) {
-              responseBody = responseBody[xmlCharKey];
-            }
-          }
-          if (mapperType.match(/^Number$/i) !== null) {
-            payload = parseFloat(responseBody);
-            if (isNaN(payload)) {
-              payload = responseBody;
-            }
-          } else if (mapperType.match(/^Boolean$/i) !== null) {
-            if (responseBody === "true") {
-              payload = true;
-            } else if (responseBody === "false") {
-              payload = false;
-            } else {
-              payload = responseBody;
-            }
-          } else if (mapperType.match(/^(String|Enum|Object|Stream|Uuid|TimeSpan|any)$/i) !== null) {
-            payload = responseBody;
-          } else if (mapperType.match(/^(Date|DateTime|DateTimeRfc1123)$/i) !== null) {
-            payload = new Date(responseBody);
-          } else if (mapperType.match(/^UnixTime$/i) !== null) {
-            payload = unixTimeToDate(responseBody);
-          } else if (mapperType.match(/^ByteArray$/i) !== null) {
-            payload = base64.decodeString(responseBody);
-          } else if (mapperType.match(/^Base64Url$/i) !== null) {
-            payload = base64UrlToByteArray(responseBody);
-          } else if (mapperType.match(/^Sequence$/i) !== null) {
-            payload = deserializeSequenceType(this, mapper, responseBody, objectName, updatedOptions);
-          } else if (mapperType.match(/^Dictionary$/i) !== null) {
-            payload = deserializeDictionaryType(this, mapper, responseBody, objectName, updatedOptions);
-          }
+      }
+    };
+    exports2.snapshot = {
+      parameterPath: ["options", "snapshot"],
+      mapper: {
+        serializedName: "snapshot",
+        xmlName: "snapshot",
+        type: {
+          name: "String"
         }
-        if (mapper.isConstant) {
-          payload = mapper.defaultValue;
+      }
+    };
+    exports2.versionId = {
+      parameterPath: ["options", "versionId"],
+      mapper: {
+        serializedName: "versionid",
+        xmlName: "versionid",
+        type: {
+          name: "String"
         }
-        return payload;
       }
     };
-    function createSerializer(modelMappers = {}, isXML = false) {
-      return new SerializerImpl(modelMappers, isXML);
-    }
-    function trimEnd(str2, ch) {
-      let len = str2.length;
-      while (len - 1 >= 0 && str2[len - 1] === ch) {
-        --len;
+    exports2.range = {
+      parameterPath: ["options", "range"],
+      mapper: {
+        serializedName: "x-ms-range",
+        xmlName: "x-ms-range",
+        type: {
+          name: "String"
+        }
       }
-      return str2.substr(0, len);
-    }
-    function bufferToBase64Url(buffer) {
-      if (!buffer) {
-        return void 0;
+    };
+    exports2.rangeGetContentMD5 = {
+      parameterPath: ["options", "rangeGetContentMD5"],
+      mapper: {
+        serializedName: "x-ms-range-get-content-md5",
+        xmlName: "x-ms-range-get-content-md5",
+        type: {
+          name: "Boolean"
+        }
       }
-      if (!(buffer instanceof Uint8Array)) {
-        throw new Error(`Please provide an input of type Uint8Array for converting to Base64Url.`);
+    };
+    exports2.rangeGetContentCRC64 = {
+      parameterPath: ["options", "rangeGetContentCRC64"],
+      mapper: {
+        serializedName: "x-ms-range-get-content-crc64",
+        xmlName: "x-ms-range-get-content-crc64",
+        type: {
+          name: "Boolean"
+        }
       }
-      const str2 = base64.encodeByteArray(buffer);
-      return trimEnd(str2, "=").replace(/\+/g, "-").replace(/\//g, "_");
-    }
-    function base64UrlToByteArray(str2) {
-      if (!str2) {
-        return void 0;
+    };
+    exports2.encryptionKey = {
+      parameterPath: ["options", "cpkInfo", "encryptionKey"],
+      mapper: {
+        serializedName: "x-ms-encryption-key",
+        xmlName: "x-ms-encryption-key",
+        type: {
+          name: "String"
+        }
       }
-      if (str2 && typeof str2.valueOf() !== "string") {
-        throw new Error("Please provide an input of type string for converting to Uint8Array");
+    };
+    exports2.encryptionKeySha256 = {
+      parameterPath: ["options", "cpkInfo", "encryptionKeySha256"],
+      mapper: {
+        serializedName: "x-ms-encryption-key-sha256",
+        xmlName: "x-ms-encryption-key-sha256",
+        type: {
+          name: "String"
+        }
       }
-      str2 = str2.replace(/-/g, "+").replace(/_/g, "/");
-      return base64.decodeString(str2);
-    }
-    function splitSerializeName(prop) {
-      const classes = [];
-      let partialclass = "";
-      if (prop) {
-        const subwords = prop.split(".");
-        for (const item of subwords) {
-          if (item.charAt(item.length - 1) === "\\") {
-            partialclass += item.substr(0, item.length - 1) + ".";
-          } else {
-            partialclass += item;
-            classes.push(partialclass);
-            partialclass = "";
-          }
+    };
+    exports2.encryptionAlgorithm = {
+      parameterPath: ["options", "cpkInfo", "encryptionAlgorithm"],
+      mapper: {
+        serializedName: "x-ms-encryption-algorithm",
+        xmlName: "x-ms-encryption-algorithm",
+        type: {
+          name: "String"
         }
       }
-      return classes;
-    }
-    function dateToUnixTime(d) {
-      if (!d) {
-        return void 0;
+    };
+    exports2.ifMatch = {
+      parameterPath: ["options", "modifiedAccessConditions", "ifMatch"],
+      mapper: {
+        serializedName: "If-Match",
+        xmlName: "If-Match",
+        type: {
+          name: "String"
+        }
       }
-      if (typeof d.valueOf() === "string") {
-        d = new Date(d);
+    };
+    exports2.ifNoneMatch = {
+      parameterPath: ["options", "modifiedAccessConditions", "ifNoneMatch"],
+      mapper: {
+        serializedName: "If-None-Match",
+        xmlName: "If-None-Match",
+        type: {
+          name: "String"
+        }
       }
-      return Math.floor(d.getTime() / 1e3);
-    }
-    function unixTimeToDate(n) {
-      if (!n) {
-        return void 0;
+    };
+    exports2.ifTags = {
+      parameterPath: ["options", "modifiedAccessConditions", "ifTags"],
+      mapper: {
+        serializedName: "x-ms-if-tags",
+        xmlName: "x-ms-if-tags",
+        type: {
+          name: "String"
+        }
       }
-      return new Date(n * 1e3);
-    }
-    function serializeBasicTypes(typeName, objectName, value) {
-      if (value !== null && value !== void 0) {
-        if (typeName.match(/^Number$/i) !== null) {
-          if (typeof value !== "number") {
-            throw new Error(`${objectName} with value ${value} must be of type number.`);
-          }
-        } else if (typeName.match(/^String$/i) !== null) {
-          if (typeof value.valueOf() !== "string") {
-            throw new Error(`${objectName} with value "${value}" must be of type string.`);
-          }
-        } else if (typeName.match(/^Uuid$/i) !== null) {
-          if (!(typeof value.valueOf() === "string" && (0, utils_js_1.isValidUuid)(value))) {
-            throw new Error(`${objectName} with value "${value}" must be of type string and a valid uuid.`);
-          }
-        } else if (typeName.match(/^Boolean$/i) !== null) {
-          if (typeof value !== "boolean") {
-            throw new Error(`${objectName} with value ${value} must be of type boolean.`);
-          }
-        } else if (typeName.match(/^Stream$/i) !== null) {
-          const objectType = typeof value;
-          if (objectType !== "string" && typeof value.pipe !== "function" && // NodeJS.ReadableStream
-          typeof value.tee !== "function" && // browser ReadableStream
-          !(value instanceof ArrayBuffer) && !ArrayBuffer.isView(value) && // File objects count as a type of Blob, so we want to use instanceof explicitly
-          !((typeof Blob === "function" || typeof Blob === "object") && value instanceof Blob) && objectType !== "function") {
-            throw new Error(`${objectName} must be a string, Blob, ArrayBuffer, ArrayBufferView, ReadableStream, or () => ReadableStream.`);
-          }
+    };
+    exports2.deleteSnapshots = {
+      parameterPath: ["options", "deleteSnapshots"],
+      mapper: {
+        serializedName: "x-ms-delete-snapshots",
+        xmlName: "x-ms-delete-snapshots",
+        type: {
+          name: "Enum",
+          allowedValues: ["include", "only"]
         }
       }
-      return value;
-    }
-    function serializeEnumType(objectName, allowedValues, value) {
-      if (!allowedValues) {
-        throw new Error(`Please provide a set of allowedValues to validate ${objectName} as an Enum Type.`);
+    };
+    exports2.blobDeleteType = {
+      parameterPath: ["options", "blobDeleteType"],
+      mapper: {
+        serializedName: "deletetype",
+        xmlName: "deletetype",
+        type: {
+          name: "String"
+        }
       }
-      const isPresent = allowedValues.some((item) => {
-        if (typeof item.valueOf() === "string") {
-          return item.toLowerCase() === value.toLowerCase();
+    };
+    exports2.comp11 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "expiry",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
+      }
+    };
+    exports2.expiryOptions = {
+      parameterPath: "expiryOptions",
+      mapper: {
+        serializedName: "x-ms-expiry-option",
+        required: true,
+        xmlName: "x-ms-expiry-option",
+        type: {
+          name: "String"
+        }
+      }
+    };
+    exports2.expiresOn = {
+      parameterPath: ["options", "expiresOn"],
+      mapper: {
+        serializedName: "x-ms-expiry-time",
+        xmlName: "x-ms-expiry-time",
+        type: {
+          name: "String"
+        }
+      }
+    };
+    exports2.blobCacheControl = {
+      parameterPath: ["options", "blobHttpHeaders", "blobCacheControl"],
+      mapper: {
+        serializedName: "x-ms-blob-cache-control",
+        xmlName: "x-ms-blob-cache-control",
+        type: {
+          name: "String"
+        }
+      }
+    };
+    exports2.blobContentType = {
+      parameterPath: ["options", "blobHttpHeaders", "blobContentType"],
+      mapper: {
+        serializedName: "x-ms-blob-content-type",
+        xmlName: "x-ms-blob-content-type",
+        type: {
+          name: "String"
+        }
+      }
+    };
+    exports2.blobContentMD5 = {
+      parameterPath: ["options", "blobHttpHeaders", "blobContentMD5"],
+      mapper: {
+        serializedName: "x-ms-blob-content-md5",
+        xmlName: "x-ms-blob-content-md5",
+        type: {
+          name: "ByteArray"
+        }
+      }
+    };
+    exports2.blobContentEncoding = {
+      parameterPath: ["options", "blobHttpHeaders", "blobContentEncoding"],
+      mapper: {
+        serializedName: "x-ms-blob-content-encoding",
+        xmlName: "x-ms-blob-content-encoding",
+        type: {
+          name: "String"
         }
-        return item === value;
-      });
-      if (!isPresent) {
-        throw new Error(`${value} is not a valid value for ${objectName}. The valid values are: ${JSON.stringify(allowedValues)}.`);
       }
-      return value;
-    }
-    function serializeByteArrayType(objectName, value) {
-      if (value !== void 0 && value !== null) {
-        if (!(value instanceof Uint8Array)) {
-          throw new Error(`${objectName} must be of type Uint8Array.`);
+    };
+    exports2.blobContentLanguage = {
+      parameterPath: ["options", "blobHttpHeaders", "blobContentLanguage"],
+      mapper: {
+        serializedName: "x-ms-blob-content-language",
+        xmlName: "x-ms-blob-content-language",
+        type: {
+          name: "String"
         }
-        value = base64.encodeByteArray(value);
       }
-      return value;
-    }
-    function serializeBase64UrlType(objectName, value) {
-      if (value !== void 0 && value !== null) {
-        if (!(value instanceof Uint8Array)) {
-          throw new Error(`${objectName} must be of type Uint8Array.`);
+    };
+    exports2.blobContentDisposition = {
+      parameterPath: ["options", "blobHttpHeaders", "blobContentDisposition"],
+      mapper: {
+        serializedName: "x-ms-blob-content-disposition",
+        xmlName: "x-ms-blob-content-disposition",
+        type: {
+          name: "String"
         }
-        value = bufferToBase64Url(value);
       }
-      return value;
-    }
-    function serializeDateTypes(typeName, value, objectName) {
-      if (value !== void 0 && value !== null) {
-        if (typeName.match(/^Date$/i) !== null) {
-          if (!(value instanceof Date || typeof value.valueOf() === "string" && !isNaN(Date.parse(value)))) {
-            throw new Error(`${objectName} must be an instanceof Date or a string in ISO8601 format.`);
-          }
-          value = value instanceof Date ? value.toISOString().substring(0, 10) : new Date(value).toISOString().substring(0, 10);
-        } else if (typeName.match(/^DateTime$/i) !== null) {
-          if (!(value instanceof Date || typeof value.valueOf() === "string" && !isNaN(Date.parse(value)))) {
-            throw new Error(`${objectName} must be an instanceof Date or a string in ISO8601 format.`);
-          }
-          value = value instanceof Date ? value.toISOString() : new Date(value).toISOString();
-        } else if (typeName.match(/^DateTimeRfc1123$/i) !== null) {
-          if (!(value instanceof Date || typeof value.valueOf() === "string" && !isNaN(Date.parse(value)))) {
-            throw new Error(`${objectName} must be an instanceof Date or a string in RFC-1123 format.`);
-          }
-          value = value instanceof Date ? value.toUTCString() : new Date(value).toUTCString();
-        } else if (typeName.match(/^UnixTime$/i) !== null) {
-          if (!(value instanceof Date || typeof value.valueOf() === "string" && !isNaN(Date.parse(value)))) {
-            throw new Error(`${objectName} must be an instanceof Date or a string in RFC-1123/ISO8601 format for it to be serialized in UnixTime/Epoch format.`);
-          }
-          value = dateToUnixTime(value);
-        } else if (typeName.match(/^TimeSpan$/i) !== null) {
-          if (!(0, utils_js_1.isDuration)(value)) {
-            throw new Error(`${objectName} must be a string in ISO 8601 format. Instead was "${value}".`);
-          }
+    };
+    exports2.comp12 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "immutabilityPolicies",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
       }
-      return value;
-    }
-    function serializeSequenceType(serializer, mapper, object, objectName, isXml, options) {
-      if (!Array.isArray(object)) {
-        throw new Error(`${objectName} must be of type Array.`);
-      }
-      let elementType = mapper.type.element;
-      if (!elementType || typeof elementType !== "object") {
-        throw new Error(`element" metadata for an Array must be defined in the mapper and it must of type "object" in ${objectName}.`);
+    };
+    exports2.immutabilityPolicyExpiry = {
+      parameterPath: ["options", "immutabilityPolicyExpiry"],
+      mapper: {
+        serializedName: "x-ms-immutability-policy-until-date",
+        xmlName: "x-ms-immutability-policy-until-date",
+        type: {
+          name: "DateTimeRfc1123"
+        }
       }
-      if (elementType.type.name === "Composite" && elementType.type.className) {
-        elementType = serializer.modelMappers[elementType.type.className] ?? elementType;
+    };
+    exports2.immutabilityPolicyMode = {
+      parameterPath: ["options", "immutabilityPolicyMode"],
+      mapper: {
+        serializedName: "x-ms-immutability-policy-mode",
+        xmlName: "x-ms-immutability-policy-mode",
+        type: {
+          name: "Enum",
+          allowedValues: ["Mutable", "Unlocked", "Locked"]
+        }
       }
-      const tempArray = [];
-      for (let i = 0; i < object.length; i++) {
-        const serializedValue = serializer.serialize(elementType, object[i], objectName, options);
-        if (isXml && elementType.xmlNamespace) {
-          const xmlnsKey = elementType.xmlNamespacePrefix ? `xmlns:${elementType.xmlNamespacePrefix}` : "xmlns";
-          if (elementType.type.name === "Composite") {
-            tempArray[i] = { ...serializedValue };
-            tempArray[i][interfaces_js_1.XML_ATTRKEY] = { [xmlnsKey]: elementType.xmlNamespace };
-          } else {
-            tempArray[i] = {};
-            tempArray[i][options.xml.xmlCharKey] = serializedValue;
-            tempArray[i][interfaces_js_1.XML_ATTRKEY] = { [xmlnsKey]: elementType.xmlNamespace };
-          }
-        } else {
-          tempArray[i] = serializedValue;
+    };
+    exports2.comp13 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "legalhold",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
       }
-      return tempArray;
-    }
-    function serializeDictionaryType(serializer, mapper, object, objectName, isXml, options) {
-      if (typeof object !== "object") {
-        throw new Error(`${objectName} must be of type object.`);
+    };
+    exports2.legalHold = {
+      parameterPath: "legalHold",
+      mapper: {
+        serializedName: "x-ms-legal-hold",
+        required: true,
+        xmlName: "x-ms-legal-hold",
+        type: {
+          name: "Boolean"
+        }
       }
-      const valueType = mapper.type.value;
-      if (!valueType || typeof valueType !== "object") {
-        throw new Error(`"value" metadata for a Dictionary must be defined in the mapper and it must of type "object" in ${objectName}.`);
+    };
+    exports2.encryptionScope = {
+      parameterPath: ["options", "encryptionScope"],
+      mapper: {
+        serializedName: "x-ms-encryption-scope",
+        xmlName: "x-ms-encryption-scope",
+        type: {
+          name: "String"
+        }
       }
-      const tempDictionary = {};
-      for (const key of Object.keys(object)) {
-        const serializedValue = serializer.serialize(valueType, object[key], objectName, options);
-        tempDictionary[key] = getXmlObjectValue(valueType, serializedValue, isXml, options);
+    };
+    exports2.comp14 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "snapshot",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
       }
-      if (isXml && mapper.xmlNamespace) {
-        const xmlnsKey = mapper.xmlNamespacePrefix ? `xmlns:${mapper.xmlNamespacePrefix}` : "xmlns";
-        const result = tempDictionary;
-        result[interfaces_js_1.XML_ATTRKEY] = { [xmlnsKey]: mapper.xmlNamespace };
-        return result;
+    };
+    exports2.tier = {
+      parameterPath: ["options", "tier"],
+      mapper: {
+        serializedName: "x-ms-access-tier",
+        xmlName: "x-ms-access-tier",
+        type: {
+          name: "Enum",
+          allowedValues: [
+            "P4",
+            "P6",
+            "P10",
+            "P15",
+            "P20",
+            "P30",
+            "P40",
+            "P50",
+            "P60",
+            "P70",
+            "P80",
+            "Hot",
+            "Cool",
+            "Archive",
+            "Cold"
+          ]
+        }
       }
-      return tempDictionary;
-    }
-    function resolveAdditionalProperties(serializer, mapper, objectName) {
-      const additionalProperties = mapper.type.additionalProperties;
-      if (!additionalProperties && mapper.type.className) {
-        const modelMapper = resolveReferencedMapper(serializer, mapper, objectName);
-        return modelMapper?.type.additionalProperties;
+    };
+    exports2.rehydratePriority = {
+      parameterPath: ["options", "rehydratePriority"],
+      mapper: {
+        serializedName: "x-ms-rehydrate-priority",
+        xmlName: "x-ms-rehydrate-priority",
+        type: {
+          name: "Enum",
+          allowedValues: ["High", "Standard"]
+        }
       }
-      return additionalProperties;
-    }
-    function resolveReferencedMapper(serializer, mapper, objectName) {
-      const className = mapper.type.className;
-      if (!className) {
-        throw new Error(`Class name for model "${objectName}" is not provided in the mapper "${JSON.stringify(mapper, void 0, 2)}".`);
+    };
+    exports2.sourceIfModifiedSince = {
+      parameterPath: [
+        "options",
+        "sourceModifiedAccessConditions",
+        "sourceIfModifiedSince"
+      ],
+      mapper: {
+        serializedName: "x-ms-source-if-modified-since",
+        xmlName: "x-ms-source-if-modified-since",
+        type: {
+          name: "DateTimeRfc1123"
+        }
       }
-      return serializer.modelMappers[className];
-    }
-    function resolveModelProperties(serializer, mapper, objectName) {
-      let modelProps = mapper.type.modelProperties;
-      if (!modelProps) {
-        const modelMapper = resolveReferencedMapper(serializer, mapper, objectName);
-        if (!modelMapper) {
-          throw new Error(`mapper() cannot be null or undefined for model "${mapper.type.className}".`);
+    };
+    exports2.sourceIfUnmodifiedSince = {
+      parameterPath: [
+        "options",
+        "sourceModifiedAccessConditions",
+        "sourceIfUnmodifiedSince"
+      ],
+      mapper: {
+        serializedName: "x-ms-source-if-unmodified-since",
+        xmlName: "x-ms-source-if-unmodified-since",
+        type: {
+          name: "DateTimeRfc1123"
         }
-        modelProps = modelMapper?.type.modelProperties;
-        if (!modelProps) {
-          throw new Error(`modelProperties cannot be null or undefined in the mapper "${JSON.stringify(modelMapper)}" of type "${mapper.type.className}" for object "${objectName}".`);
+      }
+    };
+    exports2.sourceIfMatch = {
+      parameterPath: ["options", "sourceModifiedAccessConditions", "sourceIfMatch"],
+      mapper: {
+        serializedName: "x-ms-source-if-match",
+        xmlName: "x-ms-source-if-match",
+        type: {
+          name: "String"
         }
       }
-      return modelProps;
-    }
-    function serializeCompositeType(serializer, mapper, object, objectName, isXml, options) {
-      if (getPolymorphicDiscriminatorRecursively(serializer, mapper)) {
-        mapper = getPolymorphicMapper(serializer, mapper, object, "clientName");
+    };
+    exports2.sourceIfNoneMatch = {
+      parameterPath: [
+        "options",
+        "sourceModifiedAccessConditions",
+        "sourceIfNoneMatch"
+      ],
+      mapper: {
+        serializedName: "x-ms-source-if-none-match",
+        xmlName: "x-ms-source-if-none-match",
+        type: {
+          name: "String"
+        }
       }
-      if (object !== void 0 && object !== null) {
-        const payload = {};
-        const modelProps = resolveModelProperties(serializer, mapper, objectName);
-        for (const key of Object.keys(modelProps)) {
-          const propertyMapper = modelProps[key];
-          if (propertyMapper.readOnly) {
-            continue;
-          }
-          let propName;
-          let parentObject = payload;
-          if (serializer.isXML) {
-            if (propertyMapper.xmlIsWrapped) {
-              propName = propertyMapper.xmlName;
-            } else {
-              propName = propertyMapper.xmlElementName || propertyMapper.xmlName;
-            }
-          } else {
-            const paths = splitSerializeName(propertyMapper.serializedName);
-            propName = paths.pop();
-            for (const pathName of paths) {
-              const childObject = parentObject[pathName];
-              if ((childObject === void 0 || childObject === null) && (object[key] !== void 0 && object[key] !== null || propertyMapper.defaultValue !== void 0)) {
-                parentObject[pathName] = {};
-              }
-              parentObject = parentObject[pathName];
-            }
-          }
-          if (parentObject !== void 0 && parentObject !== null) {
-            if (isXml && mapper.xmlNamespace) {
-              const xmlnsKey = mapper.xmlNamespacePrefix ? `xmlns:${mapper.xmlNamespacePrefix}` : "xmlns";
-              parentObject[interfaces_js_1.XML_ATTRKEY] = {
-                ...parentObject[interfaces_js_1.XML_ATTRKEY],
-                [xmlnsKey]: mapper.xmlNamespace
-              };
-            }
-            const propertyObjectName = propertyMapper.serializedName !== "" ? objectName + "." + propertyMapper.serializedName : objectName;
-            let toSerialize = object[key];
-            const polymorphicDiscriminator = getPolymorphicDiscriminatorRecursively(serializer, mapper);
-            if (polymorphicDiscriminator && polymorphicDiscriminator.clientName === key && (toSerialize === void 0 || toSerialize === null)) {
-              toSerialize = mapper.serializedName;
-            }
-            const serializedValue = serializer.serialize(propertyMapper, toSerialize, propertyObjectName, options);
-            if (serializedValue !== void 0 && propName !== void 0 && propName !== null) {
-              const value = getXmlObjectValue(propertyMapper, serializedValue, isXml, options);
-              if (isXml && propertyMapper.xmlIsAttribute) {
-                parentObject[interfaces_js_1.XML_ATTRKEY] = parentObject[interfaces_js_1.XML_ATTRKEY] || {};
-                parentObject[interfaces_js_1.XML_ATTRKEY][propName] = serializedValue;
-              } else if (isXml && propertyMapper.xmlIsWrapped) {
-                parentObject[propName] = { [propertyMapper.xmlElementName]: value };
-              } else {
-                parentObject[propName] = value;
-              }
-            }
-          }
+    };
+    exports2.sourceIfTags = {
+      parameterPath: ["options", "sourceModifiedAccessConditions", "sourceIfTags"],
+      mapper: {
+        serializedName: "x-ms-source-if-tags",
+        xmlName: "x-ms-source-if-tags",
+        type: {
+          name: "String"
         }
-        const additionalPropertiesMapper = resolveAdditionalProperties(serializer, mapper, objectName);
-        if (additionalPropertiesMapper) {
-          const propNames = Object.keys(modelProps);
-          for (const clientPropName in object) {
-            const isAdditionalProperty = propNames.every((pn) => pn !== clientPropName);
-            if (isAdditionalProperty) {
-              payload[clientPropName] = serializer.serialize(additionalPropertiesMapper, object[clientPropName], objectName + '["' + clientPropName + '"]', options);
-            }
-          }
+      }
+    };
+    exports2.copySource = {
+      parameterPath: "copySource",
+      mapper: {
+        serializedName: "x-ms-copy-source",
+        required: true,
+        xmlName: "x-ms-copy-source",
+        type: {
+          name: "String"
         }
-        return payload;
       }
-      return object;
-    }
-    function getXmlObjectValue(propertyMapper, serializedValue, isXml, options) {
-      if (!isXml || !propertyMapper.xmlNamespace) {
-        return serializedValue;
+    };
+    exports2.blobTagsString = {
+      parameterPath: ["options", "blobTagsString"],
+      mapper: {
+        serializedName: "x-ms-tags",
+        xmlName: "x-ms-tags",
+        type: {
+          name: "String"
+        }
       }
-      const xmlnsKey = propertyMapper.xmlNamespacePrefix ? `xmlns:${propertyMapper.xmlNamespacePrefix}` : "xmlns";
-      const xmlNamespace = { [xmlnsKey]: propertyMapper.xmlNamespace };
-      if (["Composite"].includes(propertyMapper.type.name)) {
-        if (serializedValue[interfaces_js_1.XML_ATTRKEY]) {
-          return serializedValue;
-        } else {
-          const result2 = { ...serializedValue };
-          result2[interfaces_js_1.XML_ATTRKEY] = xmlNamespace;
-          return result2;
+    };
+    exports2.sealBlob = {
+      parameterPath: ["options", "sealBlob"],
+      mapper: {
+        serializedName: "x-ms-seal-blob",
+        xmlName: "x-ms-seal-blob",
+        type: {
+          name: "Boolean"
         }
       }
-      const result = {};
-      result[options.xml.xmlCharKey] = serializedValue;
-      result[interfaces_js_1.XML_ATTRKEY] = xmlNamespace;
-      return result;
-    }
-    function isSpecialXmlProperty(propertyName, options) {
-      return [interfaces_js_1.XML_ATTRKEY, options.xml.xmlCharKey].includes(propertyName);
-    }
-    function deserializeCompositeType(serializer, mapper, responseBody, objectName, options) {
-      const xmlCharKey = options.xml.xmlCharKey ?? interfaces_js_1.XML_CHARKEY;
-      if (getPolymorphicDiscriminatorRecursively(serializer, mapper)) {
-        mapper = getPolymorphicMapper(serializer, mapper, responseBody, "serializedName");
+    };
+    exports2.legalHold1 = {
+      parameterPath: ["options", "legalHold"],
+      mapper: {
+        serializedName: "x-ms-legal-hold",
+        xmlName: "x-ms-legal-hold",
+        type: {
+          name: "Boolean"
+        }
       }
-      const modelProps = resolveModelProperties(serializer, mapper, objectName);
-      let instance = {};
-      const handledPropertyNames = [];
-      for (const key of Object.keys(modelProps)) {
-        const propertyMapper = modelProps[key];
-        const paths = splitSerializeName(modelProps[key].serializedName);
-        handledPropertyNames.push(paths[0]);
-        const { serializedName, xmlName, xmlElementName } = propertyMapper;
-        let propertyObjectName = objectName;
-        if (serializedName !== "" && serializedName !== void 0) {
-          propertyObjectName = objectName + "." + serializedName;
+    };
+    exports2.xMsRequiresSync = {
+      parameterPath: "xMsRequiresSync",
+      mapper: {
+        defaultValue: "true",
+        isConstant: true,
+        serializedName: "x-ms-requires-sync",
+        type: {
+          name: "String"
         }
-        const headerCollectionPrefix = propertyMapper.headerCollectionPrefix;
-        if (headerCollectionPrefix) {
-          const dictionary = {};
-          for (const headerKey of Object.keys(responseBody)) {
-            if (headerKey.startsWith(headerCollectionPrefix)) {
-              dictionary[headerKey.substring(headerCollectionPrefix.length)] = serializer.deserialize(propertyMapper.type.value, responseBody[headerKey], propertyObjectName, options);
-            }
-            handledPropertyNames.push(headerKey);
-          }
-          instance[key] = dictionary;
-        } else if (serializer.isXML) {
-          if (propertyMapper.xmlIsAttribute && responseBody[interfaces_js_1.XML_ATTRKEY]) {
-            instance[key] = serializer.deserialize(propertyMapper, responseBody[interfaces_js_1.XML_ATTRKEY][xmlName], propertyObjectName, options);
-          } else if (propertyMapper.xmlIsMsText) {
-            if (responseBody[xmlCharKey] !== void 0) {
-              instance[key] = responseBody[xmlCharKey];
-            } else if (typeof responseBody === "string") {
-              instance[key] = responseBody;
-            }
-          } else {
-            const propertyName = xmlElementName || xmlName || serializedName;
-            if (propertyMapper.xmlIsWrapped) {
-              const wrapped = responseBody[xmlName];
-              const elementList = wrapped?.[xmlElementName] ?? [];
-              instance[key] = serializer.deserialize(propertyMapper, elementList, propertyObjectName, options);
-              handledPropertyNames.push(xmlName);
-            } else {
-              const property = responseBody[propertyName];
-              instance[key] = serializer.deserialize(propertyMapper, property, propertyObjectName, options);
-              handledPropertyNames.push(propertyName);
-            }
-          }
-        } else {
-          let propertyInstance;
-          let res = responseBody;
-          let steps = 0;
-          for (const item of paths) {
-            if (!res)
-              break;
-            steps++;
-            res = res[item];
-          }
-          if (res === null && steps < paths.length) {
-            res = void 0;
-          }
-          propertyInstance = res;
-          const polymorphicDiscriminator = mapper.type.polymorphicDiscriminator;
-          if (polymorphicDiscriminator && key === polymorphicDiscriminator.clientName && (propertyInstance === void 0 || propertyInstance === null)) {
-            propertyInstance = mapper.serializedName;
-          }
-          let serializedValue;
-          if (Array.isArray(responseBody[key]) && modelProps[key].serializedName === "") {
-            propertyInstance = responseBody[key];
-            const arrayInstance = serializer.deserialize(propertyMapper, propertyInstance, propertyObjectName, options);
-            for (const [k, v] of Object.entries(instance)) {
-              if (!Object.prototype.hasOwnProperty.call(arrayInstance, k)) {
-                arrayInstance[k] = v;
-              }
-            }
-            instance = arrayInstance;
-          } else if (propertyInstance !== void 0 || propertyMapper.defaultValue !== void 0) {
-            serializedValue = serializer.deserialize(propertyMapper, propertyInstance, propertyObjectName, options);
-            instance[key] = serializedValue;
-          }
+      }
+    };
+    exports2.sourceContentMD5 = {
+      parameterPath: ["options", "sourceContentMD5"],
+      mapper: {
+        serializedName: "x-ms-source-content-md5",
+        xmlName: "x-ms-source-content-md5",
+        type: {
+          name: "ByteArray"
         }
       }
-      const additionalPropertiesMapper = mapper.type.additionalProperties;
-      if (additionalPropertiesMapper) {
-        const isAdditionalProperty = (responsePropName) => {
-          for (const clientPropName in modelProps) {
-            const paths = splitSerializeName(modelProps[clientPropName].serializedName);
-            if (paths[0] === responsePropName) {
-              return false;
-            }
-          }
-          return true;
-        };
-        for (const responsePropName in responseBody) {
-          if (isAdditionalProperty(responsePropName)) {
-            instance[responsePropName] = serializer.deserialize(additionalPropertiesMapper, responseBody[responsePropName], objectName + '["' + responsePropName + '"]', options);
-          }
+    };
+    exports2.copySourceAuthorization = {
+      parameterPath: ["options", "copySourceAuthorization"],
+      mapper: {
+        serializedName: "x-ms-copy-source-authorization",
+        xmlName: "x-ms-copy-source-authorization",
+        type: {
+          name: "String"
         }
-      } else if (responseBody && !options.ignoreUnknownProperties) {
-        for (const key of Object.keys(responseBody)) {
-          if (instance[key] === void 0 && !handledPropertyNames.includes(key) && !isSpecialXmlProperty(key, options)) {
-            instance[key] = responseBody[key];
-          }
+      }
+    };
+    exports2.copySourceTags = {
+      parameterPath: ["options", "copySourceTags"],
+      mapper: {
+        serializedName: "x-ms-copy-source-tag-option",
+        xmlName: "x-ms-copy-source-tag-option",
+        type: {
+          name: "Enum",
+          allowedValues: ["REPLACE", "COPY"]
         }
       }
-      return instance;
-    }
-    function deserializeDictionaryType(serializer, mapper, responseBody, objectName, options) {
-      const value = mapper.type.value;
-      if (!value || typeof value !== "object") {
-        throw new Error(`"value" metadata for a Dictionary must be defined in the mapper and it must of type "object" in ${objectName}`);
+    };
+    exports2.fileRequestIntent = {
+      parameterPath: ["options", "fileRequestIntent"],
+      mapper: {
+        serializedName: "x-ms-file-request-intent",
+        xmlName: "x-ms-file-request-intent",
+        type: {
+          name: "String"
+        }
       }
-      if (responseBody) {
-        const tempDictionary = {};
-        for (const key of Object.keys(responseBody)) {
-          tempDictionary[key] = serializer.deserialize(value, responseBody[key], objectName, options);
+    };
+    exports2.comp15 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "copy",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
-        return tempDictionary;
       }
-      return responseBody;
-    }
-    function deserializeSequenceType(serializer, mapper, responseBody, objectName, options) {
-      let element = mapper.type.element;
-      if (!element || typeof element !== "object") {
-        throw new Error(`element" metadata for an Array must be defined in the mapper and it must of type "object" in ${objectName}`);
+    };
+    exports2.copyActionAbortConstant = {
+      parameterPath: "copyActionAbortConstant",
+      mapper: {
+        defaultValue: "abort",
+        isConstant: true,
+        serializedName: "x-ms-copy-action",
+        type: {
+          name: "String"
+        }
       }
-      if (responseBody) {
-        if (!Array.isArray(responseBody)) {
-          responseBody = [responseBody];
+    };
+    exports2.copyId = {
+      parameterPath: "copyId",
+      mapper: {
+        serializedName: "copyid",
+        required: true,
+        xmlName: "copyid",
+        type: {
+          name: "String"
         }
-        if (element.type.name === "Composite" && element.type.className) {
-          element = serializer.modelMappers[element.type.className] ?? element;
+      }
+    };
+    exports2.comp16 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "tier",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
-        const tempArray = [];
-        for (let i = 0; i < responseBody.length; i++) {
-          tempArray[i] = serializer.deserialize(element, responseBody[i], `${objectName}[${i}]`, options);
+      }
+    };
+    exports2.tier1 = {
+      parameterPath: "tier",
+      mapper: {
+        serializedName: "x-ms-access-tier",
+        required: true,
+        xmlName: "x-ms-access-tier",
+        type: {
+          name: "Enum",
+          allowedValues: [
+            "P4",
+            "P6",
+            "P10",
+            "P15",
+            "P20",
+            "P30",
+            "P40",
+            "P50",
+            "P60",
+            "P70",
+            "P80",
+            "Hot",
+            "Cool",
+            "Archive",
+            "Cold"
+          ]
         }
-        return tempArray;
       }
-      return responseBody;
-    }
-    function getIndexDiscriminator(discriminators, discriminatorValue, typeName) {
-      const typeNamesToCheck = [typeName];
-      while (typeNamesToCheck.length) {
-        const currentName = typeNamesToCheck.shift();
-        const indexDiscriminator = discriminatorValue === currentName ? discriminatorValue : currentName + "." + discriminatorValue;
-        if (Object.prototype.hasOwnProperty.call(discriminators, indexDiscriminator)) {
-          return discriminators[indexDiscriminator];
-        } else {
-          for (const [name, mapper] of Object.entries(discriminators)) {
-            if (name.startsWith(currentName + ".") && mapper.type.uberParent === currentName && mapper.type.className) {
-              typeNamesToCheck.push(mapper.type.className);
-            }
-          }
+    };
+    exports2.queryRequest = {
+      parameterPath: ["options", "queryRequest"],
+      mapper: mappers_js_1.QueryRequest
+    };
+    exports2.comp17 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "query",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
       }
-      return void 0;
-    }
-    function getPolymorphicMapper(serializer, mapper, object, polymorphicPropertyName) {
-      const polymorphicDiscriminator = getPolymorphicDiscriminatorRecursively(serializer, mapper);
-      if (polymorphicDiscriminator) {
-        let discriminatorName = polymorphicDiscriminator[polymorphicPropertyName];
-        if (discriminatorName) {
-          if (polymorphicPropertyName === "serializedName") {
-            discriminatorName = discriminatorName.replace(/\\/gi, "");
-          }
-          const discriminatorValue = object[discriminatorName];
-          const typeName = mapper.type.uberParent ?? mapper.type.className;
-          if (typeof discriminatorValue === "string" && typeName) {
-            const polymorphicMapper = getIndexDiscriminator(serializer.modelMappers.discriminators, discriminatorValue, typeName);
-            if (polymorphicMapper) {
-              mapper = polymorphicMapper;
-            }
-          }
+    };
+    exports2.comp18 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "tags",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
       }
-      return mapper;
-    }
-    function getPolymorphicDiscriminatorRecursively(serializer, mapper) {
-      return mapper.type.polymorphicDiscriminator || getPolymorphicDiscriminatorSafely(serializer, mapper.type.uberParent) || getPolymorphicDiscriminatorSafely(serializer, mapper.type.className);
-    }
-    function getPolymorphicDiscriminatorSafely(serializer, typeName) {
-      return typeName && serializer.modelMappers[typeName] && serializer.modelMappers[typeName].type.polymorphicDiscriminator;
-    }
-    exports2.MapperTypeNames = {
-      Base64Url: "Base64Url",
-      Boolean: "Boolean",
-      ByteArray: "ByteArray",
-      Composite: "Composite",
-      Date: "Date",
-      DateTime: "DateTime",
-      DateTimeRfc1123: "DateTimeRfc1123",
-      Dictionary: "Dictionary",
-      Enum: "Enum",
-      Number: "Number",
-      Object: "Object",
-      Sequence: "Sequence",
-      String: "String",
-      Stream: "Stream",
-      TimeSpan: "TimeSpan",
-      UnixTime: "UnixTime"
     };
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/state.js
-var require_state2 = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/state.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.state = void 0;
-    exports2.state = {
-      operationRequestMap: /* @__PURE__ */ new WeakMap()
+    exports2.tags = {
+      parameterPath: ["options", "tags"],
+      mapper: mappers_js_1.BlobTags
     };
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/operationHelpers.js
-var require_operationHelpers = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/operationHelpers.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getOperationArgumentValueFromParameter = getOperationArgumentValueFromParameter;
-    exports2.getOperationRequestInfo = getOperationRequestInfo;
-    var state_js_1 = require_state2();
-    function getOperationArgumentValueFromParameter(operationArguments, parameter, fallbackObject) {
-      let parameterPath = parameter.parameterPath;
-      const parameterMapper = parameter.mapper;
-      let value;
-      if (typeof parameterPath === "string") {
-        parameterPath = [parameterPath];
+    exports2.transactionalContentMD5 = {
+      parameterPath: ["options", "transactionalContentMD5"],
+      mapper: {
+        serializedName: "Content-MD5",
+        xmlName: "Content-MD5",
+        type: {
+          name: "ByteArray"
+        }
       }
-      if (Array.isArray(parameterPath)) {
-        if (parameterPath.length > 0) {
-          if (parameterMapper.isConstant) {
-            value = parameterMapper.defaultValue;
-          } else {
-            let propertySearchResult = getPropertyFromParameterPath(operationArguments, parameterPath);
-            if (!propertySearchResult.propertyFound && fallbackObject) {
-              propertySearchResult = getPropertyFromParameterPath(fallbackObject, parameterPath);
-            }
-            let useDefaultValue = false;
-            if (!propertySearchResult.propertyFound) {
-              useDefaultValue = parameterMapper.required || parameterPath[0] === "options" && parameterPath.length === 2;
-            }
-            value = useDefaultValue ? parameterMapper.defaultValue : propertySearchResult.propertyValue;
-          }
+    };
+    exports2.transactionalContentCrc64 = {
+      parameterPath: ["options", "transactionalContentCrc64"],
+      mapper: {
+        serializedName: "x-ms-content-crc64",
+        xmlName: "x-ms-content-crc64",
+        type: {
+          name: "ByteArray"
         }
-      } else {
-        if (parameterMapper.required) {
-          value = {};
+      }
+    };
+    exports2.blobType = {
+      parameterPath: "blobType",
+      mapper: {
+        defaultValue: "PageBlob",
+        isConstant: true,
+        serializedName: "x-ms-blob-type",
+        type: {
+          name: "String"
         }
-        for (const propertyName in parameterPath) {
-          const propertyMapper = parameterMapper.type.modelProperties[propertyName];
-          const propertyPath = parameterPath[propertyName];
-          const propertyValue = getOperationArgumentValueFromParameter(operationArguments, {
-            parameterPath: propertyPath,
-            mapper: propertyMapper
-          }, fallbackObject);
-          if (propertyValue !== void 0) {
-            if (!value) {
-              value = {};
-            }
-            value[propertyName] = propertyValue;
-          }
+      }
+    };
+    exports2.blobContentLength = {
+      parameterPath: "blobContentLength",
+      mapper: {
+        serializedName: "x-ms-blob-content-length",
+        required: true,
+        xmlName: "x-ms-blob-content-length",
+        type: {
+          name: "Number"
         }
       }
-      return value;
-    }
-    function getPropertyFromParameterPath(parent, parameterPath) {
-      const result = { propertyFound: false };
-      let i = 0;
-      for (; i < parameterPath.length; ++i) {
-        const parameterPathPart = parameterPath[i];
-        if (parent && parameterPathPart in parent) {
-          parent = parent[parameterPathPart];
-        } else {
-          break;
+    };
+    exports2.blobSequenceNumber = {
+      parameterPath: ["options", "blobSequenceNumber"],
+      mapper: {
+        defaultValue: 0,
+        serializedName: "x-ms-blob-sequence-number",
+        xmlName: "x-ms-blob-sequence-number",
+        type: {
+          name: "Number"
         }
       }
-      if (i === parameterPath.length) {
-        result.propertyValue = parent;
-        result.propertyFound = true;
+    };
+    exports2.contentType1 = {
+      parameterPath: ["options", "contentType"],
+      mapper: {
+        defaultValue: "application/octet-stream",
+        isConstant: true,
+        serializedName: "Content-Type",
+        type: {
+          name: "String"
+        }
       }
-      return result;
-    }
-    var originalRequestSymbol = /* @__PURE__ */ Symbol.for("@azure/core-client original request");
-    function hasOriginalRequest(request2) {
-      return originalRequestSymbol in request2;
-    }
-    function getOperationRequestInfo(request2) {
-      if (hasOriginalRequest(request2)) {
-        return getOperationRequestInfo(request2[originalRequestSymbol]);
+    };
+    exports2.body1 = {
+      parameterPath: "body",
+      mapper: {
+        serializedName: "body",
+        required: true,
+        xmlName: "body",
+        type: {
+          name: "Stream"
+        }
       }
-      let info7 = state_js_1.state.operationRequestMap.get(request2);
-      if (!info7) {
-        info7 = {};
-        state_js_1.state.operationRequestMap.set(request2, info7);
+    };
+    exports2.accept2 = {
+      parameterPath: "accept",
+      mapper: {
+        defaultValue: "application/xml",
+        isConstant: true,
+        serializedName: "Accept",
+        type: {
+          name: "String"
+        }
       }
-      return info7;
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/deserializationPolicy.js
-var require_deserializationPolicy = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/deserializationPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.deserializationPolicyName = void 0;
-    exports2.deserializationPolicy = deserializationPolicy;
-    var interfaces_js_1 = require_interfaces();
-    var core_rest_pipeline_1 = require_commonjs8();
-    var serializer_js_1 = require_serializer();
-    var operationHelpers_js_1 = require_operationHelpers();
-    var defaultJsonContentTypes = ["application/json", "text/json"];
-    var defaultXmlContentTypes = ["application/xml", "application/atom+xml"];
-    exports2.deserializationPolicyName = "deserializationPolicy";
-    function deserializationPolicy(options = {}) {
-      const jsonContentTypes = options.expectedContentTypes?.json ?? defaultJsonContentTypes;
-      const xmlContentTypes = options.expectedContentTypes?.xml ?? defaultXmlContentTypes;
-      const parseXML = options.parseXML;
-      const serializerOptions = options.serializerOptions;
-      const updatedOptions = {
-        xml: {
-          rootName: serializerOptions?.xml.rootName ?? "",
-          includeRoot: serializerOptions?.xml.includeRoot ?? false,
-          xmlCharKey: serializerOptions?.xml.xmlCharKey ?? interfaces_js_1.XML_CHARKEY
+    };
+    exports2.comp19 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "page",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
-      };
-      return {
-        name: exports2.deserializationPolicyName,
-        async sendRequest(request2, next) {
-          const response = await next(request2);
-          return deserializeResponseBody(jsonContentTypes, xmlContentTypes, response, updatedOptions, parseXML);
+      }
+    };
+    exports2.pageWrite = {
+      parameterPath: "pageWrite",
+      mapper: {
+        defaultValue: "update",
+        isConstant: true,
+        serializedName: "x-ms-page-write",
+        type: {
+          name: "String"
         }
-      };
-    }
-    function getOperationResponseMap(parsedResponse) {
-      let result;
-      const request2 = parsedResponse.request;
-      const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(request2);
-      const operationSpec = operationInfo?.operationSpec;
-      if (operationSpec) {
-        if (!operationInfo?.operationResponseGetter) {
-          result = operationSpec.responses[parsedResponse.status];
-        } else {
-          result = operationInfo?.operationResponseGetter(operationSpec, parsedResponse);
+      }
+    };
+    exports2.ifSequenceNumberLessThanOrEqualTo = {
+      parameterPath: [
+        "options",
+        "sequenceNumberAccessConditions",
+        "ifSequenceNumberLessThanOrEqualTo"
+      ],
+      mapper: {
+        serializedName: "x-ms-if-sequence-number-le",
+        xmlName: "x-ms-if-sequence-number-le",
+        type: {
+          name: "Number"
         }
       }
-      return result;
-    }
-    function shouldDeserializeResponse(parsedResponse) {
-      const request2 = parsedResponse.request;
-      const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(request2);
-      const shouldDeserialize = operationInfo?.shouldDeserialize;
-      let result;
-      if (shouldDeserialize === void 0) {
-        result = true;
-      } else if (typeof shouldDeserialize === "boolean") {
-        result = shouldDeserialize;
-      } else {
-        result = shouldDeserialize(parsedResponse);
+    };
+    exports2.ifSequenceNumberLessThan = {
+      parameterPath: [
+        "options",
+        "sequenceNumberAccessConditions",
+        "ifSequenceNumberLessThan"
+      ],
+      mapper: {
+        serializedName: "x-ms-if-sequence-number-lt",
+        xmlName: "x-ms-if-sequence-number-lt",
+        type: {
+          name: "Number"
+        }
       }
-      return result;
-    }
-    async function deserializeResponseBody(jsonContentTypes, xmlContentTypes, response, options, parseXML) {
-      const parsedResponse = await parse2(jsonContentTypes, xmlContentTypes, response, options, parseXML);
-      if (!shouldDeserializeResponse(parsedResponse)) {
-        return parsedResponse;
+    };
+    exports2.ifSequenceNumberEqualTo = {
+      parameterPath: [
+        "options",
+        "sequenceNumberAccessConditions",
+        "ifSequenceNumberEqualTo"
+      ],
+      mapper: {
+        serializedName: "x-ms-if-sequence-number-eq",
+        xmlName: "x-ms-if-sequence-number-eq",
+        type: {
+          name: "Number"
+        }
       }
-      const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(parsedResponse.request);
-      const operationSpec = operationInfo?.operationSpec;
-      if (!operationSpec || !operationSpec.responses) {
-        return parsedResponse;
+    };
+    exports2.pageWrite1 = {
+      parameterPath: "pageWrite",
+      mapper: {
+        defaultValue: "clear",
+        isConstant: true,
+        serializedName: "x-ms-page-write",
+        type: {
+          name: "String"
+        }
       }
-      const responseSpec = getOperationResponseMap(parsedResponse);
-      const { error: error3, shouldReturnResponse } = handleErrorResponse(parsedResponse, operationSpec, responseSpec, options);
-      if (error3) {
-        throw error3;
-      } else if (shouldReturnResponse) {
-        return parsedResponse;
+    };
+    exports2.sourceUrl = {
+      parameterPath: "sourceUrl",
+      mapper: {
+        serializedName: "x-ms-copy-source",
+        required: true,
+        xmlName: "x-ms-copy-source",
+        type: {
+          name: "String"
+        }
       }
-      if (responseSpec) {
-        if (responseSpec.bodyMapper) {
-          let valueToDeserialize = parsedResponse.parsedBody;
-          if (operationSpec.isXML && responseSpec.bodyMapper.type.name === serializer_js_1.MapperTypeNames.Sequence) {
-            valueToDeserialize = typeof valueToDeserialize === "object" ? valueToDeserialize[responseSpec.bodyMapper.xmlElementName] : [];
-          }
-          try {
-            parsedResponse.parsedBody = operationSpec.serializer.deserialize(responseSpec.bodyMapper, valueToDeserialize, "operationRes.parsedBody", options);
-          } catch (deserializeError) {
-            const restError = new core_rest_pipeline_1.RestError(`Error ${deserializeError} occurred in deserializing the responseBody - ${parsedResponse.bodyAsText}`, {
-              statusCode: parsedResponse.status,
-              request: parsedResponse.request,
-              response: parsedResponse
-            });
-            throw restError;
-          }
-        } else if (operationSpec.httpMethod === "HEAD") {
-          parsedResponse.parsedBody = response.status >= 200 && response.status < 300;
+    };
+    exports2.sourceRange = {
+      parameterPath: "sourceRange",
+      mapper: {
+        serializedName: "x-ms-source-range",
+        required: true,
+        xmlName: "x-ms-source-range",
+        type: {
+          name: "String"
         }
-        if (responseSpec.headersMapper) {
-          parsedResponse.parsedHeaders = operationSpec.serializer.deserialize(responseSpec.headersMapper, parsedResponse.headers.toJSON(), "operationRes.parsedHeaders", { xml: {}, ignoreUnknownProperties: true });
+      }
+    };
+    exports2.sourceContentCrc64 = {
+      parameterPath: ["options", "sourceContentCrc64"],
+      mapper: {
+        serializedName: "x-ms-source-content-crc64",
+        xmlName: "x-ms-source-content-crc64",
+        type: {
+          name: "ByteArray"
         }
       }
-      return parsedResponse;
-    }
-    function isOperationSpecEmpty(operationSpec) {
-      const expectedStatusCodes = Object.keys(operationSpec.responses);
-      return expectedStatusCodes.length === 0 || expectedStatusCodes.length === 1 && expectedStatusCodes[0] === "default";
-    }
-    function handleErrorResponse(parsedResponse, operationSpec, responseSpec, options) {
-      const isSuccessByStatus = 200 <= parsedResponse.status && parsedResponse.status < 300;
-      const isExpectedStatusCode = isOperationSpecEmpty(operationSpec) ? isSuccessByStatus : !!responseSpec;
-      if (isExpectedStatusCode) {
-        if (responseSpec) {
-          if (!responseSpec.isError) {
-            return { error: null, shouldReturnResponse: false };
-          }
-        } else {
-          return { error: null, shouldReturnResponse: false };
+    };
+    exports2.range1 = {
+      parameterPath: "range",
+      mapper: {
+        serializedName: "x-ms-range",
+        required: true,
+        xmlName: "x-ms-range",
+        type: {
+          name: "String"
         }
       }
-      const errorResponseSpec = responseSpec ?? operationSpec.responses.default;
-      const initialErrorMessage = parsedResponse.request.streamResponseStatusCodes?.has(parsedResponse.status) ? `Unexpected status code: ${parsedResponse.status}` : parsedResponse.bodyAsText;
-      const error3 = new core_rest_pipeline_1.RestError(initialErrorMessage, {
-        statusCode: parsedResponse.status,
-        request: parsedResponse.request,
-        response: parsedResponse
-      });
-      if (!errorResponseSpec && !(parsedResponse.parsedBody?.error?.code && parsedResponse.parsedBody?.error?.message)) {
-        throw error3;
+    };
+    exports2.comp20 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "pagelist",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
       }
-      const defaultBodyMapper = errorResponseSpec?.bodyMapper;
-      const defaultHeadersMapper = errorResponseSpec?.headersMapper;
-      try {
-        if (parsedResponse.parsedBody) {
-          const parsedBody = parsedResponse.parsedBody;
-          let deserializedError;
-          if (defaultBodyMapper) {
-            let valueToDeserialize = parsedBody;
-            if (operationSpec.isXML && defaultBodyMapper.type.name === serializer_js_1.MapperTypeNames.Sequence) {
-              valueToDeserialize = [];
-              const elementName = defaultBodyMapper.xmlElementName;
-              if (typeof parsedBody === "object" && elementName) {
-                valueToDeserialize = parsedBody[elementName];
-              }
-            }
-            deserializedError = operationSpec.serializer.deserialize(defaultBodyMapper, valueToDeserialize, "error.response.parsedBody", options);
-          }
-          const internalError = parsedBody.error || deserializedError || parsedBody;
-          error3.code = internalError.code;
-          if (internalError.message) {
-            error3.message = internalError.message;
-          }
-          if (defaultBodyMapper) {
-            error3.response.parsedBody = deserializedError;
-          }
+    };
+    exports2.prevsnapshot = {
+      parameterPath: ["options", "prevsnapshot"],
+      mapper: {
+        serializedName: "prevsnapshot",
+        xmlName: "prevsnapshot",
+        type: {
+          name: "String"
         }
-        if (parsedResponse.headers && defaultHeadersMapper) {
-          error3.response.parsedHeaders = operationSpec.serializer.deserialize(defaultHeadersMapper, parsedResponse.headers.toJSON(), "operationRes.parsedHeaders");
+      }
+    };
+    exports2.prevSnapshotUrl = {
+      parameterPath: ["options", "prevSnapshotUrl"],
+      mapper: {
+        serializedName: "x-ms-previous-snapshot-url",
+        xmlName: "x-ms-previous-snapshot-url",
+        type: {
+          name: "String"
         }
-      } catch (defaultError) {
-        error3.message = `Error "${defaultError.message}" occurred in deserializing the responseBody - "${parsedResponse.bodyAsText}" for the default response.`;
       }
-      return { error: error3, shouldReturnResponse: false };
-    }
-    async function parse2(jsonContentTypes, xmlContentTypes, operationResponse, opts, parseXML) {
-      if (!operationResponse.request.streamResponseStatusCodes?.has(operationResponse.status) && operationResponse.bodyAsText) {
-        const text = operationResponse.bodyAsText;
-        const contentType = operationResponse.headers.get("Content-Type") || "";
-        const contentComponents = !contentType ? [] : contentType.split(";").map((component) => component.toLowerCase());
-        try {
-          if (contentComponents.length === 0 || contentComponents.some((component) => jsonContentTypes.indexOf(component) !== -1)) {
-            operationResponse.parsedBody = JSON.parse(text);
-            return operationResponse;
-          } else if (contentComponents.some((component) => xmlContentTypes.indexOf(component) !== -1)) {
-            if (!parseXML) {
-              throw new Error("Parsing XML not supported.");
-            }
-            const body = await parseXML(text, opts.xml);
-            operationResponse.parsedBody = body;
-            return operationResponse;
-          }
-        } catch (err) {
-          const msg = `Error "${err}" occurred while parsing the response body - ${operationResponse.bodyAsText}.`;
-          const errCode = err.code || core_rest_pipeline_1.RestError.PARSE_ERROR;
-          const e = new core_rest_pipeline_1.RestError(msg, {
-            code: errCode,
-            statusCode: operationResponse.status,
-            request: operationResponse.request,
-            response: operationResponse
-          });
-          throw e;
+    };
+    exports2.sequenceNumberAction = {
+      parameterPath: "sequenceNumberAction",
+      mapper: {
+        serializedName: "x-ms-sequence-number-action",
+        required: true,
+        xmlName: "x-ms-sequence-number-action",
+        type: {
+          name: "Enum",
+          allowedValues: ["max", "update", "increment"]
         }
       }
-      return operationResponse;
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/interfaceHelpers.js
-var require_interfaceHelpers = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/interfaceHelpers.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getStreamingResponseStatusCodes = getStreamingResponseStatusCodes;
-    exports2.getPathStringFromParameter = getPathStringFromParameter;
-    var serializer_js_1 = require_serializer();
-    function getStreamingResponseStatusCodes(operationSpec) {
-      const result = /* @__PURE__ */ new Set();
-      for (const statusCode in operationSpec.responses) {
-        const operationResponse = operationSpec.responses[statusCode];
-        if (operationResponse.bodyMapper && operationResponse.bodyMapper.type.name === serializer_js_1.MapperTypeNames.Stream) {
-          result.add(Number(statusCode));
+    };
+    exports2.comp21 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "incrementalcopy",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
       }
-      return result;
-    }
-    function getPathStringFromParameter(parameter) {
-      const { parameterPath, mapper } = parameter;
-      let result;
-      if (typeof parameterPath === "string") {
-        result = parameterPath;
-      } else if (Array.isArray(parameterPath)) {
-        result = parameterPath.join(".");
-      } else {
-        result = mapper.serializedName;
+    };
+    exports2.blobType1 = {
+      parameterPath: "blobType",
+      mapper: {
+        defaultValue: "AppendBlob",
+        isConstant: true,
+        serializedName: "x-ms-blob-type",
+        type: {
+          name: "String"
+        }
       }
-      return result;
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/serializationPolicy.js
-var require_serializationPolicy = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/serializationPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.serializationPolicyName = void 0;
-    exports2.serializationPolicy = serializationPolicy;
-    exports2.serializeHeaders = serializeHeaders;
-    exports2.serializeRequestBody = serializeRequestBody;
-    var interfaces_js_1 = require_interfaces();
-    var operationHelpers_js_1 = require_operationHelpers();
-    var serializer_js_1 = require_serializer();
-    var interfaceHelpers_js_1 = require_interfaceHelpers();
-    exports2.serializationPolicyName = "serializationPolicy";
-    function serializationPolicy(options = {}) {
-      const stringifyXML = options.stringifyXML;
-      return {
-        name: exports2.serializationPolicyName,
-        async sendRequest(request2, next) {
-          const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(request2);
-          const operationSpec = operationInfo?.operationSpec;
-          const operationArguments = operationInfo?.operationArguments;
-          if (operationSpec && operationArguments) {
-            serializeHeaders(request2, operationArguments, operationSpec);
-            serializeRequestBody(request2, operationArguments, operationSpec, stringifyXML);
-          }
-          return next(request2);
+    };
+    exports2.comp22 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "appendblock",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
-      };
-    }
-    function serializeHeaders(request2, operationArguments, operationSpec) {
-      if (operationSpec.headerParameters) {
-        for (const headerParameter of operationSpec.headerParameters) {
-          let headerValue = (0, operationHelpers_js_1.getOperationArgumentValueFromParameter)(operationArguments, headerParameter);
-          if (headerValue !== null && headerValue !== void 0 || headerParameter.mapper.required) {
-            headerValue = operationSpec.serializer.serialize(headerParameter.mapper, headerValue, (0, interfaceHelpers_js_1.getPathStringFromParameter)(headerParameter));
-            const headerCollectionPrefix = headerParameter.mapper.headerCollectionPrefix;
-            if (headerCollectionPrefix) {
-              for (const key of Object.keys(headerValue)) {
-                request2.headers.set(headerCollectionPrefix + key, headerValue[key]);
-              }
-            } else {
-              request2.headers.set(headerParameter.mapper.serializedName || (0, interfaceHelpers_js_1.getPathStringFromParameter)(headerParameter), headerValue);
-            }
-          }
+      }
+    };
+    exports2.maxSize = {
+      parameterPath: ["options", "appendPositionAccessConditions", "maxSize"],
+      mapper: {
+        serializedName: "x-ms-blob-condition-maxsize",
+        xmlName: "x-ms-blob-condition-maxsize",
+        type: {
+          name: "Number"
         }
       }
-      const customHeaders = operationArguments.options?.requestOptions?.customHeaders;
-      if (customHeaders) {
-        for (const customHeaderName of Object.keys(customHeaders)) {
-          request2.headers.set(customHeaderName, customHeaders[customHeaderName]);
+    };
+    exports2.appendPosition = {
+      parameterPath: [
+        "options",
+        "appendPositionAccessConditions",
+        "appendPosition"
+      ],
+      mapper: {
+        serializedName: "x-ms-blob-condition-appendpos",
+        xmlName: "x-ms-blob-condition-appendpos",
+        type: {
+          name: "Number"
         }
       }
-    }
-    function serializeRequestBody(request2, operationArguments, operationSpec, stringifyXML = function() {
-      throw new Error("XML serialization unsupported!");
-    }) {
-      const serializerOptions = operationArguments.options?.serializerOptions;
-      const updatedOptions = {
-        xml: {
-          rootName: serializerOptions?.xml.rootName ?? "",
-          includeRoot: serializerOptions?.xml.includeRoot ?? false,
-          xmlCharKey: serializerOptions?.xml.xmlCharKey ?? interfaces_js_1.XML_CHARKEY
+    };
+    exports2.sourceRange1 = {
+      parameterPath: ["options", "sourceRange"],
+      mapper: {
+        serializedName: "x-ms-source-range",
+        xmlName: "x-ms-source-range",
+        type: {
+          name: "String"
         }
-      };
-      const xmlCharKey = updatedOptions.xml.xmlCharKey;
-      if (operationSpec.requestBody && operationSpec.requestBody.mapper) {
-        request2.body = (0, operationHelpers_js_1.getOperationArgumentValueFromParameter)(operationArguments, operationSpec.requestBody);
-        const bodyMapper = operationSpec.requestBody.mapper;
-        const { required, serializedName, xmlName, xmlElementName, xmlNamespace, xmlNamespacePrefix, nullable } = bodyMapper;
-        const typeName = bodyMapper.type.name;
-        try {
-          if (request2.body !== void 0 && request2.body !== null || nullable && request2.body === null || required) {
-            const requestBodyParameterPathString = (0, interfaceHelpers_js_1.getPathStringFromParameter)(operationSpec.requestBody);
-            request2.body = operationSpec.serializer.serialize(bodyMapper, request2.body, requestBodyParameterPathString, updatedOptions);
-            const isStream = typeName === serializer_js_1.MapperTypeNames.Stream;
-            if (operationSpec.isXML) {
-              const xmlnsKey = xmlNamespacePrefix ? `xmlns:${xmlNamespacePrefix}` : "xmlns";
-              const value = getXmlValueWithNamespace(xmlNamespace, xmlnsKey, typeName, request2.body, updatedOptions);
-              if (typeName === serializer_js_1.MapperTypeNames.Sequence) {
-                request2.body = stringifyXML(prepareXMLRootList(value, xmlElementName || xmlName || serializedName, xmlnsKey, xmlNamespace), { rootName: xmlName || serializedName, xmlCharKey });
-              } else if (!isStream) {
-                request2.body = stringifyXML(value, {
-                  rootName: xmlName || serializedName,
-                  xmlCharKey
-                });
-              }
-            } else if (typeName === serializer_js_1.MapperTypeNames.String && (operationSpec.contentType?.match("text/plain") || operationSpec.mediaType === "text")) {
-              return;
-            } else if (!isStream) {
-              request2.body = JSON.stringify(request2.body);
-            }
-          }
-        } catch (error3) {
-          throw new Error(`Error "${error3.message}" occurred in serializing the payload - ${JSON.stringify(serializedName, void 0, "  ")}.`);
+      }
+    };
+    exports2.comp23 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "seal",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
-      } else if (operationSpec.formDataParameters && operationSpec.formDataParameters.length > 0) {
-        request2.formData = {};
-        for (const formDataParameter of operationSpec.formDataParameters) {
-          const formDataParameterValue = (0, operationHelpers_js_1.getOperationArgumentValueFromParameter)(operationArguments, formDataParameter);
-          if (formDataParameterValue !== void 0 && formDataParameterValue !== null) {
-            const formDataParameterPropertyName = formDataParameter.mapper.serializedName || (0, interfaceHelpers_js_1.getPathStringFromParameter)(formDataParameter);
-            request2.formData[formDataParameterPropertyName] = operationSpec.serializer.serialize(formDataParameter.mapper, formDataParameterValue, (0, interfaceHelpers_js_1.getPathStringFromParameter)(formDataParameter), updatedOptions);
-          }
+      }
+    };
+    exports2.blobType2 = {
+      parameterPath: "blobType",
+      mapper: {
+        defaultValue: "BlockBlob",
+        isConstant: true,
+        serializedName: "x-ms-blob-type",
+        type: {
+          name: "String"
         }
       }
-    }
-    function getXmlValueWithNamespace(xmlNamespace, xmlnsKey, typeName, serializedValue, options) {
-      if (xmlNamespace && !["Composite", "Sequence", "Dictionary"].includes(typeName)) {
-        const result = {};
-        result[options.xml.xmlCharKey] = serializedValue;
-        result[interfaces_js_1.XML_ATTRKEY] = { [xmlnsKey]: xmlNamespace };
-        return result;
+    };
+    exports2.copySourceBlobProperties = {
+      parameterPath: ["options", "copySourceBlobProperties"],
+      mapper: {
+        serializedName: "x-ms-copy-source-blob-properties",
+        xmlName: "x-ms-copy-source-blob-properties",
+        type: {
+          name: "Boolean"
+        }
       }
-      return serializedValue;
-    }
-    function prepareXMLRootList(obj, elementName, xmlNamespaceKey, xmlNamespace) {
-      if (!Array.isArray(obj)) {
-        obj = [obj];
+    };
+    exports2.comp24 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "block",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
       }
-      if (!xmlNamespaceKey || !xmlNamespace) {
-        return { [elementName]: obj };
+    };
+    exports2.blockId = {
+      parameterPath: "blockId",
+      mapper: {
+        serializedName: "blockid",
+        required: true,
+        xmlName: "blockid",
+        type: {
+          name: "String"
+        }
       }
-      const result = { [elementName]: obj };
-      result[interfaces_js_1.XML_ATTRKEY] = { [xmlNamespaceKey]: xmlNamespace };
-      return result;
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/pipeline.js
-var require_pipeline3 = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/pipeline.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createClientPipeline = createClientPipeline;
-    var deserializationPolicy_js_1 = require_deserializationPolicy();
-    var core_rest_pipeline_1 = require_commonjs8();
-    var serializationPolicy_js_1 = require_serializationPolicy();
-    function createClientPipeline(options = {}) {
-      const pipeline = (0, core_rest_pipeline_1.createPipelineFromOptions)(options ?? {});
-      if (options.credentialOptions) {
-        pipeline.addPolicy((0, core_rest_pipeline_1.bearerTokenAuthenticationPolicy)({
-          credential: options.credentialOptions.credential,
-          scopes: options.credentialOptions.credentialScopes
-        }));
+    };
+    exports2.blocks = {
+      parameterPath: "blocks",
+      mapper: mappers_js_1.BlockLookupList
+    };
+    exports2.comp25 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "blocklist",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
       }
-      pipeline.addPolicy((0, serializationPolicy_js_1.serializationPolicy)(options.serializationOptions), { phase: "Serialize" });
-      pipeline.addPolicy((0, deserializationPolicy_js_1.deserializationPolicy)(options.deserializationOptions), {
-        phase: "Deserialize"
-      });
-      return pipeline;
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/httpClientCache.js
-var require_httpClientCache = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/httpClientCache.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getCachedDefaultHttpClient = getCachedDefaultHttpClient;
-    var core_rest_pipeline_1 = require_commonjs8();
-    var cachedHttpClient;
-    function getCachedDefaultHttpClient() {
-      if (!cachedHttpClient) {
-        cachedHttpClient = (0, core_rest_pipeline_1.createDefaultHttpClient)();
+    };
+    exports2.listType = {
+      parameterPath: "listType",
+      mapper: {
+        defaultValue: "committed",
+        serializedName: "blocklisttype",
+        required: true,
+        xmlName: "blocklisttype",
+        type: {
+          name: "Enum",
+          allowedValues: ["committed", "uncommitted", "all"]
+        }
       }
-      return cachedHttpClient;
-    }
+    };
   }
 });
 
-// node_modules/@azure/core-client/dist/commonjs/urlHelpers.js
-var require_urlHelpers2 = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/urlHelpers.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/service.js
+var require_service = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/service.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getRequestUrl = getRequestUrl;
-    exports2.appendQueryParams = appendQueryParams;
-    var operationHelpers_js_1 = require_operationHelpers();
-    var interfaceHelpers_js_1 = require_interfaceHelpers();
-    var CollectionFormatToDelimiterMap = {
-      CSV: ",",
-      SSV: " ",
-      Multi: "Multi",
-      TSV: "	",
-      Pipes: "|"
-    };
-    function getRequestUrl(baseUri, operationSpec, operationArguments, fallbackObject) {
-      const urlReplacements = calculateUrlReplacements(operationSpec, operationArguments, fallbackObject);
-      let isAbsolutePath = false;
-      let requestUrl = replaceAll(baseUri, urlReplacements);
-      if (operationSpec.path) {
-        let path3 = replaceAll(operationSpec.path, urlReplacements);
-        if (operationSpec.path === "/{nextLink}" && path3.startsWith("/")) {
-          path3 = path3.substring(1);
-        }
-        if (isAbsoluteUrl(path3)) {
-          requestUrl = path3;
-          isAbsolutePath = true;
-        } else {
-          requestUrl = appendPath(requestUrl, path3);
-        }
+    exports2.ServiceImpl = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var coreClient = tslib_1.__importStar(require_commonjs10());
+    var Mappers = tslib_1.__importStar(require_mappers());
+    var Parameters = tslib_1.__importStar(require_parameters());
+    var ServiceImpl = class {
+      client;
+      /**
+       * Initialize a new instance of the class Service class.
+       * @param client Reference to the service client
+       */
+      constructor(client) {
+        this.client = client;
       }
-      const { queryParams, sequenceParams } = calculateQueryParameters(operationSpec, operationArguments, fallbackObject);
-      requestUrl = appendQueryParams(requestUrl, queryParams, sequenceParams, isAbsolutePath);
-      return requestUrl;
-    }
-    function replaceAll(input, replacements) {
-      let result = input;
-      for (const [searchValue, replaceValue] of replacements) {
-        result = result.split(searchValue).join(replaceValue);
+      /**
+       * Sets properties for a storage account's Blob service endpoint, including properties for Storage
+       * Analytics and CORS (Cross-Origin Resource Sharing) rules
+       * @param blobServiceProperties The StorageService properties.
+       * @param options The options parameters.
+       */
+      setProperties(blobServiceProperties, options) {
+        return this.client.sendOperationRequest({ blobServiceProperties, options }, setPropertiesOperationSpec);
       }
-      return result;
-    }
-    function calculateUrlReplacements(operationSpec, operationArguments, fallbackObject) {
-      const result = /* @__PURE__ */ new Map();
-      if (operationSpec.urlParameters?.length) {
-        for (const urlParameter of operationSpec.urlParameters) {
-          let urlParameterValue = (0, operationHelpers_js_1.getOperationArgumentValueFromParameter)(operationArguments, urlParameter, fallbackObject);
-          const parameterPathString = (0, interfaceHelpers_js_1.getPathStringFromParameter)(urlParameter);
-          urlParameterValue = operationSpec.serializer.serialize(urlParameter.mapper, urlParameterValue, parameterPathString);
-          if (!urlParameter.skipEncoding) {
-            urlParameterValue = encodeURIComponent(urlParameterValue);
-          }
-          result.set(`{${urlParameter.mapper.serializedName || parameterPathString}}`, urlParameterValue);
-        }
+      /**
+       * gets the properties of a storage account's Blob service, including properties for Storage Analytics
+       * and CORS (Cross-Origin Resource Sharing) rules.
+       * @param options The options parameters.
+       */
+      getProperties(options) {
+        return this.client.sendOperationRequest({ options }, getPropertiesOperationSpec);
       }
-      return result;
-    }
-    function isAbsoluteUrl(url) {
-      return url.includes("://");
-    }
-    function appendPath(url, pathToAppend) {
-      if (!pathToAppend) {
-        return url;
+      /**
+       * Retrieves statistics related to replication for the Blob service. It is only available on the
+       * secondary location endpoint when read-access geo-redundant replication is enabled for the storage
+       * account.
+       * @param options The options parameters.
+       */
+      getStatistics(options) {
+        return this.client.sendOperationRequest({ options }, getStatisticsOperationSpec);
       }
-      const parsedUrl = new URL(url);
-      let newPath = parsedUrl.pathname;
-      if (!newPath.endsWith("/")) {
-        newPath = `${newPath}/`;
+      /**
+       * The List Containers Segment operation returns a list of the containers under the specified account
+       * @param options The options parameters.
+       */
+      listContainersSegment(options) {
+        return this.client.sendOperationRequest({ options }, listContainersSegmentOperationSpec);
       }
-      if (pathToAppend.startsWith("/")) {
-        pathToAppend = pathToAppend.substring(1);
+      /**
+       * Retrieves a user delegation key for the Blob service. This is only a valid operation when using
+       * bearer token authentication.
+       * @param keyInfo Key information
+       * @param options The options parameters.
+       */
+      getUserDelegationKey(keyInfo, options) {
+        return this.client.sendOperationRequest({ keyInfo, options }, getUserDelegationKeyOperationSpec);
       }
-      const searchStart = pathToAppend.indexOf("?");
-      if (searchStart !== -1) {
-        const path3 = pathToAppend.substring(0, searchStart);
-        const search = pathToAppend.substring(searchStart + 1);
-        newPath = newPath + path3;
-        if (search) {
-          parsedUrl.search = parsedUrl.search ? `${parsedUrl.search}&${search}` : search;
-        }
-      } else {
-        newPath = newPath + pathToAppend;
+      /**
+       * Returns the sku name and account kind
+       * @param options The options parameters.
+       */
+      getAccountInfo(options) {
+        return this.client.sendOperationRequest({ options }, getAccountInfoOperationSpec);
       }
-      parsedUrl.pathname = newPath;
-      return parsedUrl.toString();
-    }
-    function calculateQueryParameters(operationSpec, operationArguments, fallbackObject) {
-      const result = /* @__PURE__ */ new Map();
-      const sequenceParams = /* @__PURE__ */ new Set();
-      if (operationSpec.queryParameters?.length) {
-        for (const queryParameter of operationSpec.queryParameters) {
-          if (queryParameter.mapper.type.name === "Sequence" && queryParameter.mapper.serializedName) {
-            sequenceParams.add(queryParameter.mapper.serializedName);
-          }
-          let queryParameterValue = (0, operationHelpers_js_1.getOperationArgumentValueFromParameter)(operationArguments, queryParameter, fallbackObject);
-          if (queryParameterValue !== void 0 && queryParameterValue !== null || queryParameter.mapper.required) {
-            queryParameterValue = operationSpec.serializer.serialize(queryParameter.mapper, queryParameterValue, (0, interfaceHelpers_js_1.getPathStringFromParameter)(queryParameter));
-            const delimiter = queryParameter.collectionFormat ? CollectionFormatToDelimiterMap[queryParameter.collectionFormat] : "";
-            if (Array.isArray(queryParameterValue)) {
-              queryParameterValue = queryParameterValue.map((item) => {
-                if (item === null || item === void 0) {
-                  return "";
-                }
-                return item;
-              });
-            }
-            if (queryParameter.collectionFormat === "Multi" && queryParameterValue.length === 0) {
-              continue;
-            } else if (Array.isArray(queryParameterValue) && (queryParameter.collectionFormat === "SSV" || queryParameter.collectionFormat === "TSV")) {
-              queryParameterValue = queryParameterValue.join(delimiter);
-            }
-            if (!queryParameter.skipEncoding) {
-              if (Array.isArray(queryParameterValue)) {
-                queryParameterValue = queryParameterValue.map((item) => {
-                  return encodeURIComponent(item);
-                });
-              } else {
-                queryParameterValue = encodeURIComponent(queryParameterValue);
-              }
-            }
-            if (Array.isArray(queryParameterValue) && (queryParameter.collectionFormat === "CSV" || queryParameter.collectionFormat === "Pipes")) {
-              queryParameterValue = queryParameterValue.join(delimiter);
-            }
-            result.set(queryParameter.mapper.serializedName || (0, interfaceHelpers_js_1.getPathStringFromParameter)(queryParameter), queryParameterValue);
-          }
-        }
+      /**
+       * The Batch operation allows multiple API calls to be embedded into a single HTTP request.
+       * @param contentLength The length of the request.
+       * @param multipartContentType Required. The value of this header must be multipart/mixed with a batch
+       *                             boundary. Example header value: multipart/mixed; boundary=batch_
+       * @param body Initial data
+       * @param options The options parameters.
+       */
+      submitBatch(contentLength, multipartContentType, body, options) {
+        return this.client.sendOperationRequest({ contentLength, multipartContentType, body, options }, submitBatchOperationSpec);
       }
-      return {
-        queryParams: result,
-        sequenceParams
-      };
-    }
-    function simpleParseQueryParams(queryString) {
-      const result = /* @__PURE__ */ new Map();
-      if (!queryString || queryString[0] !== "?") {
-        return result;
+      /**
+       * The Filter Blobs operation enables callers to list blobs across all containers whose tags match a
+       * given search expression.  Filter blobs searches across all containers within a storage account but
+       * can be scoped within the expression to a single container.
+       * @param options The options parameters.
+       */
+      filterBlobs(options) {
+        return this.client.sendOperationRequest({ options }, filterBlobsOperationSpec);
       }
-      queryString = queryString.slice(1);
-      const pairs2 = queryString.split("&");
-      for (const pair of pairs2) {
-        const [name, value] = pair.split("=", 2);
-        const existingValue = result.get(name);
-        if (existingValue) {
-          if (Array.isArray(existingValue)) {
-            existingValue.push(value);
-          } else {
-            result.set(name, [existingValue, value]);
-          }
-        } else {
-          result.set(name, value);
+    };
+    exports2.ServiceImpl = ServiceImpl;
+    var xmlSerializer = coreClient.createSerializer(
+      Mappers,
+      /* isXml */
+      true
+    );
+    var setPropertiesOperationSpec = {
+      path: "/",
+      httpMethod: "PUT",
+      responses: {
+        202: {
+          headersMapper: Mappers.ServiceSetPropertiesHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ServiceSetPropertiesExceptionHeaders
         }
-      }
-      return result;
-    }
-    function appendQueryParams(url, queryParams, sequenceParams, noOverwrite = false) {
-      if (queryParams.size === 0) {
-        return url;
-      }
-      const parsedUrl = new URL(url);
-      const combinedParams = simpleParseQueryParams(parsedUrl.search);
-      for (const [name, value] of queryParams) {
-        const existingValue = combinedParams.get(name);
-        if (Array.isArray(existingValue)) {
-          if (Array.isArray(value)) {
-            existingValue.push(...value);
-            const valueSet = new Set(existingValue);
-            combinedParams.set(name, Array.from(valueSet));
-          } else {
-            existingValue.push(value);
-          }
-        } else if (existingValue) {
-          if (Array.isArray(value)) {
-            value.unshift(existingValue);
-          } else if (sequenceParams.has(name)) {
-            combinedParams.set(name, [existingValue, value]);
-          }
-          if (!noOverwrite) {
-            combinedParams.set(name, value);
-          }
-        } else {
-          combinedParams.set(name, value);
+      },
+      requestBody: Parameters.blobServiceProperties,
+      queryParameters: [
+        Parameters.restype,
+        Parameters.comp,
+        Parameters.timeoutInSeconds
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.contentType,
+        Parameters.accept,
+        Parameters.version,
+        Parameters.requestId
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "xml",
+      serializer: xmlSerializer
+    };
+    var getPropertiesOperationSpec = {
+      path: "/",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.BlobServiceProperties,
+          headersMapper: Mappers.ServiceGetPropertiesHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ServiceGetPropertiesExceptionHeaders
         }
-      }
-      const searchPieces = [];
-      for (const [name, value] of combinedParams) {
-        if (typeof value === "string") {
-          searchPieces.push(`${name}=${value}`);
-        } else if (Array.isArray(value)) {
-          for (const subValue of value) {
-            searchPieces.push(`${name}=${subValue}`);
-          }
-        } else {
-          searchPieces.push(`${name}=${value}`);
+      },
+      queryParameters: [
+        Parameters.restype,
+        Parameters.comp,
+        Parameters.timeoutInSeconds
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var getStatisticsOperationSpec = {
+      path: "/",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.BlobServiceStatistics,
+          headersMapper: Mappers.ServiceGetStatisticsHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ServiceGetStatisticsExceptionHeaders
         }
-      }
-      parsedUrl.search = searchPieces.length ? `?${searchPieces.join("&")}` : "";
-      return parsedUrl.toString();
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/log.js
-var require_log4 = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/log.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.logger = void 0;
-    var logger_1 = require_commonjs4();
-    exports2.logger = (0, logger_1.createClientLogger)("core-client");
+      },
+      queryParameters: [
+        Parameters.restype,
+        Parameters.timeoutInSeconds,
+        Parameters.comp1
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var listContainersSegmentOperationSpec = {
+      path: "/",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.ListContainersSegmentResponse,
+          headersMapper: Mappers.ServiceListContainersSegmentHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ServiceListContainersSegmentExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.comp2,
+        Parameters.prefix,
+        Parameters.marker,
+        Parameters.maxPageSize,
+        Parameters.include
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var getUserDelegationKeyOperationSpec = {
+      path: "/",
+      httpMethod: "POST",
+      responses: {
+        200: {
+          bodyMapper: Mappers.UserDelegationKey,
+          headersMapper: Mappers.ServiceGetUserDelegationKeyHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ServiceGetUserDelegationKeyExceptionHeaders
+        }
+      },
+      requestBody: Parameters.keyInfo,
+      queryParameters: [
+        Parameters.restype,
+        Parameters.timeoutInSeconds,
+        Parameters.comp3
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.contentType,
+        Parameters.accept,
+        Parameters.version,
+        Parameters.requestId
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "xml",
+      serializer: xmlSerializer
+    };
+    var getAccountInfoOperationSpec = {
+      path: "/",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          headersMapper: Mappers.ServiceGetAccountInfoHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ServiceGetAccountInfoExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.comp,
+        Parameters.timeoutInSeconds,
+        Parameters.restype1
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var submitBatchOperationSpec = {
+      path: "/",
+      httpMethod: "POST",
+      responses: {
+        202: {
+          bodyMapper: {
+            type: { name: "Stream" },
+            serializedName: "parsedResponse"
+          },
+          headersMapper: Mappers.ServiceSubmitBatchHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ServiceSubmitBatchExceptionHeaders
+        }
+      },
+      requestBody: Parameters.body,
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp4],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.accept,
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.contentLength,
+        Parameters.multipartContentType
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "xml",
+      serializer: xmlSerializer
+    };
+    var filterBlobsOperationSpec = {
+      path: "/",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.FilterBlobSegment,
+          headersMapper: Mappers.ServiceFilterBlobsHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ServiceFilterBlobsExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.marker,
+        Parameters.maxPageSize,
+        Parameters.comp5,
+        Parameters.where
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
   }
 });
 
-// node_modules/@azure/core-client/dist/commonjs/serviceClient.js
-var require_serviceClient = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/serviceClient.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/container.js
+var require_container = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/container.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ServiceClient = void 0;
-    var core_rest_pipeline_1 = require_commonjs8();
-    var pipeline_js_1 = require_pipeline3();
-    var utils_js_1 = require_utils6();
-    var httpClientCache_js_1 = require_httpClientCache();
-    var operationHelpers_js_1 = require_operationHelpers();
-    var urlHelpers_js_1 = require_urlHelpers2();
-    var interfaceHelpers_js_1 = require_interfaceHelpers();
-    var log_js_1 = require_log4();
-    var ServiceClient = class {
-      /**
-       * If specified, this is the base URI that requests will be made against for this ServiceClient.
-       * If it is not specified, then all OperationSpecs must contain a baseUrl property.
-       */
-      _endpoint;
-      /**
-       * The default request content type for the service.
-       * Used if no requestContentType is present on an OperationSpec.
-       */
-      _requestContentType;
+    exports2.ContainerImpl = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var coreClient = tslib_1.__importStar(require_commonjs10());
+    var Mappers = tslib_1.__importStar(require_mappers());
+    var Parameters = tslib_1.__importStar(require_parameters());
+    var ContainerImpl = class {
+      client;
       /**
-       * Set to true if the request is sent over HTTP instead of HTTPS
+       * Initialize a new instance of the class Container class.
+       * @param client Reference to the service client
        */
-      _allowInsecureConnection;
+      constructor(client) {
+        this.client = client;
+      }
       /**
-       * The HTTP client that will be used to send requests.
+       * creates a new container under the specified account. If the container with the same name already
+       * exists, the operation fails
+       * @param options The options parameters.
        */
-      _httpClient;
+      create(options) {
+        return this.client.sendOperationRequest({ options }, createOperationSpec);
+      }
       /**
-       * The pipeline used by this client to make requests
+       * returns all user-defined metadata and system properties for the specified container. The data
+       * returned does not include the container's list of blobs
+       * @param options The options parameters.
        */
-      pipeline;
+      getProperties(options) {
+        return this.client.sendOperationRequest({ options }, getPropertiesOperationSpec);
+      }
       /**
-       * The ServiceClient constructor
-       * @param options - The service client options that govern the behavior of the client.
+       * operation marks the specified container for deletion. The container and any blobs contained within
+       * it are later deleted during garbage collection
+       * @param options The options parameters.
        */
-      constructor(options = {}) {
-        this._requestContentType = options.requestContentType;
-        this._endpoint = options.endpoint ?? options.baseUri;
-        if (options.baseUri) {
-          log_js_1.logger.warning("The baseUri option for SDK Clients has been deprecated, please use endpoint instead.");
-        }
-        this._allowInsecureConnection = options.allowInsecureConnection;
-        this._httpClient = options.httpClient || (0, httpClientCache_js_1.getCachedDefaultHttpClient)();
-        this.pipeline = options.pipeline || createDefaultPipeline(options);
-        if (options.additionalPolicies?.length) {
-          for (const { policy, position } of options.additionalPolicies) {
-            const afterPhase = position === "perRetry" ? "Sign" : void 0;
-            this.pipeline.addPolicy(policy, {
-              afterPhase
-            });
-          }
-        }
+      delete(options) {
+        return this.client.sendOperationRequest({ options }, deleteOperationSpec);
       }
       /**
-       * Send the provided httpRequest.
+       * operation sets one or more user-defined name-value pairs for the specified container.
+       * @param options The options parameters.
        */
-      async sendRequest(request2) {
-        return this.pipeline.sendRequest(this._httpClient, request2);
+      setMetadata(options) {
+        return this.client.sendOperationRequest({ options }, setMetadataOperationSpec);
       }
       /**
-       * Send an HTTP request that is populated using the provided OperationSpec.
-       * @typeParam T - The typed result of the request, based on the OperationSpec.
-       * @param operationArguments - The arguments that the HTTP request's templated values will be populated from.
-       * @param operationSpec - The OperationSpec to use to populate the httpRequest.
+       * gets the permissions for the specified container. The permissions indicate whether container data
+       * may be accessed publicly.
+       * @param options The options parameters.
        */
-      async sendOperationRequest(operationArguments, operationSpec) {
-        const endpoint2 = operationSpec.baseUrl || this._endpoint;
-        if (!endpoint2) {
-          throw new Error("If operationSpec.baseUrl is not specified, then the ServiceClient must have a endpoint string property that contains the base URL to use.");
-        }
-        const url = (0, urlHelpers_js_1.getRequestUrl)(endpoint2, operationSpec, operationArguments, this);
-        const request2 = (0, core_rest_pipeline_1.createPipelineRequest)({
-          url
-        });
-        request2.method = operationSpec.httpMethod;
-        const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(request2);
-        operationInfo.operationSpec = operationSpec;
-        operationInfo.operationArguments = operationArguments;
-        const contentType = operationSpec.contentType || this._requestContentType;
-        if (contentType && operationSpec.requestBody) {
-          request2.headers.set("Content-Type", contentType);
-        }
-        const options = operationArguments.options;
-        if (options) {
-          const requestOptions = options.requestOptions;
-          if (requestOptions) {
-            if (requestOptions.timeout) {
-              request2.timeout = requestOptions.timeout;
-            }
-            if (requestOptions.onUploadProgress) {
-              request2.onUploadProgress = requestOptions.onUploadProgress;
-            }
-            if (requestOptions.onDownloadProgress) {
-              request2.onDownloadProgress = requestOptions.onDownloadProgress;
-            }
-            if (requestOptions.shouldDeserialize !== void 0) {
-              operationInfo.shouldDeserialize = requestOptions.shouldDeserialize;
-            }
-            if (requestOptions.allowInsecureConnection) {
-              request2.allowInsecureConnection = true;
-            }
-          }
-          if (options.abortSignal) {
-            request2.abortSignal = options.abortSignal;
-          }
-          if (options.tracingOptions) {
-            request2.tracingOptions = options.tracingOptions;
-          }
-        }
-        if (this._allowInsecureConnection) {
-          request2.allowInsecureConnection = true;
-        }
-        if (request2.streamResponseStatusCodes === void 0) {
-          request2.streamResponseStatusCodes = (0, interfaceHelpers_js_1.getStreamingResponseStatusCodes)(operationSpec);
-        }
-        try {
-          const rawResponse = await this.sendRequest(request2);
-          const flatResponse = (0, utils_js_1.flattenResponse)(rawResponse, operationSpec.responses[rawResponse.status]);
-          if (options?.onResponse) {
-            options.onResponse(rawResponse, flatResponse);
-          }
-          return flatResponse;
-        } catch (error3) {
-          if (typeof error3 === "object" && error3?.response) {
-            const rawResponse = error3.response;
-            const flatResponse = (0, utils_js_1.flattenResponse)(rawResponse, operationSpec.responses[error3.statusCode] || operationSpec.responses["default"]);
-            error3.details = flatResponse;
-            if (options?.onResponse) {
-              options.onResponse(rawResponse, flatResponse, error3);
-            }
-          }
-          throw error3;
-        }
-      }
-    };
-    exports2.ServiceClient = ServiceClient;
-    function createDefaultPipeline(options) {
-      const credentialScopes = getCredentialScopes(options);
-      const credentialOptions = options.credential && credentialScopes ? { credentialScopes, credential: options.credential } : void 0;
-      return (0, pipeline_js_1.createClientPipeline)({
-        ...options,
-        credentialOptions
-      });
-    }
-    function getCredentialScopes(options) {
-      if (options.credentialScopes) {
-        return options.credentialScopes;
-      }
-      if (options.endpoint) {
-        return `${options.endpoint}/.default`;
-      }
-      if (options.baseUri) {
-        return `${options.baseUri}/.default`;
-      }
-      if (options.credential && !options.credentialScopes) {
-        throw new Error(`When using credentials, the ServiceClientOptions must contain either a endpoint or a credentialScopes. Unable to create a bearerTokenAuthenticationPolicy`);
-      }
-      return void 0;
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/authorizeRequestOnClaimChallenge.js
-var require_authorizeRequestOnClaimChallenge = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/authorizeRequestOnClaimChallenge.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.parseCAEChallenge = parseCAEChallenge;
-    exports2.authorizeRequestOnClaimChallenge = authorizeRequestOnClaimChallenge;
-    var log_js_1 = require_log4();
-    var base64_js_1 = require_base642();
-    function parseCAEChallenge(challenges) {
-      const bearerChallenges = `, ${challenges.trim()}`.split(", Bearer ").filter((x) => x);
-      return bearerChallenges.map((challenge) => {
-        const challengeParts = `${challenge.trim()}, `.split('", ').filter((x) => x);
-        const keyValuePairs = challengeParts.map((keyValue) => (([key, value]) => ({ [key]: value }))(keyValue.trim().split('="')));
-        return keyValuePairs.reduce((a, b) => ({ ...a, ...b }), {});
-      });
-    }
-    async function authorizeRequestOnClaimChallenge(onChallengeOptions) {
-      const { scopes, response } = onChallengeOptions;
-      const logger = onChallengeOptions.logger || log_js_1.logger;
-      const challenge = response.headers.get("WWW-Authenticate");
-      if (!challenge) {
-        logger.info(`The WWW-Authenticate header was missing. Failed to perform the Continuous Access Evaluation authentication flow.`);
-        return false;
-      }
-      const challenges = parseCAEChallenge(challenge) || [];
-      const parsedChallenge = challenges.find((x) => x.claims);
-      if (!parsedChallenge) {
-        logger.info(`The WWW-Authenticate header was missing the necessary "claims" to perform the Continuous Access Evaluation authentication flow.`);
-        return false;
-      }
-      const accessToken = await onChallengeOptions.getAccessToken(parsedChallenge.scope ? [parsedChallenge.scope] : scopes, {
-        claims: (0, base64_js_1.decodeStringToString)(parsedChallenge.claims)
-      });
-      if (!accessToken) {
-        return false;
+      getAccessPolicy(options) {
+        return this.client.sendOperationRequest({ options }, getAccessPolicyOperationSpec);
       }
-      onChallengeOptions.request.headers.set("Authorization", `${accessToken.tokenType ?? "Bearer"} ${accessToken.token}`);
-      return true;
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/authorizeRequestOnTenantChallenge.js
-var require_authorizeRequestOnTenantChallenge = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/authorizeRequestOnTenantChallenge.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.authorizeRequestOnTenantChallenge = void 0;
-    var Constants = {
-      DefaultScope: "/.default",
       /**
-       * Defines constants for use with HTTP headers.
+       * sets the permissions for the specified container. The permissions indicate whether blobs in a
+       * container may be accessed publicly.
+       * @param options The options parameters.
        */
-      HeaderConstants: {
-        /**
-         * The Authorization header.
-         */
-        AUTHORIZATION: "authorization"
-      }
-    };
-    function isUuid(text) {
-      return /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/.test(text);
-    }
-    var authorizeRequestOnTenantChallenge = async (challengeOptions) => {
-      const requestOptions = requestToOptions(challengeOptions.request);
-      const challenge = getChallenge(challengeOptions.response);
-      if (challenge) {
-        const challengeInfo = parseChallenge(challenge);
-        const challengeScopes = buildScopes(challengeOptions, challengeInfo);
-        const tenantId = extractTenantId(challengeInfo);
-        if (!tenantId) {
-          return false;
-        }
-        const accessToken = await challengeOptions.getAccessToken(challengeScopes, {
-          ...requestOptions,
-          tenantId
-        });
-        if (!accessToken) {
-          return false;
-        }
-        challengeOptions.request.headers.set(Constants.HeaderConstants.AUTHORIZATION, `${accessToken.tokenType ?? "Bearer"} ${accessToken.token}`);
-        return true;
-      }
-      return false;
-    };
-    exports2.authorizeRequestOnTenantChallenge = authorizeRequestOnTenantChallenge;
-    function extractTenantId(challengeInfo) {
-      const parsedAuthUri = new URL(challengeInfo.authorization_uri);
-      const pathSegments = parsedAuthUri.pathname.split("/");
-      const tenantId = pathSegments[1];
-      if (tenantId && isUuid(tenantId)) {
-        return tenantId;
-      }
-      return void 0;
-    }
-    function buildScopes(challengeOptions, challengeInfo) {
-      if (!challengeInfo.resource_id) {
-        return challengeOptions.scopes;
-      }
-      const challengeScopes = new URL(challengeInfo.resource_id);
-      challengeScopes.pathname = Constants.DefaultScope;
-      let scope = challengeScopes.toString();
-      if (scope === "https://disk.azure.com/.default") {
-        scope = "https://disk.azure.com//.default";
-      }
-      return [scope];
-    }
-    function getChallenge(response) {
-      const challenge = response.headers.get("WWW-Authenticate");
-      if (response.status === 401 && challenge) {
-        return challenge;
-      }
-      return;
-    }
-    function parseChallenge(challenge) {
-      const bearerChallenge = challenge.slice("Bearer ".length);
-      const challengeParts = `${bearerChallenge.trim()} `.split(" ").filter((x) => x);
-      const keyValuePairs = challengeParts.map((keyValue) => (([key, value]) => ({ [key]: value }))(keyValue.trim().split("=")));
-      return keyValuePairs.reduce((a, b) => ({ ...a, ...b }), {});
-    }
-    function requestToOptions(request2) {
-      return {
-        abortSignal: request2.abortSignal,
-        requestOptions: {
-          timeout: request2.timeout
-        },
-        tracingOptions: request2.tracingOptions
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/index.js
-var require_commonjs10 = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.authorizeRequestOnTenantChallenge = exports2.authorizeRequestOnClaimChallenge = exports2.serializationPolicyName = exports2.serializationPolicy = exports2.deserializationPolicyName = exports2.deserializationPolicy = exports2.XML_CHARKEY = exports2.XML_ATTRKEY = exports2.createClientPipeline = exports2.ServiceClient = exports2.MapperTypeNames = exports2.createSerializer = void 0;
-    var serializer_js_1 = require_serializer();
-    Object.defineProperty(exports2, "createSerializer", { enumerable: true, get: function() {
-      return serializer_js_1.createSerializer;
-    } });
-    Object.defineProperty(exports2, "MapperTypeNames", { enumerable: true, get: function() {
-      return serializer_js_1.MapperTypeNames;
-    } });
-    var serviceClient_js_1 = require_serviceClient();
-    Object.defineProperty(exports2, "ServiceClient", { enumerable: true, get: function() {
-      return serviceClient_js_1.ServiceClient;
-    } });
-    var pipeline_js_1 = require_pipeline3();
-    Object.defineProperty(exports2, "createClientPipeline", { enumerable: true, get: function() {
-      return pipeline_js_1.createClientPipeline;
-    } });
-    var interfaces_js_1 = require_interfaces();
-    Object.defineProperty(exports2, "XML_ATTRKEY", { enumerable: true, get: function() {
-      return interfaces_js_1.XML_ATTRKEY;
-    } });
-    Object.defineProperty(exports2, "XML_CHARKEY", { enumerable: true, get: function() {
-      return interfaces_js_1.XML_CHARKEY;
-    } });
-    var deserializationPolicy_js_1 = require_deserializationPolicy();
-    Object.defineProperty(exports2, "deserializationPolicy", { enumerable: true, get: function() {
-      return deserializationPolicy_js_1.deserializationPolicy;
-    } });
-    Object.defineProperty(exports2, "deserializationPolicyName", { enumerable: true, get: function() {
-      return deserializationPolicy_js_1.deserializationPolicyName;
-    } });
-    var serializationPolicy_js_1 = require_serializationPolicy();
-    Object.defineProperty(exports2, "serializationPolicy", { enumerable: true, get: function() {
-      return serializationPolicy_js_1.serializationPolicy;
-    } });
-    Object.defineProperty(exports2, "serializationPolicyName", { enumerable: true, get: function() {
-      return serializationPolicy_js_1.serializationPolicyName;
-    } });
-    var authorizeRequestOnClaimChallenge_js_1 = require_authorizeRequestOnClaimChallenge();
-    Object.defineProperty(exports2, "authorizeRequestOnClaimChallenge", { enumerable: true, get: function() {
-      return authorizeRequestOnClaimChallenge_js_1.authorizeRequestOnClaimChallenge;
-    } });
-    var authorizeRequestOnTenantChallenge_js_1 = require_authorizeRequestOnTenantChallenge();
-    Object.defineProperty(exports2, "authorizeRequestOnTenantChallenge", { enumerable: true, get: function() {
-      return authorizeRequestOnTenantChallenge_js_1.authorizeRequestOnTenantChallenge;
-    } });
-  }
-});
-
-// node_modules/@azure/core-http-compat/dist/commonjs/util.js
-var require_util17 = __commonJS({
-  "node_modules/@azure/core-http-compat/dist/commonjs/util.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.HttpHeaders = void 0;
-    exports2.toPipelineRequest = toPipelineRequest;
-    exports2.toWebResourceLike = toWebResourceLike;
-    exports2.toHttpHeadersLike = toHttpHeadersLike;
-    var core_rest_pipeline_1 = require_commonjs8();
-    var originalRequestSymbol = /* @__PURE__ */ Symbol("Original PipelineRequest");
-    var originalClientRequestSymbol = /* @__PURE__ */ Symbol.for("@azure/core-client original request");
-    function toPipelineRequest(webResource, options = {}) {
-      const compatWebResource = webResource;
-      const request2 = compatWebResource[originalRequestSymbol];
-      const headers = (0, core_rest_pipeline_1.createHttpHeaders)(webResource.headers.toJson({ preserveCase: true }));
-      if (request2) {
-        request2.headers = headers;
-        return request2;
-      } else {
-        const newRequest = (0, core_rest_pipeline_1.createPipelineRequest)({
-          url: webResource.url,
-          method: webResource.method,
-          headers,
-          withCredentials: webResource.withCredentials,
-          timeout: webResource.timeout,
-          requestId: webResource.requestId,
-          abortSignal: webResource.abortSignal,
-          body: webResource.body,
-          formData: webResource.formData,
-          disableKeepAlive: !!webResource.keepAlive,
-          onDownloadProgress: webResource.onDownloadProgress,
-          onUploadProgress: webResource.onUploadProgress,
-          proxySettings: webResource.proxySettings,
-          streamResponseStatusCodes: webResource.streamResponseStatusCodes,
-          agent: webResource.agent,
-          requestOverrides: webResource.requestOverrides
-        });
-        if (options.originalRequest) {
-          newRequest[originalClientRequestSymbol] = options.originalRequest;
-        }
-        return newRequest;
-      }
-    }
-    function toWebResourceLike(request2, options) {
-      const originalRequest = options?.originalRequest ?? request2;
-      const webResource = {
-        url: request2.url,
-        method: request2.method,
-        headers: toHttpHeadersLike(request2.headers),
-        withCredentials: request2.withCredentials,
-        timeout: request2.timeout,
-        requestId: request2.headers.get("x-ms-client-request-id") || request2.requestId,
-        abortSignal: request2.abortSignal,
-        body: request2.body,
-        formData: request2.formData,
-        keepAlive: !!request2.disableKeepAlive,
-        onDownloadProgress: request2.onDownloadProgress,
-        onUploadProgress: request2.onUploadProgress,
-        proxySettings: request2.proxySettings,
-        streamResponseStatusCodes: request2.streamResponseStatusCodes,
-        agent: request2.agent,
-        requestOverrides: request2.requestOverrides,
-        clone() {
-          throw new Error("Cannot clone a non-proxied WebResourceLike");
-        },
-        prepare() {
-          throw new Error("WebResourceLike.prepare() is not supported by @azure/core-http-compat");
-        },
-        validateRequestProperties() {
-        }
-      };
-      if (options?.createProxy) {
-        return new Proxy(webResource, {
-          get(target, prop, receiver) {
-            if (prop === originalRequestSymbol) {
-              return request2;
-            } else if (prop === "clone") {
-              return () => {
-                return toWebResourceLike(toPipelineRequest(webResource, { originalRequest }), {
-                  createProxy: true,
-                  originalRequest
-                });
-              };
-            }
-            return Reflect.get(target, prop, receiver);
-          },
-          set(target, prop, value, receiver) {
-            if (prop === "keepAlive") {
-              request2.disableKeepAlive = !value;
-            }
-            const passThroughProps = [
-              "url",
-              "method",
-              "withCredentials",
-              "timeout",
-              "requestId",
-              "abortSignal",
-              "body",
-              "formData",
-              "onDownloadProgress",
-              "onUploadProgress",
-              "proxySettings",
-              "streamResponseStatusCodes",
-              "agent",
-              "requestOverrides"
-            ];
-            if (typeof prop === "string" && passThroughProps.includes(prop)) {
-              request2[prop] = value;
-            }
-            return Reflect.set(target, prop, value, receiver);
-          }
-        });
-      } else {
-        return webResource;
+      setAccessPolicy(options) {
+        return this.client.sendOperationRequest({ options }, setAccessPolicyOperationSpec);
       }
-    }
-    function toHttpHeadersLike(headers) {
-      return new HttpHeaders(headers.toJSON({ preserveCase: true }));
-    }
-    function getHeaderKey(headerName) {
-      return headerName.toLowerCase();
-    }
-    var HttpHeaders = class _HttpHeaders {
-      _headersMap;
-      constructor(rawHeaders) {
-        this._headersMap = {};
-        if (rawHeaders) {
-          for (const headerName in rawHeaders) {
-            this.set(headerName, rawHeaders[headerName]);
-          }
-        }
+      /**
+       * Restores a previously-deleted container.
+       * @param options The options parameters.
+       */
+      restore(options) {
+        return this.client.sendOperationRequest({ options }, restoreOperationSpec);
       }
       /**
-       * Set a header in this collection with the provided name and value. The name is
-       * case-insensitive.
-       * @param headerName - The name of the header to set. This value is case-insensitive.
-       * @param headerValue - The value of the header to set.
+       * Renames an existing container.
+       * @param sourceContainerName Required.  Specifies the name of the container to rename.
+       * @param options The options parameters.
        */
-      set(headerName, headerValue) {
-        this._headersMap[getHeaderKey(headerName)] = {
-          name: headerName,
-          value: headerValue.toString()
-        };
+      rename(sourceContainerName, options) {
+        return this.client.sendOperationRequest({ sourceContainerName, options }, renameOperationSpec);
       }
       /**
-       * Get the header value for the provided header name, or undefined if no header exists in this
-       * collection with the provided name.
-       * @param headerName - The name of the header.
+       * The Batch operation allows multiple API calls to be embedded into a single HTTP request.
+       * @param contentLength The length of the request.
+       * @param multipartContentType Required. The value of this header must be multipart/mixed with a batch
+       *                             boundary. Example header value: multipart/mixed; boundary=batch_
+       * @param body Initial data
+       * @param options The options parameters.
        */
-      get(headerName) {
-        const header = this._headersMap[getHeaderKey(headerName)];
-        return !header ? void 0 : header.value;
+      submitBatch(contentLength, multipartContentType, body, options) {
+        return this.client.sendOperationRequest({ contentLength, multipartContentType, body, options }, submitBatchOperationSpec);
       }
       /**
-       * Get whether or not this header collection contains a header entry for the provided header name.
+       * The Filter Blobs operation enables callers to list blobs in a container whose tags match a given
+       * search expression.  Filter blobs searches within the given container.
+       * @param options The options parameters.
        */
-      contains(headerName) {
-        return !!this._headersMap[getHeaderKey(headerName)];
+      filterBlobs(options) {
+        return this.client.sendOperationRequest({ options }, filterBlobsOperationSpec);
       }
       /**
-       * Remove the header with the provided headerName. Return whether or not the header existed and
-       * was removed.
-       * @param headerName - The name of the header to remove.
+       * [Update] establishes and manages a lock on a container for delete operations. The lock duration can
+       * be 15 to 60 seconds, or can be infinite
+       * @param options The options parameters.
        */
-      remove(headerName) {
-        const result = this.contains(headerName);
-        delete this._headersMap[getHeaderKey(headerName)];
-        return result;
+      acquireLease(options) {
+        return this.client.sendOperationRequest({ options }, acquireLeaseOperationSpec);
       }
       /**
-       * Get the headers that are contained this collection as an object.
+       * [Update] establishes and manages a lock on a container for delete operations. The lock duration can
+       * be 15 to 60 seconds, or can be infinite
+       * @param leaseId Specifies the current lease ID on the resource.
+       * @param options The options parameters.
        */
-      rawHeaders() {
-        return this.toJson({ preserveCase: true });
+      releaseLease(leaseId, options) {
+        return this.client.sendOperationRequest({ leaseId, options }, releaseLeaseOperationSpec);
       }
       /**
-       * Get the headers that are contained in this collection as an array.
+       * [Update] establishes and manages a lock on a container for delete operations. The lock duration can
+       * be 15 to 60 seconds, or can be infinite
+       * @param leaseId Specifies the current lease ID on the resource.
+       * @param options The options parameters.
        */
-      headersArray() {
-        const headers = [];
-        for (const headerKey in this._headersMap) {
-          headers.push(this._headersMap[headerKey]);
-        }
-        return headers;
+      renewLease(leaseId, options) {
+        return this.client.sendOperationRequest({ leaseId, options }, renewLeaseOperationSpec);
       }
       /**
-       * Get the header names that are contained in this collection.
+       * [Update] establishes and manages a lock on a container for delete operations. The lock duration can
+       * be 15 to 60 seconds, or can be infinite
+       * @param options The options parameters.
        */
-      headerNames() {
-        const headerNames = [];
-        const headers = this.headersArray();
-        for (let i = 0; i < headers.length; ++i) {
-          headerNames.push(headers[i].name);
-        }
-        return headerNames;
+      breakLease(options) {
+        return this.client.sendOperationRequest({ options }, breakLeaseOperationSpec);
       }
       /**
-       * Get the header values that are contained in this collection.
+       * [Update] establishes and manages a lock on a container for delete operations. The lock duration can
+       * be 15 to 60 seconds, or can be infinite
+       * @param leaseId Specifies the current lease ID on the resource.
+       * @param proposedLeaseId Proposed lease ID, in a GUID string format. The Blob service returns 400
+       *                        (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor
+       *                        (String) for a list of valid GUID string formats.
+       * @param options The options parameters.
        */
-      headerValues() {
-        const headerValues = [];
-        const headers = this.headersArray();
-        for (let i = 0; i < headers.length; ++i) {
-          headerValues.push(headers[i].value);
-        }
-        return headerValues;
+      changeLease(leaseId, proposedLeaseId, options) {
+        return this.client.sendOperationRequest({ leaseId, proposedLeaseId, options }, changeLeaseOperationSpec);
       }
       /**
-       * Get the JSON object representation of this HTTP header collection.
+       * [Update] The List Blobs operation returns a list of the blobs under the specified container
+       * @param options The options parameters.
        */
-      toJson(options = {}) {
-        const result = {};
-        if (options.preserveCase) {
-          for (const headerKey in this._headersMap) {
-            const header = this._headersMap[headerKey];
-            result[header.name] = header.value;
-          }
-        } else {
-          for (const headerKey in this._headersMap) {
-            const header = this._headersMap[headerKey];
-            result[getHeaderKey(header.name)] = header.value;
-          }
-        }
-        return result;
+      listBlobFlatSegment(options) {
+        return this.client.sendOperationRequest({ options }, listBlobFlatSegmentOperationSpec);
       }
       /**
-       * Get the string representation of this HTTP header collection.
+       * [Update] The List Blobs operation returns a list of the blobs under the specified container
+       * @param delimiter When the request includes this parameter, the operation returns a BlobPrefix
+       *                  element in the response body that acts as a placeholder for all blobs whose names begin with the
+       *                  same substring up to the appearance of the delimiter character. The delimiter may be a single
+       *                  character or a string.
+       * @param options The options parameters.
        */
-      toString() {
-        return JSON.stringify(this.toJson({ preserveCase: true }));
+      listBlobHierarchySegment(delimiter, options) {
+        return this.client.sendOperationRequest({ delimiter, options }, listBlobHierarchySegmentOperationSpec);
       }
       /**
-       * Create a deep clone/copy of this HttpHeaders collection.
+       * Returns the sku name and account kind
+       * @param options The options parameters.
        */
-      clone() {
-        const resultPreservingCasing = {};
-        for (const headerKey in this._headersMap) {
-          const header = this._headersMap[headerKey];
-          resultPreservingCasing[header.name] = header.value;
-        }
-        return new _HttpHeaders(resultPreservingCasing);
+      getAccountInfo(options) {
+        return this.client.sendOperationRequest({ options }, getAccountInfoOperationSpec);
       }
     };
-    exports2.HttpHeaders = HttpHeaders;
-  }
-});
-
-// node_modules/@azure/core-http-compat/dist/commonjs/response.js
-var require_response3 = __commonJS({
-  "node_modules/@azure/core-http-compat/dist/commonjs/response.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.toCompatResponse = toCompatResponse;
-    exports2.toPipelineResponse = toPipelineResponse;
-    var core_rest_pipeline_1 = require_commonjs8();
-    var util_js_1 = require_util17();
-    var originalResponse = /* @__PURE__ */ Symbol("Original FullOperationResponse");
-    function toCompatResponse(response, options) {
-      let request2 = (0, util_js_1.toWebResourceLike)(response.request);
-      let headers = (0, util_js_1.toHttpHeadersLike)(response.headers);
-      if (options?.createProxy) {
-        return new Proxy(response, {
-          get(target, prop, receiver) {
-            if (prop === "headers") {
-              return headers;
-            } else if (prop === "request") {
-              return request2;
-            } else if (prop === originalResponse) {
-              return response;
-            }
-            return Reflect.get(target, prop, receiver);
+    exports2.ContainerImpl = ContainerImpl;
+    var xmlSerializer = coreClient.createSerializer(
+      Mappers,
+      /* isXml */
+      true
+    );
+    var createOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.ContainerCreateHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerCreateExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.restype2],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.metadata,
+        Parameters.access,
+        Parameters.defaultEncryptionScope,
+        Parameters.preventEncryptionScopeOverride
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var getPropertiesOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          headersMapper: Mappers.ContainerGetPropertiesHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerGetPropertiesExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.restype2],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var deleteOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "DELETE",
+      responses: {
+        202: {
+          headersMapper: Mappers.ContainerDeleteHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerDeleteExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.restype2],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var setMetadataOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.ContainerSetMetadataHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerSetMetadataExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.restype2,
+        Parameters.comp6
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var getAccessPolicyOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: {
+            type: {
+              name: "Sequence",
+              element: {
+                type: { name: "Composite", className: "SignedIdentifier" }
+              }
+            },
+            serializedName: "SignedIdentifiers",
+            xmlName: "SignedIdentifiers",
+            xmlIsWrapped: true,
+            xmlElementName: "SignedIdentifier"
           },
-          set(target, prop, value, receiver) {
-            if (prop === "headers") {
-              headers = value;
-            } else if (prop === "request") {
-              request2 = value;
-            }
-            return Reflect.set(target, prop, value, receiver);
-          }
-        });
-      } else {
-        return {
-          ...response,
-          request: request2,
-          headers
-        };
-      }
-    }
-    function toPipelineResponse(compatResponse) {
-      const extendedCompatResponse = compatResponse;
-      const response = extendedCompatResponse[originalResponse];
-      const headers = (0, core_rest_pipeline_1.createHttpHeaders)(compatResponse.headers.toJson({ preserveCase: true }));
-      if (response) {
-        response.headers = headers;
-        return response;
-      } else {
-        return {
-          ...compatResponse,
-          headers,
-          request: (0, util_js_1.toPipelineRequest)(compatResponse.request)
-        };
-      }
-    }
-  }
-});
-
-// node_modules/@azure/core-http-compat/dist/commonjs/extendedClient.js
-var require_extendedClient = __commonJS({
-  "node_modules/@azure/core-http-compat/dist/commonjs/extendedClient.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ExtendedServiceClient = void 0;
-    var disableKeepAlivePolicy_js_1 = require_disableKeepAlivePolicy();
-    var core_rest_pipeline_1 = require_commonjs8();
-    var core_client_1 = require_commonjs10();
-    var response_js_1 = require_response3();
-    var ExtendedServiceClient = class extends core_client_1.ServiceClient {
-      constructor(options) {
-        super(options);
-        if (options.keepAliveOptions?.enable === false && !(0, disableKeepAlivePolicy_js_1.pipelineContainsDisableKeepAlivePolicy)(this.pipeline)) {
-          this.pipeline.addPolicy((0, disableKeepAlivePolicy_js_1.createDisableKeepAlivePolicy)());
+          headersMapper: Mappers.ContainerGetAccessPolicyHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerGetAccessPolicyExceptionHeaders
         }
-        if (options.redirectOptions?.handleRedirects === false) {
-          this.pipeline.removePolicy({
-            name: core_rest_pipeline_1.redirectPolicyName
-          });
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.restype2,
+        Parameters.comp7
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var setAccessPolicyOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.ContainerSetAccessPolicyHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerSetAccessPolicyExceptionHeaders
         }
-      }
-      /**
-       * Compatible send operation request function.
-       *
-       * @param operationArguments - Operation arguments
-       * @param operationSpec - Operation Spec
-       * @returns
-       */
-      async sendOperationRequest(operationArguments, operationSpec) {
-        const userProvidedCallBack = operationArguments?.options?.onResponse;
-        let lastResponse;
-        function onResponse(rawResponse, flatResponse, error3) {
-          lastResponse = rawResponse;
-          if (userProvidedCallBack) {
-            userProvidedCallBack(rawResponse, flatResponse, error3);
-          }
+      },
+      requestBody: Parameters.containerAcl,
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.restype2,
+        Parameters.comp7
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.contentType,
+        Parameters.accept,
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.access,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "xml",
+      serializer: xmlSerializer
+    };
+    var restoreOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.ContainerRestoreHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerRestoreExceptionHeaders
         }
-        operationArguments.options = {
-          ...operationArguments.options,
-          onResponse
-        };
-        const result = await super.sendOperationRequest(operationArguments, operationSpec);
-        if (lastResponse) {
-          Object.defineProperty(result, "_response", {
-            value: (0, response_js_1.toCompatResponse)(lastResponse)
-          });
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.restype2,
+        Parameters.comp8
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.deletedContainerName,
+        Parameters.deletedContainerVersion
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var renameOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.ContainerRenameHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerRenameExceptionHeaders
         }
-        return result;
-      }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.restype2,
+        Parameters.comp9
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.sourceContainerName,
+        Parameters.sourceLeaseId
+      ],
+      isXML: true,
+      serializer: xmlSerializer
     };
-    exports2.ExtendedServiceClient = ExtendedServiceClient;
-  }
-});
-
-// node_modules/@azure/core-http-compat/dist/commonjs/policies/requestPolicyFactoryPolicy.js
-var require_requestPolicyFactoryPolicy = __commonJS({
-  "node_modules/@azure/core-http-compat/dist/commonjs/policies/requestPolicyFactoryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.requestPolicyFactoryPolicyName = exports2.HttpPipelineLogLevel = void 0;
-    exports2.createRequestPolicyFactoryPolicy = createRequestPolicyFactoryPolicy;
-    var util_js_1 = require_util17();
-    var response_js_1 = require_response3();
-    var HttpPipelineLogLevel;
-    (function(HttpPipelineLogLevel2) {
-      HttpPipelineLogLevel2[HttpPipelineLogLevel2["ERROR"] = 1] = "ERROR";
-      HttpPipelineLogLevel2[HttpPipelineLogLevel2["INFO"] = 3] = "INFO";
-      HttpPipelineLogLevel2[HttpPipelineLogLevel2["OFF"] = 0] = "OFF";
-      HttpPipelineLogLevel2[HttpPipelineLogLevel2["WARNING"] = 2] = "WARNING";
-    })(HttpPipelineLogLevel || (exports2.HttpPipelineLogLevel = HttpPipelineLogLevel = {}));
-    var mockRequestPolicyOptions = {
-      log(_logLevel, _message) {
+    var submitBatchOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "POST",
+      responses: {
+        202: {
+          bodyMapper: {
+            type: { name: "Stream" },
+            serializedName: "parsedResponse"
+          },
+          headersMapper: Mappers.ContainerSubmitBatchHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerSubmitBatchExceptionHeaders
+        }
       },
-      shouldLog(_logLevel) {
-        return false;
-      }
+      requestBody: Parameters.body,
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.comp4,
+        Parameters.restype2
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.accept,
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.contentLength,
+        Parameters.multipartContentType
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "xml",
+      serializer: xmlSerializer
     };
-    exports2.requestPolicyFactoryPolicyName = "RequestPolicyFactoryPolicy";
-    function createRequestPolicyFactoryPolicy(factories) {
-      const orderedFactories = factories.slice().reverse();
-      return {
-        name: exports2.requestPolicyFactoryPolicyName,
-        async sendRequest(request2, next) {
-          let httpPipeline = {
-            async sendRequest(httpRequest) {
-              const response2 = await next((0, util_js_1.toPipelineRequest)(httpRequest));
-              return (0, response_js_1.toCompatResponse)(response2, { createProxy: true });
-            }
-          };
-          for (const factory of orderedFactories) {
-            httpPipeline = factory.create(httpPipeline, mockRequestPolicyOptions);
-          }
-          const webResourceLike = (0, util_js_1.toWebResourceLike)(request2, { createProxy: true });
-          const response = await httpPipeline.sendRequest(webResourceLike);
-          return (0, response_js_1.toPipelineResponse)(response);
+    var filterBlobsOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.FilterBlobSegment,
+          headersMapper: Mappers.ContainerFilterBlobsHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerFilterBlobsExceptionHeaders
         }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-http-compat/dist/commonjs/httpClientAdapter.js
-var require_httpClientAdapter = __commonJS({
-  "node_modules/@azure/core-http-compat/dist/commonjs/httpClientAdapter.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.convertHttpClient = convertHttpClient;
-    var response_js_1 = require_response3();
-    var util_js_1 = require_util17();
-    function convertHttpClient(requestPolicyClient) {
-      return {
-        sendRequest: async (request2) => {
-          const response = await requestPolicyClient.sendRequest((0, util_js_1.toWebResourceLike)(request2, { createProxy: true }));
-          return (0, response_js_1.toPipelineResponse)(response);
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.marker,
+        Parameters.maxPageSize,
+        Parameters.comp5,
+        Parameters.where,
+        Parameters.restype2
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var acquireLeaseOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.ContainerAcquireLeaseHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerAcquireLeaseExceptionHeaders
         }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-http-compat/dist/commonjs/index.js
-var require_commonjs11 = __commonJS({
-  "node_modules/@azure/core-http-compat/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.toHttpHeadersLike = exports2.convertHttpClient = exports2.disableKeepAlivePolicyName = exports2.HttpPipelineLogLevel = exports2.createRequestPolicyFactoryPolicy = exports2.requestPolicyFactoryPolicyName = exports2.ExtendedServiceClient = void 0;
-    var extendedClient_js_1 = require_extendedClient();
-    Object.defineProperty(exports2, "ExtendedServiceClient", { enumerable: true, get: function() {
-      return extendedClient_js_1.ExtendedServiceClient;
-    } });
-    var requestPolicyFactoryPolicy_js_1 = require_requestPolicyFactoryPolicy();
-    Object.defineProperty(exports2, "requestPolicyFactoryPolicyName", { enumerable: true, get: function() {
-      return requestPolicyFactoryPolicy_js_1.requestPolicyFactoryPolicyName;
-    } });
-    Object.defineProperty(exports2, "createRequestPolicyFactoryPolicy", { enumerable: true, get: function() {
-      return requestPolicyFactoryPolicy_js_1.createRequestPolicyFactoryPolicy;
-    } });
-    Object.defineProperty(exports2, "HttpPipelineLogLevel", { enumerable: true, get: function() {
-      return requestPolicyFactoryPolicy_js_1.HttpPipelineLogLevel;
-    } });
-    var disableKeepAlivePolicy_js_1 = require_disableKeepAlivePolicy();
-    Object.defineProperty(exports2, "disableKeepAlivePolicyName", { enumerable: true, get: function() {
-      return disableKeepAlivePolicy_js_1.disableKeepAlivePolicyName;
-    } });
-    var httpClientAdapter_js_1 = require_httpClientAdapter();
-    Object.defineProperty(exports2, "convertHttpClient", { enumerable: true, get: function() {
-      return httpClientAdapter_js_1.convertHttpClient;
-    } });
-    var util_js_1 = require_util17();
-    Object.defineProperty(exports2, "toHttpHeadersLike", { enumerable: true, get: function() {
-      return util_js_1.toHttpHeadersLike;
-    } });
-  }
-});
-
-// node_modules/fast-xml-parser/lib/fxp.cjs
-var require_fxp = __commonJS({
-  "node_modules/fast-xml-parser/lib/fxp.cjs"(exports2, module2) {
-    (() => {
-      "use strict";
-      var t = { d: (e2, i2) => {
-        for (var n2 in i2) t.o(i2, n2) && !t.o(e2, n2) && Object.defineProperty(e2, n2, { enumerable: true, get: i2[n2] });
-      }, o: (t2, e2) => Object.prototype.hasOwnProperty.call(t2, e2), r: (t2) => {
-        "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t2, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(t2, "__esModule", { value: true });
-      } }, e = {};
-      t.r(e), t.d(e, { XMLBuilder: () => ut, XMLParser: () => et, XMLValidator: () => ft });
-      const i = ":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD", n = new RegExp("^[" + i + "][" + i + "\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$");
-      function s(t2, e2) {
-        const i2 = [];
-        let n2 = e2.exec(t2);
-        for (; n2; ) {
-          const s2 = [];
-          s2.startIndex = e2.lastIndex - n2[0].length;
-          const r2 = n2.length;
-          for (let t3 = 0; t3 < r2; t3++) s2.push(n2[t3]);
-          i2.push(s2), n2 = e2.exec(t2);
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.restype2,
+        Parameters.comp10
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.action,
+        Parameters.duration,
+        Parameters.proposedLeaseId
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var releaseLeaseOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.ContainerReleaseLeaseHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerReleaseLeaseExceptionHeaders
         }
-        return i2;
-      }
-      const r = function(t2) {
-        return !(null == n.exec(t2));
-      }, o = { allowBooleanAttributes: false, unpairedTags: [] };
-      function a(t2, e2) {
-        e2 = Object.assign({}, o, e2);
-        const i2 = [];
-        let n2 = false, s2 = false;
-        "\uFEFF" === t2[0] && (t2 = t2.substr(1));
-        for (let o2 = 0; o2 < t2.length; o2++) if ("<" === t2[o2] && "?" === t2[o2 + 1]) {
-          if (o2 += 2, o2 = u(t2, o2), o2.err) return o2;
-        } else {
-          if ("<" !== t2[o2]) {
-            if (l(t2[o2])) continue;
-            return x("InvalidChar", "char '" + t2[o2] + "' is not expected.", b(t2, o2));
-          }
-          {
-            let a2 = o2;
-            if (o2++, "!" === t2[o2]) {
-              o2 = h(t2, o2);
-              continue;
-            }
-            {
-              let d2 = false;
-              "/" === t2[o2] && (d2 = true, o2++);
-              let p2 = "";
-              for (; o2 < t2.length && ">" !== t2[o2] && " " !== t2[o2] && "	" !== t2[o2] && "\n" !== t2[o2] && "\r" !== t2[o2]; o2++) p2 += t2[o2];
-              if (p2 = p2.trim(), "/" === p2[p2.length - 1] && (p2 = p2.substring(0, p2.length - 1), o2--), !r(p2)) {
-                let e3;
-                return e3 = 0 === p2.trim().length ? "Invalid space after '<'." : "Tag '" + p2 + "' is an invalid name.", x("InvalidTag", e3, b(t2, o2));
-              }
-              const c2 = f(t2, o2);
-              if (false === c2) return x("InvalidAttr", "Attributes for '" + p2 + "' have open quote.", b(t2, o2));
-              let N2 = c2.value;
-              if (o2 = c2.index, "/" === N2[N2.length - 1]) {
-                const i3 = o2 - N2.length;
-                N2 = N2.substring(0, N2.length - 1);
-                const s3 = g(N2, e2);
-                if (true !== s3) return x(s3.err.code, s3.err.msg, b(t2, i3 + s3.err.line));
-                n2 = true;
-              } else if (d2) {
-                if (!c2.tagClosed) return x("InvalidTag", "Closing tag '" + p2 + "' doesn't have proper closing.", b(t2, o2));
-                if (N2.trim().length > 0) return x("InvalidTag", "Closing tag '" + p2 + "' can't have attributes or invalid starting.", b(t2, a2));
-                if (0 === i2.length) return x("InvalidTag", "Closing tag '" + p2 + "' has not been opened.", b(t2, a2));
-                {
-                  const e3 = i2.pop();
-                  if (p2 !== e3.tagName) {
-                    let i3 = b(t2, e3.tagStartPos);
-                    return x("InvalidTag", "Expected closing tag '" + e3.tagName + "' (opened in line " + i3.line + ", col " + i3.col + ") instead of closing tag '" + p2 + "'.", b(t2, a2));
-                  }
-                  0 == i2.length && (s2 = true);
-                }
-              } else {
-                const r2 = g(N2, e2);
-                if (true !== r2) return x(r2.err.code, r2.err.msg, b(t2, o2 - N2.length + r2.err.line));
-                if (true === s2) return x("InvalidXml", "Multiple possible root nodes found.", b(t2, o2));
-                -1 !== e2.unpairedTags.indexOf(p2) || i2.push({ tagName: p2, tagStartPos: a2 }), n2 = true;
-              }
-              for (o2++; o2 < t2.length; o2++) if ("<" === t2[o2]) {
-                if ("!" === t2[o2 + 1]) {
-                  o2++, o2 = h(t2, o2);
-                  continue;
-                }
-                if ("?" !== t2[o2 + 1]) break;
-                if (o2 = u(t2, ++o2), o2.err) return o2;
-              } else if ("&" === t2[o2]) {
-                const e3 = m(t2, o2);
-                if (-1 == e3) return x("InvalidChar", "char '&' is not expected.", b(t2, o2));
-                o2 = e3;
-              } else if (true === s2 && !l(t2[o2])) return x("InvalidXml", "Extra text at the end", b(t2, o2));
-              "<" === t2[o2] && o2--;
-            }
-          }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.restype2,
+        Parameters.comp10
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.action1,
+        Parameters.leaseId1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var renewLeaseOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.ContainerRenewLeaseHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerRenewLeaseExceptionHeaders
         }
-        return n2 ? 1 == i2.length ? x("InvalidTag", "Unclosed tag '" + i2[0].tagName + "'.", b(t2, i2[0].tagStartPos)) : !(i2.length > 0) || x("InvalidXml", "Invalid '" + JSON.stringify(i2.map(((t3) => t3.tagName)), null, 4).replace(/\r?\n/g, "") + "' found.", { line: 1, col: 1 }) : x("InvalidXml", "Start tag expected.", 1);
-      }
-      function l(t2) {
-        return " " === t2 || "	" === t2 || "\n" === t2 || "\r" === t2;
-      }
-      function u(t2, e2) {
-        const i2 = e2;
-        for (; e2 < t2.length; e2++) if ("?" != t2[e2] && " " != t2[e2]) ;
-        else {
-          const n2 = t2.substr(i2, e2 - i2);
-          if (e2 > 5 && "xml" === n2) return x("InvalidXml", "XML declaration allowed only at the start of the document.", b(t2, e2));
-          if ("?" == t2[e2] && ">" == t2[e2 + 1]) {
-            e2++;
-            break;
-          }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.restype2,
+        Parameters.comp10
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.leaseId1,
+        Parameters.action2
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var breakLeaseOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "PUT",
+      responses: {
+        202: {
+          headersMapper: Mappers.ContainerBreakLeaseHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerBreakLeaseExceptionHeaders
         }
-        return e2;
-      }
-      function h(t2, e2) {
-        if (t2.length > e2 + 5 && "-" === t2[e2 + 1] && "-" === t2[e2 + 2]) {
-          for (e2 += 3; e2 < t2.length; e2++) if ("-" === t2[e2] && "-" === t2[e2 + 1] && ">" === t2[e2 + 2]) {
-            e2 += 2;
-            break;
-          }
-        } else if (t2.length > e2 + 8 && "D" === t2[e2 + 1] && "O" === t2[e2 + 2] && "C" === t2[e2 + 3] && "T" === t2[e2 + 4] && "Y" === t2[e2 + 5] && "P" === t2[e2 + 6] && "E" === t2[e2 + 7]) {
-          let i2 = 1;
-          for (e2 += 8; e2 < t2.length; e2++) if ("<" === t2[e2]) i2++;
-          else if (">" === t2[e2] && (i2--, 0 === i2)) break;
-        } else if (t2.length > e2 + 9 && "[" === t2[e2 + 1] && "C" === t2[e2 + 2] && "D" === t2[e2 + 3] && "A" === t2[e2 + 4] && "T" === t2[e2 + 5] && "A" === t2[e2 + 6] && "[" === t2[e2 + 7]) {
-          for (e2 += 8; e2 < t2.length; e2++) if ("]" === t2[e2] && "]" === t2[e2 + 1] && ">" === t2[e2 + 2]) {
-            e2 += 2;
-            break;
-          }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.restype2,
+        Parameters.comp10
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.action3,
+        Parameters.breakPeriod
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var changeLeaseOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.ContainerChangeLeaseHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerChangeLeaseExceptionHeaders
         }
-        return e2;
-      }
-      const d = '"', p = "'";
-      function f(t2, e2) {
-        let i2 = "", n2 = "", s2 = false;
-        for (; e2 < t2.length; e2++) {
-          if (t2[e2] === d || t2[e2] === p) "" === n2 ? n2 = t2[e2] : n2 !== t2[e2] || (n2 = "");
-          else if (">" === t2[e2] && "" === n2) {
-            s2 = true;
-            break;
-          }
-          i2 += t2[e2];
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.restype2,
+        Parameters.comp10
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.leaseId1,
+        Parameters.action4,
+        Parameters.proposedLeaseId1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var listBlobFlatSegmentOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.ListBlobsFlatSegmentResponse,
+          headersMapper: Mappers.ContainerListBlobFlatSegmentHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerListBlobFlatSegmentExceptionHeaders
         }
-        return "" === n2 && { value: i2, index: e2, tagClosed: s2 };
-      }
-      const c = new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`, "g");
-      function g(t2, e2) {
-        const i2 = s(t2, c), n2 = {};
-        for (let t3 = 0; t3 < i2.length; t3++) {
-          if (0 === i2[t3][1].length) return x("InvalidAttr", "Attribute '" + i2[t3][2] + "' has no space in starting.", E(i2[t3]));
-          if (void 0 !== i2[t3][3] && void 0 === i2[t3][4]) return x("InvalidAttr", "Attribute '" + i2[t3][2] + "' is without value.", E(i2[t3]));
-          if (void 0 === i2[t3][3] && !e2.allowBooleanAttributes) return x("InvalidAttr", "boolean attribute '" + i2[t3][2] + "' is not allowed.", E(i2[t3]));
-          const s2 = i2[t3][2];
-          if (!N(s2)) return x("InvalidAttr", "Attribute '" + s2 + "' is an invalid name.", E(i2[t3]));
-          if (n2.hasOwnProperty(s2)) return x("InvalidAttr", "Attribute '" + s2 + "' is repeated.", E(i2[t3]));
-          n2[s2] = 1;
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.comp2,
+        Parameters.prefix,
+        Parameters.marker,
+        Parameters.maxPageSize,
+        Parameters.restype2,
+        Parameters.include1
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var listBlobHierarchySegmentOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.ListBlobsHierarchySegmentResponse,
+          headersMapper: Mappers.ContainerListBlobHierarchySegmentHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerListBlobHierarchySegmentExceptionHeaders
         }
-        return true;
-      }
-      function m(t2, e2) {
-        if (";" === t2[++e2]) return -1;
-        if ("#" === t2[e2]) return (function(t3, e3) {
-          let i3 = /\d/;
-          for ("x" === t3[e3] && (e3++, i3 = /[\da-fA-F]/); e3 < t3.length; e3++) {
-            if (";" === t3[e3]) return e3;
-            if (!t3[e3].match(i3)) break;
-          }
-          return -1;
-        })(t2, ++e2);
-        let i2 = 0;
-        for (; e2 < t2.length; e2++, i2++) if (!(t2[e2].match(/\w/) && i2 < 20)) {
-          if (";" === t2[e2]) break;
-          return -1;
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.comp2,
+        Parameters.prefix,
+        Parameters.marker,
+        Parameters.maxPageSize,
+        Parameters.restype2,
+        Parameters.include1,
+        Parameters.delimiter
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var getAccountInfoOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          headersMapper: Mappers.ContainerGetAccountInfoHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerGetAccountInfoExceptionHeaders
         }
-        return e2;
+      },
+      queryParameters: [
+        Parameters.comp,
+        Parameters.timeoutInSeconds,
+        Parameters.restype1
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blob.js
+var require_blob = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blob.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobImpl = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var coreClient = tslib_1.__importStar(require_commonjs10());
+    var Mappers = tslib_1.__importStar(require_mappers());
+    var Parameters = tslib_1.__importStar(require_parameters());
+    var BlobImpl = class {
+      client;
+      /**
+       * Initialize a new instance of the class Blob class.
+       * @param client Reference to the service client
+       */
+      constructor(client) {
+        this.client = client;
       }
-      function x(t2, e2, i2) {
-        return { err: { code: t2, msg: e2, line: i2.line || i2, col: i2.col } };
+      /**
+       * The Download operation reads or downloads a blob from the system, including its metadata and
+       * properties. You can also call Download to read a snapshot.
+       * @param options The options parameters.
+       */
+      download(options) {
+        return this.client.sendOperationRequest({ options }, downloadOperationSpec);
       }
-      function N(t2) {
-        return r(t2);
+      /**
+       * The Get Properties operation returns all user-defined metadata, standard HTTP properties, and system
+       * properties for the blob. It does not return the content of the blob.
+       * @param options The options parameters.
+       */
+      getProperties(options) {
+        return this.client.sendOperationRequest({ options }, getPropertiesOperationSpec);
       }
-      function b(t2, e2) {
-        const i2 = t2.substring(0, e2).split(/\r?\n/);
-        return { line: i2.length, col: i2[i2.length - 1].length + 1 };
+      /**
+       * If the storage account's soft delete feature is disabled then, when a blob is deleted, it is
+       * permanently removed from the storage account. If the storage account's soft delete feature is
+       * enabled, then, when a blob is deleted, it is marked for deletion and becomes inaccessible
+       * immediately. However, the blob service retains the blob or snapshot for the number of days specified
+       * by the DeleteRetentionPolicy section of [Storage service properties]
+       * (Set-Blob-Service-Properties.md). After the specified number of days has passed, the blob's data is
+       * permanently removed from the storage account. Note that you continue to be charged for the
+       * soft-deleted blob's storage until it is permanently removed. Use the List Blobs API and specify the
+       * "include=deleted" query parameter to discover which blobs and snapshots have been soft deleted. You
+       * can then use the Undelete Blob API to restore a soft-deleted blob. All other operations on a
+       * soft-deleted blob or snapshot causes the service to return an HTTP status code of 404
+       * (ResourceNotFound).
+       * @param options The options parameters.
+       */
+      delete(options) {
+        return this.client.sendOperationRequest({ options }, deleteOperationSpec);
       }
-      function E(t2) {
-        return t2.startIndex + t2[1].length;
+      /**
+       * Undelete a blob that was previously soft deleted
+       * @param options The options parameters.
+       */
+      undelete(options) {
+        return this.client.sendOperationRequest({ options }, undeleteOperationSpec);
       }
-      const v = { preserveOrder: false, attributeNamePrefix: "@_", attributesGroupName: false, textNodeName: "#text", ignoreAttributes: true, removeNSPrefix: false, allowBooleanAttributes: false, parseTagValue: true, parseAttributeValue: false, trimValues: true, cdataPropName: false, numberParseOptions: { hex: true, leadingZeros: true, eNotation: true }, tagValueProcessor: function(t2, e2) {
-        return e2;
-      }, attributeValueProcessor: function(t2, e2) {
-        return e2;
-      }, stopNodes: [], alwaysCreateTextNode: false, isArray: () => false, commentPropName: false, unpairedTags: [], processEntities: true, htmlEntities: false, ignoreDeclaration: false, ignorePiTags: false, transformTagName: false, transformAttributeName: false, updateTag: function(t2, e2, i2) {
-        return t2;
-      }, captureMetaData: false };
-      let T;
-      T = "function" != typeof Symbol ? "@@xmlMetadata" : /* @__PURE__ */ Symbol("XML Node Metadata");
-      class y {
-        constructor(t2) {
-          this.tagname = t2, this.child = [], this[":@"] = {};
-        }
-        add(t2, e2) {
-          "__proto__" === t2 && (t2 = "#__proto__"), this.child.push({ [t2]: e2 });
-        }
-        addChild(t2, e2) {
-          "__proto__" === t2.tagname && (t2.tagname = "#__proto__"), t2[":@"] && Object.keys(t2[":@"]).length > 0 ? this.child.push({ [t2.tagname]: t2.child, ":@": t2[":@"] }) : this.child.push({ [t2.tagname]: t2.child }), void 0 !== e2 && (this.child[this.child.length - 1][T] = { startIndex: e2 });
-        }
-        static getMetaDataSymbol() {
-          return T;
-        }
+      /**
+       * Sets the time a blob will expire and be deleted.
+       * @param expiryOptions Required. Indicates mode of the expiry time
+       * @param options The options parameters.
+       */
+      setExpiry(expiryOptions, options) {
+        return this.client.sendOperationRequest({ expiryOptions, options }, setExpiryOperationSpec);
       }
-      class w {
-        constructor(t2) {
-          this.suppressValidationErr = !t2;
-        }
-        readDocType(t2, e2) {
-          const i2 = {};
-          if ("O" !== t2[e2 + 3] || "C" !== t2[e2 + 4] || "T" !== t2[e2 + 5] || "Y" !== t2[e2 + 6] || "P" !== t2[e2 + 7] || "E" !== t2[e2 + 8]) throw new Error("Invalid Tag instead of DOCTYPE");
-          {
-            e2 += 9;
-            let n2 = 1, s2 = false, r2 = false, o2 = "";
-            for (; e2 < t2.length; e2++) if ("<" !== t2[e2] || r2) if (">" === t2[e2]) {
-              if (r2 ? "-" === t2[e2 - 1] && "-" === t2[e2 - 2] && (r2 = false, n2--) : n2--, 0 === n2) break;
-            } else "[" === t2[e2] ? s2 = true : o2 += t2[e2];
-            else {
-              if (s2 && P(t2, "!ENTITY", e2)) {
-                let n3, s3;
-                e2 += 7, [n3, s3, e2] = this.readEntityExp(t2, e2 + 1, this.suppressValidationErr), -1 === s3.indexOf("&") && (i2[n3] = { regx: RegExp(`&${n3};`, "g"), val: s3 });
-              } else if (s2 && P(t2, "!ELEMENT", e2)) {
-                e2 += 8;
-                const { index: i3 } = this.readElementExp(t2, e2 + 1);
-                e2 = i3;
-              } else if (s2 && P(t2, "!ATTLIST", e2)) e2 += 8;
-              else if (s2 && P(t2, "!NOTATION", e2)) {
-                e2 += 9;
-                const { index: i3 } = this.readNotationExp(t2, e2 + 1, this.suppressValidationErr);
-                e2 = i3;
-              } else {
-                if (!P(t2, "!--", e2)) throw new Error("Invalid DOCTYPE");
-                r2 = true;
-              }
-              n2++, o2 = "";
-            }
-            if (0 !== n2) throw new Error("Unclosed DOCTYPE");
-          }
-          return { entities: i2, i: e2 };
-        }
-        readEntityExp(t2, e2) {
-          e2 = I(t2, e2);
-          let i2 = "";
-          for (; e2 < t2.length && !/\s/.test(t2[e2]) && '"' !== t2[e2] && "'" !== t2[e2]; ) i2 += t2[e2], e2++;
-          if (O(i2), e2 = I(t2, e2), !this.suppressValidationErr) {
-            if ("SYSTEM" === t2.substring(e2, e2 + 6).toUpperCase()) throw new Error("External entities are not supported");
-            if ("%" === t2[e2]) throw new Error("Parameter entities are not supported");
-          }
-          let n2 = "";
-          return [e2, n2] = this.readIdentifierVal(t2, e2, "entity"), [i2, n2, --e2];
-        }
-        readNotationExp(t2, e2) {
-          e2 = I(t2, e2);
-          let i2 = "";
-          for (; e2 < t2.length && !/\s/.test(t2[e2]); ) i2 += t2[e2], e2++;
-          !this.suppressValidationErr && O(i2), e2 = I(t2, e2);
-          const n2 = t2.substring(e2, e2 + 6).toUpperCase();
-          if (!this.suppressValidationErr && "SYSTEM" !== n2 && "PUBLIC" !== n2) throw new Error(`Expected SYSTEM or PUBLIC, found "${n2}"`);
-          e2 += n2.length, e2 = I(t2, e2);
-          let s2 = null, r2 = null;
-          if ("PUBLIC" === n2) [e2, s2] = this.readIdentifierVal(t2, e2, "publicIdentifier"), '"' !== t2[e2 = I(t2, e2)] && "'" !== t2[e2] || ([e2, r2] = this.readIdentifierVal(t2, e2, "systemIdentifier"));
-          else if ("SYSTEM" === n2 && ([e2, r2] = this.readIdentifierVal(t2, e2, "systemIdentifier"), !this.suppressValidationErr && !r2)) throw new Error("Missing mandatory system identifier for SYSTEM notation");
-          return { notationName: i2, publicIdentifier: s2, systemIdentifier: r2, index: --e2 };
-        }
-        readIdentifierVal(t2, e2, i2) {
-          let n2 = "";
-          const s2 = t2[e2];
-          if ('"' !== s2 && "'" !== s2) throw new Error(`Expected quoted string, found "${s2}"`);
-          for (e2++; e2 < t2.length && t2[e2] !== s2; ) n2 += t2[e2], e2++;
-          if (t2[e2] !== s2) throw new Error(`Unterminated ${i2} value`);
-          return [++e2, n2];
-        }
-        readElementExp(t2, e2) {
-          e2 = I(t2, e2);
-          let i2 = "";
-          for (; e2 < t2.length && !/\s/.test(t2[e2]); ) i2 += t2[e2], e2++;
-          if (!this.suppressValidationErr && !r(i2)) throw new Error(`Invalid element name: "${i2}"`);
-          let n2 = "";
-          if ("E" === t2[e2 = I(t2, e2)] && P(t2, "MPTY", e2)) e2 += 4;
-          else if ("A" === t2[e2] && P(t2, "NY", e2)) e2 += 2;
-          else if ("(" === t2[e2]) {
-            for (e2++; e2 < t2.length && ")" !== t2[e2]; ) n2 += t2[e2], e2++;
-            if (")" !== t2[e2]) throw new Error("Unterminated content model");
-          } else if (!this.suppressValidationErr) throw new Error(`Invalid Element Expression, found "${t2[e2]}"`);
-          return { elementName: i2, contentModel: n2.trim(), index: e2 };
-        }
-        readAttlistExp(t2, e2) {
-          e2 = I(t2, e2);
-          let i2 = "";
-          for (; e2 < t2.length && !/\s/.test(t2[e2]); ) i2 += t2[e2], e2++;
-          O(i2), e2 = I(t2, e2);
-          let n2 = "";
-          for (; e2 < t2.length && !/\s/.test(t2[e2]); ) n2 += t2[e2], e2++;
-          if (!O(n2)) throw new Error(`Invalid attribute name: "${n2}"`);
-          e2 = I(t2, e2);
-          let s2 = "";
-          if ("NOTATION" === t2.substring(e2, e2 + 8).toUpperCase()) {
-            if (s2 = "NOTATION", "(" !== t2[e2 = I(t2, e2 += 8)]) throw new Error(`Expected '(', found "${t2[e2]}"`);
-            e2++;
-            let i3 = [];
-            for (; e2 < t2.length && ")" !== t2[e2]; ) {
-              let n3 = "";
-              for (; e2 < t2.length && "|" !== t2[e2] && ")" !== t2[e2]; ) n3 += t2[e2], e2++;
-              if (n3 = n3.trim(), !O(n3)) throw new Error(`Invalid notation name: "${n3}"`);
-              i3.push(n3), "|" === t2[e2] && (e2++, e2 = I(t2, e2));
-            }
-            if (")" !== t2[e2]) throw new Error("Unterminated list of notations");
-            e2++, s2 += " (" + i3.join("|") + ")";
-          } else {
-            for (; e2 < t2.length && !/\s/.test(t2[e2]); ) s2 += t2[e2], e2++;
-            const i3 = ["CDATA", "ID", "IDREF", "IDREFS", "ENTITY", "ENTITIES", "NMTOKEN", "NMTOKENS"];
-            if (!this.suppressValidationErr && !i3.includes(s2.toUpperCase())) throw new Error(`Invalid attribute type: "${s2}"`);
-          }
-          e2 = I(t2, e2);
-          let r2 = "";
-          return "#REQUIRED" === t2.substring(e2, e2 + 8).toUpperCase() ? (r2 = "#REQUIRED", e2 += 8) : "#IMPLIED" === t2.substring(e2, e2 + 7).toUpperCase() ? (r2 = "#IMPLIED", e2 += 7) : [e2, r2] = this.readIdentifierVal(t2, e2, "ATTLIST"), { elementName: i2, attributeName: n2, attributeType: s2, defaultValue: r2, index: e2 };
-        }
+      /**
+       * The Set HTTP Headers operation sets system properties on the blob
+       * @param options The options parameters.
+       */
+      setHttpHeaders(options) {
+        return this.client.sendOperationRequest({ options }, setHttpHeadersOperationSpec);
       }
-      const I = (t2, e2) => {
-        for (; e2 < t2.length && /\s/.test(t2[e2]); ) e2++;
-        return e2;
-      };
-      function P(t2, e2, i2) {
-        for (let n2 = 0; n2 < e2.length; n2++) if (e2[n2] !== t2[i2 + n2 + 1]) return false;
-        return true;
+      /**
+       * The Set Immutability Policy operation sets the immutability policy on the blob
+       * @param options The options parameters.
+       */
+      setImmutabilityPolicy(options) {
+        return this.client.sendOperationRequest({ options }, setImmutabilityPolicyOperationSpec);
       }
-      function O(t2) {
-        if (r(t2)) return t2;
-        throw new Error(`Invalid entity name ${t2}`);
+      /**
+       * The Delete Immutability Policy operation deletes the immutability policy on the blob
+       * @param options The options parameters.
+       */
+      deleteImmutabilityPolicy(options) {
+        return this.client.sendOperationRequest({ options }, deleteImmutabilityPolicyOperationSpec);
       }
-      const A = /^[-+]?0x[a-fA-F0-9]+$/, S = /^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/, C = { hex: true, leadingZeros: true, decimalPoint: ".", eNotation: true };
-      const V = /^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/;
-      function $(t2) {
-        return "function" == typeof t2 ? t2 : Array.isArray(t2) ? (e2) => {
-          for (const i2 of t2) {
-            if ("string" == typeof i2 && e2 === i2) return true;
-            if (i2 instanceof RegExp && i2.test(e2)) return true;
-          }
-        } : () => false;
+      /**
+       * The Set Legal Hold operation sets a legal hold on the blob.
+       * @param legalHold Specified if a legal hold should be set on the blob.
+       * @param options The options parameters.
+       */
+      setLegalHold(legalHold, options) {
+        return this.client.sendOperationRequest({ legalHold, options }, setLegalHoldOperationSpec);
       }
-      class D {
-        constructor(t2) {
-          if (this.options = t2, this.currentNode = null, this.tagsNodeStack = [], this.docTypeEntities = {}, this.lastEntities = { apos: { regex: /&(apos|#39|#x27);/g, val: "'" }, gt: { regex: /&(gt|#62|#x3E);/g, val: ">" }, lt: { regex: /&(lt|#60|#x3C);/g, val: "<" }, quot: { regex: /&(quot|#34|#x22);/g, val: '"' } }, this.ampEntity = { regex: /&(amp|#38|#x26);/g, val: "&" }, this.htmlEntities = { space: { regex: /&(nbsp|#160);/g, val: " " }, cent: { regex: /&(cent|#162);/g, val: "\xA2" }, pound: { regex: /&(pound|#163);/g, val: "\xA3" }, yen: { regex: /&(yen|#165);/g, val: "\xA5" }, euro: { regex: /&(euro|#8364);/g, val: "\u20AC" }, copyright: { regex: /&(copy|#169);/g, val: "\xA9" }, reg: { regex: /&(reg|#174);/g, val: "\xAE" }, inr: { regex: /&(inr|#8377);/g, val: "\u20B9" }, num_dec: { regex: /&#([0-9]{1,7});/g, val: (t3, e2) => Z(e2, 10, "&#") }, num_hex: { regex: /&#x([0-9a-fA-F]{1,6});/g, val: (t3, e2) => Z(e2, 16, "&#x") } }, this.addExternalEntities = j, this.parseXml = L, this.parseTextData = M, this.resolveNameSpace = F, this.buildAttributesMap = k, this.isItStopNode = Y, this.replaceEntitiesValue = B, this.readStopNodeData = W, this.saveTextToParentTag = R, this.addChild = U, this.ignoreAttributesFn = $(this.options.ignoreAttributes), this.options.stopNodes && this.options.stopNodes.length > 0) {
-            this.stopNodesExact = /* @__PURE__ */ new Set(), this.stopNodesWildcard = /* @__PURE__ */ new Set();
-            for (let t3 = 0; t3 < this.options.stopNodes.length; t3++) {
-              const e2 = this.options.stopNodes[t3];
-              "string" == typeof e2 && (e2.startsWith("*.") ? this.stopNodesWildcard.add(e2.substring(2)) : this.stopNodesExact.add(e2));
-            }
-          }
-        }
+      /**
+       * The Set Blob Metadata operation sets user-defined metadata for the specified blob as one or more
+       * name-value pairs
+       * @param options The options parameters.
+       */
+      setMetadata(options) {
+        return this.client.sendOperationRequest({ options }, setMetadataOperationSpec);
       }
-      function j(t2) {
-        const e2 = Object.keys(t2);
-        for (let i2 = 0; i2 < e2.length; i2++) {
-          const n2 = e2[i2];
-          this.lastEntities[n2] = { regex: new RegExp("&" + n2 + ";", "g"), val: t2[n2] };
-        }
+      /**
+       * [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
+       * operations
+       * @param options The options parameters.
+       */
+      acquireLease(options) {
+        return this.client.sendOperationRequest({ options }, acquireLeaseOperationSpec);
       }
-      function M(t2, e2, i2, n2, s2, r2, o2) {
-        if (void 0 !== t2 && (this.options.trimValues && !n2 && (t2 = t2.trim()), t2.length > 0)) {
-          o2 || (t2 = this.replaceEntitiesValue(t2));
-          const n3 = this.options.tagValueProcessor(e2, t2, i2, s2, r2);
-          return null == n3 ? t2 : typeof n3 != typeof t2 || n3 !== t2 ? n3 : this.options.trimValues || t2.trim() === t2 ? q(t2, this.options.parseTagValue, this.options.numberParseOptions) : t2;
-        }
+      /**
+       * [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
+       * operations
+       * @param leaseId Specifies the current lease ID on the resource.
+       * @param options The options parameters.
+       */
+      releaseLease(leaseId, options) {
+        return this.client.sendOperationRequest({ leaseId, options }, releaseLeaseOperationSpec);
       }
-      function F(t2) {
-        if (this.options.removeNSPrefix) {
-          const e2 = t2.split(":"), i2 = "/" === t2.charAt(0) ? "/" : "";
-          if ("xmlns" === e2[0]) return "";
-          2 === e2.length && (t2 = i2 + e2[1]);
-        }
-        return t2;
+      /**
+       * [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
+       * operations
+       * @param leaseId Specifies the current lease ID on the resource.
+       * @param options The options parameters.
+       */
+      renewLease(leaseId, options) {
+        return this.client.sendOperationRequest({ leaseId, options }, renewLeaseOperationSpec);
       }
-      const _2 = new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`, "gm");
-      function k(t2, e2) {
-        if (true !== this.options.ignoreAttributes && "string" == typeof t2) {
-          const i2 = s(t2, _2), n2 = i2.length, r2 = {};
-          for (let t3 = 0; t3 < n2; t3++) {
-            const n3 = this.resolveNameSpace(i2[t3][1]);
-            if (this.ignoreAttributesFn(n3, e2)) continue;
-            let s2 = i2[t3][4], o2 = this.options.attributeNamePrefix + n3;
-            if (n3.length) if (this.options.transformAttributeName && (o2 = this.options.transformAttributeName(o2)), "__proto__" === o2 && (o2 = "#__proto__"), void 0 !== s2) {
-              this.options.trimValues && (s2 = s2.trim()), s2 = this.replaceEntitiesValue(s2);
-              const t4 = this.options.attributeValueProcessor(n3, s2, e2);
-              r2[o2] = null == t4 ? s2 : typeof t4 != typeof s2 || t4 !== s2 ? t4 : q(s2, this.options.parseAttributeValue, this.options.numberParseOptions);
-            } else this.options.allowBooleanAttributes && (r2[o2] = true);
-          }
-          if (!Object.keys(r2).length) return;
-          if (this.options.attributesGroupName) {
-            const t3 = {};
-            return t3[this.options.attributesGroupName] = r2, t3;
-          }
-          return r2;
-        }
+      /**
+       * [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
+       * operations
+       * @param leaseId Specifies the current lease ID on the resource.
+       * @param proposedLeaseId Proposed lease ID, in a GUID string format. The Blob service returns 400
+       *                        (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor
+       *                        (String) for a list of valid GUID string formats.
+       * @param options The options parameters.
+       */
+      changeLease(leaseId, proposedLeaseId, options) {
+        return this.client.sendOperationRequest({ leaseId, proposedLeaseId, options }, changeLeaseOperationSpec);
       }
-      const L = function(t2) {
-        t2 = t2.replace(/\r\n?/g, "\n");
-        const e2 = new y("!xml");
-        let i2 = e2, n2 = "", s2 = "";
-        const r2 = new w(this.options.processEntities);
-        for (let o2 = 0; o2 < t2.length; o2++) if ("<" === t2[o2]) if ("/" === t2[o2 + 1]) {
-          const e3 = G(t2, ">", o2, "Closing Tag is not closed.");
-          let r3 = t2.substring(o2 + 2, e3).trim();
-          if (this.options.removeNSPrefix) {
-            const t3 = r3.indexOf(":");
-            -1 !== t3 && (r3 = r3.substr(t3 + 1));
-          }
-          this.options.transformTagName && (r3 = this.options.transformTagName(r3)), i2 && (n2 = this.saveTextToParentTag(n2, i2, s2));
-          const a2 = s2.substring(s2.lastIndexOf(".") + 1);
-          if (r3 && -1 !== this.options.unpairedTags.indexOf(r3)) throw new Error(`Unpaired tag can not be used as closing tag: `);
-          let l2 = 0;
-          a2 && -1 !== this.options.unpairedTags.indexOf(a2) ? (l2 = s2.lastIndexOf(".", s2.lastIndexOf(".") - 1), this.tagsNodeStack.pop()) : l2 = s2.lastIndexOf("."), s2 = s2.substring(0, l2), i2 = this.tagsNodeStack.pop(), n2 = "", o2 = e3;
-        } else if ("?" === t2[o2 + 1]) {
-          let e3 = X(t2, o2, false, "?>");
-          if (!e3) throw new Error("Pi Tag is not closed.");
-          if (n2 = this.saveTextToParentTag(n2, i2, s2), this.options.ignoreDeclaration && "?xml" === e3.tagName || this.options.ignorePiTags) ;
-          else {
-            const t3 = new y(e3.tagName);
-            t3.add(this.options.textNodeName, ""), e3.tagName !== e3.tagExp && e3.attrExpPresent && (t3[":@"] = this.buildAttributesMap(e3.tagExp, s2)), this.addChild(i2, t3, s2, o2);
-          }
-          o2 = e3.closeIndex + 1;
-        } else if ("!--" === t2.substr(o2 + 1, 3)) {
-          const e3 = G(t2, "-->", o2 + 4, "Comment is not closed.");
-          if (this.options.commentPropName) {
-            const r3 = t2.substring(o2 + 4, e3 - 2);
-            n2 = this.saveTextToParentTag(n2, i2, s2), i2.add(this.options.commentPropName, [{ [this.options.textNodeName]: r3 }]);
-          }
-          o2 = e3;
-        } else if ("!D" === t2.substr(o2 + 1, 2)) {
-          const e3 = r2.readDocType(t2, o2);
-          this.docTypeEntities = e3.entities, o2 = e3.i;
-        } else if ("![" === t2.substr(o2 + 1, 2)) {
-          const e3 = G(t2, "]]>", o2, "CDATA is not closed.") - 2, r3 = t2.substring(o2 + 9, e3);
-          n2 = this.saveTextToParentTag(n2, i2, s2);
-          let a2 = this.parseTextData(r3, i2.tagname, s2, true, false, true, true);
-          null == a2 && (a2 = ""), this.options.cdataPropName ? i2.add(this.options.cdataPropName, [{ [this.options.textNodeName]: r3 }]) : i2.add(this.options.textNodeName, a2), o2 = e3 + 2;
-        } else {
-          let r3 = X(t2, o2, this.options.removeNSPrefix), a2 = r3.tagName;
-          const l2 = r3.rawTagName;
-          let u2 = r3.tagExp, h2 = r3.attrExpPresent, d2 = r3.closeIndex;
-          if (this.options.transformTagName) {
-            const t3 = this.options.transformTagName(a2);
-            u2 === a2 && (u2 = t3), a2 = t3;
-          }
-          i2 && n2 && "!xml" !== i2.tagname && (n2 = this.saveTextToParentTag(n2, i2, s2, false));
-          const p2 = i2;
-          p2 && -1 !== this.options.unpairedTags.indexOf(p2.tagname) && (i2 = this.tagsNodeStack.pop(), s2 = s2.substring(0, s2.lastIndexOf("."))), a2 !== e2.tagname && (s2 += s2 ? "." + a2 : a2);
-          const f2 = o2;
-          if (this.isItStopNode(this.stopNodesExact, this.stopNodesWildcard, s2, a2)) {
-            let e3 = "";
-            if (u2.length > 0 && u2.lastIndexOf("/") === u2.length - 1) "/" === a2[a2.length - 1] ? (a2 = a2.substr(0, a2.length - 1), s2 = s2.substr(0, s2.length - 1), u2 = a2) : u2 = u2.substr(0, u2.length - 1), o2 = r3.closeIndex;
-            else if (-1 !== this.options.unpairedTags.indexOf(a2)) o2 = r3.closeIndex;
-            else {
-              const i3 = this.readStopNodeData(t2, l2, d2 + 1);
-              if (!i3) throw new Error(`Unexpected end of ${l2}`);
-              o2 = i3.i, e3 = i3.tagContent;
-            }
-            const n3 = new y(a2);
-            a2 !== u2 && h2 && (n3[":@"] = this.buildAttributesMap(u2, s2)), e3 && (e3 = this.parseTextData(e3, a2, s2, true, h2, true, true)), s2 = s2.substr(0, s2.lastIndexOf(".")), n3.add(this.options.textNodeName, e3), this.addChild(i2, n3, s2, f2);
-          } else {
-            if (u2.length > 0 && u2.lastIndexOf("/") === u2.length - 1) {
-              if ("/" === a2[a2.length - 1] ? (a2 = a2.substr(0, a2.length - 1), s2 = s2.substr(0, s2.length - 1), u2 = a2) : u2 = u2.substr(0, u2.length - 1), this.options.transformTagName) {
-                const t4 = this.options.transformTagName(a2);
-                u2 === a2 && (u2 = t4), a2 = t4;
-              }
-              const t3 = new y(a2);
-              a2 !== u2 && h2 && (t3[":@"] = this.buildAttributesMap(u2, s2)), this.addChild(i2, t3, s2, f2), s2 = s2.substr(0, s2.lastIndexOf("."));
-            } else {
-              const t3 = new y(a2);
-              this.tagsNodeStack.push(i2), a2 !== u2 && h2 && (t3[":@"] = this.buildAttributesMap(u2, s2)), this.addChild(i2, t3, s2, f2), i2 = t3;
-            }
-            n2 = "", o2 = d2;
-          }
-        }
-        else n2 += t2[o2];
-        return e2.child;
-      };
-      function U(t2, e2, i2, n2) {
-        this.options.captureMetaData || (n2 = void 0);
-        const s2 = this.options.updateTag(e2.tagname, i2, e2[":@"]);
-        false === s2 || ("string" == typeof s2 ? (e2.tagname = s2, t2.addChild(e2, n2)) : t2.addChild(e2, n2));
+      /**
+       * [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
+       * operations
+       * @param options The options parameters.
+       */
+      breakLease(options) {
+        return this.client.sendOperationRequest({ options }, breakLeaseOperationSpec);
       }
-      const B = function(t2) {
-        if (this.options.processEntities) {
-          for (let e2 in this.docTypeEntities) {
-            const i2 = this.docTypeEntities[e2];
-            t2 = t2.replace(i2.regx, i2.val);
-          }
-          for (let e2 in this.lastEntities) {
-            const i2 = this.lastEntities[e2];
-            t2 = t2.replace(i2.regex, i2.val);
-          }
-          if (this.options.htmlEntities) for (let e2 in this.htmlEntities) {
-            const i2 = this.htmlEntities[e2];
-            t2 = t2.replace(i2.regex, i2.val);
-          }
-          t2 = t2.replace(this.ampEntity.regex, this.ampEntity.val);
-        }
-        return t2;
-      };
-      function R(t2, e2, i2, n2) {
-        return t2 && (void 0 === n2 && (n2 = 0 === e2.child.length), void 0 !== (t2 = this.parseTextData(t2, e2.tagname, i2, false, !!e2[":@"] && 0 !== Object.keys(e2[":@"]).length, n2)) && "" !== t2 && e2.add(this.options.textNodeName, t2), t2 = ""), t2;
+      /**
+       * The Create Snapshot operation creates a read-only snapshot of a blob
+       * @param options The options parameters.
+       */
+      createSnapshot(options) {
+        return this.client.sendOperationRequest({ options }, createSnapshotOperationSpec);
       }
-      function Y(t2, e2, i2, n2) {
-        return !(!e2 || !e2.has(n2)) || !(!t2 || !t2.has(i2));
+      /**
+       * The Start Copy From URL operation copies a blob or an internet resource to a new blob.
+       * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to
+       *                   2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would
+       *                   appear in a request URI. The source blob must either be public or must be authenticated via a shared
+       *                   access signature.
+       * @param options The options parameters.
+       */
+      startCopyFromURL(copySource, options) {
+        return this.client.sendOperationRequest({ copySource, options }, startCopyFromURLOperationSpec);
+      }
+      /**
+       * The Copy From URL operation copies a blob or an internet resource to a new blob. It will not return
+       * a response until the copy is complete.
+       * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to
+       *                   2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would
+       *                   appear in a request URI. The source blob must either be public or must be authenticated via a shared
+       *                   access signature.
+       * @param options The options parameters.
+       */
+      copyFromURL(copySource, options) {
+        return this.client.sendOperationRequest({ copySource, options }, copyFromURLOperationSpec);
       }
-      function G(t2, e2, i2, n2) {
-        const s2 = t2.indexOf(e2, i2);
-        if (-1 === s2) throw new Error(n2);
-        return s2 + e2.length - 1;
+      /**
+       * The Abort Copy From URL operation aborts a pending Copy From URL operation, and leaves a destination
+       * blob with zero length and full metadata.
+       * @param copyId The copy identifier provided in the x-ms-copy-id header of the original Copy Blob
+       *               operation.
+       * @param options The options parameters.
+       */
+      abortCopyFromURL(copyId, options) {
+        return this.client.sendOperationRequest({ copyId, options }, abortCopyFromURLOperationSpec);
       }
-      function X(t2, e2, i2, n2 = ">") {
-        const s2 = (function(t3, e3, i3 = ">") {
-          let n3, s3 = "";
-          for (let r3 = e3; r3 < t3.length; r3++) {
-            let e4 = t3[r3];
-            if (n3) e4 === n3 && (n3 = "");
-            else if ('"' === e4 || "'" === e4) n3 = e4;
-            else if (e4 === i3[0]) {
-              if (!i3[1]) return { data: s3, index: r3 };
-              if (t3[r3 + 1] === i3[1]) return { data: s3, index: r3 };
-            } else "	" === e4 && (e4 = " ");
-            s3 += e4;
-          }
-        })(t2, e2 + 1, n2);
-        if (!s2) return;
-        let r2 = s2.data;
-        const o2 = s2.index, a2 = r2.search(/\s/);
-        let l2 = r2, u2 = true;
-        -1 !== a2 && (l2 = r2.substring(0, a2), r2 = r2.substring(a2 + 1).trimStart());
-        const h2 = l2;
-        if (i2) {
-          const t3 = l2.indexOf(":");
-          -1 !== t3 && (l2 = l2.substr(t3 + 1), u2 = l2 !== s2.data.substr(t3 + 1));
-        }
-        return { tagName: l2, tagExp: r2, closeIndex: o2, attrExpPresent: u2, rawTagName: h2 };
+      /**
+       * The Set Tier operation sets the tier on a blob. The operation is allowed on a page blob in a premium
+       * storage account and on a block blob in a blob storage account (locally redundant storage only). A
+       * premium page blob's tier determines the allowed size, IOPS, and bandwidth of the blob. A block
+       * blob's tier determines Hot/Cool/Archive storage type. This operation does not update the blob's
+       * ETag.
+       * @param tier Indicates the tier to be set on the blob.
+       * @param options The options parameters.
+       */
+      setTier(tier, options) {
+        return this.client.sendOperationRequest({ tier, options }, setTierOperationSpec);
       }
-      function W(t2, e2, i2) {
-        const n2 = i2;
-        let s2 = 1;
-        for (; i2 < t2.length; i2++) if ("<" === t2[i2]) if ("/" === t2[i2 + 1]) {
-          const r2 = G(t2, ">", i2, `${e2} is not closed`);
-          if (t2.substring(i2 + 2, r2).trim() === e2 && (s2--, 0 === s2)) return { tagContent: t2.substring(n2, i2), i: r2 };
-          i2 = r2;
-        } else if ("?" === t2[i2 + 1]) i2 = G(t2, "?>", i2 + 1, "StopNode is not closed.");
-        else if ("!--" === t2.substr(i2 + 1, 3)) i2 = G(t2, "-->", i2 + 3, "StopNode is not closed.");
-        else if ("![" === t2.substr(i2 + 1, 2)) i2 = G(t2, "]]>", i2, "StopNode is not closed.") - 2;
-        else {
-          const n3 = X(t2, i2, ">");
-          n3 && ((n3 && n3.tagName) === e2 && "/" !== n3.tagExp[n3.tagExp.length - 1] && s2++, i2 = n3.closeIndex);
-        }
+      /**
+       * Returns the sku name and account kind
+       * @param options The options parameters.
+       */
+      getAccountInfo(options) {
+        return this.client.sendOperationRequest({ options }, getAccountInfoOperationSpec);
       }
-      function q(t2, e2, i2) {
-        if (e2 && "string" == typeof t2) {
-          const e3 = t2.trim();
-          return "true" === e3 || "false" !== e3 && (function(t3, e4 = {}) {
-            if (e4 = Object.assign({}, C, e4), !t3 || "string" != typeof t3) return t3;
-            let i3 = t3.trim();
-            if (void 0 !== e4.skipLike && e4.skipLike.test(i3)) return t3;
-            if ("0" === t3) return 0;
-            if (e4.hex && A.test(i3)) return (function(t4) {
-              if (parseInt) return parseInt(t4, 16);
-              if (Number.parseInt) return Number.parseInt(t4, 16);
-              if (window && window.parseInt) return window.parseInt(t4, 16);
-              throw new Error("parseInt, Number.parseInt, window.parseInt are not supported");
-            })(i3);
-            if (-1 !== i3.search(/.+[eE].+/)) return (function(t4, e5, i4) {
-              if (!i4.eNotation) return t4;
-              const n3 = e5.match(V);
-              if (n3) {
-                let s2 = n3[1] || "";
-                const r2 = -1 === n3[3].indexOf("e") ? "E" : "e", o2 = n3[2], a2 = s2 ? t4[o2.length + 1] === r2 : t4[o2.length] === r2;
-                return o2.length > 1 && a2 ? t4 : 1 !== o2.length || !n3[3].startsWith(`.${r2}`) && n3[3][0] !== r2 ? i4.leadingZeros && !a2 ? (e5 = (n3[1] || "") + n3[3], Number(e5)) : t4 : Number(e5);
-              }
-              return t4;
-            })(t3, i3, e4);
-            {
-              const s2 = S.exec(i3);
-              if (s2) {
-                const r2 = s2[1] || "", o2 = s2[2];
-                let a2 = (n2 = s2[3]) && -1 !== n2.indexOf(".") ? ("." === (n2 = n2.replace(/0+$/, "")) ? n2 = "0" : "." === n2[0] ? n2 = "0" + n2 : "." === n2[n2.length - 1] && (n2 = n2.substring(0, n2.length - 1)), n2) : n2;
-                const l2 = r2 ? "." === t3[o2.length + 1] : "." === t3[o2.length];
-                if (!e4.leadingZeros && (o2.length > 1 || 1 === o2.length && !l2)) return t3;
-                {
-                  const n3 = Number(i3), s3 = String(n3);
-                  if (0 === n3 || -0 === n3) return n3;
-                  if (-1 !== s3.search(/[eE]/)) return e4.eNotation ? n3 : t3;
-                  if (-1 !== i3.indexOf(".")) return "0" === s3 || s3 === a2 || s3 === `${r2}${a2}` ? n3 : t3;
-                  let l3 = o2 ? a2 : i3;
-                  return o2 ? l3 === s3 || r2 + l3 === s3 ? n3 : t3 : l3 === s3 || l3 === r2 + s3 ? n3 : t3;
-                }
-              }
-              return t3;
-            }
-            var n2;
-          })(t2, i2);
-        }
-        return void 0 !== t2 ? t2 : "";
+      /**
+       * The Query operation enables users to select/project on blob data by providing simple query
+       * expressions.
+       * @param options The options parameters.
+       */
+      query(options) {
+        return this.client.sendOperationRequest({ options }, queryOperationSpec);
       }
-      function Z(t2, e2, i2) {
-        const n2 = Number.parseInt(t2, e2);
-        return n2 >= 0 && n2 <= 1114111 ? String.fromCodePoint(n2) : i2 + t2 + ";";
+      /**
+       * The Get Tags operation enables users to get the tags associated with a blob.
+       * @param options The options parameters.
+       */
+      getTags(options) {
+        return this.client.sendOperationRequest({ options }, getTagsOperationSpec);
       }
-      const K = y.getMetaDataSymbol();
-      function Q(t2, e2) {
-        return z(t2, e2);
+      /**
+       * The Set Tags operation enables users to set tags on a blob.
+       * @param options The options parameters.
+       */
+      setTags(options) {
+        return this.client.sendOperationRequest({ options }, setTagsOperationSpec);
       }
-      function z(t2, e2, i2) {
-        let n2;
-        const s2 = {};
-        for (let r2 = 0; r2 < t2.length; r2++) {
-          const o2 = t2[r2], a2 = J(o2);
-          let l2 = "";
-          if (l2 = void 0 === i2 ? a2 : i2 + "." + a2, a2 === e2.textNodeName) void 0 === n2 ? n2 = o2[a2] : n2 += "" + o2[a2];
-          else {
-            if (void 0 === a2) continue;
-            if (o2[a2]) {
-              let t3 = z(o2[a2], e2, l2);
-              const i3 = tt(t3, e2);
-              void 0 !== o2[K] && (t3[K] = o2[K]), o2[":@"] ? H(t3, o2[":@"], l2, e2) : 1 !== Object.keys(t3).length || void 0 === t3[e2.textNodeName] || e2.alwaysCreateTextNode ? 0 === Object.keys(t3).length && (e2.alwaysCreateTextNode ? t3[e2.textNodeName] = "" : t3 = "") : t3 = t3[e2.textNodeName], void 0 !== s2[a2] && s2.hasOwnProperty(a2) ? (Array.isArray(s2[a2]) || (s2[a2] = [s2[a2]]), s2[a2].push(t3)) : e2.isArray(a2, l2, i3) ? s2[a2] = [t3] : s2[a2] = t3;
-            }
-          }
+    };
+    exports2.BlobImpl = BlobImpl;
+    var xmlSerializer = coreClient.createSerializer(
+      Mappers,
+      /* isXml */
+      true
+    );
+    var downloadOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: {
+            type: { name: "Stream" },
+            serializedName: "parsedResponse"
+          },
+          headersMapper: Mappers.BlobDownloadHeaders
+        },
+        206: {
+          bodyMapper: {
+            type: { name: "Stream" },
+            serializedName: "parsedResponse"
+          },
+          headersMapper: Mappers.BlobDownloadHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobDownloadExceptionHeaders
         }
-        return "string" == typeof n2 ? n2.length > 0 && (s2[e2.textNodeName] = n2) : void 0 !== n2 && (s2[e2.textNodeName] = n2), s2;
-      }
-      function J(t2) {
-        const e2 = Object.keys(t2);
-        for (let t3 = 0; t3 < e2.length; t3++) {
-          const i2 = e2[t3];
-          if (":@" !== i2) return i2;
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.versionId
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.range,
+        Parameters.rangeGetContentMD5,
+        Parameters.rangeGetContentCRC64,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var getPropertiesOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "HEAD",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobGetPropertiesHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobGetPropertiesExceptionHeaders
         }
-      }
-      function H(t2, e2, i2, n2) {
-        if (e2) {
-          const s2 = Object.keys(e2), r2 = s2.length;
-          for (let o2 = 0; o2 < r2; o2++) {
-            const r3 = s2[o2];
-            n2.isArray(r3, i2 + "." + r3, true, true) ? t2[r3] = [e2[r3]] : t2[r3] = e2[r3];
-          }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.versionId
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var deleteOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "DELETE",
+      responses: {
+        202: {
+          headersMapper: Mappers.BlobDeleteHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobDeleteExceptionHeaders
         }
-      }
-      function tt(t2, e2) {
-        const { textNodeName: i2 } = e2, n2 = Object.keys(t2).length;
-        return 0 === n2 || !(1 !== n2 || !t2[i2] && "boolean" != typeof t2[i2] && 0 !== t2[i2]);
-      }
-      class et {
-        constructor(t2) {
-          this.externalEntities = {}, this.options = (function(t3) {
-            return Object.assign({}, v, t3);
-          })(t2);
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.versionId,
+        Parameters.blobDeleteType
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.deleteSnapshots
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var undeleteOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobUndeleteHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobUndeleteExceptionHeaders
         }
-        parse(t2, e2) {
-          if ("string" != typeof t2 && t2.toString) t2 = t2.toString();
-          else if ("string" != typeof t2) throw new Error("XML data is accepted in String or Bytes[] form.");
-          if (e2) {
-            true === e2 && (e2 = {});
-            const i3 = a(t2, e2);
-            if (true !== i3) throw Error(`${i3.err.msg}:${i3.err.line}:${i3.err.col}`);
-          }
-          const i2 = new D(this.options);
-          i2.addExternalEntities(this.externalEntities);
-          const n2 = i2.parseXml(t2);
-          return this.options.preserveOrder || void 0 === n2 ? n2 : Q(n2, this.options);
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp8],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var setExpiryOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobSetExpiryHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobSetExpiryExceptionHeaders
         }
-        addEntity(t2, e2) {
-          if (-1 !== e2.indexOf("&")) throw new Error("Entity value can't have '&'");
-          if (-1 !== t2.indexOf("&") || -1 !== t2.indexOf(";")) throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '
'");
-          if ("&" === e2) throw new Error("An entity with value '&' is not permitted");
-          this.externalEntities[t2] = e2;
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp11],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.expiryOptions,
+        Parameters.expiresOn
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var setHttpHeadersOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobSetHttpHeadersHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobSetHttpHeadersExceptionHeaders
         }
-        static getMetaDataSymbol() {
-          return y.getMetaDataSymbol();
+      },
+      queryParameters: [Parameters.comp, Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.blobCacheControl,
+        Parameters.blobContentType,
+        Parameters.blobContentMD5,
+        Parameters.blobContentEncoding,
+        Parameters.blobContentLanguage,
+        Parameters.blobContentDisposition
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var setImmutabilityPolicyOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobSetImmutabilityPolicyHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobSetImmutabilityPolicyExceptionHeaders
         }
-      }
-      function it(t2, e2) {
-        let i2 = "";
-        return e2.format && e2.indentBy.length > 0 && (i2 = "\n"), nt(t2, e2, "", i2);
-      }
-      function nt(t2, e2, i2, n2) {
-        let s2 = "", r2 = false;
-        for (let o2 = 0; o2 < t2.length; o2++) {
-          const a2 = t2[o2], l2 = st(a2);
-          if (void 0 === l2) continue;
-          let u2 = "";
-          if (u2 = 0 === i2.length ? l2 : `${i2}.${l2}`, l2 === e2.textNodeName) {
-            let t3 = a2[l2];
-            ot(u2, e2) || (t3 = e2.tagValueProcessor(l2, t3), t3 = at(t3, e2)), r2 && (s2 += n2), s2 += t3, r2 = false;
-            continue;
-          }
-          if (l2 === e2.cdataPropName) {
-            r2 && (s2 += n2), s2 += ``, r2 = false;
-            continue;
-          }
-          if (l2 === e2.commentPropName) {
-            s2 += n2 + ``, r2 = true;
-            continue;
-          }
-          if ("?" === l2[0]) {
-            const t3 = rt(a2[":@"], e2), i3 = "?xml" === l2 ? "" : n2;
-            let o3 = a2[l2][0][e2.textNodeName];
-            o3 = 0 !== o3.length ? " " + o3 : "", s2 += i3 + `<${l2}${o3}${t3}?>`, r2 = true;
-            continue;
-          }
-          let h2 = n2;
-          "" !== h2 && (h2 += e2.indentBy);
-          const d2 = n2 + `<${l2}${rt(a2[":@"], e2)}`, p2 = nt(a2[l2], e2, u2, h2);
-          -1 !== e2.unpairedTags.indexOf(l2) ? e2.suppressUnpairedNode ? s2 += d2 + ">" : s2 += d2 + "/>" : p2 && 0 !== p2.length || !e2.suppressEmptyNode ? p2 && p2.endsWith(">") ? s2 += d2 + `>${p2}${n2}` : (s2 += d2 + ">", p2 && "" !== n2 && (p2.includes("/>") || p2.includes("`) : s2 += d2 + "/>", r2 = true;
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.versionId,
+        Parameters.comp12
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifUnmodifiedSince,
+        Parameters.immutabilityPolicyExpiry,
+        Parameters.immutabilityPolicyMode
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var deleteImmutabilityPolicyOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "DELETE",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobDeleteImmutabilityPolicyHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobDeleteImmutabilityPolicyExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.versionId,
+        Parameters.comp12
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var setLegalHoldOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobSetLegalHoldHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobSetLegalHoldExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.versionId,
+        Parameters.comp13
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.legalHold
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var setMetadataOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobSetMetadataHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobSetMetadataExceptionHeaders
         }
-        return s2;
-      }
-      function st(t2) {
-        const e2 = Object.keys(t2);
-        for (let i2 = 0; i2 < e2.length; i2++) {
-          const n2 = e2[i2];
-          if (t2.hasOwnProperty(n2) && ":@" !== n2) return n2;
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp6],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var acquireLeaseOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.BlobAcquireLeaseHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobAcquireLeaseExceptionHeaders
         }
-      }
-      function rt(t2, e2) {
-        let i2 = "";
-        if (t2 && !e2.ignoreAttributes) for (let n2 in t2) {
-          if (!t2.hasOwnProperty(n2)) continue;
-          let s2 = e2.attributeValueProcessor(n2, t2[n2]);
-          s2 = at(s2, e2), true === s2 && e2.suppressBooleanAttributes ? i2 += ` ${n2.substr(e2.attributeNamePrefix.length)}` : i2 += ` ${n2.substr(e2.attributeNamePrefix.length)}="${s2}"`;
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp10],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.action,
+        Parameters.duration,
+        Parameters.proposedLeaseId,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var releaseLeaseOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobReleaseLeaseHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobReleaseLeaseExceptionHeaders
         }
-        return i2;
-      }
-      function ot(t2, e2) {
-        let i2 = (t2 = t2.substr(0, t2.length - e2.textNodeName.length - 1)).substr(t2.lastIndexOf(".") + 1);
-        for (let n2 in e2.stopNodes) if (e2.stopNodes[n2] === t2 || e2.stopNodes[n2] === "*." + i2) return true;
-        return false;
-      }
-      function at(t2, e2) {
-        if (t2 && t2.length > 0 && e2.processEntities) for (let i2 = 0; i2 < e2.entities.length; i2++) {
-          const n2 = e2.entities[i2];
-          t2 = t2.replace(n2.regex, n2.val);
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp10],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.action1,
+        Parameters.leaseId1,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var renewLeaseOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobRenewLeaseHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobRenewLeaseExceptionHeaders
         }
-        return t2;
-      }
-      const lt = { attributeNamePrefix: "@_", attributesGroupName: false, textNodeName: "#text", ignoreAttributes: true, cdataPropName: false, format: false, indentBy: "  ", suppressEmptyNode: false, suppressUnpairedNode: true, suppressBooleanAttributes: true, tagValueProcessor: function(t2, e2) {
-        return e2;
-      }, attributeValueProcessor: function(t2, e2) {
-        return e2;
-      }, preserveOrder: false, commentPropName: false, unpairedTags: [], entities: [{ regex: new RegExp("&", "g"), val: "&" }, { regex: new RegExp(">", "g"), val: ">" }, { regex: new RegExp("<", "g"), val: "<" }, { regex: new RegExp("'", "g"), val: "'" }, { regex: new RegExp('"', "g"), val: """ }], processEntities: true, stopNodes: [], oneListGroup: false };
-      function ut(t2) {
-        this.options = Object.assign({}, lt, t2), true === this.options.ignoreAttributes || this.options.attributesGroupName ? this.isAttribute = function() {
-          return false;
-        } : (this.ignoreAttributesFn = $(this.options.ignoreAttributes), this.attrPrefixLen = this.options.attributeNamePrefix.length, this.isAttribute = pt), this.processTextOrObjNode = ht, this.options.format ? (this.indentate = dt, this.tagEndChar = ">\n", this.newLine = "\n") : (this.indentate = function() {
-          return "";
-        }, this.tagEndChar = ">", this.newLine = "");
-      }
-      function ht(t2, e2, i2, n2) {
-        const s2 = this.j2x(t2, i2 + 1, n2.concat(e2));
-        return void 0 !== t2[this.options.textNodeName] && 1 === Object.keys(t2).length ? this.buildTextValNode(t2[this.options.textNodeName], e2, s2.attrStr, i2) : this.buildObjectNode(s2.val, e2, s2.attrStr, i2);
-      }
-      function dt(t2) {
-        return this.options.indentBy.repeat(t2);
-      }
-      function pt(t2) {
-        return !(!t2.startsWith(this.options.attributeNamePrefix) || t2 === this.options.textNodeName) && t2.substr(this.attrPrefixLen);
-      }
-      ut.prototype.build = function(t2) {
-        return this.options.preserveOrder ? it(t2, this.options) : (Array.isArray(t2) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1 && (t2 = { [this.options.arrayNodeName]: t2 }), this.j2x(t2, 0, []).val);
-      }, ut.prototype.j2x = function(t2, e2, i2) {
-        let n2 = "", s2 = "";
-        const r2 = i2.join(".");
-        for (let o2 in t2) if (Object.prototype.hasOwnProperty.call(t2, o2)) if (void 0 === t2[o2]) this.isAttribute(o2) && (s2 += "");
-        else if (null === t2[o2]) this.isAttribute(o2) || o2 === this.options.cdataPropName ? s2 += "" : "?" === o2[0] ? s2 += this.indentate(e2) + "<" + o2 + "?" + this.tagEndChar : s2 += this.indentate(e2) + "<" + o2 + "/" + this.tagEndChar;
-        else if (t2[o2] instanceof Date) s2 += this.buildTextValNode(t2[o2], o2, "", e2);
-        else if ("object" != typeof t2[o2]) {
-          const i3 = this.isAttribute(o2);
-          if (i3 && !this.ignoreAttributesFn(i3, r2)) n2 += this.buildAttrPairStr(i3, "" + t2[o2]);
-          else if (!i3) if (o2 === this.options.textNodeName) {
-            let e3 = this.options.tagValueProcessor(o2, "" + t2[o2]);
-            s2 += this.replaceEntitiesValue(e3);
-          } else s2 += this.buildTextValNode(t2[o2], o2, "", e2);
-        } else if (Array.isArray(t2[o2])) {
-          const n3 = t2[o2].length;
-          let r3 = "", a2 = "";
-          for (let l2 = 0; l2 < n3; l2++) {
-            const n4 = t2[o2][l2];
-            if (void 0 === n4) ;
-            else if (null === n4) "?" === o2[0] ? s2 += this.indentate(e2) + "<" + o2 + "?" + this.tagEndChar : s2 += this.indentate(e2) + "<" + o2 + "/" + this.tagEndChar;
-            else if ("object" == typeof n4) if (this.options.oneListGroup) {
-              const t3 = this.j2x(n4, e2 + 1, i2.concat(o2));
-              r3 += t3.val, this.options.attributesGroupName && n4.hasOwnProperty(this.options.attributesGroupName) && (a2 += t3.attrStr);
-            } else r3 += this.processTextOrObjNode(n4, o2, e2, i2);
-            else if (this.options.oneListGroup) {
-              let t3 = this.options.tagValueProcessor(o2, n4);
-              t3 = this.replaceEntitiesValue(t3), r3 += t3;
-            } else r3 += this.buildTextValNode(n4, o2, "", e2);
-          }
-          this.options.oneListGroup && (r3 = this.buildObjectNode(r3, o2, a2, e2)), s2 += r3;
-        } else if (this.options.attributesGroupName && o2 === this.options.attributesGroupName) {
-          const e3 = Object.keys(t2[o2]), i3 = e3.length;
-          for (let s3 = 0; s3 < i3; s3++) n2 += this.buildAttrPairStr(e3[s3], "" + t2[o2][e3[s3]]);
-        } else s2 += this.processTextOrObjNode(t2[o2], o2, e2, i2);
-        return { attrStr: n2, val: s2 };
-      }, ut.prototype.buildAttrPairStr = function(t2, e2) {
-        return e2 = this.options.attributeValueProcessor(t2, "" + e2), e2 = this.replaceEntitiesValue(e2), this.options.suppressBooleanAttributes && "true" === e2 ? " " + t2 : " " + t2 + '="' + e2 + '"';
-      }, ut.prototype.buildObjectNode = function(t2, e2, i2, n2) {
-        if ("" === t2) return "?" === e2[0] ? this.indentate(n2) + "<" + e2 + i2 + "?" + this.tagEndChar : this.indentate(n2) + "<" + e2 + i2 + this.closeTag(e2) + this.tagEndChar;
-        {
-          let s2 = "` + this.newLine : this.indentate(n2) + "<" + e2 + i2 + r2 + this.tagEndChar + t2 + this.indentate(n2) + s2 : this.indentate(n2) + "<" + e2 + i2 + r2 + ">" + t2 + s2;
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp10],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.leaseId1,
+        Parameters.action2,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var changeLeaseOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobChangeLeaseHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobChangeLeaseExceptionHeaders
         }
-      }, ut.prototype.closeTag = function(t2) {
-        let e2 = "";
-        return -1 !== this.options.unpairedTags.indexOf(t2) ? this.options.suppressUnpairedNode || (e2 = "/") : e2 = this.options.suppressEmptyNode ? "/" : `>` + this.newLine;
-        if (false !== this.options.commentPropName && e2 === this.options.commentPropName) return this.indentate(n2) + `` + this.newLine;
-        if ("?" === e2[0]) return this.indentate(n2) + "<" + e2 + i2 + "?" + this.tagEndChar;
-        {
-          let s2 = this.options.tagValueProcessor(e2, t2);
-          return s2 = this.replaceEntitiesValue(s2), "" === s2 ? this.indentate(n2) + "<" + e2 + i2 + this.closeTag(e2) + this.tagEndChar : this.indentate(n2) + "<" + e2 + i2 + ">" + s2 + " 0 && this.options.processEntities) for (let e2 = 0; e2 < this.options.entities.length; e2++) {
-          const i2 = this.options.entities[e2];
-          t2 = t2.replace(i2.regex, i2.val);
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp10],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.action3,
+        Parameters.breakPeriod,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var createSnapshotOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.BlobCreateSnapshotHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobCreateSnapshotExceptionHeaders
         }
-        return t2;
-      };
-      const ft = { validate: a };
-      module2.exports = e;
-    })();
-  }
-});
-
-// node_modules/@azure/core-xml/dist/commonjs/xml.common.js
-var require_xml_common = __commonJS({
-  "node_modules/@azure/core-xml/dist/commonjs/xml.common.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.XML_CHARKEY = exports2.XML_ATTRKEY = void 0;
-    exports2.XML_ATTRKEY = "$";
-    exports2.XML_CHARKEY = "_";
-  }
-});
-
-// node_modules/@azure/core-xml/dist/commonjs/xml.js
-var require_xml = __commonJS({
-  "node_modules/@azure/core-xml/dist/commonjs/xml.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.stringifyXML = stringifyXML;
-    exports2.parseXML = parseXML;
-    var fast_xml_parser_1 = require_fxp();
-    var xml_common_js_1 = require_xml_common();
-    function getCommonOptions(options) {
-      var _a;
-      return {
-        attributesGroupName: xml_common_js_1.XML_ATTRKEY,
-        textNodeName: (_a = options.xmlCharKey) !== null && _a !== void 0 ? _a : xml_common_js_1.XML_CHARKEY,
-        ignoreAttributes: false,
-        suppressBooleanAttributes: false
-      };
-    }
-    function getSerializerOptions(options = {}) {
-      var _a, _b;
-      return Object.assign(Object.assign({}, getCommonOptions(options)), { attributeNamePrefix: "@_", format: true, suppressEmptyNode: true, indentBy: "", rootNodeName: (_a = options.rootName) !== null && _a !== void 0 ? _a : "root", cdataPropName: (_b = options.cdataPropName) !== null && _b !== void 0 ? _b : "__cdata" });
-    }
-    function getParserOptions(options = {}) {
-      return Object.assign(Object.assign({}, getCommonOptions(options)), { parseAttributeValue: false, parseTagValue: false, attributeNamePrefix: "", stopNodes: options.stopNodes, processEntities: true, trimValues: false });
-    }
-    function stringifyXML(obj, opts = {}) {
-      const parserOptions = getSerializerOptions(opts);
-      const j2x = new fast_xml_parser_1.XMLBuilder(parserOptions);
-      const node = { [parserOptions.rootNodeName]: obj };
-      const xmlData = j2x.build(node);
-      return `${xmlData}`.replace(/\n/g, "");
-    }
-    async function parseXML(str2, opts = {}) {
-      if (!str2) {
-        throw new Error("Document is empty");
-      }
-      const validation = fast_xml_parser_1.XMLValidator.validate(str2);
-      if (validation !== true) {
-        throw validation;
-      }
-      const parser = new fast_xml_parser_1.XMLParser(getParserOptions(opts));
-      const parsedXml = parser.parse(str2);
-      if (parsedXml["?xml"]) {
-        delete parsedXml["?xml"];
-      }
-      if (!opts.includeRoot) {
-        for (const key of Object.keys(parsedXml)) {
-          const value = parsedXml[key];
-          return typeof value === "object" ? Object.assign({}, value) : value;
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp14],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var startCopyFromURLOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        202: {
+          headersMapper: Mappers.BlobStartCopyFromURLHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobStartCopyFromURLExceptionHeaders
         }
-      }
-      return parsedXml;
-    }
-  }
-});
-
-// node_modules/@azure/core-xml/dist/commonjs/index.js
-var require_commonjs12 = __commonJS({
-  "node_modules/@azure/core-xml/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.XML_CHARKEY = exports2.XML_ATTRKEY = exports2.parseXML = exports2.stringifyXML = void 0;
-    var xml_js_1 = require_xml();
-    Object.defineProperty(exports2, "stringifyXML", { enumerable: true, get: function() {
-      return xml_js_1.stringifyXML;
-    } });
-    Object.defineProperty(exports2, "parseXML", { enumerable: true, get: function() {
-      return xml_js_1.parseXML;
-    } });
-    var xml_common_js_1 = require_xml_common();
-    Object.defineProperty(exports2, "XML_ATTRKEY", { enumerable: true, get: function() {
-      return xml_common_js_1.XML_ATTRKEY;
-    } });
-    Object.defineProperty(exports2, "XML_CHARKEY", { enumerable: true, get: function() {
-      return xml_common_js_1.XML_CHARKEY;
-    } });
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/log.js
-var require_log5 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/log.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.logger = void 0;
-    var logger_1 = require_commonjs4();
-    exports2.logger = (0, logger_1.createClientLogger)("storage-blob");
-  }
-});
-
-// node_modules/@azure/storage-blob/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js
-var require_AbortError3 = __commonJS({
-  "node_modules/@azure/storage-blob/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AbortError = void 0;
-    var AbortError = class extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "AbortError";
-      }
+      },
+      queryParameters: [Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.immutabilityPolicyExpiry,
+        Parameters.immutabilityPolicyMode,
+        Parameters.tier,
+        Parameters.rehydratePriority,
+        Parameters.sourceIfModifiedSince,
+        Parameters.sourceIfUnmodifiedSince,
+        Parameters.sourceIfMatch,
+        Parameters.sourceIfNoneMatch,
+        Parameters.sourceIfTags,
+        Parameters.copySource,
+        Parameters.blobTagsString,
+        Parameters.sealBlob,
+        Parameters.legalHold1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var copyFromURLOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        202: {
+          headersMapper: Mappers.BlobCopyFromURLHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobCopyFromURLExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.immutabilityPolicyExpiry,
+        Parameters.immutabilityPolicyMode,
+        Parameters.encryptionScope,
+        Parameters.tier,
+        Parameters.sourceIfModifiedSince,
+        Parameters.sourceIfUnmodifiedSince,
+        Parameters.sourceIfMatch,
+        Parameters.sourceIfNoneMatch,
+        Parameters.copySource,
+        Parameters.blobTagsString,
+        Parameters.legalHold1,
+        Parameters.xMsRequiresSync,
+        Parameters.sourceContentMD5,
+        Parameters.copySourceAuthorization,
+        Parameters.copySourceTags,
+        Parameters.fileRequestIntent
+      ],
+      isXML: true,
+      serializer: xmlSerializer
     };
-    exports2.AbortError = AbortError;
-  }
-});
-
-// node_modules/@azure/storage-blob/node_modules/@azure/abort-controller/dist/commonjs/index.js
-var require_commonjs13 = __commonJS({
-  "node_modules/@azure/storage-blob/node_modules/@azure/abort-controller/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AbortError = void 0;
-    var AbortError_js_1 = require_AbortError3();
-    Object.defineProperty(exports2, "AbortError", { enumerable: true, get: function() {
-      return AbortError_js_1.AbortError;
-    } });
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/policies/RequestPolicy.js
-var require_RequestPolicy = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/RequestPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BaseRequestPolicy = void 0;
-    var BaseRequestPolicy = class {
-      _nextPolicy;
-      _options;
-      /**
-       * The main method to implement that manipulates a request/response.
-       */
-      constructor(_nextPolicy, _options) {
-        this._nextPolicy = _nextPolicy;
-        this._options = _options;
-      }
-      /**
-       * Get whether or not a log with the provided log level should be logged.
-       * @param logLevel - The log level of the log that will be logged.
-       * @returns Whether or not a log with the provided log level should be logged.
-       */
-      shouldLog(logLevel) {
-        return this._options.shouldLog(logLevel);
-      }
-      /**
-       * Attempt to log the provided message to the provided logger. If no logger was provided or if
-       * the log level does not meat the logger's threshold, then nothing will be logged.
-       * @param logLevel - The log level of this log.
-       * @param message - The message of this log.
-       */
-      log(logLevel, message) {
-        this._options.log(logLevel, message);
-      }
+    var abortCopyFromURLOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        204: {
+          headersMapper: Mappers.BlobAbortCopyFromURLHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobAbortCopyFromURLExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.comp15,
+        Parameters.copyId
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.copyActionAbortConstant
+      ],
+      isXML: true,
+      serializer: xmlSerializer
     };
-    exports2.BaseRequestPolicy = BaseRequestPolicy;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/utils/constants.js
-var require_constants14 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/constants.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.PathStylePorts = exports2.BlobDoesNotUseCustomerSpecifiedEncryption = exports2.BlobUsesCustomerSpecifiedEncryptionMsg = exports2.StorageBlobLoggingAllowedQueryParameters = exports2.StorageBlobLoggingAllowedHeaderNames = exports2.DevelopmentConnectionString = exports2.EncryptionAlgorithmAES25 = exports2.HTTP_VERSION_1_1 = exports2.HTTP_LINE_ENDING = exports2.BATCH_MAX_PAYLOAD_IN_BYTES = exports2.BATCH_MAX_REQUEST = exports2.SIZE_1_MB = exports2.ETagAny = exports2.ETagNone = exports2.HeaderConstants = exports2.HTTPURLConnection = exports2.URLConstants = exports2.StorageOAuthScopes = exports2.REQUEST_TIMEOUT = exports2.DEFAULT_MAX_DOWNLOAD_RETRY_REQUESTS = exports2.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES = exports2.DEFAULT_BLOCK_BUFFER_SIZE_BYTES = exports2.BLOCK_BLOB_MAX_BLOCKS = exports2.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES = exports2.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES = exports2.SERVICE_VERSION = exports2.SDK_VERSION = void 0;
-    exports2.SDK_VERSION = "12.29.1";
-    exports2.SERVICE_VERSION = "2025-11-05";
-    exports2.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES = 256 * 1024 * 1024;
-    exports2.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES = 4e3 * 1024 * 1024;
-    exports2.BLOCK_BLOB_MAX_BLOCKS = 5e4;
-    exports2.DEFAULT_BLOCK_BUFFER_SIZE_BYTES = 8 * 1024 * 1024;
-    exports2.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES = 4 * 1024 * 1024;
-    exports2.DEFAULT_MAX_DOWNLOAD_RETRY_REQUESTS = 5;
-    exports2.REQUEST_TIMEOUT = 100 * 1e3;
-    exports2.StorageOAuthScopes = "https://storage.azure.com/.default";
-    exports2.URLConstants = {
-      Parameters: {
-        FORCE_BROWSER_NO_CACHE: "_",
-        SIGNATURE: "sig",
-        SNAPSHOT: "snapshot",
-        VERSIONID: "versionid",
-        TIMEOUT: "timeout"
-      }
+    var setTierOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobSetTierHeaders
+        },
+        202: {
+          headersMapper: Mappers.BlobSetTierHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobSetTierExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.versionId,
+        Parameters.comp16
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifTags,
+        Parameters.rehydratePriority,
+        Parameters.tier1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
     };
-    exports2.HTTPURLConnection = {
-      HTTP_ACCEPTED: 202,
-      HTTP_CONFLICT: 409,
-      HTTP_NOT_FOUND: 404,
-      HTTP_PRECON_FAILED: 412,
-      HTTP_RANGE_NOT_SATISFIABLE: 416
+    var getAccountInfoOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobGetAccountInfoHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobGetAccountInfoExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.comp,
+        Parameters.timeoutInSeconds,
+        Parameters.restype1
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
     };
-    exports2.HeaderConstants = {
-      AUTHORIZATION: "Authorization",
-      AUTHORIZATION_SCHEME: "Bearer",
-      CONTENT_ENCODING: "Content-Encoding",
-      CONTENT_ID: "Content-ID",
-      CONTENT_LANGUAGE: "Content-Language",
-      CONTENT_LENGTH: "Content-Length",
-      CONTENT_MD5: "Content-Md5",
-      CONTENT_TRANSFER_ENCODING: "Content-Transfer-Encoding",
-      CONTENT_TYPE: "Content-Type",
-      COOKIE: "Cookie",
-      DATE: "date",
-      IF_MATCH: "if-match",
-      IF_MODIFIED_SINCE: "if-modified-since",
-      IF_NONE_MATCH: "if-none-match",
-      IF_UNMODIFIED_SINCE: "if-unmodified-since",
-      PREFIX_FOR_STORAGE: "x-ms-",
-      RANGE: "Range",
-      USER_AGENT: "User-Agent",
-      X_MS_CLIENT_REQUEST_ID: "x-ms-client-request-id",
-      X_MS_COPY_SOURCE: "x-ms-copy-source",
-      X_MS_DATE: "x-ms-date",
-      X_MS_ERROR_CODE: "x-ms-error-code",
-      X_MS_VERSION: "x-ms-version",
-      X_MS_CopySourceErrorCode: "x-ms-copy-source-error-code"
+    var queryOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "POST",
+      responses: {
+        200: {
+          bodyMapper: {
+            type: { name: "Stream" },
+            serializedName: "parsedResponse"
+          },
+          headersMapper: Mappers.BlobQueryHeaders
+        },
+        206: {
+          bodyMapper: {
+            type: { name: "Stream" },
+            serializedName: "parsedResponse"
+          },
+          headersMapper: Mappers.BlobQueryHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobQueryExceptionHeaders
+        }
+      },
+      requestBody: Parameters.queryRequest,
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.comp17
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.contentType,
+        Parameters.accept,
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "xml",
+      serializer: xmlSerializer
     };
-    exports2.ETagNone = "";
-    exports2.ETagAny = "*";
-    exports2.SIZE_1_MB = 1 * 1024 * 1024;
-    exports2.BATCH_MAX_REQUEST = 256;
-    exports2.BATCH_MAX_PAYLOAD_IN_BYTES = 4 * exports2.SIZE_1_MB;
-    exports2.HTTP_LINE_ENDING = "\r\n";
-    exports2.HTTP_VERSION_1_1 = "HTTP/1.1";
-    exports2.EncryptionAlgorithmAES25 = "AES256";
-    exports2.DevelopmentConnectionString = `DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;`;
-    exports2.StorageBlobLoggingAllowedHeaderNames = [
-      "Access-Control-Allow-Origin",
-      "Cache-Control",
-      "Content-Length",
-      "Content-Type",
-      "Date",
-      "Request-Id",
-      "traceparent",
-      "Transfer-Encoding",
-      "User-Agent",
-      "x-ms-client-request-id",
-      "x-ms-date",
-      "x-ms-error-code",
-      "x-ms-request-id",
-      "x-ms-return-client-request-id",
-      "x-ms-version",
-      "Accept-Ranges",
-      "Content-Disposition",
-      "Content-Encoding",
-      "Content-Language",
-      "Content-MD5",
-      "Content-Range",
-      "ETag",
-      "Last-Modified",
-      "Server",
-      "Vary",
-      "x-ms-content-crc64",
-      "x-ms-copy-action",
-      "x-ms-copy-completion-time",
-      "x-ms-copy-id",
-      "x-ms-copy-progress",
-      "x-ms-copy-status",
-      "x-ms-has-immutability-policy",
-      "x-ms-has-legal-hold",
-      "x-ms-lease-state",
-      "x-ms-lease-status",
-      "x-ms-range",
-      "x-ms-request-server-encrypted",
-      "x-ms-server-encrypted",
-      "x-ms-snapshot",
-      "x-ms-source-range",
-      "If-Match",
-      "If-Modified-Since",
-      "If-None-Match",
-      "If-Unmodified-Since",
-      "x-ms-access-tier",
-      "x-ms-access-tier-change-time",
-      "x-ms-access-tier-inferred",
-      "x-ms-account-kind",
-      "x-ms-archive-status",
-      "x-ms-blob-append-offset",
-      "x-ms-blob-cache-control",
-      "x-ms-blob-committed-block-count",
-      "x-ms-blob-condition-appendpos",
-      "x-ms-blob-condition-maxsize",
-      "x-ms-blob-content-disposition",
-      "x-ms-blob-content-encoding",
-      "x-ms-blob-content-language",
-      "x-ms-blob-content-length",
-      "x-ms-blob-content-md5",
-      "x-ms-blob-content-type",
-      "x-ms-blob-public-access",
-      "x-ms-blob-sequence-number",
-      "x-ms-blob-type",
-      "x-ms-copy-destination-snapshot",
-      "x-ms-creation-time",
-      "x-ms-default-encryption-scope",
-      "x-ms-delete-snapshots",
-      "x-ms-delete-type-permanent",
-      "x-ms-deny-encryption-scope-override",
-      "x-ms-encryption-algorithm",
-      "x-ms-if-sequence-number-eq",
-      "x-ms-if-sequence-number-le",
-      "x-ms-if-sequence-number-lt",
-      "x-ms-incremental-copy",
-      "x-ms-lease-action",
-      "x-ms-lease-break-period",
-      "x-ms-lease-duration",
-      "x-ms-lease-id",
-      "x-ms-lease-time",
-      "x-ms-page-write",
-      "x-ms-proposed-lease-id",
-      "x-ms-range-get-content-md5",
-      "x-ms-rehydrate-priority",
-      "x-ms-sequence-number-action",
-      "x-ms-sku-name",
-      "x-ms-source-content-md5",
-      "x-ms-source-if-match",
-      "x-ms-source-if-modified-since",
-      "x-ms-source-if-none-match",
-      "x-ms-source-if-unmodified-since",
-      "x-ms-tag-count",
-      "x-ms-encryption-key-sha256",
-      "x-ms-copy-source-error-code",
-      "x-ms-copy-source-status-code",
-      "x-ms-if-tags",
-      "x-ms-source-if-tags"
-    ];
-    exports2.StorageBlobLoggingAllowedQueryParameters = [
-      "comp",
-      "maxresults",
-      "rscc",
-      "rscd",
-      "rsce",
-      "rscl",
-      "rsct",
-      "se",
-      "si",
-      "sip",
-      "sp",
-      "spr",
-      "sr",
-      "srt",
-      "ss",
-      "st",
-      "sv",
-      "include",
-      "marker",
-      "prefix",
-      "copyid",
-      "restype",
-      "blockid",
-      "blocklisttype",
-      "delimiter",
-      "prevsnapshot",
-      "ske",
-      "skoid",
-      "sks",
-      "skt",
-      "sktid",
-      "skv",
-      "snapshot"
-    ];
-    exports2.BlobUsesCustomerSpecifiedEncryptionMsg = "BlobUsesCustomerSpecifiedEncryption";
-    exports2.BlobDoesNotUseCustomerSpecifiedEncryption = "BlobDoesNotUseCustomerSpecifiedEncryption";
-    exports2.PathStylePorts = [
-      "10000",
-      "10001",
-      "10002",
-      "10003",
-      "10004",
-      "10100",
-      "10101",
-      "10102",
-      "10103",
-      "10104",
-      "11000",
-      "11001",
-      "11002",
-      "11003",
-      "11004",
-      "11100",
-      "11101",
-      "11102",
-      "11103",
-      "11104"
-    ];
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/utils/utils.common.js
-var require_utils_common = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/utils.common.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.escapeURLPath = escapeURLPath;
-    exports2.getValueInConnString = getValueInConnString;
-    exports2.extractConnectionStringParts = extractConnectionStringParts;
-    exports2.appendToURLPath = appendToURLPath;
-    exports2.setURLParameter = setURLParameter;
-    exports2.getURLParameter = getURLParameter;
-    exports2.setURLHost = setURLHost;
-    exports2.getURLPath = getURLPath;
-    exports2.getURLScheme = getURLScheme;
-    exports2.getURLPathAndQuery = getURLPathAndQuery;
-    exports2.getURLQueries = getURLQueries;
-    exports2.appendToURLQuery = appendToURLQuery;
-    exports2.truncatedISO8061Date = truncatedISO8061Date;
-    exports2.base64encode = base64encode;
-    exports2.base64decode = base64decode;
-    exports2.generateBlockID = generateBlockID;
-    exports2.delay = delay;
-    exports2.padStart = padStart2;
-    exports2.sanitizeURL = sanitizeURL;
-    exports2.sanitizeHeaders = sanitizeHeaders;
-    exports2.iEqual = iEqual;
-    exports2.getAccountNameFromUrl = getAccountNameFromUrl;
-    exports2.isIpEndpointStyle = isIpEndpointStyle;
-    exports2.toBlobTagsString = toBlobTagsString;
-    exports2.toBlobTags = toBlobTags;
-    exports2.toTags = toTags;
-    exports2.toQuerySerialization = toQuerySerialization;
-    exports2.parseObjectReplicationRecord = parseObjectReplicationRecord;
-    exports2.attachCredential = attachCredential;
-    exports2.httpAuthorizationToString = httpAuthorizationToString;
-    exports2.BlobNameToString = BlobNameToString;
-    exports2.ConvertInternalResponseOfListBlobFlat = ConvertInternalResponseOfListBlobFlat;
-    exports2.ConvertInternalResponseOfListBlobHierarchy = ConvertInternalResponseOfListBlobHierarchy;
-    exports2.ExtractPageRangeInfoItems = ExtractPageRangeInfoItems;
-    exports2.EscapePath = EscapePath;
-    exports2.assertResponse = assertResponse;
-    var core_rest_pipeline_1 = require_commonjs8();
-    var core_util_1 = require_commonjs6();
-    var constants_js_1 = require_constants14();
-    function escapeURLPath(url) {
-      const urlParsed = new URL(url);
-      let path3 = urlParsed.pathname;
-      path3 = path3 || "/";
-      path3 = escape(path3);
-      urlParsed.pathname = path3;
-      return urlParsed.toString();
-    }
-    function getProxyUriFromDevConnString(connectionString) {
-      let proxyUri = "";
-      if (connectionString.search("DevelopmentStorageProxyUri=") !== -1) {
-        const matchCredentials = connectionString.split(";");
-        for (const element of matchCredentials) {
-          if (element.trim().startsWith("DevelopmentStorageProxyUri=")) {
-            proxyUri = element.trim().match("DevelopmentStorageProxyUri=(.*)")[1];
-          }
+    var getTagsOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.BlobTags,
+          headersMapper: Mappers.BlobGetTagsHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobGetTagsExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.versionId,
+        Parameters.comp18
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var setTagsOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        204: {
+          headersMapper: Mappers.BlobSetTagsHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobSetTagsExceptionHeaders
         }
+      },
+      requestBody: Parameters.tags,
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.versionId,
+        Parameters.comp18
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.contentType,
+        Parameters.accept,
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.leaseId,
+        Parameters.ifTags,
+        Parameters.transactionalContentMD5,
+        Parameters.transactionalContentCrc64
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "xml",
+      serializer: xmlSerializer
+    };
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/pageBlob.js
+var require_pageBlob = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/pageBlob.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.PageBlobImpl = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var coreClient = tslib_1.__importStar(require_commonjs10());
+    var Mappers = tslib_1.__importStar(require_mappers());
+    var Parameters = tslib_1.__importStar(require_parameters());
+    var PageBlobImpl = class {
+      client;
+      /**
+       * Initialize a new instance of the class PageBlob class.
+       * @param client Reference to the service client
+       */
+      constructor(client) {
+        this.client = client;
       }
-      return proxyUri;
-    }
-    function getValueInConnString(connectionString, argument) {
-      const elements = connectionString.split(";");
-      for (const element of elements) {
-        if (element.trim().startsWith(argument)) {
-          return element.trim().match(argument + "=(.*)")[1];
-        }
+      /**
+       * The Create operation creates a new page blob.
+       * @param contentLength The length of the request.
+       * @param blobContentLength This header specifies the maximum size for the page blob, up to 1 TB. The
+       *                          page blob size must be aligned to a 512-byte boundary.
+       * @param options The options parameters.
+       */
+      create(contentLength, blobContentLength, options) {
+        return this.client.sendOperationRequest({ contentLength, blobContentLength, options }, createOperationSpec);
       }
-      return "";
-    }
-    function extractConnectionStringParts(connectionString) {
-      let proxyUri = "";
-      if (connectionString.startsWith("UseDevelopmentStorage=true")) {
-        proxyUri = getProxyUriFromDevConnString(connectionString);
-        connectionString = constants_js_1.DevelopmentConnectionString;
+      /**
+       * The Upload Pages operation writes a range of pages to a page blob
+       * @param contentLength The length of the request.
+       * @param body Initial data
+       * @param options The options parameters.
+       */
+      uploadPages(contentLength, body, options) {
+        return this.client.sendOperationRequest({ contentLength, body, options }, uploadPagesOperationSpec);
       }
-      let blobEndpoint = getValueInConnString(connectionString, "BlobEndpoint");
-      blobEndpoint = blobEndpoint.endsWith("/") ? blobEndpoint.slice(0, -1) : blobEndpoint;
-      if (connectionString.search("DefaultEndpointsProtocol=") !== -1 && connectionString.search("AccountKey=") !== -1) {
-        let defaultEndpointsProtocol = "";
-        let accountName = "";
-        let accountKey = Buffer.from("accountKey", "base64");
-        let endpointSuffix = "";
-        accountName = getValueInConnString(connectionString, "AccountName");
-        accountKey = Buffer.from(getValueInConnString(connectionString, "AccountKey"), "base64");
-        if (!blobEndpoint) {
-          defaultEndpointsProtocol = getValueInConnString(connectionString, "DefaultEndpointsProtocol");
-          const protocol = defaultEndpointsProtocol.toLowerCase();
-          if (protocol !== "https" && protocol !== "http") {
-            throw new Error("Invalid DefaultEndpointsProtocol in the provided Connection String. Expecting 'https' or 'http'");
-          }
-          endpointSuffix = getValueInConnString(connectionString, "EndpointSuffix");
-          if (!endpointSuffix) {
-            throw new Error("Invalid EndpointSuffix in the provided Connection String");
-          }
-          blobEndpoint = `${defaultEndpointsProtocol}://${accountName}.blob.${endpointSuffix}`;
+      /**
+       * The Clear Pages operation clears a set of pages from a page blob
+       * @param contentLength The length of the request.
+       * @param options The options parameters.
+       */
+      clearPages(contentLength, options) {
+        return this.client.sendOperationRequest({ contentLength, options }, clearPagesOperationSpec);
+      }
+      /**
+       * The Upload Pages operation writes a range of pages to a page blob where the contents are read from a
+       * URL
+       * @param sourceUrl Specify a URL to the copy source.
+       * @param sourceRange Bytes of source data in the specified range. The length of this range should
+       *                    match the ContentLength header and x-ms-range/Range destination range header.
+       * @param contentLength The length of the request.
+       * @param range The range of bytes to which the source range would be written. The range should be 512
+       *              aligned and range-end is required.
+       * @param options The options parameters.
+       */
+      uploadPagesFromURL(sourceUrl, sourceRange, contentLength, range, options) {
+        return this.client.sendOperationRequest({ sourceUrl, sourceRange, contentLength, range, options }, uploadPagesFromURLOperationSpec);
+      }
+      /**
+       * The Get Page Ranges operation returns the list of valid page ranges for a page blob or snapshot of a
+       * page blob
+       * @param options The options parameters.
+       */
+      getPageRanges(options) {
+        return this.client.sendOperationRequest({ options }, getPageRangesOperationSpec);
+      }
+      /**
+       * The Get Page Ranges Diff operation returns the list of valid page ranges for a page blob that were
+       * changed between target blob and previous snapshot.
+       * @param options The options parameters.
+       */
+      getPageRangesDiff(options) {
+        return this.client.sendOperationRequest({ options }, getPageRangesDiffOperationSpec);
+      }
+      /**
+       * Resize the Blob
+       * @param blobContentLength This header specifies the maximum size for the page blob, up to 1 TB. The
+       *                          page blob size must be aligned to a 512-byte boundary.
+       * @param options The options parameters.
+       */
+      resize(blobContentLength, options) {
+        return this.client.sendOperationRequest({ blobContentLength, options }, resizeOperationSpec);
+      }
+      /**
+       * Update the sequence number of the blob
+       * @param sequenceNumberAction Required if the x-ms-blob-sequence-number header is set for the request.
+       *                             This property applies to page blobs only. This property indicates how the service should modify the
+       *                             blob's sequence number
+       * @param options The options parameters.
+       */
+      updateSequenceNumber(sequenceNumberAction, options) {
+        return this.client.sendOperationRequest({ sequenceNumberAction, options }, updateSequenceNumberOperationSpec);
+      }
+      /**
+       * The Copy Incremental operation copies a snapshot of the source page blob to a destination page blob.
+       * The snapshot is copied such that only the differential changes between the previously copied
+       * snapshot are transferred to the destination. The copied snapshots are complete copies of the
+       * original snapshot and can be read or copied from as usual. This API is supported since REST version
+       * 2016-05-31.
+       * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to
+       *                   2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would
+       *                   appear in a request URI. The source blob must either be public or must be authenticated via a shared
+       *                   access signature.
+       * @param options The options parameters.
+       */
+      copyIncremental(copySource, options) {
+        return this.client.sendOperationRequest({ copySource, options }, copyIncrementalOperationSpec);
+      }
+    };
+    exports2.PageBlobImpl = PageBlobImpl;
+    var xmlSerializer = coreClient.createSerializer(
+      Mappers,
+      /* isXml */
+      true
+    );
+    var createOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.PageBlobCreateHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobCreateExceptionHeaders
         }
-        if (!accountName) {
-          throw new Error("Invalid AccountName in the provided Connection String");
-        } else if (accountKey.length === 0) {
-          throw new Error("Invalid AccountKey in the provided Connection String");
+      },
+      queryParameters: [Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.contentLength,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.blobCacheControl,
+        Parameters.blobContentType,
+        Parameters.blobContentMD5,
+        Parameters.blobContentEncoding,
+        Parameters.blobContentLanguage,
+        Parameters.blobContentDisposition,
+        Parameters.immutabilityPolicyExpiry,
+        Parameters.immutabilityPolicyMode,
+        Parameters.encryptionScope,
+        Parameters.tier,
+        Parameters.blobTagsString,
+        Parameters.legalHold1,
+        Parameters.blobType,
+        Parameters.blobContentLength,
+        Parameters.blobSequenceNumber
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var uploadPagesOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.PageBlobUploadPagesHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobUploadPagesExceptionHeaders
         }
-        return {
-          kind: "AccountConnString",
-          url: blobEndpoint,
-          accountName,
-          accountKey,
-          proxyUri
-        };
-      } else {
-        let accountSas = getValueInConnString(connectionString, "SharedAccessSignature");
-        let accountName = getValueInConnString(connectionString, "AccountName");
-        if (!accountName) {
-          accountName = getAccountNameFromUrl(blobEndpoint);
+      },
+      requestBody: Parameters.body1,
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.contentLength,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.range,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope,
+        Parameters.transactionalContentMD5,
+        Parameters.transactionalContentCrc64,
+        Parameters.contentType1,
+        Parameters.accept2,
+        Parameters.pageWrite,
+        Parameters.ifSequenceNumberLessThanOrEqualTo,
+        Parameters.ifSequenceNumberLessThan,
+        Parameters.ifSequenceNumberEqualTo
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "binary",
+      serializer: xmlSerializer
+    };
+    var clearPagesOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.PageBlobClearPagesHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobClearPagesExceptionHeaders
         }
-        if (!blobEndpoint) {
-          throw new Error("Invalid BlobEndpoint in the provided SAS Connection String");
-        } else if (!accountSas) {
-          throw new Error("Invalid SharedAccessSignature in the provided SAS Connection String");
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.contentLength,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.range,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope,
+        Parameters.ifSequenceNumberLessThanOrEqualTo,
+        Parameters.ifSequenceNumberLessThan,
+        Parameters.ifSequenceNumberEqualTo,
+        Parameters.pageWrite1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var uploadPagesFromURLOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.PageBlobUploadPagesFromURLHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobUploadPagesFromURLExceptionHeaders
         }
-        if (accountSas.startsWith("?")) {
-          accountSas = accountSas.substring(1);
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.contentLength,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope,
+        Parameters.sourceIfModifiedSince,
+        Parameters.sourceIfUnmodifiedSince,
+        Parameters.sourceIfMatch,
+        Parameters.sourceIfNoneMatch,
+        Parameters.sourceContentMD5,
+        Parameters.copySourceAuthorization,
+        Parameters.fileRequestIntent,
+        Parameters.pageWrite,
+        Parameters.ifSequenceNumberLessThanOrEqualTo,
+        Parameters.ifSequenceNumberLessThan,
+        Parameters.ifSequenceNumberEqualTo,
+        Parameters.sourceUrl,
+        Parameters.sourceRange,
+        Parameters.sourceContentCrc64,
+        Parameters.range1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var getPageRangesOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.PageList,
+          headersMapper: Mappers.PageBlobGetPageRangesHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobGetPageRangesExceptionHeaders
         }
-        return { kind: "SASConnString", url: blobEndpoint, accountName, accountSas };
-      }
-    }
-    function escape(text) {
-      return encodeURIComponent(text).replace(/%2F/g, "/").replace(/'/g, "%27").replace(/\+/g, "%20").replace(/%25/g, "%");
-    }
-    function appendToURLPath(url, name) {
-      const urlParsed = new URL(url);
-      let path3 = urlParsed.pathname;
-      path3 = path3 ? path3.endsWith("/") ? `${path3}${name}` : `${path3}/${name}` : name;
-      urlParsed.pathname = path3;
-      return urlParsed.toString();
-    }
-    function setURLParameter(url, name, value) {
-      const urlParsed = new URL(url);
-      const encodedName = encodeURIComponent(name);
-      const encodedValue = value ? encodeURIComponent(value) : void 0;
-      const searchString = urlParsed.search === "" ? "?" : urlParsed.search;
-      const searchPieces = [];
-      for (const pair of searchString.slice(1).split("&")) {
-        if (pair) {
-          const [key] = pair.split("=", 2);
-          if (key !== encodedName) {
-            searchPieces.push(pair);
-          }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.marker,
+        Parameters.maxPageSize,
+        Parameters.snapshot,
+        Parameters.comp20
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.range,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var getPageRangesDiffOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.PageList,
+          headersMapper: Mappers.PageBlobGetPageRangesDiffHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobGetPageRangesDiffExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.marker,
+        Parameters.maxPageSize,
+        Parameters.snapshot,
+        Parameters.comp20,
+        Parameters.prevsnapshot
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.range,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.prevSnapshotUrl
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var resizeOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.PageBlobResizeHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobResizeExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.comp, Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope,
+        Parameters.blobContentLength
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var updateSequenceNumberOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.PageBlobUpdateSequenceNumberHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobUpdateSequenceNumberExceptionHeaders
         }
+      },
+      queryParameters: [Parameters.comp, Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.blobSequenceNumber,
+        Parameters.sequenceNumberAction
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var copyIncrementalOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        202: {
+          headersMapper: Mappers.PageBlobCopyIncrementalHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobCopyIncrementalExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp21],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.copySource
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/appendBlob.js
+var require_appendBlob = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/appendBlob.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AppendBlobImpl = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var coreClient = tslib_1.__importStar(require_commonjs10());
+    var Mappers = tslib_1.__importStar(require_mappers());
+    var Parameters = tslib_1.__importStar(require_parameters());
+    var AppendBlobImpl = class {
+      client;
+      /**
+       * Initialize a new instance of the class AppendBlob class.
+       * @param client Reference to the service client
+       */
+      constructor(client) {
+        this.client = client;
       }
-      if (encodedValue) {
-        searchPieces.push(`${encodedName}=${encodedValue}`);
-      }
-      urlParsed.search = searchPieces.length ? `?${searchPieces.join("&")}` : "";
-      return urlParsed.toString();
-    }
-    function getURLParameter(url, name) {
-      const urlParsed = new URL(url);
-      return urlParsed.searchParams.get(name) ?? void 0;
-    }
-    function setURLHost(url, host) {
-      const urlParsed = new URL(url);
-      urlParsed.hostname = host;
-      return urlParsed.toString();
-    }
-    function getURLPath(url) {
-      try {
-        const urlParsed = new URL(url);
-        return urlParsed.pathname;
-      } catch (e) {
-        return void 0;
-      }
-    }
-    function getURLScheme(url) {
-      try {
-        const urlParsed = new URL(url);
-        return urlParsed.protocol.endsWith(":") ? urlParsed.protocol.slice(0, -1) : urlParsed.protocol;
-      } catch (e) {
-        return void 0;
-      }
-    }
-    function getURLPathAndQuery(url) {
-      const urlParsed = new URL(url);
-      const pathString = urlParsed.pathname;
-      if (!pathString) {
-        throw new RangeError("Invalid url without valid path.");
-      }
-      let queryString = urlParsed.search || "";
-      queryString = queryString.trim();
-      if (queryString !== "") {
-        queryString = queryString.startsWith("?") ? queryString : `?${queryString}`;
-      }
-      return `${pathString}${queryString}`;
-    }
-    function getURLQueries(url) {
-      let queryString = new URL(url).search;
-      if (!queryString) {
-        return {};
-      }
-      queryString = queryString.trim();
-      queryString = queryString.startsWith("?") ? queryString.substring(1) : queryString;
-      let querySubStrings = queryString.split("&");
-      querySubStrings = querySubStrings.filter((value) => {
-        const indexOfEqual = value.indexOf("=");
-        const lastIndexOfEqual = value.lastIndexOf("=");
-        return indexOfEqual > 0 && indexOfEqual === lastIndexOfEqual && lastIndexOfEqual < value.length - 1;
-      });
-      const queries = {};
-      for (const querySubString of querySubStrings) {
-        const splitResults = querySubString.split("=");
-        const key = splitResults[0];
-        const value = splitResults[1];
-        queries[key] = value;
-      }
-      return queries;
-    }
-    function appendToURLQuery(url, queryParts) {
-      const urlParsed = new URL(url);
-      let query = urlParsed.search;
-      if (query) {
-        query += "&" + queryParts;
-      } else {
-        query = queryParts;
-      }
-      urlParsed.search = query;
-      return urlParsed.toString();
-    }
-    function truncatedISO8061Date(date, withMilliseconds = true) {
-      const dateString = date.toISOString();
-      return withMilliseconds ? dateString.substring(0, dateString.length - 1) + "0000Z" : dateString.substring(0, dateString.length - 5) + "Z";
-    }
-    function base64encode(content) {
-      return !core_util_1.isNodeLike ? btoa(content) : Buffer.from(content).toString("base64");
-    }
-    function base64decode(encodedString) {
-      return !core_util_1.isNodeLike ? atob(encodedString) : Buffer.from(encodedString, "base64").toString();
-    }
-    function generateBlockID(blockIDPrefix, blockIndex) {
-      const maxSourceStringLength = 48;
-      const maxBlockIndexLength = 6;
-      const maxAllowedBlockIDPrefixLength = maxSourceStringLength - maxBlockIndexLength;
-      if (blockIDPrefix.length > maxAllowedBlockIDPrefixLength) {
-        blockIDPrefix = blockIDPrefix.slice(0, maxAllowedBlockIDPrefixLength);
+      /**
+       * The Create Append Blob operation creates a new append blob.
+       * @param contentLength The length of the request.
+       * @param options The options parameters.
+       */
+      create(contentLength, options) {
+        return this.client.sendOperationRequest({ contentLength, options }, createOperationSpec);
       }
-      const res = blockIDPrefix + padStart2(blockIndex.toString(), maxSourceStringLength - blockIDPrefix.length, "0");
-      return base64encode(res);
-    }
-    async function delay(timeInMs, aborter, abortError) {
-      return new Promise((resolve2, reject) => {
-        let timeout;
-        const abortHandler = () => {
-          if (timeout !== void 0) {
-            clearTimeout(timeout);
-          }
-          reject(abortError);
-        };
-        const resolveHandler = () => {
-          if (aborter !== void 0) {
-            aborter.removeEventListener("abort", abortHandler);
-          }
-          resolve2();
-        };
-        timeout = setTimeout(resolveHandler, timeInMs);
-        if (aborter !== void 0) {
-          aborter.addEventListener("abort", abortHandler);
-        }
-      });
-    }
-    function padStart2(currentString, targetLength, padString = " ") {
-      if (String.prototype.padStart) {
-        return currentString.padStart(targetLength, padString);
+      /**
+       * The Append Block operation commits a new block of data to the end of an existing append blob. The
+       * Append Block operation is permitted only if the blob was created with x-ms-blob-type set to
+       * AppendBlob. Append Block is supported only on version 2015-02-21 version or later.
+       * @param contentLength The length of the request.
+       * @param body Initial data
+       * @param options The options parameters.
+       */
+      appendBlock(contentLength, body, options) {
+        return this.client.sendOperationRequest({ contentLength, body, options }, appendBlockOperationSpec);
       }
-      padString = padString || " ";
-      if (currentString.length > targetLength) {
-        return currentString;
-      } else {
-        targetLength = targetLength - currentString.length;
-        if (targetLength > padString.length) {
-          padString += padString.repeat(targetLength / padString.length);
-        }
-        return padString.slice(0, targetLength) + currentString;
+      /**
+       * The Append Block operation commits a new block of data to the end of an existing append blob where
+       * the contents are read from a source url. The Append Block operation is permitted only if the blob
+       * was created with x-ms-blob-type set to AppendBlob. Append Block is supported only on version
+       * 2015-02-21 version or later.
+       * @param sourceUrl Specify a URL to the copy source.
+       * @param contentLength The length of the request.
+       * @param options The options parameters.
+       */
+      appendBlockFromUrl(sourceUrl, contentLength, options) {
+        return this.client.sendOperationRequest({ sourceUrl, contentLength, options }, appendBlockFromUrlOperationSpec);
       }
-    }
-    function sanitizeURL(url) {
-      let safeURL = url;
-      if (getURLParameter(safeURL, constants_js_1.URLConstants.Parameters.SIGNATURE)) {
-        safeURL = setURLParameter(safeURL, constants_js_1.URLConstants.Parameters.SIGNATURE, "*****");
+      /**
+       * The Seal operation seals the Append Blob to make it read-only. Seal is supported only on version
+       * 2019-12-12 version or later.
+       * @param options The options parameters.
+       */
+      seal(options) {
+        return this.client.sendOperationRequest({ options }, sealOperationSpec);
       }
-      return safeURL;
-    }
-    function sanitizeHeaders(originalHeader) {
-      const headers = (0, core_rest_pipeline_1.createHttpHeaders)();
-      for (const [name, value] of originalHeader) {
-        if (name.toLowerCase() === constants_js_1.HeaderConstants.AUTHORIZATION.toLowerCase()) {
-          headers.set(name, "*****");
-        } else if (name.toLowerCase() === constants_js_1.HeaderConstants.X_MS_COPY_SOURCE) {
-          headers.set(name, sanitizeURL(value));
-        } else {
-          headers.set(name, value);
+    };
+    exports2.AppendBlobImpl = AppendBlobImpl;
+    var xmlSerializer = coreClient.createSerializer(
+      Mappers,
+      /* isXml */
+      true
+    );
+    var createOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.AppendBlobCreateHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.AppendBlobCreateExceptionHeaders
         }
-      }
-      return headers;
-    }
-    function iEqual(str1, str2) {
-      return str1.toLocaleLowerCase() === str2.toLocaleLowerCase();
-    }
-    function getAccountNameFromUrl(url) {
-      const parsedUrl = new URL(url);
-      let accountName;
-      try {
-        if (parsedUrl.hostname.split(".")[1] === "blob") {
-          accountName = parsedUrl.hostname.split(".")[0];
-        } else if (isIpEndpointStyle(parsedUrl)) {
-          accountName = parsedUrl.pathname.split("/")[1];
-        } else {
-          accountName = "";
+      },
+      queryParameters: [Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.contentLength,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.blobCacheControl,
+        Parameters.blobContentType,
+        Parameters.blobContentMD5,
+        Parameters.blobContentEncoding,
+        Parameters.blobContentLanguage,
+        Parameters.blobContentDisposition,
+        Parameters.immutabilityPolicyExpiry,
+        Parameters.immutabilityPolicyMode,
+        Parameters.encryptionScope,
+        Parameters.blobTagsString,
+        Parameters.legalHold1,
+        Parameters.blobType1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var appendBlockOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.AppendBlobAppendBlockHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.AppendBlobAppendBlockExceptionHeaders
         }
-        return accountName;
-      } catch (error3) {
-        throw new Error("Unable to extract accountName with provided information.");
-      }
-    }
-    function isIpEndpointStyle(parsedUrl) {
-      const host = parsedUrl.host;
-      return /^.*:.*:.*$|^(localhost|host.docker.internal)(:[0-9]+)?$|^(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])){3}(:[0-9]+)?$/.test(host) || Boolean(parsedUrl.port) && constants_js_1.PathStylePorts.includes(parsedUrl.port);
-    }
-    function toBlobTagsString(tags) {
-      if (tags === void 0) {
-        return void 0;
-      }
-      const tagPairs = [];
-      for (const key in tags) {
-        if (Object.prototype.hasOwnProperty.call(tags, key)) {
-          const value = tags[key];
-          tagPairs.push(`${encodeURIComponent(key)}=${encodeURIComponent(value)}`);
+      },
+      requestBody: Parameters.body1,
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp22],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.contentLength,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope,
+        Parameters.transactionalContentMD5,
+        Parameters.transactionalContentCrc64,
+        Parameters.contentType1,
+        Parameters.accept2,
+        Parameters.maxSize,
+        Parameters.appendPosition
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "binary",
+      serializer: xmlSerializer
+    };
+    var appendBlockFromUrlOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.AppendBlobAppendBlockFromUrlHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.AppendBlobAppendBlockFromUrlExceptionHeaders
         }
-      }
-      return tagPairs.join("&");
-    }
-    function toBlobTags(tags) {
-      if (tags === void 0) {
-        return void 0;
-      }
-      const res = {
-        blobTagSet: []
-      };
-      for (const key in tags) {
-        if (Object.prototype.hasOwnProperty.call(tags, key)) {
-          const value = tags[key];
-          res.blobTagSet.push({
-            key,
-            value
-          });
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp22],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.contentLength,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope,
+        Parameters.sourceIfModifiedSince,
+        Parameters.sourceIfUnmodifiedSince,
+        Parameters.sourceIfMatch,
+        Parameters.sourceIfNoneMatch,
+        Parameters.sourceContentMD5,
+        Parameters.copySourceAuthorization,
+        Parameters.fileRequestIntent,
+        Parameters.transactionalContentMD5,
+        Parameters.sourceUrl,
+        Parameters.sourceContentCrc64,
+        Parameters.maxSize,
+        Parameters.appendPosition,
+        Parameters.sourceRange1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var sealOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.AppendBlobSealHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.AppendBlobSealExceptionHeaders
         }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp23],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.appendPosition
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blockBlob.js
+var require_blockBlob = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blockBlob.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlockBlobImpl = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var coreClient = tslib_1.__importStar(require_commonjs10());
+    var Mappers = tslib_1.__importStar(require_mappers());
+    var Parameters = tslib_1.__importStar(require_parameters());
+    var BlockBlobImpl = class {
+      client;
+      /**
+       * Initialize a new instance of the class BlockBlob class.
+       * @param client Reference to the service client
+       */
+      constructor(client) {
+        this.client = client;
       }
-      return res;
-    }
-    function toTags(tags) {
-      if (tags === void 0) {
-        return void 0;
-      }
-      const res = {};
-      for (const blobTag of tags.blobTagSet) {
-        res[blobTag.key] = blobTag.value;
+      /**
+       * The Upload Block Blob operation updates the content of an existing block blob. Updating an existing
+       * block blob overwrites any existing metadata on the blob. Partial updates are not supported with Put
+       * Blob; the content of the existing blob is overwritten with the content of the new blob. To perform a
+       * partial update of the content of a block blob, use the Put Block List operation.
+       * @param contentLength The length of the request.
+       * @param body Initial data
+       * @param options The options parameters.
+       */
+      upload(contentLength, body, options) {
+        return this.client.sendOperationRequest({ contentLength, body, options }, uploadOperationSpec);
       }
-      return res;
-    }
-    function toQuerySerialization(textConfiguration) {
-      if (textConfiguration === void 0) {
-        return void 0;
+      /**
+       * The Put Blob from URL operation creates a new Block Blob where the contents of the blob are read
+       * from a given URL.  This API is supported beginning with the 2020-04-08 version. Partial updates are
+       * not supported with Put Blob from URL; the content of an existing blob is overwritten with the
+       * content of the new blob.  To perform partial updates to a block blob’s contents using a source URL,
+       * use the Put Block from URL API in conjunction with Put Block List.
+       * @param contentLength The length of the request.
+       * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to
+       *                   2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would
+       *                   appear in a request URI. The source blob must either be public or must be authenticated via a shared
+       *                   access signature.
+       * @param options The options parameters.
+       */
+      putBlobFromUrl(contentLength, copySource, options) {
+        return this.client.sendOperationRequest({ contentLength, copySource, options }, putBlobFromUrlOperationSpec);
       }
-      switch (textConfiguration.kind) {
-        case "csv":
-          return {
-            format: {
-              type: "delimited",
-              delimitedTextConfiguration: {
-                columnSeparator: textConfiguration.columnSeparator || ",",
-                fieldQuote: textConfiguration.fieldQuote || "",
-                recordSeparator: textConfiguration.recordSeparator,
-                escapeChar: textConfiguration.escapeCharacter || "",
-                headersPresent: textConfiguration.hasHeaders || false
-              }
-            }
-          };
-        case "json":
-          return {
-            format: {
-              type: "json",
-              jsonTextConfiguration: {
-                recordSeparator: textConfiguration.recordSeparator
-              }
-            }
-          };
-        case "arrow":
-          return {
-            format: {
-              type: "arrow",
-              arrowConfiguration: {
-                schema: textConfiguration.schema
-              }
-            }
-          };
-        case "parquet":
-          return {
-            format: {
-              type: "parquet"
-            }
-          };
-        default:
-          throw Error("Invalid BlobQueryTextConfiguration.");
+      /**
+       * The Stage Block operation creates a new block to be committed as part of a blob
+       * @param blockId A valid Base64 string value that identifies the block. Prior to encoding, the string
+       *                must be less than or equal to 64 bytes in size. For a given blob, the length of the value specified
+       *                for the blockid parameter must be the same size for each block.
+       * @param contentLength The length of the request.
+       * @param body Initial data
+       * @param options The options parameters.
+       */
+      stageBlock(blockId, contentLength, body, options) {
+        return this.client.sendOperationRequest({ blockId, contentLength, body, options }, stageBlockOperationSpec);
       }
-    }
-    function parseObjectReplicationRecord(objectReplicationRecord) {
-      if (!objectReplicationRecord) {
-        return void 0;
+      /**
+       * The Stage Block operation creates a new block to be committed as part of a blob where the contents
+       * are read from a URL.
+       * @param blockId A valid Base64 string value that identifies the block. Prior to encoding, the string
+       *                must be less than or equal to 64 bytes in size. For a given blob, the length of the value specified
+       *                for the blockid parameter must be the same size for each block.
+       * @param contentLength The length of the request.
+       * @param sourceUrl Specify a URL to the copy source.
+       * @param options The options parameters.
+       */
+      stageBlockFromURL(blockId, contentLength, sourceUrl, options) {
+        return this.client.sendOperationRequest({ blockId, contentLength, sourceUrl, options }, stageBlockFromURLOperationSpec);
       }
-      if ("policy-id" in objectReplicationRecord) {
-        return void 0;
+      /**
+       * The Commit Block List operation writes a blob by specifying the list of block IDs that make up the
+       * blob. In order to be written as part of a blob, a block must have been successfully written to the
+       * server in a prior Put Block operation. You can call Put Block List to update a blob by uploading
+       * only those blocks that have changed, then committing the new and existing blocks together. You can
+       * do this by specifying whether to commit a block from the committed block list or from the
+       * uncommitted block list, or to commit the most recently uploaded version of the block, whichever list
+       * it may belong to.
+       * @param blocks Blob Blocks.
+       * @param options The options parameters.
+       */
+      commitBlockList(blocks, options) {
+        return this.client.sendOperationRequest({ blocks, options }, commitBlockListOperationSpec);
       }
-      const orProperties = [];
-      for (const key in objectReplicationRecord) {
-        const ids = key.split("_");
-        const policyPrefix = "or-";
-        if (ids[0].startsWith(policyPrefix)) {
-          ids[0] = ids[0].substring(policyPrefix.length);
+      /**
+       * The Get Block List operation retrieves the list of blocks that have been uploaded as part of a block
+       * blob
+       * @param listType Specifies whether to return the list of committed blocks, the list of uncommitted
+       *                 blocks, or both lists together.
+       * @param options The options parameters.
+       */
+      getBlockList(listType, options) {
+        return this.client.sendOperationRequest({ listType, options }, getBlockListOperationSpec);
+      }
+    };
+    exports2.BlockBlobImpl = BlockBlobImpl;
+    var xmlSerializer = coreClient.createSerializer(
+      Mappers,
+      /* isXml */
+      true
+    );
+    var uploadOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.BlockBlobUploadHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlockBlobUploadExceptionHeaders
         }
-        const rule = {
-          ruleId: ids[1],
-          replicationStatus: objectReplicationRecord[key]
-        };
-        const policyIndex = orProperties.findIndex((policy) => policy.policyId === ids[0]);
-        if (policyIndex > -1) {
-          orProperties[policyIndex].rules.push(rule);
-        } else {
-          orProperties.push({
-            policyId: ids[0],
-            rules: [rule]
-          });
+      },
+      requestBody: Parameters.body1,
+      queryParameters: [Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.contentLength,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.blobCacheControl,
+        Parameters.blobContentType,
+        Parameters.blobContentMD5,
+        Parameters.blobContentEncoding,
+        Parameters.blobContentLanguage,
+        Parameters.blobContentDisposition,
+        Parameters.immutabilityPolicyExpiry,
+        Parameters.immutabilityPolicyMode,
+        Parameters.encryptionScope,
+        Parameters.tier,
+        Parameters.blobTagsString,
+        Parameters.legalHold1,
+        Parameters.transactionalContentMD5,
+        Parameters.transactionalContentCrc64,
+        Parameters.contentType1,
+        Parameters.accept2,
+        Parameters.blobType2
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "binary",
+      serializer: xmlSerializer
+    };
+    var putBlobFromUrlOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.BlockBlobPutBlobFromUrlHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlockBlobPutBlobFromUrlExceptionHeaders
         }
-      }
-      return orProperties;
-    }
-    function attachCredential(thing, credential) {
-      thing.credential = credential;
-      return thing;
-    }
-    function httpAuthorizationToString(httpAuthorization) {
-      return httpAuthorization ? httpAuthorization.scheme + " " + httpAuthorization.value : void 0;
-    }
-    function BlobNameToString(name) {
-      if (name.encoded) {
-        return decodeURIComponent(name.content);
-      } else {
-        return name.content;
-      }
-    }
-    function ConvertInternalResponseOfListBlobFlat(internalResponse) {
-      return {
-        ...internalResponse,
-        segment: {
-          blobItems: internalResponse.segment.blobItems.map((blobItemInteral) => {
-            const blobItem = {
-              ...blobItemInteral,
-              name: BlobNameToString(blobItemInteral.name)
-            };
-            return blobItem;
-          })
+      },
+      queryParameters: [Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.contentLength,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.blobCacheControl,
+        Parameters.blobContentType,
+        Parameters.blobContentMD5,
+        Parameters.blobContentEncoding,
+        Parameters.blobContentLanguage,
+        Parameters.blobContentDisposition,
+        Parameters.encryptionScope,
+        Parameters.tier,
+        Parameters.sourceIfModifiedSince,
+        Parameters.sourceIfUnmodifiedSince,
+        Parameters.sourceIfMatch,
+        Parameters.sourceIfNoneMatch,
+        Parameters.sourceIfTags,
+        Parameters.copySource,
+        Parameters.blobTagsString,
+        Parameters.sourceContentMD5,
+        Parameters.copySourceAuthorization,
+        Parameters.copySourceTags,
+        Parameters.fileRequestIntent,
+        Parameters.transactionalContentMD5,
+        Parameters.blobType2,
+        Parameters.copySourceBlobProperties
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var stageBlockOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.BlockBlobStageBlockHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlockBlobStageBlockExceptionHeaders
         }
-      };
-    }
-    function ConvertInternalResponseOfListBlobHierarchy(internalResponse) {
-      return {
-        ...internalResponse,
-        segment: {
-          blobPrefixes: internalResponse.segment.blobPrefixes?.map((blobPrefixInternal) => {
-            const blobPrefix = {
-              ...blobPrefixInternal,
-              name: BlobNameToString(blobPrefixInternal.name)
-            };
-            return blobPrefix;
-          }),
-          blobItems: internalResponse.segment.blobItems.map((blobItemInteral) => {
-            const blobItem = {
-              ...blobItemInteral,
-              name: BlobNameToString(blobItemInteral.name)
-            };
-            return blobItem;
-          })
+      },
+      requestBody: Parameters.body1,
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.comp24,
+        Parameters.blockId
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.contentLength,
+        Parameters.leaseId,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.encryptionScope,
+        Parameters.transactionalContentMD5,
+        Parameters.transactionalContentCrc64,
+        Parameters.contentType1,
+        Parameters.accept2
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "binary",
+      serializer: xmlSerializer
+    };
+    var stageBlockFromURLOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.BlockBlobStageBlockFromURLHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlockBlobStageBlockFromURLExceptionHeaders
         }
-      };
-    }
-    function* ExtractPageRangeInfoItems(getPageRangesSegment) {
-      let pageRange = [];
-      let clearRange = [];
-      if (getPageRangesSegment.pageRange)
-        pageRange = getPageRangesSegment.pageRange;
-      if (getPageRangesSegment.clearRange)
-        clearRange = getPageRangesSegment.clearRange;
-      let pageRangeIndex = 0;
-      let clearRangeIndex = 0;
-      while (pageRangeIndex < pageRange.length && clearRangeIndex < clearRange.length) {
-        if (pageRange[pageRangeIndex].start < clearRange[clearRangeIndex].start) {
-          yield {
-            start: pageRange[pageRangeIndex].start,
-            end: pageRange[pageRangeIndex].end,
-            isClear: false
-          };
-          ++pageRangeIndex;
-        } else {
-          yield {
-            start: clearRange[clearRangeIndex].start,
-            end: clearRange[clearRangeIndex].end,
-            isClear: true
-          };
-          ++clearRangeIndex;
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.comp24,
+        Parameters.blockId
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.contentLength,
+        Parameters.leaseId,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.encryptionScope,
+        Parameters.sourceIfModifiedSince,
+        Parameters.sourceIfUnmodifiedSince,
+        Parameters.sourceIfMatch,
+        Parameters.sourceIfNoneMatch,
+        Parameters.sourceContentMD5,
+        Parameters.copySourceAuthorization,
+        Parameters.fileRequestIntent,
+        Parameters.sourceUrl,
+        Parameters.sourceContentCrc64,
+        Parameters.sourceRange1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var commitBlockListOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.BlockBlobCommitBlockListHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlockBlobCommitBlockListExceptionHeaders
+        }
+      },
+      requestBody: Parameters.blocks,
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp25],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.contentType,
+        Parameters.accept,
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.blobCacheControl,
+        Parameters.blobContentType,
+        Parameters.blobContentMD5,
+        Parameters.blobContentEncoding,
+        Parameters.blobContentLanguage,
+        Parameters.blobContentDisposition,
+        Parameters.immutabilityPolicyExpiry,
+        Parameters.immutabilityPolicyMode,
+        Parameters.encryptionScope,
+        Parameters.tier,
+        Parameters.blobTagsString,
+        Parameters.legalHold1,
+        Parameters.transactionalContentMD5,
+        Parameters.transactionalContentCrc64
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "xml",
+      serializer: xmlSerializer
+    };
+    var getBlockListOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.BlockList,
+          headersMapper: Mappers.BlockBlobGetBlockListHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlockBlobGetBlockListExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.comp25,
+        Parameters.listType
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/index.js
+var require_operations = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    tslib_1.__exportStar(require_service(), exports2);
+    tslib_1.__exportStar(require_container(), exports2);
+    tslib_1.__exportStar(require_blob(), exports2);
+    tslib_1.__exportStar(require_pageBlob(), exports2);
+    tslib_1.__exportStar(require_appendBlob(), exports2);
+    tslib_1.__exportStar(require_blockBlob(), exports2);
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/storageClient.js
+var require_storageClient = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/storageClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageClient = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var coreHttpCompat = tslib_1.__importStar(require_commonjs11());
+    var index_js_1 = require_operations();
+    var StorageClient = class extends coreHttpCompat.ExtendedServiceClient {
+      url;
+      version;
+      /**
+       * Initializes a new instance of the StorageClient class.
+       * @param url The URL of the service account, container, or blob that is the target of the desired
+       *            operation.
+       * @param options The parameter options
+       */
+      constructor(url, options) {
+        if (url === void 0) {
+          throw new Error("'url' cannot be null");
         }
-      }
-      for (; pageRangeIndex < pageRange.length; ++pageRangeIndex) {
-        yield {
-          start: pageRange[pageRangeIndex].start,
-          end: pageRange[pageRangeIndex].end,
-          isClear: false
+        if (!options) {
+          options = {};
+        }
+        const defaults = {
+          requestContentType: "application/json; charset=utf-8"
         };
-      }
-      for (; clearRangeIndex < clearRange.length; ++clearRangeIndex) {
-        yield {
-          start: clearRange[clearRangeIndex].start,
-          end: clearRange[clearRangeIndex].end,
-          isClear: true
+        const packageDetails = `azsdk-js-azure-storage-blob/12.29.1`;
+        const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` : `${packageDetails}`;
+        const optionsWithDefaults = {
+          ...defaults,
+          ...options,
+          userAgentOptions: {
+            userAgentPrefix
+          },
+          endpoint: options.endpoint ?? options.baseUri ?? "{url}"
         };
+        super(optionsWithDefaults);
+        this.url = url;
+        this.version = options.version || "2025-11-05";
+        this.service = new index_js_1.ServiceImpl(this);
+        this.container = new index_js_1.ContainerImpl(this);
+        this.blob = new index_js_1.BlobImpl(this);
+        this.pageBlob = new index_js_1.PageBlobImpl(this);
+        this.appendBlob = new index_js_1.AppendBlobImpl(this);
+        this.blockBlob = new index_js_1.BlockBlobImpl(this);
       }
-    }
-    function EscapePath(blobName) {
-      const split = blobName.split("/");
-      for (let i = 0; i < split.length; i++) {
-        split[i] = encodeURIComponent(split[i]);
-      }
-      return split.join("/");
-    }
-    function assertResponse(response) {
-      if (`_response` in response) {
-        return response;
-      }
-      throw new TypeError(`Unexpected response object ${response}`);
-    }
+      service;
+      container;
+      blob;
+      pageBlob;
+      appendBlob;
+      blockBlob;
+    };
+    exports2.StorageClient = StorageClient;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicyType.js
-var require_StorageRetryPolicyType = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicyType.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/service.js
+var require_service2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/service.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageRetryPolicyType = void 0;
-    var StorageRetryPolicyType;
-    (function(StorageRetryPolicyType2) {
-      StorageRetryPolicyType2[StorageRetryPolicyType2["EXPONENTIAL"] = 0] = "EXPONENTIAL";
-      StorageRetryPolicyType2[StorageRetryPolicyType2["FIXED"] = 1] = "FIXED";
-    })(StorageRetryPolicyType || (exports2.StorageRetryPolicyType = StorageRetryPolicyType = {}));
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicy.js
-var require_StorageRetryPolicy = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicy.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/container.js
+var require_container2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/container.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageRetryPolicy = void 0;
-    exports2.NewRetryPolicyFactory = NewRetryPolicyFactory;
-    var abort_controller_1 = require_commonjs13();
-    var RequestPolicy_js_1 = require_RequestPolicy();
-    var constants_js_1 = require_constants14();
-    var utils_common_js_1 = require_utils_common();
-    var log_js_1 = require_log5();
-    var StorageRetryPolicyType_js_1 = require_StorageRetryPolicyType();
-    function NewRetryPolicyFactory(retryOptions) {
-      return {
-        create: (nextPolicy, options) => {
-          return new StorageRetryPolicy(nextPolicy, options, retryOptions);
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blob.js
+var require_blob2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blob.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/pageBlob.js
+var require_pageBlob2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/pageBlob.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/appendBlob.js
+var require_appendBlob2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/appendBlob.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blockBlob.js
+var require_blockBlob2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blockBlob.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/index.js
+var require_operationsInterfaces = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    tslib_1.__exportStar(require_service2(), exports2);
+    tslib_1.__exportStar(require_container2(), exports2);
+    tslib_1.__exportStar(require_blob2(), exports2);
+    tslib_1.__exportStar(require_pageBlob2(), exports2);
+    tslib_1.__exportStar(require_appendBlob2(), exports2);
+    tslib_1.__exportStar(require_blockBlob2(), exports2);
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/index.js
+var require_src2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageClient = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    tslib_1.__exportStar(require_models(), exports2);
+    var storageClient_js_1 = require_storageClient();
+    Object.defineProperty(exports2, "StorageClient", { enumerable: true, get: function() {
+      return storageClient_js_1.StorageClient;
+    } });
+    tslib_1.__exportStar(require_operationsInterfaces(), exports2);
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/StorageContextClient.js
+var require_StorageContextClient = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/StorageContextClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageContextClient = void 0;
+    var index_js_1 = require_src2();
+    var StorageContextClient = class extends index_js_1.StorageClient {
+      async sendOperationRequest(operationArguments, operationSpec) {
+        const operationSpecToSend = { ...operationSpec };
+        if (operationSpecToSend.path === "/{containerName}" || operationSpecToSend.path === "/{containerName}/{blob}") {
+          operationSpecToSend.path = "";
         }
-      };
-    }
-    var DEFAULT_RETRY_OPTIONS = {
-      maxRetryDelayInMs: 120 * 1e3,
-      maxTries: 4,
-      retryDelayInMs: 4 * 1e3,
-      retryPolicyType: StorageRetryPolicyType_js_1.StorageRetryPolicyType.EXPONENTIAL,
-      secondaryHost: "",
-      tryTimeoutInMs: void 0
-      // Use server side default timeout strategy
+        return super.sendOperationRequest(operationArguments, operationSpecToSend);
+      }
     };
-    var RETRY_ABORT_ERROR = new abort_controller_1.AbortError("The operation was aborted.");
-    var StorageRetryPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
+    exports2.StorageContextClient = StorageContextClient;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/StorageClient.js
+var require_StorageClient = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/StorageClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageClient = void 0;
+    var StorageContextClient_js_1 = require_StorageContextClient();
+    var Pipeline_js_1 = require_Pipeline();
+    var utils_common_js_1 = require_utils_common();
+    var StorageClient = class {
       /**
-       * RetryOptions.
+       * Encoded URL string value.
        */
-      retryOptions;
+      url;
+      accountName;
       /**
-       * Creates an instance of RetryPolicy.
+       * Request policy pipeline.
        *
-       * @param nextPolicy -
-       * @param options -
-       * @param retryOptions -
+       * @internal
        */
-      constructor(nextPolicy, options, retryOptions = DEFAULT_RETRY_OPTIONS) {
-        super(nextPolicy, options);
-        this.retryOptions = {
-          retryPolicyType: retryOptions.retryPolicyType ? retryOptions.retryPolicyType : DEFAULT_RETRY_OPTIONS.retryPolicyType,
-          maxTries: retryOptions.maxTries && retryOptions.maxTries >= 1 ? Math.floor(retryOptions.maxTries) : DEFAULT_RETRY_OPTIONS.maxTries,
-          tryTimeoutInMs: retryOptions.tryTimeoutInMs && retryOptions.tryTimeoutInMs >= 0 ? retryOptions.tryTimeoutInMs : DEFAULT_RETRY_OPTIONS.tryTimeoutInMs,
-          retryDelayInMs: retryOptions.retryDelayInMs && retryOptions.retryDelayInMs >= 0 ? Math.min(retryOptions.retryDelayInMs, retryOptions.maxRetryDelayInMs ? retryOptions.maxRetryDelayInMs : DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs) : DEFAULT_RETRY_OPTIONS.retryDelayInMs,
-          maxRetryDelayInMs: retryOptions.maxRetryDelayInMs && retryOptions.maxRetryDelayInMs >= 0 ? retryOptions.maxRetryDelayInMs : DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs,
-          secondaryHost: retryOptions.secondaryHost ? retryOptions.secondaryHost : DEFAULT_RETRY_OPTIONS.secondaryHost
-        };
-      }
+      pipeline;
       /**
-       * Sends request.
-       *
-       * @param request -
+       * Such as AnonymousCredential, StorageSharedKeyCredential or any credential from the `@azure/identity` package to authenticate requests to the service. You can also provide an object that implements the TokenCredential interface. If not specified, AnonymousCredential is used.
        */
-      async sendRequest(request2) {
-        return this.attemptSendRequest(request2, false, 1);
+      credential;
+      /**
+       * StorageClient is a reference to protocol layer operations entry, which is
+       * generated by AutoRest generator.
+       */
+      storageClientContext;
+      /**
+       */
+      isHttps;
+      /**
+       * Creates an instance of StorageClient.
+       * @param url - url to resource
+       * @param pipeline - request policy pipeline.
+       */
+      constructor(url, pipeline) {
+        this.url = (0, utils_common_js_1.escapeURLPath)(url);
+        this.accountName = (0, utils_common_js_1.getAccountNameFromUrl)(url);
+        this.pipeline = pipeline;
+        this.storageClientContext = new StorageContextClient_js_1.StorageContextClient(this.url, (0, Pipeline_js_1.getCoreClientOptions)(pipeline));
+        this.isHttps = (0, utils_common_js_1.iEqual)((0, utils_common_js_1.getURLScheme)(this.url) || "", "https");
+        this.credential = (0, Pipeline_js_1.getCredentialFromPipeline)(pipeline);
+        const storageClientContext = this.storageClientContext;
+        storageClientContext.requestContentType = void 0;
       }
+    };
+    exports2.StorageClient = StorageClient;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/utils/tracing.js
+var require_tracing = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/tracing.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.tracingClient = void 0;
+    var core_tracing_1 = require_commonjs7();
+    var constants_js_1 = require_constants14();
+    exports2.tracingClient = (0, core_tracing_1.createTracingClient)({
+      packageName: "@azure/storage-blob",
+      packageVersion: constants_js_1.SDK_VERSION,
+      namespace: "Microsoft.Storage"
+    });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASPermissions.js
+var require_BlobSASPermissions = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASPermissions.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobSASPermissions = void 0;
+    var BlobSASPermissions = class _BlobSASPermissions {
       /**
-       * Decide and perform next retry. Won't mutate request parameter.
+       * Creates a {@link BlobSASPermissions} from the specified permissions string. This method will throw an
+       * Error if it encounters a character that does not correspond to a valid permission.
        *
-       * @param request -
-       * @param secondaryHas404 -  If attempt was against the secondary & it returned a StatusNotFound (404), then
-       *                                   the resource was not found. This may be due to replication delay. So, in this
-       *                                   case, we'll never try the secondary again for this operation.
-       * @param attempt -           How many retries has been attempted to performed, starting from 1, which includes
-       *                                   the attempt will be performed by this method call.
+       * @param permissions -
        */
-      async attemptSendRequest(request2, secondaryHas404, attempt) {
-        const newRequest = request2.clone();
-        const isPrimaryRetry = secondaryHas404 || !this.retryOptions.secondaryHost || !(request2.method === "GET" || request2.method === "HEAD" || request2.method === "OPTIONS") || attempt % 2 === 1;
-        if (!isPrimaryRetry) {
-          newRequest.url = (0, utils_common_js_1.setURLHost)(newRequest.url, this.retryOptions.secondaryHost);
-        }
-        if (this.retryOptions.tryTimeoutInMs) {
-          newRequest.url = (0, utils_common_js_1.setURLParameter)(newRequest.url, constants_js_1.URLConstants.Parameters.TIMEOUT, Math.floor(this.retryOptions.tryTimeoutInMs / 1e3).toString());
-        }
-        let response;
-        try {
-          log_js_1.logger.info(`RetryPolicy: =====> Try=${attempt} ${isPrimaryRetry ? "Primary" : "Secondary"}`);
-          response = await this._nextPolicy.sendRequest(newRequest);
-          if (!this.shouldRetry(isPrimaryRetry, attempt, response)) {
-            return response;
-          }
-          secondaryHas404 = secondaryHas404 || !isPrimaryRetry && response.status === 404;
-        } catch (err) {
-          log_js_1.logger.error(`RetryPolicy: Caught error, message: ${err.message}, code: ${err.code}`);
-          if (!this.shouldRetry(isPrimaryRetry, attempt, response, err)) {
-            throw err;
+      static parse(permissions) {
+        const blobSASPermissions = new _BlobSASPermissions();
+        for (const char of permissions) {
+          switch (char) {
+            case "r":
+              blobSASPermissions.read = true;
+              break;
+            case "a":
+              blobSASPermissions.add = true;
+              break;
+            case "c":
+              blobSASPermissions.create = true;
+              break;
+            case "w":
+              blobSASPermissions.write = true;
+              break;
+            case "d":
+              blobSASPermissions.delete = true;
+              break;
+            case "x":
+              blobSASPermissions.deleteVersion = true;
+              break;
+            case "t":
+              blobSASPermissions.tag = true;
+              break;
+            case "m":
+              blobSASPermissions.move = true;
+              break;
+            case "e":
+              blobSASPermissions.execute = true;
+              break;
+            case "i":
+              blobSASPermissions.setImmutabilityPolicy = true;
+              break;
+            case "y":
+              blobSASPermissions.permanentDelete = true;
+              break;
+            default:
+              throw new RangeError(`Invalid permission: ${char}`);
           }
         }
-        await this.delay(isPrimaryRetry, attempt, request2.abortSignal);
-        return this.attemptSendRequest(request2, secondaryHas404, ++attempt);
+        return blobSASPermissions;
       }
       /**
-       * Decide whether to retry according to last HTTP response and retry counters.
+       * Creates a {@link BlobSASPermissions} from a raw object which contains same keys as it
+       * and boolean values for them.
        *
-       * @param isPrimaryRetry -
-       * @param attempt -
-       * @param response -
-       * @param err -
+       * @param permissionLike -
        */
-      shouldRetry(isPrimaryRetry, attempt, response, err) {
-        if (attempt >= this.retryOptions.maxTries) {
-          log_js_1.logger.info(`RetryPolicy: Attempt(s) ${attempt} >= maxTries ${this.retryOptions.maxTries}, no further try.`);
-          return false;
+      static from(permissionLike) {
+        const blobSASPermissions = new _BlobSASPermissions();
+        if (permissionLike.read) {
+          blobSASPermissions.read = true;
         }
-        const retriableErrors = [
-          "ETIMEDOUT",
-          "ESOCKETTIMEDOUT",
-          "ECONNREFUSED",
-          "ECONNRESET",
-          "ENOENT",
-          "ENOTFOUND",
-          "TIMEOUT",
-          "EPIPE",
-          "REQUEST_SEND_ERROR"
-          // For default xhr based http client provided in ms-rest-js
-        ];
-        if (err) {
-          for (const retriableError of retriableErrors) {
-            if (err.name.toUpperCase().includes(retriableError) || err.message.toUpperCase().includes(retriableError) || err.code && err.code.toString().toUpperCase() === retriableError) {
-              log_js_1.logger.info(`RetryPolicy: Network error ${retriableError} found, will retry.`);
-              return true;
-            }
-          }
+        if (permissionLike.add) {
+          blobSASPermissions.add = true;
         }
-        if (response || err) {
-          const statusCode = response ? response.status : err ? err.statusCode : 0;
-          if (!isPrimaryRetry && statusCode === 404) {
-            log_js_1.logger.info(`RetryPolicy: Secondary access with 404, will retry.`);
-            return true;
-          }
-          if (statusCode === 503 || statusCode === 500) {
-            log_js_1.logger.info(`RetryPolicy: Will retry for status code ${statusCode}.`);
-            return true;
-          }
+        if (permissionLike.create) {
+          blobSASPermissions.create = true;
         }
-        if (response) {
-          if (response?.status >= 400) {
-            const copySourceError = response.headers.get(constants_js_1.HeaderConstants.X_MS_CopySourceErrorCode);
-            if (copySourceError !== void 0) {
-              switch (copySourceError) {
-                case "InternalError":
-                case "OperationTimedOut":
-                case "ServerBusy":
-                  return true;
-              }
-            }
-          }
+        if (permissionLike.write) {
+          blobSASPermissions.write = true;
         }
-        if (err?.code === "PARSE_ERROR" && err?.message.startsWith(`Error "Error: Unclosed root tag`)) {
-          log_js_1.logger.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry.");
-          return true;
+        if (permissionLike.delete) {
+          blobSASPermissions.delete = true;
         }
-        return false;
+        if (permissionLike.deleteVersion) {
+          blobSASPermissions.deleteVersion = true;
+        }
+        if (permissionLike.tag) {
+          blobSASPermissions.tag = true;
+        }
+        if (permissionLike.move) {
+          blobSASPermissions.move = true;
+        }
+        if (permissionLike.execute) {
+          blobSASPermissions.execute = true;
+        }
+        if (permissionLike.setImmutabilityPolicy) {
+          blobSASPermissions.setImmutabilityPolicy = true;
+        }
+        if (permissionLike.permanentDelete) {
+          blobSASPermissions.permanentDelete = true;
+        }
+        return blobSASPermissions;
       }
       /**
-       * Delay a calculated time between retries.
-       *
-       * @param isPrimaryRetry -
-       * @param attempt -
-       * @param abortSignal -
+       * Specifies Read access granted.
        */
-      async delay(isPrimaryRetry, attempt, abortSignal) {
-        let delayTimeInMs = 0;
-        if (isPrimaryRetry) {
-          switch (this.retryOptions.retryPolicyType) {
-            case StorageRetryPolicyType_js_1.StorageRetryPolicyType.EXPONENTIAL:
-              delayTimeInMs = Math.min((Math.pow(2, attempt - 1) - 1) * this.retryOptions.retryDelayInMs, this.retryOptions.maxRetryDelayInMs);
-              break;
-            case StorageRetryPolicyType_js_1.StorageRetryPolicyType.FIXED:
-              delayTimeInMs = this.retryOptions.retryDelayInMs;
-              break;
-          }
-        } else {
-          delayTimeInMs = Math.random() * 1e3;
-        }
-        log_js_1.logger.info(`RetryPolicy: Delay for ${delayTimeInMs}ms`);
-        return (0, utils_common_js_1.delay)(delayTimeInMs, abortSignal, RETRY_ABORT_ERROR);
-      }
-    };
-    exports2.StorageRetryPolicy = StorageRetryPolicy;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/StorageRetryPolicyFactory.js
-var require_StorageRetryPolicyFactory = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/StorageRetryPolicyFactory.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageRetryPolicyFactory = exports2.StorageRetryPolicy = exports2.StorageRetryPolicyType = void 0;
-    var StorageRetryPolicy_js_1 = require_StorageRetryPolicy();
-    Object.defineProperty(exports2, "StorageRetryPolicy", { enumerable: true, get: function() {
-      return StorageRetryPolicy_js_1.StorageRetryPolicy;
-    } });
-    var StorageRetryPolicyType_js_1 = require_StorageRetryPolicyType();
-    Object.defineProperty(exports2, "StorageRetryPolicyType", { enumerable: true, get: function() {
-      return StorageRetryPolicyType_js_1.StorageRetryPolicyType;
-    } });
-    var StorageRetryPolicyFactory = class {
-      retryOptions;
+      read = false;
       /**
-       * Creates an instance of StorageRetryPolicyFactory.
-       * @param retryOptions -
+       * Specifies Add access granted.
+       */
+      add = false;
+      /**
+       * Specifies Create access granted.
+       */
+      create = false;
+      /**
+       * Specifies Write access granted.
+       */
+      write = false;
+      /**
+       * Specifies Delete access granted.
+       */
+      delete = false;
+      /**
+       * Specifies Delete version access granted.
+       */
+      deleteVersion = false;
+      /**
+       * Specfies Tag access granted.
+       */
+      tag = false;
+      /**
+       * Specifies Move access granted.
+       */
+      move = false;
+      /**
+       * Specifies Execute access granted.
        */
-      constructor(retryOptions) {
-        this.retryOptions = retryOptions;
-      }
+      execute = false;
       /**
-       * Creates a StorageRetryPolicy object.
-       *
-       * @param nextPolicy -
-       * @param options -
+       * Specifies SetImmutabilityPolicy access granted.
        */
-      create(nextPolicy, options) {
-        return new StorageRetryPolicy_js_1.StorageRetryPolicy(nextPolicy, options, this.retryOptions);
-      }
-    };
-    exports2.StorageRetryPolicyFactory = StorageRetryPolicyFactory;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/policies/CredentialPolicy.js
-var require_CredentialPolicy = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/CredentialPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.CredentialPolicy = void 0;
-    var RequestPolicy_js_1 = require_RequestPolicy();
-    var CredentialPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
+      setImmutabilityPolicy = false;
       /**
-       * Sends out request.
-       *
-       * @param request -
+       * Specifies that Permanent Delete is permitted.
        */
-      sendRequest(request2) {
-        return this._nextPolicy.sendRequest(this.signRequest(request2));
-      }
+      permanentDelete = false;
       /**
-       * Child classes must implement this method with request signing. This method
-       * will be executed in {@link sendRequest}.
+       * Converts the given permissions to a string. Using this method will guarantee the permissions are in an
+       * order accepted by the service.
        *
-       * @param request -
+       * @returns A string which represents the BlobSASPermissions
        */
-      signRequest(request2) {
-        return request2;
+      toString() {
+        const permissions = [];
+        if (this.read) {
+          permissions.push("r");
+        }
+        if (this.add) {
+          permissions.push("a");
+        }
+        if (this.create) {
+          permissions.push("c");
+        }
+        if (this.write) {
+          permissions.push("w");
+        }
+        if (this.delete) {
+          permissions.push("d");
+        }
+        if (this.deleteVersion) {
+          permissions.push("x");
+        }
+        if (this.tag) {
+          permissions.push("t");
+        }
+        if (this.move) {
+          permissions.push("m");
+        }
+        if (this.execute) {
+          permissions.push("e");
+        }
+        if (this.setImmutabilityPolicy) {
+          permissions.push("i");
+        }
+        if (this.permanentDelete) {
+          permissions.push("y");
+        }
+        return permissions.join("");
       }
     };
-    exports2.CredentialPolicy = CredentialPolicy;
+    exports2.BlobSASPermissions = BlobSASPermissions;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/utils/SharedKeyComparator.js
-var require_SharedKeyComparator = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/SharedKeyComparator.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/sas/ContainerSASPermissions.js
+var require_ContainerSASPermissions = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/ContainerSASPermissions.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.compareHeader = compareHeader;
-    var table_lv0 = new Uint32Array([
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1820,
-      0,
-      1823,
-      1825,
-      1827,
-      1829,
-      0,
-      0,
-      0,
-      1837,
-      2051,
-      0,
-      0,
-      1843,
-      0,
-      3331,
-      3354,
-      3356,
-      3358,
-      3360,
-      3362,
-      3364,
-      3366,
-      3368,
-      3370,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      3586,
-      3593,
-      3594,
-      3610,
-      3617,
-      3619,
-      3621,
-      3628,
-      3634,
-      3637,
-      3638,
-      3656,
-      3665,
-      3696,
-      3708,
-      3710,
-      3721,
-      3722,
-      3729,
-      3737,
-      3743,
-      3746,
-      3748,
-      3750,
-      3751,
-      3753,
-      0,
-      0,
-      0,
-      1859,
-      1860,
-      1864,
-      3586,
-      3593,
-      3594,
-      3610,
-      3617,
-      3619,
-      3621,
-      3628,
-      3634,
-      3637,
-      3638,
-      3656,
-      3665,
-      3696,
-      3708,
-      3710,
-      3721,
-      3722,
-      3729,
-      3737,
-      3743,
-      3746,
-      3748,
-      3750,
-      3751,
-      3753,
-      0,
-      1868,
-      0,
-      1872,
-      0
-    ]);
-    var table_lv2 = new Uint32Array([
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0
-    ]);
-    var table_lv4 = new Uint32Array([
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      32786,
-      0,
-      0,
-      0,
-      0,
-      0,
-      33298,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0
-    ]);
-    function compareHeader(lhs, rhs) {
-      if (isLessThan(lhs, rhs))
-        return -1;
-      return 1;
-    }
-    function isLessThan(lhs, rhs) {
-      const tables = [table_lv0, table_lv2, table_lv4];
-      let curr_level = 0;
-      let i = 0;
-      let j = 0;
-      while (curr_level < tables.length) {
-        if (curr_level === tables.length - 1 && i !== j) {
-          return i > j;
+    exports2.ContainerSASPermissions = void 0;
+    var ContainerSASPermissions = class _ContainerSASPermissions {
+      /**
+       * Creates an {@link ContainerSASPermissions} from the specified permissions string. This method will throw an
+       * Error if it encounters a character that does not correspond to a valid permission.
+       *
+       * @param permissions -
+       */
+      static parse(permissions) {
+        const containerSASPermissions = new _ContainerSASPermissions();
+        for (const char of permissions) {
+          switch (char) {
+            case "r":
+              containerSASPermissions.read = true;
+              break;
+            case "a":
+              containerSASPermissions.add = true;
+              break;
+            case "c":
+              containerSASPermissions.create = true;
+              break;
+            case "w":
+              containerSASPermissions.write = true;
+              break;
+            case "d":
+              containerSASPermissions.delete = true;
+              break;
+            case "l":
+              containerSASPermissions.list = true;
+              break;
+            case "t":
+              containerSASPermissions.tag = true;
+              break;
+            case "x":
+              containerSASPermissions.deleteVersion = true;
+              break;
+            case "m":
+              containerSASPermissions.move = true;
+              break;
+            case "e":
+              containerSASPermissions.execute = true;
+              break;
+            case "i":
+              containerSASPermissions.setImmutabilityPolicy = true;
+              break;
+            case "y":
+              containerSASPermissions.permanentDelete = true;
+              break;
+            case "f":
+              containerSASPermissions.filterByTags = true;
+              break;
+            default:
+              throw new RangeError(`Invalid permission ${char}`);
+          }
         }
-        const weight1 = i < lhs.length ? tables[curr_level][lhs[i].charCodeAt(0)] : 1;
-        const weight2 = j < rhs.length ? tables[curr_level][rhs[j].charCodeAt(0)] : 1;
-        if (weight1 === 1 && weight2 === 1) {
-          i = 0;
-          j = 0;
-          ++curr_level;
-        } else if (weight1 === weight2) {
-          ++i;
-          ++j;
-        } else if (weight1 === 0) {
-          ++i;
-        } else if (weight2 === 0) {
-          ++j;
-        } else {
-          return weight1 < weight2;
+        return containerSASPermissions;
+      }
+      /**
+       * Creates a {@link ContainerSASPermissions} from a raw object which contains same keys as it
+       * and boolean values for them.
+       *
+       * @param permissionLike -
+       */
+      static from(permissionLike) {
+        const containerSASPermissions = new _ContainerSASPermissions();
+        if (permissionLike.read) {
+          containerSASPermissions.read = true;
+        }
+        if (permissionLike.add) {
+          containerSASPermissions.add = true;
+        }
+        if (permissionLike.create) {
+          containerSASPermissions.create = true;
+        }
+        if (permissionLike.write) {
+          containerSASPermissions.write = true;
+        }
+        if (permissionLike.delete) {
+          containerSASPermissions.delete = true;
+        }
+        if (permissionLike.list) {
+          containerSASPermissions.list = true;
+        }
+        if (permissionLike.deleteVersion) {
+          containerSASPermissions.deleteVersion = true;
+        }
+        if (permissionLike.tag) {
+          containerSASPermissions.tag = true;
         }
+        if (permissionLike.move) {
+          containerSASPermissions.move = true;
+        }
+        if (permissionLike.execute) {
+          containerSASPermissions.execute = true;
+        }
+        if (permissionLike.setImmutabilityPolicy) {
+          containerSASPermissions.setImmutabilityPolicy = true;
+        }
+        if (permissionLike.permanentDelete) {
+          containerSASPermissions.permanentDelete = true;
+        }
+        if (permissionLike.filterByTags) {
+          containerSASPermissions.filterByTags = true;
+        }
+        return containerSASPermissions;
       }
-      return false;
-    }
+      /**
+       * Specifies Read access granted.
+       */
+      read = false;
+      /**
+       * Specifies Add access granted.
+       */
+      add = false;
+      /**
+       * Specifies Create access granted.
+       */
+      create = false;
+      /**
+       * Specifies Write access granted.
+       */
+      write = false;
+      /**
+       * Specifies Delete access granted.
+       */
+      delete = false;
+      /**
+       * Specifies Delete version access granted.
+       */
+      deleteVersion = false;
+      /**
+       * Specifies List access granted.
+       */
+      list = false;
+      /**
+       * Specfies Tag access granted.
+       */
+      tag = false;
+      /**
+       * Specifies Move access granted.
+       */
+      move = false;
+      /**
+       * Specifies Execute access granted.
+       */
+      execute = false;
+      /**
+       * Specifies SetImmutabilityPolicy access granted.
+       */
+      setImmutabilityPolicy = false;
+      /**
+       * Specifies that Permanent Delete is permitted.
+       */
+      permanentDelete = false;
+      /**
+       * Specifies that Filter Blobs by Tags is permitted.
+       */
+      filterByTags = false;
+      /**
+       * Converts the given permissions to a string. Using this method will guarantee the permissions are in an
+       * order accepted by the service.
+       *
+       * The order of the characters should be as specified here to ensure correctness.
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       */
+      toString() {
+        const permissions = [];
+        if (this.read) {
+          permissions.push("r");
+        }
+        if (this.add) {
+          permissions.push("a");
+        }
+        if (this.create) {
+          permissions.push("c");
+        }
+        if (this.write) {
+          permissions.push("w");
+        }
+        if (this.delete) {
+          permissions.push("d");
+        }
+        if (this.deleteVersion) {
+          permissions.push("x");
+        }
+        if (this.list) {
+          permissions.push("l");
+        }
+        if (this.tag) {
+          permissions.push("t");
+        }
+        if (this.move) {
+          permissions.push("m");
+        }
+        if (this.execute) {
+          permissions.push("e");
+        }
+        if (this.setImmutabilityPolicy) {
+          permissions.push("i");
+        }
+        if (this.permanentDelete) {
+          permissions.push("y");
+        }
+        if (this.filterByTags) {
+          permissions.push("f");
+        }
+        return permissions.join("");
+      }
+    };
+    exports2.ContainerSASPermissions = ContainerSASPermissions;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageSharedKeyCredentialPolicy.js
-var require_StorageSharedKeyCredentialPolicy = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageSharedKeyCredentialPolicy.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/credentials/UserDelegationKeyCredential.js
+var require_UserDelegationKeyCredential = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/credentials/UserDelegationKeyCredential.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageSharedKeyCredentialPolicy = void 0;
-    var constants_js_1 = require_constants14();
-    var utils_common_js_1 = require_utils_common();
-    var CredentialPolicy_js_1 = require_CredentialPolicy();
-    var SharedKeyComparator_js_1 = require_SharedKeyComparator();
-    var StorageSharedKeyCredentialPolicy = class extends CredentialPolicy_js_1.CredentialPolicy {
+    exports2.UserDelegationKeyCredential = void 0;
+    var node_crypto_1 = require("node:crypto");
+    var UserDelegationKeyCredential = class {
       /**
-       * Reference to StorageSharedKeyCredential which generates StorageSharedKeyCredentialPolicy
+       * Azure Storage account name; readonly.
        */
-      factory;
+      accountName;
       /**
-       * Creates an instance of StorageSharedKeyCredentialPolicy.
-       * @param nextPolicy -
-       * @param options -
-       * @param factory -
+       * Azure Storage user delegation key; readonly.
        */
-      constructor(nextPolicy, options, factory) {
-        super(nextPolicy, options);
-        this.factory = factory;
+      userDelegationKey;
+      /**
+       * Key value in Buffer type.
+       */
+      key;
+      /**
+       * Creates an instance of UserDelegationKeyCredential.
+       * @param accountName -
+       * @param userDelegationKey -
+       */
+      constructor(accountName, userDelegationKey) {
+        this.accountName = accountName;
+        this.userDelegationKey = userDelegationKey;
+        this.key = Buffer.from(userDelegationKey.value, "base64");
       }
       /**
-       * Signs request.
+       * Generates a hash signature for an HTTP request or for a SAS.
        *
-       * @param request -
+       * @param stringToSign -
        */
-      signRequest(request2) {
-        request2.headers.set(constants_js_1.HeaderConstants.X_MS_DATE, (/* @__PURE__ */ new Date()).toUTCString());
-        if (request2.body && (typeof request2.body === "string" || request2.body !== void 0) && request2.body.length > 0) {
-          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
-        }
-        const stringToSign = [
-          request2.method.toUpperCase(),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LANGUAGE),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_ENCODING),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LENGTH),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_MD5),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_TYPE),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.DATE),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MODIFIED_SINCE),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MATCH),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_NONE_MATCH),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_UNMODIFIED_SINCE),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.RANGE)
-        ].join("\n") + "\n" + this.getCanonicalizedHeadersString(request2) + this.getCanonicalizedResourceString(request2);
-        const signature = this.factory.computeHMACSHA256(stringToSign);
-        request2.headers.set(constants_js_1.HeaderConstants.AUTHORIZATION, `SharedKey ${this.factory.accountName}:${signature}`);
-        return request2;
+      computeHMACSHA256(stringToSign) {
+        return (0, node_crypto_1.createHmac)("sha256", this.key).update(stringToSign, "utf8").digest("base64");
       }
+    };
+    exports2.UserDelegationKeyCredential = UserDelegationKeyCredential;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/SasIPRange.js
+var require_SasIPRange = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/SasIPRange.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ipRangeToString = ipRangeToString;
+    function ipRangeToString(ipRange) {
+      return ipRange.end ? `${ipRange.start}-${ipRange.end}` : ipRange.start;
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/SASQueryParameters.js
+var require_SASQueryParameters = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/SASQueryParameters.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.SASQueryParameters = exports2.SASProtocol = void 0;
+    var SasIPRange_js_1 = require_SasIPRange();
+    var utils_common_js_1 = require_utils_common();
+    var SASProtocol;
+    (function(SASProtocol2) {
+      SASProtocol2["Https"] = "https";
+      SASProtocol2["HttpsAndHttp"] = "https,http";
+    })(SASProtocol || (exports2.SASProtocol = SASProtocol = {}));
+    var SASQueryParameters = class {
       /**
-       * Retrieve header value according to shared key sign rules.
-       * @see https://learn.microsoft.com/rest/api/storageservices/authenticate-with-shared-key
+       * The storage API version.
+       */
+      version;
+      /**
+       * Optional. The allowed HTTP protocol(s).
+       */
+      protocol;
+      /**
+       * Optional. The start time for this SAS token.
+       */
+      startsOn;
+      /**
+       * Optional only when identifier is provided. The expiry time for this SAS token.
+       */
+      expiresOn;
+      /**
+       * Optional only when identifier is provided.
+       * Please refer to {@link AccountSASPermissions}, {@link BlobSASPermissions}, or {@link ContainerSASPermissions} for
+       * more details.
+       */
+      permissions;
+      /**
+       * Optional. The storage services being accessed (only for Account SAS). Please refer to {@link AccountSASServices}
+       * for more details.
+       */
+      services;
+      /**
+       * Optional. The storage resource types being accessed (only for Account SAS). Please refer to
+       * {@link AccountSASResourceTypes} for more details.
+       */
+      resourceTypes;
+      /**
+       * Optional. The signed identifier (only for {@link BlobSASSignatureValues}).
        *
-       * @param request -
-       * @param headerName -
+       * @see https://learn.microsoft.com/rest/api/storageservices/establishing-a-stored-access-policy
        */
-      getHeaderValueToSign(request2, headerName) {
-        const value = request2.headers.get(headerName);
-        if (!value) {
-          return "";
-        }
-        if (headerName === constants_js_1.HeaderConstants.CONTENT_LENGTH && value === "0") {
-          return "";
-        }
-        return value;
-      }
+      identifier;
       /**
-       * To construct the CanonicalizedHeaders portion of the signature string, follow these steps:
-       * 1. Retrieve all headers for the resource that begin with x-ms-, including the x-ms-date header.
-       * 2. Convert each HTTP header name to lowercase.
-       * 3. Sort the headers lexicographically by header name, in ascending order.
-       *    Each header may appear only once in the string.
-       * 4. Replace any linear whitespace in the header value with a single space.
-       * 5. Trim any whitespace around the colon in the header.
-       * 6. Finally, append a new-line character to each canonicalized header in the resulting list.
-       *    Construct the CanonicalizedHeaders string by concatenating all headers in this list into a single string.
+       * Optional. Encryption scope to use when sending requests authorized with this SAS URI.
+       */
+      encryptionScope;
+      /**
+       * Optional. Specifies which resources are accessible via the SAS (only for {@link BlobSASSignatureValues}).
+       * @see https://learn.microsoft.com/rest/api/storageservices/create-service-sas#specifying-the-signed-resource-blob-service-only
+       */
+      resource;
+      /**
+       * The signature for the SAS token.
+       */
+      signature;
+      /**
+       * Value for cache-control header in Blob/File Service SAS.
+       */
+      cacheControl;
+      /**
+       * Value for content-disposition header in Blob/File Service SAS.
+       */
+      contentDisposition;
+      /**
+       * Value for content-encoding header in Blob/File Service SAS.
+       */
+      contentEncoding;
+      /**
+       * Value for content-length header in Blob/File Service SAS.
+       */
+      contentLanguage;
+      /**
+       * Value for content-type header in Blob/File Service SAS.
+       */
+      contentType;
+      /**
+       * Inner value of getter ipRange.
+       */
+      ipRangeInner;
+      /**
+       * The Azure Active Directory object ID in GUID format.
+       * Property of user delegation key.
+       */
+      signedOid;
+      /**
+       * The Azure Active Directory tenant ID in GUID format.
+       * Property of user delegation key.
+       */
+      signedTenantId;
+      /**
+       * The date-time the key is active.
+       * Property of user delegation key.
+       */
+      signedStartsOn;
+      /**
+       * The date-time the key expires.
+       * Property of user delegation key.
+       */
+      signedExpiresOn;
+      /**
+       * Abbreviation of the Azure Storage service that accepts the user delegation key.
+       * Property of user delegation key.
+       */
+      signedService;
+      /**
+       * The service version that created the user delegation key.
+       * Property of user delegation key.
+       */
+      signedVersion;
+      /**
+       * Authorized AAD Object ID in GUID format. The AAD Object ID of a user authorized by the owner of the User Delegation Key
+       * to perform the action granted by the SAS. The Azure Storage service will ensure that the owner of the user delegation key
+       * has the required permissions before granting access but no additional permission check for the user specified in
+       * this value will be performed. This is only used for User Delegation SAS.
+       */
+      preauthorizedAgentObjectId;
+      /**
+       * A GUID value that will be logged in the storage diagnostic logs and can be used to correlate SAS generation with storage resource access.
+       * This is only used for User Delegation SAS.
+       */
+      correlationId;
+      /**
+       * Optional. IP range allowed for this SAS.
        *
-       * @param request -
+       * @readonly
        */
-      getCanonicalizedHeadersString(request2) {
-        let headersArray = request2.headers.headersArray().filter((value) => {
-          return value.name.toLowerCase().startsWith(constants_js_1.HeaderConstants.PREFIX_FOR_STORAGE);
-        });
-        headersArray.sort((a, b) => {
-          return (0, SharedKeyComparator_js_1.compareHeader)(a.name.toLowerCase(), b.name.toLowerCase());
-        });
-        headersArray = headersArray.filter((value, index, array) => {
-          if (index > 0 && value.name.toLowerCase() === array[index - 1].name.toLowerCase()) {
-            return false;
+      get ipRange() {
+        if (this.ipRangeInner) {
+          return {
+            end: this.ipRangeInner.end,
+            start: this.ipRangeInner.start
+          };
+        }
+        return void 0;
+      }
+      constructor(version, signature, permissionsOrOptions, services, resourceTypes, protocol, startsOn, expiresOn, ipRange, identifier, resource, cacheControl, contentDisposition, contentEncoding, contentLanguage, contentType, userDelegationKey, preauthorizedAgentObjectId, correlationId, encryptionScope) {
+        this.version = version;
+        this.signature = signature;
+        if (permissionsOrOptions !== void 0 && typeof permissionsOrOptions !== "string") {
+          this.permissions = permissionsOrOptions.permissions;
+          this.services = permissionsOrOptions.services;
+          this.resourceTypes = permissionsOrOptions.resourceTypes;
+          this.protocol = permissionsOrOptions.protocol;
+          this.startsOn = permissionsOrOptions.startsOn;
+          this.expiresOn = permissionsOrOptions.expiresOn;
+          this.ipRangeInner = permissionsOrOptions.ipRange;
+          this.identifier = permissionsOrOptions.identifier;
+          this.encryptionScope = permissionsOrOptions.encryptionScope;
+          this.resource = permissionsOrOptions.resource;
+          this.cacheControl = permissionsOrOptions.cacheControl;
+          this.contentDisposition = permissionsOrOptions.contentDisposition;
+          this.contentEncoding = permissionsOrOptions.contentEncoding;
+          this.contentLanguage = permissionsOrOptions.contentLanguage;
+          this.contentType = permissionsOrOptions.contentType;
+          if (permissionsOrOptions.userDelegationKey) {
+            this.signedOid = permissionsOrOptions.userDelegationKey.signedObjectId;
+            this.signedTenantId = permissionsOrOptions.userDelegationKey.signedTenantId;
+            this.signedStartsOn = permissionsOrOptions.userDelegationKey.signedStartsOn;
+            this.signedExpiresOn = permissionsOrOptions.userDelegationKey.signedExpiresOn;
+            this.signedService = permissionsOrOptions.userDelegationKey.signedService;
+            this.signedVersion = permissionsOrOptions.userDelegationKey.signedVersion;
+            this.preauthorizedAgentObjectId = permissionsOrOptions.preauthorizedAgentObjectId;
+            this.correlationId = permissionsOrOptions.correlationId;
+          }
+        } else {
+          this.services = services;
+          this.resourceTypes = resourceTypes;
+          this.expiresOn = expiresOn;
+          this.permissions = permissionsOrOptions;
+          this.protocol = protocol;
+          this.startsOn = startsOn;
+          this.ipRangeInner = ipRange;
+          this.encryptionScope = encryptionScope;
+          this.identifier = identifier;
+          this.resource = resource;
+          this.cacheControl = cacheControl;
+          this.contentDisposition = contentDisposition;
+          this.contentEncoding = contentEncoding;
+          this.contentLanguage = contentLanguage;
+          this.contentType = contentType;
+          if (userDelegationKey) {
+            this.signedOid = userDelegationKey.signedObjectId;
+            this.signedTenantId = userDelegationKey.signedTenantId;
+            this.signedStartsOn = userDelegationKey.signedStartsOn;
+            this.signedExpiresOn = userDelegationKey.signedExpiresOn;
+            this.signedService = userDelegationKey.signedService;
+            this.signedVersion = userDelegationKey.signedVersion;
+            this.preauthorizedAgentObjectId = preauthorizedAgentObjectId;
+            this.correlationId = correlationId;
           }
-          return true;
-        });
-        let canonicalizedHeadersStringToSign = "";
-        headersArray.forEach((header) => {
-          canonicalizedHeadersStringToSign += `${header.name.toLowerCase().trimRight()}:${header.value.trimLeft()}
-`;
-        });
-        return canonicalizedHeadersStringToSign;
+        }
       }
       /**
-       * Retrieves the webResource canonicalized resource string.
+       * Encodes all SAS query parameters into a string that can be appended to a URL.
        *
-       * @param request -
        */
-      getCanonicalizedResourceString(request2) {
-        const path3 = (0, utils_common_js_1.getURLPath)(request2.url) || "/";
-        let canonicalizedResourceString = "";
-        canonicalizedResourceString += `/${this.factory.accountName}${path3}`;
-        const queries = (0, utils_common_js_1.getURLQueries)(request2.url);
-        const lowercaseQueries = {};
-        if (queries) {
-          const queryKeys = [];
-          for (const key in queries) {
-            if (Object.prototype.hasOwnProperty.call(queries, key)) {
-              const lowercaseKey = key.toLowerCase();
-              lowercaseQueries[lowercaseKey] = queries[key];
-              queryKeys.push(lowercaseKey);
-            }
-          }
-          queryKeys.sort();
-          for (const key of queryKeys) {
-            canonicalizedResourceString += `
-${key}:${decodeURIComponent(lowercaseQueries[key])}`;
+      toString() {
+        const params = [
+          "sv",
+          "ss",
+          "srt",
+          "spr",
+          "st",
+          "se",
+          "sip",
+          "si",
+          "ses",
+          "skoid",
+          // Signed object ID
+          "sktid",
+          // Signed tenant ID
+          "skt",
+          // Signed key start time
+          "ske",
+          // Signed key expiry time
+          "sks",
+          // Signed key service
+          "skv",
+          // Signed key version
+          "sr",
+          "sp",
+          "sig",
+          "rscc",
+          "rscd",
+          "rsce",
+          "rscl",
+          "rsct",
+          "saoid",
+          "scid"
+        ];
+        const queries = [];
+        for (const param of params) {
+          switch (param) {
+            case "sv":
+              this.tryAppendQueryParameter(queries, param, this.version);
+              break;
+            case "ss":
+              this.tryAppendQueryParameter(queries, param, this.services);
+              break;
+            case "srt":
+              this.tryAppendQueryParameter(queries, param, this.resourceTypes);
+              break;
+            case "spr":
+              this.tryAppendQueryParameter(queries, param, this.protocol);
+              break;
+            case "st":
+              this.tryAppendQueryParameter(queries, param, this.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.startsOn, false) : void 0);
+              break;
+            case "se":
+              this.tryAppendQueryParameter(queries, param, this.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.expiresOn, false) : void 0);
+              break;
+            case "sip":
+              this.tryAppendQueryParameter(queries, param, this.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(this.ipRange) : void 0);
+              break;
+            case "si":
+              this.tryAppendQueryParameter(queries, param, this.identifier);
+              break;
+            case "ses":
+              this.tryAppendQueryParameter(queries, param, this.encryptionScope);
+              break;
+            case "skoid":
+              this.tryAppendQueryParameter(queries, param, this.signedOid);
+              break;
+            case "sktid":
+              this.tryAppendQueryParameter(queries, param, this.signedTenantId);
+              break;
+            case "skt":
+              this.tryAppendQueryParameter(queries, param, this.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.signedStartsOn, false) : void 0);
+              break;
+            case "ske":
+              this.tryAppendQueryParameter(queries, param, this.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.signedExpiresOn, false) : void 0);
+              break;
+            case "sks":
+              this.tryAppendQueryParameter(queries, param, this.signedService);
+              break;
+            case "skv":
+              this.tryAppendQueryParameter(queries, param, this.signedVersion);
+              break;
+            case "sr":
+              this.tryAppendQueryParameter(queries, param, this.resource);
+              break;
+            case "sp":
+              this.tryAppendQueryParameter(queries, param, this.permissions);
+              break;
+            case "sig":
+              this.tryAppendQueryParameter(queries, param, this.signature);
+              break;
+            case "rscc":
+              this.tryAppendQueryParameter(queries, param, this.cacheControl);
+              break;
+            case "rscd":
+              this.tryAppendQueryParameter(queries, param, this.contentDisposition);
+              break;
+            case "rsce":
+              this.tryAppendQueryParameter(queries, param, this.contentEncoding);
+              break;
+            case "rscl":
+              this.tryAppendQueryParameter(queries, param, this.contentLanguage);
+              break;
+            case "rsct":
+              this.tryAppendQueryParameter(queries, param, this.contentType);
+              break;
+            case "saoid":
+              this.tryAppendQueryParameter(queries, param, this.preauthorizedAgentObjectId);
+              break;
+            case "scid":
+              this.tryAppendQueryParameter(queries, param, this.correlationId);
+              break;
           }
         }
-        return canonicalizedResourceString;
+        return queries.join("&");
       }
-    };
-    exports2.StorageSharedKeyCredentialPolicy = StorageSharedKeyCredentialPolicy;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/credentials/Credential.js
-var require_Credential = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/credentials/Credential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Credential = void 0;
-    var Credential = class {
       /**
-       * Creates a RequestPolicy object.
+       * A private helper method used to filter and append query key/value pairs into an array.
        *
-       * @param _nextPolicy -
-       * @param _options -
+       * @param queries -
+       * @param key -
+       * @param value -
        */
-      create(_nextPolicy, _options) {
-        throw new Error("Method should be implemented in children classes.");
+      tryAppendQueryParameter(queries, key, value) {
+        if (!value) {
+          return;
+        }
+        key = encodeURIComponent(key);
+        value = encodeURIComponent(value);
+        if (key.length > 0 && value.length > 0) {
+          queries.push(`${key}=${value}`);
+        }
       }
     };
-    exports2.Credential = Credential;
+    exports2.SASQueryParameters = SASQueryParameters;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/credentials/StorageSharedKeyCredential.js
-var require_StorageSharedKeyCredential = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/credentials/StorageSharedKeyCredential.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASSignatureValues.js
+var require_BlobSASSignatureValues = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASSignatureValues.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageSharedKeyCredential = void 0;
-    var node_crypto_1 = require("node:crypto");
-    var StorageSharedKeyCredentialPolicy_js_1 = require_StorageSharedKeyCredentialPolicy();
-    var Credential_js_1 = require_Credential();
-    var StorageSharedKeyCredential = class extends Credential_js_1.Credential {
-      /**
-       * Azure Storage account name; readonly.
-       */
-      accountName;
-      /**
-       * Azure Storage account key; readonly.
-       */
-      accountKey;
-      /**
-       * Creates an instance of StorageSharedKeyCredential.
-       * @param accountName -
-       * @param accountKey -
-       */
-      constructor(accountName, accountKey) {
-        super();
-        this.accountName = accountName;
-        this.accountKey = Buffer.from(accountKey, "base64");
+    exports2.generateBlobSASQueryParameters = generateBlobSASQueryParameters;
+    exports2.generateBlobSASQueryParametersInternal = generateBlobSASQueryParametersInternal;
+    var BlobSASPermissions_js_1 = require_BlobSASPermissions();
+    var ContainerSASPermissions_js_1 = require_ContainerSASPermissions();
+    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
+    var UserDelegationKeyCredential_js_1 = require_UserDelegationKeyCredential();
+    var SasIPRange_js_1 = require_SasIPRange();
+    var SASQueryParameters_js_1 = require_SASQueryParameters();
+    var constants_js_1 = require_constants14();
+    var utils_common_js_1 = require_utils_common();
+    function generateBlobSASQueryParameters(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName) {
+      return generateBlobSASQueryParametersInternal(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName).sasQueryParameters;
+    }
+    function generateBlobSASQueryParametersInternal(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName) {
+      const version = blobSASSignatureValues.version ? blobSASSignatureValues.version : constants_js_1.SERVICE_VERSION;
+      const sharedKeyCredential = sharedKeyCredentialOrUserDelegationKey instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential ? sharedKeyCredentialOrUserDelegationKey : void 0;
+      let userDelegationKeyCredential;
+      if (sharedKeyCredential === void 0 && accountName !== void 0) {
+        userDelegationKeyCredential = new UserDelegationKeyCredential_js_1.UserDelegationKeyCredential(accountName, sharedKeyCredentialOrUserDelegationKey);
       }
-      /**
-       * Creates a StorageSharedKeyCredentialPolicy object.
-       *
-       * @param nextPolicy -
-       * @param options -
-       */
-      create(nextPolicy, options) {
-        return new StorageSharedKeyCredentialPolicy_js_1.StorageSharedKeyCredentialPolicy(nextPolicy, options, this);
+      if (sharedKeyCredential === void 0 && userDelegationKeyCredential === void 0) {
+        throw TypeError("Invalid sharedKeyCredential, userDelegationKey or accountName.");
       }
-      /**
-       * Generates a hash signature for an HTTP request or for a SAS.
-       *
-       * @param stringToSign -
-       */
-      computeHMACSHA256(stringToSign) {
-        return (0, node_crypto_1.createHmac)("sha256", this.accountKey).update(stringToSign, "utf8").digest("base64");
+      if (version >= "2020-12-06") {
+        if (sharedKeyCredential !== void 0) {
+          return generateBlobSASQueryParameters20201206(blobSASSignatureValues, sharedKeyCredential);
+        } else {
+          if (version >= "2025-07-05") {
+            return generateBlobSASQueryParametersUDK20250705(blobSASSignatureValues, userDelegationKeyCredential);
+          } else {
+            return generateBlobSASQueryParametersUDK20201206(blobSASSignatureValues, userDelegationKeyCredential);
+          }
+        }
       }
-    };
-    exports2.StorageSharedKeyCredential = StorageSharedKeyCredential;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/policies/AnonymousCredentialPolicy.js
-var require_AnonymousCredentialPolicy = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/AnonymousCredentialPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AnonymousCredentialPolicy = void 0;
-    var CredentialPolicy_js_1 = require_CredentialPolicy();
-    var AnonymousCredentialPolicy = class extends CredentialPolicy_js_1.CredentialPolicy {
-      /**
-       * Creates an instance of AnonymousCredentialPolicy.
-       * @param nextPolicy -
-       * @param options -
-       */
-      // The base class has a protected constructor. Adding a public one to enable constructing of this class.
-      /* eslint-disable-next-line @typescript-eslint/no-useless-constructor*/
-      constructor(nextPolicy, options) {
-        super(nextPolicy, options);
+      if (version >= "2018-11-09") {
+        if (sharedKeyCredential !== void 0) {
+          return generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKeyCredential);
+        } else {
+          if (version >= "2020-02-10") {
+            return generateBlobSASQueryParametersUDK20200210(blobSASSignatureValues, userDelegationKeyCredential);
+          } else {
+            return generateBlobSASQueryParametersUDK20181109(blobSASSignatureValues, userDelegationKeyCredential);
+          }
+        }
       }
-    };
-    exports2.AnonymousCredentialPolicy = AnonymousCredentialPolicy;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/credentials/AnonymousCredential.js
-var require_AnonymousCredential = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/credentials/AnonymousCredential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AnonymousCredential = void 0;
-    var AnonymousCredentialPolicy_js_1 = require_AnonymousCredentialPolicy();
-    var Credential_js_1 = require_Credential();
-    var AnonymousCredential = class extends Credential_js_1.Credential {
-      /**
-       * Creates an {@link AnonymousCredentialPolicy} object.
-       *
-       * @param nextPolicy -
-       * @param options -
-       */
-      create(nextPolicy, options) {
-        return new AnonymousCredentialPolicy_js_1.AnonymousCredentialPolicy(nextPolicy, options);
+      if (version >= "2015-04-05") {
+        if (sharedKeyCredential !== void 0) {
+          return generateBlobSASQueryParameters20150405(blobSASSignatureValues, sharedKeyCredential);
+        } else {
+          throw new RangeError("'version' must be >= '2018-11-09' when generating user delegation SAS using user delegation key.");
+        }
       }
-    };
-    exports2.AnonymousCredential = AnonymousCredential;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/BuffersStream.js
-var require_BuffersStream = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/BuffersStream.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BuffersStream = void 0;
-    var node_stream_1 = require("node:stream");
-    var BuffersStream = class extends node_stream_1.Readable {
-      buffers;
-      byteLength;
-      /**
-       * The offset of data to be read in the current buffer.
-       */
-      byteOffsetInCurrentBuffer;
-      /**
-       * The index of buffer to be read in the array of buffers.
-       */
-      bufferIndex;
-      /**
-       * The total length of data already read.
-       */
-      pushedBytesLength;
-      /**
-       * Creates an instance of BuffersStream that will emit the data
-       * contained in the array of buffers.
-       *
-       * @param buffers - Array of buffers containing the data
-       * @param byteLength - The total length of data contained in the buffers
-       */
-      constructor(buffers, byteLength, options) {
-        super(options);
-        this.buffers = buffers;
-        this.byteLength = byteLength;
-        this.byteOffsetInCurrentBuffer = 0;
-        this.bufferIndex = 0;
-        this.pushedBytesLength = 0;
-        let buffersLength = 0;
-        for (const buf of this.buffers) {
-          buffersLength += buf.byteLength;
+      throw new RangeError("'version' must be >= '2015-04-05'.");
+    }
+    function generateBlobSASQueryParameters20150405(blobSASSignatureValues, sharedKeyCredential) {
+      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
+      if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
+        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
+      }
+      let resource = "c";
+      if (blobSASSignatureValues.blobName) {
+        resource = "b";
+      }
+      let verifiedPermissions;
+      if (blobSASSignatureValues.permissions) {
+        if (blobSASSignatureValues.blobName) {
+          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        } else {
+          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
         }
-        if (buffersLength < this.byteLength) {
-          throw new Error("Data size shouldn't be larger than the total length of buffers.");
+      }
+      const stringToSign = [
+        verifiedPermissions ? verifiedPermissions : "",
+        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
+        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
+        getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
+        blobSASSignatureValues.identifier,
+        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
+        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
+        blobSASSignatureValues.version,
+        blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
+        blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
+        blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
+        blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
+        blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : ""
+      ].join("\n");
+      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType),
+        stringToSign
+      };
+    }
+    function generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKeyCredential) {
+      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
+      if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
+        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
+      }
+      let resource = "c";
+      let timestamp2 = blobSASSignatureValues.snapshotTime;
+      if (blobSASSignatureValues.blobName) {
+        resource = "b";
+        if (blobSASSignatureValues.snapshotTime) {
+          resource = "bs";
+        } else if (blobSASSignatureValues.versionId) {
+          resource = "bv";
+          timestamp2 = blobSASSignatureValues.versionId;
         }
       }
-      /**
-       * Internal _read() that will be called when the stream wants to pull more data in.
-       *
-       * @param size - Optional. The size of data to be read
-       */
-      _read(size) {
-        if (this.pushedBytesLength >= this.byteLength) {
-          this.push(null);
+      let verifiedPermissions;
+      if (blobSASSignatureValues.permissions) {
+        if (blobSASSignatureValues.blobName) {
+          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        } else {
+          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
         }
-        if (!size) {
-          size = this.readableHighWaterMark;
+      }
+      const stringToSign = [
+        verifiedPermissions ? verifiedPermissions : "",
+        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
+        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
+        getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
+        blobSASSignatureValues.identifier,
+        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
+        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
+        blobSASSignatureValues.version,
+        resource,
+        timestamp2,
+        blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
+        blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
+        blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
+        blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
+        blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : ""
+      ].join("\n");
+      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType),
+        stringToSign
+      };
+    }
+    function generateBlobSASQueryParameters20201206(blobSASSignatureValues, sharedKeyCredential) {
+      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
+      if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
+        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
+      }
+      let resource = "c";
+      let timestamp2 = blobSASSignatureValues.snapshotTime;
+      if (blobSASSignatureValues.blobName) {
+        resource = "b";
+        if (blobSASSignatureValues.snapshotTime) {
+          resource = "bs";
+        } else if (blobSASSignatureValues.versionId) {
+          resource = "bv";
+          timestamp2 = blobSASSignatureValues.versionId;
         }
-        const outBuffers = [];
-        let i = 0;
-        while (i < size && this.pushedBytesLength < this.byteLength) {
-          const remainingDataInAllBuffers = this.byteLength - this.pushedBytesLength;
-          const remainingCapacityInThisBuffer = this.buffers[this.bufferIndex].byteLength - this.byteOffsetInCurrentBuffer;
-          const remaining = Math.min(remainingCapacityInThisBuffer, remainingDataInAllBuffers);
-          if (remaining > size - i) {
-            const end = this.byteOffsetInCurrentBuffer + size - i;
-            outBuffers.push(this.buffers[this.bufferIndex].slice(this.byteOffsetInCurrentBuffer, end));
-            this.pushedBytesLength += size - i;
-            this.byteOffsetInCurrentBuffer = end;
-            i = size;
-            break;
-          } else {
-            const end = this.byteOffsetInCurrentBuffer + remaining;
-            outBuffers.push(this.buffers[this.bufferIndex].slice(this.byteOffsetInCurrentBuffer, end));
-            if (remaining === remainingCapacityInThisBuffer) {
-              this.byteOffsetInCurrentBuffer = 0;
-              this.bufferIndex++;
-            } else {
-              this.byteOffsetInCurrentBuffer = end;
-            }
-            this.pushedBytesLength += remaining;
-            i += remaining;
-          }
+      }
+      let verifiedPermissions;
+      if (blobSASSignatureValues.permissions) {
+        if (blobSASSignatureValues.blobName) {
+          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        } else {
+          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        }
+      }
+      const stringToSign = [
+        verifiedPermissions ? verifiedPermissions : "",
+        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
+        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
+        getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
+        blobSASSignatureValues.identifier,
+        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
+        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
+        blobSASSignatureValues.version,
+        resource,
+        timestamp2,
+        blobSASSignatureValues.encryptionScope,
+        blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
+        blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
+        blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
+        blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
+        blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : ""
+      ].join("\n");
+      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, void 0, void 0, void 0, blobSASSignatureValues.encryptionScope),
+        stringToSign
+      };
+    }
+    function generateBlobSASQueryParametersUDK20181109(blobSASSignatureValues, userDelegationKeyCredential) {
+      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
+      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
+        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
+      }
+      let resource = "c";
+      let timestamp2 = blobSASSignatureValues.snapshotTime;
+      if (blobSASSignatureValues.blobName) {
+        resource = "b";
+        if (blobSASSignatureValues.snapshotTime) {
+          resource = "bs";
+        } else if (blobSASSignatureValues.versionId) {
+          resource = "bv";
+          timestamp2 = blobSASSignatureValues.versionId;
         }
-        if (outBuffers.length > 1) {
-          this.push(Buffer.concat(outBuffers));
-        } else if (outBuffers.length === 1) {
-          this.push(outBuffers[0]);
+      }
+      let verifiedPermissions;
+      if (blobSASSignatureValues.permissions) {
+        if (blobSASSignatureValues.blobName) {
+          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        } else {
+          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
         }
       }
-    };
-    exports2.BuffersStream = BuffersStream;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/PooledBuffer.js
-var require_PooledBuffer = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/PooledBuffer.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.PooledBuffer = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var BuffersStream_js_1 = require_BuffersStream();
-    var node_buffer_1 = tslib_1.__importDefault(require("node:buffer"));
-    var maxBufferLength = node_buffer_1.default.constants.MAX_LENGTH;
-    var PooledBuffer = class {
-      /**
-       * Internal buffers used to keep the data.
-       * Each buffer has a length of the maxBufferLength except last one.
-       */
-      buffers = [];
-      /**
-       * The total size of internal buffers.
-       */
-      capacity;
-      /**
-       * The total size of data contained in internal buffers.
-       */
-      _size;
-      /**
-       * The size of the data contained in the pooled buffers.
-       */
-      get size() {
-        return this._size;
+      const stringToSign = [
+        verifiedPermissions ? verifiedPermissions : "",
+        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
+        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
+        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
+        userDelegationKeyCredential.userDelegationKey.signedObjectId,
+        userDelegationKeyCredential.userDelegationKey.signedTenantId,
+        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedService,
+        userDelegationKeyCredential.userDelegationKey.signedVersion,
+        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
+        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
+        blobSASSignatureValues.version,
+        resource,
+        timestamp2,
+        blobSASSignatureValues.cacheControl,
+        blobSASSignatureValues.contentDisposition,
+        blobSASSignatureValues.contentEncoding,
+        blobSASSignatureValues.contentLanguage,
+        blobSASSignatureValues.contentType
+      ].join("\n");
+      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey),
+        stringToSign
+      };
+    }
+    function generateBlobSASQueryParametersUDK20200210(blobSASSignatureValues, userDelegationKeyCredential) {
+      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
+      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
+        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
       }
-      constructor(capacity, buffers, totalLength) {
-        this.capacity = capacity;
-        this._size = 0;
-        const bufferNum = Math.ceil(capacity / maxBufferLength);
-        for (let i = 0; i < bufferNum; i++) {
-          let len = i === bufferNum - 1 ? capacity % maxBufferLength : maxBufferLength;
-          if (len === 0) {
-            len = maxBufferLength;
-          }
-          this.buffers.push(Buffer.allocUnsafe(len));
+      let resource = "c";
+      let timestamp2 = blobSASSignatureValues.snapshotTime;
+      if (blobSASSignatureValues.blobName) {
+        resource = "b";
+        if (blobSASSignatureValues.snapshotTime) {
+          resource = "bs";
+        } else if (blobSASSignatureValues.versionId) {
+          resource = "bv";
+          timestamp2 = blobSASSignatureValues.versionId;
         }
-        if (buffers) {
-          this.fill(buffers, totalLength);
+      }
+      let verifiedPermissions;
+      if (blobSASSignatureValues.permissions) {
+        if (blobSASSignatureValues.blobName) {
+          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        } else {
+          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
         }
       }
-      /**
-       * Fill the internal buffers with data in the input buffers serially
-       * with respect to the total length and the total capacity of the internal buffers.
-       * Data copied will be shift out of the input buffers.
-       *
-       * @param buffers - Input buffers containing the data to be filled in the pooled buffer
-       * @param totalLength - Total length of the data to be filled in.
-       *
-       */
-      fill(buffers, totalLength) {
-        this._size = Math.min(this.capacity, totalLength);
-        let i = 0, j = 0, targetOffset = 0, sourceOffset = 0, totalCopiedNum = 0;
-        while (totalCopiedNum < this._size) {
-          const source = buffers[i];
-          const target = this.buffers[j];
-          const copiedNum = source.copy(target, targetOffset, sourceOffset);
-          totalCopiedNum += copiedNum;
-          sourceOffset += copiedNum;
-          targetOffset += copiedNum;
-          if (sourceOffset === source.length) {
-            i++;
-            sourceOffset = 0;
-          }
-          if (targetOffset === target.length) {
-            j++;
-            targetOffset = 0;
-          }
+      const stringToSign = [
+        verifiedPermissions ? verifiedPermissions : "",
+        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
+        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
+        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
+        userDelegationKeyCredential.userDelegationKey.signedObjectId,
+        userDelegationKeyCredential.userDelegationKey.signedTenantId,
+        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedService,
+        userDelegationKeyCredential.userDelegationKey.signedVersion,
+        blobSASSignatureValues.preauthorizedAgentObjectId,
+        void 0,
+        // agentObjectId
+        blobSASSignatureValues.correlationId,
+        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
+        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
+        blobSASSignatureValues.version,
+        resource,
+        timestamp2,
+        blobSASSignatureValues.cacheControl,
+        blobSASSignatureValues.contentDisposition,
+        blobSASSignatureValues.contentEncoding,
+        blobSASSignatureValues.contentLanguage,
+        blobSASSignatureValues.contentType
+      ].join("\n");
+      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId),
+        stringToSign
+      };
+    }
+    function generateBlobSASQueryParametersUDK20201206(blobSASSignatureValues, userDelegationKeyCredential) {
+      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
+      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
+        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
+      }
+      let resource = "c";
+      let timestamp2 = blobSASSignatureValues.snapshotTime;
+      if (blobSASSignatureValues.blobName) {
+        resource = "b";
+        if (blobSASSignatureValues.snapshotTime) {
+          resource = "bs";
+        } else if (blobSASSignatureValues.versionId) {
+          resource = "bv";
+          timestamp2 = blobSASSignatureValues.versionId;
         }
-        buffers.splice(0, i);
-        if (buffers.length > 0) {
-          buffers[0] = buffers[0].slice(sourceOffset);
+      }
+      let verifiedPermissions;
+      if (blobSASSignatureValues.permissions) {
+        if (blobSASSignatureValues.blobName) {
+          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        } else {
+          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
         }
       }
-      /**
-       * Get the readable stream assembled from all the data in the internal buffers.
-       *
-       */
-      getReadableStream() {
-        return new BuffersStream_js_1.BuffersStream(this.buffers, this.size);
+      const stringToSign = [
+        verifiedPermissions ? verifiedPermissions : "",
+        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
+        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
+        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
+        userDelegationKeyCredential.userDelegationKey.signedObjectId,
+        userDelegationKeyCredential.userDelegationKey.signedTenantId,
+        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedService,
+        userDelegationKeyCredential.userDelegationKey.signedVersion,
+        blobSASSignatureValues.preauthorizedAgentObjectId,
+        void 0,
+        // agentObjectId
+        blobSASSignatureValues.correlationId,
+        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
+        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
+        blobSASSignatureValues.version,
+        resource,
+        timestamp2,
+        blobSASSignatureValues.encryptionScope,
+        blobSASSignatureValues.cacheControl,
+        blobSASSignatureValues.contentDisposition,
+        blobSASSignatureValues.contentEncoding,
+        blobSASSignatureValues.contentLanguage,
+        blobSASSignatureValues.contentType
+      ].join("\n");
+      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId, blobSASSignatureValues.encryptionScope),
+        stringToSign
+      };
+    }
+    function generateBlobSASQueryParametersUDK20250705(blobSASSignatureValues, userDelegationKeyCredential) {
+      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
+      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
+        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
       }
-    };
-    exports2.PooledBuffer = PooledBuffer;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/BufferScheduler.js
-var require_BufferScheduler = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/BufferScheduler.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BufferScheduler = void 0;
-    var events_1 = require("events");
-    var PooledBuffer_js_1 = require_PooledBuffer();
-    var BufferScheduler = class {
-      /**
-       * Size of buffers in incoming and outgoing queues. This class will try to align
-       * data read from Readable stream into buffer chunks with bufferSize defined.
-       */
-      bufferSize;
-      /**
-       * How many buffers can be created or maintained.
-       */
-      maxBuffers;
-      /**
-       * A Node.js Readable stream.
-       */
-      readable;
-      /**
-       * OutgoingHandler is an async function triggered by BufferScheduler when there
-       * are available buffers in outgoing array.
-       */
-      outgoingHandler;
-      /**
-       * An internal event emitter.
-       */
-      emitter = new events_1.EventEmitter();
-      /**
-       * Concurrency of executing outgoingHandlers. (0 lesser than concurrency lesser than or equal to maxBuffers)
-       */
-      concurrency;
-      /**
-       * An internal offset marker to track data offset in bytes of next outgoingHandler.
-       */
-      offset = 0;
-      /**
-       * An internal marker to track whether stream is end.
-       */
-      isStreamEnd = false;
-      /**
-       * An internal marker to track whether stream or outgoingHandler returns error.
-       */
-      isError = false;
-      /**
-       * How many handlers are executing.
-       */
-      executingOutgoingHandlers = 0;
-      /**
-       * Encoding of the input Readable stream which has string data type instead of Buffer.
-       */
-      encoding;
-      /**
-       * How many buffers have been allocated.
-       */
-      numBuffers = 0;
-      /**
-       * Because this class doesn't know how much data every time stream pops, which
-       * is defined by highWaterMarker of the stream. So BufferScheduler will cache
-       * data received from the stream, when data in unresolvedDataArray exceeds the
-       * blockSize defined, it will try to concat a blockSize of buffer, fill into available
-       * buffers from incoming and push to outgoing array.
-       */
-      unresolvedDataArray = [];
-      /**
-       * How much data consisted in unresolvedDataArray.
-       */
-      unresolvedLength = 0;
-      /**
-       * The array includes all the available buffers can be used to fill data from stream.
-       */
-      incoming = [];
-      /**
-       * The array (queue) includes all the buffers filled from stream data.
-       */
-      outgoing = [];
-      /**
-       * Creates an instance of BufferScheduler.
-       *
-       * @param readable - A Node.js Readable stream
-       * @param bufferSize - Buffer size of every maintained buffer
-       * @param maxBuffers - How many buffers can be allocated
-       * @param outgoingHandler - An async function scheduled to be
-       *                                          triggered when a buffer fully filled
-       *                                          with stream data
-       * @param concurrency - Concurrency of executing outgoingHandlers (>0)
-       * @param encoding - [Optional] Encoding of Readable stream when it's a string stream
-       */
-      constructor(readable, bufferSize, maxBuffers, outgoingHandler, concurrency, encoding) {
-        if (bufferSize <= 0) {
-          throw new RangeError(`bufferSize must be larger than 0, current is ${bufferSize}`);
-        }
-        if (maxBuffers <= 0) {
-          throw new RangeError(`maxBuffers must be larger than 0, current is ${maxBuffers}`);
+      let resource = "c";
+      let timestamp2 = blobSASSignatureValues.snapshotTime;
+      if (blobSASSignatureValues.blobName) {
+        resource = "b";
+        if (blobSASSignatureValues.snapshotTime) {
+          resource = "bs";
+        } else if (blobSASSignatureValues.versionId) {
+          resource = "bv";
+          timestamp2 = blobSASSignatureValues.versionId;
         }
-        if (concurrency <= 0) {
-          throw new RangeError(`concurrency must be larger than 0, current is ${concurrency}`);
+      }
+      let verifiedPermissions;
+      if (blobSASSignatureValues.permissions) {
+        if (blobSASSignatureValues.blobName) {
+          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        } else {
+          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
         }
-        this.bufferSize = bufferSize;
-        this.maxBuffers = maxBuffers;
-        this.readable = readable;
-        this.outgoingHandler = outgoingHandler;
-        this.concurrency = concurrency;
-        this.encoding = encoding;
       }
-      /**
-       * Start the scheduler, will return error when stream of any of the outgoingHandlers
-       * returns error.
-       *
-       */
-      async do() {
-        return new Promise((resolve2, reject) => {
-          this.readable.on("data", (data) => {
-            data = typeof data === "string" ? Buffer.from(data, this.encoding) : data;
-            this.appendUnresolvedData(data);
-            if (!this.resolveData()) {
-              this.readable.pause();
-            }
-          });
-          this.readable.on("error", (err) => {
-            this.emitter.emit("error", err);
-          });
-          this.readable.on("end", () => {
-            this.isStreamEnd = true;
-            this.emitter.emit("checkEnd");
-          });
-          this.emitter.on("error", (err) => {
-            this.isError = true;
-            this.readable.pause();
-            reject(err);
-          });
-          this.emitter.on("checkEnd", () => {
-            if (this.outgoing.length > 0) {
-              this.triggerOutgoingHandlers();
-              return;
-            }
-            if (this.isStreamEnd && this.executingOutgoingHandlers === 0) {
-              if (this.unresolvedLength > 0 && this.unresolvedLength < this.bufferSize) {
-                const buffer = this.shiftBufferFromUnresolvedDataArray();
-                this.outgoingHandler(() => buffer.getReadableStream(), buffer.size, this.offset).then(resolve2).catch(reject);
-              } else if (this.unresolvedLength >= this.bufferSize) {
-                return;
-              } else {
-                resolve2();
-              }
-            }
-          });
-        });
+      const stringToSign = [
+        verifiedPermissions ? verifiedPermissions : "",
+        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
+        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
+        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
+        userDelegationKeyCredential.userDelegationKey.signedObjectId,
+        userDelegationKeyCredential.userDelegationKey.signedTenantId,
+        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedService,
+        userDelegationKeyCredential.userDelegationKey.signedVersion,
+        blobSASSignatureValues.preauthorizedAgentObjectId,
+        void 0,
+        // agentObjectId
+        blobSASSignatureValues.correlationId,
+        void 0,
+        // SignedKeyDelegatedUserTenantId, will be added in a future release.
+        void 0,
+        // SignedDelegatedUserObjectId, will be added in future release.
+        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
+        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
+        blobSASSignatureValues.version,
+        resource,
+        timestamp2,
+        blobSASSignatureValues.encryptionScope,
+        blobSASSignatureValues.cacheControl,
+        blobSASSignatureValues.contentDisposition,
+        blobSASSignatureValues.contentEncoding,
+        blobSASSignatureValues.contentLanguage,
+        blobSASSignatureValues.contentType
+      ].join("\n");
+      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId, blobSASSignatureValues.encryptionScope),
+        stringToSign
+      };
+    }
+    function getCanonicalName(accountName, containerName, blobName) {
+      const elements = [`/blob/${accountName}/${containerName}`];
+      if (blobName) {
+        elements.push(`/${blobName}`);
       }
-      /**
-       * Insert a new data into unresolved array.
-       *
-       * @param data -
-       */
-      appendUnresolvedData(data) {
-        this.unresolvedDataArray.push(data);
-        this.unresolvedLength += data.length;
+      return elements.join("");
+    }
+    function SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues) {
+      const version = blobSASSignatureValues.version ? blobSASSignatureValues.version : constants_js_1.SERVICE_VERSION;
+      if (blobSASSignatureValues.snapshotTime && version < "2018-11-09") {
+        throw RangeError("'version' must be >= '2018-11-09' when providing 'snapshotTime'.");
+      }
+      if (blobSASSignatureValues.blobName === void 0 && blobSASSignatureValues.snapshotTime) {
+        throw RangeError("Must provide 'blobName' when providing 'snapshotTime'.");
+      }
+      if (blobSASSignatureValues.versionId && version < "2019-10-10") {
+        throw RangeError("'version' must be >= '2019-10-10' when providing 'versionId'.");
+      }
+      if (blobSASSignatureValues.blobName === void 0 && blobSASSignatureValues.versionId) {
+        throw RangeError("Must provide 'blobName' when providing 'versionId'.");
+      }
+      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.setImmutabilityPolicy && version < "2020-08-04") {
+        throw RangeError("'version' must be >= '2020-08-04' when provided 'i' permission.");
+      }
+      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.deleteVersion && version < "2019-10-10") {
+        throw RangeError("'version' must be >= '2019-10-10' when providing 'x' permission.");
+      }
+      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.permanentDelete && version < "2019-10-10") {
+        throw RangeError("'version' must be >= '2019-10-10' when providing 'y' permission.");
+      }
+      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.tag && version < "2019-12-12") {
+        throw RangeError("'version' must be >= '2019-12-12' when providing 't' permission.");
+      }
+      if (version < "2020-02-10" && blobSASSignatureValues.permissions && (blobSASSignatureValues.permissions.move || blobSASSignatureValues.permissions.execute)) {
+        throw RangeError("'version' must be >= '2020-02-10' when providing the 'm' or 'e' permission.");
+      }
+      if (version < "2021-04-10" && blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.filterByTags) {
+        throw RangeError("'version' must be >= '2021-04-10' when providing the 'f' permission.");
+      }
+      if (version < "2020-02-10" && (blobSASSignatureValues.preauthorizedAgentObjectId || blobSASSignatureValues.correlationId)) {
+        throw RangeError("'version' must be >= '2020-02-10' when providing 'preauthorizedAgentObjectId' or 'correlationId'.");
+      }
+      if (blobSASSignatureValues.encryptionScope && version < "2020-12-06") {
+        throw RangeError("'version' must be >= '2020-12-06' when provided 'encryptionScope' in SAS.");
       }
+      blobSASSignatureValues.version = version;
+      return blobSASSignatureValues;
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BlobLeaseClient.js
+var require_BlobLeaseClient = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BlobLeaseClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobLeaseClient = void 0;
+    var core_util_1 = require_commonjs6();
+    var constants_js_1 = require_constants14();
+    var tracing_js_1 = require_tracing();
+    var utils_common_js_1 = require_utils_common();
+    var BlobLeaseClient = class {
+      _leaseId;
+      _url;
+      _containerOrBlobOperation;
+      _isContainer;
       /**
-       * Try to shift a buffer with size in blockSize. The buffer returned may be less
-       * than blockSize when data in unresolvedDataArray is less than bufferSize.
+       * Gets the lease Id.
        *
+       * @readonly
        */
-      shiftBufferFromUnresolvedDataArray(buffer) {
-        if (!buffer) {
-          buffer = new PooledBuffer_js_1.PooledBuffer(this.bufferSize, this.unresolvedDataArray, this.unresolvedLength);
-        } else {
-          buffer.fill(this.unresolvedDataArray, this.unresolvedLength);
-        }
-        this.unresolvedLength -= buffer.size;
-        return buffer;
+      get leaseId() {
+        return this._leaseId;
       }
       /**
-       * Resolve data in unresolvedDataArray. For every buffer with size in blockSize
-       * shifted, it will try to get (or allocate a buffer) from incoming, and fill it,
-       * then push it into outgoing to be handled by outgoing handler.
-       *
-       * Return false when available buffers in incoming are not enough, else true.
+       * Gets the url.
        *
-       * @returns Return false when buffers in incoming are not enough, else true.
+       * @readonly
        */
-      resolveData() {
-        while (this.unresolvedLength >= this.bufferSize) {
-          let buffer;
-          if (this.incoming.length > 0) {
-            buffer = this.incoming.shift();
-            this.shiftBufferFromUnresolvedDataArray(buffer);
-          } else {
-            if (this.numBuffers < this.maxBuffers) {
-              buffer = this.shiftBufferFromUnresolvedDataArray();
-              this.numBuffers++;
-            } else {
-              return false;
-            }
-          }
-          this.outgoing.push(buffer);
-          this.triggerOutgoingHandlers();
-        }
-        return true;
+      get url() {
+        return this._url;
       }
       /**
-       * Try to trigger a outgoing handler for every buffer in outgoing. Stop when
-       * concurrency reaches.
+       * Creates an instance of BlobLeaseClient.
+       * @param client - The client to make the lease operation requests.
+       * @param leaseId - Initial proposed lease id.
        */
-      async triggerOutgoingHandlers() {
-        let buffer;
-        do {
-          if (this.executingOutgoingHandlers >= this.concurrency) {
-            return;
-          }
-          buffer = this.outgoing.shift();
-          if (buffer) {
-            this.triggerOutgoingHandler(buffer);
-          }
-        } while (buffer);
+      constructor(client, leaseId) {
+        const clientContext = client.storageClientContext;
+        this._url = client.url;
+        if (client.name === void 0) {
+          this._isContainer = true;
+          this._containerOrBlobOperation = clientContext.container;
+        } else {
+          this._isContainer = false;
+          this._containerOrBlobOperation = clientContext.blob;
+        }
+        if (!leaseId) {
+          leaseId = (0, core_util_1.randomUUID)();
+        }
+        this._leaseId = leaseId;
       }
       /**
-       * Trigger a outgoing handler for a buffer shifted from outgoing.
+       * Establishes and manages a lock on a container for delete operations, or on a blob
+       * for write and delete operations.
+       * The lock duration can be 15 to 60 seconds, or can be infinite.
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
+       * and
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
        *
-       * @param buffer -
+       * @param duration - Must be between 15 to 60 seconds, or infinite (-1)
+       * @param options - option to configure lease management operations.
+       * @returns Response data for acquire lease operation.
        */
-      async triggerOutgoingHandler(buffer) {
-        const bufferLength = buffer.size;
-        this.executingOutgoingHandlers++;
-        this.offset += bufferLength;
-        try {
-          await this.outgoingHandler(() => buffer.getReadableStream(), bufferLength, this.offset - bufferLength);
-        } catch (err) {
-          this.emitter.emit("error", err);
-          return;
+      async acquireLease(duration, options = {}) {
+        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
+          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
         }
-        this.executingOutgoingHandlers--;
-        this.reuseBuffer(buffer);
-        this.emitter.emit("checkEnd");
+        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-acquireLease", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.acquireLease({
+            abortSignal: options.abortSignal,
+            duration,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            proposedLeaseId: this._leaseId,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
       /**
-       * Return buffer used by outgoing handler into incoming.
+       * To change the ID of the lease.
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
+       * and
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
        *
-       * @param buffer -
+       * @param proposedLeaseId - the proposed new lease Id.
+       * @param options - option to configure lease management operations.
+       * @returns Response data for change lease operation.
        */
-      reuseBuffer(buffer) {
-        this.incoming.push(buffer);
-        if (!this.isError && this.resolveData() && !this.isStreamEnd) {
-          this.readable.resume();
+      async changeLease(proposedLeaseId, options = {}) {
+        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
+          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
         }
+        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-changeLease", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.changeLease(this._leaseId, proposedLeaseId, {
+            abortSignal: options.abortSignal,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          this._leaseId = proposedLeaseId;
+          return response;
+        });
       }
-    };
-    exports2.BufferScheduler = BufferScheduler;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/cache.js
-var require_cache3 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/cache.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getCachedDefaultHttpClient = getCachedDefaultHttpClient;
-    var core_rest_pipeline_1 = require_commonjs8();
-    var _defaultHttpClient;
-    function getCachedDefaultHttpClient() {
-      if (!_defaultHttpClient) {
-        _defaultHttpClient = (0, core_rest_pipeline_1.createDefaultHttpClient)();
-      }
-      return _defaultHttpClient;
-    }
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/policies/RequestPolicy.js
-var require_RequestPolicy2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/RequestPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BaseRequestPolicy = void 0;
-    var BaseRequestPolicy = class {
-      _nextPolicy;
-      _options;
       /**
-       * The main method to implement that manipulates a request/response.
+       * To free the lease if it is no longer needed so that another client may
+       * immediately acquire a lease against the container or the blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
+       * and
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
+       *
+       * @param options - option to configure lease management operations.
+       * @returns Response data for release lease operation.
        */
-      constructor(_nextPolicy, _options) {
-        this._nextPolicy = _nextPolicy;
-        this._options = _options;
+      async releaseLease(options = {}) {
+        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
+          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
+        }
+        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-releaseLease", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.releaseLease(this._leaseId, {
+            abortSignal: options.abortSignal,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
       /**
-       * Get whether or not a log with the provided log level should be logged.
-       * @param logLevel - The log level of the log that will be logged.
-       * @returns Whether or not a log with the provided log level should be logged.
+       * To renew the lease.
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
+       * and
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
+       *
+       * @param options - Optional option to configure lease management operations.
+       * @returns Response data for renew lease operation.
        */
-      shouldLog(logLevel) {
-        return this._options.shouldLog(logLevel);
+      async renewLease(options = {}) {
+        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
+          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
+        }
+        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-renewLease", options, async (updatedOptions) => {
+          return this._containerOrBlobOperation.renewLease(this._leaseId, {
+            abortSignal: options.abortSignal,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          });
+        });
       }
       /**
-       * Attempt to log the provided message to the provided logger. If no logger was provided or if
-       * the log level does not meat the logger's threshold, then nothing will be logged.
-       * @param logLevel - The log level of this log.
-       * @param message - The message of this log.
+       * To end the lease but ensure that another client cannot acquire a new lease
+       * until the current lease period has expired.
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
+       * and
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
+       *
+       * @param breakPeriod - Break period
+       * @param options - Optional options to configure lease management operations.
+       * @returns Response data for break lease operation.
        */
-      log(logLevel, message) {
-        this._options.log(logLevel, message);
+      async breakLease(breakPeriod, options = {}) {
+        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
+          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
+        }
+        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-breakLease", options, async (updatedOptions) => {
+          const operationOptions = {
+            abortSignal: options.abortSignal,
+            breakPeriod,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          };
+          return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.breakLease(operationOptions));
+        });
       }
     };
-    exports2.BaseRequestPolicy = BaseRequestPolicy;
+    exports2.BlobLeaseClient = BlobLeaseClient;
   }
 });
 
-// node_modules/@azure/storage-common/dist/commonjs/utils/constants.js
-var require_constants15 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/utils/constants.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/utils/RetriableReadableStream.js
+var require_RetriableReadableStream = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/RetriableReadableStream.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.PathStylePorts = exports2.DevelopmentConnectionString = exports2.HeaderConstants = exports2.URLConstants = exports2.SDK_VERSION = void 0;
-    exports2.SDK_VERSION = "1.0.0";
-    exports2.URLConstants = {
-      Parameters: {
-        FORCE_BROWSER_NO_CACHE: "_",
-        SIGNATURE: "sig",
-        SNAPSHOT: "snapshot",
-        VERSIONID: "versionid",
-        TIMEOUT: "timeout"
+    exports2.RetriableReadableStream = void 0;
+    var abort_controller_1 = require_commonjs13();
+    var node_stream_1 = require("node:stream");
+    var RetriableReadableStream = class extends node_stream_1.Readable {
+      start;
+      offset;
+      end;
+      getter;
+      source;
+      retries = 0;
+      maxRetryRequests;
+      onProgress;
+      options;
+      /**
+       * Creates an instance of RetriableReadableStream.
+       *
+       * @param source - The current ReadableStream returned from getter
+       * @param getter - A method calling downloading request returning
+       *                                      a new ReadableStream from specified offset
+       * @param offset - Offset position in original data source to read
+       * @param count - How much data in original data source to read
+       * @param options -
+       */
+      constructor(source, getter, offset, count, options = {}) {
+        super({ highWaterMark: options.highWaterMark });
+        this.getter = getter;
+        this.source = source;
+        this.start = offset;
+        this.offset = offset;
+        this.end = offset + count - 1;
+        this.maxRetryRequests = options.maxRetryRequests && options.maxRetryRequests >= 0 ? options.maxRetryRequests : 0;
+        this.onProgress = options.onProgress;
+        this.options = options;
+        this.setSourceEventHandlers();
       }
-    };
-    exports2.HeaderConstants = {
-      AUTHORIZATION: "Authorization",
-      AUTHORIZATION_SCHEME: "Bearer",
-      CONTENT_ENCODING: "Content-Encoding",
-      CONTENT_ID: "Content-ID",
-      CONTENT_LANGUAGE: "Content-Language",
-      CONTENT_LENGTH: "Content-Length",
-      CONTENT_MD5: "Content-Md5",
-      CONTENT_TRANSFER_ENCODING: "Content-Transfer-Encoding",
-      CONTENT_TYPE: "Content-Type",
-      COOKIE: "Cookie",
-      DATE: "date",
-      IF_MATCH: "if-match",
-      IF_MODIFIED_SINCE: "if-modified-since",
-      IF_NONE_MATCH: "if-none-match",
-      IF_UNMODIFIED_SINCE: "if-unmodified-since",
-      PREFIX_FOR_STORAGE: "x-ms-",
-      RANGE: "Range",
-      USER_AGENT: "User-Agent",
-      X_MS_CLIENT_REQUEST_ID: "x-ms-client-request-id",
-      X_MS_COPY_SOURCE: "x-ms-copy-source",
-      X_MS_DATE: "x-ms-date",
-      X_MS_ERROR_CODE: "x-ms-error-code",
-      X_MS_VERSION: "x-ms-version",
-      X_MS_CopySourceErrorCode: "x-ms-copy-source-error-code"
-    };
-    exports2.DevelopmentConnectionString = `DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;`;
-    exports2.PathStylePorts = [
-      "10000",
-      "10001",
-      "10002",
-      "10003",
-      "10004",
-      "10100",
-      "10101",
-      "10102",
-      "10103",
-      "10104",
-      "11000",
-      "11001",
-      "11002",
-      "11003",
-      "11004",
-      "11100",
-      "11101",
-      "11102",
-      "11103",
-      "11104"
-    ];
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/utils/utils.common.js
-var require_utils_common2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/utils/utils.common.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.escapeURLPath = escapeURLPath;
-    exports2.getValueInConnString = getValueInConnString;
-    exports2.extractConnectionStringParts = extractConnectionStringParts;
-    exports2.appendToURLPath = appendToURLPath;
-    exports2.setURLParameter = setURLParameter;
-    exports2.getURLParameter = getURLParameter;
-    exports2.setURLHost = setURLHost;
-    exports2.getURLPath = getURLPath;
-    exports2.getURLScheme = getURLScheme;
-    exports2.getURLPathAndQuery = getURLPathAndQuery;
-    exports2.getURLQueries = getURLQueries;
-    exports2.appendToURLQuery = appendToURLQuery;
-    exports2.truncatedISO8061Date = truncatedISO8061Date;
-    exports2.base64encode = base64encode;
-    exports2.base64decode = base64decode;
-    exports2.generateBlockID = generateBlockID;
-    exports2.delay = delay;
-    exports2.padStart = padStart2;
-    exports2.sanitizeURL = sanitizeURL;
-    exports2.sanitizeHeaders = sanitizeHeaders;
-    exports2.iEqual = iEqual;
-    exports2.getAccountNameFromUrl = getAccountNameFromUrl;
-    exports2.isIpEndpointStyle = isIpEndpointStyle;
-    exports2.attachCredential = attachCredential;
-    exports2.httpAuthorizationToString = httpAuthorizationToString;
-    exports2.EscapePath = EscapePath;
-    exports2.assertResponse = assertResponse;
-    var core_rest_pipeline_1 = require_commonjs8();
-    var core_util_1 = require_commonjs6();
-    var constants_js_1 = require_constants15();
-    function escapeURLPath(url) {
-      const urlParsed = new URL(url);
-      let path3 = urlParsed.pathname;
-      path3 = path3 || "/";
-      path3 = escape(path3);
-      urlParsed.pathname = path3;
-      return urlParsed.toString();
-    }
-    function getProxyUriFromDevConnString(connectionString) {
-      let proxyUri = "";
-      if (connectionString.search("DevelopmentStorageProxyUri=") !== -1) {
-        const matchCredentials = connectionString.split(";");
-        for (const element of matchCredentials) {
-          if (element.trim().startsWith("DevelopmentStorageProxyUri=")) {
-            proxyUri = element.trim().match("DevelopmentStorageProxyUri=(.*)")[1];
-          }
-        }
+      _read() {
+        this.source.resume();
       }
-      return proxyUri;
-    }
-    function getValueInConnString(connectionString, argument) {
-      const elements = connectionString.split(";");
-      for (const element of elements) {
-        if (element.trim().startsWith(argument)) {
-          return element.trim().match(argument + "=(.*)")[1];
-        }
+      setSourceEventHandlers() {
+        this.source.on("data", this.sourceDataHandler);
+        this.source.on("end", this.sourceErrorOrEndHandler);
+        this.source.on("error", this.sourceErrorOrEndHandler);
+        this.source.on("aborted", this.sourceAbortedHandler);
       }
-      return "";
-    }
-    function extractConnectionStringParts(connectionString) {
-      let proxyUri = "";
-      if (connectionString.startsWith("UseDevelopmentStorage=true")) {
-        proxyUri = getProxyUriFromDevConnString(connectionString);
-        connectionString = constants_js_1.DevelopmentConnectionString;
+      removeSourceEventHandlers() {
+        this.source.removeListener("data", this.sourceDataHandler);
+        this.source.removeListener("end", this.sourceErrorOrEndHandler);
+        this.source.removeListener("error", this.sourceErrorOrEndHandler);
+        this.source.removeListener("aborted", this.sourceAbortedHandler);
       }
-      let blobEndpoint = getValueInConnString(connectionString, "BlobEndpoint");
-      blobEndpoint = blobEndpoint.endsWith("/") ? blobEndpoint.slice(0, -1) : blobEndpoint;
-      if (connectionString.search("DefaultEndpointsProtocol=") !== -1 && connectionString.search("AccountKey=") !== -1) {
-        let defaultEndpointsProtocol = "";
-        let accountName = "";
-        let accountKey = Buffer.from("accountKey", "base64");
-        let endpointSuffix = "";
-        accountName = getValueInConnString(connectionString, "AccountName");
-        accountKey = Buffer.from(getValueInConnString(connectionString, "AccountKey"), "base64");
-        if (!blobEndpoint) {
-          defaultEndpointsProtocol = getValueInConnString(connectionString, "DefaultEndpointsProtocol");
-          const protocol = defaultEndpointsProtocol.toLowerCase();
-          if (protocol !== "https" && protocol !== "http") {
-            throw new Error("Invalid DefaultEndpointsProtocol in the provided Connection String. Expecting 'https' or 'http'");
-          }
-          endpointSuffix = getValueInConnString(connectionString, "EndpointSuffix");
-          if (!endpointSuffix) {
-            throw new Error("Invalid EndpointSuffix in the provided Connection String");
-          }
-          blobEndpoint = `${defaultEndpointsProtocol}://${accountName}.blob.${endpointSuffix}`;
-        }
-        if (!accountName) {
-          throw new Error("Invalid AccountName in the provided Connection String");
-        } else if (accountKey.length === 0) {
-          throw new Error("Invalid AccountKey in the provided Connection String");
-        }
-        return {
-          kind: "AccountConnString",
-          url: blobEndpoint,
-          accountName,
-          accountKey,
-          proxyUri
-        };
-      } else {
-        let accountSas = getValueInConnString(connectionString, "SharedAccessSignature");
-        let accountName = getValueInConnString(connectionString, "AccountName");
-        if (!accountName) {
-          accountName = getAccountNameFromUrl(blobEndpoint);
+      sourceDataHandler = (data) => {
+        if (this.options.doInjectErrorOnce) {
+          this.options.doInjectErrorOnce = void 0;
+          this.source.pause();
+          this.sourceErrorOrEndHandler();
+          this.source.destroy();
+          return;
         }
-        if (!blobEndpoint) {
-          throw new Error("Invalid BlobEndpoint in the provided SAS Connection String");
-        } else if (!accountSas) {
-          throw new Error("Invalid SharedAccessSignature in the provided SAS Connection String");
+        this.offset += data.length;
+        if (this.onProgress) {
+          this.onProgress({ loadedBytes: this.offset - this.start });
         }
-        if (accountSas.startsWith("?")) {
-          accountSas = accountSas.substring(1);
+        if (!this.push(data)) {
+          this.source.pause();
         }
-        return { kind: "SASConnString", url: blobEndpoint, accountName, accountSas };
-      }
-    }
-    function escape(text) {
-      return encodeURIComponent(text).replace(/%2F/g, "/").replace(/'/g, "%27").replace(/\+/g, "%20").replace(/%25/g, "%");
-    }
-    function appendToURLPath(url, name) {
-      const urlParsed = new URL(url);
-      let path3 = urlParsed.pathname;
-      path3 = path3 ? path3.endsWith("/") ? `${path3}${name}` : `${path3}/${name}` : name;
-      urlParsed.pathname = path3;
-      return urlParsed.toString();
-    }
-    function setURLParameter(url, name, value) {
-      const urlParsed = new URL(url);
-      const encodedName = encodeURIComponent(name);
-      const encodedValue = value ? encodeURIComponent(value) : void 0;
-      const searchString = urlParsed.search === "" ? "?" : urlParsed.search;
-      const searchPieces = [];
-      for (const pair of searchString.slice(1).split("&")) {
-        if (pair) {
-          const [key] = pair.split("=", 2);
-          if (key !== encodedName) {
-            searchPieces.push(pair);
+      };
+      sourceAbortedHandler = () => {
+        const abortError = new abort_controller_1.AbortError("The operation was aborted.");
+        this.destroy(abortError);
+      };
+      sourceErrorOrEndHandler = (err) => {
+        if (err && err.name === "AbortError") {
+          this.destroy(err);
+          return;
+        }
+        this.removeSourceEventHandlers();
+        if (this.offset - 1 === this.end) {
+          this.push(null);
+        } else if (this.offset <= this.end) {
+          if (this.retries < this.maxRetryRequests) {
+            this.retries += 1;
+            this.getter(this.offset).then((newSource) => {
+              this.source = newSource;
+              this.setSourceEventHandlers();
+              return;
+            }).catch((error3) => {
+              this.destroy(error3);
+            });
+          } else {
+            this.destroy(new Error(`Data corruption failure: received less data than required and reached maxRetires limitation. Received data offset: ${this.offset - 1}, data needed offset: ${this.end}, retries: ${this.retries}, max retries: ${this.maxRetryRequests}`));
           }
+        } else {
+          this.destroy(new Error(`Data corruption failure: Received more data than original request, data needed offset is ${this.end}, received offset: ${this.offset - 1}`));
         }
+      };
+      _destroy(error3, callback) {
+        this.removeSourceEventHandlers();
+        this.source.destroy();
+        callback(error3 === null ? void 0 : error3);
       }
-      if (encodedValue) {
-        searchPieces.push(`${encodedName}=${encodedValue}`);
+    };
+    exports2.RetriableReadableStream = RetriableReadableStream;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BlobDownloadResponse.js
+var require_BlobDownloadResponse = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BlobDownloadResponse.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobDownloadResponse = void 0;
+    var core_util_1 = require_commonjs6();
+    var RetriableReadableStream_js_1 = require_RetriableReadableStream();
+    var BlobDownloadResponse = class {
+      /**
+       * Indicates that the service supports
+       * requests for partial file content.
+       *
+       * @readonly
+       */
+      get acceptRanges() {
+        return this.originalResponse.acceptRanges;
       }
-      urlParsed.search = searchPieces.length ? `?${searchPieces.join("&")}` : "";
-      return urlParsed.toString();
-    }
-    function getURLParameter(url, name) {
-      const urlParsed = new URL(url);
-      return urlParsed.searchParams.get(name) ?? void 0;
-    }
-    function setURLHost(url, host) {
-      const urlParsed = new URL(url);
-      urlParsed.hostname = host;
-      return urlParsed.toString();
-    }
-    function getURLPath(url) {
-      try {
-        const urlParsed = new URL(url);
-        return urlParsed.pathname;
-      } catch (e) {
-        return void 0;
+      /**
+       * Returns if it was previously specified
+       * for the file.
+       *
+       * @readonly
+       */
+      get cacheControl() {
+        return this.originalResponse.cacheControl;
       }
-    }
-    function getURLScheme(url) {
-      try {
-        const urlParsed = new URL(url);
-        return urlParsed.protocol.endsWith(":") ? urlParsed.protocol.slice(0, -1) : urlParsed.protocol;
-      } catch (e) {
-        return void 0;
+      /**
+       * Returns the value that was specified
+       * for the 'x-ms-content-disposition' header and specifies how to process the
+       * response.
+       *
+       * @readonly
+       */
+      get contentDisposition() {
+        return this.originalResponse.contentDisposition;
       }
-    }
-    function getURLPathAndQuery(url) {
-      const urlParsed = new URL(url);
-      const pathString = urlParsed.pathname;
-      if (!pathString) {
-        throw new RangeError("Invalid url without valid path.");
+      /**
+       * Returns the value that was specified
+       * for the Content-Encoding request header.
+       *
+       * @readonly
+       */
+      get contentEncoding() {
+        return this.originalResponse.contentEncoding;
       }
-      let queryString = urlParsed.search || "";
-      queryString = queryString.trim();
-      if (queryString !== "") {
-        queryString = queryString.startsWith("?") ? queryString : `?${queryString}`;
+      /**
+       * Returns the value that was specified
+       * for the Content-Language request header.
+       *
+       * @readonly
+       */
+      get contentLanguage() {
+        return this.originalResponse.contentLanguage;
       }
-      return `${pathString}${queryString}`;
-    }
-    function getURLQueries(url) {
-      let queryString = new URL(url).search;
-      if (!queryString) {
-        return {};
+      /**
+       * The current sequence number for a
+       * page blob. This header is not returned for block blobs or append blobs.
+       *
+       * @readonly
+       */
+      get blobSequenceNumber() {
+        return this.originalResponse.blobSequenceNumber;
       }
-      queryString = queryString.trim();
-      queryString = queryString.startsWith("?") ? queryString.substring(1) : queryString;
-      let querySubStrings = queryString.split("&");
-      querySubStrings = querySubStrings.filter((value) => {
-        const indexOfEqual = value.indexOf("=");
-        const lastIndexOfEqual = value.lastIndexOf("=");
-        return indexOfEqual > 0 && indexOfEqual === lastIndexOfEqual && lastIndexOfEqual < value.length - 1;
-      });
-      const queries = {};
-      for (const querySubString of querySubStrings) {
-        const splitResults = querySubString.split("=");
-        const key = splitResults[0];
-        const value = splitResults[1];
-        queries[key] = value;
+      /**
+       * The blob's type. Possible values include:
+       * 'BlockBlob', 'PageBlob', 'AppendBlob'.
+       *
+       * @readonly
+       */
+      get blobType() {
+        return this.originalResponse.blobType;
       }
-      return queries;
-    }
-    function appendToURLQuery(url, queryParts) {
-      const urlParsed = new URL(url);
-      let query = urlParsed.search;
-      if (query) {
-        query += "&" + queryParts;
-      } else {
-        query = queryParts;
+      /**
+       * The number of bytes present in the
+       * response body.
+       *
+       * @readonly
+       */
+      get contentLength() {
+        return this.originalResponse.contentLength;
       }
-      urlParsed.search = query;
-      return urlParsed.toString();
-    }
-    function truncatedISO8061Date(date, withMilliseconds = true) {
-      const dateString = date.toISOString();
-      return withMilliseconds ? dateString.substring(0, dateString.length - 1) + "0000Z" : dateString.substring(0, dateString.length - 5) + "Z";
-    }
-    function base64encode(content) {
-      return !core_util_1.isNodeLike ? btoa(content) : Buffer.from(content).toString("base64");
-    }
-    function base64decode(encodedString) {
-      return !core_util_1.isNodeLike ? atob(encodedString) : Buffer.from(encodedString, "base64").toString();
-    }
-    function generateBlockID(blockIDPrefix, blockIndex) {
-      const maxSourceStringLength = 48;
-      const maxBlockIndexLength = 6;
-      const maxAllowedBlockIDPrefixLength = maxSourceStringLength - maxBlockIndexLength;
-      if (blockIDPrefix.length > maxAllowedBlockIDPrefixLength) {
-        blockIDPrefix = blockIDPrefix.slice(0, maxAllowedBlockIDPrefixLength);
+      /**
+       * If the file has an MD5 hash and the
+       * request is to read the full file, this response header is returned so that
+       * the client can check for message content integrity. If the request is to
+       * read a specified range and the 'x-ms-range-get-content-md5' is set to
+       * true, then the request returns an MD5 hash for the range, as long as the
+       * range size is less than or equal to 4 MB. If neither of these sets of
+       * conditions is true, then no value is returned for the 'Content-MD5'
+       * header.
+       *
+       * @readonly
+       */
+      get contentMD5() {
+        return this.originalResponse.contentMD5;
       }
-      const res = blockIDPrefix + padStart2(blockIndex.toString(), maxSourceStringLength - blockIDPrefix.length, "0");
-      return base64encode(res);
-    }
-    async function delay(timeInMs, aborter, abortError) {
-      return new Promise((resolve2, reject) => {
-        let timeout;
-        const abortHandler = () => {
-          if (timeout !== void 0) {
-            clearTimeout(timeout);
-          }
-          reject(abortError);
-        };
-        const resolveHandler = () => {
-          if (aborter !== void 0) {
-            aborter.removeEventListener("abort", abortHandler);
-          }
-          resolve2();
-        };
-        timeout = setTimeout(resolveHandler, timeInMs);
-        if (aborter !== void 0) {
-          aborter.addEventListener("abort", abortHandler);
-        }
-      });
-    }
-    function padStart2(currentString, targetLength, padString = " ") {
-      if (String.prototype.padStart) {
-        return currentString.padStart(targetLength, padString);
+      /**
+       * Indicates the range of bytes returned if
+       * the client requested a subset of the file by setting the Range request
+       * header.
+       *
+       * @readonly
+       */
+      get contentRange() {
+        return this.originalResponse.contentRange;
       }
-      padString = padString || " ";
-      if (currentString.length > targetLength) {
-        return currentString;
-      } else {
-        targetLength = targetLength - currentString.length;
-        if (targetLength > padString.length) {
-          padString += padString.repeat(targetLength / padString.length);
-        }
-        return padString.slice(0, targetLength) + currentString;
+      /**
+       * The content type specified for the file.
+       * The default content type is 'application/octet-stream'
+       *
+       * @readonly
+       */
+      get contentType() {
+        return this.originalResponse.contentType;
       }
-    }
-    function sanitizeURL(url) {
-      let safeURL = url;
-      if (getURLParameter(safeURL, constants_js_1.URLConstants.Parameters.SIGNATURE)) {
-        safeURL = setURLParameter(safeURL, constants_js_1.URLConstants.Parameters.SIGNATURE, "*****");
+      /**
+       * Conclusion time of the last attempted
+       * Copy File operation where this file was the destination file. This value
+       * can specify the time of a completed, aborted, or failed copy attempt.
+       *
+       * @readonly
+       */
+      get copyCompletedOn() {
+        return this.originalResponse.copyCompletedOn;
       }
-      return safeURL;
-    }
-    function sanitizeHeaders(originalHeader) {
-      const headers = (0, core_rest_pipeline_1.createHttpHeaders)();
-      for (const [name, value] of originalHeader) {
-        if (name.toLowerCase() === constants_js_1.HeaderConstants.AUTHORIZATION.toLowerCase()) {
-          headers.set(name, "*****");
-        } else if (name.toLowerCase() === constants_js_1.HeaderConstants.X_MS_COPY_SOURCE) {
-          headers.set(name, sanitizeURL(value));
-        } else {
-          headers.set(name, value);
-        }
+      /**
+       * String identifier for the last attempted Copy
+       * File operation where this file was the destination file.
+       *
+       * @readonly
+       */
+      get copyId() {
+        return this.originalResponse.copyId;
       }
-      return headers;
-    }
-    function iEqual(str1, str2) {
-      return str1.toLocaleLowerCase() === str2.toLocaleLowerCase();
-    }
-    function getAccountNameFromUrl(url) {
-      const parsedUrl = new URL(url);
-      let accountName;
-      try {
-        if (parsedUrl.hostname.split(".")[1] === "blob") {
-          accountName = parsedUrl.hostname.split(".")[0];
-        } else if (isIpEndpointStyle(parsedUrl)) {
-          accountName = parsedUrl.pathname.split("/")[1];
-        } else {
-          accountName = "";
-        }
-        return accountName;
-      } catch (error3) {
-        throw new Error("Unable to extract accountName with provided information.");
+      /**
+       * Contains the number of bytes copied and
+       * the total bytes in the source in the last attempted Copy File operation
+       * where this file was the destination file. Can show between 0 and
+       * Content-Length bytes copied.
+       *
+       * @readonly
+       */
+      get copyProgress() {
+        return this.originalResponse.copyProgress;
       }
-    }
-    function isIpEndpointStyle(parsedUrl) {
-      const host = parsedUrl.host;
-      return /^.*:.*:.*$|^(localhost|host.docker.internal)(:[0-9]+)?$|^(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])){3}(:[0-9]+)?$/.test(host) || Boolean(parsedUrl.port) && constants_js_1.PathStylePorts.includes(parsedUrl.port);
-    }
-    function attachCredential(thing, credential) {
-      thing.credential = credential;
-      return thing;
-    }
-    function httpAuthorizationToString(httpAuthorization) {
-      return httpAuthorization ? httpAuthorization.scheme + " " + httpAuthorization.value : void 0;
-    }
-    function EscapePath(blobName) {
-      const split = blobName.split("/");
-      for (let i = 0; i < split.length; i++) {
-        split[i] = encodeURIComponent(split[i]);
+      /**
+       * URL up to 2KB in length that specifies the
+       * source file used in the last attempted Copy File operation where this file
+       * was the destination file.
+       *
+       * @readonly
+       */
+      get copySource() {
+        return this.originalResponse.copySource;
       }
-      return split.join("/");
-    }
-    function assertResponse(response) {
-      if (`_response` in response) {
-        return response;
+      /**
+       * State of the copy operation
+       * identified by 'x-ms-copy-id'. Possible values include: 'pending',
+       * 'success', 'aborted', 'failed'
+       *
+       * @readonly
+       */
+      get copyStatus() {
+        return this.originalResponse.copyStatus;
       }
-      throw new TypeError(`Unexpected response object ${response}`);
-    }
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/policies/StorageBrowserPolicy.js
-var require_StorageBrowserPolicy = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageBrowserPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageBrowserPolicy = void 0;
-    var RequestPolicy_js_1 = require_RequestPolicy2();
-    var core_util_1 = require_commonjs6();
-    var constants_js_1 = require_constants15();
-    var utils_common_js_1 = require_utils_common2();
-    var StorageBrowserPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
       /**
-       * Creates an instance of StorageBrowserPolicy.
-       * @param nextPolicy -
-       * @param options -
+       * Only appears when
+       * x-ms-copy-status is failed or pending. Describes cause of fatal or
+       * non-fatal copy operation failure.
+       *
+       * @readonly
        */
-      // The base class has a protected constructor. Adding a public one to enable constructing of this class.
-      /* eslint-disable-next-line @typescript-eslint/no-useless-constructor*/
-      constructor(nextPolicy, options) {
-        super(nextPolicy, options);
+      get copyStatusDescription() {
+        return this.originalResponse.copyStatusDescription;
       }
       /**
-       * Sends out request.
+       * When a blob is leased,
+       * specifies whether the lease is of infinite or fixed duration. Possible
+       * values include: 'infinite', 'fixed'.
        *
-       * @param request -
+       * @readonly
        */
-      async sendRequest(request2) {
-        if (core_util_1.isNodeLike) {
-          return this._nextPolicy.sendRequest(request2);
-        }
-        if (request2.method.toUpperCase() === "GET" || request2.method.toUpperCase() === "HEAD") {
-          request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.FORCE_BROWSER_NO_CACHE, (/* @__PURE__ */ new Date()).getTime().toString());
-        }
-        request2.headers.remove(constants_js_1.HeaderConstants.COOKIE);
-        request2.headers.remove(constants_js_1.HeaderConstants.CONTENT_LENGTH);
-        return this._nextPolicy.sendRequest(request2);
+      get leaseDuration() {
+        return this.originalResponse.leaseDuration;
       }
-    };
-    exports2.StorageBrowserPolicy = StorageBrowserPolicy;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/StorageBrowserPolicyFactory.js
-var require_StorageBrowserPolicyFactory = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/StorageBrowserPolicyFactory.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageBrowserPolicyFactory = exports2.StorageBrowserPolicy = void 0;
-    var StorageBrowserPolicy_js_1 = require_StorageBrowserPolicy();
-    Object.defineProperty(exports2, "StorageBrowserPolicy", { enumerable: true, get: function() {
-      return StorageBrowserPolicy_js_1.StorageBrowserPolicy;
-    } });
-    var StorageBrowserPolicyFactory = class {
       /**
-       * Creates a StorageBrowserPolicyFactory object.
+       * Lease state of the blob. Possible
+       * values include: 'available', 'leased', 'expired', 'breaking', 'broken'.
        *
-       * @param nextPolicy -
-       * @param options -
+       * @readonly
        */
-      create(nextPolicy, options) {
-        return new StorageBrowserPolicy_js_1.StorageBrowserPolicy(nextPolicy, options);
+      get leaseState() {
+        return this.originalResponse.leaseState;
       }
-    };
-    exports2.StorageBrowserPolicyFactory = StorageBrowserPolicyFactory;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/policies/CredentialPolicy.js
-var require_CredentialPolicy2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/CredentialPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.CredentialPolicy = void 0;
-    var RequestPolicy_js_1 = require_RequestPolicy2();
-    var CredentialPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
       /**
-       * Sends out request.
+       * The current lease status of the
+       * blob. Possible values include: 'locked', 'unlocked'.
        *
-       * @param request -
+       * @readonly
        */
-      sendRequest(request2) {
-        return this._nextPolicy.sendRequest(this.signRequest(request2));
+      get leaseStatus() {
+        return this.originalResponse.leaseStatus;
       }
       /**
-       * Child classes must implement this method with request signing. This method
-       * will be executed in {@link sendRequest}.
+       * A UTC date/time value generated by the service that
+       * indicates the time at which the response was initiated.
        *
-       * @param request -
+       * @readonly
+       */
+      get date() {
+        return this.originalResponse.date;
+      }
+      /**
+       * The number of committed blocks
+       * present in the blob. This header is returned only for append blobs.
+       *
+       * @readonly
+       */
+      get blobCommittedBlockCount() {
+        return this.originalResponse.blobCommittedBlockCount;
+      }
+      /**
+       * The ETag contains a value that you can use to
+       * perform operations conditionally, in quotes.
+       *
+       * @readonly
        */
-      signRequest(request2) {
-        return request2;
+      get etag() {
+        return this.originalResponse.etag;
       }
-    };
-    exports2.CredentialPolicy = CredentialPolicy;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/policies/AnonymousCredentialPolicy.js
-var require_AnonymousCredentialPolicy2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/AnonymousCredentialPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AnonymousCredentialPolicy = void 0;
-    var CredentialPolicy_js_1 = require_CredentialPolicy2();
-    var AnonymousCredentialPolicy = class extends CredentialPolicy_js_1.CredentialPolicy {
       /**
-       * Creates an instance of AnonymousCredentialPolicy.
-       * @param nextPolicy -
-       * @param options -
+       * The number of tags associated with the blob
+       *
+       * @readonly
        */
-      // The base class has a protected constructor. Adding a public one to enable constructing of this class.
-      /* eslint-disable-next-line @typescript-eslint/no-useless-constructor*/
-      constructor(nextPolicy, options) {
-        super(nextPolicy, options);
+      get tagCount() {
+        return this.originalResponse.tagCount;
       }
-    };
-    exports2.AnonymousCredentialPolicy = AnonymousCredentialPolicy;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/credentials/Credential.js
-var require_Credential2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/credentials/Credential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Credential = void 0;
-    var Credential = class {
       /**
-       * Creates a RequestPolicy object.
+       * The error code.
        *
-       * @param _nextPolicy -
-       * @param _options -
+       * @readonly
        */
-      create(_nextPolicy, _options) {
-        throw new Error("Method should be implemented in children classes.");
+      get errorCode() {
+        return this.originalResponse.errorCode;
       }
-    };
-    exports2.Credential = Credential;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/credentials/AnonymousCredential.js
-var require_AnonymousCredential2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/credentials/AnonymousCredential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AnonymousCredential = void 0;
-    var AnonymousCredentialPolicy_js_1 = require_AnonymousCredentialPolicy2();
-    var Credential_js_1 = require_Credential2();
-    var AnonymousCredential = class extends Credential_js_1.Credential {
       /**
-       * Creates an {@link AnonymousCredentialPolicy} object.
+       * The value of this header is set to
+       * true if the file data and application metadata are completely encrypted
+       * using the specified algorithm. Otherwise, the value is set to false (when
+       * the file is unencrypted, or if only parts of the file/application metadata
+       * are encrypted).
        *
-       * @param nextPolicy -
-       * @param options -
+       * @readonly
        */
-      create(nextPolicy, options) {
-        return new AnonymousCredentialPolicy_js_1.AnonymousCredentialPolicy(nextPolicy, options);
+      get isServerEncrypted() {
+        return this.originalResponse.isServerEncrypted;
       }
-    };
-    exports2.AnonymousCredential = AnonymousCredential;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/utils/SharedKeyComparator.js
-var require_SharedKeyComparator2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/utils/SharedKeyComparator.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.compareHeader = compareHeader;
-    var table_lv0 = new Uint32Array([
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1820,
-      0,
-      1823,
-      1825,
-      1827,
-      1829,
-      0,
-      0,
-      0,
-      1837,
-      2051,
-      0,
-      0,
-      1843,
-      0,
-      3331,
-      3354,
-      3356,
-      3358,
-      3360,
-      3362,
-      3364,
-      3366,
-      3368,
-      3370,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      3586,
-      3593,
-      3594,
-      3610,
-      3617,
-      3619,
-      3621,
-      3628,
-      3634,
-      3637,
-      3638,
-      3656,
-      3665,
-      3696,
-      3708,
-      3710,
-      3721,
-      3722,
-      3729,
-      3737,
-      3743,
-      3746,
-      3748,
-      3750,
-      3751,
-      3753,
-      0,
-      0,
-      0,
-      1859,
-      1860,
-      1864,
-      3586,
-      3593,
-      3594,
-      3610,
-      3617,
-      3619,
-      3621,
-      3628,
-      3634,
-      3637,
-      3638,
-      3656,
-      3665,
-      3696,
-      3708,
-      3710,
-      3721,
-      3722,
-      3729,
-      3737,
-      3743,
-      3746,
-      3748,
-      3750,
-      3751,
-      3753,
-      0,
-      1868,
-      0,
-      1872,
-      0
-    ]);
-    var table_lv2 = new Uint32Array([
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0
-    ]);
-    var table_lv4 = new Uint32Array([
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      32786,
-      0,
-      0,
-      0,
-      0,
-      0,
-      33298,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0
-    ]);
-    function compareHeader(lhs, rhs) {
-      if (isLessThan(lhs, rhs))
-        return -1;
-      return 1;
-    }
-    function isLessThan(lhs, rhs) {
-      const tables = [table_lv0, table_lv2, table_lv4];
-      let curr_level = 0;
-      let i = 0;
-      let j = 0;
-      while (curr_level < tables.length) {
-        if (curr_level === tables.length - 1 && i !== j) {
-          return i > j;
-        }
-        const weight1 = i < lhs.length ? tables[curr_level][lhs[i].charCodeAt(0)] : 1;
-        const weight2 = j < rhs.length ? tables[curr_level][rhs[j].charCodeAt(0)] : 1;
-        if (weight1 === 1 && weight2 === 1) {
-          i = 0;
-          j = 0;
-          ++curr_level;
-        } else if (weight1 === weight2) {
-          ++i;
-          ++j;
-        } else if (weight1 === 0) {
-          ++i;
-        } else if (weight2 === 0) {
-          ++j;
-        } else {
-          return weight1 < weight2;
-        }
+      /**
+       * If the blob has a MD5 hash, and if
+       * request contains range header (Range or x-ms-range), this response header
+       * is returned with the value of the whole blob's MD5 value. This value may
+       * or may not be equal to the value returned in Content-MD5 header, with the
+       * latter calculated from the requested range.
+       *
+       * @readonly
+       */
+      get blobContentMD5() {
+        return this.originalResponse.blobContentMD5;
       }
-      return false;
-    }
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/policies/StorageSharedKeyCredentialPolicy.js
-var require_StorageSharedKeyCredentialPolicy2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageSharedKeyCredentialPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageSharedKeyCredentialPolicy = void 0;
-    var constants_js_1 = require_constants15();
-    var utils_common_js_1 = require_utils_common2();
-    var CredentialPolicy_js_1 = require_CredentialPolicy2();
-    var SharedKeyComparator_js_1 = require_SharedKeyComparator2();
-    var StorageSharedKeyCredentialPolicy = class extends CredentialPolicy_js_1.CredentialPolicy {
       /**
-       * Reference to StorageSharedKeyCredential which generates StorageSharedKeyCredentialPolicy
+       * Returns the date and time the file was last
+       * modified. Any operation that modifies the file or its properties updates
+       * the last modified time.
+       *
+       * @readonly
        */
-      factory;
+      get lastModified() {
+        return this.originalResponse.lastModified;
+      }
       /**
-       * Creates an instance of StorageSharedKeyCredentialPolicy.
-       * @param nextPolicy -
-       * @param options -
-       * @param factory -
+       * Returns the UTC date and time generated by the service that indicates the time at which the blob was
+       * last read or written to.
+       *
+       * @readonly
        */
-      constructor(nextPolicy, options, factory) {
-        super(nextPolicy, options);
-        this.factory = factory;
+      get lastAccessed() {
+        return this.originalResponse.lastAccessed;
       }
       /**
-       * Signs request.
+       * Returns the date and time the blob was created.
        *
-       * @param request -
+       * @readonly
        */
-      signRequest(request2) {
-        request2.headers.set(constants_js_1.HeaderConstants.X_MS_DATE, (/* @__PURE__ */ new Date()).toUTCString());
-        if (request2.body && (typeof request2.body === "string" || request2.body !== void 0) && request2.body.length > 0) {
-          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
-        }
-        const stringToSign = [
-          request2.method.toUpperCase(),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LANGUAGE),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_ENCODING),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LENGTH),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_MD5),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_TYPE),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.DATE),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MODIFIED_SINCE),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MATCH),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_NONE_MATCH),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_UNMODIFIED_SINCE),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.RANGE)
-        ].join("\n") + "\n" + this.getCanonicalizedHeadersString(request2) + this.getCanonicalizedResourceString(request2);
-        const signature = this.factory.computeHMACSHA256(stringToSign);
-        request2.headers.set(constants_js_1.HeaderConstants.AUTHORIZATION, `SharedKey ${this.factory.accountName}:${signature}`);
-        return request2;
+      get createdOn() {
+        return this.originalResponse.createdOn;
       }
       /**
-       * Retrieve header value according to shared key sign rules.
-       * @see https://learn.microsoft.com/en-us/rest/api/storageservices/authenticate-with-shared-key
+       * A name-value pair
+       * to associate with a file storage object.
        *
-       * @param request -
-       * @param headerName -
+       * @readonly
        */
-      getHeaderValueToSign(request2, headerName) {
-        const value = request2.headers.get(headerName);
-        if (!value) {
-          return "";
-        }
-        if (headerName === constants_js_1.HeaderConstants.CONTENT_LENGTH && value === "0") {
-          return "";
-        }
-        return value;
+      get metadata() {
+        return this.originalResponse.metadata;
       }
       /**
-       * To construct the CanonicalizedHeaders portion of the signature string, follow these steps:
-       * 1. Retrieve all headers for the resource that begin with x-ms-, including the x-ms-date header.
-       * 2. Convert each HTTP header name to lowercase.
-       * 3. Sort the headers lexicographically by header name, in ascending order.
-       *    Each header may appear only once in the string.
-       * 4. Replace any linear whitespace in the header value with a single space.
-       * 5. Trim any whitespace around the colon in the header.
-       * 6. Finally, append a new-line character to each canonicalized header in the resulting list.
-       *    Construct the CanonicalizedHeaders string by concatenating all headers in this list into a single string.
+       * This header uniquely identifies the request
+       * that was made and can be used for troubleshooting the request.
        *
-       * @param request -
+       * @readonly
        */
-      getCanonicalizedHeadersString(request2) {
-        let headersArray = request2.headers.headersArray().filter((value) => {
-          return value.name.toLowerCase().startsWith(constants_js_1.HeaderConstants.PREFIX_FOR_STORAGE);
-        });
-        headersArray.sort((a, b) => {
-          return (0, SharedKeyComparator_js_1.compareHeader)(a.name.toLowerCase(), b.name.toLowerCase());
-        });
-        headersArray = headersArray.filter((value, index, array) => {
-          if (index > 0 && value.name.toLowerCase() === array[index - 1].name.toLowerCase()) {
-            return false;
-          }
-          return true;
-        });
-        let canonicalizedHeadersStringToSign = "";
-        headersArray.forEach((header) => {
-          canonicalizedHeadersStringToSign += `${header.name.toLowerCase().trimRight()}:${header.value.trimLeft()}
-`;
-        });
-        return canonicalizedHeadersStringToSign;
+      get requestId() {
+        return this.originalResponse.requestId;
       }
       /**
-       * Retrieves the webResource canonicalized resource string.
+       * If a client request id header is sent in the request, this header will be present in the
+       * response with the same value.
        *
-       * @param request -
+       * @readonly
        */
-      getCanonicalizedResourceString(request2) {
-        const path3 = (0, utils_common_js_1.getURLPath)(request2.url) || "/";
-        let canonicalizedResourceString = "";
-        canonicalizedResourceString += `/${this.factory.accountName}${path3}`;
-        const queries = (0, utils_common_js_1.getURLQueries)(request2.url);
-        const lowercaseQueries = {};
-        if (queries) {
-          const queryKeys = [];
-          for (const key in queries) {
-            if (Object.prototype.hasOwnProperty.call(queries, key)) {
-              const lowercaseKey = key.toLowerCase();
-              lowercaseQueries[lowercaseKey] = queries[key];
-              queryKeys.push(lowercaseKey);
-            }
-          }
-          queryKeys.sort();
-          for (const key of queryKeys) {
-            canonicalizedResourceString += `
-${key}:${decodeURIComponent(lowercaseQueries[key])}`;
-          }
-        }
-        return canonicalizedResourceString;
+      get clientRequestId() {
+        return this.originalResponse.clientRequestId;
       }
-    };
-    exports2.StorageSharedKeyCredentialPolicy = StorageSharedKeyCredentialPolicy;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/credentials/StorageSharedKeyCredential.js
-var require_StorageSharedKeyCredential2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/credentials/StorageSharedKeyCredential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageSharedKeyCredential = void 0;
-    var node_crypto_1 = require("node:crypto");
-    var StorageSharedKeyCredentialPolicy_js_1 = require_StorageSharedKeyCredentialPolicy2();
-    var Credential_js_1 = require_Credential2();
-    var StorageSharedKeyCredential = class extends Credential_js_1.Credential {
       /**
-       * Azure Storage account name; readonly.
+       * Indicates the version of the Blob service used
+       * to execute the request.
+       *
+       * @readonly
        */
-      accountName;
+      get version() {
+        return this.originalResponse.version;
+      }
       /**
-       * Azure Storage account key; readonly.
+       * Indicates the versionId of the downloaded blob version.
+       *
+       * @readonly
        */
-      accountKey;
+      get versionId() {
+        return this.originalResponse.versionId;
+      }
       /**
-       * Creates an instance of StorageSharedKeyCredential.
-       * @param accountName -
-       * @param accountKey -
+       * Indicates whether version of this blob is a current version.
+       *
+       * @readonly
        */
-      constructor(accountName, accountKey) {
-        super();
-        this.accountName = accountName;
-        this.accountKey = Buffer.from(accountKey, "base64");
+      get isCurrentVersion() {
+        return this.originalResponse.isCurrentVersion;
       }
       /**
-       * Creates a StorageSharedKeyCredentialPolicy object.
+       * The SHA-256 hash of the encryption key used to encrypt the blob. This value is only returned
+       * when the blob was encrypted with a customer-provided key.
        *
-       * @param nextPolicy -
-       * @param options -
+       * @readonly
        */
-      create(nextPolicy, options) {
-        return new StorageSharedKeyCredentialPolicy_js_1.StorageSharedKeyCredentialPolicy(nextPolicy, options, this);
+      get encryptionKeySha256() {
+        return this.originalResponse.encryptionKeySha256;
       }
       /**
-       * Generates a hash signature for an HTTP request or for a SAS.
+       * If the request is to read a specified range and the x-ms-range-get-content-crc64 is set to
+       * true, then the request returns a crc64 for the range, as long as the range size is less than
+       * or equal to 4 MB. If both x-ms-range-get-content-crc64 & x-ms-range-get-content-md5 is
+       * specified in the same request, it will fail with 400(Bad Request)
+       */
+      get contentCrc64() {
+        return this.originalResponse.contentCrc64;
+      }
+      /**
+       * Object Replication Policy Id of the destination blob.
        *
-       * @param stringToSign -
+       * @readonly
        */
-      computeHMACSHA256(stringToSign) {
-        return (0, node_crypto_1.createHmac)("sha256", this.accountKey).update(stringToSign, "utf8").digest("base64");
+      get objectReplicationDestinationPolicyId() {
+        return this.originalResponse.objectReplicationDestinationPolicyId;
       }
-    };
-    exports2.StorageSharedKeyCredential = StorageSharedKeyCredential;
-  }
-});
-
-// node_modules/@azure/storage-common/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js
-var require_AbortError4 = __commonJS({
-  "node_modules/@azure/storage-common/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AbortError = void 0;
-    var AbortError = class extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "AbortError";
+      /**
+       * Parsed Object Replication Policy Id, Rule Id(s) and status of the source blob.
+       *
+       * @readonly
+       */
+      get objectReplicationSourceProperties() {
+        return this.originalResponse.objectReplicationSourceProperties;
       }
-    };
-    exports2.AbortError = AbortError;
-  }
-});
-
-// node_modules/@azure/storage-common/node_modules/@azure/abort-controller/dist/commonjs/index.js
-var require_commonjs14 = __commonJS({
-  "node_modules/@azure/storage-common/node_modules/@azure/abort-controller/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AbortError = void 0;
-    var AbortError_js_1 = require_AbortError4();
-    Object.defineProperty(exports2, "AbortError", { enumerable: true, get: function() {
-      return AbortError_js_1.AbortError;
-    } });
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/log.js
-var require_log6 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/log.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.logger = void 0;
-    var logger_1 = require_commonjs4();
-    exports2.logger = (0, logger_1.createClientLogger)("storage-common");
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicyType.js
-var require_StorageRetryPolicyType2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicyType.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageRetryPolicyType = void 0;
-    var StorageRetryPolicyType;
-    (function(StorageRetryPolicyType2) {
-      StorageRetryPolicyType2[StorageRetryPolicyType2["EXPONENTIAL"] = 0] = "EXPONENTIAL";
-      StorageRetryPolicyType2[StorageRetryPolicyType2["FIXED"] = 1] = "FIXED";
-    })(StorageRetryPolicyType || (exports2.StorageRetryPolicyType = StorageRetryPolicyType = {}));
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicy.js
-var require_StorageRetryPolicy2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageRetryPolicy = void 0;
-    exports2.NewRetryPolicyFactory = NewRetryPolicyFactory;
-    var abort_controller_1 = require_commonjs14();
-    var RequestPolicy_js_1 = require_RequestPolicy2();
-    var constants_js_1 = require_constants15();
-    var utils_common_js_1 = require_utils_common2();
-    var log_js_1 = require_log6();
-    var StorageRetryPolicyType_js_1 = require_StorageRetryPolicyType2();
-    function NewRetryPolicyFactory(retryOptions) {
-      return {
-        create: (nextPolicy, options) => {
-          return new StorageRetryPolicy(nextPolicy, options, retryOptions);
-        }
-      };
-    }
-    var DEFAULT_RETRY_OPTIONS = {
-      maxRetryDelayInMs: 120 * 1e3,
-      maxTries: 4,
-      retryDelayInMs: 4 * 1e3,
-      retryPolicyType: StorageRetryPolicyType_js_1.StorageRetryPolicyType.EXPONENTIAL,
-      secondaryHost: "",
-      tryTimeoutInMs: void 0
-      // Use server side default timeout strategy
-    };
-    var RETRY_ABORT_ERROR = new abort_controller_1.AbortError("The operation was aborted.");
-    var StorageRetryPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
       /**
-       * RetryOptions.
+       * If this blob has been sealed.
+       *
+       * @readonly
        */
-      retryOptions;
+      get isSealed() {
+        return this.originalResponse.isSealed;
+      }
       /**
-       * Creates an instance of RetryPolicy.
+       * UTC date/time value generated by the service that indicates the time at which the blob immutability policy will expire.
        *
-       * @param nextPolicy -
-       * @param options -
-       * @param retryOptions -
+       * @readonly
        */
-      constructor(nextPolicy, options, retryOptions = DEFAULT_RETRY_OPTIONS) {
-        super(nextPolicy, options);
-        this.retryOptions = {
-          retryPolicyType: retryOptions.retryPolicyType ? retryOptions.retryPolicyType : DEFAULT_RETRY_OPTIONS.retryPolicyType,
-          maxTries: retryOptions.maxTries && retryOptions.maxTries >= 1 ? Math.floor(retryOptions.maxTries) : DEFAULT_RETRY_OPTIONS.maxTries,
-          tryTimeoutInMs: retryOptions.tryTimeoutInMs && retryOptions.tryTimeoutInMs >= 0 ? retryOptions.tryTimeoutInMs : DEFAULT_RETRY_OPTIONS.tryTimeoutInMs,
-          retryDelayInMs: retryOptions.retryDelayInMs && retryOptions.retryDelayInMs >= 0 ? Math.min(retryOptions.retryDelayInMs, retryOptions.maxRetryDelayInMs ? retryOptions.maxRetryDelayInMs : DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs) : DEFAULT_RETRY_OPTIONS.retryDelayInMs,
-          maxRetryDelayInMs: retryOptions.maxRetryDelayInMs && retryOptions.maxRetryDelayInMs >= 0 ? retryOptions.maxRetryDelayInMs : DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs,
-          secondaryHost: retryOptions.secondaryHost ? retryOptions.secondaryHost : DEFAULT_RETRY_OPTIONS.secondaryHost
-        };
+      get immutabilityPolicyExpiresOn() {
+        return this.originalResponse.immutabilityPolicyExpiresOn;
       }
       /**
-       * Sends request.
+       * Indicates immutability policy mode.
        *
-       * @param request -
+       * @readonly
        */
-      async sendRequest(request2) {
-        return this.attemptSendRequest(request2, false, 1);
+      get immutabilityPolicyMode() {
+        return this.originalResponse.immutabilityPolicyMode;
       }
       /**
-       * Decide and perform next retry. Won't mutate request parameter.
+       * Indicates if a legal hold is present on the blob.
        *
-       * @param request -
-       * @param secondaryHas404 -  If attempt was against the secondary & it returned a StatusNotFound (404), then
-       *                                   the resource was not found. This may be due to replication delay. So, in this
-       *                                   case, we'll never try the secondary again for this operation.
-       * @param attempt -           How many retries has been attempted to performed, starting from 1, which includes
-       *                                   the attempt will be performed by this method call.
+       * @readonly
        */
-      async attemptSendRequest(request2, secondaryHas404, attempt) {
-        const newRequest = request2.clone();
-        const isPrimaryRetry = secondaryHas404 || !this.retryOptions.secondaryHost || !(request2.method === "GET" || request2.method === "HEAD" || request2.method === "OPTIONS") || attempt % 2 === 1;
-        if (!isPrimaryRetry) {
-          newRequest.url = (0, utils_common_js_1.setURLHost)(newRequest.url, this.retryOptions.secondaryHost);
-        }
-        if (this.retryOptions.tryTimeoutInMs) {
-          newRequest.url = (0, utils_common_js_1.setURLParameter)(newRequest.url, constants_js_1.URLConstants.Parameters.TIMEOUT, Math.floor(this.retryOptions.tryTimeoutInMs / 1e3).toString());
-        }
-        let response;
-        try {
-          log_js_1.logger.info(`RetryPolicy: =====> Try=${attempt} ${isPrimaryRetry ? "Primary" : "Secondary"}`);
-          response = await this._nextPolicy.sendRequest(newRequest);
-          if (!this.shouldRetry(isPrimaryRetry, attempt, response)) {
-            return response;
-          }
-          secondaryHas404 = secondaryHas404 || !isPrimaryRetry && response.status === 404;
-        } catch (err) {
-          log_js_1.logger.error(`RetryPolicy: Caught error, message: ${err.message}, code: ${err.code}`);
-          if (!this.shouldRetry(isPrimaryRetry, attempt, response, err)) {
-            throw err;
-          }
-        }
-        await this.delay(isPrimaryRetry, attempt, request2.abortSignal);
-        return this.attemptSendRequest(request2, secondaryHas404, ++attempt);
+      get legalHold() {
+        return this.originalResponse.legalHold;
       }
       /**
-       * Decide whether to retry according to last HTTP response and retry counters.
+       * The response body as a browser Blob.
+       * Always undefined in node.js.
        *
-       * @param isPrimaryRetry -
-       * @param attempt -
-       * @param response -
-       * @param err -
+       * @readonly
        */
-      shouldRetry(isPrimaryRetry, attempt, response, err) {
-        if (attempt >= this.retryOptions.maxTries) {
-          log_js_1.logger.info(`RetryPolicy: Attempt(s) ${attempt} >= maxTries ${this.retryOptions.maxTries}, no further try.`);
-          return false;
-        }
-        const retriableErrors = [
-          "ETIMEDOUT",
-          "ESOCKETTIMEDOUT",
-          "ECONNREFUSED",
-          "ECONNRESET",
-          "ENOENT",
-          "ENOTFOUND",
-          "TIMEOUT",
-          "EPIPE",
-          "REQUEST_SEND_ERROR"
-          // For default xhr based http client provided in ms-rest-js
-        ];
-        if (err) {
-          for (const retriableError of retriableErrors) {
-            if (err.name.toUpperCase().includes(retriableError) || err.message.toUpperCase().includes(retriableError) || err.code && err.code.toString().toUpperCase() === retriableError) {
-              log_js_1.logger.info(`RetryPolicy: Network error ${retriableError} found, will retry.`);
-              return true;
-            }
-          }
-        }
-        if (response || err) {
-          const statusCode = response ? response.status : err ? err.statusCode : 0;
-          if (!isPrimaryRetry && statusCode === 404) {
-            log_js_1.logger.info(`RetryPolicy: Secondary access with 404, will retry.`);
-            return true;
-          }
-          if (statusCode === 503 || statusCode === 500) {
-            log_js_1.logger.info(`RetryPolicy: Will retry for status code ${statusCode}.`);
-            return true;
-          }
-        }
-        if (response) {
-          if (response?.status >= 400) {
-            const copySourceError = response.headers.get(constants_js_1.HeaderConstants.X_MS_CopySourceErrorCode);
-            if (copySourceError !== void 0) {
-              switch (copySourceError) {
-                case "InternalError":
-                case "OperationTimedOut":
-                case "ServerBusy":
-                  return true;
-              }
-            }
-          }
-        }
-        if (err?.code === "PARSE_ERROR" && err?.message.startsWith(`Error "Error: Unclosed root tag`)) {
-          log_js_1.logger.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry.");
-          return true;
-        }
-        return false;
+      get contentAsBlob() {
+        return this.originalResponse.blobBody;
       }
       /**
-       * Delay a calculated time between retries.
+       * The response body as a node.js Readable stream.
+       * Always undefined in the browser.
        *
-       * @param isPrimaryRetry -
-       * @param attempt -
-       * @param abortSignal -
+       * It will automatically retry when internal read stream unexpected ends.
+       *
+       * @readonly
        */
-      async delay(isPrimaryRetry, attempt, abortSignal) {
-        let delayTimeInMs = 0;
-        if (isPrimaryRetry) {
-          switch (this.retryOptions.retryPolicyType) {
-            case StorageRetryPolicyType_js_1.StorageRetryPolicyType.EXPONENTIAL:
-              delayTimeInMs = Math.min((Math.pow(2, attempt - 1) - 1) * this.retryOptions.retryDelayInMs, this.retryOptions.maxRetryDelayInMs);
-              break;
-            case StorageRetryPolicyType_js_1.StorageRetryPolicyType.FIXED:
-              delayTimeInMs = this.retryOptions.retryDelayInMs;
-              break;
-          }
-        } else {
-          delayTimeInMs = Math.random() * 1e3;
-        }
-        log_js_1.logger.info(`RetryPolicy: Delay for ${delayTimeInMs}ms`);
-        return (0, utils_common_js_1.delay)(delayTimeInMs, abortSignal, RETRY_ABORT_ERROR);
+      get readableStreamBody() {
+        return core_util_1.isNodeLike ? this.blobDownloadStream : void 0;
       }
-    };
-    exports2.StorageRetryPolicy = StorageRetryPolicy;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/StorageRetryPolicyFactory.js
-var require_StorageRetryPolicyFactory2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/StorageRetryPolicyFactory.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageRetryPolicyFactory = exports2.StorageRetryPolicy = exports2.StorageRetryPolicyType = void 0;
-    var StorageRetryPolicy_js_1 = require_StorageRetryPolicy2();
-    Object.defineProperty(exports2, "StorageRetryPolicy", { enumerable: true, get: function() {
-      return StorageRetryPolicy_js_1.StorageRetryPolicy;
-    } });
-    var StorageRetryPolicyType_js_1 = require_StorageRetryPolicyType2();
-    Object.defineProperty(exports2, "StorageRetryPolicyType", { enumerable: true, get: function() {
-      return StorageRetryPolicyType_js_1.StorageRetryPolicyType;
-    } });
-    var StorageRetryPolicyFactory = class {
-      retryOptions;
       /**
-       * Creates an instance of StorageRetryPolicyFactory.
-       * @param retryOptions -
+       * The HTTP response.
        */
-      constructor(retryOptions) {
-        this.retryOptions = retryOptions;
+      get _response() {
+        return this.originalResponse._response;
       }
+      originalResponse;
+      blobDownloadStream;
       /**
-       * Creates a StorageRetryPolicy object.
+       * Creates an instance of BlobDownloadResponse.
        *
-       * @param nextPolicy -
+       * @param originalResponse -
+       * @param getter -
+       * @param offset -
+       * @param count -
        * @param options -
        */
-      create(nextPolicy, options) {
-        return new StorageRetryPolicy_js_1.StorageRetryPolicy(nextPolicy, options, this.retryOptions);
+      constructor(originalResponse, getter, offset, count, options = {}) {
+        this.originalResponse = originalResponse;
+        this.blobDownloadStream = new RetriableReadableStream_js_1.RetriableReadableStream(this.originalResponse.readableStreamBody, getter, offset, count, options);
       }
     };
-    exports2.StorageRetryPolicyFactory = StorageRetryPolicyFactory;
+    exports2.BlobDownloadResponse = BlobDownloadResponse;
   }
 });
 
-// node_modules/@azure/storage-common/dist/commonjs/policies/StorageBrowserPolicyV2.js
-var require_StorageBrowserPolicyV2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageBrowserPolicyV2.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroConstants.js
+var require_AvroConstants = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroConstants.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.storageBrowserPolicyName = void 0;
-    exports2.storageBrowserPolicy = storageBrowserPolicy;
-    var core_util_1 = require_commonjs6();
-    var constants_js_1 = require_constants15();
-    var utils_common_js_1 = require_utils_common2();
-    exports2.storageBrowserPolicyName = "storageBrowserPolicy";
-    function storageBrowserPolicy() {
-      return {
-        name: exports2.storageBrowserPolicyName,
-        async sendRequest(request2, next) {
-          if (core_util_1.isNodeLike) {
-            return next(request2);
-          }
-          if (request2.method === "GET" || request2.method === "HEAD") {
-            request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.FORCE_BROWSER_NO_CACHE, (/* @__PURE__ */ new Date()).getTime().toString());
-          }
-          request2.headers.delete(constants_js_1.HeaderConstants.COOKIE);
-          request2.headers.delete(constants_js_1.HeaderConstants.CONTENT_LENGTH);
-          return next(request2);
-        }
-      };
-    }
+    exports2.AVRO_SCHEMA_KEY = exports2.AVRO_CODEC_KEY = exports2.AVRO_INIT_BYTES = exports2.AVRO_SYNC_MARKER_SIZE = void 0;
+    exports2.AVRO_SYNC_MARKER_SIZE = 16;
+    exports2.AVRO_INIT_BYTES = new Uint8Array([79, 98, 106, 1]);
+    exports2.AVRO_CODEC_KEY = "avro.codec";
+    exports2.AVRO_SCHEMA_KEY = "avro.schema";
   }
 });
 
-// node_modules/@azure/storage-common/dist/commonjs/policies/StorageCorrectContentLengthPolicy.js
-var require_StorageCorrectContentLengthPolicy = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageCorrectContentLengthPolicy.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroParser.js
+var require_AvroParser = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroParser.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.storageCorrectContentLengthPolicyName = void 0;
-    exports2.storageCorrectContentLengthPolicy = storageCorrectContentLengthPolicy;
-    var constants_js_1 = require_constants15();
-    exports2.storageCorrectContentLengthPolicyName = "StorageCorrectContentLengthPolicy";
-    function storageCorrectContentLengthPolicy() {
-      function correctContentLength(request2) {
-        if (request2.body && (typeof request2.body === "string" || Buffer.isBuffer(request2.body)) && request2.body.length > 0) {
-          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
+    exports2.AvroType = exports2.AvroParser = void 0;
+    var AvroParser = class _AvroParser {
+      /**
+       * Reads a fixed number of bytes from the stream.
+       *
+       * @param stream -
+       * @param length -
+       * @param options -
+       */
+      static async readFixedBytes(stream, length, options = {}) {
+        const bytes = await stream.read(length, { abortSignal: options.abortSignal });
+        if (bytes.length !== length) {
+          throw new Error("Hit stream end.");
         }
+        return bytes;
       }
-      return {
-        name: exports2.storageCorrectContentLengthPolicyName,
-        async sendRequest(request2, next) {
-          correctContentLength(request2);
-          return next(request2);
+      /**
+       * Reads a single byte from the stream.
+       *
+       * @param stream -
+       * @param options -
+       */
+      static async readByte(stream, options = {}) {
+        const buf = await _AvroParser.readFixedBytes(stream, 1, options);
+        return buf[0];
+      }
+      // int and long are stored in variable-length zig-zag coding.
+      // variable-length: https://lucene.apache.org/core/3_5_0/fileformats.html#VInt
+      // zig-zag: https://developers.google.com/protocol-buffers/docs/encoding?csw=1#types
+      static async readZigZagLong(stream, options = {}) {
+        let zigZagEncoded = 0;
+        let significanceInBit = 0;
+        let byte, haveMoreByte, significanceInFloat;
+        do {
+          byte = await _AvroParser.readByte(stream, options);
+          haveMoreByte = byte & 128;
+          zigZagEncoded |= (byte & 127) << significanceInBit;
+          significanceInBit += 7;
+        } while (haveMoreByte && significanceInBit < 28);
+        if (haveMoreByte) {
+          zigZagEncoded = zigZagEncoded;
+          significanceInFloat = 268435456;
+          do {
+            byte = await _AvroParser.readByte(stream, options);
+            zigZagEncoded += (byte & 127) * significanceInFloat;
+            significanceInFloat *= 128;
+          } while (byte & 128);
+          const res = (zigZagEncoded % 2 ? -(zigZagEncoded + 1) : zigZagEncoded) / 2;
+          if (res < Number.MIN_SAFE_INTEGER || res > Number.MAX_SAFE_INTEGER) {
+            throw new Error("Integer overflow.");
+          }
+          return res;
         }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicyV2.js
-var require_StorageRetryPolicyV2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicyV2.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.storageRetryPolicyName = void 0;
-    exports2.storageRetryPolicy = storageRetryPolicy;
-    var abort_controller_1 = require_commonjs14();
-    var core_rest_pipeline_1 = require_commonjs8();
-    var core_util_1 = require_commonjs6();
-    var StorageRetryPolicyFactory_js_1 = require_StorageRetryPolicyFactory2();
-    var constants_js_1 = require_constants15();
-    var utils_common_js_1 = require_utils_common2();
-    var log_js_1 = require_log6();
-    exports2.storageRetryPolicyName = "storageRetryPolicy";
-    var DEFAULT_RETRY_OPTIONS = {
-      maxRetryDelayInMs: 120 * 1e3,
-      maxTries: 4,
-      retryDelayInMs: 4 * 1e3,
-      retryPolicyType: StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.EXPONENTIAL,
-      secondaryHost: "",
-      tryTimeoutInMs: void 0
-      // Use server side default timeout strategy
-    };
-    var retriableErrors = [
-      "ETIMEDOUT",
-      "ESOCKETTIMEDOUT",
-      "ECONNREFUSED",
-      "ECONNRESET",
-      "ENOENT",
-      "ENOTFOUND",
-      "TIMEOUT",
-      "EPIPE",
-      "REQUEST_SEND_ERROR"
-    ];
-    var RETRY_ABORT_ERROR = new abort_controller_1.AbortError("The operation was aborted.");
-    function storageRetryPolicy(options = {}) {
-      const retryPolicyType = options.retryPolicyType ?? DEFAULT_RETRY_OPTIONS.retryPolicyType;
-      const maxTries = options.maxTries ?? DEFAULT_RETRY_OPTIONS.maxTries;
-      const retryDelayInMs = options.retryDelayInMs ?? DEFAULT_RETRY_OPTIONS.retryDelayInMs;
-      const maxRetryDelayInMs = options.maxRetryDelayInMs ?? DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs;
-      const secondaryHost = options.secondaryHost ?? DEFAULT_RETRY_OPTIONS.secondaryHost;
-      const tryTimeoutInMs = options.tryTimeoutInMs ?? DEFAULT_RETRY_OPTIONS.tryTimeoutInMs;
-      function shouldRetry({ isPrimaryRetry, attempt, response, error: error3 }) {
-        if (attempt >= maxTries) {
-          log_js_1.logger.info(`RetryPolicy: Attempt(s) ${attempt} >= maxTries ${maxTries}, no further try.`);
+        return zigZagEncoded >> 1 ^ -(zigZagEncoded & 1);
+      }
+      static async readLong(stream, options = {}) {
+        return _AvroParser.readZigZagLong(stream, options);
+      }
+      static async readInt(stream, options = {}) {
+        return _AvroParser.readZigZagLong(stream, options);
+      }
+      static async readNull() {
+        return null;
+      }
+      static async readBoolean(stream, options = {}) {
+        const b = await _AvroParser.readByte(stream, options);
+        if (b === 1) {
+          return true;
+        } else if (b === 0) {
           return false;
+        } else {
+          throw new Error("Byte was not a boolean.");
         }
-        if (error3) {
-          for (const retriableError of retriableErrors) {
-            if (error3.name.toUpperCase().includes(retriableError) || error3.message.toUpperCase().includes(retriableError) || error3.code && error3.code.toString().toUpperCase() === retriableError) {
-              log_js_1.logger.info(`RetryPolicy: Network error ${retriableError} found, will retry.`);
-              return true;
-            }
-          }
-          if (error3?.code === "PARSE_ERROR" && error3?.message.startsWith(`Error "Error: Unclosed root tag`)) {
-            log_js_1.logger.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry.");
-            return true;
-          }
+      }
+      static async readFloat(stream, options = {}) {
+        const u8arr = await _AvroParser.readFixedBytes(stream, 4, options);
+        const view = new DataView(u8arr.buffer, u8arr.byteOffset, u8arr.byteLength);
+        return view.getFloat32(0, true);
+      }
+      static async readDouble(stream, options = {}) {
+        const u8arr = await _AvroParser.readFixedBytes(stream, 8, options);
+        const view = new DataView(u8arr.buffer, u8arr.byteOffset, u8arr.byteLength);
+        return view.getFloat64(0, true);
+      }
+      static async readBytes(stream, options = {}) {
+        const size = await _AvroParser.readLong(stream, options);
+        if (size < 0) {
+          throw new Error("Bytes size was negative.");
         }
-        if (response || error3) {
-          const statusCode = response?.status ?? error3?.statusCode ?? 0;
-          if (!isPrimaryRetry && statusCode === 404) {
-            log_js_1.logger.info(`RetryPolicy: Secondary access with 404, will retry.`);
-            return true;
-          }
-          if (statusCode === 503 || statusCode === 500) {
-            log_js_1.logger.info(`RetryPolicy: Will retry for status code ${statusCode}.`);
-            return true;
-          }
+        return stream.read(size, { abortSignal: options.abortSignal });
+      }
+      static async readString(stream, options = {}) {
+        const u8arr = await _AvroParser.readBytes(stream, options);
+        const utf8decoder = new TextDecoder();
+        return utf8decoder.decode(u8arr);
+      }
+      static async readMapPair(stream, readItemMethod, options = {}) {
+        const key = await _AvroParser.readString(stream, options);
+        const value = await readItemMethod(stream, options);
+        return { key, value };
+      }
+      static async readMap(stream, readItemMethod, options = {}) {
+        const readPairMethod = (s, opts = {}) => {
+          return _AvroParser.readMapPair(s, readItemMethod, opts);
+        };
+        const pairs2 = await _AvroParser.readArray(stream, readPairMethod, options);
+        const dict = {};
+        for (const pair of pairs2) {
+          dict[pair.key] = pair.value;
         }
-        if (response) {
-          if (response?.status >= 400) {
-            const copySourceError = response.headers.get(constants_js_1.HeaderConstants.X_MS_CopySourceErrorCode);
-            if (copySourceError !== void 0) {
-              switch (copySourceError) {
-                case "InternalError":
-                case "OperationTimedOut":
-                case "ServerBusy":
-                  return true;
-              }
-            }
+        return dict;
+      }
+      static async readArray(stream, readItemMethod, options = {}) {
+        const items = [];
+        for (let count = await _AvroParser.readLong(stream, options); count !== 0; count = await _AvroParser.readLong(stream, options)) {
+          if (count < 0) {
+            await _AvroParser.readLong(stream, options);
+            count = -count;
+          }
+          while (count--) {
+            const item = await readItemMethod(stream, options);
+            items.push(item);
           }
         }
-        return false;
+        return items;
       }
-      function calculateDelay(isPrimaryRetry, attempt) {
-        let delayTimeInMs = 0;
-        if (isPrimaryRetry) {
-          switch (retryPolicyType) {
-            case StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.EXPONENTIAL:
-              delayTimeInMs = Math.min((Math.pow(2, attempt - 1) - 1) * retryDelayInMs, maxRetryDelayInMs);
-              break;
-            case StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.FIXED:
-              delayTimeInMs = retryDelayInMs;
-              break;
-          }
+    };
+    exports2.AvroParser = AvroParser;
+    var AvroComplex;
+    (function(AvroComplex2) {
+      AvroComplex2["RECORD"] = "record";
+      AvroComplex2["ENUM"] = "enum";
+      AvroComplex2["ARRAY"] = "array";
+      AvroComplex2["MAP"] = "map";
+      AvroComplex2["UNION"] = "union";
+      AvroComplex2["FIXED"] = "fixed";
+    })(AvroComplex || (AvroComplex = {}));
+    var AvroPrimitive;
+    (function(AvroPrimitive2) {
+      AvroPrimitive2["NULL"] = "null";
+      AvroPrimitive2["BOOLEAN"] = "boolean";
+      AvroPrimitive2["INT"] = "int";
+      AvroPrimitive2["LONG"] = "long";
+      AvroPrimitive2["FLOAT"] = "float";
+      AvroPrimitive2["DOUBLE"] = "double";
+      AvroPrimitive2["BYTES"] = "bytes";
+      AvroPrimitive2["STRING"] = "string";
+    })(AvroPrimitive || (AvroPrimitive = {}));
+    var AvroType = class _AvroType {
+      /**
+       * Determines the AvroType from the Avro Schema.
+       */
+      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
+      static fromSchema(schema2) {
+        if (typeof schema2 === "string") {
+          return _AvroType.fromStringSchema(schema2);
+        } else if (Array.isArray(schema2)) {
+          return _AvroType.fromArraySchema(schema2);
         } else {
-          delayTimeInMs = Math.random() * 1e3;
+          return _AvroType.fromObjectSchema(schema2);
         }
-        log_js_1.logger.info(`RetryPolicy: Delay for ${delayTimeInMs}ms`);
-        return delayTimeInMs;
       }
-      return {
-        name: exports2.storageRetryPolicyName,
-        async sendRequest(request2, next) {
-          if (tryTimeoutInMs) {
-            request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.TIMEOUT, String(Math.floor(tryTimeoutInMs / 1e3)));
-          }
-          const primaryUrl = request2.url;
-          const secondaryUrl = secondaryHost ? (0, utils_common_js_1.setURLHost)(request2.url, secondaryHost) : void 0;
-          let secondaryHas404 = false;
-          let attempt = 1;
-          let retryAgain = true;
-          let response;
-          let error3;
-          while (retryAgain) {
-            const isPrimaryRetry = secondaryHas404 || !secondaryUrl || !["GET", "HEAD", "OPTIONS"].includes(request2.method) || attempt % 2 === 1;
-            request2.url = isPrimaryRetry ? primaryUrl : secondaryUrl;
-            response = void 0;
-            error3 = void 0;
-            try {
-              log_js_1.logger.info(`RetryPolicy: =====> Try=${attempt} ${isPrimaryRetry ? "Primary" : "Secondary"}`);
-              response = await next(request2);
-              secondaryHas404 = secondaryHas404 || !isPrimaryRetry && response.status === 404;
-            } catch (e) {
-              if ((0, core_rest_pipeline_1.isRestError)(e)) {
-                log_js_1.logger.error(`RetryPolicy: Caught error, message: ${e.message}, code: ${e.code}`);
-                error3 = e;
-              } else {
-                log_js_1.logger.error(`RetryPolicy: Caught error, message: ${(0, core_util_1.getErrorMessage)(e)}`);
-                throw e;
-              }
+      static fromStringSchema(schema2) {
+        switch (schema2) {
+          case AvroPrimitive.NULL:
+          case AvroPrimitive.BOOLEAN:
+          case AvroPrimitive.INT:
+          case AvroPrimitive.LONG:
+          case AvroPrimitive.FLOAT:
+          case AvroPrimitive.DOUBLE:
+          case AvroPrimitive.BYTES:
+          case AvroPrimitive.STRING:
+            return new AvroPrimitiveType(schema2);
+          default:
+            throw new Error(`Unexpected Avro type ${schema2}`);
+        }
+      }
+      static fromArraySchema(schema2) {
+        return new AvroUnionType(schema2.map(_AvroType.fromSchema));
+      }
+      static fromObjectSchema(schema2) {
+        const type2 = schema2.type;
+        try {
+          return _AvroType.fromStringSchema(type2);
+        } catch {
+        }
+        switch (type2) {
+          case AvroComplex.RECORD:
+            if (schema2.aliases) {
+              throw new Error(`aliases currently is not supported, schema: ${schema2}`);
             }
-            retryAgain = shouldRetry({ isPrimaryRetry, attempt, response, error: error3 });
-            if (retryAgain) {
-              await (0, utils_common_js_1.delay)(calculateDelay(isPrimaryRetry, attempt), request2.abortSignal, RETRY_ABORT_ERROR);
+            if (!schema2.name) {
+              throw new Error(`Required attribute 'name' doesn't exist on schema: ${schema2}`);
             }
-            attempt++;
-          }
-          if (response) {
-            return response;
+            const fields = {};
+            if (!schema2.fields) {
+              throw new Error(`Required attribute 'fields' doesn't exist on schema: ${schema2}`);
+            }
+            for (const field of schema2.fields) {
+              fields[field.name] = _AvroType.fromSchema(field.type);
+            }
+            return new AvroRecordType(fields, schema2.name);
+          case AvroComplex.ENUM:
+            if (schema2.aliases) {
+              throw new Error(`aliases currently is not supported, schema: ${schema2}`);
+            }
+            if (!schema2.symbols) {
+              throw new Error(`Required attribute 'symbols' doesn't exist on schema: ${schema2}`);
+            }
+            return new AvroEnumType(schema2.symbols);
+          case AvroComplex.MAP:
+            if (!schema2.values) {
+              throw new Error(`Required attribute 'values' doesn't exist on schema: ${schema2}`);
+            }
+            return new AvroMapType(_AvroType.fromSchema(schema2.values));
+          case AvroComplex.ARRAY:
+          // Unused today
+          case AvroComplex.FIXED:
+          // Unused today
+          default:
+            throw new Error(`Unexpected Avro type ${type2} in ${schema2}`);
+        }
+      }
+    };
+    exports2.AvroType = AvroType;
+    var AvroPrimitiveType = class extends AvroType {
+      _primitive;
+      constructor(primitive) {
+        super();
+        this._primitive = primitive;
+      }
+      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
+      read(stream, options = {}) {
+        switch (this._primitive) {
+          case AvroPrimitive.NULL:
+            return AvroParser.readNull();
+          case AvroPrimitive.BOOLEAN:
+            return AvroParser.readBoolean(stream, options);
+          case AvroPrimitive.INT:
+            return AvroParser.readInt(stream, options);
+          case AvroPrimitive.LONG:
+            return AvroParser.readLong(stream, options);
+          case AvroPrimitive.FLOAT:
+            return AvroParser.readFloat(stream, options);
+          case AvroPrimitive.DOUBLE:
+            return AvroParser.readDouble(stream, options);
+          case AvroPrimitive.BYTES:
+            return AvroParser.readBytes(stream, options);
+          case AvroPrimitive.STRING:
+            return AvroParser.readString(stream, options);
+          default:
+            throw new Error("Unknown Avro Primitive");
+        }
+      }
+    };
+    var AvroEnumType = class extends AvroType {
+      _symbols;
+      constructor(symbols) {
+        super();
+        this._symbols = symbols;
+      }
+      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
+      async read(stream, options = {}) {
+        const value = await AvroParser.readInt(stream, options);
+        return this._symbols[value];
+      }
+    };
+    var AvroUnionType = class extends AvroType {
+      _types;
+      constructor(types) {
+        super();
+        this._types = types;
+      }
+      async read(stream, options = {}) {
+        const typeIndex = await AvroParser.readInt(stream, options);
+        return this._types[typeIndex].read(stream, options);
+      }
+    };
+    var AvroMapType = class extends AvroType {
+      _itemType;
+      constructor(itemType) {
+        super();
+        this._itemType = itemType;
+      }
+      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
+      read(stream, options = {}) {
+        const readItemMethod = (s, opts) => {
+          return this._itemType.read(s, opts);
+        };
+        return AvroParser.readMap(stream, readItemMethod, options);
+      }
+    };
+    var AvroRecordType = class extends AvroType {
+      _name;
+      _fields;
+      constructor(fields, name) {
+        super();
+        this._fields = fields;
+        this._name = name;
+      }
+      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
+      async read(stream, options = {}) {
+        const record = {};
+        record["$schema"] = this._name;
+        for (const key in this._fields) {
+          if (Object.prototype.hasOwnProperty.call(this._fields, key)) {
+            record[key] = await this._fields[key].read(stream, options);
           }
-          throw error3 ?? new core_rest_pipeline_1.RestError("RetryPolicy failed without known error.");
         }
-      };
+        return record;
+      }
+    };
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/utils/utils.common.js
+var require_utils_common3 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/utils/utils.common.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.arraysEqual = arraysEqual;
+    function arraysEqual(a, b) {
+      if (a === b)
+        return true;
+      if (a == null || b == null)
+        return false;
+      if (a.length !== b.length)
+        return false;
+      for (let i = 0; i < a.length; ++i) {
+        if (a[i] !== b[i])
+          return false;
+      }
+      return true;
     }
   }
 });
 
-// node_modules/@azure/storage-common/dist/commonjs/policies/StorageSharedKeyCredentialPolicyV2.js
-var require_StorageSharedKeyCredentialPolicyV2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageSharedKeyCredentialPolicyV2.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReader.js
+var require_AvroReader = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReader.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.storageSharedKeyCredentialPolicyName = void 0;
-    exports2.storageSharedKeyCredentialPolicy = storageSharedKeyCredentialPolicy;
-    var node_crypto_1 = require("node:crypto");
-    var constants_js_1 = require_constants15();
-    var utils_common_js_1 = require_utils_common2();
-    var SharedKeyComparator_js_1 = require_SharedKeyComparator2();
-    exports2.storageSharedKeyCredentialPolicyName = "storageSharedKeyCredentialPolicy";
-    function storageSharedKeyCredentialPolicy(options) {
-      function signRequest(request2) {
-        request2.headers.set(constants_js_1.HeaderConstants.X_MS_DATE, (/* @__PURE__ */ new Date()).toUTCString());
-        if (request2.body && (typeof request2.body === "string" || Buffer.isBuffer(request2.body)) && request2.body.length > 0) {
-          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
-        }
-        const stringToSign = [
-          request2.method.toUpperCase(),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LANGUAGE),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_ENCODING),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LENGTH),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_MD5),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_TYPE),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.DATE),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MODIFIED_SINCE),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MATCH),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_NONE_MATCH),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_UNMODIFIED_SINCE),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.RANGE)
-        ].join("\n") + "\n" + getCanonicalizedHeadersString(request2) + getCanonicalizedResourceString(request2);
-        const signature = (0, node_crypto_1.createHmac)("sha256", options.accountKey).update(stringToSign, "utf8").digest("base64");
-        request2.headers.set(constants_js_1.HeaderConstants.AUTHORIZATION, `SharedKey ${options.accountName}:${signature}`);
+    exports2.AvroReader = void 0;
+    var AvroConstants_js_1 = require_AvroConstants();
+    var AvroParser_js_1 = require_AvroParser();
+    var utils_common_js_1 = require_utils_common3();
+    var AvroReader = class {
+      _dataStream;
+      _headerStream;
+      _syncMarker;
+      _metadata;
+      _itemType;
+      _itemsRemainingInBlock;
+      // Remembers where we started if partial data stream was provided.
+      _initialBlockOffset;
+      /// The byte offset within the Avro file (both header and data)
+      /// of the start of the current block.
+      _blockOffset;
+      get blockOffset() {
+        return this._blockOffset;
       }
-      function getHeaderValueToSign(request2, headerName) {
-        const value = request2.headers.get(headerName);
-        if (!value) {
-          return "";
-        }
-        if (headerName === constants_js_1.HeaderConstants.CONTENT_LENGTH && value === "0") {
-          return "";
-        }
-        return value;
+      _objectIndex;
+      get objectIndex() {
+        return this._objectIndex;
       }
-      function getCanonicalizedHeadersString(request2) {
-        let headersArray = [];
-        for (const [name, value] of request2.headers) {
-          if (name.toLowerCase().startsWith(constants_js_1.HeaderConstants.PREFIX_FOR_STORAGE)) {
-            headersArray.push({ name, value });
-          }
+      _initialized;
+      constructor(dataStream, headerStream, currentBlockOffset, indexWithinCurrentBlock) {
+        this._dataStream = dataStream;
+        this._headerStream = headerStream || dataStream;
+        this._initialized = false;
+        this._blockOffset = currentBlockOffset || 0;
+        this._objectIndex = indexWithinCurrentBlock || 0;
+        this._initialBlockOffset = currentBlockOffset || 0;
+      }
+      async initialize(options = {}) {
+        const header = await AvroParser_js_1.AvroParser.readFixedBytes(this._headerStream, AvroConstants_js_1.AVRO_INIT_BYTES.length, {
+          abortSignal: options.abortSignal
+        });
+        if (!(0, utils_common_js_1.arraysEqual)(header, AvroConstants_js_1.AVRO_INIT_BYTES)) {
+          throw new Error("Stream is not an Avro file.");
         }
-        headersArray.sort((a, b) => {
-          return (0, SharedKeyComparator_js_1.compareHeader)(a.name.toLowerCase(), b.name.toLowerCase());
+        this._metadata = await AvroParser_js_1.AvroParser.readMap(this._headerStream, AvroParser_js_1.AvroParser.readString, {
+          abortSignal: options.abortSignal
         });
-        headersArray = headersArray.filter((value, index, array) => {
-          if (index > 0 && value.name.toLowerCase() === array[index - 1].name.toLowerCase()) {
-            return false;
-          }
-          return true;
+        const codec = this._metadata[AvroConstants_js_1.AVRO_CODEC_KEY];
+        if (!(codec === void 0 || codec === null || codec === "null")) {
+          throw new Error("Codecs are not supported");
+        }
+        this._syncMarker = await AvroParser_js_1.AvroParser.readFixedBytes(this._headerStream, AvroConstants_js_1.AVRO_SYNC_MARKER_SIZE, {
+          abortSignal: options.abortSignal
         });
-        let canonicalizedHeadersStringToSign = "";
-        headersArray.forEach((header) => {
-          canonicalizedHeadersStringToSign += `${header.name.toLowerCase().trimRight()}:${header.value.trimLeft()}
-`;
+        const schema2 = JSON.parse(this._metadata[AvroConstants_js_1.AVRO_SCHEMA_KEY]);
+        this._itemType = AvroParser_js_1.AvroType.fromSchema(schema2);
+        if (this._blockOffset === 0) {
+          this._blockOffset = this._initialBlockOffset + this._dataStream.position;
+        }
+        this._itemsRemainingInBlock = await AvroParser_js_1.AvroParser.readLong(this._dataStream, {
+          abortSignal: options.abortSignal
         });
-        return canonicalizedHeadersStringToSign;
-      }
-      function getCanonicalizedResourceString(request2) {
-        const path3 = (0, utils_common_js_1.getURLPath)(request2.url) || "/";
-        let canonicalizedResourceString = "";
-        canonicalizedResourceString += `/${options.accountName}${path3}`;
-        const queries = (0, utils_common_js_1.getURLQueries)(request2.url);
-        const lowercaseQueries = {};
-        if (queries) {
-          const queryKeys = [];
-          for (const key in queries) {
-            if (Object.prototype.hasOwnProperty.call(queries, key)) {
-              const lowercaseKey = key.toLowerCase();
-              lowercaseQueries[lowercaseKey] = queries[key];
-              queryKeys.push(lowercaseKey);
-            }
-          }
-          queryKeys.sort();
-          for (const key of queryKeys) {
-            canonicalizedResourceString += `
-${key}:${decodeURIComponent(lowercaseQueries[key])}`;
+        await AvroParser_js_1.AvroParser.readLong(this._dataStream, { abortSignal: options.abortSignal });
+        this._initialized = true;
+        if (this._objectIndex && this._objectIndex > 0) {
+          for (let i = 0; i < this._objectIndex; i++) {
+            await this._itemType.read(this._dataStream, { abortSignal: options.abortSignal });
+            this._itemsRemainingInBlock--;
           }
         }
-        return canonicalizedResourceString;
       }
-      return {
-        name: exports2.storageSharedKeyCredentialPolicyName,
-        async sendRequest(request2, next) {
-          signRequest(request2);
-          return next(request2);
+      hasNext() {
+        return !this._initialized || this._itemsRemainingInBlock > 0;
+      }
+      async *parseObjects(options = {}) {
+        if (!this._initialized) {
+          await this.initialize(options);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/policies/StorageRequestFailureDetailsParserPolicy.js
-var require_StorageRequestFailureDetailsParserPolicy = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageRequestFailureDetailsParserPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.storageRequestFailureDetailsParserPolicyName = void 0;
-    exports2.storageRequestFailureDetailsParserPolicy = storageRequestFailureDetailsParserPolicy;
-    exports2.storageRequestFailureDetailsParserPolicyName = "storageRequestFailureDetailsParserPolicy";
-    function storageRequestFailureDetailsParserPolicy() {
-      return {
-        name: exports2.storageRequestFailureDetailsParserPolicyName,
-        async sendRequest(request2, next) {
-          try {
-            const response = await next(request2);
-            return response;
-          } catch (err) {
-            if (typeof err === "object" && err !== null && err.response && err.response.parsedBody) {
-              if (err.response.parsedBody.code === "InvalidHeaderValue" && err.response.parsedBody.HeaderName === "x-ms-version") {
-                err.message = "The provided service version is not enabled on this storage account. Please see https://learn.microsoft.com/rest/api/storageservices/versioning-for-the-azure-storage-services for additional information.\n";
-              }
+        while (this.hasNext()) {
+          const result = await this._itemType.read(this._dataStream, {
+            abortSignal: options.abortSignal
+          });
+          this._itemsRemainingInBlock--;
+          this._objectIndex++;
+          if (this._itemsRemainingInBlock === 0) {
+            const marker = await AvroParser_js_1.AvroParser.readFixedBytes(this._dataStream, AvroConstants_js_1.AVRO_SYNC_MARKER_SIZE, {
+              abortSignal: options.abortSignal
+            });
+            this._blockOffset = this._initialBlockOffset + this._dataStream.position;
+            this._objectIndex = 0;
+            if (!(0, utils_common_js_1.arraysEqual)(this._syncMarker, marker)) {
+              throw new Error("Stream is not a valid Avro file.");
+            }
+            try {
+              this._itemsRemainingInBlock = await AvroParser_js_1.AvroParser.readLong(this._dataStream, {
+                abortSignal: options.abortSignal
+              });
+            } catch {
+              this._itemsRemainingInBlock = 0;
+            }
+            if (this._itemsRemainingInBlock > 0) {
+              await AvroParser_js_1.AvroParser.readLong(this._dataStream, { abortSignal: options.abortSignal });
             }
-            throw err;
           }
+          yield result;
         }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/index.js
-var require_commonjs15 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BaseRequestPolicy = exports2.getCachedDefaultHttpClient = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    tslib_1.__exportStar(require_BufferScheduler(), exports2);
-    var cache_js_1 = require_cache3();
-    Object.defineProperty(exports2, "getCachedDefaultHttpClient", { enumerable: true, get: function() {
-      return cache_js_1.getCachedDefaultHttpClient;
-    } });
-    tslib_1.__exportStar(require_StorageBrowserPolicyFactory(), exports2);
-    tslib_1.__exportStar(require_AnonymousCredential2(), exports2);
-    tslib_1.__exportStar(require_Credential2(), exports2);
-    tslib_1.__exportStar(require_StorageSharedKeyCredential2(), exports2);
-    tslib_1.__exportStar(require_StorageRetryPolicyFactory2(), exports2);
-    var RequestPolicy_js_1 = require_RequestPolicy2();
-    Object.defineProperty(exports2, "BaseRequestPolicy", { enumerable: true, get: function() {
-      return RequestPolicy_js_1.BaseRequestPolicy;
-    } });
-    tslib_1.__exportStar(require_AnonymousCredentialPolicy2(), exports2);
-    tslib_1.__exportStar(require_CredentialPolicy2(), exports2);
-    tslib_1.__exportStar(require_StorageBrowserPolicy(), exports2);
-    tslib_1.__exportStar(require_StorageBrowserPolicyV2(), exports2);
-    tslib_1.__exportStar(require_StorageCorrectContentLengthPolicy(), exports2);
-    tslib_1.__exportStar(require_StorageRetryPolicyType2(), exports2);
-    tslib_1.__exportStar(require_StorageRetryPolicy2(), exports2);
-    tslib_1.__exportStar(require_StorageRetryPolicyV2(), exports2);
-    tslib_1.__exportStar(require_StorageSharedKeyCredentialPolicy2(), exports2);
-    tslib_1.__exportStar(require_StorageSharedKeyCredentialPolicyV2(), exports2);
-    tslib_1.__exportStar(require_StorageRetryPolicyFactory2(), exports2);
-    tslib_1.__exportStar(require_StorageRequestFailureDetailsParserPolicy(), exports2);
+      }
+    };
+    exports2.AvroReader = AvroReader;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageBrowserPolicyV2.js
-var require_StorageBrowserPolicyV22 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageBrowserPolicyV2.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadable.js
+var require_AvroReadable = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadable.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.storageBrowserPolicyName = void 0;
-    exports2.storageBrowserPolicy = storageBrowserPolicy;
-    var core_util_1 = require_commonjs6();
-    var constants_js_1 = require_constants14();
-    var utils_common_js_1 = require_utils_common();
-    exports2.storageBrowserPolicyName = "storageBrowserPolicy";
-    function storageBrowserPolicy() {
-      return {
-        name: exports2.storageBrowserPolicyName,
-        async sendRequest(request2, next) {
-          if (core_util_1.isNodeLike) {
-            return next(request2);
-          }
-          if (request2.method === "GET" || request2.method === "HEAD") {
-            request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.FORCE_BROWSER_NO_CACHE, (/* @__PURE__ */ new Date()).getTime().toString());
-          }
-          request2.headers.delete(constants_js_1.HeaderConstants.COOKIE);
-          request2.headers.delete(constants_js_1.HeaderConstants.CONTENT_LENGTH);
-          return next(request2);
-        }
-      };
-    }
+    exports2.AvroReadable = void 0;
+    var AvroReadable = class {
+    };
+    exports2.AvroReadable = AvroReadable;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicyV2.js
-var require_StorageRetryPolicyV22 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicyV2.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadableFromStream.js
+var require_AvroReadableFromStream = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadableFromStream.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.storageRetryPolicyName = void 0;
-    exports2.storageRetryPolicy = storageRetryPolicy;
+    exports2.AvroReadableFromStream = void 0;
+    var AvroReadable_js_1 = require_AvroReadable();
     var abort_controller_1 = require_commonjs13();
-    var core_rest_pipeline_1 = require_commonjs8();
-    var core_util_1 = require_commonjs6();
-    var StorageRetryPolicyFactory_js_1 = require_StorageRetryPolicyFactory();
-    var constants_js_1 = require_constants14();
-    var utils_common_js_1 = require_utils_common();
-    var log_js_1 = require_log5();
-    exports2.storageRetryPolicyName = "storageRetryPolicy";
-    var DEFAULT_RETRY_OPTIONS = {
-      maxRetryDelayInMs: 120 * 1e3,
-      maxTries: 4,
-      retryDelayInMs: 4 * 1e3,
-      retryPolicyType: StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.EXPONENTIAL,
-      secondaryHost: "",
-      tryTimeoutInMs: void 0
-      // Use server side default timeout strategy
-    };
-    var retriableErrors = [
-      "ETIMEDOUT",
-      "ESOCKETTIMEDOUT",
-      "ECONNREFUSED",
-      "ECONNRESET",
-      "ENOENT",
-      "ENOTFOUND",
-      "TIMEOUT",
-      "EPIPE",
-      "REQUEST_SEND_ERROR"
-    ];
-    var RETRY_ABORT_ERROR = new abort_controller_1.AbortError("The operation was aborted.");
-    function storageRetryPolicy(options = {}) {
-      const retryPolicyType = options.retryPolicyType ?? DEFAULT_RETRY_OPTIONS.retryPolicyType;
-      const maxTries = options.maxTries ?? DEFAULT_RETRY_OPTIONS.maxTries;
-      const retryDelayInMs = options.retryDelayInMs ?? DEFAULT_RETRY_OPTIONS.retryDelayInMs;
-      const maxRetryDelayInMs = options.maxRetryDelayInMs ?? DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs;
-      const secondaryHost = options.secondaryHost ?? DEFAULT_RETRY_OPTIONS.secondaryHost;
-      const tryTimeoutInMs = options.tryTimeoutInMs ?? DEFAULT_RETRY_OPTIONS.tryTimeoutInMs;
-      function shouldRetry({ isPrimaryRetry, attempt, response, error: error3 }) {
-        if (attempt >= maxTries) {
-          log_js_1.logger.info(`RetryPolicy: Attempt(s) ${attempt} >= maxTries ${maxTries}, no further try.`);
-          return false;
+    var buffer_1 = require("buffer");
+    var ABORT_ERROR = new abort_controller_1.AbortError("Reading from the avro stream was aborted.");
+    var AvroReadableFromStream = class extends AvroReadable_js_1.AvroReadable {
+      _position;
+      _readable;
+      toUint8Array(data) {
+        if (typeof data === "string") {
+          return buffer_1.Buffer.from(data);
         }
-        if (error3) {
-          for (const retriableError of retriableErrors) {
-            if (error3.name.toUpperCase().includes(retriableError) || error3.message.toUpperCase().includes(retriableError) || error3.code && error3.code.toString().toUpperCase() === retriableError) {
-              log_js_1.logger.info(`RetryPolicy: Network error ${retriableError} found, will retry.`);
-              return true;
-            }
-          }
-          if (error3?.code === "PARSE_ERROR" && error3?.message.startsWith(`Error "Error: Unclosed root tag`)) {
-            log_js_1.logger.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry.");
-            return true;
-          }
+        return data;
+      }
+      constructor(readable) {
+        super();
+        this._readable = readable;
+        this._position = 0;
+      }
+      get position() {
+        return this._position;
+      }
+      async read(size, options = {}) {
+        if (options.abortSignal?.aborted) {
+          throw ABORT_ERROR;
         }
-        if (response || error3) {
-          const statusCode = response?.status ?? error3?.statusCode ?? 0;
-          if (!isPrimaryRetry && statusCode === 404) {
-            log_js_1.logger.info(`RetryPolicy: Secondary access with 404, will retry.`);
-            return true;
-          }
-          if (statusCode === 503 || statusCode === 500) {
-            log_js_1.logger.info(`RetryPolicy: Will retry for status code ${statusCode}.`);
-            return true;
-          }
+        if (size < 0) {
+          throw new Error(`size parameter should be positive: ${size}`);
         }
-        if (response) {
-          if (response?.status >= 400) {
-            const copySourceError = response.headers.get(constants_js_1.HeaderConstants.X_MS_CopySourceErrorCode);
-            if (copySourceError !== void 0) {
-              switch (copySourceError) {
-                case "InternalError":
-                case "OperationTimedOut":
-                case "ServerBusy":
-                  return true;
-              }
-            }
-          }
+        if (size === 0) {
+          return new Uint8Array();
         }
-        return false;
-      }
-      function calculateDelay(isPrimaryRetry, attempt) {
-        let delayTimeInMs = 0;
-        if (isPrimaryRetry) {
-          switch (retryPolicyType) {
-            case StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.EXPONENTIAL:
-              delayTimeInMs = Math.min((Math.pow(2, attempt - 1) - 1) * retryDelayInMs, maxRetryDelayInMs);
-              break;
-            case StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.FIXED:
-              delayTimeInMs = retryDelayInMs;
-              break;
-          }
-        } else {
-          delayTimeInMs = Math.random() * 1e3;
+        if (!this._readable.readable) {
+          throw new Error("Stream no longer readable.");
         }
-        log_js_1.logger.info(`RetryPolicy: Delay for ${delayTimeInMs}ms`);
-        return delayTimeInMs;
-      }
-      return {
-        name: exports2.storageRetryPolicyName,
-        async sendRequest(request2, next) {
-          if (tryTimeoutInMs) {
-            request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.TIMEOUT, String(Math.floor(tryTimeoutInMs / 1e3)));
-          }
-          const primaryUrl = request2.url;
-          const secondaryUrl = secondaryHost ? (0, utils_common_js_1.setURLHost)(request2.url, secondaryHost) : void 0;
-          let secondaryHas404 = false;
-          let attempt = 1;
-          let retryAgain = true;
-          let response;
-          let error3;
-          while (retryAgain) {
-            const isPrimaryRetry = secondaryHas404 || !secondaryUrl || !["GET", "HEAD", "OPTIONS"].includes(request2.method) || attempt % 2 === 1;
-            request2.url = isPrimaryRetry ? primaryUrl : secondaryUrl;
-            response = void 0;
-            error3 = void 0;
-            try {
-              log_js_1.logger.info(`RetryPolicy: =====> Try=${attempt} ${isPrimaryRetry ? "Primary" : "Secondary"}`);
-              response = await next(request2);
-              secondaryHas404 = secondaryHas404 || !isPrimaryRetry && response.status === 404;
-            } catch (e) {
-              if ((0, core_rest_pipeline_1.isRestError)(e)) {
-                log_js_1.logger.error(`RetryPolicy: Caught error, message: ${e.message}, code: ${e.code}`);
-                error3 = e;
-              } else {
-                log_js_1.logger.error(`RetryPolicy: Caught error, message: ${(0, core_util_1.getErrorMessage)(e)}`);
-                throw e;
+        const chunk = this._readable.read(size);
+        if (chunk) {
+          this._position += chunk.length;
+          return this.toUint8Array(chunk);
+        } else {
+          return new Promise((resolve2, reject) => {
+            const cleanUp = () => {
+              this._readable.removeListener("readable", readableCallback);
+              this._readable.removeListener("error", rejectCallback);
+              this._readable.removeListener("end", rejectCallback);
+              this._readable.removeListener("close", rejectCallback);
+              if (options.abortSignal) {
+                options.abortSignal.removeEventListener("abort", abortHandler);
               }
+            };
+            const readableCallback = () => {
+              const callbackChunk = this._readable.read(size);
+              if (callbackChunk) {
+                this._position += callbackChunk.length;
+                cleanUp();
+                resolve2(this.toUint8Array(callbackChunk));
+              }
+            };
+            const rejectCallback = () => {
+              cleanUp();
+              reject();
+            };
+            const abortHandler = () => {
+              cleanUp();
+              reject(ABORT_ERROR);
+            };
+            this._readable.on("readable", readableCallback);
+            this._readable.once("error", rejectCallback);
+            this._readable.once("end", rejectCallback);
+            this._readable.once("close", rejectCallback);
+            if (options.abortSignal) {
+              options.abortSignal.addEventListener("abort", abortHandler);
             }
-            retryAgain = shouldRetry({ isPrimaryRetry, attempt, response, error: error3 });
-            if (retryAgain) {
-              await (0, utils_common_js_1.delay)(calculateDelay(isPrimaryRetry, attempt), request2.abortSignal, RETRY_ABORT_ERROR);
-            }
-            attempt++;
-          }
-          if (response) {
-            return response;
-          }
-          throw error3 ?? new core_rest_pipeline_1.RestError("RetryPolicy failed without known error.");
+          });
         }
-      };
-    }
+      }
+    };
+    exports2.AvroReadableFromStream = AvroReadableFromStream;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/index.js
+var require_internal_avro = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AvroReadableFromStream = exports2.AvroReadable = exports2.AvroReader = void 0;
+    var AvroReader_js_1 = require_AvroReader();
+    Object.defineProperty(exports2, "AvroReader", { enumerable: true, get: function() {
+      return AvroReader_js_1.AvroReader;
+    } });
+    var AvroReadable_js_1 = require_AvroReadable();
+    Object.defineProperty(exports2, "AvroReadable", { enumerable: true, get: function() {
+      return AvroReadable_js_1.AvroReadable;
+    } });
+    var AvroReadableFromStream_js_1 = require_AvroReadableFromStream();
+    Object.defineProperty(exports2, "AvroReadableFromStream", { enumerable: true, get: function() {
+      return AvroReadableFromStream_js_1.AvroReadableFromStream;
+    } });
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageSharedKeyCredentialPolicyV2.js
-var require_StorageSharedKeyCredentialPolicyV22 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageSharedKeyCredentialPolicyV2.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/utils/BlobQuickQueryStream.js
+var require_BlobQuickQueryStream = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/BlobQuickQueryStream.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.storageSharedKeyCredentialPolicyName = void 0;
-    exports2.storageSharedKeyCredentialPolicy = storageSharedKeyCredentialPolicy;
-    var node_crypto_1 = require("node:crypto");
-    var constants_js_1 = require_constants14();
-    var utils_common_js_1 = require_utils_common();
-    var SharedKeyComparator_js_1 = require_SharedKeyComparator();
-    exports2.storageSharedKeyCredentialPolicyName = "storageSharedKeyCredentialPolicy";
-    function storageSharedKeyCredentialPolicy(options) {
-      function signRequest(request2) {
-        request2.headers.set(constants_js_1.HeaderConstants.X_MS_DATE, (/* @__PURE__ */ new Date()).toUTCString());
-        if (request2.body && (typeof request2.body === "string" || Buffer.isBuffer(request2.body)) && request2.body.length > 0) {
-          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
-        }
-        const stringToSign = [
-          request2.method.toUpperCase(),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LANGUAGE),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_ENCODING),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LENGTH),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_MD5),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_TYPE),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.DATE),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MODIFIED_SINCE),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MATCH),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_NONE_MATCH),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_UNMODIFIED_SINCE),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.RANGE)
-        ].join("\n") + "\n" + getCanonicalizedHeadersString(request2) + getCanonicalizedResourceString(request2);
-        const signature = (0, node_crypto_1.createHmac)("sha256", options.accountKey).update(stringToSign, "utf8").digest("base64");
-        request2.headers.set(constants_js_1.HeaderConstants.AUTHORIZATION, `SharedKey ${options.accountName}:${signature}`);
+    exports2.BlobQuickQueryStream = void 0;
+    var node_stream_1 = require("node:stream");
+    var index_js_1 = require_internal_avro();
+    var BlobQuickQueryStream = class extends node_stream_1.Readable {
+      source;
+      avroReader;
+      avroIter;
+      avroPaused = true;
+      onProgress;
+      onError;
+      /**
+       * Creates an instance of BlobQuickQueryStream.
+       *
+       * @param source - The current ReadableStream returned from getter
+       * @param options -
+       */
+      constructor(source, options = {}) {
+        super();
+        this.source = source;
+        this.onProgress = options.onProgress;
+        this.onError = options.onError;
+        this.avroReader = new index_js_1.AvroReader(new index_js_1.AvroReadableFromStream(this.source));
+        this.avroIter = this.avroReader.parseObjects({ abortSignal: options.abortSignal });
       }
-      function getHeaderValueToSign(request2, headerName) {
-        const value = request2.headers.get(headerName);
-        if (!value) {
-          return "";
-        }
-        if (headerName === constants_js_1.HeaderConstants.CONTENT_LENGTH && value === "0") {
-          return "";
+      _read() {
+        if (this.avroPaused) {
+          this.readInternal().catch((err) => {
+            this.emit("error", err);
+          });
         }
-        return value;
       }
-      function getCanonicalizedHeadersString(request2) {
-        let headersArray = [];
-        for (const [name, value] of request2.headers) {
-          if (name.toLowerCase().startsWith(constants_js_1.HeaderConstants.PREFIX_FOR_STORAGE)) {
-            headersArray.push({ name, value });
-          }
-        }
-        headersArray.sort((a, b) => {
-          return (0, SharedKeyComparator_js_1.compareHeader)(a.name.toLowerCase(), b.name.toLowerCase());
-        });
-        headersArray = headersArray.filter((value, index, array) => {
-          if (index > 0 && value.name.toLowerCase() === array[index - 1].name.toLowerCase()) {
-            return false;
+      async readInternal() {
+        this.avroPaused = false;
+        let avroNext;
+        do {
+          avroNext = await this.avroIter.next();
+          if (avroNext.done) {
+            break;
           }
-          return true;
-        });
-        let canonicalizedHeadersStringToSign = "";
-        headersArray.forEach((header) => {
-          canonicalizedHeadersStringToSign += `${header.name.toLowerCase().trimRight()}:${header.value.trimLeft()}
-`;
-        });
-        return canonicalizedHeadersStringToSign;
-      }
-      function getCanonicalizedResourceString(request2) {
-        const path3 = (0, utils_common_js_1.getURLPath)(request2.url) || "/";
-        let canonicalizedResourceString = "";
-        canonicalizedResourceString += `/${options.accountName}${path3}`;
-        const queries = (0, utils_common_js_1.getURLQueries)(request2.url);
-        const lowercaseQueries = {};
-        if (queries) {
-          const queryKeys = [];
-          for (const key in queries) {
-            if (Object.prototype.hasOwnProperty.call(queries, key)) {
-              const lowercaseKey = key.toLowerCase();
-              lowercaseQueries[lowercaseKey] = queries[key];
-              queryKeys.push(lowercaseKey);
-            }
+          const obj = avroNext.value;
+          const schema2 = obj.$schema;
+          if (typeof schema2 !== "string") {
+            throw Error("Missing schema in avro record.");
           }
-          queryKeys.sort();
-          for (const key of queryKeys) {
-            canonicalizedResourceString += `
-${key}:${decodeURIComponent(lowercaseQueries[key])}`;
+          switch (schema2) {
+            case "com.microsoft.azure.storage.queryBlobContents.resultData":
+              {
+                const data = obj.data;
+                if (data instanceof Uint8Array === false) {
+                  throw Error("Invalid data in avro result record.");
+                }
+                if (!this.push(Buffer.from(data))) {
+                  this.avroPaused = true;
+                }
+              }
+              break;
+            case "com.microsoft.azure.storage.queryBlobContents.progress":
+              {
+                const bytesScanned = obj.bytesScanned;
+                if (typeof bytesScanned !== "number") {
+                  throw Error("Invalid bytesScanned in avro progress record.");
+                }
+                if (this.onProgress) {
+                  this.onProgress({ loadedBytes: bytesScanned });
+                }
+              }
+              break;
+            case "com.microsoft.azure.storage.queryBlobContents.end":
+              if (this.onProgress) {
+                const totalBytes = obj.totalBytes;
+                if (typeof totalBytes !== "number") {
+                  throw Error("Invalid totalBytes in avro end record.");
+                }
+                this.onProgress({ loadedBytes: totalBytes });
+              }
+              this.push(null);
+              break;
+            case "com.microsoft.azure.storage.queryBlobContents.error":
+              if (this.onError) {
+                const fatal = obj.fatal;
+                if (typeof fatal !== "boolean") {
+                  throw Error("Invalid fatal in avro error record.");
+                }
+                const name = obj.name;
+                if (typeof name !== "string") {
+                  throw Error("Invalid name in avro error record.");
+                }
+                const description = obj.description;
+                if (typeof description !== "string") {
+                  throw Error("Invalid description in avro error record.");
+                }
+                const position = obj.position;
+                if (typeof position !== "number") {
+                  throw Error("Invalid position in avro error record.");
+                }
+                this.onError({
+                  position,
+                  name,
+                  isFatal: fatal,
+                  description
+                });
+              }
+              break;
+            default:
+              throw Error(`Unknown schema ${schema2} in avro progress record.`);
           }
-        }
-        return canonicalizedResourceString;
+        } while (!avroNext.done && !this.avroPaused);
       }
-      return {
-        name: exports2.storageSharedKeyCredentialPolicyName,
-        async sendRequest(request2, next) {
-          signRequest(request2);
-          return next(request2);
-        }
-      };
-    }
+    };
+    exports2.BlobQuickQueryStream = BlobQuickQueryStream;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageBrowserPolicy.js
-var require_StorageBrowserPolicy2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageBrowserPolicy.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/BlobQueryResponse.js
+var require_BlobQueryResponse = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BlobQueryResponse.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageBrowserPolicy = void 0;
-    var RequestPolicy_js_1 = require_RequestPolicy();
+    exports2.BlobQueryResponse = void 0;
     var core_util_1 = require_commonjs6();
-    var constants_js_1 = require_constants14();
-    var utils_common_js_1 = require_utils_common();
-    var StorageBrowserPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
+    var BlobQuickQueryStream_js_1 = require_BlobQuickQueryStream();
+    var BlobQueryResponse = class {
       /**
-       * Creates an instance of StorageBrowserPolicy.
-       * @param nextPolicy -
-       * @param options -
+       * Indicates that the service supports
+       * requests for partial file content.
+       *
+       * @readonly
        */
-      // The base class has a protected constructor. Adding a public one to enable constructing of this class.
-      /* eslint-disable-next-line @typescript-eslint/no-useless-constructor*/
-      constructor(nextPolicy, options) {
-        super(nextPolicy, options);
+      get acceptRanges() {
+        return this.originalResponse.acceptRanges;
       }
       /**
-       * Sends out request.
+       * Returns if it was previously specified
+       * for the file.
        *
-       * @param request -
+       * @readonly
        */
-      async sendRequest(request2) {
-        if (core_util_1.isNodeLike) {
-          return this._nextPolicy.sendRequest(request2);
-        }
-        if (request2.method.toUpperCase() === "GET" || request2.method.toUpperCase() === "HEAD") {
-          request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.FORCE_BROWSER_NO_CACHE, (/* @__PURE__ */ new Date()).getTime().toString());
-        }
-        request2.headers.remove(constants_js_1.HeaderConstants.COOKIE);
-        request2.headers.remove(constants_js_1.HeaderConstants.CONTENT_LENGTH);
-        return this._nextPolicy.sendRequest(request2);
+      get cacheControl() {
+        return this.originalResponse.cacheControl;
       }
-    };
-    exports2.StorageBrowserPolicy = StorageBrowserPolicy;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/StorageBrowserPolicyFactory.js
-var require_StorageBrowserPolicyFactory2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/StorageBrowserPolicyFactory.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageBrowserPolicyFactory = exports2.StorageBrowserPolicy = void 0;
-    var StorageBrowserPolicy_js_1 = require_StorageBrowserPolicy2();
-    Object.defineProperty(exports2, "StorageBrowserPolicy", { enumerable: true, get: function() {
-      return StorageBrowserPolicy_js_1.StorageBrowserPolicy;
-    } });
-    var StorageBrowserPolicyFactory = class {
       /**
-       * Creates a StorageBrowserPolicyFactory object.
+       * Returns the value that was specified
+       * for the 'x-ms-content-disposition' header and specifies how to process the
+       * response.
        *
-       * @param nextPolicy -
-       * @param options -
+       * @readonly
        */
-      create(nextPolicy, options) {
-        return new StorageBrowserPolicy_js_1.StorageBrowserPolicy(nextPolicy, options);
+      get contentDisposition() {
+        return this.originalResponse.contentDisposition;
       }
-    };
-    exports2.StorageBrowserPolicyFactory = StorageBrowserPolicyFactory;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageCorrectContentLengthPolicy.js
-var require_StorageCorrectContentLengthPolicy2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageCorrectContentLengthPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.storageCorrectContentLengthPolicyName = void 0;
-    exports2.storageCorrectContentLengthPolicy = storageCorrectContentLengthPolicy;
-    var constants_js_1 = require_constants14();
-    exports2.storageCorrectContentLengthPolicyName = "StorageCorrectContentLengthPolicy";
-    function storageCorrectContentLengthPolicy() {
-      function correctContentLength(request2) {
-        if (request2.body && (typeof request2.body === "string" || Buffer.isBuffer(request2.body)) && request2.body.length > 0) {
-          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
-        }
+      /**
+       * Returns the value that was specified
+       * for the Content-Encoding request header.
+       *
+       * @readonly
+       */
+      get contentEncoding() {
+        return this.originalResponse.contentEncoding;
       }
-      return {
-        name: exports2.storageCorrectContentLengthPolicyName,
-        async sendRequest(request2, next) {
-          correctContentLength(request2);
-          return next(request2);
-        }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/Pipeline.js
-var require_Pipeline = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/Pipeline.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Pipeline = exports2.StorageOAuthScopes = void 0;
-    exports2.isPipelineLike = isPipelineLike;
-    exports2.newPipeline = newPipeline;
-    exports2.getCoreClientOptions = getCoreClientOptions;
-    exports2.getCredentialFromPipeline = getCredentialFromPipeline;
-    var core_http_compat_1 = require_commonjs11();
-    var core_rest_pipeline_1 = require_commonjs8();
-    var core_client_1 = require_commonjs10();
-    var core_xml_1 = require_commonjs12();
-    var core_auth_1 = require_commonjs9();
-    var log_js_1 = require_log5();
-    var StorageRetryPolicyFactory_js_1 = require_StorageRetryPolicyFactory();
-    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
-    var AnonymousCredential_js_1 = require_AnonymousCredential();
-    var constants_js_1 = require_constants14();
-    Object.defineProperty(exports2, "StorageOAuthScopes", { enumerable: true, get: function() {
-      return constants_js_1.StorageOAuthScopes;
-    } });
-    var storage_common_1 = require_commonjs15();
-    var StorageBrowserPolicyV2_js_1 = require_StorageBrowserPolicyV22();
-    var StorageRetryPolicyV2_js_1 = require_StorageRetryPolicyV22();
-    var StorageSharedKeyCredentialPolicyV2_js_1 = require_StorageSharedKeyCredentialPolicyV22();
-    var StorageBrowserPolicyFactory_js_1 = require_StorageBrowserPolicyFactory2();
-    var StorageCorrectContentLengthPolicy_js_1 = require_StorageCorrectContentLengthPolicy2();
-    function isPipelineLike(pipeline) {
-      if (!pipeline || typeof pipeline !== "object") {
-        return false;
+      /**
+       * Returns the value that was specified
+       * for the Content-Language request header.
+       *
+       * @readonly
+       */
+      get contentLanguage() {
+        return this.originalResponse.contentLanguage;
+      }
+      /**
+       * The current sequence number for a
+       * page blob. This header is not returned for block blobs or append blobs.
+       *
+       * @readonly
+       */
+      get blobSequenceNumber() {
+        return this.originalResponse.blobSequenceNumber;
+      }
+      /**
+       * The blob's type. Possible values include:
+       * 'BlockBlob', 'PageBlob', 'AppendBlob'.
+       *
+       * @readonly
+       */
+      get blobType() {
+        return this.originalResponse.blobType;
+      }
+      /**
+       * The number of bytes present in the
+       * response body.
+       *
+       * @readonly
+       */
+      get contentLength() {
+        return this.originalResponse.contentLength;
+      }
+      /**
+       * If the file has an MD5 hash and the
+       * request is to read the full file, this response header is returned so that
+       * the client can check for message content integrity. If the request is to
+       * read a specified range and the 'x-ms-range-get-content-md5' is set to
+       * true, then the request returns an MD5 hash for the range, as long as the
+       * range size is less than or equal to 4 MB. If neither of these sets of
+       * conditions is true, then no value is returned for the 'Content-MD5'
+       * header.
+       *
+       * @readonly
+       */
+      get contentMD5() {
+        return this.originalResponse.contentMD5;
+      }
+      /**
+       * Indicates the range of bytes returned if
+       * the client requested a subset of the file by setting the Range request
+       * header.
+       *
+       * @readonly
+       */
+      get contentRange() {
+        return this.originalResponse.contentRange;
+      }
+      /**
+       * The content type specified for the file.
+       * The default content type is 'application/octet-stream'
+       *
+       * @readonly
+       */
+      get contentType() {
+        return this.originalResponse.contentType;
+      }
+      /**
+       * Conclusion time of the last attempted
+       * Copy File operation where this file was the destination file. This value
+       * can specify the time of a completed, aborted, or failed copy attempt.
+       *
+       * @readonly
+       */
+      get copyCompletedOn() {
+        return void 0;
+      }
+      /**
+       * String identifier for the last attempted Copy
+       * File operation where this file was the destination file.
+       *
+       * @readonly
+       */
+      get copyId() {
+        return this.originalResponse.copyId;
+      }
+      /**
+       * Contains the number of bytes copied and
+       * the total bytes in the source in the last attempted Copy File operation
+       * where this file was the destination file. Can show between 0 and
+       * Content-Length bytes copied.
+       *
+       * @readonly
+       */
+      get copyProgress() {
+        return this.originalResponse.copyProgress;
+      }
+      /**
+       * URL up to 2KB in length that specifies the
+       * source file used in the last attempted Copy File operation where this file
+       * was the destination file.
+       *
+       * @readonly
+       */
+      get copySource() {
+        return this.originalResponse.copySource;
+      }
+      /**
+       * State of the copy operation
+       * identified by 'x-ms-copy-id'. Possible values include: 'pending',
+       * 'success', 'aborted', 'failed'
+       *
+       * @readonly
+       */
+      get copyStatus() {
+        return this.originalResponse.copyStatus;
+      }
+      /**
+       * Only appears when
+       * x-ms-copy-status is failed or pending. Describes cause of fatal or
+       * non-fatal copy operation failure.
+       *
+       * @readonly
+       */
+      get copyStatusDescription() {
+        return this.originalResponse.copyStatusDescription;
+      }
+      /**
+       * When a blob is leased,
+       * specifies whether the lease is of infinite or fixed duration. Possible
+       * values include: 'infinite', 'fixed'.
+       *
+       * @readonly
+       */
+      get leaseDuration() {
+        return this.originalResponse.leaseDuration;
+      }
+      /**
+       * Lease state of the blob. Possible
+       * values include: 'available', 'leased', 'expired', 'breaking', 'broken'.
+       *
+       * @readonly
+       */
+      get leaseState() {
+        return this.originalResponse.leaseState;
+      }
+      /**
+       * The current lease status of the
+       * blob. Possible values include: 'locked', 'unlocked'.
+       *
+       * @readonly
+       */
+      get leaseStatus() {
+        return this.originalResponse.leaseStatus;
+      }
+      /**
+       * A UTC date/time value generated by the service that
+       * indicates the time at which the response was initiated.
+       *
+       * @readonly
+       */
+      get date() {
+        return this.originalResponse.date;
+      }
+      /**
+       * The number of committed blocks
+       * present in the blob. This header is returned only for append blobs.
+       *
+       * @readonly
+       */
+      get blobCommittedBlockCount() {
+        return this.originalResponse.blobCommittedBlockCount;
       }
-      const castPipeline = pipeline;
-      return Array.isArray(castPipeline.factories) && typeof castPipeline.options === "object" && typeof castPipeline.toServiceClientOptions === "function";
-    }
-    var Pipeline = class {
       /**
-       * A list of chained request policy factories.
+       * The ETag contains a value that you can use to
+       * perform operations conditionally, in quotes.
+       *
+       * @readonly
        */
-      factories;
+      get etag() {
+        return this.originalResponse.etag;
+      }
       /**
-       * Configures pipeline logger and HTTP client.
+       * The error code.
+       *
+       * @readonly
        */
-      options;
+      get errorCode() {
+        return this.originalResponse.errorCode;
+      }
       /**
-       * Creates an instance of Pipeline. Customize HTTPClient by implementing IHttpClient interface.
+       * The value of this header is set to
+       * true if the file data and application metadata are completely encrypted
+       * using the specified algorithm. Otherwise, the value is set to false (when
+       * the file is unencrypted, or if only parts of the file/application metadata
+       * are encrypted).
        *
-       * @param factories -
-       * @param options -
+       * @readonly
        */
-      constructor(factories, options = {}) {
-        this.factories = factories;
-        this.options = options;
+      get isServerEncrypted() {
+        return this.originalResponse.isServerEncrypted;
       }
       /**
-       * Transfer Pipeline object to ServiceClientOptions object which is required by
-       * ServiceClient constructor.
+       * If the blob has a MD5 hash, and if
+       * request contains range header (Range or x-ms-range), this response header
+       * is returned with the value of the whole blob's MD5 value. This value may
+       * or may not be equal to the value returned in Content-MD5 header, with the
+       * latter calculated from the requested range.
        *
-       * @returns The ServiceClientOptions object from this Pipeline.
+       * @readonly
        */
-      toServiceClientOptions() {
-        return {
-          httpClient: this.options.httpClient,
-          requestPolicyFactories: this.factories
-        };
+      get blobContentMD5() {
+        return this.originalResponse.blobContentMD5;
       }
-    };
-    exports2.Pipeline = Pipeline;
-    function newPipeline(credential, pipelineOptions = {}) {
-      if (!credential) {
-        credential = new AnonymousCredential_js_1.AnonymousCredential();
+      /**
+       * Returns the date and time the file was last
+       * modified. Any operation that modifies the file or its properties updates
+       * the last modified time.
+       *
+       * @readonly
+       */
+      get lastModified() {
+        return this.originalResponse.lastModified;
       }
-      const pipeline = new Pipeline([], pipelineOptions);
-      pipeline._credential = credential;
-      return pipeline;
-    }
-    function processDownlevelPipeline(pipeline) {
-      const knownFactoryFunctions = [
-        isAnonymousCredential,
-        isStorageSharedKeyCredential,
-        isCoreHttpBearerTokenFactory,
-        isStorageBrowserPolicyFactory,
-        isStorageRetryPolicyFactory,
-        isStorageTelemetryPolicyFactory,
-        isCoreHttpPolicyFactory
-      ];
-      if (pipeline.factories.length) {
-        const novelFactories = pipeline.factories.filter((factory) => {
-          return !knownFactoryFunctions.some((knownFactory) => knownFactory(factory));
-        });
-        if (novelFactories.length) {
-          const hasInjector = novelFactories.some((factory) => isInjectorPolicyFactory(factory));
-          return {
-            wrappedPolicies: (0, core_http_compat_1.createRequestPolicyFactoryPolicy)(novelFactories),
-            afterRetry: hasInjector
-          };
-        }
+      /**
+       * A name-value pair
+       * to associate with a file storage object.
+       *
+       * @readonly
+       */
+      get metadata() {
+        return this.originalResponse.metadata;
       }
-      return void 0;
-    }
-    function getCoreClientOptions(pipeline) {
-      const { httpClient: v1Client, ...restOptions } = pipeline.options;
-      let httpClient = pipeline._coreHttpClient;
-      if (!httpClient) {
-        httpClient = v1Client ? (0, core_http_compat_1.convertHttpClient)(v1Client) : (0, storage_common_1.getCachedDefaultHttpClient)();
-        pipeline._coreHttpClient = httpClient;
+      /**
+       * This header uniquely identifies the request
+       * that was made and can be used for troubleshooting the request.
+       *
+       * @readonly
+       */
+      get requestId() {
+        return this.originalResponse.requestId;
       }
-      let corePipeline = pipeline._corePipeline;
-      if (!corePipeline) {
-        const packageDetails = `azsdk-js-azure-storage-blob/${constants_js_1.SDK_VERSION}`;
-        const userAgentPrefix = restOptions.userAgentOptions && restOptions.userAgentOptions.userAgentPrefix ? `${restOptions.userAgentOptions.userAgentPrefix} ${packageDetails}` : `${packageDetails}`;
-        corePipeline = (0, core_client_1.createClientPipeline)({
-          ...restOptions,
-          loggingOptions: {
-            additionalAllowedHeaderNames: constants_js_1.StorageBlobLoggingAllowedHeaderNames,
-            additionalAllowedQueryParameters: constants_js_1.StorageBlobLoggingAllowedQueryParameters,
-            logger: log_js_1.logger.info
-          },
-          userAgentOptions: {
-            userAgentPrefix
-          },
-          serializationOptions: {
-            stringifyXML: core_xml_1.stringifyXML,
-            serializerOptions: {
-              xml: {
-                // Use customized XML char key of "#" so we can deserialize metadata
-                // with "_" key
-                xmlCharKey: "#"
-              }
-            }
-          },
-          deserializationOptions: {
-            parseXML: core_xml_1.parseXML,
-            serializerOptions: {
-              xml: {
-                // Use customized XML char key of "#" so we can deserialize metadata
-                // with "_" key
-                xmlCharKey: "#"
-              }
-            }
-          }
-        });
-        corePipeline.removePolicy({ phase: "Retry" });
-        corePipeline.removePolicy({ name: core_rest_pipeline_1.decompressResponsePolicyName });
-        corePipeline.addPolicy((0, StorageCorrectContentLengthPolicy_js_1.storageCorrectContentLengthPolicy)());
-        corePipeline.addPolicy((0, StorageRetryPolicyV2_js_1.storageRetryPolicy)(restOptions.retryOptions), { phase: "Retry" });
-        corePipeline.addPolicy((0, storage_common_1.storageRequestFailureDetailsParserPolicy)());
-        corePipeline.addPolicy((0, StorageBrowserPolicyV2_js_1.storageBrowserPolicy)());
-        const downlevelResults = processDownlevelPipeline(pipeline);
-        if (downlevelResults) {
-          corePipeline.addPolicy(downlevelResults.wrappedPolicies, downlevelResults.afterRetry ? { afterPhase: "Retry" } : void 0);
-        }
-        const credential = getCredentialFromPipeline(pipeline);
-        if ((0, core_auth_1.isTokenCredential)(credential)) {
-          corePipeline.addPolicy((0, core_rest_pipeline_1.bearerTokenAuthenticationPolicy)({
-            credential,
-            scopes: restOptions.audience ?? constants_js_1.StorageOAuthScopes,
-            challengeCallbacks: { authorizeRequestOnChallenge: core_client_1.authorizeRequestOnTenantChallenge }
-          }), { phase: "Sign" });
-        } else if (credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential) {
-          corePipeline.addPolicy((0, StorageSharedKeyCredentialPolicyV2_js_1.storageSharedKeyCredentialPolicy)({
-            accountName: credential.accountName,
-            accountKey: credential.accountKey
-          }), { phase: "Sign" });
-        }
-        pipeline._corePipeline = corePipeline;
+      /**
+       * If a client request id header is sent in the request, this header will be present in the
+       * response with the same value.
+       *
+       * @readonly
+       */
+      get clientRequestId() {
+        return this.originalResponse.clientRequestId;
       }
-      return {
-        ...restOptions,
-        allowInsecureConnection: true,
-        httpClient,
-        pipeline: corePipeline
-      };
-    }
-    function getCredentialFromPipeline(pipeline) {
-      if (pipeline._credential) {
-        return pipeline._credential;
+      /**
+       * Indicates the version of the File service used
+       * to execute the request.
+       *
+       * @readonly
+       */
+      get version() {
+        return this.originalResponse.version;
       }
-      let credential = new AnonymousCredential_js_1.AnonymousCredential();
-      for (const factory of pipeline.factories) {
-        if ((0, core_auth_1.isTokenCredential)(factory.credential)) {
-          credential = factory.credential;
-        } else if (isStorageSharedKeyCredential(factory)) {
-          return factory;
-        }
+      /**
+       * The SHA-256 hash of the encryption key used to encrypt the blob. This value is only returned
+       * when the blob was encrypted with a customer-provided key.
+       *
+       * @readonly
+       */
+      get encryptionKeySha256() {
+        return this.originalResponse.encryptionKeySha256;
       }
-      return credential;
-    }
-    function isStorageSharedKeyCredential(factory) {
-      if (factory instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential) {
-        return true;
+      /**
+       * If the request is to read a specified range and the x-ms-range-get-content-crc64 is set to
+       * true, then the request returns a crc64 for the range, as long as the range size is less than
+       * or equal to 4 MB. If both x-ms-range-get-content-crc64 & x-ms-range-get-content-md5 is
+       * specified in the same request, it will fail with 400(Bad Request)
+       */
+      get contentCrc64() {
+        return this.originalResponse.contentCrc64;
       }
-      return factory.constructor.name === "StorageSharedKeyCredential";
-    }
-    function isAnonymousCredential(factory) {
-      if (factory instanceof AnonymousCredential_js_1.AnonymousCredential) {
-        return true;
+      /**
+       * The response body as a browser Blob.
+       * Always undefined in node.js.
+       *
+       * @readonly
+       */
+      get blobBody() {
+        return void 0;
       }
-      return factory.constructor.name === "AnonymousCredential";
-    }
-    function isCoreHttpBearerTokenFactory(factory) {
-      return (0, core_auth_1.isTokenCredential)(factory.credential);
-    }
-    function isStorageBrowserPolicyFactory(factory) {
-      if (factory instanceof StorageBrowserPolicyFactory_js_1.StorageBrowserPolicyFactory) {
-        return true;
+      /**
+       * The response body as a node.js Readable stream.
+       * Always undefined in the browser.
+       *
+       * It will parse avor data returned by blob query.
+       *
+       * @readonly
+       */
+      get readableStreamBody() {
+        return core_util_1.isNodeLike ? this.blobDownloadStream : void 0;
       }
-      return factory.constructor.name === "StorageBrowserPolicyFactory";
-    }
-    function isStorageRetryPolicyFactory(factory) {
-      if (factory instanceof StorageRetryPolicyFactory_js_1.StorageRetryPolicyFactory) {
-        return true;
+      /**
+       * The HTTP response.
+       */
+      get _response() {
+        return this.originalResponse._response;
       }
-      return factory.constructor.name === "StorageRetryPolicyFactory";
-    }
-    function isStorageTelemetryPolicyFactory(factory) {
-      return factory.constructor.name === "TelemetryPolicyFactory";
+      originalResponse;
+      blobDownloadStream;
+      /**
+       * Creates an instance of BlobQueryResponse.
+       *
+       * @param originalResponse -
+       * @param options -
+       */
+      constructor(originalResponse, options = {}) {
+        this.originalResponse = originalResponse;
+        this.blobDownloadStream = new BlobQuickQueryStream_js_1.BlobQuickQueryStream(this.originalResponse.readableStreamBody, options);
+      }
+    };
+    exports2.BlobQueryResponse = BlobQueryResponse;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/models.js
+var require_models2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/models.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageBlobAudience = exports2.PremiumPageBlobTier = exports2.BlockBlobTier = void 0;
+    exports2.toAccessTier = toAccessTier;
+    exports2.ensureCpkIfSpecified = ensureCpkIfSpecified;
+    exports2.getBlobServiceAccountAudience = getBlobServiceAccountAudience;
+    var constants_js_1 = require_constants14();
+    var BlockBlobTier;
+    (function(BlockBlobTier2) {
+      BlockBlobTier2["Hot"] = "Hot";
+      BlockBlobTier2["Cool"] = "Cool";
+      BlockBlobTier2["Cold"] = "Cold";
+      BlockBlobTier2["Archive"] = "Archive";
+    })(BlockBlobTier || (exports2.BlockBlobTier = BlockBlobTier = {}));
+    var PremiumPageBlobTier;
+    (function(PremiumPageBlobTier2) {
+      PremiumPageBlobTier2["P4"] = "P4";
+      PremiumPageBlobTier2["P6"] = "P6";
+      PremiumPageBlobTier2["P10"] = "P10";
+      PremiumPageBlobTier2["P15"] = "P15";
+      PremiumPageBlobTier2["P20"] = "P20";
+      PremiumPageBlobTier2["P30"] = "P30";
+      PremiumPageBlobTier2["P40"] = "P40";
+      PremiumPageBlobTier2["P50"] = "P50";
+      PremiumPageBlobTier2["P60"] = "P60";
+      PremiumPageBlobTier2["P70"] = "P70";
+      PremiumPageBlobTier2["P80"] = "P80";
+    })(PremiumPageBlobTier || (exports2.PremiumPageBlobTier = PremiumPageBlobTier = {}));
+    function toAccessTier(tier) {
+      if (tier === void 0) {
+        return void 0;
+      }
+      return tier;
     }
-    function isInjectorPolicyFactory(factory) {
-      return factory.constructor.name === "InjectorPolicyFactory";
+    function ensureCpkIfSpecified(cpk, isHttps) {
+      if (cpk && !isHttps) {
+        throw new RangeError("Customer-provided encryption key must be used over HTTPS.");
+      }
+      if (cpk && !cpk.encryptionAlgorithm) {
+        cpk.encryptionAlgorithm = constants_js_1.EncryptionAlgorithmAES25;
+      }
     }
-    function isCoreHttpPolicyFactory(factory) {
-      const knownPolicies = [
-        "GenerateClientRequestIdPolicy",
-        "TracingPolicy",
-        "LogPolicy",
-        "ProxyPolicy",
-        "DisableResponseDecompressionPolicy",
-        "KeepAlivePolicy",
-        "DeserializationPolicy"
-      ];
-      const mockHttpClient = {
-        sendRequest: async (request2) => {
-          return {
-            request: request2,
-            headers: request2.headers.clone(),
-            status: 500
-          };
-        }
-      };
-      const mockRequestPolicyOptions = {
-        log(_logLevel, _message) {
-        },
-        shouldLog(_logLevel) {
-          return false;
-        }
-      };
-      const policyInstance = factory.create(mockHttpClient, mockRequestPolicyOptions);
-      const policyName = policyInstance.constructor.name;
-      return knownPolicies.some((knownPolicyName) => {
-        return policyName.startsWith(knownPolicyName);
-      });
+    var StorageBlobAudience;
+    (function(StorageBlobAudience2) {
+      StorageBlobAudience2["StorageOAuthScopes"] = "https://storage.azure.com/.default";
+      StorageBlobAudience2["DiskComputeOAuthScopes"] = "https://disk.compute.azure.com/.default";
+    })(StorageBlobAudience || (exports2.StorageBlobAudience = StorageBlobAudience = {}));
+    function getBlobServiceAccountAudience(storageAccountName) {
+      return `https://${storageAccountName}.blob.core.windows.net/.default`;
     }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/index.js
-var require_models = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.KnownStorageErrorCode = exports2.KnownBlobExpiryOptions = exports2.KnownFileShareTokenIntent = exports2.KnownEncryptionAlgorithmType = void 0;
-    var KnownEncryptionAlgorithmType;
-    (function(KnownEncryptionAlgorithmType2) {
-      KnownEncryptionAlgorithmType2["AES256"] = "AES256";
-    })(KnownEncryptionAlgorithmType || (exports2.KnownEncryptionAlgorithmType = KnownEncryptionAlgorithmType = {}));
-    var KnownFileShareTokenIntent;
-    (function(KnownFileShareTokenIntent2) {
-      KnownFileShareTokenIntent2["Backup"] = "backup";
-    })(KnownFileShareTokenIntent || (exports2.KnownFileShareTokenIntent = KnownFileShareTokenIntent = {}));
-    var KnownBlobExpiryOptions;
-    (function(KnownBlobExpiryOptions2) {
-      KnownBlobExpiryOptions2["NeverExpire"] = "NeverExpire";
-      KnownBlobExpiryOptions2["RelativeToCreation"] = "RelativeToCreation";
-      KnownBlobExpiryOptions2["RelativeToNow"] = "RelativeToNow";
-      KnownBlobExpiryOptions2["Absolute"] = "Absolute";
-    })(KnownBlobExpiryOptions || (exports2.KnownBlobExpiryOptions = KnownBlobExpiryOptions = {}));
-    var KnownStorageErrorCode;
-    (function(KnownStorageErrorCode2) {
-      KnownStorageErrorCode2["AccountAlreadyExists"] = "AccountAlreadyExists";
-      KnownStorageErrorCode2["AccountBeingCreated"] = "AccountBeingCreated";
-      KnownStorageErrorCode2["AccountIsDisabled"] = "AccountIsDisabled";
-      KnownStorageErrorCode2["AuthenticationFailed"] = "AuthenticationFailed";
-      KnownStorageErrorCode2["AuthorizationFailure"] = "AuthorizationFailure";
-      KnownStorageErrorCode2["ConditionHeadersNotSupported"] = "ConditionHeadersNotSupported";
-      KnownStorageErrorCode2["ConditionNotMet"] = "ConditionNotMet";
-      KnownStorageErrorCode2["EmptyMetadataKey"] = "EmptyMetadataKey";
-      KnownStorageErrorCode2["InsufficientAccountPermissions"] = "InsufficientAccountPermissions";
-      KnownStorageErrorCode2["InternalError"] = "InternalError";
-      KnownStorageErrorCode2["InvalidAuthenticationInfo"] = "InvalidAuthenticationInfo";
-      KnownStorageErrorCode2["InvalidHeaderValue"] = "InvalidHeaderValue";
-      KnownStorageErrorCode2["InvalidHttpVerb"] = "InvalidHttpVerb";
-      KnownStorageErrorCode2["InvalidInput"] = "InvalidInput";
-      KnownStorageErrorCode2["InvalidMd5"] = "InvalidMd5";
-      KnownStorageErrorCode2["InvalidMetadata"] = "InvalidMetadata";
-      KnownStorageErrorCode2["InvalidQueryParameterValue"] = "InvalidQueryParameterValue";
-      KnownStorageErrorCode2["InvalidRange"] = "InvalidRange";
-      KnownStorageErrorCode2["InvalidResourceName"] = "InvalidResourceName";
-      KnownStorageErrorCode2["InvalidUri"] = "InvalidUri";
-      KnownStorageErrorCode2["InvalidXmlDocument"] = "InvalidXmlDocument";
-      KnownStorageErrorCode2["InvalidXmlNodeValue"] = "InvalidXmlNodeValue";
-      KnownStorageErrorCode2["Md5Mismatch"] = "Md5Mismatch";
-      KnownStorageErrorCode2["MetadataTooLarge"] = "MetadataTooLarge";
-      KnownStorageErrorCode2["MissingContentLengthHeader"] = "MissingContentLengthHeader";
-      KnownStorageErrorCode2["MissingRequiredQueryParameter"] = "MissingRequiredQueryParameter";
-      KnownStorageErrorCode2["MissingRequiredHeader"] = "MissingRequiredHeader";
-      KnownStorageErrorCode2["MissingRequiredXmlNode"] = "MissingRequiredXmlNode";
-      KnownStorageErrorCode2["MultipleConditionHeadersNotSupported"] = "MultipleConditionHeadersNotSupported";
-      KnownStorageErrorCode2["OperationTimedOut"] = "OperationTimedOut";
-      KnownStorageErrorCode2["OutOfRangeInput"] = "OutOfRangeInput";
-      KnownStorageErrorCode2["OutOfRangeQueryParameterValue"] = "OutOfRangeQueryParameterValue";
-      KnownStorageErrorCode2["RequestBodyTooLarge"] = "RequestBodyTooLarge";
-      KnownStorageErrorCode2["ResourceTypeMismatch"] = "ResourceTypeMismatch";
-      KnownStorageErrorCode2["RequestUrlFailedToParse"] = "RequestUrlFailedToParse";
-      KnownStorageErrorCode2["ResourceAlreadyExists"] = "ResourceAlreadyExists";
-      KnownStorageErrorCode2["ResourceNotFound"] = "ResourceNotFound";
-      KnownStorageErrorCode2["ServerBusy"] = "ServerBusy";
-      KnownStorageErrorCode2["UnsupportedHeader"] = "UnsupportedHeader";
-      KnownStorageErrorCode2["UnsupportedXmlNode"] = "UnsupportedXmlNode";
-      KnownStorageErrorCode2["UnsupportedQueryParameter"] = "UnsupportedQueryParameter";
-      KnownStorageErrorCode2["UnsupportedHttpVerb"] = "UnsupportedHttpVerb";
-      KnownStorageErrorCode2["AppendPositionConditionNotMet"] = "AppendPositionConditionNotMet";
-      KnownStorageErrorCode2["BlobAlreadyExists"] = "BlobAlreadyExists";
-      KnownStorageErrorCode2["BlobImmutableDueToPolicy"] = "BlobImmutableDueToPolicy";
-      KnownStorageErrorCode2["BlobNotFound"] = "BlobNotFound";
-      KnownStorageErrorCode2["BlobOverwritten"] = "BlobOverwritten";
-      KnownStorageErrorCode2["BlobTierInadequateForContentLength"] = "BlobTierInadequateForContentLength";
-      KnownStorageErrorCode2["BlobUsesCustomerSpecifiedEncryption"] = "BlobUsesCustomerSpecifiedEncryption";
-      KnownStorageErrorCode2["BlockCountExceedsLimit"] = "BlockCountExceedsLimit";
-      KnownStorageErrorCode2["BlockListTooLong"] = "BlockListTooLong";
-      KnownStorageErrorCode2["CannotChangeToLowerTier"] = "CannotChangeToLowerTier";
-      KnownStorageErrorCode2["CannotVerifyCopySource"] = "CannotVerifyCopySource";
-      KnownStorageErrorCode2["ContainerAlreadyExists"] = "ContainerAlreadyExists";
-      KnownStorageErrorCode2["ContainerBeingDeleted"] = "ContainerBeingDeleted";
-      KnownStorageErrorCode2["ContainerDisabled"] = "ContainerDisabled";
-      KnownStorageErrorCode2["ContainerNotFound"] = "ContainerNotFound";
-      KnownStorageErrorCode2["ContentLengthLargerThanTierLimit"] = "ContentLengthLargerThanTierLimit";
-      KnownStorageErrorCode2["CopyAcrossAccountsNotSupported"] = "CopyAcrossAccountsNotSupported";
-      KnownStorageErrorCode2["CopyIdMismatch"] = "CopyIdMismatch";
-      KnownStorageErrorCode2["FeatureVersionMismatch"] = "FeatureVersionMismatch";
-      KnownStorageErrorCode2["IncrementalCopyBlobMismatch"] = "IncrementalCopyBlobMismatch";
-      KnownStorageErrorCode2["IncrementalCopyOfEarlierVersionSnapshotNotAllowed"] = "IncrementalCopyOfEarlierVersionSnapshotNotAllowed";
-      KnownStorageErrorCode2["IncrementalCopySourceMustBeSnapshot"] = "IncrementalCopySourceMustBeSnapshot";
-      KnownStorageErrorCode2["InfiniteLeaseDurationRequired"] = "InfiniteLeaseDurationRequired";
-      KnownStorageErrorCode2["InvalidBlobOrBlock"] = "InvalidBlobOrBlock";
-      KnownStorageErrorCode2["InvalidBlobTier"] = "InvalidBlobTier";
-      KnownStorageErrorCode2["InvalidBlobType"] = "InvalidBlobType";
-      KnownStorageErrorCode2["InvalidBlockId"] = "InvalidBlockId";
-      KnownStorageErrorCode2["InvalidBlockList"] = "InvalidBlockList";
-      KnownStorageErrorCode2["InvalidOperation"] = "InvalidOperation";
-      KnownStorageErrorCode2["InvalidPageRange"] = "InvalidPageRange";
-      KnownStorageErrorCode2["InvalidSourceBlobType"] = "InvalidSourceBlobType";
-      KnownStorageErrorCode2["InvalidSourceBlobUrl"] = "InvalidSourceBlobUrl";
-      KnownStorageErrorCode2["InvalidVersionForPageBlobOperation"] = "InvalidVersionForPageBlobOperation";
-      KnownStorageErrorCode2["LeaseAlreadyPresent"] = "LeaseAlreadyPresent";
-      KnownStorageErrorCode2["LeaseAlreadyBroken"] = "LeaseAlreadyBroken";
-      KnownStorageErrorCode2["LeaseIdMismatchWithBlobOperation"] = "LeaseIdMismatchWithBlobOperation";
-      KnownStorageErrorCode2["LeaseIdMismatchWithContainerOperation"] = "LeaseIdMismatchWithContainerOperation";
-      KnownStorageErrorCode2["LeaseIdMismatchWithLeaseOperation"] = "LeaseIdMismatchWithLeaseOperation";
-      KnownStorageErrorCode2["LeaseIdMissing"] = "LeaseIdMissing";
-      KnownStorageErrorCode2["LeaseIsBreakingAndCannotBeAcquired"] = "LeaseIsBreakingAndCannotBeAcquired";
-      KnownStorageErrorCode2["LeaseIsBreakingAndCannotBeChanged"] = "LeaseIsBreakingAndCannotBeChanged";
-      KnownStorageErrorCode2["LeaseIsBrokenAndCannotBeRenewed"] = "LeaseIsBrokenAndCannotBeRenewed";
-      KnownStorageErrorCode2["LeaseLost"] = "LeaseLost";
-      KnownStorageErrorCode2["LeaseNotPresentWithBlobOperation"] = "LeaseNotPresentWithBlobOperation";
-      KnownStorageErrorCode2["LeaseNotPresentWithContainerOperation"] = "LeaseNotPresentWithContainerOperation";
-      KnownStorageErrorCode2["LeaseNotPresentWithLeaseOperation"] = "LeaseNotPresentWithLeaseOperation";
-      KnownStorageErrorCode2["MaxBlobSizeConditionNotMet"] = "MaxBlobSizeConditionNotMet";
-      KnownStorageErrorCode2["NoAuthenticationInformation"] = "NoAuthenticationInformation";
-      KnownStorageErrorCode2["NoPendingCopyOperation"] = "NoPendingCopyOperation";
-      KnownStorageErrorCode2["OperationNotAllowedOnIncrementalCopyBlob"] = "OperationNotAllowedOnIncrementalCopyBlob";
-      KnownStorageErrorCode2["PendingCopyOperation"] = "PendingCopyOperation";
-      KnownStorageErrorCode2["PreviousSnapshotCannotBeNewer"] = "PreviousSnapshotCannotBeNewer";
-      KnownStorageErrorCode2["PreviousSnapshotNotFound"] = "PreviousSnapshotNotFound";
-      KnownStorageErrorCode2["PreviousSnapshotOperationNotSupported"] = "PreviousSnapshotOperationNotSupported";
-      KnownStorageErrorCode2["SequenceNumberConditionNotMet"] = "SequenceNumberConditionNotMet";
-      KnownStorageErrorCode2["SequenceNumberIncrementTooLarge"] = "SequenceNumberIncrementTooLarge";
-      KnownStorageErrorCode2["SnapshotCountExceeded"] = "SnapshotCountExceeded";
-      KnownStorageErrorCode2["SnapshotOperationRateExceeded"] = "SnapshotOperationRateExceeded";
-      KnownStorageErrorCode2["SnapshotsPresent"] = "SnapshotsPresent";
-      KnownStorageErrorCode2["SourceConditionNotMet"] = "SourceConditionNotMet";
-      KnownStorageErrorCode2["SystemInUse"] = "SystemInUse";
-      KnownStorageErrorCode2["TargetConditionNotMet"] = "TargetConditionNotMet";
-      KnownStorageErrorCode2["UnauthorizedBlobOverwrite"] = "UnauthorizedBlobOverwrite";
-      KnownStorageErrorCode2["BlobBeingRehydrated"] = "BlobBeingRehydrated";
-      KnownStorageErrorCode2["BlobArchived"] = "BlobArchived";
-      KnownStorageErrorCode2["BlobNotArchived"] = "BlobNotArchived";
-      KnownStorageErrorCode2["AuthorizationSourceIPMismatch"] = "AuthorizationSourceIPMismatch";
-      KnownStorageErrorCode2["AuthorizationProtocolMismatch"] = "AuthorizationProtocolMismatch";
-      KnownStorageErrorCode2["AuthorizationPermissionMismatch"] = "AuthorizationPermissionMismatch";
-      KnownStorageErrorCode2["AuthorizationServiceMismatch"] = "AuthorizationServiceMismatch";
-      KnownStorageErrorCode2["AuthorizationResourceTypeMismatch"] = "AuthorizationResourceTypeMismatch";
-      KnownStorageErrorCode2["BlobAccessTierNotSupportedForAccountType"] = "BlobAccessTierNotSupportedForAccountType";
-    })(KnownStorageErrorCode || (exports2.KnownStorageErrorCode = KnownStorageErrorCode = {}));
+// node_modules/@azure/storage-blob/dist/commonjs/PageBlobRangeResponse.js
+var require_PageBlobRangeResponse = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/PageBlobRangeResponse.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.rangeResponseFromModel = rangeResponseFromModel;
+    function rangeResponseFromModel(response) {
+      const pageRange = (response._response.parsedBody.pageRange || []).map((x) => ({
+        offset: x.start,
+        count: x.end - x.start
+      }));
+      const clearRange = (response._response.parsedBody.clearRange || []).map((x) => ({
+        offset: x.start,
+        count: x.end - x.start
+      }));
+      return {
+        ...response,
+        pageRange,
+        clearRange,
+        _response: {
+          ...response._response,
+          parsedBody: {
+            pageRange,
+            clearRange
+          }
+        }
+      };
+    }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/mappers.js
-var require_mappers = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/mappers.js"(exports2) {
+// node_modules/@azure/core-lro/dist/commonjs/logger.js
+var require_logger2 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/logger.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ServiceGetUserDelegationKeyHeaders = exports2.ServiceListContainersSegmentExceptionHeaders = exports2.ServiceListContainersSegmentHeaders = exports2.ServiceGetStatisticsExceptionHeaders = exports2.ServiceGetStatisticsHeaders = exports2.ServiceGetPropertiesExceptionHeaders = exports2.ServiceGetPropertiesHeaders = exports2.ServiceSetPropertiesExceptionHeaders = exports2.ServiceSetPropertiesHeaders = exports2.ArrowField = exports2.ArrowConfiguration = exports2.JsonTextConfiguration = exports2.DelimitedTextConfiguration = exports2.QueryFormat = exports2.QuerySerialization = exports2.QueryRequest = exports2.ClearRange = exports2.PageRange = exports2.PageList = exports2.Block = exports2.BlockList = exports2.BlockLookupList = exports2.BlobPrefix = exports2.BlobHierarchyListSegment = exports2.ListBlobsHierarchySegmentResponse = exports2.BlobPropertiesInternal = exports2.BlobName = exports2.BlobItemInternal = exports2.BlobFlatListSegment = exports2.ListBlobsFlatSegmentResponse = exports2.AccessPolicy = exports2.SignedIdentifier = exports2.BlobTag = exports2.BlobTags = exports2.FilterBlobItem = exports2.FilterBlobSegment = exports2.UserDelegationKey = exports2.KeyInfo = exports2.ContainerProperties = exports2.ContainerItem = exports2.ListContainersSegmentResponse = exports2.GeoReplication = exports2.BlobServiceStatistics = exports2.StorageError = exports2.StaticWebsite = exports2.CorsRule = exports2.Metrics = exports2.RetentionPolicy = exports2.Logging = exports2.BlobServiceProperties = void 0;
-    exports2.BlobUndeleteHeaders = exports2.BlobDeleteExceptionHeaders = exports2.BlobDeleteHeaders = exports2.BlobGetPropertiesExceptionHeaders = exports2.BlobGetPropertiesHeaders = exports2.BlobDownloadExceptionHeaders = exports2.BlobDownloadHeaders = exports2.ContainerGetAccountInfoExceptionHeaders = exports2.ContainerGetAccountInfoHeaders = exports2.ContainerListBlobHierarchySegmentExceptionHeaders = exports2.ContainerListBlobHierarchySegmentHeaders = exports2.ContainerListBlobFlatSegmentExceptionHeaders = exports2.ContainerListBlobFlatSegmentHeaders = exports2.ContainerChangeLeaseExceptionHeaders = exports2.ContainerChangeLeaseHeaders = exports2.ContainerBreakLeaseExceptionHeaders = exports2.ContainerBreakLeaseHeaders = exports2.ContainerRenewLeaseExceptionHeaders = exports2.ContainerRenewLeaseHeaders = exports2.ContainerReleaseLeaseExceptionHeaders = exports2.ContainerReleaseLeaseHeaders = exports2.ContainerAcquireLeaseExceptionHeaders = exports2.ContainerAcquireLeaseHeaders = exports2.ContainerFilterBlobsExceptionHeaders = exports2.ContainerFilterBlobsHeaders = exports2.ContainerSubmitBatchExceptionHeaders = exports2.ContainerSubmitBatchHeaders = exports2.ContainerRenameExceptionHeaders = exports2.ContainerRenameHeaders = exports2.ContainerRestoreExceptionHeaders = exports2.ContainerRestoreHeaders = exports2.ContainerSetAccessPolicyExceptionHeaders = exports2.ContainerSetAccessPolicyHeaders = exports2.ContainerGetAccessPolicyExceptionHeaders = exports2.ContainerGetAccessPolicyHeaders = exports2.ContainerSetMetadataExceptionHeaders = exports2.ContainerSetMetadataHeaders = exports2.ContainerDeleteExceptionHeaders = exports2.ContainerDeleteHeaders = exports2.ContainerGetPropertiesExceptionHeaders = exports2.ContainerGetPropertiesHeaders = exports2.ContainerCreateExceptionHeaders = exports2.ContainerCreateHeaders = exports2.ServiceFilterBlobsExceptionHeaders = exports2.ServiceFilterBlobsHeaders = exports2.ServiceSubmitBatchExceptionHeaders = exports2.ServiceSubmitBatchHeaders = exports2.ServiceGetAccountInfoExceptionHeaders = exports2.ServiceGetAccountInfoHeaders = exports2.ServiceGetUserDelegationKeyExceptionHeaders = void 0;
-    exports2.PageBlobGetPageRangesHeaders = exports2.PageBlobUploadPagesFromURLExceptionHeaders = exports2.PageBlobUploadPagesFromURLHeaders = exports2.PageBlobClearPagesExceptionHeaders = exports2.PageBlobClearPagesHeaders = exports2.PageBlobUploadPagesExceptionHeaders = exports2.PageBlobUploadPagesHeaders = exports2.PageBlobCreateExceptionHeaders = exports2.PageBlobCreateHeaders = exports2.BlobSetTagsExceptionHeaders = exports2.BlobSetTagsHeaders = exports2.BlobGetTagsExceptionHeaders = exports2.BlobGetTagsHeaders = exports2.BlobQueryExceptionHeaders = exports2.BlobQueryHeaders = exports2.BlobGetAccountInfoExceptionHeaders = exports2.BlobGetAccountInfoHeaders = exports2.BlobSetTierExceptionHeaders = exports2.BlobSetTierHeaders = exports2.BlobAbortCopyFromURLExceptionHeaders = exports2.BlobAbortCopyFromURLHeaders = exports2.BlobCopyFromURLExceptionHeaders = exports2.BlobCopyFromURLHeaders = exports2.BlobStartCopyFromURLExceptionHeaders = exports2.BlobStartCopyFromURLHeaders = exports2.BlobCreateSnapshotExceptionHeaders = exports2.BlobCreateSnapshotHeaders = exports2.BlobBreakLeaseExceptionHeaders = exports2.BlobBreakLeaseHeaders = exports2.BlobChangeLeaseExceptionHeaders = exports2.BlobChangeLeaseHeaders = exports2.BlobRenewLeaseExceptionHeaders = exports2.BlobRenewLeaseHeaders = exports2.BlobReleaseLeaseExceptionHeaders = exports2.BlobReleaseLeaseHeaders = exports2.BlobAcquireLeaseExceptionHeaders = exports2.BlobAcquireLeaseHeaders = exports2.BlobSetMetadataExceptionHeaders = exports2.BlobSetMetadataHeaders = exports2.BlobSetLegalHoldExceptionHeaders = exports2.BlobSetLegalHoldHeaders = exports2.BlobDeleteImmutabilityPolicyExceptionHeaders = exports2.BlobDeleteImmutabilityPolicyHeaders = exports2.BlobSetImmutabilityPolicyExceptionHeaders = exports2.BlobSetImmutabilityPolicyHeaders = exports2.BlobSetHttpHeadersExceptionHeaders = exports2.BlobSetHttpHeadersHeaders = exports2.BlobSetExpiryExceptionHeaders = exports2.BlobSetExpiryHeaders = exports2.BlobUndeleteExceptionHeaders = void 0;
-    exports2.BlockBlobGetBlockListExceptionHeaders = exports2.BlockBlobGetBlockListHeaders = exports2.BlockBlobCommitBlockListExceptionHeaders = exports2.BlockBlobCommitBlockListHeaders = exports2.BlockBlobStageBlockFromURLExceptionHeaders = exports2.BlockBlobStageBlockFromURLHeaders = exports2.BlockBlobStageBlockExceptionHeaders = exports2.BlockBlobStageBlockHeaders = exports2.BlockBlobPutBlobFromUrlExceptionHeaders = exports2.BlockBlobPutBlobFromUrlHeaders = exports2.BlockBlobUploadExceptionHeaders = exports2.BlockBlobUploadHeaders = exports2.AppendBlobSealExceptionHeaders = exports2.AppendBlobSealHeaders = exports2.AppendBlobAppendBlockFromUrlExceptionHeaders = exports2.AppendBlobAppendBlockFromUrlHeaders = exports2.AppendBlobAppendBlockExceptionHeaders = exports2.AppendBlobAppendBlockHeaders = exports2.AppendBlobCreateExceptionHeaders = exports2.AppendBlobCreateHeaders = exports2.PageBlobCopyIncrementalExceptionHeaders = exports2.PageBlobCopyIncrementalHeaders = exports2.PageBlobUpdateSequenceNumberExceptionHeaders = exports2.PageBlobUpdateSequenceNumberHeaders = exports2.PageBlobResizeExceptionHeaders = exports2.PageBlobResizeHeaders = exports2.PageBlobGetPageRangesDiffExceptionHeaders = exports2.PageBlobGetPageRangesDiffHeaders = exports2.PageBlobGetPageRangesExceptionHeaders = void 0;
-    exports2.BlobServiceProperties = {
-      serializedName: "BlobServiceProperties",
-      xmlName: "StorageServiceProperties",
-      type: {
-        name: "Composite",
-        className: "BlobServiceProperties",
-        modelProperties: {
-          blobAnalyticsLogging: {
-            serializedName: "Logging",
-            xmlName: "Logging",
-            type: {
-              name: "Composite",
-              className: "Logging"
-            }
-          },
-          hourMetrics: {
-            serializedName: "HourMetrics",
-            xmlName: "HourMetrics",
-            type: {
-              name: "Composite",
-              className: "Metrics"
-            }
-          },
-          minuteMetrics: {
-            serializedName: "MinuteMetrics",
-            xmlName: "MinuteMetrics",
-            type: {
-              name: "Composite",
-              className: "Metrics"
-            }
-          },
-          cors: {
-            serializedName: "Cors",
-            xmlName: "Cors",
-            xmlIsWrapped: true,
-            xmlElementName: "CorsRule",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "CorsRule"
-                }
-              }
-            }
-          },
-          defaultServiceVersion: {
-            serializedName: "DefaultServiceVersion",
-            xmlName: "DefaultServiceVersion",
-            type: {
-              name: "String"
-            }
-          },
-          deleteRetentionPolicy: {
-            serializedName: "DeleteRetentionPolicy",
-            xmlName: "DeleteRetentionPolicy",
-            type: {
-              name: "Composite",
-              className: "RetentionPolicy"
-            }
-          },
-          staticWebsite: {
-            serializedName: "StaticWebsite",
-            xmlName: "StaticWebsite",
-            type: {
-              name: "Composite",
-              className: "StaticWebsite"
-            }
-          }
+    exports2.logger = void 0;
+    var logger_1 = require_commonjs4();
+    exports2.logger = (0, logger_1.createClientLogger)("core-lro");
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/poller/constants.js
+var require_constants16 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/poller/constants.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.terminalStates = exports2.POLL_INTERVAL_IN_MS = void 0;
+    exports2.POLL_INTERVAL_IN_MS = 2e3;
+    exports2.terminalStates = ["succeeded", "canceled", "failed"];
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/poller/operation.js
+var require_operation = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/poller/operation.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.pollOperation = exports2.initOperation = exports2.deserializeState = void 0;
+    var logger_js_1 = require_logger2();
+    var constants_js_1 = require_constants16();
+    function deserializeState(serializedState) {
+      try {
+        return JSON.parse(serializedState).state;
+      } catch (e) {
+        throw new Error(`Unable to deserialize input state: ${serializedState}`);
+      }
+    }
+    exports2.deserializeState = deserializeState;
+    function setStateError(inputs) {
+      const { state, stateProxy, isOperationError } = inputs;
+      return (error3) => {
+        if (isOperationError(error3)) {
+          stateProxy.setError(state, error3);
+          stateProxy.setFailed(state);
         }
+        throw error3;
+      };
+    }
+    function appendReadableErrorMessage(currentMessage, innerMessage) {
+      let message = currentMessage;
+      if (message.slice(-1) !== ".") {
+        message = message + ".";
       }
-    };
-    exports2.Logging = {
-      serializedName: "Logging",
-      type: {
-        name: "Composite",
-        className: "Logging",
-        modelProperties: {
-          version: {
-            serializedName: "Version",
-            required: true,
-            xmlName: "Version",
-            type: {
-              name: "String"
-            }
-          },
-          deleteProperty: {
-            serializedName: "Delete",
-            required: true,
-            xmlName: "Delete",
-            type: {
-              name: "Boolean"
-            }
-          },
-          read: {
-            serializedName: "Read",
-            required: true,
-            xmlName: "Read",
-            type: {
-              name: "Boolean"
-            }
-          },
-          write: {
-            serializedName: "Write",
-            required: true,
-            xmlName: "Write",
-            type: {
-              name: "Boolean"
-            }
-          },
-          retentionPolicy: {
-            serializedName: "RetentionPolicy",
-            xmlName: "RetentionPolicy",
-            type: {
-              name: "Composite",
-              className: "RetentionPolicy"
-            }
+      return message + " " + innerMessage;
+    }
+    function simplifyError(err) {
+      let message = err.message;
+      let code = err.code;
+      let curErr = err;
+      while (curErr.innererror) {
+        curErr = curErr.innererror;
+        code = curErr.code;
+        message = appendReadableErrorMessage(message, curErr.message);
+      }
+      return {
+        code,
+        message
+      };
+    }
+    function processOperationStatus(result) {
+      const { state, stateProxy, status, isDone, processResult, getError, response, setErrorAsResult } = result;
+      switch (status) {
+        case "succeeded": {
+          stateProxy.setSucceeded(state);
+          break;
+        }
+        case "failed": {
+          const err = getError === null || getError === void 0 ? void 0 : getError(response);
+          let postfix = "";
+          if (err) {
+            const { code, message } = simplifyError(err);
+            postfix = `. ${code}. ${message}`;
           }
+          const errStr = `The long-running operation has failed${postfix}`;
+          stateProxy.setError(state, new Error(errStr));
+          stateProxy.setFailed(state);
+          logger_js_1.logger.warning(errStr);
+          break;
+        }
+        case "canceled": {
+          stateProxy.setCanceled(state);
+          break;
         }
       }
-    };
-    exports2.RetentionPolicy = {
-      serializedName: "RetentionPolicy",
-      type: {
-        name: "Composite",
-        className: "RetentionPolicy",
-        modelProperties: {
-          enabled: {
-            serializedName: "Enabled",
-            required: true,
-            xmlName: "Enabled",
-            type: {
-              name: "Boolean"
-            }
-          },
-          days: {
-            constraints: {
-              InclusiveMinimum: 1
-            },
-            serializedName: "Days",
-            xmlName: "Days",
-            type: {
-              name: "Number"
-            }
-          }
+      if ((isDone === null || isDone === void 0 ? void 0 : isDone(response, state)) || isDone === void 0 && ["succeeded", "canceled"].concat(setErrorAsResult ? [] : ["failed"]).includes(status)) {
+        stateProxy.setResult(state, buildResult({
+          response,
+          state,
+          processResult
+        }));
+      }
+    }
+    function buildResult(inputs) {
+      const { processResult, response, state } = inputs;
+      return processResult ? processResult(response, state) : response;
+    }
+    async function initOperation(inputs) {
+      const { init, stateProxy, processResult, getOperationStatus, withOperationLocation, setErrorAsResult } = inputs;
+      const { operationLocation, resourceLocation, metadata, response } = await init();
+      if (operationLocation)
+        withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(operationLocation, false);
+      const config = {
+        metadata,
+        operationLocation,
+        resourceLocation
+      };
+      logger_js_1.logger.verbose(`LRO: Operation description:`, config);
+      const state = stateProxy.initState(config);
+      const status = getOperationStatus({ response, state, operationLocation });
+      processOperationStatus({ state, status, stateProxy, response, setErrorAsResult, processResult });
+      return state;
+    }
+    exports2.initOperation = initOperation;
+    async function pollOperationHelper(inputs) {
+      const { poll, state, stateProxy, operationLocation, getOperationStatus, getResourceLocation, isOperationError, options } = inputs;
+      const response = await poll(operationLocation, options).catch(setStateError({
+        state,
+        stateProxy,
+        isOperationError
+      }));
+      const status = getOperationStatus(response, state);
+      logger_js_1.logger.verbose(`LRO: Status:
+	Polling from: ${state.config.operationLocation}
+	Operation status: ${status}
+	Polling status: ${constants_js_1.terminalStates.includes(status) ? "Stopped" : "Running"}`);
+      if (status === "succeeded") {
+        const resourceLocation = getResourceLocation(response, state);
+        if (resourceLocation !== void 0) {
+          return {
+            response: await poll(resourceLocation).catch(setStateError({ state, stateProxy, isOperationError })),
+            status
+          };
         }
       }
-    };
-    exports2.Metrics = {
-      serializedName: "Metrics",
-      type: {
-        name: "Composite",
-        className: "Metrics",
-        modelProperties: {
-          version: {
-            serializedName: "Version",
-            xmlName: "Version",
-            type: {
-              name: "String"
-            }
-          },
-          enabled: {
-            serializedName: "Enabled",
-            required: true,
-            xmlName: "Enabled",
-            type: {
-              name: "Boolean"
-            }
-          },
-          includeAPIs: {
-            serializedName: "IncludeAPIs",
-            xmlName: "IncludeAPIs",
-            type: {
-              name: "Boolean"
-            }
-          },
-          retentionPolicy: {
-            serializedName: "RetentionPolicy",
-            xmlName: "RetentionPolicy",
-            type: {
-              name: "Composite",
-              className: "RetentionPolicy"
-            }
-          }
+      return { response, status };
+    }
+    async function pollOperation(inputs) {
+      const { poll, state, stateProxy, options, getOperationStatus, getResourceLocation, getOperationLocation, isOperationError, withOperationLocation, getPollingInterval, processResult, getError, updateState, setDelay, isDone, setErrorAsResult } = inputs;
+      const { operationLocation } = state.config;
+      if (operationLocation !== void 0) {
+        const { response, status } = await pollOperationHelper({
+          poll,
+          getOperationStatus,
+          state,
+          stateProxy,
+          operationLocation,
+          getResourceLocation,
+          isOperationError,
+          options
+        });
+        processOperationStatus({
+          status,
+          response,
+          state,
+          stateProxy,
+          isDone,
+          processResult,
+          getError,
+          setErrorAsResult
+        });
+        if (!constants_js_1.terminalStates.includes(status)) {
+          const intervalInMs = getPollingInterval === null || getPollingInterval === void 0 ? void 0 : getPollingInterval(response);
+          if (intervalInMs)
+            setDelay(intervalInMs);
+          const location = getOperationLocation === null || getOperationLocation === void 0 ? void 0 : getOperationLocation(response, state);
+          if (location !== void 0) {
+            const isUpdated = operationLocation !== location;
+            state.config.operationLocation = location;
+            withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(location, isUpdated);
+          } else
+            withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(operationLocation, false);
         }
+        updateState === null || updateState === void 0 ? void 0 : updateState(state, response);
       }
-    };
-    exports2.CorsRule = {
-      serializedName: "CorsRule",
-      type: {
-        name: "Composite",
-        className: "CorsRule",
-        modelProperties: {
-          allowedOrigins: {
-            serializedName: "AllowedOrigins",
-            required: true,
-            xmlName: "AllowedOrigins",
-            type: {
-              name: "String"
-            }
-          },
-          allowedMethods: {
-            serializedName: "AllowedMethods",
-            required: true,
-            xmlName: "AllowedMethods",
-            type: {
-              name: "String"
-            }
-          },
-          allowedHeaders: {
-            serializedName: "AllowedHeaders",
-            required: true,
-            xmlName: "AllowedHeaders",
-            type: {
-              name: "String"
-            }
-          },
-          exposedHeaders: {
-            serializedName: "ExposedHeaders",
-            required: true,
-            xmlName: "ExposedHeaders",
-            type: {
-              name: "String"
-            }
-          },
-          maxAgeInSeconds: {
-            constraints: {
-              InclusiveMinimum: 0
-            },
-            serializedName: "MaxAgeInSeconds",
-            required: true,
-            xmlName: "MaxAgeInSeconds",
-            type: {
-              name: "Number"
-            }
-          }
+    }
+    exports2.pollOperation = pollOperation;
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/http/operation.js
+var require_operation2 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/http/operation.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.pollHttpOperation = exports2.isOperationError = exports2.getResourceLocation = exports2.getOperationStatus = exports2.getOperationLocation = exports2.initHttpOperation = exports2.getStatusFromInitialResponse = exports2.getErrorFromResponse = exports2.parseRetryAfter = exports2.inferLroMode = void 0;
+    var operation_js_1 = require_operation();
+    var logger_js_1 = require_logger2();
+    function getOperationLocationPollingUrl(inputs) {
+      const { azureAsyncOperation, operationLocation } = inputs;
+      return operationLocation !== null && operationLocation !== void 0 ? operationLocation : azureAsyncOperation;
+    }
+    function getLocationHeader(rawResponse) {
+      return rawResponse.headers["location"];
+    }
+    function getOperationLocationHeader(rawResponse) {
+      return rawResponse.headers["operation-location"];
+    }
+    function getAzureAsyncOperationHeader(rawResponse) {
+      return rawResponse.headers["azure-asyncoperation"];
+    }
+    function findResourceLocation(inputs) {
+      var _a;
+      const { location, requestMethod, requestPath, resourceLocationConfig } = inputs;
+      switch (requestMethod) {
+        case "PUT": {
+          return requestPath;
+        }
+        case "DELETE": {
+          return void 0;
+        }
+        case "PATCH": {
+          return (_a = getDefault()) !== null && _a !== void 0 ? _a : requestPath;
+        }
+        default: {
+          return getDefault();
         }
       }
-    };
-    exports2.StaticWebsite = {
-      serializedName: "StaticWebsite",
-      type: {
-        name: "Composite",
-        className: "StaticWebsite",
-        modelProperties: {
-          enabled: {
-            serializedName: "Enabled",
-            required: true,
-            xmlName: "Enabled",
-            type: {
-              name: "Boolean"
-            }
-          },
-          indexDocument: {
-            serializedName: "IndexDocument",
-            xmlName: "IndexDocument",
-            type: {
-              name: "String"
-            }
-          },
-          errorDocument404Path: {
-            serializedName: "ErrorDocument404Path",
-            xmlName: "ErrorDocument404Path",
-            type: {
-              name: "String"
-            }
-          },
-          defaultIndexDocumentPath: {
-            serializedName: "DefaultIndexDocumentPath",
-            xmlName: "DefaultIndexDocumentPath",
-            type: {
-              name: "String"
-            }
+      function getDefault() {
+        switch (resourceLocationConfig) {
+          case "azure-async-operation": {
+            return void 0;
           }
-        }
-      }
-    };
-    exports2.StorageError = {
-      serializedName: "StorageError",
-      type: {
-        name: "Composite",
-        className: "StorageError",
-        modelProperties: {
-          message: {
-            serializedName: "Message",
-            xmlName: "Message",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceStatusCode: {
-            serializedName: "CopySourceStatusCode",
-            xmlName: "CopySourceStatusCode",
-            type: {
-              name: "Number"
-            }
-          },
-          copySourceErrorCode: {
-            serializedName: "CopySourceErrorCode",
-            xmlName: "CopySourceErrorCode",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceErrorMessage: {
-            serializedName: "CopySourceErrorMessage",
-            xmlName: "CopySourceErrorMessage",
-            type: {
-              name: "String"
-            }
-          },
-          code: {
-            serializedName: "Code",
-            xmlName: "Code",
-            type: {
-              name: "String"
-            }
-          },
-          authenticationErrorDetail: {
-            serializedName: "AuthenticationErrorDetail",
-            xmlName: "AuthenticationErrorDetail",
-            type: {
-              name: "String"
-            }
+          case "original-uri": {
+            return requestPath;
+          }
+          case "location":
+          default: {
+            return location;
           }
         }
       }
-    };
-    exports2.BlobServiceStatistics = {
-      serializedName: "BlobServiceStatistics",
-      xmlName: "StorageServiceStats",
-      type: {
-        name: "Composite",
-        className: "BlobServiceStatistics",
-        modelProperties: {
-          geoReplication: {
-            serializedName: "GeoReplication",
-            xmlName: "GeoReplication",
-            type: {
-              name: "Composite",
-              className: "GeoReplication"
-            }
-          }
+    }
+    function inferLroMode(inputs) {
+      const { rawResponse, requestMethod, requestPath, resourceLocationConfig } = inputs;
+      const operationLocation = getOperationLocationHeader(rawResponse);
+      const azureAsyncOperation = getAzureAsyncOperationHeader(rawResponse);
+      const pollingUrl = getOperationLocationPollingUrl({ operationLocation, azureAsyncOperation });
+      const location = getLocationHeader(rawResponse);
+      const normalizedRequestMethod = requestMethod === null || requestMethod === void 0 ? void 0 : requestMethod.toLocaleUpperCase();
+      if (pollingUrl !== void 0) {
+        return {
+          mode: "OperationLocation",
+          operationLocation: pollingUrl,
+          resourceLocation: findResourceLocation({
+            requestMethod: normalizedRequestMethod,
+            location,
+            requestPath,
+            resourceLocationConfig
+          })
+        };
+      } else if (location !== void 0) {
+        return {
+          mode: "ResourceLocation",
+          operationLocation: location
+        };
+      } else if (normalizedRequestMethod === "PUT" && requestPath) {
+        return {
+          mode: "Body",
+          operationLocation: requestPath
+        };
+      } else {
+        return void 0;
+      }
+    }
+    exports2.inferLroMode = inferLroMode;
+    function transformStatus(inputs) {
+      const { status, statusCode } = inputs;
+      if (typeof status !== "string" && status !== void 0) {
+        throw new Error(`Polling was unsuccessful. Expected status to have a string value or no value but it has instead: ${status}. This doesn't necessarily indicate the operation has failed. Check your Azure subscription or resource status for more information.`);
+      }
+      switch (status === null || status === void 0 ? void 0 : status.toLocaleLowerCase()) {
+        case void 0:
+          return toOperationStatus(statusCode);
+        case "succeeded":
+          return "succeeded";
+        case "failed":
+          return "failed";
+        case "running":
+        case "accepted":
+        case "started":
+        case "canceling":
+        case "cancelling":
+          return "running";
+        case "canceled":
+        case "cancelled":
+          return "canceled";
+        default: {
+          logger_js_1.logger.verbose(`LRO: unrecognized operation status: ${status}`);
+          return status;
         }
       }
-    };
-    exports2.GeoReplication = {
-      serializedName: "GeoReplication",
-      type: {
-        name: "Composite",
-        className: "GeoReplication",
-        modelProperties: {
-          status: {
-            serializedName: "Status",
-            required: true,
-            xmlName: "Status",
-            type: {
-              name: "Enum",
-              allowedValues: ["live", "bootstrap", "unavailable"]
-            }
-          },
-          lastSyncOn: {
-            serializedName: "LastSyncTime",
-            required: true,
-            xmlName: "LastSyncTime",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          }
+    }
+    function getStatus(rawResponse) {
+      var _a;
+      const { status } = (_a = rawResponse.body) !== null && _a !== void 0 ? _a : {};
+      return transformStatus({ status, statusCode: rawResponse.statusCode });
+    }
+    function getProvisioningState(rawResponse) {
+      var _a, _b;
+      const { properties, provisioningState } = (_a = rawResponse.body) !== null && _a !== void 0 ? _a : {};
+      const status = (_b = properties === null || properties === void 0 ? void 0 : properties.provisioningState) !== null && _b !== void 0 ? _b : provisioningState;
+      return transformStatus({ status, statusCode: rawResponse.statusCode });
+    }
+    function toOperationStatus(statusCode) {
+      if (statusCode === 202) {
+        return "running";
+      } else if (statusCode < 300) {
+        return "succeeded";
+      } else {
+        return "failed";
+      }
+    }
+    function parseRetryAfter({ rawResponse }) {
+      const retryAfter = rawResponse.headers["retry-after"];
+      if (retryAfter !== void 0) {
+        const retryAfterInSeconds = parseInt(retryAfter);
+        return isNaN(retryAfterInSeconds) ? calculatePollingIntervalFromDate(new Date(retryAfter)) : retryAfterInSeconds * 1e3;
+      }
+      return void 0;
+    }
+    exports2.parseRetryAfter = parseRetryAfter;
+    function getErrorFromResponse(response) {
+      const error3 = accessBodyProperty(response, "error");
+      if (!error3) {
+        logger_js_1.logger.warning(`The long-running operation failed but there is no error property in the response's body`);
+        return;
+      }
+      if (!error3.code || !error3.message) {
+        logger_js_1.logger.warning(`The long-running operation failed but the error property in the response's body doesn't contain code or message`);
+        return;
+      }
+      return error3;
+    }
+    exports2.getErrorFromResponse = getErrorFromResponse;
+    function calculatePollingIntervalFromDate(retryAfterDate) {
+      const timeNow = Math.floor((/* @__PURE__ */ new Date()).getTime());
+      const retryAfterTime = retryAfterDate.getTime();
+      if (timeNow < retryAfterTime) {
+        return retryAfterTime - timeNow;
+      }
+      return void 0;
+    }
+    function getStatusFromInitialResponse(inputs) {
+      const { response, state, operationLocation } = inputs;
+      function helper() {
+        var _a;
+        const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"];
+        switch (mode) {
+          case void 0:
+            return toOperationStatus(response.rawResponse.statusCode);
+          case "Body":
+            return getOperationStatus(response, state);
+          default:
+            return "running";
         }
       }
-    };
-    exports2.ListContainersSegmentResponse = {
-      serializedName: "ListContainersSegmentResponse",
-      xmlName: "EnumerationResults",
-      type: {
-        name: "Composite",
-        className: "ListContainersSegmentResponse",
-        modelProperties: {
-          serviceEndpoint: {
-            serializedName: "ServiceEndpoint",
-            required: true,
-            xmlName: "ServiceEndpoint",
-            xmlIsAttribute: true,
-            type: {
-              name: "String"
-            }
-          },
-          prefix: {
-            serializedName: "Prefix",
-            xmlName: "Prefix",
-            type: {
-              name: "String"
-            }
-          },
-          marker: {
-            serializedName: "Marker",
-            xmlName: "Marker",
-            type: {
-              name: "String"
-            }
-          },
-          maxPageSize: {
-            serializedName: "MaxResults",
-            xmlName: "MaxResults",
-            type: {
-              name: "Number"
-            }
-          },
-          containerItems: {
-            serializedName: "ContainerItems",
-            required: true,
-            xmlName: "Containers",
-            xmlIsWrapped: true,
-            xmlElementName: "Container",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "ContainerItem"
-                }
-              }
-            }
-          },
-          continuationToken: {
-            serializedName: "NextMarker",
-            xmlName: "NextMarker",
-            type: {
-              name: "String"
-            }
-          }
+      const status = helper();
+      return status === "running" && operationLocation === void 0 ? "succeeded" : status;
+    }
+    exports2.getStatusFromInitialResponse = getStatusFromInitialResponse;
+    async function initHttpOperation(inputs) {
+      const { stateProxy, resourceLocationConfig, processResult, lro, setErrorAsResult } = inputs;
+      return (0, operation_js_1.initOperation)({
+        init: async () => {
+          const response = await lro.sendInitialRequest();
+          const config = inferLroMode({
+            rawResponse: response.rawResponse,
+            requestPath: lro.requestPath,
+            requestMethod: lro.requestMethod,
+            resourceLocationConfig
+          });
+          return Object.assign({ response, operationLocation: config === null || config === void 0 ? void 0 : config.operationLocation, resourceLocation: config === null || config === void 0 ? void 0 : config.resourceLocation }, (config === null || config === void 0 ? void 0 : config.mode) ? { metadata: { mode: config.mode } } : {});
+        },
+        stateProxy,
+        processResult: processResult ? ({ flatResponse }, state) => processResult(flatResponse, state) : ({ flatResponse }) => flatResponse,
+        getOperationStatus: getStatusFromInitialResponse,
+        setErrorAsResult
+      });
+    }
+    exports2.initHttpOperation = initHttpOperation;
+    function getOperationLocation({ rawResponse }, state) {
+      var _a;
+      const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"];
+      switch (mode) {
+        case "OperationLocation": {
+          return getOperationLocationPollingUrl({
+            operationLocation: getOperationLocationHeader(rawResponse),
+            azureAsyncOperation: getAzureAsyncOperationHeader(rawResponse)
+          });
+        }
+        case "ResourceLocation": {
+          return getLocationHeader(rawResponse);
+        }
+        case "Body":
+        default: {
+          return void 0;
         }
       }
-    };
-    exports2.ContainerItem = {
-      serializedName: "ContainerItem",
-      xmlName: "Container",
-      type: {
-        name: "Composite",
-        className: "ContainerItem",
-        modelProperties: {
-          name: {
-            serializedName: "Name",
-            required: true,
-            xmlName: "Name",
-            type: {
-              name: "String"
-            }
-          },
-          deleted: {
-            serializedName: "Deleted",
-            xmlName: "Deleted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          version: {
-            serializedName: "Version",
-            xmlName: "Version",
-            type: {
-              name: "String"
-            }
-          },
-          properties: {
-            serializedName: "Properties",
-            xmlName: "Properties",
-            type: {
-              name: "Composite",
-              className: "ContainerProperties"
-            }
-          },
-          metadata: {
-            serializedName: "Metadata",
-            xmlName: "Metadata",
-            type: {
-              name: "Dictionary",
-              value: { type: { name: "String" } }
-            }
-          }
+    }
+    exports2.getOperationLocation = getOperationLocation;
+    function getOperationStatus({ rawResponse }, state) {
+      var _a;
+      const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"];
+      switch (mode) {
+        case "OperationLocation": {
+          return getStatus(rawResponse);
+        }
+        case "ResourceLocation": {
+          return toOperationStatus(rawResponse.statusCode);
+        }
+        case "Body": {
+          return getProvisioningState(rawResponse);
         }
+        default:
+          throw new Error(`Internal error: Unexpected operation mode: ${mode}`);
       }
-    };
-    exports2.ContainerProperties = {
-      serializedName: "ContainerProperties",
-      type: {
-        name: "Composite",
-        className: "ContainerProperties",
-        modelProperties: {
-          lastModified: {
-            serializedName: "Last-Modified",
-            required: true,
-            xmlName: "Last-Modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          etag: {
-            serializedName: "Etag",
-            required: true,
-            xmlName: "Etag",
-            type: {
-              name: "String"
-            }
-          },
-          leaseStatus: {
-            serializedName: "LeaseStatus",
-            xmlName: "LeaseStatus",
-            type: {
-              name: "Enum",
-              allowedValues: ["locked", "unlocked"]
-            }
-          },
-          leaseState: {
-            serializedName: "LeaseState",
-            xmlName: "LeaseState",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "available",
-                "leased",
-                "expired",
-                "breaking",
-                "broken"
-              ]
-            }
-          },
-          leaseDuration: {
-            serializedName: "LeaseDuration",
-            xmlName: "LeaseDuration",
-            type: {
-              name: "Enum",
-              allowedValues: ["infinite", "fixed"]
-            }
-          },
-          publicAccess: {
-            serializedName: "PublicAccess",
-            xmlName: "PublicAccess",
-            type: {
-              name: "Enum",
-              allowedValues: ["container", "blob"]
-            }
+    }
+    exports2.getOperationStatus = getOperationStatus;
+    function accessBodyProperty({ flatResponse, rawResponse }, prop) {
+      var _a, _b;
+      return (_a = flatResponse === null || flatResponse === void 0 ? void 0 : flatResponse[prop]) !== null && _a !== void 0 ? _a : (_b = rawResponse.body) === null || _b === void 0 ? void 0 : _b[prop];
+    }
+    function getResourceLocation(res, state) {
+      const loc = accessBodyProperty(res, "resourceLocation");
+      if (loc && typeof loc === "string") {
+        state.config.resourceLocation = loc;
+      }
+      return state.config.resourceLocation;
+    }
+    exports2.getResourceLocation = getResourceLocation;
+    function isOperationError(e) {
+      return e.name === "RestError";
+    }
+    exports2.isOperationError = isOperationError;
+    async function pollHttpOperation(inputs) {
+      const { lro, stateProxy, options, processResult, updateState, setDelay, state, setErrorAsResult } = inputs;
+      return (0, operation_js_1.pollOperation)({
+        state,
+        stateProxy,
+        setDelay,
+        processResult: processResult ? ({ flatResponse }, inputState) => processResult(flatResponse, inputState) : ({ flatResponse }) => flatResponse,
+        getError: getErrorFromResponse,
+        updateState,
+        getPollingInterval: parseRetryAfter,
+        getOperationLocation,
+        getOperationStatus,
+        isOperationError,
+        getResourceLocation,
+        options,
+        /**
+         * The expansion here is intentional because `lro` could be an object that
+         * references an inner this, so we need to preserve a reference to it.
+         */
+        poll: async (location, inputOptions) => lro.sendPollRequest(location, inputOptions),
+        setErrorAsResult
+      });
+    }
+    exports2.pollHttpOperation = pollHttpOperation;
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/poller/poller.js
+var require_poller = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/poller/poller.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.buildCreatePoller = void 0;
+    var operation_js_1 = require_operation();
+    var constants_js_1 = require_constants16();
+    var core_util_1 = require_commonjs6();
+    var createStateProxy = () => ({
+      /**
+       * The state at this point is created to be of type OperationState.
+       * It will be updated later to be of type TState when the
+       * customer-provided callback, `updateState`, is called during polling.
+       */
+      initState: (config) => ({ status: "running", config }),
+      setCanceled: (state) => state.status = "canceled",
+      setError: (state, error3) => state.error = error3,
+      setResult: (state, result) => state.result = result,
+      setRunning: (state) => state.status = "running",
+      setSucceeded: (state) => state.status = "succeeded",
+      setFailed: (state) => state.status = "failed",
+      getError: (state) => state.error,
+      getResult: (state) => state.result,
+      isCanceled: (state) => state.status === "canceled",
+      isFailed: (state) => state.status === "failed",
+      isRunning: (state) => state.status === "running",
+      isSucceeded: (state) => state.status === "succeeded"
+    });
+    function buildCreatePoller(inputs) {
+      const { getOperationLocation, getStatusFromInitialResponse, getStatusFromPollResponse, isOperationError, getResourceLocation, getPollingInterval, getError, resolveOnUnsuccessful } = inputs;
+      return async ({ init, poll }, options) => {
+        const { processResult, updateState, withOperationLocation: withOperationLocationCallback, intervalInMs = constants_js_1.POLL_INTERVAL_IN_MS, restoreFrom } = options || {};
+        const stateProxy = createStateProxy();
+        const withOperationLocation = withOperationLocationCallback ? /* @__PURE__ */ (() => {
+          let called = false;
+          return (operationLocation, isUpdated) => {
+            if (isUpdated)
+              withOperationLocationCallback(operationLocation);
+            else if (!called)
+              withOperationLocationCallback(operationLocation);
+            called = true;
+          };
+        })() : void 0;
+        const state = restoreFrom ? (0, operation_js_1.deserializeState)(restoreFrom) : await (0, operation_js_1.initOperation)({
+          init,
+          stateProxy,
+          processResult,
+          getOperationStatus: getStatusFromInitialResponse,
+          withOperationLocation,
+          setErrorAsResult: !resolveOnUnsuccessful
+        });
+        let resultPromise;
+        const abortController = new AbortController();
+        const handlers = /* @__PURE__ */ new Map();
+        const handleProgressEvents = async () => handlers.forEach((h) => h(state));
+        const cancelErrMsg = "Operation was canceled";
+        let currentPollIntervalInMs = intervalInMs;
+        const poller = {
+          getOperationState: () => state,
+          getResult: () => state.result,
+          isDone: () => ["succeeded", "failed", "canceled"].includes(state.status),
+          isStopped: () => resultPromise === void 0,
+          stopPolling: () => {
+            abortController.abort();
           },
-          hasImmutabilityPolicy: {
-            serializedName: "HasImmutabilityPolicy",
-            xmlName: "HasImmutabilityPolicy",
-            type: {
-              name: "Boolean"
-            }
+          toString: () => JSON.stringify({
+            state
+          }),
+          onProgress: (callback) => {
+            const s = /* @__PURE__ */ Symbol();
+            handlers.set(s, callback);
+            return () => handlers.delete(s);
           },
-          hasLegalHold: {
-            serializedName: "HasLegalHold",
-            xmlName: "HasLegalHold",
-            type: {
-              name: "Boolean"
+          pollUntilDone: (pollOptions) => resultPromise !== null && resultPromise !== void 0 ? resultPromise : resultPromise = (async () => {
+            const { abortSignal: inputAbortSignal } = pollOptions || {};
+            function abortListener() {
+              abortController.abort();
             }
-          },
-          defaultEncryptionScope: {
-            serializedName: "DefaultEncryptionScope",
-            xmlName: "DefaultEncryptionScope",
-            type: {
-              name: "String"
+            const abortSignal = abortController.signal;
+            if (inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.aborted) {
+              abortController.abort();
+            } else if (!abortSignal.aborted) {
+              inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.addEventListener("abort", abortListener, { once: true });
             }
-          },
-          preventEncryptionScopeOverride: {
-            serializedName: "DenyEncryptionScopeOverride",
-            xmlName: "DenyEncryptionScopeOverride",
-            type: {
-              name: "Boolean"
+            try {
+              if (!poller.isDone()) {
+                await poller.poll({ abortSignal });
+                while (!poller.isDone()) {
+                  await (0, core_util_1.delay)(currentPollIntervalInMs, { abortSignal });
+                  await poller.poll({ abortSignal });
+                }
+              }
+            } finally {
+              inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.removeEventListener("abort", abortListener);
             }
-          },
-          deletedOn: {
-            serializedName: "DeletedTime",
-            xmlName: "DeletedTime",
-            type: {
-              name: "DateTimeRfc1123"
+            if (resolveOnUnsuccessful) {
+              return poller.getResult();
+            } else {
+              switch (state.status) {
+                case "succeeded":
+                  return poller.getResult();
+                case "canceled":
+                  throw new Error(cancelErrMsg);
+                case "failed":
+                  throw state.error;
+                case "notStarted":
+                case "running":
+                  throw new Error(`Polling completed without succeeding or failing`);
+              }
             }
-          },
-          remainingRetentionDays: {
-            serializedName: "RemainingRetentionDays",
-            xmlName: "RemainingRetentionDays",
-            type: {
-              name: "Number"
+          })().finally(() => {
+            resultPromise = void 0;
+          }),
+          async poll(pollOptions) {
+            if (resolveOnUnsuccessful) {
+              if (poller.isDone())
+                return;
+            } else {
+              switch (state.status) {
+                case "succeeded":
+                  return;
+                case "canceled":
+                  throw new Error(cancelErrMsg);
+                case "failed":
+                  throw state.error;
+              }
             }
-          },
-          isImmutableStorageWithVersioningEnabled: {
-            serializedName: "ImmutableStorageWithVersioningEnabled",
-            xmlName: "ImmutableStorageWithVersioningEnabled",
-            type: {
-              name: "Boolean"
+            await (0, operation_js_1.pollOperation)({
+              poll,
+              state,
+              stateProxy,
+              getOperationLocation,
+              isOperationError,
+              withOperationLocation,
+              getPollingInterval,
+              getOperationStatus: getStatusFromPollResponse,
+              getResourceLocation,
+              processResult,
+              getError,
+              updateState,
+              options: pollOptions,
+              setDelay: (pollIntervalInMs) => {
+                currentPollIntervalInMs = pollIntervalInMs;
+              },
+              setErrorAsResult: !resolveOnUnsuccessful
+            });
+            await handleProgressEvents();
+            if (!resolveOnUnsuccessful) {
+              switch (state.status) {
+                case "canceled":
+                  throw new Error(cancelErrMsg);
+                case "failed":
+                  throw state.error;
+              }
             }
           }
+        };
+        return poller;
+      };
+    }
+    exports2.buildCreatePoller = buildCreatePoller;
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/http/poller.js
+var require_poller2 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/http/poller.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createHttpPoller = void 0;
+    var operation_js_1 = require_operation2();
+    var poller_js_1 = require_poller();
+    async function createHttpPoller(lro, options) {
+      const { resourceLocationConfig, intervalInMs, processResult, restoreFrom, updateState, withOperationLocation, resolveOnUnsuccessful = false } = options || {};
+      return (0, poller_js_1.buildCreatePoller)({
+        getStatusFromInitialResponse: operation_js_1.getStatusFromInitialResponse,
+        getStatusFromPollResponse: operation_js_1.getOperationStatus,
+        isOperationError: operation_js_1.isOperationError,
+        getOperationLocation: operation_js_1.getOperationLocation,
+        getResourceLocation: operation_js_1.getResourceLocation,
+        getPollingInterval: operation_js_1.parseRetryAfter,
+        getError: operation_js_1.getErrorFromResponse,
+        resolveOnUnsuccessful
+      })({
+        init: async () => {
+          const response = await lro.sendInitialRequest();
+          const config = (0, operation_js_1.inferLroMode)({
+            rawResponse: response.rawResponse,
+            requestPath: lro.requestPath,
+            requestMethod: lro.requestMethod,
+            resourceLocationConfig
+          });
+          return Object.assign({ response, operationLocation: config === null || config === void 0 ? void 0 : config.operationLocation, resourceLocation: config === null || config === void 0 ? void 0 : config.resourceLocation }, (config === null || config === void 0 ? void 0 : config.mode) ? { metadata: { mode: config.mode } } : {});
+        },
+        poll: lro.sendPollRequest
+      }, {
+        intervalInMs,
+        withOperationLocation,
+        restoreFrom,
+        updateState,
+        processResult: processResult ? ({ flatResponse }, state) => processResult(flatResponse, state) : ({ flatResponse }) => flatResponse
+      });
+    }
+    exports2.createHttpPoller = createHttpPoller;
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/operation.js
+var require_operation3 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/operation.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.GenericPollOperation = void 0;
+    var operation_js_1 = require_operation2();
+    var logger_js_1 = require_logger2();
+    var createStateProxy = () => ({
+      initState: (config) => ({ config, isStarted: true }),
+      setCanceled: (state) => state.isCancelled = true,
+      setError: (state, error3) => state.error = error3,
+      setResult: (state, result) => state.result = result,
+      setRunning: (state) => state.isStarted = true,
+      setSucceeded: (state) => state.isCompleted = true,
+      setFailed: () => {
+      },
+      getError: (state) => state.error,
+      getResult: (state) => state.result,
+      isCanceled: (state) => !!state.isCancelled,
+      isFailed: (state) => !!state.error,
+      isRunning: (state) => !!state.isStarted,
+      isSucceeded: (state) => Boolean(state.isCompleted && !state.isCancelled && !state.error)
+    });
+    var GenericPollOperation = class {
+      constructor(state, lro, setErrorAsResult, lroResourceLocationConfig, processResult, updateState, isDone) {
+        this.state = state;
+        this.lro = lro;
+        this.setErrorAsResult = setErrorAsResult;
+        this.lroResourceLocationConfig = lroResourceLocationConfig;
+        this.processResult = processResult;
+        this.updateState = updateState;
+        this.isDone = isDone;
+      }
+      setPollerConfig(pollerConfig) {
+        this.pollerConfig = pollerConfig;
+      }
+      async update(options) {
+        var _a;
+        const stateProxy = createStateProxy();
+        if (!this.state.isStarted) {
+          this.state = Object.assign(Object.assign({}, this.state), await (0, operation_js_1.initHttpOperation)({
+            lro: this.lro,
+            stateProxy,
+            resourceLocationConfig: this.lroResourceLocationConfig,
+            processResult: this.processResult,
+            setErrorAsResult: this.setErrorAsResult
+          }));
+        }
+        const updateState = this.updateState;
+        const isDone = this.isDone;
+        if (!this.state.isCompleted && this.state.error === void 0) {
+          await (0, operation_js_1.pollHttpOperation)({
+            lro: this.lro,
+            state: this.state,
+            stateProxy,
+            processResult: this.processResult,
+            updateState: updateState ? (state, { rawResponse }) => updateState(state, rawResponse) : void 0,
+            isDone: isDone ? ({ flatResponse }, state) => isDone(flatResponse, state) : void 0,
+            options,
+            setDelay: (intervalInMs) => {
+              this.pollerConfig.intervalInMs = intervalInMs;
+            },
+            setErrorAsResult: this.setErrorAsResult
+          });
         }
+        (_a = options === null || options === void 0 ? void 0 : options.fireProgress) === null || _a === void 0 ? void 0 : _a.call(options, this.state);
+        return this;
+      }
+      async cancel() {
+        logger_js_1.logger.error("`cancelOperation` is deprecated because it wasn't implemented");
+        return this;
+      }
+      /**
+       * Serializes the Poller operation.
+       */
+      toString() {
+        return JSON.stringify({
+          state: this.state
+        });
       }
     };
-    exports2.KeyInfo = {
-      serializedName: "KeyInfo",
-      type: {
-        name: "Composite",
-        className: "KeyInfo",
-        modelProperties: {
-          startsOn: {
-            serializedName: "Start",
-            required: true,
-            xmlName: "Start",
-            type: {
-              name: "String"
-            }
-          },
-          expiresOn: {
-            serializedName: "Expiry",
-            required: true,
-            xmlName: "Expiry",
-            type: {
-              name: "String"
-            }
-          }
-        }
+    exports2.GenericPollOperation = GenericPollOperation;
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/legacy/poller.js
+var require_poller3 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/legacy/poller.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Poller = exports2.PollerCancelledError = exports2.PollerStoppedError = void 0;
+    var PollerStoppedError = class _PollerStoppedError extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "PollerStoppedError";
+        Object.setPrototypeOf(this, _PollerStoppedError.prototype);
       }
     };
-    exports2.UserDelegationKey = {
-      serializedName: "UserDelegationKey",
-      type: {
-        name: "Composite",
-        className: "UserDelegationKey",
-        modelProperties: {
-          signedObjectId: {
-            serializedName: "SignedOid",
-            required: true,
-            xmlName: "SignedOid",
-            type: {
-              name: "String"
-            }
-          },
-          signedTenantId: {
-            serializedName: "SignedTid",
-            required: true,
-            xmlName: "SignedTid",
-            type: {
-              name: "String"
-            }
-          },
-          signedStartsOn: {
-            serializedName: "SignedStart",
-            required: true,
-            xmlName: "SignedStart",
-            type: {
-              name: "String"
-            }
-          },
-          signedExpiresOn: {
-            serializedName: "SignedExpiry",
-            required: true,
-            xmlName: "SignedExpiry",
-            type: {
-              name: "String"
-            }
-          },
-          signedService: {
-            serializedName: "SignedService",
-            required: true,
-            xmlName: "SignedService",
-            type: {
-              name: "String"
-            }
-          },
-          signedVersion: {
-            serializedName: "SignedVersion",
-            required: true,
-            xmlName: "SignedVersion",
-            type: {
-              name: "String"
-            }
-          },
-          value: {
-            serializedName: "Value",
-            required: true,
-            xmlName: "Value",
-            type: {
-              name: "String"
-            }
-          }
-        }
+    exports2.PollerStoppedError = PollerStoppedError;
+    var PollerCancelledError = class _PollerCancelledError extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "PollerCancelledError";
+        Object.setPrototypeOf(this, _PollerCancelledError.prototype);
       }
     };
-    exports2.FilterBlobSegment = {
-      serializedName: "FilterBlobSegment",
-      xmlName: "EnumerationResults",
-      type: {
-        name: "Composite",
-        className: "FilterBlobSegment",
-        modelProperties: {
-          serviceEndpoint: {
-            serializedName: "ServiceEndpoint",
-            required: true,
-            xmlName: "ServiceEndpoint",
-            xmlIsAttribute: true,
-            type: {
-              name: "String"
-            }
-          },
-          where: {
-            serializedName: "Where",
-            required: true,
-            xmlName: "Where",
-            type: {
-              name: "String"
-            }
-          },
-          blobs: {
-            serializedName: "Blobs",
-            required: true,
-            xmlName: "Blobs",
-            xmlIsWrapped: true,
-            xmlElementName: "Blob",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "FilterBlobItem"
-                }
-              }
-            }
-          },
-          continuationToken: {
-            serializedName: "NextMarker",
-            xmlName: "NextMarker",
-            type: {
-              name: "String"
-            }
-          }
+    exports2.PollerCancelledError = PollerCancelledError;
+    var Poller = class {
+      /**
+       * A poller needs to be initialized by passing in at least the basic properties of the `PollOperation`.
+       *
+       * When writing an implementation of a Poller, this implementation needs to deal with the initialization
+       * of any custom state beyond the basic definition of the poller. The basic poller assumes that the poller's
+       * operation has already been defined, at least its basic properties. The code below shows how to approach
+       * the definition of the constructor of a new custom poller.
+       *
+       * ```ts
+       * export class MyPoller extends Poller {
+       *   constructor({
+       *     // Anything you might need outside of the basics
+       *   }) {
+       *     let state: MyOperationState = {
+       *       privateProperty: private,
+       *       publicProperty: public,
+       *     };
+       *
+       *     const operation = {
+       *       state,
+       *       update,
+       *       cancel,
+       *       toString
+       *     }
+       *
+       *     // Sending the operation to the parent's constructor.
+       *     super(operation);
+       *
+       *     // You can assign more local properties here.
+       *   }
+       * }
+       * ```
+       *
+       * Inside of this constructor, a new promise is created. This will be used to
+       * tell the user when the poller finishes (see `pollUntilDone()`). The promise's
+       * resolve and reject methods are also used internally to control when to resolve
+       * or reject anyone waiting for the poller to finish.
+       *
+       * The constructor of a custom implementation of a poller is where any serialized version of
+       * a previous poller's operation should be deserialized into the operation sent to the
+       * base constructor. For example:
+       *
+       * ```ts
+       * export class MyPoller extends Poller {
+       *   constructor(
+       *     baseOperation: string | undefined
+       *   ) {
+       *     let state: MyOperationState = {};
+       *     if (baseOperation) {
+       *       state = {
+       *         ...JSON.parse(baseOperation).state,
+       *         ...state
+       *       };
+       *     }
+       *     const operation = {
+       *       state,
+       *       // ...
+       *     }
+       *     super(operation);
+       *   }
+       * }
+       * ```
+       *
+       * @param operation - Must contain the basic properties of `PollOperation`.
+       */
+      constructor(operation) {
+        this.resolveOnUnsuccessful = false;
+        this.stopped = true;
+        this.pollProgressCallbacks = [];
+        this.operation = operation;
+        this.promise = new Promise((resolve2, reject) => {
+          this.resolve = resolve2;
+          this.reject = reject;
+        });
+        this.promise.catch(() => {
+        });
+      }
+      /**
+       * Starts a loop that will break only if the poller is done
+       * or if the poller is stopped.
+       */
+      async startPolling(pollOptions = {}) {
+        if (this.stopped) {
+          this.stopped = false;
+        }
+        while (!this.isStopped() && !this.isDone()) {
+          await this.poll(pollOptions);
+          await this.delay();
         }
       }
-    };
-    exports2.FilterBlobItem = {
-      serializedName: "FilterBlobItem",
-      xmlName: "Blob",
-      type: {
-        name: "Composite",
-        className: "FilterBlobItem",
-        modelProperties: {
-          name: {
-            serializedName: "Name",
-            required: true,
-            xmlName: "Name",
-            type: {
-              name: "String"
-            }
-          },
-          containerName: {
-            serializedName: "ContainerName",
-            required: true,
-            xmlName: "ContainerName",
-            type: {
-              name: "String"
-            }
-          },
-          tags: {
-            serializedName: "Tags",
-            xmlName: "Tags",
-            type: {
-              name: "Composite",
-              className: "BlobTags"
-            }
-          }
+      /**
+       * pollOnce does one polling, by calling to the update method of the underlying
+       * poll operation to make any relevant change effective.
+       *
+       * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike.
+       *
+       * @param options - Optional properties passed to the operation's update method.
+       */
+      async pollOnce(options = {}) {
+        if (!this.isDone()) {
+          this.operation = await this.operation.update({
+            abortSignal: options.abortSignal,
+            fireProgress: this.fireProgress.bind(this)
+          });
         }
+        this.processUpdatedState();
       }
-    };
-    exports2.BlobTags = {
-      serializedName: "BlobTags",
-      xmlName: "Tags",
-      type: {
-        name: "Composite",
-        className: "BlobTags",
-        modelProperties: {
-          blobTagSet: {
-            serializedName: "BlobTagSet",
-            required: true,
-            xmlName: "TagSet",
-            xmlIsWrapped: true,
-            xmlElementName: "Tag",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "BlobTag"
-                }
-              }
-            }
-          }
+      /**
+       * fireProgress calls the functions passed in via onProgress the method of the poller.
+       *
+       * It loops over all of the callbacks received from onProgress, and executes them, sending them
+       * the current operation state.
+       *
+       * @param state - The current operation state.
+       */
+      fireProgress(state) {
+        for (const callback of this.pollProgressCallbacks) {
+          callback(state);
         }
       }
-    };
-    exports2.BlobTag = {
-      serializedName: "BlobTag",
-      xmlName: "Tag",
-      type: {
-        name: "Composite",
-        className: "BlobTag",
-        modelProperties: {
-          key: {
-            serializedName: "Key",
-            required: true,
-            xmlName: "Key",
-            type: {
-              name: "String"
-            }
-          },
-          value: {
-            serializedName: "Value",
-            required: true,
-            xmlName: "Value",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       * Invokes the underlying operation's cancel method.
+       */
+      async cancelOnce(options = {}) {
+        this.operation = await this.operation.cancel(options);
+      }
+      /**
+       * Returns a promise that will resolve once a single polling request finishes.
+       * It does this by calling the update method of the Poller's operation.
+       *
+       * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike.
+       *
+       * @param options - Optional properties passed to the operation's update method.
+       */
+      poll(options = {}) {
+        if (!this.pollOncePromise) {
+          this.pollOncePromise = this.pollOnce(options);
+          const clearPollOncePromise = () => {
+            this.pollOncePromise = void 0;
+          };
+          this.pollOncePromise.then(clearPollOncePromise, clearPollOncePromise).catch(this.reject);
         }
+        return this.pollOncePromise;
       }
-    };
-    exports2.SignedIdentifier = {
-      serializedName: "SignedIdentifier",
-      xmlName: "SignedIdentifier",
-      type: {
-        name: "Composite",
-        className: "SignedIdentifier",
-        modelProperties: {
-          id: {
-            serializedName: "Id",
-            required: true,
-            xmlName: "Id",
-            type: {
-              name: "String"
-            }
-          },
-          accessPolicy: {
-            serializedName: "AccessPolicy",
-            xmlName: "AccessPolicy",
-            type: {
-              name: "Composite",
-              className: "AccessPolicy"
-            }
+      processUpdatedState() {
+        if (this.operation.state.error) {
+          this.stopped = true;
+          if (!this.resolveOnUnsuccessful) {
+            this.reject(this.operation.state.error);
+            throw this.operation.state.error;
           }
         }
-      }
-    };
-    exports2.AccessPolicy = {
-      serializedName: "AccessPolicy",
-      type: {
-        name: "Composite",
-        className: "AccessPolicy",
-        modelProperties: {
-          startsOn: {
-            serializedName: "Start",
-            xmlName: "Start",
-            type: {
-              name: "String"
-            }
-          },
-          expiresOn: {
-            serializedName: "Expiry",
-            xmlName: "Expiry",
-            type: {
-              name: "String"
-            }
-          },
-          permissions: {
-            serializedName: "Permission",
-            xmlName: "Permission",
-            type: {
-              name: "String"
-            }
+        if (this.operation.state.isCancelled) {
+          this.stopped = true;
+          if (!this.resolveOnUnsuccessful) {
+            const error3 = new PollerCancelledError("Operation was canceled");
+            this.reject(error3);
+            throw error3;
           }
         }
+        if (this.isDone() && this.resolve) {
+          this.resolve(this.getResult());
+        }
       }
-    };
-    exports2.ListBlobsFlatSegmentResponse = {
-      serializedName: "ListBlobsFlatSegmentResponse",
-      xmlName: "EnumerationResults",
-      type: {
-        name: "Composite",
-        className: "ListBlobsFlatSegmentResponse",
-        modelProperties: {
-          serviceEndpoint: {
-            serializedName: "ServiceEndpoint",
-            required: true,
-            xmlName: "ServiceEndpoint",
-            xmlIsAttribute: true,
-            type: {
-              name: "String"
-            }
-          },
-          containerName: {
-            serializedName: "ContainerName",
-            required: true,
-            xmlName: "ContainerName",
-            xmlIsAttribute: true,
-            type: {
-              name: "String"
-            }
-          },
-          prefix: {
-            serializedName: "Prefix",
-            xmlName: "Prefix",
-            type: {
-              name: "String"
-            }
-          },
-          marker: {
-            serializedName: "Marker",
-            xmlName: "Marker",
-            type: {
-              name: "String"
-            }
-          },
-          maxPageSize: {
-            serializedName: "MaxResults",
-            xmlName: "MaxResults",
-            type: {
-              name: "Number"
-            }
-          },
-          segment: {
-            serializedName: "Segment",
-            xmlName: "Blobs",
-            type: {
-              name: "Composite",
-              className: "BlobFlatListSegment"
-            }
-          },
-          continuationToken: {
-            serializedName: "NextMarker",
-            xmlName: "NextMarker",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       * Returns a promise that will resolve once the underlying operation is completed.
+       */
+      async pollUntilDone(pollOptions = {}) {
+        if (this.stopped) {
+          this.startPolling(pollOptions).catch(this.reject);
         }
+        this.processUpdatedState();
+        return this.promise;
       }
-    };
-    exports2.BlobFlatListSegment = {
-      serializedName: "BlobFlatListSegment",
-      xmlName: "Blobs",
-      type: {
-        name: "Composite",
-        className: "BlobFlatListSegment",
-        modelProperties: {
-          blobItems: {
-            serializedName: "BlobItems",
-            required: true,
-            xmlName: "BlobItems",
-            xmlElementName: "Blob",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "BlobItemInternal"
-                }
-              }
-            }
+      /**
+       * Invokes the provided callback after each polling is completed,
+       * sending the current state of the poller's operation.
+       *
+       * It returns a method that can be used to stop receiving updates on the given callback function.
+       */
+      onProgress(callback) {
+        this.pollProgressCallbacks.push(callback);
+        return () => {
+          this.pollProgressCallbacks = this.pollProgressCallbacks.filter((c) => c !== callback);
+        };
+      }
+      /**
+       * Returns true if the poller has finished polling.
+       */
+      isDone() {
+        const state = this.operation.state;
+        return Boolean(state.isCompleted || state.isCancelled || state.error);
+      }
+      /**
+       * Stops the poller from continuing to poll.
+       */
+      stopPolling() {
+        if (!this.stopped) {
+          this.stopped = true;
+          if (this.reject) {
+            this.reject(new PollerStoppedError("This poller is already stopped"));
           }
         }
       }
-    };
-    exports2.BlobItemInternal = {
-      serializedName: "BlobItemInternal",
-      xmlName: "Blob",
-      type: {
-        name: "Composite",
-        className: "BlobItemInternal",
-        modelProperties: {
-          name: {
-            serializedName: "Name",
-            xmlName: "Name",
-            type: {
-              name: "Composite",
-              className: "BlobName"
-            }
-          },
-          deleted: {
-            serializedName: "Deleted",
-            required: true,
-            xmlName: "Deleted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          snapshot: {
-            serializedName: "Snapshot",
-            required: true,
-            xmlName: "Snapshot",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "VersionId",
-            xmlName: "VersionId",
-            type: {
-              name: "String"
-            }
-          },
-          isCurrentVersion: {
-            serializedName: "IsCurrentVersion",
-            xmlName: "IsCurrentVersion",
-            type: {
-              name: "Boolean"
-            }
-          },
-          properties: {
-            serializedName: "Properties",
-            xmlName: "Properties",
-            type: {
-              name: "Composite",
-              className: "BlobPropertiesInternal"
-            }
-          },
-          metadata: {
-            serializedName: "Metadata",
-            xmlName: "Metadata",
-            type: {
-              name: "Dictionary",
-              value: { type: { name: "String" } }
-            }
-          },
-          blobTags: {
-            serializedName: "BlobTags",
-            xmlName: "Tags",
-            type: {
-              name: "Composite",
-              className: "BlobTags"
-            }
-          },
-          objectReplicationMetadata: {
-            serializedName: "ObjectReplicationMetadata",
-            xmlName: "OrMetadata",
-            type: {
-              name: "Dictionary",
-              value: { type: { name: "String" } }
-            }
-          },
-          hasVersionsOnly: {
-            serializedName: "HasVersionsOnly",
-            xmlName: "HasVersionsOnly",
-            type: {
-              name: "Boolean"
-            }
-          }
+      /**
+       * Returns true if the poller is stopped.
+       */
+      isStopped() {
+        return this.stopped;
+      }
+      /**
+       * Attempts to cancel the underlying operation.
+       *
+       * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike.
+       *
+       * If it's called again before it finishes, it will throw an error.
+       *
+       * @param options - Optional properties passed to the operation's update method.
+       */
+      cancelOperation(options = {}) {
+        if (!this.cancelPromise) {
+          this.cancelPromise = this.cancelOnce(options);
+        } else if (options.abortSignal) {
+          throw new Error("A cancel request is currently pending");
         }
+        return this.cancelPromise;
+      }
+      /**
+       * Returns the state of the operation.
+       *
+       * Even though TState will be the same type inside any of the methods of any extension of the Poller class,
+       * implementations of the pollers can customize what's shared with the public by writing their own
+       * version of the `getOperationState` method, and by defining two types, one representing the internal state of the poller
+       * and a public type representing a safe to share subset of the properties of the internal state.
+       * Their definition of getOperationState can then return their public type.
+       *
+       * Example:
+       *
+       * ```ts
+       * // Let's say we have our poller's operation state defined as:
+       * interface MyOperationState extends PollOperationState {
+       *   privateProperty?: string;
+       *   publicProperty?: string;
+       * }
+       *
+       * // To allow us to have a true separation of public and private state, we have to define another interface:
+       * interface PublicState extends PollOperationState {
+       *   publicProperty?: string;
+       * }
+       *
+       * // Then, we define our Poller as follows:
+       * export class MyPoller extends Poller {
+       *   // ... More content is needed here ...
+       *
+       *   public getOperationState(): PublicState {
+       *     const state: PublicState = this.operation.state;
+       *     return {
+       *       // Properties from PollOperationState
+       *       isStarted: state.isStarted,
+       *       isCompleted: state.isCompleted,
+       *       isCancelled: state.isCancelled,
+       *       error: state.error,
+       *       result: state.result,
+       *
+       *       // The only other property needed by PublicState.
+       *       publicProperty: state.publicProperty
+       *     }
+       *   }
+       * }
+       * ```
+       *
+       * You can see this in the tests of this repository, go to the file:
+       * `../test/utils/testPoller.ts`
+       * and look for the getOperationState implementation.
+       */
+      getOperationState() {
+        return this.operation.state;
+      }
+      /**
+       * Returns the result value of the operation,
+       * regardless of the state of the poller.
+       * It can return undefined or an incomplete form of the final TResult value
+       * depending on the implementation.
+       */
+      getResult() {
+        const state = this.operation.state;
+        return state.result;
+      }
+      /**
+       * Returns a serialized version of the poller's operation
+       * by invoking the operation's toString method.
+       */
+      toString() {
+        return this.operation.toString();
       }
     };
-    exports2.BlobName = {
-      serializedName: "BlobName",
-      type: {
-        name: "Composite",
-        className: "BlobName",
-        modelProperties: {
-          encoded: {
-            serializedName: "Encoded",
-            xmlName: "Encoded",
-            xmlIsAttribute: true,
-            type: {
-              name: "Boolean"
-            }
-          },
-          content: {
-            serializedName: "content",
-            xmlName: "content",
-            xmlIsMsText: true,
-            type: {
-              name: "String"
-            }
-          }
-        }
+    exports2.Poller = Poller;
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/lroEngine.js
+var require_lroEngine = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/lroEngine.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.LroEngine = void 0;
+    var operation_js_1 = require_operation3();
+    var constants_js_1 = require_constants16();
+    var poller_js_1 = require_poller3();
+    var operation_js_2 = require_operation();
+    var LroEngine = class extends poller_js_1.Poller {
+      constructor(lro, options) {
+        const { intervalInMs = constants_js_1.POLL_INTERVAL_IN_MS, resumeFrom, resolveOnUnsuccessful = false, isDone, lroResourceLocationConfig, processResult, updateState } = options || {};
+        const state = resumeFrom ? (0, operation_js_2.deserializeState)(resumeFrom) : {};
+        const operation = new operation_js_1.GenericPollOperation(state, lro, !resolveOnUnsuccessful, lroResourceLocationConfig, processResult, updateState, isDone);
+        super(operation);
+        this.resolveOnUnsuccessful = resolveOnUnsuccessful;
+        this.config = { intervalInMs };
+        operation.setPollerConfig(this.config);
       }
-    };
-    exports2.BlobPropertiesInternal = {
-      serializedName: "BlobPropertiesInternal",
-      xmlName: "Properties",
-      type: {
-        name: "Composite",
-        className: "BlobPropertiesInternal",
-        modelProperties: {
-          createdOn: {
-            serializedName: "Creation-Time",
-            xmlName: "Creation-Time",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          lastModified: {
-            serializedName: "Last-Modified",
-            required: true,
-            xmlName: "Last-Modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          etag: {
-            serializedName: "Etag",
-            required: true,
-            xmlName: "Etag",
-            type: {
-              name: "String"
-            }
-          },
-          contentLength: {
-            serializedName: "Content-Length",
-            xmlName: "Content-Length",
-            type: {
-              name: "Number"
-            }
-          },
-          contentType: {
-            serializedName: "Content-Type",
-            xmlName: "Content-Type",
-            type: {
-              name: "String"
-            }
-          },
-          contentEncoding: {
-            serializedName: "Content-Encoding",
-            xmlName: "Content-Encoding",
-            type: {
-              name: "String"
-            }
-          },
-          contentLanguage: {
-            serializedName: "Content-Language",
-            xmlName: "Content-Language",
-            type: {
-              name: "String"
-            }
-          },
-          contentMD5: {
-            serializedName: "Content-MD5",
-            xmlName: "Content-MD5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          contentDisposition: {
-            serializedName: "Content-Disposition",
-            xmlName: "Content-Disposition",
-            type: {
-              name: "String"
-            }
-          },
-          cacheControl: {
-            serializedName: "Cache-Control",
-            xmlName: "Cache-Control",
-            type: {
-              name: "String"
-            }
-          },
-          blobSequenceNumber: {
-            serializedName: "x-ms-blob-sequence-number",
-            xmlName: "x-ms-blob-sequence-number",
-            type: {
-              name: "Number"
-            }
-          },
-          blobType: {
-            serializedName: "BlobType",
-            xmlName: "BlobType",
-            type: {
-              name: "Enum",
-              allowedValues: ["BlockBlob", "PageBlob", "AppendBlob"]
-            }
-          },
-          leaseStatus: {
-            serializedName: "LeaseStatus",
-            xmlName: "LeaseStatus",
-            type: {
-              name: "Enum",
-              allowedValues: ["locked", "unlocked"]
-            }
-          },
-          leaseState: {
-            serializedName: "LeaseState",
-            xmlName: "LeaseState",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "available",
-                "leased",
-                "expired",
-                "breaking",
-                "broken"
-              ]
-            }
-          },
-          leaseDuration: {
-            serializedName: "LeaseDuration",
-            xmlName: "LeaseDuration",
-            type: {
-              name: "Enum",
-              allowedValues: ["infinite", "fixed"]
-            }
-          },
-          copyId: {
-            serializedName: "CopyId",
-            xmlName: "CopyId",
-            type: {
-              name: "String"
-            }
-          },
-          copyStatus: {
-            serializedName: "CopyStatus",
-            xmlName: "CopyStatus",
-            type: {
-              name: "Enum",
-              allowedValues: ["pending", "success", "aborted", "failed"]
-            }
-          },
-          copySource: {
-            serializedName: "CopySource",
-            xmlName: "CopySource",
-            type: {
-              name: "String"
-            }
-          },
-          copyProgress: {
-            serializedName: "CopyProgress",
-            xmlName: "CopyProgress",
-            type: {
-              name: "String"
-            }
-          },
-          copyCompletedOn: {
-            serializedName: "CopyCompletionTime",
-            xmlName: "CopyCompletionTime",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          copyStatusDescription: {
-            serializedName: "CopyStatusDescription",
-            xmlName: "CopyStatusDescription",
-            type: {
-              name: "String"
-            }
-          },
-          serverEncrypted: {
-            serializedName: "ServerEncrypted",
-            xmlName: "ServerEncrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          incrementalCopy: {
-            serializedName: "IncrementalCopy",
-            xmlName: "IncrementalCopy",
-            type: {
-              name: "Boolean"
-            }
-          },
-          destinationSnapshot: {
-            serializedName: "DestinationSnapshot",
-            xmlName: "DestinationSnapshot",
-            type: {
-              name: "String"
-            }
-          },
-          deletedOn: {
-            serializedName: "DeletedTime",
-            xmlName: "DeletedTime",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          remainingRetentionDays: {
-            serializedName: "RemainingRetentionDays",
-            xmlName: "RemainingRetentionDays",
-            type: {
-              name: "Number"
-            }
-          },
-          accessTier: {
-            serializedName: "AccessTier",
-            xmlName: "AccessTier",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "P4",
-                "P6",
-                "P10",
-                "P15",
-                "P20",
-                "P30",
-                "P40",
-                "P50",
-                "P60",
-                "P70",
-                "P80",
-                "Hot",
-                "Cool",
-                "Archive",
-                "Cold"
-              ]
-            }
-          },
-          accessTierInferred: {
-            serializedName: "AccessTierInferred",
-            xmlName: "AccessTierInferred",
-            type: {
-              name: "Boolean"
-            }
-          },
-          archiveStatus: {
-            serializedName: "ArchiveStatus",
-            xmlName: "ArchiveStatus",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "rehydrate-pending-to-hot",
-                "rehydrate-pending-to-cool",
-                "rehydrate-pending-to-cold"
-              ]
-            }
-          },
-          customerProvidedKeySha256: {
-            serializedName: "CustomerProvidedKeySha256",
-            xmlName: "CustomerProvidedKeySha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "EncryptionScope",
-            xmlName: "EncryptionScope",
-            type: {
-              name: "String"
-            }
-          },
-          accessTierChangedOn: {
-            serializedName: "AccessTierChangeTime",
-            xmlName: "AccessTierChangeTime",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          tagCount: {
-            serializedName: "TagCount",
-            xmlName: "TagCount",
-            type: {
-              name: "Number"
-            }
-          },
-          expiresOn: {
-            serializedName: "Expiry-Time",
-            xmlName: "Expiry-Time",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isSealed: {
-            serializedName: "Sealed",
-            xmlName: "Sealed",
-            type: {
-              name: "Boolean"
-            }
-          },
-          rehydratePriority: {
-            serializedName: "RehydratePriority",
-            xmlName: "RehydratePriority",
-            type: {
-              name: "Enum",
-              allowedValues: ["High", "Standard"]
-            }
-          },
-          lastAccessedOn: {
-            serializedName: "LastAccessTime",
-            xmlName: "LastAccessTime",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          immutabilityPolicyExpiresOn: {
-            serializedName: "ImmutabilityPolicyUntilDate",
-            xmlName: "ImmutabilityPolicyUntilDate",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          immutabilityPolicyMode: {
-            serializedName: "ImmutabilityPolicyMode",
-            xmlName: "ImmutabilityPolicyMode",
-            type: {
-              name: "Enum",
-              allowedValues: ["Mutable", "Unlocked", "Locked"]
-            }
-          },
-          legalHold: {
-            serializedName: "LegalHold",
-            xmlName: "LegalHold",
-            type: {
-              name: "Boolean"
-            }
-          }
-        }
+      /**
+       * The method used by the poller to wait before attempting to update its operation.
+       */
+      delay() {
+        return new Promise((resolve2) => setTimeout(() => resolve2(), this.config.intervalInMs));
       }
     };
-    exports2.ListBlobsHierarchySegmentResponse = {
-      serializedName: "ListBlobsHierarchySegmentResponse",
-      xmlName: "EnumerationResults",
-      type: {
-        name: "Composite",
-        className: "ListBlobsHierarchySegmentResponse",
-        modelProperties: {
-          serviceEndpoint: {
-            serializedName: "ServiceEndpoint",
-            required: true,
-            xmlName: "ServiceEndpoint",
-            xmlIsAttribute: true,
-            type: {
-              name: "String"
-            }
-          },
-          containerName: {
-            serializedName: "ContainerName",
-            required: true,
-            xmlName: "ContainerName",
-            xmlIsAttribute: true,
-            type: {
-              name: "String"
-            }
-          },
-          prefix: {
-            serializedName: "Prefix",
-            xmlName: "Prefix",
-            type: {
-              name: "String"
-            }
-          },
-          marker: {
-            serializedName: "Marker",
-            xmlName: "Marker",
-            type: {
-              name: "String"
-            }
-          },
-          maxPageSize: {
-            serializedName: "MaxResults",
-            xmlName: "MaxResults",
-            type: {
-              name: "Number"
-            }
-          },
-          delimiter: {
-            serializedName: "Delimiter",
-            xmlName: "Delimiter",
-            type: {
-              name: "String"
-            }
-          },
-          segment: {
-            serializedName: "Segment",
-            xmlName: "Blobs",
-            type: {
-              name: "Composite",
-              className: "BlobHierarchyListSegment"
-            }
-          },
-          continuationToken: {
-            serializedName: "NextMarker",
-            xmlName: "NextMarker",
-            type: {
-              name: "String"
-            }
-          }
+    exports2.LroEngine = LroEngine;
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/index.js
+var require_lroEngine2 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.LroEngine = void 0;
+    var lroEngine_js_1 = require_lroEngine();
+    Object.defineProperty(exports2, "LroEngine", { enumerable: true, get: function() {
+      return lroEngine_js_1.LroEngine;
+    } });
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/legacy/pollOperation.js
+var require_pollOperation = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/legacy/pollOperation.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/index.js
+var require_commonjs16 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createHttpPoller = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var poller_js_1 = require_poller2();
+    Object.defineProperty(exports2, "createHttpPoller", { enumerable: true, get: function() {
+      return poller_js_1.createHttpPoller;
+    } });
+    tslib_1.__exportStar(require_lroEngine2(), exports2);
+    tslib_1.__exportStar(require_poller3(), exports2);
+    tslib_1.__exportStar(require_pollOperation(), exports2);
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/pollers/BlobStartCopyFromUrlPoller.js
+var require_BlobStartCopyFromUrlPoller = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/pollers/BlobStartCopyFromUrlPoller.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobBeginCopyFromUrlPoller = void 0;
+    var core_util_1 = require_commonjs6();
+    var core_lro_1 = require_commonjs16();
+    var BlobBeginCopyFromUrlPoller = class extends core_lro_1.Poller {
+      intervalInMs;
+      constructor(options) {
+        const { blobClient, copySource, intervalInMs = 15e3, onProgress, resumeFrom, startCopyFromURLOptions } = options;
+        let state;
+        if (resumeFrom) {
+          state = JSON.parse(resumeFrom).state;
+        }
+        const operation = makeBlobBeginCopyFromURLPollOperation({
+          ...state,
+          blobClient,
+          copySource,
+          startCopyFromURLOptions
+        });
+        super(operation);
+        if (typeof onProgress === "function") {
+          this.onProgress(onProgress);
         }
+        this.intervalInMs = intervalInMs;
       }
-    };
-    exports2.BlobHierarchyListSegment = {
-      serializedName: "BlobHierarchyListSegment",
-      xmlName: "Blobs",
-      type: {
-        name: "Composite",
-        className: "BlobHierarchyListSegment",
-        modelProperties: {
-          blobPrefixes: {
-            serializedName: "BlobPrefixes",
-            xmlName: "BlobPrefixes",
-            xmlElementName: "BlobPrefix",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "BlobPrefix"
-                }
-              }
-            }
-          },
-          blobItems: {
-            serializedName: "BlobItems",
-            required: true,
-            xmlName: "BlobItems",
-            xmlElementName: "Blob",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "BlobItemInternal"
-                }
-              }
-            }
-          }
-        }
+      delay() {
+        return (0, core_util_1.delay)(this.intervalInMs);
       }
     };
-    exports2.BlobPrefix = {
-      serializedName: "BlobPrefix",
-      type: {
-        name: "Composite",
-        className: "BlobPrefix",
-        modelProperties: {
-          name: {
-            serializedName: "Name",
-            xmlName: "Name",
-            type: {
-              name: "Composite",
-              className: "BlobName"
-            }
-          }
-        }
+    exports2.BlobBeginCopyFromUrlPoller = BlobBeginCopyFromUrlPoller;
+    var cancel = async function cancel2(options = {}) {
+      const state = this.state;
+      const { copyId } = state;
+      if (state.isCompleted) {
+        return makeBlobBeginCopyFromURLPollOperation(state);
       }
-    };
-    exports2.BlockLookupList = {
-      serializedName: "BlockLookupList",
-      xmlName: "BlockList",
-      type: {
-        name: "Composite",
-        className: "BlockLookupList",
-        modelProperties: {
-          committed: {
-            serializedName: "Committed",
-            xmlName: "Committed",
-            xmlElementName: "Committed",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "String"
-                }
-              }
-            }
-          },
-          uncommitted: {
-            serializedName: "Uncommitted",
-            xmlName: "Uncommitted",
-            xmlElementName: "Uncommitted",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "String"
-                }
-              }
-            }
-          },
-          latest: {
-            serializedName: "Latest",
-            xmlName: "Latest",
-            xmlElementName: "Latest",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "String"
-                }
-              }
-            }
-          }
-        }
+      if (!copyId) {
+        state.isCancelled = true;
+        return makeBlobBeginCopyFromURLPollOperation(state);
       }
+      await state.blobClient.abortCopyFromURL(copyId, {
+        abortSignal: options.abortSignal
+      });
+      state.isCancelled = true;
+      return makeBlobBeginCopyFromURLPollOperation(state);
     };
-    exports2.BlockList = {
-      serializedName: "BlockList",
-      type: {
-        name: "Composite",
-        className: "BlockList",
-        modelProperties: {
-          committedBlocks: {
-            serializedName: "CommittedBlocks",
-            xmlName: "CommittedBlocks",
-            xmlIsWrapped: true,
-            xmlElementName: "Block",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "Block"
-                }
-              }
-            }
-          },
-          uncommittedBlocks: {
-            serializedName: "UncommittedBlocks",
-            xmlName: "UncommittedBlocks",
-            xmlIsWrapped: true,
-            xmlElementName: "Block",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "Block"
-                }
-              }
-            }
-          }
+    var update = async function update2(options = {}) {
+      const state = this.state;
+      const { blobClient, copySource, startCopyFromURLOptions } = state;
+      if (!state.isStarted) {
+        state.isStarted = true;
+        const result = await blobClient.startCopyFromURL(copySource, startCopyFromURLOptions);
+        state.copyId = result.copyId;
+        if (result.copyStatus === "success") {
+          state.result = result;
+          state.isCompleted = true;
         }
-      }
-    };
-    exports2.Block = {
-      serializedName: "Block",
-      type: {
-        name: "Composite",
-        className: "Block",
-        modelProperties: {
-          name: {
-            serializedName: "Name",
-            required: true,
-            xmlName: "Name",
-            type: {
-              name: "String"
-            }
-          },
-          size: {
-            serializedName: "Size",
-            required: true,
-            xmlName: "Size",
-            type: {
-              name: "Number"
-            }
+      } else if (!state.isCompleted) {
+        try {
+          const result = await state.blobClient.getProperties({ abortSignal: options.abortSignal });
+          const { copyStatus, copyProgress } = result;
+          const prevCopyProgress = state.copyProgress;
+          if (copyProgress) {
+            state.copyProgress = copyProgress;
           }
-        }
-      }
-    };
-    exports2.PageList = {
-      serializedName: "PageList",
-      type: {
-        name: "Composite",
-        className: "PageList",
-        modelProperties: {
-          pageRange: {
-            serializedName: "PageRange",
-            xmlName: "PageRange",
-            xmlElementName: "PageRange",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "PageRange"
-                }
-              }
-            }
-          },
-          clearRange: {
-            serializedName: "ClearRange",
-            xmlName: "ClearRange",
-            xmlElementName: "ClearRange",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "ClearRange"
-                }
-              }
-            }
-          },
-          continuationToken: {
-            serializedName: "NextMarker",
-            xmlName: "NextMarker",
-            type: {
-              name: "String"
-            }
+          if (copyStatus === "pending" && copyProgress !== prevCopyProgress && typeof options.fireProgress === "function") {
+            options.fireProgress(state);
+          } else if (copyStatus === "success") {
+            state.result = result;
+            state.isCompleted = true;
+          } else if (copyStatus === "failed") {
+            state.error = new Error(`Blob copy failed with reason: "${result.copyStatusDescription || "unknown"}"`);
+            state.isCompleted = true;
           }
+        } catch (err) {
+          state.error = err;
+          state.isCompleted = true;
         }
       }
+      return makeBlobBeginCopyFromURLPollOperation(state);
     };
-    exports2.PageRange = {
-      serializedName: "PageRange",
-      xmlName: "PageRange",
-      type: {
-        name: "Composite",
-        className: "PageRange",
-        modelProperties: {
-          start: {
-            serializedName: "Start",
-            required: true,
-            xmlName: "Start",
-            type: {
-              name: "Number"
-            }
-          },
-          end: {
-            serializedName: "End",
-            required: true,
-            xmlName: "End",
-            type: {
-              name: "Number"
-            }
-          }
+    var toString2 = function toString3() {
+      return JSON.stringify({ state: this.state }, (key, value) => {
+        if (key === "blobClient") {
+          return void 0;
         }
-      }
+        return value;
+      });
     };
-    exports2.ClearRange = {
-      serializedName: "ClearRange",
-      xmlName: "ClearRange",
-      type: {
-        name: "Composite",
-        className: "ClearRange",
-        modelProperties: {
-          start: {
-            serializedName: "Start",
-            required: true,
-            xmlName: "Start",
-            type: {
-              name: "Number"
-            }
-          },
-          end: {
-            serializedName: "End",
-            required: true,
-            xmlName: "End",
-            type: {
-              name: "Number"
-            }
-          }
-        }
+    function makeBlobBeginCopyFromURLPollOperation(state) {
+      return {
+        state: { ...state },
+        cancel,
+        toString: toString2,
+        update
+      };
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/Range.js
+var require_Range = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/Range.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.rangeToString = rangeToString;
+    function rangeToString(iRange) {
+      if (iRange.offset < 0) {
+        throw new RangeError(`Range.offset cannot be smaller than 0.`);
       }
-    };
-    exports2.QueryRequest = {
-      serializedName: "QueryRequest",
-      xmlName: "QueryRequest",
-      type: {
-        name: "Composite",
-        className: "QueryRequest",
-        modelProperties: {
-          queryType: {
-            serializedName: "QueryType",
-            required: true,
-            xmlName: "QueryType",
-            type: {
-              name: "String"
-            }
-          },
-          expression: {
-            serializedName: "Expression",
-            required: true,
-            xmlName: "Expression",
-            type: {
-              name: "String"
-            }
-          },
-          inputSerialization: {
-            serializedName: "InputSerialization",
-            xmlName: "InputSerialization",
-            type: {
-              name: "Composite",
-              className: "QuerySerialization"
-            }
-          },
-          outputSerialization: {
-            serializedName: "OutputSerialization",
-            xmlName: "OutputSerialization",
-            type: {
-              name: "Composite",
-              className: "QuerySerialization"
-            }
-          }
-        }
+      if (iRange.count && iRange.count <= 0) {
+        throw new RangeError(`Range.count must be larger than 0. Leave it undefined if you want a range from offset to the end.`);
       }
-    };
-    exports2.QuerySerialization = {
-      serializedName: "QuerySerialization",
-      type: {
-        name: "Composite",
-        className: "QuerySerialization",
-        modelProperties: {
-          format: {
-            serializedName: "Format",
-            xmlName: "Format",
-            type: {
-              name: "Composite",
-              className: "QueryFormat"
-            }
-          }
+      return iRange.count ? `bytes=${iRange.offset}-${iRange.offset + iRange.count - 1}` : `bytes=${iRange.offset}-`;
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/utils/Batch.js
+var require_Batch = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/Batch.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Batch = void 0;
+    var events_1 = require("events");
+    var BatchStates;
+    (function(BatchStates2) {
+      BatchStates2[BatchStates2["Good"] = 0] = "Good";
+      BatchStates2[BatchStates2["Error"] = 1] = "Error";
+    })(BatchStates || (BatchStates = {}));
+    var Batch = class {
+      /**
+       * Concurrency. Must be lager than 0.
+       */
+      concurrency;
+      /**
+       * Number of active operations under execution.
+       */
+      actives = 0;
+      /**
+       * Number of completed operations under execution.
+       */
+      completed = 0;
+      /**
+       * Offset of next operation to be executed.
+       */
+      offset = 0;
+      /**
+       * Operation array to be executed.
+       */
+      operations = [];
+      /**
+       * States of Batch. When an error happens, state will turn into error.
+       * Batch will stop execute left operations.
+       */
+      state = BatchStates.Good;
+      /**
+       * A private emitter used to pass events inside this class.
+       */
+      emitter;
+      /**
+       * Creates an instance of Batch.
+       * @param concurrency -
+       */
+      constructor(concurrency = 5) {
+        if (concurrency < 1) {
+          throw new RangeError("concurrency must be larger than 0");
         }
+        this.concurrency = concurrency;
+        this.emitter = new events_1.EventEmitter();
       }
-    };
-    exports2.QueryFormat = {
-      serializedName: "QueryFormat",
-      type: {
-        name: "Composite",
-        className: "QueryFormat",
-        modelProperties: {
-          type: {
-            serializedName: "Type",
-            required: true,
-            xmlName: "Type",
-            type: {
-              name: "Enum",
-              allowedValues: ["delimited", "json", "arrow", "parquet"]
-            }
-          },
-          delimitedTextConfiguration: {
-            serializedName: "DelimitedTextConfiguration",
-            xmlName: "DelimitedTextConfiguration",
-            type: {
-              name: "Composite",
-              className: "DelimitedTextConfiguration"
-            }
-          },
-          jsonTextConfiguration: {
-            serializedName: "JsonTextConfiguration",
-            xmlName: "JsonTextConfiguration",
-            type: {
-              name: "Composite",
-              className: "JsonTextConfiguration"
-            }
-          },
-          arrowConfiguration: {
-            serializedName: "ArrowConfiguration",
-            xmlName: "ArrowConfiguration",
-            type: {
-              name: "Composite",
-              className: "ArrowConfiguration"
-            }
-          },
-          parquetTextConfiguration: {
-            serializedName: "ParquetTextConfiguration",
-            xmlName: "ParquetTextConfiguration",
-            type: {
-              name: "Dictionary",
-              value: { type: { name: "any" } }
-            }
+      /**
+       * Add a operation into queue.
+       *
+       * @param operation -
+       */
+      addOperation(operation) {
+        this.operations.push(async () => {
+          try {
+            this.actives++;
+            await operation();
+            this.actives--;
+            this.completed++;
+            this.parallelExecute();
+          } catch (error3) {
+            this.emitter.emit("error", error3);
           }
+        });
+      }
+      /**
+       * Start execute operations in the queue.
+       *
+       */
+      async do() {
+        if (this.operations.length === 0) {
+          return Promise.resolve();
+        }
+        this.parallelExecute();
+        return new Promise((resolve2, reject) => {
+          this.emitter.on("finish", resolve2);
+          this.emitter.on("error", (error3) => {
+            this.state = BatchStates.Error;
+            reject(error3);
+          });
+        });
+      }
+      /**
+       * Get next operation to be executed. Return null when reaching ends.
+       *
+       */
+      nextOperation() {
+        if (this.offset < this.operations.length) {
+          return this.operations[this.offset++];
         }
+        return null;
       }
-    };
-    exports2.DelimitedTextConfiguration = {
-      serializedName: "DelimitedTextConfiguration",
-      xmlName: "DelimitedTextConfiguration",
-      type: {
-        name: "Composite",
-        className: "DelimitedTextConfiguration",
-        modelProperties: {
-          columnSeparator: {
-            serializedName: "ColumnSeparator",
-            xmlName: "ColumnSeparator",
-            type: {
-              name: "String"
-            }
-          },
-          fieldQuote: {
-            serializedName: "FieldQuote",
-            xmlName: "FieldQuote",
-            type: {
-              name: "String"
-            }
-          },
-          recordSeparator: {
-            serializedName: "RecordSeparator",
-            xmlName: "RecordSeparator",
-            type: {
-              name: "String"
-            }
-          },
-          escapeChar: {
-            serializedName: "EscapeChar",
-            xmlName: "EscapeChar",
-            type: {
-              name: "String"
-            }
-          },
-          headersPresent: {
-            serializedName: "HeadersPresent",
-            xmlName: "HasHeaders",
-            type: {
-              name: "Boolean"
-            }
+      /**
+       * Start execute operations. One one the most important difference between
+       * this method with do() is that do() wraps as an sync method.
+       *
+       */
+      parallelExecute() {
+        if (this.state === BatchStates.Error) {
+          return;
+        }
+        if (this.completed >= this.operations.length) {
+          this.emitter.emit("finish");
+          return;
+        }
+        while (this.actives < this.concurrency) {
+          const operation = this.nextOperation();
+          if (operation) {
+            operation();
+          } else {
+            return;
           }
         }
       }
     };
-    exports2.JsonTextConfiguration = {
-      serializedName: "JsonTextConfiguration",
-      xmlName: "JsonTextConfiguration",
-      type: {
-        name: "Composite",
-        className: "JsonTextConfiguration",
-        modelProperties: {
-          recordSeparator: {
-            serializedName: "RecordSeparator",
-            xmlName: "RecordSeparator",
-            type: {
-              name: "String"
-            }
+    exports2.Batch = Batch;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/utils/utils.js
+var require_utils7 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/utils.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.fsCreateReadStream = exports2.fsStat = void 0;
+    exports2.streamToBuffer = streamToBuffer;
+    exports2.streamToBuffer2 = streamToBuffer2;
+    exports2.streamToBuffer3 = streamToBuffer3;
+    exports2.readStreamToLocalFile = readStreamToLocalFile;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var node_fs_1 = tslib_1.__importDefault(require("node:fs"));
+    var node_util_1 = tslib_1.__importDefault(require("node:util"));
+    var constants_js_1 = require_constants14();
+    async function streamToBuffer(stream, buffer, offset, end, encoding) {
+      let pos = 0;
+      const count = end - offset;
+      return new Promise((resolve2, reject) => {
+        const timeout = setTimeout(() => reject(new Error(`The operation cannot be completed in timeout.`)), constants_js_1.REQUEST_TIMEOUT);
+        stream.on("readable", () => {
+          if (pos >= count) {
+            clearTimeout(timeout);
+            resolve2();
+            return;
           }
-        }
+          let chunk = stream.read();
+          if (!chunk) {
+            return;
+          }
+          if (typeof chunk === "string") {
+            chunk = Buffer.from(chunk, encoding);
+          }
+          const chunkLength = pos + chunk.length > count ? count - pos : chunk.length;
+          buffer.fill(chunk.slice(0, chunkLength), offset + pos, offset + pos + chunkLength);
+          pos += chunkLength;
+        });
+        stream.on("end", () => {
+          clearTimeout(timeout);
+          if (pos < count) {
+            reject(new Error(`Stream drains before getting enough data needed. Data read: ${pos}, data need: ${count}`));
+          }
+          resolve2();
+        });
+        stream.on("error", (msg) => {
+          clearTimeout(timeout);
+          reject(msg);
+        });
+      });
+    }
+    async function streamToBuffer2(stream, buffer, encoding) {
+      let pos = 0;
+      const bufferSize = buffer.length;
+      return new Promise((resolve2, reject) => {
+        stream.on("readable", () => {
+          let chunk = stream.read();
+          if (!chunk) {
+            return;
+          }
+          if (typeof chunk === "string") {
+            chunk = Buffer.from(chunk, encoding);
+          }
+          if (pos + chunk.length > bufferSize) {
+            reject(new Error(`Stream exceeds buffer size. Buffer size: ${bufferSize}`));
+            return;
+          }
+          buffer.fill(chunk, pos, pos + chunk.length);
+          pos += chunk.length;
+        });
+        stream.on("end", () => {
+          resolve2(pos);
+        });
+        stream.on("error", reject);
+      });
+    }
+    async function streamToBuffer3(readableStream, encoding) {
+      return new Promise((resolve2, reject) => {
+        const chunks = [];
+        readableStream.on("data", (data) => {
+          chunks.push(typeof data === "string" ? Buffer.from(data, encoding) : data);
+        });
+        readableStream.on("end", () => {
+          resolve2(Buffer.concat(chunks));
+        });
+        readableStream.on("error", reject);
+      });
+    }
+    async function readStreamToLocalFile(rs, file) {
+      return new Promise((resolve2, reject) => {
+        const ws = node_fs_1.default.createWriteStream(file);
+        rs.on("error", (err) => {
+          reject(err);
+        });
+        ws.on("error", (err) => {
+          reject(err);
+        });
+        ws.on("close", resolve2);
+        rs.pipe(ws);
+      });
+    }
+    exports2.fsStat = node_util_1.default.promisify(node_fs_1.default.stat);
+    exports2.fsCreateReadStream = node_fs_1.default.createReadStream;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/Clients.js
+var require_Clients = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/Clients.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.PageBlobClient = exports2.BlockBlobClient = exports2.AppendBlobClient = exports2.BlobClient = void 0;
+    var core_rest_pipeline_1 = require_commonjs8();
+    var core_auth_1 = require_commonjs9();
+    var core_util_1 = require_commonjs6();
+    var core_util_2 = require_commonjs6();
+    var BlobDownloadResponse_js_1 = require_BlobDownloadResponse();
+    var BlobQueryResponse_js_1 = require_BlobQueryResponse();
+    var AnonymousCredential_js_1 = require_AnonymousCredential();
+    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
+    var models_js_1 = require_models2();
+    var PageBlobRangeResponse_js_1 = require_PageBlobRangeResponse();
+    var Pipeline_js_1 = require_Pipeline();
+    var BlobStartCopyFromUrlPoller_js_1 = require_BlobStartCopyFromUrlPoller();
+    var Range_js_1 = require_Range();
+    var StorageClient_js_1 = require_StorageClient();
+    var Batch_js_1 = require_Batch();
+    var storage_common_1 = require_commonjs15();
+    var constants_js_1 = require_constants14();
+    var tracing_js_1 = require_tracing();
+    var utils_common_js_1 = require_utils_common();
+    var utils_js_1 = require_utils7();
+    var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues();
+    var BlobLeaseClient_js_1 = require_BlobLeaseClient();
+    var BlobClient = class _BlobClient extends StorageClient_js_1.StorageClient {
+      /**
+       * blobContext provided by protocol layer.
+       */
+      blobContext;
+      _name;
+      _containerName;
+      _versionId;
+      _snapshot;
+      /**
+       * The name of the blob.
+       */
+      get name() {
+        return this._name;
       }
-    };
-    exports2.ArrowConfiguration = {
-      serializedName: "ArrowConfiguration",
-      xmlName: "ArrowConfiguration",
-      type: {
-        name: "Composite",
-        className: "ArrowConfiguration",
-        modelProperties: {
-          schema: {
-            serializedName: "Schema",
-            required: true,
-            xmlName: "Schema",
-            xmlIsWrapped: true,
-            xmlElementName: "Field",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "ArrowField"
-                }
+      /**
+       * The name of the storage container the blob is associated with.
+       */
+      get containerName() {
+        return this._containerName;
+      }
+      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
+        options = options || {};
+        let pipeline;
+        let url;
+        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
+          url = urlOrConnectionString;
+          pipeline = credentialOrPipelineOrContainerName;
+        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
+          url = urlOrConnectionString;
+          options = blobNameOrOptions;
+          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
+        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
+          url = urlOrConnectionString;
+          if (blobNameOrOptions && typeof blobNameOrOptions !== "string") {
+            options = blobNameOrOptions;
+          }
+          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
+          const containerName = credentialOrPipelineOrContainerName;
+          const blobName = blobNameOrOptions;
+          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
+          if (extractedCreds.kind === "AccountConnString") {
+            if (core_util_1.isNodeLike) {
+              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
+              url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
+              if (!options.proxyOptions) {
+                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
               }
+              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+            } else {
+              throw new Error("Account connection string is only supported in Node.js environment");
             }
+          } else if (extractedCreds.kind === "SASConnString") {
+            url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
+            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+          } else {
+            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
           }
+        } else {
+          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
         }
+        super(url, pipeline);
+        ({ blobName: this._name, containerName: this._containerName } = this.getBlobAndContainerNamesFromUrl());
+        this.blobContext = this.storageClientContext.blob;
+        this._snapshot = (0, utils_common_js_1.getURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT);
+        this._versionId = (0, utils_common_js_1.getURLParameter)(this.url, constants_js_1.URLConstants.Parameters.VERSIONID);
       }
-    };
-    exports2.ArrowField = {
-      serializedName: "ArrowField",
-      xmlName: "Field",
-      type: {
-        name: "Composite",
-        className: "ArrowField",
-        modelProperties: {
-          type: {
-            serializedName: "Type",
-            required: true,
-            xmlName: "Type",
-            type: {
-              name: "String"
-            }
-          },
-          name: {
-            serializedName: "Name",
-            xmlName: "Name",
-            type: {
-              name: "String"
-            }
-          },
-          precision: {
-            serializedName: "Precision",
-            xmlName: "Precision",
-            type: {
-              name: "Number"
-            }
-          },
-          scale: {
-            serializedName: "Scale",
-            xmlName: "Scale",
-            type: {
-              name: "Number"
-            }
-          }
-        }
+      /**
+       * Creates a new BlobClient object identical to the source but with the specified snapshot timestamp.
+       * Provide "" will remove the snapshot and return a Client to the base blob.
+       *
+       * @param snapshot - The snapshot timestamp.
+       * @returns A new BlobClient object identical to the source but with the specified snapshot timestamp
+       */
+      withSnapshot(snapshot) {
+        return new _BlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
       }
-    };
-    exports2.ServiceSetPropertiesHeaders = {
-      serializedName: "Service_setPropertiesHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceSetPropertiesHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      /**
+       * Creates a new BlobClient object pointing to a version of this blob.
+       * Provide "" will remove the versionId and return a Client to the base blob.
+       *
+       * @param versionId - The versionId.
+       * @returns A new BlobClient object pointing to the version of this blob.
+       */
+      withVersion(versionId) {
+        return new _BlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.VERSIONID, versionId.length === 0 ? void 0 : versionId), this.pipeline);
+      }
+      /**
+       * Creates a AppendBlobClient object.
+       *
+       */
+      getAppendBlobClient() {
+        return new AppendBlobClient(this.url, this.pipeline);
+      }
+      /**
+       * Creates a BlockBlobClient object.
+       *
+       */
+      getBlockBlobClient() {
+        return new BlockBlobClient(this.url, this.pipeline);
+      }
+      /**
+       * Creates a PageBlobClient object.
+       *
+       */
+      getPageBlobClient() {
+        return new PageBlobClient(this.url, this.pipeline);
+      }
+      /**
+       * Reads or downloads a blob from the system, including its metadata and properties.
+       * You can also call Get Blob to read a snapshot.
+       *
+       * * In Node.js, data returns in a Readable stream readableStreamBody
+       * * In browsers, data returns in a promise blobBody
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob
+       *
+       * @param offset - From which position of the blob to download, greater than or equal to 0
+       * @param count - How much data to be downloaded, greater than 0. Will download to the end when undefined
+       * @param options - Optional options to Blob Download operation.
+       *
+       *
+       * Example usage (Node.js):
+       *
+       * ```ts snippet:ReadmeSampleDownloadBlob_Node
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blobClient = containerClient.getBlobClient(blobName);
+       *
+       * // Get blob content from position 0 to the end
+       * // In Node.js, get downloaded data by accessing downloadBlockBlobResponse.readableStreamBody
+       * const downloadBlockBlobResponse = await blobClient.download();
+       * if (downloadBlockBlobResponse.readableStreamBody) {
+       *   const downloaded = await streamToString(downloadBlockBlobResponse.readableStreamBody);
+       *   console.log(`Downloaded blob content: ${downloaded}`);
+       * }
+       *
+       * async function streamToString(stream: NodeJS.ReadableStream): Promise {
+       *   const result = await new Promise>((resolve, reject) => {
+       *     const chunks: Buffer[] = [];
+       *     stream.on("data", (data) => {
+       *       chunks.push(Buffer.isBuffer(data) ? data : Buffer.from(data));
+       *     });
+       *     stream.on("end", () => {
+       *       resolve(Buffer.concat(chunks));
+       *     });
+       *     stream.on("error", reject);
+       *   });
+       *   return result.toString();
+       * }
+       * ```
+       *
+       * Example usage (browser):
+       *
+       * ```ts snippet:ReadmeSampleDownloadBlob_Browser
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blobClient = containerClient.getBlobClient(blobName);
+       *
+       * // Get blob content from position 0 to the end
+       * // In browsers, get downloaded data by accessing downloadBlockBlobResponse.blobBody
+       * const downloadBlockBlobResponse = await blobClient.download();
+       * const blobBody = await downloadBlockBlobResponse.blobBody;
+       * if (blobBody) {
+       *   const downloaded = await blobBody.text();
+       *   console.log(`Downloaded blob content: ${downloaded}`);
+       * }
+       * ```
+       */
+      async download(offset = 0, count, options = {}) {
+        options.conditions = options.conditions || {};
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlobClient-download", options, async (updatedOptions) => {
+          const res = (0, utils_common_js_1.assertResponse)(await this.blobContext.download({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            requestOptions: {
+              onDownloadProgress: core_util_1.isNodeLike ? void 0 : options.onProgress
+              // for Node.js, progress is reported by RetriableReadableStream
+            },
+            range: offset === 0 && !count ? void 0 : (0, Range_js_1.rangeToString)({ offset, count }),
+            rangeGetContentMD5: options.rangeGetContentMD5,
+            rangeGetContentCRC64: options.rangeGetContentCrc64,
+            snapshot: options.snapshot,
+            cpkInfo: options.customerProvidedKey,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const wrappedRes = {
+            ...res,
+            _response: res._response,
+            // _response is made non-enumerable
+            objectReplicationDestinationPolicyId: res.objectReplicationPolicyId,
+            objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(res.objectReplicationRules)
+          };
+          if (!core_util_1.isNodeLike) {
+            return wrappedRes;
           }
-        }
-      }
-    };
-    exports2.ServiceSetPropertiesExceptionHeaders = {
-      serializedName: "Service_setPropertiesExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceSetPropertiesExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+          if (options.maxRetryRequests === void 0 || options.maxRetryRequests < 0) {
+            options.maxRetryRequests = constants_js_1.DEFAULT_MAX_DOWNLOAD_RETRY_REQUESTS;
           }
-        }
-      }
-    };
-    exports2.ServiceGetPropertiesHeaders = {
-      serializedName: "Service_getPropertiesHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceGetPropertiesHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+          if (res.contentLength === void 0) {
+            throw new RangeError(`File download response doesn't contain valid content length header`);
           }
-        }
-      }
-    };
-    exports2.ServiceGetPropertiesExceptionHeaders = {
-      serializedName: "Service_getPropertiesExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceGetPropertiesExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+          if (!res.etag) {
+            throw new RangeError(`File download response doesn't contain valid etag header`);
           }
-        }
+          return new BlobDownloadResponse_js_1.BlobDownloadResponse(wrappedRes, async (start) => {
+            const updatedDownloadOptions = {
+              leaseAccessConditions: options.conditions,
+              modifiedAccessConditions: {
+                ifMatch: options.conditions.ifMatch || res.etag,
+                ifModifiedSince: options.conditions.ifModifiedSince,
+                ifNoneMatch: options.conditions.ifNoneMatch,
+                ifUnmodifiedSince: options.conditions.ifUnmodifiedSince,
+                ifTags: options.conditions?.tagConditions
+              },
+              range: (0, Range_js_1.rangeToString)({
+                count: offset + res.contentLength - start,
+                offset: start
+              }),
+              rangeGetContentMD5: options.rangeGetContentMD5,
+              rangeGetContentCRC64: options.rangeGetContentCrc64,
+              snapshot: options.snapshot,
+              cpkInfo: options.customerProvidedKey
+            };
+            return (await this.blobContext.download({
+              abortSignal: options.abortSignal,
+              ...updatedDownloadOptions
+            })).readableStreamBody;
+          }, offset, res.contentLength, {
+            maxRetryRequests: options.maxRetryRequests,
+            onProgress: options.onProgress
+          });
+        });
       }
-    };
-    exports2.ServiceGetStatisticsHeaders = {
-      serializedName: "Service_getStatisticsHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceGetStatisticsHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+      /**
+       * Returns true if the Azure blob resource represented by this client exists; false otherwise.
+       *
+       * NOTE: use this function with care since an existing blob might be deleted by other clients or
+       * applications. Vice versa new blobs might be added by other clients or applications after this
+       * function completes.
+       *
+       * @param options - options to Exists operation.
+       */
+      async exists(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-exists", options, async (updatedOptions) => {
+          try {
+            (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+            await this.getProperties({
+              abortSignal: options.abortSignal,
+              customerProvidedKey: options.customerProvidedKey,
+              conditions: options.conditions,
+              tracingOptions: updatedOptions.tracingOptions
+            });
+            return true;
+          } catch (e) {
+            if (e.statusCode === 404) {
+              return false;
+            } else if (e.statusCode === 409 && (e.details.errorCode === constants_js_1.BlobUsesCustomerSpecifiedEncryptionMsg || e.details.errorCode === constants_js_1.BlobDoesNotUseCustomerSpecifiedEncryption)) {
+              return true;
             }
+            throw e;
           }
-        }
+        });
       }
-    };
-    exports2.ServiceGetStatisticsExceptionHeaders = {
-      serializedName: "Service_getStatisticsExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceGetStatisticsExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Returns all user-defined metadata, standard HTTP properties, and system properties
+       * for the blob. It does not return the content of the blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-properties
+       *
+       * WARNING: The `metadata` object returned in the response will have its keys in lowercase, even if
+       * they originally contained uppercase characters. This differs from the metadata keys returned by
+       * the methods of {@link ContainerClient} that list blobs using the `includeMetadata` option, which
+       * will retain their original casing.
+       *
+       * @param options - Optional options to Get Properties operation.
+       */
+      async getProperties(options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlobClient-getProperties", options, async (updatedOptions) => {
+          const res = (0, utils_common_js_1.assertResponse)(await this.blobContext.getProperties({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          return {
+            ...res,
+            _response: res._response,
+            // _response is made non-enumerable
+            objectReplicationDestinationPolicyId: res.objectReplicationPolicyId,
+            objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(res.objectReplicationRules)
+          };
+        });
       }
-    };
-    exports2.ServiceListContainersSegmentHeaders = {
-      serializedName: "Service_listContainersSegmentHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceListContainersSegmentHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Marks the specified blob or snapshot for deletion. The blob is later deleted
+       * during garbage collection. Note that in order to delete a blob, you must delete
+       * all of its snapshots. You can delete both at the same time with the Delete
+       * Blob operation.
+       * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob
+       *
+       * @param options - Optional options to Blob Delete operation.
+       */
+      async delete(options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("BlobClient-delete", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.delete({
+            abortSignal: options.abortSignal,
+            deleteSnapshots: options.deleteSnapshots,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.ServiceListContainersSegmentExceptionHeaders = {
-      serializedName: "Service_listContainersSegmentExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceListContainersSegmentExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+      /**
+       * Marks the specified blob or snapshot for deletion if it exists. The blob is later deleted
+       * during garbage collection. Note that in order to delete a blob, you must delete
+       * all of its snapshots. You can delete both at the same time with the Delete
+       * Blob operation.
+       * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob
+       *
+       * @param options - Optional options to Blob Delete operation.
+       */
+      async deleteIfExists(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-deleteIfExists", options, async (updatedOptions) => {
+          try {
+            const res = (0, utils_common_js_1.assertResponse)(await this.delete(updatedOptions));
+            return {
+              succeeded: true,
+              ...res,
+              _response: res._response
+              // _response is made non-enumerable
+            };
+          } catch (e) {
+            if (e.details?.errorCode === "BlobNotFound") {
+              return {
+                succeeded: false,
+                ...e.response?.parsedHeaders,
+                _response: e.response
+              };
             }
+            throw e;
           }
-        }
+        });
       }
-    };
-    exports2.ServiceGetUserDelegationKeyHeaders = {
-      serializedName: "Service_getUserDelegationKeyHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceGetUserDelegationKeyHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Restores the contents and metadata of soft deleted blob and any associated
+       * soft deleted snapshots. Undelete Blob is supported only on version 2017-07-29
+       * or later.
+       * @see https://learn.microsoft.com/rest/api/storageservices/undelete-blob
+       *
+       * @param options - Optional options to Blob Undelete operation.
+       */
+      async undelete(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-undelete", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.undelete({
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Sets system properties on the blob.
+       *
+       * If no value provided, or no value provided for the specified blob HTTP headers,
+       * these blob HTTP headers without a value will be cleared.
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties
+       *
+       * @param blobHTTPHeaders - If no value provided, or no value provided for
+       *                                                   the specified blob HTTP headers, these blob HTTP
+       *                                                   headers without a value will be cleared.
+       *                                                   A common header to set is `blobContentType`
+       *                                                   enabling the browser to provide functionality
+       *                                                   based on file type.
+       * @param options - Optional options to Blob Set HTTP Headers operation.
+       */
+      async setHTTPHeaders(blobHTTPHeaders, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlobClient-setHTTPHeaders", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setHttpHeaders({
+            abortSignal: options.abortSignal,
+            blobHttpHeaders: blobHTTPHeaders,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            // cpkInfo: options.customerProvidedKey, // CPK is not included in Swagger, should change this back when this issue is fixed in Swagger.
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Sets user-defined metadata for the specified blob as one or more name-value pairs.
+       *
+       * If no option provided, or no metadata defined in the parameter, the blob
+       * metadata will be removed.
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-metadata
+       *
+       * @param metadata - Replace existing metadata with this value.
+       *                               If no value provided the existing metadata will be removed.
+       * @param options - Optional options to Set Metadata operation.
+       */
+      async setMetadata(metadata, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlobClient-setMetadata", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setMetadata({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            metadata,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Sets tags on the underlying blob.
+       * A blob can have up to 10 tags. Tag keys must be between 1 and 128 characters.  Tag values must be between 0 and 256 characters.
+       * Valid tag key and value characters include lower and upper case letters, digits (0-9),
+       * space (' '), plus ('+'), minus ('-'), period ('.'), foward slash ('/'), colon (':'), equals ('='), and underscore ('_').
+       *
+       * @param tags -
+       * @param options -
+       */
+      async setTags(tags, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-setTags", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setTags({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions,
+            tags: (0, utils_common_js_1.toBlobTags)(tags)
+          }));
+        });
+      }
+      /**
+       * Gets the tags associated with the underlying blob.
+       *
+       * @param options -
+       */
+      async getTags(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-getTags", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this.blobContext.getTags({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const wrappedResponse = {
+            ...response,
+            _response: response._response,
+            // _response is made non-enumerable
+            tags: (0, utils_common_js_1.toTags)({ blobTagSet: response.blobTagSet }) || {}
+          };
+          return wrappedResponse;
+        });
+      }
+      /**
+       * Get a {@link BlobLeaseClient} that manages leases on the blob.
+       *
+       * @param proposeLeaseId - Initial proposed lease Id.
+       * @returns A new BlobLeaseClient object for managing leases on the blob.
+       */
+      getBlobLeaseClient(proposeLeaseId) {
+        return new BlobLeaseClient_js_1.BlobLeaseClient(this, proposeLeaseId);
       }
-    };
-    exports2.ServiceGetUserDelegationKeyExceptionHeaders = {
-      serializedName: "Service_getUserDelegationKeyExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceGetUserDelegationKeyExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Creates a read-only snapshot of a blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/snapshot-blob
+       *
+       * @param options - Optional options to the Blob Create Snapshot operation.
+       */
+      async createSnapshot(options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlobClient-createSnapshot", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.createSnapshot({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            metadata: options.metadata,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.ServiceGetAccountInfoHeaders = {
-      serializedName: "Service_getAccountInfoHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceGetAccountInfoHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          skuName: {
-            serializedName: "x-ms-sku-name",
-            xmlName: "x-ms-sku-name",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "Standard_LRS",
-                "Standard_GRS",
-                "Standard_RAGRS",
-                "Standard_ZRS",
-                "Premium_LRS"
-              ]
-            }
-          },
-          accountKind: {
-            serializedName: "x-ms-account-kind",
-            xmlName: "x-ms-account-kind",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "Storage",
-                "BlobStorage",
-                "StorageV2",
-                "FileStorage",
-                "BlockBlobStorage"
-              ]
-            }
-          },
-          isHierarchicalNamespaceEnabled: {
-            serializedName: "x-ms-is-hns-enabled",
-            xmlName: "x-ms-is-hns-enabled",
-            type: {
-              name: "Boolean"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Asynchronously copies a blob to a destination within the storage account.
+       * This method returns a long running operation poller that allows you to wait
+       * indefinitely until the copy is completed.
+       * You can also cancel a copy before it is completed by calling `cancelOperation` on the poller.
+       * Note that the onProgress callback will not be invoked if the operation completes in the first
+       * request, and attempting to cancel a completed copy will result in an error being thrown.
+       *
+       * In version 2012-02-12 and later, the source for a Copy Blob operation can be
+       * a committed blob in any Azure storage account.
+       * Beginning with version 2015-02-21, the source for a Copy Blob operation can be
+       * an Azure file in any Azure storage account.
+       * Only storage accounts created on or after June 7th, 2012 allow the Copy Blob
+       * operation to copy from another storage account.
+       * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob
+       *
+       * ```ts snippet:ClientsBeginCopyFromURL
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blobClient = containerClient.getBlobClient(blobName);
+       *
+       * // Example using automatic polling
+       * const automaticCopyPoller = await blobClient.beginCopyFromURL("url");
+       * const automaticResult = await automaticCopyPoller.pollUntilDone();
+       *
+       * // Example using manual polling
+       * const manualCopyPoller = await blobClient.beginCopyFromURL("url");
+       * while (!manualCopyPoller.isDone()) {
+       *   await manualCopyPoller.poll();
+       * }
+       * const manualResult = manualCopyPoller.getResult();
+       *
+       * // Example using progress updates
+       * const progressUpdatesCopyPoller = await blobClient.beginCopyFromURL("url", {
+       *   onProgress(state) {
+       *     console.log(`Progress: ${state.copyProgress}`);
+       *   },
+       * });
+       * const progressUpdatesResult = await progressUpdatesCopyPoller.pollUntilDone();
+       *
+       * // Example using a changing polling interval (default 15 seconds)
+       * const pollingIntervalCopyPoller = await blobClient.beginCopyFromURL("url", {
+       *   intervalInMs: 1000, // poll blob every 1 second for copy progress
+       * });
+       * const pollingIntervalResult = await pollingIntervalCopyPoller.pollUntilDone();
+       *
+       * // Example using copy cancellation:
+       * const cancelCopyPoller = await blobClient.beginCopyFromURL("url");
+       * // cancel operation after starting it.
+       * try {
+       *   await cancelCopyPoller.cancelOperation();
+       *   // calls to get the result now throw PollerCancelledError
+       *   cancelCopyPoller.getResult();
+       * } catch (err: any) {
+       *   if (err.name === "PollerCancelledError") {
+       *     console.log("The copy was cancelled.");
+       *   }
+       * }
+       * ```
+       *
+       * @param copySource - url to the source Azure Blob/File.
+       * @param options - Optional options to the Blob Start Copy From URL operation.
+       */
+      async beginCopyFromURL(copySource, options = {}) {
+        const client = {
+          abortCopyFromURL: (...args) => this.abortCopyFromURL(...args),
+          getProperties: (...args) => this.getProperties(...args),
+          startCopyFromURL: (...args) => this.startCopyFromURL(...args)
+        };
+        const poller = new BlobStartCopyFromUrlPoller_js_1.BlobBeginCopyFromUrlPoller({
+          blobClient: client,
+          copySource,
+          intervalInMs: options.intervalInMs,
+          onProgress: options.onProgress,
+          resumeFrom: options.resumeFrom,
+          startCopyFromURLOptions: options
+        });
+        await poller.poll();
+        return poller;
       }
-    };
-    exports2.ServiceGetAccountInfoExceptionHeaders = {
-      serializedName: "Service_getAccountInfoExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceGetAccountInfoExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Aborts a pending asynchronous Copy Blob operation, and leaves a destination blob with zero
+       * length and full metadata. Version 2012-02-12 and newer.
+       * @see https://learn.microsoft.com/rest/api/storageservices/abort-copy-blob
+       *
+       * @param copyId - Id of the Copy From URL operation.
+       * @param options - Optional options to the Blob Abort Copy From URL operation.
+       */
+      async abortCopyFromURL(copyId, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-abortCopyFromURL", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.abortCopyFromURL(copyId, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.ServiceSubmitBatchHeaders = {
-      serializedName: "Service_submitBatchHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceSubmitBatchHeaders",
-        modelProperties: {
-          contentType: {
-            serializedName: "content-type",
-            xmlName: "content-type",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * The synchronous Copy From URL operation copies a blob or an internet resource to a new blob. It will not
+       * return a response until the copy is complete.
+       * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob-from-url
+       *
+       * @param copySource - The source URL to copy from, Shared Access Signature(SAS) maybe needed for authentication
+       * @param options -
+       */
+      async syncCopyFromURL(copySource, options = {}) {
+        options.conditions = options.conditions || {};
+        options.sourceConditions = options.sourceConditions || {};
+        return tracing_js_1.tracingClient.withSpan("BlobClient-syncCopyFromURL", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.copyFromURL(copySource, {
+            abortSignal: options.abortSignal,
+            metadata: options.metadata,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            sourceModifiedAccessConditions: {
+              sourceIfMatch: options.sourceConditions?.ifMatch,
+              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
+              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
+              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince
+            },
+            sourceContentMD5: options.sourceContentMD5,
+            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
+            tier: (0, models_js_1.toAccessTier)(options.tier),
+            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
+            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
+            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
+            legalHold: options.legalHold,
+            encryptionScope: options.encryptionScope,
+            copySourceTags: options.copySourceTags,
+            fileRequestIntent: options.sourceShareTokenIntent,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.ServiceSubmitBatchExceptionHeaders = {
-      serializedName: "Service_submitBatchExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceSubmitBatchExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Sets the tier on a blob. The operation is allowed on a page blob in a premium
+       * storage account and on a block blob in a blob storage account (locally redundant
+       * storage only). A premium page blob's tier determines the allowed size, IOPS,
+       * and bandwidth of the blob. A block blob's tier determines Hot/Cool/Archive
+       * storage type. This operation does not update the blob's ETag.
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-tier
+       *
+       * @param tier - The tier to be set on the blob. Valid values are Hot, Cool, or Archive.
+       * @param options - Optional options to the Blob Set Tier operation.
+       */
+      async setAccessTier(tier, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-setAccessTier", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setTier((0, models_js_1.toAccessTier)(tier), {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            rehydratePriority: options.rehydratePriority,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.ServiceFilterBlobsHeaders = {
-      serializedName: "Service_filterBlobsHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceFilterBlobsHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      async downloadToBuffer(param1, param2, param3, param4 = {}) {
+        let buffer;
+        let offset = 0;
+        let count = 0;
+        let options = param4;
+        if (param1 instanceof Buffer) {
+          buffer = param1;
+          offset = param2 || 0;
+          count = typeof param3 === "number" ? param3 : 0;
+        } else {
+          offset = typeof param1 === "number" ? param1 : 0;
+          count = typeof param2 === "number" ? param2 : 0;
+          options = param3 || {};
         }
-      }
-    };
-    exports2.ServiceFilterBlobsExceptionHeaders = {
-      serializedName: "Service_filterBlobsExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceFilterBlobsExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+        let blockSize = options.blockSize ?? 0;
+        if (blockSize < 0) {
+          throw new RangeError("blockSize option must be >= 0");
         }
-      }
-    };
-    exports2.ContainerCreateHeaders = {
-      serializedName: "Container_createHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerCreateHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+        if (blockSize === 0) {
+          blockSize = constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES;
         }
-      }
-    };
-    exports2.ContainerCreateExceptionHeaders = {
-      serializedName: "Container_createExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerCreateExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+        if (offset < 0) {
+          throw new RangeError("offset option must be >= 0");
+        }
+        if (count && count <= 0) {
+          throw new RangeError("count option must be greater than 0");
         }
-      }
-    };
-    exports2.ContainerGetPropertiesHeaders = {
-      serializedName: "Container_getPropertiesHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerGetPropertiesHeaders",
-        modelProperties: {
-          metadata: {
-            serializedName: "x-ms-meta",
-            headerCollectionPrefix: "x-ms-meta-",
-            xmlName: "x-ms-meta",
-            type: {
-              name: "Dictionary",
-              value: { type: { name: "String" } }
-            }
-          },
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          leaseDuration: {
-            serializedName: "x-ms-lease-duration",
-            xmlName: "x-ms-lease-duration",
-            type: {
-              name: "Enum",
-              allowedValues: ["infinite", "fixed"]
-            }
-          },
-          leaseState: {
-            serializedName: "x-ms-lease-state",
-            xmlName: "x-ms-lease-state",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "available",
-                "leased",
-                "expired",
-                "breaking",
-                "broken"
-              ]
-            }
-          },
-          leaseStatus: {
-            serializedName: "x-ms-lease-status",
-            xmlName: "x-ms-lease-status",
-            type: {
-              name: "Enum",
-              allowedValues: ["locked", "unlocked"]
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          blobPublicAccess: {
-            serializedName: "x-ms-blob-public-access",
-            xmlName: "x-ms-blob-public-access",
-            type: {
-              name: "Enum",
-              allowedValues: ["container", "blob"]
-            }
-          },
-          hasImmutabilityPolicy: {
-            serializedName: "x-ms-has-immutability-policy",
-            xmlName: "x-ms-has-immutability-policy",
-            type: {
-              name: "Boolean"
-            }
-          },
-          hasLegalHold: {
-            serializedName: "x-ms-has-legal-hold",
-            xmlName: "x-ms-has-legal-hold",
-            type: {
-              name: "Boolean"
-            }
-          },
-          defaultEncryptionScope: {
-            serializedName: "x-ms-default-encryption-scope",
-            xmlName: "x-ms-default-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          denyEncryptionScopeOverride: {
-            serializedName: "x-ms-deny-encryption-scope-override",
-            xmlName: "x-ms-deny-encryption-scope-override",
-            type: {
-              name: "Boolean"
-            }
-          },
-          isImmutableStorageWithVersioningEnabled: {
-            serializedName: "x-ms-immutable-storage-with-versioning-enabled",
-            xmlName: "x-ms-immutable-storage-with-versioning-enabled",
-            type: {
-              name: "Boolean"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+        if (!options.conditions) {
+          options.conditions = {};
+        }
+        return tracing_js_1.tracingClient.withSpan("BlobClient-downloadToBuffer", options, async (updatedOptions) => {
+          if (!count) {
+            const response = await this.getProperties({
+              ...options,
+              tracingOptions: updatedOptions.tracingOptions
+            });
+            count = response.contentLength - offset;
+            if (count < 0) {
+              throw new RangeError(`offset ${offset} shouldn't be larger than blob size ${response.contentLength}`);
             }
           }
-        }
-      }
-    };
-    exports2.ContainerGetPropertiesExceptionHeaders = {
-      serializedName: "Container_getPropertiesExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerGetPropertiesExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+          if (!buffer) {
+            try {
+              buffer = Buffer.alloc(count);
+            } catch (error3) {
+              throw new Error(`Unable to allocate the buffer of size: ${count}(in bytes). Please try passing your own buffer to the "downloadToBuffer" method or try using other methods like "download" or "downloadToFile".	 ${error3.message}`);
             }
           }
-        }
+          if (buffer.length < count) {
+            throw new RangeError(`The buffer's size should be equal to or larger than the request count of bytes: ${count}`);
+          }
+          let transferProgress = 0;
+          const batch = new Batch_js_1.Batch(options.concurrency);
+          for (let off = offset; off < offset + count; off = off + blockSize) {
+            batch.addOperation(async () => {
+              let chunkEnd = offset + count;
+              if (off + blockSize < chunkEnd) {
+                chunkEnd = off + blockSize;
+              }
+              const response = await this.download(off, chunkEnd - off, {
+                abortSignal: options.abortSignal,
+                conditions: options.conditions,
+                maxRetryRequests: options.maxRetryRequestsPerBlock,
+                customerProvidedKey: options.customerProvidedKey,
+                tracingOptions: updatedOptions.tracingOptions
+              });
+              const stream = response.readableStreamBody;
+              await (0, utils_js_1.streamToBuffer)(stream, buffer, off - offset, chunkEnd - offset);
+              transferProgress += chunkEnd - off;
+              if (options.onProgress) {
+                options.onProgress({ loadedBytes: transferProgress });
+              }
+            });
+          }
+          await batch.do();
+          return buffer;
+        });
       }
-    };
-    exports2.ContainerDeleteHeaders = {
-      serializedName: "Container_deleteHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerDeleteHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      /**
+       * ONLY AVAILABLE IN NODE.JS RUNTIME.
+       *
+       * Downloads an Azure Blob to a local file.
+       * Fails if the the given file path already exits.
+       * Offset and count are optional, pass 0 and undefined respectively to download the entire blob.
+       *
+       * @param filePath -
+       * @param offset - From which position of the block blob to download.
+       * @param count - How much data to be downloaded. Will download to the end when passing undefined.
+       * @param options - Options to Blob download options.
+       * @returns The response data for blob download operation,
+       *                                                 but with readableStreamBody set to undefined since its
+       *                                                 content is already read and written into a local file
+       *                                                 at the specified path.
+       */
+      async downloadToFile(filePath, offset = 0, count, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-downloadToFile", options, async (updatedOptions) => {
+          const response = await this.download(offset, count, {
+            ...options,
+            tracingOptions: updatedOptions.tracingOptions
+          });
+          if (response.readableStreamBody) {
+            await (0, utils_js_1.readStreamToLocalFile)(response.readableStreamBody, filePath);
           }
-        }
+          response.blobDownloadStream = void 0;
+          return response;
+        });
       }
-    };
-    exports2.ContainerDeleteExceptionHeaders = {
-      serializedName: "Container_deleteExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerDeleteExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      getBlobAndContainerNamesFromUrl() {
+        let containerName;
+        let blobName;
+        try {
+          const parsedUrl = new URL(this.url);
+          if (parsedUrl.host.split(".")[1] === "blob") {
+            const pathComponents = parsedUrl.pathname.match("/([^/]*)(/(.*))?");
+            containerName = pathComponents[1];
+            blobName = pathComponents[3];
+          } else if ((0, utils_common_js_1.isIpEndpointStyle)(parsedUrl)) {
+            const pathComponents = parsedUrl.pathname.match("/([^/]*)/([^/]*)(/(.*))?");
+            containerName = pathComponents[2];
+            blobName = pathComponents[4];
+          } else {
+            const pathComponents = parsedUrl.pathname.match("/([^/]*)(/(.*))?");
+            containerName = pathComponents[1];
+            blobName = pathComponents[3];
+          }
+          containerName = decodeURIComponent(containerName);
+          blobName = decodeURIComponent(blobName);
+          blobName = blobName.replace(/\\/g, "/");
+          if (!containerName) {
+            throw new Error("Provided containerName is invalid.");
           }
+          return { blobName, containerName };
+        } catch (error3) {
+          throw new Error("Unable to extract blobName and containerName with provided information.");
         }
       }
-    };
-    exports2.ContainerSetMetadataHeaders = {
-      serializedName: "Container_setMetadataHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerSetMetadataHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      /**
+       * Asynchronously copies a blob to a destination within the storage account.
+       * In version 2012-02-12 and later, the source for a Copy Blob operation can be
+       * a committed blob in any Azure storage account.
+       * Beginning with version 2015-02-21, the source for a Copy Blob operation can be
+       * an Azure file in any Azure storage account.
+       * Only storage accounts created on or after June 7th, 2012 allow the Copy Blob
+       * operation to copy from another storage account.
+       * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob
+       *
+       * @param copySource - url to the source Azure Blob/File.
+       * @param options - Optional options to the Blob Start Copy From URL operation.
+       */
+      async startCopyFromURL(copySource, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-startCopyFromURL", options, async (updatedOptions) => {
+          options.conditions = options.conditions || {};
+          options.sourceConditions = options.sourceConditions || {};
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.startCopyFromURL(copySource, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            metadata: options.metadata,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            sourceModifiedAccessConditions: {
+              sourceIfMatch: options.sourceConditions.ifMatch,
+              sourceIfModifiedSince: options.sourceConditions.ifModifiedSince,
+              sourceIfNoneMatch: options.sourceConditions.ifNoneMatch,
+              sourceIfUnmodifiedSince: options.sourceConditions.ifUnmodifiedSince,
+              sourceIfTags: options.sourceConditions.tagConditions
+            },
+            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
+            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
+            legalHold: options.legalHold,
+            rehydratePriority: options.rehydratePriority,
+            tier: (0, models_js_1.toAccessTier)(options.tier),
+            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
+            sealBlob: options.sealBlob,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Only available for BlobClient constructed with a shared key credential.
+       *
+       * Generates a Blob Service Shared Access Signature (SAS) URI based on the client properties
+       * and parameters passed in. The SAS is signed by the shared key credential of the client.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateSasUrl(options) {
+        return new Promise((resolve2) => {
+          if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
+            throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
           }
+          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
+            containerName: this._containerName,
+            blobName: this._name,
+            snapshotTime: this._snapshot,
+            versionId: this._versionId,
+            ...options
+          }, this.credential).toString();
+          resolve2((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
+        });
+      }
+      /**
+       * Only available for BlobClient constructed with a shared key credential.
+       *
+       * Generates string to sign for a Blob Service Shared Access Signature (SAS) URI based on
+       * the client properties and parameters passed in. The SAS is signed by the shared key credential of the client.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/
+      generateSasStringToSign(options) {
+        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
+          throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
         }
+        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
+          containerName: this._containerName,
+          blobName: this._name,
+          snapshotTime: this._snapshot,
+          versionId: this._versionId,
+          ...options
+        }, this.credential).stringToSign;
+      }
+      /**
+       *
+       * Generates a Blob Service Shared Access Signature (SAS) URI based on
+       * the client properties and parameters passed in. The SAS is signed by the input user delegation key.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateUserDelegationSasUrl(options, userDelegationKey) {
+        return new Promise((resolve2) => {
+          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
+            containerName: this._containerName,
+            blobName: this._name,
+            snapshotTime: this._snapshot,
+            versionId: this._versionId,
+            ...options
+          }, userDelegationKey, this.accountName).toString();
+          resolve2((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
+        });
+      }
+      /**
+       * Only available for BlobClient constructed with a shared key credential.
+       *
+       * Generates string to sign for a Blob Service Shared Access Signature (SAS) URI based on
+       * the client properties and parameters passed in. The SAS is signed by the input user delegation key.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateUserDelegationSasStringToSign(options, userDelegationKey) {
+        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
+          containerName: this._containerName,
+          blobName: this._name,
+          snapshotTime: this._snapshot,
+          versionId: this._versionId,
+          ...options
+        }, userDelegationKey, this.accountName).stringToSign;
+      }
+      /**
+       * Delete the immutablility policy on the blob.
+       *
+       * @param options - Optional options to delete immutability policy on the blob.
+       */
+      async deleteImmutabilityPolicy(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-deleteImmutabilityPolicy", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.deleteImmutabilityPolicy({
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Set immutability policy on the blob.
+       *
+       * @param options - Optional options to set immutability policy on the blob.
+       */
+      async setImmutabilityPolicy(immutabilityPolicy, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-setImmutabilityPolicy", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setImmutabilityPolicy({
+            immutabilityPolicyExpiry: immutabilityPolicy.expiriesOn,
+            immutabilityPolicyMode: immutabilityPolicy.policyMode,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.ContainerSetMetadataExceptionHeaders = {
-      serializedName: "Container_setMetadataExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerSetMetadataExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Set legal hold on the blob.
+       *
+       * @param options - Optional options to set legal hold on the blob.
+       */
+      async setLegalHold(legalHoldEnabled, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-setLegalHold", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setLegalHold(legalHoldEnabled, {
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.ContainerGetAccessPolicyHeaders = {
-      serializedName: "Container_getAccessPolicyHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerGetAccessPolicyHeaders",
-        modelProperties: {
-          blobPublicAccess: {
-            serializedName: "x-ms-blob-public-access",
-            xmlName: "x-ms-blob-public-access",
-            type: {
-              name: "Enum",
-              allowedValues: ["container", "blob"]
-            }
-          },
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * The Get Account Information operation returns the sku name and account kind
+       * for the specified account.
+       * The Get Account Information operation is available on service versions beginning
+       * with version 2018-03-28.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information
+       *
+       * @param options - Options to the Service Get Account Info operation.
+       * @returns Response data for the Service Get Account Info operation.
+       */
+      async getAccountInfo(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-getAccountInfo", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.getAccountInfo({
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
     };
-    exports2.ContainerGetAccessPolicyExceptionHeaders = {
-      serializedName: "Container_getAccessPolicyExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerGetAccessPolicyExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+    exports2.BlobClient = BlobClient;
+    var AppendBlobClient = class _AppendBlobClient extends BlobClient {
+      /**
+       * appendBlobsContext provided by protocol layer.
+       */
+      appendBlobContext;
+      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
+        let pipeline;
+        let url;
+        options = options || {};
+        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
+          url = urlOrConnectionString;
+          pipeline = credentialOrPipelineOrContainerName;
+        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
+          url = urlOrConnectionString;
+          options = blobNameOrOptions;
+          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
+        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
+          url = urlOrConnectionString;
+          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
+          const containerName = credentialOrPipelineOrContainerName;
+          const blobName = blobNameOrOptions;
+          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
+          if (extractedCreds.kind === "AccountConnString") {
+            if (core_util_1.isNodeLike) {
+              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
+              url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
+              if (!options.proxyOptions) {
+                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+              }
+              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+            } else {
+              throw new Error("Account connection string is only supported in Node.js environment");
             }
+          } else if (extractedCreds.kind === "SASConnString") {
+            url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
+            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+          } else {
+            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
           }
+        } else {
+          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
         }
+        super(url, pipeline);
+        this.appendBlobContext = this.storageClientContext.appendBlob;
       }
-    };
-    exports2.ContainerSetAccessPolicyHeaders = {
-      serializedName: "Container_setAccessPolicyHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerSetAccessPolicyHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Creates a new AppendBlobClient object identical to the source but with the
+       * specified snapshot timestamp.
+       * Provide "" will remove the snapshot and return a Client to the base blob.
+       *
+       * @param snapshot - The snapshot timestamp.
+       * @returns A new AppendBlobClient object identical to the source but with the specified snapshot timestamp.
+       */
+      withSnapshot(snapshot) {
+        return new _AppendBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
       }
-    };
-    exports2.ContainerSetAccessPolicyExceptionHeaders = {
-      serializedName: "Container_setAccessPolicyExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerSetAccessPolicyExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+      /**
+       * Creates a 0-length append blob. Call AppendBlock to append data to an append blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
+       *
+       * @param options - Options to the Append Block Create operation.
+       *
+       *
+       * Example usage:
+       *
+       * ```ts snippet:ClientsCreateAppendBlob
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       *
+       * const appendBlobClient = containerClient.getAppendBlobClient(blobName);
+       * await appendBlobClient.create();
+       * ```
+       */
+      async create(options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-create", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.create(0, {
+            abortSignal: options.abortSignal,
+            blobHttpHeaders: options.blobHTTPHeaders,
+            leaseAccessConditions: options.conditions,
+            metadata: options.metadata,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
+            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
+            legalHold: options.legalHold,
+            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Creates a 0-length append blob. Call AppendBlock to append data to an append blob.
+       * If the blob with the same name already exists, the content of the existing blob will remain unchanged.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
+       *
+       * @param options -
+       */
+      async createIfNotExists(options = {}) {
+        const conditions = { ifNoneMatch: constants_js_1.ETagAny };
+        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-createIfNotExists", options, async (updatedOptions) => {
+          try {
+            const res = (0, utils_common_js_1.assertResponse)(await this.create({
+              ...updatedOptions,
+              conditions
+            }));
+            return {
+              succeeded: true,
+              ...res,
+              _response: res._response
+              // _response is made non-enumerable
+            };
+          } catch (e) {
+            if (e.details?.errorCode === "BlobAlreadyExists") {
+              return {
+                succeeded: false,
+                ...e.response?.parsedHeaders,
+                _response: e.response
+              };
             }
+            throw e;
           }
-        }
+        });
+      }
+      /**
+       * Seals the append blob, making it read only.
+       *
+       * @param options -
+       */
+      async seal(options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-seal", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.seal({
+            abortSignal: options.abortSignal,
+            appendPositionAccessConditions: options.conditions,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Commits a new block of data to the end of the existing append blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/append-block
+       *
+       * @param body - Data to be appended.
+       * @param contentLength - Length of the body in bytes.
+       * @param options - Options to the Append Block operation.
+       *
+       *
+       * Example usage:
+       *
+       * ```ts snippet:ClientsAppendBlock
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       *
+       * const content = "Hello World!";
+       *
+       * // Create a new append blob and append data to the blob.
+       * const newAppendBlobClient = containerClient.getAppendBlobClient(blobName);
+       * await newAppendBlobClient.create();
+       * await newAppendBlobClient.appendBlock(content, content.length);
+       *
+       * // Append data to an existing append blob.
+       * const existingAppendBlobClient = containerClient.getAppendBlobClient(blobName);
+       * await existingAppendBlobClient.appendBlock(content, content.length);
+       * ```
+       */
+      async appendBlock(body, contentLength, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-appendBlock", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.appendBlock(contentLength, body, {
+            abortSignal: options.abortSignal,
+            appendPositionAccessConditions: options.conditions,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            requestOptions: {
+              onUploadProgress: options.onProgress
+            },
+            transactionalContentMD5: options.transactionalContentMD5,
+            transactionalContentCrc64: options.transactionalContentCrc64,
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * The Append Block operation commits a new block of data to the end of an existing append blob
+       * where the contents are read from a source url.
+       * @see https://learn.microsoft.com/rest/api/storageservices/append-block-from-url
+       *
+       * @param sourceURL -
+       *                 The url to the blob that will be the source of the copy. A source blob in the same storage account can
+       *                 be authenticated via Shared Key. However, if the source is a blob in another account, the source blob
+       *                 must either be public or must be authenticated via a shared access signature. If the source blob is
+       *                 public, no authentication is required to perform the operation.
+       * @param sourceOffset - Offset in source to be appended
+       * @param count - Number of bytes to be appended as a block
+       * @param options -
+       */
+      async appendBlockFromURL(sourceURL, sourceOffset, count, options = {}) {
+        options.conditions = options.conditions || {};
+        options.sourceConditions = options.sourceConditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-appendBlockFromURL", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.appendBlockFromUrl(sourceURL, 0, {
+            abortSignal: options.abortSignal,
+            sourceRange: (0, Range_js_1.rangeToString)({ offset: sourceOffset, count }),
+            sourceContentMD5: options.sourceContentMD5,
+            sourceContentCrc64: options.sourceContentCrc64,
+            leaseAccessConditions: options.conditions,
+            appendPositionAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            sourceModifiedAccessConditions: {
+              sourceIfMatch: options.sourceConditions?.ifMatch,
+              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
+              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
+              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince
+            },
+            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            fileRequestIntent: options.sourceShareTokenIntent,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
     };
-    exports2.ContainerRestoreHeaders = {
-      serializedName: "Container_restoreHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerRestoreHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+    exports2.AppendBlobClient = AppendBlobClient;
+    var BlockBlobClient = class _BlockBlobClient extends BlobClient {
+      /**
+       * blobContext provided by protocol layer.
+       *
+       * Note. Ideally BlobClient should set BlobClient.blobContext to protected. However, API
+       * extractor has issue blocking that. Here we redecelare _blobContext in BlockBlobClient.
+       */
+      _blobContext;
+      /**
+       * blockBlobContext provided by protocol layer.
+       */
+      blockBlobContext;
+      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
+        let pipeline;
+        let url;
+        options = options || {};
+        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
+          url = urlOrConnectionString;
+          pipeline = credentialOrPipelineOrContainerName;
+        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
+          url = urlOrConnectionString;
+          options = blobNameOrOptions;
+          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
+        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
+          url = urlOrConnectionString;
+          if (blobNameOrOptions && typeof blobNameOrOptions !== "string") {
+            options = blobNameOrOptions;
           }
-        }
-      }
-    };
-    exports2.ContainerRestoreExceptionHeaders = {
-      serializedName: "Container_restoreExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerRestoreExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
+          const containerName = credentialOrPipelineOrContainerName;
+          const blobName = blobNameOrOptions;
+          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
+          if (extractedCreds.kind === "AccountConnString") {
+            if (core_util_1.isNodeLike) {
+              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
+              url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
+              if (!options.proxyOptions) {
+                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+              }
+              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+            } else {
+              throw new Error("Account connection string is only supported in Node.js environment");
             }
+          } else if (extractedCreds.kind === "SASConnString") {
+            url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
+            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+          } else {
+            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
           }
+        } else {
+          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
         }
+        super(url, pipeline);
+        this.blockBlobContext = this.storageClientContext.blockBlob;
+        this._blobContext = this.storageClientContext.blob;
       }
-    };
-    exports2.ContainerRenameHeaders = {
-      serializedName: "Container_renameHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerRenameHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Creates a new BlockBlobClient object identical to the source but with the
+       * specified snapshot timestamp.
+       * Provide "" will remove the snapshot and return a URL to the base blob.
+       *
+       * @param snapshot - The snapshot timestamp.
+       * @returns A new BlockBlobClient object identical to the source but with the specified snapshot timestamp.
+       */
+      withSnapshot(snapshot) {
+        return new _BlockBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
       }
-    };
-    exports2.ContainerRenameExceptionHeaders = {
-      serializedName: "Container_renameExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerRenameExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       * ONLY AVAILABLE IN NODE.JS RUNTIME.
+       *
+       * Quick query for a JSON or CSV formatted blob.
+       *
+       * Example usage (Node.js):
+       *
+       * ```ts snippet:ClientsQuery
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blockBlobClient = containerClient.getBlockBlobClient(blobName);
+       *
+       * // Query and convert a blob to a string
+       * const queryBlockBlobResponse = await blockBlobClient.query("select from BlobStorage");
+       * if (queryBlockBlobResponse.readableStreamBody) {
+       *   const downloadedBuffer = await streamToBuffer(queryBlockBlobResponse.readableStreamBody);
+       *   const downloaded = downloadedBuffer.toString();
+       *   console.log(`Query blob content: ${downloaded}`);
+       * }
+       *
+       * async function streamToBuffer(readableStream: NodeJS.ReadableStream): Promise {
+       *   return new Promise((resolve, reject) => {
+       *     const chunks: Buffer[] = [];
+       *     readableStream.on("data", (data) => {
+       *       chunks.push(data instanceof Buffer ? data : Buffer.from(data));
+       *     });
+       *     readableStream.on("end", () => {
+       *       resolve(Buffer.concat(chunks));
+       *     });
+       *     readableStream.on("error", reject);
+       *   });
+       * }
+       * ```
+       *
+       * @param query -
+       * @param options -
+       */
+      async query(query, options = {}) {
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        if (!core_util_1.isNodeLike) {
+          throw new Error("This operation currently is only supported in Node.js.");
         }
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-query", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this._blobContext.query({
+            abortSignal: options.abortSignal,
+            queryRequest: {
+              queryType: "SQL",
+              expression: query,
+              inputSerialization: (0, utils_common_js_1.toQuerySerialization)(options.inputTextConfiguration),
+              outputSerialization: (0, utils_common_js_1.toQuerySerialization)(options.outputTextConfiguration)
+            },
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          return new BlobQueryResponse_js_1.BlobQueryResponse(response, {
+            abortSignal: options.abortSignal,
+            onProgress: options.onProgress,
+            onError: options.onError
+          });
+        });
       }
-    };
-    exports2.ContainerSubmitBatchHeaders = {
-      serializedName: "Container_submitBatchHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerSubmitBatchHeaders",
-        modelProperties: {
-          contentType: {
-            serializedName: "content-type",
-            xmlName: "content-type",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Creates a new block blob, or updates the content of an existing block blob.
+       * Updating an existing block blob overwrites any existing metadata on the blob.
+       * Partial updates are not supported; the content of the existing blob is
+       * overwritten with the new content. To perform a partial update of a block blob's,
+       * use {@link stageBlock} and {@link commitBlockList}.
+       *
+       * This is a non-parallel uploading method, please use {@link uploadFile},
+       * {@link uploadStream} or {@link uploadBrowserData} for better performance
+       * with concurrency uploading.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
+       *
+       * @param body - Blob, string, ArrayBuffer, ArrayBufferView or a function
+       *                               which returns a new Readable stream whose offset is from data source beginning.
+       * @param contentLength - Length of body in bytes. Use Buffer.byteLength() to calculate body length for a
+       *                               string including non non-Base64/Hex-encoded characters.
+       * @param options - Options to the Block Blob Upload operation.
+       * @returns Response data for the Block Blob Upload operation.
+       *
+       * Example usage:
+       *
+       * ```ts snippet:ClientsUpload
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blockBlobClient = containerClient.getBlockBlobClient(blobName);
+       *
+       * const content = "Hello world!";
+       * const uploadBlobResponse = await blockBlobClient.upload(content, content.length);
+       * ```
+       */
+      async upload(body, contentLength, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-upload", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.upload(contentLength, body, {
+            abortSignal: options.abortSignal,
+            blobHttpHeaders: options.blobHTTPHeaders,
+            leaseAccessConditions: options.conditions,
+            metadata: options.metadata,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            requestOptions: {
+              onUploadProgress: options.onProgress
+            },
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
+            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
+            legalHold: options.legalHold,
+            tier: (0, models_js_1.toAccessTier)(options.tier),
+            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.ContainerSubmitBatchExceptionHeaders = {
-      serializedName: "Container_submitBatchExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerSubmitBatchExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Creates a new Block Blob where the contents of the blob are read from a given URL.
+       * This API is supported beginning with the 2020-04-08 version. Partial updates
+       * are not supported with Put Blob from URL; the content of an existing blob is overwritten with
+       * the content of the new blob.  To perform partial updates to a block blob’s contents using a
+       * source URL, use {@link stageBlockFromURL} and {@link commitBlockList}.
+       *
+       * @param sourceURL - Specifies the URL of the blob. The value
+       *                           may be a URL of up to 2 KB in length that specifies a blob.
+       *                           The value should be URL-encoded as it would appear
+       *                           in a request URI. The source blob must either be public
+       *                           or must be authenticated via a shared access signature.
+       *                           If the source blob is public, no authentication is required
+       *                           to perform the operation. Here are some examples of source object URLs:
+       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob
+       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=
+       * @param options - Optional parameters.
+       */
+      async syncUploadFromURL(sourceURL, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-syncUploadFromURL", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.putBlobFromUrl(0, sourceURL, {
+            ...options,
+            blobHttpHeaders: options.blobHTTPHeaders,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            sourceModifiedAccessConditions: {
+              sourceIfMatch: options.sourceConditions?.ifMatch,
+              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
+              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
+              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince,
+              sourceIfTags: options.sourceConditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
+            tier: (0, models_js_1.toAccessTier)(options.tier),
+            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
+            copySourceTags: options.copySourceTags,
+            fileRequestIntent: options.sourceShareTokenIntent,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.ContainerFilterBlobsHeaders = {
-      serializedName: "Container_filterBlobsHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerFilterBlobsHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          }
-        }
+      /**
+       * Uploads the specified block to the block blob's "staging area" to be later
+       * committed by a call to commitBlockList.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-block
+       *
+       * @param blockId - A 64-byte value that is base64-encoded
+       * @param body - Data to upload to the staging area.
+       * @param contentLength - Number of bytes to upload.
+       * @param options - Options to the Block Blob Stage Block operation.
+       * @returns Response data for the Block Blob Stage Block operation.
+       */
+      async stageBlock(blockId, body, contentLength, options = {}) {
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-stageBlock", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.stageBlock(blockId, contentLength, body, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            requestOptions: {
+              onUploadProgress: options.onProgress
+            },
+            transactionalContentMD5: options.transactionalContentMD5,
+            transactionalContentCrc64: options.transactionalContentCrc64,
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.ContainerFilterBlobsExceptionHeaders = {
-      serializedName: "Container_filterBlobsExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerFilterBlobsExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      /**
+       * The Stage Block From URL operation creates a new block to be committed as part
+       * of a blob where the contents are read from a URL.
+       * This API is available starting in version 2018-03-28.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-block-from-url
+       *
+       * @param blockId - A 64-byte value that is base64-encoded
+       * @param sourceURL - Specifies the URL of the blob. The value
+       *                           may be a URL of up to 2 KB in length that specifies a blob.
+       *                           The value should be URL-encoded as it would appear
+       *                           in a request URI. The source blob must either be public
+       *                           or must be authenticated via a shared access signature.
+       *                           If the source blob is public, no authentication is required
+       *                           to perform the operation. Here are some examples of source object URLs:
+       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob
+       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=
+       * @param offset - From which position of the blob to download, greater than or equal to 0
+       * @param count - How much data to be downloaded, greater than 0. Will download to the end when undefined
+       * @param options - Options to the Block Blob Stage Block From URL operation.
+       * @returns Response data for the Block Blob Stage Block From URL operation.
+       */
+      async stageBlockFromURL(blockId, sourceURL, offset = 0, count, options = {}) {
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-stageBlockFromURL", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.stageBlockFromURL(blockId, 0, sourceURL, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            sourceContentMD5: options.sourceContentMD5,
+            sourceContentCrc64: options.sourceContentCrc64,
+            sourceRange: offset === 0 && !count ? void 0 : (0, Range_js_1.rangeToString)({ offset, count }),
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
+            fileRequestIntent: options.sourceShareTokenIntent,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Writes a blob by specifying the list of block IDs that make up the blob.
+       * In order to be written as part of a blob, a block must have been successfully written
+       * to the server in a prior {@link stageBlock} operation. You can call {@link commitBlockList} to
+       * update a blob by uploading only those blocks that have changed, then committing the new and existing
+       * blocks together. Any blocks not specified in the block list and permanently deleted.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-block-list
+       *
+       * @param blocks -  Array of 64-byte value that is base64-encoded
+       * @param options - Options to the Block Blob Commit Block List operation.
+       * @returns Response data for the Block Blob Commit Block List operation.
+       */
+      async commitBlockList(blocks, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-commitBlockList", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.commitBlockList({ latest: blocks }, {
+            abortSignal: options.abortSignal,
+            blobHttpHeaders: options.blobHTTPHeaders,
+            leaseAccessConditions: options.conditions,
+            metadata: options.metadata,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
+            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
+            legalHold: options.legalHold,
+            tier: (0, models_js_1.toAccessTier)(options.tier),
+            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Returns the list of blocks that have been uploaded as part of a block blob
+       * using the specified block list filter.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-block-list
+       *
+       * @param listType - Specifies whether to return the list of committed blocks,
+       *                                        the list of uncommitted blocks, or both lists together.
+       * @param options - Options to the Block Blob Get Block List operation.
+       * @returns Response data for the Block Blob Get Block List operation.
+       */
+      async getBlockList(listType, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-getBlockList", options, async (updatedOptions) => {
+          const res = (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.getBlockList(listType, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          if (!res.committedBlocks) {
+            res.committedBlocks = [];
           }
-        }
-      }
-    };
-    exports2.ContainerAcquireLeaseHeaders = {
-      serializedName: "Container_acquireLeaseHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerAcquireLeaseHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          leaseId: {
-            serializedName: "x-ms-lease-id",
-            xmlName: "x-ms-lease-id",
-            type: {
-              name: "String"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
+          if (!res.uncommittedBlocks) {
+            res.uncommittedBlocks = [];
           }
-        }
+          return res;
+        });
       }
-    };
-    exports2.ContainerAcquireLeaseExceptionHeaders = {
-      serializedName: "Container_acquireLeaseExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerAcquireLeaseExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+      // High level functions
+      /**
+       * Uploads a Buffer(Node.js)/Blob(browsers)/ArrayBuffer/ArrayBufferView object to a BlockBlob.
+       *
+       * When data length is no more than the specifiled {@link BlockBlobParallelUploadOptions.maxSingleShotSize} (default is
+       * {@link BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}), this method will use 1 {@link upload} call to finish the upload.
+       * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call {@link commitBlockList}
+       * to commit the block list.
+       *
+       * A common {@link BlockBlobParallelUploadOptions.blobHTTPHeaders} option to set is
+       * `blobContentType`, enabling the browser to provide
+       * functionality based on file type.
+       *
+       * @param data - Buffer(Node.js), Blob, ArrayBuffer or ArrayBufferView
+       * @param options -
+       */
+      async uploadData(data, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadData", options, async (updatedOptions) => {
+          if (core_util_1.isNodeLike) {
+            let buffer;
+            if (data instanceof Buffer) {
+              buffer = data;
+            } else if (data instanceof ArrayBuffer) {
+              buffer = Buffer.from(data);
+            } else {
+              data = data;
+              buffer = Buffer.from(data.buffer, data.byteOffset, data.byteLength);
             }
+            return this.uploadSeekableInternal((offset, size) => buffer.slice(offset, offset + size), buffer.byteLength, updatedOptions);
+          } else {
+            const browserBlob = new Blob([data]);
+            return this.uploadSeekableInternal((offset, size) => browserBlob.slice(offset, offset + size), browserBlob.size, updatedOptions);
           }
-        }
+        });
       }
-    };
-    exports2.ContainerReleaseLeaseHeaders = {
-      serializedName: "Container_releaseLeaseHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerReleaseLeaseHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          }
-        }
+      /**
+       * ONLY AVAILABLE IN BROWSERS.
+       *
+       * Uploads a browser Blob/File/ArrayBuffer/ArrayBufferView object to block blob.
+       *
+       * When buffer length lesser than or equal to 256MB, this method will use 1 upload call to finish the upload.
+       * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call
+       * {@link commitBlockList} to commit the block list.
+       *
+       * A common {@link BlockBlobParallelUploadOptions.blobHTTPHeaders} option to set is
+       * `blobContentType`, enabling the browser to provide
+       * functionality based on file type.
+       *
+       * @deprecated Use {@link uploadData} instead.
+       *
+       * @param browserData - Blob, File, ArrayBuffer or ArrayBufferView
+       * @param options - Options to upload browser data.
+       * @returns Response data for the Blob Upload operation.
+       */
+      async uploadBrowserData(browserData, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadBrowserData", options, async (updatedOptions) => {
+          const browserBlob = new Blob([browserData]);
+          return this.uploadSeekableInternal((offset, size) => browserBlob.slice(offset, offset + size), browserBlob.size, updatedOptions);
+        });
       }
-    };
-    exports2.ContainerReleaseLeaseExceptionHeaders = {
-      serializedName: "Container_releaseLeaseExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerReleaseLeaseExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       *
+       * Uploads data to block blob. Requires a bodyFactory as the data source,
+       * which need to return a {@link HttpRequestBody} object with the offset and size provided.
+       *
+       * When data length is no more than the specified {@link BlockBlobParallelUploadOptions.maxSingleShotSize} (default is
+       * {@link BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}), this method will use 1 {@link upload} call to finish the upload.
+       * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call {@link commitBlockList}
+       * to commit the block list.
+       *
+       * @param bodyFactory -
+       * @param size - size of the data to upload.
+       * @param options - Options to Upload to Block Blob operation.
+       * @returns Response data for the Blob Upload operation.
+       */
+      async uploadSeekableInternal(bodyFactory, size, options = {}) {
+        let blockSize = options.blockSize ?? 0;
+        if (blockSize < 0 || blockSize > constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES) {
+          throw new RangeError(`blockSize option must be >= 0 and <= ${constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES}`);
         }
-      }
-    };
-    exports2.ContainerRenewLeaseHeaders = {
-      serializedName: "Container_renewLeaseHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerRenewLeaseHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          leaseId: {
-            serializedName: "x-ms-lease-id",
-            xmlName: "x-ms-lease-id",
-            type: {
-              name: "String"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          }
+        const maxSingleShotSize = options.maxSingleShotSize ?? constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES;
+        if (maxSingleShotSize < 0 || maxSingleShotSize > constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES) {
+          throw new RangeError(`maxSingleShotSize option must be >= 0 and <= ${constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}`);
         }
-      }
-    };
-    exports2.ContainerRenewLeaseExceptionHeaders = {
-      serializedName: "Container_renewLeaseExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerRenewLeaseExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+        if (blockSize === 0) {
+          if (size > constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES * constants_js_1.BLOCK_BLOB_MAX_BLOCKS) {
+            throw new RangeError(`${size} is too larger to upload to a block blob.`);
           }
-        }
-      }
-    };
-    exports2.ContainerBreakLeaseHeaders = {
-      serializedName: "Container_breakLeaseHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerBreakLeaseHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          leaseTime: {
-            serializedName: "x-ms-lease-time",
-            xmlName: "x-ms-lease-time",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
+          if (size > maxSingleShotSize) {
+            blockSize = Math.ceil(size / constants_js_1.BLOCK_BLOB_MAX_BLOCKS);
+            if (blockSize < constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES) {
+              blockSize = constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES;
             }
           }
         }
-      }
-    };
-    exports2.ContainerBreakLeaseExceptionHeaders = {
-      serializedName: "Container_breakLeaseExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerBreakLeaseExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+        if (!options.blobHTTPHeaders) {
+          options.blobHTTPHeaders = {};
         }
-      }
-    };
-    exports2.ContainerChangeLeaseHeaders = {
-      serializedName: "Container_changeLeaseHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerChangeLeaseHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          leaseId: {
-            serializedName: "x-ms-lease-id",
-            xmlName: "x-ms-lease-id",
-            type: {
-              name: "String"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
+        if (!options.conditions) {
+          options.conditions = {};
+        }
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadSeekableInternal", options, async (updatedOptions) => {
+          if (size <= maxSingleShotSize) {
+            return (0, utils_common_js_1.assertResponse)(await this.upload(bodyFactory(0, size), size, updatedOptions));
+          }
+          const numBlocks = Math.floor((size - 1) / blockSize) + 1;
+          if (numBlocks > constants_js_1.BLOCK_BLOB_MAX_BLOCKS) {
+            throw new RangeError(`The buffer's size is too big or the BlockSize is too small;the number of blocks must be <= ${constants_js_1.BLOCK_BLOB_MAX_BLOCKS}`);
+          }
+          const blockList = [];
+          const blockIDPrefix = (0, core_util_2.randomUUID)();
+          let transferProgress = 0;
+          const batch = new Batch_js_1.Batch(options.concurrency);
+          for (let i = 0; i < numBlocks; i++) {
+            batch.addOperation(async () => {
+              const blockID = (0, utils_common_js_1.generateBlockID)(blockIDPrefix, i);
+              const start = blockSize * i;
+              const end = i === numBlocks - 1 ? size : start + blockSize;
+              const contentLength = end - start;
+              blockList.push(blockID);
+              await this.stageBlock(blockID, bodyFactory(start, contentLength), contentLength, {
+                abortSignal: options.abortSignal,
+                conditions: options.conditions,
+                encryptionScope: options.encryptionScope,
+                tracingOptions: updatedOptions.tracingOptions
+              });
+              transferProgress += contentLength;
+              if (options.onProgress) {
+                options.onProgress({
+                  loadedBytes: transferProgress
+                });
+              }
+            });
           }
+          await batch.do();
+          return this.commitBlockList(blockList, updatedOptions);
+        });
+      }
+      /**
+       * ONLY AVAILABLE IN NODE.JS RUNTIME.
+       *
+       * Uploads a local file in blocks to a block blob.
+       *
+       * When file size lesser than or equal to 256MB, this method will use 1 upload call to finish the upload.
+       * Otherwise, this method will call stageBlock to upload blocks, and finally call commitBlockList
+       * to commit the block list.
+       *
+       * @param filePath - Full path of local file
+       * @param options - Options to Upload to Block Blob operation.
+       * @returns Response data for the Blob Upload operation.
+       */
+      async uploadFile(filePath, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadFile", options, async (updatedOptions) => {
+          const size = (await (0, utils_js_1.fsStat)(filePath)).size;
+          return this.uploadSeekableInternal((offset, count) => {
+            return () => (0, utils_js_1.fsCreateReadStream)(filePath, {
+              autoClose: true,
+              end: count ? offset + count - 1 : Infinity,
+              start: offset
+            });
+          }, size, {
+            ...options,
+            tracingOptions: updatedOptions.tracingOptions
+          });
+        });
+      }
+      /**
+       * ONLY AVAILABLE IN NODE.JS RUNTIME.
+       *
+       * Uploads a Node.js Readable stream into block blob.
+       *
+       * PERFORMANCE IMPROVEMENT TIPS:
+       * * Input stream highWaterMark is better to set a same value with bufferSize
+       *    parameter, which will avoid Buffer.concat() operations.
+       *
+       * @param stream - Node.js Readable stream
+       * @param bufferSize - Size of every buffer allocated, also the block size in the uploaded block blob. Default value is 8MB
+       * @param maxConcurrency -  Max concurrency indicates the max number of buffers that can be allocated,
+       *                                 positive correlation with max uploading concurrency. Default value is 5
+       * @param options - Options to Upload Stream to Block Blob operation.
+       * @returns Response data for the Blob Upload operation.
+       */
+      async uploadStream(stream, bufferSize = constants_js_1.DEFAULT_BLOCK_BUFFER_SIZE_BYTES, maxConcurrency = 5, options = {}) {
+        if (!options.blobHTTPHeaders) {
+          options.blobHTTPHeaders = {};
         }
-      }
-    };
-    exports2.ContainerChangeLeaseExceptionHeaders = {
-      serializedName: "Container_changeLeaseExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerChangeLeaseExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+        if (!options.conditions) {
+          options.conditions = {};
         }
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadStream", options, async (updatedOptions) => {
+          let blockNum = 0;
+          const blockIDPrefix = (0, core_util_2.randomUUID)();
+          let transferProgress = 0;
+          const blockList = [];
+          const scheduler = new storage_common_1.BufferScheduler(
+            stream,
+            bufferSize,
+            maxConcurrency,
+            async (body, length) => {
+              const blockID = (0, utils_common_js_1.generateBlockID)(blockIDPrefix, blockNum);
+              blockList.push(blockID);
+              blockNum++;
+              await this.stageBlock(blockID, body, length, {
+                customerProvidedKey: options.customerProvidedKey,
+                conditions: options.conditions,
+                encryptionScope: options.encryptionScope,
+                tracingOptions: updatedOptions.tracingOptions
+              });
+              transferProgress += length;
+              if (options.onProgress) {
+                options.onProgress({ loadedBytes: transferProgress });
+              }
+            },
+            // concurrency should set a smaller value than maxConcurrency, which is helpful to
+            // reduce the possibility when a outgoing handler waits for stream data, in
+            // this situation, outgoing handlers are blocked.
+            // Outgoing queue shouldn't be empty.
+            Math.ceil(maxConcurrency / 4 * 3)
+          );
+          await scheduler.do();
+          return (0, utils_common_js_1.assertResponse)(await this.commitBlockList(blockList, {
+            ...options,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
     };
-    exports2.ContainerListBlobFlatSegmentHeaders = {
-      serializedName: "Container_listBlobFlatSegmentHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerListBlobFlatSegmentHeaders",
-        modelProperties: {
-          contentType: {
-            serializedName: "content-type",
-            xmlName: "content-type",
-            type: {
-              name: "String"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+    exports2.BlockBlobClient = BlockBlobClient;
+    var PageBlobClient = class _PageBlobClient extends BlobClient {
+      /**
+       * pageBlobsContext provided by protocol layer.
+       */
+      pageBlobContext;
+      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
+        let pipeline;
+        let url;
+        options = options || {};
+        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
+          url = urlOrConnectionString;
+          pipeline = credentialOrPipelineOrContainerName;
+        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
+          url = urlOrConnectionString;
+          options = blobNameOrOptions;
+          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
+        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
+          url = urlOrConnectionString;
+          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
+          const containerName = credentialOrPipelineOrContainerName;
+          const blobName = blobNameOrOptions;
+          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
+          if (extractedCreds.kind === "AccountConnString") {
+            if (core_util_1.isNodeLike) {
+              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
+              url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
+              if (!options.proxyOptions) {
+                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+              }
+              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+            } else {
+              throw new Error("Account connection string is only supported in Node.js environment");
             }
+          } else if (extractedCreds.kind === "SASConnString") {
+            url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
+            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+          } else {
+            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
           }
+        } else {
+          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
         }
+        super(url, pipeline);
+        this.pageBlobContext = this.storageClientContext.pageBlob;
       }
-    };
-    exports2.ContainerListBlobFlatSegmentExceptionHeaders = {
-      serializedName: "Container_listBlobFlatSegmentExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerListBlobFlatSegmentExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Creates a new PageBlobClient object identical to the source but with the
+       * specified snapshot timestamp.
+       * Provide "" will remove the snapshot and return a Client to the base blob.
+       *
+       * @param snapshot - The snapshot timestamp.
+       * @returns A new PageBlobClient object identical to the source but with the specified snapshot timestamp.
+       */
+      withSnapshot(snapshot) {
+        return new _PageBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
       }
-    };
-    exports2.ContainerListBlobHierarchySegmentHeaders = {
-      serializedName: "Container_listBlobHierarchySegmentHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerListBlobHierarchySegmentHeaders",
-        modelProperties: {
-          contentType: {
-            serializedName: "content-type",
-            xmlName: "content-type",
-            type: {
-              name: "String"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Creates a page blob of the specified length. Call uploadPages to upload data
+       * data to a page blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
+       *
+       * @param size - size of the page blob.
+       * @param options - Options to the Page Blob Create operation.
+       * @returns Response data for the Page Blob Create operation.
+       */
+      async create(size, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-create", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.create(0, size, {
+            abortSignal: options.abortSignal,
+            blobHttpHeaders: options.blobHTTPHeaders,
+            blobSequenceNumber: options.blobSequenceNumber,
+            leaseAccessConditions: options.conditions,
+            metadata: options.metadata,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
+            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
+            legalHold: options.legalHold,
+            tier: (0, models_js_1.toAccessTier)(options.tier),
+            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.ContainerListBlobHierarchySegmentExceptionHeaders = {
-      serializedName: "Container_listBlobHierarchySegmentExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerListBlobHierarchySegmentExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+      /**
+       * Creates a page blob of the specified length. Call uploadPages to upload data
+       * data to a page blob. If the blob with the same name already exists, the content
+       * of the existing blob will remain unchanged.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
+       *
+       * @param size - size of the page blob.
+       * @param options -
+       */
+      async createIfNotExists(size, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-createIfNotExists", options, async (updatedOptions) => {
+          try {
+            const conditions = { ifNoneMatch: constants_js_1.ETagAny };
+            const res = (0, utils_common_js_1.assertResponse)(await this.create(size, {
+              ...options,
+              conditions,
+              tracingOptions: updatedOptions.tracingOptions
+            }));
+            return {
+              succeeded: true,
+              ...res,
+              _response: res._response
+              // _response is made non-enumerable
+            };
+          } catch (e) {
+            if (e.details?.errorCode === "BlobAlreadyExists") {
+              return {
+                succeeded: false,
+                ...e.response?.parsedHeaders,
+                _response: e.response
+              };
             }
+            throw e;
           }
-        }
+        });
       }
-    };
-    exports2.ContainerGetAccountInfoHeaders = {
-      serializedName: "Container_getAccountInfoHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerGetAccountInfoHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          skuName: {
-            serializedName: "x-ms-sku-name",
-            xmlName: "x-ms-sku-name",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "Standard_LRS",
-                "Standard_GRS",
-                "Standard_RAGRS",
-                "Standard_ZRS",
-                "Premium_LRS"
-              ]
-            }
-          },
-          accountKind: {
-            serializedName: "x-ms-account-kind",
-            xmlName: "x-ms-account-kind",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "Storage",
-                "BlobStorage",
-                "StorageV2",
-                "FileStorage",
-                "BlockBlobStorage"
-              ]
-            }
-          },
-          isHierarchicalNamespaceEnabled: {
-            serializedName: "x-ms-is-hns-enabled",
-            xmlName: "x-ms-is-hns-enabled",
-            type: {
-              name: "Boolean"
-            }
-          }
+      /**
+       * Writes 1 or more pages to the page blob. The start and end offsets must be a multiple of 512.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-page
+       *
+       * @param body - Data to upload
+       * @param offset - Offset of destination page blob
+       * @param count - Content length of the body, also number of bytes to be uploaded
+       * @param options - Options to the Page Blob Upload Pages operation.
+       * @returns Response data for the Page Blob Upload Pages operation.
+       */
+      async uploadPages(body, offset, count, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-uploadPages", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.uploadPages(count, body, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            requestOptions: {
+              onUploadProgress: options.onProgress
+            },
+            range: (0, Range_js_1.rangeToString)({ offset, count }),
+            sequenceNumberAccessConditions: options.conditions,
+            transactionalContentMD5: options.transactionalContentMD5,
+            transactionalContentCrc64: options.transactionalContentCrc64,
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * The Upload Pages operation writes a range of pages to a page blob where the
+       * contents are read from a URL.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-page-from-url
+       *
+       * @param sourceURL - Specify a URL to the copy source, Shared Access Signature(SAS) maybe needed for authentication
+       * @param sourceOffset - The source offset to copy from. Pass 0 to copy from the beginning of source page blob
+       * @param destOffset - Offset of destination page blob
+       * @param count - Number of bytes to be uploaded from source page blob
+       * @param options -
+       */
+      async uploadPagesFromURL(sourceURL, sourceOffset, destOffset, count, options = {}) {
+        options.conditions = options.conditions || {};
+        options.sourceConditions = options.sourceConditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-uploadPagesFromURL", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.uploadPagesFromURL(sourceURL, (0, Range_js_1.rangeToString)({ offset: sourceOffset, count }), 0, (0, Range_js_1.rangeToString)({ offset: destOffset, count }), {
+            abortSignal: options.abortSignal,
+            sourceContentMD5: options.sourceContentMD5,
+            sourceContentCrc64: options.sourceContentCrc64,
+            leaseAccessConditions: options.conditions,
+            sequenceNumberAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            sourceModifiedAccessConditions: {
+              sourceIfMatch: options.sourceConditions?.ifMatch,
+              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
+              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
+              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince
+            },
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
+            fileRequestIntent: options.sourceShareTokenIntent,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Frees the specified pages from the page blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-page
+       *
+       * @param offset - Starting byte position of the pages to clear.
+       * @param count - Number of bytes to clear.
+       * @param options - Options to the Page Blob Clear Pages operation.
+       * @returns Response data for the Page Blob Clear Pages operation.
+       */
+      async clearPages(offset = 0, count, options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-clearPages", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.clearPages(0, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            range: (0, Range_js_1.rangeToString)({ offset, count }),
+            sequenceNumberAccessConditions: options.conditions,
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Returns the list of valid page ranges for a page blob or snapshot of a page blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param options - Options to the Page Blob Get Ranges operation.
+       * @returns Response data for the Page Blob Get Ranges operation.
+       */
+      async getPageRanges(offset = 0, count, options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRanges", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRanges({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            range: (0, Range_js_1.rangeToString)({ offset, count }),
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(response);
+        });
+      }
+      /**
+       * getPageRangesSegment returns a single segment of page ranges starting from the
+       * specified Marker. Use an empty Marker to start enumeration from the beginning.
+       * After getting a segment, process it, and then call getPageRangesSegment again
+       * (passing the the previously-returned Marker) to get the next segment.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param marker - A string value that identifies the portion of the list to be returned with the next list operation.
+       * @param options - Options to PageBlob Get Page Ranges Segment operation.
+       */
+      async listPageRangesSegment(offset = 0, count, marker, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesSegment", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRanges({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            range: (0, Range_js_1.rangeToString)({ offset, count }),
+            marker,
+            maxPageSize: options.maxPageSize,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Returns an AsyncIterableIterator for {@link PageBlobGetPageRangesResponseModel}
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param marker - A string value that identifies the portion of
+       *                          the get of page ranges to be returned with the next getting operation. The
+       *                          operation returns the ContinuationToken value within the response body if the
+       *                          getting operation did not return all page ranges remaining within the current page.
+       *                          The ContinuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of get
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to List Page Ranges operation.
+       */
+      async *listPageRangeItemSegments(offset = 0, count, marker, options = {}) {
+        let getPageRangeItemSegmentsResponse;
+        if (!!marker || marker === void 0) {
+          do {
+            getPageRangeItemSegmentsResponse = await this.listPageRangesSegment(offset, count, marker, options);
+            marker = getPageRangeItemSegmentsResponse.continuationToken;
+            yield await getPageRangeItemSegmentsResponse;
+          } while (marker);
         }
       }
-    };
-    exports2.ContainerGetAccountInfoExceptionHeaders = {
-      serializedName: "Container_getAccountInfoExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerGetAccountInfoExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       * Returns an AsyncIterableIterator of {@link PageRangeInfo} objects
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param options - Options to List Page Ranges operation.
+       */
+      async *listPageRangeItems(offset = 0, count, options = {}) {
+        let marker;
+        for await (const getPageRangesSegment of this.listPageRangeItemSegments(offset, count, marker, options)) {
+          yield* (0, utils_common_js_1.ExtractPageRangeInfoItems)(getPageRangesSegment);
         }
       }
-    };
-    exports2.BlobDownloadHeaders = {
-      serializedName: "Blob_downloadHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobDownloadHeaders",
-        modelProperties: {
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          createdOn: {
-            serializedName: "x-ms-creation-time",
-            xmlName: "x-ms-creation-time",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          metadata: {
-            serializedName: "x-ms-meta",
-            headerCollectionPrefix: "x-ms-meta-",
-            xmlName: "x-ms-meta",
-            type: {
-              name: "Dictionary",
-              value: { type: { name: "String" } }
-            }
-          },
-          objectReplicationPolicyId: {
-            serializedName: "x-ms-or-policy-id",
-            xmlName: "x-ms-or-policy-id",
-            type: {
-              name: "String"
-            }
-          },
-          objectReplicationRules: {
-            serializedName: "x-ms-or",
-            headerCollectionPrefix: "x-ms-or-",
-            xmlName: "x-ms-or",
-            type: {
-              name: "Dictionary",
-              value: { type: { name: "String" } }
-            }
-          },
-          contentLength: {
-            serializedName: "content-length",
-            xmlName: "content-length",
-            type: {
-              name: "Number"
-            }
-          },
-          contentType: {
-            serializedName: "content-type",
-            xmlName: "content-type",
-            type: {
-              name: "String"
-            }
-          },
-          contentRange: {
-            serializedName: "content-range",
-            xmlName: "content-range",
-            type: {
-              name: "String"
-            }
-          },
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          contentEncoding: {
-            serializedName: "content-encoding",
-            xmlName: "content-encoding",
-            type: {
-              name: "String"
-            }
-          },
-          cacheControl: {
-            serializedName: "cache-control",
-            xmlName: "cache-control",
-            type: {
-              name: "String"
-            }
-          },
-          contentDisposition: {
-            serializedName: "content-disposition",
-            xmlName: "content-disposition",
-            type: {
-              name: "String"
-            }
-          },
-          contentLanguage: {
-            serializedName: "content-language",
-            xmlName: "content-language",
-            type: {
-              name: "String"
-            }
-          },
-          blobSequenceNumber: {
-            serializedName: "x-ms-blob-sequence-number",
-            xmlName: "x-ms-blob-sequence-number",
-            type: {
-              name: "Number"
-            }
-          },
-          blobType: {
-            serializedName: "x-ms-blob-type",
-            xmlName: "x-ms-blob-type",
-            type: {
-              name: "Enum",
-              allowedValues: ["BlockBlob", "PageBlob", "AppendBlob"]
-            }
-          },
-          copyCompletedOn: {
-            serializedName: "x-ms-copy-completion-time",
-            xmlName: "x-ms-copy-completion-time",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          copyStatusDescription: {
-            serializedName: "x-ms-copy-status-description",
-            xmlName: "x-ms-copy-status-description",
-            type: {
-              name: "String"
-            }
-          },
-          copyId: {
-            serializedName: "x-ms-copy-id",
-            xmlName: "x-ms-copy-id",
-            type: {
-              name: "String"
-            }
-          },
-          copyProgress: {
-            serializedName: "x-ms-copy-progress",
-            xmlName: "x-ms-copy-progress",
-            type: {
-              name: "String"
-            }
-          },
-          copySource: {
-            serializedName: "x-ms-copy-source",
-            xmlName: "x-ms-copy-source",
-            type: {
-              name: "String"
-            }
-          },
-          copyStatus: {
-            serializedName: "x-ms-copy-status",
-            xmlName: "x-ms-copy-status",
-            type: {
-              name: "Enum",
-              allowedValues: ["pending", "success", "aborted", "failed"]
-            }
-          },
-          leaseDuration: {
-            serializedName: "x-ms-lease-duration",
-            xmlName: "x-ms-lease-duration",
-            type: {
-              name: "Enum",
-              allowedValues: ["infinite", "fixed"]
-            }
-          },
-          leaseState: {
-            serializedName: "x-ms-lease-state",
-            xmlName: "x-ms-lease-state",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "available",
-                "leased",
-                "expired",
-                "breaking",
-                "broken"
-              ]
-            }
-          },
-          leaseStatus: {
-            serializedName: "x-ms-lease-status",
-            xmlName: "x-ms-lease-status",
-            type: {
-              name: "Enum",
-              allowedValues: ["locked", "unlocked"]
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          isCurrentVersion: {
-            serializedName: "x-ms-is-current-version",
-            xmlName: "x-ms-is-current-version",
-            type: {
-              name: "Boolean"
-            }
-          },
-          acceptRanges: {
-            serializedName: "accept-ranges",
-            xmlName: "accept-ranges",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          blobCommittedBlockCount: {
-            serializedName: "x-ms-blob-committed-block-count",
-            xmlName: "x-ms-blob-committed-block-count",
-            type: {
-              name: "Number"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-server-encrypted",
-            xmlName: "x-ms-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          blobContentMD5: {
-            serializedName: "x-ms-blob-content-md5",
-            xmlName: "x-ms-blob-content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          tagCount: {
-            serializedName: "x-ms-tag-count",
-            xmlName: "x-ms-tag-count",
-            type: {
-              name: "Number"
-            }
-          },
-          isSealed: {
-            serializedName: "x-ms-blob-sealed",
-            xmlName: "x-ms-blob-sealed",
-            type: {
-              name: "Boolean"
-            }
-          },
-          lastAccessed: {
-            serializedName: "x-ms-last-access-time",
-            xmlName: "x-ms-last-access-time",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          immutabilityPolicyExpiresOn: {
-            serializedName: "x-ms-immutability-policy-until-date",
-            xmlName: "x-ms-immutability-policy-until-date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          immutabilityPolicyMode: {
-            serializedName: "x-ms-immutability-policy-mode",
-            xmlName: "x-ms-immutability-policy-mode",
-            type: {
-              name: "Enum",
-              allowedValues: ["Mutable", "Unlocked", "Locked"]
-            }
-          },
-          legalHold: {
-            serializedName: "x-ms-legal-hold",
-            xmlName: "x-ms-legal-hold",
-            type: {
-              name: "Boolean"
-            }
+      /**
+       * Returns an async iterable iterator to list of page ranges for a page blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
+       *
+       *  .byPage() returns an async iterable iterator to list of page ranges for a page blob.
+       *
+       * ```ts snippet:ClientsListPageBlobs
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const pageBlobClient = containerClient.getPageBlobClient(blobName);
+       *
+       * // Example using `for await` syntax
+       * let i = 1;
+       * for await (const pageRange of pageBlobClient.listPageRanges()) {
+       *   console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       * }
+       *
+       * // Example using `iter.next()` syntax
+       * i = 1;
+       * const iter = pageBlobClient.listPageRanges();
+       * let { value, done } = await iter.next();
+       * while (!done) {
+       *   console.log(`Page range ${i++}: ${value.start} - ${value.end}`);
+       *   ({ value, done } = await iter.next());
+       * }
+       *
+       * // Example using `byPage()` syntax
+       * i = 1;
+       * for await (const page of pageBlobClient.listPageRanges().byPage({ maxPageSize: 20 })) {
+       *   for (const pageRange of page.pageRange || []) {
+       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       *   }
+       * }
+       *
+       * // Example using paging with a marker
+       * i = 1;
+       * let iterator = pageBlobClient.listPageRanges().byPage({ maxPageSize: 2 });
+       * let response = (await iterator.next()).value;
+       * // Prints 2 page ranges
+       * if (response.pageRange) {
+       *   for (const pageRange of response.pageRange) {
+       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       *   }
+       * }
+       * // Gets next marker
+       * let marker = response.continuationToken;
+       * // Passing next marker as continuationToken
+       * iterator = pageBlobClient.listPageRanges().byPage({ continuationToken: marker, maxPageSize: 10 });
+       * response = (await iterator.next()).value;
+       * // Prints 10 page ranges
+       * if (response.pageRange) {
+       *   for (const pageRange of response.pageRange) {
+       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       *   }
+       * }
+       * ```
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param options - Options to the Page Blob Get Ranges operation.
+       * @returns An asyncIterableIterator that supports paging.
+       */
+      listPageRanges(offset = 0, count, options = {}) {
+        options.conditions = options.conditions || {};
+        const iter = this.listPageRangeItems(offset, count, options);
+        return {
+          /**
+           * The next method, part of the iteration protocol
+           */
+          next() {
+            return iter.next();
           },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+          /**
+           * The connection to the async iterator, part of the iteration protocol
+           */
+          [Symbol.asyncIterator]() {
+            return this;
           },
-          contentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
+          /**
+           * Return an AsyncIterableIterator that works a page at a time
+           */
+          byPage: (settings = {}) => {
+            return this.listPageRangeItemSegments(offset, count, settings.continuationToken, {
+              maxPageSize: settings.maxPageSize,
+              ...options
+            });
           }
+        };
+      }
+      /**
+       * Gets the collection of page ranges that differ between a specified snapshot and this page blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
+       *
+       * @param offset - Starting byte position of the page blob
+       * @param count - Number of bytes to get ranges diff.
+       * @param prevSnapshot - Timestamp of snapshot to retrieve the difference.
+       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
+       * @returns Response data for the Page Blob Get Page Range Diff operation.
+       */
+      async getPageRangesDiff(offset, count, prevSnapshot, options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesDiff", options, async (updatedOptions) => {
+          const result = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            prevsnapshot: prevSnapshot,
+            range: (0, Range_js_1.rangeToString)({ offset, count }),
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(result);
+        });
+      }
+      /**
+       * getPageRangesDiffSegment returns a single segment of page ranges starting from the
+       * specified Marker for difference between previous snapshot and the target page blob.
+       * Use an empty Marker to start enumeration from the beginning.
+       * After getting a segment, process it, and then call getPageRangesDiffSegment again
+       * (passing the the previously-returned Marker) to get the next segment.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference.
+       * @param marker - A string value that identifies the portion of the get to be returned with the next get operation.
+       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
+       */
+      async listPageRangesDiffSegment(offset, count, prevSnapshotOrUrl, marker, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesDiffSegment", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({
+            abortSignal: options?.abortSignal,
+            leaseAccessConditions: options?.conditions,
+            modifiedAccessConditions: {
+              ...options?.conditions,
+              ifTags: options?.conditions?.tagConditions
+            },
+            prevsnapshot: prevSnapshotOrUrl,
+            range: (0, Range_js_1.rangeToString)({
+              offset,
+              count
+            }),
+            marker,
+            maxPageSize: options?.maxPageSize,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Returns an AsyncIterableIterator for {@link PageBlobGetPageRangesDiffResponseModel}
+       *
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference.
+       * @param marker - A string value that identifies the portion of
+       *                          the get of page ranges to be returned with the next getting operation. The
+       *                          operation returns the ContinuationToken value within the response body if the
+       *                          getting operation did not return all page ranges remaining within the current page.
+       *                          The ContinuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of get
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
+       */
+      async *listPageRangeDiffItemSegments(offset, count, prevSnapshotOrUrl, marker, options) {
+        let getPageRangeItemSegmentsResponse;
+        if (!!marker || marker === void 0) {
+          do {
+            getPageRangeItemSegmentsResponse = await this.listPageRangesDiffSegment(offset, count, prevSnapshotOrUrl, marker, options);
+            marker = getPageRangeItemSegmentsResponse.continuationToken;
+            yield await getPageRangeItemSegmentsResponse;
+          } while (marker);
         }
       }
-    };
-    exports2.BlobDownloadExceptionHeaders = {
-      serializedName: "Blob_downloadExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobDownloadExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       * Returns an AsyncIterableIterator of {@link PageRangeInfo} objects
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference.
+       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
+       */
+      async *listPageRangeDiffItems(offset, count, prevSnapshotOrUrl, options) {
+        let marker;
+        for await (const getPageRangesSegment of this.listPageRangeDiffItemSegments(offset, count, prevSnapshotOrUrl, marker, options)) {
+          yield* (0, utils_common_js_1.ExtractPageRangeInfoItems)(getPageRangesSegment);
         }
       }
-    };
-    exports2.BlobGetPropertiesHeaders = {
-      serializedName: "Blob_getPropertiesHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobGetPropertiesHeaders",
-        modelProperties: {
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          createdOn: {
-            serializedName: "x-ms-creation-time",
-            xmlName: "x-ms-creation-time",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          metadata: {
-            serializedName: "x-ms-meta",
-            headerCollectionPrefix: "x-ms-meta-",
-            xmlName: "x-ms-meta",
-            type: {
-              name: "Dictionary",
-              value: { type: { name: "String" } }
-            }
-          },
-          objectReplicationPolicyId: {
-            serializedName: "x-ms-or-policy-id",
-            xmlName: "x-ms-or-policy-id",
-            type: {
-              name: "String"
-            }
-          },
-          objectReplicationRules: {
-            serializedName: "x-ms-or",
-            headerCollectionPrefix: "x-ms-or-",
-            xmlName: "x-ms-or",
-            type: {
-              name: "Dictionary",
-              value: { type: { name: "String" } }
-            }
-          },
-          blobType: {
-            serializedName: "x-ms-blob-type",
-            xmlName: "x-ms-blob-type",
-            type: {
-              name: "Enum",
-              allowedValues: ["BlockBlob", "PageBlob", "AppendBlob"]
-            }
-          },
-          copyCompletedOn: {
-            serializedName: "x-ms-copy-completion-time",
-            xmlName: "x-ms-copy-completion-time",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          copyStatusDescription: {
-            serializedName: "x-ms-copy-status-description",
-            xmlName: "x-ms-copy-status-description",
-            type: {
-              name: "String"
-            }
-          },
-          copyId: {
-            serializedName: "x-ms-copy-id",
-            xmlName: "x-ms-copy-id",
-            type: {
-              name: "String"
-            }
-          },
-          copyProgress: {
-            serializedName: "x-ms-copy-progress",
-            xmlName: "x-ms-copy-progress",
-            type: {
-              name: "String"
-            }
-          },
-          copySource: {
-            serializedName: "x-ms-copy-source",
-            xmlName: "x-ms-copy-source",
-            type: {
-              name: "String"
-            }
-          },
-          copyStatus: {
-            serializedName: "x-ms-copy-status",
-            xmlName: "x-ms-copy-status",
-            type: {
-              name: "Enum",
-              allowedValues: ["pending", "success", "aborted", "failed"]
-            }
-          },
-          isIncrementalCopy: {
-            serializedName: "x-ms-incremental-copy",
-            xmlName: "x-ms-incremental-copy",
-            type: {
-              name: "Boolean"
-            }
-          },
-          destinationSnapshot: {
-            serializedName: "x-ms-copy-destination-snapshot",
-            xmlName: "x-ms-copy-destination-snapshot",
-            type: {
-              name: "String"
-            }
-          },
-          leaseDuration: {
-            serializedName: "x-ms-lease-duration",
-            xmlName: "x-ms-lease-duration",
-            type: {
-              name: "Enum",
-              allowedValues: ["infinite", "fixed"]
-            }
-          },
-          leaseState: {
-            serializedName: "x-ms-lease-state",
-            xmlName: "x-ms-lease-state",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "available",
-                "leased",
-                "expired",
-                "breaking",
-                "broken"
-              ]
-            }
-          },
-          leaseStatus: {
-            serializedName: "x-ms-lease-status",
-            xmlName: "x-ms-lease-status",
-            type: {
-              name: "Enum",
-              allowedValues: ["locked", "unlocked"]
-            }
-          },
-          contentLength: {
-            serializedName: "content-length",
-            xmlName: "content-length",
-            type: {
-              name: "Number"
-            }
-          },
-          contentType: {
-            serializedName: "content-type",
-            xmlName: "content-type",
-            type: {
-              name: "String"
-            }
-          },
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          contentEncoding: {
-            serializedName: "content-encoding",
-            xmlName: "content-encoding",
-            type: {
-              name: "String"
-            }
-          },
-          contentDisposition: {
-            serializedName: "content-disposition",
-            xmlName: "content-disposition",
-            type: {
-              name: "String"
-            }
-          },
-          contentLanguage: {
-            serializedName: "content-language",
-            xmlName: "content-language",
-            type: {
-              name: "String"
-            }
-          },
-          cacheControl: {
-            serializedName: "cache-control",
-            xmlName: "cache-control",
-            type: {
-              name: "String"
-            }
-          },
-          blobSequenceNumber: {
-            serializedName: "x-ms-blob-sequence-number",
-            xmlName: "x-ms-blob-sequence-number",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          acceptRanges: {
-            serializedName: "accept-ranges",
-            xmlName: "accept-ranges",
-            type: {
-              name: "String"
-            }
-          },
-          blobCommittedBlockCount: {
-            serializedName: "x-ms-blob-committed-block-count",
-            xmlName: "x-ms-blob-committed-block-count",
-            type: {
-              name: "Number"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-server-encrypted",
-            xmlName: "x-ms-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          accessTier: {
-            serializedName: "x-ms-access-tier",
-            xmlName: "x-ms-access-tier",
-            type: {
-              name: "String"
-            }
-          },
-          accessTierInferred: {
-            serializedName: "x-ms-access-tier-inferred",
-            xmlName: "x-ms-access-tier-inferred",
-            type: {
-              name: "Boolean"
-            }
-          },
-          archiveStatus: {
-            serializedName: "x-ms-archive-status",
-            xmlName: "x-ms-archive-status",
-            type: {
-              name: "String"
-            }
-          },
-          accessTierChangedOn: {
-            serializedName: "x-ms-access-tier-change-time",
-            xmlName: "x-ms-access-tier-change-time",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          isCurrentVersion: {
-            serializedName: "x-ms-is-current-version",
-            xmlName: "x-ms-is-current-version",
-            type: {
-              name: "Boolean"
-            }
-          },
-          tagCount: {
-            serializedName: "x-ms-tag-count",
-            xmlName: "x-ms-tag-count",
-            type: {
-              name: "Number"
-            }
-          },
-          expiresOn: {
-            serializedName: "x-ms-expiry-time",
-            xmlName: "x-ms-expiry-time",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isSealed: {
-            serializedName: "x-ms-blob-sealed",
-            xmlName: "x-ms-blob-sealed",
-            type: {
-              name: "Boolean"
-            }
-          },
-          rehydratePriority: {
-            serializedName: "x-ms-rehydrate-priority",
-            xmlName: "x-ms-rehydrate-priority",
-            type: {
-              name: "Enum",
-              allowedValues: ["High", "Standard"]
-            }
-          },
-          lastAccessed: {
-            serializedName: "x-ms-last-access-time",
-            xmlName: "x-ms-last-access-time",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          immutabilityPolicyExpiresOn: {
-            serializedName: "x-ms-immutability-policy-until-date",
-            xmlName: "x-ms-immutability-policy-until-date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          immutabilityPolicyMode: {
-            serializedName: "x-ms-immutability-policy-mode",
-            xmlName: "x-ms-immutability-policy-mode",
-            type: {
-              name: "Enum",
-              allowedValues: ["Mutable", "Unlocked", "Locked"]
-            }
+      /**
+       * Returns an async iterable iterator to list of page ranges that differ between a specified snapshot and this page blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
+       *
+       *  .byPage() returns an async iterable iterator to list of page ranges that differ between a specified snapshot and this page blob.
+       *
+       * ```ts snippet:ClientsListPageBlobsDiff
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const pageBlobClient = containerClient.getPageBlobClient(blobName);
+       *
+       * const offset = 0;
+       * const count = 1024;
+       * const previousSnapshot = "";
+       * // Example using `for await` syntax
+       * let i = 1;
+       * for await (const pageRange of pageBlobClient.listPageRangesDiff(offset, count, previousSnapshot)) {
+       *   console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       * }
+       *
+       * // Example using `iter.next()` syntax
+       * i = 1;
+       * const iter = pageBlobClient.listPageRangesDiff(offset, count, previousSnapshot);
+       * let { value, done } = await iter.next();
+       * while (!done) {
+       *   console.log(`Page range ${i++}: ${value.start} - ${value.end}`);
+       *   ({ value, done } = await iter.next());
+       * }
+       *
+       * // Example using `byPage()` syntax
+       * i = 1;
+       * for await (const page of pageBlobClient
+       *   .listPageRangesDiff(offset, count, previousSnapshot)
+       *   .byPage({ maxPageSize: 20 })) {
+       *   for (const pageRange of page.pageRange || []) {
+       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       *   }
+       * }
+       *
+       * // Example using paging with a marker
+       * i = 1;
+       * let iterator = pageBlobClient
+       *   .listPageRangesDiff(offset, count, previousSnapshot)
+       *   .byPage({ maxPageSize: 2 });
+       * let response = (await iterator.next()).value;
+       * // Prints 2 page ranges
+       * if (response.pageRange) {
+       *   for (const pageRange of response.pageRange) {
+       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       *   }
+       * }
+       * // Gets next marker
+       * let marker = response.continuationToken;
+       * // Passing next marker as continuationToken
+       * iterator = pageBlobClient
+       *   .listPageRangesDiff(offset, count, previousSnapshot)
+       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
+       * response = (await iterator.next()).value;
+       * // Prints 10 page ranges
+       * if (response.pageRange) {
+       *   for (const pageRange of response.pageRange) {
+       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       *   }
+       * }
+       * ```
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param prevSnapshot - Timestamp of snapshot to retrieve the difference.
+       * @param options - Options to the Page Blob Get Ranges operation.
+       * @returns An asyncIterableIterator that supports paging.
+       */
+      listPageRangesDiff(offset, count, prevSnapshot, options = {}) {
+        options.conditions = options.conditions || {};
+        const iter = this.listPageRangeDiffItems(offset, count, prevSnapshot, {
+          ...options
+        });
+        return {
+          /**
+           * The next method, part of the iteration protocol
+           */
+          next() {
+            return iter.next();
           },
-          legalHold: {
-            serializedName: "x-ms-legal-hold",
-            xmlName: "x-ms-legal-hold",
-            type: {
-              name: "Boolean"
-            }
+          /**
+           * The connection to the async iterator, part of the iteration protocol
+           */
+          [Symbol.asyncIterator]() {
+            return this;
           },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+          /**
+           * Return an AsyncIterableIterator that works a page at a time
+           */
+          byPage: (settings = {}) => {
+            return this.listPageRangeDiffItemSegments(offset, count, prevSnapshot, settings.continuationToken, {
+              maxPageSize: settings.maxPageSize,
+              ...options
+            });
           }
-        }
+        };
       }
-    };
-    exports2.BlobGetPropertiesExceptionHeaders = {
-      serializedName: "Blob_getPropertiesExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobGetPropertiesExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Gets the collection of page ranges that differ between a specified snapshot and this page blob for managed disks.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
+       *
+       * @param offset - Starting byte position of the page blob
+       * @param count - Number of bytes to get ranges diff.
+       * @param prevSnapshotUrl - URL of snapshot to retrieve the difference.
+       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
+       * @returns Response data for the Page Blob Get Page Range Diff operation.
+       */
+      async getPageRangesDiffForManagedDisks(offset, count, prevSnapshotUrl, options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-GetPageRangesDiffForManagedDisks", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            prevSnapshotUrl,
+            range: (0, Range_js_1.rangeToString)({ offset, count }),
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(response);
+        });
       }
-    };
-    exports2.BlobDeleteHeaders = {
-      serializedName: "Blob_deleteHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobDeleteHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Resizes the page blob to the specified size (which must be a multiple of 512).
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties
+       *
+       * @param size - Target size
+       * @param options - Options to the Page Blob Resize operation.
+       * @returns Response data for the Page Blob Resize operation.
+       */
+      async resize(size, options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-resize", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.resize(size, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            encryptionScope: options.encryptionScope,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.BlobDeleteExceptionHeaders = {
-      serializedName: "Blob_deleteExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobDeleteExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Sets a page blob's sequence number.
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties
+       *
+       * @param sequenceNumberAction - Indicates how the service should modify the blob's sequence number.
+       * @param sequenceNumber - Required if sequenceNumberAction is max or update
+       * @param options - Options to the Page Blob Update Sequence Number operation.
+       * @returns Response data for the Page Blob Update Sequence Number operation.
+       */
+      async updateSequenceNumber(sequenceNumberAction, sequenceNumber, options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-updateSequenceNumber", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.updateSequenceNumber(sequenceNumberAction, {
+            abortSignal: options.abortSignal,
+            blobSequenceNumber: sequenceNumber,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.BlobUndeleteHeaders = {
-      serializedName: "Blob_undeleteHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobUndeleteHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Begins an operation to start an incremental copy from one page blob's snapshot to this page blob.
+       * The snapshot is copied such that only the differential changes between the previously
+       * copied snapshot are transferred to the destination.
+       * The copied snapshots are complete copies of the original snapshot and can be read or copied from as usual.
+       * @see https://learn.microsoft.com/rest/api/storageservices/incremental-copy-blob
+       * @see https://learn.microsoft.com/azure/virtual-machines/windows/incremental-snapshots
+       *
+       * @param copySource - Specifies the name of the source page blob snapshot. For example,
+       *                            https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=
+       * @param options - Options to the Page Blob Copy Incremental operation.
+       * @returns Response data for the Page Blob Copy Incremental operation.
+       */
+      async startCopyIncremental(copySource, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-startCopyIncremental", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.copyIncremental(copySource, {
+            abortSignal: options.abortSignal,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
     };
-    exports2.BlobUndeleteExceptionHeaders = {
-      serializedName: "Blob_undeleteExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobUndeleteExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+    exports2.PageBlobClient = PageBlobClient;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BatchUtils.js
+var require_BatchUtils = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BatchUtils.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getBodyAsText = getBodyAsText;
+    exports2.utf8ByteLength = utf8ByteLength;
+    var utils_js_1 = require_utils7();
+    var constants_js_1 = require_constants14();
+    async function getBodyAsText(batchResponse) {
+      let buffer = Buffer.alloc(constants_js_1.BATCH_MAX_PAYLOAD_IN_BYTES);
+      const responseLength = await (0, utils_js_1.streamToBuffer2)(batchResponse.readableStreamBody, buffer);
+      buffer = buffer.slice(0, responseLength);
+      return buffer.toString();
+    }
+    function utf8ByteLength(str2) {
+      return Buffer.byteLength(str2);
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BatchResponseParser.js
+var require_BatchResponseParser = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BatchResponseParser.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BatchResponseParser = void 0;
+    var core_rest_pipeline_1 = require_commonjs8();
+    var core_http_compat_1 = require_commonjs11();
+    var constants_js_1 = require_constants14();
+    var BatchUtils_js_1 = require_BatchUtils();
+    var log_js_1 = require_log5();
+    var HTTP_HEADER_DELIMITER = ": ";
+    var SPACE_DELIMITER = " ";
+    var NOT_FOUND = -1;
+    var BatchResponseParser = class {
+      batchResponse;
+      responseBatchBoundary;
+      perResponsePrefix;
+      batchResponseEnding;
+      subRequests;
+      constructor(batchResponse, subRequests) {
+        if (!batchResponse || !batchResponse.contentType) {
+          throw new RangeError("batchResponse is malformed or doesn't contain valid content-type.");
         }
-      }
-    };
-    exports2.BlobSetExpiryHeaders = {
-      serializedName: "Blob_setExpiryHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetExpiryHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          }
+        if (!subRequests || subRequests.size === 0) {
+          throw new RangeError("Invalid state: subRequests is not provided or size is 0.");
         }
+        this.batchResponse = batchResponse;
+        this.subRequests = subRequests;
+        this.responseBatchBoundary = this.batchResponse.contentType.split("=")[1];
+        this.perResponsePrefix = `--${this.responseBatchBoundary}${constants_js_1.HTTP_LINE_ENDING}`;
+        this.batchResponseEnding = `--${this.responseBatchBoundary}--`;
       }
-    };
-    exports2.BlobSetExpiryExceptionHeaders = {
-      serializedName: "Blob_setExpiryExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetExpiryExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      // For example of response, please refer to https://learn.microsoft.com/rest/api/storageservices/blob-batch#response
+      async parseBatchResponse() {
+        if (this.batchResponse._response.status !== constants_js_1.HTTPURLConnection.HTTP_ACCEPTED) {
+          throw new Error(`Invalid state: batch request failed with status: '${this.batchResponse._response.status}'.`);
         }
-      }
-    };
-    exports2.BlobSetHttpHeadersHeaders = {
-      serializedName: "Blob_setHttpHeadersHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetHttpHeadersHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          blobSequenceNumber: {
-            serializedName: "x-ms-blob-sequence-number",
-            xmlName: "x-ms-blob-sequence-number",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
+        const responseBodyAsText = await (0, BatchUtils_js_1.getBodyAsText)(this.batchResponse);
+        const subResponses = responseBodyAsText.split(this.batchResponseEnding)[0].split(this.perResponsePrefix).slice(1);
+        const subResponseCount = subResponses.length;
+        if (subResponseCount !== this.subRequests.size && subResponseCount !== 1) {
+          throw new Error("Invalid state: sub responses' count is not equal to sub requests' count.");
+        }
+        const deserializedSubResponses = new Array(subResponseCount);
+        let subResponsesSucceededCount = 0;
+        let subResponsesFailedCount = 0;
+        for (let index = 0; index < subResponseCount; index++) {
+          const subResponse = subResponses[index];
+          const deserializedSubResponse = {};
+          deserializedSubResponse.headers = (0, core_http_compat_1.toHttpHeadersLike)((0, core_rest_pipeline_1.createHttpHeaders)());
+          const responseLines = subResponse.split(`${constants_js_1.HTTP_LINE_ENDING}`);
+          let subRespHeaderStartFound = false;
+          let subRespHeaderEndFound = false;
+          let subRespFailed = false;
+          let contentId = NOT_FOUND;
+          for (const responseLine of responseLines) {
+            if (!subRespHeaderStartFound) {
+              if (responseLine.startsWith(constants_js_1.HeaderConstants.CONTENT_ID)) {
+                contentId = parseInt(responseLine.split(HTTP_HEADER_DELIMITER)[1]);
+              }
+              if (responseLine.startsWith(constants_js_1.HTTP_VERSION_1_1)) {
+                subRespHeaderStartFound = true;
+                const tokens = responseLine.split(SPACE_DELIMITER);
+                deserializedSubResponse.status = parseInt(tokens[1]);
+                deserializedSubResponse.statusMessage = tokens.slice(2).join(SPACE_DELIMITER);
+              }
+              continue;
             }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
+            if (responseLine.trim() === "") {
+              if (!subRespHeaderEndFound) {
+                subRespHeaderEndFound = true;
+              }
+              continue;
             }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+            if (!subRespHeaderEndFound) {
+              if (responseLine.indexOf(HTTP_HEADER_DELIMITER) === -1) {
+                throw new Error(`Invalid state: find non-empty line '${responseLine}' without HTTP header delimiter '${HTTP_HEADER_DELIMITER}'.`);
+              }
+              const tokens = responseLine.split(HTTP_HEADER_DELIMITER);
+              deserializedSubResponse.headers.set(tokens[0], tokens[1]);
+              if (tokens[0] === constants_js_1.HeaderConstants.X_MS_ERROR_CODE) {
+                deserializedSubResponse.errorCode = tokens[1];
+                subRespFailed = true;
+              }
+            } else {
+              if (!deserializedSubResponse.bodyAsText) {
+                deserializedSubResponse.bodyAsText = "";
+              }
+              deserializedSubResponse.bodyAsText += responseLine;
             }
           }
+          if (contentId !== NOT_FOUND && Number.isInteger(contentId) && contentId >= 0 && contentId < this.subRequests.size && deserializedSubResponses[contentId] === void 0) {
+            deserializedSubResponse._request = this.subRequests.get(contentId);
+            deserializedSubResponses[contentId] = deserializedSubResponse;
+          } else {
+            log_js_1.logger.error(`subResponses[${index}] is dropped as the Content-ID is not found or invalid, Content-ID: ${contentId}`);
+          }
+          if (subRespFailed) {
+            subResponsesFailedCount++;
+          } else {
+            subResponsesSucceededCount++;
+          }
         }
+        return {
+          subResponses: deserializedSubResponses,
+          subResponsesSucceededCount,
+          subResponsesFailedCount
+        };
       }
     };
-    exports2.BlobSetHttpHeadersExceptionHeaders = {
-      serializedName: "Blob_setHttpHeadersExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetHttpHeadersExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+    exports2.BatchResponseParser = BatchResponseParser;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/utils/Mutex.js
+var require_Mutex = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/Mutex.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Mutex = void 0;
+    var MutexLockStatus;
+    (function(MutexLockStatus2) {
+      MutexLockStatus2[MutexLockStatus2["LOCKED"] = 0] = "LOCKED";
+      MutexLockStatus2[MutexLockStatus2["UNLOCKED"] = 1] = "UNLOCKED";
+    })(MutexLockStatus || (MutexLockStatus = {}));
+    var Mutex = class {
+      /**
+       * Lock for a specific key. If the lock has been acquired by another customer, then
+       * will wait until getting the lock.
+       *
+       * @param key - lock key
+       */
+      static async lock(key) {
+        return new Promise((resolve2) => {
+          if (this.keys[key] === void 0 || this.keys[key] === MutexLockStatus.UNLOCKED) {
+            this.keys[key] = MutexLockStatus.LOCKED;
+            resolve2();
+          } else {
+            this.onUnlockEvent(key, () => {
+              this.keys[key] = MutexLockStatus.LOCKED;
+              resolve2();
+            });
           }
-        }
+        });
       }
-    };
-    exports2.BlobSetImmutabilityPolicyHeaders = {
-      serializedName: "Blob_setImmutabilityPolicyHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetImmutabilityPolicyHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          immutabilityPolicyExpiry: {
-            serializedName: "x-ms-immutability-policy-until-date",
-            xmlName: "x-ms-immutability-policy-until-date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          immutabilityPolicyMode: {
-            serializedName: "x-ms-immutability-policy-mode",
-            xmlName: "x-ms-immutability-policy-mode",
-            type: {
-              name: "Enum",
-              allowedValues: ["Mutable", "Unlocked", "Locked"]
-            }
+      /**
+       * Unlock a key.
+       *
+       * @param key -
+       */
+      static async unlock(key) {
+        return new Promise((resolve2) => {
+          if (this.keys[key] === MutexLockStatus.LOCKED) {
+            this.emitUnlockEvent(key);
           }
+          delete this.keys[key];
+          resolve2();
+        });
+      }
+      static keys = {};
+      static listeners = {};
+      static onUnlockEvent(key, handler2) {
+        if (this.listeners[key] === void 0) {
+          this.listeners[key] = [handler2];
+        } else {
+          this.listeners[key].push(handler2);
         }
       }
-    };
-    exports2.BlobSetImmutabilityPolicyExceptionHeaders = {
-      serializedName: "Blob_setImmutabilityPolicyExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetImmutabilityPolicyExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      static emitUnlockEvent(key) {
+        if (this.listeners[key] !== void 0 && this.listeners[key].length > 0) {
+          const handler2 = this.listeners[key].shift();
+          setImmediate(() => {
+            handler2.call(this);
+          });
         }
       }
     };
-    exports2.BlobDeleteImmutabilityPolicyHeaders = {
-      serializedName: "Blob_deleteImmutabilityPolicyHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobDeleteImmutabilityPolicyHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          }
+    exports2.Mutex = Mutex;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BlobBatch.js
+var require_BlobBatch = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BlobBatch.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobBatch = void 0;
+    var core_util_1 = require_commonjs6();
+    var core_auth_1 = require_commonjs9();
+    var core_rest_pipeline_1 = require_commonjs8();
+    var core_util_2 = require_commonjs6();
+    var AnonymousCredential_js_1 = require_AnonymousCredential();
+    var Clients_js_1 = require_Clients();
+    var Mutex_js_1 = require_Mutex();
+    var Pipeline_js_1 = require_Pipeline();
+    var utils_common_js_1 = require_utils_common();
+    var core_xml_1 = require_commonjs12();
+    var constants_js_1 = require_constants14();
+    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
+    var tracing_js_1 = require_tracing();
+    var core_client_1 = require_commonjs10();
+    var StorageSharedKeyCredentialPolicyV2_js_1 = require_StorageSharedKeyCredentialPolicyV22();
+    var BlobBatch = class {
+      batchRequest;
+      batch = "batch";
+      batchType;
+      constructor() {
+        this.batchRequest = new InnerBatchRequest();
+      }
+      /**
+       * Get the value of Content-Type for a batch request.
+       * The value must be multipart/mixed with a batch boundary.
+       * Example: multipart/mixed; boundary=batch_a81786c8-e301-4e42-a729-a32ca24ae252
+       */
+      getMultiPartContentType() {
+        return this.batchRequest.getMultipartContentType();
+      }
+      /**
+       * Get assembled HTTP request body for sub requests.
+       */
+      getHttpRequestBody() {
+        return this.batchRequest.getHttpRequestBody();
+      }
+      /**
+       * Get sub requests that are added into the batch request.
+       */
+      getSubRequests() {
+        return this.batchRequest.getSubRequests();
+      }
+      async addSubRequestInternal(subRequest, assembleSubRequestFunc) {
+        await Mutex_js_1.Mutex.lock(this.batch);
+        try {
+          this.batchRequest.preAddSubRequest(subRequest);
+          await assembleSubRequestFunc();
+          this.batchRequest.postAddSubRequest(subRequest);
+        } finally {
+          await Mutex_js_1.Mutex.unlock(this.batch);
         }
       }
-    };
-    exports2.BlobDeleteImmutabilityPolicyExceptionHeaders = {
-      serializedName: "Blob_deleteImmutabilityPolicyExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobDeleteImmutabilityPolicyExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      setBatchType(batchType) {
+        if (!this.batchType) {
+          this.batchType = batchType;
+        }
+        if (this.batchType !== batchType) {
+          throw new RangeError(`BlobBatch only supports one operation type per batch and it already is being used for ${this.batchType} operations.`);
         }
       }
-    };
-    exports2.BlobSetLegalHoldHeaders = {
-      serializedName: "Blob_setLegalHoldHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetLegalHoldHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          legalHold: {
-            serializedName: "x-ms-legal-hold",
-            xmlName: "x-ms-legal-hold",
-            type: {
-              name: "Boolean"
-            }
-          }
+      async deleteBlob(urlOrBlobClient, credentialOrOptions, options) {
+        let url;
+        let credential;
+        if (typeof urlOrBlobClient === "string" && (core_util_2.isNodeLike && credentialOrOptions instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrOptions instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrOptions))) {
+          url = urlOrBlobClient;
+          credential = credentialOrOptions;
+        } else if (urlOrBlobClient instanceof Clients_js_1.BlobClient) {
+          url = urlOrBlobClient.url;
+          credential = urlOrBlobClient.credential;
+          options = credentialOrOptions;
+        } else {
+          throw new RangeError("Invalid arguments. Either url and credential, or BlobClient need be provided.");
+        }
+        if (!options) {
+          options = {};
         }
+        return tracing_js_1.tracingClient.withSpan("BatchDeleteRequest-addSubRequest", options, async (updatedOptions) => {
+          this.setBatchType("delete");
+          await this.addSubRequestInternal({
+            url,
+            credential
+          }, async () => {
+            await new Clients_js_1.BlobClient(url, this.batchRequest.createPipeline(credential)).delete(updatedOptions);
+          });
+        });
       }
-    };
-    exports2.BlobSetLegalHoldExceptionHeaders = {
-      serializedName: "Blob_setLegalHoldExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetLegalHoldExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      async setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions, options) {
+        let url;
+        let credential;
+        let tier;
+        if (typeof urlOrBlobClient === "string" && (core_util_2.isNodeLike && credentialOrTier instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrTier instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrTier))) {
+          url = urlOrBlobClient;
+          credential = credentialOrTier;
+          tier = tierOrOptions;
+        } else if (urlOrBlobClient instanceof Clients_js_1.BlobClient) {
+          url = urlOrBlobClient.url;
+          credential = urlOrBlobClient.credential;
+          tier = credentialOrTier;
+          options = tierOrOptions;
+        } else {
+          throw new RangeError("Invalid arguments. Either url and credential, or BlobClient need be provided.");
         }
+        if (!options) {
+          options = {};
+        }
+        return tracing_js_1.tracingClient.withSpan("BatchSetTierRequest-addSubRequest", options, async (updatedOptions) => {
+          this.setBatchType("setAccessTier");
+          await this.addSubRequestInternal({
+            url,
+            credential
+          }, async () => {
+            await new Clients_js_1.BlobClient(url, this.batchRequest.createPipeline(credential)).setAccessTier(tier, updatedOptions);
+          });
+        });
       }
     };
-    exports2.BlobSetMetadataHeaders = {
-      serializedName: "Blob_setMetadataHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetMetadataHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+    exports2.BlobBatch = BlobBatch;
+    var InnerBatchRequest = class {
+      operationCount;
+      body;
+      subRequests;
+      boundary;
+      subRequestPrefix;
+      multipartContentType;
+      batchRequestEnding;
+      constructor() {
+        this.operationCount = 0;
+        this.body = "";
+        const tempGuid = (0, core_util_1.randomUUID)();
+        this.boundary = `batch_${tempGuid}`;
+        this.subRequestPrefix = `--${this.boundary}${constants_js_1.HTTP_LINE_ENDING}${constants_js_1.HeaderConstants.CONTENT_TYPE}: application/http${constants_js_1.HTTP_LINE_ENDING}${constants_js_1.HeaderConstants.CONTENT_TRANSFER_ENCODING}: binary`;
+        this.multipartContentType = `multipart/mixed; boundary=${this.boundary}`;
+        this.batchRequestEnding = `--${this.boundary}--`;
+        this.subRequests = /* @__PURE__ */ new Map();
+      }
+      /**
+       * Create pipeline to assemble sub requests. The idea here is to use existing
+       * credential and serialization/deserialization components, with additional policies to
+       * filter unnecessary headers, assemble sub requests into request's body
+       * and intercept request from going to wire.
+       * @param credential -  Such as AnonymousCredential, StorageSharedKeyCredential or any credential from the `@azure/identity` package to authenticate requests to the service. You can also provide an object that implements the TokenCredential interface. If not specified, AnonymousCredential is used.
+       */
+      createPipeline(credential) {
+        const corePipeline = (0, core_rest_pipeline_1.createEmptyPipeline)();
+        corePipeline.addPolicy((0, core_client_1.serializationPolicy)({
+          stringifyXML: core_xml_1.stringifyXML,
+          serializerOptions: {
+            xml: {
+              xmlCharKey: "#"
             }
           }
+        }), { phase: "Serialize" });
+        corePipeline.addPolicy(batchHeaderFilterPolicy());
+        corePipeline.addPolicy(batchRequestAssemblePolicy(this), { afterPhase: "Sign" });
+        if ((0, core_auth_1.isTokenCredential)(credential)) {
+          corePipeline.addPolicy((0, core_rest_pipeline_1.bearerTokenAuthenticationPolicy)({
+            credential,
+            scopes: constants_js_1.StorageOAuthScopes,
+            challengeCallbacks: { authorizeRequestOnChallenge: core_client_1.authorizeRequestOnTenantChallenge }
+          }), { phase: "Sign" });
+        } else if (credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential) {
+          corePipeline.addPolicy((0, StorageSharedKeyCredentialPolicyV2_js_1.storageSharedKeyCredentialPolicy)({
+            accountName: credential.accountName,
+            accountKey: credential.accountKey
+          }), { phase: "Sign" });
+        }
+        const pipeline = new Pipeline_js_1.Pipeline([]);
+        pipeline._credential = credential;
+        pipeline._corePipeline = corePipeline;
+        return pipeline;
+      }
+      appendSubRequestToBody(request2) {
+        this.body += [
+          this.subRequestPrefix,
+          // sub request constant prefix
+          `${constants_js_1.HeaderConstants.CONTENT_ID}: ${this.operationCount}`,
+          // sub request's content ID
+          "",
+          // empty line after sub request's content ID
+          `${request2.method.toString()} ${(0, utils_common_js_1.getURLPathAndQuery)(request2.url)} ${constants_js_1.HTTP_VERSION_1_1}${constants_js_1.HTTP_LINE_ENDING}`
+          // sub request start line with method
+        ].join(constants_js_1.HTTP_LINE_ENDING);
+        for (const [name, value] of request2.headers) {
+          this.body += `${name}: ${value}${constants_js_1.HTTP_LINE_ENDING}`;
         }
+        this.body += constants_js_1.HTTP_LINE_ENDING;
       }
-    };
-    exports2.BlobSetMetadataExceptionHeaders = {
-      serializedName: "Blob_setMetadataExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetMetadataExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      preAddSubRequest(subRequest) {
+        if (this.operationCount >= constants_js_1.BATCH_MAX_REQUEST) {
+          throw new RangeError(`Cannot exceed ${constants_js_1.BATCH_MAX_REQUEST} sub requests in a single batch`);
+        }
+        const path3 = (0, utils_common_js_1.getURLPath)(subRequest.url);
+        if (!path3 || path3 === "") {
+          throw new RangeError(`Invalid url for sub request: '${subRequest.url}'`);
         }
       }
+      postAddSubRequest(subRequest) {
+        this.subRequests.set(this.operationCount, subRequest);
+        this.operationCount++;
+      }
+      // Return the http request body with assembling the ending line to the sub request body.
+      getHttpRequestBody() {
+        return `${this.body}${this.batchRequestEnding}${constants_js_1.HTTP_LINE_ENDING}`;
+      }
+      getMultipartContentType() {
+        return this.multipartContentType;
+      }
+      getSubRequests() {
+        return this.subRequests;
+      }
     };
-    exports2.BlobAcquireLeaseHeaders = {
-      serializedName: "Blob_acquireLeaseHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobAcquireLeaseHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          leaseId: {
-            serializedName: "x-ms-lease-id",
-            xmlName: "x-ms-lease-id",
-            type: {
-              name: "String"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
+    function batchRequestAssemblePolicy(batchRequest) {
+      return {
+        name: "batchRequestAssemblePolicy",
+        async sendRequest(request2) {
+          batchRequest.appendSubRequestToBody(request2);
+          return {
+            request: request2,
+            status: 200,
+            headers: (0, core_rest_pipeline_1.createHttpHeaders)()
+          };
+        }
+      };
+    }
+    function batchHeaderFilterPolicy() {
+      return {
+        name: "batchHeaderFilterPolicy",
+        async sendRequest(request2, next) {
+          let xMsHeaderName = "";
+          for (const [name] of request2.headers) {
+            if ((0, utils_common_js_1.iEqual)(name, constants_js_1.HeaderConstants.X_MS_VERSION)) {
+              xMsHeaderName = name;
             }
           }
+          if (xMsHeaderName !== "") {
+            request2.headers.delete(xMsHeaderName);
+          }
+          return next(request2);
+        }
+      };
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BlobBatchClient.js
+var require_BlobBatchClient = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BlobBatchClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobBatchClient = void 0;
+    var BatchResponseParser_js_1 = require_BatchResponseParser();
+    var BatchUtils_js_1 = require_BatchUtils();
+    var BlobBatch_js_1 = require_BlobBatch();
+    var tracing_js_1 = require_tracing();
+    var AnonymousCredential_js_1 = require_AnonymousCredential();
+    var StorageContextClient_js_1 = require_StorageContextClient();
+    var Pipeline_js_1 = require_Pipeline();
+    var utils_common_js_1 = require_utils_common();
+    var BlobBatchClient = class {
+      serviceOrContainerContext;
+      constructor(url, credentialOrPipeline, options) {
+        let pipeline;
+        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipeline)) {
+          pipeline = credentialOrPipeline;
+        } else if (!credentialOrPipeline) {
+          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+        } else {
+          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipeline, options);
+        }
+        const storageClientContext = new StorageContextClient_js_1.StorageContextClient(url, (0, Pipeline_js_1.getCoreClientOptions)(pipeline));
+        const path3 = (0, utils_common_js_1.getURLPath)(url);
+        if (path3 && path3 !== "/") {
+          this.serviceOrContainerContext = storageClientContext.container;
+        } else {
+          this.serviceOrContainerContext = storageClientContext.service;
         }
       }
-    };
-    exports2.BlobAcquireLeaseExceptionHeaders = {
-      serializedName: "Blob_acquireLeaseExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobAcquireLeaseExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      /**
+       * Creates a {@link BlobBatch}.
+       * A BlobBatch represents an aggregated set of operations on blobs.
+       */
+      createBatch() {
+        return new BlobBatch_js_1.BlobBatch();
+      }
+      async deleteBlobs(urlsOrBlobClients, credentialOrOptions, options) {
+        const batch = new BlobBatch_js_1.BlobBatch();
+        for (const urlOrBlobClient of urlsOrBlobClients) {
+          if (typeof urlOrBlobClient === "string") {
+            await batch.deleteBlob(urlOrBlobClient, credentialOrOptions, options);
+          } else {
+            await batch.deleteBlob(urlOrBlobClient, credentialOrOptions);
           }
         }
+        return this.submitBatch(batch);
       }
-    };
-    exports2.BlobReleaseLeaseHeaders = {
-      serializedName: "Blob_releaseLeaseHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobReleaseLeaseHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
+      async setBlobsAccessTier(urlsOrBlobClients, credentialOrTier, tierOrOptions, options) {
+        const batch = new BlobBatch_js_1.BlobBatch();
+        for (const urlOrBlobClient of urlsOrBlobClients) {
+          if (typeof urlOrBlobClient === "string") {
+            await batch.setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions, options);
+          } else {
+            await batch.setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions);
           }
         }
+        return this.submitBatch(batch);
+      }
+      /**
+       * Submit batch request which consists of multiple subrequests.
+       *
+       * Get `blobBatchClient` and other details before running the snippets.
+       * `blobServiceClient.getBlobBatchClient()` gives the `blobBatchClient`
+       *
+       * Example usage:
+       *
+       * ```ts snippet:BlobBatchClientSubmitBatch
+       * import { DefaultAzureCredential } from "@azure/identity";
+       * import { BlobServiceClient, BlobBatch } from "@azure/storage-blob";
+       *
+       * const account = "";
+       * const credential = new DefaultAzureCredential();
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   credential,
+       * );
+       *
+       * const containerName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blobBatchClient = containerClient.getBlobBatchClient();
+       *
+       * const batchRequest = new BlobBatch();
+       * await batchRequest.deleteBlob("", credential);
+       * await batchRequest.deleteBlob("", credential, {
+       *   deleteSnapshots: "include",
+       * });
+       * const batchResp = await blobBatchClient.submitBatch(batchRequest);
+       * console.log(batchResp.subResponsesSucceededCount);
+       * ```
+       *
+       * Example using a lease:
+       *
+       * ```ts snippet:BlobBatchClientSubmitBatchWithLease
+       * import { DefaultAzureCredential } from "@azure/identity";
+       * import { BlobServiceClient, BlobBatch } from "@azure/storage-blob";
+       *
+       * const account = "";
+       * const credential = new DefaultAzureCredential();
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   credential,
+       * );
+       *
+       * const containerName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blobBatchClient = containerClient.getBlobBatchClient();
+       * const blobClient = containerClient.getBlobClient("");
+       *
+       * const batchRequest = new BlobBatch();
+       * await batchRequest.setBlobAccessTier(blobClient, "Cool");
+       * await batchRequest.setBlobAccessTier(blobClient, "Cool", {
+       *   conditions: { leaseId: "" },
+       * });
+       * const batchResp = await blobBatchClient.submitBatch(batchRequest);
+       * console.log(batchResp.subResponsesSucceededCount);
+       * ```
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch
+       *
+       * @param batchRequest - A set of Delete or SetTier operations.
+       * @param options -
+       */
+      async submitBatch(batchRequest, options = {}) {
+        if (!batchRequest || batchRequest.getSubRequests().size === 0) {
+          throw new RangeError("Batch request should contain one or more sub requests.");
+        }
+        return tracing_js_1.tracingClient.withSpan("BlobBatchClient-submitBatch", options, async (updatedOptions) => {
+          const batchRequestBody = batchRequest.getHttpRequestBody();
+          const rawBatchResponse = (0, utils_common_js_1.assertResponse)(await this.serviceOrContainerContext.submitBatch((0, BatchUtils_js_1.utf8ByteLength)(batchRequestBody), batchRequest.getMultiPartContentType(), batchRequestBody, {
+            ...updatedOptions
+          }));
+          const batchResponseParser = new BatchResponseParser_js_1.BatchResponseParser(rawBatchResponse, batchRequest.getSubRequests());
+          const responseSummary = await batchResponseParser.parseBatchResponse();
+          const res = {
+            _response: rawBatchResponse._response,
+            contentType: rawBatchResponse.contentType,
+            errorCode: rawBatchResponse.errorCode,
+            requestId: rawBatchResponse.requestId,
+            clientRequestId: rawBatchResponse.clientRequestId,
+            version: rawBatchResponse.version,
+            subResponses: responseSummary.subResponses,
+            subResponsesSucceededCount: responseSummary.subResponsesSucceededCount,
+            subResponsesFailedCount: responseSummary.subResponsesFailedCount
+          };
+          return res;
+        });
       }
     };
-    exports2.BlobReleaseLeaseExceptionHeaders = {
-      serializedName: "Blob_releaseLeaseExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobReleaseLeaseExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+    exports2.BlobBatchClient = BlobBatchClient;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/ContainerClient.js
+var require_ContainerClient = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/ContainerClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ContainerClient = void 0;
+    var core_rest_pipeline_1 = require_commonjs8();
+    var core_util_1 = require_commonjs6();
+    var core_auth_1 = require_commonjs9();
+    var AnonymousCredential_js_1 = require_AnonymousCredential();
+    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
+    var Pipeline_js_1 = require_Pipeline();
+    var StorageClient_js_1 = require_StorageClient();
+    var tracing_js_1 = require_tracing();
+    var utils_common_js_1 = require_utils_common();
+    var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues();
+    var BlobLeaseClient_js_1 = require_BlobLeaseClient();
+    var Clients_js_1 = require_Clients();
+    var BlobBatchClient_js_1 = require_BlobBatchClient();
+    var ContainerClient = class extends StorageClient_js_1.StorageClient {
+      /**
+       * containerContext provided by protocol layer.
+       */
+      containerContext;
+      _containerName;
+      /**
+       * The name of the container.
+       */
+      get containerName() {
+        return this._containerName;
+      }
+      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, options) {
+        let pipeline;
+        let url;
+        options = options || {};
+        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
+          url = urlOrConnectionString;
+          pipeline = credentialOrPipelineOrContainerName;
+        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
+          url = urlOrConnectionString;
+          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
+        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
+          url = urlOrConnectionString;
+          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string") {
+          const containerName = credentialOrPipelineOrContainerName;
+          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
+          if (extractedCreds.kind === "AccountConnString") {
+            if (core_util_1.isNodeLike) {
+              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
+              url = (0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName));
+              if (!options.proxyOptions) {
+                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+              }
+              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+            } else {
+              throw new Error("Account connection string is only supported in Node.js environment");
             }
+          } else if (extractedCreds.kind === "SASConnString") {
+            url = (0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)) + "?" + extractedCreds.accountSas;
+            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+          } else {
+            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
           }
+        } else {
+          throw new Error("Expecting non-empty strings for containerName parameter");
         }
+        super(url, pipeline);
+        this._containerName = this.getContainerNameFromUrl();
+        this.containerContext = this.storageClientContext.container;
       }
-    };
-    exports2.BlobRenewLeaseHeaders = {
-      serializedName: "Blob_renewLeaseHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobRenewLeaseHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          leaseId: {
-            serializedName: "x-ms-lease-id",
-            xmlName: "x-ms-lease-id",
-            type: {
-              name: "String"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
+      /**
+       * Creates a new container under the specified account. If the container with
+       * the same name already exists, the operation fails.
+       * @see https://learn.microsoft.com/rest/api/storageservices/create-container
+       * Naming rules: @see https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata
+       *
+       * @param options - Options to Container Create operation.
+       *
+       *
+       * Example usage:
+       *
+       * ```ts snippet:ContainerClientCreate
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const createContainerResponse = await containerClient.create();
+       * console.log("Container was created successfully", createContainerResponse.requestId);
+       * ```
+       */
+      async create(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-create", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.containerContext.create(updatedOptions));
+        });
+      }
+      /**
+       * Creates a new container under the specified account. If the container with
+       * the same name already exists, it is not changed.
+       * @see https://learn.microsoft.com/rest/api/storageservices/create-container
+       * Naming rules: @see https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata
+       *
+       * @param options -
+       */
+      async createIfNotExists(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-createIfNotExists", options, async (updatedOptions) => {
+          try {
+            const res = await this.create(updatedOptions);
+            return {
+              succeeded: true,
+              ...res,
+              _response: res._response
+              // _response is made non-enumerable
+            };
+          } catch (e) {
+            if (e.details?.errorCode === "ContainerAlreadyExists") {
+              return {
+                succeeded: false,
+                ...e.response?.parsedHeaders,
+                _response: e.response
+              };
+            } else {
+              throw e;
             }
           }
-        }
+        });
       }
-    };
-    exports2.BlobRenewLeaseExceptionHeaders = {
-      serializedName: "Blob_renewLeaseExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobRenewLeaseExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+      /**
+       * Returns true if the Azure container resource represented by this client exists; false otherwise.
+       *
+       * NOTE: use this function with care since an existing container might be deleted by other clients or
+       * applications. Vice versa new containers with the same name might be added by other clients or
+       * applications after this function completes.
+       *
+       * @param options -
+       */
+      async exists(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-exists", options, async (updatedOptions) => {
+          try {
+            await this.getProperties({
+              abortSignal: options.abortSignal,
+              tracingOptions: updatedOptions.tracingOptions
+            });
+            return true;
+          } catch (e) {
+            if (e.statusCode === 404) {
+              return false;
             }
+            throw e;
           }
-        }
+        });
       }
-    };
-    exports2.BlobChangeLeaseHeaders = {
-      serializedName: "Blob_changeLeaseHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobChangeLeaseHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          leaseId: {
-            serializedName: "x-ms-lease-id",
-            xmlName: "x-ms-lease-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          }
+      /**
+       * Creates a {@link BlobClient}
+       *
+       * @param blobName - A blob name
+       * @returns A new BlobClient object for the given blob name.
+       */
+      getBlobClient(blobName) {
+        return new Clients_js_1.BlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
+      }
+      /**
+       * Creates an {@link AppendBlobClient}
+       *
+       * @param blobName - An append blob name
+       */
+      getAppendBlobClient(blobName) {
+        return new Clients_js_1.AppendBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
+      }
+      /**
+       * Creates a {@link BlockBlobClient}
+       *
+       * @param blobName - A block blob name
+       *
+       *
+       * Example usage:
+       *
+       * ```ts snippet:ClientsUpload
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blockBlobClient = containerClient.getBlockBlobClient(blobName);
+       *
+       * const content = "Hello world!";
+       * const uploadBlobResponse = await blockBlobClient.upload(content, content.length);
+       * ```
+       */
+      getBlockBlobClient(blobName) {
+        return new Clients_js_1.BlockBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
+      }
+      /**
+       * Creates a {@link PageBlobClient}
+       *
+       * @param blobName - A page blob name
+       */
+      getPageBlobClient(blobName) {
+        return new Clients_js_1.PageBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
+      }
+      /**
+       * Returns all user-defined metadata and system properties for the specified
+       * container. The data returned does not include the container's list of blobs.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-container-properties
+       *
+       * WARNING: The `metadata` object returned in the response will have its keys in lowercase, even if
+       * they originally contained uppercase characters. This differs from the metadata keys returned by
+       * the `listContainers` method of {@link BlobServiceClient} using the `includeMetadata` option, which
+       * will retain their original casing.
+       *
+       * @param options - Options to Container Get Properties operation.
+       */
+      async getProperties(options = {}) {
+        if (!options.conditions) {
+          options.conditions = {};
         }
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-getProperties", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.containerContext.getProperties({
+            abortSignal: options.abortSignal,
+            ...options.conditions,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.BlobChangeLeaseExceptionHeaders = {
-      serializedName: "Blob_changeLeaseExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobChangeLeaseExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       * Marks the specified container for deletion. The container and any blobs
+       * contained within it are later deleted during garbage collection.
+       * @see https://learn.microsoft.com/rest/api/storageservices/delete-container
+       *
+       * @param options - Options to Container Delete operation.
+       */
+      async delete(options = {}) {
+        if (!options.conditions) {
+          options.conditions = {};
         }
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-delete", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.containerContext.delete({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: options.conditions,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.BlobBreakLeaseHeaders = {
-      serializedName: "Blob_breakLeaseHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobBreakLeaseHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          leaseTime: {
-            serializedName: "x-ms-lease-time",
-            xmlName: "x-ms-lease-time",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
+      /**
+       * Marks the specified container for deletion if it exists. The container and any blobs
+       * contained within it are later deleted during garbage collection.
+       * @see https://learn.microsoft.com/rest/api/storageservices/delete-container
+       *
+       * @param options - Options to Container Delete operation.
+       */
+      async deleteIfExists(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-deleteIfExists", options, async (updatedOptions) => {
+          try {
+            const res = await this.delete(updatedOptions);
+            return {
+              succeeded: true,
+              ...res,
+              _response: res._response
+            };
+          } catch (e) {
+            if (e.details?.errorCode === "ContainerNotFound") {
+              return {
+                succeeded: false,
+                ...e.response?.parsedHeaders,
+                _response: e.response
+              };
             }
+            throw e;
           }
+        });
+      }
+      /**
+       * Sets one or more user-defined name-value pairs for the specified container.
+       *
+       * If no option provided, or no metadata defined in the parameter, the container
+       * metadata will be removed.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-container-metadata
+       *
+       * @param metadata - Replace existing metadata with this value.
+       *                            If no value provided the existing metadata will be removed.
+       * @param options - Options to Container Set Metadata operation.
+       */
+      async setMetadata(metadata, options = {}) {
+        if (!options.conditions) {
+          options.conditions = {};
+        }
+        if (options.conditions.ifUnmodifiedSince) {
+          throw new RangeError("the IfUnmodifiedSince must have their default values because they are ignored by the blob service");
         }
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-setMetadata", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.containerContext.setMetadata({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            metadata,
+            modifiedAccessConditions: options.conditions,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.BlobBreakLeaseExceptionHeaders = {
-      serializedName: "Blob_breakLeaseExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobBreakLeaseExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+      /**
+       * Gets the permissions for the specified container. The permissions indicate
+       * whether container data may be accessed publicly.
+       *
+       * WARNING: JavaScript Date will potentially lose precision when parsing startsOn and expiresOn strings.
+       * For example, new Date("2018-12-31T03:44:23.8827891Z").toISOString() will get "2018-12-31T03:44:23.882Z".
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-container-acl
+       *
+       * @param options - Options to Container Get Access Policy operation.
+       */
+      async getAccessPolicy(options = {}) {
+        if (!options.conditions) {
+          options.conditions = {};
+        }
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-getAccessPolicy", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.getAccessPolicy({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const res = {
+            _response: response._response,
+            blobPublicAccess: response.blobPublicAccess,
+            date: response.date,
+            etag: response.etag,
+            errorCode: response.errorCode,
+            lastModified: response.lastModified,
+            requestId: response.requestId,
+            clientRequestId: response.clientRequestId,
+            signedIdentifiers: [],
+            version: response.version
+          };
+          for (const identifier of response) {
+            let accessPolicy = void 0;
+            if (identifier.accessPolicy) {
+              accessPolicy = {
+                permissions: identifier.accessPolicy.permissions
+              };
+              if (identifier.accessPolicy.expiresOn) {
+                accessPolicy.expiresOn = new Date(identifier.accessPolicy.expiresOn);
+              }
+              if (identifier.accessPolicy.startsOn) {
+                accessPolicy.startsOn = new Date(identifier.accessPolicy.startsOn);
+              }
             }
+            res.signedIdentifiers.push({
+              accessPolicy,
+              id: identifier.id
+            });
           }
-        }
+          return res;
+        });
       }
-    };
-    exports2.BlobCreateSnapshotHeaders = {
-      serializedName: "Blob_createSnapshotHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobCreateSnapshotHeaders",
-        modelProperties: {
-          snapshot: {
-            serializedName: "x-ms-snapshot",
-            xmlName: "x-ms-snapshot",
-            type: {
-              name: "String"
-            }
-          },
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      /**
+       * Sets the permissions for the specified container. The permissions indicate
+       * whether blobs in a container may be accessed publicly.
+       *
+       * When you set permissions for a container, the existing permissions are replaced.
+       * If no access or containerAcl provided, the existing container ACL will be
+       * removed.
+       *
+       * When you establish a stored access policy on a container, it may take up to 30 seconds to take effect.
+       * During this interval, a shared access signature that is associated with the stored access policy will
+       * fail with status code 403 (Forbidden), until the access policy becomes active.
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-container-acl
+       *
+       * @param access - The level of public access to data in the container.
+       * @param containerAcl - Array of elements each having a unique Id and details of the access policy.
+       * @param options - Options to Container Set Access Policy operation.
+       */
+      async setAccessPolicy(access, containerAcl, options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-setAccessPolicy", options, async (updatedOptions) => {
+          const acl = [];
+          for (const identifier of containerAcl || []) {
+            acl.push({
+              accessPolicy: {
+                expiresOn: identifier.accessPolicy.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(identifier.accessPolicy.expiresOn) : "",
+                permissions: identifier.accessPolicy.permissions,
+                startsOn: identifier.accessPolicy.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(identifier.accessPolicy.startsOn) : ""
+              },
+              id: identifier.id
+            });
           }
-        }
+          return (0, utils_common_js_1.assertResponse)(await this.containerContext.setAccessPolicy({
+            abortSignal: options.abortSignal,
+            access,
+            containerAcl: acl,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: options.conditions,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Get a {@link BlobLeaseClient} that manages leases on the container.
+       *
+       * @param proposeLeaseId - Initial proposed lease Id.
+       * @returns A new BlobLeaseClient object for managing leases on the container.
+       */
+      getBlobLeaseClient(proposeLeaseId) {
+        return new BlobLeaseClient_js_1.BlobLeaseClient(this, proposeLeaseId);
       }
-    };
-    exports2.BlobCreateSnapshotExceptionHeaders = {
-      serializedName: "Blob_createSnapshotExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobCreateSnapshotExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Creates a new block blob, or updates the content of an existing block blob.
+       *
+       * Updating an existing block blob overwrites any existing metadata on the blob.
+       * Partial updates are not supported; the content of the existing blob is
+       * overwritten with the new content. To perform a partial update of a block blob's,
+       * use {@link BlockBlobClient.stageBlock} and {@link BlockBlobClient.commitBlockList}.
+       *
+       * This is a non-parallel uploading method, please use {@link BlockBlobClient.uploadFile},
+       * {@link BlockBlobClient.uploadStream} or {@link BlockBlobClient.uploadBrowserData} for better
+       * performance with concurrency uploading.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
+       *
+       * @param blobName - Name of the block blob to create or update.
+       * @param body - Blob, string, ArrayBuffer, ArrayBufferView or a function
+       *                               which returns a new Readable stream whose offset is from data source beginning.
+       * @param contentLength - Length of body in bytes. Use Buffer.byteLength() to calculate body length for a
+       *                               string including non non-Base64/Hex-encoded characters.
+       * @param options - Options to configure the Block Blob Upload operation.
+       * @returns Block Blob upload response data and the corresponding BlockBlobClient instance.
+       */
+      async uploadBlockBlob(blobName, body, contentLength, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-uploadBlockBlob", options, async (updatedOptions) => {
+          const blockBlobClient = this.getBlockBlobClient(blobName);
+          const response = await blockBlobClient.upload(body, contentLength, updatedOptions);
+          return {
+            blockBlobClient,
+            response
+          };
+        });
       }
-    };
-    exports2.BlobStartCopyFromURLHeaders = {
-      serializedName: "Blob_startCopyFromURLHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobStartCopyFromURLHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          copyId: {
-            serializedName: "x-ms-copy-id",
-            xmlName: "x-ms-copy-id",
-            type: {
-              name: "String"
-            }
-          },
-          copyStatus: {
-            serializedName: "x-ms-copy-status",
-            xmlName: "x-ms-copy-status",
-            type: {
-              name: "Enum",
-              allowedValues: ["pending", "success", "aborted", "failed"]
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      /**
+       * Marks the specified blob or snapshot for deletion. The blob is later deleted
+       * during garbage collection. Note that in order to delete a blob, you must delete
+       * all of its snapshots. You can delete both at the same time with the Delete
+       * Blob operation.
+       * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob
+       *
+       * @param blobName -
+       * @param options - Options to Blob Delete operation.
+       * @returns Block blob deletion response data.
+       */
+      async deleteBlob(blobName, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-deleteBlob", options, async (updatedOptions) => {
+          let blobClient = this.getBlobClient(blobName);
+          if (options.versionId) {
+            blobClient = blobClient.withVersion(options.versionId);
           }
-        }
+          return blobClient.delete(updatedOptions);
+        });
       }
-    };
-    exports2.BlobStartCopyFromURLExceptionHeaders = {
-      serializedName: "Blob_startCopyFromURLExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobStartCopyFromURLExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceErrorCode: {
-            serializedName: "x-ms-copy-source-error-code",
-            xmlName: "x-ms-copy-source-error-code",
-            type: {
-              name: "String"
+      /**
+       * listBlobFlatSegment returns a single segment of blobs starting from the
+       * specified Marker. Use an empty Marker to start enumeration from the beginning.
+       * After getting a segment, process it, and then call listBlobsFlatSegment again
+       * (passing the the previously-returned Marker) to get the next segment.
+       * @see https://learn.microsoft.com/rest/api/storageservices/list-blobs
+       *
+       * @param marker - A string value that identifies the portion of the list to be returned with the next list operation.
+       * @param options - Options to Container List Blob Flat Segment operation.
+       */
+      async listBlobFlatSegment(marker, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-listBlobFlatSegment", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.listBlobFlatSegment({
+            marker,
+            ...options,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const wrappedResponse = {
+            ...response,
+            _response: {
+              ...response._response,
+              parsedBody: (0, utils_common_js_1.ConvertInternalResponseOfListBlobFlat)(response._response.parsedBody)
+            },
+            // _response is made non-enumerable
+            segment: {
+              ...response.segment,
+              blobItems: response.segment.blobItems.map((blobItemInternal) => {
+                const blobItem = {
+                  ...blobItemInternal,
+                  name: (0, utils_common_js_1.BlobNameToString)(blobItemInternal.name),
+                  tags: (0, utils_common_js_1.toTags)(blobItemInternal.blobTags),
+                  objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(blobItemInternal.objectReplicationMetadata)
+                };
+                return blobItem;
+              })
             }
-          },
-          copySourceStatusCode: {
-            serializedName: "x-ms-copy-source-status-code",
-            xmlName: "x-ms-copy-source-status-code",
-            type: {
-              name: "Number"
+          };
+          return wrappedResponse;
+        });
+      }
+      /**
+       * listBlobHierarchySegment returns a single segment of blobs starting from
+       * the specified Marker. Use an empty Marker to start enumeration from the
+       * beginning. After getting a segment, process it, and then call listBlobsHierarchicalSegment
+       * again (passing the the previously-returned Marker) to get the next segment.
+       * @see https://learn.microsoft.com/rest/api/storageservices/list-blobs
+       *
+       * @param delimiter - The character or string used to define the virtual hierarchy
+       * @param marker - A string value that identifies the portion of the list to be returned with the next list operation.
+       * @param options - Options to Container List Blob Hierarchy Segment operation.
+       */
+      async listBlobHierarchySegment(delimiter, marker, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-listBlobHierarchySegment", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.listBlobHierarchySegment(delimiter, {
+            marker,
+            ...options,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const wrappedResponse = {
+            ...response,
+            _response: {
+              ...response._response,
+              parsedBody: (0, utils_common_js_1.ConvertInternalResponseOfListBlobHierarchy)(response._response.parsedBody)
+            },
+            // _response is made non-enumerable
+            segment: {
+              ...response.segment,
+              blobItems: response.segment.blobItems.map((blobItemInternal) => {
+                const blobItem = {
+                  ...blobItemInternal,
+                  name: (0, utils_common_js_1.BlobNameToString)(blobItemInternal.name),
+                  tags: (0, utils_common_js_1.toTags)(blobItemInternal.blobTags),
+                  objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(blobItemInternal.objectReplicationMetadata)
+                };
+                return blobItem;
+              }),
+              blobPrefixes: response.segment.blobPrefixes?.map((blobPrefixInternal) => {
+                const blobPrefix = {
+                  ...blobPrefixInternal,
+                  name: (0, utils_common_js_1.BlobNameToString)(blobPrefixInternal.name)
+                };
+                return blobPrefix;
+              })
             }
-          }
+          };
+          return wrappedResponse;
+        });
+      }
+      /**
+       * Returns an AsyncIterableIterator for ContainerListBlobFlatSegmentResponse
+       *
+       * @param marker - A string value that identifies the portion of
+       *                          the list of blobs to be returned with the next listing operation. The
+       *                          operation returns the ContinuationToken value within the response body if the
+       *                          listing operation did not return all blobs remaining to be listed
+       *                          with the current page. The ContinuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of list
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to list blobs operation.
+       */
+      async *listSegments(marker, options = {}) {
+        let listBlobsFlatSegmentResponse;
+        if (!!marker || marker === void 0) {
+          do {
+            listBlobsFlatSegmentResponse = await this.listBlobFlatSegment(marker, options);
+            marker = listBlobsFlatSegmentResponse.continuationToken;
+            yield await listBlobsFlatSegmentResponse;
+          } while (marker);
         }
       }
-    };
-    exports2.BlobCopyFromURLHeaders = {
-      serializedName: "Blob_copyFromURLHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobCopyFromURLHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          copyId: {
-            serializedName: "x-ms-copy-id",
-            xmlName: "x-ms-copy-id",
-            type: {
-              name: "String"
-            }
-          },
-          copyStatus: {
-            defaultValue: "success",
-            isConstant: true,
-            serializedName: "x-ms-copy-status",
-            type: {
-              name: "String"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          xMsContentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       * Returns an AsyncIterableIterator of {@link BlobItem} objects
+       *
+       * @param options - Options to list blobs operation.
+       */
+      async *listItems(options = {}) {
+        let marker;
+        for await (const listBlobsFlatSegmentResponse of this.listSegments(marker, options)) {
+          yield* listBlobsFlatSegmentResponse.segment.blobItems;
         }
       }
-    };
-    exports2.BlobCopyFromURLExceptionHeaders = {
-      serializedName: "Blob_copyFromURLExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobCopyFromURLExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceErrorCode: {
-            serializedName: "x-ms-copy-source-error-code",
-            xmlName: "x-ms-copy-source-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceStatusCode: {
-            serializedName: "x-ms-copy-source-status-code",
-            xmlName: "x-ms-copy-source-status-code",
-            type: {
-              name: "Number"
-            }
-          }
+      /**
+       * Returns an async iterable iterator to list all the blobs
+       * under the specified account.
+       *
+       * .byPage() returns an async iterable iterator to list the blobs in pages.
+       *
+       * ```ts snippet:ReadmeSampleListBlobs_Multiple
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       *
+       * // Example using `for await` syntax
+       * let i = 1;
+       * const blobs = containerClient.listBlobsFlat();
+       * for await (const blob of blobs) {
+       *   console.log(`Blob ${i++}: ${blob.name}`);
+       * }
+       *
+       * // Example using `iter.next()` syntax
+       * i = 1;
+       * const iter = containerClient.listBlobsFlat();
+       * let { value, done } = await iter.next();
+       * while (!done) {
+       *   console.log(`Blob ${i++}: ${value.name}`);
+       *   ({ value, done } = await iter.next());
+       * }
+       *
+       * // Example using `byPage()` syntax
+       * i = 1;
+       * for await (const page of containerClient.listBlobsFlat().byPage({ maxPageSize: 20 })) {
+       *   for (const blob of page.segment.blobItems) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       *
+       * // Example using paging with a marker
+       * i = 1;
+       * let iterator = containerClient.listBlobsFlat().byPage({ maxPageSize: 2 });
+       * let response = (await iterator.next()).value;
+       * // Prints 2 blob names
+       * if (response.segment.blobItems) {
+       *   for (const blob of response.segment.blobItems) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       * // Gets next marker
+       * let marker = response.continuationToken;
+       * // Passing next marker as continuationToken
+       * iterator = containerClient.listBlobsFlat().byPage({ continuationToken: marker, maxPageSize: 10 });
+       * response = (await iterator.next()).value;
+       * // Prints 10 blob names
+       * if (response.segment.blobItems) {
+       *   for (const blob of response.segment.blobItems) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       * ```
+       *
+       * @param options - Options to list blobs.
+       * @returns An asyncIterableIterator that supports paging.
+       */
+      listBlobsFlat(options = {}) {
+        const include = [];
+        if (options.includeCopy) {
+          include.push("copy");
+        }
+        if (options.includeDeleted) {
+          include.push("deleted");
+        }
+        if (options.includeMetadata) {
+          include.push("metadata");
+        }
+        if (options.includeSnapshots) {
+          include.push("snapshots");
+        }
+        if (options.includeVersions) {
+          include.push("versions");
+        }
+        if (options.includeUncommitedBlobs) {
+          include.push("uncommittedblobs");
+        }
+        if (options.includeTags) {
+          include.push("tags");
+        }
+        if (options.includeDeletedWithVersions) {
+          include.push("deletedwithversions");
+        }
+        if (options.includeImmutabilityPolicy) {
+          include.push("immutabilitypolicy");
+        }
+        if (options.includeLegalHold) {
+          include.push("legalhold");
         }
-      }
-    };
-    exports2.BlobAbortCopyFromURLHeaders = {
-      serializedName: "Blob_abortCopyFromURLHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobAbortCopyFromURLHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
+        if (options.prefix === "") {
+          options.prefix = void 0;
+        }
+        const updatedOptions = {
+          ...options,
+          ...include.length > 0 ? { include } : {}
+        };
+        const iter = this.listItems(updatedOptions);
+        return {
+          /**
+           * The next method, part of the iteration protocol
+           */
+          next() {
+            return iter.next();
           },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
+          /**
+           * The connection to the async iterator, part of the iteration protocol
+           */
+          [Symbol.asyncIterator]() {
+            return this;
           },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+          /**
+           * Return an AsyncIterableIterator that works a page at a time
+           */
+          byPage: (settings = {}) => {
+            return this.listSegments(settings.continuationToken, {
+              maxPageSize: settings.maxPageSize,
+              ...updatedOptions
+            });
           }
+        };
+      }
+      /**
+       * Returns an AsyncIterableIterator for ContainerListBlobHierarchySegmentResponse
+       *
+       * @param delimiter - The character or string used to define the virtual hierarchy
+       * @param marker - A string value that identifies the portion of
+       *                          the list of blobs to be returned with the next listing operation. The
+       *                          operation returns the ContinuationToken value within the response body if the
+       *                          listing operation did not return all blobs remaining to be listed
+       *                          with the current page. The ContinuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of list
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to list blobs operation.
+       */
+      async *listHierarchySegments(delimiter, marker, options = {}) {
+        let listBlobsHierarchySegmentResponse;
+        if (!!marker || marker === void 0) {
+          do {
+            listBlobsHierarchySegmentResponse = await this.listBlobHierarchySegment(delimiter, marker, options);
+            marker = listBlobsHierarchySegmentResponse.continuationToken;
+            yield await listBlobsHierarchySegmentResponse;
+          } while (marker);
         }
       }
-    };
-    exports2.BlobAbortCopyFromURLExceptionHeaders = {
-      serializedName: "Blob_abortCopyFromURLExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobAbortCopyFromURLExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+      /**
+       * Returns an AsyncIterableIterator for {@link BlobPrefix} and {@link BlobItem} objects.
+       *
+       * @param delimiter - The character or string used to define the virtual hierarchy
+       * @param options - Options to list blobs operation.
+       */
+      async *listItemsByHierarchy(delimiter, options = {}) {
+        let marker;
+        for await (const listBlobsHierarchySegmentResponse of this.listHierarchySegments(delimiter, marker, options)) {
+          const segment = listBlobsHierarchySegmentResponse.segment;
+          if (segment.blobPrefixes) {
+            for (const prefix of segment.blobPrefixes) {
+              yield {
+                kind: "prefix",
+                ...prefix
+              };
             }
           }
+          for (const blob of segment.blobItems) {
+            yield { kind: "blob", ...blob };
+          }
         }
       }
-    };
-    exports2.BlobSetTierHeaders = {
-      serializedName: "Blob_setTierHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetTierHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
+      /**
+       * Returns an async iterable iterator to list all the blobs by hierarchy.
+       * under the specified account.
+       *
+       * .byPage() returns an async iterable iterator to list the blobs by hierarchy in pages.
+       *
+       * ```ts snippet:ReadmeSampleListBlobsByHierarchy
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       *
+       * // Example using `for await` syntax
+       * let i = 1;
+       * const blobs = containerClient.listBlobsByHierarchy("/");
+       * for await (const blob of blobs) {
+       *   if (blob.kind === "prefix") {
+       *     console.log(`\tBlobPrefix: ${blob.name}`);
+       *   } else {
+       *     console.log(`\tBlobItem: name - ${blob.name}`);
+       *   }
+       * }
+       *
+       * // Example using `iter.next()` syntax
+       * i = 1;
+       * const iter = containerClient.listBlobsByHierarchy("/");
+       * let { value, done } = await iter.next();
+       * while (!done) {
+       *   if (value.kind === "prefix") {
+       *     console.log(`\tBlobPrefix: ${value.name}`);
+       *   } else {
+       *     console.log(`\tBlobItem: name - ${value.name}`);
+       *   }
+       *   ({ value, done } = await iter.next());
+       * }
+       *
+       * // Example using `byPage()` syntax
+       * i = 1;
+       * for await (const page of containerClient.listBlobsByHierarchy("/").byPage({ maxPageSize: 20 })) {
+       *   const segment = page.segment;
+       *   if (segment.blobPrefixes) {
+       *     for (const prefix of segment.blobPrefixes) {
+       *       console.log(`\tBlobPrefix: ${prefix.name}`);
+       *     }
+       *   }
+       *   for (const blob of page.segment.blobItems) {
+       *     console.log(`\tBlobItem: name - ${blob.name}`);
+       *   }
+       * }
+       *
+       * // Example using paging with a marker
+       * i = 1;
+       * let iterator = containerClient.listBlobsByHierarchy("/").byPage({ maxPageSize: 2 });
+       * let response = (await iterator.next()).value;
+       * // Prints 2 blob names
+       * if (response.blobPrefixes) {
+       *   for (const prefix of response.blobPrefixes) {
+       *     console.log(`\tBlobPrefix: ${prefix.name}`);
+       *   }
+       * }
+       * if (response.segment.blobItems) {
+       *   for (const blob of response.segment.blobItems) {
+       *     console.log(`\tBlobItem: name - ${blob.name}`);
+       *   }
+       * }
+       * // Gets next marker
+       * let marker = response.continuationToken;
+       * // Passing next marker as continuationToken
+       * iterator = containerClient
+       *   .listBlobsByHierarchy("/")
+       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
+       * response = (await iterator.next()).value;
+       * // Prints 10 blob names
+       * if (response.blobPrefixes) {
+       *   for (const prefix of response.blobPrefixes) {
+       *     console.log(`\tBlobPrefix: ${prefix.name}`);
+       *   }
+       * }
+       * if (response.segment.blobItems) {
+       *   for (const blob of response.segment.blobItems) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       * ```
+       *
+       * @param delimiter - The character or string used to define the virtual hierarchy
+       * @param options - Options to list blobs operation.
+       */
+      listBlobsByHierarchy(delimiter, options = {}) {
+        if (delimiter === "") {
+          throw new RangeError("delimiter should contain one or more characters");
+        }
+        const include = [];
+        if (options.includeCopy) {
+          include.push("copy");
+        }
+        if (options.includeDeleted) {
+          include.push("deleted");
+        }
+        if (options.includeMetadata) {
+          include.push("metadata");
+        }
+        if (options.includeSnapshots) {
+          include.push("snapshots");
+        }
+        if (options.includeVersions) {
+          include.push("versions");
+        }
+        if (options.includeUncommitedBlobs) {
+          include.push("uncommittedblobs");
+        }
+        if (options.includeTags) {
+          include.push("tags");
+        }
+        if (options.includeDeletedWithVersions) {
+          include.push("deletedwithversions");
+        }
+        if (options.includeImmutabilityPolicy) {
+          include.push("immutabilitypolicy");
+        }
+        if (options.includeLegalHold) {
+          include.push("legalhold");
+        }
+        if (options.prefix === "") {
+          options.prefix = void 0;
+        }
+        const updatedOptions = {
+          ...options,
+          ...include.length > 0 ? { include } : {}
+        };
+        const iter = this.listItemsByHierarchy(delimiter, updatedOptions);
+        return {
+          /**
+           * The next method, part of the iteration protocol
+           */
+          async next() {
+            return iter.next();
           },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
+          /**
+           * The connection to the async iterator, part of the iteration protocol
+           */
+          [Symbol.asyncIterator]() {
+            return this;
           },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+          /**
+           * Return an AsyncIterableIterator that works a page at a time
+           */
+          byPage: (settings = {}) => {
+            return this.listHierarchySegments(delimiter, settings.continuationToken, {
+              maxPageSize: settings.maxPageSize,
+              ...updatedOptions
+            });
           }
+        };
+      }
+      /**
+       * The Filter Blobs operation enables callers to list blobs in the container whose tags
+       * match a given search expression.
+       *
+       * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                        The given expression must evaluate to true for a blob to be returned in the results.
+       *                                        The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                        however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param marker - A string value that identifies the portion of
+       *                          the list of blobs to be returned with the next listing operation. The
+       *                          operation returns the continuationToken value within the response body if the
+       *                          listing operation did not return all blobs remaining to be listed
+       *                          with the current page. The continuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of list
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to find blobs by tags.
+       */
+      async findBlobsByTagsSegment(tagFilterSqlExpression, marker, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-findBlobsByTagsSegment", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.filterBlobs({
+            abortSignal: options.abortSignal,
+            where: tagFilterSqlExpression,
+            marker,
+            maxPageSize: options.maxPageSize,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const wrappedResponse = {
+            ...response,
+            _response: response._response,
+            // _response is made non-enumerable
+            blobs: response.blobs.map((blob) => {
+              let tagValue = "";
+              if (blob.tags?.blobTagSet.length === 1) {
+                tagValue = blob.tags.blobTagSet[0].value;
+              }
+              return { ...blob, tags: (0, utils_common_js_1.toTags)(blob.tags), tagValue };
+            })
+          };
+          return wrappedResponse;
+        });
+      }
+      /**
+       * Returns an AsyncIterableIterator for ContainerFindBlobsByTagsSegmentResponse.
+       *
+       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                         The given expression must evaluate to true for a blob to be returned in the results.
+       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param marker - A string value that identifies the portion of
+       *                          the list of blobs to be returned with the next listing operation. The
+       *                          operation returns the continuationToken value within the response body if the
+       *                          listing operation did not return all blobs remaining to be listed
+       *                          with the current page. The continuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of list
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to find blobs by tags.
+       */
+      async *findBlobsByTagsSegments(tagFilterSqlExpression, marker, options = {}) {
+        let response;
+        if (!!marker || marker === void 0) {
+          do {
+            response = await this.findBlobsByTagsSegment(tagFilterSqlExpression, marker, options);
+            response.blobs = response.blobs || [];
+            marker = response.continuationToken;
+            yield response;
+          } while (marker);
         }
       }
-    };
-    exports2.BlobSetTierExceptionHeaders = {
-      serializedName: "Blob_setTierExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetTierExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       * Returns an AsyncIterableIterator for blobs.
+       *
+       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                         The given expression must evaluate to true for a blob to be returned in the results.
+       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param options - Options to findBlobsByTagsItems.
+       */
+      async *findBlobsByTagsItems(tagFilterSqlExpression, options = {}) {
+        let marker;
+        for await (const segment of this.findBlobsByTagsSegments(tagFilterSqlExpression, marker, options)) {
+          yield* segment.blobs;
         }
       }
-    };
-    exports2.BlobGetAccountInfoHeaders = {
-      serializedName: "Blob_getAccountInfoHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobGetAccountInfoHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          skuName: {
-            serializedName: "x-ms-sku-name",
-            xmlName: "x-ms-sku-name",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "Standard_LRS",
-                "Standard_GRS",
-                "Standard_RAGRS",
-                "Standard_ZRS",
-                "Premium_LRS"
-              ]
-            }
+      /**
+       * Returns an async iterable iterator to find all blobs with specified tag
+       * under the specified container.
+       *
+       * .byPage() returns an async iterable iterator to list the blobs in pages.
+       *
+       * Example using `for await` syntax:
+       *
+       * ```ts snippet:ReadmeSampleFindBlobsByTags
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       *
+       * // Example using `for await` syntax
+       * let i = 1;
+       * for await (const blob of containerClient.findBlobsByTags("tagkey='tagvalue'")) {
+       *   console.log(`Blob ${i++}: ${blob.name}`);
+       * }
+       *
+       * // Example using `iter.next()` syntax
+       * i = 1;
+       * const iter = containerClient.findBlobsByTags("tagkey='tagvalue'");
+       * let { value, done } = await iter.next();
+       * while (!done) {
+       *   console.log(`Blob ${i++}: ${value.name}`);
+       *   ({ value, done } = await iter.next());
+       * }
+       *
+       * // Example using `byPage()` syntax
+       * i = 1;
+       * for await (const page of containerClient
+       *   .findBlobsByTags("tagkey='tagvalue'")
+       *   .byPage({ maxPageSize: 20 })) {
+       *   for (const blob of page.blobs) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       *
+       * // Example using paging with a marker
+       * i = 1;
+       * let iterator = containerClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 2 });
+       * let response = (await iterator.next()).value;
+       * // Prints 2 blob names
+       * if (response.blobs) {
+       *   for (const blob of response.blobs) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       * // Gets next marker
+       * let marker = response.continuationToken;
+       * // Passing next marker as continuationToken
+       * iterator = containerClient
+       *   .findBlobsByTags("tagkey='tagvalue'")
+       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
+       * response = (await iterator.next()).value;
+       * // Prints 10 blob names
+       * if (response.blobs) {
+       *   for (const blob of response.blobs) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       * ```
+       *
+       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                         The given expression must evaluate to true for a blob to be returned in the results.
+       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param options - Options to find blobs by tags.
+       */
+      findBlobsByTags(tagFilterSqlExpression, options = {}) {
+        const listSegmentOptions = {
+          ...options
+        };
+        const iter = this.findBlobsByTagsItems(tagFilterSqlExpression, listSegmentOptions);
+        return {
+          /**
+           * The next method, part of the iteration protocol
+           */
+          next() {
+            return iter.next();
           },
-          accountKind: {
-            serializedName: "x-ms-account-kind",
-            xmlName: "x-ms-account-kind",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "Storage",
-                "BlobStorage",
-                "StorageV2",
-                "FileStorage",
-                "BlockBlobStorage"
-              ]
-            }
+          /**
+           * The connection to the async iterator, part of the iteration protocol
+           */
+          [Symbol.asyncIterator]() {
+            return this;
           },
-          isHierarchicalNamespaceEnabled: {
-            serializedName: "x-ms-is-hns-enabled",
-            xmlName: "x-ms-is-hns-enabled",
-            type: {
-              name: "Boolean"
-            }
+          /**
+           * Return an AsyncIterableIterator that works a page at a time
+           */
+          byPage: (settings = {}) => {
+            return this.findBlobsByTagsSegments(tagFilterSqlExpression, settings.continuationToken, {
+              maxPageSize: settings.maxPageSize,
+              ...listSegmentOptions
+            });
+          }
+        };
+      }
+      /**
+       * The Get Account Information operation returns the sku name and account kind
+       * for the specified account.
+       * The Get Account Information operation is available on service versions beginning
+       * with version 2018-03-28.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information
+       *
+       * @param options - Options to the Service Get Account Info operation.
+       * @returns Response data for the Service Get Account Info operation.
+       */
+      async getAccountInfo(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-getAccountInfo", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.containerContext.getAccountInfo({
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      getContainerNameFromUrl() {
+        let containerName;
+        try {
+          const parsedUrl = new URL(this.url);
+          if (parsedUrl.hostname.split(".")[1] === "blob") {
+            containerName = parsedUrl.pathname.split("/")[1];
+          } else if ((0, utils_common_js_1.isIpEndpointStyle)(parsedUrl)) {
+            containerName = parsedUrl.pathname.split("/")[2];
+          } else {
+            containerName = parsedUrl.pathname.split("/")[1];
+          }
+          containerName = decodeURIComponent(containerName);
+          if (!containerName) {
+            throw new Error("Provided containerName is invalid.");
           }
+          return containerName;
+        } catch (error3) {
+          throw new Error("Unable to extract containerName with provided information.");
         }
       }
-    };
-    exports2.BlobGetAccountInfoExceptionHeaders = {
-      serializedName: "Blob_getAccountInfoExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobGetAccountInfoExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      /**
+       * Only available for ContainerClient constructed with a shared key credential.
+       *
+       * Generates a Blob Container Service Shared Access Signature (SAS) URI based on the client properties
+       * and parameters passed in. The SAS is signed by the shared key credential of the client.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateSasUrl(options) {
+        return new Promise((resolve2) => {
+          if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
+            throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
           }
+          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
+            containerName: this._containerName,
+            ...options
+          }, this.credential).toString();
+          resolve2((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
+        });
+      }
+      /**
+       * Only available for ContainerClient constructed with a shared key credential.
+       *
+       * Generates string to sign for a Blob Container Service Shared Access Signature (SAS) URI
+       * based on the client properties and parameters passed in. The SAS is signed by the shared key credential of the client.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/
+      generateSasStringToSign(options) {
+        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
+          throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
         }
+        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
+          containerName: this._containerName,
+          ...options
+        }, this.credential).stringToSign;
+      }
+      /**
+       * Generates a Blob Container Service Shared Access Signature (SAS) URI based on the client properties
+       * and parameters passed in. The SAS is signed by the input user delegation key.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateUserDelegationSasUrl(options, userDelegationKey) {
+        return new Promise((resolve2) => {
+          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
+            containerName: this._containerName,
+            ...options
+          }, userDelegationKey, this.accountName).toString();
+          resolve2((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
+        });
+      }
+      /**
+       * Generates string to sign for a Blob Container Service Shared Access Signature (SAS) URI
+       * based on the client properties and parameters passed in. The SAS is signed by the input user delegation key.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateUserDelegationSasStringToSign(options, userDelegationKey) {
+        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
+          containerName: this._containerName,
+          ...options
+        }, userDelegationKey, this.accountName).stringToSign;
+      }
+      /**
+       * Creates a BlobBatchClient object to conduct batch operations.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch
+       *
+       * @returns A new BlobBatchClient object for this container.
+       */
+      getBlobBatchClient() {
+        return new BlobBatchClient_js_1.BlobBatchClient(this.url, this.pipeline);
       }
     };
-    exports2.BlobQueryHeaders = {
-      serializedName: "Blob_queryHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobQueryHeaders",
-        modelProperties: {
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          metadata: {
-            serializedName: "x-ms-meta",
-            headerCollectionPrefix: "x-ms-meta-",
-            xmlName: "x-ms-meta",
-            type: {
-              name: "Dictionary",
-              value: { type: { name: "String" } }
-            }
-          },
-          contentLength: {
-            serializedName: "content-length",
-            xmlName: "content-length",
-            type: {
-              name: "Number"
-            }
-          },
-          contentType: {
-            serializedName: "content-type",
-            xmlName: "content-type",
-            type: {
-              name: "String"
-            }
-          },
-          contentRange: {
-            serializedName: "content-range",
-            xmlName: "content-range",
-            type: {
-              name: "String"
-            }
-          },
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          contentEncoding: {
-            serializedName: "content-encoding",
-            xmlName: "content-encoding",
-            type: {
-              name: "String"
-            }
-          },
-          cacheControl: {
-            serializedName: "cache-control",
-            xmlName: "cache-control",
-            type: {
-              name: "String"
-            }
-          },
-          contentDisposition: {
-            serializedName: "content-disposition",
-            xmlName: "content-disposition",
-            type: {
-              name: "String"
-            }
-          },
-          contentLanguage: {
-            serializedName: "content-language",
-            xmlName: "content-language",
-            type: {
-              name: "String"
-            }
-          },
-          blobSequenceNumber: {
-            serializedName: "x-ms-blob-sequence-number",
-            xmlName: "x-ms-blob-sequence-number",
-            type: {
-              name: "Number"
-            }
-          },
-          blobType: {
-            serializedName: "x-ms-blob-type",
-            xmlName: "x-ms-blob-type",
-            type: {
-              name: "Enum",
-              allowedValues: ["BlockBlob", "PageBlob", "AppendBlob"]
-            }
-          },
-          copyCompletionTime: {
-            serializedName: "x-ms-copy-completion-time",
-            xmlName: "x-ms-copy-completion-time",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          copyStatusDescription: {
-            serializedName: "x-ms-copy-status-description",
-            xmlName: "x-ms-copy-status-description",
-            type: {
-              name: "String"
-            }
-          },
-          copyId: {
-            serializedName: "x-ms-copy-id",
-            xmlName: "x-ms-copy-id",
-            type: {
-              name: "String"
-            }
-          },
-          copyProgress: {
-            serializedName: "x-ms-copy-progress",
-            xmlName: "x-ms-copy-progress",
-            type: {
-              name: "String"
-            }
-          },
-          copySource: {
-            serializedName: "x-ms-copy-source",
-            xmlName: "x-ms-copy-source",
-            type: {
-              name: "String"
-            }
-          },
-          copyStatus: {
-            serializedName: "x-ms-copy-status",
-            xmlName: "x-ms-copy-status",
-            type: {
-              name: "Enum",
-              allowedValues: ["pending", "success", "aborted", "failed"]
-            }
-          },
-          leaseDuration: {
-            serializedName: "x-ms-lease-duration",
-            xmlName: "x-ms-lease-duration",
-            type: {
-              name: "Enum",
-              allowedValues: ["infinite", "fixed"]
-            }
-          },
-          leaseState: {
-            serializedName: "x-ms-lease-state",
-            xmlName: "x-ms-lease-state",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "available",
-                "leased",
-                "expired",
-                "breaking",
-                "broken"
-              ]
-            }
-          },
-          leaseStatus: {
-            serializedName: "x-ms-lease-status",
-            xmlName: "x-ms-lease-status",
-            type: {
-              name: "Enum",
-              allowedValues: ["locked", "unlocked"]
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          acceptRanges: {
-            serializedName: "accept-ranges",
-            xmlName: "accept-ranges",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          blobCommittedBlockCount: {
-            serializedName: "x-ms-blob-committed-block-count",
-            xmlName: "x-ms-blob-committed-block-count",
-            type: {
-              name: "Number"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-server-encrypted",
-            xmlName: "x-ms-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          blobContentMD5: {
-            serializedName: "x-ms-blob-content-md5",
-            xmlName: "x-ms-blob-content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          contentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
+    exports2.ContainerClient = ContainerClient;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASPermissions.js
+var require_AccountSASPermissions = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASPermissions.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AccountSASPermissions = void 0;
+    var AccountSASPermissions = class _AccountSASPermissions {
+      /**
+       * Parse initializes the AccountSASPermissions fields from a string.
+       *
+       * @param permissions -
+       */
+      static parse(permissions) {
+        const accountSASPermissions = new _AccountSASPermissions();
+        for (const c of permissions) {
+          switch (c) {
+            case "r":
+              accountSASPermissions.read = true;
+              break;
+            case "w":
+              accountSASPermissions.write = true;
+              break;
+            case "d":
+              accountSASPermissions.delete = true;
+              break;
+            case "x":
+              accountSASPermissions.deleteVersion = true;
+              break;
+            case "l":
+              accountSASPermissions.list = true;
+              break;
+            case "a":
+              accountSASPermissions.add = true;
+              break;
+            case "c":
+              accountSASPermissions.create = true;
+              break;
+            case "u":
+              accountSASPermissions.update = true;
+              break;
+            case "p":
+              accountSASPermissions.process = true;
+              break;
+            case "t":
+              accountSASPermissions.tag = true;
+              break;
+            case "f":
+              accountSASPermissions.filter = true;
+              break;
+            case "i":
+              accountSASPermissions.setImmutabilityPolicy = true;
+              break;
+            case "y":
+              accountSASPermissions.permanentDelete = true;
+              break;
+            default:
+              throw new RangeError(`Invalid permission character: ${c}`);
           }
         }
+        return accountSASPermissions;
       }
-    };
-    exports2.BlobQueryExceptionHeaders = {
-      serializedName: "Blob_queryExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobQueryExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       * Creates a {@link AccountSASPermissions} from a raw object which contains same keys as it
+       * and boolean values for them.
+       *
+       * @param permissionLike -
+       */
+      static from(permissionLike) {
+        const accountSASPermissions = new _AccountSASPermissions();
+        if (permissionLike.read) {
+          accountSASPermissions.read = true;
         }
-      }
-    };
-    exports2.BlobGetTagsHeaders = {
-      serializedName: "Blob_getTagsHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobGetTagsHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+        if (permissionLike.write) {
+          accountSASPermissions.write = true;
         }
-      }
-    };
-    exports2.BlobGetTagsExceptionHeaders = {
-      serializedName: "Blob_getTagsExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobGetTagsExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+        if (permissionLike.delete) {
+          accountSASPermissions.delete = true;
         }
-      }
-    };
-    exports2.BlobSetTagsHeaders = {
-      serializedName: "Blob_setTagsHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetTagsHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+        if (permissionLike.deleteVersion) {
+          accountSASPermissions.deleteVersion = true;
         }
-      }
-    };
-    exports2.BlobSetTagsExceptionHeaders = {
-      serializedName: "Blob_setTagsExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetTagsExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+        if (permissionLike.filter) {
+          accountSASPermissions.filter = true;
         }
-      }
-    };
-    exports2.PageBlobCreateHeaders = {
-      serializedName: "PageBlob_createHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobCreateHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+        if (permissionLike.tag) {
+          accountSASPermissions.tag = true;
+        }
+        if (permissionLike.list) {
+          accountSASPermissions.list = true;
+        }
+        if (permissionLike.add) {
+          accountSASPermissions.add = true;
+        }
+        if (permissionLike.create) {
+          accountSASPermissions.create = true;
+        }
+        if (permissionLike.update) {
+          accountSASPermissions.update = true;
+        }
+        if (permissionLike.process) {
+          accountSASPermissions.process = true;
+        }
+        if (permissionLike.setImmutabilityPolicy) {
+          accountSASPermissions.setImmutabilityPolicy = true;
+        }
+        if (permissionLike.permanentDelete) {
+          accountSASPermissions.permanentDelete = true;
         }
+        return accountSASPermissions;
       }
-    };
-    exports2.PageBlobCreateExceptionHeaders = {
-      serializedName: "PageBlob_createExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobCreateExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       * Permission to read resources and list queues and tables granted.
+       */
+      read = false;
+      /**
+       * Permission to write resources granted.
+       */
+      write = false;
+      /**
+       * Permission to delete blobs and files granted.
+       */
+      delete = false;
+      /**
+       * Permission to delete versions granted.
+       */
+      deleteVersion = false;
+      /**
+       * Permission to list blob containers, blobs, shares, directories, and files granted.
+       */
+      list = false;
+      /**
+       * Permission to add messages, table entities, and append to blobs granted.
+       */
+      add = false;
+      /**
+       * Permission to create blobs and files granted.
+       */
+      create = false;
+      /**
+       * Permissions to update messages and table entities granted.
+       */
+      update = false;
+      /**
+       * Permission to get and delete messages granted.
+       */
+      process = false;
+      /**
+       * Specfies Tag access granted.
+       */
+      tag = false;
+      /**
+       * Permission to filter blobs.
+       */
+      filter = false;
+      /**
+       * Permission to set immutability policy.
+       */
+      setImmutabilityPolicy = false;
+      /**
+       * Specifies that Permanent Delete is permitted.
+       */
+      permanentDelete = false;
+      /**
+       * Produces the SAS permissions string for an Azure Storage account.
+       * Call this method to set AccountSASSignatureValues Permissions field.
+       *
+       * Using this method will guarantee the resource types are in
+       * an order accepted by the service.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas
+       *
+       */
+      toString() {
+        const permissions = [];
+        if (this.read) {
+          permissions.push("r");
+        }
+        if (this.write) {
+          permissions.push("w");
+        }
+        if (this.delete) {
+          permissions.push("d");
+        }
+        if (this.deleteVersion) {
+          permissions.push("x");
+        }
+        if (this.filter) {
+          permissions.push("f");
+        }
+        if (this.tag) {
+          permissions.push("t");
+        }
+        if (this.list) {
+          permissions.push("l");
+        }
+        if (this.add) {
+          permissions.push("a");
+        }
+        if (this.create) {
+          permissions.push("c");
+        }
+        if (this.update) {
+          permissions.push("u");
+        }
+        if (this.process) {
+          permissions.push("p");
+        }
+        if (this.setImmutabilityPolicy) {
+          permissions.push("i");
+        }
+        if (this.permanentDelete) {
+          permissions.push("y");
         }
+        return permissions.join("");
       }
     };
-    exports2.PageBlobUploadPagesHeaders = {
-      serializedName: "PageBlob_uploadPagesHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobUploadPagesHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          xMsContentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          blobSequenceNumber: {
-            serializedName: "x-ms-blob-sequence-number",
-            xmlName: "x-ms-blob-sequence-number",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+    exports2.AccountSASPermissions = AccountSASPermissions;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASResourceTypes.js
+var require_AccountSASResourceTypes = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASResourceTypes.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AccountSASResourceTypes = void 0;
+    var AccountSASResourceTypes = class _AccountSASResourceTypes {
+      /**
+       * Creates an {@link AccountSASResourceTypes} from the specified resource types string. This method will throw an
+       * Error if it encounters a character that does not correspond to a valid resource type.
+       *
+       * @param resourceTypes -
+       */
+      static parse(resourceTypes) {
+        const accountSASResourceTypes = new _AccountSASResourceTypes();
+        for (const c of resourceTypes) {
+          switch (c) {
+            case "s":
+              accountSASResourceTypes.service = true;
+              break;
+            case "c":
+              accountSASResourceTypes.container = true;
+              break;
+            case "o":
+              accountSASResourceTypes.object = true;
+              break;
+            default:
+              throw new RangeError(`Invalid resource type: ${c}`);
           }
         }
+        return accountSASResourceTypes;
       }
-    };
-    exports2.PageBlobUploadPagesExceptionHeaders = {
-      serializedName: "PageBlob_uploadPagesExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobUploadPagesExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       * Permission to access service level APIs granted.
+       */
+      service = false;
+      /**
+       * Permission to access container level APIs (Blob Containers, Tables, Queues, File Shares) granted.
+       */
+      container = false;
+      /**
+       * Permission to access object level APIs (Blobs, Table Entities, Queue Messages, Files) granted.
+       */
+      object = false;
+      /**
+       * Converts the given resource types to a string.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas
+       *
+       */
+      toString() {
+        const resourceTypes = [];
+        if (this.service) {
+          resourceTypes.push("s");
         }
-      }
-    };
-    exports2.PageBlobClearPagesHeaders = {
-      serializedName: "PageBlob_clearPagesHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobClearPagesHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          xMsContentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          blobSequenceNumber: {
-            serializedName: "x-ms-blob-sequence-number",
-            xmlName: "x-ms-blob-sequence-number",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+        if (this.container) {
+          resourceTypes.push("c");
         }
-      }
-    };
-    exports2.PageBlobClearPagesExceptionHeaders = {
-      serializedName: "PageBlob_clearPagesExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobClearPagesExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+        if (this.object) {
+          resourceTypes.push("o");
         }
+        return resourceTypes.join("");
       }
     };
-    exports2.PageBlobUploadPagesFromURLHeaders = {
-      serializedName: "PageBlob_uploadPagesFromURLHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobUploadPagesFromURLHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          xMsContentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          blobSequenceNumber: {
-            serializedName: "x-ms-blob-sequence-number",
-            xmlName: "x-ms-blob-sequence-number",
-            type: {
-              name: "Number"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+    exports2.AccountSASResourceTypes = AccountSASResourceTypes;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASServices.js
+var require_AccountSASServices = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASServices.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AccountSASServices = void 0;
+    var AccountSASServices = class _AccountSASServices {
+      /**
+       * Creates an {@link AccountSASServices} from the specified services string. This method will throw an
+       * Error if it encounters a character that does not correspond to a valid service.
+       *
+       * @param services -
+       */
+      static parse(services) {
+        const accountSASServices = new _AccountSASServices();
+        for (const c of services) {
+          switch (c) {
+            case "b":
+              accountSASServices.blob = true;
+              break;
+            case "f":
+              accountSASServices.file = true;
+              break;
+            case "q":
+              accountSASServices.queue = true;
+              break;
+            case "t":
+              accountSASServices.table = true;
+              break;
+            default:
+              throw new RangeError(`Invalid service character: ${c}`);
           }
         }
+        return accountSASServices;
       }
-    };
-    exports2.PageBlobUploadPagesFromURLExceptionHeaders = {
-      serializedName: "PageBlob_uploadPagesFromURLExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobUploadPagesFromURLExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceErrorCode: {
-            serializedName: "x-ms-copy-source-error-code",
-            xmlName: "x-ms-copy-source-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceStatusCode: {
-            serializedName: "x-ms-copy-source-status-code",
-            xmlName: "x-ms-copy-source-status-code",
-            type: {
-              name: "Number"
-            }
-          }
+      /**
+       * Permission to access blob resources granted.
+       */
+      blob = false;
+      /**
+       * Permission to access file resources granted.
+       */
+      file = false;
+      /**
+       * Permission to access queue resources granted.
+       */
+      queue = false;
+      /**
+       * Permission to access table resources granted.
+       */
+      table = false;
+      /**
+       * Converts the given services to a string.
+       *
+       */
+      toString() {
+        const services = [];
+        if (this.blob) {
+          services.push("b");
+        }
+        if (this.table) {
+          services.push("t");
+        }
+        if (this.queue) {
+          services.push("q");
+        }
+        if (this.file) {
+          services.push("f");
         }
+        return services.join("");
       }
     };
-    exports2.PageBlobGetPageRangesHeaders = {
-      serializedName: "PageBlob_getPageRangesHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobGetPageRangesHeaders",
-        modelProperties: {
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          blobContentLength: {
-            serializedName: "x-ms-blob-content-length",
-            xmlName: "x-ms-blob-content-length",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+    exports2.AccountSASServices = AccountSASServices;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASSignatureValues.js
+var require_AccountSASSignatureValues = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASSignatureValues.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.generateAccountSASQueryParameters = generateAccountSASQueryParameters;
+    exports2.generateAccountSASQueryParametersInternal = generateAccountSASQueryParametersInternal;
+    var AccountSASPermissions_js_1 = require_AccountSASPermissions();
+    var AccountSASResourceTypes_js_1 = require_AccountSASResourceTypes();
+    var AccountSASServices_js_1 = require_AccountSASServices();
+    var SasIPRange_js_1 = require_SasIPRange();
+    var SASQueryParameters_js_1 = require_SASQueryParameters();
+    var constants_js_1 = require_constants14();
+    var utils_common_js_1 = require_utils_common();
+    function generateAccountSASQueryParameters(accountSASSignatureValues, sharedKeyCredential) {
+      return generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential).sasQueryParameters;
+    }
+    function generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential) {
+      const version = accountSASSignatureValues.version ? accountSASSignatureValues.version : constants_js_1.SERVICE_VERSION;
+      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.setImmutabilityPolicy && version < "2020-08-04") {
+        throw RangeError("'version' must be >= '2020-08-04' when provided 'i' permission.");
+      }
+      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.deleteVersion && version < "2019-10-10") {
+        throw RangeError("'version' must be >= '2019-10-10' when provided 'x' permission.");
+      }
+      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.permanentDelete && version < "2019-10-10") {
+        throw RangeError("'version' must be >= '2019-10-10' when provided 'y' permission.");
+      }
+      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.tag && version < "2019-12-12") {
+        throw RangeError("'version' must be >= '2019-12-12' when provided 't' permission.");
+      }
+      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.filter && version < "2019-12-12") {
+        throw RangeError("'version' must be >= '2019-12-12' when provided 'f' permission.");
+      }
+      if (accountSASSignatureValues.encryptionScope && version < "2020-12-06") {
+        throw RangeError("'version' must be >= '2020-12-06' when provided 'encryptionScope' in SAS.");
+      }
+      const parsedPermissions = AccountSASPermissions_js_1.AccountSASPermissions.parse(accountSASSignatureValues.permissions.toString());
+      const parsedServices = AccountSASServices_js_1.AccountSASServices.parse(accountSASSignatureValues.services).toString();
+      const parsedResourceTypes = AccountSASResourceTypes_js_1.AccountSASResourceTypes.parse(accountSASSignatureValues.resourceTypes).toString();
+      let stringToSign;
+      if (version >= "2020-12-06") {
+        stringToSign = [
+          sharedKeyCredential.accountName,
+          parsedPermissions,
+          parsedServices,
+          parsedResourceTypes,
+          accountSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.startsOn, false) : "",
+          (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.expiresOn, false),
+          accountSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(accountSASSignatureValues.ipRange) : "",
+          accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : "",
+          version,
+          accountSASSignatureValues.encryptionScope ? accountSASSignatureValues.encryptionScope : "",
+          ""
+          // Account SAS requires an additional newline character
+        ].join("\n");
+      } else {
+        stringToSign = [
+          sharedKeyCredential.accountName,
+          parsedPermissions,
+          parsedServices,
+          parsedResourceTypes,
+          accountSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.startsOn, false) : "",
+          (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.expiresOn, false),
+          accountSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(accountSASSignatureValues.ipRange) : "",
+          accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : "",
+          version,
+          ""
+          // Account SAS requires an additional newline character
+        ].join("\n");
+      }
+      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(version, signature, parsedPermissions.toString(), parsedServices, parsedResourceTypes, accountSASSignatureValues.protocol, accountSASSignatureValues.startsOn, accountSASSignatureValues.expiresOn, accountSASSignatureValues.ipRange, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, accountSASSignatureValues.encryptionScope),
+        stringToSign
+      };
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BlobServiceClient.js
+var require_BlobServiceClient = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BlobServiceClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobServiceClient = void 0;
+    var core_auth_1 = require_commonjs9();
+    var core_rest_pipeline_1 = require_commonjs8();
+    var core_util_1 = require_commonjs6();
+    var Pipeline_js_1 = require_Pipeline();
+    var ContainerClient_js_1 = require_ContainerClient();
+    var utils_common_js_1 = require_utils_common();
+    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
+    var AnonymousCredential_js_1 = require_AnonymousCredential();
+    var utils_common_js_2 = require_utils_common();
+    var tracing_js_1 = require_tracing();
+    var BlobBatchClient_js_1 = require_BlobBatchClient();
+    var StorageClient_js_1 = require_StorageClient();
+    var AccountSASPermissions_js_1 = require_AccountSASPermissions();
+    var AccountSASSignatureValues_js_1 = require_AccountSASSignatureValues();
+    var AccountSASServices_js_1 = require_AccountSASServices();
+    var BlobServiceClient = class _BlobServiceClient extends StorageClient_js_1.StorageClient {
+      /**
+       * serviceContext provided by protocol layer.
+       */
+      serviceContext;
+      /**
+       *
+       * Creates an instance of BlobServiceClient from connection string.
+       *
+       * @param connectionString - Account connection string or a SAS connection string of an Azure storage account.
+       *                                  [ Note - Account connection string can only be used in NODE.JS runtime. ]
+       *                                  Account connection string example -
+       *                                  `DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=accountKey;EndpointSuffix=core.windows.net`
+       *                                  SAS connection string example -
+       *                                  `BlobEndpoint=https://myaccount.blob.core.windows.net/;QueueEndpoint=https://myaccount.queue.core.windows.net/;FileEndpoint=https://myaccount.file.core.windows.net/;TableEndpoint=https://myaccount.table.core.windows.net/;SharedAccessSignature=sasString`
+       * @param options - Optional. Options to configure the HTTP pipeline.
+       */
+      static fromConnectionString(connectionString, options) {
+        options = options || {};
+        const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(connectionString);
+        if (extractedCreds.kind === "AccountConnString") {
+          if (core_util_1.isNodeLike) {
+            const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
+            if (!options.proxyOptions) {
+              options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
             }
+            const pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+            return new _BlobServiceClient(extractedCreds.url, pipeline);
+          } else {
+            throw new Error("Account connection string is only supported in Node.js environment");
           }
+        } else if (extractedCreds.kind === "SASConnString") {
+          const pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+          return new _BlobServiceClient(extractedCreds.url + "?" + extractedCreds.accountSas, pipeline);
+        } else {
+          throw new Error("Connection string must be either an Account connection string or a SAS connection string");
         }
       }
-    };
-    exports2.PageBlobGetPageRangesExceptionHeaders = {
-      serializedName: "PageBlob_getPageRangesExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobGetPageRangesExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      constructor(url, credentialOrPipeline, options) {
+        let pipeline;
+        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipeline)) {
+          pipeline = credentialOrPipeline;
+        } else if (core_util_1.isNodeLike && credentialOrPipeline instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipeline instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipeline)) {
+          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipeline, options);
+        } else {
+          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
         }
+        super(url, pipeline);
+        this.serviceContext = this.storageClientContext.service;
       }
-    };
-    exports2.PageBlobGetPageRangesDiffHeaders = {
-      serializedName: "PageBlob_getPageRangesDiffHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobGetPageRangesDiffHeaders",
-        modelProperties: {
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          blobContentLength: {
-            serializedName: "x-ms-blob-content-length",
-            xmlName: "x-ms-blob-content-length",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       * Creates a {@link ContainerClient} object
+       *
+       * @param containerName - A container name
+       * @returns A new ContainerClient object for the given container name.
+       *
+       * Example usage:
+       *
+       * ```ts snippet:BlobServiceClientGetContainerClient
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerClient = blobServiceClient.getContainerClient("");
+       * ```
+       */
+      getContainerClient(containerName) {
+        return new ContainerClient_js_1.ContainerClient((0, utils_common_js_1.appendToURLPath)(this.url, encodeURIComponent(containerName)), this.pipeline);
+      }
+      /**
+       * Create a Blob container. @see https://learn.microsoft.com/rest/api/storageservices/create-container
+       *
+       * @param containerName - Name of the container to create.
+       * @param options - Options to configure Container Create operation.
+       * @returns Container creation response and the corresponding container client.
+       */
+      async createContainer(containerName, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-createContainer", options, async (updatedOptions) => {
+          const containerClient = this.getContainerClient(containerName);
+          const containerCreateResponse = await containerClient.create(updatedOptions);
+          return {
+            containerClient,
+            containerCreateResponse
+          };
+        });
+      }
+      /**
+       * Deletes a Blob container.
+       *
+       * @param containerName - Name of the container to delete.
+       * @param options - Options to configure Container Delete operation.
+       * @returns Container deletion response.
+       */
+      async deleteContainer(containerName, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-deleteContainer", options, async (updatedOptions) => {
+          const containerClient = this.getContainerClient(containerName);
+          return containerClient.delete(updatedOptions);
+        });
+      }
+      /**
+       * Restore a previously deleted Blob container.
+       * This API is only functional if Container Soft Delete is enabled for the storage account associated with the container.
+       *
+       * @param deletedContainerName - Name of the previously deleted container.
+       * @param deletedContainerVersion - Version of the previously deleted container, used to uniquely identify the deleted container.
+       * @param options - Options to configure Container Restore operation.
+       * @returns Container deletion response.
+       */
+      async undeleteContainer(deletedContainerName, deletedContainerVersion, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-undeleteContainer", options, async (updatedOptions) => {
+          const containerClient = this.getContainerClient(options.destinationContainerName || deletedContainerName);
+          const containerContext = containerClient["storageClientContext"].container;
+          const containerUndeleteResponse = (0, utils_common_js_2.assertResponse)(await containerContext.restore({
+            deletedContainerName,
+            deletedContainerVersion,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          return { containerClient, containerUndeleteResponse };
+        });
+      }
+      /**
+       * Gets the properties of a storage account’s Blob service, including properties
+       * for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-properties
+       *
+       * @param options - Options to the Service Get Properties operation.
+       * @returns Response data for the Service Get Properties operation.
+       */
+      async getProperties(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getProperties", options, async (updatedOptions) => {
+          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getProperties({
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Sets properties for a storage account’s Blob service endpoint, including properties
+       * for Storage Analytics, CORS (Cross-Origin Resource Sharing) rules and soft delete settings.
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-service-properties
+       *
+       * @param properties -
+       * @param options - Options to the Service Set Properties operation.
+       * @returns Response data for the Service Set Properties operation.
+       */
+      async setProperties(properties, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-setProperties", options, async (updatedOptions) => {
+          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.setProperties(properties, {
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Retrieves statistics related to replication for the Blob service. It is only
+       * available on the secondary location endpoint when read-access geo-redundant
+       * replication is enabled for the storage account.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-stats
+       *
+       * @param options - Options to the Service Get Statistics operation.
+       * @returns Response data for the Service Get Statistics operation.
+       */
+      async getStatistics(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getStatistics", options, async (updatedOptions) => {
+          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getStatistics({
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * The Get Account Information operation returns the sku name and account kind
+       * for the specified account.
+       * The Get Account Information operation is available on service versions beginning
+       * with version 2018-03-28.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information
+       *
+       * @param options - Options to the Service Get Account Info operation.
+       * @returns Response data for the Service Get Account Info operation.
+       */
+      async getAccountInfo(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getAccountInfo", options, async (updatedOptions) => {
+          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getAccountInfo({
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Returns a list of the containers under the specified account.
+       * @see https://learn.microsoft.com/rest/api/storageservices/list-containers2
+       *
+       * @param marker - A string value that identifies the portion of
+       *                        the list of containers to be returned with the next listing operation. The
+       *                        operation returns the continuationToken value within the response body if the
+       *                        listing operation did not return all containers remaining to be listed
+       *                        with the current page. The continuationToken value can be used as the value for
+       *                        the marker parameter in a subsequent call to request the next page of list
+       *                        items. The marker value is opaque to the client.
+       * @param options - Options to the Service List Container Segment operation.
+       * @returns Response data for the Service List Container Segment operation.
+       */
+      async listContainersSegment(marker, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-listContainersSegment", options, async (updatedOptions) => {
+          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.listContainersSegment({
+            abortSignal: options.abortSignal,
+            marker,
+            ...options,
+            include: typeof options.include === "string" ? [options.include] : options.include,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * The Filter Blobs operation enables callers to list blobs across all containers whose tags
+       * match a given search expression. Filter blobs searches across all containers within a
+       * storage account but can be scoped within the expression to a single container.
+       *
+       * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                        The given expression must evaluate to true for a blob to be returned in the results.
+       *                                        The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                        however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param marker - A string value that identifies the portion of
+       *                          the list of blobs to be returned with the next listing operation. The
+       *                          operation returns the continuationToken value within the response body if the
+       *                          listing operation did not return all blobs remaining to be listed
+       *                          with the current page. The continuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of list
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to find blobs by tags.
+       */
+      async findBlobsByTagsSegment(tagFilterSqlExpression, marker, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-findBlobsByTagsSegment", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_2.assertResponse)(await this.serviceContext.filterBlobs({
+            abortSignal: options.abortSignal,
+            where: tagFilterSqlExpression,
+            marker,
+            maxPageSize: options.maxPageSize,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const wrappedResponse = {
+            ...response,
+            _response: response._response,
+            // _response is made non-enumerable
+            blobs: response.blobs.map((blob) => {
+              let tagValue = "";
+              if (blob.tags?.blobTagSet.length === 1) {
+                tagValue = blob.tags.blobTagSet[0].value;
+              }
+              return { ...blob, tags: (0, utils_common_js_1.toTags)(blob.tags), tagValue };
+            })
+          };
+          return wrappedResponse;
+        });
+      }
+      /**
+       * Returns an AsyncIterableIterator for ServiceFindBlobsByTagsSegmentResponse.
+       *
+       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                         The given expression must evaluate to true for a blob to be returned in the results.
+       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param marker - A string value that identifies the portion of
+       *                          the list of blobs to be returned with the next listing operation. The
+       *                          operation returns the continuationToken value within the response body if the
+       *                          listing operation did not return all blobs remaining to be listed
+       *                          with the current page. The continuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of list
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to find blobs by tags.
+       */
+      async *findBlobsByTagsSegments(tagFilterSqlExpression, marker, options = {}) {
+        let response;
+        if (!!marker || marker === void 0) {
+          do {
+            response = await this.findBlobsByTagsSegment(tagFilterSqlExpression, marker, options);
+            response.blobs = response.blobs || [];
+            marker = response.continuationToken;
+            yield response;
+          } while (marker);
         }
       }
-    };
-    exports2.PageBlobGetPageRangesDiffExceptionHeaders = {
-      serializedName: "PageBlob_getPageRangesDiffExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobGetPageRangesDiffExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       * Returns an AsyncIterableIterator for blobs.
+       *
+       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                         The given expression must evaluate to true for a blob to be returned in the results.
+       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param options - Options to findBlobsByTagsItems.
+       */
+      async *findBlobsByTagsItems(tagFilterSqlExpression, options = {}) {
+        let marker;
+        for await (const segment of this.findBlobsByTagsSegments(tagFilterSqlExpression, marker, options)) {
+          yield* segment.blobs;
         }
       }
-    };
-    exports2.PageBlobResizeHeaders = {
-      serializedName: "PageBlob_resizeHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobResizeHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          blobSequenceNumber: {
-            serializedName: "x-ms-blob-sequence-number",
-            xmlName: "x-ms-blob-sequence-number",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
+      /**
+       * Returns an async iterable iterator to find all blobs with specified tag
+       * under the specified account.
+       *
+       * .byPage() returns an async iterable iterator to list the blobs in pages.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-properties
+       *
+       * ```ts snippet:BlobServiceClientFindBlobsByTags
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * // Use for await to iterate the blobs
+       * let i = 1;
+       * for await (const blob of blobServiceClient.findBlobsByTags("tagkey='tagvalue'")) {
+       *   console.log(`Blob ${i++}: ${blob.name}`);
+       * }
+       *
+       * // Use iter.next() to iterate the blobs
+       * i = 1;
+       * const iter = blobServiceClient.findBlobsByTags("tagkey='tagvalue'");
+       * let { value, done } = await iter.next();
+       * while (!done) {
+       *   console.log(`Blob ${i++}: ${value.name}`);
+       *   ({ value, done } = await iter.next());
+       * }
+       *
+       * // Use byPage() to iterate the blobs
+       * i = 1;
+       * for await (const page of blobServiceClient
+       *   .findBlobsByTags("tagkey='tagvalue'")
+       *   .byPage({ maxPageSize: 20 })) {
+       *   for (const blob of page.blobs) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       *
+       * // Use paging with a marker
+       * i = 1;
+       * let iterator = blobServiceClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 2 });
+       * let response = (await iterator.next()).value;
+       * // Prints 2 blob names
+       * if (response.blobs) {
+       *   for (const blob of response.blobs) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       * // Gets next marker
+       * let marker = response.continuationToken;
+       * // Passing next marker as continuationToken
+       * iterator = blobServiceClient
+       *   .findBlobsByTags("tagkey='tagvalue'")
+       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
+       * response = (await iterator.next()).value;
+       *
+       * // Prints blob names
+       * if (response.blobs) {
+       *   for (const blob of response.blobs) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       * ```
+       *
+       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                         The given expression must evaluate to true for a blob to be returned in the results.
+       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param options - Options to find blobs by tags.
+       */
+      findBlobsByTags(tagFilterSqlExpression, options = {}) {
+        const listSegmentOptions = {
+          ...options
+        };
+        const iter = this.findBlobsByTagsItems(tagFilterSqlExpression, listSegmentOptions);
+        return {
+          /**
+           * The next method, part of the iteration protocol
+           */
+          next() {
+            return iter.next();
           },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
+          /**
+           * The connection to the async iterator, part of the iteration protocol
+           */
+          [Symbol.asyncIterator]() {
+            return this;
           },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+          /**
+           * Return an AsyncIterableIterator that works a page at a time
+           */
+          byPage: (settings = {}) => {
+            return this.findBlobsByTagsSegments(tagFilterSqlExpression, settings.continuationToken, {
+              maxPageSize: settings.maxPageSize,
+              ...listSegmentOptions
+            });
           }
+        };
+      }
+      /**
+       * Returns an AsyncIterableIterator for ServiceListContainersSegmentResponses
+       *
+       * @param marker - A string value that identifies the portion of
+       *                        the list of containers to be returned with the next listing operation. The
+       *                        operation returns the continuationToken value within the response body if the
+       *                        listing operation did not return all containers remaining to be listed
+       *                        with the current page. The continuationToken value can be used as the value for
+       *                        the marker parameter in a subsequent call to request the next page of list
+       *                        items. The marker value is opaque to the client.
+       * @param options - Options to list containers operation.
+       */
+      async *listSegments(marker, options = {}) {
+        let listContainersSegmentResponse;
+        if (!!marker || marker === void 0) {
+          do {
+            listContainersSegmentResponse = await this.listContainersSegment(marker, options);
+            listContainersSegmentResponse.containerItems = listContainersSegmentResponse.containerItems || [];
+            marker = listContainersSegmentResponse.continuationToken;
+            yield await listContainersSegmentResponse;
+          } while (marker);
         }
       }
-    };
-    exports2.PageBlobResizeExceptionHeaders = {
-      serializedName: "PageBlob_resizeExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobResizeExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       * Returns an AsyncIterableIterator for Container Items
+       *
+       * @param options - Options to list containers operation.
+       */
+      async *listItems(options = {}) {
+        let marker;
+        for await (const segment of this.listSegments(marker, options)) {
+          yield* segment.containerItems;
         }
       }
-    };
-    exports2.PageBlobUpdateSequenceNumberHeaders = {
-      serializedName: "PageBlob_updateSequenceNumberHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobUpdateSequenceNumberHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          blobSequenceNumber: {
-            serializedName: "x-ms-blob-sequence-number",
-            xmlName: "x-ms-blob-sequence-number",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
+      /**
+       * Returns an async iterable iterator to list all the containers
+       * under the specified account.
+       *
+       * .byPage() returns an async iterable iterator to list the containers in pages.
+       *
+       * ```ts snippet:BlobServiceClientListContainers
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * // Use for await to iterate the containers
+       * let i = 1;
+       * for await (const container of blobServiceClient.listContainers()) {
+       *   console.log(`Container ${i++}: ${container.name}`);
+       * }
+       *
+       * // Use iter.next() to iterate the containers
+       * i = 1;
+       * const iter = blobServiceClient.listContainers();
+       * let { value, done } = await iter.next();
+       * while (!done) {
+       *   console.log(`Container ${i++}: ${value.name}`);
+       *   ({ value, done } = await iter.next());
+       * }
+       *
+       * // Use byPage() to iterate the containers
+       * i = 1;
+       * for await (const page of blobServiceClient.listContainers().byPage({ maxPageSize: 20 })) {
+       *   for (const container of page.containerItems) {
+       *     console.log(`Container ${i++}: ${container.name}`);
+       *   }
+       * }
+       *
+       * // Use paging with a marker
+       * i = 1;
+       * let iterator = blobServiceClient.listContainers().byPage({ maxPageSize: 2 });
+       * let response = (await iterator.next()).value;
+       *
+       * // Prints 2 container names
+       * if (response.containerItems) {
+       *   for (const container of response.containerItems) {
+       *     console.log(`Container ${i++}: ${container.name}`);
+       *   }
+       * }
+       *
+       * // Gets next marker
+       * let marker = response.continuationToken;
+       * // Passing next marker as continuationToken
+       * iterator = blobServiceClient
+       *   .listContainers()
+       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
+       * response = (await iterator.next()).value;
+       *
+       * // Prints 10 container names
+       * if (response.containerItems) {
+       *   for (const container of response.containerItems) {
+       *     console.log(`Container ${i++}: ${container.name}`);
+       *   }
+       * }
+       * ```
+       *
+       * @param options - Options to list containers.
+       * @returns An asyncIterableIterator that supports paging.
+       */
+      listContainers(options = {}) {
+        if (options.prefix === "") {
+          options.prefix = void 0;
+        }
+        const include = [];
+        if (options.includeDeleted) {
+          include.push("deleted");
+        }
+        if (options.includeMetadata) {
+          include.push("metadata");
+        }
+        if (options.includeSystem) {
+          include.push("system");
+        }
+        const listSegmentOptions = {
+          ...options,
+          ...include.length > 0 ? { include } : {}
+        };
+        const iter = this.listItems(listSegmentOptions);
+        return {
+          /**
+           * The next method, part of the iteration protocol
+           */
+          next() {
+            return iter.next();
           },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
+          /**
+           * The connection to the async iterator, part of the iteration protocol
+           */
+          [Symbol.asyncIterator]() {
+            return this;
           },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+          /**
+           * Return an AsyncIterableIterator that works a page at a time
+           */
+          byPage: (settings = {}) => {
+            return this.listSegments(settings.continuationToken, {
+              maxPageSize: settings.maxPageSize,
+              ...listSegmentOptions
+            });
           }
+        };
+      }
+      /**
+       * ONLY AVAILABLE WHEN USING BEARER TOKEN AUTHENTICATION (TokenCredential).
+       *
+       * Retrieves a user delegation key for the Blob service. This is only a valid operation when using
+       * bearer token authentication.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-user-delegation-key
+       *
+       * @param startsOn -      The start time for the user delegation SAS. Must be within 7 days of the current time
+       * @param expiresOn -     The end time for the user delegation SAS. Must be within 7 days of the current time
+       */
+      async getUserDelegationKey(startsOn, expiresOn, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getUserDelegationKey", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_2.assertResponse)(await this.serviceContext.getUserDelegationKey({
+            startsOn: (0, utils_common_js_2.truncatedISO8061Date)(startsOn, false),
+            expiresOn: (0, utils_common_js_2.truncatedISO8061Date)(expiresOn, false)
+          }, {
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const userDelegationKey = {
+            signedObjectId: response.signedObjectId,
+            signedTenantId: response.signedTenantId,
+            signedStartsOn: new Date(response.signedStartsOn),
+            signedExpiresOn: new Date(response.signedExpiresOn),
+            signedService: response.signedService,
+            signedVersion: response.signedVersion,
+            value: response.value
+          };
+          const res = {
+            _response: response._response,
+            requestId: response.requestId,
+            clientRequestId: response.clientRequestId,
+            version: response.version,
+            date: response.date,
+            errorCode: response.errorCode,
+            ...userDelegationKey
+          };
+          return res;
+        });
+      }
+      /**
+       * Creates a BlobBatchClient object to conduct batch operations.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch
+       *
+       * @returns A new BlobBatchClient object for this service.
+       */
+      getBlobBatchClient() {
+        return new BlobBatchClient_js_1.BlobBatchClient(this.url, this.pipeline);
+      }
+      /**
+       * Only available for BlobServiceClient constructed with a shared key credential.
+       *
+       * Generates a Blob account Shared Access Signature (SAS) URI based on the client properties
+       * and parameters passed in. The SAS is signed by the shared key credential of the client.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/create-account-sas
+       *
+       * @param expiresOn - Optional. The time at which the shared access signature becomes invalid. Default to an hour later if not provided.
+       * @param permissions - Specifies the list of permissions to be associated with the SAS.
+       * @param resourceTypes - Specifies the resource types associated with the shared access signature.
+       * @param options - Optional parameters.
+       * @returns An account SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateAccountSasUrl(expiresOn, permissions = AccountSASPermissions_js_1.AccountSASPermissions.parse("r"), resourceTypes = "sco", options = {}) {
+        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
+          throw RangeError("Can only generate the account SAS when the client is initialized with a shared key credential");
+        }
+        if (expiresOn === void 0) {
+          const now = /* @__PURE__ */ new Date();
+          expiresOn = new Date(now.getTime() + 3600 * 1e3);
         }
+        const sas = (0, AccountSASSignatureValues_js_1.generateAccountSASQueryParameters)({
+          permissions,
+          expiresOn,
+          resourceTypes,
+          services: AccountSASServices_js_1.AccountSASServices.parse("b").toString(),
+          ...options
+        }, this.credential).toString();
+        return (0, utils_common_js_1.appendToURLQuery)(this.url, sas);
       }
-    };
-    exports2.PageBlobUpdateSequenceNumberExceptionHeaders = {
-      serializedName: "PageBlob_updateSequenceNumberExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobUpdateSequenceNumberExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       * Only available for BlobServiceClient constructed with a shared key credential.
+       *
+       * Generates string to sign for a Blob account Shared Access Signature (SAS) URI based on
+       * the client properties and parameters passed in. The SAS is signed by the shared key credential of the client.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/create-account-sas
+       *
+       * @param expiresOn - Optional. The time at which the shared access signature becomes invalid. Default to an hour later if not provided.
+       * @param permissions - Specifies the list of permissions to be associated with the SAS.
+       * @param resourceTypes - Specifies the resource types associated with the shared access signature.
+       * @param options - Optional parameters.
+       * @returns An account SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateSasStringToSign(expiresOn, permissions = AccountSASPermissions_js_1.AccountSASPermissions.parse("r"), resourceTypes = "sco", options = {}) {
+        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
+          throw RangeError("Can only generate the account SAS when the client is initialized with a shared key credential");
+        }
+        if (expiresOn === void 0) {
+          const now = /* @__PURE__ */ new Date();
+          expiresOn = new Date(now.getTime() + 3600 * 1e3);
         }
+        return (0, AccountSASSignatureValues_js_1.generateAccountSASQueryParametersInternal)({
+          permissions,
+          expiresOn,
+          resourceTypes,
+          services: AccountSASServices_js_1.AccountSASServices.parse("b").toString(),
+          ...options
+        }, this.credential).stringToSign;
       }
     };
-    exports2.PageBlobCopyIncrementalHeaders = {
-      serializedName: "PageBlob_copyIncrementalHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobCopyIncrementalHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          copyId: {
-            serializedName: "x-ms-copy-id",
-            xmlName: "x-ms-copy-id",
-            type: {
-              name: "String"
-            }
-          },
-          copyStatus: {
-            serializedName: "x-ms-copy-status",
-            xmlName: "x-ms-copy-status",
-            type: {
-              name: "Enum",
-              allowedValues: ["pending", "success", "aborted", "failed"]
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+    exports2.BlobServiceClient = BlobServiceClient;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BatchResponse.js
+var require_BatchResponse = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BatchResponse.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generatedModels.js
+var require_generatedModels = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generatedModels.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.KnownEncryptionAlgorithmType = void 0;
+    var KnownEncryptionAlgorithmType;
+    (function(KnownEncryptionAlgorithmType2) {
+      KnownEncryptionAlgorithmType2["AES256"] = "AES256";
+    })(KnownEncryptionAlgorithmType || (exports2.KnownEncryptionAlgorithmType = KnownEncryptionAlgorithmType = {}));
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/index.js
+var require_commonjs17 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.logger = exports2.RestError = exports2.BaseRequestPolicy = exports2.StorageOAuthScopes = exports2.newPipeline = exports2.isPipelineLike = exports2.Pipeline = exports2.getBlobServiceAccountAudience = exports2.StorageBlobAudience = exports2.PremiumPageBlobTier = exports2.BlockBlobTier = exports2.generateBlobSASQueryParameters = exports2.generateAccountSASQueryParameters = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var core_rest_pipeline_1 = require_commonjs8();
+    Object.defineProperty(exports2, "RestError", { enumerable: true, get: function() {
+      return core_rest_pipeline_1.RestError;
+    } });
+    tslib_1.__exportStar(require_BlobServiceClient(), exports2);
+    tslib_1.__exportStar(require_Clients(), exports2);
+    tslib_1.__exportStar(require_ContainerClient(), exports2);
+    tslib_1.__exportStar(require_BlobLeaseClient(), exports2);
+    tslib_1.__exportStar(require_AccountSASPermissions(), exports2);
+    tslib_1.__exportStar(require_AccountSASResourceTypes(), exports2);
+    tslib_1.__exportStar(require_AccountSASServices(), exports2);
+    var AccountSASSignatureValues_js_1 = require_AccountSASSignatureValues();
+    Object.defineProperty(exports2, "generateAccountSASQueryParameters", { enumerable: true, get: function() {
+      return AccountSASSignatureValues_js_1.generateAccountSASQueryParameters;
+    } });
+    tslib_1.__exportStar(require_BlobBatch(), exports2);
+    tslib_1.__exportStar(require_BlobBatchClient(), exports2);
+    tslib_1.__exportStar(require_BatchResponse(), exports2);
+    tslib_1.__exportStar(require_BlobSASPermissions(), exports2);
+    var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues();
+    Object.defineProperty(exports2, "generateBlobSASQueryParameters", { enumerable: true, get: function() {
+      return BlobSASSignatureValues_js_1.generateBlobSASQueryParameters;
+    } });
+    tslib_1.__exportStar(require_StorageBrowserPolicyFactory2(), exports2);
+    tslib_1.__exportStar(require_ContainerSASPermissions(), exports2);
+    tslib_1.__exportStar(require_AnonymousCredential(), exports2);
+    tslib_1.__exportStar(require_Credential(), exports2);
+    tslib_1.__exportStar(require_StorageSharedKeyCredential(), exports2);
+    var models_js_1 = require_models2();
+    Object.defineProperty(exports2, "BlockBlobTier", { enumerable: true, get: function() {
+      return models_js_1.BlockBlobTier;
+    } });
+    Object.defineProperty(exports2, "PremiumPageBlobTier", { enumerable: true, get: function() {
+      return models_js_1.PremiumPageBlobTier;
+    } });
+    Object.defineProperty(exports2, "StorageBlobAudience", { enumerable: true, get: function() {
+      return models_js_1.StorageBlobAudience;
+    } });
+    Object.defineProperty(exports2, "getBlobServiceAccountAudience", { enumerable: true, get: function() {
+      return models_js_1.getBlobServiceAccountAudience;
+    } });
+    var Pipeline_js_1 = require_Pipeline();
+    Object.defineProperty(exports2, "Pipeline", { enumerable: true, get: function() {
+      return Pipeline_js_1.Pipeline;
+    } });
+    Object.defineProperty(exports2, "isPipelineLike", { enumerable: true, get: function() {
+      return Pipeline_js_1.isPipelineLike;
+    } });
+    Object.defineProperty(exports2, "newPipeline", { enumerable: true, get: function() {
+      return Pipeline_js_1.newPipeline;
+    } });
+    Object.defineProperty(exports2, "StorageOAuthScopes", { enumerable: true, get: function() {
+      return Pipeline_js_1.StorageOAuthScopes;
+    } });
+    tslib_1.__exportStar(require_StorageRetryPolicyFactory(), exports2);
+    var RequestPolicy_js_1 = require_RequestPolicy();
+    Object.defineProperty(exports2, "BaseRequestPolicy", { enumerable: true, get: function() {
+      return RequestPolicy_js_1.BaseRequestPolicy;
+    } });
+    tslib_1.__exportStar(require_AnonymousCredentialPolicy(), exports2);
+    tslib_1.__exportStar(require_CredentialPolicy(), exports2);
+    tslib_1.__exportStar(require_StorageRetryPolicyFactory(), exports2);
+    tslib_1.__exportStar(require_StorageSharedKeyCredentialPolicy(), exports2);
+    tslib_1.__exportStar(require_SASQueryParameters(), exports2);
+    tslib_1.__exportStar(require_generatedModels(), exports2);
+    var log_js_1 = require_log5();
+    Object.defineProperty(exports2, "logger", { enumerable: true, get: function() {
+      return log_js_1.logger;
+    } });
+  }
+});
+
+// node_modules/@actions/artifact/lib/internal/upload/blob-upload.js
+var require_blob_upload = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/upload/blob-upload.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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];
+        } };
       }
-    };
-    exports2.PageBlobCopyIncrementalExceptionHeaders = {
-      serializedName: "PageBlob_copyIncrementalExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobCopyIncrementalExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
       }
+      __setModuleDefault2(result, mod);
+      return result;
     };
-    exports2.AppendBlobCreateHeaders = {
-      serializedName: "AppendBlob_createHeaders",
-      type: {
-        name: "Composite",
-        className: "AppendBlobCreateHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve2) {
+          resolve2(value);
+        });
       }
-    };
-    exports2.AppendBlobCreateExceptionHeaders = {
-      serializedName: "AppendBlob_createExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "AppendBlobCreateExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      return new (P || (P = Promise))(function(resolve2, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
           }
         }
-      }
-    };
-    exports2.AppendBlobAppendBlockHeaders = {
-      serializedName: "AppendBlob_appendBlockHeaders",
-      type: {
-        name: "Composite",
-        className: "AppendBlobAppendBlockHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          xMsContentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          blobAppendOffset: {
-            serializedName: "x-ms-blob-append-offset",
-            xmlName: "x-ms-blob-append-offset",
-            type: {
-              name: "String"
-            }
-          },
-          blobCommittedBlockCount: {
-            serializedName: "x-ms-blob-committed-block-count",
-            xmlName: "x-ms-blob-committed-block-count",
-            type: {
-              name: "Number"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
           }
         }
-      }
+        function step(result) {
+          result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
     };
-    exports2.AppendBlobAppendBlockExceptionHeaders = {
-      serializedName: "AppendBlob_appendBlockExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "AppendBlobAppendBlockExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.uploadZipToBlobStorage = void 0;
+    var storage_blob_1 = require_commonjs17();
+    var config_1 = require_config();
+    var core14 = __importStar2(require_core());
+    var crypto2 = __importStar2(require("crypto"));
+    var stream = __importStar2(require("stream"));
+    var errors_1 = require_errors3();
+    function uploadZipToBlobStorage(authenticatedUploadURL, zipUploadStream) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        let uploadByteCount = 0;
+        let lastProgressTime = Date.now();
+        const abortController = new AbortController();
+        const chunkTimer = (interval) => __awaiter2(this, void 0, void 0, function* () {
+          return new Promise((resolve2, reject) => {
+            const timer = setInterval(() => {
+              if (Date.now() - lastProgressTime > interval) {
+                reject(new Error("Upload progress stalled."));
+              }
+            }, interval);
+            abortController.signal.addEventListener("abort", () => {
+              clearInterval(timer);
+              resolve2();
+            });
+          });
+        });
+        const maxConcurrency = (0, config_1.getConcurrency)();
+        const bufferSize = (0, config_1.getUploadChunkSize)();
+        const blobClient = new storage_blob_1.BlobClient(authenticatedUploadURL);
+        const blockBlobClient = blobClient.getBlockBlobClient();
+        core14.debug(`Uploading artifact zip to blob storage with maxConcurrency: ${maxConcurrency}, bufferSize: ${bufferSize}`);
+        const uploadCallback = (progress) => {
+          core14.info(`Uploaded bytes ${progress.loadedBytes}`);
+          uploadByteCount = progress.loadedBytes;
+          lastProgressTime = Date.now();
+        };
+        const options = {
+          blobHTTPHeaders: { blobContentType: "zip" },
+          onProgress: uploadCallback,
+          abortSignal: abortController.signal
+        };
+        let sha256Hash = void 0;
+        const uploadStream = new stream.PassThrough();
+        const hashStream = crypto2.createHash("sha256");
+        zipUploadStream.pipe(uploadStream);
+        zipUploadStream.pipe(hashStream).setEncoding("hex");
+        core14.info("Beginning upload of artifact content to blob storage");
+        try {
+          yield Promise.race([
+            blockBlobClient.uploadStream(uploadStream, bufferSize, maxConcurrency, options),
+            chunkTimer((0, config_1.getUploadChunkTimeout)())
+          ]);
+        } catch (error3) {
+          if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) {
+            throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code);
           }
+          throw error3;
+        } finally {
+          abortController.abort();
         }
-      }
-    };
-    exports2.AppendBlobAppendBlockFromUrlHeaders = {
-      serializedName: "AppendBlob_appendBlockFromUrlHeaders",
-      type: {
-        name: "Composite",
-        className: "AppendBlobAppendBlockFromUrlHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          xMsContentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          blobAppendOffset: {
-            serializedName: "x-ms-blob-append-offset",
-            xmlName: "x-ms-blob-append-offset",
-            type: {
-              name: "String"
-            }
-          },
-          blobCommittedBlockCount: {
-            serializedName: "x-ms-blob-committed-block-count",
-            xmlName: "x-ms-blob-committed-block-count",
-            type: {
-              name: "Number"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+        core14.info("Finished uploading artifact content to blob storage!");
+        hashStream.end();
+        sha256Hash = hashStream.read();
+        core14.info(`SHA256 digest of uploaded artifact zip is ${sha256Hash}`);
+        if (uploadByteCount === 0) {
+          core14.warning(`No data was uploaded to blob storage. Reported upload byte count is 0.`);
+        }
+        return {
+          uploadSize: uploadByteCount,
+          sha256Hash
+        };
+      });
+    }
+    exports2.uploadZipToBlobStorage = uploadZipToBlobStorage;
+  }
+});
+
+// node_modules/readdir-glob/node_modules/minimatch/lib/path.js
+var require_path = __commonJS({
+  "node_modules/readdir-glob/node_modules/minimatch/lib/path.js"(exports2, module2) {
+    var isWindows = typeof process === "object" && process && process.platform === "win32";
+    module2.exports = isWindows ? { sep: "\\" } : { sep: "/" };
+  }
+});
+
+// node_modules/balanced-match/index.js
+var require_balanced_match = __commonJS({
+  "node_modules/balanced-match/index.js"(exports2, module2) {
+    "use strict";
+    module2.exports = balanced;
+    function balanced(a, b, str2) {
+      if (a instanceof RegExp) a = maybeMatch(a, str2);
+      if (b instanceof RegExp) b = maybeMatch(b, str2);
+      var r = range(a, b, str2);
+      return r && {
+        start: r[0],
+        end: r[1],
+        pre: str2.slice(0, r[0]),
+        body: str2.slice(r[0] + a.length, r[1]),
+        post: str2.slice(r[1] + b.length)
+      };
+    }
+    function maybeMatch(reg, str2) {
+      var m = str2.match(reg);
+      return m ? m[0] : null;
+    }
+    balanced.range = range;
+    function range(a, b, str2) {
+      var begs, beg, left, right, result;
+      var ai = str2.indexOf(a);
+      var bi = str2.indexOf(b, ai + 1);
+      var i = ai;
+      if (ai >= 0 && bi > 0) {
+        begs = [];
+        left = str2.length;
+        while (i >= 0 && !result) {
+          if (i == ai) {
+            begs.push(i);
+            ai = str2.indexOf(a, i + 1);
+          } else if (begs.length == 1) {
+            result = [begs.pop(), bi];
+          } else {
+            beg = begs.pop();
+            if (beg < left) {
+              left = beg;
+              right = bi;
             }
+            bi = str2.indexOf(b, i + 1);
           }
+          i = ai < bi && ai >= 0 ? ai : bi;
+        }
+        if (begs.length) {
+          result = [left, right];
         }
       }
-    };
-    exports2.AppendBlobAppendBlockFromUrlExceptionHeaders = {
-      serializedName: "AppendBlob_appendBlockFromUrlExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "AppendBlobAppendBlockFromUrlExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceErrorCode: {
-            serializedName: "x-ms-copy-source-error-code",
-            xmlName: "x-ms-copy-source-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceStatusCode: {
-            serializedName: "x-ms-copy-source-status-code",
-            xmlName: "x-ms-copy-source-status-code",
-            type: {
-              name: "Number"
-            }
+      return result;
+    }
+  }
+});
+
+// node_modules/readdir-glob/node_modules/brace-expansion/index.js
+var require_brace_expansion = __commonJS({
+  "node_modules/readdir-glob/node_modules/brace-expansion/index.js"(exports2, module2) {
+    var balanced = require_balanced_match();
+    module2.exports = expandTop;
+    var escSlash = "\0SLASH" + Math.random() + "\0";
+    var escOpen = "\0OPEN" + Math.random() + "\0";
+    var escClose = "\0CLOSE" + Math.random() + "\0";
+    var escComma = "\0COMMA" + Math.random() + "\0";
+    var escPeriod = "\0PERIOD" + Math.random() + "\0";
+    function numeric(str2) {
+      return parseInt(str2, 10) == str2 ? parseInt(str2, 10) : str2.charCodeAt(0);
+    }
+    function escapeBraces(str2) {
+      return str2.split("\\\\").join(escSlash).split("\\{").join(escOpen).split("\\}").join(escClose).split("\\,").join(escComma).split("\\.").join(escPeriod);
+    }
+    function unescapeBraces(str2) {
+      return str2.split(escSlash).join("\\").split(escOpen).join("{").split(escClose).join("}").split(escComma).join(",").split(escPeriod).join(".");
+    }
+    function parseCommaParts(str2) {
+      if (!str2)
+        return [""];
+      var parts = [];
+      var m = balanced("{", "}", str2);
+      if (!m)
+        return str2.split(",");
+      var pre = m.pre;
+      var body = m.body;
+      var post = m.post;
+      var p = pre.split(",");
+      p[p.length - 1] += "{" + body + "}";
+      var postParts = parseCommaParts(post);
+      if (post.length) {
+        p[p.length - 1] += postParts.shift();
+        p.push.apply(p, postParts);
+      }
+      parts.push.apply(parts, p);
+      return parts;
+    }
+    function expandTop(str2) {
+      if (!str2)
+        return [];
+      if (str2.substr(0, 2) === "{}") {
+        str2 = "\\{\\}" + str2.substr(2);
+      }
+      return expand2(escapeBraces(str2), true).map(unescapeBraces);
+    }
+    function embrace(str2) {
+      return "{" + str2 + "}";
+    }
+    function isPadded(el) {
+      return /^-?0\d/.test(el);
+    }
+    function lte(i, y) {
+      return i <= y;
+    }
+    function gte6(i, y) {
+      return i >= y;
+    }
+    function expand2(str2, isTop) {
+      var expansions = [];
+      var m = balanced("{", "}", str2);
+      if (!m) return [str2];
+      var pre = m.pre;
+      var post = m.post.length ? expand2(m.post, false) : [""];
+      if (/\$$/.test(m.pre)) {
+        for (var k = 0; k < post.length; k++) {
+          var expansion = pre + "{" + m.body + "}" + post[k];
+          expansions.push(expansion);
+        }
+      } else {
+        var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
+        var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
+        var isSequence = isNumericSequence || isAlphaSequence;
+        var isOptions = m.body.indexOf(",") >= 0;
+        if (!isSequence && !isOptions) {
+          if (m.post.match(/,(?!,).*\}/)) {
+            str2 = m.pre + "{" + m.body + escClose + m.post;
+            return expand2(str2);
           }
+          return [str2];
         }
-      }
-    };
-    exports2.AppendBlobSealHeaders = {
-      serializedName: "AppendBlob_sealHeaders",
-      type: {
-        name: "Composite",
-        className: "AppendBlobSealHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isSealed: {
-            serializedName: "x-ms-blob-sealed",
-            xmlName: "x-ms-blob-sealed",
-            type: {
-              name: "Boolean"
+        var n;
+        if (isSequence) {
+          n = m.body.split(/\.\./);
+        } else {
+          n = parseCommaParts(m.body);
+          if (n.length === 1) {
+            n = expand2(n[0], false).map(embrace);
+            if (n.length === 1) {
+              return post.map(function(p) {
+                return m.pre + n[0] + p;
+              });
             }
           }
         }
-      }
-    };
-    exports2.AppendBlobSealExceptionHeaders = {
-      serializedName: "AppendBlob_sealExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "AppendBlobSealExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+        var N;
+        if (isSequence) {
+          var x = numeric(n[0]);
+          var y = numeric(n[1]);
+          var width = Math.max(n[0].length, n[1].length);
+          var incr = n.length == 3 ? Math.abs(numeric(n[2])) : 1;
+          var test = lte;
+          var reverse = y < x;
+          if (reverse) {
+            incr *= -1;
+            test = gte6;
+          }
+          var pad = n.some(isPadded);
+          N = [];
+          for (var i = x; test(i, y); i += incr) {
+            var c;
+            if (isAlphaSequence) {
+              c = String.fromCharCode(i);
+              if (c === "\\")
+                c = "";
+            } else {
+              c = String(i);
+              if (pad) {
+                var need = width - c.length;
+                if (need > 0) {
+                  var z = new Array(need + 1).join("0");
+                  if (i < 0)
+                    c = "-" + z + c.slice(1);
+                  else
+                    c = z + c;
+                }
+              }
             }
+            N.push(c);
+          }
+        } else {
+          N = [];
+          for (var j = 0; j < n.length; j++) {
+            N.push.apply(N, expand2(n[j], false));
           }
         }
-      }
-    };
-    exports2.BlockBlobUploadHeaders = {
-      serializedName: "BlockBlob_uploadHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobUploadHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+        for (var j = 0; j < N.length; j++) {
+          for (var k = 0; k < post.length; k++) {
+            var expansion = pre + N[j] + post[k];
+            if (!isTop || isSequence || expansion)
+              expansions.push(expansion);
           }
         }
       }
+      return expansions;
+    }
+  }
+});
+
+// node_modules/readdir-glob/node_modules/minimatch/minimatch.js
+var require_minimatch = __commonJS({
+  "node_modules/readdir-glob/node_modules/minimatch/minimatch.js"(exports2, module2) {
+    var minimatch = module2.exports = (p, pattern, options = {}) => {
+      assertValidPattern(pattern);
+      if (!options.nocomment && pattern.charAt(0) === "#") {
+        return false;
+      }
+      return new Minimatch(pattern, options).match(p);
     };
-    exports2.BlockBlobUploadExceptionHeaders = {
-      serializedName: "BlockBlob_uploadExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobUploadExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+    module2.exports = minimatch;
+    var path3 = require_path();
+    minimatch.sep = path3.sep;
+    var GLOBSTAR = /* @__PURE__ */ Symbol("globstar **");
+    minimatch.GLOBSTAR = GLOBSTAR;
+    var expand2 = require_brace_expansion();
+    var plTypes = {
+      "!": { open: "(?:(?!(?:", close: "))[^/]*?)" },
+      "?": { open: "(?:", close: ")?" },
+      "+": { open: "(?:", close: ")+" },
+      "*": { open: "(?:", close: ")*" },
+      "@": { open: "(?:", close: ")" }
+    };
+    var qmark = "[^/]";
+    var star = qmark + "*?";
+    var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
+    var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
+    var charSet = (s) => s.split("").reduce((set2, c) => {
+      set2[c] = true;
+      return set2;
+    }, {});
+    var reSpecials = charSet("().*{}+?[]^$\\!");
+    var addPatternStartSet = charSet("[.(");
+    var slashSplit = /\/+/;
+    minimatch.filter = (pattern, options = {}) => (p, i, list) => minimatch(p, pattern, options);
+    var ext = (a, b = {}) => {
+      const t = {};
+      Object.keys(a).forEach((k) => t[k] = a[k]);
+      Object.keys(b).forEach((k) => t[k] = b[k]);
+      return t;
+    };
+    minimatch.defaults = (def) => {
+      if (!def || typeof def !== "object" || !Object.keys(def).length) {
+        return minimatch;
+      }
+      const orig = minimatch;
+      const m = (p, pattern, options) => orig(p, pattern, ext(def, options));
+      m.Minimatch = class Minimatch extends orig.Minimatch {
+        constructor(pattern, options) {
+          super(pattern, ext(def, options));
         }
+      };
+      m.Minimatch.defaults = (options) => orig.defaults(ext(def, options)).Minimatch;
+      m.filter = (pattern, options) => orig.filter(pattern, ext(def, options));
+      m.defaults = (options) => orig.defaults(ext(def, options));
+      m.makeRe = (pattern, options) => orig.makeRe(pattern, ext(def, options));
+      m.braceExpand = (pattern, options) => orig.braceExpand(pattern, ext(def, options));
+      m.match = (list, pattern, options) => orig.match(list, pattern, ext(def, options));
+      return m;
+    };
+    minimatch.braceExpand = (pattern, options) => braceExpand(pattern, options);
+    var braceExpand = (pattern, options = {}) => {
+      assertValidPattern(pattern);
+      if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
+        return [pattern];
       }
+      return expand2(pattern);
     };
-    exports2.BlockBlobPutBlobFromUrlHeaders = {
-      serializedName: "BlockBlob_putBlobFromUrlHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobPutBlobFromUrlHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+    var MAX_PATTERN_LENGTH = 1024 * 64;
+    var assertValidPattern = (pattern) => {
+      if (typeof pattern !== "string") {
+        throw new TypeError("invalid pattern");
+      }
+      if (pattern.length > MAX_PATTERN_LENGTH) {
+        throw new TypeError("pattern is too long");
       }
     };
-    exports2.BlockBlobPutBlobFromUrlExceptionHeaders = {
-      serializedName: "BlockBlob_putBlobFromUrlExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobPutBlobFromUrlExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceErrorCode: {
-            serializedName: "x-ms-copy-source-error-code",
-            xmlName: "x-ms-copy-source-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceStatusCode: {
-            serializedName: "x-ms-copy-source-status-code",
-            xmlName: "x-ms-copy-source-status-code",
-            type: {
-              name: "Number"
-            }
-          }
-        }
+    var SUBPARSE = /* @__PURE__ */ Symbol("subparse");
+    minimatch.makeRe = (pattern, options) => new Minimatch(pattern, options || {}).makeRe();
+    minimatch.match = (list, pattern, options = {}) => {
+      const mm = new Minimatch(pattern, options);
+      list = list.filter((f) => mm.match(f));
+      if (mm.options.nonull && !list.length) {
+        list.push(pattern);
       }
+      return list;
     };
-    exports2.BlockBlobStageBlockHeaders = {
-      serializedName: "BlockBlob_stageBlockHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobStageBlockHeaders",
-        modelProperties: {
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          xMsContentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
+    var globUnescape = (s) => s.replace(/\\(.)/g, "$1");
+    var charUnescape = (s) => s.replace(/\\([^-\]])/g, "$1");
+    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
+    var braExpEscape = (s) => s.replace(/[[\]\\]/g, "\\$&");
+    var Minimatch = class {
+      constructor(pattern, options) {
+        assertValidPattern(pattern);
+        if (!options) options = {};
+        this.options = options;
+        this.set = [];
+        this.pattern = pattern;
+        this.windowsPathsNoEscape = !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;
+        if (this.windowsPathsNoEscape) {
+          this.pattern = this.pattern.replace(/\\/g, "/");
+        }
+        this.regexp = null;
+        this.negate = false;
+        this.comment = false;
+        this.empty = false;
+        this.partial = !!options.partial;
+        this.make();
+      }
+      debug() {
+      }
+      make() {
+        const pattern = this.pattern;
+        const options = this.options;
+        if (!options.nocomment && pattern.charAt(0) === "#") {
+          this.comment = true;
+          return;
+        }
+        if (!pattern) {
+          this.empty = true;
+          return;
+        }
+        this.parseNegate();
+        let set2 = this.globSet = this.braceExpand();
+        if (options.debug) this.debug = (...args) => console.error(...args);
+        this.debug(this.pattern, set2);
+        set2 = this.globParts = set2.map((s) => s.split(slashSplit));
+        this.debug(this.pattern, set2);
+        set2 = set2.map((s, si, set3) => s.map(this.parse, this));
+        this.debug(this.pattern, set2);
+        set2 = set2.filter((s) => s.indexOf(false) === -1);
+        this.debug(this.pattern, set2);
+        this.set = set2;
+      }
+      parseNegate() {
+        if (this.options.nonegate) return;
+        const pattern = this.pattern;
+        let negate = false;
+        let negateOffset = 0;
+        for (let i = 0; i < pattern.length && pattern.charAt(i) === "!"; i++) {
+          negate = !negate;
+          negateOffset++;
+        }
+        if (negateOffset) this.pattern = pattern.slice(negateOffset);
+        this.negate = negate;
+      }
+      // set partial to true to test if, for example,
+      // "/a/b" matches the start of "/*/b/*/d"
+      // Partial means, if you run out of file before you run
+      // out of pattern, then that's fine, as long as all
+      // the parts match.
+      matchOne(file, pattern, partial) {
+        var options = this.options;
+        this.debug(
+          "matchOne",
+          { "this": this, file, pattern }
+        );
+        this.debug("matchOne", file.length, pattern.length);
+        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
+          this.debug("matchOne loop");
+          var p = pattern[pi];
+          var f = file[fi];
+          this.debug(pattern, p, f);
+          if (p === false) return false;
+          if (p === GLOBSTAR) {
+            this.debug("GLOBSTAR", [pattern, p, f]);
+            var fr = fi;
+            var pr = pi + 1;
+            if (pr === pl) {
+              this.debug("** at the end");
+              for (; fi < fl; fi++) {
+                if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".") return false;
+              }
+              return true;
             }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
+            while (fr < fl) {
+              var swallowee = file[fr];
+              this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
+              if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
+                this.debug("globstar found match!", fr, fl, swallowee);
+                return true;
+              } else {
+                if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
+                  this.debug("dot detected!", file, fr, pattern, pr);
+                  break;
+                }
+                this.debug("globstar swallow a segment, and continue");
+                fr++;
+              }
             }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+            if (partial) {
+              this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
+              if (fr === fl) return true;
             }
+            return false;
           }
-        }
-      }
-    };
-    exports2.BlockBlobStageBlockExceptionHeaders = {
-      serializedName: "BlockBlob_stageBlockExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobStageBlockExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+          var hit;
+          if (typeof p === "string") {
+            hit = f === p;
+            this.debug("string match", p, f, hit);
+          } else {
+            hit = f.match(p);
+            this.debug("pattern match", p, f, hit);
           }
+          if (!hit) return false;
+        }
+        if (fi === fl && pi === pl) {
+          return true;
+        } else if (fi === fl) {
+          return partial;
+        } else if (pi === pl) {
+          return fi === fl - 1 && file[fi] === "";
         }
+        throw new Error("wtf?");
       }
-    };
-    exports2.BlockBlobStageBlockFromURLHeaders = {
-      serializedName: "BlockBlob_stageBlockFromURLHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobStageBlockFromURLHeaders",
-        modelProperties: {
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          xMsContentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
+      braceExpand() {
+        return braceExpand(this.pattern, this.options);
+      }
+      parse(pattern, isSub) {
+        assertValidPattern(pattern);
+        const options = this.options;
+        if (pattern === "**") {
+          if (!options.noglobstar)
+            return GLOBSTAR;
+          else
+            pattern = "*";
+        }
+        if (pattern === "") return "";
+        let re = "";
+        let hasMagic = false;
+        let escaping = false;
+        const patternListStack = [];
+        const negativeLists = [];
+        let stateChar;
+        let inClass = false;
+        let reClassStart = -1;
+        let classStart = -1;
+        let cs;
+        let pl;
+        let sp;
+        let dotTravAllowed = pattern.charAt(0) === ".";
+        let dotFileAllowed = options.dot || dotTravAllowed;
+        const patternStart = () => dotTravAllowed ? "" : dotFileAllowed ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)";
+        const subPatternStart = (p) => p.charAt(0) === "." ? "" : options.dot ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)";
+        const clearStateChar = () => {
+          if (stateChar) {
+            switch (stateChar) {
+              case "*":
+                re += star;
+                hasMagic = true;
+                break;
+              case "?":
+                re += qmark;
+                hasMagic = true;
+                break;
+              default:
+                re += "\\" + stateChar;
+                break;
             }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
+            this.debug("clearStateChar %j %j", stateChar, re);
+            stateChar = false;
+          }
+        };
+        for (let i = 0, c; i < pattern.length && (c = pattern.charAt(i)); i++) {
+          this.debug("%s	%s %s %j", pattern, i, re, c);
+          if (escaping) {
+            if (c === "/") {
+              return false;
             }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
+            if (reSpecials[c]) {
+              re += "\\";
             }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
+            re += c;
+            escaping = false;
+            continue;
+          }
+          switch (c) {
+            /* istanbul ignore next */
+            case "/": {
+              return false;
             }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
+            case "\\":
+              if (inClass && pattern.charAt(i + 1) === "-") {
+                re += c;
+                continue;
+              }
+              clearStateChar();
+              escaping = true;
+              continue;
+            // the various stateChar values
+            // for the "extglob" stuff.
+            case "?":
+            case "*":
+            case "+":
+            case "@":
+            case "!":
+              this.debug("%s	%s %s %j <-- stateChar", pattern, i, re, c);
+              if (inClass) {
+                this.debug("  in class");
+                if (c === "!" && i === classStart + 1) c = "^";
+                re += c;
+                continue;
+              }
+              this.debug("call clearStateChar %j", stateChar);
+              clearStateChar();
+              stateChar = c;
+              if (options.noext) clearStateChar();
+              continue;
+            case "(": {
+              if (inClass) {
+                re += "(";
+                continue;
+              }
+              if (!stateChar) {
+                re += "\\(";
+                continue;
+              }
+              const plEntry = {
+                type: stateChar,
+                start: i - 1,
+                reStart: re.length,
+                open: plTypes[stateChar].open,
+                close: plTypes[stateChar].close
+              };
+              this.debug(this.pattern, "	", plEntry);
+              patternListStack.push(plEntry);
+              re += plEntry.open;
+              if (plEntry.start === 0 && plEntry.type !== "!") {
+                dotTravAllowed = true;
+                re += subPatternStart(pattern.slice(i + 1));
+              }
+              this.debug("plType %j %j", stateChar, re);
+              stateChar = false;
+              continue;
             }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
+            case ")": {
+              const plEntry = patternListStack[patternListStack.length - 1];
+              if (inClass || !plEntry) {
+                re += "\\)";
+                continue;
+              }
+              patternListStack.pop();
+              clearStateChar();
+              hasMagic = true;
+              pl = plEntry;
+              re += pl.close;
+              if (pl.type === "!") {
+                negativeLists.push(Object.assign(pl, { reEnd: re.length }));
+              }
+              continue;
             }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
+            case "|": {
+              const plEntry = patternListStack[patternListStack.length - 1];
+              if (inClass || !plEntry) {
+                re += "\\|";
+                continue;
+              }
+              clearStateChar();
+              re += "|";
+              if (plEntry.start === 0 && plEntry.type !== "!") {
+                dotTravAllowed = true;
+                re += subPatternStart(pattern.slice(i + 1));
+              }
+              continue;
             }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+            // these are mostly the same in regexp and glob
+            case "[":
+              clearStateChar();
+              if (inClass) {
+                re += "\\" + c;
+                continue;
+              }
+              inClass = true;
+              classStart = i;
+              reClassStart = re.length;
+              re += c;
+              continue;
+            case "]":
+              if (i === classStart + 1 || !inClass) {
+                re += "\\" + c;
+                continue;
+              }
+              cs = pattern.substring(classStart + 1, i);
+              try {
+                RegExp("[" + braExpEscape(charUnescape(cs)) + "]");
+                re += c;
+              } catch (er) {
+                re = re.substring(0, reClassStart) + "(?:$.)";
+              }
+              hasMagic = true;
+              inClass = false;
+              continue;
+            default:
+              clearStateChar();
+              if (reSpecials[c] && !(c === "^" && inClass)) {
+                re += "\\";
+              }
+              re += c;
+              break;
+          }
+        }
+        if (inClass) {
+          cs = pattern.slice(classStart + 1);
+          sp = this.parse(cs, SUBPARSE);
+          re = re.substring(0, reClassStart) + "\\[" + sp[0];
+          hasMagic = hasMagic || sp[1];
+        }
+        for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {
+          let tail;
+          tail = re.slice(pl.reStart + pl.open.length);
+          this.debug("setting tail", re, pl);
+          tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, (_2, $1, $2) => {
+            if (!$2) {
+              $2 = "\\";
             }
+            return $1 + $1 + $2 + "|";
+          });
+          this.debug("tail=%j\n   %s", tail, tail, pl, re);
+          const t = pl.type === "*" ? star : pl.type === "?" ? qmark : "\\" + pl.type;
+          hasMagic = true;
+          re = re.slice(0, pl.reStart) + t + "\\(" + tail;
+        }
+        clearStateChar();
+        if (escaping) {
+          re += "\\\\";
+        }
+        const addPatternStart = addPatternStartSet[re.charAt(0)];
+        for (let n = negativeLists.length - 1; n > -1; n--) {
+          const nl = negativeLists[n];
+          const nlBefore = re.slice(0, nl.reStart);
+          const nlFirst = re.slice(nl.reStart, nl.reEnd - 8);
+          let nlAfter = re.slice(nl.reEnd);
+          const nlLast = re.slice(nl.reEnd - 8, nl.reEnd) + nlAfter;
+          const closeParensBefore = nlBefore.split(")").length;
+          const openParensBefore = nlBefore.split("(").length - closeParensBefore;
+          let cleanAfter = nlAfter;
+          for (let i = 0; i < openParensBefore; i++) {
+            cleanAfter = cleanAfter.replace(/\)[+*?]?/, "");
           }
+          nlAfter = cleanAfter;
+          const dollar = nlAfter === "" && isSub !== SUBPARSE ? "(?:$|\\/)" : "";
+          re = nlBefore + nlFirst + nlAfter + dollar + nlLast;
+        }
+        if (re !== "" && hasMagic) {
+          re = "(?=.)" + re;
+        }
+        if (addPatternStart) {
+          re = patternStart() + re;
+        }
+        if (isSub === SUBPARSE) {
+          return [re, hasMagic];
+        }
+        if (options.nocase && !hasMagic) {
+          hasMagic = pattern.toUpperCase() !== pattern.toLowerCase();
+        }
+        if (!hasMagic) {
+          return globUnescape(pattern);
+        }
+        const flags = options.nocase ? "i" : "";
+        try {
+          return Object.assign(new RegExp("^" + re + "$", flags), {
+            _glob: pattern,
+            _src: re
+          });
+        } catch (er) {
+          return new RegExp("$.");
         }
       }
-    };
-    exports2.BlockBlobStageBlockFromURLExceptionHeaders = {
-      serializedName: "BlockBlob_stageBlockFromURLExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobStageBlockFromURLExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+      makeRe() {
+        if (this.regexp || this.regexp === false) return this.regexp;
+        const set2 = this.set;
+        if (!set2.length) {
+          this.regexp = false;
+          return this.regexp;
+        }
+        const options = this.options;
+        const twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
+        const flags = options.nocase ? "i" : "";
+        let re = set2.map((pattern) => {
+          pattern = pattern.map(
+            (p) => typeof p === "string" ? regExpEscape(p) : p === GLOBSTAR ? GLOBSTAR : p._src
+          ).reduce((set3, p) => {
+            if (!(set3[set3.length - 1] === GLOBSTAR && p === GLOBSTAR)) {
+              set3.push(p);
             }
-          },
-          copySourceErrorCode: {
-            serializedName: "x-ms-copy-source-error-code",
-            xmlName: "x-ms-copy-source-error-code",
-            type: {
-              name: "String"
+            return set3;
+          }, []);
+          pattern.forEach((p, i) => {
+            if (p !== GLOBSTAR || pattern[i - 1] === GLOBSTAR) {
+              return;
             }
-          },
-          copySourceStatusCode: {
-            serializedName: "x-ms-copy-source-status-code",
-            xmlName: "x-ms-copy-source-status-code",
-            type: {
-              name: "Number"
+            if (i === 0) {
+              if (pattern.length > 1) {
+                pattern[i + 1] = "(?:\\/|" + twoStar + "\\/)?" + pattern[i + 1];
+              } else {
+                pattern[i] = twoStar;
+              }
+            } else if (i === pattern.length - 1) {
+              pattern[i - 1] += "(?:\\/|" + twoStar + ")?";
+            } else {
+              pattern[i - 1] += "(?:\\/|\\/" + twoStar + "\\/)" + pattern[i + 1];
+              pattern[i + 1] = GLOBSTAR;
             }
+          });
+          return pattern.filter((p) => p !== GLOBSTAR).join("/");
+        }).join("|");
+        re = "^(?:" + re + ")$";
+        if (this.negate) re = "^(?!" + re + ").*$";
+        try {
+          this.regexp = new RegExp(re, flags);
+        } catch (ex) {
+          this.regexp = false;
+        }
+        return this.regexp;
+      }
+      match(f, partial = this.partial) {
+        this.debug("match", f, this.pattern);
+        if (this.comment) return false;
+        if (this.empty) return f === "";
+        if (f === "/" && partial) return true;
+        const options = this.options;
+        if (path3.sep !== "/") {
+          f = f.split(path3.sep).join("/");
+        }
+        f = f.split(slashSplit);
+        this.debug(this.pattern, "split", f);
+        const set2 = this.set;
+        this.debug(this.pattern, "set", set2);
+        let filename;
+        for (let i = f.length - 1; i >= 0; i--) {
+          filename = f[i];
+          if (filename) break;
+        }
+        for (let i = 0; i < set2.length; i++) {
+          const pattern = set2[i];
+          let file = f;
+          if (options.matchBase && pattern.length === 1) {
+            file = [filename];
+          }
+          const hit = this.matchOne(file, pattern, partial);
+          if (hit) {
+            if (options.flipNegate) return true;
+            return !this.negate;
           }
         }
+        if (options.flipNegate) return false;
+        return this.negate;
+      }
+      static defaults(def) {
+        return minimatch.defaults(def).Minimatch;
       }
     };
-    exports2.BlockBlobCommitBlockListHeaders = {
-      serializedName: "BlockBlob_commitBlockListHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobCommitBlockListHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          xMsContentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
+    minimatch.Minimatch = Minimatch;
+  }
+});
+
+// node_modules/readdir-glob/index.js
+var require_readdir_glob = __commonJS({
+  "node_modules/readdir-glob/index.js"(exports2, module2) {
+    module2.exports = readdirGlob;
+    var fs3 = require("fs");
+    var { EventEmitter } = require("events");
+    var { Minimatch } = require_minimatch();
+    var { resolve: resolve2 } = require("path");
+    function readdir(dir, strict) {
+      return new Promise((resolve3, reject) => {
+        fs3.readdir(dir, { withFileTypes: true }, (err, files) => {
+          if (err) {
+            switch (err.code) {
+              case "ENOTDIR":
+                if (strict) {
+                  reject(err);
+                } else {
+                  resolve3([]);
+                }
+                break;
+              case "ENOTSUP":
+              // Operation not supported
+              case "ENOENT":
+              // No such file or directory
+              case "ENAMETOOLONG":
+              // Filename too long
+              case "UNKNOWN":
+                resolve3([]);
+                break;
+              case "ELOOP":
+              // Too many levels of symbolic links
+              default:
+                reject(err);
+                break;
             }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+          } else {
+            resolve3(files);
+          }
+        });
+      });
+    }
+    function stat(file, followSymlinks) {
+      return new Promise((resolve3, reject) => {
+        const statFunc = followSymlinks ? fs3.stat : fs3.lstat;
+        statFunc(file, (err, stats) => {
+          if (err) {
+            switch (err.code) {
+              case "ENOENT":
+                if (followSymlinks) {
+                  resolve3(stat(file, false));
+                } else {
+                  resolve3(null);
+                }
+                break;
+              default:
+                resolve3(null);
+                break;
             }
+          } else {
+            resolve3(stats);
           }
+        });
+      });
+    }
+    async function* exploreWalkAsync(dir, path3, followSymlinks, useStat, shouldSkip, strict) {
+      let files = await readdir(path3 + dir, strict);
+      for (const file of files) {
+        let name = file.name;
+        if (name === void 0) {
+          name = file;
+          useStat = true;
         }
-      }
-    };
-    exports2.BlockBlobCommitBlockListExceptionHeaders = {
-      serializedName: "BlockBlob_commitBlockListExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobCommitBlockListExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+        const filename = dir + "/" + name;
+        const relative = filename.slice(1);
+        const absolute = path3 + "/" + relative;
+        let stats = null;
+        if (useStat || followSymlinks) {
+          stats = await stat(absolute, followSymlinks);
+        }
+        if (!stats && file.name !== void 0) {
+          stats = file;
+        }
+        if (stats === null) {
+          stats = { isDirectory: () => false };
+        }
+        if (stats.isDirectory()) {
+          if (!shouldSkip(relative)) {
+            yield { relative, absolute, stats };
+            yield* exploreWalkAsync(filename, path3, followSymlinks, useStat, shouldSkip, false);
           }
+        } else {
+          yield { relative, absolute, stats };
         }
       }
-    };
-    exports2.BlockBlobGetBlockListHeaders = {
-      serializedName: "BlockBlob_getBlockListHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobGetBlockListHeaders",
-        modelProperties: {
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          contentType: {
-            serializedName: "content-type",
-            xmlName: "content-type",
-            type: {
-              name: "String"
-            }
-          },
-          blobContentLength: {
-            serializedName: "x-ms-blob-content-length",
-            xmlName: "x-ms-blob-content-length",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
+    }
+    async function* explore(path3, followSymlinks, useStat, shouldSkip) {
+      yield* exploreWalkAsync("", path3, followSymlinks, useStat, shouldSkip, true);
+    }
+    function readOptions(options) {
+      return {
+        pattern: options.pattern,
+        dot: !!options.dot,
+        noglobstar: !!options.noglobstar,
+        matchBase: !!options.matchBase,
+        nocase: !!options.nocase,
+        ignore: options.ignore,
+        skip: options.skip,
+        follow: !!options.follow,
+        stat: !!options.stat,
+        nodir: !!options.nodir,
+        mark: !!options.mark,
+        silent: !!options.silent,
+        absolute: !!options.absolute
+      };
+    }
+    var ReaddirGlob = class extends EventEmitter {
+      constructor(cwd, options, cb) {
+        super();
+        if (typeof options === "function") {
+          cb = options;
+          options = null;
+        }
+        this.options = readOptions(options || {});
+        this.matchers = [];
+        if (this.options.pattern) {
+          const matchers = Array.isArray(this.options.pattern) ? this.options.pattern : [this.options.pattern];
+          this.matchers = matchers.map(
+            (m) => new Minimatch(m, {
+              dot: this.options.dot,
+              noglobstar: this.options.noglobstar,
+              matchBase: this.options.matchBase,
+              nocase: this.options.nocase
+            })
+          );
+        }
+        this.ignoreMatchers = [];
+        if (this.options.ignore) {
+          const ignorePatterns = Array.isArray(this.options.ignore) ? this.options.ignore : [this.options.ignore];
+          this.ignoreMatchers = ignorePatterns.map(
+            (ignore) => new Minimatch(ignore, { dot: true })
+          );
+        }
+        this.skipMatchers = [];
+        if (this.options.skip) {
+          const skipPatterns = Array.isArray(this.options.skip) ? this.options.skip : [this.options.skip];
+          this.skipMatchers = skipPatterns.map(
+            (skip) => new Minimatch(skip, { dot: true })
+          );
+        }
+        this.iterator = explore(resolve2(cwd || "."), this.options.follow, this.options.stat, this._shouldSkipDirectory.bind(this));
+        this.paused = false;
+        this.inactive = false;
+        this.aborted = false;
+        if (cb) {
+          this._matches = [];
+          this.on("match", (match) => this._matches.push(this.options.absolute ? match.absolute : match.relative));
+          this.on("error", (err) => cb(err));
+          this.on("end", () => cb(null, this._matches));
+        }
+        setTimeout(() => this._next(), 0);
+      }
+      _shouldSkipDirectory(relative) {
+        return this.skipMatchers.some((m) => m.match(relative));
+      }
+      _fileMatches(relative, isDirectory) {
+        const file = relative + (isDirectory ? "/" : "");
+        return (this.matchers.length === 0 || this.matchers.some((m) => m.match(file))) && !this.ignoreMatchers.some((m) => m.match(file)) && (!this.options.nodir || !isDirectory);
+      }
+      _next() {
+        if (!this.paused && !this.aborted) {
+          this.iterator.next().then((obj) => {
+            if (!obj.done) {
+              const isDirectory = obj.value.stats.isDirectory();
+              if (this._fileMatches(obj.value.relative, isDirectory)) {
+                let relative = obj.value.relative;
+                let absolute = obj.value.absolute;
+                if (this.options.mark && isDirectory) {
+                  relative += "/";
+                  absolute += "/";
+                }
+                if (this.options.stat) {
+                  this.emit("match", { relative, absolute, stat: obj.value.stats });
+                } else {
+                  this.emit("match", { relative, absolute });
+                }
+              }
+              this._next(this.iterator);
+            } else {
+              this.emit("end");
             }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+          }).catch((err) => {
+            this.abort();
+            this.emit("error", err);
+            if (!err.code && !this.options.silent) {
+              console.error(err);
             }
-          }
+          });
+        } else {
+          this.inactive = true;
         }
       }
-    };
-    exports2.BlockBlobGetBlockListExceptionHeaders = {
-      serializedName: "BlockBlob_getBlockListExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobGetBlockListExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      abort() {
+        this.aborted = true;
+      }
+      pause() {
+        this.paused = true;
+      }
+      resume() {
+        this.paused = false;
+        if (this.inactive) {
+          this.inactive = false;
+          this._next();
         }
       }
     };
+    function readdirGlob(pattern, options, cb) {
+      return new ReaddirGlob(pattern, options, cb);
+    }
+    readdirGlob.ReaddirGlob = ReaddirGlob;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/parameters.js
-var require_parameters = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/parameters.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.action3 = exports2.action2 = exports2.leaseId1 = exports2.action1 = exports2.proposedLeaseId = exports2.duration = exports2.action = exports2.comp10 = exports2.sourceLeaseId = exports2.sourceContainerName = exports2.comp9 = exports2.deletedContainerVersion = exports2.deletedContainerName = exports2.comp8 = exports2.containerAcl = exports2.comp7 = exports2.comp6 = exports2.ifUnmodifiedSince = exports2.ifModifiedSince = exports2.leaseId = exports2.preventEncryptionScopeOverride = exports2.defaultEncryptionScope = exports2.access = exports2.metadata = exports2.restype2 = exports2.where = exports2.comp5 = exports2.multipartContentType = exports2.contentLength = exports2.comp4 = exports2.body = exports2.restype1 = exports2.comp3 = exports2.keyInfo = exports2.include = exports2.maxPageSize = exports2.marker = exports2.prefix = exports2.comp2 = exports2.comp1 = exports2.accept1 = exports2.requestId = exports2.version = exports2.timeoutInSeconds = exports2.comp = exports2.restype = exports2.url = exports2.accept = exports2.blobServiceProperties = exports2.contentType = void 0;
-    exports2.fileRequestIntent = exports2.copySourceTags = exports2.copySourceAuthorization = exports2.sourceContentMD5 = exports2.xMsRequiresSync = exports2.legalHold1 = exports2.sealBlob = exports2.blobTagsString = exports2.copySource = exports2.sourceIfTags = exports2.sourceIfNoneMatch = exports2.sourceIfMatch = exports2.sourceIfUnmodifiedSince = exports2.sourceIfModifiedSince = exports2.rehydratePriority = exports2.tier = exports2.comp14 = exports2.encryptionScope = exports2.legalHold = exports2.comp13 = exports2.immutabilityPolicyMode = exports2.immutabilityPolicyExpiry = exports2.comp12 = exports2.blobContentDisposition = exports2.blobContentLanguage = exports2.blobContentEncoding = exports2.blobContentMD5 = exports2.blobContentType = exports2.blobCacheControl = exports2.expiresOn = exports2.expiryOptions = exports2.comp11 = exports2.blobDeleteType = exports2.deleteSnapshots = exports2.ifTags = exports2.ifNoneMatch = exports2.ifMatch = exports2.encryptionAlgorithm = exports2.encryptionKeySha256 = exports2.encryptionKey = exports2.rangeGetContentCRC64 = exports2.rangeGetContentMD5 = exports2.range = exports2.versionId = exports2.snapshot = exports2.delimiter = exports2.include1 = exports2.proposedLeaseId1 = exports2.action4 = exports2.breakPeriod = void 0;
-    exports2.listType = exports2.comp25 = exports2.blocks = exports2.blockId = exports2.comp24 = exports2.copySourceBlobProperties = exports2.blobType2 = exports2.comp23 = exports2.sourceRange1 = exports2.appendPosition = exports2.maxSize = exports2.comp22 = exports2.blobType1 = exports2.comp21 = exports2.sequenceNumberAction = exports2.prevSnapshotUrl = exports2.prevsnapshot = exports2.comp20 = exports2.range1 = exports2.sourceContentCrc64 = exports2.sourceRange = exports2.sourceUrl = exports2.pageWrite1 = exports2.ifSequenceNumberEqualTo = exports2.ifSequenceNumberLessThan = exports2.ifSequenceNumberLessThanOrEqualTo = exports2.pageWrite = exports2.comp19 = exports2.accept2 = exports2.body1 = exports2.contentType1 = exports2.blobSequenceNumber = exports2.blobContentLength = exports2.blobType = exports2.transactionalContentCrc64 = exports2.transactionalContentMD5 = exports2.tags = exports2.comp18 = exports2.comp17 = exports2.queryRequest = exports2.tier1 = exports2.comp16 = exports2.copyId = exports2.copyActionAbortConstant = exports2.comp15 = void 0;
-    var mappers_js_1 = require_mappers();
-    exports2.contentType = {
-      parameterPath: ["options", "contentType"],
-      mapper: {
-        defaultValue: "application/xml",
-        isConstant: true,
-        serializedName: "Content-Type",
-        type: {
-          name: "String"
-        }
-      }
-    };
-    exports2.blobServiceProperties = {
-      parameterPath: "blobServiceProperties",
-      mapper: mappers_js_1.BlobServiceProperties
-    };
-    exports2.accept = {
-      parameterPath: "accept",
-      mapper: {
-        defaultValue: "application/xml",
-        isConstant: true,
-        serializedName: "Accept",
-        type: {
-          name: "String"
-        }
+// node_modules/async/dist/async.js
+var require_async = __commonJS({
+  "node_modules/async/dist/async.js"(exports2, module2) {
+    (function(global2, factory) {
+      typeof exports2 === "object" && typeof module2 !== "undefined" ? factory(exports2) : typeof define === "function" && define.amd ? define(["exports"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory(global2.async = {}));
+    })(exports2, (function(exports3) {
+      "use strict";
+      function apply(fn, ...args) {
+        return (...callArgs) => fn(...args, ...callArgs);
       }
-    };
-    exports2.url = {
-      parameterPath: "url",
-      mapper: {
-        serializedName: "url",
-        required: true,
-        xmlName: "url",
-        type: {
-          name: "String"
-        }
-      },
-      skipEncoding: true
-    };
-    exports2.restype = {
-      parameterPath: "restype",
-      mapper: {
-        defaultValue: "service",
-        isConstant: true,
-        serializedName: "restype",
-        type: {
-          name: "String"
-        }
+      function initialParams(fn) {
+        return function(...args) {
+          var callback = args.pop();
+          return fn.call(this, args, callback);
+        };
       }
-    };
-    exports2.comp = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "properties",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
-        }
+      var hasQueueMicrotask = typeof queueMicrotask === "function" && queueMicrotask;
+      var hasSetImmediate = typeof setImmediate === "function" && setImmediate;
+      var hasNextTick = typeof process === "object" && typeof process.nextTick === "function";
+      function fallback(fn) {
+        setTimeout(fn, 0);
       }
-    };
-    exports2.timeoutInSeconds = {
-      parameterPath: ["options", "timeoutInSeconds"],
-      mapper: {
-        constraints: {
-          InclusiveMinimum: 0
-        },
-        serializedName: "timeout",
-        xmlName: "timeout",
-        type: {
-          name: "Number"
-        }
+      function wrap(defer) {
+        return (fn, ...args) => defer(() => fn(...args));
       }
-    };
-    exports2.version = {
-      parameterPath: "version",
-      mapper: {
-        defaultValue: "2025-11-05",
-        isConstant: true,
-        serializedName: "x-ms-version",
-        type: {
-          name: "String"
-        }
+      var _defer$1;
+      if (hasQueueMicrotask) {
+        _defer$1 = queueMicrotask;
+      } else if (hasSetImmediate) {
+        _defer$1 = setImmediate;
+      } else if (hasNextTick) {
+        _defer$1 = process.nextTick;
+      } else {
+        _defer$1 = fallback;
       }
-    };
-    exports2.requestId = {
-      parameterPath: ["options", "requestId"],
-      mapper: {
-        serializedName: "x-ms-client-request-id",
-        xmlName: "x-ms-client-request-id",
-        type: {
-          name: "String"
+      var setImmediate$1 = wrap(_defer$1);
+      function asyncify(func) {
+        if (isAsync(func)) {
+          return function(...args) {
+            const callback = args.pop();
+            const promise = func.apply(this, args);
+            return handlePromise(promise, callback);
+          };
         }
+        return initialParams(function(args, callback) {
+          var result;
+          try {
+            result = func.apply(this, args);
+          } catch (e) {
+            return callback(e);
+          }
+          if (result && typeof result.then === "function") {
+            return handlePromise(result, callback);
+          } else {
+            callback(null, result);
+          }
+        });
       }
-    };
-    exports2.accept1 = {
-      parameterPath: "accept",
-      mapper: {
-        defaultValue: "application/xml",
-        isConstant: true,
-        serializedName: "Accept",
-        type: {
-          name: "String"
-        }
+      function handlePromise(promise, callback) {
+        return promise.then((value) => {
+          invokeCallback(callback, null, value);
+        }, (err) => {
+          invokeCallback(callback, err && (err instanceof Error || err.message) ? err : new Error(err));
+        });
       }
-    };
-    exports2.comp1 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "stats",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+      function invokeCallback(callback, error3, value) {
+        try {
+          callback(error3, value);
+        } catch (err) {
+          setImmediate$1((e) => {
+            throw e;
+          }, err);
         }
       }
-    };
-    exports2.comp2 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "list",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
-        }
+      function isAsync(fn) {
+        return fn[Symbol.toStringTag] === "AsyncFunction";
       }
-    };
-    exports2.prefix = {
-      parameterPath: ["options", "prefix"],
-      mapper: {
-        serializedName: "prefix",
-        xmlName: "prefix",
-        type: {
-          name: "String"
-        }
+      function isAsyncGenerator(fn) {
+        return fn[Symbol.toStringTag] === "AsyncGenerator";
       }
-    };
-    exports2.marker = {
-      parameterPath: ["options", "marker"],
-      mapper: {
-        serializedName: "marker",
-        xmlName: "marker",
-        type: {
-          name: "String"
-        }
+      function isAsyncIterable(obj) {
+        return typeof obj[Symbol.asyncIterator] === "function";
       }
-    };
-    exports2.maxPageSize = {
-      parameterPath: ["options", "maxPageSize"],
-      mapper: {
-        constraints: {
-          InclusiveMinimum: 1
-        },
-        serializedName: "maxresults",
-        xmlName: "maxresults",
-        type: {
-          name: "Number"
-        }
+      function wrapAsync(asyncFn) {
+        if (typeof asyncFn !== "function") throw new Error("expected a function");
+        return isAsync(asyncFn) ? asyncify(asyncFn) : asyncFn;
       }
-    };
-    exports2.include = {
-      parameterPath: ["options", "include"],
-      mapper: {
-        serializedName: "include",
-        xmlName: "include",
-        xmlElementName: "ListContainersIncludeType",
-        type: {
-          name: "Sequence",
-          element: {
-            type: {
-              name: "Enum",
-              allowedValues: ["metadata", "deleted", "system"]
-            }
+      function awaitify(asyncFn, arity) {
+        if (!arity) arity = asyncFn.length;
+        if (!arity) throw new Error("arity is undefined");
+        function awaitable(...args) {
+          if (typeof args[arity - 1] === "function") {
+            return asyncFn.apply(this, args);
           }
+          return new Promise((resolve2, reject2) => {
+            args[arity - 1] = (err, ...cbArgs) => {
+              if (err) return reject2(err);
+              resolve2(cbArgs.length > 1 ? cbArgs : cbArgs[0]);
+            };
+            asyncFn.apply(this, args);
+          });
         }
-      },
-      collectionFormat: "CSV"
-    };
-    exports2.keyInfo = {
-      parameterPath: "keyInfo",
-      mapper: mappers_js_1.KeyInfo
-    };
-    exports2.comp3 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "userdelegationkey",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
-        }
+        return awaitable;
       }
-    };
-    exports2.restype1 = {
-      parameterPath: "restype",
-      mapper: {
-        defaultValue: "account",
-        isConstant: true,
-        serializedName: "restype",
-        type: {
-          name: "String"
-        }
+      function applyEach$1(eachfn) {
+        return function applyEach2(fns, ...callArgs) {
+          const go = awaitify(function(callback) {
+            var that = this;
+            return eachfn(fns, (fn, cb) => {
+              wrapAsync(fn).apply(that, callArgs.concat(cb));
+            }, callback);
+          });
+          return go;
+        };
       }
-    };
-    exports2.body = {
-      parameterPath: "body",
-      mapper: {
-        serializedName: "body",
-        required: true,
-        xmlName: "body",
-        type: {
-          name: "Stream"
-        }
+      function _asyncMap(eachfn, arr, iteratee, callback) {
+        arr = arr || [];
+        var results = [];
+        var counter = 0;
+        var _iteratee = wrapAsync(iteratee);
+        return eachfn(arr, (value, _2, iterCb) => {
+          var index2 = counter++;
+          _iteratee(value, (err, v) => {
+            results[index2] = v;
+            iterCb(err);
+          });
+        }, (err) => {
+          callback(err, results);
+        });
       }
-    };
-    exports2.comp4 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "batch",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
-        }
+      function isArrayLike(value) {
+        return value && typeof value.length === "number" && value.length >= 0 && value.length % 1 === 0;
       }
-    };
-    exports2.contentLength = {
-      parameterPath: "contentLength",
-      mapper: {
-        serializedName: "Content-Length",
-        required: true,
-        xmlName: "Content-Length",
-        type: {
-          name: "Number"
+      const breakLoop = {};
+      function once(fn) {
+        function wrapper(...args) {
+          if (fn === null) return;
+          var callFn = fn;
+          fn = null;
+          callFn.apply(this, args);
         }
+        Object.assign(wrapper, fn);
+        return wrapper;
       }
-    };
-    exports2.multipartContentType = {
-      parameterPath: "multipartContentType",
-      mapper: {
-        serializedName: "Content-Type",
-        required: true,
-        xmlName: "Content-Type",
-        type: {
-          name: "String"
-        }
+      function getIterator(coll) {
+        return coll[Symbol.iterator] && coll[Symbol.iterator]();
       }
-    };
-    exports2.comp5 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "blobs",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
-        }
+      function createArrayIterator(coll) {
+        var i = -1;
+        var len = coll.length;
+        return function next() {
+          return ++i < len ? { value: coll[i], key: i } : null;
+        };
       }
-    };
-    exports2.where = {
-      parameterPath: ["options", "where"],
-      mapper: {
-        serializedName: "where",
-        xmlName: "where",
-        type: {
-          name: "String"
-        }
+      function createES2015Iterator(iterator2) {
+        var i = -1;
+        return function next() {
+          var item = iterator2.next();
+          if (item.done)
+            return null;
+          i++;
+          return { value: item.value, key: i };
+        };
       }
-    };
-    exports2.restype2 = {
-      parameterPath: "restype",
-      mapper: {
-        defaultValue: "container",
-        isConstant: true,
-        serializedName: "restype",
-        type: {
-          name: "String"
-        }
+      function createObjectIterator(obj) {
+        var okeys = obj ? Object.keys(obj) : [];
+        var i = -1;
+        var len = okeys.length;
+        return function next() {
+          var key = okeys[++i];
+          if (key === "__proto__") {
+            return next();
+          }
+          return i < len ? { value: obj[key], key } : null;
+        };
       }
-    };
-    exports2.metadata = {
-      parameterPath: ["options", "metadata"],
-      mapper: {
-        serializedName: "x-ms-meta",
-        xmlName: "x-ms-meta",
-        headerCollectionPrefix: "x-ms-meta-",
-        type: {
-          name: "Dictionary",
-          value: { type: { name: "String" } }
+      function createIterator(coll) {
+        if (isArrayLike(coll)) {
+          return createArrayIterator(coll);
         }
+        var iterator2 = getIterator(coll);
+        return iterator2 ? createES2015Iterator(iterator2) : createObjectIterator(coll);
       }
-    };
-    exports2.access = {
-      parameterPath: ["options", "access"],
-      mapper: {
-        serializedName: "x-ms-blob-public-access",
-        xmlName: "x-ms-blob-public-access",
-        type: {
-          name: "Enum",
-          allowedValues: ["container", "blob"]
-        }
+      function onlyOnce(fn) {
+        return function(...args) {
+          if (fn === null) throw new Error("Callback was already called.");
+          var callFn = fn;
+          fn = null;
+          callFn.apply(this, args);
+        };
       }
-    };
-    exports2.defaultEncryptionScope = {
-      parameterPath: [
-        "options",
-        "containerEncryptionScope",
-        "defaultEncryptionScope"
-      ],
-      mapper: {
-        serializedName: "x-ms-default-encryption-scope",
-        xmlName: "x-ms-default-encryption-scope",
-        type: {
-          name: "String"
+      function asyncEachOfLimit(generator, limit, iteratee, callback) {
+        let done = false;
+        let canceled = false;
+        let awaiting = false;
+        let running = 0;
+        let idx = 0;
+        function replenish() {
+          if (running >= limit || awaiting || done) return;
+          awaiting = true;
+          generator.next().then(({ value, done: iterDone }) => {
+            if (canceled || done) return;
+            awaiting = false;
+            if (iterDone) {
+              done = true;
+              if (running <= 0) {
+                callback(null);
+              }
+              return;
+            }
+            running++;
+            iteratee(value, idx, iterateeCallback);
+            idx++;
+            replenish();
+          }).catch(handleError);
         }
-      }
-    };
-    exports2.preventEncryptionScopeOverride = {
-      parameterPath: [
-        "options",
-        "containerEncryptionScope",
-        "preventEncryptionScopeOverride"
-      ],
-      mapper: {
-        serializedName: "x-ms-deny-encryption-scope-override",
-        xmlName: "x-ms-deny-encryption-scope-override",
-        type: {
-          name: "Boolean"
+        function iterateeCallback(err, result) {
+          running -= 1;
+          if (canceled) return;
+          if (err) return handleError(err);
+          if (err === false) {
+            done = true;
+            canceled = true;
+            return;
+          }
+          if (result === breakLoop || done && running <= 0) {
+            done = true;
+            return callback(null);
+          }
+          replenish();
         }
-      }
-    };
-    exports2.leaseId = {
-      parameterPath: ["options", "leaseAccessConditions", "leaseId"],
-      mapper: {
-        serializedName: "x-ms-lease-id",
-        xmlName: "x-ms-lease-id",
-        type: {
-          name: "String"
+        function handleError(err) {
+          if (canceled) return;
+          awaiting = false;
+          done = true;
+          callback(err);
         }
+        replenish();
       }
-    };
-    exports2.ifModifiedSince = {
-      parameterPath: ["options", "modifiedAccessConditions", "ifModifiedSince"],
-      mapper: {
-        serializedName: "If-Modified-Since",
-        xmlName: "If-Modified-Since",
-        type: {
-          name: "DateTimeRfc1123"
-        }
+      var eachOfLimit$2 = (limit) => {
+        return (obj, iteratee, callback) => {
+          callback = once(callback);
+          if (limit <= 0) {
+            throw new RangeError("concurrency limit cannot be less than 1");
+          }
+          if (!obj) {
+            return callback(null);
+          }
+          if (isAsyncGenerator(obj)) {
+            return asyncEachOfLimit(obj, limit, iteratee, callback);
+          }
+          if (isAsyncIterable(obj)) {
+            return asyncEachOfLimit(obj[Symbol.asyncIterator](), limit, iteratee, callback);
+          }
+          var nextElem = createIterator(obj);
+          var done = false;
+          var canceled = false;
+          var running = 0;
+          var looping = false;
+          function iterateeCallback(err, value) {
+            if (canceled) return;
+            running -= 1;
+            if (err) {
+              done = true;
+              callback(err);
+            } else if (err === false) {
+              done = true;
+              canceled = true;
+            } else if (value === breakLoop || done && running <= 0) {
+              done = true;
+              return callback(null);
+            } else if (!looping) {
+              replenish();
+            }
+          }
+          function replenish() {
+            looping = true;
+            while (running < limit && !done) {
+              var elem = nextElem();
+              if (elem === null) {
+                done = true;
+                if (running <= 0) {
+                  callback(null);
+                }
+                return;
+              }
+              running += 1;
+              iteratee(elem.value, elem.key, onlyOnce(iterateeCallback));
+            }
+            looping = false;
+          }
+          replenish();
+        };
+      };
+      function eachOfLimit(coll, limit, iteratee, callback) {
+        return eachOfLimit$2(limit)(coll, wrapAsync(iteratee), callback);
       }
-    };
-    exports2.ifUnmodifiedSince = {
-      parameterPath: ["options", "modifiedAccessConditions", "ifUnmodifiedSince"],
-      mapper: {
-        serializedName: "If-Unmodified-Since",
-        xmlName: "If-Unmodified-Since",
-        type: {
-          name: "DateTimeRfc1123"
+      var eachOfLimit$1 = awaitify(eachOfLimit, 4);
+      function eachOfArrayLike(coll, iteratee, callback) {
+        callback = once(callback);
+        var index2 = 0, completed = 0, { length } = coll, canceled = false;
+        if (length === 0) {
+          callback(null);
         }
-      }
-    };
-    exports2.comp6 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "metadata",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+        function iteratorCallback(err, value) {
+          if (err === false) {
+            canceled = true;
+          }
+          if (canceled === true) return;
+          if (err) {
+            callback(err);
+          } else if (++completed === length || value === breakLoop) {
+            callback(null);
+          }
         }
-      }
-    };
-    exports2.comp7 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "acl",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+        for (; index2 < length; index2++) {
+          iteratee(coll[index2], index2, onlyOnce(iteratorCallback));
         }
       }
-    };
-    exports2.containerAcl = {
-      parameterPath: ["options", "containerAcl"],
-      mapper: {
-        serializedName: "containerAcl",
-        xmlName: "SignedIdentifiers",
-        xmlIsWrapped: true,
-        xmlElementName: "SignedIdentifier",
-        type: {
-          name: "Sequence",
-          element: {
-            type: {
-              name: "Composite",
-              className: "SignedIdentifier"
-            }
-          }
-        }
+      function eachOfGeneric(coll, iteratee, callback) {
+        return eachOfLimit$1(coll, Infinity, iteratee, callback);
       }
-    };
-    exports2.comp8 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "undelete",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
-        }
+      function eachOf(coll, iteratee, callback) {
+        var eachOfImplementation = isArrayLike(coll) ? eachOfArrayLike : eachOfGeneric;
+        return eachOfImplementation(coll, wrapAsync(iteratee), callback);
       }
-    };
-    exports2.deletedContainerName = {
-      parameterPath: ["options", "deletedContainerName"],
-      mapper: {
-        serializedName: "x-ms-deleted-container-name",
-        xmlName: "x-ms-deleted-container-name",
-        type: {
-          name: "String"
-        }
+      var eachOf$1 = awaitify(eachOf, 3);
+      function map2(coll, iteratee, callback) {
+        return _asyncMap(eachOf$1, coll, iteratee, callback);
       }
-    };
-    exports2.deletedContainerVersion = {
-      parameterPath: ["options", "deletedContainerVersion"],
-      mapper: {
-        serializedName: "x-ms-deleted-container-version",
-        xmlName: "x-ms-deleted-container-version",
-        type: {
-          name: "String"
-        }
+      var map$1 = awaitify(map2, 3);
+      var applyEach = applyEach$1(map$1);
+      function eachOfSeries(coll, iteratee, callback) {
+        return eachOfLimit$1(coll, 1, iteratee, callback);
       }
-    };
-    exports2.comp9 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "rename",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
-        }
+      var eachOfSeries$1 = awaitify(eachOfSeries, 3);
+      function mapSeries(coll, iteratee, callback) {
+        return _asyncMap(eachOfSeries$1, coll, iteratee, callback);
       }
-    };
-    exports2.sourceContainerName = {
-      parameterPath: "sourceContainerName",
-      mapper: {
-        serializedName: "x-ms-source-container-name",
-        required: true,
-        xmlName: "x-ms-source-container-name",
-        type: {
-          name: "String"
+      var mapSeries$1 = awaitify(mapSeries, 3);
+      var applyEachSeries = applyEach$1(mapSeries$1);
+      const PROMISE_SYMBOL = /* @__PURE__ */ Symbol("promiseCallback");
+      function promiseCallback() {
+        let resolve2, reject2;
+        function callback(err, ...args) {
+          if (err) return reject2(err);
+          resolve2(args.length > 1 ? args : args[0]);
         }
+        callback[PROMISE_SYMBOL] = new Promise((res, rej) => {
+          resolve2 = res, reject2 = rej;
+        });
+        return callback;
       }
-    };
-    exports2.sourceLeaseId = {
-      parameterPath: ["options", "sourceLeaseId"],
-      mapper: {
-        serializedName: "x-ms-source-lease-id",
-        xmlName: "x-ms-source-lease-id",
-        type: {
-          name: "String"
+      function auto(tasks, concurrency, callback) {
+        if (typeof concurrency !== "number") {
+          callback = concurrency;
+          concurrency = null;
         }
-      }
-    };
-    exports2.comp10 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "lease",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+        callback = once(callback || promiseCallback());
+        var numTasks = Object.keys(tasks).length;
+        if (!numTasks) {
+          return callback(null);
         }
-      }
-    };
-    exports2.action = {
-      parameterPath: "action",
-      mapper: {
-        defaultValue: "acquire",
-        isConstant: true,
-        serializedName: "x-ms-lease-action",
-        type: {
-          name: "String"
+        if (!concurrency) {
+          concurrency = numTasks;
         }
-      }
-    };
-    exports2.duration = {
-      parameterPath: ["options", "duration"],
-      mapper: {
-        serializedName: "x-ms-lease-duration",
-        xmlName: "x-ms-lease-duration",
-        type: {
-          name: "Number"
+        var results = {};
+        var runningTasks = 0;
+        var canceled = false;
+        var hasError = false;
+        var listeners = /* @__PURE__ */ Object.create(null);
+        var readyTasks = [];
+        var readyToCheck = [];
+        var uncheckedDependencies = {};
+        Object.keys(tasks).forEach((key) => {
+          var task = tasks[key];
+          if (!Array.isArray(task)) {
+            enqueueTask(key, [task]);
+            readyToCheck.push(key);
+            return;
+          }
+          var dependencies = task.slice(0, task.length - 1);
+          var remainingDependencies = dependencies.length;
+          if (remainingDependencies === 0) {
+            enqueueTask(key, task);
+            readyToCheck.push(key);
+            return;
+          }
+          uncheckedDependencies[key] = remainingDependencies;
+          dependencies.forEach((dependencyName) => {
+            if (!tasks[dependencyName]) {
+              throw new Error("async.auto task `" + key + "` has a non-existent dependency `" + dependencyName + "` in " + dependencies.join(", "));
+            }
+            addListener(dependencyName, () => {
+              remainingDependencies--;
+              if (remainingDependencies === 0) {
+                enqueueTask(key, task);
+              }
+            });
+          });
+        });
+        checkForDeadlocks();
+        processQueue();
+        function enqueueTask(key, task) {
+          readyTasks.push(() => runTask(key, task));
         }
-      }
-    };
-    exports2.proposedLeaseId = {
-      parameterPath: ["options", "proposedLeaseId"],
-      mapper: {
-        serializedName: "x-ms-proposed-lease-id",
-        xmlName: "x-ms-proposed-lease-id",
-        type: {
-          name: "String"
+        function processQueue() {
+          if (canceled) return;
+          if (readyTasks.length === 0 && runningTasks === 0) {
+            return callback(null, results);
+          }
+          while (readyTasks.length && runningTasks < concurrency) {
+            var run = readyTasks.shift();
+            run();
+          }
         }
-      }
-    };
-    exports2.action1 = {
-      parameterPath: "action",
-      mapper: {
-        defaultValue: "release",
-        isConstant: true,
-        serializedName: "x-ms-lease-action",
-        type: {
-          name: "String"
+        function addListener(taskName, fn) {
+          var taskListeners = listeners[taskName];
+          if (!taskListeners) {
+            taskListeners = listeners[taskName] = [];
+          }
+          taskListeners.push(fn);
         }
-      }
-    };
-    exports2.leaseId1 = {
-      parameterPath: "leaseId",
-      mapper: {
-        serializedName: "x-ms-lease-id",
-        required: true,
-        xmlName: "x-ms-lease-id",
-        type: {
-          name: "String"
+        function taskComplete(taskName) {
+          var taskListeners = listeners[taskName] || [];
+          taskListeners.forEach((fn) => fn());
+          processQueue();
         }
-      }
-    };
-    exports2.action2 = {
-      parameterPath: "action",
-      mapper: {
-        defaultValue: "renew",
-        isConstant: true,
-        serializedName: "x-ms-lease-action",
-        type: {
-          name: "String"
+        function runTask(key, task) {
+          if (hasError) return;
+          var taskCallback = onlyOnce((err, ...result) => {
+            runningTasks--;
+            if (err === false) {
+              canceled = true;
+              return;
+            }
+            if (result.length < 2) {
+              [result] = result;
+            }
+            if (err) {
+              var safeResults = {};
+              Object.keys(results).forEach((rkey) => {
+                safeResults[rkey] = results[rkey];
+              });
+              safeResults[key] = result;
+              hasError = true;
+              listeners = /* @__PURE__ */ Object.create(null);
+              if (canceled) return;
+              callback(err, safeResults);
+            } else {
+              results[key] = result;
+              taskComplete(key);
+            }
+          });
+          runningTasks++;
+          var taskFn = wrapAsync(task[task.length - 1]);
+          if (task.length > 1) {
+            taskFn(results, taskCallback);
+          } else {
+            taskFn(taskCallback);
+          }
         }
-      }
-    };
-    exports2.action3 = {
-      parameterPath: "action",
-      mapper: {
-        defaultValue: "break",
-        isConstant: true,
-        serializedName: "x-ms-lease-action",
-        type: {
-          name: "String"
+        function checkForDeadlocks() {
+          var currentTask;
+          var counter = 0;
+          while (readyToCheck.length) {
+            currentTask = readyToCheck.pop();
+            counter++;
+            getDependents(currentTask).forEach((dependent) => {
+              if (--uncheckedDependencies[dependent] === 0) {
+                readyToCheck.push(dependent);
+              }
+            });
+          }
+          if (counter !== numTasks) {
+            throw new Error(
+              "async.auto cannot execute tasks due to a recursive dependency"
+            );
+          }
         }
-      }
-    };
-    exports2.breakPeriod = {
-      parameterPath: ["options", "breakPeriod"],
-      mapper: {
-        serializedName: "x-ms-lease-break-period",
-        xmlName: "x-ms-lease-break-period",
-        type: {
-          name: "Number"
+        function getDependents(taskName) {
+          var result = [];
+          Object.keys(tasks).forEach((key) => {
+            const task = tasks[key];
+            if (Array.isArray(task) && task.indexOf(taskName) >= 0) {
+              result.push(key);
+            }
+          });
+          return result;
         }
+        return callback[PROMISE_SYMBOL];
       }
-    };
-    exports2.action4 = {
-      parameterPath: "action",
-      mapper: {
-        defaultValue: "change",
-        isConstant: true,
-        serializedName: "x-ms-lease-action",
-        type: {
-          name: "String"
+      var FN_ARGS = /^(?:async\s)?(?:function)?\s*(?:\w+\s*)?\(([^)]+)\)(?:\s*{)/;
+      var ARROW_FN_ARGS = /^(?:async\s)?\s*(?:\(\s*)?((?:[^)=\s]\s*)*)(?:\)\s*)?=>/;
+      var FN_ARG_SPLIT = /,/;
+      var FN_ARG = /(=.+)?(\s*)$/;
+      function stripComments(string) {
+        let stripped = "";
+        let index2 = 0;
+        let endBlockComment = string.indexOf("*/");
+        while (index2 < string.length) {
+          if (string[index2] === "/" && string[index2 + 1] === "/") {
+            let endIndex = string.indexOf("\n", index2);
+            index2 = endIndex === -1 ? string.length : endIndex;
+          } else if (endBlockComment !== -1 && string[index2] === "/" && string[index2 + 1] === "*") {
+            let endIndex = string.indexOf("*/", index2);
+            if (endIndex !== -1) {
+              index2 = endIndex + 2;
+              endBlockComment = string.indexOf("*/", index2);
+            } else {
+              stripped += string[index2];
+              index2++;
+            }
+          } else {
+            stripped += string[index2];
+            index2++;
+          }
         }
+        return stripped;
       }
-    };
-    exports2.proposedLeaseId1 = {
-      parameterPath: "proposedLeaseId",
-      mapper: {
-        serializedName: "x-ms-proposed-lease-id",
-        required: true,
-        xmlName: "x-ms-proposed-lease-id",
-        type: {
-          name: "String"
+      function parseParams(func) {
+        const src = stripComments(func.toString());
+        let match = src.match(FN_ARGS);
+        if (!match) {
+          match = src.match(ARROW_FN_ARGS);
         }
+        if (!match) throw new Error("could not parse args in autoInject\nSource:\n" + src);
+        let [, args] = match;
+        return args.replace(/\s/g, "").split(FN_ARG_SPLIT).map((arg) => arg.replace(FN_ARG, "").trim());
       }
-    };
-    exports2.include1 = {
-      parameterPath: ["options", "include"],
-      mapper: {
-        serializedName: "include",
-        xmlName: "include",
-        xmlElementName: "ListBlobsIncludeItem",
-        type: {
-          name: "Sequence",
-          element: {
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "copy",
-                "deleted",
-                "metadata",
-                "snapshots",
-                "uncommittedblobs",
-                "versions",
-                "tags",
-                "immutabilitypolicy",
-                "legalhold",
-                "deletedwithversions"
-              ]
+      function autoInject(tasks, callback) {
+        var newTasks = {};
+        Object.keys(tasks).forEach((key) => {
+          var taskFn = tasks[key];
+          var params;
+          var fnIsAsync = isAsync(taskFn);
+          var hasNoDeps = !fnIsAsync && taskFn.length === 1 || fnIsAsync && taskFn.length === 0;
+          if (Array.isArray(taskFn)) {
+            params = [...taskFn];
+            taskFn = params.pop();
+            newTasks[key] = params.concat(params.length > 0 ? newTask : taskFn);
+          } else if (hasNoDeps) {
+            newTasks[key] = taskFn;
+          } else {
+            params = parseParams(taskFn);
+            if (taskFn.length === 0 && !fnIsAsync && params.length === 0) {
+              throw new Error("autoInject task functions require explicit parameters.");
             }
+            if (!fnIsAsync) params.pop();
+            newTasks[key] = params.concat(newTask);
+          }
+          function newTask(results, taskCb) {
+            var newArgs = params.map((name) => results[name]);
+            newArgs.push(taskCb);
+            wrapAsync(taskFn)(...newArgs);
           }
+        });
+        return auto(newTasks, callback);
+      }
+      class DLL {
+        constructor() {
+          this.head = this.tail = null;
+          this.length = 0;
         }
-      },
-      collectionFormat: "CSV"
-    };
-    exports2.delimiter = {
-      parameterPath: "delimiter",
-      mapper: {
-        serializedName: "delimiter",
-        required: true,
-        xmlName: "delimiter",
-        type: {
-          name: "String"
+        removeLink(node) {
+          if (node.prev) node.prev.next = node.next;
+          else this.head = node.next;
+          if (node.next) node.next.prev = node.prev;
+          else this.tail = node.prev;
+          node.prev = node.next = null;
+          this.length -= 1;
+          return node;
         }
-      }
-    };
-    exports2.snapshot = {
-      parameterPath: ["options", "snapshot"],
-      mapper: {
-        serializedName: "snapshot",
-        xmlName: "snapshot",
-        type: {
-          name: "String"
+        empty() {
+          while (this.head) this.shift();
+          return this;
         }
-      }
-    };
-    exports2.versionId = {
-      parameterPath: ["options", "versionId"],
-      mapper: {
-        serializedName: "versionid",
-        xmlName: "versionid",
-        type: {
-          name: "String"
+        insertAfter(node, newNode) {
+          newNode.prev = node;
+          newNode.next = node.next;
+          if (node.next) node.next.prev = newNode;
+          else this.tail = newNode;
+          node.next = newNode;
+          this.length += 1;
         }
-      }
-    };
-    exports2.range = {
-      parameterPath: ["options", "range"],
-      mapper: {
-        serializedName: "x-ms-range",
-        xmlName: "x-ms-range",
-        type: {
-          name: "String"
+        insertBefore(node, newNode) {
+          newNode.prev = node.prev;
+          newNode.next = node;
+          if (node.prev) node.prev.next = newNode;
+          else this.head = newNode;
+          node.prev = newNode;
+          this.length += 1;
         }
-      }
-    };
-    exports2.rangeGetContentMD5 = {
-      parameterPath: ["options", "rangeGetContentMD5"],
-      mapper: {
-        serializedName: "x-ms-range-get-content-md5",
-        xmlName: "x-ms-range-get-content-md5",
-        type: {
-          name: "Boolean"
+        unshift(node) {
+          if (this.head) this.insertBefore(this.head, node);
+          else setInitial(this, node);
         }
-      }
-    };
-    exports2.rangeGetContentCRC64 = {
-      parameterPath: ["options", "rangeGetContentCRC64"],
-      mapper: {
-        serializedName: "x-ms-range-get-content-crc64",
-        xmlName: "x-ms-range-get-content-crc64",
-        type: {
-          name: "Boolean"
+        push(node) {
+          if (this.tail) this.insertAfter(this.tail, node);
+          else setInitial(this, node);
         }
-      }
-    };
-    exports2.encryptionKey = {
-      parameterPath: ["options", "cpkInfo", "encryptionKey"],
-      mapper: {
-        serializedName: "x-ms-encryption-key",
-        xmlName: "x-ms-encryption-key",
-        type: {
-          name: "String"
+        shift() {
+          return this.head && this.removeLink(this.head);
         }
-      }
-    };
-    exports2.encryptionKeySha256 = {
-      parameterPath: ["options", "cpkInfo", "encryptionKeySha256"],
-      mapper: {
-        serializedName: "x-ms-encryption-key-sha256",
-        xmlName: "x-ms-encryption-key-sha256",
-        type: {
-          name: "String"
+        pop() {
+          return this.tail && this.removeLink(this.tail);
         }
-      }
-    };
-    exports2.encryptionAlgorithm = {
-      parameterPath: ["options", "cpkInfo", "encryptionAlgorithm"],
-      mapper: {
-        serializedName: "x-ms-encryption-algorithm",
-        xmlName: "x-ms-encryption-algorithm",
-        type: {
-          name: "String"
+        toArray() {
+          return [...this];
         }
-      }
-    };
-    exports2.ifMatch = {
-      parameterPath: ["options", "modifiedAccessConditions", "ifMatch"],
-      mapper: {
-        serializedName: "If-Match",
-        xmlName: "If-Match",
-        type: {
-          name: "String"
+        *[Symbol.iterator]() {
+          var cur = this.head;
+          while (cur) {
+            yield cur.data;
+            cur = cur.next;
+          }
         }
-      }
-    };
-    exports2.ifNoneMatch = {
-      parameterPath: ["options", "modifiedAccessConditions", "ifNoneMatch"],
-      mapper: {
-        serializedName: "If-None-Match",
-        xmlName: "If-None-Match",
-        type: {
-          name: "String"
+        remove(testFn) {
+          var curr = this.head;
+          while (curr) {
+            var { next } = curr;
+            if (testFn(curr)) {
+              this.removeLink(curr);
+            }
+            curr = next;
+          }
+          return this;
         }
       }
-    };
-    exports2.ifTags = {
-      parameterPath: ["options", "modifiedAccessConditions", "ifTags"],
-      mapper: {
-        serializedName: "x-ms-if-tags",
-        xmlName: "x-ms-if-tags",
-        type: {
-          name: "String"
-        }
+      function setInitial(dll, node) {
+        dll.length = 1;
+        dll.head = dll.tail = node;
       }
-    };
-    exports2.deleteSnapshots = {
-      parameterPath: ["options", "deleteSnapshots"],
-      mapper: {
-        serializedName: "x-ms-delete-snapshots",
-        xmlName: "x-ms-delete-snapshots",
-        type: {
-          name: "Enum",
-          allowedValues: ["include", "only"]
+      function queue$1(worker, concurrency, payload) {
+        if (concurrency == null) {
+          concurrency = 1;
+        } else if (concurrency === 0) {
+          throw new RangeError("Concurrency must not be zero");
         }
-      }
-    };
-    exports2.blobDeleteType = {
-      parameterPath: ["options", "blobDeleteType"],
-      mapper: {
-        serializedName: "deletetype",
-        xmlName: "deletetype",
-        type: {
-          name: "String"
+        var _worker = wrapAsync(worker);
+        var numRunning = 0;
+        var workersList = [];
+        const events = {
+          error: [],
+          drain: [],
+          saturated: [],
+          unsaturated: [],
+          empty: []
+        };
+        function on(event, handler2) {
+          events[event].push(handler2);
         }
-      }
-    };
-    exports2.comp11 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "expiry",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+        function once2(event, handler2) {
+          const handleAndRemove = (...args) => {
+            off(event, handleAndRemove);
+            handler2(...args);
+          };
+          events[event].push(handleAndRemove);
         }
-      }
-    };
-    exports2.expiryOptions = {
-      parameterPath: "expiryOptions",
-      mapper: {
-        serializedName: "x-ms-expiry-option",
-        required: true,
-        xmlName: "x-ms-expiry-option",
-        type: {
-          name: "String"
+        function off(event, handler2) {
+          if (!event) return Object.keys(events).forEach((ev) => events[ev] = []);
+          if (!handler2) return events[event] = [];
+          events[event] = events[event].filter((ev) => ev !== handler2);
         }
-      }
-    };
-    exports2.expiresOn = {
-      parameterPath: ["options", "expiresOn"],
-      mapper: {
-        serializedName: "x-ms-expiry-time",
-        xmlName: "x-ms-expiry-time",
-        type: {
-          name: "String"
+        function trigger(event, ...args) {
+          events[event].forEach((handler2) => handler2(...args));
+        }
+        var processingScheduled = false;
+        function _insert(data, insertAtFront, rejectOnError, callback) {
+          if (callback != null && typeof callback !== "function") {
+            throw new Error("task callback must be a function");
+          }
+          q.started = true;
+          var res, rej;
+          function promiseCallback2(err, ...args) {
+            if (err) return rejectOnError ? rej(err) : res();
+            if (args.length <= 1) return res(args[0]);
+            res(args);
+          }
+          var item = q._createTaskItem(
+            data,
+            rejectOnError ? promiseCallback2 : callback || promiseCallback2
+          );
+          if (insertAtFront) {
+            q._tasks.unshift(item);
+          } else {
+            q._tasks.push(item);
+          }
+          if (!processingScheduled) {
+            processingScheduled = true;
+            setImmediate$1(() => {
+              processingScheduled = false;
+              q.process();
+            });
+          }
+          if (rejectOnError || !callback) {
+            return new Promise((resolve2, reject2) => {
+              res = resolve2;
+              rej = reject2;
+            });
+          }
+        }
+        function _createCB(tasks) {
+          return function(err, ...args) {
+            numRunning -= 1;
+            for (var i = 0, l = tasks.length; i < l; i++) {
+              var task = tasks[i];
+              var index2 = workersList.indexOf(task);
+              if (index2 === 0) {
+                workersList.shift();
+              } else if (index2 > 0) {
+                workersList.splice(index2, 1);
+              }
+              task.callback(err, ...args);
+              if (err != null) {
+                trigger("error", err, task.data);
+              }
+            }
+            if (numRunning <= q.concurrency - q.buffer) {
+              trigger("unsaturated");
+            }
+            if (q.idle()) {
+              trigger("drain");
+            }
+            q.process();
+          };
+        }
+        function _maybeDrain(data) {
+          if (data.length === 0 && q.idle()) {
+            setImmediate$1(() => trigger("drain"));
+            return true;
+          }
+          return false;
         }
+        const eventMethod = (name) => (handler2) => {
+          if (!handler2) {
+            return new Promise((resolve2, reject2) => {
+              once2(name, (err, data) => {
+                if (err) return reject2(err);
+                resolve2(data);
+              });
+            });
+          }
+          off(name);
+          on(name, handler2);
+        };
+        var isProcessing = false;
+        var q = {
+          _tasks: new DLL(),
+          _createTaskItem(data, callback) {
+            return {
+              data,
+              callback
+            };
+          },
+          *[Symbol.iterator]() {
+            yield* q._tasks[Symbol.iterator]();
+          },
+          concurrency,
+          payload,
+          buffer: concurrency / 4,
+          started: false,
+          paused: false,
+          push(data, callback) {
+            if (Array.isArray(data)) {
+              if (_maybeDrain(data)) return;
+              return data.map((datum) => _insert(datum, false, false, callback));
+            }
+            return _insert(data, false, false, callback);
+          },
+          pushAsync(data, callback) {
+            if (Array.isArray(data)) {
+              if (_maybeDrain(data)) return;
+              return data.map((datum) => _insert(datum, false, true, callback));
+            }
+            return _insert(data, false, true, callback);
+          },
+          kill() {
+            off();
+            q._tasks.empty();
+          },
+          unshift(data, callback) {
+            if (Array.isArray(data)) {
+              if (_maybeDrain(data)) return;
+              return data.map((datum) => _insert(datum, true, false, callback));
+            }
+            return _insert(data, true, false, callback);
+          },
+          unshiftAsync(data, callback) {
+            if (Array.isArray(data)) {
+              if (_maybeDrain(data)) return;
+              return data.map((datum) => _insert(datum, true, true, callback));
+            }
+            return _insert(data, true, true, callback);
+          },
+          remove(testFn) {
+            q._tasks.remove(testFn);
+          },
+          process() {
+            if (isProcessing) {
+              return;
+            }
+            isProcessing = true;
+            while (!q.paused && numRunning < q.concurrency && q._tasks.length) {
+              var tasks = [], data = [];
+              var l = q._tasks.length;
+              if (q.payload) l = Math.min(l, q.payload);
+              for (var i = 0; i < l; i++) {
+                var node = q._tasks.shift();
+                tasks.push(node);
+                workersList.push(node);
+                data.push(node.data);
+              }
+              numRunning += 1;
+              if (q._tasks.length === 0) {
+                trigger("empty");
+              }
+              if (numRunning === q.concurrency) {
+                trigger("saturated");
+              }
+              var cb = onlyOnce(_createCB(tasks));
+              _worker(data, cb);
+            }
+            isProcessing = false;
+          },
+          length() {
+            return q._tasks.length;
+          },
+          running() {
+            return numRunning;
+          },
+          workersList() {
+            return workersList;
+          },
+          idle() {
+            return q._tasks.length + numRunning === 0;
+          },
+          pause() {
+            q.paused = true;
+          },
+          resume() {
+            if (q.paused === false) {
+              return;
+            }
+            q.paused = false;
+            setImmediate$1(q.process);
+          }
+        };
+        Object.defineProperties(q, {
+          saturated: {
+            writable: false,
+            value: eventMethod("saturated")
+          },
+          unsaturated: {
+            writable: false,
+            value: eventMethod("unsaturated")
+          },
+          empty: {
+            writable: false,
+            value: eventMethod("empty")
+          },
+          drain: {
+            writable: false,
+            value: eventMethod("drain")
+          },
+          error: {
+            writable: false,
+            value: eventMethod("error")
+          }
+        });
+        return q;
+      }
+      function cargo$1(worker, payload) {
+        return queue$1(worker, 1, payload);
       }
-    };
-    exports2.blobCacheControl = {
-      parameterPath: ["options", "blobHttpHeaders", "blobCacheControl"],
-      mapper: {
-        serializedName: "x-ms-blob-cache-control",
-        xmlName: "x-ms-blob-cache-control",
-        type: {
-          name: "String"
-        }
+      function cargo(worker, concurrency, payload) {
+        return queue$1(worker, concurrency, payload);
       }
-    };
-    exports2.blobContentType = {
-      parameterPath: ["options", "blobHttpHeaders", "blobContentType"],
-      mapper: {
-        serializedName: "x-ms-blob-content-type",
-        xmlName: "x-ms-blob-content-type",
-        type: {
-          name: "String"
-        }
+      function reduce(coll, memo, iteratee, callback) {
+        callback = once(callback);
+        var _iteratee = wrapAsync(iteratee);
+        return eachOfSeries$1(coll, (x, i, iterCb) => {
+          _iteratee(memo, x, (err, v) => {
+            memo = v;
+            iterCb(err);
+          });
+        }, (err) => callback(err, memo));
       }
-    };
-    exports2.blobContentMD5 = {
-      parameterPath: ["options", "blobHttpHeaders", "blobContentMD5"],
-      mapper: {
-        serializedName: "x-ms-blob-content-md5",
-        xmlName: "x-ms-blob-content-md5",
-        type: {
-          name: "ByteArray"
-        }
+      var reduce$1 = awaitify(reduce, 4);
+      function seq2(...functions) {
+        var _functions = functions.map(wrapAsync);
+        return function(...args) {
+          var that = this;
+          var cb = args[args.length - 1];
+          if (typeof cb == "function") {
+            args.pop();
+          } else {
+            cb = promiseCallback();
+          }
+          reduce$1(
+            _functions,
+            args,
+            (newargs, fn, iterCb) => {
+              fn.apply(that, newargs.concat((err, ...nextargs) => {
+                iterCb(err, nextargs);
+              }));
+            },
+            (err, results) => cb(err, ...results)
+          );
+          return cb[PROMISE_SYMBOL];
+        };
       }
-    };
-    exports2.blobContentEncoding = {
-      parameterPath: ["options", "blobHttpHeaders", "blobContentEncoding"],
-      mapper: {
-        serializedName: "x-ms-blob-content-encoding",
-        xmlName: "x-ms-blob-content-encoding",
-        type: {
-          name: "String"
-        }
+      function compose(...args) {
+        return seq2(...args.reverse());
       }
-    };
-    exports2.blobContentLanguage = {
-      parameterPath: ["options", "blobHttpHeaders", "blobContentLanguage"],
-      mapper: {
-        serializedName: "x-ms-blob-content-language",
-        xmlName: "x-ms-blob-content-language",
-        type: {
-          name: "String"
-        }
+      function mapLimit(coll, limit, iteratee, callback) {
+        return _asyncMap(eachOfLimit$2(limit), coll, iteratee, callback);
       }
-    };
-    exports2.blobContentDisposition = {
-      parameterPath: ["options", "blobHttpHeaders", "blobContentDisposition"],
-      mapper: {
-        serializedName: "x-ms-blob-content-disposition",
-        xmlName: "x-ms-blob-content-disposition",
-        type: {
-          name: "String"
-        }
+      var mapLimit$1 = awaitify(mapLimit, 4);
+      function concatLimit(coll, limit, iteratee, callback) {
+        var _iteratee = wrapAsync(iteratee);
+        return mapLimit$1(coll, limit, (val, iterCb) => {
+          _iteratee(val, (err, ...args) => {
+            if (err) return iterCb(err);
+            return iterCb(err, args);
+          });
+        }, (err, mapResults) => {
+          var result = [];
+          for (var i = 0; i < mapResults.length; i++) {
+            if (mapResults[i]) {
+              result = result.concat(...mapResults[i]);
+            }
+          }
+          return callback(err, result);
+        });
       }
-    };
-    exports2.comp12 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "immutabilityPolicies",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
-        }
+      var concatLimit$1 = awaitify(concatLimit, 4);
+      function concat(coll, iteratee, callback) {
+        return concatLimit$1(coll, Infinity, iteratee, callback);
       }
-    };
-    exports2.immutabilityPolicyExpiry = {
-      parameterPath: ["options", "immutabilityPolicyExpiry"],
-      mapper: {
-        serializedName: "x-ms-immutability-policy-until-date",
-        xmlName: "x-ms-immutability-policy-until-date",
-        type: {
-          name: "DateTimeRfc1123"
-        }
+      var concat$1 = awaitify(concat, 3);
+      function concatSeries(coll, iteratee, callback) {
+        return concatLimit$1(coll, 1, iteratee, callback);
       }
-    };
-    exports2.immutabilityPolicyMode = {
-      parameterPath: ["options", "immutabilityPolicyMode"],
-      mapper: {
-        serializedName: "x-ms-immutability-policy-mode",
-        xmlName: "x-ms-immutability-policy-mode",
-        type: {
-          name: "Enum",
-          allowedValues: ["Mutable", "Unlocked", "Locked"]
-        }
+      var concatSeries$1 = awaitify(concatSeries, 3);
+      function constant$1(...args) {
+        return function(...ignoredArgs) {
+          var callback = ignoredArgs.pop();
+          return callback(null, ...args);
+        };
       }
-    };
-    exports2.comp13 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "legalhold",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
-        }
+      function _createTester(check, getResult) {
+        return (eachfn, arr, _iteratee, cb) => {
+          var testPassed = false;
+          var testResult;
+          const iteratee = wrapAsync(_iteratee);
+          eachfn(arr, (value, _2, callback) => {
+            iteratee(value, (err, result) => {
+              if (err || err === false) return callback(err);
+              if (check(result) && !testResult) {
+                testPassed = true;
+                testResult = getResult(true, value);
+                return callback(null, breakLoop);
+              }
+              callback();
+            });
+          }, (err) => {
+            if (err) return cb(err);
+            cb(null, testPassed ? testResult : getResult(false));
+          });
+        };
       }
-    };
-    exports2.legalHold = {
-      parameterPath: "legalHold",
-      mapper: {
-        serializedName: "x-ms-legal-hold",
-        required: true,
-        xmlName: "x-ms-legal-hold",
-        type: {
-          name: "Boolean"
-        }
+      function detect(coll, iteratee, callback) {
+        return _createTester((bool2) => bool2, (res, item) => item)(eachOf$1, coll, iteratee, callback);
       }
-    };
-    exports2.encryptionScope = {
-      parameterPath: ["options", "encryptionScope"],
-      mapper: {
-        serializedName: "x-ms-encryption-scope",
-        xmlName: "x-ms-encryption-scope",
-        type: {
-          name: "String"
-        }
+      var detect$1 = awaitify(detect, 3);
+      function detectLimit(coll, limit, iteratee, callback) {
+        return _createTester((bool2) => bool2, (res, item) => item)(eachOfLimit$2(limit), coll, iteratee, callback);
       }
-    };
-    exports2.comp14 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "snapshot",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
-        }
+      var detectLimit$1 = awaitify(detectLimit, 4);
+      function detectSeries(coll, iteratee, callback) {
+        return _createTester((bool2) => bool2, (res, item) => item)(eachOfLimit$2(1), coll, iteratee, callback);
       }
-    };
-    exports2.tier = {
-      parameterPath: ["options", "tier"],
-      mapper: {
-        serializedName: "x-ms-access-tier",
-        xmlName: "x-ms-access-tier",
-        type: {
-          name: "Enum",
-          allowedValues: [
-            "P4",
-            "P6",
-            "P10",
-            "P15",
-            "P20",
-            "P30",
-            "P40",
-            "P50",
-            "P60",
-            "P70",
-            "P80",
-            "Hot",
-            "Cool",
-            "Archive",
-            "Cold"
-          ]
-        }
+      var detectSeries$1 = awaitify(detectSeries, 3);
+      function consoleFunc(name) {
+        return (fn, ...args) => wrapAsync(fn)(...args, (err, ...resultArgs) => {
+          if (typeof console === "object") {
+            if (err) {
+              if (console.error) {
+                console.error(err);
+              }
+            } else if (console[name]) {
+              resultArgs.forEach((x) => console[name](x));
+            }
+          }
+        });
       }
-    };
-    exports2.rehydratePriority = {
-      parameterPath: ["options", "rehydratePriority"],
-      mapper: {
-        serializedName: "x-ms-rehydrate-priority",
-        xmlName: "x-ms-rehydrate-priority",
-        type: {
-          name: "Enum",
-          allowedValues: ["High", "Standard"]
+      var dir = consoleFunc("dir");
+      function doWhilst(iteratee, test, callback) {
+        callback = onlyOnce(callback);
+        var _fn = wrapAsync(iteratee);
+        var _test = wrapAsync(test);
+        var results;
+        function next(err, ...args) {
+          if (err) return callback(err);
+          if (err === false) return;
+          results = args;
+          _test(...args, check);
         }
-      }
-    };
-    exports2.sourceIfModifiedSince = {
-      parameterPath: [
-        "options",
-        "sourceModifiedAccessConditions",
-        "sourceIfModifiedSince"
-      ],
-      mapper: {
-        serializedName: "x-ms-source-if-modified-since",
-        xmlName: "x-ms-source-if-modified-since",
-        type: {
-          name: "DateTimeRfc1123"
+        function check(err, truth) {
+          if (err) return callback(err);
+          if (err === false) return;
+          if (!truth) return callback(null, ...results);
+          _fn(next);
         }
+        return check(null, true);
       }
-    };
-    exports2.sourceIfUnmodifiedSince = {
-      parameterPath: [
-        "options",
-        "sourceModifiedAccessConditions",
-        "sourceIfUnmodifiedSince"
-      ],
-      mapper: {
-        serializedName: "x-ms-source-if-unmodified-since",
-        xmlName: "x-ms-source-if-unmodified-since",
-        type: {
-          name: "DateTimeRfc1123"
-        }
+      var doWhilst$1 = awaitify(doWhilst, 3);
+      function doUntil(iteratee, test, callback) {
+        const _test = wrapAsync(test);
+        return doWhilst$1(iteratee, (...args) => {
+          const cb = args.pop();
+          _test(...args, (err, truth) => cb(err, !truth));
+        }, callback);
       }
-    };
-    exports2.sourceIfMatch = {
-      parameterPath: ["options", "sourceModifiedAccessConditions", "sourceIfMatch"],
-      mapper: {
-        serializedName: "x-ms-source-if-match",
-        xmlName: "x-ms-source-if-match",
-        type: {
-          name: "String"
-        }
+      function _withoutIndex(iteratee) {
+        return (value, index2, callback) => iteratee(value, callback);
       }
-    };
-    exports2.sourceIfNoneMatch = {
-      parameterPath: [
-        "options",
-        "sourceModifiedAccessConditions",
-        "sourceIfNoneMatch"
-      ],
-      mapper: {
-        serializedName: "x-ms-source-if-none-match",
-        xmlName: "x-ms-source-if-none-match",
-        type: {
-          name: "String"
-        }
+      function eachLimit$2(coll, iteratee, callback) {
+        return eachOf$1(coll, _withoutIndex(wrapAsync(iteratee)), callback);
       }
-    };
-    exports2.sourceIfTags = {
-      parameterPath: ["options", "sourceModifiedAccessConditions", "sourceIfTags"],
-      mapper: {
-        serializedName: "x-ms-source-if-tags",
-        xmlName: "x-ms-source-if-tags",
-        type: {
-          name: "String"
-        }
+      var each = awaitify(eachLimit$2, 3);
+      function eachLimit(coll, limit, iteratee, callback) {
+        return eachOfLimit$2(limit)(coll, _withoutIndex(wrapAsync(iteratee)), callback);
       }
-    };
-    exports2.copySource = {
-      parameterPath: "copySource",
-      mapper: {
-        serializedName: "x-ms-copy-source",
-        required: true,
-        xmlName: "x-ms-copy-source",
-        type: {
-          name: "String"
-        }
+      var eachLimit$1 = awaitify(eachLimit, 4);
+      function eachSeries(coll, iteratee, callback) {
+        return eachLimit$1(coll, 1, iteratee, callback);
       }
-    };
-    exports2.blobTagsString = {
-      parameterPath: ["options", "blobTagsString"],
-      mapper: {
-        serializedName: "x-ms-tags",
-        xmlName: "x-ms-tags",
-        type: {
-          name: "String"
-        }
+      var eachSeries$1 = awaitify(eachSeries, 3);
+      function ensureAsync(fn) {
+        if (isAsync(fn)) return fn;
+        return function(...args) {
+          var callback = args.pop();
+          var sync = true;
+          args.push((...innerArgs) => {
+            if (sync) {
+              setImmediate$1(() => callback(...innerArgs));
+            } else {
+              callback(...innerArgs);
+            }
+          });
+          fn.apply(this, args);
+          sync = false;
+        };
       }
-    };
-    exports2.sealBlob = {
-      parameterPath: ["options", "sealBlob"],
-      mapper: {
-        serializedName: "x-ms-seal-blob",
-        xmlName: "x-ms-seal-blob",
-        type: {
-          name: "Boolean"
-        }
+      function every(coll, iteratee, callback) {
+        return _createTester((bool2) => !bool2, (res) => !res)(eachOf$1, coll, iteratee, callback);
       }
-    };
-    exports2.legalHold1 = {
-      parameterPath: ["options", "legalHold"],
-      mapper: {
-        serializedName: "x-ms-legal-hold",
-        xmlName: "x-ms-legal-hold",
-        type: {
-          name: "Boolean"
-        }
+      var every$1 = awaitify(every, 3);
+      function everyLimit(coll, limit, iteratee, callback) {
+        return _createTester((bool2) => !bool2, (res) => !res)(eachOfLimit$2(limit), coll, iteratee, callback);
       }
-    };
-    exports2.xMsRequiresSync = {
-      parameterPath: "xMsRequiresSync",
-      mapper: {
-        defaultValue: "true",
-        isConstant: true,
-        serializedName: "x-ms-requires-sync",
-        type: {
-          name: "String"
-        }
+      var everyLimit$1 = awaitify(everyLimit, 4);
+      function everySeries(coll, iteratee, callback) {
+        return _createTester((bool2) => !bool2, (res) => !res)(eachOfSeries$1, coll, iteratee, callback);
       }
-    };
-    exports2.sourceContentMD5 = {
-      parameterPath: ["options", "sourceContentMD5"],
-      mapper: {
-        serializedName: "x-ms-source-content-md5",
-        xmlName: "x-ms-source-content-md5",
-        type: {
-          name: "ByteArray"
-        }
+      var everySeries$1 = awaitify(everySeries, 3);
+      function filterArray(eachfn, arr, iteratee, callback) {
+        var truthValues = new Array(arr.length);
+        eachfn(arr, (x, index2, iterCb) => {
+          iteratee(x, (err, v) => {
+            truthValues[index2] = !!v;
+            iterCb(err);
+          });
+        }, (err) => {
+          if (err) return callback(err);
+          var results = [];
+          for (var i = 0; i < arr.length; i++) {
+            if (truthValues[i]) results.push(arr[i]);
+          }
+          callback(null, results);
+        });
       }
-    };
-    exports2.copySourceAuthorization = {
-      parameterPath: ["options", "copySourceAuthorization"],
-      mapper: {
-        serializedName: "x-ms-copy-source-authorization",
-        xmlName: "x-ms-copy-source-authorization",
-        type: {
-          name: "String"
-        }
+      function filterGeneric(eachfn, coll, iteratee, callback) {
+        var results = [];
+        eachfn(coll, (x, index2, iterCb) => {
+          iteratee(x, (err, v) => {
+            if (err) return iterCb(err);
+            if (v) {
+              results.push({ index: index2, value: x });
+            }
+            iterCb(err);
+          });
+        }, (err) => {
+          if (err) return callback(err);
+          callback(null, results.sort((a, b) => a.index - b.index).map((v) => v.value));
+        });
       }
-    };
-    exports2.copySourceTags = {
-      parameterPath: ["options", "copySourceTags"],
-      mapper: {
-        serializedName: "x-ms-copy-source-tag-option",
-        xmlName: "x-ms-copy-source-tag-option",
-        type: {
-          name: "Enum",
-          allowedValues: ["REPLACE", "COPY"]
-        }
+      function _filter(eachfn, coll, iteratee, callback) {
+        var filter2 = isArrayLike(coll) ? filterArray : filterGeneric;
+        return filter2(eachfn, coll, wrapAsync(iteratee), callback);
       }
-    };
-    exports2.fileRequestIntent = {
-      parameterPath: ["options", "fileRequestIntent"],
-      mapper: {
-        serializedName: "x-ms-file-request-intent",
-        xmlName: "x-ms-file-request-intent",
-        type: {
-          name: "String"
-        }
+      function filter(coll, iteratee, callback) {
+        return _filter(eachOf$1, coll, iteratee, callback);
       }
-    };
-    exports2.comp15 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "copy",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
-        }
+      var filter$1 = awaitify(filter, 3);
+      function filterLimit(coll, limit, iteratee, callback) {
+        return _filter(eachOfLimit$2(limit), coll, iteratee, callback);
       }
-    };
-    exports2.copyActionAbortConstant = {
-      parameterPath: "copyActionAbortConstant",
-      mapper: {
-        defaultValue: "abort",
-        isConstant: true,
-        serializedName: "x-ms-copy-action",
-        type: {
-          name: "String"
-        }
+      var filterLimit$1 = awaitify(filterLimit, 4);
+      function filterSeries(coll, iteratee, callback) {
+        return _filter(eachOfSeries$1, coll, iteratee, callback);
       }
-    };
-    exports2.copyId = {
-      parameterPath: "copyId",
-      mapper: {
-        serializedName: "copyid",
-        required: true,
-        xmlName: "copyid",
-        type: {
-          name: "String"
+      var filterSeries$1 = awaitify(filterSeries, 3);
+      function forever(fn, errback) {
+        var done = onlyOnce(errback);
+        var task = wrapAsync(ensureAsync(fn));
+        function next(err) {
+          if (err) return done(err);
+          if (err === false) return;
+          task(next);
         }
+        return next();
       }
-    };
-    exports2.comp16 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "tier",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
-        }
+      var forever$1 = awaitify(forever, 2);
+      function groupByLimit(coll, limit, iteratee, callback) {
+        var _iteratee = wrapAsync(iteratee);
+        return mapLimit$1(coll, limit, (val, iterCb) => {
+          _iteratee(val, (err, key) => {
+            if (err) return iterCb(err);
+            return iterCb(err, { key, val });
+          });
+        }, (err, mapResults) => {
+          var result = {};
+          var { hasOwnProperty } = Object.prototype;
+          for (var i = 0; i < mapResults.length; i++) {
+            if (mapResults[i]) {
+              var { key } = mapResults[i];
+              var { val } = mapResults[i];
+              if (hasOwnProperty.call(result, key)) {
+                result[key].push(val);
+              } else {
+                result[key] = [val];
+              }
+            }
+          }
+          return callback(err, result);
+        });
       }
-    };
-    exports2.tier1 = {
-      parameterPath: "tier",
-      mapper: {
-        serializedName: "x-ms-access-tier",
-        required: true,
-        xmlName: "x-ms-access-tier",
-        type: {
-          name: "Enum",
-          allowedValues: [
-            "P4",
-            "P6",
-            "P10",
-            "P15",
-            "P20",
-            "P30",
-            "P40",
-            "P50",
-            "P60",
-            "P70",
-            "P80",
-            "Hot",
-            "Cool",
-            "Archive",
-            "Cold"
-          ]
-        }
+      var groupByLimit$1 = awaitify(groupByLimit, 4);
+      function groupBy(coll, iteratee, callback) {
+        return groupByLimit$1(coll, Infinity, iteratee, callback);
       }
-    };
-    exports2.queryRequest = {
-      parameterPath: ["options", "queryRequest"],
-      mapper: mappers_js_1.QueryRequest
-    };
-    exports2.comp17 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "query",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
-        }
+      function groupBySeries(coll, iteratee, callback) {
+        return groupByLimit$1(coll, 1, iteratee, callback);
       }
-    };
-    exports2.comp18 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "tags",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
-        }
+      var log = consoleFunc("log");
+      function mapValuesLimit(obj, limit, iteratee, callback) {
+        callback = once(callback);
+        var newObj = {};
+        var _iteratee = wrapAsync(iteratee);
+        return eachOfLimit$2(limit)(obj, (val, key, next) => {
+          _iteratee(val, key, (err, result) => {
+            if (err) return next(err);
+            newObj[key] = result;
+            next(err);
+          });
+        }, (err) => callback(err, newObj));
       }
-    };
-    exports2.tags = {
-      parameterPath: ["options", "tags"],
-      mapper: mappers_js_1.BlobTags
-    };
-    exports2.transactionalContentMD5 = {
-      parameterPath: ["options", "transactionalContentMD5"],
-      mapper: {
-        serializedName: "Content-MD5",
-        xmlName: "Content-MD5",
-        type: {
-          name: "ByteArray"
-        }
+      var mapValuesLimit$1 = awaitify(mapValuesLimit, 4);
+      function mapValues(obj, iteratee, callback) {
+        return mapValuesLimit$1(obj, Infinity, iteratee, callback);
       }
-    };
-    exports2.transactionalContentCrc64 = {
-      parameterPath: ["options", "transactionalContentCrc64"],
-      mapper: {
-        serializedName: "x-ms-content-crc64",
-        xmlName: "x-ms-content-crc64",
-        type: {
-          name: "ByteArray"
-        }
+      function mapValuesSeries(obj, iteratee, callback) {
+        return mapValuesLimit$1(obj, 1, iteratee, callback);
       }
-    };
-    exports2.blobType = {
-      parameterPath: "blobType",
-      mapper: {
-        defaultValue: "PageBlob",
-        isConstant: true,
-        serializedName: "x-ms-blob-type",
-        type: {
-          name: "String"
-        }
+      function memoize(fn, hasher = (v) => v) {
+        var memo = /* @__PURE__ */ Object.create(null);
+        var queues = /* @__PURE__ */ Object.create(null);
+        var _fn = wrapAsync(fn);
+        var memoized = initialParams((args, callback) => {
+          var key = hasher(...args);
+          if (key in memo) {
+            setImmediate$1(() => callback(null, ...memo[key]));
+          } else if (key in queues) {
+            queues[key].push(callback);
+          } else {
+            queues[key] = [callback];
+            _fn(...args, (err, ...resultArgs) => {
+              if (!err) {
+                memo[key] = resultArgs;
+              }
+              var q = queues[key];
+              delete queues[key];
+              for (var i = 0, l = q.length; i < l; i++) {
+                q[i](err, ...resultArgs);
+              }
+            });
+          }
+        });
+        memoized.memo = memo;
+        memoized.unmemoized = fn;
+        return memoized;
       }
-    };
-    exports2.blobContentLength = {
-      parameterPath: "blobContentLength",
-      mapper: {
-        serializedName: "x-ms-blob-content-length",
-        required: true,
-        xmlName: "x-ms-blob-content-length",
-        type: {
-          name: "Number"
-        }
+      var _defer;
+      if (hasNextTick) {
+        _defer = process.nextTick;
+      } else if (hasSetImmediate) {
+        _defer = setImmediate;
+      } else {
+        _defer = fallback;
       }
-    };
-    exports2.blobSequenceNumber = {
-      parameterPath: ["options", "blobSequenceNumber"],
-      mapper: {
-        defaultValue: 0,
-        serializedName: "x-ms-blob-sequence-number",
-        xmlName: "x-ms-blob-sequence-number",
-        type: {
-          name: "Number"
-        }
+      var nextTick = wrap(_defer);
+      var _parallel = awaitify((eachfn, tasks, callback) => {
+        var results = isArrayLike(tasks) ? [] : {};
+        eachfn(tasks, (task, key, taskCb) => {
+          wrapAsync(task)((err, ...result) => {
+            if (result.length < 2) {
+              [result] = result;
+            }
+            results[key] = result;
+            taskCb(err);
+          });
+        }, (err) => callback(err, results));
+      }, 3);
+      function parallel(tasks, callback) {
+        return _parallel(eachOf$1, tasks, callback);
       }
-    };
-    exports2.contentType1 = {
-      parameterPath: ["options", "contentType"],
-      mapper: {
-        defaultValue: "application/octet-stream",
-        isConstant: true,
-        serializedName: "Content-Type",
-        type: {
-          name: "String"
-        }
+      function parallelLimit(tasks, limit, callback) {
+        return _parallel(eachOfLimit$2(limit), tasks, callback);
       }
-    };
-    exports2.body1 = {
-      parameterPath: "body",
-      mapper: {
-        serializedName: "body",
-        required: true,
-        xmlName: "body",
-        type: {
-          name: "Stream"
-        }
+      function queue(worker, concurrency) {
+        var _worker = wrapAsync(worker);
+        return queue$1((items, cb) => {
+          _worker(items[0], cb);
+        }, concurrency, 1);
       }
-    };
-    exports2.accept2 = {
-      parameterPath: "accept",
-      mapper: {
-        defaultValue: "application/xml",
-        isConstant: true,
-        serializedName: "Accept",
-        type: {
-          name: "String"
+      class Heap {
+        constructor() {
+          this.heap = [];
+          this.pushCount = Number.MIN_SAFE_INTEGER;
         }
-      }
-    };
-    exports2.comp19 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "page",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+        get length() {
+          return this.heap.length;
         }
-      }
-    };
-    exports2.pageWrite = {
-      parameterPath: "pageWrite",
-      mapper: {
-        defaultValue: "update",
-        isConstant: true,
-        serializedName: "x-ms-page-write",
-        type: {
-          name: "String"
+        empty() {
+          this.heap = [];
+          return this;
         }
-      }
-    };
-    exports2.ifSequenceNumberLessThanOrEqualTo = {
-      parameterPath: [
-        "options",
-        "sequenceNumberAccessConditions",
-        "ifSequenceNumberLessThanOrEqualTo"
-      ],
-      mapper: {
-        serializedName: "x-ms-if-sequence-number-le",
-        xmlName: "x-ms-if-sequence-number-le",
-        type: {
-          name: "Number"
+        percUp(index2) {
+          let p;
+          while (index2 > 0 && smaller(this.heap[index2], this.heap[p = parent(index2)])) {
+            let t = this.heap[index2];
+            this.heap[index2] = this.heap[p];
+            this.heap[p] = t;
+            index2 = p;
+          }
         }
-      }
-    };
-    exports2.ifSequenceNumberLessThan = {
-      parameterPath: [
-        "options",
-        "sequenceNumberAccessConditions",
-        "ifSequenceNumberLessThan"
-      ],
-      mapper: {
-        serializedName: "x-ms-if-sequence-number-lt",
-        xmlName: "x-ms-if-sequence-number-lt",
-        type: {
-          name: "Number"
+        percDown(index2) {
+          let l;
+          while ((l = leftChi(index2)) < this.heap.length) {
+            if (l + 1 < this.heap.length && smaller(this.heap[l + 1], this.heap[l])) {
+              l = l + 1;
+            }
+            if (smaller(this.heap[index2], this.heap[l])) {
+              break;
+            }
+            let t = this.heap[index2];
+            this.heap[index2] = this.heap[l];
+            this.heap[l] = t;
+            index2 = l;
+          }
         }
-      }
-    };
-    exports2.ifSequenceNumberEqualTo = {
-      parameterPath: [
-        "options",
-        "sequenceNumberAccessConditions",
-        "ifSequenceNumberEqualTo"
-      ],
-      mapper: {
-        serializedName: "x-ms-if-sequence-number-eq",
-        xmlName: "x-ms-if-sequence-number-eq",
-        type: {
-          name: "Number"
+        push(node) {
+          node.pushCount = ++this.pushCount;
+          this.heap.push(node);
+          this.percUp(this.heap.length - 1);
         }
-      }
-    };
-    exports2.pageWrite1 = {
-      parameterPath: "pageWrite",
-      mapper: {
-        defaultValue: "clear",
-        isConstant: true,
-        serializedName: "x-ms-page-write",
-        type: {
-          name: "String"
+        unshift(node) {
+          return this.heap.push(node);
         }
-      }
-    };
-    exports2.sourceUrl = {
-      parameterPath: "sourceUrl",
-      mapper: {
-        serializedName: "x-ms-copy-source",
-        required: true,
-        xmlName: "x-ms-copy-source",
-        type: {
-          name: "String"
+        shift() {
+          let [top] = this.heap;
+          this.heap[0] = this.heap[this.heap.length - 1];
+          this.heap.pop();
+          this.percDown(0);
+          return top;
         }
-      }
-    };
-    exports2.sourceRange = {
-      parameterPath: "sourceRange",
-      mapper: {
-        serializedName: "x-ms-source-range",
-        required: true,
-        xmlName: "x-ms-source-range",
-        type: {
-          name: "String"
+        toArray() {
+          return [...this];
         }
-      }
-    };
-    exports2.sourceContentCrc64 = {
-      parameterPath: ["options", "sourceContentCrc64"],
-      mapper: {
-        serializedName: "x-ms-source-content-crc64",
-        xmlName: "x-ms-source-content-crc64",
-        type: {
-          name: "ByteArray"
+        *[Symbol.iterator]() {
+          for (let i = 0; i < this.heap.length; i++) {
+            yield this.heap[i].data;
+          }
         }
-      }
-    };
-    exports2.range1 = {
-      parameterPath: "range",
-      mapper: {
-        serializedName: "x-ms-range",
-        required: true,
-        xmlName: "x-ms-range",
-        type: {
-          name: "String"
+        remove(testFn) {
+          let j = 0;
+          for (let i = 0; i < this.heap.length; i++) {
+            if (!testFn(this.heap[i])) {
+              this.heap[j] = this.heap[i];
+              j++;
+            }
+          }
+          this.heap.splice(j);
+          for (let i = parent(this.heap.length - 1); i >= 0; i--) {
+            this.percDown(i);
+          }
+          return this;
         }
       }
-    };
-    exports2.comp20 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "pagelist",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
-        }
+      function leftChi(i) {
+        return (i << 1) + 1;
       }
-    };
-    exports2.prevsnapshot = {
-      parameterPath: ["options", "prevsnapshot"],
-      mapper: {
-        serializedName: "prevsnapshot",
-        xmlName: "prevsnapshot",
-        type: {
-          name: "String"
-        }
+      function parent(i) {
+        return (i + 1 >> 1) - 1;
       }
-    };
-    exports2.prevSnapshotUrl = {
-      parameterPath: ["options", "prevSnapshotUrl"],
-      mapper: {
-        serializedName: "x-ms-previous-snapshot-url",
-        xmlName: "x-ms-previous-snapshot-url",
-        type: {
-          name: "String"
+      function smaller(x, y) {
+        if (x.priority !== y.priority) {
+          return x.priority < y.priority;
+        } else {
+          return x.pushCount < y.pushCount;
         }
       }
-    };
-    exports2.sequenceNumberAction = {
-      parameterPath: "sequenceNumberAction",
-      mapper: {
-        serializedName: "x-ms-sequence-number-action",
-        required: true,
-        xmlName: "x-ms-sequence-number-action",
-        type: {
-          name: "Enum",
-          allowedValues: ["max", "update", "increment"]
+      function priorityQueue(worker, concurrency) {
+        var q = queue(worker, concurrency);
+        var {
+          push,
+          pushAsync
+        } = q;
+        q._tasks = new Heap();
+        q._createTaskItem = ({ data, priority }, callback) => {
+          return {
+            data,
+            priority,
+            callback
+          };
+        };
+        function createDataItems(tasks, priority) {
+          if (!Array.isArray(tasks)) {
+            return { data: tasks, priority };
+          }
+          return tasks.map((data) => {
+            return { data, priority };
+          });
         }
+        q.push = function(data, priority = 0, callback) {
+          return push(createDataItems(data, priority), callback);
+        };
+        q.pushAsync = function(data, priority = 0, callback) {
+          return pushAsync(createDataItems(data, priority), callback);
+        };
+        delete q.unshift;
+        delete q.unshiftAsync;
+        return q;
       }
-    };
-    exports2.comp21 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "incrementalcopy",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+      function race(tasks, callback) {
+        callback = once(callback);
+        if (!Array.isArray(tasks)) return callback(new TypeError("First argument to race must be an array of functions"));
+        if (!tasks.length) return callback();
+        for (var i = 0, l = tasks.length; i < l; i++) {
+          wrapAsync(tasks[i])(callback);
         }
       }
-    };
-    exports2.blobType1 = {
-      parameterPath: "blobType",
-      mapper: {
-        defaultValue: "AppendBlob",
-        isConstant: true,
-        serializedName: "x-ms-blob-type",
-        type: {
-          name: "String"
-        }
+      var race$1 = awaitify(race, 2);
+      function reduceRight(array, memo, iteratee, callback) {
+        var reversed = [...array].reverse();
+        return reduce$1(reversed, memo, iteratee, callback);
       }
-    };
-    exports2.comp22 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "appendblock",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
-        }
+      function reflect(fn) {
+        var _fn = wrapAsync(fn);
+        return initialParams(function reflectOn(args, reflectCallback) {
+          args.push((error3, ...cbArgs) => {
+            let retVal = {};
+            if (error3) {
+              retVal.error = error3;
+            }
+            if (cbArgs.length > 0) {
+              var value = cbArgs;
+              if (cbArgs.length <= 1) {
+                [value] = cbArgs;
+              }
+              retVal.value = value;
+            }
+            reflectCallback(null, retVal);
+          });
+          return _fn.apply(this, args);
+        });
       }
-    };
-    exports2.maxSize = {
-      parameterPath: ["options", "appendPositionAccessConditions", "maxSize"],
-      mapper: {
-        serializedName: "x-ms-blob-condition-maxsize",
-        xmlName: "x-ms-blob-condition-maxsize",
-        type: {
-          name: "Number"
+      function reflectAll(tasks) {
+        var results;
+        if (Array.isArray(tasks)) {
+          results = tasks.map(reflect);
+        } else {
+          results = {};
+          Object.keys(tasks).forEach((key) => {
+            results[key] = reflect.call(this, tasks[key]);
+          });
         }
+        return results;
       }
-    };
-    exports2.appendPosition = {
-      parameterPath: [
-        "options",
-        "appendPositionAccessConditions",
-        "appendPosition"
-      ],
-      mapper: {
-        serializedName: "x-ms-blob-condition-appendpos",
-        xmlName: "x-ms-blob-condition-appendpos",
-        type: {
-          name: "Number"
-        }
+      function reject$2(eachfn, arr, _iteratee, callback) {
+        const iteratee = wrapAsync(_iteratee);
+        return _filter(eachfn, arr, (value, cb) => {
+          iteratee(value, (err, v) => {
+            cb(err, !v);
+          });
+        }, callback);
       }
-    };
-    exports2.sourceRange1 = {
-      parameterPath: ["options", "sourceRange"],
-      mapper: {
-        serializedName: "x-ms-source-range",
-        xmlName: "x-ms-source-range",
-        type: {
-          name: "String"
-        }
+      function reject(coll, iteratee, callback) {
+        return reject$2(eachOf$1, coll, iteratee, callback);
       }
-    };
-    exports2.comp23 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "seal",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
-        }
+      var reject$1 = awaitify(reject, 3);
+      function rejectLimit(coll, limit, iteratee, callback) {
+        return reject$2(eachOfLimit$2(limit), coll, iteratee, callback);
       }
-    };
-    exports2.blobType2 = {
-      parameterPath: "blobType",
-      mapper: {
-        defaultValue: "BlockBlob",
-        isConstant: true,
-        serializedName: "x-ms-blob-type",
-        type: {
-          name: "String"
-        }
+      var rejectLimit$1 = awaitify(rejectLimit, 4);
+      function rejectSeries(coll, iteratee, callback) {
+        return reject$2(eachOfSeries$1, coll, iteratee, callback);
       }
-    };
-    exports2.copySourceBlobProperties = {
-      parameterPath: ["options", "copySourceBlobProperties"],
-      mapper: {
-        serializedName: "x-ms-copy-source-blob-properties",
-        xmlName: "x-ms-copy-source-blob-properties",
-        type: {
-          name: "Boolean"
-        }
+      var rejectSeries$1 = awaitify(rejectSeries, 3);
+      function constant(value) {
+        return function() {
+          return value;
+        };
       }
-    };
-    exports2.comp24 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "block",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+      const DEFAULT_TIMES = 5;
+      const DEFAULT_INTERVAL = 0;
+      function retry2(opts, task, callback) {
+        var options = {
+          times: DEFAULT_TIMES,
+          intervalFunc: constant(DEFAULT_INTERVAL)
+        };
+        if (arguments.length < 3 && typeof opts === "function") {
+          callback = task || promiseCallback();
+          task = opts;
+        } else {
+          parseTimes(options, opts);
+          callback = callback || promiseCallback();
         }
-      }
-    };
-    exports2.blockId = {
-      parameterPath: "blockId",
-      mapper: {
-        serializedName: "blockid",
-        required: true,
-        xmlName: "blockid",
-        type: {
-          name: "String"
+        if (typeof task !== "function") {
+          throw new Error("Invalid arguments for async.retry");
+        }
+        var _task = wrapAsync(task);
+        var attempt = 1;
+        function retryAttempt() {
+          _task((err, ...args) => {
+            if (err === false) return;
+            if (err && attempt++ < options.times && (typeof options.errorFilter != "function" || options.errorFilter(err))) {
+              setTimeout(retryAttempt, options.intervalFunc(attempt - 1));
+            } else {
+              callback(err, ...args);
+            }
+          });
         }
+        retryAttempt();
+        return callback[PROMISE_SYMBOL];
       }
-    };
-    exports2.blocks = {
-      parameterPath: "blocks",
-      mapper: mappers_js_1.BlockLookupList
-    };
-    exports2.comp25 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "blocklist",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+      function parseTimes(acc, t) {
+        if (typeof t === "object") {
+          acc.times = +t.times || DEFAULT_TIMES;
+          acc.intervalFunc = typeof t.interval === "function" ? t.interval : constant(+t.interval || DEFAULT_INTERVAL);
+          acc.errorFilter = t.errorFilter;
+        } else if (typeof t === "number" || typeof t === "string") {
+          acc.times = +t || DEFAULT_TIMES;
+        } else {
+          throw new Error("Invalid arguments for async.retry");
         }
       }
-    };
-    exports2.listType = {
-      parameterPath: "listType",
-      mapper: {
-        defaultValue: "committed",
-        serializedName: "blocklisttype",
-        required: true,
-        xmlName: "blocklisttype",
-        type: {
-          name: "Enum",
-          allowedValues: ["committed", "uncommitted", "all"]
+      function retryable(opts, task) {
+        if (!task) {
+          task = opts;
+          opts = null;
+        }
+        let arity = opts && opts.arity || task.length;
+        if (isAsync(task)) {
+          arity += 1;
         }
+        var _task = wrapAsync(task);
+        return initialParams((args, callback) => {
+          if (args.length < arity - 1 || callback == null) {
+            args.push(callback);
+            callback = promiseCallback();
+          }
+          function taskFn(cb) {
+            _task(...args, cb);
+          }
+          if (opts) retry2(opts, taskFn, callback);
+          else retry2(taskFn, callback);
+          return callback[PROMISE_SYMBOL];
+        });
       }
-    };
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/service.js
-var require_service = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/service.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ServiceImpl = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var coreClient = tslib_1.__importStar(require_commonjs10());
-    var Mappers = tslib_1.__importStar(require_mappers());
-    var Parameters = tslib_1.__importStar(require_parameters());
-    var ServiceImpl = class {
-      client;
-      /**
-       * Initialize a new instance of the class Service class.
-       * @param client Reference to the service client
-       */
-      constructor(client) {
-        this.client = client;
+      function series(tasks, callback) {
+        return _parallel(eachOfSeries$1, tasks, callback);
       }
-      /**
-       * Sets properties for a storage account's Blob service endpoint, including properties for Storage
-       * Analytics and CORS (Cross-Origin Resource Sharing) rules
-       * @param blobServiceProperties The StorageService properties.
-       * @param options The options parameters.
-       */
-      setProperties(blobServiceProperties, options) {
-        return this.client.sendOperationRequest({ blobServiceProperties, options }, setPropertiesOperationSpec);
+      function some(coll, iteratee, callback) {
+        return _createTester(Boolean, (res) => res)(eachOf$1, coll, iteratee, callback);
       }
-      /**
-       * gets the properties of a storage account's Blob service, including properties for Storage Analytics
-       * and CORS (Cross-Origin Resource Sharing) rules.
-       * @param options The options parameters.
-       */
-      getProperties(options) {
-        return this.client.sendOperationRequest({ options }, getPropertiesOperationSpec);
+      var some$1 = awaitify(some, 3);
+      function someLimit(coll, limit, iteratee, callback) {
+        return _createTester(Boolean, (res) => res)(eachOfLimit$2(limit), coll, iteratee, callback);
       }
-      /**
-       * Retrieves statistics related to replication for the Blob service. It is only available on the
-       * secondary location endpoint when read-access geo-redundant replication is enabled for the storage
-       * account.
-       * @param options The options parameters.
-       */
-      getStatistics(options) {
-        return this.client.sendOperationRequest({ options }, getStatisticsOperationSpec);
+      var someLimit$1 = awaitify(someLimit, 4);
+      function someSeries(coll, iteratee, callback) {
+        return _createTester(Boolean, (res) => res)(eachOfSeries$1, coll, iteratee, callback);
       }
-      /**
-       * The List Containers Segment operation returns a list of the containers under the specified account
-       * @param options The options parameters.
-       */
-      listContainersSegment(options) {
-        return this.client.sendOperationRequest({ options }, listContainersSegmentOperationSpec);
+      var someSeries$1 = awaitify(someSeries, 3);
+      function sortBy(coll, iteratee, callback) {
+        var _iteratee = wrapAsync(iteratee);
+        return map$1(coll, (x, iterCb) => {
+          _iteratee(x, (err, criteria) => {
+            if (err) return iterCb(err);
+            iterCb(err, { value: x, criteria });
+          });
+        }, (err, results) => {
+          if (err) return callback(err);
+          callback(null, results.sort(comparator).map((v) => v.value));
+        });
+        function comparator(left, right) {
+          var a = left.criteria, b = right.criteria;
+          return a < b ? -1 : a > b ? 1 : 0;
+        }
       }
-      /**
-       * Retrieves a user delegation key for the Blob service. This is only a valid operation when using
-       * bearer token authentication.
-       * @param keyInfo Key information
-       * @param options The options parameters.
-       */
-      getUserDelegationKey(keyInfo, options) {
-        return this.client.sendOperationRequest({ keyInfo, options }, getUserDelegationKeyOperationSpec);
+      var sortBy$1 = awaitify(sortBy, 3);
+      function timeout(asyncFn, milliseconds, info7) {
+        var fn = wrapAsync(asyncFn);
+        return initialParams((args, callback) => {
+          var timedOut = false;
+          var timer;
+          function timeoutCallback() {
+            var name = asyncFn.name || "anonymous";
+            var error3 = new Error('Callback function "' + name + '" timed out.');
+            error3.code = "ETIMEDOUT";
+            if (info7) {
+              error3.info = info7;
+            }
+            timedOut = true;
+            callback(error3);
+          }
+          args.push((...cbArgs) => {
+            if (!timedOut) {
+              callback(...cbArgs);
+              clearTimeout(timer);
+            }
+          });
+          timer = setTimeout(timeoutCallback, milliseconds);
+          fn(...args);
+        });
       }
-      /**
-       * Returns the sku name and account kind
-       * @param options The options parameters.
-       */
-      getAccountInfo(options) {
-        return this.client.sendOperationRequest({ options }, getAccountInfoOperationSpec);
+      function range(size) {
+        var result = Array(size);
+        while (size--) {
+          result[size] = size;
+        }
+        return result;
       }
-      /**
-       * The Batch operation allows multiple API calls to be embedded into a single HTTP request.
-       * @param contentLength The length of the request.
-       * @param multipartContentType Required. The value of this header must be multipart/mixed with a batch
-       *                             boundary. Example header value: multipart/mixed; boundary=batch_
-       * @param body Initial data
-       * @param options The options parameters.
-       */
-      submitBatch(contentLength, multipartContentType, body, options) {
-        return this.client.sendOperationRequest({ contentLength, multipartContentType, body, options }, submitBatchOperationSpec);
+      function timesLimit(count, limit, iteratee, callback) {
+        var _iteratee = wrapAsync(iteratee);
+        return mapLimit$1(range(count), limit, _iteratee, callback);
       }
-      /**
-       * The Filter Blobs operation enables callers to list blobs across all containers whose tags match a
-       * given search expression.  Filter blobs searches across all containers within a storage account but
-       * can be scoped within the expression to a single container.
-       * @param options The options parameters.
-       */
-      filterBlobs(options) {
-        return this.client.sendOperationRequest({ options }, filterBlobsOperationSpec);
+      function times(n, iteratee, callback) {
+        return timesLimit(n, Infinity, iteratee, callback);
       }
-    };
-    exports2.ServiceImpl = ServiceImpl;
-    var xmlSerializer = coreClient.createSerializer(
-      Mappers,
-      /* isXml */
-      true
-    );
-    var setPropertiesOperationSpec = {
-      path: "/",
-      httpMethod: "PUT",
-      responses: {
-        202: {
-          headersMapper: Mappers.ServiceSetPropertiesHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ServiceSetPropertiesExceptionHeaders
-        }
-      },
-      requestBody: Parameters.blobServiceProperties,
-      queryParameters: [
-        Parameters.restype,
-        Parameters.comp,
-        Parameters.timeoutInSeconds
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.contentType,
-        Parameters.accept,
-        Parameters.version,
-        Parameters.requestId
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "xml",
-      serializer: xmlSerializer
-    };
-    var getPropertiesOperationSpec = {
-      path: "/",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.BlobServiceProperties,
-          headersMapper: Mappers.ServiceGetPropertiesHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ServiceGetPropertiesExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.restype,
-        Parameters.comp,
-        Parameters.timeoutInSeconds
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var getStatisticsOperationSpec = {
-      path: "/",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.BlobServiceStatistics,
-          headersMapper: Mappers.ServiceGetStatisticsHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ServiceGetStatisticsExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.restype,
-        Parameters.timeoutInSeconds,
-        Parameters.comp1
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var listContainersSegmentOperationSpec = {
-      path: "/",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.ListContainersSegmentResponse,
-          headersMapper: Mappers.ServiceListContainersSegmentHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ServiceListContainersSegmentExceptionHeaders
+      function timesSeries(n, iteratee, callback) {
+        return timesLimit(n, 1, iteratee, callback);
+      }
+      function transform(coll, accumulator, iteratee, callback) {
+        if (arguments.length <= 3 && typeof accumulator === "function") {
+          callback = iteratee;
+          iteratee = accumulator;
+          accumulator = Array.isArray(coll) ? [] : {};
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.comp2,
-        Parameters.prefix,
-        Parameters.marker,
-        Parameters.maxPageSize,
-        Parameters.include
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var getUserDelegationKeyOperationSpec = {
-      path: "/",
-      httpMethod: "POST",
-      responses: {
-        200: {
-          bodyMapper: Mappers.UserDelegationKey,
-          headersMapper: Mappers.ServiceGetUserDelegationKeyHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ServiceGetUserDelegationKeyExceptionHeaders
+        callback = once(callback || promiseCallback());
+        var _iteratee = wrapAsync(iteratee);
+        eachOf$1(coll, (v, k, cb) => {
+          _iteratee(accumulator, v, k, cb);
+        }, (err) => callback(err, accumulator));
+        return callback[PROMISE_SYMBOL];
+      }
+      function tryEach(tasks, callback) {
+        var error3 = null;
+        var result;
+        return eachSeries$1(tasks, (task, taskCb) => {
+          wrapAsync(task)((err, ...args) => {
+            if (err === false) return taskCb(err);
+            if (args.length < 2) {
+              [result] = args;
+            } else {
+              result = args;
+            }
+            error3 = err;
+            taskCb(err ? null : {});
+          });
+        }, () => callback(error3, result));
+      }
+      var tryEach$1 = awaitify(tryEach);
+      function unmemoize(fn) {
+        return (...args) => {
+          return (fn.unmemoized || fn)(...args);
+        };
+      }
+      function whilst(test, iteratee, callback) {
+        callback = onlyOnce(callback);
+        var _fn = wrapAsync(iteratee);
+        var _test = wrapAsync(test);
+        var results = [];
+        function next(err, ...rest) {
+          if (err) return callback(err);
+          results = rest;
+          if (err === false) return;
+          _test(check);
         }
-      },
-      requestBody: Parameters.keyInfo,
-      queryParameters: [
-        Parameters.restype,
-        Parameters.timeoutInSeconds,
-        Parameters.comp3
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.contentType,
-        Parameters.accept,
-        Parameters.version,
-        Parameters.requestId
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "xml",
-      serializer: xmlSerializer
-    };
-    var getAccountInfoOperationSpec = {
-      path: "/",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          headersMapper: Mappers.ServiceGetAccountInfoHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ServiceGetAccountInfoExceptionHeaders
+        function check(err, truth) {
+          if (err) return callback(err);
+          if (err === false) return;
+          if (!truth) return callback(null, ...results);
+          _fn(next);
         }
-      },
-      queryParameters: [
-        Parameters.comp,
-        Parameters.timeoutInSeconds,
-        Parameters.restype1
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var submitBatchOperationSpec = {
-      path: "/",
-      httpMethod: "POST",
-      responses: {
-        202: {
-          bodyMapper: {
-            type: { name: "Stream" },
-            serializedName: "parsedResponse"
-          },
-          headersMapper: Mappers.ServiceSubmitBatchHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ServiceSubmitBatchExceptionHeaders
+        return _test(check);
+      }
+      var whilst$1 = awaitify(whilst, 3);
+      function until(test, iteratee, callback) {
+        const _test = wrapAsync(test);
+        return whilst$1((cb) => _test((err, truth) => cb(err, !truth)), iteratee, callback);
+      }
+      function waterfall(tasks, callback) {
+        callback = once(callback);
+        if (!Array.isArray(tasks)) return callback(new Error("First argument to waterfall must be an array of functions"));
+        if (!tasks.length) return callback();
+        var taskIndex = 0;
+        function nextTask(args) {
+          var task = wrapAsync(tasks[taskIndex++]);
+          task(...args, onlyOnce(next));
         }
-      },
-      requestBody: Parameters.body,
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp4],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.accept,
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.contentLength,
-        Parameters.multipartContentType
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "xml",
-      serializer: xmlSerializer
-    };
-    var filterBlobsOperationSpec = {
-      path: "/",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.FilterBlobSegment,
-          headersMapper: Mappers.ServiceFilterBlobsHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ServiceFilterBlobsExceptionHeaders
+        function next(err, ...args) {
+          if (err === false) return;
+          if (err || taskIndex === tasks.length) {
+            return callback(err, ...args);
+          }
+          nextTask(args);
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.marker,
-        Parameters.maxPageSize,
-        Parameters.comp5,
-        Parameters.where
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
+        nextTask([]);
+      }
+      var waterfall$1 = awaitify(waterfall);
+      var index = {
+        apply,
+        applyEach,
+        applyEachSeries,
+        asyncify,
+        auto,
+        autoInject,
+        cargo: cargo$1,
+        cargoQueue: cargo,
+        compose,
+        concat: concat$1,
+        concatLimit: concatLimit$1,
+        concatSeries: concatSeries$1,
+        constant: constant$1,
+        detect: detect$1,
+        detectLimit: detectLimit$1,
+        detectSeries: detectSeries$1,
+        dir,
+        doUntil,
+        doWhilst: doWhilst$1,
+        each,
+        eachLimit: eachLimit$1,
+        eachOf: eachOf$1,
+        eachOfLimit: eachOfLimit$1,
+        eachOfSeries: eachOfSeries$1,
+        eachSeries: eachSeries$1,
+        ensureAsync,
+        every: every$1,
+        everyLimit: everyLimit$1,
+        everySeries: everySeries$1,
+        filter: filter$1,
+        filterLimit: filterLimit$1,
+        filterSeries: filterSeries$1,
+        forever: forever$1,
+        groupBy,
+        groupByLimit: groupByLimit$1,
+        groupBySeries,
+        log,
+        map: map$1,
+        mapLimit: mapLimit$1,
+        mapSeries: mapSeries$1,
+        mapValues,
+        mapValuesLimit: mapValuesLimit$1,
+        mapValuesSeries,
+        memoize,
+        nextTick,
+        parallel,
+        parallelLimit,
+        priorityQueue,
+        queue,
+        race: race$1,
+        reduce: reduce$1,
+        reduceRight,
+        reflect,
+        reflectAll,
+        reject: reject$1,
+        rejectLimit: rejectLimit$1,
+        rejectSeries: rejectSeries$1,
+        retry: retry2,
+        retryable,
+        seq: seq2,
+        series,
+        setImmediate: setImmediate$1,
+        some: some$1,
+        someLimit: someLimit$1,
+        someSeries: someSeries$1,
+        sortBy: sortBy$1,
+        timeout,
+        times,
+        timesLimit,
+        timesSeries,
+        transform,
+        tryEach: tryEach$1,
+        unmemoize,
+        until,
+        waterfall: waterfall$1,
+        whilst: whilst$1,
+        // aliases
+        all: every$1,
+        allLimit: everyLimit$1,
+        allSeries: everySeries$1,
+        any: some$1,
+        anyLimit: someLimit$1,
+        anySeries: someSeries$1,
+        find: detect$1,
+        findLimit: detectLimit$1,
+        findSeries: detectSeries$1,
+        flatMap: concat$1,
+        flatMapLimit: concatLimit$1,
+        flatMapSeries: concatSeries$1,
+        forEach: each,
+        forEachSeries: eachSeries$1,
+        forEachLimit: eachLimit$1,
+        forEachOf: eachOf$1,
+        forEachOfSeries: eachOfSeries$1,
+        forEachOfLimit: eachOfLimit$1,
+        inject: reduce$1,
+        foldl: reduce$1,
+        foldr: reduceRight,
+        select: filter$1,
+        selectLimit: filterLimit$1,
+        selectSeries: filterSeries$1,
+        wrapSync: asyncify,
+        during: whilst$1,
+        doDuring: doWhilst$1
+      };
+      exports3.all = every$1;
+      exports3.allLimit = everyLimit$1;
+      exports3.allSeries = everySeries$1;
+      exports3.any = some$1;
+      exports3.anyLimit = someLimit$1;
+      exports3.anySeries = someSeries$1;
+      exports3.apply = apply;
+      exports3.applyEach = applyEach;
+      exports3.applyEachSeries = applyEachSeries;
+      exports3.asyncify = asyncify;
+      exports3.auto = auto;
+      exports3.autoInject = autoInject;
+      exports3.cargo = cargo$1;
+      exports3.cargoQueue = cargo;
+      exports3.compose = compose;
+      exports3.concat = concat$1;
+      exports3.concatLimit = concatLimit$1;
+      exports3.concatSeries = concatSeries$1;
+      exports3.constant = constant$1;
+      exports3.default = index;
+      exports3.detect = detect$1;
+      exports3.detectLimit = detectLimit$1;
+      exports3.detectSeries = detectSeries$1;
+      exports3.dir = dir;
+      exports3.doDuring = doWhilst$1;
+      exports3.doUntil = doUntil;
+      exports3.doWhilst = doWhilst$1;
+      exports3.during = whilst$1;
+      exports3.each = each;
+      exports3.eachLimit = eachLimit$1;
+      exports3.eachOf = eachOf$1;
+      exports3.eachOfLimit = eachOfLimit$1;
+      exports3.eachOfSeries = eachOfSeries$1;
+      exports3.eachSeries = eachSeries$1;
+      exports3.ensureAsync = ensureAsync;
+      exports3.every = every$1;
+      exports3.everyLimit = everyLimit$1;
+      exports3.everySeries = everySeries$1;
+      exports3.filter = filter$1;
+      exports3.filterLimit = filterLimit$1;
+      exports3.filterSeries = filterSeries$1;
+      exports3.find = detect$1;
+      exports3.findLimit = detectLimit$1;
+      exports3.findSeries = detectSeries$1;
+      exports3.flatMap = concat$1;
+      exports3.flatMapLimit = concatLimit$1;
+      exports3.flatMapSeries = concatSeries$1;
+      exports3.foldl = reduce$1;
+      exports3.foldr = reduceRight;
+      exports3.forEach = each;
+      exports3.forEachLimit = eachLimit$1;
+      exports3.forEachOf = eachOf$1;
+      exports3.forEachOfLimit = eachOfLimit$1;
+      exports3.forEachOfSeries = eachOfSeries$1;
+      exports3.forEachSeries = eachSeries$1;
+      exports3.forever = forever$1;
+      exports3.groupBy = groupBy;
+      exports3.groupByLimit = groupByLimit$1;
+      exports3.groupBySeries = groupBySeries;
+      exports3.inject = reduce$1;
+      exports3.log = log;
+      exports3.map = map$1;
+      exports3.mapLimit = mapLimit$1;
+      exports3.mapSeries = mapSeries$1;
+      exports3.mapValues = mapValues;
+      exports3.mapValuesLimit = mapValuesLimit$1;
+      exports3.mapValuesSeries = mapValuesSeries;
+      exports3.memoize = memoize;
+      exports3.nextTick = nextTick;
+      exports3.parallel = parallel;
+      exports3.parallelLimit = parallelLimit;
+      exports3.priorityQueue = priorityQueue;
+      exports3.queue = queue;
+      exports3.race = race$1;
+      exports3.reduce = reduce$1;
+      exports3.reduceRight = reduceRight;
+      exports3.reflect = reflect;
+      exports3.reflectAll = reflectAll;
+      exports3.reject = reject$1;
+      exports3.rejectLimit = rejectLimit$1;
+      exports3.rejectSeries = rejectSeries$1;
+      exports3.retry = retry2;
+      exports3.retryable = retryable;
+      exports3.select = filter$1;
+      exports3.selectLimit = filterLimit$1;
+      exports3.selectSeries = filterSeries$1;
+      exports3.seq = seq2;
+      exports3.series = series;
+      exports3.setImmediate = setImmediate$1;
+      exports3.some = some$1;
+      exports3.someLimit = someLimit$1;
+      exports3.someSeries = someSeries$1;
+      exports3.sortBy = sortBy$1;
+      exports3.timeout = timeout;
+      exports3.times = times;
+      exports3.timesLimit = timesLimit;
+      exports3.timesSeries = timesSeries;
+      exports3.transform = transform;
+      exports3.tryEach = tryEach$1;
+      exports3.unmemoize = unmemoize;
+      exports3.until = until;
+      exports3.waterfall = waterfall$1;
+      exports3.whilst = whilst$1;
+      exports3.wrapSync = asyncify;
+      Object.defineProperty(exports3, "__esModule", { value: true });
+    }));
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/container.js
-var require_container = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/container.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ContainerImpl = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var coreClient = tslib_1.__importStar(require_commonjs10());
-    var Mappers = tslib_1.__importStar(require_mappers());
-    var Parameters = tslib_1.__importStar(require_parameters());
-    var ContainerImpl = class {
-      client;
-      /**
-       * Initialize a new instance of the class Container class.
-       * @param client Reference to the service client
-       */
-      constructor(client) {
-        this.client = client;
-      }
-      /**
-       * creates a new container under the specified account. If the container with the same name already
-       * exists, the operation fails
-       * @param options The options parameters.
-       */
-      create(options) {
-        return this.client.sendOperationRequest({ options }, createOperationSpec);
-      }
-      /**
-       * returns all user-defined metadata and system properties for the specified container. The data
-       * returned does not include the container's list of blobs
-       * @param options The options parameters.
-       */
-      getProperties(options) {
-        return this.client.sendOperationRequest({ options }, getPropertiesOperationSpec);
-      }
-      /**
-       * operation marks the specified container for deletion. The container and any blobs contained within
-       * it are later deleted during garbage collection
-       * @param options The options parameters.
-       */
-      delete(options) {
-        return this.client.sendOperationRequest({ options }, deleteOperationSpec);
+// node_modules/graceful-fs/polyfills.js
+var require_polyfills = __commonJS({
+  "node_modules/graceful-fs/polyfills.js"(exports2, module2) {
+    var constants = require("constants");
+    var origCwd = process.cwd;
+    var cwd = null;
+    var platform = process.env.GRACEFUL_FS_PLATFORM || process.platform;
+    process.cwd = function() {
+      if (!cwd)
+        cwd = origCwd.call(process);
+      return cwd;
+    };
+    try {
+      process.cwd();
+    } catch (er) {
+    }
+    if (typeof process.chdir === "function") {
+      chdir = process.chdir;
+      process.chdir = function(d) {
+        cwd = null;
+        chdir.call(process, d);
+      };
+      if (Object.setPrototypeOf) Object.setPrototypeOf(process.chdir, chdir);
+    }
+    var chdir;
+    module2.exports = patch;
+    function patch(fs3) {
+      if (constants.hasOwnProperty("O_SYMLINK") && process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) {
+        patchLchmod(fs3);
       }
-      /**
-       * operation sets one or more user-defined name-value pairs for the specified container.
-       * @param options The options parameters.
-       */
-      setMetadata(options) {
-        return this.client.sendOperationRequest({ options }, setMetadataOperationSpec);
+      if (!fs3.lutimes) {
+        patchLutimes(fs3);
       }
-      /**
-       * gets the permissions for the specified container. The permissions indicate whether container data
-       * may be accessed publicly.
-       * @param options The options parameters.
-       */
-      getAccessPolicy(options) {
-        return this.client.sendOperationRequest({ options }, getAccessPolicyOperationSpec);
+      fs3.chown = chownFix(fs3.chown);
+      fs3.fchown = chownFix(fs3.fchown);
+      fs3.lchown = chownFix(fs3.lchown);
+      fs3.chmod = chmodFix(fs3.chmod);
+      fs3.fchmod = chmodFix(fs3.fchmod);
+      fs3.lchmod = chmodFix(fs3.lchmod);
+      fs3.chownSync = chownFixSync(fs3.chownSync);
+      fs3.fchownSync = chownFixSync(fs3.fchownSync);
+      fs3.lchownSync = chownFixSync(fs3.lchownSync);
+      fs3.chmodSync = chmodFixSync(fs3.chmodSync);
+      fs3.fchmodSync = chmodFixSync(fs3.fchmodSync);
+      fs3.lchmodSync = chmodFixSync(fs3.lchmodSync);
+      fs3.stat = statFix(fs3.stat);
+      fs3.fstat = statFix(fs3.fstat);
+      fs3.lstat = statFix(fs3.lstat);
+      fs3.statSync = statFixSync(fs3.statSync);
+      fs3.fstatSync = statFixSync(fs3.fstatSync);
+      fs3.lstatSync = statFixSync(fs3.lstatSync);
+      if (fs3.chmod && !fs3.lchmod) {
+        fs3.lchmod = function(path3, mode, cb) {
+          if (cb) process.nextTick(cb);
+        };
+        fs3.lchmodSync = function() {
+        };
       }
-      /**
-       * sets the permissions for the specified container. The permissions indicate whether blobs in a
-       * container may be accessed publicly.
-       * @param options The options parameters.
-       */
-      setAccessPolicy(options) {
-        return this.client.sendOperationRequest({ options }, setAccessPolicyOperationSpec);
+      if (fs3.chown && !fs3.lchown) {
+        fs3.lchown = function(path3, uid, gid, cb) {
+          if (cb) process.nextTick(cb);
+        };
+        fs3.lchownSync = function() {
+        };
       }
-      /**
-       * Restores a previously-deleted container.
-       * @param options The options parameters.
-       */
-      restore(options) {
-        return this.client.sendOperationRequest({ options }, restoreOperationSpec);
+      if (platform === "win32") {
+        fs3.rename = typeof fs3.rename !== "function" ? fs3.rename : (function(fs$rename) {
+          function rename(from, to, cb) {
+            var start = Date.now();
+            var backoff = 0;
+            fs$rename(from, to, function CB(er) {
+              if (er && (er.code === "EACCES" || er.code === "EPERM") && Date.now() - start < 6e4) {
+                setTimeout(function() {
+                  fs3.stat(to, function(stater, st) {
+                    if (stater && stater.code === "ENOENT")
+                      fs$rename(from, to, CB);
+                    else
+                      cb(er);
+                  });
+                }, backoff);
+                if (backoff < 100)
+                  backoff += 10;
+                return;
+              }
+              if (cb) cb(er);
+            });
+          }
+          if (Object.setPrototypeOf) Object.setPrototypeOf(rename, fs$rename);
+          return rename;
+        })(fs3.rename);
       }
-      /**
-       * Renames an existing container.
-       * @param sourceContainerName Required.  Specifies the name of the container to rename.
-       * @param options The options parameters.
-       */
-      rename(sourceContainerName, options) {
-        return this.client.sendOperationRequest({ sourceContainerName, options }, renameOperationSpec);
+      fs3.read = typeof fs3.read !== "function" ? fs3.read : (function(fs$read) {
+        function read(fd, buffer, offset, length, position, callback_) {
+          var callback;
+          if (callback_ && typeof callback_ === "function") {
+            var eagCounter = 0;
+            callback = function(er, _2, __) {
+              if (er && er.code === "EAGAIN" && eagCounter < 10) {
+                eagCounter++;
+                return fs$read.call(fs3, fd, buffer, offset, length, position, callback);
+              }
+              callback_.apply(this, arguments);
+            };
+          }
+          return fs$read.call(fs3, fd, buffer, offset, length, position, callback);
+        }
+        if (Object.setPrototypeOf) Object.setPrototypeOf(read, fs$read);
+        return read;
+      })(fs3.read);
+      fs3.readSync = typeof fs3.readSync !== "function" ? fs3.readSync : /* @__PURE__ */ (function(fs$readSync) {
+        return function(fd, buffer, offset, length, position) {
+          var eagCounter = 0;
+          while (true) {
+            try {
+              return fs$readSync.call(fs3, fd, buffer, offset, length, position);
+            } catch (er) {
+              if (er.code === "EAGAIN" && eagCounter < 10) {
+                eagCounter++;
+                continue;
+              }
+              throw er;
+            }
+          }
+        };
+      })(fs3.readSync);
+      function patchLchmod(fs4) {
+        fs4.lchmod = function(path3, mode, callback) {
+          fs4.open(
+            path3,
+            constants.O_WRONLY | constants.O_SYMLINK,
+            mode,
+            function(err, fd) {
+              if (err) {
+                if (callback) callback(err);
+                return;
+              }
+              fs4.fchmod(fd, mode, function(err2) {
+                fs4.close(fd, function(err22) {
+                  if (callback) callback(err2 || err22);
+                });
+              });
+            }
+          );
+        };
+        fs4.lchmodSync = function(path3, mode) {
+          var fd = fs4.openSync(path3, constants.O_WRONLY | constants.O_SYMLINK, mode);
+          var threw = true;
+          var ret;
+          try {
+            ret = fs4.fchmodSync(fd, mode);
+            threw = false;
+          } finally {
+            if (threw) {
+              try {
+                fs4.closeSync(fd);
+              } catch (er) {
+              }
+            } else {
+              fs4.closeSync(fd);
+            }
+          }
+          return ret;
+        };
       }
-      /**
-       * The Batch operation allows multiple API calls to be embedded into a single HTTP request.
-       * @param contentLength The length of the request.
-       * @param multipartContentType Required. The value of this header must be multipart/mixed with a batch
-       *                             boundary. Example header value: multipart/mixed; boundary=batch_
-       * @param body Initial data
-       * @param options The options parameters.
-       */
-      submitBatch(contentLength, multipartContentType, body, options) {
-        return this.client.sendOperationRequest({ contentLength, multipartContentType, body, options }, submitBatchOperationSpec);
+      function patchLutimes(fs4) {
+        if (constants.hasOwnProperty("O_SYMLINK") && fs4.futimes) {
+          fs4.lutimes = function(path3, at, mt, cb) {
+            fs4.open(path3, constants.O_SYMLINK, function(er, fd) {
+              if (er) {
+                if (cb) cb(er);
+                return;
+              }
+              fs4.futimes(fd, at, mt, function(er2) {
+                fs4.close(fd, function(er22) {
+                  if (cb) cb(er2 || er22);
+                });
+              });
+            });
+          };
+          fs4.lutimesSync = function(path3, at, mt) {
+            var fd = fs4.openSync(path3, constants.O_SYMLINK);
+            var ret;
+            var threw = true;
+            try {
+              ret = fs4.futimesSync(fd, at, mt);
+              threw = false;
+            } finally {
+              if (threw) {
+                try {
+                  fs4.closeSync(fd);
+                } catch (er) {
+                }
+              } else {
+                fs4.closeSync(fd);
+              }
+            }
+            return ret;
+          };
+        } else if (fs4.futimes) {
+          fs4.lutimes = function(_a, _b, _c, cb) {
+            if (cb) process.nextTick(cb);
+          };
+          fs4.lutimesSync = function() {
+          };
+        }
       }
-      /**
-       * The Filter Blobs operation enables callers to list blobs in a container whose tags match a given
-       * search expression.  Filter blobs searches within the given container.
-       * @param options The options parameters.
-       */
-      filterBlobs(options) {
-        return this.client.sendOperationRequest({ options }, filterBlobsOperationSpec);
+      function chmodFix(orig) {
+        if (!orig) return orig;
+        return function(target, mode, cb) {
+          return orig.call(fs3, target, mode, function(er) {
+            if (chownErOk(er)) er = null;
+            if (cb) cb.apply(this, arguments);
+          });
+        };
       }
-      /**
-       * [Update] establishes and manages a lock on a container for delete operations. The lock duration can
-       * be 15 to 60 seconds, or can be infinite
-       * @param options The options parameters.
-       */
-      acquireLease(options) {
-        return this.client.sendOperationRequest({ options }, acquireLeaseOperationSpec);
+      function chmodFixSync(orig) {
+        if (!orig) return orig;
+        return function(target, mode) {
+          try {
+            return orig.call(fs3, target, mode);
+          } catch (er) {
+            if (!chownErOk(er)) throw er;
+          }
+        };
       }
-      /**
-       * [Update] establishes and manages a lock on a container for delete operations. The lock duration can
-       * be 15 to 60 seconds, or can be infinite
-       * @param leaseId Specifies the current lease ID on the resource.
-       * @param options The options parameters.
-       */
-      releaseLease(leaseId, options) {
-        return this.client.sendOperationRequest({ leaseId, options }, releaseLeaseOperationSpec);
+      function chownFix(orig) {
+        if (!orig) return orig;
+        return function(target, uid, gid, cb) {
+          return orig.call(fs3, target, uid, gid, function(er) {
+            if (chownErOk(er)) er = null;
+            if (cb) cb.apply(this, arguments);
+          });
+        };
       }
-      /**
-       * [Update] establishes and manages a lock on a container for delete operations. The lock duration can
-       * be 15 to 60 seconds, or can be infinite
-       * @param leaseId Specifies the current lease ID on the resource.
-       * @param options The options parameters.
-       */
-      renewLease(leaseId, options) {
-        return this.client.sendOperationRequest({ leaseId, options }, renewLeaseOperationSpec);
+      function chownFixSync(orig) {
+        if (!orig) return orig;
+        return function(target, uid, gid) {
+          try {
+            return orig.call(fs3, target, uid, gid);
+          } catch (er) {
+            if (!chownErOk(er)) throw er;
+          }
+        };
       }
-      /**
-       * [Update] establishes and manages a lock on a container for delete operations. The lock duration can
-       * be 15 to 60 seconds, or can be infinite
-       * @param options The options parameters.
-       */
-      breakLease(options) {
-        return this.client.sendOperationRequest({ options }, breakLeaseOperationSpec);
+      function statFix(orig) {
+        if (!orig) return orig;
+        return function(target, options, cb) {
+          if (typeof options === "function") {
+            cb = options;
+            options = null;
+          }
+          function callback(er, stats) {
+            if (stats) {
+              if (stats.uid < 0) stats.uid += 4294967296;
+              if (stats.gid < 0) stats.gid += 4294967296;
+            }
+            if (cb) cb.apply(this, arguments);
+          }
+          return options ? orig.call(fs3, target, options, callback) : orig.call(fs3, target, callback);
+        };
       }
-      /**
-       * [Update] establishes and manages a lock on a container for delete operations. The lock duration can
-       * be 15 to 60 seconds, or can be infinite
-       * @param leaseId Specifies the current lease ID on the resource.
-       * @param proposedLeaseId Proposed lease ID, in a GUID string format. The Blob service returns 400
-       *                        (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor
-       *                        (String) for a list of valid GUID string formats.
-       * @param options The options parameters.
-       */
-      changeLease(leaseId, proposedLeaseId, options) {
-        return this.client.sendOperationRequest({ leaseId, proposedLeaseId, options }, changeLeaseOperationSpec);
+      function statFixSync(orig) {
+        if (!orig) return orig;
+        return function(target, options) {
+          var stats = options ? orig.call(fs3, target, options) : orig.call(fs3, target);
+          if (stats) {
+            if (stats.uid < 0) stats.uid += 4294967296;
+            if (stats.gid < 0) stats.gid += 4294967296;
+          }
+          return stats;
+        };
       }
-      /**
-       * [Update] The List Blobs operation returns a list of the blobs under the specified container
-       * @param options The options parameters.
-       */
-      listBlobFlatSegment(options) {
-        return this.client.sendOperationRequest({ options }, listBlobFlatSegmentOperationSpec);
+      function chownErOk(er) {
+        if (!er)
+          return true;
+        if (er.code === "ENOSYS")
+          return true;
+        var nonroot = !process.getuid || process.getuid() !== 0;
+        if (nonroot) {
+          if (er.code === "EINVAL" || er.code === "EPERM")
+            return true;
+        }
+        return false;
       }
-      /**
-       * [Update] The List Blobs operation returns a list of the blobs under the specified container
-       * @param delimiter When the request includes this parameter, the operation returns a BlobPrefix
-       *                  element in the response body that acts as a placeholder for all blobs whose names begin with the
-       *                  same substring up to the appearance of the delimiter character. The delimiter may be a single
-       *                  character or a string.
-       * @param options The options parameters.
-       */
-      listBlobHierarchySegment(delimiter, options) {
-        return this.client.sendOperationRequest({ delimiter, options }, listBlobHierarchySegmentOperationSpec);
+    }
+  }
+});
+
+// node_modules/graceful-fs/legacy-streams.js
+var require_legacy_streams = __commonJS({
+  "node_modules/graceful-fs/legacy-streams.js"(exports2, module2) {
+    var Stream = require("stream").Stream;
+    module2.exports = legacy;
+    function legacy(fs3) {
+      return {
+        ReadStream,
+        WriteStream
+      };
+      function ReadStream(path3, options) {
+        if (!(this instanceof ReadStream)) return new ReadStream(path3, options);
+        Stream.call(this);
+        var self2 = this;
+        this.path = path3;
+        this.fd = null;
+        this.readable = true;
+        this.paused = false;
+        this.flags = "r";
+        this.mode = 438;
+        this.bufferSize = 64 * 1024;
+        options = options || {};
+        var keys = Object.keys(options);
+        for (var index = 0, length = keys.length; index < length; index++) {
+          var key = keys[index];
+          this[key] = options[key];
+        }
+        if (this.encoding) this.setEncoding(this.encoding);
+        if (this.start !== void 0) {
+          if ("number" !== typeof this.start) {
+            throw TypeError("start must be a Number");
+          }
+          if (this.end === void 0) {
+            this.end = Infinity;
+          } else if ("number" !== typeof this.end) {
+            throw TypeError("end must be a Number");
+          }
+          if (this.start > this.end) {
+            throw new Error("start must be <= end");
+          }
+          this.pos = this.start;
+        }
+        if (this.fd !== null) {
+          process.nextTick(function() {
+            self2._read();
+          });
+          return;
+        }
+        fs3.open(this.path, this.flags, this.mode, function(err, fd) {
+          if (err) {
+            self2.emit("error", err);
+            self2.readable = false;
+            return;
+          }
+          self2.fd = fd;
+          self2.emit("open", fd);
+          self2._read();
+        });
       }
-      /**
-       * Returns the sku name and account kind
-       * @param options The options parameters.
-       */
-      getAccountInfo(options) {
-        return this.client.sendOperationRequest({ options }, getAccountInfoOperationSpec);
+      function WriteStream(path3, options) {
+        if (!(this instanceof WriteStream)) return new WriteStream(path3, options);
+        Stream.call(this);
+        this.path = path3;
+        this.fd = null;
+        this.writable = true;
+        this.flags = "w";
+        this.encoding = "binary";
+        this.mode = 438;
+        this.bytesWritten = 0;
+        options = options || {};
+        var keys = Object.keys(options);
+        for (var index = 0, length = keys.length; index < length; index++) {
+          var key = keys[index];
+          this[key] = options[key];
+        }
+        if (this.start !== void 0) {
+          if ("number" !== typeof this.start) {
+            throw TypeError("start must be a Number");
+          }
+          if (this.start < 0) {
+            throw new Error("start must be >= zero");
+          }
+          this.pos = this.start;
+        }
+        this.busy = false;
+        this._queue = [];
+        if (this.fd === null) {
+          this._open = fs3.open;
+          this._queue.push([this._open, this.path, this.flags, this.mode, void 0]);
+          this.flush();
+        }
       }
+    }
+  }
+});
+
+// node_modules/graceful-fs/clone.js
+var require_clone = __commonJS({
+  "node_modules/graceful-fs/clone.js"(exports2, module2) {
+    "use strict";
+    module2.exports = clone;
+    var getPrototypeOf = Object.getPrototypeOf || function(obj) {
+      return obj.__proto__;
     };
-    exports2.ContainerImpl = ContainerImpl;
-    var xmlSerializer = coreClient.createSerializer(
-      Mappers,
-      /* isXml */
-      true
-    );
-    var createOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.ContainerCreateHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerCreateExceptionHeaders
+    function clone(obj) {
+      if (obj === null || typeof obj !== "object")
+        return obj;
+      if (obj instanceof Object)
+        var copy = { __proto__: getPrototypeOf(obj) };
+      else
+        var copy = /* @__PURE__ */ Object.create(null);
+      Object.getOwnPropertyNames(obj).forEach(function(key) {
+        Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key));
+      });
+      return copy;
+    }
+  }
+});
+
+// node_modules/graceful-fs/graceful-fs.js
+var require_graceful_fs = __commonJS({
+  "node_modules/graceful-fs/graceful-fs.js"(exports2, module2) {
+    var fs3 = require("fs");
+    var polyfills = require_polyfills();
+    var legacy = require_legacy_streams();
+    var clone = require_clone();
+    var util = require("util");
+    var gracefulQueue;
+    var previousSymbol;
+    if (typeof Symbol === "function" && typeof Symbol.for === "function") {
+      gracefulQueue = /* @__PURE__ */ Symbol.for("graceful-fs.queue");
+      previousSymbol = /* @__PURE__ */ Symbol.for("graceful-fs.previous");
+    } else {
+      gracefulQueue = "___graceful-fs.queue";
+      previousSymbol = "___graceful-fs.previous";
+    }
+    function noop3() {
+    }
+    function publishQueue(context2, queue2) {
+      Object.defineProperty(context2, gracefulQueue, {
+        get: function() {
+          return queue2;
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.restype2],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.metadata,
-        Parameters.access,
-        Parameters.defaultEncryptionScope,
-        Parameters.preventEncryptionScopeOverride
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var getPropertiesOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          headersMapper: Mappers.ContainerGetPropertiesHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerGetPropertiesExceptionHeaders
+      });
+    }
+    var debug4 = noop3;
+    if (util.debuglog)
+      debug4 = util.debuglog("gfs4");
+    else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || ""))
+      debug4 = function() {
+        var m = util.format.apply(util, arguments);
+        m = "GFS4: " + m.split(/\n/).join("\nGFS4: ");
+        console.error(m);
+      };
+    if (!fs3[gracefulQueue]) {
+      queue = global[gracefulQueue] || [];
+      publishQueue(fs3, queue);
+      fs3.close = (function(fs$close) {
+        function close(fd, cb) {
+          return fs$close.call(fs3, fd, function(err) {
+            if (!err) {
+              resetQueue();
+            }
+            if (typeof cb === "function")
+              cb.apply(this, arguments);
+          });
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.restype2],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var deleteOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "DELETE",
-      responses: {
-        202: {
-          headersMapper: Mappers.ContainerDeleteHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerDeleteExceptionHeaders
+        Object.defineProperty(close, previousSymbol, {
+          value: fs$close
+        });
+        return close;
+      })(fs3.close);
+      fs3.closeSync = (function(fs$closeSync) {
+        function closeSync(fd) {
+          fs$closeSync.apply(fs3, arguments);
+          resetQueue();
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.restype2],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var setMetadataOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.ContainerSetMetadataHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerSetMetadataExceptionHeaders
+        Object.defineProperty(closeSync, previousSymbol, {
+          value: fs$closeSync
+        });
+        return closeSync;
+      })(fs3.closeSync);
+      if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || "")) {
+        process.on("exit", function() {
+          debug4(fs3[gracefulQueue]);
+          require("assert").equal(fs3[gracefulQueue].length, 0);
+        });
+      }
+    }
+    var queue;
+    if (!global[gracefulQueue]) {
+      publishQueue(global, fs3[gracefulQueue]);
+    }
+    module2.exports = patch(clone(fs3));
+    if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs3.__patched) {
+      module2.exports = patch(fs3);
+      fs3.__patched = true;
+    }
+    function patch(fs4) {
+      polyfills(fs4);
+      fs4.gracefulify = patch;
+      fs4.createReadStream = createReadStream;
+      fs4.createWriteStream = createWriteStream3;
+      var fs$readFile = fs4.readFile;
+      fs4.readFile = readFile;
+      function readFile(path3, options, cb) {
+        if (typeof options === "function")
+          cb = options, options = null;
+        return go$readFile(path3, options, cb);
+        function go$readFile(path4, options2, cb2, startTime) {
+          return fs$readFile(path4, options2, function(err) {
+            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
+              enqueue([go$readFile, [path4, options2, cb2], err, startTime || Date.now(), Date.now()]);
+            else {
+              if (typeof cb2 === "function")
+                cb2.apply(this, arguments);
+            }
+          });
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.restype2,
-        Parameters.comp6
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var getAccessPolicyOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: {
-            type: {
-              name: "Sequence",
-              element: {
-                type: { name: "Composite", className: "SignedIdentifier" }
-              }
-            },
-            serializedName: "SignedIdentifiers",
-            xmlName: "SignedIdentifiers",
-            xmlIsWrapped: true,
-            xmlElementName: "SignedIdentifier"
-          },
-          headersMapper: Mappers.ContainerGetAccessPolicyHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerGetAccessPolicyExceptionHeaders
+      }
+      var fs$writeFile = fs4.writeFile;
+      fs4.writeFile = writeFile;
+      function writeFile(path3, data, options, cb) {
+        if (typeof options === "function")
+          cb = options, options = null;
+        return go$writeFile(path3, data, options, cb);
+        function go$writeFile(path4, data2, options2, cb2, startTime) {
+          return fs$writeFile(path4, data2, options2, function(err) {
+            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
+              enqueue([go$writeFile, [path4, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
+            else {
+              if (typeof cb2 === "function")
+                cb2.apply(this, arguments);
+            }
+          });
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.restype2,
-        Parameters.comp7
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var setAccessPolicyOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.ContainerSetAccessPolicyHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerSetAccessPolicyExceptionHeaders
+      }
+      var fs$appendFile = fs4.appendFile;
+      if (fs$appendFile)
+        fs4.appendFile = appendFile;
+      function appendFile(path3, data, options, cb) {
+        if (typeof options === "function")
+          cb = options, options = null;
+        return go$appendFile(path3, data, options, cb);
+        function go$appendFile(path4, data2, options2, cb2, startTime) {
+          return fs$appendFile(path4, data2, options2, function(err) {
+            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
+              enqueue([go$appendFile, [path4, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
+            else {
+              if (typeof cb2 === "function")
+                cb2.apply(this, arguments);
+            }
+          });
         }
-      },
-      requestBody: Parameters.containerAcl,
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.restype2,
-        Parameters.comp7
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.contentType,
-        Parameters.accept,
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.access,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "xml",
-      serializer: xmlSerializer
-    };
-    var restoreOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.ContainerRestoreHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerRestoreExceptionHeaders
+      }
+      var fs$copyFile = fs4.copyFile;
+      if (fs$copyFile)
+        fs4.copyFile = copyFile;
+      function copyFile(src, dest, flags, cb) {
+        if (typeof flags === "function") {
+          cb = flags;
+          flags = 0;
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.restype2,
-        Parameters.comp8
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.deletedContainerName,
-        Parameters.deletedContainerVersion
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var renameOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.ContainerRenameHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerRenameExceptionHeaders
+        return go$copyFile(src, dest, flags, cb);
+        function go$copyFile(src2, dest2, flags2, cb2, startTime) {
+          return fs$copyFile(src2, dest2, flags2, function(err) {
+            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
+              enqueue([go$copyFile, [src2, dest2, flags2, cb2], err, startTime || Date.now(), Date.now()]);
+            else {
+              if (typeof cb2 === "function")
+                cb2.apply(this, arguments);
+            }
+          });
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.restype2,
-        Parameters.comp9
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.sourceContainerName,
-        Parameters.sourceLeaseId
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var submitBatchOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "POST",
-      responses: {
-        202: {
-          bodyMapper: {
-            type: { name: "Stream" },
-            serializedName: "parsedResponse"
-          },
-          headersMapper: Mappers.ContainerSubmitBatchHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerSubmitBatchExceptionHeaders
+      }
+      var fs$readdir = fs4.readdir;
+      fs4.readdir = readdir;
+      var noReaddirOptionVersions = /^v[0-5]\./;
+      function readdir(path3, options, cb) {
+        if (typeof options === "function")
+          cb = options, options = null;
+        var go$readdir = noReaddirOptionVersions.test(process.version) ? function go$readdir2(path4, options2, cb2, startTime) {
+          return fs$readdir(path4, fs$readdirCallback(
+            path4,
+            options2,
+            cb2,
+            startTime
+          ));
+        } : function go$readdir2(path4, options2, cb2, startTime) {
+          return fs$readdir(path4, options2, fs$readdirCallback(
+            path4,
+            options2,
+            cb2,
+            startTime
+          ));
+        };
+        return go$readdir(path3, options, cb);
+        function fs$readdirCallback(path4, options2, cb2, startTime) {
+          return function(err, files) {
+            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
+              enqueue([
+                go$readdir,
+                [path4, options2, cb2],
+                err,
+                startTime || Date.now(),
+                Date.now()
+              ]);
+            else {
+              if (files && files.sort)
+                files.sort();
+              if (typeof cb2 === "function")
+                cb2.call(this, err, files);
+            }
+          };
         }
-      },
-      requestBody: Parameters.body,
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.comp4,
-        Parameters.restype2
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.accept,
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.contentLength,
-        Parameters.multipartContentType
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "xml",
-      serializer: xmlSerializer
-    };
-    var filterBlobsOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.FilterBlobSegment,
-          headersMapper: Mappers.ContainerFilterBlobsHeaders
+      }
+      if (process.version.substr(0, 4) === "v0.8") {
+        var legStreams = legacy(fs4);
+        ReadStream = legStreams.ReadStream;
+        WriteStream = legStreams.WriteStream;
+      }
+      var fs$ReadStream = fs4.ReadStream;
+      if (fs$ReadStream) {
+        ReadStream.prototype = Object.create(fs$ReadStream.prototype);
+        ReadStream.prototype.open = ReadStream$open;
+      }
+      var fs$WriteStream = fs4.WriteStream;
+      if (fs$WriteStream) {
+        WriteStream.prototype = Object.create(fs$WriteStream.prototype);
+        WriteStream.prototype.open = WriteStream$open;
+      }
+      Object.defineProperty(fs4, "ReadStream", {
+        get: function() {
+          return ReadStream;
         },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerFilterBlobsExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.marker,
-        Parameters.maxPageSize,
-        Parameters.comp5,
-        Parameters.where,
-        Parameters.restype2
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var acquireLeaseOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.ContainerAcquireLeaseHeaders
+        set: function(val) {
+          ReadStream = val;
         },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerAcquireLeaseExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.restype2,
-        Parameters.comp10
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.action,
-        Parameters.duration,
-        Parameters.proposedLeaseId
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var releaseLeaseOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.ContainerReleaseLeaseHeaders
+        enumerable: true,
+        configurable: true
+      });
+      Object.defineProperty(fs4, "WriteStream", {
+        get: function() {
+          return WriteStream;
         },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerReleaseLeaseExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.restype2,
-        Parameters.comp10
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.action1,
-        Parameters.leaseId1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var renewLeaseOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.ContainerRenewLeaseHeaders
+        set: function(val) {
+          WriteStream = val;
+        },
+        enumerable: true,
+        configurable: true
+      });
+      var FileReadStream = ReadStream;
+      Object.defineProperty(fs4, "FileReadStream", {
+        get: function() {
+          return FileReadStream;
         },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerRenewLeaseExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.restype2,
-        Parameters.comp10
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.leaseId1,
-        Parameters.action2
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var breakLeaseOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "PUT",
-      responses: {
-        202: {
-          headersMapper: Mappers.ContainerBreakLeaseHeaders
+        set: function(val) {
+          FileReadStream = val;
         },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerBreakLeaseExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.restype2,
-        Parameters.comp10
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.action3,
-        Parameters.breakPeriod
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var changeLeaseOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.ContainerChangeLeaseHeaders
+        enumerable: true,
+        configurable: true
+      });
+      var FileWriteStream = WriteStream;
+      Object.defineProperty(fs4, "FileWriteStream", {
+        get: function() {
+          return FileWriteStream;
         },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerChangeLeaseExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.restype2,
-        Parameters.comp10
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.leaseId1,
-        Parameters.action4,
-        Parameters.proposedLeaseId1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var listBlobFlatSegmentOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.ListBlobsFlatSegmentResponse,
-          headersMapper: Mappers.ContainerListBlobFlatSegmentHeaders
+        set: function(val) {
+          FileWriteStream = val;
         },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerListBlobFlatSegmentExceptionHeaders
+        enumerable: true,
+        configurable: true
+      });
+      function ReadStream(path3, options) {
+        if (this instanceof ReadStream)
+          return fs$ReadStream.apply(this, arguments), this;
+        else
+          return ReadStream.apply(Object.create(ReadStream.prototype), arguments);
+      }
+      function ReadStream$open() {
+        var that = this;
+        open(that.path, that.flags, that.mode, function(err, fd) {
+          if (err) {
+            if (that.autoClose)
+              that.destroy();
+            that.emit("error", err);
+          } else {
+            that.fd = fd;
+            that.emit("open", fd);
+            that.read();
+          }
+        });
+      }
+      function WriteStream(path3, options) {
+        if (this instanceof WriteStream)
+          return fs$WriteStream.apply(this, arguments), this;
+        else
+          return WriteStream.apply(Object.create(WriteStream.prototype), arguments);
+      }
+      function WriteStream$open() {
+        var that = this;
+        open(that.path, that.flags, that.mode, function(err, fd) {
+          if (err) {
+            that.destroy();
+            that.emit("error", err);
+          } else {
+            that.fd = fd;
+            that.emit("open", fd);
+          }
+        });
+      }
+      function createReadStream(path3, options) {
+        return new fs4.ReadStream(path3, options);
+      }
+      function createWriteStream3(path3, options) {
+        return new fs4.WriteStream(path3, options);
+      }
+      var fs$open = fs4.open;
+      fs4.open = open;
+      function open(path3, flags, mode, cb) {
+        if (typeof mode === "function")
+          cb = mode, mode = null;
+        return go$open(path3, flags, mode, cb);
+        function go$open(path4, flags2, mode2, cb2, startTime) {
+          return fs$open(path4, flags2, mode2, function(err, fd) {
+            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
+              enqueue([go$open, [path4, flags2, mode2, cb2], err, startTime || Date.now(), Date.now()]);
+            else {
+              if (typeof cb2 === "function")
+                cb2.apply(this, arguments);
+            }
+          });
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.comp2,
-        Parameters.prefix,
-        Parameters.marker,
-        Parameters.maxPageSize,
-        Parameters.restype2,
-        Parameters.include1
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var listBlobHierarchySegmentOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.ListBlobsHierarchySegmentResponse,
-          headersMapper: Mappers.ContainerListBlobHierarchySegmentHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerListBlobHierarchySegmentExceptionHeaders
+      }
+      return fs4;
+    }
+    function enqueue(elem) {
+      debug4("ENQUEUE", elem[0].name, elem[1]);
+      fs3[gracefulQueue].push(elem);
+      retry2();
+    }
+    var retryTimer;
+    function resetQueue() {
+      var now = Date.now();
+      for (var i = 0; i < fs3[gracefulQueue].length; ++i) {
+        if (fs3[gracefulQueue][i].length > 2) {
+          fs3[gracefulQueue][i][3] = now;
+          fs3[gracefulQueue][i][4] = now;
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.comp2,
-        Parameters.prefix,
-        Parameters.marker,
-        Parameters.maxPageSize,
-        Parameters.restype2,
-        Parameters.include1,
-        Parameters.delimiter
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+      }
+      retry2();
+    }
+    function retry2() {
+      clearTimeout(retryTimer);
+      retryTimer = void 0;
+      if (fs3[gracefulQueue].length === 0)
+        return;
+      var elem = fs3[gracefulQueue].shift();
+      var fn = elem[0];
+      var args = elem[1];
+      var err = elem[2];
+      var startTime = elem[3];
+      var lastTime = elem[4];
+      if (startTime === void 0) {
+        debug4("RETRY", fn.name, args);
+        fn.apply(null, args);
+      } else if (Date.now() - startTime >= 6e4) {
+        debug4("TIMEOUT", fn.name, args);
+        var cb = args.pop();
+        if (typeof cb === "function")
+          cb.call(null, err);
+      } else {
+        var sinceAttempt = Date.now() - lastTime;
+        var sinceStart = Math.max(lastTime - startTime, 1);
+        var desiredDelay = Math.min(sinceStart * 1.2, 100);
+        if (sinceAttempt >= desiredDelay) {
+          debug4("RETRY", fn.name, args);
+          fn.apply(null, args.concat([startTime]));
+        } else {
+          fs3[gracefulQueue].push(elem);
+        }
+      }
+      if (retryTimer === void 0) {
+        retryTimer = setTimeout(retry2, 0);
+      }
+    }
+  }
+});
+
+// node_modules/archiver-utils/node_modules/is-stream/index.js
+var require_is_stream = __commonJS({
+  "node_modules/archiver-utils/node_modules/is-stream/index.js"(exports2, module2) {
+    "use strict";
+    var isStream = (stream) => stream !== null && typeof stream === "object" && typeof stream.pipe === "function";
+    isStream.writable = (stream) => isStream(stream) && stream.writable !== false && typeof stream._write === "function" && typeof stream._writableState === "object";
+    isStream.readable = (stream) => isStream(stream) && stream.readable !== false && typeof stream._read === "function" && typeof stream._readableState === "object";
+    isStream.duplex = (stream) => isStream.writable(stream) && isStream.readable(stream);
+    isStream.transform = (stream) => isStream.duplex(stream) && typeof stream._transform === "function";
+    module2.exports = isStream;
+  }
+});
+
+// node_modules/process-nextick-args/index.js
+var require_process_nextick_args = __commonJS({
+  "node_modules/process-nextick-args/index.js"(exports2, module2) {
+    "use strict";
+    if (typeof process === "undefined" || !process.version || process.version.indexOf("v0.") === 0 || process.version.indexOf("v1.") === 0 && process.version.indexOf("v1.8.") !== 0) {
+      module2.exports = { nextTick };
+    } else {
+      module2.exports = process;
+    }
+    function nextTick(fn, arg1, arg2, arg3) {
+      if (typeof fn !== "function") {
+        throw new TypeError('"callback" argument must be a function');
+      }
+      var len = arguments.length;
+      var args, i;
+      switch (len) {
+        case 0:
+        case 1:
+          return process.nextTick(fn);
+        case 2:
+          return process.nextTick(function afterTickOne() {
+            fn.call(null, arg1);
+          });
+        case 3:
+          return process.nextTick(function afterTickTwo() {
+            fn.call(null, arg1, arg2);
+          });
+        case 4:
+          return process.nextTick(function afterTickThree() {
+            fn.call(null, arg1, arg2, arg3);
+          });
+        default:
+          args = new Array(len - 1);
+          i = 0;
+          while (i < args.length) {
+            args[i++] = arguments[i];
+          }
+          return process.nextTick(function afterTick() {
+            fn.apply(null, args);
+          });
+      }
+    }
+  }
+});
+
+// node_modules/lazystream/node_modules/isarray/index.js
+var require_isarray = __commonJS({
+  "node_modules/lazystream/node_modules/isarray/index.js"(exports2, module2) {
+    var toString2 = {}.toString;
+    module2.exports = Array.isArray || function(arr) {
+      return toString2.call(arr) == "[object Array]";
     };
-    var getAccountInfoOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          headersMapper: Mappers.ContainerGetAccountInfoHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerGetAccountInfoExceptionHeaders
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/stream.js
+var require_stream = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/stream.js"(exports2, module2) {
+    module2.exports = require("stream");
+  }
+});
+
+// node_modules/lazystream/node_modules/safe-buffer/index.js
+var require_safe_buffer = __commonJS({
+  "node_modules/lazystream/node_modules/safe-buffer/index.js"(exports2, module2) {
+    var buffer = require("buffer");
+    var Buffer2 = buffer.Buffer;
+    function copyProps(src, dst) {
+      for (var key in src) {
+        dst[key] = src[key];
+      }
+    }
+    if (Buffer2.from && Buffer2.alloc && Buffer2.allocUnsafe && Buffer2.allocUnsafeSlow) {
+      module2.exports = buffer;
+    } else {
+      copyProps(buffer, exports2);
+      exports2.Buffer = SafeBuffer;
+    }
+    function SafeBuffer(arg, encodingOrOffset, length) {
+      return Buffer2(arg, encodingOrOffset, length);
+    }
+    copyProps(Buffer2, SafeBuffer);
+    SafeBuffer.from = function(arg, encodingOrOffset, length) {
+      if (typeof arg === "number") {
+        throw new TypeError("Argument must not be a number");
+      }
+      return Buffer2(arg, encodingOrOffset, length);
+    };
+    SafeBuffer.alloc = function(size, fill, encoding) {
+      if (typeof size !== "number") {
+        throw new TypeError("Argument must be a number");
+      }
+      var buf = Buffer2(size);
+      if (fill !== void 0) {
+        if (typeof encoding === "string") {
+          buf.fill(fill, encoding);
+        } else {
+          buf.fill(fill);
         }
-      },
-      queryParameters: [
-        Parameters.comp,
-        Parameters.timeoutInSeconds,
-        Parameters.restype1
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+      } else {
+        buf.fill(0);
+      }
+      return buf;
+    };
+    SafeBuffer.allocUnsafe = function(size) {
+      if (typeof size !== "number") {
+        throw new TypeError("Argument must be a number");
+      }
+      return Buffer2(size);
     };
+    SafeBuffer.allocUnsafeSlow = function(size) {
+      if (typeof size !== "number") {
+        throw new TypeError("Argument must be a number");
+      }
+      return buffer.SlowBuffer(size);
+    };
+  }
+});
+
+// node_modules/core-util-is/lib/util.js
+var require_util19 = __commonJS({
+  "node_modules/core-util-is/lib/util.js"(exports2) {
+    function isArray(arg) {
+      if (Array.isArray) {
+        return Array.isArray(arg);
+      }
+      return objectToString(arg) === "[object Array]";
+    }
+    exports2.isArray = isArray;
+    function isBoolean2(arg) {
+      return typeof arg === "boolean";
+    }
+    exports2.isBoolean = isBoolean2;
+    function isNull2(arg) {
+      return arg === null;
+    }
+    exports2.isNull = isNull2;
+    function isNullOrUndefined(arg) {
+      return arg == null;
+    }
+    exports2.isNullOrUndefined = isNullOrUndefined;
+    function isNumber(arg) {
+      return typeof arg === "number";
+    }
+    exports2.isNumber = isNumber;
+    function isString(arg) {
+      return typeof arg === "string";
+    }
+    exports2.isString = isString;
+    function isSymbol(arg) {
+      return typeof arg === "symbol";
+    }
+    exports2.isSymbol = isSymbol;
+    function isUndefined(arg) {
+      return arg === void 0;
+    }
+    exports2.isUndefined = isUndefined;
+    function isRegExp(re) {
+      return objectToString(re) === "[object RegExp]";
+    }
+    exports2.isRegExp = isRegExp;
+    function isObject2(arg) {
+      return typeof arg === "object" && arg !== null;
+    }
+    exports2.isObject = isObject2;
+    function isDate(d) {
+      return objectToString(d) === "[object Date]";
+    }
+    exports2.isDate = isDate;
+    function isError(e) {
+      return objectToString(e) === "[object Error]" || e instanceof Error;
+    }
+    exports2.isError = isError;
+    function isFunction(arg) {
+      return typeof arg === "function";
+    }
+    exports2.isFunction = isFunction;
+    function isPrimitive(arg) {
+      return arg === null || typeof arg === "boolean" || typeof arg === "number" || typeof arg === "string" || typeof arg === "symbol" || // ES6 symbol
+      typeof arg === "undefined";
+    }
+    exports2.isPrimitive = isPrimitive;
+    exports2.isBuffer = require("buffer").Buffer.isBuffer;
+    function objectToString(o) {
+      return Object.prototype.toString.call(o);
+    }
+  }
+});
+
+// node_modules/inherits/inherits_browser.js
+var require_inherits_browser = __commonJS({
+  "node_modules/inherits/inherits_browser.js"(exports2, module2) {
+    if (typeof Object.create === "function") {
+      module2.exports = function inherits(ctor, superCtor) {
+        ctor.super_ = superCtor;
+        ctor.prototype = Object.create(superCtor.prototype, {
+          constructor: {
+            value: ctor,
+            enumerable: false,
+            writable: true,
+            configurable: true
+          }
+        });
+      };
+    } else {
+      module2.exports = function inherits(ctor, superCtor) {
+        ctor.super_ = superCtor;
+        var TempCtor = function() {
+        };
+        TempCtor.prototype = superCtor.prototype;
+        ctor.prototype = new TempCtor();
+        ctor.prototype.constructor = ctor;
+      };
+    }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blob.js
-var require_blob = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blob.js"(exports2) {
+// node_modules/inherits/inherits.js
+var require_inherits = __commonJS({
+  "node_modules/inherits/inherits.js"(exports2, module2) {
+    try {
+      util = require("util");
+      if (typeof util.inherits !== "function") throw "";
+      module2.exports = util.inherits;
+    } catch (e) {
+      module2.exports = require_inherits_browser();
+    }
+    var util;
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/BufferList.js
+var require_BufferList = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/BufferList.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobImpl = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var coreClient = tslib_1.__importStar(require_commonjs10());
-    var Mappers = tslib_1.__importStar(require_mappers());
-    var Parameters = tslib_1.__importStar(require_parameters());
-    var BlobImpl = class {
-      client;
-      /**
-       * Initialize a new instance of the class Blob class.
-       * @param client Reference to the service client
-       */
-      constructor(client) {
-        this.client = client;
-      }
-      /**
-       * The Download operation reads or downloads a blob from the system, including its metadata and
-       * properties. You can also call Download to read a snapshot.
-       * @param options The options parameters.
-       */
-      download(options) {
-        return this.client.sendOperationRequest({ options }, downloadOperationSpec);
-      }
-      /**
-       * The Get Properties operation returns all user-defined metadata, standard HTTP properties, and system
-       * properties for the blob. It does not return the content of the blob.
-       * @param options The options parameters.
-       */
-      getProperties(options) {
-        return this.client.sendOperationRequest({ options }, getPropertiesOperationSpec);
-      }
-      /**
-       * If the storage account's soft delete feature is disabled then, when a blob is deleted, it is
-       * permanently removed from the storage account. If the storage account's soft delete feature is
-       * enabled, then, when a blob is deleted, it is marked for deletion and becomes inaccessible
-       * immediately. However, the blob service retains the blob or snapshot for the number of days specified
-       * by the DeleteRetentionPolicy section of [Storage service properties]
-       * (Set-Blob-Service-Properties.md). After the specified number of days has passed, the blob's data is
-       * permanently removed from the storage account. Note that you continue to be charged for the
-       * soft-deleted blob's storage until it is permanently removed. Use the List Blobs API and specify the
-       * "include=deleted" query parameter to discover which blobs and snapshots have been soft deleted. You
-       * can then use the Undelete Blob API to restore a soft-deleted blob. All other operations on a
-       * soft-deleted blob or snapshot causes the service to return an HTTP status code of 404
-       * (ResourceNotFound).
-       * @param options The options parameters.
-       */
-      delete(options) {
-        return this.client.sendOperationRequest({ options }, deleteOperationSpec);
-      }
-      /**
-       * Undelete a blob that was previously soft deleted
-       * @param options The options parameters.
-       */
-      undelete(options) {
-        return this.client.sendOperationRequest({ options }, undeleteOperationSpec);
-      }
-      /**
-       * Sets the time a blob will expire and be deleted.
-       * @param expiryOptions Required. Indicates mode of the expiry time
-       * @param options The options parameters.
-       */
-      setExpiry(expiryOptions, options) {
-        return this.client.sendOperationRequest({ expiryOptions, options }, setExpiryOperationSpec);
-      }
-      /**
-       * The Set HTTP Headers operation sets system properties on the blob
-       * @param options The options parameters.
-       */
-      setHttpHeaders(options) {
-        return this.client.sendOperationRequest({ options }, setHttpHeadersOperationSpec);
-      }
-      /**
-       * The Set Immutability Policy operation sets the immutability policy on the blob
-       * @param options The options parameters.
-       */
-      setImmutabilityPolicy(options) {
-        return this.client.sendOperationRequest({ options }, setImmutabilityPolicyOperationSpec);
-      }
-      /**
-       * The Delete Immutability Policy operation deletes the immutability policy on the blob
-       * @param options The options parameters.
-       */
-      deleteImmutabilityPolicy(options) {
-        return this.client.sendOperationRequest({ options }, deleteImmutabilityPolicyOperationSpec);
-      }
-      /**
-       * The Set Legal Hold operation sets a legal hold on the blob.
-       * @param legalHold Specified if a legal hold should be set on the blob.
-       * @param options The options parameters.
-       */
-      setLegalHold(legalHold, options) {
-        return this.client.sendOperationRequest({ legalHold, options }, setLegalHoldOperationSpec);
+    function _classCallCheck(instance, Constructor) {
+      if (!(instance instanceof Constructor)) {
+        throw new TypeError("Cannot call a class as a function");
       }
-      /**
-       * The Set Blob Metadata operation sets user-defined metadata for the specified blob as one or more
-       * name-value pairs
-       * @param options The options parameters.
-       */
-      setMetadata(options) {
-        return this.client.sendOperationRequest({ options }, setMetadataOperationSpec);
+    }
+    var Buffer2 = require_safe_buffer().Buffer;
+    var util = require("util");
+    function copyBuffer(src, target, offset) {
+      src.copy(target, offset);
+    }
+    module2.exports = (function() {
+      function BufferList() {
+        _classCallCheck(this, BufferList);
+        this.head = null;
+        this.tail = null;
+        this.length = 0;
       }
-      /**
-       * [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
-       * operations
-       * @param options The options parameters.
-       */
-      acquireLease(options) {
-        return this.client.sendOperationRequest({ options }, acquireLeaseOperationSpec);
+      BufferList.prototype.push = function push(v) {
+        var entry = { data: v, next: null };
+        if (this.length > 0) this.tail.next = entry;
+        else this.head = entry;
+        this.tail = entry;
+        ++this.length;
+      };
+      BufferList.prototype.unshift = function unshift(v) {
+        var entry = { data: v, next: this.head };
+        if (this.length === 0) this.tail = entry;
+        this.head = entry;
+        ++this.length;
+      };
+      BufferList.prototype.shift = function shift() {
+        if (this.length === 0) return;
+        var ret = this.head.data;
+        if (this.length === 1) this.head = this.tail = null;
+        else this.head = this.head.next;
+        --this.length;
+        return ret;
+      };
+      BufferList.prototype.clear = function clear() {
+        this.head = this.tail = null;
+        this.length = 0;
+      };
+      BufferList.prototype.join = function join3(s) {
+        if (this.length === 0) return "";
+        var p = this.head;
+        var ret = "" + p.data;
+        while (p = p.next) {
+          ret += s + p.data;
+        }
+        return ret;
+      };
+      BufferList.prototype.concat = function concat(n) {
+        if (this.length === 0) return Buffer2.alloc(0);
+        var ret = Buffer2.allocUnsafe(n >>> 0);
+        var p = this.head;
+        var i = 0;
+        while (p) {
+          copyBuffer(p.data, ret, i);
+          i += p.data.length;
+          p = p.next;
+        }
+        return ret;
+      };
+      return BufferList;
+    })();
+    if (util && util.inspect && util.inspect.custom) {
+      module2.exports.prototype[util.inspect.custom] = function() {
+        var obj = util.inspect({ length: this.length });
+        return this.constructor.name + " " + obj;
+      };
+    }
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/destroy.js
+var require_destroy = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/destroy.js"(exports2, module2) {
+    "use strict";
+    var pna = require_process_nextick_args();
+    function destroy(err, cb) {
+      var _this = this;
+      var readableDestroyed = this._readableState && this._readableState.destroyed;
+      var writableDestroyed = this._writableState && this._writableState.destroyed;
+      if (readableDestroyed || writableDestroyed) {
+        if (cb) {
+          cb(err);
+        } else if (err) {
+          if (!this._writableState) {
+            pna.nextTick(emitErrorNT, this, err);
+          } else if (!this._writableState.errorEmitted) {
+            this._writableState.errorEmitted = true;
+            pna.nextTick(emitErrorNT, this, err);
+          }
+        }
+        return this;
       }
-      /**
-       * [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
-       * operations
-       * @param leaseId Specifies the current lease ID on the resource.
-       * @param options The options parameters.
-       */
-      releaseLease(leaseId, options) {
-        return this.client.sendOperationRequest({ leaseId, options }, releaseLeaseOperationSpec);
+      if (this._readableState) {
+        this._readableState.destroyed = true;
       }
-      /**
-       * [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
-       * operations
-       * @param leaseId Specifies the current lease ID on the resource.
-       * @param options The options parameters.
-       */
-      renewLease(leaseId, options) {
-        return this.client.sendOperationRequest({ leaseId, options }, renewLeaseOperationSpec);
+      if (this._writableState) {
+        this._writableState.destroyed = true;
       }
-      /**
-       * [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
-       * operations
-       * @param leaseId Specifies the current lease ID on the resource.
-       * @param proposedLeaseId Proposed lease ID, in a GUID string format. The Blob service returns 400
-       *                        (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor
-       *                        (String) for a list of valid GUID string formats.
-       * @param options The options parameters.
-       */
-      changeLease(leaseId, proposedLeaseId, options) {
-        return this.client.sendOperationRequest({ leaseId, proposedLeaseId, options }, changeLeaseOperationSpec);
+      this._destroy(err || null, function(err2) {
+        if (!cb && err2) {
+          if (!_this._writableState) {
+            pna.nextTick(emitErrorNT, _this, err2);
+          } else if (!_this._writableState.errorEmitted) {
+            _this._writableState.errorEmitted = true;
+            pna.nextTick(emitErrorNT, _this, err2);
+          }
+        } else if (cb) {
+          cb(err2);
+        }
+      });
+      return this;
+    }
+    function undestroy() {
+      if (this._readableState) {
+        this._readableState.destroyed = false;
+        this._readableState.reading = false;
+        this._readableState.ended = false;
+        this._readableState.endEmitted = false;
       }
-      /**
-       * [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
-       * operations
-       * @param options The options parameters.
-       */
-      breakLease(options) {
-        return this.client.sendOperationRequest({ options }, breakLeaseOperationSpec);
+      if (this._writableState) {
+        this._writableState.destroyed = false;
+        this._writableState.ended = false;
+        this._writableState.ending = false;
+        this._writableState.finalCalled = false;
+        this._writableState.prefinished = false;
+        this._writableState.finished = false;
+        this._writableState.errorEmitted = false;
       }
-      /**
-       * The Create Snapshot operation creates a read-only snapshot of a blob
-       * @param options The options parameters.
-       */
-      createSnapshot(options) {
-        return this.client.sendOperationRequest({ options }, createSnapshotOperationSpec);
+    }
+    function emitErrorNT(self2, err) {
+      self2.emit("error", err);
+    }
+    module2.exports = {
+      destroy,
+      undestroy
+    };
+  }
+});
+
+// node_modules/util-deprecate/node.js
+var require_node2 = __commonJS({
+  "node_modules/util-deprecate/node.js"(exports2, module2) {
+    module2.exports = require("util").deprecate;
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/lib/_stream_writable.js
+var require_stream_writable = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_writable.js"(exports2, module2) {
+    "use strict";
+    var pna = require_process_nextick_args();
+    module2.exports = Writable;
+    function CorkedRequest(state) {
+      var _this = this;
+      this.next = null;
+      this.entry = null;
+      this.finish = function() {
+        onCorkedFinish(_this, state);
+      };
+    }
+    var asyncWrite = !process.browser && ["v0.10", "v0.9."].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick;
+    var Duplex;
+    Writable.WritableState = WritableState;
+    var util = Object.create(require_util19());
+    util.inherits = require_inherits();
+    var internalUtil = {
+      deprecate: require_node2()
+    };
+    var Stream = require_stream();
+    var Buffer2 = require_safe_buffer().Buffer;
+    var OurUint8Array = (typeof global !== "undefined" ? global : typeof window !== "undefined" ? window : typeof self !== "undefined" ? self : {}).Uint8Array || function() {
+    };
+    function _uint8ArrayToBuffer(chunk) {
+      return Buffer2.from(chunk);
+    }
+    function _isUint8Array(obj) {
+      return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array;
+    }
+    var destroyImpl = require_destroy();
+    util.inherits(Writable, Stream);
+    function nop() {
+    }
+    function WritableState(options, stream) {
+      Duplex = Duplex || require_stream_duplex();
+      options = options || {};
+      var isDuplex = stream instanceof Duplex;
+      this.objectMode = !!options.objectMode;
+      if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;
+      var hwm = options.highWaterMark;
+      var writableHwm = options.writableHighWaterMark;
+      var defaultHwm = this.objectMode ? 16 : 16 * 1024;
+      if (hwm || hwm === 0) this.highWaterMark = hwm;
+      else if (isDuplex && (writableHwm || writableHwm === 0)) this.highWaterMark = writableHwm;
+      else this.highWaterMark = defaultHwm;
+      this.highWaterMark = Math.floor(this.highWaterMark);
+      this.finalCalled = false;
+      this.needDrain = false;
+      this.ending = false;
+      this.ended = false;
+      this.finished = false;
+      this.destroyed = false;
+      var noDecode = options.decodeStrings === false;
+      this.decodeStrings = !noDecode;
+      this.defaultEncoding = options.defaultEncoding || "utf8";
+      this.length = 0;
+      this.writing = false;
+      this.corked = 0;
+      this.sync = true;
+      this.bufferProcessing = false;
+      this.onwrite = function(er) {
+        onwrite(stream, er);
+      };
+      this.writecb = null;
+      this.writelen = 0;
+      this.bufferedRequest = null;
+      this.lastBufferedRequest = null;
+      this.pendingcb = 0;
+      this.prefinished = false;
+      this.errorEmitted = false;
+      this.bufferedRequestCount = 0;
+      this.corkedRequestsFree = new CorkedRequest(this);
+    }
+    WritableState.prototype.getBuffer = function getBuffer() {
+      var current = this.bufferedRequest;
+      var out = [];
+      while (current) {
+        out.push(current);
+        current = current.next;
       }
-      /**
-       * The Start Copy From URL operation copies a blob or an internet resource to a new blob.
-       * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to
-       *                   2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would
-       *                   appear in a request URI. The source blob must either be public or must be authenticated via a shared
-       *                   access signature.
-       * @param options The options parameters.
-       */
-      startCopyFromURL(copySource, options) {
-        return this.client.sendOperationRequest({ copySource, options }, startCopyFromURLOperationSpec);
+      return out;
+    };
+    (function() {
+      try {
+        Object.defineProperty(WritableState.prototype, "buffer", {
+          get: internalUtil.deprecate(function() {
+            return this.getBuffer();
+          }, "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.", "DEP0003")
+        });
+      } catch (_2) {
       }
-      /**
-       * The Copy From URL operation copies a blob or an internet resource to a new blob. It will not return
-       * a response until the copy is complete.
-       * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to
-       *                   2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would
-       *                   appear in a request URI. The source blob must either be public or must be authenticated via a shared
-       *                   access signature.
-       * @param options The options parameters.
-       */
-      copyFromURL(copySource, options) {
-        return this.client.sendOperationRequest({ copySource, options }, copyFromURLOperationSpec);
+    })();
+    var realHasInstance;
+    if (typeof Symbol === "function" && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === "function") {
+      realHasInstance = Function.prototype[Symbol.hasInstance];
+      Object.defineProperty(Writable, Symbol.hasInstance, {
+        value: function(object) {
+          if (realHasInstance.call(this, object)) return true;
+          if (this !== Writable) return false;
+          return object && object._writableState instanceof WritableState;
+        }
+      });
+    } else {
+      realHasInstance = function(object) {
+        return object instanceof this;
+      };
+    }
+    function Writable(options) {
+      Duplex = Duplex || require_stream_duplex();
+      if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) {
+        return new Writable(options);
       }
-      /**
-       * The Abort Copy From URL operation aborts a pending Copy From URL operation, and leaves a destination
-       * blob with zero length and full metadata.
-       * @param copyId The copy identifier provided in the x-ms-copy-id header of the original Copy Blob
-       *               operation.
-       * @param options The options parameters.
-       */
-      abortCopyFromURL(copyId, options) {
-        return this.client.sendOperationRequest({ copyId, options }, abortCopyFromURLOperationSpec);
+      this._writableState = new WritableState(options, this);
+      this.writable = true;
+      if (options) {
+        if (typeof options.write === "function") this._write = options.write;
+        if (typeof options.writev === "function") this._writev = options.writev;
+        if (typeof options.destroy === "function") this._destroy = options.destroy;
+        if (typeof options.final === "function") this._final = options.final;
       }
-      /**
-       * The Set Tier operation sets the tier on a blob. The operation is allowed on a page blob in a premium
-       * storage account and on a block blob in a blob storage account (locally redundant storage only). A
-       * premium page blob's tier determines the allowed size, IOPS, and bandwidth of the blob. A block
-       * blob's tier determines Hot/Cool/Archive storage type. This operation does not update the blob's
-       * ETag.
-       * @param tier Indicates the tier to be set on the blob.
-       * @param options The options parameters.
-       */
-      setTier(tier, options) {
-        return this.client.sendOperationRequest({ tier, options }, setTierOperationSpec);
+      Stream.call(this);
+    }
+    Writable.prototype.pipe = function() {
+      this.emit("error", new Error("Cannot pipe, not readable"));
+    };
+    function writeAfterEnd(stream, cb) {
+      var er = new Error("write after end");
+      stream.emit("error", er);
+      pna.nextTick(cb, er);
+    }
+    function validChunk(stream, state, chunk, cb) {
+      var valid3 = true;
+      var er = false;
+      if (chunk === null) {
+        er = new TypeError("May not write null values to stream");
+      } else if (typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) {
+        er = new TypeError("Invalid non-string/buffer chunk");
       }
-      /**
-       * Returns the sku name and account kind
-       * @param options The options parameters.
-       */
-      getAccountInfo(options) {
-        return this.client.sendOperationRequest({ options }, getAccountInfoOperationSpec);
+      if (er) {
+        stream.emit("error", er);
+        pna.nextTick(cb, er);
+        valid3 = false;
       }
-      /**
-       * The Query operation enables users to select/project on blob data by providing simple query
-       * expressions.
-       * @param options The options parameters.
-       */
-      query(options) {
-        return this.client.sendOperationRequest({ options }, queryOperationSpec);
+      return valid3;
+    }
+    Writable.prototype.write = function(chunk, encoding, cb) {
+      var state = this._writableState;
+      var ret = false;
+      var isBuf = !state.objectMode && _isUint8Array(chunk);
+      if (isBuf && !Buffer2.isBuffer(chunk)) {
+        chunk = _uint8ArrayToBuffer(chunk);
       }
-      /**
-       * The Get Tags operation enables users to get the tags associated with a blob.
-       * @param options The options parameters.
-       */
-      getTags(options) {
-        return this.client.sendOperationRequest({ options }, getTagsOperationSpec);
+      if (typeof encoding === "function") {
+        cb = encoding;
+        encoding = null;
       }
-      /**
-       * The Set Tags operation enables users to set tags on a blob.
-       * @param options The options parameters.
-       */
-      setTags(options) {
-        return this.client.sendOperationRequest({ options }, setTagsOperationSpec);
+      if (isBuf) encoding = "buffer";
+      else if (!encoding) encoding = state.defaultEncoding;
+      if (typeof cb !== "function") cb = nop;
+      if (state.ended) writeAfterEnd(this, cb);
+      else if (isBuf || validChunk(this, state, chunk, cb)) {
+        state.pendingcb++;
+        ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);
       }
+      return ret;
     };
-    exports2.BlobImpl = BlobImpl;
-    var xmlSerializer = coreClient.createSerializer(
-      Mappers,
-      /* isXml */
-      true
-    );
-    var downloadOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: {
-            type: { name: "Stream" },
-            serializedName: "parsedResponse"
-          },
-          headersMapper: Mappers.BlobDownloadHeaders
-        },
-        206: {
-          bodyMapper: {
-            type: { name: "Stream" },
-            serializedName: "parsedResponse"
-          },
-          headersMapper: Mappers.BlobDownloadHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobDownloadExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.versionId
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.range,
-        Parameters.rangeGetContentMD5,
-        Parameters.rangeGetContentCRC64,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+    Writable.prototype.cork = function() {
+      var state = this._writableState;
+      state.corked++;
     };
-    var getPropertiesOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "HEAD",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobGetPropertiesHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobGetPropertiesExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.versionId
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+    Writable.prototype.uncork = function() {
+      var state = this._writableState;
+      if (state.corked) {
+        state.corked--;
+        if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);
+      }
     };
-    var deleteOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "DELETE",
-      responses: {
-        202: {
-          headersMapper: Mappers.BlobDeleteHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobDeleteExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.versionId,
-        Parameters.blobDeleteType
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.deleteSnapshots
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+    Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {
+      if (typeof encoding === "string") encoding = encoding.toLowerCase();
+      if (!(["hex", "utf8", "utf-8", "ascii", "binary", "base64", "ucs2", "ucs-2", "utf16le", "utf-16le", "raw"].indexOf((encoding + "").toLowerCase()) > -1)) throw new TypeError("Unknown encoding: " + encoding);
+      this._writableState.defaultEncoding = encoding;
+      return this;
     };
-    var undeleteOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobUndeleteHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobUndeleteExceptionHeaders
+    function decodeChunk(state, chunk, encoding) {
+      if (!state.objectMode && state.decodeStrings !== false && typeof chunk === "string") {
+        chunk = Buffer2.from(chunk, encoding);
+      }
+      return chunk;
+    }
+    Object.defineProperty(Writable.prototype, "writableHighWaterMark", {
+      // making it explicit this property is not enumerable
+      // because otherwise some prototype manipulation in
+      // userland will fail
+      enumerable: false,
+      get: function() {
+        return this._writableState.highWaterMark;
+      }
+    });
+    function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {
+      if (!isBuf) {
+        var newChunk = decodeChunk(state, chunk, encoding);
+        if (chunk !== newChunk) {
+          isBuf = true;
+          encoding = "buffer";
+          chunk = newChunk;
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp8],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var setExpiryOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobSetExpiryHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobSetExpiryExceptionHeaders
+      }
+      var len = state.objectMode ? 1 : chunk.length;
+      state.length += len;
+      var ret = state.length < state.highWaterMark;
+      if (!ret) state.needDrain = true;
+      if (state.writing || state.corked) {
+        var last = state.lastBufferedRequest;
+        state.lastBufferedRequest = {
+          chunk,
+          encoding,
+          isBuf,
+          callback: cb,
+          next: null
+        };
+        if (last) {
+          last.next = state.lastBufferedRequest;
+        } else {
+          state.bufferedRequest = state.lastBufferedRequest;
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp11],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.expiryOptions,
-        Parameters.expiresOn
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var setHttpHeadersOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobSetHttpHeadersHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobSetHttpHeadersExceptionHeaders
+        state.bufferedRequestCount += 1;
+      } else {
+        doWrite(stream, state, false, len, chunk, encoding, cb);
+      }
+      return ret;
+    }
+    function doWrite(stream, state, writev, len, chunk, encoding, cb) {
+      state.writelen = len;
+      state.writecb = cb;
+      state.writing = true;
+      state.sync = true;
+      if (writev) stream._writev(chunk, state.onwrite);
+      else stream._write(chunk, encoding, state.onwrite);
+      state.sync = false;
+    }
+    function onwriteError(stream, state, sync, er, cb) {
+      --state.pendingcb;
+      if (sync) {
+        pna.nextTick(cb, er);
+        pna.nextTick(finishMaybe, stream, state);
+        stream._writableState.errorEmitted = true;
+        stream.emit("error", er);
+      } else {
+        cb(er);
+        stream._writableState.errorEmitted = true;
+        stream.emit("error", er);
+        finishMaybe(stream, state);
+      }
+    }
+    function onwriteStateUpdate(state) {
+      state.writing = false;
+      state.writecb = null;
+      state.length -= state.writelen;
+      state.writelen = 0;
+    }
+    function onwrite(stream, er) {
+      var state = stream._writableState;
+      var sync = state.sync;
+      var cb = state.writecb;
+      onwriteStateUpdate(state);
+      if (er) onwriteError(stream, state, sync, er, cb);
+      else {
+        var finished = needFinish(state);
+        if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {
+          clearBuffer(stream, state);
         }
-      },
-      queryParameters: [Parameters.comp, Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.blobCacheControl,
-        Parameters.blobContentType,
-        Parameters.blobContentMD5,
-        Parameters.blobContentEncoding,
-        Parameters.blobContentLanguage,
-        Parameters.blobContentDisposition
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var setImmutabilityPolicyOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobSetImmutabilityPolicyHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobSetImmutabilityPolicyExceptionHeaders
+        if (sync) {
+          asyncWrite(afterWrite, stream, state, finished, cb);
+        } else {
+          afterWrite(stream, state, finished, cb);
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.versionId,
-        Parameters.comp12
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifUnmodifiedSince,
-        Parameters.immutabilityPolicyExpiry,
-        Parameters.immutabilityPolicyMode
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var deleteImmutabilityPolicyOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "DELETE",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobDeleteImmutabilityPolicyHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobDeleteImmutabilityPolicyExceptionHeaders
+      }
+    }
+    function afterWrite(stream, state, finished, cb) {
+      if (!finished) onwriteDrain(stream, state);
+      state.pendingcb--;
+      cb();
+      finishMaybe(stream, state);
+    }
+    function onwriteDrain(stream, state) {
+      if (state.length === 0 && state.needDrain) {
+        state.needDrain = false;
+        stream.emit("drain");
+      }
+    }
+    function clearBuffer(stream, state) {
+      state.bufferProcessing = true;
+      var entry = state.bufferedRequest;
+      if (stream._writev && entry && entry.next) {
+        var l = state.bufferedRequestCount;
+        var buffer = new Array(l);
+        var holder = state.corkedRequestsFree;
+        holder.entry = entry;
+        var count = 0;
+        var allBuffers = true;
+        while (entry) {
+          buffer[count] = entry;
+          if (!entry.isBuf) allBuffers = false;
+          entry = entry.next;
+          count += 1;
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.versionId,
-        Parameters.comp12
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var setLegalHoldOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobSetLegalHoldHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobSetLegalHoldExceptionHeaders
+        buffer.allBuffers = allBuffers;
+        doWrite(stream, state, true, state.length, buffer, "", holder.finish);
+        state.pendingcb++;
+        state.lastBufferedRequest = null;
+        if (holder.next) {
+          state.corkedRequestsFree = holder.next;
+          holder.next = null;
+        } else {
+          state.corkedRequestsFree = new CorkedRequest(state);
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.versionId,
-        Parameters.comp13
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.legalHold
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var setMetadataOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobSetMetadataHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobSetMetadataExceptionHeaders
+        state.bufferedRequestCount = 0;
+      } else {
+        while (entry) {
+          var chunk = entry.chunk;
+          var encoding = entry.encoding;
+          var cb = entry.callback;
+          var len = state.objectMode ? 1 : chunk.length;
+          doWrite(stream, state, false, len, chunk, encoding, cb);
+          entry = entry.next;
+          state.bufferedRequestCount--;
+          if (state.writing) {
+            break;
+          }
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp6],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+        if (entry === null) state.lastBufferedRequest = null;
+      }
+      state.bufferedRequest = entry;
+      state.bufferProcessing = false;
+    }
+    Writable.prototype._write = function(chunk, encoding, cb) {
+      cb(new Error("_write() is not implemented"));
+    };
+    Writable.prototype._writev = null;
+    Writable.prototype.end = function(chunk, encoding, cb) {
+      var state = this._writableState;
+      if (typeof chunk === "function") {
+        cb = chunk;
+        chunk = null;
+        encoding = null;
+      } else if (typeof encoding === "function") {
+        cb = encoding;
+        encoding = null;
+      }
+      if (chunk !== null && chunk !== void 0) this.write(chunk, encoding);
+      if (state.corked) {
+        state.corked = 1;
+        this.uncork();
+      }
+      if (!state.ending) endWritable(this, state, cb);
     };
-    var acquireLeaseOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.BlobAcquireLeaseHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobAcquireLeaseExceptionHeaders
+    function needFinish(state) {
+      return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;
+    }
+    function callFinal(stream, state) {
+      stream._final(function(err) {
+        state.pendingcb--;
+        if (err) {
+          stream.emit("error", err);
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp10],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.action,
-        Parameters.duration,
-        Parameters.proposedLeaseId,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var releaseLeaseOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobReleaseLeaseHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobReleaseLeaseExceptionHeaders
+        state.prefinished = true;
+        stream.emit("prefinish");
+        finishMaybe(stream, state);
+      });
+    }
+    function prefinish(stream, state) {
+      if (!state.prefinished && !state.finalCalled) {
+        if (typeof stream._final === "function") {
+          state.pendingcb++;
+          state.finalCalled = true;
+          pna.nextTick(callFinal, stream, state);
+        } else {
+          state.prefinished = true;
+          stream.emit("prefinish");
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp10],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.action1,
-        Parameters.leaseId1,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var renewLeaseOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobRenewLeaseHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobRenewLeaseExceptionHeaders
+      }
+    }
+    function finishMaybe(stream, state) {
+      var need = needFinish(state);
+      if (need) {
+        prefinish(stream, state);
+        if (state.pendingcb === 0) {
+          state.finished = true;
+          stream.emit("finish");
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp10],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.leaseId1,
-        Parameters.action2,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var changeLeaseOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobChangeLeaseHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobChangeLeaseExceptionHeaders
+      }
+      return need;
+    }
+    function endWritable(stream, state, cb) {
+      state.ending = true;
+      finishMaybe(stream, state);
+      if (cb) {
+        if (state.finished) pna.nextTick(cb);
+        else stream.once("finish", cb);
+      }
+      state.ended = true;
+      stream.writable = false;
+    }
+    function onCorkedFinish(corkReq, state, err) {
+      var entry = corkReq.entry;
+      corkReq.entry = null;
+      while (entry) {
+        var cb = entry.callback;
+        state.pendingcb--;
+        cb(err);
+        entry = entry.next;
+      }
+      state.corkedRequestsFree.next = corkReq;
+    }
+    Object.defineProperty(Writable.prototype, "destroyed", {
+      get: function() {
+        if (this._writableState === void 0) {
+          return false;
         }
+        return this._writableState.destroyed;
       },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp10],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.leaseId1,
-        Parameters.action4,
-        Parameters.proposedLeaseId1,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var breakLeaseOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        202: {
-          headersMapper: Mappers.BlobBreakLeaseHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobBreakLeaseExceptionHeaders
+      set: function(value) {
+        if (!this._writableState) {
+          return;
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp10],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.action3,
-        Parameters.breakPeriod,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+        this._writableState.destroyed = value;
+      }
+    });
+    Writable.prototype.destroy = destroyImpl.destroy;
+    Writable.prototype._undestroy = destroyImpl.undestroy;
+    Writable.prototype._destroy = function(err, cb) {
+      this.end();
+      cb(err);
     };
-    var createSnapshotOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.BlobCreateSnapshotHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobCreateSnapshotExceptionHeaders
-        }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp14],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/lib/_stream_duplex.js
+var require_stream_duplex = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_duplex.js"(exports2, module2) {
+    "use strict";
+    var pna = require_process_nextick_args();
+    var objectKeys = Object.keys || function(obj) {
+      var keys2 = [];
+      for (var key in obj) {
+        keys2.push(key);
+      }
+      return keys2;
     };
-    var startCopyFromURLOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        202: {
-          headersMapper: Mappers.BlobStartCopyFromURLHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobStartCopyFromURLExceptionHeaders
+    module2.exports = Duplex;
+    var util = Object.create(require_util19());
+    util.inherits = require_inherits();
+    var Readable = require_stream_readable();
+    var Writable = require_stream_writable();
+    util.inherits(Duplex, Readable);
+    {
+      keys = objectKeys(Writable.prototype);
+      for (v = 0; v < keys.length; v++) {
+        method = keys[v];
+        if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];
+      }
+    }
+    var keys;
+    var method;
+    var v;
+    function Duplex(options) {
+      if (!(this instanceof Duplex)) return new Duplex(options);
+      Readable.call(this, options);
+      Writable.call(this, options);
+      if (options && options.readable === false) this.readable = false;
+      if (options && options.writable === false) this.writable = false;
+      this.allowHalfOpen = true;
+      if (options && options.allowHalfOpen === false) this.allowHalfOpen = false;
+      this.once("end", onend);
+    }
+    Object.defineProperty(Duplex.prototype, "writableHighWaterMark", {
+      // making it explicit this property is not enumerable
+      // because otherwise some prototype manipulation in
+      // userland will fail
+      enumerable: false,
+      get: function() {
+        return this._writableState.highWaterMark;
+      }
+    });
+    function onend() {
+      if (this.allowHalfOpen || this._writableState.ended) return;
+      pna.nextTick(onEndNT, this);
+    }
+    function onEndNT(self2) {
+      self2.end();
+    }
+    Object.defineProperty(Duplex.prototype, "destroyed", {
+      get: function() {
+        if (this._readableState === void 0 || this._writableState === void 0) {
+          return false;
         }
+        return this._readableState.destroyed && this._writableState.destroyed;
       },
-      queryParameters: [Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.immutabilityPolicyExpiry,
-        Parameters.immutabilityPolicyMode,
-        Parameters.tier,
-        Parameters.rehydratePriority,
-        Parameters.sourceIfModifiedSince,
-        Parameters.sourceIfUnmodifiedSince,
-        Parameters.sourceIfMatch,
-        Parameters.sourceIfNoneMatch,
-        Parameters.sourceIfTags,
-        Parameters.copySource,
-        Parameters.blobTagsString,
-        Parameters.sealBlob,
-        Parameters.legalHold1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+      set: function(value) {
+        if (this._readableState === void 0 || this._writableState === void 0) {
+          return;
+        }
+        this._readableState.destroyed = value;
+        this._writableState.destroyed = value;
+      }
+    });
+    Duplex.prototype._destroy = function(err, cb) {
+      this.push(null);
+      this.end();
+      pna.nextTick(cb, err);
     };
-    var copyFromURLOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        202: {
-          headersMapper: Mappers.BlobCopyFromURLHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobCopyFromURLExceptionHeaders
+  }
+});
+
+// node_modules/lazystream/node_modules/string_decoder/lib/string_decoder.js
+var require_string_decoder = __commonJS({
+  "node_modules/lazystream/node_modules/string_decoder/lib/string_decoder.js"(exports2) {
+    "use strict";
+    var Buffer2 = require_safe_buffer().Buffer;
+    var isEncoding = Buffer2.isEncoding || function(encoding) {
+      encoding = "" + encoding;
+      switch (encoding && encoding.toLowerCase()) {
+        case "hex":
+        case "utf8":
+        case "utf-8":
+        case "ascii":
+        case "binary":
+        case "base64":
+        case "ucs2":
+        case "ucs-2":
+        case "utf16le":
+        case "utf-16le":
+        case "raw":
+          return true;
+        default:
+          return false;
+      }
+    };
+    function _normalizeEncoding(enc) {
+      if (!enc) return "utf8";
+      var retried;
+      while (true) {
+        switch (enc) {
+          case "utf8":
+          case "utf-8":
+            return "utf8";
+          case "ucs2":
+          case "ucs-2":
+          case "utf16le":
+          case "utf-16le":
+            return "utf16le";
+          case "latin1":
+          case "binary":
+            return "latin1";
+          case "base64":
+          case "ascii":
+          case "hex":
+            return enc;
+          default:
+            if (retried) return;
+            enc = ("" + enc).toLowerCase();
+            retried = true;
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.immutabilityPolicyExpiry,
-        Parameters.immutabilityPolicyMode,
-        Parameters.encryptionScope,
-        Parameters.tier,
-        Parameters.sourceIfModifiedSince,
-        Parameters.sourceIfUnmodifiedSince,
-        Parameters.sourceIfMatch,
-        Parameters.sourceIfNoneMatch,
-        Parameters.copySource,
-        Parameters.blobTagsString,
-        Parameters.legalHold1,
-        Parameters.xMsRequiresSync,
-        Parameters.sourceContentMD5,
-        Parameters.copySourceAuthorization,
-        Parameters.copySourceTags,
-        Parameters.fileRequestIntent
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+      }
+    }
+    function normalizeEncoding(enc) {
+      var nenc = _normalizeEncoding(enc);
+      if (typeof nenc !== "string" && (Buffer2.isEncoding === isEncoding || !isEncoding(enc))) throw new Error("Unknown encoding: " + enc);
+      return nenc || enc;
+    }
+    exports2.StringDecoder = StringDecoder;
+    function StringDecoder(encoding) {
+      this.encoding = normalizeEncoding(encoding);
+      var nb;
+      switch (this.encoding) {
+        case "utf16le":
+          this.text = utf16Text;
+          this.end = utf16End;
+          nb = 4;
+          break;
+        case "utf8":
+          this.fillLast = utf8FillLast;
+          nb = 4;
+          break;
+        case "base64":
+          this.text = base64Text;
+          this.end = base64End;
+          nb = 3;
+          break;
+        default:
+          this.write = simpleWrite;
+          this.end = simpleEnd;
+          return;
+      }
+      this.lastNeed = 0;
+      this.lastTotal = 0;
+      this.lastChar = Buffer2.allocUnsafe(nb);
+    }
+    StringDecoder.prototype.write = function(buf) {
+      if (buf.length === 0) return "";
+      var r;
+      var i;
+      if (this.lastNeed) {
+        r = this.fillLast(buf);
+        if (r === void 0) return "";
+        i = this.lastNeed;
+        this.lastNeed = 0;
+      } else {
+        i = 0;
+      }
+      if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);
+      return r || "";
+    };
+    StringDecoder.prototype.end = utf8End;
+    StringDecoder.prototype.text = utf8Text;
+    StringDecoder.prototype.fillLast = function(buf) {
+      if (this.lastNeed <= buf.length) {
+        buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);
+        return this.lastChar.toString(this.encoding, 0, this.lastTotal);
+      }
+      buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);
+      this.lastNeed -= buf.length;
     };
-    var abortCopyFromURLOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        204: {
-          headersMapper: Mappers.BlobAbortCopyFromURLHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobAbortCopyFromURLExceptionHeaders
+    function utf8CheckByte(byte) {
+      if (byte <= 127) return 0;
+      else if (byte >> 5 === 6) return 2;
+      else if (byte >> 4 === 14) return 3;
+      else if (byte >> 3 === 30) return 4;
+      return byte >> 6 === 2 ? -1 : -2;
+    }
+    function utf8CheckIncomplete(self2, buf, i) {
+      var j = buf.length - 1;
+      if (j < i) return 0;
+      var nb = utf8CheckByte(buf[j]);
+      if (nb >= 0) {
+        if (nb > 0) self2.lastNeed = nb - 1;
+        return nb;
+      }
+      if (--j < i || nb === -2) return 0;
+      nb = utf8CheckByte(buf[j]);
+      if (nb >= 0) {
+        if (nb > 0) self2.lastNeed = nb - 2;
+        return nb;
+      }
+      if (--j < i || nb === -2) return 0;
+      nb = utf8CheckByte(buf[j]);
+      if (nb >= 0) {
+        if (nb > 0) {
+          if (nb === 2) nb = 0;
+          else self2.lastNeed = nb - 3;
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.comp15,
-        Parameters.copyId
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.copyActionAbortConstant
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var setTierOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobSetTierHeaders
-        },
-        202: {
-          headersMapper: Mappers.BlobSetTierHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobSetTierExceptionHeaders
+        return nb;
+      }
+      return 0;
+    }
+    function utf8CheckExtraBytes(self2, buf, p) {
+      if ((buf[0] & 192) !== 128) {
+        self2.lastNeed = 0;
+        return "\uFFFD";
+      }
+      if (self2.lastNeed > 1 && buf.length > 1) {
+        if ((buf[1] & 192) !== 128) {
+          self2.lastNeed = 1;
+          return "\uFFFD";
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.versionId,
-        Parameters.comp16
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifTags,
-        Parameters.rehydratePriority,
-        Parameters.tier1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var getAccountInfoOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobGetAccountInfoHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobGetAccountInfoExceptionHeaders
+        if (self2.lastNeed > 2 && buf.length > 2) {
+          if ((buf[2] & 192) !== 128) {
+            self2.lastNeed = 2;
+            return "\uFFFD";
+          }
         }
-      },
-      queryParameters: [
-        Parameters.comp,
-        Parameters.timeoutInSeconds,
-        Parameters.restype1
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var queryOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "POST",
-      responses: {
-        200: {
-          bodyMapper: {
-            type: { name: "Stream" },
-            serializedName: "parsedResponse"
-          },
-          headersMapper: Mappers.BlobQueryHeaders
-        },
-        206: {
-          bodyMapper: {
-            type: { name: "Stream" },
-            serializedName: "parsedResponse"
-          },
-          headersMapper: Mappers.BlobQueryHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobQueryExceptionHeaders
+      }
+    }
+    function utf8FillLast(buf) {
+      var p = this.lastTotal - this.lastNeed;
+      var r = utf8CheckExtraBytes(this, buf, p);
+      if (r !== void 0) return r;
+      if (this.lastNeed <= buf.length) {
+        buf.copy(this.lastChar, p, 0, this.lastNeed);
+        return this.lastChar.toString(this.encoding, 0, this.lastTotal);
+      }
+      buf.copy(this.lastChar, p, 0, buf.length);
+      this.lastNeed -= buf.length;
+    }
+    function utf8Text(buf, i) {
+      var total = utf8CheckIncomplete(this, buf, i);
+      if (!this.lastNeed) return buf.toString("utf8", i);
+      this.lastTotal = total;
+      var end = buf.length - (total - this.lastNeed);
+      buf.copy(this.lastChar, 0, end);
+      return buf.toString("utf8", i, end);
+    }
+    function utf8End(buf) {
+      var r = buf && buf.length ? this.write(buf) : "";
+      if (this.lastNeed) return r + "\uFFFD";
+      return r;
+    }
+    function utf16Text(buf, i) {
+      if ((buf.length - i) % 2 === 0) {
+        var r = buf.toString("utf16le", i);
+        if (r) {
+          var c = r.charCodeAt(r.length - 1);
+          if (c >= 55296 && c <= 56319) {
+            this.lastNeed = 2;
+            this.lastTotal = 4;
+            this.lastChar[0] = buf[buf.length - 2];
+            this.lastChar[1] = buf[buf.length - 1];
+            return r.slice(0, -1);
+          }
         }
-      },
-      requestBody: Parameters.queryRequest,
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.comp17
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.contentType,
-        Parameters.accept,
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "xml",
-      serializer: xmlSerializer
+        return r;
+      }
+      this.lastNeed = 1;
+      this.lastTotal = 2;
+      this.lastChar[0] = buf[buf.length - 1];
+      return buf.toString("utf16le", i, buf.length - 1);
+    }
+    function utf16End(buf) {
+      var r = buf && buf.length ? this.write(buf) : "";
+      if (this.lastNeed) {
+        var end = this.lastTotal - this.lastNeed;
+        return r + this.lastChar.toString("utf16le", 0, end);
+      }
+      return r;
+    }
+    function base64Text(buf, i) {
+      var n = (buf.length - i) % 3;
+      if (n === 0) return buf.toString("base64", i);
+      this.lastNeed = 3 - n;
+      this.lastTotal = 3;
+      if (n === 1) {
+        this.lastChar[0] = buf[buf.length - 1];
+      } else {
+        this.lastChar[0] = buf[buf.length - 2];
+        this.lastChar[1] = buf[buf.length - 1];
+      }
+      return buf.toString("base64", i, buf.length - n);
+    }
+    function base64End(buf) {
+      var r = buf && buf.length ? this.write(buf) : "";
+      if (this.lastNeed) return r + this.lastChar.toString("base64", 0, 3 - this.lastNeed);
+      return r;
+    }
+    function simpleWrite(buf) {
+      return buf.toString(this.encoding);
+    }
+    function simpleEnd(buf) {
+      return buf && buf.length ? this.write(buf) : "";
+    }
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/lib/_stream_readable.js
+var require_stream_readable = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_readable.js"(exports2, module2) {
+    "use strict";
+    var pna = require_process_nextick_args();
+    module2.exports = Readable;
+    var isArray = require_isarray();
+    var Duplex;
+    Readable.ReadableState = ReadableState;
+    var EE = require("events").EventEmitter;
+    var EElistenerCount = function(emitter, type2) {
+      return emitter.listeners(type2).length;
     };
-    var getTagsOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.BlobTags,
-          headersMapper: Mappers.BlobGetTagsHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobGetTagsExceptionHeaders
+    var Stream = require_stream();
+    var Buffer2 = require_safe_buffer().Buffer;
+    var OurUint8Array = (typeof global !== "undefined" ? global : typeof window !== "undefined" ? window : typeof self !== "undefined" ? self : {}).Uint8Array || function() {
+    };
+    function _uint8ArrayToBuffer(chunk) {
+      return Buffer2.from(chunk);
+    }
+    function _isUint8Array(obj) {
+      return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array;
+    }
+    var util = Object.create(require_util19());
+    util.inherits = require_inherits();
+    var debugUtil = require("util");
+    var debug4 = void 0;
+    if (debugUtil && debugUtil.debuglog) {
+      debug4 = debugUtil.debuglog("stream");
+    } else {
+      debug4 = function() {
+      };
+    }
+    var BufferList = require_BufferList();
+    var destroyImpl = require_destroy();
+    var StringDecoder;
+    util.inherits(Readable, Stream);
+    var kProxyEvents = ["error", "close", "destroy", "pause", "resume"];
+    function prependListener(emitter, event, fn) {
+      if (typeof emitter.prependListener === "function") return emitter.prependListener(event, fn);
+      if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);
+      else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);
+      else emitter._events[event] = [fn, emitter._events[event]];
+    }
+    function ReadableState(options, stream) {
+      Duplex = Duplex || require_stream_duplex();
+      options = options || {};
+      var isDuplex = stream instanceof Duplex;
+      this.objectMode = !!options.objectMode;
+      if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;
+      var hwm = options.highWaterMark;
+      var readableHwm = options.readableHighWaterMark;
+      var defaultHwm = this.objectMode ? 16 : 16 * 1024;
+      if (hwm || hwm === 0) this.highWaterMark = hwm;
+      else if (isDuplex && (readableHwm || readableHwm === 0)) this.highWaterMark = readableHwm;
+      else this.highWaterMark = defaultHwm;
+      this.highWaterMark = Math.floor(this.highWaterMark);
+      this.buffer = new BufferList();
+      this.length = 0;
+      this.pipes = null;
+      this.pipesCount = 0;
+      this.flowing = null;
+      this.ended = false;
+      this.endEmitted = false;
+      this.reading = false;
+      this.sync = true;
+      this.needReadable = false;
+      this.emittedReadable = false;
+      this.readableListening = false;
+      this.resumeScheduled = false;
+      this.destroyed = false;
+      this.defaultEncoding = options.defaultEncoding || "utf8";
+      this.awaitDrain = 0;
+      this.readingMore = false;
+      this.decoder = null;
+      this.encoding = null;
+      if (options.encoding) {
+        if (!StringDecoder) StringDecoder = require_string_decoder().StringDecoder;
+        this.decoder = new StringDecoder(options.encoding);
+        this.encoding = options.encoding;
+      }
+    }
+    function Readable(options) {
+      Duplex = Duplex || require_stream_duplex();
+      if (!(this instanceof Readable)) return new Readable(options);
+      this._readableState = new ReadableState(options, this);
+      this.readable = true;
+      if (options) {
+        if (typeof options.read === "function") this._read = options.read;
+        if (typeof options.destroy === "function") this._destroy = options.destroy;
+      }
+      Stream.call(this);
+    }
+    Object.defineProperty(Readable.prototype, "destroyed", {
+      get: function() {
+        if (this._readableState === void 0) {
+          return false;
         }
+        return this._readableState.destroyed;
       },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.versionId,
-        Parameters.comp18
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+      set: function(value) {
+        if (!this._readableState) {
+          return;
+        }
+        this._readableState.destroyed = value;
+      }
+    });
+    Readable.prototype.destroy = destroyImpl.destroy;
+    Readable.prototype._undestroy = destroyImpl.undestroy;
+    Readable.prototype._destroy = function(err, cb) {
+      this.push(null);
+      cb(err);
     };
-    var setTagsOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        204: {
-          headersMapper: Mappers.BlobSetTagsHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobSetTagsExceptionHeaders
+    Readable.prototype.push = function(chunk, encoding) {
+      var state = this._readableState;
+      var skipChunkCheck;
+      if (!state.objectMode) {
+        if (typeof chunk === "string") {
+          encoding = encoding || state.defaultEncoding;
+          if (encoding !== state.encoding) {
+            chunk = Buffer2.from(chunk, encoding);
+            encoding = "";
+          }
+          skipChunkCheck = true;
         }
-      },
-      requestBody: Parameters.tags,
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.versionId,
-        Parameters.comp18
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.contentType,
-        Parameters.accept,
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.leaseId,
-        Parameters.ifTags,
-        Parameters.transactionalContentMD5,
-        Parameters.transactionalContentCrc64
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "xml",
-      serializer: xmlSerializer
+      } else {
+        skipChunkCheck = true;
+      }
+      return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);
     };
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/pageBlob.js
-var require_pageBlob = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/pageBlob.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.PageBlobImpl = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var coreClient = tslib_1.__importStar(require_commonjs10());
-    var Mappers = tslib_1.__importStar(require_mappers());
-    var Parameters = tslib_1.__importStar(require_parameters());
-    var PageBlobImpl = class {
-      client;
-      /**
-       * Initialize a new instance of the class PageBlob class.
-       * @param client Reference to the service client
-       */
-      constructor(client) {
-        this.client = client;
+    Readable.prototype.unshift = function(chunk) {
+      return readableAddChunk(this, chunk, null, true, false);
+    };
+    function readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {
+      var state = stream._readableState;
+      if (chunk === null) {
+        state.reading = false;
+        onEofChunk(stream, state);
+      } else {
+        var er;
+        if (!skipChunkCheck) er = chunkInvalid(state, chunk);
+        if (er) {
+          stream.emit("error", er);
+        } else if (state.objectMode || chunk && chunk.length > 0) {
+          if (typeof chunk !== "string" && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer2.prototype) {
+            chunk = _uint8ArrayToBuffer(chunk);
+          }
+          if (addToFront) {
+            if (state.endEmitted) stream.emit("error", new Error("stream.unshift() after end event"));
+            else addChunk(stream, state, chunk, true);
+          } else if (state.ended) {
+            stream.emit("error", new Error("stream.push() after EOF"));
+          } else {
+            state.reading = false;
+            if (state.decoder && !encoding) {
+              chunk = state.decoder.write(chunk);
+              if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);
+              else maybeReadMore(stream, state);
+            } else {
+              addChunk(stream, state, chunk, false);
+            }
+          }
+        } else if (!addToFront) {
+          state.reading = false;
+        }
+      }
+      return needMoreData(state);
+    }
+    function addChunk(stream, state, chunk, addToFront) {
+      if (state.flowing && state.length === 0 && !state.sync) {
+        stream.emit("data", chunk);
+        stream.read(0);
+      } else {
+        state.length += state.objectMode ? 1 : chunk.length;
+        if (addToFront) state.buffer.unshift(chunk);
+        else state.buffer.push(chunk);
+        if (state.needReadable) emitReadable(stream);
+      }
+      maybeReadMore(stream, state);
+    }
+    function chunkInvalid(state, chunk) {
+      var er;
+      if (!_isUint8Array(chunk) && typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) {
+        er = new TypeError("Invalid non-string/buffer chunk");
       }
-      /**
-       * The Create operation creates a new page blob.
-       * @param contentLength The length of the request.
-       * @param blobContentLength This header specifies the maximum size for the page blob, up to 1 TB. The
-       *                          page blob size must be aligned to a 512-byte boundary.
-       * @param options The options parameters.
-       */
-      create(contentLength, blobContentLength, options) {
-        return this.client.sendOperationRequest({ contentLength, blobContentLength, options }, createOperationSpec);
+      return er;
+    }
+    function needMoreData(state) {
+      return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0);
+    }
+    Readable.prototype.isPaused = function() {
+      return this._readableState.flowing === false;
+    };
+    Readable.prototype.setEncoding = function(enc) {
+      if (!StringDecoder) StringDecoder = require_string_decoder().StringDecoder;
+      this._readableState.decoder = new StringDecoder(enc);
+      this._readableState.encoding = enc;
+      return this;
+    };
+    var MAX_HWM = 8388608;
+    function computeNewHighWaterMark(n) {
+      if (n >= MAX_HWM) {
+        n = MAX_HWM;
+      } else {
+        n--;
+        n |= n >>> 1;
+        n |= n >>> 2;
+        n |= n >>> 4;
+        n |= n >>> 8;
+        n |= n >>> 16;
+        n++;
       }
-      /**
-       * The Upload Pages operation writes a range of pages to a page blob
-       * @param contentLength The length of the request.
-       * @param body Initial data
-       * @param options The options parameters.
-       */
-      uploadPages(contentLength, body, options) {
-        return this.client.sendOperationRequest({ contentLength, body, options }, uploadPagesOperationSpec);
+      return n;
+    }
+    function howMuchToRead(n, state) {
+      if (n <= 0 || state.length === 0 && state.ended) return 0;
+      if (state.objectMode) return 1;
+      if (n !== n) {
+        if (state.flowing && state.length) return state.buffer.head.data.length;
+        else return state.length;
       }
-      /**
-       * The Clear Pages operation clears a set of pages from a page blob
-       * @param contentLength The length of the request.
-       * @param options The options parameters.
-       */
-      clearPages(contentLength, options) {
-        return this.client.sendOperationRequest({ contentLength, options }, clearPagesOperationSpec);
+      if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);
+      if (n <= state.length) return n;
+      if (!state.ended) {
+        state.needReadable = true;
+        return 0;
       }
-      /**
-       * The Upload Pages operation writes a range of pages to a page blob where the contents are read from a
-       * URL
-       * @param sourceUrl Specify a URL to the copy source.
-       * @param sourceRange Bytes of source data in the specified range. The length of this range should
-       *                    match the ContentLength header and x-ms-range/Range destination range header.
-       * @param contentLength The length of the request.
-       * @param range The range of bytes to which the source range would be written. The range should be 512
-       *              aligned and range-end is required.
-       * @param options The options parameters.
-       */
-      uploadPagesFromURL(sourceUrl, sourceRange, contentLength, range, options) {
-        return this.client.sendOperationRequest({ sourceUrl, sourceRange, contentLength, range, options }, uploadPagesFromURLOperationSpec);
+      return state.length;
+    }
+    Readable.prototype.read = function(n) {
+      debug4("read", n);
+      n = parseInt(n, 10);
+      var state = this._readableState;
+      var nOrig = n;
+      if (n !== 0) state.emittedReadable = false;
+      if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) {
+        debug4("read: emitReadable", state.length, state.ended);
+        if (state.length === 0 && state.ended) endReadable(this);
+        else emitReadable(this);
+        return null;
       }
-      /**
-       * The Get Page Ranges operation returns the list of valid page ranges for a page blob or snapshot of a
-       * page blob
-       * @param options The options parameters.
-       */
-      getPageRanges(options) {
-        return this.client.sendOperationRequest({ options }, getPageRangesOperationSpec);
+      n = howMuchToRead(n, state);
+      if (n === 0 && state.ended) {
+        if (state.length === 0) endReadable(this);
+        return null;
       }
-      /**
-       * The Get Page Ranges Diff operation returns the list of valid page ranges for a page blob that were
-       * changed between target blob and previous snapshot.
-       * @param options The options parameters.
-       */
-      getPageRangesDiff(options) {
-        return this.client.sendOperationRequest({ options }, getPageRangesDiffOperationSpec);
+      var doRead = state.needReadable;
+      debug4("need readable", doRead);
+      if (state.length === 0 || state.length - n < state.highWaterMark) {
+        doRead = true;
+        debug4("length less than watermark", doRead);
       }
-      /**
-       * Resize the Blob
-       * @param blobContentLength This header specifies the maximum size for the page blob, up to 1 TB. The
-       *                          page blob size must be aligned to a 512-byte boundary.
-       * @param options The options parameters.
-       */
-      resize(blobContentLength, options) {
-        return this.client.sendOperationRequest({ blobContentLength, options }, resizeOperationSpec);
+      if (state.ended || state.reading) {
+        doRead = false;
+        debug4("reading or ended", doRead);
+      } else if (doRead) {
+        debug4("do read");
+        state.reading = true;
+        state.sync = true;
+        if (state.length === 0) state.needReadable = true;
+        this._read(state.highWaterMark);
+        state.sync = false;
+        if (!state.reading) n = howMuchToRead(nOrig, state);
       }
-      /**
-       * Update the sequence number of the blob
-       * @param sequenceNumberAction Required if the x-ms-blob-sequence-number header is set for the request.
-       *                             This property applies to page blobs only. This property indicates how the service should modify the
-       *                             blob's sequence number
-       * @param options The options parameters.
-       */
-      updateSequenceNumber(sequenceNumberAction, options) {
-        return this.client.sendOperationRequest({ sequenceNumberAction, options }, updateSequenceNumberOperationSpec);
+      var ret;
+      if (n > 0) ret = fromList(n, state);
+      else ret = null;
+      if (ret === null) {
+        state.needReadable = true;
+        n = 0;
+      } else {
+        state.length -= n;
       }
-      /**
-       * The Copy Incremental operation copies a snapshot of the source page blob to a destination page blob.
-       * The snapshot is copied such that only the differential changes between the previously copied
-       * snapshot are transferred to the destination. The copied snapshots are complete copies of the
-       * original snapshot and can be read or copied from as usual. This API is supported since REST version
-       * 2016-05-31.
-       * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to
-       *                   2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would
-       *                   appear in a request URI. The source blob must either be public or must be authenticated via a shared
-       *                   access signature.
-       * @param options The options parameters.
-       */
-      copyIncremental(copySource, options) {
-        return this.client.sendOperationRequest({ copySource, options }, copyIncrementalOperationSpec);
+      if (state.length === 0) {
+        if (!state.ended) state.needReadable = true;
+        if (nOrig !== n && state.ended) endReadable(this);
       }
+      if (ret !== null) this.emit("data", ret);
+      return ret;
     };
-    exports2.PageBlobImpl = PageBlobImpl;
-    var xmlSerializer = coreClient.createSerializer(
-      Mappers,
-      /* isXml */
-      true
-    );
-    var createOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.PageBlobCreateHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobCreateExceptionHeaders
-        }
-      },
-      queryParameters: [Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.contentLength,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.blobCacheControl,
-        Parameters.blobContentType,
-        Parameters.blobContentMD5,
-        Parameters.blobContentEncoding,
-        Parameters.blobContentLanguage,
-        Parameters.blobContentDisposition,
-        Parameters.immutabilityPolicyExpiry,
-        Parameters.immutabilityPolicyMode,
-        Parameters.encryptionScope,
-        Parameters.tier,
-        Parameters.blobTagsString,
-        Parameters.legalHold1,
-        Parameters.blobType,
-        Parameters.blobContentLength,
-        Parameters.blobSequenceNumber
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var uploadPagesOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.PageBlobUploadPagesHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobUploadPagesExceptionHeaders
-        }
-      },
-      requestBody: Parameters.body1,
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.contentLength,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.range,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope,
-        Parameters.transactionalContentMD5,
-        Parameters.transactionalContentCrc64,
-        Parameters.contentType1,
-        Parameters.accept2,
-        Parameters.pageWrite,
-        Parameters.ifSequenceNumberLessThanOrEqualTo,
-        Parameters.ifSequenceNumberLessThan,
-        Parameters.ifSequenceNumberEqualTo
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "binary",
-      serializer: xmlSerializer
-    };
-    var clearPagesOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.PageBlobClearPagesHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobClearPagesExceptionHeaders
-        }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.contentLength,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.range,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope,
-        Parameters.ifSequenceNumberLessThanOrEqualTo,
-        Parameters.ifSequenceNumberLessThan,
-        Parameters.ifSequenceNumberEqualTo,
-        Parameters.pageWrite1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var uploadPagesFromURLOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.PageBlobUploadPagesFromURLHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobUploadPagesFromURLExceptionHeaders
-        }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.contentLength,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope,
-        Parameters.sourceIfModifiedSince,
-        Parameters.sourceIfUnmodifiedSince,
-        Parameters.sourceIfMatch,
-        Parameters.sourceIfNoneMatch,
-        Parameters.sourceContentMD5,
-        Parameters.copySourceAuthorization,
-        Parameters.fileRequestIntent,
-        Parameters.pageWrite,
-        Parameters.ifSequenceNumberLessThanOrEqualTo,
-        Parameters.ifSequenceNumberLessThan,
-        Parameters.ifSequenceNumberEqualTo,
-        Parameters.sourceUrl,
-        Parameters.sourceRange,
-        Parameters.sourceContentCrc64,
-        Parameters.range1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var getPageRangesOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.PageList,
-          headersMapper: Mappers.PageBlobGetPageRangesHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobGetPageRangesExceptionHeaders
+    function onEofChunk(stream, state) {
+      if (state.ended) return;
+      if (state.decoder) {
+        var chunk = state.decoder.end();
+        if (chunk && chunk.length) {
+          state.buffer.push(chunk);
+          state.length += state.objectMode ? 1 : chunk.length;
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.marker,
-        Parameters.maxPageSize,
-        Parameters.snapshot,
-        Parameters.comp20
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.range,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+      }
+      state.ended = true;
+      emitReadable(stream);
+    }
+    function emitReadable(stream) {
+      var state = stream._readableState;
+      state.needReadable = false;
+      if (!state.emittedReadable) {
+        debug4("emitReadable", state.flowing);
+        state.emittedReadable = true;
+        if (state.sync) pna.nextTick(emitReadable_, stream);
+        else emitReadable_(stream);
+      }
+    }
+    function emitReadable_(stream) {
+      debug4("emit readable");
+      stream.emit("readable");
+      flow(stream);
+    }
+    function maybeReadMore(stream, state) {
+      if (!state.readingMore) {
+        state.readingMore = true;
+        pna.nextTick(maybeReadMore_, stream, state);
+      }
+    }
+    function maybeReadMore_(stream, state) {
+      var len = state.length;
+      while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) {
+        debug4("maybeReadMore read 0");
+        stream.read(0);
+        if (len === state.length)
+          break;
+        else len = state.length;
+      }
+      state.readingMore = false;
+    }
+    Readable.prototype._read = function(n) {
+      this.emit("error", new Error("_read() is not implemented"));
     };
-    var getPageRangesDiffOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.PageList,
-          headersMapper: Mappers.PageBlobGetPageRangesDiffHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobGetPageRangesDiffExceptionHeaders
+    Readable.prototype.pipe = function(dest, pipeOpts) {
+      var src = this;
+      var state = this._readableState;
+      switch (state.pipesCount) {
+        case 0:
+          state.pipes = dest;
+          break;
+        case 1:
+          state.pipes = [state.pipes, dest];
+          break;
+        default:
+          state.pipes.push(dest);
+          break;
+      }
+      state.pipesCount += 1;
+      debug4("pipe count=%d opts=%j", state.pipesCount, pipeOpts);
+      var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;
+      var endFn = doEnd ? onend : unpipe;
+      if (state.endEmitted) pna.nextTick(endFn);
+      else src.once("end", endFn);
+      dest.on("unpipe", onunpipe);
+      function onunpipe(readable, unpipeInfo) {
+        debug4("onunpipe");
+        if (readable === src) {
+          if (unpipeInfo && unpipeInfo.hasUnpiped === false) {
+            unpipeInfo.hasUnpiped = true;
+            cleanup();
+          }
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.marker,
-        Parameters.maxPageSize,
-        Parameters.snapshot,
-        Parameters.comp20,
-        Parameters.prevsnapshot
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.range,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.prevSnapshotUrl
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var resizeOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.PageBlobResizeHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobResizeExceptionHeaders
+      }
+      function onend() {
+        debug4("onend");
+        dest.end();
+      }
+      var ondrain = pipeOnDrain(src);
+      dest.on("drain", ondrain);
+      var cleanedUp = false;
+      function cleanup() {
+        debug4("cleanup");
+        dest.removeListener("close", onclose);
+        dest.removeListener("finish", onfinish);
+        dest.removeListener("drain", ondrain);
+        dest.removeListener("error", onerror);
+        dest.removeListener("unpipe", onunpipe);
+        src.removeListener("end", onend);
+        src.removeListener("end", unpipe);
+        src.removeListener("data", ondata);
+        cleanedUp = true;
+        if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();
+      }
+      var increasedAwaitDrain = false;
+      src.on("data", ondata);
+      function ondata(chunk) {
+        debug4("ondata");
+        increasedAwaitDrain = false;
+        var ret = dest.write(chunk);
+        if (false === ret && !increasedAwaitDrain) {
+          if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {
+            debug4("false write response, pause", state.awaitDrain);
+            state.awaitDrain++;
+            increasedAwaitDrain = true;
+          }
+          src.pause();
         }
-      },
-      queryParameters: [Parameters.comp, Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope,
-        Parameters.blobContentLength
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+      }
+      function onerror(er) {
+        debug4("onerror", er);
+        unpipe();
+        dest.removeListener("error", onerror);
+        if (EElistenerCount(dest, "error") === 0) dest.emit("error", er);
+      }
+      prependListener(dest, "error", onerror);
+      function onclose() {
+        dest.removeListener("finish", onfinish);
+        unpipe();
+      }
+      dest.once("close", onclose);
+      function onfinish() {
+        debug4("onfinish");
+        dest.removeListener("close", onclose);
+        unpipe();
+      }
+      dest.once("finish", onfinish);
+      function unpipe() {
+        debug4("unpipe");
+        src.unpipe(dest);
+      }
+      dest.emit("pipe", src);
+      if (!state.flowing) {
+        debug4("pipe resume");
+        src.resume();
+      }
+      return dest;
     };
-    var updateSequenceNumberOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.PageBlobUpdateSequenceNumberHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobUpdateSequenceNumberExceptionHeaders
+    function pipeOnDrain(src) {
+      return function() {
+        var state = src._readableState;
+        debug4("pipeOnDrain", state.awaitDrain);
+        if (state.awaitDrain) state.awaitDrain--;
+        if (state.awaitDrain === 0 && EElistenerCount(src, "data")) {
+          state.flowing = true;
+          flow(src);
         }
-      },
-      queryParameters: [Parameters.comp, Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.blobSequenceNumber,
-        Parameters.sequenceNumberAction
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var copyIncrementalOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        202: {
-          headersMapper: Mappers.PageBlobCopyIncrementalHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobCopyIncrementalExceptionHeaders
+      };
+    }
+    Readable.prototype.unpipe = function(dest) {
+      var state = this._readableState;
+      var unpipeInfo = { hasUnpiped: false };
+      if (state.pipesCount === 0) return this;
+      if (state.pipesCount === 1) {
+        if (dest && dest !== state.pipes) return this;
+        if (!dest) dest = state.pipes;
+        state.pipes = null;
+        state.pipesCount = 0;
+        state.flowing = false;
+        if (dest) dest.emit("unpipe", this, unpipeInfo);
+        return this;
+      }
+      if (!dest) {
+        var dests = state.pipes;
+        var len = state.pipesCount;
+        state.pipes = null;
+        state.pipesCount = 0;
+        state.flowing = false;
+        for (var i = 0; i < len; i++) {
+          dests[i].emit("unpipe", this, { hasUnpiped: false });
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp21],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.copySource
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+        return this;
+      }
+      var index = indexOf(state.pipes, dest);
+      if (index === -1) return this;
+      state.pipes.splice(index, 1);
+      state.pipesCount -= 1;
+      if (state.pipesCount === 1) state.pipes = state.pipes[0];
+      dest.emit("unpipe", this, unpipeInfo);
+      return this;
     };
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/appendBlob.js
-var require_appendBlob = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/appendBlob.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AppendBlobImpl = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var coreClient = tslib_1.__importStar(require_commonjs10());
-    var Mappers = tslib_1.__importStar(require_mappers());
-    var Parameters = tslib_1.__importStar(require_parameters());
-    var AppendBlobImpl = class {
-      client;
-      /**
-       * Initialize a new instance of the class AppendBlob class.
-       * @param client Reference to the service client
-       */
-      constructor(client) {
-        this.client = client;
+    Readable.prototype.on = function(ev, fn) {
+      var res = Stream.prototype.on.call(this, ev, fn);
+      if (ev === "data") {
+        if (this._readableState.flowing !== false) this.resume();
+      } else if (ev === "readable") {
+        var state = this._readableState;
+        if (!state.endEmitted && !state.readableListening) {
+          state.readableListening = state.needReadable = true;
+          state.emittedReadable = false;
+          if (!state.reading) {
+            pna.nextTick(nReadingNextTick, this);
+          } else if (state.length) {
+            emitReadable(this);
+          }
+        }
       }
-      /**
-       * The Create Append Blob operation creates a new append blob.
-       * @param contentLength The length of the request.
-       * @param options The options parameters.
-       */
-      create(contentLength, options) {
-        return this.client.sendOperationRequest({ contentLength, options }, createOperationSpec);
+      return res;
+    };
+    Readable.prototype.addListener = Readable.prototype.on;
+    function nReadingNextTick(self2) {
+      debug4("readable nexttick read 0");
+      self2.read(0);
+    }
+    Readable.prototype.resume = function() {
+      var state = this._readableState;
+      if (!state.flowing) {
+        debug4("resume");
+        state.flowing = true;
+        resume(this, state);
       }
-      /**
-       * The Append Block operation commits a new block of data to the end of an existing append blob. The
-       * Append Block operation is permitted only if the blob was created with x-ms-blob-type set to
-       * AppendBlob. Append Block is supported only on version 2015-02-21 version or later.
-       * @param contentLength The length of the request.
-       * @param body Initial data
-       * @param options The options parameters.
-       */
-      appendBlock(contentLength, body, options) {
-        return this.client.sendOperationRequest({ contentLength, body, options }, appendBlockOperationSpec);
+      return this;
+    };
+    function resume(stream, state) {
+      if (!state.resumeScheduled) {
+        state.resumeScheduled = true;
+        pna.nextTick(resume_, stream, state);
       }
-      /**
-       * The Append Block operation commits a new block of data to the end of an existing append blob where
-       * the contents are read from a source url. The Append Block operation is permitted only if the blob
-       * was created with x-ms-blob-type set to AppendBlob. Append Block is supported only on version
-       * 2015-02-21 version or later.
-       * @param sourceUrl Specify a URL to the copy source.
-       * @param contentLength The length of the request.
-       * @param options The options parameters.
-       */
-      appendBlockFromUrl(sourceUrl, contentLength, options) {
-        return this.client.sendOperationRequest({ sourceUrl, contentLength, options }, appendBlockFromUrlOperationSpec);
+    }
+    function resume_(stream, state) {
+      if (!state.reading) {
+        debug4("resume read 0");
+        stream.read(0);
       }
-      /**
-       * The Seal operation seals the Append Blob to make it read-only. Seal is supported only on version
-       * 2019-12-12 version or later.
-       * @param options The options parameters.
-       */
-      seal(options) {
-        return this.client.sendOperationRequest({ options }, sealOperationSpec);
+      state.resumeScheduled = false;
+      state.awaitDrain = 0;
+      stream.emit("resume");
+      flow(stream);
+      if (state.flowing && !state.reading) stream.read(0);
+    }
+    Readable.prototype.pause = function() {
+      debug4("call pause flowing=%j", this._readableState.flowing);
+      if (false !== this._readableState.flowing) {
+        debug4("pause");
+        this._readableState.flowing = false;
+        this.emit("pause");
       }
+      return this;
     };
-    exports2.AppendBlobImpl = AppendBlobImpl;
-    var xmlSerializer = coreClient.createSerializer(
-      Mappers,
-      /* isXml */
-      true
-    );
-    var createOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.AppendBlobCreateHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.AppendBlobCreateExceptionHeaders
+    function flow(stream) {
+      var state = stream._readableState;
+      debug4("flow", state.flowing);
+      while (state.flowing && stream.read() !== null) {
+      }
+    }
+    Readable.prototype.wrap = function(stream) {
+      var _this = this;
+      var state = this._readableState;
+      var paused = false;
+      stream.on("end", function() {
+        debug4("wrapped end");
+        if (state.decoder && !state.ended) {
+          var chunk = state.decoder.end();
+          if (chunk && chunk.length) _this.push(chunk);
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.contentLength,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.blobCacheControl,
-        Parameters.blobContentType,
-        Parameters.blobContentMD5,
-        Parameters.blobContentEncoding,
-        Parameters.blobContentLanguage,
-        Parameters.blobContentDisposition,
-        Parameters.immutabilityPolicyExpiry,
-        Parameters.immutabilityPolicyMode,
-        Parameters.encryptionScope,
-        Parameters.blobTagsString,
-        Parameters.legalHold1,
-        Parameters.blobType1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var appendBlockOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.AppendBlobAppendBlockHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.AppendBlobAppendBlockExceptionHeaders
+        _this.push(null);
+      });
+      stream.on("data", function(chunk) {
+        debug4("wrapped data");
+        if (state.decoder) chunk = state.decoder.write(chunk);
+        if (state.objectMode && (chunk === null || chunk === void 0)) return;
+        else if (!state.objectMode && (!chunk || !chunk.length)) return;
+        var ret = _this.push(chunk);
+        if (!ret) {
+          paused = true;
+          stream.pause();
         }
-      },
-      requestBody: Parameters.body1,
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp22],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.contentLength,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope,
-        Parameters.transactionalContentMD5,
-        Parameters.transactionalContentCrc64,
-        Parameters.contentType1,
-        Parameters.accept2,
-        Parameters.maxSize,
-        Parameters.appendPosition
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "binary",
-      serializer: xmlSerializer
-    };
-    var appendBlockFromUrlOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.AppendBlobAppendBlockFromUrlHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.AppendBlobAppendBlockFromUrlExceptionHeaders
+      });
+      for (var i in stream) {
+        if (this[i] === void 0 && typeof stream[i] === "function") {
+          this[i] = /* @__PURE__ */ (function(method) {
+            return function() {
+              return stream[method].apply(stream, arguments);
+            };
+          })(i);
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp22],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.contentLength,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope,
-        Parameters.sourceIfModifiedSince,
-        Parameters.sourceIfUnmodifiedSince,
-        Parameters.sourceIfMatch,
-        Parameters.sourceIfNoneMatch,
-        Parameters.sourceContentMD5,
-        Parameters.copySourceAuthorization,
-        Parameters.fileRequestIntent,
-        Parameters.transactionalContentMD5,
-        Parameters.sourceUrl,
-        Parameters.sourceContentCrc64,
-        Parameters.maxSize,
-        Parameters.appendPosition,
-        Parameters.sourceRange1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+      }
+      for (var n = 0; n < kProxyEvents.length; n++) {
+        stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));
+      }
+      this._read = function(n2) {
+        debug4("wrapped _read", n2);
+        if (paused) {
+          paused = false;
+          stream.resume();
+        }
+      };
+      return this;
     };
-    var sealOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.AppendBlobSealHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.AppendBlobSealExceptionHeaders
+    Object.defineProperty(Readable.prototype, "readableHighWaterMark", {
+      // making it explicit this property is not enumerable
+      // because otherwise some prototype manipulation in
+      // userland will fail
+      enumerable: false,
+      get: function() {
+        return this._readableState.highWaterMark;
+      }
+    });
+    Readable._fromList = fromList;
+    function fromList(n, state) {
+      if (state.length === 0) return null;
+      var ret;
+      if (state.objectMode) ret = state.buffer.shift();
+      else if (!n || n >= state.length) {
+        if (state.decoder) ret = state.buffer.join("");
+        else if (state.buffer.length === 1) ret = state.buffer.head.data;
+        else ret = state.buffer.concat(state.length);
+        state.buffer.clear();
+      } else {
+        ret = fromListPartial(n, state.buffer, state.decoder);
+      }
+      return ret;
+    }
+    function fromListPartial(n, list, hasStrings) {
+      var ret;
+      if (n < list.head.data.length) {
+        ret = list.head.data.slice(0, n);
+        list.head.data = list.head.data.slice(n);
+      } else if (n === list.head.data.length) {
+        ret = list.shift();
+      } else {
+        ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list);
+      }
+      return ret;
+    }
+    function copyFromBufferString(n, list) {
+      var p = list.head;
+      var c = 1;
+      var ret = p.data;
+      n -= ret.length;
+      while (p = p.next) {
+        var str2 = p.data;
+        var nb = n > str2.length ? str2.length : n;
+        if (nb === str2.length) ret += str2;
+        else ret += str2.slice(0, n);
+        n -= nb;
+        if (n === 0) {
+          if (nb === str2.length) {
+            ++c;
+            if (p.next) list.head = p.next;
+            else list.head = list.tail = null;
+          } else {
+            list.head = p;
+            p.data = str2.slice(nb);
+          }
+          break;
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp23],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.appendPosition
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
+        ++c;
+      }
+      list.length -= c;
+      return ret;
+    }
+    function copyFromBuffer(n, list) {
+      var ret = Buffer2.allocUnsafe(n);
+      var p = list.head;
+      var c = 1;
+      p.data.copy(ret);
+      n -= p.data.length;
+      while (p = p.next) {
+        var buf = p.data;
+        var nb = n > buf.length ? buf.length : n;
+        buf.copy(ret, ret.length - n, 0, nb);
+        n -= nb;
+        if (n === 0) {
+          if (nb === buf.length) {
+            ++c;
+            if (p.next) list.head = p.next;
+            else list.head = list.tail = null;
+          } else {
+            list.head = p;
+            p.data = buf.slice(nb);
+          }
+          break;
+        }
+        ++c;
+      }
+      list.length -= c;
+      return ret;
+    }
+    function endReadable(stream) {
+      var state = stream._readableState;
+      if (state.length > 0) throw new Error('"endReadable()" called on non-empty stream');
+      if (!state.endEmitted) {
+        state.ended = true;
+        pna.nextTick(endReadableNT, state, stream);
+      }
+    }
+    function endReadableNT(state, stream) {
+      if (!state.endEmitted && state.length === 0) {
+        state.endEmitted = true;
+        stream.readable = false;
+        stream.emit("end");
+      }
+    }
+    function indexOf(xs, x) {
+      for (var i = 0, l = xs.length; i < l; i++) {
+        if (xs[i] === x) return i;
+      }
+      return -1;
+    }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blockBlob.js
-var require_blockBlob = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blockBlob.js"(exports2) {
+// node_modules/lazystream/node_modules/readable-stream/lib/_stream_transform.js
+var require_stream_transform = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_transform.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlockBlobImpl = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var coreClient = tslib_1.__importStar(require_commonjs10());
-    var Mappers = tslib_1.__importStar(require_mappers());
-    var Parameters = tslib_1.__importStar(require_parameters());
-    var BlockBlobImpl = class {
-      client;
-      /**
-       * Initialize a new instance of the class BlockBlob class.
-       * @param client Reference to the service client
-       */
-      constructor(client) {
-        this.client = client;
-      }
-      /**
-       * The Upload Block Blob operation updates the content of an existing block blob. Updating an existing
-       * block blob overwrites any existing metadata on the blob. Partial updates are not supported with Put
-       * Blob; the content of the existing blob is overwritten with the content of the new blob. To perform a
-       * partial update of the content of a block blob, use the Put Block List operation.
-       * @param contentLength The length of the request.
-       * @param body Initial data
-       * @param options The options parameters.
-       */
-      upload(contentLength, body, options) {
-        return this.client.sendOperationRequest({ contentLength, body, options }, uploadOperationSpec);
-      }
-      /**
-       * The Put Blob from URL operation creates a new Block Blob where the contents of the blob are read
-       * from a given URL.  This API is supported beginning with the 2020-04-08 version. Partial updates are
-       * not supported with Put Blob from URL; the content of an existing blob is overwritten with the
-       * content of the new blob.  To perform partial updates to a block blob’s contents using a source URL,
-       * use the Put Block from URL API in conjunction with Put Block List.
-       * @param contentLength The length of the request.
-       * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to
-       *                   2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would
-       *                   appear in a request URI. The source blob must either be public or must be authenticated via a shared
-       *                   access signature.
-       * @param options The options parameters.
-       */
-      putBlobFromUrl(contentLength, copySource, options) {
-        return this.client.sendOperationRequest({ contentLength, copySource, options }, putBlobFromUrlOperationSpec);
+    module2.exports = Transform;
+    var Duplex = require_stream_duplex();
+    var util = Object.create(require_util19());
+    util.inherits = require_inherits();
+    util.inherits(Transform, Duplex);
+    function afterTransform(er, data) {
+      var ts = this._transformState;
+      ts.transforming = false;
+      var cb = ts.writecb;
+      if (!cb) {
+        return this.emit("error", new Error("write callback called multiple times"));
       }
-      /**
-       * The Stage Block operation creates a new block to be committed as part of a blob
-       * @param blockId A valid Base64 string value that identifies the block. Prior to encoding, the string
-       *                must be less than or equal to 64 bytes in size. For a given blob, the length of the value specified
-       *                for the blockid parameter must be the same size for each block.
-       * @param contentLength The length of the request.
-       * @param body Initial data
-       * @param options The options parameters.
-       */
-      stageBlock(blockId, contentLength, body, options) {
-        return this.client.sendOperationRequest({ blockId, contentLength, body, options }, stageBlockOperationSpec);
+      ts.writechunk = null;
+      ts.writecb = null;
+      if (data != null)
+        this.push(data);
+      cb(er);
+      var rs = this._readableState;
+      rs.reading = false;
+      if (rs.needReadable || rs.length < rs.highWaterMark) {
+        this._read(rs.highWaterMark);
       }
-      /**
-       * The Stage Block operation creates a new block to be committed as part of a blob where the contents
-       * are read from a URL.
-       * @param blockId A valid Base64 string value that identifies the block. Prior to encoding, the string
-       *                must be less than or equal to 64 bytes in size. For a given blob, the length of the value specified
-       *                for the blockid parameter must be the same size for each block.
-       * @param contentLength The length of the request.
-       * @param sourceUrl Specify a URL to the copy source.
-       * @param options The options parameters.
-       */
-      stageBlockFromURL(blockId, contentLength, sourceUrl, options) {
-        return this.client.sendOperationRequest({ blockId, contentLength, sourceUrl, options }, stageBlockFromURLOperationSpec);
+    }
+    function Transform(options) {
+      if (!(this instanceof Transform)) return new Transform(options);
+      Duplex.call(this, options);
+      this._transformState = {
+        afterTransform: afterTransform.bind(this),
+        needTransform: false,
+        transforming: false,
+        writecb: null,
+        writechunk: null,
+        writeencoding: null
+      };
+      this._readableState.needReadable = true;
+      this._readableState.sync = false;
+      if (options) {
+        if (typeof options.transform === "function") this._transform = options.transform;
+        if (typeof options.flush === "function") this._flush = options.flush;
       }
-      /**
-       * The Commit Block List operation writes a blob by specifying the list of block IDs that make up the
-       * blob. In order to be written as part of a blob, a block must have been successfully written to the
-       * server in a prior Put Block operation. You can call Put Block List to update a blob by uploading
-       * only those blocks that have changed, then committing the new and existing blocks together. You can
-       * do this by specifying whether to commit a block from the committed block list or from the
-       * uncommitted block list, or to commit the most recently uploaded version of the block, whichever list
-       * it may belong to.
-       * @param blocks Blob Blocks.
-       * @param options The options parameters.
-       */
-      commitBlockList(blocks, options) {
-        return this.client.sendOperationRequest({ blocks, options }, commitBlockListOperationSpec);
+      this.on("prefinish", prefinish);
+    }
+    function prefinish() {
+      var _this = this;
+      if (typeof this._flush === "function") {
+        this._flush(function(er, data) {
+          done(_this, er, data);
+        });
+      } else {
+        done(this, null, null);
       }
-      /**
-       * The Get Block List operation retrieves the list of blocks that have been uploaded as part of a block
-       * blob
-       * @param listType Specifies whether to return the list of committed blocks, the list of uncommitted
-       *                 blocks, or both lists together.
-       * @param options The options parameters.
-       */
-      getBlockList(listType, options) {
-        return this.client.sendOperationRequest({ listType, options }, getBlockListOperationSpec);
+    }
+    Transform.prototype.push = function(chunk, encoding) {
+      this._transformState.needTransform = false;
+      return Duplex.prototype.push.call(this, chunk, encoding);
+    };
+    Transform.prototype._transform = function(chunk, encoding, cb) {
+      throw new Error("_transform() is not implemented");
+    };
+    Transform.prototype._write = function(chunk, encoding, cb) {
+      var ts = this._transformState;
+      ts.writecb = cb;
+      ts.writechunk = chunk;
+      ts.writeencoding = encoding;
+      if (!ts.transforming) {
+        var rs = this._readableState;
+        if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);
       }
     };
-    exports2.BlockBlobImpl = BlockBlobImpl;
-    var xmlSerializer = coreClient.createSerializer(
-      Mappers,
-      /* isXml */
-      true
-    );
-    var uploadOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.BlockBlobUploadHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlockBlobUploadExceptionHeaders
-        }
-      },
-      requestBody: Parameters.body1,
-      queryParameters: [Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.contentLength,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.blobCacheControl,
-        Parameters.blobContentType,
-        Parameters.blobContentMD5,
-        Parameters.blobContentEncoding,
-        Parameters.blobContentLanguage,
-        Parameters.blobContentDisposition,
-        Parameters.immutabilityPolicyExpiry,
-        Parameters.immutabilityPolicyMode,
-        Parameters.encryptionScope,
-        Parameters.tier,
-        Parameters.blobTagsString,
-        Parameters.legalHold1,
-        Parameters.transactionalContentMD5,
-        Parameters.transactionalContentCrc64,
-        Parameters.contentType1,
-        Parameters.accept2,
-        Parameters.blobType2
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "binary",
-      serializer: xmlSerializer
+    Transform.prototype._read = function(n) {
+      var ts = this._transformState;
+      if (ts.writechunk !== null && ts.writecb && !ts.transforming) {
+        ts.transforming = true;
+        this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);
+      } else {
+        ts.needTransform = true;
+      }
     };
-    var putBlobFromUrlOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.BlockBlobPutBlobFromUrlHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlockBlobPutBlobFromUrlExceptionHeaders
-        }
-      },
-      queryParameters: [Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.contentLength,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.blobCacheControl,
-        Parameters.blobContentType,
-        Parameters.blobContentMD5,
-        Parameters.blobContentEncoding,
-        Parameters.blobContentLanguage,
-        Parameters.blobContentDisposition,
-        Parameters.encryptionScope,
-        Parameters.tier,
-        Parameters.sourceIfModifiedSince,
-        Parameters.sourceIfUnmodifiedSince,
-        Parameters.sourceIfMatch,
-        Parameters.sourceIfNoneMatch,
-        Parameters.sourceIfTags,
-        Parameters.copySource,
-        Parameters.blobTagsString,
-        Parameters.sourceContentMD5,
-        Parameters.copySourceAuthorization,
-        Parameters.copySourceTags,
-        Parameters.fileRequestIntent,
-        Parameters.transactionalContentMD5,
-        Parameters.blobType2,
-        Parameters.copySourceBlobProperties
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+    Transform.prototype._destroy = function(err, cb) {
+      var _this2 = this;
+      Duplex.prototype._destroy.call(this, err, function(err2) {
+        cb(err2);
+        _this2.emit("close");
+      });
     };
-    var stageBlockOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.BlockBlobStageBlockHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlockBlobStageBlockExceptionHeaders
-        }
-      },
-      requestBody: Parameters.body1,
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.comp24,
-        Parameters.blockId
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.contentLength,
-        Parameters.leaseId,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.encryptionScope,
-        Parameters.transactionalContentMD5,
-        Parameters.transactionalContentCrc64,
-        Parameters.contentType1,
-        Parameters.accept2
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "binary",
-      serializer: xmlSerializer
+    function done(stream, er, data) {
+      if (er) return stream.emit("error", er);
+      if (data != null)
+        stream.push(data);
+      if (stream._writableState.length) throw new Error("Calling transform done when ws.length != 0");
+      if (stream._transformState.transforming) throw new Error("Calling transform done when still transforming");
+      return stream.push(null);
+    }
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/lib/_stream_passthrough.js
+var require_stream_passthrough = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_passthrough.js"(exports2, module2) {
+    "use strict";
+    module2.exports = PassThrough;
+    var Transform = require_stream_transform();
+    var util = Object.create(require_util19());
+    util.inherits = require_inherits();
+    util.inherits(PassThrough, Transform);
+    function PassThrough(options) {
+      if (!(this instanceof PassThrough)) return new PassThrough(options);
+      Transform.call(this, options);
+    }
+    PassThrough.prototype._transform = function(chunk, encoding, cb) {
+      cb(null, chunk);
     };
-    var stageBlockFromURLOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.BlockBlobStageBlockFromURLHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlockBlobStageBlockFromURLExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.comp24,
-        Parameters.blockId
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.contentLength,
-        Parameters.leaseId,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.encryptionScope,
-        Parameters.sourceIfModifiedSince,
-        Parameters.sourceIfUnmodifiedSince,
-        Parameters.sourceIfMatch,
-        Parameters.sourceIfNoneMatch,
-        Parameters.sourceContentMD5,
-        Parameters.copySourceAuthorization,
-        Parameters.fileRequestIntent,
-        Parameters.sourceUrl,
-        Parameters.sourceContentCrc64,
-        Parameters.sourceRange1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/readable.js
+var require_readable3 = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/readable.js"(exports2, module2) {
+    var Stream = require("stream");
+    if (process.env.READABLE_STREAM === "disable" && Stream) {
+      module2.exports = Stream;
+      exports2 = module2.exports = Stream.Readable;
+      exports2.Readable = Stream.Readable;
+      exports2.Writable = Stream.Writable;
+      exports2.Duplex = Stream.Duplex;
+      exports2.Transform = Stream.Transform;
+      exports2.PassThrough = Stream.PassThrough;
+      exports2.Stream = Stream;
+    } else {
+      exports2 = module2.exports = require_stream_readable();
+      exports2.Stream = Stream || exports2;
+      exports2.Readable = exports2;
+      exports2.Writable = require_stream_writable();
+      exports2.Duplex = require_stream_duplex();
+      exports2.Transform = require_stream_transform();
+      exports2.PassThrough = require_stream_passthrough();
+    }
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/passthrough.js
+var require_passthrough = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/passthrough.js"(exports2, module2) {
+    module2.exports = require_readable3().PassThrough;
+  }
+});
+
+// node_modules/lazystream/lib/lazystream.js
+var require_lazystream = __commonJS({
+  "node_modules/lazystream/lib/lazystream.js"(exports2, module2) {
+    var util = require("util");
+    var PassThrough = require_passthrough();
+    module2.exports = {
+      Readable,
+      Writable
     };
-    var commitBlockListOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.BlockBlobCommitBlockListHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlockBlobCommitBlockListExceptionHeaders
+    util.inherits(Readable, PassThrough);
+    util.inherits(Writable, PassThrough);
+    function beforeFirstCall(instance, method, callback) {
+      instance[method] = function() {
+        delete instance[method];
+        callback.apply(this, arguments);
+        return this[method].apply(this, arguments);
+      };
+    }
+    function Readable(fn, options) {
+      if (!(this instanceof Readable))
+        return new Readable(fn, options);
+      PassThrough.call(this, options);
+      beforeFirstCall(this, "_read", function() {
+        var source = fn.call(this, options);
+        var emit = this.emit.bind(this, "error");
+        source.on("error", emit);
+        source.pipe(this);
+      });
+      this.emit("readable");
+    }
+    function Writable(fn, options) {
+      if (!(this instanceof Writable))
+        return new Writable(fn, options);
+      PassThrough.call(this, options);
+      beforeFirstCall(this, "_write", function() {
+        var destination = fn.call(this, options);
+        var emit = this.emit.bind(this, "error");
+        destination.on("error", emit);
+        this.pipe(destination);
+      });
+      this.emit("writable");
+    }
+  }
+});
+
+// node_modules/normalize-path/index.js
+var require_normalize_path = __commonJS({
+  "node_modules/normalize-path/index.js"(exports2, module2) {
+    module2.exports = function(path3, stripTrailing) {
+      if (typeof path3 !== "string") {
+        throw new TypeError("expected path to be a string");
+      }
+      if (path3 === "\\" || path3 === "/") return "/";
+      var len = path3.length;
+      if (len <= 1) return path3;
+      var prefix = "";
+      if (len > 4 && path3[3] === "\\") {
+        var ch = path3[2];
+        if ((ch === "?" || ch === ".") && path3.slice(0, 2) === "\\\\") {
+          path3 = path3.slice(2);
+          prefix = "//";
         }
-      },
-      requestBody: Parameters.blocks,
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp25],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.contentType,
-        Parameters.accept,
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.blobCacheControl,
-        Parameters.blobContentType,
-        Parameters.blobContentMD5,
-        Parameters.blobContentEncoding,
-        Parameters.blobContentLanguage,
-        Parameters.blobContentDisposition,
-        Parameters.immutabilityPolicyExpiry,
-        Parameters.immutabilityPolicyMode,
-        Parameters.encryptionScope,
-        Parameters.tier,
-        Parameters.blobTagsString,
-        Parameters.legalHold1,
-        Parameters.transactionalContentMD5,
-        Parameters.transactionalContentCrc64
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "xml",
-      serializer: xmlSerializer
+      }
+      var segs = path3.split(/[/\\]+/);
+      if (stripTrailing !== false && segs[segs.length - 1] === "") {
+        segs.pop();
+      }
+      return prefix + segs.join("/");
     };
-    var getBlockListOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.BlockList,
-          headersMapper: Mappers.BlockBlobGetBlockListHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlockBlobGetBlockListExceptionHeaders
+  }
+});
+
+// node_modules/lodash/identity.js
+var require_identity = __commonJS({
+  "node_modules/lodash/identity.js"(exports2, module2) {
+    function identity(value) {
+      return value;
+    }
+    module2.exports = identity;
+  }
+});
+
+// node_modules/lodash/_apply.js
+var require_apply = __commonJS({
+  "node_modules/lodash/_apply.js"(exports2, module2) {
+    function apply(func, thisArg, args) {
+      switch (args.length) {
+        case 0:
+          return func.call(thisArg);
+        case 1:
+          return func.call(thisArg, args[0]);
+        case 2:
+          return func.call(thisArg, args[0], args[1]);
+        case 3:
+          return func.call(thisArg, args[0], args[1], args[2]);
+      }
+      return func.apply(thisArg, args);
+    }
+    module2.exports = apply;
+  }
+});
+
+// node_modules/lodash/_overRest.js
+var require_overRest = __commonJS({
+  "node_modules/lodash/_overRest.js"(exports2, module2) {
+    var apply = require_apply();
+    var nativeMax = Math.max;
+    function overRest(func, start, transform) {
+      start = nativeMax(start === void 0 ? func.length - 1 : start, 0);
+      return function() {
+        var args = arguments, index = -1, length = nativeMax(args.length - start, 0), array = Array(length);
+        while (++index < length) {
+          array[index] = args[start + index];
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.comp25,
-        Parameters.listType
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
+        index = -1;
+        var otherArgs = Array(start + 1);
+        while (++index < start) {
+          otherArgs[index] = args[index];
+        }
+        otherArgs[start] = transform(array);
+        return apply(func, this, otherArgs);
+      };
+    }
+    module2.exports = overRest;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/index.js
-var require_operations = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    tslib_1.__exportStar(require_service(), exports2);
-    tslib_1.__exportStar(require_container(), exports2);
-    tslib_1.__exportStar(require_blob(), exports2);
-    tslib_1.__exportStar(require_pageBlob(), exports2);
-    tslib_1.__exportStar(require_appendBlob(), exports2);
-    tslib_1.__exportStar(require_blockBlob(), exports2);
+// node_modules/lodash/constant.js
+var require_constant = __commonJS({
+  "node_modules/lodash/constant.js"(exports2, module2) {
+    function constant(value) {
+      return function() {
+        return value;
+      };
+    }
+    module2.exports = constant;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/storageClient.js
-var require_storageClient = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/storageClient.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageClient = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var coreHttpCompat = tslib_1.__importStar(require_commonjs11());
-    var index_js_1 = require_operations();
-    var StorageClient = class extends coreHttpCompat.ExtendedServiceClient {
-      url;
-      version;
-      /**
-       * Initializes a new instance of the StorageClient class.
-       * @param url The URL of the service account, container, or blob that is the target of the desired
-       *            operation.
-       * @param options The parameter options
-       */
-      constructor(url, options) {
-        if (url === void 0) {
-          throw new Error("'url' cannot be null");
+// node_modules/lodash/_freeGlobal.js
+var require_freeGlobal = __commonJS({
+  "node_modules/lodash/_freeGlobal.js"(exports2, module2) {
+    var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
+    module2.exports = freeGlobal;
+  }
+});
+
+// node_modules/lodash/_root.js
+var require_root = __commonJS({
+  "node_modules/lodash/_root.js"(exports2, module2) {
+    var freeGlobal = require_freeGlobal();
+    var freeSelf = typeof self == "object" && self && self.Object === Object && self;
+    var root = freeGlobal || freeSelf || Function("return this")();
+    module2.exports = root;
+  }
+});
+
+// node_modules/lodash/_Symbol.js
+var require_Symbol = __commonJS({
+  "node_modules/lodash/_Symbol.js"(exports2, module2) {
+    var root = require_root();
+    var Symbol2 = root.Symbol;
+    module2.exports = Symbol2;
+  }
+});
+
+// node_modules/lodash/_getRawTag.js
+var require_getRawTag = __commonJS({
+  "node_modules/lodash/_getRawTag.js"(exports2, module2) {
+    var Symbol2 = require_Symbol();
+    var objectProto = Object.prototype;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    var nativeObjectToString = objectProto.toString;
+    var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0;
+    function getRawTag(value) {
+      var isOwn = hasOwnProperty.call(value, symToStringTag), tag = value[symToStringTag];
+      try {
+        value[symToStringTag] = void 0;
+        var unmasked = true;
+      } catch (e) {
+      }
+      var result = nativeObjectToString.call(value);
+      if (unmasked) {
+        if (isOwn) {
+          value[symToStringTag] = tag;
+        } else {
+          delete value[symToStringTag];
         }
-        if (!options) {
-          options = {};
+      }
+      return result;
+    }
+    module2.exports = getRawTag;
+  }
+});
+
+// node_modules/lodash/_objectToString.js
+var require_objectToString = __commonJS({
+  "node_modules/lodash/_objectToString.js"(exports2, module2) {
+    var objectProto = Object.prototype;
+    var nativeObjectToString = objectProto.toString;
+    function objectToString(value) {
+      return nativeObjectToString.call(value);
+    }
+    module2.exports = objectToString;
+  }
+});
+
+// node_modules/lodash/_baseGetTag.js
+var require_baseGetTag = __commonJS({
+  "node_modules/lodash/_baseGetTag.js"(exports2, module2) {
+    var Symbol2 = require_Symbol();
+    var getRawTag = require_getRawTag();
+    var objectToString = require_objectToString();
+    var nullTag = "[object Null]";
+    var undefinedTag = "[object Undefined]";
+    var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0;
+    function baseGetTag(value) {
+      if (value == null) {
+        return value === void 0 ? undefinedTag : nullTag;
+      }
+      return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);
+    }
+    module2.exports = baseGetTag;
+  }
+});
+
+// node_modules/lodash/isObject.js
+var require_isObject = __commonJS({
+  "node_modules/lodash/isObject.js"(exports2, module2) {
+    function isObject2(value) {
+      var type2 = typeof value;
+      return value != null && (type2 == "object" || type2 == "function");
+    }
+    module2.exports = isObject2;
+  }
+});
+
+// node_modules/lodash/isFunction.js
+var require_isFunction = __commonJS({
+  "node_modules/lodash/isFunction.js"(exports2, module2) {
+    var baseGetTag = require_baseGetTag();
+    var isObject2 = require_isObject();
+    var asyncTag = "[object AsyncFunction]";
+    var funcTag = "[object Function]";
+    var genTag = "[object GeneratorFunction]";
+    var proxyTag = "[object Proxy]";
+    function isFunction(value) {
+      if (!isObject2(value)) {
+        return false;
+      }
+      var tag = baseGetTag(value);
+      return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
+    }
+    module2.exports = isFunction;
+  }
+});
+
+// node_modules/lodash/_coreJsData.js
+var require_coreJsData = __commonJS({
+  "node_modules/lodash/_coreJsData.js"(exports2, module2) {
+    var root = require_root();
+    var coreJsData = root["__core-js_shared__"];
+    module2.exports = coreJsData;
+  }
+});
+
+// node_modules/lodash/_isMasked.js
+var require_isMasked = __commonJS({
+  "node_modules/lodash/_isMasked.js"(exports2, module2) {
+    var coreJsData = require_coreJsData();
+    var maskSrcKey = (function() {
+      var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || "");
+      return uid ? "Symbol(src)_1." + uid : "";
+    })();
+    function isMasked(func) {
+      return !!maskSrcKey && maskSrcKey in func;
+    }
+    module2.exports = isMasked;
+  }
+});
+
+// node_modules/lodash/_toSource.js
+var require_toSource = __commonJS({
+  "node_modules/lodash/_toSource.js"(exports2, module2) {
+    var funcProto = Function.prototype;
+    var funcToString = funcProto.toString;
+    function toSource(func) {
+      if (func != null) {
+        try {
+          return funcToString.call(func);
+        } catch (e) {
+        }
+        try {
+          return func + "";
+        } catch (e) {
         }
-        const defaults = {
-          requestContentType: "application/json; charset=utf-8"
-        };
-        const packageDetails = `azsdk-js-azure-storage-blob/12.29.1`;
-        const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` : `${packageDetails}`;
-        const optionsWithDefaults = {
-          ...defaults,
-          ...options,
-          userAgentOptions: {
-            userAgentPrefix
-          },
-          endpoint: options.endpoint ?? options.baseUri ?? "{url}"
-        };
-        super(optionsWithDefaults);
-        this.url = url;
-        this.version = options.version || "2025-11-05";
-        this.service = new index_js_1.ServiceImpl(this);
-        this.container = new index_js_1.ContainerImpl(this);
-        this.blob = new index_js_1.BlobImpl(this);
-        this.pageBlob = new index_js_1.PageBlobImpl(this);
-        this.appendBlob = new index_js_1.AppendBlobImpl(this);
-        this.blockBlob = new index_js_1.BlockBlobImpl(this);
       }
-      service;
-      container;
-      blob;
-      pageBlob;
-      appendBlob;
-      blockBlob;
+      return "";
+    }
+    module2.exports = toSource;
+  }
+});
+
+// node_modules/lodash/_baseIsNative.js
+var require_baseIsNative = __commonJS({
+  "node_modules/lodash/_baseIsNative.js"(exports2, module2) {
+    var isFunction = require_isFunction();
+    var isMasked = require_isMasked();
+    var isObject2 = require_isObject();
+    var toSource = require_toSource();
+    var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
+    var reIsHostCtor = /^\[object .+?Constructor\]$/;
+    var funcProto = Function.prototype;
+    var objectProto = Object.prototype;
+    var funcToString = funcProto.toString;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    var reIsNative = RegExp(
+      "^" + funcToString.call(hasOwnProperty).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
+    );
+    function baseIsNative(value) {
+      if (!isObject2(value) || isMasked(value)) {
+        return false;
+      }
+      var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
+      return pattern.test(toSource(value));
+    }
+    module2.exports = baseIsNative;
+  }
+});
+
+// node_modules/lodash/_getValue.js
+var require_getValue = __commonJS({
+  "node_modules/lodash/_getValue.js"(exports2, module2) {
+    function getValue(object, key) {
+      return object == null ? void 0 : object[key];
+    }
+    module2.exports = getValue;
+  }
+});
+
+// node_modules/lodash/_getNative.js
+var require_getNative = __commonJS({
+  "node_modules/lodash/_getNative.js"(exports2, module2) {
+    var baseIsNative = require_baseIsNative();
+    var getValue = require_getValue();
+    function getNative(object, key) {
+      var value = getValue(object, key);
+      return baseIsNative(value) ? value : void 0;
+    }
+    module2.exports = getNative;
+  }
+});
+
+// node_modules/lodash/_defineProperty.js
+var require_defineProperty = __commonJS({
+  "node_modules/lodash/_defineProperty.js"(exports2, module2) {
+    var getNative = require_getNative();
+    var defineProperty = (function() {
+      try {
+        var func = getNative(Object, "defineProperty");
+        func({}, "", {});
+        return func;
+      } catch (e) {
+      }
+    })();
+    module2.exports = defineProperty;
+  }
+});
+
+// node_modules/lodash/_baseSetToString.js
+var require_baseSetToString = __commonJS({
+  "node_modules/lodash/_baseSetToString.js"(exports2, module2) {
+    var constant = require_constant();
+    var defineProperty = require_defineProperty();
+    var identity = require_identity();
+    var baseSetToString = !defineProperty ? identity : function(func, string) {
+      return defineProperty(func, "toString", {
+        "configurable": true,
+        "enumerable": false,
+        "value": constant(string),
+        "writable": true
+      });
     };
-    exports2.StorageClient = StorageClient;
+    module2.exports = baseSetToString;
+  }
+});
+
+// node_modules/lodash/_shortOut.js
+var require_shortOut = __commonJS({
+  "node_modules/lodash/_shortOut.js"(exports2, module2) {
+    var HOT_COUNT = 800;
+    var HOT_SPAN = 16;
+    var nativeNow = Date.now;
+    function shortOut(func) {
+      var count = 0, lastCalled = 0;
+      return function() {
+        var stamp = nativeNow(), remaining = HOT_SPAN - (stamp - lastCalled);
+        lastCalled = stamp;
+        if (remaining > 0) {
+          if (++count >= HOT_COUNT) {
+            return arguments[0];
+          }
+        } else {
+          count = 0;
+        }
+        return func.apply(void 0, arguments);
+      };
+    }
+    module2.exports = shortOut;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/service.js
-var require_service2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/service.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
+// node_modules/lodash/_setToString.js
+var require_setToString = __commonJS({
+  "node_modules/lodash/_setToString.js"(exports2, module2) {
+    var baseSetToString = require_baseSetToString();
+    var shortOut = require_shortOut();
+    var setToString = shortOut(baseSetToString);
+    module2.exports = setToString;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/container.js
-var require_container2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/container.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
+// node_modules/lodash/_baseRest.js
+var require_baseRest = __commonJS({
+  "node_modules/lodash/_baseRest.js"(exports2, module2) {
+    var identity = require_identity();
+    var overRest = require_overRest();
+    var setToString = require_setToString();
+    function baseRest(func, start) {
+      return setToString(overRest(func, start, identity), func + "");
+    }
+    module2.exports = baseRest;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blob.js
-var require_blob2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blob.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
+// node_modules/lodash/eq.js
+var require_eq2 = __commonJS({
+  "node_modules/lodash/eq.js"(exports2, module2) {
+    function eq(value, other) {
+      return value === other || value !== value && other !== other;
+    }
+    module2.exports = eq;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/pageBlob.js
-var require_pageBlob2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/pageBlob.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
+// node_modules/lodash/isLength.js
+var require_isLength = __commonJS({
+  "node_modules/lodash/isLength.js"(exports2, module2) {
+    var MAX_SAFE_INTEGER = 9007199254740991;
+    function isLength(value) {
+      return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
+    }
+    module2.exports = isLength;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/appendBlob.js
-var require_appendBlob2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/appendBlob.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
+// node_modules/lodash/isArrayLike.js
+var require_isArrayLike = __commonJS({
+  "node_modules/lodash/isArrayLike.js"(exports2, module2) {
+    var isFunction = require_isFunction();
+    var isLength = require_isLength();
+    function isArrayLike(value) {
+      return value != null && isLength(value.length) && !isFunction(value);
+    }
+    module2.exports = isArrayLike;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blockBlob.js
-var require_blockBlob2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blockBlob.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
+// node_modules/lodash/_isIndex.js
+var require_isIndex = __commonJS({
+  "node_modules/lodash/_isIndex.js"(exports2, module2) {
+    var MAX_SAFE_INTEGER = 9007199254740991;
+    var reIsUint = /^(?:0|[1-9]\d*)$/;
+    function isIndex(value, length) {
+      var type2 = typeof value;
+      length = length == null ? MAX_SAFE_INTEGER : length;
+      return !!length && (type2 == "number" || type2 != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length);
+    }
+    module2.exports = isIndex;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/index.js
-var require_operationsInterfaces = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    tslib_1.__exportStar(require_service2(), exports2);
-    tslib_1.__exportStar(require_container2(), exports2);
-    tslib_1.__exportStar(require_blob2(), exports2);
-    tslib_1.__exportStar(require_pageBlob2(), exports2);
-    tslib_1.__exportStar(require_appendBlob2(), exports2);
-    tslib_1.__exportStar(require_blockBlob2(), exports2);
+// node_modules/lodash/_isIterateeCall.js
+var require_isIterateeCall = __commonJS({
+  "node_modules/lodash/_isIterateeCall.js"(exports2, module2) {
+    var eq = require_eq2();
+    var isArrayLike = require_isArrayLike();
+    var isIndex = require_isIndex();
+    var isObject2 = require_isObject();
+    function isIterateeCall(value, index, object) {
+      if (!isObject2(object)) {
+        return false;
+      }
+      var type2 = typeof index;
+      if (type2 == "number" ? isArrayLike(object) && isIndex(index, object.length) : type2 == "string" && index in object) {
+        return eq(object[index], value);
+      }
+      return false;
+    }
+    module2.exports = isIterateeCall;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/index.js
-var require_src2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageClient = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    tslib_1.__exportStar(require_models(), exports2);
-    var storageClient_js_1 = require_storageClient();
-    Object.defineProperty(exports2, "StorageClient", { enumerable: true, get: function() {
-      return storageClient_js_1.StorageClient;
-    } });
-    tslib_1.__exportStar(require_operationsInterfaces(), exports2);
+// node_modules/lodash/_baseTimes.js
+var require_baseTimes = __commonJS({
+  "node_modules/lodash/_baseTimes.js"(exports2, module2) {
+    function baseTimes(n, iteratee) {
+      var index = -1, result = Array(n);
+      while (++index < n) {
+        result[index] = iteratee(index);
+      }
+      return result;
+    }
+    module2.exports = baseTimes;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/StorageContextClient.js
-var require_StorageContextClient = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/StorageContextClient.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageContextClient = void 0;
-    var index_js_1 = require_src2();
-    var StorageContextClient = class extends index_js_1.StorageClient {
-      async sendOperationRequest(operationArguments, operationSpec) {
-        const operationSpecToSend = { ...operationSpec };
-        if (operationSpecToSend.path === "/{containerName}" || operationSpecToSend.path === "/{containerName}/{blob}") {
-          operationSpecToSend.path = "";
-        }
-        return super.sendOperationRequest(operationArguments, operationSpecToSend);
-      }
-    };
-    exports2.StorageContextClient = StorageContextClient;
+// node_modules/lodash/isObjectLike.js
+var require_isObjectLike = __commonJS({
+  "node_modules/lodash/isObjectLike.js"(exports2, module2) {
+    function isObjectLike(value) {
+      return value != null && typeof value == "object";
+    }
+    module2.exports = isObjectLike;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/StorageClient.js
-var require_StorageClient = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/StorageClient.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageClient = void 0;
-    var StorageContextClient_js_1 = require_StorageContextClient();
-    var Pipeline_js_1 = require_Pipeline();
-    var utils_common_js_1 = require_utils_common();
-    var StorageClient = class {
-      /**
-       * Encoded URL string value.
-       */
-      url;
-      accountName;
-      /**
-       * Request policy pipeline.
-       *
-       * @internal
-       */
-      pipeline;
-      /**
-       * Such as AnonymousCredential, StorageSharedKeyCredential or any credential from the `@azure/identity` package to authenticate requests to the service. You can also provide an object that implements the TokenCredential interface. If not specified, AnonymousCredential is used.
-       */
-      credential;
-      /**
-       * StorageClient is a reference to protocol layer operations entry, which is
-       * generated by AutoRest generator.
-       */
-      storageClientContext;
-      /**
-       */
-      isHttps;
-      /**
-       * Creates an instance of StorageClient.
-       * @param url - url to resource
-       * @param pipeline - request policy pipeline.
-       */
-      constructor(url, pipeline) {
-        this.url = (0, utils_common_js_1.escapeURLPath)(url);
-        this.accountName = (0, utils_common_js_1.getAccountNameFromUrl)(url);
-        this.pipeline = pipeline;
-        this.storageClientContext = new StorageContextClient_js_1.StorageContextClient(this.url, (0, Pipeline_js_1.getCoreClientOptions)(pipeline));
-        this.isHttps = (0, utils_common_js_1.iEqual)((0, utils_common_js_1.getURLScheme)(this.url) || "", "https");
-        this.credential = (0, Pipeline_js_1.getCredentialFromPipeline)(pipeline);
-        const storageClientContext = this.storageClientContext;
-        storageClientContext.requestContentType = void 0;
-      }
+// node_modules/lodash/_baseIsArguments.js
+var require_baseIsArguments = __commonJS({
+  "node_modules/lodash/_baseIsArguments.js"(exports2, module2) {
+    var baseGetTag = require_baseGetTag();
+    var isObjectLike = require_isObjectLike();
+    var argsTag = "[object Arguments]";
+    function baseIsArguments(value) {
+      return isObjectLike(value) && baseGetTag(value) == argsTag;
+    }
+    module2.exports = baseIsArguments;
+  }
+});
+
+// node_modules/lodash/isArguments.js
+var require_isArguments = __commonJS({
+  "node_modules/lodash/isArguments.js"(exports2, module2) {
+    var baseIsArguments = require_baseIsArguments();
+    var isObjectLike = require_isObjectLike();
+    var objectProto = Object.prototype;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    var propertyIsEnumerable = objectProto.propertyIsEnumerable;
+    var isArguments = baseIsArguments(/* @__PURE__ */ (function() {
+      return arguments;
+    })()) ? baseIsArguments : function(value) {
+      return isObjectLike(value) && hasOwnProperty.call(value, "callee") && !propertyIsEnumerable.call(value, "callee");
     };
-    exports2.StorageClient = StorageClient;
+    module2.exports = isArguments;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/utils/tracing.js
-var require_tracing = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/tracing.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.tracingClient = void 0;
-    var core_tracing_1 = require_commonjs7();
-    var constants_js_1 = require_constants14();
-    exports2.tracingClient = (0, core_tracing_1.createTracingClient)({
-      packageName: "@azure/storage-blob",
-      packageVersion: constants_js_1.SDK_VERSION,
-      namespace: "Microsoft.Storage"
-    });
+// node_modules/lodash/isArray.js
+var require_isArray = __commonJS({
+  "node_modules/lodash/isArray.js"(exports2, module2) {
+    var isArray = Array.isArray;
+    module2.exports = isArray;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASPermissions.js
-var require_BlobSASPermissions = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASPermissions.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobSASPermissions = void 0;
-    var BlobSASPermissions = class _BlobSASPermissions {
-      /**
-       * Creates a {@link BlobSASPermissions} from the specified permissions string. This method will throw an
-       * Error if it encounters a character that does not correspond to a valid permission.
-       *
-       * @param permissions -
-       */
-      static parse(permissions) {
-        const blobSASPermissions = new _BlobSASPermissions();
-        for (const char of permissions) {
-          switch (char) {
-            case "r":
-              blobSASPermissions.read = true;
-              break;
-            case "a":
-              blobSASPermissions.add = true;
-              break;
-            case "c":
-              blobSASPermissions.create = true;
-              break;
-            case "w":
-              blobSASPermissions.write = true;
-              break;
-            case "d":
-              blobSASPermissions.delete = true;
-              break;
-            case "x":
-              blobSASPermissions.deleteVersion = true;
-              break;
-            case "t":
-              blobSASPermissions.tag = true;
-              break;
-            case "m":
-              blobSASPermissions.move = true;
-              break;
-            case "e":
-              blobSASPermissions.execute = true;
-              break;
-            case "i":
-              blobSASPermissions.setImmutabilityPolicy = true;
-              break;
-            case "y":
-              blobSASPermissions.permanentDelete = true;
-              break;
-            default:
-              throw new RangeError(`Invalid permission: ${char}`);
-          }
-        }
-        return blobSASPermissions;
-      }
-      /**
-       * Creates a {@link BlobSASPermissions} from a raw object which contains same keys as it
-       * and boolean values for them.
-       *
-       * @param permissionLike -
-       */
-      static from(permissionLike) {
-        const blobSASPermissions = new _BlobSASPermissions();
-        if (permissionLike.read) {
-          blobSASPermissions.read = true;
-        }
-        if (permissionLike.add) {
-          blobSASPermissions.add = true;
-        }
-        if (permissionLike.create) {
-          blobSASPermissions.create = true;
-        }
-        if (permissionLike.write) {
-          blobSASPermissions.write = true;
-        }
-        if (permissionLike.delete) {
-          blobSASPermissions.delete = true;
-        }
-        if (permissionLike.deleteVersion) {
-          blobSASPermissions.deleteVersion = true;
-        }
-        if (permissionLike.tag) {
-          blobSASPermissions.tag = true;
-        }
-        if (permissionLike.move) {
-          blobSASPermissions.move = true;
-        }
-        if (permissionLike.execute) {
-          blobSASPermissions.execute = true;
-        }
-        if (permissionLike.setImmutabilityPolicy) {
-          blobSASPermissions.setImmutabilityPolicy = true;
-        }
-        if (permissionLike.permanentDelete) {
-          blobSASPermissions.permanentDelete = true;
-        }
-        return blobSASPermissions;
-      }
-      /**
-       * Specifies Read access granted.
-       */
-      read = false;
-      /**
-       * Specifies Add access granted.
-       */
-      add = false;
-      /**
-       * Specifies Create access granted.
-       */
-      create = false;
-      /**
-       * Specifies Write access granted.
-       */
-      write = false;
-      /**
-       * Specifies Delete access granted.
-       */
-      delete = false;
-      /**
-       * Specifies Delete version access granted.
-       */
-      deleteVersion = false;
-      /**
-       * Specfies Tag access granted.
-       */
-      tag = false;
-      /**
-       * Specifies Move access granted.
-       */
-      move = false;
-      /**
-       * Specifies Execute access granted.
-       */
-      execute = false;
-      /**
-       * Specifies SetImmutabilityPolicy access granted.
-       */
-      setImmutabilityPolicy = false;
-      /**
-       * Specifies that Permanent Delete is permitted.
-       */
-      permanentDelete = false;
-      /**
-       * Converts the given permissions to a string. Using this method will guarantee the permissions are in an
-       * order accepted by the service.
-       *
-       * @returns A string which represents the BlobSASPermissions
-       */
-      toString() {
-        const permissions = [];
-        if (this.read) {
-          permissions.push("r");
-        }
-        if (this.add) {
-          permissions.push("a");
-        }
-        if (this.create) {
-          permissions.push("c");
-        }
-        if (this.write) {
-          permissions.push("w");
-        }
-        if (this.delete) {
-          permissions.push("d");
-        }
-        if (this.deleteVersion) {
-          permissions.push("x");
-        }
-        if (this.tag) {
-          permissions.push("t");
-        }
-        if (this.move) {
-          permissions.push("m");
-        }
-        if (this.execute) {
-          permissions.push("e");
-        }
-        if (this.setImmutabilityPolicy) {
-          permissions.push("i");
-        }
-        if (this.permanentDelete) {
-          permissions.push("y");
+// node_modules/lodash/stubFalse.js
+var require_stubFalse = __commonJS({
+  "node_modules/lodash/stubFalse.js"(exports2, module2) {
+    function stubFalse() {
+      return false;
+    }
+    module2.exports = stubFalse;
+  }
+});
+
+// node_modules/lodash/isBuffer.js
+var require_isBuffer = __commonJS({
+  "node_modules/lodash/isBuffer.js"(exports2, module2) {
+    var root = require_root();
+    var stubFalse = require_stubFalse();
+    var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2;
+    var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2;
+    var moduleExports = freeModule && freeModule.exports === freeExports;
+    var Buffer2 = moduleExports ? root.Buffer : void 0;
+    var nativeIsBuffer = Buffer2 ? Buffer2.isBuffer : void 0;
+    var isBuffer = nativeIsBuffer || stubFalse;
+    module2.exports = isBuffer;
+  }
+});
+
+// node_modules/lodash/_baseIsTypedArray.js
+var require_baseIsTypedArray = __commonJS({
+  "node_modules/lodash/_baseIsTypedArray.js"(exports2, module2) {
+    var baseGetTag = require_baseGetTag();
+    var isLength = require_isLength();
+    var isObjectLike = require_isObjectLike();
+    var argsTag = "[object Arguments]";
+    var arrayTag = "[object Array]";
+    var boolTag = "[object Boolean]";
+    var dateTag = "[object Date]";
+    var errorTag = "[object Error]";
+    var funcTag = "[object Function]";
+    var mapTag = "[object Map]";
+    var numberTag = "[object Number]";
+    var objectTag = "[object Object]";
+    var regexpTag = "[object RegExp]";
+    var setTag = "[object Set]";
+    var stringTag = "[object String]";
+    var weakMapTag = "[object WeakMap]";
+    var arrayBufferTag = "[object ArrayBuffer]";
+    var dataViewTag = "[object DataView]";
+    var float32Tag = "[object Float32Array]";
+    var float64Tag = "[object Float64Array]";
+    var int8Tag = "[object Int8Array]";
+    var int16Tag = "[object Int16Array]";
+    var int32Tag = "[object Int32Array]";
+    var uint8Tag = "[object Uint8Array]";
+    var uint8ClampedTag = "[object Uint8ClampedArray]";
+    var uint16Tag = "[object Uint16Array]";
+    var uint32Tag = "[object Uint32Array]";
+    var typedArrayTags = {};
+    typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;
+    typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;
+    function baseIsTypedArray(value) {
+      return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)];
+    }
+    module2.exports = baseIsTypedArray;
+  }
+});
+
+// node_modules/lodash/_baseUnary.js
+var require_baseUnary = __commonJS({
+  "node_modules/lodash/_baseUnary.js"(exports2, module2) {
+    function baseUnary(func) {
+      return function(value) {
+        return func(value);
+      };
+    }
+    module2.exports = baseUnary;
+  }
+});
+
+// node_modules/lodash/_nodeUtil.js
+var require_nodeUtil = __commonJS({
+  "node_modules/lodash/_nodeUtil.js"(exports2, module2) {
+    var freeGlobal = require_freeGlobal();
+    var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2;
+    var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2;
+    var moduleExports = freeModule && freeModule.exports === freeExports;
+    var freeProcess = moduleExports && freeGlobal.process;
+    var nodeUtil = (function() {
+      try {
+        var types = freeModule && freeModule.require && freeModule.require("util").types;
+        if (types) {
+          return types;
         }
-        return permissions.join("");
+        return freeProcess && freeProcess.binding && freeProcess.binding("util");
+      } catch (e) {
       }
-    };
-    exports2.BlobSASPermissions = BlobSASPermissions;
+    })();
+    module2.exports = nodeUtil;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/sas/ContainerSASPermissions.js
-var require_ContainerSASPermissions = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/ContainerSASPermissions.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ContainerSASPermissions = void 0;
-    var ContainerSASPermissions = class _ContainerSASPermissions {
-      /**
-       * Creates an {@link ContainerSASPermissions} from the specified permissions string. This method will throw an
-       * Error if it encounters a character that does not correspond to a valid permission.
-       *
-       * @param permissions -
-       */
-      static parse(permissions) {
-        const containerSASPermissions = new _ContainerSASPermissions();
-        for (const char of permissions) {
-          switch (char) {
-            case "r":
-              containerSASPermissions.read = true;
-              break;
-            case "a":
-              containerSASPermissions.add = true;
-              break;
-            case "c":
-              containerSASPermissions.create = true;
-              break;
-            case "w":
-              containerSASPermissions.write = true;
-              break;
-            case "d":
-              containerSASPermissions.delete = true;
-              break;
-            case "l":
-              containerSASPermissions.list = true;
-              break;
-            case "t":
-              containerSASPermissions.tag = true;
-              break;
-            case "x":
-              containerSASPermissions.deleteVersion = true;
-              break;
-            case "m":
-              containerSASPermissions.move = true;
-              break;
-            case "e":
-              containerSASPermissions.execute = true;
-              break;
-            case "i":
-              containerSASPermissions.setImmutabilityPolicy = true;
-              break;
-            case "y":
-              containerSASPermissions.permanentDelete = true;
-              break;
-            case "f":
-              containerSASPermissions.filterByTags = true;
-              break;
-            default:
-              throw new RangeError(`Invalid permission ${char}`);
-          }
+// node_modules/lodash/isTypedArray.js
+var require_isTypedArray = __commonJS({
+  "node_modules/lodash/isTypedArray.js"(exports2, module2) {
+    var baseIsTypedArray = require_baseIsTypedArray();
+    var baseUnary = require_baseUnary();
+    var nodeUtil = require_nodeUtil();
+    var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
+    var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
+    module2.exports = isTypedArray;
+  }
+});
+
+// node_modules/lodash/_arrayLikeKeys.js
+var require_arrayLikeKeys = __commonJS({
+  "node_modules/lodash/_arrayLikeKeys.js"(exports2, module2) {
+    var baseTimes = require_baseTimes();
+    var isArguments = require_isArguments();
+    var isArray = require_isArray();
+    var isBuffer = require_isBuffer();
+    var isIndex = require_isIndex();
+    var isTypedArray = require_isTypedArray();
+    var objectProto = Object.prototype;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    function arrayLikeKeys(value, inherited) {
+      var isArr = isArray(value), isArg = !isArr && isArguments(value), isBuff = !isArr && !isArg && isBuffer(value), isType = !isArr && !isArg && !isBuff && isTypedArray(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length = result.length;
+      for (var key in value) {
+        if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && // Safari 9 has enumerable `arguments.length` in strict mode.
+        (key == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
+        isBuff && (key == "offset" || key == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
+        isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || // Skip index properties.
+        isIndex(key, length)))) {
+          result.push(key);
         }
-        return containerSASPermissions;
       }
-      /**
-       * Creates a {@link ContainerSASPermissions} from a raw object which contains same keys as it
-       * and boolean values for them.
-       *
-       * @param permissionLike -
-       */
-      static from(permissionLike) {
-        const containerSASPermissions = new _ContainerSASPermissions();
-        if (permissionLike.read) {
-          containerSASPermissions.read = true;
-        }
-        if (permissionLike.add) {
-          containerSASPermissions.add = true;
-        }
-        if (permissionLike.create) {
-          containerSASPermissions.create = true;
-        }
-        if (permissionLike.write) {
-          containerSASPermissions.write = true;
-        }
-        if (permissionLike.delete) {
-          containerSASPermissions.delete = true;
-        }
-        if (permissionLike.list) {
-          containerSASPermissions.list = true;
-        }
-        if (permissionLike.deleteVersion) {
-          containerSASPermissions.deleteVersion = true;
-        }
-        if (permissionLike.tag) {
-          containerSASPermissions.tag = true;
-        }
-        if (permissionLike.move) {
-          containerSASPermissions.move = true;
-        }
-        if (permissionLike.execute) {
-          containerSASPermissions.execute = true;
-        }
-        if (permissionLike.setImmutabilityPolicy) {
-          containerSASPermissions.setImmutabilityPolicy = true;
-        }
-        if (permissionLike.permanentDelete) {
-          containerSASPermissions.permanentDelete = true;
-        }
-        if (permissionLike.filterByTags) {
-          containerSASPermissions.filterByTags = true;
+      return result;
+    }
+    module2.exports = arrayLikeKeys;
+  }
+});
+
+// node_modules/lodash/_isPrototype.js
+var require_isPrototype = __commonJS({
+  "node_modules/lodash/_isPrototype.js"(exports2, module2) {
+    var objectProto = Object.prototype;
+    function isPrototype(value) {
+      var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto;
+      return value === proto;
+    }
+    module2.exports = isPrototype;
+  }
+});
+
+// node_modules/lodash/_nativeKeysIn.js
+var require_nativeKeysIn = __commonJS({
+  "node_modules/lodash/_nativeKeysIn.js"(exports2, module2) {
+    function nativeKeysIn(object) {
+      var result = [];
+      if (object != null) {
+        for (var key in Object(object)) {
+          result.push(key);
         }
-        return containerSASPermissions;
       }
-      /**
-       * Specifies Read access granted.
-       */
-      read = false;
-      /**
-       * Specifies Add access granted.
-       */
-      add = false;
-      /**
-       * Specifies Create access granted.
-       */
-      create = false;
-      /**
-       * Specifies Write access granted.
-       */
-      write = false;
-      /**
-       * Specifies Delete access granted.
-       */
-      delete = false;
-      /**
-       * Specifies Delete version access granted.
-       */
-      deleteVersion = false;
-      /**
-       * Specifies List access granted.
-       */
-      list = false;
-      /**
-       * Specfies Tag access granted.
-       */
-      tag = false;
-      /**
-       * Specifies Move access granted.
-       */
-      move = false;
-      /**
-       * Specifies Execute access granted.
-       */
-      execute = false;
-      /**
-       * Specifies SetImmutabilityPolicy access granted.
-       */
-      setImmutabilityPolicy = false;
-      /**
-       * Specifies that Permanent Delete is permitted.
-       */
-      permanentDelete = false;
-      /**
-       * Specifies that Filter Blobs by Tags is permitted.
-       */
-      filterByTags = false;
-      /**
-       * Converts the given permissions to a string. Using this method will guarantee the permissions are in an
-       * order accepted by the service.
-       *
-       * The order of the characters should be as specified here to ensure correctness.
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       */
-      toString() {
-        const permissions = [];
-        if (this.read) {
-          permissions.push("r");
-        }
-        if (this.add) {
-          permissions.push("a");
-        }
-        if (this.create) {
-          permissions.push("c");
-        }
-        if (this.write) {
-          permissions.push("w");
-        }
-        if (this.delete) {
-          permissions.push("d");
-        }
-        if (this.deleteVersion) {
-          permissions.push("x");
-        }
-        if (this.list) {
-          permissions.push("l");
-        }
-        if (this.tag) {
-          permissions.push("t");
-        }
-        if (this.move) {
-          permissions.push("m");
-        }
-        if (this.execute) {
-          permissions.push("e");
-        }
-        if (this.setImmutabilityPolicy) {
-          permissions.push("i");
-        }
-        if (this.permanentDelete) {
-          permissions.push("y");
-        }
-        if (this.filterByTags) {
-          permissions.push("f");
+      return result;
+    }
+    module2.exports = nativeKeysIn;
+  }
+});
+
+// node_modules/lodash/_baseKeysIn.js
+var require_baseKeysIn = __commonJS({
+  "node_modules/lodash/_baseKeysIn.js"(exports2, module2) {
+    var isObject2 = require_isObject();
+    var isPrototype = require_isPrototype();
+    var nativeKeysIn = require_nativeKeysIn();
+    var objectProto = Object.prototype;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    function baseKeysIn(object) {
+      if (!isObject2(object)) {
+        return nativeKeysIn(object);
+      }
+      var isProto = isPrototype(object), result = [];
+      for (var key in object) {
+        if (!(key == "constructor" && (isProto || !hasOwnProperty.call(object, key)))) {
+          result.push(key);
         }
-        return permissions.join("");
       }
-    };
-    exports2.ContainerSASPermissions = ContainerSASPermissions;
+      return result;
+    }
+    module2.exports = baseKeysIn;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/credentials/UserDelegationKeyCredential.js
-var require_UserDelegationKeyCredential = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/credentials/UserDelegationKeyCredential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.UserDelegationKeyCredential = void 0;
-    var node_crypto_1 = require("node:crypto");
-    var UserDelegationKeyCredential = class {
-      /**
-       * Azure Storage account name; readonly.
-       */
-      accountName;
-      /**
-       * Azure Storage user delegation key; readonly.
-       */
-      userDelegationKey;
-      /**
-       * Key value in Buffer type.
-       */
-      key;
-      /**
-       * Creates an instance of UserDelegationKeyCredential.
-       * @param accountName -
-       * @param userDelegationKey -
-       */
-      constructor(accountName, userDelegationKey) {
-        this.accountName = accountName;
-        this.userDelegationKey = userDelegationKey;
-        this.key = Buffer.from(userDelegationKey.value, "base64");
+// node_modules/lodash/keysIn.js
+var require_keysIn = __commonJS({
+  "node_modules/lodash/keysIn.js"(exports2, module2) {
+    var arrayLikeKeys = require_arrayLikeKeys();
+    var baseKeysIn = require_baseKeysIn();
+    var isArrayLike = require_isArrayLike();
+    function keysIn(object) {
+      return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);
+    }
+    module2.exports = keysIn;
+  }
+});
+
+// node_modules/lodash/defaults.js
+var require_defaults = __commonJS({
+  "node_modules/lodash/defaults.js"(exports2, module2) {
+    var baseRest = require_baseRest();
+    var eq = require_eq2();
+    var isIterateeCall = require_isIterateeCall();
+    var keysIn = require_keysIn();
+    var objectProto = Object.prototype;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    var defaults = baseRest(function(object, sources) {
+      object = Object(object);
+      var index = -1;
+      var length = sources.length;
+      var guard = length > 2 ? sources[2] : void 0;
+      if (guard && isIterateeCall(sources[0], sources[1], guard)) {
+        length = 1;
       }
-      /**
-       * Generates a hash signature for an HTTP request or for a SAS.
-       *
-       * @param stringToSign -
-       */
-      computeHMACSHA256(stringToSign) {
-        return (0, node_crypto_1.createHmac)("sha256", this.key).update(stringToSign, "utf8").digest("base64");
+      while (++index < length) {
+        var source = sources[index];
+        var props = keysIn(source);
+        var propsIndex = -1;
+        var propsLength = props.length;
+        while (++propsIndex < propsLength) {
+          var key = props[propsIndex];
+          var value = object[key];
+          if (value === void 0 || eq(value, objectProto[key]) && !hasOwnProperty.call(object, key)) {
+            object[key] = source[key];
+          }
+        }
       }
+      return object;
+    });
+    module2.exports = defaults;
+  }
+});
+
+// node_modules/readable-stream/lib/ours/primordials.js
+var require_primordials = __commonJS({
+  "node_modules/readable-stream/lib/ours/primordials.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      ArrayIsArray(self2) {
+        return Array.isArray(self2);
+      },
+      ArrayPrototypeIncludes(self2, el) {
+        return self2.includes(el);
+      },
+      ArrayPrototypeIndexOf(self2, el) {
+        return self2.indexOf(el);
+      },
+      ArrayPrototypeJoin(self2, sep2) {
+        return self2.join(sep2);
+      },
+      ArrayPrototypeMap(self2, fn) {
+        return self2.map(fn);
+      },
+      ArrayPrototypePop(self2, el) {
+        return self2.pop(el);
+      },
+      ArrayPrototypePush(self2, el) {
+        return self2.push(el);
+      },
+      ArrayPrototypeSlice(self2, start, end) {
+        return self2.slice(start, end);
+      },
+      Error,
+      FunctionPrototypeCall(fn, thisArgs, ...args) {
+        return fn.call(thisArgs, ...args);
+      },
+      FunctionPrototypeSymbolHasInstance(self2, instance) {
+        return Function.prototype[Symbol.hasInstance].call(self2, instance);
+      },
+      MathFloor: Math.floor,
+      Number,
+      NumberIsInteger: Number.isInteger,
+      NumberIsNaN: Number.isNaN,
+      NumberMAX_SAFE_INTEGER: Number.MAX_SAFE_INTEGER,
+      NumberMIN_SAFE_INTEGER: Number.MIN_SAFE_INTEGER,
+      NumberParseInt: Number.parseInt,
+      ObjectDefineProperties(self2, props) {
+        return Object.defineProperties(self2, props);
+      },
+      ObjectDefineProperty(self2, name, prop) {
+        return Object.defineProperty(self2, name, prop);
+      },
+      ObjectGetOwnPropertyDescriptor(self2, name) {
+        return Object.getOwnPropertyDescriptor(self2, name);
+      },
+      ObjectKeys(obj) {
+        return Object.keys(obj);
+      },
+      ObjectSetPrototypeOf(target, proto) {
+        return Object.setPrototypeOf(target, proto);
+      },
+      Promise,
+      PromisePrototypeCatch(self2, fn) {
+        return self2.catch(fn);
+      },
+      PromisePrototypeThen(self2, thenFn, catchFn) {
+        return self2.then(thenFn, catchFn);
+      },
+      PromiseReject(err) {
+        return Promise.reject(err);
+      },
+      PromiseResolve(val) {
+        return Promise.resolve(val);
+      },
+      ReflectApply: Reflect.apply,
+      RegExpPrototypeTest(self2, value) {
+        return self2.test(value);
+      },
+      SafeSet: Set,
+      String,
+      StringPrototypeSlice(self2, start, end) {
+        return self2.slice(start, end);
+      },
+      StringPrototypeToLowerCase(self2) {
+        return self2.toLowerCase();
+      },
+      StringPrototypeToUpperCase(self2) {
+        return self2.toUpperCase();
+      },
+      StringPrototypeTrim(self2) {
+        return self2.trim();
+      },
+      Symbol,
+      SymbolFor: Symbol.for,
+      SymbolAsyncIterator: Symbol.asyncIterator,
+      SymbolHasInstance: Symbol.hasInstance,
+      SymbolIterator: Symbol.iterator,
+      SymbolDispose: Symbol.dispose || /* @__PURE__ */ Symbol("Symbol.dispose"),
+      SymbolAsyncDispose: Symbol.asyncDispose || /* @__PURE__ */ Symbol("Symbol.asyncDispose"),
+      TypedArrayPrototypeSet(self2, buf, len) {
+        return self2.set(buf, len);
+      },
+      Boolean,
+      Uint8Array
     };
-    exports2.UserDelegationKeyCredential = UserDelegationKeyCredential;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/sas/SasIPRange.js
-var require_SasIPRange = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/SasIPRange.js"(exports2) {
+// node_modules/event-target-shim/dist/event-target-shim.js
+var require_event_target_shim = __commonJS({
+  "node_modules/event-target-shim/dist/event-target-shim.js"(exports2, module2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ipRangeToString = ipRangeToString;
-    function ipRangeToString(ipRange) {
-      return ipRange.end ? `${ipRange.start}-${ipRange.end}` : ipRange.start;
+    var privateData = /* @__PURE__ */ new WeakMap();
+    var wrappers = /* @__PURE__ */ new WeakMap();
+    function pd(event) {
+      const retv = privateData.get(event);
+      console.assert(
+        retv != null,
+        "'this' is expected an Event object, but got",
+        event
+      );
+      return retv;
     }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/sas/SASQueryParameters.js
-var require_SASQueryParameters = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/SASQueryParameters.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.SASQueryParameters = exports2.SASProtocol = void 0;
-    var SasIPRange_js_1 = require_SasIPRange();
-    var utils_common_js_1 = require_utils_common();
-    var SASProtocol;
-    (function(SASProtocol2) {
-      SASProtocol2["Https"] = "https";
-      SASProtocol2["HttpsAndHttp"] = "https,http";
-    })(SASProtocol || (exports2.SASProtocol = SASProtocol = {}));
-    var SASQueryParameters = class {
-      /**
-       * The storage API version.
-       */
-      version;
-      /**
-       * Optional. The allowed HTTP protocol(s).
-       */
-      protocol;
-      /**
-       * Optional. The start time for this SAS token.
-       */
-      startsOn;
-      /**
-       * Optional only when identifier is provided. The expiry time for this SAS token.
-       */
-      expiresOn;
-      /**
-       * Optional only when identifier is provided.
-       * Please refer to {@link AccountSASPermissions}, {@link BlobSASPermissions}, or {@link ContainerSASPermissions} for
-       * more details.
-       */
-      permissions;
-      /**
-       * Optional. The storage services being accessed (only for Account SAS). Please refer to {@link AccountSASServices}
-       * for more details.
-       */
-      services;
-      /**
-       * Optional. The storage resource types being accessed (only for Account SAS). Please refer to
-       * {@link AccountSASResourceTypes} for more details.
-       */
-      resourceTypes;
-      /**
-       * Optional. The signed identifier (only for {@link BlobSASSignatureValues}).
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/establishing-a-stored-access-policy
-       */
-      identifier;
-      /**
-       * Optional. Encryption scope to use when sending requests authorized with this SAS URI.
-       */
-      encryptionScope;
-      /**
-       * Optional. Specifies which resources are accessible via the SAS (only for {@link BlobSASSignatureValues}).
-       * @see https://learn.microsoft.com/rest/api/storageservices/create-service-sas#specifying-the-signed-resource-blob-service-only
-       */
-      resource;
+    function setCancelFlag(data) {
+      if (data.passiveListener != null) {
+        if (typeof console !== "undefined" && typeof console.error === "function") {
+          console.error(
+            "Unable to preventDefault inside passive event listener invocation.",
+            data.passiveListener
+          );
+        }
+        return;
+      }
+      if (!data.event.cancelable) {
+        return;
+      }
+      data.canceled = true;
+      if (typeof data.event.preventDefault === "function") {
+        data.event.preventDefault();
+      }
+    }
+    function Event2(eventTarget, event) {
+      privateData.set(this, {
+        eventTarget,
+        event,
+        eventPhase: 2,
+        currentTarget: eventTarget,
+        canceled: false,
+        stopped: false,
+        immediateStopped: false,
+        passiveListener: null,
+        timeStamp: event.timeStamp || Date.now()
+      });
+      Object.defineProperty(this, "isTrusted", { value: false, enumerable: true });
+      const keys = Object.keys(event);
+      for (let i = 0; i < keys.length; ++i) {
+        const key = keys[i];
+        if (!(key in this)) {
+          Object.defineProperty(this, key, defineRedirectDescriptor(key));
+        }
+      }
+    }
+    Event2.prototype = {
       /**
-       * The signature for the SAS token.
+       * The type of this event.
+       * @type {string}
        */
-      signature;
+      get type() {
+        return pd(this).event.type;
+      },
       /**
-       * Value for cache-control header in Blob/File Service SAS.
+       * The target of this event.
+       * @type {EventTarget}
        */
-      cacheControl;
+      get target() {
+        return pd(this).eventTarget;
+      },
       /**
-       * Value for content-disposition header in Blob/File Service SAS.
+       * The target of this event.
+       * @type {EventTarget}
        */
-      contentDisposition;
+      get currentTarget() {
+        return pd(this).currentTarget;
+      },
       /**
-       * Value for content-encoding header in Blob/File Service SAS.
+       * @returns {EventTarget[]} The composed path of this event.
        */
-      contentEncoding;
+      composedPath() {
+        const currentTarget = pd(this).currentTarget;
+        if (currentTarget == null) {
+          return [];
+        }
+        return [currentTarget];
+      },
       /**
-       * Value for content-length header in Blob/File Service SAS.
+       * Constant of NONE.
+       * @type {number}
        */
-      contentLanguage;
+      get NONE() {
+        return 0;
+      },
       /**
-       * Value for content-type header in Blob/File Service SAS.
+       * Constant of CAPTURING_PHASE.
+       * @type {number}
        */
-      contentType;
+      get CAPTURING_PHASE() {
+        return 1;
+      },
       /**
-       * Inner value of getter ipRange.
+       * Constant of AT_TARGET.
+       * @type {number}
        */
-      ipRangeInner;
+      get AT_TARGET() {
+        return 2;
+      },
       /**
-       * The Azure Active Directory object ID in GUID format.
-       * Property of user delegation key.
+       * Constant of BUBBLING_PHASE.
+       * @type {number}
        */
-      signedOid;
+      get BUBBLING_PHASE() {
+        return 3;
+      },
       /**
-       * The Azure Active Directory tenant ID in GUID format.
-       * Property of user delegation key.
+       * The target of this event.
+       * @type {number}
        */
-      signedTenantId;
+      get eventPhase() {
+        return pd(this).eventPhase;
+      },
       /**
-       * The date-time the key is active.
-       * Property of user delegation key.
+       * Stop event bubbling.
+       * @returns {void}
        */
-      signedStartsOn;
+      stopPropagation() {
+        const data = pd(this);
+        data.stopped = true;
+        if (typeof data.event.stopPropagation === "function") {
+          data.event.stopPropagation();
+        }
+      },
       /**
-       * The date-time the key expires.
-       * Property of user delegation key.
+       * Stop event bubbling.
+       * @returns {void}
        */
-      signedExpiresOn;
+      stopImmediatePropagation() {
+        const data = pd(this);
+        data.stopped = true;
+        data.immediateStopped = true;
+        if (typeof data.event.stopImmediatePropagation === "function") {
+          data.event.stopImmediatePropagation();
+        }
+      },
       /**
-       * Abbreviation of the Azure Storage service that accepts the user delegation key.
-       * Property of user delegation key.
+       * The flag to be bubbling.
+       * @type {boolean}
        */
-      signedService;
+      get bubbles() {
+        return Boolean(pd(this).event.bubbles);
+      },
       /**
-       * The service version that created the user delegation key.
-       * Property of user delegation key.
+       * The flag to be cancelable.
+       * @type {boolean}
        */
-      signedVersion;
+      get cancelable() {
+        return Boolean(pd(this).event.cancelable);
+      },
       /**
-       * Authorized AAD Object ID in GUID format. The AAD Object ID of a user authorized by the owner of the User Delegation Key
-       * to perform the action granted by the SAS. The Azure Storage service will ensure that the owner of the user delegation key
-       * has the required permissions before granting access but no additional permission check for the user specified in
-       * this value will be performed. This is only used for User Delegation SAS.
+       * Cancel this event.
+       * @returns {void}
        */
-      preauthorizedAgentObjectId;
+      preventDefault() {
+        setCancelFlag(pd(this));
+      },
       /**
-       * A GUID value that will be logged in the storage diagnostic logs and can be used to correlate SAS generation with storage resource access.
-       * This is only used for User Delegation SAS.
+       * The flag to indicate cancellation state.
+       * @type {boolean}
        */
-      correlationId;
+      get defaultPrevented() {
+        return pd(this).canceled;
+      },
       /**
-       * Optional. IP range allowed for this SAS.
-       *
-       * @readonly
+       * The flag to be composed.
+       * @type {boolean}
        */
-      get ipRange() {
-        if (this.ipRangeInner) {
-          return {
-            end: this.ipRangeInner.end,
-            start: this.ipRangeInner.start
-          };
-        }
-        return void 0;
-      }
-      constructor(version, signature, permissionsOrOptions, services, resourceTypes, protocol, startsOn, expiresOn, ipRange, identifier, resource, cacheControl, contentDisposition, contentEncoding, contentLanguage, contentType, userDelegationKey, preauthorizedAgentObjectId, correlationId, encryptionScope) {
-        this.version = version;
-        this.signature = signature;
-        if (permissionsOrOptions !== void 0 && typeof permissionsOrOptions !== "string") {
-          this.permissions = permissionsOrOptions.permissions;
-          this.services = permissionsOrOptions.services;
-          this.resourceTypes = permissionsOrOptions.resourceTypes;
-          this.protocol = permissionsOrOptions.protocol;
-          this.startsOn = permissionsOrOptions.startsOn;
-          this.expiresOn = permissionsOrOptions.expiresOn;
-          this.ipRangeInner = permissionsOrOptions.ipRange;
-          this.identifier = permissionsOrOptions.identifier;
-          this.encryptionScope = permissionsOrOptions.encryptionScope;
-          this.resource = permissionsOrOptions.resource;
-          this.cacheControl = permissionsOrOptions.cacheControl;
-          this.contentDisposition = permissionsOrOptions.contentDisposition;
-          this.contentEncoding = permissionsOrOptions.contentEncoding;
-          this.contentLanguage = permissionsOrOptions.contentLanguage;
-          this.contentType = permissionsOrOptions.contentType;
-          if (permissionsOrOptions.userDelegationKey) {
-            this.signedOid = permissionsOrOptions.userDelegationKey.signedObjectId;
-            this.signedTenantId = permissionsOrOptions.userDelegationKey.signedTenantId;
-            this.signedStartsOn = permissionsOrOptions.userDelegationKey.signedStartsOn;
-            this.signedExpiresOn = permissionsOrOptions.userDelegationKey.signedExpiresOn;
-            this.signedService = permissionsOrOptions.userDelegationKey.signedService;
-            this.signedVersion = permissionsOrOptions.userDelegationKey.signedVersion;
-            this.preauthorizedAgentObjectId = permissionsOrOptions.preauthorizedAgentObjectId;
-            this.correlationId = permissionsOrOptions.correlationId;
-          }
-        } else {
-          this.services = services;
-          this.resourceTypes = resourceTypes;
-          this.expiresOn = expiresOn;
-          this.permissions = permissionsOrOptions;
-          this.protocol = protocol;
-          this.startsOn = startsOn;
-          this.ipRangeInner = ipRange;
-          this.encryptionScope = encryptionScope;
-          this.identifier = identifier;
-          this.resource = resource;
-          this.cacheControl = cacheControl;
-          this.contentDisposition = contentDisposition;
-          this.contentEncoding = contentEncoding;
-          this.contentLanguage = contentLanguage;
-          this.contentType = contentType;
-          if (userDelegationKey) {
-            this.signedOid = userDelegationKey.signedObjectId;
-            this.signedTenantId = userDelegationKey.signedTenantId;
-            this.signedStartsOn = userDelegationKey.signedStartsOn;
-            this.signedExpiresOn = userDelegationKey.signedExpiresOn;
-            this.signedService = userDelegationKey.signedService;
-            this.signedVersion = userDelegationKey.signedVersion;
-            this.preauthorizedAgentObjectId = preauthorizedAgentObjectId;
-            this.correlationId = correlationId;
-          }
-        }
-      }
+      get composed() {
+        return Boolean(pd(this).event.composed);
+      },
       /**
-       * Encodes all SAS query parameters into a string that can be appended to a URL.
-       *
+       * The unix time of this event.
+       * @type {number}
        */
-      toString() {
-        const params = [
-          "sv",
-          "ss",
-          "srt",
-          "spr",
-          "st",
-          "se",
-          "sip",
-          "si",
-          "ses",
-          "skoid",
-          // Signed object ID
-          "sktid",
-          // Signed tenant ID
-          "skt",
-          // Signed key start time
-          "ske",
-          // Signed key expiry time
-          "sks",
-          // Signed key service
-          "skv",
-          // Signed key version
-          "sr",
-          "sp",
-          "sig",
-          "rscc",
-          "rscd",
-          "rsce",
-          "rscl",
-          "rsct",
-          "saoid",
-          "scid"
-        ];
-        const queries = [];
-        for (const param of params) {
-          switch (param) {
-            case "sv":
-              this.tryAppendQueryParameter(queries, param, this.version);
-              break;
-            case "ss":
-              this.tryAppendQueryParameter(queries, param, this.services);
-              break;
-            case "srt":
-              this.tryAppendQueryParameter(queries, param, this.resourceTypes);
-              break;
-            case "spr":
-              this.tryAppendQueryParameter(queries, param, this.protocol);
-              break;
-            case "st":
-              this.tryAppendQueryParameter(queries, param, this.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.startsOn, false) : void 0);
-              break;
-            case "se":
-              this.tryAppendQueryParameter(queries, param, this.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.expiresOn, false) : void 0);
-              break;
-            case "sip":
-              this.tryAppendQueryParameter(queries, param, this.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(this.ipRange) : void 0);
-              break;
-            case "si":
-              this.tryAppendQueryParameter(queries, param, this.identifier);
-              break;
-            case "ses":
-              this.tryAppendQueryParameter(queries, param, this.encryptionScope);
-              break;
-            case "skoid":
-              this.tryAppendQueryParameter(queries, param, this.signedOid);
-              break;
-            case "sktid":
-              this.tryAppendQueryParameter(queries, param, this.signedTenantId);
-              break;
-            case "skt":
-              this.tryAppendQueryParameter(queries, param, this.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.signedStartsOn, false) : void 0);
-              break;
-            case "ske":
-              this.tryAppendQueryParameter(queries, param, this.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.signedExpiresOn, false) : void 0);
-              break;
-            case "sks":
-              this.tryAppendQueryParameter(queries, param, this.signedService);
-              break;
-            case "skv":
-              this.tryAppendQueryParameter(queries, param, this.signedVersion);
-              break;
-            case "sr":
-              this.tryAppendQueryParameter(queries, param, this.resource);
-              break;
-            case "sp":
-              this.tryAppendQueryParameter(queries, param, this.permissions);
-              break;
-            case "sig":
-              this.tryAppendQueryParameter(queries, param, this.signature);
-              break;
-            case "rscc":
-              this.tryAppendQueryParameter(queries, param, this.cacheControl);
-              break;
-            case "rscd":
-              this.tryAppendQueryParameter(queries, param, this.contentDisposition);
-              break;
-            case "rsce":
-              this.tryAppendQueryParameter(queries, param, this.contentEncoding);
-              break;
-            case "rscl":
-              this.tryAppendQueryParameter(queries, param, this.contentLanguage);
-              break;
-            case "rsct":
-              this.tryAppendQueryParameter(queries, param, this.contentType);
-              break;
-            case "saoid":
-              this.tryAppendQueryParameter(queries, param, this.preauthorizedAgentObjectId);
-              break;
-            case "scid":
-              this.tryAppendQueryParameter(queries, param, this.correlationId);
-              break;
-          }
-        }
-        return queries.join("&");
-      }
+      get timeStamp() {
+        return pd(this).timeStamp;
+      },
       /**
-       * A private helper method used to filter and append query key/value pairs into an array.
-       *
-       * @param queries -
-       * @param key -
-       * @param value -
-       */
-      tryAppendQueryParameter(queries, key, value) {
-        if (!value) {
-          return;
-        }
-        key = encodeURIComponent(key);
-        value = encodeURIComponent(value);
-        if (key.length > 0 && value.length > 0) {
-          queries.push(`${key}=${value}`);
-        }
-      }
-    };
-    exports2.SASQueryParameters = SASQueryParameters;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASSignatureValues.js
-var require_BlobSASSignatureValues = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASSignatureValues.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.generateBlobSASQueryParameters = generateBlobSASQueryParameters;
-    exports2.generateBlobSASQueryParametersInternal = generateBlobSASQueryParametersInternal;
-    var BlobSASPermissions_js_1 = require_BlobSASPermissions();
-    var ContainerSASPermissions_js_1 = require_ContainerSASPermissions();
-    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
-    var UserDelegationKeyCredential_js_1 = require_UserDelegationKeyCredential();
-    var SasIPRange_js_1 = require_SasIPRange();
-    var SASQueryParameters_js_1 = require_SASQueryParameters();
-    var constants_js_1 = require_constants14();
-    var utils_common_js_1 = require_utils_common();
-    function generateBlobSASQueryParameters(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName) {
-      return generateBlobSASQueryParametersInternal(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName).sasQueryParameters;
-    }
-    function generateBlobSASQueryParametersInternal(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName) {
-      const version = blobSASSignatureValues.version ? blobSASSignatureValues.version : constants_js_1.SERVICE_VERSION;
-      const sharedKeyCredential = sharedKeyCredentialOrUserDelegationKey instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential ? sharedKeyCredentialOrUserDelegationKey : void 0;
-      let userDelegationKeyCredential;
-      if (sharedKeyCredential === void 0 && accountName !== void 0) {
-        userDelegationKeyCredential = new UserDelegationKeyCredential_js_1.UserDelegationKeyCredential(accountName, sharedKeyCredentialOrUserDelegationKey);
-      }
-      if (sharedKeyCredential === void 0 && userDelegationKeyCredential === void 0) {
-        throw TypeError("Invalid sharedKeyCredential, userDelegationKey or accountName.");
-      }
-      if (version >= "2020-12-06") {
-        if (sharedKeyCredential !== void 0) {
-          return generateBlobSASQueryParameters20201206(blobSASSignatureValues, sharedKeyCredential);
-        } else {
-          if (version >= "2025-07-05") {
-            return generateBlobSASQueryParametersUDK20250705(blobSASSignatureValues, userDelegationKeyCredential);
-          } else {
-            return generateBlobSASQueryParametersUDK20201206(blobSASSignatureValues, userDelegationKeyCredential);
-          }
+       * The target of this event.
+       * @type {EventTarget}
+       * @deprecated
+       */
+      get srcElement() {
+        return pd(this).eventTarget;
+      },
+      /**
+       * The flag to stop event bubbling.
+       * @type {boolean}
+       * @deprecated
+       */
+      get cancelBubble() {
+        return pd(this).stopped;
+      },
+      set cancelBubble(value) {
+        if (!value) {
+          return;
         }
-      }
-      if (version >= "2018-11-09") {
-        if (sharedKeyCredential !== void 0) {
-          return generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKeyCredential);
-        } else {
-          if (version >= "2020-02-10") {
-            return generateBlobSASQueryParametersUDK20200210(blobSASSignatureValues, userDelegationKeyCredential);
-          } else {
-            return generateBlobSASQueryParametersUDK20181109(blobSASSignatureValues, userDelegationKeyCredential);
-          }
+        const data = pd(this);
+        data.stopped = true;
+        if (typeof data.event.cancelBubble === "boolean") {
+          data.event.cancelBubble = true;
         }
-      }
-      if (version >= "2015-04-05") {
-        if (sharedKeyCredential !== void 0) {
-          return generateBlobSASQueryParameters20150405(blobSASSignatureValues, sharedKeyCredential);
-        } else {
-          throw new RangeError("'version' must be >= '2018-11-09' when generating user delegation SAS using user delegation key.");
+      },
+      /**
+       * The flag to indicate cancellation state.
+       * @type {boolean}
+       * @deprecated
+       */
+      get returnValue() {
+        return !pd(this).canceled;
+      },
+      set returnValue(value) {
+        if (!value) {
+          setCancelFlag(pd(this));
         }
+      },
+      /**
+       * Initialize this event object. But do nothing under event dispatching.
+       * @param {string} type The event type.
+       * @param {boolean} [bubbles=false] The flag to be possible to bubble up.
+       * @param {boolean} [cancelable=false] The flag to be possible to cancel.
+       * @deprecated
+       */
+      initEvent() {
       }
-      throw new RangeError("'version' must be >= '2015-04-05'.");
+    };
+    Object.defineProperty(Event2.prototype, "constructor", {
+      value: Event2,
+      configurable: true,
+      writable: true
+    });
+    if (typeof window !== "undefined" && typeof window.Event !== "undefined") {
+      Object.setPrototypeOf(Event2.prototype, window.Event.prototype);
+      wrappers.set(window.Event.prototype, Event2);
     }
-    function generateBlobSASQueryParameters20150405(blobSASSignatureValues, sharedKeyCredential) {
-      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
-      if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
-        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
-      }
-      let resource = "c";
-      if (blobSASSignatureValues.blobName) {
-        resource = "b";
-      }
-      let verifiedPermissions;
-      if (blobSASSignatureValues.permissions) {
-        if (blobSASSignatureValues.blobName) {
-          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        } else {
-          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        }
-      }
-      const stringToSign = [
-        verifiedPermissions ? verifiedPermissions : "",
-        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
-        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
-        getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
-        blobSASSignatureValues.identifier,
-        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
-        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
-        blobSASSignatureValues.version,
-        blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
-        blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
-        blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
-        blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
-        blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : ""
-      ].join("\n");
-      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
+    function defineRedirectDescriptor(key) {
       return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType),
-        stringToSign
+        get() {
+          return pd(this).event[key];
+        },
+        set(value) {
+          pd(this).event[key] = value;
+        },
+        configurable: true,
+        enumerable: true
       };
     }
-    function generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKeyCredential) {
-      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
-      if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
-        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
-      }
-      let resource = "c";
-      let timestamp2 = blobSASSignatureValues.snapshotTime;
-      if (blobSASSignatureValues.blobName) {
-        resource = "b";
-        if (blobSASSignatureValues.snapshotTime) {
-          resource = "bs";
-        } else if (blobSASSignatureValues.versionId) {
-          resource = "bv";
-          timestamp2 = blobSASSignatureValues.versionId;
-        }
-      }
-      let verifiedPermissions;
-      if (blobSASSignatureValues.permissions) {
-        if (blobSASSignatureValues.blobName) {
-          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        } else {
-          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        }
-      }
-      const stringToSign = [
-        verifiedPermissions ? verifiedPermissions : "",
-        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
-        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
-        getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
-        blobSASSignatureValues.identifier,
-        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
-        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
-        blobSASSignatureValues.version,
-        resource,
-        timestamp2,
-        blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
-        blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
-        blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
-        blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
-        blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : ""
-      ].join("\n");
-      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
+    function defineCallDescriptor(key) {
       return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType),
-        stringToSign
+        value() {
+          const event = pd(this).event;
+          return event[key].apply(event, arguments);
+        },
+        configurable: true,
+        enumerable: true
       };
     }
-    function generateBlobSASQueryParameters20201206(blobSASSignatureValues, sharedKeyCredential) {
-      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
-      if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
-        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
+    function defineWrapper(BaseEvent, proto) {
+      const keys = Object.keys(proto);
+      if (keys.length === 0) {
+        return BaseEvent;
       }
-      let resource = "c";
-      let timestamp2 = blobSASSignatureValues.snapshotTime;
-      if (blobSASSignatureValues.blobName) {
-        resource = "b";
-        if (blobSASSignatureValues.snapshotTime) {
-          resource = "bs";
-        } else if (blobSASSignatureValues.versionId) {
-          resource = "bv";
-          timestamp2 = blobSASSignatureValues.versionId;
-        }
+      function CustomEvent(eventTarget, event) {
+        BaseEvent.call(this, eventTarget, event);
       }
-      let verifiedPermissions;
-      if (blobSASSignatureValues.permissions) {
-        if (blobSASSignatureValues.blobName) {
-          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        } else {
-          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+      CustomEvent.prototype = Object.create(BaseEvent.prototype, {
+        constructor: { value: CustomEvent, configurable: true, writable: true }
+      });
+      for (let i = 0; i < keys.length; ++i) {
+        const key = keys[i];
+        if (!(key in BaseEvent.prototype)) {
+          const descriptor = Object.getOwnPropertyDescriptor(proto, key);
+          const isFunc = typeof descriptor.value === "function";
+          Object.defineProperty(
+            CustomEvent.prototype,
+            key,
+            isFunc ? defineCallDescriptor(key) : defineRedirectDescriptor(key)
+          );
         }
       }
-      const stringToSign = [
-        verifiedPermissions ? verifiedPermissions : "",
-        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
-        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
-        getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
-        blobSASSignatureValues.identifier,
-        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
-        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
-        blobSASSignatureValues.version,
-        resource,
-        timestamp2,
-        blobSASSignatureValues.encryptionScope,
-        blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
-        blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
-        blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
-        blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
-        blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : ""
-      ].join("\n");
-      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, void 0, void 0, void 0, blobSASSignatureValues.encryptionScope),
-        stringToSign
-      };
+      return CustomEvent;
     }
-    function generateBlobSASQueryParametersUDK20181109(blobSASSignatureValues, userDelegationKeyCredential) {
-      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
-      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
-        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
-      }
-      let resource = "c";
-      let timestamp2 = blobSASSignatureValues.snapshotTime;
-      if (blobSASSignatureValues.blobName) {
-        resource = "b";
-        if (blobSASSignatureValues.snapshotTime) {
-          resource = "bs";
-        } else if (blobSASSignatureValues.versionId) {
-          resource = "bv";
-          timestamp2 = blobSASSignatureValues.versionId;
-        }
+    function getWrapper(proto) {
+      if (proto == null || proto === Object.prototype) {
+        return Event2;
       }
-      let verifiedPermissions;
-      if (blobSASSignatureValues.permissions) {
-        if (blobSASSignatureValues.blobName) {
-          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        } else {
-          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        }
+      let wrapper = wrappers.get(proto);
+      if (wrapper == null) {
+        wrapper = defineWrapper(getWrapper(Object.getPrototypeOf(proto)), proto);
+        wrappers.set(proto, wrapper);
       }
-      const stringToSign = [
-        verifiedPermissions ? verifiedPermissions : "",
-        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
-        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
-        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
-        userDelegationKeyCredential.userDelegationKey.signedObjectId,
-        userDelegationKeyCredential.userDelegationKey.signedTenantId,
-        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedService,
-        userDelegationKeyCredential.userDelegationKey.signedVersion,
-        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
-        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
-        blobSASSignatureValues.version,
-        resource,
-        timestamp2,
-        blobSASSignatureValues.cacheControl,
-        blobSASSignatureValues.contentDisposition,
-        blobSASSignatureValues.contentEncoding,
-        blobSASSignatureValues.contentLanguage,
-        blobSASSignatureValues.contentType
-      ].join("\n");
-      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey),
-        stringToSign
-      };
+      return wrapper;
     }
-    function generateBlobSASQueryParametersUDK20200210(blobSASSignatureValues, userDelegationKeyCredential) {
-      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
-      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
-        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
-      }
-      let resource = "c";
-      let timestamp2 = blobSASSignatureValues.snapshotTime;
-      if (blobSASSignatureValues.blobName) {
-        resource = "b";
-        if (blobSASSignatureValues.snapshotTime) {
-          resource = "bs";
-        } else if (blobSASSignatureValues.versionId) {
-          resource = "bv";
-          timestamp2 = blobSASSignatureValues.versionId;
-        }
-      }
-      let verifiedPermissions;
-      if (blobSASSignatureValues.permissions) {
-        if (blobSASSignatureValues.blobName) {
-          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        } else {
-          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        }
-      }
-      const stringToSign = [
-        verifiedPermissions ? verifiedPermissions : "",
-        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
-        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
-        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
-        userDelegationKeyCredential.userDelegationKey.signedObjectId,
-        userDelegationKeyCredential.userDelegationKey.signedTenantId,
-        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedService,
-        userDelegationKeyCredential.userDelegationKey.signedVersion,
-        blobSASSignatureValues.preauthorizedAgentObjectId,
-        void 0,
-        // agentObjectId
-        blobSASSignatureValues.correlationId,
-        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
-        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
-        blobSASSignatureValues.version,
-        resource,
-        timestamp2,
-        blobSASSignatureValues.cacheControl,
-        blobSASSignatureValues.contentDisposition,
-        blobSASSignatureValues.contentEncoding,
-        blobSASSignatureValues.contentLanguage,
-        blobSASSignatureValues.contentType
-      ].join("\n");
-      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId),
-        stringToSign
-      };
+    function wrapEvent(eventTarget, event) {
+      const Wrapper = getWrapper(Object.getPrototypeOf(event));
+      return new Wrapper(eventTarget, event);
     }
-    function generateBlobSASQueryParametersUDK20201206(blobSASSignatureValues, userDelegationKeyCredential) {
-      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
-      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
-        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
-      }
-      let resource = "c";
-      let timestamp2 = blobSASSignatureValues.snapshotTime;
-      if (blobSASSignatureValues.blobName) {
-        resource = "b";
-        if (blobSASSignatureValues.snapshotTime) {
-          resource = "bs";
-        } else if (blobSASSignatureValues.versionId) {
-          resource = "bv";
-          timestamp2 = blobSASSignatureValues.versionId;
-        }
-      }
-      let verifiedPermissions;
-      if (blobSASSignatureValues.permissions) {
-        if (blobSASSignatureValues.blobName) {
-          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        } else {
-          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        }
-      }
-      const stringToSign = [
-        verifiedPermissions ? verifiedPermissions : "",
-        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
-        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
-        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
-        userDelegationKeyCredential.userDelegationKey.signedObjectId,
-        userDelegationKeyCredential.userDelegationKey.signedTenantId,
-        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedService,
-        userDelegationKeyCredential.userDelegationKey.signedVersion,
-        blobSASSignatureValues.preauthorizedAgentObjectId,
-        void 0,
-        // agentObjectId
-        blobSASSignatureValues.correlationId,
-        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
-        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
-        blobSASSignatureValues.version,
-        resource,
-        timestamp2,
-        blobSASSignatureValues.encryptionScope,
-        blobSASSignatureValues.cacheControl,
-        blobSASSignatureValues.contentDisposition,
-        blobSASSignatureValues.contentEncoding,
-        blobSASSignatureValues.contentLanguage,
-        blobSASSignatureValues.contentType
-      ].join("\n");
-      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId, blobSASSignatureValues.encryptionScope),
-        stringToSign
-      };
+    function isStopped(event) {
+      return pd(event).immediateStopped;
     }
-    function generateBlobSASQueryParametersUDK20250705(blobSASSignatureValues, userDelegationKeyCredential) {
-      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
-      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
-        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
-      }
-      let resource = "c";
-      let timestamp2 = blobSASSignatureValues.snapshotTime;
-      if (blobSASSignatureValues.blobName) {
-        resource = "b";
-        if (blobSASSignatureValues.snapshotTime) {
-          resource = "bs";
-        } else if (blobSASSignatureValues.versionId) {
-          resource = "bv";
-          timestamp2 = blobSASSignatureValues.versionId;
-        }
-      }
-      let verifiedPermissions;
-      if (blobSASSignatureValues.permissions) {
-        if (blobSASSignatureValues.blobName) {
-          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        } else {
-          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        }
+    function setEventPhase(event, eventPhase) {
+      pd(event).eventPhase = eventPhase;
+    }
+    function setCurrentTarget(event, currentTarget) {
+      pd(event).currentTarget = currentTarget;
+    }
+    function setPassiveListener(event, passiveListener) {
+      pd(event).passiveListener = passiveListener;
+    }
+    var listenersMap = /* @__PURE__ */ new WeakMap();
+    var CAPTURE = 1;
+    var BUBBLE = 2;
+    var ATTRIBUTE = 3;
+    function isObject2(x) {
+      return x !== null && typeof x === "object";
+    }
+    function getListeners(eventTarget) {
+      const listeners = listenersMap.get(eventTarget);
+      if (listeners == null) {
+        throw new TypeError(
+          "'this' is expected an EventTarget object, but got another value."
+        );
       }
-      const stringToSign = [
-        verifiedPermissions ? verifiedPermissions : "",
-        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
-        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
-        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
-        userDelegationKeyCredential.userDelegationKey.signedObjectId,
-        userDelegationKeyCredential.userDelegationKey.signedTenantId,
-        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedService,
-        userDelegationKeyCredential.userDelegationKey.signedVersion,
-        blobSASSignatureValues.preauthorizedAgentObjectId,
-        void 0,
-        // agentObjectId
-        blobSASSignatureValues.correlationId,
-        void 0,
-        // SignedKeyDelegatedUserTenantId, will be added in a future release.
-        void 0,
-        // SignedDelegatedUserObjectId, will be added in future release.
-        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
-        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
-        blobSASSignatureValues.version,
-        resource,
-        timestamp2,
-        blobSASSignatureValues.encryptionScope,
-        blobSASSignatureValues.cacheControl,
-        blobSASSignatureValues.contentDisposition,
-        blobSASSignatureValues.contentEncoding,
-        blobSASSignatureValues.contentLanguage,
-        blobSASSignatureValues.contentType
-      ].join("\n");
-      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
+      return listeners;
+    }
+    function defineEventAttributeDescriptor(eventName) {
       return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId, blobSASSignatureValues.encryptionScope),
-        stringToSign
+        get() {
+          const listeners = getListeners(this);
+          let node = listeners.get(eventName);
+          while (node != null) {
+            if (node.listenerType === ATTRIBUTE) {
+              return node.listener;
+            }
+            node = node.next;
+          }
+          return null;
+        },
+        set(listener) {
+          if (typeof listener !== "function" && !isObject2(listener)) {
+            listener = null;
+          }
+          const listeners = getListeners(this);
+          let prev = null;
+          let node = listeners.get(eventName);
+          while (node != null) {
+            if (node.listenerType === ATTRIBUTE) {
+              if (prev !== null) {
+                prev.next = node.next;
+              } else if (node.next !== null) {
+                listeners.set(eventName, node.next);
+              } else {
+                listeners.delete(eventName);
+              }
+            } else {
+              prev = node;
+            }
+            node = node.next;
+          }
+          if (listener !== null) {
+            const newNode = {
+              listener,
+              listenerType: ATTRIBUTE,
+              passive: false,
+              once: false,
+              next: null
+            };
+            if (prev === null) {
+              listeners.set(eventName, newNode);
+            } else {
+              prev.next = newNode;
+            }
+          }
+        },
+        configurable: true,
+        enumerable: true
       };
     }
-    function getCanonicalName(accountName, containerName, blobName) {
-      const elements = [`/blob/${accountName}/${containerName}`];
-      if (blobName) {
-        elements.push(`/${blobName}`);
-      }
-      return elements.join("");
+    function defineEventAttribute(eventTargetPrototype, eventName) {
+      Object.defineProperty(
+        eventTargetPrototype,
+        `on${eventName}`,
+        defineEventAttributeDescriptor(eventName)
+      );
     }
-    function SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues) {
-      const version = blobSASSignatureValues.version ? blobSASSignatureValues.version : constants_js_1.SERVICE_VERSION;
-      if (blobSASSignatureValues.snapshotTime && version < "2018-11-09") {
-        throw RangeError("'version' must be >= '2018-11-09' when providing 'snapshotTime'.");
-      }
-      if (blobSASSignatureValues.blobName === void 0 && blobSASSignatureValues.snapshotTime) {
-        throw RangeError("Must provide 'blobName' when providing 'snapshotTime'.");
-      }
-      if (blobSASSignatureValues.versionId && version < "2019-10-10") {
-        throw RangeError("'version' must be >= '2019-10-10' when providing 'versionId'.");
-      }
-      if (blobSASSignatureValues.blobName === void 0 && blobSASSignatureValues.versionId) {
-        throw RangeError("Must provide 'blobName' when providing 'versionId'.");
-      }
-      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.setImmutabilityPolicy && version < "2020-08-04") {
-        throw RangeError("'version' must be >= '2020-08-04' when provided 'i' permission.");
-      }
-      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.deleteVersion && version < "2019-10-10") {
-        throw RangeError("'version' must be >= '2019-10-10' when providing 'x' permission.");
-      }
-      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.permanentDelete && version < "2019-10-10") {
-        throw RangeError("'version' must be >= '2019-10-10' when providing 'y' permission.");
+    function defineCustomEventTarget(eventNames) {
+      function CustomEventTarget() {
+        EventTarget2.call(this);
       }
-      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.tag && version < "2019-12-12") {
-        throw RangeError("'version' must be >= '2019-12-12' when providing 't' permission.");
+      CustomEventTarget.prototype = Object.create(EventTarget2.prototype, {
+        constructor: {
+          value: CustomEventTarget,
+          configurable: true,
+          writable: true
+        }
+      });
+      for (let i = 0; i < eventNames.length; ++i) {
+        defineEventAttribute(CustomEventTarget.prototype, eventNames[i]);
       }
-      if (version < "2020-02-10" && blobSASSignatureValues.permissions && (blobSASSignatureValues.permissions.move || blobSASSignatureValues.permissions.execute)) {
-        throw RangeError("'version' must be >= '2020-02-10' when providing the 'm' or 'e' permission.");
+      return CustomEventTarget;
+    }
+    function EventTarget2() {
+      if (this instanceof EventTarget2) {
+        listenersMap.set(this, /* @__PURE__ */ new Map());
+        return;
       }
-      if (version < "2021-04-10" && blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.filterByTags) {
-        throw RangeError("'version' must be >= '2021-04-10' when providing the 'f' permission.");
+      if (arguments.length === 1 && Array.isArray(arguments[0])) {
+        return defineCustomEventTarget(arguments[0]);
       }
-      if (version < "2020-02-10" && (blobSASSignatureValues.preauthorizedAgentObjectId || blobSASSignatureValues.correlationId)) {
-        throw RangeError("'version' must be >= '2020-02-10' when providing 'preauthorizedAgentObjectId' or 'correlationId'.");
+      if (arguments.length > 0) {
+        const types = new Array(arguments.length);
+        for (let i = 0; i < arguments.length; ++i) {
+          types[i] = arguments[i];
+        }
+        return defineCustomEventTarget(types);
       }
-      if (blobSASSignatureValues.encryptionScope && version < "2020-12-06") {
-        throw RangeError("'version' must be >= '2020-12-06' when provided 'encryptionScope' in SAS.");
+      throw new TypeError("Cannot call a class as a function");
+    }
+    EventTarget2.prototype = {
+      /**
+       * Add a given listener to this event target.
+       * @param {string} eventName The event name to add.
+       * @param {Function} listener The listener to add.
+       * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener.
+       * @returns {void}
+       */
+      addEventListener(eventName, listener, options) {
+        if (listener == null) {
+          return;
+        }
+        if (typeof listener !== "function" && !isObject2(listener)) {
+          throw new TypeError("'listener' should be a function or an object.");
+        }
+        const listeners = getListeners(this);
+        const optionsIsObj = isObject2(options);
+        const capture = optionsIsObj ? Boolean(options.capture) : Boolean(options);
+        const listenerType = capture ? CAPTURE : BUBBLE;
+        const newNode = {
+          listener,
+          listenerType,
+          passive: optionsIsObj && Boolean(options.passive),
+          once: optionsIsObj && Boolean(options.once),
+          next: null
+        };
+        let node = listeners.get(eventName);
+        if (node === void 0) {
+          listeners.set(eventName, newNode);
+          return;
+        }
+        let prev = null;
+        while (node != null) {
+          if (node.listener === listener && node.listenerType === listenerType) {
+            return;
+          }
+          prev = node;
+          node = node.next;
+        }
+        prev.next = newNode;
+      },
+      /**
+       * Remove a given listener from this event target.
+       * @param {string} eventName The event name to remove.
+       * @param {Function} listener The listener to remove.
+       * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener.
+       * @returns {void}
+       */
+      removeEventListener(eventName, listener, options) {
+        if (listener == null) {
+          return;
+        }
+        const listeners = getListeners(this);
+        const capture = isObject2(options) ? Boolean(options.capture) : Boolean(options);
+        const listenerType = capture ? CAPTURE : BUBBLE;
+        let prev = null;
+        let node = listeners.get(eventName);
+        while (node != null) {
+          if (node.listener === listener && node.listenerType === listenerType) {
+            if (prev !== null) {
+              prev.next = node.next;
+            } else if (node.next !== null) {
+              listeners.set(eventName, node.next);
+            } else {
+              listeners.delete(eventName);
+            }
+            return;
+          }
+          prev = node;
+          node = node.next;
+        }
+      },
+      /**
+       * Dispatch a given event.
+       * @param {Event|{type:string}} event The event to dispatch.
+       * @returns {boolean} `false` if canceled.
+       */
+      dispatchEvent(event) {
+        if (event == null || typeof event.type !== "string") {
+          throw new TypeError('"event.type" should be a string.');
+        }
+        const listeners = getListeners(this);
+        const eventName = event.type;
+        let node = listeners.get(eventName);
+        if (node == null) {
+          return true;
+        }
+        const wrappedEvent = wrapEvent(this, event);
+        let prev = null;
+        while (node != null) {
+          if (node.once) {
+            if (prev !== null) {
+              prev.next = node.next;
+            } else if (node.next !== null) {
+              listeners.set(eventName, node.next);
+            } else {
+              listeners.delete(eventName);
+            }
+          } else {
+            prev = node;
+          }
+          setPassiveListener(
+            wrappedEvent,
+            node.passive ? node.listener : null
+          );
+          if (typeof node.listener === "function") {
+            try {
+              node.listener.call(this, wrappedEvent);
+            } catch (err) {
+              if (typeof console !== "undefined" && typeof console.error === "function") {
+                console.error(err);
+              }
+            }
+          } else if (node.listenerType !== ATTRIBUTE && typeof node.listener.handleEvent === "function") {
+            node.listener.handleEvent(wrappedEvent);
+          }
+          if (isStopped(wrappedEvent)) {
+            break;
+          }
+          node = node.next;
+        }
+        setPassiveListener(wrappedEvent, null);
+        setEventPhase(wrappedEvent, 0);
+        setCurrentTarget(wrappedEvent, null);
+        return !wrappedEvent.defaultPrevented;
       }
-      blobSASSignatureValues.version = version;
-      return blobSASSignatureValues;
+    };
+    Object.defineProperty(EventTarget2.prototype, "constructor", {
+      value: EventTarget2,
+      configurable: true,
+      writable: true
+    });
+    if (typeof window !== "undefined" && typeof window.EventTarget !== "undefined") {
+      Object.setPrototypeOf(EventTarget2.prototype, window.EventTarget.prototype);
     }
+    exports2.defineEventAttribute = defineEventAttribute;
+    exports2.EventTarget = EventTarget2;
+    exports2.default = EventTarget2;
+    module2.exports = EventTarget2;
+    module2.exports.EventTarget = module2.exports["default"] = EventTarget2;
+    module2.exports.defineEventAttribute = defineEventAttribute;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/BlobLeaseClient.js
-var require_BlobLeaseClient = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BlobLeaseClient.js"(exports2) {
+// node_modules/abort-controller/dist/abort-controller.js
+var require_abort_controller = __commonJS({
+  "node_modules/abort-controller/dist/abort-controller.js"(exports2, module2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobLeaseClient = void 0;
-    var core_util_1 = require_commonjs6();
-    var constants_js_1 = require_constants14();
-    var tracing_js_1 = require_tracing();
-    var utils_common_js_1 = require_utils_common();
-    var BlobLeaseClient = class {
-      _leaseId;
-      _url;
-      _containerOrBlobOperation;
-      _isContainer;
-      /**
-       * Gets the lease Id.
-       *
-       * @readonly
-       */
-      get leaseId() {
-        return this._leaseId;
-      }
+    var eventTargetShim = require_event_target_shim();
+    var AbortSignal2 = class extends eventTargetShim.EventTarget {
       /**
-       * Gets the url.
-       *
-       * @readonly
+       * AbortSignal cannot be constructed directly.
        */
-      get url() {
-        return this._url;
+      constructor() {
+        super();
+        throw new TypeError("AbortSignal cannot be constructed directly");
       }
       /**
-       * Creates an instance of BlobLeaseClient.
-       * @param client - The client to make the lease operation requests.
-       * @param leaseId - Initial proposed lease id.
+       * Returns `true` if this `AbortSignal`'s `AbortController` has signaled to abort, and `false` otherwise.
        */
-      constructor(client, leaseId) {
-        const clientContext = client.storageClientContext;
-        this._url = client.url;
-        if (client.name === void 0) {
-          this._isContainer = true;
-          this._containerOrBlobOperation = clientContext.container;
-        } else {
-          this._isContainer = false;
-          this._containerOrBlobOperation = clientContext.blob;
-        }
-        if (!leaseId) {
-          leaseId = (0, core_util_1.randomUUID)();
+      get aborted() {
+        const aborted = abortedFlags.get(this);
+        if (typeof aborted !== "boolean") {
+          throw new TypeError(`Expected 'this' to be an 'AbortSignal' object, but got ${this === null ? "null" : typeof this}`);
         }
-        this._leaseId = leaseId;
+        return aborted;
       }
-      /**
-       * Establishes and manages a lock on a container for delete operations, or on a blob
-       * for write and delete operations.
-       * The lock duration can be 15 to 60 seconds, or can be infinite.
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
-       * and
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
-       *
-       * @param duration - Must be between 15 to 60 seconds, or infinite (-1)
-       * @param options - option to configure lease management operations.
-       * @returns Response data for acquire lease operation.
-       */
-      async acquireLease(duration, options = {}) {
-        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
-          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
-        }
-        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-acquireLease", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.acquireLease({
-            abortSignal: options.abortSignal,
-            duration,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            proposedLeaseId: this._leaseId,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+    };
+    eventTargetShim.defineEventAttribute(AbortSignal2.prototype, "abort");
+    function createAbortSignal() {
+      const signal = Object.create(AbortSignal2.prototype);
+      eventTargetShim.EventTarget.call(signal);
+      abortedFlags.set(signal, false);
+      return signal;
+    }
+    function abortSignal(signal) {
+      if (abortedFlags.get(signal) !== false) {
+        return;
       }
+      abortedFlags.set(signal, true);
+      signal.dispatchEvent({ type: "abort" });
+    }
+    var abortedFlags = /* @__PURE__ */ new WeakMap();
+    Object.defineProperties(AbortSignal2.prototype, {
+      aborted: { enumerable: true }
+    });
+    if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") {
+      Object.defineProperty(AbortSignal2.prototype, Symbol.toStringTag, {
+        configurable: true,
+        value: "AbortSignal"
+      });
+    }
+    var AbortController2 = class {
       /**
-       * To change the ID of the lease.
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
-       * and
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
-       *
-       * @param proposedLeaseId - the proposed new lease Id.
-       * @param options - option to configure lease management operations.
-       * @returns Response data for change lease operation.
+       * Initialize this controller.
        */
-      async changeLease(proposedLeaseId, options = {}) {
-        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
-          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
-        }
-        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-changeLease", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.changeLease(this._leaseId, proposedLeaseId, {
-            abortSignal: options.abortSignal,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          this._leaseId = proposedLeaseId;
-          return response;
-        });
+      constructor() {
+        signals.set(this, createAbortSignal());
       }
       /**
-       * To free the lease if it is no longer needed so that another client may
-       * immediately acquire a lease against the container or the blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
-       * and
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
-       *
-       * @param options - option to configure lease management operations.
-       * @returns Response data for release lease operation.
+       * Returns the `AbortSignal` object associated with this object.
        */
-      async releaseLease(options = {}) {
-        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
-          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
-        }
-        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-releaseLease", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.releaseLease(this._leaseId, {
-            abortSignal: options.abortSignal,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      get signal() {
+        return getSignal(this);
       }
       /**
-       * To renew the lease.
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
-       * and
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
-       *
-       * @param options - Optional option to configure lease management operations.
-       * @returns Response data for renew lease operation.
+       * Abort and signal to any observers that the associated activity is to be aborted.
        */
-      async renewLease(options = {}) {
-        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
-          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
+      abort() {
+        abortSignal(getSignal(this));
+      }
+    };
+    var signals = /* @__PURE__ */ new WeakMap();
+    function getSignal(controller) {
+      const signal = signals.get(controller);
+      if (signal == null) {
+        throw new TypeError(`Expected 'this' to be an 'AbortController' object, but got ${controller === null ? "null" : typeof controller}`);
+      }
+      return signal;
+    }
+    Object.defineProperties(AbortController2.prototype, {
+      signal: { enumerable: true },
+      abort: { enumerable: true }
+    });
+    if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") {
+      Object.defineProperty(AbortController2.prototype, Symbol.toStringTag, {
+        configurable: true,
+        value: "AbortController"
+      });
+    }
+    exports2.AbortController = AbortController2;
+    exports2.AbortSignal = AbortSignal2;
+    exports2.default = AbortController2;
+    module2.exports = AbortController2;
+    module2.exports.AbortController = module2.exports["default"] = AbortController2;
+    module2.exports.AbortSignal = AbortSignal2;
+  }
+});
+
+// node_modules/readable-stream/lib/ours/util.js
+var require_util20 = __commonJS({
+  "node_modules/readable-stream/lib/ours/util.js"(exports2, module2) {
+    "use strict";
+    var bufferModule = require("buffer");
+    var { kResistStopPropagation, SymbolDispose } = require_primordials();
+    var AbortSignal2 = globalThis.AbortSignal || require_abort_controller().AbortSignal;
+    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
+    var AsyncFunction = Object.getPrototypeOf(async function() {
+    }).constructor;
+    var Blob2 = globalThis.Blob || bufferModule.Blob;
+    var isBlob = typeof Blob2 !== "undefined" ? function isBlob2(b) {
+      return b instanceof Blob2;
+    } : function isBlob2(b) {
+      return false;
+    };
+    var validateAbortSignal = (signal, name) => {
+      if (signal !== void 0 && (signal === null || typeof signal !== "object" || !("aborted" in signal))) {
+        throw new ERR_INVALID_ARG_TYPE(name, "AbortSignal", signal);
+      }
+    };
+    var validateFunction = (value, name) => {
+      if (typeof value !== "function") throw new ERR_INVALID_ARG_TYPE(name, "Function", value);
+    };
+    var AggregateError = class extends Error {
+      constructor(errors) {
+        if (!Array.isArray(errors)) {
+          throw new TypeError(`Expected input to be an Array, got ${typeof errors}`);
         }
-        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-renewLease", options, async (updatedOptions) => {
-          return this._containerOrBlobOperation.renewLease(this._leaseId, {
-            abortSignal: options.abortSignal,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
+        let message = "";
+        for (let i = 0; i < errors.length; i++) {
+          message += `    ${errors[i].stack}
+`;
+        }
+        super(message);
+        this.name = "AggregateError";
+        this.errors = errors;
+      }
+    };
+    module2.exports = {
+      AggregateError,
+      kEmptyObject: Object.freeze({}),
+      once(callback) {
+        let called = false;
+        return function(...args) {
+          if (called) {
+            return;
+          }
+          called = true;
+          callback.apply(this, args);
+        };
+      },
+      createDeferredPromise: function() {
+        let resolve2;
+        let reject;
+        const promise = new Promise((res, rej) => {
+          resolve2 = res;
+          reject = rej;
+        });
+        return {
+          promise,
+          resolve: resolve2,
+          reject
+        };
+      },
+      promisify(fn) {
+        return new Promise((resolve2, reject) => {
+          fn((err, ...args) => {
+            if (err) {
+              return reject(err);
+            }
+            return resolve2(...args);
           });
         });
-      }
-      /**
-       * To end the lease but ensure that another client cannot acquire a new lease
-       * until the current lease period has expired.
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
-       * and
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
-       *
-       * @param breakPeriod - Break period
-       * @param options - Optional options to configure lease management operations.
-       * @returns Response data for break lease operation.
-       */
-      async breakLease(breakPeriod, options = {}) {
-        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
-          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
+      },
+      debuglog() {
+        return function() {
+        };
+      },
+      format(format, ...args) {
+        return format.replace(/%([sdifj])/g, function(...[_unused, type2]) {
+          const replacement = args.shift();
+          if (type2 === "f") {
+            return replacement.toFixed(6);
+          } else if (type2 === "j") {
+            return JSON.stringify(replacement);
+          } else if (type2 === "s" && typeof replacement === "object") {
+            const ctor = replacement.constructor !== Object ? replacement.constructor.name : "";
+            return `${ctor} {}`.trim();
+          } else {
+            return replacement.toString();
+          }
+        });
+      },
+      inspect(value) {
+        switch (typeof value) {
+          case "string":
+            if (value.includes("'")) {
+              if (!value.includes('"')) {
+                return `"${value}"`;
+              } else if (!value.includes("`") && !value.includes("${")) {
+                return `\`${value}\``;
+              }
+            }
+            return `'${value}'`;
+          case "number":
+            if (isNaN(value)) {
+              return "NaN";
+            } else if (Object.is(value, -0)) {
+              return String(value);
+            }
+            return value;
+          case "bigint":
+            return `${String(value)}n`;
+          case "boolean":
+          case "undefined":
+            return String(value);
+          case "object":
+            return "{}";
         }
-        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-breakLease", options, async (updatedOptions) => {
-          const operationOptions = {
-            abortSignal: options.abortSignal,
-            breakPeriod,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
+      },
+      types: {
+        isAsyncFunction(fn) {
+          return fn instanceof AsyncFunction;
+        },
+        isArrayBufferView(arr) {
+          return ArrayBuffer.isView(arr);
+        }
+      },
+      isBlob,
+      deprecate(fn, message) {
+        return fn;
+      },
+      addAbortListener: require("events").addAbortListener || function addAbortListener(signal, listener) {
+        if (signal === void 0) {
+          throw new ERR_INVALID_ARG_TYPE("signal", "AbortSignal", signal);
+        }
+        validateAbortSignal(signal, "signal");
+        validateFunction(listener, "listener");
+        let removeEventListener;
+        if (signal.aborted) {
+          queueMicrotask(() => listener());
+        } else {
+          signal.addEventListener("abort", listener, {
+            __proto__: null,
+            once: true,
+            [kResistStopPropagation]: true
+          });
+          removeEventListener = () => {
+            signal.removeEventListener("abort", listener);
           };
-          return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.breakLease(operationOptions));
+        }
+        return {
+          __proto__: null,
+          [SymbolDispose]() {
+            var _removeEventListener;
+            (_removeEventListener = removeEventListener) === null || _removeEventListener === void 0 ? void 0 : _removeEventListener();
+          }
+        };
+      },
+      AbortSignalAny: AbortSignal2.any || function AbortSignalAny(signals) {
+        if (signals.length === 1) {
+          return signals[0];
+        }
+        const ac = new AbortController2();
+        const abort = () => ac.abort();
+        signals.forEach((signal) => {
+          validateAbortSignal(signal, "signals");
+          signal.addEventListener("abort", abort, {
+            once: true
+          });
         });
+        ac.signal.addEventListener(
+          "abort",
+          () => {
+            signals.forEach((signal) => signal.removeEventListener("abort", abort));
+          },
+          {
+            once: true
+          }
+        );
+        return ac.signal;
       }
     };
-    exports2.BlobLeaseClient = BlobLeaseClient;
+    module2.exports.promisify.custom = /* @__PURE__ */ Symbol.for("nodejs.util.promisify.custom");
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/utils/RetriableReadableStream.js
-var require_RetriableReadableStream = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/RetriableReadableStream.js"(exports2) {
+// node_modules/readable-stream/lib/ours/errors.js
+var require_errors4 = __commonJS({
+  "node_modules/readable-stream/lib/ours/errors.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.RetriableReadableStream = void 0;
-    var abort_controller_1 = require_commonjs13();
-    var node_stream_1 = require("node:stream");
-    var RetriableReadableStream = class extends node_stream_1.Readable {
-      start;
-      offset;
-      end;
-      getter;
-      source;
-      retries = 0;
-      maxRetryRequests;
-      onProgress;
-      options;
-      /**
-       * Creates an instance of RetriableReadableStream.
-       *
-       * @param source - The current ReadableStream returned from getter
-       * @param getter - A method calling downloading request returning
-       *                                      a new ReadableStream from specified offset
-       * @param offset - Offset position in original data source to read
-       * @param count - How much data in original data source to read
-       * @param options -
-       */
-      constructor(source, getter, offset, count, options = {}) {
-        super({ highWaterMark: options.highWaterMark });
-        this.getter = getter;
-        this.source = source;
-        this.start = offset;
-        this.offset = offset;
-        this.end = offset + count - 1;
-        this.maxRetryRequests = options.maxRetryRequests && options.maxRetryRequests >= 0 ? options.maxRetryRequests : 0;
-        this.onProgress = options.onProgress;
-        this.options = options;
-        this.setSourceEventHandlers();
+    var { format, inspect, AggregateError: CustomAggregateError } = require_util20();
+    var AggregateError = globalThis.AggregateError || CustomAggregateError;
+    var kIsNodeError = /* @__PURE__ */ Symbol("kIsNodeError");
+    var kTypes = [
+      "string",
+      "function",
+      "number",
+      "object",
+      // Accept 'Function' and 'Object' as alternative to the lower cased version.
+      "Function",
+      "Object",
+      "boolean",
+      "bigint",
+      "symbol"
+    ];
+    var classRegExp = /^([A-Z][a-z0-9]*)+$/;
+    var nodeInternalPrefix = "__node_internal_";
+    var codes = {};
+    function assert(value, message) {
+      if (!value) {
+        throw new codes.ERR_INTERNAL_ASSERTION(message);
       }
-      _read() {
-        this.source.resume();
+    }
+    function addNumericalSeparator(val) {
+      let res = "";
+      let i = val.length;
+      const start = val[0] === "-" ? 1 : 0;
+      for (; i >= start + 4; i -= 3) {
+        res = `_${val.slice(i - 3, i)}${res}`;
       }
-      setSourceEventHandlers() {
-        this.source.on("data", this.sourceDataHandler);
-        this.source.on("end", this.sourceErrorOrEndHandler);
-        this.source.on("error", this.sourceErrorOrEndHandler);
-        this.source.on("aborted", this.sourceAbortedHandler);
+      return `${val.slice(0, i)}${res}`;
+    }
+    function getMessage(key, msg, args) {
+      if (typeof msg === "function") {
+        assert(
+          msg.length <= args.length,
+          // Default options do not count.
+          `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${msg.length}).`
+        );
+        return msg(...args);
       }
-      removeSourceEventHandlers() {
-        this.source.removeListener("data", this.sourceDataHandler);
-        this.source.removeListener("end", this.sourceErrorOrEndHandler);
-        this.source.removeListener("error", this.sourceErrorOrEndHandler);
-        this.source.removeListener("aborted", this.sourceAbortedHandler);
+      const expectedLength = (msg.match(/%[dfijoOs]/g) || []).length;
+      assert(
+        expectedLength === args.length,
+        `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${expectedLength}).`
+      );
+      if (args.length === 0) {
+        return msg;
       }
-      sourceDataHandler = (data) => {
-        if (this.options.doInjectErrorOnce) {
-          this.options.doInjectErrorOnce = void 0;
-          this.source.pause();
-          this.sourceErrorOrEndHandler();
-          this.source.destroy();
-          return;
+      return format(msg, ...args);
+    }
+    function E(code, message, Base) {
+      if (!Base) {
+        Base = Error;
+      }
+      class NodeError extends Base {
+        constructor(...args) {
+          super(getMessage(code, message, args));
         }
-        this.offset += data.length;
-        if (this.onProgress) {
-          this.onProgress({ loadedBytes: this.offset - this.start });
+        toString() {
+          return `${this.name} [${code}]: ${this.message}`;
         }
-        if (!this.push(data)) {
-          this.source.pause();
+      }
+      Object.defineProperties(NodeError.prototype, {
+        name: {
+          value: Base.name,
+          writable: true,
+          enumerable: false,
+          configurable: true
+        },
+        toString: {
+          value() {
+            return `${this.name} [${code}]: ${this.message}`;
+          },
+          writable: true,
+          enumerable: false,
+          configurable: true
         }
-      };
-      sourceAbortedHandler = () => {
-        const abortError = new abort_controller_1.AbortError("The operation was aborted.");
-        this.destroy(abortError);
-      };
-      sourceErrorOrEndHandler = (err) => {
-        if (err && err.name === "AbortError") {
-          this.destroy(err);
-          return;
+      });
+      NodeError.prototype.code = code;
+      NodeError.prototype[kIsNodeError] = true;
+      codes[code] = NodeError;
+    }
+    function hideStackFrames(fn) {
+      const hidden = nodeInternalPrefix + fn.name;
+      Object.defineProperty(fn, "name", {
+        value: hidden
+      });
+      return fn;
+    }
+    function aggregateTwoErrors(innerError, outerError) {
+      if (innerError && outerError && innerError !== outerError) {
+        if (Array.isArray(outerError.errors)) {
+          outerError.errors.push(innerError);
+          return outerError;
         }
-        this.removeSourceEventHandlers();
-        if (this.offset - 1 === this.end) {
-          this.push(null);
-        } else if (this.offset <= this.end) {
-          if (this.retries < this.maxRetryRequests) {
-            this.retries += 1;
-            this.getter(this.offset).then((newSource) => {
-              this.source = newSource;
-              this.setSourceEventHandlers();
-              return;
-            }).catch((error3) => {
-              this.destroy(error3);
-            });
+        const err = new AggregateError([outerError, innerError], outerError.message);
+        err.code = outerError.code;
+        return err;
+      }
+      return innerError || outerError;
+    }
+    var AbortError = class extends Error {
+      constructor(message = "The operation was aborted", options = void 0) {
+        if (options !== void 0 && typeof options !== "object") {
+          throw new codes.ERR_INVALID_ARG_TYPE("options", "Object", options);
+        }
+        super(message, options);
+        this.code = "ABORT_ERR";
+        this.name = "AbortError";
+      }
+    };
+    E("ERR_ASSERTION", "%s", Error);
+    E(
+      "ERR_INVALID_ARG_TYPE",
+      (name, expected, actual) => {
+        assert(typeof name === "string", "'name' must be a string");
+        if (!Array.isArray(expected)) {
+          expected = [expected];
+        }
+        let msg = "The ";
+        if (name.endsWith(" argument")) {
+          msg += `${name} `;
+        } else {
+          msg += `"${name}" ${name.includes(".") ? "property" : "argument"} `;
+        }
+        msg += "must be ";
+        const types = [];
+        const instances = [];
+        const other = [];
+        for (const value of expected) {
+          assert(typeof value === "string", "All expected entries have to be of type string");
+          if (kTypes.includes(value)) {
+            types.push(value.toLowerCase());
+          } else if (classRegExp.test(value)) {
+            instances.push(value);
           } else {
-            this.destroy(new Error(`Data corruption failure: received less data than required and reached maxRetires limitation. Received data offset: ${this.offset - 1}, data needed offset: ${this.end}, retries: ${this.retries}, max retries: ${this.maxRetryRequests}`));
+            assert(value !== "object", 'The value "object" should be written as "Object"');
+            other.push(value);
+          }
+        }
+        if (instances.length > 0) {
+          const pos = types.indexOf("object");
+          if (pos !== -1) {
+            types.splice(types, pos, 1);
+            instances.push("Object");
+          }
+        }
+        if (types.length > 0) {
+          switch (types.length) {
+            case 1:
+              msg += `of type ${types[0]}`;
+              break;
+            case 2:
+              msg += `one of type ${types[0]} or ${types[1]}`;
+              break;
+            default: {
+              const last = types.pop();
+              msg += `one of type ${types.join(", ")}, or ${last}`;
+            }
+          }
+          if (instances.length > 0 || other.length > 0) {
+            msg += " or ";
+          }
+        }
+        if (instances.length > 0) {
+          switch (instances.length) {
+            case 1:
+              msg += `an instance of ${instances[0]}`;
+              break;
+            case 2:
+              msg += `an instance of ${instances[0]} or ${instances[1]}`;
+              break;
+            default: {
+              const last = instances.pop();
+              msg += `an instance of ${instances.join(", ")}, or ${last}`;
+            }
+          }
+          if (other.length > 0) {
+            msg += " or ";
+          }
+        }
+        switch (other.length) {
+          case 0:
+            break;
+          case 1:
+            if (other[0].toLowerCase() !== other[0]) {
+              msg += "an ";
+            }
+            msg += `${other[0]}`;
+            break;
+          case 2:
+            msg += `one of ${other[0]} or ${other[1]}`;
+            break;
+          default: {
+            const last = other.pop();
+            msg += `one of ${other.join(", ")}, or ${last}`;
+          }
+        }
+        if (actual == null) {
+          msg += `. Received ${actual}`;
+        } else if (typeof actual === "function" && actual.name) {
+          msg += `. Received function ${actual.name}`;
+        } else if (typeof actual === "object") {
+          var _actual$constructor;
+          if ((_actual$constructor = actual.constructor) !== null && _actual$constructor !== void 0 && _actual$constructor.name) {
+            msg += `. Received an instance of ${actual.constructor.name}`;
+          } else {
+            const inspected = inspect(actual, {
+              depth: -1
+            });
+            msg += `. Received ${inspected}`;
           }
         } else {
-          this.destroy(new Error(`Data corruption failure: Received more data than original request, data needed offset is ${this.end}, received offset: ${this.offset - 1}`));
+          let inspected = inspect(actual, {
+            colors: false
+          });
+          if (inspected.length > 25) {
+            inspected = `${inspected.slice(0, 25)}...`;
+          }
+          msg += `. Received type ${typeof actual} (${inspected})`;
         }
-      };
-      _destroy(error3, callback) {
-        this.removeSourceEventHandlers();
-        this.source.destroy();
-        callback(error3 === null ? void 0 : error3);
-      }
+        return msg;
+      },
+      TypeError
+    );
+    E(
+      "ERR_INVALID_ARG_VALUE",
+      (name, value, reason = "is invalid") => {
+        let inspected = inspect(value);
+        if (inspected.length > 128) {
+          inspected = inspected.slice(0, 128) + "...";
+        }
+        const type2 = name.includes(".") ? "property" : "argument";
+        return `The ${type2} '${name}' ${reason}. Received ${inspected}`;
+      },
+      TypeError
+    );
+    E(
+      "ERR_INVALID_RETURN_VALUE",
+      (input, name, value) => {
+        var _value$constructor;
+        const type2 = value !== null && value !== void 0 && (_value$constructor = value.constructor) !== null && _value$constructor !== void 0 && _value$constructor.name ? `instance of ${value.constructor.name}` : `type ${typeof value}`;
+        return `Expected ${input} to be returned from the "${name}" function but got ${type2}.`;
+      },
+      TypeError
+    );
+    E(
+      "ERR_MISSING_ARGS",
+      (...args) => {
+        assert(args.length > 0, "At least one arg needs to be specified");
+        let msg;
+        const len = args.length;
+        args = (Array.isArray(args) ? args : [args]).map((a) => `"${a}"`).join(" or ");
+        switch (len) {
+          case 1:
+            msg += `The ${args[0]} argument`;
+            break;
+          case 2:
+            msg += `The ${args[0]} and ${args[1]} arguments`;
+            break;
+          default:
+            {
+              const last = args.pop();
+              msg += `The ${args.join(", ")}, and ${last} arguments`;
+            }
+            break;
+        }
+        return `${msg} must be specified`;
+      },
+      TypeError
+    );
+    E(
+      "ERR_OUT_OF_RANGE",
+      (str2, range, input) => {
+        assert(range, 'Missing "range" argument');
+        let received;
+        if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {
+          received = addNumericalSeparator(String(input));
+        } else if (typeof input === "bigint") {
+          received = String(input);
+          if (input > 2n ** 32n || input < -(2n ** 32n)) {
+            received = addNumericalSeparator(received);
+          }
+          received += "n";
+        } else {
+          received = inspect(input);
+        }
+        return `The value of "${str2}" is out of range. It must be ${range}. Received ${received}`;
+      },
+      RangeError
+    );
+    E("ERR_MULTIPLE_CALLBACK", "Callback called multiple times", Error);
+    E("ERR_METHOD_NOT_IMPLEMENTED", "The %s method is not implemented", Error);
+    E("ERR_STREAM_ALREADY_FINISHED", "Cannot call %s after a stream was finished", Error);
+    E("ERR_STREAM_CANNOT_PIPE", "Cannot pipe, not readable", Error);
+    E("ERR_STREAM_DESTROYED", "Cannot call %s after a stream was destroyed", Error);
+    E("ERR_STREAM_NULL_VALUES", "May not write null values to stream", TypeError);
+    E("ERR_STREAM_PREMATURE_CLOSE", "Premature close", Error);
+    E("ERR_STREAM_PUSH_AFTER_EOF", "stream.push() after EOF", Error);
+    E("ERR_STREAM_UNSHIFT_AFTER_END_EVENT", "stream.unshift() after end event", Error);
+    E("ERR_STREAM_WRITE_AFTER_END", "write after end", Error);
+    E("ERR_UNKNOWN_ENCODING", "Unknown encoding: %s", TypeError);
+    module2.exports = {
+      AbortError,
+      aggregateTwoErrors: hideStackFrames(aggregateTwoErrors),
+      hideStackFrames,
+      codes
     };
-    exports2.RetriableReadableStream = RetriableReadableStream;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/BlobDownloadResponse.js
-var require_BlobDownloadResponse = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BlobDownloadResponse.js"(exports2) {
+// node_modules/readable-stream/lib/internal/validators.js
+var require_validators = __commonJS({
+  "node_modules/readable-stream/lib/internal/validators.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobDownloadResponse = void 0;
-    var core_util_1 = require_commonjs6();
-    var RetriableReadableStream_js_1 = require_RetriableReadableStream();
-    var BlobDownloadResponse = class {
-      /**
-       * Indicates that the service supports
-       * requests for partial file content.
-       *
-       * @readonly
-       */
-      get acceptRanges() {
-        return this.originalResponse.acceptRanges;
+    var {
+      ArrayIsArray,
+      ArrayPrototypeIncludes,
+      ArrayPrototypeJoin,
+      ArrayPrototypeMap,
+      NumberIsInteger,
+      NumberIsNaN,
+      NumberMAX_SAFE_INTEGER,
+      NumberMIN_SAFE_INTEGER,
+      NumberParseInt,
+      ObjectPrototypeHasOwnProperty,
+      RegExpPrototypeExec,
+      String: String2,
+      StringPrototypeToUpperCase,
+      StringPrototypeTrim
+    } = require_primordials();
+    var {
+      hideStackFrames,
+      codes: { ERR_SOCKET_BAD_PORT, ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_ARG_VALUE, ERR_OUT_OF_RANGE, ERR_UNKNOWN_SIGNAL }
+    } = require_errors4();
+    var { normalizeEncoding } = require_util20();
+    var { isAsyncFunction, isArrayBufferView } = require_util20().types;
+    var signals = {};
+    function isInt32(value) {
+      return value === (value | 0);
+    }
+    function isUint32(value) {
+      return value === value >>> 0;
+    }
+    var octalReg = /^[0-7]+$/;
+    var modeDesc = "must be a 32-bit unsigned integer or an octal string";
+    function parseFileMode(value, name, def) {
+      if (typeof value === "undefined") {
+        value = def;
       }
-      /**
-       * Returns if it was previously specified
-       * for the file.
-       *
-       * @readonly
-       */
-      get cacheControl() {
-        return this.originalResponse.cacheControl;
+      if (typeof value === "string") {
+        if (RegExpPrototypeExec(octalReg, value) === null) {
+          throw new ERR_INVALID_ARG_VALUE(name, value, modeDesc);
+        }
+        value = NumberParseInt(value, 8);
       }
-      /**
-       * Returns the value that was specified
-       * for the 'x-ms-content-disposition' header and specifies how to process the
-       * response.
-       *
-       * @readonly
-       */
-      get contentDisposition() {
-        return this.originalResponse.contentDisposition;
+      validateUint32(value, name);
+      return value;
+    }
+    var validateInteger = hideStackFrames((value, name, min = NumberMIN_SAFE_INTEGER, max = NumberMAX_SAFE_INTEGER) => {
+      if (typeof value !== "number") throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
+      if (!NumberIsInteger(value)) throw new ERR_OUT_OF_RANGE(name, "an integer", value);
+      if (value < min || value > max) throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
+    });
+    var validateInt32 = hideStackFrames((value, name, min = -2147483648, max = 2147483647) => {
+      if (typeof value !== "number") {
+        throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
       }
-      /**
-       * Returns the value that was specified
-       * for the Content-Encoding request header.
-       *
-       * @readonly
-       */
-      get contentEncoding() {
-        return this.originalResponse.contentEncoding;
+      if (!NumberIsInteger(value)) {
+        throw new ERR_OUT_OF_RANGE(name, "an integer", value);
       }
-      /**
-       * Returns the value that was specified
-       * for the Content-Language request header.
-       *
-       * @readonly
-       */
-      get contentLanguage() {
-        return this.originalResponse.contentLanguage;
+      if (value < min || value > max) {
+        throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
       }
-      /**
-       * The current sequence number for a
-       * page blob. This header is not returned for block blobs or append blobs.
-       *
-       * @readonly
-       */
-      get blobSequenceNumber() {
-        return this.originalResponse.blobSequenceNumber;
+    });
+    var validateUint32 = hideStackFrames((value, name, positive = false) => {
+      if (typeof value !== "number") {
+        throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
       }
-      /**
-       * The blob's type. Possible values include:
-       * 'BlockBlob', 'PageBlob', 'AppendBlob'.
-       *
-       * @readonly
-       */
-      get blobType() {
-        return this.originalResponse.blobType;
+      if (!NumberIsInteger(value)) {
+        throw new ERR_OUT_OF_RANGE(name, "an integer", value);
       }
-      /**
-       * The number of bytes present in the
-       * response body.
-       *
-       * @readonly
-       */
-      get contentLength() {
-        return this.originalResponse.contentLength;
+      const min = positive ? 1 : 0;
+      const max = 4294967295;
+      if (value < min || value > max) {
+        throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
       }
-      /**
-       * If the file has an MD5 hash and the
-       * request is to read the full file, this response header is returned so that
-       * the client can check for message content integrity. If the request is to
-       * read a specified range and the 'x-ms-range-get-content-md5' is set to
-       * true, then the request returns an MD5 hash for the range, as long as the
-       * range size is less than or equal to 4 MB. If neither of these sets of
-       * conditions is true, then no value is returned for the 'Content-MD5'
-       * header.
-       *
-       * @readonly
-       */
-      get contentMD5() {
-        return this.originalResponse.contentMD5;
+    });
+    function validateString(value, name) {
+      if (typeof value !== "string") throw new ERR_INVALID_ARG_TYPE2(name, "string", value);
+    }
+    function validateNumber(value, name, min = void 0, max) {
+      if (typeof value !== "number") throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
+      if (min != null && value < min || max != null && value > max || (min != null || max != null) && NumberIsNaN(value)) {
+        throw new ERR_OUT_OF_RANGE(
+          name,
+          `${min != null ? `>= ${min}` : ""}${min != null && max != null ? " && " : ""}${max != null ? `<= ${max}` : ""}`,
+          value
+        );
       }
-      /**
-       * Indicates the range of bytes returned if
-       * the client requested a subset of the file by setting the Range request
-       * header.
-       *
-       * @readonly
-       */
-      get contentRange() {
-        return this.originalResponse.contentRange;
+    }
+    var validateOneOf = hideStackFrames((value, name, oneOf) => {
+      if (!ArrayPrototypeIncludes(oneOf, value)) {
+        const allowed = ArrayPrototypeJoin(
+          ArrayPrototypeMap(oneOf, (v) => typeof v === "string" ? `'${v}'` : String2(v)),
+          ", "
+        );
+        const reason = "must be one of: " + allowed;
+        throw new ERR_INVALID_ARG_VALUE(name, value, reason);
       }
-      /**
-       * The content type specified for the file.
-       * The default content type is 'application/octet-stream'
-       *
-       * @readonly
-       */
-      get contentType() {
-        return this.originalResponse.contentType;
+    });
+    function validateBoolean(value, name) {
+      if (typeof value !== "boolean") throw new ERR_INVALID_ARG_TYPE2(name, "boolean", value);
+    }
+    function getOwnPropertyValueOrDefault(options, key, defaultValue) {
+      return options == null || !ObjectPrototypeHasOwnProperty(options, key) ? defaultValue : options[key];
+    }
+    var validateObject = hideStackFrames((value, name, options = null) => {
+      const allowArray = getOwnPropertyValueOrDefault(options, "allowArray", false);
+      const allowFunction = getOwnPropertyValueOrDefault(options, "allowFunction", false);
+      const nullable = getOwnPropertyValueOrDefault(options, "nullable", false);
+      if (!nullable && value === null || !allowArray && ArrayIsArray(value) || typeof value !== "object" && (!allowFunction || typeof value !== "function")) {
+        throw new ERR_INVALID_ARG_TYPE2(name, "Object", value);
       }
-      /**
-       * Conclusion time of the last attempted
-       * Copy File operation where this file was the destination file. This value
-       * can specify the time of a completed, aborted, or failed copy attempt.
-       *
-       * @readonly
-       */
-      get copyCompletedOn() {
-        return this.originalResponse.copyCompletedOn;
+    });
+    var validateDictionary = hideStackFrames((value, name) => {
+      if (value != null && typeof value !== "object" && typeof value !== "function") {
+        throw new ERR_INVALID_ARG_TYPE2(name, "a dictionary", value);
       }
-      /**
-       * String identifier for the last attempted Copy
-       * File operation where this file was the destination file.
-       *
-       * @readonly
-       */
-      get copyId() {
-        return this.originalResponse.copyId;
+    });
+    var validateArray = hideStackFrames((value, name, minLength = 0) => {
+      if (!ArrayIsArray(value)) {
+        throw new ERR_INVALID_ARG_TYPE2(name, "Array", value);
       }
-      /**
-       * Contains the number of bytes copied and
-       * the total bytes in the source in the last attempted Copy File operation
-       * where this file was the destination file. Can show between 0 and
-       * Content-Length bytes copied.
-       *
-       * @readonly
-       */
-      get copyProgress() {
-        return this.originalResponse.copyProgress;
+      if (value.length < minLength) {
+        const reason = `must be longer than ${minLength}`;
+        throw new ERR_INVALID_ARG_VALUE(name, value, reason);
       }
-      /**
-       * URL up to 2KB in length that specifies the
-       * source file used in the last attempted Copy File operation where this file
-       * was the destination file.
-       *
-       * @readonly
-       */
-      get copySource() {
-        return this.originalResponse.copySource;
+    });
+    function validateStringArray(value, name) {
+      validateArray(value, name);
+      for (let i = 0; i < value.length; i++) {
+        validateString(value[i], `${name}[${i}]`);
       }
-      /**
-       * State of the copy operation
-       * identified by 'x-ms-copy-id'. Possible values include: 'pending',
-       * 'success', 'aborted', 'failed'
-       *
-       * @readonly
-       */
-      get copyStatus() {
-        return this.originalResponse.copyStatus;
+    }
+    function validateBooleanArray(value, name) {
+      validateArray(value, name);
+      for (let i = 0; i < value.length; i++) {
+        validateBoolean(value[i], `${name}[${i}]`);
       }
-      /**
-       * Only appears when
-       * x-ms-copy-status is failed or pending. Describes cause of fatal or
-       * non-fatal copy operation failure.
-       *
-       * @readonly
-       */
-      get copyStatusDescription() {
-        return this.originalResponse.copyStatusDescription;
+    }
+    function validateAbortSignalArray(value, name) {
+      validateArray(value, name);
+      for (let i = 0; i < value.length; i++) {
+        const signal = value[i];
+        const indexedName = `${name}[${i}]`;
+        if (signal == null) {
+          throw new ERR_INVALID_ARG_TYPE2(indexedName, "AbortSignal", signal);
+        }
+        validateAbortSignal(signal, indexedName);
       }
-      /**
-       * When a blob is leased,
-       * specifies whether the lease is of infinite or fixed duration. Possible
-       * values include: 'infinite', 'fixed'.
-       *
-       * @readonly
-       */
-      get leaseDuration() {
-        return this.originalResponse.leaseDuration;
+    }
+    function validateSignalName(signal, name = "signal") {
+      validateString(signal, name);
+      if (signals[signal] === void 0) {
+        if (signals[StringPrototypeToUpperCase(signal)] !== void 0) {
+          throw new ERR_UNKNOWN_SIGNAL(signal + " (signals must use all capital letters)");
+        }
+        throw new ERR_UNKNOWN_SIGNAL(signal);
       }
-      /**
-       * Lease state of the blob. Possible
-       * values include: 'available', 'leased', 'expired', 'breaking', 'broken'.
-       *
-       * @readonly
-       */
-      get leaseState() {
-        return this.originalResponse.leaseState;
+    }
+    var validateBuffer = hideStackFrames((buffer, name = "buffer") => {
+      if (!isArrayBufferView(buffer)) {
+        throw new ERR_INVALID_ARG_TYPE2(name, ["Buffer", "TypedArray", "DataView"], buffer);
       }
-      /**
-       * The current lease status of the
-       * blob. Possible values include: 'locked', 'unlocked'.
-       *
-       * @readonly
-       */
-      get leaseStatus() {
-        return this.originalResponse.leaseStatus;
+    });
+    function validateEncoding(data, encoding) {
+      const normalizedEncoding = normalizeEncoding(encoding);
+      const length = data.length;
+      if (normalizedEncoding === "hex" && length % 2 !== 0) {
+        throw new ERR_INVALID_ARG_VALUE("encoding", encoding, `is invalid for data of length ${length}`);
       }
-      /**
-       * A UTC date/time value generated by the service that
-       * indicates the time at which the response was initiated.
-       *
-       * @readonly
-       */
-      get date() {
-        return this.originalResponse.date;
+    }
+    function validatePort(port, name = "Port", allowZero = true) {
+      if (typeof port !== "number" && typeof port !== "string" || typeof port === "string" && StringPrototypeTrim(port).length === 0 || +port !== +port >>> 0 || port > 65535 || port === 0 && !allowZero) {
+        throw new ERR_SOCKET_BAD_PORT(name, port, allowZero);
       }
-      /**
-       * The number of committed blocks
-       * present in the blob. This header is returned only for append blobs.
-       *
-       * @readonly
-       */
-      get blobCommittedBlockCount() {
-        return this.originalResponse.blobCommittedBlockCount;
+      return port | 0;
+    }
+    var validateAbortSignal = hideStackFrames((signal, name) => {
+      if (signal !== void 0 && (signal === null || typeof signal !== "object" || !("aborted" in signal))) {
+        throw new ERR_INVALID_ARG_TYPE2(name, "AbortSignal", signal);
       }
-      /**
-       * The ETag contains a value that you can use to
-       * perform operations conditionally, in quotes.
-       *
-       * @readonly
-       */
-      get etag() {
-        return this.originalResponse.etag;
+    });
+    var validateFunction = hideStackFrames((value, name) => {
+      if (typeof value !== "function") throw new ERR_INVALID_ARG_TYPE2(name, "Function", value);
+    });
+    var validatePlainFunction = hideStackFrames((value, name) => {
+      if (typeof value !== "function" || isAsyncFunction(value)) throw new ERR_INVALID_ARG_TYPE2(name, "Function", value);
+    });
+    var validateUndefined = hideStackFrames((value, name) => {
+      if (value !== void 0) throw new ERR_INVALID_ARG_TYPE2(name, "undefined", value);
+    });
+    function validateUnion(value, name, union) {
+      if (!ArrayPrototypeIncludes(union, value)) {
+        throw new ERR_INVALID_ARG_TYPE2(name, `('${ArrayPrototypeJoin(union, "|")}')`, value);
       }
-      /**
-       * The number of tags associated with the blob
-       *
-       * @readonly
-       */
-      get tagCount() {
-        return this.originalResponse.tagCount;
+    }
+    var linkValueRegExp = /^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/;
+    function validateLinkHeaderFormat(value, name) {
+      if (typeof value === "undefined" || !RegExpPrototypeExec(linkValueRegExp, value)) {
+        throw new ERR_INVALID_ARG_VALUE(
+          name,
+          value,
+          'must be an array or string of format "; rel=preload; as=style"'
+        );
       }
-      /**
-       * The error code.
-       *
-       * @readonly
-       */
-      get errorCode() {
-        return this.originalResponse.errorCode;
+    }
+    function validateLinkHeaderValue(hints) {
+      if (typeof hints === "string") {
+        validateLinkHeaderFormat(hints, "hints");
+        return hints;
+      } else if (ArrayIsArray(hints)) {
+        const hintsLength = hints.length;
+        let result = "";
+        if (hintsLength === 0) {
+          return result;
+        }
+        for (let i = 0; i < hintsLength; i++) {
+          const link = hints[i];
+          validateLinkHeaderFormat(link, "hints");
+          result += link;
+          if (i !== hintsLength - 1) {
+            result += ", ";
+          }
+        }
+        return result;
       }
-      /**
-       * The value of this header is set to
-       * true if the file data and application metadata are completely encrypted
-       * using the specified algorithm. Otherwise, the value is set to false (when
-       * the file is unencrypted, or if only parts of the file/application metadata
-       * are encrypted).
-       *
-       * @readonly
-       */
-      get isServerEncrypted() {
-        return this.originalResponse.isServerEncrypted;
+      throw new ERR_INVALID_ARG_VALUE(
+        "hints",
+        hints,
+        'must be an array or string of format "; rel=preload; as=style"'
+      );
+    }
+    module2.exports = {
+      isInt32,
+      isUint32,
+      parseFileMode,
+      validateArray,
+      validateStringArray,
+      validateBooleanArray,
+      validateAbortSignalArray,
+      validateBoolean,
+      validateBuffer,
+      validateDictionary,
+      validateEncoding,
+      validateFunction,
+      validateInt32,
+      validateInteger,
+      validateNumber,
+      validateObject,
+      validateOneOf,
+      validatePlainFunction,
+      validatePort,
+      validateSignalName,
+      validateString,
+      validateUint32,
+      validateUndefined,
+      validateUnion,
+      validateAbortSignal,
+      validateLinkHeaderValue
+    };
+  }
+});
+
+// node_modules/process/index.js
+var require_process = __commonJS({
+  "node_modules/process/index.js"(exports2, module2) {
+    module2.exports = global.process;
+  }
+});
+
+// node_modules/readable-stream/lib/internal/streams/utils.js
+var require_utils8 = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/utils.js"(exports2, module2) {
+    "use strict";
+    var { SymbolAsyncIterator, SymbolIterator, SymbolFor } = require_primordials();
+    var kIsDestroyed = SymbolFor("nodejs.stream.destroyed");
+    var kIsErrored = SymbolFor("nodejs.stream.errored");
+    var kIsReadable = SymbolFor("nodejs.stream.readable");
+    var kIsWritable = SymbolFor("nodejs.stream.writable");
+    var kIsDisturbed = SymbolFor("nodejs.stream.disturbed");
+    var kIsClosedPromise = SymbolFor("nodejs.webstream.isClosedPromise");
+    var kControllerErrorFunction = SymbolFor("nodejs.webstream.controllerErrorFunction");
+    function isReadableNodeStream(obj, strict = false) {
+      var _obj$_readableState;
+      return !!(obj && typeof obj.pipe === "function" && typeof obj.on === "function" && (!strict || typeof obj.pause === "function" && typeof obj.resume === "function") && (!obj._writableState || ((_obj$_readableState = obj._readableState) === null || _obj$_readableState === void 0 ? void 0 : _obj$_readableState.readable) !== false) && // Duplex
+      (!obj._writableState || obj._readableState));
+    }
+    function isWritableNodeStream(obj) {
+      var _obj$_writableState;
+      return !!(obj && typeof obj.write === "function" && typeof obj.on === "function" && (!obj._readableState || ((_obj$_writableState = obj._writableState) === null || _obj$_writableState === void 0 ? void 0 : _obj$_writableState.writable) !== false));
+    }
+    function isDuplexNodeStream(obj) {
+      return !!(obj && typeof obj.pipe === "function" && obj._readableState && typeof obj.on === "function" && typeof obj.write === "function");
+    }
+    function isNodeStream(obj) {
+      return obj && (obj._readableState || obj._writableState || typeof obj.write === "function" && typeof obj.on === "function" || typeof obj.pipe === "function" && typeof obj.on === "function");
+    }
+    function isReadableStream(obj) {
+      return !!(obj && !isNodeStream(obj) && typeof obj.pipeThrough === "function" && typeof obj.getReader === "function" && typeof obj.cancel === "function");
+    }
+    function isWritableStream(obj) {
+      return !!(obj && !isNodeStream(obj) && typeof obj.getWriter === "function" && typeof obj.abort === "function");
+    }
+    function isTransformStream(obj) {
+      return !!(obj && !isNodeStream(obj) && typeof obj.readable === "object" && typeof obj.writable === "object");
+    }
+    function isWebStream(obj) {
+      return isReadableStream(obj) || isWritableStream(obj) || isTransformStream(obj);
+    }
+    function isIterable(obj, isAsync) {
+      if (obj == null) return false;
+      if (isAsync === true) return typeof obj[SymbolAsyncIterator] === "function";
+      if (isAsync === false) return typeof obj[SymbolIterator] === "function";
+      return typeof obj[SymbolAsyncIterator] === "function" || typeof obj[SymbolIterator] === "function";
+    }
+    function isDestroyed(stream) {
+      if (!isNodeStream(stream)) return null;
+      const wState = stream._writableState;
+      const rState = stream._readableState;
+      const state = wState || rState;
+      return !!(stream.destroyed || stream[kIsDestroyed] || state !== null && state !== void 0 && state.destroyed);
+    }
+    function isWritableEnded(stream) {
+      if (!isWritableNodeStream(stream)) return null;
+      if (stream.writableEnded === true) return true;
+      const wState = stream._writableState;
+      if (wState !== null && wState !== void 0 && wState.errored) return false;
+      if (typeof (wState === null || wState === void 0 ? void 0 : wState.ended) !== "boolean") return null;
+      return wState.ended;
+    }
+    function isWritableFinished(stream, strict) {
+      if (!isWritableNodeStream(stream)) return null;
+      if (stream.writableFinished === true) return true;
+      const wState = stream._writableState;
+      if (wState !== null && wState !== void 0 && wState.errored) return false;
+      if (typeof (wState === null || wState === void 0 ? void 0 : wState.finished) !== "boolean") return null;
+      return !!(wState.finished || strict === false && wState.ended === true && wState.length === 0);
+    }
+    function isReadableEnded(stream) {
+      if (!isReadableNodeStream(stream)) return null;
+      if (stream.readableEnded === true) return true;
+      const rState = stream._readableState;
+      if (!rState || rState.errored) return false;
+      if (typeof (rState === null || rState === void 0 ? void 0 : rState.ended) !== "boolean") return null;
+      return rState.ended;
+    }
+    function isReadableFinished(stream, strict) {
+      if (!isReadableNodeStream(stream)) return null;
+      const rState = stream._readableState;
+      if (rState !== null && rState !== void 0 && rState.errored) return false;
+      if (typeof (rState === null || rState === void 0 ? void 0 : rState.endEmitted) !== "boolean") return null;
+      return !!(rState.endEmitted || strict === false && rState.ended === true && rState.length === 0);
+    }
+    function isReadable(stream) {
+      if (stream && stream[kIsReadable] != null) return stream[kIsReadable];
+      if (typeof (stream === null || stream === void 0 ? void 0 : stream.readable) !== "boolean") return null;
+      if (isDestroyed(stream)) return false;
+      return isReadableNodeStream(stream) && stream.readable && !isReadableFinished(stream);
+    }
+    function isWritable(stream) {
+      if (stream && stream[kIsWritable] != null) return stream[kIsWritable];
+      if (typeof (stream === null || stream === void 0 ? void 0 : stream.writable) !== "boolean") return null;
+      if (isDestroyed(stream)) return false;
+      return isWritableNodeStream(stream) && stream.writable && !isWritableEnded(stream);
+    }
+    function isFinished(stream, opts) {
+      if (!isNodeStream(stream)) {
+        return null;
       }
-      /**
-       * If the blob has a MD5 hash, and if
-       * request contains range header (Range or x-ms-range), this response header
-       * is returned with the value of the whole blob's MD5 value. This value may
-       * or may not be equal to the value returned in Content-MD5 header, with the
-       * latter calculated from the requested range.
-       *
-       * @readonly
-       */
-      get blobContentMD5() {
-        return this.originalResponse.blobContentMD5;
+      if (isDestroyed(stream)) {
+        return true;
       }
-      /**
-       * Returns the date and time the file was last
-       * modified. Any operation that modifies the file or its properties updates
-       * the last modified time.
-       *
-       * @readonly
-       */
-      get lastModified() {
-        return this.originalResponse.lastModified;
+      if ((opts === null || opts === void 0 ? void 0 : opts.readable) !== false && isReadable(stream)) {
+        return false;
       }
-      /**
-       * Returns the UTC date and time generated by the service that indicates the time at which the blob was
-       * last read or written to.
-       *
-       * @readonly
-       */
-      get lastAccessed() {
-        return this.originalResponse.lastAccessed;
+      if ((opts === null || opts === void 0 ? void 0 : opts.writable) !== false && isWritable(stream)) {
+        return false;
       }
-      /**
-       * Returns the date and time the blob was created.
-       *
-       * @readonly
-       */
-      get createdOn() {
-        return this.originalResponse.createdOn;
+      return true;
+    }
+    function isWritableErrored(stream) {
+      var _stream$_writableStat, _stream$_writableStat2;
+      if (!isNodeStream(stream)) {
+        return null;
       }
-      /**
-       * A name-value pair
-       * to associate with a file storage object.
-       *
-       * @readonly
-       */
-      get metadata() {
-        return this.originalResponse.metadata;
+      if (stream.writableErrored) {
+        return stream.writableErrored;
       }
-      /**
-       * This header uniquely identifies the request
-       * that was made and can be used for troubleshooting the request.
-       *
-       * @readonly
-       */
-      get requestId() {
-        return this.originalResponse.requestId;
+      return (_stream$_writableStat = (_stream$_writableStat2 = stream._writableState) === null || _stream$_writableStat2 === void 0 ? void 0 : _stream$_writableStat2.errored) !== null && _stream$_writableStat !== void 0 ? _stream$_writableStat : null;
+    }
+    function isReadableErrored(stream) {
+      var _stream$_readableStat, _stream$_readableStat2;
+      if (!isNodeStream(stream)) {
+        return null;
       }
-      /**
-       * If a client request id header is sent in the request, this header will be present in the
-       * response with the same value.
-       *
-       * @readonly
-       */
-      get clientRequestId() {
-        return this.originalResponse.clientRequestId;
+      if (stream.readableErrored) {
+        return stream.readableErrored;
       }
-      /**
-       * Indicates the version of the Blob service used
-       * to execute the request.
-       *
-       * @readonly
-       */
-      get version() {
-        return this.originalResponse.version;
+      return (_stream$_readableStat = (_stream$_readableStat2 = stream._readableState) === null || _stream$_readableStat2 === void 0 ? void 0 : _stream$_readableStat2.errored) !== null && _stream$_readableStat !== void 0 ? _stream$_readableStat : null;
+    }
+    function isClosed(stream) {
+      if (!isNodeStream(stream)) {
+        return null;
       }
-      /**
-       * Indicates the versionId of the downloaded blob version.
-       *
-       * @readonly
-       */
-      get versionId() {
-        return this.originalResponse.versionId;
+      if (typeof stream.closed === "boolean") {
+        return stream.closed;
       }
-      /**
-       * Indicates whether version of this blob is a current version.
-       *
-       * @readonly
-       */
-      get isCurrentVersion() {
-        return this.originalResponse.isCurrentVersion;
+      const wState = stream._writableState;
+      const rState = stream._readableState;
+      if (typeof (wState === null || wState === void 0 ? void 0 : wState.closed) === "boolean" || typeof (rState === null || rState === void 0 ? void 0 : rState.closed) === "boolean") {
+        return (wState === null || wState === void 0 ? void 0 : wState.closed) || (rState === null || rState === void 0 ? void 0 : rState.closed);
       }
-      /**
-       * The SHA-256 hash of the encryption key used to encrypt the blob. This value is only returned
-       * when the blob was encrypted with a customer-provided key.
-       *
-       * @readonly
-       */
-      get encryptionKeySha256() {
-        return this.originalResponse.encryptionKeySha256;
+      if (typeof stream._closed === "boolean" && isOutgoingMessage(stream)) {
+        return stream._closed;
       }
-      /**
-       * If the request is to read a specified range and the x-ms-range-get-content-crc64 is set to
-       * true, then the request returns a crc64 for the range, as long as the range size is less than
-       * or equal to 4 MB. If both x-ms-range-get-content-crc64 & x-ms-range-get-content-md5 is
-       * specified in the same request, it will fail with 400(Bad Request)
-       */
-      get contentCrc64() {
-        return this.originalResponse.contentCrc64;
+      return null;
+    }
+    function isOutgoingMessage(stream) {
+      return typeof stream._closed === "boolean" && typeof stream._defaultKeepAlive === "boolean" && typeof stream._removedConnection === "boolean" && typeof stream._removedContLen === "boolean";
+    }
+    function isServerResponse(stream) {
+      return typeof stream._sent100 === "boolean" && isOutgoingMessage(stream);
+    }
+    function isServerRequest(stream) {
+      var _stream$req;
+      return typeof stream._consuming === "boolean" && typeof stream._dumped === "boolean" && ((_stream$req = stream.req) === null || _stream$req === void 0 ? void 0 : _stream$req.upgradeOrConnect) === void 0;
+    }
+    function willEmitClose(stream) {
+      if (!isNodeStream(stream)) return null;
+      const wState = stream._writableState;
+      const rState = stream._readableState;
+      const state = wState || rState;
+      return !state && isServerResponse(stream) || !!(state && state.autoDestroy && state.emitClose && state.closed === false);
+    }
+    function isDisturbed(stream) {
+      var _stream$kIsDisturbed;
+      return !!(stream && ((_stream$kIsDisturbed = stream[kIsDisturbed]) !== null && _stream$kIsDisturbed !== void 0 ? _stream$kIsDisturbed : stream.readableDidRead || stream.readableAborted));
+    }
+    function isErrored(stream) {
+      var _ref, _ref2, _ref3, _ref4, _ref5, _stream$kIsErrored, _stream$_readableStat3, _stream$_writableStat3, _stream$_readableStat4, _stream$_writableStat4;
+      return !!(stream && ((_ref = (_ref2 = (_ref3 = (_ref4 = (_ref5 = (_stream$kIsErrored = stream[kIsErrored]) !== null && _stream$kIsErrored !== void 0 ? _stream$kIsErrored : stream.readableErrored) !== null && _ref5 !== void 0 ? _ref5 : stream.writableErrored) !== null && _ref4 !== void 0 ? _ref4 : (_stream$_readableStat3 = stream._readableState) === null || _stream$_readableStat3 === void 0 ? void 0 : _stream$_readableStat3.errorEmitted) !== null && _ref3 !== void 0 ? _ref3 : (_stream$_writableStat3 = stream._writableState) === null || _stream$_writableStat3 === void 0 ? void 0 : _stream$_writableStat3.errorEmitted) !== null && _ref2 !== void 0 ? _ref2 : (_stream$_readableStat4 = stream._readableState) === null || _stream$_readableStat4 === void 0 ? void 0 : _stream$_readableStat4.errored) !== null && _ref !== void 0 ? _ref : (_stream$_writableStat4 = stream._writableState) === null || _stream$_writableStat4 === void 0 ? void 0 : _stream$_writableStat4.errored));
+    }
+    module2.exports = {
+      isDestroyed,
+      kIsDestroyed,
+      isDisturbed,
+      kIsDisturbed,
+      isErrored,
+      kIsErrored,
+      isReadable,
+      kIsReadable,
+      kIsClosedPromise,
+      kControllerErrorFunction,
+      kIsWritable,
+      isClosed,
+      isDuplexNodeStream,
+      isFinished,
+      isIterable,
+      isReadableNodeStream,
+      isReadableStream,
+      isReadableEnded,
+      isReadableFinished,
+      isReadableErrored,
+      isNodeStream,
+      isWebStream,
+      isWritable,
+      isWritableNodeStream,
+      isWritableStream,
+      isWritableEnded,
+      isWritableFinished,
+      isWritableErrored,
+      isServerRequest,
+      isServerResponse,
+      willEmitClose,
+      isTransformStream
+    };
+  }
+});
+
+// node_modules/readable-stream/lib/internal/streams/end-of-stream.js
+var require_end_of_stream = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/end-of-stream.js"(exports2, module2) {
+    var process2 = require_process();
+    var { AbortError, codes } = require_errors4();
+    var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_PREMATURE_CLOSE } = codes;
+    var { kEmptyObject, once } = require_util20();
+    var { validateAbortSignal, validateFunction, validateObject, validateBoolean } = require_validators();
+    var { Promise: Promise2, PromisePrototypeThen, SymbolDispose } = require_primordials();
+    var {
+      isClosed,
+      isReadable,
+      isReadableNodeStream,
+      isReadableStream,
+      isReadableFinished,
+      isReadableErrored,
+      isWritable,
+      isWritableNodeStream,
+      isWritableStream,
+      isWritableFinished,
+      isWritableErrored,
+      isNodeStream,
+      willEmitClose: _willEmitClose,
+      kIsClosedPromise
+    } = require_utils8();
+    var addAbortListener;
+    function isRequest(stream) {
+      return stream.setHeader && typeof stream.abort === "function";
+    }
+    var nop = () => {
+    };
+    function eos(stream, options, callback) {
+      var _options$readable, _options$writable;
+      if (arguments.length === 2) {
+        callback = options;
+        options = kEmptyObject;
+      } else if (options == null) {
+        options = kEmptyObject;
+      } else {
+        validateObject(options, "options");
       }
-      /**
-       * Object Replication Policy Id of the destination blob.
-       *
-       * @readonly
-       */
-      get objectReplicationDestinationPolicyId() {
-        return this.originalResponse.objectReplicationDestinationPolicyId;
+      validateFunction(callback, "callback");
+      validateAbortSignal(options.signal, "options.signal");
+      callback = once(callback);
+      if (isReadableStream(stream) || isWritableStream(stream)) {
+        return eosWeb(stream, options, callback);
       }
-      /**
-       * Parsed Object Replication Policy Id, Rule Id(s) and status of the source blob.
-       *
-       * @readonly
-       */
-      get objectReplicationSourceProperties() {
-        return this.originalResponse.objectReplicationSourceProperties;
+      if (!isNodeStream(stream)) {
+        throw new ERR_INVALID_ARG_TYPE2("stream", ["ReadableStream", "WritableStream", "Stream"], stream);
       }
-      /**
-       * If this blob has been sealed.
-       *
-       * @readonly
-       */
-      get isSealed() {
-        return this.originalResponse.isSealed;
+      const readable = (_options$readable = options.readable) !== null && _options$readable !== void 0 ? _options$readable : isReadableNodeStream(stream);
+      const writable = (_options$writable = options.writable) !== null && _options$writable !== void 0 ? _options$writable : isWritableNodeStream(stream);
+      const wState = stream._writableState;
+      const rState = stream._readableState;
+      const onlegacyfinish = () => {
+        if (!stream.writable) {
+          onfinish();
+        }
+      };
+      let willEmitClose = _willEmitClose(stream) && isReadableNodeStream(stream) === readable && isWritableNodeStream(stream) === writable;
+      let writableFinished = isWritableFinished(stream, false);
+      const onfinish = () => {
+        writableFinished = true;
+        if (stream.destroyed) {
+          willEmitClose = false;
+        }
+        if (willEmitClose && (!stream.readable || readable)) {
+          return;
+        }
+        if (!readable || readableFinished) {
+          callback.call(stream);
+        }
+      };
+      let readableFinished = isReadableFinished(stream, false);
+      const onend = () => {
+        readableFinished = true;
+        if (stream.destroyed) {
+          willEmitClose = false;
+        }
+        if (willEmitClose && (!stream.writable || writable)) {
+          return;
+        }
+        if (!writable || writableFinished) {
+          callback.call(stream);
+        }
+      };
+      const onerror = (err) => {
+        callback.call(stream, err);
+      };
+      let closed = isClosed(stream);
+      const onclose = () => {
+        closed = true;
+        const errored = isWritableErrored(stream) || isReadableErrored(stream);
+        if (errored && typeof errored !== "boolean") {
+          return callback.call(stream, errored);
+        }
+        if (readable && !readableFinished && isReadableNodeStream(stream, true)) {
+          if (!isReadableFinished(stream, false)) return callback.call(stream, new ERR_STREAM_PREMATURE_CLOSE());
+        }
+        if (writable && !writableFinished) {
+          if (!isWritableFinished(stream, false)) return callback.call(stream, new ERR_STREAM_PREMATURE_CLOSE());
+        }
+        callback.call(stream);
+      };
+      const onclosed = () => {
+        closed = true;
+        const errored = isWritableErrored(stream) || isReadableErrored(stream);
+        if (errored && typeof errored !== "boolean") {
+          return callback.call(stream, errored);
+        }
+        callback.call(stream);
+      };
+      const onrequest = () => {
+        stream.req.on("finish", onfinish);
+      };
+      if (isRequest(stream)) {
+        stream.on("complete", onfinish);
+        if (!willEmitClose) {
+          stream.on("abort", onclose);
+        }
+        if (stream.req) {
+          onrequest();
+        } else {
+          stream.on("request", onrequest);
+        }
+      } else if (writable && !wState) {
+        stream.on("end", onlegacyfinish);
+        stream.on("close", onlegacyfinish);
       }
-      /**
-       * UTC date/time value generated by the service that indicates the time at which the blob immutability policy will expire.
-       *
-       * @readonly
-       */
-      get immutabilityPolicyExpiresOn() {
-        return this.originalResponse.immutabilityPolicyExpiresOn;
+      if (!willEmitClose && typeof stream.aborted === "boolean") {
+        stream.on("aborted", onclose);
       }
-      /**
-       * Indicates immutability policy mode.
-       *
-       * @readonly
-       */
-      get immutabilityPolicyMode() {
-        return this.originalResponse.immutabilityPolicyMode;
+      stream.on("end", onend);
+      stream.on("finish", onfinish);
+      if (options.error !== false) {
+        stream.on("error", onerror);
       }
-      /**
-       * Indicates if a legal hold is present on the blob.
-       *
-       * @readonly
-       */
-      get legalHold() {
-        return this.originalResponse.legalHold;
+      stream.on("close", onclose);
+      if (closed) {
+        process2.nextTick(onclose);
+      } else if (wState !== null && wState !== void 0 && wState.errorEmitted || rState !== null && rState !== void 0 && rState.errorEmitted) {
+        if (!willEmitClose) {
+          process2.nextTick(onclosed);
+        }
+      } else if (!readable && (!willEmitClose || isReadable(stream)) && (writableFinished || isWritable(stream) === false)) {
+        process2.nextTick(onclosed);
+      } else if (!writable && (!willEmitClose || isWritable(stream)) && (readableFinished || isReadable(stream) === false)) {
+        process2.nextTick(onclosed);
+      } else if (rState && stream.req && stream.aborted) {
+        process2.nextTick(onclosed);
       }
-      /**
-       * The response body as a browser Blob.
-       * Always undefined in node.js.
-       *
-       * @readonly
-       */
-      get contentAsBlob() {
-        return this.originalResponse.blobBody;
+      const cleanup = () => {
+        callback = nop;
+        stream.removeListener("aborted", onclose);
+        stream.removeListener("complete", onfinish);
+        stream.removeListener("abort", onclose);
+        stream.removeListener("request", onrequest);
+        if (stream.req) stream.req.removeListener("finish", onfinish);
+        stream.removeListener("end", onlegacyfinish);
+        stream.removeListener("close", onlegacyfinish);
+        stream.removeListener("finish", onfinish);
+        stream.removeListener("end", onend);
+        stream.removeListener("error", onerror);
+        stream.removeListener("close", onclose);
+      };
+      if (options.signal && !closed) {
+        const abort = () => {
+          const endCallback = callback;
+          cleanup();
+          endCallback.call(
+            stream,
+            new AbortError(void 0, {
+              cause: options.signal.reason
+            })
+          );
+        };
+        if (options.signal.aborted) {
+          process2.nextTick(abort);
+        } else {
+          addAbortListener = addAbortListener || require_util20().addAbortListener;
+          const disposable = addAbortListener(options.signal, abort);
+          const originalCallback = callback;
+          callback = once((...args) => {
+            disposable[SymbolDispose]();
+            originalCallback.apply(stream, args);
+          });
+        }
       }
-      /**
-       * The response body as a node.js Readable stream.
-       * Always undefined in the browser.
-       *
-       * It will automatically retry when internal read stream unexpected ends.
-       *
-       * @readonly
-       */
-      get readableStreamBody() {
-        return core_util_1.isNodeLike ? this.blobDownloadStream : void 0;
+      return cleanup;
+    }
+    function eosWeb(stream, options, callback) {
+      let isAborted = false;
+      let abort = nop;
+      if (options.signal) {
+        abort = () => {
+          isAborted = true;
+          callback.call(
+            stream,
+            new AbortError(void 0, {
+              cause: options.signal.reason
+            })
+          );
+        };
+        if (options.signal.aborted) {
+          process2.nextTick(abort);
+        } else {
+          addAbortListener = addAbortListener || require_util20().addAbortListener;
+          const disposable = addAbortListener(options.signal, abort);
+          const originalCallback = callback;
+          callback = once((...args) => {
+            disposable[SymbolDispose]();
+            originalCallback.apply(stream, args);
+          });
+        }
       }
-      /**
-       * The HTTP response.
-       */
-      get _response() {
-        return this.originalResponse._response;
+      const resolverFn = (...args) => {
+        if (!isAborted) {
+          process2.nextTick(() => callback.apply(stream, args));
+        }
+      };
+      PromisePrototypeThen(stream[kIsClosedPromise].promise, resolverFn, resolverFn);
+      return nop;
+    }
+    function finished(stream, opts) {
+      var _opts;
+      let autoCleanup = false;
+      if (opts === null) {
+        opts = kEmptyObject;
       }
-      originalResponse;
-      blobDownloadStream;
-      /**
-       * Creates an instance of BlobDownloadResponse.
-       *
-       * @param originalResponse -
-       * @param getter -
-       * @param offset -
-       * @param count -
-       * @param options -
-       */
-      constructor(originalResponse, getter, offset, count, options = {}) {
-        this.originalResponse = originalResponse;
-        this.blobDownloadStream = new RetriableReadableStream_js_1.RetriableReadableStream(this.originalResponse.readableStreamBody, getter, offset, count, options);
+      if ((_opts = opts) !== null && _opts !== void 0 && _opts.cleanup) {
+        validateBoolean(opts.cleanup, "cleanup");
+        autoCleanup = opts.cleanup;
       }
-    };
-    exports2.BlobDownloadResponse = BlobDownloadResponse;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroConstants.js
-var require_AvroConstants = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroConstants.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AVRO_SCHEMA_KEY = exports2.AVRO_CODEC_KEY = exports2.AVRO_INIT_BYTES = exports2.AVRO_SYNC_MARKER_SIZE = void 0;
-    exports2.AVRO_SYNC_MARKER_SIZE = 16;
-    exports2.AVRO_INIT_BYTES = new Uint8Array([79, 98, 106, 1]);
-    exports2.AVRO_CODEC_KEY = "avro.codec";
-    exports2.AVRO_SCHEMA_KEY = "avro.schema";
+      return new Promise2((resolve2, reject) => {
+        const cleanup = eos(stream, opts, (err) => {
+          if (autoCleanup) {
+            cleanup();
+          }
+          if (err) {
+            reject(err);
+          } else {
+            resolve2();
+          }
+        });
+      });
+    }
+    module2.exports = eos;
+    module2.exports.finished = finished;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroParser.js
-var require_AvroParser = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroParser.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/destroy.js
+var require_destroy2 = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/destroy.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AvroType = exports2.AvroParser = void 0;
-    var AvroParser = class _AvroParser {
-      /**
-       * Reads a fixed number of bytes from the stream.
-       *
-       * @param stream -
-       * @param length -
-       * @param options -
-       */
-      static async readFixedBytes(stream, length, options = {}) {
-        const bytes = await stream.read(length, { abortSignal: options.abortSignal });
-        if (bytes.length !== length) {
-          throw new Error("Hit stream end.");
+    var process2 = require_process();
+    var {
+      aggregateTwoErrors,
+      codes: { ERR_MULTIPLE_CALLBACK },
+      AbortError
+    } = require_errors4();
+    var { Symbol: Symbol2 } = require_primordials();
+    var { kIsDestroyed, isDestroyed, isFinished, isServerRequest } = require_utils8();
+    var kDestroy = Symbol2("kDestroy");
+    var kConstruct = Symbol2("kConstruct");
+    function checkError(err, w, r) {
+      if (err) {
+        err.stack;
+        if (w && !w.errored) {
+          w.errored = err;
+        }
+        if (r && !r.errored) {
+          r.errored = err;
         }
-        return bytes;
-      }
-      /**
-       * Reads a single byte from the stream.
-       *
-       * @param stream -
-       * @param options -
-       */
-      static async readByte(stream, options = {}) {
-        const buf = await _AvroParser.readFixedBytes(stream, 1, options);
-        return buf[0];
       }
-      // int and long are stored in variable-length zig-zag coding.
-      // variable-length: https://lucene.apache.org/core/3_5_0/fileformats.html#VInt
-      // zig-zag: https://developers.google.com/protocol-buffers/docs/encoding?csw=1#types
-      static async readZigZagLong(stream, options = {}) {
-        let zigZagEncoded = 0;
-        let significanceInBit = 0;
-        let byte, haveMoreByte, significanceInFloat;
-        do {
-          byte = await _AvroParser.readByte(stream, options);
-          haveMoreByte = byte & 128;
-          zigZagEncoded |= (byte & 127) << significanceInBit;
-          significanceInBit += 7;
-        } while (haveMoreByte && significanceInBit < 28);
-        if (haveMoreByte) {
-          zigZagEncoded = zigZagEncoded;
-          significanceInFloat = 268435456;
-          do {
-            byte = await _AvroParser.readByte(stream, options);
-            zigZagEncoded += (byte & 127) * significanceInFloat;
-            significanceInFloat *= 128;
-          } while (byte & 128);
-          const res = (zigZagEncoded % 2 ? -(zigZagEncoded + 1) : zigZagEncoded) / 2;
-          if (res < Number.MIN_SAFE_INTEGER || res > Number.MAX_SAFE_INTEGER) {
-            throw new Error("Integer overflow.");
-          }
-          return res;
+    }
+    function destroy(err, cb) {
+      const r = this._readableState;
+      const w = this._writableState;
+      const s = w || r;
+      if (w !== null && w !== void 0 && w.destroyed || r !== null && r !== void 0 && r.destroyed) {
+        if (typeof cb === "function") {
+          cb();
         }
-        return zigZagEncoded >> 1 ^ -(zigZagEncoded & 1);
+        return this;
       }
-      static async readLong(stream, options = {}) {
-        return _AvroParser.readZigZagLong(stream, options);
+      checkError(err, w, r);
+      if (w) {
+        w.destroyed = true;
       }
-      static async readInt(stream, options = {}) {
-        return _AvroParser.readZigZagLong(stream, options);
+      if (r) {
+        r.destroyed = true;
       }
-      static async readNull() {
-        return null;
+      if (!s.constructed) {
+        this.once(kDestroy, function(er) {
+          _destroy(this, aggregateTwoErrors(er, err), cb);
+        });
+      } else {
+        _destroy(this, err, cb);
       }
-      static async readBoolean(stream, options = {}) {
-        const b = await _AvroParser.readByte(stream, options);
-        if (b === 1) {
-          return true;
-        } else if (b === 0) {
-          return false;
+      return this;
+    }
+    function _destroy(self2, err, cb) {
+      let called = false;
+      function onDestroy(err2) {
+        if (called) {
+          return;
+        }
+        called = true;
+        const r = self2._readableState;
+        const w = self2._writableState;
+        checkError(err2, w, r);
+        if (w) {
+          w.closed = true;
+        }
+        if (r) {
+          r.closed = true;
+        }
+        if (typeof cb === "function") {
+          cb(err2);
+        }
+        if (err2) {
+          process2.nextTick(emitErrorCloseNT, self2, err2);
         } else {
-          throw new Error("Byte was not a boolean.");
+          process2.nextTick(emitCloseNT, self2);
         }
       }
-      static async readFloat(stream, options = {}) {
-        const u8arr = await _AvroParser.readFixedBytes(stream, 4, options);
-        const view = new DataView(u8arr.buffer, u8arr.byteOffset, u8arr.byteLength);
-        return view.getFloat32(0, true);
+      try {
+        self2._destroy(err || null, onDestroy);
+      } catch (err2) {
+        onDestroy(err2);
       }
-      static async readDouble(stream, options = {}) {
-        const u8arr = await _AvroParser.readFixedBytes(stream, 8, options);
-        const view = new DataView(u8arr.buffer, u8arr.byteOffset, u8arr.byteLength);
-        return view.getFloat64(0, true);
+    }
+    function emitErrorCloseNT(self2, err) {
+      emitErrorNT(self2, err);
+      emitCloseNT(self2);
+    }
+    function emitCloseNT(self2) {
+      const r = self2._readableState;
+      const w = self2._writableState;
+      if (w) {
+        w.closeEmitted = true;
       }
-      static async readBytes(stream, options = {}) {
-        const size = await _AvroParser.readLong(stream, options);
-        if (size < 0) {
-          throw new Error("Bytes size was negative.");
-        }
-        return stream.read(size, { abortSignal: options.abortSignal });
+      if (r) {
+        r.closeEmitted = true;
       }
-      static async readString(stream, options = {}) {
-        const u8arr = await _AvroParser.readBytes(stream, options);
-        const utf8decoder = new TextDecoder();
-        return utf8decoder.decode(u8arr);
+      if (w !== null && w !== void 0 && w.emitClose || r !== null && r !== void 0 && r.emitClose) {
+        self2.emit("close");
       }
-      static async readMapPair(stream, readItemMethod, options = {}) {
-        const key = await _AvroParser.readString(stream, options);
-        const value = await readItemMethod(stream, options);
-        return { key, value };
+    }
+    function emitErrorNT(self2, err) {
+      const r = self2._readableState;
+      const w = self2._writableState;
+      if (w !== null && w !== void 0 && w.errorEmitted || r !== null && r !== void 0 && r.errorEmitted) {
+        return;
       }
-      static async readMap(stream, readItemMethod, options = {}) {
-        const readPairMethod = (s, opts = {}) => {
-          return _AvroParser.readMapPair(s, readItemMethod, opts);
-        };
-        const pairs2 = await _AvroParser.readArray(stream, readPairMethod, options);
-        const dict = {};
-        for (const pair of pairs2) {
-          dict[pair.key] = pair.value;
-        }
-        return dict;
+      if (w) {
+        w.errorEmitted = true;
       }
-      static async readArray(stream, readItemMethod, options = {}) {
-        const items = [];
-        for (let count = await _AvroParser.readLong(stream, options); count !== 0; count = await _AvroParser.readLong(stream, options)) {
-          if (count < 0) {
-            await _AvroParser.readLong(stream, options);
-            count = -count;
-          }
-          while (count--) {
-            const item = await readItemMethod(stream, options);
-            items.push(item);
-          }
-        }
-        return items;
+      if (r) {
+        r.errorEmitted = true;
       }
-    };
-    exports2.AvroParser = AvroParser;
-    var AvroComplex;
-    (function(AvroComplex2) {
-      AvroComplex2["RECORD"] = "record";
-      AvroComplex2["ENUM"] = "enum";
-      AvroComplex2["ARRAY"] = "array";
-      AvroComplex2["MAP"] = "map";
-      AvroComplex2["UNION"] = "union";
-      AvroComplex2["FIXED"] = "fixed";
-    })(AvroComplex || (AvroComplex = {}));
-    var AvroPrimitive;
-    (function(AvroPrimitive2) {
-      AvroPrimitive2["NULL"] = "null";
-      AvroPrimitive2["BOOLEAN"] = "boolean";
-      AvroPrimitive2["INT"] = "int";
-      AvroPrimitive2["LONG"] = "long";
-      AvroPrimitive2["FLOAT"] = "float";
-      AvroPrimitive2["DOUBLE"] = "double";
-      AvroPrimitive2["BYTES"] = "bytes";
-      AvroPrimitive2["STRING"] = "string";
-    })(AvroPrimitive || (AvroPrimitive = {}));
-    var AvroType = class _AvroType {
-      /**
-       * Determines the AvroType from the Avro Schema.
-       */
-      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
-      static fromSchema(schema2) {
-        if (typeof schema2 === "string") {
-          return _AvroType.fromStringSchema(schema2);
-        } else if (Array.isArray(schema2)) {
-          return _AvroType.fromArraySchema(schema2);
-        } else {
-          return _AvroType.fromObjectSchema(schema2);
-        }
+      self2.emit("error", err);
+    }
+    function undestroy() {
+      const r = this._readableState;
+      const w = this._writableState;
+      if (r) {
+        r.constructed = true;
+        r.closed = false;
+        r.closeEmitted = false;
+        r.destroyed = false;
+        r.errored = null;
+        r.errorEmitted = false;
+        r.reading = false;
+        r.ended = r.readable === false;
+        r.endEmitted = r.readable === false;
       }
-      static fromStringSchema(schema2) {
-        switch (schema2) {
-          case AvroPrimitive.NULL:
-          case AvroPrimitive.BOOLEAN:
-          case AvroPrimitive.INT:
-          case AvroPrimitive.LONG:
-          case AvroPrimitive.FLOAT:
-          case AvroPrimitive.DOUBLE:
-          case AvroPrimitive.BYTES:
-          case AvroPrimitive.STRING:
-            return new AvroPrimitiveType(schema2);
-          default:
-            throw new Error(`Unexpected Avro type ${schema2}`);
-        }
+      if (w) {
+        w.constructed = true;
+        w.destroyed = false;
+        w.closed = false;
+        w.closeEmitted = false;
+        w.errored = null;
+        w.errorEmitted = false;
+        w.finalCalled = false;
+        w.prefinished = false;
+        w.ended = w.writable === false;
+        w.ending = w.writable === false;
+        w.finished = w.writable === false;
       }
-      static fromArraySchema(schema2) {
-        return new AvroUnionType(schema2.map(_AvroType.fromSchema));
+    }
+    function errorOrDestroy(stream, err, sync) {
+      const r = stream._readableState;
+      const w = stream._writableState;
+      if (w !== null && w !== void 0 && w.destroyed || r !== null && r !== void 0 && r.destroyed) {
+        return this;
       }
-      static fromObjectSchema(schema2) {
-        const type2 = schema2.type;
-        try {
-          return _AvroType.fromStringSchema(type2);
-        } catch {
+      if (r !== null && r !== void 0 && r.autoDestroy || w !== null && w !== void 0 && w.autoDestroy)
+        stream.destroy(err);
+      else if (err) {
+        err.stack;
+        if (w && !w.errored) {
+          w.errored = err;
         }
-        switch (type2) {
-          case AvroComplex.RECORD:
-            if (schema2.aliases) {
-              throw new Error(`aliases currently is not supported, schema: ${schema2}`);
-            }
-            if (!schema2.name) {
-              throw new Error(`Required attribute 'name' doesn't exist on schema: ${schema2}`);
-            }
-            const fields = {};
-            if (!schema2.fields) {
-              throw new Error(`Required attribute 'fields' doesn't exist on schema: ${schema2}`);
-            }
-            for (const field of schema2.fields) {
-              fields[field.name] = _AvroType.fromSchema(field.type);
-            }
-            return new AvroRecordType(fields, schema2.name);
-          case AvroComplex.ENUM:
-            if (schema2.aliases) {
-              throw new Error(`aliases currently is not supported, schema: ${schema2}`);
-            }
-            if (!schema2.symbols) {
-              throw new Error(`Required attribute 'symbols' doesn't exist on schema: ${schema2}`);
-            }
-            return new AvroEnumType(schema2.symbols);
-          case AvroComplex.MAP:
-            if (!schema2.values) {
-              throw new Error(`Required attribute 'values' doesn't exist on schema: ${schema2}`);
-            }
-            return new AvroMapType(_AvroType.fromSchema(schema2.values));
-          case AvroComplex.ARRAY:
-          // Unused today
-          case AvroComplex.FIXED:
-          // Unused today
-          default:
-            throw new Error(`Unexpected Avro type ${type2} in ${schema2}`);
+        if (r && !r.errored) {
+          r.errored = err;
+        }
+        if (sync) {
+          process2.nextTick(emitErrorNT, stream, err);
+        } else {
+          emitErrorNT(stream, err);
         }
       }
-    };
-    exports2.AvroType = AvroType;
-    var AvroPrimitiveType = class extends AvroType {
-      _primitive;
-      constructor(primitive) {
-        super();
-        this._primitive = primitive;
+    }
+    function construct(stream, cb) {
+      if (typeof stream._construct !== "function") {
+        return;
       }
-      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
-      read(stream, options = {}) {
-        switch (this._primitive) {
-          case AvroPrimitive.NULL:
-            return AvroParser.readNull();
-          case AvroPrimitive.BOOLEAN:
-            return AvroParser.readBoolean(stream, options);
-          case AvroPrimitive.INT:
-            return AvroParser.readInt(stream, options);
-          case AvroPrimitive.LONG:
-            return AvroParser.readLong(stream, options);
-          case AvroPrimitive.FLOAT:
-            return AvroParser.readFloat(stream, options);
-          case AvroPrimitive.DOUBLE:
-            return AvroParser.readDouble(stream, options);
-          case AvroPrimitive.BYTES:
-            return AvroParser.readBytes(stream, options);
-          case AvroPrimitive.STRING:
-            return AvroParser.readString(stream, options);
-          default:
-            throw new Error("Unknown Avro Primitive");
-        }
+      const r = stream._readableState;
+      const w = stream._writableState;
+      if (r) {
+        r.constructed = false;
       }
-    };
-    var AvroEnumType = class extends AvroType {
-      _symbols;
-      constructor(symbols) {
-        super();
-        this._symbols = symbols;
+      if (w) {
+        w.constructed = false;
       }
-      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
-      async read(stream, options = {}) {
-        const value = await AvroParser.readInt(stream, options);
-        return this._symbols[value];
+      stream.once(kConstruct, cb);
+      if (stream.listenerCount(kConstruct) > 1) {
+        return;
       }
-    };
-    var AvroUnionType = class extends AvroType {
-      _types;
-      constructor(types) {
-        super();
-        this._types = types;
+      process2.nextTick(constructNT, stream);
+    }
+    function constructNT(stream) {
+      let called = false;
+      function onConstruct(err) {
+        if (called) {
+          errorOrDestroy(stream, err !== null && err !== void 0 ? err : new ERR_MULTIPLE_CALLBACK());
+          return;
+        }
+        called = true;
+        const r = stream._readableState;
+        const w = stream._writableState;
+        const s = w || r;
+        if (r) {
+          r.constructed = true;
+        }
+        if (w) {
+          w.constructed = true;
+        }
+        if (s.destroyed) {
+          stream.emit(kDestroy, err);
+        } else if (err) {
+          errorOrDestroy(stream, err, true);
+        } else {
+          process2.nextTick(emitConstructNT, stream);
+        }
       }
-      async read(stream, options = {}) {
-        const typeIndex = await AvroParser.readInt(stream, options);
-        return this._types[typeIndex].read(stream, options);
+      try {
+        stream._construct((err) => {
+          process2.nextTick(onConstruct, err);
+        });
+      } catch (err) {
+        process2.nextTick(onConstruct, err);
       }
-    };
-    var AvroMapType = class extends AvroType {
-      _itemType;
-      constructor(itemType) {
-        super();
-        this._itemType = itemType;
+    }
+    function emitConstructNT(stream) {
+      stream.emit(kConstruct);
+    }
+    function isRequest(stream) {
+      return (stream === null || stream === void 0 ? void 0 : stream.setHeader) && typeof stream.abort === "function";
+    }
+    function emitCloseLegacy(stream) {
+      stream.emit("close");
+    }
+    function emitErrorCloseLegacy(stream, err) {
+      stream.emit("error", err);
+      process2.nextTick(emitCloseLegacy, stream);
+    }
+    function destroyer(stream, err) {
+      if (!stream || isDestroyed(stream)) {
+        return;
       }
-      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
-      read(stream, options = {}) {
-        const readItemMethod = (s, opts) => {
-          return this._itemType.read(s, opts);
-        };
-        return AvroParser.readMap(stream, readItemMethod, options);
+      if (!err && !isFinished(stream)) {
+        err = new AbortError();
       }
-    };
-    var AvroRecordType = class extends AvroType {
-      _name;
-      _fields;
-      constructor(fields, name) {
-        super();
-        this._fields = fields;
-        this._name = name;
+      if (isServerRequest(stream)) {
+        stream.socket = null;
+        stream.destroy(err);
+      } else if (isRequest(stream)) {
+        stream.abort();
+      } else if (isRequest(stream.req)) {
+        stream.req.abort();
+      } else if (typeof stream.destroy === "function") {
+        stream.destroy(err);
+      } else if (typeof stream.close === "function") {
+        stream.close();
+      } else if (err) {
+        process2.nextTick(emitErrorCloseLegacy, stream, err);
+      } else {
+        process2.nextTick(emitCloseLegacy, stream);
       }
-      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
-      async read(stream, options = {}) {
-        const record = {};
-        record["$schema"] = this._name;
-        for (const key in this._fields) {
-          if (Object.prototype.hasOwnProperty.call(this._fields, key)) {
-            record[key] = await this._fields[key].read(stream, options);
-          }
-        }
-        return record;
+      if (!stream.destroyed) {
+        stream[kIsDestroyed] = true;
       }
+    }
+    module2.exports = {
+      construct,
+      destroyer,
+      destroy,
+      undestroy,
+      errorOrDestroy
     };
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/utils/utils.common.js
-var require_utils_common3 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/utils/utils.common.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/legacy.js
+var require_legacy = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/legacy.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.arraysEqual = arraysEqual;
-    function arraysEqual(a, b) {
-      if (a === b)
-        return true;
-      if (a == null || b == null)
-        return false;
-      if (a.length !== b.length)
-        return false;
-      for (let i = 0; i < a.length; ++i) {
-        if (a[i] !== b[i])
-          return false;
-      }
-      return true;
+    var { ArrayIsArray, ObjectSetPrototypeOf } = require_primordials();
+    var { EventEmitter: EE } = require("events");
+    function Stream(opts) {
+      EE.call(this, opts);
     }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReader.js
-var require_AvroReader = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReader.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AvroReader = void 0;
-    var AvroConstants_js_1 = require_AvroConstants();
-    var AvroParser_js_1 = require_AvroParser();
-    var utils_common_js_1 = require_utils_common3();
-    var AvroReader = class {
-      _dataStream;
-      _headerStream;
-      _syncMarker;
-      _metadata;
-      _itemType;
-      _itemsRemainingInBlock;
-      // Remembers where we started if partial data stream was provided.
-      _initialBlockOffset;
-      /// The byte offset within the Avro file (both header and data)
-      /// of the start of the current block.
-      _blockOffset;
-      get blockOffset() {
-        return this._blockOffset;
+    ObjectSetPrototypeOf(Stream.prototype, EE.prototype);
+    ObjectSetPrototypeOf(Stream, EE);
+    Stream.prototype.pipe = function(dest, options) {
+      const source = this;
+      function ondata(chunk) {
+        if (dest.writable && dest.write(chunk) === false && source.pause) {
+          source.pause();
+        }
       }
-      _objectIndex;
-      get objectIndex() {
-        return this._objectIndex;
+      source.on("data", ondata);
+      function ondrain() {
+        if (source.readable && source.resume) {
+          source.resume();
+        }
       }
-      _initialized;
-      constructor(dataStream, headerStream, currentBlockOffset, indexWithinCurrentBlock) {
-        this._dataStream = dataStream;
-        this._headerStream = headerStream || dataStream;
-        this._initialized = false;
-        this._blockOffset = currentBlockOffset || 0;
-        this._objectIndex = indexWithinCurrentBlock || 0;
-        this._initialBlockOffset = currentBlockOffset || 0;
+      dest.on("drain", ondrain);
+      if (!dest._isStdio && (!options || options.end !== false)) {
+        source.on("end", onend);
+        source.on("close", onclose);
       }
-      async initialize(options = {}) {
-        const header = await AvroParser_js_1.AvroParser.readFixedBytes(this._headerStream, AvroConstants_js_1.AVRO_INIT_BYTES.length, {
-          abortSignal: options.abortSignal
-        });
-        if (!(0, utils_common_js_1.arraysEqual)(header, AvroConstants_js_1.AVRO_INIT_BYTES)) {
-          throw new Error("Stream is not an Avro file.");
-        }
-        this._metadata = await AvroParser_js_1.AvroParser.readMap(this._headerStream, AvroParser_js_1.AvroParser.readString, {
-          abortSignal: options.abortSignal
-        });
-        const codec = this._metadata[AvroConstants_js_1.AVRO_CODEC_KEY];
-        if (!(codec === void 0 || codec === null || codec === "null")) {
-          throw new Error("Codecs are not supported");
-        }
-        this._syncMarker = await AvroParser_js_1.AvroParser.readFixedBytes(this._headerStream, AvroConstants_js_1.AVRO_SYNC_MARKER_SIZE, {
-          abortSignal: options.abortSignal
-        });
-        const schema2 = JSON.parse(this._metadata[AvroConstants_js_1.AVRO_SCHEMA_KEY]);
-        this._itemType = AvroParser_js_1.AvroType.fromSchema(schema2);
-        if (this._blockOffset === 0) {
-          this._blockOffset = this._initialBlockOffset + this._dataStream.position;
-        }
-        this._itemsRemainingInBlock = await AvroParser_js_1.AvroParser.readLong(this._dataStream, {
-          abortSignal: options.abortSignal
-        });
-        await AvroParser_js_1.AvroParser.readLong(this._dataStream, { abortSignal: options.abortSignal });
-        this._initialized = true;
-        if (this._objectIndex && this._objectIndex > 0) {
-          for (let i = 0; i < this._objectIndex; i++) {
-            await this._itemType.read(this._dataStream, { abortSignal: options.abortSignal });
-            this._itemsRemainingInBlock--;
-          }
-        }
+      let didOnEnd = false;
+      function onend() {
+        if (didOnEnd) return;
+        didOnEnd = true;
+        dest.end();
       }
-      hasNext() {
-        return !this._initialized || this._itemsRemainingInBlock > 0;
+      function onclose() {
+        if (didOnEnd) return;
+        didOnEnd = true;
+        if (typeof dest.destroy === "function") dest.destroy();
       }
-      async *parseObjects(options = {}) {
-        if (!this._initialized) {
-          await this.initialize(options);
-        }
-        while (this.hasNext()) {
-          const result = await this._itemType.read(this._dataStream, {
-            abortSignal: options.abortSignal
-          });
-          this._itemsRemainingInBlock--;
-          this._objectIndex++;
-          if (this._itemsRemainingInBlock === 0) {
-            const marker = await AvroParser_js_1.AvroParser.readFixedBytes(this._dataStream, AvroConstants_js_1.AVRO_SYNC_MARKER_SIZE, {
-              abortSignal: options.abortSignal
-            });
-            this._blockOffset = this._initialBlockOffset + this._dataStream.position;
-            this._objectIndex = 0;
-            if (!(0, utils_common_js_1.arraysEqual)(this._syncMarker, marker)) {
-              throw new Error("Stream is not a valid Avro file.");
-            }
-            try {
-              this._itemsRemainingInBlock = await AvroParser_js_1.AvroParser.readLong(this._dataStream, {
-                abortSignal: options.abortSignal
-              });
-            } catch {
-              this._itemsRemainingInBlock = 0;
-            }
-            if (this._itemsRemainingInBlock > 0) {
-              await AvroParser_js_1.AvroParser.readLong(this._dataStream, { abortSignal: options.abortSignal });
-            }
-          }
-          yield result;
+      function onerror(er) {
+        cleanup();
+        if (EE.listenerCount(this, "error") === 0) {
+          this.emit("error", er);
         }
       }
+      prependListener(source, "error", onerror);
+      prependListener(dest, "error", onerror);
+      function cleanup() {
+        source.removeListener("data", ondata);
+        dest.removeListener("drain", ondrain);
+        source.removeListener("end", onend);
+        source.removeListener("close", onclose);
+        source.removeListener("error", onerror);
+        dest.removeListener("error", onerror);
+        source.removeListener("end", cleanup);
+        source.removeListener("close", cleanup);
+        dest.removeListener("close", cleanup);
+      }
+      source.on("end", cleanup);
+      source.on("close", cleanup);
+      dest.on("close", cleanup);
+      dest.emit("pipe", source);
+      return dest;
+    };
+    function prependListener(emitter, event, fn) {
+      if (typeof emitter.prependListener === "function") return emitter.prependListener(event, fn);
+      if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);
+      else if (ArrayIsArray(emitter._events[event])) emitter._events[event].unshift(fn);
+      else emitter._events[event] = [fn, emitter._events[event]];
+    }
+    module2.exports = {
+      Stream,
+      prependListener
     };
-    exports2.AvroReader = AvroReader;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadable.js
-var require_AvroReadable = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadable.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/add-abort-signal.js
+var require_add_abort_signal = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/add-abort-signal.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AvroReadable = void 0;
-    var AvroReadable = class {
+    var { SymbolDispose } = require_primordials();
+    var { AbortError, codes } = require_errors4();
+    var { isNodeStream, isWebStream, kControllerErrorFunction } = require_utils8();
+    var eos = require_end_of_stream();
+    var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2 } = codes;
+    var addAbortListener;
+    var validateAbortSignal = (signal, name) => {
+      if (typeof signal !== "object" || !("aborted" in signal)) {
+        throw new ERR_INVALID_ARG_TYPE2(name, "AbortSignal", signal);
+      }
+    };
+    module2.exports.addAbortSignal = function addAbortSignal(signal, stream) {
+      validateAbortSignal(signal, "signal");
+      if (!isNodeStream(stream) && !isWebStream(stream)) {
+        throw new ERR_INVALID_ARG_TYPE2("stream", ["ReadableStream", "WritableStream", "Stream"], stream);
+      }
+      return module2.exports.addAbortSignalNoValidate(signal, stream);
+    };
+    module2.exports.addAbortSignalNoValidate = function(signal, stream) {
+      if (typeof signal !== "object" || !("aborted" in signal)) {
+        return stream;
+      }
+      const onAbort = isNodeStream(stream) ? () => {
+        stream.destroy(
+          new AbortError(void 0, {
+            cause: signal.reason
+          })
+        );
+      } : () => {
+        stream[kControllerErrorFunction](
+          new AbortError(void 0, {
+            cause: signal.reason
+          })
+        );
+      };
+      if (signal.aborted) {
+        onAbort();
+      } else {
+        addAbortListener = addAbortListener || require_util20().addAbortListener;
+        const disposable = addAbortListener(signal, onAbort);
+        eos(stream, disposable[SymbolDispose]);
+      }
+      return stream;
     };
-    exports2.AvroReadable = AvroReadable;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadableFromStream.js
-var require_AvroReadableFromStream = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadableFromStream.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/buffer_list.js
+var require_buffer_list = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/buffer_list.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AvroReadableFromStream = void 0;
-    var AvroReadable_js_1 = require_AvroReadable();
-    var abort_controller_1 = require_commonjs13();
-    var buffer_1 = require("buffer");
-    var ABORT_ERROR = new abort_controller_1.AbortError("Reading from the avro stream was aborted.");
-    var AvroReadableFromStream = class extends AvroReadable_js_1.AvroReadable {
-      _position;
-      _readable;
-      toUint8Array(data) {
-        if (typeof data === "string") {
-          return buffer_1.Buffer.from(data);
-        }
-        return data;
+    var { StringPrototypeSlice, SymbolIterator, TypedArrayPrototypeSet, Uint8Array: Uint8Array2 } = require_primordials();
+    var { Buffer: Buffer2 } = require("buffer");
+    var { inspect } = require_util20();
+    module2.exports = class BufferList {
+      constructor() {
+        this.head = null;
+        this.tail = null;
+        this.length = 0;
       }
-      constructor(readable) {
-        super();
-        this._readable = readable;
-        this._position = 0;
+      push(v) {
+        const entry = {
+          data: v,
+          next: null
+        };
+        if (this.length > 0) this.tail.next = entry;
+        else this.head = entry;
+        this.tail = entry;
+        ++this.length;
       }
-      get position() {
-        return this._position;
+      unshift(v) {
+        const entry = {
+          data: v,
+          next: this.head
+        };
+        if (this.length === 0) this.tail = entry;
+        this.head = entry;
+        ++this.length;
       }
-      async read(size, options = {}) {
-        if (options.abortSignal?.aborted) {
-          throw ABORT_ERROR;
+      shift() {
+        if (this.length === 0) return;
+        const ret = this.head.data;
+        if (this.length === 1) this.head = this.tail = null;
+        else this.head = this.head.next;
+        --this.length;
+        return ret;
+      }
+      clear() {
+        this.head = this.tail = null;
+        this.length = 0;
+      }
+      join(s) {
+        if (this.length === 0) return "";
+        let p = this.head;
+        let ret = "" + p.data;
+        while ((p = p.next) !== null) ret += s + p.data;
+        return ret;
+      }
+      concat(n) {
+        if (this.length === 0) return Buffer2.alloc(0);
+        const ret = Buffer2.allocUnsafe(n >>> 0);
+        let p = this.head;
+        let i = 0;
+        while (p) {
+          TypedArrayPrototypeSet(ret, p.data, i);
+          i += p.data.length;
+          p = p.next;
         }
-        if (size < 0) {
-          throw new Error(`size parameter should be positive: ${size}`);
+        return ret;
+      }
+      // Consumes a specified amount of bytes or characters from the buffered data.
+      consume(n, hasStrings) {
+        const data = this.head.data;
+        if (n < data.length) {
+          const slice = data.slice(0, n);
+          this.head.data = data.slice(n);
+          return slice;
         }
-        if (size === 0) {
-          return new Uint8Array();
+        if (n === data.length) {
+          return this.shift();
         }
-        if (!this._readable.readable) {
-          throw new Error("Stream no longer readable.");
+        return hasStrings ? this._getString(n) : this._getBuffer(n);
+      }
+      first() {
+        return this.head.data;
+      }
+      *[SymbolIterator]() {
+        for (let p = this.head; p; p = p.next) {
+          yield p.data;
         }
-        const chunk = this._readable.read(size);
-        if (chunk) {
-          this._position += chunk.length;
-          return this.toUint8Array(chunk);
-        } else {
-          return new Promise((resolve2, reject) => {
-            const cleanUp = () => {
-              this._readable.removeListener("readable", readableCallback);
-              this._readable.removeListener("error", rejectCallback);
-              this._readable.removeListener("end", rejectCallback);
-              this._readable.removeListener("close", rejectCallback);
-              if (options.abortSignal) {
-                options.abortSignal.removeEventListener("abort", abortHandler);
-              }
-            };
-            const readableCallback = () => {
-              const callbackChunk = this._readable.read(size);
-              if (callbackChunk) {
-                this._position += callbackChunk.length;
-                cleanUp();
-                resolve2(this.toUint8Array(callbackChunk));
-              }
-            };
-            const rejectCallback = () => {
-              cleanUp();
-              reject();
-            };
-            const abortHandler = () => {
-              cleanUp();
-              reject(ABORT_ERROR);
-            };
-            this._readable.on("readable", readableCallback);
-            this._readable.once("error", rejectCallback);
-            this._readable.once("end", rejectCallback);
-            this._readable.once("close", rejectCallback);
-            if (options.abortSignal) {
-              options.abortSignal.addEventListener("abort", abortHandler);
+      }
+      // Consumes a specified amount of characters from the buffered data.
+      _getString(n) {
+        let ret = "";
+        let p = this.head;
+        let c = 0;
+        do {
+          const str2 = p.data;
+          if (n > str2.length) {
+            ret += str2;
+            n -= str2.length;
+          } else {
+            if (n === str2.length) {
+              ret += str2;
+              ++c;
+              if (p.next) this.head = p.next;
+              else this.head = this.tail = null;
+            } else {
+              ret += StringPrototypeSlice(str2, 0, n);
+              this.head = p;
+              p.data = StringPrototypeSlice(str2, n);
+            }
+            break;
+          }
+          ++c;
+        } while ((p = p.next) !== null);
+        this.length -= c;
+        return ret;
+      }
+      // Consumes a specified amount of bytes from the buffered data.
+      _getBuffer(n) {
+        const ret = Buffer2.allocUnsafe(n);
+        const retLen = n;
+        let p = this.head;
+        let c = 0;
+        do {
+          const buf = p.data;
+          if (n > buf.length) {
+            TypedArrayPrototypeSet(ret, buf, retLen - n);
+            n -= buf.length;
+          } else {
+            if (n === buf.length) {
+              TypedArrayPrototypeSet(ret, buf, retLen - n);
+              ++c;
+              if (p.next) this.head = p.next;
+              else this.head = this.tail = null;
+            } else {
+              TypedArrayPrototypeSet(ret, new Uint8Array2(buf.buffer, buf.byteOffset, n), retLen - n);
+              this.head = p;
+              p.data = buf.slice(n);
             }
-          });
-        }
+            break;
+          }
+          ++c;
+        } while ((p = p.next) !== null);
+        this.length -= c;
+        return ret;
+      }
+      // Make sure the linked list only shows the minimal necessary information.
+      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")](_2, options) {
+        return inspect(this, {
+          ...options,
+          // Only inspect one level.
+          depth: 0,
+          // It should not recurse.
+          customInspect: false
+        });
       }
     };
-    exports2.AvroReadableFromStream = AvroReadableFromStream;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/index.js
-var require_internal_avro = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/index.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/state.js
+var require_state3 = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/state.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AvroReadableFromStream = exports2.AvroReadable = exports2.AvroReader = void 0;
-    var AvroReader_js_1 = require_AvroReader();
-    Object.defineProperty(exports2, "AvroReader", { enumerable: true, get: function() {
-      return AvroReader_js_1.AvroReader;
-    } });
-    var AvroReadable_js_1 = require_AvroReadable();
-    Object.defineProperty(exports2, "AvroReadable", { enumerable: true, get: function() {
-      return AvroReadable_js_1.AvroReadable;
-    } });
-    var AvroReadableFromStream_js_1 = require_AvroReadableFromStream();
-    Object.defineProperty(exports2, "AvroReadableFromStream", { enumerable: true, get: function() {
-      return AvroReadableFromStream_js_1.AvroReadableFromStream;
-    } });
+    var { MathFloor, NumberIsInteger } = require_primordials();
+    var { validateInteger } = require_validators();
+    var { ERR_INVALID_ARG_VALUE } = require_errors4().codes;
+    var defaultHighWaterMarkBytes = 16 * 1024;
+    var defaultHighWaterMarkObjectMode = 16;
+    function highWaterMarkFrom(options, isDuplex, duplexKey) {
+      return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;
+    }
+    function getDefaultHighWaterMark(objectMode) {
+      return objectMode ? defaultHighWaterMarkObjectMode : defaultHighWaterMarkBytes;
+    }
+    function setDefaultHighWaterMark(objectMode, value) {
+      validateInteger(value, "value", 0);
+      if (objectMode) {
+        defaultHighWaterMarkObjectMode = value;
+      } else {
+        defaultHighWaterMarkBytes = value;
+      }
+    }
+    function getHighWaterMark(state, options, duplexKey, isDuplex) {
+      const hwm = highWaterMarkFrom(options, isDuplex, duplexKey);
+      if (hwm != null) {
+        if (!NumberIsInteger(hwm) || hwm < 0) {
+          const name = isDuplex ? `options.${duplexKey}` : "options.highWaterMark";
+          throw new ERR_INVALID_ARG_VALUE(name, hwm);
+        }
+        return MathFloor(hwm);
+      }
+      return getDefaultHighWaterMark(state.objectMode);
+    }
+    module2.exports = {
+      getHighWaterMark,
+      getDefaultHighWaterMark,
+      setDefaultHighWaterMark
+    };
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/utils/BlobQuickQueryStream.js
-var require_BlobQuickQueryStream = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/BlobQuickQueryStream.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/from.js
+var require_from = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/from.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobQuickQueryStream = void 0;
-    var node_stream_1 = require("node:stream");
-    var index_js_1 = require_internal_avro();
-    var BlobQuickQueryStream = class extends node_stream_1.Readable {
-      source;
-      avroReader;
-      avroIter;
-      avroPaused = true;
-      onProgress;
-      onError;
-      /**
-       * Creates an instance of BlobQuickQueryStream.
-       *
-       * @param source - The current ReadableStream returned from getter
-       * @param options -
-       */
-      constructor(source, options = {}) {
-        super();
-        this.source = source;
-        this.onProgress = options.onProgress;
-        this.onError = options.onError;
-        this.avroReader = new index_js_1.AvroReader(new index_js_1.AvroReadableFromStream(this.source));
-        this.avroIter = this.avroReader.parseObjects({ abortSignal: options.abortSignal });
+    var process2 = require_process();
+    var { PromisePrototypeThen, SymbolAsyncIterator, SymbolIterator } = require_primordials();
+    var { Buffer: Buffer2 } = require("buffer");
+    var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_NULL_VALUES } = require_errors4().codes;
+    function from(Readable, iterable, opts) {
+      let iterator2;
+      if (typeof iterable === "string" || iterable instanceof Buffer2) {
+        return new Readable({
+          objectMode: true,
+          ...opts,
+          read() {
+            this.push(iterable);
+            this.push(null);
+          }
+        });
       }
-      _read() {
-        if (this.avroPaused) {
-          this.readInternal().catch((err) => {
-            this.emit("error", err);
-          });
-        }
+      let isAsync;
+      if (iterable && iterable[SymbolAsyncIterator]) {
+        isAsync = true;
+        iterator2 = iterable[SymbolAsyncIterator]();
+      } else if (iterable && iterable[SymbolIterator]) {
+        isAsync = false;
+        iterator2 = iterable[SymbolIterator]();
+      } else {
+        throw new ERR_INVALID_ARG_TYPE2("iterable", ["Iterable"], iterable);
       }
-      async readInternal() {
-        this.avroPaused = false;
-        let avroNext;
-        do {
-          avroNext = await this.avroIter.next();
-          if (avroNext.done) {
-            break;
-          }
-          const obj = avroNext.value;
-          const schema2 = obj.$schema;
-          if (typeof schema2 !== "string") {
-            throw Error("Missing schema in avro record.");
+      const readable = new Readable({
+        objectMode: true,
+        highWaterMark: 1,
+        // TODO(ronag): What options should be allowed?
+        ...opts
+      });
+      let reading = false;
+      readable._read = function() {
+        if (!reading) {
+          reading = true;
+          next();
+        }
+      };
+      readable._destroy = function(error3, cb) {
+        PromisePrototypeThen(
+          close(error3),
+          () => process2.nextTick(cb, error3),
+          // nextTick is here in case cb throws
+          (e) => process2.nextTick(cb, e || error3)
+        );
+      };
+      async function close(error3) {
+        const hadError = error3 !== void 0 && error3 !== null;
+        const hasThrow = typeof iterator2.throw === "function";
+        if (hadError && hasThrow) {
+          const { value, done } = await iterator2.throw(error3);
+          await value;
+          if (done) {
+            return;
           }
-          switch (schema2) {
-            case "com.microsoft.azure.storage.queryBlobContents.resultData":
-              {
-                const data = obj.data;
-                if (data instanceof Uint8Array === false) {
-                  throw Error("Invalid data in avro result record.");
-                }
-                if (!this.push(Buffer.from(data))) {
-                  this.avroPaused = true;
-                }
-              }
-              break;
-            case "com.microsoft.azure.storage.queryBlobContents.progress":
-              {
-                const bytesScanned = obj.bytesScanned;
-                if (typeof bytesScanned !== "number") {
-                  throw Error("Invalid bytesScanned in avro progress record.");
-                }
-                if (this.onProgress) {
-                  this.onProgress({ loadedBytes: bytesScanned });
-                }
-              }
-              break;
-            case "com.microsoft.azure.storage.queryBlobContents.end":
-              if (this.onProgress) {
-                const totalBytes = obj.totalBytes;
-                if (typeof totalBytes !== "number") {
-                  throw Error("Invalid totalBytes in avro end record.");
-                }
-                this.onProgress({ loadedBytes: totalBytes });
-              }
-              this.push(null);
-              break;
-            case "com.microsoft.azure.storage.queryBlobContents.error":
-              if (this.onError) {
-                const fatal = obj.fatal;
-                if (typeof fatal !== "boolean") {
-                  throw Error("Invalid fatal in avro error record.");
-                }
-                const name = obj.name;
-                if (typeof name !== "string") {
-                  throw Error("Invalid name in avro error record.");
-                }
-                const description = obj.description;
-                if (typeof description !== "string") {
-                  throw Error("Invalid description in avro error record.");
-                }
-                const position = obj.position;
-                if (typeof position !== "number") {
-                  throw Error("Invalid position in avro error record.");
-                }
-                this.onError({
-                  position,
-                  name,
-                  isFatal: fatal,
-                  description
-                });
+        }
+        if (typeof iterator2.return === "function") {
+          const { value } = await iterator2.return();
+          await value;
+        }
+      }
+      async function next() {
+        for (; ; ) {
+          try {
+            const { value, done } = isAsync ? await iterator2.next() : iterator2.next();
+            if (done) {
+              readable.push(null);
+            } else {
+              const res = value && typeof value.then === "function" ? await value : value;
+              if (res === null) {
+                reading = false;
+                throw new ERR_STREAM_NULL_VALUES();
+              } else if (readable.push(res)) {
+                continue;
+              } else {
+                reading = false;
               }
-              break;
-            default:
-              throw Error(`Unknown schema ${schema2} in avro progress record.`);
+            }
+          } catch (err) {
+            readable.destroy(err);
           }
-        } while (!avroNext.done && !this.avroPaused);
+          break;
+        }
       }
-    };
-    exports2.BlobQuickQueryStream = BlobQuickQueryStream;
+      return readable;
+    }
+    module2.exports = from;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/BlobQueryResponse.js
-var require_BlobQueryResponse = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BlobQueryResponse.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobQueryResponse = void 0;
-    var core_util_1 = require_commonjs6();
-    var BlobQuickQueryStream_js_1 = require_BlobQuickQueryStream();
-    var BlobQueryResponse = class {
-      /**
-       * Indicates that the service supports
-       * requests for partial file content.
-       *
-       * @readonly
-       */
-      get acceptRanges() {
-        return this.originalResponse.acceptRanges;
+// node_modules/readable-stream/lib/internal/streams/readable.js
+var require_readable4 = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/readable.js"(exports2, module2) {
+    var process2 = require_process();
+    var {
+      ArrayPrototypeIndexOf,
+      NumberIsInteger,
+      NumberIsNaN,
+      NumberParseInt,
+      ObjectDefineProperties,
+      ObjectKeys,
+      ObjectSetPrototypeOf,
+      Promise: Promise2,
+      SafeSet,
+      SymbolAsyncDispose,
+      SymbolAsyncIterator,
+      Symbol: Symbol2
+    } = require_primordials();
+    module2.exports = Readable;
+    Readable.ReadableState = ReadableState;
+    var { EventEmitter: EE } = require("events");
+    var { Stream, prependListener } = require_legacy();
+    var { Buffer: Buffer2 } = require("buffer");
+    var { addAbortSignal } = require_add_abort_signal();
+    var eos = require_end_of_stream();
+    var debug4 = require_util20().debuglog("stream", (fn) => {
+      debug4 = fn;
+    });
+    var BufferList = require_buffer_list();
+    var destroyImpl = require_destroy2();
+    var { getHighWaterMark, getDefaultHighWaterMark } = require_state3();
+    var {
+      aggregateTwoErrors,
+      codes: {
+        ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,
+        ERR_METHOD_NOT_IMPLEMENTED,
+        ERR_OUT_OF_RANGE,
+        ERR_STREAM_PUSH_AFTER_EOF,
+        ERR_STREAM_UNSHIFT_AFTER_END_EVENT
+      },
+      AbortError
+    } = require_errors4();
+    var { validateObject } = require_validators();
+    var kPaused = Symbol2("kPaused");
+    var { StringDecoder } = require("string_decoder");
+    var from = require_from();
+    ObjectSetPrototypeOf(Readable.prototype, Stream.prototype);
+    ObjectSetPrototypeOf(Readable, Stream);
+    var nop = () => {
+    };
+    var { errorOrDestroy } = destroyImpl;
+    var kObjectMode = 1 << 0;
+    var kEnded = 1 << 1;
+    var kEndEmitted = 1 << 2;
+    var kReading = 1 << 3;
+    var kConstructed = 1 << 4;
+    var kSync = 1 << 5;
+    var kNeedReadable = 1 << 6;
+    var kEmittedReadable = 1 << 7;
+    var kReadableListening = 1 << 8;
+    var kResumeScheduled = 1 << 9;
+    var kErrorEmitted = 1 << 10;
+    var kEmitClose = 1 << 11;
+    var kAutoDestroy = 1 << 12;
+    var kDestroyed = 1 << 13;
+    var kClosed = 1 << 14;
+    var kCloseEmitted = 1 << 15;
+    var kMultiAwaitDrain = 1 << 16;
+    var kReadingMore = 1 << 17;
+    var kDataEmitted = 1 << 18;
+    function makeBitMapDescriptor(bit) {
+      return {
+        enumerable: false,
+        get() {
+          return (this.state & bit) !== 0;
+        },
+        set(value) {
+          if (value) this.state |= bit;
+          else this.state &= ~bit;
+        }
+      };
+    }
+    ObjectDefineProperties(ReadableState.prototype, {
+      objectMode: makeBitMapDescriptor(kObjectMode),
+      ended: makeBitMapDescriptor(kEnded),
+      endEmitted: makeBitMapDescriptor(kEndEmitted),
+      reading: makeBitMapDescriptor(kReading),
+      // Stream is still being constructed and cannot be
+      // destroyed until construction finished or failed.
+      // Async construction is opt in, therefore we start as
+      // constructed.
+      constructed: makeBitMapDescriptor(kConstructed),
+      // A flag to be able to tell if the event 'readable'/'data' is emitted
+      // immediately, or on a later tick.  We set this to true at first, because
+      // any actions that shouldn't happen until "later" should generally also
+      // not happen before the first read call.
+      sync: makeBitMapDescriptor(kSync),
+      // Whenever we return null, then we set a flag to say
+      // that we're awaiting a 'readable' event emission.
+      needReadable: makeBitMapDescriptor(kNeedReadable),
+      emittedReadable: makeBitMapDescriptor(kEmittedReadable),
+      readableListening: makeBitMapDescriptor(kReadableListening),
+      resumeScheduled: makeBitMapDescriptor(kResumeScheduled),
+      // True if the error was already emitted and should not be thrown again.
+      errorEmitted: makeBitMapDescriptor(kErrorEmitted),
+      emitClose: makeBitMapDescriptor(kEmitClose),
+      autoDestroy: makeBitMapDescriptor(kAutoDestroy),
+      // Has it been destroyed.
+      destroyed: makeBitMapDescriptor(kDestroyed),
+      // Indicates whether the stream has finished destroying.
+      closed: makeBitMapDescriptor(kClosed),
+      // True if close has been emitted or would have been emitted
+      // depending on emitClose.
+      closeEmitted: makeBitMapDescriptor(kCloseEmitted),
+      multiAwaitDrain: makeBitMapDescriptor(kMultiAwaitDrain),
+      // If true, a maybeReadMore has been scheduled.
+      readingMore: makeBitMapDescriptor(kReadingMore),
+      dataEmitted: makeBitMapDescriptor(kDataEmitted)
+    });
+    function ReadableState(options, stream, isDuplex) {
+      if (typeof isDuplex !== "boolean") isDuplex = stream instanceof require_duplex();
+      this.state = kEmitClose | kAutoDestroy | kConstructed | kSync;
+      if (options && options.objectMode) this.state |= kObjectMode;
+      if (isDuplex && options && options.readableObjectMode) this.state |= kObjectMode;
+      this.highWaterMark = options ? getHighWaterMark(this, options, "readableHighWaterMark", isDuplex) : getDefaultHighWaterMark(false);
+      this.buffer = new BufferList();
+      this.length = 0;
+      this.pipes = [];
+      this.flowing = null;
+      this[kPaused] = null;
+      if (options && options.emitClose === false) this.state &= ~kEmitClose;
+      if (options && options.autoDestroy === false) this.state &= ~kAutoDestroy;
+      this.errored = null;
+      this.defaultEncoding = options && options.defaultEncoding || "utf8";
+      this.awaitDrainWriters = null;
+      this.decoder = null;
+      this.encoding = null;
+      if (options && options.encoding) {
+        this.decoder = new StringDecoder(options.encoding);
+        this.encoding = options.encoding;
       }
-      /**
-       * Returns if it was previously specified
-       * for the file.
-       *
-       * @readonly
-       */
-      get cacheControl() {
-        return this.originalResponse.cacheControl;
+    }
+    function Readable(options) {
+      if (!(this instanceof Readable)) return new Readable(options);
+      const isDuplex = this instanceof require_duplex();
+      this._readableState = new ReadableState(options, this, isDuplex);
+      if (options) {
+        if (typeof options.read === "function") this._read = options.read;
+        if (typeof options.destroy === "function") this._destroy = options.destroy;
+        if (typeof options.construct === "function") this._construct = options.construct;
+        if (options.signal && !isDuplex) addAbortSignal(options.signal, this);
       }
-      /**
-       * Returns the value that was specified
-       * for the 'x-ms-content-disposition' header and specifies how to process the
-       * response.
-       *
-       * @readonly
-       */
-      get contentDisposition() {
-        return this.originalResponse.contentDisposition;
+      Stream.call(this, options);
+      destroyImpl.construct(this, () => {
+        if (this._readableState.needReadable) {
+          maybeReadMore(this, this._readableState);
+        }
+      });
+    }
+    Readable.prototype.destroy = destroyImpl.destroy;
+    Readable.prototype._undestroy = destroyImpl.undestroy;
+    Readable.prototype._destroy = function(err, cb) {
+      cb(err);
+    };
+    Readable.prototype[EE.captureRejectionSymbol] = function(err) {
+      this.destroy(err);
+    };
+    Readable.prototype[SymbolAsyncDispose] = function() {
+      let error3;
+      if (!this.destroyed) {
+        error3 = this.readableEnded ? null : new AbortError();
+        this.destroy(error3);
       }
-      /**
-       * Returns the value that was specified
-       * for the Content-Encoding request header.
-       *
-       * @readonly
-       */
-      get contentEncoding() {
-        return this.originalResponse.contentEncoding;
+      return new Promise2((resolve2, reject) => eos(this, (err) => err && err !== error3 ? reject(err) : resolve2(null)));
+    };
+    Readable.prototype.push = function(chunk, encoding) {
+      return readableAddChunk(this, chunk, encoding, false);
+    };
+    Readable.prototype.unshift = function(chunk, encoding) {
+      return readableAddChunk(this, chunk, encoding, true);
+    };
+    function readableAddChunk(stream, chunk, encoding, addToFront) {
+      debug4("readableAddChunk", chunk);
+      const state = stream._readableState;
+      let err;
+      if ((state.state & kObjectMode) === 0) {
+        if (typeof chunk === "string") {
+          encoding = encoding || state.defaultEncoding;
+          if (state.encoding !== encoding) {
+            if (addToFront && state.encoding) {
+              chunk = Buffer2.from(chunk, encoding).toString(state.encoding);
+            } else {
+              chunk = Buffer2.from(chunk, encoding);
+              encoding = "";
+            }
+          }
+        } else if (chunk instanceof Buffer2) {
+          encoding = "";
+        } else if (Stream._isUint8Array(chunk)) {
+          chunk = Stream._uint8ArrayToBuffer(chunk);
+          encoding = "";
+        } else if (chunk != null) {
+          err = new ERR_INVALID_ARG_TYPE2("chunk", ["string", "Buffer", "Uint8Array"], chunk);
+        }
       }
-      /**
-       * Returns the value that was specified
-       * for the Content-Language request header.
-       *
-       * @readonly
-       */
-      get contentLanguage() {
-        return this.originalResponse.contentLanguage;
+      if (err) {
+        errorOrDestroy(stream, err);
+      } else if (chunk === null) {
+        state.state &= ~kReading;
+        onEofChunk(stream, state);
+      } else if ((state.state & kObjectMode) !== 0 || chunk && chunk.length > 0) {
+        if (addToFront) {
+          if ((state.state & kEndEmitted) !== 0) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());
+          else if (state.destroyed || state.errored) return false;
+          else addChunk(stream, state, chunk, true);
+        } else if (state.ended) {
+          errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());
+        } else if (state.destroyed || state.errored) {
+          return false;
+        } else {
+          state.state &= ~kReading;
+          if (state.decoder && !encoding) {
+            chunk = state.decoder.write(chunk);
+            if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);
+            else maybeReadMore(stream, state);
+          } else {
+            addChunk(stream, state, chunk, false);
+          }
+        }
+      } else if (!addToFront) {
+        state.state &= ~kReading;
+        maybeReadMore(stream, state);
       }
-      /**
-       * The current sequence number for a
-       * page blob. This header is not returned for block blobs or append blobs.
-       *
-       * @readonly
-       */
-      get blobSequenceNumber() {
-        return this.originalResponse.blobSequenceNumber;
+      return !state.ended && (state.length < state.highWaterMark || state.length === 0);
+    }
+    function addChunk(stream, state, chunk, addToFront) {
+      if (state.flowing && state.length === 0 && !state.sync && stream.listenerCount("data") > 0) {
+        if ((state.state & kMultiAwaitDrain) !== 0) {
+          state.awaitDrainWriters.clear();
+        } else {
+          state.awaitDrainWriters = null;
+        }
+        state.dataEmitted = true;
+        stream.emit("data", chunk);
+      } else {
+        state.length += state.objectMode ? 1 : chunk.length;
+        if (addToFront) state.buffer.unshift(chunk);
+        else state.buffer.push(chunk);
+        if ((state.state & kNeedReadable) !== 0) emitReadable(stream);
       }
-      /**
-       * The blob's type. Possible values include:
-       * 'BlockBlob', 'PageBlob', 'AppendBlob'.
-       *
-       * @readonly
-       */
-      get blobType() {
-        return this.originalResponse.blobType;
+      maybeReadMore(stream, state);
+    }
+    Readable.prototype.isPaused = function() {
+      const state = this._readableState;
+      return state[kPaused] === true || state.flowing === false;
+    };
+    Readable.prototype.setEncoding = function(enc) {
+      const decoder = new StringDecoder(enc);
+      this._readableState.decoder = decoder;
+      this._readableState.encoding = this._readableState.decoder.encoding;
+      const buffer = this._readableState.buffer;
+      let content = "";
+      for (const data of buffer) {
+        content += decoder.write(data);
       }
-      /**
-       * The number of bytes present in the
-       * response body.
-       *
-       * @readonly
-       */
-      get contentLength() {
-        return this.originalResponse.contentLength;
+      buffer.clear();
+      if (content !== "") buffer.push(content);
+      this._readableState.length = content.length;
+      return this;
+    };
+    var MAX_HWM = 1073741824;
+    function computeNewHighWaterMark(n) {
+      if (n > MAX_HWM) {
+        throw new ERR_OUT_OF_RANGE("size", "<= 1GiB", n);
+      } else {
+        n--;
+        n |= n >>> 1;
+        n |= n >>> 2;
+        n |= n >>> 4;
+        n |= n >>> 8;
+        n |= n >>> 16;
+        n++;
       }
-      /**
-       * If the file has an MD5 hash and the
-       * request is to read the full file, this response header is returned so that
-       * the client can check for message content integrity. If the request is to
-       * read a specified range and the 'x-ms-range-get-content-md5' is set to
-       * true, then the request returns an MD5 hash for the range, as long as the
-       * range size is less than or equal to 4 MB. If neither of these sets of
-       * conditions is true, then no value is returned for the 'Content-MD5'
-       * header.
-       *
-       * @readonly
-       */
-      get contentMD5() {
-        return this.originalResponse.contentMD5;
+      return n;
+    }
+    function howMuchToRead(n, state) {
+      if (n <= 0 || state.length === 0 && state.ended) return 0;
+      if ((state.state & kObjectMode) !== 0) return 1;
+      if (NumberIsNaN(n)) {
+        if (state.flowing && state.length) return state.buffer.first().length;
+        return state.length;
       }
-      /**
-       * Indicates the range of bytes returned if
-       * the client requested a subset of the file by setting the Range request
-       * header.
-       *
-       * @readonly
-       */
-      get contentRange() {
-        return this.originalResponse.contentRange;
+      if (n <= state.length) return n;
+      return state.ended ? state.length : 0;
+    }
+    Readable.prototype.read = function(n) {
+      debug4("read", n);
+      if (n === void 0) {
+        n = NaN;
+      } else if (!NumberIsInteger(n)) {
+        n = NumberParseInt(n, 10);
       }
-      /**
-       * The content type specified for the file.
-       * The default content type is 'application/octet-stream'
-       *
-       * @readonly
-       */
-      get contentType() {
-        return this.originalResponse.contentType;
+      const state = this._readableState;
+      const nOrig = n;
+      if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);
+      if (n !== 0) state.state &= ~kEmittedReadable;
+      if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {
+        debug4("read: emitReadable", state.length, state.ended);
+        if (state.length === 0 && state.ended) endReadable(this);
+        else emitReadable(this);
+        return null;
       }
-      /**
-       * Conclusion time of the last attempted
-       * Copy File operation where this file was the destination file. This value
-       * can specify the time of a completed, aborted, or failed copy attempt.
-       *
-       * @readonly
-       */
-      get copyCompletedOn() {
-        return void 0;
+      n = howMuchToRead(n, state);
+      if (n === 0 && state.ended) {
+        if (state.length === 0) endReadable(this);
+        return null;
       }
-      /**
-       * String identifier for the last attempted Copy
-       * File operation where this file was the destination file.
-       *
-       * @readonly
-       */
-      get copyId() {
-        return this.originalResponse.copyId;
+      let doRead = (state.state & kNeedReadable) !== 0;
+      debug4("need readable", doRead);
+      if (state.length === 0 || state.length - n < state.highWaterMark) {
+        doRead = true;
+        debug4("length less than watermark", doRead);
       }
-      /**
-       * Contains the number of bytes copied and
-       * the total bytes in the source in the last attempted Copy File operation
-       * where this file was the destination file. Can show between 0 and
-       * Content-Length bytes copied.
-       *
-       * @readonly
-       */
-      get copyProgress() {
-        return this.originalResponse.copyProgress;
+      if (state.ended || state.reading || state.destroyed || state.errored || !state.constructed) {
+        doRead = false;
+        debug4("reading, ended or constructing", doRead);
+      } else if (doRead) {
+        debug4("do read");
+        state.state |= kReading | kSync;
+        if (state.length === 0) state.state |= kNeedReadable;
+        try {
+          this._read(state.highWaterMark);
+        } catch (err) {
+          errorOrDestroy(this, err);
+        }
+        state.state &= ~kSync;
+        if (!state.reading) n = howMuchToRead(nOrig, state);
       }
-      /**
-       * URL up to 2KB in length that specifies the
-       * source file used in the last attempted Copy File operation where this file
-       * was the destination file.
-       *
-       * @readonly
-       */
-      get copySource() {
-        return this.originalResponse.copySource;
+      let ret;
+      if (n > 0) ret = fromList(n, state);
+      else ret = null;
+      if (ret === null) {
+        state.needReadable = state.length <= state.highWaterMark;
+        n = 0;
+      } else {
+        state.length -= n;
+        if (state.multiAwaitDrain) {
+          state.awaitDrainWriters.clear();
+        } else {
+          state.awaitDrainWriters = null;
+        }
       }
-      /**
-       * State of the copy operation
-       * identified by 'x-ms-copy-id'. Possible values include: 'pending',
-       * 'success', 'aborted', 'failed'
-       *
-       * @readonly
-       */
-      get copyStatus() {
-        return this.originalResponse.copyStatus;
+      if (state.length === 0) {
+        if (!state.ended) state.needReadable = true;
+        if (nOrig !== n && state.ended) endReadable(this);
       }
-      /**
-       * Only appears when
-       * x-ms-copy-status is failed or pending. Describes cause of fatal or
-       * non-fatal copy operation failure.
-       *
-       * @readonly
-       */
-      get copyStatusDescription() {
-        return this.originalResponse.copyStatusDescription;
+      if (ret !== null && !state.errorEmitted && !state.closeEmitted) {
+        state.dataEmitted = true;
+        this.emit("data", ret);
       }
-      /**
-       * When a blob is leased,
-       * specifies whether the lease is of infinite or fixed duration. Possible
-       * values include: 'infinite', 'fixed'.
-       *
-       * @readonly
-       */
-      get leaseDuration() {
-        return this.originalResponse.leaseDuration;
+      return ret;
+    };
+    function onEofChunk(stream, state) {
+      debug4("onEofChunk");
+      if (state.ended) return;
+      if (state.decoder) {
+        const chunk = state.decoder.end();
+        if (chunk && chunk.length) {
+          state.buffer.push(chunk);
+          state.length += state.objectMode ? 1 : chunk.length;
+        }
       }
-      /**
-       * Lease state of the blob. Possible
-       * values include: 'available', 'leased', 'expired', 'breaking', 'broken'.
-       *
-       * @readonly
-       */
-      get leaseState() {
-        return this.originalResponse.leaseState;
+      state.ended = true;
+      if (state.sync) {
+        emitReadable(stream);
+      } else {
+        state.needReadable = false;
+        state.emittedReadable = true;
+        emitReadable_(stream);
       }
-      /**
-       * The current lease status of the
-       * blob. Possible values include: 'locked', 'unlocked'.
-       *
-       * @readonly
-       */
-      get leaseStatus() {
-        return this.originalResponse.leaseStatus;
+    }
+    function emitReadable(stream) {
+      const state = stream._readableState;
+      debug4("emitReadable", state.needReadable, state.emittedReadable);
+      state.needReadable = false;
+      if (!state.emittedReadable) {
+        debug4("emitReadable", state.flowing);
+        state.emittedReadable = true;
+        process2.nextTick(emitReadable_, stream);
       }
-      /**
-       * A UTC date/time value generated by the service that
-       * indicates the time at which the response was initiated.
-       *
-       * @readonly
-       */
-      get date() {
-        return this.originalResponse.date;
+    }
+    function emitReadable_(stream) {
+      const state = stream._readableState;
+      debug4("emitReadable_", state.destroyed, state.length, state.ended);
+      if (!state.destroyed && !state.errored && (state.length || state.ended)) {
+        stream.emit("readable");
+        state.emittedReadable = false;
       }
-      /**
-       * The number of committed blocks
-       * present in the blob. This header is returned only for append blobs.
-       *
-       * @readonly
-       */
-      get blobCommittedBlockCount() {
-        return this.originalResponse.blobCommittedBlockCount;
+      state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;
+      flow(stream);
+    }
+    function maybeReadMore(stream, state) {
+      if (!state.readingMore && state.constructed) {
+        state.readingMore = true;
+        process2.nextTick(maybeReadMore_, stream, state);
       }
-      /**
-       * The ETag contains a value that you can use to
-       * perform operations conditionally, in quotes.
-       *
-       * @readonly
-       */
-      get etag() {
-        return this.originalResponse.etag;
+    }
+    function maybeReadMore_(stream, state) {
+      while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {
+        const len = state.length;
+        debug4("maybeReadMore read 0");
+        stream.read(0);
+        if (len === state.length)
+          break;
       }
-      /**
-       * The error code.
-       *
-       * @readonly
-       */
-      get errorCode() {
-        return this.originalResponse.errorCode;
+      state.readingMore = false;
+    }
+    Readable.prototype._read = function(n) {
+      throw new ERR_METHOD_NOT_IMPLEMENTED("_read()");
+    };
+    Readable.prototype.pipe = function(dest, pipeOpts) {
+      const src = this;
+      const state = this._readableState;
+      if (state.pipes.length === 1) {
+        if (!state.multiAwaitDrain) {
+          state.multiAwaitDrain = true;
+          state.awaitDrainWriters = new SafeSet(state.awaitDrainWriters ? [state.awaitDrainWriters] : []);
+        }
       }
-      /**
-       * The value of this header is set to
-       * true if the file data and application metadata are completely encrypted
-       * using the specified algorithm. Otherwise, the value is set to false (when
-       * the file is unencrypted, or if only parts of the file/application metadata
-       * are encrypted).
-       *
-       * @readonly
-       */
-      get isServerEncrypted() {
-        return this.originalResponse.isServerEncrypted;
+      state.pipes.push(dest);
+      debug4("pipe count=%d opts=%j", state.pipes.length, pipeOpts);
+      const doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process2.stdout && dest !== process2.stderr;
+      const endFn = doEnd ? onend : unpipe;
+      if (state.endEmitted) process2.nextTick(endFn);
+      else src.once("end", endFn);
+      dest.on("unpipe", onunpipe);
+      function onunpipe(readable, unpipeInfo) {
+        debug4("onunpipe");
+        if (readable === src) {
+          if (unpipeInfo && unpipeInfo.hasUnpiped === false) {
+            unpipeInfo.hasUnpiped = true;
+            cleanup();
+          }
+        }
       }
-      /**
-       * If the blob has a MD5 hash, and if
-       * request contains range header (Range or x-ms-range), this response header
-       * is returned with the value of the whole blob's MD5 value. This value may
-       * or may not be equal to the value returned in Content-MD5 header, with the
-       * latter calculated from the requested range.
-       *
-       * @readonly
-       */
-      get blobContentMD5() {
-        return this.originalResponse.blobContentMD5;
+      function onend() {
+        debug4("onend");
+        dest.end();
       }
-      /**
-       * Returns the date and time the file was last
-       * modified. Any operation that modifies the file or its properties updates
-       * the last modified time.
-       *
-       * @readonly
-       */
-      get lastModified() {
-        return this.originalResponse.lastModified;
+      let ondrain;
+      let cleanedUp = false;
+      function cleanup() {
+        debug4("cleanup");
+        dest.removeListener("close", onclose);
+        dest.removeListener("finish", onfinish);
+        if (ondrain) {
+          dest.removeListener("drain", ondrain);
+        }
+        dest.removeListener("error", onerror);
+        dest.removeListener("unpipe", onunpipe);
+        src.removeListener("end", onend);
+        src.removeListener("end", unpipe);
+        src.removeListener("data", ondata);
+        cleanedUp = true;
+        if (ondrain && state.awaitDrainWriters && (!dest._writableState || dest._writableState.needDrain)) ondrain();
       }
-      /**
-       * A name-value pair
-       * to associate with a file storage object.
-       *
-       * @readonly
-       */
-      get metadata() {
-        return this.originalResponse.metadata;
+      function pause() {
+        if (!cleanedUp) {
+          if (state.pipes.length === 1 && state.pipes[0] === dest) {
+            debug4("false write response, pause", 0);
+            state.awaitDrainWriters = dest;
+            state.multiAwaitDrain = false;
+          } else if (state.pipes.length > 1 && state.pipes.includes(dest)) {
+            debug4("false write response, pause", state.awaitDrainWriters.size);
+            state.awaitDrainWriters.add(dest);
+          }
+          src.pause();
+        }
+        if (!ondrain) {
+          ondrain = pipeOnDrain(src, dest);
+          dest.on("drain", ondrain);
+        }
       }
-      /**
-       * This header uniquely identifies the request
-       * that was made and can be used for troubleshooting the request.
-       *
-       * @readonly
-       */
-      get requestId() {
-        return this.originalResponse.requestId;
+      src.on("data", ondata);
+      function ondata(chunk) {
+        debug4("ondata");
+        const ret = dest.write(chunk);
+        debug4("dest.write", ret);
+        if (ret === false) {
+          pause();
+        }
       }
-      /**
-       * If a client request id header is sent in the request, this header will be present in the
-       * response with the same value.
-       *
-       * @readonly
-       */
-      get clientRequestId() {
-        return this.originalResponse.clientRequestId;
+      function onerror(er) {
+        debug4("onerror", er);
+        unpipe();
+        dest.removeListener("error", onerror);
+        if (dest.listenerCount("error") === 0) {
+          const s = dest._writableState || dest._readableState;
+          if (s && !s.errorEmitted) {
+            errorOrDestroy(dest, er);
+          } else {
+            dest.emit("error", er);
+          }
+        }
       }
-      /**
-       * Indicates the version of the File service used
-       * to execute the request.
-       *
-       * @readonly
-       */
-      get version() {
-        return this.originalResponse.version;
+      prependListener(dest, "error", onerror);
+      function onclose() {
+        dest.removeListener("finish", onfinish);
+        unpipe();
       }
-      /**
-       * The SHA-256 hash of the encryption key used to encrypt the blob. This value is only returned
-       * when the blob was encrypted with a customer-provided key.
-       *
-       * @readonly
-       */
-      get encryptionKeySha256() {
-        return this.originalResponse.encryptionKeySha256;
+      dest.once("close", onclose);
+      function onfinish() {
+        debug4("onfinish");
+        dest.removeListener("close", onclose);
+        unpipe();
       }
-      /**
-       * If the request is to read a specified range and the x-ms-range-get-content-crc64 is set to
-       * true, then the request returns a crc64 for the range, as long as the range size is less than
-       * or equal to 4 MB. If both x-ms-range-get-content-crc64 & x-ms-range-get-content-md5 is
-       * specified in the same request, it will fail with 400(Bad Request)
-       */
-      get contentCrc64() {
-        return this.originalResponse.contentCrc64;
+      dest.once("finish", onfinish);
+      function unpipe() {
+        debug4("unpipe");
+        src.unpipe(dest);
       }
-      /**
-       * The response body as a browser Blob.
-       * Always undefined in node.js.
-       *
-       * @readonly
-       */
-      get blobBody() {
-        return void 0;
+      dest.emit("pipe", src);
+      if (dest.writableNeedDrain === true) {
+        pause();
+      } else if (!state.flowing) {
+        debug4("pipe resume");
+        src.resume();
       }
-      /**
-       * The response body as a node.js Readable stream.
-       * Always undefined in the browser.
-       *
-       * It will parse avor data returned by blob query.
-       *
-       * @readonly
-       */
-      get readableStreamBody() {
-        return core_util_1.isNodeLike ? this.blobDownloadStream : void 0;
+      return dest;
+    };
+    function pipeOnDrain(src, dest) {
+      return function pipeOnDrainFunctionResult() {
+        const state = src._readableState;
+        if (state.awaitDrainWriters === dest) {
+          debug4("pipeOnDrain", 1);
+          state.awaitDrainWriters = null;
+        } else if (state.multiAwaitDrain) {
+          debug4("pipeOnDrain", state.awaitDrainWriters.size);
+          state.awaitDrainWriters.delete(dest);
+        }
+        if ((!state.awaitDrainWriters || state.awaitDrainWriters.size === 0) && src.listenerCount("data")) {
+          src.resume();
+        }
+      };
+    }
+    Readable.prototype.unpipe = function(dest) {
+      const state = this._readableState;
+      const unpipeInfo = {
+        hasUnpiped: false
+      };
+      if (state.pipes.length === 0) return this;
+      if (!dest) {
+        const dests = state.pipes;
+        state.pipes = [];
+        this.pause();
+        for (let i = 0; i < dests.length; i++)
+          dests[i].emit("unpipe", this, {
+            hasUnpiped: false
+          });
+        return this;
       }
-      /**
-       * The HTTP response.
-       */
-      get _response() {
-        return this.originalResponse._response;
+      const index = ArrayPrototypeIndexOf(state.pipes, dest);
+      if (index === -1) return this;
+      state.pipes.splice(index, 1);
+      if (state.pipes.length === 0) this.pause();
+      dest.emit("unpipe", this, unpipeInfo);
+      return this;
+    };
+    Readable.prototype.on = function(ev, fn) {
+      const res = Stream.prototype.on.call(this, ev, fn);
+      const state = this._readableState;
+      if (ev === "data") {
+        state.readableListening = this.listenerCount("readable") > 0;
+        if (state.flowing !== false) this.resume();
+      } else if (ev === "readable") {
+        if (!state.endEmitted && !state.readableListening) {
+          state.readableListening = state.needReadable = true;
+          state.flowing = false;
+          state.emittedReadable = false;
+          debug4("on readable", state.length, state.reading);
+          if (state.length) {
+            emitReadable(this);
+          } else if (!state.reading) {
+            process2.nextTick(nReadingNextTick, this);
+          }
+        }
       }
-      originalResponse;
-      blobDownloadStream;
-      /**
-       * Creates an instance of BlobQueryResponse.
-       *
-       * @param originalResponse -
-       * @param options -
-       */
-      constructor(originalResponse, options = {}) {
-        this.originalResponse = originalResponse;
-        this.blobDownloadStream = new BlobQuickQueryStream_js_1.BlobQuickQueryStream(this.originalResponse.readableStreamBody, options);
+      return res;
+    };
+    Readable.prototype.addListener = Readable.prototype.on;
+    Readable.prototype.removeListener = function(ev, fn) {
+      const res = Stream.prototype.removeListener.call(this, ev, fn);
+      if (ev === "readable") {
+        process2.nextTick(updateReadableListening, this);
       }
+      return res;
     };
-    exports2.BlobQueryResponse = BlobQueryResponse;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/models.js
-var require_models2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/models.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageBlobAudience = exports2.PremiumPageBlobTier = exports2.BlockBlobTier = void 0;
-    exports2.toAccessTier = toAccessTier;
-    exports2.ensureCpkIfSpecified = ensureCpkIfSpecified;
-    exports2.getBlobServiceAccountAudience = getBlobServiceAccountAudience;
-    var constants_js_1 = require_constants14();
-    var BlockBlobTier;
-    (function(BlockBlobTier2) {
-      BlockBlobTier2["Hot"] = "Hot";
-      BlockBlobTier2["Cool"] = "Cool";
-      BlockBlobTier2["Cold"] = "Cold";
-      BlockBlobTier2["Archive"] = "Archive";
-    })(BlockBlobTier || (exports2.BlockBlobTier = BlockBlobTier = {}));
-    var PremiumPageBlobTier;
-    (function(PremiumPageBlobTier2) {
-      PremiumPageBlobTier2["P4"] = "P4";
-      PremiumPageBlobTier2["P6"] = "P6";
-      PremiumPageBlobTier2["P10"] = "P10";
-      PremiumPageBlobTier2["P15"] = "P15";
-      PremiumPageBlobTier2["P20"] = "P20";
-      PremiumPageBlobTier2["P30"] = "P30";
-      PremiumPageBlobTier2["P40"] = "P40";
-      PremiumPageBlobTier2["P50"] = "P50";
-      PremiumPageBlobTier2["P60"] = "P60";
-      PremiumPageBlobTier2["P70"] = "P70";
-      PremiumPageBlobTier2["P80"] = "P80";
-    })(PremiumPageBlobTier || (exports2.PremiumPageBlobTier = PremiumPageBlobTier = {}));
-    function toAccessTier(tier) {
-      if (tier === void 0) {
-        return void 0;
+    Readable.prototype.off = Readable.prototype.removeListener;
+    Readable.prototype.removeAllListeners = function(ev) {
+      const res = Stream.prototype.removeAllListeners.apply(this, arguments);
+      if (ev === "readable" || ev === void 0) {
+        process2.nextTick(updateReadableListening, this);
+      }
+      return res;
+    };
+    function updateReadableListening(self2) {
+      const state = self2._readableState;
+      state.readableListening = self2.listenerCount("readable") > 0;
+      if (state.resumeScheduled && state[kPaused] === false) {
+        state.flowing = true;
+      } else if (self2.listenerCount("data") > 0) {
+        self2.resume();
+      } else if (!state.readableListening) {
+        state.flowing = null;
       }
-      return tier;
     }
-    function ensureCpkIfSpecified(cpk, isHttps) {
-      if (cpk && !isHttps) {
-        throw new RangeError("Customer-provided encryption key must be used over HTTPS.");
+    function nReadingNextTick(self2) {
+      debug4("readable nexttick read 0");
+      self2.read(0);
+    }
+    Readable.prototype.resume = function() {
+      const state = this._readableState;
+      if (!state.flowing) {
+        debug4("resume");
+        state.flowing = !state.readableListening;
+        resume(this, state);
       }
-      if (cpk && !cpk.encryptionAlgorithm) {
-        cpk.encryptionAlgorithm = constants_js_1.EncryptionAlgorithmAES25;
+      state[kPaused] = false;
+      return this;
+    };
+    function resume(stream, state) {
+      if (!state.resumeScheduled) {
+        state.resumeScheduled = true;
+        process2.nextTick(resume_, stream, state);
       }
     }
-    var StorageBlobAudience;
-    (function(StorageBlobAudience2) {
-      StorageBlobAudience2["StorageOAuthScopes"] = "https://storage.azure.com/.default";
-      StorageBlobAudience2["DiskComputeOAuthScopes"] = "https://disk.compute.azure.com/.default";
-    })(StorageBlobAudience || (exports2.StorageBlobAudience = StorageBlobAudience = {}));
-    function getBlobServiceAccountAudience(storageAccountName) {
-      return `https://${storageAccountName}.blob.core.windows.net/.default`;
-    }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/PageBlobRangeResponse.js
-var require_PageBlobRangeResponse = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/PageBlobRangeResponse.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.rangeResponseFromModel = rangeResponseFromModel;
-    function rangeResponseFromModel(response) {
-      const pageRange = (response._response.parsedBody.pageRange || []).map((x) => ({
-        offset: x.start,
-        count: x.end - x.start
-      }));
-      const clearRange = (response._response.parsedBody.clearRange || []).map((x) => ({
-        offset: x.start,
-        count: x.end - x.start
-      }));
-      return {
-        ...response,
-        pageRange,
-        clearRange,
-        _response: {
-          ...response._response,
-          parsedBody: {
-            pageRange,
-            clearRange
-          }
-        }
-      };
+    function resume_(stream, state) {
+      debug4("resume", state.reading);
+      if (!state.reading) {
+        stream.read(0);
+      }
+      state.resumeScheduled = false;
+      stream.emit("resume");
+      flow(stream);
+      if (state.flowing && !state.reading) stream.read(0);
     }
-  }
-});
-
-// node_modules/@azure/core-lro/dist/commonjs/logger.js
-var require_logger2 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/logger.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.logger = void 0;
-    var logger_1 = require_commonjs4();
-    exports2.logger = (0, logger_1.createClientLogger)("core-lro");
-  }
-});
-
-// node_modules/@azure/core-lro/dist/commonjs/poller/constants.js
-var require_constants16 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/poller/constants.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.terminalStates = exports2.POLL_INTERVAL_IN_MS = void 0;
-    exports2.POLL_INTERVAL_IN_MS = 2e3;
-    exports2.terminalStates = ["succeeded", "canceled", "failed"];
-  }
-});
-
-// node_modules/@azure/core-lro/dist/commonjs/poller/operation.js
-var require_operation = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/poller/operation.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.pollOperation = exports2.initOperation = exports2.deserializeState = void 0;
-    var logger_js_1 = require_logger2();
-    var constants_js_1 = require_constants16();
-    function deserializeState(serializedState) {
-      try {
-        return JSON.parse(serializedState).state;
-      } catch (e) {
-        throw new Error(`Unable to deserialize input state: ${serializedState}`);
+    Readable.prototype.pause = function() {
+      debug4("call pause flowing=%j", this._readableState.flowing);
+      if (this._readableState.flowing !== false) {
+        debug4("pause");
+        this._readableState.flowing = false;
+        this.emit("pause");
       }
+      this._readableState[kPaused] = true;
+      return this;
+    };
+    function flow(stream) {
+      const state = stream._readableState;
+      debug4("flow", state.flowing);
+      while (state.flowing && stream.read() !== null) ;
     }
-    exports2.deserializeState = deserializeState;
-    function setStateError(inputs) {
-      const { state, stateProxy, isOperationError } = inputs;
-      return (error3) => {
-        if (isOperationError(error3)) {
-          stateProxy.setError(state, error3);
-          stateProxy.setFailed(state);
+    Readable.prototype.wrap = function(stream) {
+      let paused = false;
+      stream.on("data", (chunk) => {
+        if (!this.push(chunk) && stream.pause) {
+          paused = true;
+          stream.pause();
+        }
+      });
+      stream.on("end", () => {
+        this.push(null);
+      });
+      stream.on("error", (err) => {
+        errorOrDestroy(this, err);
+      });
+      stream.on("close", () => {
+        this.destroy();
+      });
+      stream.on("destroy", () => {
+        this.destroy();
+      });
+      this._read = () => {
+        if (paused && stream.resume) {
+          paused = false;
+          stream.resume();
         }
-        throw error3;
       };
-    }
-    function appendReadableErrorMessage(currentMessage, innerMessage) {
-      let message = currentMessage;
-      if (message.slice(-1) !== ".") {
-        message = message + ".";
+      const streamKeys = ObjectKeys(stream);
+      for (let j = 1; j < streamKeys.length; j++) {
+        const i = streamKeys[j];
+        if (this[i] === void 0 && typeof stream[i] === "function") {
+          this[i] = stream[i].bind(stream);
+        }
       }
-      return message + " " + innerMessage;
+      return this;
+    };
+    Readable.prototype[SymbolAsyncIterator] = function() {
+      return streamToAsyncIterator(this);
+    };
+    Readable.prototype.iterator = function(options) {
+      if (options !== void 0) {
+        validateObject(options, "options");
+      }
+      return streamToAsyncIterator(this, options);
+    };
+    function streamToAsyncIterator(stream, options) {
+      if (typeof stream.read !== "function") {
+        stream = Readable.wrap(stream, {
+          objectMode: true
+        });
+      }
+      const iter = createAsyncIterator(stream, options);
+      iter.stream = stream;
+      return iter;
     }
-    function simplifyError(err) {
-      let message = err.message;
-      let code = err.code;
-      let curErr = err;
-      while (curErr.innererror) {
-        curErr = curErr.innererror;
-        code = curErr.code;
-        message = appendReadableErrorMessage(message, curErr.message);
+    async function* createAsyncIterator(stream, options) {
+      let callback = nop;
+      function next(resolve2) {
+        if (this === stream) {
+          callback();
+          callback = nop;
+        } else {
+          callback = resolve2;
+        }
+      }
+      stream.on("readable", next);
+      let error3;
+      const cleanup = eos(
+        stream,
+        {
+          writable: false
+        },
+        (err) => {
+          error3 = err ? aggregateTwoErrors(error3, err) : null;
+          callback();
+          callback = nop;
+        }
+      );
+      try {
+        while (true) {
+          const chunk = stream.destroyed ? null : stream.read();
+          if (chunk !== null) {
+            yield chunk;
+          } else if (error3) {
+            throw error3;
+          } else if (error3 === null) {
+            return;
+          } else {
+            await new Promise2(next);
+          }
+        }
+      } catch (err) {
+        error3 = aggregateTwoErrors(error3, err);
+        throw error3;
+      } finally {
+        if ((error3 || (options === null || options === void 0 ? void 0 : options.destroyOnReturn) !== false) && (error3 === void 0 || stream._readableState.autoDestroy)) {
+          destroyImpl.destroyer(stream, null);
+        } else {
+          stream.off("readable", next);
+          cleanup();
+        }
       }
-      return {
-        code,
-        message
-      };
     }
-    function processOperationStatus(result) {
-      const { state, stateProxy, status, isDone, processResult, getError, response, setErrorAsResult } = result;
-      switch (status) {
-        case "succeeded": {
-          stateProxy.setSucceeded(state);
-          break;
+    ObjectDefineProperties(Readable.prototype, {
+      readable: {
+        __proto__: null,
+        get() {
+          const r = this._readableState;
+          return !!r && r.readable !== false && !r.destroyed && !r.errorEmitted && !r.endEmitted;
+        },
+        set(val) {
+          if (this._readableState) {
+            this._readableState.readable = !!val;
+          }
+        }
+      },
+      readableDidRead: {
+        __proto__: null,
+        enumerable: false,
+        get: function() {
+          return this._readableState.dataEmitted;
+        }
+      },
+      readableAborted: {
+        __proto__: null,
+        enumerable: false,
+        get: function() {
+          return !!(this._readableState.readable !== false && (this._readableState.destroyed || this._readableState.errored) && !this._readableState.endEmitted);
+        }
+      },
+      readableHighWaterMark: {
+        __proto__: null,
+        enumerable: false,
+        get: function() {
+          return this._readableState.highWaterMark;
+        }
+      },
+      readableBuffer: {
+        __proto__: null,
+        enumerable: false,
+        get: function() {
+          return this._readableState && this._readableState.buffer;
+        }
+      },
+      readableFlowing: {
+        __proto__: null,
+        enumerable: false,
+        get: function() {
+          return this._readableState.flowing;
+        },
+        set: function(state) {
+          if (this._readableState) {
+            this._readableState.flowing = state;
+          }
+        }
+      },
+      readableLength: {
+        __proto__: null,
+        enumerable: false,
+        get() {
+          return this._readableState.length;
+        }
+      },
+      readableObjectMode: {
+        __proto__: null,
+        enumerable: false,
+        get() {
+          return this._readableState ? this._readableState.objectMode : false;
+        }
+      },
+      readableEncoding: {
+        __proto__: null,
+        enumerable: false,
+        get() {
+          return this._readableState ? this._readableState.encoding : null;
+        }
+      },
+      errored: {
+        __proto__: null,
+        enumerable: false,
+        get() {
+          return this._readableState ? this._readableState.errored : null;
         }
-        case "failed": {
-          const err = getError === null || getError === void 0 ? void 0 : getError(response);
-          let postfix = "";
-          if (err) {
-            const { code, message } = simplifyError(err);
-            postfix = `. ${code}. ${message}`;
+      },
+      closed: {
+        __proto__: null,
+        get() {
+          return this._readableState ? this._readableState.closed : false;
+        }
+      },
+      destroyed: {
+        __proto__: null,
+        enumerable: false,
+        get() {
+          return this._readableState ? this._readableState.destroyed : false;
+        },
+        set(value) {
+          if (!this._readableState) {
+            return;
           }
-          const errStr = `The long-running operation has failed${postfix}`;
-          stateProxy.setError(state, new Error(errStr));
-          stateProxy.setFailed(state);
-          logger_js_1.logger.warning(errStr);
-          break;
+          this._readableState.destroyed = value;
         }
-        case "canceled": {
-          stateProxy.setCanceled(state);
-          break;
+      },
+      readableEnded: {
+        __proto__: null,
+        enumerable: false,
+        get() {
+          return this._readableState ? this._readableState.endEmitted : false;
         }
       }
-      if ((isDone === null || isDone === void 0 ? void 0 : isDone(response, state)) || isDone === void 0 && ["succeeded", "canceled"].concat(setErrorAsResult ? [] : ["failed"]).includes(status)) {
-        stateProxy.setResult(state, buildResult({
-          response,
-          state,
-          processResult
-        }));
+    });
+    ObjectDefineProperties(ReadableState.prototype, {
+      // Legacy getter for `pipesCount`.
+      pipesCount: {
+        __proto__: null,
+        get() {
+          return this.pipes.length;
+        }
+      },
+      // Legacy property for `paused`.
+      paused: {
+        __proto__: null,
+        get() {
+          return this[kPaused] !== false;
+        },
+        set(value) {
+          this[kPaused] = !!value;
+        }
       }
+    });
+    Readable._fromList = fromList;
+    function fromList(n, state) {
+      if (state.length === 0) return null;
+      let ret;
+      if (state.objectMode) ret = state.buffer.shift();
+      else if (!n || n >= state.length) {
+        if (state.decoder) ret = state.buffer.join("");
+        else if (state.buffer.length === 1) ret = state.buffer.first();
+        else ret = state.buffer.concat(state.length);
+        state.buffer.clear();
+      } else {
+        ret = state.buffer.consume(n, state.decoder);
+      }
+      return ret;
     }
-    function buildResult(inputs) {
-      const { processResult, response, state } = inputs;
-      return processResult ? processResult(response, state) : response;
-    }
-    async function initOperation(inputs) {
-      const { init, stateProxy, processResult, getOperationStatus, withOperationLocation, setErrorAsResult } = inputs;
-      const { operationLocation, resourceLocation, metadata, response } = await init();
-      if (operationLocation)
-        withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(operationLocation, false);
-      const config = {
-        metadata,
-        operationLocation,
-        resourceLocation
-      };
-      logger_js_1.logger.verbose(`LRO: Operation description:`, config);
-      const state = stateProxy.initState(config);
-      const status = getOperationStatus({ response, state, operationLocation });
-      processOperationStatus({ state, status, stateProxy, response, setErrorAsResult, processResult });
-      return state;
+    function endReadable(stream) {
+      const state = stream._readableState;
+      debug4("endReadable", state.endEmitted);
+      if (!state.endEmitted) {
+        state.ended = true;
+        process2.nextTick(endReadableNT, state, stream);
+      }
     }
-    exports2.initOperation = initOperation;
-    async function pollOperationHelper(inputs) {
-      const { poll, state, stateProxy, operationLocation, getOperationStatus, getResourceLocation, isOperationError, options } = inputs;
-      const response = await poll(operationLocation, options).catch(setStateError({
-        state,
-        stateProxy,
-        isOperationError
-      }));
-      const status = getOperationStatus(response, state);
-      logger_js_1.logger.verbose(`LRO: Status:
-	Polling from: ${state.config.operationLocation}
-	Operation status: ${status}
-	Polling status: ${constants_js_1.terminalStates.includes(status) ? "Stopped" : "Running"}`);
-      if (status === "succeeded") {
-        const resourceLocation = getResourceLocation(response, state);
-        if (resourceLocation !== void 0) {
-          return {
-            response: await poll(resourceLocation).catch(setStateError({ state, stateProxy, isOperationError })),
-            status
-          };
+    function endReadableNT(state, stream) {
+      debug4("endReadableNT", state.endEmitted, state.length);
+      if (!state.errored && !state.closeEmitted && !state.endEmitted && state.length === 0) {
+        state.endEmitted = true;
+        stream.emit("end");
+        if (stream.writable && stream.allowHalfOpen === false) {
+          process2.nextTick(endWritableNT, stream);
+        } else if (state.autoDestroy) {
+          const wState = stream._writableState;
+          const autoDestroy = !wState || wState.autoDestroy && // We don't expect the writable to ever 'finish'
+          // if writable is explicitly set to false.
+          (wState.finished || wState.writable === false);
+          if (autoDestroy) {
+            stream.destroy();
+          }
         }
       }
-      return { response, status };
     }
-    async function pollOperation(inputs) {
-      const { poll, state, stateProxy, options, getOperationStatus, getResourceLocation, getOperationLocation, isOperationError, withOperationLocation, getPollingInterval, processResult, getError, updateState, setDelay, isDone, setErrorAsResult } = inputs;
-      const { operationLocation } = state.config;
-      if (operationLocation !== void 0) {
-        const { response, status } = await pollOperationHelper({
-          poll,
-          getOperationStatus,
-          state,
-          stateProxy,
-          operationLocation,
-          getResourceLocation,
-          isOperationError,
-          options
-        });
-        processOperationStatus({
-          status,
-          response,
-          state,
-          stateProxy,
-          isDone,
-          processResult,
-          getError,
-          setErrorAsResult
-        });
-        if (!constants_js_1.terminalStates.includes(status)) {
-          const intervalInMs = getPollingInterval === null || getPollingInterval === void 0 ? void 0 : getPollingInterval(response);
-          if (intervalInMs)
-            setDelay(intervalInMs);
-          const location = getOperationLocation === null || getOperationLocation === void 0 ? void 0 : getOperationLocation(response, state);
-          if (location !== void 0) {
-            const isUpdated = operationLocation !== location;
-            state.config.operationLocation = location;
-            withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(location, isUpdated);
-          } else
-            withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(operationLocation, false);
-        }
-        updateState === null || updateState === void 0 ? void 0 : updateState(state, response);
+    function endWritableNT(stream) {
+      const writable = stream.writable && !stream.writableEnded && !stream.destroyed;
+      if (writable) {
+        stream.end();
       }
     }
-    exports2.pollOperation = pollOperation;
+    Readable.from = function(iterable, opts) {
+      return from(Readable, iterable, opts);
+    };
+    var webStreamsAdapters;
+    function lazyWebStreams() {
+      if (webStreamsAdapters === void 0) webStreamsAdapters = {};
+      return webStreamsAdapters;
+    }
+    Readable.fromWeb = function(readableStream, options) {
+      return lazyWebStreams().newStreamReadableFromReadableStream(readableStream, options);
+    };
+    Readable.toWeb = function(streamReadable, options) {
+      return lazyWebStreams().newReadableStreamFromStreamReadable(streamReadable, options);
+    };
+    Readable.wrap = function(src, options) {
+      var _ref, _src$readableObjectMo;
+      return new Readable({
+        objectMode: (_ref = (_src$readableObjectMo = src.readableObjectMode) !== null && _src$readableObjectMo !== void 0 ? _src$readableObjectMo : src.objectMode) !== null && _ref !== void 0 ? _ref : true,
+        ...options,
+        destroy(err, callback) {
+          destroyImpl.destroyer(src, err);
+          callback(err);
+        }
+      }).wrap(src);
+    };
   }
 });
 
-// node_modules/@azure/core-lro/dist/commonjs/http/operation.js
-var require_operation2 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/http/operation.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.pollHttpOperation = exports2.isOperationError = exports2.getResourceLocation = exports2.getOperationStatus = exports2.getOperationLocation = exports2.initHttpOperation = exports2.getStatusFromInitialResponse = exports2.getErrorFromResponse = exports2.parseRetryAfter = exports2.inferLroMode = void 0;
-    var operation_js_1 = require_operation();
-    var logger_js_1 = require_logger2();
-    function getOperationLocationPollingUrl(inputs) {
-      const { azureAsyncOperation, operationLocation } = inputs;
-      return operationLocation !== null && operationLocation !== void 0 ? operationLocation : azureAsyncOperation;
-    }
-    function getLocationHeader(rawResponse) {
-      return rawResponse.headers["location"];
+// node_modules/readable-stream/lib/internal/streams/writable.js
+var require_writable = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/writable.js"(exports2, module2) {
+    var process2 = require_process();
+    var {
+      ArrayPrototypeSlice,
+      Error: Error2,
+      FunctionPrototypeSymbolHasInstance,
+      ObjectDefineProperty,
+      ObjectDefineProperties,
+      ObjectSetPrototypeOf,
+      StringPrototypeToLowerCase,
+      Symbol: Symbol2,
+      SymbolHasInstance
+    } = require_primordials();
+    module2.exports = Writable;
+    Writable.WritableState = WritableState;
+    var { EventEmitter: EE } = require("events");
+    var Stream = require_legacy().Stream;
+    var { Buffer: Buffer2 } = require("buffer");
+    var destroyImpl = require_destroy2();
+    var { addAbortSignal } = require_add_abort_signal();
+    var { getHighWaterMark, getDefaultHighWaterMark } = require_state3();
+    var {
+      ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,
+      ERR_METHOD_NOT_IMPLEMENTED,
+      ERR_MULTIPLE_CALLBACK,
+      ERR_STREAM_CANNOT_PIPE,
+      ERR_STREAM_DESTROYED,
+      ERR_STREAM_ALREADY_FINISHED,
+      ERR_STREAM_NULL_VALUES,
+      ERR_STREAM_WRITE_AFTER_END,
+      ERR_UNKNOWN_ENCODING
+    } = require_errors4().codes;
+    var { errorOrDestroy } = destroyImpl;
+    ObjectSetPrototypeOf(Writable.prototype, Stream.prototype);
+    ObjectSetPrototypeOf(Writable, Stream);
+    function nop() {
     }
-    function getOperationLocationHeader(rawResponse) {
-      return rawResponse.headers["operation-location"];
+    var kOnFinished = Symbol2("kOnFinished");
+    function WritableState(options, stream, isDuplex) {
+      if (typeof isDuplex !== "boolean") isDuplex = stream instanceof require_duplex();
+      this.objectMode = !!(options && options.objectMode);
+      if (isDuplex) this.objectMode = this.objectMode || !!(options && options.writableObjectMode);
+      this.highWaterMark = options ? getHighWaterMark(this, options, "writableHighWaterMark", isDuplex) : getDefaultHighWaterMark(false);
+      this.finalCalled = false;
+      this.needDrain = false;
+      this.ending = false;
+      this.ended = false;
+      this.finished = false;
+      this.destroyed = false;
+      const noDecode = !!(options && options.decodeStrings === false);
+      this.decodeStrings = !noDecode;
+      this.defaultEncoding = options && options.defaultEncoding || "utf8";
+      this.length = 0;
+      this.writing = false;
+      this.corked = 0;
+      this.sync = true;
+      this.bufferProcessing = false;
+      this.onwrite = onwrite.bind(void 0, stream);
+      this.writecb = null;
+      this.writelen = 0;
+      this.afterWriteTickInfo = null;
+      resetBuffer(this);
+      this.pendingcb = 0;
+      this.constructed = true;
+      this.prefinished = false;
+      this.errorEmitted = false;
+      this.emitClose = !options || options.emitClose !== false;
+      this.autoDestroy = !options || options.autoDestroy !== false;
+      this.errored = null;
+      this.closed = false;
+      this.closeEmitted = false;
+      this[kOnFinished] = [];
     }
-    function getAzureAsyncOperationHeader(rawResponse) {
-      return rawResponse.headers["azure-asyncoperation"];
+    function resetBuffer(state) {
+      state.buffered = [];
+      state.bufferedIndex = 0;
+      state.allBuffers = true;
+      state.allNoop = true;
     }
-    function findResourceLocation(inputs) {
-      var _a;
-      const { location, requestMethod, requestPath, resourceLocationConfig } = inputs;
-      switch (requestMethod) {
-        case "PUT": {
-          return requestPath;
-        }
-        case "DELETE": {
-          return void 0;
-        }
-        case "PATCH": {
-          return (_a = getDefault()) !== null && _a !== void 0 ? _a : requestPath;
-        }
-        default: {
-          return getDefault();
+    WritableState.prototype.getBuffer = function getBuffer() {
+      return ArrayPrototypeSlice(this.buffered, this.bufferedIndex);
+    };
+    ObjectDefineProperty(WritableState.prototype, "bufferedRequestCount", {
+      __proto__: null,
+      get() {
+        return this.buffered.length - this.bufferedIndex;
+      }
+    });
+    function Writable(options) {
+      const isDuplex = this instanceof require_duplex();
+      if (!isDuplex && !FunctionPrototypeSymbolHasInstance(Writable, this)) return new Writable(options);
+      this._writableState = new WritableState(options, this, isDuplex);
+      if (options) {
+        if (typeof options.write === "function") this._write = options.write;
+        if (typeof options.writev === "function") this._writev = options.writev;
+        if (typeof options.destroy === "function") this._destroy = options.destroy;
+        if (typeof options.final === "function") this._final = options.final;
+        if (typeof options.construct === "function") this._construct = options.construct;
+        if (options.signal) addAbortSignal(options.signal, this);
+      }
+      Stream.call(this, options);
+      destroyImpl.construct(this, () => {
+        const state = this._writableState;
+        if (!state.writing) {
+          clearBuffer(this, state);
         }
+        finishMaybe(this, state);
+      });
+    }
+    ObjectDefineProperty(Writable, SymbolHasInstance, {
+      __proto__: null,
+      value: function(object) {
+        if (FunctionPrototypeSymbolHasInstance(this, object)) return true;
+        if (this !== Writable) return false;
+        return object && object._writableState instanceof WritableState;
       }
-      function getDefault() {
-        switch (resourceLocationConfig) {
-          case "azure-async-operation": {
-            return void 0;
-          }
-          case "original-uri": {
-            return requestPath;
-          }
-          case "location":
-          default: {
-            return location;
+    });
+    Writable.prototype.pipe = function() {
+      errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());
+    };
+    function _write(stream, chunk, encoding, cb) {
+      const state = stream._writableState;
+      if (typeof encoding === "function") {
+        cb = encoding;
+        encoding = state.defaultEncoding;
+      } else {
+        if (!encoding) encoding = state.defaultEncoding;
+        else if (encoding !== "buffer" && !Buffer2.isEncoding(encoding)) throw new ERR_UNKNOWN_ENCODING(encoding);
+        if (typeof cb !== "function") cb = nop;
+      }
+      if (chunk === null) {
+        throw new ERR_STREAM_NULL_VALUES();
+      } else if (!state.objectMode) {
+        if (typeof chunk === "string") {
+          if (state.decodeStrings !== false) {
+            chunk = Buffer2.from(chunk, encoding);
+            encoding = "buffer";
           }
+        } else if (chunk instanceof Buffer2) {
+          encoding = "buffer";
+        } else if (Stream._isUint8Array(chunk)) {
+          chunk = Stream._uint8ArrayToBuffer(chunk);
+          encoding = "buffer";
+        } else {
+          throw new ERR_INVALID_ARG_TYPE2("chunk", ["string", "Buffer", "Uint8Array"], chunk);
         }
       }
-    }
-    function inferLroMode(inputs) {
-      const { rawResponse, requestMethod, requestPath, resourceLocationConfig } = inputs;
-      const operationLocation = getOperationLocationHeader(rawResponse);
-      const azureAsyncOperation = getAzureAsyncOperationHeader(rawResponse);
-      const pollingUrl = getOperationLocationPollingUrl({ operationLocation, azureAsyncOperation });
-      const location = getLocationHeader(rawResponse);
-      const normalizedRequestMethod = requestMethod === null || requestMethod === void 0 ? void 0 : requestMethod.toLocaleUpperCase();
-      if (pollingUrl !== void 0) {
-        return {
-          mode: "OperationLocation",
-          operationLocation: pollingUrl,
-          resourceLocation: findResourceLocation({
-            requestMethod: normalizedRequestMethod,
-            location,
-            requestPath,
-            resourceLocationConfig
-          })
-        };
-      } else if (location !== void 0) {
-        return {
-          mode: "ResourceLocation",
-          operationLocation: location
-        };
-      } else if (normalizedRequestMethod === "PUT" && requestPath) {
-        return {
-          mode: "Body",
-          operationLocation: requestPath
-        };
-      } else {
-        return void 0;
+      let err;
+      if (state.ending) {
+        err = new ERR_STREAM_WRITE_AFTER_END();
+      } else if (state.destroyed) {
+        err = new ERR_STREAM_DESTROYED("write");
+      }
+      if (err) {
+        process2.nextTick(cb, err);
+        errorOrDestroy(stream, err, true);
+        return err;
       }
+      state.pendingcb++;
+      return writeOrBuffer(stream, state, chunk, encoding, cb);
     }
-    exports2.inferLroMode = inferLroMode;
-    function transformStatus(inputs) {
-      const { status, statusCode } = inputs;
-      if (typeof status !== "string" && status !== void 0) {
-        throw new Error(`Polling was unsuccessful. Expected status to have a string value or no value but it has instead: ${status}. This doesn't necessarily indicate the operation has failed. Check your Azure subscription or resource status for more information.`);
+    Writable.prototype.write = function(chunk, encoding, cb) {
+      return _write(this, chunk, encoding, cb) === true;
+    };
+    Writable.prototype.cork = function() {
+      this._writableState.corked++;
+    };
+    Writable.prototype.uncork = function() {
+      const state = this._writableState;
+      if (state.corked) {
+        state.corked--;
+        if (!state.writing) clearBuffer(this, state);
       }
-      switch (status === null || status === void 0 ? void 0 : status.toLocaleLowerCase()) {
-        case void 0:
-          return toOperationStatus(statusCode);
-        case "succeeded":
-          return "succeeded";
-        case "failed":
-          return "failed";
-        case "running":
-        case "accepted":
-        case "started":
-        case "canceling":
-        case "cancelling":
-          return "running";
-        case "canceled":
-        case "cancelled":
-          return "canceled";
-        default: {
-          logger_js_1.logger.verbose(`LRO: unrecognized operation status: ${status}`);
-          return status;
+    };
+    Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {
+      if (typeof encoding === "string") encoding = StringPrototypeToLowerCase(encoding);
+      if (!Buffer2.isEncoding(encoding)) throw new ERR_UNKNOWN_ENCODING(encoding);
+      this._writableState.defaultEncoding = encoding;
+      return this;
+    };
+    function writeOrBuffer(stream, state, chunk, encoding, callback) {
+      const len = state.objectMode ? 1 : chunk.length;
+      state.length += len;
+      const ret = state.length < state.highWaterMark;
+      if (!ret) state.needDrain = true;
+      if (state.writing || state.corked || state.errored || !state.constructed) {
+        state.buffered.push({
+          chunk,
+          encoding,
+          callback
+        });
+        if (state.allBuffers && encoding !== "buffer") {
+          state.allBuffers = false;
+        }
+        if (state.allNoop && callback !== nop) {
+          state.allNoop = false;
         }
-      }
-    }
-    function getStatus(rawResponse) {
-      var _a;
-      const { status } = (_a = rawResponse.body) !== null && _a !== void 0 ? _a : {};
-      return transformStatus({ status, statusCode: rawResponse.statusCode });
-    }
-    function getProvisioningState(rawResponse) {
-      var _a, _b;
-      const { properties, provisioningState } = (_a = rawResponse.body) !== null && _a !== void 0 ? _a : {};
-      const status = (_b = properties === null || properties === void 0 ? void 0 : properties.provisioningState) !== null && _b !== void 0 ? _b : provisioningState;
-      return transformStatus({ status, statusCode: rawResponse.statusCode });
-    }
-    function toOperationStatus(statusCode) {
-      if (statusCode === 202) {
-        return "running";
-      } else if (statusCode < 300) {
-        return "succeeded";
       } else {
-        return "failed";
-      }
-    }
-    function parseRetryAfter({ rawResponse }) {
-      const retryAfter = rawResponse.headers["retry-after"];
-      if (retryAfter !== void 0) {
-        const retryAfterInSeconds = parseInt(retryAfter);
-        return isNaN(retryAfterInSeconds) ? calculatePollingIntervalFromDate(new Date(retryAfter)) : retryAfterInSeconds * 1e3;
+        state.writelen = len;
+        state.writecb = callback;
+        state.writing = true;
+        state.sync = true;
+        stream._write(chunk, encoding, state.onwrite);
+        state.sync = false;
       }
-      return void 0;
+      return ret && !state.errored && !state.destroyed;
     }
-    exports2.parseRetryAfter = parseRetryAfter;
-    function getErrorFromResponse(response) {
-      const error3 = accessBodyProperty(response, "error");
-      if (!error3) {
-        logger_js_1.logger.warning(`The long-running operation failed but there is no error property in the response's body`);
-        return;
-      }
-      if (!error3.code || !error3.message) {
-        logger_js_1.logger.warning(`The long-running operation failed but the error property in the response's body doesn't contain code or message`);
-        return;
-      }
-      return error3;
+    function doWrite(stream, state, writev, len, chunk, encoding, cb) {
+      state.writelen = len;
+      state.writecb = cb;
+      state.writing = true;
+      state.sync = true;
+      if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED("write"));
+      else if (writev) stream._writev(chunk, state.onwrite);
+      else stream._write(chunk, encoding, state.onwrite);
+      state.sync = false;
     }
-    exports2.getErrorFromResponse = getErrorFromResponse;
-    function calculatePollingIntervalFromDate(retryAfterDate) {
-      const timeNow = Math.floor((/* @__PURE__ */ new Date()).getTime());
-      const retryAfterTime = retryAfterDate.getTime();
-      if (timeNow < retryAfterTime) {
-        return retryAfterTime - timeNow;
-      }
-      return void 0;
+    function onwriteError(stream, state, er, cb) {
+      --state.pendingcb;
+      cb(er);
+      errorBuffer(state);
+      errorOrDestroy(stream, er);
     }
-    function getStatusFromInitialResponse(inputs) {
-      const { response, state, operationLocation } = inputs;
-      function helper() {
-        var _a;
-        const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"];
-        switch (mode) {
-          case void 0:
-            return toOperationStatus(response.rawResponse.statusCode);
-          case "Body":
-            return getOperationStatus(response, state);
-          default:
-            return "running";
-        }
+    function onwrite(stream, er) {
+      const state = stream._writableState;
+      const sync = state.sync;
+      const cb = state.writecb;
+      if (typeof cb !== "function") {
+        errorOrDestroy(stream, new ERR_MULTIPLE_CALLBACK());
+        return;
       }
-      const status = helper();
-      return status === "running" && operationLocation === void 0 ? "succeeded" : status;
-    }
-    exports2.getStatusFromInitialResponse = getStatusFromInitialResponse;
-    async function initHttpOperation(inputs) {
-      const { stateProxy, resourceLocationConfig, processResult, lro, setErrorAsResult } = inputs;
-      return (0, operation_js_1.initOperation)({
-        init: async () => {
-          const response = await lro.sendInitialRequest();
-          const config = inferLroMode({
-            rawResponse: response.rawResponse,
-            requestPath: lro.requestPath,
-            requestMethod: lro.requestMethod,
-            resourceLocationConfig
-          });
-          return Object.assign({ response, operationLocation: config === null || config === void 0 ? void 0 : config.operationLocation, resourceLocation: config === null || config === void 0 ? void 0 : config.resourceLocation }, (config === null || config === void 0 ? void 0 : config.mode) ? { metadata: { mode: config.mode } } : {});
-        },
-        stateProxy,
-        processResult: processResult ? ({ flatResponse }, state) => processResult(flatResponse, state) : ({ flatResponse }) => flatResponse,
-        getOperationStatus: getStatusFromInitialResponse,
-        setErrorAsResult
-      });
-    }
-    exports2.initHttpOperation = initHttpOperation;
-    function getOperationLocation({ rawResponse }, state) {
-      var _a;
-      const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"];
-      switch (mode) {
-        case "OperationLocation": {
-          return getOperationLocationPollingUrl({
-            operationLocation: getOperationLocationHeader(rawResponse),
-            azureAsyncOperation: getAzureAsyncOperationHeader(rawResponse)
-          });
-        }
-        case "ResourceLocation": {
-          return getLocationHeader(rawResponse);
+      state.writing = false;
+      state.writecb = null;
+      state.length -= state.writelen;
+      state.writelen = 0;
+      if (er) {
+        er.stack;
+        if (!state.errored) {
+          state.errored = er;
         }
-        case "Body":
-        default: {
-          return void 0;
+        if (stream._readableState && !stream._readableState.errored) {
+          stream._readableState.errored = er;
         }
-      }
-    }
-    exports2.getOperationLocation = getOperationLocation;
-    function getOperationStatus({ rawResponse }, state) {
-      var _a;
-      const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"];
-      switch (mode) {
-        case "OperationLocation": {
-          return getStatus(rawResponse);
+        if (sync) {
+          process2.nextTick(onwriteError, stream, state, er, cb);
+        } else {
+          onwriteError(stream, state, er, cb);
         }
-        case "ResourceLocation": {
-          return toOperationStatus(rawResponse.statusCode);
+      } else {
+        if (state.buffered.length > state.bufferedIndex) {
+          clearBuffer(stream, state);
         }
-        case "Body": {
-          return getProvisioningState(rawResponse);
+        if (sync) {
+          if (state.afterWriteTickInfo !== null && state.afterWriteTickInfo.cb === cb) {
+            state.afterWriteTickInfo.count++;
+          } else {
+            state.afterWriteTickInfo = {
+              count: 1,
+              cb,
+              stream,
+              state
+            };
+            process2.nextTick(afterWriteTick, state.afterWriteTickInfo);
+          }
+        } else {
+          afterWrite(stream, state, 1, cb);
         }
-        default:
-          throw new Error(`Internal error: Unexpected operation mode: ${mode}`);
       }
     }
-    exports2.getOperationStatus = getOperationStatus;
-    function accessBodyProperty({ flatResponse, rawResponse }, prop) {
-      var _a, _b;
-      return (_a = flatResponse === null || flatResponse === void 0 ? void 0 : flatResponse[prop]) !== null && _a !== void 0 ? _a : (_b = rawResponse.body) === null || _b === void 0 ? void 0 : _b[prop];
+    function afterWriteTick({ stream, state, count, cb }) {
+      state.afterWriteTickInfo = null;
+      return afterWrite(stream, state, count, cb);
     }
-    function getResourceLocation(res, state) {
-      const loc = accessBodyProperty(res, "resourceLocation");
-      if (loc && typeof loc === "string") {
-        state.config.resourceLocation = loc;
+    function afterWrite(stream, state, count, cb) {
+      const needDrain = !state.ending && !stream.destroyed && state.length === 0 && state.needDrain;
+      if (needDrain) {
+        state.needDrain = false;
+        stream.emit("drain");
       }
-      return state.config.resourceLocation;
-    }
-    exports2.getResourceLocation = getResourceLocation;
-    function isOperationError(e) {
-      return e.name === "RestError";
+      while (count-- > 0) {
+        state.pendingcb--;
+        cb();
+      }
+      if (state.destroyed) {
+        errorBuffer(state);
+      }
+      finishMaybe(stream, state);
     }
-    exports2.isOperationError = isOperationError;
-    async function pollHttpOperation(inputs) {
-      const { lro, stateProxy, options, processResult, updateState, setDelay, state, setErrorAsResult } = inputs;
-      return (0, operation_js_1.pollOperation)({
-        state,
-        stateProxy,
-        setDelay,
-        processResult: processResult ? ({ flatResponse }, inputState) => processResult(flatResponse, inputState) : ({ flatResponse }) => flatResponse,
-        getError: getErrorFromResponse,
-        updateState,
-        getPollingInterval: parseRetryAfter,
-        getOperationLocation,
-        getOperationStatus,
-        isOperationError,
-        getResourceLocation,
-        options,
-        /**
-         * The expansion here is intentional because `lro` could be an object that
-         * references an inner this, so we need to preserve a reference to it.
-         */
-        poll: async (location, inputOptions) => lro.sendPollRequest(location, inputOptions),
-        setErrorAsResult
-      });
+    function errorBuffer(state) {
+      if (state.writing) {
+        return;
+      }
+      for (let n = state.bufferedIndex; n < state.buffered.length; ++n) {
+        var _state$errored;
+        const { chunk, callback } = state.buffered[n];
+        const len = state.objectMode ? 1 : chunk.length;
+        state.length -= len;
+        callback(
+          (_state$errored = state.errored) !== null && _state$errored !== void 0 ? _state$errored : new ERR_STREAM_DESTROYED("write")
+        );
+      }
+      const onfinishCallbacks = state[kOnFinished].splice(0);
+      for (let i = 0; i < onfinishCallbacks.length; i++) {
+        var _state$errored2;
+        onfinishCallbacks[i](
+          (_state$errored2 = state.errored) !== null && _state$errored2 !== void 0 ? _state$errored2 : new ERR_STREAM_DESTROYED("end")
+        );
+      }
+      resetBuffer(state);
     }
-    exports2.pollHttpOperation = pollHttpOperation;
-  }
-});
-
-// node_modules/@azure/core-lro/dist/commonjs/poller/poller.js
-var require_poller = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/poller/poller.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.buildCreatePoller = void 0;
-    var operation_js_1 = require_operation();
-    var constants_js_1 = require_constants16();
-    var core_util_1 = require_commonjs6();
-    var createStateProxy = () => ({
-      /**
-       * The state at this point is created to be of type OperationState.
-       * It will be updated later to be of type TState when the
-       * customer-provided callback, `updateState`, is called during polling.
-       */
-      initState: (config) => ({ status: "running", config }),
-      setCanceled: (state) => state.status = "canceled",
-      setError: (state, error3) => state.error = error3,
-      setResult: (state, result) => state.result = result,
-      setRunning: (state) => state.status = "running",
-      setSucceeded: (state) => state.status = "succeeded",
-      setFailed: (state) => state.status = "failed",
-      getError: (state) => state.error,
-      getResult: (state) => state.result,
-      isCanceled: (state) => state.status === "canceled",
-      isFailed: (state) => state.status === "failed",
-      isRunning: (state) => state.status === "running",
-      isSucceeded: (state) => state.status === "succeeded"
-    });
-    function buildCreatePoller(inputs) {
-      const { getOperationLocation, getStatusFromInitialResponse, getStatusFromPollResponse, isOperationError, getResourceLocation, getPollingInterval, getError, resolveOnUnsuccessful } = inputs;
-      return async ({ init, poll }, options) => {
-        const { processResult, updateState, withOperationLocation: withOperationLocationCallback, intervalInMs = constants_js_1.POLL_INTERVAL_IN_MS, restoreFrom } = options || {};
-        const stateProxy = createStateProxy();
-        const withOperationLocation = withOperationLocationCallback ? /* @__PURE__ */ (() => {
-          let called = false;
-          return (operationLocation, isUpdated) => {
-            if (isUpdated)
-              withOperationLocationCallback(operationLocation);
-            else if (!called)
-              withOperationLocationCallback(operationLocation);
-            called = true;
-          };
-        })() : void 0;
-        const state = restoreFrom ? (0, operation_js_1.deserializeState)(restoreFrom) : await (0, operation_js_1.initOperation)({
-          init,
-          stateProxy,
-          processResult,
-          getOperationStatus: getStatusFromInitialResponse,
-          withOperationLocation,
-          setErrorAsResult: !resolveOnUnsuccessful
-        });
-        let resultPromise;
-        const abortController = new AbortController();
-        const handlers = /* @__PURE__ */ new Map();
-        const handleProgressEvents = async () => handlers.forEach((h) => h(state));
-        const cancelErrMsg = "Operation was canceled";
-        let currentPollIntervalInMs = intervalInMs;
-        const poller = {
-          getOperationState: () => state,
-          getResult: () => state.result,
-          isDone: () => ["succeeded", "failed", "canceled"].includes(state.status),
-          isStopped: () => resultPromise === void 0,
-          stopPolling: () => {
-            abortController.abort();
-          },
-          toString: () => JSON.stringify({
-            state
-          }),
-          onProgress: (callback) => {
-            const s = /* @__PURE__ */ Symbol();
-            handlers.set(s, callback);
-            return () => handlers.delete(s);
-          },
-          pollUntilDone: (pollOptions) => resultPromise !== null && resultPromise !== void 0 ? resultPromise : resultPromise = (async () => {
-            const { abortSignal: inputAbortSignal } = pollOptions || {};
-            function abortListener() {
-              abortController.abort();
-            }
-            const abortSignal = abortController.signal;
-            if (inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.aborted) {
-              abortController.abort();
-            } else if (!abortSignal.aborted) {
-              inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.addEventListener("abort", abortListener, { once: true });
-            }
-            try {
-              if (!poller.isDone()) {
-                await poller.poll({ abortSignal });
-                while (!poller.isDone()) {
-                  await (0, core_util_1.delay)(currentPollIntervalInMs, { abortSignal });
-                  await poller.poll({ abortSignal });
-                }
-              }
-            } finally {
-              inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.removeEventListener("abort", abortListener);
-            }
-            if (resolveOnUnsuccessful) {
-              return poller.getResult();
-            } else {
-              switch (state.status) {
-                case "succeeded":
-                  return poller.getResult();
-                case "canceled":
-                  throw new Error(cancelErrMsg);
-                case "failed":
-                  throw state.error;
-                case "notStarted":
-                case "running":
-                  throw new Error(`Polling completed without succeeding or failing`);
-              }
-            }
-          })().finally(() => {
-            resultPromise = void 0;
-          }),
-          async poll(pollOptions) {
-            if (resolveOnUnsuccessful) {
-              if (poller.isDone())
-                return;
-            } else {
-              switch (state.status) {
-                case "succeeded":
-                  return;
-                case "canceled":
-                  throw new Error(cancelErrMsg);
-                case "failed":
-                  throw state.error;
-              }
-            }
-            await (0, operation_js_1.pollOperation)({
-              poll,
-              state,
-              stateProxy,
-              getOperationLocation,
-              isOperationError,
-              withOperationLocation,
-              getPollingInterval,
-              getOperationStatus: getStatusFromPollResponse,
-              getResourceLocation,
-              processResult,
-              getError,
-              updateState,
-              options: pollOptions,
-              setDelay: (pollIntervalInMs) => {
-                currentPollIntervalInMs = pollIntervalInMs;
-              },
-              setErrorAsResult: !resolveOnUnsuccessful
-            });
-            await handleProgressEvents();
-            if (!resolveOnUnsuccessful) {
-              switch (state.status) {
-                case "canceled":
-                  throw new Error(cancelErrMsg);
-                case "failed":
-                  throw state.error;
-              }
-            }
+    function clearBuffer(stream, state) {
+      if (state.corked || state.bufferProcessing || state.destroyed || !state.constructed) {
+        return;
+      }
+      const { buffered, bufferedIndex, objectMode } = state;
+      const bufferedLength = buffered.length - bufferedIndex;
+      if (!bufferedLength) {
+        return;
+      }
+      let i = bufferedIndex;
+      state.bufferProcessing = true;
+      if (bufferedLength > 1 && stream._writev) {
+        state.pendingcb -= bufferedLength - 1;
+        const callback = state.allNoop ? nop : (err) => {
+          for (let n = i; n < buffered.length; ++n) {
+            buffered[n].callback(err);
           }
         };
-        return poller;
-      };
-    }
-    exports2.buildCreatePoller = buildCreatePoller;
-  }
-});
-
-// node_modules/@azure/core-lro/dist/commonjs/http/poller.js
-var require_poller2 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/http/poller.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createHttpPoller = void 0;
-    var operation_js_1 = require_operation2();
-    var poller_js_1 = require_poller();
-    async function createHttpPoller(lro, options) {
-      const { resourceLocationConfig, intervalInMs, processResult, restoreFrom, updateState, withOperationLocation, resolveOnUnsuccessful = false } = options || {};
-      return (0, poller_js_1.buildCreatePoller)({
-        getStatusFromInitialResponse: operation_js_1.getStatusFromInitialResponse,
-        getStatusFromPollResponse: operation_js_1.getOperationStatus,
-        isOperationError: operation_js_1.isOperationError,
-        getOperationLocation: operation_js_1.getOperationLocation,
-        getResourceLocation: operation_js_1.getResourceLocation,
-        getPollingInterval: operation_js_1.parseRetryAfter,
-        getError: operation_js_1.getErrorFromResponse,
-        resolveOnUnsuccessful
-      })({
-        init: async () => {
-          const response = await lro.sendInitialRequest();
-          const config = (0, operation_js_1.inferLroMode)({
-            rawResponse: response.rawResponse,
-            requestPath: lro.requestPath,
-            requestMethod: lro.requestMethod,
-            resourceLocationConfig
-          });
-          return Object.assign({ response, operationLocation: config === null || config === void 0 ? void 0 : config.operationLocation, resourceLocation: config === null || config === void 0 ? void 0 : config.resourceLocation }, (config === null || config === void 0 ? void 0 : config.mode) ? { metadata: { mode: config.mode } } : {});
-        },
-        poll: lro.sendPollRequest
-      }, {
-        intervalInMs,
-        withOperationLocation,
-        restoreFrom,
-        updateState,
-        processResult: processResult ? ({ flatResponse }, state) => processResult(flatResponse, state) : ({ flatResponse }) => flatResponse
-      });
+        const chunks = state.allNoop && i === 0 ? buffered : ArrayPrototypeSlice(buffered, i);
+        chunks.allBuffers = state.allBuffers;
+        doWrite(stream, state, true, state.length, chunks, "", callback);
+        resetBuffer(state);
+      } else {
+        do {
+          const { chunk, encoding, callback } = buffered[i];
+          buffered[i++] = null;
+          const len = objectMode ? 1 : chunk.length;
+          doWrite(stream, state, false, len, chunk, encoding, callback);
+        } while (i < buffered.length && !state.writing);
+        if (i === buffered.length) {
+          resetBuffer(state);
+        } else if (i > 256) {
+          buffered.splice(0, i);
+          state.bufferedIndex = 0;
+        } else {
+          state.bufferedIndex = i;
+        }
+      }
+      state.bufferProcessing = false;
     }
-    exports2.createHttpPoller = createHttpPoller;
-  }
-});
-
-// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/operation.js
-var require_operation3 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/operation.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.GenericPollOperation = void 0;
-    var operation_js_1 = require_operation2();
-    var logger_js_1 = require_logger2();
-    var createStateProxy = () => ({
-      initState: (config) => ({ config, isStarted: true }),
-      setCanceled: (state) => state.isCancelled = true,
-      setError: (state, error3) => state.error = error3,
-      setResult: (state, result) => state.result = result,
-      setRunning: (state) => state.isStarted = true,
-      setSucceeded: (state) => state.isCompleted = true,
-      setFailed: () => {
-      },
-      getError: (state) => state.error,
-      getResult: (state) => state.result,
-      isCanceled: (state) => !!state.isCancelled,
-      isFailed: (state) => !!state.error,
-      isRunning: (state) => !!state.isStarted,
-      isSucceeded: (state) => Boolean(state.isCompleted && !state.isCancelled && !state.error)
-    });
-    var GenericPollOperation = class {
-      constructor(state, lro, setErrorAsResult, lroResourceLocationConfig, processResult, updateState, isDone) {
-        this.state = state;
-        this.lro = lro;
-        this.setErrorAsResult = setErrorAsResult;
-        this.lroResourceLocationConfig = lroResourceLocationConfig;
-        this.processResult = processResult;
-        this.updateState = updateState;
-        this.isDone = isDone;
+    Writable.prototype._write = function(chunk, encoding, cb) {
+      if (this._writev) {
+        this._writev(
+          [
+            {
+              chunk,
+              encoding
+            }
+          ],
+          cb
+        );
+      } else {
+        throw new ERR_METHOD_NOT_IMPLEMENTED("_write()");
       }
-      setPollerConfig(pollerConfig) {
-        this.pollerConfig = pollerConfig;
+    };
+    Writable.prototype._writev = null;
+    Writable.prototype.end = function(chunk, encoding, cb) {
+      const state = this._writableState;
+      if (typeof chunk === "function") {
+        cb = chunk;
+        chunk = null;
+        encoding = null;
+      } else if (typeof encoding === "function") {
+        cb = encoding;
+        encoding = null;
       }
-      async update(options) {
-        var _a;
-        const stateProxy = createStateProxy();
-        if (!this.state.isStarted) {
-          this.state = Object.assign(Object.assign({}, this.state), await (0, operation_js_1.initHttpOperation)({
-            lro: this.lro,
-            stateProxy,
-            resourceLocationConfig: this.lroResourceLocationConfig,
-            processResult: this.processResult,
-            setErrorAsResult: this.setErrorAsResult
-          }));
-        }
-        const updateState = this.updateState;
-        const isDone = this.isDone;
-        if (!this.state.isCompleted && this.state.error === void 0) {
-          await (0, operation_js_1.pollHttpOperation)({
-            lro: this.lro,
-            state: this.state,
-            stateProxy,
-            processResult: this.processResult,
-            updateState: updateState ? (state, { rawResponse }) => updateState(state, rawResponse) : void 0,
-            isDone: isDone ? ({ flatResponse }, state) => isDone(flatResponse, state) : void 0,
-            options,
-            setDelay: (intervalInMs) => {
-              this.pollerConfig.intervalInMs = intervalInMs;
-            },
-            setErrorAsResult: this.setErrorAsResult
-          });
+      let err;
+      if (chunk !== null && chunk !== void 0) {
+        const ret = _write(this, chunk, encoding);
+        if (ret instanceof Error2) {
+          err = ret;
         }
-        (_a = options === null || options === void 0 ? void 0 : options.fireProgress) === null || _a === void 0 ? void 0 : _a.call(options, this.state);
-        return this;
       }
-      async cancel() {
-        logger_js_1.logger.error("`cancelOperation` is deprecated because it wasn't implemented");
-        return this;
-      }
-      /**
-       * Serializes the Poller operation.
-       */
-      toString() {
-        return JSON.stringify({
-          state: this.state
-        });
+      if (state.corked) {
+        state.corked = 1;
+        this.uncork();
       }
-    };
-    exports2.GenericPollOperation = GenericPollOperation;
-  }
-});
-
-// node_modules/@azure/core-lro/dist/commonjs/legacy/poller.js
-var require_poller3 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/legacy/poller.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Poller = exports2.PollerCancelledError = exports2.PollerStoppedError = void 0;
-    var PollerStoppedError = class _PollerStoppedError extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "PollerStoppedError";
-        Object.setPrototypeOf(this, _PollerStoppedError.prototype);
+      if (err) {
+      } else if (!state.errored && !state.ending) {
+        state.ending = true;
+        finishMaybe(this, state, true);
+        state.ended = true;
+      } else if (state.finished) {
+        err = new ERR_STREAM_ALREADY_FINISHED("end");
+      } else if (state.destroyed) {
+        err = new ERR_STREAM_DESTROYED("end");
       }
-    };
-    exports2.PollerStoppedError = PollerStoppedError;
-    var PollerCancelledError = class _PollerCancelledError extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "PollerCancelledError";
-        Object.setPrototypeOf(this, _PollerCancelledError.prototype);
+      if (typeof cb === "function") {
+        if (err || state.finished) {
+          process2.nextTick(cb, err);
+        } else {
+          state[kOnFinished].push(cb);
+        }
       }
+      return this;
     };
-    exports2.PollerCancelledError = PollerCancelledError;
-    var Poller = class {
-      /**
-       * A poller needs to be initialized by passing in at least the basic properties of the `PollOperation`.
-       *
-       * When writing an implementation of a Poller, this implementation needs to deal with the initialization
-       * of any custom state beyond the basic definition of the poller. The basic poller assumes that the poller's
-       * operation has already been defined, at least its basic properties. The code below shows how to approach
-       * the definition of the constructor of a new custom poller.
-       *
-       * ```ts
-       * export class MyPoller extends Poller {
-       *   constructor({
-       *     // Anything you might need outside of the basics
-       *   }) {
-       *     let state: MyOperationState = {
-       *       privateProperty: private,
-       *       publicProperty: public,
-       *     };
-       *
-       *     const operation = {
-       *       state,
-       *       update,
-       *       cancel,
-       *       toString
-       *     }
-       *
-       *     // Sending the operation to the parent's constructor.
-       *     super(operation);
-       *
-       *     // You can assign more local properties here.
-       *   }
-       * }
-       * ```
-       *
-       * Inside of this constructor, a new promise is created. This will be used to
-       * tell the user when the poller finishes (see `pollUntilDone()`). The promise's
-       * resolve and reject methods are also used internally to control when to resolve
-       * or reject anyone waiting for the poller to finish.
-       *
-       * The constructor of a custom implementation of a poller is where any serialized version of
-       * a previous poller's operation should be deserialized into the operation sent to the
-       * base constructor. For example:
-       *
-       * ```ts
-       * export class MyPoller extends Poller {
-       *   constructor(
-       *     baseOperation: string | undefined
-       *   ) {
-       *     let state: MyOperationState = {};
-       *     if (baseOperation) {
-       *       state = {
-       *         ...JSON.parse(baseOperation).state,
-       *         ...state
-       *       };
-       *     }
-       *     const operation = {
-       *       state,
-       *       // ...
-       *     }
-       *     super(operation);
-       *   }
-       * }
-       * ```
-       *
-       * @param operation - Must contain the basic properties of `PollOperation`.
-       */
-      constructor(operation) {
-        this.resolveOnUnsuccessful = false;
-        this.stopped = true;
-        this.pollProgressCallbacks = [];
-        this.operation = operation;
-        this.promise = new Promise((resolve2, reject) => {
-          this.resolve = resolve2;
-          this.reject = reject;
-        });
-        this.promise.catch(() => {
-        });
-      }
-      /**
-       * Starts a loop that will break only if the poller is done
-       * or if the poller is stopped.
-       */
-      async startPolling(pollOptions = {}) {
-        if (this.stopped) {
-          this.stopped = false;
+    function needFinish(state) {
+      return state.ending && !state.destroyed && state.constructed && state.length === 0 && !state.errored && state.buffered.length === 0 && !state.finished && !state.writing && !state.errorEmitted && !state.closeEmitted;
+    }
+    function callFinal(stream, state) {
+      let called = false;
+      function onFinish(err) {
+        if (called) {
+          errorOrDestroy(stream, err !== null && err !== void 0 ? err : ERR_MULTIPLE_CALLBACK());
+          return;
         }
-        while (!this.isStopped() && !this.isDone()) {
-          await this.poll(pollOptions);
-          await this.delay();
+        called = true;
+        state.pendingcb--;
+        if (err) {
+          const onfinishCallbacks = state[kOnFinished].splice(0);
+          for (let i = 0; i < onfinishCallbacks.length; i++) {
+            onfinishCallbacks[i](err);
+          }
+          errorOrDestroy(stream, err, state.sync);
+        } else if (needFinish(state)) {
+          state.prefinished = true;
+          stream.emit("prefinish");
+          state.pendingcb++;
+          process2.nextTick(finish, stream, state);
         }
       }
-      /**
-       * pollOnce does one polling, by calling to the update method of the underlying
-       * poll operation to make any relevant change effective.
-       *
-       * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike.
-       *
-       * @param options - Optional properties passed to the operation's update method.
-       */
-      async pollOnce(options = {}) {
-        if (!this.isDone()) {
-          this.operation = await this.operation.update({
-            abortSignal: options.abortSignal,
-            fireProgress: this.fireProgress.bind(this)
-          });
+      state.sync = true;
+      state.pendingcb++;
+      try {
+        stream._final(onFinish);
+      } catch (err) {
+        onFinish(err);
+      }
+      state.sync = false;
+    }
+    function prefinish(stream, state) {
+      if (!state.prefinished && !state.finalCalled) {
+        if (typeof stream._final === "function" && !state.destroyed) {
+          state.finalCalled = true;
+          callFinal(stream, state);
+        } else {
+          state.prefinished = true;
+          stream.emit("prefinish");
         }
-        this.processUpdatedState();
       }
-      /**
-       * fireProgress calls the functions passed in via onProgress the method of the poller.
-       *
-       * It loops over all of the callbacks received from onProgress, and executes them, sending them
-       * the current operation state.
-       *
-       * @param state - The current operation state.
-       */
-      fireProgress(state) {
-        for (const callback of this.pollProgressCallbacks) {
-          callback(state);
+    }
+    function finishMaybe(stream, state, sync) {
+      if (needFinish(state)) {
+        prefinish(stream, state);
+        if (state.pendingcb === 0) {
+          if (sync) {
+            state.pendingcb++;
+            process2.nextTick(
+              (stream2, state2) => {
+                if (needFinish(state2)) {
+                  finish(stream2, state2);
+                } else {
+                  state2.pendingcb--;
+                }
+              },
+              stream,
+              state
+            );
+          } else if (needFinish(state)) {
+            state.pendingcb++;
+            finish(stream, state);
+          }
         }
       }
-      /**
-       * Invokes the underlying operation's cancel method.
-       */
-      async cancelOnce(options = {}) {
-        this.operation = await this.operation.cancel(options);
+    }
+    function finish(stream, state) {
+      state.pendingcb--;
+      state.finished = true;
+      const onfinishCallbacks = state[kOnFinished].splice(0);
+      for (let i = 0; i < onfinishCallbacks.length; i++) {
+        onfinishCallbacks[i]();
       }
-      /**
-       * Returns a promise that will resolve once a single polling request finishes.
-       * It does this by calling the update method of the Poller's operation.
-       *
-       * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike.
-       *
-       * @param options - Optional properties passed to the operation's update method.
-       */
-      poll(options = {}) {
-        if (!this.pollOncePromise) {
-          this.pollOncePromise = this.pollOnce(options);
-          const clearPollOncePromise = () => {
-            this.pollOncePromise = void 0;
-          };
-          this.pollOncePromise.then(clearPollOncePromise, clearPollOncePromise).catch(this.reject);
+      stream.emit("finish");
+      if (state.autoDestroy) {
+        const rState = stream._readableState;
+        const autoDestroy = !rState || rState.autoDestroy && // We don't expect the readable to ever 'end'
+        // if readable is explicitly set to false.
+        (rState.endEmitted || rState.readable === false);
+        if (autoDestroy) {
+          stream.destroy();
         }
-        return this.pollOncePromise;
       }
-      processUpdatedState() {
-        if (this.operation.state.error) {
-          this.stopped = true;
-          if (!this.resolveOnUnsuccessful) {
-            this.reject(this.operation.state.error);
-            throw this.operation.state.error;
+    }
+    ObjectDefineProperties(Writable.prototype, {
+      closed: {
+        __proto__: null,
+        get() {
+          return this._writableState ? this._writableState.closed : false;
+        }
+      },
+      destroyed: {
+        __proto__: null,
+        get() {
+          return this._writableState ? this._writableState.destroyed : false;
+        },
+        set(value) {
+          if (this._writableState) {
+            this._writableState.destroyed = value;
           }
         }
-        if (this.operation.state.isCancelled) {
-          this.stopped = true;
-          if (!this.resolveOnUnsuccessful) {
-            const error3 = new PollerCancelledError("Operation was canceled");
-            this.reject(error3);
-            throw error3;
+      },
+      writable: {
+        __proto__: null,
+        get() {
+          const w = this._writableState;
+          return !!w && w.writable !== false && !w.destroyed && !w.errored && !w.ending && !w.ended;
+        },
+        set(val) {
+          if (this._writableState) {
+            this._writableState.writable = !!val;
           }
         }
-        if (this.isDone() && this.resolve) {
-          this.resolve(this.getResult());
+      },
+      writableFinished: {
+        __proto__: null,
+        get() {
+          return this._writableState ? this._writableState.finished : false;
         }
-      }
-      /**
-       * Returns a promise that will resolve once the underlying operation is completed.
-       */
-      async pollUntilDone(pollOptions = {}) {
-        if (this.stopped) {
-          this.startPolling(pollOptions).catch(this.reject);
+      },
+      writableObjectMode: {
+        __proto__: null,
+        get() {
+          return this._writableState ? this._writableState.objectMode : false;
         }
-        this.processUpdatedState();
-        return this.promise;
-      }
-      /**
-       * Invokes the provided callback after each polling is completed,
-       * sending the current state of the poller's operation.
-       *
-       * It returns a method that can be used to stop receiving updates on the given callback function.
-       */
-      onProgress(callback) {
-        this.pollProgressCallbacks.push(callback);
-        return () => {
-          this.pollProgressCallbacks = this.pollProgressCallbacks.filter((c) => c !== callback);
-        };
-      }
-      /**
-       * Returns true if the poller has finished polling.
-       */
-      isDone() {
-        const state = this.operation.state;
-        return Boolean(state.isCompleted || state.isCancelled || state.error);
-      }
-      /**
-       * Stops the poller from continuing to poll.
-       */
-      stopPolling() {
-        if (!this.stopped) {
-          this.stopped = true;
-          if (this.reject) {
-            this.reject(new PollerStoppedError("This poller is already stopped"));
-          }
+      },
+      writableBuffer: {
+        __proto__: null,
+        get() {
+          return this._writableState && this._writableState.getBuffer();
         }
-      }
-      /**
-       * Returns true if the poller is stopped.
-       */
-      isStopped() {
-        return this.stopped;
-      }
-      /**
-       * Attempts to cancel the underlying operation.
-       *
-       * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike.
-       *
-       * If it's called again before it finishes, it will throw an error.
-       *
-       * @param options - Optional properties passed to the operation's update method.
-       */
-      cancelOperation(options = {}) {
-        if (!this.cancelPromise) {
-          this.cancelPromise = this.cancelOnce(options);
-        } else if (options.abortSignal) {
-          throw new Error("A cancel request is currently pending");
+      },
+      writableEnded: {
+        __proto__: null,
+        get() {
+          return this._writableState ? this._writableState.ending : false;
+        }
+      },
+      writableNeedDrain: {
+        __proto__: null,
+        get() {
+          const wState = this._writableState;
+          if (!wState) return false;
+          return !wState.destroyed && !wState.ending && wState.needDrain;
+        }
+      },
+      writableHighWaterMark: {
+        __proto__: null,
+        get() {
+          return this._writableState && this._writableState.highWaterMark;
+        }
+      },
+      writableCorked: {
+        __proto__: null,
+        get() {
+          return this._writableState ? this._writableState.corked : 0;
+        }
+      },
+      writableLength: {
+        __proto__: null,
+        get() {
+          return this._writableState && this._writableState.length;
+        }
+      },
+      errored: {
+        __proto__: null,
+        enumerable: false,
+        get() {
+          return this._writableState ? this._writableState.errored : null;
+        }
+      },
+      writableAborted: {
+        __proto__: null,
+        enumerable: false,
+        get: function() {
+          return !!(this._writableState.writable !== false && (this._writableState.destroyed || this._writableState.errored) && !this._writableState.finished);
         }
-        return this.cancelPromise;
-      }
-      /**
-       * Returns the state of the operation.
-       *
-       * Even though TState will be the same type inside any of the methods of any extension of the Poller class,
-       * implementations of the pollers can customize what's shared with the public by writing their own
-       * version of the `getOperationState` method, and by defining two types, one representing the internal state of the poller
-       * and a public type representing a safe to share subset of the properties of the internal state.
-       * Their definition of getOperationState can then return their public type.
-       *
-       * Example:
-       *
-       * ```ts
-       * // Let's say we have our poller's operation state defined as:
-       * interface MyOperationState extends PollOperationState {
-       *   privateProperty?: string;
-       *   publicProperty?: string;
-       * }
-       *
-       * // To allow us to have a true separation of public and private state, we have to define another interface:
-       * interface PublicState extends PollOperationState {
-       *   publicProperty?: string;
-       * }
-       *
-       * // Then, we define our Poller as follows:
-       * export class MyPoller extends Poller {
-       *   // ... More content is needed here ...
-       *
-       *   public getOperationState(): PublicState {
-       *     const state: PublicState = this.operation.state;
-       *     return {
-       *       // Properties from PollOperationState
-       *       isStarted: state.isStarted,
-       *       isCompleted: state.isCompleted,
-       *       isCancelled: state.isCancelled,
-       *       error: state.error,
-       *       result: state.result,
-       *
-       *       // The only other property needed by PublicState.
-       *       publicProperty: state.publicProperty
-       *     }
-       *   }
-       * }
-       * ```
-       *
-       * You can see this in the tests of this repository, go to the file:
-       * `../test/utils/testPoller.ts`
-       * and look for the getOperationState implementation.
-       */
-      getOperationState() {
-        return this.operation.state;
-      }
-      /**
-       * Returns the result value of the operation,
-       * regardless of the state of the poller.
-       * It can return undefined or an incomplete form of the final TResult value
-       * depending on the implementation.
-       */
-      getResult() {
-        const state = this.operation.state;
-        return state.result;
       }
-      /**
-       * Returns a serialized version of the poller's operation
-       * by invoking the operation's toString method.
-       */
-      toString() {
-        return this.operation.toString();
+    });
+    var destroy = destroyImpl.destroy;
+    Writable.prototype.destroy = function(err, cb) {
+      const state = this._writableState;
+      if (!state.destroyed && (state.bufferedIndex < state.buffered.length || state[kOnFinished].length)) {
+        process2.nextTick(errorBuffer, state);
       }
+      destroy.call(this, err, cb);
+      return this;
     };
-    exports2.Poller = Poller;
-  }
-});
-
-// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/lroEngine.js
-var require_lroEngine = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/lroEngine.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.LroEngine = void 0;
-    var operation_js_1 = require_operation3();
-    var constants_js_1 = require_constants16();
-    var poller_js_1 = require_poller3();
-    var operation_js_2 = require_operation();
-    var LroEngine = class extends poller_js_1.Poller {
-      constructor(lro, options) {
-        const { intervalInMs = constants_js_1.POLL_INTERVAL_IN_MS, resumeFrom, resolveOnUnsuccessful = false, isDone, lroResourceLocationConfig, processResult, updateState } = options || {};
-        const state = resumeFrom ? (0, operation_js_2.deserializeState)(resumeFrom) : {};
-        const operation = new operation_js_1.GenericPollOperation(state, lro, !resolveOnUnsuccessful, lroResourceLocationConfig, processResult, updateState, isDone);
-        super(operation);
-        this.resolveOnUnsuccessful = resolveOnUnsuccessful;
-        this.config = { intervalInMs };
-        operation.setPollerConfig(this.config);
-      }
-      /**
-       * The method used by the poller to wait before attempting to update its operation.
-       */
-      delay() {
-        return new Promise((resolve2) => setTimeout(() => resolve2(), this.config.intervalInMs));
-      }
+    Writable.prototype._undestroy = destroyImpl.undestroy;
+    Writable.prototype._destroy = function(err, cb) {
+      cb(err);
+    };
+    Writable.prototype[EE.captureRejectionSymbol] = function(err) {
+      this.destroy(err);
+    };
+    var webStreamsAdapters;
+    function lazyWebStreams() {
+      if (webStreamsAdapters === void 0) webStreamsAdapters = {};
+      return webStreamsAdapters;
+    }
+    Writable.fromWeb = function(writableStream, options) {
+      return lazyWebStreams().newStreamWritableFromWritableStream(writableStream, options);
+    };
+    Writable.toWeb = function(streamWritable) {
+      return lazyWebStreams().newWritableStreamFromStreamWritable(streamWritable);
     };
-    exports2.LroEngine = LroEngine;
-  }
-});
-
-// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/index.js
-var require_lroEngine2 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.LroEngine = void 0;
-    var lroEngine_js_1 = require_lroEngine();
-    Object.defineProperty(exports2, "LroEngine", { enumerable: true, get: function() {
-      return lroEngine_js_1.LroEngine;
-    } });
-  }
-});
-
-// node_modules/@azure/core-lro/dist/commonjs/legacy/pollOperation.js
-var require_pollOperation = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/legacy/pollOperation.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-  }
-});
-
-// node_modules/@azure/core-lro/dist/commonjs/index.js
-var require_commonjs16 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createHttpPoller = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var poller_js_1 = require_poller2();
-    Object.defineProperty(exports2, "createHttpPoller", { enumerable: true, get: function() {
-      return poller_js_1.createHttpPoller;
-    } });
-    tslib_1.__exportStar(require_lroEngine2(), exports2);
-    tslib_1.__exportStar(require_poller3(), exports2);
-    tslib_1.__exportStar(require_pollOperation(), exports2);
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/pollers/BlobStartCopyFromUrlPoller.js
-var require_BlobStartCopyFromUrlPoller = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/pollers/BlobStartCopyFromUrlPoller.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobBeginCopyFromUrlPoller = void 0;
-    var core_util_1 = require_commonjs6();
-    var core_lro_1 = require_commonjs16();
-    var BlobBeginCopyFromUrlPoller = class extends core_lro_1.Poller {
-      intervalInMs;
+// node_modules/readable-stream/lib/internal/streams/duplexify.js
+var require_duplexify = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/duplexify.js"(exports2, module2) {
+    var process2 = require_process();
+    var bufferModule = require("buffer");
+    var {
+      isReadable,
+      isWritable,
+      isIterable,
+      isNodeStream,
+      isReadableNodeStream,
+      isWritableNodeStream,
+      isDuplexNodeStream,
+      isReadableStream,
+      isWritableStream
+    } = require_utils8();
+    var eos = require_end_of_stream();
+    var {
+      AbortError,
+      codes: { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_RETURN_VALUE }
+    } = require_errors4();
+    var { destroyer } = require_destroy2();
+    var Duplex = require_duplex();
+    var Readable = require_readable4();
+    var Writable = require_writable();
+    var { createDeferredPromise } = require_util20();
+    var from = require_from();
+    var Blob2 = globalThis.Blob || bufferModule.Blob;
+    var isBlob = typeof Blob2 !== "undefined" ? function isBlob2(b) {
+      return b instanceof Blob2;
+    } : function isBlob2(b) {
+      return false;
+    };
+    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
+    var { FunctionPrototypeCall } = require_primordials();
+    var Duplexify = class extends Duplex {
       constructor(options) {
-        const { blobClient, copySource, intervalInMs = 15e3, onProgress, resumeFrom, startCopyFromURLOptions } = options;
-        let state;
-        if (resumeFrom) {
-          state = JSON.parse(resumeFrom).state;
+        super(options);
+        if ((options === null || options === void 0 ? void 0 : options.readable) === false) {
+          this._readableState.readable = false;
+          this._readableState.ended = true;
+          this._readableState.endEmitted = true;
         }
-        const operation = makeBlobBeginCopyFromURLPollOperation({
-          ...state,
-          blobClient,
-          copySource,
-          startCopyFromURLOptions
+        if ((options === null || options === void 0 ? void 0 : options.writable) === false) {
+          this._writableState.writable = false;
+          this._writableState.ending = true;
+          this._writableState.ended = true;
+          this._writableState.finished = true;
+        }
+      }
+    };
+    module2.exports = function duplexify(body, name) {
+      if (isDuplexNodeStream(body)) {
+        return body;
+      }
+      if (isReadableNodeStream(body)) {
+        return _duplexify({
+          readable: body
         });
-        super(operation);
-        if (typeof onProgress === "function") {
-          this.onProgress(onProgress);
+      }
+      if (isWritableNodeStream(body)) {
+        return _duplexify({
+          writable: body
+        });
+      }
+      if (isNodeStream(body)) {
+        return _duplexify({
+          writable: false,
+          readable: false
+        });
+      }
+      if (isReadableStream(body)) {
+        return _duplexify({
+          readable: Readable.fromWeb(body)
+        });
+      }
+      if (isWritableStream(body)) {
+        return _duplexify({
+          writable: Writable.fromWeb(body)
+        });
+      }
+      if (typeof body === "function") {
+        const { value, write, final, destroy } = fromAsyncGen(body);
+        if (isIterable(value)) {
+          return from(Duplexify, value, {
+            // TODO (ronag): highWaterMark?
+            objectMode: true,
+            write,
+            final,
+            destroy
+          });
         }
-        this.intervalInMs = intervalInMs;
+        const then2 = value === null || value === void 0 ? void 0 : value.then;
+        if (typeof then2 === "function") {
+          let d;
+          const promise = FunctionPrototypeCall(
+            then2,
+            value,
+            (val) => {
+              if (val != null) {
+                throw new ERR_INVALID_RETURN_VALUE("nully", "body", val);
+              }
+            },
+            (err) => {
+              destroyer(d, err);
+            }
+          );
+          return d = new Duplexify({
+            // TODO (ronag): highWaterMark?
+            objectMode: true,
+            readable: false,
+            write,
+            final(cb) {
+              final(async () => {
+                try {
+                  await promise;
+                  process2.nextTick(cb, null);
+                } catch (err) {
+                  process2.nextTick(cb, err);
+                }
+              });
+            },
+            destroy
+          });
+        }
+        throw new ERR_INVALID_RETURN_VALUE("Iterable, AsyncIterable or AsyncFunction", name, value);
       }
-      delay() {
-        return (0, core_util_1.delay)(this.intervalInMs);
+      if (isBlob(body)) {
+        return duplexify(body.arrayBuffer());
       }
-    };
-    exports2.BlobBeginCopyFromUrlPoller = BlobBeginCopyFromUrlPoller;
-    var cancel = async function cancel2(options = {}) {
-      const state = this.state;
-      const { copyId } = state;
-      if (state.isCompleted) {
-        return makeBlobBeginCopyFromURLPollOperation(state);
+      if (isIterable(body)) {
+        return from(Duplexify, body, {
+          // TODO (ronag): highWaterMark?
+          objectMode: true,
+          writable: false
+        });
       }
-      if (!copyId) {
-        state.isCancelled = true;
-        return makeBlobBeginCopyFromURLPollOperation(state);
+      if (isReadableStream(body === null || body === void 0 ? void 0 : body.readable) && isWritableStream(body === null || body === void 0 ? void 0 : body.writable)) {
+        return Duplexify.fromWeb(body);
       }
-      await state.blobClient.abortCopyFromURL(copyId, {
-        abortSignal: options.abortSignal
-      });
-      state.isCancelled = true;
-      return makeBlobBeginCopyFromURLPollOperation(state);
+      if (typeof (body === null || body === void 0 ? void 0 : body.writable) === "object" || typeof (body === null || body === void 0 ? void 0 : body.readable) === "object") {
+        const readable = body !== null && body !== void 0 && body.readable ? isReadableNodeStream(body === null || body === void 0 ? void 0 : body.readable) ? body === null || body === void 0 ? void 0 : body.readable : duplexify(body.readable) : void 0;
+        const writable = body !== null && body !== void 0 && body.writable ? isWritableNodeStream(body === null || body === void 0 ? void 0 : body.writable) ? body === null || body === void 0 ? void 0 : body.writable : duplexify(body.writable) : void 0;
+        return _duplexify({
+          readable,
+          writable
+        });
+      }
+      const then = body === null || body === void 0 ? void 0 : body.then;
+      if (typeof then === "function") {
+        let d;
+        FunctionPrototypeCall(
+          then,
+          body,
+          (val) => {
+            if (val != null) {
+              d.push(val);
+            }
+            d.push(null);
+          },
+          (err) => {
+            destroyer(d, err);
+          }
+        );
+        return d = new Duplexify({
+          objectMode: true,
+          writable: false,
+          read() {
+          }
+        });
+      }
+      throw new ERR_INVALID_ARG_TYPE2(
+        name,
+        [
+          "Blob",
+          "ReadableStream",
+          "WritableStream",
+          "Stream",
+          "Iterable",
+          "AsyncIterable",
+          "Function",
+          "{ readable, writable } pair",
+          "Promise"
+        ],
+        body
+      );
     };
-    var update = async function update2(options = {}) {
-      const state = this.state;
-      const { blobClient, copySource, startCopyFromURLOptions } = state;
-      if (!state.isStarted) {
-        state.isStarted = true;
-        const result = await blobClient.startCopyFromURL(copySource, startCopyFromURLOptions);
-        state.copyId = result.copyId;
-        if (result.copyStatus === "success") {
-          state.result = result;
-          state.isCompleted = true;
+    function fromAsyncGen(fn) {
+      let { promise, resolve: resolve2 } = createDeferredPromise();
+      const ac = new AbortController2();
+      const signal = ac.signal;
+      const value = fn(
+        (async function* () {
+          while (true) {
+            const _promise = promise;
+            promise = null;
+            const { chunk, done, cb } = await _promise;
+            process2.nextTick(cb);
+            if (done) return;
+            if (signal.aborted)
+              throw new AbortError(void 0, {
+                cause: signal.reason
+              });
+            ({ promise, resolve: resolve2 } = createDeferredPromise());
+            yield chunk;
+          }
+        })(),
+        {
+          signal
         }
-      } else if (!state.isCompleted) {
-        try {
-          const result = await state.blobClient.getProperties({ abortSignal: options.abortSignal });
-          const { copyStatus, copyProgress } = result;
-          const prevCopyProgress = state.copyProgress;
-          if (copyProgress) {
-            state.copyProgress = copyProgress;
+      );
+      return {
+        value,
+        write(chunk, encoding, cb) {
+          const _resolve = resolve2;
+          resolve2 = null;
+          _resolve({
+            chunk,
+            done: false,
+            cb
+          });
+        },
+        final(cb) {
+          const _resolve = resolve2;
+          resolve2 = null;
+          _resolve({
+            done: true,
+            cb
+          });
+        },
+        destroy(err, cb) {
+          ac.abort();
+          cb(err);
+        }
+      };
+    }
+    function _duplexify(pair) {
+      const r = pair.readable && typeof pair.readable.read !== "function" ? Readable.wrap(pair.readable) : pair.readable;
+      const w = pair.writable;
+      let readable = !!isReadable(r);
+      let writable = !!isWritable(w);
+      let ondrain;
+      let onfinish;
+      let onreadable;
+      let onclose;
+      let d;
+      function onfinished(err) {
+        const cb = onclose;
+        onclose = null;
+        if (cb) {
+          cb(err);
+        } else if (err) {
+          d.destroy(err);
+        }
+      }
+      d = new Duplexify({
+        // TODO (ronag): highWaterMark?
+        readableObjectMode: !!(r !== null && r !== void 0 && r.readableObjectMode),
+        writableObjectMode: !!(w !== null && w !== void 0 && w.writableObjectMode),
+        readable,
+        writable
+      });
+      if (writable) {
+        eos(w, (err) => {
+          writable = false;
+          if (err) {
+            destroyer(r, err);
           }
-          if (copyStatus === "pending" && copyProgress !== prevCopyProgress && typeof options.fireProgress === "function") {
-            options.fireProgress(state);
-          } else if (copyStatus === "success") {
-            state.result = result;
-            state.isCompleted = true;
-          } else if (copyStatus === "failed") {
-            state.error = new Error(`Blob copy failed with reason: "${result.copyStatusDescription || "unknown"}"`);
-            state.isCompleted = true;
+          onfinished(err);
+        });
+        d._write = function(chunk, encoding, callback) {
+          if (w.write(chunk, encoding)) {
+            callback();
+          } else {
+            ondrain = callback;
           }
-        } catch (err) {
-          state.error = err;
-          state.isCompleted = true;
-        }
+        };
+        d._final = function(callback) {
+          w.end();
+          onfinish = callback;
+        };
+        w.on("drain", function() {
+          if (ondrain) {
+            const cb = ondrain;
+            ondrain = null;
+            cb();
+          }
+        });
+        w.on("finish", function() {
+          if (onfinish) {
+            const cb = onfinish;
+            onfinish = null;
+            cb();
+          }
+        });
+      }
+      if (readable) {
+        eos(r, (err) => {
+          readable = false;
+          if (err) {
+            destroyer(r, err);
+          }
+          onfinished(err);
+        });
+        r.on("readable", function() {
+          if (onreadable) {
+            const cb = onreadable;
+            onreadable = null;
+            cb();
+          }
+        });
+        r.on("end", function() {
+          d.push(null);
+        });
+        d._read = function() {
+          while (true) {
+            const buf = r.read();
+            if (buf === null) {
+              onreadable = d._read;
+              return;
+            }
+            if (!d.push(buf)) {
+              return;
+            }
+          }
+        };
       }
-      return makeBlobBeginCopyFromURLPollOperation(state);
-    };
-    var toString2 = function toString3() {
-      return JSON.stringify({ state: this.state }, (key, value) => {
-        if (key === "blobClient") {
-          return void 0;
+      d._destroy = function(err, callback) {
+        if (!err && onclose !== null) {
+          err = new AbortError();
+        }
+        onreadable = null;
+        ondrain = null;
+        onfinish = null;
+        if (onclose === null) {
+          callback(err);
+        } else {
+          onclose = callback;
+          destroyer(w, err);
+          destroyer(r, err);
         }
-        return value;
-      });
-    };
-    function makeBlobBeginCopyFromURLPollOperation(state) {
-      return {
-        state: { ...state },
-        cancel,
-        toString: toString2,
-        update
       };
+      return d;
     }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/Range.js
-var require_Range = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/Range.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/duplex.js
+var require_duplex = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/duplex.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.rangeToString = rangeToString;
-    function rangeToString(iRange) {
-      if (iRange.offset < 0) {
-        throw new RangeError(`Range.offset cannot be smaller than 0.`);
+    var {
+      ObjectDefineProperties,
+      ObjectGetOwnPropertyDescriptor,
+      ObjectKeys,
+      ObjectSetPrototypeOf
+    } = require_primordials();
+    module2.exports = Duplex;
+    var Readable = require_readable4();
+    var Writable = require_writable();
+    ObjectSetPrototypeOf(Duplex.prototype, Readable.prototype);
+    ObjectSetPrototypeOf(Duplex, Readable);
+    {
+      const keys = ObjectKeys(Writable.prototype);
+      for (let i = 0; i < keys.length; i++) {
+        const method = keys[i];
+        if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];
       }
-      if (iRange.count && iRange.count <= 0) {
-        throw new RangeError(`Range.count must be larger than 0. Leave it undefined if you want a range from offset to the end.`);
+    }
+    function Duplex(options) {
+      if (!(this instanceof Duplex)) return new Duplex(options);
+      Readable.call(this, options);
+      Writable.call(this, options);
+      if (options) {
+        this.allowHalfOpen = options.allowHalfOpen !== false;
+        if (options.readable === false) {
+          this._readableState.readable = false;
+          this._readableState.ended = true;
+          this._readableState.endEmitted = true;
+        }
+        if (options.writable === false) {
+          this._writableState.writable = false;
+          this._writableState.ending = true;
+          this._writableState.ended = true;
+          this._writableState.finished = true;
+        }
+      } else {
+        this.allowHalfOpen = true;
       }
-      return iRange.count ? `bytes=${iRange.offset}-${iRange.offset + iRange.count - 1}` : `bytes=${iRange.offset}-`;
     }
+    ObjectDefineProperties(Duplex.prototype, {
+      writable: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writable")
+      },
+      writableHighWaterMark: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableHighWaterMark")
+      },
+      writableObjectMode: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableObjectMode")
+      },
+      writableBuffer: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableBuffer")
+      },
+      writableLength: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableLength")
+      },
+      writableFinished: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableFinished")
+      },
+      writableCorked: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableCorked")
+      },
+      writableEnded: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableEnded")
+      },
+      writableNeedDrain: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableNeedDrain")
+      },
+      destroyed: {
+        __proto__: null,
+        get() {
+          if (this._readableState === void 0 || this._writableState === void 0) {
+            return false;
+          }
+          return this._readableState.destroyed && this._writableState.destroyed;
+        },
+        set(value) {
+          if (this._readableState && this._writableState) {
+            this._readableState.destroyed = value;
+            this._writableState.destroyed = value;
+          }
+        }
+      }
+    });
+    var webStreamsAdapters;
+    function lazyWebStreams() {
+      if (webStreamsAdapters === void 0) webStreamsAdapters = {};
+      return webStreamsAdapters;
+    }
+    Duplex.fromWeb = function(pair, options) {
+      return lazyWebStreams().newStreamDuplexFromReadableWritablePair(pair, options);
+    };
+    Duplex.toWeb = function(duplex) {
+      return lazyWebStreams().newReadableWritablePairFromDuplex(duplex);
+    };
+    var duplexify;
+    Duplex.from = function(body) {
+      if (!duplexify) {
+        duplexify = require_duplexify();
+      }
+      return duplexify(body, "body");
+    };
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/utils/Batch.js
-var require_Batch = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/Batch.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/transform.js
+var require_transform = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/transform.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Batch = void 0;
-    var events_1 = require("events");
-    var BatchStates;
-    (function(BatchStates2) {
-      BatchStates2[BatchStates2["Good"] = 0] = "Good";
-      BatchStates2[BatchStates2["Error"] = 1] = "Error";
-    })(BatchStates || (BatchStates = {}));
-    var Batch = class {
-      /**
-       * Concurrency. Must be lager than 0.
-       */
-      concurrency;
-      /**
-       * Number of active operations under execution.
-       */
-      actives = 0;
-      /**
-       * Number of completed operations under execution.
-       */
-      completed = 0;
-      /**
-       * Offset of next operation to be executed.
-       */
-      offset = 0;
-      /**
-       * Operation array to be executed.
-       */
-      operations = [];
-      /**
-       * States of Batch. When an error happens, state will turn into error.
-       * Batch will stop execute left operations.
-       */
-      state = BatchStates.Good;
-      /**
-       * A private emitter used to pass events inside this class.
-       */
-      emitter;
-      /**
-       * Creates an instance of Batch.
-       * @param concurrency -
-       */
-      constructor(concurrency = 5) {
-        if (concurrency < 1) {
-          throw new RangeError("concurrency must be larger than 0");
-        }
-        this.concurrency = concurrency;
-        this.emitter = new events_1.EventEmitter();
+    var { ObjectSetPrototypeOf, Symbol: Symbol2 } = require_primordials();
+    module2.exports = Transform;
+    var { ERR_METHOD_NOT_IMPLEMENTED } = require_errors4().codes;
+    var Duplex = require_duplex();
+    var { getHighWaterMark } = require_state3();
+    ObjectSetPrototypeOf(Transform.prototype, Duplex.prototype);
+    ObjectSetPrototypeOf(Transform, Duplex);
+    var kCallback = Symbol2("kCallback");
+    function Transform(options) {
+      if (!(this instanceof Transform)) return new Transform(options);
+      const readableHighWaterMark = options ? getHighWaterMark(this, options, "readableHighWaterMark", true) : null;
+      if (readableHighWaterMark === 0) {
+        options = {
+          ...options,
+          highWaterMark: null,
+          readableHighWaterMark,
+          // TODO (ronag): 0 is not optimal since we have
+          // a "bug" where we check needDrain before calling _write and not after.
+          // Refs: https://github.com/nodejs/node/pull/32887
+          // Refs: https://github.com/nodejs/node/pull/35941
+          writableHighWaterMark: options.writableHighWaterMark || 0
+        };
       }
-      /**
-       * Add a operation into queue.
-       *
-       * @param operation -
-       */
-      addOperation(operation) {
-        this.operations.push(async () => {
-          try {
-            this.actives++;
-            await operation();
-            this.actives--;
-            this.completed++;
-            this.parallelExecute();
-          } catch (error3) {
-            this.emitter.emit("error", error3);
+      Duplex.call(this, options);
+      this._readableState.sync = false;
+      this[kCallback] = null;
+      if (options) {
+        if (typeof options.transform === "function") this._transform = options.transform;
+        if (typeof options.flush === "function") this._flush = options.flush;
+      }
+      this.on("prefinish", prefinish);
+    }
+    function final(cb) {
+      if (typeof this._flush === "function" && !this.destroyed) {
+        this._flush((er, data) => {
+          if (er) {
+            if (cb) {
+              cb(er);
+            } else {
+              this.destroy(er);
+            }
+            return;
+          }
+          if (data != null) {
+            this.push(data);
+          }
+          this.push(null);
+          if (cb) {
+            cb();
           }
         });
-      }
-      /**
-       * Start execute operations in the queue.
-       *
-       */
-      async do() {
-        if (this.operations.length === 0) {
-          return Promise.resolve();
+      } else {
+        this.push(null);
+        if (cb) {
+          cb();
         }
-        this.parallelExecute();
-        return new Promise((resolve2, reject) => {
-          this.emitter.on("finish", resolve2);
-          this.emitter.on("error", (error3) => {
-            this.state = BatchStates.Error;
-            reject(error3);
-          });
-        });
       }
-      /**
-       * Get next operation to be executed. Return null when reaching ends.
-       *
-       */
-      nextOperation() {
-        if (this.offset < this.operations.length) {
-          return this.operations[this.offset++];
-        }
-        return null;
+    }
+    function prefinish() {
+      if (this._final !== final) {
+        final.call(this);
       }
-      /**
-       * Start execute operations. One one the most important difference between
-       * this method with do() is that do() wraps as an sync method.
-       *
-       */
-      parallelExecute() {
-        if (this.state === BatchStates.Error) {
+    }
+    Transform.prototype._final = final;
+    Transform.prototype._transform = function(chunk, encoding, callback) {
+      throw new ERR_METHOD_NOT_IMPLEMENTED("_transform()");
+    };
+    Transform.prototype._write = function(chunk, encoding, callback) {
+      const rState = this._readableState;
+      const wState = this._writableState;
+      const length = rState.length;
+      this._transform(chunk, encoding, (err, val) => {
+        if (err) {
+          callback(err);
           return;
         }
-        if (this.completed >= this.operations.length) {
-          this.emitter.emit("finish");
-          return;
+        if (val != null) {
+          this.push(val);
         }
-        while (this.actives < this.concurrency) {
-          const operation = this.nextOperation();
-          if (operation) {
-            operation();
-          } else {
-            return;
-          }
+        if (wState.ended || // Backwards compat.
+        length === rState.length || // Backwards compat.
+        rState.length < rState.highWaterMark) {
+          callback();
+        } else {
+          this[kCallback] = callback;
         }
+      });
+    };
+    Transform.prototype._read = function() {
+      if (this[kCallback]) {
+        const callback = this[kCallback];
+        this[kCallback] = null;
+        callback();
       }
     };
-    exports2.Batch = Batch;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/utils/utils.js
-var require_utils7 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/utils.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/passthrough.js
+var require_passthrough2 = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/passthrough.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.fsCreateReadStream = exports2.fsStat = void 0;
-    exports2.streamToBuffer = streamToBuffer;
-    exports2.streamToBuffer2 = streamToBuffer2;
-    exports2.streamToBuffer3 = streamToBuffer3;
-    exports2.readStreamToLocalFile = readStreamToLocalFile;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var node_fs_1 = tslib_1.__importDefault(require("node:fs"));
-    var node_util_1 = tslib_1.__importDefault(require("node:util"));
-    var constants_js_1 = require_constants14();
-    async function streamToBuffer(stream, buffer, offset, end, encoding) {
-      let pos = 0;
-      const count = end - offset;
-      return new Promise((resolve2, reject) => {
-        const timeout = setTimeout(() => reject(new Error(`The operation cannot be completed in timeout.`)), constants_js_1.REQUEST_TIMEOUT);
-        stream.on("readable", () => {
-          if (pos >= count) {
-            clearTimeout(timeout);
-            resolve2();
-            return;
-          }
-          let chunk = stream.read();
-          if (!chunk) {
-            return;
-          }
-          if (typeof chunk === "string") {
-            chunk = Buffer.from(chunk, encoding);
-          }
-          const chunkLength = pos + chunk.length > count ? count - pos : chunk.length;
-          buffer.fill(chunk.slice(0, chunkLength), offset + pos, offset + pos + chunkLength);
-          pos += chunkLength;
-        });
-        stream.on("end", () => {
-          clearTimeout(timeout);
-          if (pos < count) {
-            reject(new Error(`Stream drains before getting enough data needed. Data read: ${pos}, data need: ${count}`));
-          }
-          resolve2();
-        });
-        stream.on("error", (msg) => {
-          clearTimeout(timeout);
-          reject(msg);
-        });
-      });
-    }
-    async function streamToBuffer2(stream, buffer, encoding) {
-      let pos = 0;
-      const bufferSize = buffer.length;
-      return new Promise((resolve2, reject) => {
-        stream.on("readable", () => {
-          let chunk = stream.read();
-          if (!chunk) {
-            return;
-          }
-          if (typeof chunk === "string") {
-            chunk = Buffer.from(chunk, encoding);
-          }
-          if (pos + chunk.length > bufferSize) {
-            reject(new Error(`Stream exceeds buffer size. Buffer size: ${bufferSize}`));
-            return;
-          }
-          buffer.fill(chunk, pos, pos + chunk.length);
-          pos += chunk.length;
-        });
-        stream.on("end", () => {
-          resolve2(pos);
-        });
-        stream.on("error", reject);
-      });
+    var { ObjectSetPrototypeOf } = require_primordials();
+    module2.exports = PassThrough;
+    var Transform = require_transform();
+    ObjectSetPrototypeOf(PassThrough.prototype, Transform.prototype);
+    ObjectSetPrototypeOf(PassThrough, Transform);
+    function PassThrough(options) {
+      if (!(this instanceof PassThrough)) return new PassThrough(options);
+      Transform.call(this, options);
     }
-    async function streamToBuffer3(readableStream, encoding) {
-      return new Promise((resolve2, reject) => {
-        const chunks = [];
-        readableStream.on("data", (data) => {
-          chunks.push(typeof data === "string" ? Buffer.from(data, encoding) : data);
-        });
-        readableStream.on("end", () => {
-          resolve2(Buffer.concat(chunks));
-        });
-        readableStream.on("error", reject);
+    PassThrough.prototype._transform = function(chunk, encoding, cb) {
+      cb(null, chunk);
+    };
+  }
+});
+
+// node_modules/readable-stream/lib/internal/streams/pipeline.js
+var require_pipeline4 = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/pipeline.js"(exports2, module2) {
+    var process2 = require_process();
+    var { ArrayIsArray, Promise: Promise2, SymbolAsyncIterator, SymbolDispose } = require_primordials();
+    var eos = require_end_of_stream();
+    var { once } = require_util20();
+    var destroyImpl = require_destroy2();
+    var Duplex = require_duplex();
+    var {
+      aggregateTwoErrors,
+      codes: {
+        ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,
+        ERR_INVALID_RETURN_VALUE,
+        ERR_MISSING_ARGS,
+        ERR_STREAM_DESTROYED,
+        ERR_STREAM_PREMATURE_CLOSE
+      },
+      AbortError
+    } = require_errors4();
+    var { validateFunction, validateAbortSignal } = require_validators();
+    var {
+      isIterable,
+      isReadable,
+      isReadableNodeStream,
+      isNodeStream,
+      isTransformStream,
+      isWebStream,
+      isReadableStream,
+      isReadableFinished
+    } = require_utils8();
+    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
+    var PassThrough;
+    var Readable;
+    var addAbortListener;
+    function destroyer(stream, reading, writing) {
+      let finished = false;
+      stream.on("close", () => {
+        finished = true;
       });
+      const cleanup = eos(
+        stream,
+        {
+          readable: reading,
+          writable: writing
+        },
+        (err) => {
+          finished = !err;
+        }
+      );
+      return {
+        destroy: (err) => {
+          if (finished) return;
+          finished = true;
+          destroyImpl.destroyer(stream, err || new ERR_STREAM_DESTROYED("pipe"));
+        },
+        cleanup
+      };
     }
-    async function readStreamToLocalFile(rs, file) {
-      return new Promise((resolve2, reject) => {
-        const ws = node_fs_1.default.createWriteStream(file);
-        rs.on("error", (err) => {
-          reject(err);
-        });
-        ws.on("error", (err) => {
-          reject(err);
-        });
-        ws.on("close", resolve2);
-        rs.pipe(ws);
-      });
+    function popCallback(streams) {
+      validateFunction(streams[streams.length - 1], "streams[stream.length - 1]");
+      return streams.pop();
     }
-    exports2.fsStat = node_util_1.default.promisify(node_fs_1.default.stat);
-    exports2.fsCreateReadStream = node_fs_1.default.createReadStream;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/Clients.js
-var require_Clients = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/Clients.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.PageBlobClient = exports2.BlockBlobClient = exports2.AppendBlobClient = exports2.BlobClient = void 0;
-    var core_rest_pipeline_1 = require_commonjs8();
-    var core_auth_1 = require_commonjs9();
-    var core_util_1 = require_commonjs6();
-    var core_util_2 = require_commonjs6();
-    var BlobDownloadResponse_js_1 = require_BlobDownloadResponse();
-    var BlobQueryResponse_js_1 = require_BlobQueryResponse();
-    var AnonymousCredential_js_1 = require_AnonymousCredential();
-    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
-    var models_js_1 = require_models2();
-    var PageBlobRangeResponse_js_1 = require_PageBlobRangeResponse();
-    var Pipeline_js_1 = require_Pipeline();
-    var BlobStartCopyFromUrlPoller_js_1 = require_BlobStartCopyFromUrlPoller();
-    var Range_js_1 = require_Range();
-    var StorageClient_js_1 = require_StorageClient();
-    var Batch_js_1 = require_Batch();
-    var storage_common_1 = require_commonjs15();
-    var constants_js_1 = require_constants14();
-    var tracing_js_1 = require_tracing();
-    var utils_common_js_1 = require_utils_common();
-    var utils_js_1 = require_utils7();
-    var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues();
-    var BlobLeaseClient_js_1 = require_BlobLeaseClient();
-    var BlobClient = class _BlobClient extends StorageClient_js_1.StorageClient {
-      /**
-       * blobContext provided by protocol layer.
-       */
-      blobContext;
-      _name;
-      _containerName;
-      _versionId;
-      _snapshot;
-      /**
-       * The name of the blob.
-       */
-      get name() {
-        return this._name;
+    function makeAsyncIterable(val) {
+      if (isIterable(val)) {
+        return val;
+      } else if (isReadableNodeStream(val)) {
+        return fromReadable(val);
       }
-      /**
-       * The name of the storage container the blob is associated with.
-       */
-      get containerName() {
-        return this._containerName;
+      throw new ERR_INVALID_ARG_TYPE2("val", ["Readable", "Iterable", "AsyncIterable"], val);
+    }
+    async function* fromReadable(val) {
+      if (!Readable) {
+        Readable = require_readable4();
       }
-      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
-        options = options || {};
-        let pipeline;
-        let url;
-        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
-          url = urlOrConnectionString;
-          pipeline = credentialOrPipelineOrContainerName;
-        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
-          url = urlOrConnectionString;
-          options = blobNameOrOptions;
-          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
-        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
-          url = urlOrConnectionString;
-          if (blobNameOrOptions && typeof blobNameOrOptions !== "string") {
-            options = blobNameOrOptions;
-          }
-          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
-          const containerName = credentialOrPipelineOrContainerName;
-          const blobName = blobNameOrOptions;
-          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
-          if (extractedCreds.kind === "AccountConnString") {
-            if (core_util_1.isNodeLike) {
-              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
-              url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
-              if (!options.proxyOptions) {
-                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
-              }
-              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+      yield* Readable.prototype[SymbolAsyncIterator].call(val);
+    }
+    async function pumpToNode(iterable, writable, finish, { end }) {
+      let error3;
+      let onresolve = null;
+      const resume = (err) => {
+        if (err) {
+          error3 = err;
+        }
+        if (onresolve) {
+          const callback = onresolve;
+          onresolve = null;
+          callback();
+        }
+      };
+      const wait = () => new Promise2((resolve2, reject) => {
+        if (error3) {
+          reject(error3);
+        } else {
+          onresolve = () => {
+            if (error3) {
+              reject(error3);
             } else {
-              throw new Error("Account connection string is only supported in Node.js environment");
+              resolve2();
             }
-          } else if (extractedCreds.kind === "SASConnString") {
-            url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
-            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-          } else {
-            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
+          };
+        }
+      });
+      writable.on("drain", resume);
+      const cleanup = eos(
+        writable,
+        {
+          readable: false
+        },
+        resume
+      );
+      try {
+        if (writable.writableNeedDrain) {
+          await wait();
+        }
+        for await (const chunk of iterable) {
+          if (!writable.write(chunk)) {
+            await wait();
           }
-        } else {
-          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
         }
-        super(url, pipeline);
-        ({ blobName: this._name, containerName: this._containerName } = this.getBlobAndContainerNamesFromUrl());
-        this.blobContext = this.storageClientContext.blob;
-        this._snapshot = (0, utils_common_js_1.getURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT);
-        this._versionId = (0, utils_common_js_1.getURLParameter)(this.url, constants_js_1.URLConstants.Parameters.VERSIONID);
+        if (end) {
+          writable.end();
+          await wait();
+        }
+        finish();
+      } catch (err) {
+        finish(error3 !== err ? aggregateTwoErrors(error3, err) : err);
+      } finally {
+        cleanup();
+        writable.off("drain", resume);
       }
-      /**
-       * Creates a new BlobClient object identical to the source but with the specified snapshot timestamp.
-       * Provide "" will remove the snapshot and return a Client to the base blob.
-       *
-       * @param snapshot - The snapshot timestamp.
-       * @returns A new BlobClient object identical to the source but with the specified snapshot timestamp
-       */
-      withSnapshot(snapshot) {
-        return new _BlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
+    }
+    async function pumpToWeb(readable, writable, finish, { end }) {
+      if (isTransformStream(writable)) {
+        writable = writable.writable;
       }
-      /**
-       * Creates a new BlobClient object pointing to a version of this blob.
-       * Provide "" will remove the versionId and return a Client to the base blob.
-       *
-       * @param versionId - The versionId.
-       * @returns A new BlobClient object pointing to the version of this blob.
-       */
-      withVersion(versionId) {
-        return new _BlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.VERSIONID, versionId.length === 0 ? void 0 : versionId), this.pipeline);
+      const writer = writable.getWriter();
+      try {
+        for await (const chunk of readable) {
+          await writer.ready;
+          writer.write(chunk).catch(() => {
+          });
+        }
+        await writer.ready;
+        if (end) {
+          await writer.close();
+        }
+        finish();
+      } catch (err) {
+        try {
+          await writer.abort(err);
+          finish(err);
+        } catch (err2) {
+          finish(err2);
+        }
       }
-      /**
-       * Creates a AppendBlobClient object.
-       *
-       */
-      getAppendBlobClient() {
-        return new AppendBlobClient(this.url, this.pipeline);
+    }
+    function pipeline(...streams) {
+      return pipelineImpl(streams, once(popCallback(streams)));
+    }
+    function pipelineImpl(streams, callback, opts) {
+      if (streams.length === 1 && ArrayIsArray(streams[0])) {
+        streams = streams[0];
       }
-      /**
-       * Creates a BlockBlobClient object.
-       *
-       */
-      getBlockBlobClient() {
-        return new BlockBlobClient(this.url, this.pipeline);
+      if (streams.length < 2) {
+        throw new ERR_MISSING_ARGS("streams");
       }
-      /**
-       * Creates a PageBlobClient object.
-       *
-       */
-      getPageBlobClient() {
-        return new PageBlobClient(this.url, this.pipeline);
+      const ac = new AbortController2();
+      const signal = ac.signal;
+      const outerSignal = opts === null || opts === void 0 ? void 0 : opts.signal;
+      const lastStreamCleanup = [];
+      validateAbortSignal(outerSignal, "options.signal");
+      function abort() {
+        finishImpl(new AbortError());
       }
-      /**
-       * Reads or downloads a blob from the system, including its metadata and properties.
-       * You can also call Get Blob to read a snapshot.
-       *
-       * * In Node.js, data returns in a Readable stream readableStreamBody
-       * * In browsers, data returns in a promise blobBody
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob
-       *
-       * @param offset - From which position of the blob to download, greater than or equal to 0
-       * @param count - How much data to be downloaded, greater than 0. Will download to the end when undefined
-       * @param options - Optional options to Blob Download operation.
-       *
-       *
-       * Example usage (Node.js):
-       *
-       * ```ts snippet:ReadmeSampleDownloadBlob_Node
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blobClient = containerClient.getBlobClient(blobName);
-       *
-       * // Get blob content from position 0 to the end
-       * // In Node.js, get downloaded data by accessing downloadBlockBlobResponse.readableStreamBody
-       * const downloadBlockBlobResponse = await blobClient.download();
-       * if (downloadBlockBlobResponse.readableStreamBody) {
-       *   const downloaded = await streamToString(downloadBlockBlobResponse.readableStreamBody);
-       *   console.log(`Downloaded blob content: ${downloaded}`);
-       * }
-       *
-       * async function streamToString(stream: NodeJS.ReadableStream): Promise {
-       *   const result = await new Promise>((resolve, reject) => {
-       *     const chunks: Buffer[] = [];
-       *     stream.on("data", (data) => {
-       *       chunks.push(Buffer.isBuffer(data) ? data : Buffer.from(data));
-       *     });
-       *     stream.on("end", () => {
-       *       resolve(Buffer.concat(chunks));
-       *     });
-       *     stream.on("error", reject);
-       *   });
-       *   return result.toString();
-       * }
-       * ```
-       *
-       * Example usage (browser):
-       *
-       * ```ts snippet:ReadmeSampleDownloadBlob_Browser
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blobClient = containerClient.getBlobClient(blobName);
-       *
-       * // Get blob content from position 0 to the end
-       * // In browsers, get downloaded data by accessing downloadBlockBlobResponse.blobBody
-       * const downloadBlockBlobResponse = await blobClient.download();
-       * const blobBody = await downloadBlockBlobResponse.blobBody;
-       * if (blobBody) {
-       *   const downloaded = await blobBody.text();
-       *   console.log(`Downloaded blob content: ${downloaded}`);
-       * }
-       * ```
-       */
-      async download(offset = 0, count, options = {}) {
-        options.conditions = options.conditions || {};
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlobClient-download", options, async (updatedOptions) => {
-          const res = (0, utils_common_js_1.assertResponse)(await this.blobContext.download({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            requestOptions: {
-              onDownloadProgress: core_util_1.isNodeLike ? void 0 : options.onProgress
-              // for Node.js, progress is reported by RetriableReadableStream
-            },
-            range: offset === 0 && !count ? void 0 : (0, Range_js_1.rangeToString)({ offset, count }),
-            rangeGetContentMD5: options.rangeGetContentMD5,
-            rangeGetContentCRC64: options.rangeGetContentCrc64,
-            snapshot: options.snapshot,
-            cpkInfo: options.customerProvidedKey,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const wrappedRes = {
-            ...res,
-            _response: res._response,
-            // _response is made non-enumerable
-            objectReplicationDestinationPolicyId: res.objectReplicationPolicyId,
-            objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(res.objectReplicationRules)
+      addAbortListener = addAbortListener || require_util20().addAbortListener;
+      let disposable;
+      if (outerSignal) {
+        disposable = addAbortListener(outerSignal, abort);
+      }
+      let error3;
+      let value;
+      const destroys = [];
+      let finishCount = 0;
+      function finish(err) {
+        finishImpl(err, --finishCount === 0);
+      }
+      function finishImpl(err, final) {
+        var _disposable;
+        if (err && (!error3 || error3.code === "ERR_STREAM_PREMATURE_CLOSE")) {
+          error3 = err;
+        }
+        if (!error3 && !final) {
+          return;
+        }
+        while (destroys.length) {
+          destroys.shift()(error3);
+        }
+        ;
+        (_disposable = disposable) === null || _disposable === void 0 ? void 0 : _disposable[SymbolDispose]();
+        ac.abort();
+        if (final) {
+          if (!error3) {
+            lastStreamCleanup.forEach((fn) => fn());
+          }
+          process2.nextTick(callback, error3, value);
+        }
+      }
+      let ret;
+      for (let i = 0; i < streams.length; i++) {
+        const stream = streams[i];
+        const reading = i < streams.length - 1;
+        const writing = i > 0;
+        const end = reading || (opts === null || opts === void 0 ? void 0 : opts.end) !== false;
+        const isLastStream = i === streams.length - 1;
+        if (isNodeStream(stream)) {
+          let onError2 = function(err) {
+            if (err && err.name !== "AbortError" && err.code !== "ERR_STREAM_PREMATURE_CLOSE") {
+              finish(err);
+            }
           };
-          if (!core_util_1.isNodeLike) {
-            return wrappedRes;
+          var onError = onError2;
+          if (end) {
+            const { destroy, cleanup } = destroyer(stream, reading, writing);
+            destroys.push(destroy);
+            if (isReadable(stream) && isLastStream) {
+              lastStreamCleanup.push(cleanup);
+            }
           }
-          if (options.maxRetryRequests === void 0 || options.maxRetryRequests < 0) {
-            options.maxRetryRequests = constants_js_1.DEFAULT_MAX_DOWNLOAD_RETRY_REQUESTS;
+          stream.on("error", onError2);
+          if (isReadable(stream) && isLastStream) {
+            lastStreamCleanup.push(() => {
+              stream.removeListener("error", onError2);
+            });
           }
-          if (res.contentLength === void 0) {
-            throw new RangeError(`File download response doesn't contain valid content length header`);
+        }
+        if (i === 0) {
+          if (typeof stream === "function") {
+            ret = stream({
+              signal
+            });
+            if (!isIterable(ret)) {
+              throw new ERR_INVALID_RETURN_VALUE("Iterable, AsyncIterable or Stream", "source", ret);
+            }
+          } else if (isIterable(stream) || isReadableNodeStream(stream) || isTransformStream(stream)) {
+            ret = stream;
+          } else {
+            ret = Duplex.from(stream);
           }
-          if (!res.etag) {
-            throw new RangeError(`File download response doesn't contain valid etag header`);
+        } else if (typeof stream === "function") {
+          if (isTransformStream(ret)) {
+            var _ret;
+            ret = makeAsyncIterable((_ret = ret) === null || _ret === void 0 ? void 0 : _ret.readable);
+          } else {
+            ret = makeAsyncIterable(ret);
           }
-          return new BlobDownloadResponse_js_1.BlobDownloadResponse(wrappedRes, async (start) => {
-            const updatedDownloadOptions = {
-              leaseAccessConditions: options.conditions,
-              modifiedAccessConditions: {
-                ifMatch: options.conditions.ifMatch || res.etag,
-                ifModifiedSince: options.conditions.ifModifiedSince,
-                ifNoneMatch: options.conditions.ifNoneMatch,
-                ifUnmodifiedSince: options.conditions.ifUnmodifiedSince,
-                ifTags: options.conditions?.tagConditions
-              },
-              range: (0, Range_js_1.rangeToString)({
-                count: offset + res.contentLength - start,
-                offset: start
-              }),
-              rangeGetContentMD5: options.rangeGetContentMD5,
-              rangeGetContentCRC64: options.rangeGetContentCrc64,
-              snapshot: options.snapshot,
-              cpkInfo: options.customerProvidedKey
-            };
-            return (await this.blobContext.download({
-              abortSignal: options.abortSignal,
-              ...updatedDownloadOptions
-            })).readableStreamBody;
-          }, offset, res.contentLength, {
-            maxRetryRequests: options.maxRetryRequests,
-            onProgress: options.onProgress
+          ret = stream(ret, {
+            signal
           });
-        });
-      }
-      /**
-       * Returns true if the Azure blob resource represented by this client exists; false otherwise.
-       *
-       * NOTE: use this function with care since an existing blob might be deleted by other clients or
-       * applications. Vice versa new blobs might be added by other clients or applications after this
-       * function completes.
-       *
-       * @param options - options to Exists operation.
-       */
-      async exists(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-exists", options, async (updatedOptions) => {
-          try {
-            (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-            await this.getProperties({
-              abortSignal: options.abortSignal,
-              customerProvidedKey: options.customerProvidedKey,
-              conditions: options.conditions,
-              tracingOptions: updatedOptions.tracingOptions
+          if (reading) {
+            if (!isIterable(ret, true)) {
+              throw new ERR_INVALID_RETURN_VALUE("AsyncIterable", `transform[${i - 1}]`, ret);
+            }
+          } else {
+            var _ret2;
+            if (!PassThrough) {
+              PassThrough = require_passthrough2();
+            }
+            const pt = new PassThrough({
+              objectMode: true
+            });
+            const then = (_ret2 = ret) === null || _ret2 === void 0 ? void 0 : _ret2.then;
+            if (typeof then === "function") {
+              finishCount++;
+              then.call(
+                ret,
+                (val) => {
+                  value = val;
+                  if (val != null) {
+                    pt.write(val);
+                  }
+                  if (end) {
+                    pt.end();
+                  }
+                  process2.nextTick(finish);
+                },
+                (err) => {
+                  pt.destroy(err);
+                  process2.nextTick(finish, err);
+                }
+              );
+            } else if (isIterable(ret, true)) {
+              finishCount++;
+              pumpToNode(ret, pt, finish, {
+                end
+              });
+            } else if (isReadableStream(ret) || isTransformStream(ret)) {
+              const toRead = ret.readable || ret;
+              finishCount++;
+              pumpToNode(toRead, pt, finish, {
+                end
+              });
+            } else {
+              throw new ERR_INVALID_RETURN_VALUE("AsyncIterable or Promise", "destination", ret);
+            }
+            ret = pt;
+            const { destroy, cleanup } = destroyer(ret, false, true);
+            destroys.push(destroy);
+            if (isLastStream) {
+              lastStreamCleanup.push(cleanup);
+            }
+          }
+        } else if (isNodeStream(stream)) {
+          if (isReadableNodeStream(ret)) {
+            finishCount += 2;
+            const cleanup = pipe(ret, stream, finish, {
+              end
             });
-            return true;
-          } catch (e) {
-            if (e.statusCode === 404) {
-              return false;
-            } else if (e.statusCode === 409 && (e.details.errorCode === constants_js_1.BlobUsesCustomerSpecifiedEncryptionMsg || e.details.errorCode === constants_js_1.BlobDoesNotUseCustomerSpecifiedEncryption)) {
-              return true;
+            if (isReadable(stream) && isLastStream) {
+              lastStreamCleanup.push(cleanup);
             }
-            throw e;
+          } else if (isTransformStream(ret) || isReadableStream(ret)) {
+            const toRead = ret.readable || ret;
+            finishCount++;
+            pumpToNode(toRead, stream, finish, {
+              end
+            });
+          } else if (isIterable(ret)) {
+            finishCount++;
+            pumpToNode(ret, stream, finish, {
+              end
+            });
+          } else {
+            throw new ERR_INVALID_ARG_TYPE2(
+              "val",
+              ["Readable", "Iterable", "AsyncIterable", "ReadableStream", "TransformStream"],
+              ret
+            );
           }
-        });
+          ret = stream;
+        } else if (isWebStream(stream)) {
+          if (isReadableNodeStream(ret)) {
+            finishCount++;
+            pumpToWeb(makeAsyncIterable(ret), stream, finish, {
+              end
+            });
+          } else if (isReadableStream(ret) || isIterable(ret)) {
+            finishCount++;
+            pumpToWeb(ret, stream, finish, {
+              end
+            });
+          } else if (isTransformStream(ret)) {
+            finishCount++;
+            pumpToWeb(ret.readable, stream, finish, {
+              end
+            });
+          } else {
+            throw new ERR_INVALID_ARG_TYPE2(
+              "val",
+              ["Readable", "Iterable", "AsyncIterable", "ReadableStream", "TransformStream"],
+              ret
+            );
+          }
+          ret = stream;
+        } else {
+          ret = Duplex.from(stream);
+        }
       }
-      /**
-       * Returns all user-defined metadata, standard HTTP properties, and system properties
-       * for the blob. It does not return the content of the blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-properties
-       *
-       * WARNING: The `metadata` object returned in the response will have its keys in lowercase, even if
-       * they originally contained uppercase characters. This differs from the metadata keys returned by
-       * the methods of {@link ContainerClient} that list blobs using the `includeMetadata` option, which
-       * will retain their original casing.
-       *
-       * @param options - Optional options to Get Properties operation.
-       */
-      async getProperties(options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlobClient-getProperties", options, async (updatedOptions) => {
-          const res = (0, utils_common_js_1.assertResponse)(await this.blobContext.getProperties({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          return {
-            ...res,
-            _response: res._response,
-            // _response is made non-enumerable
-            objectReplicationDestinationPolicyId: res.objectReplicationPolicyId,
-            objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(res.objectReplicationRules)
-          };
-        });
+      if (signal !== null && signal !== void 0 && signal.aborted || outerSignal !== null && outerSignal !== void 0 && outerSignal.aborted) {
+        process2.nextTick(abort);
       }
-      /**
-       * Marks the specified blob or snapshot for deletion. The blob is later deleted
-       * during garbage collection. Note that in order to delete a blob, you must delete
-       * all of its snapshots. You can delete both at the same time with the Delete
-       * Blob operation.
-       * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob
-       *
-       * @param options - Optional options to Blob Delete operation.
-       */
-      async delete(options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("BlobClient-delete", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.delete({
-            abortSignal: options.abortSignal,
-            deleteSnapshots: options.deleteSnapshots,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      return ret;
+    }
+    function pipe(src, dst, finish, { end }) {
+      let ended = false;
+      dst.on("close", () => {
+        if (!ended) {
+          finish(new ERR_STREAM_PREMATURE_CLOSE());
+        }
+      });
+      src.pipe(dst, {
+        end: false
+      });
+      if (end) {
+        let endFn2 = function() {
+          ended = true;
+          dst.end();
+        };
+        var endFn = endFn2;
+        if (isReadableFinished(src)) {
+          process2.nextTick(endFn2);
+        } else {
+          src.once("end", endFn2);
+        }
+      } else {
+        finish();
       }
-      /**
-       * Marks the specified blob or snapshot for deletion if it exists. The blob is later deleted
-       * during garbage collection. Note that in order to delete a blob, you must delete
-       * all of its snapshots. You can delete both at the same time with the Delete
-       * Blob operation.
-       * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob
-       *
-       * @param options - Optional options to Blob Delete operation.
-       */
-      async deleteIfExists(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-deleteIfExists", options, async (updatedOptions) => {
-          try {
-            const res = (0, utils_common_js_1.assertResponse)(await this.delete(updatedOptions));
-            return {
-              succeeded: true,
-              ...res,
-              _response: res._response
-              // _response is made non-enumerable
-            };
-          } catch (e) {
-            if (e.details?.errorCode === "BlobNotFound") {
-              return {
-                succeeded: false,
-                ...e.response?.parsedHeaders,
-                _response: e.response
-              };
-            }
-            throw e;
+      eos(
+        src,
+        {
+          readable: true,
+          writable: false
+        },
+        (err) => {
+          const rState = src._readableState;
+          if (err && err.code === "ERR_STREAM_PREMATURE_CLOSE" && rState && rState.ended && !rState.errored && !rState.errorEmitted) {
+            src.once("end", finish).once("error", finish);
+          } else {
+            finish(err);
           }
-        });
+        }
+      );
+      return eos(
+        dst,
+        {
+          readable: false,
+          writable: true
+        },
+        finish
+      );
+    }
+    module2.exports = {
+      pipelineImpl,
+      pipeline
+    };
+  }
+});
+
+// node_modules/readable-stream/lib/internal/streams/compose.js
+var require_compose = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/compose.js"(exports2, module2) {
+    "use strict";
+    var { pipeline } = require_pipeline4();
+    var Duplex = require_duplex();
+    var { destroyer } = require_destroy2();
+    var {
+      isNodeStream,
+      isReadable,
+      isWritable,
+      isWebStream,
+      isTransformStream,
+      isWritableStream,
+      isReadableStream
+    } = require_utils8();
+    var {
+      AbortError,
+      codes: { ERR_INVALID_ARG_VALUE, ERR_MISSING_ARGS }
+    } = require_errors4();
+    var eos = require_end_of_stream();
+    module2.exports = function compose(...streams) {
+      if (streams.length === 0) {
+        throw new ERR_MISSING_ARGS("streams");
       }
-      /**
-       * Restores the contents and metadata of soft deleted blob and any associated
-       * soft deleted snapshots. Undelete Blob is supported only on version 2017-07-29
-       * or later.
-       * @see https://learn.microsoft.com/rest/api/storageservices/undelete-blob
-       *
-       * @param options - Optional options to Blob Undelete operation.
-       */
-      async undelete(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-undelete", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.undelete({
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      if (streams.length === 1) {
+        return Duplex.from(streams[0]);
       }
-      /**
-       * Sets system properties on the blob.
-       *
-       * If no value provided, or no value provided for the specified blob HTTP headers,
-       * these blob HTTP headers without a value will be cleared.
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties
-       *
-       * @param blobHTTPHeaders - If no value provided, or no value provided for
-       *                                                   the specified blob HTTP headers, these blob HTTP
-       *                                                   headers without a value will be cleared.
-       *                                                   A common header to set is `blobContentType`
-       *                                                   enabling the browser to provide functionality
-       *                                                   based on file type.
-       * @param options - Optional options to Blob Set HTTP Headers operation.
-       */
-      async setHTTPHeaders(blobHTTPHeaders, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlobClient-setHTTPHeaders", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setHttpHeaders({
-            abortSignal: options.abortSignal,
-            blobHttpHeaders: blobHTTPHeaders,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            // cpkInfo: options.customerProvidedKey, // CPK is not included in Swagger, should change this back when this issue is fixed in Swagger.
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      const orgStreams = [...streams];
+      if (typeof streams[0] === "function") {
+        streams[0] = Duplex.from(streams[0]);
       }
-      /**
-       * Sets user-defined metadata for the specified blob as one or more name-value pairs.
-       *
-       * If no option provided, or no metadata defined in the parameter, the blob
-       * metadata will be removed.
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-metadata
-       *
-       * @param metadata - Replace existing metadata with this value.
-       *                               If no value provided the existing metadata will be removed.
-       * @param options - Optional options to Set Metadata operation.
-       */
-      async setMetadata(metadata, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlobClient-setMetadata", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setMetadata({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            metadata,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
+      if (typeof streams[streams.length - 1] === "function") {
+        const idx = streams.length - 1;
+        streams[idx] = Duplex.from(streams[idx]);
+      }
+      for (let n = 0; n < streams.length; ++n) {
+        if (!isNodeStream(streams[n]) && !isWebStream(streams[n])) {
+          continue;
+        }
+        if (n < streams.length - 1 && !(isReadable(streams[n]) || isReadableStream(streams[n]) || isTransformStream(streams[n]))) {
+          throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`, orgStreams[n], "must be readable");
+        }
+        if (n > 0 && !(isWritable(streams[n]) || isWritableStream(streams[n]) || isTransformStream(streams[n]))) {
+          throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`, orgStreams[n], "must be writable");
+        }
+      }
+      let ondrain;
+      let onfinish;
+      let onreadable;
+      let onclose;
+      let d;
+      function onfinished(err) {
+        const cb = onclose;
+        onclose = null;
+        if (cb) {
+          cb(err);
+        } else if (err) {
+          d.destroy(err);
+        } else if (!readable && !writable) {
+          d.destroy();
+        }
+      }
+      const head = streams[0];
+      const tail = pipeline(streams, onfinished);
+      const writable = !!(isWritable(head) || isWritableStream(head) || isTransformStream(head));
+      const readable = !!(isReadable(tail) || isReadableStream(tail) || isTransformStream(tail));
+      d = new Duplex({
+        // TODO (ronag): highWaterMark?
+        writableObjectMode: !!(head !== null && head !== void 0 && head.writableObjectMode),
+        readableObjectMode: !!(tail !== null && tail !== void 0 && tail.readableObjectMode),
+        writable,
+        readable
+      });
+      if (writable) {
+        if (isNodeStream(head)) {
+          d._write = function(chunk, encoding, callback) {
+            if (head.write(chunk, encoding)) {
+              callback();
+            } else {
+              ondrain = callback;
+            }
+          };
+          d._final = function(callback) {
+            head.end();
+            onfinish = callback;
+          };
+          head.on("drain", function() {
+            if (ondrain) {
+              const cb = ondrain;
+              ondrain = null;
+              cb();
+            }
+          });
+        } else if (isWebStream(head)) {
+          const writable2 = isTransformStream(head) ? head.writable : head;
+          const writer = writable2.getWriter();
+          d._write = async function(chunk, encoding, callback) {
+            try {
+              await writer.ready;
+              writer.write(chunk).catch(() => {
+              });
+              callback();
+            } catch (err) {
+              callback(err);
+            }
+          };
+          d._final = async function(callback) {
+            try {
+              await writer.ready;
+              writer.close().catch(() => {
+              });
+              onfinish = callback;
+            } catch (err) {
+              callback(err);
+            }
+          };
+        }
+        const toRead = isTransformStream(tail) ? tail.readable : tail;
+        eos(toRead, () => {
+          if (onfinish) {
+            const cb = onfinish;
+            onfinish = null;
+            cb();
+          }
         });
       }
-      /**
-       * Sets tags on the underlying blob.
-       * A blob can have up to 10 tags. Tag keys must be between 1 and 128 characters.  Tag values must be between 0 and 256 characters.
-       * Valid tag key and value characters include lower and upper case letters, digits (0-9),
-       * space (' '), plus ('+'), minus ('-'), period ('.'), foward slash ('/'), colon (':'), equals ('='), and underscore ('_').
-       *
-       * @param tags -
-       * @param options -
-       */
-      async setTags(tags, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-setTags", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setTags({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions,
-            tags: (0, utils_common_js_1.toBlobTags)(tags)
-          }));
-        });
+      if (readable) {
+        if (isNodeStream(tail)) {
+          tail.on("readable", function() {
+            if (onreadable) {
+              const cb = onreadable;
+              onreadable = null;
+              cb();
+            }
+          });
+          tail.on("end", function() {
+            d.push(null);
+          });
+          d._read = function() {
+            while (true) {
+              const buf = tail.read();
+              if (buf === null) {
+                onreadable = d._read;
+                return;
+              }
+              if (!d.push(buf)) {
+                return;
+              }
+            }
+          };
+        } else if (isWebStream(tail)) {
+          const readable2 = isTransformStream(tail) ? tail.readable : tail;
+          const reader = readable2.getReader();
+          d._read = async function() {
+            while (true) {
+              try {
+                const { value, done } = await reader.read();
+                if (!d.push(value)) {
+                  return;
+                }
+                if (done) {
+                  d.push(null);
+                  return;
+                }
+              } catch {
+                return;
+              }
+            }
+          };
+        }
+      }
+      d._destroy = function(err, callback) {
+        if (!err && onclose !== null) {
+          err = new AbortError();
+        }
+        onreadable = null;
+        ondrain = null;
+        onfinish = null;
+        if (onclose === null) {
+          callback(err);
+        } else {
+          onclose = callback;
+          if (isNodeStream(tail)) {
+            destroyer(tail, err);
+          }
+        }
+      };
+      return d;
+    };
+  }
+});
+
+// node_modules/readable-stream/lib/internal/streams/operators.js
+var require_operators = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/operators.js"(exports2, module2) {
+    "use strict";
+    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
+    var {
+      codes: { ERR_INVALID_ARG_VALUE, ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_MISSING_ARGS, ERR_OUT_OF_RANGE },
+      AbortError
+    } = require_errors4();
+    var { validateAbortSignal, validateInteger, validateObject } = require_validators();
+    var kWeakHandler = require_primordials().Symbol("kWeak");
+    var kResistStopPropagation = require_primordials().Symbol("kResistStopPropagation");
+    var { finished } = require_end_of_stream();
+    var staticCompose = require_compose();
+    var { addAbortSignalNoValidate } = require_add_abort_signal();
+    var { isWritable, isNodeStream } = require_utils8();
+    var { deprecate } = require_util20();
+    var {
+      ArrayPrototypePush,
+      Boolean: Boolean2,
+      MathFloor,
+      Number: Number2,
+      NumberIsNaN,
+      Promise: Promise2,
+      PromiseReject,
+      PromiseResolve,
+      PromisePrototypeThen,
+      Symbol: Symbol2
+    } = require_primordials();
+    var kEmpty = Symbol2("kEmpty");
+    var kEof = Symbol2("kEof");
+    function compose(stream, options) {
+      if (options != null) {
+        validateObject(options, "options");
+      }
+      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
+        validateAbortSignal(options.signal, "options.signal");
       }
-      /**
-       * Gets the tags associated with the underlying blob.
-       *
-       * @param options -
-       */
-      async getTags(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-getTags", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this.blobContext.getTags({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const wrappedResponse = {
-            ...response,
-            _response: response._response,
-            // _response is made non-enumerable
-            tags: (0, utils_common_js_1.toTags)({ blobTagSet: response.blobTagSet }) || {}
-          };
-          return wrappedResponse;
-        });
+      if (isNodeStream(stream) && !isWritable(stream)) {
+        throw new ERR_INVALID_ARG_VALUE("stream", stream, "must be writable");
       }
-      /**
-       * Get a {@link BlobLeaseClient} that manages leases on the blob.
-       *
-       * @param proposeLeaseId - Initial proposed lease Id.
-       * @returns A new BlobLeaseClient object for managing leases on the blob.
-       */
-      getBlobLeaseClient(proposeLeaseId) {
-        return new BlobLeaseClient_js_1.BlobLeaseClient(this, proposeLeaseId);
+      const composedStream = staticCompose(this, stream);
+      if (options !== null && options !== void 0 && options.signal) {
+        addAbortSignalNoValidate(options.signal, composedStream);
       }
-      /**
-       * Creates a read-only snapshot of a blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/snapshot-blob
-       *
-       * @param options - Optional options to the Blob Create Snapshot operation.
-       */
-      async createSnapshot(options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlobClient-createSnapshot", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.createSnapshot({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            metadata: options.metadata,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      return composedStream;
+    }
+    function map2(fn, options) {
+      if (typeof fn !== "function") {
+        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
       }
-      /**
-       * Asynchronously copies a blob to a destination within the storage account.
-       * This method returns a long running operation poller that allows you to wait
-       * indefinitely until the copy is completed.
-       * You can also cancel a copy before it is completed by calling `cancelOperation` on the poller.
-       * Note that the onProgress callback will not be invoked if the operation completes in the first
-       * request, and attempting to cancel a completed copy will result in an error being thrown.
-       *
-       * In version 2012-02-12 and later, the source for a Copy Blob operation can be
-       * a committed blob in any Azure storage account.
-       * Beginning with version 2015-02-21, the source for a Copy Blob operation can be
-       * an Azure file in any Azure storage account.
-       * Only storage accounts created on or after June 7th, 2012 allow the Copy Blob
-       * operation to copy from another storage account.
-       * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob
-       *
-       * ```ts snippet:ClientsBeginCopyFromURL
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blobClient = containerClient.getBlobClient(blobName);
-       *
-       * // Example using automatic polling
-       * const automaticCopyPoller = await blobClient.beginCopyFromURL("url");
-       * const automaticResult = await automaticCopyPoller.pollUntilDone();
-       *
-       * // Example using manual polling
-       * const manualCopyPoller = await blobClient.beginCopyFromURL("url");
-       * while (!manualCopyPoller.isDone()) {
-       *   await manualCopyPoller.poll();
-       * }
-       * const manualResult = manualCopyPoller.getResult();
-       *
-       * // Example using progress updates
-       * const progressUpdatesCopyPoller = await blobClient.beginCopyFromURL("url", {
-       *   onProgress(state) {
-       *     console.log(`Progress: ${state.copyProgress}`);
-       *   },
-       * });
-       * const progressUpdatesResult = await progressUpdatesCopyPoller.pollUntilDone();
-       *
-       * // Example using a changing polling interval (default 15 seconds)
-       * const pollingIntervalCopyPoller = await blobClient.beginCopyFromURL("url", {
-       *   intervalInMs: 1000, // poll blob every 1 second for copy progress
-       * });
-       * const pollingIntervalResult = await pollingIntervalCopyPoller.pollUntilDone();
-       *
-       * // Example using copy cancellation:
-       * const cancelCopyPoller = await blobClient.beginCopyFromURL("url");
-       * // cancel operation after starting it.
-       * try {
-       *   await cancelCopyPoller.cancelOperation();
-       *   // calls to get the result now throw PollerCancelledError
-       *   cancelCopyPoller.getResult();
-       * } catch (err: any) {
-       *   if (err.name === "PollerCancelledError") {
-       *     console.log("The copy was cancelled.");
-       *   }
-       * }
-       * ```
-       *
-       * @param copySource - url to the source Azure Blob/File.
-       * @param options - Optional options to the Blob Start Copy From URL operation.
-       */
-      async beginCopyFromURL(copySource, options = {}) {
-        const client = {
-          abortCopyFromURL: (...args) => this.abortCopyFromURL(...args),
-          getProperties: (...args) => this.getProperties(...args),
-          startCopyFromURL: (...args) => this.startCopyFromURL(...args)
-        };
-        const poller = new BlobStartCopyFromUrlPoller_js_1.BlobBeginCopyFromUrlPoller({
-          blobClient: client,
-          copySource,
-          intervalInMs: options.intervalInMs,
-          onProgress: options.onProgress,
-          resumeFrom: options.resumeFrom,
-          startCopyFromURLOptions: options
-        });
-        await poller.poll();
-        return poller;
+      if (options != null) {
+        validateObject(options, "options");
       }
-      /**
-       * Aborts a pending asynchronous Copy Blob operation, and leaves a destination blob with zero
-       * length and full metadata. Version 2012-02-12 and newer.
-       * @see https://learn.microsoft.com/rest/api/storageservices/abort-copy-blob
-       *
-       * @param copyId - Id of the Copy From URL operation.
-       * @param options - Optional options to the Blob Abort Copy From URL operation.
-       */
-      async abortCopyFromURL(copyId, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-abortCopyFromURL", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.abortCopyFromURL(copyId, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
+        validateAbortSignal(options.signal, "options.signal");
       }
-      /**
-       * The synchronous Copy From URL operation copies a blob or an internet resource to a new blob. It will not
-       * return a response until the copy is complete.
-       * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob-from-url
-       *
-       * @param copySource - The source URL to copy from, Shared Access Signature(SAS) maybe needed for authentication
-       * @param options -
-       */
-      async syncCopyFromURL(copySource, options = {}) {
-        options.conditions = options.conditions || {};
-        options.sourceConditions = options.sourceConditions || {};
-        return tracing_js_1.tracingClient.withSpan("BlobClient-syncCopyFromURL", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.copyFromURL(copySource, {
-            abortSignal: options.abortSignal,
-            metadata: options.metadata,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            sourceModifiedAccessConditions: {
-              sourceIfMatch: options.sourceConditions?.ifMatch,
-              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
-              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
-              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince
-            },
-            sourceContentMD5: options.sourceContentMD5,
-            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
-            tier: (0, models_js_1.toAccessTier)(options.tier),
-            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
-            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
-            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
-            legalHold: options.legalHold,
-            encryptionScope: options.encryptionScope,
-            copySourceTags: options.copySourceTags,
-            fileRequestIntent: options.sourceShareTokenIntent,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      let concurrency = 1;
+      if ((options === null || options === void 0 ? void 0 : options.concurrency) != null) {
+        concurrency = MathFloor(options.concurrency);
       }
-      /**
-       * Sets the tier on a blob. The operation is allowed on a page blob in a premium
-       * storage account and on a block blob in a blob storage account (locally redundant
-       * storage only). A premium page blob's tier determines the allowed size, IOPS,
-       * and bandwidth of the blob. A block blob's tier determines Hot/Cool/Archive
-       * storage type. This operation does not update the blob's ETag.
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-tier
-       *
-       * @param tier - The tier to be set on the blob. Valid values are Hot, Cool, or Archive.
-       * @param options - Optional options to the Blob Set Tier operation.
-       */
-      async setAccessTier(tier, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-setAccessTier", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setTier((0, models_js_1.toAccessTier)(tier), {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            rehydratePriority: options.rehydratePriority,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      let highWaterMark = concurrency - 1;
+      if ((options === null || options === void 0 ? void 0 : options.highWaterMark) != null) {
+        highWaterMark = MathFloor(options.highWaterMark);
       }
-      async downloadToBuffer(param1, param2, param3, param4 = {}) {
-        let buffer;
-        let offset = 0;
-        let count = 0;
-        let options = param4;
-        if (param1 instanceof Buffer) {
-          buffer = param1;
-          offset = param2 || 0;
-          count = typeof param3 === "number" ? param3 : 0;
-        } else {
-          offset = typeof param1 === "number" ? param1 : 0;
-          count = typeof param2 === "number" ? param2 : 0;
-          options = param3 || {};
-        }
-        let blockSize = options.blockSize ?? 0;
-        if (blockSize < 0) {
-          throw new RangeError("blockSize option must be >= 0");
-        }
-        if (blockSize === 0) {
-          blockSize = constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES;
-        }
-        if (offset < 0) {
-          throw new RangeError("offset option must be >= 0");
+      validateInteger(concurrency, "options.concurrency", 1);
+      validateInteger(highWaterMark, "options.highWaterMark", 0);
+      highWaterMark += concurrency;
+      return async function* map3() {
+        const signal = require_util20().AbortSignalAny(
+          [options === null || options === void 0 ? void 0 : options.signal].filter(Boolean2)
+        );
+        const stream = this;
+        const queue = [];
+        const signalOpt = {
+          signal
+        };
+        let next;
+        let resume;
+        let done = false;
+        let cnt = 0;
+        function onCatch() {
+          done = true;
+          afterItemProcessed();
         }
-        if (count && count <= 0) {
-          throw new RangeError("count option must be greater than 0");
+        function afterItemProcessed() {
+          cnt -= 1;
+          maybeResume();
         }
-        if (!options.conditions) {
-          options.conditions = {};
+        function maybeResume() {
+          if (resume && !done && cnt < concurrency && queue.length < highWaterMark) {
+            resume();
+            resume = null;
+          }
         }
-        return tracing_js_1.tracingClient.withSpan("BlobClient-downloadToBuffer", options, async (updatedOptions) => {
-          if (!count) {
-            const response = await this.getProperties({
-              ...options,
-              tracingOptions: updatedOptions.tracingOptions
-            });
-            count = response.contentLength - offset;
-            if (count < 0) {
-              throw new RangeError(`offset ${offset} shouldn't be larger than blob size ${response.contentLength}`);
+        async function pump() {
+          try {
+            for await (let val of stream) {
+              if (done) {
+                return;
+              }
+              if (signal.aborted) {
+                throw new AbortError();
+              }
+              try {
+                val = fn(val, signalOpt);
+                if (val === kEmpty) {
+                  continue;
+                }
+                val = PromiseResolve(val);
+              } catch (err) {
+                val = PromiseReject(err);
+              }
+              cnt += 1;
+              PromisePrototypeThen(val, afterItemProcessed, onCatch);
+              queue.push(val);
+              if (next) {
+                next();
+                next = null;
+              }
+              if (!done && (queue.length >= highWaterMark || cnt >= concurrency)) {
+                await new Promise2((resolve2) => {
+                  resume = resolve2;
+                });
+              }
             }
-          }
-          if (!buffer) {
-            try {
-              buffer = Buffer.alloc(count);
-            } catch (error3) {
-              throw new Error(`Unable to allocate the buffer of size: ${count}(in bytes). Please try passing your own buffer to the "downloadToBuffer" method or try using other methods like "download" or "downloadToFile".	 ${error3.message}`);
+            queue.push(kEof);
+          } catch (err) {
+            const val = PromiseReject(err);
+            PromisePrototypeThen(val, afterItemProcessed, onCatch);
+            queue.push(val);
+          } finally {
+            done = true;
+            if (next) {
+              next();
+              next = null;
             }
           }
-          if (buffer.length < count) {
-            throw new RangeError(`The buffer's size should be equal to or larger than the request count of bytes: ${count}`);
-          }
-          let transferProgress = 0;
-          const batch = new Batch_js_1.Batch(options.concurrency);
-          for (let off = offset; off < offset + count; off = off + blockSize) {
-            batch.addOperation(async () => {
-              let chunkEnd = offset + count;
-              if (off + blockSize < chunkEnd) {
-                chunkEnd = off + blockSize;
+        }
+        pump();
+        try {
+          while (true) {
+            while (queue.length > 0) {
+              const val = await queue[0];
+              if (val === kEof) {
+                return;
               }
-              const response = await this.download(off, chunkEnd - off, {
-                abortSignal: options.abortSignal,
-                conditions: options.conditions,
-                maxRetryRequests: options.maxRetryRequestsPerBlock,
-                customerProvidedKey: options.customerProvidedKey,
-                tracingOptions: updatedOptions.tracingOptions
-              });
-              const stream = response.readableStreamBody;
-              await (0, utils_js_1.streamToBuffer)(stream, buffer, off - offset, chunkEnd - offset);
-              transferProgress += chunkEnd - off;
-              if (options.onProgress) {
-                options.onProgress({ loadedBytes: transferProgress });
+              if (signal.aborted) {
+                throw new AbortError();
               }
+              if (val !== kEmpty) {
+                yield val;
+              }
+              queue.shift();
+              maybeResume();
+            }
+            await new Promise2((resolve2) => {
+              next = resolve2;
             });
           }
-          await batch.do();
-          return buffer;
+        } finally {
+          done = true;
+          if (resume) {
+            resume();
+            resume = null;
+          }
+        }
+      }.call(this);
+    }
+    function asIndexedPairs(options = void 0) {
+      if (options != null) {
+        validateObject(options, "options");
+      }
+      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
+        validateAbortSignal(options.signal, "options.signal");
+      }
+      return async function* asIndexedPairs2() {
+        let index = 0;
+        for await (const val of this) {
+          var _options$signal;
+          if (options !== null && options !== void 0 && (_options$signal = options.signal) !== null && _options$signal !== void 0 && _options$signal.aborted) {
+            throw new AbortError({
+              cause: options.signal.reason
+            });
+          }
+          yield [index++, val];
+        }
+      }.call(this);
+    }
+    async function some(fn, options = void 0) {
+      for await (const unused of filter.call(this, fn, options)) {
+        return true;
+      }
+      return false;
+    }
+    async function every(fn, options = void 0) {
+      if (typeof fn !== "function") {
+        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
+      }
+      return !await some.call(
+        this,
+        async (...args) => {
+          return !await fn(...args);
+        },
+        options
+      );
+    }
+    async function find2(fn, options) {
+      for await (const result of filter.call(this, fn, options)) {
+        return result;
+      }
+      return void 0;
+    }
+    async function forEach(fn, options) {
+      if (typeof fn !== "function") {
+        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
+      }
+      async function forEachFn(value, options2) {
+        await fn(value, options2);
+        return kEmpty;
+      }
+      for await (const unused of map2.call(this, forEachFn, options)) ;
+    }
+    function filter(fn, options) {
+      if (typeof fn !== "function") {
+        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
+      }
+      async function filterFn(value, options2) {
+        if (await fn(value, options2)) {
+          return value;
+        }
+        return kEmpty;
+      }
+      return map2.call(this, filterFn, options);
+    }
+    var ReduceAwareErrMissingArgs = class extends ERR_MISSING_ARGS {
+      constructor() {
+        super("reduce");
+        this.message = "Reduce of an empty stream requires an initial value";
+      }
+    };
+    async function reduce(reducer, initialValue, options) {
+      var _options$signal2;
+      if (typeof reducer !== "function") {
+        throw new ERR_INVALID_ARG_TYPE2("reducer", ["Function", "AsyncFunction"], reducer);
+      }
+      if (options != null) {
+        validateObject(options, "options");
+      }
+      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
+        validateAbortSignal(options.signal, "options.signal");
+      }
+      let hasInitialValue = arguments.length > 1;
+      if (options !== null && options !== void 0 && (_options$signal2 = options.signal) !== null && _options$signal2 !== void 0 && _options$signal2.aborted) {
+        const err = new AbortError(void 0, {
+          cause: options.signal.reason
         });
-      }
-      /**
-       * ONLY AVAILABLE IN NODE.JS RUNTIME.
-       *
-       * Downloads an Azure Blob to a local file.
-       * Fails if the the given file path already exits.
-       * Offset and count are optional, pass 0 and undefined respectively to download the entire blob.
-       *
-       * @param filePath -
-       * @param offset - From which position of the block blob to download.
-       * @param count - How much data to be downloaded. Will download to the end when passing undefined.
-       * @param options - Options to Blob download options.
-       * @returns The response data for blob download operation,
-       *                                                 but with readableStreamBody set to undefined since its
-       *                                                 content is already read and written into a local file
-       *                                                 at the specified path.
-       */
-      async downloadToFile(filePath, offset = 0, count, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-downloadToFile", options, async (updatedOptions) => {
-          const response = await this.download(offset, count, {
-            ...options,
-            tracingOptions: updatedOptions.tracingOptions
-          });
-          if (response.readableStreamBody) {
-            await (0, utils_js_1.readStreamToLocalFile)(response.readableStreamBody, filePath);
-          }
-          response.blobDownloadStream = void 0;
-          return response;
+        this.once("error", () => {
         });
+        await finished(this.destroy(err));
+        throw err;
       }
-      getBlobAndContainerNamesFromUrl() {
-        let containerName;
-        let blobName;
-        try {
-          const parsedUrl = new URL(this.url);
-          if (parsedUrl.host.split(".")[1] === "blob") {
-            const pathComponents = parsedUrl.pathname.match("/([^/]*)(/(.*))?");
-            containerName = pathComponents[1];
-            blobName = pathComponents[3];
-          } else if ((0, utils_common_js_1.isIpEndpointStyle)(parsedUrl)) {
-            const pathComponents = parsedUrl.pathname.match("/([^/]*)/([^/]*)(/(.*))?");
-            containerName = pathComponents[2];
-            blobName = pathComponents[4];
-          } else {
-            const pathComponents = parsedUrl.pathname.match("/([^/]*)(/(.*))?");
-            containerName = pathComponents[1];
-            blobName = pathComponents[3];
+      const ac = new AbortController2();
+      const signal = ac.signal;
+      if (options !== null && options !== void 0 && options.signal) {
+        const opts = {
+          once: true,
+          [kWeakHandler]: this,
+          [kResistStopPropagation]: true
+        };
+        options.signal.addEventListener("abort", () => ac.abort(), opts);
+      }
+      let gotAnyItemFromStream = false;
+      try {
+        for await (const value of this) {
+          var _options$signal3;
+          gotAnyItemFromStream = true;
+          if (options !== null && options !== void 0 && (_options$signal3 = options.signal) !== null && _options$signal3 !== void 0 && _options$signal3.aborted) {
+            throw new AbortError();
           }
-          containerName = decodeURIComponent(containerName);
-          blobName = decodeURIComponent(blobName);
-          blobName = blobName.replace(/\\/g, "/");
-          if (!containerName) {
-            throw new Error("Provided containerName is invalid.");
+          if (!hasInitialValue) {
+            initialValue = value;
+            hasInitialValue = true;
+          } else {
+            initialValue = await reducer(initialValue, value, {
+              signal
+            });
           }
-          return { blobName, containerName };
-        } catch (error3) {
-          throw new Error("Unable to extract blobName and containerName with provided information.");
         }
+        if (!gotAnyItemFromStream && !hasInitialValue) {
+          throw new ReduceAwareErrMissingArgs();
+        }
+      } finally {
+        ac.abort();
       }
-      /**
-       * Asynchronously copies a blob to a destination within the storage account.
-       * In version 2012-02-12 and later, the source for a Copy Blob operation can be
-       * a committed blob in any Azure storage account.
-       * Beginning with version 2015-02-21, the source for a Copy Blob operation can be
-       * an Azure file in any Azure storage account.
-       * Only storage accounts created on or after June 7th, 2012 allow the Copy Blob
-       * operation to copy from another storage account.
-       * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob
-       *
-       * @param copySource - url to the source Azure Blob/File.
-       * @param options - Optional options to the Blob Start Copy From URL operation.
-       */
-      async startCopyFromURL(copySource, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-startCopyFromURL", options, async (updatedOptions) => {
-          options.conditions = options.conditions || {};
-          options.sourceConditions = options.sourceConditions || {};
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.startCopyFromURL(copySource, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            metadata: options.metadata,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            sourceModifiedAccessConditions: {
-              sourceIfMatch: options.sourceConditions.ifMatch,
-              sourceIfModifiedSince: options.sourceConditions.ifModifiedSince,
-              sourceIfNoneMatch: options.sourceConditions.ifNoneMatch,
-              sourceIfUnmodifiedSince: options.sourceConditions.ifUnmodifiedSince,
-              sourceIfTags: options.sourceConditions.tagConditions
-            },
-            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
-            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
-            legalHold: options.legalHold,
-            rehydratePriority: options.rehydratePriority,
-            tier: (0, models_js_1.toAccessTier)(options.tier),
-            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
-            sealBlob: options.sealBlob,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      return initialValue;
+    }
+    async function toArray2(options) {
+      if (options != null) {
+        validateObject(options, "options");
       }
-      /**
-       * Only available for BlobClient constructed with a shared key credential.
-       *
-       * Generates a Blob Service Shared Access Signature (SAS) URI based on the client properties
-       * and parameters passed in. The SAS is signed by the shared key credential of the client.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateSasUrl(options) {
-        return new Promise((resolve2) => {
-          if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
-            throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
-          }
-          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
-            containerName: this._containerName,
-            blobName: this._name,
-            snapshotTime: this._snapshot,
-            versionId: this._versionId,
-            ...options
-          }, this.credential).toString();
-          resolve2((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
-        });
+      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
+        validateAbortSignal(options.signal, "options.signal");
       }
-      /**
-       * Only available for BlobClient constructed with a shared key credential.
-       *
-       * Generates string to sign for a Blob Service Shared Access Signature (SAS) URI based on
-       * the client properties and parameters passed in. The SAS is signed by the shared key credential of the client.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/
-      generateSasStringToSign(options) {
-        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
-          throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
+      const result = [];
+      for await (const val of this) {
+        var _options$signal4;
+        if (options !== null && options !== void 0 && (_options$signal4 = options.signal) !== null && _options$signal4 !== void 0 && _options$signal4.aborted) {
+          throw new AbortError(void 0, {
+            cause: options.signal.reason
+          });
         }
-        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
-          containerName: this._containerName,
-          blobName: this._name,
-          snapshotTime: this._snapshot,
-          versionId: this._versionId,
-          ...options
-        }, this.credential).stringToSign;
+        ArrayPrototypePush(result, val);
       }
-      /**
-       *
-       * Generates a Blob Service Shared Access Signature (SAS) URI based on
-       * the client properties and parameters passed in. The SAS is signed by the input user delegation key.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateUserDelegationSasUrl(options, userDelegationKey) {
-        return new Promise((resolve2) => {
-          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
-            containerName: this._containerName,
-            blobName: this._name,
-            snapshotTime: this._snapshot,
-            versionId: this._versionId,
-            ...options
-          }, userDelegationKey, this.accountName).toString();
-          resolve2((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
-        });
+      return result;
+    }
+    function flatMap(fn, options) {
+      const values = map2.call(this, fn, options);
+      return async function* flatMap2() {
+        for await (const val of values) {
+          yield* val;
+        }
+      }.call(this);
+    }
+    function toIntegerOrInfinity(number) {
+      number = Number2(number);
+      if (NumberIsNaN(number)) {
+        return 0;
       }
-      /**
-       * Only available for BlobClient constructed with a shared key credential.
-       *
-       * Generates string to sign for a Blob Service Shared Access Signature (SAS) URI based on
-       * the client properties and parameters passed in. The SAS is signed by the input user delegation key.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateUserDelegationSasStringToSign(options, userDelegationKey) {
-        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
-          containerName: this._containerName,
-          blobName: this._name,
-          snapshotTime: this._snapshot,
-          versionId: this._versionId,
-          ...options
-        }, userDelegationKey, this.accountName).stringToSign;
+      if (number < 0) {
+        throw new ERR_OUT_OF_RANGE("number", ">= 0", number);
       }
-      /**
-       * Delete the immutablility policy on the blob.
-       *
-       * @param options - Optional options to delete immutability policy on the blob.
-       */
-      async deleteImmutabilityPolicy(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-deleteImmutabilityPolicy", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.deleteImmutabilityPolicy({
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      return number;
+    }
+    function drop(number, options = void 0) {
+      if (options != null) {
+        validateObject(options, "options");
       }
-      /**
-       * Set immutability policy on the blob.
-       *
-       * @param options - Optional options to set immutability policy on the blob.
-       */
-      async setImmutabilityPolicy(immutabilityPolicy, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-setImmutabilityPolicy", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setImmutabilityPolicy({
-            immutabilityPolicyExpiry: immutabilityPolicy.expiriesOn,
-            immutabilityPolicyMode: immutabilityPolicy.policyMode,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
+        validateAbortSignal(options.signal, "options.signal");
       }
-      /**
-       * Set legal hold on the blob.
-       *
-       * @param options - Optional options to set legal hold on the blob.
-       */
-      async setLegalHold(legalHoldEnabled, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-setLegalHold", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setLegalHold(legalHoldEnabled, {
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      number = toIntegerOrInfinity(number);
+      return async function* drop2() {
+        var _options$signal5;
+        if (options !== null && options !== void 0 && (_options$signal5 = options.signal) !== null && _options$signal5 !== void 0 && _options$signal5.aborted) {
+          throw new AbortError();
+        }
+        for await (const val of this) {
+          var _options$signal6;
+          if (options !== null && options !== void 0 && (_options$signal6 = options.signal) !== null && _options$signal6 !== void 0 && _options$signal6.aborted) {
+            throw new AbortError();
+          }
+          if (number-- <= 0) {
+            yield val;
+          }
+        }
+      }.call(this);
+    }
+    function take(number, options = void 0) {
+      if (options != null) {
+        validateObject(options, "options");
       }
-      /**
-       * The Get Account Information operation returns the sku name and account kind
-       * for the specified account.
-       * The Get Account Information operation is available on service versions beginning
-       * with version 2018-03-28.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information
-       *
-       * @param options - Options to the Service Get Account Info operation.
-       * @returns Response data for the Service Get Account Info operation.
-       */
-      async getAccountInfo(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-getAccountInfo", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.getAccountInfo({
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
+        validateAbortSignal(options.signal, "options.signal");
+      }
+      number = toIntegerOrInfinity(number);
+      return async function* take2() {
+        var _options$signal7;
+        if (options !== null && options !== void 0 && (_options$signal7 = options.signal) !== null && _options$signal7 !== void 0 && _options$signal7.aborted) {
+          throw new AbortError();
+        }
+        for await (const val of this) {
+          var _options$signal8;
+          if (options !== null && options !== void 0 && (_options$signal8 = options.signal) !== null && _options$signal8 !== void 0 && _options$signal8.aborted) {
+            throw new AbortError();
+          }
+          if (number-- > 0) {
+            yield val;
+          }
+          if (number <= 0) {
+            return;
+          }
+        }
+      }.call(this);
+    }
+    module2.exports.streamReturningOperators = {
+      asIndexedPairs: deprecate(asIndexedPairs, "readable.asIndexedPairs will be removed in a future version."),
+      drop,
+      filter,
+      flatMap,
+      map: map2,
+      take,
+      compose
+    };
+    module2.exports.promiseReturningOperators = {
+      every,
+      forEach,
+      reduce,
+      toArray: toArray2,
+      some,
+      find: find2
+    };
+  }
+});
+
+// node_modules/readable-stream/lib/stream/promises.js
+var require_promises = __commonJS({
+  "node_modules/readable-stream/lib/stream/promises.js"(exports2, module2) {
+    "use strict";
+    var { ArrayPrototypePop, Promise: Promise2 } = require_primordials();
+    var { isIterable, isNodeStream, isWebStream } = require_utils8();
+    var { pipelineImpl: pl } = require_pipeline4();
+    var { finished } = require_end_of_stream();
+    require_stream2();
+    function pipeline(...streams) {
+      return new Promise2((resolve2, reject) => {
+        let signal;
+        let end;
+        const lastArg = streams[streams.length - 1];
+        if (lastArg && typeof lastArg === "object" && !isNodeStream(lastArg) && !isIterable(lastArg) && !isWebStream(lastArg)) {
+          const options = ArrayPrototypePop(streams);
+          signal = options.signal;
+          end = options.end;
+        }
+        pl(
+          streams,
+          (err, value) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve2(value);
+            }
+          },
+          {
+            signal,
+            end
+          }
+        );
+      });
+    }
+    module2.exports = {
+      finished,
+      pipeline
+    };
+  }
+});
+
+// node_modules/readable-stream/lib/stream.js
+var require_stream2 = __commonJS({
+  "node_modules/readable-stream/lib/stream.js"(exports2, module2) {
+    var { Buffer: Buffer2 } = require("buffer");
+    var { ObjectDefineProperty, ObjectKeys, ReflectApply } = require_primordials();
+    var {
+      promisify: { custom: customPromisify }
+    } = require_util20();
+    var { streamReturningOperators, promiseReturningOperators } = require_operators();
+    var {
+      codes: { ERR_ILLEGAL_CONSTRUCTOR }
+    } = require_errors4();
+    var compose = require_compose();
+    var { setDefaultHighWaterMark, getDefaultHighWaterMark } = require_state3();
+    var { pipeline } = require_pipeline4();
+    var { destroyer } = require_destroy2();
+    var eos = require_end_of_stream();
+    var promises2 = require_promises();
+    var utils = require_utils8();
+    var Stream = module2.exports = require_legacy().Stream;
+    Stream.isDestroyed = utils.isDestroyed;
+    Stream.isDisturbed = utils.isDisturbed;
+    Stream.isErrored = utils.isErrored;
+    Stream.isReadable = utils.isReadable;
+    Stream.isWritable = utils.isWritable;
+    Stream.Readable = require_readable4();
+    for (const key of ObjectKeys(streamReturningOperators)) {
+      let fn2 = function(...args) {
+        if (new.target) {
+          throw ERR_ILLEGAL_CONSTRUCTOR();
+        }
+        return Stream.Readable.from(ReflectApply(op, this, args));
+      };
+      fn = fn2;
+      const op = streamReturningOperators[key];
+      ObjectDefineProperty(fn2, "name", {
+        __proto__: null,
+        value: op.name
+      });
+      ObjectDefineProperty(fn2, "length", {
+        __proto__: null,
+        value: op.length
+      });
+      ObjectDefineProperty(Stream.Readable.prototype, key, {
+        __proto__: null,
+        value: fn2,
+        enumerable: false,
+        configurable: true,
+        writable: true
+      });
+    }
+    var fn;
+    for (const key of ObjectKeys(promiseReturningOperators)) {
+      let fn2 = function(...args) {
+        if (new.target) {
+          throw ERR_ILLEGAL_CONSTRUCTOR();
+        }
+        return ReflectApply(op, this, args);
+      };
+      fn = fn2;
+      const op = promiseReturningOperators[key];
+      ObjectDefineProperty(fn2, "name", {
+        __proto__: null,
+        value: op.name
+      });
+      ObjectDefineProperty(fn2, "length", {
+        __proto__: null,
+        value: op.length
+      });
+      ObjectDefineProperty(Stream.Readable.prototype, key, {
+        __proto__: null,
+        value: fn2,
+        enumerable: false,
+        configurable: true,
+        writable: true
+      });
+    }
+    var fn;
+    Stream.Writable = require_writable();
+    Stream.Duplex = require_duplex();
+    Stream.Transform = require_transform();
+    Stream.PassThrough = require_passthrough2();
+    Stream.pipeline = pipeline;
+    var { addAbortSignal } = require_add_abort_signal();
+    Stream.addAbortSignal = addAbortSignal;
+    Stream.finished = eos;
+    Stream.destroy = destroyer;
+    Stream.compose = compose;
+    Stream.setDefaultHighWaterMark = setDefaultHighWaterMark;
+    Stream.getDefaultHighWaterMark = getDefaultHighWaterMark;
+    ObjectDefineProperty(Stream, "promises", {
+      __proto__: null,
+      configurable: true,
+      enumerable: true,
+      get() {
+        return promises2;
+      }
+    });
+    ObjectDefineProperty(pipeline, customPromisify, {
+      __proto__: null,
+      enumerable: true,
+      get() {
+        return promises2.pipeline;
+      }
+    });
+    ObjectDefineProperty(eos, customPromisify, {
+      __proto__: null,
+      enumerable: true,
+      get() {
+        return promises2.finished;
       }
+    });
+    Stream.Stream = Stream;
+    Stream._isUint8Array = function isUint8Array(value) {
+      return value instanceof Uint8Array;
     };
-    exports2.BlobClient = BlobClient;
-    var AppendBlobClient = class _AppendBlobClient extends BlobClient {
-      /**
-       * appendBlobsContext provided by protocol layer.
-       */
-      appendBlobContext;
-      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
-        let pipeline;
-        let url;
-        options = options || {};
-        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
-          url = urlOrConnectionString;
-          pipeline = credentialOrPipelineOrContainerName;
-        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
-          url = urlOrConnectionString;
-          options = blobNameOrOptions;
-          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
-        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
-          url = urlOrConnectionString;
-          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
-          const containerName = credentialOrPipelineOrContainerName;
-          const blobName = blobNameOrOptions;
-          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
-          if (extractedCreds.kind === "AccountConnString") {
-            if (core_util_1.isNodeLike) {
-              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
-              url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
-              if (!options.proxyOptions) {
-                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
-              }
-              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
-            } else {
-              throw new Error("Account connection string is only supported in Node.js environment");
-            }
-          } else if (extractedCreds.kind === "SASConnString") {
-            url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
-            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+    Stream._uint8ArrayToBuffer = function _uint8ArrayToBuffer(chunk) {
+      return Buffer2.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
+    };
+  }
+});
+
+// node_modules/readable-stream/lib/ours/index.js
+var require_ours = __commonJS({
+  "node_modules/readable-stream/lib/ours/index.js"(exports2, module2) {
+    "use strict";
+    var Stream = require("stream");
+    if (Stream && process.env.READABLE_STREAM === "disable") {
+      const promises2 = Stream.promises;
+      module2.exports._uint8ArrayToBuffer = Stream._uint8ArrayToBuffer;
+      module2.exports._isUint8Array = Stream._isUint8Array;
+      module2.exports.isDisturbed = Stream.isDisturbed;
+      module2.exports.isErrored = Stream.isErrored;
+      module2.exports.isReadable = Stream.isReadable;
+      module2.exports.Readable = Stream.Readable;
+      module2.exports.Writable = Stream.Writable;
+      module2.exports.Duplex = Stream.Duplex;
+      module2.exports.Transform = Stream.Transform;
+      module2.exports.PassThrough = Stream.PassThrough;
+      module2.exports.addAbortSignal = Stream.addAbortSignal;
+      module2.exports.finished = Stream.finished;
+      module2.exports.destroy = Stream.destroy;
+      module2.exports.pipeline = Stream.pipeline;
+      module2.exports.compose = Stream.compose;
+      Object.defineProperty(Stream, "promises", {
+        configurable: true,
+        enumerable: true,
+        get() {
+          return promises2;
+        }
+      });
+      module2.exports.Stream = Stream.Stream;
+    } else {
+      const CustomStream = require_stream2();
+      const promises2 = require_promises();
+      const originalDestroy = CustomStream.Readable.destroy;
+      module2.exports = CustomStream.Readable;
+      module2.exports._uint8ArrayToBuffer = CustomStream._uint8ArrayToBuffer;
+      module2.exports._isUint8Array = CustomStream._isUint8Array;
+      module2.exports.isDisturbed = CustomStream.isDisturbed;
+      module2.exports.isErrored = CustomStream.isErrored;
+      module2.exports.isReadable = CustomStream.isReadable;
+      module2.exports.Readable = CustomStream.Readable;
+      module2.exports.Writable = CustomStream.Writable;
+      module2.exports.Duplex = CustomStream.Duplex;
+      module2.exports.Transform = CustomStream.Transform;
+      module2.exports.PassThrough = CustomStream.PassThrough;
+      module2.exports.addAbortSignal = CustomStream.addAbortSignal;
+      module2.exports.finished = CustomStream.finished;
+      module2.exports.destroy = CustomStream.destroy;
+      module2.exports.destroy = originalDestroy;
+      module2.exports.pipeline = CustomStream.pipeline;
+      module2.exports.compose = CustomStream.compose;
+      Object.defineProperty(CustomStream, "promises", {
+        configurable: true,
+        enumerable: true,
+        get() {
+          return promises2;
+        }
+      });
+      module2.exports.Stream = CustomStream.Stream;
+    }
+    module2.exports.default = module2.exports;
+  }
+});
+
+// node_modules/lodash/_arrayPush.js
+var require_arrayPush = __commonJS({
+  "node_modules/lodash/_arrayPush.js"(exports2, module2) {
+    function arrayPush(array, values) {
+      var index = -1, length = values.length, offset = array.length;
+      while (++index < length) {
+        array[offset + index] = values[index];
+      }
+      return array;
+    }
+    module2.exports = arrayPush;
+  }
+});
+
+// node_modules/lodash/_isFlattenable.js
+var require_isFlattenable = __commonJS({
+  "node_modules/lodash/_isFlattenable.js"(exports2, module2) {
+    var Symbol2 = require_Symbol();
+    var isArguments = require_isArguments();
+    var isArray = require_isArray();
+    var spreadableSymbol = Symbol2 ? Symbol2.isConcatSpreadable : void 0;
+    function isFlattenable(value) {
+      return isArray(value) || isArguments(value) || !!(spreadableSymbol && value && value[spreadableSymbol]);
+    }
+    module2.exports = isFlattenable;
+  }
+});
+
+// node_modules/lodash/_baseFlatten.js
+var require_baseFlatten = __commonJS({
+  "node_modules/lodash/_baseFlatten.js"(exports2, module2) {
+    var arrayPush = require_arrayPush();
+    var isFlattenable = require_isFlattenable();
+    function baseFlatten(array, depth, predicate, isStrict, result) {
+      var index = -1, length = array.length;
+      predicate || (predicate = isFlattenable);
+      result || (result = []);
+      while (++index < length) {
+        var value = array[index];
+        if (depth > 0 && predicate(value)) {
+          if (depth > 1) {
+            baseFlatten(value, depth - 1, predicate, isStrict, result);
           } else {
-            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
+            arrayPush(result, value);
           }
-        } else {
-          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
+        } else if (!isStrict) {
+          result[result.length] = value;
         }
-        super(url, pipeline);
-        this.appendBlobContext = this.storageClientContext.appendBlob;
       }
-      /**
-       * Creates a new AppendBlobClient object identical to the source but with the
-       * specified snapshot timestamp.
-       * Provide "" will remove the snapshot and return a Client to the base blob.
-       *
-       * @param snapshot - The snapshot timestamp.
-       * @returns A new AppendBlobClient object identical to the source but with the specified snapshot timestamp.
-       */
-      withSnapshot(snapshot) {
-        return new _AppendBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
+      return result;
+    }
+    module2.exports = baseFlatten;
+  }
+});
+
+// node_modules/lodash/flatten.js
+var require_flatten = __commonJS({
+  "node_modules/lodash/flatten.js"(exports2, module2) {
+    var baseFlatten = require_baseFlatten();
+    function flatten(array) {
+      var length = array == null ? 0 : array.length;
+      return length ? baseFlatten(array, 1) : [];
+    }
+    module2.exports = flatten;
+  }
+});
+
+// node_modules/lodash/_nativeCreate.js
+var require_nativeCreate = __commonJS({
+  "node_modules/lodash/_nativeCreate.js"(exports2, module2) {
+    var getNative = require_getNative();
+    var nativeCreate = getNative(Object, "create");
+    module2.exports = nativeCreate;
+  }
+});
+
+// node_modules/lodash/_hashClear.js
+var require_hashClear = __commonJS({
+  "node_modules/lodash/_hashClear.js"(exports2, module2) {
+    var nativeCreate = require_nativeCreate();
+    function hashClear() {
+      this.__data__ = nativeCreate ? nativeCreate(null) : {};
+      this.size = 0;
+    }
+    module2.exports = hashClear;
+  }
+});
+
+// node_modules/lodash/_hashDelete.js
+var require_hashDelete = __commonJS({
+  "node_modules/lodash/_hashDelete.js"(exports2, module2) {
+    function hashDelete(key) {
+      var result = this.has(key) && delete this.__data__[key];
+      this.size -= result ? 1 : 0;
+      return result;
+    }
+    module2.exports = hashDelete;
+  }
+});
+
+// node_modules/lodash/_hashGet.js
+var require_hashGet = __commonJS({
+  "node_modules/lodash/_hashGet.js"(exports2, module2) {
+    var nativeCreate = require_nativeCreate();
+    var HASH_UNDEFINED = "__lodash_hash_undefined__";
+    var objectProto = Object.prototype;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    function hashGet(key) {
+      var data = this.__data__;
+      if (nativeCreate) {
+        var result = data[key];
+        return result === HASH_UNDEFINED ? void 0 : result;
       }
-      /**
-       * Creates a 0-length append blob. Call AppendBlock to append data to an append blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
-       *
-       * @param options - Options to the Append Block Create operation.
-       *
-       *
-       * Example usage:
-       *
-       * ```ts snippet:ClientsCreateAppendBlob
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       *
-       * const appendBlobClient = containerClient.getAppendBlobClient(blobName);
-       * await appendBlobClient.create();
-       * ```
-       */
-      async create(options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-create", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.create(0, {
-            abortSignal: options.abortSignal,
-            blobHttpHeaders: options.blobHTTPHeaders,
-            leaseAccessConditions: options.conditions,
-            metadata: options.metadata,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
-            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
-            legalHold: options.legalHold,
-            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      return hasOwnProperty.call(data, key) ? data[key] : void 0;
+    }
+    module2.exports = hashGet;
+  }
+});
+
+// node_modules/lodash/_hashHas.js
+var require_hashHas = __commonJS({
+  "node_modules/lodash/_hashHas.js"(exports2, module2) {
+    var nativeCreate = require_nativeCreate();
+    var objectProto = Object.prototype;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    function hashHas(key) {
+      var data = this.__data__;
+      return nativeCreate ? data[key] !== void 0 : hasOwnProperty.call(data, key);
+    }
+    module2.exports = hashHas;
+  }
+});
+
+// node_modules/lodash/_hashSet.js
+var require_hashSet = __commonJS({
+  "node_modules/lodash/_hashSet.js"(exports2, module2) {
+    var nativeCreate = require_nativeCreate();
+    var HASH_UNDEFINED = "__lodash_hash_undefined__";
+    function hashSet(key, value) {
+      var data = this.__data__;
+      this.size += this.has(key) ? 0 : 1;
+      data[key] = nativeCreate && value === void 0 ? HASH_UNDEFINED : value;
+      return this;
+    }
+    module2.exports = hashSet;
+  }
+});
+
+// node_modules/lodash/_Hash.js
+var require_Hash = __commonJS({
+  "node_modules/lodash/_Hash.js"(exports2, module2) {
+    var hashClear = require_hashClear();
+    var hashDelete = require_hashDelete();
+    var hashGet = require_hashGet();
+    var hashHas = require_hashHas();
+    var hashSet = require_hashSet();
+    function Hash(entries) {
+      var index = -1, length = entries == null ? 0 : entries.length;
+      this.clear();
+      while (++index < length) {
+        var entry = entries[index];
+        this.set(entry[0], entry[1]);
       }
-      /**
-       * Creates a 0-length append blob. Call AppendBlock to append data to an append blob.
-       * If the blob with the same name already exists, the content of the existing blob will remain unchanged.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
-       *
-       * @param options -
-       */
-      async createIfNotExists(options = {}) {
-        const conditions = { ifNoneMatch: constants_js_1.ETagAny };
-        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-createIfNotExists", options, async (updatedOptions) => {
-          try {
-            const res = (0, utils_common_js_1.assertResponse)(await this.create({
-              ...updatedOptions,
-              conditions
-            }));
-            return {
-              succeeded: true,
-              ...res,
-              _response: res._response
-              // _response is made non-enumerable
-            };
-          } catch (e) {
-            if (e.details?.errorCode === "BlobAlreadyExists") {
-              return {
-                succeeded: false,
-                ...e.response?.parsedHeaders,
-                _response: e.response
-              };
-            }
-            throw e;
-          }
-        });
+    }
+    Hash.prototype.clear = hashClear;
+    Hash.prototype["delete"] = hashDelete;
+    Hash.prototype.get = hashGet;
+    Hash.prototype.has = hashHas;
+    Hash.prototype.set = hashSet;
+    module2.exports = Hash;
+  }
+});
+
+// node_modules/lodash/_listCacheClear.js
+var require_listCacheClear = __commonJS({
+  "node_modules/lodash/_listCacheClear.js"(exports2, module2) {
+    function listCacheClear() {
+      this.__data__ = [];
+      this.size = 0;
+    }
+    module2.exports = listCacheClear;
+  }
+});
+
+// node_modules/lodash/_assocIndexOf.js
+var require_assocIndexOf = __commonJS({
+  "node_modules/lodash/_assocIndexOf.js"(exports2, module2) {
+    var eq = require_eq2();
+    function assocIndexOf(array, key) {
+      var length = array.length;
+      while (length--) {
+        if (eq(array[length][0], key)) {
+          return length;
+        }
       }
-      /**
-       * Seals the append blob, making it read only.
-       *
-       * @param options -
-       */
-      async seal(options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-seal", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.seal({
-            abortSignal: options.abortSignal,
-            appendPositionAccessConditions: options.conditions,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      return -1;
+    }
+    module2.exports = assocIndexOf;
+  }
+});
+
+// node_modules/lodash/_listCacheDelete.js
+var require_listCacheDelete = __commonJS({
+  "node_modules/lodash/_listCacheDelete.js"(exports2, module2) {
+    var assocIndexOf = require_assocIndexOf();
+    var arrayProto = Array.prototype;
+    var splice = arrayProto.splice;
+    function listCacheDelete(key) {
+      var data = this.__data__, index = assocIndexOf(data, key);
+      if (index < 0) {
+        return false;
       }
-      /**
-       * Commits a new block of data to the end of the existing append blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/append-block
-       *
-       * @param body - Data to be appended.
-       * @param contentLength - Length of the body in bytes.
-       * @param options - Options to the Append Block operation.
-       *
-       *
-       * Example usage:
-       *
-       * ```ts snippet:ClientsAppendBlock
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       *
-       * const content = "Hello World!";
-       *
-       * // Create a new append blob and append data to the blob.
-       * const newAppendBlobClient = containerClient.getAppendBlobClient(blobName);
-       * await newAppendBlobClient.create();
-       * await newAppendBlobClient.appendBlock(content, content.length);
-       *
-       * // Append data to an existing append blob.
-       * const existingAppendBlobClient = containerClient.getAppendBlobClient(blobName);
-       * await existingAppendBlobClient.appendBlock(content, content.length);
-       * ```
-       */
-      async appendBlock(body, contentLength, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-appendBlock", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.appendBlock(contentLength, body, {
-            abortSignal: options.abortSignal,
-            appendPositionAccessConditions: options.conditions,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            requestOptions: {
-              onUploadProgress: options.onProgress
-            },
-            transactionalContentMD5: options.transactionalContentMD5,
-            transactionalContentCrc64: options.transactionalContentCrc64,
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      var lastIndex = data.length - 1;
+      if (index == lastIndex) {
+        data.pop();
+      } else {
+        splice.call(data, index, 1);
+      }
+      --this.size;
+      return true;
+    }
+    module2.exports = listCacheDelete;
+  }
+});
+
+// node_modules/lodash/_listCacheGet.js
+var require_listCacheGet = __commonJS({
+  "node_modules/lodash/_listCacheGet.js"(exports2, module2) {
+    var assocIndexOf = require_assocIndexOf();
+    function listCacheGet(key) {
+      var data = this.__data__, index = assocIndexOf(data, key);
+      return index < 0 ? void 0 : data[index][1];
+    }
+    module2.exports = listCacheGet;
+  }
+});
+
+// node_modules/lodash/_listCacheHas.js
+var require_listCacheHas = __commonJS({
+  "node_modules/lodash/_listCacheHas.js"(exports2, module2) {
+    var assocIndexOf = require_assocIndexOf();
+    function listCacheHas(key) {
+      return assocIndexOf(this.__data__, key) > -1;
+    }
+    module2.exports = listCacheHas;
+  }
+});
+
+// node_modules/lodash/_listCacheSet.js
+var require_listCacheSet = __commonJS({
+  "node_modules/lodash/_listCacheSet.js"(exports2, module2) {
+    var assocIndexOf = require_assocIndexOf();
+    function listCacheSet(key, value) {
+      var data = this.__data__, index = assocIndexOf(data, key);
+      if (index < 0) {
+        ++this.size;
+        data.push([key, value]);
+      } else {
+        data[index][1] = value;
       }
-      /**
-       * The Append Block operation commits a new block of data to the end of an existing append blob
-       * where the contents are read from a source url.
-       * @see https://learn.microsoft.com/rest/api/storageservices/append-block-from-url
-       *
-       * @param sourceURL -
-       *                 The url to the blob that will be the source of the copy. A source blob in the same storage account can
-       *                 be authenticated via Shared Key. However, if the source is a blob in another account, the source blob
-       *                 must either be public or must be authenticated via a shared access signature. If the source blob is
-       *                 public, no authentication is required to perform the operation.
-       * @param sourceOffset - Offset in source to be appended
-       * @param count - Number of bytes to be appended as a block
-       * @param options -
-       */
-      async appendBlockFromURL(sourceURL, sourceOffset, count, options = {}) {
-        options.conditions = options.conditions || {};
-        options.sourceConditions = options.sourceConditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-appendBlockFromURL", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.appendBlockFromUrl(sourceURL, 0, {
-            abortSignal: options.abortSignal,
-            sourceRange: (0, Range_js_1.rangeToString)({ offset: sourceOffset, count }),
-            sourceContentMD5: options.sourceContentMD5,
-            sourceContentCrc64: options.sourceContentCrc64,
-            leaseAccessConditions: options.conditions,
-            appendPositionAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            sourceModifiedAccessConditions: {
-              sourceIfMatch: options.sourceConditions?.ifMatch,
-              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
-              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
-              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince
-            },
-            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            fileRequestIntent: options.sourceShareTokenIntent,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      return this;
+    }
+    module2.exports = listCacheSet;
+  }
+});
+
+// node_modules/lodash/_ListCache.js
+var require_ListCache = __commonJS({
+  "node_modules/lodash/_ListCache.js"(exports2, module2) {
+    var listCacheClear = require_listCacheClear();
+    var listCacheDelete = require_listCacheDelete();
+    var listCacheGet = require_listCacheGet();
+    var listCacheHas = require_listCacheHas();
+    var listCacheSet = require_listCacheSet();
+    function ListCache(entries) {
+      var index = -1, length = entries == null ? 0 : entries.length;
+      this.clear();
+      while (++index < length) {
+        var entry = entries[index];
+        this.set(entry[0], entry[1]);
       }
-    };
-    exports2.AppendBlobClient = AppendBlobClient;
-    var BlockBlobClient = class _BlockBlobClient extends BlobClient {
-      /**
-       * blobContext provided by protocol layer.
-       *
-       * Note. Ideally BlobClient should set BlobClient.blobContext to protected. However, API
-       * extractor has issue blocking that. Here we redecelare _blobContext in BlockBlobClient.
-       */
-      _blobContext;
-      /**
-       * blockBlobContext provided by protocol layer.
-       */
-      blockBlobContext;
-      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
-        let pipeline;
-        let url;
-        options = options || {};
-        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
-          url = urlOrConnectionString;
-          pipeline = credentialOrPipelineOrContainerName;
-        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
-          url = urlOrConnectionString;
-          options = blobNameOrOptions;
-          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
-        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
-          url = urlOrConnectionString;
-          if (blobNameOrOptions && typeof blobNameOrOptions !== "string") {
-            options = blobNameOrOptions;
-          }
-          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
-          const containerName = credentialOrPipelineOrContainerName;
-          const blobName = blobNameOrOptions;
-          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
-          if (extractedCreds.kind === "AccountConnString") {
-            if (core_util_1.isNodeLike) {
-              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
-              url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
-              if (!options.proxyOptions) {
-                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
-              }
-              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
-            } else {
-              throw new Error("Account connection string is only supported in Node.js environment");
-            }
-          } else if (extractedCreds.kind === "SASConnString") {
-            url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
-            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-          } else {
-            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
-          }
-        } else {
-          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
-        }
-        super(url, pipeline);
-        this.blockBlobContext = this.storageClientContext.blockBlob;
-        this._blobContext = this.storageClientContext.blob;
+    }
+    ListCache.prototype.clear = listCacheClear;
+    ListCache.prototype["delete"] = listCacheDelete;
+    ListCache.prototype.get = listCacheGet;
+    ListCache.prototype.has = listCacheHas;
+    ListCache.prototype.set = listCacheSet;
+    module2.exports = ListCache;
+  }
+});
+
+// node_modules/lodash/_Map.js
+var require_Map = __commonJS({
+  "node_modules/lodash/_Map.js"(exports2, module2) {
+    var getNative = require_getNative();
+    var root = require_root();
+    var Map2 = getNative(root, "Map");
+    module2.exports = Map2;
+  }
+});
+
+// node_modules/lodash/_mapCacheClear.js
+var require_mapCacheClear = __commonJS({
+  "node_modules/lodash/_mapCacheClear.js"(exports2, module2) {
+    var Hash = require_Hash();
+    var ListCache = require_ListCache();
+    var Map2 = require_Map();
+    function mapCacheClear() {
+      this.size = 0;
+      this.__data__ = {
+        "hash": new Hash(),
+        "map": new (Map2 || ListCache)(),
+        "string": new Hash()
+      };
+    }
+    module2.exports = mapCacheClear;
+  }
+});
+
+// node_modules/lodash/_isKeyable.js
+var require_isKeyable = __commonJS({
+  "node_modules/lodash/_isKeyable.js"(exports2, module2) {
+    function isKeyable(value) {
+      var type2 = typeof value;
+      return type2 == "string" || type2 == "number" || type2 == "symbol" || type2 == "boolean" ? value !== "__proto__" : value === null;
+    }
+    module2.exports = isKeyable;
+  }
+});
+
+// node_modules/lodash/_getMapData.js
+var require_getMapData = __commonJS({
+  "node_modules/lodash/_getMapData.js"(exports2, module2) {
+    var isKeyable = require_isKeyable();
+    function getMapData(map2, key) {
+      var data = map2.__data__;
+      return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map;
+    }
+    module2.exports = getMapData;
+  }
+});
+
+// node_modules/lodash/_mapCacheDelete.js
+var require_mapCacheDelete = __commonJS({
+  "node_modules/lodash/_mapCacheDelete.js"(exports2, module2) {
+    var getMapData = require_getMapData();
+    function mapCacheDelete(key) {
+      var result = getMapData(this, key)["delete"](key);
+      this.size -= result ? 1 : 0;
+      return result;
+    }
+    module2.exports = mapCacheDelete;
+  }
+});
+
+// node_modules/lodash/_mapCacheGet.js
+var require_mapCacheGet = __commonJS({
+  "node_modules/lodash/_mapCacheGet.js"(exports2, module2) {
+    var getMapData = require_getMapData();
+    function mapCacheGet(key) {
+      return getMapData(this, key).get(key);
+    }
+    module2.exports = mapCacheGet;
+  }
+});
+
+// node_modules/lodash/_mapCacheHas.js
+var require_mapCacheHas = __commonJS({
+  "node_modules/lodash/_mapCacheHas.js"(exports2, module2) {
+    var getMapData = require_getMapData();
+    function mapCacheHas(key) {
+      return getMapData(this, key).has(key);
+    }
+    module2.exports = mapCacheHas;
+  }
+});
+
+// node_modules/lodash/_mapCacheSet.js
+var require_mapCacheSet = __commonJS({
+  "node_modules/lodash/_mapCacheSet.js"(exports2, module2) {
+    var getMapData = require_getMapData();
+    function mapCacheSet(key, value) {
+      var data = getMapData(this, key), size = data.size;
+      data.set(key, value);
+      this.size += data.size == size ? 0 : 1;
+      return this;
+    }
+    module2.exports = mapCacheSet;
+  }
+});
+
+// node_modules/lodash/_MapCache.js
+var require_MapCache = __commonJS({
+  "node_modules/lodash/_MapCache.js"(exports2, module2) {
+    var mapCacheClear = require_mapCacheClear();
+    var mapCacheDelete = require_mapCacheDelete();
+    var mapCacheGet = require_mapCacheGet();
+    var mapCacheHas = require_mapCacheHas();
+    var mapCacheSet = require_mapCacheSet();
+    function MapCache(entries) {
+      var index = -1, length = entries == null ? 0 : entries.length;
+      this.clear();
+      while (++index < length) {
+        var entry = entries[index];
+        this.set(entry[0], entry[1]);
       }
-      /**
-       * Creates a new BlockBlobClient object identical to the source but with the
-       * specified snapshot timestamp.
-       * Provide "" will remove the snapshot and return a URL to the base blob.
-       *
-       * @param snapshot - The snapshot timestamp.
-       * @returns A new BlockBlobClient object identical to the source but with the specified snapshot timestamp.
-       */
-      withSnapshot(snapshot) {
-        return new _BlockBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
+    }
+    MapCache.prototype.clear = mapCacheClear;
+    MapCache.prototype["delete"] = mapCacheDelete;
+    MapCache.prototype.get = mapCacheGet;
+    MapCache.prototype.has = mapCacheHas;
+    MapCache.prototype.set = mapCacheSet;
+    module2.exports = MapCache;
+  }
+});
+
+// node_modules/lodash/_setCacheAdd.js
+var require_setCacheAdd = __commonJS({
+  "node_modules/lodash/_setCacheAdd.js"(exports2, module2) {
+    var HASH_UNDEFINED = "__lodash_hash_undefined__";
+    function setCacheAdd(value) {
+      this.__data__.set(value, HASH_UNDEFINED);
+      return this;
+    }
+    module2.exports = setCacheAdd;
+  }
+});
+
+// node_modules/lodash/_setCacheHas.js
+var require_setCacheHas = __commonJS({
+  "node_modules/lodash/_setCacheHas.js"(exports2, module2) {
+    function setCacheHas(value) {
+      return this.__data__.has(value);
+    }
+    module2.exports = setCacheHas;
+  }
+});
+
+// node_modules/lodash/_SetCache.js
+var require_SetCache = __commonJS({
+  "node_modules/lodash/_SetCache.js"(exports2, module2) {
+    var MapCache = require_MapCache();
+    var setCacheAdd = require_setCacheAdd();
+    var setCacheHas = require_setCacheHas();
+    function SetCache(values) {
+      var index = -1, length = values == null ? 0 : values.length;
+      this.__data__ = new MapCache();
+      while (++index < length) {
+        this.add(values[index]);
       }
-      /**
-       * ONLY AVAILABLE IN NODE.JS RUNTIME.
-       *
-       * Quick query for a JSON or CSV formatted blob.
-       *
-       * Example usage (Node.js):
-       *
-       * ```ts snippet:ClientsQuery
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blockBlobClient = containerClient.getBlockBlobClient(blobName);
-       *
-       * // Query and convert a blob to a string
-       * const queryBlockBlobResponse = await blockBlobClient.query("select from BlobStorage");
-       * if (queryBlockBlobResponse.readableStreamBody) {
-       *   const downloadedBuffer = await streamToBuffer(queryBlockBlobResponse.readableStreamBody);
-       *   const downloaded = downloadedBuffer.toString();
-       *   console.log(`Query blob content: ${downloaded}`);
-       * }
-       *
-       * async function streamToBuffer(readableStream: NodeJS.ReadableStream): Promise {
-       *   return new Promise((resolve, reject) => {
-       *     const chunks: Buffer[] = [];
-       *     readableStream.on("data", (data) => {
-       *       chunks.push(data instanceof Buffer ? data : Buffer.from(data));
-       *     });
-       *     readableStream.on("end", () => {
-       *       resolve(Buffer.concat(chunks));
-       *     });
-       *     readableStream.on("error", reject);
-       *   });
-       * }
-       * ```
-       *
-       * @param query -
-       * @param options -
-       */
-      async query(query, options = {}) {
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        if (!core_util_1.isNodeLike) {
-          throw new Error("This operation currently is only supported in Node.js.");
+    }
+    SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
+    SetCache.prototype.has = setCacheHas;
+    module2.exports = SetCache;
+  }
+});
+
+// node_modules/lodash/_baseFindIndex.js
+var require_baseFindIndex = __commonJS({
+  "node_modules/lodash/_baseFindIndex.js"(exports2, module2) {
+    function baseFindIndex(array, predicate, fromIndex, fromRight) {
+      var length = array.length, index = fromIndex + (fromRight ? 1 : -1);
+      while (fromRight ? index-- : ++index < length) {
+        if (predicate(array[index], index, array)) {
+          return index;
         }
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-query", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this._blobContext.query({
-            abortSignal: options.abortSignal,
-            queryRequest: {
-              queryType: "SQL",
-              expression: query,
-              inputSerialization: (0, utils_common_js_1.toQuerySerialization)(options.inputTextConfiguration),
-              outputSerialization: (0, utils_common_js_1.toQuerySerialization)(options.outputTextConfiguration)
-            },
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          return new BlobQueryResponse_js_1.BlobQueryResponse(response, {
-            abortSignal: options.abortSignal,
-            onProgress: options.onProgress,
-            onError: options.onError
-          });
-        });
       }
-      /**
-       * Creates a new block blob, or updates the content of an existing block blob.
-       * Updating an existing block blob overwrites any existing metadata on the blob.
-       * Partial updates are not supported; the content of the existing blob is
-       * overwritten with the new content. To perform a partial update of a block blob's,
-       * use {@link stageBlock} and {@link commitBlockList}.
-       *
-       * This is a non-parallel uploading method, please use {@link uploadFile},
-       * {@link uploadStream} or {@link uploadBrowserData} for better performance
-       * with concurrency uploading.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
-       *
-       * @param body - Blob, string, ArrayBuffer, ArrayBufferView or a function
-       *                               which returns a new Readable stream whose offset is from data source beginning.
-       * @param contentLength - Length of body in bytes. Use Buffer.byteLength() to calculate body length for a
-       *                               string including non non-Base64/Hex-encoded characters.
-       * @param options - Options to the Block Blob Upload operation.
-       * @returns Response data for the Block Blob Upload operation.
-       *
-       * Example usage:
-       *
-       * ```ts snippet:ClientsUpload
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blockBlobClient = containerClient.getBlockBlobClient(blobName);
-       *
-       * const content = "Hello world!";
-       * const uploadBlobResponse = await blockBlobClient.upload(content, content.length);
-       * ```
-       */
-      async upload(body, contentLength, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-upload", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.upload(contentLength, body, {
-            abortSignal: options.abortSignal,
-            blobHttpHeaders: options.blobHTTPHeaders,
-            leaseAccessConditions: options.conditions,
-            metadata: options.metadata,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            requestOptions: {
-              onUploadProgress: options.onProgress
-            },
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
-            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
-            legalHold: options.legalHold,
-            tier: (0, models_js_1.toAccessTier)(options.tier),
-            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      return -1;
+    }
+    module2.exports = baseFindIndex;
+  }
+});
+
+// node_modules/lodash/_baseIsNaN.js
+var require_baseIsNaN = __commonJS({
+  "node_modules/lodash/_baseIsNaN.js"(exports2, module2) {
+    function baseIsNaN(value) {
+      return value !== value;
+    }
+    module2.exports = baseIsNaN;
+  }
+});
+
+// node_modules/lodash/_strictIndexOf.js
+var require_strictIndexOf = __commonJS({
+  "node_modules/lodash/_strictIndexOf.js"(exports2, module2) {
+    function strictIndexOf(array, value, fromIndex) {
+      var index = fromIndex - 1, length = array.length;
+      while (++index < length) {
+        if (array[index] === value) {
+          return index;
+        }
       }
-      /**
-       * Creates a new Block Blob where the contents of the blob are read from a given URL.
-       * This API is supported beginning with the 2020-04-08 version. Partial updates
-       * are not supported with Put Blob from URL; the content of an existing blob is overwritten with
-       * the content of the new blob.  To perform partial updates to a block blob’s contents using a
-       * source URL, use {@link stageBlockFromURL} and {@link commitBlockList}.
-       *
-       * @param sourceURL - Specifies the URL of the blob. The value
-       *                           may be a URL of up to 2 KB in length that specifies a blob.
-       *                           The value should be URL-encoded as it would appear
-       *                           in a request URI. The source blob must either be public
-       *                           or must be authenticated via a shared access signature.
-       *                           If the source blob is public, no authentication is required
-       *                           to perform the operation. Here are some examples of source object URLs:
-       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob
-       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=
-       * @param options - Optional parameters.
-       */
-      async syncUploadFromURL(sourceURL, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-syncUploadFromURL", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.putBlobFromUrl(0, sourceURL, {
-            ...options,
-            blobHttpHeaders: options.blobHTTPHeaders,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            sourceModifiedAccessConditions: {
-              sourceIfMatch: options.sourceConditions?.ifMatch,
-              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
-              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
-              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince,
-              sourceIfTags: options.sourceConditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
-            tier: (0, models_js_1.toAccessTier)(options.tier),
-            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
-            copySourceTags: options.copySourceTags,
-            fileRequestIntent: options.sourceShareTokenIntent,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      return -1;
+    }
+    module2.exports = strictIndexOf;
+  }
+});
+
+// node_modules/lodash/_baseIndexOf.js
+var require_baseIndexOf = __commonJS({
+  "node_modules/lodash/_baseIndexOf.js"(exports2, module2) {
+    var baseFindIndex = require_baseFindIndex();
+    var baseIsNaN = require_baseIsNaN();
+    var strictIndexOf = require_strictIndexOf();
+    function baseIndexOf(array, value, fromIndex) {
+      return value === value ? strictIndexOf(array, value, fromIndex) : baseFindIndex(array, baseIsNaN, fromIndex);
+    }
+    module2.exports = baseIndexOf;
+  }
+});
+
+// node_modules/lodash/_arrayIncludes.js
+var require_arrayIncludes = __commonJS({
+  "node_modules/lodash/_arrayIncludes.js"(exports2, module2) {
+    var baseIndexOf = require_baseIndexOf();
+    function arrayIncludes(array, value) {
+      var length = array == null ? 0 : array.length;
+      return !!length && baseIndexOf(array, value, 0) > -1;
+    }
+    module2.exports = arrayIncludes;
+  }
+});
+
+// node_modules/lodash/_arrayIncludesWith.js
+var require_arrayIncludesWith = __commonJS({
+  "node_modules/lodash/_arrayIncludesWith.js"(exports2, module2) {
+    function arrayIncludesWith(array, value, comparator) {
+      var index = -1, length = array == null ? 0 : array.length;
+      while (++index < length) {
+        if (comparator(value, array[index])) {
+          return true;
+        }
       }
-      /**
-       * Uploads the specified block to the block blob's "staging area" to be later
-       * committed by a call to commitBlockList.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-block
-       *
-       * @param blockId - A 64-byte value that is base64-encoded
-       * @param body - Data to upload to the staging area.
-       * @param contentLength - Number of bytes to upload.
-       * @param options - Options to the Block Blob Stage Block operation.
-       * @returns Response data for the Block Blob Stage Block operation.
-       */
-      async stageBlock(blockId, body, contentLength, options = {}) {
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-stageBlock", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.stageBlock(blockId, contentLength, body, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            requestOptions: {
-              onUploadProgress: options.onProgress
-            },
-            transactionalContentMD5: options.transactionalContentMD5,
-            transactionalContentCrc64: options.transactionalContentCrc64,
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      return false;
+    }
+    module2.exports = arrayIncludesWith;
+  }
+});
+
+// node_modules/lodash/_arrayMap.js
+var require_arrayMap = __commonJS({
+  "node_modules/lodash/_arrayMap.js"(exports2, module2) {
+    function arrayMap(array, iteratee) {
+      var index = -1, length = array == null ? 0 : array.length, result = Array(length);
+      while (++index < length) {
+        result[index] = iteratee(array[index], index, array);
       }
-      /**
-       * The Stage Block From URL operation creates a new block to be committed as part
-       * of a blob where the contents are read from a URL.
-       * This API is available starting in version 2018-03-28.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-block-from-url
-       *
-       * @param blockId - A 64-byte value that is base64-encoded
-       * @param sourceURL - Specifies the URL of the blob. The value
-       *                           may be a URL of up to 2 KB in length that specifies a blob.
-       *                           The value should be URL-encoded as it would appear
-       *                           in a request URI. The source blob must either be public
-       *                           or must be authenticated via a shared access signature.
-       *                           If the source blob is public, no authentication is required
-       *                           to perform the operation. Here are some examples of source object URLs:
-       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob
-       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=
-       * @param offset - From which position of the blob to download, greater than or equal to 0
-       * @param count - How much data to be downloaded, greater than 0. Will download to the end when undefined
-       * @param options - Options to the Block Blob Stage Block From URL operation.
-       * @returns Response data for the Block Blob Stage Block From URL operation.
-       */
-      async stageBlockFromURL(blockId, sourceURL, offset = 0, count, options = {}) {
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-stageBlockFromURL", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.stageBlockFromURL(blockId, 0, sourceURL, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            sourceContentMD5: options.sourceContentMD5,
-            sourceContentCrc64: options.sourceContentCrc64,
-            sourceRange: offset === 0 && !count ? void 0 : (0, Range_js_1.rangeToString)({ offset, count }),
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
-            fileRequestIntent: options.sourceShareTokenIntent,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      return result;
+    }
+    module2.exports = arrayMap;
+  }
+});
+
+// node_modules/lodash/_cacheHas.js
+var require_cacheHas = __commonJS({
+  "node_modules/lodash/_cacheHas.js"(exports2, module2) {
+    function cacheHas(cache, key) {
+      return cache.has(key);
+    }
+    module2.exports = cacheHas;
+  }
+});
+
+// node_modules/lodash/_baseDifference.js
+var require_baseDifference = __commonJS({
+  "node_modules/lodash/_baseDifference.js"(exports2, module2) {
+    var SetCache = require_SetCache();
+    var arrayIncludes = require_arrayIncludes();
+    var arrayIncludesWith = require_arrayIncludesWith();
+    var arrayMap = require_arrayMap();
+    var baseUnary = require_baseUnary();
+    var cacheHas = require_cacheHas();
+    var LARGE_ARRAY_SIZE = 200;
+    function baseDifference(array, values, iteratee, comparator) {
+      var index = -1, includes = arrayIncludes, isCommon = true, length = array.length, result = [], valuesLength = values.length;
+      if (!length) {
+        return result;
       }
-      /**
-       * Writes a blob by specifying the list of block IDs that make up the blob.
-       * In order to be written as part of a blob, a block must have been successfully written
-       * to the server in a prior {@link stageBlock} operation. You can call {@link commitBlockList} to
-       * update a blob by uploading only those blocks that have changed, then committing the new and existing
-       * blocks together. Any blocks not specified in the block list and permanently deleted.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-block-list
-       *
-       * @param blocks -  Array of 64-byte value that is base64-encoded
-       * @param options - Options to the Block Blob Commit Block List operation.
-       * @returns Response data for the Block Blob Commit Block List operation.
-       */
-      async commitBlockList(blocks, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-commitBlockList", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.commitBlockList({ latest: blocks }, {
-            abortSignal: options.abortSignal,
-            blobHttpHeaders: options.blobHTTPHeaders,
-            leaseAccessConditions: options.conditions,
-            metadata: options.metadata,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
-            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
-            legalHold: options.legalHold,
-            tier: (0, models_js_1.toAccessTier)(options.tier),
-            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      if (iteratee) {
+        values = arrayMap(values, baseUnary(iteratee));
       }
-      /**
-       * Returns the list of blocks that have been uploaded as part of a block blob
-       * using the specified block list filter.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-block-list
-       *
-       * @param listType - Specifies whether to return the list of committed blocks,
-       *                                        the list of uncommitted blocks, or both lists together.
-       * @param options - Options to the Block Blob Get Block List operation.
-       * @returns Response data for the Block Blob Get Block List operation.
-       */
-      async getBlockList(listType, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-getBlockList", options, async (updatedOptions) => {
-          const res = (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.getBlockList(listType, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          if (!res.committedBlocks) {
-            res.committedBlocks = [];
-          }
-          if (!res.uncommittedBlocks) {
-            res.uncommittedBlocks = [];
-          }
-          return res;
-        });
+      if (comparator) {
+        includes = arrayIncludesWith;
+        isCommon = false;
+      } else if (values.length >= LARGE_ARRAY_SIZE) {
+        includes = cacheHas;
+        isCommon = false;
+        values = new SetCache(values);
       }
-      // High level functions
-      /**
-       * Uploads a Buffer(Node.js)/Blob(browsers)/ArrayBuffer/ArrayBufferView object to a BlockBlob.
-       *
-       * When data length is no more than the specifiled {@link BlockBlobParallelUploadOptions.maxSingleShotSize} (default is
-       * {@link BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}), this method will use 1 {@link upload} call to finish the upload.
-       * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call {@link commitBlockList}
-       * to commit the block list.
-       *
-       * A common {@link BlockBlobParallelUploadOptions.blobHTTPHeaders} option to set is
-       * `blobContentType`, enabling the browser to provide
-       * functionality based on file type.
-       *
-       * @param data - Buffer(Node.js), Blob, ArrayBuffer or ArrayBufferView
-       * @param options -
-       */
-      async uploadData(data, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadData", options, async (updatedOptions) => {
-          if (core_util_1.isNodeLike) {
-            let buffer;
-            if (data instanceof Buffer) {
-              buffer = data;
-            } else if (data instanceof ArrayBuffer) {
-              buffer = Buffer.from(data);
-            } else {
-              data = data;
-              buffer = Buffer.from(data.buffer, data.byteOffset, data.byteLength);
+      outer:
+        while (++index < length) {
+          var value = array[index], computed = iteratee == null ? value : iteratee(value);
+          value = comparator || value !== 0 ? value : 0;
+          if (isCommon && computed === computed) {
+            var valuesIndex = valuesLength;
+            while (valuesIndex--) {
+              if (values[valuesIndex] === computed) {
+                continue outer;
+              }
             }
-            return this.uploadSeekableInternal((offset, size) => buffer.slice(offset, offset + size), buffer.byteLength, updatedOptions);
-          } else {
-            const browserBlob = new Blob([data]);
-            return this.uploadSeekableInternal((offset, size) => browserBlob.slice(offset, offset + size), browserBlob.size, updatedOptions);
+            result.push(value);
+          } else if (!includes(values, computed, comparator)) {
+            result.push(value);
           }
-        });
+        }
+      return result;
+    }
+    module2.exports = baseDifference;
+  }
+});
+
+// node_modules/lodash/isArrayLikeObject.js
+var require_isArrayLikeObject = __commonJS({
+  "node_modules/lodash/isArrayLikeObject.js"(exports2, module2) {
+    var isArrayLike = require_isArrayLike();
+    var isObjectLike = require_isObjectLike();
+    function isArrayLikeObject(value) {
+      return isObjectLike(value) && isArrayLike(value);
+    }
+    module2.exports = isArrayLikeObject;
+  }
+});
+
+// node_modules/lodash/difference.js
+var require_difference = __commonJS({
+  "node_modules/lodash/difference.js"(exports2, module2) {
+    var baseDifference = require_baseDifference();
+    var baseFlatten = require_baseFlatten();
+    var baseRest = require_baseRest();
+    var isArrayLikeObject = require_isArrayLikeObject();
+    var difference = baseRest(function(array, values) {
+      return isArrayLikeObject(array) ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true)) : [];
+    });
+    module2.exports = difference;
+  }
+});
+
+// node_modules/lodash/_Set.js
+var require_Set = __commonJS({
+  "node_modules/lodash/_Set.js"(exports2, module2) {
+    var getNative = require_getNative();
+    var root = require_root();
+    var Set2 = getNative(root, "Set");
+    module2.exports = Set2;
+  }
+});
+
+// node_modules/lodash/noop.js
+var require_noop = __commonJS({
+  "node_modules/lodash/noop.js"(exports2, module2) {
+    function noop3() {
+    }
+    module2.exports = noop3;
+  }
+});
+
+// node_modules/lodash/_setToArray.js
+var require_setToArray = __commonJS({
+  "node_modules/lodash/_setToArray.js"(exports2, module2) {
+    function setToArray(set2) {
+      var index = -1, result = Array(set2.size);
+      set2.forEach(function(value) {
+        result[++index] = value;
+      });
+      return result;
+    }
+    module2.exports = setToArray;
+  }
+});
+
+// node_modules/lodash/_createSet.js
+var require_createSet = __commonJS({
+  "node_modules/lodash/_createSet.js"(exports2, module2) {
+    var Set2 = require_Set();
+    var noop3 = require_noop();
+    var setToArray = require_setToArray();
+    var INFINITY = 1 / 0;
+    var createSet = !(Set2 && 1 / setToArray(new Set2([, -0]))[1] == INFINITY) ? noop3 : function(values) {
+      return new Set2(values);
+    };
+    module2.exports = createSet;
+  }
+});
+
+// node_modules/lodash/_baseUniq.js
+var require_baseUniq = __commonJS({
+  "node_modules/lodash/_baseUniq.js"(exports2, module2) {
+    var SetCache = require_SetCache();
+    var arrayIncludes = require_arrayIncludes();
+    var arrayIncludesWith = require_arrayIncludesWith();
+    var cacheHas = require_cacheHas();
+    var createSet = require_createSet();
+    var setToArray = require_setToArray();
+    var LARGE_ARRAY_SIZE = 200;
+    function baseUniq(array, iteratee, comparator) {
+      var index = -1, includes = arrayIncludes, length = array.length, isCommon = true, result = [], seen = result;
+      if (comparator) {
+        isCommon = false;
+        includes = arrayIncludesWith;
+      } else if (length >= LARGE_ARRAY_SIZE) {
+        var set2 = iteratee ? null : createSet(array);
+        if (set2) {
+          return setToArray(set2);
+        }
+        isCommon = false;
+        includes = cacheHas;
+        seen = new SetCache();
+      } else {
+        seen = iteratee ? [] : result;
       }
-      /**
-       * ONLY AVAILABLE IN BROWSERS.
-       *
-       * Uploads a browser Blob/File/ArrayBuffer/ArrayBufferView object to block blob.
-       *
-       * When buffer length lesser than or equal to 256MB, this method will use 1 upload call to finish the upload.
-       * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call
-       * {@link commitBlockList} to commit the block list.
-       *
-       * A common {@link BlockBlobParallelUploadOptions.blobHTTPHeaders} option to set is
-       * `blobContentType`, enabling the browser to provide
-       * functionality based on file type.
-       *
-       * @deprecated Use {@link uploadData} instead.
-       *
-       * @param browserData - Blob, File, ArrayBuffer or ArrayBufferView
-       * @param options - Options to upload browser data.
-       * @returns Response data for the Blob Upload operation.
-       */
-      async uploadBrowserData(browserData, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadBrowserData", options, async (updatedOptions) => {
-          const browserBlob = new Blob([browserData]);
-          return this.uploadSeekableInternal((offset, size) => browserBlob.slice(offset, offset + size), browserBlob.size, updatedOptions);
-        });
+      outer:
+        while (++index < length) {
+          var value = array[index], computed = iteratee ? iteratee(value) : value;
+          value = comparator || value !== 0 ? value : 0;
+          if (isCommon && computed === computed) {
+            var seenIndex = seen.length;
+            while (seenIndex--) {
+              if (seen[seenIndex] === computed) {
+                continue outer;
+              }
+            }
+            if (iteratee) {
+              seen.push(computed);
+            }
+            result.push(value);
+          } else if (!includes(seen, computed, comparator)) {
+            if (seen !== result) {
+              seen.push(computed);
+            }
+            result.push(value);
+          }
+        }
+      return result;
+    }
+    module2.exports = baseUniq;
+  }
+});
+
+// node_modules/lodash/union.js
+var require_union = __commonJS({
+  "node_modules/lodash/union.js"(exports2, module2) {
+    var baseFlatten = require_baseFlatten();
+    var baseRest = require_baseRest();
+    var baseUniq = require_baseUniq();
+    var isArrayLikeObject = require_isArrayLikeObject();
+    var union = baseRest(function(arrays) {
+      return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));
+    });
+    module2.exports = union;
+  }
+});
+
+// node_modules/lodash/_overArg.js
+var require_overArg = __commonJS({
+  "node_modules/lodash/_overArg.js"(exports2, module2) {
+    function overArg(func, transform) {
+      return function(arg) {
+        return func(transform(arg));
+      };
+    }
+    module2.exports = overArg;
+  }
+});
+
+// node_modules/lodash/_getPrototype.js
+var require_getPrototype = __commonJS({
+  "node_modules/lodash/_getPrototype.js"(exports2, module2) {
+    var overArg = require_overArg();
+    var getPrototype = overArg(Object.getPrototypeOf, Object);
+    module2.exports = getPrototype;
+  }
+});
+
+// node_modules/lodash/isPlainObject.js
+var require_isPlainObject = __commonJS({
+  "node_modules/lodash/isPlainObject.js"(exports2, module2) {
+    var baseGetTag = require_baseGetTag();
+    var getPrototype = require_getPrototype();
+    var isObjectLike = require_isObjectLike();
+    var objectTag = "[object Object]";
+    var funcProto = Function.prototype;
+    var objectProto = Object.prototype;
+    var funcToString = funcProto.toString;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    var objectCtorString = funcToString.call(Object);
+    function isPlainObject3(value) {
+      if (!isObjectLike(value) || baseGetTag(value) != objectTag) {
+        return false;
       }
-      /**
-       *
-       * Uploads data to block blob. Requires a bodyFactory as the data source,
-       * which need to return a {@link HttpRequestBody} object with the offset and size provided.
-       *
-       * When data length is no more than the specified {@link BlockBlobParallelUploadOptions.maxSingleShotSize} (default is
-       * {@link BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}), this method will use 1 {@link upload} call to finish the upload.
-       * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call {@link commitBlockList}
-       * to commit the block list.
-       *
-       * @param bodyFactory -
-       * @param size - size of the data to upload.
-       * @param options - Options to Upload to Block Blob operation.
-       * @returns Response data for the Blob Upload operation.
-       */
-      async uploadSeekableInternal(bodyFactory, size, options = {}) {
-        let blockSize = options.blockSize ?? 0;
-        if (blockSize < 0 || blockSize > constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES) {
-          throw new RangeError(`blockSize option must be >= 0 and <= ${constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES}`);
-        }
-        const maxSingleShotSize = options.maxSingleShotSize ?? constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES;
-        if (maxSingleShotSize < 0 || maxSingleShotSize > constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES) {
-          throw new RangeError(`maxSingleShotSize option must be >= 0 and <= ${constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}`);
+      var proto = getPrototype(value);
+      if (proto === null) {
+        return true;
+      }
+      var Ctor = hasOwnProperty.call(proto, "constructor") && proto.constructor;
+      return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString;
+    }
+    module2.exports = isPlainObject3;
+  }
+});
+
+// node_modules/@isaacs/balanced-match/dist/commonjs/index.js
+var require_commonjs18 = __commonJS({
+  "node_modules/@isaacs/balanced-match/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.range = exports2.balanced = void 0;
+    var balanced = (a, b, str2) => {
+      const ma = a instanceof RegExp ? maybeMatch(a, str2) : a;
+      const mb = b instanceof RegExp ? maybeMatch(b, str2) : b;
+      const r = ma !== null && mb != null && (0, exports2.range)(ma, mb, str2);
+      return r && {
+        start: r[0],
+        end: r[1],
+        pre: str2.slice(0, r[0]),
+        body: str2.slice(r[0] + ma.length, r[1]),
+        post: str2.slice(r[1] + mb.length)
+      };
+    };
+    exports2.balanced = balanced;
+    var maybeMatch = (reg, str2) => {
+      const m = str2.match(reg);
+      return m ? m[0] : null;
+    };
+    var range = (a, b, str2) => {
+      let begs, beg, left, right = void 0, result;
+      let ai = str2.indexOf(a);
+      let bi = str2.indexOf(b, ai + 1);
+      let i = ai;
+      if (ai >= 0 && bi > 0) {
+        if (a === b) {
+          return [ai, bi];
         }
-        if (blockSize === 0) {
-          if (size > constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES * constants_js_1.BLOCK_BLOB_MAX_BLOCKS) {
-            throw new RangeError(`${size} is too larger to upload to a block blob.`);
-          }
-          if (size > maxSingleShotSize) {
-            blockSize = Math.ceil(size / constants_js_1.BLOCK_BLOB_MAX_BLOCKS);
-            if (blockSize < constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES) {
-              blockSize = constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES;
+        begs = [];
+        left = str2.length;
+        while (i >= 0 && !result) {
+          if (i === ai) {
+            begs.push(i);
+            ai = str2.indexOf(a, i + 1);
+          } else if (begs.length === 1) {
+            const r = begs.pop();
+            if (r !== void 0)
+              result = [r, bi];
+          } else {
+            beg = begs.pop();
+            if (beg !== void 0 && beg < left) {
+              left = beg;
+              right = bi;
             }
+            bi = str2.indexOf(b, i + 1);
           }
+          i = ai < bi && ai >= 0 ? ai : bi;
         }
-        if (!options.blobHTTPHeaders) {
-          options.blobHTTPHeaders = {};
-        }
-        if (!options.conditions) {
-          options.conditions = {};
+        if (begs.length && right !== void 0) {
+          result = [left, right];
         }
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadSeekableInternal", options, async (updatedOptions) => {
-          if (size <= maxSingleShotSize) {
-            return (0, utils_common_js_1.assertResponse)(await this.upload(bodyFactory(0, size), size, updatedOptions));
-          }
-          const numBlocks = Math.floor((size - 1) / blockSize) + 1;
-          if (numBlocks > constants_js_1.BLOCK_BLOB_MAX_BLOCKS) {
-            throw new RangeError(`The buffer's size is too big or the BlockSize is too small;the number of blocks must be <= ${constants_js_1.BLOCK_BLOB_MAX_BLOCKS}`);
-          }
-          const blockList = [];
-          const blockIDPrefix = (0, core_util_2.randomUUID)();
-          let transferProgress = 0;
-          const batch = new Batch_js_1.Batch(options.concurrency);
-          for (let i = 0; i < numBlocks; i++) {
-            batch.addOperation(async () => {
-              const blockID = (0, utils_common_js_1.generateBlockID)(blockIDPrefix, i);
-              const start = blockSize * i;
-              const end = i === numBlocks - 1 ? size : start + blockSize;
-              const contentLength = end - start;
-              blockList.push(blockID);
-              await this.stageBlock(blockID, bodyFactory(start, contentLength), contentLength, {
-                abortSignal: options.abortSignal,
-                conditions: options.conditions,
-                encryptionScope: options.encryptionScope,
-                tracingOptions: updatedOptions.tracingOptions
-              });
-              transferProgress += contentLength;
-              if (options.onProgress) {
-                options.onProgress({
-                  loadedBytes: transferProgress
-                });
-              }
-            });
-          }
-          await batch.do();
-          return this.commitBlockList(blockList, updatedOptions);
-        });
       }
-      /**
-       * ONLY AVAILABLE IN NODE.JS RUNTIME.
-       *
-       * Uploads a local file in blocks to a block blob.
-       *
-       * When file size lesser than or equal to 256MB, this method will use 1 upload call to finish the upload.
-       * Otherwise, this method will call stageBlock to upload blocks, and finally call commitBlockList
-       * to commit the block list.
-       *
-       * @param filePath - Full path of local file
-       * @param options - Options to Upload to Block Blob operation.
-       * @returns Response data for the Blob Upload operation.
-       */
-      async uploadFile(filePath, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadFile", options, async (updatedOptions) => {
-          const size = (await (0, utils_js_1.fsStat)(filePath)).size;
-          return this.uploadSeekableInternal((offset, count) => {
-            return () => (0, utils_js_1.fsCreateReadStream)(filePath, {
-              autoClose: true,
-              end: count ? offset + count - 1 : Infinity,
-              start: offset
-            });
-          }, size, {
-            ...options,
-            tracingOptions: updatedOptions.tracingOptions
-          });
-        });
+      return result;
+    };
+    exports2.range = range;
+  }
+});
+
+// node_modules/@isaacs/brace-expansion/dist/commonjs/index.js
+var require_commonjs19 = __commonJS({
+  "node_modules/@isaacs/brace-expansion/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.EXPANSION_MAX = void 0;
+    exports2.expand = expand2;
+    var balanced_match_1 = require_commonjs18();
+    var escSlash = "\0SLASH" + Math.random() + "\0";
+    var escOpen = "\0OPEN" + Math.random() + "\0";
+    var escClose = "\0CLOSE" + Math.random() + "\0";
+    var escComma = "\0COMMA" + Math.random() + "\0";
+    var escPeriod = "\0PERIOD" + Math.random() + "\0";
+    var escSlashPattern = new RegExp(escSlash, "g");
+    var escOpenPattern = new RegExp(escOpen, "g");
+    var escClosePattern = new RegExp(escClose, "g");
+    var escCommaPattern = new RegExp(escComma, "g");
+    var escPeriodPattern = new RegExp(escPeriod, "g");
+    var slashPattern = /\\\\/g;
+    var openPattern = /\\{/g;
+    var closePattern = /\\}/g;
+    var commaPattern = /\\,/g;
+    var periodPattern = /\\./g;
+    exports2.EXPANSION_MAX = 1e5;
+    function numeric(str2) {
+      return !isNaN(str2) ? parseInt(str2, 10) : str2.charCodeAt(0);
+    }
+    function escapeBraces(str2) {
+      return str2.replace(slashPattern, escSlash).replace(openPattern, escOpen).replace(closePattern, escClose).replace(commaPattern, escComma).replace(periodPattern, escPeriod);
+    }
+    function unescapeBraces(str2) {
+      return str2.replace(escSlashPattern, "\\").replace(escOpenPattern, "{").replace(escClosePattern, "}").replace(escCommaPattern, ",").replace(escPeriodPattern, ".");
+    }
+    function parseCommaParts(str2) {
+      if (!str2) {
+        return [""];
       }
-      /**
-       * ONLY AVAILABLE IN NODE.JS RUNTIME.
-       *
-       * Uploads a Node.js Readable stream into block blob.
-       *
-       * PERFORMANCE IMPROVEMENT TIPS:
-       * * Input stream highWaterMark is better to set a same value with bufferSize
-       *    parameter, which will avoid Buffer.concat() operations.
-       *
-       * @param stream - Node.js Readable stream
-       * @param bufferSize - Size of every buffer allocated, also the block size in the uploaded block blob. Default value is 8MB
-       * @param maxConcurrency -  Max concurrency indicates the max number of buffers that can be allocated,
-       *                                 positive correlation with max uploading concurrency. Default value is 5
-       * @param options - Options to Upload Stream to Block Blob operation.
-       * @returns Response data for the Blob Upload operation.
-       */
-      async uploadStream(stream, bufferSize = constants_js_1.DEFAULT_BLOCK_BUFFER_SIZE_BYTES, maxConcurrency = 5, options = {}) {
-        if (!options.blobHTTPHeaders) {
-          options.blobHTTPHeaders = {};
+      const parts = [];
+      const m = (0, balanced_match_1.balanced)("{", "}", str2);
+      if (!m) {
+        return str2.split(",");
+      }
+      const { pre, body, post } = m;
+      const p = pre.split(",");
+      p[p.length - 1] += "{" + body + "}";
+      const postParts = parseCommaParts(post);
+      if (post.length) {
+        ;
+        p[p.length - 1] += postParts.shift();
+        p.push.apply(p, postParts);
+      }
+      parts.push.apply(parts, p);
+      return parts;
+    }
+    function expand2(str2, options = {}) {
+      if (!str2) {
+        return [];
+      }
+      const { max = exports2.EXPANSION_MAX } = options;
+      if (str2.slice(0, 2) === "{}") {
+        str2 = "\\{\\}" + str2.slice(2);
+      }
+      return expand_(escapeBraces(str2), max, true).map(unescapeBraces);
+    }
+    function embrace(str2) {
+      return "{" + str2 + "}";
+    }
+    function isPadded(el) {
+      return /^-?0\d/.test(el);
+    }
+    function lte(i, y) {
+      return i <= y;
+    }
+    function gte6(i, y) {
+      return i >= y;
+    }
+    function expand_(str2, max, isTop) {
+      const expansions = [];
+      const m = (0, balanced_match_1.balanced)("{", "}", str2);
+      if (!m)
+        return [str2];
+      const pre = m.pre;
+      const post = m.post.length ? expand_(m.post, max, false) : [""];
+      if (/\$$/.test(m.pre)) {
+        for (let k = 0; k < post.length && k < max; k++) {
+          const expansion = pre + "{" + m.body + "}" + post[k];
+          expansions.push(expansion);
         }
-        if (!options.conditions) {
-          options.conditions = {};
+      } else {
+        const isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
+        const isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
+        const isSequence = isNumericSequence || isAlphaSequence;
+        const isOptions = m.body.indexOf(",") >= 0;
+        if (!isSequence && !isOptions) {
+          if (m.post.match(/,(?!,).*\}/)) {
+            str2 = m.pre + "{" + m.body + escClose + m.post;
+            return expand_(str2, max, true);
+          }
+          return [str2];
         }
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadStream", options, async (updatedOptions) => {
-          let blockNum = 0;
-          const blockIDPrefix = (0, core_util_2.randomUUID)();
-          let transferProgress = 0;
-          const blockList = [];
-          const scheduler = new storage_common_1.BufferScheduler(
-            stream,
-            bufferSize,
-            maxConcurrency,
-            async (body, length) => {
-              const blockID = (0, utils_common_js_1.generateBlockID)(blockIDPrefix, blockNum);
-              blockList.push(blockID);
-              blockNum++;
-              await this.stageBlock(blockID, body, length, {
-                customerProvidedKey: options.customerProvidedKey,
-                conditions: options.conditions,
-                encryptionScope: options.encryptionScope,
-                tracingOptions: updatedOptions.tracingOptions
-              });
-              transferProgress += length;
-              if (options.onProgress) {
-                options.onProgress({ loadedBytes: transferProgress });
-              }
-            },
-            // concurrency should set a smaller value than maxConcurrency, which is helpful to
-            // reduce the possibility when a outgoing handler waits for stream data, in
-            // this situation, outgoing handlers are blocked.
-            // Outgoing queue shouldn't be empty.
-            Math.ceil(maxConcurrency / 4 * 3)
-          );
-          await scheduler.do();
-          return (0, utils_common_js_1.assertResponse)(await this.commitBlockList(blockList, {
-            ...options,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
-      }
-    };
-    exports2.BlockBlobClient = BlockBlobClient;
-    var PageBlobClient = class _PageBlobClient extends BlobClient {
-      /**
-       * pageBlobsContext provided by protocol layer.
-       */
-      pageBlobContext;
-      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
-        let pipeline;
-        let url;
-        options = options || {};
-        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
-          url = urlOrConnectionString;
-          pipeline = credentialOrPipelineOrContainerName;
-        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
-          url = urlOrConnectionString;
-          options = blobNameOrOptions;
-          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
-        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
-          url = urlOrConnectionString;
-          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
-          const containerName = credentialOrPipelineOrContainerName;
-          const blobName = blobNameOrOptions;
-          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
-          if (extractedCreds.kind === "AccountConnString") {
-            if (core_util_1.isNodeLike) {
-              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
-              url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
-              if (!options.proxyOptions) {
-                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+        let n;
+        if (isSequence) {
+          n = m.body.split(/\.\./);
+        } else {
+          n = parseCommaParts(m.body);
+          if (n.length === 1 && n[0] !== void 0) {
+            n = expand_(n[0], max, false).map(embrace);
+            if (n.length === 1) {
+              return post.map((p) => m.pre + n[0] + p);
+            }
+          }
+        }
+        let N;
+        if (isSequence && n[0] !== void 0 && n[1] !== void 0) {
+          const x = numeric(n[0]);
+          const y = numeric(n[1]);
+          const width = Math.max(n[0].length, n[1].length);
+          let incr = n.length === 3 && n[2] !== void 0 ? Math.abs(numeric(n[2])) : 1;
+          let test = lte;
+          const reverse = y < x;
+          if (reverse) {
+            incr *= -1;
+            test = gte6;
+          }
+          const pad = n.some(isPadded);
+          N = [];
+          for (let i = x; test(i, y); i += incr) {
+            let c;
+            if (isAlphaSequence) {
+              c = String.fromCharCode(i);
+              if (c === "\\") {
+                c = "";
               }
-              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
             } else {
-              throw new Error("Account connection string is only supported in Node.js environment");
+              c = String(i);
+              if (pad) {
+                const need = width - c.length;
+                if (need > 0) {
+                  const z = new Array(need + 1).join("0");
+                  if (i < 0) {
+                    c = "-" + z + c.slice(1);
+                  } else {
+                    c = z + c;
+                  }
+                }
+              }
             }
-          } else if (extractedCreds.kind === "SASConnString") {
-            url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
-            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-          } else {
-            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
+            N.push(c);
           }
         } else {
-          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
+          N = [];
+          for (let j = 0; j < n.length; j++) {
+            N.push.apply(N, expand_(n[j], max, false));
+          }
+        }
+        for (let j = 0; j < N.length; j++) {
+          for (let k = 0; k < post.length && expansions.length < max; k++) {
+            const expansion = pre + N[j] + post[k];
+            if (!isTop || isSequence || expansion) {
+              expansions.push(expansion);
+            }
+          }
         }
-        super(url, pipeline);
-        this.pageBlobContext = this.storageClientContext.pageBlob;
       }
-      /**
-       * Creates a new PageBlobClient object identical to the source but with the
-       * specified snapshot timestamp.
-       * Provide "" will remove the snapshot and return a Client to the base blob.
-       *
-       * @param snapshot - The snapshot timestamp.
-       * @returns A new PageBlobClient object identical to the source but with the specified snapshot timestamp.
-       */
-      withSnapshot(snapshot) {
-        return new _PageBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
+      return expansions;
+    }
+  }
+});
+
+// node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js
+var require_assert_valid_pattern = __commonJS({
+  "node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.assertValidPattern = void 0;
+    var MAX_PATTERN_LENGTH = 1024 * 64;
+    var assertValidPattern = (pattern) => {
+      if (typeof pattern !== "string") {
+        throw new TypeError("invalid pattern");
       }
-      /**
-       * Creates a page blob of the specified length. Call uploadPages to upload data
-       * data to a page blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
-       *
-       * @param size - size of the page blob.
-       * @param options - Options to the Page Blob Create operation.
-       * @returns Response data for the Page Blob Create operation.
-       */
-      async create(size, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-create", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.create(0, size, {
-            abortSignal: options.abortSignal,
-            blobHttpHeaders: options.blobHTTPHeaders,
-            blobSequenceNumber: options.blobSequenceNumber,
-            leaseAccessConditions: options.conditions,
-            metadata: options.metadata,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
-            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
-            legalHold: options.legalHold,
-            tier: (0, models_js_1.toAccessTier)(options.tier),
-            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      if (pattern.length > MAX_PATTERN_LENGTH) {
+        throw new TypeError("pattern is too long");
+      }
+    };
+    exports2.assertValidPattern = assertValidPattern;
+  }
+});
+
+// node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js
+var require_brace_expressions = __commonJS({
+  "node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.parseClass = void 0;
+    var posixClasses = {
+      "[:alnum:]": ["\\p{L}\\p{Nl}\\p{Nd}", true],
+      "[:alpha:]": ["\\p{L}\\p{Nl}", true],
+      "[:ascii:]": ["\\x00-\\x7f", false],
+      "[:blank:]": ["\\p{Zs}\\t", true],
+      "[:cntrl:]": ["\\p{Cc}", true],
+      "[:digit:]": ["\\p{Nd}", true],
+      "[:graph:]": ["\\p{Z}\\p{C}", true, true],
+      "[:lower:]": ["\\p{Ll}", true],
+      "[:print:]": ["\\p{C}", true],
+      "[:punct:]": ["\\p{P}", true],
+      "[:space:]": ["\\p{Z}\\t\\r\\n\\v\\f", true],
+      "[:upper:]": ["\\p{Lu}", true],
+      "[:word:]": ["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}", true],
+      "[:xdigit:]": ["A-Fa-f0-9", false]
+    };
+    var braceEscape = (s) => s.replace(/[[\]\\-]/g, "\\$&");
+    var regexpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
+    var rangesToString = (ranges) => ranges.join("");
+    var parseClass = (glob2, position) => {
+      const pos = position;
+      if (glob2.charAt(pos) !== "[") {
+        throw new Error("not in a brace expression");
       }
-      /**
-       * Creates a page blob of the specified length. Call uploadPages to upload data
-       * data to a page blob. If the blob with the same name already exists, the content
-       * of the existing blob will remain unchanged.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
-       *
-       * @param size - size of the page blob.
-       * @param options -
-       */
-      async createIfNotExists(size, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-createIfNotExists", options, async (updatedOptions) => {
-          try {
-            const conditions = { ifNoneMatch: constants_js_1.ETagAny };
-            const res = (0, utils_common_js_1.assertResponse)(await this.create(size, {
-              ...options,
-              conditions,
-              tracingOptions: updatedOptions.tracingOptions
-            }));
-            return {
-              succeeded: true,
-              ...res,
-              _response: res._response
-              // _response is made non-enumerable
-            };
-          } catch (e) {
-            if (e.details?.errorCode === "BlobAlreadyExists") {
-              return {
-                succeeded: false,
-                ...e.response?.parsedHeaders,
-                _response: e.response
-              };
+      const ranges = [];
+      const negs = [];
+      let i = pos + 1;
+      let sawStart = false;
+      let uflag = false;
+      let escaping = false;
+      let negate = false;
+      let endPos = pos;
+      let rangeStart = "";
+      WHILE: while (i < glob2.length) {
+        const c = glob2.charAt(i);
+        if ((c === "!" || c === "^") && i === pos + 1) {
+          negate = true;
+          i++;
+          continue;
+        }
+        if (c === "]" && sawStart && !escaping) {
+          endPos = i + 1;
+          break;
+        }
+        sawStart = true;
+        if (c === "\\") {
+          if (!escaping) {
+            escaping = true;
+            i++;
+            continue;
+          }
+        }
+        if (c === "[" && !escaping) {
+          for (const [cls, [unip, u, neg]] of Object.entries(posixClasses)) {
+            if (glob2.startsWith(cls, i)) {
+              if (rangeStart) {
+                return ["$.", false, glob2.length - pos, true];
+              }
+              i += cls.length;
+              if (neg)
+                negs.push(unip);
+              else
+                ranges.push(unip);
+              uflag = uflag || u;
+              continue WHILE;
             }
-            throw e;
           }
-        });
+        }
+        escaping = false;
+        if (rangeStart) {
+          if (c > rangeStart) {
+            ranges.push(braceEscape(rangeStart) + "-" + braceEscape(c));
+          } else if (c === rangeStart) {
+            ranges.push(braceEscape(c));
+          }
+          rangeStart = "";
+          i++;
+          continue;
+        }
+        if (glob2.startsWith("-]", i + 1)) {
+          ranges.push(braceEscape(c + "-"));
+          i += 2;
+          continue;
+        }
+        if (glob2.startsWith("-", i + 1)) {
+          rangeStart = c;
+          i += 2;
+          continue;
+        }
+        ranges.push(braceEscape(c));
+        i++;
       }
-      /**
-       * Writes 1 or more pages to the page blob. The start and end offsets must be a multiple of 512.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-page
-       *
-       * @param body - Data to upload
-       * @param offset - Offset of destination page blob
-       * @param count - Content length of the body, also number of bytes to be uploaded
-       * @param options - Options to the Page Blob Upload Pages operation.
-       * @returns Response data for the Page Blob Upload Pages operation.
-       */
-      async uploadPages(body, offset, count, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-uploadPages", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.uploadPages(count, body, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            requestOptions: {
-              onUploadProgress: options.onProgress
-            },
-            range: (0, Range_js_1.rangeToString)({ offset, count }),
-            sequenceNumberAccessConditions: options.conditions,
-            transactionalContentMD5: options.transactionalContentMD5,
-            transactionalContentCrc64: options.transactionalContentCrc64,
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      if (endPos < i) {
+        return ["", false, 0, false];
       }
-      /**
-       * The Upload Pages operation writes a range of pages to a page blob where the
-       * contents are read from a URL.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-page-from-url
-       *
-       * @param sourceURL - Specify a URL to the copy source, Shared Access Signature(SAS) maybe needed for authentication
-       * @param sourceOffset - The source offset to copy from. Pass 0 to copy from the beginning of source page blob
-       * @param destOffset - Offset of destination page blob
-       * @param count - Number of bytes to be uploaded from source page blob
-       * @param options -
-       */
-      async uploadPagesFromURL(sourceURL, sourceOffset, destOffset, count, options = {}) {
-        options.conditions = options.conditions || {};
-        options.sourceConditions = options.sourceConditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-uploadPagesFromURL", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.uploadPagesFromURL(sourceURL, (0, Range_js_1.rangeToString)({ offset: sourceOffset, count }), 0, (0, Range_js_1.rangeToString)({ offset: destOffset, count }), {
-            abortSignal: options.abortSignal,
-            sourceContentMD5: options.sourceContentMD5,
-            sourceContentCrc64: options.sourceContentCrc64,
-            leaseAccessConditions: options.conditions,
-            sequenceNumberAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            sourceModifiedAccessConditions: {
-              sourceIfMatch: options.sourceConditions?.ifMatch,
-              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
-              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
-              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince
-            },
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
-            fileRequestIntent: options.sourceShareTokenIntent,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      if (!ranges.length && !negs.length) {
+        return ["$.", false, glob2.length - pos, true];
       }
-      /**
-       * Frees the specified pages from the page blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-page
-       *
-       * @param offset - Starting byte position of the pages to clear.
-       * @param count - Number of bytes to clear.
-       * @param options - Options to the Page Blob Clear Pages operation.
-       * @returns Response data for the Page Blob Clear Pages operation.
-       */
-      async clearPages(offset = 0, count, options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-clearPages", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.clearPages(0, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            range: (0, Range_js_1.rangeToString)({ offset, count }),
-            sequenceNumberAccessConditions: options.conditions,
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      if (negs.length === 0 && ranges.length === 1 && /^\\?.$/.test(ranges[0]) && !negate) {
+        const r = ranges[0].length === 2 ? ranges[0].slice(-1) : ranges[0];
+        return [regexpEscape(r), false, endPos - pos, false];
       }
-      /**
-       * Returns the list of valid page ranges for a page blob or snapshot of a page blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param options - Options to the Page Blob Get Ranges operation.
-       * @returns Response data for the Page Blob Get Ranges operation.
-       */
-      async getPageRanges(offset = 0, count, options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRanges", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRanges({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            range: (0, Range_js_1.rangeToString)({ offset, count }),
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(response);
-        });
+      const sranges = "[" + (negate ? "^" : "") + rangesToString(ranges) + "]";
+      const snegs = "[" + (negate ? "" : "^") + rangesToString(negs) + "]";
+      const comb = ranges.length && negs.length ? "(" + sranges + "|" + snegs + ")" : ranges.length ? sranges : snegs;
+      return [comb, uflag, endPos - pos, true];
+    };
+    exports2.parseClass = parseClass;
+  }
+});
+
+// node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js
+var require_unescape = __commonJS({
+  "node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.unescape = void 0;
+    var unescape = (s, { windowsPathsNoEscape = false, magicalBraces = true } = {}) => {
+      if (magicalBraces) {
+        return windowsPathsNoEscape ? s.replace(/\[([^\/\\])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^\/\\])\]/g, "$1$2").replace(/\\([^\/])/g, "$1");
       }
-      /**
-       * getPageRangesSegment returns a single segment of page ranges starting from the
-       * specified Marker. Use an empty Marker to start enumeration from the beginning.
-       * After getting a segment, process it, and then call getPageRangesSegment again
-       * (passing the the previously-returned Marker) to get the next segment.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param marker - A string value that identifies the portion of the list to be returned with the next list operation.
-       * @param options - Options to PageBlob Get Page Ranges Segment operation.
-       */
-      async listPageRangesSegment(offset = 0, count, marker, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesSegment", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRanges({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            range: (0, Range_js_1.rangeToString)({ offset, count }),
-            marker,
-            maxPageSize: options.maxPageSize,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      return windowsPathsNoEscape ? s.replace(/\[([^\/\\{}])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^\/\\{}])\]/g, "$1$2").replace(/\\([^\/{}])/g, "$1");
+    };
+    exports2.unescape = unescape;
+  }
+});
+
+// node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js
+var require_ast = __commonJS({
+  "node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AST = void 0;
+    var brace_expressions_js_1 = require_brace_expressions();
+    var unescape_js_1 = require_unescape();
+    var types = /* @__PURE__ */ new Set(["!", "?", "+", "*", "@"]);
+    var isExtglobType = (c) => types.has(c);
+    var startNoTraversal = "(?!(?:^|/)\\.\\.?(?:$|/))";
+    var startNoDot = "(?!\\.)";
+    var addPatternStart = /* @__PURE__ */ new Set(["[", "."]);
+    var justDots = /* @__PURE__ */ new Set(["..", "."]);
+    var reSpecials = new Set("().*{}+?[]^$\\!");
+    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
+    var qmark = "[^/]";
+    var star = qmark + "*?";
+    var starNoEmpty = qmark + "+?";
+    var AST = class _AST {
+      type;
+      #root;
+      #hasMagic;
+      #uflag = false;
+      #parts = [];
+      #parent;
+      #parentIndex;
+      #negs;
+      #filledNegs = false;
+      #options;
+      #toString;
+      // set to true if it's an extglob with no children
+      // (which really means one child of '')
+      #emptyExt = false;
+      constructor(type2, parent, options = {}) {
+        this.type = type2;
+        if (type2)
+          this.#hasMagic = true;
+        this.#parent = parent;
+        this.#root = this.#parent ? this.#parent.#root : this;
+        this.#options = this.#root === this ? options : this.#root.#options;
+        this.#negs = this.#root === this ? [] : this.#root.#negs;
+        if (type2 === "!" && !this.#root.#filledNegs)
+          this.#negs.push(this);
+        this.#parentIndex = this.#parent ? this.#parent.#parts.length : 0;
       }
-      /**
-       * Returns an AsyncIterableIterator for {@link PageBlobGetPageRangesResponseModel}
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param marker - A string value that identifies the portion of
-       *                          the get of page ranges to be returned with the next getting operation. The
-       *                          operation returns the ContinuationToken value within the response body if the
-       *                          getting operation did not return all page ranges remaining within the current page.
-       *                          The ContinuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of get
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to List Page Ranges operation.
-       */
-      async *listPageRangeItemSegments(offset = 0, count, marker, options = {}) {
-        let getPageRangeItemSegmentsResponse;
-        if (!!marker || marker === void 0) {
-          do {
-            getPageRangeItemSegmentsResponse = await this.listPageRangesSegment(offset, count, marker, options);
-            marker = getPageRangeItemSegmentsResponse.continuationToken;
-            yield await getPageRangeItemSegmentsResponse;
-          } while (marker);
+      get hasMagic() {
+        if (this.#hasMagic !== void 0)
+          return this.#hasMagic;
+        for (const p of this.#parts) {
+          if (typeof p === "string")
+            continue;
+          if (p.type || p.hasMagic)
+            return this.#hasMagic = true;
         }
+        return this.#hasMagic;
       }
-      /**
-       * Returns an AsyncIterableIterator of {@link PageRangeInfo} objects
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param options - Options to List Page Ranges operation.
-       */
-      async *listPageRangeItems(offset = 0, count, options = {}) {
-        let marker;
-        for await (const getPageRangesSegment of this.listPageRangeItemSegments(offset, count, marker, options)) {
-          yield* (0, utils_common_js_1.ExtractPageRangeInfoItems)(getPageRangesSegment);
+      // reconstructs the pattern
+      toString() {
+        if (this.#toString !== void 0)
+          return this.#toString;
+        if (!this.type) {
+          return this.#toString = this.#parts.map((p) => String(p)).join("");
+        } else {
+          return this.#toString = this.type + "(" + this.#parts.map((p) => String(p)).join("|") + ")";
         }
       }
-      /**
-       * Returns an async iterable iterator to list of page ranges for a page blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
-       *
-       *  .byPage() returns an async iterable iterator to list of page ranges for a page blob.
-       *
-       * ```ts snippet:ClientsListPageBlobs
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const pageBlobClient = containerClient.getPageBlobClient(blobName);
-       *
-       * // Example using `for await` syntax
-       * let i = 1;
-       * for await (const pageRange of pageBlobClient.listPageRanges()) {
-       *   console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       * }
-       *
-       * // Example using `iter.next()` syntax
-       * i = 1;
-       * const iter = pageBlobClient.listPageRanges();
-       * let { value, done } = await iter.next();
-       * while (!done) {
-       *   console.log(`Page range ${i++}: ${value.start} - ${value.end}`);
-       *   ({ value, done } = await iter.next());
-       * }
-       *
-       * // Example using `byPage()` syntax
-       * i = 1;
-       * for await (const page of pageBlobClient.listPageRanges().byPage({ maxPageSize: 20 })) {
-       *   for (const pageRange of page.pageRange || []) {
-       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       *   }
-       * }
-       *
-       * // Example using paging with a marker
-       * i = 1;
-       * let iterator = pageBlobClient.listPageRanges().byPage({ maxPageSize: 2 });
-       * let response = (await iterator.next()).value;
-       * // Prints 2 page ranges
-       * if (response.pageRange) {
-       *   for (const pageRange of response.pageRange) {
-       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       *   }
-       * }
-       * // Gets next marker
-       * let marker = response.continuationToken;
-       * // Passing next marker as continuationToken
-       * iterator = pageBlobClient.listPageRanges().byPage({ continuationToken: marker, maxPageSize: 10 });
-       * response = (await iterator.next()).value;
-       * // Prints 10 page ranges
-       * if (response.pageRange) {
-       *   for (const pageRange of response.pageRange) {
-       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       *   }
-       * }
-       * ```
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param options - Options to the Page Blob Get Ranges operation.
-       * @returns An asyncIterableIterator that supports paging.
-       */
-      listPageRanges(offset = 0, count, options = {}) {
-        options.conditions = options.conditions || {};
-        const iter = this.listPageRangeItems(offset, count, options);
-        return {
-          /**
-           * The next method, part of the iteration protocol
-           */
-          next() {
-            return iter.next();
-          },
-          /**
-           * The connection to the async iterator, part of the iteration protocol
-           */
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          /**
-           * Return an AsyncIterableIterator that works a page at a time
-           */
-          byPage: (settings = {}) => {
-            return this.listPageRangeItemSegments(offset, count, settings.continuationToken, {
-              maxPageSize: settings.maxPageSize,
-              ...options
-            });
+      #fillNegs() {
+        if (this !== this.#root)
+          throw new Error("should only call on root");
+        if (this.#filledNegs)
+          return this;
+        this.toString();
+        this.#filledNegs = true;
+        let n;
+        while (n = this.#negs.pop()) {
+          if (n.type !== "!")
+            continue;
+          let p = n;
+          let pp = p.#parent;
+          while (pp) {
+            for (let i = p.#parentIndex + 1; !pp.type && i < pp.#parts.length; i++) {
+              for (const part of n.#parts) {
+                if (typeof part === "string") {
+                  throw new Error("string part in extglob AST??");
+                }
+                part.copyIn(pp.#parts[i]);
+              }
+            }
+            p = pp;
+            pp = p.#parent;
+          }
+        }
+        return this;
+      }
+      push(...parts) {
+        for (const p of parts) {
+          if (p === "")
+            continue;
+          if (typeof p !== "string" && !(p instanceof _AST && p.#parent === this)) {
+            throw new Error("invalid part: " + p);
           }
-        };
-      }
-      /**
-       * Gets the collection of page ranges that differ between a specified snapshot and this page blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
-       *
-       * @param offset - Starting byte position of the page blob
-       * @param count - Number of bytes to get ranges diff.
-       * @param prevSnapshot - Timestamp of snapshot to retrieve the difference.
-       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
-       * @returns Response data for the Page Blob Get Page Range Diff operation.
-       */
-      async getPageRangesDiff(offset, count, prevSnapshot, options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesDiff", options, async (updatedOptions) => {
-          const result = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            prevsnapshot: prevSnapshot,
-            range: (0, Range_js_1.rangeToString)({ offset, count }),
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(result);
-        });
+          this.#parts.push(p);
+        }
       }
-      /**
-       * getPageRangesDiffSegment returns a single segment of page ranges starting from the
-       * specified Marker for difference between previous snapshot and the target page blob.
-       * Use an empty Marker to start enumeration from the beginning.
-       * After getting a segment, process it, and then call getPageRangesDiffSegment again
-       * (passing the the previously-returned Marker) to get the next segment.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference.
-       * @param marker - A string value that identifies the portion of the get to be returned with the next get operation.
-       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
-       */
-      async listPageRangesDiffSegment(offset, count, prevSnapshotOrUrl, marker, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesDiffSegment", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({
-            abortSignal: options?.abortSignal,
-            leaseAccessConditions: options?.conditions,
-            modifiedAccessConditions: {
-              ...options?.conditions,
-              ifTags: options?.conditions?.tagConditions
-            },
-            prevsnapshot: prevSnapshotOrUrl,
-            range: (0, Range_js_1.rangeToString)({
-              offset,
-              count
-            }),
-            marker,
-            maxPageSize: options?.maxPageSize,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      toJSON() {
+        const ret = this.type === null ? this.#parts.slice().map((p) => typeof p === "string" ? p : p.toJSON()) : [this.type, ...this.#parts.map((p) => p.toJSON())];
+        if (this.isStart() && !this.type)
+          ret.unshift([]);
+        if (this.isEnd() && (this === this.#root || this.#root.#filledNegs && this.#parent?.type === "!")) {
+          ret.push({});
+        }
+        return ret;
       }
-      /**
-       * Returns an AsyncIterableIterator for {@link PageBlobGetPageRangesDiffResponseModel}
-       *
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference.
-       * @param marker - A string value that identifies the portion of
-       *                          the get of page ranges to be returned with the next getting operation. The
-       *                          operation returns the ContinuationToken value within the response body if the
-       *                          getting operation did not return all page ranges remaining within the current page.
-       *                          The ContinuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of get
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
-       */
-      async *listPageRangeDiffItemSegments(offset, count, prevSnapshotOrUrl, marker, options) {
-        let getPageRangeItemSegmentsResponse;
-        if (!!marker || marker === void 0) {
-          do {
-            getPageRangeItemSegmentsResponse = await this.listPageRangesDiffSegment(offset, count, prevSnapshotOrUrl, marker, options);
-            marker = getPageRangeItemSegmentsResponse.continuationToken;
-            yield await getPageRangeItemSegmentsResponse;
-          } while (marker);
+      isStart() {
+        if (this.#root === this)
+          return true;
+        if (!this.#parent?.isStart())
+          return false;
+        if (this.#parentIndex === 0)
+          return true;
+        const p = this.#parent;
+        for (let i = 0; i < this.#parentIndex; i++) {
+          const pp = p.#parts[i];
+          if (!(pp instanceof _AST && pp.type === "!")) {
+            return false;
+          }
         }
+        return true;
       }
-      /**
-       * Returns an AsyncIterableIterator of {@link PageRangeInfo} objects
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference.
-       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
-       */
-      async *listPageRangeDiffItems(offset, count, prevSnapshotOrUrl, options) {
-        let marker;
-        for await (const getPageRangesSegment of this.listPageRangeDiffItemSegments(offset, count, prevSnapshotOrUrl, marker, options)) {
-          yield* (0, utils_common_js_1.ExtractPageRangeInfoItems)(getPageRangesSegment);
+      isEnd() {
+        if (this.#root === this)
+          return true;
+        if (this.#parent?.type === "!")
+          return true;
+        if (!this.#parent?.isEnd())
+          return false;
+        if (!this.type)
+          return this.#parent?.isEnd();
+        const pl = this.#parent ? this.#parent.#parts.length : 0;
+        return this.#parentIndex === pl - 1;
+      }
+      copyIn(part) {
+        if (typeof part === "string")
+          this.push(part);
+        else
+          this.push(part.clone(this));
+      }
+      clone(parent) {
+        const c = new _AST(this.type, parent);
+        for (const p of this.#parts) {
+          c.copyIn(p);
         }
+        return c;
       }
-      /**
-       * Returns an async iterable iterator to list of page ranges that differ between a specified snapshot and this page blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
-       *
-       *  .byPage() returns an async iterable iterator to list of page ranges that differ between a specified snapshot and this page blob.
-       *
-       * ```ts snippet:ClientsListPageBlobsDiff
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const pageBlobClient = containerClient.getPageBlobClient(blobName);
-       *
-       * const offset = 0;
-       * const count = 1024;
-       * const previousSnapshot = "";
-       * // Example using `for await` syntax
-       * let i = 1;
-       * for await (const pageRange of pageBlobClient.listPageRangesDiff(offset, count, previousSnapshot)) {
-       *   console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       * }
-       *
-       * // Example using `iter.next()` syntax
-       * i = 1;
-       * const iter = pageBlobClient.listPageRangesDiff(offset, count, previousSnapshot);
-       * let { value, done } = await iter.next();
-       * while (!done) {
-       *   console.log(`Page range ${i++}: ${value.start} - ${value.end}`);
-       *   ({ value, done } = await iter.next());
-       * }
-       *
-       * // Example using `byPage()` syntax
-       * i = 1;
-       * for await (const page of pageBlobClient
-       *   .listPageRangesDiff(offset, count, previousSnapshot)
-       *   .byPage({ maxPageSize: 20 })) {
-       *   for (const pageRange of page.pageRange || []) {
-       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       *   }
-       * }
-       *
-       * // Example using paging with a marker
-       * i = 1;
-       * let iterator = pageBlobClient
-       *   .listPageRangesDiff(offset, count, previousSnapshot)
-       *   .byPage({ maxPageSize: 2 });
-       * let response = (await iterator.next()).value;
-       * // Prints 2 page ranges
-       * if (response.pageRange) {
-       *   for (const pageRange of response.pageRange) {
-       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       *   }
-       * }
-       * // Gets next marker
-       * let marker = response.continuationToken;
-       * // Passing next marker as continuationToken
-       * iterator = pageBlobClient
-       *   .listPageRangesDiff(offset, count, previousSnapshot)
-       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
-       * response = (await iterator.next()).value;
-       * // Prints 10 page ranges
-       * if (response.pageRange) {
-       *   for (const pageRange of response.pageRange) {
-       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       *   }
-       * }
-       * ```
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param prevSnapshot - Timestamp of snapshot to retrieve the difference.
-       * @param options - Options to the Page Blob Get Ranges operation.
-       * @returns An asyncIterableIterator that supports paging.
-       */
-      listPageRangesDiff(offset, count, prevSnapshot, options = {}) {
-        options.conditions = options.conditions || {};
-        const iter = this.listPageRangeDiffItems(offset, count, prevSnapshot, {
-          ...options
-        });
-        return {
-          /**
-           * The next method, part of the iteration protocol
-           */
-          next() {
-            return iter.next();
-          },
-          /**
-           * The connection to the async iterator, part of the iteration protocol
-           */
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          /**
-           * Return an AsyncIterableIterator that works a page at a time
-           */
-          byPage: (settings = {}) => {
-            return this.listPageRangeDiffItemSegments(offset, count, prevSnapshot, settings.continuationToken, {
-              maxPageSize: settings.maxPageSize,
-              ...options
-            });
+      static #parseAST(str2, ast, pos, opt) {
+        let escaping = false;
+        let inBrace = false;
+        let braceStart = -1;
+        let braceNeg = false;
+        if (ast.type === null) {
+          let i2 = pos;
+          let acc2 = "";
+          while (i2 < str2.length) {
+            const c = str2.charAt(i2++);
+            if (escaping || c === "\\") {
+              escaping = !escaping;
+              acc2 += c;
+              continue;
+            }
+            if (inBrace) {
+              if (i2 === braceStart + 1) {
+                if (c === "^" || c === "!") {
+                  braceNeg = true;
+                }
+              } else if (c === "]" && !(i2 === braceStart + 2 && braceNeg)) {
+                inBrace = false;
+              }
+              acc2 += c;
+              continue;
+            } else if (c === "[") {
+              inBrace = true;
+              braceStart = i2;
+              braceNeg = false;
+              acc2 += c;
+              continue;
+            }
+            if (!opt.noext && isExtglobType(c) && str2.charAt(i2) === "(") {
+              ast.push(acc2);
+              acc2 = "";
+              const ext = new _AST(c, ast);
+              i2 = _AST.#parseAST(str2, ext, i2, opt);
+              ast.push(ext);
+              continue;
+            }
+            acc2 += c;
           }
-        };
+          ast.push(acc2);
+          return i2;
+        }
+        let i = pos + 1;
+        let part = new _AST(null, ast);
+        const parts = [];
+        let acc = "";
+        while (i < str2.length) {
+          const c = str2.charAt(i++);
+          if (escaping || c === "\\") {
+            escaping = !escaping;
+            acc += c;
+            continue;
+          }
+          if (inBrace) {
+            if (i === braceStart + 1) {
+              if (c === "^" || c === "!") {
+                braceNeg = true;
+              }
+            } else if (c === "]" && !(i === braceStart + 2 && braceNeg)) {
+              inBrace = false;
+            }
+            acc += c;
+            continue;
+          } else if (c === "[") {
+            inBrace = true;
+            braceStart = i;
+            braceNeg = false;
+            acc += c;
+            continue;
+          }
+          if (isExtglobType(c) && str2.charAt(i) === "(") {
+            part.push(acc);
+            acc = "";
+            const ext = new _AST(c, part);
+            part.push(ext);
+            i = _AST.#parseAST(str2, ext, i, opt);
+            continue;
+          }
+          if (c === "|") {
+            part.push(acc);
+            acc = "";
+            parts.push(part);
+            part = new _AST(null, ast);
+            continue;
+          }
+          if (c === ")") {
+            if (acc === "" && ast.#parts.length === 0) {
+              ast.#emptyExt = true;
+            }
+            part.push(acc);
+            acc = "";
+            ast.push(...parts, part);
+            return i;
+          }
+          acc += c;
+        }
+        ast.type = null;
+        ast.#hasMagic = void 0;
+        ast.#parts = [str2.substring(pos - 1)];
+        return i;
       }
-      /**
-       * Gets the collection of page ranges that differ between a specified snapshot and this page blob for managed disks.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
-       *
-       * @param offset - Starting byte position of the page blob
-       * @param count - Number of bytes to get ranges diff.
-       * @param prevSnapshotUrl - URL of snapshot to retrieve the difference.
-       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
-       * @returns Response data for the Page Blob Get Page Range Diff operation.
-       */
-      async getPageRangesDiffForManagedDisks(offset, count, prevSnapshotUrl, options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-GetPageRangesDiffForManagedDisks", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            prevSnapshotUrl,
-            range: (0, Range_js_1.rangeToString)({ offset, count }),
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(response);
-        });
+      static fromGlob(pattern, options = {}) {
+        const ast = new _AST(null, void 0, options);
+        _AST.#parseAST(pattern, ast, 0, options);
+        return ast;
       }
-      /**
-       * Resizes the page blob to the specified size (which must be a multiple of 512).
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties
-       *
-       * @param size - Target size
-       * @param options - Options to the Page Blob Resize operation.
-       * @returns Response data for the Page Blob Resize operation.
-       */
-      async resize(size, options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-resize", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.resize(size, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            encryptionScope: options.encryptionScope,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
+      // returns the regular expression if there's magic, or the unescaped
+      // string if not.
+      toMMPattern() {
+        if (this !== this.#root)
+          return this.#root.toMMPattern();
+        const glob2 = this.toString();
+        const [re, body, hasMagic, uflag] = this.toRegExpSource();
+        const anyMagic = hasMagic || this.#hasMagic || this.#options.nocase && !this.#options.nocaseMagicOnly && glob2.toUpperCase() !== glob2.toLowerCase();
+        if (!anyMagic) {
+          return body;
+        }
+        const flags = (this.#options.nocase ? "i" : "") + (uflag ? "u" : "");
+        return Object.assign(new RegExp(`^${re}$`, flags), {
+          _src: re,
+          _glob: glob2
         });
       }
-      /**
-       * Sets a page blob's sequence number.
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties
-       *
-       * @param sequenceNumberAction - Indicates how the service should modify the blob's sequence number.
-       * @param sequenceNumber - Required if sequenceNumberAction is max or update
-       * @param options - Options to the Page Blob Update Sequence Number operation.
-       * @returns Response data for the Page Blob Update Sequence Number operation.
-       */
-      async updateSequenceNumber(sequenceNumberAction, sequenceNumber, options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-updateSequenceNumber", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.updateSequenceNumber(sequenceNumberAction, {
-            abortSignal: options.abortSignal,
-            blobSequenceNumber: sequenceNumber,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      get options() {
+        return this.#options;
+      }
+      // returns the string match, the regexp source, whether there's magic
+      // in the regexp (so a regular expression is required) and whether or
+      // not the uflag is needed for the regular expression (for posix classes)
+      // TODO: instead of injecting the start/end at this point, just return
+      // the BODY of the regexp, along with the start/end portions suitable
+      // for binding the start/end in either a joined full-path makeRe context
+      // (where we bind to (^|/), or a standalone matchPart context (where
+      // we bind to ^, and not /).  Otherwise slashes get duped!
+      //
+      // In part-matching mode, the start is:
+      // - if not isStart: nothing
+      // - if traversal possible, but not allowed: ^(?!\.\.?$)
+      // - if dots allowed or not possible: ^
+      // - if dots possible and not allowed: ^(?!\.)
+      // end is:
+      // - if not isEnd(): nothing
+      // - else: $
+      //
+      // In full-path matching mode, we put the slash at the START of the
+      // pattern, so start is:
+      // - if first pattern: same as part-matching mode
+      // - if not isStart(): nothing
+      // - if traversal possible, but not allowed: /(?!\.\.?(?:$|/))
+      // - if dots allowed or not possible: /
+      // - if dots possible and not allowed: /(?!\.)
+      // end is:
+      // - if last pattern, same as part-matching mode
+      // - else nothing
+      //
+      // Always put the (?:$|/) on negated tails, though, because that has to be
+      // there to bind the end of the negated pattern portion, and it's easier to
+      // just stick it in now rather than try to inject it later in the middle of
+      // the pattern.
+      //
+      // We can just always return the same end, and leave it up to the caller
+      // to know whether it's going to be used joined or in parts.
+      // And, if the start is adjusted slightly, can do the same there:
+      // - if not isStart: nothing
+      // - if traversal possible, but not allowed: (?:/|^)(?!\.\.?$)
+      // - if dots allowed or not possible: (?:/|^)
+      // - if dots possible and not allowed: (?:/|^)(?!\.)
+      //
+      // But it's better to have a simpler binding without a conditional, for
+      // performance, so probably better to return both start options.
+      //
+      // Then the caller just ignores the end if it's not the first pattern,
+      // and the start always gets applied.
+      //
+      // But that's always going to be $ if it's the ending pattern, or nothing,
+      // so the caller can just attach $ at the end of the pattern when building.
+      //
+      // So the todo is:
+      // - better detect what kind of start is needed
+      // - return both flavors of starting pattern
+      // - attach $ at the end of the pattern when creating the actual RegExp
+      //
+      // Ah, but wait, no, that all only applies to the root when the first pattern
+      // is not an extglob. If the first pattern IS an extglob, then we need all
+      // that dot prevention biz to live in the extglob portions, because eg
+      // +(*|.x*) can match .xy but not .yx.
+      //
+      // So, return the two flavors if it's #root and the first child is not an
+      // AST, otherwise leave it to the child AST to handle it, and there,
+      // use the (?:^|/) style of start binding.
+      //
+      // Even simplified further:
+      // - Since the start for a join is eg /(?!\.) and the start for a part
+      // is ^(?!\.), we can just prepend (?!\.) to the pattern (either root
+      // or start or whatever) and prepend ^ or / at the Regexp construction.
+      toRegExpSource(allowDot) {
+        const dot = allowDot ?? !!this.#options.dot;
+        if (this.#root === this)
+          this.#fillNegs();
+        if (!this.type) {
+          const noEmpty = this.isStart() && this.isEnd() && !this.#parts.some((s) => typeof s !== "string");
+          const src = this.#parts.map((p) => {
+            const [re, _2, hasMagic, uflag] = typeof p === "string" ? _AST.#parseGlob(p, this.#hasMagic, noEmpty) : p.toRegExpSource(allowDot);
+            this.#hasMagic = this.#hasMagic || hasMagic;
+            this.#uflag = this.#uflag || uflag;
+            return re;
+          }).join("");
+          let start2 = "";
+          if (this.isStart()) {
+            if (typeof this.#parts[0] === "string") {
+              const dotTravAllowed = this.#parts.length === 1 && justDots.has(this.#parts[0]);
+              if (!dotTravAllowed) {
+                const aps = addPatternStart;
+                const needNoTrav = (
+                  // dots are allowed, and the pattern starts with [ or .
+                  dot && aps.has(src.charAt(0)) || // the pattern starts with \., and then [ or .
+                  src.startsWith("\\.") && aps.has(src.charAt(2)) || // the pattern starts with \.\., and then [ or .
+                  src.startsWith("\\.\\.") && aps.has(src.charAt(4))
+                );
+                const needNoDot = !dot && !allowDot && aps.has(src.charAt(0));
+                start2 = needNoTrav ? startNoTraversal : needNoDot ? startNoDot : "";
+              }
+            }
+          }
+          let end = "";
+          if (this.isEnd() && this.#root.#filledNegs && this.#parent?.type === "!") {
+            end = "(?:$|\\/)";
+          }
+          const final2 = start2 + src + end;
+          return [
+            final2,
+            (0, unescape_js_1.unescape)(src),
+            this.#hasMagic = !!this.#hasMagic,
+            this.#uflag
+          ];
+        }
+        const repeated = this.type === "*" || this.type === "+";
+        const start = this.type === "!" ? "(?:(?!(?:" : "(?:";
+        let body = this.#partsToRegExp(dot);
+        if (this.isStart() && this.isEnd() && !body && this.type !== "!") {
+          const s = this.toString();
+          this.#parts = [s];
+          this.type = null;
+          this.#hasMagic = void 0;
+          return [s, (0, unescape_js_1.unescape)(this.toString()), false, false];
+        }
+        let bodyDotAllowed = !repeated || allowDot || dot || !startNoDot ? "" : this.#partsToRegExp(true);
+        if (bodyDotAllowed === body) {
+          bodyDotAllowed = "";
+        }
+        if (bodyDotAllowed) {
+          body = `(?:${body})(?:${bodyDotAllowed})*?`;
+        }
+        let final = "";
+        if (this.type === "!" && this.#emptyExt) {
+          final = (this.isStart() && !dot ? startNoDot : "") + starNoEmpty;
+        } else {
+          const close = this.type === "!" ? (
+            // !() must match something,but !(x) can match ''
+            "))" + (this.isStart() && !dot && !allowDot ? startNoDot : "") + star + ")"
+          ) : this.type === "@" ? ")" : this.type === "?" ? ")?" : this.type === "+" && bodyDotAllowed ? ")" : this.type === "*" && bodyDotAllowed ? `)?` : `)${this.type}`;
+          final = start + body + close;
+        }
+        return [
+          final,
+          (0, unescape_js_1.unescape)(body),
+          this.#hasMagic = !!this.#hasMagic,
+          this.#uflag
+        ];
+      }
+      #partsToRegExp(dot) {
+        return this.#parts.map((p) => {
+          if (typeof p === "string") {
+            throw new Error("string type in extglob ast??");
+          }
+          const [re, _2, _hasMagic, uflag] = p.toRegExpSource(dot);
+          this.#uflag = this.#uflag || uflag;
+          return re;
+        }).filter((p) => !(this.isStart() && this.isEnd()) || !!p).join("|");
       }
-      /**
-       * Begins an operation to start an incremental copy from one page blob's snapshot to this page blob.
-       * The snapshot is copied such that only the differential changes between the previously
-       * copied snapshot are transferred to the destination.
-       * The copied snapshots are complete copies of the original snapshot and can be read or copied from as usual.
-       * @see https://learn.microsoft.com/rest/api/storageservices/incremental-copy-blob
-       * @see https://learn.microsoft.com/azure/virtual-machines/windows/incremental-snapshots
-       *
-       * @param copySource - Specifies the name of the source page blob snapshot. For example,
-       *                            https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=
-       * @param options - Options to the Page Blob Copy Incremental operation.
-       * @returns Response data for the Page Blob Copy Incremental operation.
-       */
-      async startCopyIncremental(copySource, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-startCopyIncremental", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.copyIncremental(copySource, {
-            abortSignal: options.abortSignal,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      static #parseGlob(glob2, hasMagic, noEmpty = false) {
+        let escaping = false;
+        let re = "";
+        let uflag = false;
+        for (let i = 0; i < glob2.length; i++) {
+          const c = glob2.charAt(i);
+          if (escaping) {
+            escaping = false;
+            re += (reSpecials.has(c) ? "\\" : "") + c;
+            continue;
+          }
+          if (c === "\\") {
+            if (i === glob2.length - 1) {
+              re += "\\\\";
+            } else {
+              escaping = true;
+            }
+            continue;
+          }
+          if (c === "[") {
+            const [src, needUflag, consumed, magic] = (0, brace_expressions_js_1.parseClass)(glob2, i);
+            if (consumed) {
+              re += src;
+              uflag = uflag || needUflag;
+              i += consumed - 1;
+              hasMagic = hasMagic || magic;
+              continue;
+            }
+          }
+          if (c === "*") {
+            re += noEmpty && glob2 === "*" ? starNoEmpty : star;
+            hasMagic = true;
+            continue;
+          }
+          if (c === "?") {
+            re += qmark;
+            hasMagic = true;
+            continue;
+          }
+          re += regExpEscape(c);
+        }
+        return [re, (0, unescape_js_1.unescape)(glob2), !!hasMagic, uflag];
       }
     };
-    exports2.PageBlobClient = PageBlobClient;
+    exports2.AST = AST;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/BatchUtils.js
-var require_BatchUtils = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BatchUtils.js"(exports2) {
+// node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js
+var require_escape = __commonJS({
+  "node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getBodyAsText = getBodyAsText;
-    exports2.utf8ByteLength = utf8ByteLength;
-    var utils_js_1 = require_utils7();
-    var constants_js_1 = require_constants14();
-    async function getBodyAsText(batchResponse) {
-      let buffer = Buffer.alloc(constants_js_1.BATCH_MAX_PAYLOAD_IN_BYTES);
-      const responseLength = await (0, utils_js_1.streamToBuffer2)(batchResponse.readableStreamBody, buffer);
-      buffer = buffer.slice(0, responseLength);
-      return buffer.toString();
-    }
-    function utf8ByteLength(str2) {
-      return Buffer.byteLength(str2);
-    }
+    exports2.escape = void 0;
+    var escape = (s, { windowsPathsNoEscape = false, magicalBraces = false } = {}) => {
+      if (magicalBraces) {
+        return windowsPathsNoEscape ? s.replace(/[?*()[\]{}]/g, "[$&]") : s.replace(/[?*()[\]\\{}]/g, "\\$&");
+      }
+      return windowsPathsNoEscape ? s.replace(/[?*()[\]]/g, "[$&]") : s.replace(/[?*()[\]\\]/g, "\\$&");
+    };
+    exports2.escape = escape;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/BatchResponseParser.js
-var require_BatchResponseParser = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BatchResponseParser.js"(exports2) {
+// node_modules/glob/node_modules/minimatch/dist/commonjs/index.js
+var require_commonjs20 = __commonJS({
+  "node_modules/glob/node_modules/minimatch/dist/commonjs/index.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BatchResponseParser = void 0;
-    var core_rest_pipeline_1 = require_commonjs8();
-    var core_http_compat_1 = require_commonjs11();
-    var constants_js_1 = require_constants14();
-    var BatchUtils_js_1 = require_BatchUtils();
-    var log_js_1 = require_log5();
-    var HTTP_HEADER_DELIMITER = ": ";
-    var SPACE_DELIMITER = " ";
-    var NOT_FOUND = -1;
-    var BatchResponseParser = class {
-      batchResponse;
-      responseBatchBoundary;
-      perResponsePrefix;
-      batchResponseEnding;
-      subRequests;
-      constructor(batchResponse, subRequests) {
-        if (!batchResponse || !batchResponse.contentType) {
-          throw new RangeError("batchResponse is malformed or doesn't contain valid content-type.");
+    exports2.unescape = exports2.escape = exports2.AST = exports2.Minimatch = exports2.match = exports2.makeRe = exports2.braceExpand = exports2.defaults = exports2.filter = exports2.GLOBSTAR = exports2.sep = exports2.minimatch = void 0;
+    var brace_expansion_1 = require_commonjs19();
+    var assert_valid_pattern_js_1 = require_assert_valid_pattern();
+    var ast_js_1 = require_ast();
+    var escape_js_1 = require_escape();
+    var unescape_js_1 = require_unescape();
+    var minimatch = (p, pattern, options = {}) => {
+      (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
+      if (!options.nocomment && pattern.charAt(0) === "#") {
+        return false;
+      }
+      return new Minimatch(pattern, options).match(p);
+    };
+    exports2.minimatch = minimatch;
+    var starDotExtRE = /^\*+([^+@!?\*\[\(]*)$/;
+    var starDotExtTest = (ext2) => (f) => !f.startsWith(".") && f.endsWith(ext2);
+    var starDotExtTestDot = (ext2) => (f) => f.endsWith(ext2);
+    var starDotExtTestNocase = (ext2) => {
+      ext2 = ext2.toLowerCase();
+      return (f) => !f.startsWith(".") && f.toLowerCase().endsWith(ext2);
+    };
+    var starDotExtTestNocaseDot = (ext2) => {
+      ext2 = ext2.toLowerCase();
+      return (f) => f.toLowerCase().endsWith(ext2);
+    };
+    var starDotStarRE = /^\*+\.\*+$/;
+    var starDotStarTest = (f) => !f.startsWith(".") && f.includes(".");
+    var starDotStarTestDot = (f) => f !== "." && f !== ".." && f.includes(".");
+    var dotStarRE = /^\.\*+$/;
+    var dotStarTest = (f) => f !== "." && f !== ".." && f.startsWith(".");
+    var starRE = /^\*+$/;
+    var starTest = (f) => f.length !== 0 && !f.startsWith(".");
+    var starTestDot = (f) => f.length !== 0 && f !== "." && f !== "..";
+    var qmarksRE = /^\?+([^+@!?\*\[\(]*)?$/;
+    var qmarksTestNocase = ([$0, ext2 = ""]) => {
+      const noext = qmarksTestNoExt([$0]);
+      if (!ext2)
+        return noext;
+      ext2 = ext2.toLowerCase();
+      return (f) => noext(f) && f.toLowerCase().endsWith(ext2);
+    };
+    var qmarksTestNocaseDot = ([$0, ext2 = ""]) => {
+      const noext = qmarksTestNoExtDot([$0]);
+      if (!ext2)
+        return noext;
+      ext2 = ext2.toLowerCase();
+      return (f) => noext(f) && f.toLowerCase().endsWith(ext2);
+    };
+    var qmarksTestDot = ([$0, ext2 = ""]) => {
+      const noext = qmarksTestNoExtDot([$0]);
+      return !ext2 ? noext : (f) => noext(f) && f.endsWith(ext2);
+    };
+    var qmarksTest = ([$0, ext2 = ""]) => {
+      const noext = qmarksTestNoExt([$0]);
+      return !ext2 ? noext : (f) => noext(f) && f.endsWith(ext2);
+    };
+    var qmarksTestNoExt = ([$0]) => {
+      const len = $0.length;
+      return (f) => f.length === len && !f.startsWith(".");
+    };
+    var qmarksTestNoExtDot = ([$0]) => {
+      const len = $0.length;
+      return (f) => f.length === len && f !== "." && f !== "..";
+    };
+    var defaultPlatform = typeof process === "object" && process ? typeof process.env === "object" && process.env && process.env.__MINIMATCH_TESTING_PLATFORM__ || process.platform : "posix";
+    var path3 = {
+      win32: { sep: "\\" },
+      posix: { sep: "/" }
+    };
+    exports2.sep = defaultPlatform === "win32" ? path3.win32.sep : path3.posix.sep;
+    exports2.minimatch.sep = exports2.sep;
+    exports2.GLOBSTAR = /* @__PURE__ */ Symbol("globstar **");
+    exports2.minimatch.GLOBSTAR = exports2.GLOBSTAR;
+    var qmark = "[^/]";
+    var star = qmark + "*?";
+    var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
+    var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
+    var filter = (pattern, options = {}) => (p) => (0, exports2.minimatch)(p, pattern, options);
+    exports2.filter = filter;
+    exports2.minimatch.filter = exports2.filter;
+    var ext = (a, b = {}) => Object.assign({}, a, b);
+    var defaults = (def) => {
+      if (!def || typeof def !== "object" || !Object.keys(def).length) {
+        return exports2.minimatch;
+      }
+      const orig = exports2.minimatch;
+      const m = (p, pattern, options = {}) => orig(p, pattern, ext(def, options));
+      return Object.assign(m, {
+        Minimatch: class Minimatch extends orig.Minimatch {
+          constructor(pattern, options = {}) {
+            super(pattern, ext(def, options));
+          }
+          static defaults(options) {
+            return orig.defaults(ext(def, options)).Minimatch;
+          }
+        },
+        AST: class AST extends orig.AST {
+          /* c8 ignore start */
+          constructor(type2, parent, options = {}) {
+            super(type2, parent, ext(def, options));
+          }
+          /* c8 ignore stop */
+          static fromGlob(pattern, options = {}) {
+            return orig.AST.fromGlob(pattern, ext(def, options));
+          }
+        },
+        unescape: (s, options = {}) => orig.unescape(s, ext(def, options)),
+        escape: (s, options = {}) => orig.escape(s, ext(def, options)),
+        filter: (pattern, options = {}) => orig.filter(pattern, ext(def, options)),
+        defaults: (options) => orig.defaults(ext(def, options)),
+        makeRe: (pattern, options = {}) => orig.makeRe(pattern, ext(def, options)),
+        braceExpand: (pattern, options = {}) => orig.braceExpand(pattern, ext(def, options)),
+        match: (list, pattern, options = {}) => orig.match(list, pattern, ext(def, options)),
+        sep: orig.sep,
+        GLOBSTAR: exports2.GLOBSTAR
+      });
+    };
+    exports2.defaults = defaults;
+    exports2.minimatch.defaults = exports2.defaults;
+    var braceExpand = (pattern, options = {}) => {
+      (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
+      if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
+        return [pattern];
+      }
+      return (0, brace_expansion_1.expand)(pattern);
+    };
+    exports2.braceExpand = braceExpand;
+    exports2.minimatch.braceExpand = exports2.braceExpand;
+    var makeRe = (pattern, options = {}) => new Minimatch(pattern, options).makeRe();
+    exports2.makeRe = makeRe;
+    exports2.minimatch.makeRe = exports2.makeRe;
+    var match = (list, pattern, options = {}) => {
+      const mm = new Minimatch(pattern, options);
+      list = list.filter((f) => mm.match(f));
+      if (mm.options.nonull && !list.length) {
+        list.push(pattern);
+      }
+      return list;
+    };
+    exports2.match = match;
+    exports2.minimatch.match = exports2.match;
+    var globMagic = /[?*]|[+@!]\(.*?\)|\[|\]/;
+    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
+    var Minimatch = class {
+      options;
+      set;
+      pattern;
+      windowsPathsNoEscape;
+      nonegate;
+      negate;
+      comment;
+      empty;
+      preserveMultipleSlashes;
+      partial;
+      globSet;
+      globParts;
+      nocase;
+      isWindows;
+      platform;
+      windowsNoMagicRoot;
+      regexp;
+      constructor(pattern, options = {}) {
+        (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
+        options = options || {};
+        this.options = options;
+        this.pattern = pattern;
+        this.platform = options.platform || defaultPlatform;
+        this.isWindows = this.platform === "win32";
+        this.windowsPathsNoEscape = !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;
+        if (this.windowsPathsNoEscape) {
+          this.pattern = this.pattern.replace(/\\/g, "/");
         }
-        if (!subRequests || subRequests.size === 0) {
-          throw new RangeError("Invalid state: subRequests is not provided or size is 0.");
+        this.preserveMultipleSlashes = !!options.preserveMultipleSlashes;
+        this.regexp = null;
+        this.negate = false;
+        this.nonegate = !!options.nonegate;
+        this.comment = false;
+        this.empty = false;
+        this.partial = !!options.partial;
+        this.nocase = !!this.options.nocase;
+        this.windowsNoMagicRoot = options.windowsNoMagicRoot !== void 0 ? options.windowsNoMagicRoot : !!(this.isWindows && this.nocase);
+        this.globSet = [];
+        this.globParts = [];
+        this.set = [];
+        this.make();
+      }
+      hasMagic() {
+        if (this.options.magicalBraces && this.set.length > 1) {
+          return true;
         }
-        this.batchResponse = batchResponse;
-        this.subRequests = subRequests;
-        this.responseBatchBoundary = this.batchResponse.contentType.split("=")[1];
-        this.perResponsePrefix = `--${this.responseBatchBoundary}${constants_js_1.HTTP_LINE_ENDING}`;
-        this.batchResponseEnding = `--${this.responseBatchBoundary}--`;
+        for (const pattern of this.set) {
+          for (const part of pattern) {
+            if (typeof part !== "string")
+              return true;
+          }
+        }
+        return false;
+      }
+      debug(..._2) {
+      }
+      make() {
+        const pattern = this.pattern;
+        const options = this.options;
+        if (!options.nocomment && pattern.charAt(0) === "#") {
+          this.comment = true;
+          return;
+        }
+        if (!pattern) {
+          this.empty = true;
+          return;
+        }
+        this.parseNegate();
+        this.globSet = [...new Set(this.braceExpand())];
+        if (options.debug) {
+          this.debug = (...args) => console.error(...args);
+        }
+        this.debug(this.pattern, this.globSet);
+        const rawGlobParts = this.globSet.map((s) => this.slashSplit(s));
+        this.globParts = this.preprocess(rawGlobParts);
+        this.debug(this.pattern, this.globParts);
+        let set2 = this.globParts.map((s, _2, __) => {
+          if (this.isWindows && this.windowsNoMagicRoot) {
+            const isUNC = s[0] === "" && s[1] === "" && (s[2] === "?" || !globMagic.test(s[2])) && !globMagic.test(s[3]);
+            const isDrive = /^[a-z]:/i.test(s[0]);
+            if (isUNC) {
+              return [...s.slice(0, 4), ...s.slice(4).map((ss) => this.parse(ss))];
+            } else if (isDrive) {
+              return [s[0], ...s.slice(1).map((ss) => this.parse(ss))];
+            }
+          }
+          return s.map((ss) => this.parse(ss));
+        });
+        this.debug(this.pattern, set2);
+        this.set = set2.filter((s) => s.indexOf(false) === -1);
+        if (this.isWindows) {
+          for (let i = 0; i < this.set.length; i++) {
+            const p = this.set[i];
+            if (p[0] === "" && p[1] === "" && this.globParts[i][2] === "?" && typeof p[3] === "string" && /^[a-z]:$/i.test(p[3])) {
+              p[2] = "?";
+            }
+          }
+        }
+        this.debug(this.pattern, this.set);
+      }
+      // various transforms to equivalent pattern sets that are
+      // faster to process in a filesystem walk.  The goal is to
+      // eliminate what we can, and push all ** patterns as far
+      // to the right as possible, even if it increases the number
+      // of patterns that we have to process.
+      preprocess(globParts) {
+        if (this.options.noglobstar) {
+          for (let i = 0; i < globParts.length; i++) {
+            for (let j = 0; j < globParts[i].length; j++) {
+              if (globParts[i][j] === "**") {
+                globParts[i][j] = "*";
+              }
+            }
+          }
+        }
+        const { optimizationLevel = 1 } = this.options;
+        if (optimizationLevel >= 2) {
+          globParts = this.firstPhasePreProcess(globParts);
+          globParts = this.secondPhasePreProcess(globParts);
+        } else if (optimizationLevel >= 1) {
+          globParts = this.levelOneOptimize(globParts);
+        } else {
+          globParts = this.adjascentGlobstarOptimize(globParts);
+        }
+        return globParts;
+      }
+      // just get rid of adjascent ** portions
+      adjascentGlobstarOptimize(globParts) {
+        return globParts.map((parts) => {
+          let gs = -1;
+          while (-1 !== (gs = parts.indexOf("**", gs + 1))) {
+            let i = gs;
+            while (parts[i + 1] === "**") {
+              i++;
+            }
+            if (i !== gs) {
+              parts.splice(gs, i - gs);
+            }
+          }
+          return parts;
+        });
+      }
+      // get rid of adjascent ** and resolve .. portions
+      levelOneOptimize(globParts) {
+        return globParts.map((parts) => {
+          parts = parts.reduce((set2, part) => {
+            const prev = set2[set2.length - 1];
+            if (part === "**" && prev === "**") {
+              return set2;
+            }
+            if (part === "..") {
+              if (prev && prev !== ".." && prev !== "." && prev !== "**") {
+                set2.pop();
+                return set2;
+              }
+            }
+            set2.push(part);
+            return set2;
+          }, []);
+          return parts.length === 0 ? [""] : parts;
+        });
       }
-      // For example of response, please refer to https://learn.microsoft.com/rest/api/storageservices/blob-batch#response
-      async parseBatchResponse() {
-        if (this.batchResponse._response.status !== constants_js_1.HTTPURLConnection.HTTP_ACCEPTED) {
-          throw new Error(`Invalid state: batch request failed with status: '${this.batchResponse._response.status}'.`);
-        }
-        const responseBodyAsText = await (0, BatchUtils_js_1.getBodyAsText)(this.batchResponse);
-        const subResponses = responseBodyAsText.split(this.batchResponseEnding)[0].split(this.perResponsePrefix).slice(1);
-        const subResponseCount = subResponses.length;
-        if (subResponseCount !== this.subRequests.size && subResponseCount !== 1) {
-          throw new Error("Invalid state: sub responses' count is not equal to sub requests' count.");
+      levelTwoFileOptimize(parts) {
+        if (!Array.isArray(parts)) {
+          parts = this.slashSplit(parts);
         }
-        const deserializedSubResponses = new Array(subResponseCount);
-        let subResponsesSucceededCount = 0;
-        let subResponsesFailedCount = 0;
-        for (let index = 0; index < subResponseCount; index++) {
-          const subResponse = subResponses[index];
-          const deserializedSubResponse = {};
-          deserializedSubResponse.headers = (0, core_http_compat_1.toHttpHeadersLike)((0, core_rest_pipeline_1.createHttpHeaders)());
-          const responseLines = subResponse.split(`${constants_js_1.HTTP_LINE_ENDING}`);
-          let subRespHeaderStartFound = false;
-          let subRespHeaderEndFound = false;
-          let subRespFailed = false;
-          let contentId = NOT_FOUND;
-          for (const responseLine of responseLines) {
-            if (!subRespHeaderStartFound) {
-              if (responseLine.startsWith(constants_js_1.HeaderConstants.CONTENT_ID)) {
-                contentId = parseInt(responseLine.split(HTTP_HEADER_DELIMITER)[1]);
-              }
-              if (responseLine.startsWith(constants_js_1.HTTP_VERSION_1_1)) {
-                subRespHeaderStartFound = true;
-                const tokens = responseLine.split(SPACE_DELIMITER);
-                deserializedSubResponse.status = parseInt(tokens[1]);
-                deserializedSubResponse.statusMessage = tokens.slice(2).join(SPACE_DELIMITER);
+        let didSomething = false;
+        do {
+          didSomething = false;
+          if (!this.preserveMultipleSlashes) {
+            for (let i = 1; i < parts.length - 1; i++) {
+              const p = parts[i];
+              if (i === 1 && p === "" && parts[0] === "")
+                continue;
+              if (p === "." || p === "") {
+                didSomething = true;
+                parts.splice(i, 1);
+                i--;
               }
-              continue;
             }
-            if (responseLine.trim() === "") {
-              if (!subRespHeaderEndFound) {
-                subRespHeaderEndFound = true;
+            if (parts[0] === "." && parts.length === 2 && (parts[1] === "." || parts[1] === "")) {
+              didSomething = true;
+              parts.pop();
+            }
+          }
+          let dd = 0;
+          while (-1 !== (dd = parts.indexOf("..", dd + 1))) {
+            const p = parts[dd - 1];
+            if (p && p !== "." && p !== ".." && p !== "**") {
+              didSomething = true;
+              parts.splice(dd - 1, 2);
+              dd -= 2;
+            }
+          }
+        } while (didSomething);
+        return parts.length === 0 ? [""] : parts;
+      }
+      // First phase: single-pattern processing
+      // 
 is 1 or more portions
+      //  is 1 or more portions
+      // 

is any portion other than ., .., '', or ** + // is . or '' + // + // **/.. is *brutal* for filesystem walking performance, because + // it effectively resets the recursive walk each time it occurs, + // and ** cannot be reduced out by a .. pattern part like a regexp + // or most strings (other than .., ., and '') can be. + // + //

/**/../

/

/ -> {

/../

/

/,

/**/

/

/} + //

// -> 
/
+      // 
/

/../ ->

/
+      // **/**/ -> **/
+      //
+      // **/*/ -> */**/ <== not valid because ** doesn't follow
+      // this WOULD be allowed if ** did follow symlinks, or * didn't
+      firstPhasePreProcess(globParts) {
+        let didSomething = false;
+        do {
+          didSomething = false;
+          for (let parts of globParts) {
+            let gs = -1;
+            while (-1 !== (gs = parts.indexOf("**", gs + 1))) {
+              let gss = gs;
+              while (parts[gss + 1] === "**") {
+                gss++;
               }
-              continue;
+              if (gss > gs) {
+                parts.splice(gs + 1, gss - gs);
+              }
+              let next = parts[gs + 1];
+              const p = parts[gs + 2];
+              const p2 = parts[gs + 3];
+              if (next !== "..")
+                continue;
+              if (!p || p === "." || p === ".." || !p2 || p2 === "." || p2 === "..") {
+                continue;
+              }
+              didSomething = true;
+              parts.splice(gs, 1);
+              const other = parts.slice(0);
+              other[gs] = "**";
+              globParts.push(other);
+              gs--;
             }
-            if (!subRespHeaderEndFound) {
-              if (responseLine.indexOf(HTTP_HEADER_DELIMITER) === -1) {
-                throw new Error(`Invalid state: find non-empty line '${responseLine}' without HTTP header delimiter '${HTTP_HEADER_DELIMITER}'.`);
+            if (!this.preserveMultipleSlashes) {
+              for (let i = 1; i < parts.length - 1; i++) {
+                const p = parts[i];
+                if (i === 1 && p === "" && parts[0] === "")
+                  continue;
+                if (p === "." || p === "") {
+                  didSomething = true;
+                  parts.splice(i, 1);
+                  i--;
+                }
               }
-              const tokens = responseLine.split(HTTP_HEADER_DELIMITER);
-              deserializedSubResponse.headers.set(tokens[0], tokens[1]);
-              if (tokens[0] === constants_js_1.HeaderConstants.X_MS_ERROR_CODE) {
-                deserializedSubResponse.errorCode = tokens[1];
-                subRespFailed = true;
+              if (parts[0] === "." && parts.length === 2 && (parts[1] === "." || parts[1] === "")) {
+                didSomething = true;
+                parts.pop();
               }
-            } else {
-              if (!deserializedSubResponse.bodyAsText) {
-                deserializedSubResponse.bodyAsText = "";
+            }
+            let dd = 0;
+            while (-1 !== (dd = parts.indexOf("..", dd + 1))) {
+              const p = parts[dd - 1];
+              if (p && p !== "." && p !== ".." && p !== "**") {
+                didSomething = true;
+                const needDot = dd === 1 && parts[dd + 1] === "**";
+                const splin = needDot ? ["."] : [];
+                parts.splice(dd - 1, 2, ...splin);
+                if (parts.length === 0)
+                  parts.push("");
+                dd -= 2;
               }
-              deserializedSubResponse.bodyAsText += responseLine;
             }
           }
-          if (contentId !== NOT_FOUND && Number.isInteger(contentId) && contentId >= 0 && contentId < this.subRequests.size && deserializedSubResponses[contentId] === void 0) {
-            deserializedSubResponse._request = this.subRequests.get(contentId);
-            deserializedSubResponses[contentId] = deserializedSubResponse;
-          } else {
-            log_js_1.logger.error(`subResponses[${index}] is dropped as the Content-ID is not found or invalid, Content-ID: ${contentId}`);
-          }
-          if (subRespFailed) {
-            subResponsesFailedCount++;
-          } else {
-            subResponsesSucceededCount++;
+        } while (didSomething);
+        return globParts;
+      }
+      // second phase: multi-pattern dedupes
+      // {
/*/,
/

/} ->

/*/
+      // {
/,
/} -> 
/
+      // {
/**/,
/} -> 
/**/
+      //
+      // {
/**/,
/**/

/} ->

/**/
+      // ^-- not valid because ** doens't follow symlinks
+      secondPhasePreProcess(globParts) {
+        for (let i = 0; i < globParts.length - 1; i++) {
+          for (let j = i + 1; j < globParts.length; j++) {
+            const matched = this.partsMatch(globParts[i], globParts[j], !this.preserveMultipleSlashes);
+            if (matched) {
+              globParts[i] = [];
+              globParts[j] = matched;
+              break;
+            }
           }
         }
-        return {
-          subResponses: deserializedSubResponses,
-          subResponsesSucceededCount,
-          subResponsesFailedCount
-        };
+        return globParts.filter((gs) => gs.length);
       }
-    };
-    exports2.BatchResponseParser = BatchResponseParser;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/utils/Mutex.js
-var require_Mutex = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/Mutex.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Mutex = void 0;
-    var MutexLockStatus;
-    (function(MutexLockStatus2) {
-      MutexLockStatus2[MutexLockStatus2["LOCKED"] = 0] = "LOCKED";
-      MutexLockStatus2[MutexLockStatus2["UNLOCKED"] = 1] = "UNLOCKED";
-    })(MutexLockStatus || (MutexLockStatus = {}));
-    var Mutex = class {
-      /**
-       * Lock for a specific key. If the lock has been acquired by another customer, then
-       * will wait until getting the lock.
-       *
-       * @param key - lock key
-       */
-      static async lock(key) {
-        return new Promise((resolve2) => {
-          if (this.keys[key] === void 0 || this.keys[key] === MutexLockStatus.UNLOCKED) {
-            this.keys[key] = MutexLockStatus.LOCKED;
-            resolve2();
+      partsMatch(a, b, emptyGSMatch = false) {
+        let ai = 0;
+        let bi = 0;
+        let result = [];
+        let which6 = "";
+        while (ai < a.length && bi < b.length) {
+          if (a[ai] === b[bi]) {
+            result.push(which6 === "b" ? b[bi] : a[ai]);
+            ai++;
+            bi++;
+          } else if (emptyGSMatch && a[ai] === "**" && b[bi] === a[ai + 1]) {
+            result.push(a[ai]);
+            ai++;
+          } else if (emptyGSMatch && b[bi] === "**" && a[ai] === b[bi + 1]) {
+            result.push(b[bi]);
+            bi++;
+          } else if (a[ai] === "*" && b[bi] && (this.options.dot || !b[bi].startsWith(".")) && b[bi] !== "**") {
+            if (which6 === "b")
+              return false;
+            which6 = "a";
+            result.push(a[ai]);
+            ai++;
+            bi++;
+          } else if (b[bi] === "*" && a[ai] && (this.options.dot || !a[ai].startsWith(".")) && a[ai] !== "**") {
+            if (which6 === "a")
+              return false;
+            which6 = "b";
+            result.push(b[bi]);
+            ai++;
+            bi++;
           } else {
-            this.onUnlockEvent(key, () => {
-              this.keys[key] = MutexLockStatus.LOCKED;
-              resolve2();
-            });
-          }
-        });
-      }
-      /**
-       * Unlock a key.
-       *
-       * @param key -
-       */
-      static async unlock(key) {
-        return new Promise((resolve2) => {
-          if (this.keys[key] === MutexLockStatus.LOCKED) {
-            this.emitUnlockEvent(key);
+            return false;
           }
-          delete this.keys[key];
-          resolve2();
-        });
-      }
-      static keys = {};
-      static listeners = {};
-      static onUnlockEvent(key, handler2) {
-        if (this.listeners[key] === void 0) {
-          this.listeners[key] = [handler2];
-        } else {
-          this.listeners[key].push(handler2);
         }
+        return a.length === b.length && result;
       }
-      static emitUnlockEvent(key) {
-        if (this.listeners[key] !== void 0 && this.listeners[key].length > 0) {
-          const handler2 = this.listeners[key].shift();
-          setImmediate(() => {
-            handler2.call(this);
-          });
+      parseNegate() {
+        if (this.nonegate)
+          return;
+        const pattern = this.pattern;
+        let negate = false;
+        let negateOffset = 0;
+        for (let i = 0; i < pattern.length && pattern.charAt(i) === "!"; i++) {
+          negate = !negate;
+          negateOffset++;
         }
+        if (negateOffset)
+          this.pattern = pattern.slice(negateOffset);
+        this.negate = negate;
       }
-    };
-    exports2.Mutex = Mutex;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/BlobBatch.js
-var require_BlobBatch = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BlobBatch.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobBatch = void 0;
-    var core_util_1 = require_commonjs6();
-    var core_auth_1 = require_commonjs9();
-    var core_rest_pipeline_1 = require_commonjs8();
-    var core_util_2 = require_commonjs6();
-    var AnonymousCredential_js_1 = require_AnonymousCredential();
-    var Clients_js_1 = require_Clients();
-    var Mutex_js_1 = require_Mutex();
-    var Pipeline_js_1 = require_Pipeline();
-    var utils_common_js_1 = require_utils_common();
-    var core_xml_1 = require_commonjs12();
-    var constants_js_1 = require_constants14();
-    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
-    var tracing_js_1 = require_tracing();
-    var core_client_1 = require_commonjs10();
-    var StorageSharedKeyCredentialPolicyV2_js_1 = require_StorageSharedKeyCredentialPolicyV22();
-    var BlobBatch = class {
-      batchRequest;
-      batch = "batch";
-      batchType;
-      constructor() {
-        this.batchRequest = new InnerBatchRequest();
-      }
-      /**
-       * Get the value of Content-Type for a batch request.
-       * The value must be multipart/mixed with a batch boundary.
-       * Example: multipart/mixed; boundary=batch_a81786c8-e301-4e42-a729-a32ca24ae252
-       */
-      getMultiPartContentType() {
-        return this.batchRequest.getMultipartContentType();
+      // set partial to true to test if, for example,
+      // "/a/b" matches the start of "/*/b/*/d"
+      // Partial means, if you run out of file before you run
+      // out of pattern, then that's fine, as long as all
+      // the parts match.
+      matchOne(file, pattern, partial = false) {
+        const options = this.options;
+        if (this.isWindows) {
+          const fileDrive = typeof file[0] === "string" && /^[a-z]:$/i.test(file[0]);
+          const fileUNC = !fileDrive && file[0] === "" && file[1] === "" && file[2] === "?" && /^[a-z]:$/i.test(file[3]);
+          const patternDrive = typeof pattern[0] === "string" && /^[a-z]:$/i.test(pattern[0]);
+          const patternUNC = !patternDrive && pattern[0] === "" && pattern[1] === "" && pattern[2] === "?" && typeof pattern[3] === "string" && /^[a-z]:$/i.test(pattern[3]);
+          const fdi = fileUNC ? 3 : fileDrive ? 0 : void 0;
+          const pdi = patternUNC ? 3 : patternDrive ? 0 : void 0;
+          if (typeof fdi === "number" && typeof pdi === "number") {
+            const [fd, pd] = [file[fdi], pattern[pdi]];
+            if (fd.toLowerCase() === pd.toLowerCase()) {
+              pattern[pdi] = fd;
+              if (pdi > fdi) {
+                pattern = pattern.slice(pdi);
+              } else if (fdi > pdi) {
+                file = file.slice(fdi);
+              }
+            }
+          }
+        }
+        const { optimizationLevel = 1 } = this.options;
+        if (optimizationLevel >= 2) {
+          file = this.levelTwoFileOptimize(file);
+        }
+        this.debug("matchOne", this, { file, pattern });
+        this.debug("matchOne", file.length, pattern.length);
+        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
+          this.debug("matchOne loop");
+          var p = pattern[pi];
+          var f = file[fi];
+          this.debug(pattern, p, f);
+          if (p === false) {
+            return false;
+          }
+          if (p === exports2.GLOBSTAR) {
+            this.debug("GLOBSTAR", [pattern, p, f]);
+            var fr = fi;
+            var pr = pi + 1;
+            if (pr === pl) {
+              this.debug("** at the end");
+              for (; fi < fl; fi++) {
+                if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".")
+                  return false;
+              }
+              return true;
+            }
+            while (fr < fl) {
+              var swallowee = file[fr];
+              this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
+              if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
+                this.debug("globstar found match!", fr, fl, swallowee);
+                return true;
+              } else {
+                if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
+                  this.debug("dot detected!", file, fr, pattern, pr);
+                  break;
+                }
+                this.debug("globstar swallow a segment, and continue");
+                fr++;
+              }
+            }
+            if (partial) {
+              this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
+              if (fr === fl) {
+                return true;
+              }
+            }
+            return false;
+          }
+          let hit;
+          if (typeof p === "string") {
+            hit = f === p;
+            this.debug("string match", p, f, hit);
+          } else {
+            hit = p.test(f);
+            this.debug("pattern match", p, f, hit);
+          }
+          if (!hit)
+            return false;
+        }
+        if (fi === fl && pi === pl) {
+          return true;
+        } else if (fi === fl) {
+          return partial;
+        } else if (pi === pl) {
+          return fi === fl - 1 && file[fi] === "";
+        } else {
+          throw new Error("wtf?");
+        }
       }
-      /**
-       * Get assembled HTTP request body for sub requests.
-       */
-      getHttpRequestBody() {
-        return this.batchRequest.getHttpRequestBody();
+      braceExpand() {
+        return (0, exports2.braceExpand)(this.pattern, this.options);
       }
-      /**
-       * Get sub requests that are added into the batch request.
-       */
-      getSubRequests() {
-        return this.batchRequest.getSubRequests();
+      parse(pattern) {
+        (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
+        const options = this.options;
+        if (pattern === "**")
+          return exports2.GLOBSTAR;
+        if (pattern === "")
+          return "";
+        let m;
+        let fastTest = null;
+        if (m = pattern.match(starRE)) {
+          fastTest = options.dot ? starTestDot : starTest;
+        } else if (m = pattern.match(starDotExtRE)) {
+          fastTest = (options.nocase ? options.dot ? starDotExtTestNocaseDot : starDotExtTestNocase : options.dot ? starDotExtTestDot : starDotExtTest)(m[1]);
+        } else if (m = pattern.match(qmarksRE)) {
+          fastTest = (options.nocase ? options.dot ? qmarksTestNocaseDot : qmarksTestNocase : options.dot ? qmarksTestDot : qmarksTest)(m);
+        } else if (m = pattern.match(starDotStarRE)) {
+          fastTest = options.dot ? starDotStarTestDot : starDotStarTest;
+        } else if (m = pattern.match(dotStarRE)) {
+          fastTest = dotStarTest;
+        }
+        const re = ast_js_1.AST.fromGlob(pattern, this.options).toMMPattern();
+        if (fastTest && typeof re === "object") {
+          Reflect.defineProperty(re, "test", { value: fastTest });
+        }
+        return re;
       }
-      async addSubRequestInternal(subRequest, assembleSubRequestFunc) {
-        await Mutex_js_1.Mutex.lock(this.batch);
+      makeRe() {
+        if (this.regexp || this.regexp === false)
+          return this.regexp;
+        const set2 = this.set;
+        if (!set2.length) {
+          this.regexp = false;
+          return this.regexp;
+        }
+        const options = this.options;
+        const twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
+        const flags = new Set(options.nocase ? ["i"] : []);
+        let re = set2.map((pattern) => {
+          const pp = pattern.map((p) => {
+            if (p instanceof RegExp) {
+              for (const f of p.flags.split(""))
+                flags.add(f);
+            }
+            return typeof p === "string" ? regExpEscape(p) : p === exports2.GLOBSTAR ? exports2.GLOBSTAR : p._src;
+          });
+          pp.forEach((p, i) => {
+            const next = pp[i + 1];
+            const prev = pp[i - 1];
+            if (p !== exports2.GLOBSTAR || prev === exports2.GLOBSTAR) {
+              return;
+            }
+            if (prev === void 0) {
+              if (next !== void 0 && next !== exports2.GLOBSTAR) {
+                pp[i + 1] = "(?:\\/|" + twoStar + "\\/)?" + next;
+              } else {
+                pp[i] = twoStar;
+              }
+            } else if (next === void 0) {
+              pp[i - 1] = prev + "(?:\\/|\\/" + twoStar + ")?";
+            } else if (next !== exports2.GLOBSTAR) {
+              pp[i - 1] = prev + "(?:\\/|\\/" + twoStar + "\\/)" + next;
+              pp[i + 1] = exports2.GLOBSTAR;
+            }
+          });
+          const filtered = pp.filter((p) => p !== exports2.GLOBSTAR);
+          if (this.partial && filtered.length >= 1) {
+            const prefixes = [];
+            for (let i = 1; i <= filtered.length; i++) {
+              prefixes.push(filtered.slice(0, i).join("/"));
+            }
+            return "(?:" + prefixes.join("|") + ")";
+          }
+          return filtered.join("/");
+        }).join("|");
+        const [open, close] = set2.length > 1 ? ["(?:", ")"] : ["", ""];
+        re = "^" + open + re + close + "$";
+        if (this.partial) {
+          re = "^(?:\\/|" + open + re.slice(1, -1) + close + ")$";
+        }
+        if (this.negate)
+          re = "^(?!" + re + ").+$";
         try {
-          this.batchRequest.preAddSubRequest(subRequest);
-          await assembleSubRequestFunc();
-          this.batchRequest.postAddSubRequest(subRequest);
-        } finally {
-          await Mutex_js_1.Mutex.unlock(this.batch);
+          this.regexp = new RegExp(re, [...flags].join(""));
+        } catch (ex) {
+          this.regexp = false;
         }
+        return this.regexp;
       }
-      setBatchType(batchType) {
-        if (!this.batchType) {
-          this.batchType = batchType;
-        }
-        if (this.batchType !== batchType) {
-          throw new RangeError(`BlobBatch only supports one operation type per batch and it already is being used for ${this.batchType} operations.`);
+      slashSplit(p) {
+        if (this.preserveMultipleSlashes) {
+          return p.split("/");
+        } else if (this.isWindows && /^\/\/[^\/]+/.test(p)) {
+          return ["", ...p.split(/\/+/)];
+        } else {
+          return p.split(/\/+/);
         }
       }
-      async deleteBlob(urlOrBlobClient, credentialOrOptions, options) {
-        let url;
-        let credential;
-        if (typeof urlOrBlobClient === "string" && (core_util_2.isNodeLike && credentialOrOptions instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrOptions instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrOptions))) {
-          url = urlOrBlobClient;
-          credential = credentialOrOptions;
-        } else if (urlOrBlobClient instanceof Clients_js_1.BlobClient) {
-          url = urlOrBlobClient.url;
-          credential = urlOrBlobClient.credential;
-          options = credentialOrOptions;
-        } else {
-          throw new RangeError("Invalid arguments. Either url and credential, or BlobClient need be provided.");
+      match(f, partial = this.partial) {
+        this.debug("match", f, this.pattern);
+        if (this.comment) {
+          return false;
         }
-        if (!options) {
-          options = {};
+        if (this.empty) {
+          return f === "";
         }
-        return tracing_js_1.tracingClient.withSpan("BatchDeleteRequest-addSubRequest", options, async (updatedOptions) => {
-          this.setBatchType("delete");
-          await this.addSubRequestInternal({
-            url,
-            credential
-          }, async () => {
-            await new Clients_js_1.BlobClient(url, this.batchRequest.createPipeline(credential)).delete(updatedOptions);
-          });
-        });
-      }
-      async setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions, options) {
-        let url;
-        let credential;
-        let tier;
-        if (typeof urlOrBlobClient === "string" && (core_util_2.isNodeLike && credentialOrTier instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrTier instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrTier))) {
-          url = urlOrBlobClient;
-          credential = credentialOrTier;
-          tier = tierOrOptions;
-        } else if (urlOrBlobClient instanceof Clients_js_1.BlobClient) {
-          url = urlOrBlobClient.url;
-          credential = urlOrBlobClient.credential;
-          tier = credentialOrTier;
-          options = tierOrOptions;
-        } else {
-          throw new RangeError("Invalid arguments. Either url and credential, or BlobClient need be provided.");
+        if (f === "/" && partial) {
+          return true;
         }
-        if (!options) {
-          options = {};
+        const options = this.options;
+        if (this.isWindows) {
+          f = f.split("\\").join("/");
         }
-        return tracing_js_1.tracingClient.withSpan("BatchSetTierRequest-addSubRequest", options, async (updatedOptions) => {
-          this.setBatchType("setAccessTier");
-          await this.addSubRequestInternal({
-            url,
-            credential
-          }, async () => {
-            await new Clients_js_1.BlobClient(url, this.batchRequest.createPipeline(credential)).setAccessTier(tier, updatedOptions);
-          });
-        });
-      }
-    };
-    exports2.BlobBatch = BlobBatch;
-    var InnerBatchRequest = class {
-      operationCount;
-      body;
-      subRequests;
-      boundary;
-      subRequestPrefix;
-      multipartContentType;
-      batchRequestEnding;
-      constructor() {
-        this.operationCount = 0;
-        this.body = "";
-        const tempGuid = (0, core_util_1.randomUUID)();
-        this.boundary = `batch_${tempGuid}`;
-        this.subRequestPrefix = `--${this.boundary}${constants_js_1.HTTP_LINE_ENDING}${constants_js_1.HeaderConstants.CONTENT_TYPE}: application/http${constants_js_1.HTTP_LINE_ENDING}${constants_js_1.HeaderConstants.CONTENT_TRANSFER_ENCODING}: binary`;
-        this.multipartContentType = `multipart/mixed; boundary=${this.boundary}`;
-        this.batchRequestEnding = `--${this.boundary}--`;
-        this.subRequests = /* @__PURE__ */ new Map();
-      }
-      /**
-       * Create pipeline to assemble sub requests. The idea here is to use existing
-       * credential and serialization/deserialization components, with additional policies to
-       * filter unnecessary headers, assemble sub requests into request's body
-       * and intercept request from going to wire.
-       * @param credential -  Such as AnonymousCredential, StorageSharedKeyCredential or any credential from the `@azure/identity` package to authenticate requests to the service. You can also provide an object that implements the TokenCredential interface. If not specified, AnonymousCredential is used.
-       */
-      createPipeline(credential) {
-        const corePipeline = (0, core_rest_pipeline_1.createEmptyPipeline)();
-        corePipeline.addPolicy((0, core_client_1.serializationPolicy)({
-          stringifyXML: core_xml_1.stringifyXML,
-          serializerOptions: {
-            xml: {
-              xmlCharKey: "#"
-            }
+        const ff = this.slashSplit(f);
+        this.debug(this.pattern, "split", ff);
+        const set2 = this.set;
+        this.debug(this.pattern, "set", set2);
+        let filename = ff[ff.length - 1];
+        if (!filename) {
+          for (let i = ff.length - 2; !filename && i >= 0; i--) {
+            filename = ff[i];
           }
-        }), { phase: "Serialize" });
-        corePipeline.addPolicy(batchHeaderFilterPolicy());
-        corePipeline.addPolicy(batchRequestAssemblePolicy(this), { afterPhase: "Sign" });
-        if ((0, core_auth_1.isTokenCredential)(credential)) {
-          corePipeline.addPolicy((0, core_rest_pipeline_1.bearerTokenAuthenticationPolicy)({
-            credential,
-            scopes: constants_js_1.StorageOAuthScopes,
-            challengeCallbacks: { authorizeRequestOnChallenge: core_client_1.authorizeRequestOnTenantChallenge }
-          }), { phase: "Sign" });
-        } else if (credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential) {
-          corePipeline.addPolicy((0, StorageSharedKeyCredentialPolicyV2_js_1.storageSharedKeyCredentialPolicy)({
-            accountName: credential.accountName,
-            accountKey: credential.accountKey
-          }), { phase: "Sign" });
-        }
-        const pipeline = new Pipeline_js_1.Pipeline([]);
-        pipeline._credential = credential;
-        pipeline._corePipeline = corePipeline;
-        return pipeline;
-      }
-      appendSubRequestToBody(request2) {
-        this.body += [
-          this.subRequestPrefix,
-          // sub request constant prefix
-          `${constants_js_1.HeaderConstants.CONTENT_ID}: ${this.operationCount}`,
-          // sub request's content ID
-          "",
-          // empty line after sub request's content ID
-          `${request2.method.toString()} ${(0, utils_common_js_1.getURLPathAndQuery)(request2.url)} ${constants_js_1.HTTP_VERSION_1_1}${constants_js_1.HTTP_LINE_ENDING}`
-          // sub request start line with method
-        ].join(constants_js_1.HTTP_LINE_ENDING);
-        for (const [name, value] of request2.headers) {
-          this.body += `${name}: ${value}${constants_js_1.HTTP_LINE_ENDING}`;
         }
-        this.body += constants_js_1.HTTP_LINE_ENDING;
-      }
-      preAddSubRequest(subRequest) {
-        if (this.operationCount >= constants_js_1.BATCH_MAX_REQUEST) {
-          throw new RangeError(`Cannot exceed ${constants_js_1.BATCH_MAX_REQUEST} sub requests in a single batch`);
+        for (let i = 0; i < set2.length; i++) {
+          const pattern = set2[i];
+          let file = ff;
+          if (options.matchBase && pattern.length === 1) {
+            file = [filename];
+          }
+          const hit = this.matchOne(file, pattern, partial);
+          if (hit) {
+            if (options.flipNegate) {
+              return true;
+            }
+            return !this.negate;
+          }
         }
-        const path3 = (0, utils_common_js_1.getURLPath)(subRequest.url);
-        if (!path3 || path3 === "") {
-          throw new RangeError(`Invalid url for sub request: '${subRequest.url}'`);
+        if (options.flipNegate) {
+          return false;
         }
+        return this.negate;
       }
-      postAddSubRequest(subRequest) {
-        this.subRequests.set(this.operationCount, subRequest);
-        this.operationCount++;
-      }
-      // Return the http request body with assembling the ending line to the sub request body.
-      getHttpRequestBody() {
-        return `${this.body}${this.batchRequestEnding}${constants_js_1.HTTP_LINE_ENDING}`;
-      }
-      getMultipartContentType() {
-        return this.multipartContentType;
-      }
-      getSubRequests() {
-        return this.subRequests;
+      static defaults(def) {
+        return exports2.minimatch.defaults(def).Minimatch;
       }
     };
-    function batchRequestAssemblePolicy(batchRequest) {
-      return {
-        name: "batchRequestAssemblePolicy",
-        async sendRequest(request2) {
-          batchRequest.appendSubRequestToBody(request2);
-          return {
-            request: request2,
-            status: 200,
-            headers: (0, core_rest_pipeline_1.createHttpHeaders)()
-          };
-        }
-      };
-    }
-    function batchHeaderFilterPolicy() {
-      return {
-        name: "batchHeaderFilterPolicy",
-        async sendRequest(request2, next) {
-          let xMsHeaderName = "";
-          for (const [name] of request2.headers) {
-            if ((0, utils_common_js_1.iEqual)(name, constants_js_1.HeaderConstants.X_MS_VERSION)) {
-              xMsHeaderName = name;
-            }
-          }
-          if (xMsHeaderName !== "") {
-            request2.headers.delete(xMsHeaderName);
-          }
-          return next(request2);
-        }
-      };
-    }
+    exports2.Minimatch = Minimatch;
+    var ast_js_2 = require_ast();
+    Object.defineProperty(exports2, "AST", { enumerable: true, get: function() {
+      return ast_js_2.AST;
+    } });
+    var escape_js_2 = require_escape();
+    Object.defineProperty(exports2, "escape", { enumerable: true, get: function() {
+      return escape_js_2.escape;
+    } });
+    var unescape_js_2 = require_unescape();
+    Object.defineProperty(exports2, "unescape", { enumerable: true, get: function() {
+      return unescape_js_2.unescape;
+    } });
+    exports2.minimatch.AST = ast_js_1.AST;
+    exports2.minimatch.Minimatch = Minimatch;
+    exports2.minimatch.escape = escape_js_1.escape;
+    exports2.minimatch.unescape = unescape_js_1.unescape;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/BlobBatchClient.js
-var require_BlobBatchClient = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BlobBatchClient.js"(exports2) {
+// node_modules/lru-cache/dist/commonjs/index.js
+var require_commonjs21 = __commonJS({
+  "node_modules/lru-cache/dist/commonjs/index.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobBatchClient = void 0;
-    var BatchResponseParser_js_1 = require_BatchResponseParser();
-    var BatchUtils_js_1 = require_BatchUtils();
-    var BlobBatch_js_1 = require_BlobBatch();
-    var tracing_js_1 = require_tracing();
-    var AnonymousCredential_js_1 = require_AnonymousCredential();
-    var StorageContextClient_js_1 = require_StorageContextClient();
-    var Pipeline_js_1 = require_Pipeline();
-    var utils_common_js_1 = require_utils_common();
-    var BlobBatchClient = class {
-      serviceOrContainerContext;
-      constructor(url, credentialOrPipeline, options) {
-        let pipeline;
-        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipeline)) {
-          pipeline = credentialOrPipeline;
-        } else if (!credentialOrPipeline) {
-          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-        } else {
-          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipeline, options);
+    exports2.LRUCache = void 0;
+    var perf = typeof performance === "object" && performance && typeof performance.now === "function" ? performance : Date;
+    var warned = /* @__PURE__ */ new Set();
+    var PROCESS = typeof process === "object" && !!process ? process : {};
+    var emitWarning = (msg, type2, code, fn) => {
+      typeof PROCESS.emitWarning === "function" ? PROCESS.emitWarning(msg, type2, code, fn) : console.error(`[${code}] ${type2}: ${msg}`);
+    };
+    var AC = globalThis.AbortController;
+    var AS = globalThis.AbortSignal;
+    if (typeof AC === "undefined") {
+      AS = class AbortSignal {
+        onabort;
+        _onabort = [];
+        reason;
+        aborted = false;
+        addEventListener(_2, fn) {
+          this._onabort.push(fn);
         }
-        const storageClientContext = new StorageContextClient_js_1.StorageContextClient(url, (0, Pipeline_js_1.getCoreClientOptions)(pipeline));
-        const path3 = (0, utils_common_js_1.getURLPath)(url);
-        if (path3 && path3 !== "/") {
-          this.serviceOrContainerContext = storageClientContext.container;
-        } else {
-          this.serviceOrContainerContext = storageClientContext.service;
+      };
+      AC = class AbortController {
+        constructor() {
+          warnACPolyfill();
         }
-      }
-      /**
-       * Creates a {@link BlobBatch}.
-       * A BlobBatch represents an aggregated set of operations on blobs.
-       */
-      createBatch() {
-        return new BlobBatch_js_1.BlobBatch();
-      }
-      async deleteBlobs(urlsOrBlobClients, credentialOrOptions, options) {
-        const batch = new BlobBatch_js_1.BlobBatch();
-        for (const urlOrBlobClient of urlsOrBlobClients) {
-          if (typeof urlOrBlobClient === "string") {
-            await batch.deleteBlob(urlOrBlobClient, credentialOrOptions, options);
-          } else {
-            await batch.deleteBlob(urlOrBlobClient, credentialOrOptions);
+        signal = new AS();
+        abort(reason) {
+          if (this.signal.aborted)
+            return;
+          this.signal.reason = reason;
+          this.signal.aborted = true;
+          for (const fn of this.signal._onabort) {
+            fn(reason);
           }
+          this.signal.onabort?.(reason);
         }
-        return this.submitBatch(batch);
+      };
+      let printACPolyfillWarning = PROCESS.env?.LRU_CACHE_IGNORE_AC_WARNING !== "1";
+      const warnACPolyfill = () => {
+        if (!printACPolyfillWarning)
+          return;
+        printACPolyfillWarning = false;
+        emitWarning("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.", "NO_ABORT_CONTROLLER", "ENOTSUP", warnACPolyfill);
+      };
+    }
+    var shouldWarn = (code) => !warned.has(code);
+    var isPosInt = (n) => n && n === Math.floor(n) && n > 0 && isFinite(n);
+    var getUintArray = (max) => !isPosInt(max) ? null : max <= Math.pow(2, 8) ? Uint8Array : max <= Math.pow(2, 16) ? Uint16Array : max <= Math.pow(2, 32) ? Uint32Array : max <= Number.MAX_SAFE_INTEGER ? ZeroArray : null;
+    var ZeroArray = class extends Array {
+      constructor(size) {
+        super(size);
+        this.fill(0);
       }
-      async setBlobsAccessTier(urlsOrBlobClients, credentialOrTier, tierOrOptions, options) {
-        const batch = new BlobBatch_js_1.BlobBatch();
-        for (const urlOrBlobClient of urlsOrBlobClients) {
-          if (typeof urlOrBlobClient === "string") {
-            await batch.setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions, options);
-          } else {
-            await batch.setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions);
-          }
-        }
-        return this.submitBatch(batch);
+    };
+    var Stack = class _Stack {
+      heap;
+      length;
+      // private constructor
+      static #constructing = false;
+      static create(max) {
+        const HeapCls = getUintArray(max);
+        if (!HeapCls)
+          return [];
+        _Stack.#constructing = true;
+        const s = new _Stack(max, HeapCls);
+        _Stack.#constructing = false;
+        return s;
       }
-      /**
-       * Submit batch request which consists of multiple subrequests.
-       *
-       * Get `blobBatchClient` and other details before running the snippets.
-       * `blobServiceClient.getBlobBatchClient()` gives the `blobBatchClient`
-       *
-       * Example usage:
-       *
-       * ```ts snippet:BlobBatchClientSubmitBatch
-       * import { DefaultAzureCredential } from "@azure/identity";
-       * import { BlobServiceClient, BlobBatch } from "@azure/storage-blob";
-       *
-       * const account = "";
-       * const credential = new DefaultAzureCredential();
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   credential,
-       * );
-       *
-       * const containerName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blobBatchClient = containerClient.getBlobBatchClient();
-       *
-       * const batchRequest = new BlobBatch();
-       * await batchRequest.deleteBlob("", credential);
-       * await batchRequest.deleteBlob("", credential, {
-       *   deleteSnapshots: "include",
-       * });
-       * const batchResp = await blobBatchClient.submitBatch(batchRequest);
-       * console.log(batchResp.subResponsesSucceededCount);
-       * ```
-       *
-       * Example using a lease:
-       *
-       * ```ts snippet:BlobBatchClientSubmitBatchWithLease
-       * import { DefaultAzureCredential } from "@azure/identity";
-       * import { BlobServiceClient, BlobBatch } from "@azure/storage-blob";
-       *
-       * const account = "";
-       * const credential = new DefaultAzureCredential();
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   credential,
-       * );
-       *
-       * const containerName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blobBatchClient = containerClient.getBlobBatchClient();
-       * const blobClient = containerClient.getBlobClient("");
-       *
-       * const batchRequest = new BlobBatch();
-       * await batchRequest.setBlobAccessTier(blobClient, "Cool");
-       * await batchRequest.setBlobAccessTier(blobClient, "Cool", {
-       *   conditions: { leaseId: "" },
-       * });
-       * const batchResp = await blobBatchClient.submitBatch(batchRequest);
-       * console.log(batchResp.subResponsesSucceededCount);
-       * ```
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch
-       *
-       * @param batchRequest - A set of Delete or SetTier operations.
-       * @param options -
-       */
-      async submitBatch(batchRequest, options = {}) {
-        if (!batchRequest || batchRequest.getSubRequests().size === 0) {
-          throw new RangeError("Batch request should contain one or more sub requests.");
+      constructor(max, HeapCls) {
+        if (!_Stack.#constructing) {
+          throw new TypeError("instantiate Stack using Stack.create(n)");
         }
-        return tracing_js_1.tracingClient.withSpan("BlobBatchClient-submitBatch", options, async (updatedOptions) => {
-          const batchRequestBody = batchRequest.getHttpRequestBody();
-          const rawBatchResponse = (0, utils_common_js_1.assertResponse)(await this.serviceOrContainerContext.submitBatch((0, BatchUtils_js_1.utf8ByteLength)(batchRequestBody), batchRequest.getMultiPartContentType(), batchRequestBody, {
-            ...updatedOptions
-          }));
-          const batchResponseParser = new BatchResponseParser_js_1.BatchResponseParser(rawBatchResponse, batchRequest.getSubRequests());
-          const responseSummary = await batchResponseParser.parseBatchResponse();
-          const res = {
-            _response: rawBatchResponse._response,
-            contentType: rawBatchResponse.contentType,
-            errorCode: rawBatchResponse.errorCode,
-            requestId: rawBatchResponse.requestId,
-            clientRequestId: rawBatchResponse.clientRequestId,
-            version: rawBatchResponse.version,
-            subResponses: responseSummary.subResponses,
-            subResponsesSucceededCount: responseSummary.subResponsesSucceededCount,
-            subResponsesFailedCount: responseSummary.subResponsesFailedCount
-          };
-          return res;
-        });
+        this.heap = new HeapCls(max);
+        this.length = 0;
+      }
+      push(n) {
+        this.heap[this.length++] = n;
+      }
+      pop() {
+        return this.heap[--this.length];
       }
     };
-    exports2.BlobBatchClient = BlobBatchClient;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/ContainerClient.js
-var require_ContainerClient = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/ContainerClient.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ContainerClient = void 0;
-    var core_rest_pipeline_1 = require_commonjs8();
-    var core_util_1 = require_commonjs6();
-    var core_auth_1 = require_commonjs9();
-    var AnonymousCredential_js_1 = require_AnonymousCredential();
-    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
-    var Pipeline_js_1 = require_Pipeline();
-    var StorageClient_js_1 = require_StorageClient();
-    var tracing_js_1 = require_tracing();
-    var utils_common_js_1 = require_utils_common();
-    var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues();
-    var BlobLeaseClient_js_1 = require_BlobLeaseClient();
-    var Clients_js_1 = require_Clients();
-    var BlobBatchClient_js_1 = require_BlobBatchClient();
-    var ContainerClient = class extends StorageClient_js_1.StorageClient {
+    var LRUCache = class _LRUCache {
+      // options that cannot be changed without disaster
+      #max;
+      #maxSize;
+      #dispose;
+      #onInsert;
+      #disposeAfter;
+      #fetchMethod;
+      #memoMethod;
+      /**
+       * {@link LRUCache.OptionsBase.ttl}
+       */
+      ttl;
       /**
-       * containerContext provided by protocol layer.
+       * {@link LRUCache.OptionsBase.ttlResolution}
        */
-      containerContext;
-      _containerName;
+      ttlResolution;
       /**
-       * The name of the container.
+       * {@link LRUCache.OptionsBase.ttlAutopurge}
        */
-      get containerName() {
-        return this._containerName;
-      }
-      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, options) {
-        let pipeline;
-        let url;
-        options = options || {};
-        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
-          url = urlOrConnectionString;
-          pipeline = credentialOrPipelineOrContainerName;
-        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
-          url = urlOrConnectionString;
-          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
-        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
-          url = urlOrConnectionString;
-          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string") {
-          const containerName = credentialOrPipelineOrContainerName;
-          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
-          if (extractedCreds.kind === "AccountConnString") {
-            if (core_util_1.isNodeLike) {
-              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
-              url = (0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName));
-              if (!options.proxyOptions) {
-                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
-              }
-              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
-            } else {
-              throw new Error("Account connection string is only supported in Node.js environment");
-            }
-          } else if (extractedCreds.kind === "SASConnString") {
-            url = (0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)) + "?" + extractedCreds.accountSas;
-            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-          } else {
-            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
-          }
-        } else {
-          throw new Error("Expecting non-empty strings for containerName parameter");
-        }
-        super(url, pipeline);
-        this._containerName = this.getContainerNameFromUrl();
-        this.containerContext = this.storageClientContext.container;
-      }
+      ttlAutopurge;
       /**
-       * Creates a new container under the specified account. If the container with
-       * the same name already exists, the operation fails.
-       * @see https://learn.microsoft.com/rest/api/storageservices/create-container
-       * Naming rules: @see https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata
-       *
-       * @param options - Options to Container Create operation.
-       *
-       *
-       * Example usage:
-       *
-       * ```ts snippet:ContainerClientCreate
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
+       * {@link LRUCache.OptionsBase.updateAgeOnGet}
+       */
+      updateAgeOnGet;
+      /**
+       * {@link LRUCache.OptionsBase.updateAgeOnHas}
+       */
+      updateAgeOnHas;
+      /**
+       * {@link LRUCache.OptionsBase.allowStale}
+       */
+      allowStale;
+      /**
+       * {@link LRUCache.OptionsBase.noDisposeOnSet}
+       */
+      noDisposeOnSet;
+      /**
+       * {@link LRUCache.OptionsBase.noUpdateTTL}
+       */
+      noUpdateTTL;
+      /**
+       * {@link LRUCache.OptionsBase.maxEntrySize}
+       */
+      maxEntrySize;
+      /**
+       * {@link LRUCache.OptionsBase.sizeCalculation}
+       */
+      sizeCalculation;
+      /**
+       * {@link LRUCache.OptionsBase.noDeleteOnFetchRejection}
+       */
+      noDeleteOnFetchRejection;
+      /**
+       * {@link LRUCache.OptionsBase.noDeleteOnStaleGet}
+       */
+      noDeleteOnStaleGet;
+      /**
+       * {@link LRUCache.OptionsBase.allowStaleOnFetchAbort}
+       */
+      allowStaleOnFetchAbort;
+      /**
+       * {@link LRUCache.OptionsBase.allowStaleOnFetchRejection}
+       */
+      allowStaleOnFetchRejection;
+      /**
+       * {@link LRUCache.OptionsBase.ignoreFetchAbort}
+       */
+      ignoreFetchAbort;
+      // computed properties
+      #size;
+      #calculatedSize;
+      #keyMap;
+      #keyList;
+      #valList;
+      #next;
+      #prev;
+      #head;
+      #tail;
+      #free;
+      #disposed;
+      #sizes;
+      #starts;
+      #ttls;
+      #hasDispose;
+      #hasFetchMethod;
+      #hasDisposeAfter;
+      #hasOnInsert;
+      /**
+       * Do not call this method unless you need to inspect the
+       * inner workings of the cache.  If anything returned by this
+       * object is modified in any way, strange breakage may occur.
        *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
+       * These fields are private for a reason!
        *
-       * const containerName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const createContainerResponse = await containerClient.create();
-       * console.log("Container was created successfully", createContainerResponse.requestId);
-       * ```
+       * @internal
        */
-      async create(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-create", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.containerContext.create(updatedOptions));
-        });
+      static unsafeExposeInternals(c) {
+        return {
+          // properties
+          starts: c.#starts,
+          ttls: c.#ttls,
+          sizes: c.#sizes,
+          keyMap: c.#keyMap,
+          keyList: c.#keyList,
+          valList: c.#valList,
+          next: c.#next,
+          prev: c.#prev,
+          get head() {
+            return c.#head;
+          },
+          get tail() {
+            return c.#tail;
+          },
+          free: c.#free,
+          // methods
+          isBackgroundFetch: (p) => c.#isBackgroundFetch(p),
+          backgroundFetch: (k, index, options, context2) => c.#backgroundFetch(k, index, options, context2),
+          moveToTail: (index) => c.#moveToTail(index),
+          indexes: (options) => c.#indexes(options),
+          rindexes: (options) => c.#rindexes(options),
+          isStale: (index) => c.#isStale(index)
+        };
       }
+      // Protected read-only members
       /**
-       * Creates a new container under the specified account. If the container with
-       * the same name already exists, it is not changed.
-       * @see https://learn.microsoft.com/rest/api/storageservices/create-container
-       * Naming rules: @see https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata
-       *
-       * @param options -
+       * {@link LRUCache.OptionsBase.max} (read-only)
        */
-      async createIfNotExists(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-createIfNotExists", options, async (updatedOptions) => {
-          try {
-            const res = await this.create(updatedOptions);
-            return {
-              succeeded: true,
-              ...res,
-              _response: res._response
-              // _response is made non-enumerable
-            };
-          } catch (e) {
-            if (e.details?.errorCode === "ContainerAlreadyExists") {
-              return {
-                succeeded: false,
-                ...e.response?.parsedHeaders,
-                _response: e.response
-              };
-            } else {
-              throw e;
-            }
-          }
-        });
+      get max() {
+        return this.#max;
       }
       /**
-       * Returns true if the Azure container resource represented by this client exists; false otherwise.
-       *
-       * NOTE: use this function with care since an existing container might be deleted by other clients or
-       * applications. Vice versa new containers with the same name might be added by other clients or
-       * applications after this function completes.
-       *
-       * @param options -
+       * {@link LRUCache.OptionsBase.maxSize} (read-only)
        */
-      async exists(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-exists", options, async (updatedOptions) => {
-          try {
-            await this.getProperties({
-              abortSignal: options.abortSignal,
-              tracingOptions: updatedOptions.tracingOptions
-            });
-            return true;
-          } catch (e) {
-            if (e.statusCode === 404) {
-              return false;
-            }
-            throw e;
-          }
-        });
+      get maxSize() {
+        return this.#maxSize;
       }
       /**
-       * Creates a {@link BlobClient}
-       *
-       * @param blobName - A blob name
-       * @returns A new BlobClient object for the given blob name.
+       * The total computed size of items in the cache (read-only)
        */
-      getBlobClient(blobName) {
-        return new Clients_js_1.BlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
+      get calculatedSize() {
+        return this.#calculatedSize;
       }
       /**
-       * Creates an {@link AppendBlobClient}
-       *
-       * @param blobName - An append blob name
+       * The number of items stored in the cache (read-only)
        */
-      getAppendBlobClient(blobName) {
-        return new Clients_js_1.AppendBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
+      get size() {
+        return this.#size;
       }
       /**
-       * Creates a {@link BlockBlobClient}
-       *
-       * @param blobName - A block blob name
-       *
-       *
-       * Example usage:
-       *
-       * ```ts snippet:ClientsUpload
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blockBlobClient = containerClient.getBlockBlobClient(blobName);
-       *
-       * const content = "Hello world!";
-       * const uploadBlobResponse = await blockBlobClient.upload(content, content.length);
-       * ```
+       * {@link LRUCache.OptionsBase.fetchMethod} (read-only)
        */
-      getBlockBlobClient(blobName) {
-        return new Clients_js_1.BlockBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
+      get fetchMethod() {
+        return this.#fetchMethod;
+      }
+      get memoMethod() {
+        return this.#memoMethod;
       }
       /**
-       * Creates a {@link PageBlobClient}
-       *
-       * @param blobName - A page blob name
+       * {@link LRUCache.OptionsBase.dispose} (read-only)
        */
-      getPageBlobClient(blobName) {
-        return new Clients_js_1.PageBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
+      get dispose() {
+        return this.#dispose;
       }
       /**
-       * Returns all user-defined metadata and system properties for the specified
-       * container. The data returned does not include the container's list of blobs.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-container-properties
-       *
-       * WARNING: The `metadata` object returned in the response will have its keys in lowercase, even if
-       * they originally contained uppercase characters. This differs from the metadata keys returned by
-       * the `listContainers` method of {@link BlobServiceClient} using the `includeMetadata` option, which
-       * will retain their original casing.
-       *
-       * @param options - Options to Container Get Properties operation.
+       * {@link LRUCache.OptionsBase.onInsert} (read-only)
        */
-      async getProperties(options = {}) {
-        if (!options.conditions) {
-          options.conditions = {};
-        }
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-getProperties", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.containerContext.getProperties({
-            abortSignal: options.abortSignal,
-            ...options.conditions,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      get onInsert() {
+        return this.#onInsert;
       }
       /**
-       * Marks the specified container for deletion. The container and any blobs
-       * contained within it are later deleted during garbage collection.
-       * @see https://learn.microsoft.com/rest/api/storageservices/delete-container
-       *
-       * @param options - Options to Container Delete operation.
+       * {@link LRUCache.OptionsBase.disposeAfter} (read-only)
        */
-      async delete(options = {}) {
-        if (!options.conditions) {
-          options.conditions = {};
+      get disposeAfter() {
+        return this.#disposeAfter;
+      }
+      constructor(options) {
+        const { max = 0, ttl, ttlResolution = 1, ttlAutopurge, updateAgeOnGet, updateAgeOnHas, allowStale, dispose, onInsert, disposeAfter, noDisposeOnSet, noUpdateTTL, maxSize = 0, maxEntrySize = 0, sizeCalculation, fetchMethod, memoMethod, noDeleteOnFetchRejection, noDeleteOnStaleGet, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort } = options;
+        if (max !== 0 && !isPosInt(max)) {
+          throw new TypeError("max option must be a nonnegative integer");
+        }
+        const UintArray = max ? getUintArray(max) : Array;
+        if (!UintArray) {
+          throw new Error("invalid max value: " + max);
+        }
+        this.#max = max;
+        this.#maxSize = maxSize;
+        this.maxEntrySize = maxEntrySize || this.#maxSize;
+        this.sizeCalculation = sizeCalculation;
+        if (this.sizeCalculation) {
+          if (!this.#maxSize && !this.maxEntrySize) {
+            throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");
+          }
+          if (typeof this.sizeCalculation !== "function") {
+            throw new TypeError("sizeCalculation set to non-function");
+          }
+        }
+        if (memoMethod !== void 0 && typeof memoMethod !== "function") {
+          throw new TypeError("memoMethod must be a function if defined");
+        }
+        this.#memoMethod = memoMethod;
+        if (fetchMethod !== void 0 && typeof fetchMethod !== "function") {
+          throw new TypeError("fetchMethod must be a function if specified");
+        }
+        this.#fetchMethod = fetchMethod;
+        this.#hasFetchMethod = !!fetchMethod;
+        this.#keyMap = /* @__PURE__ */ new Map();
+        this.#keyList = new Array(max).fill(void 0);
+        this.#valList = new Array(max).fill(void 0);
+        this.#next = new UintArray(max);
+        this.#prev = new UintArray(max);
+        this.#head = 0;
+        this.#tail = 0;
+        this.#free = Stack.create(max);
+        this.#size = 0;
+        this.#calculatedSize = 0;
+        if (typeof dispose === "function") {
+          this.#dispose = dispose;
+        }
+        if (typeof onInsert === "function") {
+          this.#onInsert = onInsert;
+        }
+        if (typeof disposeAfter === "function") {
+          this.#disposeAfter = disposeAfter;
+          this.#disposed = [];
+        } else {
+          this.#disposeAfter = void 0;
+          this.#disposed = void 0;
+        }
+        this.#hasDispose = !!this.#dispose;
+        this.#hasOnInsert = !!this.#onInsert;
+        this.#hasDisposeAfter = !!this.#disposeAfter;
+        this.noDisposeOnSet = !!noDisposeOnSet;
+        this.noUpdateTTL = !!noUpdateTTL;
+        this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection;
+        this.allowStaleOnFetchRejection = !!allowStaleOnFetchRejection;
+        this.allowStaleOnFetchAbort = !!allowStaleOnFetchAbort;
+        this.ignoreFetchAbort = !!ignoreFetchAbort;
+        if (this.maxEntrySize !== 0) {
+          if (this.#maxSize !== 0) {
+            if (!isPosInt(this.#maxSize)) {
+              throw new TypeError("maxSize must be a positive integer if specified");
+            }
+          }
+          if (!isPosInt(this.maxEntrySize)) {
+            throw new TypeError("maxEntrySize must be a positive integer if specified");
+          }
+          this.#initializeSizeTracking();
+        }
+        this.allowStale = !!allowStale;
+        this.noDeleteOnStaleGet = !!noDeleteOnStaleGet;
+        this.updateAgeOnGet = !!updateAgeOnGet;
+        this.updateAgeOnHas = !!updateAgeOnHas;
+        this.ttlResolution = isPosInt(ttlResolution) || ttlResolution === 0 ? ttlResolution : 1;
+        this.ttlAutopurge = !!ttlAutopurge;
+        this.ttl = ttl || 0;
+        if (this.ttl) {
+          if (!isPosInt(this.ttl)) {
+            throw new TypeError("ttl must be a positive integer if specified");
+          }
+          this.#initializeTTLTracking();
+        }
+        if (this.#max === 0 && this.ttl === 0 && this.#maxSize === 0) {
+          throw new TypeError("At least one of max, maxSize, or ttl is required");
+        }
+        if (!this.ttlAutopurge && !this.#max && !this.#maxSize) {
+          const code = "LRU_CACHE_UNBOUNDED";
+          if (shouldWarn(code)) {
+            warned.add(code);
+            const msg = "TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.";
+            emitWarning(msg, "UnboundedCacheWarning", code, _LRUCache);
+          }
         }
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-delete", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.containerContext.delete({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: options.conditions,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
       }
       /**
-       * Marks the specified container for deletion if it exists. The container and any blobs
-       * contained within it are later deleted during garbage collection.
-       * @see https://learn.microsoft.com/rest/api/storageservices/delete-container
-       *
-       * @param options - Options to Container Delete operation.
+       * Return the number of ms left in the item's TTL. If item is not in cache,
+       * returns `0`. Returns `Infinity` if item is in cache without a defined TTL.
        */
-      async deleteIfExists(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-deleteIfExists", options, async (updatedOptions) => {
-          try {
-            const res = await this.delete(updatedOptions);
-            return {
-              succeeded: true,
-              ...res,
-              _response: res._response
-            };
-          } catch (e) {
-            if (e.details?.errorCode === "ContainerNotFound") {
-              return {
-                succeeded: false,
-                ...e.response?.parsedHeaders,
-                _response: e.response
-              };
+      getRemainingTTL(key) {
+        return this.#keyMap.has(key) ? Infinity : 0;
+      }
+      #initializeTTLTracking() {
+        const ttls = new ZeroArray(this.#max);
+        const starts = new ZeroArray(this.#max);
+        this.#ttls = ttls;
+        this.#starts = starts;
+        this.#setItemTTL = (index, ttl, start = perf.now()) => {
+          starts[index] = ttl !== 0 ? start : 0;
+          ttls[index] = ttl;
+          if (ttl !== 0 && this.ttlAutopurge) {
+            const t = setTimeout(() => {
+              if (this.#isStale(index)) {
+                this.#delete(this.#keyList[index], "expire");
+              }
+            }, ttl + 1);
+            if (t.unref) {
+              t.unref();
             }
-            throw e;
           }
-        });
-      }
-      /**
-       * Sets one or more user-defined name-value pairs for the specified container.
-       *
-       * If no option provided, or no metadata defined in the parameter, the container
-       * metadata will be removed.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-container-metadata
-       *
-       * @param metadata - Replace existing metadata with this value.
-       *                            If no value provided the existing metadata will be removed.
-       * @param options - Options to Container Set Metadata operation.
-       */
-      async setMetadata(metadata, options = {}) {
-        if (!options.conditions) {
-          options.conditions = {};
-        }
-        if (options.conditions.ifUnmodifiedSince) {
-          throw new RangeError("the IfUnmodifiedSince must have their default values because they are ignored by the blob service");
-        }
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-setMetadata", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.containerContext.setMetadata({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            metadata,
-            modifiedAccessConditions: options.conditions,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+        };
+        this.#updateItemAge = (index) => {
+          starts[index] = ttls[index] !== 0 ? perf.now() : 0;
+        };
+        this.#statusTTL = (status, index) => {
+          if (ttls[index]) {
+            const ttl = ttls[index];
+            const start = starts[index];
+            if (!ttl || !start)
+              return;
+            status.ttl = ttl;
+            status.start = start;
+            status.now = cachedNow || getNow();
+            const age = status.now - start;
+            status.remainingTTL = ttl - age;
+          }
+        };
+        let cachedNow = 0;
+        const getNow = () => {
+          const n = perf.now();
+          if (this.ttlResolution > 0) {
+            cachedNow = n;
+            const t = setTimeout(() => cachedNow = 0, this.ttlResolution);
+            if (t.unref) {
+              t.unref();
+            }
+          }
+          return n;
+        };
+        this.getRemainingTTL = (key) => {
+          const index = this.#keyMap.get(key);
+          if (index === void 0) {
+            return 0;
+          }
+          const ttl = ttls[index];
+          const start = starts[index];
+          if (!ttl || !start) {
+            return Infinity;
+          }
+          const age = (cachedNow || getNow()) - start;
+          return ttl - age;
+        };
+        this.#isStale = (index) => {
+          const s = starts[index];
+          const t = ttls[index];
+          return !!t && !!s && (cachedNow || getNow()) - s > t;
+        };
       }
-      /**
-       * Gets the permissions for the specified container. The permissions indicate
-       * whether container data may be accessed publicly.
-       *
-       * WARNING: JavaScript Date will potentially lose precision when parsing startsOn and expiresOn strings.
-       * For example, new Date("2018-12-31T03:44:23.8827891Z").toISOString() will get "2018-12-31T03:44:23.882Z".
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-container-acl
-       *
-       * @param options - Options to Container Get Access Policy operation.
-       */
-      async getAccessPolicy(options = {}) {
-        if (!options.conditions) {
-          options.conditions = {};
-        }
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-getAccessPolicy", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.getAccessPolicy({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const res = {
-            _response: response._response,
-            blobPublicAccess: response.blobPublicAccess,
-            date: response.date,
-            etag: response.etag,
-            errorCode: response.errorCode,
-            lastModified: response.lastModified,
-            requestId: response.requestId,
-            clientRequestId: response.clientRequestId,
-            signedIdentifiers: [],
-            version: response.version
-          };
-          for (const identifier of response) {
-            let accessPolicy = void 0;
-            if (identifier.accessPolicy) {
-              accessPolicy = {
-                permissions: identifier.accessPolicy.permissions
-              };
-              if (identifier.accessPolicy.expiresOn) {
-                accessPolicy.expiresOn = new Date(identifier.accessPolicy.expiresOn);
+      // conditionally set private methods related to TTL
+      #updateItemAge = () => {
+      };
+      #statusTTL = () => {
+      };
+      #setItemTTL = () => {
+      };
+      /* c8 ignore stop */
+      #isStale = () => false;
+      #initializeSizeTracking() {
+        const sizes = new ZeroArray(this.#max);
+        this.#calculatedSize = 0;
+        this.#sizes = sizes;
+        this.#removeItemSize = (index) => {
+          this.#calculatedSize -= sizes[index];
+          sizes[index] = 0;
+        };
+        this.#requireSize = (k, v, size, sizeCalculation) => {
+          if (this.#isBackgroundFetch(v)) {
+            return 0;
+          }
+          if (!isPosInt(size)) {
+            if (sizeCalculation) {
+              if (typeof sizeCalculation !== "function") {
+                throw new TypeError("sizeCalculation must be a function");
               }
-              if (identifier.accessPolicy.startsOn) {
-                accessPolicy.startsOn = new Date(identifier.accessPolicy.startsOn);
+              size = sizeCalculation(v, k);
+              if (!isPosInt(size)) {
+                throw new TypeError("sizeCalculation return invalid (expect positive integer)");
               }
+            } else {
+              throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");
             }
-            res.signedIdentifiers.push({
-              accessPolicy,
-              id: identifier.id
-            });
           }
-          return res;
-        });
+          return size;
+        };
+        this.#addItemSize = (index, size, status) => {
+          sizes[index] = size;
+          if (this.#maxSize) {
+            const maxSize = this.#maxSize - sizes[index];
+            while (this.#calculatedSize > maxSize) {
+              this.#evict(true);
+            }
+          }
+          this.#calculatedSize += sizes[index];
+          if (status) {
+            status.entrySize = size;
+            status.totalCalculatedSize = this.#calculatedSize;
+          }
+        };
       }
-      /**
-       * Sets the permissions for the specified container. The permissions indicate
-       * whether blobs in a container may be accessed publicly.
-       *
-       * When you set permissions for a container, the existing permissions are replaced.
-       * If no access or containerAcl provided, the existing container ACL will be
-       * removed.
-       *
-       * When you establish a stored access policy on a container, it may take up to 30 seconds to take effect.
-       * During this interval, a shared access signature that is associated with the stored access policy will
-       * fail with status code 403 (Forbidden), until the access policy becomes active.
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-container-acl
-       *
-       * @param access - The level of public access to data in the container.
-       * @param containerAcl - Array of elements each having a unique Id and details of the access policy.
-       * @param options - Options to Container Set Access Policy operation.
-       */
-      async setAccessPolicy(access, containerAcl, options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-setAccessPolicy", options, async (updatedOptions) => {
-          const acl = [];
-          for (const identifier of containerAcl || []) {
-            acl.push({
-              accessPolicy: {
-                expiresOn: identifier.accessPolicy.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(identifier.accessPolicy.expiresOn) : "",
-                permissions: identifier.accessPolicy.permissions,
-                startsOn: identifier.accessPolicy.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(identifier.accessPolicy.startsOn) : ""
-              },
-              id: identifier.id
-            });
+      #removeItemSize = (_i) => {
+      };
+      #addItemSize = (_i, _s, _st) => {
+      };
+      #requireSize = (_k, _v, size, sizeCalculation) => {
+        if (size || sizeCalculation) {
+          throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");
+        }
+        return 0;
+      };
+      *#indexes({ allowStale = this.allowStale } = {}) {
+        if (this.#size) {
+          for (let i = this.#tail; true; ) {
+            if (!this.#isValidIndex(i)) {
+              break;
+            }
+            if (allowStale || !this.#isStale(i)) {
+              yield i;
+            }
+            if (i === this.#head) {
+              break;
+            } else {
+              i = this.#prev[i];
+            }
           }
-          return (0, utils_common_js_1.assertResponse)(await this.containerContext.setAccessPolicy({
-            abortSignal: options.abortSignal,
-            access,
-            containerAcl: acl,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: options.conditions,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+        }
       }
-      /**
-       * Get a {@link BlobLeaseClient} that manages leases on the container.
-       *
-       * @param proposeLeaseId - Initial proposed lease Id.
-       * @returns A new BlobLeaseClient object for managing leases on the container.
-       */
-      getBlobLeaseClient(proposeLeaseId) {
-        return new BlobLeaseClient_js_1.BlobLeaseClient(this, proposeLeaseId);
+      *#rindexes({ allowStale = this.allowStale } = {}) {
+        if (this.#size) {
+          for (let i = this.#head; true; ) {
+            if (!this.#isValidIndex(i)) {
+              break;
+            }
+            if (allowStale || !this.#isStale(i)) {
+              yield i;
+            }
+            if (i === this.#tail) {
+              break;
+            } else {
+              i = this.#next[i];
+            }
+          }
+        }
       }
-      /**
-       * Creates a new block blob, or updates the content of an existing block blob.
-       *
-       * Updating an existing block blob overwrites any existing metadata on the blob.
-       * Partial updates are not supported; the content of the existing blob is
-       * overwritten with the new content. To perform a partial update of a block blob's,
-       * use {@link BlockBlobClient.stageBlock} and {@link BlockBlobClient.commitBlockList}.
-       *
-       * This is a non-parallel uploading method, please use {@link BlockBlobClient.uploadFile},
-       * {@link BlockBlobClient.uploadStream} or {@link BlockBlobClient.uploadBrowserData} for better
-       * performance with concurrency uploading.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
-       *
-       * @param blobName - Name of the block blob to create or update.
-       * @param body - Blob, string, ArrayBuffer, ArrayBufferView or a function
-       *                               which returns a new Readable stream whose offset is from data source beginning.
-       * @param contentLength - Length of body in bytes. Use Buffer.byteLength() to calculate body length for a
-       *                               string including non non-Base64/Hex-encoded characters.
-       * @param options - Options to configure the Block Blob Upload operation.
-       * @returns Block Blob upload response data and the corresponding BlockBlobClient instance.
-       */
-      async uploadBlockBlob(blobName, body, contentLength, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-uploadBlockBlob", options, async (updatedOptions) => {
-          const blockBlobClient = this.getBlockBlobClient(blobName);
-          const response = await blockBlobClient.upload(body, contentLength, updatedOptions);
-          return {
-            blockBlobClient,
-            response
-          };
-        });
+      #isValidIndex(index) {
+        return index !== void 0 && this.#keyMap.get(this.#keyList[index]) === index;
       }
       /**
-       * Marks the specified blob or snapshot for deletion. The blob is later deleted
-       * during garbage collection. Note that in order to delete a blob, you must delete
-       * all of its snapshots. You can delete both at the same time with the Delete
-       * Blob operation.
-       * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob
-       *
-       * @param blobName -
-       * @param options - Options to Blob Delete operation.
-       * @returns Block blob deletion response data.
+       * Return a generator yielding `[key, value]` pairs,
+       * in order from most recently used to least recently used.
        */
-      async deleteBlob(blobName, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-deleteBlob", options, async (updatedOptions) => {
-          let blobClient = this.getBlobClient(blobName);
-          if (options.versionId) {
-            blobClient = blobClient.withVersion(options.versionId);
+      *entries() {
+        for (const i of this.#indexes()) {
+          if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield [this.#keyList[i], this.#valList[i]];
           }
-          return blobClient.delete(updatedOptions);
-        });
-      }
-      /**
-       * listBlobFlatSegment returns a single segment of blobs starting from the
-       * specified Marker. Use an empty Marker to start enumeration from the beginning.
-       * After getting a segment, process it, and then call listBlobsFlatSegment again
-       * (passing the the previously-returned Marker) to get the next segment.
-       * @see https://learn.microsoft.com/rest/api/storageservices/list-blobs
-       *
-       * @param marker - A string value that identifies the portion of the list to be returned with the next list operation.
-       * @param options - Options to Container List Blob Flat Segment operation.
-       */
-      async listBlobFlatSegment(marker, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-listBlobFlatSegment", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.listBlobFlatSegment({
-            marker,
-            ...options,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const wrappedResponse = {
-            ...response,
-            _response: {
-              ...response._response,
-              parsedBody: (0, utils_common_js_1.ConvertInternalResponseOfListBlobFlat)(response._response.parsedBody)
-            },
-            // _response is made non-enumerable
-            segment: {
-              ...response.segment,
-              blobItems: response.segment.blobItems.map((blobItemInternal) => {
-                const blobItem = {
-                  ...blobItemInternal,
-                  name: (0, utils_common_js_1.BlobNameToString)(blobItemInternal.name),
-                  tags: (0, utils_common_js_1.toTags)(blobItemInternal.blobTags),
-                  objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(blobItemInternal.objectReplicationMetadata)
-                };
-                return blobItem;
-              })
-            }
-          };
-          return wrappedResponse;
-        });
+        }
       }
       /**
-       * listBlobHierarchySegment returns a single segment of blobs starting from
-       * the specified Marker. Use an empty Marker to start enumeration from the
-       * beginning. After getting a segment, process it, and then call listBlobsHierarchicalSegment
-       * again (passing the the previously-returned Marker) to get the next segment.
-       * @see https://learn.microsoft.com/rest/api/storageservices/list-blobs
+       * Inverse order version of {@link LRUCache.entries}
        *
-       * @param delimiter - The character or string used to define the virtual hierarchy
-       * @param marker - A string value that identifies the portion of the list to be returned with the next list operation.
-       * @param options - Options to Container List Blob Hierarchy Segment operation.
+       * Return a generator yielding `[key, value]` pairs,
+       * in order from least recently used to most recently used.
        */
-      async listBlobHierarchySegment(delimiter, marker, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-listBlobHierarchySegment", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.listBlobHierarchySegment(delimiter, {
-            marker,
-            ...options,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const wrappedResponse = {
-            ...response,
-            _response: {
-              ...response._response,
-              parsedBody: (0, utils_common_js_1.ConvertInternalResponseOfListBlobHierarchy)(response._response.parsedBody)
-            },
-            // _response is made non-enumerable
-            segment: {
-              ...response.segment,
-              blobItems: response.segment.blobItems.map((blobItemInternal) => {
-                const blobItem = {
-                  ...blobItemInternal,
-                  name: (0, utils_common_js_1.BlobNameToString)(blobItemInternal.name),
-                  tags: (0, utils_common_js_1.toTags)(blobItemInternal.blobTags),
-                  objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(blobItemInternal.objectReplicationMetadata)
-                };
-                return blobItem;
-              }),
-              blobPrefixes: response.segment.blobPrefixes?.map((blobPrefixInternal) => {
-                const blobPrefix = {
-                  ...blobPrefixInternal,
-                  name: (0, utils_common_js_1.BlobNameToString)(blobPrefixInternal.name)
-                };
-                return blobPrefix;
-              })
-            }
-          };
-          return wrappedResponse;
-        });
+      *rentries() {
+        for (const i of this.#rindexes()) {
+          if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield [this.#keyList[i], this.#valList[i]];
+          }
+        }
       }
       /**
-       * Returns an AsyncIterableIterator for ContainerListBlobFlatSegmentResponse
-       *
-       * @param marker - A string value that identifies the portion of
-       *                          the list of blobs to be returned with the next listing operation. The
-       *                          operation returns the ContinuationToken value within the response body if the
-       *                          listing operation did not return all blobs remaining to be listed
-       *                          with the current page. The ContinuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of list
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to list blobs operation.
+       * Return a generator yielding the keys in the cache,
+       * in order from most recently used to least recently used.
        */
-      async *listSegments(marker, options = {}) {
-        let listBlobsFlatSegmentResponse;
-        if (!!marker || marker === void 0) {
-          do {
-            listBlobsFlatSegmentResponse = await this.listBlobFlatSegment(marker, options);
-            marker = listBlobsFlatSegmentResponse.continuationToken;
-            yield await listBlobsFlatSegmentResponse;
-          } while (marker);
+      *keys() {
+        for (const i of this.#indexes()) {
+          const k = this.#keyList[i];
+          if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield k;
+          }
         }
       }
       /**
-       * Returns an AsyncIterableIterator of {@link BlobItem} objects
+       * Inverse order version of {@link LRUCache.keys}
        *
-       * @param options - Options to list blobs operation.
+       * Return a generator yielding the keys in the cache,
+       * in order from least recently used to most recently used.
        */
-      async *listItems(options = {}) {
-        let marker;
-        for await (const listBlobsFlatSegmentResponse of this.listSegments(marker, options)) {
-          yield* listBlobsFlatSegmentResponse.segment.blobItems;
+      *rkeys() {
+        for (const i of this.#rindexes()) {
+          const k = this.#keyList[i];
+          if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield k;
+          }
         }
       }
       /**
-       * Returns an async iterable iterator to list all the blobs
-       * under the specified account.
-       *
-       * .byPage() returns an async iterable iterator to list the blobs in pages.
-       *
-       * ```ts snippet:ReadmeSampleListBlobs_Multiple
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       *
-       * // Example using `for await` syntax
-       * let i = 1;
-       * const blobs = containerClient.listBlobsFlat();
-       * for await (const blob of blobs) {
-       *   console.log(`Blob ${i++}: ${blob.name}`);
-       * }
-       *
-       * // Example using `iter.next()` syntax
-       * i = 1;
-       * const iter = containerClient.listBlobsFlat();
-       * let { value, done } = await iter.next();
-       * while (!done) {
-       *   console.log(`Blob ${i++}: ${value.name}`);
-       *   ({ value, done } = await iter.next());
-       * }
-       *
-       * // Example using `byPage()` syntax
-       * i = 1;
-       * for await (const page of containerClient.listBlobsFlat().byPage({ maxPageSize: 20 })) {
-       *   for (const blob of page.segment.blobItems) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       *
-       * // Example using paging with a marker
-       * i = 1;
-       * let iterator = containerClient.listBlobsFlat().byPage({ maxPageSize: 2 });
-       * let response = (await iterator.next()).value;
-       * // Prints 2 blob names
-       * if (response.segment.blobItems) {
-       *   for (const blob of response.segment.blobItems) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       * // Gets next marker
-       * let marker = response.continuationToken;
-       * // Passing next marker as continuationToken
-       * iterator = containerClient.listBlobsFlat().byPage({ continuationToken: marker, maxPageSize: 10 });
-       * response = (await iterator.next()).value;
-       * // Prints 10 blob names
-       * if (response.segment.blobItems) {
-       *   for (const blob of response.segment.blobItems) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       * ```
-       *
-       * @param options - Options to list blobs.
-       * @returns An asyncIterableIterator that supports paging.
+       * Return a generator yielding the values in the cache,
+       * in order from most recently used to least recently used.
        */
-      listBlobsFlat(options = {}) {
-        const include = [];
-        if (options.includeCopy) {
-          include.push("copy");
-        }
-        if (options.includeDeleted) {
-          include.push("deleted");
-        }
-        if (options.includeMetadata) {
-          include.push("metadata");
-        }
-        if (options.includeSnapshots) {
-          include.push("snapshots");
-        }
-        if (options.includeVersions) {
-          include.push("versions");
-        }
-        if (options.includeUncommitedBlobs) {
-          include.push("uncommittedblobs");
-        }
-        if (options.includeTags) {
-          include.push("tags");
-        }
-        if (options.includeDeletedWithVersions) {
-          include.push("deletedwithversions");
+      *values() {
+        for (const i of this.#indexes()) {
+          const v = this.#valList[i];
+          if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield this.#valList[i];
+          }
         }
-        if (options.includeImmutabilityPolicy) {
-          include.push("immutabilitypolicy");
+      }
+      /**
+       * Inverse order version of {@link LRUCache.values}
+       *
+       * Return a generator yielding the values in the cache,
+       * in order from least recently used to most recently used.
+       */
+      *rvalues() {
+        for (const i of this.#rindexes()) {
+          const v = this.#valList[i];
+          if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield this.#valList[i];
+          }
         }
-        if (options.includeLegalHold) {
-          include.push("legalhold");
+      }
+      /**
+       * Iterating over the cache itself yields the same results as
+       * {@link LRUCache.entries}
+       */
+      [Symbol.iterator]() {
+        return this.entries();
+      }
+      /**
+       * A String value that is used in the creation of the default string
+       * description of an object. Called by the built-in method
+       * `Object.prototype.toString`.
+       */
+      [Symbol.toStringTag] = "LRUCache";
+      /**
+       * Find a value for which the supplied fn method returns a truthy value,
+       * similar to `Array.find()`. fn is called as `fn(value, key, cache)`.
+       */
+      find(fn, getOptions = {}) {
+        for (const i of this.#indexes()) {
+          const v = this.#valList[i];
+          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+          if (value === void 0)
+            continue;
+          if (fn(value, this.#keyList[i], this)) {
+            return this.get(this.#keyList[i], getOptions);
+          }
         }
-        if (options.prefix === "") {
-          options.prefix = void 0;
+      }
+      /**
+       * Call the supplied function on each item in the cache, in order from most
+       * recently used to least recently used.
+       *
+       * `fn` is called as `fn(value, key, cache)`.
+       *
+       * If `thisp` is provided, function will be called in the `this`-context of
+       * the provided object, or the cache if no `thisp` object is provided.
+       *
+       * Does not update age or recenty of use, or iterate over stale values.
+       */
+      forEach(fn, thisp = this) {
+        for (const i of this.#indexes()) {
+          const v = this.#valList[i];
+          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+          if (value === void 0)
+            continue;
+          fn.call(thisp, value, this.#keyList[i], this);
         }
-        const updatedOptions = {
-          ...options,
-          ...include.length > 0 ? { include } : {}
-        };
-        const iter = this.listItems(updatedOptions);
-        return {
-          /**
-           * The next method, part of the iteration protocol
-           */
-          next() {
-            return iter.next();
-          },
-          /**
-           * The connection to the async iterator, part of the iteration protocol
-           */
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          /**
-           * Return an AsyncIterableIterator that works a page at a time
-           */
-          byPage: (settings = {}) => {
-            return this.listSegments(settings.continuationToken, {
-              maxPageSize: settings.maxPageSize,
-              ...updatedOptions
-            });
+      }
+      /**
+       * The same as {@link LRUCache.forEach} but items are iterated over in
+       * reverse order.  (ie, less recently used items are iterated over first.)
+       */
+      rforEach(fn, thisp = this) {
+        for (const i of this.#rindexes()) {
+          const v = this.#valList[i];
+          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+          if (value === void 0)
+            continue;
+          fn.call(thisp, value, this.#keyList[i], this);
+        }
+      }
+      /**
+       * Delete any stale entries. Returns true if anything was removed,
+       * false otherwise.
+       */
+      purgeStale() {
+        let deleted = false;
+        for (const i of this.#rindexes({ allowStale: true })) {
+          if (this.#isStale(i)) {
+            this.#delete(this.#keyList[i], "expire");
+            deleted = true;
           }
-        };
+        }
+        return deleted;
       }
       /**
-       * Returns an AsyncIterableIterator for ContainerListBlobHierarchySegmentResponse
+       * Get the extended info about a given entry, to get its value, size, and
+       * TTL info simultaneously. Returns `undefined` if the key is not present.
        *
-       * @param delimiter - The character or string used to define the virtual hierarchy
-       * @param marker - A string value that identifies the portion of
-       *                          the list of blobs to be returned with the next listing operation. The
-       *                          operation returns the ContinuationToken value within the response body if the
-       *                          listing operation did not return all blobs remaining to be listed
-       *                          with the current page. The ContinuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of list
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to list blobs operation.
+       * Unlike {@link LRUCache#dump}, which is designed to be portable and survive
+       * serialization, the `start` value is always the current timestamp, and the
+       * `ttl` is a calculated remaining time to live (negative if expired).
+       *
+       * Always returns stale values, if their info is found in the cache, so be
+       * sure to check for expirations (ie, a negative {@link LRUCache.Entry#ttl})
+       * if relevant.
        */
-      async *listHierarchySegments(delimiter, marker, options = {}) {
-        let listBlobsHierarchySegmentResponse;
-        if (!!marker || marker === void 0) {
-          do {
-            listBlobsHierarchySegmentResponse = await this.listBlobHierarchySegment(delimiter, marker, options);
-            marker = listBlobsHierarchySegmentResponse.continuationToken;
-            yield await listBlobsHierarchySegmentResponse;
-          } while (marker);
+      info(key) {
+        const i = this.#keyMap.get(key);
+        if (i === void 0)
+          return void 0;
+        const v = this.#valList[i];
+        const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+        if (value === void 0)
+          return void 0;
+        const entry = { value };
+        if (this.#ttls && this.#starts) {
+          const ttl = this.#ttls[i];
+          const start = this.#starts[i];
+          if (ttl && start) {
+            const remain = ttl - (perf.now() - start);
+            entry.ttl = remain;
+            entry.start = Date.now();
+          }
+        }
+        if (this.#sizes) {
+          entry.size = this.#sizes[i];
         }
+        return entry;
       }
       /**
-       * Returns an AsyncIterableIterator for {@link BlobPrefix} and {@link BlobItem} objects.
+       * Return an array of [key, {@link LRUCache.Entry}] tuples which can be
+       * passed to {@link LRUCache#load}.
        *
-       * @param delimiter - The character or string used to define the virtual hierarchy
-       * @param options - Options to list blobs operation.
+       * The `start` fields are calculated relative to a portable `Date.now()`
+       * timestamp, even if `performance.now()` is available.
+       *
+       * Stale entries are always included in the `dump`, even if
+       * {@link LRUCache.OptionsBase.allowStale} is false.
+       *
+       * Note: this returns an actual array, not a generator, so it can be more
+       * easily passed around.
        */
-      async *listItemsByHierarchy(delimiter, options = {}) {
-        let marker;
-        for await (const listBlobsHierarchySegmentResponse of this.listHierarchySegments(delimiter, marker, options)) {
-          const segment = listBlobsHierarchySegmentResponse.segment;
-          if (segment.blobPrefixes) {
-            for (const prefix of segment.blobPrefixes) {
-              yield {
-                kind: "prefix",
-                ...prefix
-              };
-            }
+      dump() {
+        const arr = [];
+        for (const i of this.#indexes({ allowStale: true })) {
+          const key = this.#keyList[i];
+          const v = this.#valList[i];
+          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+          if (value === void 0 || key === void 0)
+            continue;
+          const entry = { value };
+          if (this.#ttls && this.#starts) {
+            entry.ttl = this.#ttls[i];
+            const age = perf.now() - this.#starts[i];
+            entry.start = Math.floor(Date.now() - age);
           }
-          for (const blob of segment.blobItems) {
-            yield { kind: "blob", ...blob };
+          if (this.#sizes) {
+            entry.size = this.#sizes[i];
           }
+          arr.unshift([key, entry]);
         }
+        return arr;
       }
       /**
-       * Returns an async iterable iterator to list all the blobs by hierarchy.
-       * under the specified account.
+       * Reset the cache and load in the items in entries in the order listed.
        *
-       * .byPage() returns an async iterable iterator to list the blobs by hierarchy in pages.
+       * The shape of the resulting cache may be different if the same options are
+       * not used in both caches.
        *
-       * ```ts snippet:ReadmeSampleListBlobsByHierarchy
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
+       * The `start` fields are assumed to be calculated relative to a portable
+       * `Date.now()` timestamp, even if `performance.now()` is available.
+       */
+      load(arr) {
+        this.clear();
+        for (const [key, entry] of arr) {
+          if (entry.start) {
+            const age = Date.now() - entry.start;
+            entry.start = perf.now() - age;
+          }
+          this.set(key, entry.value, entry);
+        }
+      }
+      /**
+       * Add a value to the cache.
        *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
+       * Note: if `undefined` is specified as a value, this is an alias for
+       * {@link LRUCache#delete}
        *
-       * const containerName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * Fields on the {@link LRUCache.SetOptions} options param will override
+       * their corresponding values in the constructor options for the scope
+       * of this single `set()` operation.
        *
-       * // Example using `for await` syntax
-       * let i = 1;
-       * const blobs = containerClient.listBlobsByHierarchy("/");
-       * for await (const blob of blobs) {
-       *   if (blob.kind === "prefix") {
-       *     console.log(`\tBlobPrefix: ${blob.name}`);
-       *   } else {
-       *     console.log(`\tBlobItem: name - ${blob.name}`);
-       *   }
-       * }
+       * If `start` is provided, then that will set the effective start
+       * time for the TTL calculation. Note that this must be a previous
+       * value of `performance.now()` if supported, or a previous value of
+       * `Date.now()` if not.
        *
-       * // Example using `iter.next()` syntax
-       * i = 1;
-       * const iter = containerClient.listBlobsByHierarchy("/");
-       * let { value, done } = await iter.next();
-       * while (!done) {
-       *   if (value.kind === "prefix") {
-       *     console.log(`\tBlobPrefix: ${value.name}`);
-       *   } else {
-       *     console.log(`\tBlobItem: name - ${value.name}`);
-       *   }
-       *   ({ value, done } = await iter.next());
-       * }
+       * Options object may also include `size`, which will prevent
+       * calling the `sizeCalculation` function and just use the specified
+       * number if it is a positive integer, and `noDisposeOnSet` which
+       * will prevent calling a `dispose` function in the case of
+       * overwrites.
        *
-       * // Example using `byPage()` syntax
-       * i = 1;
-       * for await (const page of containerClient.listBlobsByHierarchy("/").byPage({ maxPageSize: 20 })) {
-       *   const segment = page.segment;
-       *   if (segment.blobPrefixes) {
-       *     for (const prefix of segment.blobPrefixes) {
-       *       console.log(`\tBlobPrefix: ${prefix.name}`);
-       *     }
-       *   }
-       *   for (const blob of page.segment.blobItems) {
-       *     console.log(`\tBlobItem: name - ${blob.name}`);
-       *   }
-       * }
+       * If the `size` (or return value of `sizeCalculation`) for a given
+       * entry is greater than `maxEntrySize`, then the item will not be
+       * added to the cache.
        *
-       * // Example using paging with a marker
-       * i = 1;
-       * let iterator = containerClient.listBlobsByHierarchy("/").byPage({ maxPageSize: 2 });
-       * let response = (await iterator.next()).value;
-       * // Prints 2 blob names
-       * if (response.blobPrefixes) {
-       *   for (const prefix of response.blobPrefixes) {
-       *     console.log(`\tBlobPrefix: ${prefix.name}`);
-       *   }
-       * }
-       * if (response.segment.blobItems) {
-       *   for (const blob of response.segment.blobItems) {
-       *     console.log(`\tBlobItem: name - ${blob.name}`);
-       *   }
-       * }
-       * // Gets next marker
-       * let marker = response.continuationToken;
-       * // Passing next marker as continuationToken
-       * iterator = containerClient
-       *   .listBlobsByHierarchy("/")
-       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
-       * response = (await iterator.next()).value;
-       * // Prints 10 blob names
-       * if (response.blobPrefixes) {
-       *   for (const prefix of response.blobPrefixes) {
-       *     console.log(`\tBlobPrefix: ${prefix.name}`);
-       *   }
-       * }
-       * if (response.segment.blobItems) {
-       *   for (const blob of response.segment.blobItems) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       * ```
+       * Will update the recency of the entry.
        *
-       * @param delimiter - The character or string used to define the virtual hierarchy
-       * @param options - Options to list blobs operation.
+       * If the value is `undefined`, then this is an alias for
+       * `cache.delete(key)`. `undefined` is never stored in the cache.
        */
-      listBlobsByHierarchy(delimiter, options = {}) {
-        if (delimiter === "") {
-          throw new RangeError("delimiter should contain one or more characters");
-        }
-        const include = [];
-        if (options.includeCopy) {
-          include.push("copy");
-        }
-        if (options.includeDeleted) {
-          include.push("deleted");
-        }
-        if (options.includeMetadata) {
-          include.push("metadata");
-        }
-        if (options.includeSnapshots) {
-          include.push("snapshots");
-        }
-        if (options.includeVersions) {
-          include.push("versions");
-        }
-        if (options.includeUncommitedBlobs) {
-          include.push("uncommittedblobs");
-        }
-        if (options.includeTags) {
-          include.push("tags");
-        }
-        if (options.includeDeletedWithVersions) {
-          include.push("deletedwithversions");
+      set(k, v, setOptions = {}) {
+        if (v === void 0) {
+          this.delete(k);
+          return this;
         }
-        if (options.includeImmutabilityPolicy) {
-          include.push("immutabilitypolicy");
+        const { ttl = this.ttl, start, noDisposeOnSet = this.noDisposeOnSet, sizeCalculation = this.sizeCalculation, status } = setOptions;
+        let { noUpdateTTL = this.noUpdateTTL } = setOptions;
+        const size = this.#requireSize(k, v, setOptions.size || 0, sizeCalculation);
+        if (this.maxEntrySize && size > this.maxEntrySize) {
+          if (status) {
+            status.set = "miss";
+            status.maxEntrySizeExceeded = true;
+          }
+          this.#delete(k, "set");
+          return this;
         }
-        if (options.includeLegalHold) {
-          include.push("legalhold");
+        let index = this.#size === 0 ? void 0 : this.#keyMap.get(k);
+        if (index === void 0) {
+          index = this.#size === 0 ? this.#tail : this.#free.length !== 0 ? this.#free.pop() : this.#size === this.#max ? this.#evict(false) : this.#size;
+          this.#keyList[index] = k;
+          this.#valList[index] = v;
+          this.#keyMap.set(k, index);
+          this.#next[this.#tail] = index;
+          this.#prev[index] = this.#tail;
+          this.#tail = index;
+          this.#size++;
+          this.#addItemSize(index, size, status);
+          if (status)
+            status.set = "add";
+          noUpdateTTL = false;
+          if (this.#hasOnInsert) {
+            this.#onInsert?.(v, k, "add");
+          }
+        } else {
+          this.#moveToTail(index);
+          const oldVal = this.#valList[index];
+          if (v !== oldVal) {
+            if (this.#hasFetchMethod && this.#isBackgroundFetch(oldVal)) {
+              oldVal.__abortController.abort(new Error("replaced"));
+              const { __staleWhileFetching: s } = oldVal;
+              if (s !== void 0 && !noDisposeOnSet) {
+                if (this.#hasDispose) {
+                  this.#dispose?.(s, k, "set");
+                }
+                if (this.#hasDisposeAfter) {
+                  this.#disposed?.push([s, k, "set"]);
+                }
+              }
+            } else if (!noDisposeOnSet) {
+              if (this.#hasDispose) {
+                this.#dispose?.(oldVal, k, "set");
+              }
+              if (this.#hasDisposeAfter) {
+                this.#disposed?.push([oldVal, k, "set"]);
+              }
+            }
+            this.#removeItemSize(index);
+            this.#addItemSize(index, size, status);
+            this.#valList[index] = v;
+            if (status) {
+              status.set = "replace";
+              const oldValue = oldVal && this.#isBackgroundFetch(oldVal) ? oldVal.__staleWhileFetching : oldVal;
+              if (oldValue !== void 0)
+                status.oldValue = oldValue;
+            }
+          } else if (status) {
+            status.set = "update";
+          }
+          if (this.#hasOnInsert) {
+            this.onInsert?.(v, k, v === oldVal ? "update" : "replace");
+          }
         }
-        if (options.prefix === "") {
-          options.prefix = void 0;
+        if (ttl !== 0 && !this.#ttls) {
+          this.#initializeTTLTracking();
         }
-        const updatedOptions = {
-          ...options,
-          ...include.length > 0 ? { include } : {}
-        };
-        const iter = this.listItemsByHierarchy(delimiter, updatedOptions);
-        return {
-          /**
-           * The next method, part of the iteration protocol
-           */
-          async next() {
-            return iter.next();
-          },
-          /**
-           * The connection to the async iterator, part of the iteration protocol
-           */
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          /**
-           * Return an AsyncIterableIterator that works a page at a time
-           */
-          byPage: (settings = {}) => {
-            return this.listHierarchySegments(delimiter, settings.continuationToken, {
-              maxPageSize: settings.maxPageSize,
-              ...updatedOptions
-            });
+        if (this.#ttls) {
+          if (!noUpdateTTL) {
+            this.#setItemTTL(index, ttl, start);
           }
-        };
-      }
-      /**
-       * The Filter Blobs operation enables callers to list blobs in the container whose tags
-       * match a given search expression.
-       *
-       * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                        The given expression must evaluate to true for a blob to be returned in the results.
-       *                                        The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                        however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param marker - A string value that identifies the portion of
-       *                          the list of blobs to be returned with the next listing operation. The
-       *                          operation returns the continuationToken value within the response body if the
-       *                          listing operation did not return all blobs remaining to be listed
-       *                          with the current page. The continuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of list
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to find blobs by tags.
-       */
-      async findBlobsByTagsSegment(tagFilterSqlExpression, marker, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-findBlobsByTagsSegment", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.filterBlobs({
-            abortSignal: options.abortSignal,
-            where: tagFilterSqlExpression,
-            marker,
-            maxPageSize: options.maxPageSize,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const wrappedResponse = {
-            ...response,
-            _response: response._response,
-            // _response is made non-enumerable
-            blobs: response.blobs.map((blob) => {
-              let tagValue = "";
-              if (blob.tags?.blobTagSet.length === 1) {
-                tagValue = blob.tags.blobTagSet[0].value;
-              }
-              return { ...blob, tags: (0, utils_common_js_1.toTags)(blob.tags), tagValue };
-            })
-          };
-          return wrappedResponse;
-        });
+          if (status)
+            this.#statusTTL(status, index);
+        }
+        if (!noDisposeOnSet && this.#hasDisposeAfter && this.#disposed) {
+          const dt = this.#disposed;
+          let task;
+          while (task = dt?.shift()) {
+            this.#disposeAfter?.(...task);
+          }
+        }
+        return this;
       }
       /**
-       * Returns an AsyncIterableIterator for ContainerFindBlobsByTagsSegmentResponse.
-       *
-       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                         The given expression must evaluate to true for a blob to be returned in the results.
-       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param marker - A string value that identifies the portion of
-       *                          the list of blobs to be returned with the next listing operation. The
-       *                          operation returns the continuationToken value within the response body if the
-       *                          listing operation did not return all blobs remaining to be listed
-       *                          with the current page. The continuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of list
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to find blobs by tags.
+       * Evict the least recently used item, returning its value or
+       * `undefined` if cache is empty.
        */
-      async *findBlobsByTagsSegments(tagFilterSqlExpression, marker, options = {}) {
-        let response;
-        if (!!marker || marker === void 0) {
-          do {
-            response = await this.findBlobsByTagsSegment(tagFilterSqlExpression, marker, options);
-            response.blobs = response.blobs || [];
-            marker = response.continuationToken;
-            yield response;
-          } while (marker);
+      pop() {
+        try {
+          while (this.#size) {
+            const val = this.#valList[this.#head];
+            this.#evict(true);
+            if (this.#isBackgroundFetch(val)) {
+              if (val.__staleWhileFetching) {
+                return val.__staleWhileFetching;
+              }
+            } else if (val !== void 0) {
+              return val;
+            }
+          }
+        } finally {
+          if (this.#hasDisposeAfter && this.#disposed) {
+            const dt = this.#disposed;
+            let task;
+            while (task = dt?.shift()) {
+              this.#disposeAfter?.(...task);
+            }
+          }
         }
       }
-      /**
-       * Returns an AsyncIterableIterator for blobs.
-       *
-       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                         The given expression must evaluate to true for a blob to be returned in the results.
-       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param options - Options to findBlobsByTagsItems.
-       */
-      async *findBlobsByTagsItems(tagFilterSqlExpression, options = {}) {
-        let marker;
-        for await (const segment of this.findBlobsByTagsSegments(tagFilterSqlExpression, marker, options)) {
-          yield* segment.blobs;
+      #evict(free) {
+        const head = this.#head;
+        const k = this.#keyList[head];
+        const v = this.#valList[head];
+        if (this.#hasFetchMethod && this.#isBackgroundFetch(v)) {
+          v.__abortController.abort(new Error("evicted"));
+        } else if (this.#hasDispose || this.#hasDisposeAfter) {
+          if (this.#hasDispose) {
+            this.#dispose?.(v, k, "evict");
+          }
+          if (this.#hasDisposeAfter) {
+            this.#disposed?.push([v, k, "evict"]);
+          }
+        }
+        this.#removeItemSize(head);
+        if (free) {
+          this.#keyList[head] = void 0;
+          this.#valList[head] = void 0;
+          this.#free.push(head);
+        }
+        if (this.#size === 1) {
+          this.#head = this.#tail = 0;
+          this.#free.length = 0;
+        } else {
+          this.#head = this.#next[head];
         }
+        this.#keyMap.delete(k);
+        this.#size--;
+        return head;
       }
       /**
-       * Returns an async iterable iterator to find all blobs with specified tag
-       * under the specified container.
-       *
-       * .byPage() returns an async iterable iterator to list the blobs in pages.
-       *
-       * Example using `for await` syntax:
-       *
-       * ```ts snippet:ReadmeSampleFindBlobsByTags
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       *
-       * // Example using `for await` syntax
-       * let i = 1;
-       * for await (const blob of containerClient.findBlobsByTags("tagkey='tagvalue'")) {
-       *   console.log(`Blob ${i++}: ${blob.name}`);
-       * }
+       * Check if a key is in the cache, without updating the recency of use.
+       * Will return false if the item is stale, even though it is technically
+       * in the cache.
        *
-       * // Example using `iter.next()` syntax
-       * i = 1;
-       * const iter = containerClient.findBlobsByTags("tagkey='tagvalue'");
-       * let { value, done } = await iter.next();
-       * while (!done) {
-       *   console.log(`Blob ${i++}: ${value.name}`);
-       *   ({ value, done } = await iter.next());
-       * }
+       * Check if a key is in the cache, without updating the recency of
+       * use. Age is updated if {@link LRUCache.OptionsBase.updateAgeOnHas} is set
+       * to `true` in either the options or the constructor.
        *
-       * // Example using `byPage()` syntax
-       * i = 1;
-       * for await (const page of containerClient
-       *   .findBlobsByTags("tagkey='tagvalue'")
-       *   .byPage({ maxPageSize: 20 })) {
-       *   for (const blob of page.blobs) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
+       * Will return `false` if the item is stale, even though it is technically in
+       * the cache. The difference can be determined (if it matters) by using a
+       * `status` argument, and inspecting the `has` field.
        *
-       * // Example using paging with a marker
-       * i = 1;
-       * let iterator = containerClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 2 });
-       * let response = (await iterator.next()).value;
-       * // Prints 2 blob names
-       * if (response.blobs) {
-       *   for (const blob of response.blobs) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       * // Gets next marker
-       * let marker = response.continuationToken;
-       * // Passing next marker as continuationToken
-       * iterator = containerClient
-       *   .findBlobsByTags("tagkey='tagvalue'")
-       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
-       * response = (await iterator.next()).value;
-       * // Prints 10 blob names
-       * if (response.blobs) {
-       *   for (const blob of response.blobs) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       * ```
+       * Will not update item age unless
+       * {@link LRUCache.OptionsBase.updateAgeOnHas} is set.
+       */
+      has(k, hasOptions = {}) {
+        const { updateAgeOnHas = this.updateAgeOnHas, status } = hasOptions;
+        const index = this.#keyMap.get(k);
+        if (index !== void 0) {
+          const v = this.#valList[index];
+          if (this.#isBackgroundFetch(v) && v.__staleWhileFetching === void 0) {
+            return false;
+          }
+          if (!this.#isStale(index)) {
+            if (updateAgeOnHas) {
+              this.#updateItemAge(index);
+            }
+            if (status) {
+              status.has = "hit";
+              this.#statusTTL(status, index);
+            }
+            return true;
+          } else if (status) {
+            status.has = "stale";
+            this.#statusTTL(status, index);
+          }
+        } else if (status) {
+          status.has = "miss";
+        }
+        return false;
+      }
+      /**
+       * Like {@link LRUCache#get} but doesn't update recency or delete stale
+       * items.
        *
-       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                         The given expression must evaluate to true for a blob to be returned in the results.
-       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param options - Options to find blobs by tags.
+       * Returns `undefined` if the item is stale, unless
+       * {@link LRUCache.OptionsBase.allowStale} is set.
        */
-      findBlobsByTags(tagFilterSqlExpression, options = {}) {
-        const listSegmentOptions = {
-          ...options
+      peek(k, peekOptions = {}) {
+        const { allowStale = this.allowStale } = peekOptions;
+        const index = this.#keyMap.get(k);
+        if (index === void 0 || !allowStale && this.#isStale(index)) {
+          return;
+        }
+        const v = this.#valList[index];
+        return this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+      }
+      #backgroundFetch(k, index, options, context2) {
+        const v = index === void 0 ? void 0 : this.#valList[index];
+        if (this.#isBackgroundFetch(v)) {
+          return v;
+        }
+        const ac = new AC();
+        const { signal } = options;
+        signal?.addEventListener("abort", () => ac.abort(signal.reason), {
+          signal: ac.signal
+        });
+        const fetchOpts = {
+          signal: ac.signal,
+          options,
+          context: context2
         };
-        const iter = this.findBlobsByTagsItems(tagFilterSqlExpression, listSegmentOptions);
-        return {
-          /**
-           * The next method, part of the iteration protocol
-           */
-          next() {
-            return iter.next();
-          },
-          /**
-           * The connection to the async iterator, part of the iteration protocol
-           */
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          /**
-           * Return an AsyncIterableIterator that works a page at a time
-           */
-          byPage: (settings = {}) => {
-            return this.findBlobsByTagsSegments(tagFilterSqlExpression, settings.continuationToken, {
-              maxPageSize: settings.maxPageSize,
-              ...listSegmentOptions
-            });
+        const cb = (v2, updateCache = false) => {
+          const { aborted } = ac.signal;
+          const ignoreAbort = options.ignoreFetchAbort && v2 !== void 0;
+          if (options.status) {
+            if (aborted && !updateCache) {
+              options.status.fetchAborted = true;
+              options.status.fetchError = ac.signal.reason;
+              if (ignoreAbort)
+                options.status.fetchAbortIgnored = true;
+            } else {
+              options.status.fetchResolved = true;
+            }
+          }
+          if (aborted && !ignoreAbort && !updateCache) {
+            return fetchFail(ac.signal.reason);
+          }
+          const bf2 = p;
+          if (this.#valList[index] === p) {
+            if (v2 === void 0) {
+              if (bf2.__staleWhileFetching) {
+                this.#valList[index] = bf2.__staleWhileFetching;
+              } else {
+                this.#delete(k, "fetch");
+              }
+            } else {
+              if (options.status)
+                options.status.fetchUpdated = true;
+              this.set(k, v2, fetchOpts.options);
+            }
+          }
+          return v2;
+        };
+        const eb = (er) => {
+          if (options.status) {
+            options.status.fetchRejected = true;
+            options.status.fetchError = er;
+          }
+          return fetchFail(er);
+        };
+        const fetchFail = (er) => {
+          const { aborted } = ac.signal;
+          const allowStaleAborted = aborted && options.allowStaleOnFetchAbort;
+          const allowStale = allowStaleAborted || options.allowStaleOnFetchRejection;
+          const noDelete = allowStale || options.noDeleteOnFetchRejection;
+          const bf2 = p;
+          if (this.#valList[index] === p) {
+            const del = !noDelete || bf2.__staleWhileFetching === void 0;
+            if (del) {
+              this.#delete(k, "fetch");
+            } else if (!allowStaleAborted) {
+              this.#valList[index] = bf2.__staleWhileFetching;
+            }
+          }
+          if (allowStale) {
+            if (options.status && bf2.__staleWhileFetching !== void 0) {
+              options.status.returnedStale = true;
+            }
+            return bf2.__staleWhileFetching;
+          } else if (bf2.__returned === bf2) {
+            throw er;
+          }
+        };
+        const pcall = (res, rej) => {
+          const fmp = this.#fetchMethod?.(k, v, fetchOpts);
+          if (fmp && fmp instanceof Promise) {
+            fmp.then((v2) => res(v2 === void 0 ? void 0 : v2), rej);
           }
+          ac.signal.addEventListener("abort", () => {
+            if (!options.ignoreFetchAbort || options.allowStaleOnFetchAbort) {
+              res(void 0);
+              if (options.allowStaleOnFetchAbort) {
+                res = (v2) => cb(v2, true);
+              }
+            }
+          });
+        };
+        if (options.status)
+          options.status.fetchDispatched = true;
+        const p = new Promise(pcall).then(cb, eb);
+        const bf = Object.assign(p, {
+          __abortController: ac,
+          __staleWhileFetching: v,
+          __returned: void 0
+        });
+        if (index === void 0) {
+          this.set(k, bf, { ...fetchOpts.options, status: void 0 });
+          index = this.#keyMap.get(k);
+        } else {
+          this.#valList[index] = bf;
+        }
+        return bf;
+      }
+      #isBackgroundFetch(p) {
+        if (!this.#hasFetchMethod)
+          return false;
+        const b = p;
+        return !!b && b instanceof Promise && b.hasOwnProperty("__staleWhileFetching") && b.__abortController instanceof AC;
+      }
+      async fetch(k, fetchOptions = {}) {
+        const {
+          // get options
+          allowStale = this.allowStale,
+          updateAgeOnGet = this.updateAgeOnGet,
+          noDeleteOnStaleGet = this.noDeleteOnStaleGet,
+          // set options
+          ttl = this.ttl,
+          noDisposeOnSet = this.noDisposeOnSet,
+          size = 0,
+          sizeCalculation = this.sizeCalculation,
+          noUpdateTTL = this.noUpdateTTL,
+          // fetch exclusive options
+          noDeleteOnFetchRejection = this.noDeleteOnFetchRejection,
+          allowStaleOnFetchRejection = this.allowStaleOnFetchRejection,
+          ignoreFetchAbort = this.ignoreFetchAbort,
+          allowStaleOnFetchAbort = this.allowStaleOnFetchAbort,
+          context: context2,
+          forceRefresh = false,
+          status,
+          signal
+        } = fetchOptions;
+        if (!this.#hasFetchMethod) {
+          if (status)
+            status.fetch = "get";
+          return this.get(k, {
+            allowStale,
+            updateAgeOnGet,
+            noDeleteOnStaleGet,
+            status
+          });
+        }
+        const options = {
+          allowStale,
+          updateAgeOnGet,
+          noDeleteOnStaleGet,
+          ttl,
+          noDisposeOnSet,
+          size,
+          sizeCalculation,
+          noUpdateTTL,
+          noDeleteOnFetchRejection,
+          allowStaleOnFetchRejection,
+          allowStaleOnFetchAbort,
+          ignoreFetchAbort,
+          status,
+          signal
         };
+        let index = this.#keyMap.get(k);
+        if (index === void 0) {
+          if (status)
+            status.fetch = "miss";
+          const p = this.#backgroundFetch(k, index, options, context2);
+          return p.__returned = p;
+        } else {
+          const v = this.#valList[index];
+          if (this.#isBackgroundFetch(v)) {
+            const stale = allowStale && v.__staleWhileFetching !== void 0;
+            if (status) {
+              status.fetch = "inflight";
+              if (stale)
+                status.returnedStale = true;
+            }
+            return stale ? v.__staleWhileFetching : v.__returned = v;
+          }
+          const isStale = this.#isStale(index);
+          if (!forceRefresh && !isStale) {
+            if (status)
+              status.fetch = "hit";
+            this.#moveToTail(index);
+            if (updateAgeOnGet) {
+              this.#updateItemAge(index);
+            }
+            if (status)
+              this.#statusTTL(status, index);
+            return v;
+          }
+          const p = this.#backgroundFetch(k, index, options, context2);
+          const hasStale = p.__staleWhileFetching !== void 0;
+          const staleVal = hasStale && allowStale;
+          if (status) {
+            status.fetch = isStale ? "stale" : "refresh";
+            if (staleVal && isStale)
+              status.returnedStale = true;
+          }
+          return staleVal ? p.__staleWhileFetching : p.__returned = p;
+        }
+      }
+      async forceFetch(k, fetchOptions = {}) {
+        const v = await this.fetch(k, fetchOptions);
+        if (v === void 0)
+          throw new Error("fetch() returned undefined");
+        return v;
+      }
+      memo(k, memoOptions = {}) {
+        const memoMethod = this.#memoMethod;
+        if (!memoMethod) {
+          throw new Error("no memoMethod provided to constructor");
+        }
+        const { context: context2, forceRefresh, ...options } = memoOptions;
+        const v = this.get(k, options);
+        if (!forceRefresh && v !== void 0)
+          return v;
+        const vv = memoMethod(k, v, {
+          options,
+          context: context2
+        });
+        this.set(k, vv, options);
+        return vv;
       }
       /**
-       * The Get Account Information operation returns the sku name and account kind
-       * for the specified account.
-       * The Get Account Information operation is available on service versions beginning
-       * with version 2018-03-28.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information
+       * Return a value from the cache. Will update the recency of the cache
+       * entry found.
        *
-       * @param options - Options to the Service Get Account Info operation.
-       * @returns Response data for the Service Get Account Info operation.
+       * If the key is not found, get() will return `undefined`.
        */
-      async getAccountInfo(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-getAccountInfo", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.containerContext.getAccountInfo({
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      get(k, getOptions = {}) {
+        const { allowStale = this.allowStale, updateAgeOnGet = this.updateAgeOnGet, noDeleteOnStaleGet = this.noDeleteOnStaleGet, status } = getOptions;
+        const index = this.#keyMap.get(k);
+        if (index !== void 0) {
+          const value = this.#valList[index];
+          const fetching = this.#isBackgroundFetch(value);
+          if (status)
+            this.#statusTTL(status, index);
+          if (this.#isStale(index)) {
+            if (status)
+              status.get = "stale";
+            if (!fetching) {
+              if (!noDeleteOnStaleGet) {
+                this.#delete(k, "expire");
+              }
+              if (status && allowStale)
+                status.returnedStale = true;
+              return allowStale ? value : void 0;
+            } else {
+              if (status && allowStale && value.__staleWhileFetching !== void 0) {
+                status.returnedStale = true;
+              }
+              return allowStale ? value.__staleWhileFetching : void 0;
+            }
+          } else {
+            if (status)
+              status.get = "hit";
+            if (fetching) {
+              return value.__staleWhileFetching;
+            }
+            this.#moveToTail(index);
+            if (updateAgeOnGet) {
+              this.#updateItemAge(index);
+            }
+            return value;
+          }
+        } else if (status) {
+          status.get = "miss";
+        }
       }
-      getContainerNameFromUrl() {
-        let containerName;
-        try {
-          const parsedUrl = new URL(this.url);
-          if (parsedUrl.hostname.split(".")[1] === "blob") {
-            containerName = parsedUrl.pathname.split("/")[1];
-          } else if ((0, utils_common_js_1.isIpEndpointStyle)(parsedUrl)) {
-            containerName = parsedUrl.pathname.split("/")[2];
+      #connect(p, n) {
+        this.#prev[n] = p;
+        this.#next[p] = n;
+      }
+      #moveToTail(index) {
+        if (index !== this.#tail) {
+          if (index === this.#head) {
+            this.#head = this.#next[index];
           } else {
-            containerName = parsedUrl.pathname.split("/")[1];
-          }
-          containerName = decodeURIComponent(containerName);
-          if (!containerName) {
-            throw new Error("Provided containerName is invalid.");
+            this.#connect(this.#prev[index], this.#next[index]);
           }
-          return containerName;
-        } catch (error3) {
-          throw new Error("Unable to extract containerName with provided information.");
+          this.#connect(this.#tail, index);
+          this.#tail = index;
         }
       }
       /**
-       * Only available for ContainerClient constructed with a shared key credential.
-       *
-       * Generates a Blob Container Service Shared Access Signature (SAS) URI based on the client properties
-       * and parameters passed in. The SAS is signed by the shared key credential of the client.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       * Deletes a key out of the cache.
        *
-       * @param options - Optional parameters.
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       * Returns true if the key was deleted, false otherwise.
        */
-      generateSasUrl(options) {
-        return new Promise((resolve2) => {
-          if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
-            throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
-          }
-          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
-            containerName: this._containerName,
-            ...options
-          }, this.credential).toString();
-          resolve2((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
-        });
+      delete(k) {
+        return this.#delete(k, "delete");
       }
-      /**
-       * Only available for ContainerClient constructed with a shared key credential.
-       *
-       * Generates string to sign for a Blob Container Service Shared Access Signature (SAS) URI
-       * based on the client properties and parameters passed in. The SAS is signed by the shared key credential of the client.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/
-      generateSasStringToSign(options) {
-        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
-          throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
+      #delete(k, reason) {
+        let deleted = false;
+        if (this.#size !== 0) {
+          const index = this.#keyMap.get(k);
+          if (index !== void 0) {
+            deleted = true;
+            if (this.#size === 1) {
+              this.#clear(reason);
+            } else {
+              this.#removeItemSize(index);
+              const v = this.#valList[index];
+              if (this.#isBackgroundFetch(v)) {
+                v.__abortController.abort(new Error("deleted"));
+              } else if (this.#hasDispose || this.#hasDisposeAfter) {
+                if (this.#hasDispose) {
+                  this.#dispose?.(v, k, reason);
+                }
+                if (this.#hasDisposeAfter) {
+                  this.#disposed?.push([v, k, reason]);
+                }
+              }
+              this.#keyMap.delete(k);
+              this.#keyList[index] = void 0;
+              this.#valList[index] = void 0;
+              if (index === this.#tail) {
+                this.#tail = this.#prev[index];
+              } else if (index === this.#head) {
+                this.#head = this.#next[index];
+              } else {
+                const pi = this.#prev[index];
+                this.#next[pi] = this.#next[index];
+                const ni = this.#next[index];
+                this.#prev[ni] = this.#prev[index];
+              }
+              this.#size--;
+              this.#free.push(index);
+            }
+          }
         }
-        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
-          containerName: this._containerName,
-          ...options
-        }, this.credential).stringToSign;
-      }
-      /**
-       * Generates a Blob Container Service Shared Access Signature (SAS) URI based on the client properties
-       * and parameters passed in. The SAS is signed by the input user delegation key.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateUserDelegationSasUrl(options, userDelegationKey) {
-        return new Promise((resolve2) => {
-          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
-            containerName: this._containerName,
-            ...options
-          }, userDelegationKey, this.accountName).toString();
-          resolve2((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
-        });
+        if (this.#hasDisposeAfter && this.#disposed?.length) {
+          const dt = this.#disposed;
+          let task;
+          while (task = dt?.shift()) {
+            this.#disposeAfter?.(...task);
+          }
+        }
+        return deleted;
       }
       /**
-       * Generates string to sign for a Blob Container Service Shared Access Signature (SAS) URI
-       * based on the client properties and parameters passed in. The SAS is signed by the input user delegation key.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       * Clear the cache entirely, throwing away all values.
        */
-      generateUserDelegationSasStringToSign(options, userDelegationKey) {
-        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
-          containerName: this._containerName,
-          ...options
-        }, userDelegationKey, this.accountName).stringToSign;
+      clear() {
+        return this.#clear("delete");
       }
-      /**
-       * Creates a BlobBatchClient object to conduct batch operations.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch
-       *
-       * @returns A new BlobBatchClient object for this container.
-       */
-      getBlobBatchClient() {
-        return new BlobBatchClient_js_1.BlobBatchClient(this.url, this.pipeline);
+      #clear(reason) {
+        for (const index of this.#rindexes({ allowStale: true })) {
+          const v = this.#valList[index];
+          if (this.#isBackgroundFetch(v)) {
+            v.__abortController.abort(new Error("deleted"));
+          } else {
+            const k = this.#keyList[index];
+            if (this.#hasDispose) {
+              this.#dispose?.(v, k, reason);
+            }
+            if (this.#hasDisposeAfter) {
+              this.#disposed?.push([v, k, reason]);
+            }
+          }
+        }
+        this.#keyMap.clear();
+        this.#valList.fill(void 0);
+        this.#keyList.fill(void 0);
+        if (this.#ttls && this.#starts) {
+          this.#ttls.fill(0);
+          this.#starts.fill(0);
+        }
+        if (this.#sizes) {
+          this.#sizes.fill(0);
+        }
+        this.#head = 0;
+        this.#tail = 0;
+        this.#free.length = 0;
+        this.#calculatedSize = 0;
+        this.#size = 0;
+        if (this.#hasDisposeAfter && this.#disposed) {
+          const dt = this.#disposed;
+          let task;
+          while (task = dt?.shift()) {
+            this.#disposeAfter?.(...task);
+          }
+        }
       }
     };
-    exports2.ContainerClient = ContainerClient;
+    exports2.LRUCache = LRUCache;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASPermissions.js
-var require_AccountSASPermissions = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASPermissions.js"(exports2) {
+// node_modules/minipass/dist/commonjs/index.js
+var require_commonjs22 = __commonJS({
+  "node_modules/minipass/dist/commonjs/index.js"(exports2) {
     "use strict";
+    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
+      return mod && mod.__esModule ? mod : { "default": mod };
+    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AccountSASPermissions = void 0;
-    var AccountSASPermissions = class _AccountSASPermissions {
-      /**
-       * Parse initializes the AccountSASPermissions fields from a string.
-       *
-       * @param permissions -
-       */
-      static parse(permissions) {
-        const accountSASPermissions = new _AccountSASPermissions();
-        for (const c of permissions) {
-          switch (c) {
-            case "r":
-              accountSASPermissions.read = true;
-              break;
-            case "w":
-              accountSASPermissions.write = true;
-              break;
-            case "d":
-              accountSASPermissions.delete = true;
-              break;
-            case "x":
-              accountSASPermissions.deleteVersion = true;
-              break;
-            case "l":
-              accountSASPermissions.list = true;
-              break;
-            case "a":
-              accountSASPermissions.add = true;
-              break;
-            case "c":
-              accountSASPermissions.create = true;
-              break;
-            case "u":
-              accountSASPermissions.update = true;
-              break;
-            case "p":
-              accountSASPermissions.process = true;
-              break;
-            case "t":
-              accountSASPermissions.tag = true;
-              break;
-            case "f":
-              accountSASPermissions.filter = true;
-              break;
-            case "i":
-              accountSASPermissions.setImmutabilityPolicy = true;
-              break;
-            case "y":
-              accountSASPermissions.permanentDelete = true;
-              break;
-            default:
-              throw new RangeError(`Invalid permission character: ${c}`);
-          }
-        }
-        return accountSASPermissions;
+    exports2.Minipass = exports2.isWritable = exports2.isReadable = exports2.isStream = void 0;
+    var proc = typeof process === "object" && process ? process : {
+      stdout: null,
+      stderr: null
+    };
+    var node_events_1 = require("node:events");
+    var node_stream_1 = __importDefault2(require("node:stream"));
+    var node_string_decoder_1 = require("node:string_decoder");
+    var isStream = (s) => !!s && typeof s === "object" && (s instanceof Minipass || s instanceof node_stream_1.default || (0, exports2.isReadable)(s) || (0, exports2.isWritable)(s));
+    exports2.isStream = isStream;
+    var isReadable = (s) => !!s && typeof s === "object" && s instanceof node_events_1.EventEmitter && typeof s.pipe === "function" && // node core Writable streams have a pipe() method, but it throws
+    s.pipe !== node_stream_1.default.Writable.prototype.pipe;
+    exports2.isReadable = isReadable;
+    var isWritable = (s) => !!s && typeof s === "object" && s instanceof node_events_1.EventEmitter && typeof s.write === "function" && typeof s.end === "function";
+    exports2.isWritable = isWritable;
+    var EOF = /* @__PURE__ */ Symbol("EOF");
+    var MAYBE_EMIT_END = /* @__PURE__ */ Symbol("maybeEmitEnd");
+    var EMITTED_END = /* @__PURE__ */ Symbol("emittedEnd");
+    var EMITTING_END = /* @__PURE__ */ Symbol("emittingEnd");
+    var EMITTED_ERROR = /* @__PURE__ */ Symbol("emittedError");
+    var CLOSED = /* @__PURE__ */ Symbol("closed");
+    var READ = /* @__PURE__ */ Symbol("read");
+    var FLUSH = /* @__PURE__ */ Symbol("flush");
+    var FLUSHCHUNK = /* @__PURE__ */ Symbol("flushChunk");
+    var ENCODING = /* @__PURE__ */ Symbol("encoding");
+    var DECODER = /* @__PURE__ */ Symbol("decoder");
+    var FLOWING = /* @__PURE__ */ Symbol("flowing");
+    var PAUSED = /* @__PURE__ */ Symbol("paused");
+    var RESUME = /* @__PURE__ */ Symbol("resume");
+    var BUFFER = /* @__PURE__ */ Symbol("buffer");
+    var PIPES = /* @__PURE__ */ Symbol("pipes");
+    var BUFFERLENGTH = /* @__PURE__ */ Symbol("bufferLength");
+    var BUFFERPUSH = /* @__PURE__ */ Symbol("bufferPush");
+    var BUFFERSHIFT = /* @__PURE__ */ Symbol("bufferShift");
+    var OBJECTMODE = /* @__PURE__ */ Symbol("objectMode");
+    var DESTROYED = /* @__PURE__ */ Symbol("destroyed");
+    var ERROR = /* @__PURE__ */ Symbol("error");
+    var EMITDATA = /* @__PURE__ */ Symbol("emitData");
+    var EMITEND = /* @__PURE__ */ Symbol("emitEnd");
+    var EMITEND2 = /* @__PURE__ */ Symbol("emitEnd2");
+    var ASYNC = /* @__PURE__ */ Symbol("async");
+    var ABORT = /* @__PURE__ */ Symbol("abort");
+    var ABORTED = /* @__PURE__ */ Symbol("aborted");
+    var SIGNAL = /* @__PURE__ */ Symbol("signal");
+    var DATALISTENERS = /* @__PURE__ */ Symbol("dataListeners");
+    var DISCARDED = /* @__PURE__ */ Symbol("discarded");
+    var defer = (fn) => Promise.resolve().then(fn);
+    var nodefer = (fn) => fn();
+    var isEndish = (ev) => ev === "end" || ev === "finish" || ev === "prefinish";
+    var isArrayBufferLike = (b) => b instanceof ArrayBuffer || !!b && typeof b === "object" && b.constructor && b.constructor.name === "ArrayBuffer" && b.byteLength >= 0;
+    var isArrayBufferView = (b) => !Buffer.isBuffer(b) && ArrayBuffer.isView(b);
+    var Pipe = class {
+      src;
+      dest;
+      opts;
+      ondrain;
+      constructor(src, dest, opts) {
+        this.src = src;
+        this.dest = dest;
+        this.opts = opts;
+        this.ondrain = () => src[RESUME]();
+        this.dest.on("drain", this.ondrain);
       }
-      /**
-       * Creates a {@link AccountSASPermissions} from a raw object which contains same keys as it
-       * and boolean values for them.
-       *
-       * @param permissionLike -
-       */
-      static from(permissionLike) {
-        const accountSASPermissions = new _AccountSASPermissions();
-        if (permissionLike.read) {
-          accountSASPermissions.read = true;
-        }
-        if (permissionLike.write) {
-          accountSASPermissions.write = true;
-        }
-        if (permissionLike.delete) {
-          accountSASPermissions.delete = true;
-        }
-        if (permissionLike.deleteVersion) {
-          accountSASPermissions.deleteVersion = true;
-        }
-        if (permissionLike.filter) {
-          accountSASPermissions.filter = true;
-        }
-        if (permissionLike.tag) {
-          accountSASPermissions.tag = true;
-        }
-        if (permissionLike.list) {
-          accountSASPermissions.list = true;
-        }
-        if (permissionLike.add) {
-          accountSASPermissions.add = true;
-        }
-        if (permissionLike.create) {
-          accountSASPermissions.create = true;
-        }
-        if (permissionLike.update) {
-          accountSASPermissions.update = true;
-        }
-        if (permissionLike.process) {
-          accountSASPermissions.process = true;
-        }
-        if (permissionLike.setImmutabilityPolicy) {
-          accountSASPermissions.setImmutabilityPolicy = true;
-        }
-        if (permissionLike.permanentDelete) {
-          accountSASPermissions.permanentDelete = true;
-        }
-        return accountSASPermissions;
+      unpipe() {
+        this.dest.removeListener("drain", this.ondrain);
       }
+      // only here for the prototype
+      /* c8 ignore start */
+      proxyErrors(_er) {
+      }
+      /* c8 ignore stop */
+      end() {
+        this.unpipe();
+        if (this.opts.end)
+          this.dest.end();
+      }
+    };
+    var PipeProxyErrors = class extends Pipe {
+      unpipe() {
+        this.src.removeListener("error", this.proxyErrors);
+        super.unpipe();
+      }
+      constructor(src, dest, opts) {
+        super(src, dest, opts);
+        this.proxyErrors = (er) => dest.emit("error", er);
+        src.on("error", this.proxyErrors);
+      }
+    };
+    var isObjectModeOptions = (o) => !!o.objectMode;
+    var isEncodingOptions = (o) => !o.objectMode && !!o.encoding && o.encoding !== "buffer";
+    var Minipass = class extends node_events_1.EventEmitter {
+      [FLOWING] = false;
+      [PAUSED] = false;
+      [PIPES] = [];
+      [BUFFER] = [];
+      [OBJECTMODE];
+      [ENCODING];
+      [ASYNC];
+      [DECODER];
+      [EOF] = false;
+      [EMITTED_END] = false;
+      [EMITTING_END] = false;
+      [CLOSED] = false;
+      [EMITTED_ERROR] = null;
+      [BUFFERLENGTH] = 0;
+      [DESTROYED] = false;
+      [SIGNAL];
+      [ABORTED] = false;
+      [DATALISTENERS] = 0;
+      [DISCARDED] = false;
       /**
-       * Permission to read resources and list queues and tables granted.
-       */
-      read = false;
-      /**
-       * Permission to write resources granted.
-       */
-      write = false;
-      /**
-       * Permission to delete blobs and files granted.
-       */
-      delete = false;
-      /**
-       * Permission to delete versions granted.
-       */
-      deleteVersion = false;
-      /**
-       * Permission to list blob containers, blobs, shares, directories, and files granted.
-       */
-      list = false;
-      /**
-       * Permission to add messages, table entities, and append to blobs granted.
-       */
-      add = false;
-      /**
-       * Permission to create blobs and files granted.
-       */
-      create = false;
-      /**
-       * Permissions to update messages and table entities granted.
-       */
-      update = false;
-      /**
-       * Permission to get and delete messages granted.
-       */
-      process = false;
-      /**
-       * Specfies Tag access granted.
-       */
-      tag = false;
-      /**
-       * Permission to filter blobs.
-       */
-      filter = false;
-      /**
-       * Permission to set immutability policy.
-       */
-      setImmutabilityPolicy = false;
-      /**
-       * Specifies that Permanent Delete is permitted.
-       */
-      permanentDelete = false;
-      /**
-       * Produces the SAS permissions string for an Azure Storage account.
-       * Call this method to set AccountSASSignatureValues Permissions field.
-       *
-       * Using this method will guarantee the resource types are in
-       * an order accepted by the service.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas
-       *
-       */
-      toString() {
-        const permissions = [];
-        if (this.read) {
-          permissions.push("r");
-        }
-        if (this.write) {
-          permissions.push("w");
-        }
-        if (this.delete) {
-          permissions.push("d");
-        }
-        if (this.deleteVersion) {
-          permissions.push("x");
-        }
-        if (this.filter) {
-          permissions.push("f");
-        }
-        if (this.tag) {
-          permissions.push("t");
-        }
-        if (this.list) {
-          permissions.push("l");
-        }
-        if (this.add) {
-          permissions.push("a");
-        }
-        if (this.create) {
-          permissions.push("c");
+       * true if the stream can be written
+       */
+      writable = true;
+      /**
+       * true if the stream can be read
+       */
+      readable = true;
+      /**
+       * If `RType` is Buffer, then options do not need to be provided.
+       * Otherwise, an options object must be provided to specify either
+       * {@link Minipass.SharedOptions.objectMode} or
+       * {@link Minipass.SharedOptions.encoding}, as appropriate.
+       */
+      constructor(...args) {
+        const options = args[0] || {};
+        super();
+        if (options.objectMode && typeof options.encoding === "string") {
+          throw new TypeError("Encoding and objectMode may not be used together");
         }
-        if (this.update) {
-          permissions.push("u");
+        if (isObjectModeOptions(options)) {
+          this[OBJECTMODE] = true;
+          this[ENCODING] = null;
+        } else if (isEncodingOptions(options)) {
+          this[ENCODING] = options.encoding;
+          this[OBJECTMODE] = false;
+        } else {
+          this[OBJECTMODE] = false;
+          this[ENCODING] = null;
         }
-        if (this.process) {
-          permissions.push("p");
+        this[ASYNC] = !!options.async;
+        this[DECODER] = this[ENCODING] ? new node_string_decoder_1.StringDecoder(this[ENCODING]) : null;
+        if (options && options.debugExposeBuffer === true) {
+          Object.defineProperty(this, "buffer", { get: () => this[BUFFER] });
         }
-        if (this.setImmutabilityPolicy) {
-          permissions.push("i");
+        if (options && options.debugExposePipes === true) {
+          Object.defineProperty(this, "pipes", { get: () => this[PIPES] });
         }
-        if (this.permanentDelete) {
-          permissions.push("y");
+        const { signal } = options;
+        if (signal) {
+          this[SIGNAL] = signal;
+          if (signal.aborted) {
+            this[ABORT]();
+          } else {
+            signal.addEventListener("abort", () => this[ABORT]());
+          }
         }
-        return permissions.join("");
       }
-    };
-    exports2.AccountSASPermissions = AccountSASPermissions;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASResourceTypes.js
-var require_AccountSASResourceTypes = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASResourceTypes.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AccountSASResourceTypes = void 0;
-    var AccountSASResourceTypes = class _AccountSASResourceTypes {
       /**
-       * Creates an {@link AccountSASResourceTypes} from the specified resource types string. This method will throw an
-       * Error if it encounters a character that does not correspond to a valid resource type.
+       * The amount of data stored in the buffer waiting to be read.
        *
-       * @param resourceTypes -
+       * For Buffer strings, this will be the total byte length.
+       * For string encoding streams, this will be the string character length,
+       * according to JavaScript's `string.length` logic.
+       * For objectMode streams, this is a count of the items waiting to be
+       * emitted.
        */
-      static parse(resourceTypes) {
-        const accountSASResourceTypes = new _AccountSASResourceTypes();
-        for (const c of resourceTypes) {
-          switch (c) {
-            case "s":
-              accountSASResourceTypes.service = true;
-              break;
-            case "c":
-              accountSASResourceTypes.container = true;
-              break;
-            case "o":
-              accountSASResourceTypes.object = true;
-              break;
-            default:
-              throw new RangeError(`Invalid resource type: ${c}`);
-          }
-        }
-        return accountSASResourceTypes;
+      get bufferLength() {
+        return this[BUFFERLENGTH];
       }
       /**
-       * Permission to access service level APIs granted.
-       */
-      service = false;
-      /**
-       * Permission to access container level APIs (Blob Containers, Tables, Queues, File Shares) granted.
+       * The `BufferEncoding` currently in use, or `null`
        */
-      container = false;
+      get encoding() {
+        return this[ENCODING];
+      }
       /**
-       * Permission to access object level APIs (Blobs, Table Entities, Queue Messages, Files) granted.
+       * @deprecated - This is a read only property
        */
-      object = false;
+      set encoding(_enc) {
+        throw new Error("Encoding must be set at instantiation time");
+      }
       /**
-       * Converts the given resource types to a string.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas
-       *
+       * @deprecated - Encoding may only be set at instantiation time
        */
-      toString() {
-        const resourceTypes = [];
-        if (this.service) {
-          resourceTypes.push("s");
-        }
-        if (this.container) {
-          resourceTypes.push("c");
-        }
-        if (this.object) {
-          resourceTypes.push("o");
-        }
-        return resourceTypes.join("");
+      setEncoding(_enc) {
+        throw new Error("Encoding must be set at instantiation time");
       }
-    };
-    exports2.AccountSASResourceTypes = AccountSASResourceTypes;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASServices.js
-var require_AccountSASServices = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASServices.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AccountSASServices = void 0;
-    var AccountSASServices = class _AccountSASServices {
       /**
-       * Creates an {@link AccountSASServices} from the specified services string. This method will throw an
-       * Error if it encounters a character that does not correspond to a valid service.
-       *
-       * @param services -
+       * True if this is an objectMode stream
        */
-      static parse(services) {
-        const accountSASServices = new _AccountSASServices();
-        for (const c of services) {
-          switch (c) {
-            case "b":
-              accountSASServices.blob = true;
-              break;
-            case "f":
-              accountSASServices.file = true;
-              break;
-            case "q":
-              accountSASServices.queue = true;
-              break;
-            case "t":
-              accountSASServices.table = true;
-              break;
-            default:
-              throw new RangeError(`Invalid service character: ${c}`);
-          }
-        }
-        return accountSASServices;
+      get objectMode() {
+        return this[OBJECTMODE];
       }
       /**
-       * Permission to access blob resources granted.
+       * @deprecated - This is a read-only property
        */
-      blob = false;
+      set objectMode(_om) {
+        throw new Error("objectMode must be set at instantiation time");
+      }
       /**
-       * Permission to access file resources granted.
+       * true if this is an async stream
        */
-      file = false;
+      get ["async"]() {
+        return this[ASYNC];
+      }
       /**
-       * Permission to access queue resources granted.
+       * Set to true to make this stream async.
+       *
+       * Once set, it cannot be unset, as this would potentially cause incorrect
+       * behavior.  Ie, a sync stream can be made async, but an async stream
+       * cannot be safely made sync.
        */
-      queue = false;
+      set ["async"](a) {
+        this[ASYNC] = this[ASYNC] || !!a;
+      }
+      // drop everything and get out of the flow completely
+      [ABORT]() {
+        this[ABORTED] = true;
+        this.emit("abort", this[SIGNAL]?.reason);
+        this.destroy(this[SIGNAL]?.reason);
+      }
       /**
-       * Permission to access table resources granted.
+       * True if the stream has been aborted.
        */
-      table = false;
+      get aborted() {
+        return this[ABORTED];
+      }
       /**
-       * Converts the given services to a string.
-       *
+       * No-op setter. Stream aborted status is set via the AbortSignal provided
+       * in the constructor options.
        */
-      toString() {
-        const services = [];
-        if (this.blob) {
-          services.push("b");
+      set aborted(_2) {
+      }
+      write(chunk, encoding, cb) {
+        if (this[ABORTED])
+          return false;
+        if (this[EOF])
+          throw new Error("write after end");
+        if (this[DESTROYED]) {
+          this.emit("error", Object.assign(new Error("Cannot call write after a stream was destroyed"), { code: "ERR_STREAM_DESTROYED" }));
+          return true;
         }
-        if (this.table) {
-          services.push("t");
+        if (typeof encoding === "function") {
+          cb = encoding;
+          encoding = "utf8";
         }
-        if (this.queue) {
-          services.push("q");
+        if (!encoding)
+          encoding = "utf8";
+        const fn = this[ASYNC] ? defer : nodefer;
+        if (!this[OBJECTMODE] && !Buffer.isBuffer(chunk)) {
+          if (isArrayBufferView(chunk)) {
+            chunk = Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
+          } else if (isArrayBufferLike(chunk)) {
+            chunk = Buffer.from(chunk);
+          } else if (typeof chunk !== "string") {
+            throw new Error("Non-contiguous data written to non-objectMode stream");
+          }
         }
-        if (this.file) {
-          services.push("f");
+        if (this[OBJECTMODE]) {
+          if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
+            this[FLUSH](true);
+          if (this[FLOWING])
+            this.emit("data", chunk);
+          else
+            this[BUFFERPUSH](chunk);
+          if (this[BUFFERLENGTH] !== 0)
+            this.emit("readable");
+          if (cb)
+            fn(cb);
+          return this[FLOWING];
         }
-        return services.join("");
-      }
-    };
-    exports2.AccountSASServices = AccountSASServices;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASSignatureValues.js
-var require_AccountSASSignatureValues = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASSignatureValues.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.generateAccountSASQueryParameters = generateAccountSASQueryParameters;
-    exports2.generateAccountSASQueryParametersInternal = generateAccountSASQueryParametersInternal;
-    var AccountSASPermissions_js_1 = require_AccountSASPermissions();
-    var AccountSASResourceTypes_js_1 = require_AccountSASResourceTypes();
-    var AccountSASServices_js_1 = require_AccountSASServices();
-    var SasIPRange_js_1 = require_SasIPRange();
-    var SASQueryParameters_js_1 = require_SASQueryParameters();
-    var constants_js_1 = require_constants14();
-    var utils_common_js_1 = require_utils_common();
-    function generateAccountSASQueryParameters(accountSASSignatureValues, sharedKeyCredential) {
-      return generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential).sasQueryParameters;
-    }
-    function generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential) {
-      const version = accountSASSignatureValues.version ? accountSASSignatureValues.version : constants_js_1.SERVICE_VERSION;
-      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.setImmutabilityPolicy && version < "2020-08-04") {
-        throw RangeError("'version' must be >= '2020-08-04' when provided 'i' permission.");
-      }
-      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.deleteVersion && version < "2019-10-10") {
-        throw RangeError("'version' must be >= '2019-10-10' when provided 'x' permission.");
-      }
-      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.permanentDelete && version < "2019-10-10") {
-        throw RangeError("'version' must be >= '2019-10-10' when provided 'y' permission.");
-      }
-      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.tag && version < "2019-12-12") {
-        throw RangeError("'version' must be >= '2019-12-12' when provided 't' permission.");
-      }
-      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.filter && version < "2019-12-12") {
-        throw RangeError("'version' must be >= '2019-12-12' when provided 'f' permission.");
-      }
-      if (accountSASSignatureValues.encryptionScope && version < "2020-12-06") {
-        throw RangeError("'version' must be >= '2020-12-06' when provided 'encryptionScope' in SAS.");
-      }
-      const parsedPermissions = AccountSASPermissions_js_1.AccountSASPermissions.parse(accountSASSignatureValues.permissions.toString());
-      const parsedServices = AccountSASServices_js_1.AccountSASServices.parse(accountSASSignatureValues.services).toString();
-      const parsedResourceTypes = AccountSASResourceTypes_js_1.AccountSASResourceTypes.parse(accountSASSignatureValues.resourceTypes).toString();
-      let stringToSign;
-      if (version >= "2020-12-06") {
-        stringToSign = [
-          sharedKeyCredential.accountName,
-          parsedPermissions,
-          parsedServices,
-          parsedResourceTypes,
-          accountSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.startsOn, false) : "",
-          (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.expiresOn, false),
-          accountSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(accountSASSignatureValues.ipRange) : "",
-          accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : "",
-          version,
-          accountSASSignatureValues.encryptionScope ? accountSASSignatureValues.encryptionScope : "",
-          ""
-          // Account SAS requires an additional newline character
-        ].join("\n");
-      } else {
-        stringToSign = [
-          sharedKeyCredential.accountName,
-          parsedPermissions,
-          parsedServices,
-          parsedResourceTypes,
-          accountSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.startsOn, false) : "",
-          (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.expiresOn, false),
-          accountSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(accountSASSignatureValues.ipRange) : "",
-          accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : "",
-          version,
-          ""
-          // Account SAS requires an additional newline character
-        ].join("\n");
+        if (!chunk.length) {
+          if (this[BUFFERLENGTH] !== 0)
+            this.emit("readable");
+          if (cb)
+            fn(cb);
+          return this[FLOWING];
+        }
+        if (typeof chunk === "string" && // unless it is a string already ready for us to use
+        !(encoding === this[ENCODING] && !this[DECODER]?.lastNeed)) {
+          chunk = Buffer.from(chunk, encoding);
+        }
+        if (Buffer.isBuffer(chunk) && this[ENCODING]) {
+          chunk = this[DECODER].write(chunk);
+        }
+        if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
+          this[FLUSH](true);
+        if (this[FLOWING])
+          this.emit("data", chunk);
+        else
+          this[BUFFERPUSH](chunk);
+        if (this[BUFFERLENGTH] !== 0)
+          this.emit("readable");
+        if (cb)
+          fn(cb);
+        return this[FLOWING];
       }
-      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(version, signature, parsedPermissions.toString(), parsedServices, parsedResourceTypes, accountSASSignatureValues.protocol, accountSASSignatureValues.startsOn, accountSASSignatureValues.expiresOn, accountSASSignatureValues.ipRange, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, accountSASSignatureValues.encryptionScope),
-        stringToSign
-      };
-    }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/BlobServiceClient.js
-var require_BlobServiceClient = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BlobServiceClient.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobServiceClient = void 0;
-    var core_auth_1 = require_commonjs9();
-    var core_rest_pipeline_1 = require_commonjs8();
-    var core_util_1 = require_commonjs6();
-    var Pipeline_js_1 = require_Pipeline();
-    var ContainerClient_js_1 = require_ContainerClient();
-    var utils_common_js_1 = require_utils_common();
-    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
-    var AnonymousCredential_js_1 = require_AnonymousCredential();
-    var utils_common_js_2 = require_utils_common();
-    var tracing_js_1 = require_tracing();
-    var BlobBatchClient_js_1 = require_BlobBatchClient();
-    var StorageClient_js_1 = require_StorageClient();
-    var AccountSASPermissions_js_1 = require_AccountSASPermissions();
-    var AccountSASSignatureValues_js_1 = require_AccountSASSignatureValues();
-    var AccountSASServices_js_1 = require_AccountSASServices();
-    var BlobServiceClient = class _BlobServiceClient extends StorageClient_js_1.StorageClient {
-      /**
-       * serviceContext provided by protocol layer.
-       */
-      serviceContext;
       /**
+       * Low-level explicit read method.
        *
-       * Creates an instance of BlobServiceClient from connection string.
+       * In objectMode, the argument is ignored, and one item is returned if
+       * available.
        *
-       * @param connectionString - Account connection string or a SAS connection string of an Azure storage account.
-       *                                  [ Note - Account connection string can only be used in NODE.JS runtime. ]
-       *                                  Account connection string example -
-       *                                  `DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=accountKey;EndpointSuffix=core.windows.net`
-       *                                  SAS connection string example -
-       *                                  `BlobEndpoint=https://myaccount.blob.core.windows.net/;QueueEndpoint=https://myaccount.queue.core.windows.net/;FileEndpoint=https://myaccount.file.core.windows.net/;TableEndpoint=https://myaccount.table.core.windows.net/;SharedAccessSignature=sasString`
-       * @param options - Optional. Options to configure the HTTP pipeline.
+       * `n` is the number of bytes (or in the case of encoding streams,
+       * characters) to consume. If `n` is not provided, then the entire buffer
+       * is returned, or `null` is returned if no data is available.
+       *
+       * If `n` is greater that the amount of data in the internal buffer,
+       * then `null` is returned.
        */
-      static fromConnectionString(connectionString, options) {
-        options = options || {};
-        const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(connectionString);
-        if (extractedCreds.kind === "AccountConnString") {
-          if (core_util_1.isNodeLike) {
-            const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
-            if (!options.proxyOptions) {
-              options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
-            }
-            const pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
-            return new _BlobServiceClient(extractedCreds.url, pipeline);
+      read(n) {
+        if (this[DESTROYED])
+          return null;
+        this[DISCARDED] = false;
+        if (this[BUFFERLENGTH] === 0 || n === 0 || n && n > this[BUFFERLENGTH]) {
+          this[MAYBE_EMIT_END]();
+          return null;
+        }
+        if (this[OBJECTMODE])
+          n = null;
+        if (this[BUFFER].length > 1 && !this[OBJECTMODE]) {
+          this[BUFFER] = [
+            this[ENCODING] ? this[BUFFER].join("") : Buffer.concat(this[BUFFER], this[BUFFERLENGTH])
+          ];
+        }
+        const ret = this[READ](n || null, this[BUFFER][0]);
+        this[MAYBE_EMIT_END]();
+        return ret;
+      }
+      [READ](n, chunk) {
+        if (this[OBJECTMODE])
+          this[BUFFERSHIFT]();
+        else {
+          const c = chunk;
+          if (n === c.length || n === null)
+            this[BUFFERSHIFT]();
+          else if (typeof c === "string") {
+            this[BUFFER][0] = c.slice(n);
+            chunk = c.slice(0, n);
+            this[BUFFERLENGTH] -= n;
           } else {
-            throw new Error("Account connection string is only supported in Node.js environment");
+            this[BUFFER][0] = c.subarray(n);
+            chunk = c.subarray(0, n);
+            this[BUFFERLENGTH] -= n;
           }
-        } else if (extractedCreds.kind === "SASConnString") {
-          const pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-          return new _BlobServiceClient(extractedCreds.url + "?" + extractedCreds.accountSas, pipeline);
-        } else {
-          throw new Error("Connection string must be either an Account connection string or a SAS connection string");
         }
+        this.emit("data", chunk);
+        if (!this[BUFFER].length && !this[EOF])
+          this.emit("drain");
+        return chunk;
       }
-      constructor(url, credentialOrPipeline, options) {
-        let pipeline;
-        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipeline)) {
-          pipeline = credentialOrPipeline;
-        } else if (core_util_1.isNodeLike && credentialOrPipeline instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipeline instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipeline)) {
-          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipeline, options);
-        } else {
-          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+      end(chunk, encoding, cb) {
+        if (typeof chunk === "function") {
+          cb = chunk;
+          chunk = void 0;
         }
-        super(url, pipeline);
-        this.serviceContext = this.storageClientContext.service;
+        if (typeof encoding === "function") {
+          cb = encoding;
+          encoding = "utf8";
+        }
+        if (chunk !== void 0)
+          this.write(chunk, encoding);
+        if (cb)
+          this.once("end", cb);
+        this[EOF] = true;
+        this.writable = false;
+        if (this[FLOWING] || !this[PAUSED])
+          this[MAYBE_EMIT_END]();
+        return this;
+      }
+      // don't let the internal resume be overwritten
+      [RESUME]() {
+        if (this[DESTROYED])
+          return;
+        if (!this[DATALISTENERS] && !this[PIPES].length) {
+          this[DISCARDED] = true;
+        }
+        this[PAUSED] = false;
+        this[FLOWING] = true;
+        this.emit("resume");
+        if (this[BUFFER].length)
+          this[FLUSH]();
+        else if (this[EOF])
+          this[MAYBE_EMIT_END]();
+        else
+          this.emit("drain");
+      }
+      /**
+       * Resume the stream if it is currently in a paused state
+       *
+       * If called when there are no pipe destinations or `data` event listeners,
+       * this will place the stream in a "discarded" state, where all data will
+       * be thrown away. The discarded state is removed if a pipe destination or
+       * data handler is added, if pause() is called, or if any synchronous or
+       * asynchronous iteration is started.
+       */
+      resume() {
+        return this[RESUME]();
       }
       /**
-       * Creates a {@link ContainerClient} object
-       *
-       * @param containerName - A container name
-       * @returns A new ContainerClient object for the given container name.
-       *
-       * Example usage:
-       *
-       * ```ts snippet:BlobServiceClientGetContainerClient
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerClient = blobServiceClient.getContainerClient("");
-       * ```
+       * Pause the stream
        */
-      getContainerClient(containerName) {
-        return new ContainerClient_js_1.ContainerClient((0, utils_common_js_1.appendToURLPath)(this.url, encodeURIComponent(containerName)), this.pipeline);
+      pause() {
+        this[FLOWING] = false;
+        this[PAUSED] = true;
+        this[DISCARDED] = false;
       }
       /**
-       * Create a Blob container. @see https://learn.microsoft.com/rest/api/storageservices/create-container
-       *
-       * @param containerName - Name of the container to create.
-       * @param options - Options to configure Container Create operation.
-       * @returns Container creation response and the corresponding container client.
+       * true if the stream has been forcibly destroyed
        */
-      async createContainer(containerName, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-createContainer", options, async (updatedOptions) => {
-          const containerClient = this.getContainerClient(containerName);
-          const containerCreateResponse = await containerClient.create(updatedOptions);
-          return {
-            containerClient,
-            containerCreateResponse
-          };
-        });
+      get destroyed() {
+        return this[DESTROYED];
       }
       /**
-       * Deletes a Blob container.
-       *
-       * @param containerName - Name of the container to delete.
-       * @param options - Options to configure Container Delete operation.
-       * @returns Container deletion response.
+       * true if the stream is currently in a flowing state, meaning that
+       * any writes will be immediately emitted.
        */
-      async deleteContainer(containerName, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-deleteContainer", options, async (updatedOptions) => {
-          const containerClient = this.getContainerClient(containerName);
-          return containerClient.delete(updatedOptions);
-        });
+      get flowing() {
+        return this[FLOWING];
       }
       /**
-       * Restore a previously deleted Blob container.
-       * This API is only functional if Container Soft Delete is enabled for the storage account associated with the container.
-       *
-       * @param deletedContainerName - Name of the previously deleted container.
-       * @param deletedContainerVersion - Version of the previously deleted container, used to uniquely identify the deleted container.
-       * @param options - Options to configure Container Restore operation.
-       * @returns Container deletion response.
+       * true if the stream is currently in a paused state
        */
-      async undeleteContainer(deletedContainerName, deletedContainerVersion, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-undeleteContainer", options, async (updatedOptions) => {
-          const containerClient = this.getContainerClient(options.destinationContainerName || deletedContainerName);
-          const containerContext = containerClient["storageClientContext"].container;
-          const containerUndeleteResponse = (0, utils_common_js_2.assertResponse)(await containerContext.restore({
-            deletedContainerName,
-            deletedContainerVersion,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          return { containerClient, containerUndeleteResponse };
-        });
+      get paused() {
+        return this[PAUSED];
+      }
+      [BUFFERPUSH](chunk) {
+        if (this[OBJECTMODE])
+          this[BUFFERLENGTH] += 1;
+        else
+          this[BUFFERLENGTH] += chunk.length;
+        this[BUFFER].push(chunk);
+      }
+      [BUFFERSHIFT]() {
+        if (this[OBJECTMODE])
+          this[BUFFERLENGTH] -= 1;
+        else
+          this[BUFFERLENGTH] -= this[BUFFER][0].length;
+        return this[BUFFER].shift();
+      }
+      [FLUSH](noDrain = false) {
+        do {
+        } while (this[FLUSHCHUNK](this[BUFFERSHIFT]()) && this[BUFFER].length);
+        if (!noDrain && !this[BUFFER].length && !this[EOF])
+          this.emit("drain");
+      }
+      [FLUSHCHUNK](chunk) {
+        this.emit("data", chunk);
+        return this[FLOWING];
       }
       /**
-       * Gets the properties of a storage account’s Blob service, including properties
-       * for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-properties
+       * Pipe all data emitted by this stream into the destination provided.
        *
-       * @param options - Options to the Service Get Properties operation.
-       * @returns Response data for the Service Get Properties operation.
+       * Triggers the flow of data.
        */
-      async getProperties(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getProperties", options, async (updatedOptions) => {
-          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getProperties({
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      pipe(dest, opts) {
+        if (this[DESTROYED])
+          return dest;
+        this[DISCARDED] = false;
+        const ended = this[EMITTED_END];
+        opts = opts || {};
+        if (dest === proc.stdout || dest === proc.stderr)
+          opts.end = false;
+        else
+          opts.end = opts.end !== false;
+        opts.proxyErrors = !!opts.proxyErrors;
+        if (ended) {
+          if (opts.end)
+            dest.end();
+        } else {
+          this[PIPES].push(!opts.proxyErrors ? new Pipe(this, dest, opts) : new PipeProxyErrors(this, dest, opts));
+          if (this[ASYNC])
+            defer(() => this[RESUME]());
+          else
+            this[RESUME]();
+        }
+        return dest;
       }
       /**
-       * Sets properties for a storage account’s Blob service endpoint, including properties
-       * for Storage Analytics, CORS (Cross-Origin Resource Sharing) rules and soft delete settings.
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-service-properties
+       * Fully unhook a piped destination stream.
        *
-       * @param properties -
-       * @param options - Options to the Service Set Properties operation.
-       * @returns Response data for the Service Set Properties operation.
+       * If the destination stream was the only consumer of this stream (ie,
+       * there are no other piped destinations or `'data'` event listeners)
+       * then the flow of data will stop until there is another consumer or
+       * {@link Minipass#resume} is explicitly called.
        */
-      async setProperties(properties, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-setProperties", options, async (updatedOptions) => {
-          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.setProperties(properties, {
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      unpipe(dest) {
+        const p = this[PIPES].find((p2) => p2.dest === dest);
+        if (p) {
+          if (this[PIPES].length === 1) {
+            if (this[FLOWING] && this[DATALISTENERS] === 0) {
+              this[FLOWING] = false;
+            }
+            this[PIPES] = [];
+          } else
+            this[PIPES].splice(this[PIPES].indexOf(p), 1);
+          p.unpipe();
+        }
       }
       /**
-       * Retrieves statistics related to replication for the Blob service. It is only
-       * available on the secondary location endpoint when read-access geo-redundant
-       * replication is enabled for the storage account.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-stats
-       *
-       * @param options - Options to the Service Get Statistics operation.
-       * @returns Response data for the Service Get Statistics operation.
+       * Alias for {@link Minipass#on}
        */
-      async getStatistics(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getStatistics", options, async (updatedOptions) => {
-          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getStatistics({
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      addListener(ev, handler2) {
+        return this.on(ev, handler2);
       }
       /**
-       * The Get Account Information operation returns the sku name and account kind
-       * for the specified account.
-       * The Get Account Information operation is available on service versions beginning
-       * with version 2018-03-28.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information
+       * Mostly identical to `EventEmitter.on`, with the following
+       * behavior differences to prevent data loss and unnecessary hangs:
        *
-       * @param options - Options to the Service Get Account Info operation.
-       * @returns Response data for the Service Get Account Info operation.
+       * - Adding a 'data' event handler will trigger the flow of data
+       *
+       * - Adding a 'readable' event handler when there is data waiting to be read
+       *   will cause 'readable' to be emitted immediately.
+       *
+       * - Adding an 'endish' event handler ('end', 'finish', etc.) which has
+       *   already passed will cause the event to be emitted immediately and all
+       *   handlers removed.
+       *
+       * - Adding an 'error' event handler after an error has been emitted will
+       *   cause the event to be re-emitted immediately with the error previously
+       *   raised.
        */
-      async getAccountInfo(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getAccountInfo", options, async (updatedOptions) => {
-          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getAccountInfo({
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      on(ev, handler2) {
+        const ret = super.on(ev, handler2);
+        if (ev === "data") {
+          this[DISCARDED] = false;
+          this[DATALISTENERS]++;
+          if (!this[PIPES].length && !this[FLOWING]) {
+            this[RESUME]();
+          }
+        } else if (ev === "readable" && this[BUFFERLENGTH] !== 0) {
+          super.emit("readable");
+        } else if (isEndish(ev) && this[EMITTED_END]) {
+          super.emit(ev);
+          this.removeAllListeners(ev);
+        } else if (ev === "error" && this[EMITTED_ERROR]) {
+          const h = handler2;
+          if (this[ASYNC])
+            defer(() => h.call(this, this[EMITTED_ERROR]));
+          else
+            h.call(this, this[EMITTED_ERROR]);
+        }
+        return ret;
       }
       /**
-       * Returns a list of the containers under the specified account.
-       * @see https://learn.microsoft.com/rest/api/storageservices/list-containers2
-       *
-       * @param marker - A string value that identifies the portion of
-       *                        the list of containers to be returned with the next listing operation. The
-       *                        operation returns the continuationToken value within the response body if the
-       *                        listing operation did not return all containers remaining to be listed
-       *                        with the current page. The continuationToken value can be used as the value for
-       *                        the marker parameter in a subsequent call to request the next page of list
-       *                        items. The marker value is opaque to the client.
-       * @param options - Options to the Service List Container Segment operation.
-       * @returns Response data for the Service List Container Segment operation.
+       * Alias for {@link Minipass#off}
        */
-      async listContainersSegment(marker, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-listContainersSegment", options, async (updatedOptions) => {
-          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.listContainersSegment({
-            abortSignal: options.abortSignal,
-            marker,
-            ...options,
-            include: typeof options.include === "string" ? [options.include] : options.include,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      removeListener(ev, handler2) {
+        return this.off(ev, handler2);
       }
       /**
-       * The Filter Blobs operation enables callers to list blobs across all containers whose tags
-       * match a given search expression. Filter blobs searches across all containers within a
-       * storage account but can be scoped within the expression to a single container.
+       * Mostly identical to `EventEmitter.off`
        *
-       * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                        The given expression must evaluate to true for a blob to be returned in the results.
-       *                                        The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                        however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param marker - A string value that identifies the portion of
-       *                          the list of blobs to be returned with the next listing operation. The
-       *                          operation returns the continuationToken value within the response body if the
-       *                          listing operation did not return all blobs remaining to be listed
-       *                          with the current page. The continuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of list
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to find blobs by tags.
+       * If a 'data' event handler is removed, and it was the last consumer
+       * (ie, there are no pipe destinations or other 'data' event listeners),
+       * then the flow of data will stop until there is another consumer or
+       * {@link Minipass#resume} is explicitly called.
        */
-      async findBlobsByTagsSegment(tagFilterSqlExpression, marker, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-findBlobsByTagsSegment", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_2.assertResponse)(await this.serviceContext.filterBlobs({
-            abortSignal: options.abortSignal,
-            where: tagFilterSqlExpression,
-            marker,
-            maxPageSize: options.maxPageSize,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const wrappedResponse = {
-            ...response,
-            _response: response._response,
-            // _response is made non-enumerable
-            blobs: response.blobs.map((blob) => {
-              let tagValue = "";
-              if (blob.tags?.blobTagSet.length === 1) {
-                tagValue = blob.tags.blobTagSet[0].value;
-              }
-              return { ...blob, tags: (0, utils_common_js_1.toTags)(blob.tags), tagValue };
-            })
-          };
-          return wrappedResponse;
-        });
+      off(ev, handler2) {
+        const ret = super.off(ev, handler2);
+        if (ev === "data") {
+          this[DATALISTENERS] = this.listeners("data").length;
+          if (this[DATALISTENERS] === 0 && !this[DISCARDED] && !this[PIPES].length) {
+            this[FLOWING] = false;
+          }
+        }
+        return ret;
       }
       /**
-       * Returns an AsyncIterableIterator for ServiceFindBlobsByTagsSegmentResponse.
+       * Mostly identical to `EventEmitter.removeAllListeners`
        *
-       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                         The given expression must evaluate to true for a blob to be returned in the results.
-       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param marker - A string value that identifies the portion of
-       *                          the list of blobs to be returned with the next listing operation. The
-       *                          operation returns the continuationToken value within the response body if the
-       *                          listing operation did not return all blobs remaining to be listed
-       *                          with the current page. The continuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of list
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to find blobs by tags.
+       * If all 'data' event handlers are removed, and they were the last consumer
+       * (ie, there are no pipe destinations), then the flow of data will stop
+       * until there is another consumer or {@link Minipass#resume} is explicitly
+       * called.
        */
-      async *findBlobsByTagsSegments(tagFilterSqlExpression, marker, options = {}) {
-        let response;
-        if (!!marker || marker === void 0) {
-          do {
-            response = await this.findBlobsByTagsSegment(tagFilterSqlExpression, marker, options);
-            response.blobs = response.blobs || [];
-            marker = response.continuationToken;
-            yield response;
-          } while (marker);
+      removeAllListeners(ev) {
+        const ret = super.removeAllListeners(ev);
+        if (ev === "data" || ev === void 0) {
+          this[DATALISTENERS] = 0;
+          if (!this[DISCARDED] && !this[PIPES].length) {
+            this[FLOWING] = false;
+          }
         }
+        return ret;
       }
       /**
-       * Returns an AsyncIterableIterator for blobs.
-       *
-       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                         The given expression must evaluate to true for a blob to be returned in the results.
-       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param options - Options to findBlobsByTagsItems.
+       * true if the 'end' event has been emitted
        */
-      async *findBlobsByTagsItems(tagFilterSqlExpression, options = {}) {
-        let marker;
-        for await (const segment of this.findBlobsByTagsSegments(tagFilterSqlExpression, marker, options)) {
-          yield* segment.blobs;
+      get emittedEnd() {
+        return this[EMITTED_END];
+      }
+      [MAYBE_EMIT_END]() {
+        if (!this[EMITTING_END] && !this[EMITTED_END] && !this[DESTROYED] && this[BUFFER].length === 0 && this[EOF]) {
+          this[EMITTING_END] = true;
+          this.emit("end");
+          this.emit("prefinish");
+          this.emit("finish");
+          if (this[CLOSED])
+            this.emit("close");
+          this[EMITTING_END] = false;
         }
       }
       /**
-       * Returns an async iterable iterator to find all blobs with specified tag
-       * under the specified account.
-       *
-       * .byPage() returns an async iterable iterator to list the blobs in pages.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-properties
-       *
-       * ```ts snippet:BlobServiceClientFindBlobsByTags
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * // Use for await to iterate the blobs
-       * let i = 1;
-       * for await (const blob of blobServiceClient.findBlobsByTags("tagkey='tagvalue'")) {
-       *   console.log(`Blob ${i++}: ${blob.name}`);
-       * }
+       * Mostly identical to `EventEmitter.emit`, with the following
+       * behavior differences to prevent data loss and unnecessary hangs:
        *
-       * // Use iter.next() to iterate the blobs
-       * i = 1;
-       * const iter = blobServiceClient.findBlobsByTags("tagkey='tagvalue'");
-       * let { value, done } = await iter.next();
-       * while (!done) {
-       *   console.log(`Blob ${i++}: ${value.name}`);
-       *   ({ value, done } = await iter.next());
-       * }
+       * If the stream has been destroyed, and the event is something other
+       * than 'close' or 'error', then `false` is returned and no handlers
+       * are called.
        *
-       * // Use byPage() to iterate the blobs
-       * i = 1;
-       * for await (const page of blobServiceClient
-       *   .findBlobsByTags("tagkey='tagvalue'")
-       *   .byPage({ maxPageSize: 20 })) {
-       *   for (const blob of page.blobs) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
+       * If the event is 'end', and has already been emitted, then the event
+       * is ignored. If the stream is in a paused or non-flowing state, then
+       * the event will be deferred until data flow resumes. If the stream is
+       * async, then handlers will be called on the next tick rather than
+       * immediately.
        *
-       * // Use paging with a marker
-       * i = 1;
-       * let iterator = blobServiceClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 2 });
-       * let response = (await iterator.next()).value;
-       * // Prints 2 blob names
-       * if (response.blobs) {
-       *   for (const blob of response.blobs) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       * // Gets next marker
-       * let marker = response.continuationToken;
-       * // Passing next marker as continuationToken
-       * iterator = blobServiceClient
-       *   .findBlobsByTags("tagkey='tagvalue'")
-       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
-       * response = (await iterator.next()).value;
+       * If the event is 'close', and 'end' has not yet been emitted, then
+       * the event will be deferred until after 'end' is emitted.
        *
-       * // Prints blob names
-       * if (response.blobs) {
-       *   for (const blob of response.blobs) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       * ```
+       * If the event is 'error', and an AbortSignal was provided for the stream,
+       * and there are no listeners, then the event is ignored, matching the
+       * behavior of node core streams in the presense of an AbortSignal.
        *
-       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                         The given expression must evaluate to true for a blob to be returned in the results.
-       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param options - Options to find blobs by tags.
+       * If the event is 'finish' or 'prefinish', then all listeners will be
+       * removed after emitting the event, to prevent double-firing.
        */
-      findBlobsByTags(tagFilterSqlExpression, options = {}) {
-        const listSegmentOptions = {
-          ...options
-        };
-        const iter = this.findBlobsByTagsItems(tagFilterSqlExpression, listSegmentOptions);
-        return {
-          /**
-           * The next method, part of the iteration protocol
-           */
-          next() {
-            return iter.next();
-          },
-          /**
-           * The connection to the async iterator, part of the iteration protocol
-           */
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          /**
-           * Return an AsyncIterableIterator that works a page at a time
-           */
-          byPage: (settings = {}) => {
-            return this.findBlobsByTagsSegments(tagFilterSqlExpression, settings.continuationToken, {
-              maxPageSize: settings.maxPageSize,
-              ...listSegmentOptions
-            });
+      emit(ev, ...args) {
+        const data = args[0];
+        if (ev !== "error" && ev !== "close" && ev !== DESTROYED && this[DESTROYED]) {
+          return false;
+        } else if (ev === "data") {
+          return !this[OBJECTMODE] && !data ? false : this[ASYNC] ? (defer(() => this[EMITDATA](data)), true) : this[EMITDATA](data);
+        } else if (ev === "end") {
+          return this[EMITEND]();
+        } else if (ev === "close") {
+          this[CLOSED] = true;
+          if (!this[EMITTED_END] && !this[DESTROYED])
+            return false;
+          const ret2 = super.emit("close");
+          this.removeAllListeners("close");
+          return ret2;
+        } else if (ev === "error") {
+          this[EMITTED_ERROR] = data;
+          super.emit(ERROR, data);
+          const ret2 = !this[SIGNAL] || this.listeners("error").length ? super.emit("error", data) : false;
+          this[MAYBE_EMIT_END]();
+          return ret2;
+        } else if (ev === "resume") {
+          const ret2 = super.emit("resume");
+          this[MAYBE_EMIT_END]();
+          return ret2;
+        } else if (ev === "finish" || ev === "prefinish") {
+          const ret2 = super.emit(ev);
+          this.removeAllListeners(ev);
+          return ret2;
+        }
+        const ret = super.emit(ev, ...args);
+        this[MAYBE_EMIT_END]();
+        return ret;
+      }
+      [EMITDATA](data) {
+        for (const p of this[PIPES]) {
+          if (p.dest.write(data) === false)
+            this.pause();
+        }
+        const ret = this[DISCARDED] ? false : super.emit("data", data);
+        this[MAYBE_EMIT_END]();
+        return ret;
+      }
+      [EMITEND]() {
+        if (this[EMITTED_END])
+          return false;
+        this[EMITTED_END] = true;
+        this.readable = false;
+        return this[ASYNC] ? (defer(() => this[EMITEND2]()), true) : this[EMITEND2]();
+      }
+      [EMITEND2]() {
+        if (this[DECODER]) {
+          const data = this[DECODER].end();
+          if (data) {
+            for (const p of this[PIPES]) {
+              p.dest.write(data);
+            }
+            if (!this[DISCARDED])
+              super.emit("data", data);
           }
-        };
+        }
+        for (const p of this[PIPES]) {
+          p.end();
+        }
+        const ret = super.emit("end");
+        this.removeAllListeners("end");
+        return ret;
       }
       /**
-       * Returns an AsyncIterableIterator for ServiceListContainersSegmentResponses
-       *
-       * @param marker - A string value that identifies the portion of
-       *                        the list of containers to be returned with the next listing operation. The
-       *                        operation returns the continuationToken value within the response body if the
-       *                        listing operation did not return all containers remaining to be listed
-       *                        with the current page. The continuationToken value can be used as the value for
-       *                        the marker parameter in a subsequent call to request the next page of list
-       *                        items. The marker value is opaque to the client.
-       * @param options - Options to list containers operation.
+       * Return a Promise that resolves to an array of all emitted data once
+       * the stream ends.
        */
-      async *listSegments(marker, options = {}) {
-        let listContainersSegmentResponse;
-        if (!!marker || marker === void 0) {
-          do {
-            listContainersSegmentResponse = await this.listContainersSegment(marker, options);
-            listContainersSegmentResponse.containerItems = listContainersSegmentResponse.containerItems || [];
-            marker = listContainersSegmentResponse.continuationToken;
-            yield await listContainersSegmentResponse;
-          } while (marker);
-        }
+      async collect() {
+        const buf = Object.assign([], {
+          dataLength: 0
+        });
+        if (!this[OBJECTMODE])
+          buf.dataLength = 0;
+        const p = this.promise();
+        this.on("data", (c) => {
+          buf.push(c);
+          if (!this[OBJECTMODE])
+            buf.dataLength += c.length;
+        });
+        await p;
+        return buf;
       }
       /**
-       * Returns an AsyncIterableIterator for Container Items
+       * Return a Promise that resolves to the concatenation of all emitted data
+       * once the stream ends.
        *
-       * @param options - Options to list containers operation.
+       * Not allowed on objectMode streams.
        */
-      async *listItems(options = {}) {
-        let marker;
-        for await (const segment of this.listSegments(marker, options)) {
-          yield* segment.containerItems;
+      async concat() {
+        if (this[OBJECTMODE]) {
+          throw new Error("cannot concat in objectMode");
         }
+        const buf = await this.collect();
+        return this[ENCODING] ? buf.join("") : Buffer.concat(buf, buf.dataLength);
       }
       /**
-       * Returns an async iterable iterator to list all the containers
-       * under the specified account.
-       *
-       * .byPage() returns an async iterable iterator to list the containers in pages.
-       *
-       * ```ts snippet:BlobServiceClientListContainers
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * // Use for await to iterate the containers
-       * let i = 1;
-       * for await (const container of blobServiceClient.listContainers()) {
-       *   console.log(`Container ${i++}: ${container.name}`);
-       * }
-       *
-       * // Use iter.next() to iterate the containers
-       * i = 1;
-       * const iter = blobServiceClient.listContainers();
-       * let { value, done } = await iter.next();
-       * while (!done) {
-       *   console.log(`Container ${i++}: ${value.name}`);
-       *   ({ value, done } = await iter.next());
-       * }
-       *
-       * // Use byPage() to iterate the containers
-       * i = 1;
-       * for await (const page of blobServiceClient.listContainers().byPage({ maxPageSize: 20 })) {
-       *   for (const container of page.containerItems) {
-       *     console.log(`Container ${i++}: ${container.name}`);
-       *   }
-       * }
-       *
-       * // Use paging with a marker
-       * i = 1;
-       * let iterator = blobServiceClient.listContainers().byPage({ maxPageSize: 2 });
-       * let response = (await iterator.next()).value;
-       *
-       * // Prints 2 container names
-       * if (response.containerItems) {
-       *   for (const container of response.containerItems) {
-       *     console.log(`Container ${i++}: ${container.name}`);
-       *   }
-       * }
-       *
-       * // Gets next marker
-       * let marker = response.continuationToken;
-       * // Passing next marker as continuationToken
-       * iterator = blobServiceClient
-       *   .listContainers()
-       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
-       * response = (await iterator.next()).value;
-       *
-       * // Prints 10 container names
-       * if (response.containerItems) {
-       *   for (const container of response.containerItems) {
-       *     console.log(`Container ${i++}: ${container.name}`);
-       *   }
-       * }
-       * ```
+       * Return a void Promise that resolves once the stream ends.
+       */
+      async promise() {
+        return new Promise((resolve2, reject) => {
+          this.on(DESTROYED, () => reject(new Error("stream destroyed")));
+          this.on("error", (er) => reject(er));
+          this.on("end", () => resolve2());
+        });
+      }
+      /**
+       * Asynchronous `for await of` iteration.
        *
-       * @param options - Options to list containers.
-       * @returns An asyncIterableIterator that supports paging.
+       * This will continue emitting all chunks until the stream terminates.
        */
-      listContainers(options = {}) {
-        if (options.prefix === "") {
-          options.prefix = void 0;
-        }
-        const include = [];
-        if (options.includeDeleted) {
-          include.push("deleted");
-        }
-        if (options.includeMetadata) {
-          include.push("metadata");
-        }
-        if (options.includeSystem) {
-          include.push("system");
-        }
-        const listSegmentOptions = {
-          ...options,
-          ...include.length > 0 ? { include } : {}
+      [Symbol.asyncIterator]() {
+        this[DISCARDED] = false;
+        let stopped = false;
+        const stop = async () => {
+          this.pause();
+          stopped = true;
+          return { value: void 0, done: true };
+        };
+        const next = () => {
+          if (stopped)
+            return stop();
+          const res = this.read();
+          if (res !== null)
+            return Promise.resolve({ done: false, value: res });
+          if (this[EOF])
+            return stop();
+          let resolve2;
+          let reject;
+          const onerr = (er) => {
+            this.off("data", ondata);
+            this.off("end", onend);
+            this.off(DESTROYED, ondestroy);
+            stop();
+            reject(er);
+          };
+          const ondata = (value) => {
+            this.off("error", onerr);
+            this.off("end", onend);
+            this.off(DESTROYED, ondestroy);
+            this.pause();
+            resolve2({ value, done: !!this[EOF] });
+          };
+          const onend = () => {
+            this.off("error", onerr);
+            this.off("data", ondata);
+            this.off(DESTROYED, ondestroy);
+            stop();
+            resolve2({ done: true, value: void 0 });
+          };
+          const ondestroy = () => onerr(new Error("stream destroyed"));
+          return new Promise((res2, rej) => {
+            reject = rej;
+            resolve2 = res2;
+            this.once(DESTROYED, ondestroy);
+            this.once("error", onerr);
+            this.once("end", onend);
+            this.once("data", ondata);
+          });
         };
-        const iter = this.listItems(listSegmentOptions);
         return {
-          /**
-           * The next method, part of the iteration protocol
-           */
-          next() {
-            return iter.next();
-          },
-          /**
-           * The connection to the async iterator, part of the iteration protocol
-           */
+          next,
+          throw: stop,
+          return: stop,
           [Symbol.asyncIterator]() {
             return this;
-          },
-          /**
-           * Return an AsyncIterableIterator that works a page at a time
-           */
-          byPage: (settings = {}) => {
-            return this.listSegments(settings.continuationToken, {
-              maxPageSize: settings.maxPageSize,
-              ...listSegmentOptions
-            });
           }
         };
       }
       /**
-       * ONLY AVAILABLE WHEN USING BEARER TOKEN AUTHENTICATION (TokenCredential).
-       *
-       * Retrieves a user delegation key for the Blob service. This is only a valid operation when using
-       * bearer token authentication.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-user-delegation-key
-       *
-       * @param startsOn -      The start time for the user delegation SAS. Must be within 7 days of the current time
-       * @param expiresOn -     The end time for the user delegation SAS. Must be within 7 days of the current time
-       */
-      async getUserDelegationKey(startsOn, expiresOn, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getUserDelegationKey", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_2.assertResponse)(await this.serviceContext.getUserDelegationKey({
-            startsOn: (0, utils_common_js_2.truncatedISO8061Date)(startsOn, false),
-            expiresOn: (0, utils_common_js_2.truncatedISO8061Date)(expiresOn, false)
-          }, {
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const userDelegationKey = {
-            signedObjectId: response.signedObjectId,
-            signedTenantId: response.signedTenantId,
-            signedStartsOn: new Date(response.signedStartsOn),
-            signedExpiresOn: new Date(response.signedExpiresOn),
-            signedService: response.signedService,
-            signedVersion: response.signedVersion,
-            value: response.value
-          };
-          const res = {
-            _response: response._response,
-            requestId: response.requestId,
-            clientRequestId: response.clientRequestId,
-            version: response.version,
-            date: response.date,
-            errorCode: response.errorCode,
-            ...userDelegationKey
-          };
-          return res;
-        });
-      }
-      /**
-       * Creates a BlobBatchClient object to conduct batch operations.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch
+       * Synchronous `for of` iteration.
        *
-       * @returns A new BlobBatchClient object for this service.
+       * The iteration will terminate when the internal buffer runs out, even
+       * if the stream has not yet terminated.
        */
-      getBlobBatchClient() {
-        return new BlobBatchClient_js_1.BlobBatchClient(this.url, this.pipeline);
+      [Symbol.iterator]() {
+        this[DISCARDED] = false;
+        let stopped = false;
+        const stop = () => {
+          this.pause();
+          this.off(ERROR, stop);
+          this.off(DESTROYED, stop);
+          this.off("end", stop);
+          stopped = true;
+          return { done: true, value: void 0 };
+        };
+        const next = () => {
+          if (stopped)
+            return stop();
+          const value = this.read();
+          return value === null ? stop() : { done: false, value };
+        };
+        this.once("end", stop);
+        this.once(ERROR, stop);
+        this.once(DESTROYED, stop);
+        return {
+          next,
+          throw: stop,
+          return: stop,
+          [Symbol.iterator]() {
+            return this;
+          }
+        };
       }
       /**
-       * Only available for BlobServiceClient constructed with a shared key credential.
+       * Destroy a stream, preventing it from being used for any further purpose.
        *
-       * Generates a Blob account Shared Access Signature (SAS) URI based on the client properties
-       * and parameters passed in. The SAS is signed by the shared key credential of the client.
+       * If the stream has a `close()` method, then it will be called on
+       * destruction.
        *
-       * @see https://learn.microsoft.com/rest/api/storageservices/create-account-sas
+       * After destruction, any attempt to write data, read data, or emit most
+       * events will be ignored.
        *
-       * @param expiresOn - Optional. The time at which the shared access signature becomes invalid. Default to an hour later if not provided.
-       * @param permissions - Specifies the list of permissions to be associated with the SAS.
-       * @param resourceTypes - Specifies the resource types associated with the shared access signature.
-       * @param options - Optional parameters.
-       * @returns An account SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       * If an error argument is provided, then it will be emitted in an
+       * 'error' event.
        */
-      generateAccountSasUrl(expiresOn, permissions = AccountSASPermissions_js_1.AccountSASPermissions.parse("r"), resourceTypes = "sco", options = {}) {
-        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
-          throw RangeError("Can only generate the account SAS when the client is initialized with a shared key credential");
-        }
-        if (expiresOn === void 0) {
-          const now = /* @__PURE__ */ new Date();
-          expiresOn = new Date(now.getTime() + 3600 * 1e3);
+      destroy(er) {
+        if (this[DESTROYED]) {
+          if (er)
+            this.emit("error", er);
+          else
+            this.emit(DESTROYED);
+          return this;
         }
-        const sas = (0, AccountSASSignatureValues_js_1.generateAccountSASQueryParameters)({
-          permissions,
-          expiresOn,
-          resourceTypes,
-          services: AccountSASServices_js_1.AccountSASServices.parse("b").toString(),
-          ...options
-        }, this.credential).toString();
-        return (0, utils_common_js_1.appendToURLQuery)(this.url, sas);
+        this[DESTROYED] = true;
+        this[DISCARDED] = true;
+        this[BUFFER].length = 0;
+        this[BUFFERLENGTH] = 0;
+        const wc = this;
+        if (typeof wc.close === "function" && !this[CLOSED])
+          wc.close();
+        if (er)
+          this.emit("error", er);
+        else
+          this.emit(DESTROYED);
+        return this;
       }
       /**
-       * Only available for BlobServiceClient constructed with a shared key credential.
-       *
-       * Generates string to sign for a Blob account Shared Access Signature (SAS) URI based on
-       * the client properties and parameters passed in. The SAS is signed by the shared key credential of the client.
+       * Alias for {@link isStream}
        *
-       * @see https://learn.microsoft.com/rest/api/storageservices/create-account-sas
+       * Former export location, maintained for backwards compatibility.
        *
-       * @param expiresOn - Optional. The time at which the shared access signature becomes invalid. Default to an hour later if not provided.
-       * @param permissions - Specifies the list of permissions to be associated with the SAS.
-       * @param resourceTypes - Specifies the resource types associated with the shared access signature.
-       * @param options - Optional parameters.
-       * @returns An account SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       * @deprecated
        */
-      generateSasStringToSign(expiresOn, permissions = AccountSASPermissions_js_1.AccountSASPermissions.parse("r"), resourceTypes = "sco", options = {}) {
-        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
-          throw RangeError("Can only generate the account SAS when the client is initialized with a shared key credential");
-        }
-        if (expiresOn === void 0) {
-          const now = /* @__PURE__ */ new Date();
-          expiresOn = new Date(now.getTime() + 3600 * 1e3);
-        }
-        return (0, AccountSASSignatureValues_js_1.generateAccountSASQueryParametersInternal)({
-          permissions,
-          expiresOn,
-          resourceTypes,
-          services: AccountSASServices_js_1.AccountSASServices.parse("b").toString(),
-          ...options
-        }, this.credential).stringToSign;
-      }
-    };
-    exports2.BlobServiceClient = BlobServiceClient;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/BatchResponse.js
-var require_BatchResponse = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BatchResponse.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/generatedModels.js
-var require_generatedModels = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generatedModels.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.KnownEncryptionAlgorithmType = void 0;
-    var KnownEncryptionAlgorithmType;
-    (function(KnownEncryptionAlgorithmType2) {
-      KnownEncryptionAlgorithmType2["AES256"] = "AES256";
-    })(KnownEncryptionAlgorithmType || (exports2.KnownEncryptionAlgorithmType = KnownEncryptionAlgorithmType = {}));
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/index.js
-var require_commonjs17 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.logger = exports2.RestError = exports2.BaseRequestPolicy = exports2.StorageOAuthScopes = exports2.newPipeline = exports2.isPipelineLike = exports2.Pipeline = exports2.getBlobServiceAccountAudience = exports2.StorageBlobAudience = exports2.PremiumPageBlobTier = exports2.BlockBlobTier = exports2.generateBlobSASQueryParameters = exports2.generateAccountSASQueryParameters = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var core_rest_pipeline_1 = require_commonjs8();
-    Object.defineProperty(exports2, "RestError", { enumerable: true, get: function() {
-      return core_rest_pipeline_1.RestError;
-    } });
-    tslib_1.__exportStar(require_BlobServiceClient(), exports2);
-    tslib_1.__exportStar(require_Clients(), exports2);
-    tslib_1.__exportStar(require_ContainerClient(), exports2);
-    tslib_1.__exportStar(require_BlobLeaseClient(), exports2);
-    tslib_1.__exportStar(require_AccountSASPermissions(), exports2);
-    tslib_1.__exportStar(require_AccountSASResourceTypes(), exports2);
-    tslib_1.__exportStar(require_AccountSASServices(), exports2);
-    var AccountSASSignatureValues_js_1 = require_AccountSASSignatureValues();
-    Object.defineProperty(exports2, "generateAccountSASQueryParameters", { enumerable: true, get: function() {
-      return AccountSASSignatureValues_js_1.generateAccountSASQueryParameters;
-    } });
-    tslib_1.__exportStar(require_BlobBatch(), exports2);
-    tslib_1.__exportStar(require_BlobBatchClient(), exports2);
-    tslib_1.__exportStar(require_BatchResponse(), exports2);
-    tslib_1.__exportStar(require_BlobSASPermissions(), exports2);
-    var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues();
-    Object.defineProperty(exports2, "generateBlobSASQueryParameters", { enumerable: true, get: function() {
-      return BlobSASSignatureValues_js_1.generateBlobSASQueryParameters;
-    } });
-    tslib_1.__exportStar(require_StorageBrowserPolicyFactory2(), exports2);
-    tslib_1.__exportStar(require_ContainerSASPermissions(), exports2);
-    tslib_1.__exportStar(require_AnonymousCredential(), exports2);
-    tslib_1.__exportStar(require_Credential(), exports2);
-    tslib_1.__exportStar(require_StorageSharedKeyCredential(), exports2);
-    var models_js_1 = require_models2();
-    Object.defineProperty(exports2, "BlockBlobTier", { enumerable: true, get: function() {
-      return models_js_1.BlockBlobTier;
-    } });
-    Object.defineProperty(exports2, "PremiumPageBlobTier", { enumerable: true, get: function() {
-      return models_js_1.PremiumPageBlobTier;
-    } });
-    Object.defineProperty(exports2, "StorageBlobAudience", { enumerable: true, get: function() {
-      return models_js_1.StorageBlobAudience;
-    } });
-    Object.defineProperty(exports2, "getBlobServiceAccountAudience", { enumerable: true, get: function() {
-      return models_js_1.getBlobServiceAccountAudience;
-    } });
-    var Pipeline_js_1 = require_Pipeline();
-    Object.defineProperty(exports2, "Pipeline", { enumerable: true, get: function() {
-      return Pipeline_js_1.Pipeline;
-    } });
-    Object.defineProperty(exports2, "isPipelineLike", { enumerable: true, get: function() {
-      return Pipeline_js_1.isPipelineLike;
-    } });
-    Object.defineProperty(exports2, "newPipeline", { enumerable: true, get: function() {
-      return Pipeline_js_1.newPipeline;
-    } });
-    Object.defineProperty(exports2, "StorageOAuthScopes", { enumerable: true, get: function() {
-      return Pipeline_js_1.StorageOAuthScopes;
-    } });
-    tslib_1.__exportStar(require_StorageRetryPolicyFactory(), exports2);
-    var RequestPolicy_js_1 = require_RequestPolicy();
-    Object.defineProperty(exports2, "BaseRequestPolicy", { enumerable: true, get: function() {
-      return RequestPolicy_js_1.BaseRequestPolicy;
-    } });
-    tslib_1.__exportStar(require_AnonymousCredentialPolicy(), exports2);
-    tslib_1.__exportStar(require_CredentialPolicy(), exports2);
-    tslib_1.__exportStar(require_StorageRetryPolicyFactory(), exports2);
-    tslib_1.__exportStar(require_StorageSharedKeyCredentialPolicy(), exports2);
-    tslib_1.__exportStar(require_SASQueryParameters(), exports2);
-    tslib_1.__exportStar(require_generatedModels(), exports2);
-    var log_js_1 = require_log5();
-    Object.defineProperty(exports2, "logger", { enumerable: true, get: function() {
-      return log_js_1.logger;
-    } });
+      static get isStream() {
+        return exports2.isStream;
+      }
+    };
+    exports2.Minipass = Minipass;
   }
 });
 
-// node_modules/@actions/artifact/lib/internal/upload/blob-upload.js
-var require_blob_upload = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/blob-upload.js"(exports2) {
+// node_modules/path-scurry/dist/commonjs/index.js
+var require_commonjs23 = __commonJS({
+  "node_modules/path-scurry/dist/commonjs/index.js"(exports2) {
     "use strict";
     var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
       if (k2 === void 0) k2 = k;
@@ -92363,25477 +111264,24826 @@ var require_blob_upload = __commonJS({
       __setModuleDefault2(result, mod);
       return result;
     };
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve2) {
-          resolve2(value);
-        });
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.PathScurry = exports2.Path = exports2.PathScurryDarwin = exports2.PathScurryPosix = exports2.PathScurryWin32 = exports2.PathScurryBase = exports2.PathPosix = exports2.PathWin32 = exports2.PathBase = exports2.ChildrenCache = exports2.ResolveCache = void 0;
+    var lru_cache_1 = require_commonjs21();
+    var node_path_1 = require("node:path");
+    var node_url_1 = require("node:url");
+    var fs_1 = require("fs");
+    var actualFS = __importStar2(require("node:fs"));
+    var realpathSync = fs_1.realpathSync.native;
+    var promises_1 = require("node:fs/promises");
+    var minipass_1 = require_commonjs22();
+    var defaultFS = {
+      lstatSync: fs_1.lstatSync,
+      readdir: fs_1.readdir,
+      readdirSync: fs_1.readdirSync,
+      readlinkSync: fs_1.readlinkSync,
+      realpathSync,
+      promises: {
+        lstat: promises_1.lstat,
+        readdir: promises_1.readdir,
+        readlink: promises_1.readlink,
+        realpath: promises_1.realpath
       }
-      return new (P || (P = Promise))(function(resolve2, 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 ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
     };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.uploadZipToBlobStorage = void 0;
-    var storage_blob_1 = require_commonjs17();
-    var config_1 = require_config();
-    var core14 = __importStar2(require_core());
-    var crypto2 = __importStar2(require("crypto"));
-    var stream = __importStar2(require("stream"));
-    var errors_1 = require_errors3();
-    function uploadZipToBlobStorage(authenticatedUploadURL, zipUploadStream) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        let uploadByteCount = 0;
-        let lastProgressTime = Date.now();
-        const abortController = new AbortController();
-        const chunkTimer = (interval) => __awaiter2(this, void 0, void 0, function* () {
-          return new Promise((resolve2, reject) => {
-            const timer = setInterval(() => {
-              if (Date.now() - lastProgressTime > interval) {
-                reject(new Error("Upload progress stalled."));
-              }
-            }, interval);
-            abortController.signal.addEventListener("abort", () => {
-              clearInterval(timer);
-              resolve2();
-            });
-          });
+    var fsFromOption = (fsOption) => !fsOption || fsOption === defaultFS || fsOption === actualFS ? defaultFS : {
+      ...defaultFS,
+      ...fsOption,
+      promises: {
+        ...defaultFS.promises,
+        ...fsOption.promises || {}
+      }
+    };
+    var uncDriveRegexp = /^\\\\\?\\([a-z]:)\\?$/i;
+    var uncToDrive = (rootPath) => rootPath.replace(/\//g, "\\").replace(uncDriveRegexp, "$1\\");
+    var eitherSep = /[\\\/]/;
+    var UNKNOWN = 0;
+    var IFIFO = 1;
+    var IFCHR = 2;
+    var IFDIR = 4;
+    var IFBLK = 6;
+    var IFREG = 8;
+    var IFLNK = 10;
+    var IFSOCK = 12;
+    var IFMT = 15;
+    var IFMT_UNKNOWN = ~IFMT;
+    var READDIR_CALLED = 16;
+    var LSTAT_CALLED = 32;
+    var ENOTDIR = 64;
+    var ENOENT = 128;
+    var ENOREADLINK = 256;
+    var ENOREALPATH = 512;
+    var ENOCHILD = ENOTDIR | ENOENT | ENOREALPATH;
+    var TYPEMASK = 1023;
+    var entToType = (s) => s.isFile() ? IFREG : s.isDirectory() ? IFDIR : s.isSymbolicLink() ? IFLNK : s.isCharacterDevice() ? IFCHR : s.isBlockDevice() ? IFBLK : s.isSocket() ? IFSOCK : s.isFIFO() ? IFIFO : UNKNOWN;
+    var normalizeCache = /* @__PURE__ */ new Map();
+    var normalize2 = (s) => {
+      const c = normalizeCache.get(s);
+      if (c)
+        return c;
+      const n = s.normalize("NFKD");
+      normalizeCache.set(s, n);
+      return n;
+    };
+    var normalizeNocaseCache = /* @__PURE__ */ new Map();
+    var normalizeNocase = (s) => {
+      const c = normalizeNocaseCache.get(s);
+      if (c)
+        return c;
+      const n = normalize2(s.toLowerCase());
+      normalizeNocaseCache.set(s, n);
+      return n;
+    };
+    var ResolveCache = class extends lru_cache_1.LRUCache {
+      constructor() {
+        super({ max: 256 });
+      }
+    };
+    exports2.ResolveCache = ResolveCache;
+    var ChildrenCache = class extends lru_cache_1.LRUCache {
+      constructor(maxSize = 16 * 1024) {
+        super({
+          maxSize,
+          // parent + children
+          sizeCalculation: (a) => a.length + 1
         });
-        const maxConcurrency = (0, config_1.getConcurrency)();
-        const bufferSize = (0, config_1.getUploadChunkSize)();
-        const blobClient = new storage_blob_1.BlobClient(authenticatedUploadURL);
-        const blockBlobClient = blobClient.getBlockBlobClient();
-        core14.debug(`Uploading artifact zip to blob storage with maxConcurrency: ${maxConcurrency}, bufferSize: ${bufferSize}`);
-        const uploadCallback = (progress) => {
-          core14.info(`Uploaded bytes ${progress.loadedBytes}`);
-          uploadByteCount = progress.loadedBytes;
-          lastProgressTime = Date.now();
-        };
-        const options = {
-          blobHTTPHeaders: { blobContentType: "zip" },
-          onProgress: uploadCallback,
-          abortSignal: abortController.signal
-        };
-        let sha256Hash = void 0;
-        const uploadStream = new stream.PassThrough();
-        const hashStream = crypto2.createHash("sha256");
-        zipUploadStream.pipe(uploadStream);
-        zipUploadStream.pipe(hashStream).setEncoding("hex");
-        core14.info("Beginning upload of artifact content to blob storage");
-        try {
-          yield Promise.race([
-            blockBlobClient.uploadStream(uploadStream, bufferSize, maxConcurrency, options),
-            chunkTimer((0, config_1.getUploadChunkTimeout)())
-          ]);
-        } catch (error3) {
-          if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) {
-            throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code);
-          }
-          throw error3;
-        } finally {
-          abortController.abort();
-        }
-        core14.info("Finished uploading artifact content to blob storage!");
-        hashStream.end();
-        sha256Hash = hashStream.read();
-        core14.info(`SHA256 digest of uploaded artifact zip is ${sha256Hash}`);
-        if (uploadByteCount === 0) {
-          core14.warning(`No data was uploaded to blob storage. Reported upload byte count is 0.`);
-        }
-        return {
-          uploadSize: uploadByteCount,
-          sha256Hash
-        };
-      });
-    }
-    exports2.uploadZipToBlobStorage = uploadZipToBlobStorage;
-  }
-});
-
-// node_modules/readdir-glob/node_modules/minimatch/lib/path.js
-var require_path = __commonJS({
-  "node_modules/readdir-glob/node_modules/minimatch/lib/path.js"(exports2, module2) {
-    var isWindows = typeof process === "object" && process && process.platform === "win32";
-    module2.exports = isWindows ? { sep: "\\" } : { sep: "/" };
-  }
-});
-
-// node_modules/balanced-match/index.js
-var require_balanced_match = __commonJS({
-  "node_modules/balanced-match/index.js"(exports2, module2) {
-    "use strict";
-    module2.exports = balanced;
-    function balanced(a, b, str2) {
-      if (a instanceof RegExp) a = maybeMatch(a, str2);
-      if (b instanceof RegExp) b = maybeMatch(b, str2);
-      var r = range(a, b, str2);
-      return r && {
-        start: r[0],
-        end: r[1],
-        pre: str2.slice(0, r[0]),
-        body: str2.slice(r[0] + a.length, r[1]),
-        post: str2.slice(r[1] + b.length)
-      };
-    }
-    function maybeMatch(reg, str2) {
-      var m = str2.match(reg);
-      return m ? m[0] : null;
-    }
-    balanced.range = range;
-    function range(a, b, str2) {
-      var begs, beg, left, right, result;
-      var ai = str2.indexOf(a);
-      var bi = str2.indexOf(b, ai + 1);
-      var i = ai;
-      if (ai >= 0 && bi > 0) {
-        begs = [];
-        left = str2.length;
-        while (i >= 0 && !result) {
-          if (i == ai) {
-            begs.push(i);
-            ai = str2.indexOf(a, i + 1);
-          } else if (begs.length == 1) {
-            result = [begs.pop(), bi];
-          } else {
-            beg = begs.pop();
-            if (beg < left) {
-              left = beg;
-              right = bi;
-            }
-            bi = str2.indexOf(b, i + 1);
-          }
-          i = ai < bi && ai >= 0 ? ai : bi;
-        }
-        if (begs.length) {
-          result = [left, right];
-        }
       }
-      return result;
-    }
-  }
-});
-
-// node_modules/readdir-glob/node_modules/brace-expansion/index.js
-var require_brace_expansion = __commonJS({
-  "node_modules/readdir-glob/node_modules/brace-expansion/index.js"(exports2, module2) {
-    var balanced = require_balanced_match();
-    module2.exports = expandTop;
-    var escSlash = "\0SLASH" + Math.random() + "\0";
-    var escOpen = "\0OPEN" + Math.random() + "\0";
-    var escClose = "\0CLOSE" + Math.random() + "\0";
-    var escComma = "\0COMMA" + Math.random() + "\0";
-    var escPeriod = "\0PERIOD" + Math.random() + "\0";
-    function numeric(str2) {
-      return parseInt(str2, 10) == str2 ? parseInt(str2, 10) : str2.charCodeAt(0);
-    }
-    function escapeBraces(str2) {
-      return str2.split("\\\\").join(escSlash).split("\\{").join(escOpen).split("\\}").join(escClose).split("\\,").join(escComma).split("\\.").join(escPeriod);
-    }
-    function unescapeBraces(str2) {
-      return str2.split(escSlash).join("\\").split(escOpen).join("{").split(escClose).join("}").split(escComma).join(",").split(escPeriod).join(".");
-    }
-    function parseCommaParts(str2) {
-      if (!str2)
-        return [""];
-      var parts = [];
-      var m = balanced("{", "}", str2);
-      if (!m)
-        return str2.split(",");
-      var pre = m.pre;
-      var body = m.body;
-      var post = m.post;
-      var p = pre.split(",");
-      p[p.length - 1] += "{" + body + "}";
-      var postParts = parseCommaParts(post);
-      if (post.length) {
-        p[p.length - 1] += postParts.shift();
-        p.push.apply(p, postParts);
+    };
+    exports2.ChildrenCache = ChildrenCache;
+    var setAsCwd = /* @__PURE__ */ Symbol("PathScurry setAsCwd");
+    var PathBase = class {
+      /**
+       * the basename of this path
+       *
+       * **Important**: *always* test the path name against any test string
+       * usingthe {@link isNamed} method, and not by directly comparing this
+       * string. Otherwise, unicode path strings that the system sees as identical
+       * will not be properly treated as the same path, leading to incorrect
+       * behavior and possible security issues.
+       */
+      name;
+      /**
+       * the Path entry corresponding to the path root.
+       *
+       * @internal
+       */
+      root;
+      /**
+       * All roots found within the current PathScurry family
+       *
+       * @internal
+       */
+      roots;
+      /**
+       * a reference to the parent path, or undefined in the case of root entries
+       *
+       * @internal
+       */
+      parent;
+      /**
+       * boolean indicating whether paths are compared case-insensitively
+       * @internal
+       */
+      nocase;
+      /**
+       * boolean indicating that this path is the current working directory
+       * of the PathScurry collection that contains it.
+       */
+      isCWD = false;
+      // potential default fs override
+      #fs;
+      // Stats fields
+      #dev;
+      get dev() {
+        return this.#dev;
       }
-      parts.push.apply(parts, p);
-      return parts;
-    }
-    function expandTop(str2) {
-      if (!str2)
-        return [];
-      if (str2.substr(0, 2) === "{}") {
-        str2 = "\\{\\}" + str2.substr(2);
+      #mode;
+      get mode() {
+        return this.#mode;
       }
-      return expand2(escapeBraces(str2), true).map(unescapeBraces);
-    }
-    function embrace(str2) {
-      return "{" + str2 + "}";
-    }
-    function isPadded(el) {
-      return /^-?0\d/.test(el);
-    }
-    function lte(i, y) {
-      return i <= y;
-    }
-    function gte6(i, y) {
-      return i >= y;
-    }
-    function expand2(str2, isTop) {
-      var expansions = [];
-      var m = balanced("{", "}", str2);
-      if (!m) return [str2];
-      var pre = m.pre;
-      var post = m.post.length ? expand2(m.post, false) : [""];
-      if (/\$$/.test(m.pre)) {
-        for (var k = 0; k < post.length; k++) {
-          var expansion = pre + "{" + m.body + "}" + post[k];
-          expansions.push(expansion);
-        }
-      } else {
-        var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
-        var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
-        var isSequence = isNumericSequence || isAlphaSequence;
-        var isOptions = m.body.indexOf(",") >= 0;
-        if (!isSequence && !isOptions) {
-          if (m.post.match(/,(?!,).*\}/)) {
-            str2 = m.pre + "{" + m.body + escClose + m.post;
-            return expand2(str2);
-          }
-          return [str2];
-        }
-        var n;
-        if (isSequence) {
-          n = m.body.split(/\.\./);
-        } else {
-          n = parseCommaParts(m.body);
-          if (n.length === 1) {
-            n = expand2(n[0], false).map(embrace);
-            if (n.length === 1) {
-              return post.map(function(p) {
-                return m.pre + n[0] + p;
-              });
-            }
-          }
-        }
-        var N;
-        if (isSequence) {
-          var x = numeric(n[0]);
-          var y = numeric(n[1]);
-          var width = Math.max(n[0].length, n[1].length);
-          var incr = n.length == 3 ? Math.abs(numeric(n[2])) : 1;
-          var test = lte;
-          var reverse = y < x;
-          if (reverse) {
-            incr *= -1;
-            test = gte6;
-          }
-          var pad = n.some(isPadded);
-          N = [];
-          for (var i = x; test(i, y); i += incr) {
-            var c;
-            if (isAlphaSequence) {
-              c = String.fromCharCode(i);
-              if (c === "\\")
-                c = "";
-            } else {
-              c = String(i);
-              if (pad) {
-                var need = width - c.length;
-                if (need > 0) {
-                  var z = new Array(need + 1).join("0");
-                  if (i < 0)
-                    c = "-" + z + c.slice(1);
-                  else
-                    c = z + c;
-                }
-              }
-            }
-            N.push(c);
-          }
-        } else {
-          N = [];
-          for (var j = 0; j < n.length; j++) {
-            N.push.apply(N, expand2(n[j], false));
-          }
-        }
-        for (var j = 0; j < N.length; j++) {
-          for (var k = 0; k < post.length; k++) {
-            var expansion = pre + N[j] + post[k];
-            if (!isTop || isSequence || expansion)
-              expansions.push(expansion);
-          }
-        }
+      #nlink;
+      get nlink() {
+        return this.#nlink;
       }
-      return expansions;
-    }
-  }
-});
-
-// node_modules/readdir-glob/node_modules/minimatch/minimatch.js
-var require_minimatch = __commonJS({
-  "node_modules/readdir-glob/node_modules/minimatch/minimatch.js"(exports2, module2) {
-    var minimatch = module2.exports = (p, pattern, options = {}) => {
-      assertValidPattern(pattern);
-      if (!options.nocomment && pattern.charAt(0) === "#") {
-        return false;
+      #uid;
+      get uid() {
+        return this.#uid;
       }
-      return new Minimatch(pattern, options).match(p);
-    };
-    module2.exports = minimatch;
-    var path3 = require_path();
-    minimatch.sep = path3.sep;
-    var GLOBSTAR = /* @__PURE__ */ Symbol("globstar **");
-    minimatch.GLOBSTAR = GLOBSTAR;
-    var expand2 = require_brace_expansion();
-    var plTypes = {
-      "!": { open: "(?:(?!(?:", close: "))[^/]*?)" },
-      "?": { open: "(?:", close: ")?" },
-      "+": { open: "(?:", close: ")+" },
-      "*": { open: "(?:", close: ")*" },
-      "@": { open: "(?:", close: ")" }
-    };
-    var qmark = "[^/]";
-    var star = qmark + "*?";
-    var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
-    var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
-    var charSet = (s) => s.split("").reduce((set2, c) => {
-      set2[c] = true;
-      return set2;
-    }, {});
-    var reSpecials = charSet("().*{}+?[]^$\\!");
-    var addPatternStartSet = charSet("[.(");
-    var slashSplit = /\/+/;
-    minimatch.filter = (pattern, options = {}) => (p, i, list) => minimatch(p, pattern, options);
-    var ext = (a, b = {}) => {
-      const t = {};
-      Object.keys(a).forEach((k) => t[k] = a[k]);
-      Object.keys(b).forEach((k) => t[k] = b[k]);
-      return t;
-    };
-    minimatch.defaults = (def) => {
-      if (!def || typeof def !== "object" || !Object.keys(def).length) {
-        return minimatch;
+      #gid;
+      get gid() {
+        return this.#gid;
+      }
+      #rdev;
+      get rdev() {
+        return this.#rdev;
+      }
+      #blksize;
+      get blksize() {
+        return this.#blksize;
       }
-      const orig = minimatch;
-      const m = (p, pattern, options) => orig(p, pattern, ext(def, options));
-      m.Minimatch = class Minimatch extends orig.Minimatch {
-        constructor(pattern, options) {
-          super(pattern, ext(def, options));
-        }
-      };
-      m.Minimatch.defaults = (options) => orig.defaults(ext(def, options)).Minimatch;
-      m.filter = (pattern, options) => orig.filter(pattern, ext(def, options));
-      m.defaults = (options) => orig.defaults(ext(def, options));
-      m.makeRe = (pattern, options) => orig.makeRe(pattern, ext(def, options));
-      m.braceExpand = (pattern, options) => orig.braceExpand(pattern, ext(def, options));
-      m.match = (list, pattern, options) => orig.match(list, pattern, ext(def, options));
-      return m;
-    };
-    minimatch.braceExpand = (pattern, options) => braceExpand(pattern, options);
-    var braceExpand = (pattern, options = {}) => {
-      assertValidPattern(pattern);
-      if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
-        return [pattern];
+      #ino;
+      get ino() {
+        return this.#ino;
       }
-      return expand2(pattern);
-    };
-    var MAX_PATTERN_LENGTH = 1024 * 64;
-    var assertValidPattern = (pattern) => {
-      if (typeof pattern !== "string") {
-        throw new TypeError("invalid pattern");
+      #size;
+      get size() {
+        return this.#size;
       }
-      if (pattern.length > MAX_PATTERN_LENGTH) {
-        throw new TypeError("pattern is too long");
+      #blocks;
+      get blocks() {
+        return this.#blocks;
       }
-    };
-    var SUBPARSE = /* @__PURE__ */ Symbol("subparse");
-    minimatch.makeRe = (pattern, options) => new Minimatch(pattern, options || {}).makeRe();
-    minimatch.match = (list, pattern, options = {}) => {
-      const mm = new Minimatch(pattern, options);
-      list = list.filter((f) => mm.match(f));
-      if (mm.options.nonull && !list.length) {
-        list.push(pattern);
+      #atimeMs;
+      get atimeMs() {
+        return this.#atimeMs;
       }
-      return list;
-    };
-    var globUnescape = (s) => s.replace(/\\(.)/g, "$1");
-    var charUnescape = (s) => s.replace(/\\([^-\]])/g, "$1");
-    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
-    var braExpEscape = (s) => s.replace(/[[\]\\]/g, "\\$&");
-    var Minimatch = class {
-      constructor(pattern, options) {
-        assertValidPattern(pattern);
-        if (!options) options = {};
-        this.options = options;
-        this.set = [];
-        this.pattern = pattern;
-        this.windowsPathsNoEscape = !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;
-        if (this.windowsPathsNoEscape) {
-          this.pattern = this.pattern.replace(/\\/g, "/");
-        }
-        this.regexp = null;
-        this.negate = false;
-        this.comment = false;
-        this.empty = false;
-        this.partial = !!options.partial;
-        this.make();
+      #mtimeMs;
+      get mtimeMs() {
+        return this.#mtimeMs;
       }
-      debug() {
+      #ctimeMs;
+      get ctimeMs() {
+        return this.#ctimeMs;
       }
-      make() {
-        const pattern = this.pattern;
-        const options = this.options;
-        if (!options.nocomment && pattern.charAt(0) === "#") {
-          this.comment = true;
-          return;
-        }
-        if (!pattern) {
-          this.empty = true;
-          return;
-        }
-        this.parseNegate();
-        let set2 = this.globSet = this.braceExpand();
-        if (options.debug) this.debug = (...args) => console.error(...args);
-        this.debug(this.pattern, set2);
-        set2 = this.globParts = set2.map((s) => s.split(slashSplit));
-        this.debug(this.pattern, set2);
-        set2 = set2.map((s, si, set3) => s.map(this.parse, this));
-        this.debug(this.pattern, set2);
-        set2 = set2.filter((s) => s.indexOf(false) === -1);
-        this.debug(this.pattern, set2);
-        this.set = set2;
+      #birthtimeMs;
+      get birthtimeMs() {
+        return this.#birthtimeMs;
       }
-      parseNegate() {
-        if (this.options.nonegate) return;
-        const pattern = this.pattern;
-        let negate = false;
-        let negateOffset = 0;
-        for (let i = 0; i < pattern.length && pattern.charAt(i) === "!"; i++) {
-          negate = !negate;
-          negateOffset++;
-        }
-        if (negateOffset) this.pattern = pattern.slice(negateOffset);
-        this.negate = negate;
+      #atime;
+      get atime() {
+        return this.#atime;
       }
-      // set partial to true to test if, for example,
-      // "/a/b" matches the start of "/*/b/*/d"
-      // Partial means, if you run out of file before you run
-      // out of pattern, then that's fine, as long as all
-      // the parts match.
-      matchOne(file, pattern, partial) {
-        var options = this.options;
-        this.debug(
-          "matchOne",
-          { "this": this, file, pattern }
-        );
-        this.debug("matchOne", file.length, pattern.length);
-        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
-          this.debug("matchOne loop");
-          var p = pattern[pi];
-          var f = file[fi];
-          this.debug(pattern, p, f);
-          if (p === false) return false;
-          if (p === GLOBSTAR) {
-            this.debug("GLOBSTAR", [pattern, p, f]);
-            var fr = fi;
-            var pr = pi + 1;
-            if (pr === pl) {
-              this.debug("** at the end");
-              for (; fi < fl; fi++) {
-                if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".") return false;
-              }
-              return true;
-            }
-            while (fr < fl) {
-              var swallowee = file[fr];
-              this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
-              if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
-                this.debug("globstar found match!", fr, fl, swallowee);
-                return true;
-              } else {
-                if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
-                  this.debug("dot detected!", file, fr, pattern, pr);
-                  break;
-                }
-                this.debug("globstar swallow a segment, and continue");
-                fr++;
-              }
-            }
-            if (partial) {
-              this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
-              if (fr === fl) return true;
-            }
-            return false;
-          }
-          var hit;
-          if (typeof p === "string") {
-            hit = f === p;
-            this.debug("string match", p, f, hit);
-          } else {
-            hit = f.match(p);
-            this.debug("pattern match", p, f, hit);
-          }
-          if (!hit) return false;
-        }
-        if (fi === fl && pi === pl) {
-          return true;
-        } else if (fi === fl) {
-          return partial;
-        } else if (pi === pl) {
-          return fi === fl - 1 && file[fi] === "";
-        }
-        throw new Error("wtf?");
+      #mtime;
+      get mtime() {
+        return this.#mtime;
       }
-      braceExpand() {
-        return braceExpand(this.pattern, this.options);
+      #ctime;
+      get ctime() {
+        return this.#ctime;
       }
-      parse(pattern, isSub) {
-        assertValidPattern(pattern);
-        const options = this.options;
-        if (pattern === "**") {
-          if (!options.noglobstar)
-            return GLOBSTAR;
-          else
-            pattern = "*";
-        }
-        if (pattern === "") return "";
-        let re = "";
-        let hasMagic = false;
-        let escaping = false;
-        const patternListStack = [];
-        const negativeLists = [];
-        let stateChar;
-        let inClass = false;
-        let reClassStart = -1;
-        let classStart = -1;
-        let cs;
-        let pl;
-        let sp;
-        let dotTravAllowed = pattern.charAt(0) === ".";
-        let dotFileAllowed = options.dot || dotTravAllowed;
-        const patternStart = () => dotTravAllowed ? "" : dotFileAllowed ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)";
-        const subPatternStart = (p) => p.charAt(0) === "." ? "" : options.dot ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)";
-        const clearStateChar = () => {
-          if (stateChar) {
-            switch (stateChar) {
-              case "*":
-                re += star;
-                hasMagic = true;
-                break;
-              case "?":
-                re += qmark;
-                hasMagic = true;
-                break;
-              default:
-                re += "\\" + stateChar;
-                break;
-            }
-            this.debug("clearStateChar %j %j", stateChar, re);
-            stateChar = false;
-          }
-        };
-        for (let i = 0, c; i < pattern.length && (c = pattern.charAt(i)); i++) {
-          this.debug("%s	%s %s %j", pattern, i, re, c);
-          if (escaping) {
-            if (c === "/") {
-              return false;
-            }
-            if (reSpecials[c]) {
-              re += "\\";
-            }
-            re += c;
-            escaping = false;
-            continue;
-          }
-          switch (c) {
-            /* istanbul ignore next */
-            case "/": {
-              return false;
-            }
-            case "\\":
-              if (inClass && pattern.charAt(i + 1) === "-") {
-                re += c;
-                continue;
-              }
-              clearStateChar();
-              escaping = true;
-              continue;
-            // the various stateChar values
-            // for the "extglob" stuff.
-            case "?":
-            case "*":
-            case "+":
-            case "@":
-            case "!":
-              this.debug("%s	%s %s %j <-- stateChar", pattern, i, re, c);
-              if (inClass) {
-                this.debug("  in class");
-                if (c === "!" && i === classStart + 1) c = "^";
-                re += c;
-                continue;
-              }
-              this.debug("call clearStateChar %j", stateChar);
-              clearStateChar();
-              stateChar = c;
-              if (options.noext) clearStateChar();
-              continue;
-            case "(": {
-              if (inClass) {
-                re += "(";
-                continue;
-              }
-              if (!stateChar) {
-                re += "\\(";
-                continue;
-              }
-              const plEntry = {
-                type: stateChar,
-                start: i - 1,
-                reStart: re.length,
-                open: plTypes[stateChar].open,
-                close: plTypes[stateChar].close
-              };
-              this.debug(this.pattern, "	", plEntry);
-              patternListStack.push(plEntry);
-              re += plEntry.open;
-              if (plEntry.start === 0 && plEntry.type !== "!") {
-                dotTravAllowed = true;
-                re += subPatternStart(pattern.slice(i + 1));
-              }
-              this.debug("plType %j %j", stateChar, re);
-              stateChar = false;
-              continue;
-            }
-            case ")": {
-              const plEntry = patternListStack[patternListStack.length - 1];
-              if (inClass || !plEntry) {
-                re += "\\)";
-                continue;
-              }
-              patternListStack.pop();
-              clearStateChar();
-              hasMagic = true;
-              pl = plEntry;
-              re += pl.close;
-              if (pl.type === "!") {
-                negativeLists.push(Object.assign(pl, { reEnd: re.length }));
-              }
-              continue;
-            }
-            case "|": {
-              const plEntry = patternListStack[patternListStack.length - 1];
-              if (inClass || !plEntry) {
-                re += "\\|";
-                continue;
-              }
-              clearStateChar();
-              re += "|";
-              if (plEntry.start === 0 && plEntry.type !== "!") {
-                dotTravAllowed = true;
-                re += subPatternStart(pattern.slice(i + 1));
-              }
-              continue;
-            }
-            // these are mostly the same in regexp and glob
-            case "[":
-              clearStateChar();
-              if (inClass) {
-                re += "\\" + c;
-                continue;
-              }
-              inClass = true;
-              classStart = i;
-              reClassStart = re.length;
-              re += c;
-              continue;
-            case "]":
-              if (i === classStart + 1 || !inClass) {
-                re += "\\" + c;
-                continue;
-              }
-              cs = pattern.substring(classStart + 1, i);
-              try {
-                RegExp("[" + braExpEscape(charUnescape(cs)) + "]");
-                re += c;
-              } catch (er) {
-                re = re.substring(0, reClassStart) + "(?:$.)";
-              }
-              hasMagic = true;
-              inClass = false;
-              continue;
-            default:
-              clearStateChar();
-              if (reSpecials[c] && !(c === "^" && inClass)) {
-                re += "\\";
-              }
-              re += c;
-              break;
-          }
-        }
-        if (inClass) {
-          cs = pattern.slice(classStart + 1);
-          sp = this.parse(cs, SUBPARSE);
-          re = re.substring(0, reClassStart) + "\\[" + sp[0];
-          hasMagic = hasMagic || sp[1];
-        }
-        for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {
-          let tail;
-          tail = re.slice(pl.reStart + pl.open.length);
-          this.debug("setting tail", re, pl);
-          tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, (_2, $1, $2) => {
-            if (!$2) {
-              $2 = "\\";
-            }
-            return $1 + $1 + $2 + "|";
-          });
-          this.debug("tail=%j\n   %s", tail, tail, pl, re);
-          const t = pl.type === "*" ? star : pl.type === "?" ? qmark : "\\" + pl.type;
-          hasMagic = true;
-          re = re.slice(0, pl.reStart) + t + "\\(" + tail;
-        }
-        clearStateChar();
-        if (escaping) {
-          re += "\\\\";
-        }
-        const addPatternStart = addPatternStartSet[re.charAt(0)];
-        for (let n = negativeLists.length - 1; n > -1; n--) {
-          const nl = negativeLists[n];
-          const nlBefore = re.slice(0, nl.reStart);
-          const nlFirst = re.slice(nl.reStart, nl.reEnd - 8);
-          let nlAfter = re.slice(nl.reEnd);
-          const nlLast = re.slice(nl.reEnd - 8, nl.reEnd) + nlAfter;
-          const closeParensBefore = nlBefore.split(")").length;
-          const openParensBefore = nlBefore.split("(").length - closeParensBefore;
-          let cleanAfter = nlAfter;
-          for (let i = 0; i < openParensBefore; i++) {
-            cleanAfter = cleanAfter.replace(/\)[+*?]?/, "");
-          }
-          nlAfter = cleanAfter;
-          const dollar = nlAfter === "" && isSub !== SUBPARSE ? "(?:$|\\/)" : "";
-          re = nlBefore + nlFirst + nlAfter + dollar + nlLast;
-        }
-        if (re !== "" && hasMagic) {
-          re = "(?=.)" + re;
-        }
-        if (addPatternStart) {
-          re = patternStart() + re;
-        }
-        if (isSub === SUBPARSE) {
-          return [re, hasMagic];
-        }
-        if (options.nocase && !hasMagic) {
-          hasMagic = pattern.toUpperCase() !== pattern.toLowerCase();
-        }
-        if (!hasMagic) {
-          return globUnescape(pattern);
+      #birthtime;
+      get birthtime() {
+        return this.#birthtime;
+      }
+      #matchName;
+      #depth;
+      #fullpath;
+      #fullpathPosix;
+      #relative;
+      #relativePosix;
+      #type;
+      #children;
+      #linkTarget;
+      #realpath;
+      /**
+       * This property is for compatibility with the Dirent class as of
+       * Node v20, where Dirent['parentPath'] refers to the path of the
+       * directory that was passed to readdir. For root entries, it's the path
+       * to the entry itself.
+       */
+      get parentPath() {
+        return (this.parent || this).fullpath();
+      }
+      /**
+       * Deprecated alias for Dirent['parentPath'] Somewhat counterintuitively,
+       * this property refers to the *parent* path, not the path object itself.
+       *
+       * @deprecated
+       */
+      get path() {
+        return this.parentPath;
+      }
+      /**
+       * Do not create new Path objects directly.  They should always be accessed
+       * via the PathScurry class or other methods on the Path class.
+       *
+       * @internal
+       */
+      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
+        this.name = name;
+        this.#matchName = nocase ? normalizeNocase(name) : normalize2(name);
+        this.#type = type2 & TYPEMASK;
+        this.nocase = nocase;
+        this.roots = roots;
+        this.root = root || this;
+        this.#children = children;
+        this.#fullpath = opts.fullpath;
+        this.#relative = opts.relative;
+        this.#relativePosix = opts.relativePosix;
+        this.parent = opts.parent;
+        if (this.parent) {
+          this.#fs = this.parent.#fs;
+        } else {
+          this.#fs = fsFromOption(opts.fs);
         }
-        const flags = options.nocase ? "i" : "";
-        try {
-          return Object.assign(new RegExp("^" + re + "$", flags), {
-            _glob: pattern,
-            _src: re
-          });
-        } catch (er) {
-          return new RegExp("$.");
+      }
+      /**
+       * Returns the depth of the Path object from its root.
+       *
+       * For example, a path at `/foo/bar` would have a depth of 2.
+       */
+      depth() {
+        if (this.#depth !== void 0)
+          return this.#depth;
+        if (!this.parent)
+          return this.#depth = 0;
+        return this.#depth = this.parent.depth() + 1;
+      }
+      /**
+       * @internal
+       */
+      childrenCache() {
+        return this.#children;
+      }
+      /**
+       * Get the Path object referenced by the string path, resolved from this Path
+       */
+      resolve(path3) {
+        if (!path3) {
+          return this;
         }
+        const rootPath = this.getRootString(path3);
+        const dir = path3.substring(rootPath.length);
+        const dirParts = dir.split(this.splitSep);
+        const result = rootPath ? this.getRoot(rootPath).#resolveParts(dirParts) : this.#resolveParts(dirParts);
+        return result;
       }
-      makeRe() {
-        if (this.regexp || this.regexp === false) return this.regexp;
-        const set2 = this.set;
-        if (!set2.length) {
-          this.regexp = false;
-          return this.regexp;
+      #resolveParts(dirParts) {
+        let p = this;
+        for (const part of dirParts) {
+          p = p.child(part);
         }
-        const options = this.options;
-        const twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
-        const flags = options.nocase ? "i" : "";
-        let re = set2.map((pattern) => {
-          pattern = pattern.map(
-            (p) => typeof p === "string" ? regExpEscape(p) : p === GLOBSTAR ? GLOBSTAR : p._src
-          ).reduce((set3, p) => {
-            if (!(set3[set3.length - 1] === GLOBSTAR && p === GLOBSTAR)) {
-              set3.push(p);
-            }
-            return set3;
-          }, []);
-          pattern.forEach((p, i) => {
-            if (p !== GLOBSTAR || pattern[i - 1] === GLOBSTAR) {
-              return;
-            }
-            if (i === 0) {
-              if (pattern.length > 1) {
-                pattern[i + 1] = "(?:\\/|" + twoStar + "\\/)?" + pattern[i + 1];
-              } else {
-                pattern[i] = twoStar;
-              }
-            } else if (i === pattern.length - 1) {
-              pattern[i - 1] += "(?:\\/|" + twoStar + ")?";
-            } else {
-              pattern[i - 1] += "(?:\\/|\\/" + twoStar + "\\/)" + pattern[i + 1];
-              pattern[i + 1] = GLOBSTAR;
-            }
-          });
-          return pattern.filter((p) => p !== GLOBSTAR).join("/");
-        }).join("|");
-        re = "^(?:" + re + ")$";
-        if (this.negate) re = "^(?!" + re + ").*$";
-        try {
-          this.regexp = new RegExp(re, flags);
-        } catch (ex) {
-          this.regexp = false;
+        return p;
+      }
+      /**
+       * Returns the cached children Path objects, if still available.  If they
+       * have fallen out of the cache, then returns an empty array, and resets the
+       * READDIR_CALLED bit, so that future calls to readdir() will require an fs
+       * lookup.
+       *
+       * @internal
+       */
+      children() {
+        const cached = this.#children.get(this);
+        if (cached) {
+          return cached;
         }
-        return this.regexp;
+        const children = Object.assign([], { provisional: 0 });
+        this.#children.set(this, children);
+        this.#type &= ~READDIR_CALLED;
+        return children;
       }
-      match(f, partial = this.partial) {
-        this.debug("match", f, this.pattern);
-        if (this.comment) return false;
-        if (this.empty) return f === "";
-        if (f === "/" && partial) return true;
-        const options = this.options;
-        if (path3.sep !== "/") {
-          f = f.split(path3.sep).join("/");
+      /**
+       * Resolves a path portion and returns or creates the child Path.
+       *
+       * Returns `this` if pathPart is `''` or `'.'`, or `parent` if pathPart is
+       * `'..'`.
+       *
+       * This should not be called directly.  If `pathPart` contains any path
+       * separators, it will lead to unsafe undefined behavior.
+       *
+       * Use `Path.resolve()` instead.
+       *
+       * @internal
+       */
+      child(pathPart, opts) {
+        if (pathPart === "" || pathPart === ".") {
+          return this;
         }
-        f = f.split(slashSplit);
-        this.debug(this.pattern, "split", f);
-        const set2 = this.set;
-        this.debug(this.pattern, "set", set2);
-        let filename;
-        for (let i = f.length - 1; i >= 0; i--) {
-          filename = f[i];
-          if (filename) break;
+        if (pathPart === "..") {
+          return this.parent || this;
         }
-        for (let i = 0; i < set2.length; i++) {
-          const pattern = set2[i];
-          let file = f;
-          if (options.matchBase && pattern.length === 1) {
-            file = [filename];
-          }
-          const hit = this.matchOne(file, pattern, partial);
-          if (hit) {
-            if (options.flipNegate) return true;
-            return !this.negate;
+        const children = this.children();
+        const name = this.nocase ? normalizeNocase(pathPart) : normalize2(pathPart);
+        for (const p of children) {
+          if (p.#matchName === name) {
+            return p;
           }
         }
-        if (options.flipNegate) return false;
-        return this.negate;
-      }
-      static defaults(def) {
-        return minimatch.defaults(def).Minimatch;
-      }
-    };
-    minimatch.Minimatch = Minimatch;
-  }
-});
-
-// node_modules/readdir-glob/index.js
-var require_readdir_glob = __commonJS({
-  "node_modules/readdir-glob/index.js"(exports2, module2) {
-    module2.exports = readdirGlob;
-    var fs3 = require("fs");
-    var { EventEmitter } = require("events");
-    var { Minimatch } = require_minimatch();
-    var { resolve: resolve2 } = require("path");
-    function readdir(dir, strict) {
-      return new Promise((resolve3, reject) => {
-        fs3.readdir(dir, { withFileTypes: true }, (err, files) => {
-          if (err) {
-            switch (err.code) {
-              case "ENOTDIR":
-                if (strict) {
-                  reject(err);
-                } else {
-                  resolve3([]);
-                }
-                break;
-              case "ENOTSUP":
-              // Operation not supported
-              case "ENOENT":
-              // No such file or directory
-              case "ENAMETOOLONG":
-              // Filename too long
-              case "UNKNOWN":
-                resolve3([]);
-                break;
-              case "ELOOP":
-              // Too many levels of symbolic links
-              default:
-                reject(err);
-                break;
-            }
-          } else {
-            resolve3(files);
-          }
-        });
-      });
-    }
-    function stat(file, followSymlinks) {
-      return new Promise((resolve3, reject) => {
-        const statFunc = followSymlinks ? fs3.stat : fs3.lstat;
-        statFunc(file, (err, stats) => {
-          if (err) {
-            switch (err.code) {
-              case "ENOENT":
-                if (followSymlinks) {
-                  resolve3(stat(file, false));
-                } else {
-                  resolve3(null);
-                }
-                break;
-              default:
-                resolve3(null);
-                break;
-            }
-          } else {
-            resolve3(stats);
-          }
+        const s = this.parent ? this.sep : "";
+        const fullpath = this.#fullpath ? this.#fullpath + s + pathPart : void 0;
+        const pchild = this.newChild(pathPart, UNKNOWN, {
+          ...opts,
+          parent: this,
+          fullpath
         });
-      });
-    }
-    async function* exploreWalkAsync(dir, path3, followSymlinks, useStat, shouldSkip, strict) {
-      let files = await readdir(path3 + dir, strict);
-      for (const file of files) {
-        let name = file.name;
-        if (name === void 0) {
-          name = file;
-          useStat = true;
-        }
-        const filename = dir + "/" + name;
-        const relative = filename.slice(1);
-        const absolute = path3 + "/" + relative;
-        let stats = null;
-        if (useStat || followSymlinks) {
-          stats = await stat(absolute, followSymlinks);
-        }
-        if (!stats && file.name !== void 0) {
-          stats = file;
+        if (!this.canReaddir()) {
+          pchild.#type |= ENOENT;
         }
-        if (stats === null) {
-          stats = { isDirectory: () => false };
+        children.push(pchild);
+        return pchild;
+      }
+      /**
+       * The relative path from the cwd. If it does not share an ancestor with
+       * the cwd, then this ends up being equivalent to the fullpath()
+       */
+      relative() {
+        if (this.isCWD)
+          return "";
+        if (this.#relative !== void 0) {
+          return this.#relative;
         }
-        if (stats.isDirectory()) {
-          if (!shouldSkip(relative)) {
-            yield { relative, absolute, stats };
-            yield* exploreWalkAsync(filename, path3, followSymlinks, useStat, shouldSkip, false);
-          }
-        } else {
-          yield { relative, absolute, stats };
+        const name = this.name;
+        const p = this.parent;
+        if (!p) {
+          return this.#relative = this.name;
         }
+        const pv = p.relative();
+        return pv + (!pv || !p.parent ? "" : this.sep) + name;
       }
-    }
-    async function* explore(path3, followSymlinks, useStat, shouldSkip) {
-      yield* exploreWalkAsync("", path3, followSymlinks, useStat, shouldSkip, true);
-    }
-    function readOptions(options) {
-      return {
-        pattern: options.pattern,
-        dot: !!options.dot,
-        noglobstar: !!options.noglobstar,
-        matchBase: !!options.matchBase,
-        nocase: !!options.nocase,
-        ignore: options.ignore,
-        skip: options.skip,
-        follow: !!options.follow,
-        stat: !!options.stat,
-        nodir: !!options.nodir,
-        mark: !!options.mark,
-        silent: !!options.silent,
-        absolute: !!options.absolute
-      };
-    }
-    var ReaddirGlob = class extends EventEmitter {
-      constructor(cwd, options, cb) {
-        super();
-        if (typeof options === "function") {
-          cb = options;
-          options = null;
-        }
-        this.options = readOptions(options || {});
-        this.matchers = [];
-        if (this.options.pattern) {
-          const matchers = Array.isArray(this.options.pattern) ? this.options.pattern : [this.options.pattern];
-          this.matchers = matchers.map(
-            (m) => new Minimatch(m, {
-              dot: this.options.dot,
-              noglobstar: this.options.noglobstar,
-              matchBase: this.options.matchBase,
-              nocase: this.options.nocase
-            })
-          );
+      /**
+       * The relative path from the cwd, using / as the path separator.
+       * If it does not share an ancestor with
+       * the cwd, then this ends up being equivalent to the fullpathPosix()
+       * On posix systems, this is identical to relative().
+       */
+      relativePosix() {
+        if (this.sep === "/")
+          return this.relative();
+        if (this.isCWD)
+          return "";
+        if (this.#relativePosix !== void 0)
+          return this.#relativePosix;
+        const name = this.name;
+        const p = this.parent;
+        if (!p) {
+          return this.#relativePosix = this.fullpathPosix();
         }
-        this.ignoreMatchers = [];
-        if (this.options.ignore) {
-          const ignorePatterns = Array.isArray(this.options.ignore) ? this.options.ignore : [this.options.ignore];
-          this.ignoreMatchers = ignorePatterns.map(
-            (ignore) => new Minimatch(ignore, { dot: true })
-          );
+        const pv = p.relativePosix();
+        return pv + (!pv || !p.parent ? "" : "/") + name;
+      }
+      /**
+       * The fully resolved path string for this Path entry
+       */
+      fullpath() {
+        if (this.#fullpath !== void 0) {
+          return this.#fullpath;
         }
-        this.skipMatchers = [];
-        if (this.options.skip) {
-          const skipPatterns = Array.isArray(this.options.skip) ? this.options.skip : [this.options.skip];
-          this.skipMatchers = skipPatterns.map(
-            (skip) => new Minimatch(skip, { dot: true })
-          );
+        const name = this.name;
+        const p = this.parent;
+        if (!p) {
+          return this.#fullpath = this.name;
         }
-        this.iterator = explore(resolve2(cwd || "."), this.options.follow, this.options.stat, this._shouldSkipDirectory.bind(this));
-        this.paused = false;
-        this.inactive = false;
-        this.aborted = false;
-        if (cb) {
-          this._matches = [];
-          this.on("match", (match) => this._matches.push(this.options.absolute ? match.absolute : match.relative));
-          this.on("error", (err) => cb(err));
-          this.on("end", () => cb(null, this._matches));
+        const pv = p.fullpath();
+        const fp = pv + (!p.parent ? "" : this.sep) + name;
+        return this.#fullpath = fp;
+      }
+      /**
+       * On platforms other than windows, this is identical to fullpath.
+       *
+       * On windows, this is overridden to return the forward-slash form of the
+       * full UNC path.
+       */
+      fullpathPosix() {
+        if (this.#fullpathPosix !== void 0)
+          return this.#fullpathPosix;
+        if (this.sep === "/")
+          return this.#fullpathPosix = this.fullpath();
+        if (!this.parent) {
+          const p2 = this.fullpath().replace(/\\/g, "/");
+          if (/^[a-z]:\//i.test(p2)) {
+            return this.#fullpathPosix = `//?/${p2}`;
+          } else {
+            return this.#fullpathPosix = p2;
+          }
         }
-        setTimeout(() => this._next(), 0);
+        const p = this.parent;
+        const pfpp = p.fullpathPosix();
+        const fpp = pfpp + (!pfpp || !p.parent ? "" : "/") + this.name;
+        return this.#fullpathPosix = fpp;
       }
-      _shouldSkipDirectory(relative) {
-        return this.skipMatchers.some((m) => m.match(relative));
+      /**
+       * Is the Path of an unknown type?
+       *
+       * Note that we might know *something* about it if there has been a previous
+       * filesystem operation, for example that it does not exist, or is not a
+       * link, or whether it has child entries.
+       */
+      isUnknown() {
+        return (this.#type & IFMT) === UNKNOWN;
       }
-      _fileMatches(relative, isDirectory) {
-        const file = relative + (isDirectory ? "/" : "");
-        return (this.matchers.length === 0 || this.matchers.some((m) => m.match(file))) && !this.ignoreMatchers.some((m) => m.match(file)) && (!this.options.nodir || !isDirectory);
+      isType(type2) {
+        return this[`is${type2}`]();
       }
-      _next() {
-        if (!this.paused && !this.aborted) {
-          this.iterator.next().then((obj) => {
-            if (!obj.done) {
-              const isDirectory = obj.value.stats.isDirectory();
-              if (this._fileMatches(obj.value.relative, isDirectory)) {
-                let relative = obj.value.relative;
-                let absolute = obj.value.absolute;
-                if (this.options.mark && isDirectory) {
-                  relative += "/";
-                  absolute += "/";
-                }
-                if (this.options.stat) {
-                  this.emit("match", { relative, absolute, stat: obj.value.stats });
-                } else {
-                  this.emit("match", { relative, absolute });
-                }
-              }
-              this._next(this.iterator);
-            } else {
-              this.emit("end");
-            }
-          }).catch((err) => {
-            this.abort();
-            this.emit("error", err);
-            if (!err.code && !this.options.silent) {
-              console.error(err);
-            }
-          });
-        } else {
-          this.inactive = true;
-        }
+      getType() {
+        return this.isUnknown() ? "Unknown" : this.isDirectory() ? "Directory" : this.isFile() ? "File" : this.isSymbolicLink() ? "SymbolicLink" : this.isFIFO() ? "FIFO" : this.isCharacterDevice() ? "CharacterDevice" : this.isBlockDevice() ? "BlockDevice" : (
+          /* c8 ignore start */
+          this.isSocket() ? "Socket" : "Unknown"
+        );
       }
-      abort() {
-        this.aborted = true;
+      /**
+       * Is the Path a regular file?
+       */
+      isFile() {
+        return (this.#type & IFMT) === IFREG;
       }
-      pause() {
-        this.paused = true;
+      /**
+       * Is the Path a directory?
+       */
+      isDirectory() {
+        return (this.#type & IFMT) === IFDIR;
       }
-      resume() {
-        this.paused = false;
-        if (this.inactive) {
-          this.inactive = false;
-          this._next();
-        }
+      /**
+       * Is the path a character device?
+       */
+      isCharacterDevice() {
+        return (this.#type & IFMT) === IFCHR;
       }
-    };
-    function readdirGlob(pattern, options, cb) {
-      return new ReaddirGlob(pattern, options, cb);
-    }
-    readdirGlob.ReaddirGlob = ReaddirGlob;
-  }
-});
-
-// node_modules/async/dist/async.js
-var require_async = __commonJS({
-  "node_modules/async/dist/async.js"(exports2, module2) {
-    (function(global2, factory) {
-      typeof exports2 === "object" && typeof module2 !== "undefined" ? factory(exports2) : typeof define === "function" && define.amd ? define(["exports"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory(global2.async = {}));
-    })(exports2, (function(exports3) {
-      "use strict";
-      function apply(fn, ...args) {
-        return (...callArgs) => fn(...args, ...callArgs);
+      /**
+       * Is the path a block device?
+       */
+      isBlockDevice() {
+        return (this.#type & IFMT) === IFBLK;
+      }
+      /**
+       * Is the path a FIFO pipe?
+       */
+      isFIFO() {
+        return (this.#type & IFMT) === IFIFO;
+      }
+      /**
+       * Is the path a socket?
+       */
+      isSocket() {
+        return (this.#type & IFMT) === IFSOCK;
+      }
+      /**
+       * Is the path a symbolic link?
+       */
+      isSymbolicLink() {
+        return (this.#type & IFLNK) === IFLNK;
+      }
+      /**
+       * Return the entry if it has been subject of a successful lstat, or
+       * undefined otherwise.
+       *
+       * Does not read the filesystem, so an undefined result *could* simply
+       * mean that we haven't called lstat on it.
+       */
+      lstatCached() {
+        return this.#type & LSTAT_CALLED ? this : void 0;
+      }
+      /**
+       * Return the cached link target if the entry has been the subject of a
+       * successful readlink, or undefined otherwise.
+       *
+       * Does not read the filesystem, so an undefined result *could* just mean we
+       * don't have any cached data. Only use it if you are very sure that a
+       * readlink() has been called at some point.
+       */
+      readlinkCached() {
+        return this.#linkTarget;
+      }
+      /**
+       * Returns the cached realpath target if the entry has been the subject
+       * of a successful realpath, or undefined otherwise.
+       *
+       * Does not read the filesystem, so an undefined result *could* just mean we
+       * don't have any cached data. Only use it if you are very sure that a
+       * realpath() has been called at some point.
+       */
+      realpathCached() {
+        return this.#realpath;
       }
-      function initialParams(fn) {
-        return function(...args) {
-          var callback = args.pop();
-          return fn.call(this, args, callback);
-        };
+      /**
+       * Returns the cached child Path entries array if the entry has been the
+       * subject of a successful readdir(), or [] otherwise.
+       *
+       * Does not read the filesystem, so an empty array *could* just mean we
+       * don't have any cached data. Only use it if you are very sure that a
+       * readdir() has been called recently enough to still be valid.
+       */
+      readdirCached() {
+        const children = this.children();
+        return children.slice(0, children.provisional);
       }
-      var hasQueueMicrotask = typeof queueMicrotask === "function" && queueMicrotask;
-      var hasSetImmediate = typeof setImmediate === "function" && setImmediate;
-      var hasNextTick = typeof process === "object" && typeof process.nextTick === "function";
-      function fallback(fn) {
-        setTimeout(fn, 0);
+      /**
+       * Return true if it's worth trying to readlink.  Ie, we don't (yet) have
+       * any indication that readlink will definitely fail.
+       *
+       * Returns false if the path is known to not be a symlink, if a previous
+       * readlink failed, or if the entry does not exist.
+       */
+      canReadlink() {
+        if (this.#linkTarget)
+          return true;
+        if (!this.parent)
+          return false;
+        const ifmt = this.#type & IFMT;
+        return !(ifmt !== UNKNOWN && ifmt !== IFLNK || this.#type & ENOREADLINK || this.#type & ENOENT);
       }
-      function wrap(defer) {
-        return (fn, ...args) => defer(() => fn(...args));
+      /**
+       * Return true if readdir has previously been successfully called on this
+       * path, indicating that cachedReaddir() is likely valid.
+       */
+      calledReaddir() {
+        return !!(this.#type & READDIR_CALLED);
       }
-      var _defer$1;
-      if (hasQueueMicrotask) {
-        _defer$1 = queueMicrotask;
-      } else if (hasSetImmediate) {
-        _defer$1 = setImmediate;
-      } else if (hasNextTick) {
-        _defer$1 = process.nextTick;
-      } else {
-        _defer$1 = fallback;
+      /**
+       * Returns true if the path is known to not exist. That is, a previous lstat
+       * or readdir failed to verify its existence when that would have been
+       * expected, or a parent entry was marked either enoent or enotdir.
+       */
+      isENOENT() {
+        return !!(this.#type & ENOENT);
       }
-      var setImmediate$1 = wrap(_defer$1);
-      function asyncify(func) {
-        if (isAsync(func)) {
-          return function(...args) {
-            const callback = args.pop();
-            const promise = func.apply(this, args);
-            return handlePromise(promise, callback);
-          };
+      /**
+       * Return true if the path is a match for the given path name.  This handles
+       * case sensitivity and unicode normalization.
+       *
+       * Note: even on case-sensitive systems, it is **not** safe to test the
+       * equality of the `.name` property to determine whether a given pathname
+       * matches, due to unicode normalization mismatches.
+       *
+       * Always use this method instead of testing the `path.name` property
+       * directly.
+       */
+      isNamed(n) {
+        return !this.nocase ? this.#matchName === normalize2(n) : this.#matchName === normalizeNocase(n);
+      }
+      /**
+       * Return the Path object corresponding to the target of a symbolic link.
+       *
+       * If the Path is not a symbolic link, or if the readlink call fails for any
+       * reason, `undefined` is returned.
+       *
+       * Result is cached, and thus may be outdated if the filesystem is mutated.
+       */
+      async readlink() {
+        const target = this.#linkTarget;
+        if (target) {
+          return target;
         }
-        return initialParams(function(args, callback) {
-          var result;
-          try {
-            result = func.apply(this, args);
-          } catch (e) {
-            return callback(e);
-          }
-          if (result && typeof result.then === "function") {
-            return handlePromise(result, callback);
-          } else {
-            callback(null, result);
+        if (!this.canReadlink()) {
+          return void 0;
+        }
+        if (!this.parent) {
+          return void 0;
+        }
+        try {
+          const read = await this.#fs.promises.readlink(this.fullpath());
+          const linkTarget = (await this.parent.realpath())?.resolve(read);
+          if (linkTarget) {
+            return this.#linkTarget = linkTarget;
           }
-        });
-      }
-      function handlePromise(promise, callback) {
-        return promise.then((value) => {
-          invokeCallback(callback, null, value);
-        }, (err) => {
-          invokeCallback(callback, err && (err instanceof Error || err.message) ? err : new Error(err));
-        });
+        } catch (er) {
+          this.#readlinkFail(er.code);
+          return void 0;
+        }
       }
-      function invokeCallback(callback, error3, value) {
+      /**
+       * Synchronous {@link PathBase.readlink}
+       */
+      readlinkSync() {
+        const target = this.#linkTarget;
+        if (target) {
+          return target;
+        }
+        if (!this.canReadlink()) {
+          return void 0;
+        }
+        if (!this.parent) {
+          return void 0;
+        }
         try {
-          callback(error3, value);
-        } catch (err) {
-          setImmediate$1((e) => {
-            throw e;
-          }, err);
+          const read = this.#fs.readlinkSync(this.fullpath());
+          const linkTarget = this.parent.realpathSync()?.resolve(read);
+          if (linkTarget) {
+            return this.#linkTarget = linkTarget;
+          }
+        } catch (er) {
+          this.#readlinkFail(er.code);
+          return void 0;
         }
       }
-      function isAsync(fn) {
-        return fn[Symbol.toStringTag] === "AsyncFunction";
-      }
-      function isAsyncGenerator(fn) {
-        return fn[Symbol.toStringTag] === "AsyncGenerator";
-      }
-      function isAsyncIterable(obj) {
-        return typeof obj[Symbol.asyncIterator] === "function";
+      #readdirSuccess(children) {
+        this.#type |= READDIR_CALLED;
+        for (let p = children.provisional; p < children.length; p++) {
+          const c = children[p];
+          if (c)
+            c.#markENOENT();
+        }
       }
-      function wrapAsync(asyncFn) {
-        if (typeof asyncFn !== "function") throw new Error("expected a function");
-        return isAsync(asyncFn) ? asyncify(asyncFn) : asyncFn;
+      #markENOENT() {
+        if (this.#type & ENOENT)
+          return;
+        this.#type = (this.#type | ENOENT) & IFMT_UNKNOWN;
+        this.#markChildrenENOENT();
       }
-      function awaitify(asyncFn, arity) {
-        if (!arity) arity = asyncFn.length;
-        if (!arity) throw new Error("arity is undefined");
-        function awaitable(...args) {
-          if (typeof args[arity - 1] === "function") {
-            return asyncFn.apply(this, args);
-          }
-          return new Promise((resolve2, reject2) => {
-            args[arity - 1] = (err, ...cbArgs) => {
-              if (err) return reject2(err);
-              resolve2(cbArgs.length > 1 ? cbArgs : cbArgs[0]);
-            };
-            asyncFn.apply(this, args);
-          });
+      #markChildrenENOENT() {
+        const children = this.children();
+        children.provisional = 0;
+        for (const p of children) {
+          p.#markENOENT();
         }
-        return awaitable;
       }
-      function applyEach$1(eachfn) {
-        return function applyEach2(fns, ...callArgs) {
-          const go = awaitify(function(callback) {
-            var that = this;
-            return eachfn(fns, (fn, cb) => {
-              wrapAsync(fn).apply(that, callArgs.concat(cb));
-            }, callback);
-          });
-          return go;
-        };
+      #markENOREALPATH() {
+        this.#type |= ENOREALPATH;
+        this.#markENOTDIR();
       }
-      function _asyncMap(eachfn, arr, iteratee, callback) {
-        arr = arr || [];
-        var results = [];
-        var counter = 0;
-        var _iteratee = wrapAsync(iteratee);
-        return eachfn(arr, (value, _2, iterCb) => {
-          var index2 = counter++;
-          _iteratee(value, (err, v) => {
-            results[index2] = v;
-            iterCb(err);
-          });
-        }, (err) => {
-          callback(err, results);
-        });
+      // save the information when we know the entry is not a dir
+      #markENOTDIR() {
+        if (this.#type & ENOTDIR)
+          return;
+        let t = this.#type;
+        if ((t & IFMT) === IFDIR)
+          t &= IFMT_UNKNOWN;
+        this.#type = t | ENOTDIR;
+        this.#markChildrenENOENT();
       }
-      function isArrayLike(value) {
-        return value && typeof value.length === "number" && value.length >= 0 && value.length % 1 === 0;
+      #readdirFail(code = "") {
+        if (code === "ENOTDIR" || code === "EPERM") {
+          this.#markENOTDIR();
+        } else if (code === "ENOENT") {
+          this.#markENOENT();
+        } else {
+          this.children().provisional = 0;
+        }
       }
-      const breakLoop = {};
-      function once(fn) {
-        function wrapper(...args) {
-          if (fn === null) return;
-          var callFn = fn;
-          fn = null;
-          callFn.apply(this, args);
+      #lstatFail(code = "") {
+        if (code === "ENOTDIR") {
+          const p = this.parent;
+          p.#markENOTDIR();
+        } else if (code === "ENOENT") {
+          this.#markENOENT();
         }
-        Object.assign(wrapper, fn);
-        return wrapper;
       }
-      function getIterator(coll) {
-        return coll[Symbol.iterator] && coll[Symbol.iterator]();
+      #readlinkFail(code = "") {
+        let ter = this.#type;
+        ter |= ENOREADLINK;
+        if (code === "ENOENT")
+          ter |= ENOENT;
+        if (code === "EINVAL" || code === "UNKNOWN") {
+          ter &= IFMT_UNKNOWN;
+        }
+        this.#type = ter;
+        if (code === "ENOTDIR" && this.parent) {
+          this.parent.#markENOTDIR();
+        }
       }
-      function createArrayIterator(coll) {
-        var i = -1;
-        var len = coll.length;
-        return function next() {
-          return ++i < len ? { value: coll[i], key: i } : null;
-        };
+      #readdirAddChild(e, c) {
+        return this.#readdirMaybePromoteChild(e, c) || this.#readdirAddNewChild(e, c);
       }
-      function createES2015Iterator(iterator2) {
-        var i = -1;
-        return function next() {
-          var item = iterator2.next();
-          if (item.done)
-            return null;
-          i++;
-          return { value: item.value, key: i };
-        };
+      #readdirAddNewChild(e, c) {
+        const type2 = entToType(e);
+        const child = this.newChild(e.name, type2, { parent: this });
+        const ifmt = child.#type & IFMT;
+        if (ifmt !== IFDIR && ifmt !== IFLNK && ifmt !== UNKNOWN) {
+          child.#type |= ENOTDIR;
+        }
+        c.unshift(child);
+        c.provisional++;
+        return child;
       }
-      function createObjectIterator(obj) {
-        var okeys = obj ? Object.keys(obj) : [];
-        var i = -1;
-        var len = okeys.length;
-        return function next() {
-          var key = okeys[++i];
-          if (key === "__proto__") {
-            return next();
+      #readdirMaybePromoteChild(e, c) {
+        for (let p = c.provisional; p < c.length; p++) {
+          const pchild = c[p];
+          const name = this.nocase ? normalizeNocase(e.name) : normalize2(e.name);
+          if (name !== pchild.#matchName) {
+            continue;
           }
-          return i < len ? { value: obj[key], key } : null;
-        };
-      }
-      function createIterator(coll) {
-        if (isArrayLike(coll)) {
-          return createArrayIterator(coll);
+          return this.#readdirPromoteChild(e, pchild, p, c);
         }
-        var iterator2 = getIterator(coll);
-        return iterator2 ? createES2015Iterator(iterator2) : createObjectIterator(coll);
-      }
-      function onlyOnce(fn) {
-        return function(...args) {
-          if (fn === null) throw new Error("Callback was already called.");
-          var callFn = fn;
-          fn = null;
-          callFn.apply(this, args);
-        };
       }
-      function asyncEachOfLimit(generator, limit, iteratee, callback) {
-        let done = false;
-        let canceled = false;
-        let awaiting = false;
-        let running = 0;
-        let idx = 0;
-        function replenish() {
-          if (running >= limit || awaiting || done) return;
-          awaiting = true;
-          generator.next().then(({ value, done: iterDone }) => {
-            if (canceled || done) return;
-            awaiting = false;
-            if (iterDone) {
-              done = true;
-              if (running <= 0) {
-                callback(null);
-              }
-              return;
-            }
-            running++;
-            iteratee(value, idx, iterateeCallback);
-            idx++;
-            replenish();
-          }).catch(handleError);
+      #readdirPromoteChild(e, p, index, c) {
+        const v = p.name;
+        p.#type = p.#type & IFMT_UNKNOWN | entToType(e);
+        if (v !== e.name)
+          p.name = e.name;
+        if (index !== c.provisional) {
+          if (index === c.length - 1)
+            c.pop();
+          else
+            c.splice(index, 1);
+          c.unshift(p);
         }
-        function iterateeCallback(err, result) {
-          running -= 1;
-          if (canceled) return;
-          if (err) return handleError(err);
-          if (err === false) {
-            done = true;
-            canceled = true;
-            return;
+        c.provisional++;
+        return p;
+      }
+      /**
+       * Call lstat() on this Path, and update all known information that can be
+       * determined.
+       *
+       * Note that unlike `fs.lstat()`, the returned value does not contain some
+       * information, such as `mode`, `dev`, `nlink`, and `ino`.  If that
+       * information is required, you will need to call `fs.lstat` yourself.
+       *
+       * If the Path refers to a nonexistent file, or if the lstat call fails for
+       * any reason, `undefined` is returned.  Otherwise the updated Path object is
+       * returned.
+       *
+       * Results are cached, and thus may be out of date if the filesystem is
+       * mutated.
+       */
+      async lstat() {
+        if ((this.#type & ENOENT) === 0) {
+          try {
+            this.#applyStat(await this.#fs.promises.lstat(this.fullpath()));
+            return this;
+          } catch (er) {
+            this.#lstatFail(er.code);
           }
-          if (result === breakLoop || done && running <= 0) {
-            done = true;
-            return callback(null);
+        }
+      }
+      /**
+       * synchronous {@link PathBase.lstat}
+       */
+      lstatSync() {
+        if ((this.#type & ENOENT) === 0) {
+          try {
+            this.#applyStat(this.#fs.lstatSync(this.fullpath()));
+            return this;
+          } catch (er) {
+            this.#lstatFail(er.code);
           }
-          replenish();
         }
-        function handleError(err) {
-          if (canceled) return;
-          awaiting = false;
-          done = true;
-          callback(err);
+      }
+      #applyStat(st) {
+        const { atime, atimeMs, birthtime, birthtimeMs, blksize, blocks, ctime, ctimeMs, dev, gid, ino, mode, mtime, mtimeMs, nlink, rdev, size, uid } = st;
+        this.#atime = atime;
+        this.#atimeMs = atimeMs;
+        this.#birthtime = birthtime;
+        this.#birthtimeMs = birthtimeMs;
+        this.#blksize = blksize;
+        this.#blocks = blocks;
+        this.#ctime = ctime;
+        this.#ctimeMs = ctimeMs;
+        this.#dev = dev;
+        this.#gid = gid;
+        this.#ino = ino;
+        this.#mode = mode;
+        this.#mtime = mtime;
+        this.#mtimeMs = mtimeMs;
+        this.#nlink = nlink;
+        this.#rdev = rdev;
+        this.#size = size;
+        this.#uid = uid;
+        const ifmt = entToType(st);
+        this.#type = this.#type & IFMT_UNKNOWN | ifmt | LSTAT_CALLED;
+        if (ifmt !== UNKNOWN && ifmt !== IFDIR && ifmt !== IFLNK) {
+          this.#type |= ENOTDIR;
         }
-        replenish();
       }
-      var eachOfLimit$2 = (limit) => {
-        return (obj, iteratee, callback) => {
-          callback = once(callback);
-          if (limit <= 0) {
-            throw new RangeError("concurrency limit cannot be less than 1");
-          }
-          if (!obj) {
-            return callback(null);
-          }
-          if (isAsyncGenerator(obj)) {
-            return asyncEachOfLimit(obj, limit, iteratee, callback);
-          }
-          if (isAsyncIterable(obj)) {
-            return asyncEachOfLimit(obj[Symbol.asyncIterator](), limit, iteratee, callback);
-          }
-          var nextElem = createIterator(obj);
-          var done = false;
-          var canceled = false;
-          var running = 0;
-          var looping = false;
-          function iterateeCallback(err, value) {
-            if (canceled) return;
-            running -= 1;
-            if (err) {
-              done = true;
-              callback(err);
-            } else if (err === false) {
-              done = true;
-              canceled = true;
-            } else if (value === breakLoop || done && running <= 0) {
-              done = true;
-              return callback(null);
-            } else if (!looping) {
-              replenish();
+      #onReaddirCB = [];
+      #readdirCBInFlight = false;
+      #callOnReaddirCB(children) {
+        this.#readdirCBInFlight = false;
+        const cbs = this.#onReaddirCB.slice();
+        this.#onReaddirCB.length = 0;
+        cbs.forEach((cb) => cb(null, children));
+      }
+      /**
+       * Standard node-style callback interface to get list of directory entries.
+       *
+       * If the Path cannot or does not contain any children, then an empty array
+       * is returned.
+       *
+       * Results are cached, and thus may be out of date if the filesystem is
+       * mutated.
+       *
+       * @param cb The callback called with (er, entries).  Note that the `er`
+       * param is somewhat extraneous, as all readdir() errors are handled and
+       * simply result in an empty set of entries being returned.
+       * @param allowZalgo Boolean indicating that immediately known results should
+       * *not* be deferred with `queueMicrotask`. Defaults to `false`. Release
+       * zalgo at your peril, the dark pony lord is devious and unforgiving.
+       */
+      readdirCB(cb, allowZalgo = false) {
+        if (!this.canReaddir()) {
+          if (allowZalgo)
+            cb(null, []);
+          else
+            queueMicrotask(() => cb(null, []));
+          return;
+        }
+        const children = this.children();
+        if (this.calledReaddir()) {
+          const c = children.slice(0, children.provisional);
+          if (allowZalgo)
+            cb(null, c);
+          else
+            queueMicrotask(() => cb(null, c));
+          return;
+        }
+        this.#onReaddirCB.push(cb);
+        if (this.#readdirCBInFlight) {
+          return;
+        }
+        this.#readdirCBInFlight = true;
+        const fullpath = this.fullpath();
+        this.#fs.readdir(fullpath, { withFileTypes: true }, (er, entries) => {
+          if (er) {
+            this.#readdirFail(er.code);
+            children.provisional = 0;
+          } else {
+            for (const e of entries) {
+              this.#readdirAddChild(e, children);
             }
+            this.#readdirSuccess(children);
           }
-          function replenish() {
-            looping = true;
-            while (running < limit && !done) {
-              var elem = nextElem();
-              if (elem === null) {
-                done = true;
-                if (running <= 0) {
-                  callback(null);
-                }
-                return;
-              }
-              running += 1;
-              iteratee(elem.value, elem.key, onlyOnce(iterateeCallback));
+          this.#callOnReaddirCB(children.slice(0, children.provisional));
+          return;
+        });
+      }
+      #asyncReaddirInFlight;
+      /**
+       * Return an array of known child entries.
+       *
+       * If the Path cannot or does not contain any children, then an empty array
+       * is returned.
+       *
+       * Results are cached, and thus may be out of date if the filesystem is
+       * mutated.
+       */
+      async readdir() {
+        if (!this.canReaddir()) {
+          return [];
+        }
+        const children = this.children();
+        if (this.calledReaddir()) {
+          return children.slice(0, children.provisional);
+        }
+        const fullpath = this.fullpath();
+        if (this.#asyncReaddirInFlight) {
+          await this.#asyncReaddirInFlight;
+        } else {
+          let resolve2 = () => {
+          };
+          this.#asyncReaddirInFlight = new Promise((res) => resolve2 = res);
+          try {
+            for (const e of await this.#fs.promises.readdir(fullpath, {
+              withFileTypes: true
+            })) {
+              this.#readdirAddChild(e, children);
             }
-            looping = false;
+            this.#readdirSuccess(children);
+          } catch (er) {
+            this.#readdirFail(er.code);
+            children.provisional = 0;
           }
-          replenish();
-        };
-      };
-      function eachOfLimit(coll, limit, iteratee, callback) {
-        return eachOfLimit$2(limit)(coll, wrapAsync(iteratee), callback);
+          this.#asyncReaddirInFlight = void 0;
+          resolve2();
+        }
+        return children.slice(0, children.provisional);
       }
-      var eachOfLimit$1 = awaitify(eachOfLimit, 4);
-      function eachOfArrayLike(coll, iteratee, callback) {
-        callback = once(callback);
-        var index2 = 0, completed = 0, { length } = coll, canceled = false;
-        if (length === 0) {
-          callback(null);
+      /**
+       * synchronous {@link PathBase.readdir}
+       */
+      readdirSync() {
+        if (!this.canReaddir()) {
+          return [];
         }
-        function iteratorCallback(err, value) {
-          if (err === false) {
-            canceled = true;
-          }
-          if (canceled === true) return;
-          if (err) {
-            callback(err);
-          } else if (++completed === length || value === breakLoop) {
-            callback(null);
-          }
+        const children = this.children();
+        if (this.calledReaddir()) {
+          return children.slice(0, children.provisional);
         }
-        for (; index2 < length; index2++) {
-          iteratee(coll[index2], index2, onlyOnce(iteratorCallback));
+        const fullpath = this.fullpath();
+        try {
+          for (const e of this.#fs.readdirSync(fullpath, {
+            withFileTypes: true
+          })) {
+            this.#readdirAddChild(e, children);
+          }
+          this.#readdirSuccess(children);
+        } catch (er) {
+          this.#readdirFail(er.code);
+          children.provisional = 0;
         }
+        return children.slice(0, children.provisional);
       }
-      function eachOfGeneric(coll, iteratee, callback) {
-        return eachOfLimit$1(coll, Infinity, iteratee, callback);
-      }
-      function eachOf(coll, iteratee, callback) {
-        var eachOfImplementation = isArrayLike(coll) ? eachOfArrayLike : eachOfGeneric;
-        return eachOfImplementation(coll, wrapAsync(iteratee), callback);
-      }
-      var eachOf$1 = awaitify(eachOf, 3);
-      function map2(coll, iteratee, callback) {
-        return _asyncMap(eachOf$1, coll, iteratee, callback);
-      }
-      var map$1 = awaitify(map2, 3);
-      var applyEach = applyEach$1(map$1);
-      function eachOfSeries(coll, iteratee, callback) {
-        return eachOfLimit$1(coll, 1, iteratee, callback);
+      canReaddir() {
+        if (this.#type & ENOCHILD)
+          return false;
+        const ifmt = IFMT & this.#type;
+        if (!(ifmt === UNKNOWN || ifmt === IFDIR || ifmt === IFLNK)) {
+          return false;
+        }
+        return true;
       }
-      var eachOfSeries$1 = awaitify(eachOfSeries, 3);
-      function mapSeries(coll, iteratee, callback) {
-        return _asyncMap(eachOfSeries$1, coll, iteratee, callback);
+      shouldWalk(dirs, walkFilter) {
+        return (this.#type & IFDIR) === IFDIR && !(this.#type & ENOCHILD) && !dirs.has(this) && (!walkFilter || walkFilter(this));
       }
-      var mapSeries$1 = awaitify(mapSeries, 3);
-      var applyEachSeries = applyEach$1(mapSeries$1);
-      const PROMISE_SYMBOL = /* @__PURE__ */ Symbol("promiseCallback");
-      function promiseCallback() {
-        let resolve2, reject2;
-        function callback(err, ...args) {
-          if (err) return reject2(err);
-          resolve2(args.length > 1 ? args : args[0]);
+      /**
+       * Return the Path object corresponding to path as resolved
+       * by realpath(3).
+       *
+       * If the realpath call fails for any reason, `undefined` is returned.
+       *
+       * Result is cached, and thus may be outdated if the filesystem is mutated.
+       * On success, returns a Path object.
+       */
+      async realpath() {
+        if (this.#realpath)
+          return this.#realpath;
+        if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type)
+          return void 0;
+        try {
+          const rp = await this.#fs.promises.realpath(this.fullpath());
+          return this.#realpath = this.resolve(rp);
+        } catch (_2) {
+          this.#markENOREALPATH();
         }
-        callback[PROMISE_SYMBOL] = new Promise((res, rej) => {
-          resolve2 = res, reject2 = rej;
-        });
-        return callback;
       }
-      function auto(tasks, concurrency, callback) {
-        if (typeof concurrency !== "number") {
-          callback = concurrency;
-          concurrency = null;
-        }
-        callback = once(callback || promiseCallback());
-        var numTasks = Object.keys(tasks).length;
-        if (!numTasks) {
-          return callback(null);
+      /**
+       * Synchronous {@link realpath}
+       */
+      realpathSync() {
+        if (this.#realpath)
+          return this.#realpath;
+        if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type)
+          return void 0;
+        try {
+          const rp = this.#fs.realpathSync(this.fullpath());
+          return this.#realpath = this.resolve(rp);
+        } catch (_2) {
+          this.#markENOREALPATH();
         }
-        if (!concurrency) {
-          concurrency = numTasks;
+      }
+      /**
+       * Internal method to mark this Path object as the scurry cwd,
+       * called by {@link PathScurry#chdir}
+       *
+       * @internal
+       */
+      [setAsCwd](oldCwd) {
+        if (oldCwd === this)
+          return;
+        oldCwd.isCWD = false;
+        this.isCWD = true;
+        const changed = /* @__PURE__ */ new Set([]);
+        let rp = [];
+        let p = this;
+        while (p && p.parent) {
+          changed.add(p);
+          p.#relative = rp.join(this.sep);
+          p.#relativePosix = rp.join("/");
+          p = p.parent;
+          rp.push("..");
         }
-        var results = {};
-        var runningTasks = 0;
-        var canceled = false;
-        var hasError = false;
-        var listeners = /* @__PURE__ */ Object.create(null);
-        var readyTasks = [];
-        var readyToCheck = [];
-        var uncheckedDependencies = {};
-        Object.keys(tasks).forEach((key) => {
-          var task = tasks[key];
-          if (!Array.isArray(task)) {
-            enqueueTask(key, [task]);
-            readyToCheck.push(key);
-            return;
-          }
-          var dependencies = task.slice(0, task.length - 1);
-          var remainingDependencies = dependencies.length;
-          if (remainingDependencies === 0) {
-            enqueueTask(key, task);
-            readyToCheck.push(key);
-            return;
-          }
-          uncheckedDependencies[key] = remainingDependencies;
-          dependencies.forEach((dependencyName) => {
-            if (!tasks[dependencyName]) {
-              throw new Error("async.auto task `" + key + "` has a non-existent dependency `" + dependencyName + "` in " + dependencies.join(", "));
-            }
-            addListener(dependencyName, () => {
-              remainingDependencies--;
-              if (remainingDependencies === 0) {
-                enqueueTask(key, task);
-              }
-            });
-          });
-        });
-        checkForDeadlocks();
-        processQueue();
-        function enqueueTask(key, task) {
-          readyTasks.push(() => runTask(key, task));
+        p = oldCwd;
+        while (p && p.parent && !changed.has(p)) {
+          p.#relative = void 0;
+          p.#relativePosix = void 0;
+          p = p.parent;
         }
-        function processQueue() {
-          if (canceled) return;
-          if (readyTasks.length === 0 && runningTasks === 0) {
-            return callback(null, results);
-          }
-          while (readyTasks.length && runningTasks < concurrency) {
-            var run = readyTasks.shift();
-            run();
-          }
+      }
+    };
+    exports2.PathBase = PathBase;
+    var PathWin32 = class _PathWin32 extends PathBase {
+      /**
+       * Separator for generating path strings.
+       */
+      sep = "\\";
+      /**
+       * Separator for parsing path strings.
+       */
+      splitSep = eitherSep;
+      /**
+       * Do not create new Path objects directly.  They should always be accessed
+       * via the PathScurry class or other methods on the Path class.
+       *
+       * @internal
+       */
+      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
+        super(name, type2, root, roots, nocase, children, opts);
+      }
+      /**
+       * @internal
+       */
+      newChild(name, type2 = UNKNOWN, opts = {}) {
+        return new _PathWin32(name, type2, this.root, this.roots, this.nocase, this.childrenCache(), opts);
+      }
+      /**
+       * @internal
+       */
+      getRootString(path3) {
+        return node_path_1.win32.parse(path3).root;
+      }
+      /**
+       * @internal
+       */
+      getRoot(rootPath) {
+        rootPath = uncToDrive(rootPath.toUpperCase());
+        if (rootPath === this.root.name) {
+          return this.root;
         }
-        function addListener(taskName, fn) {
-          var taskListeners = listeners[taskName];
-          if (!taskListeners) {
-            taskListeners = listeners[taskName] = [];
+        for (const [compare2, root] of Object.entries(this.roots)) {
+          if (this.sameRoot(rootPath, compare2)) {
+            return this.roots[rootPath] = root;
           }
-          taskListeners.push(fn);
         }
-        function taskComplete(taskName) {
-          var taskListeners = listeners[taskName] || [];
-          taskListeners.forEach((fn) => fn());
-          processQueue();
+        return this.roots[rootPath] = new PathScurryWin32(rootPath, this).root;
+      }
+      /**
+       * @internal
+       */
+      sameRoot(rootPath, compare2 = this.root.name) {
+        rootPath = rootPath.toUpperCase().replace(/\//g, "\\").replace(uncDriveRegexp, "$1\\");
+        return rootPath === compare2;
+      }
+    };
+    exports2.PathWin32 = PathWin32;
+    var PathPosix = class _PathPosix extends PathBase {
+      /**
+       * separator for parsing path strings
+       */
+      splitSep = "/";
+      /**
+       * separator for generating path strings
+       */
+      sep = "/";
+      /**
+       * Do not create new Path objects directly.  They should always be accessed
+       * via the PathScurry class or other methods on the Path class.
+       *
+       * @internal
+       */
+      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
+        super(name, type2, root, roots, nocase, children, opts);
+      }
+      /**
+       * @internal
+       */
+      getRootString(path3) {
+        return path3.startsWith("/") ? "/" : "";
+      }
+      /**
+       * @internal
+       */
+      getRoot(_rootPath) {
+        return this.root;
+      }
+      /**
+       * @internal
+       */
+      newChild(name, type2 = UNKNOWN, opts = {}) {
+        return new _PathPosix(name, type2, this.root, this.roots, this.nocase, this.childrenCache(), opts);
+      }
+    };
+    exports2.PathPosix = PathPosix;
+    var PathScurryBase = class {
+      /**
+       * The root Path entry for the current working directory of this Scurry
+       */
+      root;
+      /**
+       * The string path for the root of this Scurry's current working directory
+       */
+      rootPath;
+      /**
+       * A collection of all roots encountered, referenced by rootPath
+       */
+      roots;
+      /**
+       * The Path entry corresponding to this PathScurry's current working directory.
+       */
+      cwd;
+      #resolveCache;
+      #resolvePosixCache;
+      #children;
+      /**
+       * Perform path comparisons case-insensitively.
+       *
+       * Defaults true on Darwin and Windows systems, false elsewhere.
+       */
+      nocase;
+      #fs;
+      /**
+       * This class should not be instantiated directly.
+       *
+       * Use PathScurryWin32, PathScurryDarwin, PathScurryPosix, or PathScurry
+       *
+       * @internal
+       */
+      constructor(cwd = process.cwd(), pathImpl, sep2, { nocase, childrenCacheSize = 16 * 1024, fs: fs3 = defaultFS } = {}) {
+        this.#fs = fsFromOption(fs3);
+        if (cwd instanceof URL || cwd.startsWith("file://")) {
+          cwd = (0, node_url_1.fileURLToPath)(cwd);
         }
-        function runTask(key, task) {
-          if (hasError) return;
-          var taskCallback = onlyOnce((err, ...result) => {
-            runningTasks--;
-            if (err === false) {
-              canceled = true;
-              return;
-            }
-            if (result.length < 2) {
-              [result] = result;
-            }
-            if (err) {
-              var safeResults = {};
-              Object.keys(results).forEach((rkey) => {
-                safeResults[rkey] = results[rkey];
-              });
-              safeResults[key] = result;
-              hasError = true;
-              listeners = /* @__PURE__ */ Object.create(null);
-              if (canceled) return;
-              callback(err, safeResults);
-            } else {
-              results[key] = result;
-              taskComplete(key);
-            }
-          });
-          runningTasks++;
-          var taskFn = wrapAsync(task[task.length - 1]);
-          if (task.length > 1) {
-            taskFn(results, taskCallback);
-          } else {
-            taskFn(taskCallback);
-          }
+        const cwdPath = pathImpl.resolve(cwd);
+        this.roots = /* @__PURE__ */ Object.create(null);
+        this.rootPath = this.parseRootPath(cwdPath);
+        this.#resolveCache = new ResolveCache();
+        this.#resolvePosixCache = new ResolveCache();
+        this.#children = new ChildrenCache(childrenCacheSize);
+        const split = cwdPath.substring(this.rootPath.length).split(sep2);
+        if (split.length === 1 && !split[0]) {
+          split.pop();
         }
-        function checkForDeadlocks() {
-          var currentTask;
-          var counter = 0;
-          while (readyToCheck.length) {
-            currentTask = readyToCheck.pop();
-            counter++;
-            getDependents(currentTask).forEach((dependent) => {
-              if (--uncheckedDependencies[dependent] === 0) {
-                readyToCheck.push(dependent);
-              }
-            });
-          }
-          if (counter !== numTasks) {
-            throw new Error(
-              "async.auto cannot execute tasks due to a recursive dependency"
-            );
-          }
+        if (nocase === void 0) {
+          throw new TypeError("must provide nocase setting to PathScurryBase ctor");
         }
-        function getDependents(taskName) {
-          var result = [];
-          Object.keys(tasks).forEach((key) => {
-            const task = tasks[key];
-            if (Array.isArray(task) && task.indexOf(taskName) >= 0) {
-              result.push(key);
-            }
+        this.nocase = nocase;
+        this.root = this.newRoot(this.#fs);
+        this.roots[this.rootPath] = this.root;
+        let prev = this.root;
+        let len = split.length - 1;
+        const joinSep = pathImpl.sep;
+        let abs = this.rootPath;
+        let sawFirst = false;
+        for (const part of split) {
+          const l = len--;
+          prev = prev.child(part, {
+            relative: new Array(l).fill("..").join(joinSep),
+            relativePosix: new Array(l).fill("..").join("/"),
+            fullpath: abs += (sawFirst ? "" : joinSep) + part
           });
-          return result;
+          sawFirst = true;
         }
-        return callback[PROMISE_SYMBOL];
+        this.cwd = prev;
       }
-      var FN_ARGS = /^(?:async\s)?(?:function)?\s*(?:\w+\s*)?\(([^)]+)\)(?:\s*{)/;
-      var ARROW_FN_ARGS = /^(?:async\s)?\s*(?:\(\s*)?((?:[^)=\s]\s*)*)(?:\)\s*)?=>/;
-      var FN_ARG_SPLIT = /,/;
-      var FN_ARG = /(=.+)?(\s*)$/;
-      function stripComments(string) {
-        let stripped = "";
-        let index2 = 0;
-        let endBlockComment = string.indexOf("*/");
-        while (index2 < string.length) {
-          if (string[index2] === "/" && string[index2 + 1] === "/") {
-            let endIndex = string.indexOf("\n", index2);
-            index2 = endIndex === -1 ? string.length : endIndex;
-          } else if (endBlockComment !== -1 && string[index2] === "/" && string[index2 + 1] === "*") {
-            let endIndex = string.indexOf("*/", index2);
-            if (endIndex !== -1) {
-              index2 = endIndex + 2;
-              endBlockComment = string.indexOf("*/", index2);
-            } else {
-              stripped += string[index2];
-              index2++;
-            }
-          } else {
-            stripped += string[index2];
-            index2++;
-          }
+      /**
+       * Get the depth of a provided path, string, or the cwd
+       */
+      depth(path3 = this.cwd) {
+        if (typeof path3 === "string") {
+          path3 = this.cwd.resolve(path3);
         }
-        return stripped;
+        return path3.depth();
       }
-      function parseParams(func) {
-        const src = stripComments(func.toString());
-        let match = src.match(FN_ARGS);
-        if (!match) {
-          match = src.match(ARROW_FN_ARGS);
-        }
-        if (!match) throw new Error("could not parse args in autoInject\nSource:\n" + src);
-        let [, args] = match;
-        return args.replace(/\s/g, "").split(FN_ARG_SPLIT).map((arg) => arg.replace(FN_ARG, "").trim());
+      /**
+       * Return the cache of child entries.  Exposed so subclasses can create
+       * child Path objects in a platform-specific way.
+       *
+       * @internal
+       */
+      childrenCache() {
+        return this.#children;
       }
-      function autoInject(tasks, callback) {
-        var newTasks = {};
-        Object.keys(tasks).forEach((key) => {
-          var taskFn = tasks[key];
-          var params;
-          var fnIsAsync = isAsync(taskFn);
-          var hasNoDeps = !fnIsAsync && taskFn.length === 1 || fnIsAsync && taskFn.length === 0;
-          if (Array.isArray(taskFn)) {
-            params = [...taskFn];
-            taskFn = params.pop();
-            newTasks[key] = params.concat(params.length > 0 ? newTask : taskFn);
-          } else if (hasNoDeps) {
-            newTasks[key] = taskFn;
-          } else {
-            params = parseParams(taskFn);
-            if (taskFn.length === 0 && !fnIsAsync && params.length === 0) {
-              throw new Error("autoInject task functions require explicit parameters.");
-            }
-            if (!fnIsAsync) params.pop();
-            newTasks[key] = params.concat(newTask);
-          }
-          function newTask(results, taskCb) {
-            var newArgs = params.map((name) => results[name]);
-            newArgs.push(taskCb);
-            wrapAsync(taskFn)(...newArgs);
+      /**
+       * Resolve one or more path strings to a resolved string
+       *
+       * Same interface as require('path').resolve.
+       *
+       * Much faster than path.resolve() when called multiple times for the same
+       * path, because the resolved Path objects are cached.  Much slower
+       * otherwise.
+       */
+      resolve(...paths) {
+        let r = "";
+        for (let i = paths.length - 1; i >= 0; i--) {
+          const p = paths[i];
+          if (!p || p === ".")
+            continue;
+          r = r ? `${p}/${r}` : p;
+          if (this.isAbsolute(p)) {
+            break;
           }
-        });
-        return auto(newTasks, callback);
-      }
-      class DLL {
-        constructor() {
-          this.head = this.tail = null;
-          this.length = 0;
         }
-        removeLink(node) {
-          if (node.prev) node.prev.next = node.next;
-          else this.head = node.next;
-          if (node.next) node.next.prev = node.prev;
-          else this.tail = node.prev;
-          node.prev = node.next = null;
-          this.length -= 1;
-          return node;
+        const cached = this.#resolveCache.get(r);
+        if (cached !== void 0) {
+          return cached;
         }
-        empty() {
-          while (this.head) this.shift();
-          return this;
+        const result = this.cwd.resolve(r).fullpath();
+        this.#resolveCache.set(r, result);
+        return result;
+      }
+      /**
+       * Resolve one or more path strings to a resolved string, returning
+       * the posix path.  Identical to .resolve() on posix systems, but on
+       * windows will return a forward-slash separated UNC path.
+       *
+       * Same interface as require('path').resolve.
+       *
+       * Much faster than path.resolve() when called multiple times for the same
+       * path, because the resolved Path objects are cached.  Much slower
+       * otherwise.
+       */
+      resolvePosix(...paths) {
+        let r = "";
+        for (let i = paths.length - 1; i >= 0; i--) {
+          const p = paths[i];
+          if (!p || p === ".")
+            continue;
+          r = r ? `${p}/${r}` : p;
+          if (this.isAbsolute(p)) {
+            break;
+          }
         }
-        insertAfter(node, newNode) {
-          newNode.prev = node;
-          newNode.next = node.next;
-          if (node.next) node.next.prev = newNode;
-          else this.tail = newNode;
-          node.next = newNode;
-          this.length += 1;
+        const cached = this.#resolvePosixCache.get(r);
+        if (cached !== void 0) {
+          return cached;
         }
-        insertBefore(node, newNode) {
-          newNode.prev = node.prev;
-          newNode.next = node;
-          if (node.prev) node.prev.next = newNode;
-          else this.head = newNode;
-          node.prev = newNode;
-          this.length += 1;
+        const result = this.cwd.resolve(r).fullpathPosix();
+        this.#resolvePosixCache.set(r, result);
+        return result;
+      }
+      /**
+       * find the relative path from the cwd to the supplied path string or entry
+       */
+      relative(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
         }
-        unshift(node) {
-          if (this.head) this.insertBefore(this.head, node);
-          else setInitial(this, node);
+        return entry.relative();
+      }
+      /**
+       * find the relative path from the cwd to the supplied path string or
+       * entry, using / as the path delimiter, even on Windows.
+       */
+      relativePosix(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
         }
-        push(node) {
-          if (this.tail) this.insertAfter(this.tail, node);
-          else setInitial(this, node);
+        return entry.relativePosix();
+      }
+      /**
+       * Return the basename for the provided string or Path object
+       */
+      basename(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
         }
-        shift() {
-          return this.head && this.removeLink(this.head);
+        return entry.name;
+      }
+      /**
+       * Return the dirname for the provided string or Path object
+       */
+      dirname(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
         }
-        pop() {
-          return this.tail && this.removeLink(this.tail);
+        return (entry.parent || entry).fullpath();
+      }
+      async readdir(entry = this.cwd, opts = {
+        withFileTypes: true
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
         }
-        toArray() {
-          return [...this];
+        const { withFileTypes } = opts;
+        if (!entry.canReaddir()) {
+          return [];
+        } else {
+          const p = await entry.readdir();
+          return withFileTypes ? p : p.map((e) => e.name);
         }
-        *[Symbol.iterator]() {
-          var cur = this.head;
-          while (cur) {
-            yield cur.data;
-            cur = cur.next;
-          }
+      }
+      readdirSync(entry = this.cwd, opts = {
+        withFileTypes: true
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
         }
-        remove(testFn) {
-          var curr = this.head;
-          while (curr) {
-            var { next } = curr;
-            if (testFn(curr)) {
-              this.removeLink(curr);
-            }
-            curr = next;
-          }
-          return this;
+        const { withFileTypes = true } = opts;
+        if (!entry.canReaddir()) {
+          return [];
+        } else if (withFileTypes) {
+          return entry.readdirSync();
+        } else {
+          return entry.readdirSync().map((e) => e.name);
         }
       }
-      function setInitial(dll, node) {
-        dll.length = 1;
-        dll.head = dll.tail = node;
+      /**
+       * Call lstat() on the string or Path object, and update all known
+       * information that can be determined.
+       *
+       * Note that unlike `fs.lstat()`, the returned value does not contain some
+       * information, such as `mode`, `dev`, `nlink`, and `ino`.  If that
+       * information is required, you will need to call `fs.lstat` yourself.
+       *
+       * If the Path refers to a nonexistent file, or if the lstat call fails for
+       * any reason, `undefined` is returned.  Otherwise the updated Path object is
+       * returned.
+       *
+       * Results are cached, and thus may be out of date if the filesystem is
+       * mutated.
+       */
+      async lstat(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        }
+        return entry.lstat();
       }
-      function queue$1(worker, concurrency, payload) {
-        if (concurrency == null) {
-          concurrency = 1;
-        } else if (concurrency === 0) {
-          throw new RangeError("Concurrency must not be zero");
+      /**
+       * synchronous {@link PathScurryBase.lstat}
+       */
+      lstatSync(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
         }
-        var _worker = wrapAsync(worker);
-        var numRunning = 0;
-        var workersList = [];
-        const events = {
-          error: [],
-          drain: [],
-          saturated: [],
-          unsaturated: [],
-          empty: []
-        };
-        function on(event, handler2) {
-          events[event].push(handler2);
+        return entry.lstatSync();
+      }
+      async readlink(entry = this.cwd, { withFileTypes } = {
+        withFileTypes: false
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          withFileTypes = entry.withFileTypes;
+          entry = this.cwd;
         }
-        function once2(event, handler2) {
-          const handleAndRemove = (...args) => {
-            off(event, handleAndRemove);
-            handler2(...args);
-          };
-          events[event].push(handleAndRemove);
+        const e = await entry.readlink();
+        return withFileTypes ? e : e?.fullpath();
+      }
+      readlinkSync(entry = this.cwd, { withFileTypes } = {
+        withFileTypes: false
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          withFileTypes = entry.withFileTypes;
+          entry = this.cwd;
         }
-        function off(event, handler2) {
-          if (!event) return Object.keys(events).forEach((ev) => events[ev] = []);
-          if (!handler2) return events[event] = [];
-          events[event] = events[event].filter((ev) => ev !== handler2);
+        const e = entry.readlinkSync();
+        return withFileTypes ? e : e?.fullpath();
+      }
+      async realpath(entry = this.cwd, { withFileTypes } = {
+        withFileTypes: false
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          withFileTypes = entry.withFileTypes;
+          entry = this.cwd;
         }
-        function trigger(event, ...args) {
-          events[event].forEach((handler2) => handler2(...args));
+        const e = await entry.realpath();
+        return withFileTypes ? e : e?.fullpath();
+      }
+      realpathSync(entry = this.cwd, { withFileTypes } = {
+        withFileTypes: false
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          withFileTypes = entry.withFileTypes;
+          entry = this.cwd;
         }
-        var processingScheduled = false;
-        function _insert(data, insertAtFront, rejectOnError, callback) {
-          if (callback != null && typeof callback !== "function") {
-            throw new Error("task callback must be a function");
-          }
-          q.started = true;
-          var res, rej;
-          function promiseCallback2(err, ...args) {
-            if (err) return rejectOnError ? rej(err) : res();
-            if (args.length <= 1) return res(args[0]);
-            res(args);
-          }
-          var item = q._createTaskItem(
-            data,
-            rejectOnError ? promiseCallback2 : callback || promiseCallback2
-          );
-          if (insertAtFront) {
-            q._tasks.unshift(item);
-          } else {
-            q._tasks.push(item);
-          }
-          if (!processingScheduled) {
-            processingScheduled = true;
-            setImmediate$1(() => {
-              processingScheduled = false;
-              q.process();
-            });
-          }
-          if (rejectOnError || !callback) {
-            return new Promise((resolve2, reject2) => {
-              res = resolve2;
-              rej = reject2;
-            });
-          }
+        const e = entry.realpathSync();
+        return withFileTypes ? e : e?.fullpath();
+      }
+      async walk(entry = this.cwd, opts = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
         }
-        function _createCB(tasks) {
-          return function(err, ...args) {
-            numRunning -= 1;
-            for (var i = 0, l = tasks.length; i < l; i++) {
-              var task = tasks[i];
-              var index2 = workersList.indexOf(task);
-              if (index2 === 0) {
-                workersList.shift();
-              } else if (index2 > 0) {
-                workersList.splice(index2, 1);
+        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
+        const results = [];
+        if (!filter || filter(entry)) {
+          results.push(withFileTypes ? entry : entry.fullpath());
+        }
+        const dirs = /* @__PURE__ */ new Set();
+        const walk = (dir, cb) => {
+          dirs.add(dir);
+          dir.readdirCB((er, entries) => {
+            if (er) {
+              return cb(er);
+            }
+            let len = entries.length;
+            if (!len)
+              return cb();
+            const next = () => {
+              if (--len === 0) {
+                cb();
               }
-              task.callback(err, ...args);
-              if (err != null) {
-                trigger("error", err, task.data);
+            };
+            for (const e of entries) {
+              if (!filter || filter(e)) {
+                results.push(withFileTypes ? e : e.fullpath());
+              }
+              if (follow && e.isSymbolicLink()) {
+                e.realpath().then((r) => r?.isUnknown() ? r.lstat() : r).then((r) => r?.shouldWalk(dirs, walkFilter) ? walk(r, next) : next());
+              } else {
+                if (e.shouldWalk(dirs, walkFilter)) {
+                  walk(e, next);
+                } else {
+                  next();
+                }
               }
             }
-            if (numRunning <= q.concurrency - q.buffer) {
-              trigger("unsaturated");
+          }, true);
+        };
+        const start = entry;
+        return new Promise((res, rej) => {
+          walk(start, (er) => {
+            if (er)
+              return rej(er);
+            res(results);
+          });
+        });
+      }
+      walkSync(entry = this.cwd, opts = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
+        }
+        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
+        const results = [];
+        if (!filter || filter(entry)) {
+          results.push(withFileTypes ? entry : entry.fullpath());
+        }
+        const dirs = /* @__PURE__ */ new Set([entry]);
+        for (const dir of dirs) {
+          const entries = dir.readdirSync();
+          for (const e of entries) {
+            if (!filter || filter(e)) {
+              results.push(withFileTypes ? e : e.fullpath());
             }
-            if (q.idle()) {
-              trigger("drain");
+            let r = e;
+            if (e.isSymbolicLink()) {
+              if (!(follow && (r = e.realpathSync())))
+                continue;
+              if (r.isUnknown())
+                r.lstatSync();
             }
-            q.process();
-          };
+            if (r.shouldWalk(dirs, walkFilter)) {
+              dirs.add(r);
+            }
+          }
+        }
+        return results;
+      }
+      /**
+       * Support for `for await`
+       *
+       * Alias for {@link PathScurryBase.iterate}
+       *
+       * Note: As of Node 19, this is very slow, compared to other methods of
+       * walking.  Consider using {@link PathScurryBase.stream} if memory overhead
+       * and backpressure are concerns, or {@link PathScurryBase.walk} if not.
+       */
+      [Symbol.asyncIterator]() {
+        return this.iterate();
+      }
+      iterate(entry = this.cwd, options = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          options = entry;
+          entry = this.cwd;
+        }
+        return this.stream(entry, options)[Symbol.asyncIterator]();
+      }
+      /**
+       * Iterating over a PathScurry performs a synchronous walk.
+       *
+       * Alias for {@link PathScurryBase.iterateSync}
+       */
+      [Symbol.iterator]() {
+        return this.iterateSync();
+      }
+      *iterateSync(entry = this.cwd, opts = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
         }
-        function _maybeDrain(data) {
-          if (data.length === 0 && q.idle()) {
-            setImmediate$1(() => trigger("drain"));
-            return true;
-          }
-          return false;
+        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
+        if (!filter || filter(entry)) {
+          yield withFileTypes ? entry : entry.fullpath();
         }
-        const eventMethod = (name) => (handler2) => {
-          if (!handler2) {
-            return new Promise((resolve2, reject2) => {
-              once2(name, (err, data) => {
-                if (err) return reject2(err);
-                resolve2(data);
-              });
-            });
-          }
-          off(name);
-          on(name, handler2);
-        };
-        var isProcessing = false;
-        var q = {
-          _tasks: new DLL(),
-          _createTaskItem(data, callback) {
-            return {
-              data,
-              callback
-            };
-          },
-          *[Symbol.iterator]() {
-            yield* q._tasks[Symbol.iterator]();
-          },
-          concurrency,
-          payload,
-          buffer: concurrency / 4,
-          started: false,
-          paused: false,
-          push(data, callback) {
-            if (Array.isArray(data)) {
-              if (_maybeDrain(data)) return;
-              return data.map((datum) => _insert(datum, false, false, callback));
-            }
-            return _insert(data, false, false, callback);
-          },
-          pushAsync(data, callback) {
-            if (Array.isArray(data)) {
-              if (_maybeDrain(data)) return;
-              return data.map((datum) => _insert(datum, false, true, callback));
+        const dirs = /* @__PURE__ */ new Set([entry]);
+        for (const dir of dirs) {
+          const entries = dir.readdirSync();
+          for (const e of entries) {
+            if (!filter || filter(e)) {
+              yield withFileTypes ? e : e.fullpath();
             }
-            return _insert(data, false, true, callback);
-          },
-          kill() {
-            off();
-            q._tasks.empty();
-          },
-          unshift(data, callback) {
-            if (Array.isArray(data)) {
-              if (_maybeDrain(data)) return;
-              return data.map((datum) => _insert(datum, true, false, callback));
+            let r = e;
+            if (e.isSymbolicLink()) {
+              if (!(follow && (r = e.realpathSync())))
+                continue;
+              if (r.isUnknown())
+                r.lstatSync();
             }
-            return _insert(data, true, false, callback);
-          },
-          unshiftAsync(data, callback) {
-            if (Array.isArray(data)) {
-              if (_maybeDrain(data)) return;
-              return data.map((datum) => _insert(datum, true, true, callback));
+            if (r.shouldWalk(dirs, walkFilter)) {
+              dirs.add(r);
             }
-            return _insert(data, true, true, callback);
-          },
-          remove(testFn) {
-            q._tasks.remove(testFn);
-          },
-          process() {
-            if (isProcessing) {
+          }
+        }
+      }
+      stream(entry = this.cwd, opts = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
+        }
+        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
+        const results = new minipass_1.Minipass({ objectMode: true });
+        if (!filter || filter(entry)) {
+          results.write(withFileTypes ? entry : entry.fullpath());
+        }
+        const dirs = /* @__PURE__ */ new Set();
+        const queue = [entry];
+        let processing = 0;
+        const process2 = () => {
+          let paused = false;
+          while (!paused) {
+            const dir = queue.shift();
+            if (!dir) {
+              if (processing === 0)
+                results.end();
               return;
             }
-            isProcessing = true;
-            while (!q.paused && numRunning < q.concurrency && q._tasks.length) {
-              var tasks = [], data = [];
-              var l = q._tasks.length;
-              if (q.payload) l = Math.min(l, q.payload);
-              for (var i = 0; i < l; i++) {
-                var node = q._tasks.shift();
-                tasks.push(node);
-                workersList.push(node);
-                data.push(node.data);
+            processing++;
+            dirs.add(dir);
+            const onReaddir = (er, entries, didRealpaths = false) => {
+              if (er)
+                return results.emit("error", er);
+              if (follow && !didRealpaths) {
+                const promises2 = [];
+                for (const e of entries) {
+                  if (e.isSymbolicLink()) {
+                    promises2.push(e.realpath().then((r) => r?.isUnknown() ? r.lstat() : r));
+                  }
+                }
+                if (promises2.length) {
+                  Promise.all(promises2).then(() => onReaddir(null, entries, true));
+                  return;
+                }
               }
-              numRunning += 1;
-              if (q._tasks.length === 0) {
-                trigger("empty");
+              for (const e of entries) {
+                if (e && (!filter || filter(e))) {
+                  if (!results.write(withFileTypes ? e : e.fullpath())) {
+                    paused = true;
+                  }
+                }
               }
-              if (numRunning === q.concurrency) {
-                trigger("saturated");
+              processing--;
+              for (const e of entries) {
+                const r = e.realpathCached() || e;
+                if (r.shouldWalk(dirs, walkFilter)) {
+                  queue.push(r);
+                }
               }
-              var cb = onlyOnce(_createCB(tasks));
-              _worker(data, cb);
-            }
-            isProcessing = false;
-          },
-          length() {
-            return q._tasks.length;
-          },
-          running() {
-            return numRunning;
-          },
-          workersList() {
-            return workersList;
-          },
-          idle() {
-            return q._tasks.length + numRunning === 0;
-          },
-          pause() {
-            q.paused = true;
-          },
-          resume() {
-            if (q.paused === false) {
-              return;
-            }
-            q.paused = false;
-            setImmediate$1(q.process);
+              if (paused && !results.flowing) {
+                results.once("drain", process2);
+              } else if (!sync) {
+                process2();
+              }
+            };
+            let sync = true;
+            dir.readdirCB(onReaddir, true);
+            sync = false;
           }
         };
-        Object.defineProperties(q, {
-          saturated: {
-            writable: false,
-            value: eventMethod("saturated")
-          },
-          unsaturated: {
-            writable: false,
-            value: eventMethod("unsaturated")
-          },
-          empty: {
-            writable: false,
-            value: eventMethod("empty")
-          },
-          drain: {
-            writable: false,
-            value: eventMethod("drain")
-          },
-          error: {
-            writable: false,
-            value: eventMethod("error")
-          }
-        });
-        return q;
-      }
-      function cargo$1(worker, payload) {
-        return queue$1(worker, 1, payload);
-      }
-      function cargo(worker, concurrency, payload) {
-        return queue$1(worker, concurrency, payload);
-      }
-      function reduce(coll, memo, iteratee, callback) {
-        callback = once(callback);
-        var _iteratee = wrapAsync(iteratee);
-        return eachOfSeries$1(coll, (x, i, iterCb) => {
-          _iteratee(memo, x, (err, v) => {
-            memo = v;
-            iterCb(err);
-          });
-        }, (err) => callback(err, memo));
+        process2();
+        return results;
       }
-      var reduce$1 = awaitify(reduce, 4);
-      function seq2(...functions) {
-        var _functions = functions.map(wrapAsync);
-        return function(...args) {
-          var that = this;
-          var cb = args[args.length - 1];
-          if (typeof cb == "function") {
-            args.pop();
-          } else {
-            cb = promiseCallback();
+      streamSync(entry = this.cwd, opts = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
+        }
+        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
+        const results = new minipass_1.Minipass({ objectMode: true });
+        const dirs = /* @__PURE__ */ new Set();
+        if (!filter || filter(entry)) {
+          results.write(withFileTypes ? entry : entry.fullpath());
+        }
+        const queue = [entry];
+        let processing = 0;
+        const process2 = () => {
+          let paused = false;
+          while (!paused) {
+            const dir = queue.shift();
+            if (!dir) {
+              if (processing === 0)
+                results.end();
+              return;
+            }
+            processing++;
+            dirs.add(dir);
+            const entries = dir.readdirSync();
+            for (const e of entries) {
+              if (!filter || filter(e)) {
+                if (!results.write(withFileTypes ? e : e.fullpath())) {
+                  paused = true;
+                }
+              }
+            }
+            processing--;
+            for (const e of entries) {
+              let r = e;
+              if (e.isSymbolicLink()) {
+                if (!(follow && (r = e.realpathSync())))
+                  continue;
+                if (r.isUnknown())
+                  r.lstatSync();
+              }
+              if (r.shouldWalk(dirs, walkFilter)) {
+                queue.push(r);
+              }
+            }
           }
-          reduce$1(
-            _functions,
-            args,
-            (newargs, fn, iterCb) => {
-              fn.apply(that, newargs.concat((err, ...nextargs) => {
-                iterCb(err, nextargs);
-              }));
-            },
-            (err, results) => cb(err, ...results)
-          );
-          return cb[PROMISE_SYMBOL];
+          if (paused && !results.flowing)
+            results.once("drain", process2);
         };
+        process2();
+        return results;
       }
-      function compose(...args) {
-        return seq2(...args.reverse());
+      chdir(path3 = this.cwd) {
+        const oldCwd = this.cwd;
+        this.cwd = typeof path3 === "string" ? this.cwd.resolve(path3) : path3;
+        this.cwd[setAsCwd](oldCwd);
       }
-      function mapLimit(coll, limit, iteratee, callback) {
-        return _asyncMap(eachOfLimit$2(limit), coll, iteratee, callback);
+    };
+    exports2.PathScurryBase = PathScurryBase;
+    var PathScurryWin32 = class extends PathScurryBase {
+      /**
+       * separator for generating path strings
+       */
+      sep = "\\";
+      constructor(cwd = process.cwd(), opts = {}) {
+        const { nocase = true } = opts;
+        super(cwd, node_path_1.win32, "\\", { ...opts, nocase });
+        this.nocase = nocase;
+        for (let p = this.cwd; p; p = p.parent) {
+          p.nocase = this.nocase;
+        }
       }
-      var mapLimit$1 = awaitify(mapLimit, 4);
-      function concatLimit(coll, limit, iteratee, callback) {
-        var _iteratee = wrapAsync(iteratee);
-        return mapLimit$1(coll, limit, (val, iterCb) => {
-          _iteratee(val, (err, ...args) => {
-            if (err) return iterCb(err);
-            return iterCb(err, args);
-          });
-        }, (err, mapResults) => {
-          var result = [];
-          for (var i = 0; i < mapResults.length; i++) {
-            if (mapResults[i]) {
-              result = result.concat(...mapResults[i]);
-            }
-          }
-          return callback(err, result);
-        });
+      /**
+       * @internal
+       */
+      parseRootPath(dir) {
+        return node_path_1.win32.parse(dir).root.toUpperCase();
       }
-      var concatLimit$1 = awaitify(concatLimit, 4);
-      function concat(coll, iteratee, callback) {
-        return concatLimit$1(coll, Infinity, iteratee, callback);
+      /**
+       * @internal
+       */
+      newRoot(fs3) {
+        return new PathWin32(this.rootPath, IFDIR, void 0, this.roots, this.nocase, this.childrenCache(), { fs: fs3 });
       }
-      var concat$1 = awaitify(concat, 3);
-      function concatSeries(coll, iteratee, callback) {
-        return concatLimit$1(coll, 1, iteratee, callback);
+      /**
+       * Return true if the provided path string is an absolute path
+       */
+      isAbsolute(p) {
+        return p.startsWith("/") || p.startsWith("\\") || /^[a-z]:(\/|\\)/i.test(p);
       }
-      var concatSeries$1 = awaitify(concatSeries, 3);
-      function constant$1(...args) {
-        return function(...ignoredArgs) {
-          var callback = ignoredArgs.pop();
-          return callback(null, ...args);
-        };
+    };
+    exports2.PathScurryWin32 = PathScurryWin32;
+    var PathScurryPosix = class extends PathScurryBase {
+      /**
+       * separator for generating path strings
+       */
+      sep = "/";
+      constructor(cwd = process.cwd(), opts = {}) {
+        const { nocase = false } = opts;
+        super(cwd, node_path_1.posix, "/", { ...opts, nocase });
+        this.nocase = nocase;
       }
-      function _createTester(check, getResult) {
-        return (eachfn, arr, _iteratee, cb) => {
-          var testPassed = false;
-          var testResult;
-          const iteratee = wrapAsync(_iteratee);
-          eachfn(arr, (value, _2, callback) => {
-            iteratee(value, (err, result) => {
-              if (err || err === false) return callback(err);
-              if (check(result) && !testResult) {
-                testPassed = true;
-                testResult = getResult(true, value);
-                return callback(null, breakLoop);
-              }
-              callback();
-            });
-          }, (err) => {
-            if (err) return cb(err);
-            cb(null, testPassed ? testResult : getResult(false));
-          });
-        };
+      /**
+       * @internal
+       */
+      parseRootPath(_dir) {
+        return "/";
       }
-      function detect(coll, iteratee, callback) {
-        return _createTester((bool2) => bool2, (res, item) => item)(eachOf$1, coll, iteratee, callback);
+      /**
+       * @internal
+       */
+      newRoot(fs3) {
+        return new PathPosix(this.rootPath, IFDIR, void 0, this.roots, this.nocase, this.childrenCache(), { fs: fs3 });
       }
-      var detect$1 = awaitify(detect, 3);
-      function detectLimit(coll, limit, iteratee, callback) {
-        return _createTester((bool2) => bool2, (res, item) => item)(eachOfLimit$2(limit), coll, iteratee, callback);
+      /**
+       * Return true if the provided path string is an absolute path
+       */
+      isAbsolute(p) {
+        return p.startsWith("/");
       }
-      var detectLimit$1 = awaitify(detectLimit, 4);
-      function detectSeries(coll, iteratee, callback) {
-        return _createTester((bool2) => bool2, (res, item) => item)(eachOfLimit$2(1), coll, iteratee, callback);
+    };
+    exports2.PathScurryPosix = PathScurryPosix;
+    var PathScurryDarwin = class extends PathScurryPosix {
+      constructor(cwd = process.cwd(), opts = {}) {
+        const { nocase = true } = opts;
+        super(cwd, { ...opts, nocase });
       }
-      var detectSeries$1 = awaitify(detectSeries, 3);
-      function consoleFunc(name) {
-        return (fn, ...args) => wrapAsync(fn)(...args, (err, ...resultArgs) => {
-          if (typeof console === "object") {
-            if (err) {
-              if (console.error) {
-                console.error(err);
-              }
-            } else if (console[name]) {
-              resultArgs.forEach((x) => console[name](x));
+    };
+    exports2.PathScurryDarwin = PathScurryDarwin;
+    exports2.Path = process.platform === "win32" ? PathWin32 : PathPosix;
+    exports2.PathScurry = process.platform === "win32" ? PathScurryWin32 : process.platform === "darwin" ? PathScurryDarwin : PathScurryPosix;
+  }
+});
+
+// node_modules/glob/dist/commonjs/pattern.js
+var require_pattern = __commonJS({
+  "node_modules/glob/dist/commonjs/pattern.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Pattern = void 0;
+    var minimatch_1 = require_commonjs20();
+    var isPatternList = (pl) => pl.length >= 1;
+    var isGlobList = (gl) => gl.length >= 1;
+    var Pattern = class _Pattern {
+      #patternList;
+      #globList;
+      #index;
+      length;
+      #platform;
+      #rest;
+      #globString;
+      #isDrive;
+      #isUNC;
+      #isAbsolute;
+      #followGlobstar = true;
+      constructor(patternList, globList, index, platform) {
+        if (!isPatternList(patternList)) {
+          throw new TypeError("empty pattern list");
+        }
+        if (!isGlobList(globList)) {
+          throw new TypeError("empty glob list");
+        }
+        if (globList.length !== patternList.length) {
+          throw new TypeError("mismatched pattern list and glob list lengths");
+        }
+        this.length = patternList.length;
+        if (index < 0 || index >= this.length) {
+          throw new TypeError("index out of range");
+        }
+        this.#patternList = patternList;
+        this.#globList = globList;
+        this.#index = index;
+        this.#platform = platform;
+        if (this.#index === 0) {
+          if (this.isUNC()) {
+            const [p0, p1, p2, p3, ...prest] = this.#patternList;
+            const [g0, g1, g2, g3, ...grest] = this.#globList;
+            if (prest[0] === "") {
+              prest.shift();
+              grest.shift();
+            }
+            const p = [p0, p1, p2, p3, ""].join("/");
+            const g = [g0, g1, g2, g3, ""].join("/");
+            this.#patternList = [p, ...prest];
+            this.#globList = [g, ...grest];
+            this.length = this.#patternList.length;
+          } else if (this.isDrive() || this.isAbsolute()) {
+            const [p1, ...prest] = this.#patternList;
+            const [g1, ...grest] = this.#globList;
+            if (prest[0] === "") {
+              prest.shift();
+              grest.shift();
             }
+            const p = p1 + "/";
+            const g = g1 + "/";
+            this.#patternList = [p, ...prest];
+            this.#globList = [g, ...grest];
+            this.length = this.#patternList.length;
           }
-        });
-      }
-      var dir = consoleFunc("dir");
-      function doWhilst(iteratee, test, callback) {
-        callback = onlyOnce(callback);
-        var _fn = wrapAsync(iteratee);
-        var _test = wrapAsync(test);
-        var results;
-        function next(err, ...args) {
-          if (err) return callback(err);
-          if (err === false) return;
-          results = args;
-          _test(...args, check);
-        }
-        function check(err, truth) {
-          if (err) return callback(err);
-          if (err === false) return;
-          if (!truth) return callback(null, ...results);
-          _fn(next);
         }
-        return check(null, true);
       }
-      var doWhilst$1 = awaitify(doWhilst, 3);
-      function doUntil(iteratee, test, callback) {
-        const _test = wrapAsync(test);
-        return doWhilst$1(iteratee, (...args) => {
-          const cb = args.pop();
-          _test(...args, (err, truth) => cb(err, !truth));
-        }, callback);
+      /**
+       * The first entry in the parsed list of patterns
+       */
+      pattern() {
+        return this.#patternList[this.#index];
       }
-      function _withoutIndex(iteratee) {
-        return (value, index2, callback) => iteratee(value, callback);
+      /**
+       * true of if pattern() returns a string
+       */
+      isString() {
+        return typeof this.#patternList[this.#index] === "string";
       }
-      function eachLimit$2(coll, iteratee, callback) {
-        return eachOf$1(coll, _withoutIndex(wrapAsync(iteratee)), callback);
+      /**
+       * true of if pattern() returns GLOBSTAR
+       */
+      isGlobstar() {
+        return this.#patternList[this.#index] === minimatch_1.GLOBSTAR;
       }
-      var each = awaitify(eachLimit$2, 3);
-      function eachLimit(coll, limit, iteratee, callback) {
-        return eachOfLimit$2(limit)(coll, _withoutIndex(wrapAsync(iteratee)), callback);
+      /**
+       * true if pattern() returns a regexp
+       */
+      isRegExp() {
+        return this.#patternList[this.#index] instanceof RegExp;
       }
-      var eachLimit$1 = awaitify(eachLimit, 4);
-      function eachSeries(coll, iteratee, callback) {
-        return eachLimit$1(coll, 1, iteratee, callback);
+      /**
+       * The /-joined set of glob parts that make up this pattern
+       */
+      globString() {
+        return this.#globString = this.#globString || (this.#index === 0 ? this.isAbsolute() ? this.#globList[0] + this.#globList.slice(1).join("/") : this.#globList.join("/") : this.#globList.slice(this.#index).join("/"));
       }
-      var eachSeries$1 = awaitify(eachSeries, 3);
-      function ensureAsync(fn) {
-        if (isAsync(fn)) return fn;
-        return function(...args) {
-          var callback = args.pop();
-          var sync = true;
-          args.push((...innerArgs) => {
-            if (sync) {
-              setImmediate$1(() => callback(...innerArgs));
-            } else {
-              callback(...innerArgs);
-            }
-          });
-          fn.apply(this, args);
-          sync = false;
-        };
+      /**
+       * true if there are more pattern parts after this one
+       */
+      hasMore() {
+        return this.length > this.#index + 1;
       }
-      function every(coll, iteratee, callback) {
-        return _createTester((bool2) => !bool2, (res) => !res)(eachOf$1, coll, iteratee, callback);
+      /**
+       * The rest of the pattern after this part, or null if this is the end
+       */
+      rest() {
+        if (this.#rest !== void 0)
+          return this.#rest;
+        if (!this.hasMore())
+          return this.#rest = null;
+        this.#rest = new _Pattern(this.#patternList, this.#globList, this.#index + 1, this.#platform);
+        this.#rest.#isAbsolute = this.#isAbsolute;
+        this.#rest.#isUNC = this.#isUNC;
+        this.#rest.#isDrive = this.#isDrive;
+        return this.#rest;
       }
-      var every$1 = awaitify(every, 3);
-      function everyLimit(coll, limit, iteratee, callback) {
-        return _createTester((bool2) => !bool2, (res) => !res)(eachOfLimit$2(limit), coll, iteratee, callback);
+      /**
+       * true if the pattern represents a //unc/path/ on windows
+       */
+      isUNC() {
+        const pl = this.#patternList;
+        return this.#isUNC !== void 0 ? this.#isUNC : this.#isUNC = this.#platform === "win32" && this.#index === 0 && pl[0] === "" && pl[1] === "" && typeof pl[2] === "string" && !!pl[2] && typeof pl[3] === "string" && !!pl[3];
       }
-      var everyLimit$1 = awaitify(everyLimit, 4);
-      function everySeries(coll, iteratee, callback) {
-        return _createTester((bool2) => !bool2, (res) => !res)(eachOfSeries$1, coll, iteratee, callback);
+      // pattern like C:/...
+      // split = ['C:', ...]
+      // XXX: would be nice to handle patterns like `c:*` to test the cwd
+      // in c: for *, but I don't know of a way to even figure out what that
+      // cwd is without actually chdir'ing into it?
+      /**
+       * True if the pattern starts with a drive letter on Windows
+       */
+      isDrive() {
+        const pl = this.#patternList;
+        return this.#isDrive !== void 0 ? this.#isDrive : this.#isDrive = this.#platform === "win32" && this.#index === 0 && this.length > 1 && typeof pl[0] === "string" && /^[a-z]:$/i.test(pl[0]);
       }
-      var everySeries$1 = awaitify(everySeries, 3);
-      function filterArray(eachfn, arr, iteratee, callback) {
-        var truthValues = new Array(arr.length);
-        eachfn(arr, (x, index2, iterCb) => {
-          iteratee(x, (err, v) => {
-            truthValues[index2] = !!v;
-            iterCb(err);
-          });
-        }, (err) => {
-          if (err) return callback(err);
-          var results = [];
-          for (var i = 0; i < arr.length; i++) {
-            if (truthValues[i]) results.push(arr[i]);
-          }
-          callback(null, results);
-        });
+      // pattern = '/' or '/...' or '/x/...'
+      // split = ['', ''] or ['', ...] or ['', 'x', ...]
+      // Drive and UNC both considered absolute on windows
+      /**
+       * True if the pattern is rooted on an absolute path
+       */
+      isAbsolute() {
+        const pl = this.#patternList;
+        return this.#isAbsolute !== void 0 ? this.#isAbsolute : this.#isAbsolute = pl[0] === "" && pl.length > 1 || this.isDrive() || this.isUNC();
       }
-      function filterGeneric(eachfn, coll, iteratee, callback) {
-        var results = [];
-        eachfn(coll, (x, index2, iterCb) => {
-          iteratee(x, (err, v) => {
-            if (err) return iterCb(err);
-            if (v) {
-              results.push({ index: index2, value: x });
-            }
-            iterCb(err);
-          });
-        }, (err) => {
-          if (err) return callback(err);
-          callback(null, results.sort((a, b) => a.index - b.index).map((v) => v.value));
-        });
+      /**
+       * consume the root of the pattern, and return it
+       */
+      root() {
+        const p = this.#patternList[0];
+        return typeof p === "string" && this.isAbsolute() && this.#index === 0 ? p : "";
       }
-      function _filter(eachfn, coll, iteratee, callback) {
-        var filter2 = isArrayLike(coll) ? filterArray : filterGeneric;
-        return filter2(eachfn, coll, wrapAsync(iteratee), callback);
+      /**
+       * Check to see if the current globstar pattern is allowed to follow
+       * a symbolic link.
+       */
+      checkFollowGlobstar() {
+        return !(this.#index === 0 || !this.isGlobstar() || !this.#followGlobstar);
       }
-      function filter(coll, iteratee, callback) {
-        return _filter(eachOf$1, coll, iteratee, callback);
+      /**
+       * Mark that the current globstar pattern is following a symbolic link
+       */
+      markFollowGlobstar() {
+        if (this.#index === 0 || !this.isGlobstar() || !this.#followGlobstar)
+          return false;
+        this.#followGlobstar = false;
+        return true;
       }
-      var filter$1 = awaitify(filter, 3);
-      function filterLimit(coll, limit, iteratee, callback) {
-        return _filter(eachOfLimit$2(limit), coll, iteratee, callback);
+    };
+    exports2.Pattern = Pattern;
+  }
+});
+
+// node_modules/glob/dist/commonjs/ignore.js
+var require_ignore = __commonJS({
+  "node_modules/glob/dist/commonjs/ignore.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Ignore = void 0;
+    var minimatch_1 = require_commonjs20();
+    var pattern_js_1 = require_pattern();
+    var defaultPlatform = typeof process === "object" && process && typeof process.platform === "string" ? process.platform : "linux";
+    var Ignore = class {
+      relative;
+      relativeChildren;
+      absolute;
+      absoluteChildren;
+      platform;
+      mmopts;
+      constructor(ignored, { nobrace, nocase, noext, noglobstar, platform = defaultPlatform }) {
+        this.relative = [];
+        this.absolute = [];
+        this.relativeChildren = [];
+        this.absoluteChildren = [];
+        this.platform = platform;
+        this.mmopts = {
+          dot: true,
+          nobrace,
+          nocase,
+          noext,
+          noglobstar,
+          optimizationLevel: 2,
+          platform,
+          nocomment: true,
+          nonegate: true
+        };
+        for (const ign of ignored)
+          this.add(ign);
       }
-      var filterLimit$1 = awaitify(filterLimit, 4);
-      function filterSeries(coll, iteratee, callback) {
-        return _filter(eachOfSeries$1, coll, iteratee, callback);
+      add(ign) {
+        const mm = new minimatch_1.Minimatch(ign, this.mmopts);
+        for (let i = 0; i < mm.set.length; i++) {
+          const parsed = mm.set[i];
+          const globParts = mm.globParts[i];
+          if (!parsed || !globParts) {
+            throw new Error("invalid pattern object");
+          }
+          while (parsed[0] === "." && globParts[0] === ".") {
+            parsed.shift();
+            globParts.shift();
+          }
+          const p = new pattern_js_1.Pattern(parsed, globParts, 0, this.platform);
+          const m = new minimatch_1.Minimatch(p.globString(), this.mmopts);
+          const children = globParts[globParts.length - 1] === "**";
+          const absolute = p.isAbsolute();
+          if (absolute)
+            this.absolute.push(m);
+          else
+            this.relative.push(m);
+          if (children) {
+            if (absolute)
+              this.absoluteChildren.push(m);
+            else
+              this.relativeChildren.push(m);
+          }
+        }
       }
-      var filterSeries$1 = awaitify(filterSeries, 3);
-      function forever(fn, errback) {
-        var done = onlyOnce(errback);
-        var task = wrapAsync(ensureAsync(fn));
-        function next(err) {
-          if (err) return done(err);
-          if (err === false) return;
-          task(next);
+      ignored(p) {
+        const fullpath = p.fullpath();
+        const fullpaths = `${fullpath}/`;
+        const relative = p.relative() || ".";
+        const relatives = `${relative}/`;
+        for (const m of this.relative) {
+          if (m.match(relative) || m.match(relatives))
+            return true;
         }
-        return next();
+        for (const m of this.absolute) {
+          if (m.match(fullpath) || m.match(fullpaths))
+            return true;
+        }
+        return false;
       }
-      var forever$1 = awaitify(forever, 2);
-      function groupByLimit(coll, limit, iteratee, callback) {
-        var _iteratee = wrapAsync(iteratee);
-        return mapLimit$1(coll, limit, (val, iterCb) => {
-          _iteratee(val, (err, key) => {
-            if (err) return iterCb(err);
-            return iterCb(err, { key, val });
-          });
-        }, (err, mapResults) => {
-          var result = {};
-          var { hasOwnProperty } = Object.prototype;
-          for (var i = 0; i < mapResults.length; i++) {
-            if (mapResults[i]) {
-              var { key } = mapResults[i];
-              var { val } = mapResults[i];
-              if (hasOwnProperty.call(result, key)) {
-                result[key].push(val);
-              } else {
-                result[key] = [val];
-              }
-            }
-          }
-          return callback(err, result);
-        });
+      childrenIgnored(p) {
+        const fullpath = p.fullpath() + "/";
+        const relative = (p.relative() || ".") + "/";
+        for (const m of this.relativeChildren) {
+          if (m.match(relative))
+            return true;
+        }
+        for (const m of this.absoluteChildren) {
+          if (m.match(fullpath))
+            return true;
+        }
+        return false;
       }
-      var groupByLimit$1 = awaitify(groupByLimit, 4);
-      function groupBy(coll, iteratee, callback) {
-        return groupByLimit$1(coll, Infinity, iteratee, callback);
+    };
+    exports2.Ignore = Ignore;
+  }
+});
+
+// node_modules/glob/dist/commonjs/processor.js
+var require_processor = __commonJS({
+  "node_modules/glob/dist/commonjs/processor.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Processor = exports2.SubWalks = exports2.MatchRecord = exports2.HasWalkedCache = void 0;
+    var minimatch_1 = require_commonjs20();
+    var HasWalkedCache = class _HasWalkedCache {
+      store;
+      constructor(store = /* @__PURE__ */ new Map()) {
+        this.store = store;
       }
-      function groupBySeries(coll, iteratee, callback) {
-        return groupByLimit$1(coll, 1, iteratee, callback);
+      copy() {
+        return new _HasWalkedCache(new Map(this.store));
       }
-      var log = consoleFunc("log");
-      function mapValuesLimit(obj, limit, iteratee, callback) {
-        callback = once(callback);
-        var newObj = {};
-        var _iteratee = wrapAsync(iteratee);
-        return eachOfLimit$2(limit)(obj, (val, key, next) => {
-          _iteratee(val, key, (err, result) => {
-            if (err) return next(err);
-            newObj[key] = result;
-            next(err);
-          });
-        }, (err) => callback(err, newObj));
+      hasWalked(target, pattern) {
+        return this.store.get(target.fullpath())?.has(pattern.globString());
       }
-      var mapValuesLimit$1 = awaitify(mapValuesLimit, 4);
-      function mapValues(obj, iteratee, callback) {
-        return mapValuesLimit$1(obj, Infinity, iteratee, callback);
+      storeWalked(target, pattern) {
+        const fullpath = target.fullpath();
+        const cached = this.store.get(fullpath);
+        if (cached)
+          cached.add(pattern.globString());
+        else
+          this.store.set(fullpath, /* @__PURE__ */ new Set([pattern.globString()]));
       }
-      function mapValuesSeries(obj, iteratee, callback) {
-        return mapValuesLimit$1(obj, 1, iteratee, callback);
+    };
+    exports2.HasWalkedCache = HasWalkedCache;
+    var MatchRecord = class {
+      store = /* @__PURE__ */ new Map();
+      add(target, absolute, ifDir) {
+        const n = (absolute ? 2 : 0) | (ifDir ? 1 : 0);
+        const current = this.store.get(target);
+        this.store.set(target, current === void 0 ? n : n & current);
       }
-      function memoize(fn, hasher = (v) => v) {
-        var memo = /* @__PURE__ */ Object.create(null);
-        var queues = /* @__PURE__ */ Object.create(null);
-        var _fn = wrapAsync(fn);
-        var memoized = initialParams((args, callback) => {
-          var key = hasher(...args);
-          if (key in memo) {
-            setImmediate$1(() => callback(null, ...memo[key]));
-          } else if (key in queues) {
-            queues[key].push(callback);
-          } else {
-            queues[key] = [callback];
-            _fn(...args, (err, ...resultArgs) => {
-              if (!err) {
-                memo[key] = resultArgs;
-              }
-              var q = queues[key];
-              delete queues[key];
-              for (var i = 0, l = q.length; i < l; i++) {
-                q[i](err, ...resultArgs);
-              }
-            });
+      // match, absolute, ifdir
+      entries() {
+        return [...this.store.entries()].map(([path3, n]) => [
+          path3,
+          !!(n & 2),
+          !!(n & 1)
+        ]);
+      }
+    };
+    exports2.MatchRecord = MatchRecord;
+    var SubWalks = class {
+      store = /* @__PURE__ */ new Map();
+      add(target, pattern) {
+        if (!target.canReaddir()) {
+          return;
+        }
+        const subs = this.store.get(target);
+        if (subs) {
+          if (!subs.find((p) => p.globString() === pattern.globString())) {
+            subs.push(pattern);
           }
-        });
-        memoized.memo = memo;
-        memoized.unmemoized = fn;
-        return memoized;
+        } else
+          this.store.set(target, [pattern]);
       }
-      var _defer;
-      if (hasNextTick) {
-        _defer = process.nextTick;
-      } else if (hasSetImmediate) {
-        _defer = setImmediate;
-      } else {
-        _defer = fallback;
+      get(target) {
+        const subs = this.store.get(target);
+        if (!subs) {
+          throw new Error("attempting to walk unknown path");
+        }
+        return subs;
       }
-      var nextTick = wrap(_defer);
-      var _parallel = awaitify((eachfn, tasks, callback) => {
-        var results = isArrayLike(tasks) ? [] : {};
-        eachfn(tasks, (task, key, taskCb) => {
-          wrapAsync(task)((err, ...result) => {
-            if (result.length < 2) {
-              [result] = result;
+      entries() {
+        return this.keys().map((k) => [k, this.store.get(k)]);
+      }
+      keys() {
+        return [...this.store.keys()].filter((t) => t.canReaddir());
+      }
+    };
+    exports2.SubWalks = SubWalks;
+    var Processor = class _Processor {
+      hasWalkedCache;
+      matches = new MatchRecord();
+      subwalks = new SubWalks();
+      patterns;
+      follow;
+      dot;
+      opts;
+      constructor(opts, hasWalkedCache) {
+        this.opts = opts;
+        this.follow = !!opts.follow;
+        this.dot = !!opts.dot;
+        this.hasWalkedCache = hasWalkedCache ? hasWalkedCache.copy() : new HasWalkedCache();
+      }
+      processPatterns(target, patterns) {
+        this.patterns = patterns;
+        const processingSet = patterns.map((p) => [target, p]);
+        for (let [t, pattern] of processingSet) {
+          this.hasWalkedCache.storeWalked(t, pattern);
+          const root = pattern.root();
+          const absolute = pattern.isAbsolute() && this.opts.absolute !== false;
+          if (root) {
+            t = t.resolve(root === "/" && this.opts.root !== void 0 ? this.opts.root : root);
+            const rest2 = pattern.rest();
+            if (!rest2) {
+              this.matches.add(t, true, false);
+              continue;
+            } else {
+              pattern = rest2;
+            }
+          }
+          if (t.isENOENT())
+            continue;
+          let p;
+          let rest;
+          let changed = false;
+          while (typeof (p = pattern.pattern()) === "string" && (rest = pattern.rest())) {
+            const c = t.resolve(p);
+            t = c;
+            pattern = rest;
+            changed = true;
+          }
+          p = pattern.pattern();
+          rest = pattern.rest();
+          if (changed) {
+            if (this.hasWalkedCache.hasWalked(t, pattern))
+              continue;
+            this.hasWalkedCache.storeWalked(t, pattern);
+          }
+          if (typeof p === "string") {
+            const ifDir = p === ".." || p === "" || p === ".";
+            this.matches.add(t.resolve(p), absolute, ifDir);
+            continue;
+          } else if (p === minimatch_1.GLOBSTAR) {
+            if (!t.isSymbolicLink() || this.follow || pattern.checkFollowGlobstar()) {
+              this.subwalks.add(t, pattern);
             }
-            results[key] = result;
-            taskCb(err);
-          });
-        }, (err) => callback(err, results));
-      }, 3);
-      function parallel(tasks, callback) {
-        return _parallel(eachOf$1, tasks, callback);
+            const rp = rest?.pattern();
+            const rrest = rest?.rest();
+            if (!rest || (rp === "" || rp === ".") && !rrest) {
+              this.matches.add(t, absolute, rp === "" || rp === ".");
+            } else {
+              if (rp === "..") {
+                const tp = t.parent || t;
+                if (!rrest)
+                  this.matches.add(tp, absolute, true);
+                else if (!this.hasWalkedCache.hasWalked(tp, rrest)) {
+                  this.subwalks.add(tp, rrest);
+                }
+              }
+            }
+          } else if (p instanceof RegExp) {
+            this.subwalks.add(t, pattern);
+          }
+        }
+        return this;
       }
-      function parallelLimit(tasks, limit, callback) {
-        return _parallel(eachOfLimit$2(limit), tasks, callback);
+      subwalkTargets() {
+        return this.subwalks.keys();
       }
-      function queue(worker, concurrency) {
-        var _worker = wrapAsync(worker);
-        return queue$1((items, cb) => {
-          _worker(items[0], cb);
-        }, concurrency, 1);
+      child() {
+        return new _Processor(this.opts, this.hasWalkedCache);
       }
-      class Heap {
-        constructor() {
-          this.heap = [];
-          this.pushCount = Number.MIN_SAFE_INTEGER;
-        }
-        get length() {
-          return this.heap.length;
-        }
-        empty() {
-          this.heap = [];
-          return this;
-        }
-        percUp(index2) {
-          let p;
-          while (index2 > 0 && smaller(this.heap[index2], this.heap[p = parent(index2)])) {
-            let t = this.heap[index2];
-            this.heap[index2] = this.heap[p];
-            this.heap[p] = t;
-            index2 = p;
+      // return a new Processor containing the subwalks for each
+      // child entry, and a set of matches, and
+      // a hasWalkedCache that's a copy of this one
+      // then we're going to call
+      filterEntries(parent, entries) {
+        const patterns = this.subwalks.get(parent);
+        const results = this.child();
+        for (const e of entries) {
+          for (const pattern of patterns) {
+            const absolute = pattern.isAbsolute();
+            const p = pattern.pattern();
+            const rest = pattern.rest();
+            if (p === minimatch_1.GLOBSTAR) {
+              results.testGlobstar(e, pattern, rest, absolute);
+            } else if (p instanceof RegExp) {
+              results.testRegExp(e, p, rest, absolute);
+            } else {
+              results.testString(e, p, rest, absolute);
+            }
           }
         }
-        percDown(index2) {
-          let l;
-          while ((l = leftChi(index2)) < this.heap.length) {
-            if (l + 1 < this.heap.length && smaller(this.heap[l + 1], this.heap[l])) {
-              l = l + 1;
-            }
-            if (smaller(this.heap[index2], this.heap[l])) {
-              break;
+        return results;
+      }
+      testGlobstar(e, pattern, rest, absolute) {
+        if (this.dot || !e.name.startsWith(".")) {
+          if (!pattern.hasMore()) {
+            this.matches.add(e, absolute, false);
+          }
+          if (e.canReaddir()) {
+            if (this.follow || !e.isSymbolicLink()) {
+              this.subwalks.add(e, pattern);
+            } else if (e.isSymbolicLink()) {
+              if (rest && pattern.checkFollowGlobstar()) {
+                this.subwalks.add(e, rest);
+              } else if (pattern.markFollowGlobstar()) {
+                this.subwalks.add(e, pattern);
+              }
             }
-            let t = this.heap[index2];
-            this.heap[index2] = this.heap[l];
-            this.heap[l] = t;
-            index2 = l;
           }
         }
-        push(node) {
-          node.pushCount = ++this.pushCount;
-          this.heap.push(node);
-          this.percUp(this.heap.length - 1);
-        }
-        unshift(node) {
-          return this.heap.push(node);
+        if (rest) {
+          const rp = rest.pattern();
+          if (typeof rp === "string" && // dots and empty were handled already
+          rp !== ".." && rp !== "" && rp !== ".") {
+            this.testString(e, rp, rest.rest(), absolute);
+          } else if (rp === "..") {
+            const ep = e.parent || e;
+            this.subwalks.add(ep, rest);
+          } else if (rp instanceof RegExp) {
+            this.testRegExp(e, rp, rest.rest(), absolute);
+          }
         }
-        shift() {
-          let [top] = this.heap;
-          this.heap[0] = this.heap[this.heap.length - 1];
-          this.heap.pop();
-          this.percDown(0);
-          return top;
+      }
+      testRegExp(e, p, rest, absolute) {
+        if (!p.test(e.name))
+          return;
+        if (!rest) {
+          this.matches.add(e, absolute, false);
+        } else {
+          this.subwalks.add(e, rest);
         }
-        toArray() {
-          return [...this];
+      }
+      testString(e, p, rest, absolute) {
+        if (!e.isNamed(p))
+          return;
+        if (!rest) {
+          this.matches.add(e, absolute, false);
+        } else {
+          this.subwalks.add(e, rest);
         }
-        *[Symbol.iterator]() {
-          for (let i = 0; i < this.heap.length; i++) {
-            yield this.heap[i].data;
+      }
+    };
+    exports2.Processor = Processor;
+  }
+});
+
+// node_modules/glob/dist/commonjs/walker.js
+var require_walker = __commonJS({
+  "node_modules/glob/dist/commonjs/walker.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.GlobStream = exports2.GlobWalker = exports2.GlobUtil = void 0;
+    var minipass_1 = require_commonjs22();
+    var ignore_js_1 = require_ignore();
+    var processor_js_1 = require_processor();
+    var makeIgnore = (ignore, opts) => typeof ignore === "string" ? new ignore_js_1.Ignore([ignore], opts) : Array.isArray(ignore) ? new ignore_js_1.Ignore(ignore, opts) : ignore;
+    var GlobUtil = class {
+      path;
+      patterns;
+      opts;
+      seen = /* @__PURE__ */ new Set();
+      paused = false;
+      aborted = false;
+      #onResume = [];
+      #ignore;
+      #sep;
+      signal;
+      maxDepth;
+      includeChildMatches;
+      constructor(patterns, path3, opts) {
+        this.patterns = patterns;
+        this.path = path3;
+        this.opts = opts;
+        this.#sep = !opts.posix && opts.platform === "win32" ? "\\" : "/";
+        this.includeChildMatches = opts.includeChildMatches !== false;
+        if (opts.ignore || !this.includeChildMatches) {
+          this.#ignore = makeIgnore(opts.ignore ?? [], opts);
+          if (!this.includeChildMatches && typeof this.#ignore.add !== "function") {
+            const m = "cannot ignore child matches, ignore lacks add() method.";
+            throw new Error(m);
           }
         }
-        remove(testFn) {
-          let j = 0;
-          for (let i = 0; i < this.heap.length; i++) {
-            if (!testFn(this.heap[i])) {
-              this.heap[j] = this.heap[i];
-              j++;
-            }
-          }
-          this.heap.splice(j);
-          for (let i = parent(this.heap.length - 1); i >= 0; i--) {
-            this.percDown(i);
-          }
-          return this;
+        this.maxDepth = opts.maxDepth || Infinity;
+        if (opts.signal) {
+          this.signal = opts.signal;
+          this.signal.addEventListener("abort", () => {
+            this.#onResume.length = 0;
+          });
         }
       }
-      function leftChi(i) {
-        return (i << 1) + 1;
+      #ignored(path3) {
+        return this.seen.has(path3) || !!this.#ignore?.ignored?.(path3);
       }
-      function parent(i) {
-        return (i + 1 >> 1) - 1;
+      #childrenIgnored(path3) {
+        return !!this.#ignore?.childrenIgnored?.(path3);
       }
-      function smaller(x, y) {
-        if (x.priority !== y.priority) {
-          return x.priority < y.priority;
-        } else {
-          return x.pushCount < y.pushCount;
+      // backpressure mechanism
+      pause() {
+        this.paused = true;
+      }
+      resume() {
+        if (this.signal?.aborted)
+          return;
+        this.paused = false;
+        let fn = void 0;
+        while (!this.paused && (fn = this.#onResume.shift())) {
+          fn();
         }
       }
-      function priorityQueue(worker, concurrency) {
-        var q = queue(worker, concurrency);
-        var {
-          push,
-          pushAsync
-        } = q;
-        q._tasks = new Heap();
-        q._createTaskItem = ({ data, priority }, callback) => {
-          return {
-            data,
-            priority,
-            callback
-          };
-        };
-        function createDataItems(tasks, priority) {
-          if (!Array.isArray(tasks)) {
-            return { data: tasks, priority };
-          }
-          return tasks.map((data) => {
-            return { data, priority };
-          });
+      onResume(fn) {
+        if (this.signal?.aborted)
+          return;
+        if (!this.paused) {
+          fn();
+        } else {
+          this.#onResume.push(fn);
         }
-        q.push = function(data, priority = 0, callback) {
-          return push(createDataItems(data, priority), callback);
-        };
-        q.pushAsync = function(data, priority = 0, callback) {
-          return pushAsync(createDataItems(data, priority), callback);
-        };
-        delete q.unshift;
-        delete q.unshiftAsync;
-        return q;
       }
-      function race(tasks, callback) {
-        callback = once(callback);
-        if (!Array.isArray(tasks)) return callback(new TypeError("First argument to race must be an array of functions"));
-        if (!tasks.length) return callback();
-        for (var i = 0, l = tasks.length; i < l; i++) {
-          wrapAsync(tasks[i])(callback);
+      // do the requisite realpath/stat checking, and return the path
+      // to add or undefined to filter it out.
+      async matchCheck(e, ifDir) {
+        if (ifDir && this.opts.nodir)
+          return void 0;
+        let rpc;
+        if (this.opts.realpath) {
+          rpc = e.realpathCached() || await e.realpath();
+          if (!rpc)
+            return void 0;
+          e = rpc;
+        }
+        const needStat = e.isUnknown() || this.opts.stat;
+        const s = needStat ? await e.lstat() : e;
+        if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) {
+          const target = await s.realpath();
+          if (target && (target.isUnknown() || this.opts.stat)) {
+            await target.lstat();
+          }
         }
+        return this.matchCheckTest(s, ifDir);
       }
-      var race$1 = awaitify(race, 2);
-      function reduceRight(array, memo, iteratee, callback) {
-        var reversed = [...array].reverse();
-        return reduce$1(reversed, memo, iteratee, callback);
+      matchCheckTest(e, ifDir) {
+        return e && (this.maxDepth === Infinity || e.depth() <= this.maxDepth) && (!ifDir || e.canReaddir()) && (!this.opts.nodir || !e.isDirectory()) && (!this.opts.nodir || !this.opts.follow || !e.isSymbolicLink() || !e.realpathCached()?.isDirectory()) && !this.#ignored(e) ? e : void 0;
       }
-      function reflect(fn) {
-        var _fn = wrapAsync(fn);
-        return initialParams(function reflectOn(args, reflectCallback) {
-          args.push((error3, ...cbArgs) => {
-            let retVal = {};
-            if (error3) {
-              retVal.error = error3;
-            }
-            if (cbArgs.length > 0) {
-              var value = cbArgs;
-              if (cbArgs.length <= 1) {
-                [value] = cbArgs;
-              }
-              retVal.value = value;
-            }
-            reflectCallback(null, retVal);
-          });
-          return _fn.apply(this, args);
-        });
+      matchCheckSync(e, ifDir) {
+        if (ifDir && this.opts.nodir)
+          return void 0;
+        let rpc;
+        if (this.opts.realpath) {
+          rpc = e.realpathCached() || e.realpathSync();
+          if (!rpc)
+            return void 0;
+          e = rpc;
+        }
+        const needStat = e.isUnknown() || this.opts.stat;
+        const s = needStat ? e.lstatSync() : e;
+        if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) {
+          const target = s.realpathSync();
+          if (target && (target?.isUnknown() || this.opts.stat)) {
+            target.lstatSync();
+          }
+        }
+        return this.matchCheckTest(s, ifDir);
       }
-      function reflectAll(tasks) {
-        var results;
-        if (Array.isArray(tasks)) {
-          results = tasks.map(reflect);
+      matchFinish(e, absolute) {
+        if (this.#ignored(e))
+          return;
+        if (!this.includeChildMatches && this.#ignore?.add) {
+          const ign = `${e.relativePosix()}/**`;
+          this.#ignore.add(ign);
+        }
+        const abs = this.opts.absolute === void 0 ? absolute : this.opts.absolute;
+        this.seen.add(e);
+        const mark = this.opts.mark && e.isDirectory() ? this.#sep : "";
+        if (this.opts.withFileTypes) {
+          this.matchEmit(e);
+        } else if (abs) {
+          const abs2 = this.opts.posix ? e.fullpathPosix() : e.fullpath();
+          this.matchEmit(abs2 + mark);
         } else {
-          results = {};
-          Object.keys(tasks).forEach((key) => {
-            results[key] = reflect.call(this, tasks[key]);
-          });
+          const rel = this.opts.posix ? e.relativePosix() : e.relative();
+          const pre = this.opts.dotRelative && !rel.startsWith(".." + this.#sep) ? "." + this.#sep : "";
+          this.matchEmit(!rel ? "." + mark : pre + rel + mark);
         }
-        return results;
       }
-      function reject$2(eachfn, arr, _iteratee, callback) {
-        const iteratee = wrapAsync(_iteratee);
-        return _filter(eachfn, arr, (value, cb) => {
-          iteratee(value, (err, v) => {
-            cb(err, !v);
-          });
-        }, callback);
+      async match(e, absolute, ifDir) {
+        const p = await this.matchCheck(e, ifDir);
+        if (p)
+          this.matchFinish(p, absolute);
       }
-      function reject(coll, iteratee, callback) {
-        return reject$2(eachOf$1, coll, iteratee, callback);
+      matchSync(e, absolute, ifDir) {
+        const p = this.matchCheckSync(e, ifDir);
+        if (p)
+          this.matchFinish(p, absolute);
       }
-      var reject$1 = awaitify(reject, 3);
-      function rejectLimit(coll, limit, iteratee, callback) {
-        return reject$2(eachOfLimit$2(limit), coll, iteratee, callback);
+      walkCB(target, patterns, cb) {
+        if (this.signal?.aborted)
+          cb();
+        this.walkCB2(target, patterns, new processor_js_1.Processor(this.opts), cb);
       }
-      var rejectLimit$1 = awaitify(rejectLimit, 4);
-      function rejectSeries(coll, iteratee, callback) {
-        return reject$2(eachOfSeries$1, coll, iteratee, callback);
+      walkCB2(target, patterns, processor, cb) {
+        if (this.#childrenIgnored(target))
+          return cb();
+        if (this.signal?.aborted)
+          cb();
+        if (this.paused) {
+          this.onResume(() => this.walkCB2(target, patterns, processor, cb));
+          return;
+        }
+        processor.processPatterns(target, patterns);
+        let tasks = 1;
+        const next = () => {
+          if (--tasks === 0)
+            cb();
+        };
+        for (const [m, absolute, ifDir] of processor.matches.entries()) {
+          if (this.#ignored(m))
+            continue;
+          tasks++;
+          this.match(m, absolute, ifDir).then(() => next());
+        }
+        for (const t of processor.subwalkTargets()) {
+          if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {
+            continue;
+          }
+          tasks++;
+          const childrenCached = t.readdirCached();
+          if (t.calledReaddir())
+            this.walkCB3(t, childrenCached, processor, next);
+          else {
+            t.readdirCB((_2, entries) => this.walkCB3(t, entries, processor, next), true);
+          }
+        }
+        next();
       }
-      var rejectSeries$1 = awaitify(rejectSeries, 3);
-      function constant(value) {
-        return function() {
-          return value;
+      walkCB3(target, entries, processor, cb) {
+        processor = processor.filterEntries(target, entries);
+        let tasks = 1;
+        const next = () => {
+          if (--tasks === 0)
+            cb();
+        };
+        for (const [m, absolute, ifDir] of processor.matches.entries()) {
+          if (this.#ignored(m))
+            continue;
+          tasks++;
+          this.match(m, absolute, ifDir).then(() => next());
+        }
+        for (const [target2, patterns] of processor.subwalks.entries()) {
+          tasks++;
+          this.walkCB2(target2, patterns, processor.child(), next);
+        }
+        next();
+      }
+      walkCBSync(target, patterns, cb) {
+        if (this.signal?.aborted)
+          cb();
+        this.walkCB2Sync(target, patterns, new processor_js_1.Processor(this.opts), cb);
+      }
+      walkCB2Sync(target, patterns, processor, cb) {
+        if (this.#childrenIgnored(target))
+          return cb();
+        if (this.signal?.aborted)
+          cb();
+        if (this.paused) {
+          this.onResume(() => this.walkCB2Sync(target, patterns, processor, cb));
+          return;
+        }
+        processor.processPatterns(target, patterns);
+        let tasks = 1;
+        const next = () => {
+          if (--tasks === 0)
+            cb();
         };
+        for (const [m, absolute, ifDir] of processor.matches.entries()) {
+          if (this.#ignored(m))
+            continue;
+          this.matchSync(m, absolute, ifDir);
+        }
+        for (const t of processor.subwalkTargets()) {
+          if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {
+            continue;
+          }
+          tasks++;
+          const children = t.readdirSync();
+          this.walkCB3Sync(t, children, processor, next);
+        }
+        next();
       }
-      const DEFAULT_TIMES = 5;
-      const DEFAULT_INTERVAL = 0;
-      function retry2(opts, task, callback) {
-        var options = {
-          times: DEFAULT_TIMES,
-          intervalFunc: constant(DEFAULT_INTERVAL)
+      walkCB3Sync(target, entries, processor, cb) {
+        processor = processor.filterEntries(target, entries);
+        let tasks = 1;
+        const next = () => {
+          if (--tasks === 0)
+            cb();
         };
-        if (arguments.length < 3 && typeof opts === "function") {
-          callback = task || promiseCallback();
-          task = opts;
-        } else {
-          parseTimes(options, opts);
-          callback = callback || promiseCallback();
+        for (const [m, absolute, ifDir] of processor.matches.entries()) {
+          if (this.#ignored(m))
+            continue;
+          this.matchSync(m, absolute, ifDir);
         }
-        if (typeof task !== "function") {
-          throw new Error("Invalid arguments for async.retry");
+        for (const [target2, patterns] of processor.subwalks.entries()) {
+          tasks++;
+          this.walkCB2Sync(target2, patterns, processor.child(), next);
+        }
+        next();
+      }
+    };
+    exports2.GlobUtil = GlobUtil;
+    var GlobWalker = class extends GlobUtil {
+      matches = /* @__PURE__ */ new Set();
+      constructor(patterns, path3, opts) {
+        super(patterns, path3, opts);
+      }
+      matchEmit(e) {
+        this.matches.add(e);
+      }
+      async walk() {
+        if (this.signal?.aborted)
+          throw this.signal.reason;
+        if (this.path.isUnknown()) {
+          await this.path.lstat();
         }
-        var _task = wrapAsync(task);
-        var attempt = 1;
-        function retryAttempt() {
-          _task((err, ...args) => {
-            if (err === false) return;
-            if (err && attempt++ < options.times && (typeof options.errorFilter != "function" || options.errorFilter(err))) {
-              setTimeout(retryAttempt, options.intervalFunc(attempt - 1));
+        await new Promise((res, rej) => {
+          this.walkCB(this.path, this.patterns, () => {
+            if (this.signal?.aborted) {
+              rej(this.signal.reason);
             } else {
-              callback(err, ...args);
+              res(this.matches);
             }
           });
+        });
+        return this.matches;
+      }
+      walkSync() {
+        if (this.signal?.aborted)
+          throw this.signal.reason;
+        if (this.path.isUnknown()) {
+          this.path.lstatSync();
         }
-        retryAttempt();
-        return callback[PROMISE_SYMBOL];
+        this.walkCBSync(this.path, this.patterns, () => {
+          if (this.signal?.aborted)
+            throw this.signal.reason;
+        });
+        return this.matches;
       }
-      function parseTimes(acc, t) {
-        if (typeof t === "object") {
-          acc.times = +t.times || DEFAULT_TIMES;
-          acc.intervalFunc = typeof t.interval === "function" ? t.interval : constant(+t.interval || DEFAULT_INTERVAL);
-          acc.errorFilter = t.errorFilter;
-        } else if (typeof t === "number" || typeof t === "string") {
-          acc.times = +t || DEFAULT_TIMES;
+    };
+    exports2.GlobWalker = GlobWalker;
+    var GlobStream = class extends GlobUtil {
+      results;
+      constructor(patterns, path3, opts) {
+        super(patterns, path3, opts);
+        this.results = new minipass_1.Minipass({
+          signal: this.signal,
+          objectMode: true
+        });
+        this.results.on("drain", () => this.resume());
+        this.results.on("resume", () => this.resume());
+      }
+      matchEmit(e) {
+        this.results.write(e);
+        if (!this.results.flowing)
+          this.pause();
+      }
+      stream() {
+        const target = this.path;
+        if (target.isUnknown()) {
+          target.lstat().then(() => {
+            this.walkCB(target, this.patterns, () => this.results.end());
+          });
         } else {
-          throw new Error("Invalid arguments for async.retry");
+          this.walkCB(target, this.patterns, () => this.results.end());
         }
+        return this.results;
       }
-      function retryable(opts, task) {
-        if (!task) {
-          task = opts;
-          opts = null;
+      streamSync() {
+        if (this.path.isUnknown()) {
+          this.path.lstatSync();
         }
-        let arity = opts && opts.arity || task.length;
-        if (isAsync(task)) {
-          arity += 1;
+        this.walkCBSync(this.path, this.patterns, () => this.results.end());
+        return this.results;
+      }
+    };
+    exports2.GlobStream = GlobStream;
+  }
+});
+
+// node_modules/glob/dist/commonjs/glob.js
+var require_glob = __commonJS({
+  "node_modules/glob/dist/commonjs/glob.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Glob = void 0;
+    var minimatch_1 = require_commonjs20();
+    var node_url_1 = require("node:url");
+    var path_scurry_1 = require_commonjs23();
+    var pattern_js_1 = require_pattern();
+    var walker_js_1 = require_walker();
+    var defaultPlatform = typeof process === "object" && process && typeof process.platform === "string" ? process.platform : "linux";
+    var Glob = class {
+      absolute;
+      cwd;
+      root;
+      dot;
+      dotRelative;
+      follow;
+      ignore;
+      magicalBraces;
+      mark;
+      matchBase;
+      maxDepth;
+      nobrace;
+      nocase;
+      nodir;
+      noext;
+      noglobstar;
+      pattern;
+      platform;
+      realpath;
+      scurry;
+      stat;
+      signal;
+      windowsPathsNoEscape;
+      withFileTypes;
+      includeChildMatches;
+      /**
+       * The options provided to the constructor.
+       */
+      opts;
+      /**
+       * An array of parsed immutable {@link Pattern} objects.
+       */
+      patterns;
+      /**
+       * All options are stored as properties on the `Glob` object.
+       *
+       * See {@link GlobOptions} for full options descriptions.
+       *
+       * Note that a previous `Glob` object can be passed as the
+       * `GlobOptions` to another `Glob` instantiation to re-use settings
+       * and caches with a new pattern.
+       *
+       * Traversal functions can be called multiple times to run the walk
+       * again.
+       */
+      constructor(pattern, opts) {
+        if (!opts)
+          throw new TypeError("glob options required");
+        this.withFileTypes = !!opts.withFileTypes;
+        this.signal = opts.signal;
+        this.follow = !!opts.follow;
+        this.dot = !!opts.dot;
+        this.dotRelative = !!opts.dotRelative;
+        this.nodir = !!opts.nodir;
+        this.mark = !!opts.mark;
+        if (!opts.cwd) {
+          this.cwd = "";
+        } else if (opts.cwd instanceof URL || opts.cwd.startsWith("file://")) {
+          opts.cwd = (0, node_url_1.fileURLToPath)(opts.cwd);
         }
-        var _task = wrapAsync(task);
-        return initialParams((args, callback) => {
-          if (args.length < arity - 1 || callback == null) {
-            args.push(callback);
-            callback = promiseCallback();
+        this.cwd = opts.cwd || "";
+        this.root = opts.root;
+        this.magicalBraces = !!opts.magicalBraces;
+        this.nobrace = !!opts.nobrace;
+        this.noext = !!opts.noext;
+        this.realpath = !!opts.realpath;
+        this.absolute = opts.absolute;
+        this.includeChildMatches = opts.includeChildMatches !== false;
+        this.noglobstar = !!opts.noglobstar;
+        this.matchBase = !!opts.matchBase;
+        this.maxDepth = typeof opts.maxDepth === "number" ? opts.maxDepth : Infinity;
+        this.stat = !!opts.stat;
+        this.ignore = opts.ignore;
+        if (this.withFileTypes && this.absolute !== void 0) {
+          throw new Error("cannot set absolute and withFileTypes:true");
+        }
+        if (typeof pattern === "string") {
+          pattern = [pattern];
+        }
+        this.windowsPathsNoEscape = !!opts.windowsPathsNoEscape || opts.allowWindowsEscape === false;
+        if (this.windowsPathsNoEscape) {
+          pattern = pattern.map((p) => p.replace(/\\/g, "/"));
+        }
+        if (this.matchBase) {
+          if (opts.noglobstar) {
+            throw new TypeError("base matching requires globstar");
           }
-          function taskFn(cb) {
-            _task(...args, cb);
+          pattern = pattern.map((p) => p.includes("/") ? p : `./**/${p}`);
+        }
+        this.pattern = pattern;
+        this.platform = opts.platform || defaultPlatform;
+        this.opts = { ...opts, platform: this.platform };
+        if (opts.scurry) {
+          this.scurry = opts.scurry;
+          if (opts.nocase !== void 0 && opts.nocase !== opts.scurry.nocase) {
+            throw new Error("nocase option contradicts provided scurry option");
           }
-          if (opts) retry2(opts, taskFn, callback);
-          else retry2(taskFn, callback);
-          return callback[PROMISE_SYMBOL];
+        } else {
+          const Scurry = opts.platform === "win32" ? path_scurry_1.PathScurryWin32 : opts.platform === "darwin" ? path_scurry_1.PathScurryDarwin : opts.platform ? path_scurry_1.PathScurryPosix : path_scurry_1.PathScurry;
+          this.scurry = new Scurry(this.cwd, {
+            nocase: opts.nocase,
+            fs: opts.fs
+          });
+        }
+        this.nocase = this.scurry.nocase;
+        const nocaseMagicOnly = this.platform === "darwin" || this.platform === "win32";
+        const mmo = {
+          // default nocase based on platform
+          ...opts,
+          dot: this.dot,
+          matchBase: this.matchBase,
+          nobrace: this.nobrace,
+          nocase: this.nocase,
+          nocaseMagicOnly,
+          nocomment: true,
+          noext: this.noext,
+          nonegate: true,
+          optimizationLevel: 2,
+          platform: this.platform,
+          windowsPathsNoEscape: this.windowsPathsNoEscape,
+          debug: !!this.opts.debug
+        };
+        const mms = this.pattern.map((p) => new minimatch_1.Minimatch(p, mmo));
+        const [matchSet, globParts] = mms.reduce((set2, m) => {
+          set2[0].push(...m.set);
+          set2[1].push(...m.globParts);
+          return set2;
+        }, [[], []]);
+        this.patterns = matchSet.map((set2, i) => {
+          const g = globParts[i];
+          if (!g)
+            throw new Error("invalid pattern object");
+          return new pattern_js_1.Pattern(set2, g, 0, this.platform);
         });
       }
-      function series(tasks, callback) {
-        return _parallel(eachOfSeries$1, tasks, callback);
+      async walk() {
+        return [
+          ...await new walker_js_1.GlobWalker(this.patterns, this.scurry.cwd, {
+            ...this.opts,
+            maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
+            platform: this.platform,
+            nocase: this.nocase,
+            includeChildMatches: this.includeChildMatches
+          }).walk()
+        ];
       }
-      function some(coll, iteratee, callback) {
-        return _createTester(Boolean, (res) => res)(eachOf$1, coll, iteratee, callback);
+      walkSync() {
+        return [
+          ...new walker_js_1.GlobWalker(this.patterns, this.scurry.cwd, {
+            ...this.opts,
+            maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
+            platform: this.platform,
+            nocase: this.nocase,
+            includeChildMatches: this.includeChildMatches
+          }).walkSync()
+        ];
       }
-      var some$1 = awaitify(some, 3);
-      function someLimit(coll, limit, iteratee, callback) {
-        return _createTester(Boolean, (res) => res)(eachOfLimit$2(limit), coll, iteratee, callback);
+      stream() {
+        return new walker_js_1.GlobStream(this.patterns, this.scurry.cwd, {
+          ...this.opts,
+          maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
+          platform: this.platform,
+          nocase: this.nocase,
+          includeChildMatches: this.includeChildMatches
+        }).stream();
       }
-      var someLimit$1 = awaitify(someLimit, 4);
-      function someSeries(coll, iteratee, callback) {
-        return _createTester(Boolean, (res) => res)(eachOfSeries$1, coll, iteratee, callback);
+      streamSync() {
+        return new walker_js_1.GlobStream(this.patterns, this.scurry.cwd, {
+          ...this.opts,
+          maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
+          platform: this.platform,
+          nocase: this.nocase,
+          includeChildMatches: this.includeChildMatches
+        }).streamSync();
       }
-      var someSeries$1 = awaitify(someSeries, 3);
-      function sortBy(coll, iteratee, callback) {
-        var _iteratee = wrapAsync(iteratee);
-        return map$1(coll, (x, iterCb) => {
-          _iteratee(x, (err, criteria) => {
-            if (err) return iterCb(err);
-            iterCb(err, { value: x, criteria });
-          });
-        }, (err, results) => {
-          if (err) return callback(err);
-          callback(null, results.sort(comparator).map((v) => v.value));
-        });
-        function comparator(left, right) {
-          var a = left.criteria, b = right.criteria;
-          return a < b ? -1 : a > b ? 1 : 0;
-        }
+      /**
+       * Default sync iteration function. Returns a Generator that
+       * iterates over the results.
+       */
+      iterateSync() {
+        return this.streamSync()[Symbol.iterator]();
       }
-      var sortBy$1 = awaitify(sortBy, 3);
-      function timeout(asyncFn, milliseconds, info7) {
-        var fn = wrapAsync(asyncFn);
-        return initialParams((args, callback) => {
-          var timedOut = false;
-          var timer;
-          function timeoutCallback() {
-            var name = asyncFn.name || "anonymous";
-            var error3 = new Error('Callback function "' + name + '" timed out.');
-            error3.code = "ETIMEDOUT";
-            if (info7) {
-              error3.info = info7;
-            }
-            timedOut = true;
-            callback(error3);
-          }
-          args.push((...cbArgs) => {
-            if (!timedOut) {
-              callback(...cbArgs);
-              clearTimeout(timer);
-            }
-          });
-          timer = setTimeout(timeoutCallback, milliseconds);
-          fn(...args);
-        });
+      [Symbol.iterator]() {
+        return this.iterateSync();
       }
-      function range(size) {
-        var result = Array(size);
-        while (size--) {
-          result[size] = size;
-        }
-        return result;
+      /**
+       * Default async iteration function. Returns an AsyncGenerator that
+       * iterates over the results.
+       */
+      iterate() {
+        return this.stream()[Symbol.asyncIterator]();
       }
-      function timesLimit(count, limit, iteratee, callback) {
-        var _iteratee = wrapAsync(iteratee);
-        return mapLimit$1(range(count), limit, _iteratee, callback);
+      [Symbol.asyncIterator]() {
+        return this.iterate();
       }
-      function times(n, iteratee, callback) {
-        return timesLimit(n, Infinity, iteratee, callback);
+    };
+    exports2.Glob = Glob;
+  }
+});
+
+// node_modules/glob/dist/commonjs/has-magic.js
+var require_has_magic = __commonJS({
+  "node_modules/glob/dist/commonjs/has-magic.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.hasMagic = void 0;
+    var minimatch_1 = require_commonjs20();
+    var hasMagic = (pattern, options = {}) => {
+      if (!Array.isArray(pattern)) {
+        pattern = [pattern];
       }
-      function timesSeries(n, iteratee, callback) {
-        return timesLimit(n, 1, iteratee, callback);
+      for (const p of pattern) {
+        if (new minimatch_1.Minimatch(p, options).hasMagic())
+          return true;
       }
-      function transform(coll, accumulator, iteratee, callback) {
-        if (arguments.length <= 3 && typeof accumulator === "function") {
-          callback = iteratee;
-          iteratee = accumulator;
-          accumulator = Array.isArray(coll) ? [] : {};
+      return false;
+    };
+    exports2.hasMagic = hasMagic;
+  }
+});
+
+// node_modules/glob/dist/commonjs/index.js
+var require_commonjs24 = __commonJS({
+  "node_modules/glob/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.glob = exports2.sync = exports2.iterate = exports2.iterateSync = exports2.stream = exports2.streamSync = exports2.Ignore = exports2.hasMagic = exports2.Glob = exports2.unescape = exports2.escape = void 0;
+    exports2.globStreamSync = globStreamSync;
+    exports2.globStream = globStream;
+    exports2.globSync = globSync;
+    exports2.globIterateSync = globIterateSync;
+    exports2.globIterate = globIterate;
+    var minimatch_1 = require_commonjs20();
+    var glob_js_1 = require_glob();
+    var has_magic_js_1 = require_has_magic();
+    var minimatch_2 = require_commonjs20();
+    Object.defineProperty(exports2, "escape", { enumerable: true, get: function() {
+      return minimatch_2.escape;
+    } });
+    Object.defineProperty(exports2, "unescape", { enumerable: true, get: function() {
+      return minimatch_2.unescape;
+    } });
+    var glob_js_2 = require_glob();
+    Object.defineProperty(exports2, "Glob", { enumerable: true, get: function() {
+      return glob_js_2.Glob;
+    } });
+    var has_magic_js_2 = require_has_magic();
+    Object.defineProperty(exports2, "hasMagic", { enumerable: true, get: function() {
+      return has_magic_js_2.hasMagic;
+    } });
+    var ignore_js_1 = require_ignore();
+    Object.defineProperty(exports2, "Ignore", { enumerable: true, get: function() {
+      return ignore_js_1.Ignore;
+    } });
+    function globStreamSync(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).streamSync();
+    }
+    function globStream(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).stream();
+    }
+    function globSync(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).walkSync();
+    }
+    async function glob_(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).walk();
+    }
+    function globIterateSync(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).iterateSync();
+    }
+    function globIterate(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).iterate();
+    }
+    exports2.streamSync = globStreamSync;
+    exports2.stream = Object.assign(globStream, { sync: globStreamSync });
+    exports2.iterateSync = globIterateSync;
+    exports2.iterate = Object.assign(globIterate, {
+      sync: globIterateSync
+    });
+    exports2.sync = Object.assign(globSync, {
+      stream: globStreamSync,
+      iterate: globIterateSync
+    });
+    exports2.glob = Object.assign(glob_, {
+      glob: glob_,
+      globSync,
+      sync: exports2.sync,
+      globStream,
+      stream: exports2.stream,
+      globStreamSync,
+      streamSync: exports2.streamSync,
+      globIterate,
+      iterate: exports2.iterate,
+      globIterateSync,
+      iterateSync: exports2.iterateSync,
+      Glob: glob_js_1.Glob,
+      hasMagic: has_magic_js_1.hasMagic,
+      escape: minimatch_1.escape,
+      unescape: minimatch_1.unescape
+    });
+    exports2.glob.glob = exports2.glob;
+  }
+});
+
+// node_modules/archiver-utils/file.js
+var require_file4 = __commonJS({
+  "node_modules/archiver-utils/file.js"(exports2, module2) {
+    var fs3 = require_graceful_fs();
+    var path3 = require("path");
+    var flatten = require_flatten();
+    var difference = require_difference();
+    var union = require_union();
+    var isPlainObject3 = require_isPlainObject();
+    var glob2 = require_commonjs24();
+    var file = module2.exports = {};
+    var pathSeparatorRe = /[\/\\]/g;
+    var processPatterns = function(patterns, fn) {
+      var result = [];
+      flatten(patterns).forEach(function(pattern) {
+        var exclusion = pattern.indexOf("!") === 0;
+        if (exclusion) {
+          pattern = pattern.slice(1);
         }
-        callback = once(callback || promiseCallback());
-        var _iteratee = wrapAsync(iteratee);
-        eachOf$1(coll, (v, k, cb) => {
-          _iteratee(accumulator, v, k, cb);
-        }, (err) => callback(err, accumulator));
-        return callback[PROMISE_SYMBOL];
+        var matches = fn(pattern);
+        if (exclusion) {
+          result = difference(result, matches);
+        } else {
+          result = union(result, matches);
+        }
+      });
+      return result;
+    };
+    file.exists = function() {
+      var filepath = path3.join.apply(path3, arguments);
+      return fs3.existsSync(filepath);
+    };
+    file.expand = function(...args) {
+      var options = isPlainObject3(args[0]) ? args.shift() : {};
+      var patterns = Array.isArray(args[0]) ? args[0] : args;
+      if (patterns.length === 0) {
+        return [];
       }
-      function tryEach(tasks, callback) {
-        var error3 = null;
-        var result;
-        return eachSeries$1(tasks, (task, taskCb) => {
-          wrapAsync(task)((err, ...args) => {
-            if (err === false) return taskCb(err);
-            if (args.length < 2) {
-              [result] = args;
+      var matches = processPatterns(patterns, function(pattern) {
+        return glob2.sync(pattern, options);
+      });
+      if (options.filter) {
+        matches = matches.filter(function(filepath) {
+          filepath = path3.join(options.cwd || "", filepath);
+          try {
+            if (typeof options.filter === "function") {
+              return options.filter(filepath);
             } else {
-              result = args;
+              return fs3.statSync(filepath)[options.filter]();
             }
-            error3 = err;
-            taskCb(err ? null : {});
-          });
-        }, () => callback(error3, result));
-      }
-      var tryEach$1 = awaitify(tryEach);
-      function unmemoize(fn) {
-        return (...args) => {
-          return (fn.unmemoized || fn)(...args);
-        };
+          } catch (e) {
+            return false;
+          }
+        });
       }
-      function whilst(test, iteratee, callback) {
-        callback = onlyOnce(callback);
-        var _fn = wrapAsync(iteratee);
-        var _test = wrapAsync(test);
-        var results = [];
-        function next(err, ...rest) {
-          if (err) return callback(err);
-          results = rest;
-          if (err === false) return;
-          _test(check);
+      return matches;
+    };
+    file.expandMapping = function(patterns, destBase, options) {
+      options = Object.assign({
+        rename: function(destBase2, destPath) {
+          return path3.join(destBase2 || "", destPath);
         }
-        function check(err, truth) {
-          if (err) return callback(err);
-          if (err === false) return;
-          if (!truth) return callback(null, ...results);
-          _fn(next);
+      }, options);
+      var files = [];
+      var fileByDest = {};
+      file.expand(options, patterns).forEach(function(src) {
+        var destPath = src;
+        if (options.flatten) {
+          destPath = path3.basename(destPath);
         }
-        return _test(check);
-      }
-      var whilst$1 = awaitify(whilst, 3);
-      function until(test, iteratee, callback) {
-        const _test = wrapAsync(test);
-        return whilst$1((cb) => _test((err, truth) => cb(err, !truth)), iteratee, callback);
-      }
-      function waterfall(tasks, callback) {
-        callback = once(callback);
-        if (!Array.isArray(tasks)) return callback(new Error("First argument to waterfall must be an array of functions"));
-        if (!tasks.length) return callback();
-        var taskIndex = 0;
-        function nextTask(args) {
-          var task = wrapAsync(tasks[taskIndex++]);
-          task(...args, onlyOnce(next));
+        if (options.ext) {
+          destPath = destPath.replace(/(\.[^\/]*)?$/, options.ext);
         }
-        function next(err, ...args) {
-          if (err === false) return;
-          if (err || taskIndex === tasks.length) {
-            return callback(err, ...args);
-          }
-          nextTask(args);
+        var dest = options.rename(destBase, destPath, options);
+        if (options.cwd) {
+          src = path3.join(options.cwd, src);
         }
-        nextTask([]);
+        dest = dest.replace(pathSeparatorRe, "/");
+        src = src.replace(pathSeparatorRe, "/");
+        if (fileByDest[dest]) {
+          fileByDest[dest].src.push(src);
+        } else {
+          files.push({
+            src: [src],
+            dest
+          });
+          fileByDest[dest] = files[files.length - 1];
+        }
+      });
+      return files;
+    };
+    file.normalizeFilesArray = function(data) {
+      var files = [];
+      data.forEach(function(obj) {
+        var prop;
+        if ("src" in obj || "dest" in obj) {
+          files.push(obj);
+        }
+      });
+      if (files.length === 0) {
+        return [];
       }
-      var waterfall$1 = awaitify(waterfall);
-      var index = {
-        apply,
-        applyEach,
-        applyEachSeries,
-        asyncify,
-        auto,
-        autoInject,
-        cargo: cargo$1,
-        cargoQueue: cargo,
-        compose,
-        concat: concat$1,
-        concatLimit: concatLimit$1,
-        concatSeries: concatSeries$1,
-        constant: constant$1,
-        detect: detect$1,
-        detectLimit: detectLimit$1,
-        detectSeries: detectSeries$1,
-        dir,
-        doUntil,
-        doWhilst: doWhilst$1,
-        each,
-        eachLimit: eachLimit$1,
-        eachOf: eachOf$1,
-        eachOfLimit: eachOfLimit$1,
-        eachOfSeries: eachOfSeries$1,
-        eachSeries: eachSeries$1,
-        ensureAsync,
-        every: every$1,
-        everyLimit: everyLimit$1,
-        everySeries: everySeries$1,
-        filter: filter$1,
-        filterLimit: filterLimit$1,
-        filterSeries: filterSeries$1,
-        forever: forever$1,
-        groupBy,
-        groupByLimit: groupByLimit$1,
-        groupBySeries,
-        log,
-        map: map$1,
-        mapLimit: mapLimit$1,
-        mapSeries: mapSeries$1,
-        mapValues,
-        mapValuesLimit: mapValuesLimit$1,
-        mapValuesSeries,
-        memoize,
-        nextTick,
-        parallel,
-        parallelLimit,
-        priorityQueue,
-        queue,
-        race: race$1,
-        reduce: reduce$1,
-        reduceRight,
-        reflect,
-        reflectAll,
-        reject: reject$1,
-        rejectLimit: rejectLimit$1,
-        rejectSeries: rejectSeries$1,
-        retry: retry2,
-        retryable,
-        seq: seq2,
-        series,
-        setImmediate: setImmediate$1,
-        some: some$1,
-        someLimit: someLimit$1,
-        someSeries: someSeries$1,
-        sortBy: sortBy$1,
-        timeout,
-        times,
-        timesLimit,
-        timesSeries,
-        transform,
-        tryEach: tryEach$1,
-        unmemoize,
-        until,
-        waterfall: waterfall$1,
-        whilst: whilst$1,
-        // aliases
-        all: every$1,
-        allLimit: everyLimit$1,
-        allSeries: everySeries$1,
-        any: some$1,
-        anyLimit: someLimit$1,
-        anySeries: someSeries$1,
-        find: detect$1,
-        findLimit: detectLimit$1,
-        findSeries: detectSeries$1,
-        flatMap: concat$1,
-        flatMapLimit: concatLimit$1,
-        flatMapSeries: concatSeries$1,
-        forEach: each,
-        forEachSeries: eachSeries$1,
-        forEachLimit: eachLimit$1,
-        forEachOf: eachOf$1,
-        forEachOfSeries: eachOfSeries$1,
-        forEachOfLimit: eachOfLimit$1,
-        inject: reduce$1,
-        foldl: reduce$1,
-        foldr: reduceRight,
-        select: filter$1,
-        selectLimit: filterLimit$1,
-        selectSeries: filterSeries$1,
-        wrapSync: asyncify,
-        during: whilst$1,
-        doDuring: doWhilst$1
-      };
-      exports3.all = every$1;
-      exports3.allLimit = everyLimit$1;
-      exports3.allSeries = everySeries$1;
-      exports3.any = some$1;
-      exports3.anyLimit = someLimit$1;
-      exports3.anySeries = someSeries$1;
-      exports3.apply = apply;
-      exports3.applyEach = applyEach;
-      exports3.applyEachSeries = applyEachSeries;
-      exports3.asyncify = asyncify;
-      exports3.auto = auto;
-      exports3.autoInject = autoInject;
-      exports3.cargo = cargo$1;
-      exports3.cargoQueue = cargo;
-      exports3.compose = compose;
-      exports3.concat = concat$1;
-      exports3.concatLimit = concatLimit$1;
-      exports3.concatSeries = concatSeries$1;
-      exports3.constant = constant$1;
-      exports3.default = index;
-      exports3.detect = detect$1;
-      exports3.detectLimit = detectLimit$1;
-      exports3.detectSeries = detectSeries$1;
-      exports3.dir = dir;
-      exports3.doDuring = doWhilst$1;
-      exports3.doUntil = doUntil;
-      exports3.doWhilst = doWhilst$1;
-      exports3.during = whilst$1;
-      exports3.each = each;
-      exports3.eachLimit = eachLimit$1;
-      exports3.eachOf = eachOf$1;
-      exports3.eachOfLimit = eachOfLimit$1;
-      exports3.eachOfSeries = eachOfSeries$1;
-      exports3.eachSeries = eachSeries$1;
-      exports3.ensureAsync = ensureAsync;
-      exports3.every = every$1;
-      exports3.everyLimit = everyLimit$1;
-      exports3.everySeries = everySeries$1;
-      exports3.filter = filter$1;
-      exports3.filterLimit = filterLimit$1;
-      exports3.filterSeries = filterSeries$1;
-      exports3.find = detect$1;
-      exports3.findLimit = detectLimit$1;
-      exports3.findSeries = detectSeries$1;
-      exports3.flatMap = concat$1;
-      exports3.flatMapLimit = concatLimit$1;
-      exports3.flatMapSeries = concatSeries$1;
-      exports3.foldl = reduce$1;
-      exports3.foldr = reduceRight;
-      exports3.forEach = each;
-      exports3.forEachLimit = eachLimit$1;
-      exports3.forEachOf = eachOf$1;
-      exports3.forEachOfLimit = eachOfLimit$1;
-      exports3.forEachOfSeries = eachOfSeries$1;
-      exports3.forEachSeries = eachSeries$1;
-      exports3.forever = forever$1;
-      exports3.groupBy = groupBy;
-      exports3.groupByLimit = groupByLimit$1;
-      exports3.groupBySeries = groupBySeries;
-      exports3.inject = reduce$1;
-      exports3.log = log;
-      exports3.map = map$1;
-      exports3.mapLimit = mapLimit$1;
-      exports3.mapSeries = mapSeries$1;
-      exports3.mapValues = mapValues;
-      exports3.mapValuesLimit = mapValuesLimit$1;
-      exports3.mapValuesSeries = mapValuesSeries;
-      exports3.memoize = memoize;
-      exports3.nextTick = nextTick;
-      exports3.parallel = parallel;
-      exports3.parallelLimit = parallelLimit;
-      exports3.priorityQueue = priorityQueue;
-      exports3.queue = queue;
-      exports3.race = race$1;
-      exports3.reduce = reduce$1;
-      exports3.reduceRight = reduceRight;
-      exports3.reflect = reflect;
-      exports3.reflectAll = reflectAll;
-      exports3.reject = reject$1;
-      exports3.rejectLimit = rejectLimit$1;
-      exports3.rejectSeries = rejectSeries$1;
-      exports3.retry = retry2;
-      exports3.retryable = retryable;
-      exports3.select = filter$1;
-      exports3.selectLimit = filterLimit$1;
-      exports3.selectSeries = filterSeries$1;
-      exports3.seq = seq2;
-      exports3.series = series;
-      exports3.setImmediate = setImmediate$1;
-      exports3.some = some$1;
-      exports3.someLimit = someLimit$1;
-      exports3.someSeries = someSeries$1;
-      exports3.sortBy = sortBy$1;
-      exports3.timeout = timeout;
-      exports3.times = times;
-      exports3.timesLimit = timesLimit;
-      exports3.timesSeries = timesSeries;
-      exports3.transform = transform;
-      exports3.tryEach = tryEach$1;
-      exports3.unmemoize = unmemoize;
-      exports3.until = until;
-      exports3.waterfall = waterfall$1;
-      exports3.whilst = whilst$1;
-      exports3.wrapSync = asyncify;
-      Object.defineProperty(exports3, "__esModule", { value: true });
-    }));
+      files = _(files).chain().forEach(function(obj) {
+        if (!("src" in obj) || !obj.src) {
+          return;
+        }
+        if (Array.isArray(obj.src)) {
+          obj.src = flatten(obj.src);
+        } else {
+          obj.src = [obj.src];
+        }
+      }).map(function(obj) {
+        var expandOptions = Object.assign({}, obj);
+        delete expandOptions.src;
+        delete expandOptions.dest;
+        if (obj.expand) {
+          return file.expandMapping(obj.src, obj.dest, expandOptions).map(function(mapObj) {
+            var result2 = Object.assign({}, obj);
+            result2.orig = Object.assign({}, obj);
+            result2.src = mapObj.src;
+            result2.dest = mapObj.dest;
+            ["expand", "cwd", "flatten", "rename", "ext"].forEach(function(prop) {
+              delete result2[prop];
+            });
+            return result2;
+          });
+        }
+        var result = Object.assign({}, obj);
+        result.orig = Object.assign({}, obj);
+        if ("src" in result) {
+          Object.defineProperty(result, "src", {
+            enumerable: true,
+            get: function fn() {
+              var src;
+              if (!("result" in fn)) {
+                src = obj.src;
+                src = Array.isArray(src) ? flatten(src) : [src];
+                fn.result = file.expand(expandOptions, src);
+              }
+              return fn.result;
+            }
+          });
+        }
+        if ("dest" in result) {
+          result.dest = obj.dest;
+        }
+        return result;
+      }).flatten().value();
+      return files;
+    };
   }
 });
 
-// node_modules/graceful-fs/polyfills.js
-var require_polyfills = __commonJS({
-  "node_modules/graceful-fs/polyfills.js"(exports2, module2) {
-    var constants = require("constants");
-    var origCwd = process.cwd;
-    var cwd = null;
-    var platform = process.env.GRACEFUL_FS_PLATFORM || process.platform;
-    process.cwd = function() {
-      if (!cwd)
-        cwd = origCwd.call(process);
-      return cwd;
+// node_modules/archiver-utils/index.js
+var require_archiver_utils = __commonJS({
+  "node_modules/archiver-utils/index.js"(exports2, module2) {
+    var fs3 = require_graceful_fs();
+    var path3 = require("path");
+    var isStream = require_is_stream();
+    var lazystream = require_lazystream();
+    var normalizePath = require_normalize_path();
+    var defaults = require_defaults();
+    var Stream = require("stream").Stream;
+    var PassThrough = require_ours().PassThrough;
+    var utils = module2.exports = {};
+    utils.file = require_file4();
+    utils.collectStream = function(source, callback) {
+      var collection = [];
+      var size = 0;
+      source.on("error", callback);
+      source.on("data", function(chunk) {
+        collection.push(chunk);
+        size += chunk.length;
+      });
+      source.on("end", function() {
+        var buf = Buffer.alloc(size);
+        var offset = 0;
+        collection.forEach(function(data) {
+          data.copy(buf, offset);
+          offset += data.length;
+        });
+        callback(null, buf);
+      });
     };
-    try {
-      process.cwd();
-    } catch (er) {
-    }
-    if (typeof process.chdir === "function") {
-      chdir = process.chdir;
-      process.chdir = function(d) {
-        cwd = null;
-        chdir.call(process, d);
-      };
-      if (Object.setPrototypeOf) Object.setPrototypeOf(process.chdir, chdir);
-    }
-    var chdir;
-    module2.exports = patch;
-    function patch(fs3) {
-      if (constants.hasOwnProperty("O_SYMLINK") && process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) {
-        patchLchmod(fs3);
-      }
-      if (!fs3.lutimes) {
-        patchLutimes(fs3);
-      }
-      fs3.chown = chownFix(fs3.chown);
-      fs3.fchown = chownFix(fs3.fchown);
-      fs3.lchown = chownFix(fs3.lchown);
-      fs3.chmod = chmodFix(fs3.chmod);
-      fs3.fchmod = chmodFix(fs3.fchmod);
-      fs3.lchmod = chmodFix(fs3.lchmod);
-      fs3.chownSync = chownFixSync(fs3.chownSync);
-      fs3.fchownSync = chownFixSync(fs3.fchownSync);
-      fs3.lchownSync = chownFixSync(fs3.lchownSync);
-      fs3.chmodSync = chmodFixSync(fs3.chmodSync);
-      fs3.fchmodSync = chmodFixSync(fs3.fchmodSync);
-      fs3.lchmodSync = chmodFixSync(fs3.lchmodSync);
-      fs3.stat = statFix(fs3.stat);
-      fs3.fstat = statFix(fs3.fstat);
-      fs3.lstat = statFix(fs3.lstat);
-      fs3.statSync = statFixSync(fs3.statSync);
-      fs3.fstatSync = statFixSync(fs3.fstatSync);
-      fs3.lstatSync = statFixSync(fs3.lstatSync);
-      if (fs3.chmod && !fs3.lchmod) {
-        fs3.lchmod = function(path3, mode, cb) {
-          if (cb) process.nextTick(cb);
-        };
-        fs3.lchmodSync = function() {
-        };
-      }
-      if (fs3.chown && !fs3.lchown) {
-        fs3.lchown = function(path3, uid, gid, cb) {
-          if (cb) process.nextTick(cb);
-        };
-        fs3.lchownSync = function() {
-        };
+    utils.dateify = function(dateish) {
+      dateish = dateish || /* @__PURE__ */ new Date();
+      if (dateish instanceof Date) {
+        dateish = dateish;
+      } else if (typeof dateish === "string") {
+        dateish = new Date(dateish);
+      } else {
+        dateish = /* @__PURE__ */ new Date();
       }
-      if (platform === "win32") {
-        fs3.rename = typeof fs3.rename !== "function" ? fs3.rename : (function(fs$rename) {
-          function rename(from, to, cb) {
-            var start = Date.now();
-            var backoff = 0;
-            fs$rename(from, to, function CB(er) {
-              if (er && (er.code === "EACCES" || er.code === "EPERM") && Date.now() - start < 6e4) {
-                setTimeout(function() {
-                  fs3.stat(to, function(stater, st) {
-                    if (stater && stater.code === "ENOENT")
-                      fs$rename(from, to, CB);
-                    else
-                      cb(er);
-                  });
-                }, backoff);
-                if (backoff < 100)
-                  backoff += 10;
-                return;
-              }
-              if (cb) cb(er);
-            });
-          }
-          if (Object.setPrototypeOf) Object.setPrototypeOf(rename, fs$rename);
-          return rename;
-        })(fs3.rename);
+      return dateish;
+    };
+    utils.defaults = function(object, source, guard) {
+      var args = arguments;
+      args[0] = args[0] || {};
+      return defaults(...args);
+    };
+    utils.isStream = function(source) {
+      return isStream(source);
+    };
+    utils.lazyReadStream = function(filepath) {
+      return new lazystream.Readable(function() {
+        return fs3.createReadStream(filepath);
+      });
+    };
+    utils.normalizeInputSource = function(source) {
+      if (source === null) {
+        return Buffer.alloc(0);
+      } else if (typeof source === "string") {
+        return Buffer.from(source);
+      } else if (utils.isStream(source)) {
+        return source.pipe(new PassThrough());
       }
-      fs3.read = typeof fs3.read !== "function" ? fs3.read : (function(fs$read) {
-        function read(fd, buffer, offset, length, position, callback_) {
-          var callback;
-          if (callback_ && typeof callback_ === "function") {
-            var eagCounter = 0;
-            callback = function(er, _2, __) {
-              if (er && er.code === "EAGAIN" && eagCounter < 10) {
-                eagCounter++;
-                return fs$read.call(fs3, fd, buffer, offset, length, position, callback);
-              }
-              callback_.apply(this, arguments);
-            };
-          }
-          return fs$read.call(fs3, fd, buffer, offset, length, position, callback);
+      return source;
+    };
+    utils.sanitizePath = function(filepath) {
+      return normalizePath(filepath, false).replace(/^\w+:/, "").replace(/^(\.\.\/|\/)+/, "");
+    };
+    utils.trailingSlashIt = function(str2) {
+      return str2.slice(-1) !== "/" ? str2 + "/" : str2;
+    };
+    utils.unixifyPath = function(filepath) {
+      return normalizePath(filepath, false).replace(/^\w+:/, "");
+    };
+    utils.walkdir = function(dirpath, base, callback) {
+      var results = [];
+      if (typeof base === "function") {
+        callback = base;
+        base = dirpath;
+      }
+      fs3.readdir(dirpath, function(err, list) {
+        var i = 0;
+        var file;
+        var filepath;
+        if (err) {
+          return callback(err);
         }
-        if (Object.setPrototypeOf) Object.setPrototypeOf(read, fs$read);
-        return read;
-      })(fs3.read);
-      fs3.readSync = typeof fs3.readSync !== "function" ? fs3.readSync : /* @__PURE__ */ (function(fs$readSync) {
-        return function(fd, buffer, offset, length, position) {
-          var eagCounter = 0;
-          while (true) {
-            try {
-              return fs$readSync.call(fs3, fd, buffer, offset, length, position);
-            } catch (er) {
-              if (er.code === "EAGAIN" && eagCounter < 10) {
-                eagCounter++;
-                continue;
-              }
-              throw er;
-            }
+        (function next() {
+          file = list[i++];
+          if (!file) {
+            return callback(null, results);
           }
-        };
-      })(fs3.readSync);
-      function patchLchmod(fs4) {
-        fs4.lchmod = function(path3, mode, callback) {
-          fs4.open(
-            path3,
-            constants.O_WRONLY | constants.O_SYMLINK,
-            mode,
-            function(err, fd) {
-              if (err) {
-                if (callback) callback(err);
-                return;
-              }
-              fs4.fchmod(fd, mode, function(err2) {
-                fs4.close(fd, function(err22) {
-                  if (callback) callback(err2 || err22);
+          filepath = path3.join(dirpath, file);
+          fs3.stat(filepath, function(err2, stats) {
+            results.push({
+              path: filepath,
+              relative: path3.relative(base, filepath).replace(/\\/g, "/"),
+              stats
+            });
+            if (stats && stats.isDirectory()) {
+              utils.walkdir(filepath, base, function(err3, res) {
+                if (err3) {
+                  return callback(err3);
+                }
+                res.forEach(function(dirEntry) {
+                  results.push(dirEntry);
                 });
+                next();
               });
-            }
-          );
-        };
-        fs4.lchmodSync = function(path3, mode) {
-          var fd = fs4.openSync(path3, constants.O_WRONLY | constants.O_SYMLINK, mode);
-          var threw = true;
-          var ret;
-          try {
-            ret = fs4.fchmodSync(fd, mode);
-            threw = false;
-          } finally {
-            if (threw) {
-              try {
-                fs4.closeSync(fd);
-              } catch (er) {
-              }
             } else {
-              fs4.closeSync(fd);
-            }
-          }
-          return ret;
-        };
-      }
-      function patchLutimes(fs4) {
-        if (constants.hasOwnProperty("O_SYMLINK") && fs4.futimes) {
-          fs4.lutimes = function(path3, at, mt, cb) {
-            fs4.open(path3, constants.O_SYMLINK, function(er, fd) {
-              if (er) {
-                if (cb) cb(er);
-                return;
-              }
-              fs4.futimes(fd, at, mt, function(er2) {
-                fs4.close(fd, function(er22) {
-                  if (cb) cb(er2 || er22);
-                });
-              });
-            });
-          };
-          fs4.lutimesSync = function(path3, at, mt) {
-            var fd = fs4.openSync(path3, constants.O_SYMLINK);
-            var ret;
-            var threw = true;
-            try {
-              ret = fs4.futimesSync(fd, at, mt);
-              threw = false;
-            } finally {
-              if (threw) {
-                try {
-                  fs4.closeSync(fd);
-                } catch (er) {
-                }
-              } else {
-                fs4.closeSync(fd);
-              }
+              next();
             }
-            return ret;
-          };
-        } else if (fs4.futimes) {
-          fs4.lutimes = function(_a, _b, _c, cb) {
-            if (cb) process.nextTick(cb);
-          };
-          fs4.lutimesSync = function() {
-          };
-        }
-      }
-      function chmodFix(orig) {
-        if (!orig) return orig;
-        return function(target, mode, cb) {
-          return orig.call(fs3, target, mode, function(er) {
-            if (chownErOk(er)) er = null;
-            if (cb) cb.apply(this, arguments);
           });
-        };
+        })();
+      });
+    };
+  }
+});
+
+// node_modules/archiver/lib/error.js
+var require_error3 = __commonJS({
+  "node_modules/archiver/lib/error.js"(exports2, module2) {
+    var util = require("util");
+    var ERROR_CODES = {
+      "ABORTED": "archive was aborted",
+      "DIRECTORYDIRPATHREQUIRED": "diretory dirpath argument must be a non-empty string value",
+      "DIRECTORYFUNCTIONINVALIDDATA": "invalid data returned by directory custom data function",
+      "ENTRYNAMEREQUIRED": "entry name must be a non-empty string value",
+      "FILEFILEPATHREQUIRED": "file filepath argument must be a non-empty string value",
+      "FINALIZING": "archive already finalizing",
+      "QUEUECLOSED": "queue closed",
+      "NOENDMETHOD": "no suitable finalize/end method defined by module",
+      "DIRECTORYNOTSUPPORTED": "support for directory entries not defined by module",
+      "FORMATSET": "archive format already set",
+      "INPUTSTEAMBUFFERREQUIRED": "input source must be valid Stream or Buffer instance",
+      "MODULESET": "module already set",
+      "SYMLINKNOTSUPPORTED": "support for symlink entries not defined by module",
+      "SYMLINKFILEPATHREQUIRED": "symlink filepath argument must be a non-empty string value",
+      "SYMLINKTARGETREQUIRED": "symlink target argument must be a non-empty string value",
+      "ENTRYNOTSUPPORTED": "entry not supported"
+    };
+    function ArchiverError(code, data) {
+      Error.captureStackTrace(this, this.constructor);
+      this.message = ERROR_CODES[code] || code;
+      this.code = code;
+      this.data = data;
+    }
+    util.inherits(ArchiverError, Error);
+    exports2 = module2.exports = ArchiverError;
+  }
+});
+
+// node_modules/archiver/lib/core.js
+var require_core2 = __commonJS({
+  "node_modules/archiver/lib/core.js"(exports2, module2) {
+    var fs3 = require("fs");
+    var glob2 = require_readdir_glob();
+    var async = require_async();
+    var path3 = require("path");
+    var util = require_archiver_utils();
+    var inherits = require("util").inherits;
+    var ArchiverError = require_error3();
+    var Transform = require_ours().Transform;
+    var win32 = process.platform === "win32";
+    var Archiver = function(format, options) {
+      if (!(this instanceof Archiver)) {
+        return new Archiver(format, options);
       }
-      function chmodFixSync(orig) {
-        if (!orig) return orig;
-        return function(target, mode) {
-          try {
-            return orig.call(fs3, target, mode);
-          } catch (er) {
-            if (!chownErOk(er)) throw er;
-          }
-        };
+      if (typeof format !== "string") {
+        options = format;
+        format = "zip";
       }
-      function chownFix(orig) {
-        if (!orig) return orig;
-        return function(target, uid, gid, cb) {
-          return orig.call(fs3, target, uid, gid, function(er) {
-            if (chownErOk(er)) er = null;
-            if (cb) cb.apply(this, arguments);
-          });
-        };
+      options = this.options = util.defaults(options, {
+        highWaterMark: 1024 * 1024,
+        statConcurrency: 4
+      });
+      Transform.call(this, options);
+      this._format = false;
+      this._module = false;
+      this._pending = 0;
+      this._pointer = 0;
+      this._entriesCount = 0;
+      this._entriesProcessedCount = 0;
+      this._fsEntriesTotalBytes = 0;
+      this._fsEntriesProcessedBytes = 0;
+      this._queue = async.queue(this._onQueueTask.bind(this), 1);
+      this._queue.drain(this._onQueueDrain.bind(this));
+      this._statQueue = async.queue(this._onStatQueueTask.bind(this), options.statConcurrency);
+      this._statQueue.drain(this._onQueueDrain.bind(this));
+      this._state = {
+        aborted: false,
+        finalize: false,
+        finalizing: false,
+        finalized: false,
+        modulePiped: false
+      };
+      this._streams = [];
+    };
+    inherits(Archiver, Transform);
+    Archiver.prototype._abort = function() {
+      this._state.aborted = true;
+      this._queue.kill();
+      this._statQueue.kill();
+      if (this._queue.idle()) {
+        this._shutdown();
       }
-      function chownFixSync(orig) {
-        if (!orig) return orig;
-        return function(target, uid, gid) {
-          try {
-            return orig.call(fs3, target, uid, gid);
-          } catch (er) {
-            if (!chownErOk(er)) throw er;
-          }
-        };
+    };
+    Archiver.prototype._append = function(filepath, data) {
+      data = data || {};
+      var task = {
+        source: null,
+        filepath
+      };
+      if (!data.name) {
+        data.name = filepath;
       }
-      function statFix(orig) {
-        if (!orig) return orig;
-        return function(target, options, cb) {
-          if (typeof options === "function") {
-            cb = options;
-            options = null;
-          }
-          function callback(er, stats) {
-            if (stats) {
-              if (stats.uid < 0) stats.uid += 4294967296;
-              if (stats.gid < 0) stats.gid += 4294967296;
-            }
-            if (cb) cb.apply(this, arguments);
+      data.sourcePath = filepath;
+      task.data = data;
+      this._entriesCount++;
+      if (data.stats && data.stats instanceof fs3.Stats) {
+        task = this._updateQueueTaskWithStats(task, data.stats);
+        if (task) {
+          if (data.stats.size) {
+            this._fsEntriesTotalBytes += data.stats.size;
           }
-          return options ? orig.call(fs3, target, options, callback) : orig.call(fs3, target, callback);
-        };
+          this._queue.push(task);
+        }
+      } else {
+        this._statQueue.push(task);
       }
-      function statFixSync(orig) {
-        if (!orig) return orig;
-        return function(target, options) {
-          var stats = options ? orig.call(fs3, target, options) : orig.call(fs3, target);
-          if (stats) {
-            if (stats.uid < 0) stats.uid += 4294967296;
-            if (stats.gid < 0) stats.gid += 4294967296;
-          }
-          return stats;
-        };
+    };
+    Archiver.prototype._finalize = function() {
+      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+        return;
       }
-      function chownErOk(er) {
-        if (!er)
-          return true;
-        if (er.code === "ENOSYS")
-          return true;
-        var nonroot = !process.getuid || process.getuid() !== 0;
-        if (nonroot) {
-          if (er.code === "EINVAL" || er.code === "EPERM")
-            return true;
-        }
+      this._state.finalizing = true;
+      this._moduleFinalize();
+      this._state.finalizing = false;
+      this._state.finalized = true;
+    };
+    Archiver.prototype._maybeFinalize = function() {
+      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
         return false;
       }
-    }
-  }
-});
-
-// node_modules/graceful-fs/legacy-streams.js
-var require_legacy_streams = __commonJS({
-  "node_modules/graceful-fs/legacy-streams.js"(exports2, module2) {
-    var Stream = require("stream").Stream;
-    module2.exports = legacy;
-    function legacy(fs3) {
-      return {
-        ReadStream,
-        WriteStream
-      };
-      function ReadStream(path3, options) {
-        if (!(this instanceof ReadStream)) return new ReadStream(path3, options);
-        Stream.call(this);
-        var self2 = this;
-        this.path = path3;
-        this.fd = null;
-        this.readable = true;
-        this.paused = false;
-        this.flags = "r";
-        this.mode = 438;
-        this.bufferSize = 64 * 1024;
-        options = options || {};
-        var keys = Object.keys(options);
-        for (var index = 0, length = keys.length; index < length; index++) {
-          var key = keys[index];
-          this[key] = options[key];
-        }
-        if (this.encoding) this.setEncoding(this.encoding);
-        if (this.start !== void 0) {
-          if ("number" !== typeof this.start) {
-            throw TypeError("start must be a Number");
-          }
-          if (this.end === void 0) {
-            this.end = Infinity;
-          } else if ("number" !== typeof this.end) {
-            throw TypeError("end must be a Number");
-          }
-          if (this.start > this.end) {
-            throw new Error("start must be <= end");
-          }
-          this.pos = this.start;
+      if (this._state.finalize && this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
+        this._finalize();
+        return true;
+      }
+      return false;
+    };
+    Archiver.prototype._moduleAppend = function(source, data, callback) {
+      if (this._state.aborted) {
+        callback();
+        return;
+      }
+      this._module.append(source, data, function(err) {
+        this._task = null;
+        if (this._state.aborted) {
+          this._shutdown();
+          return;
         }
-        if (this.fd !== null) {
-          process.nextTick(function() {
-            self2._read();
-          });
+        if (err) {
+          this.emit("error", err);
+          setImmediate(callback);
           return;
         }
-        fs3.open(this.path, this.flags, this.mode, function(err, fd) {
-          if (err) {
-            self2.emit("error", err);
-            self2.readable = false;
-            return;
+        this.emit("entry", data);
+        this._entriesProcessedCount++;
+        if (data.stats && data.stats.size) {
+          this._fsEntriesProcessedBytes += data.stats.size;
+        }
+        this.emit("progress", {
+          entries: {
+            total: this._entriesCount,
+            processed: this._entriesProcessedCount
+          },
+          fs: {
+            totalBytes: this._fsEntriesTotalBytes,
+            processedBytes: this._fsEntriesProcessedBytes
           }
-          self2.fd = fd;
-          self2.emit("open", fd);
-          self2._read();
         });
+        setImmediate(callback);
+      }.bind(this));
+    };
+    Archiver.prototype._moduleFinalize = function() {
+      if (typeof this._module.finalize === "function") {
+        this._module.finalize();
+      } else if (typeof this._module.end === "function") {
+        this._module.end();
+      } else {
+        this.emit("error", new ArchiverError("NOENDMETHOD"));
       }
-      function WriteStream(path3, options) {
-        if (!(this instanceof WriteStream)) return new WriteStream(path3, options);
-        Stream.call(this);
-        this.path = path3;
-        this.fd = null;
-        this.writable = true;
-        this.flags = "w";
-        this.encoding = "binary";
-        this.mode = 438;
-        this.bytesWritten = 0;
-        options = options || {};
-        var keys = Object.keys(options);
-        for (var index = 0, length = keys.length; index < length; index++) {
-          var key = keys[index];
-          this[key] = options[key];
-        }
-        if (this.start !== void 0) {
-          if ("number" !== typeof this.start) {
-            throw TypeError("start must be a Number");
-          }
-          if (this.start < 0) {
-            throw new Error("start must be >= zero");
-          }
-          this.pos = this.start;
+    };
+    Archiver.prototype._modulePipe = function() {
+      this._module.on("error", this._onModuleError.bind(this));
+      this._module.pipe(this);
+      this._state.modulePiped = true;
+    };
+    Archiver.prototype._moduleSupports = function(key) {
+      if (!this._module.supports || !this._module.supports[key]) {
+        return false;
+      }
+      return this._module.supports[key];
+    };
+    Archiver.prototype._moduleUnpipe = function() {
+      this._module.unpipe(this);
+      this._state.modulePiped = false;
+    };
+    Archiver.prototype._normalizeEntryData = function(data, stats) {
+      data = util.defaults(data, {
+        type: "file",
+        name: null,
+        date: null,
+        mode: null,
+        prefix: null,
+        sourcePath: null,
+        stats: false
+      });
+      if (stats && data.stats === false) {
+        data.stats = stats;
+      }
+      var isDir = data.type === "directory";
+      if (data.name) {
+        if (typeof data.prefix === "string" && "" !== data.prefix) {
+          data.name = data.prefix + "/" + data.name;
+          data.prefix = null;
         }
-        this.busy = false;
-        this._queue = [];
-        if (this.fd === null) {
-          this._open = fs3.open;
-          this._queue.push([this._open, this.path, this.flags, this.mode, void 0]);
-          this.flush();
+        data.name = util.sanitizePath(data.name);
+        if (data.type !== "symlink" && data.name.slice(-1) === "/") {
+          isDir = true;
+          data.type = "directory";
+        } else if (isDir) {
+          data.name += "/";
         }
       }
-    }
-  }
-});
-
-// node_modules/graceful-fs/clone.js
-var require_clone = __commonJS({
-  "node_modules/graceful-fs/clone.js"(exports2, module2) {
-    "use strict";
-    module2.exports = clone;
-    var getPrototypeOf = Object.getPrototypeOf || function(obj) {
-      return obj.__proto__;
-    };
-    function clone(obj) {
-      if (obj === null || typeof obj !== "object")
-        return obj;
-      if (obj instanceof Object)
-        var copy = { __proto__: getPrototypeOf(obj) };
-      else
-        var copy = /* @__PURE__ */ Object.create(null);
-      Object.getOwnPropertyNames(obj).forEach(function(key) {
-        Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key));
-      });
-      return copy;
-    }
-  }
-});
-
-// node_modules/graceful-fs/graceful-fs.js
-var require_graceful_fs = __commonJS({
-  "node_modules/graceful-fs/graceful-fs.js"(exports2, module2) {
-    var fs3 = require("fs");
-    var polyfills = require_polyfills();
-    var legacy = require_legacy_streams();
-    var clone = require_clone();
-    var util = require("util");
-    var gracefulQueue;
-    var previousSymbol;
-    if (typeof Symbol === "function" && typeof Symbol.for === "function") {
-      gracefulQueue = /* @__PURE__ */ Symbol.for("graceful-fs.queue");
-      previousSymbol = /* @__PURE__ */ Symbol.for("graceful-fs.previous");
-    } else {
-      gracefulQueue = "___graceful-fs.queue";
-      previousSymbol = "___graceful-fs.previous";
-    }
-    function noop3() {
-    }
-    function publishQueue(context2, queue2) {
-      Object.defineProperty(context2, gracefulQueue, {
-        get: function() {
-          return queue2;
+      if (typeof data.mode === "number") {
+        if (win32) {
+          data.mode &= 511;
+        } else {
+          data.mode &= 4095;
         }
-      });
-    }
-    var debug4 = noop3;
-    if (util.debuglog)
-      debug4 = util.debuglog("gfs4");
-    else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || ""))
-      debug4 = function() {
-        var m = util.format.apply(util, arguments);
-        m = "GFS4: " + m.split(/\n/).join("\nGFS4: ");
-        console.error(m);
-      };
-    if (!fs3[gracefulQueue]) {
-      queue = global[gracefulQueue] || [];
-      publishQueue(fs3, queue);
-      fs3.close = (function(fs$close) {
-        function close(fd, cb) {
-          return fs$close.call(fs3, fd, function(err) {
-            if (!err) {
-              resetQueue();
-            }
-            if (typeof cb === "function")
-              cb.apply(this, arguments);
-          });
+      } else if (data.stats && data.mode === null) {
+        if (win32) {
+          data.mode = data.stats.mode & 511;
+        } else {
+          data.mode = data.stats.mode & 4095;
         }
-        Object.defineProperty(close, previousSymbol, {
-          value: fs$close
-        });
-        return close;
-      })(fs3.close);
-      fs3.closeSync = (function(fs$closeSync) {
-        function closeSync(fd) {
-          fs$closeSync.apply(fs3, arguments);
-          resetQueue();
+        if (win32 && isDir) {
+          data.mode = 493;
         }
-        Object.defineProperty(closeSync, previousSymbol, {
-          value: fs$closeSync
-        });
-        return closeSync;
-      })(fs3.closeSync);
-      if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || "")) {
-        process.on("exit", function() {
-          debug4(fs3[gracefulQueue]);
-          require("assert").equal(fs3[gracefulQueue].length, 0);
-        });
+      } else if (data.mode === null) {
+        data.mode = isDir ? 493 : 420;
       }
-    }
-    var queue;
-    if (!global[gracefulQueue]) {
-      publishQueue(global, fs3[gracefulQueue]);
-    }
-    module2.exports = patch(clone(fs3));
-    if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs3.__patched) {
-      module2.exports = patch(fs3);
-      fs3.__patched = true;
-    }
-    function patch(fs4) {
-      polyfills(fs4);
-      fs4.gracefulify = patch;
-      fs4.createReadStream = createReadStream;
-      fs4.createWriteStream = createWriteStream3;
-      var fs$readFile = fs4.readFile;
-      fs4.readFile = readFile;
-      function readFile(path3, options, cb) {
-        if (typeof options === "function")
-          cb = options, options = null;
-        return go$readFile(path3, options, cb);
-        function go$readFile(path4, options2, cb2, startTime) {
-          return fs$readFile(path4, options2, function(err) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([go$readFile, [path4, options2, cb2], err, startTime || Date.now(), Date.now()]);
-            else {
-              if (typeof cb2 === "function")
-                cb2.apply(this, arguments);
-            }
-          });
-        }
+      if (data.stats && data.date === null) {
+        data.date = data.stats.mtime;
+      } else {
+        data.date = util.dateify(data.date);
       }
-      var fs$writeFile = fs4.writeFile;
-      fs4.writeFile = writeFile;
-      function writeFile(path3, data, options, cb) {
-        if (typeof options === "function")
-          cb = options, options = null;
-        return go$writeFile(path3, data, options, cb);
-        function go$writeFile(path4, data2, options2, cb2, startTime) {
-          return fs$writeFile(path4, data2, options2, function(err) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([go$writeFile, [path4, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
-            else {
-              if (typeof cb2 === "function")
-                cb2.apply(this, arguments);
-            }
-          });
-        }
+      return data;
+    };
+    Archiver.prototype._onModuleError = function(err) {
+      this.emit("error", err);
+    };
+    Archiver.prototype._onQueueDrain = function() {
+      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+        return;
       }
-      var fs$appendFile = fs4.appendFile;
-      if (fs$appendFile)
-        fs4.appendFile = appendFile;
-      function appendFile(path3, data, options, cb) {
-        if (typeof options === "function")
-          cb = options, options = null;
-        return go$appendFile(path3, data, options, cb);
-        function go$appendFile(path4, data2, options2, cb2, startTime) {
-          return fs$appendFile(path4, data2, options2, function(err) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([go$appendFile, [path4, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
-            else {
-              if (typeof cb2 === "function")
-                cb2.apply(this, arguments);
-            }
-          });
+      if (this._state.finalize && this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
+        this._finalize();
+      }
+    };
+    Archiver.prototype._onQueueTask = function(task, callback) {
+      var fullCallback = () => {
+        if (task.data.callback) {
+          task.data.callback();
         }
+        callback();
+      };
+      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+        fullCallback();
+        return;
       }
-      var fs$copyFile = fs4.copyFile;
-      if (fs$copyFile)
-        fs4.copyFile = copyFile;
-      function copyFile(src, dest, flags, cb) {
-        if (typeof flags === "function") {
-          cb = flags;
-          flags = 0;
+      this._task = task;
+      this._moduleAppend(task.source, task.data, fullCallback);
+    };
+    Archiver.prototype._onStatQueueTask = function(task, callback) {
+      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+        callback();
+        return;
+      }
+      fs3.lstat(task.filepath, function(err, stats) {
+        if (this._state.aborted) {
+          setImmediate(callback);
+          return;
         }
-        return go$copyFile(src, dest, flags, cb);
-        function go$copyFile(src2, dest2, flags2, cb2, startTime) {
-          return fs$copyFile(src2, dest2, flags2, function(err) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([go$copyFile, [src2, dest2, flags2, cb2], err, startTime || Date.now(), Date.now()]);
-            else {
-              if (typeof cb2 === "function")
-                cb2.apply(this, arguments);
-            }
-          });
+        if (err) {
+          this._entriesCount--;
+          this.emit("warning", err);
+          setImmediate(callback);
+          return;
+        }
+        task = this._updateQueueTaskWithStats(task, stats);
+        if (task) {
+          if (stats.size) {
+            this._fsEntriesTotalBytes += stats.size;
+          }
+          this._queue.push(task);
         }
+        setImmediate(callback);
+      }.bind(this));
+    };
+    Archiver.prototype._shutdown = function() {
+      this._moduleUnpipe();
+      this.end();
+    };
+    Archiver.prototype._transform = function(chunk, encoding, callback) {
+      if (chunk) {
+        this._pointer += chunk.length;
       }
-      var fs$readdir = fs4.readdir;
-      fs4.readdir = readdir;
-      var noReaddirOptionVersions = /^v[0-5]\./;
-      function readdir(path3, options, cb) {
-        if (typeof options === "function")
-          cb = options, options = null;
-        var go$readdir = noReaddirOptionVersions.test(process.version) ? function go$readdir2(path4, options2, cb2, startTime) {
-          return fs$readdir(path4, fs$readdirCallback(
-            path4,
-            options2,
-            cb2,
-            startTime
-          ));
-        } : function go$readdir2(path4, options2, cb2, startTime) {
-          return fs$readdir(path4, options2, fs$readdirCallback(
-            path4,
-            options2,
-            cb2,
-            startTime
-          ));
-        };
-        return go$readdir(path3, options, cb);
-        function fs$readdirCallback(path4, options2, cb2, startTime) {
-          return function(err, files) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([
-                go$readdir,
-                [path4, options2, cb2],
-                err,
-                startTime || Date.now(),
-                Date.now()
-              ]);
-            else {
-              if (files && files.sort)
-                files.sort();
-              if (typeof cb2 === "function")
-                cb2.call(this, err, files);
-            }
-          };
+      callback(null, chunk);
+    };
+    Archiver.prototype._updateQueueTaskWithStats = function(task, stats) {
+      if (stats.isFile()) {
+        task.data.type = "file";
+        task.data.sourceType = "stream";
+        task.source = util.lazyReadStream(task.filepath);
+      } else if (stats.isDirectory() && this._moduleSupports("directory")) {
+        task.data.name = util.trailingSlashIt(task.data.name);
+        task.data.type = "directory";
+        task.data.sourcePath = util.trailingSlashIt(task.filepath);
+        task.data.sourceType = "buffer";
+        task.source = Buffer.concat([]);
+      } else if (stats.isSymbolicLink() && this._moduleSupports("symlink")) {
+        var linkPath = fs3.readlinkSync(task.filepath);
+        var dirName = path3.dirname(task.filepath);
+        task.data.type = "symlink";
+        task.data.linkname = path3.relative(dirName, path3.resolve(dirName, linkPath));
+        task.data.sourceType = "buffer";
+        task.source = Buffer.concat([]);
+      } else {
+        if (stats.isDirectory()) {
+          this.emit("warning", new ArchiverError("DIRECTORYNOTSUPPORTED", task.data));
+        } else if (stats.isSymbolicLink()) {
+          this.emit("warning", new ArchiverError("SYMLINKNOTSUPPORTED", task.data));
+        } else {
+          this.emit("warning", new ArchiverError("ENTRYNOTSUPPORTED", task.data));
         }
+        return null;
       }
-      if (process.version.substr(0, 4) === "v0.8") {
-        var legStreams = legacy(fs4);
-        ReadStream = legStreams.ReadStream;
-        WriteStream = legStreams.WriteStream;
+      task.data = this._normalizeEntryData(task.data, stats);
+      return task;
+    };
+    Archiver.prototype.abort = function() {
+      if (this._state.aborted || this._state.finalized) {
+        return this;
       }
-      var fs$ReadStream = fs4.ReadStream;
-      if (fs$ReadStream) {
-        ReadStream.prototype = Object.create(fs$ReadStream.prototype);
-        ReadStream.prototype.open = ReadStream$open;
+      this._abort();
+      return this;
+    };
+    Archiver.prototype.append = function(source, data) {
+      if (this._state.finalize || this._state.aborted) {
+        this.emit("error", new ArchiverError("QUEUECLOSED"));
+        return this;
       }
-      var fs$WriteStream = fs4.WriteStream;
-      if (fs$WriteStream) {
-        WriteStream.prototype = Object.create(fs$WriteStream.prototype);
-        WriteStream.prototype.open = WriteStream$open;
+      data = this._normalizeEntryData(data);
+      if (typeof data.name !== "string" || data.name.length === 0) {
+        this.emit("error", new ArchiverError("ENTRYNAMEREQUIRED"));
+        return this;
       }
-      Object.defineProperty(fs4, "ReadStream", {
-        get: function() {
-          return ReadStream;
-        },
-        set: function(val) {
-          ReadStream = val;
-        },
-        enumerable: true,
-        configurable: true
-      });
-      Object.defineProperty(fs4, "WriteStream", {
-        get: function() {
-          return WriteStream;
-        },
-        set: function(val) {
-          WriteStream = val;
-        },
-        enumerable: true,
-        configurable: true
-      });
-      var FileReadStream = ReadStream;
-      Object.defineProperty(fs4, "FileReadStream", {
-        get: function() {
-          return FileReadStream;
-        },
-        set: function(val) {
-          FileReadStream = val;
-        },
-        enumerable: true,
-        configurable: true
-      });
-      var FileWriteStream = WriteStream;
-      Object.defineProperty(fs4, "FileWriteStream", {
-        get: function() {
-          return FileWriteStream;
-        },
-        set: function(val) {
-          FileWriteStream = val;
-        },
-        enumerable: true,
-        configurable: true
+      if (data.type === "directory" && !this._moduleSupports("directory")) {
+        this.emit("error", new ArchiverError("DIRECTORYNOTSUPPORTED", { name: data.name }));
+        return this;
+      }
+      source = util.normalizeInputSource(source);
+      if (Buffer.isBuffer(source)) {
+        data.sourceType = "buffer";
+      } else if (util.isStream(source)) {
+        data.sourceType = "stream";
+      } else {
+        this.emit("error", new ArchiverError("INPUTSTEAMBUFFERREQUIRED", { name: data.name }));
+        return this;
+      }
+      this._entriesCount++;
+      this._queue.push({
+        data,
+        source
       });
-      function ReadStream(path3, options) {
-        if (this instanceof ReadStream)
-          return fs$ReadStream.apply(this, arguments), this;
-        else
-          return ReadStream.apply(Object.create(ReadStream.prototype), arguments);
+      return this;
+    };
+    Archiver.prototype.directory = function(dirpath, destpath, data) {
+      if (this._state.finalize || this._state.aborted) {
+        this.emit("error", new ArchiverError("QUEUECLOSED"));
+        return this;
       }
-      function ReadStream$open() {
-        var that = this;
-        open(that.path, that.flags, that.mode, function(err, fd) {
-          if (err) {
-            if (that.autoClose)
-              that.destroy();
-            that.emit("error", err);
-          } else {
-            that.fd = fd;
-            that.emit("open", fd);
-            that.read();
-          }
-        });
+      if (typeof dirpath !== "string" || dirpath.length === 0) {
+        this.emit("error", new ArchiverError("DIRECTORYDIRPATHREQUIRED"));
+        return this;
       }
-      function WriteStream(path3, options) {
-        if (this instanceof WriteStream)
-          return fs$WriteStream.apply(this, arguments), this;
-        else
-          return WriteStream.apply(Object.create(WriteStream.prototype), arguments);
+      this._pending++;
+      if (destpath === false) {
+        destpath = "";
+      } else if (typeof destpath !== "string") {
+        destpath = dirpath;
       }
-      function WriteStream$open() {
-        var that = this;
-        open(that.path, that.flags, that.mode, function(err, fd) {
-          if (err) {
-            that.destroy();
-            that.emit("error", err);
-          } else {
-            that.fd = fd;
-            that.emit("open", fd);
+      var dataFunction = false;
+      if (typeof data === "function") {
+        dataFunction = data;
+        data = {};
+      } else if (typeof data !== "object") {
+        data = {};
+      }
+      var globOptions = {
+        stat: true,
+        dot: true
+      };
+      function onGlobEnd() {
+        this._pending--;
+        this._maybeFinalize();
+      }
+      function onGlobError(err) {
+        this.emit("error", err);
+      }
+      function onGlobMatch(match) {
+        globber.pause();
+        var ignoreMatch = false;
+        var entryData = Object.assign({}, data);
+        entryData.name = match.relative;
+        entryData.prefix = destpath;
+        entryData.stats = match.stat;
+        entryData.callback = globber.resume.bind(globber);
+        try {
+          if (dataFunction) {
+            entryData = dataFunction(entryData);
+            if (entryData === false) {
+              ignoreMatch = true;
+            } else if (typeof entryData !== "object") {
+              throw new ArchiverError("DIRECTORYFUNCTIONINVALIDDATA", { dirpath });
+            }
           }
-        });
+        } catch (e) {
+          this.emit("error", e);
+          return;
+        }
+        if (ignoreMatch) {
+          globber.resume();
+          return;
+        }
+        this._append(match.absolute, entryData);
+      }
+      var globber = glob2(dirpath, globOptions);
+      globber.on("error", onGlobError.bind(this));
+      globber.on("match", onGlobMatch.bind(this));
+      globber.on("end", onGlobEnd.bind(this));
+      return this;
+    };
+    Archiver.prototype.file = function(filepath, data) {
+      if (this._state.finalize || this._state.aborted) {
+        this.emit("error", new ArchiverError("QUEUECLOSED"));
+        return this;
       }
-      function createReadStream(path3, options) {
-        return new fs4.ReadStream(path3, options);
+      if (typeof filepath !== "string" || filepath.length === 0) {
+        this.emit("error", new ArchiverError("FILEFILEPATHREQUIRED"));
+        return this;
       }
-      function createWriteStream3(path3, options) {
-        return new fs4.WriteStream(path3, options);
+      this._append(filepath, data);
+      return this;
+    };
+    Archiver.prototype.glob = function(pattern, options, data) {
+      this._pending++;
+      options = util.defaults(options, {
+        stat: true,
+        pattern
+      });
+      function onGlobEnd() {
+        this._pending--;
+        this._maybeFinalize();
       }
-      var fs$open = fs4.open;
-      fs4.open = open;
-      function open(path3, flags, mode, cb) {
-        if (typeof mode === "function")
-          cb = mode, mode = null;
-        return go$open(path3, flags, mode, cb);
-        function go$open(path4, flags2, mode2, cb2, startTime) {
-          return fs$open(path4, flags2, mode2, function(err, fd) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([go$open, [path4, flags2, mode2, cb2], err, startTime || Date.now(), Date.now()]);
-            else {
-              if (typeof cb2 === "function")
-                cb2.apply(this, arguments);
-            }
-          });
-        }
+      function onGlobError(err) {
+        this.emit("error", err);
       }
-      return fs4;
-    }
-    function enqueue(elem) {
-      debug4("ENQUEUE", elem[0].name, elem[1]);
-      fs3[gracefulQueue].push(elem);
-      retry2();
-    }
-    var retryTimer;
-    function resetQueue() {
-      var now = Date.now();
-      for (var i = 0; i < fs3[gracefulQueue].length; ++i) {
-        if (fs3[gracefulQueue][i].length > 2) {
-          fs3[gracefulQueue][i][3] = now;
-          fs3[gracefulQueue][i][4] = now;
-        }
+      function onGlobMatch(match) {
+        globber.pause();
+        var entryData = Object.assign({}, data);
+        entryData.callback = globber.resume.bind(globber);
+        entryData.stats = match.stat;
+        entryData.name = match.relative;
+        this._append(match.absolute, entryData);
       }
-      retry2();
-    }
-    function retry2() {
-      clearTimeout(retryTimer);
-      retryTimer = void 0;
-      if (fs3[gracefulQueue].length === 0)
-        return;
-      var elem = fs3[gracefulQueue].shift();
-      var fn = elem[0];
-      var args = elem[1];
-      var err = elem[2];
-      var startTime = elem[3];
-      var lastTime = elem[4];
-      if (startTime === void 0) {
-        debug4("RETRY", fn.name, args);
-        fn.apply(null, args);
-      } else if (Date.now() - startTime >= 6e4) {
-        debug4("TIMEOUT", fn.name, args);
-        var cb = args.pop();
-        if (typeof cb === "function")
-          cb.call(null, err);
-      } else {
-        var sinceAttempt = Date.now() - lastTime;
-        var sinceStart = Math.max(lastTime - startTime, 1);
-        var desiredDelay = Math.min(sinceStart * 1.2, 100);
-        if (sinceAttempt >= desiredDelay) {
-          debug4("RETRY", fn.name, args);
-          fn.apply(null, args.concat([startTime]));
-        } else {
-          fs3[gracefulQueue].push(elem);
-        }
+      var globber = glob2(options.cwd || ".", options);
+      globber.on("error", onGlobError.bind(this));
+      globber.on("match", onGlobMatch.bind(this));
+      globber.on("end", onGlobEnd.bind(this));
+      return this;
+    };
+    Archiver.prototype.finalize = function() {
+      if (this._state.aborted) {
+        var abortedError = new ArchiverError("ABORTED");
+        this.emit("error", abortedError);
+        return Promise.reject(abortedError);
       }
-      if (retryTimer === void 0) {
-        retryTimer = setTimeout(retry2, 0);
+      if (this._state.finalize) {
+        var finalizingError = new ArchiverError("FINALIZING");
+        this.emit("error", finalizingError);
+        return Promise.reject(finalizingError);
       }
-    }
-  }
-});
-
-// node_modules/archiver-utils/node_modules/is-stream/index.js
-var require_is_stream = __commonJS({
-  "node_modules/archiver-utils/node_modules/is-stream/index.js"(exports2, module2) {
-    "use strict";
-    var isStream = (stream) => stream !== null && typeof stream === "object" && typeof stream.pipe === "function";
-    isStream.writable = (stream) => isStream(stream) && stream.writable !== false && typeof stream._write === "function" && typeof stream._writableState === "object";
-    isStream.readable = (stream) => isStream(stream) && stream.readable !== false && typeof stream._read === "function" && typeof stream._readableState === "object";
-    isStream.duplex = (stream) => isStream.writable(stream) && isStream.readable(stream);
-    isStream.transform = (stream) => isStream.duplex(stream) && typeof stream._transform === "function";
-    module2.exports = isStream;
-  }
-});
-
-// node_modules/process-nextick-args/index.js
-var require_process_nextick_args = __commonJS({
-  "node_modules/process-nextick-args/index.js"(exports2, module2) {
-    "use strict";
-    if (typeof process === "undefined" || !process.version || process.version.indexOf("v0.") === 0 || process.version.indexOf("v1.") === 0 && process.version.indexOf("v1.8.") !== 0) {
-      module2.exports = { nextTick };
-    } else {
-      module2.exports = process;
-    }
-    function nextTick(fn, arg1, arg2, arg3) {
-      if (typeof fn !== "function") {
-        throw new TypeError('"callback" argument must be a function');
+      this._state.finalize = true;
+      if (this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
+        this._finalize();
       }
-      var len = arguments.length;
-      var args, i;
-      switch (len) {
-        case 0:
-        case 1:
-          return process.nextTick(fn);
-        case 2:
-          return process.nextTick(function afterTickOne() {
-            fn.call(null, arg1);
-          });
-        case 3:
-          return process.nextTick(function afterTickTwo() {
-            fn.call(null, arg1, arg2);
-          });
-        case 4:
-          return process.nextTick(function afterTickThree() {
-            fn.call(null, arg1, arg2, arg3);
-          });
-        default:
-          args = new Array(len - 1);
-          i = 0;
-          while (i < args.length) {
-            args[i++] = arguments[i];
+      var self2 = this;
+      return new Promise(function(resolve2, reject) {
+        var errored;
+        self2._module.on("end", function() {
+          if (!errored) {
+            resolve2();
           }
-          return process.nextTick(function afterTick() {
-            fn.apply(null, args);
-          });
+        });
+        self2._module.on("error", function(err) {
+          errored = true;
+          reject(err);
+        });
+      });
+    };
+    Archiver.prototype.setFormat = function(format) {
+      if (this._format) {
+        this.emit("error", new ArchiverError("FORMATSET"));
+        return this;
       }
-    }
-  }
-});
-
-// node_modules/lazystream/node_modules/isarray/index.js
-var require_isarray = __commonJS({
-  "node_modules/lazystream/node_modules/isarray/index.js"(exports2, module2) {
-    var toString2 = {}.toString;
-    module2.exports = Array.isArray || function(arr) {
-      return toString2.call(arr) == "[object Array]";
+      this._format = format;
+      return this;
     };
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/stream.js
-var require_stream = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/stream.js"(exports2, module2) {
-    module2.exports = require("stream");
-  }
-});
-
-// node_modules/lazystream/node_modules/safe-buffer/index.js
-var require_safe_buffer = __commonJS({
-  "node_modules/lazystream/node_modules/safe-buffer/index.js"(exports2, module2) {
-    var buffer = require("buffer");
-    var Buffer2 = buffer.Buffer;
-    function copyProps(src, dst) {
-      for (var key in src) {
-        dst[key] = src[key];
+    Archiver.prototype.setModule = function(module3) {
+      if (this._state.aborted) {
+        this.emit("error", new ArchiverError("ABORTED"));
+        return this;
       }
-    }
-    if (Buffer2.from && Buffer2.alloc && Buffer2.allocUnsafe && Buffer2.allocUnsafeSlow) {
-      module2.exports = buffer;
-    } else {
-      copyProps(buffer, exports2);
-      exports2.Buffer = SafeBuffer;
-    }
-    function SafeBuffer(arg, encodingOrOffset, length) {
-      return Buffer2(arg, encodingOrOffset, length);
-    }
-    copyProps(Buffer2, SafeBuffer);
-    SafeBuffer.from = function(arg, encodingOrOffset, length) {
-      if (typeof arg === "number") {
-        throw new TypeError("Argument must not be a number");
+      if (this._state.module) {
+        this.emit("error", new ArchiverError("MODULESET"));
+        return this;
       }
-      return Buffer2(arg, encodingOrOffset, length);
+      this._module = module3;
+      this._modulePipe();
+      return this;
     };
-    SafeBuffer.alloc = function(size, fill, encoding) {
-      if (typeof size !== "number") {
-        throw new TypeError("Argument must be a number");
+    Archiver.prototype.symlink = function(filepath, target, mode) {
+      if (this._state.finalize || this._state.aborted) {
+        this.emit("error", new ArchiverError("QUEUECLOSED"));
+        return this;
       }
-      var buf = Buffer2(size);
-      if (fill !== void 0) {
-        if (typeof encoding === "string") {
-          buf.fill(fill, encoding);
-        } else {
-          buf.fill(fill);
-        }
-      } else {
-        buf.fill(0);
+      if (typeof filepath !== "string" || filepath.length === 0) {
+        this.emit("error", new ArchiverError("SYMLINKFILEPATHREQUIRED"));
+        return this;
       }
-      return buf;
-    };
-    SafeBuffer.allocUnsafe = function(size) {
-      if (typeof size !== "number") {
-        throw new TypeError("Argument must be a number");
+      if (typeof target !== "string" || target.length === 0) {
+        this.emit("error", new ArchiverError("SYMLINKTARGETREQUIRED", { filepath }));
+        return this;
       }
-      return Buffer2(size);
-    };
-    SafeBuffer.allocUnsafeSlow = function(size) {
-      if (typeof size !== "number") {
-        throw new TypeError("Argument must be a number");
+      if (!this._moduleSupports("symlink")) {
+        this.emit("error", new ArchiverError("SYMLINKNOTSUPPORTED", { filepath }));
+        return this;
       }
-      return buffer.SlowBuffer(size);
-    };
-  }
-});
-
-// node_modules/core-util-is/lib/util.js
-var require_util18 = __commonJS({
-  "node_modules/core-util-is/lib/util.js"(exports2) {
-    function isArray(arg) {
-      if (Array.isArray) {
-        return Array.isArray(arg);
+      var data = {};
+      data.type = "symlink";
+      data.name = filepath.replace(/\\/g, "/");
+      data.linkname = target.replace(/\\/g, "/");
+      data.sourceType = "buffer";
+      if (typeof mode === "number") {
+        data.mode = mode;
       }
-      return objectToString(arg) === "[object Array]";
-    }
-    exports2.isArray = isArray;
-    function isBoolean2(arg) {
-      return typeof arg === "boolean";
-    }
-    exports2.isBoolean = isBoolean2;
-    function isNull2(arg) {
-      return arg === null;
-    }
-    exports2.isNull = isNull2;
-    function isNullOrUndefined(arg) {
-      return arg == null;
-    }
-    exports2.isNullOrUndefined = isNullOrUndefined;
-    function isNumber(arg) {
-      return typeof arg === "number";
-    }
-    exports2.isNumber = isNumber;
-    function isString(arg) {
-      return typeof arg === "string";
-    }
-    exports2.isString = isString;
-    function isSymbol(arg) {
-      return typeof arg === "symbol";
-    }
-    exports2.isSymbol = isSymbol;
-    function isUndefined(arg) {
-      return arg === void 0;
-    }
-    exports2.isUndefined = isUndefined;
-    function isRegExp(re) {
-      return objectToString(re) === "[object RegExp]";
-    }
-    exports2.isRegExp = isRegExp;
-    function isObject2(arg) {
-      return typeof arg === "object" && arg !== null;
-    }
-    exports2.isObject = isObject2;
-    function isDate(d) {
-      return objectToString(d) === "[object Date]";
-    }
-    exports2.isDate = isDate;
-    function isError(e) {
-      return objectToString(e) === "[object Error]" || e instanceof Error;
-    }
-    exports2.isError = isError;
-    function isFunction(arg) {
-      return typeof arg === "function";
-    }
-    exports2.isFunction = isFunction;
-    function isPrimitive(arg) {
-      return arg === null || typeof arg === "boolean" || typeof arg === "number" || typeof arg === "string" || typeof arg === "symbol" || // ES6 symbol
-      typeof arg === "undefined";
-    }
-    exports2.isPrimitive = isPrimitive;
-    exports2.isBuffer = require("buffer").Buffer.isBuffer;
-    function objectToString(o) {
-      return Object.prototype.toString.call(o);
-    }
-  }
-});
-
-// node_modules/inherits/inherits_browser.js
-var require_inherits_browser = __commonJS({
-  "node_modules/inherits/inherits_browser.js"(exports2, module2) {
-    if (typeof Object.create === "function") {
-      module2.exports = function inherits(ctor, superCtor) {
-        ctor.super_ = superCtor;
-        ctor.prototype = Object.create(superCtor.prototype, {
-          constructor: {
-            value: ctor,
-            enumerable: false,
-            writable: true,
-            configurable: true
-          }
-        });
-      };
-    } else {
-      module2.exports = function inherits(ctor, superCtor) {
-        ctor.super_ = superCtor;
-        var TempCtor = function() {
-        };
-        TempCtor.prototype = superCtor.prototype;
-        ctor.prototype = new TempCtor();
-        ctor.prototype.constructor = ctor;
-      };
-    }
+      this._entriesCount++;
+      this._queue.push({
+        data,
+        source: Buffer.concat([])
+      });
+      return this;
+    };
+    Archiver.prototype.pointer = function() {
+      return this._pointer;
+    };
+    Archiver.prototype.use = function(plugin) {
+      this._streams.push(plugin);
+      return this;
+    };
+    module2.exports = Archiver;
   }
 });
 
-// node_modules/inherits/inherits.js
-var require_inherits = __commonJS({
-  "node_modules/inherits/inherits.js"(exports2, module2) {
-    try {
-      util = require("util");
-      if (typeof util.inherits !== "function") throw "";
-      module2.exports = util.inherits;
-    } catch (e) {
-      module2.exports = require_inherits_browser();
-    }
-    var util;
+// node_modules/compress-commons/lib/archivers/archive-entry.js
+var require_archive_entry = __commonJS({
+  "node_modules/compress-commons/lib/archivers/archive-entry.js"(exports2, module2) {
+    var ArchiveEntry = module2.exports = function() {
+    };
+    ArchiveEntry.prototype.getName = function() {
+    };
+    ArchiveEntry.prototype.getSize = function() {
+    };
+    ArchiveEntry.prototype.getLastModifiedDate = function() {
+    };
+    ArchiveEntry.prototype.isDirectory = function() {
+    };
   }
 });
 
-// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/BufferList.js
-var require_BufferList = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/BufferList.js"(exports2, module2) {
-    "use strict";
-    function _classCallCheck(instance, Constructor) {
-      if (!(instance instanceof Constructor)) {
-        throw new TypeError("Cannot call a class as a function");
-      }
-    }
-    var Buffer2 = require_safe_buffer().Buffer;
-    var util = require("util");
-    function copyBuffer(src, target, offset) {
-      src.copy(target, offset);
-    }
-    module2.exports = (function() {
-      function BufferList() {
-        _classCallCheck(this, BufferList);
-        this.head = null;
-        this.tail = null;
-        this.length = 0;
+// node_modules/compress-commons/lib/archivers/zip/util.js
+var require_util21 = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/util.js"(exports2, module2) {
+    var util = module2.exports = {};
+    util.dateToDos = function(d, forceLocalTime) {
+      forceLocalTime = forceLocalTime || false;
+      var year = forceLocalTime ? d.getFullYear() : d.getUTCFullYear();
+      if (year < 1980) {
+        return 2162688;
+      } else if (year >= 2044) {
+        return 2141175677;
       }
-      BufferList.prototype.push = function push(v) {
-        var entry = { data: v, next: null };
-        if (this.length > 0) this.tail.next = entry;
-        else this.head = entry;
-        this.tail = entry;
-        ++this.length;
-      };
-      BufferList.prototype.unshift = function unshift(v) {
-        var entry = { data: v, next: this.head };
-        if (this.length === 0) this.tail = entry;
-        this.head = entry;
-        ++this.length;
-      };
-      BufferList.prototype.shift = function shift() {
-        if (this.length === 0) return;
-        var ret = this.head.data;
-        if (this.length === 1) this.head = this.tail = null;
-        else this.head = this.head.next;
-        --this.length;
-        return ret;
-      };
-      BufferList.prototype.clear = function clear() {
-        this.head = this.tail = null;
-        this.length = 0;
-      };
-      BufferList.prototype.join = function join3(s) {
-        if (this.length === 0) return "";
-        var p = this.head;
-        var ret = "" + p.data;
-        while (p = p.next) {
-          ret += s + p.data;
-        }
-        return ret;
-      };
-      BufferList.prototype.concat = function concat(n) {
-        if (this.length === 0) return Buffer2.alloc(0);
-        var ret = Buffer2.allocUnsafe(n >>> 0);
-        var p = this.head;
-        var i = 0;
-        while (p) {
-          copyBuffer(p.data, ret, i);
-          i += p.data.length;
-          p = p.next;
-        }
-        return ret;
-      };
-      return BufferList;
-    })();
-    if (util && util.inspect && util.inspect.custom) {
-      module2.exports.prototype[util.inspect.custom] = function() {
-        var obj = util.inspect({ length: this.length });
-        return this.constructor.name + " " + obj;
+      var val = {
+        year,
+        month: forceLocalTime ? d.getMonth() : d.getUTCMonth(),
+        date: forceLocalTime ? d.getDate() : d.getUTCDate(),
+        hours: forceLocalTime ? d.getHours() : d.getUTCHours(),
+        minutes: forceLocalTime ? d.getMinutes() : d.getUTCMinutes(),
+        seconds: forceLocalTime ? d.getSeconds() : d.getUTCSeconds()
       };
-    }
+      return val.year - 1980 << 25 | val.month + 1 << 21 | val.date << 16 | val.hours << 11 | val.minutes << 5 | val.seconds / 2;
+    };
+    util.dosToDate = function(dos) {
+      return new Date((dos >> 25 & 127) + 1980, (dos >> 21 & 15) - 1, dos >> 16 & 31, dos >> 11 & 31, dos >> 5 & 63, (dos & 31) << 1);
+    };
+    util.fromDosTime = function(buf) {
+      return util.dosToDate(buf.readUInt32LE(0));
+    };
+    util.getEightBytes = function(v) {
+      var buf = Buffer.alloc(8);
+      buf.writeUInt32LE(v % 4294967296, 0);
+      buf.writeUInt32LE(v / 4294967296 | 0, 4);
+      return buf;
+    };
+    util.getShortBytes = function(v) {
+      var buf = Buffer.alloc(2);
+      buf.writeUInt16LE((v & 65535) >>> 0, 0);
+      return buf;
+    };
+    util.getShortBytesValue = function(buf, offset) {
+      return buf.readUInt16LE(offset);
+    };
+    util.getLongBytes = function(v) {
+      var buf = Buffer.alloc(4);
+      buf.writeUInt32LE((v & 4294967295) >>> 0, 0);
+      return buf;
+    };
+    util.getLongBytesValue = function(buf, offset) {
+      return buf.readUInt32LE(offset);
+    };
+    util.toDosTime = function(d) {
+      return util.getLongBytes(util.dateToDos(d));
+    };
   }
 });
 
-// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/destroy.js
-var require_destroy = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/destroy.js"(exports2, module2) {
-    "use strict";
-    var pna = require_process_nextick_args();
-    function destroy(err, cb) {
-      var _this = this;
-      var readableDestroyed = this._readableState && this._readableState.destroyed;
-      var writableDestroyed = this._writableState && this._writableState.destroyed;
-      if (readableDestroyed || writableDestroyed) {
-        if (cb) {
-          cb(err);
-        } else if (err) {
-          if (!this._writableState) {
-            pna.nextTick(emitErrorNT, this, err);
-          } else if (!this._writableState.errorEmitted) {
-            this._writableState.errorEmitted = true;
-            pna.nextTick(emitErrorNT, this, err);
-          }
-        }
-        return this;
-      }
-      if (this._readableState) {
-        this._readableState.destroyed = true;
-      }
-      if (this._writableState) {
-        this._writableState.destroyed = true;
+// node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js
+var require_general_purpose_bit = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js"(exports2, module2) {
+    var zipUtil = require_util21();
+    var DATA_DESCRIPTOR_FLAG = 1 << 3;
+    var ENCRYPTION_FLAG = 1 << 0;
+    var NUMBER_OF_SHANNON_FANO_TREES_FLAG = 1 << 2;
+    var SLIDING_DICTIONARY_SIZE_FLAG = 1 << 1;
+    var STRONG_ENCRYPTION_FLAG = 1 << 6;
+    var UFT8_NAMES_FLAG = 1 << 11;
+    var GeneralPurposeBit = module2.exports = function() {
+      if (!(this instanceof GeneralPurposeBit)) {
+        return new GeneralPurposeBit();
       }
-      this._destroy(err || null, function(err2) {
-        if (!cb && err2) {
-          if (!_this._writableState) {
-            pna.nextTick(emitErrorNT, _this, err2);
-          } else if (!_this._writableState.errorEmitted) {
-            _this._writableState.errorEmitted = true;
-            pna.nextTick(emitErrorNT, _this, err2);
-          }
-        } else if (cb) {
-          cb(err2);
-        }
-      });
+      this.descriptor = false;
+      this.encryption = false;
+      this.utf8 = false;
+      this.numberOfShannonFanoTrees = 0;
+      this.strongEncryption = false;
+      this.slidingDictionarySize = 0;
       return this;
-    }
-    function undestroy() {
-      if (this._readableState) {
-        this._readableState.destroyed = false;
-        this._readableState.reading = false;
-        this._readableState.ended = false;
-        this._readableState.endEmitted = false;
-      }
-      if (this._writableState) {
-        this._writableState.destroyed = false;
-        this._writableState.ended = false;
-        this._writableState.ending = false;
-        this._writableState.finalCalled = false;
-        this._writableState.prefinished = false;
-        this._writableState.finished = false;
-        this._writableState.errorEmitted = false;
-      }
-    }
-    function emitErrorNT(self2, err) {
-      self2.emit("error", err);
-    }
+    };
+    GeneralPurposeBit.prototype.encode = function() {
+      return zipUtil.getShortBytes(
+        (this.descriptor ? DATA_DESCRIPTOR_FLAG : 0) | (this.utf8 ? UFT8_NAMES_FLAG : 0) | (this.encryption ? ENCRYPTION_FLAG : 0) | (this.strongEncryption ? STRONG_ENCRYPTION_FLAG : 0)
+      );
+    };
+    GeneralPurposeBit.prototype.parse = function(buf, offset) {
+      var flag = zipUtil.getShortBytesValue(buf, offset);
+      var gbp = new GeneralPurposeBit();
+      gbp.useDataDescriptor((flag & DATA_DESCRIPTOR_FLAG) !== 0);
+      gbp.useUTF8ForNames((flag & UFT8_NAMES_FLAG) !== 0);
+      gbp.useStrongEncryption((flag & STRONG_ENCRYPTION_FLAG) !== 0);
+      gbp.useEncryption((flag & ENCRYPTION_FLAG) !== 0);
+      gbp.setSlidingDictionarySize((flag & SLIDING_DICTIONARY_SIZE_FLAG) !== 0 ? 8192 : 4096);
+      gbp.setNumberOfShannonFanoTrees((flag & NUMBER_OF_SHANNON_FANO_TREES_FLAG) !== 0 ? 3 : 2);
+      return gbp;
+    };
+    GeneralPurposeBit.prototype.setNumberOfShannonFanoTrees = function(n) {
+      this.numberOfShannonFanoTrees = n;
+    };
+    GeneralPurposeBit.prototype.getNumberOfShannonFanoTrees = function() {
+      return this.numberOfShannonFanoTrees;
+    };
+    GeneralPurposeBit.prototype.setSlidingDictionarySize = function(n) {
+      this.slidingDictionarySize = n;
+    };
+    GeneralPurposeBit.prototype.getSlidingDictionarySize = function() {
+      return this.slidingDictionarySize;
+    };
+    GeneralPurposeBit.prototype.useDataDescriptor = function(b) {
+      this.descriptor = b;
+    };
+    GeneralPurposeBit.prototype.usesDataDescriptor = function() {
+      return this.descriptor;
+    };
+    GeneralPurposeBit.prototype.useEncryption = function(b) {
+      this.encryption = b;
+    };
+    GeneralPurposeBit.prototype.usesEncryption = function() {
+      return this.encryption;
+    };
+    GeneralPurposeBit.prototype.useStrongEncryption = function(b) {
+      this.strongEncryption = b;
+    };
+    GeneralPurposeBit.prototype.usesStrongEncryption = function() {
+      return this.strongEncryption;
+    };
+    GeneralPurposeBit.prototype.useUTF8ForNames = function(b) {
+      this.utf8 = b;
+    };
+    GeneralPurposeBit.prototype.usesUTF8ForNames = function() {
+      return this.utf8;
+    };
+  }
+});
+
+// node_modules/compress-commons/lib/archivers/zip/unix-stat.js
+var require_unix_stat = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/unix-stat.js"(exports2, module2) {
     module2.exports = {
-      destroy,
-      undestroy
+      /**
+       * Bits used for permissions (and sticky bit)
+       */
+      PERM_MASK: 4095,
+      // 07777
+      /**
+       * Bits used to indicate the filesystem object type.
+       */
+      FILE_TYPE_FLAG: 61440,
+      // 0170000
+      /**
+       * Indicates symbolic links.
+       */
+      LINK_FLAG: 40960,
+      // 0120000
+      /**
+       * Indicates plain files.
+       */
+      FILE_FLAG: 32768,
+      // 0100000
+      /**
+       * Indicates directories.
+       */
+      DIR_FLAG: 16384,
+      // 040000
+      // ----------------------------------------------------------
+      // somewhat arbitrary choices that are quite common for shared
+      // installations
+      // -----------------------------------------------------------
+      /**
+       * Default permissions for symbolic links.
+       */
+      DEFAULT_LINK_PERM: 511,
+      // 0777
+      /**
+       * Default permissions for directories.
+       */
+      DEFAULT_DIR_PERM: 493,
+      // 0755
+      /**
+       * Default permissions for plain files.
+       */
+      DEFAULT_FILE_PERM: 420
+      // 0644
     };
   }
 });
 
-// node_modules/util-deprecate/node.js
-var require_node2 = __commonJS({
-  "node_modules/util-deprecate/node.js"(exports2, module2) {
-    module2.exports = require("util").deprecate;
+// node_modules/compress-commons/lib/archivers/zip/constants.js
+var require_constants17 = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/constants.js"(exports2, module2) {
+    module2.exports = {
+      WORD: 4,
+      DWORD: 8,
+      EMPTY: Buffer.alloc(0),
+      SHORT: 2,
+      SHORT_MASK: 65535,
+      SHORT_SHIFT: 16,
+      SHORT_ZERO: Buffer.from(Array(2)),
+      LONG: 4,
+      LONG_ZERO: Buffer.from(Array(4)),
+      MIN_VERSION_INITIAL: 10,
+      MIN_VERSION_DATA_DESCRIPTOR: 20,
+      MIN_VERSION_ZIP64: 45,
+      VERSION_MADEBY: 45,
+      METHOD_STORED: 0,
+      METHOD_DEFLATED: 8,
+      PLATFORM_UNIX: 3,
+      PLATFORM_FAT: 0,
+      SIG_LFH: 67324752,
+      SIG_DD: 134695760,
+      SIG_CFH: 33639248,
+      SIG_EOCD: 101010256,
+      SIG_ZIP64_EOCD: 101075792,
+      SIG_ZIP64_EOCD_LOC: 117853008,
+      ZIP64_MAGIC_SHORT: 65535,
+      ZIP64_MAGIC: 4294967295,
+      ZIP64_EXTRA_ID: 1,
+      ZLIB_NO_COMPRESSION: 0,
+      ZLIB_BEST_SPEED: 1,
+      ZLIB_BEST_COMPRESSION: 9,
+      ZLIB_DEFAULT_COMPRESSION: -1,
+      MODE_MASK: 4095,
+      DEFAULT_FILE_MODE: 33188,
+      // 010644 = -rw-r--r-- = S_IFREG | S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
+      DEFAULT_DIR_MODE: 16877,
+      // 040755 = drwxr-xr-x = S_IFDIR | S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH
+      EXT_FILE_ATTR_DIR: 1106051088,
+      // 010173200020 = drwxr-xr-x = (((S_IFDIR | 0755) << 16) | S_DOS_D)
+      EXT_FILE_ATTR_FILE: 2175008800,
+      // 020151000040 = -rw-r--r-- = (((S_IFREG | 0644) << 16) | S_DOS_A) >>> 0
+      // Unix file types
+      S_IFMT: 61440,
+      // 0170000 type of file mask
+      S_IFIFO: 4096,
+      // 010000 named pipe (fifo)
+      S_IFCHR: 8192,
+      // 020000 character special
+      S_IFDIR: 16384,
+      // 040000 directory
+      S_IFBLK: 24576,
+      // 060000 block special
+      S_IFREG: 32768,
+      // 0100000 regular
+      S_IFLNK: 40960,
+      // 0120000 symbolic link
+      S_IFSOCK: 49152,
+      // 0140000 socket
+      // DOS file type flags
+      S_DOS_A: 32,
+      // 040 Archive
+      S_DOS_D: 16,
+      // 020 Directory
+      S_DOS_V: 8,
+      // 010 Volume
+      S_DOS_S: 4,
+      // 04 System
+      S_DOS_H: 2,
+      // 02 Hidden
+      S_DOS_R: 1
+      // 01 Read Only
+    };
   }
 });
 
-// node_modules/lazystream/node_modules/readable-stream/lib/_stream_writable.js
-var require_stream_writable = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_writable.js"(exports2, module2) {
-    "use strict";
-    var pna = require_process_nextick_args();
-    module2.exports = Writable;
-    function CorkedRequest(state) {
-      var _this = this;
-      this.next = null;
-      this.entry = null;
-      this.finish = function() {
-        onCorkedFinish(_this, state);
-      };
-    }
-    var asyncWrite = !process.browser && ["v0.10", "v0.9."].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick;
-    var Duplex;
-    Writable.WritableState = WritableState;
-    var util = Object.create(require_util18());
-    util.inherits = require_inherits();
-    var internalUtil = {
-      deprecate: require_node2()
+// node_modules/compress-commons/lib/archivers/zip/zip-archive-entry.js
+var require_zip_archive_entry = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/zip-archive-entry.js"(exports2, module2) {
+    var inherits = require("util").inherits;
+    var normalizePath = require_normalize_path();
+    var ArchiveEntry = require_archive_entry();
+    var GeneralPurposeBit = require_general_purpose_bit();
+    var UnixStat = require_unix_stat();
+    var constants = require_constants17();
+    var zipUtil = require_util21();
+    var ZipArchiveEntry = module2.exports = function(name) {
+      if (!(this instanceof ZipArchiveEntry)) {
+        return new ZipArchiveEntry(name);
+      }
+      ArchiveEntry.call(this);
+      this.platform = constants.PLATFORM_FAT;
+      this.method = -1;
+      this.name = null;
+      this.size = 0;
+      this.csize = 0;
+      this.gpb = new GeneralPurposeBit();
+      this.crc = 0;
+      this.time = -1;
+      this.minver = constants.MIN_VERSION_INITIAL;
+      this.mode = -1;
+      this.extra = null;
+      this.exattr = 0;
+      this.inattr = 0;
+      this.comment = null;
+      if (name) {
+        this.setName(name);
+      }
     };
-    var Stream = require_stream();
-    var Buffer2 = require_safe_buffer().Buffer;
-    var OurUint8Array = (typeof global !== "undefined" ? global : typeof window !== "undefined" ? window : typeof self !== "undefined" ? self : {}).Uint8Array || function() {
+    inherits(ZipArchiveEntry, ArchiveEntry);
+    ZipArchiveEntry.prototype.getCentralDirectoryExtra = function() {
+      return this.getExtra();
     };
-    function _uint8ArrayToBuffer(chunk) {
-      return Buffer2.from(chunk);
-    }
-    function _isUint8Array(obj) {
-      return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array;
-    }
-    var destroyImpl = require_destroy();
-    util.inherits(Writable, Stream);
-    function nop() {
-    }
-    function WritableState(options, stream) {
-      Duplex = Duplex || require_stream_duplex();
-      options = options || {};
-      var isDuplex = stream instanceof Duplex;
-      this.objectMode = !!options.objectMode;
-      if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;
-      var hwm = options.highWaterMark;
-      var writableHwm = options.writableHighWaterMark;
-      var defaultHwm = this.objectMode ? 16 : 16 * 1024;
-      if (hwm || hwm === 0) this.highWaterMark = hwm;
-      else if (isDuplex && (writableHwm || writableHwm === 0)) this.highWaterMark = writableHwm;
-      else this.highWaterMark = defaultHwm;
-      this.highWaterMark = Math.floor(this.highWaterMark);
-      this.finalCalled = false;
-      this.needDrain = false;
-      this.ending = false;
-      this.ended = false;
-      this.finished = false;
-      this.destroyed = false;
-      var noDecode = options.decodeStrings === false;
-      this.decodeStrings = !noDecode;
-      this.defaultEncoding = options.defaultEncoding || "utf8";
-      this.length = 0;
-      this.writing = false;
-      this.corked = 0;
-      this.sync = true;
-      this.bufferProcessing = false;
-      this.onwrite = function(er) {
-        onwrite(stream, er);
-      };
-      this.writecb = null;
-      this.writelen = 0;
-      this.bufferedRequest = null;
-      this.lastBufferedRequest = null;
-      this.pendingcb = 0;
-      this.prefinished = false;
-      this.errorEmitted = false;
-      this.bufferedRequestCount = 0;
-      this.corkedRequestsFree = new CorkedRequest(this);
-    }
-    WritableState.prototype.getBuffer = function getBuffer() {
-      var current = this.bufferedRequest;
-      var out = [];
-      while (current) {
-        out.push(current);
-        current = current.next;
+    ZipArchiveEntry.prototype.getComment = function() {
+      return this.comment !== null ? this.comment : "";
+    };
+    ZipArchiveEntry.prototype.getCompressedSize = function() {
+      return this.csize;
+    };
+    ZipArchiveEntry.prototype.getCrc = function() {
+      return this.crc;
+    };
+    ZipArchiveEntry.prototype.getExternalAttributes = function() {
+      return this.exattr;
+    };
+    ZipArchiveEntry.prototype.getExtra = function() {
+      return this.extra !== null ? this.extra : constants.EMPTY;
+    };
+    ZipArchiveEntry.prototype.getGeneralPurposeBit = function() {
+      return this.gpb;
+    };
+    ZipArchiveEntry.prototype.getInternalAttributes = function() {
+      return this.inattr;
+    };
+    ZipArchiveEntry.prototype.getLastModifiedDate = function() {
+      return this.getTime();
+    };
+    ZipArchiveEntry.prototype.getLocalFileDataExtra = function() {
+      return this.getExtra();
+    };
+    ZipArchiveEntry.prototype.getMethod = function() {
+      return this.method;
+    };
+    ZipArchiveEntry.prototype.getName = function() {
+      return this.name;
+    };
+    ZipArchiveEntry.prototype.getPlatform = function() {
+      return this.platform;
+    };
+    ZipArchiveEntry.prototype.getSize = function() {
+      return this.size;
+    };
+    ZipArchiveEntry.prototype.getTime = function() {
+      return this.time !== -1 ? zipUtil.dosToDate(this.time) : -1;
+    };
+    ZipArchiveEntry.prototype.getTimeDos = function() {
+      return this.time !== -1 ? this.time : 0;
+    };
+    ZipArchiveEntry.prototype.getUnixMode = function() {
+      return this.platform !== constants.PLATFORM_UNIX ? 0 : this.getExternalAttributes() >> constants.SHORT_SHIFT & constants.SHORT_MASK;
+    };
+    ZipArchiveEntry.prototype.getVersionNeededToExtract = function() {
+      return this.minver;
+    };
+    ZipArchiveEntry.prototype.setComment = function(comment) {
+      if (Buffer.byteLength(comment) !== comment.length) {
+        this.getGeneralPurposeBit().useUTF8ForNames(true);
       }
-      return out;
+      this.comment = comment;
     };
-    (function() {
-      try {
-        Object.defineProperty(WritableState.prototype, "buffer", {
-          get: internalUtil.deprecate(function() {
-            return this.getBuffer();
-          }, "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.", "DEP0003")
-        });
-      } catch (_2) {
+    ZipArchiveEntry.prototype.setCompressedSize = function(size) {
+      if (size < 0) {
+        throw new Error("invalid entry compressed size");
       }
-    })();
-    var realHasInstance;
-    if (typeof Symbol === "function" && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === "function") {
-      realHasInstance = Function.prototype[Symbol.hasInstance];
-      Object.defineProperty(Writable, Symbol.hasInstance, {
-        value: function(object) {
-          if (realHasInstance.call(this, object)) return true;
-          if (this !== Writable) return false;
-          return object && object._writableState instanceof WritableState;
-        }
-      });
-    } else {
-      realHasInstance = function(object) {
-        return object instanceof this;
-      };
-    }
-    function Writable(options) {
-      Duplex = Duplex || require_stream_duplex();
-      if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) {
-        return new Writable(options);
+      this.csize = size;
+    };
+    ZipArchiveEntry.prototype.setCrc = function(crc) {
+      if (crc < 0) {
+        throw new Error("invalid entry crc32");
       }
-      this._writableState = new WritableState(options, this);
-      this.writable = true;
-      if (options) {
-        if (typeof options.write === "function") this._write = options.write;
-        if (typeof options.writev === "function") this._writev = options.writev;
-        if (typeof options.destroy === "function") this._destroy = options.destroy;
-        if (typeof options.final === "function") this._final = options.final;
+      this.crc = crc;
+    };
+    ZipArchiveEntry.prototype.setExternalAttributes = function(attr) {
+      this.exattr = attr >>> 0;
+    };
+    ZipArchiveEntry.prototype.setExtra = function(extra) {
+      this.extra = extra;
+    };
+    ZipArchiveEntry.prototype.setGeneralPurposeBit = function(gpb) {
+      if (!(gpb instanceof GeneralPurposeBit)) {
+        throw new Error("invalid entry GeneralPurposeBit");
       }
-      Stream.call(this);
-    }
-    Writable.prototype.pipe = function() {
-      this.emit("error", new Error("Cannot pipe, not readable"));
+      this.gpb = gpb;
     };
-    function writeAfterEnd(stream, cb) {
-      var er = new Error("write after end");
-      stream.emit("error", er);
-      pna.nextTick(cb, er);
-    }
-    function validChunk(stream, state, chunk, cb) {
-      var valid3 = true;
-      var er = false;
-      if (chunk === null) {
-        er = new TypeError("May not write null values to stream");
-      } else if (typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) {
-        er = new TypeError("Invalid non-string/buffer chunk");
+    ZipArchiveEntry.prototype.setInternalAttributes = function(attr) {
+      this.inattr = attr;
+    };
+    ZipArchiveEntry.prototype.setMethod = function(method) {
+      if (method < 0) {
+        throw new Error("invalid entry compression method");
       }
-      if (er) {
-        stream.emit("error", er);
-        pna.nextTick(cb, er);
-        valid3 = false;
+      this.method = method;
+    };
+    ZipArchiveEntry.prototype.setName = function(name, prependSlash = false) {
+      name = normalizePath(name, false).replace(/^\w+:/, "").replace(/^(\.\.\/|\/)+/, "");
+      if (prependSlash) {
+        name = `/${name}`;
       }
-      return valid3;
-    }
-    Writable.prototype.write = function(chunk, encoding, cb) {
-      var state = this._writableState;
-      var ret = false;
-      var isBuf = !state.objectMode && _isUint8Array(chunk);
-      if (isBuf && !Buffer2.isBuffer(chunk)) {
-        chunk = _uint8ArrayToBuffer(chunk);
+      if (Buffer.byteLength(name) !== name.length) {
+        this.getGeneralPurposeBit().useUTF8ForNames(true);
       }
-      if (typeof encoding === "function") {
-        cb = encoding;
-        encoding = null;
+      this.name = name;
+    };
+    ZipArchiveEntry.prototype.setPlatform = function(platform) {
+      this.platform = platform;
+    };
+    ZipArchiveEntry.prototype.setSize = function(size) {
+      if (size < 0) {
+        throw new Error("invalid entry size");
       }
-      if (isBuf) encoding = "buffer";
-      else if (!encoding) encoding = state.defaultEncoding;
-      if (typeof cb !== "function") cb = nop;
-      if (state.ended) writeAfterEnd(this, cb);
-      else if (isBuf || validChunk(this, state, chunk, cb)) {
-        state.pendingcb++;
-        ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);
+      this.size = size;
+    };
+    ZipArchiveEntry.prototype.setTime = function(time, forceLocalTime) {
+      if (!(time instanceof Date)) {
+        throw new Error("invalid entry time");
       }
-      return ret;
+      this.time = zipUtil.dateToDos(time, forceLocalTime);
     };
-    Writable.prototype.cork = function() {
-      var state = this._writableState;
-      state.corked++;
+    ZipArchiveEntry.prototype.setUnixMode = function(mode) {
+      mode |= this.isDirectory() ? constants.S_IFDIR : constants.S_IFREG;
+      var extattr = 0;
+      extattr |= mode << constants.SHORT_SHIFT | (this.isDirectory() ? constants.S_DOS_D : constants.S_DOS_A);
+      this.setExternalAttributes(extattr);
+      this.mode = mode & constants.MODE_MASK;
+      this.platform = constants.PLATFORM_UNIX;
     };
-    Writable.prototype.uncork = function() {
-      var state = this._writableState;
-      if (state.corked) {
-        state.corked--;
-        if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);
-      }
+    ZipArchiveEntry.prototype.setVersionNeededToExtract = function(minver) {
+      this.minver = minver;
     };
-    Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {
-      if (typeof encoding === "string") encoding = encoding.toLowerCase();
-      if (!(["hex", "utf8", "utf-8", "ascii", "binary", "base64", "ucs2", "ucs-2", "utf16le", "utf-16le", "raw"].indexOf((encoding + "").toLowerCase()) > -1)) throw new TypeError("Unknown encoding: " + encoding);
-      this._writableState.defaultEncoding = encoding;
-      return this;
+    ZipArchiveEntry.prototype.isDirectory = function() {
+      return this.getName().slice(-1) === "/";
     };
-    function decodeChunk(state, chunk, encoding) {
-      if (!state.objectMode && state.decodeStrings !== false && typeof chunk === "string") {
-        chunk = Buffer2.from(chunk, encoding);
+    ZipArchiveEntry.prototype.isUnixSymlink = function() {
+      return (this.getUnixMode() & UnixStat.FILE_TYPE_FLAG) === UnixStat.LINK_FLAG;
+    };
+    ZipArchiveEntry.prototype.isZip64 = function() {
+      return this.csize > constants.ZIP64_MAGIC || this.size > constants.ZIP64_MAGIC;
+    };
+  }
+});
+
+// node_modules/compress-commons/node_modules/is-stream/index.js
+var require_is_stream2 = __commonJS({
+  "node_modules/compress-commons/node_modules/is-stream/index.js"(exports2, module2) {
+    "use strict";
+    var isStream = (stream) => stream !== null && typeof stream === "object" && typeof stream.pipe === "function";
+    isStream.writable = (stream) => isStream(stream) && stream.writable !== false && typeof stream._write === "function" && typeof stream._writableState === "object";
+    isStream.readable = (stream) => isStream(stream) && stream.readable !== false && typeof stream._read === "function" && typeof stream._readableState === "object";
+    isStream.duplex = (stream) => isStream.writable(stream) && isStream.readable(stream);
+    isStream.transform = (stream) => isStream.duplex(stream) && typeof stream._transform === "function";
+    module2.exports = isStream;
+  }
+});
+
+// node_modules/compress-commons/lib/util/index.js
+var require_util22 = __commonJS({
+  "node_modules/compress-commons/lib/util/index.js"(exports2, module2) {
+    var Stream = require("stream").Stream;
+    var PassThrough = require_ours().PassThrough;
+    var isStream = require_is_stream2();
+    var util = module2.exports = {};
+    util.normalizeInputSource = function(source) {
+      if (source === null) {
+        return Buffer.alloc(0);
+      } else if (typeof source === "string") {
+        return Buffer.from(source);
+      } else if (isStream(source) && !source._readableState) {
+        var normalized = new PassThrough();
+        source.pipe(normalized);
+        return normalized;
       }
-      return chunk;
-    }
-    Object.defineProperty(Writable.prototype, "writableHighWaterMark", {
-      // making it explicit this property is not enumerable
-      // because otherwise some prototype manipulation in
-      // userland will fail
-      enumerable: false,
-      get: function() {
-        return this._writableState.highWaterMark;
+      return source;
+    };
+  }
+});
+
+// node_modules/compress-commons/lib/archivers/archive-output-stream.js
+var require_archive_output_stream = __commonJS({
+  "node_modules/compress-commons/lib/archivers/archive-output-stream.js"(exports2, module2) {
+    var inherits = require("util").inherits;
+    var isStream = require_is_stream2();
+    var Transform = require_ours().Transform;
+    var ArchiveEntry = require_archive_entry();
+    var util = require_util22();
+    var ArchiveOutputStream = module2.exports = function(options) {
+      if (!(this instanceof ArchiveOutputStream)) {
+        return new ArchiveOutputStream(options);
       }
-    });
-    function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {
-      if (!isBuf) {
-        var newChunk = decodeChunk(state, chunk, encoding);
-        if (chunk !== newChunk) {
-          isBuf = true;
-          encoding = "buffer";
-          chunk = newChunk;
-        }
+      Transform.call(this, options);
+      this.offset = 0;
+      this._archive = {
+        finish: false,
+        finished: false,
+        processing: false
+      };
+    };
+    inherits(ArchiveOutputStream, Transform);
+    ArchiveOutputStream.prototype._appendBuffer = function(zae, source, callback) {
+    };
+    ArchiveOutputStream.prototype._appendStream = function(zae, source, callback) {
+    };
+    ArchiveOutputStream.prototype._emitErrorCallback = function(err) {
+      if (err) {
+        this.emit("error", err);
       }
-      var len = state.objectMode ? 1 : chunk.length;
-      state.length += len;
-      var ret = state.length < state.highWaterMark;
-      if (!ret) state.needDrain = true;
-      if (state.writing || state.corked) {
-        var last = state.lastBufferedRequest;
-        state.lastBufferedRequest = {
-          chunk,
-          encoding,
-          isBuf,
-          callback: cb,
-          next: null
-        };
-        if (last) {
-          last.next = state.lastBufferedRequest;
-        } else {
-          state.bufferedRequest = state.lastBufferedRequest;
-        }
-        state.bufferedRequestCount += 1;
-      } else {
-        doWrite(stream, state, false, len, chunk, encoding, cb);
+    };
+    ArchiveOutputStream.prototype._finish = function(ae) {
+    };
+    ArchiveOutputStream.prototype._normalizeEntry = function(ae) {
+    };
+    ArchiveOutputStream.prototype._transform = function(chunk, encoding, callback) {
+      callback(null, chunk);
+    };
+    ArchiveOutputStream.prototype.entry = function(ae, source, callback) {
+      source = source || null;
+      if (typeof callback !== "function") {
+        callback = this._emitErrorCallback.bind(this);
       }
-      return ret;
-    }
-    function doWrite(stream, state, writev, len, chunk, encoding, cb) {
-      state.writelen = len;
-      state.writecb = cb;
-      state.writing = true;
-      state.sync = true;
-      if (writev) stream._writev(chunk, state.onwrite);
-      else stream._write(chunk, encoding, state.onwrite);
-      state.sync = false;
-    }
-    function onwriteError(stream, state, sync, er, cb) {
-      --state.pendingcb;
-      if (sync) {
-        pna.nextTick(cb, er);
-        pna.nextTick(finishMaybe, stream, state);
-        stream._writableState.errorEmitted = true;
-        stream.emit("error", er);
-      } else {
-        cb(er);
-        stream._writableState.errorEmitted = true;
-        stream.emit("error", er);
-        finishMaybe(stream, state);
+      if (!(ae instanceof ArchiveEntry)) {
+        callback(new Error("not a valid instance of ArchiveEntry"));
+        return;
       }
-    }
-    function onwriteStateUpdate(state) {
-      state.writing = false;
-      state.writecb = null;
-      state.length -= state.writelen;
-      state.writelen = 0;
-    }
-    function onwrite(stream, er) {
-      var state = stream._writableState;
-      var sync = state.sync;
-      var cb = state.writecb;
-      onwriteStateUpdate(state);
-      if (er) onwriteError(stream, state, sync, er, cb);
-      else {
-        var finished = needFinish(state);
-        if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {
-          clearBuffer(stream, state);
-        }
-        if (sync) {
-          asyncWrite(afterWrite, stream, state, finished, cb);
-        } else {
-          afterWrite(stream, state, finished, cb);
-        }
+      if (this._archive.finish || this._archive.finished) {
+        callback(new Error("unacceptable entry after finish"));
+        return;
       }
-    }
-    function afterWrite(stream, state, finished, cb) {
-      if (!finished) onwriteDrain(stream, state);
-      state.pendingcb--;
-      cb();
-      finishMaybe(stream, state);
-    }
-    function onwriteDrain(stream, state) {
-      if (state.length === 0 && state.needDrain) {
-        state.needDrain = false;
-        stream.emit("drain");
+      if (this._archive.processing) {
+        callback(new Error("already processing an entry"));
+        return;
       }
-    }
-    function clearBuffer(stream, state) {
-      state.bufferProcessing = true;
-      var entry = state.bufferedRequest;
-      if (stream._writev && entry && entry.next) {
-        var l = state.bufferedRequestCount;
-        var buffer = new Array(l);
-        var holder = state.corkedRequestsFree;
-        holder.entry = entry;
-        var count = 0;
-        var allBuffers = true;
-        while (entry) {
-          buffer[count] = entry;
-          if (!entry.isBuf) allBuffers = false;
-          entry = entry.next;
-          count += 1;
-        }
-        buffer.allBuffers = allBuffers;
-        doWrite(stream, state, true, state.length, buffer, "", holder.finish);
-        state.pendingcb++;
-        state.lastBufferedRequest = null;
-        if (holder.next) {
-          state.corkedRequestsFree = holder.next;
-          holder.next = null;
-        } else {
-          state.corkedRequestsFree = new CorkedRequest(state);
-        }
-        state.bufferedRequestCount = 0;
+      this._archive.processing = true;
+      this._normalizeEntry(ae);
+      this._entry = ae;
+      source = util.normalizeInputSource(source);
+      if (Buffer.isBuffer(source)) {
+        this._appendBuffer(ae, source, callback);
+      } else if (isStream(source)) {
+        this._appendStream(ae, source, callback);
       } else {
-        while (entry) {
-          var chunk = entry.chunk;
-          var encoding = entry.encoding;
-          var cb = entry.callback;
-          var len = state.objectMode ? 1 : chunk.length;
-          doWrite(stream, state, false, len, chunk, encoding, cb);
-          entry = entry.next;
-          state.bufferedRequestCount--;
-          if (state.writing) {
-            break;
-          }
-        }
-        if (entry === null) state.lastBufferedRequest = null;
+        this._archive.processing = false;
+        callback(new Error("input source must be valid Stream or Buffer instance"));
+        return;
       }
-      state.bufferedRequest = entry;
-      state.bufferProcessing = false;
-    }
-    Writable.prototype._write = function(chunk, encoding, cb) {
-      cb(new Error("_write() is not implemented"));
+      return this;
     };
-    Writable.prototype._writev = null;
-    Writable.prototype.end = function(chunk, encoding, cb) {
-      var state = this._writableState;
-      if (typeof chunk === "function") {
-        cb = chunk;
-        chunk = null;
-        encoding = null;
-      } else if (typeof encoding === "function") {
-        cb = encoding;
-        encoding = null;
+    ArchiveOutputStream.prototype.finish = function() {
+      if (this._archive.processing) {
+        this._archive.finish = true;
+        return;
       }
-      if (chunk !== null && chunk !== void 0) this.write(chunk, encoding);
-      if (state.corked) {
-        state.corked = 1;
-        this.uncork();
+      this._finish();
+    };
+    ArchiveOutputStream.prototype.getBytesWritten = function() {
+      return this.offset;
+    };
+    ArchiveOutputStream.prototype.write = function(chunk, cb) {
+      if (chunk) {
+        this.offset += chunk.length;
       }
-      if (!state.ending) endWritable(this, state, cb);
+      return Transform.prototype.write.call(this, chunk, cb);
     };
-    function needFinish(state) {
-      return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;
-    }
-    function callFinal(stream, state) {
-      stream._final(function(err) {
-        state.pendingcb--;
-        if (err) {
-          stream.emit("error", err);
-        }
-        state.prefinished = true;
-        stream.emit("prefinish");
-        finishMaybe(stream, state);
-      });
-    }
-    function prefinish(stream, state) {
-      if (!state.prefinished && !state.finalCalled) {
-        if (typeof stream._final === "function") {
-          state.pendingcb++;
-          state.finalCalled = true;
-          pna.nextTick(callFinal, stream, state);
+  }
+});
+
+// node_modules/crc-32/crc32.js
+var require_crc32 = __commonJS({
+  "node_modules/crc-32/crc32.js"(exports2) {
+    var CRC32;
+    (function(factory) {
+      if (typeof DO_NOT_EXPORT_CRC === "undefined") {
+        if ("object" === typeof exports2) {
+          factory(exports2);
+        } else if ("function" === typeof define && define.amd) {
+          define(function() {
+            var module3 = {};
+            factory(module3);
+            return module3;
+          });
         } else {
-          state.prefinished = true;
-          stream.emit("prefinish");
+          factory(CRC32 = {});
         }
+      } else {
+        factory(CRC32 = {});
       }
-    }
-    function finishMaybe(stream, state) {
-      var need = needFinish(state);
-      if (need) {
-        prefinish(stream, state);
-        if (state.pendingcb === 0) {
-          state.finished = true;
-          stream.emit("finish");
+    })(function(CRC322) {
+      CRC322.version = "1.2.2";
+      function signed_crc_table() {
+        var c = 0, table = new Array(256);
+        for (var n = 0; n != 256; ++n) {
+          c = n;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          table[n] = c;
         }
+        return typeof Int32Array !== "undefined" ? new Int32Array(table) : table;
       }
-      return need;
-    }
-    function endWritable(stream, state, cb) {
-      state.ending = true;
-      finishMaybe(stream, state);
-      if (cb) {
-        if (state.finished) pna.nextTick(cb);
-        else stream.once("finish", cb);
+      var T0 = signed_crc_table();
+      function slice_by_16_tables(T) {
+        var c = 0, v = 0, n = 0, table = typeof Int32Array !== "undefined" ? new Int32Array(4096) : new Array(4096);
+        for (n = 0; n != 256; ++n) table[n] = T[n];
+        for (n = 0; n != 256; ++n) {
+          v = T[n];
+          for (c = 256 + n; c < 4096; c += 256) v = table[c] = v >>> 8 ^ T[v & 255];
+        }
+        var out = [];
+        for (n = 1; n != 16; ++n) out[n - 1] = typeof Int32Array !== "undefined" ? table.subarray(n * 256, n * 256 + 256) : table.slice(n * 256, n * 256 + 256);
+        return out;
       }
-      state.ended = true;
-      stream.writable = false;
-    }
-    function onCorkedFinish(corkReq, state, err) {
-      var entry = corkReq.entry;
-      corkReq.entry = null;
-      while (entry) {
-        var cb = entry.callback;
-        state.pendingcb--;
-        cb(err);
-        entry = entry.next;
+      var TT = slice_by_16_tables(T0);
+      var T1 = TT[0], T2 = TT[1], T3 = TT[2], T4 = TT[3], T5 = TT[4];
+      var T6 = TT[5], T7 = TT[6], T8 = TT[7], T9 = TT[8], Ta = TT[9];
+      var Tb = TT[10], Tc = TT[11], Td = TT[12], Te = TT[13], Tf = TT[14];
+      function crc32_bstr(bstr, seed) {
+        var C = seed ^ -1;
+        for (var i = 0, L = bstr.length; i < L; ) C = C >>> 8 ^ T0[(C ^ bstr.charCodeAt(i++)) & 255];
+        return ~C;
       }
-      state.corkedRequestsFree.next = corkReq;
-    }
-    Object.defineProperty(Writable.prototype, "destroyed", {
-      get: function() {
-        if (this._writableState === void 0) {
-          return false;
-        }
-        return this._writableState.destroyed;
-      },
-      set: function(value) {
-        if (!this._writableState) {
-          return;
+      function crc32_buf(B, seed) {
+        var C = seed ^ -1, L = B.length - 15, i = 0;
+        for (; i < L; ) C = Tf[B[i++] ^ C & 255] ^ Te[B[i++] ^ C >> 8 & 255] ^ Td[B[i++] ^ C >> 16 & 255] ^ Tc[B[i++] ^ C >>> 24] ^ Tb[B[i++]] ^ Ta[B[i++]] ^ T9[B[i++]] ^ T8[B[i++]] ^ T7[B[i++]] ^ T6[B[i++]] ^ T5[B[i++]] ^ T4[B[i++]] ^ T3[B[i++]] ^ T2[B[i++]] ^ T1[B[i++]] ^ T0[B[i++]];
+        L += 15;
+        while (i < L) C = C >>> 8 ^ T0[(C ^ B[i++]) & 255];
+        return ~C;
+      }
+      function crc32_str(str2, seed) {
+        var C = seed ^ -1;
+        for (var i = 0, L = str2.length, c = 0, d = 0; i < L; ) {
+          c = str2.charCodeAt(i++);
+          if (c < 128) {
+            C = C >>> 8 ^ T0[(C ^ c) & 255];
+          } else if (c < 2048) {
+            C = C >>> 8 ^ T0[(C ^ (192 | c >> 6 & 31)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | c & 63)) & 255];
+          } else if (c >= 55296 && c < 57344) {
+            c = (c & 1023) + 64;
+            d = str2.charCodeAt(i++) & 1023;
+            C = C >>> 8 ^ T0[(C ^ (240 | c >> 8 & 7)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | c >> 2 & 63)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | d >> 6 & 15 | (c & 3) << 4)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | d & 63)) & 255];
+          } else {
+            C = C >>> 8 ^ T0[(C ^ (224 | c >> 12 & 15)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | c >> 6 & 63)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | c & 63)) & 255];
+          }
         }
-        this._writableState.destroyed = value;
+        return ~C;
       }
+      CRC322.table = T0;
+      CRC322.bstr = crc32_bstr;
+      CRC322.buf = crc32_buf;
+      CRC322.str = crc32_str;
     });
-    Writable.prototype.destroy = destroyImpl.destroy;
-    Writable.prototype._undestroy = destroyImpl.undestroy;
-    Writable.prototype._destroy = function(err, cb) {
-      this.end();
-      cb(err);
-    };
   }
 });
 
-// node_modules/lazystream/node_modules/readable-stream/lib/_stream_duplex.js
-var require_stream_duplex = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_duplex.js"(exports2, module2) {
+// node_modules/crc32-stream/lib/crc32-stream.js
+var require_crc32_stream = __commonJS({
+  "node_modules/crc32-stream/lib/crc32-stream.js"(exports2, module2) {
     "use strict";
-    var pna = require_process_nextick_args();
-    var objectKeys = Object.keys || function(obj) {
-      var keys2 = [];
-      for (var key in obj) {
-        keys2.push(key);
+    var { Transform } = require_ours();
+    var crc32 = require_crc32();
+    var CRC32Stream = class extends Transform {
+      constructor(options) {
+        super(options);
+        this.checksum = Buffer.allocUnsafe(4);
+        this.checksum.writeInt32BE(0, 0);
+        this.rawSize = 0;
       }
-      return keys2;
-    };
-    module2.exports = Duplex;
-    var util = Object.create(require_util18());
-    util.inherits = require_inherits();
-    var Readable = require_stream_readable();
-    var Writable = require_stream_writable();
-    util.inherits(Duplex, Readable);
-    {
-      keys = objectKeys(Writable.prototype);
-      for (v = 0; v < keys.length; v++) {
-        method = keys[v];
-        if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];
+      _transform(chunk, encoding, callback) {
+        if (chunk) {
+          this.checksum = crc32.buf(chunk, this.checksum) >>> 0;
+          this.rawSize += chunk.length;
+        }
+        callback(null, chunk);
       }
-    }
-    var keys;
-    var method;
-    var v;
-    function Duplex(options) {
-      if (!(this instanceof Duplex)) return new Duplex(options);
-      Readable.call(this, options);
-      Writable.call(this, options);
-      if (options && options.readable === false) this.readable = false;
-      if (options && options.writable === false) this.writable = false;
-      this.allowHalfOpen = true;
-      if (options && options.allowHalfOpen === false) this.allowHalfOpen = false;
-      this.once("end", onend);
-    }
-    Object.defineProperty(Duplex.prototype, "writableHighWaterMark", {
-      // making it explicit this property is not enumerable
-      // because otherwise some prototype manipulation in
-      // userland will fail
-      enumerable: false,
-      get: function() {
-        return this._writableState.highWaterMark;
+      digest(encoding) {
+        const checksum = Buffer.allocUnsafe(4);
+        checksum.writeUInt32BE(this.checksum >>> 0, 0);
+        return encoding ? checksum.toString(encoding) : checksum;
       }
-    });
-    function onend() {
-      if (this.allowHalfOpen || this._writableState.ended) return;
-      pna.nextTick(onEndNT, this);
-    }
-    function onEndNT(self2) {
-      self2.end();
-    }
-    Object.defineProperty(Duplex.prototype, "destroyed", {
-      get: function() {
-        if (this._readableState === void 0 || this._writableState === void 0) {
-          return false;
-        }
-        return this._readableState.destroyed && this._writableState.destroyed;
-      },
-      set: function(value) {
-        if (this._readableState === void 0 || this._writableState === void 0) {
-          return;
-        }
-        this._readableState.destroyed = value;
-        this._writableState.destroyed = value;
+      hex() {
+        return this.digest("hex").toUpperCase();
+      }
+      size() {
+        return this.rawSize;
       }
-    });
-    Duplex.prototype._destroy = function(err, cb) {
-      this.push(null);
-      this.end();
-      pna.nextTick(cb, err);
     };
+    module2.exports = CRC32Stream;
   }
 });
 
-// node_modules/lazystream/node_modules/string_decoder/lib/string_decoder.js
-var require_string_decoder = __commonJS({
-  "node_modules/lazystream/node_modules/string_decoder/lib/string_decoder.js"(exports2) {
+// node_modules/crc32-stream/lib/deflate-crc32-stream.js
+var require_deflate_crc32_stream = __commonJS({
+  "node_modules/crc32-stream/lib/deflate-crc32-stream.js"(exports2, module2) {
     "use strict";
-    var Buffer2 = require_safe_buffer().Buffer;
-    var isEncoding = Buffer2.isEncoding || function(encoding) {
-      encoding = "" + encoding;
-      switch (encoding && encoding.toLowerCase()) {
-        case "hex":
-        case "utf8":
-        case "utf-8":
-        case "ascii":
-        case "binary":
-        case "base64":
-        case "ucs2":
-        case "ucs-2":
-        case "utf16le":
-        case "utf-16le":
-        case "raw":
-          return true;
-        default:
-          return false;
+    var { DeflateRaw } = require("zlib");
+    var crc32 = require_crc32();
+    var DeflateCRC32Stream = class extends DeflateRaw {
+      constructor(options) {
+        super(options);
+        this.checksum = Buffer.allocUnsafe(4);
+        this.checksum.writeInt32BE(0, 0);
+        this.rawSize = 0;
+        this.compressedSize = 0;
       }
-    };
-    function _normalizeEncoding(enc) {
-      if (!enc) return "utf8";
-      var retried;
-      while (true) {
-        switch (enc) {
-          case "utf8":
-          case "utf-8":
-            return "utf8";
-          case "ucs2":
-          case "ucs-2":
-          case "utf16le":
-          case "utf-16le":
-            return "utf16le";
-          case "latin1":
-          case "binary":
-            return "latin1";
-          case "base64":
-          case "ascii":
-          case "hex":
-            return enc;
-          default:
-            if (retried) return;
-            enc = ("" + enc).toLowerCase();
-            retried = true;
+      push(chunk, encoding) {
+        if (chunk) {
+          this.compressedSize += chunk.length;
         }
+        return super.push(chunk, encoding);
       }
-    }
-    function normalizeEncoding(enc) {
-      var nenc = _normalizeEncoding(enc);
-      if (typeof nenc !== "string" && (Buffer2.isEncoding === isEncoding || !isEncoding(enc))) throw new Error("Unknown encoding: " + enc);
-      return nenc || enc;
-    }
-    exports2.StringDecoder = StringDecoder;
-    function StringDecoder(encoding) {
-      this.encoding = normalizeEncoding(encoding);
-      var nb;
-      switch (this.encoding) {
-        case "utf16le":
-          this.text = utf16Text;
-          this.end = utf16End;
-          nb = 4;
-          break;
-        case "utf8":
-          this.fillLast = utf8FillLast;
-          nb = 4;
-          break;
-        case "base64":
-          this.text = base64Text;
-          this.end = base64End;
-          nb = 3;
-          break;
-        default:
-          this.write = simpleWrite;
-          this.end = simpleEnd;
-          return;
-      }
-      this.lastNeed = 0;
-      this.lastTotal = 0;
-      this.lastChar = Buffer2.allocUnsafe(nb);
-    }
-    StringDecoder.prototype.write = function(buf) {
-      if (buf.length === 0) return "";
-      var r;
-      var i;
-      if (this.lastNeed) {
-        r = this.fillLast(buf);
-        if (r === void 0) return "";
-        i = this.lastNeed;
-        this.lastNeed = 0;
-      } else {
-        i = 0;
-      }
-      if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);
-      return r || "";
-    };
-    StringDecoder.prototype.end = utf8End;
-    StringDecoder.prototype.text = utf8Text;
-    StringDecoder.prototype.fillLast = function(buf) {
-      if (this.lastNeed <= buf.length) {
-        buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);
-        return this.lastChar.toString(this.encoding, 0, this.lastTotal);
-      }
-      buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);
-      this.lastNeed -= buf.length;
-    };
-    function utf8CheckByte(byte) {
-      if (byte <= 127) return 0;
-      else if (byte >> 5 === 6) return 2;
-      else if (byte >> 4 === 14) return 3;
-      else if (byte >> 3 === 30) return 4;
-      return byte >> 6 === 2 ? -1 : -2;
-    }
-    function utf8CheckIncomplete(self2, buf, i) {
-      var j = buf.length - 1;
-      if (j < i) return 0;
-      var nb = utf8CheckByte(buf[j]);
-      if (nb >= 0) {
-        if (nb > 0) self2.lastNeed = nb - 1;
-        return nb;
-      }
-      if (--j < i || nb === -2) return 0;
-      nb = utf8CheckByte(buf[j]);
-      if (nb >= 0) {
-        if (nb > 0) self2.lastNeed = nb - 2;
-        return nb;
-      }
-      if (--j < i || nb === -2) return 0;
-      nb = utf8CheckByte(buf[j]);
-      if (nb >= 0) {
-        if (nb > 0) {
-          if (nb === 2) nb = 0;
-          else self2.lastNeed = nb - 3;
+      _transform(chunk, encoding, callback) {
+        if (chunk) {
+          this.checksum = crc32.buf(chunk, this.checksum) >>> 0;
+          this.rawSize += chunk.length;
         }
-        return nb;
-      }
-      return 0;
-    }
-    function utf8CheckExtraBytes(self2, buf, p) {
-      if ((buf[0] & 192) !== 128) {
-        self2.lastNeed = 0;
-        return "\uFFFD";
+        super._transform(chunk, encoding, callback);
       }
-      if (self2.lastNeed > 1 && buf.length > 1) {
-        if ((buf[1] & 192) !== 128) {
-          self2.lastNeed = 1;
-          return "\uFFFD";
-        }
-        if (self2.lastNeed > 2 && buf.length > 2) {
-          if ((buf[2] & 192) !== 128) {
-            self2.lastNeed = 2;
-            return "\uFFFD";
-          }
-        }
+      digest(encoding) {
+        const checksum = Buffer.allocUnsafe(4);
+        checksum.writeUInt32BE(this.checksum >>> 0, 0);
+        return encoding ? checksum.toString(encoding) : checksum;
       }
-    }
-    function utf8FillLast(buf) {
-      var p = this.lastTotal - this.lastNeed;
-      var r = utf8CheckExtraBytes(this, buf, p);
-      if (r !== void 0) return r;
-      if (this.lastNeed <= buf.length) {
-        buf.copy(this.lastChar, p, 0, this.lastNeed);
-        return this.lastChar.toString(this.encoding, 0, this.lastTotal);
+      hex() {
+        return this.digest("hex").toUpperCase();
       }
-      buf.copy(this.lastChar, p, 0, buf.length);
-      this.lastNeed -= buf.length;
-    }
-    function utf8Text(buf, i) {
-      var total = utf8CheckIncomplete(this, buf, i);
-      if (!this.lastNeed) return buf.toString("utf8", i);
-      this.lastTotal = total;
-      var end = buf.length - (total - this.lastNeed);
-      buf.copy(this.lastChar, 0, end);
-      return buf.toString("utf8", i, end);
-    }
-    function utf8End(buf) {
-      var r = buf && buf.length ? this.write(buf) : "";
-      if (this.lastNeed) return r + "\uFFFD";
-      return r;
-    }
-    function utf16Text(buf, i) {
-      if ((buf.length - i) % 2 === 0) {
-        var r = buf.toString("utf16le", i);
-        if (r) {
-          var c = r.charCodeAt(r.length - 1);
-          if (c >= 55296 && c <= 56319) {
-            this.lastNeed = 2;
-            this.lastTotal = 4;
-            this.lastChar[0] = buf[buf.length - 2];
-            this.lastChar[1] = buf[buf.length - 1];
-            return r.slice(0, -1);
-          }
+      size(compressed = false) {
+        if (compressed) {
+          return this.compressedSize;
+        } else {
+          return this.rawSize;
         }
-        return r;
-      }
-      this.lastNeed = 1;
-      this.lastTotal = 2;
-      this.lastChar[0] = buf[buf.length - 1];
-      return buf.toString("utf16le", i, buf.length - 1);
-    }
-    function utf16End(buf) {
-      var r = buf && buf.length ? this.write(buf) : "";
-      if (this.lastNeed) {
-        var end = this.lastTotal - this.lastNeed;
-        return r + this.lastChar.toString("utf16le", 0, end);
-      }
-      return r;
-    }
-    function base64Text(buf, i) {
-      var n = (buf.length - i) % 3;
-      if (n === 0) return buf.toString("base64", i);
-      this.lastNeed = 3 - n;
-      this.lastTotal = 3;
-      if (n === 1) {
-        this.lastChar[0] = buf[buf.length - 1];
-      } else {
-        this.lastChar[0] = buf[buf.length - 2];
-        this.lastChar[1] = buf[buf.length - 1];
       }
-      return buf.toString("base64", i, buf.length - n);
-    }
-    function base64End(buf) {
-      var r = buf && buf.length ? this.write(buf) : "";
-      if (this.lastNeed) return r + this.lastChar.toString("base64", 0, 3 - this.lastNeed);
-      return r;
-    }
-    function simpleWrite(buf) {
-      return buf.toString(this.encoding);
-    }
-    function simpleEnd(buf) {
-      return buf && buf.length ? this.write(buf) : "";
-    }
+    };
+    module2.exports = DeflateCRC32Stream;
   }
 });
 
-// node_modules/lazystream/node_modules/readable-stream/lib/_stream_readable.js
-var require_stream_readable = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_readable.js"(exports2, module2) {
+// node_modules/crc32-stream/lib/index.js
+var require_lib2 = __commonJS({
+  "node_modules/crc32-stream/lib/index.js"(exports2, module2) {
     "use strict";
-    var pna = require_process_nextick_args();
-    module2.exports = Readable;
-    var isArray = require_isarray();
-    var Duplex;
-    Readable.ReadableState = ReadableState;
-    var EE = require("events").EventEmitter;
-    var EElistenerCount = function(emitter, type2) {
-      return emitter.listeners(type2).length;
-    };
-    var Stream = require_stream();
-    var Buffer2 = require_safe_buffer().Buffer;
-    var OurUint8Array = (typeof global !== "undefined" ? global : typeof window !== "undefined" ? window : typeof self !== "undefined" ? self : {}).Uint8Array || function() {
+    module2.exports = {
+      CRC32Stream: require_crc32_stream(),
+      DeflateCRC32Stream: require_deflate_crc32_stream()
     };
-    function _uint8ArrayToBuffer(chunk) {
-      return Buffer2.from(chunk);
-    }
-    function _isUint8Array(obj) {
-      return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array;
-    }
-    var util = Object.create(require_util18());
-    util.inherits = require_inherits();
-    var debugUtil = require("util");
-    var debug4 = void 0;
-    if (debugUtil && debugUtil.debuglog) {
-      debug4 = debugUtil.debuglog("stream");
-    } else {
-      debug4 = function() {
-      };
-    }
-    var BufferList = require_BufferList();
-    var destroyImpl = require_destroy();
-    var StringDecoder;
-    util.inherits(Readable, Stream);
-    var kProxyEvents = ["error", "close", "destroy", "pause", "resume"];
-    function prependListener(emitter, event, fn) {
-      if (typeof emitter.prependListener === "function") return emitter.prependListener(event, fn);
-      if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);
-      else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);
-      else emitter._events[event] = [fn, emitter._events[event]];
-    }
-    function ReadableState(options, stream) {
-      Duplex = Duplex || require_stream_duplex();
-      options = options || {};
-      var isDuplex = stream instanceof Duplex;
-      this.objectMode = !!options.objectMode;
-      if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;
-      var hwm = options.highWaterMark;
-      var readableHwm = options.readableHighWaterMark;
-      var defaultHwm = this.objectMode ? 16 : 16 * 1024;
-      if (hwm || hwm === 0) this.highWaterMark = hwm;
-      else if (isDuplex && (readableHwm || readableHwm === 0)) this.highWaterMark = readableHwm;
-      else this.highWaterMark = defaultHwm;
-      this.highWaterMark = Math.floor(this.highWaterMark);
-      this.buffer = new BufferList();
-      this.length = 0;
-      this.pipes = null;
-      this.pipesCount = 0;
-      this.flowing = null;
-      this.ended = false;
-      this.endEmitted = false;
-      this.reading = false;
-      this.sync = true;
-      this.needReadable = false;
-      this.emittedReadable = false;
-      this.readableListening = false;
-      this.resumeScheduled = false;
-      this.destroyed = false;
-      this.defaultEncoding = options.defaultEncoding || "utf8";
-      this.awaitDrain = 0;
-      this.readingMore = false;
-      this.decoder = null;
-      this.encoding = null;
-      if (options.encoding) {
-        if (!StringDecoder) StringDecoder = require_string_decoder().StringDecoder;
-        this.decoder = new StringDecoder(options.encoding);
-        this.encoding = options.encoding;
-      }
-    }
-    function Readable(options) {
-      Duplex = Duplex || require_stream_duplex();
-      if (!(this instanceof Readable)) return new Readable(options);
-      this._readableState = new ReadableState(options, this);
-      this.readable = true;
-      if (options) {
-        if (typeof options.read === "function") this._read = options.read;
-        if (typeof options.destroy === "function") this._destroy = options.destroy;
+  }
+});
+
+// node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js
+var require_zip_archive_output_stream = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js"(exports2, module2) {
+    var inherits = require("util").inherits;
+    var crc32 = require_crc32();
+    var { CRC32Stream } = require_lib2();
+    var { DeflateCRC32Stream } = require_lib2();
+    var ArchiveOutputStream = require_archive_output_stream();
+    var ZipArchiveEntry = require_zip_archive_entry();
+    var GeneralPurposeBit = require_general_purpose_bit();
+    var constants = require_constants17();
+    var util = require_util22();
+    var zipUtil = require_util21();
+    var ZipArchiveOutputStream = module2.exports = function(options) {
+      if (!(this instanceof ZipArchiveOutputStream)) {
+        return new ZipArchiveOutputStream(options);
       }
-      Stream.call(this);
-    }
-    Object.defineProperty(Readable.prototype, "destroyed", {
-      get: function() {
-        if (this._readableState === void 0) {
-          return false;
-        }
-        return this._readableState.destroyed;
-      },
-      set: function(value) {
-        if (!this._readableState) {
-          return;
-        }
-        this._readableState.destroyed = value;
+      options = this.options = this._defaults(options);
+      ArchiveOutputStream.call(this, options);
+      this._entry = null;
+      this._entries = [];
+      this._archive = {
+        centralLength: 0,
+        centralOffset: 0,
+        comment: "",
+        finish: false,
+        finished: false,
+        processing: false,
+        forceZip64: options.forceZip64,
+        forceLocalTime: options.forceLocalTime
+      };
+    };
+    inherits(ZipArchiveOutputStream, ArchiveOutputStream);
+    ZipArchiveOutputStream.prototype._afterAppend = function(ae) {
+      this._entries.push(ae);
+      if (ae.getGeneralPurposeBit().usesDataDescriptor()) {
+        this._writeDataDescriptor(ae);
+      }
+      this._archive.processing = false;
+      this._entry = null;
+      if (this._archive.finish && !this._archive.finished) {
+        this._finish();
       }
-    });
-    Readable.prototype.destroy = destroyImpl.destroy;
-    Readable.prototype._undestroy = destroyImpl.undestroy;
-    Readable.prototype._destroy = function(err, cb) {
-      this.push(null);
-      cb(err);
     };
-    Readable.prototype.push = function(chunk, encoding) {
-      var state = this._readableState;
-      var skipChunkCheck;
-      if (!state.objectMode) {
-        if (typeof chunk === "string") {
-          encoding = encoding || state.defaultEncoding;
-          if (encoding !== state.encoding) {
-            chunk = Buffer2.from(chunk, encoding);
-            encoding = "";
-          }
-          skipChunkCheck = true;
-        }
+    ZipArchiveOutputStream.prototype._appendBuffer = function(ae, source, callback) {
+      if (source.length === 0) {
+        ae.setMethod(constants.METHOD_STORED);
+      }
+      var method = ae.getMethod();
+      if (method === constants.METHOD_STORED) {
+        ae.setSize(source.length);
+        ae.setCompressedSize(source.length);
+        ae.setCrc(crc32.buf(source) >>> 0);
+      }
+      this._writeLocalFileHeader(ae);
+      if (method === constants.METHOD_STORED) {
+        this.write(source);
+        this._afterAppend(ae);
+        callback(null, ae);
+        return;
+      } else if (method === constants.METHOD_DEFLATED) {
+        this._smartStream(ae, callback).end(source);
+        return;
       } else {
-        skipChunkCheck = true;
+        callback(new Error("compression method " + method + " not implemented"));
+        return;
       }
-      return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);
     };
-    Readable.prototype.unshift = function(chunk) {
-      return readableAddChunk(this, chunk, null, true, false);
+    ZipArchiveOutputStream.prototype._appendStream = function(ae, source, callback) {
+      ae.getGeneralPurposeBit().useDataDescriptor(true);
+      ae.setVersionNeededToExtract(constants.MIN_VERSION_DATA_DESCRIPTOR);
+      this._writeLocalFileHeader(ae);
+      var smart = this._smartStream(ae, callback);
+      source.once("error", function(err) {
+        smart.emit("error", err);
+        smart.end();
+      });
+      source.pipe(smart);
     };
-    function readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {
-      var state = stream._readableState;
-      if (chunk === null) {
-        state.reading = false;
-        onEofChunk(stream, state);
-      } else {
-        var er;
-        if (!skipChunkCheck) er = chunkInvalid(state, chunk);
-        if (er) {
-          stream.emit("error", er);
-        } else if (state.objectMode || chunk && chunk.length > 0) {
-          if (typeof chunk !== "string" && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer2.prototype) {
-            chunk = _uint8ArrayToBuffer(chunk);
-          }
-          if (addToFront) {
-            if (state.endEmitted) stream.emit("error", new Error("stream.unshift() after end event"));
-            else addChunk(stream, state, chunk, true);
-          } else if (state.ended) {
-            stream.emit("error", new Error("stream.push() after EOF"));
-          } else {
-            state.reading = false;
-            if (state.decoder && !encoding) {
-              chunk = state.decoder.write(chunk);
-              if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);
-              else maybeReadMore(stream, state);
-            } else {
-              addChunk(stream, state, chunk, false);
-            }
-          }
-        } else if (!addToFront) {
-          state.reading = false;
-        }
+    ZipArchiveOutputStream.prototype._defaults = function(o) {
+      if (typeof o !== "object") {
+        o = {};
       }
-      return needMoreData(state);
-    }
-    function addChunk(stream, state, chunk, addToFront) {
-      if (state.flowing && state.length === 0 && !state.sync) {
-        stream.emit("data", chunk);
-        stream.read(0);
-      } else {
-        state.length += state.objectMode ? 1 : chunk.length;
-        if (addToFront) state.buffer.unshift(chunk);
-        else state.buffer.push(chunk);
-        if (state.needReadable) emitReadable(stream);
+      if (typeof o.zlib !== "object") {
+        o.zlib = {};
       }
-      maybeReadMore(stream, state);
-    }
-    function chunkInvalid(state, chunk) {
-      var er;
-      if (!_isUint8Array(chunk) && typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) {
-        er = new TypeError("Invalid non-string/buffer chunk");
+      if (typeof o.zlib.level !== "number") {
+        o.zlib.level = constants.ZLIB_BEST_SPEED;
       }
-      return er;
-    }
-    function needMoreData(state) {
-      return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0);
-    }
-    Readable.prototype.isPaused = function() {
-      return this._readableState.flowing === false;
+      o.forceZip64 = !!o.forceZip64;
+      o.forceLocalTime = !!o.forceLocalTime;
+      return o;
     };
-    Readable.prototype.setEncoding = function(enc) {
-      if (!StringDecoder) StringDecoder = require_string_decoder().StringDecoder;
-      this._readableState.decoder = new StringDecoder(enc);
-      this._readableState.encoding = enc;
-      return this;
+    ZipArchiveOutputStream.prototype._finish = function() {
+      this._archive.centralOffset = this.offset;
+      this._entries.forEach(function(ae) {
+        this._writeCentralFileHeader(ae);
+      }.bind(this));
+      this._archive.centralLength = this.offset - this._archive.centralOffset;
+      if (this.isZip64()) {
+        this._writeCentralDirectoryZip64();
+      }
+      this._writeCentralDirectoryEnd();
+      this._archive.processing = false;
+      this._archive.finish = true;
+      this._archive.finished = true;
+      this.end();
     };
-    var MAX_HWM = 8388608;
-    function computeNewHighWaterMark(n) {
-      if (n >= MAX_HWM) {
-        n = MAX_HWM;
-      } else {
-        n--;
-        n |= n >>> 1;
-        n |= n >>> 2;
-        n |= n >>> 4;
-        n |= n >>> 8;
-        n |= n >>> 16;
-        n++;
+    ZipArchiveOutputStream.prototype._normalizeEntry = function(ae) {
+      if (ae.getMethod() === -1) {
+        ae.setMethod(constants.METHOD_DEFLATED);
       }
-      return n;
-    }
-    function howMuchToRead(n, state) {
-      if (n <= 0 || state.length === 0 && state.ended) return 0;
-      if (state.objectMode) return 1;
-      if (n !== n) {
-        if (state.flowing && state.length) return state.buffer.head.data.length;
-        else return state.length;
+      if (ae.getMethod() === constants.METHOD_DEFLATED) {
+        ae.getGeneralPurposeBit().useDataDescriptor(true);
+        ae.setVersionNeededToExtract(constants.MIN_VERSION_DATA_DESCRIPTOR);
       }
-      if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);
-      if (n <= state.length) return n;
-      if (!state.ended) {
-        state.needReadable = true;
-        return 0;
+      if (ae.getTime() === -1) {
+        ae.setTime(/* @__PURE__ */ new Date(), this._archive.forceLocalTime);
       }
-      return state.length;
-    }
-    Readable.prototype.read = function(n) {
-      debug4("read", n);
-      n = parseInt(n, 10);
-      var state = this._readableState;
-      var nOrig = n;
-      if (n !== 0) state.emittedReadable = false;
-      if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) {
-        debug4("read: emitReadable", state.length, state.ended);
-        if (state.length === 0 && state.ended) endReadable(this);
-        else emitReadable(this);
-        return null;
+      ae._offsets = {
+        file: 0,
+        data: 0,
+        contents: 0
+      };
+    };
+    ZipArchiveOutputStream.prototype._smartStream = function(ae, callback) {
+      var deflate = ae.getMethod() === constants.METHOD_DEFLATED;
+      var process2 = deflate ? new DeflateCRC32Stream(this.options.zlib) : new CRC32Stream();
+      var error3 = null;
+      function handleStuff() {
+        var digest = process2.digest().readUInt32BE(0);
+        ae.setCrc(digest);
+        ae.setSize(process2.size());
+        ae.setCompressedSize(process2.size(true));
+        this._afterAppend(ae);
+        callback(error3, ae);
       }
-      n = howMuchToRead(n, state);
-      if (n === 0 && state.ended) {
-        if (state.length === 0) endReadable(this);
-        return null;
+      process2.once("end", handleStuff.bind(this));
+      process2.once("error", function(err) {
+        error3 = err;
+      });
+      process2.pipe(this, { end: false });
+      return process2;
+    };
+    ZipArchiveOutputStream.prototype._writeCentralDirectoryEnd = function() {
+      var records = this._entries.length;
+      var size = this._archive.centralLength;
+      var offset = this._archive.centralOffset;
+      if (this.isZip64()) {
+        records = constants.ZIP64_MAGIC_SHORT;
+        size = constants.ZIP64_MAGIC;
+        offset = constants.ZIP64_MAGIC;
       }
-      var doRead = state.needReadable;
-      debug4("need readable", doRead);
-      if (state.length === 0 || state.length - n < state.highWaterMark) {
-        doRead = true;
-        debug4("length less than watermark", doRead);
+      this.write(zipUtil.getLongBytes(constants.SIG_EOCD));
+      this.write(constants.SHORT_ZERO);
+      this.write(constants.SHORT_ZERO);
+      this.write(zipUtil.getShortBytes(records));
+      this.write(zipUtil.getShortBytes(records));
+      this.write(zipUtil.getLongBytes(size));
+      this.write(zipUtil.getLongBytes(offset));
+      var comment = this.getComment();
+      var commentLength = Buffer.byteLength(comment);
+      this.write(zipUtil.getShortBytes(commentLength));
+      this.write(comment);
+    };
+    ZipArchiveOutputStream.prototype._writeCentralDirectoryZip64 = function() {
+      this.write(zipUtil.getLongBytes(constants.SIG_ZIP64_EOCD));
+      this.write(zipUtil.getEightBytes(44));
+      this.write(zipUtil.getShortBytes(constants.MIN_VERSION_ZIP64));
+      this.write(zipUtil.getShortBytes(constants.MIN_VERSION_ZIP64));
+      this.write(constants.LONG_ZERO);
+      this.write(constants.LONG_ZERO);
+      this.write(zipUtil.getEightBytes(this._entries.length));
+      this.write(zipUtil.getEightBytes(this._entries.length));
+      this.write(zipUtil.getEightBytes(this._archive.centralLength));
+      this.write(zipUtil.getEightBytes(this._archive.centralOffset));
+      this.write(zipUtil.getLongBytes(constants.SIG_ZIP64_EOCD_LOC));
+      this.write(constants.LONG_ZERO);
+      this.write(zipUtil.getEightBytes(this._archive.centralOffset + this._archive.centralLength));
+      this.write(zipUtil.getLongBytes(1));
+    };
+    ZipArchiveOutputStream.prototype._writeCentralFileHeader = function(ae) {
+      var gpb = ae.getGeneralPurposeBit();
+      var method = ae.getMethod();
+      var fileOffset = ae._offsets.file;
+      var size = ae.getSize();
+      var compressedSize = ae.getCompressedSize();
+      if (ae.isZip64() || fileOffset > constants.ZIP64_MAGIC) {
+        size = constants.ZIP64_MAGIC;
+        compressedSize = constants.ZIP64_MAGIC;
+        fileOffset = constants.ZIP64_MAGIC;
+        ae.setVersionNeededToExtract(constants.MIN_VERSION_ZIP64);
+        var extraBuf = Buffer.concat([
+          zipUtil.getShortBytes(constants.ZIP64_EXTRA_ID),
+          zipUtil.getShortBytes(24),
+          zipUtil.getEightBytes(ae.getSize()),
+          zipUtil.getEightBytes(ae.getCompressedSize()),
+          zipUtil.getEightBytes(ae._offsets.file)
+        ], 28);
+        ae.setExtra(extraBuf);
       }
-      if (state.ended || state.reading) {
-        doRead = false;
-        debug4("reading or ended", doRead);
-      } else if (doRead) {
-        debug4("do read");
-        state.reading = true;
-        state.sync = true;
-        if (state.length === 0) state.needReadable = true;
-        this._read(state.highWaterMark);
-        state.sync = false;
-        if (!state.reading) n = howMuchToRead(nOrig, state);
+      this.write(zipUtil.getLongBytes(constants.SIG_CFH));
+      this.write(zipUtil.getShortBytes(ae.getPlatform() << 8 | constants.VERSION_MADEBY));
+      this.write(zipUtil.getShortBytes(ae.getVersionNeededToExtract()));
+      this.write(gpb.encode());
+      this.write(zipUtil.getShortBytes(method));
+      this.write(zipUtil.getLongBytes(ae.getTimeDos()));
+      this.write(zipUtil.getLongBytes(ae.getCrc()));
+      this.write(zipUtil.getLongBytes(compressedSize));
+      this.write(zipUtil.getLongBytes(size));
+      var name = ae.getName();
+      var comment = ae.getComment();
+      var extra = ae.getCentralDirectoryExtra();
+      if (gpb.usesUTF8ForNames()) {
+        name = Buffer.from(name);
+        comment = Buffer.from(comment);
       }
-      var ret;
-      if (n > 0) ret = fromList(n, state);
-      else ret = null;
-      if (ret === null) {
-        state.needReadable = true;
-        n = 0;
+      this.write(zipUtil.getShortBytes(name.length));
+      this.write(zipUtil.getShortBytes(extra.length));
+      this.write(zipUtil.getShortBytes(comment.length));
+      this.write(constants.SHORT_ZERO);
+      this.write(zipUtil.getShortBytes(ae.getInternalAttributes()));
+      this.write(zipUtil.getLongBytes(ae.getExternalAttributes()));
+      this.write(zipUtil.getLongBytes(fileOffset));
+      this.write(name);
+      this.write(extra);
+      this.write(comment);
+    };
+    ZipArchiveOutputStream.prototype._writeDataDescriptor = function(ae) {
+      this.write(zipUtil.getLongBytes(constants.SIG_DD));
+      this.write(zipUtil.getLongBytes(ae.getCrc()));
+      if (ae.isZip64()) {
+        this.write(zipUtil.getEightBytes(ae.getCompressedSize()));
+        this.write(zipUtil.getEightBytes(ae.getSize()));
       } else {
-        state.length -= n;
+        this.write(zipUtil.getLongBytes(ae.getCompressedSize()));
+        this.write(zipUtil.getLongBytes(ae.getSize()));
       }
-      if (state.length === 0) {
-        if (!state.ended) state.needReadable = true;
-        if (nOrig !== n && state.ended) endReadable(this);
+    };
+    ZipArchiveOutputStream.prototype._writeLocalFileHeader = function(ae) {
+      var gpb = ae.getGeneralPurposeBit();
+      var method = ae.getMethod();
+      var name = ae.getName();
+      var extra = ae.getLocalFileDataExtra();
+      if (ae.isZip64()) {
+        gpb.useDataDescriptor(true);
+        ae.setVersionNeededToExtract(constants.MIN_VERSION_ZIP64);
       }
-      if (ret !== null) this.emit("data", ret);
-      return ret;
+      if (gpb.usesUTF8ForNames()) {
+        name = Buffer.from(name);
+      }
+      ae._offsets.file = this.offset;
+      this.write(zipUtil.getLongBytes(constants.SIG_LFH));
+      this.write(zipUtil.getShortBytes(ae.getVersionNeededToExtract()));
+      this.write(gpb.encode());
+      this.write(zipUtil.getShortBytes(method));
+      this.write(zipUtil.getLongBytes(ae.getTimeDos()));
+      ae._offsets.data = this.offset;
+      if (gpb.usesDataDescriptor()) {
+        this.write(constants.LONG_ZERO);
+        this.write(constants.LONG_ZERO);
+        this.write(constants.LONG_ZERO);
+      } else {
+        this.write(zipUtil.getLongBytes(ae.getCrc()));
+        this.write(zipUtil.getLongBytes(ae.getCompressedSize()));
+        this.write(zipUtil.getLongBytes(ae.getSize()));
+      }
+      this.write(zipUtil.getShortBytes(name.length));
+      this.write(zipUtil.getShortBytes(extra.length));
+      this.write(name);
+      this.write(extra);
+      ae._offsets.contents = this.offset;
     };
-    function onEofChunk(stream, state) {
-      if (state.ended) return;
-      if (state.decoder) {
-        var chunk = state.decoder.end();
-        if (chunk && chunk.length) {
-          state.buffer.push(chunk);
-          state.length += state.objectMode ? 1 : chunk.length;
-        }
+    ZipArchiveOutputStream.prototype.getComment = function(comment) {
+      return this._archive.comment !== null ? this._archive.comment : "";
+    };
+    ZipArchiveOutputStream.prototype.isZip64 = function() {
+      return this._archive.forceZip64 || this._entries.length > constants.ZIP64_MAGIC_SHORT || this._archive.centralLength > constants.ZIP64_MAGIC || this._archive.centralOffset > constants.ZIP64_MAGIC;
+    };
+    ZipArchiveOutputStream.prototype.setComment = function(comment) {
+      this._archive.comment = comment;
+    };
+  }
+});
+
+// node_modules/compress-commons/lib/compress-commons.js
+var require_compress_commons = __commonJS({
+  "node_modules/compress-commons/lib/compress-commons.js"(exports2, module2) {
+    module2.exports = {
+      ArchiveEntry: require_archive_entry(),
+      ZipArchiveEntry: require_zip_archive_entry(),
+      ArchiveOutputStream: require_archive_output_stream(),
+      ZipArchiveOutputStream: require_zip_archive_output_stream()
+    };
+  }
+});
+
+// node_modules/zip-stream/index.js
+var require_zip_stream = __commonJS({
+  "node_modules/zip-stream/index.js"(exports2, module2) {
+    var inherits = require("util").inherits;
+    var ZipArchiveOutputStream = require_compress_commons().ZipArchiveOutputStream;
+    var ZipArchiveEntry = require_compress_commons().ZipArchiveEntry;
+    var util = require_archiver_utils();
+    var ZipStream = module2.exports = function(options) {
+      if (!(this instanceof ZipStream)) {
+        return new ZipStream(options);
       }
-      state.ended = true;
-      emitReadable(stream);
-    }
-    function emitReadable(stream) {
-      var state = stream._readableState;
-      state.needReadable = false;
-      if (!state.emittedReadable) {
-        debug4("emitReadable", state.flowing);
-        state.emittedReadable = true;
-        if (state.sync) pna.nextTick(emitReadable_, stream);
-        else emitReadable_(stream);
+      options = this.options = options || {};
+      options.zlib = options.zlib || {};
+      ZipArchiveOutputStream.call(this, options);
+      if (typeof options.level === "number" && options.level >= 0) {
+        options.zlib.level = options.level;
+        delete options.level;
       }
-    }
-    function emitReadable_(stream) {
-      debug4("emit readable");
-      stream.emit("readable");
-      flow(stream);
-    }
-    function maybeReadMore(stream, state) {
-      if (!state.readingMore) {
-        state.readingMore = true;
-        pna.nextTick(maybeReadMore_, stream, state);
+      if (!options.forceZip64 && typeof options.zlib.level === "number" && options.zlib.level === 0) {
+        options.store = true;
       }
-    }
-    function maybeReadMore_(stream, state) {
-      var len = state.length;
-      while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) {
-        debug4("maybeReadMore read 0");
-        stream.read(0);
-        if (len === state.length)
-          break;
-        else len = state.length;
+      options.namePrependSlash = options.namePrependSlash || false;
+      if (options.comment && options.comment.length > 0) {
+        this.setComment(options.comment);
       }
-      state.readingMore = false;
-    }
-    Readable.prototype._read = function(n) {
-      this.emit("error", new Error("_read() is not implemented"));
     };
-    Readable.prototype.pipe = function(dest, pipeOpts) {
-      var src = this;
-      var state = this._readableState;
-      switch (state.pipesCount) {
-        case 0:
-          state.pipes = dest;
-          break;
-        case 1:
-          state.pipes = [state.pipes, dest];
-          break;
-        default:
-          state.pipes.push(dest);
-          break;
-      }
-      state.pipesCount += 1;
-      debug4("pipe count=%d opts=%j", state.pipesCount, pipeOpts);
-      var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;
-      var endFn = doEnd ? onend : unpipe;
-      if (state.endEmitted) pna.nextTick(endFn);
-      else src.once("end", endFn);
-      dest.on("unpipe", onunpipe);
-      function onunpipe(readable, unpipeInfo) {
-        debug4("onunpipe");
-        if (readable === src) {
-          if (unpipeInfo && unpipeInfo.hasUnpiped === false) {
-            unpipeInfo.hasUnpiped = true;
-            cleanup();
-          }
+    inherits(ZipStream, ZipArchiveOutputStream);
+    ZipStream.prototype._normalizeFileData = function(data) {
+      data = util.defaults(data, {
+        type: "file",
+        name: null,
+        namePrependSlash: this.options.namePrependSlash,
+        linkname: null,
+        date: null,
+        mode: null,
+        store: this.options.store,
+        comment: ""
+      });
+      var isDir = data.type === "directory";
+      var isSymlink = data.type === "symlink";
+      if (data.name) {
+        data.name = util.sanitizePath(data.name);
+        if (!isSymlink && data.name.slice(-1) === "/") {
+          isDir = true;
+          data.type = "directory";
+        } else if (isDir) {
+          data.name += "/";
         }
       }
-      function onend() {
-        debug4("onend");
-        dest.end();
+      if (isDir || isSymlink) {
+        data.store = true;
+      }
+      data.date = util.dateify(data.date);
+      return data;
+    };
+    ZipStream.prototype.entry = function(source, data, callback) {
+      if (typeof callback !== "function") {
+        callback = this._emitErrorCallback.bind(this);
       }
-      var ondrain = pipeOnDrain(src);
-      dest.on("drain", ondrain);
-      var cleanedUp = false;
-      function cleanup() {
-        debug4("cleanup");
-        dest.removeListener("close", onclose);
-        dest.removeListener("finish", onfinish);
-        dest.removeListener("drain", ondrain);
-        dest.removeListener("error", onerror);
-        dest.removeListener("unpipe", onunpipe);
-        src.removeListener("end", onend);
-        src.removeListener("end", unpipe);
-        src.removeListener("data", ondata);
-        cleanedUp = true;
-        if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();
+      data = this._normalizeFileData(data);
+      if (data.type !== "file" && data.type !== "directory" && data.type !== "symlink") {
+        callback(new Error(data.type + " entries not currently supported"));
+        return;
       }
-      var increasedAwaitDrain = false;
-      src.on("data", ondata);
-      function ondata(chunk) {
-        debug4("ondata");
-        increasedAwaitDrain = false;
-        var ret = dest.write(chunk);
-        if (false === ret && !increasedAwaitDrain) {
-          if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {
-            debug4("false write response, pause", state.awaitDrain);
-            state.awaitDrain++;
-            increasedAwaitDrain = true;
-          }
-          src.pause();
-        }
+      if (typeof data.name !== "string" || data.name.length === 0) {
+        callback(new Error("entry name must be a non-empty string value"));
+        return;
       }
-      function onerror(er) {
-        debug4("onerror", er);
-        unpipe();
-        dest.removeListener("error", onerror);
-        if (EElistenerCount(dest, "error") === 0) dest.emit("error", er);
+      if (data.type === "symlink" && typeof data.linkname !== "string") {
+        callback(new Error("entry linkname must be a non-empty string value when type equals symlink"));
+        return;
       }
-      prependListener(dest, "error", onerror);
-      function onclose() {
-        dest.removeListener("finish", onfinish);
-        unpipe();
+      var entry = new ZipArchiveEntry(data.name);
+      entry.setTime(data.date, this.options.forceLocalTime);
+      if (data.namePrependSlash) {
+        entry.setName(data.name, true);
       }
-      dest.once("close", onclose);
-      function onfinish() {
-        debug4("onfinish");
-        dest.removeListener("close", onclose);
-        unpipe();
+      if (data.store) {
+        entry.setMethod(0);
       }
-      dest.once("finish", onfinish);
-      function unpipe() {
-        debug4("unpipe");
-        src.unpipe(dest);
+      if (data.comment.length > 0) {
+        entry.setComment(data.comment);
       }
-      dest.emit("pipe", src);
-      if (!state.flowing) {
-        debug4("pipe resume");
-        src.resume();
+      if (data.type === "symlink" && typeof data.mode !== "number") {
+        data.mode = 40960;
       }
-      return dest;
-    };
-    function pipeOnDrain(src) {
-      return function() {
-        var state = src._readableState;
-        debug4("pipeOnDrain", state.awaitDrain);
-        if (state.awaitDrain) state.awaitDrain--;
-        if (state.awaitDrain === 0 && EElistenerCount(src, "data")) {
-          state.flowing = true;
-          flow(src);
+      if (typeof data.mode === "number") {
+        if (data.type === "symlink") {
+          data.mode |= 40960;
         }
-      };
-    }
-    Readable.prototype.unpipe = function(dest) {
-      var state = this._readableState;
-      var unpipeInfo = { hasUnpiped: false };
-      if (state.pipesCount === 0) return this;
-      if (state.pipesCount === 1) {
-        if (dest && dest !== state.pipes) return this;
-        if (!dest) dest = state.pipes;
-        state.pipes = null;
-        state.pipesCount = 0;
-        state.flowing = false;
-        if (dest) dest.emit("unpipe", this, unpipeInfo);
-        return this;
+        entry.setUnixMode(data.mode);
       }
-      if (!dest) {
-        var dests = state.pipes;
-        var len = state.pipesCount;
-        state.pipes = null;
-        state.pipesCount = 0;
-        state.flowing = false;
-        for (var i = 0; i < len; i++) {
-          dests[i].emit("unpipe", this, { hasUnpiped: false });
-        }
-        return this;
+      if (data.type === "symlink" && typeof data.linkname === "string") {
+        source = Buffer.from(data.linkname);
       }
-      var index = indexOf(state.pipes, dest);
-      if (index === -1) return this;
-      state.pipes.splice(index, 1);
-      state.pipesCount -= 1;
-      if (state.pipesCount === 1) state.pipes = state.pipes[0];
-      dest.emit("unpipe", this, unpipeInfo);
-      return this;
+      return ZipArchiveOutputStream.prototype.entry.call(this, entry, source, callback);
     };
-    Readable.prototype.on = function(ev, fn) {
-      var res = Stream.prototype.on.call(this, ev, fn);
-      if (ev === "data") {
-        if (this._readableState.flowing !== false) this.resume();
-      } else if (ev === "readable") {
-        var state = this._readableState;
-        if (!state.endEmitted && !state.readableListening) {
-          state.readableListening = state.needReadable = true;
-          state.emittedReadable = false;
-          if (!state.reading) {
-            pna.nextTick(nReadingNextTick, this);
-          } else if (state.length) {
-            emitReadable(this);
-          }
-        }
-      }
-      return res;
+    ZipStream.prototype.finalize = function() {
+      this.finish();
     };
-    Readable.prototype.addListener = Readable.prototype.on;
-    function nReadingNextTick(self2) {
-      debug4("readable nexttick read 0");
-      self2.read(0);
-    }
-    Readable.prototype.resume = function() {
-      var state = this._readableState;
-      if (!state.flowing) {
-        debug4("resume");
-        state.flowing = true;
-        resume(this, state);
+  }
+});
+
+// node_modules/archiver/lib/plugins/zip.js
+var require_zip = __commonJS({
+  "node_modules/archiver/lib/plugins/zip.js"(exports2, module2) {
+    var engine = require_zip_stream();
+    var util = require_archiver_utils();
+    var Zip = function(options) {
+      if (!(this instanceof Zip)) {
+        return new Zip(options);
       }
-      return this;
+      options = this.options = util.defaults(options, {
+        comment: "",
+        forceUTC: false,
+        namePrependSlash: false,
+        store: false
+      });
+      this.supports = {
+        directory: true,
+        symlink: true
+      };
+      this.engine = new engine(options);
     };
-    function resume(stream, state) {
-      if (!state.resumeScheduled) {
-        state.resumeScheduled = true;
-        pna.nextTick(resume_, stream, state);
+    Zip.prototype.append = function(source, data, callback) {
+      this.engine.entry(source, data, callback);
+    };
+    Zip.prototype.finalize = function() {
+      this.engine.finalize();
+    };
+    Zip.prototype.on = function() {
+      return this.engine.on.apply(this.engine, arguments);
+    };
+    Zip.prototype.pipe = function() {
+      return this.engine.pipe.apply(this.engine, arguments);
+    };
+    Zip.prototype.unpipe = function() {
+      return this.engine.unpipe.apply(this.engine, arguments);
+    };
+    module2.exports = Zip;
+  }
+});
+
+// node_modules/queue-tick/queue-microtask.js
+var require_queue_microtask = __commonJS({
+  "node_modules/queue-tick/queue-microtask.js"(exports2, module2) {
+    module2.exports = typeof queueMicrotask === "function" ? queueMicrotask : (fn) => Promise.resolve().then(fn);
+  }
+});
+
+// node_modules/queue-tick/process-next-tick.js
+var require_process_next_tick = __commonJS({
+  "node_modules/queue-tick/process-next-tick.js"(exports2, module2) {
+    module2.exports = typeof process !== "undefined" && typeof process.nextTick === "function" ? process.nextTick.bind(process) : require_queue_microtask();
+  }
+});
+
+// node_modules/fast-fifo/fixed-size.js
+var require_fixed_size = __commonJS({
+  "node_modules/fast-fifo/fixed-size.js"(exports2, module2) {
+    module2.exports = class FixedFIFO {
+      constructor(hwm) {
+        if (!(hwm > 0) || (hwm - 1 & hwm) !== 0) throw new Error("Max size for a FixedFIFO should be a power of two");
+        this.buffer = new Array(hwm);
+        this.mask = hwm - 1;
+        this.top = 0;
+        this.btm = 0;
+        this.next = null;
       }
-    }
-    function resume_(stream, state) {
-      if (!state.reading) {
-        debug4("resume read 0");
-        stream.read(0);
+      clear() {
+        this.top = this.btm = 0;
+        this.next = null;
+        this.buffer.fill(void 0);
       }
-      state.resumeScheduled = false;
-      state.awaitDrain = 0;
-      stream.emit("resume");
-      flow(stream);
-      if (state.flowing && !state.reading) stream.read(0);
-    }
-    Readable.prototype.pause = function() {
-      debug4("call pause flowing=%j", this._readableState.flowing);
-      if (false !== this._readableState.flowing) {
-        debug4("pause");
-        this._readableState.flowing = false;
-        this.emit("pause");
+      push(data) {
+        if (this.buffer[this.top] !== void 0) return false;
+        this.buffer[this.top] = data;
+        this.top = this.top + 1 & this.mask;
+        return true;
       }
-      return this;
-    };
-    function flow(stream) {
-      var state = stream._readableState;
-      debug4("flow", state.flowing);
-      while (state.flowing && stream.read() !== null) {
+      shift() {
+        const last = this.buffer[this.btm];
+        if (last === void 0) return void 0;
+        this.buffer[this.btm] = void 0;
+        this.btm = this.btm + 1 & this.mask;
+        return last;
       }
-    }
-    Readable.prototype.wrap = function(stream) {
-      var _this = this;
-      var state = this._readableState;
-      var paused = false;
-      stream.on("end", function() {
-        debug4("wrapped end");
-        if (state.decoder && !state.ended) {
-          var chunk = state.decoder.end();
-          if (chunk && chunk.length) _this.push(chunk);
-        }
-        _this.push(null);
-      });
-      stream.on("data", function(chunk) {
-        debug4("wrapped data");
-        if (state.decoder) chunk = state.decoder.write(chunk);
-        if (state.objectMode && (chunk === null || chunk === void 0)) return;
-        else if (!state.objectMode && (!chunk || !chunk.length)) return;
-        var ret = _this.push(chunk);
-        if (!ret) {
-          paused = true;
-          stream.pause();
-        }
-      });
-      for (var i in stream) {
-        if (this[i] === void 0 && typeof stream[i] === "function") {
-          this[i] = /* @__PURE__ */ (function(method) {
-            return function() {
-              return stream[method].apply(stream, arguments);
-            };
-          })(i);
-        }
+      peek() {
+        return this.buffer[this.btm];
       }
-      for (var n = 0; n < kProxyEvents.length; n++) {
-        stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));
+      isEmpty() {
+        return this.buffer[this.btm] === void 0;
       }
-      this._read = function(n2) {
-        debug4("wrapped _read", n2);
-        if (paused) {
-          paused = false;
-          stream.resume();
-        }
-      };
-      return this;
     };
-    Object.defineProperty(Readable.prototype, "readableHighWaterMark", {
-      // making it explicit this property is not enumerable
-      // because otherwise some prototype manipulation in
-      // userland will fail
-      enumerable: false,
-      get: function() {
-        return this._readableState.highWaterMark;
+  }
+});
+
+// node_modules/fast-fifo/index.js
+var require_fast_fifo = __commonJS({
+  "node_modules/fast-fifo/index.js"(exports2, module2) {
+    var FixedFIFO = require_fixed_size();
+    module2.exports = class FastFIFO {
+      constructor(hwm) {
+        this.hwm = hwm || 16;
+        this.head = new FixedFIFO(this.hwm);
+        this.tail = this.head;
+        this.length = 0;
       }
-    });
-    Readable._fromList = fromList;
-    function fromList(n, state) {
-      if (state.length === 0) return null;
-      var ret;
-      if (state.objectMode) ret = state.buffer.shift();
-      else if (!n || n >= state.length) {
-        if (state.decoder) ret = state.buffer.join("");
-        else if (state.buffer.length === 1) ret = state.buffer.head.data;
-        else ret = state.buffer.concat(state.length);
-        state.buffer.clear();
-      } else {
-        ret = fromListPartial(n, state.buffer, state.decoder);
+      clear() {
+        this.head = this.tail;
+        this.head.clear();
+        this.length = 0;
       }
-      return ret;
-    }
-    function fromListPartial(n, list, hasStrings) {
-      var ret;
-      if (n < list.head.data.length) {
-        ret = list.head.data.slice(0, n);
-        list.head.data = list.head.data.slice(n);
-      } else if (n === list.head.data.length) {
-        ret = list.shift();
-      } else {
-        ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list);
+      push(val) {
+        this.length++;
+        if (!this.head.push(val)) {
+          const prev = this.head;
+          this.head = prev.next = new FixedFIFO(2 * this.head.buffer.length);
+          this.head.push(val);
+        }
       }
-      return ret;
-    }
-    function copyFromBufferString(n, list) {
-      var p = list.head;
-      var c = 1;
-      var ret = p.data;
-      n -= ret.length;
-      while (p = p.next) {
-        var str2 = p.data;
-        var nb = n > str2.length ? str2.length : n;
-        if (nb === str2.length) ret += str2;
-        else ret += str2.slice(0, n);
-        n -= nb;
-        if (n === 0) {
-          if (nb === str2.length) {
-            ++c;
-            if (p.next) list.head = p.next;
-            else list.head = list.tail = null;
-          } else {
-            list.head = p;
-            p.data = str2.slice(nb);
-          }
-          break;
+      shift() {
+        if (this.length !== 0) this.length--;
+        const val = this.tail.shift();
+        if (val === void 0 && this.tail.next) {
+          const next = this.tail.next;
+          this.tail.next = null;
+          this.tail = next;
+          return this.tail.shift();
         }
-        ++c;
+        return val;
       }
-      list.length -= c;
-      return ret;
+      peek() {
+        const val = this.tail.peek();
+        if (val === void 0 && this.tail.next) return this.tail.next.peek();
+        return val;
+      }
+      isEmpty() {
+        return this.length === 0;
+      }
+    };
+  }
+});
+
+// node_modules/b4a/index.js
+var require_b4a = __commonJS({
+  "node_modules/b4a/index.js"(exports2, module2) {
+    function isBuffer(value) {
+      return Buffer.isBuffer(value) || value instanceof Uint8Array;
+    }
+    function isEncoding(encoding) {
+      return Buffer.isEncoding(encoding);
+    }
+    function alloc(size, fill2, encoding) {
+      return Buffer.alloc(size, fill2, encoding);
+    }
+    function allocUnsafe(size) {
+      return Buffer.allocUnsafe(size);
+    }
+    function allocUnsafeSlow(size) {
+      return Buffer.allocUnsafeSlow(size);
+    }
+    function byteLength(string, encoding) {
+      return Buffer.byteLength(string, encoding);
+    }
+    function compare2(a, b) {
+      return Buffer.compare(a, b);
+    }
+    function concat(buffers, totalLength) {
+      return Buffer.concat(buffers, totalLength);
+    }
+    function copy(source, target, targetStart, start, end) {
+      return toBuffer(source).copy(target, targetStart, start, end);
+    }
+    function equals(a, b) {
+      return toBuffer(a).equals(b);
+    }
+    function fill(buffer, value, offset, end, encoding) {
+      return toBuffer(buffer).fill(value, offset, end, encoding);
+    }
+    function from(value, encodingOrOffset, length) {
+      return Buffer.from(value, encodingOrOffset, length);
+    }
+    function includes(buffer, value, byteOffset, encoding) {
+      return toBuffer(buffer).includes(value, byteOffset, encoding);
+    }
+    function indexOf(buffer, value, byfeOffset, encoding) {
+      return toBuffer(buffer).indexOf(value, byfeOffset, encoding);
+    }
+    function lastIndexOf(buffer, value, byteOffset, encoding) {
+      return toBuffer(buffer).lastIndexOf(value, byteOffset, encoding);
+    }
+    function swap16(buffer) {
+      return toBuffer(buffer).swap16();
+    }
+    function swap32(buffer) {
+      return toBuffer(buffer).swap32();
+    }
+    function swap64(buffer) {
+      return toBuffer(buffer).swap64();
+    }
+    function toBuffer(buffer) {
+      if (Buffer.isBuffer(buffer)) return buffer;
+      return Buffer.from(buffer.buffer, buffer.byteOffset, buffer.byteLength);
+    }
+    function toString2(buffer, encoding, start, end) {
+      return toBuffer(buffer).toString(encoding, start, end);
+    }
+    function write(buffer, string, offset, length, encoding) {
+      return toBuffer(buffer).write(string, offset, length, encoding);
+    }
+    function writeDoubleLE(buffer, value, offset) {
+      return toBuffer(buffer).writeDoubleLE(value, offset);
+    }
+    function writeFloatLE(buffer, value, offset) {
+      return toBuffer(buffer).writeFloatLE(value, offset);
+    }
+    function writeUInt32LE(buffer, value, offset) {
+      return toBuffer(buffer).writeUInt32LE(value, offset);
+    }
+    function writeInt32LE(buffer, value, offset) {
+      return toBuffer(buffer).writeInt32LE(value, offset);
+    }
+    function readDoubleLE(buffer, offset) {
+      return toBuffer(buffer).readDoubleLE(offset);
+    }
+    function readFloatLE(buffer, offset) {
+      return toBuffer(buffer).readFloatLE(offset);
+    }
+    function readUInt32LE(buffer, offset) {
+      return toBuffer(buffer).readUInt32LE(offset);
+    }
+    function readInt32LE(buffer, offset) {
+      return toBuffer(buffer).readInt32LE(offset);
+    }
+    function writeDoubleBE(buffer, value, offset) {
+      return toBuffer(buffer).writeDoubleBE(value, offset);
+    }
+    function writeFloatBE(buffer, value, offset) {
+      return toBuffer(buffer).writeFloatBE(value, offset);
+    }
+    function writeUInt32BE(buffer, value, offset) {
+      return toBuffer(buffer).writeUInt32BE(value, offset);
+    }
+    function writeInt32BE(buffer, value, offset) {
+      return toBuffer(buffer).writeInt32BE(value, offset);
     }
-    function copyFromBuffer(n, list) {
-      var ret = Buffer2.allocUnsafe(n);
-      var p = list.head;
-      var c = 1;
-      p.data.copy(ret);
-      n -= p.data.length;
-      while (p = p.next) {
-        var buf = p.data;
-        var nb = n > buf.length ? buf.length : n;
-        buf.copy(ret, ret.length - n, 0, nb);
-        n -= nb;
-        if (n === 0) {
-          if (nb === buf.length) {
-            ++c;
-            if (p.next) list.head = p.next;
-            else list.head = list.tail = null;
-          } else {
-            list.head = p;
-            p.data = buf.slice(nb);
-          }
-          break;
-        }
-        ++c;
-      }
-      list.length -= c;
-      return ret;
+    function readDoubleBE(buffer, offset) {
+      return toBuffer(buffer).readDoubleBE(offset);
     }
-    function endReadable(stream) {
-      var state = stream._readableState;
-      if (state.length > 0) throw new Error('"endReadable()" called on non-empty stream');
-      if (!state.endEmitted) {
-        state.ended = true;
-        pna.nextTick(endReadableNT, state, stream);
-      }
+    function readFloatBE(buffer, offset) {
+      return toBuffer(buffer).readFloatBE(offset);
     }
-    function endReadableNT(state, stream) {
-      if (!state.endEmitted && state.length === 0) {
-        state.endEmitted = true;
-        stream.readable = false;
-        stream.emit("end");
-      }
+    function readUInt32BE(buffer, offset) {
+      return toBuffer(buffer).readUInt32BE(offset);
     }
-    function indexOf(xs, x) {
-      for (var i = 0, l = xs.length; i < l; i++) {
-        if (xs[i] === x) return i;
-      }
-      return -1;
+    function readInt32BE(buffer, offset) {
+      return toBuffer(buffer).readInt32BE(offset);
     }
+    module2.exports = {
+      isBuffer,
+      isEncoding,
+      alloc,
+      allocUnsafe,
+      allocUnsafeSlow,
+      byteLength,
+      compare: compare2,
+      concat,
+      copy,
+      equals,
+      fill,
+      from,
+      includes,
+      indexOf,
+      lastIndexOf,
+      swap16,
+      swap32,
+      swap64,
+      toBuffer,
+      toString: toString2,
+      write,
+      writeDoubleLE,
+      writeFloatLE,
+      writeUInt32LE,
+      writeInt32LE,
+      readDoubleLE,
+      readFloatLE,
+      readUInt32LE,
+      readInt32LE,
+      writeDoubleBE,
+      writeFloatBE,
+      writeUInt32BE,
+      writeInt32BE,
+      readDoubleBE,
+      readFloatBE,
+      readUInt32BE,
+      readInt32BE
+    };
   }
 });
 
-// node_modules/lazystream/node_modules/readable-stream/lib/_stream_transform.js
-var require_stream_transform = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_transform.js"(exports2, module2) {
-    "use strict";
-    module2.exports = Transform;
-    var Duplex = require_stream_duplex();
-    var util = Object.create(require_util18());
-    util.inherits = require_inherits();
-    util.inherits(Transform, Duplex);
-    function afterTransform(er, data) {
-      var ts = this._transformState;
-      ts.transforming = false;
-      var cb = ts.writecb;
-      if (!cb) {
-        return this.emit("error", new Error("write callback called multiple times"));
-      }
-      ts.writechunk = null;
-      ts.writecb = null;
-      if (data != null)
-        this.push(data);
-      cb(er);
-      var rs = this._readableState;
-      rs.reading = false;
-      if (rs.needReadable || rs.length < rs.highWaterMark) {
-        this._read(rs.highWaterMark);
-      }
-    }
-    function Transform(options) {
-      if (!(this instanceof Transform)) return new Transform(options);
-      Duplex.call(this, options);
-      this._transformState = {
-        afterTransform: afterTransform.bind(this),
-        needTransform: false,
-        transforming: false,
-        writecb: null,
-        writechunk: null,
-        writeencoding: null
-      };
-      this._readableState.needReadable = true;
-      this._readableState.sync = false;
-      if (options) {
-        if (typeof options.transform === "function") this._transform = options.transform;
-        if (typeof options.flush === "function") this._flush = options.flush;
+// node_modules/text-decoder/lib/pass-through-decoder.js
+var require_pass_through_decoder = __commonJS({
+  "node_modules/text-decoder/lib/pass-through-decoder.js"(exports2, module2) {
+    var b4a = require_b4a();
+    module2.exports = class PassThroughDecoder {
+      constructor(encoding) {
+        this.encoding = encoding;
       }
-      this.on("prefinish", prefinish);
-    }
-    function prefinish() {
-      var _this = this;
-      if (typeof this._flush === "function") {
-        this._flush(function(er, data) {
-          done(_this, er, data);
-        });
-      } else {
-        done(this, null, null);
+      get remaining() {
+        return 0;
       }
-    }
-    Transform.prototype.push = function(chunk, encoding) {
-      this._transformState.needTransform = false;
-      return Duplex.prototype.push.call(this, chunk, encoding);
-    };
-    Transform.prototype._transform = function(chunk, encoding, cb) {
-      throw new Error("_transform() is not implemented");
-    };
-    Transform.prototype._write = function(chunk, encoding, cb) {
-      var ts = this._transformState;
-      ts.writecb = cb;
-      ts.writechunk = chunk;
-      ts.writeencoding = encoding;
-      if (!ts.transforming) {
-        var rs = this._readableState;
-        if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);
+      decode(tail) {
+        return b4a.toString(tail, this.encoding);
       }
-    };
-    Transform.prototype._read = function(n) {
-      var ts = this._transformState;
-      if (ts.writechunk !== null && ts.writecb && !ts.transforming) {
-        ts.transforming = true;
-        this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);
-      } else {
-        ts.needTransform = true;
+      flush() {
+        return "";
       }
     };
-    Transform.prototype._destroy = function(err, cb) {
-      var _this2 = this;
-      Duplex.prototype._destroy.call(this, err, function(err2) {
-        cb(err2);
-        _this2.emit("close");
-      });
-    };
-    function done(stream, er, data) {
-      if (er) return stream.emit("error", er);
-      if (data != null)
-        stream.push(data);
-      if (stream._writableState.length) throw new Error("Calling transform done when ws.length != 0");
-      if (stream._transformState.transforming) throw new Error("Calling transform done when still transforming");
-      return stream.push(null);
-    }
   }
 });
 
-// node_modules/lazystream/node_modules/readable-stream/lib/_stream_passthrough.js
-var require_stream_passthrough = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_passthrough.js"(exports2, module2) {
-    "use strict";
-    module2.exports = PassThrough;
-    var Transform = require_stream_transform();
-    var util = Object.create(require_util18());
-    util.inherits = require_inherits();
-    util.inherits(PassThrough, Transform);
-    function PassThrough(options) {
-      if (!(this instanceof PassThrough)) return new PassThrough(options);
-      Transform.call(this, options);
-    }
-    PassThrough.prototype._transform = function(chunk, encoding, cb) {
-      cb(null, chunk);
+// node_modules/text-decoder/lib/utf8-decoder.js
+var require_utf8_decoder = __commonJS({
+  "node_modules/text-decoder/lib/utf8-decoder.js"(exports2, module2) {
+    var b4a = require_b4a();
+    module2.exports = class UTF8Decoder {
+      constructor() {
+        this.codePoint = 0;
+        this.bytesSeen = 0;
+        this.bytesNeeded = 0;
+        this.lowerBoundary = 128;
+        this.upperBoundary = 191;
+      }
+      get remaining() {
+        return this.bytesSeen;
+      }
+      decode(data) {
+        if (this.bytesNeeded === 0) {
+          let isBoundary = true;
+          for (let i = Math.max(0, data.byteLength - 4), n = data.byteLength; i < n && isBoundary; i++) {
+            isBoundary = data[i] <= 127;
+          }
+          if (isBoundary) return b4a.toString(data, "utf8");
+        }
+        let result = "";
+        for (let i = 0, n = data.byteLength; i < n; i++) {
+          const byte = data[i];
+          if (this.bytesNeeded === 0) {
+            if (byte <= 127) {
+              result += String.fromCharCode(byte);
+            } else {
+              this.bytesSeen = 1;
+              if (byte >= 194 && byte <= 223) {
+                this.bytesNeeded = 2;
+                this.codePoint = byte & 31;
+              } else if (byte >= 224 && byte <= 239) {
+                if (byte === 224) this.lowerBoundary = 160;
+                else if (byte === 237) this.upperBoundary = 159;
+                this.bytesNeeded = 3;
+                this.codePoint = byte & 15;
+              } else if (byte >= 240 && byte <= 244) {
+                if (byte === 240) this.lowerBoundary = 144;
+                if (byte === 244) this.upperBoundary = 143;
+                this.bytesNeeded = 4;
+                this.codePoint = byte & 7;
+              } else {
+                result += "\uFFFD";
+              }
+            }
+            continue;
+          }
+          if (byte < this.lowerBoundary || byte > this.upperBoundary) {
+            this.codePoint = 0;
+            this.bytesNeeded = 0;
+            this.bytesSeen = 0;
+            this.lowerBoundary = 128;
+            this.upperBoundary = 191;
+            result += "\uFFFD";
+            continue;
+          }
+          this.lowerBoundary = 128;
+          this.upperBoundary = 191;
+          this.codePoint = this.codePoint << 6 | byte & 63;
+          this.bytesSeen++;
+          if (this.bytesSeen !== this.bytesNeeded) continue;
+          result += String.fromCodePoint(this.codePoint);
+          this.codePoint = 0;
+          this.bytesNeeded = 0;
+          this.bytesSeen = 0;
+        }
+        return result;
+      }
+      flush() {
+        const result = this.bytesNeeded > 0 ? "\uFFFD" : "";
+        this.codePoint = 0;
+        this.bytesNeeded = 0;
+        this.bytesSeen = 0;
+        this.lowerBoundary = 128;
+        this.upperBoundary = 191;
+        return result;
+      }
     };
   }
 });
 
-// node_modules/lazystream/node_modules/readable-stream/readable.js
-var require_readable3 = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/readable.js"(exports2, module2) {
-    var Stream = require("stream");
-    if (process.env.READABLE_STREAM === "disable" && Stream) {
-      module2.exports = Stream;
-      exports2 = module2.exports = Stream.Readable;
-      exports2.Readable = Stream.Readable;
-      exports2.Writable = Stream.Writable;
-      exports2.Duplex = Stream.Duplex;
-      exports2.Transform = Stream.Transform;
-      exports2.PassThrough = Stream.PassThrough;
-      exports2.Stream = Stream;
-    } else {
-      exports2 = module2.exports = require_stream_readable();
-      exports2.Stream = Stream || exports2;
-      exports2.Readable = exports2;
-      exports2.Writable = require_stream_writable();
-      exports2.Duplex = require_stream_duplex();
-      exports2.Transform = require_stream_transform();
-      exports2.PassThrough = require_stream_passthrough();
-    }
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/passthrough.js
-var require_passthrough = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/passthrough.js"(exports2, module2) {
-    module2.exports = require_readable3().PassThrough;
-  }
-});
-
-// node_modules/lazystream/lib/lazystream.js
-var require_lazystream = __commonJS({
-  "node_modules/lazystream/lib/lazystream.js"(exports2, module2) {
-    var util = require("util");
-    var PassThrough = require_passthrough();
-    module2.exports = {
-      Readable,
-      Writable
+// node_modules/text-decoder/index.js
+var require_text_decoder = __commonJS({
+  "node_modules/text-decoder/index.js"(exports2, module2) {
+    var PassThroughDecoder = require_pass_through_decoder();
+    var UTF8Decoder = require_utf8_decoder();
+    module2.exports = class TextDecoder {
+      constructor(encoding = "utf8") {
+        this.encoding = normalizeEncoding(encoding);
+        switch (this.encoding) {
+          case "utf8":
+            this.decoder = new UTF8Decoder();
+            break;
+          case "utf16le":
+          case "base64":
+            throw new Error("Unsupported encoding: " + this.encoding);
+          default:
+            this.decoder = new PassThroughDecoder(this.encoding);
+        }
+      }
+      get remaining() {
+        return this.decoder.remaining;
+      }
+      push(data) {
+        if (typeof data === "string") return data;
+        return this.decoder.decode(data);
+      }
+      // For Node.js compatibility
+      write(data) {
+        return this.push(data);
+      }
+      end(data) {
+        let result = "";
+        if (data) result = this.push(data);
+        result += this.decoder.flush();
+        return result;
+      }
     };
-    util.inherits(Readable, PassThrough);
-    util.inherits(Writable, PassThrough);
-    function beforeFirstCall(instance, method, callback) {
-      instance[method] = function() {
-        delete instance[method];
-        callback.apply(this, arguments);
-        return this[method].apply(this, arguments);
-      };
-    }
-    function Readable(fn, options) {
-      if (!(this instanceof Readable))
-        return new Readable(fn, options);
-      PassThrough.call(this, options);
-      beforeFirstCall(this, "_read", function() {
-        var source = fn.call(this, options);
-        var emit = this.emit.bind(this, "error");
-        source.on("error", emit);
-        source.pipe(this);
-      });
-      this.emit("readable");
-    }
-    function Writable(fn, options) {
-      if (!(this instanceof Writable))
-        return new Writable(fn, options);
-      PassThrough.call(this, options);
-      beforeFirstCall(this, "_write", function() {
-        var destination = fn.call(this, options);
-        var emit = this.emit.bind(this, "error");
-        destination.on("error", emit);
-        this.pipe(destination);
-      });
-      this.emit("writable");
+    function normalizeEncoding(encoding) {
+      encoding = encoding.toLowerCase();
+      switch (encoding) {
+        case "utf8":
+        case "utf-8":
+          return "utf8";
+        case "ucs2":
+        case "ucs-2":
+        case "utf16le":
+        case "utf-16le":
+          return "utf16le";
+        case "latin1":
+        case "binary":
+          return "latin1";
+        case "base64":
+        case "ascii":
+        case "hex":
+          return encoding;
+        default:
+          throw new Error("Unknown encoding: " + encoding);
+      }
     }
   }
 });
 
-// node_modules/normalize-path/index.js
-var require_normalize_path = __commonJS({
-  "node_modules/normalize-path/index.js"(exports2, module2) {
-    module2.exports = function(path3, stripTrailing) {
-      if (typeof path3 !== "string") {
-        throw new TypeError("expected path to be a string");
+// node_modules/streamx/index.js
+var require_streamx = __commonJS({
+  "node_modules/streamx/index.js"(exports2, module2) {
+    var { EventEmitter } = require("events");
+    var STREAM_DESTROYED = new Error("Stream was destroyed");
+    var PREMATURE_CLOSE = new Error("Premature close");
+    var queueTick = require_process_next_tick();
+    var FIFO = require_fast_fifo();
+    var TextDecoder2 = require_text_decoder();
+    var MAX = (1 << 29) - 1;
+    var OPENING = 1;
+    var PREDESTROYING = 2;
+    var DESTROYING = 4;
+    var DESTROYED = 8;
+    var NOT_OPENING = MAX ^ OPENING;
+    var NOT_PREDESTROYING = MAX ^ PREDESTROYING;
+    var READ_ACTIVE = 1 << 4;
+    var READ_UPDATING = 2 << 4;
+    var READ_PRIMARY = 4 << 4;
+    var READ_QUEUED = 8 << 4;
+    var READ_RESUMED = 16 << 4;
+    var READ_PIPE_DRAINED = 32 << 4;
+    var READ_ENDING = 64 << 4;
+    var READ_EMIT_DATA = 128 << 4;
+    var READ_EMIT_READABLE = 256 << 4;
+    var READ_EMITTED_READABLE = 512 << 4;
+    var READ_DONE = 1024 << 4;
+    var READ_NEXT_TICK = 2048 << 4;
+    var READ_NEEDS_PUSH = 4096 << 4;
+    var READ_READ_AHEAD = 8192 << 4;
+    var READ_FLOWING = READ_RESUMED | READ_PIPE_DRAINED;
+    var READ_ACTIVE_AND_NEEDS_PUSH = READ_ACTIVE | READ_NEEDS_PUSH;
+    var READ_PRIMARY_AND_ACTIVE = READ_PRIMARY | READ_ACTIVE;
+    var READ_EMIT_READABLE_AND_QUEUED = READ_EMIT_READABLE | READ_QUEUED;
+    var READ_RESUMED_READ_AHEAD = READ_RESUMED | READ_READ_AHEAD;
+    var READ_NOT_ACTIVE = MAX ^ READ_ACTIVE;
+    var READ_NON_PRIMARY = MAX ^ READ_PRIMARY;
+    var READ_NON_PRIMARY_AND_PUSHED = MAX ^ (READ_PRIMARY | READ_NEEDS_PUSH);
+    var READ_PUSHED = MAX ^ READ_NEEDS_PUSH;
+    var READ_PAUSED = MAX ^ READ_RESUMED;
+    var READ_NOT_QUEUED = MAX ^ (READ_QUEUED | READ_EMITTED_READABLE);
+    var READ_NOT_ENDING = MAX ^ READ_ENDING;
+    var READ_PIPE_NOT_DRAINED = MAX ^ READ_FLOWING;
+    var READ_NOT_NEXT_TICK = MAX ^ READ_NEXT_TICK;
+    var READ_NOT_UPDATING = MAX ^ READ_UPDATING;
+    var READ_NO_READ_AHEAD = MAX ^ READ_READ_AHEAD;
+    var READ_PAUSED_NO_READ_AHEAD = MAX ^ READ_RESUMED_READ_AHEAD;
+    var WRITE_ACTIVE = 1 << 18;
+    var WRITE_UPDATING = 2 << 18;
+    var WRITE_PRIMARY = 4 << 18;
+    var WRITE_QUEUED = 8 << 18;
+    var WRITE_UNDRAINED = 16 << 18;
+    var WRITE_DONE = 32 << 18;
+    var WRITE_EMIT_DRAIN = 64 << 18;
+    var WRITE_NEXT_TICK = 128 << 18;
+    var WRITE_WRITING = 256 << 18;
+    var WRITE_FINISHING = 512 << 18;
+    var WRITE_CORKED = 1024 << 18;
+    var WRITE_NOT_ACTIVE = MAX ^ (WRITE_ACTIVE | WRITE_WRITING);
+    var WRITE_NON_PRIMARY = MAX ^ WRITE_PRIMARY;
+    var WRITE_NOT_FINISHING = MAX ^ WRITE_FINISHING;
+    var WRITE_DRAINED = MAX ^ WRITE_UNDRAINED;
+    var WRITE_NOT_QUEUED = MAX ^ WRITE_QUEUED;
+    var WRITE_NOT_NEXT_TICK = MAX ^ WRITE_NEXT_TICK;
+    var WRITE_NOT_UPDATING = MAX ^ WRITE_UPDATING;
+    var WRITE_NOT_CORKED = MAX ^ WRITE_CORKED;
+    var ACTIVE = READ_ACTIVE | WRITE_ACTIVE;
+    var NOT_ACTIVE = MAX ^ ACTIVE;
+    var DONE = READ_DONE | WRITE_DONE;
+    var DESTROY_STATUS = DESTROYING | DESTROYED | PREDESTROYING;
+    var OPEN_STATUS = DESTROY_STATUS | OPENING;
+    var AUTO_DESTROY = DESTROY_STATUS | DONE;
+    var NON_PRIMARY = WRITE_NON_PRIMARY & READ_NON_PRIMARY;
+    var ACTIVE_OR_TICKING = WRITE_NEXT_TICK | READ_NEXT_TICK;
+    var TICKING = ACTIVE_OR_TICKING & NOT_ACTIVE;
+    var IS_OPENING = OPEN_STATUS | TICKING;
+    var READ_PRIMARY_STATUS = OPEN_STATUS | READ_ENDING | READ_DONE;
+    var READ_STATUS = OPEN_STATUS | READ_DONE | READ_QUEUED;
+    var READ_ENDING_STATUS = OPEN_STATUS | READ_ENDING | READ_QUEUED;
+    var READ_READABLE_STATUS = OPEN_STATUS | READ_EMIT_READABLE | READ_QUEUED | READ_EMITTED_READABLE;
+    var SHOULD_NOT_READ = OPEN_STATUS | READ_ACTIVE | READ_ENDING | READ_DONE | READ_NEEDS_PUSH | READ_READ_AHEAD;
+    var READ_BACKPRESSURE_STATUS = DESTROY_STATUS | READ_ENDING | READ_DONE;
+    var READ_UPDATE_SYNC_STATUS = READ_UPDATING | OPEN_STATUS | READ_NEXT_TICK | READ_PRIMARY;
+    var WRITE_PRIMARY_STATUS = OPEN_STATUS | WRITE_FINISHING | WRITE_DONE;
+    var WRITE_QUEUED_AND_UNDRAINED = WRITE_QUEUED | WRITE_UNDRAINED;
+    var WRITE_QUEUED_AND_ACTIVE = WRITE_QUEUED | WRITE_ACTIVE;
+    var WRITE_DRAIN_STATUS = WRITE_QUEUED | WRITE_UNDRAINED | OPEN_STATUS | WRITE_ACTIVE;
+    var WRITE_STATUS = OPEN_STATUS | WRITE_ACTIVE | WRITE_QUEUED | WRITE_CORKED;
+    var WRITE_PRIMARY_AND_ACTIVE = WRITE_PRIMARY | WRITE_ACTIVE;
+    var WRITE_ACTIVE_AND_WRITING = WRITE_ACTIVE | WRITE_WRITING;
+    var WRITE_FINISHING_STATUS = OPEN_STATUS | WRITE_FINISHING | WRITE_QUEUED_AND_ACTIVE | WRITE_DONE;
+    var WRITE_BACKPRESSURE_STATUS = WRITE_UNDRAINED | DESTROY_STATUS | WRITE_FINISHING | WRITE_DONE;
+    var WRITE_UPDATE_SYNC_STATUS = WRITE_UPDATING | OPEN_STATUS | WRITE_NEXT_TICK | WRITE_PRIMARY;
+    var asyncIterator = Symbol.asyncIterator || /* @__PURE__ */ Symbol("asyncIterator");
+    var WritableState = class {
+      constructor(stream, { highWaterMark = 16384, map: map2 = null, mapWritable, byteLength, byteLengthWritable } = {}) {
+        this.stream = stream;
+        this.queue = new FIFO();
+        this.highWaterMark = highWaterMark;
+        this.buffered = 0;
+        this.error = null;
+        this.pipeline = null;
+        this.drains = null;
+        this.byteLength = byteLengthWritable || byteLength || defaultByteLength;
+        this.map = mapWritable || map2;
+        this.afterWrite = afterWrite.bind(this);
+        this.afterUpdateNextTick = updateWriteNT.bind(this);
       }
-      if (path3 === "\\" || path3 === "/") return "/";
-      var len = path3.length;
-      if (len <= 1) return path3;
-      var prefix = "";
-      if (len > 4 && path3[3] === "\\") {
-        var ch = path3[2];
-        if ((ch === "?" || ch === ".") && path3.slice(0, 2) === "\\\\") {
-          path3 = path3.slice(2);
-          prefix = "//";
+      get ended() {
+        return (this.stream._duplexState & WRITE_DONE) !== 0;
+      }
+      push(data) {
+        if (this.map !== null) data = this.map(data);
+        this.buffered += this.byteLength(data);
+        this.queue.push(data);
+        if (this.buffered < this.highWaterMark) {
+          this.stream._duplexState |= WRITE_QUEUED;
+          return true;
         }
+        this.stream._duplexState |= WRITE_QUEUED_AND_UNDRAINED;
+        return false;
       }
-      var segs = path3.split(/[/\\]+/);
-      if (stripTrailing !== false && segs[segs.length - 1] === "") {
-        segs.pop();
+      shift() {
+        const data = this.queue.shift();
+        this.buffered -= this.byteLength(data);
+        if (this.buffered === 0) this.stream._duplexState &= WRITE_NOT_QUEUED;
+        return data;
       }
-      return prefix + segs.join("/");
-    };
-  }
-});
-
-// node_modules/lodash/identity.js
-var require_identity = __commonJS({
-  "node_modules/lodash/identity.js"(exports2, module2) {
-    function identity(value) {
-      return value;
-    }
-    module2.exports = identity;
-  }
-});
-
-// node_modules/lodash/_apply.js
-var require_apply = __commonJS({
-  "node_modules/lodash/_apply.js"(exports2, module2) {
-    function apply(func, thisArg, args) {
-      switch (args.length) {
-        case 0:
-          return func.call(thisArg);
-        case 1:
-          return func.call(thisArg, args[0]);
-        case 2:
-          return func.call(thisArg, args[0], args[1]);
-        case 3:
-          return func.call(thisArg, args[0], args[1], args[2]);
+      end(data) {
+        if (typeof data === "function") this.stream.once("finish", data);
+        else if (data !== void 0 && data !== null) this.push(data);
+        this.stream._duplexState = (this.stream._duplexState | WRITE_FINISHING) & WRITE_NON_PRIMARY;
       }
-      return func.apply(thisArg, args);
-    }
-    module2.exports = apply;
-  }
-});
-
-// node_modules/lodash/_overRest.js
-var require_overRest = __commonJS({
-  "node_modules/lodash/_overRest.js"(exports2, module2) {
-    var apply = require_apply();
-    var nativeMax = Math.max;
-    function overRest(func, start, transform) {
-      start = nativeMax(start === void 0 ? func.length - 1 : start, 0);
-      return function() {
-        var args = arguments, index = -1, length = nativeMax(args.length - start, 0), array = Array(length);
-        while (++index < length) {
-          array[index] = args[start + index];
+      autoBatch(data, cb) {
+        const buffer = [];
+        const stream = this.stream;
+        buffer.push(data);
+        while ((stream._duplexState & WRITE_STATUS) === WRITE_QUEUED_AND_ACTIVE) {
+          buffer.push(stream._writableState.shift());
         }
-        index = -1;
-        var otherArgs = Array(start + 1);
-        while (++index < start) {
-          otherArgs[index] = args[index];
+        if ((stream._duplexState & OPEN_STATUS) !== 0) return cb(null);
+        stream._writev(buffer, cb);
+      }
+      update() {
+        const stream = this.stream;
+        stream._duplexState |= WRITE_UPDATING;
+        do {
+          while ((stream._duplexState & WRITE_STATUS) === WRITE_QUEUED) {
+            const data = this.shift();
+            stream._duplexState |= WRITE_ACTIVE_AND_WRITING;
+            stream._write(data, this.afterWrite);
+          }
+          if ((stream._duplexState & WRITE_PRIMARY_AND_ACTIVE) === 0) this.updateNonPrimary();
+        } while (this.continueUpdate() === true);
+        stream._duplexState &= WRITE_NOT_UPDATING;
+      }
+      updateNonPrimary() {
+        const stream = this.stream;
+        if ((stream._duplexState & WRITE_FINISHING_STATUS) === WRITE_FINISHING) {
+          stream._duplexState = (stream._duplexState | WRITE_ACTIVE) & WRITE_NOT_FINISHING;
+          stream._final(afterFinal.bind(this));
+          return;
+        }
+        if ((stream._duplexState & DESTROY_STATUS) === DESTROYING) {
+          if ((stream._duplexState & ACTIVE_OR_TICKING) === 0) {
+            stream._duplexState |= ACTIVE;
+            stream._destroy(afterDestroy.bind(this));
+          }
+          return;
+        }
+        if ((stream._duplexState & IS_OPENING) === OPENING) {
+          stream._duplexState = (stream._duplexState | ACTIVE) & NOT_OPENING;
+          stream._open(afterOpen.bind(this));
         }
-        otherArgs[start] = transform(array);
-        return apply(func, this, otherArgs);
-      };
-    }
-    module2.exports = overRest;
-  }
-});
-
-// node_modules/lodash/constant.js
-var require_constant = __commonJS({
-  "node_modules/lodash/constant.js"(exports2, module2) {
-    function constant(value) {
-      return function() {
-        return value;
-      };
-    }
-    module2.exports = constant;
-  }
-});
-
-// node_modules/lodash/_freeGlobal.js
-var require_freeGlobal = __commonJS({
-  "node_modules/lodash/_freeGlobal.js"(exports2, module2) {
-    var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
-    module2.exports = freeGlobal;
-  }
-});
-
-// node_modules/lodash/_root.js
-var require_root = __commonJS({
-  "node_modules/lodash/_root.js"(exports2, module2) {
-    var freeGlobal = require_freeGlobal();
-    var freeSelf = typeof self == "object" && self && self.Object === Object && self;
-    var root = freeGlobal || freeSelf || Function("return this")();
-    module2.exports = root;
-  }
-});
-
-// node_modules/lodash/_Symbol.js
-var require_Symbol = __commonJS({
-  "node_modules/lodash/_Symbol.js"(exports2, module2) {
-    var root = require_root();
-    var Symbol2 = root.Symbol;
-    module2.exports = Symbol2;
-  }
-});
-
-// node_modules/lodash/_getRawTag.js
-var require_getRawTag = __commonJS({
-  "node_modules/lodash/_getRawTag.js"(exports2, module2) {
-    var Symbol2 = require_Symbol();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    var nativeObjectToString = objectProto.toString;
-    var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0;
-    function getRawTag(value) {
-      var isOwn = hasOwnProperty.call(value, symToStringTag), tag = value[symToStringTag];
-      try {
-        value[symToStringTag] = void 0;
-        var unmasked = true;
-      } catch (e) {
       }
-      var result = nativeObjectToString.call(value);
-      if (unmasked) {
-        if (isOwn) {
-          value[symToStringTag] = tag;
+      continueUpdate() {
+        if ((this.stream._duplexState & WRITE_NEXT_TICK) === 0) return false;
+        this.stream._duplexState &= WRITE_NOT_NEXT_TICK;
+        return true;
+      }
+      updateCallback() {
+        if ((this.stream._duplexState & WRITE_UPDATE_SYNC_STATUS) === WRITE_PRIMARY) this.update();
+        else this.updateNextTick();
+      }
+      updateNextTick() {
+        if ((this.stream._duplexState & WRITE_NEXT_TICK) !== 0) return;
+        this.stream._duplexState |= WRITE_NEXT_TICK;
+        if ((this.stream._duplexState & WRITE_UPDATING) === 0) queueTick(this.afterUpdateNextTick);
+      }
+    };
+    var ReadableState = class {
+      constructor(stream, { highWaterMark = 16384, map: map2 = null, mapReadable, byteLength, byteLengthReadable } = {}) {
+        this.stream = stream;
+        this.queue = new FIFO();
+        this.highWaterMark = highWaterMark === 0 ? 1 : highWaterMark;
+        this.buffered = 0;
+        this.readAhead = highWaterMark > 0;
+        this.error = null;
+        this.pipeline = null;
+        this.byteLength = byteLengthReadable || byteLength || defaultByteLength;
+        this.map = mapReadable || map2;
+        this.pipeTo = null;
+        this.afterRead = afterRead.bind(this);
+        this.afterUpdateNextTick = updateReadNT.bind(this);
+      }
+      get ended() {
+        return (this.stream._duplexState & READ_DONE) !== 0;
+      }
+      pipe(pipeTo, cb) {
+        if (this.pipeTo !== null) throw new Error("Can only pipe to one destination");
+        if (typeof cb !== "function") cb = null;
+        this.stream._duplexState |= READ_PIPE_DRAINED;
+        this.pipeTo = pipeTo;
+        this.pipeline = new Pipeline(this.stream, pipeTo, cb);
+        if (cb) this.stream.on("error", noop3);
+        if (isStreamx(pipeTo)) {
+          pipeTo._writableState.pipeline = this.pipeline;
+          if (cb) pipeTo.on("error", noop3);
+          pipeTo.on("finish", this.pipeline.finished.bind(this.pipeline));
         } else {
-          delete value[symToStringTag];
+          const onerror = this.pipeline.done.bind(this.pipeline, pipeTo);
+          const onclose = this.pipeline.done.bind(this.pipeline, pipeTo, null);
+          pipeTo.on("error", onerror);
+          pipeTo.on("close", onclose);
+          pipeTo.on("finish", this.pipeline.finished.bind(this.pipeline));
+        }
+        pipeTo.on("drain", afterDrain.bind(this));
+        this.stream.emit("piping", pipeTo);
+        pipeTo.emit("pipe", this.stream);
+      }
+      push(data) {
+        const stream = this.stream;
+        if (data === null) {
+          this.highWaterMark = 0;
+          stream._duplexState = (stream._duplexState | READ_ENDING) & READ_NON_PRIMARY_AND_PUSHED;
+          return false;
+        }
+        if (this.map !== null) {
+          data = this.map(data);
+          if (data === null) {
+            stream._duplexState &= READ_PUSHED;
+            return this.buffered < this.highWaterMark;
+          }
         }
+        this.buffered += this.byteLength(data);
+        this.queue.push(data);
+        stream._duplexState = (stream._duplexState | READ_QUEUED) & READ_PUSHED;
+        return this.buffered < this.highWaterMark;
       }
-      return result;
-    }
-    module2.exports = getRawTag;
-  }
-});
-
-// node_modules/lodash/_objectToString.js
-var require_objectToString = __commonJS({
-  "node_modules/lodash/_objectToString.js"(exports2, module2) {
-    var objectProto = Object.prototype;
-    var nativeObjectToString = objectProto.toString;
-    function objectToString(value) {
-      return nativeObjectToString.call(value);
-    }
-    module2.exports = objectToString;
-  }
-});
-
-// node_modules/lodash/_baseGetTag.js
-var require_baseGetTag = __commonJS({
-  "node_modules/lodash/_baseGetTag.js"(exports2, module2) {
-    var Symbol2 = require_Symbol();
-    var getRawTag = require_getRawTag();
-    var objectToString = require_objectToString();
-    var nullTag = "[object Null]";
-    var undefinedTag = "[object Undefined]";
-    var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0;
-    function baseGetTag(value) {
-      if (value == null) {
-        return value === void 0 ? undefinedTag : nullTag;
+      shift() {
+        const data = this.queue.shift();
+        this.buffered -= this.byteLength(data);
+        if (this.buffered === 0) this.stream._duplexState &= READ_NOT_QUEUED;
+        return data;
       }
-      return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);
-    }
-    module2.exports = baseGetTag;
-  }
-});
-
-// node_modules/lodash/isObject.js
-var require_isObject = __commonJS({
-  "node_modules/lodash/isObject.js"(exports2, module2) {
-    function isObject2(value) {
-      var type2 = typeof value;
-      return value != null && (type2 == "object" || type2 == "function");
-    }
-    module2.exports = isObject2;
-  }
-});
-
-// node_modules/lodash/isFunction.js
-var require_isFunction = __commonJS({
-  "node_modules/lodash/isFunction.js"(exports2, module2) {
-    var baseGetTag = require_baseGetTag();
-    var isObject2 = require_isObject();
-    var asyncTag = "[object AsyncFunction]";
-    var funcTag = "[object Function]";
-    var genTag = "[object GeneratorFunction]";
-    var proxyTag = "[object Proxy]";
-    function isFunction(value) {
-      if (!isObject2(value)) {
-        return false;
+      unshift(data) {
+        const pending = [this.map !== null ? this.map(data) : data];
+        while (this.buffered > 0) pending.push(this.shift());
+        for (let i = 0; i < pending.length - 1; i++) {
+          const data2 = pending[i];
+          this.buffered += this.byteLength(data2);
+          this.queue.push(data2);
+        }
+        this.push(pending[pending.length - 1]);
       }
-      var tag = baseGetTag(value);
-      return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
-    }
-    module2.exports = isFunction;
-  }
-});
-
-// node_modules/lodash/_coreJsData.js
-var require_coreJsData = __commonJS({
-  "node_modules/lodash/_coreJsData.js"(exports2, module2) {
-    var root = require_root();
-    var coreJsData = root["__core-js_shared__"];
-    module2.exports = coreJsData;
-  }
-});
-
-// node_modules/lodash/_isMasked.js
-var require_isMasked = __commonJS({
-  "node_modules/lodash/_isMasked.js"(exports2, module2) {
-    var coreJsData = require_coreJsData();
-    var maskSrcKey = (function() {
-      var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || "");
-      return uid ? "Symbol(src)_1." + uid : "";
-    })();
-    function isMasked(func) {
-      return !!maskSrcKey && maskSrcKey in func;
-    }
-    module2.exports = isMasked;
-  }
-});
-
-// node_modules/lodash/_toSource.js
-var require_toSource = __commonJS({
-  "node_modules/lodash/_toSource.js"(exports2, module2) {
-    var funcProto = Function.prototype;
-    var funcToString = funcProto.toString;
-    function toSource(func) {
-      if (func != null) {
-        try {
-          return funcToString.call(func);
-        } catch (e) {
+      read() {
+        const stream = this.stream;
+        if ((stream._duplexState & READ_STATUS) === READ_QUEUED) {
+          const data = this.shift();
+          if (this.pipeTo !== null && this.pipeTo.write(data) === false) stream._duplexState &= READ_PIPE_NOT_DRAINED;
+          if ((stream._duplexState & READ_EMIT_DATA) !== 0) stream.emit("data", data);
+          return data;
         }
-        try {
-          return func + "";
-        } catch (e) {
+        if (this.readAhead === false) {
+          stream._duplexState |= READ_READ_AHEAD;
+          this.updateNextTick();
         }
+        return null;
       }
-      return "";
-    }
-    module2.exports = toSource;
-  }
-});
-
-// node_modules/lodash/_baseIsNative.js
-var require_baseIsNative = __commonJS({
-  "node_modules/lodash/_baseIsNative.js"(exports2, module2) {
-    var isFunction = require_isFunction();
-    var isMasked = require_isMasked();
-    var isObject2 = require_isObject();
-    var toSource = require_toSource();
-    var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
-    var reIsHostCtor = /^\[object .+?Constructor\]$/;
-    var funcProto = Function.prototype;
-    var objectProto = Object.prototype;
-    var funcToString = funcProto.toString;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    var reIsNative = RegExp(
-      "^" + funcToString.call(hasOwnProperty).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
-    );
-    function baseIsNative(value) {
-      if (!isObject2(value) || isMasked(value)) {
-        return false;
+      drain() {
+        const stream = this.stream;
+        while ((stream._duplexState & READ_STATUS) === READ_QUEUED && (stream._duplexState & READ_FLOWING) !== 0) {
+          const data = this.shift();
+          if (this.pipeTo !== null && this.pipeTo.write(data) === false) stream._duplexState &= READ_PIPE_NOT_DRAINED;
+          if ((stream._duplexState & READ_EMIT_DATA) !== 0) stream.emit("data", data);
+        }
       }
-      var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
-      return pattern.test(toSource(value));
-    }
-    module2.exports = baseIsNative;
-  }
-});
-
-// node_modules/lodash/_getValue.js
-var require_getValue = __commonJS({
-  "node_modules/lodash/_getValue.js"(exports2, module2) {
-    function getValue(object, key) {
-      return object == null ? void 0 : object[key];
-    }
-    module2.exports = getValue;
-  }
-});
-
-// node_modules/lodash/_getNative.js
-var require_getNative = __commonJS({
-  "node_modules/lodash/_getNative.js"(exports2, module2) {
-    var baseIsNative = require_baseIsNative();
-    var getValue = require_getValue();
-    function getNative(object, key) {
-      var value = getValue(object, key);
-      return baseIsNative(value) ? value : void 0;
-    }
-    module2.exports = getNative;
-  }
-});
-
-// node_modules/lodash/_defineProperty.js
-var require_defineProperty = __commonJS({
-  "node_modules/lodash/_defineProperty.js"(exports2, module2) {
-    var getNative = require_getNative();
-    var defineProperty = (function() {
-      try {
-        var func = getNative(Object, "defineProperty");
-        func({}, "", {});
-        return func;
-      } catch (e) {
+      update() {
+        const stream = this.stream;
+        stream._duplexState |= READ_UPDATING;
+        do {
+          this.drain();
+          while (this.buffered < this.highWaterMark && (stream._duplexState & SHOULD_NOT_READ) === READ_READ_AHEAD) {
+            stream._duplexState |= READ_ACTIVE_AND_NEEDS_PUSH;
+            stream._read(this.afterRead);
+            this.drain();
+          }
+          if ((stream._duplexState & READ_READABLE_STATUS) === READ_EMIT_READABLE_AND_QUEUED) {
+            stream._duplexState |= READ_EMITTED_READABLE;
+            stream.emit("readable");
+          }
+          if ((stream._duplexState & READ_PRIMARY_AND_ACTIVE) === 0) this.updateNonPrimary();
+        } while (this.continueUpdate() === true);
+        stream._duplexState &= READ_NOT_UPDATING;
+      }
+      updateNonPrimary() {
+        const stream = this.stream;
+        if ((stream._duplexState & READ_ENDING_STATUS) === READ_ENDING) {
+          stream._duplexState = (stream._duplexState | READ_DONE) & READ_NOT_ENDING;
+          stream.emit("end");
+          if ((stream._duplexState & AUTO_DESTROY) === DONE) stream._duplexState |= DESTROYING;
+          if (this.pipeTo !== null) this.pipeTo.end();
+        }
+        if ((stream._duplexState & DESTROY_STATUS) === DESTROYING) {
+          if ((stream._duplexState & ACTIVE_OR_TICKING) === 0) {
+            stream._duplexState |= ACTIVE;
+            stream._destroy(afterDestroy.bind(this));
+          }
+          return;
+        }
+        if ((stream._duplexState & IS_OPENING) === OPENING) {
+          stream._duplexState = (stream._duplexState | ACTIVE) & NOT_OPENING;
+          stream._open(afterOpen.bind(this));
+        }
+      }
+      continueUpdate() {
+        if ((this.stream._duplexState & READ_NEXT_TICK) === 0) return false;
+        this.stream._duplexState &= READ_NOT_NEXT_TICK;
+        return true;
+      }
+      updateCallback() {
+        if ((this.stream._duplexState & READ_UPDATE_SYNC_STATUS) === READ_PRIMARY) this.update();
+        else this.updateNextTick();
+      }
+      updateNextTick() {
+        if ((this.stream._duplexState & READ_NEXT_TICK) !== 0) return;
+        this.stream._duplexState |= READ_NEXT_TICK;
+        if ((this.stream._duplexState & READ_UPDATING) === 0) queueTick(this.afterUpdateNextTick);
       }
-    })();
-    module2.exports = defineProperty;
-  }
-});
-
-// node_modules/lodash/_baseSetToString.js
-var require_baseSetToString = __commonJS({
-  "node_modules/lodash/_baseSetToString.js"(exports2, module2) {
-    var constant = require_constant();
-    var defineProperty = require_defineProperty();
-    var identity = require_identity();
-    var baseSetToString = !defineProperty ? identity : function(func, string) {
-      return defineProperty(func, "toString", {
-        "configurable": true,
-        "enumerable": false,
-        "value": constant(string),
-        "writable": true
-      });
     };
-    module2.exports = baseSetToString;
-  }
-});
-
-// node_modules/lodash/_shortOut.js
-var require_shortOut = __commonJS({
-  "node_modules/lodash/_shortOut.js"(exports2, module2) {
-    var HOT_COUNT = 800;
-    var HOT_SPAN = 16;
-    var nativeNow = Date.now;
-    function shortOut(func) {
-      var count = 0, lastCalled = 0;
-      return function() {
-        var stamp = nativeNow(), remaining = HOT_SPAN - (stamp - lastCalled);
-        lastCalled = stamp;
-        if (remaining > 0) {
-          if (++count >= HOT_COUNT) {
-            return arguments[0];
+    var TransformState = class {
+      constructor(stream) {
+        this.data = null;
+        this.afterTransform = afterTransform.bind(stream);
+        this.afterFinal = null;
+      }
+    };
+    var Pipeline = class {
+      constructor(src, dst, cb) {
+        this.from = src;
+        this.to = dst;
+        this.afterPipe = cb;
+        this.error = null;
+        this.pipeToFinished = false;
+      }
+      finished() {
+        this.pipeToFinished = true;
+      }
+      done(stream, err) {
+        if (err) this.error = err;
+        if (stream === this.to) {
+          this.to = null;
+          if (this.from !== null) {
+            if ((this.from._duplexState & READ_DONE) === 0 || !this.pipeToFinished) {
+              this.from.destroy(this.error || new Error("Writable stream closed prematurely"));
+            }
+            return;
           }
-        } else {
-          count = 0;
         }
-        return func.apply(void 0, arguments);
-      };
-    }
-    module2.exports = shortOut;
-  }
-});
-
-// node_modules/lodash/_setToString.js
-var require_setToString = __commonJS({
-  "node_modules/lodash/_setToString.js"(exports2, module2) {
-    var baseSetToString = require_baseSetToString();
-    var shortOut = require_shortOut();
-    var setToString = shortOut(baseSetToString);
-    module2.exports = setToString;
-  }
-});
-
-// node_modules/lodash/_baseRest.js
-var require_baseRest = __commonJS({
-  "node_modules/lodash/_baseRest.js"(exports2, module2) {
-    var identity = require_identity();
-    var overRest = require_overRest();
-    var setToString = require_setToString();
-    function baseRest(func, start) {
-      return setToString(overRest(func, start, identity), func + "");
+        if (stream === this.from) {
+          this.from = null;
+          if (this.to !== null) {
+            if ((stream._duplexState & READ_DONE) === 0) {
+              this.to.destroy(this.error || new Error("Readable stream closed before ending"));
+            }
+            return;
+          }
+        }
+        if (this.afterPipe !== null) this.afterPipe(this.error);
+        this.to = this.from = this.afterPipe = null;
+      }
+    };
+    function afterDrain() {
+      this.stream._duplexState |= READ_PIPE_DRAINED;
+      this.updateCallback();
     }
-    module2.exports = baseRest;
-  }
-});
-
-// node_modules/lodash/eq.js
-var require_eq2 = __commonJS({
-  "node_modules/lodash/eq.js"(exports2, module2) {
-    function eq(value, other) {
-      return value === other || value !== value && other !== other;
+    function afterFinal(err) {
+      const stream = this.stream;
+      if (err) stream.destroy(err);
+      if ((stream._duplexState & DESTROY_STATUS) === 0) {
+        stream._duplexState |= WRITE_DONE;
+        stream.emit("finish");
+      }
+      if ((stream._duplexState & AUTO_DESTROY) === DONE) {
+        stream._duplexState |= DESTROYING;
+      }
+      stream._duplexState &= WRITE_NOT_ACTIVE;
+      if ((stream._duplexState & WRITE_UPDATING) === 0) this.update();
+      else this.updateNextTick();
     }
-    module2.exports = eq;
-  }
-});
-
-// node_modules/lodash/isLength.js
-var require_isLength = __commonJS({
-  "node_modules/lodash/isLength.js"(exports2, module2) {
-    var MAX_SAFE_INTEGER = 9007199254740991;
-    function isLength(value) {
-      return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
+    function afterDestroy(err) {
+      const stream = this.stream;
+      if (!err && this.error !== STREAM_DESTROYED) err = this.error;
+      if (err) stream.emit("error", err);
+      stream._duplexState |= DESTROYED;
+      stream.emit("close");
+      const rs = stream._readableState;
+      const ws = stream._writableState;
+      if (rs !== null && rs.pipeline !== null) rs.pipeline.done(stream, err);
+      if (ws !== null) {
+        while (ws.drains !== null && ws.drains.length > 0) ws.drains.shift().resolve(false);
+        if (ws.pipeline !== null) ws.pipeline.done(stream, err);
+      }
     }
-    module2.exports = isLength;
-  }
-});
-
-// node_modules/lodash/isArrayLike.js
-var require_isArrayLike = __commonJS({
-  "node_modules/lodash/isArrayLike.js"(exports2, module2) {
-    var isFunction = require_isFunction();
-    var isLength = require_isLength();
-    function isArrayLike(value) {
-      return value != null && isLength(value.length) && !isFunction(value);
+    function afterWrite(err) {
+      const stream = this.stream;
+      if (err) stream.destroy(err);
+      stream._duplexState &= WRITE_NOT_ACTIVE;
+      if (this.drains !== null) tickDrains(this.drains);
+      if ((stream._duplexState & WRITE_DRAIN_STATUS) === WRITE_UNDRAINED) {
+        stream._duplexState &= WRITE_DRAINED;
+        if ((stream._duplexState & WRITE_EMIT_DRAIN) === WRITE_EMIT_DRAIN) {
+          stream.emit("drain");
+        }
+      }
+      this.updateCallback();
     }
-    module2.exports = isArrayLike;
-  }
-});
-
-// node_modules/lodash/_isIndex.js
-var require_isIndex = __commonJS({
-  "node_modules/lodash/_isIndex.js"(exports2, module2) {
-    var MAX_SAFE_INTEGER = 9007199254740991;
-    var reIsUint = /^(?:0|[1-9]\d*)$/;
-    function isIndex(value, length) {
-      var type2 = typeof value;
-      length = length == null ? MAX_SAFE_INTEGER : length;
-      return !!length && (type2 == "number" || type2 != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length);
+    function afterRead(err) {
+      if (err) this.stream.destroy(err);
+      this.stream._duplexState &= READ_NOT_ACTIVE;
+      if (this.readAhead === false && (this.stream._duplexState & READ_RESUMED) === 0) this.stream._duplexState &= READ_NO_READ_AHEAD;
+      this.updateCallback();
     }
-    module2.exports = isIndex;
-  }
-});
-
-// node_modules/lodash/_isIterateeCall.js
-var require_isIterateeCall = __commonJS({
-  "node_modules/lodash/_isIterateeCall.js"(exports2, module2) {
-    var eq = require_eq2();
-    var isArrayLike = require_isArrayLike();
-    var isIndex = require_isIndex();
-    var isObject2 = require_isObject();
-    function isIterateeCall(value, index, object) {
-      if (!isObject2(object)) {
-        return false;
-      }
-      var type2 = typeof index;
-      if (type2 == "number" ? isArrayLike(object) && isIndex(index, object.length) : type2 == "string" && index in object) {
-        return eq(object[index], value);
+    function updateReadNT() {
+      if ((this.stream._duplexState & READ_UPDATING) === 0) {
+        this.stream._duplexState &= READ_NOT_NEXT_TICK;
+        this.update();
       }
-      return false;
     }
-    module2.exports = isIterateeCall;
-  }
-});
-
-// node_modules/lodash/_baseTimes.js
-var require_baseTimes = __commonJS({
-  "node_modules/lodash/_baseTimes.js"(exports2, module2) {
-    function baseTimes(n, iteratee) {
-      var index = -1, result = Array(n);
-      while (++index < n) {
-        result[index] = iteratee(index);
+    function updateWriteNT() {
+      if ((this.stream._duplexState & WRITE_UPDATING) === 0) {
+        this.stream._duplexState &= WRITE_NOT_NEXT_TICK;
+        this.update();
       }
-      return result;
-    }
-    module2.exports = baseTimes;
-  }
-});
-
-// node_modules/lodash/isObjectLike.js
-var require_isObjectLike = __commonJS({
-  "node_modules/lodash/isObjectLike.js"(exports2, module2) {
-    function isObjectLike(value) {
-      return value != null && typeof value == "object";
-    }
-    module2.exports = isObjectLike;
-  }
-});
-
-// node_modules/lodash/_baseIsArguments.js
-var require_baseIsArguments = __commonJS({
-  "node_modules/lodash/_baseIsArguments.js"(exports2, module2) {
-    var baseGetTag = require_baseGetTag();
-    var isObjectLike = require_isObjectLike();
-    var argsTag = "[object Arguments]";
-    function baseIsArguments(value) {
-      return isObjectLike(value) && baseGetTag(value) == argsTag;
     }
-    module2.exports = baseIsArguments;
-  }
-});
-
-// node_modules/lodash/isArguments.js
-var require_isArguments = __commonJS({
-  "node_modules/lodash/isArguments.js"(exports2, module2) {
-    var baseIsArguments = require_baseIsArguments();
-    var isObjectLike = require_isObjectLike();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    var propertyIsEnumerable = objectProto.propertyIsEnumerable;
-    var isArguments = baseIsArguments(/* @__PURE__ */ (function() {
-      return arguments;
-    })()) ? baseIsArguments : function(value) {
-      return isObjectLike(value) && hasOwnProperty.call(value, "callee") && !propertyIsEnumerable.call(value, "callee");
-    };
-    module2.exports = isArguments;
-  }
-});
-
-// node_modules/lodash/isArray.js
-var require_isArray = __commonJS({
-  "node_modules/lodash/isArray.js"(exports2, module2) {
-    var isArray = Array.isArray;
-    module2.exports = isArray;
-  }
-});
-
-// node_modules/lodash/stubFalse.js
-var require_stubFalse = __commonJS({
-  "node_modules/lodash/stubFalse.js"(exports2, module2) {
-    function stubFalse() {
-      return false;
+    function tickDrains(drains) {
+      for (let i = 0; i < drains.length; i++) {
+        if (--drains[i].writes === 0) {
+          drains.shift().resolve(true);
+          i--;
+        }
+      }
     }
-    module2.exports = stubFalse;
-  }
-});
-
-// node_modules/lodash/isBuffer.js
-var require_isBuffer = __commonJS({
-  "node_modules/lodash/isBuffer.js"(exports2, module2) {
-    var root = require_root();
-    var stubFalse = require_stubFalse();
-    var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2;
-    var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2;
-    var moduleExports = freeModule && freeModule.exports === freeExports;
-    var Buffer2 = moduleExports ? root.Buffer : void 0;
-    var nativeIsBuffer = Buffer2 ? Buffer2.isBuffer : void 0;
-    var isBuffer = nativeIsBuffer || stubFalse;
-    module2.exports = isBuffer;
-  }
-});
-
-// node_modules/lodash/_baseIsTypedArray.js
-var require_baseIsTypedArray = __commonJS({
-  "node_modules/lodash/_baseIsTypedArray.js"(exports2, module2) {
-    var baseGetTag = require_baseGetTag();
-    var isLength = require_isLength();
-    var isObjectLike = require_isObjectLike();
-    var argsTag = "[object Arguments]";
-    var arrayTag = "[object Array]";
-    var boolTag = "[object Boolean]";
-    var dateTag = "[object Date]";
-    var errorTag = "[object Error]";
-    var funcTag = "[object Function]";
-    var mapTag = "[object Map]";
-    var numberTag = "[object Number]";
-    var objectTag = "[object Object]";
-    var regexpTag = "[object RegExp]";
-    var setTag = "[object Set]";
-    var stringTag = "[object String]";
-    var weakMapTag = "[object WeakMap]";
-    var arrayBufferTag = "[object ArrayBuffer]";
-    var dataViewTag = "[object DataView]";
-    var float32Tag = "[object Float32Array]";
-    var float64Tag = "[object Float64Array]";
-    var int8Tag = "[object Int8Array]";
-    var int16Tag = "[object Int16Array]";
-    var int32Tag = "[object Int32Array]";
-    var uint8Tag = "[object Uint8Array]";
-    var uint8ClampedTag = "[object Uint8ClampedArray]";
-    var uint16Tag = "[object Uint16Array]";
-    var uint32Tag = "[object Uint32Array]";
-    var typedArrayTags = {};
-    typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;
-    typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;
-    function baseIsTypedArray(value) {
-      return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)];
+    function afterOpen(err) {
+      const stream = this.stream;
+      if (err) stream.destroy(err);
+      if ((stream._duplexState & DESTROYING) === 0) {
+        if ((stream._duplexState & READ_PRIMARY_STATUS) === 0) stream._duplexState |= READ_PRIMARY;
+        if ((stream._duplexState & WRITE_PRIMARY_STATUS) === 0) stream._duplexState |= WRITE_PRIMARY;
+        stream.emit("open");
+      }
+      stream._duplexState &= NOT_ACTIVE;
+      if (stream._writableState !== null) {
+        stream._writableState.updateCallback();
+      }
+      if (stream._readableState !== null) {
+        stream._readableState.updateCallback();
+      }
     }
-    module2.exports = baseIsTypedArray;
-  }
-});
-
-// node_modules/lodash/_baseUnary.js
-var require_baseUnary = __commonJS({
-  "node_modules/lodash/_baseUnary.js"(exports2, module2) {
-    function baseUnary(func) {
-      return function(value) {
-        return func(value);
-      };
+    function afterTransform(err, data) {
+      if (data !== void 0 && data !== null) this.push(data);
+      this._writableState.afterWrite(err);
     }
-    module2.exports = baseUnary;
-  }
-});
-
-// node_modules/lodash/_nodeUtil.js
-var require_nodeUtil = __commonJS({
-  "node_modules/lodash/_nodeUtil.js"(exports2, module2) {
-    var freeGlobal = require_freeGlobal();
-    var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2;
-    var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2;
-    var moduleExports = freeModule && freeModule.exports === freeExports;
-    var freeProcess = moduleExports && freeGlobal.process;
-    var nodeUtil = (function() {
-      try {
-        var types = freeModule && freeModule.require && freeModule.require("util").types;
-        if (types) {
-          return types;
+    function newListener(name) {
+      if (this._readableState !== null) {
+        if (name === "data") {
+          this._duplexState |= READ_EMIT_DATA | READ_RESUMED_READ_AHEAD;
+          this._readableState.updateNextTick();
+        }
+        if (name === "readable") {
+          this._duplexState |= READ_EMIT_READABLE;
+          this._readableState.updateNextTick();
         }
-        return freeProcess && freeProcess.binding && freeProcess.binding("util");
-      } catch (e) {
       }
-    })();
-    module2.exports = nodeUtil;
-  }
-});
-
-// node_modules/lodash/isTypedArray.js
-var require_isTypedArray = __commonJS({
-  "node_modules/lodash/isTypedArray.js"(exports2, module2) {
-    var baseIsTypedArray = require_baseIsTypedArray();
-    var baseUnary = require_baseUnary();
-    var nodeUtil = require_nodeUtil();
-    var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
-    var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
-    module2.exports = isTypedArray;
-  }
-});
-
-// node_modules/lodash/_arrayLikeKeys.js
-var require_arrayLikeKeys = __commonJS({
-  "node_modules/lodash/_arrayLikeKeys.js"(exports2, module2) {
-    var baseTimes = require_baseTimes();
-    var isArguments = require_isArguments();
-    var isArray = require_isArray();
-    var isBuffer = require_isBuffer();
-    var isIndex = require_isIndex();
-    var isTypedArray = require_isTypedArray();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    function arrayLikeKeys(value, inherited) {
-      var isArr = isArray(value), isArg = !isArr && isArguments(value), isBuff = !isArr && !isArg && isBuffer(value), isType = !isArr && !isArg && !isBuff && isTypedArray(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length = result.length;
-      for (var key in value) {
-        if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && // Safari 9 has enumerable `arguments.length` in strict mode.
-        (key == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
-        isBuff && (key == "offset" || key == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
-        isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || // Skip index properties.
-        isIndex(key, length)))) {
-          result.push(key);
+      if (this._writableState !== null) {
+        if (name === "drain") {
+          this._duplexState |= WRITE_EMIT_DRAIN;
+          this._writableState.updateNextTick();
         }
       }
-      return result;
     }
-    module2.exports = arrayLikeKeys;
-  }
-});
-
-// node_modules/lodash/_isPrototype.js
-var require_isPrototype = __commonJS({
-  "node_modules/lodash/_isPrototype.js"(exports2, module2) {
-    var objectProto = Object.prototype;
-    function isPrototype(value) {
-      var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto;
-      return value === proto;
-    }
-    module2.exports = isPrototype;
-  }
-});
-
-// node_modules/lodash/_nativeKeysIn.js
-var require_nativeKeysIn = __commonJS({
-  "node_modules/lodash/_nativeKeysIn.js"(exports2, module2) {
-    function nativeKeysIn(object) {
-      var result = [];
-      if (object != null) {
-        for (var key in Object(object)) {
-          result.push(key);
+    var Stream = class extends EventEmitter {
+      constructor(opts) {
+        super();
+        this._duplexState = 0;
+        this._readableState = null;
+        this._writableState = null;
+        if (opts) {
+          if (opts.open) this._open = opts.open;
+          if (opts.destroy) this._destroy = opts.destroy;
+          if (opts.predestroy) this._predestroy = opts.predestroy;
+          if (opts.signal) {
+            opts.signal.addEventListener("abort", abort.bind(this));
+          }
         }
+        this.on("newListener", newListener);
+      }
+      _open(cb) {
+        cb(null);
+      }
+      _destroy(cb) {
+        cb(null);
+      }
+      _predestroy() {
+      }
+      get readable() {
+        return this._readableState !== null ? true : void 0;
       }
-      return result;
-    }
-    module2.exports = nativeKeysIn;
-  }
-});
-
-// node_modules/lodash/_baseKeysIn.js
-var require_baseKeysIn = __commonJS({
-  "node_modules/lodash/_baseKeysIn.js"(exports2, module2) {
-    var isObject2 = require_isObject();
-    var isPrototype = require_isPrototype();
-    var nativeKeysIn = require_nativeKeysIn();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    function baseKeysIn(object) {
-      if (!isObject2(object)) {
-        return nativeKeysIn(object);
+      get writable() {
+        return this._writableState !== null ? true : void 0;
       }
-      var isProto = isPrototype(object), result = [];
-      for (var key in object) {
-        if (!(key == "constructor" && (isProto || !hasOwnProperty.call(object, key)))) {
-          result.push(key);
-        }
+      get destroyed() {
+        return (this._duplexState & DESTROYED) !== 0;
       }
-      return result;
-    }
-    module2.exports = baseKeysIn;
-  }
-});
-
-// node_modules/lodash/keysIn.js
-var require_keysIn = __commonJS({
-  "node_modules/lodash/keysIn.js"(exports2, module2) {
-    var arrayLikeKeys = require_arrayLikeKeys();
-    var baseKeysIn = require_baseKeysIn();
-    var isArrayLike = require_isArrayLike();
-    function keysIn(object) {
-      return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);
-    }
-    module2.exports = keysIn;
-  }
-});
-
-// node_modules/lodash/defaults.js
-var require_defaults = __commonJS({
-  "node_modules/lodash/defaults.js"(exports2, module2) {
-    var baseRest = require_baseRest();
-    var eq = require_eq2();
-    var isIterateeCall = require_isIterateeCall();
-    var keysIn = require_keysIn();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    var defaults = baseRest(function(object, sources) {
-      object = Object(object);
-      var index = -1;
-      var length = sources.length;
-      var guard = length > 2 ? sources[2] : void 0;
-      if (guard && isIterateeCall(sources[0], sources[1], guard)) {
-        length = 1;
+      get destroying() {
+        return (this._duplexState & DESTROY_STATUS) !== 0;
       }
-      while (++index < length) {
-        var source = sources[index];
-        var props = keysIn(source);
-        var propsIndex = -1;
-        var propsLength = props.length;
-        while (++propsIndex < propsLength) {
-          var key = props[propsIndex];
-          var value = object[key];
-          if (value === void 0 || eq(value, objectProto[key]) && !hasOwnProperty.call(object, key)) {
-            object[key] = source[key];
+      destroy(err) {
+        if ((this._duplexState & DESTROY_STATUS) === 0) {
+          if (!err) err = STREAM_DESTROYED;
+          this._duplexState = (this._duplexState | DESTROYING) & NON_PRIMARY;
+          if (this._readableState !== null) {
+            this._readableState.highWaterMark = 0;
+            this._readableState.error = err;
+          }
+          if (this._writableState !== null) {
+            this._writableState.highWaterMark = 0;
+            this._writableState.error = err;
           }
+          this._duplexState |= PREDESTROYING;
+          this._predestroy();
+          this._duplexState &= NOT_PREDESTROYING;
+          if (this._readableState !== null) this._readableState.updateNextTick();
+          if (this._writableState !== null) this._writableState.updateNextTick();
         }
       }
-      return object;
-    });
-    module2.exports = defaults;
-  }
-});
-
-// node_modules/readable-stream/lib/ours/primordials.js
-var require_primordials = __commonJS({
-  "node_modules/readable-stream/lib/ours/primordials.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      ArrayIsArray(self2) {
-        return Array.isArray(self2);
-      },
-      ArrayPrototypeIncludes(self2, el) {
-        return self2.includes(el);
-      },
-      ArrayPrototypeIndexOf(self2, el) {
-        return self2.indexOf(el);
-      },
-      ArrayPrototypeJoin(self2, sep2) {
-        return self2.join(sep2);
-      },
-      ArrayPrototypeMap(self2, fn) {
-        return self2.map(fn);
-      },
-      ArrayPrototypePop(self2, el) {
-        return self2.pop(el);
-      },
-      ArrayPrototypePush(self2, el) {
-        return self2.push(el);
-      },
-      ArrayPrototypeSlice(self2, start, end) {
-        return self2.slice(start, end);
-      },
-      Error,
-      FunctionPrototypeCall(fn, thisArgs, ...args) {
-        return fn.call(thisArgs, ...args);
-      },
-      FunctionPrototypeSymbolHasInstance(self2, instance) {
-        return Function.prototype[Symbol.hasInstance].call(self2, instance);
-      },
-      MathFloor: Math.floor,
-      Number,
-      NumberIsInteger: Number.isInteger,
-      NumberIsNaN: Number.isNaN,
-      NumberMAX_SAFE_INTEGER: Number.MAX_SAFE_INTEGER,
-      NumberMIN_SAFE_INTEGER: Number.MIN_SAFE_INTEGER,
-      NumberParseInt: Number.parseInt,
-      ObjectDefineProperties(self2, props) {
-        return Object.defineProperties(self2, props);
-      },
-      ObjectDefineProperty(self2, name, prop) {
-        return Object.defineProperty(self2, name, prop);
-      },
-      ObjectGetOwnPropertyDescriptor(self2, name) {
-        return Object.getOwnPropertyDescriptor(self2, name);
-      },
-      ObjectKeys(obj) {
-        return Object.keys(obj);
-      },
-      ObjectSetPrototypeOf(target, proto) {
-        return Object.setPrototypeOf(target, proto);
-      },
-      Promise,
-      PromisePrototypeCatch(self2, fn) {
-        return self2.catch(fn);
-      },
-      PromisePrototypeThen(self2, thenFn, catchFn) {
-        return self2.then(thenFn, catchFn);
-      },
-      PromiseReject(err) {
-        return Promise.reject(err);
-      },
-      PromiseResolve(val) {
-        return Promise.resolve(val);
-      },
-      ReflectApply: Reflect.apply,
-      RegExpPrototypeTest(self2, value) {
-        return self2.test(value);
-      },
-      SafeSet: Set,
-      String,
-      StringPrototypeSlice(self2, start, end) {
-        return self2.slice(start, end);
-      },
-      StringPrototypeToLowerCase(self2) {
-        return self2.toLowerCase();
-      },
-      StringPrototypeToUpperCase(self2) {
-        return self2.toUpperCase();
-      },
-      StringPrototypeTrim(self2) {
-        return self2.trim();
-      },
-      Symbol,
-      SymbolFor: Symbol.for,
-      SymbolAsyncIterator: Symbol.asyncIterator,
-      SymbolHasInstance: Symbol.hasInstance,
-      SymbolIterator: Symbol.iterator,
-      SymbolDispose: Symbol.dispose || /* @__PURE__ */ Symbol("Symbol.dispose"),
-      SymbolAsyncDispose: Symbol.asyncDispose || /* @__PURE__ */ Symbol("Symbol.asyncDispose"),
-      TypedArrayPrototypeSet(self2, buf, len) {
-        return self2.set(buf, len);
-      },
-      Boolean,
-      Uint8Array
     };
-  }
-});
-
-// node_modules/event-target-shim/dist/event-target-shim.js
-var require_event_target_shim = __commonJS({
-  "node_modules/event-target-shim/dist/event-target-shim.js"(exports2, module2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    var privateData = /* @__PURE__ */ new WeakMap();
-    var wrappers = /* @__PURE__ */ new WeakMap();
-    function pd(event) {
-      const retv = privateData.get(event);
-      console.assert(
-        retv != null,
-        "'this' is expected an Event object, but got",
-        event
-      );
-      return retv;
-    }
-    function setCancelFlag(data) {
-      if (data.passiveListener != null) {
-        if (typeof console !== "undefined" && typeof console.error === "function") {
-          console.error(
-            "Unable to preventDefault inside passive event listener invocation.",
-            data.passiveListener
-          );
+    var Readable = class _Readable extends Stream {
+      constructor(opts) {
+        super(opts);
+        this._duplexState |= OPENING | WRITE_DONE | READ_READ_AHEAD;
+        this._readableState = new ReadableState(this, opts);
+        if (opts) {
+          if (this._readableState.readAhead === false) this._duplexState &= READ_NO_READ_AHEAD;
+          if (opts.read) this._read = opts.read;
+          if (opts.eagerOpen) this._readableState.updateNextTick();
+          if (opts.encoding) this.setEncoding(opts.encoding);
         }
-        return;
       }
-      if (!data.event.cancelable) {
-        return;
+      setEncoding(encoding) {
+        const dec = new TextDecoder2(encoding);
+        const map2 = this._readableState.map || echo;
+        this._readableState.map = mapOrSkip;
+        return this;
+        function mapOrSkip(data) {
+          const next = dec.push(data);
+          return next === "" && (data.byteLength !== 0 || dec.remaining > 0) ? null : map2(next);
+        }
       }
-      data.canceled = true;
-      if (typeof data.event.preventDefault === "function") {
-        data.event.preventDefault();
+      _read(cb) {
+        cb(null);
       }
-    }
-    function Event2(eventTarget, event) {
-      privateData.set(this, {
-        eventTarget,
-        event,
-        eventPhase: 2,
-        currentTarget: eventTarget,
-        canceled: false,
-        stopped: false,
-        immediateStopped: false,
-        passiveListener: null,
-        timeStamp: event.timeStamp || Date.now()
-      });
-      Object.defineProperty(this, "isTrusted", { value: false, enumerable: true });
-      const keys = Object.keys(event);
-      for (let i = 0; i < keys.length; ++i) {
-        const key = keys[i];
-        if (!(key in this)) {
-          Object.defineProperty(this, key, defineRedirectDescriptor(key));
-        }
+      pipe(dest, cb) {
+        this._readableState.updateNextTick();
+        this._readableState.pipe(dest, cb);
+        return dest;
       }
-    }
-    Event2.prototype = {
-      /**
-       * The type of this event.
-       * @type {string}
-       */
-      get type() {
-        return pd(this).event.type;
-      },
-      /**
-       * The target of this event.
-       * @type {EventTarget}
-       */
-      get target() {
-        return pd(this).eventTarget;
-      },
-      /**
-       * The target of this event.
-       * @type {EventTarget}
-       */
-      get currentTarget() {
-        return pd(this).currentTarget;
-      },
-      /**
-       * @returns {EventTarget[]} The composed path of this event.
-       */
-      composedPath() {
-        const currentTarget = pd(this).currentTarget;
-        if (currentTarget == null) {
-          return [];
-        }
-        return [currentTarget];
-      },
-      /**
-       * Constant of NONE.
-       * @type {number}
-       */
-      get NONE() {
-        return 0;
-      },
-      /**
-       * Constant of CAPTURING_PHASE.
-       * @type {number}
-       */
-      get CAPTURING_PHASE() {
-        return 1;
-      },
-      /**
-       * Constant of AT_TARGET.
-       * @type {number}
-       */
-      get AT_TARGET() {
-        return 2;
-      },
-      /**
-       * Constant of BUBBLING_PHASE.
-       * @type {number}
-       */
-      get BUBBLING_PHASE() {
-        return 3;
-      },
-      /**
-       * The target of this event.
-       * @type {number}
-       */
-      get eventPhase() {
-        return pd(this).eventPhase;
-      },
-      /**
-       * Stop event bubbling.
-       * @returns {void}
-       */
-      stopPropagation() {
-        const data = pd(this);
-        data.stopped = true;
-        if (typeof data.event.stopPropagation === "function") {
-          data.event.stopPropagation();
-        }
-      },
-      /**
-       * Stop event bubbling.
-       * @returns {void}
-       */
-      stopImmediatePropagation() {
-        const data = pd(this);
-        data.stopped = true;
-        data.immediateStopped = true;
-        if (typeof data.event.stopImmediatePropagation === "function") {
-          data.event.stopImmediatePropagation();
+      read() {
+        this._readableState.updateNextTick();
+        return this._readableState.read();
+      }
+      push(data) {
+        this._readableState.updateNextTick();
+        return this._readableState.push(data);
+      }
+      unshift(data) {
+        this._readableState.updateNextTick();
+        return this._readableState.unshift(data);
+      }
+      resume() {
+        this._duplexState |= READ_RESUMED_READ_AHEAD;
+        this._readableState.updateNextTick();
+        return this;
+      }
+      pause() {
+        this._duplexState &= this._readableState.readAhead === false ? READ_PAUSED_NO_READ_AHEAD : READ_PAUSED;
+        return this;
+      }
+      static _fromAsyncIterator(ite, opts) {
+        let destroy;
+        const rs = new _Readable({
+          ...opts,
+          read(cb) {
+            ite.next().then(push).then(cb.bind(null, null)).catch(cb);
+          },
+          predestroy() {
+            destroy = ite.return();
+          },
+          destroy(cb) {
+            if (!destroy) return cb(null);
+            destroy.then(cb.bind(null, null)).catch(cb);
+          }
+        });
+        return rs;
+        function push(data) {
+          if (data.done) rs.push(null);
+          else rs.push(data.value);
         }
-      },
-      /**
-       * The flag to be bubbling.
-       * @type {boolean}
-       */
-      get bubbles() {
-        return Boolean(pd(this).event.bubbles);
-      },
-      /**
-       * The flag to be cancelable.
-       * @type {boolean}
-       */
-      get cancelable() {
-        return Boolean(pd(this).event.cancelable);
-      },
-      /**
-       * Cancel this event.
-       * @returns {void}
-       */
-      preventDefault() {
-        setCancelFlag(pd(this));
-      },
-      /**
-       * The flag to indicate cancellation state.
-       * @type {boolean}
-       */
-      get defaultPrevented() {
-        return pd(this).canceled;
-      },
-      /**
-       * The flag to be composed.
-       * @type {boolean}
-       */
-      get composed() {
-        return Boolean(pd(this).event.composed);
-      },
-      /**
-       * The unix time of this event.
-       * @type {number}
-       */
-      get timeStamp() {
-        return pd(this).timeStamp;
-      },
-      /**
-       * The target of this event.
-       * @type {EventTarget}
-       * @deprecated
-       */
-      get srcElement() {
-        return pd(this).eventTarget;
-      },
-      /**
-       * The flag to stop event bubbling.
-       * @type {boolean}
-       * @deprecated
-       */
-      get cancelBubble() {
-        return pd(this).stopped;
-      },
-      set cancelBubble(value) {
-        if (!value) {
-          return;
+      }
+      static from(data, opts) {
+        if (isReadStreamx(data)) return data;
+        if (data[asyncIterator]) return this._fromAsyncIterator(data[asyncIterator](), opts);
+        if (!Array.isArray(data)) data = data === void 0 ? [] : [data];
+        let i = 0;
+        return new _Readable({
+          ...opts,
+          read(cb) {
+            this.push(i === data.length ? null : data[i++]);
+            cb(null);
+          }
+        });
+      }
+      static isBackpressured(rs) {
+        return (rs._duplexState & READ_BACKPRESSURE_STATUS) !== 0 || rs._readableState.buffered >= rs._readableState.highWaterMark;
+      }
+      static isPaused(rs) {
+        return (rs._duplexState & READ_RESUMED) === 0;
+      }
+      [asyncIterator]() {
+        const stream = this;
+        let error3 = null;
+        let promiseResolve = null;
+        let promiseReject = null;
+        this.on("error", (err) => {
+          error3 = err;
+        });
+        this.on("readable", onreadable);
+        this.on("close", onclose);
+        return {
+          [asyncIterator]() {
+            return this;
+          },
+          next() {
+            return new Promise(function(resolve2, reject) {
+              promiseResolve = resolve2;
+              promiseReject = reject;
+              const data = stream.read();
+              if (data !== null) ondata(data);
+              else if ((stream._duplexState & DESTROYED) !== 0) ondata(null);
+            });
+          },
+          return() {
+            return destroy(null);
+          },
+          throw(err) {
+            return destroy(err);
+          }
+        };
+        function onreadable() {
+          if (promiseResolve !== null) ondata(stream.read());
         }
-        const data = pd(this);
-        data.stopped = true;
-        if (typeof data.event.cancelBubble === "boolean") {
-          data.event.cancelBubble = true;
+        function onclose() {
+          if (promiseResolve !== null) ondata(null);
         }
-      },
-      /**
-       * The flag to indicate cancellation state.
-       * @type {boolean}
-       * @deprecated
-       */
-      get returnValue() {
-        return !pd(this).canceled;
-      },
-      set returnValue(value) {
-        if (!value) {
-          setCancelFlag(pd(this));
+        function ondata(data) {
+          if (promiseReject === null) return;
+          if (error3) promiseReject(error3);
+          else if (data === null && (stream._duplexState & READ_DONE) === 0) promiseReject(STREAM_DESTROYED);
+          else promiseResolve({ value: data, done: data === null });
+          promiseReject = promiseResolve = null;
+        }
+        function destroy(err) {
+          stream.destroy(err);
+          return new Promise((resolve2, reject) => {
+            if (stream._duplexState & DESTROYED) return resolve2({ value: void 0, done: true });
+            stream.once("close", function() {
+              if (err) reject(err);
+              else resolve2({ value: void 0, done: true });
+            });
+          });
         }
-      },
-      /**
-       * Initialize this event object. But do nothing under event dispatching.
-       * @param {string} type The event type.
-       * @param {boolean} [bubbles=false] The flag to be possible to bubble up.
-       * @param {boolean} [cancelable=false] The flag to be possible to cancel.
-       * @deprecated
-       */
-      initEvent() {
       }
     };
-    Object.defineProperty(Event2.prototype, "constructor", {
-      value: Event2,
-      configurable: true,
-      writable: true
-    });
-    if (typeof window !== "undefined" && typeof window.Event !== "undefined") {
-      Object.setPrototypeOf(Event2.prototype, window.Event.prototype);
-      wrappers.set(window.Event.prototype, Event2);
-    }
-    function defineRedirectDescriptor(key) {
-      return {
-        get() {
-          return pd(this).event[key];
-        },
-        set(value) {
-          pd(this).event[key] = value;
-        },
-        configurable: true,
-        enumerable: true
-      };
-    }
-    function defineCallDescriptor(key) {
-      return {
-        value() {
-          const event = pd(this).event;
-          return event[key].apply(event, arguments);
-        },
-        configurable: true,
-        enumerable: true
-      };
-    }
-    function defineWrapper(BaseEvent, proto) {
-      const keys = Object.keys(proto);
-      if (keys.length === 0) {
-        return BaseEvent;
+    var Writable = class extends Stream {
+      constructor(opts) {
+        super(opts);
+        this._duplexState |= OPENING | READ_DONE;
+        this._writableState = new WritableState(this, opts);
+        if (opts) {
+          if (opts.writev) this._writev = opts.writev;
+          if (opts.write) this._write = opts.write;
+          if (opts.final) this._final = opts.final;
+          if (opts.eagerOpen) this._writableState.updateNextTick();
+        }
       }
-      function CustomEvent(eventTarget, event) {
-        BaseEvent.call(this, eventTarget, event);
+      cork() {
+        this._duplexState |= WRITE_CORKED;
       }
-      CustomEvent.prototype = Object.create(BaseEvent.prototype, {
-        constructor: { value: CustomEvent, configurable: true, writable: true }
-      });
-      for (let i = 0; i < keys.length; ++i) {
-        const key = keys[i];
-        if (!(key in BaseEvent.prototype)) {
-          const descriptor = Object.getOwnPropertyDescriptor(proto, key);
-          const isFunc = typeof descriptor.value === "function";
-          Object.defineProperty(
-            CustomEvent.prototype,
-            key,
-            isFunc ? defineCallDescriptor(key) : defineRedirectDescriptor(key)
-          );
-        }
+      uncork() {
+        this._duplexState &= WRITE_NOT_CORKED;
+        this._writableState.updateNextTick();
       }
-      return CustomEvent;
-    }
-    function getWrapper(proto) {
-      if (proto == null || proto === Object.prototype) {
-        return Event2;
+      _writev(batch, cb) {
+        cb(null);
       }
-      let wrapper = wrappers.get(proto);
-      if (wrapper == null) {
-        wrapper = defineWrapper(getWrapper(Object.getPrototypeOf(proto)), proto);
-        wrappers.set(proto, wrapper);
+      _write(data, cb) {
+        this._writableState.autoBatch(data, cb);
       }
-      return wrapper;
-    }
-    function wrapEvent(eventTarget, event) {
-      const Wrapper = getWrapper(Object.getPrototypeOf(event));
-      return new Wrapper(eventTarget, event);
-    }
-    function isStopped(event) {
-      return pd(event).immediateStopped;
-    }
-    function setEventPhase(event, eventPhase) {
-      pd(event).eventPhase = eventPhase;
-    }
-    function setCurrentTarget(event, currentTarget) {
-      pd(event).currentTarget = currentTarget;
-    }
-    function setPassiveListener(event, passiveListener) {
-      pd(event).passiveListener = passiveListener;
-    }
-    var listenersMap = /* @__PURE__ */ new WeakMap();
-    var CAPTURE = 1;
-    var BUBBLE = 2;
-    var ATTRIBUTE = 3;
-    function isObject2(x) {
-      return x !== null && typeof x === "object";
-    }
-    function getListeners(eventTarget) {
-      const listeners = listenersMap.get(eventTarget);
-      if (listeners == null) {
-        throw new TypeError(
-          "'this' is expected an EventTarget object, but got another value."
-        );
+      _final(cb) {
+        cb(null);
       }
-      return listeners;
-    }
-    function defineEventAttributeDescriptor(eventName) {
-      return {
-        get() {
-          const listeners = getListeners(this);
-          let node = listeners.get(eventName);
-          while (node != null) {
-            if (node.listenerType === ATTRIBUTE) {
-              return node.listener;
-            }
-            node = node.next;
-          }
-          return null;
-        },
-        set(listener) {
-          if (typeof listener !== "function" && !isObject2(listener)) {
-            listener = null;
-          }
-          const listeners = getListeners(this);
-          let prev = null;
-          let node = listeners.get(eventName);
-          while (node != null) {
-            if (node.listenerType === ATTRIBUTE) {
-              if (prev !== null) {
-                prev.next = node.next;
-              } else if (node.next !== null) {
-                listeners.set(eventName, node.next);
-              } else {
-                listeners.delete(eventName);
-              }
-            } else {
-              prev = node;
-            }
-            node = node.next;
-          }
-          if (listener !== null) {
-            const newNode = {
-              listener,
-              listenerType: ATTRIBUTE,
-              passive: false,
-              once: false,
-              next: null
-            };
-            if (prev === null) {
-              listeners.set(eventName, newNode);
-            } else {
-              prev.next = newNode;
-            }
-          }
-        },
-        configurable: true,
-        enumerable: true
-      };
-    }
-    function defineEventAttribute(eventTargetPrototype, eventName) {
-      Object.defineProperty(
-        eventTargetPrototype,
-        `on${eventName}`,
-        defineEventAttributeDescriptor(eventName)
-      );
-    }
-    function defineCustomEventTarget(eventNames) {
-      function CustomEventTarget() {
-        EventTarget2.call(this);
+      static isBackpressured(ws) {
+        return (ws._duplexState & WRITE_BACKPRESSURE_STATUS) !== 0;
       }
-      CustomEventTarget.prototype = Object.create(EventTarget2.prototype, {
-        constructor: {
-          value: CustomEventTarget,
-          configurable: true,
-          writable: true
-        }
-      });
-      for (let i = 0; i < eventNames.length; ++i) {
-        defineEventAttribute(CustomEventTarget.prototype, eventNames[i]);
+      static drained(ws) {
+        if (ws.destroyed) return Promise.resolve(false);
+        const state = ws._writableState;
+        const pending = isWritev(ws) ? Math.min(1, state.queue.length) : state.queue.length;
+        const writes = pending + (ws._duplexState & WRITE_WRITING ? 1 : 0);
+        if (writes === 0) return Promise.resolve(true);
+        if (state.drains === null) state.drains = [];
+        return new Promise((resolve2) => {
+          state.drains.push({ writes, resolve: resolve2 });
+        });
       }
-      return CustomEventTarget;
-    }
-    function EventTarget2() {
-      if (this instanceof EventTarget2) {
-        listenersMap.set(this, /* @__PURE__ */ new Map());
-        return;
+      write(data) {
+        this._writableState.updateNextTick();
+        return this._writableState.push(data);
       }
-      if (arguments.length === 1 && Array.isArray(arguments[0])) {
-        return defineCustomEventTarget(arguments[0]);
+      end(data) {
+        this._writableState.updateNextTick();
+        this._writableState.end(data);
+        return this;
       }
-      if (arguments.length > 0) {
-        const types = new Array(arguments.length);
-        for (let i = 0; i < arguments.length; ++i) {
-          types[i] = arguments[i];
+    };
+    var Duplex = class extends Readable {
+      // and Writable
+      constructor(opts) {
+        super(opts);
+        this._duplexState = OPENING | this._duplexState & READ_READ_AHEAD;
+        this._writableState = new WritableState(this, opts);
+        if (opts) {
+          if (opts.writev) this._writev = opts.writev;
+          if (opts.write) this._write = opts.write;
+          if (opts.final) this._final = opts.final;
         }
-        return defineCustomEventTarget(types);
       }
-      throw new TypeError("Cannot call a class as a function");
-    }
-    EventTarget2.prototype = {
-      /**
-       * Add a given listener to this event target.
-       * @param {string} eventName The event name to add.
-       * @param {Function} listener The listener to add.
-       * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener.
-       * @returns {void}
-       */
-      addEventListener(eventName, listener, options) {
-        if (listener == null) {
-          return;
-        }
-        if (typeof listener !== "function" && !isObject2(listener)) {
-          throw new TypeError("'listener' should be a function or an object.");
-        }
-        const listeners = getListeners(this);
-        const optionsIsObj = isObject2(options);
-        const capture = optionsIsObj ? Boolean(options.capture) : Boolean(options);
-        const listenerType = capture ? CAPTURE : BUBBLE;
-        const newNode = {
-          listener,
-          listenerType,
-          passive: optionsIsObj && Boolean(options.passive),
-          once: optionsIsObj && Boolean(options.once),
-          next: null
-        };
-        let node = listeners.get(eventName);
-        if (node === void 0) {
-          listeners.set(eventName, newNode);
-          return;
-        }
-        let prev = null;
-        while (node != null) {
-          if (node.listener === listener && node.listenerType === listenerType) {
-            return;
-          }
-          prev = node;
-          node = node.next;
-        }
-        prev.next = newNode;
-      },
-      /**
-       * Remove a given listener from this event target.
-       * @param {string} eventName The event name to remove.
-       * @param {Function} listener The listener to remove.
-       * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener.
-       * @returns {void}
-       */
-      removeEventListener(eventName, listener, options) {
-        if (listener == null) {
-          return;
-        }
-        const listeners = getListeners(this);
-        const capture = isObject2(options) ? Boolean(options.capture) : Boolean(options);
-        const listenerType = capture ? CAPTURE : BUBBLE;
-        let prev = null;
-        let node = listeners.get(eventName);
-        while (node != null) {
-          if (node.listener === listener && node.listenerType === listenerType) {
-            if (prev !== null) {
-              prev.next = node.next;
-            } else if (node.next !== null) {
-              listeners.set(eventName, node.next);
-            } else {
-              listeners.delete(eventName);
-            }
-            return;
-          }
-          prev = node;
-          node = node.next;
+      cork() {
+        this._duplexState |= WRITE_CORKED;
+      }
+      uncork() {
+        this._duplexState &= WRITE_NOT_CORKED;
+        this._writableState.updateNextTick();
+      }
+      _writev(batch, cb) {
+        cb(null);
+      }
+      _write(data, cb) {
+        this._writableState.autoBatch(data, cb);
+      }
+      _final(cb) {
+        cb(null);
+      }
+      write(data) {
+        this._writableState.updateNextTick();
+        return this._writableState.push(data);
+      }
+      end(data) {
+        this._writableState.updateNextTick();
+        this._writableState.end(data);
+        return this;
+      }
+    };
+    var Transform = class extends Duplex {
+      constructor(opts) {
+        super(opts);
+        this._transformState = new TransformState(this);
+        if (opts) {
+          if (opts.transform) this._transform = opts.transform;
+          if (opts.flush) this._flush = opts.flush;
         }
-      },
-      /**
-       * Dispatch a given event.
-       * @param {Event|{type:string}} event The event to dispatch.
-       * @returns {boolean} `false` if canceled.
-       */
-      dispatchEvent(event) {
-        if (event == null || typeof event.type !== "string") {
-          throw new TypeError('"event.type" should be a string.');
+      }
+      _write(data, cb) {
+        if (this._readableState.buffered >= this._readableState.highWaterMark) {
+          this._transformState.data = data;
+        } else {
+          this._transform(data, this._transformState.afterTransform);
         }
-        const listeners = getListeners(this);
-        const eventName = event.type;
-        let node = listeners.get(eventName);
-        if (node == null) {
-          return true;
+      }
+      _read(cb) {
+        if (this._transformState.data !== null) {
+          const data = this._transformState.data;
+          this._transformState.data = null;
+          cb(null);
+          this._transform(data, this._transformState.afterTransform);
+        } else {
+          cb(null);
         }
-        const wrappedEvent = wrapEvent(this, event);
-        let prev = null;
-        while (node != null) {
-          if (node.once) {
-            if (prev !== null) {
-              prev.next = node.next;
-            } else if (node.next !== null) {
-              listeners.set(eventName, node.next);
-            } else {
-              listeners.delete(eventName);
-            }
-          } else {
-            prev = node;
-          }
-          setPassiveListener(
-            wrappedEvent,
-            node.passive ? node.listener : null
-          );
-          if (typeof node.listener === "function") {
-            try {
-              node.listener.call(this, wrappedEvent);
-            } catch (err) {
-              if (typeof console !== "undefined" && typeof console.error === "function") {
-                console.error(err);
-              }
-            }
-          } else if (node.listenerType !== ATTRIBUTE && typeof node.listener.handleEvent === "function") {
-            node.listener.handleEvent(wrappedEvent);
-          }
-          if (isStopped(wrappedEvent)) {
-            break;
-          }
-          node = node.next;
+      }
+      destroy(err) {
+        super.destroy(err);
+        if (this._transformState.data !== null) {
+          this._transformState.data = null;
+          this._transformState.afterTransform();
         }
-        setPassiveListener(wrappedEvent, null);
-        setEventPhase(wrappedEvent, 0);
-        setCurrentTarget(wrappedEvent, null);
-        return !wrappedEvent.defaultPrevented;
       }
-    };
-    Object.defineProperty(EventTarget2.prototype, "constructor", {
-      value: EventTarget2,
-      configurable: true,
-      writable: true
-    });
-    if (typeof window !== "undefined" && typeof window.EventTarget !== "undefined") {
-      Object.setPrototypeOf(EventTarget2.prototype, window.EventTarget.prototype);
-    }
-    exports2.defineEventAttribute = defineEventAttribute;
-    exports2.EventTarget = EventTarget2;
-    exports2.default = EventTarget2;
-    module2.exports = EventTarget2;
-    module2.exports.EventTarget = module2.exports["default"] = EventTarget2;
-    module2.exports.defineEventAttribute = defineEventAttribute;
-  }
-});
-
-// node_modules/abort-controller/dist/abort-controller.js
-var require_abort_controller = __commonJS({
-  "node_modules/abort-controller/dist/abort-controller.js"(exports2, module2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    var eventTargetShim = require_event_target_shim();
-    var AbortSignal2 = class extends eventTargetShim.EventTarget {
-      /**
-       * AbortSignal cannot be constructed directly.
-       */
-      constructor() {
-        super();
-        throw new TypeError("AbortSignal cannot be constructed directly");
+      _transform(data, cb) {
+        cb(null, data);
       }
-      /**
-       * Returns `true` if this `AbortSignal`'s `AbortController` has signaled to abort, and `false` otherwise.
-       */
-      get aborted() {
-        const aborted = abortedFlags.get(this);
-        if (typeof aborted !== "boolean") {
-          throw new TypeError(`Expected 'this' to be an 'AbortSignal' object, but got ${this === null ? "null" : typeof this}`);
-        }
-        return aborted;
+      _flush(cb) {
+        cb(null);
       }
-    };
-    eventTargetShim.defineEventAttribute(AbortSignal2.prototype, "abort");
-    function createAbortSignal() {
-      const signal = Object.create(AbortSignal2.prototype);
-      eventTargetShim.EventTarget.call(signal);
-      abortedFlags.set(signal, false);
-      return signal;
-    }
-    function abortSignal(signal) {
-      if (abortedFlags.get(signal) !== false) {
-        return;
+      _final(cb) {
+        this._transformState.afterFinal = cb;
+        this._flush(transformAfterFlush.bind(this));
       }
-      abortedFlags.set(signal, true);
-      signal.dispatchEvent({ type: "abort" });
+    };
+    var PassThrough = class extends Transform {
+    };
+    function transformAfterFlush(err, data) {
+      const cb = this._transformState.afterFinal;
+      if (err) return cb(err);
+      if (data !== null && data !== void 0) this.push(data);
+      this.push(null);
+      cb(null);
     }
-    var abortedFlags = /* @__PURE__ */ new WeakMap();
-    Object.defineProperties(AbortSignal2.prototype, {
-      aborted: { enumerable: true }
-    });
-    if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") {
-      Object.defineProperty(AbortSignal2.prototype, Symbol.toStringTag, {
-        configurable: true,
-        value: "AbortSignal"
+    function pipelinePromise(...streams) {
+      return new Promise((resolve2, reject) => {
+        return pipeline(...streams, (err) => {
+          if (err) return reject(err);
+          resolve2();
+        });
       });
     }
-    var AbortController2 = class {
-      /**
-       * Initialize this controller.
-       */
-      constructor() {
-        signals.set(this, createAbortSignal());
+    function pipeline(stream, ...streams) {
+      const all = Array.isArray(stream) ? [...stream, ...streams] : [stream, ...streams];
+      const done = all.length && typeof all[all.length - 1] === "function" ? all.pop() : null;
+      if (all.length < 2) throw new Error("Pipeline requires at least 2 streams");
+      let src = all[0];
+      let dest = null;
+      let error3 = null;
+      for (let i = 1; i < all.length; i++) {
+        dest = all[i];
+        if (isStreamx(src)) {
+          src.pipe(dest, onerror);
+        } else {
+          errorHandle(src, true, i > 1, onerror);
+          src.pipe(dest);
+        }
+        src = dest;
       }
-      /**
-       * Returns the `AbortSignal` object associated with this object.
-       */
-      get signal() {
-        return getSignal(this);
+      if (done) {
+        let fin = false;
+        const autoDestroy = isStreamx(dest) || !!(dest._writableState && dest._writableState.autoDestroy);
+        dest.on("error", (err) => {
+          if (error3 === null) error3 = err;
+        });
+        dest.on("finish", () => {
+          fin = true;
+          if (!autoDestroy) done(error3);
+        });
+        if (autoDestroy) {
+          dest.on("close", () => done(error3 || (fin ? null : PREMATURE_CLOSE)));
+        }
       }
-      /**
-       * Abort and signal to any observers that the associated activity is to be aborted.
-       */
-      abort() {
-        abortSignal(getSignal(this));
+      return dest;
+      function errorHandle(s, rd, wr, onerror2) {
+        s.on("error", onerror2);
+        s.on("close", onclose);
+        function onclose() {
+          if (rd && s._readableState && !s._readableState.ended) return onerror2(PREMATURE_CLOSE);
+          if (wr && s._writableState && !s._writableState.ended) return onerror2(PREMATURE_CLOSE);
+        }
       }
-    };
-    var signals = /* @__PURE__ */ new WeakMap();
-    function getSignal(controller) {
-      const signal = signals.get(controller);
-      if (signal == null) {
-        throw new TypeError(`Expected 'this' to be an 'AbortController' object, but got ${controller === null ? "null" : typeof controller}`);
+      function onerror(err) {
+        if (!err || error3) return;
+        error3 = err;
+        for (const s of all) {
+          s.destroy(err);
+        }
       }
-      return signal;
     }
-    Object.defineProperties(AbortController2.prototype, {
-      signal: { enumerable: true },
-      abort: { enumerable: true }
-    });
-    if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") {
-      Object.defineProperty(AbortController2.prototype, Symbol.toStringTag, {
-        configurable: true,
-        value: "AbortController"
-      });
+    function echo(s) {
+      return s;
     }
-    exports2.AbortController = AbortController2;
-    exports2.AbortSignal = AbortSignal2;
-    exports2.default = AbortController2;
-    module2.exports = AbortController2;
-    module2.exports.AbortController = module2.exports["default"] = AbortController2;
-    module2.exports.AbortSignal = AbortSignal2;
+    function isStream(stream) {
+      return !!stream._readableState || !!stream._writableState;
+    }
+    function isStreamx(stream) {
+      return typeof stream._duplexState === "number" && isStream(stream);
+    }
+    function isEnded(stream) {
+      return !!stream._readableState && stream._readableState.ended;
+    }
+    function isFinished(stream) {
+      return !!stream._writableState && stream._writableState.ended;
+    }
+    function getStreamError(stream, opts = {}) {
+      const err = stream._readableState && stream._readableState.error || stream._writableState && stream._writableState.error;
+      return !opts.all && err === STREAM_DESTROYED ? null : err;
+    }
+    function isReadStreamx(stream) {
+      return isStreamx(stream) && stream.readable;
+    }
+    function isTypedArray(data) {
+      return typeof data === "object" && data !== null && typeof data.byteLength === "number";
+    }
+    function defaultByteLength(data) {
+      return isTypedArray(data) ? data.byteLength : 1024;
+    }
+    function noop3() {
+    }
+    function abort() {
+      this.destroy(new Error("Stream aborted."));
+    }
+    function isWritev(s) {
+      return s._writev !== Writable.prototype._writev && s._writev !== Duplex.prototype._writev;
+    }
+    module2.exports = {
+      pipeline,
+      pipelinePromise,
+      isStream,
+      isStreamx,
+      isEnded,
+      isFinished,
+      getStreamError,
+      Stream,
+      Writable,
+      Readable,
+      Duplex,
+      Transform,
+      // Export PassThrough for compatibility with Node.js core's stream module
+      PassThrough
+    };
   }
 });
 
-// node_modules/readable-stream/lib/ours/util.js
-var require_util19 = __commonJS({
-  "node_modules/readable-stream/lib/ours/util.js"(exports2, module2) {
-    "use strict";
-    var bufferModule = require("buffer");
-    var { kResistStopPropagation, SymbolDispose } = require_primordials();
-    var AbortSignal2 = globalThis.AbortSignal || require_abort_controller().AbortSignal;
-    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
-    var AsyncFunction = Object.getPrototypeOf(async function() {
-    }).constructor;
-    var Blob2 = globalThis.Blob || bufferModule.Blob;
-    var isBlob = typeof Blob2 !== "undefined" ? function isBlob2(b) {
-      return b instanceof Blob2;
-    } : function isBlob2(b) {
-      return false;
+// node_modules/tar-stream/headers.js
+var require_headers3 = __commonJS({
+  "node_modules/tar-stream/headers.js"(exports2) {
+    var b4a = require_b4a();
+    var ZEROS = "0000000000000000000";
+    var SEVENS = "7777777777777777777";
+    var ZERO_OFFSET = "0".charCodeAt(0);
+    var USTAR_MAGIC = b4a.from([117, 115, 116, 97, 114, 0]);
+    var USTAR_VER = b4a.from([ZERO_OFFSET, ZERO_OFFSET]);
+    var GNU_MAGIC = b4a.from([117, 115, 116, 97, 114, 32]);
+    var GNU_VER = b4a.from([32, 0]);
+    var MASK = 4095;
+    var MAGIC_OFFSET = 257;
+    var VERSION_OFFSET = 263;
+    exports2.decodeLongPath = function decodeLongPath(buf, encoding) {
+      return decodeStr(buf, 0, buf.length, encoding);
     };
-    var validateAbortSignal = (signal, name) => {
-      if (signal !== void 0 && (signal === null || typeof signal !== "object" || !("aborted" in signal))) {
-        throw new ERR_INVALID_ARG_TYPE(name, "AbortSignal", signal);
+    exports2.encodePax = function encodePax(opts) {
+      let result = "";
+      if (opts.name) result += addLength(" path=" + opts.name + "\n");
+      if (opts.linkname) result += addLength(" linkpath=" + opts.linkname + "\n");
+      const pax = opts.pax;
+      if (pax) {
+        for (const key in pax) {
+          result += addLength(" " + key + "=" + pax[key] + "\n");
+        }
       }
+      return b4a.from(result);
     };
-    var validateFunction = (value, name) => {
-      if (typeof value !== "function") throw new ERR_INVALID_ARG_TYPE(name, "Function", value);
+    exports2.decodePax = function decodePax(buf) {
+      const result = {};
+      while (buf.length) {
+        let i = 0;
+        while (i < buf.length && buf[i] !== 32) i++;
+        const len = parseInt(b4a.toString(buf.subarray(0, i)), 10);
+        if (!len) return result;
+        const b = b4a.toString(buf.subarray(i + 1, len - 1));
+        const keyIndex = b.indexOf("=");
+        if (keyIndex === -1) return result;
+        result[b.slice(0, keyIndex)] = b.slice(keyIndex + 1);
+        buf = buf.subarray(len);
+      }
+      return result;
     };
-    var AggregateError = class extends Error {
-      constructor(errors) {
-        if (!Array.isArray(errors)) {
-          throw new TypeError(`Expected input to be an Array, got ${typeof errors}`);
-        }
-        let message = "";
-        for (let i = 0; i < errors.length; i++) {
-          message += `    ${errors[i].stack}
-`;
-        }
-        super(message);
-        this.name = "AggregateError";
-        this.errors = errors;
+    exports2.encode = function encode(opts) {
+      const buf = b4a.alloc(512);
+      let name = opts.name;
+      let prefix = "";
+      if (opts.typeflag === 5 && name[name.length - 1] !== "/") name += "/";
+      if (b4a.byteLength(name) !== name.length) return null;
+      while (b4a.byteLength(name) > 100) {
+        const i = name.indexOf("/");
+        if (i === -1) return null;
+        prefix += prefix ? "/" + name.slice(0, i) : name.slice(0, i);
+        name = name.slice(i + 1);
       }
+      if (b4a.byteLength(name) > 100 || b4a.byteLength(prefix) > 155) return null;
+      if (opts.linkname && b4a.byteLength(opts.linkname) > 100) return null;
+      b4a.write(buf, name);
+      b4a.write(buf, encodeOct(opts.mode & MASK, 6), 100);
+      b4a.write(buf, encodeOct(opts.uid, 6), 108);
+      b4a.write(buf, encodeOct(opts.gid, 6), 116);
+      encodeSize(opts.size, buf, 124);
+      b4a.write(buf, encodeOct(opts.mtime.getTime() / 1e3 | 0, 11), 136);
+      buf[156] = ZERO_OFFSET + toTypeflag(opts.type);
+      if (opts.linkname) b4a.write(buf, opts.linkname, 157);
+      b4a.copy(USTAR_MAGIC, buf, MAGIC_OFFSET);
+      b4a.copy(USTAR_VER, buf, VERSION_OFFSET);
+      if (opts.uname) b4a.write(buf, opts.uname, 265);
+      if (opts.gname) b4a.write(buf, opts.gname, 297);
+      b4a.write(buf, encodeOct(opts.devmajor || 0, 6), 329);
+      b4a.write(buf, encodeOct(opts.devminor || 0, 6), 337);
+      if (prefix) b4a.write(buf, prefix, 345);
+      b4a.write(buf, encodeOct(cksum(buf), 6), 148);
+      return buf;
     };
-    module2.exports = {
-      AggregateError,
-      kEmptyObject: Object.freeze({}),
-      once(callback) {
-        let called = false;
-        return function(...args) {
-          if (called) {
-            return;
-          }
-          called = true;
-          callback.apply(this, args);
-        };
-      },
-      createDeferredPromise: function() {
-        let resolve2;
-        let reject;
-        const promise = new Promise((res, rej) => {
-          resolve2 = res;
-          reject = rej;
-        });
-        return {
-          promise,
-          resolve: resolve2,
-          reject
-        };
-      },
-      promisify(fn) {
-        return new Promise((resolve2, reject) => {
-          fn((err, ...args) => {
-            if (err) {
-              return reject(err);
-            }
-            return resolve2(...args);
-          });
-        });
-      },
-      debuglog() {
-        return function() {
-        };
-      },
-      format(format, ...args) {
-        return format.replace(/%([sdifj])/g, function(...[_unused, type2]) {
-          const replacement = args.shift();
-          if (type2 === "f") {
-            return replacement.toFixed(6);
-          } else if (type2 === "j") {
-            return JSON.stringify(replacement);
-          } else if (type2 === "s" && typeof replacement === "object") {
-            const ctor = replacement.constructor !== Object ? replacement.constructor.name : "";
-            return `${ctor} {}`.trim();
-          } else {
-            return replacement.toString();
-          }
-        });
-      },
-      inspect(value) {
-        switch (typeof value) {
-          case "string":
-            if (value.includes("'")) {
-              if (!value.includes('"')) {
-                return `"${value}"`;
-              } else if (!value.includes("`") && !value.includes("${")) {
-                return `\`${value}\``;
-              }
-            }
-            return `'${value}'`;
-          case "number":
-            if (isNaN(value)) {
-              return "NaN";
-            } else if (Object.is(value, -0)) {
-              return String(value);
-            }
-            return value;
-          case "bigint":
-            return `${String(value)}n`;
-          case "boolean":
-          case "undefined":
-            return String(value);
-          case "object":
-            return "{}";
-        }
-      },
-      types: {
-        isAsyncFunction(fn) {
-          return fn instanceof AsyncFunction;
-        },
-        isArrayBufferView(arr) {
-          return ArrayBuffer.isView(arr);
-        }
-      },
-      isBlob,
-      deprecate(fn, message) {
-        return fn;
-      },
-      addAbortListener: require("events").addAbortListener || function addAbortListener(signal, listener) {
-        if (signal === void 0) {
-          throw new ERR_INVALID_ARG_TYPE("signal", "AbortSignal", signal);
-        }
-        validateAbortSignal(signal, "signal");
-        validateFunction(listener, "listener");
-        let removeEventListener;
-        if (signal.aborted) {
-          queueMicrotask(() => listener());
-        } else {
-          signal.addEventListener("abort", listener, {
-            __proto__: null,
-            once: true,
-            [kResistStopPropagation]: true
-          });
-          removeEventListener = () => {
-            signal.removeEventListener("abort", listener);
-          };
-        }
-        return {
-          __proto__: null,
-          [SymbolDispose]() {
-            var _removeEventListener;
-            (_removeEventListener = removeEventListener) === null || _removeEventListener === void 0 ? void 0 : _removeEventListener();
-          }
-        };
-      },
-      AbortSignalAny: AbortSignal2.any || function AbortSignalAny(signals) {
-        if (signals.length === 1) {
-          return signals[0];
+    exports2.decode = function decode(buf, filenameEncoding, allowUnknownFormat) {
+      let typeflag = buf[156] === 0 ? 0 : buf[156] - ZERO_OFFSET;
+      let name = decodeStr(buf, 0, 100, filenameEncoding);
+      const mode = decodeOct(buf, 100, 8);
+      const uid = decodeOct(buf, 108, 8);
+      const gid = decodeOct(buf, 116, 8);
+      const size = decodeOct(buf, 124, 12);
+      const mtime = decodeOct(buf, 136, 12);
+      const type2 = toType(typeflag);
+      const linkname = buf[157] === 0 ? null : decodeStr(buf, 157, 100, filenameEncoding);
+      const uname = decodeStr(buf, 265, 32);
+      const gname = decodeStr(buf, 297, 32);
+      const devmajor = decodeOct(buf, 329, 8);
+      const devminor = decodeOct(buf, 337, 8);
+      const c = cksum(buf);
+      if (c === 8 * 32) return null;
+      if (c !== decodeOct(buf, 148, 8)) throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");
+      if (isUSTAR(buf)) {
+        if (buf[345]) name = decodeStr(buf, 345, 155, filenameEncoding) + "/" + name;
+      } else if (isGNU(buf)) {
+      } else {
+        if (!allowUnknownFormat) {
+          throw new Error("Invalid tar header: unknown format.");
         }
-        const ac = new AbortController2();
-        const abort = () => ac.abort();
-        signals.forEach((signal) => {
-          validateAbortSignal(signal, "signals");
-          signal.addEventListener("abort", abort, {
-            once: true
-          });
-        });
-        ac.signal.addEventListener(
-          "abort",
-          () => {
-            signals.forEach((signal) => signal.removeEventListener("abort", abort));
-          },
-          {
-            once: true
-          }
-        );
-        return ac.signal;
       }
-    };
-    module2.exports.promisify.custom = /* @__PURE__ */ Symbol.for("nodejs.util.promisify.custom");
-  }
-});
-
-// node_modules/readable-stream/lib/ours/errors.js
-var require_errors4 = __commonJS({
-  "node_modules/readable-stream/lib/ours/errors.js"(exports2, module2) {
-    "use strict";
-    var { format, inspect, AggregateError: CustomAggregateError } = require_util19();
-    var AggregateError = globalThis.AggregateError || CustomAggregateError;
-    var kIsNodeError = /* @__PURE__ */ Symbol("kIsNodeError");
-    var kTypes = [
-      "string",
-      "function",
-      "number",
-      "object",
-      // Accept 'Function' and 'Object' as alternative to the lower cased version.
-      "Function",
-      "Object",
-      "boolean",
-      "bigint",
-      "symbol"
-    ];
-    var classRegExp = /^([A-Z][a-z0-9]*)+$/;
-    var nodeInternalPrefix = "__node_internal_";
-    var codes = {};
-    function assert(value, message) {
-      if (!value) {
-        throw new codes.ERR_INTERNAL_ASSERTION(message);
+      if (typeflag === 0 && name && name[name.length - 1] === "/") typeflag = 5;
+      return {
+        name,
+        mode,
+        uid,
+        gid,
+        size,
+        mtime: new Date(1e3 * mtime),
+        type: type2,
+        linkname,
+        uname,
+        gname,
+        devmajor,
+        devminor,
+        pax: null
+      };
+    };
+    function isUSTAR(buf) {
+      return b4a.equals(USTAR_MAGIC, buf.subarray(MAGIC_OFFSET, MAGIC_OFFSET + 6));
+    }
+    function isGNU(buf) {
+      return b4a.equals(GNU_MAGIC, buf.subarray(MAGIC_OFFSET, MAGIC_OFFSET + 6)) && b4a.equals(GNU_VER, buf.subarray(VERSION_OFFSET, VERSION_OFFSET + 2));
+    }
+    function clamp(index, len, defaultValue) {
+      if (typeof index !== "number") return defaultValue;
+      index = ~~index;
+      if (index >= len) return len;
+      if (index >= 0) return index;
+      index += len;
+      if (index >= 0) return index;
+      return 0;
+    }
+    function toType(flag) {
+      switch (flag) {
+        case 0:
+          return "file";
+        case 1:
+          return "link";
+        case 2:
+          return "symlink";
+        case 3:
+          return "character-device";
+        case 4:
+          return "block-device";
+        case 5:
+          return "directory";
+        case 6:
+          return "fifo";
+        case 7:
+          return "contiguous-file";
+        case 72:
+          return "pax-header";
+        case 55:
+          return "pax-global-header";
+        case 27:
+          return "gnu-long-link-path";
+        case 28:
+        case 30:
+          return "gnu-long-path";
+      }
+      return null;
+    }
+    function toTypeflag(flag) {
+      switch (flag) {
+        case "file":
+          return 0;
+        case "link":
+          return 1;
+        case "symlink":
+          return 2;
+        case "character-device":
+          return 3;
+        case "block-device":
+          return 4;
+        case "directory":
+          return 5;
+        case "fifo":
+          return 6;
+        case "contiguous-file":
+          return 7;
+        case "pax-header":
+          return 72;
+      }
+      return 0;
+    }
+    function indexOf(block, num, offset, end) {
+      for (; offset < end; offset++) {
+        if (block[offset] === num) return offset;
+      }
+      return end;
+    }
+    function cksum(block) {
+      let sum = 8 * 32;
+      for (let i = 0; i < 148; i++) sum += block[i];
+      for (let j = 156; j < 512; j++) sum += block[j];
+      return sum;
+    }
+    function encodeOct(val, n) {
+      val = val.toString(8);
+      if (val.length > n) return SEVENS.slice(0, n) + " ";
+      return ZEROS.slice(0, n - val.length) + val + " ";
+    }
+    function encodeSizeBin(num, buf, off) {
+      buf[off] = 128;
+      for (let i = 11; i > 0; i--) {
+        buf[off + i] = num & 255;
+        num = Math.floor(num / 256);
       }
     }
-    function addNumericalSeparator(val) {
-      let res = "";
-      let i = val.length;
-      const start = val[0] === "-" ? 1 : 0;
-      for (; i >= start + 4; i -= 3) {
-        res = `_${val.slice(i - 3, i)}${res}`;
+    function encodeSize(num, buf, off) {
+      if (num.toString(8).length > 11) {
+        encodeSizeBin(num, buf, off);
+      } else {
+        b4a.write(buf, encodeOct(num, 11), off);
       }
-      return `${val.slice(0, i)}${res}`;
     }
-    function getMessage(key, msg, args) {
-      if (typeof msg === "function") {
-        assert(
-          msg.length <= args.length,
-          // Default options do not count.
-          `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${msg.length}).`
-        );
-        return msg(...args);
+    function parse256(buf) {
+      let positive;
+      if (buf[0] === 128) positive = true;
+      else if (buf[0] === 255) positive = false;
+      else return null;
+      const tuple = [];
+      let i;
+      for (i = buf.length - 1; i > 0; i--) {
+        const byte = buf[i];
+        if (positive) tuple.push(byte);
+        else tuple.push(255 - byte);
       }
-      const expectedLength = (msg.match(/%[dfijoOs]/g) || []).length;
-      assert(
-        expectedLength === args.length,
-        `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${expectedLength}).`
-      );
-      if (args.length === 0) {
-        return msg;
+      let sum = 0;
+      const l = tuple.length;
+      for (i = 0; i < l; i++) {
+        sum += tuple[i] * Math.pow(256, i);
       }
-      return format(msg, ...args);
+      return positive ? sum : -1 * sum;
     }
-    function E(code, message, Base) {
-      if (!Base) {
-        Base = Error;
+    function decodeOct(val, offset, length) {
+      val = val.subarray(offset, offset + length);
+      offset = 0;
+      if (val[offset] & 128) {
+        return parse256(val);
+      } else {
+        while (offset < val.length && val[offset] === 32) offset++;
+        const end = clamp(indexOf(val, 32, offset, val.length), val.length, val.length);
+        while (offset < end && val[offset] === 0) offset++;
+        if (end === offset) return 0;
+        return parseInt(b4a.toString(val.subarray(offset, end)), 8);
       }
-      class NodeError extends Base {
-        constructor(...args) {
-          super(getMessage(code, message, args));
+    }
+    function decodeStr(val, offset, length, encoding) {
+      return b4a.toString(val.subarray(offset, indexOf(val, 0, offset, offset + length)), encoding);
+    }
+    function addLength(str2) {
+      const len = b4a.byteLength(str2);
+      let digits = Math.floor(Math.log(len) / Math.log(10)) + 1;
+      if (len + digits >= Math.pow(10, digits)) digits++;
+      return len + digits + str2;
+    }
+  }
+});
+
+// node_modules/tar-stream/extract.js
+var require_extract = __commonJS({
+  "node_modules/tar-stream/extract.js"(exports2, module2) {
+    var { Writable, Readable, getStreamError } = require_streamx();
+    var FIFO = require_fast_fifo();
+    var b4a = require_b4a();
+    var headers = require_headers3();
+    var EMPTY = b4a.alloc(0);
+    var BufferList = class {
+      constructor() {
+        this.buffered = 0;
+        this.shifted = 0;
+        this.queue = new FIFO();
+        this._offset = 0;
+      }
+      push(buffer) {
+        this.buffered += buffer.byteLength;
+        this.queue.push(buffer);
+      }
+      shiftFirst(size) {
+        return this._buffered === 0 ? null : this._next(size);
+      }
+      shift(size) {
+        if (size > this.buffered) return null;
+        if (size === 0) return EMPTY;
+        let chunk = this._next(size);
+        if (size === chunk.byteLength) return chunk;
+        const chunks = [chunk];
+        while ((size -= chunk.byteLength) > 0) {
+          chunk = this._next(size);
+          chunks.push(chunk);
         }
-        toString() {
-          return `${this.name} [${code}]: ${this.message}`;
+        return b4a.concat(chunks);
+      }
+      _next(size) {
+        const buf = this.queue.peek();
+        const rem = buf.byteLength - this._offset;
+        if (size >= rem) {
+          const sub = this._offset ? buf.subarray(this._offset, buf.byteLength) : buf;
+          this.queue.shift();
+          this._offset = 0;
+          this.buffered -= rem;
+          this.shifted += rem;
+          return sub;
         }
+        this.buffered -= size;
+        this.shifted += size;
+        return buf.subarray(this._offset, this._offset += size);
       }
-      Object.defineProperties(NodeError.prototype, {
-        name: {
-          value: Base.name,
-          writable: true,
-          enumerable: false,
-          configurable: true
-        },
-        toString: {
-          value() {
-            return `${this.name} [${code}]: ${this.message}`;
-          },
-          writable: true,
-          enumerable: false,
-          configurable: true
+    };
+    var Source = class extends Readable {
+      constructor(self2, header, offset) {
+        super();
+        this.header = header;
+        this.offset = offset;
+        this._parent = self2;
+      }
+      _read(cb) {
+        if (this.header.size === 0) {
+          this.push(null);
         }
-      });
-      NodeError.prototype.code = code;
-      NodeError.prototype[kIsNodeError] = true;
-      codes[code] = NodeError;
-    }
-    function hideStackFrames(fn) {
-      const hidden = nodeInternalPrefix + fn.name;
-      Object.defineProperty(fn, "name", {
-        value: hidden
-      });
-      return fn;
-    }
-    function aggregateTwoErrors(innerError, outerError) {
-      if (innerError && outerError && innerError !== outerError) {
-        if (Array.isArray(outerError.errors)) {
-          outerError.errors.push(innerError);
-          return outerError;
+        if (this._parent._stream === this) {
+          this._parent._update();
         }
-        const err = new AggregateError([outerError, innerError], outerError.message);
-        err.code = outerError.code;
-        return err;
+        cb(null);
       }
-      return innerError || outerError;
-    }
-    var AbortError = class extends Error {
-      constructor(message = "The operation was aborted", options = void 0) {
-        if (options !== void 0 && typeof options !== "object") {
-          throw new codes.ERR_INVALID_ARG_TYPE("options", "Object", options);
+      _predestroy() {
+        this._parent.destroy(getStreamError(this));
+      }
+      _detach() {
+        if (this._parent._stream === this) {
+          this._parent._stream = null;
+          this._parent._missing = overflow(this.header.size);
+          this._parent._update();
         }
-        super(message, options);
-        this.code = "ABORT_ERR";
-        this.name = "AbortError";
+      }
+      _destroy(cb) {
+        this._detach();
+        cb(null);
       }
     };
-    E("ERR_ASSERTION", "%s", Error);
-    E(
-      "ERR_INVALID_ARG_TYPE",
-      (name, expected, actual) => {
-        assert(typeof name === "string", "'name' must be a string");
-        if (!Array.isArray(expected)) {
-          expected = [expected];
+    var Extract = class extends Writable {
+      constructor(opts) {
+        super(opts);
+        if (!opts) opts = {};
+        this._buffer = new BufferList();
+        this._offset = 0;
+        this._header = null;
+        this._stream = null;
+        this._missing = 0;
+        this._longHeader = false;
+        this._callback = noop3;
+        this._locked = false;
+        this._finished = false;
+        this._pax = null;
+        this._paxGlobal = null;
+        this._gnuLongPath = null;
+        this._gnuLongLinkPath = null;
+        this._filenameEncoding = opts.filenameEncoding || "utf-8";
+        this._allowUnknownFormat = !!opts.allowUnknownFormat;
+        this._unlockBound = this._unlock.bind(this);
+      }
+      _unlock(err) {
+        this._locked = false;
+        if (err) {
+          this.destroy(err);
+          this._continueWrite(err);
+          return;
         }
-        let msg = "The ";
-        if (name.endsWith(" argument")) {
-          msg += `${name} `;
-        } else {
-          msg += `"${name}" ${name.includes(".") ? "property" : "argument"} `;
+        this._update();
+      }
+      _consumeHeader() {
+        if (this._locked) return false;
+        this._offset = this._buffer.shifted;
+        try {
+          this._header = headers.decode(this._buffer.shift(512), this._filenameEncoding, this._allowUnknownFormat);
+        } catch (err) {
+          this._continueWrite(err);
+          return false;
         }
-        msg += "must be ";
-        const types = [];
-        const instances = [];
-        const other = [];
-        for (const value of expected) {
-          assert(typeof value === "string", "All expected entries have to be of type string");
-          if (kTypes.includes(value)) {
-            types.push(value.toLowerCase());
-          } else if (classRegExp.test(value)) {
-            instances.push(value);
-          } else {
-            assert(value !== "object", 'The value "object" should be written as "Object"');
-            other.push(value);
-          }
+        if (!this._header) return true;
+        switch (this._header.type) {
+          case "gnu-long-path":
+          case "gnu-long-link-path":
+          case "pax-global-header":
+          case "pax-header":
+            this._longHeader = true;
+            this._missing = this._header.size;
+            return true;
         }
-        if (instances.length > 0) {
-          const pos = types.indexOf("object");
-          if (pos !== -1) {
-            types.splice(types, pos, 1);
-            instances.push("Object");
-          }
+        this._locked = true;
+        this._applyLongHeaders();
+        if (this._header.size === 0 || this._header.type === "directory") {
+          this.emit("entry", this._header, this._createStream(), this._unlockBound);
+          return true;
         }
-        if (types.length > 0) {
-          switch (types.length) {
-            case 1:
-              msg += `of type ${types[0]}`;
-              break;
-            case 2:
-              msg += `one of type ${types[0]} or ${types[1]}`;
-              break;
-            default: {
-              const last = types.pop();
-              msg += `one of type ${types.join(", ")}, or ${last}`;
+        this._stream = this._createStream();
+        this._missing = this._header.size;
+        this.emit("entry", this._header, this._stream, this._unlockBound);
+        return true;
+      }
+      _applyLongHeaders() {
+        if (this._gnuLongPath) {
+          this._header.name = this._gnuLongPath;
+          this._gnuLongPath = null;
+        }
+        if (this._gnuLongLinkPath) {
+          this._header.linkname = this._gnuLongLinkPath;
+          this._gnuLongLinkPath = null;
+        }
+        if (this._pax) {
+          if (this._pax.path) this._header.name = this._pax.path;
+          if (this._pax.linkpath) this._header.linkname = this._pax.linkpath;
+          if (this._pax.size) this._header.size = parseInt(this._pax.size, 10);
+          this._header.pax = this._pax;
+          this._pax = null;
+        }
+      }
+      _decodeLongHeader(buf) {
+        switch (this._header.type) {
+          case "gnu-long-path":
+            this._gnuLongPath = headers.decodeLongPath(buf, this._filenameEncoding);
+            break;
+          case "gnu-long-link-path":
+            this._gnuLongLinkPath = headers.decodeLongPath(buf, this._filenameEncoding);
+            break;
+          case "pax-global-header":
+            this._paxGlobal = headers.decodePax(buf);
+            break;
+          case "pax-header":
+            this._pax = this._paxGlobal === null ? headers.decodePax(buf) : Object.assign({}, this._paxGlobal, headers.decodePax(buf));
+            break;
+        }
+      }
+      _consumeLongHeader() {
+        this._longHeader = false;
+        this._missing = overflow(this._header.size);
+        const buf = this._buffer.shift(this._header.size);
+        try {
+          this._decodeLongHeader(buf);
+        } catch (err) {
+          this._continueWrite(err);
+          return false;
+        }
+        return true;
+      }
+      _consumeStream() {
+        const buf = this._buffer.shiftFirst(this._missing);
+        if (buf === null) return false;
+        this._missing -= buf.byteLength;
+        const drained = this._stream.push(buf);
+        if (this._missing === 0) {
+          this._stream.push(null);
+          if (drained) this._stream._detach();
+          return drained && this._locked === false;
+        }
+        return drained;
+      }
+      _createStream() {
+        return new Source(this, this._header, this._offset);
+      }
+      _update() {
+        while (this._buffer.buffered > 0 && !this.destroying) {
+          if (this._missing > 0) {
+            if (this._stream !== null) {
+              if (this._consumeStream() === false) return;
+              continue;
+            }
+            if (this._longHeader === true) {
+              if (this._missing > this._buffer.buffered) break;
+              if (this._consumeLongHeader() === false) return false;
+              continue;
             }
+            const ignore = this._buffer.shiftFirst(this._missing);
+            if (ignore !== null) this._missing -= ignore.byteLength;
+            continue;
           }
-          if (instances.length > 0 || other.length > 0) {
-            msg += " or ";
+          if (this._buffer.buffered < 512) break;
+          if (this._stream !== null || this._consumeHeader() === false) return;
+        }
+        this._continueWrite(null);
+      }
+      _continueWrite(err) {
+        const cb = this._callback;
+        this._callback = noop3;
+        cb(err);
+      }
+      _write(data, cb) {
+        this._callback = cb;
+        this._buffer.push(data);
+        this._update();
+      }
+      _final(cb) {
+        this._finished = this._missing === 0 && this._buffer.buffered === 0;
+        cb(this._finished ? null : new Error("Unexpected end of data"));
+      }
+      _predestroy() {
+        this._continueWrite(null);
+      }
+      _destroy(cb) {
+        if (this._stream) this._stream.destroy(getStreamError(this));
+        cb(null);
+      }
+      [Symbol.asyncIterator]() {
+        let error3 = null;
+        let promiseResolve = null;
+        let promiseReject = null;
+        let entryStream = null;
+        let entryCallback = null;
+        const extract2 = this;
+        this.on("entry", onentry);
+        this.on("error", (err) => {
+          error3 = err;
+        });
+        this.on("close", onclose);
+        return {
+          [Symbol.asyncIterator]() {
+            return this;
+          },
+          next() {
+            return new Promise(onnext);
+          },
+          return() {
+            return destroy(null);
+          },
+          throw(err) {
+            return destroy(err);
           }
+        };
+        function consumeCallback(err) {
+          if (!entryCallback) return;
+          const cb = entryCallback;
+          entryCallback = null;
+          cb(err);
         }
-        if (instances.length > 0) {
-          switch (instances.length) {
-            case 1:
-              msg += `an instance of ${instances[0]}`;
-              break;
-            case 2:
-              msg += `an instance of ${instances[0]} or ${instances[1]}`;
-              break;
-            default: {
-              const last = instances.pop();
-              msg += `an instance of ${instances.join(", ")}, or ${last}`;
-            }
+        function onnext(resolve2, reject) {
+          if (error3) {
+            return reject(error3);
           }
-          if (other.length > 0) {
-            msg += " or ";
+          if (entryStream) {
+            resolve2({ value: entryStream, done: false });
+            entryStream = null;
+            return;
           }
-        }
-        switch (other.length) {
-          case 0:
-            break;
-          case 1:
-            if (other[0].toLowerCase() !== other[0]) {
-              msg += "an ";
-            }
-            msg += `${other[0]}`;
-            break;
-          case 2:
-            msg += `one of ${other[0]} or ${other[1]}`;
-            break;
-          default: {
-            const last = other.pop();
-            msg += `one of ${other.join(", ")}, or ${last}`;
+          promiseResolve = resolve2;
+          promiseReject = reject;
+          consumeCallback(null);
+          if (extract2._finished && promiseResolve) {
+            promiseResolve({ value: void 0, done: true });
+            promiseResolve = promiseReject = null;
           }
         }
-        if (actual == null) {
-          msg += `. Received ${actual}`;
-        } else if (typeof actual === "function" && actual.name) {
-          msg += `. Received function ${actual.name}`;
-        } else if (typeof actual === "object") {
-          var _actual$constructor;
-          if ((_actual$constructor = actual.constructor) !== null && _actual$constructor !== void 0 && _actual$constructor.name) {
-            msg += `. Received an instance of ${actual.constructor.name}`;
+        function onentry(header, stream, callback) {
+          entryCallback = callback;
+          stream.on("error", noop3);
+          if (promiseResolve) {
+            promiseResolve({ value: stream, done: false });
+            promiseResolve = promiseReject = null;
           } else {
-            const inspected = inspect(actual, {
-              depth: -1
-            });
-            msg += `. Received ${inspected}`;
-          }
-        } else {
-          let inspected = inspect(actual, {
-            colors: false
-          });
-          if (inspected.length > 25) {
-            inspected = `${inspected.slice(0, 25)}...`;
+            entryStream = stream;
           }
-          msg += `. Received type ${typeof actual} (${inspected})`;
-        }
-        return msg;
-      },
-      TypeError
-    );
-    E(
-      "ERR_INVALID_ARG_VALUE",
-      (name, value, reason = "is invalid") => {
-        let inspected = inspect(value);
-        if (inspected.length > 128) {
-          inspected = inspected.slice(0, 128) + "...";
         }
-        const type2 = name.includes(".") ? "property" : "argument";
-        return `The ${type2} '${name}' ${reason}. Received ${inspected}`;
-      },
-      TypeError
-    );
-    E(
-      "ERR_INVALID_RETURN_VALUE",
-      (input, name, value) => {
-        var _value$constructor;
-        const type2 = value !== null && value !== void 0 && (_value$constructor = value.constructor) !== null && _value$constructor !== void 0 && _value$constructor.name ? `instance of ${value.constructor.name}` : `type ${typeof value}`;
-        return `Expected ${input} to be returned from the "${name}" function but got ${type2}.`;
-      },
-      TypeError
-    );
-    E(
-      "ERR_MISSING_ARGS",
-      (...args) => {
-        assert(args.length > 0, "At least one arg needs to be specified");
-        let msg;
-        const len = args.length;
-        args = (Array.isArray(args) ? args : [args]).map((a) => `"${a}"`).join(" or ");
-        switch (len) {
-          case 1:
-            msg += `The ${args[0]} argument`;
-            break;
-          case 2:
-            msg += `The ${args[0]} and ${args[1]} arguments`;
-            break;
-          default:
-            {
-              const last = args.pop();
-              msg += `The ${args.join(", ")}, and ${last} arguments`;
-            }
-            break;
+        function onclose() {
+          consumeCallback(error3);
+          if (!promiseResolve) return;
+          if (error3) promiseReject(error3);
+          else promiseResolve({ value: void 0, done: true });
+          promiseResolve = promiseReject = null;
         }
-        return `${msg} must be specified`;
-      },
-      TypeError
-    );
-    E(
-      "ERR_OUT_OF_RANGE",
-      (str2, range, input) => {
-        assert(range, 'Missing "range" argument');
-        let received;
-        if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {
-          received = addNumericalSeparator(String(input));
-        } else if (typeof input === "bigint") {
-          received = String(input);
-          if (input > 2n ** 32n || input < -(2n ** 32n)) {
-            received = addNumericalSeparator(received);
-          }
-          received += "n";
-        } else {
-          received = inspect(input);
+        function destroy(err) {
+          extract2.destroy(err);
+          consumeCallback(err);
+          return new Promise((resolve2, reject) => {
+            if (extract2.destroyed) return resolve2({ value: void 0, done: true });
+            extract2.once("close", function() {
+              if (err) reject(err);
+              else resolve2({ value: void 0, done: true });
+            });
+          });
         }
-        return `The value of "${str2}" is out of range. It must be ${range}. Received ${received}`;
-      },
-      RangeError
-    );
-    E("ERR_MULTIPLE_CALLBACK", "Callback called multiple times", Error);
-    E("ERR_METHOD_NOT_IMPLEMENTED", "The %s method is not implemented", Error);
-    E("ERR_STREAM_ALREADY_FINISHED", "Cannot call %s after a stream was finished", Error);
-    E("ERR_STREAM_CANNOT_PIPE", "Cannot pipe, not readable", Error);
-    E("ERR_STREAM_DESTROYED", "Cannot call %s after a stream was destroyed", Error);
-    E("ERR_STREAM_NULL_VALUES", "May not write null values to stream", TypeError);
-    E("ERR_STREAM_PREMATURE_CLOSE", "Premature close", Error);
-    E("ERR_STREAM_PUSH_AFTER_EOF", "stream.push() after EOF", Error);
-    E("ERR_STREAM_UNSHIFT_AFTER_END_EVENT", "stream.unshift() after end event", Error);
-    E("ERR_STREAM_WRITE_AFTER_END", "write after end", Error);
-    E("ERR_UNKNOWN_ENCODING", "Unknown encoding: %s", TypeError);
-    module2.exports = {
-      AbortError,
-      aggregateTwoErrors: hideStackFrames(aggregateTwoErrors),
-      hideStackFrames,
-      codes
+      }
+    };
+    module2.exports = function extract2(opts) {
+      return new Extract(opts);
     };
+    function noop3() {
+    }
+    function overflow(size) {
+      size &= 511;
+      return size && 512 - size;
+    }
   }
 });
 
-// node_modules/readable-stream/lib/internal/validators.js
-var require_validators = __commonJS({
-  "node_modules/readable-stream/lib/internal/validators.js"(exports2, module2) {
-    "use strict";
-    var {
-      ArrayIsArray,
-      ArrayPrototypeIncludes,
-      ArrayPrototypeJoin,
-      ArrayPrototypeMap,
-      NumberIsInteger,
-      NumberIsNaN,
-      NumberMAX_SAFE_INTEGER,
-      NumberMIN_SAFE_INTEGER,
-      NumberParseInt,
-      ObjectPrototypeHasOwnProperty,
-      RegExpPrototypeExec,
-      String: String2,
-      StringPrototypeToUpperCase,
-      StringPrototypeTrim
-    } = require_primordials();
-    var {
-      hideStackFrames,
-      codes: { ERR_SOCKET_BAD_PORT, ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_ARG_VALUE, ERR_OUT_OF_RANGE, ERR_UNKNOWN_SIGNAL }
-    } = require_errors4();
-    var { normalizeEncoding } = require_util19();
-    var { isAsyncFunction, isArrayBufferView } = require_util19().types;
-    var signals = {};
-    function isInt32(value) {
-      return value === (value | 0);
-    }
-    function isUint32(value) {
-      return value === value >>> 0;
+// node_modules/tar-stream/constants.js
+var require_constants18 = __commonJS({
+  "node_modules/tar-stream/constants.js"(exports2, module2) {
+    var constants = {
+      // just for envs without fs
+      S_IFMT: 61440,
+      S_IFDIR: 16384,
+      S_IFCHR: 8192,
+      S_IFBLK: 24576,
+      S_IFIFO: 4096,
+      S_IFLNK: 40960
+    };
+    try {
+      module2.exports = require("fs").constants || constants;
+    } catch {
+      module2.exports = constants;
     }
-    var octalReg = /^[0-7]+$/;
-    var modeDesc = "must be a 32-bit unsigned integer or an octal string";
-    function parseFileMode(value, name, def) {
-      if (typeof value === "undefined") {
-        value = def;
+  }
+});
+
+// node_modules/tar-stream/pack.js
+var require_pack = __commonJS({
+  "node_modules/tar-stream/pack.js"(exports2, module2) {
+    var { Readable, Writable, getStreamError } = require_streamx();
+    var b4a = require_b4a();
+    var constants = require_constants18();
+    var headers = require_headers3();
+    var DMODE = 493;
+    var FMODE = 420;
+    var END_OF_TAR = b4a.alloc(1024);
+    var Sink = class extends Writable {
+      constructor(pack, header, callback) {
+        super({ mapWritable, eagerOpen: true });
+        this.written = 0;
+        this.header = header;
+        this._callback = callback;
+        this._linkname = null;
+        this._isLinkname = header.type === "symlink" && !header.linkname;
+        this._isVoid = header.type !== "file" && header.type !== "contiguous-file";
+        this._finished = false;
+        this._pack = pack;
+        this._openCallback = null;
+        if (this._pack._stream === null) this._pack._stream = this;
+        else this._pack._pending.push(this);
       }
-      if (typeof value === "string") {
-        if (RegExpPrototypeExec(octalReg, value) === null) {
-          throw new ERR_INVALID_ARG_VALUE(name, value, modeDesc);
-        }
-        value = NumberParseInt(value, 8);
+      _open(cb) {
+        this._openCallback = cb;
+        if (this._pack._stream === this) this._continueOpen();
       }
-      validateUint32(value, name);
-      return value;
-    }
-    var validateInteger = hideStackFrames((value, name, min = NumberMIN_SAFE_INTEGER, max = NumberMAX_SAFE_INTEGER) => {
-      if (typeof value !== "number") throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
-      if (!NumberIsInteger(value)) throw new ERR_OUT_OF_RANGE(name, "an integer", value);
-      if (value < min || value > max) throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
-    });
-    var validateInt32 = hideStackFrames((value, name, min = -2147483648, max = 2147483647) => {
-      if (typeof value !== "number") {
-        throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
+      _continuePack(err) {
+        if (this._callback === null) return;
+        const callback = this._callback;
+        this._callback = null;
+        callback(err);
       }
-      if (!NumberIsInteger(value)) {
-        throw new ERR_OUT_OF_RANGE(name, "an integer", value);
+      _continueOpen() {
+        if (this._pack._stream === null) this._pack._stream = this;
+        const cb = this._openCallback;
+        this._openCallback = null;
+        if (cb === null) return;
+        if (this._pack.destroying) return cb(new Error("pack stream destroyed"));
+        if (this._pack._finalized) return cb(new Error("pack stream is already finalized"));
+        this._pack._stream = this;
+        if (!this._isLinkname) {
+          this._pack._encode(this.header);
+        }
+        if (this._isVoid) {
+          this._finish();
+          this._continuePack(null);
+        }
+        cb(null);
       }
-      if (value < min || value > max) {
-        throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
+      _write(data, cb) {
+        if (this._isLinkname) {
+          this._linkname = this._linkname ? b4a.concat([this._linkname, data]) : data;
+          return cb(null);
+        }
+        if (this._isVoid) {
+          if (data.byteLength > 0) {
+            return cb(new Error("No body allowed for this entry"));
+          }
+          return cb();
+        }
+        this.written += data.byteLength;
+        if (this._pack.push(data)) return cb();
+        this._pack._drain = cb;
       }
-    });
-    var validateUint32 = hideStackFrames((value, name, positive = false) => {
-      if (typeof value !== "number") {
-        throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
+      _finish() {
+        if (this._finished) return;
+        this._finished = true;
+        if (this._isLinkname) {
+          this.header.linkname = this._linkname ? b4a.toString(this._linkname, "utf-8") : "";
+          this._pack._encode(this.header);
+        }
+        overflow(this._pack, this.header.size);
+        this._pack._done(this);
       }
-      if (!NumberIsInteger(value)) {
-        throw new ERR_OUT_OF_RANGE(name, "an integer", value);
+      _final(cb) {
+        if (this.written !== this.header.size) {
+          return cb(new Error("Size mismatch"));
+        }
+        this._finish();
+        cb(null);
       }
-      const min = positive ? 1 : 0;
-      const max = 4294967295;
-      if (value < min || value > max) {
-        throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
+      _getError() {
+        return getStreamError(this) || new Error("tar entry destroyed");
       }
-    });
-    function validateString(value, name) {
-      if (typeof value !== "string") throw new ERR_INVALID_ARG_TYPE2(name, "string", value);
-    }
-    function validateNumber(value, name, min = void 0, max) {
-      if (typeof value !== "number") throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
-      if (min != null && value < min || max != null && value > max || (min != null || max != null) && NumberIsNaN(value)) {
-        throw new ERR_OUT_OF_RANGE(
-          name,
-          `${min != null ? `>= ${min}` : ""}${min != null && max != null ? " && " : ""}${max != null ? `<= ${max}` : ""}`,
-          value
-        );
+      _predestroy() {
+        this._pack.destroy(this._getError());
       }
-    }
-    var validateOneOf = hideStackFrames((value, name, oneOf) => {
-      if (!ArrayPrototypeIncludes(oneOf, value)) {
-        const allowed = ArrayPrototypeJoin(
-          ArrayPrototypeMap(oneOf, (v) => typeof v === "string" ? `'${v}'` : String2(v)),
-          ", "
-        );
-        const reason = "must be one of: " + allowed;
-        throw new ERR_INVALID_ARG_VALUE(name, value, reason);
+      _destroy(cb) {
+        this._pack._done(this);
+        this._continuePack(this._finished ? null : this._getError());
+        cb();
       }
-    });
-    function validateBoolean(value, name) {
-      if (typeof value !== "boolean") throw new ERR_INVALID_ARG_TYPE2(name, "boolean", value);
-    }
-    function getOwnPropertyValueOrDefault(options, key, defaultValue) {
-      return options == null || !ObjectPrototypeHasOwnProperty(options, key) ? defaultValue : options[key];
-    }
-    var validateObject = hideStackFrames((value, name, options = null) => {
-      const allowArray = getOwnPropertyValueOrDefault(options, "allowArray", false);
-      const allowFunction = getOwnPropertyValueOrDefault(options, "allowFunction", false);
-      const nullable = getOwnPropertyValueOrDefault(options, "nullable", false);
-      if (!nullable && value === null || !allowArray && ArrayIsArray(value) || typeof value !== "object" && (!allowFunction || typeof value !== "function")) {
-        throw new ERR_INVALID_ARG_TYPE2(name, "Object", value);
+    };
+    var Pack = class extends Readable {
+      constructor(opts) {
+        super(opts);
+        this._drain = noop3;
+        this._finalized = false;
+        this._finalizing = false;
+        this._pending = [];
+        this._stream = null;
       }
-    });
-    var validateDictionary = hideStackFrames((value, name) => {
-      if (value != null && typeof value !== "object" && typeof value !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2(name, "a dictionary", value);
+      entry(header, buffer, callback) {
+        if (this._finalized || this.destroying) throw new Error("already finalized or destroyed");
+        if (typeof buffer === "function") {
+          callback = buffer;
+          buffer = null;
+        }
+        if (!callback) callback = noop3;
+        if (!header.size || header.type === "symlink") header.size = 0;
+        if (!header.type) header.type = modeToType(header.mode);
+        if (!header.mode) header.mode = header.type === "directory" ? DMODE : FMODE;
+        if (!header.uid) header.uid = 0;
+        if (!header.gid) header.gid = 0;
+        if (!header.mtime) header.mtime = /* @__PURE__ */ new Date();
+        if (typeof buffer === "string") buffer = b4a.from(buffer);
+        const sink = new Sink(this, header, callback);
+        if (b4a.isBuffer(buffer)) {
+          header.size = buffer.byteLength;
+          sink.write(buffer);
+          sink.end();
+          return sink;
+        }
+        if (sink._isVoid) {
+          return sink;
+        }
+        return sink;
       }
-    });
-    var validateArray = hideStackFrames((value, name, minLength = 0) => {
-      if (!ArrayIsArray(value)) {
-        throw new ERR_INVALID_ARG_TYPE2(name, "Array", value);
+      finalize() {
+        if (this._stream || this._pending.length > 0) {
+          this._finalizing = true;
+          return;
+        }
+        if (this._finalized) return;
+        this._finalized = true;
+        this.push(END_OF_TAR);
+        this.push(null);
       }
-      if (value.length < minLength) {
-        const reason = `must be longer than ${minLength}`;
-        throw new ERR_INVALID_ARG_VALUE(name, value, reason);
+      _done(stream) {
+        if (stream !== this._stream) return;
+        this._stream = null;
+        if (this._finalizing) this.finalize();
+        if (this._pending.length) this._pending.shift()._continueOpen();
       }
-    });
-    function validateStringArray(value, name) {
-      validateArray(value, name);
-      for (let i = 0; i < value.length; i++) {
-        validateString(value[i], `${name}[${i}]`);
+      _encode(header) {
+        if (!header.pax) {
+          const buf = headers.encode(header);
+          if (buf) {
+            this.push(buf);
+            return;
+          }
+        }
+        this._encodePax(header);
       }
-    }
-    function validateBooleanArray(value, name) {
-      validateArray(value, name);
-      for (let i = 0; i < value.length; i++) {
-        validateBoolean(value[i], `${name}[${i}]`);
+      _encodePax(header) {
+        const paxHeader = headers.encodePax({
+          name: header.name,
+          linkname: header.linkname,
+          pax: header.pax
+        });
+        const newHeader = {
+          name: "PaxHeader",
+          mode: header.mode,
+          uid: header.uid,
+          gid: header.gid,
+          size: paxHeader.byteLength,
+          mtime: header.mtime,
+          type: "pax-header",
+          linkname: header.linkname && "PaxHeader",
+          uname: header.uname,
+          gname: header.gname,
+          devmajor: header.devmajor,
+          devminor: header.devminor
+        };
+        this.push(headers.encode(newHeader));
+        this.push(paxHeader);
+        overflow(this, paxHeader.byteLength);
+        newHeader.size = header.size;
+        newHeader.type = header.type;
+        this.push(headers.encode(newHeader));
       }
-    }
-    function validateAbortSignalArray(value, name) {
-      validateArray(value, name);
-      for (let i = 0; i < value.length; i++) {
-        const signal = value[i];
-        const indexedName = `${name}[${i}]`;
-        if (signal == null) {
-          throw new ERR_INVALID_ARG_TYPE2(indexedName, "AbortSignal", signal);
-        }
-        validateAbortSignal(signal, indexedName);
+      _doDrain() {
+        const drain = this._drain;
+        this._drain = noop3;
+        drain();
       }
-    }
-    function validateSignalName(signal, name = "signal") {
-      validateString(signal, name);
-      if (signals[signal] === void 0) {
-        if (signals[StringPrototypeToUpperCase(signal)] !== void 0) {
-          throw new ERR_UNKNOWN_SIGNAL(signal + " (signals must use all capital letters)");
+      _predestroy() {
+        const err = getStreamError(this);
+        if (this._stream) this._stream.destroy(err);
+        while (this._pending.length) {
+          const stream = this._pending.shift();
+          stream.destroy(err);
+          stream._continueOpen();
         }
-        throw new ERR_UNKNOWN_SIGNAL(signal);
+        this._doDrain();
       }
-    }
-    var validateBuffer = hideStackFrames((buffer, name = "buffer") => {
-      if (!isArrayBufferView(buffer)) {
-        throw new ERR_INVALID_ARG_TYPE2(name, ["Buffer", "TypedArray", "DataView"], buffer);
+      _read(cb) {
+        this._doDrain();
+        cb();
       }
-    });
-    function validateEncoding(data, encoding) {
-      const normalizedEncoding = normalizeEncoding(encoding);
-      const length = data.length;
-      if (normalizedEncoding === "hex" && length % 2 !== 0) {
-        throw new ERR_INVALID_ARG_VALUE("encoding", encoding, `is invalid for data of length ${length}`);
+    };
+    module2.exports = function pack(opts) {
+      return new Pack(opts);
+    };
+    function modeToType(mode) {
+      switch (mode & constants.S_IFMT) {
+        case constants.S_IFBLK:
+          return "block-device";
+        case constants.S_IFCHR:
+          return "character-device";
+        case constants.S_IFDIR:
+          return "directory";
+        case constants.S_IFIFO:
+          return "fifo";
+        case constants.S_IFLNK:
+          return "symlink";
       }
+      return "file";
+    }
+    function noop3() {
+    }
+    function overflow(self2, size) {
+      size &= 511;
+      if (size) self2.push(END_OF_TAR.subarray(0, 512 - size));
     }
-    function validatePort(port, name = "Port", allowZero = true) {
-      if (typeof port !== "number" && typeof port !== "string" || typeof port === "string" && StringPrototypeTrim(port).length === 0 || +port !== +port >>> 0 || port > 65535 || port === 0 && !allowZero) {
-        throw new ERR_SOCKET_BAD_PORT(name, port, allowZero);
-      }
-      return port | 0;
+    function mapWritable(buf) {
+      return b4a.isBuffer(buf) ? buf : b4a.from(buf);
     }
-    var validateAbortSignal = hideStackFrames((signal, name) => {
-      if (signal !== void 0 && (signal === null || typeof signal !== "object" || !("aborted" in signal))) {
-        throw new ERR_INVALID_ARG_TYPE2(name, "AbortSignal", signal);
+  }
+});
+
+// node_modules/tar-stream/index.js
+var require_tar_stream = __commonJS({
+  "node_modules/tar-stream/index.js"(exports2) {
+    exports2.extract = require_extract();
+    exports2.pack = require_pack();
+  }
+});
+
+// node_modules/archiver/lib/plugins/tar.js
+var require_tar = __commonJS({
+  "node_modules/archiver/lib/plugins/tar.js"(exports2, module2) {
+    var zlib = require("zlib");
+    var engine = require_tar_stream();
+    var util = require_archiver_utils();
+    var Tar = function(options) {
+      if (!(this instanceof Tar)) {
+        return new Tar(options);
       }
-    });
-    var validateFunction = hideStackFrames((value, name) => {
-      if (typeof value !== "function") throw new ERR_INVALID_ARG_TYPE2(name, "Function", value);
-    });
-    var validatePlainFunction = hideStackFrames((value, name) => {
-      if (typeof value !== "function" || isAsyncFunction(value)) throw new ERR_INVALID_ARG_TYPE2(name, "Function", value);
-    });
-    var validateUndefined = hideStackFrames((value, name) => {
-      if (value !== void 0) throw new ERR_INVALID_ARG_TYPE2(name, "undefined", value);
-    });
-    function validateUnion(value, name, union) {
-      if (!ArrayPrototypeIncludes(union, value)) {
-        throw new ERR_INVALID_ARG_TYPE2(name, `('${ArrayPrototypeJoin(union, "|")}')`, value);
+      options = this.options = util.defaults(options, {
+        gzip: false
+      });
+      if (typeof options.gzipOptions !== "object") {
+        options.gzipOptions = {};
       }
-    }
-    var linkValueRegExp = /^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/;
-    function validateLinkHeaderFormat(value, name) {
-      if (typeof value === "undefined" || !RegExpPrototypeExec(linkValueRegExp, value)) {
-        throw new ERR_INVALID_ARG_VALUE(
-          name,
-          value,
-          'must be an array or string of format "; rel=preload; as=style"'
-        );
+      this.supports = {
+        directory: true,
+        symlink: true
+      };
+      this.engine = engine.pack(options);
+      this.compressor = false;
+      if (options.gzip) {
+        this.compressor = zlib.createGzip(options.gzipOptions);
+        this.compressor.on("error", this._onCompressorError.bind(this));
       }
-    }
-    function validateLinkHeaderValue(hints) {
-      if (typeof hints === "string") {
-        validateLinkHeaderFormat(hints, "hints");
-        return hints;
-      } else if (ArrayIsArray(hints)) {
-        const hintsLength = hints.length;
-        let result = "";
-        if (hintsLength === 0) {
-          return result;
-        }
-        for (let i = 0; i < hintsLength; i++) {
-          const link = hints[i];
-          validateLinkHeaderFormat(link, "hints");
-          result += link;
-          if (i !== hintsLength - 1) {
-            result += ", ";
-          }
+    };
+    Tar.prototype._onCompressorError = function(err) {
+      this.engine.emit("error", err);
+    };
+    Tar.prototype.append = function(source, data, callback) {
+      var self2 = this;
+      data.mtime = data.date;
+      function append(err, sourceBuffer) {
+        if (err) {
+          callback(err);
+          return;
         }
-        return result;
+        self2.engine.entry(data, sourceBuffer, function(err2) {
+          callback(err2, data);
+        });
+      }
+      if (data.sourceType === "buffer") {
+        append(null, source);
+      } else if (data.sourceType === "stream" && data.stats) {
+        data.size = data.stats.size;
+        var entry = self2.engine.entry(data, function(err) {
+          callback(err, data);
+        });
+        source.pipe(entry);
+      } else if (data.sourceType === "stream") {
+        util.collectStream(source, append);
       }
-      throw new ERR_INVALID_ARG_VALUE(
-        "hints",
-        hints,
-        'must be an array or string of format "; rel=preload; as=style"'
-      );
-    }
-    module2.exports = {
-      isInt32,
-      isUint32,
-      parseFileMode,
-      validateArray,
-      validateStringArray,
-      validateBooleanArray,
-      validateAbortSignalArray,
-      validateBoolean,
-      validateBuffer,
-      validateDictionary,
-      validateEncoding,
-      validateFunction,
-      validateInt32,
-      validateInteger,
-      validateNumber,
-      validateObject,
-      validateOneOf,
-      validatePlainFunction,
-      validatePort,
-      validateSignalName,
-      validateString,
-      validateUint32,
-      validateUndefined,
-      validateUnion,
-      validateAbortSignal,
-      validateLinkHeaderValue
     };
+    Tar.prototype.finalize = function() {
+      this.engine.finalize();
+    };
+    Tar.prototype.on = function() {
+      return this.engine.on.apply(this.engine, arguments);
+    };
+    Tar.prototype.pipe = function(destination, options) {
+      if (this.compressor) {
+        return this.engine.pipe.apply(this.engine, [this.compressor]).pipe(destination, options);
+      } else {
+        return this.engine.pipe.apply(this.engine, arguments);
+      }
+    };
+    Tar.prototype.unpipe = function() {
+      if (this.compressor) {
+        return this.compressor.unpipe.apply(this.compressor, arguments);
+      } else {
+        return this.engine.unpipe.apply(this.engine, arguments);
+      }
+    };
+    module2.exports = Tar;
   }
 });
 
-// node_modules/process/index.js
-var require_process = __commonJS({
-  "node_modules/process/index.js"(exports2, module2) {
-    module2.exports = global.process;
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/utils.js
-var require_utils8 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/utils.js"(exports2, module2) {
+// node_modules/buffer-crc32/dist/index.cjs
+var require_dist4 = __commonJS({
+  "node_modules/buffer-crc32/dist/index.cjs"(exports2, module2) {
     "use strict";
-    var { SymbolAsyncIterator, SymbolIterator, SymbolFor } = require_primordials();
-    var kIsDestroyed = SymbolFor("nodejs.stream.destroyed");
-    var kIsErrored = SymbolFor("nodejs.stream.errored");
-    var kIsReadable = SymbolFor("nodejs.stream.readable");
-    var kIsWritable = SymbolFor("nodejs.stream.writable");
-    var kIsDisturbed = SymbolFor("nodejs.stream.disturbed");
-    var kIsClosedPromise = SymbolFor("nodejs.webstream.isClosedPromise");
-    var kControllerErrorFunction = SymbolFor("nodejs.webstream.controllerErrorFunction");
-    function isReadableNodeStream(obj, strict = false) {
-      var _obj$_readableState;
-      return !!(obj && typeof obj.pipe === "function" && typeof obj.on === "function" && (!strict || typeof obj.pause === "function" && typeof obj.resume === "function") && (!obj._writableState || ((_obj$_readableState = obj._readableState) === null || _obj$_readableState === void 0 ? void 0 : _obj$_readableState.readable) !== false) && // Duplex
-      (!obj._writableState || obj._readableState));
-    }
-    function isWritableNodeStream(obj) {
-      var _obj$_writableState;
-      return !!(obj && typeof obj.write === "function" && typeof obj.on === "function" && (!obj._readableState || ((_obj$_writableState = obj._writableState) === null || _obj$_writableState === void 0 ? void 0 : _obj$_writableState.writable) !== false));
-    }
-    function isDuplexNodeStream(obj) {
-      return !!(obj && typeof obj.pipe === "function" && obj._readableState && typeof obj.on === "function" && typeof obj.write === "function");
-    }
-    function isNodeStream(obj) {
-      return obj && (obj._readableState || obj._writableState || typeof obj.write === "function" && typeof obj.on === "function" || typeof obj.pipe === "function" && typeof obj.on === "function");
-    }
-    function isReadableStream(obj) {
-      return !!(obj && !isNodeStream(obj) && typeof obj.pipeThrough === "function" && typeof obj.getReader === "function" && typeof obj.cancel === "function");
-    }
-    function isWritableStream(obj) {
-      return !!(obj && !isNodeStream(obj) && typeof obj.getWriter === "function" && typeof obj.abort === "function");
-    }
-    function isTransformStream(obj) {
-      return !!(obj && !isNodeStream(obj) && typeof obj.readable === "object" && typeof obj.writable === "object");
-    }
-    function isWebStream(obj) {
-      return isReadableStream(obj) || isWritableStream(obj) || isTransformStream(obj);
-    }
-    function isIterable(obj, isAsync) {
-      if (obj == null) return false;
-      if (isAsync === true) return typeof obj[SymbolAsyncIterator] === "function";
-      if (isAsync === false) return typeof obj[SymbolIterator] === "function";
-      return typeof obj[SymbolAsyncIterator] === "function" || typeof obj[SymbolIterator] === "function";
-    }
-    function isDestroyed(stream) {
-      if (!isNodeStream(stream)) return null;
-      const wState = stream._writableState;
-      const rState = stream._readableState;
-      const state = wState || rState;
-      return !!(stream.destroyed || stream[kIsDestroyed] || state !== null && state !== void 0 && state.destroyed);
-    }
-    function isWritableEnded(stream) {
-      if (!isWritableNodeStream(stream)) return null;
-      if (stream.writableEnded === true) return true;
-      const wState = stream._writableState;
-      if (wState !== null && wState !== void 0 && wState.errored) return false;
-      if (typeof (wState === null || wState === void 0 ? void 0 : wState.ended) !== "boolean") return null;
-      return wState.ended;
-    }
-    function isWritableFinished(stream, strict) {
-      if (!isWritableNodeStream(stream)) return null;
-      if (stream.writableFinished === true) return true;
-      const wState = stream._writableState;
-      if (wState !== null && wState !== void 0 && wState.errored) return false;
-      if (typeof (wState === null || wState === void 0 ? void 0 : wState.finished) !== "boolean") return null;
-      return !!(wState.finished || strict === false && wState.ended === true && wState.length === 0);
-    }
-    function isReadableEnded(stream) {
-      if (!isReadableNodeStream(stream)) return null;
-      if (stream.readableEnded === true) return true;
-      const rState = stream._readableState;
-      if (!rState || rState.errored) return false;
-      if (typeof (rState === null || rState === void 0 ? void 0 : rState.ended) !== "boolean") return null;
-      return rState.ended;
-    }
-    function isReadableFinished(stream, strict) {
-      if (!isReadableNodeStream(stream)) return null;
-      const rState = stream._readableState;
-      if (rState !== null && rState !== void 0 && rState.errored) return false;
-      if (typeof (rState === null || rState === void 0 ? void 0 : rState.endEmitted) !== "boolean") return null;
-      return !!(rState.endEmitted || strict === false && rState.ended === true && rState.length === 0);
-    }
-    function isReadable(stream) {
-      if (stream && stream[kIsReadable] != null) return stream[kIsReadable];
-      if (typeof (stream === null || stream === void 0 ? void 0 : stream.readable) !== "boolean") return null;
-      if (isDestroyed(stream)) return false;
-      return isReadableNodeStream(stream) && stream.readable && !isReadableFinished(stream);
-    }
-    function isWritable(stream) {
-      if (stream && stream[kIsWritable] != null) return stream[kIsWritable];
-      if (typeof (stream === null || stream === void 0 ? void 0 : stream.writable) !== "boolean") return null;
-      if (isDestroyed(stream)) return false;
-      return isWritableNodeStream(stream) && stream.writable && !isWritableEnded(stream);
+    function getDefaultExportFromCjs(x) {
+      return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
     }
-    function isFinished(stream, opts) {
-      if (!isNodeStream(stream)) {
-        return null;
-      }
-      if (isDestroyed(stream)) {
-        return true;
-      }
-      if ((opts === null || opts === void 0 ? void 0 : opts.readable) !== false && isReadable(stream)) {
-        return false;
+    var CRC_TABLE = new Int32Array([
+      0,
+      1996959894,
+      3993919788,
+      2567524794,
+      124634137,
+      1886057615,
+      3915621685,
+      2657392035,
+      249268274,
+      2044508324,
+      3772115230,
+      2547177864,
+      162941995,
+      2125561021,
+      3887607047,
+      2428444049,
+      498536548,
+      1789927666,
+      4089016648,
+      2227061214,
+      450548861,
+      1843258603,
+      4107580753,
+      2211677639,
+      325883990,
+      1684777152,
+      4251122042,
+      2321926636,
+      335633487,
+      1661365465,
+      4195302755,
+      2366115317,
+      997073096,
+      1281953886,
+      3579855332,
+      2724688242,
+      1006888145,
+      1258607687,
+      3524101629,
+      2768942443,
+      901097722,
+      1119000684,
+      3686517206,
+      2898065728,
+      853044451,
+      1172266101,
+      3705015759,
+      2882616665,
+      651767980,
+      1373503546,
+      3369554304,
+      3218104598,
+      565507253,
+      1454621731,
+      3485111705,
+      3099436303,
+      671266974,
+      1594198024,
+      3322730930,
+      2970347812,
+      795835527,
+      1483230225,
+      3244367275,
+      3060149565,
+      1994146192,
+      31158534,
+      2563907772,
+      4023717930,
+      1907459465,
+      112637215,
+      2680153253,
+      3904427059,
+      2013776290,
+      251722036,
+      2517215374,
+      3775830040,
+      2137656763,
+      141376813,
+      2439277719,
+      3865271297,
+      1802195444,
+      476864866,
+      2238001368,
+      4066508878,
+      1812370925,
+      453092731,
+      2181625025,
+      4111451223,
+      1706088902,
+      314042704,
+      2344532202,
+      4240017532,
+      1658658271,
+      366619977,
+      2362670323,
+      4224994405,
+      1303535960,
+      984961486,
+      2747007092,
+      3569037538,
+      1256170817,
+      1037604311,
+      2765210733,
+      3554079995,
+      1131014506,
+      879679996,
+      2909243462,
+      3663771856,
+      1141124467,
+      855842277,
+      2852801631,
+      3708648649,
+      1342533948,
+      654459306,
+      3188396048,
+      3373015174,
+      1466479909,
+      544179635,
+      3110523913,
+      3462522015,
+      1591671054,
+      702138776,
+      2966460450,
+      3352799412,
+      1504918807,
+      783551873,
+      3082640443,
+      3233442989,
+      3988292384,
+      2596254646,
+      62317068,
+      1957810842,
+      3939845945,
+      2647816111,
+      81470997,
+      1943803523,
+      3814918930,
+      2489596804,
+      225274430,
+      2053790376,
+      3826175755,
+      2466906013,
+      167816743,
+      2097651377,
+      4027552580,
+      2265490386,
+      503444072,
+      1762050814,
+      4150417245,
+      2154129355,
+      426522225,
+      1852507879,
+      4275313526,
+      2312317920,
+      282753626,
+      1742555852,
+      4189708143,
+      2394877945,
+      397917763,
+      1622183637,
+      3604390888,
+      2714866558,
+      953729732,
+      1340076626,
+      3518719985,
+      2797360999,
+      1068828381,
+      1219638859,
+      3624741850,
+      2936675148,
+      906185462,
+      1090812512,
+      3747672003,
+      2825379669,
+      829329135,
+      1181335161,
+      3412177804,
+      3160834842,
+      628085408,
+      1382605366,
+      3423369109,
+      3138078467,
+      570562233,
+      1426400815,
+      3317316542,
+      2998733608,
+      733239954,
+      1555261956,
+      3268935591,
+      3050360625,
+      752459403,
+      1541320221,
+      2607071920,
+      3965973030,
+      1969922972,
+      40735498,
+      2617837225,
+      3943577151,
+      1913087877,
+      83908371,
+      2512341634,
+      3803740692,
+      2075208622,
+      213261112,
+      2463272603,
+      3855990285,
+      2094854071,
+      198958881,
+      2262029012,
+      4057260610,
+      1759359992,
+      534414190,
+      2176718541,
+      4139329115,
+      1873836001,
+      414664567,
+      2282248934,
+      4279200368,
+      1711684554,
+      285281116,
+      2405801727,
+      4167216745,
+      1634467795,
+      376229701,
+      2685067896,
+      3608007406,
+      1308918612,
+      956543938,
+      2808555105,
+      3495958263,
+      1231636301,
+      1047427035,
+      2932959818,
+      3654703836,
+      1088359270,
+      936918e3,
+      2847714899,
+      3736837829,
+      1202900863,
+      817233897,
+      3183342108,
+      3401237130,
+      1404277552,
+      615818150,
+      3134207493,
+      3453421203,
+      1423857449,
+      601450431,
+      3009837614,
+      3294710456,
+      1567103746,
+      711928724,
+      3020668471,
+      3272380065,
+      1510334235,
+      755167117
+    ]);
+    function ensureBuffer(input) {
+      if (Buffer.isBuffer(input)) {
+        return input;
       }
-      if ((opts === null || opts === void 0 ? void 0 : opts.writable) !== false && isWritable(stream)) {
-        return false;
+      if (typeof input === "number") {
+        return Buffer.alloc(input);
+      } else if (typeof input === "string") {
+        return Buffer.from(input);
+      } else {
+        throw new Error("input must be buffer, number, or string, received " + typeof input);
       }
-      return true;
     }
-    function isWritableErrored(stream) {
-      var _stream$_writableStat, _stream$_writableStat2;
-      if (!isNodeStream(stream)) {
-        return null;
-      }
-      if (stream.writableErrored) {
-        return stream.writableErrored;
-      }
-      return (_stream$_writableStat = (_stream$_writableStat2 = stream._writableState) === null || _stream$_writableStat2 === void 0 ? void 0 : _stream$_writableStat2.errored) !== null && _stream$_writableStat !== void 0 ? _stream$_writableStat : null;
+    function bufferizeInt(num) {
+      const tmp = ensureBuffer(4);
+      tmp.writeInt32BE(num, 0);
+      return tmp;
     }
-    function isReadableErrored(stream) {
-      var _stream$_readableStat, _stream$_readableStat2;
-      if (!isNodeStream(stream)) {
-        return null;
+    function _crc32(buf, previous) {
+      buf = ensureBuffer(buf);
+      if (Buffer.isBuffer(previous)) {
+        previous = previous.readUInt32BE(0);
       }
-      if (stream.readableErrored) {
-        return stream.readableErrored;
+      let crc = ~~previous ^ -1;
+      for (var n = 0; n < buf.length; n++) {
+        crc = CRC_TABLE[(crc ^ buf[n]) & 255] ^ crc >>> 8;
       }
-      return (_stream$_readableStat = (_stream$_readableStat2 = stream._readableState) === null || _stream$_readableStat2 === void 0 ? void 0 : _stream$_readableStat2.errored) !== null && _stream$_readableStat !== void 0 ? _stream$_readableStat : null;
+      return crc ^ -1;
     }
-    function isClosed(stream) {
-      if (!isNodeStream(stream)) {
-        return null;
-      }
-      if (typeof stream.closed === "boolean") {
-        return stream.closed;
+    function crc32() {
+      return bufferizeInt(_crc32.apply(null, arguments));
+    }
+    crc32.signed = function() {
+      return _crc32.apply(null, arguments);
+    };
+    crc32.unsigned = function() {
+      return _crc32.apply(null, arguments) >>> 0;
+    };
+    var bufferCrc32 = crc32;
+    var index = /* @__PURE__ */ getDefaultExportFromCjs(bufferCrc32);
+    module2.exports = index;
+  }
+});
+
+// node_modules/archiver/lib/plugins/json.js
+var require_json = __commonJS({
+  "node_modules/archiver/lib/plugins/json.js"(exports2, module2) {
+    var inherits = require("util").inherits;
+    var Transform = require_ours().Transform;
+    var crc32 = require_dist4();
+    var util = require_archiver_utils();
+    var Json = function(options) {
+      if (!(this instanceof Json)) {
+        return new Json(options);
       }
-      const wState = stream._writableState;
-      const rState = stream._readableState;
-      if (typeof (wState === null || wState === void 0 ? void 0 : wState.closed) === "boolean" || typeof (rState === null || rState === void 0 ? void 0 : rState.closed) === "boolean") {
-        return (wState === null || wState === void 0 ? void 0 : wState.closed) || (rState === null || rState === void 0 ? void 0 : rState.closed);
+      options = this.options = util.defaults(options, {});
+      Transform.call(this, options);
+      this.supports = {
+        directory: true,
+        symlink: true
+      };
+      this.files = [];
+    };
+    inherits(Json, Transform);
+    Json.prototype._transform = function(chunk, encoding, callback) {
+      callback(null, chunk);
+    };
+    Json.prototype._writeStringified = function() {
+      var fileString = JSON.stringify(this.files);
+      this.write(fileString);
+    };
+    Json.prototype.append = function(source, data, callback) {
+      var self2 = this;
+      data.crc32 = 0;
+      function onend(err, sourceBuffer) {
+        if (err) {
+          callback(err);
+          return;
+        }
+        data.size = sourceBuffer.length || 0;
+        data.crc32 = crc32.unsigned(sourceBuffer);
+        self2.files.push(data);
+        callback(null, data);
       }
-      if (typeof stream._closed === "boolean" && isOutgoingMessage(stream)) {
-        return stream._closed;
+      if (data.sourceType === "buffer") {
+        onend(null, source);
+      } else if (data.sourceType === "stream") {
+        util.collectStream(source, onend);
       }
-      return null;
-    }
-    function isOutgoingMessage(stream) {
-      return typeof stream._closed === "boolean" && typeof stream._defaultKeepAlive === "boolean" && typeof stream._removedConnection === "boolean" && typeof stream._removedContLen === "boolean";
-    }
-    function isServerResponse(stream) {
-      return typeof stream._sent100 === "boolean" && isOutgoingMessage(stream);
-    }
-    function isServerRequest(stream) {
-      var _stream$req;
-      return typeof stream._consuming === "boolean" && typeof stream._dumped === "boolean" && ((_stream$req = stream.req) === null || _stream$req === void 0 ? void 0 : _stream$req.upgradeOrConnect) === void 0;
-    }
-    function willEmitClose(stream) {
-      if (!isNodeStream(stream)) return null;
-      const wState = stream._writableState;
-      const rState = stream._readableState;
-      const state = wState || rState;
-      return !state && isServerResponse(stream) || !!(state && state.autoDestroy && state.emitClose && state.closed === false);
-    }
-    function isDisturbed(stream) {
-      var _stream$kIsDisturbed;
-      return !!(stream && ((_stream$kIsDisturbed = stream[kIsDisturbed]) !== null && _stream$kIsDisturbed !== void 0 ? _stream$kIsDisturbed : stream.readableDidRead || stream.readableAborted));
-    }
-    function isErrored(stream) {
-      var _ref, _ref2, _ref3, _ref4, _ref5, _stream$kIsErrored, _stream$_readableStat3, _stream$_writableStat3, _stream$_readableStat4, _stream$_writableStat4;
-      return !!(stream && ((_ref = (_ref2 = (_ref3 = (_ref4 = (_ref5 = (_stream$kIsErrored = stream[kIsErrored]) !== null && _stream$kIsErrored !== void 0 ? _stream$kIsErrored : stream.readableErrored) !== null && _ref5 !== void 0 ? _ref5 : stream.writableErrored) !== null && _ref4 !== void 0 ? _ref4 : (_stream$_readableStat3 = stream._readableState) === null || _stream$_readableStat3 === void 0 ? void 0 : _stream$_readableStat3.errorEmitted) !== null && _ref3 !== void 0 ? _ref3 : (_stream$_writableStat3 = stream._writableState) === null || _stream$_writableStat3 === void 0 ? void 0 : _stream$_writableStat3.errorEmitted) !== null && _ref2 !== void 0 ? _ref2 : (_stream$_readableStat4 = stream._readableState) === null || _stream$_readableStat4 === void 0 ? void 0 : _stream$_readableStat4.errored) !== null && _ref !== void 0 ? _ref : (_stream$_writableStat4 = stream._writableState) === null || _stream$_writableStat4 === void 0 ? void 0 : _stream$_writableStat4.errored));
-    }
-    module2.exports = {
-      isDestroyed,
-      kIsDestroyed,
-      isDisturbed,
-      kIsDisturbed,
-      isErrored,
-      kIsErrored,
-      isReadable,
-      kIsReadable,
-      kIsClosedPromise,
-      kControllerErrorFunction,
-      kIsWritable,
-      isClosed,
-      isDuplexNodeStream,
-      isFinished,
-      isIterable,
-      isReadableNodeStream,
-      isReadableStream,
-      isReadableEnded,
-      isReadableFinished,
-      isReadableErrored,
-      isNodeStream,
-      isWebStream,
-      isWritable,
-      isWritableNodeStream,
-      isWritableStream,
-      isWritableEnded,
-      isWritableFinished,
-      isWritableErrored,
-      isServerRequest,
-      isServerResponse,
-      willEmitClose,
-      isTransformStream
     };
+    Json.prototype.finalize = function() {
+      this._writeStringified();
+      this.end();
+    };
+    module2.exports = Json;
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/end-of-stream.js
-var require_end_of_stream = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/end-of-stream.js"(exports2, module2) {
-    var process2 = require_process();
-    var { AbortError, codes } = require_errors4();
-    var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_PREMATURE_CLOSE } = codes;
-    var { kEmptyObject, once } = require_util19();
-    var { validateAbortSignal, validateFunction, validateObject, validateBoolean } = require_validators();
-    var { Promise: Promise2, PromisePrototypeThen, SymbolDispose } = require_primordials();
-    var {
-      isClosed,
-      isReadable,
-      isReadableNodeStream,
-      isReadableStream,
-      isReadableFinished,
-      isReadableErrored,
-      isWritable,
-      isWritableNodeStream,
-      isWritableStream,
-      isWritableFinished,
-      isWritableErrored,
-      isNodeStream,
-      willEmitClose: _willEmitClose,
-      kIsClosedPromise
-    } = require_utils8();
-    var addAbortListener;
-    function isRequest(stream) {
-      return stream.setHeader && typeof stream.abort === "function";
-    }
-    var nop = () => {
+// node_modules/archiver/index.js
+var require_archiver = __commonJS({
+  "node_modules/archiver/index.js"(exports2, module2) {
+    var Archiver = require_core2();
+    var formats = {};
+    var vending = function(format, options) {
+      return vending.create(format, options);
     };
-    function eos(stream, options, callback) {
-      var _options$readable, _options$writable;
-      if (arguments.length === 2) {
-        callback = options;
-        options = kEmptyObject;
-      } else if (options == null) {
-        options = kEmptyObject;
+    vending.create = function(format, options) {
+      if (formats[format]) {
+        var instance = new Archiver(format, options);
+        instance.setFormat(format);
+        instance.setModule(new formats[format](options));
+        return instance;
       } else {
-        validateObject(options, "options");
+        throw new Error("create(" + format + "): format not registered");
       }
-      validateFunction(callback, "callback");
-      validateAbortSignal(options.signal, "options.signal");
-      callback = once(callback);
-      if (isReadableStream(stream) || isWritableStream(stream)) {
-        return eosWeb(stream, options, callback);
+    };
+    vending.registerFormat = function(format, module3) {
+      if (formats[format]) {
+        throw new Error("register(" + format + "): format already registered");
       }
-      if (!isNodeStream(stream)) {
-        throw new ERR_INVALID_ARG_TYPE2("stream", ["ReadableStream", "WritableStream", "Stream"], stream);
+      if (typeof module3 !== "function") {
+        throw new Error("register(" + format + "): format module invalid");
       }
-      const readable = (_options$readable = options.readable) !== null && _options$readable !== void 0 ? _options$readable : isReadableNodeStream(stream);
-      const writable = (_options$writable = options.writable) !== null && _options$writable !== void 0 ? _options$writable : isWritableNodeStream(stream);
-      const wState = stream._writableState;
-      const rState = stream._readableState;
-      const onlegacyfinish = () => {
-        if (!stream.writable) {
-          onfinish();
-        }
-      };
-      let willEmitClose = _willEmitClose(stream) && isReadableNodeStream(stream) === readable && isWritableNodeStream(stream) === writable;
-      let writableFinished = isWritableFinished(stream, false);
-      const onfinish = () => {
-        writableFinished = true;
-        if (stream.destroyed) {
-          willEmitClose = false;
-        }
-        if (willEmitClose && (!stream.readable || readable)) {
-          return;
-        }
-        if (!readable || readableFinished) {
-          callback.call(stream);
-        }
-      };
-      let readableFinished = isReadableFinished(stream, false);
-      const onend = () => {
-        readableFinished = true;
-        if (stream.destroyed) {
-          willEmitClose = false;
-        }
-        if (willEmitClose && (!stream.writable || writable)) {
-          return;
-        }
-        if (!writable || writableFinished) {
-          callback.call(stream);
-        }
-      };
-      const onerror = (err) => {
-        callback.call(stream, err);
-      };
-      let closed = isClosed(stream);
-      const onclose = () => {
-        closed = true;
-        const errored = isWritableErrored(stream) || isReadableErrored(stream);
-        if (errored && typeof errored !== "boolean") {
-          return callback.call(stream, errored);
-        }
-        if (readable && !readableFinished && isReadableNodeStream(stream, true)) {
-          if (!isReadableFinished(stream, false)) return callback.call(stream, new ERR_STREAM_PREMATURE_CLOSE());
-        }
-        if (writable && !writableFinished) {
-          if (!isWritableFinished(stream, false)) return callback.call(stream, new ERR_STREAM_PREMATURE_CLOSE());
-        }
-        callback.call(stream);
-      };
-      const onclosed = () => {
-        closed = true;
-        const errored = isWritableErrored(stream) || isReadableErrored(stream);
-        if (errored && typeof errored !== "boolean") {
-          return callback.call(stream, errored);
-        }
-        callback.call(stream);
-      };
-      const onrequest = () => {
-        stream.req.on("finish", onfinish);
-      };
-      if (isRequest(stream)) {
-        stream.on("complete", onfinish);
-        if (!willEmitClose) {
-          stream.on("abort", onclose);
-        }
-        if (stream.req) {
-          onrequest();
-        } else {
-          stream.on("request", onrequest);
-        }
-      } else if (writable && !wState) {
-        stream.on("end", onlegacyfinish);
-        stream.on("close", onlegacyfinish);
+      if (typeof module3.prototype.append !== "function" || typeof module3.prototype.finalize !== "function") {
+        throw new Error("register(" + format + "): format module missing methods");
       }
-      if (!willEmitClose && typeof stream.aborted === "boolean") {
-        stream.on("aborted", onclose);
+      formats[format] = module3;
+    };
+    vending.isRegisteredFormat = function(format) {
+      if (formats[format]) {
+        return true;
       }
-      stream.on("end", onend);
-      stream.on("finish", onfinish);
-      if (options.error !== false) {
-        stream.on("error", onerror);
+      return false;
+    };
+    vending.registerFormat("zip", require_zip());
+    vending.registerFormat("tar", require_tar());
+    vending.registerFormat("json", require_json());
+    module2.exports = vending;
+  }
+});
+
+// node_modules/@actions/artifact/lib/internal/upload/zip.js
+var require_zip2 = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/upload/zip.js"(exports2) {
+    "use strict";
+    var __createBinding2 = 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];
+        } };
       }
-      stream.on("close", onclose);
-      if (closed) {
-        process2.nextTick(onclose);
-      } else if (wState !== null && wState !== void 0 && wState.errorEmitted || rState !== null && rState !== void 0 && rState.errorEmitted) {
-        if (!willEmitClose) {
-          process2.nextTick(onclosed);
-        }
-      } else if (!readable && (!willEmitClose || isReadable(stream)) && (writableFinished || isWritable(stream) === false)) {
-        process2.nextTick(onclosed);
-      } else if (!writable && (!willEmitClose || isWritable(stream)) && (readableFinished || isReadable(stream) === false)) {
-        process2.nextTick(onclosed);
-      } else if (rState && stream.req && stream.aborted) {
-        process2.nextTick(onclosed);
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
       }
-      const cleanup = () => {
-        callback = nop;
-        stream.removeListener("aborted", onclose);
-        stream.removeListener("complete", onfinish);
-        stream.removeListener("abort", onclose);
-        stream.removeListener("request", onrequest);
-        if (stream.req) stream.req.removeListener("finish", onfinish);
-        stream.removeListener("end", onlegacyfinish);
-        stream.removeListener("close", onlegacyfinish);
-        stream.removeListener("finish", onfinish);
-        stream.removeListener("end", onend);
-        stream.removeListener("error", onerror);
-        stream.removeListener("close", onclose);
-      };
-      if (options.signal && !closed) {
-        const abort = () => {
-          const endCallback = callback;
-          cleanup();
-          endCallback.call(
-            stream,
-            new AbortError(void 0, {
-              cause: options.signal.reason
-            })
-          );
-        };
-        if (options.signal.aborted) {
-          process2.nextTick(abort);
-        } else {
-          addAbortListener = addAbortListener || require_util19().addAbortListener;
-          const disposable = addAbortListener(options.signal, abort);
-          const originalCallback = callback;
-          callback = once((...args) => {
-            disposable[SymbolDispose]();
-            originalCallback.apply(stream, args);
-          });
-        }
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve2) {
+          resolve2(value);
+        });
       }
-      return cleanup;
-    }
-    function eosWeb(stream, options, callback) {
-      let isAborted = false;
-      let abort = nop;
-      if (options.signal) {
-        abort = () => {
-          isAborted = true;
-          callback.call(
-            stream,
-            new AbortError(void 0, {
-              cause: options.signal.reason
-            })
-          );
-        };
-        if (options.signal.aborted) {
-          process2.nextTick(abort);
-        } else {
-          addAbortListener = addAbortListener || require_util19().addAbortListener;
-          const disposable = addAbortListener(options.signal, abort);
-          const originalCallback = callback;
-          callback = once((...args) => {
-            disposable[SymbolDispose]();
-            originalCallback.apply(stream, args);
-          });
+      return new (P || (P = Promise))(function(resolve2, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
         }
-      }
-      const resolverFn = (...args) => {
-        if (!isAborted) {
-          process2.nextTick(() => callback.apply(stream, args));
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
         }
-      };
-      PromisePrototypeThen(stream[kIsClosedPromise].promise, resolverFn, resolverFn);
-      return nop;
-    }
-    function finished(stream, opts) {
-      var _opts;
-      let autoCleanup = false;
-      if (opts === null) {
-        opts = kEmptyObject;
+        function step(result) {
+          result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createZipUploadStream = exports2.ZipUploadStream = exports2.DEFAULT_COMPRESSION_LEVEL = void 0;
+    var stream = __importStar2(require("stream"));
+    var promises_1 = require("fs/promises");
+    var archiver2 = __importStar2(require_archiver());
+    var core14 = __importStar2(require_core());
+    var config_1 = require_config();
+    exports2.DEFAULT_COMPRESSION_LEVEL = 6;
+    var ZipUploadStream = class extends stream.Transform {
+      constructor(bufferSize) {
+        super({
+          highWaterMark: bufferSize
+        });
       }
-      if ((_opts = opts) !== null && _opts !== void 0 && _opts.cleanup) {
-        validateBoolean(opts.cleanup, "cleanup");
-        autoCleanup = opts.cleanup;
+      // eslint-disable-next-line @typescript-eslint/no-explicit-any
+      _transform(chunk, enc, cb) {
+        cb(null, chunk);
       }
-      return new Promise2((resolve2, reject) => {
-        const cleanup = eos(stream, opts, (err) => {
-          if (autoCleanup) {
-            cleanup();
-          }
-          if (err) {
-            reject(err);
+    };
+    exports2.ZipUploadStream = ZipUploadStream;
+    function createZipUploadStream(uploadSpecification_1) {
+      return __awaiter2(this, arguments, void 0, function* (uploadSpecification, compressionLevel = exports2.DEFAULT_COMPRESSION_LEVEL) {
+        core14.debug(`Creating Artifact archive with compressionLevel: ${compressionLevel}`);
+        const zip = archiver2.create("zip", {
+          highWaterMark: (0, config_1.getUploadChunkSize)(),
+          zlib: { level: compressionLevel }
+        });
+        zip.on("error", zipErrorCallback);
+        zip.on("warning", zipWarningCallback);
+        zip.on("finish", zipFinishCallback);
+        zip.on("end", zipEndCallback);
+        for (const file of uploadSpecification) {
+          if (file.sourcePath !== null) {
+            let sourcePath = file.sourcePath;
+            if (file.stats.isSymbolicLink()) {
+              sourcePath = yield (0, promises_1.realpath)(file.sourcePath);
+            }
+            zip.file(sourcePath, {
+              name: file.destinationPath
+            });
           } else {
-            resolve2();
+            zip.append("", { name: file.destinationPath });
           }
-        });
+        }
+        const bufferSize = (0, config_1.getUploadChunkSize)();
+        const zipUploadStream = new ZipUploadStream(bufferSize);
+        core14.debug(`Zip write high watermark value ${zipUploadStream.writableHighWaterMark}`);
+        core14.debug(`Zip read high watermark value ${zipUploadStream.readableHighWaterMark}`);
+        zip.pipe(zipUploadStream);
+        zip.finalize();
+        return zipUploadStream;
       });
     }
-    module2.exports = eos;
-    module2.exports.finished = finished;
+    exports2.createZipUploadStream = createZipUploadStream;
+    var zipErrorCallback = (error3) => {
+      core14.error("An error has occurred while creating the zip file for upload");
+      core14.info(error3);
+      throw new Error("An error has occurred during zip creation for the artifact");
+    };
+    var zipWarningCallback = (error3) => {
+      if (error3.code === "ENOENT") {
+        core14.warning("ENOENT warning during artifact zip creation. No such file or directory");
+        core14.info(error3);
+      } else {
+        core14.warning(`A non-blocking warning has occurred during artifact zip creation: ${error3.code}`);
+        core14.info(error3);
+      }
+    };
+    var zipFinishCallback = () => {
+      core14.debug("Zip stream for upload has finished.");
+    };
+    var zipEndCallback = () => {
+      core14.debug("Zip stream for upload has ended.");
+    };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/destroy.js
-var require_destroy2 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/destroy.js"(exports2, module2) {
+// node_modules/@actions/artifact/lib/internal/upload/upload-artifact.js
+var require_upload_artifact = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/upload/upload-artifact.js"(exports2) {
     "use strict";
-    var process2 = require_process();
-    var {
-      aggregateTwoErrors,
-      codes: { ERR_MULTIPLE_CALLBACK },
-      AbortError
-    } = require_errors4();
-    var { Symbol: Symbol2 } = require_primordials();
-    var { kIsDestroyed, isDestroyed, isFinished, isServerRequest } = require_utils8();
-    var kDestroy = Symbol2("kDestroy");
-    var kConstruct = Symbol2("kConstruct");
-    function checkError(err, w, r) {
-      if (err) {
-        err.stack;
-        if (w && !w.errored) {
-          w.errored = err;
-        }
-        if (r && !r.errored) {
-          r.errored = err;
-        }
-      }
-    }
-    function destroy(err, cb) {
-      const r = this._readableState;
-      const w = this._writableState;
-      const s = w || r;
-      if (w !== null && w !== void 0 && w.destroyed || r !== null && r !== void 0 && r.destroyed) {
-        if (typeof cb === "function") {
-          cb();
-        }
-        return this;
-      }
-      checkError(err, w, r);
-      if (w) {
-        w.destroyed = true;
+    var __createBinding2 = 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];
+        } };
       }
-      if (r) {
-        r.destroyed = true;
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
       }
-      if (!s.constructed) {
-        this.once(kDestroy, function(er) {
-          _destroy(this, aggregateTwoErrors(er, err), cb);
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve2) {
+          resolve2(value);
         });
-      } else {
-        _destroy(this, err, cb);
       }
-      return this;
-    }
-    function _destroy(self2, err, cb) {
-      let called = false;
-      function onDestroy(err2) {
-        if (called) {
-          return;
+      return new (P || (P = Promise))(function(resolve2, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        called = true;
-        const r = self2._readableState;
-        const w = self2._writableState;
-        checkError(err2, w, r);
-        if (w) {
-          w.closed = true;
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        if (r) {
-          r.closed = true;
+        function step(result) {
+          result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
-        if (typeof cb === "function") {
-          cb(err2);
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.uploadArtifact = void 0;
+    var core14 = __importStar2(require_core());
+    var retention_1 = require_retention();
+    var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation();
+    var artifact_twirp_client_1 = require_artifact_twirp_client2();
+    var upload_zip_specification_1 = require_upload_zip_specification();
+    var util_1 = require_util17();
+    var blob_upload_1 = require_blob_upload();
+    var zip_1 = require_zip2();
+    var generated_1 = require_generated();
+    var errors_1 = require_errors3();
+    function uploadArtifact(name, files, rootDirectory, options) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        (0, path_and_artifact_name_validation_1.validateArtifactName)(name);
+        (0, upload_zip_specification_1.validateRootDirectory)(rootDirectory);
+        const zipSpecification = (0, upload_zip_specification_1.getUploadZipSpecification)(files, rootDirectory);
+        if (zipSpecification.length === 0) {
+          throw new errors_1.FilesNotFoundError(zipSpecification.flatMap((s) => s.sourcePath ? [s.sourcePath] : []));
         }
-        if (err2) {
-          process2.nextTick(emitErrorCloseNT, self2, err2);
-        } else {
-          process2.nextTick(emitCloseNT, self2);
+        const backendIds = (0, util_1.getBackendIdsFromToken)();
+        const artifactClient = (0, artifact_twirp_client_1.internalArtifactTwirpClient)();
+        const createArtifactReq = {
+          workflowRunBackendId: backendIds.workflowRunBackendId,
+          workflowJobRunBackendId: backendIds.workflowJobRunBackendId,
+          name,
+          version: 4
+        };
+        const expiresAt = (0, retention_1.getExpiration)(options === null || options === void 0 ? void 0 : options.retentionDays);
+        if (expiresAt) {
+          createArtifactReq.expiresAt = expiresAt;
         }
-      }
-      try {
-        self2._destroy(err || null, onDestroy);
-      } catch (err2) {
-        onDestroy(err2);
-      }
-    }
-    function emitErrorCloseNT(self2, err) {
-      emitErrorNT(self2, err);
-      emitCloseNT(self2);
-    }
-    function emitCloseNT(self2) {
-      const r = self2._readableState;
-      const w = self2._writableState;
-      if (w) {
-        w.closeEmitted = true;
-      }
-      if (r) {
-        r.closeEmitted = true;
-      }
-      if (w !== null && w !== void 0 && w.emitClose || r !== null && r !== void 0 && r.emitClose) {
-        self2.emit("close");
-      }
-    }
-    function emitErrorNT(self2, err) {
-      const r = self2._readableState;
-      const w = self2._writableState;
-      if (w !== null && w !== void 0 && w.errorEmitted || r !== null && r !== void 0 && r.errorEmitted) {
-        return;
-      }
-      if (w) {
-        w.errorEmitted = true;
-      }
-      if (r) {
-        r.errorEmitted = true;
-      }
-      self2.emit("error", err);
-    }
-    function undestroy() {
-      const r = this._readableState;
-      const w = this._writableState;
-      if (r) {
-        r.constructed = true;
-        r.closed = false;
-        r.closeEmitted = false;
-        r.destroyed = false;
-        r.errored = null;
-        r.errorEmitted = false;
-        r.reading = false;
-        r.ended = r.readable === false;
-        r.endEmitted = r.readable === false;
-      }
-      if (w) {
-        w.constructed = true;
-        w.destroyed = false;
-        w.closed = false;
-        w.closeEmitted = false;
-        w.errored = null;
-        w.errorEmitted = false;
-        w.finalCalled = false;
-        w.prefinished = false;
-        w.ended = w.writable === false;
-        w.ending = w.writable === false;
-        w.finished = w.writable === false;
-      }
-    }
-    function errorOrDestroy(stream, err, sync) {
-      const r = stream._readableState;
-      const w = stream._writableState;
-      if (w !== null && w !== void 0 && w.destroyed || r !== null && r !== void 0 && r.destroyed) {
-        return this;
-      }
-      if (r !== null && r !== void 0 && r.autoDestroy || w !== null && w !== void 0 && w.autoDestroy)
-        stream.destroy(err);
-      else if (err) {
-        err.stack;
-        if (w && !w.errored) {
-          w.errored = err;
+        const createArtifactResp = yield artifactClient.CreateArtifact(createArtifactReq);
+        if (!createArtifactResp.ok) {
+          throw new errors_1.InvalidResponseError("CreateArtifact: response from backend was not ok");
         }
-        if (r && !r.errored) {
-          r.errored = err;
+        const zipUploadStream = yield (0, zip_1.createZipUploadStream)(zipSpecification, options === null || options === void 0 ? void 0 : options.compressionLevel);
+        const uploadResult = yield (0, blob_upload_1.uploadZipToBlobStorage)(createArtifactResp.signedUploadUrl, zipUploadStream);
+        const finalizeArtifactReq = {
+          workflowRunBackendId: backendIds.workflowRunBackendId,
+          workflowJobRunBackendId: backendIds.workflowJobRunBackendId,
+          name,
+          size: uploadResult.uploadSize ? uploadResult.uploadSize.toString() : "0"
+        };
+        if (uploadResult.sha256Hash) {
+          finalizeArtifactReq.hash = generated_1.StringValue.create({
+            value: `sha256:${uploadResult.sha256Hash}`
+          });
         }
-        if (sync) {
-          process2.nextTick(emitErrorNT, stream, err);
-        } else {
-          emitErrorNT(stream, err);
+        core14.info(`Finalizing artifact upload`);
+        const finalizeArtifactResp = yield artifactClient.FinalizeArtifact(finalizeArtifactReq);
+        if (!finalizeArtifactResp.ok) {
+          throw new errors_1.InvalidResponseError("FinalizeArtifact: response from backend was not ok");
         }
-      }
+        const artifactId = BigInt(finalizeArtifactResp.artifactId);
+        core14.info(`Artifact ${name}.zip successfully finalized. Artifact ID ${artifactId}`);
+        return {
+          size: uploadResult.uploadSize,
+          digest: uploadResult.sha256Hash,
+          id: Number(artifactId)
+        };
+      });
     }
-    function construct(stream, cb) {
-      if (typeof stream._construct !== "function") {
-        return;
-      }
-      const r = stream._readableState;
-      const w = stream._writableState;
-      if (r) {
-        r.constructed = false;
-      }
-      if (w) {
-        w.constructed = false;
+    exports2.uploadArtifact = uploadArtifact;
+  }
+});
+
+// node_modules/@actions/artifact/node_modules/@actions/github/lib/context.js
+var require_context2 = __commonJS({
+  "node_modules/@actions/artifact/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() {
+        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 {
+            const path3 = process.env.GITHUB_EVENT_PATH;
+            process.stdout.write(`GITHUB_EVENT_PATH ${path3} does not exist${os_1.EOL}`);
+          }
+        }
+        this.eventName = process.env.GITHUB_EVENT_NAME;
+        this.sha = process.env.GITHUB_SHA;
+        this.ref = process.env.GITHUB_REF;
+        this.workflow = process.env.GITHUB_WORKFLOW;
+        this.action = process.env.GITHUB_ACTION;
+        this.actor = process.env.GITHUB_ACTOR;
+        this.job = process.env.GITHUB_JOB;
+        this.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`;
       }
-      stream.once(kConstruct, cb);
-      if (stream.listenerCount(kConstruct) > 1) {
-        return;
+      get issue() {
+        const payload = this.payload;
+        return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || payload).number });
       }
-      process2.nextTick(constructNT, stream);
-    }
-    function constructNT(stream) {
-      let called = false;
-      function onConstruct(err) {
-        if (called) {
-          errorOrDestroy(stream, err !== null && err !== void 0 ? err : new ERR_MULTIPLE_CALLBACK());
-          return;
-        }
-        called = true;
-        const r = stream._readableState;
-        const w = stream._writableState;
-        const s = w || r;
-        if (r) {
-          r.constructed = true;
-        }
-        if (w) {
-          w.constructed = true;
+      get repo() {
+        if (process.env.GITHUB_REPOSITORY) {
+          const [owner, repo] = process.env.GITHUB_REPOSITORY.split("/");
+          return { owner, repo };
         }
-        if (s.destroyed) {
-          stream.emit(kDestroy, err);
-        } else if (err) {
-          errorOrDestroy(stream, err, true);
-        } else {
-          process2.nextTick(emitConstructNT, stream);
+        if (this.payload.repository) {
+          return {
+            owner: this.payload.repository.owner.login,
+            repo: this.payload.repository.name
+          };
         }
+        throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'");
       }
-      try {
-        stream._construct((err) => {
-          process2.nextTick(onConstruct, err);
-        });
-      } catch (err) {
-        process2.nextTick(onConstruct, err);
-      }
-    }
-    function emitConstructNT(stream) {
-      stream.emit(kConstruct);
-    }
-    function isRequest(stream) {
-      return (stream === null || stream === void 0 ? void 0 : stream.setHeader) && typeof stream.abort === "function";
-    }
-    function emitCloseLegacy(stream) {
-      stream.emit("close");
-    }
-    function emitErrorCloseLegacy(stream, err) {
-      stream.emit("error", err);
-      process2.nextTick(emitCloseLegacy, stream);
-    }
-    function destroyer(stream, err) {
-      if (!stream || isDestroyed(stream)) {
-        return;
-      }
-      if (!err && !isFinished(stream)) {
-        err = new AbortError();
-      }
-      if (isServerRequest(stream)) {
-        stream.socket = null;
-        stream.destroy(err);
-      } else if (isRequest(stream)) {
-        stream.abort();
-      } else if (isRequest(stream.req)) {
-        stream.req.abort();
-      } else if (typeof stream.destroy === "function") {
-        stream.destroy(err);
-      } else if (typeof stream.close === "function") {
-        stream.close();
-      } else if (err) {
-        process2.nextTick(emitErrorCloseLegacy, stream, err);
-      } else {
-        process2.nextTick(emitCloseLegacy, stream);
-      }
-      if (!stream.destroyed) {
-        stream[kIsDestroyed] = true;
-      }
-    }
-    module2.exports = {
-      construct,
-      destroyer,
-      destroy,
-      undestroy,
-      errorOrDestroy
     };
+    exports2.Context = Context;
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/legacy.js
-var require_legacy = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/legacy.js"(exports2, module2) {
+// node_modules/@actions/artifact/node_modules/@actions/github/node_modules/@actions/http-client/lib/proxy.js
+var require_proxy2 = __commonJS({
+  "node_modules/@actions/artifact/node_modules/@actions/github/node_modules/@actions/http-client/lib/proxy.js"(exports2) {
     "use strict";
-    var { ArrayIsArray, ObjectSetPrototypeOf } = require_primordials();
-    var { EventEmitter: EE } = require("events");
-    function Stream(opts) {
-      EE.call(this, opts);
-    }
-    ObjectSetPrototypeOf(Stream.prototype, EE.prototype);
-    ObjectSetPrototypeOf(Stream, EE);
-    Stream.prototype.pipe = function(dest, options) {
-      const source = this;
-      function ondata(chunk) {
-        if (dest.writable && dest.write(chunk) === false && source.pause) {
-          source.pause();
-        }
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.checkBypass = exports2.getProxyUrl = void 0;
+    function getProxyUrl(reqUrl) {
+      const usingSsl = reqUrl.protocol === "https:";
+      if (checkBypass(reqUrl)) {
+        return void 0;
       }
-      source.on("data", ondata);
-      function ondrain() {
-        if (source.readable && source.resume) {
-          source.resume();
+      const proxyVar = (() => {
+        if (usingSsl) {
+          return process.env["https_proxy"] || process.env["HTTPS_PROXY"];
+        } else {
+          return process.env["http_proxy"] || process.env["HTTP_PROXY"];
+        }
+      })();
+      if (proxyVar) {
+        try {
+          return new DecodedURL(proxyVar);
+        } catch (_a) {
+          if (!proxyVar.startsWith("http://") && !proxyVar.startsWith("https://"))
+            return new DecodedURL(`http://${proxyVar}`);
         }
+      } else {
+        return void 0;
       }
-      dest.on("drain", ondrain);
-      if (!dest._isStdio && (!options || options.end !== false)) {
-        source.on("end", onend);
-        source.on("close", onclose);
+    }
+    exports2.getProxyUrl = getProxyUrl;
+    function checkBypass(reqUrl) {
+      if (!reqUrl.hostname) {
+        return false;
       }
-      let didOnEnd = false;
-      function onend() {
-        if (didOnEnd) return;
-        didOnEnd = true;
-        dest.end();
+      const reqHost = reqUrl.hostname;
+      if (isLoopbackAddress(reqHost)) {
+        return true;
       }
-      function onclose() {
-        if (didOnEnd) return;
-        didOnEnd = true;
-        if (typeof dest.destroy === "function") dest.destroy();
+      const noProxy = process.env["no_proxy"] || process.env["NO_PROXY"] || "";
+      if (!noProxy) {
+        return false;
       }
-      function onerror(er) {
-        cleanup();
-        if (EE.listenerCount(this, "error") === 0) {
-          this.emit("error", er);
+      let reqPort;
+      if (reqUrl.port) {
+        reqPort = Number(reqUrl.port);
+      } else if (reqUrl.protocol === "http:") {
+        reqPort = 80;
+      } else if (reqUrl.protocol === "https:") {
+        reqPort = 443;
+      }
+      const upperReqHosts = [reqUrl.hostname.toUpperCase()];
+      if (typeof reqPort === "number") {
+        upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`);
+      }
+      for (const upperNoProxyItem of noProxy.split(",").map((x) => x.trim().toUpperCase()).filter((x) => x)) {
+        if (upperNoProxyItem === "*" || upperReqHosts.some((x) => x === upperNoProxyItem || x.endsWith(`.${upperNoProxyItem}`) || upperNoProxyItem.startsWith(".") && x.endsWith(`${upperNoProxyItem}`))) {
+          return true;
         }
       }
-      prependListener(source, "error", onerror);
-      prependListener(dest, "error", onerror);
-      function cleanup() {
-        source.removeListener("data", ondata);
-        dest.removeListener("drain", ondrain);
-        source.removeListener("end", onend);
-        source.removeListener("close", onclose);
-        source.removeListener("error", onerror);
-        dest.removeListener("error", onerror);
-        source.removeListener("end", cleanup);
-        source.removeListener("close", cleanup);
-        dest.removeListener("close", cleanup);
+      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;
       }
-      source.on("end", cleanup);
-      source.on("close", cleanup);
-      dest.on("close", cleanup);
-      dest.emit("pipe", source);
-      return dest;
     };
-    function prependListener(emitter, event, fn) {
-      if (typeof emitter.prependListener === "function") return emitter.prependListener(event, fn);
-      if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);
-      else if (ArrayIsArray(emitter._events[event])) emitter._events[event].unshift(fn);
-      else emitter._events[event] = [fn, emitter._events[event]];
-    }
+  }
+});
+
+// node_modules/undici/lib/core/symbols.js
+var require_symbols11 = __commonJS({
+  "node_modules/undici/lib/core/symbols.js"(exports2, module2) {
     module2.exports = {
-      Stream,
-      prependListener
+      kClose: /* @__PURE__ */ Symbol("close"),
+      kDestroy: /* @__PURE__ */ Symbol("destroy"),
+      kDispatch: /* @__PURE__ */ Symbol("dispatch"),
+      kUrl: /* @__PURE__ */ Symbol("url"),
+      kWriting: /* @__PURE__ */ Symbol("writing"),
+      kResuming: /* @__PURE__ */ Symbol("resuming"),
+      kQueue: /* @__PURE__ */ Symbol("queue"),
+      kConnect: /* @__PURE__ */ Symbol("connect"),
+      kConnecting: /* @__PURE__ */ Symbol("connecting"),
+      kHeadersList: /* @__PURE__ */ Symbol("headers list"),
+      kKeepAliveDefaultTimeout: /* @__PURE__ */ Symbol("default keep alive timeout"),
+      kKeepAliveMaxTimeout: /* @__PURE__ */ Symbol("max keep alive timeout"),
+      kKeepAliveTimeoutThreshold: /* @__PURE__ */ Symbol("keep alive timeout threshold"),
+      kKeepAliveTimeoutValue: /* @__PURE__ */ Symbol("keep alive timeout"),
+      kKeepAlive: /* @__PURE__ */ Symbol("keep alive"),
+      kHeadersTimeout: /* @__PURE__ */ Symbol("headers timeout"),
+      kBodyTimeout: /* @__PURE__ */ Symbol("body timeout"),
+      kServerName: /* @__PURE__ */ Symbol("server name"),
+      kLocalAddress: /* @__PURE__ */ Symbol("local address"),
+      kHost: /* @__PURE__ */ Symbol("host"),
+      kNoRef: /* @__PURE__ */ Symbol("no ref"),
+      kBodyUsed: /* @__PURE__ */ Symbol("used"),
+      kRunning: /* @__PURE__ */ Symbol("running"),
+      kBlocking: /* @__PURE__ */ Symbol("blocking"),
+      kPending: /* @__PURE__ */ Symbol("pending"),
+      kSize: /* @__PURE__ */ Symbol("size"),
+      kBusy: /* @__PURE__ */ Symbol("busy"),
+      kQueued: /* @__PURE__ */ Symbol("queued"),
+      kFree: /* @__PURE__ */ Symbol("free"),
+      kConnected: /* @__PURE__ */ Symbol("connected"),
+      kClosed: /* @__PURE__ */ Symbol("closed"),
+      kNeedDrain: /* @__PURE__ */ Symbol("need drain"),
+      kReset: /* @__PURE__ */ Symbol("reset"),
+      kDestroyed: /* @__PURE__ */ Symbol.for("nodejs.stream.destroyed"),
+      kMaxHeadersSize: /* @__PURE__ */ Symbol("max headers size"),
+      kRunningIdx: /* @__PURE__ */ Symbol("running index"),
+      kPendingIdx: /* @__PURE__ */ Symbol("pending index"),
+      kError: /* @__PURE__ */ Symbol("error"),
+      kClients: /* @__PURE__ */ Symbol("clients"),
+      kClient: /* @__PURE__ */ Symbol("client"),
+      kParser: /* @__PURE__ */ Symbol("parser"),
+      kOnDestroyed: /* @__PURE__ */ Symbol("destroy callbacks"),
+      kPipelining: /* @__PURE__ */ Symbol("pipelining"),
+      kSocket: /* @__PURE__ */ Symbol("socket"),
+      kHostHeader: /* @__PURE__ */ Symbol("host header"),
+      kConnector: /* @__PURE__ */ Symbol("connector"),
+      kStrictContentLength: /* @__PURE__ */ Symbol("strict content length"),
+      kMaxRedirections: /* @__PURE__ */ Symbol("maxRedirections"),
+      kMaxRequests: /* @__PURE__ */ Symbol("maxRequestsPerClient"),
+      kProxy: /* @__PURE__ */ Symbol("proxy agent options"),
+      kCounter: /* @__PURE__ */ Symbol("socket request counter"),
+      kInterceptors: /* @__PURE__ */ Symbol("dispatch interceptors"),
+      kMaxResponseSize: /* @__PURE__ */ Symbol("max response size"),
+      kHTTP2Session: /* @__PURE__ */ Symbol("http2Session"),
+      kHTTP2SessionState: /* @__PURE__ */ Symbol("http2Session state"),
+      kHTTP2BuildRequest: /* @__PURE__ */ Symbol("http2 build request"),
+      kHTTP1BuildRequest: /* @__PURE__ */ Symbol("http1 build request"),
+      kHTTP2CopyHeaders: /* @__PURE__ */ Symbol("http2 copy headers"),
+      kHTTPConnVersion: /* @__PURE__ */ Symbol("http connection version"),
+      kRetryHandlerDefaultRetry: /* @__PURE__ */ Symbol("retry agent default retry"),
+      kConstruct: /* @__PURE__ */ Symbol("constructable")
     };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/add-abort-signal.js
-var require_add_abort_signal = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/add-abort-signal.js"(exports2, module2) {
+// node_modules/undici/lib/core/errors.js
+var require_errors5 = __commonJS({
+  "node_modules/undici/lib/core/errors.js"(exports2, module2) {
     "use strict";
-    var { SymbolDispose } = require_primordials();
-    var { AbortError, codes } = require_errors4();
-    var { isNodeStream, isWebStream, kControllerErrorFunction } = require_utils8();
-    var eos = require_end_of_stream();
-    var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2 } = codes;
-    var addAbortListener;
-    var validateAbortSignal = (signal, name) => {
-      if (typeof signal !== "object" || !("aborted" in signal)) {
-        throw new ERR_INVALID_ARG_TYPE2(name, "AbortSignal", signal);
+    var UndiciError = class extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "UndiciError";
+        this.code = "UND_ERR";
       }
     };
-    module2.exports.addAbortSignal = function addAbortSignal(signal, stream) {
-      validateAbortSignal(signal, "signal");
-      if (!isNodeStream(stream) && !isWebStream(stream)) {
-        throw new ERR_INVALID_ARG_TYPE2("stream", ["ReadableStream", "WritableStream", "Stream"], stream);
+    var ConnectTimeoutError = class _ConnectTimeoutError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _ConnectTimeoutError);
+        this.name = "ConnectTimeoutError";
+        this.message = message || "Connect Timeout Error";
+        this.code = "UND_ERR_CONNECT_TIMEOUT";
       }
-      return module2.exports.addAbortSignalNoValidate(signal, stream);
     };
-    module2.exports.addAbortSignalNoValidate = function(signal, stream) {
-      if (typeof signal !== "object" || !("aborted" in signal)) {
-        return stream;
+    var HeadersTimeoutError = class _HeadersTimeoutError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _HeadersTimeoutError);
+        this.name = "HeadersTimeoutError";
+        this.message = message || "Headers Timeout Error";
+        this.code = "UND_ERR_HEADERS_TIMEOUT";
       }
-      const onAbort = isNodeStream(stream) ? () => {
-        stream.destroy(
-          new AbortError(void 0, {
-            cause: signal.reason
-          })
-        );
-      } : () => {
-        stream[kControllerErrorFunction](
-          new AbortError(void 0, {
-            cause: signal.reason
-          })
-        );
-      };
-      if (signal.aborted) {
-        onAbort();
-      } else {
-        addAbortListener = addAbortListener || require_util19().addAbortListener;
-        const disposable = addAbortListener(signal, onAbort);
-        eos(stream, disposable[SymbolDispose]);
+    };
+    var HeadersOverflowError = class _HeadersOverflowError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _HeadersOverflowError);
+        this.name = "HeadersOverflowError";
+        this.message = message || "Headers Overflow Error";
+        this.code = "UND_ERR_HEADERS_OVERFLOW";
       }
-      return stream;
     };
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/buffer_list.js
-var require_buffer_list = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/buffer_list.js"(exports2, module2) {
-    "use strict";
-    var { StringPrototypeSlice, SymbolIterator, TypedArrayPrototypeSet, Uint8Array: Uint8Array2 } = require_primordials();
-    var { Buffer: Buffer2 } = require("buffer");
-    var { inspect } = require_util19();
-    module2.exports = class BufferList {
-      constructor() {
-        this.head = null;
-        this.tail = null;
-        this.length = 0;
+    var BodyTimeoutError = class _BodyTimeoutError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _BodyTimeoutError);
+        this.name = "BodyTimeoutError";
+        this.message = message || "Body Timeout Error";
+        this.code = "UND_ERR_BODY_TIMEOUT";
       }
-      push(v) {
-        const entry = {
-          data: v,
-          next: null
-        };
-        if (this.length > 0) this.tail.next = entry;
-        else this.head = entry;
-        this.tail = entry;
-        ++this.length;
+    };
+    var ResponseStatusCodeError = class _ResponseStatusCodeError extends UndiciError {
+      constructor(message, statusCode, headers, body) {
+        super(message);
+        Error.captureStackTrace(this, _ResponseStatusCodeError);
+        this.name = "ResponseStatusCodeError";
+        this.message = message || "Response Status Code Error";
+        this.code = "UND_ERR_RESPONSE_STATUS_CODE";
+        this.body = body;
+        this.status = statusCode;
+        this.statusCode = statusCode;
+        this.headers = headers;
       }
-      unshift(v) {
-        const entry = {
-          data: v,
-          next: this.head
-        };
-        if (this.length === 0) this.tail = entry;
-        this.head = entry;
-        ++this.length;
+    };
+    var InvalidArgumentError = class _InvalidArgumentError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _InvalidArgumentError);
+        this.name = "InvalidArgumentError";
+        this.message = message || "Invalid Argument Error";
+        this.code = "UND_ERR_INVALID_ARG";
       }
-      shift() {
-        if (this.length === 0) return;
-        const ret = this.head.data;
-        if (this.length === 1) this.head = this.tail = null;
-        else this.head = this.head.next;
-        --this.length;
-        return ret;
+    };
+    var InvalidReturnValueError = class _InvalidReturnValueError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _InvalidReturnValueError);
+        this.name = "InvalidReturnValueError";
+        this.message = message || "Invalid Return Value Error";
+        this.code = "UND_ERR_INVALID_RETURN_VALUE";
       }
-      clear() {
-        this.head = this.tail = null;
-        this.length = 0;
+    };
+    var RequestAbortedError = class _RequestAbortedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _RequestAbortedError);
+        this.name = "AbortError";
+        this.message = message || "Request aborted";
+        this.code = "UND_ERR_ABORTED";
       }
-      join(s) {
-        if (this.length === 0) return "";
-        let p = this.head;
-        let ret = "" + p.data;
-        while ((p = p.next) !== null) ret += s + p.data;
-        return ret;
+    };
+    var InformationalError = class _InformationalError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _InformationalError);
+        this.name = "InformationalError";
+        this.message = message || "Request information";
+        this.code = "UND_ERR_INFO";
       }
-      concat(n) {
-        if (this.length === 0) return Buffer2.alloc(0);
-        const ret = Buffer2.allocUnsafe(n >>> 0);
-        let p = this.head;
-        let i = 0;
-        while (p) {
-          TypedArrayPrototypeSet(ret, p.data, i);
-          i += p.data.length;
-          p = p.next;
-        }
-        return ret;
+    };
+    var RequestContentLengthMismatchError = class _RequestContentLengthMismatchError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _RequestContentLengthMismatchError);
+        this.name = "RequestContentLengthMismatchError";
+        this.message = message || "Request body length does not match content-length header";
+        this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH";
       }
-      // Consumes a specified amount of bytes or characters from the buffered data.
-      consume(n, hasStrings) {
-        const data = this.head.data;
-        if (n < data.length) {
-          const slice = data.slice(0, n);
-          this.head.data = data.slice(n);
-          return slice;
-        }
-        if (n === data.length) {
-          return this.shift();
-        }
-        return hasStrings ? this._getString(n) : this._getBuffer(n);
+    };
+    var ResponseContentLengthMismatchError = class _ResponseContentLengthMismatchError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _ResponseContentLengthMismatchError);
+        this.name = "ResponseContentLengthMismatchError";
+        this.message = message || "Response body length does not match content-length header";
+        this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH";
       }
-      first() {
-        return this.head.data;
+    };
+    var ClientDestroyedError = class _ClientDestroyedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _ClientDestroyedError);
+        this.name = "ClientDestroyedError";
+        this.message = message || "The client is destroyed";
+        this.code = "UND_ERR_DESTROYED";
       }
-      *[SymbolIterator]() {
-        for (let p = this.head; p; p = p.next) {
-          yield p.data;
-        }
+    };
+    var ClientClosedError = class _ClientClosedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _ClientClosedError);
+        this.name = "ClientClosedError";
+        this.message = message || "The client is closed";
+        this.code = "UND_ERR_CLOSED";
       }
-      // Consumes a specified amount of characters from the buffered data.
-      _getString(n) {
-        let ret = "";
-        let p = this.head;
-        let c = 0;
-        do {
-          const str2 = p.data;
-          if (n > str2.length) {
-            ret += str2;
-            n -= str2.length;
-          } else {
-            if (n === str2.length) {
-              ret += str2;
-              ++c;
-              if (p.next) this.head = p.next;
-              else this.head = this.tail = null;
-            } else {
-              ret += StringPrototypeSlice(str2, 0, n);
-              this.head = p;
-              p.data = StringPrototypeSlice(str2, n);
-            }
-            break;
-          }
-          ++c;
-        } while ((p = p.next) !== null);
-        this.length -= c;
-        return ret;
+    };
+    var SocketError = class _SocketError extends UndiciError {
+      constructor(message, socket) {
+        super(message);
+        Error.captureStackTrace(this, _SocketError);
+        this.name = "SocketError";
+        this.message = message || "Socket error";
+        this.code = "UND_ERR_SOCKET";
+        this.socket = socket;
       }
-      // Consumes a specified amount of bytes from the buffered data.
-      _getBuffer(n) {
-        const ret = Buffer2.allocUnsafe(n);
-        const retLen = n;
-        let p = this.head;
-        let c = 0;
-        do {
-          const buf = p.data;
-          if (n > buf.length) {
-            TypedArrayPrototypeSet(ret, buf, retLen - n);
-            n -= buf.length;
-          } else {
-            if (n === buf.length) {
-              TypedArrayPrototypeSet(ret, buf, retLen - n);
-              ++c;
-              if (p.next) this.head = p.next;
-              else this.head = this.tail = null;
-            } else {
-              TypedArrayPrototypeSet(ret, new Uint8Array2(buf.buffer, buf.byteOffset, n), retLen - n);
-              this.head = p;
-              p.data = buf.slice(n);
-            }
-            break;
-          }
-          ++c;
-        } while ((p = p.next) !== null);
-        this.length -= c;
-        return ret;
+    };
+    var NotSupportedError = class _NotSupportedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _NotSupportedError);
+        this.name = "NotSupportedError";
+        this.message = message || "Not supported error";
+        this.code = "UND_ERR_NOT_SUPPORTED";
       }
-      // Make sure the linked list only shows the minimal necessary information.
-      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")](_2, options) {
-        return inspect(this, {
-          ...options,
-          // Only inspect one level.
-          depth: 0,
-          // It should not recurse.
-          customInspect: false
-        });
+    };
+    var BalancedPoolMissingUpstreamError = class extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, NotSupportedError);
+        this.name = "MissingUpstreamError";
+        this.message = message || "No upstream has been added to the BalancedPool";
+        this.code = "UND_ERR_BPL_MISSING_UPSTREAM";
+      }
+    };
+    var HTTPParserError = class _HTTPParserError extends Error {
+      constructor(message, code, data) {
+        super(message);
+        Error.captureStackTrace(this, _HTTPParserError);
+        this.name = "HTTPParserError";
+        this.code = code ? `HPE_${code}` : void 0;
+        this.data = data ? data.toString() : void 0;
+      }
+    };
+    var ResponseExceededMaxSizeError = class _ResponseExceededMaxSizeError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _ResponseExceededMaxSizeError);
+        this.name = "ResponseExceededMaxSizeError";
+        this.message = message || "Response content exceeded max size";
+        this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE";
+      }
+    };
+    var RequestRetryError = class _RequestRetryError extends UndiciError {
+      constructor(message, code, { headers, data }) {
+        super(message);
+        Error.captureStackTrace(this, _RequestRetryError);
+        this.name = "RequestRetryError";
+        this.message = message || "Request retry error";
+        this.code = "UND_ERR_REQ_RETRY";
+        this.statusCode = code;
+        this.data = data;
+        this.headers = headers;
       }
     };
+    module2.exports = {
+      HTTPParserError,
+      UndiciError,
+      HeadersTimeoutError,
+      HeadersOverflowError,
+      BodyTimeoutError,
+      RequestContentLengthMismatchError,
+      ConnectTimeoutError,
+      ResponseStatusCodeError,
+      InvalidArgumentError,
+      InvalidReturnValueError,
+      RequestAbortedError,
+      ClientDestroyedError,
+      ClientClosedError,
+      InformationalError,
+      SocketError,
+      NotSupportedError,
+      ResponseContentLengthMismatchError,
+      BalancedPoolMissingUpstreamError,
+      ResponseExceededMaxSizeError,
+      RequestRetryError
+    };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/state.js
-var require_state3 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/state.js"(exports2, module2) {
+// node_modules/undici/lib/core/constants.js
+var require_constants19 = __commonJS({
+  "node_modules/undici/lib/core/constants.js"(exports2, module2) {
     "use strict";
-    var { MathFloor, NumberIsInteger } = require_primordials();
-    var { validateInteger } = require_validators();
-    var { ERR_INVALID_ARG_VALUE } = require_errors4().codes;
-    var defaultHighWaterMarkBytes = 16 * 1024;
-    var defaultHighWaterMarkObjectMode = 16;
-    function highWaterMarkFrom(options, isDuplex, duplexKey) {
-      return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;
-    }
-    function getDefaultHighWaterMark(objectMode) {
-      return objectMode ? defaultHighWaterMarkObjectMode : defaultHighWaterMarkBytes;
-    }
-    function setDefaultHighWaterMark(objectMode, value) {
-      validateInteger(value, "value", 0);
-      if (objectMode) {
-        defaultHighWaterMarkObjectMode = value;
-      } else {
-        defaultHighWaterMarkBytes = value;
-      }
-    }
-    function getHighWaterMark(state, options, duplexKey, isDuplex) {
-      const hwm = highWaterMarkFrom(options, isDuplex, duplexKey);
-      if (hwm != null) {
-        if (!NumberIsInteger(hwm) || hwm < 0) {
-          const name = isDuplex ? `options.${duplexKey}` : "options.highWaterMark";
-          throw new ERR_INVALID_ARG_VALUE(name, hwm);
-        }
-        return MathFloor(hwm);
-      }
-      return getDefaultHighWaterMark(state.objectMode);
+    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 = {
-      getHighWaterMark,
-      getDefaultHighWaterMark,
-      setDefaultHighWaterMark
+      wellknownHeaderNames,
+      headerNameLowerCasedRecord
     };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/from.js
-var require_from = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/from.js"(exports2, module2) {
+// node_modules/undici/lib/core/util.js
+var require_util23 = __commonJS({
+  "node_modules/undici/lib/core/util.js"(exports2, module2) {
     "use strict";
-    var process2 = require_process();
-    var { PromisePrototypeThen, SymbolAsyncIterator, SymbolIterator } = require_primordials();
-    var { Buffer: Buffer2 } = require("buffer");
-    var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_NULL_VALUES } = require_errors4().codes;
-    function from(Readable, iterable, opts) {
-      let iterator2;
-      if (typeof iterable === "string" || iterable instanceof Buffer2) {
-        return new Readable({
-          objectMode: true,
-          ...opts,
-          read() {
-            this.push(iterable);
-            this.push(null);
-          }
-        });
+    var assert = require("assert");
+    var { kDestroyed, kBodyUsed } = require_symbols11();
+    var { IncomingMessage } = require("http");
+    var stream = require("stream");
+    var net = require("net");
+    var { InvalidArgumentError } = require_errors5();
+    var { Blob: Blob2 } = require("buffer");
+    var nodeUtil = require("util");
+    var { stringify } = require("querystring");
+    var { headerNameLowerCasedRecord } = require_constants19();
+    var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v) => Number(v));
+    function nop() {
+    }
+    function isStream(obj) {
+      return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function";
+    }
+    function isBlobLike(object) {
+      return Blob2 && object instanceof Blob2 || object && typeof object === "object" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]);
+    }
+    function buildURL(url, queryParams) {
+      if (url.includes("?") || url.includes("#")) {
+        throw new Error('Query params cannot be passed when url already contains "?" or "#".');
       }
-      let isAsync;
-      if (iterable && iterable[SymbolAsyncIterator]) {
-        isAsync = true;
-        iterator2 = iterable[SymbolAsyncIterator]();
-      } else if (iterable && iterable[SymbolIterator]) {
-        isAsync = false;
-        iterator2 = iterable[SymbolIterator]();
-      } else {
-        throw new ERR_INVALID_ARG_TYPE2("iterable", ["Iterable"], iterable);
+      const stringified = stringify(queryParams);
+      if (stringified) {
+        url += "?" + stringified;
       }
-      const readable = new Readable({
-        objectMode: true,
-        highWaterMark: 1,
-        // TODO(ronag): What options should be allowed?
-        ...opts
-      });
-      let reading = false;
-      readable._read = function() {
-        if (!reading) {
-          reading = true;
-          next();
+      return url;
+    }
+    function parseURL(url) {
+      if (typeof url === "string") {
+        url = new URL(url);
+        if (!/^https?:/.test(url.origin || url.protocol)) {
+          throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
         }
-      };
-      readable._destroy = function(error3, cb) {
-        PromisePrototypeThen(
-          close(error3),
-          () => process2.nextTick(cb, error3),
-          // nextTick is here in case cb throws
-          (e) => process2.nextTick(cb, e || error3)
-        );
-      };
-      async function close(error3) {
-        const hadError = error3 !== void 0 && error3 !== null;
-        const hasThrow = typeof iterator2.throw === "function";
-        if (hadError && hasThrow) {
-          const { value, done } = await iterator2.throw(error3);
-          await value;
-          if (done) {
-            return;
-          }
+        return url;
+      }
+      if (!url || typeof url !== "object") {
+        throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object.");
+      }
+      if (!/^https?:/.test(url.origin || url.protocol)) {
+        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
+      }
+      if (!(url instanceof URL)) {
+        if (url.port != null && url.port !== "" && !Number.isFinite(parseInt(url.port))) {
+          throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer.");
         }
-        if (typeof iterator2.return === "function") {
-          const { value } = await iterator2.return();
-          await value;
+        if (url.path != null && typeof url.path !== "string") {
+          throw new InvalidArgumentError("Invalid URL path: the path must be a string or null/undefined.");
         }
-      }
-      async function next() {
-        for (; ; ) {
-          try {
-            const { value, done } = isAsync ? await iterator2.next() : iterator2.next();
-            if (done) {
-              readable.push(null);
-            } else {
-              const res = value && typeof value.then === "function" ? await value : value;
-              if (res === null) {
-                reading = false;
-                throw new ERR_STREAM_NULL_VALUES();
-              } else if (readable.push(res)) {
-                continue;
-              } else {
-                reading = false;
-              }
-            }
-          } catch (err) {
-            readable.destroy(err);
-          }
-          break;
+        if (url.pathname != null && typeof url.pathname !== "string") {
+          throw new InvalidArgumentError("Invalid URL pathname: the pathname must be a string or null/undefined.");
+        }
+        if (url.hostname != null && typeof url.hostname !== "string") {
+          throw new InvalidArgumentError("Invalid URL hostname: the hostname must be a string or null/undefined.");
+        }
+        if (url.origin != null && typeof url.origin !== "string") {
+          throw new InvalidArgumentError("Invalid URL origin: the origin must be a string or null/undefined.");
+        }
+        const port = url.port != null ? url.port : url.protocol === "https:" ? 443 : 80;
+        let origin = url.origin != null ? url.origin : `${url.protocol}//${url.hostname}:${port}`;
+        let path3 = url.path != null ? url.path : `${url.pathname || ""}${url.search || ""}`;
+        if (origin.endsWith("/")) {
+          origin = origin.substring(0, origin.length - 1);
+        }
+        if (path3 && !path3.startsWith("/")) {
+          path3 = `/${path3}`;
         }
+        url = new URL(origin + path3);
       }
-      return readable;
+      return url;
     }
-    module2.exports = from;
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/readable.js
-var require_readable4 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/readable.js"(exports2, module2) {
-    var process2 = require_process();
-    var {
-      ArrayPrototypeIndexOf,
-      NumberIsInteger,
-      NumberIsNaN,
-      NumberParseInt,
-      ObjectDefineProperties,
-      ObjectKeys,
-      ObjectSetPrototypeOf,
-      Promise: Promise2,
-      SafeSet,
-      SymbolAsyncDispose,
-      SymbolAsyncIterator,
-      Symbol: Symbol2
-    } = require_primordials();
-    module2.exports = Readable;
-    Readable.ReadableState = ReadableState;
-    var { EventEmitter: EE } = require("events");
-    var { Stream, prependListener } = require_legacy();
-    var { Buffer: Buffer2 } = require("buffer");
-    var { addAbortSignal } = require_add_abort_signal();
-    var eos = require_end_of_stream();
-    var debug4 = require_util19().debuglog("stream", (fn) => {
-      debug4 = fn;
-    });
-    var BufferList = require_buffer_list();
-    var destroyImpl = require_destroy2();
-    var { getHighWaterMark, getDefaultHighWaterMark } = require_state3();
-    var {
-      aggregateTwoErrors,
-      codes: {
-        ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,
-        ERR_METHOD_NOT_IMPLEMENTED,
-        ERR_OUT_OF_RANGE,
-        ERR_STREAM_PUSH_AFTER_EOF,
-        ERR_STREAM_UNSHIFT_AFTER_END_EVENT
-      },
-      AbortError
-    } = require_errors4();
-    var { validateObject } = require_validators();
-    var kPaused = Symbol2("kPaused");
-    var { StringDecoder } = require("string_decoder");
-    var from = require_from();
-    ObjectSetPrototypeOf(Readable.prototype, Stream.prototype);
-    ObjectSetPrototypeOf(Readable, Stream);
-    var nop = () => {
-    };
-    var { errorOrDestroy } = destroyImpl;
-    var kObjectMode = 1 << 0;
-    var kEnded = 1 << 1;
-    var kEndEmitted = 1 << 2;
-    var kReading = 1 << 3;
-    var kConstructed = 1 << 4;
-    var kSync = 1 << 5;
-    var kNeedReadable = 1 << 6;
-    var kEmittedReadable = 1 << 7;
-    var kReadableListening = 1 << 8;
-    var kResumeScheduled = 1 << 9;
-    var kErrorEmitted = 1 << 10;
-    var kEmitClose = 1 << 11;
-    var kAutoDestroy = 1 << 12;
-    var kDestroyed = 1 << 13;
-    var kClosed = 1 << 14;
-    var kCloseEmitted = 1 << 15;
-    var kMultiAwaitDrain = 1 << 16;
-    var kReadingMore = 1 << 17;
-    var kDataEmitted = 1 << 18;
-    function makeBitMapDescriptor(bit) {
-      return {
-        enumerable: false,
-        get() {
-          return (this.state & bit) !== 0;
-        },
-        set(value) {
-          if (value) this.state |= bit;
-          else this.state &= ~bit;
-        }
-      };
+    function parseOrigin(url) {
+      url = parseURL(url);
+      if (url.pathname !== "/" || url.search || url.hash) {
+        throw new InvalidArgumentError("invalid url");
+      }
+      return url;
     }
-    ObjectDefineProperties(ReadableState.prototype, {
-      objectMode: makeBitMapDescriptor(kObjectMode),
-      ended: makeBitMapDescriptor(kEnded),
-      endEmitted: makeBitMapDescriptor(kEndEmitted),
-      reading: makeBitMapDescriptor(kReading),
-      // Stream is still being constructed and cannot be
-      // destroyed until construction finished or failed.
-      // Async construction is opt in, therefore we start as
-      // constructed.
-      constructed: makeBitMapDescriptor(kConstructed),
-      // A flag to be able to tell if the event 'readable'/'data' is emitted
-      // immediately, or on a later tick.  We set this to true at first, because
-      // any actions that shouldn't happen until "later" should generally also
-      // not happen before the first read call.
-      sync: makeBitMapDescriptor(kSync),
-      // Whenever we return null, then we set a flag to say
-      // that we're awaiting a 'readable' event emission.
-      needReadable: makeBitMapDescriptor(kNeedReadable),
-      emittedReadable: makeBitMapDescriptor(kEmittedReadable),
-      readableListening: makeBitMapDescriptor(kReadableListening),
-      resumeScheduled: makeBitMapDescriptor(kResumeScheduled),
-      // True if the error was already emitted and should not be thrown again.
-      errorEmitted: makeBitMapDescriptor(kErrorEmitted),
-      emitClose: makeBitMapDescriptor(kEmitClose),
-      autoDestroy: makeBitMapDescriptor(kAutoDestroy),
-      // Has it been destroyed.
-      destroyed: makeBitMapDescriptor(kDestroyed),
-      // Indicates whether the stream has finished destroying.
-      closed: makeBitMapDescriptor(kClosed),
-      // True if close has been emitted or would have been emitted
-      // depending on emitClose.
-      closeEmitted: makeBitMapDescriptor(kCloseEmitted),
-      multiAwaitDrain: makeBitMapDescriptor(kMultiAwaitDrain),
-      // If true, a maybeReadMore has been scheduled.
-      readingMore: makeBitMapDescriptor(kReadingMore),
-      dataEmitted: makeBitMapDescriptor(kDataEmitted)
-    });
-    function ReadableState(options, stream, isDuplex) {
-      if (typeof isDuplex !== "boolean") isDuplex = stream instanceof require_duplex();
-      this.state = kEmitClose | kAutoDestroy | kConstructed | kSync;
-      if (options && options.objectMode) this.state |= kObjectMode;
-      if (isDuplex && options && options.readableObjectMode) this.state |= kObjectMode;
-      this.highWaterMark = options ? getHighWaterMark(this, options, "readableHighWaterMark", isDuplex) : getDefaultHighWaterMark(false);
-      this.buffer = new BufferList();
-      this.length = 0;
-      this.pipes = [];
-      this.flowing = null;
-      this[kPaused] = null;
-      if (options && options.emitClose === false) this.state &= ~kEmitClose;
-      if (options && options.autoDestroy === false) this.state &= ~kAutoDestroy;
-      this.errored = null;
-      this.defaultEncoding = options && options.defaultEncoding || "utf8";
-      this.awaitDrainWriters = null;
-      this.decoder = null;
-      this.encoding = null;
-      if (options && options.encoding) {
-        this.decoder = new StringDecoder(options.encoding);
-        this.encoding = options.encoding;
+    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 Readable(options) {
-      if (!(this instanceof Readable)) return new Readable(options);
-      const isDuplex = this instanceof require_duplex();
-      this._readableState = new ReadableState(options, this, isDuplex);
-      if (options) {
-        if (typeof options.read === "function") this._read = options.read;
-        if (typeof options.destroy === "function") this._destroy = options.destroy;
-        if (typeof options.construct === "function") this._construct = options.construct;
-        if (options.signal && !isDuplex) addAbortSignal(options.signal, this);
+    function getServerName(host) {
+      if (!host) {
+        return null;
       }
-      Stream.call(this, options);
-      destroyImpl.construct(this, () => {
-        if (this._readableState.needReadable) {
-          maybeReadMore(this, this._readableState);
-        }
-      });
+      assert.strictEqual(typeof host, "string");
+      const servername = getHostname(host);
+      if (net.isIP(servername)) {
+        return "";
+      }
+      return servername;
     }
-    Readable.prototype.destroy = destroyImpl.destroy;
-    Readable.prototype._undestroy = destroyImpl.undestroy;
-    Readable.prototype._destroy = function(err, cb) {
-      cb(err);
-    };
-    Readable.prototype[EE.captureRejectionSymbol] = function(err) {
-      this.destroy(err);
-    };
-    Readable.prototype[SymbolAsyncDispose] = function() {
-      let error3;
-      if (!this.destroyed) {
-        error3 = this.readableEnded ? null : new AbortError();
-        this.destroy(error3);
+    function deepClone(obj) {
+      return JSON.parse(JSON.stringify(obj));
+    }
+    function isAsyncIterable(obj) {
+      return !!(obj != null && typeof obj[Symbol.asyncIterator] === "function");
+    }
+    function isIterable(obj) {
+      return !!(obj != null && (typeof obj[Symbol.iterator] === "function" || typeof obj[Symbol.asyncIterator] === "function"));
+    }
+    function bodyLength(body) {
+      if (body == null) {
+        return 0;
+      } else if (isStream(body)) {
+        const state = body._readableState;
+        return state && state.objectMode === false && state.ended === true && Number.isFinite(state.length) ? state.length : null;
+      } else if (isBlobLike(body)) {
+        return body.size != null ? body.size : null;
+      } else if (isBuffer(body)) {
+        return body.byteLength;
       }
-      return new Promise2((resolve2, reject) => eos(this, (err) => err && err !== error3 ? reject(err) : resolve2(null)));
-    };
-    Readable.prototype.push = function(chunk, encoding) {
-      return readableAddChunk(this, chunk, encoding, false);
-    };
-    Readable.prototype.unshift = function(chunk, encoding) {
-      return readableAddChunk(this, chunk, encoding, true);
-    };
-    function readableAddChunk(stream, chunk, encoding, addToFront) {
-      debug4("readableAddChunk", chunk);
-      const state = stream._readableState;
-      let err;
-      if ((state.state & kObjectMode) === 0) {
-        if (typeof chunk === "string") {
-          encoding = encoding || state.defaultEncoding;
-          if (state.encoding !== encoding) {
-            if (addToFront && state.encoding) {
-              chunk = Buffer2.from(chunk, encoding).toString(state.encoding);
-            } else {
-              chunk = Buffer2.from(chunk, encoding);
-              encoding = "";
-            }
-          }
-        } else if (chunk instanceof Buffer2) {
-          encoding = "";
-        } else if (Stream._isUint8Array(chunk)) {
-          chunk = Stream._uint8ArrayToBuffer(chunk);
-          encoding = "";
-        } else if (chunk != null) {
-          err = new ERR_INVALID_ARG_TYPE2("chunk", ["string", "Buffer", "Uint8Array"], chunk);
+      return null;
+    }
+    function isDestroyed(stream2) {
+      return !stream2 || !!(stream2.destroyed || stream2[kDestroyed]);
+    }
+    function isReadableAborted(stream2) {
+      const state = stream2 && stream2._readableState;
+      return isDestroyed(stream2) && state && !state.endEmitted;
+    }
+    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) {
+        process.nextTick((stream3, err2) => {
+          stream3.emit("error", err2);
+        }, stream2, err);
       }
-      if (err) {
-        errorOrDestroy(stream, err);
-      } else if (chunk === null) {
-        state.state &= ~kReading;
-        onEofChunk(stream, state);
-      } else if ((state.state & kObjectMode) !== 0 || chunk && chunk.length > 0) {
-        if (addToFront) {
-          if ((state.state & kEndEmitted) !== 0) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());
-          else if (state.destroyed || state.errored) return false;
-          else addChunk(stream, state, chunk, true);
-        } else if (state.ended) {
-          errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());
-        } else if (state.destroyed || state.errored) {
-          return false;
-        } else {
-          state.state &= ~kReading;
-          if (state.decoder && !encoding) {
-            chunk = state.decoder.write(chunk);
-            if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);
-            else maybeReadMore(stream, state);
+      if (stream2.destroyed !== true) {
+        stream2[kDestroyed] = true;
+      }
+    }
+    var KEEPALIVE_TIMEOUT_EXPR = /timeout=(\d+)/;
+    function parseKeepAliveTimeout(val) {
+      const m = val.toString().match(KEEPALIVE_TIMEOUT_EXPR);
+      return m ? parseInt(m[1], 10) * 1e3 : null;
+    }
+    function headerNameToString(value) {
+      return headerNameLowerCasedRecord[value] || value.toLowerCase();
+    }
+    function parseHeaders(headers, obj = {}) {
+      if (!Array.isArray(headers)) return headers;
+      for (let i = 0; i < headers.length; i += 2) {
+        const key = headers[i].toString().toLowerCase();
+        let val = obj[key];
+        if (!val) {
+          if (Array.isArray(headers[i + 1])) {
+            obj[key] = headers[i + 1].map((x) => x.toString("utf8"));
           } else {
-            addChunk(stream, state, chunk, false);
+            obj[key] = headers[i + 1].toString("utf8");
+          }
+        } else {
+          if (!Array.isArray(val)) {
+            val = [val];
+            obj[key] = val;
           }
+          val.push(headers[i + 1].toString("utf8"));
         }
-      } else if (!addToFront) {
-        state.state &= ~kReading;
-        maybeReadMore(stream, state);
       }
-      return !state.ended && (state.length < state.highWaterMark || state.length === 0);
+      if ("content-length" in obj && "content-disposition" in obj) {
+        obj["content-disposition"] = Buffer.from(obj["content-disposition"]).toString("latin1");
+      }
+      return obj;
     }
-    function addChunk(stream, state, chunk, addToFront) {
-      if (state.flowing && state.length === 0 && !state.sync && stream.listenerCount("data") > 0) {
-        if ((state.state & kMultiAwaitDrain) !== 0) {
-          state.awaitDrainWriters.clear();
+    function parseRawHeaders(headers) {
+      const ret = [];
+      let hasContentLength = false;
+      let contentDispositionIdx = -1;
+      for (let n = 0; n < headers.length; n += 2) {
+        const key = headers[n + 0].toString();
+        const val = headers[n + 1].toString("utf8");
+        if (key.length === 14 && (key === "content-length" || key.toLowerCase() === "content-length")) {
+          ret.push(key, val);
+          hasContentLength = true;
+        } else if (key.length === 19 && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
+          contentDispositionIdx = ret.push(key, val) - 1;
         } else {
-          state.awaitDrainWriters = null;
+          ret.push(key, val);
         }
-        state.dataEmitted = true;
-        stream.emit("data", chunk);
-      } else {
-        state.length += state.objectMode ? 1 : chunk.length;
-        if (addToFront) state.buffer.unshift(chunk);
-        else state.buffer.push(chunk);
-        if ((state.state & kNeedReadable) !== 0) emitReadable(stream);
       }
-      maybeReadMore(stream, state);
+      if (hasContentLength && contentDispositionIdx !== -1) {
+        ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1");
+      }
+      return ret;
     }
-    Readable.prototype.isPaused = function() {
-      const state = this._readableState;
-      return state[kPaused] === true || state.flowing === false;
-    };
-    Readable.prototype.setEncoding = function(enc) {
-      const decoder = new StringDecoder(enc);
-      this._readableState.decoder = decoder;
-      this._readableState.encoding = this._readableState.decoder.encoding;
-      const buffer = this._readableState.buffer;
-      let content = "";
-      for (const data of buffer) {
-        content += decoder.write(data);
+    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");
       }
-      buffer.clear();
-      if (content !== "") buffer.push(content);
-      this._readableState.length = content.length;
-      return this;
-    };
-    var MAX_HWM = 1073741824;
-    function computeNewHighWaterMark(n) {
-      if (n > MAX_HWM) {
-        throw new ERR_OUT_OF_RANGE("size", "<= 1GiB", n);
+      if (typeof handler2.onConnect !== "function") {
+        throw new InvalidArgumentError("invalid onConnect method");
+      }
+      if (typeof handler2.onError !== "function") {
+        throw new InvalidArgumentError("invalid onError method");
+      }
+      if (typeof handler2.onBodySent !== "function" && handler2.onBodySent !== void 0) {
+        throw new InvalidArgumentError("invalid onBodySent method");
+      }
+      if (upgrade || method === "CONNECT") {
+        if (typeof handler2.onUpgrade !== "function") {
+          throw new InvalidArgumentError("invalid onUpgrade method");
+        }
       } else {
-        n--;
-        n |= n >>> 1;
-        n |= n >>> 2;
-        n |= n >>> 4;
-        n |= n >>> 8;
-        n |= n >>> 16;
-        n++;
+        if (typeof handler2.onHeaders !== "function") {
+          throw new InvalidArgumentError("invalid onHeaders method");
+        }
+        if (typeof handler2.onData !== "function") {
+          throw new InvalidArgumentError("invalid onData method");
+        }
+        if (typeof handler2.onComplete !== "function") {
+          throw new InvalidArgumentError("invalid onComplete method");
+        }
       }
-      return n;
     }
-    function howMuchToRead(n, state) {
-      if (n <= 0 || state.length === 0 && state.ended) return 0;
-      if ((state.state & kObjectMode) !== 0) return 1;
-      if (NumberIsNaN(n)) {
-        if (state.flowing && state.length) return state.buffer.first().length;
-        return state.length;
-      }
-      if (n <= state.length) return n;
-      return state.ended ? state.length : 0;
+    function isDisturbed(body) {
+      return !!(body && (stream.isDisturbed ? stream.isDisturbed(body) || body[kBodyUsed] : body[kBodyUsed] || body.readableDidRead || body._readableState && body._readableState.dataEmitted || isReadableAborted(body)));
     }
-    Readable.prototype.read = function(n) {
-      debug4("read", n);
-      if (n === void 0) {
-        n = NaN;
-      } else if (!NumberIsInteger(n)) {
-        n = NumberParseInt(n, 10);
-      }
-      const state = this._readableState;
-      const nOrig = n;
-      if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);
-      if (n !== 0) state.state &= ~kEmittedReadable;
-      if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {
-        debug4("read: emitReadable", state.length, state.ended);
-        if (state.length === 0 && state.ended) endReadable(this);
-        else emitReadable(this);
-        return null;
+    function isErrored(body) {
+      return !!(body && (stream.isErrored ? stream.isErrored(body) : /state: 'errored'/.test(
+        nodeUtil.inspect(body)
+      )));
+    }
+    function isReadable(body) {
+      return !!(body && (stream.isReadable ? stream.isReadable(body) : /state: 'readable'/.test(
+        nodeUtil.inspect(body)
+      )));
+    }
+    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
+      };
+    }
+    async function* convertIterableToBuffer(iterable) {
+      for await (const chunk of iterable) {
+        yield Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
       }
-      n = howMuchToRead(n, state);
-      if (n === 0 && state.ended) {
-        if (state.length === 0) endReadable(this);
-        return null;
+    }
+    var ReadableStream2;
+    function ReadableStreamFrom(iterable) {
+      if (!ReadableStream2) {
+        ReadableStream2 = require("stream/web").ReadableStream;
       }
-      let doRead = (state.state & kNeedReadable) !== 0;
-      debug4("need readable", doRead);
-      if (state.length === 0 || state.length - n < state.highWaterMark) {
-        doRead = true;
-        debug4("length less than watermark", doRead);
+      if (ReadableStream2.from) {
+        return ReadableStream2.from(convertIterableToBuffer(iterable));
       }
-      if (state.ended || state.reading || state.destroyed || state.errored || !state.constructed) {
-        doRead = false;
-        debug4("reading, ended or constructing", doRead);
-      } else if (doRead) {
-        debug4("do read");
-        state.state |= kReading | kSync;
-        if (state.length === 0) state.state |= kNeedReadable;
-        try {
-          this._read(state.highWaterMark);
-        } catch (err) {
-          errorOrDestroy(this, err);
-        }
-        state.state &= ~kSync;
-        if (!state.reading) n = howMuchToRead(nOrig, state);
+      let iterator2;
+      return new ReadableStream2(
+        {
+          async start() {
+            iterator2 = iterable[Symbol.asyncIterator]();
+          },
+          async pull(controller) {
+            const { done, value } = await iterator2.next();
+            if (done) {
+              queueMicrotask(() => {
+                controller.close();
+              });
+            } else {
+              const buf = Buffer.isBuffer(value) ? value : Buffer.from(value);
+              controller.enqueue(new Uint8Array(buf));
+            }
+            return controller.desiredSize > 0;
+          },
+          async cancel(reason) {
+            await iterator2.return();
+          }
+        },
+        0
+      );
+    }
+    function isFormDataLike(object) {
+      return object && typeof object === "object" && typeof object.append === "function" && typeof object.delete === "function" && typeof object.get === "function" && typeof object.getAll === "function" && typeof object.has === "function" && typeof object.set === "function" && object[Symbol.toStringTag] === "FormData";
+    }
+    function throwIfAborted(signal) {
+      if (!signal) {
+        return;
       }
-      let ret;
-      if (n > 0) ret = fromList(n, state);
-      else ret = null;
-      if (ret === null) {
-        state.needReadable = state.length <= state.highWaterMark;
-        n = 0;
+      if (typeof signal.throwIfAborted === "function") {
+        signal.throwIfAborted();
       } else {
-        state.length -= n;
-        if (state.multiAwaitDrain) {
-          state.awaitDrainWriters.clear();
-        } else {
-          state.awaitDrainWriters = null;
+        if (signal.aborted) {
+          const err = new Error("The operation was aborted");
+          err.name = "AbortError";
+          throw err;
         }
       }
-      if (state.length === 0) {
-        if (!state.ended) state.needReadable = true;
-        if (nOrig !== n && state.ended) endReadable(this);
+    }
+    function addAbortListener(signal, listener) {
+      if ("addEventListener" in signal) {
+        signal.addEventListener("abort", listener, { once: true });
+        return () => signal.removeEventListener("abort", listener);
       }
-      if (ret !== null && !state.errorEmitted && !state.closeEmitted) {
-        state.dataEmitted = true;
-        this.emit("data", ret);
+      signal.addListener("abort", listener);
+      return () => signal.removeListener("abort", listener);
+    }
+    var hasToWellFormed = !!String.prototype.toWellFormed;
+    function toUSVString(val) {
+      if (hasToWellFormed) {
+        return `${val}`.toWellFormed();
+      } else if (nodeUtil.toUSVString) {
+        return nodeUtil.toUSVString(val);
       }
-      return ret;
+      return `${val}`;
+    }
+    function parseRangeHeader(range) {
+      if (range == null || range === "") return { start: 0, end: null, size: null };
+      const m = range ? range.match(/^bytes (\d+)-(\d+)\/(\d+)?$/) : null;
+      return m ? {
+        start: parseInt(m[1]),
+        end: m[2] ? parseInt(m[2]) : null,
+        size: m[3] ? parseInt(m[3]) : null
+      } : null;
+    }
+    var kEnumerableProperty = /* @__PURE__ */ Object.create(null);
+    kEnumerableProperty.enumerable = true;
+    module2.exports = {
+      kEnumerableProperty,
+      nop,
+      isDisturbed,
+      isErrored,
+      isReadable,
+      toUSVString,
+      isReadableAborted,
+      isBlobLike,
+      parseOrigin,
+      parseURL,
+      getServerName,
+      isStream,
+      isIterable,
+      isAsyncIterable,
+      isDestroyed,
+      headerNameToString,
+      parseRawHeaders,
+      parseHeaders,
+      parseKeepAliveTimeout,
+      destroy,
+      bodyLength,
+      deepClone,
+      ReadableStreamFrom,
+      isBuffer,
+      validateHandler,
+      getSocketInfo,
+      isFormDataLike,
+      buildURL,
+      throwIfAborted,
+      addAbortListener,
+      parseRangeHeader,
+      nodeMajor,
+      nodeMinor,
+      nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13,
+      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"]
     };
-    function onEofChunk(stream, state) {
-      debug4("onEofChunk");
-      if (state.ended) return;
-      if (state.decoder) {
-        const chunk = state.decoder.end();
-        if (chunk && chunk.length) {
-          state.buffer.push(chunk);
-          state.length += state.objectMode ? 1 : chunk.length;
+  }
+});
+
+// node_modules/undici/lib/timers.js
+var require_timers3 = __commonJS({
+  "node_modules/undici/lib/timers.js"(exports2, module2) {
+    "use strict";
+    var fastNow = Date.now();
+    var fastNowTimeout;
+    var fastTimers = [];
+    function onTimeout() {
+      fastNow = Date.now();
+      let len = fastTimers.length;
+      let idx = 0;
+      while (idx < len) {
+        const timer = fastTimers[idx];
+        if (timer.state === 0) {
+          timer.state = fastNow + timer.delay;
+        } else if (timer.state > 0 && fastNow >= timer.state) {
+          timer.state = -1;
+          timer.callback(timer.opaque);
+        }
+        if (timer.state === -1) {
+          timer.state = -2;
+          if (idx !== len - 1) {
+            fastTimers[idx] = fastTimers.pop();
+          } else {
+            fastTimers.pop();
+          }
+          len -= 1;
+        } else {
+          idx += 1;
         }
       }
-      state.ended = true;
-      if (state.sync) {
-        emitReadable(stream);
-      } else {
-        state.needReadable = false;
-        state.emittedReadable = true;
-        emitReadable_(stream);
+      if (fastTimers.length > 0) {
+        refreshTimeout();
       }
     }
-    function emitReadable(stream) {
-      const state = stream._readableState;
-      debug4("emitReadable", state.needReadable, state.emittedReadable);
-      state.needReadable = false;
-      if (!state.emittedReadable) {
-        debug4("emitReadable", state.flowing);
-        state.emittedReadable = true;
-        process2.nextTick(emitReadable_, stream);
+    function refreshTimeout() {
+      if (fastNowTimeout && fastNowTimeout.refresh) {
+        fastNowTimeout.refresh();
+      } else {
+        clearTimeout(fastNowTimeout);
+        fastNowTimeout = setTimeout(onTimeout, 1e3);
+        if (fastNowTimeout.unref) {
+          fastNowTimeout.unref();
+        }
       }
     }
-    function emitReadable_(stream) {
-      const state = stream._readableState;
-      debug4("emitReadable_", state.destroyed, state.length, state.ended);
-      if (!state.destroyed && !state.errored && (state.length || state.ended)) {
-        stream.emit("readable");
-        state.emittedReadable = false;
+    var Timeout = class {
+      constructor(callback, delay, opaque) {
+        this.callback = callback;
+        this.delay = delay;
+        this.opaque = opaque;
+        this.state = -2;
+        this.refresh();
+      }
+      refresh() {
+        if (this.state === -2) {
+          fastTimers.push(this);
+          if (!fastNowTimeout || fastTimers.length === 1) {
+            refreshTimeout();
+          }
+        }
+        this.state = 0;
+      }
+      clear() {
+        this.state = -1;
+      }
+    };
+    module2.exports = {
+      setTimeout(callback, delay, opaque) {
+        return delay < 1e3 ? setTimeout(callback, delay, opaque) : new Timeout(callback, delay, opaque);
+      },
+      clearTimeout(timeout) {
+        if (timeout instanceof Timeout) {
+          timeout.clear();
+        } else {
+          clearTimeout(timeout);
+        }
+      }
+    };
+  }
+});
+
+// node_modules/@fastify/busboy/deps/streamsearch/sbmh.js
+var require_sbmh = __commonJS({
+  "node_modules/@fastify/busboy/deps/streamsearch/sbmh.js"(exports2, module2) {
+    "use strict";
+    var EventEmitter = require("node:events").EventEmitter;
+    var inherits = require("node:util").inherits;
+    function SBMH(needle) {
+      if (typeof needle === "string") {
+        needle = Buffer.from(needle);
+      }
+      if (!Buffer.isBuffer(needle)) {
+        throw new TypeError("The needle has to be a String or a Buffer.");
       }
-      state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;
-      flow(stream);
-    }
-    function maybeReadMore(stream, state) {
-      if (!state.readingMore && state.constructed) {
-        state.readingMore = true;
-        process2.nextTick(maybeReadMore_, stream, state);
+      const needleLength = needle.length;
+      if (needleLength === 0) {
+        throw new Error("The needle cannot be an empty String/Buffer.");
       }
-    }
-    function maybeReadMore_(stream, state) {
-      while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {
-        const len = state.length;
-        debug4("maybeReadMore read 0");
-        stream.read(0);
-        if (len === state.length)
-          break;
+      if (needleLength > 256) {
+        throw new Error("The needle cannot have a length bigger than 256.");
+      }
+      this.maxMatches = Infinity;
+      this.matches = 0;
+      this._occ = new Array(256).fill(needleLength);
+      this._lookbehind_size = 0;
+      this._needle = needle;
+      this._bufpos = 0;
+      this._lookbehind = Buffer.alloc(needleLength);
+      for (var i = 0; i < needleLength - 1; ++i) {
+        this._occ[needle[i]] = needleLength - 1 - i;
       }
-      state.readingMore = false;
     }
-    Readable.prototype._read = function(n) {
-      throw new ERR_METHOD_NOT_IMPLEMENTED("_read()");
+    inherits(SBMH, EventEmitter);
+    SBMH.prototype.reset = function() {
+      this._lookbehind_size = 0;
+      this.matches = 0;
+      this._bufpos = 0;
     };
-    Readable.prototype.pipe = function(dest, pipeOpts) {
-      const src = this;
-      const state = this._readableState;
-      if (state.pipes.length === 1) {
-        if (!state.multiAwaitDrain) {
-          state.multiAwaitDrain = true;
-          state.awaitDrainWriters = new SafeSet(state.awaitDrainWriters ? [state.awaitDrainWriters] : []);
-        }
-      }
-      state.pipes.push(dest);
-      debug4("pipe count=%d opts=%j", state.pipes.length, pipeOpts);
-      const doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process2.stdout && dest !== process2.stderr;
-      const endFn = doEnd ? onend : unpipe;
-      if (state.endEmitted) process2.nextTick(endFn);
-      else src.once("end", endFn);
-      dest.on("unpipe", onunpipe);
-      function onunpipe(readable, unpipeInfo) {
-        debug4("onunpipe");
-        if (readable === src) {
-          if (unpipeInfo && unpipeInfo.hasUnpiped === false) {
-            unpipeInfo.hasUnpiped = true;
-            cleanup();
-          }
-        }
-      }
-      function onend() {
-        debug4("onend");
-        dest.end();
+    SBMH.prototype.push = function(chunk, pos) {
+      if (!Buffer.isBuffer(chunk)) {
+        chunk = Buffer.from(chunk, "binary");
       }
-      let ondrain;
-      let cleanedUp = false;
-      function cleanup() {
-        debug4("cleanup");
-        dest.removeListener("close", onclose);
-        dest.removeListener("finish", onfinish);
-        if (ondrain) {
-          dest.removeListener("drain", ondrain);
-        }
-        dest.removeListener("error", onerror);
-        dest.removeListener("unpipe", onunpipe);
-        src.removeListener("end", onend);
-        src.removeListener("end", unpipe);
-        src.removeListener("data", ondata);
-        cleanedUp = true;
-        if (ondrain && state.awaitDrainWriters && (!dest._writableState || dest._writableState.needDrain)) ondrain();
+      const chlen = chunk.length;
+      this._bufpos = pos || 0;
+      let r;
+      while (r !== chlen && this.matches < this.maxMatches) {
+        r = this._sbmh_feed(chunk);
       }
-      function pause() {
-        if (!cleanedUp) {
-          if (state.pipes.length === 1 && state.pipes[0] === dest) {
-            debug4("false write response, pause", 0);
-            state.awaitDrainWriters = dest;
-            state.multiAwaitDrain = false;
-          } else if (state.pipes.length > 1 && state.pipes.includes(dest)) {
-            debug4("false write response, pause", state.awaitDrainWriters.size);
-            state.awaitDrainWriters.add(dest);
+      return r;
+    };
+    SBMH.prototype._sbmh_feed = function(data) {
+      const len = data.length;
+      const needle = this._needle;
+      const needleLength = needle.length;
+      const lastNeedleChar = needle[needleLength - 1];
+      let pos = -this._lookbehind_size;
+      let ch;
+      if (pos < 0) {
+        while (pos < 0 && pos <= len - needleLength) {
+          ch = this._sbmh_lookup_char(data, pos + needleLength - 1);
+          if (ch === lastNeedleChar && this._sbmh_memcmp(data, pos, needleLength - 1)) {
+            this._lookbehind_size = 0;
+            ++this.matches;
+            this.emit("info", true);
+            return this._bufpos = pos + needleLength;
           }
-          src.pause();
-        }
-        if (!ondrain) {
-          ondrain = pipeOnDrain(src, dest);
-          dest.on("drain", ondrain);
+          pos += this._occ[ch];
         }
-      }
-      src.on("data", ondata);
-      function ondata(chunk) {
-        debug4("ondata");
-        const ret = dest.write(chunk);
-        debug4("dest.write", ret);
-        if (ret === false) {
-          pause();
+        if (pos < 0) {
+          while (pos < 0 && !this._sbmh_memcmp(data, pos, len - pos)) {
+            ++pos;
+          }
         }
-      }
-      function onerror(er) {
-        debug4("onerror", er);
-        unpipe();
-        dest.removeListener("error", onerror);
-        if (dest.listenerCount("error") === 0) {
-          const s = dest._writableState || dest._readableState;
-          if (s && !s.errorEmitted) {
-            errorOrDestroy(dest, er);
-          } else {
-            dest.emit("error", er);
+        if (pos >= 0) {
+          this.emit("info", false, this._lookbehind, 0, this._lookbehind_size);
+          this._lookbehind_size = 0;
+        } else {
+          const bytesToCutOff = this._lookbehind_size + pos;
+          if (bytesToCutOff > 0) {
+            this.emit("info", false, this._lookbehind, 0, bytesToCutOff);
           }
+          this._lookbehind.copy(
+            this._lookbehind,
+            0,
+            bytesToCutOff,
+            this._lookbehind_size - bytesToCutOff
+          );
+          this._lookbehind_size -= bytesToCutOff;
+          data.copy(this._lookbehind, this._lookbehind_size);
+          this._lookbehind_size += len;
+          this._bufpos = len;
+          return len;
         }
       }
-      prependListener(dest, "error", onerror);
-      function onclose() {
-        dest.removeListener("finish", onfinish);
-        unpipe();
+      pos += (pos >= 0) * this._bufpos;
+      if (data.indexOf(needle, pos) !== -1) {
+        pos = data.indexOf(needle, pos);
+        ++this.matches;
+        if (pos > 0) {
+          this.emit("info", true, data, this._bufpos, pos);
+        } else {
+          this.emit("info", true);
+        }
+        return this._bufpos = pos + needleLength;
+      } else {
+        pos = len - needleLength;
       }
-      dest.once("close", onclose);
-      function onfinish() {
-        debug4("onfinish");
-        dest.removeListener("close", onclose);
-        unpipe();
+      while (pos < len && (data[pos] !== needle[0] || Buffer.compare(
+        data.subarray(pos, pos + len - pos),
+        needle.subarray(0, len - pos)
+      ) !== 0)) {
+        ++pos;
       }
-      dest.once("finish", onfinish);
-      function unpipe() {
-        debug4("unpipe");
-        src.unpipe(dest);
+      if (pos < len) {
+        data.copy(this._lookbehind, 0, pos, pos + (len - pos));
+        this._lookbehind_size = len - pos;
       }
-      dest.emit("pipe", src);
-      if (dest.writableNeedDrain === true) {
-        pause();
-      } else if (!state.flowing) {
-        debug4("pipe resume");
-        src.resume();
+      if (pos > 0) {
+        this.emit("info", false, data, this._bufpos, pos < len ? pos : len);
       }
-      return dest;
+      this._bufpos = len;
+      return len;
     };
-    function pipeOnDrain(src, dest) {
-      return function pipeOnDrainFunctionResult() {
-        const state = src._readableState;
-        if (state.awaitDrainWriters === dest) {
-          debug4("pipeOnDrain", 1);
-          state.awaitDrainWriters = null;
-        } else if (state.multiAwaitDrain) {
-          debug4("pipeOnDrain", state.awaitDrainWriters.size);
-          state.awaitDrainWriters.delete(dest);
-        }
-        if ((!state.awaitDrainWriters || state.awaitDrainWriters.size === 0) && src.listenerCount("data")) {
-          src.resume();
+    SBMH.prototype._sbmh_lookup_char = function(data, pos) {
+      return pos < 0 ? this._lookbehind[this._lookbehind_size + pos] : data[pos];
+    };
+    SBMH.prototype._sbmh_memcmp = function(data, pos, len) {
+      for (var i = 0; i < len; ++i) {
+        if (this._sbmh_lookup_char(data, pos + i) !== this._needle[i]) {
+          return false;
         }
-      };
+      }
+      return true;
+    };
+    module2.exports = SBMH;
+  }
+});
+
+// node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js
+var require_PartStream = __commonJS({
+  "node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js"(exports2, module2) {
+    "use strict";
+    var inherits = require("node:util").inherits;
+    var ReadableStream2 = require("node:stream").Readable;
+    function PartStream(opts) {
+      ReadableStream2.call(this, opts);
     }
-    Readable.prototype.unpipe = function(dest) {
-      const state = this._readableState;
-      const unpipeInfo = {
-        hasUnpiped: false
-      };
-      if (state.pipes.length === 0) return this;
-      if (!dest) {
-        const dests = state.pipes;
-        state.pipes = [];
-        this.pause();
-        for (let i = 0; i < dests.length; i++)
-          dests[i].emit("unpipe", this, {
-            hasUnpiped: false
-          });
-        return this;
+    inherits(PartStream, ReadableStream2);
+    PartStream.prototype._read = function(n) {
+    };
+    module2.exports = PartStream;
+  }
+});
+
+// node_modules/@fastify/busboy/lib/utils/getLimit.js
+var require_getLimit = __commonJS({
+  "node_modules/@fastify/busboy/lib/utils/getLimit.js"(exports2, module2) {
+    "use strict";
+    module2.exports = function getLimit(limits, name, defaultLimit) {
+      if (!limits || limits[name] === void 0 || limits[name] === null) {
+        return defaultLimit;
       }
-      const index = ArrayPrototypeIndexOf(state.pipes, dest);
-      if (index === -1) return this;
-      state.pipes.splice(index, 1);
-      if (state.pipes.length === 0) this.pause();
-      dest.emit("unpipe", this, unpipeInfo);
-      return this;
+      if (typeof limits[name] !== "number" || isNaN(limits[name])) {
+        throw new TypeError("Limit " + name + " is not a valid number");
+      }
+      return limits[name];
     };
-    Readable.prototype.on = function(ev, fn) {
-      const res = Stream.prototype.on.call(this, ev, fn);
-      const state = this._readableState;
-      if (ev === "data") {
-        state.readableListening = this.listenerCount("readable") > 0;
-        if (state.flowing !== false) this.resume();
-      } else if (ev === "readable") {
-        if (!state.endEmitted && !state.readableListening) {
-          state.readableListening = state.needReadable = true;
-          state.flowing = false;
-          state.emittedReadable = false;
-          debug4("on readable", state.length, state.reading);
-          if (state.length) {
-            emitReadable(this);
-          } else if (!state.reading) {
-            process2.nextTick(nReadingNextTick, this);
+  }
+});
+
+// node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js
+var require_HeaderParser = __commonJS({
+  "node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js"(exports2, module2) {
+    "use strict";
+    var EventEmitter = require("node:events").EventEmitter;
+    var inherits = require("node:util").inherits;
+    var getLimit = require_getLimit();
+    var StreamSearch = require_sbmh();
+    var B_DCRLF = Buffer.from("\r\n\r\n");
+    var RE_CRLF = /\r\n/g;
+    var RE_HDR = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/;
+    function HeaderParser(cfg) {
+      EventEmitter.call(this);
+      cfg = cfg || {};
+      const self2 = this;
+      this.nread = 0;
+      this.maxed = false;
+      this.npairs = 0;
+      this.maxHeaderPairs = getLimit(cfg, "maxHeaderPairs", 2e3);
+      this.maxHeaderSize = getLimit(cfg, "maxHeaderSize", 80 * 1024);
+      this.buffer = "";
+      this.header = {};
+      this.finished = false;
+      this.ss = new StreamSearch(B_DCRLF);
+      this.ss.on("info", function(isMatch, data, start, end) {
+        if (data && !self2.maxed) {
+          if (self2.nread + end - start >= self2.maxHeaderSize) {
+            end = self2.maxHeaderSize - self2.nread + start;
+            self2.nread = self2.maxHeaderSize;
+            self2.maxed = true;
+          } else {
+            self2.nread += end - start;
           }
+          self2.buffer += data.toString("binary", start, end);
+        }
+        if (isMatch) {
+          self2._finish();
         }
+      });
+    }
+    inherits(HeaderParser, EventEmitter);
+    HeaderParser.prototype.push = function(data) {
+      const r = this.ss.push(data);
+      if (this.finished) {
+        return r;
       }
-      return res;
     };
-    Readable.prototype.addListener = Readable.prototype.on;
-    Readable.prototype.removeListener = function(ev, fn) {
-      const res = Stream.prototype.removeListener.call(this, ev, fn);
-      if (ev === "readable") {
-        process2.nextTick(updateReadableListening, this);
-      }
-      return res;
+    HeaderParser.prototype.reset = function() {
+      this.finished = false;
+      this.buffer = "";
+      this.header = {};
+      this.ss.reset();
     };
-    Readable.prototype.off = Readable.prototype.removeListener;
-    Readable.prototype.removeAllListeners = function(ev) {
-      const res = Stream.prototype.removeAllListeners.apply(this, arguments);
-      if (ev === "readable" || ev === void 0) {
-        process2.nextTick(updateReadableListening, this);
+    HeaderParser.prototype._finish = function() {
+      if (this.buffer) {
+        this._parseHeader();
       }
-      return res;
+      this.ss.matches = this.ss.maxMatches;
+      const header = this.header;
+      this.header = {};
+      this.buffer = "";
+      this.finished = true;
+      this.nread = this.npairs = 0;
+      this.maxed = false;
+      this.emit("header", header);
     };
-    function updateReadableListening(self2) {
-      const state = self2._readableState;
-      state.readableListening = self2.listenerCount("readable") > 0;
-      if (state.resumeScheduled && state[kPaused] === false) {
-        state.flowing = true;
-      } else if (self2.listenerCount("data") > 0) {
-        self2.resume();
-      } else if (!state.readableListening) {
-        state.flowing = null;
+    HeaderParser.prototype._parseHeader = function() {
+      if (this.npairs === this.maxHeaderPairs) {
+        return;
       }
-    }
-    function nReadingNextTick(self2) {
-      debug4("readable nexttick read 0");
-      self2.read(0);
-    }
-    Readable.prototype.resume = function() {
-      const state = this._readableState;
-      if (!state.flowing) {
-        debug4("resume");
-        state.flowing = !state.readableListening;
-        resume(this, state);
+      const lines = this.buffer.split(RE_CRLF);
+      const len = lines.length;
+      let m, h;
+      for (var i = 0; i < len; ++i) {
+        if (lines[i].length === 0) {
+          continue;
+        }
+        if (lines[i][0] === "	" || lines[i][0] === " ") {
+          if (h) {
+            this.header[h][this.header[h].length - 1] += lines[i];
+            continue;
+          }
+        }
+        const posColon = lines[i].indexOf(":");
+        if (posColon === -1 || posColon === 0) {
+          return;
+        }
+        m = RE_HDR.exec(lines[i]);
+        h = m[1].toLowerCase();
+        this.header[h] = this.header[h] || [];
+        this.header[h].push(m[2] || "");
+        if (++this.npairs === this.maxHeaderPairs) {
+          break;
+        }
       }
-      state[kPaused] = false;
-      return this;
     };
-    function resume(stream, state) {
-      if (!state.resumeScheduled) {
-        state.resumeScheduled = true;
-        process2.nextTick(resume_, stream, state);
+    module2.exports = HeaderParser;
+  }
+});
+
+// node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js
+var require_Dicer = __commonJS({
+  "node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js"(exports2, module2) {
+    "use strict";
+    var WritableStream = require("node:stream").Writable;
+    var inherits = require("node:util").inherits;
+    var StreamSearch = require_sbmh();
+    var PartStream = require_PartStream();
+    var HeaderParser = require_HeaderParser();
+    var DASH = 45;
+    var B_ONEDASH = Buffer.from("-");
+    var B_CRLF = Buffer.from("\r\n");
+    var EMPTY_FN = function() {
+    };
+    function Dicer(cfg) {
+      if (!(this instanceof Dicer)) {
+        return new Dicer(cfg);
       }
-    }
-    function resume_(stream, state) {
-      debug4("resume", state.reading);
-      if (!state.reading) {
-        stream.read(0);
+      WritableStream.call(this, cfg);
+      if (!cfg || !cfg.headerFirst && typeof cfg.boundary !== "string") {
+        throw new TypeError("Boundary required");
       }
-      state.resumeScheduled = false;
-      stream.emit("resume");
-      flow(stream);
-      if (state.flowing && !state.reading) stream.read(0);
+      if (typeof cfg.boundary === "string") {
+        this.setBoundary(cfg.boundary);
+      } else {
+        this._bparser = void 0;
+      }
+      this._headerFirst = cfg.headerFirst;
+      this._dashes = 0;
+      this._parts = 0;
+      this._finished = false;
+      this._realFinish = false;
+      this._isPreamble = true;
+      this._justMatched = false;
+      this._firstWrite = true;
+      this._inHeader = true;
+      this._part = void 0;
+      this._cb = void 0;
+      this._ignoreData = false;
+      this._partOpts = { highWaterMark: cfg.partHwm };
+      this._pause = false;
+      const self2 = this;
+      this._hparser = new HeaderParser(cfg);
+      this._hparser.on("header", function(header) {
+        self2._inHeader = false;
+        self2._part.emit("header", header);
+      });
     }
-    Readable.prototype.pause = function() {
-      debug4("call pause flowing=%j", this._readableState.flowing);
-      if (this._readableState.flowing !== false) {
-        debug4("pause");
-        this._readableState.flowing = false;
-        this.emit("pause");
+    inherits(Dicer, WritableStream);
+    Dicer.prototype.emit = function(ev) {
+      if (ev === "finish" && !this._realFinish) {
+        if (!this._finished) {
+          const self2 = this;
+          process.nextTick(function() {
+            self2.emit("error", new Error("Unexpected end of multipart data"));
+            if (self2._part && !self2._ignoreData) {
+              const type2 = self2._isPreamble ? "Preamble" : "Part";
+              self2._part.emit("error", new Error(type2 + " terminated early due to unexpected end of multipart data"));
+              self2._part.push(null);
+              process.nextTick(function() {
+                self2._realFinish = true;
+                self2.emit("finish");
+                self2._realFinish = false;
+              });
+              return;
+            }
+            self2._realFinish = true;
+            self2.emit("finish");
+            self2._realFinish = false;
+          });
+        }
+      } else {
+        WritableStream.prototype.emit.apply(this, arguments);
       }
-      this._readableState[kPaused] = true;
-      return this;
     };
-    function flow(stream) {
-      const state = stream._readableState;
-      debug4("flow", state.flowing);
-      while (state.flowing && stream.read() !== null) ;
-    }
-    Readable.prototype.wrap = function(stream) {
-      let paused = false;
-      stream.on("data", (chunk) => {
-        if (!this.push(chunk) && stream.pause) {
-          paused = true;
-          stream.pause();
-        }
-      });
-      stream.on("end", () => {
-        this.push(null);
-      });
-      stream.on("error", (err) => {
-        errorOrDestroy(this, err);
-      });
-      stream.on("close", () => {
-        this.destroy();
-      });
-      stream.on("destroy", () => {
-        this.destroy();
-      });
-      this._read = () => {
-        if (paused && stream.resume) {
-          paused = false;
-          stream.resume();
+    Dicer.prototype._write = function(data, encoding, cb) {
+      if (!this._hparser && !this._bparser) {
+        return cb();
+      }
+      if (this._headerFirst && this._isPreamble) {
+        if (!this._part) {
+          this._part = new PartStream(this._partOpts);
+          if (this.listenerCount("preamble") !== 0) {
+            this.emit("preamble", this._part);
+          } else {
+            this._ignore();
+          }
         }
-      };
-      const streamKeys = ObjectKeys(stream);
-      for (let j = 1; j < streamKeys.length; j++) {
-        const i = streamKeys[j];
-        if (this[i] === void 0 && typeof stream[i] === "function") {
-          this[i] = stream[i].bind(stream);
+        const r = this._hparser.push(data);
+        if (!this._inHeader && r !== void 0 && r < data.length) {
+          data = data.slice(r);
+        } else {
+          return cb();
         }
       }
-      return this;
+      if (this._firstWrite) {
+        this._bparser.push(B_CRLF);
+        this._firstWrite = false;
+      }
+      this._bparser.push(data);
+      if (this._pause) {
+        this._cb = cb;
+      } else {
+        cb();
+      }
     };
-    Readable.prototype[SymbolAsyncIterator] = function() {
-      return streamToAsyncIterator(this);
+    Dicer.prototype.reset = function() {
+      this._part = void 0;
+      this._bparser = void 0;
+      this._hparser = void 0;
     };
-    Readable.prototype.iterator = function(options) {
-      if (options !== void 0) {
-        validateObject(options, "options");
-      }
-      return streamToAsyncIterator(this, options);
+    Dicer.prototype.setBoundary = function(boundary) {
+      const self2 = this;
+      this._bparser = new StreamSearch("\r\n--" + boundary);
+      this._bparser.on("info", function(isMatch, data, start, end) {
+        self2._oninfo(isMatch, data, start, end);
+      });
     };
-    function streamToAsyncIterator(stream, options) {
-      if (typeof stream.read !== "function") {
-        stream = Readable.wrap(stream, {
-          objectMode: true
-        });
-      }
-      const iter = createAsyncIterator(stream, options);
-      iter.stream = stream;
-      return iter;
-    }
-    async function* createAsyncIterator(stream, options) {
-      let callback = nop;
-      function next(resolve2) {
-        if (this === stream) {
-          callback();
-          callback = nop;
-        } else {
-          callback = resolve2;
-        }
+    Dicer.prototype._ignore = function() {
+      if (this._part && !this._ignoreData) {
+        this._ignoreData = true;
+        this._part.on("error", EMPTY_FN);
+        this._part.resume();
       }
-      stream.on("readable", next);
-      let error3;
-      const cleanup = eos(
-        stream,
-        {
-          writable: false
-        },
-        (err) => {
-          error3 = err ? aggregateTwoErrors(error3, err) : null;
-          callback();
-          callback = nop;
-        }
-      );
-      try {
-        while (true) {
-          const chunk = stream.destroyed ? null : stream.read();
-          if (chunk !== null) {
-            yield chunk;
-          } else if (error3) {
-            throw error3;
-          } else if (error3 === null) {
-            return;
+    };
+    Dicer.prototype._oninfo = function(isMatch, data, start, end) {
+      let buf;
+      const self2 = this;
+      let i = 0;
+      let r;
+      let shouldWriteMore = true;
+      if (!this._part && this._justMatched && data) {
+        while (this._dashes < 2 && start + i < end) {
+          if (data[start + i] === DASH) {
+            ++i;
+            ++this._dashes;
           } else {
-            await new Promise2(next);
+            if (this._dashes) {
+              buf = B_ONEDASH;
+            }
+            this._dashes = 0;
+            break;
           }
         }
-      } catch (err) {
-        error3 = aggregateTwoErrors(error3, err);
-        throw error3;
-      } finally {
-        if ((error3 || (options === null || options === void 0 ? void 0 : options.destroyOnReturn) !== false) && (error3 === void 0 || stream._readableState.autoDestroy)) {
-          destroyImpl.destroyer(stream, null);
-        } else {
-          stream.off("readable", next);
-          cleanup();
-        }
-      }
-    }
-    ObjectDefineProperties(Readable.prototype, {
-      readable: {
-        __proto__: null,
-        get() {
-          const r = this._readableState;
-          return !!r && r.readable !== false && !r.destroyed && !r.errorEmitted && !r.endEmitted;
-        },
-        set(val) {
-          if (this._readableState) {
-            this._readableState.readable = !!val;
+        if (this._dashes === 2) {
+          if (start + i < end && this.listenerCount("trailer") !== 0) {
+            this.emit("trailer", data.slice(start + i, end));
+          }
+          this.reset();
+          this._finished = true;
+          if (self2._parts === 0) {
+            self2._realFinish = true;
+            self2.emit("finish");
+            self2._realFinish = false;
           }
         }
-      },
-      readableDidRead: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return this._readableState.dataEmitted;
+        if (this._dashes) {
+          return;
         }
-      },
-      readableAborted: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return !!(this._readableState.readable !== false && (this._readableState.destroyed || this._readableState.errored) && !this._readableState.endEmitted);
+      }
+      if (this._justMatched) {
+        this._justMatched = false;
+      }
+      if (!this._part) {
+        this._part = new PartStream(this._partOpts);
+        this._part._read = function(n) {
+          self2._unpause();
+        };
+        if (this._isPreamble && this.listenerCount("preamble") !== 0) {
+          this.emit("preamble", this._part);
+        } else if (this._isPreamble !== true && this.listenerCount("part") !== 0) {
+          this.emit("part", this._part);
+        } else {
+          this._ignore();
         }
-      },
-      readableHighWaterMark: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return this._readableState.highWaterMark;
+        if (!this._isPreamble) {
+          this._inHeader = true;
         }
-      },
-      readableBuffer: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return this._readableState && this._readableState.buffer;
+      }
+      if (data && start < end && !this._ignoreData) {
+        if (this._isPreamble || !this._inHeader) {
+          if (buf) {
+            shouldWriteMore = this._part.push(buf);
+          }
+          shouldWriteMore = this._part.push(data.slice(start, end));
+          if (!shouldWriteMore) {
+            this._pause = true;
+          }
+        } else if (!this._isPreamble && this._inHeader) {
+          if (buf) {
+            this._hparser.push(buf);
+          }
+          r = this._hparser.push(data.slice(start, end));
+          if (!this._inHeader && r !== void 0 && r < end) {
+            this._oninfo(false, data, start + r, end);
+          }
         }
-      },
-      readableFlowing: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return this._readableState.flowing;
-        },
-        set: function(state) {
-          if (this._readableState) {
-            this._readableState.flowing = state;
+      }
+      if (isMatch) {
+        this._hparser.reset();
+        if (this._isPreamble) {
+          this._isPreamble = false;
+        } else {
+          if (start !== end) {
+            ++this._parts;
+            this._part.on("end", function() {
+              if (--self2._parts === 0) {
+                if (self2._finished) {
+                  self2._realFinish = true;
+                  self2.emit("finish");
+                  self2._realFinish = false;
+                } else {
+                  self2._unpause();
+                }
+              }
+            });
           }
         }
-      },
-      readableLength: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState.length;
+        this._part.push(null);
+        this._part = void 0;
+        this._ignoreData = false;
+        this._justMatched = true;
+        this._dashes = 0;
+      }
+    };
+    Dicer.prototype._unpause = function() {
+      if (!this._pause) {
+        return;
+      }
+      this._pause = false;
+      if (this._cb) {
+        const cb = this._cb;
+        this._cb = void 0;
+        cb();
+      }
+    };
+    module2.exports = Dicer;
+  }
+});
+
+// node_modules/@fastify/busboy/lib/utils/decodeText.js
+var require_decodeText = __commonJS({
+  "node_modules/@fastify/busboy/lib/utils/decodeText.js"(exports2, module2) {
+    "use strict";
+    var utf8Decoder = new TextDecoder("utf-8");
+    var textDecoders = /* @__PURE__ */ new Map([
+      ["utf-8", utf8Decoder],
+      ["utf8", utf8Decoder]
+    ]);
+    function getDecoder(charset) {
+      let lc;
+      while (true) {
+        switch (charset) {
+          case "utf-8":
+          case "utf8":
+            return decoders.utf8;
+          case "latin1":
+          case "ascii":
+          // TODO: Make these a separate, strict decoder?
+          case "us-ascii":
+          case "iso-8859-1":
+          case "iso8859-1":
+          case "iso88591":
+          case "iso_8859-1":
+          case "windows-1252":
+          case "iso_8859-1:1987":
+          case "cp1252":
+          case "x-cp1252":
+            return decoders.latin1;
+          case "utf16le":
+          case "utf-16le":
+          case "ucs2":
+          case "ucs-2":
+            return decoders.utf16le;
+          case "base64":
+            return decoders.base64;
+          default:
+            if (lc === void 0) {
+              lc = true;
+              charset = charset.toLowerCase();
+              continue;
+            }
+            return decoders.other.bind(charset);
         }
-      },
-      readableObjectMode: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState ? this._readableState.objectMode : false;
+      }
+    }
+    var decoders = {
+      utf8: (data, sourceEncoding) => {
+        if (data.length === 0) {
+          return "";
         }
-      },
-      readableEncoding: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState ? this._readableState.encoding : null;
+        if (typeof data === "string") {
+          data = Buffer.from(data, sourceEncoding);
         }
+        return data.utf8Slice(0, data.length);
       },
-      errored: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState ? this._readableState.errored : null;
+      latin1: (data, sourceEncoding) => {
+        if (data.length === 0) {
+          return "";
         }
-      },
-      closed: {
-        __proto__: null,
-        get() {
-          return this._readableState ? this._readableState.closed : false;
+        if (typeof data === "string") {
+          return data;
         }
+        return data.latin1Slice(0, data.length);
       },
-      destroyed: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState ? this._readableState.destroyed : false;
-        },
-        set(value) {
-          if (!this._readableState) {
-            return;
-          }
-          this._readableState.destroyed = value;
+      utf16le: (data, sourceEncoding) => {
+        if (data.length === 0) {
+          return "";
+        }
+        if (typeof data === "string") {
+          data = Buffer.from(data, sourceEncoding);
         }
+        return data.ucs2Slice(0, data.length);
       },
-      readableEnded: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState ? this._readableState.endEmitted : false;
+      base64: (data, sourceEncoding) => {
+        if (data.length === 0) {
+          return "";
         }
-      }
-    });
-    ObjectDefineProperties(ReadableState.prototype, {
-      // Legacy getter for `pipesCount`.
-      pipesCount: {
-        __proto__: null,
-        get() {
-          return this.pipes.length;
+        if (typeof data === "string") {
+          data = Buffer.from(data, sourceEncoding);
         }
+        return data.base64Slice(0, data.length);
       },
-      // Legacy property for `paused`.
-      paused: {
-        __proto__: null,
-        get() {
-          return this[kPaused] !== false;
-        },
-        set(value) {
-          this[kPaused] = !!value;
+      other: (data, sourceEncoding) => {
+        if (data.length === 0) {
+          return "";
         }
-      }
-    });
-    Readable._fromList = fromList;
-    function fromList(n, state) {
-      if (state.length === 0) return null;
-      let ret;
-      if (state.objectMode) ret = state.buffer.shift();
-      else if (!n || n >= state.length) {
-        if (state.decoder) ret = state.buffer.join("");
-        else if (state.buffer.length === 1) ret = state.buffer.first();
-        else ret = state.buffer.concat(state.length);
-        state.buffer.clear();
-      } else {
-        ret = state.buffer.consume(n, state.decoder);
-      }
-      return ret;
-    }
-    function endReadable(stream) {
-      const state = stream._readableState;
-      debug4("endReadable", state.endEmitted);
-      if (!state.endEmitted) {
-        state.ended = true;
-        process2.nextTick(endReadableNT, state, stream);
-      }
-    }
-    function endReadableNT(state, stream) {
-      debug4("endReadableNT", state.endEmitted, state.length);
-      if (!state.errored && !state.closeEmitted && !state.endEmitted && state.length === 0) {
-        state.endEmitted = true;
-        stream.emit("end");
-        if (stream.writable && stream.allowHalfOpen === false) {
-          process2.nextTick(endWritableNT, stream);
-        } else if (state.autoDestroy) {
-          const wState = stream._writableState;
-          const autoDestroy = !wState || wState.autoDestroy && // We don't expect the writable to ever 'finish'
-          // if writable is explicitly set to false.
-          (wState.finished || wState.writable === false);
-          if (autoDestroy) {
-            stream.destroy();
+        if (typeof data === "string") {
+          data = Buffer.from(data, sourceEncoding);
+        }
+        if (textDecoders.has(exports2.toString())) {
+          try {
+            return textDecoders.get(exports2).decode(data);
+          } catch {
           }
         }
+        return typeof data === "string" ? data : data.toString();
       }
-    }
-    function endWritableNT(stream) {
-      const writable = stream.writable && !stream.writableEnded && !stream.destroyed;
-      if (writable) {
-        stream.end();
-      }
-    }
-    Readable.from = function(iterable, opts) {
-      return from(Readable, iterable, opts);
-    };
-    var webStreamsAdapters;
-    function lazyWebStreams() {
-      if (webStreamsAdapters === void 0) webStreamsAdapters = {};
-      return webStreamsAdapters;
-    }
-    Readable.fromWeb = function(readableStream, options) {
-      return lazyWebStreams().newStreamReadableFromReadableStream(readableStream, options);
-    };
-    Readable.toWeb = function(streamReadable, options) {
-      return lazyWebStreams().newReadableStreamFromStreamReadable(streamReadable, options);
-    };
-    Readable.wrap = function(src, options) {
-      var _ref, _src$readableObjectMo;
-      return new Readable({
-        objectMode: (_ref = (_src$readableObjectMo = src.readableObjectMode) !== null && _src$readableObjectMo !== void 0 ? _src$readableObjectMo : src.objectMode) !== null && _ref !== void 0 ? _ref : true,
-        ...options,
-        destroy(err, callback) {
-          destroyImpl.destroyer(src, err);
-          callback(err);
-        }
-      }).wrap(src);
     };
+    function decodeText(text, sourceEncoding, destEncoding) {
+      if (text) {
+        return getDecoder(destEncoding)(text, sourceEncoding);
+      }
+      return text;
+    }
+    module2.exports = decodeText;
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/writable.js
-var require_writable = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/writable.js"(exports2, module2) {
-    var process2 = require_process();
-    var {
-      ArrayPrototypeSlice,
-      Error: Error2,
-      FunctionPrototypeSymbolHasInstance,
-      ObjectDefineProperty,
-      ObjectDefineProperties,
-      ObjectSetPrototypeOf,
-      StringPrototypeToLowerCase,
-      Symbol: Symbol2,
-      SymbolHasInstance
-    } = require_primordials();
-    module2.exports = Writable;
-    Writable.WritableState = WritableState;
-    var { EventEmitter: EE } = require("events");
-    var Stream = require_legacy().Stream;
-    var { Buffer: Buffer2 } = require("buffer");
-    var destroyImpl = require_destroy2();
-    var { addAbortSignal } = require_add_abort_signal();
-    var { getHighWaterMark, getDefaultHighWaterMark } = require_state3();
-    var {
-      ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,
-      ERR_METHOD_NOT_IMPLEMENTED,
-      ERR_MULTIPLE_CALLBACK,
-      ERR_STREAM_CANNOT_PIPE,
-      ERR_STREAM_DESTROYED,
-      ERR_STREAM_ALREADY_FINISHED,
-      ERR_STREAM_NULL_VALUES,
-      ERR_STREAM_WRITE_AFTER_END,
-      ERR_UNKNOWN_ENCODING
-    } = require_errors4().codes;
-    var { errorOrDestroy } = destroyImpl;
-    ObjectSetPrototypeOf(Writable.prototype, Stream.prototype);
-    ObjectSetPrototypeOf(Writable, Stream);
-    function nop() {
-    }
-    var kOnFinished = Symbol2("kOnFinished");
-    function WritableState(options, stream, isDuplex) {
-      if (typeof isDuplex !== "boolean") isDuplex = stream instanceof require_duplex();
-      this.objectMode = !!(options && options.objectMode);
-      if (isDuplex) this.objectMode = this.objectMode || !!(options && options.writableObjectMode);
-      this.highWaterMark = options ? getHighWaterMark(this, options, "writableHighWaterMark", isDuplex) : getDefaultHighWaterMark(false);
-      this.finalCalled = false;
-      this.needDrain = false;
-      this.ending = false;
-      this.ended = false;
-      this.finished = false;
-      this.destroyed = false;
-      const noDecode = !!(options && options.decodeStrings === false);
-      this.decodeStrings = !noDecode;
-      this.defaultEncoding = options && options.defaultEncoding || "utf8";
-      this.length = 0;
-      this.writing = false;
-      this.corked = 0;
-      this.sync = true;
-      this.bufferProcessing = false;
-      this.onwrite = onwrite.bind(void 0, stream);
-      this.writecb = null;
-      this.writelen = 0;
-      this.afterWriteTickInfo = null;
-      resetBuffer(this);
-      this.pendingcb = 0;
-      this.constructed = true;
-      this.prefinished = false;
-      this.errorEmitted = false;
-      this.emitClose = !options || options.emitClose !== false;
-      this.autoDestroy = !options || options.autoDestroy !== false;
-      this.errored = null;
-      this.closed = false;
-      this.closeEmitted = false;
-      this[kOnFinished] = [];
-    }
-    function resetBuffer(state) {
-      state.buffered = [];
-      state.bufferedIndex = 0;
-      state.allBuffers = true;
-      state.allNoop = true;
-    }
-    WritableState.prototype.getBuffer = function getBuffer() {
-      return ArrayPrototypeSlice(this.buffered, this.bufferedIndex);
+// node_modules/@fastify/busboy/lib/utils/parseParams.js
+var require_parseParams = __commonJS({
+  "node_modules/@fastify/busboy/lib/utils/parseParams.js"(exports2, module2) {
+    "use strict";
+    var decodeText = require_decodeText();
+    var RE_ENCODED = /%[a-fA-F0-9][a-fA-F0-9]/g;
+    var EncodedLookup = {
+      "%00": "\0",
+      "%01": "",
+      "%02": "",
+      "%03": "",
+      "%04": "",
+      "%05": "",
+      "%06": "",
+      "%07": "\x07",
+      "%08": "\b",
+      "%09": "	",
+      "%0a": "\n",
+      "%0A": "\n",
+      "%0b": "\v",
+      "%0B": "\v",
+      "%0c": "\f",
+      "%0C": "\f",
+      "%0d": "\r",
+      "%0D": "\r",
+      "%0e": "",
+      "%0E": "",
+      "%0f": "",
+      "%0F": "",
+      "%10": "",
+      "%11": "",
+      "%12": "",
+      "%13": "",
+      "%14": "",
+      "%15": "",
+      "%16": "",
+      "%17": "",
+      "%18": "",
+      "%19": "",
+      "%1a": "",
+      "%1A": "",
+      "%1b": "\x1B",
+      "%1B": "\x1B",
+      "%1c": "",
+      "%1C": "",
+      "%1d": "",
+      "%1D": "",
+      "%1e": "",
+      "%1E": "",
+      "%1f": "",
+      "%1F": "",
+      "%20": " ",
+      "%21": "!",
+      "%22": '"',
+      "%23": "#",
+      "%24": "$",
+      "%25": "%",
+      "%26": "&",
+      "%27": "'",
+      "%28": "(",
+      "%29": ")",
+      "%2a": "*",
+      "%2A": "*",
+      "%2b": "+",
+      "%2B": "+",
+      "%2c": ",",
+      "%2C": ",",
+      "%2d": "-",
+      "%2D": "-",
+      "%2e": ".",
+      "%2E": ".",
+      "%2f": "/",
+      "%2F": "/",
+      "%30": "0",
+      "%31": "1",
+      "%32": "2",
+      "%33": "3",
+      "%34": "4",
+      "%35": "5",
+      "%36": "6",
+      "%37": "7",
+      "%38": "8",
+      "%39": "9",
+      "%3a": ":",
+      "%3A": ":",
+      "%3b": ";",
+      "%3B": ";",
+      "%3c": "<",
+      "%3C": "<",
+      "%3d": "=",
+      "%3D": "=",
+      "%3e": ">",
+      "%3E": ">",
+      "%3f": "?",
+      "%3F": "?",
+      "%40": "@",
+      "%41": "A",
+      "%42": "B",
+      "%43": "C",
+      "%44": "D",
+      "%45": "E",
+      "%46": "F",
+      "%47": "G",
+      "%48": "H",
+      "%49": "I",
+      "%4a": "J",
+      "%4A": "J",
+      "%4b": "K",
+      "%4B": "K",
+      "%4c": "L",
+      "%4C": "L",
+      "%4d": "M",
+      "%4D": "M",
+      "%4e": "N",
+      "%4E": "N",
+      "%4f": "O",
+      "%4F": "O",
+      "%50": "P",
+      "%51": "Q",
+      "%52": "R",
+      "%53": "S",
+      "%54": "T",
+      "%55": "U",
+      "%56": "V",
+      "%57": "W",
+      "%58": "X",
+      "%59": "Y",
+      "%5a": "Z",
+      "%5A": "Z",
+      "%5b": "[",
+      "%5B": "[",
+      "%5c": "\\",
+      "%5C": "\\",
+      "%5d": "]",
+      "%5D": "]",
+      "%5e": "^",
+      "%5E": "^",
+      "%5f": "_",
+      "%5F": "_",
+      "%60": "`",
+      "%61": "a",
+      "%62": "b",
+      "%63": "c",
+      "%64": "d",
+      "%65": "e",
+      "%66": "f",
+      "%67": "g",
+      "%68": "h",
+      "%69": "i",
+      "%6a": "j",
+      "%6A": "j",
+      "%6b": "k",
+      "%6B": "k",
+      "%6c": "l",
+      "%6C": "l",
+      "%6d": "m",
+      "%6D": "m",
+      "%6e": "n",
+      "%6E": "n",
+      "%6f": "o",
+      "%6F": "o",
+      "%70": "p",
+      "%71": "q",
+      "%72": "r",
+      "%73": "s",
+      "%74": "t",
+      "%75": "u",
+      "%76": "v",
+      "%77": "w",
+      "%78": "x",
+      "%79": "y",
+      "%7a": "z",
+      "%7A": "z",
+      "%7b": "{",
+      "%7B": "{",
+      "%7c": "|",
+      "%7C": "|",
+      "%7d": "}",
+      "%7D": "}",
+      "%7e": "~",
+      "%7E": "~",
+      "%7f": "\x7F",
+      "%7F": "\x7F",
+      "%80": "\x80",
+      "%81": "\x81",
+      "%82": "\x82",
+      "%83": "\x83",
+      "%84": "\x84",
+      "%85": "\x85",
+      "%86": "\x86",
+      "%87": "\x87",
+      "%88": "\x88",
+      "%89": "\x89",
+      "%8a": "\x8A",
+      "%8A": "\x8A",
+      "%8b": "\x8B",
+      "%8B": "\x8B",
+      "%8c": "\x8C",
+      "%8C": "\x8C",
+      "%8d": "\x8D",
+      "%8D": "\x8D",
+      "%8e": "\x8E",
+      "%8E": "\x8E",
+      "%8f": "\x8F",
+      "%8F": "\x8F",
+      "%90": "\x90",
+      "%91": "\x91",
+      "%92": "\x92",
+      "%93": "\x93",
+      "%94": "\x94",
+      "%95": "\x95",
+      "%96": "\x96",
+      "%97": "\x97",
+      "%98": "\x98",
+      "%99": "\x99",
+      "%9a": "\x9A",
+      "%9A": "\x9A",
+      "%9b": "\x9B",
+      "%9B": "\x9B",
+      "%9c": "\x9C",
+      "%9C": "\x9C",
+      "%9d": "\x9D",
+      "%9D": "\x9D",
+      "%9e": "\x9E",
+      "%9E": "\x9E",
+      "%9f": "\x9F",
+      "%9F": "\x9F",
+      "%a0": "\xA0",
+      "%A0": "\xA0",
+      "%a1": "\xA1",
+      "%A1": "\xA1",
+      "%a2": "\xA2",
+      "%A2": "\xA2",
+      "%a3": "\xA3",
+      "%A3": "\xA3",
+      "%a4": "\xA4",
+      "%A4": "\xA4",
+      "%a5": "\xA5",
+      "%A5": "\xA5",
+      "%a6": "\xA6",
+      "%A6": "\xA6",
+      "%a7": "\xA7",
+      "%A7": "\xA7",
+      "%a8": "\xA8",
+      "%A8": "\xA8",
+      "%a9": "\xA9",
+      "%A9": "\xA9",
+      "%aa": "\xAA",
+      "%Aa": "\xAA",
+      "%aA": "\xAA",
+      "%AA": "\xAA",
+      "%ab": "\xAB",
+      "%Ab": "\xAB",
+      "%aB": "\xAB",
+      "%AB": "\xAB",
+      "%ac": "\xAC",
+      "%Ac": "\xAC",
+      "%aC": "\xAC",
+      "%AC": "\xAC",
+      "%ad": "\xAD",
+      "%Ad": "\xAD",
+      "%aD": "\xAD",
+      "%AD": "\xAD",
+      "%ae": "\xAE",
+      "%Ae": "\xAE",
+      "%aE": "\xAE",
+      "%AE": "\xAE",
+      "%af": "\xAF",
+      "%Af": "\xAF",
+      "%aF": "\xAF",
+      "%AF": "\xAF",
+      "%b0": "\xB0",
+      "%B0": "\xB0",
+      "%b1": "\xB1",
+      "%B1": "\xB1",
+      "%b2": "\xB2",
+      "%B2": "\xB2",
+      "%b3": "\xB3",
+      "%B3": "\xB3",
+      "%b4": "\xB4",
+      "%B4": "\xB4",
+      "%b5": "\xB5",
+      "%B5": "\xB5",
+      "%b6": "\xB6",
+      "%B6": "\xB6",
+      "%b7": "\xB7",
+      "%B7": "\xB7",
+      "%b8": "\xB8",
+      "%B8": "\xB8",
+      "%b9": "\xB9",
+      "%B9": "\xB9",
+      "%ba": "\xBA",
+      "%Ba": "\xBA",
+      "%bA": "\xBA",
+      "%BA": "\xBA",
+      "%bb": "\xBB",
+      "%Bb": "\xBB",
+      "%bB": "\xBB",
+      "%BB": "\xBB",
+      "%bc": "\xBC",
+      "%Bc": "\xBC",
+      "%bC": "\xBC",
+      "%BC": "\xBC",
+      "%bd": "\xBD",
+      "%Bd": "\xBD",
+      "%bD": "\xBD",
+      "%BD": "\xBD",
+      "%be": "\xBE",
+      "%Be": "\xBE",
+      "%bE": "\xBE",
+      "%BE": "\xBE",
+      "%bf": "\xBF",
+      "%Bf": "\xBF",
+      "%bF": "\xBF",
+      "%BF": "\xBF",
+      "%c0": "\xC0",
+      "%C0": "\xC0",
+      "%c1": "\xC1",
+      "%C1": "\xC1",
+      "%c2": "\xC2",
+      "%C2": "\xC2",
+      "%c3": "\xC3",
+      "%C3": "\xC3",
+      "%c4": "\xC4",
+      "%C4": "\xC4",
+      "%c5": "\xC5",
+      "%C5": "\xC5",
+      "%c6": "\xC6",
+      "%C6": "\xC6",
+      "%c7": "\xC7",
+      "%C7": "\xC7",
+      "%c8": "\xC8",
+      "%C8": "\xC8",
+      "%c9": "\xC9",
+      "%C9": "\xC9",
+      "%ca": "\xCA",
+      "%Ca": "\xCA",
+      "%cA": "\xCA",
+      "%CA": "\xCA",
+      "%cb": "\xCB",
+      "%Cb": "\xCB",
+      "%cB": "\xCB",
+      "%CB": "\xCB",
+      "%cc": "\xCC",
+      "%Cc": "\xCC",
+      "%cC": "\xCC",
+      "%CC": "\xCC",
+      "%cd": "\xCD",
+      "%Cd": "\xCD",
+      "%cD": "\xCD",
+      "%CD": "\xCD",
+      "%ce": "\xCE",
+      "%Ce": "\xCE",
+      "%cE": "\xCE",
+      "%CE": "\xCE",
+      "%cf": "\xCF",
+      "%Cf": "\xCF",
+      "%cF": "\xCF",
+      "%CF": "\xCF",
+      "%d0": "\xD0",
+      "%D0": "\xD0",
+      "%d1": "\xD1",
+      "%D1": "\xD1",
+      "%d2": "\xD2",
+      "%D2": "\xD2",
+      "%d3": "\xD3",
+      "%D3": "\xD3",
+      "%d4": "\xD4",
+      "%D4": "\xD4",
+      "%d5": "\xD5",
+      "%D5": "\xD5",
+      "%d6": "\xD6",
+      "%D6": "\xD6",
+      "%d7": "\xD7",
+      "%D7": "\xD7",
+      "%d8": "\xD8",
+      "%D8": "\xD8",
+      "%d9": "\xD9",
+      "%D9": "\xD9",
+      "%da": "\xDA",
+      "%Da": "\xDA",
+      "%dA": "\xDA",
+      "%DA": "\xDA",
+      "%db": "\xDB",
+      "%Db": "\xDB",
+      "%dB": "\xDB",
+      "%DB": "\xDB",
+      "%dc": "\xDC",
+      "%Dc": "\xDC",
+      "%dC": "\xDC",
+      "%DC": "\xDC",
+      "%dd": "\xDD",
+      "%Dd": "\xDD",
+      "%dD": "\xDD",
+      "%DD": "\xDD",
+      "%de": "\xDE",
+      "%De": "\xDE",
+      "%dE": "\xDE",
+      "%DE": "\xDE",
+      "%df": "\xDF",
+      "%Df": "\xDF",
+      "%dF": "\xDF",
+      "%DF": "\xDF",
+      "%e0": "\xE0",
+      "%E0": "\xE0",
+      "%e1": "\xE1",
+      "%E1": "\xE1",
+      "%e2": "\xE2",
+      "%E2": "\xE2",
+      "%e3": "\xE3",
+      "%E3": "\xE3",
+      "%e4": "\xE4",
+      "%E4": "\xE4",
+      "%e5": "\xE5",
+      "%E5": "\xE5",
+      "%e6": "\xE6",
+      "%E6": "\xE6",
+      "%e7": "\xE7",
+      "%E7": "\xE7",
+      "%e8": "\xE8",
+      "%E8": "\xE8",
+      "%e9": "\xE9",
+      "%E9": "\xE9",
+      "%ea": "\xEA",
+      "%Ea": "\xEA",
+      "%eA": "\xEA",
+      "%EA": "\xEA",
+      "%eb": "\xEB",
+      "%Eb": "\xEB",
+      "%eB": "\xEB",
+      "%EB": "\xEB",
+      "%ec": "\xEC",
+      "%Ec": "\xEC",
+      "%eC": "\xEC",
+      "%EC": "\xEC",
+      "%ed": "\xED",
+      "%Ed": "\xED",
+      "%eD": "\xED",
+      "%ED": "\xED",
+      "%ee": "\xEE",
+      "%Ee": "\xEE",
+      "%eE": "\xEE",
+      "%EE": "\xEE",
+      "%ef": "\xEF",
+      "%Ef": "\xEF",
+      "%eF": "\xEF",
+      "%EF": "\xEF",
+      "%f0": "\xF0",
+      "%F0": "\xF0",
+      "%f1": "\xF1",
+      "%F1": "\xF1",
+      "%f2": "\xF2",
+      "%F2": "\xF2",
+      "%f3": "\xF3",
+      "%F3": "\xF3",
+      "%f4": "\xF4",
+      "%F4": "\xF4",
+      "%f5": "\xF5",
+      "%F5": "\xF5",
+      "%f6": "\xF6",
+      "%F6": "\xF6",
+      "%f7": "\xF7",
+      "%F7": "\xF7",
+      "%f8": "\xF8",
+      "%F8": "\xF8",
+      "%f9": "\xF9",
+      "%F9": "\xF9",
+      "%fa": "\xFA",
+      "%Fa": "\xFA",
+      "%fA": "\xFA",
+      "%FA": "\xFA",
+      "%fb": "\xFB",
+      "%Fb": "\xFB",
+      "%fB": "\xFB",
+      "%FB": "\xFB",
+      "%fc": "\xFC",
+      "%Fc": "\xFC",
+      "%fC": "\xFC",
+      "%FC": "\xFC",
+      "%fd": "\xFD",
+      "%Fd": "\xFD",
+      "%fD": "\xFD",
+      "%FD": "\xFD",
+      "%fe": "\xFE",
+      "%Fe": "\xFE",
+      "%fE": "\xFE",
+      "%FE": "\xFE",
+      "%ff": "\xFF",
+      "%Ff": "\xFF",
+      "%fF": "\xFF",
+      "%FF": "\xFF"
     };
-    ObjectDefineProperty(WritableState.prototype, "bufferedRequestCount", {
-      __proto__: null,
-      get() {
-        return this.buffered.length - this.bufferedIndex;
-      }
-    });
-    function Writable(options) {
-      const isDuplex = this instanceof require_duplex();
-      if (!isDuplex && !FunctionPrototypeSymbolHasInstance(Writable, this)) return new Writable(options);
-      this._writableState = new WritableState(options, this, isDuplex);
-      if (options) {
-        if (typeof options.write === "function") this._write = options.write;
-        if (typeof options.writev === "function") this._writev = options.writev;
-        if (typeof options.destroy === "function") this._destroy = options.destroy;
-        if (typeof options.final === "function") this._final = options.final;
-        if (typeof options.construct === "function") this._construct = options.construct;
-        if (options.signal) addAbortSignal(options.signal, this);
-      }
-      Stream.call(this, options);
-      destroyImpl.construct(this, () => {
-        const state = this._writableState;
-        if (!state.writing) {
-          clearBuffer(this, state);
-        }
-        finishMaybe(this, state);
-      });
+    function encodedReplacer(match) {
+      return EncodedLookup[match];
     }
-    ObjectDefineProperty(Writable, SymbolHasInstance, {
-      __proto__: null,
-      value: function(object) {
-        if (FunctionPrototypeSymbolHasInstance(this, object)) return true;
-        if (this !== Writable) return false;
-        return object && object._writableState instanceof WritableState;
-      }
-    });
-    Writable.prototype.pipe = function() {
-      errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());
-    };
-    function _write(stream, chunk, encoding, cb) {
-      const state = stream._writableState;
-      if (typeof encoding === "function") {
-        cb = encoding;
-        encoding = state.defaultEncoding;
-      } else {
-        if (!encoding) encoding = state.defaultEncoding;
-        else if (encoding !== "buffer" && !Buffer2.isEncoding(encoding)) throw new ERR_UNKNOWN_ENCODING(encoding);
-        if (typeof cb !== "function") cb = nop;
-      }
-      if (chunk === null) {
-        throw new ERR_STREAM_NULL_VALUES();
-      } else if (!state.objectMode) {
-        if (typeof chunk === "string") {
-          if (state.decodeStrings !== false) {
-            chunk = Buffer2.from(chunk, encoding);
-            encoding = "buffer";
+    var STATE_KEY = 0;
+    var STATE_VALUE = 1;
+    var STATE_CHARSET = 2;
+    var STATE_LANG = 3;
+    function parseParams(str2) {
+      const res = [];
+      let state = STATE_KEY;
+      let charset = "";
+      let inquote = false;
+      let escaping = false;
+      let p = 0;
+      let tmp = "";
+      const len = str2.length;
+      for (var i = 0; i < len; ++i) {
+        const char = str2[i];
+        if (char === "\\" && inquote) {
+          if (escaping) {
+            escaping = false;
+          } else {
+            escaping = true;
+            continue;
           }
-        } else if (chunk instanceof Buffer2) {
-          encoding = "buffer";
-        } else if (Stream._isUint8Array(chunk)) {
-          chunk = Stream._uint8ArrayToBuffer(chunk);
-          encoding = "buffer";
-        } else {
-          throw new ERR_INVALID_ARG_TYPE2("chunk", ["string", "Buffer", "Uint8Array"], chunk);
-        }
-      }
-      let err;
-      if (state.ending) {
-        err = new ERR_STREAM_WRITE_AFTER_END();
-      } else if (state.destroyed) {
-        err = new ERR_STREAM_DESTROYED("write");
-      }
-      if (err) {
-        process2.nextTick(cb, err);
-        errorOrDestroy(stream, err, true);
-        return err;
-      }
-      state.pendingcb++;
-      return writeOrBuffer(stream, state, chunk, encoding, cb);
-    }
-    Writable.prototype.write = function(chunk, encoding, cb) {
-      return _write(this, chunk, encoding, cb) === true;
-    };
-    Writable.prototype.cork = function() {
-      this._writableState.corked++;
-    };
-    Writable.prototype.uncork = function() {
-      const state = this._writableState;
-      if (state.corked) {
-        state.corked--;
-        if (!state.writing) clearBuffer(this, state);
-      }
-    };
-    Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {
-      if (typeof encoding === "string") encoding = StringPrototypeToLowerCase(encoding);
-      if (!Buffer2.isEncoding(encoding)) throw new ERR_UNKNOWN_ENCODING(encoding);
-      this._writableState.defaultEncoding = encoding;
-      return this;
-    };
-    function writeOrBuffer(stream, state, chunk, encoding, callback) {
-      const len = state.objectMode ? 1 : chunk.length;
-      state.length += len;
-      const ret = state.length < state.highWaterMark;
-      if (!ret) state.needDrain = true;
-      if (state.writing || state.corked || state.errored || !state.constructed) {
-        state.buffered.push({
-          chunk,
-          encoding,
-          callback
-        });
-        if (state.allBuffers && encoding !== "buffer") {
-          state.allBuffers = false;
-        }
-        if (state.allNoop && callback !== nop) {
-          state.allNoop = false;
-        }
-      } else {
-        state.writelen = len;
-        state.writecb = callback;
-        state.writing = true;
-        state.sync = true;
-        stream._write(chunk, encoding, state.onwrite);
-        state.sync = false;
-      }
-      return ret && !state.errored && !state.destroyed;
-    }
-    function doWrite(stream, state, writev, len, chunk, encoding, cb) {
-      state.writelen = len;
-      state.writecb = cb;
-      state.writing = true;
-      state.sync = true;
-      if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED("write"));
-      else if (writev) stream._writev(chunk, state.onwrite);
-      else stream._write(chunk, encoding, state.onwrite);
-      state.sync = false;
-    }
-    function onwriteError(stream, state, er, cb) {
-      --state.pendingcb;
-      cb(er);
-      errorBuffer(state);
-      errorOrDestroy(stream, er);
-    }
-    function onwrite(stream, er) {
-      const state = stream._writableState;
-      const sync = state.sync;
-      const cb = state.writecb;
-      if (typeof cb !== "function") {
-        errorOrDestroy(stream, new ERR_MULTIPLE_CALLBACK());
-        return;
-      }
-      state.writing = false;
-      state.writecb = null;
-      state.length -= state.writelen;
-      state.writelen = 0;
-      if (er) {
-        er.stack;
-        if (!state.errored) {
-          state.errored = er;
-        }
-        if (stream._readableState && !stream._readableState.errored) {
-          stream._readableState.errored = er;
-        }
-        if (sync) {
-          process2.nextTick(onwriteError, stream, state, er, cb);
-        } else {
-          onwriteError(stream, state, er, cb);
-        }
-      } else {
-        if (state.buffered.length > state.bufferedIndex) {
-          clearBuffer(stream, state);
-        }
-        if (sync) {
-          if (state.afterWriteTickInfo !== null && state.afterWriteTickInfo.cb === cb) {
-            state.afterWriteTickInfo.count++;
+        } else if (char === '"') {
+          if (!escaping) {
+            if (inquote) {
+              inquote = false;
+              state = STATE_KEY;
+            } else {
+              inquote = true;
+            }
+            continue;
           } else {
-            state.afterWriteTickInfo = {
-              count: 1,
-              cb,
-              stream,
-              state
-            };
-            process2.nextTick(afterWriteTick, state.afterWriteTickInfo);
+            escaping = false;
           }
         } else {
-          afterWrite(stream, state, 1, cb);
-        }
-      }
-    }
-    function afterWriteTick({ stream, state, count, cb }) {
-      state.afterWriteTickInfo = null;
-      return afterWrite(stream, state, count, cb);
-    }
-    function afterWrite(stream, state, count, cb) {
-      const needDrain = !state.ending && !stream.destroyed && state.length === 0 && state.needDrain;
-      if (needDrain) {
-        state.needDrain = false;
-        stream.emit("drain");
-      }
-      while (count-- > 0) {
-        state.pendingcb--;
-        cb();
-      }
-      if (state.destroyed) {
-        errorBuffer(state);
-      }
-      finishMaybe(stream, state);
-    }
-    function errorBuffer(state) {
-      if (state.writing) {
-        return;
-      }
-      for (let n = state.bufferedIndex; n < state.buffered.length; ++n) {
-        var _state$errored;
-        const { chunk, callback } = state.buffered[n];
-        const len = state.objectMode ? 1 : chunk.length;
-        state.length -= len;
-        callback(
-          (_state$errored = state.errored) !== null && _state$errored !== void 0 ? _state$errored : new ERR_STREAM_DESTROYED("write")
-        );
-      }
-      const onfinishCallbacks = state[kOnFinished].splice(0);
-      for (let i = 0; i < onfinishCallbacks.length; i++) {
-        var _state$errored2;
-        onfinishCallbacks[i](
-          (_state$errored2 = state.errored) !== null && _state$errored2 !== void 0 ? _state$errored2 : new ERR_STREAM_DESTROYED("end")
-        );
-      }
-      resetBuffer(state);
-    }
-    function clearBuffer(stream, state) {
-      if (state.corked || state.bufferProcessing || state.destroyed || !state.constructed) {
-        return;
-      }
-      const { buffered, bufferedIndex, objectMode } = state;
-      const bufferedLength = buffered.length - bufferedIndex;
-      if (!bufferedLength) {
-        return;
-      }
-      let i = bufferedIndex;
-      state.bufferProcessing = true;
-      if (bufferedLength > 1 && stream._writev) {
-        state.pendingcb -= bufferedLength - 1;
-        const callback = state.allNoop ? nop : (err) => {
-          for (let n = i; n < buffered.length; ++n) {
-            buffered[n].callback(err);
+          if (escaping && inquote) {
+            tmp += "\\";
           }
-        };
-        const chunks = state.allNoop && i === 0 ? buffered : ArrayPrototypeSlice(buffered, i);
-        chunks.allBuffers = state.allBuffers;
-        doWrite(stream, state, true, state.length, chunks, "", callback);
-        resetBuffer(state);
-      } else {
-        do {
-          const { chunk, encoding, callback } = buffered[i];
-          buffered[i++] = null;
-          const len = objectMode ? 1 : chunk.length;
-          doWrite(stream, state, false, len, chunk, encoding, callback);
-        } while (i < buffered.length && !state.writing);
-        if (i === buffered.length) {
-          resetBuffer(state);
-        } else if (i > 256) {
-          buffered.splice(0, i);
-          state.bufferedIndex = 0;
-        } else {
-          state.bufferedIndex = i;
-        }
-      }
-      state.bufferProcessing = false;
-    }
-    Writable.prototype._write = function(chunk, encoding, cb) {
-      if (this._writev) {
-        this._writev(
-          [
-            {
-              chunk,
-              encoding
+          escaping = false;
+          if ((state === STATE_CHARSET || state === STATE_LANG) && char === "'") {
+            if (state === STATE_CHARSET) {
+              state = STATE_LANG;
+              charset = tmp.substring(1);
+            } else {
+              state = STATE_VALUE;
             }
-          ],
-          cb
-        );
-      } else {
-        throw new ERR_METHOD_NOT_IMPLEMENTED("_write()");
-      }
-    };
-    Writable.prototype._writev = null;
-    Writable.prototype.end = function(chunk, encoding, cb) {
-      const state = this._writableState;
-      if (typeof chunk === "function") {
-        cb = chunk;
-        chunk = null;
-        encoding = null;
-      } else if (typeof encoding === "function") {
-        cb = encoding;
-        encoding = null;
-      }
-      let err;
-      if (chunk !== null && chunk !== void 0) {
-        const ret = _write(this, chunk, encoding);
-        if (ret instanceof Error2) {
-          err = ret;
-        }
-      }
-      if (state.corked) {
-        state.corked = 1;
-        this.uncork();
-      }
-      if (err) {
-      } else if (!state.errored && !state.ending) {
-        state.ending = true;
-        finishMaybe(this, state, true);
-        state.ended = true;
-      } else if (state.finished) {
-        err = new ERR_STREAM_ALREADY_FINISHED("end");
-      } else if (state.destroyed) {
-        err = new ERR_STREAM_DESTROYED("end");
-      }
-      if (typeof cb === "function") {
-        if (err || state.finished) {
-          process2.nextTick(cb, err);
-        } else {
-          state[kOnFinished].push(cb);
-        }
-      }
-      return this;
-    };
-    function needFinish(state) {
-      return state.ending && !state.destroyed && state.constructed && state.length === 0 && !state.errored && state.buffered.length === 0 && !state.finished && !state.writing && !state.errorEmitted && !state.closeEmitted;
-    }
-    function callFinal(stream, state) {
-      let called = false;
-      function onFinish(err) {
-        if (called) {
-          errorOrDestroy(stream, err !== null && err !== void 0 ? err : ERR_MULTIPLE_CALLBACK());
-          return;
-        }
-        called = true;
-        state.pendingcb--;
-        if (err) {
-          const onfinishCallbacks = state[kOnFinished].splice(0);
-          for (let i = 0; i < onfinishCallbacks.length; i++) {
-            onfinishCallbacks[i](err);
-          }
-          errorOrDestroy(stream, err, state.sync);
-        } else if (needFinish(state)) {
-          state.prefinished = true;
-          stream.emit("prefinish");
-          state.pendingcb++;
-          process2.nextTick(finish, stream, state);
-        }
-      }
-      state.sync = true;
-      state.pendingcb++;
-      try {
-        stream._final(onFinish);
-      } catch (err) {
-        onFinish(err);
-      }
-      state.sync = false;
-    }
-    function prefinish(stream, state) {
-      if (!state.prefinished && !state.finalCalled) {
-        if (typeof stream._final === "function" && !state.destroyed) {
-          state.finalCalled = true;
-          callFinal(stream, state);
-        } else {
-          state.prefinished = true;
-          stream.emit("prefinish");
-        }
-      }
-    }
-    function finishMaybe(stream, state, sync) {
-      if (needFinish(state)) {
-        prefinish(stream, state);
-        if (state.pendingcb === 0) {
-          if (sync) {
-            state.pendingcb++;
-            process2.nextTick(
-              (stream2, state2) => {
-                if (needFinish(state2)) {
-                  finish(stream2, state2);
-                } else {
-                  state2.pendingcb--;
-                }
-              },
-              stream,
-              state
-            );
-          } else if (needFinish(state)) {
-            state.pendingcb++;
-            finish(stream, state);
+            tmp = "";
+            continue;
+          } else if (state === STATE_KEY && (char === "*" || char === "=") && res.length) {
+            state = char === "*" ? STATE_CHARSET : STATE_VALUE;
+            res[p] = [tmp, void 0];
+            tmp = "";
+            continue;
+          } else if (!inquote && char === ";") {
+            state = STATE_KEY;
+            if (charset) {
+              if (tmp.length) {
+                tmp = decodeText(
+                  tmp.replace(RE_ENCODED, encodedReplacer),
+                  "binary",
+                  charset
+                );
+              }
+              charset = "";
+            } else if (tmp.length) {
+              tmp = decodeText(tmp, "binary", "utf8");
+            }
+            if (res[p] === void 0) {
+              res[p] = tmp;
+            } else {
+              res[p][1] = tmp;
+            }
+            tmp = "";
+            ++p;
+            continue;
+          } else if (!inquote && (char === " " || char === "	")) {
+            continue;
           }
         }
+        tmp += char;
       }
-    }
-    function finish(stream, state) {
-      state.pendingcb--;
-      state.finished = true;
-      const onfinishCallbacks = state[kOnFinished].splice(0);
-      for (let i = 0; i < onfinishCallbacks.length; i++) {
-        onfinishCallbacks[i]();
+      if (charset && tmp.length) {
+        tmp = decodeText(
+          tmp.replace(RE_ENCODED, encodedReplacer),
+          "binary",
+          charset
+        );
+      } else if (tmp) {
+        tmp = decodeText(tmp, "binary", "utf8");
       }
-      stream.emit("finish");
-      if (state.autoDestroy) {
-        const rState = stream._readableState;
-        const autoDestroy = !rState || rState.autoDestroy && // We don't expect the readable to ever 'end'
-        // if readable is explicitly set to false.
-        (rState.endEmitted || rState.readable === false);
-        if (autoDestroy) {
-          stream.destroy();
+      if (res[p] === void 0) {
+        if (tmp) {
+          res[p] = tmp;
         }
+      } else {
+        res[p][1] = tmp;
       }
+      return res;
     }
-    ObjectDefineProperties(Writable.prototype, {
-      closed: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.closed : false;
-        }
-      },
-      destroyed: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.destroyed : false;
-        },
-        set(value) {
-          if (this._writableState) {
-            this._writableState.destroyed = value;
-          }
-        }
-      },
-      writable: {
-        __proto__: null,
-        get() {
-          const w = this._writableState;
-          return !!w && w.writable !== false && !w.destroyed && !w.errored && !w.ending && !w.ended;
-        },
-        set(val) {
-          if (this._writableState) {
-            this._writableState.writable = !!val;
-          }
-        }
-      },
-      writableFinished: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.finished : false;
-        }
-      },
-      writableObjectMode: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.objectMode : false;
-        }
-      },
-      writableBuffer: {
-        __proto__: null,
-        get() {
-          return this._writableState && this._writableState.getBuffer();
-        }
-      },
-      writableEnded: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.ending : false;
-        }
-      },
-      writableNeedDrain: {
-        __proto__: null,
-        get() {
-          const wState = this._writableState;
-          if (!wState) return false;
-          return !wState.destroyed && !wState.ending && wState.needDrain;
-        }
-      },
-      writableHighWaterMark: {
-        __proto__: null,
-        get() {
-          return this._writableState && this._writableState.highWaterMark;
-        }
-      },
-      writableCorked: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.corked : 0;
-        }
-      },
-      writableLength: {
-        __proto__: null,
-        get() {
-          return this._writableState && this._writableState.length;
-        }
-      },
-      errored: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._writableState ? this._writableState.errored : null;
-        }
-      },
-      writableAborted: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return !!(this._writableState.writable !== false && (this._writableState.destroyed || this._writableState.errored) && !this._writableState.finished);
-        }
+    module2.exports = parseParams;
+  }
+});
+
+// node_modules/@fastify/busboy/lib/utils/basename.js
+var require_basename = __commonJS({
+  "node_modules/@fastify/busboy/lib/utils/basename.js"(exports2, module2) {
+    "use strict";
+    module2.exports = function basename2(path3) {
+      if (typeof path3 !== "string") {
+        return "";
       }
-    });
-    var destroy = destroyImpl.destroy;
-    Writable.prototype.destroy = function(err, cb) {
-      const state = this._writableState;
-      if (!state.destroyed && (state.bufferedIndex < state.buffered.length || state[kOnFinished].length)) {
-        process2.nextTick(errorBuffer, state);
+      for (var i = path3.length - 1; i >= 0; --i) {
+        switch (path3.charCodeAt(i)) {
+          case 47:
+          // '/'
+          case 92:
+            path3 = path3.slice(i + 1);
+            return path3 === ".." || path3 === "." ? "" : path3;
+        }
       }
-      destroy.call(this, err, cb);
-      return this;
-    };
-    Writable.prototype._undestroy = destroyImpl.undestroy;
-    Writable.prototype._destroy = function(err, cb) {
-      cb(err);
-    };
-    Writable.prototype[EE.captureRejectionSymbol] = function(err) {
-      this.destroy(err);
-    };
-    var webStreamsAdapters;
-    function lazyWebStreams() {
-      if (webStreamsAdapters === void 0) webStreamsAdapters = {};
-      return webStreamsAdapters;
-    }
-    Writable.fromWeb = function(writableStream, options) {
-      return lazyWebStreams().newStreamWritableFromWritableStream(writableStream, options);
-    };
-    Writable.toWeb = function(streamWritable) {
-      return lazyWebStreams().newWritableStreamFromStreamWritable(streamWritable);
+      return path3 === ".." || path3 === "." ? "" : path3;
     };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/duplexify.js
-var require_duplexify = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/duplexify.js"(exports2, module2) {
-    var process2 = require_process();
-    var bufferModule = require("buffer");
-    var {
-      isReadable,
-      isWritable,
-      isIterable,
-      isNodeStream,
-      isReadableNodeStream,
-      isWritableNodeStream,
-      isDuplexNodeStream,
-      isReadableStream,
-      isWritableStream
-    } = require_utils8();
-    var eos = require_end_of_stream();
-    var {
-      AbortError,
-      codes: { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_RETURN_VALUE }
-    } = require_errors4();
-    var { destroyer } = require_destroy2();
-    var Duplex = require_duplex();
-    var Readable = require_readable4();
-    var Writable = require_writable();
-    var { createDeferredPromise } = require_util19();
-    var from = require_from();
-    var Blob2 = globalThis.Blob || bufferModule.Blob;
-    var isBlob = typeof Blob2 !== "undefined" ? function isBlob2(b) {
-      return b instanceof Blob2;
-    } : function isBlob2(b) {
-      return false;
-    };
-    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
-    var { FunctionPrototypeCall } = require_primordials();
-    var Duplexify = class extends Duplex {
-      constructor(options) {
-        super(options);
-        if ((options === null || options === void 0 ? void 0 : options.readable) === false) {
-          this._readableState.readable = false;
-          this._readableState.ended = true;
-          this._readableState.endEmitted = true;
-        }
-        if ((options === null || options === void 0 ? void 0 : options.writable) === false) {
-          this._writableState.writable = false;
-          this._writableState.ending = true;
-          this._writableState.ended = true;
-          this._writableState.finished = true;
+// node_modules/@fastify/busboy/lib/types/multipart.js
+var require_multipart2 = __commonJS({
+  "node_modules/@fastify/busboy/lib/types/multipart.js"(exports2, module2) {
+    "use strict";
+    var { Readable } = require("node:stream");
+    var { inherits } = require("node:util");
+    var Dicer = require_Dicer();
+    var parseParams = require_parseParams();
+    var decodeText = require_decodeText();
+    var basename2 = require_basename();
+    var getLimit = require_getLimit();
+    var RE_BOUNDARY = /^boundary$/i;
+    var RE_FIELD = /^form-data$/i;
+    var RE_CHARSET = /^charset$/i;
+    var RE_FILENAME = /^filename$/i;
+    var RE_NAME = /^name$/i;
+    Multipart.detect = /^multipart\/form-data/i;
+    function Multipart(boy, cfg) {
+      let i;
+      let len;
+      const self2 = this;
+      let boundary;
+      const limits = cfg.limits;
+      const isPartAFile = cfg.isPartAFile || ((fieldName, contentType, fileName) => contentType === "application/octet-stream" || fileName !== void 0);
+      const parsedConType = cfg.parsedConType || [];
+      const defCharset = cfg.defCharset || "utf8";
+      const preservePath = cfg.preservePath;
+      const fileOpts = { highWaterMark: cfg.fileHwm };
+      for (i = 0, len = parsedConType.length; i < len; ++i) {
+        if (Array.isArray(parsedConType[i]) && RE_BOUNDARY.test(parsedConType[i][0])) {
+          boundary = parsedConType[i][1];
+          break;
         }
       }
-    };
-    module2.exports = function duplexify(body, name) {
-      if (isDuplexNodeStream(body)) {
-        return body;
-      }
-      if (isReadableNodeStream(body)) {
-        return _duplexify({
-          readable: body
-        });
-      }
-      if (isWritableNodeStream(body)) {
-        return _duplexify({
-          writable: body
-        });
-      }
-      if (isNodeStream(body)) {
-        return _duplexify({
-          writable: false,
-          readable: false
-        });
-      }
-      if (isReadableStream(body)) {
-        return _duplexify({
-          readable: Readable.fromWeb(body)
-        });
-      }
-      if (isWritableStream(body)) {
-        return _duplexify({
-          writable: Writable.fromWeb(body)
-        });
-      }
-      if (typeof body === "function") {
-        const { value, write, final, destroy } = fromAsyncGen(body);
-        if (isIterable(value)) {
-          return from(Duplexify, value, {
-            // TODO (ronag): highWaterMark?
-            objectMode: true,
-            write,
-            final,
-            destroy
-          });
-        }
-        const then2 = value === null || value === void 0 ? void 0 : value.then;
-        if (typeof then2 === "function") {
-          let d;
-          const promise = FunctionPrototypeCall(
-            then2,
-            value,
-            (val) => {
-              if (val != null) {
-                throw new ERR_INVALID_RETURN_VALUE("nully", "body", val);
-              }
-            },
-            (err) => {
-              destroyer(d, err);
-            }
-          );
-          return d = new Duplexify({
-            // TODO (ronag): highWaterMark?
-            objectMode: true,
-            readable: false,
-            write,
-            final(cb) {
-              final(async () => {
-                try {
-                  await promise;
-                  process2.nextTick(cb, null);
-                } catch (err) {
-                  process2.nextTick(cb, err);
-                }
-              });
-            },
-            destroy
-          });
+      function checkFinished() {
+        if (nends === 0 && finished && !boy._done) {
+          finished = false;
+          self2.end();
         }
-        throw new ERR_INVALID_RETURN_VALUE("Iterable, AsyncIterable or AsyncFunction", name, value);
-      }
-      if (isBlob(body)) {
-        return duplexify(body.arrayBuffer());
-      }
-      if (isIterable(body)) {
-        return from(Duplexify, body, {
-          // TODO (ronag): highWaterMark?
-          objectMode: true,
-          writable: false
-        });
-      }
-      if (isReadableStream(body === null || body === void 0 ? void 0 : body.readable) && isWritableStream(body === null || body === void 0 ? void 0 : body.writable)) {
-        return Duplexify.fromWeb(body);
-      }
-      if (typeof (body === null || body === void 0 ? void 0 : body.writable) === "object" || typeof (body === null || body === void 0 ? void 0 : body.readable) === "object") {
-        const readable = body !== null && body !== void 0 && body.readable ? isReadableNodeStream(body === null || body === void 0 ? void 0 : body.readable) ? body === null || body === void 0 ? void 0 : body.readable : duplexify(body.readable) : void 0;
-        const writable = body !== null && body !== void 0 && body.writable ? isWritableNodeStream(body === null || body === void 0 ? void 0 : body.writable) ? body === null || body === void 0 ? void 0 : body.writable : duplexify(body.writable) : void 0;
-        return _duplexify({
-          readable,
-          writable
-        });
       }
-      const then = body === null || body === void 0 ? void 0 : body.then;
-      if (typeof then === "function") {
-        let d;
-        FunctionPrototypeCall(
-          then,
-          body,
-          (val) => {
-            if (val != null) {
-              d.push(val);
-            }
-            d.push(null);
-          },
-          (err) => {
-            destroyer(d, err);
-          }
-        );
-        return d = new Duplexify({
-          objectMode: true,
-          writable: false,
-          read() {
-          }
-        });
+      if (typeof boundary !== "string") {
+        throw new Error("Multipart: Boundary not found");
       }
-      throw new ERR_INVALID_ARG_TYPE2(
-        name,
-        [
-          "Blob",
-          "ReadableStream",
-          "WritableStream",
-          "Stream",
-          "Iterable",
-          "AsyncIterable",
-          "Function",
-          "{ readable, writable } pair",
-          "Promise"
-        ],
-        body
-      );
-    };
-    function fromAsyncGen(fn) {
-      let { promise, resolve: resolve2 } = createDeferredPromise();
-      const ac = new AbortController2();
-      const signal = ac.signal;
-      const value = fn(
-        (async function* () {
-          while (true) {
-            const _promise = promise;
-            promise = null;
-            const { chunk, done, cb } = await _promise;
-            process2.nextTick(cb);
-            if (done) return;
-            if (signal.aborted)
-              throw new AbortError(void 0, {
-                cause: signal.reason
-              });
-            ({ promise, resolve: resolve2 } = createDeferredPromise());
-            yield chunk;
-          }
-        })(),
-        {
-          signal
-        }
-      );
-      return {
-        value,
-        write(chunk, encoding, cb) {
-          const _resolve = resolve2;
-          resolve2 = null;
-          _resolve({
-            chunk,
-            done: false,
-            cb
-          });
-        },
-        final(cb) {
-          const _resolve = resolve2;
-          resolve2 = null;
-          _resolve({
-            done: true,
-            cb
-          });
-        },
-        destroy(err, cb) {
-          ac.abort();
-          cb(err);
-        }
+      const fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
+      const fileSizeLimit = getLimit(limits, "fileSize", Infinity);
+      const filesLimit = getLimit(limits, "files", Infinity);
+      const fieldsLimit = getLimit(limits, "fields", Infinity);
+      const partsLimit = getLimit(limits, "parts", Infinity);
+      const headerPairsLimit = getLimit(limits, "headerPairs", 2e3);
+      const headerSizeLimit = getLimit(limits, "headerSize", 80 * 1024);
+      let nfiles = 0;
+      let nfields = 0;
+      let nends = 0;
+      let curFile;
+      let curField;
+      let finished = false;
+      this._needDrain = false;
+      this._pause = false;
+      this._cb = void 0;
+      this._nparts = 0;
+      this._boy = boy;
+      const parserCfg = {
+        boundary,
+        maxHeaderPairs: headerPairsLimit,
+        maxHeaderSize: headerSizeLimit,
+        partHwm: fileOpts.highWaterMark,
+        highWaterMark: cfg.highWaterMark
       };
-    }
-    function _duplexify(pair) {
-      const r = pair.readable && typeof pair.readable.read !== "function" ? Readable.wrap(pair.readable) : pair.readable;
-      const w = pair.writable;
-      let readable = !!isReadable(r);
-      let writable = !!isWritable(w);
-      let ondrain;
-      let onfinish;
-      let onreadable;
-      let onclose;
-      let d;
-      function onfinished(err) {
-        const cb = onclose;
-        onclose = null;
-        if (cb) {
-          cb(err);
-        } else if (err) {
-          d.destroy(err);
+      this.parser = new Dicer(parserCfg);
+      this.parser.on("drain", function() {
+        self2._needDrain = false;
+        if (self2._cb && !self2._pause) {
+          const cb = self2._cb;
+          self2._cb = void 0;
+          cb();
         }
-      }
-      d = new Duplexify({
-        // TODO (ronag): highWaterMark?
-        readableObjectMode: !!(r !== null && r !== void 0 && r.readableObjectMode),
-        writableObjectMode: !!(w !== null && w !== void 0 && w.writableObjectMode),
-        readable,
-        writable
-      });
-      if (writable) {
-        eos(w, (err) => {
-          writable = false;
-          if (err) {
-            destroyer(r, err);
-          }
-          onfinished(err);
-        });
-        d._write = function(chunk, encoding, callback) {
-          if (w.write(chunk, encoding)) {
-            callback();
-          } else {
-            ondrain = callback;
+      }).on("part", function onPart(part) {
+        if (++self2._nparts > partsLimit) {
+          self2.parser.removeListener("part", onPart);
+          self2.parser.on("part", skipPart);
+          boy.hitPartsLimit = true;
+          boy.emit("partsLimit");
+          return skipPart(part);
+        }
+        if (curField) {
+          const field = curField;
+          field.emit("end");
+          field.removeAllListeners("end");
+        }
+        part.on("header", function(header) {
+          let contype;
+          let fieldname;
+          let parsed;
+          let charset;
+          let encoding;
+          let filename;
+          let nsize = 0;
+          if (header["content-type"]) {
+            parsed = parseParams(header["content-type"][0]);
+            if (parsed[0]) {
+              contype = parsed[0].toLowerCase();
+              for (i = 0, len = parsed.length; i < len; ++i) {
+                if (RE_CHARSET.test(parsed[i][0])) {
+                  charset = parsed[i][1].toLowerCase();
+                  break;
+                }
+              }
+            }
           }
-        };
-        d._final = function(callback) {
-          w.end();
-          onfinish = callback;
-        };
-        w.on("drain", function() {
-          if (ondrain) {
-            const cb = ondrain;
-            ondrain = null;
-            cb();
+          if (contype === void 0) {
+            contype = "text/plain";
           }
-        });
-        w.on("finish", function() {
-          if (onfinish) {
-            const cb = onfinish;
-            onfinish = null;
-            cb();
+          if (charset === void 0) {
+            charset = defCharset;
           }
-        });
-      }
-      if (readable) {
-        eos(r, (err) => {
-          readable = false;
-          if (err) {
-            destroyer(r, err);
+          if (header["content-disposition"]) {
+            parsed = parseParams(header["content-disposition"][0]);
+            if (!RE_FIELD.test(parsed[0])) {
+              return skipPart(part);
+            }
+            for (i = 0, len = parsed.length; i < len; ++i) {
+              if (RE_NAME.test(parsed[i][0])) {
+                fieldname = parsed[i][1];
+              } else if (RE_FILENAME.test(parsed[i][0])) {
+                filename = parsed[i][1];
+                if (!preservePath) {
+                  filename = basename2(filename);
+                }
+              }
+            }
+          } else {
+            return skipPart(part);
           }
-          onfinished(err);
-        });
-        r.on("readable", function() {
-          if (onreadable) {
-            const cb = onreadable;
-            onreadable = null;
-            cb();
+          if (header["content-transfer-encoding"]) {
+            encoding = header["content-transfer-encoding"][0].toLowerCase();
+          } else {
+            encoding = "7bit";
           }
-        });
-        r.on("end", function() {
-          d.push(null);
-        });
-        d._read = function() {
-          while (true) {
-            const buf = r.read();
-            if (buf === null) {
-              onreadable = d._read;
-              return;
+          let onData, onEnd;
+          if (isPartAFile(fieldname, contype, filename)) {
+            if (nfiles === filesLimit) {
+              if (!boy.hitFilesLimit) {
+                boy.hitFilesLimit = true;
+                boy.emit("filesLimit");
+              }
+              return skipPart(part);
             }
-            if (!d.push(buf)) {
+            ++nfiles;
+            if (boy.listenerCount("file") === 0) {
+              self2.parser._ignore();
               return;
             }
+            ++nends;
+            const file = new FileStream(fileOpts);
+            curFile = file;
+            file.on("end", function() {
+              --nends;
+              self2._pause = false;
+              checkFinished();
+              if (self2._cb && !self2._needDrain) {
+                const cb = self2._cb;
+                self2._cb = void 0;
+                cb();
+              }
+            });
+            file._read = function(n) {
+              if (!self2._pause) {
+                return;
+              }
+              self2._pause = false;
+              if (self2._cb && !self2._needDrain) {
+                const cb = self2._cb;
+                self2._cb = void 0;
+                cb();
+              }
+            };
+            boy.emit("file", fieldname, file, filename, encoding, contype);
+            onData = function(data) {
+              if ((nsize += data.length) > fileSizeLimit) {
+                const extralen = fileSizeLimit - nsize + data.length;
+                if (extralen > 0) {
+                  file.push(data.slice(0, extralen));
+                }
+                file.truncated = true;
+                file.bytesRead = fileSizeLimit;
+                part.removeAllListeners("data");
+                file.emit("limit");
+                return;
+              } else if (!file.push(data)) {
+                self2._pause = true;
+              }
+              file.bytesRead = nsize;
+            };
+            onEnd = function() {
+              curFile = void 0;
+              file.push(null);
+            };
+          } else {
+            if (nfields === fieldsLimit) {
+              if (!boy.hitFieldsLimit) {
+                boy.hitFieldsLimit = true;
+                boy.emit("fieldsLimit");
+              }
+              return skipPart(part);
+            }
+            ++nfields;
+            ++nends;
+            let buffer = "";
+            let truncated = false;
+            curField = part;
+            onData = function(data) {
+              if ((nsize += data.length) > fieldSizeLimit) {
+                const extralen = fieldSizeLimit - (nsize - data.length);
+                buffer += data.toString("binary", 0, extralen);
+                truncated = true;
+                part.removeAllListeners("data");
+              } else {
+                buffer += data.toString("binary");
+              }
+            };
+            onEnd = function() {
+              curField = void 0;
+              if (buffer.length) {
+                buffer = decodeText(buffer, "binary", charset);
+              }
+              boy.emit("field", fieldname, buffer, false, truncated, encoding, contype);
+              --nends;
+              checkFinished();
+            };
           }
-        };
-      }
-      d._destroy = function(err, callback) {
-        if (!err && onclose !== null) {
-          err = new AbortError();
-        }
-        onreadable = null;
-        ondrain = null;
-        onfinish = null;
-        if (onclose === null) {
-          callback(err);
-        } else {
-          onclose = callback;
-          destroyer(w, err);
-          destroyer(r, err);
-        }
-      };
-      return d;
-    }
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/duplex.js
-var require_duplex = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/duplex.js"(exports2, module2) {
-    "use strict";
-    var {
-      ObjectDefineProperties,
-      ObjectGetOwnPropertyDescriptor,
-      ObjectKeys,
-      ObjectSetPrototypeOf
-    } = require_primordials();
-    module2.exports = Duplex;
-    var Readable = require_readable4();
-    var Writable = require_writable();
-    ObjectSetPrototypeOf(Duplex.prototype, Readable.prototype);
-    ObjectSetPrototypeOf(Duplex, Readable);
-    {
-      const keys = ObjectKeys(Writable.prototype);
-      for (let i = 0; i < keys.length; i++) {
-        const method = keys[i];
-        if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];
-      }
+          part._readableState.sync = false;
+          part.on("data", onData);
+          part.on("end", onEnd);
+        }).on("error", function(err) {
+          if (curFile) {
+            curFile.emit("error", err);
+          }
+        });
+      }).on("error", function(err) {
+        boy.emit("error", err);
+      }).on("finish", function() {
+        finished = true;
+        checkFinished();
+      });
     }
-    function Duplex(options) {
-      if (!(this instanceof Duplex)) return new Duplex(options);
-      Readable.call(this, options);
-      Writable.call(this, options);
-      if (options) {
-        this.allowHalfOpen = options.allowHalfOpen !== false;
-        if (options.readable === false) {
-          this._readableState.readable = false;
-          this._readableState.ended = true;
-          this._readableState.endEmitted = true;
-        }
-        if (options.writable === false) {
-          this._writableState.writable = false;
-          this._writableState.ending = true;
-          this._writableState.ended = true;
-          this._writableState.finished = true;
-        }
+    Multipart.prototype.write = function(chunk, cb) {
+      const r = this.parser.write(chunk);
+      if (r && !this._pause) {
+        cb();
       } else {
-        this.allowHalfOpen = true;
-      }
-    }
-    ObjectDefineProperties(Duplex.prototype, {
-      writable: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writable")
-      },
-      writableHighWaterMark: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableHighWaterMark")
-      },
-      writableObjectMode: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableObjectMode")
-      },
-      writableBuffer: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableBuffer")
-      },
-      writableLength: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableLength")
-      },
-      writableFinished: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableFinished")
-      },
-      writableCorked: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableCorked")
-      },
-      writableEnded: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableEnded")
-      },
-      writableNeedDrain: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableNeedDrain")
-      },
-      destroyed: {
-        __proto__: null,
-        get() {
-          if (this._readableState === void 0 || this._writableState === void 0) {
-            return false;
-          }
-          return this._readableState.destroyed && this._writableState.destroyed;
-        },
-        set(value) {
-          if (this._readableState && this._writableState) {
-            this._readableState.destroyed = value;
-            this._writableState.destroyed = value;
-          }
-        }
+        this._needDrain = !r;
+        this._cb = cb;
       }
-    });
-    var webStreamsAdapters;
-    function lazyWebStreams() {
-      if (webStreamsAdapters === void 0) webStreamsAdapters = {};
-      return webStreamsAdapters;
-    }
-    Duplex.fromWeb = function(pair, options) {
-      return lazyWebStreams().newStreamDuplexFromReadableWritablePair(pair, options);
     };
-    Duplex.toWeb = function(duplex) {
-      return lazyWebStreams().newReadableWritablePairFromDuplex(duplex);
-    };
-    var duplexify;
-    Duplex.from = function(body) {
-      if (!duplexify) {
-        duplexify = require_duplexify();
+    Multipart.prototype.end = function() {
+      const self2 = this;
+      if (self2.parser.writable) {
+        self2.parser.end();
+      } else if (!self2._boy._done) {
+        process.nextTick(function() {
+          self2._boy._done = true;
+          self2._boy.emit("finish");
+        });
       }
-      return duplexify(body, "body");
     };
+    function skipPart(part) {
+      part.resume();
+    }
+    function FileStream(opts) {
+      Readable.call(this, opts);
+      this.bytesRead = 0;
+      this.truncated = false;
+    }
+    inherits(FileStream, Readable);
+    FileStream.prototype._read = function(n) {
+    };
+    module2.exports = Multipart;
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/transform.js
-var require_transform = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/transform.js"(exports2, module2) {
+// node_modules/@fastify/busboy/lib/utils/Decoder.js
+var require_Decoder = __commonJS({
+  "node_modules/@fastify/busboy/lib/utils/Decoder.js"(exports2, module2) {
     "use strict";
-    var { ObjectSetPrototypeOf, Symbol: Symbol2 } = require_primordials();
-    module2.exports = Transform;
-    var { ERR_METHOD_NOT_IMPLEMENTED } = require_errors4().codes;
-    var Duplex = require_duplex();
-    var { getHighWaterMark } = require_state3();
-    ObjectSetPrototypeOf(Transform.prototype, Duplex.prototype);
-    ObjectSetPrototypeOf(Transform, Duplex);
-    var kCallback = Symbol2("kCallback");
-    function Transform(options) {
-      if (!(this instanceof Transform)) return new Transform(options);
-      const readableHighWaterMark = options ? getHighWaterMark(this, options, "readableHighWaterMark", true) : null;
-      if (readableHighWaterMark === 0) {
-        options = {
-          ...options,
-          highWaterMark: null,
-          readableHighWaterMark,
-          // TODO (ronag): 0 is not optimal since we have
-          // a "bug" where we check needDrain before calling _write and not after.
-          // Refs: https://github.com/nodejs/node/pull/32887
-          // Refs: https://github.com/nodejs/node/pull/35941
-          writableHighWaterMark: options.writableHighWaterMark || 0
-        };
-      }
-      Duplex.call(this, options);
-      this._readableState.sync = false;
-      this[kCallback] = null;
-      if (options) {
-        if (typeof options.transform === "function") this._transform = options.transform;
-        if (typeof options.flush === "function") this._flush = options.flush;
-      }
-      this.on("prefinish", prefinish);
+    var RE_PLUS = /\+/g;
+    var HEX = [
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0
+    ];
+    function Decoder() {
+      this.buffer = void 0;
     }
-    function final(cb) {
-      if (typeof this._flush === "function" && !this.destroyed) {
-        this._flush((er, data) => {
-          if (er) {
-            if (cb) {
-              cb(er);
-            } else {
-              this.destroy(er);
+    Decoder.prototype.write = function(str2) {
+      str2 = str2.replace(RE_PLUS, " ");
+      let res = "";
+      let i = 0;
+      let p = 0;
+      const len = str2.length;
+      for (; i < len; ++i) {
+        if (this.buffer !== void 0) {
+          if (!HEX[str2.charCodeAt(i)]) {
+            res += "%" + this.buffer;
+            this.buffer = void 0;
+            --i;
+          } else {
+            this.buffer += str2[i];
+            ++p;
+            if (this.buffer.length === 2) {
+              res += String.fromCharCode(parseInt(this.buffer, 16));
+              this.buffer = void 0;
             }
-            return;
-          }
-          if (data != null) {
-            this.push(data);
           }
-          this.push(null);
-          if (cb) {
-            cb();
+        } else if (str2[i] === "%") {
+          if (i > p) {
+            res += str2.substring(p, i);
+            p = i;
           }
-        });
-      } else {
-        this.push(null);
-        if (cb) {
-          cb();
+          this.buffer = "";
+          ++p;
         }
       }
-    }
-    function prefinish() {
-      if (this._final !== final) {
-        final.call(this);
+      if (p < len && this.buffer === void 0) {
+        res += str2.substring(p);
       }
-    }
-    Transform.prototype._final = final;
-    Transform.prototype._transform = function(chunk, encoding, callback) {
-      throw new ERR_METHOD_NOT_IMPLEMENTED("_transform()");
-    };
-    Transform.prototype._write = function(chunk, encoding, callback) {
-      const rState = this._readableState;
-      const wState = this._writableState;
-      const length = rState.length;
-      this._transform(chunk, encoding, (err, val) => {
-        if (err) {
-          callback(err);
-          return;
-        }
-        if (val != null) {
-          this.push(val);
-        }
-        if (wState.ended || // Backwards compat.
-        length === rState.length || // Backwards compat.
-        rState.length < rState.highWaterMark) {
-          callback();
-        } else {
-          this[kCallback] = callback;
-        }
-      });
+      return res;
     };
-    Transform.prototype._read = function() {
-      if (this[kCallback]) {
-        const callback = this[kCallback];
-        this[kCallback] = null;
-        callback();
-      }
+    Decoder.prototype.reset = function() {
+      this.buffer = void 0;
     };
+    module2.exports = Decoder;
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/passthrough.js
-var require_passthrough2 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/passthrough.js"(exports2, module2) {
+// node_modules/@fastify/busboy/lib/types/urlencoded.js
+var require_urlencoded = __commonJS({
+  "node_modules/@fastify/busboy/lib/types/urlencoded.js"(exports2, module2) {
     "use strict";
-    var { ObjectSetPrototypeOf } = require_primordials();
-    module2.exports = PassThrough;
-    var Transform = require_transform();
-    ObjectSetPrototypeOf(PassThrough.prototype, Transform.prototype);
-    ObjectSetPrototypeOf(PassThrough, Transform);
-    function PassThrough(options) {
-      if (!(this instanceof PassThrough)) return new PassThrough(options);
-      Transform.call(this, options);
-    }
-    PassThrough.prototype._transform = function(chunk, encoding, cb) {
-      cb(null, chunk);
-    };
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/pipeline.js
-var require_pipeline4 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/pipeline.js"(exports2, module2) {
-    var process2 = require_process();
-    var { ArrayIsArray, Promise: Promise2, SymbolAsyncIterator, SymbolDispose } = require_primordials();
-    var eos = require_end_of_stream();
-    var { once } = require_util19();
-    var destroyImpl = require_destroy2();
-    var Duplex = require_duplex();
-    var {
-      aggregateTwoErrors,
-      codes: {
-        ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,
-        ERR_INVALID_RETURN_VALUE,
-        ERR_MISSING_ARGS,
-        ERR_STREAM_DESTROYED,
-        ERR_STREAM_PREMATURE_CLOSE
-      },
-      AbortError
-    } = require_errors4();
-    var { validateFunction, validateAbortSignal } = require_validators();
-    var {
-      isIterable,
-      isReadable,
-      isReadableNodeStream,
-      isNodeStream,
-      isTransformStream,
-      isWebStream,
-      isReadableStream,
-      isReadableFinished
-    } = require_utils8();
-    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
-    var PassThrough;
-    var Readable;
-    var addAbortListener;
-    function destroyer(stream, reading, writing) {
-      let finished = false;
-      stream.on("close", () => {
-        finished = true;
-      });
-      const cleanup = eos(
-        stream,
-        {
-          readable: reading,
-          writable: writing
-        },
-        (err) => {
-          finished = !err;
-        }
-      );
-      return {
-        destroy: (err) => {
-          if (finished) return;
-          finished = true;
-          destroyImpl.destroyer(stream, err || new ERR_STREAM_DESTROYED("pipe"));
-        },
-        cleanup
-      };
-    }
-    function popCallback(streams) {
-      validateFunction(streams[streams.length - 1], "streams[stream.length - 1]");
-      return streams.pop();
-    }
-    function makeAsyncIterable(val) {
-      if (isIterable(val)) {
-        return val;
-      } else if (isReadableNodeStream(val)) {
-        return fromReadable(val);
-      }
-      throw new ERR_INVALID_ARG_TYPE2("val", ["Readable", "Iterable", "AsyncIterable"], val);
-    }
-    async function* fromReadable(val) {
-      if (!Readable) {
-        Readable = require_readable4();
-      }
-      yield* Readable.prototype[SymbolAsyncIterator].call(val);
-    }
-    async function pumpToNode(iterable, writable, finish, { end }) {
-      let error3;
-      let onresolve = null;
-      const resume = (err) => {
-        if (err) {
-          error3 = err;
-        }
-        if (onresolve) {
-          const callback = onresolve;
-          onresolve = null;
-          callback();
-        }
-      };
-      const wait = () => new Promise2((resolve2, reject) => {
-        if (error3) {
-          reject(error3);
-        } else {
-          onresolve = () => {
-            if (error3) {
-              reject(error3);
-            } else {
-              resolve2();
-            }
-          };
-        }
-      });
-      writable.on("drain", resume);
-      const cleanup = eos(
-        writable,
-        {
-          readable: false
-        },
-        resume
-      );
-      try {
-        if (writable.writableNeedDrain) {
-          await wait();
-        }
-        for await (const chunk of iterable) {
-          if (!writable.write(chunk)) {
-            await wait();
-          }
-        }
-        if (end) {
-          writable.end();
-          await wait();
+    var Decoder = require_Decoder();
+    var decodeText = require_decodeText();
+    var getLimit = require_getLimit();
+    var RE_CHARSET = /^charset$/i;
+    UrlEncoded.detect = /^application\/x-www-form-urlencoded/i;
+    function UrlEncoded(boy, cfg) {
+      const limits = cfg.limits;
+      const parsedConType = cfg.parsedConType;
+      this.boy = boy;
+      this.fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
+      this.fieldNameSizeLimit = getLimit(limits, "fieldNameSize", 100);
+      this.fieldsLimit = getLimit(limits, "fields", Infinity);
+      let charset;
+      for (var i = 0, len = parsedConType.length; i < len; ++i) {
+        if (Array.isArray(parsedConType[i]) && RE_CHARSET.test(parsedConType[i][0])) {
+          charset = parsedConType[i][1].toLowerCase();
+          break;
         }
-        finish();
-      } catch (err) {
-        finish(error3 !== err ? aggregateTwoErrors(error3, err) : err);
-      } finally {
-        cleanup();
-        writable.off("drain", resume);
-      }
-    }
-    async function pumpToWeb(readable, writable, finish, { end }) {
-      if (isTransformStream(writable)) {
-        writable = writable.writable;
       }
-      const writer = writable.getWriter();
-      try {
-        for await (const chunk of readable) {
-          await writer.ready;
-          writer.write(chunk).catch(() => {
-          });
-        }
-        await writer.ready;
-        if (end) {
-          await writer.close();
-        }
-        finish();
-      } catch (err) {
-        try {
-          await writer.abort(err);
-          finish(err);
-        } catch (err2) {
-          finish(err2);
-        }
+      if (charset === void 0) {
+        charset = cfg.defCharset || "utf8";
       }
+      this.decoder = new Decoder();
+      this.charset = charset;
+      this._fields = 0;
+      this._state = "key";
+      this._checkingBytes = true;
+      this._bytesKey = 0;
+      this._bytesVal = 0;
+      this._key = "";
+      this._val = "";
+      this._keyTrunc = false;
+      this._valTrunc = false;
+      this._hitLimit = false;
     }
-    function pipeline(...streams) {
-      return pipelineImpl(streams, once(popCallback(streams)));
-    }
-    function pipelineImpl(streams, callback, opts) {
-      if (streams.length === 1 && ArrayIsArray(streams[0])) {
-        streams = streams[0];
-      }
-      if (streams.length < 2) {
-        throw new ERR_MISSING_ARGS("streams");
-      }
-      const ac = new AbortController2();
-      const signal = ac.signal;
-      const outerSignal = opts === null || opts === void 0 ? void 0 : opts.signal;
-      const lastStreamCleanup = [];
-      validateAbortSignal(outerSignal, "options.signal");
-      function abort() {
-        finishImpl(new AbortError());
-      }
-      addAbortListener = addAbortListener || require_util19().addAbortListener;
-      let disposable;
-      if (outerSignal) {
-        disposable = addAbortListener(outerSignal, abort);
-      }
-      let error3;
-      let value;
-      const destroys = [];
-      let finishCount = 0;
-      function finish(err) {
-        finishImpl(err, --finishCount === 0);
-      }
-      function finishImpl(err, final) {
-        var _disposable;
-        if (err && (!error3 || error3.code === "ERR_STREAM_PREMATURE_CLOSE")) {
-          error3 = err;
-        }
-        if (!error3 && !final) {
-          return;
-        }
-        while (destroys.length) {
-          destroys.shift()(error3);
-        }
-        ;
-        (_disposable = disposable) === null || _disposable === void 0 ? void 0 : _disposable[SymbolDispose]();
-        ac.abort();
-        if (final) {
-          if (!error3) {
-            lastStreamCleanup.forEach((fn) => fn());
-          }
-          process2.nextTick(callback, error3, value);
+    UrlEncoded.prototype.write = function(data, cb) {
+      if (this._fields === this.fieldsLimit) {
+        if (!this.boy.hitFieldsLimit) {
+          this.boy.hitFieldsLimit = true;
+          this.boy.emit("fieldsLimit");
         }
+        return cb();
       }
-      let ret;
-      for (let i = 0; i < streams.length; i++) {
-        const stream = streams[i];
-        const reading = i < streams.length - 1;
-        const writing = i > 0;
-        const end = reading || (opts === null || opts === void 0 ? void 0 : opts.end) !== false;
-        const isLastStream = i === streams.length - 1;
-        if (isNodeStream(stream)) {
-          let onError2 = function(err) {
-            if (err && err.name !== "AbortError" && err.code !== "ERR_STREAM_PREMATURE_CLOSE") {
-              finish(err);
+      let idxeq;
+      let idxamp;
+      let i;
+      let p = 0;
+      const len = data.length;
+      while (p < len) {
+        if (this._state === "key") {
+          idxeq = idxamp = void 0;
+          for (i = p; i < len; ++i) {
+            if (!this._checkingBytes) {
+              ++p;
             }
-          };
-          var onError = onError2;
-          if (end) {
-            const { destroy, cleanup } = destroyer(stream, reading, writing);
-            destroys.push(destroy);
-            if (isReadable(stream) && isLastStream) {
-              lastStreamCleanup.push(cleanup);
+            if (data[i] === 61) {
+              idxeq = i;
+              break;
+            } else if (data[i] === 38) {
+              idxamp = i;
+              break;
             }
-          }
-          stream.on("error", onError2);
-          if (isReadable(stream) && isLastStream) {
-            lastStreamCleanup.push(() => {
-              stream.removeListener("error", onError2);
-            });
-          }
-        }
-        if (i === 0) {
-          if (typeof stream === "function") {
-            ret = stream({
-              signal
-            });
-            if (!isIterable(ret)) {
-              throw new ERR_INVALID_RETURN_VALUE("Iterable, AsyncIterable or Stream", "source", ret);
+            if (this._checkingBytes && this._bytesKey === this.fieldNameSizeLimit) {
+              this._hitLimit = true;
+              break;
+            } else if (this._checkingBytes) {
+              ++this._bytesKey;
             }
-          } else if (isIterable(stream) || isReadableNodeStream(stream) || isTransformStream(stream)) {
-            ret = stream;
-          } else {
-            ret = Duplex.from(stream);
-          }
-        } else if (typeof stream === "function") {
-          if (isTransformStream(ret)) {
-            var _ret;
-            ret = makeAsyncIterable((_ret = ret) === null || _ret === void 0 ? void 0 : _ret.readable);
-          } else {
-            ret = makeAsyncIterable(ret);
           }
-          ret = stream(ret, {
-            signal
-          });
-          if (reading) {
-            if (!isIterable(ret, true)) {
-              throw new ERR_INVALID_RETURN_VALUE("AsyncIterable", `transform[${i - 1}]`, ret);
+          if (idxeq !== void 0) {
+            if (idxeq > p) {
+              this._key += this.decoder.write(data.toString("binary", p, idxeq));
             }
-          } else {
-            var _ret2;
-            if (!PassThrough) {
-              PassThrough = require_passthrough2();
+            this._state = "val";
+            this._hitLimit = false;
+            this._checkingBytes = true;
+            this._val = "";
+            this._bytesVal = 0;
+            this._valTrunc = false;
+            this.decoder.reset();
+            p = idxeq + 1;
+          } else if (idxamp !== void 0) {
+            ++this._fields;
+            let key;
+            const keyTrunc = this._keyTrunc;
+            if (idxamp > p) {
+              key = this._key += this.decoder.write(data.toString("binary", p, idxamp));
+            } else {
+              key = this._key;
             }
-            const pt = new PassThrough({
-              objectMode: true
-            });
-            const then = (_ret2 = ret) === null || _ret2 === void 0 ? void 0 : _ret2.then;
-            if (typeof then === "function") {
-              finishCount++;
-              then.call(
-                ret,
-                (val) => {
-                  value = val;
-                  if (val != null) {
-                    pt.write(val);
-                  }
-                  if (end) {
-                    pt.end();
-                  }
-                  process2.nextTick(finish);
-                },
-                (err) => {
-                  pt.destroy(err);
-                  process2.nextTick(finish, err);
-                }
+            this._hitLimit = false;
+            this._checkingBytes = true;
+            this._key = "";
+            this._bytesKey = 0;
+            this._keyTrunc = false;
+            this.decoder.reset();
+            if (key.length) {
+              this.boy.emit(
+                "field",
+                decodeText(key, "binary", this.charset),
+                "",
+                keyTrunc,
+                false
               );
-            } else if (isIterable(ret, true)) {
-              finishCount++;
-              pumpToNode(ret, pt, finish, {
-                end
-              });
-            } else if (isReadableStream(ret) || isTransformStream(ret)) {
-              const toRead = ret.readable || ret;
-              finishCount++;
-              pumpToNode(toRead, pt, finish, {
-                end
-              });
-            } else {
-              throw new ERR_INVALID_RETURN_VALUE("AsyncIterable or Promise", "destination", ret);
             }
-            ret = pt;
-            const { destroy, cleanup } = destroyer(ret, false, true);
-            destroys.push(destroy);
-            if (isLastStream) {
-              lastStreamCleanup.push(cleanup);
+            p = idxamp + 1;
+            if (this._fields === this.fieldsLimit) {
+              return cb();
+            }
+          } else if (this._hitLimit) {
+            if (i > p) {
+              this._key += this.decoder.write(data.toString("binary", p, i));
+            }
+            p = i;
+            if ((this._bytesKey = this._key.length) === this.fieldNameSizeLimit) {
+              this._checkingBytes = false;
+              this._keyTrunc = true;
+            }
+          } else {
+            if (p < len) {
+              this._key += this.decoder.write(data.toString("binary", p));
             }
+            p = len;
           }
-        } else if (isNodeStream(stream)) {
-          if (isReadableNodeStream(ret)) {
-            finishCount += 2;
-            const cleanup = pipe(ret, stream, finish, {
-              end
-            });
-            if (isReadable(stream) && isLastStream) {
-              lastStreamCleanup.push(cleanup);
+        } else {
+          idxamp = void 0;
+          for (i = p; i < len; ++i) {
+            if (!this._checkingBytes) {
+              ++p;
+            }
+            if (data[i] === 38) {
+              idxamp = i;
+              break;
+            }
+            if (this._checkingBytes && this._bytesVal === this.fieldSizeLimit) {
+              this._hitLimit = true;
+              break;
+            } else if (this._checkingBytes) {
+              ++this._bytesVal;
             }
-          } else if (isTransformStream(ret) || isReadableStream(ret)) {
-            const toRead = ret.readable || ret;
-            finishCount++;
-            pumpToNode(toRead, stream, finish, {
-              end
-            });
-          } else if (isIterable(ret)) {
-            finishCount++;
-            pumpToNode(ret, stream, finish, {
-              end
-            });
-          } else {
-            throw new ERR_INVALID_ARG_TYPE2(
-              "val",
-              ["Readable", "Iterable", "AsyncIterable", "ReadableStream", "TransformStream"],
-              ret
-            );
           }
-          ret = stream;
-        } else if (isWebStream(stream)) {
-          if (isReadableNodeStream(ret)) {
-            finishCount++;
-            pumpToWeb(makeAsyncIterable(ret), stream, finish, {
-              end
-            });
-          } else if (isReadableStream(ret) || isIterable(ret)) {
-            finishCount++;
-            pumpToWeb(ret, stream, finish, {
-              end
-            });
-          } else if (isTransformStream(ret)) {
-            finishCount++;
-            pumpToWeb(ret.readable, stream, finish, {
-              end
-            });
-          } else {
-            throw new ERR_INVALID_ARG_TYPE2(
-              "val",
-              ["Readable", "Iterable", "AsyncIterable", "ReadableStream", "TransformStream"],
-              ret
+          if (idxamp !== void 0) {
+            ++this._fields;
+            if (idxamp > p) {
+              this._val += this.decoder.write(data.toString("binary", p, idxamp));
+            }
+            this.boy.emit(
+              "field",
+              decodeText(this._key, "binary", this.charset),
+              decodeText(this._val, "binary", this.charset),
+              this._keyTrunc,
+              this._valTrunc
             );
+            this._state = "key";
+            this._hitLimit = false;
+            this._checkingBytes = true;
+            this._key = "";
+            this._bytesKey = 0;
+            this._keyTrunc = false;
+            this.decoder.reset();
+            p = idxamp + 1;
+            if (this._fields === this.fieldsLimit) {
+              return cb();
+            }
+          } else if (this._hitLimit) {
+            if (i > p) {
+              this._val += this.decoder.write(data.toString("binary", p, i));
+            }
+            p = i;
+            if (this._val === "" && this.fieldSizeLimit === 0 || (this._bytesVal = this._val.length) === this.fieldSizeLimit) {
+              this._checkingBytes = false;
+              this._valTrunc = true;
+            }
+          } else {
+            if (p < len) {
+              this._val += this.decoder.write(data.toString("binary", p));
+            }
+            p = len;
           }
-          ret = stream;
-        } else {
-          ret = Duplex.from(stream);
         }
       }
-      if (signal !== null && signal !== void 0 && signal.aborted || outerSignal !== null && outerSignal !== void 0 && outerSignal.aborted) {
-        process2.nextTick(abort);
+      cb();
+    };
+    UrlEncoded.prototype.end = function() {
+      if (this.boy._done) {
+        return;
       }
-      return ret;
-    }
-    function pipe(src, dst, finish, { end }) {
-      let ended = false;
-      dst.on("close", () => {
-        if (!ended) {
-          finish(new ERR_STREAM_PREMATURE_CLOSE());
-        }
-      });
-      src.pipe(dst, {
-        end: false
-      });
-      if (end) {
-        let endFn2 = function() {
-          ended = true;
-          dst.end();
-        };
-        var endFn = endFn2;
-        if (isReadableFinished(src)) {
-          process2.nextTick(endFn2);
-        } else {
-          src.once("end", endFn2);
-        }
-      } else {
-        finish();
+      if (this._state === "key" && this._key.length > 0) {
+        this.boy.emit(
+          "field",
+          decodeText(this._key, "binary", this.charset),
+          "",
+          this._keyTrunc,
+          false
+        );
+      } else if (this._state === "val") {
+        this.boy.emit(
+          "field",
+          decodeText(this._key, "binary", this.charset),
+          decodeText(this._val, "binary", this.charset),
+          this._keyTrunc,
+          this._valTrunc
+        );
       }
-      eos(
-        src,
-        {
-          readable: true,
-          writable: false
-        },
-        (err) => {
-          const rState = src._readableState;
-          if (err && err.code === "ERR_STREAM_PREMATURE_CLOSE" && rState && rState.ended && !rState.errored && !rState.errorEmitted) {
-            src.once("end", finish).once("error", finish);
-          } else {
-            finish(err);
-          }
-        }
-      );
-      return eos(
-        dst,
-        {
-          readable: false,
-          writable: true
-        },
-        finish
-      );
-    }
-    module2.exports = {
-      pipelineImpl,
-      pipeline
+      this.boy._done = true;
+      this.boy.emit("finish");
     };
+    module2.exports = UrlEncoded;
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/compose.js
-var require_compose = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/compose.js"(exports2, module2) {
+// node_modules/@fastify/busboy/lib/main.js
+var require_main = __commonJS({
+  "node_modules/@fastify/busboy/lib/main.js"(exports2, module2) {
     "use strict";
-    var { pipeline } = require_pipeline4();
-    var Duplex = require_duplex();
-    var { destroyer } = require_destroy2();
-    var {
-      isNodeStream,
-      isReadable,
-      isWritable,
-      isWebStream,
-      isTransformStream,
-      isWritableStream,
-      isReadableStream
-    } = require_utils8();
-    var {
-      AbortError,
-      codes: { ERR_INVALID_ARG_VALUE, ERR_MISSING_ARGS }
-    } = require_errors4();
-    var eos = require_end_of_stream();
-    module2.exports = function compose(...streams) {
-      if (streams.length === 0) {
-        throw new ERR_MISSING_ARGS("streams");
+    var WritableStream = require("node:stream").Writable;
+    var { inherits } = require("node:util");
+    var Dicer = require_Dicer();
+    var MultipartParser = require_multipart2();
+    var UrlencodedParser = require_urlencoded();
+    var parseParams = require_parseParams();
+    function Busboy(opts) {
+      if (!(this instanceof Busboy)) {
+        return new Busboy(opts);
       }
-      if (streams.length === 1) {
-        return Duplex.from(streams[0]);
+      if (typeof opts !== "object") {
+        throw new TypeError("Busboy expected an options-Object.");
       }
-      const orgStreams = [...streams];
-      if (typeof streams[0] === "function") {
-        streams[0] = Duplex.from(streams[0]);
+      if (typeof opts.headers !== "object") {
+        throw new TypeError("Busboy expected an options-Object with headers-attribute.");
       }
-      if (typeof streams[streams.length - 1] === "function") {
-        const idx = streams.length - 1;
-        streams[idx] = Duplex.from(streams[idx]);
+      if (typeof opts.headers["content-type"] !== "string") {
+        throw new TypeError("Missing Content-Type-header.");
       }
-      for (let n = 0; n < streams.length; ++n) {
-        if (!isNodeStream(streams[n]) && !isWebStream(streams[n])) {
-          continue;
-        }
-        if (n < streams.length - 1 && !(isReadable(streams[n]) || isReadableStream(streams[n]) || isTransformStream(streams[n]))) {
-          throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`, orgStreams[n], "must be readable");
-        }
-        if (n > 0 && !(isWritable(streams[n]) || isWritableStream(streams[n]) || isTransformStream(streams[n]))) {
-          throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`, orgStreams[n], "must be writable");
+      const {
+        headers,
+        ...streamOptions
+      } = opts;
+      this.opts = {
+        autoDestroy: false,
+        ...streamOptions
+      };
+      WritableStream.call(this, this.opts);
+      this._done = false;
+      this._parser = this.getParserByHeaders(headers);
+      this._finished = false;
+    }
+    inherits(Busboy, WritableStream);
+    Busboy.prototype.emit = function(ev) {
+      if (ev === "finish") {
+        if (!this._done) {
+          this._parser?.end();
+          return;
+        } else if (this._finished) {
+          return;
         }
+        this._finished = true;
       }
-      let ondrain;
-      let onfinish;
-      let onreadable;
-      let onclose;
-      let d;
-      function onfinished(err) {
-        const cb = onclose;
-        onclose = null;
-        if (cb) {
-          cb(err);
-        } else if (err) {
-          d.destroy(err);
-        } else if (!readable && !writable) {
-          d.destroy();
-        }
+      WritableStream.prototype.emit.apply(this, arguments);
+    };
+    Busboy.prototype.getParserByHeaders = function(headers) {
+      const parsed = parseParams(headers["content-type"]);
+      const cfg = {
+        defCharset: this.opts.defCharset,
+        fileHwm: this.opts.fileHwm,
+        headers,
+        highWaterMark: this.opts.highWaterMark,
+        isPartAFile: this.opts.isPartAFile,
+        limits: this.opts.limits,
+        parsedConType: parsed,
+        preservePath: this.opts.preservePath
+      };
+      if (MultipartParser.detect.test(parsed[0])) {
+        return new MultipartParser(this, cfg);
       }
-      const head = streams[0];
-      const tail = pipeline(streams, onfinished);
-      const writable = !!(isWritable(head) || isWritableStream(head) || isTransformStream(head));
-      const readable = !!(isReadable(tail) || isReadableStream(tail) || isTransformStream(tail));
-      d = new Duplex({
-        // TODO (ronag): highWaterMark?
-        writableObjectMode: !!(head !== null && head !== void 0 && head.writableObjectMode),
-        readableObjectMode: !!(tail !== null && tail !== void 0 && tail.readableObjectMode),
-        writable,
-        readable
-      });
-      if (writable) {
-        if (isNodeStream(head)) {
-          d._write = function(chunk, encoding, callback) {
-            if (head.write(chunk, encoding)) {
-              callback();
-            } else {
-              ondrain = callback;
-            }
-          };
-          d._final = function(callback) {
-            head.end();
-            onfinish = callback;
-          };
-          head.on("drain", function() {
-            if (ondrain) {
-              const cb = ondrain;
-              ondrain = null;
-              cb();
-            }
-          });
-        } else if (isWebStream(head)) {
-          const writable2 = isTransformStream(head) ? head.writable : head;
-          const writer = writable2.getWriter();
-          d._write = async function(chunk, encoding, callback) {
-            try {
-              await writer.ready;
-              writer.write(chunk).catch(() => {
-              });
-              callback();
-            } catch (err) {
-              callback(err);
-            }
-          };
-          d._final = async function(callback) {
-            try {
-              await writer.ready;
-              writer.close().catch(() => {
-              });
-              onfinish = callback;
-            } catch (err) {
-              callback(err);
-            }
-          };
-        }
-        const toRead = isTransformStream(tail) ? tail.readable : tail;
-        eos(toRead, () => {
-          if (onfinish) {
-            const cb = onfinish;
-            onfinish = null;
-            cb();
-          }
-        });
+      if (UrlencodedParser.detect.test(parsed[0])) {
+        return new UrlencodedParser(this, cfg);
+      }
+      throw new Error("Unsupported Content-Type.");
+    };
+    Busboy.prototype._write = function(chunk, encoding, cb) {
+      this._parser.write(chunk, cb);
+    };
+    module2.exports = Busboy;
+    module2.exports.default = Busboy;
+    module2.exports.Busboy = Busboy;
+    module2.exports.Dicer = Dicer;
+  }
+});
+
+// node_modules/undici/lib/fetch/constants.js
+var require_constants20 = __commonJS({
+  "node_modules/undici/lib/fetch/constants.js"(exports2, module2) {
+    "use strict";
+    var { MessageChannel, receiveMessageOnPort } = require("worker_threads");
+    var corsSafeListedMethods = ["GET", "HEAD", "POST"];
+    var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
+    var nullBodyStatus = [101, 204, 205, 304];
+    var redirectStatus = [301, 302, 303, 307, 308];
+    var redirectStatusSet = new Set(redirectStatus);
+    var badPorts = [
+      "1",
+      "7",
+      "9",
+      "11",
+      "13",
+      "15",
+      "17",
+      "19",
+      "20",
+      "21",
+      "22",
+      "23",
+      "25",
+      "37",
+      "42",
+      "43",
+      "53",
+      "69",
+      "77",
+      "79",
+      "87",
+      "95",
+      "101",
+      "102",
+      "103",
+      "104",
+      "109",
+      "110",
+      "111",
+      "113",
+      "115",
+      "117",
+      "119",
+      "123",
+      "135",
+      "137",
+      "139",
+      "143",
+      "161",
+      "179",
+      "389",
+      "427",
+      "465",
+      "512",
+      "513",
+      "514",
+      "515",
+      "526",
+      "530",
+      "531",
+      "532",
+      "540",
+      "548",
+      "554",
+      "556",
+      "563",
+      "587",
+      "601",
+      "636",
+      "989",
+      "990",
+      "993",
+      "995",
+      "1719",
+      "1720",
+      "1723",
+      "2049",
+      "3659",
+      "4045",
+      "5060",
+      "5061",
+      "6000",
+      "6566",
+      "6665",
+      "6666",
+      "6667",
+      "6668",
+      "6669",
+      "6697",
+      "10080"
+    ];
+    var badPortsSet = new Set(badPorts);
+    var referrerPolicy = [
+      "",
+      "no-referrer",
+      "no-referrer-when-downgrade",
+      "same-origin",
+      "origin",
+      "strict-origin",
+      "origin-when-cross-origin",
+      "strict-origin-when-cross-origin",
+      "unsafe-url"
+    ];
+    var referrerPolicySet = new Set(referrerPolicy);
+    var requestRedirect = ["follow", "manual", "error"];
+    var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"];
+    var safeMethodsSet = new Set(safeMethods);
+    var requestMode = ["navigate", "same-origin", "no-cors", "cors"];
+    var requestCredentials = ["omit", "same-origin", "include"];
+    var requestCache = [
+      "default",
+      "no-store",
+      "reload",
+      "no-cache",
+      "force-cache",
+      "only-if-cached"
+    ];
+    var requestBodyHeader = [
+      "content-encoding",
+      "content-language",
+      "content-location",
+      "content-type",
+      // See https://github.com/nodejs/undici/issues/2021
+      // 'Content-Length' is a forbidden header name, which is typically
+      // removed in the Headers implementation. However, undici doesn't
+      // filter out headers, so we add it here.
+      "content-length"
+    ];
+    var requestDuplex = [
+      "half"
+    ];
+    var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"];
+    var forbiddenMethodsSet = new Set(forbiddenMethods);
+    var subresource = [
+      "audio",
+      "audioworklet",
+      "font",
+      "image",
+      "manifest",
+      "paintworklet",
+      "script",
+      "style",
+      "track",
+      "video",
+      "xslt",
+      ""
+    ];
+    var subresourceSet = new Set(subresource);
+    var DOMException2 = globalThis.DOMException ?? (() => {
+      try {
+        atob("~");
+      } catch (err) {
+        return Object.getPrototypeOf(err).constructor;
       }
-      if (readable) {
-        if (isNodeStream(tail)) {
-          tail.on("readable", function() {
-            if (onreadable) {
-              const cb = onreadable;
-              onreadable = null;
-              cb();
-            }
-          });
-          tail.on("end", function() {
-            d.push(null);
-          });
-          d._read = function() {
-            while (true) {
-              const buf = tail.read();
-              if (buf === null) {
-                onreadable = d._read;
-                return;
-              }
-              if (!d.push(buf)) {
-                return;
-              }
-            }
-          };
-        } else if (isWebStream(tail)) {
-          const readable2 = isTransformStream(tail) ? tail.readable : tail;
-          const reader = readable2.getReader();
-          d._read = async function() {
-            while (true) {
-              try {
-                const { value, done } = await reader.read();
-                if (!d.push(value)) {
-                  return;
-                }
-                if (done) {
-                  d.push(null);
-                  return;
-                }
-              } catch {
-                return;
-              }
-            }
-          };
-        }
+    })();
+    var channel;
+    var structuredClone = globalThis.structuredClone ?? // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js
+    // structuredClone was added in v17.0.0, but fetch supports v16.8
+    function structuredClone2(value, options = void 0) {
+      if (arguments.length === 0) {
+        throw new TypeError("missing argument");
       }
-      d._destroy = function(err, callback) {
-        if (!err && onclose !== null) {
-          err = new AbortError();
-        }
-        onreadable = null;
-        ondrain = null;
-        onfinish = null;
-        if (onclose === null) {
-          callback(err);
-        } else {
-          onclose = callback;
-          if (isNodeStream(tail)) {
-            destroyer(tail, err);
-          }
-        }
-      };
-      return d;
+      if (!channel) {
+        channel = new MessageChannel();
+      }
+      channel.port1.unref();
+      channel.port2.unref();
+      channel.port1.postMessage(value, options?.transfer);
+      return receiveMessageOnPort(channel.port2).message;
+    };
+    module2.exports = {
+      DOMException: DOMException2,
+      structuredClone,
+      subresource,
+      forbiddenMethods,
+      requestBodyHeader,
+      referrerPolicy,
+      requestRedirect,
+      requestMode,
+      requestCredentials,
+      requestCache,
+      redirectStatus,
+      corsSafeListedMethods,
+      nullBodyStatus,
+      safeMethods,
+      badPorts,
+      requestDuplex,
+      subresourceSet,
+      badPortsSet,
+      redirectStatusSet,
+      corsSafeListedMethodsSet,
+      safeMethodsSet,
+      forbiddenMethodsSet,
+      referrerPolicySet
     };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/operators.js
-var require_operators = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/operators.js"(exports2, module2) {
+// node_modules/undici/lib/fetch/global.js
+var require_global5 = __commonJS({
+  "node_modules/undici/lib/fetch/global.js"(exports2, module2) {
     "use strict";
-    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
-    var {
-      codes: { ERR_INVALID_ARG_VALUE, ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_MISSING_ARGS, ERR_OUT_OF_RANGE },
-      AbortError
-    } = require_errors4();
-    var { validateAbortSignal, validateInteger, validateObject } = require_validators();
-    var kWeakHandler = require_primordials().Symbol("kWeak");
-    var kResistStopPropagation = require_primordials().Symbol("kResistStopPropagation");
-    var { finished } = require_end_of_stream();
-    var staticCompose = require_compose();
-    var { addAbortSignalNoValidate } = require_add_abort_signal();
-    var { isWritable, isNodeStream } = require_utils8();
-    var { deprecate } = require_util19();
-    var {
-      ArrayPrototypePush,
-      Boolean: Boolean2,
-      MathFloor,
-      Number: Number2,
-      NumberIsNaN,
-      Promise: Promise2,
-      PromiseReject,
-      PromiseResolve,
-      PromisePrototypeThen,
-      Symbol: Symbol2
-    } = require_primordials();
-    var kEmpty = Symbol2("kEmpty");
-    var kEof = Symbol2("kEof");
-    function compose(stream, options) {
-      if (options != null) {
-        validateObject(options, "options");
-      }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
-      }
-      if (isNodeStream(stream) && !isWritable(stream)) {
-        throw new ERR_INVALID_ARG_VALUE("stream", stream, "must be writable");
-      }
-      const composedStream = staticCompose(this, stream);
-      if (options !== null && options !== void 0 && options.signal) {
-        addAbortSignalNoValidate(options.signal, composedStream);
-      }
-      return composedStream;
+    var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
+    function getGlobalOrigin() {
+      return globalThis[globalOrigin];
     }
-    function map2(fn, options) {
-      if (typeof fn !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
-      }
-      if (options != null) {
-        validateObject(options, "options");
-      }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
-      }
-      let concurrency = 1;
-      if ((options === null || options === void 0 ? void 0 : options.concurrency) != null) {
-        concurrency = MathFloor(options.concurrency);
+    function setGlobalOrigin(newOrigin) {
+      if (newOrigin === void 0) {
+        Object.defineProperty(globalThis, globalOrigin, {
+          value: void 0,
+          writable: true,
+          enumerable: false,
+          configurable: false
+        });
+        return;
       }
-      let highWaterMark = concurrency - 1;
-      if ((options === null || options === void 0 ? void 0 : options.highWaterMark) != null) {
-        highWaterMark = MathFloor(options.highWaterMark);
+      const parsedURL = new URL(newOrigin);
+      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
+        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
       }
-      validateInteger(concurrency, "options.concurrency", 1);
-      validateInteger(highWaterMark, "options.highWaterMark", 0);
-      highWaterMark += concurrency;
-      return async function* map3() {
-        const signal = require_util19().AbortSignalAny(
-          [options === null || options === void 0 ? void 0 : options.signal].filter(Boolean2)
-        );
-        const stream = this;
-        const queue = [];
-        const signalOpt = {
-          signal
-        };
-        let next;
-        let resume;
-        let done = false;
-        let cnt = 0;
-        function onCatch() {
-          done = true;
-          afterItemProcessed();
-        }
-        function afterItemProcessed() {
-          cnt -= 1;
-          maybeResume();
-        }
-        function maybeResume() {
-          if (resume && !done && cnt < concurrency && queue.length < highWaterMark) {
-            resume();
-            resume = null;
-          }
-        }
-        async function pump() {
-          try {
-            for await (let val of stream) {
-              if (done) {
-                return;
-              }
-              if (signal.aborted) {
-                throw new AbortError();
-              }
-              try {
-                val = fn(val, signalOpt);
-                if (val === kEmpty) {
-                  continue;
-                }
-                val = PromiseResolve(val);
-              } catch (err) {
-                val = PromiseReject(err);
-              }
-              cnt += 1;
-              PromisePrototypeThen(val, afterItemProcessed, onCatch);
-              queue.push(val);
-              if (next) {
-                next();
-                next = null;
-              }
-              if (!done && (queue.length >= highWaterMark || cnt >= concurrency)) {
-                await new Promise2((resolve2) => {
-                  resume = resolve2;
-                });
-              }
-            }
-            queue.push(kEof);
-          } catch (err) {
-            const val = PromiseReject(err);
-            PromisePrototypeThen(val, afterItemProcessed, onCatch);
-            queue.push(val);
-          } finally {
-            done = true;
-            if (next) {
-              next();
-              next = null;
-            }
-          }
-        }
-        pump();
-        try {
-          while (true) {
-            while (queue.length > 0) {
-              const val = await queue[0];
-              if (val === kEof) {
-                return;
-              }
-              if (signal.aborted) {
-                throw new AbortError();
-              }
-              if (val !== kEmpty) {
-                yield val;
-              }
-              queue.shift();
-              maybeResume();
-            }
-            await new Promise2((resolve2) => {
-              next = resolve2;
-            });
-          }
-        } finally {
-          done = true;
-          if (resume) {
-            resume();
-            resume = null;
-          }
-        }
-      }.call(this);
+      Object.defineProperty(globalThis, globalOrigin, {
+        value: parsedURL,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
     }
-    function asIndexedPairs(options = void 0) {
-      if (options != null) {
-        validateObject(options, "options");
+    module2.exports = {
+      getGlobalOrigin,
+      setGlobalOrigin
+    };
+  }
+});
+
+// node_modules/undici/lib/fetch/util.js
+var require_util24 = __commonJS({
+  "node_modules/undici/lib/fetch/util.js"(exports2, module2) {
+    "use strict";
+    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants20();
+    var { getGlobalOrigin } = require_global5();
+    var { performance: performance2 } = require("perf_hooks");
+    var { isBlobLike, toUSVString, ReadableStreamFrom } = require_util23();
+    var assert = require("assert");
+    var { isUint8Array } = require("util/types");
+    var supportedHashes = [];
+    var crypto2;
+    try {
+      crypto2 = require("crypto");
+      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
+      supportedHashes = crypto2.getHashes().filter((hash) => possibleRelevantHashes.includes(hash));
+    } catch {
+    }
+    function responseURL(response) {
+      const urlList = response.urlList;
+      const length = urlList.length;
+      return length === 0 ? null : urlList[length - 1].toString();
+    }
+    function responseLocationURL(response, requestFragment) {
+      if (!redirectStatusSet.has(response.status)) {
+        return null;
       }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
+      let location = response.headersList.get("location");
+      if (location !== null && isValidHeaderValue(location)) {
+        location = new URL(location, responseURL(response));
       }
-      return async function* asIndexedPairs2() {
-        let index = 0;
-        for await (const val of this) {
-          var _options$signal;
-          if (options !== null && options !== void 0 && (_options$signal = options.signal) !== null && _options$signal !== void 0 && _options$signal.aborted) {
-            throw new AbortError({
-              cause: options.signal.reason
-            });
-          }
-          yield [index++, val];
-        }
-      }.call(this);
-    }
-    async function some(fn, options = void 0) {
-      for await (const unused of filter.call(this, fn, options)) {
-        return true;
+      if (location && !location.hash) {
+        location.hash = requestFragment;
       }
-      return false;
+      return location;
     }
-    async function every(fn, options = void 0) {
-      if (typeof fn !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
-      }
-      return !await some.call(
-        this,
-        async (...args) => {
-          return !await fn(...args);
-        },
-        options
-      );
+    function requestCurrentURL(request2) {
+      return request2.urlList[request2.urlList.length - 1];
     }
-    async function find2(fn, options) {
-      for await (const result of filter.call(this, fn, options)) {
-        return result;
+    function requestBadPort(request2) {
+      const url = requestCurrentURL(request2);
+      if (urlIsHttpHttpsScheme(url) && badPortsSet.has(url.port)) {
+        return "blocked";
       }
-      return void 0;
+      return "allowed";
     }
-    async function forEach(fn, options) {
-      if (typeof fn !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
-      }
-      async function forEachFn(value, options2) {
-        await fn(value, options2);
-        return kEmpty;
-      }
-      for await (const unused of map2.call(this, forEachFn, options)) ;
+    function isErrorLike(object) {
+      return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException");
     }
-    function filter(fn, options) {
-      if (typeof fn !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
-      }
-      async function filterFn(value, options2) {
-        if (await fn(value, options2)) {
-          return value;
+    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 kEmpty;
       }
-      return map2.call(this, filterFn, options);
+      return true;
     }
-    var ReduceAwareErrMissingArgs = class extends ERR_MISSING_ARGS {
-      constructor() {
-        super("reduce");
-        this.message = "Reduce of an empty stream requires an initial value";
-      }
-    };
-    async function reduce(reducer, initialValue, options) {
-      var _options$signal2;
-      if (typeof reducer !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2("reducer", ["Function", "AsyncFunction"], reducer);
-      }
-      if (options != null) {
-        validateObject(options, "options");
-      }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
-      }
-      let hasInitialValue = arguments.length > 1;
-      if (options !== null && options !== void 0 && (_options$signal2 = options.signal) !== null && _options$signal2 !== void 0 && _options$signal2.aborted) {
-        const err = new AbortError(void 0, {
-          cause: options.signal.reason
-        });
-        this.once("error", () => {
-        });
-        await finished(this.destroy(err));
-        throw err;
-      }
-      const ac = new AbortController2();
-      const signal = ac.signal;
-      if (options !== null && options !== void 0 && options.signal) {
-        const opts = {
-          once: true,
-          [kWeakHandler]: this,
-          [kResistStopPropagation]: true
-        };
-        options.signal.addEventListener("abort", () => ac.abort(), opts);
-      }
-      let gotAnyItemFromStream = false;
-      try {
-        for await (const value of this) {
-          var _options$signal3;
-          gotAnyItemFromStream = true;
-          if (options !== null && options !== void 0 && (_options$signal3 = options.signal) !== null && _options$signal3 !== void 0 && _options$signal3.aborted) {
-            throw new AbortError();
-          }
-          if (!hasInitialValue) {
-            initialValue = value;
-            hasInitialValue = true;
-          } else {
-            initialValue = await reducer(initialValue, value, {
-              signal
-            });
-          }
-        }
-        if (!gotAnyItemFromStream && !hasInitialValue) {
-          throw new ReduceAwareErrMissingArgs();
-        }
-      } finally {
-        ac.abort();
+    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;
       }
-      return initialValue;
     }
-    async function toArray2(options) {
-      if (options != null) {
-        validateObject(options, "options");
-      }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
+    function isValidHTTPToken(characters) {
+      if (characters.length === 0) {
+        return false;
       }
-      const result = [];
-      for await (const val of this) {
-        var _options$signal4;
-        if (options !== null && options !== void 0 && (_options$signal4 = options.signal) !== null && _options$signal4 !== void 0 && _options$signal4.aborted) {
-          throw new AbortError(void 0, {
-            cause: options.signal.reason
-          });
+      for (let i = 0; i < characters.length; ++i) {
+        if (!isTokenCharCode(characters.charCodeAt(i))) {
+          return false;
         }
-        ArrayPrototypePush(result, val);
       }
-      return result;
+      return true;
     }
-    function flatMap(fn, options) {
-      const values = map2.call(this, fn, options);
-      return async function* flatMap2() {
-        for await (const val of values) {
-          yield* val;
-        }
-      }.call(this);
+    function isValidHeaderName(potentialValue) {
+      return isValidHTTPToken(potentialValue);
     }
-    function toIntegerOrInfinity(number) {
-      number = Number2(number);
-      if (NumberIsNaN(number)) {
-        return 0;
+    function isValidHeaderValue(potentialValue) {
+      if (potentialValue.startsWith("	") || potentialValue.startsWith(" ") || potentialValue.endsWith("	") || potentialValue.endsWith(" ")) {
+        return false;
       }
-      if (number < 0) {
-        throw new ERR_OUT_OF_RANGE("number", ">= 0", number);
+      if (potentialValue.includes("\0") || potentialValue.includes("\r") || potentialValue.includes("\n")) {
+        return false;
       }
-      return number;
+      return true;
     }
-    function drop(number, options = void 0) {
-      if (options != null) {
-        validateObject(options, "options");
-      }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
-      }
-      number = toIntegerOrInfinity(number);
-      return async function* drop2() {
-        var _options$signal5;
-        if (options !== null && options !== void 0 && (_options$signal5 = options.signal) !== null && _options$signal5 !== void 0 && _options$signal5.aborted) {
-          throw new AbortError();
-        }
-        for await (const val of this) {
-          var _options$signal6;
-          if (options !== null && options !== void 0 && (_options$signal6 = options.signal) !== null && _options$signal6 !== void 0 && _options$signal6.aborted) {
-            throw new AbortError();
-          }
-          if (number-- <= 0) {
-            yield val;
+    function setRequestReferrerPolicyOnRedirect(request2, actualResponse) {
+      const { headersList } = actualResponse;
+      const policyHeader = (headersList.get("referrer-policy") ?? "").split(",");
+      let policy = "";
+      if (policyHeader.length > 0) {
+        for (let i = policyHeader.length; i !== 0; i--) {
+          const token = policyHeader[i - 1].trim();
+          if (referrerPolicyTokens.has(token)) {
+            policy = token;
+            break;
           }
         }
-      }.call(this);
-    }
-    function take(number, options = void 0) {
-      if (options != null) {
-        validateObject(options, "options");
       }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
+      if (policy !== "") {
+        request2.referrerPolicy = policy;
       }
-      number = toIntegerOrInfinity(number);
-      return async function* take2() {
-        var _options$signal7;
-        if (options !== null && options !== void 0 && (_options$signal7 = options.signal) !== null && _options$signal7 !== void 0 && _options$signal7.aborted) {
-          throw new AbortError();
-        }
-        for await (const val of this) {
-          var _options$signal8;
-          if (options !== null && options !== void 0 && (_options$signal8 = options.signal) !== null && _options$signal8 !== void 0 && _options$signal8.aborted) {
-            throw new AbortError();
-          }
-          if (number-- > 0) {
-            yield val;
-          }
-          if (number <= 0) {
-            return;
-          }
-        }
-      }.call(this);
     }
-    module2.exports.streamReturningOperators = {
-      asIndexedPairs: deprecate(asIndexedPairs, "readable.asIndexedPairs will be removed in a future version."),
-      drop,
-      filter,
-      flatMap,
-      map: map2,
-      take,
-      compose
-    };
-    module2.exports.promiseReturningOperators = {
-      every,
-      forEach,
-      reduce,
-      toArray: toArray2,
-      some,
-      find: find2
-    };
-  }
-});
-
-// node_modules/readable-stream/lib/stream/promises.js
-var require_promises = __commonJS({
-  "node_modules/readable-stream/lib/stream/promises.js"(exports2, module2) {
-    "use strict";
-    var { ArrayPrototypePop, Promise: Promise2 } = require_primordials();
-    var { isIterable, isNodeStream, isWebStream } = require_utils8();
-    var { pipelineImpl: pl } = require_pipeline4();
-    var { finished } = require_end_of_stream();
-    require_stream2();
-    function pipeline(...streams) {
-      return new Promise2((resolve2, reject) => {
-        let signal;
-        let end;
-        const lastArg = streams[streams.length - 1];
-        if (lastArg && typeof lastArg === "object" && !isNodeStream(lastArg) && !isIterable(lastArg) && !isWebStream(lastArg)) {
-          const options = ArrayPrototypePop(streams);
-          signal = options.signal;
-          end = options.end;
+    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);
+    }
+    function appendRequestOriginHeader(request2) {
+      let serializedOrigin = request2.origin;
+      if (request2.responseTainting === "cors" || request2.mode === "websocket") {
+        if (serializedOrigin) {
+          request2.headersList.append("origin", serializedOrigin);
         }
-        pl(
-          streams,
-          (err, value) => {
-            if (err) {
-              reject(err);
-            } else {
-              resolve2(value);
+      } 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;
             }
-          },
-          {
-            signal,
-            end
-          }
-        );
-      });
-    }
-    module2.exports = {
-      finished,
-      pipeline
-    };
-  }
-});
-
-// node_modules/readable-stream/lib/stream.js
-var require_stream2 = __commonJS({
-  "node_modules/readable-stream/lib/stream.js"(exports2, module2) {
-    var { Buffer: Buffer2 } = require("buffer");
-    var { ObjectDefineProperty, ObjectKeys, ReflectApply } = require_primordials();
-    var {
-      promisify: { custom: customPromisify }
-    } = require_util19();
-    var { streamReturningOperators, promiseReturningOperators } = require_operators();
-    var {
-      codes: { ERR_ILLEGAL_CONSTRUCTOR }
-    } = require_errors4();
-    var compose = require_compose();
-    var { setDefaultHighWaterMark, getDefaultHighWaterMark } = require_state3();
-    var { pipeline } = require_pipeline4();
-    var { destroyer } = require_destroy2();
-    var eos = require_end_of_stream();
-    var promises2 = require_promises();
-    var utils = require_utils8();
-    var Stream = module2.exports = require_legacy().Stream;
-    Stream.isDestroyed = utils.isDestroyed;
-    Stream.isDisturbed = utils.isDisturbed;
-    Stream.isErrored = utils.isErrored;
-    Stream.isReadable = utils.isReadable;
-    Stream.isWritable = utils.isWritable;
-    Stream.Readable = require_readable4();
-    for (const key of ObjectKeys(streamReturningOperators)) {
-      let fn2 = function(...args) {
-        if (new.target) {
-          throw ERR_ILLEGAL_CONSTRUCTOR();
+            break;
+          case "same-origin":
+            if (!sameOrigin(request2, requestCurrentURL(request2))) {
+              serializedOrigin = null;
+            }
+            break;
+          default:
         }
-        return Stream.Readable.from(ReflectApply(op, this, args));
+        if (serializedOrigin) {
+          request2.headersList.append("origin", serializedOrigin);
+        }
+      }
+    }
+    function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
+      return performance2.now();
+    }
+    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
       };
-      fn = fn2;
-      const op = streamReturningOperators[key];
-      ObjectDefineProperty(fn2, "name", {
-        __proto__: null,
-        value: op.name
-      });
-      ObjectDefineProperty(fn2, "length", {
-        __proto__: null,
-        value: op.length
-      });
-      ObjectDefineProperty(Stream.Readable.prototype, key, {
-        __proto__: null,
-        value: fn2,
-        enumerable: false,
-        configurable: true,
-        writable: true
-      });
     }
-    var fn;
-    for (const key of ObjectKeys(promiseReturningOperators)) {
-      let fn2 = function(...args) {
-        if (new.target) {
-          throw ERR_ILLEGAL_CONSTRUCTOR();
-        }
-        return ReflectApply(op, this, args);
+    function makePolicyContainer() {
+      return {
+        referrerPolicy: "strict-origin-when-cross-origin"
       };
-      fn = fn2;
-      const op = promiseReturningOperators[key];
-      ObjectDefineProperty(fn2, "name", {
-        __proto__: null,
-        value: op.name
-      });
-      ObjectDefineProperty(fn2, "length", {
-        __proto__: null,
-        value: op.length
-      });
-      ObjectDefineProperty(Stream.Readable.prototype, key, {
-        __proto__: null,
-        value: fn2,
-        enumerable: false,
-        configurable: true,
-        writable: true
-      });
     }
-    var fn;
-    Stream.Writable = require_writable();
-    Stream.Duplex = require_duplex();
-    Stream.Transform = require_transform();
-    Stream.PassThrough = require_passthrough2();
-    Stream.pipeline = pipeline;
-    var { addAbortSignal } = require_add_abort_signal();
-    Stream.addAbortSignal = addAbortSignal;
-    Stream.finished = eos;
-    Stream.destroy = destroyer;
-    Stream.compose = compose;
-    Stream.setDefaultHighWaterMark = setDefaultHighWaterMark;
-    Stream.getDefaultHighWaterMark = getDefaultHighWaterMark;
-    ObjectDefineProperty(Stream, "promises", {
-      __proto__: null,
-      configurable: true,
-      enumerable: true,
-      get() {
-        return promises2;
-      }
-    });
-    ObjectDefineProperty(pipeline, customPromisify, {
-      __proto__: null,
-      enumerable: true,
-      get() {
-        return promises2.pipeline;
+    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;
       }
-    });
-    ObjectDefineProperty(eos, customPromisify, {
-      __proto__: null,
-      enumerable: true,
-      get() {
-        return promises2.finished;
+      let referrerURL = stripURLForReferrer(referrerSource);
+      const referrerOrigin = stripURLForReferrer(referrerSource, true);
+      if (referrerURL.toString().length > 4096) {
+        referrerURL = referrerOrigin;
       }
-    });
-    Stream.Stream = Stream;
-    Stream._isUint8Array = function isUint8Array(value) {
-      return value instanceof Uint8Array;
-    };
-    Stream._uint8ArrayToBuffer = function _uint8ArrayToBuffer(chunk) {
-      return Buffer2.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
-    };
-  }
-});
-
-// node_modules/readable-stream/lib/ours/index.js
-var require_ours = __commonJS({
-  "node_modules/readable-stream/lib/ours/index.js"(exports2, module2) {
-    "use strict";
-    var Stream = require("stream");
-    if (Stream && process.env.READABLE_STREAM === "disable") {
-      const promises2 = Stream.promises;
-      module2.exports._uint8ArrayToBuffer = Stream._uint8ArrayToBuffer;
-      module2.exports._isUint8Array = Stream._isUint8Array;
-      module2.exports.isDisturbed = Stream.isDisturbed;
-      module2.exports.isErrored = Stream.isErrored;
-      module2.exports.isReadable = Stream.isReadable;
-      module2.exports.Readable = Stream.Readable;
-      module2.exports.Writable = Stream.Writable;
-      module2.exports.Duplex = Stream.Duplex;
-      module2.exports.Transform = Stream.Transform;
-      module2.exports.PassThrough = Stream.PassThrough;
-      module2.exports.addAbortSignal = Stream.addAbortSignal;
-      module2.exports.finished = Stream.finished;
-      module2.exports.destroy = Stream.destroy;
-      module2.exports.pipeline = Stream.pipeline;
-      module2.exports.compose = Stream.compose;
-      Object.defineProperty(Stream, "promises", {
-        configurable: true,
-        enumerable: true,
-        get() {
-          return promises2;
-        }
-      });
-      module2.exports.Stream = Stream.Stream;
-    } else {
-      const CustomStream = require_stream2();
-      const promises2 = require_promises();
-      const originalDestroy = CustomStream.Readable.destroy;
-      module2.exports = CustomStream.Readable;
-      module2.exports._uint8ArrayToBuffer = CustomStream._uint8ArrayToBuffer;
-      module2.exports._isUint8Array = CustomStream._isUint8Array;
-      module2.exports.isDisturbed = CustomStream.isDisturbed;
-      module2.exports.isErrored = CustomStream.isErrored;
-      module2.exports.isReadable = CustomStream.isReadable;
-      module2.exports.Readable = CustomStream.Readable;
-      module2.exports.Writable = CustomStream.Writable;
-      module2.exports.Duplex = CustomStream.Duplex;
-      module2.exports.Transform = CustomStream.Transform;
-      module2.exports.PassThrough = CustomStream.PassThrough;
-      module2.exports.addAbortSignal = CustomStream.addAbortSignal;
-      module2.exports.finished = CustomStream.finished;
-      module2.exports.destroy = CustomStream.destroy;
-      module2.exports.destroy = originalDestroy;
-      module2.exports.pipeline = CustomStream.pipeline;
-      module2.exports.compose = CustomStream.compose;
-      Object.defineProperty(CustomStream, "promises", {
-        configurable: true,
-        enumerable: true,
-        get() {
-          return promises2;
+      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;
         }
-      });
-      module2.exports.Stream = CustomStream.Stream;
-    }
-    module2.exports.default = module2.exports;
-  }
-});
-
-// node_modules/lodash/_arrayPush.js
-var require_arrayPush = __commonJS({
-  "node_modules/lodash/_arrayPush.js"(exports2, module2) {
-    function arrayPush(array, values) {
-      var index = -1, length = values.length, offset = array.length;
-      while (++index < length) {
-        array[offset + index] = values[index];
+        case "strict-origin":
+        // eslint-disable-line
+        /**
+           * 1. If referrerURL is a potentially trustworthy URL and
+           * request’s current URL is not a potentially trustworthy URL,
+           * then return no referrer.
+           * 2. Return referrerOrigin
+          */
+        case "no-referrer-when-downgrade":
+        // eslint-disable-line
+        /**
+         * 1. If referrerURL is a potentially trustworthy URL and
+         * request’s current URL is not a potentially trustworthy URL,
+         * then return no referrer.
+         * 2. Return referrerOrigin
+        */
+        default:
+          return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
       }
-      return array;
     }
-    module2.exports = arrayPush;
-  }
-});
-
-// node_modules/lodash/_isFlattenable.js
-var require_isFlattenable = __commonJS({
-  "node_modules/lodash/_isFlattenable.js"(exports2, module2) {
-    var Symbol2 = require_Symbol();
-    var isArguments = require_isArguments();
-    var isArray = require_isArray();
-    var spreadableSymbol = Symbol2 ? Symbol2.isConcatSpreadable : void 0;
-    function isFlattenable(value) {
-      return isArray(value) || isArguments(value) || !!(spreadableSymbol && value && value[spreadableSymbol]);
+    function stripURLForReferrer(url, originOnly) {
+      assert(url instanceof 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;
     }
-    module2.exports = isFlattenable;
-  }
-});
-
-// node_modules/lodash/_baseFlatten.js
-var require_baseFlatten = __commonJS({
-  "node_modules/lodash/_baseFlatten.js"(exports2, module2) {
-    var arrayPush = require_arrayPush();
-    var isFlattenable = require_isFlattenable();
-    function baseFlatten(array, depth, predicate, isStrict, result) {
-      var index = -1, length = array.length;
-      predicate || (predicate = isFlattenable);
-      result || (result = []);
-      while (++index < length) {
-        var value = array[index];
-        if (depth > 0 && predicate(value)) {
-          if (depth > 1) {
-            baseFlatten(value, depth - 1, predicate, isStrict, result);
+    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 (crypto2 === 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 = crypto2.createHash(algorithm).update(bytes).digest("base64");
+        if (actualValue[actualValue.length - 1] === "=") {
+          if (actualValue[actualValue.length - 2] === "=") {
+            actualValue = actualValue.slice(0, -2);
           } else {
-            arrayPush(result, value);
+            actualValue = actualValue.slice(0, -1);
           }
-        } else if (!isStrict) {
-          result[result.length] = value;
+        }
+        if (compareBase64Mixed(actualValue, expectedValue)) {
+          return true;
         }
       }
-      return result;
-    }
-    module2.exports = baseFlatten;
-  }
-});
-
-// node_modules/lodash/flatten.js
-var require_flatten = __commonJS({
-  "node_modules/lodash/flatten.js"(exports2, module2) {
-    var baseFlatten = require_baseFlatten();
-    function flatten(array) {
-      var length = array == null ? 0 : array.length;
-      return length ? baseFlatten(array, 1) : [];
-    }
-    module2.exports = flatten;
-  }
-});
-
-// node_modules/lodash/_nativeCreate.js
-var require_nativeCreate = __commonJS({
-  "node_modules/lodash/_nativeCreate.js"(exports2, module2) {
-    var getNative = require_getNative();
-    var nativeCreate = getNative(Object, "create");
-    module2.exports = nativeCreate;
-  }
-});
-
-// node_modules/lodash/_hashClear.js
-var require_hashClear = __commonJS({
-  "node_modules/lodash/_hashClear.js"(exports2, module2) {
-    var nativeCreate = require_nativeCreate();
-    function hashClear() {
-      this.__data__ = nativeCreate ? nativeCreate(null) : {};
-      this.size = 0;
+      return false;
     }
-    module2.exports = hashClear;
-  }
-});
-
-// node_modules/lodash/_hashDelete.js
-var require_hashDelete = __commonJS({
-  "node_modules/lodash/_hashDelete.js"(exports2, module2) {
-    function hashDelete(key) {
-      var result = this.has(key) && delete this.__data__[key];
-      this.size -= result ? 1 : 0;
+    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 token of metadata.split(" ")) {
+        empty = false;
+        const parsedToken = parseHashWithOptions.exec(token);
+        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;
     }
-    module2.exports = hashDelete;
-  }
-});
-
-// node_modules/lodash/_hashGet.js
-var require_hashGet = __commonJS({
-  "node_modules/lodash/_hashGet.js"(exports2, module2) {
-    var nativeCreate = require_nativeCreate();
-    var HASH_UNDEFINED = "__lodash_hash_undefined__";
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    function hashGet(key) {
-      var data = this.__data__;
-      if (nativeCreate) {
-        var result = data[key];
-        return result === HASH_UNDEFINED ? void 0 : result;
+    function getStrongestMetadata(metadataList) {
+      let algorithm = metadataList[0].algo;
+      if (algorithm[3] === "5") {
+        return algorithm;
       }
-      return hasOwnProperty.call(data, key) ? data[key] : void 0;
-    }
-    module2.exports = hashGet;
-  }
-});
-
-// node_modules/lodash/_hashHas.js
-var require_hashHas = __commonJS({
-  "node_modules/lodash/_hashHas.js"(exports2, module2) {
-    var nativeCreate = require_nativeCreate();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    function hashHas(key) {
-      var data = this.__data__;
-      return nativeCreate ? data[key] !== void 0 : hasOwnProperty.call(data, key);
-    }
-    module2.exports = hashHas;
-  }
-});
-
-// node_modules/lodash/_hashSet.js
-var require_hashSet = __commonJS({
-  "node_modules/lodash/_hashSet.js"(exports2, module2) {
-    var nativeCreate = require_nativeCreate();
-    var HASH_UNDEFINED = "__lodash_hash_undefined__";
-    function hashSet(key, value) {
-      var data = this.__data__;
-      this.size += this.has(key) ? 0 : 1;
-      data[key] = nativeCreate && value === void 0 ? HASH_UNDEFINED : value;
-      return this;
-    }
-    module2.exports = hashSet;
-  }
-});
-
-// node_modules/lodash/_Hash.js
-var require_Hash = __commonJS({
-  "node_modules/lodash/_Hash.js"(exports2, module2) {
-    var hashClear = require_hashClear();
-    var hashDelete = require_hashDelete();
-    var hashGet = require_hashGet();
-    var hashHas = require_hashHas();
-    var hashSet = require_hashSet();
-    function Hash(entries) {
-      var index = -1, length = entries == null ? 0 : entries.length;
-      this.clear();
-      while (++index < length) {
-        var entry = entries[index];
-        this.set(entry[0], entry[1]);
+      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;
     }
-    Hash.prototype.clear = hashClear;
-    Hash.prototype["delete"] = hashDelete;
-    Hash.prototype.get = hashGet;
-    Hash.prototype.has = hashHas;
-    Hash.prototype.set = hashSet;
-    module2.exports = Hash;
-  }
-});
-
-// node_modules/lodash/_listCacheClear.js
-var require_listCacheClear = __commonJS({
-  "node_modules/lodash/_listCacheClear.js"(exports2, module2) {
-    function listCacheClear() {
-      this.__data__ = [];
-      this.size = 0;
-    }
-    module2.exports = listCacheClear;
-  }
-});
-
-// node_modules/lodash/_assocIndexOf.js
-var require_assocIndexOf = __commonJS({
-  "node_modules/lodash/_assocIndexOf.js"(exports2, module2) {
-    var eq = require_eq2();
-    function assocIndexOf(array, key) {
-      var length = array.length;
-      while (length--) {
-        if (eq(array[length][0], key)) {
-          return length;
+    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];
         }
       }
-      return -1;
+      metadataList.length = pos;
+      return metadataList;
     }
-    module2.exports = assocIndexOf;
-  }
-});
-
-// node_modules/lodash/_listCacheDelete.js
-var require_listCacheDelete = __commonJS({
-  "node_modules/lodash/_listCacheDelete.js"(exports2, module2) {
-    var assocIndexOf = require_assocIndexOf();
-    var arrayProto = Array.prototype;
-    var splice = arrayProto.splice;
-    function listCacheDelete(key) {
-      var data = this.__data__, index = assocIndexOf(data, key);
-      if (index < 0) {
+    function compareBase64Mixed(actualValue, expectedValue) {
+      if (actualValue.length !== expectedValue.length) {
         return false;
       }
-      var lastIndex = data.length - 1;
-      if (index == lastIndex) {
-        data.pop();
-      } else {
-        splice.call(data, index, 1);
+      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;
+        }
       }
-      --this.size;
       return true;
     }
-    module2.exports = listCacheDelete;
-  }
-});
-
-// node_modules/lodash/_listCacheGet.js
-var require_listCacheGet = __commonJS({
-  "node_modules/lodash/_listCacheGet.js"(exports2, module2) {
-    var assocIndexOf = require_assocIndexOf();
-    function listCacheGet(key) {
-      var data = this.__data__, index = assocIndexOf(data, key);
-      return index < 0 ? void 0 : data[index][1];
-    }
-    module2.exports = listCacheGet;
-  }
-});
-
-// node_modules/lodash/_listCacheHas.js
-var require_listCacheHas = __commonJS({
-  "node_modules/lodash/_listCacheHas.js"(exports2, module2) {
-    var assocIndexOf = require_assocIndexOf();
-    function listCacheHas(key) {
-      return assocIndexOf(this.__data__, key) > -1;
+    function tryUpgradeRequestToAPotentiallyTrustworthyURL(request2) {
     }
-    module2.exports = listCacheHas;
-  }
-});
-
-// node_modules/lodash/_listCacheSet.js
-var require_listCacheSet = __commonJS({
-  "node_modules/lodash/_listCacheSet.js"(exports2, module2) {
-    var assocIndexOf = require_assocIndexOf();
-    function listCacheSet(key, value) {
-      var data = this.__data__, index = assocIndexOf(data, key);
-      if (index < 0) {
-        ++this.size;
-        data.push([key, value]);
-      } else {
-        data[index][1] = value;
+    function sameOrigin(A, B) {
+      if (A.origin === B.origin && A.origin === "null") {
+        return true;
       }
-      return this;
+      if (A.protocol === B.protocol && A.hostname === B.hostname && A.port === B.port) {
+        return true;
+      }
+      return false;
     }
-    module2.exports = listCacheSet;
-  }
-});
-
-// node_modules/lodash/_ListCache.js
-var require_ListCache = __commonJS({
-  "node_modules/lodash/_ListCache.js"(exports2, module2) {
-    var listCacheClear = require_listCacheClear();
-    var listCacheDelete = require_listCacheDelete();
-    var listCacheGet = require_listCacheGet();
-    var listCacheHas = require_listCacheHas();
-    var listCacheSet = require_listCacheSet();
-    function ListCache(entries) {
-      var index = -1, length = entries == null ? 0 : entries.length;
-      this.clear();
-      while (++index < length) {
-        var entry = entries[index];
-        this.set(entry[0], entry[1]);
+    function createDeferredPromise() {
+      let res;
+      let rej;
+      const promise = new Promise((resolve2, reject) => {
+        res = resolve2;
+        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";
+    }
+    var normalizeMethodRecord = {
+      delete: "DELETE",
+      DELETE: "DELETE",
+      get: "GET",
+      GET: "GET",
+      head: "HEAD",
+      HEAD: "HEAD",
+      options: "OPTIONS",
+      OPTIONS: "OPTIONS",
+      post: "POST",
+      POST: "POST",
+      put: "PUT",
+      PUT: "PUT"
+    };
+    Object.setPrototypeOf(normalizeMethodRecord, null);
+    function normalizeMethod(method) {
+      return normalizeMethodRecord[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;
     }
-    ListCache.prototype.clear = listCacheClear;
-    ListCache.prototype["delete"] = listCacheDelete;
-    ListCache.prototype.get = listCacheGet;
-    ListCache.prototype.has = listCacheHas;
-    ListCache.prototype.set = listCacheSet;
-    module2.exports = ListCache;
-  }
-});
-
-// node_modules/lodash/_Map.js
-var require_Map = __commonJS({
-  "node_modules/lodash/_Map.js"(exports2, module2) {
-    var getNative = require_getNative();
-    var root = require_root();
-    var Map2 = getNative(root, "Map");
-    module2.exports = Map2;
-  }
-});
-
-// node_modules/lodash/_mapCacheClear.js
-var require_mapCacheClear = __commonJS({
-  "node_modules/lodash/_mapCacheClear.js"(exports2, module2) {
-    var Hash = require_Hash();
-    var ListCache = require_ListCache();
-    var Map2 = require_Map();
-    function mapCacheClear() {
-      this.size = 0;
-      this.__data__ = {
-        "hash": new Hash(),
-        "map": new (Map2 || ListCache)(),
-        "string": new Hash()
+    var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
+    function makeIterator(iterator2, name, kind) {
+      const object = {
+        index: 0,
+        kind,
+        target: iterator2
+      };
+      const i = {
+        next() {
+          if (Object.getPrototypeOf(this) !== i) {
+            throw new TypeError(
+              `'next' called on an object that does not implement interface ${name} Iterator.`
+            );
+          }
+          const { index, kind: kind2, target } = object;
+          const values = target();
+          const len = values.length;
+          if (index >= len) {
+            return { value: void 0, done: true };
+          }
+          const pair = values[index];
+          object.index = index + 1;
+          return iteratorResult(pair, kind2);
+        },
+        // The class string of an iterator prototype object for a given interface is the
+        // result of concatenating the identifier of the interface and the string " Iterator".
+        [Symbol.toStringTag]: `${name} Iterator`
       };
+      Object.setPrototypeOf(i, esIteratorPrototype);
+      return Object.setPrototypeOf({}, i);
     }
-    module2.exports = mapCacheClear;
-  }
-});
-
-// node_modules/lodash/_isKeyable.js
-var require_isKeyable = __commonJS({
-  "node_modules/lodash/_isKeyable.js"(exports2, module2) {
-    function isKeyable(value) {
-      var type2 = typeof value;
-      return type2 == "string" || type2 == "number" || type2 == "symbol" || type2 == "boolean" ? value !== "__proto__" : value === null;
+    function iteratorResult(pair, kind) {
+      let result;
+      switch (kind) {
+        case "key": {
+          result = pair[0];
+          break;
+        }
+        case "value": {
+          result = pair[1];
+          break;
+        }
+        case "key+value": {
+          result = pair;
+          break;
+        }
+      }
+      return { value: result, done: false };
     }
-    module2.exports = isKeyable;
-  }
-});
-
-// node_modules/lodash/_getMapData.js
-var require_getMapData = __commonJS({
-  "node_modules/lodash/_getMapData.js"(exports2, module2) {
-    var isKeyable = require_isKeyable();
-    function getMapData(map2, key) {
-      var data = map2.__data__;
-      return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map;
+    async function fullyReadBody(body, processBody, processBodyError) {
+      const successSteps = processBody;
+      const errorSteps = processBodyError;
+      let reader;
+      try {
+        reader = body.stream.getReader();
+      } catch (e) {
+        errorSteps(e);
+        return;
+      }
+      try {
+        const result = await readAllBytes(reader);
+        successSteps(result);
+      } catch (e) {
+        errorSteps(e);
+      }
     }
-    module2.exports = getMapData;
-  }
-});
-
-// node_modules/lodash/_mapCacheDelete.js
-var require_mapCacheDelete = __commonJS({
-  "node_modules/lodash/_mapCacheDelete.js"(exports2, module2) {
-    var getMapData = require_getMapData();
-    function mapCacheDelete(key) {
-      var result = getMapData(this, key)["delete"](key);
-      this.size -= result ? 1 : 0;
-      return result;
+    var ReadableStream2 = globalThis.ReadableStream;
+    function isReadableStreamLike(stream) {
+      if (!ReadableStream2) {
+        ReadableStream2 = require("stream/web").ReadableStream;
+      }
+      return stream instanceof ReadableStream2 || stream[Symbol.toStringTag] === "ReadableStream" && typeof stream.tee === "function";
     }
-    module2.exports = mapCacheDelete;
-  }
-});
-
-// node_modules/lodash/_mapCacheGet.js
-var require_mapCacheGet = __commonJS({
-  "node_modules/lodash/_mapCacheGet.js"(exports2, module2) {
-    var getMapData = require_getMapData();
-    function mapCacheGet(key) {
-      return getMapData(this, key).get(key);
+    var MAXIMUM_ARGUMENT_LENGTH = 65535;
+    function isomorphicDecode(input) {
+      if (input.length < MAXIMUM_ARGUMENT_LENGTH) {
+        return String.fromCharCode(...input);
+      }
+      return input.reduce((previous, current) => previous + String.fromCharCode(current), "");
     }
-    module2.exports = mapCacheGet;
-  }
-});
-
-// node_modules/lodash/_mapCacheHas.js
-var require_mapCacheHas = __commonJS({
-  "node_modules/lodash/_mapCacheHas.js"(exports2, module2) {
-    var getMapData = require_getMapData();
-    function mapCacheHas(key) {
-      return getMapData(this, key).has(key);
+    function readableStreamClose(controller) {
+      try {
+        controller.close();
+      } catch (err) {
+        if (!err.message.includes("Controller is already closed")) {
+          throw err;
+        }
+      }
+    }
+    function isomorphicEncode(input) {
+      for (let i = 0; i < input.length; i++) {
+        assert(input.charCodeAt(i) <= 255);
+      }
+      return input;
     }
-    module2.exports = mapCacheHas;
-  }
-});
-
-// node_modules/lodash/_mapCacheSet.js
-var require_mapCacheSet = __commonJS({
-  "node_modules/lodash/_mapCacheSet.js"(exports2, module2) {
-    var getMapData = require_getMapData();
-    function mapCacheSet(key, value) {
-      var data = getMapData(this, key), size = data.size;
-      data.set(key, value);
-      this.size += data.size == size ? 0 : 1;
-      return this;
+    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;
+      }
     }
-    module2.exports = mapCacheSet;
-  }
-});
-
-// node_modules/lodash/_MapCache.js
-var require_MapCache = __commonJS({
-  "node_modules/lodash/_MapCache.js"(exports2, module2) {
-    var mapCacheClear = require_mapCacheClear();
-    var mapCacheDelete = require_mapCacheDelete();
-    var mapCacheGet = require_mapCacheGet();
-    var mapCacheHas = require_mapCacheHas();
-    var mapCacheSet = require_mapCacheSet();
-    function MapCache(entries) {
-      var index = -1, length = entries == null ? 0 : entries.length;
-      this.clear();
-      while (++index < length) {
-        var entry = entries[index];
-        this.set(entry[0], entry[1]);
+    function urlIsLocal(url) {
+      assert("protocol" in url);
+      const protocol = url.protocol;
+      return protocol === "about:" || protocol === "blob:" || protocol === "data:";
+    }
+    function urlHasHttpsScheme(url) {
+      if (typeof url === "string") {
+        return url.startsWith("https:");
       }
+      return url.protocol === "https:";
     }
-    MapCache.prototype.clear = mapCacheClear;
-    MapCache.prototype["delete"] = mapCacheDelete;
-    MapCache.prototype.get = mapCacheGet;
-    MapCache.prototype.has = mapCacheHas;
-    MapCache.prototype.set = mapCacheSet;
-    module2.exports = MapCache;
-  }
-});
-
-// node_modules/lodash/_setCacheAdd.js
-var require_setCacheAdd = __commonJS({
-  "node_modules/lodash/_setCacheAdd.js"(exports2, module2) {
-    var HASH_UNDEFINED = "__lodash_hash_undefined__";
-    function setCacheAdd(value) {
-      this.__data__.set(value, HASH_UNDEFINED);
-      return this;
+    function urlIsHttpHttpsScheme(url) {
+      assert("protocol" in url);
+      const protocol = url.protocol;
+      return protocol === "http:" || protocol === "https:";
     }
-    module2.exports = setCacheAdd;
+    var hasOwn = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key));
+    module2.exports = {
+      isAborted,
+      isCancelled,
+      createDeferredPromise,
+      ReadableStreamFrom,
+      toUSVString,
+      tryUpgradeRequestToAPotentiallyTrustworthyURL,
+      coarsenedSharedCurrentTime,
+      determineRequestsReferrer,
+      makePolicyContainer,
+      clonePolicyContainer,
+      appendFetchMetadata,
+      appendRequestOriginHeader,
+      TAOCheck,
+      corsCheck,
+      crossOriginResourcePolicyCheck,
+      createOpaqueTimingInfo,
+      setRequestReferrerPolicyOnRedirect,
+      isValidHTTPToken,
+      requestBadPort,
+      requestCurrentURL,
+      responseURL,
+      responseLocationURL,
+      isBlobLike,
+      isURLPotentiallyTrustworthy,
+      isValidReasonPhrase,
+      sameOrigin,
+      normalizeMethod,
+      serializeJavascriptValueToJSONString,
+      makeIterator,
+      isValidHeaderName,
+      isValidHeaderValue,
+      hasOwn,
+      isErrorLike,
+      fullyReadBody,
+      bytesMatch,
+      isReadableStreamLike,
+      readableStreamClose,
+      isomorphicEncode,
+      isomorphicDecode,
+      urlIsLocal,
+      urlHasHttpsScheme,
+      urlIsHttpHttpsScheme,
+      readAllBytes,
+      normalizeMethodRecord,
+      parseMetadata
+    };
   }
 });
 
-// node_modules/lodash/_setCacheHas.js
-var require_setCacheHas = __commonJS({
-  "node_modules/lodash/_setCacheHas.js"(exports2, module2) {
-    function setCacheHas(value) {
-      return this.__data__.has(value);
-    }
-    module2.exports = setCacheHas;
+// node_modules/undici/lib/fetch/symbols.js
+var require_symbols12 = __commonJS({
+  "node_modules/undici/lib/fetch/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kUrl: /* @__PURE__ */ Symbol("url"),
+      kHeaders: /* @__PURE__ */ Symbol("headers"),
+      kSignal: /* @__PURE__ */ Symbol("signal"),
+      kState: /* @__PURE__ */ Symbol("state"),
+      kGuard: /* @__PURE__ */ Symbol("guard"),
+      kRealm: /* @__PURE__ */ Symbol("realm")
+    };
   }
 });
 
-// node_modules/lodash/_SetCache.js
-var require_SetCache = __commonJS({
-  "node_modules/lodash/_SetCache.js"(exports2, module2) {
-    var MapCache = require_MapCache();
-    var setCacheAdd = require_setCacheAdd();
-    var setCacheHas = require_setCacheHas();
-    function SetCache(values) {
-      var index = -1, length = values == null ? 0 : values.length;
-      this.__data__ = new MapCache();
-      while (++index < length) {
-        this.add(values[index]);
+// node_modules/undici/lib/fetch/webidl.js
+var require_webidl3 = __commonJS({
+  "node_modules/undici/lib/fetch/webidl.js"(exports2, module2) {
+    "use strict";
+    var { types } = require("util");
+    var { hasOwn, toUSVString } = require_util24();
+    var webidl = {};
+    webidl.converters = {};
+    webidl.util = {};
+    webidl.errors = {};
+    webidl.errors.exception = function(message) {
+      return new TypeError(`${message.header}: ${message.message}`);
+    };
+    webidl.errors.conversionFailed = function(context2) {
+      const plural = context2.types.length === 1 ? "" : " one of";
+      const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`;
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message
+      });
+    };
+    webidl.errors.invalidArgument = function(context2) {
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message: `"${context2.value}" is an invalid ${context2.type}.`
+      });
+    };
+    webidl.brandCheck = function(V, I, opts = void 0) {
+      if (opts?.strict !== false && !(V instanceof I)) {
+        throw new TypeError("Illegal invocation");
+      } else {
+        return V?.[Symbol.toStringTag] === I.prototype[Symbol.toStringTag];
       }
-    }
-    SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
-    SetCache.prototype.has = setCacheHas;
-    module2.exports = SetCache;
+    };
+    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.`,
+          ...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";
+        }
+      }
+    };
+    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 ${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;
+      }
+      if (!Number.isNaN(x) && opts.clamp === true) {
+        x = Math.min(Math.max(x, lowerBound), upperBound);
+        if (Math.floor(x) % 2 === 0) {
+          x = Math.floor(x);
+        } else {
+          x = Math.ceil(x);
+        }
+        return x;
+      }
+      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.sequenceConverter = function(converter) {
+      return (V) => {
+        if (webidl.util.Type(V) !== "Object") {
+          throw webidl.errors.exception({
+            header: "Sequence",
+            message: `Value of type ${webidl.util.Type(V)} is not an Object.`
+          });
+        }
+        const method = V?.[Symbol.iterator]?.();
+        const seq2 = [];
+        if (method === void 0 || typeof method.next !== "function") {
+          throw webidl.errors.exception({
+            header: "Sequence",
+            message: "Object is not an iterator."
+          });
+        }
+        while (true) {
+          const { done, value } = method.next();
+          if (done) {
+            break;
+          }
+          seq2.push(converter(value));
+        }
+        return seq2;
+      };
+    };
+    webidl.recordConverter = function(keyConverter, valueConverter) {
+      return (O) => {
+        if (webidl.util.Type(O) !== "Object") {
+          throw webidl.errors.exception({
+            header: "Record",
+            message: `Value of type ${webidl.util.Type(O)} is not an Object.`
+          });
+        }
+        const result = {};
+        if (!types.isProxy(O)) {
+          const keys2 = Object.keys(O);
+          for (const key of keys2) {
+            const typedKey = keyConverter(key);
+            const typedValue = valueConverter(O[key]);
+            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);
+            const typedValue = valueConverter(O[key]);
+            result[typedKey] = typedValue;
+          }
+        }
+        return result;
+      };
+    };
+    webidl.interfaceConverter = function(i) {
+      return (V, opts = {}) => {
+        if (opts.strict !== false && !(V instanceof i)) {
+          throw webidl.errors.exception({
+            header: i.name,
+            message: `Expected ${V} to be an instance of ${i.name}.`
+          });
+        }
+        return V;
+      };
+    };
+    webidl.dictionaryConverter = function(converters) {
+      return (dictionary) => {
+        const type2 = webidl.util.Type(dictionary);
+        const dict = {};
+        if (type2 === "Null" || type2 === "Undefined") {
+          return dict;
+        } else if (type2 !== "Object") {
+          throw webidl.errors.exception({
+            header: "Dictionary",
+            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 (!hasOwn(dictionary, key)) {
+              throw webidl.errors.exception({
+                header: "Dictionary",
+                message: `Missing required key "${key}".`
+              });
+            }
+          }
+          let value = dictionary[key];
+          const hasDefault = hasOwn(options, "defaultValue");
+          if (hasDefault && value !== null) {
+            value = value ?? defaultValue;
+          }
+          if (required || hasDefault || value !== void 0) {
+            value = converter(value);
+            if (options.allowedValues && !options.allowedValues.includes(value)) {
+              throw webidl.errors.exception({
+                header: "Dictionary",
+                message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
+              });
+            }
+            dict[key] = value;
+          }
+        }
+        return dict;
+      };
+    };
+    webidl.nullableConverter = function(converter) {
+      return (V) => {
+        if (V === null) {
+          return V;
+        }
+        return converter(V);
+      };
+    };
+    webidl.converters.DOMString = function(V, opts = {}) {
+      if (V === null && opts.legacyNullToEmptyString) {
+        return "";
+      }
+      if (typeof V === "symbol") {
+        throw new TypeError("Could not convert argument of type symbol to string.");
+      }
+      return String(V);
+    };
+    webidl.converters.ByteString = function(V) {
+      const x = webidl.converters.DOMString(V);
+      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) {
+      const x = webidl.util.ConvertToInt(V, 64, "signed");
+      return x;
+    };
+    webidl.converters["unsigned long long"] = function(V) {
+      const x = webidl.util.ConvertToInt(V, 64, "unsigned");
+      return x;
+    };
+    webidl.converters["unsigned long"] = function(V) {
+      const x = webidl.util.ConvertToInt(V, 32, "unsigned");
+      return x;
+    };
+    webidl.converters["unsigned short"] = function(V, opts) {
+      const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts);
+      return x;
+    };
+    webidl.converters.ArrayBuffer = function(V, opts = {}) {
+      if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {
+        throw webidl.errors.conversionFailed({
+          prefix: `${V}`,
+          argument: `${V}`,
+          types: ["ArrayBuffer"]
+        });
+      }
+      if (opts.allowShared === false && types.isSharedArrayBuffer(V)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
+      }
+      return V;
+    };
+    webidl.converters.TypedArray = function(V, T, opts = {}) {
+      if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {
+        throw webidl.errors.conversionFailed({
+          prefix: `${T.name}`,
+          argument: `${V}`,
+          types: [T.name]
+        });
+      }
+      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
+      }
+      return V;
+    };
+    webidl.converters.DataView = function(V, opts = {}) {
+      if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {
+        throw webidl.errors.exception({
+          header: "DataView",
+          message: "Object is not a DataView."
+        });
+      }
+      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
+      }
+      return V;
+    };
+    webidl.converters.BufferSource = function(V, opts = {}) {
+      if (types.isAnyArrayBuffer(V)) {
+        return webidl.converters.ArrayBuffer(V, opts);
+      }
+      if (types.isTypedArray(V)) {
+        return webidl.converters.TypedArray(V, V.constructor);
+      }
+      if (types.isDataView(V)) {
+        return webidl.converters.DataView(V, opts);
+      }
+      throw new TypeError(`Could not convert ${V} to a BufferSource.`);
+    };
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.ByteString
+    );
+    webidl.converters["sequence>"] = webidl.sequenceConverter(
+      webidl.converters["sequence"]
+    );
+    webidl.converters["record"] = webidl.recordConverter(
+      webidl.converters.ByteString,
+      webidl.converters.ByteString
+    );
+    module2.exports = {
+      webidl
+    };
   }
 });
 
-// node_modules/lodash/_baseFindIndex.js
-var require_baseFindIndex = __commonJS({
-  "node_modules/lodash/_baseFindIndex.js"(exports2, module2) {
-    function baseFindIndex(array, predicate, fromIndex, fromRight) {
-      var length = array.length, index = fromIndex + (fromRight ? 1 : -1);
-      while (fromRight ? index-- : ++index < length) {
-        if (predicate(array[index], index, array)) {
-          return index;
+// node_modules/undici/lib/fetch/dataURL.js
+var require_dataURL = __commonJS({
+  "node_modules/undici/lib/fetch/dataURL.js"(exports2, module2) {
+    var assert = require("assert");
+    var { atob: atob2 } = require("buffer");
+    var { isomorphicDecode } = require_util24();
+    var encoder = new TextEncoder();
+    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/;
+    var HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/;
+    var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/;
+    function dataURLProcessor(dataURL) {
+      assert(dataURL.protocol === "data:");
+      let input = URLSerializer(dataURL, true);
+      input = input.slice(5);
+      const position = { position: 0 };
+      let mimeType = collectASequenceOfCodePointsFast(
+        ",",
+        input,
+        position
+      );
+      const mimeTypeLength = mimeType.length;
+      mimeType = removeASCIIWhitespace(mimeType, true, true);
+      if (position.position >= input.length) {
+        return "failure";
+      }
+      position.position++;
+      const encodedBody = input.slice(mimeTypeLength + 1);
+      let body = stringPercentDecode(encodedBody);
+      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
+        const stringBody = isomorphicDecode(body);
+        body = forgivingBase64(stringBody);
+        if (body === "failure") {
+          return "failure";
         }
+        mimeType = mimeType.slice(0, -6);
+        mimeType = mimeType.replace(/(\u0020)+$/, "");
+        mimeType = mimeType.slice(0, -1);
       }
-      return -1;
+      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 };
     }
-    module2.exports = baseFindIndex;
-  }
-});
-
-// node_modules/lodash/_baseIsNaN.js
-var require_baseIsNaN = __commonJS({
-  "node_modules/lodash/_baseIsNaN.js"(exports2, module2) {
-    function baseIsNaN(value) {
-      return value !== value;
+    function URLSerializer(url, excludeFragment = false) {
+      if (!excludeFragment) {
+        return url.href;
+      }
+      const href = url.href;
+      const hashLength = url.hash.length;
+      return hashLength === 0 ? href : href.substring(0, href.length - hashLength);
     }
-    module2.exports = baseIsNaN;
-  }
-});
-
-// node_modules/lodash/_strictIndexOf.js
-var require_strictIndexOf = __commonJS({
-  "node_modules/lodash/_strictIndexOf.js"(exports2, module2) {
-    function strictIndexOf(array, value, fromIndex) {
-      var index = fromIndex - 1, length = array.length;
-      while (++index < length) {
-        if (array[index] === value) {
-          return index;
-        }
+    function collectASequenceOfCodePoints(condition, input, position) {
+      let result = "";
+      while (position.position < input.length && condition(input[position.position])) {
+        result += input[position.position];
+        position.position++;
       }
-      return -1;
+      return result;
     }
-    module2.exports = strictIndexOf;
-  }
-});
-
-// node_modules/lodash/_baseIndexOf.js
-var require_baseIndexOf = __commonJS({
-  "node_modules/lodash/_baseIndexOf.js"(exports2, module2) {
-    var baseFindIndex = require_baseFindIndex();
-    var baseIsNaN = require_baseIsNaN();
-    var strictIndexOf = require_strictIndexOf();
-    function baseIndexOf(array, value, fromIndex) {
-      return value === value ? strictIndexOf(array, value, fromIndex) : baseFindIndex(array, baseIsNaN, fromIndex);
+    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);
     }
-    module2.exports = baseIndexOf;
-  }
-});
-
-// node_modules/lodash/_arrayIncludes.js
-var require_arrayIncludes = __commonJS({
-  "node_modules/lodash/_arrayIncludes.js"(exports2, module2) {
-    var baseIndexOf = require_baseIndexOf();
-    function arrayIncludes(array, value) {
-      var length = array == null ? 0 : array.length;
-      return !!length && baseIndexOf(array, value, 0) > -1;
+    function stringPercentDecode(input) {
+      const bytes = encoder.encode(input);
+      return percentDecode(bytes);
     }
-    module2.exports = arrayIncludes;
-  }
-});
-
-// node_modules/lodash/_arrayIncludesWith.js
-var require_arrayIncludesWith = __commonJS({
-  "node_modules/lodash/_arrayIncludesWith.js"(exports2, module2) {
-    function arrayIncludesWith(array, value, comparator) {
-      var index = -1, length = array == null ? 0 : array.length;
-      while (++index < length) {
-        if (comparator(value, array[index])) {
-          return true;
+    function percentDecode(input) {
+      const output = [];
+      for (let i = 0; i < input.length; i++) {
+        const byte = input[i];
+        if (byte !== 37) {
+          output.push(byte);
+        } else if (byte === 37 && !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i + 1], input[i + 2]))) {
+          output.push(37);
+        } else {
+          const nextTwoBytes = String.fromCharCode(input[i + 1], input[i + 2]);
+          const bytePoint = Number.parseInt(nextTwoBytes, 16);
+          output.push(bytePoint);
+          i += 2;
         }
       }
-      return false;
-    }
-    module2.exports = arrayIncludesWith;
-  }
-});
-
-// node_modules/lodash/_arrayMap.js
-var require_arrayMap = __commonJS({
-  "node_modules/lodash/_arrayMap.js"(exports2, module2) {
-    function arrayMap(array, iteratee) {
-      var index = -1, length = array == null ? 0 : array.length, result = Array(length);
-      while (++index < length) {
-        result[index] = iteratee(array[index], index, array);
-      }
-      return result;
-    }
-    module2.exports = arrayMap;
-  }
-});
-
-// node_modules/lodash/_cacheHas.js
-var require_cacheHas = __commonJS({
-  "node_modules/lodash/_cacheHas.js"(exports2, module2) {
-    function cacheHas(cache, key) {
-      return cache.has(key);
+      return Uint8Array.from(output);
     }
-    module2.exports = cacheHas;
-  }
-});
-
-// node_modules/lodash/_baseDifference.js
-var require_baseDifference = __commonJS({
-  "node_modules/lodash/_baseDifference.js"(exports2, module2) {
-    var SetCache = require_SetCache();
-    var arrayIncludes = require_arrayIncludes();
-    var arrayIncludesWith = require_arrayIncludesWith();
-    var arrayMap = require_arrayMap();
-    var baseUnary = require_baseUnary();
-    var cacheHas = require_cacheHas();
-    var LARGE_ARRAY_SIZE = 200;
-    function baseDifference(array, values, iteratee, comparator) {
-      var index = -1, includes = arrayIncludes, isCommon = true, length = array.length, result = [], valuesLength = values.length;
-      if (!length) {
-        return result;
+    function parseMIMEType(input) {
+      input = removeHTTPWhitespace(input, true, true);
+      const position = { position: 0 };
+      const type2 = collectASequenceOfCodePointsFast(
+        "/",
+        input,
+        position
+      );
+      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
+        return "failure";
       }
-      if (iteratee) {
-        values = arrayMap(values, baseUnary(iteratee));
+      if (position.position > input.length) {
+        return "failure";
       }
-      if (comparator) {
-        includes = arrayIncludesWith;
-        isCommon = false;
-      } else if (values.length >= LARGE_ARRAY_SIZE) {
-        includes = cacheHas;
-        isCommon = false;
-        values = new SetCache(values);
+      position.position++;
+      let subtype = collectASequenceOfCodePointsFast(
+        ";",
+        input,
+        position
+      );
+      subtype = removeHTTPWhitespace(subtype, false, true);
+      if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {
+        return "failure";
       }
-      outer:
-        while (++index < length) {
-          var value = array[index], computed = iteratee == null ? value : iteratee(value);
-          value = comparator || value !== 0 ? value : 0;
-          if (isCommon && computed === computed) {
-            var valuesIndex = valuesLength;
-            while (valuesIndex--) {
-              if (values[valuesIndex] === computed) {
-                continue outer;
-              }
-            }
-            result.push(value);
-          } else if (!includes(values, computed, comparator)) {
-            result.push(value);
+      const typeLowercase = type2.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++;
         }
-      return result;
-    }
-    module2.exports = baseDifference;
-  }
-});
-
-// node_modules/lodash/isArrayLikeObject.js
-var require_isArrayLikeObject = __commonJS({
-  "node_modules/lodash/isArrayLikeObject.js"(exports2, module2) {
-    var isArrayLike = require_isArrayLike();
-    var isObjectLike = require_isObjectLike();
-    function isArrayLikeObject(value) {
-      return isObjectLike(value) && isArrayLike(value);
-    }
-    module2.exports = isArrayLikeObject;
-  }
-});
-
-// node_modules/lodash/difference.js
-var require_difference = __commonJS({
-  "node_modules/lodash/difference.js"(exports2, module2) {
-    var baseDifference = require_baseDifference();
-    var baseFlatten = require_baseFlatten();
-    var baseRest = require_baseRest();
-    var isArrayLikeObject = require_isArrayLikeObject();
-    var difference = baseRest(function(array, values) {
-      return isArrayLikeObject(array) ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true)) : [];
-    });
-    module2.exports = difference;
-  }
-});
-
-// node_modules/lodash/_Set.js
-var require_Set = __commonJS({
-  "node_modules/lodash/_Set.js"(exports2, module2) {
-    var getNative = require_getNative();
-    var root = require_root();
-    var Set2 = getNative(root, "Set");
-    module2.exports = Set2;
-  }
-});
-
-// node_modules/lodash/noop.js
-var require_noop = __commonJS({
-  "node_modules/lodash/noop.js"(exports2, module2) {
-    function noop3() {
+        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;
     }
-    module2.exports = noop3;
-  }
-});
-
-// node_modules/lodash/_setToArray.js
-var require_setToArray = __commonJS({
-  "node_modules/lodash/_setToArray.js"(exports2, module2) {
-    function setToArray(set2) {
-      var index = -1, result = Array(set2.size);
-      set2.forEach(function(value) {
-        result[++index] = value;
-      });
-      return result;
+    function forgivingBase64(data) {
+      data = data.replace(/[\u0009\u000A\u000C\u000D\u0020]/g, "");
+      if (data.length % 4 === 0) {
+        data = data.replace(/=?=$/, "");
+      }
+      if (data.length % 4 === 1) {
+        return "failure";
+      }
+      if (/[^+/0-9A-Za-z]/.test(data)) {
+        return "failure";
+      }
+      const binary2 = atob2(data);
+      const bytes = new Uint8Array(binary2.length);
+      for (let byte = 0; byte < binary2.length; byte++) {
+        bytes[byte] = binary2.charCodeAt(byte);
+      }
+      return bytes;
     }
-    module2.exports = setToArray;
-  }
-});
-
-// node_modules/lodash/_createSet.js
-var require_createSet = __commonJS({
-  "node_modules/lodash/_createSet.js"(exports2, module2) {
-    var Set2 = require_Set();
-    var noop3 = require_noop();
-    var setToArray = require_setToArray();
-    var INFINITY = 1 / 0;
-    var createSet = !(Set2 && 1 / setToArray(new Set2([, -0]))[1] == INFINITY) ? noop3 : function(values) {
-      return new Set2(values);
-    };
-    module2.exports = createSet;
-  }
-});
-
-// node_modules/lodash/_baseUniq.js
-var require_baseUniq = __commonJS({
-  "node_modules/lodash/_baseUniq.js"(exports2, module2) {
-    var SetCache = require_SetCache();
-    var arrayIncludes = require_arrayIncludes();
-    var arrayIncludesWith = require_arrayIncludesWith();
-    var cacheHas = require_cacheHas();
-    var createSet = require_createSet();
-    var setToArray = require_setToArray();
-    var LARGE_ARRAY_SIZE = 200;
-    function baseUniq(array, iteratee, comparator) {
-      var index = -1, includes = arrayIncludes, length = array.length, isCommon = true, result = [], seen = result;
-      if (comparator) {
-        isCommon = false;
-        includes = arrayIncludesWith;
-      } else if (length >= LARGE_ARRAY_SIZE) {
-        var set2 = iteratee ? null : createSet(array);
-        if (set2) {
-          return setToArray(set2);
+    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;
         }
-        isCommon = false;
-        includes = cacheHas;
-        seen = new SetCache();
-      } else {
-        seen = iteratee ? [] : result;
-      }
-      outer:
-        while (++index < length) {
-          var value = array[index], computed = iteratee ? iteratee(value) : value;
-          value = comparator || value !== 0 ? value : 0;
-          if (isCommon && computed === computed) {
-            var seenIndex = seen.length;
-            while (seenIndex--) {
-              if (seen[seenIndex] === computed) {
-                continue outer;
-              }
-            }
-            if (iteratee) {
-              seen.push(computed);
-            }
-            result.push(value);
-          } else if (!includes(seen, computed, comparator)) {
-            if (seen !== result) {
-              seen.push(computed);
-            }
-            result.push(value);
+        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;
         }
-      return result;
+      }
+      if (extractValue) {
+        return value;
+      }
+      return input.slice(positionStart, position.position);
     }
-    module2.exports = baseUniq;
-  }
-});
-
-// node_modules/lodash/union.js
-var require_union = __commonJS({
-  "node_modules/lodash/union.js"(exports2, module2) {
-    var baseFlatten = require_baseFlatten();
-    var baseRest = require_baseRest();
-    var baseUniq = require_baseUniq();
-    var isArrayLikeObject = require_isArrayLikeObject();
-    var union = baseRest(function(arrays) {
-      return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));
-    });
-    module2.exports = union;
-  }
-});
-
-// node_modules/lodash/_overArg.js
-var require_overArg = __commonJS({
-  "node_modules/lodash/_overArg.js"(exports2, module2) {
-    function overArg(func, transform) {
-      return function(arg) {
-        return func(transform(arg));
-      };
+    function serializeAMimeType(mimeType) {
+      assert(mimeType !== "failure");
+      const { parameters, essence } = mimeType;
+      let serialization = essence;
+      for (let [name, value] of parameters.entries()) {
+        serialization += ";";
+        serialization += name;
+        serialization += "=";
+        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
+          value = value.replace(/(\\|")/g, "\\$1");
+          value = '"' + value;
+          value += '"';
+        }
+        serialization += value;
+      }
+      return serialization;
+    }
+    function isHTTPWhiteSpace(char) {
+      return char === "\r" || char === "\n" || char === "	" || char === " ";
     }
-    module2.exports = overArg;
-  }
-});
-
-// node_modules/lodash/_getPrototype.js
-var require_getPrototype = __commonJS({
-  "node_modules/lodash/_getPrototype.js"(exports2, module2) {
-    var overArg = require_overArg();
-    var getPrototype = overArg(Object.getPrototypeOf, Object);
-    module2.exports = getPrototype;
-  }
-});
-
-// node_modules/lodash/isPlainObject.js
-var require_isPlainObject = __commonJS({
-  "node_modules/lodash/isPlainObject.js"(exports2, module2) {
-    var baseGetTag = require_baseGetTag();
-    var getPrototype = require_getPrototype();
-    var isObjectLike = require_isObjectLike();
-    var objectTag = "[object Object]";
-    var funcProto = Function.prototype;
-    var objectProto = Object.prototype;
-    var funcToString = funcProto.toString;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    var objectCtorString = funcToString.call(Object);
-    function isPlainObject3(value) {
-      if (!isObjectLike(value) || baseGetTag(value) != objectTag) {
-        return false;
+    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
+      let lead = 0;
+      let trail = str2.length - 1;
+      if (leading) {
+        for (; lead < str2.length && isHTTPWhiteSpace(str2[lead]); lead++) ;
       }
-      var proto = getPrototype(value);
-      if (proto === null) {
-        return true;
+      if (trailing) {
+        for (; trail > 0 && isHTTPWhiteSpace(str2[trail]); trail--) ;
       }
-      var Ctor = hasOwnProperty.call(proto, "constructor") && proto.constructor;
-      return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString;
+      return str2.slice(lead, trail + 1);
     }
-    module2.exports = isPlainObject3;
+    function isASCIIWhitespace(char) {
+      return char === "\r" || char === "\n" || char === "	" || char === "\f" || char === " ";
+    }
+    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
+      let lead = 0;
+      let trail = str2.length - 1;
+      if (leading) {
+        for (; lead < str2.length && isASCIIWhitespace(str2[lead]); lead++) ;
+      }
+      if (trailing) {
+        for (; trail > 0 && isASCIIWhitespace(str2[trail]); trail--) ;
+      }
+      return str2.slice(lead, trail + 1);
+    }
+    module2.exports = {
+      dataURLProcessor,
+      URLSerializer,
+      collectASequenceOfCodePoints,
+      collectASequenceOfCodePointsFast,
+      stringPercentDecode,
+      parseMIMEType,
+      collectAnHTTPQuotedString,
+      serializeAMimeType
+    };
   }
 });
 
-// node_modules/@isaacs/balanced-match/dist/commonjs/index.js
-var require_commonjs18 = __commonJS({
-  "node_modules/@isaacs/balanced-match/dist/commonjs/index.js"(exports2) {
+// node_modules/undici/lib/fetch/file.js
+var require_file5 = __commonJS({
+  "node_modules/undici/lib/fetch/file.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.range = exports2.balanced = void 0;
-    var balanced = (a, b, str2) => {
-      const ma = a instanceof RegExp ? maybeMatch(a, str2) : a;
-      const mb = b instanceof RegExp ? maybeMatch(b, str2) : b;
-      const r = ma !== null && mb != null && (0, exports2.range)(ma, mb, str2);
-      return r && {
-        start: r[0],
-        end: r[1],
-        pre: str2.slice(0, r[0]),
-        body: str2.slice(r[0] + ma.length, r[1]),
-        post: str2.slice(r[1] + mb.length)
-      };
+    var { Blob: Blob2, File: NativeFile } = require("buffer");
+    var { types } = require("util");
+    var { kState } = require_symbols12();
+    var { isBlobLike } = require_util24();
+    var { webidl } = require_webidl3();
+    var { parseMIMEType, serializeAMimeType } = require_dataURL();
+    var { kEnumerableProperty } = require_util23();
+    var encoder = new TextEncoder();
+    var File2 = class _File extends Blob2 {
+      constructor(fileBits, fileName, options = {}) {
+        webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" });
+        fileBits = webidl.converters["sequence"](fileBits);
+        fileName = webidl.converters.USVString(fileName);
+        options = webidl.converters.FilePropertyBag(options);
+        const n = fileName;
+        let t = options.type;
+        let d;
+        substep: {
+          if (t) {
+            t = parseMIMEType(t);
+            if (t === "failure") {
+              t = "";
+              break substep;
+            }
+            t = serializeAMimeType(t).toLowerCase();
+          }
+          d = options.lastModified;
+        }
+        super(processBlobParts(fileBits, options), { type: t });
+        this[kState] = {
+          name: n,
+          lastModified: d,
+          type: t
+        };
+      }
+      get name() {
+        webidl.brandCheck(this, _File);
+        return this[kState].name;
+      }
+      get lastModified() {
+        webidl.brandCheck(this, _File);
+        return this[kState].lastModified;
+      }
+      get type() {
+        webidl.brandCheck(this, _File);
+        return this[kState].type;
+      }
     };
-    exports2.balanced = balanced;
-    var maybeMatch = (reg, str2) => {
-      const m = str2.match(reg);
-      return m ? m[0] : null;
+    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";
+      }
     };
-    var range = (a, b, str2) => {
-      let begs, beg, left, right = void 0, result;
-      let ai = str2.indexOf(a);
-      let bi = str2.indexOf(b, ai + 1);
-      let i = ai;
-      if (ai >= 0 && bi > 0) {
-        if (a === b) {
-          return [ai, bi];
+    Object.defineProperties(File2.prototype, {
+      [Symbol.toStringTag]: {
+        value: "File",
+        configurable: true
+      },
+      name: kEnumerableProperty,
+      lastModified: kEnumerableProperty
+    });
+    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
+    webidl.converters.BlobPart = function(V, opts) {
+      if (webidl.util.Type(V) === "Object") {
+        if (isBlobLike(V)) {
+          return webidl.converters.Blob(V, { strict: false });
         }
-        begs = [];
-        left = str2.length;
-        while (i >= 0 && !result) {
-          if (i === ai) {
-            begs.push(i);
-            ai = str2.indexOf(a, i + 1);
-          } else if (begs.length === 1) {
-            const r = begs.pop();
-            if (r !== void 0)
-              result = [r, bi];
+        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
+          return webidl.converters.BufferSource(V, opts);
+        }
+      }
+      return webidl.converters.USVString(V, opts);
+    };
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.BlobPart
+    );
+    webidl.converters.FilePropertyBag = webidl.dictionaryConverter([
+      {
+        key: "lastModified",
+        converter: webidl.converters["long long"],
+        get defaultValue() {
+          return Date.now();
+        }
+      },
+      {
+        key: "type",
+        converter: webidl.converters.DOMString,
+        defaultValue: ""
+      },
+      {
+        key: "endings",
+        converter: (value) => {
+          value = webidl.converters.DOMString(value);
+          value = value.toLowerCase();
+          if (value !== "native") {
+            value = "transparent";
+          }
+          return value;
+        },
+        defaultValue: "transparent"
+      }
+    ]);
+    function processBlobParts(parts, options) {
+      const bytes = [];
+      for (const element of parts) {
+        if (typeof element === "string") {
+          let s = element;
+          if (options.endings === "native") {
+            s = convertLineEndingsNative(s);
+          }
+          bytes.push(encoder.encode(s));
+        } else if (types.isAnyArrayBuffer(element) || types.isTypedArray(element)) {
+          if (!element.buffer) {
+            bytes.push(new Uint8Array(element));
           } else {
-            beg = begs.pop();
-            if (beg !== void 0 && beg < left) {
-              left = beg;
-              right = bi;
-            }
-            bi = str2.indexOf(b, i + 1);
+            bytes.push(
+              new Uint8Array(element.buffer, element.byteOffset, element.byteLength)
+            );
           }
-          i = ai < bi && ai >= 0 ? ai : bi;
-        }
-        if (begs.length && right !== void 0) {
-          result = [left, right];
+        } else if (isBlobLike(element)) {
+          bytes.push(element);
         }
       }
-      return result;
-    };
-    exports2.range = range;
+      return bytes;
+    }
+    function convertLineEndingsNative(s) {
+      let nativeLineEnding = "\n";
+      if (process.platform === "win32") {
+        nativeLineEnding = "\r\n";
+      }
+      return s.replace(/\r?\n/g, nativeLineEnding);
+    }
+    function isFileLike(object) {
+      return NativeFile && object instanceof NativeFile || object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
+    }
+    module2.exports = { File: File2, FileLike, isFileLike };
   }
 });
 
-// node_modules/@isaacs/brace-expansion/dist/commonjs/index.js
-var require_commonjs19 = __commonJS({
-  "node_modules/@isaacs/brace-expansion/dist/commonjs/index.js"(exports2) {
+// node_modules/undici/lib/fetch/formdata.js
+var require_formdata3 = __commonJS({
+  "node_modules/undici/lib/fetch/formdata.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.EXPANSION_MAX = void 0;
-    exports2.expand = expand2;
-    var balanced_match_1 = require_commonjs18();
-    var escSlash = "\0SLASH" + Math.random() + "\0";
-    var escOpen = "\0OPEN" + Math.random() + "\0";
-    var escClose = "\0CLOSE" + Math.random() + "\0";
-    var escComma = "\0COMMA" + Math.random() + "\0";
-    var escPeriod = "\0PERIOD" + Math.random() + "\0";
-    var escSlashPattern = new RegExp(escSlash, "g");
-    var escOpenPattern = new RegExp(escOpen, "g");
-    var escClosePattern = new RegExp(escClose, "g");
-    var escCommaPattern = new RegExp(escComma, "g");
-    var escPeriodPattern = new RegExp(escPeriod, "g");
-    var slashPattern = /\\\\/g;
-    var openPattern = /\\{/g;
-    var closePattern = /\\}/g;
-    var commaPattern = /\\,/g;
-    var periodPattern = /\\./g;
-    exports2.EXPANSION_MAX = 1e5;
-    function numeric(str2) {
-      return !isNaN(str2) ? parseInt(str2, 10) : str2.charCodeAt(0);
-    }
-    function escapeBraces(str2) {
-      return str2.replace(slashPattern, escSlash).replace(openPattern, escOpen).replace(closePattern, escClose).replace(commaPattern, escComma).replace(periodPattern, escPeriod);
-    }
-    function unescapeBraces(str2) {
-      return str2.replace(escSlashPattern, "\\").replace(escOpenPattern, "{").replace(escClosePattern, "}").replace(escCommaPattern, ",").replace(escPeriodPattern, ".");
-    }
-    function parseCommaParts(str2) {
-      if (!str2) {
-        return [""];
+    var { isBlobLike, toUSVString, makeIterator } = require_util24();
+    var { kState } = require_symbols12();
+    var { File: UndiciFile, FileLike, isFileLike } = require_file5();
+    var { webidl } = require_webidl3();
+    var { Blob: Blob2, File: NativeFile } = require("buffer");
+    var File2 = NativeFile ?? UndiciFile;
+    var FormData2 = class _FormData {
+      constructor(form) {
+        if (form !== void 0) {
+          throw webidl.errors.conversionFailed({
+            prefix: "FormData constructor",
+            argument: "Argument 1",
+            types: ["undefined"]
+          });
+        }
+        this[kState] = [];
       }
-      const parts = [];
-      const m = (0, balanced_match_1.balanced)("{", "}", str2);
-      if (!m) {
-        return str2.split(",");
+      append(name, value, filename = void 0) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" });
+        if (arguments.length === 3 && !isBlobLike(value)) {
+          throw new TypeError(
+            "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"
+          );
+        }
+        name = webidl.converters.USVString(name);
+        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
+        filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0;
+        const entry = makeEntry(name, value, filename);
+        this[kState].push(entry);
       }
-      const { pre, body, post } = m;
-      const p = pre.split(",");
-      p[p.length - 1] += "{" + body + "}";
-      const postParts = parseCommaParts(post);
-      if (post.length) {
-        ;
-        p[p.length - 1] += postParts.shift();
-        p.push.apply(p, postParts);
+      delete(name) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" });
+        name = webidl.converters.USVString(name);
+        this[kState] = this[kState].filter((entry) => entry.name !== name);
       }
-      parts.push.apply(parts, p);
-      return parts;
-    }
-    function expand2(str2, options = {}) {
-      if (!str2) {
-        return [];
+      get(name) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" });
+        name = webidl.converters.USVString(name);
+        const idx = this[kState].findIndex((entry) => entry.name === name);
+        if (idx === -1) {
+          return null;
+        }
+        return this[kState][idx].value;
       }
-      const { max = exports2.EXPANSION_MAX } = options;
-      if (str2.slice(0, 2) === "{}") {
-        str2 = "\\{\\}" + str2.slice(2);
+      getAll(name) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" });
+        name = webidl.converters.USVString(name);
+        return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value);
       }
-      return expand_(escapeBraces(str2), max, true).map(unescapeBraces);
-    }
-    function embrace(str2) {
-      return "{" + str2 + "}";
-    }
-    function isPadded(el) {
-      return /^-?0\d/.test(el);
-    }
-    function lte(i, y) {
-      return i <= y;
-    }
-    function gte6(i, y) {
-      return i >= y;
-    }
-    function expand_(str2, max, isTop) {
-      const expansions = [];
-      const m = (0, balanced_match_1.balanced)("{", "}", str2);
-      if (!m)
-        return [str2];
-      const pre = m.pre;
-      const post = m.post.length ? expand_(m.post, max, false) : [""];
-      if (/\$$/.test(m.pre)) {
-        for (let k = 0; k < post.length && k < max; k++) {
-          const expansion = pre + "{" + m.body + "}" + post[k];
-          expansions.push(expansion);
-        }
-      } else {
-        const isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
-        const isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
-        const isSequence = isNumericSequence || isAlphaSequence;
-        const isOptions = m.body.indexOf(",") >= 0;
-        if (!isSequence && !isOptions) {
-          if (m.post.match(/,(?!,).*\}/)) {
-            str2 = m.pre + "{" + m.body + escClose + m.post;
-            return expand_(str2, max, true);
-          }
-          return [str2];
-        }
-        let n;
-        if (isSequence) {
-          n = m.body.split(/\.\./);
-        } else {
-          n = parseCommaParts(m.body);
-          if (n.length === 1 && n[0] !== void 0) {
-            n = expand_(n[0], max, false).map(embrace);
-            if (n.length === 1) {
-              return post.map((p) => m.pre + n[0] + p);
-            }
-          }
+      has(name) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" });
+        name = webidl.converters.USVString(name);
+        return this[kState].findIndex((entry) => entry.name === name) !== -1;
+      }
+      set(name, value, filename = void 0) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" });
+        if (arguments.length === 3 && !isBlobLike(value)) {
+          throw new TypeError(
+            "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"
+          );
         }
-        let N;
-        if (isSequence && n[0] !== void 0 && n[1] !== void 0) {
-          const x = numeric(n[0]);
-          const y = numeric(n[1]);
-          const width = Math.max(n[0].length, n[1].length);
-          let incr = n.length === 3 && n[2] !== void 0 ? Math.abs(numeric(n[2])) : 1;
-          let test = lte;
-          const reverse = y < x;
-          if (reverse) {
-            incr *= -1;
-            test = gte6;
-          }
-          const pad = n.some(isPadded);
-          N = [];
-          for (let i = x; test(i, y); i += incr) {
-            let c;
-            if (isAlphaSequence) {
-              c = String.fromCharCode(i);
-              if (c === "\\") {
-                c = "";
-              }
-            } else {
-              c = String(i);
-              if (pad) {
-                const need = width - c.length;
-                if (need > 0) {
-                  const z = new Array(need + 1).join("0");
-                  if (i < 0) {
-                    c = "-" + z + c.slice(1);
-                  } else {
-                    c = z + c;
-                  }
-                }
-              }
-            }
-            N.push(c);
-          }
+        name = webidl.converters.USVString(name);
+        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
+        filename = arguments.length === 3 ? toUSVString(filename) : void 0;
+        const entry = makeEntry(name, value, filename);
+        const idx = this[kState].findIndex((entry2) => entry2.name === name);
+        if (idx !== -1) {
+          this[kState] = [
+            ...this[kState].slice(0, idx),
+            entry,
+            ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name)
+          ];
         } else {
-          N = [];
-          for (let j = 0; j < n.length; j++) {
-            N.push.apply(N, expand_(n[j], max, false));
-          }
-        }
-        for (let j = 0; j < N.length; j++) {
-          for (let k = 0; k < post.length && expansions.length < max; k++) {
-            const expansion = pre + N[j] + post[k];
-            if (!isTop || isSequence || expansion) {
-              expansions.push(expansion);
-            }
-          }
+          this[kState].push(entry);
         }
       }
-      return expansions;
-    }
-  }
-});
-
-// node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js
-var require_assert_valid_pattern = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.assertValidPattern = void 0;
-    var MAX_PATTERN_LENGTH = 1024 * 64;
-    var assertValidPattern = (pattern) => {
-      if (typeof pattern !== "string") {
-        throw new TypeError("invalid pattern");
+      entries() {
+        webidl.brandCheck(this, _FormData);
+        return makeIterator(
+          () => this[kState].map((pair) => [pair.name, pair.value]),
+          "FormData",
+          "key+value"
+        );
       }
-      if (pattern.length > MAX_PATTERN_LENGTH) {
-        throw new TypeError("pattern is too long");
+      keys() {
+        webidl.brandCheck(this, _FormData);
+        return makeIterator(
+          () => this[kState].map((pair) => [pair.name, pair.value]),
+          "FormData",
+          "key"
+        );
+      }
+      values() {
+        webidl.brandCheck(this, _FormData);
+        return makeIterator(
+          () => this[kState].map((pair) => [pair.name, pair.value]),
+          "FormData",
+          "value"
+        );
+      }
+      /**
+       * @param {(value: string, key: string, self: FormData) => void} callbackFn
+       * @param {unknown} thisArg
+       */
+      forEach(callbackFn, thisArg = globalThis) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" });
+        if (typeof callbackFn !== "function") {
+          throw new TypeError(
+            "Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'."
+          );
+        }
+        for (const [key, value] of this) {
+          callbackFn.apply(thisArg, [value, key, this]);
+        }
       }
     };
-    exports2.assertValidPattern = assertValidPattern;
+    FormData2.prototype[Symbol.iterator] = FormData2.prototype.entries;
+    Object.defineProperties(FormData2.prototype, {
+      [Symbol.toStringTag]: {
+        value: "FormData",
+        configurable: true
+      }
+    });
+    function makeEntry(name, value, filename) {
+      name = Buffer.from(name).toString("utf8");
+      if (typeof value === "string") {
+        value = Buffer.from(value).toString("utf8");
+      } else {
+        if (!isFileLike(value)) {
+          value = value instanceof Blob2 ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
+        }
+        if (filename !== void 0) {
+          const options = {
+            type: value.type,
+            lastModified: value.lastModified
+          };
+          value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
+        }
+      }
+      return { name, value };
+    }
+    module2.exports = { FormData: FormData2 };
   }
 });
 
-// node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js
-var require_brace_expressions = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js"(exports2) {
+// node_modules/undici/lib/fetch/body.js
+var require_body3 = __commonJS({
+  "node_modules/undici/lib/fetch/body.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.parseClass = void 0;
-    var posixClasses = {
-      "[:alnum:]": ["\\p{L}\\p{Nl}\\p{Nd}", true],
-      "[:alpha:]": ["\\p{L}\\p{Nl}", true],
-      "[:ascii:]": ["\\x00-\\x7f", false],
-      "[:blank:]": ["\\p{Zs}\\t", true],
-      "[:cntrl:]": ["\\p{Cc}", true],
-      "[:digit:]": ["\\p{Nd}", true],
-      "[:graph:]": ["\\p{Z}\\p{C}", true, true],
-      "[:lower:]": ["\\p{Ll}", true],
-      "[:print:]": ["\\p{C}", true],
-      "[:punct:]": ["\\p{P}", true],
-      "[:space:]": ["\\p{Z}\\t\\r\\n\\v\\f", true],
-      "[:upper:]": ["\\p{Lu}", true],
-      "[:word:]": ["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}", true],
-      "[:xdigit:]": ["A-Fa-f0-9", false]
-    };
-    var braceEscape = (s) => s.replace(/[[\]\\-]/g, "\\$&");
-    var regexpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
-    var rangesToString = (ranges) => ranges.join("");
-    var parseClass = (glob2, position) => {
-      const pos = position;
-      if (glob2.charAt(pos) !== "[") {
-        throw new Error("not in a brace expression");
+    var Busboy = require_main();
+    var util = require_util23();
+    var {
+      ReadableStreamFrom,
+      isBlobLike,
+      isReadableStreamLike,
+      readableStreamClose,
+      createDeferredPromise,
+      fullyReadBody
+    } = require_util24();
+    var { FormData: FormData2 } = require_formdata3();
+    var { kState } = require_symbols12();
+    var { webidl } = require_webidl3();
+    var { DOMException: DOMException2, structuredClone } = require_constants20();
+    var { Blob: Blob2, File: NativeFile } = require("buffer");
+    var { kBodyUsed } = require_symbols11();
+    var assert = require("assert");
+    var { isErrored } = require_util23();
+    var { isUint8Array, isArrayBuffer } = require("util/types");
+    var { File: UndiciFile } = require_file5();
+    var { parseMIMEType, serializeAMimeType } = require_dataURL();
+    var random;
+    try {
+      const crypto2 = require("node:crypto");
+      random = (max) => crypto2.randomInt(0, max);
+    } catch {
+      random = (max) => Math.floor(Math.random(max));
+    }
+    var ReadableStream2 = globalThis.ReadableStream;
+    var File2 = NativeFile ?? UndiciFile;
+    var textEncoder = new TextEncoder();
+    var textDecoder = new TextDecoder();
+    function extractBody(object, keepalive = false) {
+      if (!ReadableStream2) {
+        ReadableStream2 = require("stream/web").ReadableStream;
       }
-      const ranges = [];
-      const negs = [];
-      let i = pos + 1;
-      let sawStart = false;
-      let uflag = false;
-      let escaping = false;
-      let negate = false;
-      let endPos = pos;
-      let rangeStart = "";
-      WHILE: while (i < glob2.length) {
-        const c = glob2.charAt(i);
-        if ((c === "!" || c === "^") && i === pos + 1) {
-          negate = true;
-          i++;
-          continue;
-        }
-        if (c === "]" && sawStart && !escaping) {
-          endPos = i + 1;
-          break;
-        }
-        sawStart = true;
-        if (c === "\\") {
-          if (!escaping) {
-            escaping = true;
-            i++;
-            continue;
-          }
-        }
-        if (c === "[" && !escaping) {
-          for (const [cls, [unip, u, neg]] of Object.entries(posixClasses)) {
-            if (glob2.startsWith(cls, i)) {
-              if (rangeStart) {
-                return ["$.", false, glob2.length - pos, true];
-              }
-              i += cls.length;
-              if (neg)
-                negs.push(unip);
-              else
-                ranges.push(unip);
-              uflag = uflag || u;
-              continue WHILE;
+      let stream = null;
+      if (object instanceof ReadableStream2) {
+        stream = object;
+      } else if (isBlobLike(object)) {
+        stream = object.stream();
+      } else {
+        stream = new ReadableStream2({
+          async pull(controller) {
+            controller.enqueue(
+              typeof source === "string" ? textEncoder.encode(source) : source
+            );
+            queueMicrotask(() => readableStreamClose(controller));
+          },
+          start() {
+          },
+          type: void 0
+        });
+      }
+      assert(isReadableStreamLike(stream));
+      let action = null;
+      let source = null;
+      let length = null;
+      let type2 = null;
+      if (typeof object === "string") {
+        source = object;
+        type2 = "text/plain;charset=UTF-8";
+      } else if (object instanceof URLSearchParams) {
+        source = object.toString();
+        type2 = "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 = (str2) => str2.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;
             }
           }
         }
-        escaping = false;
-        if (rangeStart) {
-          if (c > rangeStart) {
-            ranges.push(braceEscape(rangeStart) + "-" + braceEscape(c));
-          } else if (c === rangeStart) {
-            ranges.push(braceEscape(c));
+        const chunk = textEncoder.encode(`--${boundary}--`);
+        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;
+            }
           }
-          rangeStart = "";
-          i++;
-          continue;
+        };
+        type2 = "multipart/form-data; boundary=" + boundary;
+      } else if (isBlobLike(object)) {
+        source = object;
+        length = object.size;
+        if (object.type) {
+          type2 = object.type;
         }
-        if (glob2.startsWith("-]", i + 1)) {
-          ranges.push(braceEscape(c + "-"));
-          i += 2;
-          continue;
+      } else if (typeof object[Symbol.asyncIterator] === "function") {
+        if (keepalive) {
+          throw new TypeError("keepalive");
         }
-        if (glob2.startsWith("-", i + 1)) {
-          rangeStart = c;
-          i += 2;
-          continue;
+        if (util.isDisturbed(object) || object.locked) {
+          throw new TypeError(
+            "Response body object should not be disturbed or locked"
+          );
         }
-        ranges.push(braceEscape(c));
-        i++;
-      }
-      if (endPos < i) {
-        return ["", false, 0, false];
-      }
-      if (!ranges.length && !negs.length) {
-        return ["$.", false, glob2.length - pos, true];
+        stream = object instanceof ReadableStream2 ? object : ReadableStreamFrom(object);
       }
-      if (negs.length === 0 && ranges.length === 1 && /^\\?.$/.test(ranges[0]) && !negate) {
-        const r = ranges[0].length === 2 ? ranges[0].slice(-1) : ranges[0];
-        return [regexpEscape(r), false, endPos - pos, false];
+      if (typeof source === "string" || util.isBuffer(source)) {
+        length = Buffer.byteLength(source);
       }
-      const sranges = "[" + (negate ? "^" : "") + rangesToString(ranges) + "]";
-      const snegs = "[" + (negate ? "" : "^") + rangesToString(negs) + "]";
-      const comb = ranges.length && negs.length ? "(" + sranges + "|" + snegs + ")" : ranges.length ? sranges : snegs;
-      return [comb, uflag, endPos - pos, true];
-    };
-    exports2.parseClass = parseClass;
-  }
-});
-
-// node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js
-var require_unescape = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.unescape = void 0;
-    var unescape = (s, { windowsPathsNoEscape = false, magicalBraces = true } = {}) => {
-      if (magicalBraces) {
-        return windowsPathsNoEscape ? s.replace(/\[([^\/\\])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^\/\\])\]/g, "$1$2").replace(/\\([^\/])/g, "$1");
+      if (action != null) {
+        let iterator2;
+        stream = new ReadableStream2({
+          async start() {
+            iterator2 = action(object)[Symbol.asyncIterator]();
+          },
+          async pull(controller) {
+            const { value, done } = await iterator2.next();
+            if (done) {
+              queueMicrotask(() => {
+                controller.close();
+              });
+            } else {
+              if (!isErrored(stream)) {
+                controller.enqueue(new Uint8Array(value));
+              }
+            }
+            return controller.desiredSize > 0;
+          },
+          async cancel(reason) {
+            await iterator2.return();
+          },
+          type: void 0
+        });
       }
-      return windowsPathsNoEscape ? s.replace(/\[([^\/\\{}])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^\/\\{}])\]/g, "$1$2").replace(/\\([^\/{}])/g, "$1");
-    };
-    exports2.unescape = unescape;
-  }
-});
-
-// node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js
-var require_ast = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AST = void 0;
-    var brace_expressions_js_1 = require_brace_expressions();
-    var unescape_js_1 = require_unescape();
-    var types = /* @__PURE__ */ new Set(["!", "?", "+", "*", "@"]);
-    var isExtglobType = (c) => types.has(c);
-    var startNoTraversal = "(?!(?:^|/)\\.\\.?(?:$|/))";
-    var startNoDot = "(?!\\.)";
-    var addPatternStart = /* @__PURE__ */ new Set(["[", "."]);
-    var justDots = /* @__PURE__ */ new Set(["..", "."]);
-    var reSpecials = new Set("().*{}+?[]^$\\!");
-    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
-    var qmark = "[^/]";
-    var star = qmark + "*?";
-    var starNoEmpty = qmark + "+?";
-    var AST = class _AST {
-      type;
-      #root;
-      #hasMagic;
-      #uflag = false;
-      #parts = [];
-      #parent;
-      #parentIndex;
-      #negs;
-      #filledNegs = false;
-      #options;
-      #toString;
-      // set to true if it's an extglob with no children
-      // (which really means one child of '')
-      #emptyExt = false;
-      constructor(type2, parent, options = {}) {
-        this.type = type2;
-        if (type2)
-          this.#hasMagic = true;
-        this.#parent = parent;
-        this.#root = this.#parent ? this.#parent.#root : this;
-        this.#options = this.#root === this ? options : this.#root.#options;
-        this.#negs = this.#root === this ? [] : this.#root.#negs;
-        if (type2 === "!" && !this.#root.#filledNegs)
-          this.#negs.push(this);
-        this.#parentIndex = this.#parent ? this.#parent.#parts.length : 0;
+      const body = { stream, source, length };
+      return [body, type2];
+    }
+    function safelyExtractBody(object, keepalive = false) {
+      if (!ReadableStream2) {
+        ReadableStream2 = require("stream/web").ReadableStream;
       }
-      get hasMagic() {
-        if (this.#hasMagic !== void 0)
-          return this.#hasMagic;
-        for (const p of this.#parts) {
-          if (typeof p === "string")
-            continue;
-          if (p.type || p.hasMagic)
-            return this.#hasMagic = true;
-        }
-        return this.#hasMagic;
+      if (object instanceof ReadableStream2) {
+        assert(!util.isDisturbed(object), "The body has already been consumed.");
+        assert(!object.locked, "The stream is locked.");
       }
-      // reconstructs the pattern
-      toString() {
-        if (this.#toString !== void 0)
-          return this.#toString;
-        if (!this.type) {
-          return this.#toString = this.#parts.map((p) => String(p)).join("");
+      return extractBody(object, keepalive);
+    }
+    function cloneBody(body) {
+      const [out1, out2] = body.stream.tee();
+      const out2Clone = structuredClone(out2, { transfer: [out2] });
+      const [, finalClone] = out2Clone.tee();
+      body.stream = out1;
+      return {
+        stream: finalClone,
+        length: body.length,
+        source: body.source
+      };
+    }
+    async function* consumeBody(body) {
+      if (body) {
+        if (isUint8Array(body)) {
+          yield body;
         } else {
-          return this.#toString = this.type + "(" + this.#parts.map((p) => String(p)).join("|") + ")";
+          const stream = body.stream;
+          if (util.isDisturbed(stream)) {
+            throw new TypeError("The body has already been consumed.");
+          }
+          if (stream.locked) {
+            throw new TypeError("The stream is locked.");
+          }
+          stream[kBodyUsed] = true;
+          yield* stream;
         }
       }
-      #fillNegs() {
-        if (this !== this.#root)
-          throw new Error("should only call on root");
-        if (this.#filledNegs)
-          return this;
-        this.toString();
-        this.#filledNegs = true;
-        let n;
-        while (n = this.#negs.pop()) {
-          if (n.type !== "!")
-            continue;
-          let p = n;
-          let pp = p.#parent;
-          while (pp) {
-            for (let i = p.#parentIndex + 1; !pp.type && i < pp.#parts.length; i++) {
-              for (const part of n.#parts) {
-                if (typeof part === "string") {
-                  throw new Error("string part in extglob AST??");
+    }
+    function throwIfAborted(state) {
+      if (state.aborted) {
+        throw new DOMException2("The operation was aborted.", "AbortError");
+      }
+    }
+    function bodyMixinMethods(instance) {
+      const methods = {
+        blob() {
+          return specConsumeBody(this, (bytes) => {
+            let mimeType = bodyMimeType(this);
+            if (mimeType === "failure") {
+              mimeType = "";
+            } else if (mimeType) {
+              mimeType = serializeAMimeType(mimeType);
+            }
+            return new Blob2([bytes], { type: mimeType });
+          }, instance);
+        },
+        arrayBuffer() {
+          return specConsumeBody(this, (bytes) => {
+            return new Uint8Array(bytes).buffer;
+          }, instance);
+        },
+        text() {
+          return specConsumeBody(this, utf8DecodeBytes, instance);
+        },
+        json() {
+          return specConsumeBody(this, parseJSONFromBytes, instance);
+        },
+        async formData() {
+          webidl.brandCheck(this, instance);
+          throwIfAborted(this[kState]);
+          const contentType = this.headers.get("Content-Type");
+          if (/multipart\/form-data/.test(contentType)) {
+            const headers = {};
+            for (const [key, value] of this.headers) headers[key.toLowerCase()] = value;
+            const responseFormData = new FormData2();
+            let busboy;
+            try {
+              busboy = new Busboy({
+                headers,
+                preservePath: true
+              });
+            } catch (err) {
+              throw new DOMException2(`${err}`, "AbortError");
+            }
+            busboy.on("field", (name, value) => {
+              responseFormData.append(name, value);
+            });
+            busboy.on("file", (name, value, filename, encoding, mimeType) => {
+              const chunks = [];
+              if (encoding === "base64" || encoding.toLowerCase() === "base64") {
+                let base64chunk = "";
+                value.on("data", (chunk) => {
+                  base64chunk += chunk.toString().replace(/[\r\n]/gm, "");
+                  const end = base64chunk.length - base64chunk.length % 4;
+                  chunks.push(Buffer.from(base64chunk.slice(0, end), "base64"));
+                  base64chunk = base64chunk.slice(end);
+                });
+                value.on("end", () => {
+                  chunks.push(Buffer.from(base64chunk, "base64"));
+                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
+                });
+              } else {
+                value.on("data", (chunk) => {
+                  chunks.push(chunk);
+                });
+                value.on("end", () => {
+                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
+                });
+              }
+            });
+            const busboyResolve = new Promise((resolve2, reject) => {
+              busboy.on("finish", resolve2);
+              busboy.on("error", (err) => reject(new TypeError(err)));
+            });
+            if (this.body !== null) for await (const chunk of consumeBody(this[kState].body)) busboy.write(chunk);
+            busboy.end();
+            await busboyResolve;
+            return responseFormData;
+          } else if (/application\/x-www-form-urlencoded/.test(contentType)) {
+            let entries;
+            try {
+              let text = "";
+              const streamingDecoder = new TextDecoder("utf-8", { ignoreBOM: true });
+              for await (const chunk of consumeBody(this[kState].body)) {
+                if (!isUint8Array(chunk)) {
+                  throw new TypeError("Expected Uint8Array chunk");
                 }
-                part.copyIn(pp.#parts[i]);
+                text += streamingDecoder.decode(chunk, { stream: true });
               }
+              text += streamingDecoder.decode();
+              entries = new URLSearchParams(text);
+            } catch (err) {
+              throw Object.assign(new TypeError(), { cause: err });
             }
-            p = pp;
-            pp = p.#parent;
-          }
-        }
-        return this;
-      }
-      push(...parts) {
-        for (const p of parts) {
-          if (p === "")
-            continue;
-          if (typeof p !== "string" && !(p instanceof _AST && p.#parent === this)) {
-            throw new Error("invalid part: " + p);
+            const formData = new FormData2();
+            for (const [name, value] of entries) {
+              formData.append(name, value);
+            }
+            return formData;
+          } else {
+            await Promise.resolve();
+            throwIfAborted(this[kState]);
+            throw webidl.errors.exception({
+              header: `${instance.name}.formData`,
+              message: "Could not parse content as FormData."
+            });
           }
-          this.#parts.push(p);
         }
+      };
+      return methods;
+    }
+    function mixinBody(prototype) {
+      Object.assign(prototype.prototype, bodyMixinMethods(prototype));
+    }
+    async function specConsumeBody(object, convertBytesToJSValue, instance) {
+      webidl.brandCheck(object, instance);
+      throwIfAborted(object[kState]);
+      if (bodyUnusable(object[kState].body)) {
+        throw new TypeError("Body is unusable");
       }
-      toJSON() {
-        const ret = this.type === null ? this.#parts.slice().map((p) => typeof p === "string" ? p : p.toJSON()) : [this.type, ...this.#parts.map((p) => p.toJSON())];
-        if (this.isStart() && !this.type)
-          ret.unshift([]);
-        if (this.isEnd() && (this === this.#root || this.#root.#filledNegs && this.#parent?.type === "!")) {
-          ret.push({});
+      const promise = createDeferredPromise();
+      const errorSteps = (error3) => promise.reject(error3);
+      const successSteps = (data) => {
+        try {
+          promise.resolve(convertBytesToJSValue(data));
+        } catch (e) {
+          errorSteps(e);
         }
-        return ret;
+      };
+      if (object[kState].body == null) {
+        successSteps(new Uint8Array());
+        return promise.promise;
       }
-      isStart() {
-        if (this.#root === this)
-          return true;
-        if (!this.#parent?.isStart())
-          return false;
-        if (this.#parentIndex === 0)
-          return true;
-        const p = this.#parent;
-        for (let i = 0; i < this.#parentIndex; i++) {
-          const pp = p.#parts[i];
-          if (!(pp instanceof _AST && pp.type === "!")) {
-            return false;
-          }
-        }
-        return true;
+      await fullyReadBody(object[kState].body, successSteps, errorSteps);
+      return promise.promise;
+    }
+    function bodyUnusable(body) {
+      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
+    }
+    function utf8DecodeBytes(buffer) {
+      if (buffer.length === 0) {
+        return "";
       }
-      isEnd() {
-        if (this.#root === this)
-          return true;
-        if (this.#parent?.type === "!")
-          return true;
-        if (!this.#parent?.isEnd())
-          return false;
-        if (!this.type)
-          return this.#parent?.isEnd();
-        const pl = this.#parent ? this.#parent.#parts.length : 0;
-        return this.#parentIndex === pl - 1;
+      if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
+        buffer = buffer.subarray(3);
       }
-      copyIn(part) {
-        if (typeof part === "string")
-          this.push(part);
-        else
-          this.push(part.clone(this));
+      const output = textDecoder.decode(buffer);
+      return output;
+    }
+    function parseJSONFromBytes(bytes) {
+      return JSON.parse(utf8DecodeBytes(bytes));
+    }
+    function bodyMimeType(object) {
+      const { headersList } = object[kState];
+      const contentType = headersList.get("content-type");
+      if (contentType === null) {
+        return "failure";
       }
-      clone(parent) {
-        const c = new _AST(this.type, parent);
-        for (const p of this.#parts) {
-          c.copyIn(p);
+      return parseMIMEType(contentType);
+    }
+    module2.exports = {
+      extractBody,
+      safelyExtractBody,
+      cloneBody,
+      mixinBody
+    };
+  }
+});
+
+// node_modules/undici/lib/core/request.js
+var require_request5 = __commonJS({
+  "node_modules/undici/lib/core/request.js"(exports2, module2) {
+    "use strict";
+    var {
+      InvalidArgumentError,
+      NotSupportedError
+    } = require_errors5();
+    var assert = require("assert");
+    var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = require_symbols11();
+    var util = require_util23();
+    var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;
+    var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
+    var invalidPathRegex = /[^\u0021-\u00ff]/;
+    var kHandler = /* @__PURE__ */ Symbol("handler");
+    var channels = {};
+    var extractBody;
+    try {
+      const diagnosticsChannel = require("diagnostics_channel");
+      channels.create = diagnosticsChannel.channel("undici:request:create");
+      channels.bodySent = diagnosticsChannel.channel("undici:request:bodySent");
+      channels.headers = diagnosticsChannel.channel("undici:request:headers");
+      channels.trailers = diagnosticsChannel.channel("undici:request:trailers");
+      channels.error = diagnosticsChannel.channel("undici:request:error");
+    } catch {
+      channels.create = { hasSubscribers: false };
+      channels.bodySent = { hasSubscribers: false };
+      channels.headers = { hasSubscribers: false };
+      channels.trailers = { hasSubscribers: false };
+      channels.error = { hasSubscribers: false };
+    }
+    var Request = class _Request {
+      constructor(origin, {
+        path: path3,
+        method,
+        body,
+        headers,
+        query,
+        idempotent,
+        blocking,
+        upgrade,
+        headersTimeout,
+        bodyTimeout,
+        reset,
+        throwOnError,
+        expectContinue
+      }, handler2) {
+        if (typeof path3 !== "string") {
+          throw new InvalidArgumentError("path must be a string");
+        } else if (path3[0] !== "/" && !(path3.startsWith("http://") || path3.startsWith("https://")) && method !== "CONNECT") {
+          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
+        } else if (invalidPathRegex.exec(path3) !== null) {
+          throw new InvalidArgumentError("invalid request path");
         }
-        return c;
-      }
-      static #parseAST(str2, ast, pos, opt) {
-        let escaping = false;
-        let inBrace = false;
-        let braceStart = -1;
-        let braceNeg = false;
-        if (ast.type === null) {
-          let i2 = pos;
-          let acc2 = "";
-          while (i2 < str2.length) {
-            const c = str2.charAt(i2++);
-            if (escaping || c === "\\") {
-              escaping = !escaping;
-              acc2 += c;
-              continue;
-            }
-            if (inBrace) {
-              if (i2 === braceStart + 1) {
-                if (c === "^" || c === "!") {
-                  braceNeg = true;
-                }
-              } else if (c === "]" && !(i2 === braceStart + 2 && braceNeg)) {
-                inBrace = false;
-              }
-              acc2 += c;
-              continue;
-            } else if (c === "[") {
-              inBrace = true;
-              braceStart = i2;
-              braceNeg = false;
-              acc2 += c;
-              continue;
-            }
-            if (!opt.noext && isExtglobType(c) && str2.charAt(i2) === "(") {
-              ast.push(acc2);
-              acc2 = "";
-              const ext = new _AST(c, ast);
-              i2 = _AST.#parseAST(str2, ext, i2, opt);
-              ast.push(ext);
-              continue;
-            }
-            acc2 += c;
-          }
-          ast.push(acc2);
-          return i2;
+        if (typeof method !== "string") {
+          throw new InvalidArgumentError("method must be a string");
+        } else if (tokenRegExp.exec(method) === null) {
+          throw new InvalidArgumentError("invalid request method");
         }
-        let i = pos + 1;
-        let part = new _AST(null, ast);
-        const parts = [];
-        let acc = "";
-        while (i < str2.length) {
-          const c = str2.charAt(i++);
-          if (escaping || c === "\\") {
-            escaping = !escaping;
-            acc += c;
-            continue;
+        if (upgrade && typeof upgrade !== "string") {
+          throw new InvalidArgumentError("upgrade must be a string");
+        }
+        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
+          throw new InvalidArgumentError("invalid headersTimeout");
+        }
+        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
+          throw new InvalidArgumentError("invalid bodyTimeout");
+        }
+        if (reset != null && typeof reset !== "boolean") {
+          throw new InvalidArgumentError("invalid reset");
+        }
+        if (expectContinue != null && typeof expectContinue !== "boolean") {
+          throw new InvalidArgumentError("invalid expectContinue");
+        }
+        this.headersTimeout = headersTimeout;
+        this.bodyTimeout = bodyTimeout;
+        this.throwOnError = throwOnError === true;
+        this.method = method;
+        this.abort = null;
+        if (body == null) {
+          this.body = null;
+        } else if (util.isStream(body)) {
+          this.body = body;
+          const rState = this.body._readableState;
+          if (!rState || !rState.autoDestroy) {
+            this.endHandler = function autoDestroy() {
+              util.destroy(this);
+            };
+            this.body.on("end", this.endHandler);
           }
-          if (inBrace) {
-            if (i === braceStart + 1) {
-              if (c === "^" || c === "!") {
-                braceNeg = true;
-              }
-            } else if (c === "]" && !(i === braceStart + 2 && braceNeg)) {
-              inBrace = false;
+          this.errorHandler = (err) => {
+            if (this.abort) {
+              this.abort(err);
+            } else {
+              this.error = err;
             }
-            acc += c;
-            continue;
-          } else if (c === "[") {
-            inBrace = true;
-            braceStart = i;
-            braceNeg = false;
-            acc += c;
-            continue;
-          }
-          if (isExtglobType(c) && str2.charAt(i) === "(") {
-            part.push(acc);
-            acc = "";
-            const ext = new _AST(c, part);
-            part.push(ext);
-            i = _AST.#parseAST(str2, ext, i, opt);
-            continue;
-          }
-          if (c === "|") {
-            part.push(acc);
-            acc = "";
-            parts.push(part);
-            part = new _AST(null, ast);
-            continue;
+          };
+          this.body.on("error", this.errorHandler);
+        } else if (util.isBuffer(body)) {
+          this.body = body.byteLength ? body : null;
+        } else if (ArrayBuffer.isView(body)) {
+          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
+        } else if (body instanceof ArrayBuffer) {
+          this.body = body.byteLength ? Buffer.from(body) : null;
+        } else if (typeof body === "string") {
+          this.body = body.length ? Buffer.from(body) : null;
+        } else if (util.isFormDataLike(body) || util.isIterable(body) || util.isBlobLike(body)) {
+          this.body = body;
+        } else {
+          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
+        }
+        this.completed = false;
+        this.aborted = false;
+        this.upgrade = upgrade || null;
+        this.path = query ? util.buildURL(path3, query) : path3;
+        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");
           }
-          if (c === ")") {
-            if (acc === "" && ast.#parts.length === 0) {
-              ast.#emptyExt = true;
-            }
-            part.push(acc);
-            acc = "";
-            ast.push(...parts, part);
-            return i;
+          for (let i = 0; i < headers.length; i += 2) {
+            processHeader(this, headers[i], headers[i + 1]);
           }
-          acc += c;
-        }
-        ast.type = null;
-        ast.#hasMagic = void 0;
-        ast.#parts = [str2.substring(pos - 1)];
-        return i;
-      }
-      static fromGlob(pattern, options = {}) {
-        const ast = new _AST(null, void 0, options);
-        _AST.#parseAST(pattern, ast, 0, options);
-        return ast;
-      }
-      // returns the regular expression if there's magic, or the unescaped
-      // string if not.
-      toMMPattern() {
-        if (this !== this.#root)
-          return this.#root.toMMPattern();
-        const glob2 = this.toString();
-        const [re, body, hasMagic, uflag] = this.toRegExpSource();
-        const anyMagic = hasMagic || this.#hasMagic || this.#options.nocase && !this.#options.nocaseMagicOnly && glob2.toUpperCase() !== glob2.toLowerCase();
-        if (!anyMagic) {
-          return body;
-        }
-        const flags = (this.#options.nocase ? "i" : "") + (uflag ? "u" : "");
-        return Object.assign(new RegExp(`^${re}$`, flags), {
-          _src: re,
-          _glob: glob2
-        });
-      }
-      get options() {
-        return this.#options;
-      }
-      // returns the string match, the regexp source, whether there's magic
-      // in the regexp (so a regular expression is required) and whether or
-      // not the uflag is needed for the regular expression (for posix classes)
-      // TODO: instead of injecting the start/end at this point, just return
-      // the BODY of the regexp, along with the start/end portions suitable
-      // for binding the start/end in either a joined full-path makeRe context
-      // (where we bind to (^|/), or a standalone matchPart context (where
-      // we bind to ^, and not /).  Otherwise slashes get duped!
-      //
-      // In part-matching mode, the start is:
-      // - if not isStart: nothing
-      // - if traversal possible, but not allowed: ^(?!\.\.?$)
-      // - if dots allowed or not possible: ^
-      // - if dots possible and not allowed: ^(?!\.)
-      // end is:
-      // - if not isEnd(): nothing
-      // - else: $
-      //
-      // In full-path matching mode, we put the slash at the START of the
-      // pattern, so start is:
-      // - if first pattern: same as part-matching mode
-      // - if not isStart(): nothing
-      // - if traversal possible, but not allowed: /(?!\.\.?(?:$|/))
-      // - if dots allowed or not possible: /
-      // - if dots possible and not allowed: /(?!\.)
-      // end is:
-      // - if last pattern, same as part-matching mode
-      // - else nothing
-      //
-      // Always put the (?:$|/) on negated tails, though, because that has to be
-      // there to bind the end of the negated pattern portion, and it's easier to
-      // just stick it in now rather than try to inject it later in the middle of
-      // the pattern.
-      //
-      // We can just always return the same end, and leave it up to the caller
-      // to know whether it's going to be used joined or in parts.
-      // And, if the start is adjusted slightly, can do the same there:
-      // - if not isStart: nothing
-      // - if traversal possible, but not allowed: (?:/|^)(?!\.\.?$)
-      // - if dots allowed or not possible: (?:/|^)
-      // - if dots possible and not allowed: (?:/|^)(?!\.)
-      //
-      // But it's better to have a simpler binding without a conditional, for
-      // performance, so probably better to return both start options.
-      //
-      // Then the caller just ignores the end if it's not the first pattern,
-      // and the start always gets applied.
-      //
-      // But that's always going to be $ if it's the ending pattern, or nothing,
-      // so the caller can just attach $ at the end of the pattern when building.
-      //
-      // So the todo is:
-      // - better detect what kind of start is needed
-      // - return both flavors of starting pattern
-      // - attach $ at the end of the pattern when creating the actual RegExp
-      //
-      // Ah, but wait, no, that all only applies to the root when the first pattern
-      // is not an extglob. If the first pattern IS an extglob, then we need all
-      // that dot prevention biz to live in the extglob portions, because eg
-      // +(*|.x*) can match .xy but not .yx.
-      //
-      // So, return the two flavors if it's #root and the first child is not an
-      // AST, otherwise leave it to the child AST to handle it, and there,
-      // use the (?:^|/) style of start binding.
-      //
-      // Even simplified further:
-      // - Since the start for a join is eg /(?!\.) and the start for a part
-      // is ^(?!\.), we can just prepend (?!\.) to the pattern (either root
-      // or start or whatever) and prepend ^ or / at the Regexp construction.
-      toRegExpSource(allowDot) {
-        const dot = allowDot ?? !!this.#options.dot;
-        if (this.#root === this)
-          this.#fillNegs();
-        if (!this.type) {
-          const noEmpty = this.isStart() && this.isEnd() && !this.#parts.some((s) => typeof s !== "string");
-          const src = this.#parts.map((p) => {
-            const [re, _2, hasMagic, uflag] = typeof p === "string" ? _AST.#parseGlob(p, this.#hasMagic, noEmpty) : p.toRegExpSource(allowDot);
-            this.#hasMagic = this.#hasMagic || hasMagic;
-            this.#uflag = this.#uflag || uflag;
-            return re;
-          }).join("");
-          let start2 = "";
-          if (this.isStart()) {
-            if (typeof this.#parts[0] === "string") {
-              const dotTravAllowed = this.#parts.length === 1 && justDots.has(this.#parts[0]);
-              if (!dotTravAllowed) {
-                const aps = addPatternStart;
-                const needNoTrav = (
-                  // dots are allowed, and the pattern starts with [ or .
-                  dot && aps.has(src.charAt(0)) || // the pattern starts with \., and then [ or .
-                  src.startsWith("\\.") && aps.has(src.charAt(2)) || // the pattern starts with \.\., and then [ or .
-                  src.startsWith("\\.\\.") && aps.has(src.charAt(4))
-                );
-                const needNoDot = !dot && !allowDot && aps.has(src.charAt(0));
-                start2 = needNoTrav ? startNoTraversal : needNoDot ? startNoDot : "";
-              }
-            }
+        } else if (headers && typeof headers === "object") {
+          const keys = Object.keys(headers);
+          for (let i = 0; i < keys.length; i++) {
+            const key = keys[i];
+            processHeader(this, key, headers[key]);
           }
-          let end = "";
-          if (this.isEnd() && this.#root.#filledNegs && this.#parent?.type === "!") {
-            end = "(?:$|\\/)";
+        } else if (headers != null) {
+          throw new InvalidArgumentError("headers must be an object or an array");
+        }
+        if (util.isFormDataLike(this.body)) {
+          if (util.nodeMajor < 16 || util.nodeMajor === 16 && util.nodeMinor < 8) {
+            throw new InvalidArgumentError("Form-Data bodies are only supported in node v16.8 and newer.");
           }
-          const final2 = start2 + src + end;
-          return [
-            final2,
-            (0, unescape_js_1.unescape)(src),
-            this.#hasMagic = !!this.#hasMagic,
-            this.#uflag
-          ];
+          if (!extractBody) {
+            extractBody = require_body3().extractBody;
+          }
+          const [bodyStream, contentType] = extractBody(body);
+          if (this.contentType == null) {
+            this.contentType = contentType;
+            this.headers += `content-type: ${contentType}\r
+`;
+          }
+          this.body = bodyStream.stream;
+          this.contentLength = bodyStream.length;
+        } else if (util.isBlobLike(body) && this.contentType == null && body.type) {
+          this.contentType = body.type;
+          this.headers += `content-type: ${body.type}\r
+`;
         }
-        const repeated = this.type === "*" || this.type === "+";
-        const start = this.type === "!" ? "(?:(?!(?:" : "(?:";
-        let body = this.#partsToRegExp(dot);
-        if (this.isStart() && this.isEnd() && !body && this.type !== "!") {
-          const s = this.toString();
-          this.#parts = [s];
-          this.type = null;
-          this.#hasMagic = void 0;
-          return [s, (0, unescape_js_1.unescape)(this.toString()), false, false];
+        util.validateHandler(handler2, method, upgrade);
+        this.servername = util.getServerName(this.host);
+        this[kHandler] = handler2;
+        if (channels.create.hasSubscribers) {
+          channels.create.publish({ request: this });
         }
-        let bodyDotAllowed = !repeated || allowDot || dot || !startNoDot ? "" : this.#partsToRegExp(true);
-        if (bodyDotAllowed === body) {
-          bodyDotAllowed = "";
+      }
+      onBodySent(chunk) {
+        if (this[kHandler].onBodySent) {
+          try {
+            return this[kHandler].onBodySent(chunk);
+          } catch (err) {
+            this.abort(err);
+          }
         }
-        if (bodyDotAllowed) {
-          body = `(?:${body})(?:${bodyDotAllowed})*?`;
+      }
+      onRequestSent() {
+        if (channels.bodySent.hasSubscribers) {
+          channels.bodySent.publish({ request: this });
         }
-        let final = "";
-        if (this.type === "!" && this.#emptyExt) {
-          final = (this.isStart() && !dot ? startNoDot : "") + starNoEmpty;
+        if (this[kHandler].onRequestSent) {
+          try {
+            return this[kHandler].onRequestSent();
+          } catch (err) {
+            this.abort(err);
+          }
+        }
+      }
+      onConnect(abort) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (this.error) {
+          abort(this.error);
         } else {
-          const close = this.type === "!" ? (
-            // !() must match something,but !(x) can match ''
-            "))" + (this.isStart() && !dot && !allowDot ? startNoDot : "") + star + ")"
-          ) : this.type === "@" ? ")" : this.type === "?" ? ")?" : this.type === "+" && bodyDotAllowed ? ")" : this.type === "*" && bodyDotAllowed ? `)?` : `)${this.type}`;
-          final = start + body + close;
+          this.abort = abort;
+          return this[kHandler].onConnect(abort);
         }
-        return [
-          final,
-          (0, unescape_js_1.unescape)(body),
-          this.#hasMagic = !!this.#hasMagic,
-          this.#uflag
-        ];
       }
-      #partsToRegExp(dot) {
-        return this.#parts.map((p) => {
-          if (typeof p === "string") {
-            throw new Error("string type in extglob ast??");
-          }
-          const [re, _2, _hasMagic, uflag] = p.toRegExpSource(dot);
-          this.#uflag = this.#uflag || uflag;
-          return re;
-        }).filter((p) => !(this.isStart() && this.isEnd()) || !!p).join("|");
+      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);
+        }
       }
-      static #parseGlob(glob2, hasMagic, noEmpty = false) {
-        let escaping = false;
-        let re = "";
-        let uflag = false;
-        for (let i = 0; i < glob2.length; i++) {
-          const c = glob2.charAt(i);
-          if (escaping) {
-            escaping = false;
-            re += (reSpecials.has(c) ? "\\" : "") + c;
-            continue;
-          }
-          if (c === "\\") {
-            if (i === glob2.length - 1) {
-              re += "\\\\";
-            } else {
-              escaping = true;
-            }
-            continue;
-          }
-          if (c === "[") {
-            const [src, needUflag, consumed, magic] = (0, brace_expressions_js_1.parseClass)(glob2, i);
-            if (consumed) {
-              re += src;
-              uflag = uflag || needUflag;
-              i += consumed - 1;
-              hasMagic = hasMagic || magic;
-              continue;
-            }
-          }
-          if (c === "*") {
-            re += noEmpty && glob2 === "*" ? starNoEmpty : star;
-            hasMagic = true;
-            continue;
-          }
-          if (c === "?") {
-            re += qmark;
-            hasMagic = true;
-            continue;
-          }
-          re += regExpEscape(c);
+      onData(chunk) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        try {
+          return this[kHandler].onData(chunk);
+        } catch (err) {
+          this.abort(err);
+          return false;
         }
-        return [re, (0, unescape_js_1.unescape)(glob2), !!hasMagic, uflag];
       }
-    };
-    exports2.AST = AST;
-  }
-});
-
-// node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js
-var require_escape = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.escape = void 0;
-    var escape = (s, { windowsPathsNoEscape = false, magicalBraces = false } = {}) => {
-      if (magicalBraces) {
-        return windowsPathsNoEscape ? s.replace(/[?*()[\]{}]/g, "[$&]") : s.replace(/[?*()[\]\\{}]/g, "\\$&");
+      onUpgrade(statusCode, headers, socket) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        return this[kHandler].onUpgrade(statusCode, headers, socket);
       }
-      return windowsPathsNoEscape ? s.replace(/[?*()[\]]/g, "[$&]") : s.replace(/[?*()[\]\\]/g, "\\$&");
-    };
-    exports2.escape = escape;
-  }
-});
-
-// node_modules/glob/node_modules/minimatch/dist/commonjs/index.js
-var require_commonjs20 = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.unescape = exports2.escape = exports2.AST = exports2.Minimatch = exports2.match = exports2.makeRe = exports2.braceExpand = exports2.defaults = exports2.filter = exports2.GLOBSTAR = exports2.sep = exports2.minimatch = void 0;
-    var brace_expansion_1 = require_commonjs19();
-    var assert_valid_pattern_js_1 = require_assert_valid_pattern();
-    var ast_js_1 = require_ast();
-    var escape_js_1 = require_escape();
-    var unescape_js_1 = require_unescape();
-    var minimatch = (p, pattern, options = {}) => {
-      (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
-      if (!options.nocomment && pattern.charAt(0) === "#") {
-        return false;
+      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);
+        }
       }
-      return new Minimatch(pattern, options).match(p);
-    };
-    exports2.minimatch = minimatch;
-    var starDotExtRE = /^\*+([^+@!?\*\[\(]*)$/;
-    var starDotExtTest = (ext2) => (f) => !f.startsWith(".") && f.endsWith(ext2);
-    var starDotExtTestDot = (ext2) => (f) => f.endsWith(ext2);
-    var starDotExtTestNocase = (ext2) => {
-      ext2 = ext2.toLowerCase();
-      return (f) => !f.startsWith(".") && f.toLowerCase().endsWith(ext2);
-    };
-    var starDotExtTestNocaseDot = (ext2) => {
-      ext2 = ext2.toLowerCase();
-      return (f) => f.toLowerCase().endsWith(ext2);
-    };
-    var starDotStarRE = /^\*+\.\*+$/;
-    var starDotStarTest = (f) => !f.startsWith(".") && f.includes(".");
-    var starDotStarTestDot = (f) => f !== "." && f !== ".." && f.includes(".");
-    var dotStarRE = /^\.\*+$/;
-    var dotStarTest = (f) => f !== "." && f !== ".." && f.startsWith(".");
-    var starRE = /^\*+$/;
-    var starTest = (f) => f.length !== 0 && !f.startsWith(".");
-    var starTestDot = (f) => f.length !== 0 && f !== "." && f !== "..";
-    var qmarksRE = /^\?+([^+@!?\*\[\(]*)?$/;
-    var qmarksTestNocase = ([$0, ext2 = ""]) => {
-      const noext = qmarksTestNoExt([$0]);
-      if (!ext2)
-        return noext;
-      ext2 = ext2.toLowerCase();
-      return (f) => noext(f) && f.toLowerCase().endsWith(ext2);
-    };
-    var qmarksTestNocaseDot = ([$0, ext2 = ""]) => {
-      const noext = qmarksTestNoExtDot([$0]);
-      if (!ext2)
-        return noext;
-      ext2 = ext2.toLowerCase();
-      return (f) => noext(f) && f.toLowerCase().endsWith(ext2);
-    };
-    var qmarksTestDot = ([$0, ext2 = ""]) => {
-      const noext = qmarksTestNoExtDot([$0]);
-      return !ext2 ? noext : (f) => noext(f) && f.endsWith(ext2);
-    };
-    var qmarksTest = ([$0, ext2 = ""]) => {
-      const noext = qmarksTestNoExt([$0]);
-      return !ext2 ? noext : (f) => noext(f) && f.endsWith(ext2);
-    };
-    var qmarksTestNoExt = ([$0]) => {
-      const len = $0.length;
-      return (f) => f.length === len && !f.startsWith(".");
-    };
-    var qmarksTestNoExtDot = ([$0]) => {
-      const len = $0.length;
-      return (f) => f.length === len && f !== "." && f !== "..";
-    };
-    var defaultPlatform = typeof process === "object" && process ? typeof process.env === "object" && process.env && process.env.__MINIMATCH_TESTING_PLATFORM__ || process.platform : "posix";
-    var path3 = {
-      win32: { sep: "\\" },
-      posix: { sep: "/" }
-    };
-    exports2.sep = defaultPlatform === "win32" ? path3.win32.sep : path3.posix.sep;
-    exports2.minimatch.sep = exports2.sep;
-    exports2.GLOBSTAR = /* @__PURE__ */ Symbol("globstar **");
-    exports2.minimatch.GLOBSTAR = exports2.GLOBSTAR;
-    var qmark = "[^/]";
-    var star = qmark + "*?";
-    var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
-    var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
-    var filter = (pattern, options = {}) => (p) => (0, exports2.minimatch)(p, pattern, options);
-    exports2.filter = filter;
-    exports2.minimatch.filter = exports2.filter;
-    var ext = (a, b = {}) => Object.assign({}, a, b);
-    var defaults = (def) => {
-      if (!def || typeof def !== "object" || !Object.keys(def).length) {
-        return exports2.minimatch;
+      onError(error3) {
+        this.onFinally();
+        if (channels.error.hasSubscribers) {
+          channels.error.publish({ request: this, error: error3 });
+        }
+        if (this.aborted) {
+          return;
+        }
+        this.aborted = true;
+        return this[kHandler].onError(error3);
       }
-      const orig = exports2.minimatch;
-      const m = (p, pattern, options = {}) => orig(p, pattern, ext(def, options));
-      return Object.assign(m, {
-        Minimatch: class Minimatch extends orig.Minimatch {
-          constructor(pattern, options = {}) {
-            super(pattern, ext(def, options));
-          }
-          static defaults(options) {
-            return orig.defaults(ext(def, options)).Minimatch;
+      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;
+        }
+      }
+      // TODO: adjust to support H2
+      addHeader(key, value) {
+        processHeader(this, key, value);
+        return this;
+      }
+      static [kHTTP1BuildRequest](origin, opts, handler2) {
+        return new _Request(origin, opts, handler2);
+      }
+      static [kHTTP2BuildRequest](origin, opts, handler2) {
+        const headers = opts.headers;
+        opts = { ...opts, headers: null };
+        const request2 = new _Request(origin, opts, handler2);
+        request2.headers = {};
+        if (Array.isArray(headers)) {
+          if (headers.length % 2 !== 0) {
+            throw new InvalidArgumentError("headers array must be even");
           }
-        },
-        AST: class AST extends orig.AST {
-          /* c8 ignore start */
-          constructor(type2, parent, options = {}) {
-            super(type2, parent, ext(def, options));
+          for (let i = 0; i < headers.length; i += 2) {
+            processHeader(request2, headers[i], headers[i + 1], true);
           }
-          /* c8 ignore stop */
-          static fromGlob(pattern, options = {}) {
-            return orig.AST.fromGlob(pattern, ext(def, options));
+        } else if (headers && typeof headers === "object") {
+          const keys = Object.keys(headers);
+          for (let i = 0; i < keys.length; i++) {
+            const key = keys[i];
+            processHeader(request2, key, headers[key], true);
           }
-        },
-        unescape: (s, options = {}) => orig.unescape(s, ext(def, options)),
-        escape: (s, options = {}) => orig.escape(s, ext(def, options)),
-        filter: (pattern, options = {}) => orig.filter(pattern, ext(def, options)),
-        defaults: (options) => orig.defaults(ext(def, options)),
-        makeRe: (pattern, options = {}) => orig.makeRe(pattern, ext(def, options)),
-        braceExpand: (pattern, options = {}) => orig.braceExpand(pattern, ext(def, options)),
-        match: (list, pattern, options = {}) => orig.match(list, pattern, ext(def, options)),
-        sep: orig.sep,
-        GLOBSTAR: exports2.GLOBSTAR
-      });
-    };
-    exports2.defaults = defaults;
-    exports2.minimatch.defaults = exports2.defaults;
-    var braceExpand = (pattern, options = {}) => {
-      (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
-      if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
-        return [pattern];
+        } else if (headers != null) {
+          throw new InvalidArgumentError("headers must be an object or an array");
+        }
+        return request2;
       }
-      return (0, brace_expansion_1.expand)(pattern);
-    };
-    exports2.braceExpand = braceExpand;
-    exports2.minimatch.braceExpand = exports2.braceExpand;
-    var makeRe = (pattern, options = {}) => new Minimatch(pattern, options).makeRe();
-    exports2.makeRe = makeRe;
-    exports2.minimatch.makeRe = exports2.makeRe;
-    var match = (list, pattern, options = {}) => {
-      const mm = new Minimatch(pattern, options);
-      list = list.filter((f) => mm.match(f));
-      if (mm.options.nonull && !list.length) {
-        list.push(pattern);
+      static [kHTTP2CopyHeaders](raw) {
+        const rawHeaders = raw.split("\r\n");
+        const headers = {};
+        for (const header of rawHeaders) {
+          const [key, value] = header.split(": ");
+          if (value == null || value.length === 0) continue;
+          if (headers[key]) headers[key] += `,${value}`;
+          else headers[key] = value;
+        }
+        return headers;
       }
-      return list;
     };
-    exports2.match = match;
-    exports2.minimatch.match = exports2.match;
-    var globMagic = /[?*]|[+@!]\(.*?\)|\[|\]/;
-    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
-    var Minimatch = class {
-      options;
-      set;
-      pattern;
-      windowsPathsNoEscape;
-      nonegate;
-      negate;
-      comment;
-      empty;
-      preserveMultipleSlashes;
-      partial;
-      globSet;
-      globParts;
-      nocase;
-      isWindows;
-      platform;
-      windowsNoMagicRoot;
-      regexp;
-      constructor(pattern, options = {}) {
-        (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
-        options = options || {};
-        this.options = options;
-        this.pattern = pattern;
-        this.platform = options.platform || defaultPlatform;
-        this.isWindows = this.platform === "win32";
-        this.windowsPathsNoEscape = !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;
-        if (this.windowsPathsNoEscape) {
-          this.pattern = this.pattern.replace(/\\/g, "/");
+    function processHeaderValue(key, val, skipAppend) {
+      if (val && typeof val === "object") {
+        throw new InvalidArgumentError(`invalid ${key} header`);
+      }
+      val = val != null ? `${val}` : "";
+      if (headerCharRegex.exec(val) !== null) {
+        throw new InvalidArgumentError(`invalid ${key} header`);
+      }
+      return skipAppend ? val : `${key}: ${val}\r
+`;
+    }
+    function processHeader(request2, key, val, skipAppend = false) {
+      if (val && (typeof val === "object" && !Array.isArray(val))) {
+        throw new InvalidArgumentError(`invalid ${key} header`);
+      } else if (val === void 0) {
+        return;
+      }
+      if (request2.host === null && key.length === 4 && key.toLowerCase() === "host") {
+        if (headerCharRegex.exec(val) !== null) {
+          throw new InvalidArgumentError(`invalid ${key} header`);
         }
-        this.preserveMultipleSlashes = !!options.preserveMultipleSlashes;
-        this.regexp = null;
-        this.negate = false;
-        this.nonegate = !!options.nonegate;
-        this.comment = false;
-        this.empty = false;
-        this.partial = !!options.partial;
-        this.nocase = !!this.options.nocase;
-        this.windowsNoMagicRoot = options.windowsNoMagicRoot !== void 0 ? options.windowsNoMagicRoot : !!(this.isWindows && this.nocase);
-        this.globSet = [];
-        this.globParts = [];
-        this.set = [];
-        this.make();
+        request2.host = val;
+      } else if (request2.contentLength === null && key.length === 14 && key.toLowerCase() === "content-length") {
+        request2.contentLength = parseInt(val, 10);
+        if (!Number.isFinite(request2.contentLength)) {
+          throw new InvalidArgumentError("invalid content-length header");
+        }
+      } else if (request2.contentType === null && key.length === 12 && key.toLowerCase() === "content-type") {
+        request2.contentType = val;
+        if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
+        else request2.headers += processHeaderValue(key, val);
+      } else if (key.length === 17 && key.toLowerCase() === "transfer-encoding") {
+        throw new InvalidArgumentError("invalid transfer-encoding header");
+      } else if (key.length === 10 && key.toLowerCase() === "connection") {
+        const value = typeof val === "string" ? val.toLowerCase() : null;
+        if (value !== "close" && value !== "keep-alive") {
+          throw new InvalidArgumentError("invalid connection header");
+        } else if (value === "close") {
+          request2.reset = true;
+        }
+      } else if (key.length === 10 && key.toLowerCase() === "keep-alive") {
+        throw new InvalidArgumentError("invalid keep-alive header");
+      } else if (key.length === 7 && key.toLowerCase() === "upgrade") {
+        throw new InvalidArgumentError("invalid upgrade header");
+      } else if (key.length === 6 && key.toLowerCase() === "expect") {
+        throw new NotSupportedError("expect header not supported");
+      } else if (tokenRegExp.exec(key) === null) {
+        throw new InvalidArgumentError("invalid header key");
+      } else {
+        if (Array.isArray(val)) {
+          for (let i = 0; i < val.length; i++) {
+            if (skipAppend) {
+              if (request2.headers[key]) request2.headers[key] += `,${processHeaderValue(key, val[i], skipAppend)}`;
+              else request2.headers[key] = processHeaderValue(key, val[i], skipAppend);
+            } else {
+              request2.headers += processHeaderValue(key, val[i]);
+            }
+          }
+        } else {
+          if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
+          else request2.headers += processHeaderValue(key, val);
+        }
+      }
+    }
+    module2.exports = Request;
+  }
+});
+
+// node_modules/undici/lib/dispatcher.js
+var require_dispatcher3 = __commonJS({
+  "node_modules/undici/lib/dispatcher.js"(exports2, module2) {
+    "use strict";
+    var EventEmitter = require("events");
+    var Dispatcher = class extends EventEmitter {
+      dispatch() {
+        throw new Error("not implemented");
       }
-      hasMagic() {
-        if (this.options.magicalBraces && this.set.length > 1) {
-          return true;
-        }
-        for (const pattern of this.set) {
-          for (const part of pattern) {
-            if (typeof part !== "string")
-              return true;
+      close() {
+        throw new Error("not implemented");
+      }
+      destroy() {
+        throw new Error("not implemented");
+      }
+    };
+    module2.exports = Dispatcher;
+  }
+});
+
+// node_modules/undici/lib/dispatcher-base.js
+var require_dispatcher_base3 = __commonJS({
+  "node_modules/undici/lib/dispatcher-base.js"(exports2, module2) {
+    "use strict";
+    var Dispatcher = require_dispatcher3();
+    var {
+      ClientDestroyedError,
+      ClientClosedError,
+      InvalidArgumentError
+    } = require_errors5();
+    var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols11();
+    var kDestroyed = /* @__PURE__ */ Symbol("destroyed");
+    var kClosed = /* @__PURE__ */ Symbol("closed");
+    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
+    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
+    var kInterceptedDispatch = /* @__PURE__ */ 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");
+            }
           }
         }
-        return false;
-      }
-      debug(..._2) {
+        this[kInterceptors] = newInterceptors;
       }
-      make() {
-        const pattern = this.pattern;
-        const options = this.options;
-        if (!options.nocomment && pattern.charAt(0) === "#") {
-          this.comment = true;
-          return;
+      close(callback) {
+        if (callback === void 0) {
+          return new Promise((resolve2, reject) => {
+            this.close((err, data) => {
+              return err ? reject(err) : resolve2(data);
+            });
+          });
         }
-        if (!pattern) {
-          this.empty = true;
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        if (this[kDestroyed]) {
+          queueMicrotask(() => callback(new ClientDestroyedError(), null));
           return;
         }
-        this.parseNegate();
-        this.globSet = [...new Set(this.braceExpand())];
-        if (options.debug) {
-          this.debug = (...args) => console.error(...args);
+        if (this[kClosed]) {
+          if (this[kOnClosed]) {
+            this[kOnClosed].push(callback);
+          } else {
+            queueMicrotask(() => callback(null, null));
+          }
+          return;
         }
-        this.debug(this.pattern, this.globSet);
-        const rawGlobParts = this.globSet.map((s) => this.slashSplit(s));
-        this.globParts = this.preprocess(rawGlobParts);
-        this.debug(this.pattern, this.globParts);
-        let set2 = this.globParts.map((s, _2, __) => {
-          if (this.isWindows && this.windowsNoMagicRoot) {
-            const isUNC = s[0] === "" && s[1] === "" && (s[2] === "?" || !globMagic.test(s[2])) && !globMagic.test(s[3]);
-            const isDrive = /^[a-z]:/i.test(s[0]);
-            if (isUNC) {
-              return [...s.slice(0, 4), ...s.slice(4).map((ss) => this.parse(ss))];
-            } else if (isDrive) {
-              return [s[0], ...s.slice(1).map((ss) => this.parse(ss))];
-            }
+        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);
           }
-          return s.map((ss) => this.parse(ss));
+        };
+        this[kClose]().then(() => this.destroy()).then(() => {
+          queueMicrotask(onClosed);
         });
-        this.debug(this.pattern, set2);
-        this.set = set2.filter((s) => s.indexOf(false) === -1);
-        if (this.isWindows) {
-          for (let i = 0; i < this.set.length; i++) {
-            const p = this.set[i];
-            if (p[0] === "" && p[1] === "" && this.globParts[i][2] === "?" && typeof p[3] === "string" && /^[a-z]:$/i.test(p[3])) {
-              p[2] = "?";
-            }
-          }
-        }
-        this.debug(this.pattern, this.set);
       }
-      // various transforms to equivalent pattern sets that are
-      // faster to process in a filesystem walk.  The goal is to
-      // eliminate what we can, and push all ** patterns as far
-      // to the right as possible, even if it increases the number
-      // of patterns that we have to process.
-      preprocess(globParts) {
-        if (this.options.noglobstar) {
-          for (let i = 0; i < globParts.length; i++) {
-            for (let j = 0; j < globParts[i].length; j++) {
-              if (globParts[i][j] === "**") {
-                globParts[i][j] = "*";
-              }
-            }
+      destroy(err, callback) {
+        if (typeof err === "function") {
+          callback = err;
+          err = null;
+        }
+        if (callback === void 0) {
+          return new Promise((resolve2, reject) => {
+            this.destroy(err, (err2, data) => {
+              return err2 ? (
+                /* istanbul ignore next: should never error */
+                reject(err2)
+              ) : resolve2(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;
         }
-        const { optimizationLevel = 1 } = this.options;
-        if (optimizationLevel >= 2) {
-          globParts = this.firstPhasePreProcess(globParts);
-          globParts = this.secondPhasePreProcess(globParts);
-        } else if (optimizationLevel >= 1) {
-          globParts = this.levelOneOptimize(globParts);
-        } else {
-          globParts = this.adjascentGlobstarOptimize(globParts);
+        if (!err) {
+          err = new ClientDestroyedError();
         }
-        return globParts;
-      }
-      // just get rid of adjascent ** portions
-      adjascentGlobstarOptimize(globParts) {
-        return globParts.map((parts) => {
-          let gs = -1;
-          while (-1 !== (gs = parts.indexOf("**", gs + 1))) {
-            let i = gs;
-            while (parts[i + 1] === "**") {
-              i++;
-            }
-            if (i !== gs) {
-              parts.splice(gs, i - gs);
-            }
+        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);
           }
-          return parts;
+        };
+        this[kDestroy](err).then(() => {
+          queueMicrotask(onDestroyed);
         });
       }
-      // get rid of adjascent ** and resolve .. portions
-      levelOneOptimize(globParts) {
-        return globParts.map((parts) => {
-          parts = parts.reduce((set2, part) => {
-            const prev = set2[set2.length - 1];
-            if (part === "**" && prev === "**") {
-              return set2;
-            }
-            if (part === "..") {
-              if (prev && prev !== ".." && prev !== "." && prev !== "**") {
-                set2.pop();
-                return set2;
-              }
-            }
-            set2.push(part);
-            return set2;
-          }, []);
-          return parts.length === 0 ? [""] : parts;
-        });
+      [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);
       }
-      levelTwoFileOptimize(parts) {
-        if (!Array.isArray(parts)) {
-          parts = this.slashSplit(parts);
+      dispatch(opts, handler2) {
+        if (!handler2 || typeof handler2 !== "object") {
+          throw new InvalidArgumentError("handler must be an object");
         }
-        let didSomething = false;
-        do {
-          didSomething = false;
-          if (!this.preserveMultipleSlashes) {
-            for (let i = 1; i < parts.length - 1; i++) {
-              const p = parts[i];
-              if (i === 1 && p === "" && parts[0] === "")
-                continue;
-              if (p === "." || p === "") {
-                didSomething = true;
-                parts.splice(i, 1);
-                i--;
-              }
-            }
-            if (parts[0] === "." && parts.length === 2 && (parts[1] === "." || parts[1] === "")) {
-              didSomething = true;
-              parts.pop();
-            }
+        try {
+          if (!opts || typeof opts !== "object") {
+            throw new InvalidArgumentError("opts must be an object.");
           }
-          let dd = 0;
-          while (-1 !== (dd = parts.indexOf("..", dd + 1))) {
-            const p = parts[dd - 1];
-            if (p && p !== "." && p !== ".." && p !== "**") {
-              didSomething = true;
-              parts.splice(dd - 1, 2);
-              dd -= 2;
-            }
+          if (this[kDestroyed] || this[kOnDestroyed]) {
+            throw new ClientDestroyedError();
           }
-        } while (didSomething);
-        return parts.length === 0 ? [""] : parts;
-      }
-      // First phase: single-pattern processing
-      // 
 is 1 or more portions
-      //  is 1 or more portions
-      // 

is any portion other than ., .., '', or ** - // is . or '' - // - // **/.. is *brutal* for filesystem walking performance, because - // it effectively resets the recursive walk each time it occurs, - // and ** cannot be reduced out by a .. pattern part like a regexp - // or most strings (other than .., ., and '') can be. - // - //

/**/../

/

/ -> {

/../

/

/,

/**/

/

/} - //

// -> 
/
-      // 
/

/../ ->

/
-      // **/**/ -> **/
-      //
-      // **/*/ -> */**/ <== not valid because ** doesn't follow
-      // this WOULD be allowed if ** did follow symlinks, or * didn't
-      firstPhasePreProcess(globParts) {
-        let didSomething = false;
-        do {
-          didSomething = false;
-          for (let parts of globParts) {
-            let gs = -1;
-            while (-1 !== (gs = parts.indexOf("**", gs + 1))) {
-              let gss = gs;
-              while (parts[gss + 1] === "**") {
-                gss++;
-              }
-              if (gss > gs) {
-                parts.splice(gs + 1, gss - gs);
-              }
-              let next = parts[gs + 1];
-              const p = parts[gs + 2];
-              const p2 = parts[gs + 3];
-              if (next !== "..")
-                continue;
-              if (!p || p === "." || p === ".." || !p2 || p2 === "." || p2 === "..") {
-                continue;
-              }
-              didSomething = true;
-              parts.splice(gs, 1);
-              const other = parts.slice(0);
-              other[gs] = "**";
-              globParts.push(other);
-              gs--;
-            }
-            if (!this.preserveMultipleSlashes) {
-              for (let i = 1; i < parts.length - 1; i++) {
-                const p = parts[i];
-                if (i === 1 && p === "" && parts[0] === "")
-                  continue;
-                if (p === "." || p === "") {
-                  didSomething = true;
-                  parts.splice(i, 1);
-                  i--;
-                }
-              }
-              if (parts[0] === "." && parts.length === 2 && (parts[1] === "." || parts[1] === "")) {
-                didSomething = true;
-                parts.pop();
-              }
-            }
-            let dd = 0;
-            while (-1 !== (dd = parts.indexOf("..", dd + 1))) {
-              const p = parts[dd - 1];
-              if (p && p !== "." && p !== ".." && p !== "**") {
-                didSomething = true;
-                const needDot = dd === 1 && parts[dd + 1] === "**";
-                const splin = needDot ? ["."] : [];
-                parts.splice(dd - 1, 2, ...splin);
-                if (parts.length === 0)
-                  parts.push("");
-                dd -= 2;
-              }
-            }
+          if (this[kClosed]) {
+            throw new ClientClosedError();
           }
-        } while (didSomething);
-        return globParts;
-      }
-      // second phase: multi-pattern dedupes
-      // {
/*/,
/

/} ->

/*/
-      // {
/,
/} -> 
/
-      // {
/**/,
/} -> 
/**/
-      //
-      // {
/**/,
/**/

/} ->

/**/
-      // ^-- not valid because ** doens't follow symlinks
-      secondPhasePreProcess(globParts) {
-        for (let i = 0; i < globParts.length - 1; i++) {
-          for (let j = i + 1; j < globParts.length; j++) {
-            const matched = this.partsMatch(globParts[i], globParts[j], !this.preserveMultipleSlashes);
-            if (matched) {
-              globParts[i] = [];
-              globParts[j] = matched;
-              break;
-            }
+          return this[kInterceptedDispatch](opts, handler2);
+        } catch (err) {
+          if (typeof handler2.onError !== "function") {
+            throw new InvalidArgumentError("invalid onError method");
           }
+          handler2.onError(err);
+          return false;
         }
-        return globParts.filter((gs) => gs.length);
       }
-      partsMatch(a, b, emptyGSMatch = false) {
-        let ai = 0;
-        let bi = 0;
-        let result = [];
-        let which6 = "";
-        while (ai < a.length && bi < b.length) {
-          if (a[ai] === b[bi]) {
-            result.push(which6 === "b" ? b[bi] : a[ai]);
-            ai++;
-            bi++;
-          } else if (emptyGSMatch && a[ai] === "**" && b[bi] === a[ai + 1]) {
-            result.push(a[ai]);
-            ai++;
-          } else if (emptyGSMatch && b[bi] === "**" && a[ai] === b[bi + 1]) {
-            result.push(b[bi]);
-            bi++;
-          } else if (a[ai] === "*" && b[bi] && (this.options.dot || !b[bi].startsWith(".")) && b[bi] !== "**") {
-            if (which6 === "b")
-              return false;
-            which6 = "a";
-            result.push(a[ai]);
-            ai++;
-            bi++;
-          } else if (b[bi] === "*" && a[ai] && (this.options.dot || !a[ai].startsWith(".")) && a[ai] !== "**") {
-            if (which6 === "a")
-              return false;
-            which6 = "b";
-            result.push(b[bi]);
-            ai++;
-            bi++;
-          } else {
-            return false;
+    };
+    module2.exports = DispatcherBase;
+  }
+});
+
+// node_modules/undici/lib/core/connect.js
+var require_connect3 = __commonJS({
+  "node_modules/undici/lib/core/connect.js"(exports2, module2) {
+    "use strict";
+    var net = require("net");
+    var assert = require("assert");
+    var util = require_util23();
+    var { InvalidArgumentError, ConnectTimeoutError } = require_errors5();
+    var tls;
+    var SessionCache;
+    if (global.FinalizationRegistry && !process.env.NODE_V8_COVERAGE) {
+      SessionCache = class WeakSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
+          this._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);
+            }
+          });
+        }
+        get(sessionKey) {
+          const ref = this._sessionCache.get(sessionKey);
+          return ref ? ref.deref() : null;
+        }
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
+          this._sessionCache.set(sessionKey, new WeakRef(session));
+          this._sessionRegistry.register(session, sessionKey);
         }
-        return a.length === b.length && result;
-      }
-      parseNegate() {
-        if (this.nonegate)
-          return;
-        const pattern = this.pattern;
-        let negate = false;
-        let negateOffset = 0;
-        for (let i = 0; i < pattern.length && pattern.charAt(i) === "!"; i++) {
-          negate = !negate;
-          negateOffset++;
+      };
+    } else {
+      SessionCache = class SimpleSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
         }
-        if (negateOffset)
-          this.pattern = pattern.slice(negateOffset);
-        this.negate = negate;
+        get(sessionKey) {
+          return this._sessionCache.get(sessionKey);
+        }
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
+          }
+          if (this._sessionCache.size >= this._maxCachedSessions) {
+            const { value: oldestKey } = this._sessionCache.keys().next();
+            this._sessionCache.delete(oldestKey);
+          }
+          this._sessionCache.set(sessionKey, session);
+        }
+      };
+    }
+    function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, ...opts }) {
+      if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
+        throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
       }
-      // set partial to true to test if, for example,
-      // "/a/b" matches the start of "/*/b/*/d"
-      // Partial means, if you run out of file before you run
-      // out of pattern, then that's fine, as long as all
-      // the parts match.
-      matchOne(file, pattern, partial = false) {
-        const options = this.options;
-        if (this.isWindows) {
-          const fileDrive = typeof file[0] === "string" && /^[a-z]:$/i.test(file[0]);
-          const fileUNC = !fileDrive && file[0] === "" && file[1] === "" && file[2] === "?" && /^[a-z]:$/i.test(file[3]);
-          const patternDrive = typeof pattern[0] === "string" && /^[a-z]:$/i.test(pattern[0]);
-          const patternUNC = !patternDrive && pattern[0] === "" && pattern[1] === "" && pattern[2] === "?" && typeof pattern[3] === "string" && /^[a-z]:$/i.test(pattern[3]);
-          const fdi = fileUNC ? 3 : fileDrive ? 0 : void 0;
-          const pdi = patternUNC ? 3 : patternDrive ? 0 : void 0;
-          if (typeof fdi === "number" && typeof pdi === "number") {
-            const [fd, pd] = [file[fdi], pattern[pdi]];
-            if (fd.toLowerCase() === pd.toLowerCase()) {
-              pattern[pdi] = fd;
-              if (pdi > fdi) {
-                pattern = pattern.slice(pdi);
-              } else if (fdi > pdi) {
-                file = file.slice(fdi);
-              }
-            }
+      const options = { path: socketPath, ...opts };
+      const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
+      timeout = timeout == null ? 1e4 : timeout;
+      allowH2 = allowH2 != null ? allowH2 : false;
+      return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
+        let socket;
+        if (protocol === "https:") {
+          if (!tls) {
+            tls = require("tls");
           }
+          servername = servername || options.servername || util.getServerName(host) || null;
+          const sessionKey = servername || hostname;
+          const session = sessionCache.get(sessionKey) || null;
+          assert(sessionKey);
+          socket = tls.connect({
+            highWaterMark: 16384,
+            // TLS in node can't have bigger HWM anyway...
+            ...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: port || 443,
+            host: hostname
+          });
+          socket.on("session", function(session2) {
+            sessionCache.set(sessionKey, session2);
+          });
+        } else {
+          assert(!httpSocket, "httpSocket can only be sent on TLS update");
+          socket = net.connect({
+            highWaterMark: 64 * 1024,
+            // Same as nodejs fs streams.
+            ...options,
+            localAddress,
+            port: port || 80,
+            host: hostname
+          });
         }
-        const { optimizationLevel = 1 } = this.options;
-        if (optimizationLevel >= 2) {
-          file = this.levelTwoFileOptimize(file);
+        if (options.keepAlive == null || options.keepAlive) {
+          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
+          socket.setKeepAlive(true, keepAliveInitialDelay);
         }
-        this.debug("matchOne", this, { file, pattern });
-        this.debug("matchOne", file.length, pattern.length);
-        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
-          this.debug("matchOne loop");
-          var p = pattern[pi];
-          var f = file[fi];
-          this.debug(pattern, p, f);
-          if (p === false) {
-            return false;
+        const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout);
+        socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
+          cancelTimeout();
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(null, this);
           }
-          if (p === exports2.GLOBSTAR) {
-            this.debug("GLOBSTAR", [pattern, p, f]);
-            var fr = fi;
-            var pr = pi + 1;
-            if (pr === pl) {
-              this.debug("** at the end");
-              for (; fi < fl; fi++) {
-                if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".")
-                  return false;
-              }
-              return true;
-            }
-            while (fr < fl) {
-              var swallowee = file[fr];
-              this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
-              if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
-                this.debug("globstar found match!", fr, fl, swallowee);
-                return true;
-              } else {
-                if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
-                  this.debug("dot detected!", file, fr, pattern, pr);
-                  break;
-                }
-                this.debug("globstar swallow a segment, and continue");
-                fr++;
-              }
-            }
-            if (partial) {
-              this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
-              if (fr === fl) {
-                return true;
-              }
-            }
-            return false;
+        }).on("error", function(err) {
+          cancelTimeout();
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(err);
           }
-          let hit;
-          if (typeof p === "string") {
-            hit = f === p;
-            this.debug("string match", p, f, hit);
+        });
+        return socket;
+      };
+    }
+    function setupTimeout(onConnectTimeout2, timeout) {
+      if (!timeout) {
+        return () => {
+        };
+      }
+      let s1 = null;
+      let s2 = null;
+      const timeoutId = setTimeout(() => {
+        s1 = setImmediate(() => {
+          if (process.platform === "win32") {
+            s2 = setImmediate(() => onConnectTimeout2());
           } else {
-            hit = p.test(f);
-            this.debug("pattern match", p, f, hit);
+            onConnectTimeout2();
           }
-          if (!hit)
-            return false;
+        });
+      }, timeout);
+      return () => {
+        clearTimeout(timeoutId);
+        clearImmediate(s1);
+        clearImmediate(s2);
+      };
+    }
+    function onConnectTimeout(socket) {
+      util.destroy(socket, new ConnectTimeoutError());
+    }
+    module2.exports = buildConnector;
+  }
+});
+
+// node_modules/undici/lib/llhttp/utils.js
+var require_utils9 = __commonJS({
+  "node_modules/undici/lib/llhttp/utils.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.enumToMap = void 0;
+    function enumToMap(obj) {
+      const res = {};
+      Object.keys(obj).forEach((key) => {
+        const value = obj[key];
+        if (typeof value === "number") {
+          res[key] = value;
         }
-        if (fi === fl && pi === pl) {
-          return true;
-        } else if (fi === fl) {
-          return partial;
-        } else if (pi === pl) {
-          return fi === fl - 1 && file[fi] === "";
-        } else {
-          throw new Error("wtf?");
+      });
+      return res;
+    }
+    exports2.enumToMap = enumToMap;
+  }
+});
+
+// node_modules/undici/lib/llhttp/constants.js
+var require_constants21 = __commonJS({
+  "node_modules/undici/lib/llhttp/constants.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
+    var utils_1 = require_utils9();
+    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];
+      }
+    });
+    var FINISH;
+    (function(FINISH2) {
+      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
+      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
+      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
+    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
+    exports2.ALPHA = [];
+    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
+      exports2.ALPHA.push(String.fromCharCode(i));
+      exports2.ALPHA.push(String.fromCharCode(i + 32));
+    }
+    exports2.NUM_MAP = {
+      0: 0,
+      1: 1,
+      2: 2,
+      3: 3,
+      4: 4,
+      5: 5,
+      6: 6,
+      7: 7,
+      8: 8,
+      9: 9
+    };
+    exports2.HEX_MAP = {
+      0: 0,
+      1: 1,
+      2: 2,
+      3: 3,
+      4: 4,
+      5: 5,
+      6: 6,
+      7: 7,
+      8: 8,
+      9: 9,
+      A: 10,
+      B: 11,
+      C: 12,
+      D: 13,
+      E: 14,
+      F: 15,
+      a: 10,
+      b: 11,
+      c: 12,
+      d: 13,
+      e: 14,
+      f: 15
+    };
+    exports2.NUM = [
+      "0",
+      "1",
+      "2",
+      "3",
+      "4",
+      "5",
+      "6",
+      "7",
+      "8",
+      "9"
+    ];
+    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
+    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
+    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
+    exports2.STRICT_URL_CHAR = [
+      "!",
+      '"',
+      "$",
+      "%",
+      "&",
+      "'",
+      "(",
+      ")",
+      "*",
+      "+",
+      ",",
+      "-",
+      ".",
+      "/",
+      ":",
+      ";",
+      "<",
+      "=",
+      ">",
+      "@",
+      "[",
+      "\\",
+      "]",
+      "^",
+      "_",
+      "`",
+      "{",
+      "|",
+      "}",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
+    for (let i = 128; i <= 255; i++) {
+      exports2.URL_CHAR.push(i);
+    }
+    exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
+    exports2.STRICT_TOKEN = [
+      "!",
+      "#",
+      "$",
+      "%",
+      "&",
+      "'",
+      "*",
+      "+",
+      "-",
+      ".",
+      "^",
+      "_",
+      "`",
+      "|",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]);
+    exports2.HEADER_CHARS = ["	"];
+    for (let i = 32; i <= 255; i++) {
+      if (i !== 127) {
+        exports2.HEADER_CHARS.push(i);
+      }
+    }
+    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/handler/RedirectHandler.js
+var require_RedirectHandler = __commonJS({
+  "node_modules/undici/lib/handler/RedirectHandler.js"(exports2, module2) {
+    "use strict";
+    var util = require_util23();
+    var { kBodyUsed } = require_symbols11();
+    var assert = require("assert");
+    var { InvalidArgumentError } = require_errors5();
+    var EE = require("events");
+    var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
+    var kBody = /* @__PURE__ */ Symbol("body");
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
+      }
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
+      }
+    };
+    var RedirectHandler = class {
+      constructor(dispatch, maxRedirections, opts, handler2) {
+        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
+        }
+        util.validateHandler(handler2, opts.method, opts.upgrade);
+        this.dispatch = dispatch;
+        this.location = null;
+        this.abort = null;
+        this.opts = { ...opts, maxRedirections: 0 };
+        this.maxRedirections = maxRedirections;
+        this.handler = handler2;
+        this.history = [];
+        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);
         }
       }
-      braceExpand() {
-        return (0, exports2.braceExpand)(this.pattern, this.options);
+      onConnect(abort) {
+        this.abort = abort;
+        this.handler.onConnect(abort, { history: this.history });
       }
-      parse(pattern) {
-        (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
-        const options = this.options;
-        if (pattern === "**")
-          return exports2.GLOBSTAR;
-        if (pattern === "")
-          return "";
-        let m;
-        let fastTest = null;
-        if (m = pattern.match(starRE)) {
-          fastTest = options.dot ? starTestDot : starTest;
-        } else if (m = pattern.match(starDotExtRE)) {
-          fastTest = (options.nocase ? options.dot ? starDotExtTestNocaseDot : starDotExtTestNocase : options.dot ? starDotExtTestDot : starDotExtTest)(m[1]);
-        } else if (m = pattern.match(qmarksRE)) {
-          fastTest = (options.nocase ? options.dot ? qmarksTestNocaseDot : qmarksTestNocase : options.dot ? qmarksTestDot : qmarksTest)(m);
-        } else if (m = pattern.match(starDotStarRE)) {
-          fastTest = options.dot ? starDotStarTestDot : starDotStarTest;
-        } else if (m = pattern.match(dotStarRE)) {
-          fastTest = dotStarTest;
-        }
-        const re = ast_js_1.AST.fromGlob(pattern, this.options).toMMPattern();
-        if (fastTest && typeof re === "object") {
-          Reflect.defineProperty(re, "test", { value: fastTest });
-        }
-        return re;
+      onUpgrade(statusCode, headers, socket) {
+        this.handler.onUpgrade(statusCode, headers, socket);
       }
-      makeRe() {
-        if (this.regexp || this.regexp === false)
-          return this.regexp;
-        const set2 = this.set;
-        if (!set2.length) {
-          this.regexp = false;
-          return this.regexp;
+      onError(error3) {
+        this.handler.onError(error3);
+      }
+      onHeaders(statusCode, headers, resume, statusText) {
+        this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers);
+        if (this.opts.origin) {
+          this.history.push(new URL(this.opts.path, this.opts.origin));
         }
-        const options = this.options;
-        const twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
-        const flags = new Set(options.nocase ? ["i"] : []);
-        let re = set2.map((pattern) => {
-          const pp = pattern.map((p) => {
-            if (p instanceof RegExp) {
-              for (const f of p.flags.split(""))
-                flags.add(f);
-            }
-            return typeof p === "string" ? regExpEscape(p) : p === exports2.GLOBSTAR ? exports2.GLOBSTAR : p._src;
-          });
-          pp.forEach((p, i) => {
-            const next = pp[i + 1];
-            const prev = pp[i - 1];
-            if (p !== exports2.GLOBSTAR || prev === exports2.GLOBSTAR) {
-              return;
-            }
-            if (prev === void 0) {
-              if (next !== void 0 && next !== exports2.GLOBSTAR) {
-                pp[i + 1] = "(?:\\/|" + twoStar + "\\/)?" + next;
-              } else {
-                pp[i] = twoStar;
-              }
-            } else if (next === void 0) {
-              pp[i - 1] = prev + "(?:\\/|\\/" + twoStar + ")?";
-            } else if (next !== exports2.GLOBSTAR) {
-              pp[i - 1] = prev + "(?:\\/|\\/" + twoStar + "\\/)" + next;
-              pp[i + 1] = exports2.GLOBSTAR;
-            }
-          });
-          const filtered = pp.filter((p) => p !== exports2.GLOBSTAR);
-          if (this.partial && filtered.length >= 1) {
-            const prefixes = [];
-            for (let i = 1; i <= filtered.length; i++) {
-              prefixes.push(filtered.slice(0, i).join("/"));
-            }
-            return "(?:" + prefixes.join("|") + ")";
-          }
-          return filtered.join("/");
-        }).join("|");
-        const [open, close] = set2.length > 1 ? ["(?:", ")"] : ["", ""];
-        re = "^" + open + re + close + "$";
-        if (this.partial) {
-          re = "^(?:\\/|" + open + re.slice(1, -1) + close + ")$";
+        if (!this.location) {
+          return this.handler.onHeaders(statusCode, headers, resume, statusText);
         }
-        if (this.negate)
-          re = "^(?!" + re + ").+$";
-        try {
-          this.regexp = new RegExp(re, [...flags].join(""));
-        } catch (ex) {
-          this.regexp = false;
+        const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)));
+        const path3 = search ? `${pathname}${search}` : pathname;
+        this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
+        this.opts.path = path3;
+        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;
         }
-        return this.regexp;
       }
-      slashSplit(p) {
-        if (this.preserveMultipleSlashes) {
-          return p.split("/");
-        } else if (this.isWindows && /^\/\/[^\/]+/.test(p)) {
-          return ["", ...p.split(/\/+/)];
+      onData(chunk) {
+        if (this.location) {
         } else {
-          return p.split(/\/+/);
+          return this.handler.onData(chunk);
         }
       }
-      match(f, partial = this.partial) {
-        this.debug("match", f, this.pattern);
-        if (this.comment) {
-          return false;
-        }
-        if (this.empty) {
-          return f === "";
+      onComplete(trailers) {
+        if (this.location) {
+          this.location = null;
+          this.abort = null;
+          this.dispatch(this.opts, this);
+        } else {
+          this.handler.onComplete(trailers);
         }
-        if (f === "/" && partial) {
-          return true;
+      }
+      onBodySent(chunk) {
+        if (this.handler.onBodySent) {
+          this.handler.onBodySent(chunk);
         }
-        const options = this.options;
-        if (this.isWindows) {
-          f = f.split("\\").join("/");
+      }
+    };
+    function parseLocation(statusCode, headers) {
+      if (redirectableStatusCodes.indexOf(statusCode) === -1) {
+        return null;
+      }
+      for (let i = 0; i < headers.length; i += 2) {
+        if (headers[i].toString().toLowerCase() === "location") {
+          return headers[i + 1];
         }
-        const ff = this.slashSplit(f);
-        this.debug(this.pattern, "split", ff);
-        const set2 = this.set;
-        this.debug(this.pattern, "set", set2);
-        let filename = ff[ff.length - 1];
-        if (!filename) {
-          for (let i = ff.length - 2; !filename && i >= 0; i--) {
-            filename = ff[i];
+      }
+    }
+    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]);
           }
         }
-        for (let i = 0; i < set2.length; i++) {
-          const pattern = set2[i];
-          let file = ff;
-          if (options.matchBase && pattern.length === 1) {
-            file = [filename];
-          }
-          const hit = this.matchOne(file, pattern, partial);
-          if (hit) {
-            if (options.flipNegate) {
-              return true;
-            }
-            return !this.negate;
+      } else if (headers && typeof headers === "object") {
+        for (const key of Object.keys(headers)) {
+          if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {
+            ret.push(key, headers[key]);
           }
         }
-        if (options.flipNegate) {
-          return false;
-        }
-        return this.negate;
-      }
-      static defaults(def) {
-        return exports2.minimatch.defaults(def).Minimatch;
+      } else {
+        assert(headers == null, "headers must be an object or an array");
       }
-    };
-    exports2.Minimatch = Minimatch;
-    var ast_js_2 = require_ast();
-    Object.defineProperty(exports2, "AST", { enumerable: true, get: function() {
-      return ast_js_2.AST;
-    } });
-    var escape_js_2 = require_escape();
-    Object.defineProperty(exports2, "escape", { enumerable: true, get: function() {
-      return escape_js_2.escape;
-    } });
-    var unescape_js_2 = require_unescape();
-    Object.defineProperty(exports2, "unescape", { enumerable: true, get: function() {
-      return unescape_js_2.unescape;
-    } });
-    exports2.minimatch.AST = ast_js_1.AST;
-    exports2.minimatch.Minimatch = Minimatch;
-    exports2.minimatch.escape = escape_js_1.escape;
-    exports2.minimatch.unescape = unescape_js_1.unescape;
+      return ret;
+    }
+    module2.exports = RedirectHandler;
   }
 });
 
-// node_modules/lru-cache/dist/commonjs/index.js
-var require_commonjs21 = __commonJS({
-  "node_modules/lru-cache/dist/commonjs/index.js"(exports2) {
+// node_modules/undici/lib/interceptor/redirectInterceptor.js
+var require_redirectInterceptor = __commonJS({
+  "node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.LRUCache = void 0;
-    var perf = typeof performance === "object" && performance && typeof performance.now === "function" ? performance : Date;
-    var warned = /* @__PURE__ */ new Set();
-    var PROCESS = typeof process === "object" && !!process ? process : {};
-    var emitWarning = (msg, type2, code, fn) => {
-      typeof PROCESS.emitWarning === "function" ? PROCESS.emitWarning(msg, type2, code, fn) : console.error(`[${code}] ${type2}: ${msg}`);
-    };
-    var AC = globalThis.AbortController;
-    var AS = globalThis.AbortSignal;
-    if (typeof AC === "undefined") {
-      AS = class AbortSignal {
-        onabort;
-        _onabort = [];
-        reason;
-        aborted = false;
-        addEventListener(_2, fn) {
-          this._onabort.push(fn);
-        }
-      };
-      AC = class AbortController {
-        constructor() {
-          warnACPolyfill();
-        }
-        signal = new AS();
-        abort(reason) {
-          if (this.signal.aborted)
-            return;
-          this.signal.reason = reason;
-          this.signal.aborted = true;
-          for (const fn of this.signal._onabort) {
-            fn(reason);
+    var RedirectHandler = require_RedirectHandler();
+    function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) {
+      return (dispatch) => {
+        return function Intercept(opts, handler2) {
+          const { maxRedirections = defaultMaxRedirections } = opts;
+          if (!maxRedirections) {
+            return dispatch(opts, handler2);
           }
-          this.signal.onabort?.(reason);
-        }
-      };
-      let printACPolyfillWarning = PROCESS.env?.LRU_CACHE_IGNORE_AC_WARNING !== "1";
-      const warnACPolyfill = () => {
-        if (!printACPolyfillWarning)
-          return;
-        printACPolyfillWarning = false;
-        emitWarning("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.", "NO_ABORT_CONTROLLER", "ENOTSUP", warnACPolyfill);
+          const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler2);
+          opts = { ...opts, maxRedirections: 0 };
+          return dispatch(opts, redirectHandler);
+        };
       };
     }
-    var shouldWarn = (code) => !warned.has(code);
-    var isPosInt = (n) => n && n === Math.floor(n) && n > 0 && isFinite(n);
-    var getUintArray = (max) => !isPosInt(max) ? null : max <= Math.pow(2, 8) ? Uint8Array : max <= Math.pow(2, 16) ? Uint16Array : max <= Math.pow(2, 32) ? Uint32Array : max <= Number.MAX_SAFE_INTEGER ? ZeroArray : null;
-    var ZeroArray = class extends Array {
-      constructor(size) {
-        super(size);
-        this.fill(0);
-      }
-    };
-    var Stack = class _Stack {
-      heap;
-      length;
-      // private constructor
-      static #constructing = false;
-      static create(max) {
-        const HeapCls = getUintArray(max);
-        if (!HeapCls)
-          return [];
-        _Stack.#constructing = true;
-        const s = new _Stack(max, HeapCls);
-        _Stack.#constructing = false;
-        return s;
-      }
-      constructor(max, HeapCls) {
-        if (!_Stack.#constructing) {
-          throw new TypeError("instantiate Stack using Stack.create(n)");
-        }
-        this.heap = new HeapCls(max);
-        this.length = 0;
-      }
-      push(n) {
-        this.heap[this.length++] = n;
-      }
-      pop() {
-        return this.heap[--this.length];
-      }
-    };
-    var LRUCache = class _LRUCache {
-      // options that cannot be changed without disaster
-      #max;
-      #maxSize;
-      #dispose;
-      #onInsert;
-      #disposeAfter;
-      #fetchMethod;
-      #memoMethod;
-      /**
-       * {@link LRUCache.OptionsBase.ttl}
-       */
-      ttl;
-      /**
-       * {@link LRUCache.OptionsBase.ttlResolution}
-       */
-      ttlResolution;
-      /**
-       * {@link LRUCache.OptionsBase.ttlAutopurge}
-       */
-      ttlAutopurge;
-      /**
-       * {@link LRUCache.OptionsBase.updateAgeOnGet}
-       */
-      updateAgeOnGet;
-      /**
-       * {@link LRUCache.OptionsBase.updateAgeOnHas}
-       */
-      updateAgeOnHas;
-      /**
-       * {@link LRUCache.OptionsBase.allowStale}
-       */
-      allowStale;
-      /**
-       * {@link LRUCache.OptionsBase.noDisposeOnSet}
-       */
-      noDisposeOnSet;
-      /**
-       * {@link LRUCache.OptionsBase.noUpdateTTL}
-       */
-      noUpdateTTL;
-      /**
-       * {@link LRUCache.OptionsBase.maxEntrySize}
-       */
-      maxEntrySize;
-      /**
-       * {@link LRUCache.OptionsBase.sizeCalculation}
-       */
-      sizeCalculation;
-      /**
-       * {@link LRUCache.OptionsBase.noDeleteOnFetchRejection}
-       */
-      noDeleteOnFetchRejection;
-      /**
-       * {@link LRUCache.OptionsBase.noDeleteOnStaleGet}
-       */
-      noDeleteOnStaleGet;
-      /**
-       * {@link LRUCache.OptionsBase.allowStaleOnFetchAbort}
-       */
-      allowStaleOnFetchAbort;
-      /**
-       * {@link LRUCache.OptionsBase.allowStaleOnFetchRejection}
-       */
-      allowStaleOnFetchRejection;
-      /**
-       * {@link LRUCache.OptionsBase.ignoreFetchAbort}
-       */
-      ignoreFetchAbort;
-      // computed properties
-      #size;
-      #calculatedSize;
-      #keyMap;
-      #keyList;
-      #valList;
-      #next;
-      #prev;
-      #head;
-      #tail;
-      #free;
-      #disposed;
-      #sizes;
-      #starts;
-      #ttls;
-      #hasDispose;
-      #hasFetchMethod;
-      #hasDisposeAfter;
-      #hasOnInsert;
-      /**
-       * Do not call this method unless you need to inspect the
-       * inner workings of the cache.  If anything returned by this
-       * object is modified in any way, strange breakage may occur.
-       *
-       * These fields are private for a reason!
-       *
-       * @internal
-       */
-      static unsafeExposeInternals(c) {
-        return {
-          // properties
-          starts: c.#starts,
-          ttls: c.#ttls,
-          sizes: c.#sizes,
-          keyMap: c.#keyMap,
-          keyList: c.#keyList,
-          valList: c.#valList,
-          next: c.#next,
-          prev: c.#prev,
-          get head() {
-            return c.#head;
-          },
-          get tail() {
-            return c.#tail;
-          },
-          free: c.#free,
-          // methods
-          isBackgroundFetch: (p) => c.#isBackgroundFetch(p),
-          backgroundFetch: (k, index, options, context2) => c.#backgroundFetch(k, index, options, context2),
-          moveToTail: (index) => c.#moveToTail(index),
-          indexes: (options) => c.#indexes(options),
-          rindexes: (options) => c.#rindexes(options),
-          isStale: (index) => c.#isStale(index)
-        };
-      }
-      // Protected read-only members
-      /**
-       * {@link LRUCache.OptionsBase.max} (read-only)
-       */
-      get max() {
-        return this.#max;
-      }
-      /**
-       * {@link LRUCache.OptionsBase.maxSize} (read-only)
-       */
-      get maxSize() {
-        return this.#maxSize;
-      }
-      /**
-       * The total computed size of items in the cache (read-only)
-       */
-      get calculatedSize() {
-        return this.#calculatedSize;
-      }
-      /**
-       * The number of items stored in the cache (read-only)
-       */
-      get size() {
-        return this.#size;
-      }
-      /**
-       * {@link LRUCache.OptionsBase.fetchMethod} (read-only)
-       */
-      get fetchMethod() {
-        return this.#fetchMethod;
-      }
-      get memoMethod() {
-        return this.#memoMethod;
-      }
-      /**
-       * {@link LRUCache.OptionsBase.dispose} (read-only)
-       */
-      get dispose() {
-        return this.#dispose;
-      }
-      /**
-       * {@link LRUCache.OptionsBase.onInsert} (read-only)
-       */
-      get onInsert() {
-        return this.#onInsert;
+    module2.exports = createRedirectInterceptor;
+  }
+});
+
+// node_modules/undici/lib/llhttp/llhttp-wasm.js
+var require_llhttp_wasm3 = __commonJS({
+  "node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
+    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8=";
+  }
+});
+
+// node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
+var require_llhttp_simd_wasm3 = __commonJS({
+  "node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
+    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==";
+  }
+});
+
+// node_modules/undici/lib/client.js
+var require_client3 = __commonJS({
+  "node_modules/undici/lib/client.js"(exports2, module2) {
+    "use strict";
+    var assert = require("assert");
+    var net = require("net");
+    var http = require("http");
+    var { pipeline } = require("stream");
+    var util = require_util23();
+    var timers = require_timers3();
+    var Request = require_request5();
+    var DispatcherBase = require_dispatcher_base3();
+    var {
+      RequestContentLengthMismatchError,
+      ResponseContentLengthMismatchError,
+      InvalidArgumentError,
+      RequestAbortedError,
+      HeadersTimeoutError,
+      HeadersOverflowError,
+      SocketError,
+      InformationalError,
+      BodyTimeoutError,
+      HTTPParserError,
+      ResponseExceededMaxSizeError,
+      ClientDestroyedError
+    } = require_errors5();
+    var buildConnector = require_connect3();
+    var {
+      kUrl,
+      kReset,
+      kServerName,
+      kClient,
+      kBusy,
+      kParser,
+      kConnect,
+      kBlocking,
+      kResuming,
+      kRunning,
+      kPending,
+      kSize,
+      kWriting,
+      kQueue,
+      kConnected,
+      kConnecting,
+      kNeedDrain,
+      kNoRef,
+      kKeepAliveDefaultTimeout,
+      kHostHeader,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kPipelining,
+      kSocket,
+      kKeepAliveTimeoutValue,
+      kMaxHeadersSize,
+      kKeepAliveMaxTimeout,
+      kKeepAliveTimeoutThreshold,
+      kHeadersTimeout,
+      kBodyTimeout,
+      kStrictContentLength,
+      kConnector,
+      kMaxRedirections,
+      kMaxRequests,
+      kCounter,
+      kClose,
+      kDestroy,
+      kDispatch,
+      kInterceptors,
+      kLocalAddress,
+      kMaxResponseSize,
+      kHTTPConnVersion,
+      // HTTP2
+      kHost,
+      kHTTP2Session,
+      kHTTP2SessionState,
+      kHTTP2BuildRequest,
+      kHTTP2CopyHeaders,
+      kHTTP1BuildRequest
+    } = require_symbols11();
+    var http2;
+    try {
+      http2 = require("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;
+    var h2ExperimentalWarned = false;
+    var FastBuffer = Buffer[Symbol.species];
+    var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
+    var channels = {};
+    try {
+      const diagnosticsChannel = require("diagnostics_channel");
+      channels.sendHeaders = diagnosticsChannel.channel("undici:client:sendHeaders");
+      channels.beforeConnect = diagnosticsChannel.channel("undici:client:beforeConnect");
+      channels.connectError = diagnosticsChannel.channel("undici:client:connectError");
+      channels.connected = diagnosticsChannel.channel("undici:client:connected");
+    } catch {
+      channels.sendHeaders = { hasSubscribers: false };
+      channels.beforeConnect = { hasSubscribers: false };
+      channels.connectError = { hasSubscribers: false };
+      channels.connected = { hasSubscribers: false };
+    }
+    var Client = class extends DispatcherBase {
       /**
-       * {@link LRUCache.OptionsBase.disposeAfter} (read-only)
+       *
+       * @param {string|URL} url
+       * @param {import('../types/client').Client.Options} options
        */
-      get disposeAfter() {
-        return this.#disposeAfter;
-      }
-      constructor(options) {
-        const { max = 0, ttl, ttlResolution = 1, ttlAutopurge, updateAgeOnGet, updateAgeOnHas, allowStale, dispose, onInsert, disposeAfter, noDisposeOnSet, noUpdateTTL, maxSize = 0, maxEntrySize = 0, sizeCalculation, fetchMethod, memoMethod, noDeleteOnFetchRejection, noDeleteOnStaleGet, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort } = options;
-        if (max !== 0 && !isPosInt(max)) {
-          throw new TypeError("max option must be a nonnegative integer");
+      constructor(url, {
+        interceptors,
+        maxHeaderSize,
+        headersTimeout,
+        socketTimeout,
+        requestTimeout,
+        connectTimeout,
+        bodyTimeout,
+        idleTimeout,
+        keepAlive,
+        keepAliveTimeout,
+        maxKeepAliveTimeout,
+        keepAliveMaxTimeout,
+        keepAliveTimeoutThreshold,
+        socketPath,
+        pipelining,
+        tls,
+        strictContentLength,
+        maxCachedSessions,
+        maxRedirections,
+        connect: connect2,
+        maxRequestsPerClient,
+        localAddress,
+        maxResponseSize,
+        autoSelectFamily,
+        autoSelectFamilyAttemptTimeout,
+        // h2
+        allowH2,
+        maxConcurrentStreams
+      } = {}) {
+        super();
+        if (keepAlive !== void 0) {
+          throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead");
         }
-        const UintArray = max ? getUintArray(max) : Array;
-        if (!UintArray) {
-          throw new Error("invalid max value: " + max);
+        if (socketTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");
         }
-        this.#max = max;
-        this.#maxSize = maxSize;
-        this.maxEntrySize = maxEntrySize || this.#maxSize;
-        this.sizeCalculation = sizeCalculation;
-        if (this.sizeCalculation) {
-          if (!this.#maxSize && !this.maxEntrySize) {
-            throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");
-          }
-          if (typeof this.sizeCalculation !== "function") {
-            throw new TypeError("sizeCalculation set to non-function");
-          }
+        if (requestTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");
         }
-        if (memoMethod !== void 0 && typeof memoMethod !== "function") {
-          throw new TypeError("memoMethod must be a function if defined");
+        if (idleTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported idleTimeout, use keepAliveTimeout instead");
         }
-        this.#memoMethod = memoMethod;
-        if (fetchMethod !== void 0 && typeof fetchMethod !== "function") {
-          throw new TypeError("fetchMethod must be a function if specified");
+        if (maxKeepAliveTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");
         }
-        this.#fetchMethod = fetchMethod;
-        this.#hasFetchMethod = !!fetchMethod;
-        this.#keyMap = /* @__PURE__ */ new Map();
-        this.#keyList = new Array(max).fill(void 0);
-        this.#valList = new Array(max).fill(void 0);
-        this.#next = new UintArray(max);
-        this.#prev = new UintArray(max);
-        this.#head = 0;
-        this.#tail = 0;
-        this.#free = Stack.create(max);
-        this.#size = 0;
-        this.#calculatedSize = 0;
-        if (typeof dispose === "function") {
-          this.#dispose = dispose;
+        if (maxHeaderSize != null && !Number.isFinite(maxHeaderSize)) {
+          throw new InvalidArgumentError("invalid maxHeaderSize");
         }
-        if (typeof onInsert === "function") {
-          this.#onInsert = onInsert;
+        if (socketPath != null && typeof socketPath !== "string") {
+          throw new InvalidArgumentError("invalid socketPath");
         }
-        if (typeof disposeAfter === "function") {
-          this.#disposeAfter = disposeAfter;
-          this.#disposed = [];
-        } else {
-          this.#disposeAfter = void 0;
-          this.#disposed = void 0;
+        if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) {
+          throw new InvalidArgumentError("invalid connectTimeout");
         }
-        this.#hasDispose = !!this.#dispose;
-        this.#hasOnInsert = !!this.#onInsert;
-        this.#hasDisposeAfter = !!this.#disposeAfter;
-        this.noDisposeOnSet = !!noDisposeOnSet;
-        this.noUpdateTTL = !!noUpdateTTL;
-        this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection;
-        this.allowStaleOnFetchRejection = !!allowStaleOnFetchRejection;
-        this.allowStaleOnFetchAbort = !!allowStaleOnFetchAbort;
-        this.ignoreFetchAbort = !!ignoreFetchAbort;
-        if (this.maxEntrySize !== 0) {
-          if (this.#maxSize !== 0) {
-            if (!isPosInt(this.#maxSize)) {
-              throw new TypeError("maxSize must be a positive integer if specified");
-            }
-          }
-          if (!isPosInt(this.maxEntrySize)) {
-            throw new TypeError("maxEntrySize must be a positive integer if specified");
-          }
-          this.#initializeSizeTracking();
+        if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) {
+          throw new InvalidArgumentError("invalid keepAliveTimeout");
         }
-        this.allowStale = !!allowStale;
-        this.noDeleteOnStaleGet = !!noDeleteOnStaleGet;
-        this.updateAgeOnGet = !!updateAgeOnGet;
-        this.updateAgeOnHas = !!updateAgeOnHas;
-        this.ttlResolution = isPosInt(ttlResolution) || ttlResolution === 0 ? ttlResolution : 1;
-        this.ttlAutopurge = !!ttlAutopurge;
-        this.ttl = ttl || 0;
-        if (this.ttl) {
-          if (!isPosInt(this.ttl)) {
-            throw new TypeError("ttl must be a positive integer if specified");
-          }
-          this.#initializeTTLTracking();
+        if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) {
+          throw new InvalidArgumentError("invalid keepAliveMaxTimeout");
         }
-        if (this.#max === 0 && this.ttl === 0 && this.#maxSize === 0) {
-          throw new TypeError("At least one of max, maxSize, or ttl is required");
+        if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) {
+          throw new InvalidArgumentError("invalid keepAliveTimeoutThreshold");
         }
-        if (!this.ttlAutopurge && !this.#max && !this.#maxSize) {
-          const code = "LRU_CACHE_UNBOUNDED";
-          if (shouldWarn(code)) {
-            warned.add(code);
-            const msg = "TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.";
-            emitWarning(msg, "UnboundedCacheWarning", code, _LRUCache);
-          }
+        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 possitive integer, greater than 0");
+        }
+        if (typeof connect2 !== "function") {
+          connect2 = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect2
+          });
         }
+        this[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client) ? interceptors.Client : [createRedirectInterceptor({ maxRedirections })];
+        this[kUrl] = util.parseOrigin(url);
+        this[kConnector] = connect2;
+        this[kSocket] = null;
+        this[kPipelining] = pipelining != null ? pipelining : 1;
+        this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize;
+        this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;
+        this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;
+        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold;
+        this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
+        this[kServerName] = null;
+        this[kLocalAddress] = localAddress != null ? localAddress : null;
+        this[kResuming] = 0;
+        this[kNeedDrain] = 0;
+        this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r
+`;
+        this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5;
+        this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5;
+        this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength;
+        this[kMaxRedirections] = maxRedirections;
+        this[kMaxRequests] = maxRequestsPerClient;
+        this[kClosedResolve] = null;
+        this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
+        this[kHTTPConnVersion] = "h1";
+        this[kHTTP2Session] = null;
+        this[kHTTP2SessionState] = !allowH2 ? null : {
+          // streams: null, // Fixed queue of streams - For future support of `push`
+          openStreams: 0,
+          // Keep track of them to decide wether or not unref the session
+          maxConcurrentStreams: maxConcurrentStreams != null ? maxConcurrentStreams : 100
+          // Max peerConcurrentStreams for a Node h2 server
+        };
+        this[kHost] = `${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}`;
+        this[kQueue] = [];
+        this[kRunningIdx] = 0;
+        this[kPendingIdx] = 0;
       }
-      /**
-       * Return the number of ms left in the item's TTL. If item is not in cache,
-       * returns `0`. Returns `Infinity` if item is in cache without a defined TTL.
-       */
-      getRemainingTTL(key) {
-        return this.#keyMap.has(key) ? Infinity : 0;
+      get pipelining() {
+        return this[kPipelining];
       }
-      #initializeTTLTracking() {
-        const ttls = new ZeroArray(this.#max);
-        const starts = new ZeroArray(this.#max);
-        this.#ttls = ttls;
-        this.#starts = starts;
-        this.#setItemTTL = (index, ttl, start = perf.now()) => {
-          starts[index] = ttl !== 0 ? start : 0;
-          ttls[index] = ttl;
-          if (ttl !== 0 && this.ttlAutopurge) {
-            const t = setTimeout(() => {
-              if (this.#isStale(index)) {
-                this.#delete(this.#keyList[index], "expire");
-              }
-            }, ttl + 1);
-            if (t.unref) {
-              t.unref();
-            }
-          }
-        };
-        this.#updateItemAge = (index) => {
-          starts[index] = ttls[index] !== 0 ? perf.now() : 0;
-        };
-        this.#statusTTL = (status, index) => {
-          if (ttls[index]) {
-            const ttl = ttls[index];
-            const start = starts[index];
-            if (!ttl || !start)
-              return;
-            status.ttl = ttl;
-            status.start = start;
-            status.now = cachedNow || getNow();
-            const age = status.now - start;
-            status.remainingTTL = ttl - age;
-          }
-        };
-        let cachedNow = 0;
-        const getNow = () => {
-          const n = perf.now();
-          if (this.ttlResolution > 0) {
-            cachedNow = n;
-            const t = setTimeout(() => cachedNow = 0, this.ttlResolution);
-            if (t.unref) {
-              t.unref();
-            }
-          }
-          return n;
-        };
-        this.getRemainingTTL = (key) => {
-          const index = this.#keyMap.get(key);
-          if (index === void 0) {
-            return 0;
-          }
-          const ttl = ttls[index];
-          const start = starts[index];
-          if (!ttl || !start) {
-            return Infinity;
-          }
-          const age = (cachedNow || getNow()) - start;
-          return ttl - age;
-        };
-        this.#isStale = (index) => {
-          const s = starts[index];
-          const t = ttls[index];
-          return !!t && !!s && (cachedNow || getNow()) - s > t;
-        };
+      set pipelining(value) {
+        this[kPipelining] = value;
+        resume(this, true);
       }
-      // conditionally set private methods related to TTL
-      #updateItemAge = () => {
-      };
-      #statusTTL = () => {
-      };
-      #setItemTTL = () => {
-      };
-      /* c8 ignore stop */
-      #isStale = () => false;
-      #initializeSizeTracking() {
-        const sizes = new ZeroArray(this.#max);
-        this.#calculatedSize = 0;
-        this.#sizes = sizes;
-        this.#removeItemSize = (index) => {
-          this.#calculatedSize -= sizes[index];
-          sizes[index] = 0;
-        };
-        this.#requireSize = (k, v, size, sizeCalculation) => {
-          if (this.#isBackgroundFetch(v)) {
-            return 0;
-          }
-          if (!isPosInt(size)) {
-            if (sizeCalculation) {
-              if (typeof sizeCalculation !== "function") {
-                throw new TypeError("sizeCalculation must be a function");
-              }
-              size = sizeCalculation(v, k);
-              if (!isPosInt(size)) {
-                throw new TypeError("sizeCalculation return invalid (expect positive integer)");
-              }
-            } else {
-              throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");
-            }
-          }
-          return size;
-        };
-        this.#addItemSize = (index, size, status) => {
-          sizes[index] = size;
-          if (this.#maxSize) {
-            const maxSize = this.#maxSize - sizes[index];
-            while (this.#calculatedSize > maxSize) {
-              this.#evict(true);
-            }
-          }
-          this.#calculatedSize += sizes[index];
-          if (status) {
-            status.entrySize = size;
-            status.totalCalculatedSize = this.#calculatedSize;
-          }
-        };
+      get [kPending]() {
+        return this[kQueue].length - this[kPendingIdx];
       }
-      #removeItemSize = (_i) => {
-      };
-      #addItemSize = (_i, _s, _st) => {
-      };
-      #requireSize = (_k, _v, size, sizeCalculation) => {
-        if (size || sizeCalculation) {
-          throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");
-        }
-        return 0;
-      };
-      *#indexes({ allowStale = this.allowStale } = {}) {
-        if (this.#size) {
-          for (let i = this.#tail; true; ) {
-            if (!this.#isValidIndex(i)) {
-              break;
-            }
-            if (allowStale || !this.#isStale(i)) {
-              yield i;
-            }
-            if (i === this.#head) {
-              break;
-            } else {
-              i = this.#prev[i];
-            }
-          }
-        }
+      get [kRunning]() {
+        return this[kPendingIdx] - this[kRunningIdx];
       }
-      *#rindexes({ allowStale = this.allowStale } = {}) {
-        if (this.#size) {
-          for (let i = this.#head; true; ) {
-            if (!this.#isValidIndex(i)) {
-              break;
-            }
-            if (allowStale || !this.#isStale(i)) {
-              yield i;
-            }
-            if (i === this.#tail) {
-              break;
-            } else {
-              i = this.#next[i];
-            }
-          }
-        }
+      get [kSize]() {
+        return this[kQueue].length - this[kRunningIdx];
       }
-      #isValidIndex(index) {
-        return index !== void 0 && this.#keyMap.get(this.#keyList[index]) === index;
+      get [kConnected]() {
+        return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed;
+      }
+      get [kBusy]() {
+        const socket = this[kSocket];
+        return socket && (socket[kReset] || socket[kWriting] || socket[kBlocking]) || this[kSize] >= (this[kPipelining] || 1) || this[kPending] > 0;
       }
-      /**
-       * Return a generator yielding `[key, value]` pairs,
-       * in order from most recently used to least recently used.
-       */
-      *entries() {
-        for (const i of this.#indexes()) {
-          if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield [this.#keyList[i], this.#valList[i]];
-          }
-        }
+      /* istanbul ignore: only used for test */
+      [kConnect](cb) {
+        connect(this);
+        this.once("connect", cb);
       }
-      /**
-       * Inverse order version of {@link LRUCache.entries}
-       *
-       * Return a generator yielding `[key, value]` pairs,
-       * in order from least recently used to most recently used.
-       */
-      *rentries() {
-        for (const i of this.#rindexes()) {
-          if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield [this.#keyList[i], this.#valList[i]];
-          }
+      [kDispatch](opts, handler2) {
+        const origin = opts.origin || this[kUrl].origin;
+        const request2 = this[kHTTPConnVersion] === "h2" ? Request[kHTTP2BuildRequest](origin, opts, handler2) : Request[kHTTP1BuildRequest](origin, opts, handler2);
+        this[kQueue].push(request2);
+        if (this[kResuming]) {
+        } else if (util.bodyLength(request2.body) == null && util.isIterable(request2.body)) {
+          this[kResuming] = 1;
+          process.nextTick(resume, this);
+        } else {
+          resume(this, true);
         }
-      }
-      /**
-       * Return a generator yielding the keys in the cache,
-       * in order from most recently used to least recently used.
-       */
-      *keys() {
-        for (const i of this.#indexes()) {
-          const k = this.#keyList[i];
-          if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield k;
-          }
+        if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
+          this[kNeedDrain] = 2;
         }
+        return this[kNeedDrain] < 2;
       }
-      /**
-       * Inverse order version of {@link LRUCache.keys}
-       *
-       * Return a generator yielding the keys in the cache,
-       * in order from least recently used to most recently used.
-       */
-      *rkeys() {
-        for (const i of this.#rindexes()) {
-          const k = this.#keyList[i];
-          if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield k;
+      async [kClose]() {
+        return new Promise((resolve2) => {
+          if (!this[kSize]) {
+            resolve2(null);
+          } else {
+            this[kClosedResolve] = resolve2;
           }
-        }
+        });
       }
-      /**
-       * Return a generator yielding the values in the cache,
-       * in order from most recently used to least recently used.
-       */
-      *values() {
-        for (const i of this.#indexes()) {
-          const v = this.#valList[i];
-          if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield this.#valList[i];
+      async [kDestroy](err) {
+        return new Promise((resolve2) => {
+          const requests = this[kQueue].splice(this[kPendingIdx]);
+          for (let i = 0; i < requests.length; i++) {
+            const request2 = requests[i];
+            errorRequest2(this, request2, err);
           }
-        }
-      }
-      /**
-       * Inverse order version of {@link LRUCache.values}
-       *
-       * Return a generator yielding the values in the cache,
-       * in order from least recently used to most recently used.
-       */
-      *rvalues() {
-        for (const i of this.#rindexes()) {
-          const v = this.#valList[i];
-          if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield this.#valList[i];
+          const callback = () => {
+            if (this[kClosedResolve]) {
+              this[kClosedResolve]();
+              this[kClosedResolve] = null;
+            }
+            resolve2();
+          };
+          if (this[kHTTP2Session] != null) {
+            util.destroy(this[kHTTP2Session], err);
+            this[kHTTP2Session] = null;
+            this[kHTTP2SessionState] = null;
           }
-        }
-      }
-      /**
-       * Iterating over the cache itself yields the same results as
-       * {@link LRUCache.entries}
-       */
-      [Symbol.iterator]() {
-        return this.entries();
-      }
-      /**
-       * A String value that is used in the creation of the default string
-       * description of an object. Called by the built-in method
-       * `Object.prototype.toString`.
-       */
-      [Symbol.toStringTag] = "LRUCache";
-      /**
-       * Find a value for which the supplied fn method returns a truthy value,
-       * similar to `Array.find()`. fn is called as `fn(value, key, cache)`.
-       */
-      find(fn, getOptions = {}) {
-        for (const i of this.#indexes()) {
-          const v = this.#valList[i];
-          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-          if (value === void 0)
-            continue;
-          if (fn(value, this.#keyList[i], this)) {
-            return this.get(this.#keyList[i], getOptions);
+          if (!this[kSocket]) {
+            queueMicrotask(callback);
+          } else {
+            util.destroy(this[kSocket].on("close", callback), err);
           }
-        }
+          resume(this);
+        });
       }
-      /**
-       * Call the supplied function on each item in the cache, in order from most
-       * recently used to least recently used.
-       *
-       * `fn` is called as `fn(value, key, cache)`.
-       *
-       * If `thisp` is provided, function will be called in the `this`-context of
-       * the provided object, or the cache if no `thisp` object is provided.
-       *
-       * Does not update age or recenty of use, or iterate over stale values.
-       */
-      forEach(fn, thisp = this) {
-        for (const i of this.#indexes()) {
-          const v = this.#valList[i];
-          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-          if (value === void 0)
-            continue;
-          fn.call(thisp, value, this.#keyList[i], this);
-        }
+    };
+    function onHttp2SessionError(err) {
+      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+      this[kSocket][kError] = err;
+      onError(this[kClient], err);
+    }
+    function onHttp2FrameError(type2, code, id) {
+      const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
+      if (id === 0) {
+        this[kSocket][kError] = err;
+        onError(this[kClient], err);
       }
-      /**
-       * The same as {@link LRUCache.forEach} but items are iterated over in
-       * reverse order.  (ie, less recently used items are iterated over first.)
-       */
-      rforEach(fn, thisp = this) {
-        for (const i of this.#rindexes()) {
-          const v = this.#valList[i];
-          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-          if (value === void 0)
-            continue;
-          fn.call(thisp, value, this.#keyList[i], this);
+    }
+    function onHttp2SessionEnd() {
+      util.destroy(this, new SocketError("other side closed"));
+      util.destroy(this[kSocket], new SocketError("other side closed"));
+    }
+    function onHTTP2GoAway(code) {
+      const client = this[kClient];
+      const err = new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`);
+      client[kSocket] = null;
+      client[kHTTP2Session] = null;
+      if (client.destroyed) {
+        assert(this[kPending] === 0);
+        const requests = client[kQueue].splice(client[kRunningIdx]);
+        for (let i = 0; i < requests.length; i++) {
+          const request2 = requests[i];
+          errorRequest2(this, request2, err);
         }
+      } else if (client[kRunning] > 0) {
+        const request2 = client[kQueue][client[kRunningIdx]];
+        client[kQueue][client[kRunningIdx]++] = null;
+        errorRequest2(client, request2, err);
       }
-      /**
-       * Delete any stale entries. Returns true if anything was removed,
-       * false otherwise.
-       */
-      purgeStale() {
-        let deleted = false;
-        for (const i of this.#rindexes({ allowStale: true })) {
-          if (this.#isStale(i)) {
-            this.#delete(this.#keyList[i], "expire");
-            deleted = true;
-          }
-        }
-        return deleted;
+      client[kPendingIdx] = client[kRunningIdx];
+      assert(client[kRunning] === 0);
+      client.emit(
+        "disconnect",
+        client[kUrl],
+        [client],
+        err
+      );
+      resume(client);
+    }
+    var constants = require_constants21();
+    var createRedirectInterceptor = require_redirectInterceptor();
+    var EMPTY_BUF = Buffer.alloc(0);
+    async function lazyllhttp() {
+      const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm3() : void 0;
+      let mod;
+      try {
+        mod = await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm3(), "base64"));
+      } catch (e) {
+        mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require_llhttp_wasm3(), "base64"));
       }
-      /**
-       * Get the extended info about a given entry, to get its value, size, and
-       * TTL info simultaneously. Returns `undefined` if the key is not present.
-       *
-       * Unlike {@link LRUCache#dump}, which is designed to be portable and survive
-       * serialization, the `start` value is always the current timestamp, and the
-       * `ttl` is a calculated remaining time to live (negative if expired).
-       *
-       * Always returns stale values, if their info is found in the cache, so be
-       * sure to check for expirations (ie, a negative {@link LRUCache.Entry#ttl})
-       * if relevant.
-       */
-      info(key) {
-        const i = this.#keyMap.get(key);
-        if (i === void 0)
-          return void 0;
-        const v = this.#valList[i];
-        const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-        if (value === void 0)
-          return void 0;
-        const entry = { value };
-        if (this.#ttls && this.#starts) {
-          const ttl = this.#ttls[i];
-          const start = this.#starts[i];
-          if (ttl && start) {
-            const remain = ttl - (perf.now() - start);
-            entry.ttl = remain;
-            entry.start = Date.now();
+      return await WebAssembly.instantiate(mod, {
+        env: {
+          /* eslint-disable camelcase */
+          wasm_on_url: (p, at, len) => {
+            return 0;
+          },
+          wasm_on_status: (p, at, len) => {
+            assert.strictEqual(currentParser.ptr, p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_message_begin: (p) => {
+            assert.strictEqual(currentParser.ptr, p);
+            return currentParser.onMessageBegin() || 0;
+          },
+          wasm_on_header_field: (p, at, len) => {
+            assert.strictEqual(currentParser.ptr, p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_header_value: (p, at, len) => {
+            assert.strictEqual(currentParser.ptr, p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
+            assert.strictEqual(currentParser.ptr, p);
+            return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;
+          },
+          wasm_on_body: (p, at, len) => {
+            assert.strictEqual(currentParser.ptr, p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_message_complete: (p) => {
+            assert.strictEqual(currentParser.ptr, p);
+            return currentParser.onMessageComplete() || 0;
           }
+          /* eslint-enable camelcase */
         }
-        if (this.#sizes) {
-          entry.size = this.#sizes[i];
-        }
-        return entry;
+      });
+    }
+    var llhttpInstance = null;
+    var llhttpPromise = lazyllhttp();
+    llhttpPromise.catch();
+    var currentParser = null;
+    var currentBufferRef = null;
+    var currentBufferSize = 0;
+    var currentBufferPtr = null;
+    var TIMEOUT_HEADERS = 1;
+    var TIMEOUT_BODY = 2;
+    var TIMEOUT_IDLE = 3;
+    var Parser = class {
+      constructor(client, socket, { exports: 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];
       }
-      /**
-       * Return an array of [key, {@link LRUCache.Entry}] tuples which can be
-       * passed to {@link LRUCache#load}.
-       *
-       * The `start` fields are calculated relative to a portable `Date.now()`
-       * timestamp, even if `performance.now()` is available.
-       *
-       * Stale entries are always included in the `dump`, even if
-       * {@link LRUCache.OptionsBase.allowStale} is false.
-       *
-       * Note: this returns an actual array, not a generator, so it can be more
-       * easily passed around.
-       */
-      dump() {
-        const arr = [];
-        for (const i of this.#indexes({ allowStale: true })) {
-          const key = this.#keyList[i];
-          const v = this.#valList[i];
-          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-          if (value === void 0 || key === void 0)
-            continue;
-          const entry = { value };
-          if (this.#ttls && this.#starts) {
-            entry.ttl = this.#ttls[i];
-            const age = perf.now() - this.#starts[i];
-            entry.start = Math.floor(Date.now() - age);
-          }
-          if (this.#sizes) {
-            entry.size = this.#sizes[i];
+      setTimeout(value, type2) {
+        this.timeoutType = type2;
+        if (value !== this.timeoutValue) {
+          timers.clearTimeout(this.timeout);
+          if (value) {
+            this.timeout = timers.setTimeout(onParserTimeout, value, this);
+            if (this.timeout.unref) {
+              this.timeout.unref();
+            }
+          } else {
+            this.timeout = null;
           }
-          arr.unshift([key, entry]);
-        }
-        return arr;
-      }
-      /**
-       * Reset the cache and load in the items in entries in the order listed.
-       *
-       * The shape of the resulting cache may be different if the same options are
-       * not used in both caches.
-       *
-       * The `start` fields are assumed to be calculated relative to a portable
-       * `Date.now()` timestamp, even if `performance.now()` is available.
-       */
-      load(arr) {
-        this.clear();
-        for (const [key, entry] of arr) {
-          if (entry.start) {
-            const age = Date.now() - entry.start;
-            entry.start = perf.now() - age;
+          this.timeoutValue = value;
+        } else if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
           }
-          this.set(key, entry.value, entry);
         }
       }
-      /**
-       * Add a value to the cache.
-       *
-       * Note: if `undefined` is specified as a value, this is an alias for
-       * {@link LRUCache#delete}
-       *
-       * Fields on the {@link LRUCache.SetOptions} options param will override
-       * their corresponding values in the constructor options for the scope
-       * of this single `set()` operation.
-       *
-       * If `start` is provided, then that will set the effective start
-       * time for the TTL calculation. Note that this must be a previous
-       * value of `performance.now()` if supported, or a previous value of
-       * `Date.now()` if not.
-       *
-       * Options object may also include `size`, which will prevent
-       * calling the `sizeCalculation` function and just use the specified
-       * number if it is a positive integer, and `noDisposeOnSet` which
-       * will prevent calling a `dispose` function in the case of
-       * overwrites.
-       *
-       * If the `size` (or return value of `sizeCalculation`) for a given
-       * entry is greater than `maxEntrySize`, then the item will not be
-       * added to the cache.
-       *
-       * Will update the recency of the entry.
-       *
-       * If the value is `undefined`, then this is an alias for
-       * `cache.delete(key)`. `undefined` is never stored in the cache.
-       */
-      set(k, v, setOptions = {}) {
-        if (v === void 0) {
-          this.delete(k);
-          return this;
-        }
-        const { ttl = this.ttl, start, noDisposeOnSet = this.noDisposeOnSet, sizeCalculation = this.sizeCalculation, status } = setOptions;
-        let { noUpdateTTL = this.noUpdateTTL } = setOptions;
-        const size = this.#requireSize(k, v, setOptions.size || 0, sizeCalculation);
-        if (this.maxEntrySize && size > this.maxEntrySize) {
-          if (status) {
-            status.set = "miss";
-            status.maxEntrySizeExceeded = true;
-          }
-          this.#delete(k, "set");
-          return this;
+      resume() {
+        if (this.socket.destroyed || !this.paused) {
+          return;
         }
-        let index = this.#size === 0 ? void 0 : this.#keyMap.get(k);
-        if (index === void 0) {
-          index = this.#size === 0 ? this.#tail : this.#free.length !== 0 ? this.#free.pop() : this.#size === this.#max ? this.#evict(false) : this.#size;
-          this.#keyList[index] = k;
-          this.#valList[index] = v;
-          this.#keyMap.set(k, index);
-          this.#next[this.#tail] = index;
-          this.#prev[index] = this.#tail;
-          this.#tail = index;
-          this.#size++;
-          this.#addItemSize(index, size, status);
-          if (status)
-            status.set = "add";
-          noUpdateTTL = false;
-          if (this.#hasOnInsert) {
-            this.#onInsert?.(v, k, "add");
-          }
-        } else {
-          this.#moveToTail(index);
-          const oldVal = this.#valList[index];
-          if (v !== oldVal) {
-            if (this.#hasFetchMethod && this.#isBackgroundFetch(oldVal)) {
-              oldVal.__abortController.abort(new Error("replaced"));
-              const { __staleWhileFetching: s } = oldVal;
-              if (s !== void 0 && !noDisposeOnSet) {
-                if (this.#hasDispose) {
-                  this.#dispose?.(s, k, "set");
-                }
-                if (this.#hasDisposeAfter) {
-                  this.#disposed?.push([s, k, "set"]);
-                }
-              }
-            } else if (!noDisposeOnSet) {
-              if (this.#hasDispose) {
-                this.#dispose?.(oldVal, k, "set");
-              }
-              if (this.#hasDisposeAfter) {
-                this.#disposed?.push([oldVal, k, "set"]);
-              }
-            }
-            this.#removeItemSize(index);
-            this.#addItemSize(index, size, status);
-            this.#valList[index] = v;
-            if (status) {
-              status.set = "replace";
-              const oldValue = oldVal && this.#isBackgroundFetch(oldVal) ? oldVal.__staleWhileFetching : oldVal;
-              if (oldValue !== void 0)
-                status.oldValue = oldValue;
-            }
-          } else if (status) {
-            status.set = "update";
-          }
-          if (this.#hasOnInsert) {
-            this.onInsert?.(v, k, v === oldVal ? "update" : "replace");
+        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();
           }
         }
-        if (ttl !== 0 && !this.#ttls) {
-          this.#initializeTTLTracking();
-        }
-        if (this.#ttls) {
-          if (!noUpdateTTL) {
-            this.#setItemTTL(index, ttl, start);
+        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;
           }
-          if (status)
-            this.#statusTTL(status, index);
+          this.execute(chunk);
         }
-        if (!noDisposeOnSet && this.#hasDisposeAfter && this.#disposed) {
-          const dt = this.#disposed;
-          let task;
-          while (task = dt?.shift()) {
-            this.#disposeAfter?.(...task);
+      }
+      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);
         }
-        return this;
-      }
-      /**
-       * Evict the least recently used item, returning its value or
-       * `undefined` if cache is empty.
-       */
-      pop() {
+        new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data);
         try {
-          while (this.#size) {
-            const val = this.#valList[this.#head];
-            this.#evict(true);
-            if (this.#isBackgroundFetch(val)) {
-              if (val.__staleWhileFetching) {
-                return val.__staleWhileFetching;
-              }
-            } else if (val !== void 0) {
-              return val;
-            }
+          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;
           }
-        } finally {
-          if (this.#hasDisposeAfter && this.#disposed) {
-            const dt = this.#disposed;
-            let task;
-            while (task = dt?.shift()) {
-              this.#disposeAfter?.(...task);
+          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);
         }
       }
-      #evict(free) {
-        const head = this.#head;
-        const k = this.#keyList[head];
-        const v = this.#valList[head];
-        if (this.#hasFetchMethod && this.#isBackgroundFetch(v)) {
-          v.__abortController.abort(new Error("evicted"));
-        } else if (this.#hasDispose || this.#hasDisposeAfter) {
-          if (this.#hasDispose) {
-            this.#dispose?.(v, k, "evict");
-          }
-          if (this.#hasDisposeAfter) {
-            this.#disposed?.push([v, k, "evict"]);
-          }
+      destroy() {
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        this.llhttp.llhttp_free(this.ptr);
+        this.ptr = null;
+        timers.clearTimeout(this.timeout);
+        this.timeout = null;
+        this.timeoutValue = null;
+        this.timeoutType = null;
+        this.paused = false;
+      }
+      onStatus(buf) {
+        this.statusText = buf.toString();
+      }
+      onMessageBegin() {
+        const { socket, client } = this;
+        if (socket.destroyed) {
+          return -1;
         }
-        this.#removeItemSize(head);
-        if (free) {
-          this.#keyList[head] = void 0;
-          this.#valList[head] = void 0;
-          this.#free.push(head);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        if (!request2) {
+          return -1;
         }
-        if (this.#size === 1) {
-          this.#head = this.#tail = 0;
-          this.#free.length = 0;
+      }
+      onHeaderField(buf) {
+        const len = this.headers.length;
+        if ((len & 1) === 0) {
+          this.headers.push(buf);
         } else {
-          this.#head = this.#next[head];
+          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
         }
-        this.#keyMap.delete(k);
-        this.#size--;
-        return head;
+        this.trackHeader(buf.length);
       }
-      /**
-       * Check if a key is in the cache, without updating the recency of use.
-       * Will return false if the item is stale, even though it is technically
-       * in the cache.
-       *
-       * Check if a key is in the cache, without updating the recency of
-       * use. Age is updated if {@link LRUCache.OptionsBase.updateAgeOnHas} is set
-       * to `true` in either the options or the constructor.
-       *
-       * Will return `false` if the item is stale, even though it is technically in
-       * the cache. The difference can be determined (if it matters) by using a
-       * `status` argument, and inspecting the `has` field.
-       *
-       * Will not update item age unless
-       * {@link LRUCache.OptionsBase.updateAgeOnHas} is set.
-       */
-      has(k, hasOptions = {}) {
-        const { updateAgeOnHas = this.updateAgeOnHas, status } = hasOptions;
-        const index = this.#keyMap.get(k);
-        if (index !== void 0) {
-          const v = this.#valList[index];
-          if (this.#isBackgroundFetch(v) && v.__staleWhileFetching === void 0) {
-            return false;
-          }
-          if (!this.#isStale(index)) {
-            if (updateAgeOnHas) {
-              this.#updateItemAge(index);
-            }
-            if (status) {
-              status.has = "hit";
-              this.#statusTTL(status, index);
-            }
-            return true;
-          } else if (status) {
-            status.has = "stale";
-            this.#statusTTL(status, index);
-          }
-        } else if (status) {
-          status.has = "miss";
+      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]);
         }
-        return false;
-      }
-      /**
-       * Like {@link LRUCache#get} but doesn't update recency or delete stale
-       * items.
-       *
-       * Returns `undefined` if the item is stale, unless
-       * {@link LRUCache.OptionsBase.allowStale} is set.
-       */
-      peek(k, peekOptions = {}) {
-        const { allowStale = this.allowStale } = peekOptions;
-        const index = this.#keyMap.get(k);
-        if (index === void 0 || !allowStale && this.#isStale(index)) {
-          return;
+        const key = this.headers[len - 2];
+        if (key.length === 10 && key.toString().toLowerCase() === "keep-alive") {
+          this.keepAlive += buf.toString();
+        } else if (key.length === 10 && key.toString().toLowerCase() === "connection") {
+          this.connection += buf.toString();
+        } else if (key.length === 14 && key.toString().toLowerCase() === "content-length") {
+          this.contentLength += buf.toString();
         }
-        const v = this.#valList[index];
-        return this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+        this.trackHeader(buf.length);
       }
-      #backgroundFetch(k, index, options, context2) {
-        const v = index === void 0 ? void 0 : this.#valList[index];
-        if (this.#isBackgroundFetch(v)) {
-          return v;
-        }
-        const ac = new AC();
-        const { signal } = options;
-        signal?.addEventListener("abort", () => ac.abort(signal.reason), {
-          signal: ac.signal
-        });
-        const fetchOpts = {
-          signal: ac.signal,
-          options,
-          context: context2
-        };
-        const cb = (v2, updateCache = false) => {
-          const { aborted } = ac.signal;
-          const ignoreAbort = options.ignoreFetchAbort && v2 !== void 0;
-          if (options.status) {
-            if (aborted && !updateCache) {
-              options.status.fetchAborted = true;
-              options.status.fetchError = ac.signal.reason;
-              if (ignoreAbort)
-                options.status.fetchAbortIgnored = true;
-            } else {
-              options.status.fetchResolved = true;
-            }
-          }
-          if (aborted && !ignoreAbort && !updateCache) {
-            return fetchFail(ac.signal.reason);
-          }
-          const bf2 = p;
-          if (this.#valList[index] === p) {
-            if (v2 === void 0) {
-              if (bf2.__staleWhileFetching) {
-                this.#valList[index] = bf2.__staleWhileFetching;
-              } else {
-                this.#delete(k, "fetch");
-              }
-            } else {
-              if (options.status)
-                options.status.fetchUpdated = true;
-              this.set(k, v2, fetchOpts.options);
-            }
-          }
-          return v2;
-        };
-        const eb = (er) => {
-          if (options.status) {
-            options.status.fetchRejected = true;
-            options.status.fetchError = er;
-          }
-          return fetchFail(er);
-        };
-        const fetchFail = (er) => {
-          const { aborted } = ac.signal;
-          const allowStaleAborted = aborted && options.allowStaleOnFetchAbort;
-          const allowStale = allowStaleAborted || options.allowStaleOnFetchRejection;
-          const noDelete = allowStale || options.noDeleteOnFetchRejection;
-          const bf2 = p;
-          if (this.#valList[index] === p) {
-            const del = !noDelete || bf2.__staleWhileFetching === void 0;
-            if (del) {
-              this.#delete(k, "fetch");
-            } else if (!allowStaleAborted) {
-              this.#valList[index] = bf2.__staleWhileFetching;
-            }
-          }
-          if (allowStale) {
-            if (options.status && bf2.__staleWhileFetching !== void 0) {
-              options.status.returnedStale = true;
-            }
-            return bf2.__staleWhileFetching;
-          } else if (bf2.__returned === bf2) {
-            throw er;
-          }
-        };
-        const pcall = (res, rej) => {
-          const fmp = this.#fetchMethod?.(k, v, fetchOpts);
-          if (fmp && fmp instanceof Promise) {
-            fmp.then((v2) => res(v2 === void 0 ? void 0 : v2), rej);
-          }
-          ac.signal.addEventListener("abort", () => {
-            if (!options.ignoreFetchAbort || options.allowStaleOnFetchAbort) {
-              res(void 0);
-              if (options.allowStaleOnFetchAbort) {
-                res = (v2) => cb(v2, true);
-              }
-            }
-          });
-        };
-        if (options.status)
-          options.status.fetchDispatched = true;
-        const p = new Promise(pcall).then(cb, eb);
-        const bf = Object.assign(p, {
-          __abortController: ac,
-          __staleWhileFetching: v,
-          __returned: void 0
-        });
-        if (index === void 0) {
-          this.set(k, bf, { ...fetchOpts.options, status: void 0 });
-          index = this.#keyMap.get(k);
-        } else {
-          this.#valList[index] = bf;
+      trackHeader(len) {
+        this.headersSize += len;
+        if (this.headersSize >= this.headersMaxSize) {
+          util.destroy(this.socket, new HeadersOverflowError());
         }
-        return bf;
       }
-      #isBackgroundFetch(p) {
-        if (!this.#hasFetchMethod)
-          return false;
-        const b = p;
-        return !!b && b instanceof Promise && b.hasOwnProperty("__staleWhileFetching") && b.__abortController instanceof AC;
+      onUpgrade(head) {
+        const { upgrade, client, socket, headers, statusCode } = this;
+        assert(upgrade);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert(!socket.destroyed);
+        assert(socket === client[kSocket]);
+        assert(!this.paused);
+        assert(request2.upgrade || request2.method === "CONNECT");
+        this.statusCode = null;
+        this.statusText = "";
+        this.shouldKeepAlive = null;
+        assert(this.headers.length % 2 === 0);
+        this.headers = [];
+        this.headersSize = 0;
+        socket.unshift(head);
+        socket[kParser].destroy();
+        socket[kParser] = null;
+        socket[kClient] = null;
+        socket[kError] = null;
+        socket.removeListener("error", onSocketError).removeListener("readable", onSocketReadable).removeListener("end", onSocketEnd).removeListener("close", onSocketClose);
+        client[kSocket] = null;
+        client[kQueue][client[kRunningIdx]++] = null;
+        client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
+        try {
+          request2.onUpgrade(statusCode, headers, socket);
+        } catch (err) {
+          util.destroy(socket, err);
+        }
+        resume(client);
       }
-      async fetch(k, fetchOptions = {}) {
-        const {
-          // get options
-          allowStale = this.allowStale,
-          updateAgeOnGet = this.updateAgeOnGet,
-          noDeleteOnStaleGet = this.noDeleteOnStaleGet,
-          // set options
-          ttl = this.ttl,
-          noDisposeOnSet = this.noDisposeOnSet,
-          size = 0,
-          sizeCalculation = this.sizeCalculation,
-          noUpdateTTL = this.noUpdateTTL,
-          // fetch exclusive options
-          noDeleteOnFetchRejection = this.noDeleteOnFetchRejection,
-          allowStaleOnFetchRejection = this.allowStaleOnFetchRejection,
-          ignoreFetchAbort = this.ignoreFetchAbort,
-          allowStaleOnFetchAbort = this.allowStaleOnFetchAbort,
-          context: context2,
-          forceRefresh = false,
-          status,
-          signal
-        } = fetchOptions;
-        if (!this.#hasFetchMethod) {
-          if (status)
-            status.fetch = "get";
-          return this.get(k, {
-            allowStale,
-            updateAgeOnGet,
-            noDeleteOnStaleGet,
-            status
-          });
+      onHeadersComplete(statusCode, upgrade, shouldKeepAlive) {
+        const { client, socket, headers, statusText } = this;
+        if (socket.destroyed) {
+          return -1;
         }
-        const options = {
-          allowStale,
-          updateAgeOnGet,
-          noDeleteOnStaleGet,
-          ttl,
-          noDisposeOnSet,
-          size,
-          sizeCalculation,
-          noUpdateTTL,
-          noDeleteOnFetchRejection,
-          allowStaleOnFetchRejection,
-          allowStaleOnFetchAbort,
-          ignoreFetchAbort,
-          status,
-          signal
-        };
-        let index = this.#keyMap.get(k);
-        if (index === void 0) {
-          if (status)
-            status.fetch = "miss";
-          const p = this.#backgroundFetch(k, index, options, context2);
-          return p.__returned = p;
-        } else {
-          const v = this.#valList[index];
-          if (this.#isBackgroundFetch(v)) {
-            const stale = allowStale && v.__staleWhileFetching !== void 0;
-            if (status) {
-              status.fetch = "inflight";
-              if (stale)
-                status.returnedStale = true;
-            }
-            return stale ? v.__staleWhileFetching : v.__returned = v;
-          }
-          const isStale = this.#isStale(index);
-          if (!forceRefresh && !isStale) {
-            if (status)
-              status.fetch = "hit";
-            this.#moveToTail(index);
-            if (updateAgeOnGet) {
-              this.#updateItemAge(index);
-            }
-            if (status)
-              this.#statusTTL(status, index);
-            return v;
-          }
-          const p = this.#backgroundFetch(k, index, options, context2);
-          const hasStale = p.__staleWhileFetching !== void 0;
-          const staleVal = hasStale && allowStale;
-          if (status) {
-            status.fetch = isStale ? "stale" : "refresh";
-            if (staleVal && isStale)
-              status.returnedStale = true;
-          }
-          return staleVal ? p.__staleWhileFetching : p.__returned = p;
+        const request2 = client[kQueue][client[kRunningIdx]];
+        if (!request2) {
+          return -1;
         }
-      }
-      async forceFetch(k, fetchOptions = {}) {
-        const v = await this.fetch(k, fetchOptions);
-        if (v === void 0)
-          throw new Error("fetch() returned undefined");
-        return v;
-      }
-      memo(k, memoOptions = {}) {
-        const memoMethod = this.#memoMethod;
-        if (!memoMethod) {
-          throw new Error("no memoMethod provided to constructor");
+        assert(!this.upgrade);
+        assert(this.statusCode < 200);
+        if (statusCode === 100) {
+          util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket)));
+          return -1;
         }
-        const { context: context2, forceRefresh, ...options } = memoOptions;
-        const v = this.get(k, options);
-        if (!forceRefresh && v !== void 0)
-          return v;
-        const vv = memoMethod(k, v, {
-          options,
-          context: context2
-        });
-        this.set(k, vv, options);
-        return vv;
-      }
-      /**
-       * Return a value from the cache. Will update the recency of the cache
-       * entry found.
-       *
-       * If the key is not found, get() will return `undefined`.
-       */
-      get(k, getOptions = {}) {
-        const { allowStale = this.allowStale, updateAgeOnGet = this.updateAgeOnGet, noDeleteOnStaleGet = this.noDeleteOnStaleGet, status } = getOptions;
-        const index = this.#keyMap.get(k);
-        if (index !== void 0) {
-          const value = this.#valList[index];
-          const fetching = this.#isBackgroundFetch(value);
-          if (status)
-            this.#statusTTL(status, index);
-          if (this.#isStale(index)) {
-            if (status)
-              status.get = "stale";
-            if (!fetching) {
-              if (!noDeleteOnStaleGet) {
-                this.#delete(k, "expire");
-              }
-              if (status && allowStale)
-                status.returnedStale = true;
-              return allowStale ? value : void 0;
+        if (upgrade && !request2.upgrade) {
+          util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket)));
+          return -1;
+        }
+        assert.strictEqual(this.timeoutType, TIMEOUT_HEADERS);
+        this.statusCode = statusCode;
+        this.shouldKeepAlive = shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD.
+        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 % 2 === 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 {
-              if (status && allowStale && value.__staleWhileFetching !== void 0) {
-                status.returnedStale = true;
-              }
-              return allowStale ? value.__staleWhileFetching : void 0;
+              client[kKeepAliveTimeoutValue] = timeout;
             }
           } else {
-            if (status)
-              status.get = "hit";
-            if (fetching) {
-              return value.__staleWhileFetching;
-            }
-            this.#moveToTail(index);
-            if (updateAgeOnGet) {
-              this.#updateItemAge(index);
-            }
-            return value;
+            client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout];
           }
-        } else if (status) {
-          status.get = "miss";
+        } else {
+          socket[kReset] = true;
         }
-      }
-      #connect(p, n) {
-        this.#prev[n] = p;
-        this.#next[p] = n;
-      }
-      #moveToTail(index) {
-        if (index !== this.#tail) {
-          if (index === this.#head) {
-            this.#head = this.#next[index];
-          } else {
-            this.#connect(this.#prev[index], this.#next[index]);
-          }
-          this.#connect(this.#tail, index);
-          this.#tail = index;
+        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;
+          resume(client);
+        }
+        return pause ? constants.ERROR.PAUSED : 0;
       }
-      /**
-       * Deletes a key out of the cache.
-       *
-       * Returns true if the key was deleted, false otherwise.
-       */
-      delete(k) {
-        return this.#delete(k, "delete");
-      }
-      #delete(k, reason) {
-        let deleted = false;
-        if (this.#size !== 0) {
-          const index = this.#keyMap.get(k);
-          if (index !== void 0) {
-            deleted = true;
-            if (this.#size === 1) {
-              this.#clear(reason);
-            } else {
-              this.#removeItemSize(index);
-              const v = this.#valList[index];
-              if (this.#isBackgroundFetch(v)) {
-                v.__abortController.abort(new Error("deleted"));
-              } else if (this.#hasDispose || this.#hasDisposeAfter) {
-                if (this.#hasDispose) {
-                  this.#dispose?.(v, k, reason);
-                }
-                if (this.#hasDisposeAfter) {
-                  this.#disposed?.push([v, k, reason]);
-                }
-              }
-              this.#keyMap.delete(k);
-              this.#keyList[index] = void 0;
-              this.#valList[index] = void 0;
-              if (index === this.#tail) {
-                this.#tail = this.#prev[index];
-              } else if (index === this.#head) {
-                this.#head = this.#next[index];
-              } else {
-                const pi = this.#prev[index];
-                this.#next[pi] = this.#next[index];
-                const ni = this.#next[index];
-                this.#prev[ni] = this.#prev[index];
-              }
-              this.#size--;
-              this.#free.push(index);
-            }
-          }
+      onBody(buf) {
+        const { client, socket, statusCode, maxResponseSize } = this;
+        if (socket.destroyed) {
+          return -1;
         }
-        if (this.#hasDisposeAfter && this.#disposed?.length) {
-          const dt = this.#disposed;
-          let task;
-          while (task = dt?.shift()) {
-            this.#disposeAfter?.(...task);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert.strictEqual(this.timeoutType, TIMEOUT_BODY);
+        if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
           }
         }
-        return deleted;
-      }
-      /**
-       * Clear the cache entirely, throwing away all values.
-       */
-      clear() {
-        return this.#clear("delete");
+        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;
+        }
       }
-      #clear(reason) {
-        for (const index of this.#rindexes({ allowStale: true })) {
-          const v = this.#valList[index];
-          if (this.#isBackgroundFetch(v)) {
-            v.__abortController.abort(new Error("deleted"));
-          } else {
-            const k = this.#keyList[index];
-            if (this.#hasDispose) {
-              this.#dispose?.(v, k, reason);
-            }
-            if (this.#hasDisposeAfter) {
-              this.#disposed?.push([v, k, reason]);
-            }
-          }
+      onMessageComplete() {
+        const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;
+        if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
+          return -1;
         }
-        this.#keyMap.clear();
-        this.#valList.fill(void 0);
-        this.#keyList.fill(void 0);
-        if (this.#ttls && this.#starts) {
-          this.#ttls.fill(0);
-          this.#starts.fill(0);
+        if (upgrade) {
+          return;
         }
-        if (this.#sizes) {
-          this.#sizes.fill(0);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert(statusCode >= 100);
+        this.statusCode = null;
+        this.statusText = "";
+        this.bytesRead = 0;
+        this.contentLength = "";
+        this.keepAlive = "";
+        this.connection = "";
+        assert(this.headers.length % 2 === 0);
+        this.headers = [];
+        this.headersSize = 0;
+        if (statusCode < 200) {
+          return;
         }
-        this.#head = 0;
-        this.#tail = 0;
-        this.#free.length = 0;
-        this.#calculatedSize = 0;
-        this.#size = 0;
-        if (this.#hasDisposeAfter && this.#disposed) {
-          const dt = this.#disposed;
-          let task;
-          while (task = dt?.shift()) {
-            this.#disposeAfter?.(...task);
-          }
+        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.strictEqual(client[kRunning], 0);
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (!shouldKeepAlive) {
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (socket[kReset] && client[kRunning] === 0) {
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (client[kPipelining] === 1) {
+          setImmediate(resume, client);
+        } else {
+          resume(client);
         }
       }
     };
-    exports2.LRUCache = LRUCache;
-  }
-});
-
-// node_modules/minipass/dist/commonjs/index.js
-var require_commonjs22 = __commonJS({
-  "node_modules/minipass/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Minipass = exports2.isWritable = exports2.isReadable = exports2.isStream = void 0;
-    var proc = typeof process === "object" && process ? process : {
-      stdout: null,
-      stderr: null
-    };
-    var node_events_1 = require("node:events");
-    var node_stream_1 = __importDefault2(require("node:stream"));
-    var node_string_decoder_1 = require("node:string_decoder");
-    var isStream = (s) => !!s && typeof s === "object" && (s instanceof Minipass || s instanceof node_stream_1.default || (0, exports2.isReadable)(s) || (0, exports2.isWritable)(s));
-    exports2.isStream = isStream;
-    var isReadable = (s) => !!s && typeof s === "object" && s instanceof node_events_1.EventEmitter && typeof s.pipe === "function" && // node core Writable streams have a pipe() method, but it throws
-    s.pipe !== node_stream_1.default.Writable.prototype.pipe;
-    exports2.isReadable = isReadable;
-    var isWritable = (s) => !!s && typeof s === "object" && s instanceof node_events_1.EventEmitter && typeof s.write === "function" && typeof s.end === "function";
-    exports2.isWritable = isWritable;
-    var EOF = /* @__PURE__ */ Symbol("EOF");
-    var MAYBE_EMIT_END = /* @__PURE__ */ Symbol("maybeEmitEnd");
-    var EMITTED_END = /* @__PURE__ */ Symbol("emittedEnd");
-    var EMITTING_END = /* @__PURE__ */ Symbol("emittingEnd");
-    var EMITTED_ERROR = /* @__PURE__ */ Symbol("emittedError");
-    var CLOSED = /* @__PURE__ */ Symbol("closed");
-    var READ = /* @__PURE__ */ Symbol("read");
-    var FLUSH = /* @__PURE__ */ Symbol("flush");
-    var FLUSHCHUNK = /* @__PURE__ */ Symbol("flushChunk");
-    var ENCODING = /* @__PURE__ */ Symbol("encoding");
-    var DECODER = /* @__PURE__ */ Symbol("decoder");
-    var FLOWING = /* @__PURE__ */ Symbol("flowing");
-    var PAUSED = /* @__PURE__ */ Symbol("paused");
-    var RESUME = /* @__PURE__ */ Symbol("resume");
-    var BUFFER = /* @__PURE__ */ Symbol("buffer");
-    var PIPES = /* @__PURE__ */ Symbol("pipes");
-    var BUFFERLENGTH = /* @__PURE__ */ Symbol("bufferLength");
-    var BUFFERPUSH = /* @__PURE__ */ Symbol("bufferPush");
-    var BUFFERSHIFT = /* @__PURE__ */ Symbol("bufferShift");
-    var OBJECTMODE = /* @__PURE__ */ Symbol("objectMode");
-    var DESTROYED = /* @__PURE__ */ Symbol("destroyed");
-    var ERROR = /* @__PURE__ */ Symbol("error");
-    var EMITDATA = /* @__PURE__ */ Symbol("emitData");
-    var EMITEND = /* @__PURE__ */ Symbol("emitEnd");
-    var EMITEND2 = /* @__PURE__ */ Symbol("emitEnd2");
-    var ASYNC = /* @__PURE__ */ Symbol("async");
-    var ABORT = /* @__PURE__ */ Symbol("abort");
-    var ABORTED = /* @__PURE__ */ Symbol("aborted");
-    var SIGNAL = /* @__PURE__ */ Symbol("signal");
-    var DATALISTENERS = /* @__PURE__ */ Symbol("dataListeners");
-    var DISCARDED = /* @__PURE__ */ Symbol("discarded");
-    var defer = (fn) => Promise.resolve().then(fn);
-    var nodefer = (fn) => fn();
-    var isEndish = (ev) => ev === "end" || ev === "finish" || ev === "prefinish";
-    var isArrayBufferLike = (b) => b instanceof ArrayBuffer || !!b && typeof b === "object" && b.constructor && b.constructor.name === "ArrayBuffer" && b.byteLength >= 0;
-    var isArrayBufferView = (b) => !Buffer.isBuffer(b) && ArrayBuffer.isView(b);
-    var Pipe = class {
-      src;
-      dest;
-      opts;
-      ondrain;
-      constructor(src, dest, opts) {
-        this.src = src;
-        this.dest = dest;
-        this.opts = opts;
-        this.ondrain = () => src[RESUME]();
-        this.dest.on("drain", this.ondrain);
+    function onParserTimeout(parser) {
+      const { socket, timeoutType, client } = parser;
+      if (timeoutType === TIMEOUT_HEADERS) {
+        if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
+          assert(!parser.paused, "cannot be paused while waiting for headers");
+          util.destroy(socket, new HeadersTimeoutError());
+        }
+      } else if (timeoutType === TIMEOUT_BODY) {
+        if (!parser.paused) {
+          util.destroy(socket, new BodyTimeoutError());
+        }
+      } else if (timeoutType === TIMEOUT_IDLE) {
+        assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
+        util.destroy(socket, new InformationalError("socket idle timeout"));
       }
-      unpipe() {
-        this.dest.removeListener("drain", this.ondrain);
+    }
+    function onSocketReadable() {
+      const { [kParser]: parser } = this;
+      if (parser) {
+        parser.readMore();
       }
-      // only here for the prototype
-      /* c8 ignore start */
-      proxyErrors(_er) {
+    }
+    function onSocketError(err) {
+      const { [kClient]: client, [kParser]: parser } = this;
+      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+      if (client[kHTTPConnVersion] !== "h2") {
+        if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
+          return;
+        }
       }
-      /* c8 ignore stop */
-      end() {
-        this.unpipe();
-        if (this.opts.end)
-          this.dest.end();
+      this[kError] = err;
+      onError(this[kClient], err);
+    }
+    function onError(client, err) {
+      if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
+        assert(client[kPendingIdx] === client[kRunningIdx]);
+        const requests = client[kQueue].splice(client[kRunningIdx]);
+        for (let i = 0; i < requests.length; i++) {
+          const request2 = requests[i];
+          errorRequest2(client, request2, err);
+        }
+        assert(client[kSize] === 0);
       }
-    };
-    var PipeProxyErrors = class extends Pipe {
-      unpipe() {
-        this.src.removeListener("error", this.proxyErrors);
-        super.unpipe();
+    }
+    function onSocketEnd() {
+      const { [kParser]: parser, [kClient]: client } = this;
+      if (client[kHTTPConnVersion] !== "h2") {
+        if (parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
+          return;
+        }
       }
-      constructor(src, dest, opts) {
-        super(src, dest, opts);
-        this.proxyErrors = (er) => dest.emit("error", er);
-        src.on("error", this.proxyErrors);
+      util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+    }
+    function onSocketClose() {
+      const { [kClient]: client, [kParser]: parser } = this;
+      if (client[kHTTPConnVersion] === "h1" && parser) {
+        if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
+        }
+        this[kParser].destroy();
+        this[kParser] = null;
       }
-    };
-    var isObjectModeOptions = (o) => !!o.objectMode;
-    var isEncodingOptions = (o) => !o.objectMode && !!o.encoding && o.encoding !== "buffer";
-    var Minipass = class extends node_events_1.EventEmitter {
-      [FLOWING] = false;
-      [PAUSED] = false;
-      [PIPES] = [];
-      [BUFFER] = [];
-      [OBJECTMODE];
-      [ENCODING];
-      [ASYNC];
-      [DECODER];
-      [EOF] = false;
-      [EMITTED_END] = false;
-      [EMITTING_END] = false;
-      [CLOSED] = false;
-      [EMITTED_ERROR] = null;
-      [BUFFERLENGTH] = 0;
-      [DESTROYED] = false;
-      [SIGNAL];
-      [ABORTED] = false;
-      [DATALISTENERS] = 0;
-      [DISCARDED] = false;
-      /**
-       * true if the stream can be written
-       */
-      writable = true;
-      /**
-       * true if the stream can be read
-       */
-      readable = true;
-      /**
-       * If `RType` is Buffer, then options do not need to be provided.
-       * Otherwise, an options object must be provided to specify either
-       * {@link Minipass.SharedOptions.objectMode} or
-       * {@link Minipass.SharedOptions.encoding}, as appropriate.
-       */
-      constructor(...args) {
-        const options = args[0] || {};
-        super();
-        if (options.objectMode && typeof options.encoding === "string") {
-          throw new TypeError("Encoding and objectMode may not be used together");
+      const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
+      client[kSocket] = null;
+      if (client.destroyed) {
+        assert(client[kPending] === 0);
+        const requests = client[kQueue].splice(client[kRunningIdx]);
+        for (let i = 0; i < requests.length; i++) {
+          const request2 = requests[i];
+          errorRequest2(client, request2, err);
+        }
+      } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
+        const request2 = client[kQueue][client[kRunningIdx]];
+        client[kQueue][client[kRunningIdx]++] = null;
+        errorRequest2(client, request2, err);
+      }
+      client[kPendingIdx] = client[kRunningIdx];
+      assert(client[kRunning] === 0);
+      client.emit("disconnect", client[kUrl], [client], err);
+      resume(client);
+    }
+    async function connect(client) {
+      assert(!client[kConnecting]);
+      assert(!client[kSocket]);
+      let { host, hostname, protocol, port } = client[kUrl];
+      if (hostname[0] === "[") {
+        const idx = hostname.indexOf("]");
+        assert(idx !== -1);
+        const ip = hostname.substring(1, idx);
+        assert(net.isIP(ip));
+        hostname = ip;
+      }
+      client[kConnecting] = true;
+      if (channels.beforeConnect.hasSubscribers) {
+        channels.beforeConnect.publish({
+          connectParams: {
+            host,
+            hostname,
+            protocol,
+            port,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          },
+          connector: client[kConnector]
+        });
+      }
+      try {
+        const socket = await new Promise((resolve2, reject) => {
+          client[kConnector]({
+            host,
+            hostname,
+            protocol,
+            port,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          }, (err, socket2) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve2(socket2);
+            }
+          });
+        });
+        if (client.destroyed) {
+          util.destroy(socket.on("error", () => {
+          }), new ClientDestroyedError());
+          return;
+        }
+        client[kConnecting] = false;
+        assert(socket);
+        const isH2 = socket.alpnProtocol === "h2";
+        if (isH2) {
+          if (!h2ExperimentalWarned) {
+            h2ExperimentalWarned = true;
+            process.emitWarning("H2 support is experimental, expect them to change at any time.", {
+              code: "UNDICI-H2"
+            });
+          }
+          const session = http2.connect(client[kUrl], {
+            createConnection: () => socket,
+            peerMaxConcurrentStreams: client[kHTTP2SessionState].maxConcurrentStreams
+          });
+          client[kHTTPConnVersion] = "h2";
+          session[kClient] = client;
+          session[kSocket] = socket;
+          session.on("error", onHttp2SessionError);
+          session.on("frameError", onHttp2FrameError);
+          session.on("end", onHttp2SessionEnd);
+          session.on("goaway", onHTTP2GoAway);
+          session.on("close", onSocketClose);
+          session.unref();
+          client[kHTTP2Session] = session;
+          socket[kHTTP2Session] = session;
+        } else {
+          if (!llhttpInstance) {
+            llhttpInstance = await llhttpPromise;
+            llhttpPromise = null;
+          }
+          socket[kNoRef] = false;
+          socket[kWriting] = false;
+          socket[kReset] = false;
+          socket[kBlocking] = false;
+          socket[kParser] = new Parser(client, socket, llhttpInstance);
+        }
+        socket[kCounter] = 0;
+        socket[kMaxRequests] = client[kMaxRequests];
+        socket[kClient] = client;
+        socket[kError] = null;
+        socket.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose);
+        client[kSocket] = socket;
+        if (channels.connected.hasSubscribers) {
+          channels.connected.publish({
+            connectParams: {
+              host,
+              hostname,
+              protocol,
+              port,
+              servername: client[kServerName],
+              localAddress: client[kLocalAddress]
+            },
+            connector: client[kConnector],
+            socket
+          });
         }
-        if (isObjectModeOptions(options)) {
-          this[OBJECTMODE] = true;
-          this[ENCODING] = null;
-        } else if (isEncodingOptions(options)) {
-          this[ENCODING] = options.encoding;
-          this[OBJECTMODE] = false;
+        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,
+              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]++];
+            errorRequest2(client, request2, err);
+          }
         } else {
-          this[OBJECTMODE] = false;
-          this[ENCODING] = null;
+          onError(client, err);
         }
-        this[ASYNC] = !!options.async;
-        this[DECODER] = this[ENCODING] ? new node_string_decoder_1.StringDecoder(this[ENCODING]) : null;
-        if (options && options.debugExposeBuffer === true) {
-          Object.defineProperty(this, "buffer", { get: () => this[BUFFER] });
+        client.emit("connectionError", client[kUrl], [client], err);
+      }
+      resume(client);
+    }
+    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 (options && options.debugExposePipes === true) {
-          Object.defineProperty(this, "pipes", { get: () => this[PIPES] });
+        if (client[kClosedResolve] && !client[kSize]) {
+          client[kClosedResolve]();
+          client[kClosedResolve] = null;
+          return;
         }
-        const { signal } = options;
-        if (signal) {
-          this[SIGNAL] = signal;
-          if (signal.aborted) {
-            this[ABORT]();
+        const socket = client[kSocket];
+        if (socket && !socket.destroyed && socket.alpnProtocol !== "h2") {
+          if (client[kSize] === 0) {
+            if (!socket[kNoRef] && socket.unref) {
+              socket.unref();
+              socket[kNoRef] = true;
+            }
+          } else if (socket[kNoRef] && socket.ref) {
+            socket.ref();
+            socket[kNoRef] = false;
+          }
+          if (client[kSize] === 0) {
+            if (socket[kParser].timeoutType !== TIMEOUT_IDLE) {
+              socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE);
+            }
+          } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
+            if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
+              const request3 = client[kQueue][client[kRunningIdx]];
+              const headersTimeout = request3.headersTimeout != null ? request3.headersTimeout : client[kHeadersTimeout];
+              socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
+            }
+          }
+        }
+        if (client[kBusy]) {
+          client[kNeedDrain] = 2;
+        } else if (client[kNeedDrain] === 2) {
+          if (sync) {
+            client[kNeedDrain] = 1;
+            process.nextTick(emitDrain, client);
           } else {
-            signal.addEventListener("abort", () => this[ABORT]());
+            emitDrain(client);
+          }
+          continue;
+        }
+        if (client[kPending] === 0) {
+          return;
+        }
+        if (client[kRunning] >= (client[kPipelining] || 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;
+          if (socket && socket.servername !== request2.servername) {
+            util.destroy(socket, new InformationalError("servername changed"));
+            return;
           }
         }
+        if (client[kConnecting]) {
+          return;
+        }
+        if (!socket && !client[kHTTP2Session]) {
+          connect(client);
+          return;
+        }
+        if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) {
+          return;
+        }
+        if (client[kRunning] > 0 && !request2.idempotent) {
+          return;
+        }
+        if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
+          return;
+        }
+        if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body))) {
+          return;
+        }
+        if (!request2.aborted && write(client, request2)) {
+          client[kPendingIdx]++;
+        } else {
+          client[kQueue].splice(client[kPendingIdx], 1);
+        }
       }
-      /**
-       * The amount of data stored in the buffer waiting to be read.
-       *
-       * For Buffer strings, this will be the total byte length.
-       * For string encoding streams, this will be the string character length,
-       * according to JavaScript's `string.length` logic.
-       * For objectMode streams, this is a count of the items waiting to be
-       * emitted.
-       */
-      get bufferLength() {
-        return this[BUFFERLENGTH];
+    }
+    function shouldSendContentLength(method) {
+      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
+    }
+    function write(client, request2) {
+      if (client[kHTTPConnVersion] === "h2") {
+        writeH2(client, client[kHTTP2Session], request2);
+        return;
       }
-      /**
-       * The `BufferEncoding` currently in use, or `null`
-       */
-      get encoding() {
-        return this[ENCODING];
+      const { body, method, path: path3, host, upgrade, headers, blocking, reset } = request2;
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
+      if (body && typeof body.read === "function") {
+        body.read(0);
       }
-      /**
-       * @deprecated - This is a read only property
-       */
-      set encoding(_enc) {
-        throw new Error("Encoding must be set at instantiation time");
+      const bodyLength = util.bodyLength(body);
+      let contentLength = bodyLength;
+      if (contentLength === null) {
+        contentLength = request2.contentLength;
       }
-      /**
-       * @deprecated - Encoding may only be set at instantiation time
-       */
-      setEncoding(_enc) {
-        throw new Error("Encoding must be set at instantiation time");
+      if (contentLength === 0 && !expectsPayload) {
+        contentLength = null;
       }
-      /**
-       * True if this is an objectMode stream
-       */
-      get objectMode() {
-        return this[OBJECTMODE];
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          errorRequest2(client, request2, new RequestContentLengthMismatchError());
+          return false;
+        }
+        process.emitWarning(new RequestContentLengthMismatchError());
       }
-      /**
-       * @deprecated - This is a read-only property
-       */
-      set objectMode(_om) {
-        throw new Error("objectMode must be set at instantiation time");
+      const socket = client[kSocket];
+      try {
+        request2.onConnect((err) => {
+          if (request2.aborted || request2.completed) {
+            return;
+          }
+          errorRequest2(client, request2, err || new RequestAbortedError());
+          util.destroy(socket, new InformationalError("aborted"));
+        });
+      } catch (err) {
+        errorRequest2(client, request2, err);
       }
-      /**
-       * true if this is an async stream
-       */
-      get ["async"]() {
-        return this[ASYNC];
+      if (request2.aborted) {
+        return false;
       }
-      /**
-       * Set to true to make this stream async.
-       *
-       * Once set, it cannot be unset, as this would potentially cause incorrect
-       * behavior.  Ie, a sync stream can be made async, but an async stream
-       * cannot be safely made sync.
-       */
-      set ["async"](a) {
-        this[ASYNC] = this[ASYNC] || !!a;
+      if (method === "HEAD") {
+        socket[kReset] = true;
       }
-      // drop everything and get out of the flow completely
-      [ABORT]() {
-        this[ABORTED] = true;
-        this.emit("abort", this[SIGNAL]?.reason);
-        this.destroy(this[SIGNAL]?.reason);
+      if (upgrade || method === "CONNECT") {
+        socket[kReset] = true;
       }
-      /**
-       * True if the stream has been aborted.
-       */
-      get aborted() {
-        return this[ABORTED];
+      if (reset != null) {
+        socket[kReset] = reset;
       }
-      /**
-       * No-op setter. Stream aborted status is set via the AbortSignal provided
-       * in the constructor options.
-       */
-      set aborted(_2) {
+      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
+        socket[kReset] = true;
       }
-      write(chunk, encoding, cb) {
-        if (this[ABORTED])
-          return false;
-        if (this[EOF])
-          throw new Error("write after end");
-        if (this[DESTROYED]) {
-          this.emit("error", Object.assign(new Error("Cannot call write after a stream was destroyed"), { code: "ERR_STREAM_DESTROYED" }));
-          return true;
-        }
-        if (typeof encoding === "function") {
-          cb = encoding;
-          encoding = "utf8";
-        }
-        if (!encoding)
-          encoding = "utf8";
-        const fn = this[ASYNC] ? defer : nodefer;
-        if (!this[OBJECTMODE] && !Buffer.isBuffer(chunk)) {
-          if (isArrayBufferView(chunk)) {
-            chunk = Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
-          } else if (isArrayBufferLike(chunk)) {
-            chunk = Buffer.from(chunk);
-          } else if (typeof chunk !== "string") {
-            throw new Error("Non-contiguous data written to non-objectMode stream");
-          }
-        }
-        if (this[OBJECTMODE]) {
-          if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
-            this[FLUSH](true);
-          if (this[FLOWING])
-            this.emit("data", chunk);
-          else
-            this[BUFFERPUSH](chunk);
-          if (this[BUFFERLENGTH] !== 0)
-            this.emit("readable");
-          if (cb)
-            fn(cb);
-          return this[FLOWING];
-        }
-        if (!chunk.length) {
-          if (this[BUFFERLENGTH] !== 0)
-            this.emit("readable");
-          if (cb)
-            fn(cb);
-          return this[FLOWING];
-        }
-        if (typeof chunk === "string" && // unless it is a string already ready for us to use
-        !(encoding === this[ENCODING] && !this[DECODER]?.lastNeed)) {
-          chunk = Buffer.from(chunk, encoding);
-        }
-        if (Buffer.isBuffer(chunk) && this[ENCODING]) {
-          chunk = this[DECODER].write(chunk);
-        }
-        if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
-          this[FLUSH](true);
-        if (this[FLOWING])
-          this.emit("data", chunk);
-        else
-          this[BUFFERPUSH](chunk);
-        if (this[BUFFERLENGTH] !== 0)
-          this.emit("readable");
-        if (cb)
-          fn(cb);
-        return this[FLOWING];
+      if (blocking) {
+        socket[kBlocking] = true;
       }
-      /**
-       * Low-level explicit read method.
-       *
-       * In objectMode, the argument is ignored, and one item is returned if
-       * available.
-       *
-       * `n` is the number of bytes (or in the case of encoding streams,
-       * characters) to consume. If `n` is not provided, then the entire buffer
-       * is returned, or `null` is returned if no data is available.
-       *
-       * If `n` is greater that the amount of data in the internal buffer,
-       * then `null` is returned.
-       */
-      read(n) {
-        if (this[DESTROYED])
-          return null;
-        this[DISCARDED] = false;
-        if (this[BUFFERLENGTH] === 0 || n === 0 || n && n > this[BUFFERLENGTH]) {
-          this[MAYBE_EMIT_END]();
-          return null;
-        }
-        if (this[OBJECTMODE])
-          n = null;
-        if (this[BUFFER].length > 1 && !this[OBJECTMODE]) {
-          this[BUFFER] = [
-            this[ENCODING] ? this[BUFFER].join("") : Buffer.concat(this[BUFFER], this[BUFFERLENGTH])
-          ];
-        }
-        const ret = this[READ](n || null, this[BUFFER][0]);
-        this[MAYBE_EMIT_END]();
-        return ret;
+      let header = `${method} ${path3} HTTP/1.1\r
+`;
+      if (typeof host === "string") {
+        header += `host: ${host}\r
+`;
+      } else {
+        header += client[kHostHeader];
       }
-      [READ](n, chunk) {
-        if (this[OBJECTMODE])
-          this[BUFFERSHIFT]();
-        else {
-          const c = chunk;
-          if (n === c.length || n === null)
-            this[BUFFERSHIFT]();
-          else if (typeof c === "string") {
-            this[BUFFER][0] = c.slice(n);
-            chunk = c.slice(0, n);
-            this[BUFFERLENGTH] -= n;
-          } else {
-            this[BUFFER][0] = c.subarray(n);
-            chunk = c.subarray(0, n);
-            this[BUFFERLENGTH] -= n;
-          }
-        }
-        this.emit("data", chunk);
-        if (!this[BUFFER].length && !this[EOF])
-          this.emit("drain");
-        return chunk;
+      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";
       }
-      end(chunk, encoding, cb) {
-        if (typeof chunk === "function") {
-          cb = chunk;
-          chunk = void 0;
+      if (headers) {
+        header += headers;
+      }
+      if (channels.sendHeaders.hasSubscribers) {
+        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      }
+      if (!body || bodyLength === 0) {
+        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");
         }
-        if (typeof encoding === "function") {
-          cb = encoding;
-          encoding = "utf8";
+        request2.onRequestSent();
+      } else if (util.isBuffer(body)) {
+        assert(contentLength === body.byteLength, "buffer body must have content length");
+        socket.cork();
+        socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+        socket.write(body);
+        socket.uncork();
+        request2.onBodySent(body);
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
         }
-        if (chunk !== void 0)
-          this.write(chunk, encoding);
-        if (cb)
-          this.once("end", cb);
-        this[EOF] = true;
-        this.writable = false;
-        if (this[FLOWING] || !this[PAUSED])
-          this[MAYBE_EMIT_END]();
-        return this;
-      }
-      // don't let the internal resume be overwritten
-      [RESUME]() {
-        if (this[DESTROYED])
-          return;
-        if (!this[DATALISTENERS] && !this[PIPES].length) {
-          this[DISCARDED] = true;
+      } else if (util.isBlobLike(body)) {
+        if (typeof body.stream === "function") {
+          writeIterable({ body: body.stream(), client, request: request2, socket, contentLength, header, expectsPayload });
+        } else {
+          writeBlob({ body, client, request: request2, socket, contentLength, header, expectsPayload });
         }
-        this[PAUSED] = false;
-        this[FLOWING] = true;
-        this.emit("resume");
-        if (this[BUFFER].length)
-          this[FLUSH]();
-        else if (this[EOF])
-          this[MAYBE_EMIT_END]();
-        else
-          this.emit("drain");
-      }
-      /**
-       * Resume the stream if it is currently in a paused state
-       *
-       * If called when there are no pipe destinations or `data` event listeners,
-       * this will place the stream in a "discarded" state, where all data will
-       * be thrown away. The discarded state is removed if a pipe destination or
-       * data handler is added, if pause() is called, or if any synchronous or
-       * asynchronous iteration is started.
-       */
-      resume() {
-        return this[RESUME]();
-      }
-      /**
-       * Pause the stream
-       */
-      pause() {
-        this[FLOWING] = false;
-        this[PAUSED] = true;
-        this[DISCARDED] = false;
+      } else if (util.isStream(body)) {
+        writeStream({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+      } else if (util.isIterable(body)) {
+        writeIterable({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+      } else {
+        assert(false);
       }
-      /**
-       * true if the stream has been forcibly destroyed
-       */
-      get destroyed() {
-        return this[DESTROYED];
+      return true;
+    }
+    function writeH2(client, session, request2) {
+      const { body, method, path: path3, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
+      let headers;
+      if (typeof reqHeaders === "string") headers = Request[kHTTP2CopyHeaders](reqHeaders.trim());
+      else headers = reqHeaders;
+      if (upgrade) {
+        errorRequest2(client, request2, new Error("Upgrade not supported for H2"));
+        return false;
       }
-      /**
-       * true if the stream is currently in a flowing state, meaning that
-       * any writes will be immediately emitted.
-       */
-      get flowing() {
-        return this[FLOWING];
+      try {
+        request2.onConnect((err) => {
+          if (request2.aborted || request2.completed) {
+            return;
+          }
+          errorRequest2(client, request2, err || new RequestAbortedError());
+        });
+      } catch (err) {
+        errorRequest2(client, request2, err);
       }
-      /**
-       * true if the stream is currently in a paused state
-       */
-      get paused() {
-        return this[PAUSED];
+      if (request2.aborted) {
+        return false;
       }
-      [BUFFERPUSH](chunk) {
-        if (this[OBJECTMODE])
-          this[BUFFERLENGTH] += 1;
-        else
-          this[BUFFERLENGTH] += chunk.length;
-        this[BUFFER].push(chunk);
+      let stream;
+      const h2State = client[kHTTP2SessionState];
+      headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost];
+      headers[HTTP2_HEADER_METHOD] = method;
+      if (method === "CONNECT") {
+        session.ref();
+        stream = session.request(headers, { endStream: false, signal });
+        if (stream.id && !stream.pending) {
+          request2.onUpgrade(null, null, stream);
+          ++h2State.openStreams;
+        } else {
+          stream.once("ready", () => {
+            request2.onUpgrade(null, null, stream);
+            ++h2State.openStreams;
+          });
+        }
+        stream.once("close", () => {
+          h2State.openStreams -= 1;
+          if (h2State.openStreams === 0) session.unref();
+        });
+        return true;
       }
-      [BUFFERSHIFT]() {
-        if (this[OBJECTMODE])
-          this[BUFFERLENGTH] -= 1;
-        else
-          this[BUFFERLENGTH] -= this[BUFFER][0].length;
-        return this[BUFFER].shift();
+      headers[HTTP2_HEADER_PATH] = path3;
+      headers[HTTP2_HEADER_SCHEME] = "https";
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
+      if (body && typeof body.read === "function") {
+        body.read(0);
       }
-      [FLUSH](noDrain = false) {
-        do {
-        } while (this[FLUSHCHUNK](this[BUFFERSHIFT]()) && this[BUFFER].length);
-        if (!noDrain && !this[BUFFER].length && !this[EOF])
-          this.emit("drain");
+      let contentLength = util.bodyLength(body);
+      if (contentLength == null) {
+        contentLength = request2.contentLength;
       }
-      [FLUSHCHUNK](chunk) {
-        this.emit("data", chunk);
-        return this[FLOWING];
+      if (contentLength === 0 || !expectsPayload) {
+        contentLength = null;
       }
-      /**
-       * Pipe all data emitted by this stream into the destination provided.
-       *
-       * Triggers the flow of data.
-       */
-      pipe(dest, opts) {
-        if (this[DESTROYED])
-          return dest;
-        this[DISCARDED] = false;
-        const ended = this[EMITTED_END];
-        opts = opts || {};
-        if (dest === proc.stdout || dest === proc.stderr)
-          opts.end = false;
-        else
-          opts.end = opts.end !== false;
-        opts.proxyErrors = !!opts.proxyErrors;
-        if (ended) {
-          if (opts.end)
-            dest.end();
-        } else {
-          this[PIPES].push(!opts.proxyErrors ? new Pipe(this, dest, opts) : new PipeProxyErrors(this, dest, opts));
-          if (this[ASYNC])
-            defer(() => this[RESUME]());
-          else
-            this[RESUME]();
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          errorRequest2(client, request2, new RequestContentLengthMismatchError());
+          return false;
         }
-        return dest;
+        process.emitWarning(new RequestContentLengthMismatchError());
       }
-      /**
-       * Fully unhook a piped destination stream.
-       *
-       * If the destination stream was the only consumer of this stream (ie,
-       * there are no other piped destinations or `'data'` event listeners)
-       * then the flow of data will stop until there is another consumer or
-       * {@link Minipass#resume} is explicitly called.
-       */
-      unpipe(dest) {
-        const p = this[PIPES].find((p2) => p2.dest === dest);
-        if (p) {
-          if (this[PIPES].length === 1) {
-            if (this[FLOWING] && this[DATALISTENERS] === 0) {
-              this[FLOWING] = false;
-            }
-            this[PIPES] = [];
-          } else
-            this[PIPES].splice(this[PIPES].indexOf(p), 1);
-          p.unpipe();
-        }
+      if (contentLength != null) {
+        assert(body, "no body must not have content length");
+        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
       }
-      /**
-       * Alias for {@link Minipass#on}
-       */
-      addListener(ev, handler2) {
-        return this.on(ev, handler2);
+      session.ref();
+      const shouldEndStream = method === "GET" || method === "HEAD";
+      if (expectContinue) {
+        headers[HTTP2_HEADER_EXPECT] = "100-continue";
+        stream = session.request(headers, { endStream: shouldEndStream, signal });
+        stream.once("continue", writeBodyH2);
+      } else {
+        stream = session.request(headers, {
+          endStream: shouldEndStream,
+          signal
+        });
+        writeBodyH2();
       }
-      /**
-       * Mostly identical to `EventEmitter.on`, with the following
-       * behavior differences to prevent data loss and unnecessary hangs:
-       *
-       * - Adding a 'data' event handler will trigger the flow of data
-       *
-       * - Adding a 'readable' event handler when there is data waiting to be read
-       *   will cause 'readable' to be emitted immediately.
-       *
-       * - Adding an 'endish' event handler ('end', 'finish', etc.) which has
-       *   already passed will cause the event to be emitted immediately and all
-       *   handlers removed.
-       *
-       * - Adding an 'error' event handler after an error has been emitted will
-       *   cause the event to be re-emitted immediately with the error previously
-       *   raised.
-       */
-      on(ev, handler2) {
-        const ret = super.on(ev, handler2);
-        if (ev === "data") {
-          this[DISCARDED] = false;
-          this[DATALISTENERS]++;
-          if (!this[PIPES].length && !this[FLOWING]) {
-            this[RESUME]();
+      ++h2State.openStreams;
+      stream.once("response", (headers2) => {
+        const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
+        if (request2.onHeaders(Number(statusCode), realHeaders, stream.resume.bind(stream), "") === false) {
+          stream.pause();
+        }
+      });
+      stream.once("end", () => {
+        request2.onComplete([]);
+      });
+      stream.on("data", (chunk) => {
+        if (request2.onData(chunk) === false) {
+          stream.pause();
+        }
+      });
+      stream.once("close", () => {
+        h2State.openStreams -= 1;
+        if (h2State.openStreams === 0) {
+          session.unref();
+        }
+      });
+      stream.once("error", function(err) {
+        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
+          h2State.streams -= 1;
+          util.destroy(stream, err);
+        }
+      });
+      stream.once("frameError", (type2, code) => {
+        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
+        errorRequest2(client, request2, err);
+        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
+          h2State.streams -= 1;
+          util.destroy(stream, err);
+        }
+      });
+      return true;
+      function writeBodyH2() {
+        if (!body) {
+          request2.onRequestSent();
+        } else if (util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          stream.cork();
+          stream.write(body);
+          stream.uncork();
+          stream.end();
+          request2.onBodySent(body);
+          request2.onRequestSent();
+        } else if (util.isBlobLike(body)) {
+          if (typeof body.stream === "function") {
+            writeIterable({
+              client,
+              request: request2,
+              contentLength,
+              h2stream: stream,
+              expectsPayload,
+              body: body.stream(),
+              socket: client[kSocket],
+              header: ""
+            });
+          } else {
+            writeBlob({
+              body,
+              client,
+              request: request2,
+              contentLength,
+              expectsPayload,
+              h2stream: stream,
+              header: "",
+              socket: client[kSocket]
+            });
           }
-        } else if (ev === "readable" && this[BUFFERLENGTH] !== 0) {
-          super.emit("readable");
-        } else if (isEndish(ev) && this[EMITTED_END]) {
-          super.emit(ev);
-          this.removeAllListeners(ev);
-        } else if (ev === "error" && this[EMITTED_ERROR]) {
-          const h = handler2;
-          if (this[ASYNC])
-            defer(() => h.call(this, this[EMITTED_ERROR]));
-          else
-            h.call(this, this[EMITTED_ERROR]);
+        } else if (util.isStream(body)) {
+          writeStream({
+            body,
+            client,
+            request: request2,
+            contentLength,
+            expectsPayload,
+            socket: client[kSocket],
+            h2stream: stream,
+            header: ""
+          });
+        } else if (util.isIterable(body)) {
+          writeIterable({
+            body,
+            client,
+            request: request2,
+            contentLength,
+            expectsPayload,
+            header: "",
+            h2stream: stream,
+            socket: client[kSocket]
+          });
+        } else {
+          assert(false);
         }
-        return ret;
       }
-      /**
-       * Alias for {@link Minipass#off}
-       */
-      removeListener(ev, handler2) {
-        return this.off(ev, handler2);
+    }
+    function writeStream({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      if (client[kHTTPConnVersion] === "h2") {
+        let onPipeData = function(chunk) {
+          request2.onBodySent(chunk);
+        };
+        const pipe = pipeline(
+          body,
+          h2stream,
+          (err) => {
+            if (err) {
+              util.destroy(body, err);
+              util.destroy(h2stream, err);
+            } else {
+              request2.onRequestSent();
+            }
+          }
+        );
+        pipe.on("data", onPipeData);
+        pipe.once("end", () => {
+          pipe.removeListener("data", onPipeData);
+          util.destroy(pipe);
+        });
+        return;
       }
-      /**
-       * Mostly identical to `EventEmitter.off`
-       *
-       * If a 'data' event handler is removed, and it was the last consumer
-       * (ie, there are no pipe destinations or other 'data' event listeners),
-       * then the flow of data will stop until there is another consumer or
-       * {@link Minipass#resume} is explicitly called.
-       */
-      off(ev, handler2) {
-        const ret = super.off(ev, handler2);
-        if (ev === "data") {
-          this[DATALISTENERS] = this.listeners("data").length;
-          if (this[DATALISTENERS] === 0 && !this[DISCARDED] && !this[PIPES].length) {
-            this[FLOWING] = false;
+      let finished = false;
+      const writer = new AsyncWriter({ 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);
         }
-        return ret;
-      }
-      /**
-       * Mostly identical to `EventEmitter.removeAllListeners`
-       *
-       * If all 'data' event handlers are removed, and they were the last consumer
-       * (ie, there are no pipe destinations), then the flow of data will stop
-       * until there is another consumer or {@link Minipass#resume} is explicitly
-       * called.
-       */
-      removeAllListeners(ev) {
-        const ret = super.removeAllListeners(ev);
-        if (ev === "data" || ev === void 0) {
-          this[DATALISTENERS] = 0;
-          if (!this[DISCARDED] && !this[PIPES].length) {
-            this[FLOWING] = false;
+      };
+      const onDrain = function() {
+        if (finished) {
+          return;
+        }
+        if (body.resume) {
+          body.resume();
+        }
+      };
+      const onAbort = function() {
+        if (finished) {
+          return;
+        }
+        const err = new RequestAbortedError();
+        queueMicrotask(() => onFinished(err));
+      };
+      const onFinished = function(err) {
+        if (finished) {
+          return;
+        }
+        finished = true;
+        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
+        socket.off("drain", onDrain).off("error", onFinished);
+        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("error", onFinished).removeListener("close", onAbort);
+        if (!err) {
+          try {
+            writer.end();
+          } catch (er) {
+            err = er;
           }
         }
-        return ret;
+        writer.destroy(err);
+        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
+          util.destroy(body, err);
+        } else {
+          util.destroy(body);
+        }
+      };
+      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onAbort);
+      if (body.resume) {
+        body.resume();
       }
-      /**
-       * true if the 'end' event has been emitted
-       */
-      get emittedEnd() {
-        return this[EMITTED_END];
+      socket.on("drain", onDrain).on("error", onFinished);
+    }
+    async function writeBlob({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
+      assert(contentLength === body.size, "blob body must have content length");
+      const isH2 = client[kHTTPConnVersion] === "h2";
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
+        }
+        const buffer = Buffer.from(await body.arrayBuffer());
+        if (isH2) {
+          h2stream.cork();
+          h2stream.write(buffer);
+          h2stream.uncork();
+        } else {
+          socket.cork();
+          socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+          socket.write(buffer);
+          socket.uncork();
+        }
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        resume(client);
+      } catch (err) {
+        util.destroy(isH2 ? h2stream : socket, err);
       }
-      [MAYBE_EMIT_END]() {
-        if (!this[EMITTING_END] && !this[EMITTED_END] && !this[DESTROYED] && this[BUFFER].length === 0 && this[EOF]) {
-          this[EMITTING_END] = true;
-          this.emit("end");
-          this.emit("prefinish");
-          this.emit("finish");
-          if (this[CLOSED])
-            this.emit("close");
-          this[EMITTING_END] = false;
+    }
+    async function writeIterable({ h2stream, body, client, request: 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();
         }
       }
-      /**
-       * Mostly identical to `EventEmitter.emit`, with the following
-       * behavior differences to prevent data loss and unnecessary hangs:
-       *
-       * If the stream has been destroyed, and the event is something other
-       * than 'close' or 'error', then `false` is returned and no handlers
-       * are called.
-       *
-       * If the event is 'end', and has already been emitted, then the event
-       * is ignored. If the stream is in a paused or non-flowing state, then
-       * the event will be deferred until data flow resumes. If the stream is
-       * async, then handlers will be called on the next tick rather than
-       * immediately.
-       *
-       * If the event is 'close', and 'end' has not yet been emitted, then
-       * the event will be deferred until after 'end' is emitted.
-       *
-       * If the event is 'error', and an AbortSignal was provided for the stream,
-       * and there are no listeners, then the event is ignored, matching the
-       * behavior of node core streams in the presense of an AbortSignal.
-       *
-       * If the event is 'finish' or 'prefinish', then all listeners will be
-       * removed after emitting the event, to prevent double-firing.
-       */
-      emit(ev, ...args) {
-        const data = args[0];
-        if (ev !== "error" && ev !== "close" && ev !== DESTROYED && this[DESTROYED]) {
-          return false;
-        } else if (ev === "data") {
-          return !this[OBJECTMODE] && !data ? false : this[ASYNC] ? (defer(() => this[EMITDATA](data)), true) : this[EMITDATA](data);
-        } else if (ev === "end") {
-          return this[EMITEND]();
-        } else if (ev === "close") {
-          this[CLOSED] = true;
-          if (!this[EMITTED_END] && !this[DESTROYED])
-            return false;
-          const ret2 = super.emit("close");
-          this.removeAllListeners("close");
-          return ret2;
-        } else if (ev === "error") {
-          this[EMITTED_ERROR] = data;
-          super.emit(ERROR, data);
-          const ret2 = !this[SIGNAL] || this.listeners("error").length ? super.emit("error", data) : false;
-          this[MAYBE_EMIT_END]();
-          return ret2;
-        } else if (ev === "resume") {
-          const ret2 = super.emit("resume");
-          this[MAYBE_EMIT_END]();
-          return ret2;
-        } else if (ev === "finish" || ev === "prefinish") {
-          const ret2 = super.emit(ev);
-          this.removeAllListeners(ev);
-          return ret2;
+      const waitForDrain = () => new Promise((resolve2, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve2;
+        }
+      });
+      if (client[kHTTPConnVersion] === "h2") {
+        h2stream.on("close", onDrain).on("drain", onDrain);
+        try {
+          for await (const chunk of body) {
+            if (socket[kError]) {
+              throw socket[kError];
+            }
+            const res = h2stream.write(chunk);
+            request2.onBodySent(chunk);
+            if (!res) {
+              await waitForDrain();
+            }
+          }
+        } catch (err) {
+          h2stream.destroy(err);
+        } finally {
+          request2.onRequestSent();
+          h2stream.end();
+          h2stream.off("close", onDrain).off("drain", onDrain);
         }
-        const ret = super.emit(ev, ...args);
-        this[MAYBE_EMIT_END]();
-        return ret;
+        return;
       }
-      [EMITDATA](data) {
-        for (const p of this[PIPES]) {
-          if (p.dest.write(data) === false)
-            this.pause();
+      socket.on("close", onDrain).on("drain", onDrain);
+      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          if (!writer.write(chunk)) {
+            await waitForDrain();
+          }
         }
-        const ret = this[DISCARDED] ? false : super.emit("data", data);
-        this[MAYBE_EMIT_END]();
-        return ret;
+        writer.end();
+      } catch (err) {
+        writer.destroy(err);
+      } finally {
+        socket.off("close", onDrain).off("drain", onDrain);
       }
-      [EMITEND]() {
-        if (this[EMITTED_END])
-          return false;
-        this[EMITTED_END] = true;
-        this.readable = false;
-        return this[ASYNC] ? (defer(() => this[EMITEND2]()), true) : this[EMITEND2]();
+    }
+    var AsyncWriter = class {
+      constructor({ 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;
+        socket[kWriting] = true;
       }
-      [EMITEND2]() {
-        if (this[DECODER]) {
-          const data = this[DECODER].end();
-          if (data) {
-            for (const p of this[PIPES]) {
-              p.dest.write(data);
-            }
-            if (!this[DISCARDED])
-              super.emit("data", data);
+      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());
         }
-        for (const p of this[PIPES]) {
-          p.end();
+        socket.cork();
+        if (bytesWritten === 0) {
+          if (!expectsPayload) {
+            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();
+            }
+          }
         }
-        const ret = super.emit("end");
-        this.removeAllListeners("end");
         return ret;
       }
-      /**
-       * Return a Promise that resolves to an array of all emitted data once
-       * the stream ends.
-       */
-      async collect() {
-        const buf = Object.assign([], {
-          dataLength: 0
-        });
-        if (!this[OBJECTMODE])
-          buf.dataLength = 0;
-        const p = this.promise();
-        this.on("data", (c) => {
-          buf.push(c);
-          if (!this[OBJECTMODE])
-            buf.dataLength += c.length;
-        });
-        await p;
-        return buf;
-      }
-      /**
-       * Return a Promise that resolves to the concatenation of all emitted data
-       * once the stream ends.
-       *
-       * Not allowed on objectMode streams.
-       */
-      async concat() {
-        if (this[OBJECTMODE]) {
-          throw new Error("cannot concat in objectMode");
+      end() {
+        const { socket, contentLength, client, bytesWritten, expectsPayload, header, request: request2 } = this;
+        request2.onRequestSent();
+        socket[kWriting] = false;
+        if (socket[kError]) {
+          throw socket[kError];
         }
-        const buf = await this.collect();
-        return this[ENCODING] ? buf.join("") : Buffer.concat(buf, buf.dataLength);
-      }
-      /**
-       * Return a void Promise that resolves once the stream ends.
-       */
-      async promise() {
-        return new Promise((resolve2, reject) => {
-          this.on(DESTROYED, () => reject(new Error("stream destroyed")));
-          this.on("error", (er) => reject(er));
-          this.on("end", () => resolve2());
-        });
-      }
-      /**
-       * Asynchronous `for await of` iteration.
-       *
-       * This will continue emitting all chunks until the stream terminates.
-       */
-      [Symbol.asyncIterator]() {
-        this[DISCARDED] = false;
-        let stopped = false;
-        const stop = async () => {
-          this.pause();
-          stopped = true;
-          return { value: void 0, done: true };
-        };
-        const next = () => {
-          if (stopped)
-            return stop();
-          const res = this.read();
-          if (res !== null)
-            return Promise.resolve({ done: false, value: res });
-          if (this[EOF])
-            return stop();
-          let resolve2;
-          let reject;
-          const onerr = (er) => {
-            this.off("data", ondata);
-            this.off("end", onend);
-            this.off(DESTROYED, ondestroy);
-            stop();
-            reject(er);
-          };
-          const ondata = (value) => {
-            this.off("error", onerr);
-            this.off("end", onend);
-            this.off(DESTROYED, ondestroy);
-            this.pause();
-            resolve2({ value, done: !!this[EOF] });
-          };
-          const onend = () => {
-            this.off("error", onerr);
-            this.off("data", ondata);
-            this.off(DESTROYED, ondestroy);
-            stop();
-            resolve2({ done: true, value: void 0 });
-          };
-          const ondestroy = () => onerr(new Error("stream destroyed"));
-          return new Promise((res2, rej) => {
-            reject = rej;
-            resolve2 = res2;
-            this.once(DESTROYED, ondestroy);
-            this.once("error", onerr);
-            this.once("end", onend);
-            this.once("data", ondata);
-          });
-        };
-        return {
-          next,
-          throw: stop,
-          return: stop,
-          [Symbol.asyncIterator]() {
-            return this;
+        if (socket.destroyed) {
+          return;
+        }
+        if (bytesWritten === 0) {
+          if (expectsPayload) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
+          } else {
+            socket.write(`${header}\r
+`, "latin1");
           }
-        };
-      }
-      /**
-       * Synchronous `for of` iteration.
-       *
-       * The iteration will terminate when the internal buffer runs out, even
-       * if the stream has not yet terminated.
-       */
-      [Symbol.iterator]() {
-        this[DISCARDED] = false;
-        let stopped = false;
-        const stop = () => {
-          this.pause();
-          this.off(ERROR, stop);
-          this.off(DESTROYED, stop);
-          this.off("end", stop);
-          stopped = true;
-          return { done: true, value: void 0 };
-        };
-        const next = () => {
-          if (stopped)
-            return stop();
-          const value = this.read();
-          return value === null ? stop() : { done: false, value };
-        };
-        this.once("end", stop);
-        this.once(ERROR, stop);
-        this.once(DESTROYED, stop);
-        return {
-          next,
-          throw: stop,
-          return: stop,
-          [Symbol.iterator]() {
-            return this;
+        } 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());
           }
-        };
-      }
-      /**
-       * Destroy a stream, preventing it from being used for any further purpose.
-       *
-       * If the stream has a `close()` method, then it will be called on
-       * destruction.
-       *
-       * After destruction, any attempt to write data, read data, or emit most
-       * events will be ignored.
-       *
-       * If an error argument is provided, then it will be emitted in an
-       * 'error' event.
-       */
-      destroy(er) {
-        if (this[DESTROYED]) {
-          if (er)
-            this.emit("error", er);
-          else
-            this.emit(DESTROYED);
-          return this;
         }
-        this[DESTROYED] = true;
-        this[DISCARDED] = true;
-        this[BUFFER].length = 0;
-        this[BUFFERLENGTH] = 0;
-        const wc = this;
-        if (typeof wc.close === "function" && !this[CLOSED])
-          wc.close();
-        if (er)
-          this.emit("error", er);
-        else
-          this.emit(DESTROYED);
-        return this;
+        if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
+          if (socket[kParser].timeout.refresh) {
+            socket[kParser].timeout.refresh();
+          }
+        }
+        resume(client);
       }
-      /**
-       * Alias for {@link isStream}
-       *
-       * Former export location, maintained for backwards compatibility.
-       *
-       * @deprecated
-       */
-      static get isStream() {
-        return exports2.isStream;
+      destroy(err) {
+        const { socket, client } = this;
+        socket[kWriting] = false;
+        if (err) {
+          assert(client[kRunning] <= 1, "pipeline should only contain this request");
+          util.destroy(socket, err);
+        }
       }
     };
-    exports2.Minipass = Minipass;
+    function errorRequest2(client, request2, err) {
+      try {
+        request2.onError(err);
+        assert(request2.aborted);
+      } catch (err2) {
+        client.emit("error", err2);
+      }
+    }
+    module2.exports = Client;
   }
 });
 
-// node_modules/path-scurry/dist/commonjs/index.js
-var require_commonjs23 = __commonJS({
-  "node_modules/path-scurry/dist/commonjs/index.js"(exports2) {
+// node_modules/undici/lib/node/fixed-queue.js
+var require_fixed_queue3 = __commonJS({
+  "node_modules/undici/lib/node/fixed-queue.js"(exports2, module2) {
     "use strict";
-    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
-      }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.PathScurry = exports2.Path = exports2.PathScurryDarwin = exports2.PathScurryPosix = exports2.PathScurryWin32 = exports2.PathScurryBase = exports2.PathPosix = exports2.PathWin32 = exports2.PathBase = exports2.ChildrenCache = exports2.ResolveCache = void 0;
-    var lru_cache_1 = require_commonjs21();
-    var node_path_1 = require("node:path");
-    var node_url_1 = require("node:url");
-    var fs_1 = require("fs");
-    var actualFS = __importStar2(require("node:fs"));
-    var realpathSync = fs_1.realpathSync.native;
-    var promises_1 = require("node:fs/promises");
-    var minipass_1 = require_commonjs22();
-    var defaultFS = {
-      lstatSync: fs_1.lstatSync,
-      readdir: fs_1.readdir,
-      readdirSync: fs_1.readdirSync,
-      readlinkSync: fs_1.readlinkSync,
-      realpathSync,
-      promises: {
-        lstat: promises_1.lstat,
-        readdir: promises_1.readdir,
-        readlink: promises_1.readlink,
-        realpath: promises_1.realpath
-      }
-    };
-    var fsFromOption = (fsOption) => !fsOption || fsOption === defaultFS || fsOption === actualFS ? defaultFS : {
-      ...defaultFS,
-      ...fsOption,
-      promises: {
-        ...defaultFS.promises,
-        ...fsOption.promises || {}
-      }
-    };
-    var uncDriveRegexp = /^\\\\\?\\([a-z]:)\\?$/i;
-    var uncToDrive = (rootPath) => rootPath.replace(/\//g, "\\").replace(uncDriveRegexp, "$1\\");
-    var eitherSep = /[\\\/]/;
-    var UNKNOWN = 0;
-    var IFIFO = 1;
-    var IFCHR = 2;
-    var IFDIR = 4;
-    var IFBLK = 6;
-    var IFREG = 8;
-    var IFLNK = 10;
-    var IFSOCK = 12;
-    var IFMT = 15;
-    var IFMT_UNKNOWN = ~IFMT;
-    var READDIR_CALLED = 16;
-    var LSTAT_CALLED = 32;
-    var ENOTDIR = 64;
-    var ENOENT = 128;
-    var ENOREADLINK = 256;
-    var ENOREALPATH = 512;
-    var ENOCHILD = ENOTDIR | ENOENT | ENOREALPATH;
-    var TYPEMASK = 1023;
-    var entToType = (s) => s.isFile() ? IFREG : s.isDirectory() ? IFDIR : s.isSymbolicLink() ? IFLNK : s.isCharacterDevice() ? IFCHR : s.isBlockDevice() ? IFBLK : s.isSocket() ? IFSOCK : s.isFIFO() ? IFIFO : UNKNOWN;
-    var normalizeCache = /* @__PURE__ */ new Map();
-    var normalize2 = (s) => {
-      const c = normalizeCache.get(s);
-      if (c)
-        return c;
-      const n = s.normalize("NFKD");
-      normalizeCache.set(s, n);
-      return n;
-    };
-    var normalizeNocaseCache = /* @__PURE__ */ new Map();
-    var normalizeNocase = (s) => {
-      const c = normalizeNocaseCache.get(s);
-      if (c)
-        return c;
-      const n = normalize2(s.toLowerCase());
-      normalizeNocaseCache.set(s, n);
-      return n;
-    };
-    var ResolveCache = class extends lru_cache_1.LRUCache {
+    var kSize = 2048;
+    var kMask = kSize - 1;
+    var FixedCircularBuffer = class {
       constructor() {
-        super({ max: 256 });
+        this.bottom = 0;
+        this.top = 0;
+        this.list = new Array(kSize);
+        this.next = null;
       }
-    };
-    exports2.ResolveCache = ResolveCache;
-    var ChildrenCache = class extends lru_cache_1.LRUCache {
-      constructor(maxSize = 16 * 1024) {
-        super({
-          maxSize,
-          // parent + children
-          sizeCalculation: (a) => a.length + 1
-        });
+      isEmpty() {
+        return this.top === this.bottom;
       }
-    };
-    exports2.ChildrenCache = ChildrenCache;
-    var setAsCwd = /* @__PURE__ */ Symbol("PathScurry setAsCwd");
-    var PathBase = class {
-      /**
-       * the basename of this path
-       *
-       * **Important**: *always* test the path name against any test string
-       * usingthe {@link isNamed} method, and not by directly comparing this
-       * string. Otherwise, unicode path strings that the system sees as identical
-       * will not be properly treated as the same path, leading to incorrect
-       * behavior and possible security issues.
-       */
-      name;
-      /**
-       * the Path entry corresponding to the path root.
-       *
-       * @internal
-       */
-      root;
-      /**
-       * All roots found within the current PathScurry family
-       *
-       * @internal
-       */
-      roots;
-      /**
-       * a reference to the parent path, or undefined in the case of root entries
-       *
-       * @internal
-       */
-      parent;
-      /**
-       * boolean indicating whether paths are compared case-insensitively
-       * @internal
-       */
-      nocase;
-      /**
-       * boolean indicating that this path is the current working directory
-       * of the PathScurry collection that contains it.
-       */
-      isCWD = false;
-      // potential default fs override
-      #fs;
-      // Stats fields
-      #dev;
-      get dev() {
-        return this.#dev;
+      isFull() {
+        return (this.top + 1 & kMask) === this.bottom;
       }
-      #mode;
-      get mode() {
-        return this.#mode;
+      push(data) {
+        this.list[this.top] = data;
+        this.top = this.top + 1 & kMask;
       }
-      #nlink;
-      get nlink() {
-        return this.#nlink;
+      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;
       }
-      #uid;
-      get uid() {
-        return this.#uid;
+    };
+    module2.exports = class FixedQueue {
+      constructor() {
+        this.head = this.tail = new FixedCircularBuffer();
       }
-      #gid;
-      get gid() {
-        return this.#gid;
+      isEmpty() {
+        return this.head.isEmpty();
       }
-      #rdev;
-      get rdev() {
-        return this.#rdev;
+      push(data) {
+        if (this.head.isFull()) {
+          this.head = this.head.next = new FixedCircularBuffer();
+        }
+        this.head.push(data);
       }
-      #blksize;
-      get blksize() {
-        return this.#blksize;
+      shift() {
+        const tail = this.tail;
+        const next = tail.shift();
+        if (tail.isEmpty() && tail.next !== null) {
+          this.tail = tail.next;
+        }
+        return next;
       }
-      #ino;
-      get ino() {
-        return this.#ino;
+    };
+  }
+});
+
+// node_modules/undici/lib/pool-stats.js
+var require_pool_stats3 = __commonJS({
+  "node_modules/undici/lib/pool-stats.js"(exports2, module2) {
+    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols11();
+    var kPool = /* @__PURE__ */ Symbol("pool");
+    var PoolStats = class {
+      constructor(pool) {
+        this[kPool] = pool;
       }
-      #size;
-      get size() {
-        return this.#size;
+      get connected() {
+        return this[kPool][kConnected];
       }
-      #blocks;
-      get blocks() {
-        return this.#blocks;
+      get free() {
+        return this[kPool][kFree];
       }
-      #atimeMs;
-      get atimeMs() {
-        return this.#atimeMs;
+      get pending() {
+        return this[kPool][kPending];
       }
-      #mtimeMs;
-      get mtimeMs() {
-        return this.#mtimeMs;
+      get queued() {
+        return this[kPool][kQueued];
       }
-      #ctimeMs;
-      get ctimeMs() {
-        return this.#ctimeMs;
+      get running() {
+        return this[kPool][kRunning];
       }
-      #birthtimeMs;
-      get birthtimeMs() {
-        return this.#birthtimeMs;
+      get size() {
+        return this[kPool][kSize];
       }
-      #atime;
-      get atime() {
-        return this.#atime;
+    };
+    module2.exports = PoolStats;
+  }
+});
+
+// node_modules/undici/lib/pool-base.js
+var require_pool_base3 = __commonJS({
+  "node_modules/undici/lib/pool-base.js"(exports2, module2) {
+    "use strict";
+    var DispatcherBase = require_dispatcher_base3();
+    var FixedQueue = require_fixed_queue3();
+    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols11();
+    var PoolStats = require_pool_stats3();
+    var kClients = /* @__PURE__ */ Symbol("clients");
+    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
+    var kQueue = /* @__PURE__ */ Symbol("queue");
+    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
+    var kAddClient = /* @__PURE__ */ Symbol("add client");
+    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
+    var kStats = /* @__PURE__ */ 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);
       }
-      #mtime;
-      get mtime() {
-        return this.#mtime;
+      get [kBusy]() {
+        return this[kNeedDrain];
       }
-      #ctime;
-      get ctime() {
-        return this.#ctime;
+      get [kConnected]() {
+        return this[kClients].filter((client) => client[kConnected]).length;
       }
-      #birthtime;
-      get birthtime() {
-        return this.#birthtime;
+      get [kFree]() {
+        return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;
       }
-      #matchName;
-      #depth;
-      #fullpath;
-      #fullpathPosix;
-      #relative;
-      #relativePosix;
-      #type;
-      #children;
-      #linkTarget;
-      #realpath;
-      /**
-       * This property is for compatibility with the Dirent class as of
-       * Node v20, where Dirent['parentPath'] refers to the path of the
-       * directory that was passed to readdir. For root entries, it's the path
-       * to the entry itself.
-       */
-      get parentPath() {
-        return (this.parent || this).fullpath();
+      get [kPending]() {
+        let ret = this[kQueued];
+        for (const { [kPending]: pending } of this[kClients]) {
+          ret += pending;
+        }
+        return ret;
       }
-      /**
-       * Deprecated alias for Dirent['parentPath'] Somewhat counterintuitively,
-       * this property refers to the *parent* path, not the path object itself.
-       *
-       * @deprecated
-       */
-      get path() {
-        return this.parentPath;
+      get [kRunning]() {
+        let ret = 0;
+        for (const { [kRunning]: running } of this[kClients]) {
+          ret += running;
+        }
+        return ret;
       }
-      /**
-       * Do not create new Path objects directly.  They should always be accessed
-       * via the PathScurry class or other methods on the Path class.
-       *
-       * @internal
-       */
-      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
-        this.name = name;
-        this.#matchName = nocase ? normalizeNocase(name) : normalize2(name);
-        this.#type = type2 & TYPEMASK;
-        this.nocase = nocase;
-        this.roots = roots;
-        this.root = root || this;
-        this.#children = children;
-        this.#fullpath = opts.fullpath;
-        this.#relative = opts.relative;
-        this.#relativePosix = opts.relativePosix;
-        this.parent = opts.parent;
-        if (this.parent) {
-          this.#fs = this.parent.#fs;
-        } else {
-          this.#fs = fsFromOption(opts.fs);
+      get [kSize]() {
+        let ret = this[kQueued];
+        for (const { [kSize]: size } of this[kClients]) {
+          ret += size;
         }
+        return ret;
       }
-      /**
-       * Returns the depth of the Path object from its root.
-       *
-       * For example, a path at `/foo/bar` would have a depth of 2.
-       */
-      depth() {
-        if (this.#depth !== void 0)
-          return this.#depth;
-        if (!this.parent)
-          return this.#depth = 0;
-        return this.#depth = this.parent.depth() + 1;
+      get stats() {
+        return this[kStats];
       }
-      /**
-       * @internal
-       */
-      childrenCache() {
-        return this.#children;
+      async [kClose]() {
+        if (this[kQueue].isEmpty()) {
+          return Promise.all(this[kClients].map((c) => c.close()));
+        } else {
+          return new Promise((resolve2) => {
+            this[kClosedResolve] = resolve2;
+          });
+        }
       }
-      /**
-       * Get the Path object referenced by the string path, resolved from this Path
-       */
-      resolve(path3) {
-        if (!path3) {
-          return this;
+      async [kDestroy](err) {
+        while (true) {
+          const item = this[kQueue].shift();
+          if (!item) {
+            break;
+          }
+          item.handler.onError(err);
         }
-        const rootPath = this.getRootString(path3);
-        const dir = path3.substring(rootPath.length);
-        const dirParts = dir.split(this.splitSep);
-        const result = rootPath ? this.getRoot(rootPath).#resolveParts(dirParts) : this.#resolveParts(dirParts);
-        return result;
+        return Promise.all(this[kClients].map((c) => c.destroy(err)));
       }
-      #resolveParts(dirParts) {
-        let p = this;
-        for (const part of dirParts) {
-          p = p.child(part);
+      [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 p;
+        return !this[kNeedDrain];
       }
-      /**
-       * Returns the cached children Path objects, if still available.  If they
-       * have fallen out of the cache, then returns an empty array, and resets the
-       * READDIR_CALLED bit, so that future calls to readdir() will require an fs
-       * lookup.
-       *
-       * @internal
-       */
-      children() {
-        const cached = this.#children.get(this);
-        if (cached) {
-          return cached;
+      [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]) {
+          process.nextTick(() => {
+            if (this[kNeedDrain]) {
+              this[kOnDrain](client[kUrl], [this, client]);
+            }
+          });
         }
-        const children = Object.assign([], { provisional: 0 });
-        this.#children.set(this, children);
-        this.#type &= ~READDIR_CALLED;
-        return children;
+        return this;
       }
-      /**
-       * Resolves a path portion and returns or creates the child Path.
-       *
-       * Returns `this` if pathPart is `''` or `'.'`, or `parent` if pathPart is
-       * `'..'`.
-       *
-       * This should not be called directly.  If `pathPart` contains any path
-       * separators, it will lead to unsafe undefined behavior.
-       *
-       * Use `Path.resolve()` instead.
-       *
-       * @internal
-       */
-      child(pathPart, opts) {
-        if (pathPart === "" || pathPart === ".") {
-          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/pool.js
+var require_pool3 = __commonJS({
+  "node_modules/undici/lib/pool.js"(exports2, module2) {
+    "use strict";
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kGetDispatcher
+    } = require_pool_base3();
+    var Client = require_client3();
+    var {
+      InvalidArgumentError
+    } = require_errors5();
+    var util = require_util23();
+    var { kUrl, kInterceptors } = require_symbols11();
+    var buildConnector = require_connect3();
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kConnections = /* @__PURE__ */ Symbol("connections");
+    var kFactory = /* @__PURE__ */ 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 (pathPart === "..") {
-          return this.parent || this;
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
         }
-        const children = this.children();
-        const name = this.nocase ? normalizeNocase(pathPart) : normalize2(pathPart);
-        for (const p of children) {
-          if (p.#matchName === name) {
-            return p;
-          }
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
         }
-        const s = this.parent ? this.sep : "";
-        const fullpath = this.#fullpath ? this.#fullpath + s + pathPart : void 0;
-        const pchild = this.newChild(pathPart, UNKNOWN, {
-          ...opts,
-          parent: this,
-          fullpath
-        });
-        if (!this.canReaddir()) {
-          pchild.#type |= ENOENT;
+        if (typeof connect !== "function") {
+          connect = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect
+          });
         }
-        children.push(pchild);
-        return pchild;
+        this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
+        this[kConnections] = connections || null;
+        this[kUrl] = util.parseOrigin(origin);
+        this[kOptions] = { ...util.deepClone(options), connect, allowH2 };
+        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
+        this[kFactory] = factory;
+        this.on("connectionError", (origin2, targets, error3) => {
+          for (const target of targets) {
+            const idx = this[kClients].indexOf(target);
+            if (idx !== -1) {
+              this[kClients].splice(idx, 1);
+            }
+          }
+        });
       }
-      /**
-       * The relative path from the cwd. If it does not share an ancestor with
-       * the cwd, then this ends up being equivalent to the fullpath()
-       */
-      relative() {
-        if (this.isCWD)
-          return "";
-        if (this.#relative !== void 0) {
-          return this.#relative;
+      [kGetDispatcher]() {
+        let dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain]);
+        if (dispatcher) {
+          return dispatcher;
         }
-        const name = this.name;
-        const p = this.parent;
-        if (!p) {
-          return this.#relative = this.name;
+        if (!this[kConnections] || this[kClients].length < this[kConnections]) {
+          dispatcher = this[kFactory](this[kUrl], this[kOptions]);
+          this[kAddClient](dispatcher);
         }
-        const pv = p.relative();
-        return pv + (!pv || !p.parent ? "" : this.sep) + name;
+        return dispatcher;
       }
-      /**
-       * The relative path from the cwd, using / as the path separator.
-       * If it does not share an ancestor with
-       * the cwd, then this ends up being equivalent to the fullpathPosix()
-       * On posix systems, this is identical to relative().
-       */
-      relativePosix() {
-        if (this.sep === "/")
-          return this.relative();
-        if (this.isCWD)
-          return "";
-        if (this.#relativePosix !== void 0)
-          return this.#relativePosix;
-        const name = this.name;
-        const p = this.parent;
-        if (!p) {
-          return this.#relativePosix = this.fullpathPosix();
+    };
+    module2.exports = Pool;
+  }
+});
+
+// node_modules/undici/lib/balanced-pool.js
+var require_balanced_pool3 = __commonJS({
+  "node_modules/undici/lib/balanced-pool.js"(exports2, module2) {
+    "use strict";
+    var {
+      BalancedPoolMissingUpstreamError,
+      InvalidArgumentError
+    } = require_errors5();
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    } = require_pool_base3();
+    var Pool = require_pool3();
+    var { kUrl, kInterceptors } = require_symbols11();
+    var { parseOrigin } = require_util23();
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
+    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
+    var kIndex = /* @__PURE__ */ Symbol("kIndex");
+    var kWeight = /* @__PURE__ */ Symbol("kWeight");
+    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
+    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
+    function getGreatestCommonDivisor(a, b) {
+      if (b === 0) return a;
+      return getGreatestCommonDivisor(b, a % b);
+    }
+    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];
         }
-        const pv = p.relativePosix();
-        return pv + (!pv || !p.parent ? "" : "/") + name;
-      }
-      /**
-       * The fully resolved path string for this Path entry
-       */
-      fullpath() {
-        if (this.#fullpath !== void 0) {
-          return this.#fullpath;
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
         }
-        const name = this.name;
-        const p = this.parent;
-        if (!p) {
-          return this.#fullpath = this.name;
+        this[kInterceptors] = opts.interceptors && opts.interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : [];
+        this[kFactory] = factory;
+        for (const upstream of upstreams) {
+          this.addUpstream(upstream);
         }
-        const pv = p.fullpath();
-        const fp = pv + (!p.parent ? "" : this.sep) + name;
-        return this.#fullpath = fp;
+        this._updateBalancedPoolStats();
       }
-      /**
-       * On platforms other than windows, this is identical to fullpath.
-       *
-       * On windows, this is overridden to return the forward-slash form of the
-       * full UNC path.
-       */
-      fullpathPosix() {
-        if (this.#fullpathPosix !== void 0)
-          return this.#fullpathPosix;
-        if (this.sep === "/")
-          return this.#fullpathPosix = this.fullpath();
-        if (!this.parent) {
-          const p2 = this.fullpath().replace(/\\/g, "/");
-          if (/^[a-z]:\//i.test(p2)) {
-            return this.#fullpathPosix = `//?/${p2}`;
-          } else {
-            return this.#fullpathPosix = p2;
+      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];
         }
-        const p = this.parent;
-        const pfpp = p.fullpathPosix();
-        const fpp = pfpp + (!pfpp || !p.parent ? "" : "/") + this.name;
-        return this.#fullpathPosix = fpp;
-      }
-      /**
-       * Is the Path of an unknown type?
-       *
-       * Note that we might know *something* about it if there has been a previous
-       * filesystem operation, for example that it does not exist, or is not a
-       * link, or whether it has child entries.
-       */
-      isUnknown() {
-        return (this.#type & IFMT) === UNKNOWN;
-      }
-      isType(type2) {
-        return this[`is${type2}`]();
-      }
-      getType() {
-        return this.isUnknown() ? "Unknown" : this.isDirectory() ? "Directory" : this.isFile() ? "File" : this.isSymbolicLink() ? "SymbolicLink" : this.isFIFO() ? "FIFO" : this.isCharacterDevice() ? "CharacterDevice" : this.isBlockDevice() ? "BlockDevice" : (
-          /* c8 ignore start */
-          this.isSocket() ? "Socket" : "Unknown"
-        );
-      }
-      /**
-       * Is the Path a regular file?
-       */
-      isFile() {
-        return (this.#type & IFMT) === IFREG;
-      }
-      /**
-       * Is the Path a directory?
-       */
-      isDirectory() {
-        return (this.#type & IFMT) === IFDIR;
-      }
-      /**
-       * Is the path a character device?
-       */
-      isCharacterDevice() {
-        return (this.#type & IFMT) === IFCHR;
-      }
-      /**
-       * Is the path a block device?
-       */
-      isBlockDevice() {
-        return (this.#type & IFMT) === IFBLK;
-      }
-      /**
-       * Is the path a FIFO pipe?
-       */
-      isFIFO() {
-        return (this.#type & IFMT) === IFIFO;
-      }
-      /**
-       * Is the path a socket?
-       */
-      isSocket() {
-        return (this.#type & IFMT) === IFSOCK;
+        this._updateBalancedPoolStats();
+        return this;
       }
-      /**
-       * Is the path a symbolic link?
-       */
-      isSymbolicLink() {
-        return (this.#type & IFLNK) === IFLNK;
+      _updateBalancedPoolStats() {
+        this[kGreatestCommonDivisor] = this[kClients].map((p) => p[kWeight]).reduce(getGreatestCommonDivisor, 0);
       }
-      /**
-       * Return the entry if it has been subject of a successful lstat, or
-       * undefined otherwise.
-       *
-       * Does not read the filesystem, so an undefined result *could* simply
-       * mean that we haven't called lstat on it.
-       */
-      lstatCached() {
-        return this.#type & LSTAT_CALLED ? this : void 0;
+      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;
       }
-      /**
-       * Return the cached link target if the entry has been the subject of a
-       * successful readlink, or undefined otherwise.
-       *
-       * Does not read the filesystem, so an undefined result *could* just mean we
-       * don't have any cached data. Only use it if you are very sure that a
-       * readlink() has been called at some point.
-       */
-      readlinkCached() {
-        return this.#linkTarget;
+      get upstreams() {
+        return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin);
       }
-      /**
-       * Returns the cached realpath target if the entry has been the subject
-       * of a successful realpath, or undefined otherwise.
-       *
-       * Does not read the filesystem, so an undefined result *could* just mean we
-       * don't have any cached data. Only use it if you are very sure that a
-       * realpath() has been called at some point.
-       */
-      realpathCached() {
-        return this.#realpath;
+      [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];
       }
-      /**
-       * Returns the cached child Path entries array if the entry has been the
-       * subject of a successful readdir(), or [] otherwise.
-       *
-       * Does not read the filesystem, so an empty array *could* just mean we
-       * don't have any cached data. Only use it if you are very sure that a
-       * readdir() has been called recently enough to still be valid.
-       */
-      readdirCached() {
-        const children = this.children();
-        return children.slice(0, children.provisional);
+    };
+    module2.exports = BalancedPool;
+  }
+});
+
+// node_modules/undici/lib/compat/dispatcher-weakref.js
+var require_dispatcher_weakref3 = __commonJS({
+  "node_modules/undici/lib/compat/dispatcher-weakref.js"(exports2, module2) {
+    "use strict";
+    var { kConnected, kSize } = require_symbols11();
+    var CompatWeakRef = class {
+      constructor(value) {
+        this.value = value;
       }
-      /**
-       * Return true if it's worth trying to readlink.  Ie, we don't (yet) have
-       * any indication that readlink will definitely fail.
-       *
-       * Returns false if the path is known to not be a symlink, if a previous
-       * readlink failed, or if the entry does not exist.
-       */
-      canReadlink() {
-        if (this.#linkTarget)
-          return true;
-        if (!this.parent)
-          return false;
-        const ifmt = this.#type & IFMT;
-        return !(ifmt !== UNKNOWN && ifmt !== IFLNK || this.#type & ENOREADLINK || this.#type & ENOENT);
+      deref() {
+        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
       }
-      /**
-       * Return true if readdir has previously been successfully called on this
-       * path, indicating that cachedReaddir() is likely valid.
-       */
-      calledReaddir() {
-        return !!(this.#type & READDIR_CALLED);
+    };
+    var CompatFinalizer = class {
+      constructor(finalizer) {
+        this.finalizer = finalizer;
       }
-      /**
-       * Returns true if the path is known to not exist. That is, a previous lstat
-       * or readdir failed to verify its existence when that would have been
-       * expected, or a parent entry was marked either enoent or enotdir.
-       */
-      isENOENT() {
-        return !!(this.#type & ENOENT);
+      register(dispatcher, key) {
+        if (dispatcher.on) {
+          dispatcher.on("disconnect", () => {
+            if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {
+              this.finalizer(key);
+            }
+          });
+        }
       }
-      /**
-       * Return true if the path is a match for the given path name.  This handles
-       * case sensitivity and unicode normalization.
-       *
-       * Note: even on case-sensitive systems, it is **not** safe to test the
-       * equality of the `.name` property to determine whether a given pathname
-       * matches, due to unicode normalization mismatches.
-       *
-       * Always use this method instead of testing the `path.name` property
-       * directly.
-       */
-      isNamed(n) {
-        return !this.nocase ? this.#matchName === normalize2(n) : this.#matchName === normalizeNocase(n);
+    };
+    module2.exports = function() {
+      if (process.env.NODE_V8_COVERAGE) {
+        return {
+          WeakRef: CompatWeakRef,
+          FinalizationRegistry: CompatFinalizer
+        };
       }
-      /**
-       * Return the Path object corresponding to the target of a symbolic link.
-       *
-       * If the Path is not a symbolic link, or if the readlink call fails for any
-       * reason, `undefined` is returned.
-       *
-       * Result is cached, and thus may be outdated if the filesystem is mutated.
-       */
-      async readlink() {
-        const target = this.#linkTarget;
-        if (target) {
-          return target;
+      return {
+        WeakRef: global.WeakRef || CompatWeakRef,
+        FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer
+      };
+    };
+  }
+});
+
+// node_modules/undici/lib/agent.js
+var require_agent3 = __commonJS({
+  "node_modules/undici/lib/agent.js"(exports2, module2) {
+    "use strict";
+    var { InvalidArgumentError } = require_errors5();
+    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols11();
+    var DispatcherBase = require_dispatcher_base3();
+    var Pool = require_pool3();
+    var Client = require_client3();
+    var util = require_util23();
+    var createRedirectInterceptor = require_redirectInterceptor();
+    var { WeakRef: WeakRef2, FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref3()();
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kFinalizer = /* @__PURE__ */ Symbol("finalizer");
+    var kOptions = /* @__PURE__ */ 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 (!this.canReadlink()) {
-          return void 0;
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
         }
-        if (!this.parent) {
-          return void 0;
+        if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
         }
-        try {
-          const read = await this.#fs.promises.readlink(this.fullpath());
-          const linkTarget = (await this.parent.realpath())?.resolve(read);
-          if (linkTarget) {
-            return this.#linkTarget = linkTarget;
-          }
-        } catch (er) {
-          this.#readlinkFail(er.code);
-          return void 0;
+        if (connect && typeof connect !== "function") {
+          connect = { ...connect };
         }
+        this[kInterceptors] = options.interceptors && options.interceptors.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
+        this[kOptions] = { ...util.deepClone(options), connect };
+        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
+        this[kMaxRedirections] = maxRedirections;
+        this[kFactory] = factory;
+        this[kClients] = /* @__PURE__ */ new Map();
+        this[kFinalizer] = new FinalizationRegistry2(
+          /* istanbul ignore next: gc is undeterministic */
+          (key) => {
+            const ref = this[kClients].get(key);
+            if (ref !== void 0 && ref.deref() === void 0) {
+              this[kClients].delete(key);
+            }
+          }
+        );
+        const agent = this;
+        this[kOnDrain] = (origin, targets) => {
+          agent.emit("drain", origin, [agent, ...targets]);
+        };
+        this[kOnConnect] = (origin, targets) => {
+          agent.emit("connect", origin, [agent, ...targets]);
+        };
+        this[kOnDisconnect] = (origin, targets, err) => {
+          agent.emit("disconnect", origin, [agent, ...targets], err);
+        };
+        this[kOnConnectionError] = (origin, targets, err) => {
+          agent.emit("connectionError", origin, [agent, ...targets], err);
+        };
       }
-      /**
-       * Synchronous {@link PathBase.readlink}
-       */
-      readlinkSync() {
-        const target = this.#linkTarget;
-        if (target) {
-          return target;
+      get [kRunning]() {
+        let ret = 0;
+        for (const ref of this[kClients].values()) {
+          const client = ref.deref();
+          if (client) {
+            ret += client[kRunning];
+          }
         }
-        if (!this.canReadlink()) {
-          return void 0;
+        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.");
         }
-        if (!this.parent) {
-          return void 0;
+        const ref = this[kClients].get(key);
+        let dispatcher = ref ? ref.deref() : null;
+        if (!dispatcher) {
+          dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
+          this[kClients].set(key, new WeakRef2(dispatcher));
+          this[kFinalizer].register(dispatcher, key);
         }
-        try {
-          const read = this.#fs.readlinkSync(this.fullpath());
-          const linkTarget = this.parent.realpathSync()?.resolve(read);
-          if (linkTarget) {
-            return this.#linkTarget = linkTarget;
+        return dispatcher.dispatch(opts, handler2);
+      }
+      async [kClose]() {
+        const closePromises = [];
+        for (const ref of this[kClients].values()) {
+          const client = ref.deref();
+          if (client) {
+            closePromises.push(client.close());
           }
-        } catch (er) {
-          this.#readlinkFail(er.code);
-          return void 0;
         }
+        await Promise.all(closePromises);
       }
-      #readdirSuccess(children) {
-        this.#type |= READDIR_CALLED;
-        for (let p = children.provisional; p < children.length; p++) {
-          const c = children[p];
-          if (c)
-            c.#markENOENT();
+      async [kDestroy](err) {
+        const destroyPromises = [];
+        for (const ref of this[kClients].values()) {
+          const client = ref.deref();
+          if (client) {
+            destroyPromises.push(client.destroy(err));
+          }
         }
+        await Promise.all(destroyPromises);
       }
-      #markENOENT() {
-        if (this.#type & ENOENT)
-          return;
-        this.#type = (this.#type | ENOENT) & IFMT_UNKNOWN;
-        this.#markChildrenENOENT();
+    };
+    module2.exports = Agent;
+  }
+});
+
+// node_modules/undici/lib/api/readable.js
+var require_readable5 = __commonJS({
+  "node_modules/undici/lib/api/readable.js"(exports2, module2) {
+    "use strict";
+    var assert = require("assert");
+    var { Readable } = require("stream");
+    var { RequestAbortedError, NotSupportedError, InvalidArgumentError } = require_errors5();
+    var util = require_util23();
+    var { ReadableStreamFrom, toUSVString } = require_util23();
+    var Blob2;
+    var kConsume = /* @__PURE__ */ Symbol("kConsume");
+    var kReading = /* @__PURE__ */ Symbol("kReading");
+    var kBody = /* @__PURE__ */ Symbol("kBody");
+    var kAbort = /* @__PURE__ */ Symbol("abort");
+    var kContentType = /* @__PURE__ */ Symbol("kContentType");
+    var noop3 = () => {
+    };
+    module2.exports = class BodyReadable extends Readable {
+      constructor({
+        resume,
+        abort,
+        contentType = "",
+        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[kReading] = false;
       }
-      #markChildrenENOENT() {
-        const children = this.children();
-        children.provisional = 0;
-        for (const p of children) {
-          p.#markENOENT();
+      destroy(err) {
+        if (this.destroyed) {
+          return this;
         }
-      }
-      #markENOREALPATH() {
-        this.#type |= ENOREALPATH;
-        this.#markENOTDIR();
-      }
-      // save the information when we know the entry is not a dir
-      #markENOTDIR() {
-        if (this.#type & ENOTDIR)
-          return;
-        let t = this.#type;
-        if ((t & IFMT) === IFDIR)
-          t &= IFMT_UNKNOWN;
-        this.#type = t | ENOTDIR;
-        this.#markChildrenENOENT();
-      }
-      #readdirFail(code = "") {
-        if (code === "ENOTDIR" || code === "EPERM") {
-          this.#markENOTDIR();
-        } else if (code === "ENOENT") {
-          this.#markENOENT();
-        } else {
-          this.children().provisional = 0;
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
+        }
+        if (err) {
+          this[kAbort]();
         }
+        return super.destroy(err);
       }
-      #lstatFail(code = "") {
-        if (code === "ENOTDIR") {
-          const p = this.parent;
-          p.#markENOTDIR();
-        } else if (code === "ENOENT") {
-          this.#markENOENT();
+      emit(ev, ...args) {
+        if (ev === "data") {
+          this._readableState.dataEmitted = true;
+        } else if (ev === "error") {
+          this._readableState.errorEmitted = true;
         }
+        return super.emit(ev, ...args);
       }
-      #readlinkFail(code = "") {
-        let ter = this.#type;
-        ter |= ENOREADLINK;
-        if (code === "ENOENT")
-          ter |= ENOENT;
-        if (code === "EINVAL" || code === "UNKNOWN") {
-          ter &= IFMT_UNKNOWN;
-        }
-        this.#type = ter;
-        if (code === "ENOTDIR" && this.parent) {
-          this.parent.#markENOTDIR();
+      on(ev, ...args) {
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = true;
         }
+        return super.on(ev, ...args);
       }
-      #readdirAddChild(e, c) {
-        return this.#readdirMaybePromoteChild(e, c) || this.#readdirAddNewChild(e, c);
+      addListener(ev, ...args) {
+        return this.on(ev, ...args);
       }
-      #readdirAddNewChild(e, c) {
-        const type2 = entToType(e);
-        const child = this.newChild(e.name, type2, { parent: this });
-        const ifmt = child.#type & IFMT;
-        if (ifmt !== IFDIR && ifmt !== IFLNK && ifmt !== UNKNOWN) {
-          child.#type |= ENOTDIR;
+      off(ev, ...args) {
+        const ret = super.off(ev, ...args);
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0;
         }
-        c.unshift(child);
-        c.provisional++;
-        return child;
+        return ret;
       }
-      #readdirMaybePromoteChild(e, c) {
-        for (let p = c.provisional; p < c.length; p++) {
-          const pchild = c[p];
-          const name = this.nocase ? normalizeNocase(e.name) : normalize2(e.name);
-          if (name !== pchild.#matchName) {
-            continue;
-          }
-          return this.#readdirPromoteChild(e, pchild, p, c);
-        }
+      removeListener(ev, ...args) {
+        return this.off(ev, ...args);
       }
-      #readdirPromoteChild(e, p, index, c) {
-        const v = p.name;
-        p.#type = p.#type & IFMT_UNKNOWN | entToType(e);
-        if (v !== e.name)
-          p.name = e.name;
-        if (index !== c.provisional) {
-          if (index === c.length - 1)
-            c.pop();
-          else
-            c.splice(index, 1);
-          c.unshift(p);
+      push(chunk) {
+        if (this[kConsume] && chunk !== null && this.readableLength === 0) {
+          consumePush(this[kConsume], chunk);
+          return this[kReading] ? super.push(chunk) : true;
         }
-        c.provisional++;
-        return p;
+        return super.push(chunk);
       }
-      /**
-       * Call lstat() on this Path, and update all known information that can be
-       * determined.
-       *
-       * Note that unlike `fs.lstat()`, the returned value does not contain some
-       * information, such as `mode`, `dev`, `nlink`, and `ino`.  If that
-       * information is required, you will need to call `fs.lstat` yourself.
-       *
-       * If the Path refers to a nonexistent file, or if the lstat call fails for
-       * any reason, `undefined` is returned.  Otherwise the updated Path object is
-       * returned.
-       *
-       * Results are cached, and thus may be out of date if the filesystem is
-       * mutated.
-       */
-      async lstat() {
-        if ((this.#type & ENOENT) === 0) {
-          try {
-            this.#applyStat(await this.#fs.promises.lstat(this.fullpath()));
-            return this;
-          } catch (er) {
-            this.#lstatFail(er.code);
-          }
-        }
+      // https://fetch.spec.whatwg.org/#dom-body-text
+      async text() {
+        return consume(this, "text");
       }
-      /**
-       * synchronous {@link PathBase.lstat}
-       */
-      lstatSync() {
-        if ((this.#type & ENOENT) === 0) {
-          try {
-            this.#applyStat(this.#fs.lstatSync(this.fullpath()));
-            return this;
-          } catch (er) {
-            this.#lstatFail(er.code);
-          }
-        }
+      // https://fetch.spec.whatwg.org/#dom-body-json
+      async json() {
+        return consume(this, "json");
       }
-      #applyStat(st) {
-        const { atime, atimeMs, birthtime, birthtimeMs, blksize, blocks, ctime, ctimeMs, dev, gid, ino, mode, mtime, mtimeMs, nlink, rdev, size, uid } = st;
-        this.#atime = atime;
-        this.#atimeMs = atimeMs;
-        this.#birthtime = birthtime;
-        this.#birthtimeMs = birthtimeMs;
-        this.#blksize = blksize;
-        this.#blocks = blocks;
-        this.#ctime = ctime;
-        this.#ctimeMs = ctimeMs;
-        this.#dev = dev;
-        this.#gid = gid;
-        this.#ino = ino;
-        this.#mode = mode;
-        this.#mtime = mtime;
-        this.#mtimeMs = mtimeMs;
-        this.#nlink = nlink;
-        this.#rdev = rdev;
-        this.#size = size;
-        this.#uid = uid;
-        const ifmt = entToType(st);
-        this.#type = this.#type & IFMT_UNKNOWN | ifmt | LSTAT_CALLED;
-        if (ifmt !== UNKNOWN && ifmt !== IFDIR && ifmt !== IFLNK) {
-          this.#type |= ENOTDIR;
-        }
+      // https://fetch.spec.whatwg.org/#dom-body-blob
+      async blob() {
+        return consume(this, "blob");
       }
-      #onReaddirCB = [];
-      #readdirCBInFlight = false;
-      #callOnReaddirCB(children) {
-        this.#readdirCBInFlight = false;
-        const cbs = this.#onReaddirCB.slice();
-        this.#onReaddirCB.length = 0;
-        cbs.forEach((cb) => cb(null, children));
+      // https://fetch.spec.whatwg.org/#dom-body-arraybuffer
+      async arrayBuffer() {
+        return consume(this, "arrayBuffer");
       }
-      /**
-       * Standard node-style callback interface to get list of directory entries.
-       *
-       * If the Path cannot or does not contain any children, then an empty array
-       * is returned.
-       *
-       * Results are cached, and thus may be out of date if the filesystem is
-       * mutated.
-       *
-       * @param cb The callback called with (er, entries).  Note that the `er`
-       * param is somewhat extraneous, as all readdir() errors are handled and
-       * simply result in an empty set of entries being returned.
-       * @param allowZalgo Boolean indicating that immediately known results should
-       * *not* be deferred with `queueMicrotask`. Defaults to `false`. Release
-       * zalgo at your peril, the dark pony lord is devious and unforgiving.
-       */
-      readdirCB(cb, allowZalgo = false) {
-        if (!this.canReaddir()) {
-          if (allowZalgo)
-            cb(null, []);
-          else
-            queueMicrotask(() => cb(null, []));
-          return;
-        }
-        const children = this.children();
-        if (this.calledReaddir()) {
-          const c = children.slice(0, children.provisional);
-          if (allowZalgo)
-            cb(null, c);
-          else
-            queueMicrotask(() => cb(null, c));
-          return;
-        }
-        this.#onReaddirCB.push(cb);
-        if (this.#readdirCBInFlight) {
-          return;
-        }
-        this.#readdirCBInFlight = true;
-        const fullpath = this.fullpath();
-        this.#fs.readdir(fullpath, { withFileTypes: true }, (er, entries) => {
-          if (er) {
-            this.#readdirFail(er.code);
-            children.provisional = 0;
-          } else {
-            for (const e of entries) {
-              this.#readdirAddChild(e, children);
-            }
-            this.#readdirSuccess(children);
-          }
-          this.#callOnReaddirCB(children.slice(0, children.provisional));
-          return;
-        });
+      // https://fetch.spec.whatwg.org/#dom-body-formdata
+      async formData() {
+        throw new NotSupportedError();
       }
-      #asyncReaddirInFlight;
-      /**
-       * Return an array of known child entries.
-       *
-       * If the Path cannot or does not contain any children, then an empty array
-       * is returned.
-       *
-       * Results are cached, and thus may be out of date if the filesystem is
-       * mutated.
-       */
-      async readdir() {
-        if (!this.canReaddir()) {
-          return [];
-        }
-        const children = this.children();
-        if (this.calledReaddir()) {
-          return children.slice(0, children.provisional);
+      // 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);
+          }
         }
-        const fullpath = this.fullpath();
-        if (this.#asyncReaddirInFlight) {
-          await this.#asyncReaddirInFlight;
-        } else {
-          let resolve2 = () => {
-          };
-          this.#asyncReaddirInFlight = new Promise((res) => resolve2 = res);
+        return this[kBody];
+      }
+      dump(opts) {
+        let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144;
+        const signal = opts && opts.signal;
+        if (signal) {
           try {
-            for (const e of await this.#fs.promises.readdir(fullpath, {
-              withFileTypes: true
-            })) {
-              this.#readdirAddChild(e, children);
+            if (typeof signal !== "object" || !("aborted" in signal)) {
+              throw new InvalidArgumentError("signal must be an AbortSignal");
             }
-            this.#readdirSuccess(children);
-          } catch (er) {
-            this.#readdirFail(er.code);
-            children.provisional = 0;
+            util.throwIfAborted(signal);
+          } catch (err) {
+            return Promise.reject(err);
           }
-          this.#asyncReaddirInFlight = void 0;
-          resolve2();
-        }
-        return children.slice(0, children.provisional);
-      }
-      /**
-       * synchronous {@link PathBase.readdir}
-       */
-      readdirSync() {
-        if (!this.canReaddir()) {
-          return [];
         }
-        const children = this.children();
-        if (this.calledReaddir()) {
-          return children.slice(0, children.provisional);
+        if (this.closed) {
+          return Promise.resolve(null);
         }
-        const fullpath = this.fullpath();
-        try {
-          for (const e of this.#fs.readdirSync(fullpath, {
-            withFileTypes: true
-          })) {
-            this.#readdirAddChild(e, children);
+        return new Promise((resolve2, reject) => {
+          const signalListenerCleanup = signal ? util.addAbortListener(signal, () => {
+            this.destroy();
+          }) : noop3;
+          this.on("close", function() {
+            signalListenerCleanup();
+            if (signal && signal.aborted) {
+              reject(signal.reason || Object.assign(new Error("The operation was aborted"), { name: "AbortError" }));
+            } else {
+              resolve2(null);
+            }
+          }).on("error", noop3).on("data", function(chunk) {
+            limit -= chunk.length;
+            if (limit <= 0) {
+              this.destroy();
+            }
+          }).resume();
+        });
+      }
+    };
+    function isLocked(self2) {
+      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
+    }
+    function isUnusable(self2) {
+      return util.isDisturbed(self2) || isLocked(self2);
+    }
+    async function consume(stream, type2) {
+      if (isUnusable(stream)) {
+        throw new TypeError("unusable");
+      }
+      assert(!stream[kConsume]);
+      return new Promise((resolve2, reject) => {
+        stream[kConsume] = {
+          type: type2,
+          stream,
+          resolve: resolve2,
+          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());
           }
-          this.#readdirSuccess(children);
-        } catch (er) {
-          this.#readdirFail(er.code);
-          children.provisional = 0;
-        }
-        return children.slice(0, children.provisional);
+        });
+        process.nextTick(consumeStart, stream[kConsume]);
+      });
+    }
+    function consumeStart(consume2) {
+      if (consume2.body === null) {
+        return;
       }
-      canReaddir() {
-        if (this.#type & ENOCHILD)
-          return false;
-        const ifmt = IFMT & this.#type;
-        if (!(ifmt === UNKNOWN || ifmt === IFDIR || ifmt === IFLNK)) {
-          return false;
-        }
-        return true;
+      const { _readableState: state } = consume2.stream;
+      for (const chunk of state.buffer) {
+        consumePush(consume2, chunk);
       }
-      shouldWalk(dirs, walkFilter) {
-        return (this.#type & IFDIR) === IFDIR && !(this.#type & ENOCHILD) && !dirs.has(this) && (!walkFilter || walkFilter(this));
+      if (state.endEmitted) {
+        consumeEnd(this[kConsume]);
+      } else {
+        consume2.stream.on("end", function() {
+          consumeEnd(this[kConsume]);
+        });
       }
-      /**
-       * Return the Path object corresponding to path as resolved
-       * by realpath(3).
-       *
-       * If the realpath call fails for any reason, `undefined` is returned.
-       *
-       * Result is cached, and thus may be outdated if the filesystem is mutated.
-       * On success, returns a Path object.
-       */
-      async realpath() {
-        if (this.#realpath)
-          return this.#realpath;
-        if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type)
-          return void 0;
-        try {
-          const rp = await this.#fs.promises.realpath(this.fullpath());
-          return this.#realpath = this.resolve(rp);
-        } catch (_2) {
-          this.#markENOREALPATH();
-        }
+      consume2.stream.resume();
+      while (consume2.stream.read() != null) {
       }
-      /**
-       * Synchronous {@link realpath}
-       */
-      realpathSync() {
-        if (this.#realpath)
-          return this.#realpath;
-        if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type)
-          return void 0;
-        try {
-          const rp = this.#fs.realpathSync(this.fullpath());
-          return this.#realpath = this.resolve(rp);
-        } catch (_2) {
-          this.#markENOREALPATH();
+    }
+    function consumeEnd(consume2) {
+      const { type: type2, body, resolve: resolve2, stream, length } = consume2;
+      try {
+        if (type2 === "text") {
+          resolve2(toUSVString(Buffer.concat(body)));
+        } else if (type2 === "json") {
+          resolve2(JSON.parse(Buffer.concat(body)));
+        } else if (type2 === "arrayBuffer") {
+          const dst = new Uint8Array(length);
+          let pos = 0;
+          for (const buf of body) {
+            dst.set(buf, pos);
+            pos += buf.byteLength;
+          }
+          resolve2(dst.buffer);
+        } else if (type2 === "blob") {
+          if (!Blob2) {
+            Blob2 = require("buffer").Blob;
+          }
+          resolve2(new Blob2(body, { type: stream[kContentType] }));
         }
+        consumeFinish(consume2);
+      } catch (err) {
+        stream.destroy(err);
       }
-      /**
-       * Internal method to mark this Path object as the scurry cwd,
-       * called by {@link PathScurry#chdir}
-       *
-       * @internal
-       */
-      [setAsCwd](oldCwd) {
-        if (oldCwd === this)
-          return;
-        oldCwd.isCWD = false;
-        this.isCWD = true;
-        const changed = /* @__PURE__ */ new Set([]);
-        let rp = [];
-        let p = this;
-        while (p && p.parent) {
-          changed.add(p);
-          p.#relative = rp.join(this.sep);
-          p.#relativePosix = rp.join("/");
-          p = p.parent;
-          rp.push("..");
-        }
-        p = oldCwd;
-        while (p && p.parent && !changed.has(p)) {
-          p.#relative = void 0;
-          p.#relativePosix = void 0;
-          p = p.parent;
-        }
+    }
+    function consumePush(consume2, chunk) {
+      consume2.length += chunk.length;
+      consume2.body.push(chunk);
+    }
+    function consumeFinish(consume2, err) {
+      if (consume2.body === null) {
+        return;
       }
-    };
-    exports2.PathBase = PathBase;
-    var PathWin32 = class _PathWin32 extends PathBase {
-      /**
-       * Separator for generating path strings.
-       */
-      sep = "\\";
-      /**
-       * Separator for parsing path strings.
-       */
-      splitSep = eitherSep;
-      /**
-       * Do not create new Path objects directly.  They should always be accessed
-       * via the PathScurry class or other methods on the Path class.
-       *
-       * @internal
-       */
-      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
-        super(name, type2, root, roots, nocase, children, opts);
+      if (err) {
+        consume2.reject(err);
+      } else {
+        consume2.resolve();
       }
-      /**
-       * @internal
-       */
-      newChild(name, type2 = UNKNOWN, opts = {}) {
-        return new _PathWin32(name, type2, this.root, this.roots, this.nocase, this.childrenCache(), opts);
+      consume2.type = null;
+      consume2.stream = null;
+      consume2.resolve = null;
+      consume2.reject = null;
+      consume2.length = 0;
+      consume2.body = null;
+    }
+  }
+});
+
+// node_modules/undici/lib/api/util.js
+var require_util25 = __commonJS({
+  "node_modules/undici/lib/api/util.js"(exports2, module2) {
+    var assert = require("assert");
+    var {
+      ResponseStatusCodeError
+    } = require_errors5();
+    var { toUSVString } = require_util23();
+    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
+      assert(body);
+      let chunks = [];
+      let limit = 0;
+      for await (const chunk of body) {
+        chunks.push(chunk);
+        limit += chunk.length;
+        if (limit > 128 * 1024) {
+          chunks = null;
+          break;
+        }
       }
-      /**
-       * @internal
-       */
-      getRootString(path3) {
-        return node_path_1.win32.parse(path3).root;
+      if (statusCode === 204 || !contentType || !chunks) {
+        process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
+        return;
       }
-      /**
-       * @internal
-       */
-      getRoot(rootPath) {
-        rootPath = uncToDrive(rootPath.toUpperCase());
-        if (rootPath === this.root.name) {
-          return this.root;
+      try {
+        if (contentType.startsWith("application/json")) {
+          const payload = JSON.parse(toUSVString(Buffer.concat(chunks)));
+          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
+          return;
         }
-        for (const [compare2, root] of Object.entries(this.roots)) {
-          if (this.sameRoot(rootPath, compare2)) {
-            return this.roots[rootPath] = root;
-          }
+        if (contentType.startsWith("text/")) {
+          const payload = toUSVString(Buffer.concat(chunks));
+          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
+          return;
         }
-        return this.roots[rootPath] = new PathScurryWin32(rootPath, this).root;
+      } catch (err) {
       }
-      /**
-       * @internal
-       */
-      sameRoot(rootPath, compare2 = this.root.name) {
-        rootPath = rootPath.toUpperCase().replace(/\//g, "\\").replace(uncDriveRegexp, "$1\\");
-        return rootPath === compare2;
+      process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
+    }
+    module2.exports = { getResolveErrorBodyCallback };
+  }
+});
+
+// node_modules/undici/lib/api/abort-signal.js
+var require_abort_signal3 = __commonJS({
+  "node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
+    var { addAbortListener } = require_util23();
+    var { RequestAbortedError } = require_errors5();
+    var kListener = /* @__PURE__ */ Symbol("kListener");
+    var kSignal = /* @__PURE__ */ Symbol("kSignal");
+    function abort(self2) {
+      if (self2.abort) {
+        self2.abort();
+      } else {
+        self2.onError(new RequestAbortedError());
       }
-    };
-    exports2.PathWin32 = PathWin32;
-    var PathPosix = class _PathPosix extends PathBase {
-      /**
-       * separator for parsing path strings
-       */
-      splitSep = "/";
-      /**
-       * separator for generating path strings
-       */
-      sep = "/";
-      /**
-       * Do not create new Path objects directly.  They should always be accessed
-       * via the PathScurry class or other methods on the Path class.
-       *
-       * @internal
-       */
-      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
-        super(name, type2, root, roots, nocase, children, opts);
+    }
+    function addSignal(self2, signal) {
+      self2[kSignal] = null;
+      self2[kListener] = null;
+      if (!signal) {
+        return;
       }
-      /**
-       * @internal
-       */
-      getRootString(path3) {
-        return path3.startsWith("/") ? "/" : "";
+      if (signal.aborted) {
+        abort(self2);
+        return;
       }
-      /**
-       * @internal
-       */
-      getRoot(_rootPath) {
-        return this.root;
+      self2[kSignal] = signal;
+      self2[kListener] = () => {
+        abort(self2);
+      };
+      addAbortListener(self2[kSignal], self2[kListener]);
+    }
+    function removeSignal(self2) {
+      if (!self2[kSignal]) {
+        return;
       }
-      /**
-       * @internal
-       */
-      newChild(name, type2 = UNKNOWN, opts = {}) {
-        return new _PathPosix(name, type2, this.root, this.roots, this.nocase, this.childrenCache(), opts);
+      if ("removeEventListener" in self2[kSignal]) {
+        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      } else {
+        self2[kSignal].removeListener("abort", self2[kListener]);
       }
+      self2[kSignal] = null;
+      self2[kListener] = null;
+    }
+    module2.exports = {
+      addSignal,
+      removeSignal
     };
-    exports2.PathPosix = PathPosix;
-    var PathScurryBase = class {
-      /**
-       * The root Path entry for the current working directory of this Scurry
-       */
-      root;
-      /**
-       * The string path for the root of this Scurry's current working directory
-       */
-      rootPath;
-      /**
-       * A collection of all roots encountered, referenced by rootPath
-       */
-      roots;
-      /**
-       * The Path entry corresponding to this PathScurry's current working directory.
-       */
-      cwd;
-      #resolveCache;
-      #resolvePosixCache;
-      #children;
-      /**
-       * Perform path comparisons case-insensitively.
-       *
-       * Defaults true on Darwin and Windows systems, false elsewhere.
-       */
-      nocase;
-      #fs;
-      /**
-       * This class should not be instantiated directly.
-       *
-       * Use PathScurryWin32, PathScurryDarwin, PathScurryPosix, or PathScurry
-       *
-       * @internal
-       */
-      constructor(cwd = process.cwd(), pathImpl, sep2, { nocase, childrenCacheSize = 16 * 1024, fs: fs3 = defaultFS } = {}) {
-        this.#fs = fsFromOption(fs3);
-        if (cwd instanceof URL || cwd.startsWith("file://")) {
-          cwd = (0, node_url_1.fileURLToPath)(cwd);
-        }
-        const cwdPath = pathImpl.resolve(cwd);
-        this.roots = /* @__PURE__ */ Object.create(null);
-        this.rootPath = this.parseRootPath(cwdPath);
-        this.#resolveCache = new ResolveCache();
-        this.#resolvePosixCache = new ResolveCache();
-        this.#children = new ChildrenCache(childrenCacheSize);
-        const split = cwdPath.substring(this.rootPath.length).split(sep2);
-        if (split.length === 1 && !split[0]) {
-          split.pop();
+  }
+});
+
+// node_modules/undici/lib/api/api-request.js
+var require_api_request3 = __commonJS({
+  "node_modules/undici/lib/api/api-request.js"(exports2, module2) {
+    "use strict";
+    var Readable = require_readable5();
+    var {
+      InvalidArgumentError,
+      RequestAbortedError
+    } = require_errors5();
+    var util = require_util23();
+    var { getResolveErrorBodyCallback } = require_util25();
+    var { AsyncResource } = require("async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal3();
+    var RequestHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        if (nocase === void 0) {
-          throw new TypeError("must provide nocase setting to PathScurryBase ctor");
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
+        try {
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
+            throw new InvalidArgumentError("invalid highWaterMark");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
+          }
+          super("UNDICI_REQUEST");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
         }
-        this.nocase = nocase;
-        this.root = this.newRoot(this.#fs);
-        this.roots[this.rootPath] = this.root;
-        let prev = this.root;
-        let len = split.length - 1;
-        const joinSep = pathImpl.sep;
-        let abs = this.rootPath;
-        let sawFirst = false;
-        for (const part of split) {
-          const l = len--;
-          prev = prev.child(part, {
-            relative: new Array(l).fill("..").join(joinSep),
-            relativePosix: new Array(l).fill("..").join("/"),
-            fullpath: abs += (sawFirst ? "" : joinSep) + part
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.body = body;
+        this.trailers = {};
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError;
+        this.highWaterMark = highWaterMark;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
           });
-          sawFirst = true;
         }
-        this.cwd = prev;
+        addSignal(this, signal);
       }
-      /**
-       * Get the depth of a provided path, string, or the cwd
-       */
-      depth(path3 = this.cwd) {
-        if (typeof path3 === "string") {
-          path3 = this.cwd.resolve(path3);
+      onConnect(abort, context2) {
+        if (!this.callback) {
+          throw new RequestAbortedError();
         }
-        return path3.depth();
-      }
-      /**
-       * Return the cache of child entries.  Exposed so subclasses can create
-       * child Path objects in a platform-specific way.
-       *
-       * @internal
-       */
-      childrenCache() {
-        return this.#children;
+        this.abort = abort;
+        this.context = context2;
       }
-      /**
-       * Resolve one or more path strings to a resolved string
-       *
-       * Same interface as require('path').resolve.
-       *
-       * Much faster than path.resolve() when called multiple times for the same
-       * path, because the resolved Path objects are cached.  Much slower
-       * otherwise.
-       */
-      resolve(...paths) {
-        let r = "";
-        for (let i = paths.length - 1; i >= 0; i--) {
-          const p = paths[i];
-          if (!p || p === ".")
-            continue;
-          r = r ? `${p}/${r}` : p;
-          if (this.isAbsolute(p)) {
-            break;
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { callback, opaque, abort, context: context2, 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 cached = this.#resolveCache.get(r);
-        if (cached !== void 0) {
-          return cached;
-        }
-        const result = this.cwd.resolve(r).fullpath();
-        this.#resolveCache.set(r, result);
-        return result;
-      }
-      /**
-       * Resolve one or more path strings to a resolved string, returning
-       * the posix path.  Identical to .resolve() on posix systems, but on
-       * windows will return a forward-slash separated UNC path.
-       *
-       * Same interface as require('path').resolve.
-       *
-       * Much faster than path.resolve() when called multiple times for the same
-       * path, because the resolved Path objects are cached.  Much slower
-       * otherwise.
-       */
-      resolvePosix(...paths) {
-        let r = "";
-        for (let i = paths.length - 1; i >= 0; i--) {
-          const p = paths[i];
-          if (!p || p === ".")
-            continue;
-          r = r ? `${p}/${r}` : p;
-          if (this.isAbsolute(p)) {
-            break;
+        const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
+        const contentType = parsedHeaders["content-type"];
+        const body = new Readable({ resume, abort, contentType, highWaterMark });
+        this.callback = null;
+        this.res = body;
+        if (callback !== null) {
+          if (this.throwOnError && statusCode >= 400) {
+            this.runInAsyncScope(
+              getResolveErrorBodyCallback,
+              null,
+              { callback, body, contentType, statusCode, statusMessage, headers }
+            );
+          } else {
+            this.runInAsyncScope(callback, null, null, {
+              statusCode,
+              headers,
+              trailers: this.trailers,
+              opaque,
+              body,
+              context: context2
+            });
           }
         }
-        const cached = this.#resolvePosixCache.get(r);
-        if (cached !== void 0) {
-          return cached;
-        }
-        const result = this.cwd.resolve(r).fullpathPosix();
-        this.#resolvePosixCache.set(r, result);
-        return result;
       }
-      /**
-       * find the relative path from the cwd to the supplied path string or entry
-       */
-      relative(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        }
-        return entry.relative();
+      onData(chunk) {
+        const { res } = this;
+        return res.push(chunk);
       }
-      /**
-       * find the relative path from the cwd to the supplied path string or
-       * entry, using / as the path delimiter, even on Windows.
-       */
-      relativePosix(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        }
-        return entry.relativePosix();
+      onComplete(trailers) {
+        const { res } = this;
+        removeSignal(this);
+        util.parseHeaders(trailers, this.trailers);
+        res.push(null);
       }
-      /**
-       * Return the basename for the provided string or Path object
-       */
-      basename(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
+      onError(err) {
+        const { res, callback, body, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        return entry.name;
-      }
-      /**
-       * Return the dirname for the provided string or Path object
-       */
-      dirname(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
+        if (res) {
+          this.res = null;
+          queueMicrotask(() => {
+            util.destroy(res, err);
+          });
         }
-        return (entry.parent || entry).fullpath();
-      }
-      async readdir(entry = this.cwd, opts = {
-        withFileTypes: true
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
         }
-        const { withFileTypes } = opts;
-        if (!entry.canReaddir()) {
-          return [];
-        } else {
-          const p = await entry.readdir();
-          return withFileTypes ? p : p.map((e) => e.name);
+      }
+    };
+    function request2(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve2, reject) => {
+          request2.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve2(data);
+          });
+        });
+      }
+      try {
+        this.dispatch(opts, new RequestHandler(opts, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
+        const opaque = opts && opts.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
-      readdirSync(entry = this.cwd, opts = {
-        withFileTypes: true
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
+    }
+    module2.exports = request2;
+    module2.exports.RequestHandler = RequestHandler;
+  }
+});
+
+// node_modules/undici/lib/api/api-stream.js
+var require_api_stream3 = __commonJS({
+  "node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
+    "use strict";
+    var { finished, PassThrough } = require("stream");
+    var {
+      InvalidArgumentError,
+      InvalidReturnValueError,
+      RequestAbortedError
+    } = require_errors5();
+    var util = require_util23();
+    var { getResolveErrorBodyCallback } = require_util25();
+    var { AsyncResource } = require("async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal3();
+    var StreamHandler = class extends AsyncResource {
+      constructor(opts, factory, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        const { withFileTypes = true } = opts;
-        if (!entry.canReaddir()) {
-          return [];
-        } else if (withFileTypes) {
-          return entry.readdirSync();
-        } else {
-          return entry.readdirSync().map((e) => e.name);
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
+        try {
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (typeof factory !== "function") {
+            throw new InvalidArgumentError("invalid factory");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
+          }
+          super("UNDICI_STREAM");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
         }
-      }
-      /**
-       * Call lstat() on the string or Path object, and update all known
-       * information that can be determined.
-       *
-       * Note that unlike `fs.lstat()`, the returned value does not contain some
-       * information, such as `mode`, `dev`, `nlink`, and `ino`.  If that
-       * information is required, you will need to call `fs.lstat` yourself.
-       *
-       * If the Path refers to a nonexistent file, or if the lstat call fails for
-       * any reason, `undefined` is returned.  Otherwise the updated Path object is
-       * returned.
-       *
-       * Results are cached, and thus may be out of date if the filesystem is
-       * mutated.
-       */
-      async lstat(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.factory = factory;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.context = null;
+        this.trailers = null;
+        this.body = body;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError || false;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
         }
-        return entry.lstat();
+        addSignal(this, signal);
       }
-      /**
-       * synchronous {@link PathScurryBase.lstat}
-       */
-      lstatSync(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
+      onConnect(abort, context2) {
+        if (!this.callback) {
+          throw new RequestAbortedError();
         }
-        return entry.lstatSync();
+        this.abort = abort;
+        this.context = context2;
       }
-      async readlink(entry = this.cwd, { withFileTypes } = {
-        withFileTypes: false
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          withFileTypes = entry.withFileTypes;
-          entry = this.cwd;
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { factory, opaque, context: context2, callback, responseHeaders } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
+          }
+          return;
         }
-        const e = await entry.readlink();
-        return withFileTypes ? e : e?.fullpath();
-      }
-      readlinkSync(entry = this.cwd, { withFileTypes } = {
-        withFileTypes: false
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          withFileTypes = entry.withFileTypes;
-          entry = this.cwd;
+        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: context2
+          });
+          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();
+            }
+          });
         }
-        const e = entry.readlinkSync();
-        return withFileTypes ? e : e?.fullpath();
+        res.on("drain", resume);
+        this.res = res;
+        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState && res._writableState.needDrain;
+        return needDrain !== true;
       }
-      async realpath(entry = this.cwd, { withFileTypes } = {
-        withFileTypes: false
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          withFileTypes = entry.withFileTypes;
-          entry = this.cwd;
-        }
-        const e = await entry.realpath();
-        return withFileTypes ? e : e?.fullpath();
+      onData(chunk) {
+        const { res } = this;
+        return res ? res.write(chunk) : true;
       }
-      realpathSync(entry = this.cwd, { withFileTypes } = {
-        withFileTypes: false
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          withFileTypes = entry.withFileTypes;
-          entry = this.cwd;
+      onComplete(trailers) {
+        const { res } = this;
+        removeSignal(this);
+        if (!res) {
+          return;
         }
-        const e = entry.realpathSync();
-        return withFileTypes ? e : e?.fullpath();
+        this.trailers = util.parseHeaders(trailers);
+        res.end();
       }
-      async walk(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
+      onError(err) {
+        const { res, callback, opaque, body } = this;
+        removeSignal(this);
+        this.factory = null;
+        if (res) {
+          this.res = null;
+          util.destroy(res, err);
+        } else if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        const results = [];
-        if (!filter || filter(entry)) {
-          results.push(withFileTypes ? entry : entry.fullpath());
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
         }
-        const dirs = /* @__PURE__ */ new Set();
-        const walk = (dir, cb) => {
-          dirs.add(dir);
-          dir.readdirCB((er, entries) => {
-            if (er) {
-              return cb(er);
-            }
-            let len = entries.length;
-            if (!len)
-              return cb();
-            const next = () => {
-              if (--len === 0) {
-                cb();
-              }
-            };
-            for (const e of entries) {
-              if (!filter || filter(e)) {
-                results.push(withFileTypes ? e : e.fullpath());
-              }
-              if (follow && e.isSymbolicLink()) {
-                e.realpath().then((r) => r?.isUnknown() ? r.lstat() : r).then((r) => r?.shouldWalk(dirs, walkFilter) ? walk(r, next) : next());
-              } else {
-                if (e.shouldWalk(dirs, walkFilter)) {
-                  walk(e, next);
-                } else {
-                  next();
-                }
-              }
-            }
-          }, true);
-        };
-        const start = entry;
-        return new Promise((res, rej) => {
-          walk(start, (er) => {
-            if (er)
-              return rej(er);
-            res(results);
+      }
+    };
+    function stream(opts, factory, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve2, reject) => {
+          stream.call(this, opts, factory, (err, data) => {
+            return err ? reject(err) : resolve2(data);
           });
         });
       }
-      walkSync(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
-        }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        const results = [];
-        if (!filter || filter(entry)) {
-          results.push(withFileTypes ? entry : entry.fullpath());
-        }
-        const dirs = /* @__PURE__ */ new Set([entry]);
-        for (const dir of dirs) {
-          const entries = dir.readdirSync();
-          for (const e of entries) {
-            if (!filter || filter(e)) {
-              results.push(withFileTypes ? e : e.fullpath());
-            }
-            let r = e;
-            if (e.isSymbolicLink()) {
-              if (!(follow && (r = e.realpathSync())))
-                continue;
-              if (r.isUnknown())
-                r.lstatSync();
-            }
-            if (r.shouldWalk(dirs, walkFilter)) {
-              dirs.add(r);
-            }
-          }
+      try {
+        this.dispatch(opts, new StreamHandler(opts, factory, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
-        return results;
+        const opaque = opts && opts.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
-      /**
-       * Support for `for await`
-       *
-       * Alias for {@link PathScurryBase.iterate}
-       *
-       * Note: As of Node 19, this is very slow, compared to other methods of
-       * walking.  Consider using {@link PathScurryBase.stream} if memory overhead
-       * and backpressure are concerns, or {@link PathScurryBase.walk} if not.
-       */
-      [Symbol.asyncIterator]() {
-        return this.iterate();
+    }
+    module2.exports = stream;
+  }
+});
+
+// node_modules/undici/lib/api/api-pipeline.js
+var require_api_pipeline3 = __commonJS({
+  "node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
+    "use strict";
+    var {
+      Readable,
+      Duplex,
+      PassThrough
+    } = require("stream");
+    var {
+      InvalidArgumentError,
+      InvalidReturnValueError,
+      RequestAbortedError
+    } = require_errors5();
+    var util = require_util23();
+    var { AsyncResource } = require("async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal3();
+    var assert = require("assert");
+    var kResume = /* @__PURE__ */ Symbol("resume");
+    var PipelineRequest = class extends Readable {
+      constructor() {
+        super({ autoDestroy: true });
+        this[kResume] = null;
       }
-      iterate(entry = this.cwd, options = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          options = entry;
-          entry = this.cwd;
+      _read() {
+        const { [kResume]: resume } = this;
+        if (resume) {
+          this[kResume] = null;
+          resume();
         }
-        return this.stream(entry, options)[Symbol.asyncIterator]();
       }
-      /**
-       * Iterating over a PathScurry performs a synchronous walk.
-       *
-       * Alias for {@link PathScurryBase.iterateSync}
-       */
-      [Symbol.iterator]() {
-        return this.iterateSync();
+      _destroy(err, callback) {
+        this._read();
+        callback(err);
       }
-      *iterateSync(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
-        }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        if (!filter || filter(entry)) {
-          yield withFileTypes ? entry : entry.fullpath();
-        }
-        const dirs = /* @__PURE__ */ new Set([entry]);
-        for (const dir of dirs) {
-          const entries = dir.readdirSync();
-          for (const e of entries) {
-            if (!filter || filter(e)) {
-              yield withFileTypes ? e : e.fullpath();
-            }
-            let r = e;
-            if (e.isSymbolicLink()) {
-              if (!(follow && (r = e.realpathSync())))
-                continue;
-              if (r.isUnknown())
-                r.lstatSync();
-            }
-            if (r.shouldWalk(dirs, walkFilter)) {
-              dirs.add(r);
-            }
-          }
+    };
+    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);
       }
-      stream(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
+    };
+    var PipelineHandler = class extends AsyncResource {
+      constructor(opts, handler2) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        const results = new minipass_1.Minipass({ objectMode: true });
-        if (!filter || filter(entry)) {
-          results.write(withFileTypes ? entry : entry.fullpath());
+        if (typeof handler2 !== "function") {
+          throw new InvalidArgumentError("invalid handler");
         }
-        const dirs = /* @__PURE__ */ new Set();
-        const queue = [entry];
-        let processing = 0;
-        const process2 = () => {
-          let paused = false;
-          while (!paused) {
-            const dir = queue.shift();
-            if (!dir) {
-              if (processing === 0)
-                results.end();
-              return;
-            }
-            processing++;
-            dirs.add(dir);
-            const onReaddir = (er, entries, didRealpaths = false) => {
-              if (er)
-                return results.emit("error", er);
-              if (follow && !didRealpaths) {
-                const promises2 = [];
-                for (const e of entries) {
-                  if (e.isSymbolicLink()) {
-                    promises2.push(e.realpath().then((r) => r?.isUnknown() ? r.lstat() : r));
-                  }
-                }
-                if (promises2.length) {
-                  Promise.all(promises2).then(() => onReaddir(null, entries, true));
-                  return;
-                }
-              }
-              for (const e of entries) {
-                if (e && (!filter || filter(e))) {
-                  if (!results.write(withFileTypes ? e : e.fullpath())) {
-                    paused = true;
-                  }
-                }
-              }
-              processing--;
-              for (const e of entries) {
-                const r = e.realpathCached() || e;
-                if (r.shouldWalk(dirs, walkFilter)) {
-                  queue.push(r);
-                }
-              }
-              if (paused && !results.flowing) {
-                results.once("drain", process2);
-              } else if (!sync) {
-                process2();
-              }
-            };
-            let sync = true;
-            dir.readdirCB(onReaddir, true);
-            sync = false;
-          }
-        };
-        process2();
-        return results;
-      }
-      streamSync(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
+        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");
         }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        const results = new minipass_1.Minipass({ objectMode: true });
-        const dirs = /* @__PURE__ */ new Set();
-        if (!filter || filter(entry)) {
-          results.write(withFileTypes ? entry : entry.fullpath());
+        if (method === "CONNECT") {
+          throw new InvalidArgumentError("invalid method");
         }
-        const queue = [entry];
-        let processing = 0;
-        const process2 = () => {
-          let paused = false;
-          while (!paused) {
-            const dir = queue.shift();
-            if (!dir) {
-              if (processing === 0)
-                results.end();
-              return;
-            }
-            processing++;
-            dirs.add(dir);
-            const entries = dir.readdirSync();
-            for (const e of entries) {
-              if (!filter || filter(e)) {
-                if (!results.write(withFileTypes ? e : e.fullpath())) {
-                  paused = true;
-                }
-              }
+        if (onInfo && typeof onInfo !== "function") {
+          throw new InvalidArgumentError("invalid onInfo callback");
+        }
+        super("UNDICI_PIPELINE");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.handler = handler2;
+        this.abort = null;
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.req = new PipelineRequest().on("error", util.nop);
+        this.ret = new Duplex({
+          readableObjectMode: opts.objectMode,
+          autoDestroy: true,
+          read: () => {
+            const { body } = this;
+            if (body && body.resume) {
+              body.resume();
             }
-            processing--;
-            for (const e of entries) {
-              let r = e;
-              if (e.isSymbolicLink()) {
-                if (!(follow && (r = e.realpathSync())))
-                  continue;
-                if (r.isUnknown())
-                  r.lstatSync();
-              }
-              if (r.shouldWalk(dirs, walkFilter)) {
-                queue.push(r);
-              }
+          },
+          write: (chunk, encoding, callback) => {
+            const { req } = this;
+            if (req.push(chunk, encoding) || req._readableState.destroyed) {
+              callback();
+            } else {
+              req[kResume] = callback;
             }
-          }
-          if (paused && !results.flowing)
-            results.once("drain", process2);
-        };
-        process2();
-        return results;
-      }
-      chdir(path3 = this.cwd) {
-        const oldCwd = this.cwd;
-        this.cwd = typeof path3 === "string" ? this.cwd.resolve(path3) : path3;
-        this.cwd[setAsCwd](oldCwd);
-      }
-    };
-    exports2.PathScurryBase = PathScurryBase;
-    var PathScurryWin32 = class extends PathScurryBase {
-      /**
-       * separator for generating path strings
-       */
-      sep = "\\";
-      constructor(cwd = process.cwd(), opts = {}) {
-        const { nocase = true } = opts;
-        super(cwd, node_path_1.win32, "\\", { ...opts, nocase });
-        this.nocase = nocase;
-        for (let p = this.cwd; p; p = p.parent) {
-          p.nocase = this.nocase;
-        }
-      }
-      /**
-       * @internal
-       */
-      parseRootPath(dir) {
-        return node_path_1.win32.parse(dir).root.toUpperCase();
-      }
-      /**
-       * @internal
-       */
-      newRoot(fs3) {
-        return new PathWin32(this.rootPath, IFDIR, void 0, this.roots, this.nocase, this.childrenCache(), { fs: fs3 });
+          },
+          destroy: (err, callback) => {
+            const { body, req, res, ret, abort } = this;
+            if (!err && !ret._readableState.endEmitted) {
+              err = new RequestAbortedError();
+            }
+            if (abort && err) {
+              abort();
+            }
+            util.destroy(body, err);
+            util.destroy(req, err);
+            util.destroy(res, err);
+            removeSignal(this);
+            callback(err);
+          }
+        }).on("prefinish", () => {
+          const { req } = this;
+          req.push(null);
+        });
+        this.res = null;
+        addSignal(this, signal);
       }
-      /**
-       * Return true if the provided path string is an absolute path
-       */
-      isAbsolute(p) {
-        return p.startsWith("/") || p.startsWith("\\") || /^[a-z]:(\/|\\)/i.test(p);
+      onConnect(abort, context2) {
+        const { ret, res } = this;
+        assert(!res, "pipeline cannot be retried");
+        if (ret.destroyed) {
+          throw new RequestAbortedError();
+        }
+        this.abort = abort;
+        this.context = context2;
       }
-    };
-    exports2.PathScurryWin32 = PathScurryWin32;
-    var PathScurryPosix = class extends PathScurryBase {
-      /**
-       * separator for generating path strings
-       */
-      sep = "/";
-      constructor(cwd = process.cwd(), opts = {}) {
-        const { nocase = false } = opts;
-        super(cwd, node_path_1.posix, "/", { ...opts, nocase });
-        this.nocase = nocase;
+      onHeaders(statusCode, rawHeaders, resume) {
+        const { opaque, handler: handler2, context: context2 } = this;
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+            this.onInfo({ statusCode, headers });
+          }
+          return;
+        }
+        this.res = new PipelineResponse(resume);
+        let body;
+        try {
+          this.handler = null;
+          const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+          body = this.runInAsyncScope(handler2, null, {
+            statusCode,
+            headers,
+            opaque,
+            body: this.res,
+            context: context2
+          });
+        } catch (err) {
+          this.res.on("error", util.nop);
+          throw err;
+        }
+        if (!body || typeof body.on !== "function") {
+          throw new InvalidReturnValueError("expected Readable");
+        }
+        body.on("data", (chunk) => {
+          const { ret, body: body2 } = this;
+          if (!ret.push(chunk) && body2.pause) {
+            body2.pause();
+          }
+        }).on("error", (err) => {
+          const { ret } = this;
+          util.destroy(ret, err);
+        }).on("end", () => {
+          const { ret } = this;
+          ret.push(null);
+        }).on("close", () => {
+          const { ret } = this;
+          if (!ret._readableState.ended) {
+            util.destroy(ret, new RequestAbortedError());
+          }
+        });
+        this.body = body;
       }
-      /**
-       * @internal
-       */
-      parseRootPath(_dir) {
-        return "/";
+      onData(chunk) {
+        const { res } = this;
+        return res.push(chunk);
       }
-      /**
-       * @internal
-       */
-      newRoot(fs3) {
-        return new PathPosix(this.rootPath, IFDIR, void 0, this.roots, this.nocase, this.childrenCache(), { fs: fs3 });
+      onComplete(trailers) {
+        const { res } = this;
+        res.push(null);
       }
-      /**
-       * Return true if the provided path string is an absolute path
-       */
-      isAbsolute(p) {
-        return p.startsWith("/");
+      onError(err) {
+        const { ret } = this;
+        this.handler = null;
+        util.destroy(ret, err);
       }
     };
-    exports2.PathScurryPosix = PathScurryPosix;
-    var PathScurryDarwin = class extends PathScurryPosix {
-      constructor(cwd = process.cwd(), opts = {}) {
-        const { nocase = true } = opts;
-        super(cwd, { ...opts, nocase });
+    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);
       }
-    };
-    exports2.PathScurryDarwin = PathScurryDarwin;
-    exports2.Path = process.platform === "win32" ? PathWin32 : PathPosix;
-    exports2.PathScurry = process.platform === "win32" ? PathScurryWin32 : process.platform === "darwin" ? PathScurryDarwin : PathScurryPosix;
+    }
+    module2.exports = pipeline;
   }
 });
 
-// node_modules/glob/dist/commonjs/pattern.js
-var require_pattern = __commonJS({
-  "node_modules/glob/dist/commonjs/pattern.js"(exports2) {
+// node_modules/undici/lib/api/api-upgrade.js
+var require_api_upgrade3 = __commonJS({
+  "node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Pattern = void 0;
-    var minimatch_1 = require_commonjs20();
-    var isPatternList = (pl) => pl.length >= 1;
-    var isGlobList = (gl) => gl.length >= 1;
-    var Pattern = class _Pattern {
-      #patternList;
-      #globList;
-      #index;
-      length;
-      #platform;
-      #rest;
-      #globString;
-      #isDrive;
-      #isUNC;
-      #isAbsolute;
-      #followGlobstar = true;
-      constructor(patternList, globList, index, platform) {
-        if (!isPatternList(patternList)) {
-          throw new TypeError("empty pattern list");
-        }
-        if (!isGlobList(globList)) {
-          throw new TypeError("empty glob list");
+    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors5();
+    var { AsyncResource } = require("async_hooks");
+    var util = require_util23();
+    var { addSignal, removeSignal } = require_abort_signal3();
+    var assert = require("assert");
+    var UpgradeHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        if (globList.length !== patternList.length) {
-          throw new TypeError("mismatched pattern list and glob list lengths");
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
         }
-        this.length = patternList.length;
-        if (index < 0 || index >= this.length) {
-          throw new TypeError("index out of range");
+        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");
         }
-        this.#patternList = patternList;
-        this.#globList = globList;
-        this.#index = index;
-        this.#platform = platform;
-        if (this.#index === 0) {
-          if (this.isUNC()) {
-            const [p0, p1, p2, p3, ...prest] = this.#patternList;
-            const [g0, g1, g2, g3, ...grest] = this.#globList;
-            if (prest[0] === "") {
-              prest.shift();
-              grest.shift();
-            }
-            const p = [p0, p1, p2, p3, ""].join("/");
-            const g = [g0, g1, g2, g3, ""].join("/");
-            this.#patternList = [p, ...prest];
-            this.#globList = [g, ...grest];
-            this.length = this.#patternList.length;
-          } else if (this.isDrive() || this.isAbsolute()) {
-            const [p1, ...prest] = this.#patternList;
-            const [g1, ...grest] = this.#globList;
-            if (prest[0] === "") {
-              prest.shift();
-              grest.shift();
-            }
-            const p = p1 + "/";
-            const g = g1 + "/";
-            this.#patternList = [p, ...prest];
-            this.#globList = [g, ...grest];
-            this.length = this.#patternList.length;
-          }
+        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, context2) {
+        if (!this.callback) {
+          throw new RequestAbortedError();
         }
+        this.abort = abort;
+        this.context = null;
       }
-      /**
-       * The first entry in the parsed list of patterns
-       */
-      pattern() {
-        return this.#patternList[this.#index];
+      onHeaders() {
+        throw new SocketError("bad upgrade", null);
       }
-      /**
-       * true of if pattern() returns a string
-       */
-      isString() {
-        return typeof this.#patternList[this.#index] === "string";
+      onUpgrade(statusCode, rawHeaders, socket) {
+        const { callback, opaque, context: context2 } = this;
+        assert.strictEqual(statusCode, 101);
+        removeSignal(this);
+        this.callback = null;
+        const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        this.runInAsyncScope(callback, null, null, {
+          headers,
+          socket,
+          opaque,
+          context: context2
+        });
       }
-      /**
-       * true of if pattern() returns GLOBSTAR
-       */
-      isGlobstar() {
-        return this.#patternList[this.#index] === minimatch_1.GLOBSTAR;
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
+        }
       }
-      /**
-       * true if pattern() returns a regexp
-       */
-      isRegExp() {
-        return this.#patternList[this.#index] instanceof RegExp;
+    };
+    function upgrade(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve2, reject) => {
+          upgrade.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve2(data);
+          });
+        });
       }
-      /**
-       * The /-joined set of glob parts that make up this pattern
-       */
-      globString() {
-        return this.#globString = this.#globString || (this.#index === 0 ? this.isAbsolute() ? this.#globList[0] + this.#globList.slice(1).join("/") : this.#globList.join("/") : this.#globList.slice(this.#index).join("/"));
+      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 && opts.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
-      /**
-       * true if there are more pattern parts after this one
-       */
-      hasMore() {
-        return this.length > this.#index + 1;
+    }
+    module2.exports = upgrade;
+  }
+});
+
+// node_modules/undici/lib/api/api-connect.js
+var require_api_connect3 = __commonJS({
+  "node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
+    "use strict";
+    var { AsyncResource } = require("async_hooks");
+    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors5();
+    var util = require_util23();
+    var { addSignal, removeSignal } = require_abort_signal3();
+    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);
       }
-      /**
-       * The rest of the pattern after this part, or null if this is the end
-       */
-      rest() {
-        if (this.#rest !== void 0)
-          return this.#rest;
-        if (!this.hasMore())
-          return this.#rest = null;
-        this.#rest = new _Pattern(this.#patternList, this.#globList, this.#index + 1, this.#platform);
-        this.#rest.#isAbsolute = this.#isAbsolute;
-        this.#rest.#isUNC = this.#isUNC;
-        this.#rest.#isDrive = this.#isDrive;
-        return this.#rest;
+      onConnect(abort, context2) {
+        if (!this.callback) {
+          throw new RequestAbortedError();
+        }
+        this.abort = abort;
+        this.context = context2;
       }
-      /**
-       * true if the pattern represents a //unc/path/ on windows
-       */
-      isUNC() {
-        const pl = this.#patternList;
-        return this.#isUNC !== void 0 ? this.#isUNC : this.#isUNC = this.#platform === "win32" && this.#index === 0 && pl[0] === "" && pl[1] === "" && typeof pl[2] === "string" && !!pl[2] && typeof pl[3] === "string" && !!pl[3];
+      onHeaders() {
+        throw new SocketError("bad connect", null);
       }
-      // pattern like C:/...
-      // split = ['C:', ...]
-      // XXX: would be nice to handle patterns like `c:*` to test the cwd
-      // in c: for *, but I don't know of a way to even figure out what that
-      // cwd is without actually chdir'ing into it?
-      /**
-       * True if the pattern starts with a drive letter on Windows
-       */
-      isDrive() {
-        const pl = this.#patternList;
-        return this.#isDrive !== void 0 ? this.#isDrive : this.#isDrive = this.#platform === "win32" && this.#index === 0 && this.length > 1 && typeof pl[0] === "string" && /^[a-z]:$/i.test(pl[0]);
+      onUpgrade(statusCode, rawHeaders, socket) {
+        const { callback, opaque, context: context2 } = 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: context2
+        });
       }
-      // pattern = '/' or '/...' or '/x/...'
-      // split = ['', ''] or ['', ...] or ['', 'x', ...]
-      // Drive and UNC both considered absolute on windows
-      /**
-       * True if the pattern is rooted on an absolute path
-       */
-      isAbsolute() {
-        const pl = this.#patternList;
-        return this.#isAbsolute !== void 0 ? this.#isAbsolute : this.#isAbsolute = pl[0] === "" && pl.length > 1 || this.isDrive() || this.isUNC();
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
+        }
       }
-      /**
-       * consume the root of the pattern, and return it
-       */
-      root() {
-        const p = this.#patternList[0];
-        return typeof p === "string" && this.isAbsolute() && this.#index === 0 ? p : "";
+    };
+    function connect(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve2, reject) => {
+          connect.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve2(data);
+          });
+        });
       }
-      /**
-       * Check to see if the current globstar pattern is allowed to follow
-       * a symbolic link.
-       */
-      checkFollowGlobstar() {
-        return !(this.#index === 0 || !this.isGlobstar() || !this.#followGlobstar);
+      try {
+        const connectHandler = new ConnectHandler(opts, callback);
+        this.dispatch({ ...opts, method: "CONNECT" }, connectHandler);
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
+        }
+        const opaque = opts && opts.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
-      /**
-       * Mark that the current globstar pattern is following a symbolic link
-       */
-      markFollowGlobstar() {
-        if (this.#index === 0 || !this.isGlobstar() || !this.#followGlobstar)
-          return false;
-        this.#followGlobstar = false;
-        return true;
+    }
+    module2.exports = connect;
+  }
+});
+
+// node_modules/undici/lib/api/index.js
+var require_api3 = __commonJS({
+  "node_modules/undici/lib/api/index.js"(exports2, module2) {
+    "use strict";
+    module2.exports.request = require_api_request3();
+    module2.exports.stream = require_api_stream3();
+    module2.exports.pipeline = require_api_pipeline3();
+    module2.exports.upgrade = require_api_upgrade3();
+    module2.exports.connect = require_api_connect3();
+  }
+});
+
+// node_modules/undici/lib/mock/mock-errors.js
+var require_mock_errors3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
+    "use strict";
+    var { UndiciError } = require_errors5();
+    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";
       }
     };
-    exports2.Pattern = Pattern;
+    module2.exports = {
+      MockNotMatchedError
+    };
   }
 });
 
-// node_modules/glob/dist/commonjs/ignore.js
-var require_ignore = __commonJS({
-  "node_modules/glob/dist/commonjs/ignore.js"(exports2) {
+// node_modules/undici/lib/mock/mock-symbols.js
+var require_mock_symbols3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Ignore = void 0;
-    var minimatch_1 = require_commonjs20();
-    var pattern_js_1 = require_pattern();
-    var defaultPlatform = typeof process === "object" && process && typeof process.platform === "string" ? process.platform : "linux";
-    var Ignore = class {
-      relative;
-      relativeChildren;
-      absolute;
-      absoluteChildren;
-      platform;
-      mmopts;
-      constructor(ignored, { nobrace, nocase, noext, noglobstar, platform = defaultPlatform }) {
-        this.relative = [];
-        this.absolute = [];
-        this.relativeChildren = [];
-        this.absoluteChildren = [];
-        this.platform = platform;
-        this.mmopts = {
-          dot: true,
-          nobrace,
-          nocase,
-          noext,
-          noglobstar,
-          optimizationLevel: 2,
-          platform,
-          nocomment: true,
-          nonegate: true
-        };
-        for (const ign of ignored)
-          this.add(ign);
+    module2.exports = {
+      kAgent: /* @__PURE__ */ Symbol("agent"),
+      kOptions: /* @__PURE__ */ Symbol("options"),
+      kFactory: /* @__PURE__ */ Symbol("factory"),
+      kDispatches: /* @__PURE__ */ Symbol("dispatches"),
+      kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
+      kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
+      kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
+      kContentLength: /* @__PURE__ */ Symbol("content length"),
+      kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
+      kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
+      kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
+      kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
+      kClose: /* @__PURE__ */ Symbol("close"),
+      kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
+      kOrigin: /* @__PURE__ */ Symbol("origin"),
+      kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
+      kNetConnect: /* @__PURE__ */ Symbol("net connect"),
+      kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
+      kConnected: /* @__PURE__ */ Symbol("connected")
+    };
+  }
+});
+
+// node_modules/undici/lib/mock/mock-utils.js
+var require_mock_utils3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
+    "use strict";
+    var { MockNotMatchedError } = require_mock_errors3();
+    var {
+      kDispatches,
+      kMockAgent,
+      kOriginalDispatch,
+      kOrigin,
+      kGetNetConnect
+    } = require_mock_symbols3();
+    var { buildURL, nop } = require_util23();
+    var { STATUS_CODES } = require("http");
+    var {
+      types: {
+        isPromise
       }
-      add(ign) {
-        const mm = new minimatch_1.Minimatch(ign, this.mmopts);
-        for (let i = 0; i < mm.set.length; i++) {
-          const parsed = mm.set[i];
-          const globParts = mm.globParts[i];
-          if (!parsed || !globParts) {
-            throw new Error("invalid pattern object");
-          }
-          while (parsed[0] === "." && globParts[0] === ".") {
-            parsed.shift();
-            globParts.shift();
-          }
-          const p = new pattern_js_1.Pattern(parsed, globParts, 0, this.platform);
-          const m = new minimatch_1.Minimatch(p.globString(), this.mmopts);
-          const children = globParts[globParts.length - 1] === "**";
-          const absolute = p.isAbsolute();
-          if (absolute)
-            this.absolute.push(m);
-          else
-            this.relative.push(m);
-          if (children) {
-            if (absolute)
-              this.absoluteChildren.push(m);
-            else
-              this.relativeChildren.push(m);
+    } = require("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()];
       }
-      ignored(p) {
-        const fullpath = p.fullpath();
-        const fullpaths = `${fullpath}/`;
-        const relative = p.relative() || ".";
-        const relatives = `${relative}/`;
-        for (const m of this.relative) {
-          if (m.match(relative) || m.match(relatives))
-            return true;
-        }
-        for (const m of this.absolute) {
-          if (m.match(fullpath) || m.match(fullpaths))
-            return true;
+    }
+    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;
       }
-      childrenIgnored(p) {
-        const fullpath = p.fullpath() + "/";
-        const relative = (p.relative() || ".") + "/";
-        for (const m of this.relativeChildren) {
-          if (m.match(relative))
-            return true;
-        }
-        for (const m of this.absoluteChildren) {
-          if (m.match(fullpath))
-            return true;
+      for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) {
+        const headerValue = getHeaderByName(headers, matchHeaderName);
+        if (!matchValue(matchHeaderValue, headerValue)) {
+          return false;
         }
-        return false;
       }
-    };
-    exports2.Ignore = Ignore;
-  }
-});
-
-// node_modules/glob/dist/commonjs/processor.js
-var require_processor = __commonJS({
-  "node_modules/glob/dist/commonjs/processor.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Processor = exports2.SubWalks = exports2.MatchRecord = exports2.HasWalkedCache = void 0;
-    var minimatch_1 = require_commonjs20();
-    var HasWalkedCache = class _HasWalkedCache {
-      store;
-      constructor(store = /* @__PURE__ */ new Map()) {
-        this.store = store;
+      return true;
+    }
+    function safeUrl(path3) {
+      if (typeof path3 !== "string") {
+        return path3;
       }
-      copy() {
-        return new _HasWalkedCache(new Map(this.store));
+      const pathSegments = path3.split("?");
+      if (pathSegments.length !== 2) {
+        return path3;
       }
-      hasWalked(target, pattern) {
-        return this.store.get(target.fullpath())?.has(pattern.globString());
+      const qp = new URLSearchParams(pathSegments.pop());
+      qp.sort();
+      return [...pathSegments, qp.toString()].join("?");
+    }
+    function matchKey(mockDispatch2, { path: path3, method, body, headers }) {
+      const pathMatch = matchValue(mockDispatch2.path, path3);
+      const methodMatch = matchValue(mockDispatch2.method, method);
+      const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
+      const headersMatch = matchHeaders(mockDispatch2, headers);
+      return pathMatch && methodMatch && bodyMatch && headersMatch;
+    }
+    function getResponseData2(data) {
+      if (Buffer.isBuffer(data)) {
+        return data;
+      } else if (typeof data === "object") {
+        return JSON.stringify(data);
+      } else {
+        return data.toString();
       }
-      storeWalked(target, pattern) {
-        const fullpath = target.fullpath();
-        const cached = this.store.get(fullpath);
-        if (cached)
-          cached.add(pattern.globString());
-        else
-          this.store.set(fullpath, /* @__PURE__ */ new Set([pattern.globString()]));
+    }
+    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: path3 }) => matchValue(safeUrl(path3), resolvedPath));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
       }
-    };
-    exports2.HasWalkedCache = HasWalkedCache;
-    var MatchRecord = class {
-      store = /* @__PURE__ */ new Map();
-      add(target, absolute, ifDir) {
-        const n = (absolute ? 2 : 0) | (ifDir ? 1 : 0);
-        const current = this.store.get(target);
-        this.store.set(target, current === void 0 ? n : n & current);
+      matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`);
       }
-      // match, absolute, ifdir
-      entries() {
-        return [...this.store.entries()].map(([path3, n]) => [
-          path3,
-          !!(n & 2),
-          !!(n & 1)
-        ]);
+      matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`);
       }
-    };
-    exports2.MatchRecord = MatchRecord;
-    var SubWalks = class {
-      store = /* @__PURE__ */ new Map();
-      add(target, pattern) {
-        if (!target.canReaddir()) {
-          return;
-        }
-        const subs = this.store.get(target);
-        if (subs) {
-          if (!subs.find((p) => p.globString() === pattern.globString())) {
-            subs.push(pattern);
-          }
-        } else
-          this.store.set(target, [pattern]);
+      matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers}'`);
       }
-      get(target) {
-        const subs = this.store.get(target);
-        if (!subs) {
-          throw new Error("attempting to walk unknown path");
+      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 subs;
+        return matchKey(dispatch, key);
+      });
+      if (index !== -1) {
+        mockDispatches.splice(index, 1);
       }
-      entries() {
-        return this.keys().map((k) => [k, this.store.get(k)]);
+    }
+    function buildKey(opts) {
+      const { path: path3, method, body, headers, query } = opts;
+      return {
+        path: path3,
+        method,
+        body,
+        headers,
+        query
+      };
+    }
+    function generateKeyValues(data) {
+      return Object.entries(data).reduce((keyValuePairs, [key, value]) => [
+        ...keyValuePairs,
+        Buffer.from(`${key}`),
+        Array.isArray(value) ? value.map((x) => Buffer.from(`${x}`)) : Buffer.from(`${value}`)
+      ], []);
+    }
+    function getStatusText(statusCode) {
+      return STATUS_CODES[statusCode] || "unknown";
+    }
+    async function getResponse(body) {
+      const buffers = [];
+      for await (const data of body) {
+        buffers.push(data);
       }
-      keys() {
-        return [...this.store.keys()].filter((t) => t.canReaddir());
+      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) };
       }
-    };
-    exports2.SubWalks = SubWalks;
-    var Processor = class _Processor {
-      hasWalkedCache;
-      matches = new MatchRecord();
-      subwalks = new SubWalks();
-      patterns;
-      follow;
-      dot;
-      opts;
-      constructor(opts, hasWalkedCache) {
-        this.opts = opts;
-        this.follow = !!opts.follow;
-        this.dot = !!opts.dot;
-        this.hasWalkedCache = hasWalkedCache ? hasWalkedCache.copy() : new HasWalkedCache();
+      const { data: { statusCode, data, headers, trailers, error: error3 }, delay, persist } = mockDispatch2;
+      const { timesInvoked, times } = mockDispatch2;
+      mockDispatch2.consumed = !persist && timesInvoked >= times;
+      mockDispatch2.pending = timesInvoked < times;
+      if (error3 !== null) {
+        deleteMockDispatch(this[kDispatches], key);
+        handler2.onError(error3);
+        return true;
       }
-      processPatterns(target, patterns) {
-        this.patterns = patterns;
-        const processingSet = patterns.map((p) => [target, p]);
-        for (let [t, pattern] of processingSet) {
-          this.hasWalkedCache.storeWalked(t, pattern);
-          const root = pattern.root();
-          const absolute = pattern.isAbsolute() && this.opts.absolute !== false;
-          if (root) {
-            t = t.resolve(root === "/" && this.opts.root !== void 0 ? this.opts.root : root);
-            const rest2 = pattern.rest();
-            if (!rest2) {
-              this.matches.add(t, true, false);
-              continue;
-            } else {
-              pattern = rest2;
-            }
-          }
-          if (t.isENOENT())
-            continue;
-          let p;
-          let rest;
-          let changed = false;
-          while (typeof (p = pattern.pattern()) === "string" && (rest = pattern.rest())) {
-            const c = t.resolve(p);
-            t = c;
-            pattern = rest;
-            changed = true;
-          }
-          p = pattern.pattern();
-          rest = pattern.rest();
-          if (changed) {
-            if (this.hasWalkedCache.hasWalked(t, pattern))
-              continue;
-            this.hasWalkedCache.storeWalked(t, pattern);
-          }
-          if (typeof p === "string") {
-            const ifDir = p === ".." || p === "" || p === ".";
-            this.matches.add(t.resolve(p), absolute, ifDir);
-            continue;
-          } else if (p === minimatch_1.GLOBSTAR) {
-            if (!t.isSymbolicLink() || this.follow || pattern.checkFollowGlobstar()) {
-              this.subwalks.add(t, pattern);
-            }
-            const rp = rest?.pattern();
-            const rrest = rest?.rest();
-            if (!rest || (rp === "" || rp === ".") && !rrest) {
-              this.matches.add(t, absolute, rp === "" || rp === ".");
-            } else {
-              if (rp === "..") {
-                const tp = t.parent || t;
-                if (!rrest)
-                  this.matches.add(tp, absolute, true);
-                else if (!this.hasWalkedCache.hasWalked(tp, rrest)) {
-                  this.subwalks.add(tp, rrest);
-                }
+      if (typeof delay === "number" && delay > 0) {
+        setTimeout(() => {
+          handleReply(this[kDispatches]);
+        }, delay);
+      } else {
+        handleReply(this[kDispatches]);
+      }
+      function handleReply(mockDispatches, _data = data) {
+        const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
+        const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
+        if (isPromise(body)) {
+          body.then((newData) => handleReply(mockDispatches, newData));
+          return;
+        }
+        const responseData = getResponseData2(body);
+        const responseHeaders = generateKeyValues(headers);
+        const responseTrailers = generateKeyValues(trailers);
+        handler2.abort = nop;
+        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 (error3) {
+            if (error3 instanceof MockNotMatchedError) {
+              const netConnect = agent[kGetNetConnect]();
+              if (netConnect === false) {
+                throw new MockNotMatchedError(`${error3.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(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
               }
+            } else {
+              throw error3;
             }
-          } else if (p instanceof RegExp) {
-            this.subwalks.add(t, pattern);
           }
+        } 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
+    };
+  }
+});
+
+// node_modules/undici/lib/mock/mock-interceptor.js
+var require_mock_interceptor3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
+    "use strict";
+    var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils3();
+    var {
+      kDispatches,
+      kDispatchKey,
+      kDefaultHeaders,
+      kDefaultTrailers,
+      kContentLength,
+      kMockDispatch
+    } = require_mock_symbols3();
+    var { InvalidArgumentError } = require_errors5();
+    var { buildURL } = require_util23();
+    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;
       }
-      subwalkTargets() {
-        return this.subwalks.keys();
+      /**
+       * For a defined reply, never mark as consumed.
+       */
+      persist() {
+        this[kMockDispatch].persist = true;
+        return this;
       }
-      child() {
-        return new _Processor(this.opts, this.hasWalkedCache);
+      /**
+       * 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;
       }
-      // return a new Processor containing the subwalks for each
-      // child entry, and a set of matches, and
-      // a hasWalkedCache that's a copy of this one
-      // then we're going to call
-      filterEntries(parent, entries) {
-        const patterns = this.subwalks.get(parent);
-        const results = this.child();
-        for (const e of entries) {
-          for (const pattern of patterns) {
-            const absolute = pattern.isAbsolute();
-            const p = pattern.pattern();
-            const rest = pattern.rest();
-            if (p === minimatch_1.GLOBSTAR) {
-              results.testGlobstar(e, pattern, rest, absolute);
-            } else if (p instanceof RegExp) {
-              results.testRegExp(e, p, rest, absolute);
-            } else {
-              results.testString(e, p, rest, absolute);
-            }
+    };
+    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;
           }
         }
-        return results;
+        if (typeof opts.method === "string") {
+          opts.method = opts.method.toUpperCase();
+        }
+        this[kDispatchKey] = buildKey(opts);
+        this[kDispatches] = mockDispatches;
+        this[kDefaultHeaders] = {};
+        this[kDefaultTrailers] = {};
+        this[kContentLength] = false;
       }
-      testGlobstar(e, pattern, rest, absolute) {
-        if (this.dot || !e.name.startsWith(".")) {
-          if (!pattern.hasMore()) {
-            this.matches.add(e, absolute, false);
-          }
-          if (e.canReaddir()) {
-            if (this.follow || !e.isSymbolicLink()) {
-              this.subwalks.add(e, pattern);
-            } else if (e.isSymbolicLink()) {
-              if (rest && pattern.checkFollowGlobstar()) {
-                this.subwalks.add(e, rest);
-              } else if (pattern.markFollowGlobstar()) {
-                this.subwalks.add(e, pattern);
-              }
+      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(statusCode, data, responseOptions) {
+        if (typeof statusCode === "undefined") {
+          throw new InvalidArgumentError("statusCode must be defined");
+        }
+        if (typeof data === "undefined") {
+          throw new InvalidArgumentError("data must be defined");
+        }
+        if (typeof responseOptions !== "object") {
+          throw new InvalidArgumentError("responseOptions must be an object");
+        }
+      }
+      /**
+       * Mock an undici request with a defined reply.
+       */
+      reply(replyData) {
+        if (typeof replyData === "function") {
+          const wrappedDefaultsCallback = (opts) => {
+            const resolvedData = replyData(opts);
+            if (typeof resolvedData !== "object") {
+              throw new InvalidArgumentError("reply options callback must return an object");
             }
-          }
+            const { statusCode: statusCode2, data: data2 = "", responseOptions: responseOptions2 = {} } = resolvedData;
+            this.validateReplyParameters(statusCode2, data2, responseOptions2);
+            return {
+              ...this.createMockScopeDispatchData(statusCode2, data2, responseOptions2)
+            };
+          };
+          const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback);
+          return new MockScope(newMockDispatch2);
         }
-        if (rest) {
-          const rp = rest.pattern();
-          if (typeof rp === "string" && // dots and empty were handled already
-          rp !== ".." && rp !== "" && rp !== ".") {
-            this.testString(e, rp, rest.rest(), absolute);
-          } else if (rp === "..") {
-            const ep = e.parent || e;
-            this.subwalks.add(ep, rest);
-          } else if (rp instanceof RegExp) {
-            this.testRegExp(e, rp, rest.rest(), absolute);
-          }
+        const [statusCode, data = "", responseOptions = {}] = [...arguments];
+        this.validateReplyParameters(statusCode, data, responseOptions);
+        const dispatchData = this.createMockScopeDispatchData(statusCode, data, responseOptions);
+        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData);
+        return new MockScope(newMockDispatch);
+      }
+      /**
+       * Mock an undici request with a defined error.
+       */
+      replyWithError(error3) {
+        if (typeof error3 === "undefined") {
+          throw new InvalidArgumentError("error must be defined");
         }
+        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error: error3 });
+        return new MockScope(newMockDispatch);
       }
-      testRegExp(e, p, rest, absolute) {
-        if (!p.test(e.name))
-          return;
-        if (!rest) {
-          this.matches.add(e, absolute, false);
-        } else {
-          this.subwalks.add(e, rest);
+      /**
+       * 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;
       }
-      testString(e, p, rest, absolute) {
-        if (!e.isNamed(p))
-          return;
-        if (!rest) {
-          this.matches.add(e, absolute, false);
-        } else {
-          this.subwalks.add(e, rest);
+      /**
+       * 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;
       }
     };
-    exports2.Processor = Processor;
+    module2.exports.MockInterceptor = MockInterceptor;
+    module2.exports.MockScope = MockScope;
   }
 });
 
-// node_modules/glob/dist/commonjs/walker.js
-var require_walker = __commonJS({
-  "node_modules/glob/dist/commonjs/walker.js"(exports2) {
+// node_modules/undici/lib/mock/mock-client.js
+var require_mock_client3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.GlobStream = exports2.GlobWalker = exports2.GlobUtil = void 0;
-    var minipass_1 = require_commonjs22();
-    var ignore_js_1 = require_ignore();
-    var processor_js_1 = require_processor();
-    var makeIgnore = (ignore, opts) => typeof ignore === "string" ? new ignore_js_1.Ignore([ignore], opts) : Array.isArray(ignore) ? new ignore_js_1.Ignore(ignore, opts) : ignore;
-    var GlobUtil = class {
-      path;
-      patterns;
-      opts;
-      seen = /* @__PURE__ */ new Set();
-      paused = false;
-      aborted = false;
-      #onResume = [];
-      #ignore;
-      #sep;
-      signal;
-      maxDepth;
-      includeChildMatches;
-      constructor(patterns, path3, opts) {
-        this.patterns = patterns;
-        this.path = path3;
-        this.opts = opts;
-        this.#sep = !opts.posix && opts.platform === "win32" ? "\\" : "/";
-        this.includeChildMatches = opts.includeChildMatches !== false;
-        if (opts.ignore || !this.includeChildMatches) {
-          this.#ignore = makeIgnore(opts.ignore ?? [], opts);
-          if (!this.includeChildMatches && typeof this.#ignore.add !== "function") {
-            const m = "cannot ignore child matches, ignore lacks add() method.";
-            throw new Error(m);
-          }
-        }
-        this.maxDepth = opts.maxDepth || Infinity;
-        if (opts.signal) {
-          this.signal = opts.signal;
-          this.signal.addEventListener("abort", () => {
-            this.#onResume.length = 0;
-          });
+    var { promisify } = require("util");
+    var Client = require_client3();
+    var { buildMockDispatch } = require_mock_utils3();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols3();
+    var { MockInterceptor } = require_mock_interceptor3();
+    var Symbols = require_symbols11();
+    var { InvalidArgumentError } = require_errors5();
+    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];
       }
-      #ignored(path3) {
-        return this.seen.has(path3) || !!this.#ignore?.ignored?.(path3);
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
-      #childrenIgnored(path3) {
-        return !!this.#ignore?.childrenIgnored?.(path3);
+      /**
+       * Sets up the base interceptor for mocking replies from undici.
+       */
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
       }
-      // backpressure mechanism
-      pause() {
-        this.paused = true;
+      async [kClose]() {
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
-      resume() {
-        if (this.signal?.aborted)
-          return;
-        this.paused = false;
-        let fn = void 0;
-        while (!this.paused && (fn = this.#onResume.shift())) {
-          fn();
+    };
+    module2.exports = MockClient;
+  }
+});
+
+// node_modules/undici/lib/mock/mock-pool.js
+var require_mock_pool3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
+    "use strict";
+    var { promisify } = require("util");
+    var Pool = require_pool3();
+    var { buildMockDispatch } = require_mock_utils3();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols3();
+    var { MockInterceptor } = require_mock_interceptor3();
+    var Symbols = require_symbols11();
+    var { InvalidArgumentError } = require_errors5();
+    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];
       }
-      onResume(fn) {
-        if (this.signal?.aborted)
-          return;
-        if (!this.paused) {
-          fn();
-        } else {
-          this.#onResume.push(fn);
-        }
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
-      // do the requisite realpath/stat checking, and return the path
-      // to add or undefined to filter it out.
-      async matchCheck(e, ifDir) {
-        if (ifDir && this.opts.nodir)
-          return void 0;
-        let rpc;
-        if (this.opts.realpath) {
-          rpc = e.realpathCached() || await e.realpath();
-          if (!rpc)
-            return void 0;
-          e = rpc;
-        }
-        const needStat = e.isUnknown() || this.opts.stat;
-        const s = needStat ? await e.lstat() : e;
-        if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) {
-          const target = await s.realpath();
-          if (target && (target.isUnknown() || this.opts.stat)) {
-            await target.lstat();
-          }
-        }
-        return this.matchCheckTest(s, ifDir);
+      /**
+       * Sets up the base interceptor for mocking replies from undici.
+       */
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
       }
-      matchCheckTest(e, ifDir) {
-        return e && (this.maxDepth === Infinity || e.depth() <= this.maxDepth) && (!ifDir || e.canReaddir()) && (!this.opts.nodir || !e.isDirectory()) && (!this.opts.nodir || !this.opts.follow || !e.isSymbolicLink() || !e.realpathCached()?.isDirectory()) && !this.#ignored(e) ? e : void 0;
+      async [kClose]() {
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
-      matchCheckSync(e, ifDir) {
-        if (ifDir && this.opts.nodir)
-          return void 0;
-        let rpc;
-        if (this.opts.realpath) {
-          rpc = e.realpathCached() || e.realpathSync();
-          if (!rpc)
-            return void 0;
-          e = rpc;
-        }
-        const needStat = e.isUnknown() || this.opts.stat;
-        const s = needStat ? e.lstatSync() : e;
-        if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) {
-          const target = s.realpathSync();
-          if (target && (target?.isUnknown() || this.opts.stat)) {
-            target.lstatSync();
+    };
+    module2.exports = MockPool;
+  }
+});
+
+// node_modules/undici/lib/mock/pluralizer.js
+var require_pluralizer3 = __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_formatter3 = __commonJS({
+  "node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
+    "use strict";
+    var { Transform } = require("stream");
+    var { Console } = require("console");
+    module2.exports = class PendingInterceptorsFormatter {
+      constructor({ disableColors } = {}) {
+        this.transform = new Transform({
+          transform(chunk, _enc, cb) {
+            cb(null, chunk);
           }
-        }
-        return this.matchCheckTest(s, ifDir);
+        });
+        this.logger = new Console({
+          stdout: this.transform,
+          inspectOptions: {
+            colors: !disableColors && !process.env.CI
+          }
+        });
       }
-      matchFinish(e, absolute) {
-        if (this.#ignored(e))
-          return;
-        if (!this.includeChildMatches && this.#ignore?.add) {
-          const ign = `${e.relativePosix()}/**`;
-          this.#ignore.add(ign);
+      format(pendingInterceptors) {
+        const withPrettyHeaders = pendingInterceptors.map(
+          ({ method, path: path3, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
+            Method: method,
+            Origin: origin,
+            Path: path3,
+            "Status code": statusCode,
+            Persistent: persist ? "\u2705" : "\u274C",
+            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_agent3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
+    "use strict";
+    var { kClients } = require_symbols11();
+    var Agent = require_agent3();
+    var {
+      kAgent,
+      kMockAgentSet,
+      kMockAgentGet,
+      kDispatches,
+      kIsMockActive,
+      kNetConnect,
+      kGetNetConnect,
+      kOptions,
+      kFactory
+    } = require_mock_symbols3();
+    var MockClient = require_mock_client3();
+    var MockPool = require_mock_pool3();
+    var { matchValue, buildMockOptions } = require_mock_utils3();
+    var { InvalidArgumentError, UndiciError } = require_errors5();
+    var Dispatcher = require_dispatcher3();
+    var Pluralizer = require_pluralizer3();
+    var PendingInterceptorsFormatter = require_pending_interceptors_formatter3();
+    var FakeWeakRef = class {
+      constructor(value) {
+        this.value = value;
+      }
+      deref() {
+        return this.value;
+      }
+    };
+    var MockAgent = class extends Dispatcher {
+      constructor(opts) {
+        super(opts);
+        this[kNetConnect] = true;
+        this[kIsMockActive] = true;
+        if (opts && opts.agent && typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
         }
-        const abs = this.opts.absolute === void 0 ? absolute : this.opts.absolute;
-        this.seen.add(e);
-        const mark = this.opts.mark && e.isDirectory() ? this.#sep : "";
-        if (this.opts.withFileTypes) {
-          this.matchEmit(e);
-        } else if (abs) {
-          const abs2 = this.opts.posix ? e.fullpathPosix() : e.fullpath();
-          this.matchEmit(abs2 + mark);
-        } else {
-          const rel = this.opts.posix ? e.relativePosix() : e.relative();
-          const pre = this.opts.dotRelative && !rel.startsWith(".." + this.#sep) ? "." + this.#sep : "";
-          this.matchEmit(!rel ? "." + mark : pre + rel + mark);
+        const agent = opts && opts.agent ? opts.agent : new Agent(opts);
+        this[kAgent] = agent;
+        this[kClients] = agent[kClients];
+        this[kOptions] = buildMockOptions(opts);
+      }
+      get(origin) {
+        let dispatcher = this[kMockAgentGet](origin);
+        if (!dispatcher) {
+          dispatcher = this[kFactory](origin);
+          this[kMockAgentSet](origin, dispatcher);
         }
+        return dispatcher;
       }
-      async match(e, absolute, ifDir) {
-        const p = await this.matchCheck(e, ifDir);
-        if (p)
-          this.matchFinish(p, absolute);
+      dispatch(opts, handler2) {
+        this.get(opts.origin);
+        return this[kAgent].dispatch(opts, handler2);
       }
-      matchSync(e, absolute, ifDir) {
-        const p = this.matchCheckSync(e, ifDir);
-        if (p)
-          this.matchFinish(p, absolute);
+      async close() {
+        await this[kAgent].close();
+        this[kClients].clear();
       }
-      walkCB(target, patterns, cb) {
-        if (this.signal?.aborted)
-          cb();
-        this.walkCB2(target, patterns, new processor_js_1.Processor(this.opts), cb);
+      deactivate() {
+        this[kIsMockActive] = false;
       }
-      walkCB2(target, patterns, processor, cb) {
-        if (this.#childrenIgnored(target))
-          return cb();
-        if (this.signal?.aborted)
-          cb();
-        if (this.paused) {
-          this.onResume(() => this.walkCB2(target, patterns, processor, cb));
-          return;
-        }
-        processor.processPatterns(target, patterns);
-        let tasks = 1;
-        const next = () => {
-          if (--tasks === 0)
-            cb();
-        };
-        for (const [m, absolute, ifDir] of processor.matches.entries()) {
-          if (this.#ignored(m))
-            continue;
-          tasks++;
-          this.match(m, absolute, ifDir).then(() => next());
-        }
-        for (const t of processor.subwalkTargets()) {
-          if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {
-            continue;
-          }
-          tasks++;
-          const childrenCached = t.readdirCached();
-          if (t.calledReaddir())
-            this.walkCB3(t, childrenCached, processor, next);
-          else {
-            t.readdirCB((_2, entries) => this.walkCB3(t, entries, processor, next), true);
-          }
-        }
-        next();
+      activate() {
+        this[kIsMockActive] = true;
       }
-      walkCB3(target, entries, processor, cb) {
-        processor = processor.filterEntries(target, entries);
-        let tasks = 1;
-        const next = () => {
-          if (--tasks === 0)
-            cb();
-        };
-        for (const [m, absolute, ifDir] of processor.matches.entries()) {
-          if (this.#ignored(m))
-            continue;
-          tasks++;
-          this.match(m, absolute, ifDir).then(() => next());
-        }
-        for (const [target2, patterns] of processor.subwalks.entries()) {
-          tasks++;
-          this.walkCB2(target2, patterns, processor.child(), next);
+      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.");
         }
-        next();
       }
-      walkCBSync(target, patterns, cb) {
-        if (this.signal?.aborted)
-          cb();
-        this.walkCB2Sync(target, patterns, new processor_js_1.Processor(this.opts), cb);
+      disableNetConnect() {
+        this[kNetConnect] = false;
       }
-      walkCB2Sync(target, patterns, processor, cb) {
-        if (this.#childrenIgnored(target))
-          return cb();
-        if (this.signal?.aborted)
-          cb();
-        if (this.paused) {
-          this.onResume(() => this.walkCB2Sync(target, patterns, processor, cb));
-          return;
+      // 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, new FakeWeakRef(dispatcher));
+      }
+      [kFactory](origin) {
+        const mockOptions = Object.assign({ agent: this }, this[kOptions]);
+        return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions);
+      }
+      [kMockAgentGet](origin) {
+        const ref = this[kClients].get(origin);
+        if (ref) {
+          return ref.deref();
         }
-        processor.processPatterns(target, patterns);
-        let tasks = 1;
-        const next = () => {
-          if (--tasks === 0)
-            cb();
-        };
-        for (const [m, absolute, ifDir] of processor.matches.entries()) {
-          if (this.#ignored(m))
-            continue;
-          this.matchSync(m, absolute, ifDir);
+        if (typeof origin !== "string") {
+          const dispatcher = this[kFactory]("http://localhost:9999");
+          this[kMockAgentSet](origin, dispatcher);
+          return dispatcher;
         }
-        for (const t of processor.subwalkTargets()) {
-          if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {
-            continue;
+        for (const [keyMatcher, nonExplicitRef] of Array.from(this[kClients])) {
+          const nonExplicitDispatcher = nonExplicitRef.deref();
+          if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) {
+            const dispatcher = this[kFactory](origin);
+            this[kMockAgentSet](origin, dispatcher);
+            dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches];
+            return dispatcher;
           }
-          tasks++;
-          const children = t.readdirSync();
-          this.walkCB3Sync(t, children, processor, next);
         }
-        next();
       }
-      walkCB3Sync(target, entries, processor, cb) {
-        processor = processor.filterEntries(target, entries);
-        let tasks = 1;
-        const next = () => {
-          if (--tasks === 0)
-            cb();
-        };
-        for (const [m, absolute, ifDir] of processor.matches.entries()) {
-          if (this.#ignored(m))
-            continue;
-          this.matchSync(m, absolute, ifDir);
-        }
-        for (const [target2, patterns] of processor.subwalks.entries()) {
-          tasks++;
-          this.walkCB2Sync(target2, patterns, processor.child(), next);
+      [kGetNetConnect]() {
+        return this[kNetConnect];
+      }
+      pendingInterceptors() {
+        const mockAgentClients = this[kClients];
+        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope.deref()[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
+      }
+      assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) {
+        const pending = this.pendingInterceptors();
+        if (pending.length === 0) {
+          return;
         }
-        next();
+        const pluralizer = new Pluralizer("interceptor", "interceptors").pluralize(pending.length);
+        throw new UndiciError(`
+${pluralizer.count} ${pluralizer.noun} ${pluralizer.is} pending:
+
+${pendingInterceptorsFormatter.format(pending)}
+`.trim());
       }
     };
-    exports2.GlobUtil = GlobUtil;
-    var GlobWalker = class extends GlobUtil {
-      matches = /* @__PURE__ */ new Set();
-      constructor(patterns, path3, opts) {
-        super(patterns, path3, opts);
+    module2.exports = MockAgent;
+  }
+});
+
+// node_modules/undici/lib/proxy-agent.js
+var require_proxy_agent3 = __commonJS({
+  "node_modules/undici/lib/proxy-agent.js"(exports2, module2) {
+    "use strict";
+    var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols11();
+    var { URL: URL2 } = require("url");
+    var Agent = require_agent3();
+    var Pool = require_pool3();
+    var DispatcherBase = require_dispatcher_base3();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors5();
+    var buildConnector = require_connect3();
+    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
+    var kClient = /* @__PURE__ */ Symbol("proxy client");
+    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
+    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
+    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
+    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
+    function defaultProtocolPort(protocol) {
+      return protocol === "https:" ? 443 : 80;
+    }
+    function buildProxyOptions(opts) {
+      if (typeof opts === "string") {
+        opts = { uri: opts };
       }
-      matchEmit(e) {
-        this.matches.add(e);
+      if (!opts || !opts.uri) {
+        throw new InvalidArgumentError("Proxy opts.uri is mandatory");
       }
-      async walk() {
-        if (this.signal?.aborted)
-          throw this.signal.reason;
-        if (this.path.isUnknown()) {
-          await this.path.lstat();
+      return {
+        uri: opts.uri,
+        protocol: opts.protocol || "https"
+      };
+    }
+    function defaultFactory(origin, opts) {
+      return new Pool(origin, opts);
+    }
+    var ProxyAgent = class extends DispatcherBase {
+      constructor(opts) {
+        super(opts);
+        this[kProxy] = buildProxyOptions(opts);
+        this[kAgent] = new Agent(opts);
+        this[kInterceptors] = opts.interceptors && opts.interceptors.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : [];
+        if (typeof opts === "string") {
+          opts = { uri: opts };
         }
-        await new Promise((res, rej) => {
-          this.walkCB(this.path, this.patterns, () => {
-            if (this.signal?.aborted) {
-              rej(this.signal.reason);
-            } else {
-              res(this.matches);
+        if (!opts || !opts.uri) {
+          throw new InvalidArgumentError("Proxy opts.uri is mandatory");
+        }
+        const { clientFactory = defaultFactory } = opts;
+        if (typeof clientFactory !== "function") {
+          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
+        }
+        this[kRequestTls] = opts.requestTls;
+        this[kProxyTls] = opts.proxyTls;
+        this[kProxyHeaders] = opts.headers || {};
+        const resolvedUrl = new URL2(opts.uri);
+        const { origin, port, host, username, password } = resolvedUrl;
+        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 });
+        this[kClient] = clientFactory(resolvedUrl, { connect });
+        this[kAgent] = new Agent({
+          ...opts,
+          connect: async (opts2, callback) => {
+            let requestedHost = opts2.host;
+            if (!opts2.port) {
+              requestedHost += `:${defaultProtocolPort(opts2.protocol)}`;
             }
-          });
+            try {
+              const { socket, statusCode } = await this[kClient].connect({
+                origin,
+                port,
+                path: requestedHost,
+                signal: opts2.signal,
+                headers: {
+                  ...this[kProxyHeaders],
+                  host
+                }
+              });
+              if (statusCode !== 200) {
+                socket.on("error", () => {
+                }).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) {
+              callback(err);
+            }
+          }
         });
-        return this.matches;
       }
-      walkSync() {
-        if (this.signal?.aborted)
-          throw this.signal.reason;
-        if (this.path.isUnknown()) {
-          this.path.lstatSync();
-        }
-        this.walkCBSync(this.path, this.patterns, () => {
-          if (this.signal?.aborted)
-            throw this.signal.reason;
-        });
-        return this.matches;
+      dispatch(opts, handler2) {
+        const { host } = new URL2(opts.origin);
+        const headers = buildHeaders(opts.headers);
+        throwIfProxyAuthIsSent(headers);
+        return this[kAgent].dispatch(
+          {
+            ...opts,
+            headers: {
+              ...headers,
+              host
+            }
+          },
+          handler2
+        );
       }
-    };
-    exports2.GlobWalker = GlobWalker;
-    var GlobStream = class extends GlobUtil {
-      results;
-      constructor(patterns, path3, opts) {
-        super(patterns, path3, opts);
-        this.results = new minipass_1.Minipass({
-          signal: this.signal,
-          objectMode: true
-        });
-        this.results.on("drain", () => this.resume());
-        this.results.on("resume", () => this.resume());
+      async [kClose]() {
+        await this[kAgent].close();
+        await this[kClient].close();
       }
-      matchEmit(e) {
-        this.results.write(e);
-        if (!this.results.flowing)
-          this.pause();
+      async [kDestroy]() {
+        await this[kAgent].destroy();
+        await this[kClient].destroy();
       }
-      stream() {
-        const target = this.path;
-        if (target.isUnknown()) {
-          target.lstat().then(() => {
-            this.walkCB(target, this.patterns, () => this.results.end());
-          });
-        } else {
-          this.walkCB(target, this.patterns, () => this.results.end());
+    };
+    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 this.results;
+        return headersPair;
       }
-      streamSync() {
-        if (this.path.isUnknown()) {
-          this.path.lstatSync();
-        }
-        this.walkCBSync(this.path, this.patterns, () => this.results.end());
-        return this.results;
+      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");
       }
-    };
-    exports2.GlobStream = GlobStream;
+    }
+    module2.exports = ProxyAgent;
   }
 });
 
-// node_modules/glob/dist/commonjs/glob.js
-var require_glob = __commonJS({
-  "node_modules/glob/dist/commonjs/glob.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Glob = void 0;
-    var minimatch_1 = require_commonjs20();
-    var node_url_1 = require("node:url");
-    var path_scurry_1 = require_commonjs23();
-    var pattern_js_1 = require_pattern();
-    var walker_js_1 = require_walker();
-    var defaultPlatform = typeof process === "object" && process && typeof process.platform === "string" ? process.platform : "linux";
-    var Glob = class {
-      absolute;
-      cwd;
-      root;
-      dot;
-      dotRelative;
-      follow;
-      ignore;
-      magicalBraces;
-      mark;
-      matchBase;
-      maxDepth;
-      nobrace;
-      nocase;
-      nodir;
-      noext;
-      noglobstar;
-      pattern;
-      platform;
-      realpath;
-      scurry;
-      stat;
-      signal;
-      windowsPathsNoEscape;
-      withFileTypes;
-      includeChildMatches;
-      /**
-       * The options provided to the constructor.
-       */
-      opts;
-      /**
-       * An array of parsed immutable {@link Pattern} objects.
-       */
-      patterns;
-      /**
-       * All options are stored as properties on the `Glob` object.
-       *
-       * See {@link GlobOptions} for full options descriptions.
-       *
-       * Note that a previous `Glob` object can be passed as the
-       * `GlobOptions` to another `Glob` instantiation to re-use settings
-       * and caches with a new pattern.
-       *
-       * Traversal functions can be called multiple times to run the walk
-       * again.
-       */
-      constructor(pattern, opts) {
-        if (!opts)
-          throw new TypeError("glob options required");
-        this.withFileTypes = !!opts.withFileTypes;
-        this.signal = opts.signal;
-        this.follow = !!opts.follow;
-        this.dot = !!opts.dot;
-        this.dotRelative = !!opts.dotRelative;
-        this.nodir = !!opts.nodir;
-        this.mark = !!opts.mark;
-        if (!opts.cwd) {
-          this.cwd = "";
-        } else if (opts.cwd instanceof URL || opts.cwd.startsWith("file://")) {
-          opts.cwd = (0, node_url_1.fileURLToPath)(opts.cwd);
+// node_modules/undici/lib/handler/RetryHandler.js
+var require_RetryHandler = __commonJS({
+  "node_modules/undici/lib/handler/RetryHandler.js"(exports2, module2) {
+    var assert = require("assert");
+    var { kRetryHandlerDefaultRetry } = require_symbols11();
+    var { RequestRetryError } = require_errors5();
+    var { isDisturbed, parseHeaders, parseRangeHeader } = require_util23();
+    function calculateRetryAfterHeader(retryAfter) {
+      const current = Date.now();
+      const diff = new Date(retryAfter).getTime() - current;
+      return diff;
+    }
+    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;
+        this.abort = null;
+        this.aborted = false;
+        this.retryOpts = {
+          retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry],
+          retryAfter: retryAfter ?? true,
+          maxTimeout: maxTimeout ?? 30 * 1e3,
+          // 30s,
+          timeout: 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"
+          ]
+        };
+        this.retryCount = 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();
         }
-        this.cwd = opts.cwd || "";
-        this.root = opts.root;
-        this.magicalBraces = !!opts.magicalBraces;
-        this.nobrace = !!opts.nobrace;
-        this.noext = !!opts.noext;
-        this.realpath = !!opts.realpath;
-        this.absolute = opts.absolute;
-        this.includeChildMatches = opts.includeChildMatches !== false;
-        this.noglobstar = !!opts.noglobstar;
-        this.matchBase = !!opts.matchBase;
-        this.maxDepth = typeof opts.maxDepth === "number" ? opts.maxDepth : Infinity;
-        this.stat = !!opts.stat;
-        this.ignore = opts.ignore;
-        if (this.withFileTypes && this.absolute !== void 0) {
-          throw new Error("cannot set absolute and withFileTypes:true");
+      }
+      onUpgrade(statusCode, headers, socket) {
+        if (this.handler.onUpgrade) {
+          this.handler.onUpgrade(statusCode, headers, socket);
         }
-        if (typeof pattern === "string") {
-          pattern = [pattern];
+      }
+      onConnect(abort) {
+        if (this.aborted) {
+          abort(this.reason);
+        } else {
+          this.abort = abort;
         }
-        this.windowsPathsNoEscape = !!opts.windowsPathsNoEscape || opts.allowWindowsEscape === false;
-        if (this.windowsPathsNoEscape) {
-          pattern = pattern.map((p) => p.replace(/\\/g, "/"));
+      }
+      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,
+          timeout,
+          maxTimeout,
+          timeoutFactor,
+          statusCodes,
+          errorCodes,
+          methods
+        } = retryOptions;
+        let { counter, currentTimeout } = state;
+        currentTimeout = currentTimeout != null && currentTimeout > 0 ? currentTimeout : timeout;
+        if (code && code !== "UND_ERR_REQ_RETRY" && code !== "UND_ERR_SOCKET" && !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 != null && headers["retry-after"];
+        if (retryAfterHeader) {
+          retryAfterHeader = Number(retryAfterHeader);
+          retryAfterHeader = isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3;
+        }
+        const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(currentTimeout * timeoutFactor ** counter, maxTimeout);
+        state.currentTimeout = retryTimeout;
+        setTimeout(() => cb(null), retryTimeout);
+      }
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const headers = parseHeaders(rawHeaders);
+        this.retryCount += 1;
+        if (statusCode >= 300) {
+          this.abort(
+            new RequestRetryError("Request failed", statusCode, {
+              headers,
+              count: this.retryCount
+            })
+          );
+          return false;
         }
-        if (this.matchBase) {
-          if (opts.noglobstar) {
-            throw new TypeError("base matching requires globstar");
+        if (this.resume != null) {
+          this.resume = null;
+          if (statusCode !== 206) {
+            return true;
           }
-          pattern = pattern.map((p) => p.includes("/") ? p : `./**/${p}`);
+          const contentRange = parseRangeHeader(headers["content-range"]);
+          if (!contentRange) {
+            this.abort(
+              new RequestRetryError("Content-Range mismatch", statusCode, {
+                headers,
+                count: this.retryCount
+              })
+            );
+            return false;
+          }
+          if (this.etag != null && this.etag !== headers.etag) {
+            this.abort(
+              new RequestRetryError("ETag mismatch", statusCode, {
+                headers,
+                count: this.retryCount
+              })
+            );
+            return false;
+          }
+          const { start, size, end = size } = contentRange;
+          assert(this.start === start, "content-range mismatch");
+          assert(this.end == null || this.end === end, "content-range mismatch");
+          this.resume = resume;
+          return true;
         }
-        this.pattern = pattern;
-        this.platform = opts.platform || defaultPlatform;
-        this.opts = { ...opts, platform: this.platform };
-        if (opts.scurry) {
-          this.scurry = opts.scurry;
-          if (opts.nocase !== void 0 && opts.nocase !== opts.scurry.nocase) {
-            throw new Error("nocase option contradicts provided scurry option");
+        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 } = range;
+            assert(
+              start != null && Number.isFinite(start) && this.start !== start,
+              "content-range mismatch"
+            );
+            assert(Number.isFinite(start));
+            assert(
+              end != null && Number.isFinite(end) && this.end !== end,
+              "invalid content-length"
+            );
+            this.start = start;
+            this.end = end;
           }
-        } else {
-          const Scurry = opts.platform === "win32" ? path_scurry_1.PathScurryWin32 : opts.platform === "darwin" ? path_scurry_1.PathScurryDarwin : opts.platform ? path_scurry_1.PathScurryPosix : path_scurry_1.PathScurry;
-          this.scurry = new Scurry(this.cwd, {
-            nocase: opts.nocase,
-            fs: opts.fs
-          });
+          if (this.end == null) {
+            const contentLength = headers["content-length"];
+            this.end = contentLength != null ? Number(contentLength) : 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;
+          return this.handler.onHeaders(
+            statusCode,
+            rawHeaders,
+            resume,
+            statusMessage
+          );
         }
-        this.nocase = this.scurry.nocase;
-        const nocaseMagicOnly = this.platform === "darwin" || this.platform === "win32";
-        const mmo = {
-          // default nocase based on platform
-          ...opts,
-          dot: this.dot,
-          matchBase: this.matchBase,
-          nobrace: this.nobrace,
-          nocase: this.nocase,
-          nocaseMagicOnly,
-          nocomment: true,
-          noext: this.noext,
-          nonegate: true,
-          optimizationLevel: 2,
-          platform: this.platform,
-          windowsPathsNoEscape: this.windowsPathsNoEscape,
-          debug: !!this.opts.debug
-        };
-        const mms = this.pattern.map((p) => new minimatch_1.Minimatch(p, mmo));
-        const [matchSet, globParts] = mms.reduce((set2, m) => {
-          set2[0].push(...m.set);
-          set2[1].push(...m.globParts);
-          return set2;
-        }, [[], []]);
-        this.patterns = matchSet.map((set2, i) => {
-          const g = globParts[i];
-          if (!g)
-            throw new Error("invalid pattern object");
-          return new pattern_js_1.Pattern(set2, g, 0, this.platform);
+        const err = new RequestRetryError("Request failed", statusCode, {
+          headers,
+          count: this.retryCount
         });
+        this.abort(err);
+        return false;
       }
-      async walk() {
-        return [
-          ...await new walker_js_1.GlobWalker(this.patterns, this.scurry.cwd, {
-            ...this.opts,
-            maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
-            platform: this.platform,
-            nocase: this.nocase,
-            includeChildMatches: this.includeChildMatches
-          }).walk()
-        ];
-      }
-      walkSync() {
-        return [
-          ...new walker_js_1.GlobWalker(this.patterns, this.scurry.cwd, {
-            ...this.opts,
-            maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
-            platform: this.platform,
-            nocase: this.nocase,
-            includeChildMatches: this.includeChildMatches
-          }).walkSync()
-        ];
-      }
-      stream() {
-        return new walker_js_1.GlobStream(this.patterns, this.scurry.cwd, {
-          ...this.opts,
-          maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
-          platform: this.platform,
-          nocase: this.nocase,
-          includeChildMatches: this.includeChildMatches
-        }).stream();
-      }
-      streamSync() {
-        return new walker_js_1.GlobStream(this.patterns, this.scurry.cwd, {
-          ...this.opts,
-          maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
-          platform: this.platform,
-          nocase: this.nocase,
-          includeChildMatches: this.includeChildMatches
-        }).streamSync();
-      }
-      /**
-       * Default sync iteration function. Returns a Generator that
-       * iterates over the results.
-       */
-      iterateSync() {
-        return this.streamSync()[Symbol.iterator]();
+      onData(chunk) {
+        this.start += chunk.length;
+        return this.handler.onData(chunk);
       }
-      [Symbol.iterator]() {
-        return this.iterateSync();
+      onComplete(rawTrailers) {
+        this.retryCount = 0;
+        return this.handler.onComplete(rawTrailers);
       }
-      /**
-       * Default async iteration function. Returns an AsyncGenerator that
-       * iterates over the results.
-       */
-      iterate() {
-        return this.stream()[Symbol.asyncIterator]();
+      onError(err) {
+        if (this.aborted || isDisturbed(this.opts.body)) {
+          return this.handler.onError(err);
+        }
+        this.retryOpts.retry(
+          err,
+          {
+            state: { counter: this.retryCount++, currentTimeout: this.retryAfter },
+            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) {
+            this.opts = {
+              ...this.opts,
+              headers: {
+                ...this.opts.headers,
+                range: `bytes=${this.start}-${this.end ?? ""}`
+              }
+            };
+          }
+          try {
+            this.dispatch(this.opts, this);
+          } catch (err3) {
+            this.handler.onError(err3);
+          }
+        }
       }
-      [Symbol.asyncIterator]() {
-        return this.iterate();
+    };
+    module2.exports = RetryHandler;
+  }
+});
+
+// node_modules/undici/lib/global.js
+var require_global6 = __commonJS({
+  "node_modules/undici/lib/global.js"(exports2, module2) {
+    "use strict";
+    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
+    var { InvalidArgumentError } = require_errors5();
+    var Agent = require_agent3();
+    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
     };
-    exports2.Glob = Glob;
   }
 });
 
-// node_modules/glob/dist/commonjs/has-magic.js
-var require_has_magic = __commonJS({
-  "node_modules/glob/dist/commonjs/has-magic.js"(exports2) {
+// node_modules/undici/lib/handler/DecoratorHandler.js
+var require_DecoratorHandler = __commonJS({
+  "node_modules/undici/lib/handler/DecoratorHandler.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.hasMagic = void 0;
-    var minimatch_1 = require_commonjs20();
-    var hasMagic = (pattern, options = {}) => {
-      if (!Array.isArray(pattern)) {
-        pattern = [pattern];
+    module2.exports = class DecoratorHandler {
+      constructor(handler2) {
+        this.handler = handler2;
       }
-      for (const p of pattern) {
-        if (new minimatch_1.Minimatch(p, options).hasMagic())
-          return true;
+      onConnect(...args) {
+        return this.handler.onConnect(...args);
+      }
+      onError(...args) {
+        return this.handler.onError(...args);
+      }
+      onUpgrade(...args) {
+        return this.handler.onUpgrade(...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);
       }
-      return false;
     };
-    exports2.hasMagic = hasMagic;
   }
 });
 
-// node_modules/glob/dist/commonjs/index.js
-var require_commonjs24 = __commonJS({
-  "node_modules/glob/dist/commonjs/index.js"(exports2) {
+// node_modules/undici/lib/fetch/headers.js
+var require_headers4 = __commonJS({
+  "node_modules/undici/lib/fetch/headers.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.glob = exports2.sync = exports2.iterate = exports2.iterateSync = exports2.stream = exports2.streamSync = exports2.Ignore = exports2.hasMagic = exports2.Glob = exports2.unescape = exports2.escape = void 0;
-    exports2.globStreamSync = globStreamSync;
-    exports2.globStream = globStream;
-    exports2.globSync = globSync;
-    exports2.globIterateSync = globIterateSync;
-    exports2.globIterate = globIterate;
-    var minimatch_1 = require_commonjs20();
-    var glob_js_1 = require_glob();
-    var has_magic_js_1 = require_has_magic();
-    var minimatch_2 = require_commonjs20();
-    Object.defineProperty(exports2, "escape", { enumerable: true, get: function() {
-      return minimatch_2.escape;
-    } });
-    Object.defineProperty(exports2, "unescape", { enumerable: true, get: function() {
-      return minimatch_2.unescape;
-    } });
-    var glob_js_2 = require_glob();
-    Object.defineProperty(exports2, "Glob", { enumerable: true, get: function() {
-      return glob_js_2.Glob;
-    } });
-    var has_magic_js_2 = require_has_magic();
-    Object.defineProperty(exports2, "hasMagic", { enumerable: true, get: function() {
-      return has_magic_js_2.hasMagic;
-    } });
-    var ignore_js_1 = require_ignore();
-    Object.defineProperty(exports2, "Ignore", { enumerable: true, get: function() {
-      return ignore_js_1.Ignore;
-    } });
-    function globStreamSync(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).streamSync();
-    }
-    function globStream(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).stream();
-    }
-    function globSync(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).walkSync();
+    var { kHeadersList, kConstruct } = require_symbols11();
+    var { kGuard } = require_symbols12();
+    var { kEnumerableProperty } = require_util23();
+    var {
+      makeIterator,
+      isValidHeaderName,
+      isValidHeaderValue
+    } = require_util24();
+    var util = require("util");
+    var { webidl } = require_webidl3();
+    var assert = require("assert");
+    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
+    var kHeadersSortedMap = /* @__PURE__ */ Symbol("headers map sorted");
+    function isHTTPWhiteSpaceCharCode(code) {
+      return code === 10 || code === 13 || code === 9 || code === 32;
     }
-    async function glob_(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).walk();
+    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 globIterateSync(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).iterateSync();
+    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 globIterate(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).iterate();
+    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 (headers[kGuard] === "immutable") {
+        throw new TypeError("immutable");
+      } else if (headers[kGuard] === "request-no-cors") {
+      }
+      return headers[kHeadersList].append(name, value);
     }
-    exports2.streamSync = globStreamSync;
-    exports2.stream = Object.assign(globStream, { sync: globStreamSync });
-    exports2.iterateSync = globIterateSync;
-    exports2.iterate = Object.assign(globIterate, {
-      sync: globIterateSync
-    });
-    exports2.sync = Object.assign(globSync, {
-      stream: globStreamSync,
-      iterate: globIterateSync
-    });
-    exports2.glob = Object.assign(glob_, {
-      glob: glob_,
-      globSync,
-      sync: exports2.sync,
-      globStream,
-      stream: exports2.stream,
-      globStreamSync,
-      streamSync: exports2.streamSync,
-      globIterate,
-      iterate: exports2.iterate,
-      globIterateSync,
-      iterateSync: exports2.iterateSync,
-      Glob: glob_js_1.Glob,
-      hasMagic: has_magic_js_1.hasMagic,
-      escape: minimatch_1.escape,
-      unescape: minimatch_1.unescape
-    });
-    exports2.glob.glob = exports2.glob;
-  }
-});
-
-// node_modules/archiver-utils/file.js
-var require_file4 = __commonJS({
-  "node_modules/archiver-utils/file.js"(exports2, module2) {
-    var fs3 = require_graceful_fs();
-    var path3 = require("path");
-    var flatten = require_flatten();
-    var difference = require_difference();
-    var union = require_union();
-    var isPlainObject3 = require_isPlainObject();
-    var glob2 = require_commonjs24();
-    var file = module2.exports = {};
-    var pathSeparatorRe = /[\/\\]/g;
-    var processPatterns = function(patterns, fn) {
-      var result = [];
-      flatten(patterns).forEach(function(pattern) {
-        var exclusion = pattern.indexOf("!") === 0;
-        if (exclusion) {
-          pattern = pattern.slice(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;
         }
-        var matches = fn(pattern);
-        if (exclusion) {
-          result = difference(result, matches);
+      }
+      // https://fetch.spec.whatwg.org/#header-list-contains
+      contains(name) {
+        name = name.toLowerCase();
+        return this[kHeadersMap].has(name);
+      }
+      clear() {
+        this[kHeadersMap].clear();
+        this[kHeadersSortedMap] = null;
+        this.cookies = null;
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-append
+      append(name, value) {
+        this[kHeadersSortedMap] = null;
+        const lowercaseName = name.toLowerCase();
+        const exists = this[kHeadersMap].get(lowercaseName);
+        if (exists) {
+          const delimiter = lowercaseName === "cookie" ? "; " : ", ";
+          this[kHeadersMap].set(lowercaseName, {
+            name: exists.name,
+            value: `${exists.value}${delimiter}${value}`
+          });
         } else {
-          result = union(result, matches);
+          this[kHeadersMap].set(lowercaseName, { name, value });
+        }
+        if (lowercaseName === "set-cookie") {
+          this.cookies ??= [];
+          this.cookies.push(value);
+        }
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-set
+      set(name, value) {
+        this[kHeadersSortedMap] = null;
+        const lowercaseName = name.toLowerCase();
+        if (lowercaseName === "set-cookie") {
+          this.cookies = [value];
+        }
+        this[kHeadersMap].set(lowercaseName, { name, value });
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-delete
+      delete(name) {
+        this[kHeadersSortedMap] = null;
+        name = name.toLowerCase();
+        if (name === "set-cookie") {
+          this.cookies = null;
+        }
+        this[kHeadersMap].delete(name);
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-get
+      get(name) {
+        const value = this[kHeadersMap].get(name.toLowerCase());
+        return value === void 0 ? null : value.value;
+      }
+      *[Symbol.iterator]() {
+        for (const [name, { value }] of this[kHeadersMap]) {
+          yield [name, value];
         }
-      });
-      return result;
-    };
-    file.exists = function() {
-      var filepath = path3.join.apply(path3, arguments);
-      return fs3.existsSync(filepath);
-    };
-    file.expand = function(...args) {
-      var options = isPlainObject3(args[0]) ? args.shift() : {};
-      var patterns = Array.isArray(args[0]) ? args[0] : args;
-      if (patterns.length === 0) {
-        return [];
       }
-      var matches = processPatterns(patterns, function(pattern) {
-        return glob2.sync(pattern, options);
-      });
-      if (options.filter) {
-        matches = matches.filter(function(filepath) {
-          filepath = path3.join(options.cwd || "", filepath);
-          try {
-            if (typeof options.filter === "function") {
-              return options.filter(filepath);
-            } else {
-              return fs3.statSync(filepath)[options.filter]();
-            }
-          } catch (e) {
-            return false;
+      get entries() {
+        const headers = {};
+        if (this[kHeadersMap].size) {
+          for (const { name, value } of this[kHeadersMap].values()) {
+            headers[name] = value;
           }
-        });
+        }
+        return headers;
       }
-      return matches;
     };
-    file.expandMapping = function(patterns, destBase, options) {
-      options = Object.assign({
-        rename: function(destBase2, destPath) {
-          return path3.join(destBase2 || "", destPath);
-        }
-      }, options);
-      var files = [];
-      var fileByDest = {};
-      file.expand(options, patterns).forEach(function(src) {
-        var destPath = src;
-        if (options.flatten) {
-          destPath = path3.basename(destPath);
-        }
-        if (options.ext) {
-          destPath = destPath.replace(/(\.[^\/]*)?$/, options.ext);
+    var Headers = class _Headers {
+      constructor(init = void 0) {
+        if (init === kConstruct) {
+          return;
         }
-        var dest = options.rename(destBase, destPath, options);
-        if (options.cwd) {
-          src = path3.join(options.cwd, src);
+        this[kHeadersList] = new HeadersList();
+        this[kGuard] = "none";
+        if (init !== void 0) {
+          init = webidl.converters.HeadersInit(init);
+          fill(this, init);
         }
-        dest = dest.replace(pathSeparatorRe, "/");
-        src = src.replace(pathSeparatorRe, "/");
-        if (fileByDest[dest]) {
-          fileByDest[dest].src.push(src);
-        } else {
-          files.push({
-            src: [src],
-            dest
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-append
+      append(name, value) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.append" });
+        name = webidl.converters.ByteString(name);
+        value = webidl.converters.ByteString(value);
+        return appendHeader(this, name, value);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-delete
+      delete(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.delete" });
+        name = webidl.converters.ByteString(name);
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.delete",
+            value: name,
+            type: "header name"
           });
-          fileByDest[dest] = files[files.length - 1];
         }
-      });
-      return files;
-    };
-    file.normalizeFilesArray = function(data) {
-      var files = [];
-      data.forEach(function(obj) {
-        var prop;
-        if ("src" in obj || "dest" in obj) {
-          files.push(obj);
+        if (this[kGuard] === "immutable") {
+          throw new TypeError("immutable");
+        } else if (this[kGuard] === "request-no-cors") {
         }
-      });
-      if (files.length === 0) {
-        return [];
-      }
-      files = _(files).chain().forEach(function(obj) {
-        if (!("src" in obj) || !obj.src) {
+        if (!this[kHeadersList].contains(name)) {
           return;
         }
-        if (Array.isArray(obj.src)) {
-          obj.src = flatten(obj.src);
-        } else {
-          obj.src = [obj.src];
+        this[kHeadersList].delete(name);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-get
+      get(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.get" });
+        name = webidl.converters.ByteString(name);
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.get",
+            value: name,
+            type: "header name"
+          });
         }
-      }).map(function(obj) {
-        var expandOptions = Object.assign({}, obj);
-        delete expandOptions.src;
-        delete expandOptions.dest;
-        if (obj.expand) {
-          return file.expandMapping(obj.src, obj.dest, expandOptions).map(function(mapObj) {
-            var result2 = Object.assign({}, obj);
-            result2.orig = Object.assign({}, obj);
-            result2.src = mapObj.src;
-            result2.dest = mapObj.dest;
-            ["expand", "cwd", "flatten", "rename", "ext"].forEach(function(prop) {
-              delete result2[prop];
-            });
-            return result2;
+        return this[kHeadersList].get(name);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-has
+      has(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.has" });
+        name = webidl.converters.ByteString(name);
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.has",
+            value: name,
+            type: "header name"
           });
         }
-        var result = Object.assign({}, obj);
-        result.orig = Object.assign({}, obj);
-        if ("src" in result) {
-          Object.defineProperty(result, "src", {
-            enumerable: true,
-            get: function fn() {
-              var src;
-              if (!("result" in fn)) {
-                src = obj.src;
-                src = Array.isArray(src) ? flatten(src) : [src];
-                fn.result = file.expand(expandOptions, src);
-              }
-              return fn.result;
-            }
+        return this[kHeadersList].contains(name);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-set
+      set(name, value) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.set" });
+        name = webidl.converters.ByteString(name);
+        value = webidl.converters.ByteString(value);
+        value = headerValueNormalize(value);
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.set",
+            value: name,
+            type: "header name"
+          });
+        } else if (!isValidHeaderValue(value)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.set",
+            value,
+            type: "header value"
           });
         }
-        if ("dest" in result) {
-          result.dest = obj.dest;
+        if (this[kGuard] === "immutable") {
+          throw new TypeError("immutable");
+        } else if (this[kGuard] === "request-no-cors") {
         }
-        return result;
-      }).flatten().value();
-      return files;
-    };
-  }
-});
-
-// node_modules/archiver-utils/index.js
-var require_archiver_utils = __commonJS({
-  "node_modules/archiver-utils/index.js"(exports2, module2) {
-    var fs3 = require_graceful_fs();
-    var path3 = require("path");
-    var isStream = require_is_stream();
-    var lazystream = require_lazystream();
-    var normalizePath = require_normalize_path();
-    var defaults = require_defaults();
-    var Stream = require("stream").Stream;
-    var PassThrough = require_ours().PassThrough;
-    var utils = module2.exports = {};
-    utils.file = require_file4();
-    utils.collectStream = function(source, callback) {
-      var collection = [];
-      var size = 0;
-      source.on("error", callback);
-      source.on("data", function(chunk) {
-        collection.push(chunk);
-        size += chunk.length;
-      });
-      source.on("end", function() {
-        var buf = Buffer.alloc(size);
-        var offset = 0;
-        collection.forEach(function(data) {
-          data.copy(buf, offset);
-          offset += data.length;
-        });
-        callback(null, buf);
-      });
-    };
-    utils.dateify = function(dateish) {
-      dateish = dateish || /* @__PURE__ */ new Date();
-      if (dateish instanceof Date) {
-        dateish = dateish;
-      } else if (typeof dateish === "string") {
-        dateish = new Date(dateish);
-      } else {
-        dateish = /* @__PURE__ */ new Date();
-      }
-      return dateish;
-    };
-    utils.defaults = function(object, source, guard) {
-      var args = arguments;
-      args[0] = args[0] || {};
-      return defaults(...args);
-    };
-    utils.isStream = function(source) {
-      return isStream(source);
-    };
-    utils.lazyReadStream = function(filepath) {
-      return new lazystream.Readable(function() {
-        return fs3.createReadStream(filepath);
-      });
-    };
-    utils.normalizeInputSource = function(source) {
-      if (source === null) {
-        return Buffer.alloc(0);
-      } else if (typeof source === "string") {
-        return Buffer.from(source);
-      } else if (utils.isStream(source)) {
-        return source.pipe(new PassThrough());
+        this[kHeadersList].set(name, value);
       }
-      return source;
-    };
-    utils.sanitizePath = function(filepath) {
-      return normalizePath(filepath, false).replace(/^\w+:/, "").replace(/^(\.\.\/|\/)+/, "");
-    };
-    utils.trailingSlashIt = function(str2) {
-      return str2.slice(-1) !== "/" ? str2 + "/" : str2;
-    };
-    utils.unixifyPath = function(filepath) {
-      return normalizePath(filepath, false).replace(/^\w+:/, "");
-    };
-    utils.walkdir = function(dirpath, base, callback) {
-      var results = [];
-      if (typeof base === "function") {
-        callback = base;
-        base = dirpath;
+      // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
+      getSetCookie() {
+        webidl.brandCheck(this, _Headers);
+        const list = this[kHeadersList].cookies;
+        if (list) {
+          return [...list];
+        }
+        return [];
       }
-      fs3.readdir(dirpath, function(err, list) {
-        var i = 0;
-        var file;
-        var filepath;
-        if (err) {
-          return callback(err);
+      // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
+      get [kHeadersSortedMap]() {
+        if (this[kHeadersList][kHeadersSortedMap]) {
+          return this[kHeadersList][kHeadersSortedMap];
         }
-        (function next() {
-          file = list[i++];
-          if (!file) {
-            return callback(null, results);
-          }
-          filepath = path3.join(dirpath, file);
-          fs3.stat(filepath, function(err2, stats) {
-            results.push({
-              path: filepath,
-              relative: path3.relative(base, filepath).replace(/\\/g, "/"),
-              stats
-            });
-            if (stats && stats.isDirectory()) {
-              utils.walkdir(filepath, base, function(err3, res) {
-                if (err3) {
-                  return callback(err3);
-                }
-                res.forEach(function(dirEntry) {
-                  results.push(dirEntry);
-                });
-                next();
-              });
-            } else {
-              next();
+        const headers = [];
+        const names = [...this[kHeadersList]].sort((a, b) => a[0] < b[0] ? -1 : 1);
+        const cookies = this[kHeadersList].cookies;
+        for (let i = 0; i < names.length; ++i) {
+          const [name, value] = names[i];
+          if (name === "set-cookie") {
+            for (let j = 0; j < cookies.length; ++j) {
+              headers.push([name, cookies[j]]);
             }
-          });
-        })();
-      });
-    };
-  }
-});
-
-// node_modules/archiver/lib/error.js
-var require_error3 = __commonJS({
-  "node_modules/archiver/lib/error.js"(exports2, module2) {
-    var util = require("util");
-    var ERROR_CODES = {
-      "ABORTED": "archive was aborted",
-      "DIRECTORYDIRPATHREQUIRED": "diretory dirpath argument must be a non-empty string value",
-      "DIRECTORYFUNCTIONINVALIDDATA": "invalid data returned by directory custom data function",
-      "ENTRYNAMEREQUIRED": "entry name must be a non-empty string value",
-      "FILEFILEPATHREQUIRED": "file filepath argument must be a non-empty string value",
-      "FINALIZING": "archive already finalizing",
-      "QUEUECLOSED": "queue closed",
-      "NOENDMETHOD": "no suitable finalize/end method defined by module",
-      "DIRECTORYNOTSUPPORTED": "support for directory entries not defined by module",
-      "FORMATSET": "archive format already set",
-      "INPUTSTEAMBUFFERREQUIRED": "input source must be valid Stream or Buffer instance",
-      "MODULESET": "module already set",
-      "SYMLINKNOTSUPPORTED": "support for symlink entries not defined by module",
-      "SYMLINKFILEPATHREQUIRED": "symlink filepath argument must be a non-empty string value",
-      "SYMLINKTARGETREQUIRED": "symlink target argument must be a non-empty string value",
-      "ENTRYNOTSUPPORTED": "entry not supported"
-    };
-    function ArchiverError(code, data) {
-      Error.captureStackTrace(this, this.constructor);
-      this.message = ERROR_CODES[code] || code;
-      this.code = code;
-      this.data = data;
-    }
-    util.inherits(ArchiverError, Error);
-    exports2 = module2.exports = ArchiverError;
-  }
-});
-
-// node_modules/archiver/lib/core.js
-var require_core2 = __commonJS({
-  "node_modules/archiver/lib/core.js"(exports2, module2) {
-    var fs3 = require("fs");
-    var glob2 = require_readdir_glob();
-    var async = require_async();
-    var path3 = require("path");
-    var util = require_archiver_utils();
-    var inherits = require("util").inherits;
-    var ArchiverError = require_error3();
-    var Transform = require_ours().Transform;
-    var win32 = process.platform === "win32";
-    var Archiver = function(format, options) {
-      if (!(this instanceof Archiver)) {
-        return new Archiver(format, options);
-      }
-      if (typeof format !== "string") {
-        options = format;
-        format = "zip";
-      }
-      options = this.options = util.defaults(options, {
-        highWaterMark: 1024 * 1024,
-        statConcurrency: 4
-      });
-      Transform.call(this, options);
-      this._format = false;
-      this._module = false;
-      this._pending = 0;
-      this._pointer = 0;
-      this._entriesCount = 0;
-      this._entriesProcessedCount = 0;
-      this._fsEntriesTotalBytes = 0;
-      this._fsEntriesProcessedBytes = 0;
-      this._queue = async.queue(this._onQueueTask.bind(this), 1);
-      this._queue.drain(this._onQueueDrain.bind(this));
-      this._statQueue = async.queue(this._onStatQueueTask.bind(this), options.statConcurrency);
-      this._statQueue.drain(this._onQueueDrain.bind(this));
-      this._state = {
-        aborted: false,
-        finalize: false,
-        finalizing: false,
-        finalized: false,
-        modulePiped: false
-      };
-      this._streams = [];
-    };
-    inherits(Archiver, Transform);
-    Archiver.prototype._abort = function() {
-      this._state.aborted = true;
-      this._queue.kill();
-      this._statQueue.kill();
-      if (this._queue.idle()) {
-        this._shutdown();
+          } else {
+            assert(value !== null);
+            headers.push([name, value]);
+          }
+        }
+        this[kHeadersList][kHeadersSortedMap] = headers;
+        return headers;
       }
-    };
-    Archiver.prototype._append = function(filepath, data) {
-      data = data || {};
-      var task = {
-        source: null,
-        filepath
-      };
-      if (!data.name) {
-        data.name = filepath;
+      keys() {
+        webidl.brandCheck(this, _Headers);
+        if (this[kGuard] === "immutable") {
+          const value = this[kHeadersSortedMap];
+          return makeIterator(
+            () => value,
+            "Headers",
+            "key"
+          );
+        }
+        return makeIterator(
+          () => [...this[kHeadersSortedMap].values()],
+          "Headers",
+          "key"
+        );
       }
-      data.sourcePath = filepath;
-      task.data = data;
-      this._entriesCount++;
-      if (data.stats && data.stats instanceof fs3.Stats) {
-        task = this._updateQueueTaskWithStats(task, data.stats);
-        if (task) {
-          if (data.stats.size) {
-            this._fsEntriesTotalBytes += data.stats.size;
-          }
-          this._queue.push(task);
+      values() {
+        webidl.brandCheck(this, _Headers);
+        if (this[kGuard] === "immutable") {
+          const value = this[kHeadersSortedMap];
+          return makeIterator(
+            () => value,
+            "Headers",
+            "value"
+          );
         }
-      } else {
-        this._statQueue.push(task);
+        return makeIterator(
+          () => [...this[kHeadersSortedMap].values()],
+          "Headers",
+          "value"
+        );
       }
-    };
-    Archiver.prototype._finalize = function() {
-      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
-        return;
+      entries() {
+        webidl.brandCheck(this, _Headers);
+        if (this[kGuard] === "immutable") {
+          const value = this[kHeadersSortedMap];
+          return makeIterator(
+            () => value,
+            "Headers",
+            "key+value"
+          );
+        }
+        return makeIterator(
+          () => [...this[kHeadersSortedMap].values()],
+          "Headers",
+          "key+value"
+        );
       }
-      this._state.finalizing = true;
-      this._moduleFinalize();
-      this._state.finalizing = false;
-      this._state.finalized = true;
-    };
-    Archiver.prototype._maybeFinalize = function() {
-      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
-        return false;
+      /**
+       * @param {(value: string, key: string, self: Headers) => void} callbackFn
+       * @param {unknown} thisArg
+       */
+      forEach(callbackFn, thisArg = globalThis) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.forEach" });
+        if (typeof callbackFn !== "function") {
+          throw new TypeError(
+            "Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'."
+          );
+        }
+        for (const [key, value] of this) {
+          callbackFn.apply(thisArg, [value, key, this]);
+        }
       }
-      if (this._state.finalize && this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
-        this._finalize();
-        return true;
+      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")]() {
+        webidl.brandCheck(this, _Headers);
+        return this[kHeadersList];
       }
-      return false;
     };
-    Archiver.prototype._moduleAppend = function(source, data, callback) {
-      if (this._state.aborted) {
-        callback();
-        return;
+    Headers.prototype[Symbol.iterator] = Headers.prototype.entries;
+    Object.defineProperties(Headers.prototype, {
+      append: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      get: kEnumerableProperty,
+      has: kEnumerableProperty,
+      set: kEnumerableProperty,
+      getSetCookie: kEnumerableProperty,
+      keys: kEnumerableProperty,
+      values: kEnumerableProperty,
+      entries: kEnumerableProperty,
+      forEach: kEnumerableProperty,
+      [Symbol.iterator]: { enumerable: false },
+      [Symbol.toStringTag]: {
+        value: "Headers",
+        configurable: true
+      },
+      [util.inspect.custom]: {
+        enumerable: false
       }
-      this._module.append(source, data, function(err) {
-        this._task = null;
-        if (this._state.aborted) {
-          this._shutdown();
-          return;
-        }
-        if (err) {
-          this.emit("error", err);
-          setImmediate(callback);
-          return;
-        }
-        this.emit("entry", data);
-        this._entriesProcessedCount++;
-        if (data.stats && data.stats.size) {
-          this._fsEntriesProcessedBytes += data.stats.size;
+    });
+    webidl.converters.HeadersInit = function(V) {
+      if (webidl.util.Type(V) === "Object") {
+        if (V[Symbol.iterator]) {
+          return webidl.converters["sequence>"](V);
         }
-        this.emit("progress", {
-          entries: {
-            total: this._entriesCount,
-            processed: this._entriesProcessedCount
-          },
-          fs: {
-            totalBytes: this._fsEntriesTotalBytes,
-            processedBytes: this._fsEntriesProcessedBytes
-          }
-        });
-        setImmediate(callback);
-      }.bind(this));
-    };
-    Archiver.prototype._moduleFinalize = function() {
-      if (typeof this._module.finalize === "function") {
-        this._module.finalize();
-      } else if (typeof this._module.end === "function") {
-        this._module.end();
-      } else {
-        this.emit("error", new ArchiverError("NOENDMETHOD"));
+        return webidl.converters["record"](V);
       }
+      throw webidl.errors.conversionFailed({
+        prefix: "Headers constructor",
+        argument: "Argument 1",
+        types: ["sequence>", "record"]
+      });
     };
-    Archiver.prototype._modulePipe = function() {
-      this._module.on("error", this._onModuleError.bind(this));
-      this._module.pipe(this);
-      this._state.modulePiped = true;
+    module2.exports = {
+      fill,
+      Headers,
+      HeadersList
     };
-    Archiver.prototype._moduleSupports = function(key) {
-      if (!this._module.supports || !this._module.supports[key]) {
-        return false;
+  }
+});
+
+// node_modules/undici/lib/fetch/response.js
+var require_response4 = __commonJS({
+  "node_modules/undici/lib/fetch/response.js"(exports2, module2) {
+    "use strict";
+    var { Headers, HeadersList, fill } = require_headers4();
+    var { extractBody, cloneBody, mixinBody } = require_body3();
+    var util = require_util23();
+    var { kEnumerableProperty } = util;
+    var {
+      isValidReasonPhrase,
+      isCancelled,
+      isAborted,
+      isBlobLike,
+      serializeJavascriptValueToJSONString,
+      isErrorLike,
+      isomorphicEncode
+    } = require_util24();
+    var {
+      redirectStatusSet,
+      nullBodyStatus,
+      DOMException: DOMException2
+    } = require_constants20();
+    var { kState, kHeaders, kGuard, kRealm } = require_symbols12();
+    var { webidl } = require_webidl3();
+    var { FormData: FormData2 } = require_formdata3();
+    var { getGlobalOrigin } = require_global5();
+    var { URLSerializer } = require_dataURL();
+    var { kHeadersList, kConstruct } = require_symbols11();
+    var assert = require("assert");
+    var { types } = require("util");
+    var ReadableStream2 = globalThis.ReadableStream || require("stream/web").ReadableStream;
+    var textEncoder = new TextEncoder("utf-8");
+    var Response = class _Response {
+      // Creates network error Response.
+      static error() {
+        const relevantRealm = { settingsObject: {} };
+        const responseObject = new _Response();
+        responseObject[kState] = makeNetworkError();
+        responseObject[kRealm] = relevantRealm;
+        responseObject[kHeaders][kHeadersList] = responseObject[kState].headersList;
+        responseObject[kHeaders][kGuard] = "immutable";
+        responseObject[kHeaders][kRealm] = relevantRealm;
+        return responseObject;
       }
-      return this._module.supports[key];
-    };
-    Archiver.prototype._moduleUnpipe = function() {
-      this._module.unpipe(this);
-      this._state.modulePiped = false;
-    };
-    Archiver.prototype._normalizeEntryData = function(data, stats) {
-      data = util.defaults(data, {
-        type: "file",
-        name: null,
-        date: null,
-        mode: null,
-        prefix: null,
-        sourcePath: null,
-        stats: false
-      });
-      if (stats && data.stats === false) {
-        data.stats = stats;
+      // https://fetch.spec.whatwg.org/#dom-response-json
+      static json(data, init = {}) {
+        webidl.argumentLengthCheck(arguments, 1, { header: "Response.json" });
+        if (init !== null) {
+          init = webidl.converters.ResponseInit(init);
+        }
+        const bytes = textEncoder.encode(
+          serializeJavascriptValueToJSONString(data)
+        );
+        const body = extractBody(bytes);
+        const relevantRealm = { settingsObject: {} };
+        const responseObject = new _Response();
+        responseObject[kRealm] = relevantRealm;
+        responseObject[kHeaders][kGuard] = "response";
+        responseObject[kHeaders][kRealm] = relevantRealm;
+        initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
+        return responseObject;
       }
-      var isDir = data.type === "directory";
-      if (data.name) {
-        if (typeof data.prefix === "string" && "" !== data.prefix) {
-          data.name = data.prefix + "/" + data.name;
-          data.prefix = null;
+      // Creates a redirect Response that redirects to url with status status.
+      static redirect(url, status = 302) {
+        const relevantRealm = { settingsObject: {} };
+        webidl.argumentLengthCheck(arguments, 1, { header: "Response.redirect" });
+        url = webidl.converters.USVString(url);
+        status = webidl.converters["unsigned short"](status);
+        let parsedURL;
+        try {
+          parsedURL = new URL(url, getGlobalOrigin());
+        } catch (err) {
+          throw Object.assign(new TypeError("Failed to parse URL from " + url), {
+            cause: err
+          });
         }
-        data.name = util.sanitizePath(data.name);
-        if (data.type !== "symlink" && data.name.slice(-1) === "/") {
-          isDir = true;
-          data.type = "directory";
-        } else if (isDir) {
-          data.name += "/";
+        if (!redirectStatusSet.has(status)) {
+          throw new RangeError("Invalid status code " + status);
         }
+        const responseObject = new _Response();
+        responseObject[kRealm] = relevantRealm;
+        responseObject[kHeaders][kGuard] = "immutable";
+        responseObject[kHeaders][kRealm] = relevantRealm;
+        responseObject[kState].status = status;
+        const value = isomorphicEncode(URLSerializer(parsedURL));
+        responseObject[kState].headersList.append("location", value);
+        return responseObject;
       }
-      if (typeof data.mode === "number") {
-        if (win32) {
-          data.mode &= 511;
-        } else {
-          data.mode &= 4095;
+      // https://fetch.spec.whatwg.org/#dom-response
+      constructor(body = null, init = {}) {
+        if (body !== null) {
+          body = webidl.converters.BodyInit(body);
         }
-      } else if (data.stats && data.mode === null) {
-        if (win32) {
-          data.mode = data.stats.mode & 511;
-        } else {
-          data.mode = data.stats.mode & 4095;
+        init = webidl.converters.ResponseInit(init);
+        this[kRealm] = { settingsObject: {} };
+        this[kState] = makeResponse({});
+        this[kHeaders] = new Headers(kConstruct);
+        this[kHeaders][kGuard] = "response";
+        this[kHeaders][kHeadersList] = this[kState].headersList;
+        this[kHeaders][kRealm] = this[kRealm];
+        let bodyWithType = null;
+        if (body != null) {
+          const [extractedBody, type2] = extractBody(body);
+          bodyWithType = { body: extractedBody, type: type2 };
         }
-        if (win32 && isDir) {
-          data.mode = 493;
+        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 "";
         }
-      } else if (data.mode === null) {
-        data.mode = isDir ? 493 : 420;
+        return URLSerializer(url, true);
       }
-      if (data.stats && data.date === null) {
-        data.date = data.stats.mtime;
-      } else {
-        data.date = util.dateify(data.date);
+      // Returns whether response was obtained through a redirect.
+      get redirected() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].urlList.length > 1;
       }
-      return data;
-    };
-    Archiver.prototype._onModuleError = function(err) {
-      this.emit("error", err);
-    };
-    Archiver.prototype._onQueueDrain = function() {
-      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
-        return;
+      // Returns response’s status.
+      get status() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status;
       }
-      if (this._state.finalize && this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
-        this._finalize();
+      // Returns whether response’s status is an ok status.
+      get ok() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status >= 200 && this[kState].status <= 299;
       }
-    };
-    Archiver.prototype._onQueueTask = function(task, callback) {
-      var fullCallback = () => {
-        if (task.data.callback) {
-          task.data.callback();
-        }
-        callback();
-      };
-      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
-        fullCallback();
-        return;
+      // Returns response’s status message.
+      get statusText() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].statusText;
       }
-      this._task = task;
-      this._moduleAppend(task.source, task.data, fullCallback);
-    };
-    Archiver.prototype._onStatQueueTask = function(task, callback) {
-      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
-        callback();
-        return;
+      // Returns response’s headers as Headers.
+      get headers() {
+        webidl.brandCheck(this, _Response);
+        return this[kHeaders];
       }
-      fs3.lstat(task.filepath, function(err, stats) {
-        if (this._state.aborted) {
-          setImmediate(callback);
-          return;
-        }
-        if (err) {
-          this._entriesCount--;
-          this.emit("warning", err);
-          setImmediate(callback);
-          return;
-        }
-        task = this._updateQueueTaskWithStats(task, stats);
-        if (task) {
-          if (stats.size) {
-            this._fsEntriesTotalBytes += stats.size;
-          }
-          this._queue.push(task);
-        }
-        setImmediate(callback);
-      }.bind(this));
-    };
-    Archiver.prototype._shutdown = function() {
-      this._moduleUnpipe();
-      this.end();
-    };
-    Archiver.prototype._transform = function(chunk, encoding, callback) {
-      if (chunk) {
-        this._pointer += chunk.length;
+      get body() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      callback(null, chunk);
-    };
-    Archiver.prototype._updateQueueTaskWithStats = function(task, stats) {
-      if (stats.isFile()) {
-        task.data.type = "file";
-        task.data.sourceType = "stream";
-        task.source = util.lazyReadStream(task.filepath);
-      } else if (stats.isDirectory() && this._moduleSupports("directory")) {
-        task.data.name = util.trailingSlashIt(task.data.name);
-        task.data.type = "directory";
-        task.data.sourcePath = util.trailingSlashIt(task.filepath);
-        task.data.sourceType = "buffer";
-        task.source = Buffer.concat([]);
-      } else if (stats.isSymbolicLink() && this._moduleSupports("symlink")) {
-        var linkPath = fs3.readlinkSync(task.filepath);
-        var dirName = path3.dirname(task.filepath);
-        task.data.type = "symlink";
-        task.data.linkname = path3.relative(dirName, path3.resolve(dirName, linkPath));
-        task.data.sourceType = "buffer";
-        task.source = Buffer.concat([]);
-      } else {
-        if (stats.isDirectory()) {
-          this.emit("warning", new ArchiverError("DIRECTORYNOTSUPPORTED", task.data));
-        } else if (stats.isSymbolicLink()) {
-          this.emit("warning", new ArchiverError("SYMLINKNOTSUPPORTED", task.data));
-        } else {
-          this.emit("warning", new ArchiverError("ENTRYNOTSUPPORTED", task.data));
-        }
-        return null;
+      get bodyUsed() {
+        webidl.brandCheck(this, _Response);
+        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
       }
-      task.data = this._normalizeEntryData(task.data, stats);
-      return task;
-    };
-    Archiver.prototype.abort = function() {
-      if (this._state.aborted || this._state.finalized) {
-        return this;
+      // Returns a clone of response.
+      clone() {
+        webidl.brandCheck(this, _Response);
+        if (this.bodyUsed || this.body && this.body.locked) {
+          throw webidl.errors.exception({
+            header: "Response.clone",
+            message: "Body has already been consumed."
+          });
+        }
+        const clonedResponse = cloneResponse(this[kState]);
+        const clonedResponseObject = new _Response();
+        clonedResponseObject[kState] = clonedResponse;
+        clonedResponseObject[kRealm] = this[kRealm];
+        clonedResponseObject[kHeaders][kHeadersList] = clonedResponse.headersList;
+        clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard];
+        clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm];
+        return clonedResponseObject;
       }
-      this._abort();
-      return this;
     };
-    Archiver.prototype.append = function(source, data) {
-      if (this._state.finalize || this._state.aborted) {
-        this.emit("error", new ArchiverError("QUEUECLOSED"));
-        return this;
-      }
-      data = this._normalizeEntryData(data);
-      if (typeof data.name !== "string" || data.name.length === 0) {
-        this.emit("error", new ArchiverError("ENTRYNAMEREQUIRED"));
-        return this;
+    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
       }
-      if (data.type === "directory" && !this._moduleSupports("directory")) {
-        this.emit("error", new ArchiverError("DIRECTORYNOTSUPPORTED", { name: data.name }));
-        return this;
+    });
+    Object.defineProperties(Response, {
+      json: kEnumerableProperty,
+      redirect: kEnumerableProperty,
+      error: kEnumerableProperty
+    });
+    function cloneResponse(response) {
+      if (response.internalResponse) {
+        return filterResponse(
+          cloneResponse(response.internalResponse),
+          response.type
+        );
       }
-      source = util.normalizeInputSource(source);
-      if (Buffer.isBuffer(source)) {
-        data.sourceType = "buffer";
-      } else if (util.isStream(source)) {
-        data.sourceType = "stream";
-      } else {
-        this.emit("error", new ArchiverError("INPUTSTEAMBUFFERREQUIRED", { name: data.name }));
-        return this;
+      const newResponse = makeResponse({ ...response, body: null });
+      if (response.body != null) {
+        newResponse.body = cloneBody(response.body);
       }
-      this._entriesCount++;
-      this._queue.push({
-        data,
-        source
+      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"
       });
-      return this;
-    };
-    Archiver.prototype.directory = function(dirpath, destpath, data) {
-      if (this._state.finalize || this._state.aborted) {
-        this.emit("error", new ArchiverError("QUEUECLOSED"));
-        return this;
+    }
+    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, type2) {
+      if (type2 === "basic") {
+        return makeFilteredResponse(response, {
+          type: "basic",
+          headersList: response.headersList
+        });
+      } else if (type2 === "cors") {
+        return makeFilteredResponse(response, {
+          type: "cors",
+          headersList: response.headersList
+        });
+      } else if (type2 === "opaque") {
+        return makeFilteredResponse(response, {
+          type: "opaque",
+          urlList: Object.freeze([]),
+          status: 0,
+          statusText: "",
+          body: null
+        });
+      } else if (type2 === "opaqueredirect") {
+        return makeFilteredResponse(response, {
+          type: "opaqueredirect",
+          status: 0,
+          statusText: "",
+          headersList: [],
+          body: null
+        });
+      } else {
+        assert(false);
       }
-      if (typeof dirpath !== "string" || dirpath.length === 0) {
-        this.emit("error", new ArchiverError("DIRECTORYDIRPATHREQUIRED"));
-        return this;
+    }
+    function makeAppropriateNetworkError(fetchParams, err = null) {
+      assert(isCancelled(fetchParams));
+      return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException2("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException2("Request was cancelled."), { cause: err }));
+    }
+    function initializeResponse(response, init, body) {
+      if (init.status !== null && (init.status < 200 || init.status > 599)) {
+        throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
       }
-      this._pending++;
-      if (destpath === false) {
-        destpath = "";
-      } else if (typeof destpath !== "string") {
-        destpath = dirpath;
+      if ("statusText" in init && init.statusText != null) {
+        if (!isValidReasonPhrase(String(init.statusText))) {
+          throw new TypeError("Invalid statusText");
+        }
       }
-      var dataFunction = false;
-      if (typeof data === "function") {
-        dataFunction = data;
-        data = {};
-      } else if (typeof data !== "object") {
-        data = {};
+      if ("status" in init && init.status != null) {
+        response[kState].status = init.status;
       }
-      var globOptions = {
-        stat: true,
-        dot: true
-      };
-      function onGlobEnd() {
-        this._pending--;
-        this._maybeFinalize();
+      if ("statusText" in init && init.statusText != null) {
+        response[kState].statusText = init.statusText;
       }
-      function onGlobError(err) {
-        this.emit("error", err);
+      if ("headers" in init && init.headers != null) {
+        fill(response[kHeaders], init.headers);
       }
-      function onGlobMatch(match) {
-        globber.pause();
-        var ignoreMatch = false;
-        var entryData = Object.assign({}, data);
-        entryData.name = match.relative;
-        entryData.prefix = destpath;
-        entryData.stats = match.stat;
-        entryData.callback = globber.resume.bind(globber);
-        try {
-          if (dataFunction) {
-            entryData = dataFunction(entryData);
-            if (entryData === false) {
-              ignoreMatch = true;
-            } else if (typeof entryData !== "object") {
-              throw new ArchiverError("DIRECTORYFUNCTIONINVALIDDATA", { dirpath });
-            }
-          }
-        } catch (e) {
-          this.emit("error", e);
-          return;
+      if (body) {
+        if (nullBodyStatus.includes(response.status)) {
+          throw webidl.errors.exception({
+            header: "Response constructor",
+            message: "Invalid response status code " + response.status
+          });
         }
-        if (ignoreMatch) {
-          globber.resume();
-          return;
+        response[kState].body = body.body;
+        if (body.type != null && !response[kState].headersList.contains("Content-Type")) {
+          response[kState].headersList.append("content-type", body.type);
         }
-        this._append(match.absolute, entryData);
       }
-      var globber = glob2(dirpath, globOptions);
-      globber.on("error", onGlobError.bind(this));
-      globber.on("match", onGlobMatch.bind(this));
-      globber.on("end", onGlobEnd.bind(this));
-      return this;
-    };
-    Archiver.prototype.file = function(filepath, data) {
-      if (this._state.finalize || this._state.aborted) {
-        this.emit("error", new ArchiverError("QUEUECLOSED"));
-        return this;
+    }
+    webidl.converters.ReadableStream = webidl.interfaceConverter(
+      ReadableStream2
+    );
+    webidl.converters.FormData = webidl.interfaceConverter(
+      FormData2
+    );
+    webidl.converters.URLSearchParams = webidl.interfaceConverter(
+      URLSearchParams
+    );
+    webidl.converters.XMLHttpRequestBodyInit = function(V) {
+      if (typeof V === "string") {
+        return webidl.converters.USVString(V);
       }
-      if (typeof filepath !== "string" || filepath.length === 0) {
-        this.emit("error", new ArchiverError("FILEFILEPATHREQUIRED"));
-        return this;
+      if (isBlobLike(V)) {
+        return webidl.converters.Blob(V, { strict: false });
       }
-      this._append(filepath, data);
-      return this;
-    };
-    Archiver.prototype.glob = function(pattern, options, data) {
-      this._pending++;
-      options = util.defaults(options, {
-        stat: true,
-        pattern
-      });
-      function onGlobEnd() {
-        this._pending--;
-        this._maybeFinalize();
+      if (types.isArrayBuffer(V) || types.isTypedArray(V) || types.isDataView(V)) {
+        return webidl.converters.BufferSource(V);
       }
-      function onGlobError(err) {
-        this.emit("error", err);
+      if (util.isFormDataLike(V)) {
+        return webidl.converters.FormData(V, { strict: false });
       }
-      function onGlobMatch(match) {
-        globber.pause();
-        var entryData = Object.assign({}, data);
-        entryData.callback = globber.resume.bind(globber);
-        entryData.stats = match.stat;
-        entryData.name = match.relative;
-        this._append(match.absolute, entryData);
+      if (V instanceof URLSearchParams) {
+        return webidl.converters.URLSearchParams(V);
       }
-      var globber = glob2(options.cwd || ".", options);
-      globber.on("error", onGlobError.bind(this));
-      globber.on("match", onGlobMatch.bind(this));
-      globber.on("end", onGlobEnd.bind(this));
-      return this;
+      return webidl.converters.DOMString(V);
     };
-    Archiver.prototype.finalize = function() {
-      if (this._state.aborted) {
-        var abortedError = new ArchiverError("ABORTED");
-        this.emit("error", abortedError);
-        return Promise.reject(abortedError);
+    webidl.converters.BodyInit = function(V) {
+      if (V instanceof ReadableStream2) {
+        return webidl.converters.ReadableStream(V);
       }
-      if (this._state.finalize) {
-        var finalizingError = new ArchiverError("FINALIZING");
-        this.emit("error", finalizingError);
-        return Promise.reject(finalizingError);
+      if (V?.[Symbol.asyncIterator]) {
+        return V;
       }
-      this._state.finalize = true;
-      if (this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
-        this._finalize();
+      return webidl.converters.XMLHttpRequestBodyInit(V);
+    };
+    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
       }
-      var self2 = this;
-      return new Promise(function(resolve2, reject) {
-        var errored;
-        self2._module.on("end", function() {
-          if (!errored) {
-            resolve2();
+    ]);
+    module2.exports = {
+      makeNetworkError,
+      makeResponse,
+      makeAppropriateNetworkError,
+      filterResponse,
+      Response,
+      cloneResponse
+    };
+  }
+});
+
+// node_modules/undici/lib/fetch/request.js
+var require_request6 = __commonJS({
+  "node_modules/undici/lib/fetch/request.js"(exports2, module2) {
+    "use strict";
+    var { extractBody, mixinBody, cloneBody } = require_body3();
+    var { Headers, fill: fillHeaders, HeadersList } = require_headers4();
+    var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref3()();
+    var util = require_util23();
+    var {
+      isValidHTTPToken,
+      sameOrigin,
+      normalizeMethod,
+      makePolicyContainer,
+      normalizeMethodRecord
+    } = require_util24();
+    var {
+      forbiddenMethodsSet,
+      corsSafeListedMethodsSet,
+      referrerPolicy,
+      requestRedirect,
+      requestMode,
+      requestCredentials,
+      requestCache,
+      requestDuplex
+    } = require_constants20();
+    var { kEnumerableProperty } = util;
+    var { kHeaders, kSignal, kState, kGuard, kRealm } = require_symbols12();
+    var { webidl } = require_webidl3();
+    var { getGlobalOrigin } = require_global5();
+    var { URLSerializer } = require_dataURL();
+    var { kHeadersList, kConstruct } = require_symbols11();
+    var assert = require("assert");
+    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events");
+    var TransformStream2 = globalThis.TransformStream;
+    var kAbortController = /* @__PURE__ */ Symbol("abortController");
+    var requestFinalizer = new FinalizationRegistry2(({ signal, abort }) => {
+      signal.removeEventListener("abort", abort);
+    });
+    var Request = class _Request {
+      // https://fetch.spec.whatwg.org/#dom-request
+      constructor(input, init = {}) {
+        if (input === kConstruct) {
+          return;
+        }
+        webidl.argumentLengthCheck(arguments, 1, { header: "Request constructor" });
+        input = webidl.converters.RequestInfo(input);
+        init = webidl.converters.RequestInit(init);
+        this[kRealm] = {
+          settingsObject: {
+            baseUrl: getGlobalOrigin(),
+            get origin() {
+              return this.baseUrl?.origin;
+            },
+            policyContainer: makePolicyContainer()
           }
+        };
+        let request2 = null;
+        let fallbackMode = null;
+        const baseUrl = this[kRealm].settingsObject.baseUrl;
+        let signal = null;
+        if (typeof input === "string") {
+          let parsedURL;
+          try {
+            parsedURL = new URL(input, baseUrl);
+          } 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 {
+          assert(input instanceof _Request);
+          request2 = input[kState];
+          signal = input[kSignal];
+        }
+        const origin = this[kRealm].settingsObject.origin;
+        let window2 = "client";
+        if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
+          window2 = request2.window;
+        }
+        if (init.window != null) {
+          throw new TypeError(`'window' option '${window2}' must be null`);
+        }
+        if ("window" in init) {
+          window2 = "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: this[kRealm].settingsObject,
+          // window window.
+          window: window2,
+          // 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]
         });
-        self2._module.on("error", function(err) {
-          errored = true;
-          reject(err);
-        });
-      });
-    };
-    Archiver.prototype.setFormat = function(format) {
-      if (this._format) {
-        this.emit("error", new ArchiverError("FORMATSET"));
-        return this;
+        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, this[kRealm].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;
+          if (!isValidHTTPToken(method)) {
+            throw new TypeError(`'${method}' is not a valid HTTP method.`);
+          }
+          if (forbiddenMethodsSet.has(method.toUpperCase())) {
+            throw new TypeError(`'${method}' HTTP method is unsupported.`);
+          }
+          method = normalizeMethodRecord[method] ?? normalizeMethod(method);
+          request2.method = method;
+        }
+        if (init.signal !== void 0) {
+          signal = init.signal;
+        }
+        this[kState] = request2;
+        const ac = new AbortController();
+        this[kSignal] = ac.signal;
+        this[kSignal][kRealm] = this[kRealm];
+        if (signal != null) {
+          if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") {
+            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 = function() {
+              const ac2 = acRef.deref();
+              if (ac2 !== void 0) {
+                ac2.abort(this.reason);
+              }
+            };
+            try {
+              if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) {
+                setMaxListeners(100, signal);
+              } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) {
+                setMaxListeners(100, signal);
+              }
+            } catch {
+            }
+            util.addAbortListener(signal, abort);
+            requestFinalizer.register(ac, { signal, abort });
+          }
+        }
+        this[kHeaders] = new Headers(kConstruct);
+        this[kHeaders][kHeadersList] = request2.headersList;
+        this[kHeaders][kGuard] = "request";
+        this[kHeaders][kRealm] = this[kRealm];
+        if (mode === "no-cors") {
+          if (!corsSafeListedMethodsSet.has(request2.method)) {
+            throw new TypeError(
+              `'${request2.method} is unsupported in no-cors mode.`
+            );
+          }
+          this[kHeaders][kGuard] = "request-no-cors";
+        }
+        if (initHasKey) {
+          const headersList = this[kHeaders][kHeadersList];
+          const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList);
+          headersList.clear();
+          if (headers instanceof HeadersList) {
+            for (const [key, val] of headers) {
+              headersList.append(key, val);
+            }
+            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 && !this[kHeaders][kHeadersList].contains("content-type")) {
+            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 (util.isDisturbed(inputBody.stream) || inputBody.stream.locked) {
+            throw new TypeError(
+              "Cannot construct a Request with a Request object that has already been used."
+            );
+          }
+          if (!TransformStream2) {
+            TransformStream2 = require("stream/web").TransformStream;
+          }
+          const identityTransform = new TransformStream2();
+          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;
       }
-      this._format = format;
-      return this;
-    };
-    Archiver.prototype.setModule = function(module3) {
-      if (this._state.aborted) {
-        this.emit("error", new ArchiverError("ABORTED"));
-        return this;
+      // Returns the URL of request as a string.
+      get url() {
+        webidl.brandCheck(this, _Request);
+        return URLSerializer(this[kState].url);
       }
-      if (this._state.module) {
-        this.emit("error", new ArchiverError("MODULESET"));
-        return this;
+      // 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];
       }
-      this._module = module3;
-      this._modulePipe();
-      return this;
-    };
-    Archiver.prototype.symlink = function(filepath, target, mode) {
-      if (this._state.finalize || this._state.aborted) {
-        this.emit("error", new ArchiverError("QUEUECLOSED"));
-        return this;
+      // Returns the kind of resource requested by request, e.g., "document"
+      // or "script".
+      get destination() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].destination;
       }
-      if (typeof filepath !== "string" || filepath.length === 0) {
-        this.emit("error", new ArchiverError("SYMLINKFILEPATHREQUIRED"));
-        return this;
+      // 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();
       }
-      if (typeof target !== "string" || target.length === 0) {
-        this.emit("error", new ArchiverError("SYMLINKTARGETREQUIRED", { filepath }));
-        return this;
+      // 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;
       }
-      if (!this._moduleSupports("symlink")) {
-        this.emit("error", new ArchiverError("SYMLINKNOTSUPPORTED", { filepath }));
-        return this;
+      // 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;
       }
-      var data = {};
-      data.type = "symlink";
-      data.name = filepath.replace(/\\/g, "/");
-      data.linkname = target.replace(/\\/g, "/");
-      data.sourceType = "buffer";
-      if (typeof mode === "number") {
-        data.mode = 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;
       }
-      this._entriesCount++;
-      this._queue.push({
-        data,
-        source: Buffer.concat([])
-      });
-      return this;
-    };
-    Archiver.prototype.pointer = function() {
-      return this._pointer;
-    };
-    Archiver.prototype.use = function(plugin) {
-      this._streams.push(plugin);
-      return this;
-    };
-    module2.exports = Archiver;
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/archive-entry.js
-var require_archive_entry = __commonJS({
-  "node_modules/compress-commons/lib/archivers/archive-entry.js"(exports2, module2) {
-    var ArchiveEntry = module2.exports = function() {
-    };
-    ArchiveEntry.prototype.getName = function() {
-    };
-    ArchiveEntry.prototype.getSize = function() {
-    };
-    ArchiveEntry.prototype.getLastModifiedDate = function() {
-    };
-    ArchiveEntry.prototype.isDirectory = function() {
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/util.js
-var require_util20 = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/util.js"(exports2, module2) {
-    var util = module2.exports = {};
-    util.dateToDos = function(d, forceLocalTime) {
-      forceLocalTime = forceLocalTime || false;
-      var year = forceLocalTime ? d.getFullYear() : d.getUTCFullYear();
-      if (year < 1980) {
-        return 2162688;
-      } else if (year >= 2044) {
-        return 2141175677;
+      // 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;
       }
-      var val = {
-        year,
-        month: forceLocalTime ? d.getMonth() : d.getUTCMonth(),
-        date: forceLocalTime ? d.getDate() : d.getUTCDate(),
-        hours: forceLocalTime ? d.getHours() : d.getUTCHours(),
-        minutes: forceLocalTime ? d.getMinutes() : d.getUTCMinutes(),
-        seconds: forceLocalTime ? d.getSeconds() : d.getUTCSeconds()
-      };
-      return val.year - 1980 << 25 | val.month + 1 << 21 | val.date << 16 | val.hours << 11 | val.minutes << 5 | val.seconds / 2;
-    };
-    util.dosToDate = function(dos) {
-      return new Date((dos >> 25 & 127) + 1980, (dos >> 21 & 15) - 1, dos >> 16 & 31, dos >> 11 & 31, dos >> 5 & 63, (dos & 31) << 1);
-    };
-    util.fromDosTime = function(buf) {
-      return util.dosToDate(buf.readUInt32LE(0));
-    };
-    util.getEightBytes = function(v) {
-      var buf = Buffer.alloc(8);
-      buf.writeUInt32LE(v % 4294967296, 0);
-      buf.writeUInt32LE(v / 4294967296 | 0, 4);
-      return buf;
-    };
-    util.getShortBytes = function(v) {
-      var buf = Buffer.alloc(2);
-      buf.writeUInt16LE((v & 65535) >>> 0, 0);
-      return buf;
-    };
-    util.getShortBytesValue = function(buf, offset) {
-      return buf.readUInt16LE(offset);
-    };
-    util.getLongBytes = function(v) {
-      var buf = Buffer.alloc(4);
-      buf.writeUInt32LE((v & 4294967295) >>> 0, 0);
-      return buf;
-    };
-    util.getLongBytesValue = function(buf, offset) {
-      return buf.readUInt32LE(offset);
-    };
-    util.toDosTime = function(d) {
-      return util.getLongBytes(util.dateToDos(d));
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js
-var require_general_purpose_bit = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js"(exports2, module2) {
-    var zipUtil = require_util20();
-    var DATA_DESCRIPTOR_FLAG = 1 << 3;
-    var ENCRYPTION_FLAG = 1 << 0;
-    var NUMBER_OF_SHANNON_FANO_TREES_FLAG = 1 << 2;
-    var SLIDING_DICTIONARY_SIZE_FLAG = 1 << 1;
-    var STRONG_ENCRYPTION_FLAG = 1 << 6;
-    var UFT8_NAMES_FLAG = 1 << 11;
-    var GeneralPurposeBit = module2.exports = function() {
-      if (!(this instanceof GeneralPurposeBit)) {
-        return new GeneralPurposeBit();
+      // 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;
       }
-      this.descriptor = false;
-      this.encryption = false;
-      this.utf8 = false;
-      this.numberOfShannonFanoTrees = 0;
-      this.strongEncryption = false;
-      this.slidingDictionarySize = 0;
-      return this;
-    };
-    GeneralPurposeBit.prototype.encode = function() {
-      return zipUtil.getShortBytes(
-        (this.descriptor ? DATA_DESCRIPTOR_FLAG : 0) | (this.utf8 ? UFT8_NAMES_FLAG : 0) | (this.encryption ? ENCRYPTION_FLAG : 0) | (this.strongEncryption ? STRONG_ENCRYPTION_FLAG : 0)
-      );
-    };
-    GeneralPurposeBit.prototype.parse = function(buf, offset) {
-      var flag = zipUtil.getShortBytesValue(buf, offset);
-      var gbp = new GeneralPurposeBit();
-      gbp.useDataDescriptor((flag & DATA_DESCRIPTOR_FLAG) !== 0);
-      gbp.useUTF8ForNames((flag & UFT8_NAMES_FLAG) !== 0);
-      gbp.useStrongEncryption((flag & STRONG_ENCRYPTION_FLAG) !== 0);
-      gbp.useEncryption((flag & ENCRYPTION_FLAG) !== 0);
-      gbp.setSlidingDictionarySize((flag & SLIDING_DICTIONARY_SIZE_FLAG) !== 0 ? 8192 : 4096);
-      gbp.setNumberOfShannonFanoTrees((flag & NUMBER_OF_SHANNON_FANO_TREES_FLAG) !== 0 ? 3 : 2);
-      return gbp;
-    };
-    GeneralPurposeBit.prototype.setNumberOfShannonFanoTrees = function(n) {
-      this.numberOfShannonFanoTrees = n;
-    };
-    GeneralPurposeBit.prototype.getNumberOfShannonFanoTrees = function() {
-      return this.numberOfShannonFanoTrees;
-    };
-    GeneralPurposeBit.prototype.setSlidingDictionarySize = function(n) {
-      this.slidingDictionarySize = n;
-    };
-    GeneralPurposeBit.prototype.getSlidingDictionarySize = function() {
-      return this.slidingDictionarySize;
-    };
-    GeneralPurposeBit.prototype.useDataDescriptor = function(b) {
-      this.descriptor = b;
-    };
-    GeneralPurposeBit.prototype.usesDataDescriptor = function() {
-      return this.descriptor;
-    };
-    GeneralPurposeBit.prototype.useEncryption = function(b) {
-      this.encryption = b;
-    };
-    GeneralPurposeBit.prototype.usesEncryption = function() {
-      return this.encryption;
-    };
-    GeneralPurposeBit.prototype.useStrongEncryption = function(b) {
-      this.strongEncryption = b;
-    };
-    GeneralPurposeBit.prototype.usesStrongEncryption = function() {
-      return this.strongEncryption;
-    };
-    GeneralPurposeBit.prototype.useUTF8ForNames = function(b) {
-      this.utf8 = b;
-    };
-    GeneralPurposeBit.prototype.usesUTF8ForNames = function() {
-      return this.utf8;
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/unix-stat.js
-var require_unix_stat = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/unix-stat.js"(exports2, module2) {
-    module2.exports = {
-      /**
-       * Bits used for permissions (and sticky bit)
-       */
-      PERM_MASK: 4095,
-      // 07777
-      /**
-       * Bits used to indicate the filesystem object type.
-       */
-      FILE_TYPE_FLAG: 61440,
-      // 0170000
-      /**
-       * Indicates symbolic links.
-       */
-      LINK_FLAG: 40960,
-      // 0120000
-      /**
-       * Indicates plain files.
-       */
-      FILE_FLAG: 32768,
-      // 0100000
-      /**
-       * Indicates directories.
-       */
-      DIR_FLAG: 16384,
-      // 040000
-      // ----------------------------------------------------------
-      // somewhat arbitrary choices that are quite common for shared
-      // installations
-      // -----------------------------------------------------------
-      /**
-       * Default permissions for symbolic links.
-       */
-      DEFAULT_LINK_PERM: 511,
-      // 0777
-      /**
-       * Default permissions for directories.
-       */
-      DEFAULT_DIR_PERM: 493,
-      // 0755
-      /**
-       * Default permissions for plain files.
-       */
-      DEFAULT_FILE_PERM: 420
-      // 0644
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/constants.js
-var require_constants17 = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/constants.js"(exports2, module2) {
-    module2.exports = {
-      WORD: 4,
-      DWORD: 8,
-      EMPTY: Buffer.alloc(0),
-      SHORT: 2,
-      SHORT_MASK: 65535,
-      SHORT_SHIFT: 16,
-      SHORT_ZERO: Buffer.from(Array(2)),
-      LONG: 4,
-      LONG_ZERO: Buffer.from(Array(4)),
-      MIN_VERSION_INITIAL: 10,
-      MIN_VERSION_DATA_DESCRIPTOR: 20,
-      MIN_VERSION_ZIP64: 45,
-      VERSION_MADEBY: 45,
-      METHOD_STORED: 0,
-      METHOD_DEFLATED: 8,
-      PLATFORM_UNIX: 3,
-      PLATFORM_FAT: 0,
-      SIG_LFH: 67324752,
-      SIG_DD: 134695760,
-      SIG_CFH: 33639248,
-      SIG_EOCD: 101010256,
-      SIG_ZIP64_EOCD: 101075792,
-      SIG_ZIP64_EOCD_LOC: 117853008,
-      ZIP64_MAGIC_SHORT: 65535,
-      ZIP64_MAGIC: 4294967295,
-      ZIP64_EXTRA_ID: 1,
-      ZLIB_NO_COMPRESSION: 0,
-      ZLIB_BEST_SPEED: 1,
-      ZLIB_BEST_COMPRESSION: 9,
-      ZLIB_DEFAULT_COMPRESSION: -1,
-      MODE_MASK: 4095,
-      DEFAULT_FILE_MODE: 33188,
-      // 010644 = -rw-r--r-- = S_IFREG | S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
-      DEFAULT_DIR_MODE: 16877,
-      // 040755 = drwxr-xr-x = S_IFDIR | S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH
-      EXT_FILE_ATTR_DIR: 1106051088,
-      // 010173200020 = drwxr-xr-x = (((S_IFDIR | 0755) << 16) | S_DOS_D)
-      EXT_FILE_ATTR_FILE: 2175008800,
-      // 020151000040 = -rw-r--r-- = (((S_IFREG | 0644) << 16) | S_DOS_A) >>> 0
-      // Unix file types
-      S_IFMT: 61440,
-      // 0170000 type of file mask
-      S_IFIFO: 4096,
-      // 010000 named pipe (fifo)
-      S_IFCHR: 8192,
-      // 020000 character special
-      S_IFDIR: 16384,
-      // 040000 directory
-      S_IFBLK: 24576,
-      // 060000 block special
-      S_IFREG: 32768,
-      // 0100000 regular
-      S_IFLNK: 40960,
-      // 0120000 symbolic link
-      S_IFSOCK: 49152,
-      // 0140000 socket
-      // DOS file type flags
-      S_DOS_A: 32,
-      // 040 Archive
-      S_DOS_D: 16,
-      // 020 Directory
-      S_DOS_V: 8,
-      // 010 Volume
-      S_DOS_S: 4,
-      // 04 System
-      S_DOS_H: 2,
-      // 02 Hidden
-      S_DOS_R: 1
-      // 01 Read Only
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/zip-archive-entry.js
-var require_zip_archive_entry = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/zip-archive-entry.js"(exports2, module2) {
-    var inherits = require("util").inherits;
-    var normalizePath = require_normalize_path();
-    var ArchiveEntry = require_archive_entry();
-    var GeneralPurposeBit = require_general_purpose_bit();
-    var UnixStat = require_unix_stat();
-    var constants = require_constants17();
-    var zipUtil = require_util20();
-    var ZipArchiveEntry = module2.exports = function(name) {
-      if (!(this instanceof ZipArchiveEntry)) {
-        return new ZipArchiveEntry(name);
+      // 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;
       }
-      ArchiveEntry.call(this);
-      this.platform = constants.PLATFORM_FAT;
-      this.method = -1;
-      this.name = null;
-      this.size = 0;
-      this.csize = 0;
-      this.gpb = new GeneralPurposeBit();
-      this.crc = 0;
-      this.time = -1;
-      this.minver = constants.MIN_VERSION_INITIAL;
-      this.mode = -1;
-      this.extra = null;
-      this.exattr = 0;
-      this.inattr = 0;
-      this.comment = null;
-      if (name) {
-        this.setName(name);
+      // 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;
       }
-    };
-    inherits(ZipArchiveEntry, ArchiveEntry);
-    ZipArchiveEntry.prototype.getCentralDirectoryExtra = function() {
-      return this.getExtra();
-    };
-    ZipArchiveEntry.prototype.getComment = function() {
-      return this.comment !== null ? this.comment : "";
-    };
-    ZipArchiveEntry.prototype.getCompressedSize = function() {
-      return this.csize;
-    };
-    ZipArchiveEntry.prototype.getCrc = function() {
-      return this.crc;
-    };
-    ZipArchiveEntry.prototype.getExternalAttributes = function() {
-      return this.exattr;
-    };
-    ZipArchiveEntry.prototype.getExtra = function() {
-      return this.extra !== null ? this.extra : constants.EMPTY;
-    };
-    ZipArchiveEntry.prototype.getGeneralPurposeBit = function() {
-      return this.gpb;
-    };
-    ZipArchiveEntry.prototype.getInternalAttributes = function() {
-      return this.inattr;
-    };
-    ZipArchiveEntry.prototype.getLastModifiedDate = function() {
-      return this.getTime();
-    };
-    ZipArchiveEntry.prototype.getLocalFileDataExtra = function() {
-      return this.getExtra();
-    };
-    ZipArchiveEntry.prototype.getMethod = function() {
-      return this.method;
-    };
-    ZipArchiveEntry.prototype.getName = function() {
-      return this.name;
-    };
-    ZipArchiveEntry.prototype.getPlatform = function() {
-      return this.platform;
-    };
-    ZipArchiveEntry.prototype.getSize = function() {
-      return this.size;
-    };
-    ZipArchiveEntry.prototype.getTime = function() {
-      return this.time !== -1 ? zipUtil.dosToDate(this.time) : -1;
-    };
-    ZipArchiveEntry.prototype.getTimeDos = function() {
-      return this.time !== -1 ? this.time : 0;
-    };
-    ZipArchiveEntry.prototype.getUnixMode = function() {
-      return this.platform !== constants.PLATFORM_UNIX ? 0 : this.getExternalAttributes() >> constants.SHORT_SHIFT & constants.SHORT_MASK;
-    };
-    ZipArchiveEntry.prototype.getVersionNeededToExtract = function() {
-      return this.minver;
-    };
-    ZipArchiveEntry.prototype.setComment = function(comment) {
-      if (Buffer.byteLength(comment) !== comment.length) {
-        this.getGeneralPurposeBit().useUTF8ForNames(true);
+      // Returns a boolean indicating whether or not request is for a reload
+      // navigation.
+      get isReloadNavigation() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].reloadNavigation;
       }
-      this.comment = comment;
-    };
-    ZipArchiveEntry.prototype.setCompressedSize = function(size) {
-      if (size < 0) {
-        throw new Error("invalid entry compressed size");
+      // Returns a boolean indicating whether or not request is for a history
+      // navigation (a.k.a. back-foward navigation).
+      get isHistoryNavigation() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].historyNavigation;
+      }
+      // 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;
       }
-      this.csize = size;
-    };
-    ZipArchiveEntry.prototype.setCrc = function(crc) {
-      if (crc < 0) {
-        throw new Error("invalid entry crc32");
+      get bodyUsed() {
+        webidl.brandCheck(this, _Request);
+        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
       }
-      this.crc = crc;
-    };
-    ZipArchiveEntry.prototype.setExternalAttributes = function(attr) {
-      this.exattr = attr >>> 0;
-    };
-    ZipArchiveEntry.prototype.setExtra = function(extra) {
-      this.extra = extra;
-    };
-    ZipArchiveEntry.prototype.setGeneralPurposeBit = function(gpb) {
-      if (!(gpb instanceof GeneralPurposeBit)) {
-        throw new Error("invalid entry GeneralPurposeBit");
+      get duplex() {
+        webidl.brandCheck(this, _Request);
+        return "half";
       }
-      this.gpb = gpb;
-    };
-    ZipArchiveEntry.prototype.setInternalAttributes = function(attr) {
-      this.inattr = attr;
-    };
-    ZipArchiveEntry.prototype.setMethod = function(method) {
-      if (method < 0) {
-        throw new Error("invalid entry compression method");
+      // Returns a clone of request.
+      clone() {
+        webidl.brandCheck(this, _Request);
+        if (this.bodyUsed || this.body?.locked) {
+          throw new TypeError("unusable");
+        }
+        const clonedRequest = cloneRequest(this[kState]);
+        const clonedRequestObject = new _Request(kConstruct);
+        clonedRequestObject[kState] = clonedRequest;
+        clonedRequestObject[kRealm] = this[kRealm];
+        clonedRequestObject[kHeaders] = new Headers(kConstruct);
+        clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList;
+        clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard];
+        clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm];
+        const ac = new AbortController();
+        if (this.signal.aborted) {
+          ac.abort(this.signal.reason);
+        } else {
+          util.addAbortListener(
+            this.signal,
+            () => {
+              ac.abort(this.signal.reason);
+            }
+          );
+        }
+        clonedRequestObject[kSignal] = ac.signal;
+        return clonedRequestObject;
       }
-      this.method = method;
     };
-    ZipArchiveEntry.prototype.setName = function(name, prependSlash = false) {
-      name = normalizePath(name, false).replace(/^\w+:/, "").replace(/^(\.\.\/|\/)+/, "");
-      if (prependSlash) {
-        name = `/${name}`;
+    mixinBody(Request);
+    function makeRequest(init) {
+      const request2 = {
+        method: "GET",
+        localURLsOnly: false,
+        unsafeRequest: false,
+        body: null,
+        client: null,
+        reservedClient: null,
+        replacesClientId: "",
+        window: "client",
+        keepalive: false,
+        serviceWorkers: "all",
+        initiator: "",
+        destination: "",
+        priority: null,
+        origin: "client",
+        policyContainer: "client",
+        referrer: "client",
+        referrerPolicy: "",
+        mode: "no-cors",
+        useCORSPreflightFlag: false,
+        credentials: "same-origin",
+        useCredentials: false,
+        cache: "default",
+        redirect: "follow",
+        integrity: "",
+        cryptoGraphicsNonceMetadata: "",
+        parserMetadata: "",
+        reloadNavigation: false,
+        historyNavigation: false,
+        userActivation: false,
+        taintedOrigin: false,
+        redirectCount: 0,
+        responseTainting: "basic",
+        preventNoCacheCacheControlHeaderModification: false,
+        done: false,
+        timingAllowFailed: false,
+        ...init,
+        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList()
+      };
+      request2.url = request2.urlList[0];
+      return request2;
+    }
+    function cloneRequest(request2) {
+      const newRequest = makeRequest({ ...request2, body: null });
+      if (request2.body != null) {
+        newRequest.body = cloneBody(request2.body);
       }
-      if (Buffer.byteLength(name) !== name.length) {
-        this.getGeneralPurposeBit().useUTF8ForNames(true);
+      return newRequest;
+    }
+    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
       }
-      this.name = name;
-    };
-    ZipArchiveEntry.prototype.setPlatform = function(platform) {
-      this.platform = platform;
-    };
-    ZipArchiveEntry.prototype.setSize = function(size) {
-      if (size < 0) {
-        throw new Error("invalid entry size");
+    });
+    webidl.converters.Request = webidl.interfaceConverter(
+      Request
+    );
+    webidl.converters.RequestInfo = function(V) {
+      if (typeof V === "string") {
+        return webidl.converters.USVString(V);
       }
-      this.size = size;
-    };
-    ZipArchiveEntry.prototype.setTime = function(time, forceLocalTime) {
-      if (!(time instanceof Date)) {
-        throw new Error("invalid entry time");
+      if (V instanceof Request) {
+        return webidl.converters.Request(V);
       }
-      this.time = zipUtil.dateToDos(time, forceLocalTime);
-    };
-    ZipArchiveEntry.prototype.setUnixMode = function(mode) {
-      mode |= this.isDirectory() ? constants.S_IFDIR : constants.S_IFREG;
-      var extattr = 0;
-      extattr |= mode << constants.SHORT_SHIFT | (this.isDirectory() ? constants.S_DOS_D : constants.S_DOS_A);
-      this.setExternalAttributes(extattr);
-      this.mode = mode & constants.MODE_MASK;
-      this.platform = constants.PLATFORM_UNIX;
-    };
-    ZipArchiveEntry.prototype.setVersionNeededToExtract = function(minver) {
-      this.minver = minver;
-    };
-    ZipArchiveEntry.prototype.isDirectory = function() {
-      return this.getName().slice(-1) === "/";
-    };
-    ZipArchiveEntry.prototype.isUnixSymlink = function() {
-      return (this.getUnixMode() & UnixStat.FILE_TYPE_FLAG) === UnixStat.LINK_FLAG;
-    };
-    ZipArchiveEntry.prototype.isZip64 = function() {
-      return this.csize > constants.ZIP64_MAGIC || this.size > constants.ZIP64_MAGIC;
+      return webidl.converters.USVString(V);
     };
+    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,
+            { strict: false }
+          )
+        )
+      },
+      {
+        key: "window",
+        converter: webidl.converters.any
+      },
+      {
+        key: "duplex",
+        converter: webidl.converters.DOMString,
+        allowedValues: requestDuplex
+      }
+    ]);
+    module2.exports = { Request, makeRequest };
   }
 });
 
-// node_modules/compress-commons/node_modules/is-stream/index.js
-var require_is_stream2 = __commonJS({
-  "node_modules/compress-commons/node_modules/is-stream/index.js"(exports2, module2) {
+// node_modules/undici/lib/fetch/index.js
+var require_fetch3 = __commonJS({
+  "node_modules/undici/lib/fetch/index.js"(exports2, module2) {
     "use strict";
-    var isStream = (stream) => stream !== null && typeof stream === "object" && typeof stream.pipe === "function";
-    isStream.writable = (stream) => isStream(stream) && stream.writable !== false && typeof stream._write === "function" && typeof stream._writableState === "object";
-    isStream.readable = (stream) => isStream(stream) && stream.readable !== false && typeof stream._read === "function" && typeof stream._readableState === "object";
-    isStream.duplex = (stream) => isStream.writable(stream) && isStream.readable(stream);
-    isStream.transform = (stream) => isStream.duplex(stream) && typeof stream._transform === "function";
-    module2.exports = isStream;
-  }
-});
-
-// node_modules/compress-commons/lib/util/index.js
-var require_util21 = __commonJS({
-  "node_modules/compress-commons/lib/util/index.js"(exports2, module2) {
-    var Stream = require("stream").Stream;
-    var PassThrough = require_ours().PassThrough;
-    var isStream = require_is_stream2();
-    var util = module2.exports = {};
-    util.normalizeInputSource = function(source) {
-      if (source === null) {
-        return Buffer.alloc(0);
-      } else if (typeof source === "string") {
-        return Buffer.from(source);
-      } else if (isStream(source) && !source._readableState) {
-        var normalized = new PassThrough();
-        source.pipe(normalized);
-        return normalized;
+    var {
+      Response,
+      makeNetworkError,
+      makeAppropriateNetworkError,
+      filterResponse,
+      makeResponse
+    } = require_response4();
+    var { Headers } = require_headers4();
+    var { Request, makeRequest } = require_request6();
+    var zlib = require("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
+    } = require_util24();
+    var { kState, kHeaders, kGuard, kRealm } = require_symbols12();
+    var assert = require("assert");
+    var { safelyExtractBody } = require_body3();
+    var {
+      redirectStatusSet,
+      nullBodyStatus,
+      safeMethodsSet,
+      requestBodyHeader,
+      subresourceSet,
+      DOMException: DOMException2
+    } = require_constants20();
+    var { kHeadersList } = require_symbols11();
+    var EE = require("events");
+    var { Readable, pipeline } = require("stream");
+    var { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require_util23();
+    var { dataURLProcessor, serializeAMimeType } = require_dataURL();
+    var { TransformStream: TransformStream2 } = require("stream/web");
+    var { getGlobalDispatcher } = require_global6();
+    var { webidl } = require_webidl3();
+    var { STATUS_CODES } = require("http");
+    var GET_OR_HEAD = ["GET", "HEAD"];
+    var resolveObjectURL;
+    var ReadableStream2 = globalThis.ReadableStream;
+    var Fetch = class extends EE {
+      constructor(dispatcher) {
+        super();
+        this.dispatcher = dispatcher;
+        this.connection = null;
+        this.dump = false;
+        this.state = "ongoing";
+        this.setMaxListeners(21);
+      }
+      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(error3) {
+        if (this.state !== "ongoing") {
+          return;
+        }
+        this.state = "aborted";
+        if (!error3) {
+          error3 = new DOMException2("The operation was aborted.", "AbortError");
+        }
+        this.serializedAbortReason = error3;
+        this.connection?.destroy(error3);
+        this.emit("terminated", error3);
       }
-      return source;
     };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/archive-output-stream.js
-var require_archive_output_stream = __commonJS({
-  "node_modules/compress-commons/lib/archivers/archive-output-stream.js"(exports2, module2) {
-    var inherits = require("util").inherits;
-    var isStream = require_is_stream2();
-    var Transform = require_ours().Transform;
-    var ArchiveEntry = require_archive_entry();
-    var util = require_util21();
-    var ArchiveOutputStream = module2.exports = function(options) {
-      if (!(this instanceof ArchiveOutputStream)) {
-        return new ArchiveOutputStream(options);
+    function fetch(input, init = {}) {
+      webidl.argumentLengthCheck(arguments, 1, { header: "globalThis.fetch" });
+      const p = createDeferredPromise();
+      let requestObject;
+      try {
+        requestObject = new Request(input, init);
+      } catch (e) {
+        p.reject(e);
+        return p.promise;
       }
-      Transform.call(this, options);
-      this.offset = 0;
-      this._archive = {
-        finish: false,
-        finished: false,
-        processing: false
+      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;
+      const relevantRealm = null;
+      let locallyAborted = false;
+      let controller = null;
+      addAbortListener(
+        requestObject.signal,
+        () => {
+          locallyAborted = true;
+          assert(controller != null);
+          controller.abort(requestObject.signal.reason);
+          abortFetch(p, request2, responseObject, requestObject.signal.reason);
+        }
+      );
+      const handleFetchDone = (response) => finalizeAndReportTiming(response, "fetch");
+      const processResponse = (response) => {
+        if (locallyAborted) {
+          return Promise.resolve();
+        }
+        if (response.aborted) {
+          abortFetch(p, request2, responseObject, controller.serializedAbortReason);
+          return Promise.resolve();
+        }
+        if (response.type === "error") {
+          p.reject(
+            Object.assign(new TypeError("fetch failed"), { cause: response.error })
+          );
+          return Promise.resolve();
+        }
+        responseObject = new Response();
+        responseObject[kState] = response;
+        responseObject[kRealm] = relevantRealm;
+        responseObject[kHeaders][kHeadersList] = response.headersList;
+        responseObject[kHeaders][kGuard] = "immutable";
+        responseObject[kHeaders][kRealm] = relevantRealm;
+        p.resolve(responseObject);
       };
-    };
-    inherits(ArchiveOutputStream, Transform);
-    ArchiveOutputStream.prototype._appendBuffer = function(zae, source, callback) {
-    };
-    ArchiveOutputStream.prototype._appendStream = function(zae, source, callback) {
-    };
-    ArchiveOutputStream.prototype._emitErrorCallback = function(err) {
-      if (err) {
-        this.emit("error", err);
+      controller = fetching({
+        request: request2,
+        processResponseEndOfBody: handleFetchDone,
+        processResponse,
+        dispatcher: init.dispatcher ?? getGlobalDispatcher()
+        // undici
+      });
+      return p.promise;
+    }
+    function finalizeAndReportTiming(response, initiatorType = "other") {
+      if (response.type === "error" && response.aborted) {
+        return;
       }
-    };
-    ArchiveOutputStream.prototype._finish = function(ae) {
-    };
-    ArchiveOutputStream.prototype._normalizeEntry = function(ae) {
-    };
-    ArchiveOutputStream.prototype._transform = function(chunk, encoding, callback) {
-      callback(null, chunk);
-    };
-    ArchiveOutputStream.prototype.entry = function(ae, source, callback) {
-      source = source || null;
-      if (typeof callback !== "function") {
-        callback = this._emitErrorCallback.bind(this);
+      if (!response.urlList?.length) {
+        return;
       }
-      if (!(ae instanceof ArchiveEntry)) {
-        callback(new Error("not a valid instance of ArchiveEntry"));
+      const originalURL = response.urlList[0];
+      let timingInfo = response.timingInfo;
+      let cacheState = response.cacheState;
+      if (!urlIsHttpHttpsScheme(originalURL)) {
         return;
       }
-      if (this._archive.finish || this._archive.finished) {
-        callback(new Error("unacceptable entry after finish"));
+      if (timingInfo === null) {
         return;
       }
-      if (this._archive.processing) {
-        callback(new Error("already processing an entry"));
-        return;
+      if (!response.timingAllowPassed) {
+        timingInfo = createOpaqueTimingInfo({
+          startTime: timingInfo.startTime
+        });
+        cacheState = "";
+      }
+      timingInfo.endTime = coarsenedSharedCurrentTime();
+      response.timingInfo = timingInfo;
+      markResourceTiming(
+        timingInfo,
+        originalURL,
+        initiatorType,
+        globalThis,
+        cacheState
+      );
+    }
+    function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) {
+      if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) {
+        performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis2, cacheState);
+      }
+    }
+    function abortFetch(p, request2, responseObject, error3) {
+      if (!error3) {
+        error3 = new DOMException2("The operation was aborted.", "AbortError");
       }
-      this._archive.processing = true;
-      this._normalizeEntry(ae);
-      this._entry = ae;
-      source = util.normalizeInputSource(source);
-      if (Buffer.isBuffer(source)) {
-        this._appendBuffer(ae, source, callback);
-      } else if (isStream(source)) {
-        this._appendStream(ae, source, callback);
-      } else {
-        this._archive.processing = false;
-        callback(new Error("input source must be valid Stream or Buffer instance"));
-        return;
+      p.reject(error3);
+      if (request2.body != null && isReadable(request2.body?.stream)) {
+        request2.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
+          }
+          throw err;
+        });
       }
-      return this;
-    };
-    ArchiveOutputStream.prototype.finish = function() {
-      if (this._archive.processing) {
-        this._archive.finish = true;
+      if (responseObject == null) {
         return;
       }
-      this._finish();
-    };
-    ArchiveOutputStream.prototype.getBytesWritten = function() {
-      return this.offset;
-    };
-    ArchiveOutputStream.prototype.write = function(chunk, cb) {
-      if (chunk) {
-        this.offset += chunk.length;
-      }
-      return Transform.prototype.write.call(this, chunk, cb);
-    };
-  }
-});
-
-// node_modules/crc-32/crc32.js
-var require_crc32 = __commonJS({
-  "node_modules/crc-32/crc32.js"(exports2) {
-    var CRC32;
-    (function(factory) {
-      if (typeof DO_NOT_EXPORT_CRC === "undefined") {
-        if ("object" === typeof exports2) {
-          factory(exports2);
-        } else if ("function" === typeof define && define.amd) {
-          define(function() {
-            var module3 = {};
-            factory(module3);
-            return module3;
-          });
-        } else {
-          factory(CRC32 = {});
-        }
-      } else {
-        factory(CRC32 = {});
-      }
-    })(function(CRC322) {
-      CRC322.version = "1.2.2";
-      function signed_crc_table() {
-        var c = 0, table = new Array(256);
-        for (var n = 0; n != 256; ++n) {
-          c = n;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          table[n] = c;
-        }
-        return typeof Int32Array !== "undefined" ? new Int32Array(table) : table;
+      const response = responseObject[kState];
+      if (response.body != null && isReadable(response.body?.stream)) {
+        response.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
+          }
+          throw err;
+        });
       }
-      var T0 = signed_crc_table();
-      function slice_by_16_tables(T) {
-        var c = 0, v = 0, n = 0, table = typeof Int32Array !== "undefined" ? new Int32Array(4096) : new Array(4096);
-        for (n = 0; n != 256; ++n) table[n] = T[n];
-        for (n = 0; n != 256; ++n) {
-          v = T[n];
-          for (c = 256 + n; c < 4096; c += 256) v = table[c] = v >>> 8 ^ T[v & 255];
-        }
-        var out = [];
-        for (n = 1; n != 16; ++n) out[n - 1] = typeof Int32Array !== "undefined" ? table.subarray(n * 256, n * 256 + 256) : table.slice(n * 256, n * 256 + 256);
-        return out;
+    }
+    function fetching({
+      request: request2,
+      processRequestBodyChunkLength,
+      processRequestEndOfBody,
+      processResponse,
+      processResponseEndOfBody,
+      processResponseConsumeBody,
+      useParallelQueue = false,
+      dispatcher
+      // undici
+    }) {
+      let taskDestination = null;
+      let crossOriginIsolatedCapability = false;
+      if (request2.client != null) {
+        taskDestination = request2.client.globalObject;
+        crossOriginIsolatedCapability = request2.client.crossOriginIsolatedCapability;
       }
-      var TT = slice_by_16_tables(T0);
-      var T1 = TT[0], T2 = TT[1], T3 = TT[2], T4 = TT[3], T5 = TT[4];
-      var T6 = TT[5], T7 = TT[6], T8 = TT[7], T9 = TT[8], Ta = TT[9];
-      var Tb = TT[10], Tc = TT[11], Td = TT[12], Te = TT[13], Tf = TT[14];
-      function crc32_bstr(bstr, seed) {
-        var C = seed ^ -1;
-        for (var i = 0, L = bstr.length; i < L; ) C = C >>> 8 ^ T0[(C ^ bstr.charCodeAt(i++)) & 255];
-        return ~C;
+      const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
+      const timingInfo = createOpaqueTimingInfo({
+        startTime: currenTime
+      });
+      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";
       }
-      function crc32_buf(B, seed) {
-        var C = seed ^ -1, L = B.length - 15, i = 0;
-        for (; i < L; ) C = Tf[B[i++] ^ C & 255] ^ Te[B[i++] ^ C >> 8 & 255] ^ Td[B[i++] ^ C >> 16 & 255] ^ Tc[B[i++] ^ C >>> 24] ^ Tb[B[i++]] ^ Ta[B[i++]] ^ T9[B[i++]] ^ T8[B[i++]] ^ T7[B[i++]] ^ T6[B[i++]] ^ T5[B[i++]] ^ T4[B[i++]] ^ T3[B[i++]] ^ T2[B[i++]] ^ T1[B[i++]] ^ T0[B[i++]];
-        L += 15;
-        while (i < L) C = C >>> 8 ^ T0[(C ^ B[i++]) & 255];
-        return ~C;
+      if (request2.origin === "client") {
+        request2.origin = request2.client?.origin;
       }
-      function crc32_str(str2, seed) {
-        var C = seed ^ -1;
-        for (var i = 0, L = str2.length, c = 0, d = 0; i < L; ) {
-          c = str2.charCodeAt(i++);
-          if (c < 128) {
-            C = C >>> 8 ^ T0[(C ^ c) & 255];
-          } else if (c < 2048) {
-            C = C >>> 8 ^ T0[(C ^ (192 | c >> 6 & 31)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | c & 63)) & 255];
-          } else if (c >= 55296 && c < 57344) {
-            c = (c & 1023) + 64;
-            d = str2.charCodeAt(i++) & 1023;
-            C = C >>> 8 ^ T0[(C ^ (240 | c >> 8 & 7)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | c >> 2 & 63)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | d >> 6 & 15 | (c & 3) << 4)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | d & 63)) & 255];
-          } else {
-            C = C >>> 8 ^ T0[(C ^ (224 | c >> 12 & 15)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | c >> 6 & 63)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | c & 63)) & 255];
-          }
+      if (request2.policyContainer === "client") {
+        if (request2.client != null) {
+          request2.policyContainer = clonePolicyContainer(
+            request2.client.policyContainer
+          );
+        } else {
+          request2.policyContainer = makePolicyContainer();
         }
-        return ~C;
       }
-      CRC322.table = T0;
-      CRC322.bstr = crc32_bstr;
-      CRC322.buf = crc32_buf;
-      CRC322.str = crc32_str;
-    });
-  }
-});
-
-// node_modules/crc32-stream/lib/crc32-stream.js
-var require_crc32_stream = __commonJS({
-  "node_modules/crc32-stream/lib/crc32-stream.js"(exports2, module2) {
-    "use strict";
-    var { Transform } = require_ours();
-    var crc32 = require_crc32();
-    var CRC32Stream = class extends Transform {
-      constructor(options) {
-        super(options);
-        this.checksum = Buffer.allocUnsafe(4);
-        this.checksum.writeInt32BE(0, 0);
-        this.rawSize = 0;
+      if (!request2.headersList.contains("accept")) {
+        const value = "*/*";
+        request2.headersList.append("accept", value);
       }
-      _transform(chunk, encoding, callback) {
-        if (chunk) {
-          this.checksum = crc32.buf(chunk, this.checksum) >>> 0;
-          this.rawSize += chunk.length;
-        }
-        callback(null, chunk);
+      if (!request2.headersList.contains("accept-language")) {
+        request2.headersList.append("accept-language", "*");
       }
-      digest(encoding) {
-        const checksum = Buffer.allocUnsafe(4);
-        checksum.writeUInt32BE(this.checksum >>> 0, 0);
-        return encoding ? checksum.toString(encoding) : checksum;
+      if (request2.priority === null) {
       }
-      hex() {
-        return this.digest("hex").toUpperCase();
+      if (subresourceSet.has(request2.destination)) {
       }
-      size() {
-        return this.rawSize;
+      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");
       }
-    };
-    module2.exports = CRC32Stream;
-  }
-});
-
-// node_modules/crc32-stream/lib/deflate-crc32-stream.js
-var require_deflate_crc32_stream = __commonJS({
-  "node_modules/crc32-stream/lib/deflate-crc32-stream.js"(exports2, module2) {
-    "use strict";
-    var { DeflateRaw } = require("zlib");
-    var crc32 = require_crc32();
-    var DeflateCRC32Stream = class extends DeflateRaw {
-      constructor(options) {
-        super(options);
-        this.checksum = Buffer.allocUnsafe(4);
-        this.checksum.writeInt32BE(0, 0);
-        this.rawSize = 0;
-        this.compressedSize = 0;
+      tryUpgradeRequestToAPotentiallyTrustworthyURL(request2);
+      if (requestBadPort(request2) === "blocked") {
+        response = makeNetworkError("bad port");
       }
-      push(chunk, encoding) {
-        if (chunk) {
-          this.compressedSize += chunk.length;
-        }
-        return super.push(chunk, encoding);
+      if (request2.referrerPolicy === "") {
+        request2.referrerPolicy = request2.policyContainer.referrerPolicy;
       }
-      _transform(chunk, encoding, callback) {
-        if (chunk) {
-          this.checksum = crc32.buf(chunk, this.checksum) >>> 0;
-          this.rawSize += chunk.length;
-        }
-        super._transform(chunk, encoding, callback);
+      if (request2.referrer !== "no-referrer") {
+        request2.referrer = determineRequestsReferrer(request2);
       }
-      digest(encoding) {
-        const checksum = Buffer.allocUnsafe(4);
-        checksum.writeUInt32BE(this.checksum >>> 0, 0);
-        return encoding ? checksum.toString(encoding) : checksum;
+      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);
+        })();
       }
-      hex() {
-        return this.digest("hex").toUpperCase();
+      if (recursive) {
+        return response;
       }
-      size(compressed = false) {
-        if (compressed) {
-          return this.compressedSize;
+      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 {
-          return this.rawSize;
+          assert(false);
         }
       }
-    };
-    module2.exports = DeflateCRC32Stream;
-  }
-});
-
-// node_modules/crc32-stream/lib/index.js
-var require_lib2 = __commonJS({
-  "node_modules/crc32-stream/lib/index.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      CRC32Stream: require_crc32_stream(),
-      DeflateCRC32Stream: require_deflate_crc32_stream()
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js
-var require_zip_archive_output_stream = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js"(exports2, module2) {
-    var inherits = require("util").inherits;
-    var crc32 = require_crc32();
-    var { CRC32Stream } = require_lib2();
-    var { DeflateCRC32Stream } = require_lib2();
-    var ArchiveOutputStream = require_archive_output_stream();
-    var ZipArchiveEntry = require_zip_archive_entry();
-    var GeneralPurposeBit = require_general_purpose_bit();
-    var constants = require_constants17();
-    var util = require_util21();
-    var zipUtil = require_util20();
-    var ZipArchiveOutputStream = module2.exports = function(options) {
-      if (!(this instanceof ZipArchiveOutputStream)) {
-        return new ZipArchiveOutputStream(options);
-      }
-      options = this.options = this._defaults(options);
-      ArchiveOutputStream.call(this, options);
-      this._entry = null;
-      this._entries = [];
-      this._archive = {
-        centralLength: 0,
-        centralOffset: 0,
-        comment: "",
-        finish: false,
-        finished: false,
-        processing: false,
-        forceZip64: options.forceZip64,
-        forceLocalTime: options.forceLocalTime
-      };
-    };
-    inherits(ZipArchiveOutputStream, ArchiveOutputStream);
-    ZipArchiveOutputStream.prototype._afterAppend = function(ae) {
-      this._entries.push(ae);
-      if (ae.getGeneralPurposeBit().usesDataDescriptor()) {
-        this._writeDataDescriptor(ae);
+      let internalResponse = response.status === 0 ? response : response.internalResponse;
+      if (internalResponse.urlList.length === 0) {
+        internalResponse.urlList.push(...request2.urlList);
       }
-      this._archive.processing = false;
-      this._entry = null;
-      if (this._archive.finish && !this._archive.finished) {
-        this._finish();
+      if (!request2.timingAllowFailed) {
+        response.timingAllowPassed = true;
       }
-    };
-    ZipArchiveOutputStream.prototype._appendBuffer = function(ae, source, callback) {
-      if (source.length === 0) {
-        ae.setMethod(constants.METHOD_STORED);
+      if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request2.headers.contains("range")) {
+        response = internalResponse = makeNetworkError();
       }
-      var method = ae.getMethod();
-      if (method === constants.METHOD_STORED) {
-        ae.setSize(source.length);
-        ae.setCompressedSize(source.length);
-        ae.setCrc(crc32.buf(source) >>> 0);
+      if (response.status !== 0 && (request2.method === "HEAD" || request2.method === "CONNECT" || nullBodyStatus.includes(internalResponse.status))) {
+        internalResponse.body = null;
+        fetchParams.controller.dump = true;
       }
-      this._writeLocalFileHeader(ae);
-      if (method === constants.METHOD_STORED) {
-        this.write(source);
-        this._afterAppend(ae);
-        callback(null, ae);
-        return;
-      } else if (method === constants.METHOD_DEFLATED) {
-        this._smartStream(ae, callback).end(source);
-        return;
+      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 {
-        callback(new Error("compression method " + method + " not implemented"));
-        return;
-      }
-    };
-    ZipArchiveOutputStream.prototype._appendStream = function(ae, source, callback) {
-      ae.getGeneralPurposeBit().useDataDescriptor(true);
-      ae.setVersionNeededToExtract(constants.MIN_VERSION_DATA_DESCRIPTOR);
-      this._writeLocalFileHeader(ae);
-      var smart = this._smartStream(ae, callback);
-      source.once("error", function(err) {
-        smart.emit("error", err);
-        smart.end();
-      });
-      source.pipe(smart);
-    };
-    ZipArchiveOutputStream.prototype._defaults = function(o) {
-      if (typeof o !== "object") {
-        o = {};
-      }
-      if (typeof o.zlib !== "object") {
-        o.zlib = {};
-      }
-      if (typeof o.zlib.level !== "number") {
-        o.zlib.level = constants.ZLIB_BEST_SPEED;
+        fetchFinale(fetchParams, response);
       }
-      o.forceZip64 = !!o.forceZip64;
-      o.forceLocalTime = !!o.forceLocalTime;
-      return o;
-    };
-    ZipArchiveOutputStream.prototype._finish = function() {
-      this._archive.centralOffset = this.offset;
-      this._entries.forEach(function(ae) {
-        this._writeCentralFileHeader(ae);
-      }.bind(this));
-      this._archive.centralLength = this.offset - this._archive.centralOffset;
-      if (this.isZip64()) {
-        this._writeCentralDirectoryZip64();
+    }
+    function schemeFetch(fetchParams) {
+      if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {
+        return Promise.resolve(makeAppropriateNetworkError(fetchParams));
       }
-      this._writeCentralDirectoryEnd();
-      this._archive.processing = false;
-      this._archive.finish = true;
-      this._archive.finished = true;
-      this.end();
-    };
-    ZipArchiveOutputStream.prototype._normalizeEntry = function(ae) {
-      if (ae.getMethod() === -1) {
-        ae.setMethod(constants.METHOD_DEFLATED);
+      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("buffer").resolveObjectURL;
+          }
+          const blobURLEntry = requestCurrentURL(request2);
+          if (blobURLEntry.search.length !== 0) {
+            return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));
+          }
+          const blobURLEntryObject = resolveObjectURL(blobURLEntry.toString());
+          if (request2.method !== "GET" || !isBlobLike(blobURLEntryObject)) {
+            return Promise.resolve(makeNetworkError("invalid method"));
+          }
+          const bodyWithType = safelyExtractBody(blobURLEntryObject);
+          const body = bodyWithType[0];
+          const length = isomorphicEncode(`${body.length}`);
+          const type2 = bodyWithType[1] ?? "";
+          const response = makeResponse({
+            statusText: "OK",
+            headersList: [
+              ["content-length", { name: "Content-Length", value: length }],
+              ["content-type", { name: "Content-Type", value: type2 }]
+            ]
+          });
+          response.body = body;
+          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"));
+        }
       }
-      if (ae.getMethod() === constants.METHOD_DEFLATED) {
-        ae.getGeneralPurposeBit().useDataDescriptor(true);
-        ae.setVersionNeededToExtract(constants.MIN_VERSION_DATA_DESCRIPTOR);
+    }
+    function finalizeResponse(fetchParams, response) {
+      fetchParams.request.done = true;
+      if (fetchParams.processResponseDone != null) {
+        queueMicrotask(() => fetchParams.processResponseDone(response));
       }
-      if (ae.getTime() === -1) {
-        ae.setTime(/* @__PURE__ */ new Date(), this._archive.forceLocalTime);
+    }
+    function fetchFinale(fetchParams, response) {
+      if (response.type === "error") {
+        response.urlList = [fetchParams.request.urlList[0]];
+        response.timingInfo = createOpaqueTimingInfo({
+          startTime: fetchParams.timingInfo.startTime
+        });
       }
-      ae._offsets = {
-        file: 0,
-        data: 0,
-        contents: 0
+      const processResponseEndOfBody = () => {
+        fetchParams.request.done = true;
+        if (fetchParams.processResponseEndOfBody != null) {
+          queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
+        }
       };
-    };
-    ZipArchiveOutputStream.prototype._smartStream = function(ae, callback) {
-      var deflate = ae.getMethod() === constants.METHOD_DEFLATED;
-      var process2 = deflate ? new DeflateCRC32Stream(this.options.zlib) : new CRC32Stream();
-      var error3 = null;
-      function handleStuff() {
-        var digest = process2.digest().readUInt32BE(0);
-        ae.setCrc(digest);
-        ae.setSize(process2.size());
-        ae.setCompressedSize(process2.size(true));
-        this._afterAppend(ae);
-        callback(error3, ae);
-      }
-      process2.once("end", handleStuff.bind(this));
-      process2.once("error", function(err) {
-        error3 = err;
-      });
-      process2.pipe(this, { end: false });
-      return process2;
-    };
-    ZipArchiveOutputStream.prototype._writeCentralDirectoryEnd = function() {
-      var records = this._entries.length;
-      var size = this._archive.centralLength;
-      var offset = this._archive.centralOffset;
-      if (this.isZip64()) {
-        records = constants.ZIP64_MAGIC_SHORT;
-        size = constants.ZIP64_MAGIC;
-        offset = constants.ZIP64_MAGIC;
+      if (fetchParams.processResponse != null) {
+        queueMicrotask(() => fetchParams.processResponse(response));
       }
-      this.write(zipUtil.getLongBytes(constants.SIG_EOCD));
-      this.write(constants.SHORT_ZERO);
-      this.write(constants.SHORT_ZERO);
-      this.write(zipUtil.getShortBytes(records));
-      this.write(zipUtil.getShortBytes(records));
-      this.write(zipUtil.getLongBytes(size));
-      this.write(zipUtil.getLongBytes(offset));
-      var comment = this.getComment();
-      var commentLength = Buffer.byteLength(comment);
-      this.write(zipUtil.getShortBytes(commentLength));
-      this.write(comment);
-    };
-    ZipArchiveOutputStream.prototype._writeCentralDirectoryZip64 = function() {
-      this.write(zipUtil.getLongBytes(constants.SIG_ZIP64_EOCD));
-      this.write(zipUtil.getEightBytes(44));
-      this.write(zipUtil.getShortBytes(constants.MIN_VERSION_ZIP64));
-      this.write(zipUtil.getShortBytes(constants.MIN_VERSION_ZIP64));
-      this.write(constants.LONG_ZERO);
-      this.write(constants.LONG_ZERO);
-      this.write(zipUtil.getEightBytes(this._entries.length));
-      this.write(zipUtil.getEightBytes(this._entries.length));
-      this.write(zipUtil.getEightBytes(this._archive.centralLength));
-      this.write(zipUtil.getEightBytes(this._archive.centralOffset));
-      this.write(zipUtil.getLongBytes(constants.SIG_ZIP64_EOCD_LOC));
-      this.write(constants.LONG_ZERO);
-      this.write(zipUtil.getEightBytes(this._archive.centralOffset + this._archive.centralLength));
-      this.write(zipUtil.getLongBytes(1));
-    };
-    ZipArchiveOutputStream.prototype._writeCentralFileHeader = function(ae) {
-      var gpb = ae.getGeneralPurposeBit();
-      var method = ae.getMethod();
-      var fileOffset = ae._offsets.file;
-      var size = ae.getSize();
-      var compressedSize = ae.getCompressedSize();
-      if (ae.isZip64() || fileOffset > constants.ZIP64_MAGIC) {
-        size = constants.ZIP64_MAGIC;
-        compressedSize = constants.ZIP64_MAGIC;
-        fileOffset = constants.ZIP64_MAGIC;
-        ae.setVersionNeededToExtract(constants.MIN_VERSION_ZIP64);
-        var extraBuf = Buffer.concat([
-          zipUtil.getShortBytes(constants.ZIP64_EXTRA_ID),
-          zipUtil.getShortBytes(24),
-          zipUtil.getEightBytes(ae.getSize()),
-          zipUtil.getEightBytes(ae.getCompressedSize()),
-          zipUtil.getEightBytes(ae._offsets.file)
-        ], 28);
-        ae.setExtra(extraBuf);
+      if (response.body == null) {
+        processResponseEndOfBody();
+      } else {
+        const identityTransformAlgorithm = (chunk, controller) => {
+          controller.enqueue(chunk);
+        };
+        const transformStream = new TransformStream2({
+          start() {
+          },
+          transform: identityTransformAlgorithm,
+          flush: processResponseEndOfBody
+        }, {
+          size() {
+            return 1;
+          }
+        }, {
+          size() {
+            return 1;
+          }
+        });
+        response.body = { stream: response.body.stream.pipeThrough(transformStream) };
       }
-      this.write(zipUtil.getLongBytes(constants.SIG_CFH));
-      this.write(zipUtil.getShortBytes(ae.getPlatform() << 8 | constants.VERSION_MADEBY));
-      this.write(zipUtil.getShortBytes(ae.getVersionNeededToExtract()));
-      this.write(gpb.encode());
-      this.write(zipUtil.getShortBytes(method));
-      this.write(zipUtil.getLongBytes(ae.getTimeDos()));
-      this.write(zipUtil.getLongBytes(ae.getCrc()));
-      this.write(zipUtil.getLongBytes(compressedSize));
-      this.write(zipUtil.getLongBytes(size));
-      var name = ae.getName();
-      var comment = ae.getComment();
-      var extra = ae.getCentralDirectoryExtra();
-      if (gpb.usesUTF8ForNames()) {
-        name = Buffer.from(name);
-        comment = Buffer.from(comment);
+      if (fetchParams.processResponseConsumeBody != null) {
+        const processBody = (nullOrBytes) => fetchParams.processResponseConsumeBody(response, nullOrBytes);
+        const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure);
+        if (response.body == null) {
+          queueMicrotask(() => processBody(null));
+        } else {
+          return fullyReadBody(response.body, processBody, processBodyError);
+        }
+        return Promise.resolve();
       }
-      this.write(zipUtil.getShortBytes(name.length));
-      this.write(zipUtil.getShortBytes(extra.length));
-      this.write(zipUtil.getShortBytes(comment.length));
-      this.write(constants.SHORT_ZERO);
-      this.write(zipUtil.getShortBytes(ae.getInternalAttributes()));
-      this.write(zipUtil.getLongBytes(ae.getExternalAttributes()));
-      this.write(zipUtil.getLongBytes(fileOffset));
-      this.write(name);
-      this.write(extra);
-      this.write(comment);
-    };
-    ZipArchiveOutputStream.prototype._writeDataDescriptor = function(ae) {
-      this.write(zipUtil.getLongBytes(constants.SIG_DD));
-      this.write(zipUtil.getLongBytes(ae.getCrc()));
-      if (ae.isZip64()) {
-        this.write(zipUtil.getEightBytes(ae.getCompressedSize()));
-        this.write(zipUtil.getEightBytes(ae.getSize()));
-      } else {
-        this.write(zipUtil.getLongBytes(ae.getCompressedSize()));
-        this.write(zipUtil.getLongBytes(ae.getSize()));
+    }
+    async function httpFetch(fetchParams) {
+      const request2 = fetchParams.request;
+      let response = null;
+      let actualResponse = null;
+      const timingInfo = fetchParams.timingInfo;
+      if (request2.serviceWorkers === "all") {
       }
-    };
-    ZipArchiveOutputStream.prototype._writeLocalFileHeader = function(ae) {
-      var gpb = ae.getGeneralPurposeBit();
-      var method = ae.getMethod();
-      var name = ae.getName();
-      var extra = ae.getLocalFileDataExtra();
-      if (ae.isZip64()) {
-        gpb.useDataDescriptor(true);
-        ae.setVersionNeededToExtract(constants.MIN_VERSION_ZIP64);
+      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 (gpb.usesUTF8ForNames()) {
-        name = Buffer.from(name);
+      if ((request2.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
+        request2.origin,
+        request2.client,
+        request2.destination,
+        actualResponse
+      ) === "blocked") {
+        return makeNetworkError("blocked");
       }
-      ae._offsets.file = this.offset;
-      this.write(zipUtil.getLongBytes(constants.SIG_LFH));
-      this.write(zipUtil.getShortBytes(ae.getVersionNeededToExtract()));
-      this.write(gpb.encode());
-      this.write(zipUtil.getShortBytes(method));
-      this.write(zipUtil.getLongBytes(ae.getTimeDos()));
-      ae._offsets.data = this.offset;
-      if (gpb.usesDataDescriptor()) {
-        this.write(constants.LONG_ZERO);
-        this.write(constants.LONG_ZERO);
-        this.write(constants.LONG_ZERO);
-      } else {
-        this.write(zipUtil.getLongBytes(ae.getCrc()));
-        this.write(zipUtil.getLongBytes(ae.getCompressedSize()));
-        this.write(zipUtil.getLongBytes(ae.getSize()));
+      if (redirectStatusSet.has(actualResponse.status)) {
+        if (request2.redirect !== "manual") {
+          fetchParams.controller.connection.destroy();
+        }
+        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);
+        }
       }
-      this.write(zipUtil.getShortBytes(name.length));
-      this.write(zipUtil.getShortBytes(extra.length));
-      this.write(name);
-      this.write(extra);
-      ae._offsets.contents = this.offset;
-    };
-    ZipArchiveOutputStream.prototype.getComment = function(comment) {
-      return this._archive.comment !== null ? this._archive.comment : "";
-    };
-    ZipArchiveOutputStream.prototype.isZip64 = function() {
-      return this._archive.forceZip64 || this._entries.length > constants.ZIP64_MAGIC_SHORT || this._archive.centralLength > constants.ZIP64_MAGIC || this._archive.centralOffset > constants.ZIP64_MAGIC;
-    };
-    ZipArchiveOutputStream.prototype.setComment = function(comment) {
-      this._archive.comment = comment;
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/compress-commons.js
-var require_compress_commons = __commonJS({
-  "node_modules/compress-commons/lib/compress-commons.js"(exports2, module2) {
-    module2.exports = {
-      ArchiveEntry: require_archive_entry(),
-      ZipArchiveEntry: require_zip_archive_entry(),
-      ArchiveOutputStream: require_archive_output_stream(),
-      ZipArchiveOutputStream: require_zip_archive_output_stream()
-    };
-  }
-});
-
-// node_modules/zip-stream/index.js
-var require_zip_stream = __commonJS({
-  "node_modules/zip-stream/index.js"(exports2, module2) {
-    var inherits = require("util").inherits;
-    var ZipArchiveOutputStream = require_compress_commons().ZipArchiveOutputStream;
-    var ZipArchiveEntry = require_compress_commons().ZipArchiveEntry;
-    var util = require_archiver_utils();
-    var ZipStream = module2.exports = function(options) {
-      if (!(this instanceof ZipStream)) {
-        return new ZipStream(options);
+      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));
       }
-      options = this.options = options || {};
-      options.zlib = options.zlib || {};
-      ZipArchiveOutputStream.call(this, options);
-      if (typeof options.level === "number" && options.level >= 0) {
-        options.zlib.level = options.level;
-        delete options.level;
+      if (!urlIsHttpHttpsScheme(locationURL)) {
+        return Promise.resolve(makeNetworkError("URL scheme must be a HTTP(S) scheme"));
       }
-      if (!options.forceZip64 && typeof options.zlib.level === "number" && options.zlib.level === 0) {
-        options.store = true;
+      if (request2.redirectCount === 20) {
+        return Promise.resolve(makeNetworkError("redirect count exceeded"));
       }
-      options.namePrependSlash = options.namePrependSlash || false;
-      if (options.comment && options.comment.length > 0) {
-        this.setComment(options.comment);
+      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"'));
       }
-    };
-    inherits(ZipStream, ZipArchiveOutputStream);
-    ZipStream.prototype._normalizeFileData = function(data) {
-      data = util.defaults(data, {
-        type: "file",
-        name: null,
-        namePrependSlash: this.options.namePrependSlash,
-        linkname: null,
-        date: null,
-        mode: null,
-        store: this.options.store,
-        comment: ""
-      });
-      var isDir = data.type === "directory";
-      var isSymlink = data.type === "symlink";
-      if (data.name) {
-        data.name = util.sanitizePath(data.name);
-        if (!isSymlink && data.name.slice(-1) === "/") {
-          isDir = true;
-          data.type = "directory";
-        } else if (isDir) {
-          data.name += "/";
-        }
+      if (request2.responseTainting === "cors" && (locationURL.username || locationURL.password)) {
+        return Promise.resolve(makeNetworkError(
+          'URL cannot contain credentials for request mode "cors"'
+        ));
       }
-      if (isDir || isSymlink) {
-        data.store = true;
+      if (actualResponse.status !== 303 && request2.body != null && request2.body.source == null) {
+        return Promise.resolve(makeNetworkError());
       }
-      data.date = util.dateify(data.date);
-      return data;
-    };
-    ZipStream.prototype.entry = function(source, data, callback) {
-      if (typeof callback !== "function") {
-        callback = this._emitErrorCallback.bind(this);
+      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);
+        }
       }
-      data = this._normalizeFileData(data);
-      if (data.type !== "file" && data.type !== "directory" && data.type !== "symlink") {
-        callback(new Error(data.type + " entries not currently supported"));
-        return;
+      if (!sameOrigin(requestCurrentURL(request2), locationURL)) {
+        request2.headersList.delete("authorization");
+        request2.headersList.delete("proxy-authorization", true);
+        request2.headersList.delete("cookie");
+        request2.headersList.delete("host");
       }
-      if (typeof data.name !== "string" || data.name.length === 0) {
-        callback(new Error("entry name must be a non-empty string value"));
-        return;
+      if (request2.body != null) {
+        assert(request2.body.source != null);
+        request2.body = safelyExtractBody(request2.body.source)[0];
       }
-      if (data.type === "symlink" && typeof data.linkname !== "string") {
-        callback(new Error("entry linkname must be a non-empty string value when type equals symlink"));
-        return;
+      const timingInfo = fetchParams.timingInfo;
+      timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+      if (timingInfo.redirectStartTime === 0) {
+        timingInfo.redirectStartTime = timingInfo.startTime;
       }
-      var entry = new ZipArchiveEntry(data.name);
-      entry.setTime(data.date, this.options.forceLocalTime);
-      if (data.namePrependSlash) {
-        entry.setName(data.name, true);
+      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 = makeRequest(request2);
+        httpFetchParams = { ...fetchParams };
+        httpFetchParams.request = httpRequest;
       }
-      if (data.store) {
-        entry.setMethod(0);
+      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 (data.comment.length > 0) {
-        entry.setComment(data.comment);
+      if (contentLength != null) {
+        contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
       }
-      if (data.type === "symlink" && typeof data.mode !== "number") {
-        data.mode = 40960;
+      if (contentLengthHeaderValue != null) {
+        httpRequest.headersList.append("content-length", contentLengthHeaderValue);
       }
-      if (typeof data.mode === "number") {
-        if (data.type === "symlink") {
-          data.mode |= 40960;
-        }
-        entry.setUnixMode(data.mode);
+      if (contentLength != null && httpRequest.keepalive) {
       }
-      if (data.type === "symlink" && typeof data.linkname === "string") {
-        source = Buffer.from(data.linkname);
+      if (httpRequest.referrer instanceof URL) {
+        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href));
       }
-      return ZipArchiveOutputStream.prototype.entry.call(this, entry, source, callback);
-    };
-    ZipStream.prototype.finalize = function() {
-      this.finish();
-    };
-  }
-});
-
-// node_modules/archiver/lib/plugins/zip.js
-var require_zip = __commonJS({
-  "node_modules/archiver/lib/plugins/zip.js"(exports2, module2) {
-    var engine = require_zip_stream();
-    var util = require_archiver_utils();
-    var Zip = function(options) {
-      if (!(this instanceof Zip)) {
-        return new Zip(options);
+      appendRequestOriginHeader(httpRequest);
+      appendFetchMetadata(httpRequest);
+      if (!httpRequest.headersList.contains("user-agent")) {
+        httpRequest.headersList.append("user-agent", typeof esbuildDetection === "undefined" ? "undici" : "node");
       }
-      options = this.options = util.defaults(options, {
-        comment: "",
-        forceUTC: false,
-        namePrependSlash: false,
-        store: false
-      });
-      this.supports = {
-        directory: true,
-        symlink: true
-      };
-      this.engine = new engine(options);
-    };
-    Zip.prototype.append = function(source, data, callback) {
-      this.engine.entry(source, data, callback);
-    };
-    Zip.prototype.finalize = function() {
-      this.engine.finalize();
-    };
-    Zip.prototype.on = function() {
-      return this.engine.on.apply(this.engine, arguments);
-    };
-    Zip.prototype.pipe = function() {
-      return this.engine.pipe.apply(this.engine, arguments);
-    };
-    Zip.prototype.unpipe = function() {
-      return this.engine.unpipe.apply(this.engine, arguments);
-    };
-    module2.exports = Zip;
-  }
-});
-
-// node_modules/queue-tick/queue-microtask.js
-var require_queue_microtask = __commonJS({
-  "node_modules/queue-tick/queue-microtask.js"(exports2, module2) {
-    module2.exports = typeof queueMicrotask === "function" ? queueMicrotask : (fn) => Promise.resolve().then(fn);
-  }
-});
-
-// node_modules/queue-tick/process-next-tick.js
-var require_process_next_tick = __commonJS({
-  "node_modules/queue-tick/process-next-tick.js"(exports2, module2) {
-    module2.exports = typeof process !== "undefined" && typeof process.nextTick === "function" ? process.nextTick.bind(process) : require_queue_microtask();
-  }
-});
-
-// node_modules/fast-fifo/fixed-size.js
-var require_fixed_size = __commonJS({
-  "node_modules/fast-fifo/fixed-size.js"(exports2, module2) {
-    module2.exports = class FixedFIFO {
-      constructor(hwm) {
-        if (!(hwm > 0) || (hwm - 1 & hwm) !== 0) throw new Error("Max size for a FixedFIFO should be a power of two");
-        this.buffer = new Array(hwm);
-        this.mask = hwm - 1;
-        this.top = 0;
-        this.btm = 0;
-        this.next = null;
+      if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since") || httpRequest.headersList.contains("if-none-match") || httpRequest.headersList.contains("if-unmodified-since") || httpRequest.headersList.contains("if-match") || httpRequest.headersList.contains("if-range"))) {
+        httpRequest.cache = "no-store";
       }
-      clear() {
-        this.top = this.btm = 0;
-        this.next = null;
-        this.buffer.fill(void 0);
+      if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control")) {
+        httpRequest.headersList.append("cache-control", "max-age=0");
       }
-      push(data) {
-        if (this.buffer[this.top] !== void 0) return false;
-        this.buffer[this.top] = data;
-        this.top = this.top + 1 & this.mask;
-        return true;
+      if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") {
+        if (!httpRequest.headersList.contains("pragma")) {
+          httpRequest.headersList.append("pragma", "no-cache");
+        }
+        if (!httpRequest.headersList.contains("cache-control")) {
+          httpRequest.headersList.append("cache-control", "no-cache");
+        }
       }
-      shift() {
-        const last = this.buffer[this.btm];
-        if (last === void 0) return void 0;
-        this.buffer[this.btm] = void 0;
-        this.btm = this.btm + 1 & this.mask;
-        return last;
+      if (httpRequest.headersList.contains("range")) {
+        httpRequest.headersList.append("accept-encoding", "identity");
       }
-      peek() {
-        return this.buffer[this.btm];
+      if (!httpRequest.headersList.contains("accept-encoding")) {
+        if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
+          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate");
+        } else {
+          httpRequest.headersList.append("accept-encoding", "gzip, deflate");
+        }
       }
-      isEmpty() {
-        return this.buffer[this.btm] === void 0;
+      httpRequest.headersList.delete("host");
+      if (includeCredentials) {
       }
-    };
-  }
-});
-
-// node_modules/fast-fifo/index.js
-var require_fast_fifo = __commonJS({
-  "node_modules/fast-fifo/index.js"(exports2, module2) {
-    var FixedFIFO = require_fixed_size();
-    module2.exports = class FastFIFO {
-      constructor(hwm) {
-        this.hwm = hwm || 16;
-        this.head = new FixedFIFO(this.hwm);
-        this.tail = this.head;
-        this.length = 0;
+      if (httpCache == null) {
+        httpRequest.cache = "no-store";
       }
-      clear() {
-        this.head = this.tail;
-        this.head.clear();
-        this.length = 0;
+      if (httpRequest.mode !== "no-store" && httpRequest.mode !== "reload") {
       }
-      push(val) {
-        this.length++;
-        if (!this.head.push(val)) {
-          const prev = this.head;
-          this.head = prev.next = new FixedFIFO(2 * this.head.buffer.length);
-          this.head.push(val);
+      if (response == null) {
+        if (httpRequest.mode === "only-if-cached") {
+          return makeNetworkError("only if cached");
+        }
+        const forwardResponse = await httpNetworkFetch(
+          httpFetchParams,
+          includeCredentials,
+          isNewConnectionFetch
+        );
+        if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {
+        }
+        if (revalidatingFlag && forwardResponse.status === 304) {
+        }
+        if (response == null) {
+          response = forwardResponse;
         }
       }
-      shift() {
-        if (this.length !== 0) this.length--;
-        const val = this.tail.shift();
-        if (val === void 0 && this.tail.next) {
-          const next = this.tail.next;
-          this.tail.next = null;
-          this.tail = next;
-          return this.tail.shift();
+      response.urlList = [...httpRequest.urlList];
+      if (httpRequest.headersList.contains("range")) {
+        response.rangeRequested = true;
+      }
+      response.requestIncludesCredentials = includeCredentials;
+      if (response.status === 407) {
+        if (request2.window === "no-window") {
+          return makeNetworkError();
         }
-        return val;
+        if (isCancelled(fetchParams)) {
+          return makeAppropriateNetworkError(fetchParams);
+        }
+        return makeNetworkError("proxy authentication required");
       }
-      peek() {
-        const val = this.tail.peek();
-        if (val === void 0 && this.tail.next) return this.tail.next.peek();
-        return val;
+      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
+        );
       }
-      isEmpty() {
-        return this.length === 0;
+      if (isAuthenticationFetch) {
       }
-    };
-  }
-});
-
-// node_modules/b4a/index.js
-var require_b4a = __commonJS({
-  "node_modules/b4a/index.js"(exports2, module2) {
-    function isBuffer(value) {
-      return Buffer.isBuffer(value) || value instanceof Uint8Array;
-    }
-    function isEncoding(encoding) {
-      return Buffer.isEncoding(encoding);
-    }
-    function alloc(size, fill2, encoding) {
-      return Buffer.alloc(size, fill2, encoding);
-    }
-    function allocUnsafe(size) {
-      return Buffer.allocUnsafe(size);
-    }
-    function allocUnsafeSlow(size) {
-      return Buffer.allocUnsafeSlow(size);
-    }
-    function byteLength(string, encoding) {
-      return Buffer.byteLength(string, encoding);
-    }
-    function compare2(a, b) {
-      return Buffer.compare(a, b);
-    }
-    function concat(buffers, totalLength) {
-      return Buffer.concat(buffers, totalLength);
-    }
-    function copy(source, target, targetStart, start, end) {
-      return toBuffer(source).copy(target, targetStart, start, end);
-    }
-    function equals(a, b) {
-      return toBuffer(a).equals(b);
-    }
-    function fill(buffer, value, offset, end, encoding) {
-      return toBuffer(buffer).fill(value, offset, end, encoding);
-    }
-    function from(value, encodingOrOffset, length) {
-      return Buffer.from(value, encodingOrOffset, length);
-    }
-    function includes(buffer, value, byteOffset, encoding) {
-      return toBuffer(buffer).includes(value, byteOffset, encoding);
-    }
-    function indexOf(buffer, value, byfeOffset, encoding) {
-      return toBuffer(buffer).indexOf(value, byfeOffset, encoding);
-    }
-    function lastIndexOf(buffer, value, byteOffset, encoding) {
-      return toBuffer(buffer).lastIndexOf(value, byteOffset, encoding);
-    }
-    function swap16(buffer) {
-      return toBuffer(buffer).swap16();
-    }
-    function swap32(buffer) {
-      return toBuffer(buffer).swap32();
-    }
-    function swap64(buffer) {
-      return toBuffer(buffer).swap64();
-    }
-    function toBuffer(buffer) {
-      if (Buffer.isBuffer(buffer)) return buffer;
-      return Buffer.from(buffer.buffer, buffer.byteOffset, buffer.byteLength);
-    }
-    function toString2(buffer, encoding, start, end) {
-      return toBuffer(buffer).toString(encoding, start, end);
-    }
-    function write(buffer, string, offset, length, encoding) {
-      return toBuffer(buffer).write(string, offset, length, encoding);
-    }
-    function writeDoubleLE(buffer, value, offset) {
-      return toBuffer(buffer).writeDoubleLE(value, offset);
-    }
-    function writeFloatLE(buffer, value, offset) {
-      return toBuffer(buffer).writeFloatLE(value, offset);
-    }
-    function writeUInt32LE(buffer, value, offset) {
-      return toBuffer(buffer).writeUInt32LE(value, offset);
-    }
-    function writeInt32LE(buffer, value, offset) {
-      return toBuffer(buffer).writeInt32LE(value, offset);
-    }
-    function readDoubleLE(buffer, offset) {
-      return toBuffer(buffer).readDoubleLE(offset);
-    }
-    function readFloatLE(buffer, offset) {
-      return toBuffer(buffer).readFloatLE(offset);
-    }
-    function readUInt32LE(buffer, offset) {
-      return toBuffer(buffer).readUInt32LE(offset);
-    }
-    function readInt32LE(buffer, offset) {
-      return toBuffer(buffer).readInt32LE(offset);
-    }
-    function writeDoubleBE(buffer, value, offset) {
-      return toBuffer(buffer).writeDoubleBE(value, offset);
-    }
-    function writeFloatBE(buffer, value, offset) {
-      return toBuffer(buffer).writeFloatBE(value, offset);
-    }
-    function writeUInt32BE(buffer, value, offset) {
-      return toBuffer(buffer).writeUInt32BE(value, offset);
-    }
-    function writeInt32BE(buffer, value, offset) {
-      return toBuffer(buffer).writeInt32BE(value, offset);
-    }
-    function readDoubleBE(buffer, offset) {
-      return toBuffer(buffer).readDoubleBE(offset);
-    }
-    function readFloatBE(buffer, offset) {
-      return toBuffer(buffer).readFloatBE(offset);
-    }
-    function readUInt32BE(buffer, offset) {
-      return toBuffer(buffer).readUInt32BE(offset);
+      return response;
     }
-    function readInt32BE(buffer, offset) {
-      return toBuffer(buffer).readInt32BE(offset);
+    async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) {
+      assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed);
+      fetchParams.controller.connection = {
+        abort: null,
+        destroyed: false,
+        destroy(err) {
+          if (!this.destroyed) {
+            this.destroyed = true;
+            this.abort?.(err ?? new DOMException2("The operation was aborted.", "AbortError"));
+          }
+        }
+      };
+      const request2 = fetchParams.request;
+      let response = null;
+      const timingInfo = fetchParams.timingInfo;
+      const httpCache = null;
+      if (httpCache == null) {
+        request2.cache = "no-store";
+      }
+      const newConnection = forceNewConnection ? "yes" : "no";
+      if (request2.mode === "websocket") {
+      } else {
+      }
+      let requestBody = null;
+      if (request2.body == null && fetchParams.processRequestEndOfBody) {
+        queueMicrotask(() => fetchParams.processRequestEndOfBody());
+      } else if (request2.body != null) {
+        const processBodyChunk = async function* (bytes) {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          yield bytes;
+          fetchParams.processRequestBodyChunkLength?.(bytes.byteLength);
+        };
+        const processEndOfBody = () => {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          if (fetchParams.processRequestEndOfBody) {
+            fetchParams.processRequestEndOfBody();
+          }
+        };
+        const processBodyError = (e) => {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          if (e.name === "AbortError") {
+            fetchParams.controller.abort();
+          } else {
+            fetchParams.controller.terminate(e);
+          }
+        };
+        requestBody = (async function* () {
+          try {
+            for await (const bytes of request2.body.stream) {
+              yield* processBodyChunk(bytes);
+            }
+            processEndOfBody();
+          } catch (err) {
+            processBodyError(err);
+          }
+        })();
+      }
+      try {
+        const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
+        if (socket) {
+          response = makeResponse({ status, statusText, headersList, socket });
+        } else {
+          const iterator2 = body[Symbol.asyncIterator]();
+          fetchParams.controller.next = () => iterator2.next();
+          response = makeResponse({ status, statusText, headersList });
+        }
+      } catch (err) {
+        if (err.name === "AbortError") {
+          fetchParams.controller.connection.destroy();
+          return makeAppropriateNetworkError(fetchParams, err);
+        }
+        return makeNetworkError(err);
+      }
+      const pullAlgorithm = () => {
+        fetchParams.controller.resume();
+      };
+      const cancelAlgorithm = (reason) => {
+        fetchParams.controller.abort(reason);
+      };
+      if (!ReadableStream2) {
+        ReadableStream2 = require("stream/web").ReadableStream;
+      }
+      const stream = new ReadableStream2(
+        {
+          async start(controller) {
+            fetchParams.controller.controller = controller;
+          },
+          async pull(controller) {
+            await pullAlgorithm(controller);
+          },
+          async cancel(reason) {
+            await cancelAlgorithm(reason);
+          }
+        },
+        {
+          highWaterMark: 0,
+          size() {
+            return 1;
+          }
+        }
+      );
+      response.body = { stream };
+      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;
+          }
+          fetchParams.controller.controller.enqueue(new Uint8Array(bytes));
+          if (isErrored(stream)) {
+            fetchParams.controller.terminate();
+            return;
+          }
+          if (!fetchParams.controller.controller.desiredSize) {
+            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;
+      async function dispatch({ body }) {
+        const url = requestCurrentURL(request2);
+        const agent = fetchParams.controller.dispatcher;
+        return new Promise((resolve2, reject) => agent.dispatch(
+          {
+            path: url.pathname + url.search,
+            origin: url.origin,
+            method: request2.method,
+            body: fetchParams.controller.dispatcher.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
+            headers: request2.headersList.entries,
+            maxRedirections: 0,
+            upgrade: request2.mode === "websocket" ? "websocket" : void 0
+          },
+          {
+            body: null,
+            abort: null,
+            onConnect(abort) {
+              const { connection } = fetchParams.controller;
+              if (connection.destroyed) {
+                abort(new DOMException2("The operation was aborted.", "AbortError"));
+              } else {
+                fetchParams.controller.on("terminated", abort);
+                this.abort = connection.abort = abort;
+              }
+            },
+            onHeaders(status, headersList, resume, statusText) {
+              if (status < 200) {
+                return;
+              }
+              let codings = [];
+              let location = "";
+              const headers = new Headers();
+              if (Array.isArray(headersList)) {
+                for (let n = 0; n < headersList.length; n += 2) {
+                  const key = headersList[n + 0].toString("latin1");
+                  const val = headersList[n + 1].toString("latin1");
+                  if (key.toLowerCase() === "content-encoding") {
+                    codings = val.toLowerCase().split(",").map((x) => x.trim());
+                  } else if (key.toLowerCase() === "location") {
+                    location = val;
+                  }
+                  headers[kHeadersList].append(key, val);
+                }
+              } else {
+                const keys = Object.keys(headersList);
+                for (const key of keys) {
+                  const val = headersList[key];
+                  if (key.toLowerCase() === "content-encoding") {
+                    codings = val.toLowerCase().split(",").map((x) => x.trim()).reverse();
+                  } else if (key.toLowerCase() === "location") {
+                    location = val;
+                  }
+                  headers[kHeadersList].append(key, val);
+                }
+              }
+              this.body = new Readable({ read: resume });
+              const decoders = [];
+              const willFollow = request2.redirect === "follow" && location && redirectStatusSet.has(status);
+              if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
+                for (const coding of codings) {
+                  if (coding === "x-gzip" || coding === "gzip") {
+                    decoders.push(zlib.createGunzip({
+                      // Be less strict when decoding compressed responses, since sometimes
+                      // servers send slightly invalid responses that are still accepted
+                      // by common browsers.
+                      // Always using Z_SYNC_FLUSH is what cURL does.
+                      flush: zlib.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib.constants.Z_SYNC_FLUSH
+                    }));
+                  } else if (coding === "deflate") {
+                    decoders.push(zlib.createInflate());
+                  } else if (coding === "br") {
+                    decoders.push(zlib.createBrotliDecompress());
+                  } else {
+                    decoders.length = 0;
+                    break;
+                  }
+                }
+              }
+              resolve2({
+                status,
+                statusText,
+                headersList: headers[kHeadersList],
+                body: decoders.length ? pipeline(this.body, ...decoders, () => {
+                }) : this.body.on("error", () => {
+                })
+              });
+              return true;
+            },
+            onData(chunk) {
+              if (fetchParams.controller.dump) {
+                return;
+              }
+              const bytes = chunk;
+              timingInfo.encodedBodySize += bytes.byteLength;
+              return this.body.push(bytes);
+            },
+            onComplete() {
+              if (this.abort) {
+                fetchParams.controller.off("terminated", this.abort);
+              }
+              fetchParams.controller.ended = true;
+              this.body.push(null);
+            },
+            onError(error3) {
+              if (this.abort) {
+                fetchParams.controller.off("terminated", this.abort);
+              }
+              this.body?.destroy(error3);
+              fetchParams.controller.terminate(error3);
+              reject(error3);
+            },
+            onUpgrade(status, headersList, socket) {
+              if (status !== 101) {
+                return;
+              }
+              const headers = new Headers();
+              for (let n = 0; n < headersList.length; n += 2) {
+                const key = headersList[n + 0].toString("latin1");
+                const val = headersList[n + 1].toString("latin1");
+                headers[kHeadersList].append(key, val);
+              }
+              resolve2({
+                status,
+                statusText: STATUS_CODES[status],
+                headersList: headers[kHeadersList],
+                socket
+              });
+              return true;
+            }
+          }
+        ));
+      }
     }
     module2.exports = {
-      isBuffer,
-      isEncoding,
-      alloc,
-      allocUnsafe,
-      allocUnsafeSlow,
-      byteLength,
-      compare: compare2,
-      concat,
-      copy,
-      equals,
-      fill,
-      from,
-      includes,
-      indexOf,
-      lastIndexOf,
-      swap16,
-      swap32,
-      swap64,
-      toBuffer,
-      toString: toString2,
-      write,
-      writeDoubleLE,
-      writeFloatLE,
-      writeUInt32LE,
-      writeInt32LE,
-      readDoubleLE,
-      readFloatLE,
-      readUInt32LE,
-      readInt32LE,
-      writeDoubleBE,
-      writeFloatBE,
-      writeUInt32BE,
-      writeInt32BE,
-      readDoubleBE,
-      readFloatBE,
-      readUInt32BE,
-      readInt32BE
+      fetch,
+      Fetch,
+      fetching,
+      finalizeAndReportTiming
     };
   }
 });
 
-// node_modules/text-decoder/lib/pass-through-decoder.js
-var require_pass_through_decoder = __commonJS({
-  "node_modules/text-decoder/lib/pass-through-decoder.js"(exports2, module2) {
-    var b4a = require_b4a();
-    module2.exports = class PassThroughDecoder {
-      constructor(encoding) {
-        this.encoding = encoding;
-      }
-      get remaining() {
-        return 0;
-      }
-      decode(tail) {
-        return b4a.toString(tail, this.encoding);
-      }
-      flush() {
-        return "";
-      }
+// node_modules/undici/lib/fileapi/symbols.js
+var require_symbols13 = __commonJS({
+  "node_modules/undici/lib/fileapi/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kState: /* @__PURE__ */ Symbol("FileReader state"),
+      kResult: /* @__PURE__ */ Symbol("FileReader result"),
+      kError: /* @__PURE__ */ Symbol("FileReader error"),
+      kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"),
+      kEvents: /* @__PURE__ */ Symbol("FileReader events"),
+      kAborted: /* @__PURE__ */ Symbol("FileReader aborted")
     };
   }
 });
 
-// node_modules/text-decoder/lib/utf8-decoder.js
-var require_utf8_decoder = __commonJS({
-  "node_modules/text-decoder/lib/utf8-decoder.js"(exports2, module2) {
-    var b4a = require_b4a();
-    module2.exports = class UTF8Decoder {
-      constructor() {
-        this.codePoint = 0;
-        this.bytesSeen = 0;
-        this.bytesNeeded = 0;
-        this.lowerBoundary = 128;
-        this.upperBoundary = 191;
+// node_modules/undici/lib/fileapi/progressevent.js
+var require_progressevent3 = __commonJS({
+  "node_modules/undici/lib/fileapi/progressevent.js"(exports2, module2) {
+    "use strict";
+    var { webidl } = require_webidl3();
+    var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
+    var ProgressEvent = class _ProgressEvent extends Event {
+      constructor(type2, eventInitDict = {}) {
+        type2 = webidl.converters.DOMString(type2);
+        eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
+        super(type2, eventInitDict);
+        this[kState] = {
+          lengthComputable: eventInitDict.lengthComputable,
+          loaded: eventInitDict.loaded,
+          total: eventInitDict.total
+        };
       }
-      get remaining() {
-        return this.bytesSeen;
+      get lengthComputable() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].lengthComputable;
       }
-      decode(data) {
-        if (this.bytesNeeded === 0) {
-          let isBoundary = true;
-          for (let i = Math.max(0, data.byteLength - 4), n = data.byteLength; i < n && isBoundary; i++) {
-            isBoundary = data[i] <= 127;
-          }
-          if (isBoundary) return b4a.toString(data, "utf8");
-        }
-        let result = "";
-        for (let i = 0, n = data.byteLength; i < n; i++) {
-          const byte = data[i];
-          if (this.bytesNeeded === 0) {
-            if (byte <= 127) {
-              result += String.fromCharCode(byte);
-            } else {
-              this.bytesSeen = 1;
-              if (byte >= 194 && byte <= 223) {
-                this.bytesNeeded = 2;
-                this.codePoint = byte & 31;
-              } else if (byte >= 224 && byte <= 239) {
-                if (byte === 224) this.lowerBoundary = 160;
-                else if (byte === 237) this.upperBoundary = 159;
-                this.bytesNeeded = 3;
-                this.codePoint = byte & 15;
-              } else if (byte >= 240 && byte <= 244) {
-                if (byte === 240) this.lowerBoundary = 144;
-                if (byte === 244) this.upperBoundary = 143;
-                this.bytesNeeded = 4;
-                this.codePoint = byte & 7;
-              } else {
-                result += "\uFFFD";
-              }
-            }
-            continue;
-          }
-          if (byte < this.lowerBoundary || byte > this.upperBoundary) {
-            this.codePoint = 0;
-            this.bytesNeeded = 0;
-            this.bytesSeen = 0;
-            this.lowerBoundary = 128;
-            this.upperBoundary = 191;
-            result += "\uFFFD";
-            continue;
-          }
-          this.lowerBoundary = 128;
-          this.upperBoundary = 191;
-          this.codePoint = this.codePoint << 6 | byte & 63;
-          this.bytesSeen++;
-          if (this.bytesSeen !== this.bytesNeeded) continue;
-          result += String.fromCodePoint(this.codePoint);
-          this.codePoint = 0;
-          this.bytesNeeded = 0;
-          this.bytesSeen = 0;
-        }
-        return result;
+      get loaded() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].loaded;
       }
-      flush() {
-        const result = this.bytesNeeded > 0 ? "\uFFFD" : "";
-        this.codePoint = 0;
-        this.bytesNeeded = 0;
-        this.bytesSeen = 0;
-        this.lowerBoundary = 128;
-        this.upperBoundary = 191;
-        return result;
+      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/text-decoder/index.js
-var require_text_decoder = __commonJS({
-  "node_modules/text-decoder/index.js"(exports2, module2) {
-    var PassThroughDecoder = require_pass_through_decoder();
-    var UTF8Decoder = require_utf8_decoder();
-    module2.exports = class TextDecoder {
-      constructor(encoding = "utf8") {
-        this.encoding = normalizeEncoding(encoding);
-        switch (this.encoding) {
-          case "utf8":
-            this.decoder = new UTF8Decoder();
-            break;
-          case "utf16le":
-          case "base64":
-            throw new Error("Unsupported encoding: " + this.encoding);
-          default:
-            this.decoder = new PassThroughDecoder(this.encoding);
-        }
-      }
-      get remaining() {
-        return this.decoder.remaining;
-      }
-      push(data) {
-        if (typeof data === "string") return data;
-        return this.decoder.decode(data);
-      }
-      // For Node.js compatibility
-      write(data) {
-        return this.push(data);
-      }
-      end(data) {
-        let result = "";
-        if (data) result = this.push(data);
-        result += this.decoder.flush();
-        return result;
+// node_modules/undici/lib/fileapi/encoding.js
+var require_encoding3 = __commonJS({
+  "node_modules/undici/lib/fileapi/encoding.js"(exports2, module2) {
+    "use strict";
+    function getEncoding(label) {
+      if (!label) {
+        return "failure";
       }
-    };
-    function normalizeEncoding(encoding) {
-      encoding = encoding.toLowerCase();
-      switch (encoding) {
-        case "utf8":
+      switch (label.trim().toLowerCase()) {
+        case "unicode-1-1-utf-8":
+        case "unicode11utf8":
+        case "unicode20utf8":
         case "utf-8":
-          return "utf8";
-        case "ucs2":
+        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 "utf16le":
+        case "unicode":
+        case "unicodefeff":
+        case "utf-16":
         case "utf-16le":
-          return "utf16le";
-        case "latin1":
-        case "binary":
-          return "latin1";
-        case "base64":
-        case "ascii":
-        case "hex":
-          return encoding;
+          return "UTF-16LE";
+        case "x-user-defined":
+          return "x-user-defined";
         default:
-          throw new Error("Unknown encoding: " + encoding);
+          return "failure";
       }
     }
+    module2.exports = {
+      getEncoding
+    };
   }
 });
 
-// node_modules/streamx/index.js
-var require_streamx = __commonJS({
-  "node_modules/streamx/index.js"(exports2, module2) {
-    var { EventEmitter } = require("events");
-    var STREAM_DESTROYED = new Error("Stream was destroyed");
-    var PREMATURE_CLOSE = new Error("Premature close");
-    var queueTick = require_process_next_tick();
-    var FIFO = require_fast_fifo();
-    var TextDecoder2 = require_text_decoder();
-    var MAX = (1 << 29) - 1;
-    var OPENING = 1;
-    var PREDESTROYING = 2;
-    var DESTROYING = 4;
-    var DESTROYED = 8;
-    var NOT_OPENING = MAX ^ OPENING;
-    var NOT_PREDESTROYING = MAX ^ PREDESTROYING;
-    var READ_ACTIVE = 1 << 4;
-    var READ_UPDATING = 2 << 4;
-    var READ_PRIMARY = 4 << 4;
-    var READ_QUEUED = 8 << 4;
-    var READ_RESUMED = 16 << 4;
-    var READ_PIPE_DRAINED = 32 << 4;
-    var READ_ENDING = 64 << 4;
-    var READ_EMIT_DATA = 128 << 4;
-    var READ_EMIT_READABLE = 256 << 4;
-    var READ_EMITTED_READABLE = 512 << 4;
-    var READ_DONE = 1024 << 4;
-    var READ_NEXT_TICK = 2048 << 4;
-    var READ_NEEDS_PUSH = 4096 << 4;
-    var READ_READ_AHEAD = 8192 << 4;
-    var READ_FLOWING = READ_RESUMED | READ_PIPE_DRAINED;
-    var READ_ACTIVE_AND_NEEDS_PUSH = READ_ACTIVE | READ_NEEDS_PUSH;
-    var READ_PRIMARY_AND_ACTIVE = READ_PRIMARY | READ_ACTIVE;
-    var READ_EMIT_READABLE_AND_QUEUED = READ_EMIT_READABLE | READ_QUEUED;
-    var READ_RESUMED_READ_AHEAD = READ_RESUMED | READ_READ_AHEAD;
-    var READ_NOT_ACTIVE = MAX ^ READ_ACTIVE;
-    var READ_NON_PRIMARY = MAX ^ READ_PRIMARY;
-    var READ_NON_PRIMARY_AND_PUSHED = MAX ^ (READ_PRIMARY | READ_NEEDS_PUSH);
-    var READ_PUSHED = MAX ^ READ_NEEDS_PUSH;
-    var READ_PAUSED = MAX ^ READ_RESUMED;
-    var READ_NOT_QUEUED = MAX ^ (READ_QUEUED | READ_EMITTED_READABLE);
-    var READ_NOT_ENDING = MAX ^ READ_ENDING;
-    var READ_PIPE_NOT_DRAINED = MAX ^ READ_FLOWING;
-    var READ_NOT_NEXT_TICK = MAX ^ READ_NEXT_TICK;
-    var READ_NOT_UPDATING = MAX ^ READ_UPDATING;
-    var READ_NO_READ_AHEAD = MAX ^ READ_READ_AHEAD;
-    var READ_PAUSED_NO_READ_AHEAD = MAX ^ READ_RESUMED_READ_AHEAD;
-    var WRITE_ACTIVE = 1 << 18;
-    var WRITE_UPDATING = 2 << 18;
-    var WRITE_PRIMARY = 4 << 18;
-    var WRITE_QUEUED = 8 << 18;
-    var WRITE_UNDRAINED = 16 << 18;
-    var WRITE_DONE = 32 << 18;
-    var WRITE_EMIT_DRAIN = 64 << 18;
-    var WRITE_NEXT_TICK = 128 << 18;
-    var WRITE_WRITING = 256 << 18;
-    var WRITE_FINISHING = 512 << 18;
-    var WRITE_CORKED = 1024 << 18;
-    var WRITE_NOT_ACTIVE = MAX ^ (WRITE_ACTIVE | WRITE_WRITING);
-    var WRITE_NON_PRIMARY = MAX ^ WRITE_PRIMARY;
-    var WRITE_NOT_FINISHING = MAX ^ WRITE_FINISHING;
-    var WRITE_DRAINED = MAX ^ WRITE_UNDRAINED;
-    var WRITE_NOT_QUEUED = MAX ^ WRITE_QUEUED;
-    var WRITE_NOT_NEXT_TICK = MAX ^ WRITE_NEXT_TICK;
-    var WRITE_NOT_UPDATING = MAX ^ WRITE_UPDATING;
-    var WRITE_NOT_CORKED = MAX ^ WRITE_CORKED;
-    var ACTIVE = READ_ACTIVE | WRITE_ACTIVE;
-    var NOT_ACTIVE = MAX ^ ACTIVE;
-    var DONE = READ_DONE | WRITE_DONE;
-    var DESTROY_STATUS = DESTROYING | DESTROYED | PREDESTROYING;
-    var OPEN_STATUS = DESTROY_STATUS | OPENING;
-    var AUTO_DESTROY = DESTROY_STATUS | DONE;
-    var NON_PRIMARY = WRITE_NON_PRIMARY & READ_NON_PRIMARY;
-    var ACTIVE_OR_TICKING = WRITE_NEXT_TICK | READ_NEXT_TICK;
-    var TICKING = ACTIVE_OR_TICKING & NOT_ACTIVE;
-    var IS_OPENING = OPEN_STATUS | TICKING;
-    var READ_PRIMARY_STATUS = OPEN_STATUS | READ_ENDING | READ_DONE;
-    var READ_STATUS = OPEN_STATUS | READ_DONE | READ_QUEUED;
-    var READ_ENDING_STATUS = OPEN_STATUS | READ_ENDING | READ_QUEUED;
-    var READ_READABLE_STATUS = OPEN_STATUS | READ_EMIT_READABLE | READ_QUEUED | READ_EMITTED_READABLE;
-    var SHOULD_NOT_READ = OPEN_STATUS | READ_ACTIVE | READ_ENDING | READ_DONE | READ_NEEDS_PUSH | READ_READ_AHEAD;
-    var READ_BACKPRESSURE_STATUS = DESTROY_STATUS | READ_ENDING | READ_DONE;
-    var READ_UPDATE_SYNC_STATUS = READ_UPDATING | OPEN_STATUS | READ_NEXT_TICK | READ_PRIMARY;
-    var WRITE_PRIMARY_STATUS = OPEN_STATUS | WRITE_FINISHING | WRITE_DONE;
-    var WRITE_QUEUED_AND_UNDRAINED = WRITE_QUEUED | WRITE_UNDRAINED;
-    var WRITE_QUEUED_AND_ACTIVE = WRITE_QUEUED | WRITE_ACTIVE;
-    var WRITE_DRAIN_STATUS = WRITE_QUEUED | WRITE_UNDRAINED | OPEN_STATUS | WRITE_ACTIVE;
-    var WRITE_STATUS = OPEN_STATUS | WRITE_ACTIVE | WRITE_QUEUED | WRITE_CORKED;
-    var WRITE_PRIMARY_AND_ACTIVE = WRITE_PRIMARY | WRITE_ACTIVE;
-    var WRITE_ACTIVE_AND_WRITING = WRITE_ACTIVE | WRITE_WRITING;
-    var WRITE_FINISHING_STATUS = OPEN_STATUS | WRITE_FINISHING | WRITE_QUEUED_AND_ACTIVE | WRITE_DONE;
-    var WRITE_BACKPRESSURE_STATUS = WRITE_UNDRAINED | DESTROY_STATUS | WRITE_FINISHING | WRITE_DONE;
-    var WRITE_UPDATE_SYNC_STATUS = WRITE_UPDATING | OPEN_STATUS | WRITE_NEXT_TICK | WRITE_PRIMARY;
-    var asyncIterator = Symbol.asyncIterator || /* @__PURE__ */ Symbol("asyncIterator");
-    var WritableState = class {
-      constructor(stream, { highWaterMark = 16384, map: map2 = null, mapWritable, byteLength, byteLengthWritable } = {}) {
-        this.stream = stream;
-        this.queue = new FIFO();
-        this.highWaterMark = highWaterMark;
-        this.buffered = 0;
-        this.error = null;
-        this.pipeline = null;
-        this.drains = null;
-        this.byteLength = byteLengthWritable || byteLength || defaultByteLength;
-        this.map = mapWritable || map2;
-        this.afterWrite = afterWrite.bind(this);
-        this.afterUpdateNextTick = updateWriteNT.bind(this);
-      }
-      get ended() {
-        return (this.stream._duplexState & WRITE_DONE) !== 0;
-      }
-      push(data) {
-        if (this.map !== null) data = this.map(data);
-        this.buffered += this.byteLength(data);
-        this.queue.push(data);
-        if (this.buffered < this.highWaterMark) {
-          this.stream._duplexState |= WRITE_QUEUED;
-          return true;
-        }
-        this.stream._duplexState |= WRITE_QUEUED_AND_UNDRAINED;
-        return false;
-      }
-      shift() {
-        const data = this.queue.shift();
-        this.buffered -= this.byteLength(data);
-        if (this.buffered === 0) this.stream._duplexState &= WRITE_NOT_QUEUED;
-        return data;
-      }
-      end(data) {
-        if (typeof data === "function") this.stream.once("finish", data);
-        else if (data !== void 0 && data !== null) this.push(data);
-        this.stream._duplexState = (this.stream._duplexState | WRITE_FINISHING) & WRITE_NON_PRIMARY;
-      }
-      autoBatch(data, cb) {
-        const buffer = [];
-        const stream = this.stream;
-        buffer.push(data);
-        while ((stream._duplexState & WRITE_STATUS) === WRITE_QUEUED_AND_ACTIVE) {
-          buffer.push(stream._writableState.shift());
-        }
-        if ((stream._duplexState & OPEN_STATUS) !== 0) return cb(null);
-        stream._writev(buffer, cb);
-      }
-      update() {
-        const stream = this.stream;
-        stream._duplexState |= WRITE_UPDATING;
-        do {
-          while ((stream._duplexState & WRITE_STATUS) === WRITE_QUEUED) {
-            const data = this.shift();
-            stream._duplexState |= WRITE_ACTIVE_AND_WRITING;
-            stream._write(data, this.afterWrite);
-          }
-          if ((stream._duplexState & WRITE_PRIMARY_AND_ACTIVE) === 0) this.updateNonPrimary();
-        } while (this.continueUpdate() === true);
-        stream._duplexState &= WRITE_NOT_UPDATING;
-      }
-      updateNonPrimary() {
-        const stream = this.stream;
-        if ((stream._duplexState & WRITE_FINISHING_STATUS) === WRITE_FINISHING) {
-          stream._duplexState = (stream._duplexState | WRITE_ACTIVE) & WRITE_NOT_FINISHING;
-          stream._final(afterFinal.bind(this));
-          return;
-        }
-        if ((stream._duplexState & DESTROY_STATUS) === DESTROYING) {
-          if ((stream._duplexState & ACTIVE_OR_TICKING) === 0) {
-            stream._duplexState |= ACTIVE;
-            stream._destroy(afterDestroy.bind(this));
-          }
-          return;
-        }
-        if ((stream._duplexState & IS_OPENING) === OPENING) {
-          stream._duplexState = (stream._duplexState | ACTIVE) & NOT_OPENING;
-          stream._open(afterOpen.bind(this));
-        }
-      }
-      continueUpdate() {
-        if ((this.stream._duplexState & WRITE_NEXT_TICK) === 0) return false;
-        this.stream._duplexState &= WRITE_NOT_NEXT_TICK;
-        return true;
-      }
-      updateCallback() {
-        if ((this.stream._duplexState & WRITE_UPDATE_SYNC_STATUS) === WRITE_PRIMARY) this.update();
-        else this.updateNextTick();
-      }
-      updateNextTick() {
-        if ((this.stream._duplexState & WRITE_NEXT_TICK) !== 0) return;
-        this.stream._duplexState |= WRITE_NEXT_TICK;
-        if ((this.stream._duplexState & WRITE_UPDATING) === 0) queueTick(this.afterUpdateNextTick);
-      }
+// node_modules/undici/lib/fileapi/util.js
+var require_util26 = __commonJS({
+  "node_modules/undici/lib/fileapi/util.js"(exports2, module2) {
+    "use strict";
+    var {
+      kState,
+      kError,
+      kResult,
+      kAborted,
+      kLastProgressEventFired
+    } = require_symbols13();
+    var { ProgressEvent } = require_progressevent3();
+    var { getEncoding } = require_encoding3();
+    var { DOMException: DOMException2 } = require_constants20();
+    var { serializeAMimeType, parseMIMEType } = require_dataURL();
+    var { types } = require("util");
+    var { StringDecoder } = require("string_decoder");
+    var { btoa: btoa2 } = require("buffer");
+    var staticPropertyDescriptors = {
+      enumerable: true,
+      writable: false,
+      configurable: false
     };
-    var ReadableState = class {
-      constructor(stream, { highWaterMark = 16384, map: map2 = null, mapReadable, byteLength, byteLengthReadable } = {}) {
-        this.stream = stream;
-        this.queue = new FIFO();
-        this.highWaterMark = highWaterMark === 0 ? 1 : highWaterMark;
-        this.buffered = 0;
-        this.readAhead = highWaterMark > 0;
-        this.error = null;
-        this.pipeline = null;
-        this.byteLength = byteLengthReadable || byteLength || defaultByteLength;
-        this.map = mapReadable || map2;
-        this.pipeTo = null;
-        this.afterRead = afterRead.bind(this);
-        this.afterUpdateNextTick = updateReadNT.bind(this);
-      }
-      get ended() {
-        return (this.stream._duplexState & READ_DONE) !== 0;
-      }
-      pipe(pipeTo, cb) {
-        if (this.pipeTo !== null) throw new Error("Can only pipe to one destination");
-        if (typeof cb !== "function") cb = null;
-        this.stream._duplexState |= READ_PIPE_DRAINED;
-        this.pipeTo = pipeTo;
-        this.pipeline = new Pipeline(this.stream, pipeTo, cb);
-        if (cb) this.stream.on("error", noop3);
-        if (isStreamx(pipeTo)) {
-          pipeTo._writableState.pipeline = this.pipeline;
-          if (cb) pipeTo.on("error", noop3);
-          pipeTo.on("finish", this.pipeline.finished.bind(this.pipeline));
-        } else {
-          const onerror = this.pipeline.done.bind(this.pipeline, pipeTo);
-          const onclose = this.pipeline.done.bind(this.pipeline, pipeTo, null);
-          pipeTo.on("error", onerror);
-          pipeTo.on("close", onclose);
-          pipeTo.on("finish", this.pipeline.finished.bind(this.pipeline));
-        }
-        pipeTo.on("drain", afterDrain.bind(this));
-        this.stream.emit("piping", pipeTo);
-        pipeTo.emit("pipe", this.stream);
+    function readOperation(fr, blob, type2, encodingName) {
+      if (fr[kState] === "loading") {
+        throw new DOMException2("Invalid state", "InvalidStateError");
       }
-      push(data) {
-        const stream = this.stream;
-        if (data === null) {
-          this.highWaterMark = 0;
-          stream._duplexState = (stream._duplexState | READ_ENDING) & READ_NON_PRIMARY_AND_PUSHED;
-          return false;
-        }
-        if (this.map !== null) {
-          data = this.map(data);
-          if (data === null) {
-            stream._duplexState &= READ_PUSHED;
-            return this.buffered < this.highWaterMark;
+      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, type2, blob.type, encodingName);
+                  if (fr[kAborted]) {
+                    return;
+                  }
+                  fr[kResult] = result;
+                  fireAProgressEvent("load", fr);
+                } catch (error3) {
+                  fr[kError] = error3;
+                  fireAProgressEvent("error", fr);
+                }
+                if (fr[kState] !== "loading") {
+                  fireAProgressEvent("loadend", fr);
+                }
+              });
+              break;
+            }
+          } catch (error3) {
+            if (fr[kAborted]) {
+              return;
+            }
+            queueMicrotask(() => {
+              fr[kState] = "done";
+              fr[kError] = error3;
+              fireAProgressEvent("error", fr);
+              if (fr[kState] !== "loading") {
+                fireAProgressEvent("loadend", fr);
+              }
+            });
+            break;
           }
         }
-        this.buffered += this.byteLength(data);
-        this.queue.push(data);
-        stream._duplexState = (stream._duplexState | READ_QUEUED) & READ_PUSHED;
-        return this.buffered < this.highWaterMark;
-      }
-      shift() {
-        const data = this.queue.shift();
-        this.buffered -= this.byteLength(data);
-        if (this.buffered === 0) this.stream._duplexState &= READ_NOT_QUEUED;
-        return data;
-      }
-      unshift(data) {
-        const pending = [this.map !== null ? this.map(data) : data];
-        while (this.buffered > 0) pending.push(this.shift());
-        for (let i = 0; i < pending.length - 1; i++) {
-          const data2 = pending[i];
-          this.buffered += this.byteLength(data2);
-          this.queue.push(data2);
-        }
-        this.push(pending[pending.length - 1]);
-      }
-      read() {
-        const stream = this.stream;
-        if ((stream._duplexState & READ_STATUS) === READ_QUEUED) {
-          const data = this.shift();
-          if (this.pipeTo !== null && this.pipeTo.write(data) === false) stream._duplexState &= READ_PIPE_NOT_DRAINED;
-          if ((stream._duplexState & READ_EMIT_DATA) !== 0) stream.emit("data", data);
-          return data;
-        }
-        if (this.readAhead === false) {
-          stream._duplexState |= READ_READ_AHEAD;
-          this.updateNextTick();
-        }
-        return null;
-      }
-      drain() {
-        const stream = this.stream;
-        while ((stream._duplexState & READ_STATUS) === READ_QUEUED && (stream._duplexState & READ_FLOWING) !== 0) {
-          const data = this.shift();
-          if (this.pipeTo !== null && this.pipeTo.write(data) === false) stream._duplexState &= READ_PIPE_NOT_DRAINED;
-          if ((stream._duplexState & READ_EMIT_DATA) !== 0) stream.emit("data", data);
-        }
-      }
-      update() {
-        const stream = this.stream;
-        stream._duplexState |= READ_UPDATING;
-        do {
-          this.drain();
-          while (this.buffered < this.highWaterMark && (stream._duplexState & SHOULD_NOT_READ) === READ_READ_AHEAD) {
-            stream._duplexState |= READ_ACTIVE_AND_NEEDS_PUSH;
-            stream._read(this.afterRead);
-            this.drain();
+      })();
+    }
+    function fireAProgressEvent(e, reader) {
+      const event = new ProgressEvent(e, {
+        bubbles: false,
+        cancelable: false
+      });
+      reader.dispatchEvent(event);
+    }
+    function packageData(bytes, type2, mimeType, encodingName) {
+      switch (type2) {
+        case "DataURL": {
+          let dataURL = "data:";
+          const parsed = parseMIMEType(mimeType || "application/octet-stream");
+          if (parsed !== "failure") {
+            dataURL += serializeAMimeType(parsed);
           }
-          if ((stream._duplexState & READ_READABLE_STATUS) === READ_EMIT_READABLE_AND_QUEUED) {
-            stream._duplexState |= READ_EMITTED_READABLE;
-            stream.emit("readable");
+          dataURL += ";base64,";
+          const decoder = new StringDecoder("latin1");
+          for (const chunk of bytes) {
+            dataURL += btoa2(decoder.write(chunk));
           }
-          if ((stream._duplexState & READ_PRIMARY_AND_ACTIVE) === 0) this.updateNonPrimary();
-        } while (this.continueUpdate() === true);
-        stream._duplexState &= READ_NOT_UPDATING;
-      }
-      updateNonPrimary() {
-        const stream = this.stream;
-        if ((stream._duplexState & READ_ENDING_STATUS) === READ_ENDING) {
-          stream._duplexState = (stream._duplexState | READ_DONE) & READ_NOT_ENDING;
-          stream.emit("end");
-          if ((stream._duplexState & AUTO_DESTROY) === DONE) stream._duplexState |= DESTROYING;
-          if (this.pipeTo !== null) this.pipeTo.end();
+          dataURL += btoa2(decoder.end());
+          return dataURL;
         }
-        if ((stream._duplexState & DESTROY_STATUS) === DESTROYING) {
-          if ((stream._duplexState & ACTIVE_OR_TICKING) === 0) {
-            stream._duplexState |= ACTIVE;
-            stream._destroy(afterDestroy.bind(this));
+        case "Text": {
+          let encoding = "failure";
+          if (encodingName) {
+            encoding = getEncoding(encodingName);
           }
-          return;
-        }
-        if ((stream._duplexState & IS_OPENING) === OPENING) {
-          stream._duplexState = (stream._duplexState | ACTIVE) & NOT_OPENING;
-          stream._open(afterOpen.bind(this));
-        }
-      }
-      continueUpdate() {
-        if ((this.stream._duplexState & READ_NEXT_TICK) === 0) return false;
-        this.stream._duplexState &= READ_NOT_NEXT_TICK;
-        return true;
-      }
-      updateCallback() {
-        if ((this.stream._duplexState & READ_UPDATE_SYNC_STATUS) === READ_PRIMARY) this.update();
-        else this.updateNextTick();
-      }
-      updateNextTick() {
-        if ((this.stream._duplexState & READ_NEXT_TICK) !== 0) return;
-        this.stream._duplexState |= READ_NEXT_TICK;
-        if ((this.stream._duplexState & READ_UPDATING) === 0) queueTick(this.afterUpdateNextTick);
-      }
-    };
-    var TransformState = class {
-      constructor(stream) {
-        this.data = null;
-        this.afterTransform = afterTransform.bind(stream);
-        this.afterFinal = null;
-      }
-    };
-    var Pipeline = class {
-      constructor(src, dst, cb) {
-        this.from = src;
-        this.to = dst;
-        this.afterPipe = cb;
-        this.error = null;
-        this.pipeToFinished = false;
-      }
-      finished() {
-        this.pipeToFinished = true;
-      }
-      done(stream, err) {
-        if (err) this.error = err;
-        if (stream === this.to) {
-          this.to = null;
-          if (this.from !== null) {
-            if ((this.from._duplexState & READ_DONE) === 0 || !this.pipeToFinished) {
-              this.from.destroy(this.error || new Error("Writable stream closed prematurely"));
+          if (encoding === "failure" && mimeType) {
+            const type3 = parseMIMEType(mimeType);
+            if (type3 !== "failure") {
+              encoding = getEncoding(type3.parameters.get("charset"));
             }
-            return;
           }
+          if (encoding === "failure") {
+            encoding = "UTF-8";
+          }
+          return decode(bytes, encoding);
         }
-        if (stream === this.from) {
-          this.from = null;
-          if (this.to !== null) {
-            if ((stream._duplexState & READ_DONE) === 0) {
-              this.to.destroy(this.error || new Error("Readable stream closed before ending"));
-            }
-            return;
+        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;
         }
-        if (this.afterPipe !== null) this.afterPipe(this.error);
-        this.to = this.from = this.afterPipe = null;
-      }
-    };
-    function afterDrain() {
-      this.stream._duplexState |= READ_PIPE_DRAINED;
-      this.updateCallback();
-    }
-    function afterFinal(err) {
-      const stream = this.stream;
-      if (err) stream.destroy(err);
-      if ((stream._duplexState & DESTROY_STATUS) === 0) {
-        stream._duplexState |= WRITE_DONE;
-        stream.emit("finish");
-      }
-      if ((stream._duplexState & AUTO_DESTROY) === DONE) {
-        stream._duplexState |= DESTROYING;
       }
-      stream._duplexState &= WRITE_NOT_ACTIVE;
-      if ((stream._duplexState & WRITE_UPDATING) === 0) this.update();
-      else this.updateNextTick();
     }
-    function afterDestroy(err) {
-      const stream = this.stream;
-      if (!err && this.error !== STREAM_DESTROYED) err = this.error;
-      if (err) stream.emit("error", err);
-      stream._duplexState |= DESTROYED;
-      stream.emit("close");
-      const rs = stream._readableState;
-      const ws = stream._writableState;
-      if (rs !== null && rs.pipeline !== null) rs.pipeline.done(stream, err);
-      if (ws !== null) {
-        while (ws.drains !== null && ws.drains.length > 0) ws.drains.shift().resolve(false);
-        if (ws.pipeline !== null) ws.pipeline.done(stream, err);
+    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 afterWrite(err) {
-      const stream = this.stream;
-      if (err) stream.destroy(err);
-      stream._duplexState &= WRITE_NOT_ACTIVE;
-      if (this.drains !== null) tickDrains(this.drains);
-      if ((stream._duplexState & WRITE_DRAIN_STATUS) === WRITE_UNDRAINED) {
-        stream._duplexState &= WRITE_DRAINED;
-        if ((stream._duplexState & WRITE_EMIT_DRAIN) === WRITE_EMIT_DRAIN) {
-          stream.emit("drain");
-        }
+    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";
       }
-      this.updateCallback();
-    }
-    function afterRead(err) {
-      if (err) this.stream.destroy(err);
-      this.stream._duplexState &= READ_NOT_ACTIVE;
-      if (this.readAhead === false && (this.stream._duplexState & READ_RESUMED) === 0) this.stream._duplexState &= READ_NO_READ_AHEAD;
-      this.updateCallback();
+      return null;
     }
-    function updateReadNT() {
-      if ((this.stream._duplexState & READ_UPDATING) === 0) {
-        this.stream._duplexState &= READ_NOT_NEXT_TICK;
-        this.update();
-      }
+    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));
     }
-    function updateWriteNT() {
-      if ((this.stream._duplexState & WRITE_UPDATING) === 0) {
-        this.stream._duplexState &= WRITE_NOT_NEXT_TICK;
-        this.update();
+    module2.exports = {
+      staticPropertyDescriptors,
+      readOperation,
+      fireAProgressEvent
+    };
+  }
+});
+
+// node_modules/undici/lib/fileapi/filereader.js
+var require_filereader3 = __commonJS({
+  "node_modules/undici/lib/fileapi/filereader.js"(exports2, module2) {
+    "use strict";
+    var {
+      staticPropertyDescriptors,
+      readOperation,
+      fireAProgressEvent
+    } = require_util26();
+    var {
+      kState,
+      kError,
+      kResult,
+      kEvents,
+      kAborted
+    } = require_symbols13();
+    var { webidl } = require_webidl3();
+    var { kEnumerableProperty } = require_util23();
+    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
+        };
       }
-    }
-    function tickDrains(drains) {
-      for (let i = 0; i < drains.length; i++) {
-        if (--drains[i].writes === 0) {
-          drains.shift().resolve(true);
-          i--;
-        }
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-readAsArrayBuffer
+       * @param {import('buffer').Blob} blob
+       */
+      readAsArrayBuffer(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsArrayBuffer" });
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "ArrayBuffer");
       }
-    }
-    function afterOpen(err) {
-      const stream = this.stream;
-      if (err) stream.destroy(err);
-      if ((stream._duplexState & DESTROYING) === 0) {
-        if ((stream._duplexState & READ_PRIMARY_STATUS) === 0) stream._duplexState |= READ_PRIMARY;
-        if ((stream._duplexState & WRITE_PRIMARY_STATUS) === 0) stream._duplexState |= WRITE_PRIMARY;
-        stream.emit("open");
+      /**
+       * @see https://w3c.github.io/FileAPI/#readAsBinaryString
+       * @param {import('buffer').Blob} blob
+       */
+      readAsBinaryString(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsBinaryString" });
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "BinaryString");
       }
-      stream._duplexState &= NOT_ACTIVE;
-      if (stream._writableState !== null) {
-        stream._writableState.updateCallback();
+      /**
+       * @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, { header: "FileReader.readAsText" });
+        blob = webidl.converters.Blob(blob, { strict: false });
+        if (encoding !== void 0) {
+          encoding = webidl.converters.DOMString(encoding);
+        }
+        readOperation(this, blob, "Text", encoding);
       }
-      if (stream._readableState !== null) {
-        stream._readableState.updateCallback();
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-readAsDataURL
+       * @param {import('buffer').Blob} blob
+       */
+      readAsDataURL(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsDataURL" });
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "DataURL");
       }
-    }
-    function afterTransform(err, data) {
-      if (data !== void 0 && data !== null) this.push(data);
-      this._writableState.afterWrite(err);
-    }
-    function newListener(name) {
-      if (this._readableState !== null) {
-        if (name === "data") {
-          this._duplexState |= READ_EMIT_DATA | READ_RESUMED_READ_AHEAD;
-          this._readableState.updateNextTick();
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-abort
+       */
+      abort() {
+        if (this[kState] === "empty" || this[kState] === "done") {
+          this[kResult] = null;
+          return;
         }
-        if (name === "readable") {
-          this._duplexState |= READ_EMIT_READABLE;
-          this._readableState.updateNextTick();
+        if (this[kState] === "loading") {
+          this[kState] = "done";
+          this[kResult] = null;
         }
-      }
-      if (this._writableState !== null) {
-        if (name === "drain") {
-          this._duplexState |= WRITE_EMIT_DRAIN;
-          this._writableState.updateNextTick();
+        this[kAborted] = true;
+        fireAProgressEvent("abort", this);
+        if (this[kState] !== "loading") {
+          fireAProgressEvent("loadend", this);
         }
       }
-    }
-    var Stream = class extends EventEmitter {
-      constructor(opts) {
-        super();
-        this._duplexState = 0;
-        this._readableState = null;
-        this._writableState = null;
-        if (opts) {
-          if (opts.open) this._open = opts.open;
-          if (opts.destroy) this._destroy = opts.destroy;
-          if (opts.predestroy) this._predestroy = opts.predestroy;
-          if (opts.signal) {
-            opts.signal.addEventListener("abort", abort.bind(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;
         }
-        this.on("newListener", newListener);
       }
-      _open(cb) {
-        cb(null);
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-result
+       */
+      get result() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kResult];
       }
-      _destroy(cb) {
-        cb(null);
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-error
+       */
+      get error() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kError];
       }
-      _predestroy() {
+      get onloadend() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].loadend;
       }
-      get readable() {
-        return this._readableState !== null ? true : void 0;
+      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 writable() {
-        return this._writableState !== null ? true : void 0;
+      get onerror() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].error;
       }
-      get destroyed() {
-        return (this._duplexState & DESTROYED) !== 0;
+      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 destroying() {
-        return (this._duplexState & DESTROY_STATUS) !== 0;
+      get onloadstart() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].loadstart;
       }
-      destroy(err) {
-        if ((this._duplexState & DESTROY_STATUS) === 0) {
-          if (!err) err = STREAM_DESTROYED;
-          this._duplexState = (this._duplexState | DESTROYING) & NON_PRIMARY;
-          if (this._readableState !== null) {
-            this._readableState.highWaterMark = 0;
-            this._readableState.error = err;
-          }
-          if (this._writableState !== null) {
-            this._writableState.highWaterMark = 0;
-            this._writableState.error = err;
-          }
-          this._duplexState |= PREDESTROYING;
-          this._predestroy();
-          this._duplexState &= NOT_PREDESTROYING;
-          if (this._readableState !== null) this._readableState.updateNextTick();
-          if (this._writableState !== null) this._writableState.updateNextTick();
+      set onloadstart(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].loadstart) {
+          this.removeEventListener("loadstart", this[kEvents].loadstart);
         }
-      }
-    };
-    var Readable = class _Readable extends Stream {
-      constructor(opts) {
-        super(opts);
-        this._duplexState |= OPENING | WRITE_DONE | READ_READ_AHEAD;
-        this._readableState = new ReadableState(this, opts);
-        if (opts) {
-          if (this._readableState.readAhead === false) this._duplexState &= READ_NO_READ_AHEAD;
-          if (opts.read) this._read = opts.read;
-          if (opts.eagerOpen) this._readableState.updateNextTick();
-          if (opts.encoding) this.setEncoding(opts.encoding);
+        if (typeof fn === "function") {
+          this[kEvents].loadstart = fn;
+          this.addEventListener("loadstart", fn);
+        } else {
+          this[kEvents].loadstart = null;
         }
       }
-      setEncoding(encoding) {
-        const dec = new TextDecoder2(encoding);
-        const map2 = this._readableState.map || echo;
-        this._readableState.map = mapOrSkip;
-        return this;
-        function mapOrSkip(data) {
-          const next = dec.push(data);
-          return next === "" && (data.byteLength !== 0 || dec.remaining > 0) ? null : map2(next);
+      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;
         }
       }
-      _read(cb) {
-        cb(null);
+      get onload() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].load;
       }
-      pipe(dest, cb) {
-        this._readableState.updateNextTick();
-        this._readableState.pipe(dest, cb);
-        return dest;
+      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;
+        }
       }
-      read() {
-        this._readableState.updateNextTick();
-        return this._readableState.read();
+      get onabort() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].abort;
       }
-      push(data) {
-        this._readableState.updateNextTick();
-        return this._readableState.push(data);
+      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;
+        }
       }
-      unshift(data) {
-        this._readableState.updateNextTick();
-        return this._readableState.unshift(data);
+    };
+    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
       }
-      resume() {
-        this._duplexState |= READ_RESUMED_READ_AHEAD;
-        this._readableState.updateNextTick();
-        return this;
+    });
+    Object.defineProperties(FileReader, {
+      EMPTY: staticPropertyDescriptors,
+      LOADING: staticPropertyDescriptors,
+      DONE: staticPropertyDescriptors
+    });
+    module2.exports = {
+      FileReader
+    };
+  }
+});
+
+// node_modules/undici/lib/cache/symbols.js
+var require_symbols14 = __commonJS({
+  "node_modules/undici/lib/cache/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kConstruct: require_symbols11().kConstruct
+    };
+  }
+});
+
+// node_modules/undici/lib/cache/util.js
+var require_util27 = __commonJS({
+  "node_modules/undici/lib/cache/util.js"(exports2, module2) {
+    "use strict";
+    var assert = require("assert");
+    var { URLSerializer } = require_dataURL();
+    var { isValidHeaderName } = require_util24();
+    function urlEquals(A, B, excludeFragment = false) {
+      const serializedA = URLSerializer(A, excludeFragment);
+      const serializedB = URLSerializer(B, excludeFragment);
+      return serializedA === serializedB;
+    }
+    function fieldValues(header) {
+      assert(header !== null);
+      const values = [];
+      for (let value of header.split(",")) {
+        value = value.trim();
+        if (!value.length) {
+          continue;
+        } else if (!isValidHeaderName(value)) {
+          continue;
+        }
+        values.push(value);
+      }
+      return values;
+    }
+    module2.exports = {
+      urlEquals,
+      fieldValues
+    };
+  }
+});
+
+// node_modules/undici/lib/cache/cache.js
+var require_cache4 = __commonJS({
+  "node_modules/undici/lib/cache/cache.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols14();
+    var { urlEquals, fieldValues: getFieldValues } = require_util27();
+    var { kEnumerableProperty, isDisturbed } = require_util23();
+    var { kHeadersList } = require_symbols11();
+    var { webidl } = require_webidl3();
+    var { Response, cloneResponse } = require_response4();
+    var { Request } = require_request6();
+    var { kState, kHeaders, kGuard, kRealm } = require_symbols12();
+    var { fetching } = require_fetch3();
+    var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util24();
+    var assert = require("assert");
+    var { getGlobalDispatcher } = require_global6();
+    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();
+        }
+        this.#relevantRequestResponseList = arguments[1];
       }
-      pause() {
-        this._duplexState &= this._readableState.readAhead === false ? READ_PAUSED_NO_READ_AHEAD : READ_PAUSED;
-        return this;
+      async match(request2, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.match" });
+        request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.CacheQueryOptions(options);
+        const p = await this.matchAll(request2, options);
+        if (p.length === 0) {
+          return;
+        }
+        return p[0];
       }
-      static _fromAsyncIterator(ite, opts) {
-        let destroy;
-        const rs = new _Readable({
-          ...opts,
-          read(cb) {
-            ite.next().then(push).then(cb.bind(null, null)).catch(cb);
-          },
-          predestroy() {
-            destroy = ite.return();
-          },
-          destroy(cb) {
-            if (!destroy) return cb(null);
-            destroy.then(cb.bind(null, null)).catch(cb);
+      async matchAll(request2 = void 0, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.CacheQueryOptions(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];
           }
-        });
-        return rs;
-        function push(data) {
-          if (data.done) rs.push(null);
-          else rs.push(data.value);
         }
-      }
-      static from(data, opts) {
-        if (isReadStreamx(data)) return data;
-        if (data[asyncIterator]) return this._fromAsyncIterator(data[asyncIterator](), opts);
-        if (!Array.isArray(data)) data = data === void 0 ? [] : [data];
-        let i = 0;
-        return new _Readable({
-          ...opts,
-          read(cb) {
-            this.push(i === data.length ? null : data[i++]);
-            cb(null);
+        const responses = [];
+        if (request2 === void 0) {
+          for (const requestResponse of this.#relevantRequestResponseList) {
+            responses.push(requestResponse[1]);
           }
-        });
-      }
-      static isBackpressured(rs) {
-        return (rs._duplexState & READ_BACKPRESSURE_STATUS) !== 0 || rs._readableState.buffered >= rs._readableState.highWaterMark;
+        } 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 = new Response(response.body?.source ?? null);
+          const body = responseObject[kState].body;
+          responseObject[kState] = response;
+          responseObject[kState].body = body;
+          responseObject[kHeaders][kHeadersList] = response.headersList;
+          responseObject[kHeaders][kGuard] = "immutable";
+          responseList.push(responseObject);
+        }
+        return Object.freeze(responseList);
       }
-      static isPaused(rs) {
-        return (rs._duplexState & READ_RESUMED) === 0;
+      async add(request2) {
+        webidl.brandCheck(this, _Cache);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.add" });
+        request2 = webidl.converters.RequestInfo(request2);
+        const requests = [request2];
+        const responseArrayPromise = this.addAll(requests);
+        return await responseArrayPromise;
       }
-      [asyncIterator]() {
-        const stream = this;
-        let error3 = null;
-        let promiseResolve = null;
-        let promiseReject = null;
-        this.on("error", (err) => {
-          error3 = err;
-        });
-        this.on("readable", onreadable);
-        this.on("close", onclose);
-        return {
-          [asyncIterator]() {
-            return this;
-          },
-          next() {
-            return new Promise(function(resolve2, reject) {
-              promiseResolve = resolve2;
-              promiseReject = reject;
-              const data = stream.read();
-              if (data !== null) ondata(data);
-              else if ((stream._duplexState & DESTROYED) !== 0) ondata(null);
+      async addAll(requests) {
+        webidl.brandCheck(this, _Cache);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.addAll" });
+        requests = webidl.converters["sequence"](requests);
+        const responsePromises = [];
+        const requestList = [];
+        for (const request2 of requests) {
+          if (typeof request2 === "string") {
+            continue;
+          }
+          const r = request2[kState];
+          if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") {
+            throw webidl.errors.exception({
+              header: "Cache.addAll",
+              message: "Expected http/s scheme when method is not GET."
             });
-          },
-          return() {
-            return destroy(null);
-          },
-          throw(err) {
-            return destroy(err);
           }
-        };
-        function onreadable() {
-          if (promiseResolve !== null) ondata(stream.read());
-        }
-        function onclose() {
-          if (promiseResolve !== null) ondata(null);
-        }
-        function ondata(data) {
-          if (promiseReject === null) return;
-          if (error3) promiseReject(error3);
-          else if (data === null && (stream._duplexState & READ_DONE) === 0) promiseReject(STREAM_DESTROYED);
-          else promiseResolve({ value: data, done: data === null });
-          promiseReject = promiseResolve = null;
         }
-        function destroy(err) {
-          stream.destroy(err);
-          return new Promise((resolve2, reject) => {
-            if (stream._duplexState & DESTROYED) return resolve2({ value: void 0, done: true });
-            stream.once("close", function() {
-              if (err) reject(err);
-              else resolve2({ value: void 0, done: true });
+        const fetchControllers = [];
+        for (const request2 of requests) {
+          const r = new Request(request2)[kState];
+          if (!urlIsHttpHttpsScheme(r.url)) {
+            throw webidl.errors.exception({
+              header: "Cache.addAll",
+              message: "Expected http/s scheme."
             });
-          });
+          }
+          r.initiator = "fetch";
+          r.destination = "subresource";
+          requestList.push(r);
+          const responsePromise = createDeferredPromise();
+          fetchControllers.push(fetching({
+            request: r,
+            dispatcher: getGlobalDispatcher(),
+            processResponse(response) {
+              if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) {
+                responsePromise.reject(webidl.errors.exception({
+                  header: "Cache.addAll",
+                  message: "Received an invalid status code or the request failed."
+                }));
+              } else if (response.headersList.contains("vary")) {
+                const fieldValues = getFieldValues(response.headersList.get("vary"));
+                for (const fieldValue of fieldValues) {
+                  if (fieldValue === "*") {
+                    responsePromise.reject(webidl.errors.exception({
+                      header: "Cache.addAll",
+                      message: "invalid vary field value"
+                    }));
+                    for (const controller of fetchControllers) {
+                      controller.abort();
+                    }
+                    return;
+                  }
+                }
+              }
+            },
+            processResponseEndOfBody(response) {
+              if (response.aborted) {
+                responsePromise.reject(new DOMException("aborted", "AbortError"));
+                return;
+              }
+              responsePromise.resolve(response);
+            }
+          }));
+          responsePromises.push(responsePromise.promise);
         }
-      }
-    };
-    var Writable = class extends Stream {
-      constructor(opts) {
-        super(opts);
-        this._duplexState |= OPENING | READ_DONE;
-        this._writableState = new WritableState(this, opts);
-        if (opts) {
-          if (opts.writev) this._writev = opts.writev;
-          if (opts.write) this._write = opts.write;
-          if (opts.final) this._final = opts.final;
-          if (opts.eagerOpen) this._writableState.updateNextTick();
+        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++;
         }
-      }
-      cork() {
-        this._duplexState |= WRITE_CORKED;
-      }
-      uncork() {
-        this._duplexState &= WRITE_NOT_CORKED;
-        this._writableState.updateNextTick();
-      }
-      _writev(batch, cb) {
-        cb(null);
-      }
-      _write(data, cb) {
-        this._writableState.autoBatch(data, cb);
-      }
-      _final(cb) {
-        cb(null);
-      }
-      static isBackpressured(ws) {
-        return (ws._duplexState & WRITE_BACKPRESSURE_STATUS) !== 0;
-      }
-      static drained(ws) {
-        if (ws.destroyed) return Promise.resolve(false);
-        const state = ws._writableState;
-        const pending = isWritev(ws) ? Math.min(1, state.queue.length) : state.queue.length;
-        const writes = pending + (ws._duplexState & WRITE_WRITING ? 1 : 0);
-        if (writes === 0) return Promise.resolve(true);
-        if (state.drains === null) state.drains = [];
-        return new Promise((resolve2) => {
-          state.drains.push({ writes, resolve: resolve2 });
+        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;
       }
-      write(data) {
-        this._writableState.updateNextTick();
-        return this._writableState.push(data);
-      }
-      end(data) {
-        this._writableState.updateNextTick();
-        this._writableState.end(data);
-        return this;
-      }
-    };
-    var Duplex = class extends Readable {
-      // and Writable
-      constructor(opts) {
-        super(opts);
-        this._duplexState = OPENING | this._duplexState & READ_READ_AHEAD;
-        this._writableState = new WritableState(this, opts);
-        if (opts) {
-          if (opts.writev) this._writev = opts.writev;
-          if (opts.write) this._write = opts.write;
-          if (opts.final) this._final = opts.final;
+      async put(request2, response) {
+        webidl.brandCheck(this, _Cache);
+        webidl.argumentLengthCheck(arguments, 2, { header: "Cache.put" });
+        request2 = webidl.converters.RequestInfo(request2);
+        response = webidl.converters.Response(response);
+        let innerRequest = null;
+        if (request2 instanceof Request) {
+          innerRequest = request2[kState];
+        } else {
+          innerRequest = new Request(request2)[kState];
         }
-      }
-      cork() {
-        this._duplexState |= WRITE_CORKED;
-      }
-      uncork() {
-        this._duplexState &= WRITE_NOT_CORKED;
-        this._writableState.updateNextTick();
-      }
-      _writev(batch, cb) {
-        cb(null);
-      }
-      _write(data, cb) {
-        this._writableState.autoBatch(data, cb);
-      }
-      _final(cb) {
-        cb(null);
-      }
-      write(data) {
-        this._writableState.updateNextTick();
-        return this._writableState.push(data);
-      }
-      end(data) {
-        this._writableState.updateNextTick();
-        this._writableState.end(data);
-        return this;
-      }
-    };
-    var Transform = class extends Duplex {
-      constructor(opts) {
-        super(opts);
-        this._transformState = new TransformState(this);
-        if (opts) {
-          if (opts.transform) this._transform = opts.transform;
-          if (opts.flush) this._flush = opts.flush;
+        if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") {
+          throw webidl.errors.exception({
+            header: "Cache.put",
+            message: "Expected an http/s scheme when method is not GET"
+          });
         }
-      }
-      _write(data, cb) {
-        if (this._readableState.buffered >= this._readableState.highWaterMark) {
-          this._transformState.data = data;
+        const innerResponse = response[kState];
+        if (innerResponse.status === 206) {
+          throw webidl.errors.exception({
+            header: "Cache.put",
+            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: "Cache.put",
+                message: "Got * vary field value"
+              });
+            }
+          }
+        }
+        if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {
+          throw webidl.errors.exception({
+            header: "Cache.put",
+            message: "Response body is locked or disturbed"
+          });
+        }
+        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 {
-          this._transform(data, this._transformState.afterTransform);
+          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;
       }
-      _read(cb) {
-        if (this._transformState.data !== null) {
-          const data = this._transformState.data;
-          this._transformState.data = null;
-          cb(null);
-          this._transform(data, this._transformState.afterTransform);
+      async delete(request2, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.delete" });
+        request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.CacheQueryOptions(options);
+        let r = null;
+        if (request2 instanceof Request) {
+          r = request2[kState];
+          if (r.method !== "GET" && !options.ignoreMethod) {
+            return false;
+          }
         } else {
-          cb(null);
+          assert(typeof request2 === "string");
+          r = new Request(request2)[kState];
         }
-      }
-      destroy(err) {
-        super.destroy(err);
-        if (this._transformState.data !== null) {
-          this._transformState.data = null;
-          this._transformState.afterTransform();
+        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;
         }
-      }
-      _transform(data, cb) {
-        cb(null, data);
-      }
-      _flush(cb) {
-        cb(null);
-      }
-      _final(cb) {
-        this._transformState.afterFinal = cb;
-        this._flush(transformAfterFlush.bind(this));
-      }
-    };
-    var PassThrough = class extends Transform {
-    };
-    function transformAfterFlush(err, data) {
-      const cb = this._transformState.afterFinal;
-      if (err) return cb(err);
-      if (data !== null && data !== void 0) this.push(data);
-      this.push(null);
-      cb(null);
-    }
-    function pipelinePromise(...streams) {
-      return new Promise((resolve2, reject) => {
-        return pipeline(...streams, (err) => {
-          if (err) return reject(err);
-          resolve2();
+        queueMicrotask(() => {
+          if (errorData === null) {
+            cacheJobPromise.resolve(!!requestResponses?.length);
+          } else {
+            cacheJobPromise.reject(errorData);
+          }
         });
-      });
-    }
-    function pipeline(stream, ...streams) {
-      const all = Array.isArray(stream) ? [...stream, ...streams] : [stream, ...streams];
-      const done = all.length && typeof all[all.length - 1] === "function" ? all.pop() : null;
-      if (all.length < 2) throw new Error("Pipeline requires at least 2 streams");
-      let src = all[0];
-      let dest = null;
-      let error3 = null;
-      for (let i = 1; i < all.length; i++) {
-        dest = all[i];
-        if (isStreamx(src)) {
-          src.pipe(dest, onerror);
+        return cacheJobPromise.promise;
+      }
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys
+       * @param {any} request
+       * @param {import('../../types/cache').CacheQueryOptions} options
+       * @returns {readonly Request[]}
+       */
+      async keys(request2 = void 0, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.CacheQueryOptions(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 {
-          errorHandle(src, true, i > 1, onerror);
-          src.pipe(dest);
+          const requestResponses = this.#queryCache(r, options);
+          for (const requestResponse of requestResponses) {
+            requests.push(requestResponse[0]);
+          }
         }
-        src = dest;
-      }
-      if (done) {
-        let fin = false;
-        const autoDestroy = isStreamx(dest) || !!(dest._writableState && dest._writableState.autoDestroy);
-        dest.on("error", (err) => {
-          if (error3 === null) error3 = err;
-        });
-        dest.on("finish", () => {
-          fin = true;
-          if (!autoDestroy) done(error3);
+        queueMicrotask(() => {
+          const requestList = [];
+          for (const request3 of requests) {
+            const requestObject = new Request("https://a");
+            requestObject[kState] = request3;
+            requestObject[kHeaders][kHeadersList] = request3.headersList;
+            requestObject[kHeaders][kGuard] = "immutable";
+            requestObject[kRealm] = request3.client;
+            requestList.push(requestObject);
+          }
+          promise.resolve(Object.freeze(requestList));
         });
-        if (autoDestroy) {
-          dest.on("close", () => done(error3 || (fin ? null : PREMATURE_CLOSE)));
-        }
+        return promise.promise;
       }
-      return dest;
-      function errorHandle(s, rd, wr, onerror2) {
-        s.on("error", onerror2);
-        s.on("close", onclose);
-        function onclose() {
-          if (rd && s._readableState && !s._readableState.ended) return onerror2(PREMATURE_CLOSE);
-          if (wr && s._writableState && !s._writableState.ended) return onerror2(PREMATURE_CLOSE);
+      /**
+       * @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;
         }
       }
-      function onerror(err) {
-        if (!err || error3) return;
-        error3 = err;
-        for (const s of all) {
-          s.destroy(err);
+      /**
+       * @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;
       }
-    }
-    function echo(s) {
-      return s;
-    }
-    function isStream(stream) {
-      return !!stream._readableState || !!stream._writableState;
-    }
-    function isStreamx(stream) {
-      return typeof stream._duplexState === "number" && isStream(stream);
-    }
-    function isEnded(stream) {
-      return !!stream._readableState && stream._readableState.ended;
-    }
-    function isFinished(stream) {
-      return !!stream._writableState && stream._writableState.ended;
-    }
-    function getStreamError(stream, opts = {}) {
-      const err = stream._readableState && stream._readableState.error || stream._writableState && stream._writableState.error;
-      return !opts.all && err === STREAM_DESTROYED ? null : err;
-    }
-    function isReadStreamx(stream) {
-      return isStreamx(stream) && stream.readable;
-    }
-    function isTypedArray(data) {
-      return typeof data === "object" && data !== null && typeof data.byteLength === "number";
-    }
-    function defaultByteLength(data) {
-      return isTypedArray(data) ? data.byteLength : 1024;
-    }
-    function noop3() {
-    }
-    function abort() {
-      this.destroy(new Error("Stream aborted."));
-    }
-    function isWritev(s) {
-      return s._writev !== Writable.prototype._writev && s._writev !== Duplex.prototype._writev;
-    }
-    module2.exports = {
-      pipeline,
-      pipelinePromise,
-      isStream,
-      isStreamx,
-      isEnded,
-      isFinished,
-      getStreamError,
-      Stream,
-      Writable,
-      Readable,
-      Duplex,
-      Transform,
-      // Export PassThrough for compatibility with Node.js core's stream module
-      PassThrough
-    };
-  }
-});
-
-// node_modules/tar-stream/headers.js
-var require_headers3 = __commonJS({
-  "node_modules/tar-stream/headers.js"(exports2) {
-    var b4a = require_b4a();
-    var ZEROS = "0000000000000000000";
-    var SEVENS = "7777777777777777777";
-    var ZERO_OFFSET = "0".charCodeAt(0);
-    var USTAR_MAGIC = b4a.from([117, 115, 116, 97, 114, 0]);
-    var USTAR_VER = b4a.from([ZERO_OFFSET, ZERO_OFFSET]);
-    var GNU_MAGIC = b4a.from([117, 115, 116, 97, 114, 32]);
-    var GNU_VER = b4a.from([32, 0]);
-    var MASK = 4095;
-    var MAGIC_OFFSET = 257;
-    var VERSION_OFFSET = 263;
-    exports2.decodeLongPath = function decodeLongPath(buf, encoding) {
-      return decodeStr(buf, 0, buf.length, encoding);
-    };
-    exports2.encodePax = function encodePax(opts) {
-      let result = "";
-      if (opts.name) result += addLength(" path=" + opts.name + "\n");
-      if (opts.linkname) result += addLength(" linkpath=" + opts.linkname + "\n");
-      const pax = opts.pax;
-      if (pax) {
-        for (const key in pax) {
-          result += addLength(" " + key + "=" + pax[key] + "\n");
+      /**
+       * @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 = "";
         }
-      }
-      return b4a.from(result);
-    };
-    exports2.decodePax = function decodePax(buf) {
-      const result = {};
-      while (buf.length) {
-        let i = 0;
-        while (i < buf.length && buf[i] !== 32) i++;
-        const len = parseInt(b4a.toString(buf.subarray(0, i)), 10);
-        if (!len) return result;
-        const b = b4a.toString(buf.subarray(i + 1, len - 1));
-        const keyIndex = b.indexOf("=");
-        if (keyIndex === -1) return result;
-        result[b.slice(0, keyIndex)] = b.slice(keyIndex + 1);
-        buf = buf.subarray(len);
-      }
-      return result;
-    };
-    exports2.encode = function encode(opts) {
-      const buf = b4a.alloc(512);
-      let name = opts.name;
-      let prefix = "";
-      if (opts.typeflag === 5 && name[name.length - 1] !== "/") name += "/";
-      if (b4a.byteLength(name) !== name.length) return null;
-      while (b4a.byteLength(name) > 100) {
-        const i = name.indexOf("/");
-        if (i === -1) return null;
-        prefix += prefix ? "/" + name.slice(0, i) : name.slice(0, i);
-        name = name.slice(i + 1);
-      }
-      if (b4a.byteLength(name) > 100 || b4a.byteLength(prefix) > 155) return null;
-      if (opts.linkname && b4a.byteLength(opts.linkname) > 100) return null;
-      b4a.write(buf, name);
-      b4a.write(buf, encodeOct(opts.mode & MASK, 6), 100);
-      b4a.write(buf, encodeOct(opts.uid, 6), 108);
-      b4a.write(buf, encodeOct(opts.gid, 6), 116);
-      encodeSize(opts.size, buf, 124);
-      b4a.write(buf, encodeOct(opts.mtime.getTime() / 1e3 | 0, 11), 136);
-      buf[156] = ZERO_OFFSET + toTypeflag(opts.type);
-      if (opts.linkname) b4a.write(buf, opts.linkname, 157);
-      b4a.copy(USTAR_MAGIC, buf, MAGIC_OFFSET);
-      b4a.copy(USTAR_VER, buf, VERSION_OFFSET);
-      if (opts.uname) b4a.write(buf, opts.uname, 265);
-      if (opts.gname) b4a.write(buf, opts.gname, 297);
-      b4a.write(buf, encodeOct(opts.devmajor || 0, 6), 329);
-      b4a.write(buf, encodeOct(opts.devminor || 0, 6), 337);
-      if (prefix) b4a.write(buf, prefix, 345);
-      b4a.write(buf, encodeOct(cksum(buf), 6), 148);
-      return buf;
-    };
-    exports2.decode = function decode(buf, filenameEncoding, allowUnknownFormat) {
-      let typeflag = buf[156] === 0 ? 0 : buf[156] - ZERO_OFFSET;
-      let name = decodeStr(buf, 0, 100, filenameEncoding);
-      const mode = decodeOct(buf, 100, 8);
-      const uid = decodeOct(buf, 108, 8);
-      const gid = decodeOct(buf, 116, 8);
-      const size = decodeOct(buf, 124, 12);
-      const mtime = decodeOct(buf, 136, 12);
-      const type2 = toType(typeflag);
-      const linkname = buf[157] === 0 ? null : decodeStr(buf, 157, 100, filenameEncoding);
-      const uname = decodeStr(buf, 265, 32);
-      const gname = decodeStr(buf, 297, 32);
-      const devmajor = decodeOct(buf, 329, 8);
-      const devminor = decodeOct(buf, 337, 8);
-      const c = cksum(buf);
-      if (c === 8 * 32) return null;
-      if (c !== decodeOct(buf, 148, 8)) throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");
-      if (isUSTAR(buf)) {
-        if (buf[345]) name = decodeStr(buf, 345, 155, filenameEncoding) + "/" + name;
-      } else if (isGNU(buf)) {
-      } else {
-        if (!allowUnknownFormat) {
-          throw new Error("Invalid tar header: unknown format.");
+        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;
       }
-      if (typeflag === 0 && name && name[name.length - 1] === "/") typeflag = 5;
-      return {
-        name,
-        mode,
-        uid,
-        gid,
-        size,
-        mtime: new Date(1e3 * mtime),
-        type: type2,
-        linkname,
-        uname,
-        gname,
-        devmajor,
-        devminor,
-        pax: null
-      };
     };
-    function isUSTAR(buf) {
-      return b4a.equals(USTAR_MAGIC, buf.subarray(MAGIC_OFFSET, MAGIC_OFFSET + 6));
-    }
-    function isGNU(buf) {
-      return b4a.equals(GNU_MAGIC, buf.subarray(MAGIC_OFFSET, MAGIC_OFFSET + 6)) && b4a.equals(GNU_VER, buf.subarray(VERSION_OFFSET, VERSION_OFFSET + 2));
-    }
-    function clamp(index, len, defaultValue) {
-      if (typeof index !== "number") return defaultValue;
-      index = ~~index;
-      if (index >= len) return len;
-      if (index >= 0) return index;
-      index += len;
-      if (index >= 0) return index;
-      return 0;
-    }
-    function toType(flag) {
-      switch (flag) {
-        case 0:
-          return "file";
-        case 1:
-          return "link";
-        case 2:
-          return "symlink";
-        case 3:
-          return "character-device";
-        case 4:
-          return "block-device";
-        case 5:
-          return "directory";
-        case 6:
-          return "fifo";
-        case 7:
-          return "contiguous-file";
-        case 72:
-          return "pax-header";
-        case 55:
-          return "pax-global-header";
-        case 27:
-          return "gnu-long-link-path";
-        case 28:
-        case 30:
-          return "gnu-long-path";
-      }
-      return null;
-    }
-    function toTypeflag(flag) {
-      switch (flag) {
-        case "file":
-          return 0;
-        case "link":
-          return 1;
-        case "symlink":
-          return 2;
-        case "character-device":
-          return 3;
-        case "block-device":
-          return 4;
-        case "directory":
-          return 5;
-        case "fifo":
-          return 6;
-        case "contiguous-file":
-          return 7;
-        case "pax-header":
-          return 72;
-      }
-      return 0;
-    }
-    function indexOf(block, num, offset, end) {
-      for (; offset < end; offset++) {
-        if (block[offset] === num) return offset;
-      }
-      return end;
-    }
-    function cksum(block) {
-      let sum = 8 * 32;
-      for (let i = 0; i < 148; i++) sum += block[i];
-      for (let j = 156; j < 512; j++) sum += block[j];
-      return sum;
-    }
-    function encodeOct(val, n) {
-      val = val.toString(8);
-      if (val.length > n) return SEVENS.slice(0, n) + " ";
-      return ZEROS.slice(0, n - val.length) + val + " ";
-    }
-    function encodeSizeBin(num, buf, off) {
-      buf[off] = 128;
-      for (let i = 11; i > 0; i--) {
-        buf[off + i] = num & 255;
-        num = Math.floor(num / 256);
-      }
-    }
-    function encodeSize(num, buf, off) {
-      if (num.toString(8).length > 11) {
-        encodeSizeBin(num, buf, off);
-      } else {
-        b4a.write(buf, encodeOct(num, 11), off);
-      }
-    }
-    function parse256(buf) {
-      let positive;
-      if (buf[0] === 128) positive = true;
-      else if (buf[0] === 255) positive = false;
-      else return null;
-      const tuple = [];
-      let i;
-      for (i = buf.length - 1; i > 0; i--) {
-        const byte = buf[i];
-        if (positive) tuple.push(byte);
-        else tuple.push(255 - byte);
-      }
-      let sum = 0;
-      const l = tuple.length;
-      for (i = 0; i < l; i++) {
-        sum += tuple[i] * Math.pow(256, i);
+    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
       }
-      return positive ? sum : -1 * sum;
-    }
-    function decodeOct(val, offset, length) {
-      val = val.subarray(offset, offset + length);
-      offset = 0;
-      if (val[offset] & 128) {
-        return parse256(val);
-      } else {
-        while (offset < val.length && val[offset] === 32) offset++;
-        const end = clamp(indexOf(val, 32, offset, val.length), val.length, val.length);
-        while (offset < end && val[offset] === 0) offset++;
-        if (end === offset) return 0;
-        return parseInt(b4a.toString(val.subarray(offset, end)), 8);
+    ];
+    webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters);
+    webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([
+      ...cacheQueryOptionConverters,
+      {
+        key: "cacheName",
+        converter: webidl.converters.DOMString
       }
-    }
-    function decodeStr(val, offset, length, encoding) {
-      return b4a.toString(val.subarray(offset, indexOf(val, 0, offset, offset + length)), encoding);
-    }
-    function addLength(str2) {
-      const len = b4a.byteLength(str2);
-      let digits = Math.floor(Math.log(len) / Math.log(10)) + 1;
-      if (len + digits >= Math.pow(10, digits)) digits++;
-      return len + digits + str2;
-    }
+    ]);
+    webidl.converters.Response = webidl.interfaceConverter(Response);
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.RequestInfo
+    );
+    module2.exports = {
+      Cache
+    };
   }
 });
 
-// node_modules/tar-stream/extract.js
-var require_extract = __commonJS({
-  "node_modules/tar-stream/extract.js"(exports2, module2) {
-    var { Writable, Readable, getStreamError } = require_streamx();
-    var FIFO = require_fast_fifo();
-    var b4a = require_b4a();
-    var headers = require_headers3();
-    var EMPTY = b4a.alloc(0);
-    var BufferList = class {
+// node_modules/undici/lib/cache/cachestorage.js
+var require_cachestorage3 = __commonJS({
+  "node_modules/undici/lib/cache/cachestorage.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols14();
+    var { Cache } = require_cache4();
+    var { webidl } = require_webidl3();
+    var { kEnumerableProperty } = require_util23();
+    var CacheStorage = class _CacheStorage {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
+       * @type {Map this.buffered) return null;
-        if (size === 0) return EMPTY;
-        let chunk = this._next(size);
-        if (size === chunk.byteLength) return chunk;
-        const chunks = [chunk];
-        while ((size -= chunk.byteLength) > 0) {
-          chunk = this._next(size);
-          chunks.push(chunk);
+        if (arguments[0] !== kConstruct) {
+          webidl.illegalConstructor();
         }
-        return b4a.concat(chunks);
       }
-      _next(size) {
-        const buf = this.queue.peek();
-        const rem = buf.byteLength - this._offset;
-        if (size >= rem) {
-          const sub = this._offset ? buf.subarray(this._offset, buf.byteLength) : buf;
-          this.queue.shift();
-          this._offset = 0;
-          this.buffered -= rem;
-          this.shifted += rem;
-          return sub;
+      async match(request2, options = {}) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.match" });
+        request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.MultiCacheQueryOptions(options);
+        if (options.cacheName != null) {
+          if (this.#caches.has(options.cacheName)) {
+            const cacheList = this.#caches.get(options.cacheName);
+            const cache = new Cache(kConstruct, cacheList);
+            return await cache.match(request2, options);
+          }
+        } else {
+          for (const cacheList of this.#caches.values()) {
+            const cache = new Cache(kConstruct, cacheList);
+            const response = await cache.match(request2, options);
+            if (response !== void 0) {
+              return response;
+            }
+          }
         }
-        this.buffered -= size;
-        this.shifted += size;
-        return buf.subarray(this._offset, this._offset += size);
       }
-    };
-    var Source = class extends Readable {
-      constructor(self2, header, offset) {
-        super();
-        this.header = header;
-        this.offset = offset;
-        this._parent = self2;
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-has
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async has(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.has" });
+        cacheName = webidl.converters.DOMString(cacheName);
+        return this.#caches.has(cacheName);
       }
-      _read(cb) {
-        if (this.header.size === 0) {
-          this.push(null);
-        }
-        if (this._parent._stream === this) {
-          this._parent._update();
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async open(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.open" });
+        cacheName = webidl.converters.DOMString(cacheName);
+        if (this.#caches.has(cacheName)) {
+          const cache2 = this.#caches.get(cacheName);
+          return new Cache(kConstruct, cache2);
         }
-        cb(null);
-      }
-      _predestroy() {
-        this._parent.destroy(getStreamError(this));
+        const cache = [];
+        this.#caches.set(cacheName, cache);
+        return new Cache(kConstruct, cache);
       }
-      _detach() {
-        if (this._parent._stream === this) {
-          this._parent._stream = null;
-          this._parent._missing = overflow(this.header.size);
-          this._parent._update();
-        }
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-delete
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async delete(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.delete" });
+        cacheName = webidl.converters.DOMString(cacheName);
+        return this.#caches.delete(cacheName);
       }
-      _destroy(cb) {
-        this._detach();
-        cb(null);
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys
+       * @returns {string[]}
+       */
+      async keys() {
+        webidl.brandCheck(this, _CacheStorage);
+        const keys = this.#caches.keys();
+        return [...keys];
       }
     };
-    var Extract = class extends Writable {
-      constructor(opts) {
-        super(opts);
-        if (!opts) opts = {};
-        this._buffer = new BufferList();
-        this._offset = 0;
-        this._header = null;
-        this._stream = null;
-        this._missing = 0;
-        this._longHeader = false;
-        this._callback = noop3;
-        this._locked = false;
-        this._finished = false;
-        this._pax = null;
-        this._paxGlobal = null;
-        this._gnuLongPath = null;
-        this._gnuLongLinkPath = null;
-        this._filenameEncoding = opts.filenameEncoding || "utf-8";
-        this._allowUnknownFormat = !!opts.allowUnknownFormat;
-        this._unlockBound = this._unlock.bind(this);
-      }
-      _unlock(err) {
-        this._locked = false;
-        if (err) {
-          this.destroy(err);
-          this._continueWrite(err);
-          return;
-        }
-        this._update();
+    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/cookies/constants.js
+var require_constants22 = __commonJS({
+  "node_modules/undici/lib/cookies/constants.js"(exports2, module2) {
+    "use strict";
+    var maxAttributeValueSize = 1024;
+    var maxNameValuePairSize = 4096;
+    module2.exports = {
+      maxAttributeValueSize,
+      maxNameValuePairSize
+    };
+  }
+});
+
+// node_modules/undici/lib/cookies/util.js
+var require_util28 = __commonJS({
+  "node_modules/undici/lib/cookies/util.js"(exports2, module2) {
+    "use strict";
+    function isCTLExcludingHtab(value) {
+      if (value.length === 0) {
+        return false;
       }
-      _consumeHeader() {
-        if (this._locked) return false;
-        this._offset = this._buffer.shifted;
-        try {
-          this._header = headers.decode(this._buffer.shift(512), this._filenameEncoding, this._allowUnknownFormat);
-        } catch (err) {
-          this._continueWrite(err);
+      for (const char of value) {
+        const code = char.charCodeAt(0);
+        if (code >= 0 || code <= 8 || (code >= 10 || code <= 31) || code === 127) {
           return false;
         }
-        if (!this._header) return true;
-        switch (this._header.type) {
-          case "gnu-long-path":
-          case "gnu-long-link-path":
-          case "pax-global-header":
-          case "pax-header":
-            this._longHeader = true;
-            this._missing = this._header.size;
-            return true;
-        }
-        this._locked = true;
-        this._applyLongHeaders();
-        if (this._header.size === 0 || this._header.type === "directory") {
-          this.emit("entry", this._header, this._createStream(), this._unlockBound);
-          return true;
-        }
-        this._stream = this._createStream();
-        this._missing = this._header.size;
-        this.emit("entry", this._header, this._stream, this._unlockBound);
-        return true;
       }
-      _applyLongHeaders() {
-        if (this._gnuLongPath) {
-          this._header.name = this._gnuLongPath;
-          this._gnuLongPath = null;
-        }
-        if (this._gnuLongLinkPath) {
-          this._header.linkname = this._gnuLongLinkPath;
-          this._gnuLongLinkPath = null;
-        }
-        if (this._pax) {
-          if (this._pax.path) this._header.name = this._pax.path;
-          if (this._pax.linkpath) this._header.linkname = this._pax.linkpath;
-          if (this._pax.size) this._header.size = parseInt(this._pax.size, 10);
-          this._header.pax = this._pax;
-          this._pax = null;
+    }
+    function validateCookieName(name) {
+      for (const char of name) {
+        const code = char.charCodeAt(0);
+        if (code <= 32 || code > 127 || char === "(" || char === ")" || char === ">" || char === "<" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}") {
+          throw new Error("Invalid cookie name");
         }
       }
-      _decodeLongHeader(buf) {
-        switch (this._header.type) {
-          case "gnu-long-path":
-            this._gnuLongPath = headers.decodeLongPath(buf, this._filenameEncoding);
-            break;
-          case "gnu-long-link-path":
-            this._gnuLongLinkPath = headers.decodeLongPath(buf, this._filenameEncoding);
-            break;
-          case "pax-global-header":
-            this._paxGlobal = headers.decodePax(buf);
-            break;
-          case "pax-header":
-            this._pax = this._paxGlobal === null ? headers.decodePax(buf) : Object.assign({}, this._paxGlobal, headers.decodePax(buf));
-            break;
+    }
+    function validateCookieValue(value) {
+      for (const char of value) {
+        const code = char.charCodeAt(0);
+        if (code < 33 || // exclude CTLs (0-31)
+        code === 34 || code === 44 || code === 59 || code === 92 || code > 126) {
+          throw new Error("Invalid header value");
         }
       }
-      _consumeLongHeader() {
-        this._longHeader = false;
-        this._missing = overflow(this._header.size);
-        const buf = this._buffer.shift(this._header.size);
-        try {
-          this._decodeLongHeader(buf);
-        } catch (err) {
-          this._continueWrite(err);
-          return false;
+    }
+    function validateCookiePath(path3) {
+      for (const char of path3) {
+        const code = char.charCodeAt(0);
+        if (code < 33 || char === ";") {
+          throw new Error("Invalid cookie path");
         }
-        return true;
       }
-      _consumeStream() {
-        const buf = this._buffer.shiftFirst(this._missing);
-        if (buf === null) return false;
-        this._missing -= buf.byteLength;
-        const drained = this._stream.push(buf);
-        if (this._missing === 0) {
-          this._stream.push(null);
-          if (drained) this._stream._detach();
-          return drained && this._locked === false;
-        }
-        return drained;
+    }
+    function validateCookieDomain(domain) {
+      if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
+        throw new Error("Invalid cookie domain");
       }
-      _createStream() {
-        return new Source(this, this._header, this._offset);
+    }
+    function toIMFDate(date) {
+      if (typeof date === "number") {
+        date = new Date(date);
       }
-      _update() {
-        while (this._buffer.buffered > 0 && !this.destroying) {
-          if (this._missing > 0) {
-            if (this._stream !== null) {
-              if (this._consumeStream() === false) return;
-              continue;
-            }
-            if (this._longHeader === true) {
-              if (this._missing > this._buffer.buffered) break;
-              if (this._consumeLongHeader() === false) return false;
-              continue;
-            }
-            const ignore = this._buffer.shiftFirst(this._missing);
-            if (ignore !== null) this._missing -= ignore.byteLength;
-            continue;
-          }
-          if (this._buffer.buffered < 512) break;
-          if (this._stream !== null || this._consumeHeader() === false) return;
-        }
-        this._continueWrite(null);
+      const days = [
+        "Sun",
+        "Mon",
+        "Tue",
+        "Wed",
+        "Thu",
+        "Fri",
+        "Sat"
+      ];
+      const months = [
+        "Jan",
+        "Feb",
+        "Mar",
+        "Apr",
+        "May",
+        "Jun",
+        "Jul",
+        "Aug",
+        "Sep",
+        "Oct",
+        "Nov",
+        "Dec"
+      ];
+      const dayName = days[date.getUTCDay()];
+      const day = date.getUTCDate().toString().padStart(2, "0");
+      const month = months[date.getUTCMonth()];
+      const year = date.getUTCFullYear();
+      const hour = date.getUTCHours().toString().padStart(2, "0");
+      const minute = date.getUTCMinutes().toString().padStart(2, "0");
+      const second = date.getUTCSeconds().toString().padStart(2, "0");
+      return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`;
+    }
+    function validateCookieMaxAge(maxAge) {
+      if (maxAge < 0) {
+        throw new Error("Invalid cookie max-age");
       }
-      _continueWrite(err) {
-        const cb = this._callback;
-        this._callback = noop3;
-        cb(err);
+    }
+    function stringify(cookie) {
+      if (cookie.name.length === 0) {
+        return null;
       }
-      _write(data, cb) {
-        this._callback = cb;
-        this._buffer.push(data);
-        this._update();
+      validateCookieName(cookie.name);
+      validateCookieValue(cookie.value);
+      const out = [`${cookie.name}=${cookie.value}`];
+      if (cookie.name.startsWith("__Secure-")) {
+        cookie.secure = true;
       }
-      _final(cb) {
-        this._finished = this._missing === 0 && this._buffer.buffered === 0;
-        cb(this._finished ? null : new Error("Unexpected end of data"));
+      if (cookie.name.startsWith("__Host-")) {
+        cookie.secure = true;
+        cookie.domain = null;
+        cookie.path = "/";
       }
-      _predestroy() {
-        this._continueWrite(null);
+      if (cookie.secure) {
+        out.push("Secure");
       }
-      _destroy(cb) {
-        if (this._stream) this._stream.destroy(getStreamError(this));
-        cb(null);
+      if (cookie.httpOnly) {
+        out.push("HttpOnly");
       }
-      [Symbol.asyncIterator]() {
-        let error3 = null;
-        let promiseResolve = null;
-        let promiseReject = null;
-        let entryStream = null;
-        let entryCallback = null;
-        const extract2 = this;
-        this.on("entry", onentry);
-        this.on("error", (err) => {
-          error3 = err;
-        });
-        this.on("close", onclose);
-        return {
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          next() {
-            return new Promise(onnext);
-          },
-          return() {
-            return destroy(null);
-          },
-          throw(err) {
-            return destroy(err);
-          }
-        };
-        function consumeCallback(err) {
-          if (!entryCallback) return;
-          const cb = entryCallback;
-          entryCallback = null;
-          cb(err);
-        }
-        function onnext(resolve2, reject) {
-          if (error3) {
-            return reject(error3);
-          }
-          if (entryStream) {
-            resolve2({ value: entryStream, done: false });
-            entryStream = null;
-            return;
-          }
-          promiseResolve = resolve2;
-          promiseReject = reject;
-          consumeCallback(null);
-          if (extract2._finished && promiseResolve) {
-            promiseResolve({ value: void 0, done: true });
-            promiseResolve = promiseReject = null;
-          }
-        }
-        function onentry(header, stream, callback) {
-          entryCallback = callback;
-          stream.on("error", noop3);
-          if (promiseResolve) {
-            promiseResolve({ value: stream, done: false });
-            promiseResolve = promiseReject = null;
-          } else {
-            entryStream = stream;
-          }
-        }
-        function onclose() {
-          consumeCallback(error3);
-          if (!promiseResolve) return;
-          if (error3) promiseReject(error3);
-          else promiseResolve({ value: void 0, done: true });
-          promiseResolve = promiseReject = null;
-        }
-        function destroy(err) {
-          extract2.destroy(err);
-          consumeCallback(err);
-          return new Promise((resolve2, reject) => {
-            if (extract2.destroyed) return resolve2({ value: void 0, done: true });
-            extract2.once("close", function() {
-              if (err) reject(err);
-              else resolve2({ value: void 0, done: true });
-            });
-          });
+      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("=")}`);
       }
-    };
-    module2.exports = function extract2(opts) {
-      return new Extract(opts);
-    };
-    function noop3() {
-    }
-    function overflow(size) {
-      size &= 511;
-      return size && 512 - size;
+      return out.join("; ");
     }
-  }
-});
-
-// node_modules/tar-stream/constants.js
-var require_constants18 = __commonJS({
-  "node_modules/tar-stream/constants.js"(exports2, module2) {
-    var constants = {
-      // just for envs without fs
-      S_IFMT: 61440,
-      S_IFDIR: 16384,
-      S_IFCHR: 8192,
-      S_IFBLK: 24576,
-      S_IFIFO: 4096,
-      S_IFLNK: 40960
+    module2.exports = {
+      isCTLExcludingHtab,
+      validateCookieName,
+      validateCookiePath,
+      validateCookieValue,
+      toIMFDate,
+      stringify
     };
-    try {
-      module2.exports = require("fs").constants || constants;
-    } catch {
-      module2.exports = constants;
-    }
   }
 });
 
-// node_modules/tar-stream/pack.js
-var require_pack = __commonJS({
-  "node_modules/tar-stream/pack.js"(exports2, module2) {
-    var { Readable, Writable, getStreamError } = require_streamx();
-    var b4a = require_b4a();
-    var constants = require_constants18();
-    var headers = require_headers3();
-    var DMODE = 493;
-    var FMODE = 420;
-    var END_OF_TAR = b4a.alloc(1024);
-    var Sink = class extends Writable {
-      constructor(pack, header, callback) {
-        super({ mapWritable, eagerOpen: true });
-        this.written = 0;
-        this.header = header;
-        this._callback = callback;
-        this._linkname = null;
-        this._isLinkname = header.type === "symlink" && !header.linkname;
-        this._isVoid = header.type !== "file" && header.type !== "contiguous-file";
-        this._finished = false;
-        this._pack = pack;
-        this._openCallback = null;
-        if (this._pack._stream === null) this._pack._stream = this;
-        else this._pack._pending.push(this);
-      }
-      _open(cb) {
-        this._openCallback = cb;
-        if (this._pack._stream === this) this._continueOpen();
-      }
-      _continuePack(err) {
-        if (this._callback === null) return;
-        const callback = this._callback;
-        this._callback = null;
-        callback(err);
-      }
-      _continueOpen() {
-        if (this._pack._stream === null) this._pack._stream = this;
-        const cb = this._openCallback;
-        this._openCallback = null;
-        if (cb === null) return;
-        if (this._pack.destroying) return cb(new Error("pack stream destroyed"));
-        if (this._pack._finalized) return cb(new Error("pack stream is already finalized"));
-        this._pack._stream = this;
-        if (!this._isLinkname) {
-          this._pack._encode(this.header);
-        }
-        if (this._isVoid) {
-          this._finish();
-          this._continuePack(null);
-        }
-        cb(null);
+// node_modules/undici/lib/cookies/parse.js
+var require_parse4 = __commonJS({
+  "node_modules/undici/lib/cookies/parse.js"(exports2, module2) {
+    "use strict";
+    var { maxNameValuePairSize, maxAttributeValueSize } = require_constants22();
+    var { isCTLExcludingHtab } = require_util28();
+    var { collectASequenceOfCodePointsFast } = require_dataURL();
+    var assert = require("assert");
+    function parseSetCookie(header) {
+      if (isCTLExcludingHtab(header)) {
+        return null;
       }
-      _write(data, cb) {
-        if (this._isLinkname) {
-          this._linkname = this._linkname ? b4a.concat([this._linkname, data]) : data;
-          return cb(null);
-        }
-        if (this._isVoid) {
-          if (data.byteLength > 0) {
-            return cb(new Error("No body allowed for this entry"));
-          }
-          return cb();
-        }
-        this.written += data.byteLength;
-        if (this._pack.push(data)) return cb();
-        this._pack._drain = cb;
+      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;
       }
-      _finish() {
-        if (this._finished) return;
-        this._finished = true;
-        if (this._isLinkname) {
-          this.header.linkname = this._linkname ? b4a.toString(this._linkname, "utf-8") : "";
-          this._pack._encode(this.header);
-        }
-        overflow(this._pack, this.header.size);
-        this._pack._done(this);
+      if (!nameValuePair.includes("=")) {
+        value = nameValuePair;
+      } else {
+        const position = { position: 0 };
+        name = collectASequenceOfCodePointsFast(
+          "=",
+          nameValuePair,
+          position
+        );
+        value = nameValuePair.slice(position.position + 1);
       }
-      _final(cb) {
-        if (this.written !== this.header.size) {
-          return cb(new Error("Size mismatch"));
-        }
-        this._finish();
-        cb(null);
+      name = name.trim();
+      value = value.trim();
+      if (name.length + value.length > maxNameValuePairSize) {
+        return null;
       }
-      _getError() {
-        return getStreamError(this) || new Error("tar entry destroyed");
+      return {
+        name,
+        value,
+        ...parseUnparsedAttributes(unparsedAttributes)
+      };
+    }
+    function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) {
+      if (unparsedAttributes.length === 0) {
+        return cookieAttributeList;
       }
-      _predestroy() {
-        this._pack.destroy(this._getError());
+      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 = "";
       }
-      _destroy(cb) {
-        this._pack._done(this);
-        this._continuePack(this._finished ? null : this._getError());
-        cb();
+      let attributeName = "";
+      let attributeValue = "";
+      if (cookieAv.includes("=")) {
+        const position = { position: 0 };
+        attributeName = collectASequenceOfCodePointsFast(
+          "=",
+          cookieAv,
+          position
+        );
+        attributeValue = cookieAv.slice(position.position + 1);
+      } else {
+        attributeName = cookieAv;
       }
-    };
-    var Pack = class extends Readable {
-      constructor(opts) {
-        super(opts);
-        this._drain = noop3;
-        this._finalized = false;
-        this._finalizing = false;
-        this._pending = [];
-        this._stream = null;
+      attributeName = attributeName.trim();
+      attributeValue = attributeValue.trim();
+      if (attributeValue.length > maxAttributeValueSize) {
+        return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
       }
-      entry(header, buffer, callback) {
-        if (this._finalized || this.destroying) throw new Error("already finalized or destroyed");
-        if (typeof buffer === "function") {
-          callback = buffer;
-          buffer = null;
+      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 (!callback) callback = noop3;
-        if (!header.size || header.type === "symlink") header.size = 0;
-        if (!header.type) header.type = modeToType(header.mode);
-        if (!header.mode) header.mode = header.type === "directory" ? DMODE : FMODE;
-        if (!header.uid) header.uid = 0;
-        if (!header.gid) header.gid = 0;
-        if (!header.mtime) header.mtime = /* @__PURE__ */ new Date();
-        if (typeof buffer === "string") buffer = b4a.from(buffer);
-        const sink = new Sink(this, header, callback);
-        if (b4a.isBuffer(buffer)) {
-          header.size = buffer.byteLength;
-          sink.write(buffer);
-          sink.end();
-          return sink;
+        if (!/^\d+$/.test(attributeValue)) {
+          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
         }
-        if (sink._isVoid) {
-          return sink;
+        const deltaSeconds = Number(attributeValue);
+        cookieAttributeList.maxAge = deltaSeconds;
+      } else if (attributeNameLowercase === "domain") {
+        let cookieDomain = attributeValue;
+        if (cookieDomain[0] === ".") {
+          cookieDomain = cookieDomain.slice(1);
         }
-        return sink;
-      }
-      finalize() {
-        if (this._stream || this._pending.length > 0) {
-          this._finalizing = true;
-          return;
+        cookieDomain = cookieDomain.toLowerCase();
+        cookieAttributeList.domain = cookieDomain;
+      } else if (attributeNameLowercase === "path") {
+        let cookiePath = "";
+        if (attributeValue.length === 0 || attributeValue[0] !== "/") {
+          cookiePath = "/";
+        } else {
+          cookiePath = attributeValue;
         }
-        if (this._finalized) return;
-        this._finalized = true;
-        this.push(END_OF_TAR);
-        this.push(null);
+        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}`);
       }
-      _done(stream) {
-        if (stream !== this._stream) return;
-        this._stream = null;
-        if (this._finalizing) this.finalize();
-        if (this._pending.length) this._pending.shift()._continueOpen();
+      return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
+    }
+    module2.exports = {
+      parseSetCookie,
+      parseUnparsedAttributes
+    };
+  }
+});
+
+// node_modules/undici/lib/cookies/index.js
+var require_cookies3 = __commonJS({
+  "node_modules/undici/lib/cookies/index.js"(exports2, module2) {
+    "use strict";
+    var { parseSetCookie } = require_parse4();
+    var { stringify } = require_util28();
+    var { webidl } = require_webidl3();
+    var { Headers } = require_headers4();
+    function getCookies(headers) {
+      webidl.argumentLengthCheck(arguments, 1, { header: "getCookies" });
+      webidl.brandCheck(headers, Headers, { strict: false });
+      const cookie = headers.get("cookie");
+      const out = {};
+      if (!cookie) {
+        return out;
       }
-      _encode(header) {
-        if (!header.pax) {
-          const buf = headers.encode(header);
-          if (buf) {
-            this.push(buf);
-            return;
-          }
-        }
-        this._encodePax(header);
+      for (const piece of cookie.split(";")) {
+        const [name, ...value] = piece.split("=");
+        out[name.trim()] = value.join("=");
       }
-      _encodePax(header) {
-        const paxHeader = headers.encodePax({
-          name: header.name,
-          linkname: header.linkname,
-          pax: header.pax
-        });
-        const newHeader = {
-          name: "PaxHeader",
-          mode: header.mode,
-          uid: header.uid,
-          gid: header.gid,
-          size: paxHeader.byteLength,
-          mtime: header.mtime,
-          type: "pax-header",
-          linkname: header.linkname && "PaxHeader",
-          uname: header.uname,
-          gname: header.gname,
-          devmajor: header.devmajor,
-          devminor: header.devminor
-        };
-        this.push(headers.encode(newHeader));
-        this.push(paxHeader);
-        overflow(this, paxHeader.byteLength);
-        newHeader.size = header.size;
-        newHeader.type = header.type;
-        this.push(headers.encode(newHeader));
+      return out;
+    }
+    function deleteCookie(headers, name, attributes) {
+      webidl.argumentLengthCheck(arguments, 2, { header: "deleteCookie" });
+      webidl.brandCheck(headers, Headers, { strict: false });
+      name = webidl.converters.DOMString(name);
+      attributes = webidl.converters.DeleteCookieAttributes(attributes);
+      setCookie(headers, {
+        name,
+        value: "",
+        expires: /* @__PURE__ */ new Date(0),
+        ...attributes
+      });
+    }
+    function getSetCookies(headers) {
+      webidl.argumentLengthCheck(arguments, 1, { header: "getSetCookies" });
+      webidl.brandCheck(headers, Headers, { strict: false });
+      const cookies = headers.getSetCookie();
+      if (!cookies) {
+        return [];
       }
-      _doDrain() {
-        const drain = this._drain;
-        this._drain = noop3;
-        drain();
+      return cookies.map((pair) => parseSetCookie(pair));
+    }
+    function setCookie(headers, cookie) {
+      webidl.argumentLengthCheck(arguments, 2, { header: "setCookie" });
+      webidl.brandCheck(headers, Headers, { strict: false });
+      cookie = webidl.converters.Cookie(cookie);
+      const str2 = stringify(cookie);
+      if (str2) {
+        headers.append("Set-Cookie", stringify(cookie));
       }
-      _predestroy() {
-        const err = getStreamError(this);
-        if (this._stream) this._stream.destroy(err);
-        while (this._pending.length) {
-          const stream = this._pending.shift();
-          stream.destroy(err);
-          stream._continueOpen();
-        }
-        this._doDrain();
+    }
+    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
       }
-      _read(cb) {
-        this._doDrain();
-        cb();
+    ]);
+    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: []
       }
+    ]);
+    module2.exports = {
+      getCookies,
+      deleteCookie,
+      getSetCookies,
+      setCookie
     };
-    module2.exports = function pack(opts) {
-      return new Pack(opts);
+  }
+});
+
+// node_modules/undici/lib/websocket/constants.js
+var require_constants23 = __commonJS({
+  "node_modules/undici/lib/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 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);
+    module2.exports = {
+      uid,
+      staticPropertyDescriptors,
+      states,
+      opcodes,
+      maxUnsigned16Bit,
+      parserStates,
+      emptyBuffer
     };
-    function modeToType(mode) {
-      switch (mode & constants.S_IFMT) {
-        case constants.S_IFBLK:
-          return "block-device";
-        case constants.S_IFCHR:
-          return "character-device";
-        case constants.S_IFDIR:
-          return "directory";
-        case constants.S_IFIFO:
-          return "fifo";
-        case constants.S_IFLNK:
-          return "symlink";
-      }
-      return "file";
-    }
-    function noop3() {
-    }
-    function overflow(self2, size) {
-      size &= 511;
-      if (size) self2.push(END_OF_TAR.subarray(0, 512 - size));
-    }
-    function mapWritable(buf) {
-      return b4a.isBuffer(buf) ? buf : b4a.from(buf);
-    }
   }
 });
 
-// node_modules/tar-stream/index.js
-var require_tar_stream = __commonJS({
-  "node_modules/tar-stream/index.js"(exports2) {
-    exports2.extract = require_extract();
-    exports2.pack = require_pack();
+// node_modules/undici/lib/websocket/symbols.js
+var require_symbols15 = __commonJS({
+  "node_modules/undici/lib/websocket/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
+      kReadyState: /* @__PURE__ */ Symbol("ready state"),
+      kController: /* @__PURE__ */ Symbol("controller"),
+      kResponse: /* @__PURE__ */ Symbol("response"),
+      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
+      kSentClose: /* @__PURE__ */ Symbol("sent close"),
+      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
+      kByteParser: /* @__PURE__ */ Symbol("byte parser")
+    };
   }
 });
 
-// node_modules/archiver/lib/plugins/tar.js
-var require_tar = __commonJS({
-  "node_modules/archiver/lib/plugins/tar.js"(exports2, module2) {
-    var zlib = require("zlib");
-    var engine = require_tar_stream();
-    var util = require_archiver_utils();
-    var Tar = function(options) {
-      if (!(this instanceof Tar)) {
-        return new Tar(options);
+// node_modules/undici/lib/websocket/events.js
+var require_events3 = __commonJS({
+  "node_modules/undici/lib/websocket/events.js"(exports2, module2) {
+    "use strict";
+    var { webidl } = require_webidl3();
+    var { kEnumerableProperty } = require_util23();
+    var { MessagePort } = require("worker_threads");
+    var MessageEvent = class _MessageEvent extends Event {
+      #eventInit;
+      constructor(type2, eventInitDict = {}) {
+        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" });
+        type2 = webidl.converters.DOMString(type2);
+        eventInitDict = webidl.converters.MessageEventInit(eventInitDict);
+        super(type2, eventInitDict);
+        this.#eventInit = eventInitDict;
       }
-      options = this.options = util.defaults(options, {
-        gzip: false
-      });
-      if (typeof options.gzipOptions !== "object") {
-        options.gzipOptions = {};
+      get data() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.data;
       }
-      this.supports = {
-        directory: true,
-        symlink: true
-      };
-      this.engine = engine.pack(options);
-      this.compressor = false;
-      if (options.gzip) {
-        this.compressor = zlib.createGzip(options.gzipOptions);
-        this.compressor.on("error", this._onCompressorError.bind(this));
+      get origin() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.origin;
       }
-    };
-    Tar.prototype._onCompressorError = function(err) {
-      this.engine.emit("error", err);
-    };
-    Tar.prototype.append = function(source, data, callback) {
-      var self2 = this;
-      data.mtime = data.date;
-      function append(err, sourceBuffer) {
-        if (err) {
-          callback(err);
-          return;
+      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);
         }
-        self2.engine.entry(data, sourceBuffer, function(err2) {
-          callback(err2, data);
-        });
+        return this.#eventInit.ports;
       }
-      if (data.sourceType === "buffer") {
-        append(null, source);
-      } else if (data.sourceType === "stream" && data.stats) {
-        data.size = data.stats.size;
-        var entry = self2.engine.entry(data, function(err) {
-          callback(err, data);
+      initMessageEvent(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
+        webidl.brandCheck(this, _MessageEvent);
+        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent.initMessageEvent" });
+        return new _MessageEvent(type2, {
+          bubbles,
+          cancelable,
+          data,
+          origin,
+          lastEventId,
+          source,
+          ports
         });
-        source.pipe(entry);
-      } else if (data.sourceType === "stream") {
-        util.collectStream(source, append);
       }
     };
-    Tar.prototype.finalize = function() {
-      this.engine.finalize();
-    };
-    Tar.prototype.on = function() {
-      return this.engine.on.apply(this.engine, arguments);
-    };
-    Tar.prototype.pipe = function(destination, options) {
-      if (this.compressor) {
-        return this.engine.pipe.apply(this.engine, [this.compressor]).pipe(destination, options);
-      } else {
-        return this.engine.pipe.apply(this.engine, arguments);
+    var CloseEvent = class _CloseEvent extends Event {
+      #eventInit;
+      constructor(type2, eventInitDict = {}) {
+        webidl.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" });
+        type2 = webidl.converters.DOMString(type2);
+        eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
+        super(type2, eventInitDict);
+        this.#eventInit = eventInitDict;
+      }
+      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;
       }
     };
-    Tar.prototype.unpipe = function() {
-      if (this.compressor) {
-        return this.compressor.unpipe.apply(this.compressor, arguments);
-      } else {
-        return this.engine.unpipe.apply(this.engine, arguments);
+    var ErrorEvent = class _ErrorEvent extends Event {
+      #eventInit;
+      constructor(type2, eventInitDict) {
+        webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" });
+        super(type2, eventInitDict);
+        type2 = webidl.converters.DOMString(type2);
+        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;
       }
     };
-    module2.exports = Tar;
-  }
-});
-
-// node_modules/buffer-crc32/dist/index.cjs
-var require_dist4 = __commonJS({
-  "node_modules/buffer-crc32/dist/index.cjs"(exports2, module2) {
-    "use strict";
-    function getDefaultExportFromCjs(x) {
-      return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
-    }
-    var CRC_TABLE = new Int32Array([
-      0,
-      1996959894,
-      3993919788,
-      2567524794,
-      124634137,
-      1886057615,
-      3915621685,
-      2657392035,
-      249268274,
-      2044508324,
-      3772115230,
-      2547177864,
-      162941995,
-      2125561021,
-      3887607047,
-      2428444049,
-      498536548,
-      1789927666,
-      4089016648,
-      2227061214,
-      450548861,
-      1843258603,
-      4107580753,
-      2211677639,
-      325883990,
-      1684777152,
-      4251122042,
-      2321926636,
-      335633487,
-      1661365465,
-      4195302755,
-      2366115317,
-      997073096,
-      1281953886,
-      3579855332,
-      2724688242,
-      1006888145,
-      1258607687,
-      3524101629,
-      2768942443,
-      901097722,
-      1119000684,
-      3686517206,
-      2898065728,
-      853044451,
-      1172266101,
-      3705015759,
-      2882616665,
-      651767980,
-      1373503546,
-      3369554304,
-      3218104598,
-      565507253,
-      1454621731,
-      3485111705,
-      3099436303,
-      671266974,
-      1594198024,
-      3322730930,
-      2970347812,
-      795835527,
-      1483230225,
-      3244367275,
-      3060149565,
-      1994146192,
-      31158534,
-      2563907772,
-      4023717930,
-      1907459465,
-      112637215,
-      2680153253,
-      3904427059,
-      2013776290,
-      251722036,
-      2517215374,
-      3775830040,
-      2137656763,
-      141376813,
-      2439277719,
-      3865271297,
-      1802195444,
-      476864866,
-      2238001368,
-      4066508878,
-      1812370925,
-      453092731,
-      2181625025,
-      4111451223,
-      1706088902,
-      314042704,
-      2344532202,
-      4240017532,
-      1658658271,
-      366619977,
-      2362670323,
-      4224994405,
-      1303535960,
-      984961486,
-      2747007092,
-      3569037538,
-      1256170817,
-      1037604311,
-      2765210733,
-      3554079995,
-      1131014506,
-      879679996,
-      2909243462,
-      3663771856,
-      1141124467,
-      855842277,
-      2852801631,
-      3708648649,
-      1342533948,
-      654459306,
-      3188396048,
-      3373015174,
-      1466479909,
-      544179635,
-      3110523913,
-      3462522015,
-      1591671054,
-      702138776,
-      2966460450,
-      3352799412,
-      1504918807,
-      783551873,
-      3082640443,
-      3233442989,
-      3988292384,
-      2596254646,
-      62317068,
-      1957810842,
-      3939845945,
-      2647816111,
-      81470997,
-      1943803523,
-      3814918930,
-      2489596804,
-      225274430,
-      2053790376,
-      3826175755,
-      2466906013,
-      167816743,
-      2097651377,
-      4027552580,
-      2265490386,
-      503444072,
-      1762050814,
-      4150417245,
-      2154129355,
-      426522225,
-      1852507879,
-      4275313526,
-      2312317920,
-      282753626,
-      1742555852,
-      4189708143,
-      2394877945,
-      397917763,
-      1622183637,
-      3604390888,
-      2714866558,
-      953729732,
-      1340076626,
-      3518719985,
-      2797360999,
-      1068828381,
-      1219638859,
-      3624741850,
-      2936675148,
-      906185462,
-      1090812512,
-      3747672003,
-      2825379669,
-      829329135,
-      1181335161,
-      3412177804,
-      3160834842,
-      628085408,
-      1382605366,
-      3423369109,
-      3138078467,
-      570562233,
-      1426400815,
-      3317316542,
-      2998733608,
-      733239954,
-      1555261956,
-      3268935591,
-      3050360625,
-      752459403,
-      1541320221,
-      2607071920,
-      3965973030,
-      1969922972,
-      40735498,
-      2617837225,
-      3943577151,
-      1913087877,
-      83908371,
-      2512341634,
-      3803740692,
-      2075208622,
-      213261112,
-      2463272603,
-      3855990285,
-      2094854071,
-      198958881,
-      2262029012,
-      4057260610,
-      1759359992,
-      534414190,
-      2176718541,
-      4139329115,
-      1873836001,
-      414664567,
-      2282248934,
-      4279200368,
-      1711684554,
-      285281116,
-      2405801727,
-      4167216745,
-      1634467795,
-      376229701,
-      2685067896,
-      3608007406,
-      1308918612,
-      956543938,
-      2808555105,
-      3495958263,
-      1231636301,
-      1047427035,
-      2932959818,
-      3654703836,
-      1088359270,
-      936918e3,
-      2847714899,
-      3736837829,
-      1202900863,
-      817233897,
-      3183342108,
-      3401237130,
-      1404277552,
-      615818150,
-      3134207493,
-      3453421203,
-      1423857449,
-      601450431,
-      3009837614,
-      3294710456,
-      1567103746,
-      711928724,
-      3020668471,
-      3272380065,
-      1510334235,
-      755167117
+    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"],
+        get defaultValue() {
+          return [];
+        }
+      }
     ]);
-    function ensureBuffer(input) {
-      if (Buffer.isBuffer(input)) {
-        return input;
+    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: ""
       }
-      if (typeof input === "number") {
-        return Buffer.alloc(input);
-      } else if (typeof input === "string") {
-        return Buffer.from(input);
-      } else {
-        throw new Error("input must be buffer, number, or string, received " + typeof input);
+    ]);
+    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
+    };
+  }
+});
+
+// node_modules/undici/lib/websocket/util.js
+var require_util29 = __commonJS({
+  "node_modules/undici/lib/websocket/util.js"(exports2, module2) {
+    "use strict";
+    var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols15();
+    var { states, opcodes } = require_constants23();
+    var { MessageEvent, ErrorEvent } = require_events3();
+    function isEstablished(ws) {
+      return ws[kReadyState] === states.OPEN;
     }
-    function bufferizeInt(num) {
-      const tmp = ensureBuffer(4);
-      tmp.writeInt32BE(num, 0);
-      return tmp;
+    function isClosing(ws) {
+      return ws[kReadyState] === states.CLOSING;
     }
-    function _crc32(buf, previous) {
-      buf = ensureBuffer(buf);
-      if (Buffer.isBuffer(previous)) {
-        previous = previous.readUInt32BE(0);
+    function isClosed(ws) {
+      return ws[kReadyState] === states.CLOSED;
+    }
+    function fireEvent(e, target, eventConstructor = Event, eventInitDict) {
+      const event = new eventConstructor(e, eventInitDict);
+      target.dispatchEvent(event);
+    }
+    function websocketMessageReceived(ws, type2, data) {
+      if (ws[kReadyState] !== states.OPEN) {
+        return;
       }
-      let crc = ~~previous ^ -1;
-      for (var n = 0; n < buf.length; n++) {
-        crc = CRC_TABLE[(crc ^ buf[n]) & 255] ^ crc >>> 8;
+      let dataForEvent;
+      if (type2 === opcodes.TEXT) {
+        try {
+          dataForEvent = new TextDecoder("utf-8", { fatal: true }).decode(data);
+        } catch {
+          failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
+          return;
+        }
+      } else if (type2 === opcodes.BINARY) {
+        if (ws[kBinaryType] === "blob") {
+          dataForEvent = new Blob([data]);
+        } else {
+          dataForEvent = new Uint8Array(data).buffer;
+        }
       }
-      return crc ^ -1;
+      fireEvent("message", ws, MessageEvent, {
+        origin: ws[kWebSocketURL].origin,
+        data: dataForEvent
+      });
     }
-    function crc32() {
-      return bufferizeInt(_crc32.apply(null, arguments));
+    function isValidSubprotocol(protocol) {
+      if (protocol.length === 0) {
+        return false;
+      }
+      for (const char of protocol) {
+        const code = char.charCodeAt(0);
+        if (code < 33 || code > 126 || char === "(" || char === ")" || char === "<" || char === ">" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}" || code === 32 || // SP
+        code === 9) {
+          return false;
+        }
+      }
+      return true;
     }
-    crc32.signed = function() {
-      return _crc32.apply(null, arguments);
-    };
-    crc32.unsigned = function() {
-      return _crc32.apply(null, arguments) >>> 0;
+    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, ErrorEvent, {
+          error: new Error(reason)
+        });
+      }
+    }
+    module2.exports = {
+      isEstablished,
+      isClosing,
+      isClosed,
+      fireEvent,
+      isValidSubprotocol,
+      isValidStatusCode,
+      failWebsocketConnection,
+      websocketMessageReceived
     };
-    var bufferCrc32 = crc32;
-    var index = /* @__PURE__ */ getDefaultExportFromCjs(bufferCrc32);
-    module2.exports = index;
   }
 });
 
-// node_modules/archiver/lib/plugins/json.js
-var require_json = __commonJS({
-  "node_modules/archiver/lib/plugins/json.js"(exports2, module2) {
-    var inherits = require("util").inherits;
-    var Transform = require_ours().Transform;
-    var crc32 = require_dist4();
-    var util = require_archiver_utils();
-    var Json = function(options) {
-      if (!(this instanceof Json)) {
-        return new Json(options);
+// node_modules/undici/lib/websocket/connection.js
+var require_connection3 = __commonJS({
+  "node_modules/undici/lib/websocket/connection.js"(exports2, module2) {
+    "use strict";
+    var diagnosticsChannel = require("diagnostics_channel");
+    var { uid, states } = require_constants23();
+    var {
+      kReadyState,
+      kSentClose,
+      kByteParser,
+      kReceivedClose
+    } = require_symbols15();
+    var { fireEvent, failWebsocketConnection } = require_util29();
+    var { CloseEvent } = require_events3();
+    var { makeRequest } = require_request6();
+    var { fetching } = require_fetch3();
+    var { Headers } = require_headers4();
+    var { getGlobalDispatcher } = require_global6();
+    var { kHeadersList } = require_symbols11();
+    var channels = {};
+    channels.open = diagnosticsChannel.channel("undici:websocket:open");
+    channels.close = diagnosticsChannel.channel("undici:websocket:close");
+    channels.socketError = diagnosticsChannel.channel("undici:websocket:socket_error");
+    var crypto2;
+    try {
+      crypto2 = require("crypto");
+    } catch {
+    }
+    function establishWebSocketConnection(url, protocols, ws, onEstablish, options) {
+      const requestURL = url;
+      requestURL.protocol = url.protocol === "ws:" ? "http:" : "https:";
+      const request2 = makeRequest({
+        urlList: [requestURL],
+        serviceWorkers: "none",
+        referrer: "no-referrer",
+        mode: "websocket",
+        credentials: "include",
+        cache: "no-store",
+        redirect: "error"
+      });
+      if (options.headers) {
+        const headersList = new Headers(options.headers)[kHeadersList];
+        request2.headersList = headersList;
       }
-      options = this.options = util.defaults(options, {});
-      Transform.call(this, options);
-      this.supports = {
-        directory: true,
-        symlink: true
-      };
-      this.files = [];
+      const keyValue = crypto2.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 = "";
+      const controller = fetching({
+        request: request2,
+        useParallelQueue: true,
+        dispatcher: options.dispatcher ?? getGlobalDispatcher(),
+        processResponse(response) {
+          if (response.type === "error" || response.status !== 101) {
+            failWebsocketConnection(ws, "Received network error or non-101 status code.");
+            return;
+          }
+          if (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 = crypto2.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");
+          if (secExtension !== null && secExtension !== permessageDeflate) {
+            failWebsocketConnection(ws, "Received different permessage-deflate than the one set.");
+            return;
+          }
+          const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");
+          if (secProtocol !== null && secProtocol !== request2.headersList.get("Sec-WebSocket-Protocol")) {
+            failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");
+            return;
+          }
+          response.socket.on("data", onSocketData);
+          response.socket.on("close", onSocketClose);
+          response.socket.on("error", onSocketError);
+          if (channels.open.hasSubscribers) {
+            channels.open.publish({
+              address: response.socket.address(),
+              protocol: secProtocol,
+              extensions: secExtension
+            });
+          }
+          onEstablish(response);
+        }
+      });
+      return controller;
+    }
+    function onSocketData(chunk) {
+      if (!this.ws[kByteParser].write(chunk)) {
+        this.pause();
+      }
+    }
+    function onSocketClose() {
+      const { ws } = this;
+      const wasClean = ws[kSentClose] && ws[kReceivedClose];
+      let code = 1005;
+      let reason = "";
+      const result = ws[kByteParser].closingInfo;
+      if (result) {
+        code = result.code ?? 1005;
+        reason = result.reason;
+      } else if (!ws[kSentClose]) {
+        code = 1006;
+      }
+      ws[kReadyState] = states.CLOSED;
+      fireEvent("close", ws, CloseEvent, {
+        wasClean,
+        code,
+        reason
+      });
+      if (channels.close.hasSubscribers) {
+        channels.close.publish({
+          websocket: ws,
+          code,
+          reason
+        });
+      }
+    }
+    function onSocketError(error3) {
+      const { ws } = this;
+      ws[kReadyState] = states.CLOSING;
+      if (channels.socketError.hasSubscribers) {
+        channels.socketError.publish(error3);
+      }
+      this.destroy();
+    }
+    module2.exports = {
+      establishWebSocketConnection
     };
-    inherits(Json, Transform);
-    Json.prototype._transform = function(chunk, encoding, callback) {
-      callback(null, chunk);
+  }
+});
+
+// node_modules/undici/lib/websocket/frame.js
+var require_frame3 = __commonJS({
+  "node_modules/undici/lib/websocket/frame.js"(exports2, module2) {
+    "use strict";
+    var { maxUnsigned16Bit } = require_constants23();
+    var crypto2;
+    try {
+      crypto2 = require("crypto");
+    } catch {
+    }
+    var WebsocketFrameSend = class {
+      /**
+       * @param {Buffer|undefined} data
+       */
+      constructor(data) {
+        this.frameData = data;
+        this.maskKey = crypto2.randomBytes(4);
+      }
+      createFrame(opcode) {
+        const bodyLength = this.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 buffer = Buffer.allocUnsafe(bodyLength + offset);
+        buffer[0] = buffer[1] = 0;
+        buffer[0] |= 128;
+        buffer[0] = (buffer[0] & 240) + opcode;
+        buffer[offset - 4] = this.maskKey[0];
+        buffer[offset - 3] = this.maskKey[1];
+        buffer[offset - 2] = this.maskKey[2];
+        buffer[offset - 1] = this.maskKey[3];
+        buffer[1] = payloadLength;
+        if (payloadLength === 126) {
+          buffer.writeUInt16BE(bodyLength, 2);
+        } else if (payloadLength === 127) {
+          buffer[2] = buffer[3] = 0;
+          buffer.writeUIntBE(bodyLength, 4, 6);
+        }
+        buffer[1] |= 128;
+        for (let i = 0; i < bodyLength; i++) {
+          buffer[offset + i] = this.frameData[i] ^ this.maskKey[i % 4];
+        }
+        return buffer;
+      }
     };
-    Json.prototype._writeStringified = function() {
-      var fileString = JSON.stringify(this.files);
-      this.write(fileString);
+    module2.exports = {
+      WebsocketFrameSend
     };
-    Json.prototype.append = function(source, data, callback) {
-      var self2 = this;
-      data.crc32 = 0;
-      function onend(err, sourceBuffer) {
-        if (err) {
-          callback(err);
-          return;
+  }
+});
+
+// node_modules/undici/lib/websocket/receiver.js
+var require_receiver3 = __commonJS({
+  "node_modules/undici/lib/websocket/receiver.js"(exports2, module2) {
+    "use strict";
+    var { Writable } = require("stream");
+    var diagnosticsChannel = require("diagnostics_channel");
+    var { parserStates, opcodes, states, emptyBuffer } = require_constants23();
+    var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols15();
+    var { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require_util29();
+    var { WebsocketFrameSend } = require_frame3();
+    var channels = {};
+    channels.ping = diagnosticsChannel.channel("undici:websocket:ping");
+    channels.pong = diagnosticsChannel.channel("undici:websocket:pong");
+    var ByteParser = class extends Writable {
+      #buffers = [];
+      #byteOffset = 0;
+      #state = parserStates.INFO;
+      #info = {};
+      #fragments = [];
+      constructor(ws) {
+        super();
+        this.ws = ws;
+      }
+      /**
+       * @param {Buffer} chunk
+       * @param {() => void} callback
+       */
+      _write(chunk, _2, callback) {
+        this.#buffers.push(chunk);
+        this.#byteOffset += chunk.length;
+        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 (true) {
+          if (this.#state === parserStates.INFO) {
+            if (this.#byteOffset < 2) {
+              return callback();
+            }
+            const buffer = this.consume(2);
+            this.#info.fin = (buffer[0] & 128) !== 0;
+            this.#info.opcode = buffer[0] & 15;
+            this.#info.originalOpcode ??= this.#info.opcode;
+            this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION;
+            if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) {
+              failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
+              return;
+            }
+            const payloadLength = buffer[1] & 127;
+            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 (this.#info.fragmented && payloadLength > 125) {
+              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
+              return;
+            } else if ((this.#info.opcode === opcodes.PING || this.#info.opcode === opcodes.PONG || this.#info.opcode === opcodes.CLOSE) && payloadLength > 125) {
+              failWebsocketConnection(this.ws, "Payload length for control frame exceeded 125 bytes.");
+              return;
+            } else if (this.#info.opcode === opcodes.CLOSE) {
+              if (payloadLength === 1) {
+                failWebsocketConnection(this.ws, "Received close frame with a 1-byte body.");
+                return;
+              }
+              const body = this.consume(payloadLength);
+              this.#info.closeInfo = this.parseCloseBody(false, body);
+              if (!this.ws[kSentClose]) {
+                const body2 = Buffer.allocUnsafe(2);
+                body2.writeUInt16BE(this.#info.closeInfo.code, 0);
+                const closeFrame = new WebsocketFrameSend(body2);
+                this.ws[kResponse].socket.write(
+                  closeFrame.createFrame(opcodes.CLOSE),
+                  (err) => {
+                    if (!err) {
+                      this.ws[kSentClose] = true;
+                    }
+                  }
+                );
+              }
+              this.ws[kReadyState] = states.CLOSING;
+              this.ws[kReceivedClose] = true;
+              this.end();
+              return;
+            } else if (this.#info.opcode === opcodes.PING) {
+              const body = this.consume(payloadLength);
+              if (!this.ws[kReceivedClose]) {
+                const frame = new WebsocketFrameSend(body);
+                this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
+                if (channels.ping.hasSubscribers) {
+                  channels.ping.publish({
+                    payload: body
+                  });
+                }
+              }
+              this.#state = parserStates.INFO;
+              if (this.#byteOffset > 0) {
+                continue;
+              } else {
+                callback();
+                return;
+              }
+            } else if (this.#info.opcode === opcodes.PONG) {
+              const body = this.consume(payloadLength);
+              if (channels.pong.hasSubscribers) {
+                channels.pong.publish({
+                  payload: body
+                });
+              }
+              if (this.#byteOffset > 0) {
+                continue;
+              } else {
+                callback();
+                return;
+              }
+            }
+          } 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();
+            } else if (this.#byteOffset >= this.#info.payloadLength) {
+              const body = this.consume(this.#info.payloadLength);
+              this.#fragments.push(body);
+              if (!this.#info.fragmented || this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) {
+                const fullMessage = Buffer.concat(this.#fragments);
+                websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage);
+                this.#info = {};
+                this.#fragments.length = 0;
+              }
+              this.#state = parserStates.INFO;
+            }
+          }
+          if (this.#byteOffset > 0) {
+            continue;
+          } else {
+            callback();
+            break;
+          }
         }
-        data.size = sourceBuffer.length || 0;
-        data.crc32 = crc32.unsigned(sourceBuffer);
-        self2.files.push(data);
-        callback(null, data);
-      }
-      if (data.sourceType === "buffer") {
-        onend(null, source);
-      } else if (data.sourceType === "stream") {
-        util.collectStream(source, onend);
-      }
-    };
-    Json.prototype.finalize = function() {
-      this._writeStringified();
-      this.end();
-    };
-    module2.exports = Json;
-  }
-});
-
-// node_modules/archiver/index.js
-var require_archiver = __commonJS({
-  "node_modules/archiver/index.js"(exports2, module2) {
-    var Archiver = require_core2();
-    var formats = {};
-    var vending = function(format, options) {
-      return vending.create(format, options);
-    };
-    vending.create = function(format, options) {
-      if (formats[format]) {
-        var instance = new Archiver(format, options);
-        instance.setFormat(format);
-        instance.setModule(new formats[format](options));
-        return instance;
-      } else {
-        throw new Error("create(" + format + "): format not registered");
       }
-    };
-    vending.registerFormat = function(format, module3) {
-      if (formats[format]) {
-        throw new Error("register(" + format + "): format already registered");
+      /**
+       * Take n bytes from the buffered Buffers
+       * @param {number} n
+       * @returns {Buffer|null}
+       */
+      consume(n) {
+        if (n > this.#byteOffset) {
+          return null;
+        } 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;
       }
-      if (typeof module3 !== "function") {
-        throw new Error("register(" + format + "): format module invalid");
+      parseCloseBody(onlyCode, data) {
+        let code;
+        if (data.length >= 2) {
+          code = data.readUInt16BE(0);
+        }
+        if (onlyCode) {
+          if (!isValidStatusCode(code)) {
+            return null;
+          }
+          return { code };
+        }
+        let reason = data.subarray(2);
+        if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
+          reason = reason.subarray(3);
+        }
+        if (code !== void 0 && !isValidStatusCode(code)) {
+          return null;
+        }
+        try {
+          reason = new TextDecoder("utf-8", { fatal: true }).decode(reason);
+        } catch {
+          return null;
+        }
+        return { code, reason };
       }
-      if (typeof module3.prototype.append !== "function" || typeof module3.prototype.finalize !== "function") {
-        throw new Error("register(" + format + "): format module missing methods");
+      get closingInfo() {
+        return this.#info.closeInfo;
       }
-      formats[format] = module3;
     };
-    vending.isRegisteredFormat = function(format) {
-      if (formats[format]) {
-        return true;
-      }
-      return false;
+    module2.exports = {
+      ByteParser
     };
-    vending.registerFormat("zip", require_zip());
-    vending.registerFormat("tar", require_tar());
-    vending.registerFormat("json", require_json());
-    module2.exports = vending;
   }
 });
 
-// node_modules/@actions/artifact/lib/internal/upload/zip.js
-var require_zip2 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/zip.js"(exports2) {
+// node_modules/undici/lib/websocket/websocket.js
+var require_websocket3 = __commonJS({
+  "node_modules/undici/lib/websocket/websocket.js"(exports2, module2) {
     "use strict";
-    var __createBinding2 = 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 __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
-      }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve2) {
-          resolve2(value);
-        });
+    var { webidl } = require_webidl3();
+    var { DOMException: DOMException2 } = require_constants20();
+    var { URLSerializer } = require_dataURL();
+    var { getGlobalOrigin } = require_global5();
+    var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require_constants23();
+    var {
+      kWebSocketURL,
+      kReadyState,
+      kController,
+      kBinaryType,
+      kResponse,
+      kSentClose,
+      kByteParser
+    } = require_symbols15();
+    var { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require_util29();
+    var { establishWebSocketConnection } = require_connection3();
+    var { WebsocketFrameSend } = require_frame3();
+    var { ByteParser } = require_receiver3();
+    var { kEnumerableProperty, isBlobLike } = require_util23();
+    var { getGlobalDispatcher } = require_global6();
+    var { types } = require("util");
+    var experimentalWarned = false;
+    var WebSocket = class _WebSocket extends EventTarget {
+      #events = {
+        open: null,
+        error: null,
+        close: null,
+        message: null
+      };
+      #bufferedAmount = 0;
+      #protocol = "";
+      #extensions = "";
+      /**
+       * @param {string} url
+       * @param {string|string[]} protocols
+       */
+      constructor(url, protocols = []) {
+        super();
+        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket constructor" });
+        if (!experimentalWarned) {
+          experimentalWarned = true;
+          process.emitWarning("WebSockets are experimental, expect them to change at any time.", {
+            code: "UNDICI-WS"
+          });
+        }
+        const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols);
+        url = webidl.converters.USVString(url);
+        protocols = options.protocols;
+        const baseURL = getGlobalOrigin();
+        let urlRecord;
+        try {
+          urlRecord = new URL(url, baseURL);
+        } catch (e) {
+          throw new DOMException2(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 DOMException2(
+            `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
+            "SyntaxError"
+          );
+        }
+        if (urlRecord.hash || urlRecord.href.endsWith("#")) {
+          throw new DOMException2("Got fragment", "SyntaxError");
+        }
+        if (typeof protocols === "string") {
+          protocols = [protocols];
+        }
+        if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
+          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+        }
+        if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
+          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+        }
+        this[kWebSocketURL] = new URL(urlRecord.href);
+        this[kController] = establishWebSocketConnection(
+          urlRecord,
+          protocols,
+          this,
+          (response) => this.#onConnectionEstablished(response),
+          options
+        );
+        this[kReadyState] = _WebSocket.CONNECTING;
+        this[kBinaryType] = "blob";
       }
-      return new (P || (P = Promise))(function(resolve2, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
+      /**
+       * @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);
+        if (code !== void 0) {
+          code = webidl.converters["unsigned short"](code, { clamp: true });
+        }
+        if (reason !== void 0) {
+          reason = webidl.converters.USVString(reason);
+        }
+        if (code !== void 0) {
+          if (code !== 1e3 && (code < 3e3 || code > 4999)) {
+            throw new DOMException2("invalid code", "InvalidAccessError");
           }
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
+        let reasonByteLength = 0;
+        if (reason !== void 0) {
+          reasonByteLength = Buffer.byteLength(reason);
+          if (reasonByteLength > 123) {
+            throw new DOMException2(
+              `Reason must be less than 123 bytes; received ${reasonByteLength}`,
+              "SyntaxError"
+            );
           }
         }
-        function step(result) {
-          result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
+        if (this[kReadyState] === _WebSocket.CLOSING || this[kReadyState] === _WebSocket.CLOSED) {
+        } else if (!isEstablished(this)) {
+          failWebsocketConnection(this, "Connection was closed before it was established.");
+          this[kReadyState] = _WebSocket.CLOSING;
+        } else if (!isClosing(this)) {
+          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 = this[kResponse].socket;
+          socket.write(frame.createFrame(opcodes.CLOSE), (err) => {
+            if (!err) {
+              this[kSentClose] = true;
+            }
+          });
+          this[kReadyState] = states.CLOSING;
+        } else {
+          this[kReadyState] = _WebSocket.CLOSING;
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createZipUploadStream = exports2.ZipUploadStream = exports2.DEFAULT_COMPRESSION_LEVEL = void 0;
-    var stream = __importStar2(require("stream"));
-    var promises_1 = require("fs/promises");
-    var archiver2 = __importStar2(require_archiver());
-    var core14 = __importStar2(require_core());
-    var config_1 = require_config();
-    exports2.DEFAULT_COMPRESSION_LEVEL = 6;
-    var ZipUploadStream = class extends stream.Transform {
-      constructor(bufferSize) {
-        super({
-          highWaterMark: bufferSize
-        });
       }
-      // eslint-disable-next-line @typescript-eslint/no-explicit-any
-      _transform(chunk, enc, cb) {
-        cb(null, chunk);
-      }
-    };
-    exports2.ZipUploadStream = ZipUploadStream;
-    function createZipUploadStream(uploadSpecification_1) {
-      return __awaiter2(this, arguments, void 0, function* (uploadSpecification, compressionLevel = exports2.DEFAULT_COMPRESSION_LEVEL) {
-        core14.debug(`Creating Artifact archive with compressionLevel: ${compressionLevel}`);
-        const zip = archiver2.create("zip", {
-          highWaterMark: (0, config_1.getUploadChunkSize)(),
-          zlib: { level: compressionLevel }
-        });
-        zip.on("error", zipErrorCallback);
-        zip.on("warning", zipWarningCallback);
-        zip.on("finish", zipFinishCallback);
-        zip.on("end", zipEndCallback);
-        for (const file of uploadSpecification) {
-          if (file.sourcePath !== null) {
-            let sourcePath = file.sourcePath;
-            if (file.stats.isSymbolicLink()) {
-              sourcePath = yield (0, promises_1.realpath)(file.sourcePath);
-            }
-            zip.file(sourcePath, {
-              name: file.destinationPath
+      /**
+       * @see https://websockets.spec.whatwg.org/#dom-websocket-send
+       * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data
+       */
+      send(data) {
+        webidl.brandCheck(this, _WebSocket);
+        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" });
+        data = webidl.converters.WebSocketSendData(data);
+        if (this[kReadyState] === _WebSocket.CONNECTING) {
+          throw new DOMException2("Sent before connected.", "InvalidStateError");
+        }
+        if (!isEstablished(this) || isClosing(this)) {
+          return;
+        }
+        const socket = this[kResponse].socket;
+        if (typeof data === "string") {
+          const value = Buffer.from(data);
+          const frame = new WebsocketFrameSend(value);
+          const buffer = frame.createFrame(opcodes.TEXT);
+          this.#bufferedAmount += value.byteLength;
+          socket.write(buffer, () => {
+            this.#bufferedAmount -= value.byteLength;
+          });
+        } else if (types.isArrayBuffer(data)) {
+          const value = Buffer.from(data);
+          const frame = new WebsocketFrameSend(value);
+          const buffer = frame.createFrame(opcodes.BINARY);
+          this.#bufferedAmount += value.byteLength;
+          socket.write(buffer, () => {
+            this.#bufferedAmount -= value.byteLength;
+          });
+        } else if (ArrayBuffer.isView(data)) {
+          const ab = Buffer.from(data, data.byteOffset, data.byteLength);
+          const frame = new WebsocketFrameSend(ab);
+          const buffer = frame.createFrame(opcodes.BINARY);
+          this.#bufferedAmount += ab.byteLength;
+          socket.write(buffer, () => {
+            this.#bufferedAmount -= ab.byteLength;
+          });
+        } else if (isBlobLike(data)) {
+          const frame = new WebsocketFrameSend();
+          data.arrayBuffer().then((ab) => {
+            const value = Buffer.from(ab);
+            frame.frameData = value;
+            const buffer = frame.createFrame(opcodes.BINARY);
+            this.#bufferedAmount += value.byteLength;
+            socket.write(buffer, () => {
+              this.#bufferedAmount -= value.byteLength;
             });
-          } else {
-            zip.append("", { name: file.destinationPath });
-          }
+          });
         }
-        const bufferSize = (0, config_1.getUploadChunkSize)();
-        const zipUploadStream = new ZipUploadStream(bufferSize);
-        core14.debug(`Zip write high watermark value ${zipUploadStream.writableHighWaterMark}`);
-        core14.debug(`Zip read high watermark value ${zipUploadStream.readableHighWaterMark}`);
-        zip.pipe(zipUploadStream);
-        zip.finalize();
-        return zipUploadStream;
-      });
-    }
-    exports2.createZipUploadStream = createZipUploadStream;
-    var zipErrorCallback = (error3) => {
-      core14.error("An error has occurred while creating the zip file for upload");
-      core14.info(error3);
-      throw new Error("An error has occurred during zip creation for the artifact");
-    };
-    var zipWarningCallback = (error3) => {
-      if (error3.code === "ENOENT") {
-        core14.warning("ENOENT warning during artifact zip creation. No such file or directory");
-        core14.info(error3);
-      } else {
-        core14.warning(`A non-blocking warning has occurred during artifact zip creation: ${error3.code}`);
-        core14.info(error3);
       }
-    };
-    var zipFinishCallback = () => {
-      core14.debug("Zip stream for upload has finished.");
-    };
-    var zipEndCallback = () => {
-      core14.debug("Zip stream for upload has ended.");
-    };
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/upload/upload-artifact.js
-var require_upload_artifact = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/upload-artifact.js"(exports2) {
-    "use strict";
-    var __createBinding2 = 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];
-        } };
+      get readyState() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kReadyState];
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = 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.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      get bufferedAmount() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#bufferedAmount;
+      }
+      get url() {
+        webidl.brandCheck(this, _WebSocket);
+        return URLSerializer(this[kWebSocketURL]);
       }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve2) {
-          resolve2(value);
-        });
+      get extensions() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#extensions;
       }
-      return new (P || (P = Promise))(function(resolve2, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
+      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);
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
+        if (typeof fn === "function") {
+          this.#events.open = fn;
+          this.addEventListener("open", fn);
+        } else {
+          this.#events.open = null;
         }
-        function step(result) {
-          result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
+      }
+      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);
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.uploadArtifact = void 0;
-    var core14 = __importStar2(require_core());
-    var retention_1 = require_retention();
-    var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation();
-    var artifact_twirp_client_1 = require_artifact_twirp_client2();
-    var upload_zip_specification_1 = require_upload_zip_specification();
-    var util_1 = require_util16();
-    var blob_upload_1 = require_blob_upload();
-    var zip_1 = require_zip2();
-    var generated_1 = require_generated();
-    var errors_1 = require_errors3();
-    function uploadArtifact(name, files, rootDirectory, options) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        (0, path_and_artifact_name_validation_1.validateArtifactName)(name);
-        (0, upload_zip_specification_1.validateRootDirectory)(rootDirectory);
-        const zipSpecification = (0, upload_zip_specification_1.getUploadZipSpecification)(files, rootDirectory);
-        if (zipSpecification.length === 0) {
-          throw new errors_1.FilesNotFoundError(zipSpecification.flatMap((s) => s.sourcePath ? [s.sourcePath] : []));
+        if (typeof fn === "function") {
+          this.#events.error = fn;
+          this.addEventListener("error", fn);
+        } else {
+          this.#events.error = null;
         }
-        const backendIds = (0, util_1.getBackendIdsFromToken)();
-        const artifactClient = (0, artifact_twirp_client_1.internalArtifactTwirpClient)();
-        const createArtifactReq = {
-          workflowRunBackendId: backendIds.workflowRunBackendId,
-          workflowJobRunBackendId: backendIds.workflowJobRunBackendId,
-          name,
-          version: 4
-        };
-        const expiresAt = (0, retention_1.getExpiration)(options === null || options === void 0 ? void 0 : options.retentionDays);
-        if (expiresAt) {
-          createArtifactReq.expiresAt = expiresAt;
+      }
+      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);
         }
-        const createArtifactResp = yield artifactClient.CreateArtifact(createArtifactReq);
-        if (!createArtifactResp.ok) {
-          throw new errors_1.InvalidResponseError("CreateArtifact: response from backend was not ok");
+        if (typeof fn === "function") {
+          this.#events.close = fn;
+          this.addEventListener("close", fn);
+        } else {
+          this.#events.close = null;
         }
-        const zipUploadStream = yield (0, zip_1.createZipUploadStream)(zipSpecification, options === null || options === void 0 ? void 0 : options.compressionLevel);
-        const uploadResult = yield (0, blob_upload_1.uploadZipToBlobStorage)(createArtifactResp.signedUploadUrl, zipUploadStream);
-        const finalizeArtifactReq = {
-          workflowRunBackendId: backendIds.workflowRunBackendId,
-          workflowJobRunBackendId: backendIds.workflowJobRunBackendId,
-          name,
-          size: uploadResult.uploadSize ? uploadResult.uploadSize.toString() : "0"
-        };
-        if (uploadResult.sha256Hash) {
-          finalizeArtifactReq.hash = generated_1.StringValue.create({
-            value: `sha256:${uploadResult.sha256Hash}`
-          });
+      }
+      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);
         }
-        core14.info(`Finalizing artifact upload`);
-        const finalizeArtifactResp = yield artifactClient.FinalizeArtifact(finalizeArtifactReq);
-        if (!finalizeArtifactResp.ok) {
-          throw new errors_1.InvalidResponseError("FinalizeArtifact: response from backend was not ok");
+        if (typeof fn === "function") {
+          this.#events.message = fn;
+          this.addEventListener("message", fn);
+        } else {
+          this.#events.message = null;
         }
-        const artifactId = BigInt(finalizeArtifactResp.artifactId);
-        core14.info(`Artifact ${name}.zip successfully finalized. Artifact ID ${artifactId}`);
-        return {
-          size: uploadResult.uploadSize,
-          digest: uploadResult.sha256Hash,
-          id: Number(artifactId)
-        };
-      });
-    }
-    exports2.uploadArtifact = uploadArtifact;
-  }
-});
-
-// node_modules/@actions/artifact/node_modules/@actions/github/lib/context.js
-var require_context2 = __commonJS({
-  "node_modules/@actions/artifact/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 {
+      }
+      get binaryType() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kBinaryType];
+      }
+      set binaryType(type2) {
+        webidl.brandCheck(this, _WebSocket);
+        if (type2 !== "blob" && type2 !== "arraybuffer") {
+          this[kBinaryType] = "blob";
+        } else {
+          this[kBinaryType] = type2;
+        }
+      }
       /**
-       * Hydrate the context from the environment
+       * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
        */
-      constructor() {
-        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 {
-            const path3 = process.env.GITHUB_EVENT_PATH;
-            process.stdout.write(`GITHUB_EVENT_PATH ${path3} does not exist${os_1.EOL}`);
-          }
+      #onConnectionEstablished(response) {
+        this[kResponse] = response;
+        const parser = new ByteParser(this);
+        parser.on("drain", function onParserDrain() {
+          this.ws[kResponse].socket.resume();
+        });
+        response.socket.ws = this;
+        this[kByteParser] = parser;
+        this[kReadyState] = states.OPEN;
+        const extensions = response.headersList.get("sec-websocket-extensions");
+        if (extensions !== null) {
+          this.#extensions = extensions;
         }
-        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`;
+        const protocol = response.headersList.get("sec-websocket-protocol");
+        if (protocol !== null) {
+          this.#protocol = protocol;
+        }
+        fireEvent("open", this);
       }
-      get issue() {
-        const payload = this.payload;
-        return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || payload).number });
+    };
+    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
       }
-      get repo() {
-        if (process.env.GITHUB_REPOSITORY) {
-          const [owner, repo] = process.env.GITHUB_REPOSITORY.split("/");
-          return { owner, repo };
+    });
+    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) {
+      if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
+        return webidl.converters["sequence"](V);
+      }
+      return webidl.converters.DOMString(V);
+    };
+    webidl.converters.WebSocketInit = webidl.dictionaryConverter([
+      {
+        key: "protocols",
+        converter: webidl.converters["DOMString or sequence"],
+        get defaultValue() {
+          return [];
         }
-        if (this.payload.repository) {
-          return {
-            owner: this.payload.repository.owner.login,
-            repo: this.payload.repository.name
-          };
+      },
+      {
+        key: "dispatcher",
+        converter: (V) => V,
+        get defaultValue() {
+          return getGlobalDispatcher();
         }
-        throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'");
+      },
+      {
+        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.isAnyArrayBuffer(V)) {
+          return webidl.converters.BufferSource(V);
+        }
+      }
+      return webidl.converters.USVString(V);
+    };
+    module2.exports = {
+      WebSocket
     };
-    exports2.Context = Context;
   }
 });
 
-// node_modules/@actions/artifact/node_modules/@actions/github/node_modules/@actions/http-client/lib/proxy.js
-var require_proxy2 = __commonJS({
-  "node_modules/@actions/artifact/node_modules/@actions/github/node_modules/@actions/http-client/lib/proxy.js"(exports2) {
+// node_modules/undici/index.js
+var require_undici3 = __commonJS({
+  "node_modules/undici/index.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.checkBypass = exports2.getProxyUrl = void 0;
-    function getProxyUrl(reqUrl) {
-      const usingSsl = reqUrl.protocol === "https:";
-      if (checkBypass(reqUrl)) {
-        return void 0;
-      }
-      const proxyVar = (() => {
-        if (usingSsl) {
-          return process.env["https_proxy"] || process.env["HTTPS_PROXY"];
+    var Client = require_client3();
+    var Dispatcher = require_dispatcher3();
+    var errors = require_errors5();
+    var Pool = require_pool3();
+    var BalancedPool = require_balanced_pool3();
+    var Agent = require_agent3();
+    var util = require_util23();
+    var { InvalidArgumentError } = errors;
+    var api = require_api3();
+    var buildConnector = require_connect3();
+    var MockClient = require_mock_client3();
+    var MockAgent = require_mock_agent3();
+    var MockPool = require_mock_pool3();
+    var mockErrors = require_mock_errors3();
+    var ProxyAgent = require_proxy_agent3();
+    var RetryHandler = require_RetryHandler();
+    var { getGlobalDispatcher, setGlobalDispatcher } = require_global6();
+    var DecoratorHandler = require_DecoratorHandler();
+    var RedirectHandler = require_RedirectHandler();
+    var createRedirectInterceptor = require_redirectInterceptor();
+    var hasCrypto;
+    try {
+      require("crypto");
+      hasCrypto = true;
+    } catch {
+      hasCrypto = false;
+    }
+    Object.assign(Dispatcher.prototype, api);
+    module2.exports.Dispatcher = Dispatcher;
+    module2.exports.Client = Client;
+    module2.exports.Pool = Pool;
+    module2.exports.BalancedPool = BalancedPool;
+    module2.exports.Agent = Agent;
+    module2.exports.ProxyAgent = ProxyAgent;
+    module2.exports.RetryHandler = RetryHandler;
+    module2.exports.DecoratorHandler = DecoratorHandler;
+    module2.exports.RedirectHandler = RedirectHandler;
+    module2.exports.createRedirectInterceptor = createRedirectInterceptor;
+    module2.exports.buildConnector = buildConnector;
+    module2.exports.errors = errors;
+    function makeDispatcher(fn) {
+      return (url, opts, 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 path3 = opts.path;
+          if (!opts.path.startsWith("/")) {
+            path3 = `/${path3}`;
+          }
+          url = new URL(util.parseOrigin(url).origin + path3);
         } else {
-          return process.env["http_proxy"] || process.env["HTTP_PROXY"];
+          if (!opts) {
+            opts = typeof url === "object" ? url : {};
+          }
+          url = util.parseURL(url);
         }
-      })();
-      if (proxyVar) {
-        try {
-          return new DecodedURL(proxyVar);
-        } catch (_a) {
-          if (!proxyVar.startsWith("http://") && !proxyVar.startsWith("https://"))
-            return new DecodedURL(`http://${proxyVar}`);
+        const { agent, dispatcher = getGlobalDispatcher() } = opts;
+        if (agent) {
+          throw new InvalidArgumentError("unsupported opts.agent. Did you mean opts.client?");
         }
-      } else {
-        return void 0;
-      }
+        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);
+      };
     }
-    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;
-      }
-      let reqPort;
-      if (reqUrl.port) {
-        reqPort = Number(reqUrl.port);
-      } else if (reqUrl.protocol === "http:") {
-        reqPort = 80;
-      } else if (reqUrl.protocol === "https:") {
-        reqPort = 443;
-      }
-      const upperReqHosts = [reqUrl.hostname.toUpperCase()];
-      if (typeof reqPort === "number") {
-        upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`);
-      }
-      for (const upperNoProxyItem of noProxy.split(",").map((x) => x.trim().toUpperCase()).filter((x) => x)) {
-        if (upperNoProxyItem === "*" || upperReqHosts.some((x) => x === upperNoProxyItem || x.endsWith(`.${upperNoProxyItem}`) || upperNoProxyItem.startsWith(".") && x.endsWith(`${upperNoProxyItem}`))) {
-          return true;
+    module2.exports.setGlobalDispatcher = setGlobalDispatcher;
+    module2.exports.getGlobalDispatcher = getGlobalDispatcher;
+    if (util.nodeMajor > 16 || util.nodeMajor === 16 && util.nodeMinor >= 8) {
+      let fetchImpl = null;
+      module2.exports.fetch = async function fetch(resource) {
+        if (!fetchImpl) {
+          fetchImpl = require_fetch3().fetch;
         }
-      }
-      return false;
+        try {
+          return await fetchImpl(...arguments);
+        } catch (err) {
+          if (typeof err === "object") {
+            Error.captureStackTrace(err, this);
+          }
+          throw err;
+        }
+      };
+      module2.exports.Headers = require_headers4().Headers;
+      module2.exports.Response = require_response4().Response;
+      module2.exports.Request = require_request6().Request;
+      module2.exports.FormData = require_formdata3().FormData;
+      module2.exports.File = require_file5().File;
+      module2.exports.FileReader = require_filereader3().FileReader;
+      const { setGlobalOrigin, getGlobalOrigin } = require_global5();
+      module2.exports.setGlobalOrigin = setGlobalOrigin;
+      module2.exports.getGlobalOrigin = getGlobalOrigin;
+      const { CacheStorage } = require_cachestorage3();
+      const { kConstruct } = require_symbols14();
+      module2.exports.caches = new CacheStorage(kConstruct);
     }
-    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]");
+    if (util.nodeMajor >= 16) {
+      const { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies3();
+      module2.exports.deleteCookie = deleteCookie;
+      module2.exports.getCookies = getCookies;
+      module2.exports.getSetCookies = getSetCookies;
+      module2.exports.setCookie = setCookie;
+      const { parseMIMEType, serializeAMimeType } = require_dataURL();
+      module2.exports.parseMIMEType = parseMIMEType;
+      module2.exports.serializeAMimeType = serializeAMimeType;
     }
-    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;
-      }
-    };
+    if (util.nodeMajor >= 18 && hasCrypto) {
+      const { WebSocket } = require_websocket3();
+      module2.exports.WebSocket = WebSocket;
+    }
+    module2.exports.request = makeDispatcher(api.request);
+    module2.exports.stream = makeDispatcher(api.stream);
+    module2.exports.pipeline = makeDispatcher(api.pipeline);
+    module2.exports.connect = makeDispatcher(api.connect);
+    module2.exports.upgrade = makeDispatcher(api.upgrade);
+    module2.exports.MockClient = MockClient;
+    module2.exports.MockPool = MockPool;
+    module2.exports.MockAgent = MockAgent;
+    module2.exports.mockErrors = mockErrors;
   }
 });
 
@@ -117901,7 +136151,7 @@ var require_lib3 = __commonJS({
     var https2 = __importStar2(require("https"));
     var pm = __importStar2(require_proxy2());
     var tunnel = __importStar2(require_tunnel2());
-    var undici_1 = require_undici2();
+    var undici_1 = require_undici3();
     var HttpCodes;
     (function(HttpCodes2) {
       HttpCodes2[HttpCodes2["OK"] = 200] = "OK";
@@ -118457,7 +136707,7 @@ var require_lib3 = __commonJS({
 });
 
 // node_modules/@actions/artifact/node_modules/@actions/github/lib/internal/utils.js
-var require_utils9 = __commonJS({
+var require_utils10 = __commonJS({
   "node_modules/@actions/artifact/node_modules/@actions/github/lib/internal/utils.js"(exports2) {
     "use strict";
     var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
@@ -118517,7 +136767,7 @@ var require_utils9 = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.getApiBaseUrl = exports2.getProxyFetch = exports2.getProxyAgentDispatcher = exports2.getProxyAgent = exports2.getAuthString = void 0;
     var httpClient = __importStar2(require_lib3());
-    var undici_1 = require_undici2();
+    var undici_1 = require_undici3();
     function getAuthString(token, options) {
       if (!token && !options.auth) {
         throw new Error("Parameter token or opts.auth is required");
@@ -122363,7 +140613,7 @@ var require_dist_node10 = __commonJS({
 });
 
 // node_modules/@actions/artifact/node_modules/@actions/github/lib/utils.js
-var require_utils10 = __commonJS({
+var require_utils11 = __commonJS({
   "node_modules/@actions/artifact/node_modules/@actions/github/lib/utils.js"(exports2) {
     "use strict";
     var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
@@ -122396,7 +140646,7 @@ var require_utils10 = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.getOctokitOptions = exports2.GitHub = exports2.defaults = exports2.context = void 0;
     var Context = __importStar2(require_context2());
-    var Utils = __importStar2(require_utils9());
+    var Utils = __importStar2(require_utils10());
     var core_1 = require_dist_node8();
     var plugin_rest_endpoint_methods_1 = require_dist_node9();
     var plugin_paginate_rest_1 = require_dist_node10();
@@ -122456,7 +140706,7 @@ var require_github2 = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.getOctokit = exports2.context = void 0;
     var Context = __importStar2(require_context2());
-    var utils_1 = require_utils10();
+    var utils_1 = require_utils11();
     exports2.context = new Context.Context();
     function getOctokit(token, options, ...additionalPlugins) {
       const GitHubWithPlugins = utils_1.GitHub.plugin(...additionalPlugins);
@@ -124415,7 +142665,7 @@ var require_download_artifact = __commonJS({
     var config_1 = require_config();
     var artifact_twirp_client_1 = require_artifact_twirp_client2();
     var generated_1 = require_generated();
-    var util_1 = require_util16();
+    var util_1 = require_util17();
     var errors_1 = require_errors3();
     var scrubQueryParameters = (url) => {
       const parsed = new URL(url);
@@ -124797,10 +143047,10 @@ var require_get_artifact = __commonJS({
     var github_1 = require_github2();
     var plugin_retry_1 = require_dist_node12();
     var core14 = __importStar2(require_core());
-    var utils_1 = require_utils10();
+    var utils_1 = require_utils11();
     var retry_options_1 = require_retry_options();
     var plugin_request_log_1 = require_dist_node11();
-    var util_1 = require_util16();
+    var util_1 = require_util17();
     var user_agent_1 = require_user_agent();
     var artifact_twirp_client_1 = require_artifact_twirp_client2();
     var generated_1 = require_generated();
@@ -124921,11 +143171,11 @@ var require_delete_artifact = __commonJS({
     var github_1 = require_github2();
     var user_agent_1 = require_user_agent();
     var retry_options_1 = require_retry_options();
-    var utils_1 = require_utils10();
+    var utils_1 = require_utils11();
     var plugin_request_log_1 = require_dist_node11();
     var plugin_retry_1 = require_dist_node12();
     var artifact_twirp_client_1 = require_artifact_twirp_client2();
-    var util_1 = require_util16();
+    var util_1 = require_util17();
     var generated_1 = require_generated();
     var get_artifact_1 = require_get_artifact();
     var errors_1 = require_errors3();
@@ -125027,11 +143277,11 @@ var require_list_artifacts = __commonJS({
     var github_1 = require_github2();
     var user_agent_1 = require_user_agent();
     var retry_options_1 = require_retry_options();
-    var utils_1 = require_utils10();
+    var utils_1 = require_utils11();
     var plugin_request_log_1 = require_dist_node11();
     var plugin_retry_1 = require_dist_node12();
     var artifact_twirp_client_1 = require_artifact_twirp_client2();
-    var util_1 = require_util16();
+    var util_1 = require_util17();
     var config_1 = require_config();
     var generated_1 = require_generated();
     var maximumArtifactCount = (0, config_1.getMaxArtifactListCount)();
@@ -125148,7 +143398,7 @@ var require_list_artifacts = __commonJS({
 });
 
 // node_modules/@actions/artifact/lib/internal/client.js
-var require_client3 = __commonJS({
+var require_client4 = __commonJS({
   "node_modules/@actions/artifact/lib/internal/client.js"(exports2) {
     "use strict";
     var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
@@ -125335,17 +143585,17 @@ var require_artifact2 = __commonJS({
       for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p);
     };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    var client_1 = require_client3();
+    var client_1 = require_client4();
     __exportStar2(require_interfaces2(), exports2);
     __exportStar2(require_errors3(), exports2);
-    __exportStar2(require_client3(), exports2);
+    __exportStar2(require_client4(), exports2);
     var client = new client_1.DefaultArtifactClient();
     exports2.default = client;
   }
 });
 
 // node_modules/@actions/artifact-legacy/node_modules/@actions/core/lib/utils.js
-var require_utils11 = __commonJS({
+var require_utils12 = __commonJS({
   "node_modules/@actions/artifact-legacy/node_modules/@actions/core/lib/utils.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -125410,7 +143660,7 @@ var require_command2 = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.issue = exports2.issueCommand = void 0;
     var os2 = __importStar2(require("os"));
-    var utils_1 = require_utils11();
+    var utils_1 = require_utils12();
     function issueCommand(command, properties, message) {
       const cmd = new Command(command, properties, message);
       process.stdout.write(cmd.toString() + os2.EOL);
@@ -125498,7 +143748,7 @@ var require_file_command2 = __commonJS({
     var crypto2 = __importStar2(require("crypto"));
     var fs3 = __importStar2(require("fs"));
     var os2 = __importStar2(require("os"));
-    var utils_1 = require_utils11();
+    var utils_1 = require_utils12();
     function issueFileCommand(command, message) {
       const filePath = process.env[`GITHUB_${command}`];
       if (!filePath) {
@@ -125673,7 +143923,7 @@ var require_lib4 = __commonJS({
     var https2 = __importStar2(require("https"));
     var pm = __importStar2(require_proxy3());
     var tunnel = __importStar2(require_tunnel2());
-    var undici_1 = require_undici2();
+    var undici_1 = require_undici3();
     var HttpCodes;
     (function(HttpCodes2) {
       HttpCodes2[HttpCodes2["OK"] = 200] = "OK";
@@ -127966,7 +146216,7 @@ var require_core3 = __commonJS({
     exports2.platform = exports2.toPlatformPath = exports2.toWin32Path = exports2.toPosixPath = exports2.markdownSummary = exports2.summary = exports2.getIDToken = exports2.getState = exports2.saveState = exports2.group = exports2.endGroup = exports2.startGroup = exports2.info = exports2.notice = exports2.warning = exports2.error = exports2.debug = exports2.isDebug = exports2.setFailed = exports2.setCommandEcho = exports2.setOutput = exports2.getBooleanInput = exports2.getMultilineInput = exports2.getInput = exports2.addPath = exports2.setSecret = exports2.exportVariable = exports2.ExitCode = void 0;
     var command_1 = require_command2();
     var file_command_1 = require_file_command2();
-    var utils_1 = require_utils11();
+    var utils_1 = require_utils12();
     var os2 = __importStar2(require("os"));
     var path3 = __importStar2(require("path"));
     var oidc_utils_1 = require_oidc_utils2();
@@ -129039,7 +147289,7 @@ var require_crc64 = __commonJS({
 });
 
 // node_modules/@actions/artifact-legacy/lib/internal/utils.js
-var require_utils12 = __commonJS({
+var require_utils13 = __commonJS({
   "node_modules/@actions/artifact-legacy/lib/internal/utils.js"(exports2) {
     "use strict";
     var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
@@ -129349,7 +147599,7 @@ var require_http_manager = __commonJS({
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.HttpManager = void 0;
-    var utils_1 = require_utils12();
+    var utils_1 = require_utils13();
     var HttpManager = class {
       constructor(clientCount, userAgent2) {
         if (clientCount < 1) {
@@ -129604,7 +147854,7 @@ var require_requestUtils = __commonJS({
     };
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.retryHttpClientRequest = exports2.retry = void 0;
-    var utils_1 = require_utils12();
+    var utils_1 = require_utils13();
     var core14 = __importStar2(require_core3());
     var config_variables_1 = require_config_variables();
     function retry2(name, operation, customErrorMessages, maxAttempts) {
@@ -129725,7 +147975,7 @@ var require_upload_http_client = __commonJS({
     var core14 = __importStar2(require_core3());
     var tmp = __importStar2(require_tmp_promise());
     var stream = __importStar2(require("stream"));
-    var utils_1 = require_utils12();
+    var utils_1 = require_utils13();
     var config_variables_1 = require_config_variables();
     var util_1 = require("util");
     var url_1 = require("url");
@@ -130116,7 +148366,7 @@ var require_download_http_client = __commonJS({
     var fs3 = __importStar2(require("fs"));
     var core14 = __importStar2(require_core3());
     var zlib = __importStar2(require("zlib"));
-    var utils_1 = require_utils12();
+    var utils_1 = require_utils13();
     var url_1 = require("url");
     var status_reporter_1 = require_status_reporter();
     var perf_hooks_1 = require("perf_hooks");
@@ -130459,7 +148709,7 @@ var require_artifact_client = __commonJS({
     var core14 = __importStar2(require_core3());
     var upload_specification_1 = require_upload_specification();
     var upload_http_client_1 = require_upload_http_client();
-    var utils_1 = require_utils12();
+    var utils_1 = require_utils13();
     var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation2();
     var download_http_client_1 = require_download_http_client();
     var download_specification_1 = require_download_specification();
@@ -134967,7 +153217,7 @@ var require_semver3 = __commonJS({
 });
 
 // node_modules/@actions/cache/lib/internal/constants.js
-var require_constants19 = __commonJS({
+var require_constants24 = __commonJS({
   "node_modules/@actions/cache/lib/internal/constants.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -135106,7 +153356,7 @@ var require_cacheUtils = __commonJS({
     var path3 = __importStar2(require("path"));
     var semver9 = __importStar2(require_semver3());
     var util = __importStar2(require("util"));
-    var constants_1 = require_constants19();
+    var constants_1 = require_constants24();
     var versionSalt = "1.0";
     function createTempDirectory() {
       return __awaiter2(this, void 0, void 0, function* () {
@@ -135246,7 +153496,7 @@ var require_cacheUtils = __commonJS({
 });
 
 // node_modules/@actions/cache/lib/internal/shared/errors.js
-var require_errors5 = __commonJS({
+var require_errors6 = __commonJS({
   "node_modules/@actions/cache/lib/internal/shared/errors.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -135402,7 +153652,7 @@ var require_uploadUtils = __commonJS({
     exports2.uploadCacheArchiveSDK = uploadCacheArchiveSDK;
     var core14 = __importStar2(require_core());
     var storage_blob_1 = require_commonjs17();
-    var errors_1 = require_errors5();
+    var errors_1 = require_errors6();
     var UploadProgress = class {
       constructor(contentLength) {
         this.contentLength = contentLength;
@@ -135593,7 +153843,7 @@ var require_requestUtils2 = __commonJS({
     exports2.retryHttpClientResponse = retryHttpClientResponse;
     var core14 = __importStar2(require_core());
     var http_client_1 = require_lib();
-    var constants_1 = require_constants19();
+    var constants_1 = require_constants24();
     function isSuccessStatusCode(statusCode) {
       if (!statusCode) {
         return false;
@@ -135918,7 +154168,7 @@ var require_downloadUtils = __commonJS({
     var stream = __importStar2(require("stream"));
     var util = __importStar2(require("util"));
     var utils = __importStar2(require_cacheUtils());
-    var constants_1 = require_constants19();
+    var constants_1 = require_constants24();
     var requestUtils_1 = require_requestUtils2();
     var abort_controller_1 = require_dist5();
     function pipeResponseToStream(response, output) {
@@ -136858,7 +155108,7 @@ var require_cachemetadata = __commonJS({
 });
 
 // node_modules/@actions/cache/lib/generated/results/api/v1/cache.js
-var require_cache4 = __commonJS({
+var require_cache5 = __commonJS({
   "node_modules/@actions/cache/lib/generated/results/api/v1/cache.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -137343,7 +155593,7 @@ var require_cache_twirp_client = __commonJS({
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.CacheServiceClientProtobuf = exports2.CacheServiceClientJSON = void 0;
-    var cache_1 = require_cache4();
+    var cache_1 = require_cache5();
     var CacheServiceClientJSON = class {
       constructor(rpc) {
         this.rpc = rpc;
@@ -137411,7 +155661,7 @@ var require_cache_twirp_client = __commonJS({
 });
 
 // node_modules/@actions/cache/lib/internal/shared/util.js
-var require_util22 = __commonJS({
+var require_util30 = __commonJS({
   "node_modules/@actions/cache/lib/internal/shared/util.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -137482,13 +155732,13 @@ var require_cacheTwirpClient = __commonJS({
     exports2.internalCacheTwirpClient = internalCacheTwirpClient;
     var core_1 = require_core();
     var user_agent_1 = require_user_agent2();
-    var errors_1 = require_errors5();
+    var errors_1 = require_errors6();
     var config_1 = require_config2();
     var cacheUtils_1 = require_cacheUtils();
     var auth_1 = require_auth();
     var http_client_1 = require_lib();
     var cache_twirp_client_1 = require_cache_twirp_client();
-    var util_1 = require_util22();
+    var util_1 = require_util30();
     var CacheServiceClient = class {
       constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) {
         this.maxAttempts = 5;
@@ -137712,7 +155962,7 @@ var require_tar2 = __commonJS({
     var fs_1 = require("fs");
     var path3 = __importStar2(require("path"));
     var utils = __importStar2(require_cacheUtils());
-    var constants_1 = require_constants19();
+    var constants_1 = require_constants24();
     var IS_WINDOWS = process.platform === "win32";
     function getTarPath() {
       return __awaiter2(this, void 0, void 0, function* () {
@@ -137888,7 +156138,7 @@ var require_tar2 = __commonJS({
 });
 
 // node_modules/@actions/cache/lib/cache.js
-var require_cache5 = __commonJS({
+var require_cache6 = __commonJS({
   "node_modules/@actions/cache/lib/cache.js"(exports2) {
     "use strict";
     var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
@@ -142801,7 +161051,7 @@ function withGroup(groupName, f) {
 var semver5 = __toESM(require_semver2());
 
 // src/overlay-database-utils.ts
-var actionsCache = __toESM(require_cache5());
+var actionsCache = __toESM(require_cache6());
 
 // src/git-utils.ts
 var core8 = __toESM(require_core());
@@ -143032,7 +161282,7 @@ var featureConfig = {
 };
 
 // src/trap-caching.ts
-var actionsCache2 = __toESM(require_cache5());
+var actionsCache2 = __toESM(require_cache6());
 
 // src/config-utils.ts
 var OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_MB = 2e4;
@@ -143083,7 +161333,7 @@ var semver7 = __toESM(require_semver2());
 var STREAMING_HIGH_WATERMARK_BYTES = 4 * 1024 * 1024;
 
 // src/dependency-caching.ts
-var actionsCache3 = __toESM(require_cache5());
+var actionsCache3 = __toESM(require_cache6());
 var glob = __toESM(require_glob2());
 
 // src/artifact-scanner.ts
@@ -143475,10 +161725,12 @@ async function runWrapper() {
 void runWrapper();
 /*! Bundled license information:
 
+undici/lib/web/fetch/body.js:
 undici/lib/web/fetch/body.js:
 undici/lib/fetch/body.js:
   (*! formdata-polyfill. MIT License. Jimmy Wärting  *)
 
+undici/lib/web/websocket/frame.js:
 undici/lib/web/websocket/frame.js:
 undici/lib/websocket/frame.js:
   (*! ws. MIT License. Einar Otto Stangvik  *)
diff --git a/lib/upload-sarif-action.js b/lib/upload-sarif-action.js
index 852442e176..b48d69f74c 100644
--- a/lib/upload-sarif-action.js
+++ b/lib/upload-sarif-action.js
@@ -21549,9 +21549,9 @@ var require_context = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/core/symbols.js
 var require_symbols6 = __commonJS({
-  "node_modules/undici/lib/core/symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/symbols.js"(exports2, module2) {
     module2.exports = {
       kClose: /* @__PURE__ */ Symbol("close"),
       kDestroy: /* @__PURE__ */ Symbol("destroy"),
@@ -21562,7 +21562,6 @@ var require_symbols6 = __commonJS({
       kQueue: /* @__PURE__ */ Symbol("queue"),
       kConnect: /* @__PURE__ */ Symbol("connect"),
       kConnecting: /* @__PURE__ */ Symbol("connecting"),
-      kHeadersList: /* @__PURE__ */ Symbol("headers list"),
       kKeepAliveDefaultTimeout: /* @__PURE__ */ Symbol("default keep alive timeout"),
       kKeepAliveMaxTimeout: /* @__PURE__ */ Symbol("max keep alive timeout"),
       kKeepAliveTimeoutThreshold: /* @__PURE__ */ Symbol("keep alive timeout threshold"),
@@ -21575,6 +21574,7 @@ var require_symbols6 = __commonJS({
       kHost: /* @__PURE__ */ Symbol("host"),
       kNoRef: /* @__PURE__ */ Symbol("no ref"),
       kBodyUsed: /* @__PURE__ */ Symbol("used"),
+      kBody: /* @__PURE__ */ Symbol("abstracted request body"),
       kRunning: /* @__PURE__ */ Symbol("running"),
       kBlocking: /* @__PURE__ */ Symbol("blocking"),
       kPending: /* @__PURE__ */ Symbol("pending"),
@@ -21587,6 +21587,8 @@ var require_symbols6 = __commonJS({
       kNeedDrain: /* @__PURE__ */ Symbol("need drain"),
       kReset: /* @__PURE__ */ Symbol("reset"),
       kDestroyed: /* @__PURE__ */ Symbol.for("nodejs.stream.destroyed"),
+      kResume: /* @__PURE__ */ Symbol("resume"),
+      kOnError: /* @__PURE__ */ Symbol("on error"),
       kMaxHeadersSize: /* @__PURE__ */ Symbol("max headers size"),
       kRunningIdx: /* @__PURE__ */ Symbol("running index"),
       kPendingIdx: /* @__PURE__ */ Symbol("pending index"),
@@ -21608,67 +21610,90 @@ var require_symbols6 = __commonJS({
       kMaxResponseSize: /* @__PURE__ */ Symbol("max response size"),
       kHTTP2Session: /* @__PURE__ */ Symbol("http2Session"),
       kHTTP2SessionState: /* @__PURE__ */ Symbol("http2Session state"),
-      kHTTP2BuildRequest: /* @__PURE__ */ Symbol("http2 build request"),
-      kHTTP1BuildRequest: /* @__PURE__ */ Symbol("http1 build request"),
-      kHTTP2CopyHeaders: /* @__PURE__ */ Symbol("http2 copy headers"),
-      kHTTPConnVersion: /* @__PURE__ */ Symbol("http connection version"),
       kRetryHandlerDefaultRetry: /* @__PURE__ */ Symbol("retry agent default retry"),
-      kConstruct: /* @__PURE__ */ Symbol("constructable")
+      kConstruct: /* @__PURE__ */ Symbol("constructable"),
+      kListeners: /* @__PURE__ */ Symbol("listeners"),
+      kHTTPContext: /* @__PURE__ */ Symbol("http context"),
+      kMaxConcurrentStreams: /* @__PURE__ */ Symbol("max concurrent streams"),
+      kNoProxyAgent: /* @__PURE__ */ Symbol("no proxy agent"),
+      kHttpProxyAgent: /* @__PURE__ */ Symbol("http proxy agent"),
+      kHttpsProxyAgent: /* @__PURE__ */ Symbol("https proxy agent")
     };
   }
 });
 
-// node_modules/undici/lib/core/errors.js
+// node_modules/@actions/github/node_modules/undici/lib/core/errors.js
 var require_errors2 = __commonJS({
-  "node_modules/undici/lib/core/errors.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/errors.js"(exports2, module2) {
     "use strict";
+    var kUndiciError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR");
     var UndiciError = class extends Error {
       constructor(message) {
         super(message);
         this.name = "UndiciError";
         this.code = "UND_ERR";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kUndiciError] === true;
+      }
+      [kUndiciError] = true;
     };
-    var ConnectTimeoutError = class _ConnectTimeoutError extends UndiciError {
+    var kConnectTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT");
+    var ConnectTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ConnectTimeoutError);
         this.name = "ConnectTimeoutError";
         this.message = message || "Connect Timeout Error";
         this.code = "UND_ERR_CONNECT_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kConnectTimeoutError] === true;
+      }
+      [kConnectTimeoutError] = true;
     };
-    var HeadersTimeoutError = class _HeadersTimeoutError extends UndiciError {
+    var kHeadersTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT");
+    var HeadersTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersTimeoutError);
         this.name = "HeadersTimeoutError";
         this.message = message || "Headers Timeout Error";
         this.code = "UND_ERR_HEADERS_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersTimeoutError] === true;
+      }
+      [kHeadersTimeoutError] = true;
     };
-    var HeadersOverflowError = class _HeadersOverflowError extends UndiciError {
+    var kHeadersOverflowError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW");
+    var HeadersOverflowError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersOverflowError);
         this.name = "HeadersOverflowError";
         this.message = message || "Headers Overflow Error";
         this.code = "UND_ERR_HEADERS_OVERFLOW";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersOverflowError] === true;
+      }
+      [kHeadersOverflowError] = true;
     };
-    var BodyTimeoutError = class _BodyTimeoutError extends UndiciError {
+    var kBodyTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT");
+    var BodyTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _BodyTimeoutError);
         this.name = "BodyTimeoutError";
         this.message = message || "Body Timeout Error";
         this.code = "UND_ERR_BODY_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBodyTimeoutError] === true;
+      }
+      [kBodyTimeoutError] = true;
     };
-    var ResponseStatusCodeError = class _ResponseStatusCodeError extends UndiciError {
+    var kResponseStatusCodeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RESPONSE_STATUS_CODE");
+    var ResponseStatusCodeError = class extends UndiciError {
       constructor(message, statusCode, headers, body) {
         super(message);
-        Error.captureStackTrace(this, _ResponseStatusCodeError);
         this.name = "ResponseStatusCodeError";
         this.message = message || "Response Status Code Error";
         this.code = "UND_ERR_RESPONSE_STATUS_CODE";
@@ -21677,129 +21702,198 @@ var require_errors2 = __commonJS({
         this.statusCode = statusCode;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseStatusCodeError] === true;
+      }
+      [kResponseStatusCodeError] = true;
     };
-    var InvalidArgumentError = class _InvalidArgumentError extends UndiciError {
+    var kInvalidArgumentError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_ARG");
+    var InvalidArgumentError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidArgumentError);
         this.name = "InvalidArgumentError";
         this.message = message || "Invalid Argument Error";
         this.code = "UND_ERR_INVALID_ARG";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidArgumentError] === true;
+      }
+      [kInvalidArgumentError] = true;
     };
-    var InvalidReturnValueError = class _InvalidReturnValueError extends UndiciError {
+    var kInvalidReturnValueError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE");
+    var InvalidReturnValueError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidReturnValueError);
         this.name = "InvalidReturnValueError";
         this.message = message || "Invalid Return Value Error";
         this.code = "UND_ERR_INVALID_RETURN_VALUE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidReturnValueError] === true;
+      }
+      [kInvalidReturnValueError] = true;
+    };
+    var kAbortError = /* @__PURE__ */ 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";
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kAbortError] === true;
+      }
+      [kAbortError] = true;
     };
-    var RequestAbortedError = class _RequestAbortedError extends UndiciError {
+    var kRequestAbortedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_ABORTED");
+    var RequestAbortedError = class extends AbortError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestAbortedError);
         this.name = "AbortError";
         this.message = message || "Request aborted";
         this.code = "UND_ERR_ABORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestAbortedError] === true;
+      }
+      [kRequestAbortedError] = true;
     };
-    var InformationalError = class _InformationalError extends UndiciError {
+    var kInformationalError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INFO");
+    var InformationalError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InformationalError);
         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 RequestContentLengthMismatchError = class _RequestContentLengthMismatchError extends UndiciError {
+    var kRequestContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH");
+    var RequestContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestContentLengthMismatchError);
         this.name = "RequestContentLengthMismatchError";
         this.message = message || "Request body length does not match content-length header";
         this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestContentLengthMismatchError] === true;
+      }
+      [kRequestContentLengthMismatchError] = true;
     };
-    var ResponseContentLengthMismatchError = class _ResponseContentLengthMismatchError extends UndiciError {
+    var kResponseContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH");
+    var ResponseContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseContentLengthMismatchError);
         this.name = "ResponseContentLengthMismatchError";
         this.message = message || "Response body length does not match content-length header";
         this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseContentLengthMismatchError] === true;
+      }
+      [kResponseContentLengthMismatchError] = true;
     };
-    var ClientDestroyedError = class _ClientDestroyedError extends UndiciError {
+    var kClientDestroyedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_DESTROYED");
+    var ClientDestroyedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientDestroyedError);
         this.name = "ClientDestroyedError";
         this.message = message || "The client is destroyed";
         this.code = "UND_ERR_DESTROYED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientDestroyedError] === true;
+      }
+      [kClientDestroyedError] = true;
     };
-    var ClientClosedError = class _ClientClosedError extends UndiciError {
+    var kClientClosedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CLOSED");
+    var ClientClosedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientClosedError);
         this.name = "ClientClosedError";
         this.message = message || "The client is closed";
         this.code = "UND_ERR_CLOSED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientClosedError] === true;
+      }
+      [kClientClosedError] = true;
     };
-    var SocketError = class _SocketError extends UndiciError {
+    var kSocketError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_SOCKET");
+    var SocketError = class extends UndiciError {
       constructor(message, socket) {
         super(message);
-        Error.captureStackTrace(this, _SocketError);
         this.name = "SocketError";
         this.message = message || "Socket error";
         this.code = "UND_ERR_SOCKET";
         this.socket = socket;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kSocketError] === true;
+      }
+      [kSocketError] = true;
     };
-    var NotSupportedError = class _NotSupportedError extends UndiciError {
+    var kNotSupportedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED");
+    var NotSupportedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _NotSupportedError);
         this.name = "NotSupportedError";
         this.message = message || "Not supported error";
         this.code = "UND_ERR_NOT_SUPPORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kNotSupportedError] === true;
+      }
+      [kNotSupportedError] = true;
     };
+    var kBalancedPoolMissingUpstreamError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM");
     var BalancedPoolMissingUpstreamError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, NotSupportedError);
         this.name = "MissingUpstreamError";
         this.message = message || "No upstream has been added to the BalancedPool";
         this.code = "UND_ERR_BPL_MISSING_UPSTREAM";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBalancedPoolMissingUpstreamError] === true;
+      }
+      [kBalancedPoolMissingUpstreamError] = true;
     };
-    var HTTPParserError = class _HTTPParserError extends Error {
+    var kHTTPParserError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HTTP_PARSER");
+    var HTTPParserError = class extends Error {
       constructor(message, code, data) {
         super(message);
-        Error.captureStackTrace(this, _HTTPParserError);
         this.name = "HTTPParserError";
         this.code = code ? `HPE_${code}` : void 0;
         this.data = data ? data.toString() : void 0;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHTTPParserError] === true;
+      }
+      [kHTTPParserError] = true;
     };
-    var ResponseExceededMaxSizeError = class _ResponseExceededMaxSizeError extends UndiciError {
+    var kResponseExceededMaxSizeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE");
+    var ResponseExceededMaxSizeError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseExceededMaxSizeError);
         this.name = "ResponseExceededMaxSizeError";
         this.message = message || "Response content exceeded max size";
         this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseExceededMaxSizeError] === true;
+      }
+      [kResponseExceededMaxSizeError] = true;
     };
-    var RequestRetryError = class _RequestRetryError extends UndiciError {
+    var kRequestRetryError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_RETRY");
+    var RequestRetryError = class extends UndiciError {
       constructor(message, code, { headers, data }) {
         super(message);
-        Error.captureStackTrace(this, _RequestRetryError);
         this.name = "RequestRetryError";
         this.message = message || "Request retry error";
         this.code = "UND_ERR_REQ_RETRY";
@@ -21807,8 +21901,43 @@ var require_errors2 = __commonJS({
         this.data = data;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestRetryError] === true;
+      }
+      [kRequestRetryError] = true;
+    };
+    var kResponseError = /* @__PURE__ */ 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 = /* @__PURE__ */ 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,
@@ -21828,14 +21957,16 @@ var require_errors2 = __commonJS({
       ResponseContentLengthMismatchError,
       BalancedPoolMissingUpstreamError,
       ResponseExceededMaxSizeError,
-      RequestRetryError
+      RequestRetryError,
+      ResponseError,
+      SecureProxyConnectionError
     };
   }
 });
 
-// node_modules/undici/lib/core/constants.js
+// node_modules/@actions/github/node_modules/undici/lib/core/constants.js
 var require_constants6 = __commonJS({
-  "node_modules/undici/lib/core/constants.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/constants.js"(exports2, module2) {
     "use strict";
     var headerNameLowerCasedRecord = {};
     var wellknownHeaderNames = [
@@ -21948,28 +22079,212 @@ var require_constants6 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/util.js
+// node_modules/@actions/github/node_modules/undici/lib/core/tree.js
+var require_tree2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/tree.js"(exports2, module2) {
+    "use strict";
+    var {
+      wellknownHeaderNames,
+      headerNameLowerCasedRecord
+    } = require_constants6();
+    var TstNode = class _TstNode {
+      /** @type {any} */
+      value = null;
+      /** @type {null | TstNode} */
+      left = null;
+      /** @type {null | TstNode} */
+      middle = null;
+      /** @type {null | TstNode} */
+      right = null;
+      /** @type {number} */
+      code;
+      /**
+       * @param {string} key
+       * @param {any} value
+       * @param {number} index
+       */
+      constructor(key, value, index) {
+        if (index === void 0 || index >= key.length) {
+          throw new TypeError("Unreachable");
+        }
+        const code = this.code = key.charCodeAt(index);
+        if (code > 127) {
+          throw new TypeError("key must be ascii string");
+        }
+        if (key.length !== ++index) {
+          this.middle = new _TstNode(key, value, index);
+        } else {
+          this.value = value;
+        }
+      }
+      /**
+       * @param {string} key
+       * @param {any} value
+       */
+      add(key, value) {
+        const length = key.length;
+        if (length === 0) {
+          throw new TypeError("Unreachable");
+        }
+        let index = 0;
+        let node = this;
+        while (true) {
+          const code = key.charCodeAt(index);
+          if (code > 127) {
+            throw new TypeError("key must be ascii string");
+          }
+          if (node.code === code) {
+            if (length === ++index) {
+              node.value = value;
+              break;
+            } else if (node.middle !== null) {
+              node = node.middle;
+            } else {
+              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;
+          }
+        }
+      }
+      /**
+       * @param {Uint8Array} key
+       * @return {TstNode | null}
+       */
+      search(key) {
+        const keylength = key.length;
+        let index = 0;
+        let node = this;
+        while (node !== null && index < keylength) {
+          let code = key[index];
+          if (code <= 90 && code >= 65) {
+            code |= 32;
+          }
+          while (node !== null) {
+            if (code === node.code) {
+              if (keylength === ++index) {
+                return node;
+              }
+              node = node.middle;
+              break;
+            }
+            node = node.code < code ? node.left : node.right;
+          }
+        }
+        return null;
+      }
+    };
+    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);
+        }
+      }
+      /**
+       * @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/@actions/github/node_modules/undici/lib/core/util.js
 var require_util9 = __commonJS({
-  "node_modules/undici/lib/core/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/util.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { kDestroyed, kBodyUsed } = require_symbols6();
-    var { IncomingMessage } = require("http");
-    var stream2 = require("stream");
-    var net = require("net");
+    var assert = require("node:assert");
+    var { kDestroyed, kBodyUsed, kListeners, kBody } = require_symbols6();
+    var { IncomingMessage } = require("node:http");
+    var stream2 = 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_errors2();
-    var { Blob: Blob2 } = require("buffer");
-    var nodeUtil = require("util");
-    var { stringify } = require("querystring");
     var { headerNameLowerCasedRecord } = require_constants6();
+    var { tree } = require_tree2();
     var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v) => Number(v));
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
+      }
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
+      }
+    };
+    function wrapRequestBody(body) {
+      if (isStream(body)) {
+        if (bodyLength(body) === 0) {
+          body.on("data", function() {
+            assert(false);
+          });
+        }
+        if (typeof body.readableDidRead !== "boolean") {
+          body[kBodyUsed] = false;
+          EE.prototype.on.call(body, "data", function() {
+            this[kBodyUsed] = true;
+          });
+        }
+        return body;
+      } else if (body && typeof body.pipeTo === "function") {
+        return new BodyAsyncIterable(body);
+      } else if (body && typeof body !== "string" && !ArrayBuffer.isView(body) && isIterable(body)) {
+        return new BodyAsyncIterable(body);
+      } else {
+        return body;
+      }
+    }
     function nop() {
     }
     function isStream(obj) {
       return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function";
     }
     function isBlobLike(object) {
-      return Blob2 && object instanceof Blob2 || object && typeof object === "object" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]);
+      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(url2, queryParams) {
       if (url2.includes("?") || url2.includes("#")) {
@@ -21981,10 +22296,17 @@ var require_util9 = __commonJS({
       }
       return url2;
     }
+    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(url2) {
       if (typeof url2 === "string") {
         url2 = new URL(url2);
-        if (!/^https?:/.test(url2.origin || url2.protocol)) {
+        if (!isHttpOrHttpsPrefixed(url2.origin || url2.protocol)) {
           throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
         }
         return url2;
@@ -21992,11 +22314,8 @@ var require_util9 = __commonJS({
       if (!url2 || typeof url2 !== "object") {
         throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object.");
       }
-      if (!/^https?:/.test(url2.origin || url2.protocol)) {
-        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
-      }
       if (!(url2 instanceof URL)) {
-        if (url2.port != null && url2.port !== "" && !Number.isFinite(parseInt(url2.port))) {
+        if (url2.port != null && url2.port !== "" && isValidPort(url2.port) === false) {
           throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer.");
         }
         if (url2.path != null && typeof url2.path !== "string") {
@@ -22011,16 +22330,22 @@ var require_util9 = __commonJS({
         if (url2.origin != null && typeof url2.origin !== "string") {
           throw new InvalidArgumentError("Invalid URL origin: the origin must be a string or null/undefined.");
         }
+        if (!isHttpOrHttpsPrefixed(url2.origin || url2.protocol)) {
+          throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
+        }
         const port = url2.port != null ? url2.port : url2.protocol === "https:" ? 443 : 80;
-        let origin = url2.origin != null ? url2.origin : `${url2.protocol}//${url2.hostname}:${port}`;
+        let origin = url2.origin != null ? url2.origin : `${url2.protocol || ""}//${url2.hostname || ""}:${port}`;
         let path12 = url2.path != null ? url2.path : `${url2.pathname || ""}${url2.search || ""}`;
-        if (origin.endsWith("/")) {
-          origin = origin.substring(0, origin.length - 1);
+        if (origin[origin.length - 1] === "/") {
+          origin = origin.slice(0, origin.length - 1);
         }
-        if (path12 && !path12.startsWith("/")) {
+        if (path12 && path12[0] !== "/") {
           path12 = `/${path12}`;
         }
-        url2 = new URL(origin + path12);
+        return new URL(`${origin}${path12}`);
+      }
+      if (!isHttpOrHttpsPrefixed(url2.origin || url2.protocol)) {
+        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
       }
       return url2;
     }
@@ -22045,7 +22370,7 @@ var require_util9 = __commonJS({
       if (!host) {
         return null;
       }
-      assert.strictEqual(typeof host, "string");
+      assert(typeof host === "string");
       const servername = getHostname(host);
       if (net.isIP(servername)) {
         return "";
@@ -22074,12 +22399,8 @@ var require_util9 = __commonJS({
       }
       return null;
     }
-    function isDestroyed(stream3) {
-      return !stream3 || !!(stream3.destroyed || stream3[kDestroyed]);
-    }
-    function isReadableAborted(stream3) {
-      const state = stream3 && stream3._readableState;
-      return isDestroyed(stream3) && state && !state.endEmitted;
+    function isDestroyed(body) {
+      return body && !!(body.destroyed || body[kDestroyed] || stream2.isDestroyed?.(body));
     }
     function destroy(stream3, err) {
       if (stream3 == null || !isStream(stream3) || isDestroyed(stream3)) {
@@ -22091,9 +22412,9 @@ var require_util9 = __commonJS({
         }
         stream3.destroy(err);
       } else if (err) {
-        process.nextTick((stream4, err2) => {
-          stream4.emit("error", err2);
-        }, stream3, err);
+        queueMicrotask(() => {
+          stream3.emit("error", err);
+        });
       }
       if (stream3.destroyed !== true) {
         stream3[kDestroyed] = true;
@@ -22105,25 +22426,29 @@ var require_util9 = __commonJS({
       return m ? parseInt(m[1], 10) * 1e3 : null;
     }
     function headerNameToString(value) {
-      return headerNameLowerCasedRecord[value] || value.toLowerCase();
+      return typeof value === "string" ? headerNameLowerCasedRecord[value] ?? value.toLowerCase() : tree.lookup(value) ?? value.toString("latin1").toLowerCase();
+    }
+    function bufferToLowerCasedHeaderName(value) {
+      return tree.lookup(value) ?? value.toString("latin1").toLowerCase();
     }
-    function parseHeaders(headers, obj = {}) {
-      if (!Array.isArray(headers)) return headers;
+    function parseHeaders(headers, obj) {
+      if (obj === void 0) obj = {};
       for (let i = 0; i < headers.length; i += 2) {
-        const key = headers[i].toString().toLowerCase();
+        const key = headerNameToString(headers[i]);
         let val = obj[key];
-        if (!val) {
-          if (Array.isArray(headers[i + 1])) {
-            obj[key] = headers[i + 1].map((x) => x.toString("utf8"));
-          } else {
-            obj[key] = headers[i + 1].toString("utf8");
-          }
-        } else {
-          if (!Array.isArray(val)) {
+        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");
+          }
         }
       }
       if ("content-length" in obj && "content-disposition" in obj) {
@@ -22132,20 +22457,26 @@ var require_util9 = __commonJS({
       return obj;
     }
     function parseRawHeaders(headers) {
-      const ret = [];
+      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) {
-        const key = headers[n + 0].toString();
-        const val = headers[n + 1].toString("utf8");
-        if (key.length === 14 && (key === "content-length" || key.toLowerCase() === "content-length")) {
-          ret.push(key, val);
+        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 (key.length === 19 && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
-          contentDispositionIdx = ret.push(key, val) - 1;
-        } else {
-          ret.push(key, val);
+        } else if (kLen === 19 && key[7] === "-" && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
+          contentDispositionIdx = n + 1;
         }
+        ret[n] = key;
+        ret[n + 1] = val;
       }
       if (hasContentLength && contentDispositionIdx !== -1) {
         ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1");
@@ -22185,17 +22516,13 @@ var require_util9 = __commonJS({
       }
     }
     function isDisturbed(body) {
-      return !!(body && (stream2.isDisturbed ? stream2.isDisturbed(body) || body[kBodyUsed] : body[kBodyUsed] || body.readableDidRead || body._readableState && body._readableState.dataEmitted || isReadableAborted(body)));
+      return !!(body && (stream2.isDisturbed(body) || body[kBodyUsed]));
     }
     function isErrored(body) {
-      return !!(body && (stream2.isErrored ? stream2.isErrored(body) : /state: 'errored'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream2.isErrored(body));
     }
     function isReadable(body) {
-      return !!(body && (stream2.isReadable ? stream2.isReadable(body) : /state: 'readable'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream2.isReadable(body));
     }
     function getSocketInfo(socket) {
       return {
@@ -22209,21 +22536,9 @@ var require_util9 = __commonJS({
         bytesRead: socket.bytesRead
       };
     }
-    async function* convertIterableToBuffer(iterable) {
-      for await (const chunk of iterable) {
-        yield Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
-      }
-    }
-    var ReadableStream2;
     function ReadableStreamFrom(iterable) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      if (ReadableStream2.from) {
-        return ReadableStream2.from(convertIterableToBuffer(iterable));
-      }
       let iterator2;
-      return new ReadableStream2(
+      return new ReadableStream(
         {
           async start() {
             iterator2 = iterable[Symbol.asyncIterator]();
@@ -22233,37 +22548,26 @@ var require_util9 = __commonJS({
             if (done) {
               queueMicrotask(() => {
                 controller.close();
+                controller.byobRequest?.respond(0);
               });
             } else {
               const buf = Buffer.isBuffer(value) ? value : Buffer.from(value);
-              controller.enqueue(new Uint8Array(buf));
+              if (buf.byteLength) {
+                controller.enqueue(new Uint8Array(buf));
+              }
             }
             return controller.desiredSize > 0;
           },
           async cancel(reason) {
             await iterator2.return();
-          }
-        },
-        0
+          },
+          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 throwIfAborted(signal) {
-      if (!signal) {
-        return;
-      }
-      if (typeof signal.throwIfAborted === "function") {
-        signal.throwIfAborted();
-      } else {
-        if (signal.aborted) {
-          const err = new Error("The operation was aborted");
-          err.name = "AbortError";
-          throw err;
-        }
-      }
-    }
     function addAbortListener(signal, listener) {
       if ("addEventListener" in signal) {
         signal.addEventListener("abort", listener, { once: true });
@@ -22272,14 +22576,52 @@ var require_util9 = __commonJS({
       signal.addListener("abort", listener);
       return () => signal.removeListener("abort", listener);
     }
-    var hasToWellFormed = !!String.prototype.toWellFormed;
+    var hasToWellFormed = typeof String.prototype.toWellFormed === "function";
+    var hasIsWellFormed = typeof String.prototype.isWellFormed === "function";
     function toUSVString(val) {
-      if (hasToWellFormed) {
-        return `${val}`.toWellFormed();
-      } else if (nodeUtil.toUSVString) {
-        return nodeUtil.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;
+      }
+    }
+    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 `${val}`;
+      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 };
@@ -22290,25 +22632,70 @@ var require_util9 = __commonJS({
         size: m[3] ? parseInt(m[3]) : null
       } : null;
     }
-    var kEnumerableProperty = /* @__PURE__ */ Object.create(null);
-    kEnumerableProperty.enumerable = true;
-    module2.exports = {
-      kEnumerableProperty,
-      nop,
-      isDisturbed,
-      isErrored,
-      isReadable,
-      toUSVString,
-      isReadableAborted,
-      isBlobLike,
-      parseOrigin,
-      parseURL,
-      getServerName,
+    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);
+      }
+      obj[kListeners] = null;
+    }
+    function errorRequest2(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: errorRequest2,
       parseRawHeaders,
       parseHeaders,
       parseKeepAliveTimeout,
@@ -22321,15673 +22708,16863 @@ var require_util9 = __commonJS({
       getSocketInfo,
       isFormDataLike,
       buildURL,
-      throwIfAborted,
       addAbortListener,
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isTokenCharCode,
       parseRangeHeader,
+      normalizedMethodRecordsBase,
+      normalizedMethodRecords,
+      isValidPort,
+      isHttpOrHttpsPrefixed,
       nodeMajor,
       nodeMinor,
-      nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13,
-      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"]
+      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"],
+      wrapRequestBody
     };
   }
 });
 
-// node_modules/undici/lib/timers.js
-var require_timers2 = __commonJS({
-  "node_modules/undici/lib/timers.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js
+var require_diagnostics2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js"(exports2, module2) {
     "use strict";
-    var fastNow = Date.now();
-    var fastNowTimeout;
-    var fastTimers = [];
-    function onTimeout() {
-      fastNow = Date.now();
-      let len = fastTimers.length;
-      let idx = 0;
-      while (idx < len) {
-        const timer = fastTimers[idx];
-        if (timer.state === 0) {
-          timer.state = fastNow + timer.delay;
-        } else if (timer.state > 0 && fastNow >= timer.state) {
-          timer.state = -1;
-          timer.callback(timer.opaque);
-        }
-        if (timer.state === -1) {
-          timer.state = -2;
-          if (idx !== len - 1) {
-            fastTimers[idx] = fastTimers.pop();
-          } else {
-            fastTimers.pop();
-          }
-          len -= 1;
-        } else {
-          idx += 1;
-        }
-      }
-      if (fastTimers.length > 0) {
-        refreshTimeout();
-      }
-    }
-    function refreshTimeout() {
-      if (fastNowTimeout && fastNowTimeout.refresh) {
-        fastNowTimeout.refresh();
-      } else {
-        clearTimeout(fastNowTimeout);
-        fastNowTimeout = setTimeout(onTimeout, 1e3);
-        if (fastNowTimeout.unref) {
-          fastNowTimeout.unref();
-        }
-      }
-    }
-    var Timeout = class {
-      constructor(callback, delay2, opaque) {
-        this.callback = callback;
-        this.delay = delay2;
-        this.opaque = opaque;
-        this.state = -2;
-        this.refresh();
-      }
-      refresh() {
-        if (this.state === -2) {
-          fastTimers.push(this);
-          if (!fastNowTimeout || fastTimers.length === 1) {
-            refreshTimeout();
-          }
-        }
-        this.state = 0;
-      }
-      clear() {
-        this.state = -1;
-      }
-    };
-    module2.exports = {
-      setTimeout(callback, delay2, opaque) {
-        return delay2 < 1e3 ? setTimeout(callback, delay2, opaque) : new Timeout(callback, delay2, opaque);
-      },
-      clearTimeout(timeout) {
-        if (timeout instanceof Timeout) {
-          timeout.clear();
-        } else {
-          clearTimeout(timeout);
-        }
-      }
+    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")
     };
-  }
-});
-
-// node_modules/@fastify/busboy/deps/streamsearch/sbmh.js
-var require_sbmh = __commonJS({
-  "node_modules/@fastify/busboy/deps/streamsearch/sbmh.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    function SBMH(needle) {
-      if (typeof needle === "string") {
-        needle = Buffer.from(needle);
-      }
-      if (!Buffer.isBuffer(needle)) {
-        throw new TypeError("The needle has to be a String or a Buffer.");
-      }
-      const needleLength = needle.length;
-      if (needleLength === 0) {
-        throw new Error("The needle cannot be an empty String/Buffer.");
-      }
-      if (needleLength > 256) {
-        throw new Error("The needle cannot have a length bigger than 256.");
-      }
-      this.maxMatches = Infinity;
-      this.matches = 0;
-      this._occ = new Array(256).fill(needleLength);
-      this._lookbehind_size = 0;
-      this._needle = needle;
-      this._bufpos = 0;
-      this._lookbehind = Buffer.alloc(needleLength);
-      for (var i = 0; i < needleLength - 1; ++i) {
-        this._occ[needle[i]] = needleLength - 1 - i;
-      }
+    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: error3
+        } = evt;
+        debuglog(
+          "connection to %s using %s%s errored - %s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version,
+          error3.message
+        );
+      });
+      diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+        const {
+          request: { method, path: path12, origin }
+        } = evt;
+        debuglog("sending request to %s %s/%s", method, origin, path12);
+      });
+      diagnosticsChannel.channel("undici:request:headers").subscribe((evt) => {
+        const {
+          request: { method, path: path12, origin },
+          response: { statusCode }
+        } = evt;
+        debuglog(
+          "received response to %s %s/%s - HTTP %d",
+          method,
+          origin,
+          path12,
+          statusCode
+        );
+      });
+      diagnosticsChannel.channel("undici:request:trailers").subscribe((evt) => {
+        const {
+          request: { method, path: path12, origin }
+        } = evt;
+        debuglog("trailers received from %s %s/%s", method, origin, path12);
+      });
+      diagnosticsChannel.channel("undici:request:error").subscribe((evt) => {
+        const {
+          request: { method, path: path12, origin },
+          error: error3
+        } = evt;
+        debuglog(
+          "request to %s %s/%s errored - %s",
+          method,
+          origin,
+          path12,
+          error3.message
+        );
+      });
+      isClientSet = true;
     }
-    inherits(SBMH, EventEmitter);
-    SBMH.prototype.reset = function() {
-      this._lookbehind_size = 0;
-      this.matches = 0;
-      this._bufpos = 0;
-    };
-    SBMH.prototype.push = function(chunk, pos) {
-      if (!Buffer.isBuffer(chunk)) {
-        chunk = Buffer.from(chunk, "binary");
-      }
-      const chlen = chunk.length;
-      this._bufpos = pos || 0;
-      let r;
-      while (r !== chlen && this.matches < this.maxMatches) {
-        r = this._sbmh_feed(chunk);
-      }
-      return r;
-    };
-    SBMH.prototype._sbmh_feed = function(data) {
-      const len = data.length;
-      const needle = this._needle;
-      const needleLength = needle.length;
-      const lastNeedleChar = needle[needleLength - 1];
-      let pos = -this._lookbehind_size;
-      let ch;
-      if (pos < 0) {
-        while (pos < 0 && pos <= len - needleLength) {
-          ch = this._sbmh_lookup_char(data, pos + needleLength - 1);
-          if (ch === lastNeedleChar && this._sbmh_memcmp(data, pos, needleLength - 1)) {
-            this._lookbehind_size = 0;
-            ++this.matches;
-            this.emit("info", true);
-            return this._bufpos = pos + needleLength;
-          }
-          pos += this._occ[ch];
-        }
-        if (pos < 0) {
-          while (pos < 0 && !this._sbmh_memcmp(data, pos, len - pos)) {
-            ++pos;
-          }
-        }
-        if (pos >= 0) {
-          this.emit("info", false, this._lookbehind, 0, this._lookbehind_size);
-          this._lookbehind_size = 0;
-        } else {
-          const bytesToCutOff = this._lookbehind_size + pos;
-          if (bytesToCutOff > 0) {
-            this.emit("info", false, this._lookbehind, 0, bytesToCutOff);
-          }
-          this._lookbehind.copy(
-            this._lookbehind,
-            0,
-            bytesToCutOff,
-            this._lookbehind_size - bytesToCutOff
+    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
           );
-          this._lookbehind_size -= bytesToCutOff;
-          data.copy(this._lookbehind, this._lookbehind_size);
-          this._lookbehind_size += len;
-          this._bufpos = len;
-          return len;
-        }
-      }
-      pos += (pos >= 0) * this._bufpos;
-      if (data.indexOf(needle, pos) !== -1) {
-        pos = data.indexOf(needle, pos);
-        ++this.matches;
-        if (pos > 0) {
-          this.emit("info", true, data, this._bufpos, pos);
-        } else {
-          this.emit("info", true);
-        }
-        return this._bufpos = pos + needleLength;
-      } else {
-        pos = len - needleLength;
-      }
-      while (pos < len && (data[pos] !== needle[0] || Buffer.compare(
-        data.subarray(pos, pos + len - pos),
-        needle.subarray(0, len - pos)
-      ) !== 0)) {
-        ++pos;
-      }
-      if (pos < len) {
-        data.copy(this._lookbehind, 0, pos, pos + (len - pos));
-        this._lookbehind_size = len - pos;
-      }
-      if (pos > 0) {
-        this.emit("info", false, data, this._bufpos, pos < len ? pos : len);
-      }
-      this._bufpos = len;
-      return len;
-    };
-    SBMH.prototype._sbmh_lookup_char = function(data, pos) {
-      return pos < 0 ? this._lookbehind[this._lookbehind_size + pos] : data[pos];
-    };
-    SBMH.prototype._sbmh_memcmp = function(data, pos, len) {
-      for (var i = 0; i < len; ++i) {
-        if (this._sbmh_lookup_char(data, pos + i) !== this._needle[i]) {
-          return false;
-        }
+        });
+        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: error3
+          } = evt;
+          debuglog(
+            "connection to %s%s using %s%s errored - %s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version,
+            error3.message
+          );
+        });
+        diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+          const {
+            request: { method, path: path12, origin }
+          } = evt;
+          debuglog("sending request to %s %s/%s", method, origin, path12);
+        });
       }
-      return true;
-    };
-    module2.exports = SBMH;
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js
-var require_PartStream = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js"(exports2, module2) {
-    "use strict";
-    var inherits = require("node:util").inherits;
-    var ReadableStream2 = require("node:stream").Readable;
-    function PartStream(opts) {
-      ReadableStream2.call(this, opts);
+      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");
+      });
     }
-    inherits(PartStream, ReadableStream2);
-    PartStream.prototype._read = function(n) {
-    };
-    module2.exports = PartStream;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/getLimit.js
-var require_getLimit = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/getLimit.js"(exports2, module2) {
-    "use strict";
-    module2.exports = function getLimit(limits, name, defaultLimit) {
-      if (!limits || limits[name] === void 0 || limits[name] === null) {
-        return defaultLimit;
-      }
-      if (typeof limits[name] !== "number" || isNaN(limits[name])) {
-        throw new TypeError("Limit " + name + " is not a valid number");
-      }
-      return limits[name];
+    module2.exports = {
+      channels
     };
   }
 });
 
-// node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js
-var require_HeaderParser = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/request.js
+var require_request3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/request.js"(exports2, module2) {
     "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    var getLimit = require_getLimit();
-    var StreamSearch = require_sbmh();
-    var B_DCRLF = Buffer.from("\r\n\r\n");
-    var RE_CRLF = /\r\n/g;
-    var RE_HDR = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/;
-    function HeaderParser(cfg) {
-      EventEmitter.call(this);
-      cfg = cfg || {};
-      const self2 = this;
-      this.nread = 0;
-      this.maxed = false;
-      this.npairs = 0;
-      this.maxHeaderPairs = getLimit(cfg, "maxHeaderPairs", 2e3);
-      this.maxHeaderSize = getLimit(cfg, "maxHeaderSize", 80 * 1024);
-      this.buffer = "";
-      this.header = {};
-      this.finished = false;
-      this.ss = new StreamSearch(B_DCRLF);
-      this.ss.on("info", function(isMatch, data, start, end) {
-        if (data && !self2.maxed) {
-          if (self2.nread + end - start >= self2.maxHeaderSize) {
-            end = self2.maxHeaderSize - self2.nread + start;
-            self2.nread = self2.maxHeaderSize;
-            self2.maxed = true;
-          } else {
-            self2.nread += end - start;
-          }
-          self2.buffer += data.toString("binary", start, end);
+    var {
+      InvalidArgumentError,
+      NotSupportedError
+    } = require_errors2();
+    var assert = require("node:assert");
+    var {
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isStream,
+      destroy,
+      isBuffer,
+      isFormDataLike,
+      isIterable,
+      isBlobLike,
+      buildURL,
+      validateHandler,
+      getServerName,
+      normalizedMethodRecords
+    } = require_util9();
+    var { channels } = require_diagnostics2();
+    var { headerNameLowerCasedRecord } = require_constants6();
+    var invalidPathRegex = /[^\u0021-\u00ff]/;
+    var kHandler = /* @__PURE__ */ Symbol("handler");
+    var Request = class {
+      constructor(origin, {
+        path: path12,
+        method,
+        body,
+        headers,
+        query,
+        idempotent,
+        blocking,
+        upgrade,
+        headersTimeout,
+        bodyTimeout,
+        reset,
+        throwOnError,
+        expectContinue,
+        servername
+      }, handler2) {
+        if (typeof path12 !== "string") {
+          throw new InvalidArgumentError("path must be a string");
+        } else if (path12[0] !== "/" && !(path12.startsWith("http://") || path12.startsWith("https://")) && method !== "CONNECT") {
+          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
+        } else if (invalidPathRegex.test(path12)) {
+          throw new InvalidArgumentError("invalid request path");
         }
-        if (isMatch) {
-          self2._finish();
+        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");
         }
-      });
-    }
-    inherits(HeaderParser, EventEmitter);
-    HeaderParser.prototype.push = function(data) {
-      const r = this.ss.push(data);
-      if (this.finished) {
-        return r;
-      }
-    };
-    HeaderParser.prototype.reset = function() {
-      this.finished = false;
-      this.buffer = "";
-      this.header = {};
-      this.ss.reset();
-    };
-    HeaderParser.prototype._finish = function() {
-      if (this.buffer) {
-        this._parseHeader();
-      }
-      this.ss.matches = this.ss.maxMatches;
-      const header = this.header;
-      this.header = {};
-      this.buffer = "";
-      this.finished = true;
-      this.nread = this.npairs = 0;
-      this.maxed = false;
-      this.emit("header", header);
-    };
-    HeaderParser.prototype._parseHeader = function() {
-      if (this.npairs === this.maxHeaderPairs) {
-        return;
-      }
-      const lines = this.buffer.split(RE_CRLF);
-      const len = lines.length;
-      let m, h;
-      for (var i = 0; i < len; ++i) {
-        if (lines[i].length === 0) {
-          continue;
+        if (upgrade && typeof upgrade !== "string") {
+          throw new InvalidArgumentError("upgrade must be a string");
         }
-        if (lines[i][0] === "	" || lines[i][0] === " ") {
-          if (h) {
-            this.header[h][this.header[h].length - 1] += lines[i];
-            continue;
-          }
+        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
+          throw new InvalidArgumentError("invalid headersTimeout");
         }
-        const posColon = lines[i].indexOf(":");
-        if (posColon === -1 || posColon === 0) {
-          return;
+        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
+          throw new InvalidArgumentError("invalid bodyTimeout");
         }
-        m = RE_HDR.exec(lines[i]);
-        h = m[1].toLowerCase();
-        this.header[h] = this.header[h] || [];
-        this.header[h].push(m[2] || "");
-        if (++this.npairs === this.maxHeaderPairs) {
-          break;
+        if (reset != null && typeof reset !== "boolean") {
+          throw new InvalidArgumentError("invalid reset");
         }
-      }
-    };
-    module2.exports = HeaderParser;
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js
-var require_Dicer = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js"(exports2, module2) {
-    "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var inherits = require("node:util").inherits;
-    var StreamSearch = require_sbmh();
-    var PartStream = require_PartStream();
-    var HeaderParser = require_HeaderParser();
-    var DASH = 45;
-    var B_ONEDASH = Buffer.from("-");
-    var B_CRLF = Buffer.from("\r\n");
-    var EMPTY_FN = function() {
-    };
-    function Dicer(cfg) {
-      if (!(this instanceof Dicer)) {
-        return new Dicer(cfg);
-      }
-      WritableStream.call(this, cfg);
-      if (!cfg || !cfg.headerFirst && typeof cfg.boundary !== "string") {
-        throw new TypeError("Boundary required");
-      }
-      if (typeof cfg.boundary === "string") {
-        this.setBoundary(cfg.boundary);
-      } else {
-        this._bparser = void 0;
-      }
-      this._headerFirst = cfg.headerFirst;
-      this._dashes = 0;
-      this._parts = 0;
-      this._finished = false;
-      this._realFinish = false;
-      this._isPreamble = true;
-      this._justMatched = false;
-      this._firstWrite = true;
-      this._inHeader = true;
-      this._part = void 0;
-      this._cb = void 0;
-      this._ignoreData = false;
-      this._partOpts = { highWaterMark: cfg.partHwm };
-      this._pause = false;
-      const self2 = this;
-      this._hparser = new HeaderParser(cfg);
-      this._hparser.on("header", function(header) {
-        self2._inHeader = false;
-        self2._part.emit("header", header);
-      });
-    }
-    inherits(Dicer, WritableStream);
-    Dicer.prototype.emit = function(ev) {
-      if (ev === "finish" && !this._realFinish) {
-        if (!this._finished) {
-          const self2 = this;
-          process.nextTick(function() {
-            self2.emit("error", new Error("Unexpected end of multipart data"));
-            if (self2._part && !self2._ignoreData) {
-              const type2 = self2._isPreamble ? "Preamble" : "Part";
-              self2._part.emit("error", new Error(type2 + " terminated early due to unexpected end of multipart data"));
-              self2._part.push(null);
-              process.nextTick(function() {
-                self2._realFinish = true;
-                self2.emit("finish");
-                self2._realFinish = false;
-              });
-              return;
-            }
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
-          });
+        if (expectContinue != null && typeof expectContinue !== "boolean") {
+          throw new InvalidArgumentError("invalid expectContinue");
         }
-      } else {
-        WritableStream.prototype.emit.apply(this, arguments);
-      }
-    };
-    Dicer.prototype._write = function(data, encoding, cb) {
-      if (!this._hparser && !this._bparser) {
-        return cb();
-      }
-      if (this._headerFirst && this._isPreamble) {
-        if (!this._part) {
-          this._part = new PartStream(this._partOpts);
-          if (this.listenerCount("preamble") !== 0) {
-            this.emit("preamble", this._part);
-          } else {
-            this._ignore();
+        this.headersTimeout = headersTimeout;
+        this.bodyTimeout = bodyTimeout;
+        this.throwOnError = throwOnError === true;
+        this.method = method;
+        this.abort = null;
+        if (body == null) {
+          this.body = null;
+        } else if (isStream(body)) {
+          this.body = body;
+          const rState = this.body._readableState;
+          if (!rState || !rState.autoDestroy) {
+            this.endHandler = function autoDestroy() {
+              destroy(this);
+            };
+            this.body.on("end", this.endHandler);
           }
-        }
-        const r = this._hparser.push(data);
-        if (!this._inHeader && r !== void 0 && r < data.length) {
-          data = data.slice(r);
+          this.errorHandler = (err) => {
+            if (this.abort) {
+              this.abort(err);
+            } else {
+              this.error = err;
+            }
+          };
+          this.body.on("error", this.errorHandler);
+        } else if (isBuffer(body)) {
+          this.body = body.byteLength ? body : null;
+        } else if (ArrayBuffer.isView(body)) {
+          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
+        } else if (body instanceof ArrayBuffer) {
+          this.body = body.byteLength ? Buffer.from(body) : null;
+        } else if (typeof body === "string") {
+          this.body = body.length ? Buffer.from(body) : null;
+        } else if (isFormDataLike(body) || isIterable(body) || isBlobLike(body)) {
+          this.body = body;
         } else {
-          return cb();
+          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
         }
-      }
-      if (this._firstWrite) {
-        this._bparser.push(B_CRLF);
-        this._firstWrite = false;
-      }
-      this._bparser.push(data);
-      if (this._pause) {
-        this._cb = cb;
-      } else {
-        cb();
-      }
-    };
-    Dicer.prototype.reset = function() {
-      this._part = void 0;
-      this._bparser = void 0;
-      this._hparser = void 0;
-    };
-    Dicer.prototype.setBoundary = function(boundary) {
-      const self2 = this;
-      this._bparser = new StreamSearch("\r\n--" + boundary);
-      this._bparser.on("info", function(isMatch, data, start, end) {
-        self2._oninfo(isMatch, data, start, end);
-      });
-    };
-    Dicer.prototype._ignore = function() {
-      if (this._part && !this._ignoreData) {
-        this._ignoreData = true;
-        this._part.on("error", EMPTY_FN);
-        this._part.resume();
-      }
-    };
-    Dicer.prototype._oninfo = function(isMatch, data, start, end) {
-      let buf;
-      const self2 = this;
-      let i = 0;
-      let r;
-      let shouldWriteMore = true;
-      if (!this._part && this._justMatched && data) {
-        while (this._dashes < 2 && start + i < end) {
-          if (data[start + i] === DASH) {
-            ++i;
-            ++this._dashes;
-          } else {
-            if (this._dashes) {
-              buf = B_ONEDASH;
-            }
-            this._dashes = 0;
-            break;
+        this.completed = false;
+        this.aborted = false;
+        this.upgrade = upgrade || null;
+        this.path = query ? buildURL(path12, query) : path12;
+        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");
           }
-        }
-        if (this._dashes === 2) {
-          if (start + i < end && this.listenerCount("trailer") !== 0) {
-            this.emit("trailer", data.slice(start + i, end));
+          for (let i = 0; i < headers.length; i += 2) {
+            processHeader(this, headers[i], headers[i + 1]);
           }
-          this.reset();
-          this._finished = true;
-          if (self2._parts === 0) {
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
+        } 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");
         }
-        if (this._dashes) {
-          return;
+        validateHandler(handler2, method, upgrade);
+        this.servername = servername || getServerName(this.host);
+        this[kHandler] = handler2;
+        if (channels.create.hasSubscribers) {
+          channels.create.publish({ request: this });
         }
       }
-      if (this._justMatched) {
-        this._justMatched = false;
+      onBodySent(chunk) {
+        if (this[kHandler].onBodySent) {
+          try {
+            return this[kHandler].onBodySent(chunk);
+          } catch (err) {
+            this.abort(err);
+          }
+        }
       }
-      if (!this._part) {
-        this._part = new PartStream(this._partOpts);
-        this._part._read = function(n) {
-          self2._unpause();
-        };
-        if (this._isPreamble && this.listenerCount("preamble") !== 0) {
-          this.emit("preamble", this._part);
-        } else if (this._isPreamble !== true && this.listenerCount("part") !== 0) {
-          this.emit("part", this._part);
-        } else {
-          this._ignore();
-        }
-        if (!this._isPreamble) {
-          this._inHeader = true;
+      onRequestSent() {
+        if (channels.bodySent.hasSubscribers) {
+          channels.bodySent.publish({ request: this });
         }
-      }
-      if (data && start < end && !this._ignoreData) {
-        if (this._isPreamble || !this._inHeader) {
-          if (buf) {
-            shouldWriteMore = this._part.push(buf);
-          }
-          shouldWriteMore = this._part.push(data.slice(start, end));
-          if (!shouldWriteMore) {
-            this._pause = true;
-          }
-        } else if (!this._isPreamble && this._inHeader) {
-          if (buf) {
-            this._hparser.push(buf);
-          }
-          r = this._hparser.push(data.slice(start, end));
-          if (!this._inHeader && r !== void 0 && r < end) {
-            this._oninfo(false, data, start + r, end);
+        if (this[kHandler].onRequestSent) {
+          try {
+            return this[kHandler].onRequestSent();
+          } catch (err) {
+            this.abort(err);
           }
         }
       }
-      if (isMatch) {
-        this._hparser.reset();
-        if (this._isPreamble) {
-          this._isPreamble = false;
+      onConnect(abort) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (this.error) {
+          abort(this.error);
         } else {
-          if (start !== end) {
-            ++this._parts;
-            this._part.on("end", function() {
-              if (--self2._parts === 0) {
-                if (self2._finished) {
-                  self2._realFinish = true;
-                  self2.emit("finish");
-                  self2._realFinish = false;
-                } else {
-                  self2._unpause();
-                }
-              }
-            });
-          }
+          this.abort = abort;
+          return this[kHandler].onConnect(abort);
         }
-        this._part.push(null);
-        this._part = void 0;
-        this._ignoreData = false;
-        this._justMatched = true;
-        this._dashes = 0;
-      }
-    };
-    Dicer.prototype._unpause = function() {
-      if (!this._pause) {
-        return;
       }
-      this._pause = false;
-      if (this._cb) {
-        const cb = this._cb;
-        this._cb = void 0;
-        cb();
-      }
-    };
-    module2.exports = Dicer;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/decodeText.js
-var require_decodeText = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/decodeText.js"(exports2, module2) {
-    "use strict";
-    var utf8Decoder = new TextDecoder("utf-8");
-    var textDecoders = /* @__PURE__ */ new Map([
-      ["utf-8", utf8Decoder],
-      ["utf8", utf8Decoder]
-    ]);
-    function getDecoder(charset) {
-      let lc;
-      while (true) {
-        switch (charset) {
-          case "utf-8":
-          case "utf8":
-            return decoders.utf8;
-          case "latin1":
-          case "ascii":
-          // TODO: Make these a separate, strict decoder?
-          case "us-ascii":
-          case "iso-8859-1":
-          case "iso8859-1":
-          case "iso88591":
-          case "iso_8859-1":
-          case "windows-1252":
-          case "iso_8859-1:1987":
-          case "cp1252":
-          case "x-cp1252":
-            return decoders.latin1;
-          case "utf16le":
-          case "utf-16le":
-          case "ucs2":
-          case "ucs-2":
-            return decoders.utf16le;
-          case "base64":
-            return decoders.base64;
-          default:
-            if (lc === void 0) {
-              lc = true;
-              charset = charset.toLowerCase();
-              continue;
-            }
-            return decoders.other.bind(charset);
-        }
+      onResponseStarted() {
+        return this[kHandler].onResponseStarted?.();
       }
-    }
-    var decoders = {
-      utf8: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
-        }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
-        }
-        return data.utf8Slice(0, data.length);
-      },
-      latin1: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+      onHeaders(statusCode, headers, resume, statusText) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (channels.headers.hasSubscribers) {
+          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
         }
-        if (typeof data === "string") {
-          return data;
+        try {
+          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
+        } catch (err) {
+          this.abort(err);
         }
-        return data.latin1Slice(0, data.length);
-      },
-      utf16le: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+      }
+      onData(chunk) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        try {
+          return this[kHandler].onData(chunk);
+        } catch (err) {
+          this.abort(err);
+          return false;
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      }
+      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 });
         }
-        return data.ucs2Slice(0, data.length);
-      },
-      base64: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+        try {
+          return this[kHandler].onComplete(trailers);
+        } catch (err) {
+          this.onError(err);
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      }
+      onError(error3) {
+        this.onFinally();
+        if (channels.error.hasSubscribers) {
+          channels.error.publish({ request: this, error: error3 });
         }
-        return data.base64Slice(0, data.length);
-      },
-      other: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+        if (this.aborted) {
+          return;
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+        this.aborted = true;
+        return this[kHandler].onError(error3);
+      }
+      onFinally() {
+        if (this.errorHandler) {
+          this.body.off("error", this.errorHandler);
+          this.errorHandler = null;
         }
-        if (textDecoders.has(exports2.toString())) {
-          try {
-            return textDecoders.get(exports2).decode(data);
-          } catch {
-          }
+        if (this.endHandler) {
+          this.body.off("end", this.endHandler);
+          this.endHandler = null;
         }
-        return typeof data === "string" ? data : data.toString();
+      }
+      addHeader(key, value) {
+        processHeader(this, key, value);
+        return this;
       }
     };
-    function decodeText(text, sourceEncoding, destEncoding) {
-      if (text) {
-        return getDecoder(destEncoding)(text, sourceEncoding);
+    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;
       }
-      return text;
-    }
-    module2.exports = decodeText;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/parseParams.js
-var require_parseParams = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/parseParams.js"(exports2, module2) {
-    "use strict";
-    var decodeText = require_decodeText();
-    var RE_ENCODED = /%[a-fA-F0-9][a-fA-F0-9]/g;
-    var EncodedLookup = {
-      "%00": "\0",
-      "%01": "",
-      "%02": "",
-      "%03": "",
-      "%04": "",
-      "%05": "",
-      "%06": "",
-      "%07": "\x07",
-      "%08": "\b",
-      "%09": "	",
-      "%0a": "\n",
-      "%0A": "\n",
-      "%0b": "\v",
-      "%0B": "\v",
-      "%0c": "\f",
-      "%0C": "\f",
-      "%0d": "\r",
-      "%0D": "\r",
-      "%0e": "",
-      "%0E": "",
-      "%0f": "",
-      "%0F": "",
-      "%10": "",
-      "%11": "",
-      "%12": "",
-      "%13": "",
-      "%14": "",
-      "%15": "",
-      "%16": "",
-      "%17": "",
-      "%18": "",
-      "%19": "",
-      "%1a": "",
-      "%1A": "",
-      "%1b": "\x1B",
-      "%1B": "\x1B",
-      "%1c": "",
-      "%1C": "",
-      "%1d": "",
-      "%1D": "",
-      "%1e": "",
-      "%1E": "",
-      "%1f": "",
-      "%1F": "",
-      "%20": " ",
-      "%21": "!",
-      "%22": '"',
-      "%23": "#",
-      "%24": "$",
-      "%25": "%",
-      "%26": "&",
-      "%27": "'",
-      "%28": "(",
-      "%29": ")",
-      "%2a": "*",
-      "%2A": "*",
-      "%2b": "+",
-      "%2B": "+",
-      "%2c": ",",
-      "%2C": ",",
-      "%2d": "-",
-      "%2D": "-",
-      "%2e": ".",
-      "%2E": ".",
-      "%2f": "/",
-      "%2F": "/",
-      "%30": "0",
-      "%31": "1",
-      "%32": "2",
-      "%33": "3",
-      "%34": "4",
-      "%35": "5",
-      "%36": "6",
-      "%37": "7",
-      "%38": "8",
-      "%39": "9",
-      "%3a": ":",
-      "%3A": ":",
-      "%3b": ";",
-      "%3B": ";",
-      "%3c": "<",
-      "%3C": "<",
-      "%3d": "=",
-      "%3D": "=",
-      "%3e": ">",
-      "%3E": ">",
-      "%3f": "?",
-      "%3F": "?",
-      "%40": "@",
-      "%41": "A",
-      "%42": "B",
-      "%43": "C",
-      "%44": "D",
-      "%45": "E",
-      "%46": "F",
-      "%47": "G",
-      "%48": "H",
-      "%49": "I",
-      "%4a": "J",
-      "%4A": "J",
-      "%4b": "K",
-      "%4B": "K",
-      "%4c": "L",
-      "%4C": "L",
-      "%4d": "M",
-      "%4D": "M",
-      "%4e": "N",
-      "%4E": "N",
-      "%4f": "O",
-      "%4F": "O",
-      "%50": "P",
-      "%51": "Q",
-      "%52": "R",
-      "%53": "S",
-      "%54": "T",
-      "%55": "U",
-      "%56": "V",
-      "%57": "W",
-      "%58": "X",
-      "%59": "Y",
-      "%5a": "Z",
-      "%5A": "Z",
-      "%5b": "[",
-      "%5B": "[",
-      "%5c": "\\",
-      "%5C": "\\",
-      "%5d": "]",
-      "%5D": "]",
-      "%5e": "^",
-      "%5E": "^",
-      "%5f": "_",
-      "%5F": "_",
-      "%60": "`",
-      "%61": "a",
-      "%62": "b",
-      "%63": "c",
-      "%64": "d",
-      "%65": "e",
-      "%66": "f",
-      "%67": "g",
-      "%68": "h",
-      "%69": "i",
-      "%6a": "j",
-      "%6A": "j",
-      "%6b": "k",
-      "%6B": "k",
-      "%6c": "l",
-      "%6C": "l",
-      "%6d": "m",
-      "%6D": "m",
-      "%6e": "n",
-      "%6E": "n",
-      "%6f": "o",
-      "%6F": "o",
-      "%70": "p",
-      "%71": "q",
-      "%72": "r",
-      "%73": "s",
-      "%74": "t",
-      "%75": "u",
-      "%76": "v",
-      "%77": "w",
-      "%78": "x",
-      "%79": "y",
-      "%7a": "z",
-      "%7A": "z",
-      "%7b": "{",
-      "%7B": "{",
-      "%7c": "|",
-      "%7C": "|",
-      "%7d": "}",
-      "%7D": "}",
-      "%7e": "~",
-      "%7E": "~",
-      "%7f": "\x7F",
-      "%7F": "\x7F",
-      "%80": "\x80",
-      "%81": "\x81",
-      "%82": "\x82",
-      "%83": "\x83",
-      "%84": "\x84",
-      "%85": "\x85",
-      "%86": "\x86",
-      "%87": "\x87",
-      "%88": "\x88",
-      "%89": "\x89",
-      "%8a": "\x8A",
-      "%8A": "\x8A",
-      "%8b": "\x8B",
-      "%8B": "\x8B",
-      "%8c": "\x8C",
-      "%8C": "\x8C",
-      "%8d": "\x8D",
-      "%8D": "\x8D",
-      "%8e": "\x8E",
-      "%8E": "\x8E",
-      "%8f": "\x8F",
-      "%8F": "\x8F",
-      "%90": "\x90",
-      "%91": "\x91",
-      "%92": "\x92",
-      "%93": "\x93",
-      "%94": "\x94",
-      "%95": "\x95",
-      "%96": "\x96",
-      "%97": "\x97",
-      "%98": "\x98",
-      "%99": "\x99",
-      "%9a": "\x9A",
-      "%9A": "\x9A",
-      "%9b": "\x9B",
-      "%9B": "\x9B",
-      "%9c": "\x9C",
-      "%9C": "\x9C",
-      "%9d": "\x9D",
-      "%9D": "\x9D",
-      "%9e": "\x9E",
-      "%9E": "\x9E",
-      "%9f": "\x9F",
-      "%9F": "\x9F",
-      "%a0": "\xA0",
-      "%A0": "\xA0",
-      "%a1": "\xA1",
-      "%A1": "\xA1",
-      "%a2": "\xA2",
-      "%A2": "\xA2",
-      "%a3": "\xA3",
-      "%A3": "\xA3",
-      "%a4": "\xA4",
-      "%A4": "\xA4",
-      "%a5": "\xA5",
-      "%A5": "\xA5",
-      "%a6": "\xA6",
-      "%A6": "\xA6",
-      "%a7": "\xA7",
-      "%A7": "\xA7",
-      "%a8": "\xA8",
-      "%A8": "\xA8",
-      "%a9": "\xA9",
-      "%A9": "\xA9",
-      "%aa": "\xAA",
-      "%Aa": "\xAA",
-      "%aA": "\xAA",
-      "%AA": "\xAA",
-      "%ab": "\xAB",
-      "%Ab": "\xAB",
-      "%aB": "\xAB",
-      "%AB": "\xAB",
-      "%ac": "\xAC",
-      "%Ac": "\xAC",
-      "%aC": "\xAC",
-      "%AC": "\xAC",
-      "%ad": "\xAD",
-      "%Ad": "\xAD",
-      "%aD": "\xAD",
-      "%AD": "\xAD",
-      "%ae": "\xAE",
-      "%Ae": "\xAE",
-      "%aE": "\xAE",
-      "%AE": "\xAE",
-      "%af": "\xAF",
-      "%Af": "\xAF",
-      "%aF": "\xAF",
-      "%AF": "\xAF",
-      "%b0": "\xB0",
-      "%B0": "\xB0",
-      "%b1": "\xB1",
-      "%B1": "\xB1",
-      "%b2": "\xB2",
-      "%B2": "\xB2",
-      "%b3": "\xB3",
-      "%B3": "\xB3",
-      "%b4": "\xB4",
-      "%B4": "\xB4",
-      "%b5": "\xB5",
-      "%B5": "\xB5",
-      "%b6": "\xB6",
-      "%B6": "\xB6",
-      "%b7": "\xB7",
-      "%B7": "\xB7",
-      "%b8": "\xB8",
-      "%B8": "\xB8",
-      "%b9": "\xB9",
-      "%B9": "\xB9",
-      "%ba": "\xBA",
-      "%Ba": "\xBA",
-      "%bA": "\xBA",
-      "%BA": "\xBA",
-      "%bb": "\xBB",
-      "%Bb": "\xBB",
-      "%bB": "\xBB",
-      "%BB": "\xBB",
-      "%bc": "\xBC",
-      "%Bc": "\xBC",
-      "%bC": "\xBC",
-      "%BC": "\xBC",
-      "%bd": "\xBD",
-      "%Bd": "\xBD",
-      "%bD": "\xBD",
-      "%BD": "\xBD",
-      "%be": "\xBE",
-      "%Be": "\xBE",
-      "%bE": "\xBE",
-      "%BE": "\xBE",
-      "%bf": "\xBF",
-      "%Bf": "\xBF",
-      "%bF": "\xBF",
-      "%BF": "\xBF",
-      "%c0": "\xC0",
-      "%C0": "\xC0",
-      "%c1": "\xC1",
-      "%C1": "\xC1",
-      "%c2": "\xC2",
-      "%C2": "\xC2",
-      "%c3": "\xC3",
-      "%C3": "\xC3",
-      "%c4": "\xC4",
-      "%C4": "\xC4",
-      "%c5": "\xC5",
-      "%C5": "\xC5",
-      "%c6": "\xC6",
-      "%C6": "\xC6",
-      "%c7": "\xC7",
-      "%C7": "\xC7",
-      "%c8": "\xC8",
-      "%C8": "\xC8",
-      "%c9": "\xC9",
-      "%C9": "\xC9",
-      "%ca": "\xCA",
-      "%Ca": "\xCA",
-      "%cA": "\xCA",
-      "%CA": "\xCA",
-      "%cb": "\xCB",
-      "%Cb": "\xCB",
-      "%cB": "\xCB",
-      "%CB": "\xCB",
-      "%cc": "\xCC",
-      "%Cc": "\xCC",
-      "%cC": "\xCC",
-      "%CC": "\xCC",
-      "%cd": "\xCD",
-      "%Cd": "\xCD",
-      "%cD": "\xCD",
-      "%CD": "\xCD",
-      "%ce": "\xCE",
-      "%Ce": "\xCE",
-      "%cE": "\xCE",
-      "%CE": "\xCE",
-      "%cf": "\xCF",
-      "%Cf": "\xCF",
-      "%cF": "\xCF",
-      "%CF": "\xCF",
-      "%d0": "\xD0",
-      "%D0": "\xD0",
-      "%d1": "\xD1",
-      "%D1": "\xD1",
-      "%d2": "\xD2",
-      "%D2": "\xD2",
-      "%d3": "\xD3",
-      "%D3": "\xD3",
-      "%d4": "\xD4",
-      "%D4": "\xD4",
-      "%d5": "\xD5",
-      "%D5": "\xD5",
-      "%d6": "\xD6",
-      "%D6": "\xD6",
-      "%d7": "\xD7",
-      "%D7": "\xD7",
-      "%d8": "\xD8",
-      "%D8": "\xD8",
-      "%d9": "\xD9",
-      "%D9": "\xD9",
-      "%da": "\xDA",
-      "%Da": "\xDA",
-      "%dA": "\xDA",
-      "%DA": "\xDA",
-      "%db": "\xDB",
-      "%Db": "\xDB",
-      "%dB": "\xDB",
-      "%DB": "\xDB",
-      "%dc": "\xDC",
-      "%Dc": "\xDC",
-      "%dC": "\xDC",
-      "%DC": "\xDC",
-      "%dd": "\xDD",
-      "%Dd": "\xDD",
-      "%dD": "\xDD",
-      "%DD": "\xDD",
-      "%de": "\xDE",
-      "%De": "\xDE",
-      "%dE": "\xDE",
-      "%DE": "\xDE",
-      "%df": "\xDF",
-      "%Df": "\xDF",
-      "%dF": "\xDF",
-      "%DF": "\xDF",
-      "%e0": "\xE0",
-      "%E0": "\xE0",
-      "%e1": "\xE1",
-      "%E1": "\xE1",
-      "%e2": "\xE2",
-      "%E2": "\xE2",
-      "%e3": "\xE3",
-      "%E3": "\xE3",
-      "%e4": "\xE4",
-      "%E4": "\xE4",
-      "%e5": "\xE5",
-      "%E5": "\xE5",
-      "%e6": "\xE6",
-      "%E6": "\xE6",
-      "%e7": "\xE7",
-      "%E7": "\xE7",
-      "%e8": "\xE8",
-      "%E8": "\xE8",
-      "%e9": "\xE9",
-      "%E9": "\xE9",
-      "%ea": "\xEA",
-      "%Ea": "\xEA",
-      "%eA": "\xEA",
-      "%EA": "\xEA",
-      "%eb": "\xEB",
-      "%Eb": "\xEB",
-      "%eB": "\xEB",
-      "%EB": "\xEB",
-      "%ec": "\xEC",
-      "%Ec": "\xEC",
-      "%eC": "\xEC",
-      "%EC": "\xEC",
-      "%ed": "\xED",
-      "%Ed": "\xED",
-      "%eD": "\xED",
-      "%ED": "\xED",
-      "%ee": "\xEE",
-      "%Ee": "\xEE",
-      "%eE": "\xEE",
-      "%EE": "\xEE",
-      "%ef": "\xEF",
-      "%Ef": "\xEF",
-      "%eF": "\xEF",
-      "%EF": "\xEF",
-      "%f0": "\xF0",
-      "%F0": "\xF0",
-      "%f1": "\xF1",
-      "%F1": "\xF1",
-      "%f2": "\xF2",
-      "%F2": "\xF2",
-      "%f3": "\xF3",
-      "%F3": "\xF3",
-      "%f4": "\xF4",
-      "%F4": "\xF4",
-      "%f5": "\xF5",
-      "%F5": "\xF5",
-      "%f6": "\xF6",
-      "%F6": "\xF6",
-      "%f7": "\xF7",
-      "%F7": "\xF7",
-      "%f8": "\xF8",
-      "%F8": "\xF8",
-      "%f9": "\xF9",
-      "%F9": "\xF9",
-      "%fa": "\xFA",
-      "%Fa": "\xFA",
-      "%fA": "\xFA",
-      "%FA": "\xFA",
-      "%fb": "\xFB",
-      "%Fb": "\xFB",
-      "%fB": "\xFB",
-      "%FB": "\xFB",
-      "%fc": "\xFC",
-      "%Fc": "\xFC",
-      "%fC": "\xFC",
-      "%FC": "\xFC",
-      "%fd": "\xFD",
-      "%Fd": "\xFD",
-      "%fD": "\xFD",
-      "%FD": "\xFD",
-      "%fe": "\xFE",
-      "%Fe": "\xFE",
-      "%fE": "\xFE",
-      "%FE": "\xFE",
-      "%ff": "\xFF",
-      "%Ff": "\xFF",
-      "%fF": "\xFF",
-      "%FF": "\xFF"
-    };
-    function encodedReplacer(match) {
-      return EncodedLookup[match];
-    }
-    var STATE_KEY = 0;
-    var STATE_VALUE = 1;
-    var STATE_CHARSET = 2;
-    var STATE_LANG = 3;
-    function parseParams(str2) {
-      const res = [];
-      let state = STATE_KEY;
-      let charset = "";
-      let inquote = false;
-      let escaping = false;
-      let p = 0;
-      let tmp = "";
-      const len = str2.length;
-      for (var i = 0; i < len; ++i) {
-        const char = str2[i];
-        if (char === "\\" && inquote) {
-          if (escaping) {
-            escaping = false;
-          } else {
-            escaping = true;
-            continue;
-          }
-        } else if (char === '"') {
-          if (!escaping) {
-            if (inquote) {
-              inquote = false;
-              state = STATE_KEY;
-            } else {
-              inquote = true;
+      let headerName = headerNameLowerCasedRecord[key];
+      if (headerName === void 0) {
+        headerName = key.toLowerCase();
+        if (headerNameLowerCasedRecord[headerName] === void 0 && !isValidHTTPToken(headerName)) {
+          throw new InvalidArgumentError("invalid header key");
+        }
+      }
+      if (Array.isArray(val)) {
+        const arr = [];
+        for (let i = 0; i < val.length; i++) {
+          if (typeof val[i] === "string") {
+            if (!isValidHeaderValue(val[i])) {
+              throw new InvalidArgumentError(`invalid ${key} header`);
             }
-            continue;
+            arr.push(val[i]);
+          } else if (val[i] === null) {
+            arr.push("");
+          } else if (typeof val[i] === "object") {
+            throw new InvalidArgumentError(`invalid ${key} header`);
           } else {
-            escaping = false;
-          }
-        } else {
-          if (escaping && inquote) {
-            tmp += "\\";
-          }
-          escaping = false;
-          if ((state === STATE_CHARSET || state === STATE_LANG) && char === "'") {
-            if (state === STATE_CHARSET) {
-              state = STATE_LANG;
-              charset = tmp.substring(1);
-            } else {
-              state = STATE_VALUE;
-            }
-            tmp = "";
-            continue;
-          } else if (state === STATE_KEY && (char === "*" || char === "=") && res.length) {
-            state = char === "*" ? STATE_CHARSET : STATE_VALUE;
-            res[p] = [tmp, void 0];
-            tmp = "";
-            continue;
-          } else if (!inquote && char === ";") {
-            state = STATE_KEY;
-            if (charset) {
-              if (tmp.length) {
-                tmp = decodeText(
-                  tmp.replace(RE_ENCODED, encodedReplacer),
-                  "binary",
-                  charset
-                );
-              }
-              charset = "";
-            } else if (tmp.length) {
-              tmp = decodeText(tmp, "binary", "utf8");
-            }
-            if (res[p] === void 0) {
-              res[p] = tmp;
-            } else {
-              res[p][1] = tmp;
-            }
-            tmp = "";
-            ++p;
-            continue;
-          } else if (!inquote && (char === " " || char === "	")) {
-            continue;
+            arr.push(`${val[i]}`);
           }
         }
-        tmp += char;
-      }
-      if (charset && tmp.length) {
-        tmp = decodeText(
-          tmp.replace(RE_ENCODED, encodedReplacer),
-          "binary",
-          charset
-        );
-      } else if (tmp) {
-        tmp = decodeText(tmp, "binary", "utf8");
-      }
-      if (res[p] === void 0) {
-        if (tmp) {
-          res[p] = tmp;
+        val = arr;
+      } else if (typeof val === "string") {
+        if (!isValidHeaderValue(val)) {
+          throw new InvalidArgumentError(`invalid ${key} header`);
         }
+      } else if (val === null) {
+        val = "";
       } else {
-        res[p][1] = tmp;
-      }
-      return res;
-    }
-    module2.exports = parseParams;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/basename.js
-var require_basename = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/basename.js"(exports2, module2) {
-    "use strict";
-    module2.exports = function basename(path12) {
-      if (typeof path12 !== "string") {
-        return "";
+        val = `${val}`;
       }
-      for (var i = path12.length - 1; i >= 0; --i) {
-        switch (path12.charCodeAt(i)) {
-          case 47:
-          // '/'
-          case 92:
-            path12 = path12.slice(i + 1);
-            return path12 === ".." || path12 === "." ? "" : path12;
+      if (request2.host === null && headerName === "host") {
+        if (typeof val !== "string") {
+          throw new InvalidArgumentError("invalid host header");
         }
-      }
-      return path12 === ".." || path12 === "." ? "" : path12;
-    };
-  }
-});
-
-// node_modules/@fastify/busboy/lib/types/multipart.js
-var require_multipart = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/multipart.js"(exports2, module2) {
-    "use strict";
-    var { Readable: Readable2 } = require("node:stream");
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var parseParams = require_parseParams();
-    var decodeText = require_decodeText();
-    var basename = require_basename();
-    var getLimit = require_getLimit();
-    var RE_BOUNDARY = /^boundary$/i;
-    var RE_FIELD = /^form-data$/i;
-    var RE_CHARSET = /^charset$/i;
-    var RE_FILENAME = /^filename$/i;
-    var RE_NAME = /^name$/i;
-    Multipart.detect = /^multipart\/form-data/i;
-    function Multipart(boy, cfg) {
-      let i;
-      let len;
-      const self2 = this;
-      let boundary;
-      const limits = cfg.limits;
-      const isPartAFile = cfg.isPartAFile || ((fieldName, contentType, fileName) => contentType === "application/octet-stream" || fileName !== void 0);
-      const parsedConType = cfg.parsedConType || [];
-      const defCharset = cfg.defCharset || "utf8";
-      const preservePath = cfg.preservePath;
-      const fileOpts = { highWaterMark: cfg.fileHwm };
-      for (i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_BOUNDARY.test(parsedConType[i][0])) {
-          boundary = parsedConType[i][1];
-          break;
+        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");
         }
-      }
-      function checkFinished() {
-        if (nends === 0 && finished && !boy._done) {
-          finished = false;
-          self2.end();
+      } 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 (typeof boundary !== "string") {
-        throw new Error("Multipart: Boundary not found");
-      }
-      const fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      const fileSizeLimit = getLimit(limits, "fileSize", Infinity);
-      const filesLimit = getLimit(limits, "files", Infinity);
-      const fieldsLimit = getLimit(limits, "fields", Infinity);
-      const partsLimit = getLimit(limits, "parts", Infinity);
-      const headerPairsLimit = getLimit(limits, "headerPairs", 2e3);
-      const headerSizeLimit = getLimit(limits, "headerSize", 80 * 1024);
-      let nfiles = 0;
-      let nfields = 0;
-      let nends = 0;
-      let curFile;
-      let curField;
-      let finished = false;
-      this._needDrain = false;
-      this._pause = false;
-      this._cb = void 0;
-      this._nparts = 0;
-      this._boy = boy;
-      const parserCfg = {
-        boundary,
-        maxHeaderPairs: headerPairsLimit,
-        maxHeaderSize: headerSizeLimit,
-        partHwm: fileOpts.highWaterMark,
-        highWaterMark: cfg.highWaterMark
-      };
-      this.parser = new Dicer(parserCfg);
-      this.parser.on("drain", function() {
-        self2._needDrain = false;
-        if (self2._cb && !self2._pause) {
-          const cb = self2._cb;
-          self2._cb = void 0;
-          cb();
+        if (value === "close") {
+          request2.reset = true;
         }
-      }).on("part", function onPart(part) {
-        if (++self2._nparts > partsLimit) {
-          self2.parser.removeListener("part", onPart);
-          self2.parser.on("part", skipPart);
-          boy.hitPartsLimit = true;
-          boy.emit("partsLimit");
-          return skipPart(part);
-        }
-        if (curField) {
-          const field = curField;
-          field.emit("end");
-          field.removeAllListeners("end");
-        }
-        part.on("header", function(header) {
-          let contype;
-          let fieldname;
-          let parsed;
-          let charset;
-          let encoding;
-          let filename;
-          let nsize = 0;
-          if (header["content-type"]) {
-            parsed = parseParams(header["content-type"][0]);
-            if (parsed[0]) {
-              contype = parsed[0].toLowerCase();
-              for (i = 0, len = parsed.length; i < len; ++i) {
-                if (RE_CHARSET.test(parsed[i][0])) {
-                  charset = parsed[i][1].toLowerCase();
-                  break;
-                }
-              }
-            }
-          }
-          if (contype === void 0) {
-            contype = "text/plain";
-          }
-          if (charset === void 0) {
-            charset = defCharset;
-          }
-          if (header["content-disposition"]) {
-            parsed = parseParams(header["content-disposition"][0]);
-            if (!RE_FIELD.test(parsed[0])) {
-              return skipPart(part);
-            }
-            for (i = 0, len = parsed.length; i < len; ++i) {
-              if (RE_NAME.test(parsed[i][0])) {
-                fieldname = parsed[i][1];
-              } else if (RE_FILENAME.test(parsed[i][0])) {
-                filename = parsed[i][1];
-                if (!preservePath) {
-                  filename = basename(filename);
-                }
-              }
-            }
-          } else {
-            return skipPart(part);
-          }
-          if (header["content-transfer-encoding"]) {
-            encoding = header["content-transfer-encoding"][0].toLowerCase();
-          } else {
-            encoding = "7bit";
-          }
-          let onData, onEnd;
-          if (isPartAFile(fieldname, contype, filename)) {
-            if (nfiles === filesLimit) {
-              if (!boy.hitFilesLimit) {
-                boy.hitFilesLimit = true;
-                boy.emit("filesLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfiles;
-            if (boy.listenerCount("file") === 0) {
-              self2.parser._ignore();
-              return;
-            }
-            ++nends;
-            const file = new FileStream(fileOpts);
-            curFile = file;
-            file.on("end", function() {
-              --nends;
-              self2._pause = false;
-              checkFinished();
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            });
-            file._read = function(n) {
-              if (!self2._pause) {
-                return;
-              }
-              self2._pause = false;
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            };
-            boy.emit("file", fieldname, file, filename, encoding, contype);
-            onData = function(data) {
-              if ((nsize += data.length) > fileSizeLimit) {
-                const extralen = fileSizeLimit - nsize + data.length;
-                if (extralen > 0) {
-                  file.push(data.slice(0, extralen));
-                }
-                file.truncated = true;
-                file.bytesRead = fileSizeLimit;
-                part.removeAllListeners("data");
-                file.emit("limit");
-                return;
-              } else if (!file.push(data)) {
-                self2._pause = true;
-              }
-              file.bytesRead = nsize;
-            };
-            onEnd = function() {
-              curFile = void 0;
-              file.push(null);
-            };
-          } else {
-            if (nfields === fieldsLimit) {
-              if (!boy.hitFieldsLimit) {
-                boy.hitFieldsLimit = true;
-                boy.emit("fieldsLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfields;
-            ++nends;
-            let buffer = "";
-            let truncated = false;
-            curField = part;
-            onData = function(data) {
-              if ((nsize += data.length) > fieldSizeLimit) {
-                const extralen = fieldSizeLimit - (nsize - data.length);
-                buffer += data.toString("binary", 0, extralen);
-                truncated = true;
-                part.removeAllListeners("data");
-              } else {
-                buffer += data.toString("binary");
-              }
-            };
-            onEnd = function() {
-              curField = void 0;
-              if (buffer.length) {
-                buffer = decodeText(buffer, "binary", charset);
-              }
-              boy.emit("field", fieldname, buffer, false, truncated, encoding, contype);
-              --nends;
-              checkFinished();
-            };
-          }
-          part._readableState.sync = false;
-          part.on("data", onData);
-          part.on("end", onEnd);
-        }).on("error", function(err) {
-          if (curFile) {
-            curFile.emit("error", err);
-          }
-        });
-      }).on("error", function(err) {
-        boy.emit("error", err);
-      }).on("finish", function() {
-        finished = true;
-        checkFinished();
-      });
-    }
-    Multipart.prototype.write = function(chunk, cb) {
-      const r = this.parser.write(chunk);
-      if (r && !this._pause) {
-        cb();
+      } else if (headerName === "expect") {
+        throw new NotSupportedError("expect header not supported");
       } else {
-        this._needDrain = !r;
-        this._cb = cb;
-      }
-    };
-    Multipart.prototype.end = function() {
-      const self2 = this;
-      if (self2.parser.writable) {
-        self2.parser.end();
-      } else if (!self2._boy._done) {
-        process.nextTick(function() {
-          self2._boy._done = true;
-          self2._boy.emit("finish");
-        });
+        request2.headers.push(key, val);
       }
-    };
-    function skipPart(part) {
-      part.resume();
-    }
-    function FileStream(opts) {
-      Readable2.call(this, opts);
-      this.bytesRead = 0;
-      this.truncated = false;
     }
-    inherits(FileStream, Readable2);
-    FileStream.prototype._read = function(n) {
-    };
-    module2.exports = Multipart;
+    module2.exports = Request;
   }
 });
 
-// node_modules/@fastify/busboy/lib/utils/Decoder.js
-var require_Decoder = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/Decoder.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js
+var require_dispatcher2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js"(exports2, module2) {
     "use strict";
-    var RE_PLUS = /\+/g;
-    var HEX = [
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0
-    ];
-    function Decoder() {
-      this.buffer = void 0;
-    }
-    Decoder.prototype.write = function(str2) {
-      str2 = str2.replace(RE_PLUS, " ");
-      let res = "";
-      let i = 0;
-      let p = 0;
-      const len = str2.length;
-      for (; i < len; ++i) {
-        if (this.buffer !== void 0) {
-          if (!HEX[str2.charCodeAt(i)]) {
-            res += "%" + this.buffer;
-            this.buffer = void 0;
-            --i;
-          } else {
-            this.buffer += str2[i];
-            ++p;
-            if (this.buffer.length === 2) {
-              res += String.fromCharCode(parseInt(this.buffer, 16));
-              this.buffer = void 0;
-            }
-          }
-        } else if (str2[i] === "%") {
-          if (i > p) {
-            res += str2.substring(p, i);
-            p = i;
-          }
-          this.buffer = "";
-          ++p;
-        }
+    var EventEmitter = require("node:events");
+    var Dispatcher = class extends EventEmitter {
+      dispatch() {
+        throw new Error("not implemented");
       }
-      if (p < len && this.buffer === void 0) {
-        res += str2.substring(p);
+      close() {
+        throw new Error("not implemented");
       }
-      return res;
-    };
-    Decoder.prototype.reset = function() {
-      this.buffer = void 0;
-    };
-    module2.exports = Decoder;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/types/urlencoded.js
-var require_urlencoded = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/urlencoded.js"(exports2, module2) {
-    "use strict";
-    var Decoder = require_Decoder();
-    var decodeText = require_decodeText();
-    var getLimit = require_getLimit();
-    var RE_CHARSET = /^charset$/i;
-    UrlEncoded.detect = /^application\/x-www-form-urlencoded/i;
-    function UrlEncoded(boy, cfg) {
-      const limits = cfg.limits;
-      const parsedConType = cfg.parsedConType;
-      this.boy = boy;
-      this.fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      this.fieldNameSizeLimit = getLimit(limits, "fieldNameSize", 100);
-      this.fieldsLimit = getLimit(limits, "fields", Infinity);
-      let charset;
-      for (var i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_CHARSET.test(parsedConType[i][0])) {
-          charset = parsedConType[i][1].toLowerCase();
-          break;
-        }
+      destroy() {
+        throw new Error("not implemented");
       }
-      if (charset === void 0) {
-        charset = cfg.defCharset || "utf8";
-      }
-      this.decoder = new Decoder();
-      this.charset = charset;
-      this._fields = 0;
-      this._state = "key";
-      this._checkingBytes = true;
-      this._bytesKey = 0;
-      this._bytesVal = 0;
-      this._key = "";
-      this._val = "";
-      this._keyTrunc = false;
-      this._valTrunc = false;
-      this._hitLimit = false;
-    }
-    UrlEncoded.prototype.write = function(data, cb) {
-      if (this._fields === this.fieldsLimit) {
-        if (!this.boy.hitFieldsLimit) {
-          this.boy.hitFieldsLimit = true;
-          this.boy.emit("fieldsLimit");
-        }
-        return cb();
-      }
-      let idxeq;
-      let idxamp;
-      let i;
-      let p = 0;
-      const len = data.length;
-      while (p < len) {
-        if (this._state === "key") {
-          idxeq = idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 61) {
-              idxeq = i;
-              break;
-            } else if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesKey === this.fieldNameSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesKey;
-            }
-          }
-          if (idxeq !== void 0) {
-            if (idxeq > p) {
-              this._key += this.decoder.write(data.toString("binary", p, idxeq));
-            }
-            this._state = "val";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._val = "";
-            this._bytesVal = 0;
-            this._valTrunc = false;
-            this.decoder.reset();
-            p = idxeq + 1;
-          } else if (idxamp !== void 0) {
-            ++this._fields;
-            let key;
-            const keyTrunc = this._keyTrunc;
-            if (idxamp > p) {
-              key = this._key += this.decoder.write(data.toString("binary", p, idxamp));
-            } else {
-              key = this._key;
-            }
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            if (key.length) {
-              this.boy.emit(
-                "field",
-                decodeText(key, "binary", this.charset),
-                "",
-                keyTrunc,
-                false
-              );
-            }
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._key += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if ((this._bytesKey = this._key.length) === this.fieldNameSizeLimit) {
-              this._checkingBytes = false;
-              this._keyTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._key += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+      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;
           }
-        } else {
-          idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesVal === this.fieldSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesVal;
-            }
+          if (typeof interceptor !== "function") {
+            throw new TypeError(`invalid interceptor, expected function received ${typeof interceptor}`);
           }
-          if (idxamp !== void 0) {
-            ++this._fields;
-            if (idxamp > p) {
-              this._val += this.decoder.write(data.toString("binary", p, idxamp));
-            }
-            this.boy.emit(
-              "field",
-              decodeText(this._key, "binary", this.charset),
-              decodeText(this._val, "binary", this.charset),
-              this._keyTrunc,
-              this._valTrunc
-            );
-            this._state = "key";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._val += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if (this._val === "" && this.fieldSizeLimit === 0 || (this._bytesVal = this._val.length) === this.fieldSizeLimit) {
-              this._checkingBytes = false;
-              this._valTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._val += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+          dispatch = interceptor(dispatch);
+          if (dispatch == null || typeof dispatch !== "function" || dispatch.length !== 2) {
+            throw new TypeError("invalid interceptor");
           }
         }
+        return new ComposedDispatcher(this, dispatch);
       }
-      cb();
     };
-    UrlEncoded.prototype.end = function() {
-      if (this.boy._done) {
-        return;
+    var ComposedDispatcher = class extends Dispatcher {
+      #dispatcher = null;
+      #dispatch = null;
+      constructor(dispatcher, dispatch) {
+        super();
+        this.#dispatcher = dispatcher;
+        this.#dispatch = dispatch;
       }
-      if (this._state === "key" && this._key.length > 0) {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          "",
-          this._keyTrunc,
-          false
-        );
-      } else if (this._state === "val") {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          decodeText(this._val, "binary", this.charset),
-          this._keyTrunc,
-          this._valTrunc
-        );
+      dispatch(...args) {
+        this.#dispatch(...args);
+      }
+      close(...args) {
+        return this.#dispatcher.close(...args);
+      }
+      destroy(...args) {
+        return this.#dispatcher.destroy(...args);
       }
-      this.boy._done = true;
-      this.boy.emit("finish");
     };
-    module2.exports = UrlEncoded;
+    module2.exports = Dispatcher;
   }
 });
 
-// node_modules/@fastify/busboy/lib/main.js
-var require_main = __commonJS({
-  "node_modules/@fastify/busboy/lib/main.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js
+var require_dispatcher_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js"(exports2, module2) {
     "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var MultipartParser = require_multipart();
-    var UrlencodedParser = require_urlencoded();
-    var parseParams = require_parseParams();
-    function Busboy(opts) {
-      if (!(this instanceof Busboy)) {
-        return new Busboy(opts);
+    var Dispatcher = require_dispatcher2();
+    var {
+      ClientDestroyedError,
+      ClientClosedError,
+      InvalidArgumentError
+    } = require_errors2();
+    var { kDestroy, kClose, kClosed, kDestroyed, kDispatch, kInterceptors } = require_symbols6();
+    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
+    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
+    var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
+    var DispatcherBase = class extends Dispatcher {
+      constructor() {
+        super();
+        this[kDestroyed] = false;
+        this[kOnDestroyed] = null;
+        this[kClosed] = false;
+        this[kOnClosed] = [];
       }
-      if (typeof opts !== "object") {
-        throw new TypeError("Busboy expected an options-Object.");
+      get destroyed() {
+        return this[kDestroyed];
       }
-      if (typeof opts.headers !== "object") {
-        throw new TypeError("Busboy expected an options-Object with headers-attribute.");
+      get closed() {
+        return this[kClosed];
       }
-      if (typeof opts.headers["content-type"] !== "string") {
-        throw new TypeError("Missing Content-Type-header.");
+      get interceptors() {
+        return this[kInterceptors];
       }
-      const {
-        headers,
-        ...streamOptions
-      } = opts;
-      this.opts = {
-        autoDestroy: false,
-        ...streamOptions
-      };
-      WritableStream.call(this, this.opts);
-      this._done = false;
-      this._parser = this.getParserByHeaders(headers);
-      this._finished = false;
-    }
-    inherits(Busboy, WritableStream);
-    Busboy.prototype.emit = function(ev) {
-      if (ev === "finish") {
-        if (!this._done) {
-          this._parser?.end();
+      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");
+            }
+          }
+        }
+        this[kInterceptors] = newInterceptors;
+      }
+      close(callback) {
+        if (callback === void 0) {
+          return new Promise((resolve6, reject) => {
+            this.close((err, data) => {
+              return err ? reject(err) : resolve6(data);
+            });
+          });
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        if (this[kDestroyed]) {
+          queueMicrotask(() => callback(new ClientDestroyedError(), null));
           return;
-        } else if (this._finished) {
+        }
+        if (this[kClosed]) {
+          if (this[kOnClosed]) {
+            this[kOnClosed].push(callback);
+          } else {
+            queueMicrotask(() => callback(null, null));
+          }
           return;
         }
-        this._finished = true;
-      }
-      WritableStream.prototype.emit.apply(this, arguments);
-    };
-    Busboy.prototype.getParserByHeaders = function(headers) {
-      const parsed = parseParams(headers["content-type"]);
-      const cfg = {
-        defCharset: this.opts.defCharset,
-        fileHwm: this.opts.fileHwm,
-        headers,
-        highWaterMark: this.opts.highWaterMark,
-        isPartAFile: this.opts.isPartAFile,
-        limits: this.opts.limits,
-        parsedConType: parsed,
-        preservePath: this.opts.preservePath
-      };
-      if (MultipartParser.detect.test(parsed[0])) {
-        return new MultipartParser(this, cfg);
+        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);
+        });
       }
-      if (UrlencodedParser.detect.test(parsed[0])) {
-        return new UrlencodedParser(this, cfg);
+      destroy(err, callback) {
+        if (typeof err === "function") {
+          callback = err;
+          err = null;
+        }
+        if (callback === void 0) {
+          return new Promise((resolve6, reject) => {
+            this.destroy(err, (err2, data) => {
+              return err2 ? (
+                /* istanbul ignore next: should never error */
+                reject(err2)
+              ) : resolve6(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;
+        }
       }
-      throw new Error("Unsupported Content-Type.");
-    };
-    Busboy.prototype._write = function(chunk, encoding, cb) {
-      this._parser.write(chunk, cb);
     };
-    module2.exports = Busboy;
-    module2.exports.default = Busboy;
-    module2.exports.Busboy = Busboy;
-    module2.exports.Dicer = Dicer;
+    module2.exports = DispatcherBase;
   }
 });
 
-// node_modules/undici/lib/fetch/constants.js
-var require_constants7 = __commonJS({
-  "node_modules/undici/lib/fetch/constants.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/util/timers.js
+var require_timers2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/util/timers.js"(exports2, module2) {
     "use strict";
-    var { MessageChannel, receiveMessageOnPort } = require("worker_threads");
-    var corsSafeListedMethods = ["GET", "HEAD", "POST"];
-    var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
-    var nullBodyStatus = [101, 204, 205, 304];
-    var redirectStatus = [301, 302, 303, 307, 308];
-    var redirectStatusSet = new Set(redirectStatus);
-    var badPorts = [
-      "1",
-      "7",
-      "9",
-      "11",
-      "13",
-      "15",
-      "17",
-      "19",
-      "20",
-      "21",
-      "22",
-      "23",
-      "25",
-      "37",
-      "42",
-      "43",
-      "53",
-      "69",
-      "77",
-      "79",
-      "87",
-      "95",
-      "101",
-      "102",
-      "103",
-      "104",
-      "109",
-      "110",
-      "111",
-      "113",
-      "115",
-      "117",
-      "119",
-      "123",
-      "135",
-      "137",
-      "139",
-      "143",
-      "161",
-      "179",
-      "389",
-      "427",
-      "465",
-      "512",
-      "513",
-      "514",
-      "515",
-      "526",
-      "530",
-      "531",
-      "532",
-      "540",
-      "548",
-      "554",
-      "556",
-      "563",
-      "587",
-      "601",
-      "636",
-      "989",
-      "990",
-      "993",
-      "995",
-      "1719",
-      "1720",
-      "1723",
-      "2049",
-      "3659",
-      "4045",
-      "5060",
-      "5061",
-      "6000",
-      "6566",
-      "6665",
-      "6666",
-      "6667",
-      "6668",
-      "6669",
-      "6697",
-      "10080"
-    ];
-    var badPortsSet = new Set(badPorts);
-    var referrerPolicy = [
-      "",
-      "no-referrer",
-      "no-referrer-when-downgrade",
-      "same-origin",
-      "origin",
-      "strict-origin",
-      "origin-when-cross-origin",
-      "strict-origin-when-cross-origin",
-      "unsafe-url"
-    ];
-    var referrerPolicySet = new Set(referrerPolicy);
-    var requestRedirect = ["follow", "manual", "error"];
-    var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"];
-    var safeMethodsSet = new Set(safeMethods);
-    var requestMode = ["navigate", "same-origin", "no-cors", "cors"];
-    var requestCredentials = ["omit", "same-origin", "include"];
-    var requestCache = [
-      "default",
-      "no-store",
-      "reload",
-      "no-cache",
-      "force-cache",
-      "only-if-cached"
-    ];
-    var requestBodyHeader = [
-      "content-encoding",
-      "content-language",
-      "content-location",
-      "content-type",
-      // See https://github.com/nodejs/undici/issues/2021
-      // 'Content-Length' is a forbidden header name, which is typically
-      // removed in the Headers implementation. However, undici doesn't
-      // filter out headers, so we add it here.
-      "content-length"
-    ];
-    var requestDuplex = [
-      "half"
-    ];
-    var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"];
-    var forbiddenMethodsSet = new Set(forbiddenMethods);
-    var subresource = [
-      "audio",
-      "audioworklet",
-      "font",
-      "image",
-      "manifest",
-      "paintworklet",
-      "script",
-      "style",
-      "track",
-      "video",
-      "xslt",
-      ""
-    ];
-    var subresourceSet = new Set(subresource);
-    var DOMException2 = globalThis.DOMException ?? (() => {
-      try {
-        atob("~");
-      } catch (err) {
-        return Object.getPrototypeOf(err).constructor;
+    var fastNow = 0;
+    var RESOLUTION_MS = 1e3;
+    var TICK_MS = (RESOLUTION_MS >> 1) - 1;
+    var fastNowTimeout;
+    var kFastTimer = /* @__PURE__ */ 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;
+        }
       }
-    })();
-    var channel;
-    var structuredClone = globalThis.structuredClone ?? // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js
-    // structuredClone was added in v17.0.0, but fetch supports v16.8
-    function structuredClone2(value, options = void 0) {
-      if (arguments.length === 0) {
-        throw new TypeError("missing argument");
+      fastTimers.length = len;
+      if (fastTimers.length !== 0) {
+        refreshTimeout();
       }
-      if (!channel) {
-        channel = new MessageChannel();
+    }
+    function refreshTimeout() {
+      if (fastNowTimeout) {
+        fastNowTimeout.refresh();
+      } else {
+        clearTimeout(fastNowTimeout);
+        fastNowTimeout = setTimeout(onTick, TICK_MS);
+        if (fastNowTimeout.unref) {
+          fastNowTimeout.unref();
+        }
       }
-      channel.port1.unref();
-      channel.port2.unref();
-      channel.port1.postMessage(value, options?.transfer);
-      return receiveMessageOnPort(channel.port2).message;
-    };
-    module2.exports = {
-      DOMException: DOMException2,
-      structuredClone,
-      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/fetch/global.js
-var require_global3 = __commonJS({
-  "node_modules/undici/lib/fetch/global.js"(exports2, module2) {
-    "use strict";
-    var globalOrigin = /* @__PURE__ */ 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;
+    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, delay2, arg) {
+        this._onTimeout = callback;
+        this._idleTimeout = delay2;
+        this._timerArg = arg;
+        this.refresh();
       }
-      const parsedURL = new URL(newOrigin);
-      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
-        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
+      /**
+       * 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;
       }
-      Object.defineProperty(globalThis, globalOrigin, {
-        value: parsedURL,
-        writable: true,
-        enumerable: false,
-        configurable: false
-      });
-    }
+      /**
+       * The `clear` method cancels the timer, preventing it from executing.
+       *
+       * @returns {void}
+       * @private
+       */
+      clear() {
+        this._state = TO_BE_CLEARED;
+        this._idleStart = -1;
+      }
+    };
     module2.exports = {
-      getGlobalOrigin,
-      setGlobalOrigin
+      /**
+       * 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, delay2, arg) {
+        return delay2 <= RESOLUTION_MS ? setTimeout(callback, delay2, arg) : new FastTimer(callback, delay2, 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, delay2, arg) {
+        return new FastTimer(callback, delay2, 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(delay2 = 0) {
+        fastNow += delay2 - 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/undici/lib/fetch/util.js
-var require_util10 = __commonJS({
-  "node_modules/undici/lib/fetch/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/connect.js
+var require_connect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/connect.js"(exports2, module2) {
     "use strict";
-    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants7();
-    var { getGlobalOrigin } = require_global3();
-    var { performance: performance3 } = require("perf_hooks");
-    var { isBlobLike, toUSVString, ReadableStreamFrom } = require_util9();
-    var assert = require("assert");
-    var { isUint8Array } = require("util/types");
-    var supportedHashes = [];
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
-      supportedHashes = crypto2.getHashes().filter((hash2) => possibleRelevantHashes.includes(hash2));
-    } 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");
-      if (location !== null && isValidHeaderValue(location)) {
-        location = new URL(location, responseURL(response));
-      }
-      if (location && !location.hash) {
-        location.hash = requestFragment;
-      }
-      return location;
-    }
-    function requestCurrentURL(request2) {
-      return request2.urlList[request2.urlList.length - 1];
-    }
-    function requestBadPort(request2) {
-      const url2 = requestCurrentURL(request2);
-      if (urlIsHttpHttpsScheme(url2) && badPortsSet.has(url2.port)) {
-        return "blocked";
-      }
-      return "allowed";
-    }
-    function isErrorLike(object) {
-      return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException");
+    var net = require("node:net");
+    var assert = require("node:assert");
+    var util = require_util9();
+    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
+    var timers = require_timers2();
+    function noop3() {
     }
-    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;
+    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);
+            }
+          });
         }
-      }
-      return true;
-    }
-    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;
-      }
-    }
-    function isValidHTTPToken(characters) {
-      if (characters.length === 0) {
-        return false;
-      }
-      for (let i = 0; i < characters.length; ++i) {
-        if (!isTokenCharCode(characters.charCodeAt(i))) {
-          return false;
+        get(sessionKey) {
+          const ref = this._sessionCache.get(sessionKey);
+          return ref ? ref.deref() : null;
         }
-      }
-      return true;
-    }
-    function isValidHeaderName(potentialValue) {
-      return isValidHTTPToken(potentialValue);
-    }
-    function isValidHeaderValue(potentialValue) {
-      if (potentialValue.startsWith("	") || potentialValue.startsWith(" ") || potentialValue.endsWith("	") || potentialValue.endsWith(" ")) {
-        return false;
-      }
-      if (potentialValue.includes("\0") || potentialValue.includes("\r") || potentialValue.includes("\n")) {
-        return false;
-      }
-      return true;
-    }
-    function setRequestReferrerPolicyOnRedirect(request2, actualResponse) {
-      const { headersList } = actualResponse;
-      const policyHeader = (headersList.get("referrer-policy") ?? "").split(",");
-      let policy = "";
-      if (policyHeader.length > 0) {
-        for (let i = policyHeader.length; i !== 0; i--) {
-          const token = policyHeader[i - 1].trim();
-          if (referrerPolicyTokens.has(token)) {
-            policy = token;
-            break;
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
+          this._sessionCache.set(sessionKey, new WeakRef(session));
+          this._sessionRegistry.register(session, sessionKey);
         }
-      }
-      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);
-    }
-    function appendRequestOriginHeader(request2) {
-      let serializedOrigin = request2.origin;
-      if (request2.responseTainting === "cors" || request2.mode === "websocket") {
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
-        }
-      } 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:
-        }
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
-        }
-      }
-    }
-    function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
-      return performance3.now();
-    }
-    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";
+    } else {
+      SessionCache = class SimpleSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
         }
-        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;
+        get(sessionKey) {
+          return this._sessionCache.get(sessionKey);
+        }
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
-          if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {
-            return "no-referrer";
+          if (this._sessionCache.size >= this._maxCachedSessions) {
+            const { value: oldestKey } = this._sessionCache.keys().next();
+            this._sessionCache.delete(oldestKey);
           }
-          return referrerOrigin;
-        }
-        case "strict-origin":
-        // eslint-disable-line
-        /**
-           * 1. If referrerURL is a potentially trustworthy URL and
-           * request’s current URL is not a potentially trustworthy URL,
-           * then return no referrer.
-           * 2. Return referrerOrigin
-          */
-        case "no-referrer-when-downgrade":
-        // eslint-disable-line
-        /**
-         * 1. If referrerURL is a potentially trustworthy URL and
-         * request’s current URL is not a potentially trustworthy URL,
-         * then return no referrer.
-         * 2. Return referrerOrigin
-        */
-        default:
-          return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
-      }
-    }
-    function stripURLForReferrer(url2, originOnly) {
-      assert(url2 instanceof URL);
-      if (url2.protocol === "file:" || url2.protocol === "about:" || url2.protocol === "blank:") {
-        return "no-referrer";
-      }
-      url2.username = "";
-      url2.password = "";
-      url2.hash = "";
-      if (originOnly) {
-        url2.pathname = "";
-        url2.search = "";
-      }
-      return url2;
-    }
-    function isURLPotentiallyTrustworthy(url2) {
-      if (!(url2 instanceof URL)) {
-        return false;
-      }
-      if (url2.href === "about:blank" || url2.href === "about:srcdoc") {
-        return true;
-      }
-      if (url2.protocol === "data:") return true;
-      if (url2.protocol === "file:") return true;
-      return isOriginPotentiallyTrustworthy(url2.origin);
-      function isOriginPotentiallyTrustworthy(origin) {
-        if (origin == null || origin === "null") return false;
-        const originAsURL = new URL(origin);
-        if (originAsURL.protocol === "https:" || originAsURL.protocol === "wss:") {
-          return true;
-        }
-        if (/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(originAsURL.hostname) || (originAsURL.hostname === "localhost" || originAsURL.hostname.includes("localhost.")) || originAsURL.hostname.endsWith(".localhost")) {
-          return true;
+          this._sessionCache.set(sessionKey, session);
         }
-        return false;
-      }
+      };
     }
-    function bytesMatch(bytes, metadataList) {
-      if (crypto2 === void 0) {
-        return true;
-      }
-      const parsedMetadata = parseMetadata(metadataList);
-      if (parsedMetadata === "no metadata") {
-        return true;
-      }
-      if (parsedMetadata.length === 0) {
-        return true;
+    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 strongest = getStrongestMetadata(parsedMetadata);
-      const metadata = filterMetadataListByAlgorithm(parsedMetadata, strongest);
-      for (const item of metadata) {
-        const algorithm = item.algo;
-        const expectedValue = item.hash;
-        let actualValue = crypto2.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);
+      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");
           }
+          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 (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 token of metadata.split(" ")) {
-        empty = false;
-        const parsedToken = parseHashWithOptions.exec(token);
-        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;
+        if (options.keepAlive == null || options.keepAlive) {
+          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
+          socket.setKeepAlive(true, keepAliveInitialDelay);
         }
-      }
-      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((resolve6, reject) => {
-        res = resolve6;
-        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";
-    }
-    var normalizeMethodRecord = {
-      delete: "DELETE",
-      DELETE: "DELETE",
-      get: "GET",
-      GET: "GET",
-      head: "HEAD",
-      HEAD: "HEAD",
-      options: "OPTIONS",
-      OPTIONS: "OPTIONS",
-      post: "POST",
-      POST: "POST",
-      put: "PUT",
-      PUT: "PUT"
-    };
-    Object.setPrototypeOf(normalizeMethodRecord, null);
-    function normalizeMethod(method) {
-      return normalizeMethodRecord[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 makeIterator(iterator2, name, kind) {
-      const object = {
-        index: 0,
-        kind,
-        target: iterator2
-      };
-      const i = {
-        next() {
-          if (Object.getPrototypeOf(this) !== i) {
-            throw new TypeError(
-              `'next' called on an object that does not implement interface ${name} Iterator.`
-            );
+        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);
           }
-          const { index, kind: kind2, target } = object;
-          const values = target();
-          const len = values.length;
-          if (index >= len) {
-            return { value: void 0, done: true };
+        }).on("error", function(err) {
+          queueMicrotask(clearConnectTimeout);
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(err);
           }
-          const pair = values[index];
-          object.index = index + 1;
-          return iteratorResult(pair, kind2);
-        },
-        // The class string of an iterator prototype object for a given interface is the
-        // result of concatenating the identifier of the interface and the string " Iterator".
-        [Symbol.toStringTag]: `${name} Iterator`
+        });
+        return socket;
       };
-      Object.setPrototypeOf(i, esIteratorPrototype);
-      return Object.setPrototypeOf({}, i);
-    }
-    function iteratorResult(pair, kind) {
-      let result;
-      switch (kind) {
-        case "key": {
-          result = pair[0];
-          break;
-        }
-        case "value": {
-          result = pair[1];
-          break;
-        }
-        case "key+value": {
-          result = pair;
-          break;
-        }
-      }
-      return { value: result, done: false };
-    }
-    async function fullyReadBody(body, processBody, processBodyError) {
-      const successSteps = processBody;
-      const errorSteps = processBodyError;
-      let reader;
-      try {
-        reader = body.stream.getReader();
-      } catch (e) {
-        errorSteps(e);
-        return;
-      }
-      try {
-        const result = await readAllBytes(reader);
-        successSteps(result);
-      } catch (e) {
-        errorSteps(e);
-      }
     }
-    var ReadableStream2 = globalThis.ReadableStream;
-    function isReadableStreamLike(stream2) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+    var setupConnectTimeout = process.platform === "win32" ? (socketWeakRef, opts) => {
+      if (!opts.timeout) {
+        return noop3;
       }
-      return stream2 instanceof ReadableStream2 || stream2[Symbol.toStringTag] === "ReadableStream" && typeof stream2.tee === "function";
-    }
-    var MAXIMUM_ARGUMENT_LENGTH = 65535;
-    function isomorphicDecode(input) {
-      if (input.length < MAXIMUM_ARGUMENT_LENGTH) {
-        return String.fromCharCode(...input);
+      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;
       }
-      return input.reduce((previous, current) => previous + String.fromCharCode(current), "");
-    }
-    function readableStreamClose(controller) {
-      try {
-        controller.close();
-      } catch (err) {
-        if (!err.message.includes("Controller is already closed")) {
-          throw err;
-        }
+      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;
       }
-    }
-    function isomorphicEncode(input) {
-      for (let i = 0; i < input.length; i++) {
-        assert(input.charCodeAt(i) <= 255);
+      let message = "Connect Timeout Error";
+      if (Array.isArray(socket.autoSelectFamilyAttemptedAddresses)) {
+        message += ` (attempted addresses: ${socket.autoSelectFamilyAttemptedAddresses.join(", ")},`;
+      } else {
+        message += ` (attempted address: ${opts.hostname}:${opts.port},`;
       }
-      return input;
+      message += ` timeout: ${opts.timeout}ms)`;
+      util.destroy(socket, new ConnectTimeoutError(message));
     }
-    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");
+    module2.exports = buildConnector;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js
+var require_utils3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.enumToMap = void 0;
+    function enumToMap(obj) {
+      const res = {};
+      Object.keys(obj).forEach((key) => {
+        const value = obj[key];
+        if (typeof value === "number") {
+          res[key] = value;
         }
-        bytes.push(chunk);
-        byteLength += chunk.length;
-      }
-    }
-    function urlIsLocal(url2) {
-      assert("protocol" in url2);
-      const protocol = url2.protocol;
-      return protocol === "about:" || protocol === "blob:" || protocol === "data:";
-    }
-    function urlHasHttpsScheme(url2) {
-      if (typeof url2 === "string") {
-        return url2.startsWith("https:");
-      }
-      return url2.protocol === "https:";
-    }
-    function urlIsHttpHttpsScheme(url2) {
-      assert("protocol" in url2);
-      const protocol = url2.protocol;
-      return protocol === "http:" || protocol === "https:";
+      });
+      return res;
     }
-    var hasOwn = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key));
-    module2.exports = {
-      isAborted,
-      isCancelled,
-      createDeferredPromise,
-      ReadableStreamFrom,
-      toUSVString,
-      tryUpgradeRequestToAPotentiallyTrustworthyURL,
-      coarsenedSharedCurrentTime,
-      determineRequestsReferrer,
-      makePolicyContainer,
-      clonePolicyContainer,
-      appendFetchMetadata,
-      appendRequestOriginHeader,
-      TAOCheck,
-      corsCheck,
-      crossOriginResourcePolicyCheck,
-      createOpaqueTimingInfo,
-      setRequestReferrerPolicyOnRedirect,
-      isValidHTTPToken,
-      requestBadPort,
-      requestCurrentURL,
-      responseURL,
-      responseLocationURL,
-      isBlobLike,
-      isURLPotentiallyTrustworthy,
-      isValidReasonPhrase,
-      sameOrigin,
-      normalizeMethod,
-      serializeJavascriptValueToJSONString,
-      makeIterator,
-      isValidHeaderName,
-      isValidHeaderValue,
-      hasOwn,
-      isErrorLike,
-      fullyReadBody,
-      bytesMatch,
-      isReadableStreamLike,
-      readableStreamClose,
-      isomorphicEncode,
-      isomorphicDecode,
-      urlIsLocal,
-      urlHasHttpsScheme,
-      urlIsHttpHttpsScheme,
-      readAllBytes,
-      normalizeMethodRecord,
-      parseMetadata
-    };
+    exports2.enumToMap = enumToMap;
   }
 });
 
-// node_modules/undici/lib/fetch/symbols.js
-var require_symbols7 = __commonJS({
-  "node_modules/undici/lib/fetch/symbols.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js
+var require_constants7 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js"(exports2) {
     "use strict";
-    module2.exports = {
-      kUrl: /* @__PURE__ */ Symbol("url"),
-      kHeaders: /* @__PURE__ */ Symbol("headers"),
-      kSignal: /* @__PURE__ */ Symbol("signal"),
-      kState: /* @__PURE__ */ Symbol("state"),
-      kGuard: /* @__PURE__ */ Symbol("guard"),
-      kRealm: /* @__PURE__ */ Symbol("realm")
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
+    var utils_1 = require_utils3();
+    var ERROR;
+    (function(ERROR2) {
+      ERROR2[ERROR2["OK"] = 0] = "OK";
+      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
+      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
+      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
+      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
+      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
+      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
+      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
+      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
+      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
+      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
+      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
+      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
+      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
+      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
+      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
+      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
+      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
+      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
+      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
+      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
+      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
+      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
+      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
+      ERROR2[ERROR2["USER"] = 24] = "USER";
+    })(ERROR = 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];
+      }
+    });
+    var FINISH;
+    (function(FINISH2) {
+      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
+      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
+      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
+    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
+    exports2.ALPHA = [];
+    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
+      exports2.ALPHA.push(String.fromCharCode(i));
+      exports2.ALPHA.push(String.fromCharCode(i + 32));
+    }
+    exports2.NUM_MAP = {
+      0: 0,
+      1: 1,
+      2: 2,
+      3: 3,
+      4: 4,
+      5: 5,
+      6: 6,
+      7: 7,
+      8: 8,
+      9: 9
+    };
+    exports2.HEX_MAP = {
+      0: 0,
+      1: 1,
+      2: 2,
+      3: 3,
+      4: 4,
+      5: 5,
+      6: 6,
+      7: 7,
+      8: 8,
+      9: 9,
+      A: 10,
+      B: 11,
+      C: 12,
+      D: 13,
+      E: 14,
+      F: 15,
+      a: 10,
+      b: 11,
+      c: 12,
+      d: 13,
+      e: 14,
+      f: 15
+    };
+    exports2.NUM = [
+      "0",
+      "1",
+      "2",
+      "3",
+      "4",
+      "5",
+      "6",
+      "7",
+      "8",
+      "9"
+    ];
+    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
+    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
+    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
+    exports2.STRICT_URL_CHAR = [
+      "!",
+      '"',
+      "$",
+      "%",
+      "&",
+      "'",
+      "(",
+      ")",
+      "*",
+      "+",
+      ",",
+      "-",
+      ".",
+      "/",
+      ":",
+      ";",
+      "<",
+      "=",
+      ">",
+      "@",
+      "[",
+      "\\",
+      "]",
+      "^",
+      "_",
+      "`",
+      "{",
+      "|",
+      "}",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
+    for (let i = 128; i <= 255; i++) {
+      exports2.URL_CHAR.push(i);
+    }
+    exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
+    exports2.STRICT_TOKEN = [
+      "!",
+      "#",
+      "$",
+      "%",
+      "&",
+      "'",
+      "*",
+      "+",
+      "-",
+      ".",
+      "^",
+      "_",
+      "`",
+      "|",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]);
+    exports2.HEADER_CHARS = ["	"];
+    for (let i = 32; i <= 255; i++) {
+      if (i !== 127) {
+        exports2.HEADER_CHARS.push(i);
+      }
+    }
+    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/fetch/webidl.js
-var require_webidl2 = __commonJS({
-  "node_modules/undici/lib/fetch/webidl.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js
+var require_llhttp_wasm2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
     "use strict";
-    var { types } = require("util");
-    var { hasOwn, toUSVString } = require_util10();
-    var webidl = {};
-    webidl.converters = {};
-    webidl.util = {};
-    webidl.errors = {};
-    webidl.errors.exception = function(message) {
-      return new TypeError(`${message.header}: ${message.message}`);
+    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/@actions/github/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
+var require_llhttp_simd_wasm2 = __commonJS({
+  "node_modules/@actions/github/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/@actions/github/node_modules/undici/lib/web/fetch/constants.js
+var require_constants8 = __commonJS({
+  "node_modules/@actions/github/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/@actions/github/node_modules/undici/lib/web/fetch/global.js
+var require_global3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/global.js"(exports2, module2) {
+    "use strict";
+    var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
+    function getGlobalOrigin() {
+      return globalThis[globalOrigin];
+    }
+    function setGlobalOrigin(newOrigin) {
+      if (newOrigin === void 0) {
+        Object.defineProperty(globalThis, globalOrigin, {
+          value: void 0,
+          writable: true,
+          enumerable: false,
+          configurable: false
+        });
+        return;
+      }
+      const parsedURL = new URL(newOrigin);
+      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
+        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
+      }
+      Object.defineProperty(globalThis, globalOrigin, {
+        value: parsedURL,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
+    }
+    module2.exports = {
+      getGlobalOrigin,
+      setGlobalOrigin
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js
+var require_data_url2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var encoder = new TextEncoder();
+    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+\-.^_|~A-Za-z0-9]+$/;
+    var HTTP_WHITESPACE_REGEX = /[\u000A\u000D\u0009\u0020]/;
+    var ASCII_WHITESPACE_REPLACE_REGEX = /[\u0009\u000A\u000C\u000D\u0020]/g;
+    var HTTP_QUOTED_STRING_TOKENS = /^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;
+    function dataURLProcessor(dataURL) {
+      assert(dataURL.protocol === "data:");
+      let input = URLSerializer(dataURL, true);
+      input = input.slice(5);
+      const position = { position: 0 };
+      let mimeType = collectASequenceOfCodePointsFast(
+        ",",
+        input,
+        position
+      );
+      const mimeTypeLength = mimeType.length;
+      mimeType = removeASCIIWhitespace(mimeType, true, true);
+      if (position.position >= input.length) {
+        return "failure";
+      }
+      position.position++;
+      const encodedBody = input.slice(mimeTypeLength + 1);
+      let body = stringPercentDecode(encodedBody);
+      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
+        const stringBody = isomorphicDecode(body);
+        body = forgivingBase64(stringBody);
+        if (body === "failure") {
+          return "failure";
+        }
+        mimeType = mimeType.slice(0, -6);
+        mimeType = mimeType.replace(/(\u0020)+$/, "");
+        mimeType = mimeType.slice(0, -1);
+      }
+      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 };
+    }
+    function URLSerializer(url2, excludeFragment = false) {
+      if (!excludeFragment) {
+        return url2.href;
+      }
+      const href = url2.href;
+      const hashLength = url2.hash.length;
+      const serialized = hashLength === 0 ? href : href.substring(0, href.length - hashLength);
+      if (!hashLength && href.endsWith("#")) {
+        return serialized.slice(0, -1);
+      }
+      return serialized;
+    }
+    function collectASequenceOfCodePoints(condition, input, position) {
+      let result = "";
+      while (position.position < input.length && condition(input[position.position])) {
+        result += input[position.position];
+        position.position++;
+      }
+      return result;
+    }
+    function collectASequenceOfCodePointsFast(char, input, position) {
+      const idx = input.indexOf(char, position.position);
+      const start = position.position;
+      if (idx === -1) {
+        position.position = input.length;
+        return input.slice(start);
+      }
+      position.position = idx;
+      return input.slice(start, position.position);
+    }
+    function stringPercentDecode(input) {
+      const bytes = encoder.encode(input);
+      return percentDecode(bytes);
+    }
+    function isHexCharByte(byte) {
+      return byte >= 48 && byte <= 57 || byte >= 65 && byte <= 70 || byte >= 97 && byte <= 102;
+    }
+    function hexByteToNumber(byte) {
+      return (
+        // 0-9
+        byte >= 48 && byte <= 57 ? byte - 48 : (byte & 223) - 55
+      );
+    }
+    function 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);
+    }
+    function parseMIMEType(input) {
+      input = removeHTTPWhitespace(input, true, true);
+      const position = { position: 0 };
+      const type2 = collectASequenceOfCodePointsFast(
+        "/",
+        input,
+        position
+      );
+      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
+        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 = type2.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;
+    }
+    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);
+    }
+    function collectAnHTTPQuotedString(input, position, extractValue) {
+      const positionStart = position.position;
+      let value = "";
+      assert(input[position.position] === '"');
+      position.position++;
+      while (true) {
+        value += collectASequenceOfCodePoints(
+          (char) => char !== '"' && char !== "\\",
+          input,
+          position
+        );
+        if (position.position >= input.length) {
+          break;
+        }
+        const quoteOrBackslash = input[position.position];
+        position.position++;
+        if (quoteOrBackslash === "\\") {
+          if (position.position >= input.length) {
+            value += "\\";
+            break;
+          }
+          value += input[position.position];
+          position.position++;
+        } else {
+          assert(quoteOrBackslash === '"');
+          break;
+        }
+      }
+      if (extractValue) {
+        return value;
+      }
+      return input.slice(positionStart, position.position);
+    }
+    function serializeAMimeType(mimeType) {
+      assert(mimeType !== "failure");
+      const { parameters, essence } = mimeType;
+      let serialization = essence;
+      for (let [name, value] of parameters.entries()) {
+        serialization += ";";
+        serialization += name;
+        serialization += "=";
+        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
+          value = value.replace(/(\\|")/g, "\\$1");
+          value = '"' + value;
+          value += '"';
+        }
+        serialization += value;
+      }
+      return serialization;
+    }
+    function isHTTPWhiteSpace(char) {
+      return char === 13 || char === 10 || char === 9 || char === 32;
+    }
+    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isHTTPWhiteSpace);
+    }
+    function isASCIIWhitespace(char) {
+      return char === 13 || char === 10 || char === 9 || char === 12 || char === 32;
+    }
+    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isASCIIWhitespace);
+    }
+    function removeChars(str2, leading, trailing, predicate) {
+      let lead = 0;
+      let trail = str2.length - 1;
+      if (leading) {
+        while (lead < str2.length && predicate(str2.charCodeAt(lead))) lead++;
+      }
+      if (trailing) {
+        while (trail > 0 && predicate(str2.charCodeAt(trail))) trail--;
+      }
+      return lead === 0 && trail === str2.length - 1 ? str2 : str2.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/node_modules/undici/lib/web/fetch/webidl.js
+var require_webidl2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/webidl.js"(exports2, module2) {
+    "use strict";
+    var { types, inspect } = require("node:util");
+    var { markAsUncloneable } = require("node:worker_threads");
+    var { toUSVString } = require_util9();
+    var webidl = {};
+    webidl.converters = {};
+    webidl.util = {};
+    webidl.errors = {};
+    webidl.errors.exception = function(message) {
+      return new TypeError(`${message.header}: ${message.message}`);
+    };
+    webidl.errors.conversionFailed = function(context2) {
+      const plural = context2.types.length === 1 ? "" : " one of";
+      const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`;
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message
+      });
+    };
+    webidl.errors.invalidArgument = function(context2) {
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message: `"${context2.value}" is an invalid ${context2.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";
+        }
+      }
+    };
+    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;
+      }
+      if (!Number.isNaN(x) && opts?.clamp === true) {
+        x = Math.min(Math.max(x, lowerBound), upperBound);
+        if (Math.floor(x) % 2 === 0) {
+          x = Math.floor(x);
+        } else {
+          x = Math.ceil(x);
+        }
+        return x;
+      }
+      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 type2 = webidl.util.Type(V);
+      switch (type2) {
+        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.`
+          });
+        }
+        const method = typeof Iterable === "function" ? Iterable() : V?.[Symbol.iterator]?.();
+        const seq2 = [];
+        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;
+          }
+          seq2.push(converter(value, prefix, `${argument}[${index++}]`));
+        }
+        return seq2;
+      };
+    };
+    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 type2 = webidl.util.Type(dictionary);
+        const dict = {};
+        if (type2 === "Null" || type2 === "Undefined") {
+          return dict;
+        } else if (type2 !== "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);
+    };
+    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/@actions/github/node_modules/undici/lib/web/fetch/util.js
+var require_util10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/util.js"(exports2, module2) {
+    "use strict";
+    var { Transform } = require("node:stream");
+    var zlib2 = require("node:zlib");
+    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants8();
+    var { getGlobalOrigin } = require_global3();
+    var { collectASequenceOfCodePoints, collectAnHTTPQuotedString, removeChars, parseMIMEType } = require_data_url2();
+    var { performance: performance3 } = require("node:perf_hooks");
+    var { isBlobLike, ReadableStreamFrom, isValidHTTPToken, normalizedMethodRecordsBase } = require_util9();
+    var assert = require("node:assert");
+    var { isUint8Array } = require("node:util/types");
+    var { webidl } = require_webidl2();
+    var supportedHashes = [];
+    var crypto2;
+    try {
+      crypto2 = require("node:crypto");
+      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
+      supportedHashes = crypto2.getHashes().filter((hash2) => possibleRelevantHashes.includes(hash2));
+    } 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(url2) {
+      for (let i = 0; i < url2.length; ++i) {
+        const code = url2.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 url2 = requestCurrentURL(request2);
+      if (urlIsHttpHttpsScheme(url2) && badPortsSet.has(url2.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 token = policyHeader[i - 1].trim();
+          if (referrerPolicyTokens.has(token)) {
+            policy = token;
+            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(timestamp2, crossOriginIsolatedCapability) {
+      return timestamp2;
+    }
+    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(performance3.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":
+        // eslint-disable-line
+        /**
+           * 1. If referrerURL is a potentially trustworthy URL and
+           * request’s current URL is not a potentially trustworthy URL,
+           * then return no referrer.
+           * 2. Return referrerOrigin
+          */
+        case "no-referrer-when-downgrade":
+        // eslint-disable-line
+        /**
+         * 1. If referrerURL is a potentially trustworthy URL and
+         * request’s current URL is not a potentially trustworthy URL,
+         * then return no referrer.
+         * 2. Return referrerOrigin
+        */
+        default:
+          return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
+      }
+    }
+    function stripURLForReferrer(url2, originOnly) {
+      assert(url2 instanceof URL);
+      url2 = new URL(url2);
+      if (url2.protocol === "file:" || url2.protocol === "about:" || url2.protocol === "blank:") {
+        return "no-referrer";
+      }
+      url2.username = "";
+      url2.password = "";
+      url2.hash = "";
+      if (originOnly) {
+        url2.pathname = "";
+        url2.search = "";
+      }
+      return url2;
+    }
+    function isURLPotentiallyTrustworthy(url2) {
+      if (!(url2 instanceof URL)) {
+        return false;
+      }
+      if (url2.href === "about:blank" || url2.href === "about:srcdoc") {
+        return true;
+      }
+      if (url2.protocol === "data:") return true;
+      if (url2.protocol === "file:") return true;
+      return isOriginPotentiallyTrustworthy(url2.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 (crypto2 === 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 = crypto2.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 token of metadata.split(" ")) {
+        empty = false;
+        const parsedToken = parseHashWithOptions.exec(token);
+        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((resolve6, reject) => {
+        res = resolve6;
+        rej = reject;
+      });
+      return { promise, resolve: res, reject: rej };
+    }
+    function isAborted(fetchParams) {
+      return fetchParams.controller.state === "aborted";
+    }
+    function isCancelled(fetchParams) {
+      return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";
+    }
+    function normalizeMethod(method) {
+      return normalizedMethodRecordsBase[method.toLowerCase()] ?? method;
+    }
+    function serializeJavascriptValueToJSONString(value) {
+      const result = JSON.stringify(value);
+      if (result === void 0) {
+        throw new TypeError("Value is not JSON serializable");
+      }
+      assert(typeof result === "string");
+      return result;
+    }
+    var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
+    function createIterator(name, kInternalIterator, keyIndex = 0, valueIndex = 1) {
+      class FastIterableIterator {
+        /** @type {any} */
+        #target;
+        /** @type {'key' | 'value' | 'key+value'} */
+        #kind;
+        /** @type {number} */
+        #index;
+        /**
+         * @see https://webidl.spec.whatwg.org/#dfn-default-iterator-object
+         * @param {unknown} target
+         * @param {'key' | 'value' | 'key+value'} kind
+         */
+        constructor(target, kind) {
+          this.#target = target;
+          this.#kind = kind;
+          this.#index = 0;
+        }
+        next() {
+          if (typeof this !== "object" || this === null || !(#target in this)) {
+            throw new TypeError(
+              `'next' called on an object that does not implement interface ${name} Iterator.`
+            );
+          }
+          const index = this.#index;
+          const values = this.#target[kInternalIterator];
+          const len = values.length;
+          if (index >= len) {
+            return {
+              value: void 0,
+              done: true
+            };
+          }
+          const { [keyIndex]: key, [valueIndex]: value } = values[index];
+          this.#index = index + 1;
+          let result;
+          switch (this.#kind) {
+            case "key":
+              result = key;
+              break;
+            case "value":
+              result = value;
+              break;
+            case "key+value":
+              result = [key, value];
+              break;
+          }
+          return {
+            value: result,
+            done: false
+          };
+        }
+      }
+      delete FastIterableIterator.prototype.constructor;
+      Object.setPrototypeOf(FastIterableIterator.prototype, esIteratorPrototype);
+      Object.defineProperties(FastIterableIterator.prototype, {
+        [Symbol.toStringTag]: {
+          writable: false,
+          enumerable: false,
+          configurable: true,
+          value: `${name} Iterator`
+        },
+        next: { writable: true, enumerable: true, configurable: true }
+      });
+      return function(target, kind) {
+        return new FastIterableIterator(target, kind);
+      };
+    }
+    function iteratorMixin(name, object, kInternalIterator, keyIndex = 0, valueIndex = 1) {
+      const makeIterator = createIterator(name, kInternalIterator, keyIndex, valueIndex);
+      const properties = {
+        keys: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function keys() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "key");
+          }
+        },
+        values: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function values() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "value");
+          }
+        },
+        entries: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function entries() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "key+value");
+          }
+        },
+        forEach: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function forEach(callbackfn, thisArg = globalThis) {
+            webidl.brandCheck(this, object);
+            webidl.argumentLengthCheck(arguments, 1, `${name}.forEach`);
+            if (typeof callbackfn !== "function") {
+              throw new TypeError(
+                `Failed to execute 'forEach' on '${name}': parameter 1 is not of type 'Function'.`
+              );
+            }
+            for (const { 0: key, 1: value } of makeIterator(this, "key+value")) {
+              callbackfn.call(thisArg, value, key, this);
+            }
+          }
+        }
+      };
+      return Object.defineProperties(object.prototype, {
+        ...properties,
+        [Symbol.iterator]: {
+          writable: true,
+          enumerable: false,
+          configurable: true,
+          value: properties.entries.value
+        }
+      });
+    }
+    async function fullyReadBody(body, processBody, processBodyError) {
+      const successSteps = processBody;
+      const errorSteps = processBodyError;
+      let reader;
+      try {
+        reader = body.stream.getReader();
+      } catch (e) {
+        errorSteps(e);
+        return;
+      }
+      try {
+        successSteps(await readAllBytes(reader));
+      } catch (e) {
+        errorSteps(e);
+      }
+    }
+    function isReadableStreamLike(stream2) {
+      return stream2 instanceof ReadableStream || stream2[Symbol.toStringTag] === "ReadableStream" && typeof stream2.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(url2) {
+      assert("protocol" in url2);
+      const protocol = url2.protocol;
+      return protocol === "about:" || protocol === "blob:" || protocol === "data:";
+    }
+    function urlHasHttpsScheme(url2) {
+      return typeof url2 === "string" && url2[5] === ":" && url2[0] === "h" && url2[1] === "t" && url2[2] === "t" && url2[3] === "p" && url2[4] === "s" || url2.protocol === "https:";
+    }
+    function urlIsHttpHttpsScheme(url2) {
+      assert("protocol" in url2);
+      const protocol = url2.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 ? zlib2.createInflate(this.#zlibOptions) : zlib2.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/@actions/github/node_modules/undici/lib/web/fetch/symbols.js
+var require_symbols7 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kUrl: /* @__PURE__ */ Symbol("url"),
+      kHeaders: /* @__PURE__ */ Symbol("headers"),
+      kSignal: /* @__PURE__ */ Symbol("signal"),
+      kState: /* @__PURE__ */ Symbol("state"),
+      kDispatcher: /* @__PURE__ */ Symbol("dispatcher")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js
+var require_file2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js"(exports2, module2) {
+    "use strict";
+    var { Blob: Blob2, File: File2 } = require("node:buffer");
+    var { kState } = require_symbols7();
+    var { webidl } = require_webidl2();
+    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 File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
+    }
+    module2.exports = { FileLike, isFileLike };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js
+var require_formdata2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js"(exports2, module2) {
+    "use strict";
+    var { isBlobLike, iteratorMixin } = require_util10();
+    var { kState } = require_symbols7();
+    var { kEnumerableProperty } = require_util9();
+    var { FileLike, isFileLike } = require_file2();
+    var { webidl } = require_webidl2();
+    var { File: NativeFile } = require("node:buffer");
+    var nodeUtil = require("node:util");
+    var File2 = globalThis.File ?? NativeFile;
+    var FormData2 = 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", FormData2, kState, "name", "value");
+    Object.defineProperties(FormData2.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 File2([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 File2([value], filename, options) : new FileLike(value, filename, options);
+        }
+      }
+      return { name, value };
+    }
+    module2.exports = { FormData: FormData2, makeEntry };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js
+var require_formdata_parser2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js"(exports2, module2) {
+    "use strict";
+    var { isUSVString, bufferToLowerCasedHeaderName } = require_util9();
+    var { utf8DecodeBytes } = require_util10();
+    var { HTTP_TOKEN_CODEPOINTS, isomorphicDecode } = require_data_url2();
+    var { isFileLike } = require_file2();
+    var { makeEntry } = require_formdata2();
+    var assert = require("node:assert");
+    var { File: NodeFile } = require("node:buffer");
+    var File2 = globalThis.File ?? NodeFile;
+    var formDataNameBuffer = Buffer.from('form-data; name="');
+    var filenameBuffer = Buffer.from("; filename");
+    var dd = Buffer.from("--");
+    var ddcrlf = Buffer.from("--\r\n");
+    function isAsciiString(chars) {
+      for (let i = 0; i < chars.length; ++i) {
+        if ((chars.charCodeAt(i) & ~127) !== 0) {
+          return false;
+        }
+      }
+      return true;
+    }
+    function validateBoundary(boundary) {
+      const length = boundary.length;
+      if (length < 27 || length > 70) {
+        return false;
+      }
+      for (let i = 0; i < length; ++i) {
+        const cp = boundary.charCodeAt(i);
+        if (!(cp >= 48 && cp <= 57 || cp >= 65 && cp <= 90 || cp >= 97 && cp <= 122 || cp === 39 || cp === 45 || cp === 95)) {
+          return false;
+        }
+      }
+      return true;
+    }
+    function multipartFormDataParser(input, mimeType) {
+      assert(mimeType !== "failure" && mimeType.essence === "multipart/form-data");
+      const boundaryString = mimeType.parameters.get("boundary");
+      if (boundaryString === void 0) {
+        return "failure";
+      }
+      const boundary = Buffer.from(`--${boundaryString}`, "utf8");
+      const entryList = [];
+      const position = { position: 0 };
+      while (input[position.position] === 13 && input[position.position + 1] === 10) {
+        position.position += 2;
+      }
+      let trailing = input.length;
+      while (input[trailing - 1] === 10 && input[trailing - 2] === 13) {
+        trailing -= 2;
+      }
+      if (trailing !== input.length) {
+        input = input.subarray(0, trailing);
+      }
+      while (true) {
+        if (input.subarray(position.position, position.position + boundary.length).equals(boundary)) {
+          position.position += boundary.length;
+        } else {
+          return "failure";
+        }
+        if (position.position === input.length - 2 && bufferStartsWith(input, dd, position) || position.position === input.length - 4 && bufferStartsWith(input, ddcrlf, position)) {
+          return entryList;
+        }
+        if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
+          return "failure";
+        }
+        position.position += 2;
+        const result = parseMultipartFormDataHeaders(input, position);
+        if (result === "failure") {
+          return "failure";
+        }
+        let { name, filename, contentType, encoding } = result;
+        position.position += 2;
+        let body;
+        {
+          const boundaryIndex = input.indexOf(boundary.subarray(2), position.position);
+          if (boundaryIndex === -1) {
+            return "failure";
+          }
+          body = input.subarray(position.position, boundaryIndex - 4);
+          position.position += body.length;
+          if (encoding === "base64") {
+            body = Buffer.from(body.toString(), "base64");
+          }
+        }
+        if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
+          return "failure";
+        } else {
+          position.position += 2;
+        }
+        let value;
+        if (filename !== null) {
+          contentType ??= "text/plain";
+          if (!isAsciiString(contentType)) {
+            contentType = "";
+          }
+          value = new File2([body], filename, { type: contentType });
+        } else {
+          value = utf8DecodeBytes(Buffer.from(body));
+        }
+        assert(isUSVString(name));
+        assert(typeof value === "string" && isUSVString(value) || isFileLike(value));
+        entryList.push(makeEntry(name, value, filename));
+      }
+    }
+    function parseMultipartFormDataHeaders(input, position) {
+      let name = null;
+      let filename = null;
+      let contentType = null;
+      let encoding = null;
+      while (true) {
+        if (input[position.position] === 13 && input[position.position + 1] === 10) {
+          if (name === null) {
+            return "failure";
+          }
+          return { name, filename, contentType, encoding };
+        }
+        let headerName = collectASequenceOfBytes(
+          (char) => char !== 10 && char !== 13 && char !== 58,
+          input,
+          position
+        );
+        headerName = removeChars(headerName, true, true, (char) => char === 9 || char === 32);
+        if (!HTTP_TOKEN_CODEPOINTS.test(headerName.toString())) {
+          return "failure";
+        }
+        if (input[position.position] !== 58) {
+          return "failure";
+        }
+        position.position++;
+        collectASequenceOfBytes(
+          (char) => char === 32 || char === 9,
+          input,
+          position
+        );
+        switch (bufferToLowerCasedHeaderName(headerName)) {
+          case "content-disposition": {
+            name = filename = null;
+            if (!bufferStartsWith(input, formDataNameBuffer, position)) {
+              return "failure";
+            }
+            position.position += 17;
+            name = parseMultipartFormDataName(input, position);
+            if (name === null) {
+              return "failure";
+            }
+            if (bufferStartsWith(input, filenameBuffer, position)) {
+              let check = position.position + filenameBuffer.length;
+              if (input[check] === 42) {
+                position.position += 1;
+                check += 1;
+              }
+              if (input[check] !== 61 || input[check + 1] !== 34) {
+                return "failure";
+              }
+              position.position += 12;
+              filename = parseMultipartFormDataName(input, position);
+              if (filename === null) {
+                return "failure";
+              }
+            }
+            break;
+          }
+          case "content-type": {
+            let headerValue = collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+            headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
+            contentType = isomorphicDecode(headerValue);
+            break;
+          }
+          case "content-transfer-encoding": {
+            let headerValue = collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+            headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
+            encoding = isomorphicDecode(headerValue);
+            break;
+          }
+          default: {
+            collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+          }
+        }
+        if (input[position.position] !== 13 && input[position.position + 1] !== 10) {
+          return "failure";
+        } else {
+          position.position += 2;
+        }
+      }
+    }
+    function parseMultipartFormDataName(input, position) {
+      assert(input[position.position - 1] === 34);
+      let name = collectASequenceOfBytes(
+        (char) => char !== 10 && char !== 13 && char !== 34,
+        input,
+        position
+      );
+      if (input[position.position] !== 34) {
+        return null;
+      } else {
+        position.position++;
+      }
+      name = new TextDecoder().decode(name).replace(/%0A/ig, "\n").replace(/%0D/ig, "\r").replace(/%22/g, '"');
+      return name;
+    }
+    function collectASequenceOfBytes(condition, input, position) {
+      let start = position.position;
+      while (start < input.length && condition(input[start])) {
+        ++start;
+      }
+      return input.subarray(position.position, position.position = start);
+    }
+    function removeChars(buf, leading, trailing, predicate) {
+      let lead = 0;
+      let trail = buf.length - 1;
+      if (leading) {
+        while (lead < buf.length && predicate(buf[lead])) lead++;
+      }
+      if (trailing) {
+        while (trail > 0 && predicate(buf[trail])) trail--;
+      }
+      return lead === 0 && trail === buf.length - 1 ? buf : buf.subarray(lead, trail + 1);
+    }
+    function bufferStartsWith(buffer, start, position) {
+      if (buffer.length < start.length) {
+        return false;
+      }
+      for (let i = 0; i < start.length; i++) {
+        if (start[i] !== buffer[position.position + i]) {
+          return false;
+        }
+      }
+      return true;
+    }
+    module2.exports = {
+      multipartFormDataParser,
+      validateBoundary
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js
+var require_body2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js"(exports2, module2) {
+    "use strict";
+    var util = require_util9();
+    var {
+      ReadableStreamFrom,
+      isBlobLike,
+      isReadableStreamLike,
+      readableStreamClose,
+      createDeferredPromise,
+      fullyReadBody,
+      extractMimeType,
+      utf8DecodeBytes
+    } = require_util10();
+    var { FormData: FormData2 } = require_formdata2();
+    var { kState } = require_symbols7();
+    var { webidl } = require_webidl2();
+    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_url2();
+    var { multipartFormDataParser } = require_formdata_parser2();
+    var random;
+    try {
+      const crypto2 = require("node:crypto");
+      random = (max) => crypto2.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 stream2 = weakRef.deref();
+        if (stream2 && !stream2.locked && !isDisturbed(stream2) && !isErrored(stream2)) {
+          stream2.cancel("Response object has been garbage collected").catch(noop3);
+        }
+      });
+    }
+    function extractBody(object, keepalive = false) {
+      let stream2 = null;
+      if (object instanceof ReadableStream) {
+        stream2 = object;
+      } else if (isBlobLike(object)) {
+        stream2 = object.stream();
+      } else {
+        stream2 = 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(stream2));
+      let action = null;
+      let source = null;
+      let length = null;
+      let type2 = null;
+      if (typeof object === "string") {
+        source = object;
+        type2 = "text/plain;charset=UTF-8";
+      } else if (object instanceof URLSearchParams) {
+        source = object.toString();
+        type2 = "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 = (str2) => str2.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;
+            }
+          }
+        };
+        type2 = `multipart/form-data; boundary=${boundary}`;
+      } else if (isBlobLike(object)) {
+        source = object;
+        length = object.size;
+        if (object.type) {
+          type2 = 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"
+          );
+        }
+        stream2 = object instanceof ReadableStream ? object : ReadableStreamFrom(object);
+      }
+      if (typeof source === "string" || util.isBuffer(source)) {
+        length = Buffer.byteLength(source);
+      }
+      if (action != null) {
+        let iterator2;
+        stream2 = 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(stream2)) {
+                const buffer = new Uint8Array(value);
+                if (buffer.byteLength) {
+                  controller.enqueue(buffer);
+                }
+              }
+            }
+            return controller.desiredSize > 0;
+          },
+          async cancel(reason) {
+            await iterator2.return();
+          },
+          type: "bytes"
+        });
+      }
+      const body = { stream: stream2, source, length };
+      return [body, type2];
+    }
+    function safelyExtractBody(object, keepalive = false) {
+      if (object instanceof ReadableStream) {
+        assert(!util.isDisturbed(object), "The body has already been consumed.");
+        assert(!object.locked, "The stream is locked.");
+      }
+      return extractBody(object, keepalive);
+    }
+    function cloneBody(instance, body) {
+      const [out1, out2] = body.stream.tee();
+      body.stream = out1;
+      return {
+        stream: out2,
+        length: body.length,
+        source: body.source
+      };
+    }
+    function throwIfAborted(state) {
+      if (state.aborted) {
+        throw new DOMException("The operation was aborted.", "AbortError");
+      }
+    }
+    function bodyMixinMethods(instance) {
+      const methods = {
+        blob() {
+          return consumeBody(this, (bytes) => {
+            let mimeType = bodyMimeType(this);
+            if (mimeType === null) {
+              mimeType = "";
+            } else if (mimeType) {
+              mimeType = serializeAMimeType(mimeType);
+            }
+            return new Blob2([bytes], { type: mimeType });
+          }, instance);
+        },
+        arrayBuffer() {
+          return consumeBody(this, (bytes) => {
+            return new Uint8Array(bytes).buffer;
+          }, instance);
+        },
+        text() {
+          return consumeBody(this, utf8DecodeBytes, instance);
+        },
+        json() {
+          return consumeBody(this, parseJSONFromBytes, instance);
+        },
+        formData() {
+          return consumeBody(this, (value) => {
+            const mimeType = bodyMimeType(this);
+            if (mimeType !== null) {
+              switch (mimeType.essence) {
+                case "multipart/form-data": {
+                  const parsed = multipartFormDataParser(value, mimeType);
+                  if (parsed === "failure") {
+                    throw new TypeError("Failed to parse body as FormData.");
+                  }
+                  const fd = new FormData2();
+                  fd[kState] = parsed;
+                  return fd;
+                }
+                case "application/x-www-form-urlencoded": {
+                  const entries = new URLSearchParams(value.toString());
+                  const fd = new FormData2();
+                  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 = (error3) => promise.reject(error3);
+      const successSteps = (data) => {
+        try {
+          promise.resolve(convertBytesToJSValue(data));
+        } catch (e) {
+          errorSteps(e);
+        }
+      };
+      if (object[kState].body == null) {
+        successSteps(Buffer.allocUnsafe(0));
+        return promise.promise;
+      }
+      await fullyReadBody(object[kState].body, successSteps, errorSteps);
+      return promise.promise;
+    }
+    function bodyUnusable(object) {
+      const body = object[kState].body;
+      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
+    }
+    function parseJSONFromBytes(bytes) {
+      return JSON.parse(utf8DecodeBytes(bytes));
+    }
+    function bodyMimeType(requestOrResponse) {
+      const headers = requestOrResponse[kState].headersList;
+      const mimeType = extractMimeType(headers);
+      if (mimeType === "failure") {
+        return null;
+      }
+      return mimeType;
+    }
+    module2.exports = {
+      extractBody,
+      safelyExtractBody,
+      cloneBody,
+      mixinBody,
+      streamRegistry,
+      hasFinalizationRegistry,
+      bodyUnusable
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js
+var require_client_h12 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var util = require_util9();
+    var { channels } = require_diagnostics2();
+    var timers = require_timers2();
+    var {
+      RequestContentLengthMismatchError,
+      ResponseContentLengthMismatchError,
+      RequestAbortedError,
+      HeadersTimeoutError,
+      HeadersOverflowError,
+      SocketError,
+      InformationalError,
+      BodyTimeoutError,
+      HTTPParserError,
+      ResponseExceededMaxSizeError
+    } = require_errors2();
+    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_symbols6();
+    var constants = require_constants7();
+    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_wasm2() : void 0;
+      let mod;
+      try {
+        mod = await WebAssembly.compile(require_llhttp_simd_wasm2());
+      } catch (e) {
+        mod = await WebAssembly.compile(llhttpWasmData || require_llhttp_wasm2());
+      }
+      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(delay2, type2) {
+        if (delay2 !== this.timeoutValue || type2 & USE_FAST_TIMER ^ this.timeoutType & USE_FAST_TIMER) {
+          if (this.timeout) {
+            timers.clearTimeout(this.timeout);
+            this.timeout = null;
+          }
+          if (delay2) {
+            if (type2 & USE_FAST_TIMER) {
+              this.timeout = timers.setFastTimeout(onParserTimeout, delay2, new WeakRef(this));
+            } else {
+              this.timeout = setTimeout(onParserTimeout, delay2, new WeakRef(this));
+              this.timeout.unref();
+            }
+          }
+          this.timeoutValue = delay2;
+        } else if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
+        }
+        this.timeoutType = type2;
+      }
+      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]();
+        }
+      }
     };
-    webidl.errors.conversionFailed = function(context2) {
-      const plural = context2.types.length === 1 ? "" : " one of";
-      const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`;
-      return webidl.errors.exception({
-        header: context2.prefix,
-        message
+    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);
       });
-    };
-    webidl.errors.invalidArgument = function(context2) {
-      return webidl.errors.exception({
-        header: context2.prefix,
-        message: `"${context2.value}" is an invalid ${context2.type}.`
+      addListener(socket, "readable", function() {
+        const parser = this[kParser];
+        if (parser) {
+          parser.readMore();
+        }
       });
-    };
-    webidl.brandCheck = function(V, I, opts = void 0) {
-      if (opts?.strict !== false && !(V instanceof I)) {
-        throw new TypeError("Illegal invocation");
+      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: path12, host, upgrade, blocking, reset } = request2;
+      let { body, headers, contentLength } = request2;
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH" || method === "QUERY" || method === "PROPFIND" || method === "PROPPATCH";
+      if (util.isFormDataLike(body)) {
+        if (!extractBody) {
+          extractBody = require_body2().extractBody;
+        }
+        const [bodyStream, contentType] = extractBody(body);
+        if (request2.contentType == null) {
+          headers.push("content-type", contentType);
+        }
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
+      } else if (util.isBlobLike(body) && request2.contentType == null && body.type) {
+        headers.push("content-type", body.type);
+      }
+      if (body && typeof body.read === "function") {
+        body.read(0);
+      }
+      const bodyLength = util.bodyLength(body);
+      contentLength = bodyLength ?? contentLength;
+      if (contentLength === null) {
+        contentLength = request2.contentLength;
+      }
+      if (contentLength === 0 && !expectsPayload) {
+        contentLength = null;
+      }
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          util.errorRequest(client, request2, new RequestContentLengthMismatchError());
+          return false;
+        }
+        process.emitWarning(new RequestContentLengthMismatchError());
+      }
+      const socket = client[kSocket];
+      const abort = (err) => {
+        if (request2.aborted || request2.completed) {
+          return;
+        }
+        util.errorRequest(client, request2, err || new RequestAbortedError());
+        util.destroy(body);
+        util.destroy(socket, new InformationalError("aborted"));
+      };
+      try {
+        request2.onConnect(abort);
+      } catch (err) {
+        util.errorRequest(client, request2, err);
+      }
+      if (request2.aborted) {
+        return false;
+      }
+      if (method === "HEAD") {
+        socket[kReset] = true;
+      }
+      if (upgrade || method === "CONNECT") {
+        socket[kReset] = true;
+      }
+      if (reset != null) {
+        socket[kReset] = reset;
+      }
+      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
+        socket[kReset] = true;
+      }
+      if (blocking) {
+        socket[kBlocking] = true;
+      }
+      let header = `${method} ${path12} HTTP/1.1\r
+`;
+      if (typeof host === "string") {
+        header += `host: ${host}\r
+`;
       } else {
-        return V?.[Symbol.toStringTag] === I.prototype[Symbol.toStringTag];
+        header += client[kHostHeader];
       }
-    };
-    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.`,
-          ...ctx
-        });
+      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";
       }
-    };
-    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";
+      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
+`;
           }
-          return "Object";
         }
       }
-    };
-    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;
+      if (channels.sendHeaders.hasSubscribers) {
+        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      }
+      if (!body || bodyLength === 0) {
+        writeBuffer(abort, null, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isBuffer(body)) {
+        writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isBlobLike(body)) {
+        if (typeof body.stream === "function") {
+          writeIterable(abort, body.stream(), client, request2, socket, contentLength, header, expectsPayload);
+        } else {
+          writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+        }
+      } else if (util.isStream(body)) {
+        writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isIterable(body)) {
+        writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else {
+        assert(false);
+      }
+      return true;
+    }
+    function writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      let finished = false;
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
+      const onData = function(chunk) {
+        if (finished) {
+          return;
+        }
+        try {
+          if (!writer.write(chunk) && this.pause) {
+            this.pause();
+          }
+        } catch (err) {
+          util.destroy(this, err);
+        }
+      };
+      const onDrain = function() {
+        if (finished) {
+          return;
+        }
+        if (body.resume) {
+          body.resume();
+        }
+      };
+      const onClose = function() {
+        queueMicrotask(() => {
+          body.removeListener("error", onFinished);
+        });
+        if (!finished) {
+          const err = new RequestAbortedError();
+          queueMicrotask(() => onFinished(err));
+        }
+      };
+      const onFinished = function(err) {
+        if (finished) {
+          return;
+        }
+        finished = true;
+        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
+        socket.off("drain", onDrain).off("error", onFinished);
+        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("close", onClose);
+        if (!err) {
+          try {
+            writer.end();
+          } catch (er) {
+            err = er;
+          }
+        }
+        writer.destroy(err);
+        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
+          util.destroy(body, err);
         } else {
-          lowerBound = Math.pow(-2, 53) + 1;
+          util.destroy(body);
         }
-      } 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;
+      };
+      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onClose);
+      if (body.resume) {
+        body.resume();
       }
-      let x = Number(V);
-      if (x === 0) {
-        x = 0;
+      socket.on("drain", onDrain).on("error", onFinished);
+      if (body.errorEmitted ?? body.errored) {
+        setImmediate(() => onFinished(body.errored));
+      } else if (body.endEmitted ?? body.readableEnded) {
+        setImmediate(() => onFinished(null));
       }
-      if (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 ${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}.`
-          });
+      if (body.closeEmitted ?? body.closed) {
+        setImmediate(onClose);
+      }
+    }
+    function writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      try {
+        if (!body) {
+          if (contentLength === 0) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
+          } else {
+            assert(contentLength === null, "no body must not have content length");
+            socket.write(`${header}\r
+`, "latin1");
+          }
+        } else if (util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          socket.cork();
+          socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+          socket.write(body);
+          socket.uncork();
+          request2.onBodySent(body);
+          if (!expectsPayload && request2.reset !== false) {
+            socket[kReset] = true;
+          }
         }
-        return x;
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      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);
+    }
+    async function writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength === body.size, "blob body must have content length");
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
         }
-        return x;
+        const buffer = Buffer.from(await body.arrayBuffer());
+        socket.cork();
+        socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+        socket.write(buffer);
+        socket.uncork();
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload && request2.reset !== false) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
-        return 0;
+    }
+    async function writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
+        }
       }
-      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);
+      const waitForDrain = () => new Promise((resolve6, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve6;
+        }
+      });
+      socket.on("close", onDrain).on("drain", onDrain);
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          if (!writer.write(chunk)) {
+            await waitForDrain();
+          }
+        }
+        writer.end();
+      } catch (err) {
+        writer.destroy(err);
+      } finally {
+        socket.off("close", onDrain).off("drain", onDrain);
       }
-      return x;
-    };
-    webidl.util.IntegerPart = function(n) {
-      const r = Math.floor(Math.abs(n));
-      if (n < 0) {
-        return -1 * r;
+    }
+    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;
       }
-      return r;
-    };
-    webidl.sequenceConverter = function(converter) {
-      return (V) => {
-        if (webidl.util.Type(V) !== "Object") {
-          throw webidl.errors.exception({
-            header: "Sequence",
-            message: `Value of type ${webidl.util.Type(V)} is not an Object.`
-          });
-        }
-        const method = V?.[Symbol.iterator]?.();
-        const seq2 = [];
-        if (method === void 0 || typeof method.next !== "function") {
-          throw webidl.errors.exception({
-            header: "Sequence",
-            message: "Object is not an iterator."
-          });
+      write(chunk) {
+        const { socket, request: request2, contentLength, client, bytesWritten, expectsPayload, header } = this;
+        if (socket[kError]) {
+          throw socket[kError];
         }
-        while (true) {
-          const { done, value } = method.next();
-          if (done) {
-            break;
-          }
-          seq2.push(converter(value));
+        if (socket.destroyed) {
+          return false;
         }
-        return seq2;
-      };
-    };
-    webidl.recordConverter = function(keyConverter, valueConverter) {
-      return (O) => {
-        if (webidl.util.Type(O) !== "Object") {
-          throw webidl.errors.exception({
-            header: "Record",
-            message: `Value of type ${webidl.util.Type(O)} is not an Object.`
-          });
+        const len = Buffer.byteLength(chunk);
+        if (!len) {
+          return true;
         }
-        const result = {};
-        if (!types.isProxy(O)) {
-          const keys2 = Object.keys(O);
-          for (const key of keys2) {
-            const typedKey = keyConverter(key);
-            const typedValue = valueConverter(O[key]);
-            result[typedKey] = typedValue;
+        if (contentLength !== null && bytesWritten + len > contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
           }
-          return result;
+          process.emitWarning(new RequestContentLengthMismatchError());
         }
-        const keys = Reflect.ownKeys(O);
-        for (const key of keys) {
-          const desc = Reflect.getOwnPropertyDescriptor(O, key);
-          if (desc?.enumerable) {
-            const typedKey = keyConverter(key);
-            const typedValue = valueConverter(O[key]);
-            result[typedKey] = typedValue;
+        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");
           }
         }
-        return result;
-      };
-    };
-    webidl.interfaceConverter = function(i) {
-      return (V, opts = {}) => {
-        if (opts.strict !== false && !(V instanceof i)) {
-          throw webidl.errors.exception({
-            header: i.name,
-            message: `Expected ${V} to be an instance of ${i.name}.`
-          });
-        }
-        return V;
-      };
-    };
-    webidl.dictionaryConverter = function(converters) {
-      return (dictionary) => {
-        const type2 = webidl.util.Type(dictionary);
-        const dict = {};
-        if (type2 === "Null" || type2 === "Undefined") {
-          return dict;
-        } else if (type2 !== "Object") {
-          throw webidl.errors.exception({
-            header: "Dictionary",
-            message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`
-          });
+        if (contentLength === null) {
+          socket.write(`\r
+${len.toString(16)}\r
+`, "latin1");
         }
-        for (const options of converters) {
-          const { key, defaultValue, required, converter } = options;
-          if (required === true) {
-            if (!hasOwn(dictionary, key)) {
-              throw webidl.errors.exception({
-                header: "Dictionary",
-                message: `Missing required key "${key}".`
-              });
+        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();
             }
           }
-          let value = dictionary[key];
-          const hasDefault = hasOwn(options, "defaultValue");
-          if (hasDefault && value !== null) {
-            value = value ?? defaultValue;
+        }
+        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");
           }
-          if (required || hasDefault || value !== void 0) {
-            value = converter(value);
-            if (options.allowedValues && !options.allowedValues.includes(value)) {
-              throw webidl.errors.exception({
-                header: "Dictionary",
-                message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
-              });
-            }
-            dict[key] = value;
+        } 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());
           }
         }
-        return dict;
-      };
-    };
-    webidl.nullableConverter = function(converter) {
-      return (V) => {
-        if (V === null) {
-          return V;
+        if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
+          if (socket[kParser].timeout.refresh) {
+            socket[kParser].timeout.refresh();
+          }
         }
-        return converter(V);
-      };
-    };
-    webidl.converters.DOMString = function(V, opts = {}) {
-      if (V === null && opts.legacyNullToEmptyString) {
-        return "";
-      }
-      if (typeof V === "symbol") {
-        throw new TypeError("Could not convert argument of type symbol to string.");
+        client[kResume]();
       }
-      return String(V);
-    };
-    webidl.converters.ByteString = function(V) {
-      const x = webidl.converters.DOMString(V);
-      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.`
-          );
+      destroy(err) {
+        const { socket, client, abort } = this;
+        socket[kWriting] = false;
+        if (err) {
+          assert(client[kRunning] <= 1, "pipeline should only contain this request");
+          abort(err);
         }
       }
-      return x;
-    };
-    webidl.converters.USVString = toUSVString;
-    webidl.converters.boolean = function(V) {
-      const x = Boolean(V);
-      return x;
-    };
-    webidl.converters.any = function(V) {
-      return V;
-    };
-    webidl.converters["long long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 64, "signed");
-      return x;
     };
-    webidl.converters["unsigned long long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 64, "unsigned");
-      return x;
-    };
-    webidl.converters["unsigned long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 32, "unsigned");
-      return x;
-    };
-    webidl.converters["unsigned short"] = function(V, opts) {
-      const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts);
-      return x;
-    };
-    webidl.converters.ArrayBuffer = function(V, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {
-        throw webidl.errors.conversionFailed({
-          prefix: `${V}`,
-          argument: `${V}`,
-          types: ["ArrayBuffer"]
-        });
-      }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
+    module2.exports = connectH1;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h2.js
+var require_client_h22 = __commonJS({
+  "node_modules/@actions/github/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_util9();
+    var {
+      RequestContentLengthMismatchError,
+      RequestAbortedError,
+      SocketError,
+      InformationalError
+    } = require_errors2();
+    var {
+      kUrl,
+      kReset,
+      kClient,
+      kRunning,
+      kPending,
+      kQueue,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kSocket,
+      kStrictContentLength,
+      kOnError,
+      kMaxConcurrentStreams,
+      kHTTP2Session,
+      kResume,
+      kSize,
+      kHTTPContext
+    } = require_symbols6();
+    var kOpenStreams = /* @__PURE__ */ 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
       }
-      return V;
-    };
-    webidl.converters.TypedArray = function(V, T, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {
-        throw webidl.errors.conversionFailed({
-          prefix: `${T.name}`,
-          argument: `${V}`,
-          types: [T.name]
-        });
+    } = 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));
+        }
       }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
+      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"
         });
       }
-      return V;
-    };
-    webidl.converters.DataView = function(V, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {
-        throw webidl.errors.exception({
-          header: "DataView",
-          message: "Object is not a DataView."
-        });
+      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();
+        }
       }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
+    }
+    function onHttp2SessionError(err) {
+      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+      this[kSocket][kError] = err;
+      this[kClient][kOnError](err);
+    }
+    function onHttp2FrameError(type2, code, id) {
+      if (id === 0) {
+        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
+        this[kSocket][kError] = err;
+        this[kClient][kOnError](err);
       }
-      return V;
-    };
-    webidl.converters.BufferSource = function(V, opts = {}) {
-      if (types.isAnyArrayBuffer(V)) {
-        return webidl.converters.ArrayBuffer(V, opts);
+    }
+    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;
       }
-      if (types.isTypedArray(V)) {
-        return webidl.converters.TypedArray(V, V.constructor);
+      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];
       }
-      if (types.isDataView(V)) {
-        return webidl.converters.DataView(V, opts);
+      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: path12, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
+      let { body } = request2;
+      if (upgrade) {
+        util.errorRequest(client, request2, new Error("Upgrade not supported for H2"));
+        return false;
       }
-      throw new TypeError(`Could not convert ${V} to a BufferSource.`);
-    };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.ByteString
-    );
-    webidl.converters["sequence>"] = webidl.sequenceConverter(
-      webidl.converters["sequence"]
-    );
-    webidl.converters["record"] = webidl.recordConverter(
-      webidl.converters.ByteString,
-      webidl.converters.ByteString
-    );
-    module2.exports = {
-      webidl
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/dataURL.js
-var require_dataURL = __commonJS({
-  "node_modules/undici/lib/fetch/dataURL.js"(exports2, module2) {
-    var assert = require("assert");
-    var { atob: atob2 } = require("buffer");
-    var { isomorphicDecode } = require_util10();
-    var encoder = new TextEncoder();
-    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/;
-    var HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/;
-    var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/;
-    function dataURLProcessor(dataURL) {
-      assert(dataURL.protocol === "data:");
-      let input = URLSerializer(dataURL, true);
-      input = input.slice(5);
-      const position = { position: 0 };
-      let mimeType = collectASequenceOfCodePointsFast(
-        ",",
-        input,
-        position
-      );
-      const mimeTypeLength = mimeType.length;
-      mimeType = removeASCIIWhitespace(mimeType, true, true);
-      if (position.position >= input.length) {
-        return "failure";
+      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;
+        }
       }
-      position.position++;
-      const encodedBody = input.slice(mimeTypeLength + 1);
-      let body = stringPercentDecode(encodedBody);
-      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
-        const stringBody = isomorphicDecode(body);
-        body = forgivingBase64(stringBody);
-        if (body === "failure") {
-          return "failure";
+      let stream2;
+      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;
         }
-        mimeType = mimeType.slice(0, -6);
-        mimeType = mimeType.replace(/(\u0020)+$/, "");
-        mimeType = mimeType.slice(0, -1);
+        err = err || new RequestAbortedError();
+        util.errorRequest(client, request2, err);
+        if (stream2 != null) {
+          util.destroy(stream2, err);
+        }
+        util.destroy(body, err);
+        client[kQueue][client[kRunningIdx]++] = null;
+        client[kResume]();
+      };
+      try {
+        request2.onConnect(abort);
+      } catch (err) {
+        util.errorRequest(client, request2, err);
       }
-      if (mimeType.startsWith(";")) {
-        mimeType = "text/plain" + mimeType;
+      if (request2.aborted) {
+        return false;
       }
-      let mimeTypeRecord = parseMIMEType(mimeType);
-      if (mimeTypeRecord === "failure") {
-        mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
+      if (method === "CONNECT") {
+        session.ref();
+        stream2 = session.request(headers, { endStream: false, signal });
+        if (stream2.id && !stream2.pending) {
+          request2.onUpgrade(null, null, stream2);
+          ++session[kOpenStreams];
+          client[kQueue][client[kRunningIdx]++] = null;
+        } else {
+          stream2.once("ready", () => {
+            request2.onUpgrade(null, null, stream2);
+            ++session[kOpenStreams];
+            client[kQueue][client[kRunningIdx]++] = null;
+          });
+        }
+        stream2.once("close", () => {
+          session[kOpenStreams] -= 1;
+          if (session[kOpenStreams] === 0) session.unref();
+        });
+        return true;
       }
-      return { mimeType: mimeTypeRecord, body };
-    }
-    function URLSerializer(url2, excludeFragment = false) {
-      if (!excludeFragment) {
-        return url2.href;
+      headers[HTTP2_HEADER_PATH] = path12;
+      headers[HTTP2_HEADER_SCHEME] = "https";
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
+      if (body && typeof body.read === "function") {
+        body.read(0);
       }
-      const href = url2.href;
-      const hashLength = url2.hash.length;
-      return hashLength === 0 ? href : href.substring(0, href.length - hashLength);
-    }
-    function collectASequenceOfCodePoints(condition, input, position) {
-      let result = "";
-      while (position.position < input.length && condition(input[position.position])) {
-        result += input[position.position];
-        position.position++;
+      let contentLength = util.bodyLength(body);
+      if (util.isFormDataLike(body)) {
+        extractBody ??= require_body2().extractBody;
+        const [bodyStream, contentType] = extractBody(body);
+        headers["content-type"] = contentType;
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
       }
-      return result;
-    }
-    function collectASequenceOfCodePointsFast(char, input, position) {
-      const idx = input.indexOf(char, position.position);
-      const start = position.position;
-      if (idx === -1) {
-        position.position = input.length;
-        return input.slice(start);
+      if (contentLength == null) {
+        contentLength = request2.contentLength;
       }
-      position.position = idx;
-      return input.slice(start, position.position);
-    }
-    function stringPercentDecode(input) {
-      const bytes = encoder.encode(input);
-      return percentDecode(bytes);
-    }
-    function percentDecode(input) {
-      const output = [];
-      for (let i = 0; i < input.length; i++) {
-        const byte = input[i];
-        if (byte !== 37) {
-          output.push(byte);
-        } else if (byte === 37 && !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i + 1], input[i + 2]))) {
-          output.push(37);
-        } else {
-          const nextTwoBytes = String.fromCharCode(input[i + 1], input[i + 2]);
-          const bytePoint = Number.parseInt(nextTwoBytes, 16);
-          output.push(bytePoint);
-          i += 2;
-        }
+      if (contentLength === 0 || !expectsPayload) {
+        contentLength = null;
       }
-      return Uint8Array.from(output);
-    }
-    function parseMIMEType(input) {
-      input = removeHTTPWhitespace(input, true, true);
-      const position = { position: 0 };
-      const type2 = collectASequenceOfCodePointsFast(
-        "/",
-        input,
-        position
-      );
-      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
-        return "failure";
+      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 (position.position > input.length) {
-        return "failure";
+      if (contentLength != null) {
+        assert(body, "no body must not have content length");
+        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
       }
-      position.position++;
-      let subtype = collectASequenceOfCodePointsFast(
-        ";",
-        input,
-        position
-      );
-      subtype = removeHTTPWhitespace(subtype, false, true);
-      if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {
-        return "failure";
+      session.ref();
+      const shouldEndStream = method === "GET" || method === "HEAD" || body === null;
+      if (expectContinue) {
+        headers[HTTP2_HEADER_EXPECT] = "100-continue";
+        stream2 = session.request(headers, { endStream: shouldEndStream, signal });
+        stream2.once("continue", writeBodyH2);
+      } else {
+        stream2 = session.request(headers, {
+          endStream: shouldEndStream,
+          signal
+        });
+        writeBodyH2();
       }
-      const typeLowercase = type2.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;
+      ++session[kOpenStreams];
+      stream2.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(stream2, err);
+          return;
+        }
+        if (request2.onHeaders(Number(statusCode), parseH2Headers(realHeaders), stream2.resume.bind(stream2), "") === false) {
+          stream2.pause();
+        }
+        stream2.on("data", (chunk) => {
+          if (request2.onData(chunk) === false) {
+            stream2.pause();
           }
-          position.position++;
+        });
+      });
+      stream2.once("end", () => {
+        if (stream2.state?.state == null || stream2.state.state < 6) {
+          request2.onComplete([]);
         }
-        if (position.position > input.length) {
-          break;
+        if (session[kOpenStreams] === 0) {
+          session.unref();
         }
-        let parameterValue = null;
-        if (input[position.position] === '"') {
-          parameterValue = collectAnHTTPQuotedString(input, position, true);
-          collectASequenceOfCodePointsFast(
-            ";",
-            input,
-            position
+        abort(new InformationalError("HTTP/2: stream half-closed (remote)"));
+        client[kQueue][client[kRunningIdx]++] = null;
+        client[kPendingIdx] = client[kRunningIdx];
+        client[kResume]();
+      });
+      stream2.once("close", () => {
+        session[kOpenStreams] -= 1;
+        if (session[kOpenStreams] === 0) {
+          session.unref();
+        }
+      });
+      stream2.once("error", function(err) {
+        abort(err);
+      });
+      stream2.once("frameError", (type2, code) => {
+        abort(new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`));
+      });
+      return true;
+      function writeBodyH2() {
+        if (!body || contentLength === 0) {
+          writeBuffer(
+            abort,
+            stream2,
+            null,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
           );
-        } else {
-          parameterValue = collectASequenceOfCodePointsFast(
-            ";",
-            input,
-            position
+        } else if (util.isBuffer(body)) {
+          writeBuffer(
+            abort,
+            stream2,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
           );
-          parameterValue = removeHTTPWhitespace(parameterValue, false, true);
-          if (parameterValue.length === 0) {
-            continue;
+        } else if (util.isBlobLike(body)) {
+          if (typeof body.stream === "function") {
+            writeIterable(
+              abort,
+              stream2,
+              body.stream(),
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
+          } else {
+            writeBlob(
+              abort,
+              stream2,
+              body,
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
           }
+        } else if (util.isStream(body)) {
+          writeStream(
+            abort,
+            client[kSocket],
+            expectsPayload,
+            stream2,
+            body,
+            client,
+            request2,
+            contentLength
+          );
+        } else if (util.isIterable(body)) {
+          writeIterable(
+            abort,
+            stream2,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else {
+          assert(false);
         }
-        if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {
-          mimeType.parameters.set(parameterName, parameterValue);
-        }
-      }
-      return mimeType;
-    }
-    function forgivingBase64(data) {
-      data = data.replace(/[\u0009\u000A\u000C\u000D\u0020]/g, "");
-      if (data.length % 4 === 0) {
-        data = data.replace(/=?=$/, "");
-      }
-      if (data.length % 4 === 1) {
-        return "failure";
-      }
-      if (/[^+/0-9A-Za-z]/.test(data)) {
-        return "failure";
       }
-      const binary2 = atob2(data);
-      const bytes = new Uint8Array(binary2.length);
-      for (let byte = 0; byte < binary2.length; byte++) {
-        bytes[byte] = binary2.charCodeAt(byte);
-      }
-      return bytes;
     }
-    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;
+    function writeBuffer(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      try {
+        if (body != null && util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          h2stream.cork();
+          h2stream.write(body);
+          h2stream.uncork();
+          h2stream.end();
+          request2.onBodySent(body);
         }
-        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 (!expectsPayload) {
+          socket[kReset] = true;
         }
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (error3) {
+        abort(error3);
       }
-      if (extractValue) {
-        return value;
-      }
-      return input.slice(positionStart, position.position);
     }
-    function serializeAMimeType(mimeType) {
-      assert(mimeType !== "failure");
-      const { parameters, essence } = mimeType;
-      let serialization = essence;
-      for (let [name, value] of parameters.entries()) {
-        serialization += ";";
-        serialization += name;
-        serialization += "=";
-        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
-          value = value.replace(/(\\|")/g, "\\$1");
-          value = '"' + value;
-          value += '"';
+    function writeStream(abort, socket, expectsPayload, h2stream, body, client, request2, contentLength) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      const pipe = pipeline(
+        body,
+        h2stream,
+        (err) => {
+          if (err) {
+            util.destroy(pipe, err);
+            abort(err);
+          } else {
+            util.removeAllListeners(pipe);
+            request2.onRequestSent();
+            if (!expectsPayload) {
+              socket[kReset] = true;
+            }
+            client[kResume]();
+          }
         }
-        serialization += value;
+      );
+      util.addListener(pipe, "data", onPipeData);
+      function onPipeData(chunk) {
+        request2.onBodySent(chunk);
       }
-      return serialization;
     }
-    function isHTTPWhiteSpace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === " ";
-    }
-    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
-      let lead = 0;
-      let trail = str2.length - 1;
-      if (leading) {
-        for (; lead < str2.length && isHTTPWhiteSpace(str2[lead]); lead++) ;
-      }
-      if (trailing) {
-        for (; trail > 0 && isHTTPWhiteSpace(str2[trail]); trail--) ;
+    async function writeBlob(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength === body.size, "blob body must have content length");
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
+        }
+        const buffer = Buffer.from(await body.arrayBuffer());
+        h2stream.cork();
+        h2stream.write(buffer);
+        h2stream.uncork();
+        h2stream.end();
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      return str2.slice(lead, trail + 1);
-    }
-    function isASCIIWhitespace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === "\f" || char === " ";
     }
-    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
-      let lead = 0;
-      let trail = str2.length - 1;
-      if (leading) {
-        for (; lead < str2.length && isASCIIWhitespace(str2[lead]); lead++) ;
+    async function writeIterable(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
+        }
       }
-      if (trailing) {
-        for (; trail > 0 && isASCIIWhitespace(str2[trail]); trail--) ;
+      const waitForDrain = () => new Promise((resolve6, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve6;
+        }
+      });
+      h2stream.on("close", onDrain).on("drain", onDrain);
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          const res = h2stream.write(chunk);
+          request2.onBodySent(chunk);
+          if (!res) {
+            await waitForDrain();
+          }
+        }
+        h2stream.end();
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
+      } finally {
+        h2stream.off("close", onDrain).off("drain", onDrain);
       }
-      return str2.slice(lead, trail + 1);
     }
-    module2.exports = {
-      dataURLProcessor,
-      URLSerializer,
-      collectASequenceOfCodePoints,
-      collectASequenceOfCodePointsFast,
-      stringPercentDecode,
-      parseMIMEType,
-      collectAnHTTPQuotedString,
-      serializeAMimeType
-    };
+    module2.exports = connectH2;
   }
 });
 
-// node_modules/undici/lib/fetch/file.js
-var require_file2 = __commonJS({
-  "node_modules/undici/lib/fetch/file.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js
+var require_redirect_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js"(exports2, module2) {
     "use strict";
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { types } = require("util");
-    var { kState } = require_symbols7();
-    var { isBlobLike } = require_util10();
-    var { webidl } = require_webidl2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var { kEnumerableProperty } = require_util9();
-    var encoder = new TextEncoder();
-    var File2 = class _File extends Blob2 {
-      constructor(fileBits, fileName, options = {}) {
-        webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" });
-        fileBits = webidl.converters["sequence"](fileBits);
-        fileName = webidl.converters.USVString(fileName);
-        options = webidl.converters.FilePropertyBag(options);
-        const n = fileName;
-        let t = options.type;
-        let d;
-        substep: {
-          if (t) {
-            t = parseMIMEType(t);
-            if (t === "failure") {
-              t = "";
-              break substep;
-            }
-            t = serializeAMimeType(t).toLowerCase();
-          }
-          d = options.lastModified;
-        }
-        super(processBlobParts(fileBits, options), { type: t });
-        this[kState] = {
-          name: n,
-          lastModified: d,
-          type: t
-        };
+    var util = require_util9();
+    var { kBodyUsed } = require_symbols6();
+    var assert = require("node:assert");
+    var { InvalidArgumentError } = require_errors2();
+    var EE = require("node:events");
+    var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
+    var kBody = /* @__PURE__ */ Symbol("body");
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
       }
-      get name() {
-        webidl.brandCheck(this, _File);
-        return this[kState].name;
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
       }
-      get lastModified() {
-        webidl.brandCheck(this, _File);
-        return this[kState].lastModified;
+    };
+    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);
+        }
       }
-      get type() {
-        webidl.brandCheck(this, _File);
-        return this[kState].type;
+      onConnect(abort) {
+        this.abort = abort;
+        this.handler.onConnect(abort, { history: this.history });
       }
-    };
-    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
-        };
+      onUpgrade(statusCode, headers, socket) {
+        this.handler.onUpgrade(statusCode, headers, socket);
       }
-      stream(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.stream(...args);
+      onError(error3) {
+        this.handler.onError(error3);
       }
-      arrayBuffer(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.arrayBuffer(...args);
+      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 path12 = search ? `${pathname}${search}` : pathname;
+        this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
+        this.opts.path = path12;
+        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;
+        }
       }
-      slice(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.slice(...args);
+      onData(chunk) {
+        if (this.location) {
+        } else {
+          return this.handler.onData(chunk);
+        }
       }
-      text(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.text(...args);
+      onComplete(trailers) {
+        if (this.location) {
+          this.location = null;
+          this.abort = null;
+          this.dispatch(this.opts, this);
+        } else {
+          this.handler.onComplete(trailers);
+        }
       }
-      get size() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.size;
+      onBodySent(chunk) {
+        if (this.handler.onBodySent) {
+          this.handler.onBodySent(chunk);
+        }
       }
-      get type() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.type;
+    };
+    function parseLocation(statusCode, headers) {
+      if (redirectableStatusCodes.indexOf(statusCode) === -1) {
+        return null;
       }
-      get name() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].name;
+      for (let i = 0; i < headers.length; i += 2) {
+        if (headers[i].length === 8 && util.headerNameToString(headers[i]) === "location") {
+          return headers[i + 1];
+        }
       }
-      get lastModified() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].lastModified;
+    }
+    function shouldRemoveHeader(header, removeContent, unknownOrigin) {
+      if (header.length === 4) {
+        return util.headerNameToString(header) === "host";
       }
-      get [Symbol.toStringTag]() {
-        return "File";
+      if (removeContent && util.headerNameToString(header).startsWith("content-")) {
+        return true;
       }
-    };
-    Object.defineProperties(File2.prototype, {
-      [Symbol.toStringTag]: {
-        value: "File",
-        configurable: true
-      },
-      name: kEnumerableProperty,
-      lastModified: kEnumerableProperty
-    });
-    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
-    webidl.converters.BlobPart = function(V, opts) {
-      if (webidl.util.Type(V) === "Object") {
-        if (isBlobLike(V)) {
-          return webidl.converters.Blob(V, { strict: false });
-        }
-        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
-          return webidl.converters.BufferSource(V, opts);
-        }
+      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 webidl.converters.USVString(V, opts);
-    };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.BlobPart
-    );
-    webidl.converters.FilePropertyBag = webidl.dictionaryConverter([
-      {
-        key: "lastModified",
-        converter: webidl.converters["long long"],
-        get defaultValue() {
-          return Date.now();
-        }
-      },
-      {
-        key: "type",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "endings",
-        converter: (value) => {
-          value = webidl.converters.DOMString(value);
-          value = value.toLowerCase();
-          if (value !== "native") {
-            value = "transparent";
+      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]);
           }
-          return value;
-        },
-        defaultValue: "transparent"
-      }
-    ]);
-    function processBlobParts(parts, options) {
-      const bytes = [];
-      for (const element of parts) {
-        if (typeof element === "string") {
-          let s = element;
-          if (options.endings === "native") {
-            s = convertLineEndingsNative(s);
-          }
-          bytes.push(encoder.encode(s));
-        } else if (types.isAnyArrayBuffer(element) || types.isTypedArray(element)) {
-          if (!element.buffer) {
-            bytes.push(new Uint8Array(element));
-          } else {
-            bytes.push(
-              new Uint8Array(element.buffer, element.byteOffset, element.byteLength)
-            );
+        }
+      } else if (headers && typeof headers === "object") {
+        for (const key of Object.keys(headers)) {
+          if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {
+            ret.push(key, headers[key]);
           }
-        } else if (isBlobLike(element)) {
-          bytes.push(element);
         }
+      } else {
+        assert(headers == null, "headers must be an object or an array");
       }
-      return bytes;
-    }
-    function convertLineEndingsNative(s) {
-      let nativeLineEnding = "\n";
-      if (process.platform === "win32") {
-        nativeLineEnding = "\r\n";
-      }
-      return s.replace(/\r?\n/g, nativeLineEnding);
+      return ret;
     }
-    function isFileLike(object) {
-      return NativeFile && object instanceof NativeFile || object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
+    module2.exports = RedirectHandler;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js
+var require_redirect_interceptor2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js"(exports2, module2) {
+    "use strict";
+    var RedirectHandler = require_redirect_handler2();
+    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 = { File: File2, FileLike, isFileLike };
+    module2.exports = createRedirectInterceptor;
   }
 });
 
-// node_modules/undici/lib/fetch/formdata.js
-var require_formdata2 = __commonJS({
-  "node_modules/undici/lib/fetch/formdata.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js
+var require_client2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js"(exports2, module2) {
     "use strict";
-    var { isBlobLike, toUSVString, makeIterator } = require_util10();
-    var { kState } = require_symbols7();
-    var { File: UndiciFile, FileLike, isFileLike } = require_file2();
-    var { webidl } = require_webidl2();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var File2 = NativeFile ?? UndiciFile;
-    var FormData2 = class _FormData {
-      constructor(form) {
-        if (form !== void 0) {
-          throw webidl.errors.conversionFailed({
-            prefix: "FormData constructor",
-            argument: "Argument 1",
-            types: ["undefined"]
-          });
+    var assert = require("node:assert");
+    var net = require("node:net");
+    var http = require("node:http");
+    var util = require_util9();
+    var { channels } = require_diagnostics2();
+    var Request = require_request3();
+    var DispatcherBase = require_dispatcher_base2();
+    var {
+      InvalidArgumentError,
+      InformationalError,
+      ClientDestroyedError
+    } = require_errors2();
+    var buildConnector = require_connect2();
+    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_symbols6();
+    var connectH1 = require_client_h12();
+    var connectH2 = require_client_h22();
+    var deprecatedInterceptorWarned = false;
+    var kClosedResolve = /* @__PURE__ */ 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(url2, {
+        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");
         }
-        this[kState] = [];
-      }
-      append(name, value, filename = void 0) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" });
-        if (arguments.length === 3 && !isBlobLike(value)) {
-          throw new TypeError(
-            "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"
-          );
+        if (socketTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");
         }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0;
-        const entry = makeEntry(name, value, filename);
-        this[kState].push(entry);
-      }
-      delete(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" });
-        name = webidl.converters.USVString(name);
-        this[kState] = this[kState].filter((entry) => entry.name !== name);
-      }
-      get(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" });
-        name = webidl.converters.USVString(name);
-        const idx = this[kState].findIndex((entry) => entry.name === name);
-        if (idx === -1) {
-          return null;
+        if (requestTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");
         }
-        return this[kState][idx].value;
-      }
-      getAll(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" });
-        name = webidl.converters.USVString(name);
-        return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value);
-      }
-      has(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" });
-        name = webidl.converters.USVString(name);
-        return this[kState].findIndex((entry) => entry.name === name) !== -1;
-      }
-      set(name, value, filename = void 0) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" });
-        if (arguments.length === 3 && !isBlobLike(value)) {
-          throw new TypeError(
-            "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"
-          );
+        if (idleTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported idleTimeout, use keepAliveTimeout instead");
         }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? toUSVString(filename) : void 0;
-        const entry = makeEntry(name, value, filename);
-        const idx = this[kState].findIndex((entry2) => entry2.name === name);
-        if (idx !== -1) {
-          this[kState] = [
-            ...this[kState].slice(0, idx),
-            entry,
-            ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name)
-          ];
-        } else {
-          this[kState].push(entry);
+        if (maxKeepAliveTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");
         }
-      }
-      entries() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key+value"
-        );
-      }
-      keys() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key"
-        );
-      }
-      values() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "value"
-        );
-      }
-      /**
-       * @param {(value: string, key: string, self: FormData) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'."
-          );
+        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");
         }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
+        if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) {
+          throw new InvalidArgumentError("maxRequestsPerClient must be a positive number");
         }
-      }
-    };
-    FormData2.prototype[Symbol.iterator] = FormData2.prototype.entries;
-    Object.defineProperties(FormData2.prototype, {
-      [Symbol.toStringTag]: {
-        value: "FormData",
-        configurable: true
-      }
-    });
-    function makeEntry(name, value, filename) {
-      name = Buffer.from(name).toString("utf8");
-      if (typeof value === "string") {
-        value = Buffer.from(value).toString("utf8");
-      } else {
-        if (!isFileLike(value)) {
-          value = value instanceof Blob2 ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
+        if (localAddress != null && (typeof localAddress !== "string" || net.isIP(localAddress) === 0)) {
+          throw new InvalidArgumentError("localAddress must be valid string IP address");
         }
-        if (filename !== void 0) {
-          const options = {
-            type: value.type,
-            lastModified: value.lastModified
-          };
-          value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
+        if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) {
+          throw new InvalidArgumentError("maxResponseSize must be a positive number");
         }
-      }
-      return { name, value };
-    }
-    module2.exports = { FormData: FormData2 };
-  }
-});
-
-// node_modules/undici/lib/fetch/body.js
-var require_body2 = __commonJS({
-  "node_modules/undici/lib/fetch/body.js"(exports2, module2) {
-    "use strict";
-    var Busboy = require_main();
-    var util = require_util9();
-    var {
-      ReadableStreamFrom,
-      isBlobLike,
-      isReadableStreamLike,
-      readableStreamClose,
-      createDeferredPromise,
-      fullyReadBody
-    } = require_util10();
-    var { FormData: FormData2 } = require_formdata2();
-    var { kState } = require_symbols7();
-    var { webidl } = require_webidl2();
-    var { DOMException: DOMException2, structuredClone } = require_constants7();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
-    var { isErrored } = require_util9();
-    var { isUint8Array, isArrayBuffer } = require("util/types");
-    var { File: UndiciFile } = require_file2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var random;
-    try {
-      const crypto2 = require("node:crypto");
-      random = (max) => crypto2.randomInt(0, max);
-    } catch {
-      random = (max) => Math.floor(Math.random(max));
-    }
-    var ReadableStream2 = globalThis.ReadableStream;
-    var File2 = NativeFile ?? UndiciFile;
-    var textEncoder = new TextEncoder();
-    var textDecoder = new TextDecoder();
-    function extractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      let stream2 = null;
-      if (object instanceof ReadableStream2) {
-        stream2 = object;
-      } else if (isBlobLike(object)) {
-        stream2 = object.stream();
-      } else {
-        stream2 = new ReadableStream2({
-          async pull(controller) {
-            controller.enqueue(
-              typeof source === "string" ? textEncoder.encode(source) : source
-            );
-            queueMicrotask(() => readableStreamClose(controller));
-          },
-          start() {
-          },
-          type: void 0
-        });
-      }
-      assert(isReadableStreamLike(stream2));
-      let action = null;
-      let source = null;
-      let length = null;
-      let type2 = null;
-      if (typeof object === "string") {
-        source = object;
-        type2 = "text/plain;charset=UTF-8";
-      } else if (object instanceof URLSearchParams) {
-        source = object.toString();
-        type2 = "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 = (str2) => str2.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;
-            }
-          }
+        if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) {
+          throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number");
         }
-        const chunk = textEncoder.encode(`--${boundary}--`);
-        blobParts.push(chunk);
-        length += chunk.byteLength;
-        if (hasUnknownSizeValue) {
-          length = null;
+        if (allowH2 != null && typeof allowH2 !== "boolean") {
+          throw new InvalidArgumentError("allowH2 must be a valid boolean value");
         }
-        source = object;
-        action = async function* () {
-          for (const part of blobParts) {
-            if (part.stream) {
-              yield* part.stream();
-            } else {
-              yield part;
-            }
-          }
-        };
-        type2 = "multipart/form-data; boundary=" + boundary;
-      } else if (isBlobLike(object)) {
-        source = object;
-        length = object.size;
-        if (object.type) {
-          type2 = object.type;
+        if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) {
+          throw new InvalidArgumentError("maxConcurrentStreams must be a positive integer, greater than 0");
         }
-      } else if (typeof object[Symbol.asyncIterator] === "function") {
-        if (keepalive) {
-          throw new TypeError("keepalive");
+        if (typeof connect2 !== "function") {
+          connect2 = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect2
+          });
         }
-        if (util.isDisturbed(object) || object.locked) {
-          throw new TypeError(
-            "Response body object should not be disturbed or locked"
-          );
+        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 })];
         }
-        stream2 = object instanceof ReadableStream2 ? object : ReadableStreamFrom(object);
+        this[kUrl] = util.parseOrigin(url2);
+        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);
       }
-      if (typeof source === "string" || util.isBuffer(source)) {
-        length = Buffer.byteLength(source);
+      get pipelining() {
+        return this[kPipelining];
       }
-      if (action != null) {
-        let iterator2;
-        stream2 = new ReadableStream2({
-          async start() {
-            iterator2 = action(object)[Symbol.asyncIterator]();
-          },
-          async pull(controller) {
-            const { value, done } = await iterator2.next();
-            if (done) {
-              queueMicrotask(() => {
-                controller.close();
-              });
-            } else {
-              if (!isErrored(stream2)) {
-                controller.enqueue(new Uint8Array(value));
-              }
-            }
-            return controller.desiredSize > 0;
-          },
-          async cancel(reason) {
-            await iterator2.return();
-          },
-          type: void 0
-        });
+      set pipelining(value) {
+        this[kPipelining] = value;
+        this[kResume](true);
       }
-      const body = { stream: stream2, source, length };
-      return [body, type2];
-    }
-    function safelyExtractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+      get [kPending]() {
+        return this[kQueue].length - this[kPendingIdx];
       }
-      if (object instanceof ReadableStream2) {
-        assert(!util.isDisturbed(object), "The body has already been consumed.");
-        assert(!object.locked, "The stream is locked.");
+      get [kRunning]() {
+        return this[kPendingIdx] - this[kRunningIdx];
       }
-      return extractBody(object, keepalive);
-    }
-    function cloneBody(body) {
-      const [out1, out2] = body.stream.tee();
-      const out2Clone = structuredClone(out2, { transfer: [out2] });
-      const [, finalClone] = out2Clone.tee();
-      body.stream = out1;
-      return {
-        stream: finalClone,
-        length: body.length,
-        source: body.source
-      };
-    }
-    async function* consumeBody(body) {
-      if (body) {
-        if (isUint8Array(body)) {
-          yield body;
+      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 {
-          const stream2 = body.stream;
-          if (util.isDisturbed(stream2)) {
-            throw new TypeError("The body has already been consumed.");
-          }
-          if (stream2.locked) {
-            throw new TypeError("The stream is locked.");
-          }
-          stream2[kBodyUsed] = true;
-          yield* stream2;
+          this[kResume](true);
+        }
+        if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
+          this[kNeedDrain] = 2;
         }
+        return this[kNeedDrain] < 2;
       }
-    }
-    function throwIfAborted(state) {
-      if (state.aborted) {
-        throw new DOMException2("The operation was aborted.", "AbortError");
+      async [kClose]() {
+        return new Promise((resolve6) => {
+          if (this[kSize]) {
+            this[kClosedResolve] = resolve6;
+          } else {
+            resolve6(null);
+          }
+        });
       }
-    }
-    function bodyMixinMethods(instance) {
-      const methods = {
-        blob() {
-          return specConsumeBody(this, (bytes) => {
-            let mimeType = bodyMimeType(this);
-            if (mimeType === "failure") {
-              mimeType = "";
-            } else if (mimeType) {
-              mimeType = serializeAMimeType(mimeType);
-            }
-            return new Blob2([bytes], { type: mimeType });
-          }, instance);
-        },
-        arrayBuffer() {
-          return specConsumeBody(this, (bytes) => {
-            return new Uint8Array(bytes).buffer;
-          }, instance);
-        },
-        text() {
-          return specConsumeBody(this, utf8DecodeBytes, instance);
-        },
-        json() {
-          return specConsumeBody(this, parseJSONFromBytes, instance);
-        },
-        async formData() {
-          webidl.brandCheck(this, instance);
-          throwIfAborted(this[kState]);
-          const contentType = this.headers.get("Content-Type");
-          if (/multipart\/form-data/.test(contentType)) {
-            const headers = {};
-            for (const [key, value] of this.headers) headers[key.toLowerCase()] = value;
-            const responseFormData = new FormData2();
-            let busboy;
-            try {
-              busboy = new Busboy({
-                headers,
-                preservePath: true
-              });
-            } catch (err) {
-              throw new DOMException2(`${err}`, "AbortError");
-            }
-            busboy.on("field", (name, value) => {
-              responseFormData.append(name, value);
-            });
-            busboy.on("file", (name, value, filename, encoding, mimeType) => {
-              const chunks = [];
-              if (encoding === "base64" || encoding.toLowerCase() === "base64") {
-                let base64chunk = "";
-                value.on("data", (chunk) => {
-                  base64chunk += chunk.toString().replace(/[\r\n]/gm, "");
-                  const end = base64chunk.length - base64chunk.length % 4;
-                  chunks.push(Buffer.from(base64chunk.slice(0, end), "base64"));
-                  base64chunk = base64chunk.slice(end);
-                });
-                value.on("end", () => {
-                  chunks.push(Buffer.from(base64chunk, "base64"));
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              } else {
-                value.on("data", (chunk) => {
-                  chunks.push(chunk);
-                });
-                value.on("end", () => {
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              }
-            });
-            const busboyResolve = new Promise((resolve6, reject) => {
-              busboy.on("finish", resolve6);
-              busboy.on("error", (err) => reject(new TypeError(err)));
-            });
-            if (this.body !== null) for await (const chunk of consumeBody(this[kState].body)) busboy.write(chunk);
-            busboy.end();
-            await busboyResolve;
-            return responseFormData;
-          } else if (/application\/x-www-form-urlencoded/.test(contentType)) {
-            let entries;
-            try {
-              let text = "";
-              const streamingDecoder = new TextDecoder("utf-8", { ignoreBOM: true });
-              for await (const chunk of consumeBody(this[kState].body)) {
-                if (!isUint8Array(chunk)) {
-                  throw new TypeError("Expected Uint8Array chunk");
-                }
-                text += streamingDecoder.decode(chunk, { stream: true });
-              }
-              text += streamingDecoder.decode();
-              entries = new URLSearchParams(text);
-            } catch (err) {
-              throw Object.assign(new TypeError(), { cause: err });
-            }
-            const formData = new FormData2();
-            for (const [name, value] of entries) {
-              formData.append(name, value);
+      async [kDestroy](err) {
+        return new Promise((resolve6) => {
+          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;
             }
-            return formData;
+            resolve6(null);
+          };
+          if (this[kHTTPContext]) {
+            this[kHTTPContext].destroy(err, callback);
+            this[kHTTPContext] = null;
           } else {
-            await Promise.resolve();
-            throwIfAborted(this[kState]);
-            throw webidl.errors.exception({
-              header: `${instance.name}.formData`,
-              message: "Could not parse content as FormData."
-            });
+            queueMicrotask(callback);
           }
-        }
-      };
-      return methods;
-    }
-    function mixinBody(prototype) {
-      Object.assign(prototype.prototype, bodyMixinMethods(prototype));
-    }
-    async function specConsumeBody(object, convertBytesToJSValue, instance) {
-      webidl.brandCheck(object, instance);
-      throwIfAborted(object[kState]);
-      if (bodyUnusable(object[kState].body)) {
-        throw new TypeError("Body is unusable");
+          this[kResume]();
+        });
       }
-      const promise = createDeferredPromise();
-      const errorSteps = (error3) => promise.reject(error3);
-      const successSteps = (data) => {
-        try {
-          promise.resolve(convertBytesToJSValue(data));
-        } catch (e) {
-          errorSteps(e);
+    };
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    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);
         }
-      };
-      if (object[kState].body == null) {
-        successSteps(new Uint8Array());
-        return promise.promise;
+        assert(client[kSize] === 0);
       }
-      await fullyReadBody(object[kState].body, successSteps, errorSteps);
-      return promise.promise;
-    }
-    function bodyUnusable(body) {
-      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
     }
-    function utf8DecodeBytes(buffer) {
-      if (buffer.length === 0) {
-        return "";
-      }
-      if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
-        buffer = buffer.subarray(3);
+    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;
       }
-      const output = textDecoder.decode(buffer);
-      return output;
-    }
-    function parseJSONFromBytes(bytes) {
-      return JSON.parse(utf8DecodeBytes(bytes));
-    }
-    function bodyMimeType(object) {
-      const { headersList } = object[kState];
-      const contentType = headersList.get("content-type");
-      if (contentType === null) {
-        return "failure";
+      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]
+        });
       }
-      return parseMIMEType(contentType);
-    }
-    module2.exports = {
-      extractBody,
-      safelyExtractBody,
-      cloneBody,
-      mixinBody
-    };
-  }
-});
-
-// node_modules/undici/lib/core/request.js
-var require_request3 = __commonJS({
-  "node_modules/undici/lib/core/request.js"(exports2, module2) {
-    "use strict";
-    var {
-      InvalidArgumentError,
-      NotSupportedError
-    } = require_errors2();
-    var assert = require("assert");
-    var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = require_symbols6();
-    var util = require_util9();
-    var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;
-    var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
-    var invalidPathRegex = /[^\u0021-\u00ff]/;
-    var kHandler = /* @__PURE__ */ Symbol("handler");
-    var channels = {};
-    var extractBody;
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.create = diagnosticsChannel.channel("undici:request:create");
-      channels.bodySent = diagnosticsChannel.channel("undici:request:bodySent");
-      channels.headers = diagnosticsChannel.channel("undici:request:headers");
-      channels.trailers = diagnosticsChannel.channel("undici:request:trailers");
-      channels.error = diagnosticsChannel.channel("undici:request:error");
-    } catch {
-      channels.create = { hasSubscribers: false };
-      channels.bodySent = { hasSubscribers: false };
-      channels.headers = { hasSubscribers: false };
-      channels.trailers = { hasSubscribers: false };
-      channels.error = { hasSubscribers: false };
-    }
-    var Request = class _Request {
-      constructor(origin, {
-        path: path12,
-        method,
-        body,
-        headers,
-        query,
-        idempotent,
-        blocking,
-        upgrade,
-        headersTimeout,
-        bodyTimeout,
-        reset,
-        throwOnError,
-        expectContinue
-      }, handler2) {
-        if (typeof path12 !== "string") {
-          throw new InvalidArgumentError("path must be a string");
-        } else if (path12[0] !== "/" && !(path12.startsWith("http://") || path12.startsWith("https://")) && method !== "CONNECT") {
-          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
-        } else if (invalidPathRegex.exec(path12) !== null) {
-          throw new InvalidArgumentError("invalid request path");
-        }
-        if (typeof method !== "string") {
-          throw new InvalidArgumentError("method must be a string");
-        } else if (tokenRegExp.exec(method) === null) {
-          throw new InvalidArgumentError("invalid request method");
-        }
-        if (upgrade && typeof upgrade !== "string") {
-          throw new InvalidArgumentError("upgrade must be a string");
+      try {
+        const socket = await new Promise((resolve6, reject) => {
+          client[kConnector]({
+            host,
+            hostname,
+            protocol,
+            port,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          }, (err, socket2) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve6(socket2);
+            }
+          });
+        });
+        if (client.destroyed) {
+          util.destroy(socket.on("error", noop3), new ClientDestroyedError());
+          return;
         }
-        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
-          throw new InvalidArgumentError("invalid headersTimeout");
+        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;
         }
-        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
-          throw new InvalidArgumentError("invalid bodyTimeout");
+        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
+          });
         }
-        if (reset != null && typeof reset !== "boolean") {
-          throw new InvalidArgumentError("invalid reset");
+        client.emit("connect", client[kUrl], [client]);
+      } catch (err) {
+        if (client.destroyed) {
+          return;
         }
-        if (expectContinue != null && typeof expectContinue !== "boolean") {
-          throw new InvalidArgumentError("invalid expectContinue");
+        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
+          });
         }
-        this.headersTimeout = headersTimeout;
-        this.bodyTimeout = bodyTimeout;
-        this.throwOnError = throwOnError === true;
-        this.method = method;
-        this.abort = null;
-        if (body == null) {
-          this.body = null;
-        } else if (util.isStream(body)) {
-          this.body = body;
-          const rState = this.body._readableState;
-          if (!rState || !rState.autoDestroy) {
-            this.endHandler = function autoDestroy() {
-              util.destroy(this);
-            };
-            this.body.on("end", this.endHandler);
+        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);
           }
-          this.errorHandler = (err) => {
-            if (this.abort) {
-              this.abort(err);
-            } else {
-              this.error = err;
-            }
-          };
-          this.body.on("error", this.errorHandler);
-        } else if (util.isBuffer(body)) {
-          this.body = body.byteLength ? body : null;
-        } else if (ArrayBuffer.isView(body)) {
-          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
-        } else if (body instanceof ArrayBuffer) {
-          this.body = body.byteLength ? Buffer.from(body) : null;
-        } else if (typeof body === "string") {
-          this.body = body.length ? Buffer.from(body) : null;
-        } else if (util.isFormDataLike(body) || util.isIterable(body) || util.isBlobLike(body)) {
-          this.body = body;
         } else {
-          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
-        }
-        this.completed = false;
-        this.aborted = false;
-        this.upgrade = upgrade || null;
-        this.path = query ? util.buildURL(path12, query) : path12;
-        this.origin = origin;
-        this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
-        this.blocking = blocking == null ? false : blocking;
-        this.reset = reset == null ? null : reset;
-        this.host = null;
-        this.contentLength = null;
-        this.contentType = null;
-        this.headers = "";
-        this.expectContinue = expectContinue != null ? expectContinue : false;
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
-          }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(this, headers[i], headers[i + 1]);
-          }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(this, key, headers[key]);
-          }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
-        }
-        if (util.isFormDataLike(this.body)) {
-          if (util.nodeMajor < 16 || util.nodeMajor === 16 && util.nodeMinor < 8) {
-            throw new InvalidArgumentError("Form-Data bodies are only supported in node v16.8 and newer.");
-          }
-          if (!extractBody) {
-            extractBody = require_body2().extractBody;
-          }
-          const [bodyStream, contentType] = extractBody(body);
-          if (this.contentType == null) {
-            this.contentType = contentType;
-            this.headers += `content-type: ${contentType}\r
-`;
-          }
-          this.body = bodyStream.stream;
-          this.contentLength = bodyStream.length;
-        } else if (util.isBlobLike(body) && this.contentType == null && body.type) {
-          this.contentType = body.type;
-          this.headers += `content-type: ${body.type}\r
-`;
-        }
-        util.validateHandler(handler2, method, upgrade);
-        this.servername = util.getServerName(this.host);
-        this[kHandler] = handler2;
-        if (channels.create.hasSubscribers) {
-          channels.create.publish({ request: this });
+          onError(client, err);
         }
+        client.emit("connectionError", client[kUrl], [client], err);
       }
-      onBodySent(chunk) {
-        if (this[kHandler].onBodySent) {
-          try {
-            return this[kHandler].onBodySent(chunk);
-          } catch (err) {
-            this.abort(err);
-          }
-        }
+      client[kResume]();
+    }
+    function emitDrain(client) {
+      client[kNeedDrain] = 0;
+      client.emit("drain", client[kUrl], [client]);
+    }
+    function resume(client, sync) {
+      if (client[kResuming] === 2) {
+        return;
       }
-      onRequestSent() {
-        if (channels.bodySent.hasSubscribers) {
-          channels.bodySent.publish({ request: this });
+      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 (this[kHandler].onRequestSent) {
-          try {
-            return this[kHandler].onRequestSent();
-          } catch (err) {
-            this.abort(err);
-          }
+        if (client[kClosedResolve] && !client[kSize]) {
+          client[kClosedResolve]();
+          client[kClosedResolve] = null;
+          return;
         }
-      }
-      onConnect(abort) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (this.error) {
-          abort(this.error);
-        } else {
-          this.abort = abort;
-          return this[kHandler].onConnect(abort);
+        if (client[kHTTPContext]) {
+          client[kHTTPContext].resume();
         }
-      }
-      onHeaders(statusCode, headers, resume, statusText) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (channels.headers.hasSubscribers) {
-          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
+        if (client[kBusy]) {
+          client[kNeedDrain] = 2;
+        } else if (client[kNeedDrain] === 2) {
+          if (sync) {
+            client[kNeedDrain] = 1;
+            queueMicrotask(() => emitDrain(client));
+          } else {
+            emitDrain(client);
+          }
+          continue;
         }
-        try {
-          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
-        } catch (err) {
-          this.abort(err);
+        if (client[kPending] === 0) {
+          return;
         }
-      }
-      onData(chunk) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        try {
-          return this[kHandler].onData(chunk);
-        } catch (err) {
-          this.abort(err);
-          return false;
+        if (client[kRunning] >= (getPipelining(client) || 1)) {
+          return;
         }
-      }
-      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 });
+        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);
+          });
         }
-        try {
-          return this[kHandler].onComplete(trailers);
-        } catch (err) {
-          this.onError(err);
+        if (client[kConnecting]) {
+          return;
         }
-      }
-      onError(error3) {
-        this.onFinally();
-        if (channels.error.hasSubscribers) {
-          channels.error.publish({ request: this, error: error3 });
+        if (!client[kHTTPContext]) {
+          connect(client);
+          return;
         }
-        if (this.aborted) {
+        if (client[kHTTPContext].destroyed) {
           return;
         }
-        this.aborted = true;
-        return this[kHandler].onError(error3);
-      }
-      onFinally() {
-        if (this.errorHandler) {
-          this.body.off("error", this.errorHandler);
-          this.errorHandler = null;
+        if (client[kHTTPContext].busy(request2)) {
+          return;
         }
-        if (this.endHandler) {
-          this.body.off("end", this.endHandler);
-          this.endHandler = null;
+        if (!request2.aborted && client[kHTTPContext].write(request2)) {
+          client[kPendingIdx]++;
+        } else {
+          client[kQueue].splice(client[kPendingIdx], 1);
         }
       }
-      // TODO: adjust to support H2
-      addHeader(key, value) {
-        processHeader(this, key, value);
-        return this;
+    }
+    module2.exports = Client;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/fixed-queue.js
+var require_fixed_queue2 = __commonJS({
+  "node_modules/@actions/github/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;
       }
-      static [kHTTP1BuildRequest](origin, opts, handler2) {
-        return new _Request(origin, opts, handler2);
+      isEmpty() {
+        return this.top === this.bottom;
       }
-      static [kHTTP2BuildRequest](origin, opts, handler2) {
-        const headers = opts.headers;
-        opts = { ...opts, headers: null };
-        const request2 = new _Request(origin, opts, handler2);
-        request2.headers = {};
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
-          }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(request2, headers[i], headers[i + 1], true);
-          }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(request2, key, headers[key], true);
-          }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
-        }
-        return request2;
+      isFull() {
+        return (this.top + 1 & kMask) === this.bottom;
       }
-      static [kHTTP2CopyHeaders](raw) {
-        const rawHeaders = raw.split("\r\n");
-        const headers = {};
-        for (const header of rawHeaders) {
-          const [key, value] = header.split(": ");
-          if (value == null || value.length === 0) continue;
-          if (headers[key]) headers[key] += `,${value}`;
-          else headers[key] = value;
-        }
-        return headers;
+      push(data) {
+        this.list[this.top] = data;
+        this.top = this.top + 1 & kMask;
       }
-    };
-    function processHeaderValue(key, val, skipAppend) {
-      if (val && typeof val === "object") {
-        throw new InvalidArgumentError(`invalid ${key} header`);
+      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;
       }
-      val = val != null ? `${val}` : "";
-      if (headerCharRegex.exec(val) !== null) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
+    };
+    module2.exports = class FixedQueue {
+      constructor() {
+        this.head = this.tail = new FixedCircularBuffer();
       }
-      return skipAppend ? val : `${key}: ${val}\r
-`;
-    }
-    function processHeader(request2, key, val, skipAppend = false) {
-      if (val && (typeof val === "object" && !Array.isArray(val))) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      } else if (val === void 0) {
-        return;
+      isEmpty() {
+        return this.head.isEmpty();
       }
-      if (request2.host === null && key.length === 4 && key.toLowerCase() === "host") {
-        if (headerCharRegex.exec(val) !== null) {
-          throw new InvalidArgumentError(`invalid ${key} header`);
-        }
-        request2.host = val;
-      } else if (request2.contentLength === null && key.length === 14 && key.toLowerCase() === "content-length") {
-        request2.contentLength = parseInt(val, 10);
-        if (!Number.isFinite(request2.contentLength)) {
-          throw new InvalidArgumentError("invalid content-length header");
-        }
-      } else if (request2.contentType === null && key.length === 12 && key.toLowerCase() === "content-type") {
-        request2.contentType = val;
-        if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-        else request2.headers += processHeaderValue(key, val);
-      } else if (key.length === 17 && key.toLowerCase() === "transfer-encoding") {
-        throw new InvalidArgumentError("invalid transfer-encoding header");
-      } else if (key.length === 10 && key.toLowerCase() === "connection") {
-        const value = typeof val === "string" ? val.toLowerCase() : null;
-        if (value !== "close" && value !== "keep-alive") {
-          throw new InvalidArgumentError("invalid connection header");
-        } else if (value === "close") {
-          request2.reset = true;
+      push(data) {
+        if (this.head.isFull()) {
+          this.head = this.head.next = new FixedCircularBuffer();
         }
-      } else if (key.length === 10 && key.toLowerCase() === "keep-alive") {
-        throw new InvalidArgumentError("invalid keep-alive header");
-      } else if (key.length === 7 && key.toLowerCase() === "upgrade") {
-        throw new InvalidArgumentError("invalid upgrade header");
-      } else if (key.length === 6 && key.toLowerCase() === "expect") {
-        throw new NotSupportedError("expect header not supported");
-      } else if (tokenRegExp.exec(key) === null) {
-        throw new InvalidArgumentError("invalid header key");
-      } else {
-        if (Array.isArray(val)) {
-          for (let i = 0; i < val.length; i++) {
-            if (skipAppend) {
-              if (request2.headers[key]) request2.headers[key] += `,${processHeaderValue(key, val[i], skipAppend)}`;
-              else request2.headers[key] = processHeaderValue(key, val[i], skipAppend);
-            } else {
-              request2.headers += processHeaderValue(key, val[i]);
-            }
-          }
-        } else {
-          if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-          else request2.headers += processHeaderValue(key, val);
+        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;
       }
-    }
-    module2.exports = Request;
+    };
   }
 });
 
-// node_modules/undici/lib/dispatcher.js
-var require_dispatcher2 = __commonJS({
-  "node_modules/undici/lib/dispatcher.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("events");
-    var Dispatcher = class extends EventEmitter {
-      dispatch() {
-        throw new Error("not implemented");
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js
+var require_pool_stats2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js"(exports2, module2) {
+    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
+    var kPool = /* @__PURE__ */ Symbol("pool");
+    var PoolStats = class {
+      constructor(pool) {
+        this[kPool] = pool;
       }
-      close() {
-        throw new Error("not implemented");
+      get connected() {
+        return this[kPool][kConnected];
       }
-      destroy() {
-        throw new Error("not implemented");
+      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 = Dispatcher;
+    module2.exports = PoolStats;
   }
 });
 
-// node_modules/undici/lib/dispatcher-base.js
-var require_dispatcher_base2 = __commonJS({
-  "node_modules/undici/lib/dispatcher-base.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js
+var require_pool_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js"(exports2, module2) {
     "use strict";
-    var Dispatcher = require_dispatcher2();
-    var {
-      ClientDestroyedError,
-      ClientClosedError,
-      InvalidArgumentError
-    } = require_errors2();
-    var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols6();
-    var kDestroyed = /* @__PURE__ */ Symbol("destroyed");
-    var kClosed = /* @__PURE__ */ Symbol("closed");
-    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
-    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
-    var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
-    var DispatcherBase = class extends Dispatcher {
+    var DispatcherBase = require_dispatcher_base2();
+    var FixedQueue = require_fixed_queue2();
+    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
+    var PoolStats = require_pool_stats2();
+    var kClients = /* @__PURE__ */ Symbol("clients");
+    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
+    var kQueue = /* @__PURE__ */ Symbol("queue");
+    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
+    var kAddClient = /* @__PURE__ */ Symbol("add client");
+    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
+    var kStats = /* @__PURE__ */ Symbol("stats");
+    var PoolBase = class extends DispatcherBase {
       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");
+        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[kInterceptors] = newInterceptors;
-      }
-      close(callback) {
-        if (callback === void 0) {
-          return new Promise((resolve6, reject) => {
-            this.close((err, data) => {
-              return err ? reject(err) : resolve6(data);
-            });
-          });
-        }
-        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));
+          this[kNeedDrain] = needDrain;
+          if (!this[kNeedDrain] && pool[kNeedDrain]) {
+            pool[kNeedDrain] = false;
+            pool.emit("drain", origin, [pool, ...targets]);
           }
-          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);
+          if (pool[kClosedResolve] && queue.isEmpty()) {
+            Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]);
           }
         };
-        this[kClose]().then(() => this.destroy()).then(() => {
-          queueMicrotask(onClosed);
-        });
+        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);
       }
-      destroy(err, callback) {
-        if (typeof err === "function") {
-          callback = err;
-          err = null;
-        }
-        if (callback === void 0) {
-          return new Promise((resolve6, reject) => {
-            this.destroy(err, (err2, data) => {
-              return err2 ? (
-                /* istanbul ignore next: should never error */
-                reject(err2)
-              ) : resolve6(data);
-            });
-          });
+      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;
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        return ret;
+      }
+      get [kRunning]() {
+        let ret = 0;
+        for (const { [kRunning]: running } of this[kClients]) {
+          ret += running;
         }
-        if (this[kDestroyed]) {
-          if (this[kOnDestroyed]) {
-            this[kOnDestroyed].push(callback);
-          } else {
-            queueMicrotask(() => callback(null, null));
-          }
-          return;
+        return ret;
+      }
+      get [kSize]() {
+        let ret = this[kQueued];
+        for (const { [kSize]: size } of this[kClients]) {
+          ret += size;
         }
-        if (!err) {
-          err = new ClientDestroyedError();
+        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((resolve6) => {
+            this[kClosedResolve] = resolve6;
+          });
         }
-        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);
+      async [kDestroy](err) {
+        while (true) {
+          const item = this[kQueue].shift();
+          if (!item) {
+            break;
+          }
+          item.handler.onError(err);
         }
-        let dispatch = this[kDispatch].bind(this);
-        for (let i = this[kInterceptors].length - 1; i >= 0; i--) {
-          dispatch = this[kInterceptors][i](dispatch);
+        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]();
         }
-        this[kInterceptedDispatch] = dispatch;
-        return dispatch(opts, handler2);
+        return !this[kNeedDrain];
       }
-      dispatch(opts, handler2) {
-        if (!handler2 || typeof handler2 !== "object") {
-          throw new InvalidArgumentError("handler must be an object");
+      [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]);
+            }
+          });
         }
-        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");
+        return this;
+      }
+      [kRemoveClient](client) {
+        client.close(() => {
+          const idx = this[kClients].indexOf(client);
+          if (idx !== -1) {
+            this[kClients].splice(idx, 1);
           }
-          handler2.onError(err);
-          return false;
-        }
+        });
+        this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
       }
     };
-    module2.exports = DispatcherBase;
+    module2.exports = {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    };
   }
 });
 
-// node_modules/undici/lib/core/connect.js
-var require_connect2 = __commonJS({
-  "node_modules/undici/lib/core/connect.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js
+var require_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js"(exports2, module2) {
     "use strict";
-    var net = require("net");
-    var assert = require("assert");
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kGetDispatcher
+    } = require_pool_base2();
+    var Client = require_client2();
+    var {
+      InvalidArgumentError
+    } = require_errors2();
     var util = require_util9();
-    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
-    var tls;
-    var SessionCache;
-    if (global.FinalizationRegistry && !process.env.NODE_V8_COVERAGE) {
-      SessionCache = class WeakSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
-          this._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);
-            }
-          });
-        }
-        get(sessionKey) {
-          const ref = this._sessionCache.get(sessionKey);
-          return ref ? ref.deref() : null;
-        }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
-            return;
-          }
-          this._sessionCache.set(sessionKey, new WeakRef(session));
-          this._sessionRegistry.register(session, sessionKey);
-        }
-      };
-    } else {
-      SessionCache = class SimpleSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
+    var { kUrl, kInterceptors } = require_symbols6();
+    var buildConnector = require_connect2();
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kConnections = /* @__PURE__ */ Symbol("connections");
+    var kFactory = /* @__PURE__ */ 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");
         }
-        get(sessionKey) {
-          return this._sessionCache.get(sessionKey);
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
         }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
-            return;
-          }
-          if (this._sessionCache.size >= this._maxCachedSessions) {
-            const { value: oldestKey } = this._sessionCache.keys().next();
-            this._sessionCache.delete(oldestKey);
-          }
-          this._sessionCache.set(sessionKey, session);
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
         }
-      };
-    }
-    function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, ...opts }) {
-      if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
-        throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
-      }
-      const options = { path: socketPath, ...opts };
-      const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
-      timeout = timeout == null ? 1e4 : timeout;
-      allowH2 = allowH2 != null ? allowH2 : false;
-      return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
-        let socket;
-        if (protocol === "https:") {
-          if (!tls) {
-            tls = require("tls");
-          }
-          servername = servername || options.servername || util.getServerName(host) || null;
-          const sessionKey = servername || hostname;
-          const session = sessionCache.get(sessionKey) || null;
-          assert(sessionKey);
-          socket = tls.connect({
-            highWaterMark: 16384,
-            // TLS in node can't have bigger HWM anyway...
-            ...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: port || 443,
-            host: hostname
-          });
-          socket.on("session", function(session2) {
-            sessionCache.set(sessionKey, session2);
-          });
-        } else {
-          assert(!httpSocket, "httpSocket can only be sent on TLS update");
-          socket = net.connect({
-            highWaterMark: 64 * 1024,
-            // Same as nodejs fs streams.
-            ...options,
-            localAddress,
-            port: port || 80,
-            host: hostname
+        if (typeof connect !== "function") {
+          connect = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect
           });
         }
-        if (options.keepAlive == null || options.keepAlive) {
-          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
-          socket.setKeepAlive(true, keepAliveInitialDelay);
-        }
-        const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout);
-        socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(null, this);
-          }
-        }).on("error", function(err) {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(err);
+        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, error3) => {
+          for (const target of targets) {
+            const idx = this[kClients].indexOf(target);
+            if (idx !== -1) {
+              this[kClients].splice(idx, 1);
+            }
           }
         });
-        return socket;
-      };
-    }
-    function setupTimeout(onConnectTimeout2, timeout) {
-      if (!timeout) {
-        return () => {
-        };
       }
-      let s1 = null;
-      let s2 = null;
-      const timeoutId = setTimeout(() => {
-        s1 = setImmediate(() => {
-          if (process.platform === "win32") {
-            s2 = setImmediate(() => onConnectTimeout2());
-          } else {
-            onConnectTimeout2();
+      [kGetDispatcher]() {
+        for (const client of this[kClients]) {
+          if (!client[kNeedDrain]) {
+            return client;
           }
-        });
-      }, timeout);
-      return () => {
-        clearTimeout(timeoutId);
-        clearImmediate(s1);
-        clearImmediate(s2);
-      };
-    }
-    function onConnectTimeout(socket) {
-      util.destroy(socket, new ConnectTimeoutError());
-    }
-    module2.exports = buildConnector;
-  }
-});
-
-// node_modules/undici/lib/llhttp/utils.js
-var require_utils3 = __commonJS({
-  "node_modules/undici/lib/llhttp/utils.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.enumToMap = void 0;
-    function enumToMap(obj) {
-      const res = {};
-      Object.keys(obj).forEach((key) => {
-        const value = obj[key];
-        if (typeof value === "number") {
-          res[key] = value;
         }
-      });
-      return res;
-    }
-    exports2.enumToMap = enumToMap;
+        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/llhttp/constants.js
-var require_constants8 = __commonJS({
-  "node_modules/undici/lib/llhttp/constants.js"(exports2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js
+var require_balanced_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
-    var utils_1 = require_utils3();
-    var ERROR;
-    (function(ERROR2) {
-      ERROR2[ERROR2["OK"] = 0] = "OK";
-      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
-      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
-      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
-      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
-      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
-      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
-      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
-      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
-      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
-      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
-      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
-      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
-      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
-      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
-      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
-      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
-      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
-      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
-      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
-      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
-      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
-      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
-      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
-      ERROR2[ERROR2["USER"] = 24] = "USER";
-    })(ERROR = 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];
+    var {
+      BalancedPoolMissingUpstreamError,
+      InvalidArgumentError
+    } = require_errors2();
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    } = require_pool_base2();
+    var Pool = require_pool2();
+    var { kUrl, kInterceptors } = require_symbols6();
+    var { parseOrigin } = require_util9();
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
+    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
+    var kIndex = /* @__PURE__ */ Symbol("kIndex");
+    var kWeight = /* @__PURE__ */ Symbol("kWeight");
+    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
+    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
+    function getGreatestCommonDivisor(a, b) {
+      if (a === 0) return b;
+      while (b !== 0) {
+        const t = b;
+        b = a % b;
+        a = t;
       }
-    });
-    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));
+      return a;
     }
-    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);
+    function defaultFactory(origin, opts) {
+      return new Pool(origin, opts);
     }
-    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);
+    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];
       }
-    }
-    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
     };
+    module2.exports = BalancedPool;
   }
 });
 
-// node_modules/undici/lib/handler/RedirectHandler.js
-var require_RedirectHandler = __commonJS({
-  "node_modules/undici/lib/handler/RedirectHandler.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js
+var require_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js"(exports2, module2) {
     "use strict";
-    var util = require_util9();
-    var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
     var { InvalidArgumentError } = require_errors2();
-    var EE = require("events");
-    var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
-    var kBody = /* @__PURE__ */ Symbol("body");
-    var BodyAsyncIterable = class {
-      constructor(body) {
-        this[kBody] = body;
-        this[kBodyUsed] = false;
+    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
+    var DispatcherBase = require_dispatcher_base2();
+    var Pool = require_pool2();
+    var Client = require_client2();
+    var util = require_util9();
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ 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);
+        };
       }
-      async *[Symbol.asyncIterator]() {
-        assert(!this[kBodyUsed], "disturbed");
-        this[kBodyUsed] = true;
-        yield* this[kBody];
+      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);
       }
     };
-    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");
+    module2.exports = Agent;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js
+var require_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js"(exports2, module2) {
+    "use strict";
+    var { kProxy, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
+    var { URL: URL2 } = require("node:url");
+    var Agent = require_agent2();
+    var Pool = require_pool2();
+    var DispatcherBase = require_dispatcher_base2();
+    var { InvalidArgumentError, RequestAbortedError, SecureProxyConnectionError } = require_errors2();
+    var buildConnector = require_connect2();
+    var Client = require_client2();
+    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
+    var kClient = /* @__PURE__ */ Symbol("proxy client");
+    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
+    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
+    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
+    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
+    var kTunnelProxy = /* @__PURE__ */ 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");
         }
-        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 = [];
-        if (util.isStream(this.opts.body)) {
-          if (util.bodyLength(this.opts.body) === 0) {
-            this.opts.body.on("data", function() {
-              assert(false);
-            });
+        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 (typeof this.opts.body.readableDidRead !== "boolean") {
-            this.opts.body[kBodyUsed] = false;
-            EE.prototype.on.call(this.opts.body, "data", function() {
-              this[kBodyUsed] = true;
+          if (onHeaders) onHeaders.call(this, statusCode, data, resume);
+        };
+        const {
+          origin,
+          path: path12 = "/",
+          headers = {}
+        } = opts;
+        opts.path = origin + path12;
+        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 url2 = this.#getUrl(opts);
+        const { href, origin, port, protocol, username, password, hostname: proxyHostname } = url2;
+        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
             });
           }
-        } 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(error3) {
-        this.handler.onError(error3);
+          return agentFactory(origin2, options);
+        };
+        this[kClient] = clientFactory(url2, { 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);
+              }
+            }
+          }
+        });
       }
-      onHeaders(statusCode, headers, resume, statusText) {
-        this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers);
-        if (this.opts.origin) {
-          this.history.push(new URL(this.opts.path, this.opts.origin));
-        }
-        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 path12 = search ? `${pathname}${search}` : pathname;
-        this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
-        this.opts.path = path12;
-        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;
+      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
+        );
       }
-      onData(chunk) {
-        if (this.location) {
+      /**
+       * @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 this.handler.onData(chunk);
+          return new URL2(opts.uri);
         }
       }
-      onComplete(trailers) {
-        if (this.location) {
-          this.location = null;
-          this.abort = null;
-          this.dispatch(this.opts, this);
-        } else {
-          this.handler.onComplete(trailers);
-        }
+      async [kClose]() {
+        await this[kAgent].close();
+        await this[kClient].close();
       }
-      onBodySent(chunk) {
-        if (this.handler.onBodySent) {
-          this.handler.onBodySent(chunk);
-        }
+      async [kDestroy]() {
+        await this[kAgent].destroy();
+        await this[kClient].destroy();
       }
     };
-    function parseLocation(statusCode, headers) {
-      if (redirectableStatusCodes.indexOf(statusCode) === -1) {
-        return null;
-      }
-      for (let i = 0; i < headers.length; i += 2) {
-        if (headers[i].toString().toLowerCase() === "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 = [];
+    function buildHeaders(headers) {
       if (Array.isArray(headers)) {
+        const headersPair = {};
         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]);
-          }
+          headersPair[headers[i]] = headers[i + 1];
         }
-      } else {
-        assert(headers == null, "headers must be an object or an array");
+        return headersPair;
       }
-      return ret;
+      return headers;
     }
-    module2.exports = RedirectHandler;
-  }
-});
-
-// node_modules/undici/lib/interceptor/redirectInterceptor.js
-var require_redirectInterceptor = __commonJS({
-  "node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports2, module2) {
-    "use strict";
-    var RedirectHandler = require_RedirectHandler();
-    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);
-        };
-      };
+    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 = createRedirectInterceptor;
-  }
-});
-
-// node_modules/undici/lib/llhttp/llhttp-wasm.js
-var require_llhttp_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAQDscBAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxweHyAhIyUoP0BBREVGR0hJSktMTU9QUVJT3gNXWVtcXWBiZWZnaGlqa2xtb3BxcnN0dXZ3eHl6e3x9foABggGFAYYBhwGJAYsBjAGNAY4BjwGQAZEBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBuAG5AboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAc8B0AHRAdIB0wHUAdUB1gHXAdgB2QHaAdsB3AHdAd4B4AHhAeIB4wHkAeUB5gHnAegB6QHqAesB7AHtAe4B7wHwAfEB8gHzAZkCpAKwAv4C/gILIAEiBCACRw3zAUHdASEQDP8DCyABIhAgAkcN3QFBwwEhEAz+AwsgASIBIAJHDZABQfcAIRAM/QMLIAEiASACRw2GAUHvACEQDPwDCyABIgEgAkcNf0HqACEQDPsDCyABIgEgAkcNe0HoACEQDPoDCyABIgEgAkcNeEHmACEQDPkDCyABIgEgAkcNGkEYIRAM+AMLIAEiASACRw0UQRIhEAz3AwsgASIBIAJHDVlBxQAhEAz2AwsgASIBIAJHDUpBPyEQDPUDCyABIgEgAkcNSEE8IRAM9AMLIAEiASACRw1BQTEhEAzzAwsgAC0ALkEBRg3rAwyHAgsgACABIgEgAhDAgICAAEEBRw3mASAAQgA3AyAM5wELIAAgASIBIAIQtICAgAAiEA3nASABIQEM9QILAkAgASIBIAJHDQBBBiEQDPADCyAAIAFBAWoiASACELuAgIAAIhAN6AEgASEBDDELIABCADcDIEESIRAM1QMLIAEiECACRw0rQR0hEAztAwsCQCABIgEgAkYNACABQQFqIQFBECEQDNQDC0EHIRAM7AMLIABCACAAKQMgIhEgAiABIhBrrSISfSITIBMgEVYbNwMgIBEgElYiFEUN5QFBCCEQDOsDCwJAIAEiASACRg0AIABBiYCAgAA2AgggACABNgIEIAEhAUEUIRAM0gMLQQkhEAzqAwsgASEBIAApAyBQDeQBIAEhAQzyAgsCQCABIgEgAkcNAEELIRAM6QMLIAAgAUEBaiIBIAIQtoCAgAAiEA3lASABIQEM8gILIAAgASIBIAIQuICAgAAiEA3lASABIQEM8gILIAAgASIBIAIQuICAgAAiEA3mASABIQEMDQsgACABIgEgAhC6gICAACIQDecBIAEhAQzwAgsCQCABIgEgAkcNAEEPIRAM5QMLIAEtAAAiEEE7Rg0IIBBBDUcN6AEgAUEBaiEBDO8CCyAAIAEiASACELqAgIAAIhAN6AEgASEBDPICCwNAAkAgAS0AAEHwtYCAAGotAAAiEEEBRg0AIBBBAkcN6wEgACgCBCEQIABBADYCBCAAIBAgAUEBaiIBELmAgIAAIhAN6gEgASEBDPQCCyABQQFqIgEgAkcNAAtBEiEQDOIDCyAAIAEiASACELqAgIAAIhAN6QEgASEBDAoLIAEiASACRw0GQRshEAzgAwsCQCABIgEgAkcNAEEWIRAM4AMLIABBioCAgAA2AgggACABNgIEIAAgASACELiAgIAAIhAN6gEgASEBQSAhEAzGAwsCQCABIgEgAkYNAANAAkAgAS0AAEHwt4CAAGotAAAiEEECRg0AAkAgEEF/ag4E5QHsAQDrAewBCyABQQFqIQFBCCEQDMgDCyABQQFqIgEgAkcNAAtBFSEQDN8DC0EVIRAM3gMLA0ACQCABLQAAQfC5gIAAai0AACIQQQJGDQAgEEF/ag4E3gHsAeAB6wHsAQsgAUEBaiIBIAJHDQALQRghEAzdAwsCQCABIgEgAkYNACAAQYuAgIAANgIIIAAgATYCBCABIQFBByEQDMQDC0EZIRAM3AMLIAFBAWohAQwCCwJAIAEiFCACRw0AQRohEAzbAwsgFCEBAkAgFC0AAEFzag4U3QLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gIA7gILQQAhECAAQQA2AhwgAEGvi4CAADYCECAAQQI2AgwgACAUQQFqNgIUDNoDCwJAIAEtAAAiEEE7Rg0AIBBBDUcN6AEgAUEBaiEBDOUCCyABQQFqIQELQSIhEAy/AwsCQCABIhAgAkcNAEEcIRAM2AMLQgAhESAQIQEgEC0AAEFQag435wHmAQECAwQFBgcIAAAAAAAAAAkKCwwNDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADxAREhMUAAtBHiEQDL0DC0ICIREM5QELQgMhEQzkAQtCBCERDOMBC0IFIREM4gELQgYhEQzhAQtCByERDOABC0IIIREM3wELQgkhEQzeAQtCCiERDN0BC0ILIREM3AELQgwhEQzbAQtCDSERDNoBC0IOIREM2QELQg8hEQzYAQtCCiERDNcBC0ILIREM1gELQgwhEQzVAQtCDSERDNQBC0IOIREM0wELQg8hEQzSAQtCACERAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAQLQAAQVBqDjflAeQBAAECAwQFBgfmAeYB5gHmAeYB5gHmAQgJCgsMDeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gEODxAREhPmAQtCAiERDOQBC0IDIREM4wELQgQhEQziAQtCBSERDOEBC0IGIREM4AELQgchEQzfAQtCCCERDN4BC0IJIREM3QELQgohEQzcAQtCCyERDNsBC0IMIREM2gELQg0hEQzZAQtCDiERDNgBC0IPIREM1wELQgohEQzWAQtCCyERDNUBC0IMIREM1AELQg0hEQzTAQtCDiERDNIBC0IPIREM0QELIABCACAAKQMgIhEgAiABIhBrrSISfSITIBMgEVYbNwMgIBEgElYiFEUN0gFBHyEQDMADCwJAIAEiASACRg0AIABBiYCAgAA2AgggACABNgIEIAEhAUEkIRAMpwMLQSAhEAy/AwsgACABIhAgAhC+gICAAEF/ag4FtgEAxQIB0QHSAQtBESEQDKQDCyAAQQE6AC8gECEBDLsDCyABIgEgAkcN0gFBJCEQDLsDCyABIg0gAkcNHkHGACEQDLoDCyAAIAEiASACELKAgIAAIhAN1AEgASEBDLUBCyABIhAgAkcNJkHQACEQDLgDCwJAIAEiASACRw0AQSghEAy4AwsgAEEANgIEIABBjICAgAA2AgggACABIAEQsYCAgAAiEA3TASABIQEM2AELAkAgASIQIAJHDQBBKSEQDLcDCyAQLQAAIgFBIEYNFCABQQlHDdMBIBBBAWohAQwVCwJAIAEiASACRg0AIAFBAWohAQwXC0EqIRAMtQMLAkAgASIQIAJHDQBBKyEQDLUDCwJAIBAtAAAiAUEJRg0AIAFBIEcN1QELIAAtACxBCEYN0wEgECEBDJEDCwJAIAEiASACRw0AQSwhEAy0AwsgAS0AAEEKRw3VASABQQFqIQEMyQILIAEiDiACRw3VAUEvIRAMsgMLA0ACQCABLQAAIhBBIEYNAAJAIBBBdmoOBADcAdwBANoBCyABIQEM4AELIAFBAWoiASACRw0AC0ExIRAMsQMLQTIhECABIhQgAkYNsAMgAiAUayAAKAIAIgFqIRUgFCABa0EDaiEWAkADQCAULQAAIhdBIHIgFyAXQb9/akH/AXFBGkkbQf8BcSABQfC7gIAAai0AAEcNAQJAIAFBA0cNAEEGIQEMlgMLIAFBAWohASAUQQFqIhQgAkcNAAsgACAVNgIADLEDCyAAQQA2AgAgFCEBDNkBC0EzIRAgASIUIAJGDa8DIAIgFGsgACgCACIBaiEVIBQgAWtBCGohFgJAA0AgFC0AACIXQSByIBcgF0G/f2pB/wFxQRpJG0H/AXEgAUH0u4CAAGotAABHDQECQCABQQhHDQBBBSEBDJUDCyABQQFqIQEgFEEBaiIUIAJHDQALIAAgFTYCAAywAwsgAEEANgIAIBQhAQzYAQtBNCEQIAEiFCACRg2uAyACIBRrIAAoAgAiAWohFSAUIAFrQQVqIRYCQANAIBQtAAAiF0EgciAXIBdBv39qQf8BcUEaSRtB/wFxIAFB0MKAgABqLQAARw0BAkAgAUEFRw0AQQchAQyUAwsgAUEBaiEBIBRBAWoiFCACRw0ACyAAIBU2AgAMrwMLIABBADYCACAUIQEM1wELAkAgASIBIAJGDQADQAJAIAEtAABBgL6AgABqLQAAIhBBAUYNACAQQQJGDQogASEBDN0BCyABQQFqIgEgAkcNAAtBMCEQDK4DC0EwIRAMrQMLAkAgASIBIAJGDQADQAJAIAEtAAAiEEEgRg0AIBBBdmoOBNkB2gHaAdkB2gELIAFBAWoiASACRw0AC0E4IRAMrQMLQTghEAysAwsDQAJAIAEtAAAiEEEgRg0AIBBBCUcNAwsgAUEBaiIBIAJHDQALQTwhEAyrAwsDQAJAIAEtAAAiEEEgRg0AAkACQCAQQXZqDgTaAQEB2gEACyAQQSxGDdsBCyABIQEMBAsgAUEBaiIBIAJHDQALQT8hEAyqAwsgASEBDNsBC0HAACEQIAEiFCACRg2oAyACIBRrIAAoAgAiAWohFiAUIAFrQQZqIRcCQANAIBQtAABBIHIgAUGAwICAAGotAABHDQEgAUEGRg2OAyABQQFqIQEgFEEBaiIUIAJHDQALIAAgFjYCAAypAwsgAEEANgIAIBQhAQtBNiEQDI4DCwJAIAEiDyACRw0AQcEAIRAMpwMLIABBjICAgAA2AgggACAPNgIEIA8hASAALQAsQX9qDgTNAdUB1wHZAYcDCyABQQFqIQEMzAELAkAgASIBIAJGDQADQAJAIAEtAAAiEEEgciAQIBBBv39qQf8BcUEaSRtB/wFxIhBBCUYNACAQQSBGDQACQAJAAkACQCAQQZ1/ag4TAAMDAwMDAwMBAwMDAwMDAwMDAgMLIAFBAWohAUExIRAMkQMLIAFBAWohAUEyIRAMkAMLIAFBAWohAUEzIRAMjwMLIAEhAQzQAQsgAUEBaiIBIAJHDQALQTUhEAylAwtBNSEQDKQDCwJAIAEiASACRg0AA0ACQCABLQAAQYC8gIAAai0AAEEBRg0AIAEhAQzTAQsgAUEBaiIBIAJHDQALQT0hEAykAwtBPSEQDKMDCyAAIAEiASACELCAgIAAIhAN1gEgASEBDAELIBBBAWohAQtBPCEQDIcDCwJAIAEiASACRw0AQcIAIRAMoAMLAkADQAJAIAEtAABBd2oOGAAC/gL+AoQD/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4CAP4CCyABQQFqIgEgAkcNAAtBwgAhEAygAwsgAUEBaiEBIAAtAC1BAXFFDb0BIAEhAQtBLCEQDIUDCyABIgEgAkcN0wFBxAAhEAydAwsDQAJAIAEtAABBkMCAgABqLQAAQQFGDQAgASEBDLcCCyABQQFqIgEgAkcNAAtBxQAhEAycAwsgDS0AACIQQSBGDbMBIBBBOkcNgQMgACgCBCEBIABBADYCBCAAIAEgDRCvgICAACIBDdABIA1BAWohAQyzAgtBxwAhECABIg0gAkYNmgMgAiANayAAKAIAIgFqIRYgDSABa0EFaiEXA0AgDS0AACIUQSByIBQgFEG/f2pB/wFxQRpJG0H/AXEgAUGQwoCAAGotAABHDYADIAFBBUYN9AIgAUEBaiEBIA1BAWoiDSACRw0ACyAAIBY2AgAMmgMLQcgAIRAgASINIAJGDZkDIAIgDWsgACgCACIBaiEWIA0gAWtBCWohFwNAIA0tAAAiFEEgciAUIBRBv39qQf8BcUEaSRtB/wFxIAFBlsKAgABqLQAARw3/AgJAIAFBCUcNAEECIQEM9QILIAFBAWohASANQQFqIg0gAkcNAAsgACAWNgIADJkDCwJAIAEiDSACRw0AQckAIRAMmQMLAkACQCANLQAAIgFBIHIgASABQb9/akH/AXFBGkkbQf8BcUGSf2oOBwCAA4ADgAOAA4ADAYADCyANQQFqIQFBPiEQDIADCyANQQFqIQFBPyEQDP8CC0HKACEQIAEiDSACRg2XAyACIA1rIAAoAgAiAWohFiANIAFrQQFqIRcDQCANLQAAIhRBIHIgFCAUQb9/akH/AXFBGkkbQf8BcSABQaDCgIAAai0AAEcN/QIgAUEBRg3wAiABQQFqIQEgDUEBaiINIAJHDQALIAAgFjYCAAyXAwtBywAhECABIg0gAkYNlgMgAiANayAAKAIAIgFqIRYgDSABa0EOaiEXA0AgDS0AACIUQSByIBQgFEG/f2pB/wFxQRpJG0H/AXEgAUGiwoCAAGotAABHDfwCIAFBDkYN8AIgAUEBaiEBIA1BAWoiDSACRw0ACyAAIBY2AgAMlgMLQcwAIRAgASINIAJGDZUDIAIgDWsgACgCACIBaiEWIA0gAWtBD2ohFwNAIA0tAAAiFEEgciAUIBRBv39qQf8BcUEaSRtB/wFxIAFBwMKAgABqLQAARw37AgJAIAFBD0cNAEEDIQEM8QILIAFBAWohASANQQFqIg0gAkcNAAsgACAWNgIADJUDC0HNACEQIAEiDSACRg2UAyACIA1rIAAoAgAiAWohFiANIAFrQQVqIRcDQCANLQAAIhRBIHIgFCAUQb9/akH/AXFBGkkbQf8BcSABQdDCgIAAai0AAEcN+gICQCABQQVHDQBBBCEBDPACCyABQQFqIQEgDUEBaiINIAJHDQALIAAgFjYCAAyUAwsCQCABIg0gAkcNAEHOACEQDJQDCwJAAkACQAJAIA0tAAAiAUEgciABIAFBv39qQf8BcUEaSRtB/wFxQZ1/ag4TAP0C/QL9Av0C/QL9Av0C/QL9Av0C/QL9AgH9Av0C/QICA/0CCyANQQFqIQFBwQAhEAz9AgsgDUEBaiEBQcIAIRAM/AILIA1BAWohAUHDACEQDPsCCyANQQFqIQFBxAAhEAz6AgsCQCABIgEgAkYNACAAQY2AgIAANgIIIAAgATYCBCABIQFBxQAhEAz6AgtBzwAhEAySAwsgECEBAkACQCAQLQAAQXZqDgQBqAKoAgCoAgsgEEEBaiEBC0EnIRAM+AILAkAgASIBIAJHDQBB0QAhEAyRAwsCQCABLQAAQSBGDQAgASEBDI0BCyABQQFqIQEgAC0ALUEBcUUNxwEgASEBDIwBCyABIhcgAkcNyAFB0gAhEAyPAwtB0wAhECABIhQgAkYNjgMgAiAUayAAKAIAIgFqIRYgFCABa0EBaiEXA0AgFC0AACABQdbCgIAAai0AAEcNzAEgAUEBRg3HASABQQFqIQEgFEEBaiIUIAJHDQALIAAgFjYCAAyOAwsCQCABIgEgAkcNAEHVACEQDI4DCyABLQAAQQpHDcwBIAFBAWohAQzHAQsCQCABIgEgAkcNAEHWACEQDI0DCwJAAkAgAS0AAEF2ag4EAM0BzQEBzQELIAFBAWohAQzHAQsgAUEBaiEBQcoAIRAM8wILIAAgASIBIAIQroCAgAAiEA3LASABIQFBzQAhEAzyAgsgAC0AKUEiRg2FAwymAgsCQCABIgEgAkcNAEHbACEQDIoDC0EAIRRBASEXQQEhFkEAIRACQAJAAkACQAJAAkACQAJAAkAgAS0AAEFQag4K1AHTAQABAgMEBQYI1QELQQIhEAwGC0EDIRAMBQtBBCEQDAQLQQUhEAwDC0EGIRAMAgtBByEQDAELQQghEAtBACEXQQAhFkEAIRQMzAELQQkhEEEBIRRBACEXQQAhFgzLAQsCQCABIgEgAkcNAEHdACEQDIkDCyABLQAAQS5HDcwBIAFBAWohAQymAgsgASIBIAJHDcwBQd8AIRAMhwMLAkAgASIBIAJGDQAgAEGOgICAADYCCCAAIAE2AgQgASEBQdAAIRAM7gILQeAAIRAMhgMLQeEAIRAgASIBIAJGDYUDIAIgAWsgACgCACIUaiEWIAEgFGtBA2ohFwNAIAEtAAAgFEHiwoCAAGotAABHDc0BIBRBA0YNzAEgFEEBaiEUIAFBAWoiASACRw0ACyAAIBY2AgAMhQMLQeIAIRAgASIBIAJGDYQDIAIgAWsgACgCACIUaiEWIAEgFGtBAmohFwNAIAEtAAAgFEHmwoCAAGotAABHDcwBIBRBAkYNzgEgFEEBaiEUIAFBAWoiASACRw0ACyAAIBY2AgAMhAMLQeMAIRAgASIBIAJGDYMDIAIgAWsgACgCACIUaiEWIAEgFGtBA2ohFwNAIAEtAAAgFEHpwoCAAGotAABHDcsBIBRBA0YNzgEgFEEBaiEUIAFBAWoiASACRw0ACyAAIBY2AgAMgwMLAkAgASIBIAJHDQBB5QAhEAyDAwsgACABQQFqIgEgAhCogICAACIQDc0BIAEhAUHWACEQDOkCCwJAIAEiASACRg0AA0ACQCABLQAAIhBBIEYNAAJAAkACQCAQQbh/ag4LAAHPAc8BzwHPAc8BzwHPAc8BAs8BCyABQQFqIQFB0gAhEAztAgsgAUEBaiEBQdMAIRAM7AILIAFBAWohAUHUACEQDOsCCyABQQFqIgEgAkcNAAtB5AAhEAyCAwtB5AAhEAyBAwsDQAJAIAEtAABB8MKAgABqLQAAIhBBAUYNACAQQX5qDgPPAdAB0QHSAQsgAUEBaiIBIAJHDQALQeYAIRAMgAMLAkAgASIBIAJGDQAgAUEBaiEBDAMLQecAIRAM/wILA0ACQCABLQAAQfDEgIAAai0AACIQQQFGDQACQCAQQX5qDgTSAdMB1AEA1QELIAEhAUHXACEQDOcCCyABQQFqIgEgAkcNAAtB6AAhEAz+AgsCQCABIgEgAkcNAEHpACEQDP4CCwJAIAEtAAAiEEF2ag4augHVAdUBvAHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHKAdUB1QEA0wELIAFBAWohAQtBBiEQDOMCCwNAAkAgAS0AAEHwxoCAAGotAABBAUYNACABIQEMngILIAFBAWoiASACRw0AC0HqACEQDPsCCwJAIAEiASACRg0AIAFBAWohAQwDC0HrACEQDPoCCwJAIAEiASACRw0AQewAIRAM+gILIAFBAWohAQwBCwJAIAEiASACRw0AQe0AIRAM+QILIAFBAWohAQtBBCEQDN4CCwJAIAEiFCACRw0AQe4AIRAM9wILIBQhAQJAAkACQCAULQAAQfDIgIAAai0AAEF/ag4H1AHVAdYBAJwCAQLXAQsgFEEBaiEBDAoLIBRBAWohAQzNAQtBACEQIABBADYCHCAAQZuSgIAANgIQIABBBzYCDCAAIBRBAWo2AhQM9gILAkADQAJAIAEtAABB8MiAgABqLQAAIhBBBEYNAAJAAkAgEEF/ag4H0gHTAdQB2QEABAHZAQsgASEBQdoAIRAM4AILIAFBAWohAUHcACEQDN8CCyABQQFqIgEgAkcNAAtB7wAhEAz2AgsgAUEBaiEBDMsBCwJAIAEiFCACRw0AQfAAIRAM9QILIBQtAABBL0cN1AEgFEEBaiEBDAYLAkAgASIUIAJHDQBB8QAhEAz0AgsCQCAULQAAIgFBL0cNACAUQQFqIQFB3QAhEAzbAgsgAUF2aiIEQRZLDdMBQQEgBHRBiYCAAnFFDdMBDMoCCwJAIAEiASACRg0AIAFBAWohAUHeACEQDNoCC0HyACEQDPICCwJAIAEiFCACRw0AQfQAIRAM8gILIBQhAQJAIBQtAABB8MyAgABqLQAAQX9qDgPJApQCANQBC0HhACEQDNgCCwJAIAEiFCACRg0AA0ACQCAULQAAQfDKgIAAai0AACIBQQNGDQACQCABQX9qDgLLAgDVAQsgFCEBQd8AIRAM2gILIBRBAWoiFCACRw0AC0HzACEQDPECC0HzACEQDPACCwJAIAEiASACRg0AIABBj4CAgAA2AgggACABNgIEIAEhAUHgACEQDNcCC0H1ACEQDO8CCwJAIAEiASACRw0AQfYAIRAM7wILIABBj4CAgAA2AgggACABNgIEIAEhAQtBAyEQDNQCCwNAIAEtAABBIEcNwwIgAUEBaiIBIAJHDQALQfcAIRAM7AILAkAgASIBIAJHDQBB+AAhEAzsAgsgAS0AAEEgRw3OASABQQFqIQEM7wELIAAgASIBIAIQrICAgAAiEA3OASABIQEMjgILAkAgASIEIAJHDQBB+gAhEAzqAgsgBC0AAEHMAEcN0QEgBEEBaiEBQRMhEAzPAQsCQCABIgQgAkcNAEH7ACEQDOkCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRADQCAELQAAIAFB8M6AgABqLQAARw3QASABQQVGDc4BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQfsAIRAM6AILAkAgASIEIAJHDQBB/AAhEAzoAgsCQAJAIAQtAABBvX9qDgwA0QHRAdEB0QHRAdEB0QHRAdEB0QEB0QELIARBAWohAUHmACEQDM8CCyAEQQFqIQFB5wAhEAzOAgsCQCABIgQgAkcNAEH9ACEQDOcCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDc8BIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEH9ACEQDOcCCyAAQQA2AgAgEEEBaiEBQRAhEAzMAQsCQCABIgQgAkcNAEH+ACEQDOYCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUH2zoCAAGotAABHDc4BIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEH+ACEQDOYCCyAAQQA2AgAgEEEBaiEBQRYhEAzLAQsCQCABIgQgAkcNAEH/ACEQDOUCCyACIARrIAAoAgAiAWohFCAEIAFrQQNqIRACQANAIAQtAAAgAUH8zoCAAGotAABHDc0BIAFBA0YNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEH/ACEQDOUCCyAAQQA2AgAgEEEBaiEBQQUhEAzKAQsCQCABIgQgAkcNAEGAASEQDOQCCyAELQAAQdkARw3LASAEQQFqIQFBCCEQDMkBCwJAIAEiBCACRw0AQYEBIRAM4wILAkACQCAELQAAQbJ/ag4DAMwBAcwBCyAEQQFqIQFB6wAhEAzKAgsgBEEBaiEBQewAIRAMyQILAkAgASIEIAJHDQBBggEhEAziAgsCQAJAIAQtAABBuH9qDggAywHLAcsBywHLAcsBAcsBCyAEQQFqIQFB6gAhEAzJAgsgBEEBaiEBQe0AIRAMyAILAkAgASIEIAJHDQBBgwEhEAzhAgsgAiAEayAAKAIAIgFqIRAgBCABa0ECaiEUAkADQCAELQAAIAFBgM+AgABqLQAARw3JASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBA2AgBBgwEhEAzhAgtBACEQIABBADYCACAUQQFqIQEMxgELAkAgASIEIAJHDQBBhAEhEAzgAgsgAiAEayAAKAIAIgFqIRQgBCABa0EEaiEQAkADQCAELQAAIAFBg8+AgABqLQAARw3IASABQQRGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBhAEhEAzgAgsgAEEANgIAIBBBAWohAUEjIRAMxQELAkAgASIEIAJHDQBBhQEhEAzfAgsCQAJAIAQtAABBtH9qDggAyAHIAcgByAHIAcgBAcgBCyAEQQFqIQFB7wAhEAzGAgsgBEEBaiEBQfAAIRAMxQILAkAgASIEIAJHDQBBhgEhEAzeAgsgBC0AAEHFAEcNxQEgBEEBaiEBDIMCCwJAIAEiBCACRw0AQYcBIRAM3QILIAIgBGsgACgCACIBaiEUIAQgAWtBA2ohEAJAA0AgBC0AACABQYjPgIAAai0AAEcNxQEgAUEDRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYcBIRAM3QILIABBADYCACAQQQFqIQFBLSEQDMIBCwJAIAEiBCACRw0AQYgBIRAM3AILIAIgBGsgACgCACIBaiEUIAQgAWtBCGohEAJAA0AgBC0AACABQdDPgIAAai0AAEcNxAEgAUEIRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYgBIRAM3AILIABBADYCACAQQQFqIQFBKSEQDMEBCwJAIAEiASACRw0AQYkBIRAM2wILQQEhECABLQAAQd8ARw3AASABQQFqIQEMgQILAkAgASIEIAJHDQBBigEhEAzaAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQA0AgBC0AACABQYzPgIAAai0AAEcNwQEgAUEBRg2vAiABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGKASEQDNkCCwJAIAEiBCACRw0AQYsBIRAM2QILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQY7PgIAAai0AAEcNwQEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYsBIRAM2QILIABBADYCACAQQQFqIQFBAiEQDL4BCwJAIAEiBCACRw0AQYwBIRAM2AILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfDPgIAAai0AAEcNwAEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYwBIRAM2AILIABBADYCACAQQQFqIQFBHyEQDL0BCwJAIAEiBCACRw0AQY0BIRAM1wILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfLPgIAAai0AAEcNvwEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQY0BIRAM1wILIABBADYCACAQQQFqIQFBCSEQDLwBCwJAIAEiBCACRw0AQY4BIRAM1gILAkACQCAELQAAQbd/ag4HAL8BvwG/Ab8BvwEBvwELIARBAWohAUH4ACEQDL0CCyAEQQFqIQFB+QAhEAy8AgsCQCABIgQgAkcNAEGPASEQDNUCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUGRz4CAAGotAABHDb0BIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGPASEQDNUCCyAAQQA2AgAgEEEBaiEBQRghEAy6AQsCQCABIgQgAkcNAEGQASEQDNQCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUGXz4CAAGotAABHDbwBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGQASEQDNQCCyAAQQA2AgAgEEEBaiEBQRchEAy5AQsCQCABIgQgAkcNAEGRASEQDNMCCyACIARrIAAoAgAiAWohFCAEIAFrQQZqIRACQANAIAQtAAAgAUGaz4CAAGotAABHDbsBIAFBBkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGRASEQDNMCCyAAQQA2AgAgEEEBaiEBQRUhEAy4AQsCQCABIgQgAkcNAEGSASEQDNICCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUGhz4CAAGotAABHDboBIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGSASEQDNICCyAAQQA2AgAgEEEBaiEBQR4hEAy3AQsCQCABIgQgAkcNAEGTASEQDNECCyAELQAAQcwARw24ASAEQQFqIQFBCiEQDLYBCwJAIAQgAkcNAEGUASEQDNACCwJAAkAgBC0AAEG/f2oODwC5AbkBuQG5AbkBuQG5AbkBuQG5AbkBuQG5AQG5AQsgBEEBaiEBQf4AIRAMtwILIARBAWohAUH/ACEQDLYCCwJAIAQgAkcNAEGVASEQDM8CCwJAAkAgBC0AAEG/f2oOAwC4AQG4AQsgBEEBaiEBQf0AIRAMtgILIARBAWohBEGAASEQDLUCCwJAIAQgAkcNAEGWASEQDM4CCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUGnz4CAAGotAABHDbYBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGWASEQDM4CCyAAQQA2AgAgEEEBaiEBQQshEAyzAQsCQCAEIAJHDQBBlwEhEAzNAgsCQAJAAkACQCAELQAAQVNqDiMAuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AQG4AbgBuAG4AbgBArgBuAG4AQO4AQsgBEEBaiEBQfsAIRAMtgILIARBAWohAUH8ACEQDLUCCyAEQQFqIQRBgQEhEAy0AgsgBEEBaiEEQYIBIRAMswILAkAgBCACRw0AQZgBIRAMzAILIAIgBGsgACgCACIBaiEUIAQgAWtBBGohEAJAA0AgBC0AACABQanPgIAAai0AAEcNtAEgAUEERg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZgBIRAMzAILIABBADYCACAQQQFqIQFBGSEQDLEBCwJAIAQgAkcNAEGZASEQDMsCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUGuz4CAAGotAABHDbMBIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGZASEQDMsCCyAAQQA2AgAgEEEBaiEBQQYhEAywAQsCQCAEIAJHDQBBmgEhEAzKAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFBtM+AgABqLQAARw2yASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBmgEhEAzKAgsgAEEANgIAIBBBAWohAUEcIRAMrwELAkAgBCACRw0AQZsBIRAMyQILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQbbPgIAAai0AAEcNsQEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZsBIRAMyQILIABBADYCACAQQQFqIQFBJyEQDK4BCwJAIAQgAkcNAEGcASEQDMgCCwJAAkAgBC0AAEGsf2oOAgABsQELIARBAWohBEGGASEQDK8CCyAEQQFqIQRBhwEhEAyuAgsCQCAEIAJHDQBBnQEhEAzHAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFBuM+AgABqLQAARw2vASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBnQEhEAzHAgsgAEEANgIAIBBBAWohAUEmIRAMrAELAkAgBCACRw0AQZ4BIRAMxgILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQbrPgIAAai0AAEcNrgEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZ4BIRAMxgILIABBADYCACAQQQFqIQFBAyEQDKsBCwJAIAQgAkcNAEGfASEQDMUCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDa0BIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGfASEQDMUCCyAAQQA2AgAgEEEBaiEBQQwhEAyqAQsCQCAEIAJHDQBBoAEhEAzEAgsgAiAEayAAKAIAIgFqIRQgBCABa0EDaiEQAkADQCAELQAAIAFBvM+AgABqLQAARw2sASABQQNGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBoAEhEAzEAgsgAEEANgIAIBBBAWohAUENIRAMqQELAkAgBCACRw0AQaEBIRAMwwILAkACQCAELQAAQbp/ag4LAKwBrAGsAawBrAGsAawBrAGsAQGsAQsgBEEBaiEEQYsBIRAMqgILIARBAWohBEGMASEQDKkCCwJAIAQgAkcNAEGiASEQDMICCyAELQAAQdAARw2pASAEQQFqIQQM6QELAkAgBCACRw0AQaMBIRAMwQILAkACQCAELQAAQbd/ag4HAaoBqgGqAaoBqgEAqgELIARBAWohBEGOASEQDKgCCyAEQQFqIQFBIiEQDKYBCwJAIAQgAkcNAEGkASEQDMACCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUHAz4CAAGotAABHDagBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGkASEQDMACCyAAQQA2AgAgEEEBaiEBQR0hEAylAQsCQCAEIAJHDQBBpQEhEAy/AgsCQAJAIAQtAABBrn9qDgMAqAEBqAELIARBAWohBEGQASEQDKYCCyAEQQFqIQFBBCEQDKQBCwJAIAQgAkcNAEGmASEQDL4CCwJAAkACQAJAAkAgBC0AAEG/f2oOFQCqAaoBqgGqAaoBqgGqAaoBqgGqAQGqAaoBAqoBqgEDqgGqAQSqAQsgBEEBaiEEQYgBIRAMqAILIARBAWohBEGJASEQDKcCCyAEQQFqIQRBigEhEAymAgsgBEEBaiEEQY8BIRAMpQILIARBAWohBEGRASEQDKQCCwJAIAQgAkcNAEGnASEQDL0CCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDaUBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGnASEQDL0CCyAAQQA2AgAgEEEBaiEBQREhEAyiAQsCQCAEIAJHDQBBqAEhEAy8AgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFBws+AgABqLQAARw2kASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBqAEhEAy8AgsgAEEANgIAIBBBAWohAUEsIRAMoQELAkAgBCACRw0AQakBIRAMuwILIAIgBGsgACgCACIBaiEUIAQgAWtBBGohEAJAA0AgBC0AACABQcXPgIAAai0AAEcNowEgAUEERg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQakBIRAMuwILIABBADYCACAQQQFqIQFBKyEQDKABCwJAIAQgAkcNAEGqASEQDLoCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHKz4CAAGotAABHDaIBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGqASEQDLoCCyAAQQA2AgAgEEEBaiEBQRQhEAyfAQsCQCAEIAJHDQBBqwEhEAy5AgsCQAJAAkACQCAELQAAQb5/ag4PAAECpAGkAaQBpAGkAaQBpAGkAaQBpAGkAQOkAQsgBEEBaiEEQZMBIRAMogILIARBAWohBEGUASEQDKECCyAEQQFqIQRBlQEhEAygAgsgBEEBaiEEQZYBIRAMnwILAkAgBCACRw0AQawBIRAMuAILIAQtAABBxQBHDZ8BIARBAWohBAzgAQsCQCAEIAJHDQBBrQEhEAy3AgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFBzc+AgABqLQAARw2fASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBrQEhEAy3AgsgAEEANgIAIBBBAWohAUEOIRAMnAELAkAgBCACRw0AQa4BIRAMtgILIAQtAABB0ABHDZ0BIARBAWohAUElIRAMmwELAkAgBCACRw0AQa8BIRAMtQILIAIgBGsgACgCACIBaiEUIAQgAWtBCGohEAJAA0AgBC0AACABQdDPgIAAai0AAEcNnQEgAUEIRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQa8BIRAMtQILIABBADYCACAQQQFqIQFBKiEQDJoBCwJAIAQgAkcNAEGwASEQDLQCCwJAAkAgBC0AAEGrf2oOCwCdAZ0BnQGdAZ0BnQGdAZ0BnQEBnQELIARBAWohBEGaASEQDJsCCyAEQQFqIQRBmwEhEAyaAgsCQCAEIAJHDQBBsQEhEAyzAgsCQAJAIAQtAABBv39qDhQAnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBAZwBCyAEQQFqIQRBmQEhEAyaAgsgBEEBaiEEQZwBIRAMmQILAkAgBCACRw0AQbIBIRAMsgILIAIgBGsgACgCACIBaiEUIAQgAWtBA2ohEAJAA0AgBC0AACABQdnPgIAAai0AAEcNmgEgAUEDRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbIBIRAMsgILIABBADYCACAQQQFqIQFBISEQDJcBCwJAIAQgAkcNAEGzASEQDLECCyACIARrIAAoAgAiAWohFCAEIAFrQQZqIRACQANAIAQtAAAgAUHdz4CAAGotAABHDZkBIAFBBkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGzASEQDLECCyAAQQA2AgAgEEEBaiEBQRohEAyWAQsCQCAEIAJHDQBBtAEhEAywAgsCQAJAAkAgBC0AAEG7f2oOEQCaAZoBmgGaAZoBmgGaAZoBmgEBmgGaAZoBmgGaAQKaAQsgBEEBaiEEQZ0BIRAMmAILIARBAWohBEGeASEQDJcCCyAEQQFqIQRBnwEhEAyWAgsCQCAEIAJHDQBBtQEhEAyvAgsgAiAEayAAKAIAIgFqIRQgBCABa0EFaiEQAkADQCAELQAAIAFB5M+AgABqLQAARw2XASABQQVGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBtQEhEAyvAgsgAEEANgIAIBBBAWohAUEoIRAMlAELAkAgBCACRw0AQbYBIRAMrgILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQerPgIAAai0AAEcNlgEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbYBIRAMrgILIABBADYCACAQQQFqIQFBByEQDJMBCwJAIAQgAkcNAEG3ASEQDK0CCwJAAkAgBC0AAEG7f2oODgCWAZYBlgGWAZYBlgGWAZYBlgGWAZYBlgEBlgELIARBAWohBEGhASEQDJQCCyAEQQFqIQRBogEhEAyTAgsCQCAEIAJHDQBBuAEhEAysAgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFB7c+AgABqLQAARw2UASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBuAEhEAysAgsgAEEANgIAIBBBAWohAUESIRAMkQELAkAgBCACRw0AQbkBIRAMqwILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfDPgIAAai0AAEcNkwEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbkBIRAMqwILIABBADYCACAQQQFqIQFBICEQDJABCwJAIAQgAkcNAEG6ASEQDKoCCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUHyz4CAAGotAABHDZIBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEG6ASEQDKoCCyAAQQA2AgAgEEEBaiEBQQ8hEAyPAQsCQCAEIAJHDQBBuwEhEAypAgsCQAJAIAQtAABBt39qDgcAkgGSAZIBkgGSAQGSAQsgBEEBaiEEQaUBIRAMkAILIARBAWohBEGmASEQDI8CCwJAIAQgAkcNAEG8ASEQDKgCCyACIARrIAAoAgAiAWohFCAEIAFrQQdqIRACQANAIAQtAAAgAUH0z4CAAGotAABHDZABIAFBB0YNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEG8ASEQDKgCCyAAQQA2AgAgEEEBaiEBQRshEAyNAQsCQCAEIAJHDQBBvQEhEAynAgsCQAJAAkAgBC0AAEG+f2oOEgCRAZEBkQGRAZEBkQGRAZEBkQEBkQGRAZEBkQGRAZEBApEBCyAEQQFqIQRBpAEhEAyPAgsgBEEBaiEEQacBIRAMjgILIARBAWohBEGoASEQDI0CCwJAIAQgAkcNAEG+ASEQDKYCCyAELQAAQc4ARw2NASAEQQFqIQQMzwELAkAgBCACRw0AQb8BIRAMpQILAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgBC0AAEG/f2oOFQABAgOcAQQFBpwBnAGcAQcICQoLnAEMDQ4PnAELIARBAWohAUHoACEQDJoCCyAEQQFqIQFB6QAhEAyZAgsgBEEBaiEBQe4AIRAMmAILIARBAWohAUHyACEQDJcCCyAEQQFqIQFB8wAhEAyWAgsgBEEBaiEBQfYAIRAMlQILIARBAWohAUH3ACEQDJQCCyAEQQFqIQFB+gAhEAyTAgsgBEEBaiEEQYMBIRAMkgILIARBAWohBEGEASEQDJECCyAEQQFqIQRBhQEhEAyQAgsgBEEBaiEEQZIBIRAMjwILIARBAWohBEGYASEQDI4CCyAEQQFqIQRBoAEhEAyNAgsgBEEBaiEEQaMBIRAMjAILIARBAWohBEGqASEQDIsCCwJAIAQgAkYNACAAQZCAgIAANgIIIAAgBDYCBEGrASEQDIsCC0HAASEQDKMCCyAAIAUgAhCqgICAACIBDYsBIAUhAQxcCwJAIAYgAkYNACAGQQFqIQUMjQELQcIBIRAMoQILA0ACQCAQLQAAQXZqDgSMAQAAjwEACyAQQQFqIhAgAkcNAAtBwwEhEAygAgsCQCAHIAJGDQAgAEGRgICAADYCCCAAIAc2AgQgByEBQQEhEAyHAgtBxAEhEAyfAgsCQCAHIAJHDQBBxQEhEAyfAgsCQAJAIActAABBdmoOBAHOAc4BAM4BCyAHQQFqIQYMjQELIAdBAWohBQyJAQsCQCAHIAJHDQBBxgEhEAyeAgsCQAJAIActAABBdmoOFwGPAY8BAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAQCPAQsgB0EBaiEHC0GwASEQDIQCCwJAIAggAkcNAEHIASEQDJ0CCyAILQAAQSBHDY0BIABBADsBMiAIQQFqIQFBswEhEAyDAgsgASEXAkADQCAXIgcgAkYNASAHLQAAQVBqQf8BcSIQQQpPDcwBAkAgAC8BMiIUQZkzSw0AIAAgFEEKbCIUOwEyIBBB//8DcyAUQf7/A3FJDQAgB0EBaiEXIAAgFCAQaiIQOwEyIBBB//8DcUHoB0kNAQsLQQAhECAAQQA2AhwgAEHBiYCAADYCECAAQQ02AgwgACAHQQFqNgIUDJwCC0HHASEQDJsCCyAAIAggAhCugICAACIQRQ3KASAQQRVHDYwBIABByAE2AhwgACAINgIUIABByZeAgAA2AhAgAEEVNgIMQQAhEAyaAgsCQCAJIAJHDQBBzAEhEAyaAgtBACEUQQEhF0EBIRZBACEQAkACQAJAAkACQAJAAkACQAJAIAktAABBUGoOCpYBlQEAAQIDBAUGCJcBC0ECIRAMBgtBAyEQDAULQQQhEAwEC0EFIRAMAwtBBiEQDAILQQchEAwBC0EIIRALQQAhF0EAIRZBACEUDI4BC0EJIRBBASEUQQAhF0EAIRYMjQELAkAgCiACRw0AQc4BIRAMmQILIAotAABBLkcNjgEgCkEBaiEJDMoBCyALIAJHDY4BQdABIRAMlwILAkAgCyACRg0AIABBjoCAgAA2AgggACALNgIEQbcBIRAM/gELQdEBIRAMlgILAkAgBCACRw0AQdIBIRAMlgILIAIgBGsgACgCACIQaiEUIAQgEGtBBGohCwNAIAQtAAAgEEH8z4CAAGotAABHDY4BIBBBBEYN6QEgEEEBaiEQIARBAWoiBCACRw0ACyAAIBQ2AgBB0gEhEAyVAgsgACAMIAIQrICAgAAiAQ2NASAMIQEMuAELAkAgBCACRw0AQdQBIRAMlAILIAIgBGsgACgCACIQaiEUIAQgEGtBAWohDANAIAQtAAAgEEGB0ICAAGotAABHDY8BIBBBAUYNjgEgEEEBaiEQIARBAWoiBCACRw0ACyAAIBQ2AgBB1AEhEAyTAgsCQCAEIAJHDQBB1gEhEAyTAgsgAiAEayAAKAIAIhBqIRQgBCAQa0ECaiELA0AgBC0AACAQQYPQgIAAai0AAEcNjgEgEEECRg2QASAQQQFqIRAgBEEBaiIEIAJHDQALIAAgFDYCAEHWASEQDJICCwJAIAQgAkcNAEHXASEQDJICCwJAAkAgBC0AAEG7f2oOEACPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BAY8BCyAEQQFqIQRBuwEhEAz5AQsgBEEBaiEEQbwBIRAM+AELAkAgBCACRw0AQdgBIRAMkQILIAQtAABByABHDYwBIARBAWohBAzEAQsCQCAEIAJGDQAgAEGQgICAADYCCCAAIAQ2AgRBvgEhEAz3AQtB2QEhEAyPAgsCQCAEIAJHDQBB2gEhEAyPAgsgBC0AAEHIAEYNwwEgAEEBOgAoDLkBCyAAQQI6AC8gACAEIAIQpoCAgAAiEA2NAUHCASEQDPQBCyAALQAoQX9qDgK3AbkBuAELA0ACQCAELQAAQXZqDgQAjgGOAQCOAQsgBEEBaiIEIAJHDQALQd0BIRAMiwILIABBADoALyAALQAtQQRxRQ2EAgsgAEEAOgAvIABBAToANCABIQEMjAELIBBBFUYN2gEgAEEANgIcIAAgATYCFCAAQaeOgIAANgIQIABBEjYCDEEAIRAMiAILAkAgACAQIAIQtICAgAAiBA0AIBAhAQyBAgsCQCAEQRVHDQAgAEEDNgIcIAAgEDYCFCAAQbCYgIAANgIQIABBFTYCDEEAIRAMiAILIABBADYCHCAAIBA2AhQgAEGnjoCAADYCECAAQRI2AgxBACEQDIcCCyAQQRVGDdYBIABBADYCHCAAIAE2AhQgAEHajYCAADYCECAAQRQ2AgxBACEQDIYCCyAAKAIEIRcgAEEANgIEIBAgEadqIhYhASAAIBcgECAWIBQbIhAQtYCAgAAiFEUNjQEgAEEHNgIcIAAgEDYCFCAAIBQ2AgxBACEQDIUCCyAAIAAvATBBgAFyOwEwIAEhAQtBKiEQDOoBCyAQQRVGDdEBIABBADYCHCAAIAE2AhQgAEGDjICAADYCECAAQRM2AgxBACEQDIICCyAQQRVGDc8BIABBADYCHCAAIAE2AhQgAEGaj4CAADYCECAAQSI2AgxBACEQDIECCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQt4CAgAAiEA0AIAFBAWohAQyNAQsgAEEMNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDIACCyAQQRVGDcwBIABBADYCHCAAIAE2AhQgAEGaj4CAADYCECAAQSI2AgxBACEQDP8BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQt4CAgAAiEA0AIAFBAWohAQyMAQsgAEENNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDP4BCyAQQRVGDckBIABBADYCHCAAIAE2AhQgAEHGjICAADYCECAAQSM2AgxBACEQDP0BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQuYCAgAAiEA0AIAFBAWohAQyLAQsgAEEONgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDPwBCyAAQQA2AhwgACABNgIUIABBwJWAgAA2AhAgAEECNgIMQQAhEAz7AQsgEEEVRg3FASAAQQA2AhwgACABNgIUIABBxoyAgAA2AhAgAEEjNgIMQQAhEAz6AQsgAEEQNgIcIAAgATYCFCAAIBA2AgxBACEQDPkBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQuYCAgAAiBA0AIAFBAWohAQzxAQsgAEERNgIcIAAgBDYCDCAAIAFBAWo2AhRBACEQDPgBCyAQQRVGDcEBIABBADYCHCAAIAE2AhQgAEHGjICAADYCECAAQSM2AgxBACEQDPcBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQuYCAgAAiEA0AIAFBAWohAQyIAQsgAEETNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDPYBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQuYCAgAAiBA0AIAFBAWohAQztAQsgAEEUNgIcIAAgBDYCDCAAIAFBAWo2AhRBACEQDPUBCyAQQRVGDb0BIABBADYCHCAAIAE2AhQgAEGaj4CAADYCECAAQSI2AgxBACEQDPQBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQt4CAgAAiEA0AIAFBAWohAQyGAQsgAEEWNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDPMBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQt4CAgAAiBA0AIAFBAWohAQzpAQsgAEEXNgIcIAAgBDYCDCAAIAFBAWo2AhRBACEQDPIBCyAAQQA2AhwgACABNgIUIABBzZOAgAA2AhAgAEEMNgIMQQAhEAzxAQtCASERCyAQQQFqIQECQCAAKQMgIhJC//////////8PVg0AIAAgEkIEhiARhDcDICABIQEMhAELIABBADYCHCAAIAE2AhQgAEGtiYCAADYCECAAQQw2AgxBACEQDO8BCyAAQQA2AhwgACAQNgIUIABBzZOAgAA2AhAgAEEMNgIMQQAhEAzuAQsgACgCBCEXIABBADYCBCAQIBGnaiIWIQEgACAXIBAgFiAUGyIQELWAgIAAIhRFDXMgAEEFNgIcIAAgEDYCFCAAIBQ2AgxBACEQDO0BCyAAQQA2AhwgACAQNgIUIABBqpyAgAA2AhAgAEEPNgIMQQAhEAzsAQsgACAQIAIQtICAgAAiAQ0BIBAhAQtBDiEQDNEBCwJAIAFBFUcNACAAQQI2AhwgACAQNgIUIABBsJiAgAA2AhAgAEEVNgIMQQAhEAzqAQsgAEEANgIcIAAgEDYCFCAAQaeOgIAANgIQIABBEjYCDEEAIRAM6QELIAFBAWohEAJAIAAvATAiAUGAAXFFDQACQCAAIBAgAhC7gICAACIBDQAgECEBDHALIAFBFUcNugEgAEEFNgIcIAAgEDYCFCAAQfmXgIAANgIQIABBFTYCDEEAIRAM6QELAkAgAUGgBHFBoARHDQAgAC0ALUECcQ0AIABBADYCHCAAIBA2AhQgAEGWk4CAADYCECAAQQQ2AgxBACEQDOkBCyAAIBAgAhC9gICAABogECEBAkACQAJAAkACQCAAIBAgAhCzgICAAA4WAgEABAQEBAQEBAQEBAQEBAQEBAQEAwQLIABBAToALgsgACAALwEwQcAAcjsBMCAQIQELQSYhEAzRAQsgAEEjNgIcIAAgEDYCFCAAQaWWgIAANgIQIABBFTYCDEEAIRAM6QELIABBADYCHCAAIBA2AhQgAEHVi4CAADYCECAAQRE2AgxBACEQDOgBCyAALQAtQQFxRQ0BQcMBIRAMzgELAkAgDSACRg0AA0ACQCANLQAAQSBGDQAgDSEBDMQBCyANQQFqIg0gAkcNAAtBJSEQDOcBC0ElIRAM5gELIAAoAgQhBCAAQQA2AgQgACAEIA0Qr4CAgAAiBEUNrQEgAEEmNgIcIAAgBDYCDCAAIA1BAWo2AhRBACEQDOUBCyAQQRVGDasBIABBADYCHCAAIAE2AhQgAEH9jYCAADYCECAAQR02AgxBACEQDOQBCyAAQSc2AhwgACABNgIUIAAgEDYCDEEAIRAM4wELIBAhAUEBIRQCQAJAAkACQAJAAkACQCAALQAsQX5qDgcGBQUDAQIABQsgACAALwEwQQhyOwEwDAMLQQIhFAwBC0EEIRQLIABBAToALCAAIAAvATAgFHI7ATALIBAhAQtBKyEQDMoBCyAAQQA2AhwgACAQNgIUIABBq5KAgAA2AhAgAEELNgIMQQAhEAziAQsgAEEANgIcIAAgATYCFCAAQeGPgIAANgIQIABBCjYCDEEAIRAM4QELIABBADoALCAQIQEMvQELIBAhAUEBIRQCQAJAAkACQAJAIAAtACxBe2oOBAMBAgAFCyAAIAAvATBBCHI7ATAMAwtBAiEUDAELQQQhFAsgAEEBOgAsIAAgAC8BMCAUcjsBMAsgECEBC0EpIRAMxQELIABBADYCHCAAIAE2AhQgAEHwlICAADYCECAAQQM2AgxBACEQDN0BCwJAIA4tAABBDUcNACAAKAIEIQEgAEEANgIEAkAgACABIA4QsYCAgAAiAQ0AIA5BAWohAQx1CyAAQSw2AhwgACABNgIMIAAgDkEBajYCFEEAIRAM3QELIAAtAC1BAXFFDQFBxAEhEAzDAQsCQCAOIAJHDQBBLSEQDNwBCwJAAkADQAJAIA4tAABBdmoOBAIAAAMACyAOQQFqIg4gAkcNAAtBLSEQDN0BCyAAKAIEIQEgAEEANgIEAkAgACABIA4QsYCAgAAiAQ0AIA4hAQx0CyAAQSw2AhwgACAONgIUIAAgATYCDEEAIRAM3AELIAAoAgQhASAAQQA2AgQCQCAAIAEgDhCxgICAACIBDQAgDkEBaiEBDHMLIABBLDYCHCAAIAE2AgwgACAOQQFqNgIUQQAhEAzbAQsgACgCBCEEIABBADYCBCAAIAQgDhCxgICAACIEDaABIA4hAQzOAQsgEEEsRw0BIAFBAWohEEEBIQECQAJAAkACQAJAIAAtACxBe2oOBAMBAgQACyAQIQEMBAtBAiEBDAELQQQhAQsgAEEBOgAsIAAgAC8BMCABcjsBMCAQIQEMAQsgACAALwEwQQhyOwEwIBAhAQtBOSEQDL8BCyAAQQA6ACwgASEBC0E0IRAMvQELIAAgAC8BMEEgcjsBMCABIQEMAgsgACgCBCEEIABBADYCBAJAIAAgBCABELGAgIAAIgQNACABIQEMxwELIABBNzYCHCAAIAE2AhQgACAENgIMQQAhEAzUAQsgAEEIOgAsIAEhAQtBMCEQDLkBCwJAIAAtAChBAUYNACABIQEMBAsgAC0ALUEIcUUNkwEgASEBDAMLIAAtADBBIHENlAFBxQEhEAy3AQsCQCAPIAJGDQACQANAAkAgDy0AAEFQaiIBQf8BcUEKSQ0AIA8hAUE1IRAMugELIAApAyAiEUKZs+bMmbPmzBlWDQEgACARQgp+IhE3AyAgESABrUL/AYMiEkJ/hVYNASAAIBEgEnw3AyAgD0EBaiIPIAJHDQALQTkhEAzRAQsgACgCBCECIABBADYCBCAAIAIgD0EBaiIEELGAgIAAIgINlQEgBCEBDMMBC0E5IRAMzwELAkAgAC8BMCIBQQhxRQ0AIAAtAChBAUcNACAALQAtQQhxRQ2QAQsgACABQff7A3FBgARyOwEwIA8hAQtBNyEQDLQBCyAAIAAvATBBEHI7ATAMqwELIBBBFUYNiwEgAEEANgIcIAAgATYCFCAAQfCOgIAANgIQIABBHDYCDEEAIRAMywELIABBwwA2AhwgACABNgIMIAAgDUEBajYCFEEAIRAMygELAkAgAS0AAEE6Rw0AIAAoAgQhECAAQQA2AgQCQCAAIBAgARCvgICAACIQDQAgAUEBaiEBDGMLIABBwwA2AhwgACAQNgIMIAAgAUEBajYCFEEAIRAMygELIABBADYCHCAAIAE2AhQgAEGxkYCAADYCECAAQQo2AgxBACEQDMkBCyAAQQA2AhwgACABNgIUIABBoJmAgAA2AhAgAEEeNgIMQQAhEAzIAQsgAEEANgIACyAAQYASOwEqIAAgF0EBaiIBIAIQqICAgAAiEA0BIAEhAQtBxwAhEAysAQsgEEEVRw2DASAAQdEANgIcIAAgATYCFCAAQeOXgIAANgIQIABBFTYCDEEAIRAMxAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDF4LIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMwwELIABBADYCHCAAIBQ2AhQgAEHBqICAADYCECAAQQc2AgwgAEEANgIAQQAhEAzCAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMXQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAzBAQtBACEQIABBADYCHCAAIAE2AhQgAEGAkYCAADYCECAAQQk2AgwMwAELIBBBFUYNfSAAQQA2AhwgACABNgIUIABBlI2AgAA2AhAgAEEhNgIMQQAhEAy/AQtBASEWQQAhF0EAIRRBASEQCyAAIBA6ACsgAUEBaiEBAkACQCAALQAtQRBxDQACQAJAAkAgAC0AKg4DAQACBAsgFkUNAwwCCyAUDQEMAgsgF0UNAQsgACgCBCEQIABBADYCBAJAIAAgECABEK2AgIAAIhANACABIQEMXAsgAEHYADYCHCAAIAE2AhQgACAQNgIMQQAhEAy+AQsgACgCBCEEIABBADYCBAJAIAAgBCABEK2AgIAAIgQNACABIQEMrQELIABB2QA2AhwgACABNgIUIAAgBDYCDEEAIRAMvQELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCtgICAACIEDQAgASEBDKsBCyAAQdoANgIcIAAgATYCFCAAIAQ2AgxBACEQDLwBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQrYCAgAAiBA0AIAEhAQypAQsgAEHcADYCHCAAIAE2AhQgACAENgIMQQAhEAy7AQsCQCABLQAAQVBqIhBB/wFxQQpPDQAgACAQOgAqIAFBAWohAUHPACEQDKIBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQrYCAgAAiBA0AIAEhAQynAQsgAEHeADYCHCAAIAE2AhQgACAENgIMQQAhEAy6AQsgAEEANgIAIBdBAWohAQJAIAAtAClBI08NACABIQEMWQsgAEEANgIcIAAgATYCFCAAQdOJgIAANgIQIABBCDYCDEEAIRAMuQELIABBADYCAAtBACEQIABBADYCHCAAIAE2AhQgAEGQs4CAADYCECAAQQg2AgwMtwELIABBADYCACAXQQFqIQECQCAALQApQSFHDQAgASEBDFYLIABBADYCHCAAIAE2AhQgAEGbioCAADYCECAAQQg2AgxBACEQDLYBCyAAQQA2AgAgF0EBaiEBAkAgAC0AKSIQQV1qQQtPDQAgASEBDFULAkAgEEEGSw0AQQEgEHRBygBxRQ0AIAEhAQxVC0EAIRAgAEEANgIcIAAgATYCFCAAQfeJgIAANgIQIABBCDYCDAy1AQsgEEEVRg1xIABBADYCHCAAIAE2AhQgAEG5jYCAADYCECAAQRo2AgxBACEQDLQBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxUCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLMBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdIANgIcIAAgATYCFCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8=";
-  }
-});
-
-// node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
-var require_llhttp_simd_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB4fICEjJSg/QEFERUZHSElKS0xNT1BRUlPeA1dZW1xdYGJlZmdoaWprbG1vcHFyc3R1dnd4eXp7fH1+gAGCAYUBhgGHAYkBiwGMAY0BjgGPAZABkQGUAZUBlgGXAZgBmQGaAZsBnAGdAZ4BnwGgAaEBogGjAaQBpQGmAacBqAGpAaoBqwGsAa0BrgGvAbABsQGyAbMBtAG1AbYBtwG4AbkBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUBxgHHAcgByQHKAcsBzAHNAc4BzwHQAdEB0gHTAdQB1QHWAdcB2AHZAdoB2wHcAd0B3gHgAeEB4gHjAeQB5QHmAecB6AHpAeoB6wHsAe0B7gHvAfAB8QHyAfMBmQKkArAC/gL+AgsgASIEIAJHDfMBQd0BIRAM/wMLIAEiECACRw3dAUHDASEQDP4DCyABIgEgAkcNkAFB9wAhEAz9AwsgASIBIAJHDYYBQe8AIRAM/AMLIAEiASACRw1/QeoAIRAM+wMLIAEiASACRw17QegAIRAM+gMLIAEiASACRw14QeYAIRAM+QMLIAEiASACRw0aQRghEAz4AwsgASIBIAJHDRRBEiEQDPcDCyABIgEgAkcNWUHFACEQDPYDCyABIgEgAkcNSkE/IRAM9QMLIAEiASACRw1IQTwhEAz0AwsgASIBIAJHDUFBMSEQDPMDCyAALQAuQQFGDesDDIcCCyAAIAEiASACEMCAgIAAQQFHDeYBIABCADcDIAznAQsgACABIgEgAhC0gICAACIQDecBIAEhAQz1AgsCQCABIgEgAkcNAEEGIRAM8AMLIAAgAUEBaiIBIAIQu4CAgAAiEA3oASABIQEMMQsgAEIANwMgQRIhEAzVAwsgASIQIAJHDStBHSEQDO0DCwJAIAEiASACRg0AIAFBAWohAUEQIRAM1AMLQQchEAzsAwsgAEIAIAApAyAiESACIAEiEGutIhJ9IhMgEyARVhs3AyAgESASViIURQ3lAUEIIRAM6wMLAkAgASIBIAJGDQAgAEGJgICAADYCCCAAIAE2AgQgASEBQRQhEAzSAwtBCSEQDOoDCyABIQEgACkDIFAN5AEgASEBDPICCwJAIAEiASACRw0AQQshEAzpAwsgACABQQFqIgEgAhC2gICAACIQDeUBIAEhAQzyAgsgACABIgEgAhC4gICAACIQDeUBIAEhAQzyAgsgACABIgEgAhC4gICAACIQDeYBIAEhAQwNCyAAIAEiASACELqAgIAAIhAN5wEgASEBDPACCwJAIAEiASACRw0AQQ8hEAzlAwsgAS0AACIQQTtGDQggEEENRw3oASABQQFqIQEM7wILIAAgASIBIAIQuoCAgAAiEA3oASABIQEM8gILA0ACQCABLQAAQfC1gIAAai0AACIQQQFGDQAgEEECRw3rASAAKAIEIRAgAEEANgIEIAAgECABQQFqIgEQuYCAgAAiEA3qASABIQEM9AILIAFBAWoiASACRw0AC0ESIRAM4gMLIAAgASIBIAIQuoCAgAAiEA3pASABIQEMCgsgASIBIAJHDQZBGyEQDOADCwJAIAEiASACRw0AQRYhEAzgAwsgAEGKgICAADYCCCAAIAE2AgQgACABIAIQuICAgAAiEA3qASABIQFBICEQDMYDCwJAIAEiASACRg0AA0ACQCABLQAAQfC3gIAAai0AACIQQQJGDQACQCAQQX9qDgTlAewBAOsB7AELIAFBAWohAUEIIRAMyAMLIAFBAWoiASACRw0AC0EVIRAM3wMLQRUhEAzeAwsDQAJAIAEtAABB8LmAgABqLQAAIhBBAkYNACAQQX9qDgTeAewB4AHrAewBCyABQQFqIgEgAkcNAAtBGCEQDN0DCwJAIAEiASACRg0AIABBi4CAgAA2AgggACABNgIEIAEhAUEHIRAMxAMLQRkhEAzcAwsgAUEBaiEBDAILAkAgASIUIAJHDQBBGiEQDNsDCyAUIQECQCAULQAAQXNqDhTdAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAgDuAgtBACEQIABBADYCHCAAQa+LgIAANgIQIABBAjYCDCAAIBRBAWo2AhQM2gMLAkAgAS0AACIQQTtGDQAgEEENRw3oASABQQFqIQEM5QILIAFBAWohAQtBIiEQDL8DCwJAIAEiECACRw0AQRwhEAzYAwtCACERIBAhASAQLQAAQVBqDjfnAeYBAQIDBAUGBwgAAAAAAAAACQoLDA0OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPEBESExQAC0EeIRAMvQMLQgIhEQzlAQtCAyERDOQBC0IEIREM4wELQgUhEQziAQtCBiERDOEBC0IHIREM4AELQgghEQzfAQtCCSERDN4BC0IKIREM3QELQgshEQzcAQtCDCERDNsBC0INIREM2gELQg4hEQzZAQtCDyERDNgBC0IKIREM1wELQgshEQzWAQtCDCERDNUBC0INIREM1AELQg4hEQzTAQtCDyERDNIBC0IAIRECQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAtAABBUGoON+UB5AEAAQIDBAUGB+YB5gHmAeYB5gHmAeYBCAkKCwwN5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAQ4PEBESE+YBC0ICIREM5AELQgMhEQzjAQtCBCERDOIBC0IFIREM4QELQgYhEQzgAQtCByERDN8BC0IIIREM3gELQgkhEQzdAQtCCiERDNwBC0ILIREM2wELQgwhEQzaAQtCDSERDNkBC0IOIREM2AELQg8hEQzXAQtCCiERDNYBC0ILIREM1QELQgwhEQzUAQtCDSERDNMBC0IOIREM0gELQg8hEQzRAQsgAEIAIAApAyAiESACIAEiEGutIhJ9IhMgEyARVhs3AyAgESASViIURQ3SAUEfIRAMwAMLAkAgASIBIAJGDQAgAEGJgICAADYCCCAAIAE2AgQgASEBQSQhEAynAwtBICEQDL8DCyAAIAEiECACEL6AgIAAQX9qDgW2AQDFAgHRAdIBC0ERIRAMpAMLIABBAToALyAQIQEMuwMLIAEiASACRw3SAUEkIRAMuwMLIAEiDSACRw0eQcYAIRAMugMLIAAgASIBIAIQsoCAgAAiEA3UASABIQEMtQELIAEiECACRw0mQdAAIRAMuAMLAkAgASIBIAJHDQBBKCEQDLgDCyAAQQA2AgQgAEGMgICAADYCCCAAIAEgARCxgICAACIQDdMBIAEhAQzYAQsCQCABIhAgAkcNAEEpIRAMtwMLIBAtAAAiAUEgRg0UIAFBCUcN0wEgEEEBaiEBDBULAkAgASIBIAJGDQAgAUEBaiEBDBcLQSohEAy1AwsCQCABIhAgAkcNAEErIRAMtQMLAkAgEC0AACIBQQlGDQAgAUEgRw3VAQsgAC0ALEEIRg3TASAQIQEMkQMLAkAgASIBIAJHDQBBLCEQDLQDCyABLQAAQQpHDdUBIAFBAWohAQzJAgsgASIOIAJHDdUBQS8hEAyyAwsDQAJAIAEtAAAiEEEgRg0AAkAgEEF2ag4EANwB3AEA2gELIAEhAQzgAQsgAUEBaiIBIAJHDQALQTEhEAyxAwtBMiEQIAEiFCACRg2wAyACIBRrIAAoAgAiAWohFSAUIAFrQQNqIRYCQANAIBQtAAAiF0EgciAXIBdBv39qQf8BcUEaSRtB/wFxIAFB8LuAgABqLQAARw0BAkAgAUEDRw0AQQYhAQyWAwsgAUEBaiEBIBRBAWoiFCACRw0ACyAAIBU2AgAMsQMLIABBADYCACAUIQEM2QELQTMhECABIhQgAkYNrwMgAiAUayAAKAIAIgFqIRUgFCABa0EIaiEWAkADQCAULQAAIhdBIHIgFyAXQb9/akH/AXFBGkkbQf8BcSABQfS7gIAAai0AAEcNAQJAIAFBCEcNAEEFIQEMlQMLIAFBAWohASAUQQFqIhQgAkcNAAsgACAVNgIADLADCyAAQQA2AgAgFCEBDNgBC0E0IRAgASIUIAJGDa4DIAIgFGsgACgCACIBaiEVIBQgAWtBBWohFgJAA0AgFC0AACIXQSByIBcgF0G/f2pB/wFxQRpJG0H/AXEgAUHQwoCAAGotAABHDQECQCABQQVHDQBBByEBDJQDCyABQQFqIQEgFEEBaiIUIAJHDQALIAAgFTYCAAyvAwsgAEEANgIAIBQhAQzXAQsCQCABIgEgAkYNAANAAkAgAS0AAEGAvoCAAGotAAAiEEEBRg0AIBBBAkYNCiABIQEM3QELIAFBAWoiASACRw0AC0EwIRAMrgMLQTAhEAytAwsCQCABIgEgAkYNAANAAkAgAS0AACIQQSBGDQAgEEF2ag4E2QHaAdoB2QHaAQsgAUEBaiIBIAJHDQALQTghEAytAwtBOCEQDKwDCwNAAkAgAS0AACIQQSBGDQAgEEEJRw0DCyABQQFqIgEgAkcNAAtBPCEQDKsDCwNAAkAgAS0AACIQQSBGDQACQAJAIBBBdmoOBNoBAQHaAQALIBBBLEYN2wELIAEhAQwECyABQQFqIgEgAkcNAAtBPyEQDKoDCyABIQEM2wELQcAAIRAgASIUIAJGDagDIAIgFGsgACgCACIBaiEWIBQgAWtBBmohFwJAA0AgFC0AAEEgciABQYDAgIAAai0AAEcNASABQQZGDY4DIAFBAWohASAUQQFqIhQgAkcNAAsgACAWNgIADKkDCyAAQQA2AgAgFCEBC0E2IRAMjgMLAkAgASIPIAJHDQBBwQAhEAynAwsgAEGMgICAADYCCCAAIA82AgQgDyEBIAAtACxBf2oOBM0B1QHXAdkBhwMLIAFBAWohAQzMAQsCQCABIgEgAkYNAANAAkAgAS0AACIQQSByIBAgEEG/f2pB/wFxQRpJG0H/AXEiEEEJRg0AIBBBIEYNAAJAAkACQAJAIBBBnX9qDhMAAwMDAwMDAwEDAwMDAwMDAwMCAwsgAUEBaiEBQTEhEAyRAwsgAUEBaiEBQTIhEAyQAwsgAUEBaiEBQTMhEAyPAwsgASEBDNABCyABQQFqIgEgAkcNAAtBNSEQDKUDC0E1IRAMpAMLAkAgASIBIAJGDQADQAJAIAEtAABBgLyAgABqLQAAQQFGDQAgASEBDNMBCyABQQFqIgEgAkcNAAtBPSEQDKQDC0E9IRAMowMLIAAgASIBIAIQsICAgAAiEA3WASABIQEMAQsgEEEBaiEBC0E8IRAMhwMLAkAgASIBIAJHDQBBwgAhEAygAwsCQANAAkAgAS0AAEF3ag4YAAL+Av4ChAP+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gIA/gILIAFBAWoiASACRw0AC0HCACEQDKADCyABQQFqIQEgAC0ALUEBcUUNvQEgASEBC0EsIRAMhQMLIAEiASACRw3TAUHEACEQDJ0DCwNAAkAgAS0AAEGQwICAAGotAABBAUYNACABIQEMtwILIAFBAWoiASACRw0AC0HFACEQDJwDCyANLQAAIhBBIEYNswEgEEE6Rw2BAyAAKAIEIQEgAEEANgIEIAAgASANEK+AgIAAIgEN0AEgDUEBaiEBDLMCC0HHACEQIAEiDSACRg2aAyACIA1rIAAoAgAiAWohFiANIAFrQQVqIRcDQCANLQAAIhRBIHIgFCAUQb9/akH/AXFBGkkbQf8BcSABQZDCgIAAai0AAEcNgAMgAUEFRg30AiABQQFqIQEgDUEBaiINIAJHDQALIAAgFjYCAAyaAwtByAAhECABIg0gAkYNmQMgAiANayAAKAIAIgFqIRYgDSABa0EJaiEXA0AgDS0AACIUQSByIBQgFEG/f2pB/wFxQRpJG0H/AXEgAUGWwoCAAGotAABHDf8CAkAgAUEJRw0AQQIhAQz1AgsgAUEBaiEBIA1BAWoiDSACRw0ACyAAIBY2AgAMmQMLAkAgASINIAJHDQBByQAhEAyZAwsCQAJAIA0tAAAiAUEgciABIAFBv39qQf8BcUEaSRtB/wFxQZJ/ag4HAIADgAOAA4ADgAMBgAMLIA1BAWohAUE+IRAMgAMLIA1BAWohAUE/IRAM/wILQcoAIRAgASINIAJGDZcDIAIgDWsgACgCACIBaiEWIA0gAWtBAWohFwNAIA0tAAAiFEEgciAUIBRBv39qQf8BcUEaSRtB/wFxIAFBoMKAgABqLQAARw39AiABQQFGDfACIAFBAWohASANQQFqIg0gAkcNAAsgACAWNgIADJcDC0HLACEQIAEiDSACRg2WAyACIA1rIAAoAgAiAWohFiANIAFrQQ5qIRcDQCANLQAAIhRBIHIgFCAUQb9/akH/AXFBGkkbQf8BcSABQaLCgIAAai0AAEcN/AIgAUEORg3wAiABQQFqIQEgDUEBaiINIAJHDQALIAAgFjYCAAyWAwtBzAAhECABIg0gAkYNlQMgAiANayAAKAIAIgFqIRYgDSABa0EPaiEXA0AgDS0AACIUQSByIBQgFEG/f2pB/wFxQRpJG0H/AXEgAUHAwoCAAGotAABHDfsCAkAgAUEPRw0AQQMhAQzxAgsgAUEBaiEBIA1BAWoiDSACRw0ACyAAIBY2AgAMlQMLQc0AIRAgASINIAJGDZQDIAIgDWsgACgCACIBaiEWIA0gAWtBBWohFwNAIA0tAAAiFEEgciAUIBRBv39qQf8BcUEaSRtB/wFxIAFB0MKAgABqLQAARw36AgJAIAFBBUcNAEEEIQEM8AILIAFBAWohASANQQFqIg0gAkcNAAsgACAWNgIADJQDCwJAIAEiDSACRw0AQc4AIRAMlAMLAkACQAJAAkAgDS0AACIBQSByIAEgAUG/f2pB/wFxQRpJG0H/AXFBnX9qDhMA/QL9Av0C/QL9Av0C/QL9Av0C/QL9Av0CAf0C/QL9AgID/QILIA1BAWohAUHBACEQDP0CCyANQQFqIQFBwgAhEAz8AgsgDUEBaiEBQcMAIRAM+wILIA1BAWohAUHEACEQDPoCCwJAIAEiASACRg0AIABBjYCAgAA2AgggACABNgIEIAEhAUHFACEQDPoCC0HPACEQDJIDCyAQIQECQAJAIBAtAABBdmoOBAGoAqgCAKgCCyAQQQFqIQELQSchEAz4AgsCQCABIgEgAkcNAEHRACEQDJEDCwJAIAEtAABBIEYNACABIQEMjQELIAFBAWohASAALQAtQQFxRQ3HASABIQEMjAELIAEiFyACRw3IAUHSACEQDI8DC0HTACEQIAEiFCACRg2OAyACIBRrIAAoAgAiAWohFiAUIAFrQQFqIRcDQCAULQAAIAFB1sKAgABqLQAARw3MASABQQFGDccBIAFBAWohASAUQQFqIhQgAkcNAAsgACAWNgIADI4DCwJAIAEiASACRw0AQdUAIRAMjgMLIAEtAABBCkcNzAEgAUEBaiEBDMcBCwJAIAEiASACRw0AQdYAIRAMjQMLAkACQCABLQAAQXZqDgQAzQHNAQHNAQsgAUEBaiEBDMcBCyABQQFqIQFBygAhEAzzAgsgACABIgEgAhCugICAACIQDcsBIAEhAUHNACEQDPICCyAALQApQSJGDYUDDKYCCwJAIAEiASACRw0AQdsAIRAMigMLQQAhFEEBIRdBASEWQQAhEAJAAkACQAJAAkACQAJAAkACQCABLQAAQVBqDgrUAdMBAAECAwQFBgjVAQtBAiEQDAYLQQMhEAwFC0EEIRAMBAtBBSEQDAMLQQYhEAwCC0EHIRAMAQtBCCEQC0EAIRdBACEWQQAhFAzMAQtBCSEQQQEhFEEAIRdBACEWDMsBCwJAIAEiASACRw0AQd0AIRAMiQMLIAEtAABBLkcNzAEgAUEBaiEBDKYCCyABIgEgAkcNzAFB3wAhEAyHAwsCQCABIgEgAkYNACAAQY6AgIAANgIIIAAgATYCBCABIQFB0AAhEAzuAgtB4AAhEAyGAwtB4QAhECABIgEgAkYNhQMgAiABayAAKAIAIhRqIRYgASAUa0EDaiEXA0AgAS0AACAUQeLCgIAAai0AAEcNzQEgFEEDRg3MASAUQQFqIRQgAUEBaiIBIAJHDQALIAAgFjYCAAyFAwtB4gAhECABIgEgAkYNhAMgAiABayAAKAIAIhRqIRYgASAUa0ECaiEXA0AgAS0AACAUQebCgIAAai0AAEcNzAEgFEECRg3OASAUQQFqIRQgAUEBaiIBIAJHDQALIAAgFjYCAAyEAwtB4wAhECABIgEgAkYNgwMgAiABayAAKAIAIhRqIRYgASAUa0EDaiEXA0AgAS0AACAUQenCgIAAai0AAEcNywEgFEEDRg3OASAUQQFqIRQgAUEBaiIBIAJHDQALIAAgFjYCAAyDAwsCQCABIgEgAkcNAEHlACEQDIMDCyAAIAFBAWoiASACEKiAgIAAIhANzQEgASEBQdYAIRAM6QILAkAgASIBIAJGDQADQAJAIAEtAAAiEEEgRg0AAkACQAJAIBBBuH9qDgsAAc8BzwHPAc8BzwHPAc8BzwECzwELIAFBAWohAUHSACEQDO0CCyABQQFqIQFB0wAhEAzsAgsgAUEBaiEBQdQAIRAM6wILIAFBAWoiASACRw0AC0HkACEQDIIDC0HkACEQDIEDCwNAAkAgAS0AAEHwwoCAAGotAAAiEEEBRg0AIBBBfmoOA88B0AHRAdIBCyABQQFqIgEgAkcNAAtB5gAhEAyAAwsCQCABIgEgAkYNACABQQFqIQEMAwtB5wAhEAz/AgsDQAJAIAEtAABB8MSAgABqLQAAIhBBAUYNAAJAIBBBfmoOBNIB0wHUAQDVAQsgASEBQdcAIRAM5wILIAFBAWoiASACRw0AC0HoACEQDP4CCwJAIAEiASACRw0AQekAIRAM/gILAkAgAS0AACIQQXZqDhq6AdUB1QG8AdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAcoB1QHVAQDTAQsgAUEBaiEBC0EGIRAM4wILA0ACQCABLQAAQfDGgIAAai0AAEEBRg0AIAEhAQyeAgsgAUEBaiIBIAJHDQALQeoAIRAM+wILAkAgASIBIAJGDQAgAUEBaiEBDAMLQesAIRAM+gILAkAgASIBIAJHDQBB7AAhEAz6AgsgAUEBaiEBDAELAkAgASIBIAJHDQBB7QAhEAz5AgsgAUEBaiEBC0EEIRAM3gILAkAgASIUIAJHDQBB7gAhEAz3AgsgFCEBAkACQAJAIBQtAABB8MiAgABqLQAAQX9qDgfUAdUB1gEAnAIBAtcBCyAUQQFqIQEMCgsgFEEBaiEBDM0BC0EAIRAgAEEANgIcIABBm5KAgAA2AhAgAEEHNgIMIAAgFEEBajYCFAz2AgsCQANAAkAgAS0AAEHwyICAAGotAAAiEEEERg0AAkACQCAQQX9qDgfSAdMB1AHZAQAEAdkBCyABIQFB2gAhEAzgAgsgAUEBaiEBQdwAIRAM3wILIAFBAWoiASACRw0AC0HvACEQDPYCCyABQQFqIQEMywELAkAgASIUIAJHDQBB8AAhEAz1AgsgFC0AAEEvRw3UASAUQQFqIQEMBgsCQCABIhQgAkcNAEHxACEQDPQCCwJAIBQtAAAiAUEvRw0AIBRBAWohAUHdACEQDNsCCyABQXZqIgRBFksN0wFBASAEdEGJgIACcUUN0wEMygILAkAgASIBIAJGDQAgAUEBaiEBQd4AIRAM2gILQfIAIRAM8gILAkAgASIUIAJHDQBB9AAhEAzyAgsgFCEBAkAgFC0AAEHwzICAAGotAABBf2oOA8kClAIA1AELQeEAIRAM2AILAkAgASIUIAJGDQADQAJAIBQtAABB8MqAgABqLQAAIgFBA0YNAAJAIAFBf2oOAssCANUBCyAUIQFB3wAhEAzaAgsgFEEBaiIUIAJHDQALQfMAIRAM8QILQfMAIRAM8AILAkAgASIBIAJGDQAgAEGPgICAADYCCCAAIAE2AgQgASEBQeAAIRAM1wILQfUAIRAM7wILAkAgASIBIAJHDQBB9gAhEAzvAgsgAEGPgICAADYCCCAAIAE2AgQgASEBC0EDIRAM1AILA0AgAS0AAEEgRw3DAiABQQFqIgEgAkcNAAtB9wAhEAzsAgsCQCABIgEgAkcNAEH4ACEQDOwCCyABLQAAQSBHDc4BIAFBAWohAQzvAQsgACABIgEgAhCsgICAACIQDc4BIAEhAQyOAgsCQCABIgQgAkcNAEH6ACEQDOoCCyAELQAAQcwARw3RASAEQQFqIQFBEyEQDM8BCwJAIAEiBCACRw0AQfsAIRAM6QILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEANAIAQtAAAgAUHwzoCAAGotAABHDdABIAFBBUYNzgEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBB+wAhEAzoAgsCQCABIgQgAkcNAEH8ACEQDOgCCwJAAkAgBC0AAEG9f2oODADRAdEB0QHRAdEB0QHRAdEB0QHRAQHRAQsgBEEBaiEBQeYAIRAMzwILIARBAWohAUHnACEQDM4CCwJAIAEiBCACRw0AQf0AIRAM5wILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQe3PgIAAai0AAEcNzwEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQf0AIRAM5wILIABBADYCACAQQQFqIQFBECEQDMwBCwJAIAEiBCACRw0AQf4AIRAM5gILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEAJAA0AgBC0AACABQfbOgIAAai0AAEcNzgEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQf4AIRAM5gILIABBADYCACAQQQFqIQFBFiEQDMsBCwJAIAEiBCACRw0AQf8AIRAM5QILIAIgBGsgACgCACIBaiEUIAQgAWtBA2ohEAJAA0AgBC0AACABQfzOgIAAai0AAEcNzQEgAUEDRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQf8AIRAM5QILIABBADYCACAQQQFqIQFBBSEQDMoBCwJAIAEiBCACRw0AQYABIRAM5AILIAQtAABB2QBHDcsBIARBAWohAUEIIRAMyQELAkAgASIEIAJHDQBBgQEhEAzjAgsCQAJAIAQtAABBsn9qDgMAzAEBzAELIARBAWohAUHrACEQDMoCCyAEQQFqIQFB7AAhEAzJAgsCQCABIgQgAkcNAEGCASEQDOICCwJAAkAgBC0AAEG4f2oOCADLAcsBywHLAcsBywEBywELIARBAWohAUHqACEQDMkCCyAEQQFqIQFB7QAhEAzIAgsCQCABIgQgAkcNAEGDASEQDOECCyACIARrIAAoAgAiAWohECAEIAFrQQJqIRQCQANAIAQtAAAgAUGAz4CAAGotAABHDckBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgEDYCAEGDASEQDOECC0EAIRAgAEEANgIAIBRBAWohAQzGAQsCQCABIgQgAkcNAEGEASEQDOACCyACIARrIAAoAgAiAWohFCAEIAFrQQRqIRACQANAIAQtAAAgAUGDz4CAAGotAABHDcgBIAFBBEYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGEASEQDOACCyAAQQA2AgAgEEEBaiEBQSMhEAzFAQsCQCABIgQgAkcNAEGFASEQDN8CCwJAAkAgBC0AAEG0f2oOCADIAcgByAHIAcgByAEByAELIARBAWohAUHvACEQDMYCCyAEQQFqIQFB8AAhEAzFAgsCQCABIgQgAkcNAEGGASEQDN4CCyAELQAAQcUARw3FASAEQQFqIQEMgwILAkAgASIEIAJHDQBBhwEhEAzdAgsgAiAEayAAKAIAIgFqIRQgBCABa0EDaiEQAkADQCAELQAAIAFBiM+AgABqLQAARw3FASABQQNGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBhwEhEAzdAgsgAEEANgIAIBBBAWohAUEtIRAMwgELAkAgASIEIAJHDQBBiAEhEAzcAgsgAiAEayAAKAIAIgFqIRQgBCABa0EIaiEQAkADQCAELQAAIAFB0M+AgABqLQAARw3EASABQQhGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBiAEhEAzcAgsgAEEANgIAIBBBAWohAUEpIRAMwQELAkAgASIBIAJHDQBBiQEhEAzbAgtBASEQIAEtAABB3wBHDcABIAFBAWohAQyBAgsCQCABIgQgAkcNAEGKASEQDNoCCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRADQCAELQAAIAFBjM+AgABqLQAARw3BASABQQFGDa8CIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYoBIRAM2QILAkAgASIEIAJHDQBBiwEhEAzZAgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFBjs+AgABqLQAARw3BASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBiwEhEAzZAgsgAEEANgIAIBBBAWohAUECIRAMvgELAkAgASIEIAJHDQBBjAEhEAzYAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFB8M+AgABqLQAARw3AASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBjAEhEAzYAgsgAEEANgIAIBBBAWohAUEfIRAMvQELAkAgASIEIAJHDQBBjQEhEAzXAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFB8s+AgABqLQAARw2/ASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBjQEhEAzXAgsgAEEANgIAIBBBAWohAUEJIRAMvAELAkAgASIEIAJHDQBBjgEhEAzWAgsCQAJAIAQtAABBt39qDgcAvwG/Ab8BvwG/AQG/AQsgBEEBaiEBQfgAIRAMvQILIARBAWohAUH5ACEQDLwCCwJAIAEiBCACRw0AQY8BIRAM1QILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEAJAA0AgBC0AACABQZHPgIAAai0AAEcNvQEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQY8BIRAM1QILIABBADYCACAQQQFqIQFBGCEQDLoBCwJAIAEiBCACRw0AQZABIRAM1AILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQZfPgIAAai0AAEcNvAEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZABIRAM1AILIABBADYCACAQQQFqIQFBFyEQDLkBCwJAIAEiBCACRw0AQZEBIRAM0wILIAIgBGsgACgCACIBaiEUIAQgAWtBBmohEAJAA0AgBC0AACABQZrPgIAAai0AAEcNuwEgAUEGRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZEBIRAM0wILIABBADYCACAQQQFqIQFBFSEQDLgBCwJAIAEiBCACRw0AQZIBIRAM0gILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEAJAA0AgBC0AACABQaHPgIAAai0AAEcNugEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZIBIRAM0gILIABBADYCACAQQQFqIQFBHiEQDLcBCwJAIAEiBCACRw0AQZMBIRAM0QILIAQtAABBzABHDbgBIARBAWohAUEKIRAMtgELAkAgBCACRw0AQZQBIRAM0AILAkACQCAELQAAQb9/ag4PALkBuQG5AbkBuQG5AbkBuQG5AbkBuQG5AbkBAbkBCyAEQQFqIQFB/gAhEAy3AgsgBEEBaiEBQf8AIRAMtgILAkAgBCACRw0AQZUBIRAMzwILAkACQCAELQAAQb9/ag4DALgBAbgBCyAEQQFqIQFB/QAhEAy2AgsgBEEBaiEEQYABIRAMtQILAkAgBCACRw0AQZYBIRAMzgILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQafPgIAAai0AAEcNtgEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZYBIRAMzgILIABBADYCACAQQQFqIQFBCyEQDLMBCwJAIAQgAkcNAEGXASEQDM0CCwJAAkACQAJAIAQtAABBU2oOIwC4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBAbgBuAG4AbgBuAECuAG4AbgBA7gBCyAEQQFqIQFB+wAhEAy2AgsgBEEBaiEBQfwAIRAMtQILIARBAWohBEGBASEQDLQCCyAEQQFqIQRBggEhEAyzAgsCQCAEIAJHDQBBmAEhEAzMAgsgAiAEayAAKAIAIgFqIRQgBCABa0EEaiEQAkADQCAELQAAIAFBqc+AgABqLQAARw20ASABQQRGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBmAEhEAzMAgsgAEEANgIAIBBBAWohAUEZIRAMsQELAkAgBCACRw0AQZkBIRAMywILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEAJAA0AgBC0AACABQa7PgIAAai0AAEcNswEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZkBIRAMywILIABBADYCACAQQQFqIQFBBiEQDLABCwJAIAQgAkcNAEGaASEQDMoCCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUG0z4CAAGotAABHDbIBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGaASEQDMoCCyAAQQA2AgAgEEEBaiEBQRwhEAyvAQsCQCAEIAJHDQBBmwEhEAzJAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFBts+AgABqLQAARw2xASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBmwEhEAzJAgsgAEEANgIAIBBBAWohAUEnIRAMrgELAkAgBCACRw0AQZwBIRAMyAILAkACQCAELQAAQax/ag4CAAGxAQsgBEEBaiEEQYYBIRAMrwILIARBAWohBEGHASEQDK4CCwJAIAQgAkcNAEGdASEQDMcCCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUG4z4CAAGotAABHDa8BIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGdASEQDMcCCyAAQQA2AgAgEEEBaiEBQSYhEAysAQsCQCAEIAJHDQBBngEhEAzGAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFBus+AgABqLQAARw2uASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBngEhEAzGAgsgAEEANgIAIBBBAWohAUEDIRAMqwELAkAgBCACRw0AQZ8BIRAMxQILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQe3PgIAAai0AAEcNrQEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZ8BIRAMxQILIABBADYCACAQQQFqIQFBDCEQDKoBCwJAIAQgAkcNAEGgASEQDMQCCyACIARrIAAoAgAiAWohFCAEIAFrQQNqIRACQANAIAQtAAAgAUG8z4CAAGotAABHDawBIAFBA0YNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGgASEQDMQCCyAAQQA2AgAgEEEBaiEBQQ0hEAypAQsCQCAEIAJHDQBBoQEhEAzDAgsCQAJAIAQtAABBun9qDgsArAGsAawBrAGsAawBrAGsAawBAawBCyAEQQFqIQRBiwEhEAyqAgsgBEEBaiEEQYwBIRAMqQILAkAgBCACRw0AQaIBIRAMwgILIAQtAABB0ABHDakBIARBAWohBAzpAQsCQCAEIAJHDQBBowEhEAzBAgsCQAJAIAQtAABBt39qDgcBqgGqAaoBqgGqAQCqAQsgBEEBaiEEQY4BIRAMqAILIARBAWohAUEiIRAMpgELAkAgBCACRw0AQaQBIRAMwAILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQcDPgIAAai0AAEcNqAEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQaQBIRAMwAILIABBADYCACAQQQFqIQFBHSEQDKUBCwJAIAQgAkcNAEGlASEQDL8CCwJAAkAgBC0AAEGuf2oOAwCoAQGoAQsgBEEBaiEEQZABIRAMpgILIARBAWohAUEEIRAMpAELAkAgBCACRw0AQaYBIRAMvgILAkACQAJAAkACQCAELQAAQb9/ag4VAKoBqgGqAaoBqgGqAaoBqgGqAaoBAaoBqgECqgGqAQOqAaoBBKoBCyAEQQFqIQRBiAEhEAyoAgsgBEEBaiEEQYkBIRAMpwILIARBAWohBEGKASEQDKYCCyAEQQFqIQRBjwEhEAylAgsgBEEBaiEEQZEBIRAMpAILAkAgBCACRw0AQacBIRAMvQILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQe3PgIAAai0AAEcNpQEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQacBIRAMvQILIABBADYCACAQQQFqIQFBESEQDKIBCwJAIAQgAkcNAEGoASEQDLwCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHCz4CAAGotAABHDaQBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGoASEQDLwCCyAAQQA2AgAgEEEBaiEBQSwhEAyhAQsCQCAEIAJHDQBBqQEhEAy7AgsgAiAEayAAKAIAIgFqIRQgBCABa0EEaiEQAkADQCAELQAAIAFBxc+AgABqLQAARw2jASABQQRGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBqQEhEAy7AgsgAEEANgIAIBBBAWohAUErIRAMoAELAkAgBCACRw0AQaoBIRAMugILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQcrPgIAAai0AAEcNogEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQaoBIRAMugILIABBADYCACAQQQFqIQFBFCEQDJ8BCwJAIAQgAkcNAEGrASEQDLkCCwJAAkACQAJAIAQtAABBvn9qDg8AAQKkAaQBpAGkAaQBpAGkAaQBpAGkAaQBA6QBCyAEQQFqIQRBkwEhEAyiAgsgBEEBaiEEQZQBIRAMoQILIARBAWohBEGVASEQDKACCyAEQQFqIQRBlgEhEAyfAgsCQCAEIAJHDQBBrAEhEAy4AgsgBC0AAEHFAEcNnwEgBEEBaiEEDOABCwJAIAQgAkcNAEGtASEQDLcCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHNz4CAAGotAABHDZ8BIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGtASEQDLcCCyAAQQA2AgAgEEEBaiEBQQ4hEAycAQsCQCAEIAJHDQBBrgEhEAy2AgsgBC0AAEHQAEcNnQEgBEEBaiEBQSUhEAybAQsCQCAEIAJHDQBBrwEhEAy1AgsgAiAEayAAKAIAIgFqIRQgBCABa0EIaiEQAkADQCAELQAAIAFB0M+AgABqLQAARw2dASABQQhGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBrwEhEAy1AgsgAEEANgIAIBBBAWohAUEqIRAMmgELAkAgBCACRw0AQbABIRAMtAILAkACQCAELQAAQat/ag4LAJ0BnQGdAZ0BnQGdAZ0BnQGdAQGdAQsgBEEBaiEEQZoBIRAMmwILIARBAWohBEGbASEQDJoCCwJAIAQgAkcNAEGxASEQDLMCCwJAAkAgBC0AAEG/f2oOFACcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAEBnAELIARBAWohBEGZASEQDJoCCyAEQQFqIQRBnAEhEAyZAgsCQCAEIAJHDQBBsgEhEAyyAgsgAiAEayAAKAIAIgFqIRQgBCABa0EDaiEQAkADQCAELQAAIAFB2c+AgABqLQAARw2aASABQQNGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBsgEhEAyyAgsgAEEANgIAIBBBAWohAUEhIRAMlwELAkAgBCACRw0AQbMBIRAMsQILIAIgBGsgACgCACIBaiEUIAQgAWtBBmohEAJAA0AgBC0AACABQd3PgIAAai0AAEcNmQEgAUEGRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbMBIRAMsQILIABBADYCACAQQQFqIQFBGiEQDJYBCwJAIAQgAkcNAEG0ASEQDLACCwJAAkACQCAELQAAQbt/ag4RAJoBmgGaAZoBmgGaAZoBmgGaAQGaAZoBmgGaAZoBApoBCyAEQQFqIQRBnQEhEAyYAgsgBEEBaiEEQZ4BIRAMlwILIARBAWohBEGfASEQDJYCCwJAIAQgAkcNAEG1ASEQDK8CCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUHkz4CAAGotAABHDZcBIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEG1ASEQDK8CCyAAQQA2AgAgEEEBaiEBQSghEAyUAQsCQCAEIAJHDQBBtgEhEAyuAgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFB6s+AgABqLQAARw2WASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBtgEhEAyuAgsgAEEANgIAIBBBAWohAUEHIRAMkwELAkAgBCACRw0AQbcBIRAMrQILAkACQCAELQAAQbt/ag4OAJYBlgGWAZYBlgGWAZYBlgGWAZYBlgGWAQGWAQsgBEEBaiEEQaEBIRAMlAILIARBAWohBEGiASEQDJMCCwJAIAQgAkcNAEG4ASEQDKwCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDZQBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEG4ASEQDKwCCyAAQQA2AgAgEEEBaiEBQRIhEAyRAQsCQCAEIAJHDQBBuQEhEAyrAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFB8M+AgABqLQAARw2TASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBuQEhEAyrAgsgAEEANgIAIBBBAWohAUEgIRAMkAELAkAgBCACRw0AQboBIRAMqgILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfLPgIAAai0AAEcNkgEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQboBIRAMqgILIABBADYCACAQQQFqIQFBDyEQDI8BCwJAIAQgAkcNAEG7ASEQDKkCCwJAAkAgBC0AAEG3f2oOBwCSAZIBkgGSAZIBAZIBCyAEQQFqIQRBpQEhEAyQAgsgBEEBaiEEQaYBIRAMjwILAkAgBCACRw0AQbwBIRAMqAILIAIgBGsgACgCACIBaiEUIAQgAWtBB2ohEAJAA0AgBC0AACABQfTPgIAAai0AAEcNkAEgAUEHRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbwBIRAMqAILIABBADYCACAQQQFqIQFBGyEQDI0BCwJAIAQgAkcNAEG9ASEQDKcCCwJAAkACQCAELQAAQb5/ag4SAJEBkQGRAZEBkQGRAZEBkQGRAQGRAZEBkQGRAZEBkQECkQELIARBAWohBEGkASEQDI8CCyAEQQFqIQRBpwEhEAyOAgsgBEEBaiEEQagBIRAMjQILAkAgBCACRw0AQb4BIRAMpgILIAQtAABBzgBHDY0BIARBAWohBAzPAQsCQCAEIAJHDQBBvwEhEAylAgsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAELQAAQb9/ag4VAAECA5wBBAUGnAGcAZwBBwgJCgucAQwNDg+cAQsgBEEBaiEBQegAIRAMmgILIARBAWohAUHpACEQDJkCCyAEQQFqIQFB7gAhEAyYAgsgBEEBaiEBQfIAIRAMlwILIARBAWohAUHzACEQDJYCCyAEQQFqIQFB9gAhEAyVAgsgBEEBaiEBQfcAIRAMlAILIARBAWohAUH6ACEQDJMCCyAEQQFqIQRBgwEhEAySAgsgBEEBaiEEQYQBIRAMkQILIARBAWohBEGFASEQDJACCyAEQQFqIQRBkgEhEAyPAgsgBEEBaiEEQZgBIRAMjgILIARBAWohBEGgASEQDI0CCyAEQQFqIQRBowEhEAyMAgsgBEEBaiEEQaoBIRAMiwILAkAgBCACRg0AIABBkICAgAA2AgggACAENgIEQasBIRAMiwILQcABIRAMowILIAAgBSACEKqAgIAAIgENiwEgBSEBDFwLAkAgBiACRg0AIAZBAWohBQyNAQtBwgEhEAyhAgsDQAJAIBAtAABBdmoOBIwBAACPAQALIBBBAWoiECACRw0AC0HDASEQDKACCwJAIAcgAkYNACAAQZGAgIAANgIIIAAgBzYCBCAHIQFBASEQDIcCC0HEASEQDJ8CCwJAIAcgAkcNAEHFASEQDJ8CCwJAAkAgBy0AAEF2ag4EAc4BzgEAzgELIAdBAWohBgyNAQsgB0EBaiEFDIkBCwJAIAcgAkcNAEHGASEQDJ4CCwJAAkAgBy0AAEF2ag4XAY8BjwEBjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BAI8BCyAHQQFqIQcLQbABIRAMhAILAkAgCCACRw0AQcgBIRAMnQILIAgtAABBIEcNjQEgAEEAOwEyIAhBAWohAUGzASEQDIMCCyABIRcCQANAIBciByACRg0BIActAABBUGpB/wFxIhBBCk8NzAECQCAALwEyIhRBmTNLDQAgACAUQQpsIhQ7ATIgEEH//wNzIBRB/v8DcUkNACAHQQFqIRcgACAUIBBqIhA7ATIgEEH//wNxQegHSQ0BCwtBACEQIABBADYCHCAAQcGJgIAANgIQIABBDTYCDCAAIAdBAWo2AhQMnAILQccBIRAMmwILIAAgCCACEK6AgIAAIhBFDcoBIBBBFUcNjAEgAEHIATYCHCAAIAg2AhQgAEHJl4CAADYCECAAQRU2AgxBACEQDJoCCwJAIAkgAkcNAEHMASEQDJoCC0EAIRRBASEXQQEhFkEAIRACQAJAAkACQAJAAkACQAJAAkAgCS0AAEFQag4KlgGVAQABAgMEBQYIlwELQQIhEAwGC0EDIRAMBQtBBCEQDAQLQQUhEAwDC0EGIRAMAgtBByEQDAELQQghEAtBACEXQQAhFkEAIRQMjgELQQkhEEEBIRRBACEXQQAhFgyNAQsCQCAKIAJHDQBBzgEhEAyZAgsgCi0AAEEuRw2OASAKQQFqIQkMygELIAsgAkcNjgFB0AEhEAyXAgsCQCALIAJGDQAgAEGOgICAADYCCCAAIAs2AgRBtwEhEAz+AQtB0QEhEAyWAgsCQCAEIAJHDQBB0gEhEAyWAgsgAiAEayAAKAIAIhBqIRQgBCAQa0EEaiELA0AgBC0AACAQQfzPgIAAai0AAEcNjgEgEEEERg3pASAQQQFqIRAgBEEBaiIEIAJHDQALIAAgFDYCAEHSASEQDJUCCyAAIAwgAhCsgICAACIBDY0BIAwhAQy4AQsCQCAEIAJHDQBB1AEhEAyUAgsgAiAEayAAKAIAIhBqIRQgBCAQa0EBaiEMA0AgBC0AACAQQYHQgIAAai0AAEcNjwEgEEEBRg2OASAQQQFqIRAgBEEBaiIEIAJHDQALIAAgFDYCAEHUASEQDJMCCwJAIAQgAkcNAEHWASEQDJMCCyACIARrIAAoAgAiEGohFCAEIBBrQQJqIQsDQCAELQAAIBBBg9CAgABqLQAARw2OASAQQQJGDZABIBBBAWohECAEQQFqIgQgAkcNAAsgACAUNgIAQdYBIRAMkgILAkAgBCACRw0AQdcBIRAMkgILAkACQCAELQAAQbt/ag4QAI8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwEBjwELIARBAWohBEG7ASEQDPkBCyAEQQFqIQRBvAEhEAz4AQsCQCAEIAJHDQBB2AEhEAyRAgsgBC0AAEHIAEcNjAEgBEEBaiEEDMQBCwJAIAQgAkYNACAAQZCAgIAANgIIIAAgBDYCBEG+ASEQDPcBC0HZASEQDI8CCwJAIAQgAkcNAEHaASEQDI8CCyAELQAAQcgARg3DASAAQQE6ACgMuQELIABBAjoALyAAIAQgAhCmgICAACIQDY0BQcIBIRAM9AELIAAtAChBf2oOArcBuQG4AQsDQAJAIAQtAABBdmoOBACOAY4BAI4BCyAEQQFqIgQgAkcNAAtB3QEhEAyLAgsgAEEAOgAvIAAtAC1BBHFFDYQCCyAAQQA6AC8gAEEBOgA0IAEhAQyMAQsgEEEVRg3aASAAQQA2AhwgACABNgIUIABBp46AgAA2AhAgAEESNgIMQQAhEAyIAgsCQCAAIBAgAhC0gICAACIEDQAgECEBDIECCwJAIARBFUcNACAAQQM2AhwgACAQNgIUIABBsJiAgAA2AhAgAEEVNgIMQQAhEAyIAgsgAEEANgIcIAAgEDYCFCAAQaeOgIAANgIQIABBEjYCDEEAIRAMhwILIBBBFUYN1gEgAEEANgIcIAAgATYCFCAAQdqNgIAANgIQIABBFDYCDEEAIRAMhgILIAAoAgQhFyAAQQA2AgQgECARp2oiFiEBIAAgFyAQIBYgFBsiEBC1gICAACIURQ2NASAAQQc2AhwgACAQNgIUIAAgFDYCDEEAIRAMhQILIAAgAC8BMEGAAXI7ATAgASEBC0EqIRAM6gELIBBBFUYN0QEgAEEANgIcIAAgATYCFCAAQYOMgIAANgIQIABBEzYCDEEAIRAMggILIBBBFUYNzwEgAEEANgIcIAAgATYCFCAAQZqPgIAANgIQIABBIjYCDEEAIRAMgQILIAAoAgQhECAAQQA2AgQCQCAAIBAgARC3gICAACIQDQAgAUEBaiEBDI0BCyAAQQw2AhwgACAQNgIMIAAgAUEBajYCFEEAIRAMgAILIBBBFUYNzAEgAEEANgIcIAAgATYCFCAAQZqPgIAANgIQIABBIjYCDEEAIRAM/wELIAAoAgQhECAAQQA2AgQCQCAAIBAgARC3gICAACIQDQAgAUEBaiEBDIwBCyAAQQ02AhwgACAQNgIMIAAgAUEBajYCFEEAIRAM/gELIBBBFUYNyQEgAEEANgIcIAAgATYCFCAAQcaMgIAANgIQIABBIzYCDEEAIRAM/QELIAAoAgQhECAAQQA2AgQCQCAAIBAgARC5gICAACIQDQAgAUEBaiEBDIsBCyAAQQ42AhwgACAQNgIMIAAgAUEBajYCFEEAIRAM/AELIABBADYCHCAAIAE2AhQgAEHAlYCAADYCECAAQQI2AgxBACEQDPsBCyAQQRVGDcUBIABBADYCHCAAIAE2AhQgAEHGjICAADYCECAAQSM2AgxBACEQDPoBCyAAQRA2AhwgACABNgIUIAAgEDYCDEEAIRAM+QELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARC5gICAACIEDQAgAUEBaiEBDPEBCyAAQRE2AhwgACAENgIMIAAgAUEBajYCFEEAIRAM+AELIBBBFUYNwQEgAEEANgIcIAAgATYCFCAAQcaMgIAANgIQIABBIzYCDEEAIRAM9wELIAAoAgQhECAAQQA2AgQCQCAAIBAgARC5gICAACIQDQAgAUEBaiEBDIgBCyAAQRM2AhwgACAQNgIMIAAgAUEBajYCFEEAIRAM9gELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARC5gICAACIEDQAgAUEBaiEBDO0BCyAAQRQ2AhwgACAENgIMIAAgAUEBajYCFEEAIRAM9QELIBBBFUYNvQEgAEEANgIcIAAgATYCFCAAQZqPgIAANgIQIABBIjYCDEEAIRAM9AELIAAoAgQhECAAQQA2AgQCQCAAIBAgARC3gICAACIQDQAgAUEBaiEBDIYBCyAAQRY2AhwgACAQNgIMIAAgAUEBajYCFEEAIRAM8wELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARC3gICAACIEDQAgAUEBaiEBDOkBCyAAQRc2AhwgACAENgIMIAAgAUEBajYCFEEAIRAM8gELIABBADYCHCAAIAE2AhQgAEHNk4CAADYCECAAQQw2AgxBACEQDPEBC0IBIRELIBBBAWohAQJAIAApAyAiEkL//////////w9WDQAgACASQgSGIBGENwMgIAEhAQyEAQsgAEEANgIcIAAgATYCFCAAQa2JgIAANgIQIABBDDYCDEEAIRAM7wELIABBADYCHCAAIBA2AhQgAEHNk4CAADYCECAAQQw2AgxBACEQDO4BCyAAKAIEIRcgAEEANgIEIBAgEadqIhYhASAAIBcgECAWIBQbIhAQtYCAgAAiFEUNcyAAQQU2AhwgACAQNgIUIAAgFDYCDEEAIRAM7QELIABBADYCHCAAIBA2AhQgAEGqnICAADYCECAAQQ82AgxBACEQDOwBCyAAIBAgAhC0gICAACIBDQEgECEBC0EOIRAM0QELAkAgAUEVRw0AIABBAjYCHCAAIBA2AhQgAEGwmICAADYCECAAQRU2AgxBACEQDOoBCyAAQQA2AhwgACAQNgIUIABBp46AgAA2AhAgAEESNgIMQQAhEAzpAQsgAUEBaiEQAkAgAC8BMCIBQYABcUUNAAJAIAAgECACELuAgIAAIgENACAQIQEMcAsgAUEVRw26ASAAQQU2AhwgACAQNgIUIABB+ZeAgAA2AhAgAEEVNgIMQQAhEAzpAQsCQCABQaAEcUGgBEcNACAALQAtQQJxDQAgAEEANgIcIAAgEDYCFCAAQZaTgIAANgIQIABBBDYCDEEAIRAM6QELIAAgECACEL2AgIAAGiAQIQECQAJAAkACQAJAIAAgECACELOAgIAADhYCAQAEBAQEBAQEBAQEBAQEBAQEBAQDBAsgAEEBOgAuCyAAIAAvATBBwAByOwEwIBAhAQtBJiEQDNEBCyAAQSM2AhwgACAQNgIUIABBpZaAgAA2AhAgAEEVNgIMQQAhEAzpAQsgAEEANgIcIAAgEDYCFCAAQdWLgIAANgIQIABBETYCDEEAIRAM6AELIAAtAC1BAXFFDQFBwwEhEAzOAQsCQCANIAJGDQADQAJAIA0tAABBIEYNACANIQEMxAELIA1BAWoiDSACRw0AC0ElIRAM5wELQSUhEAzmAQsgACgCBCEEIABBADYCBCAAIAQgDRCvgICAACIERQ2tASAAQSY2AhwgACAENgIMIAAgDUEBajYCFEEAIRAM5QELIBBBFUYNqwEgAEEANgIcIAAgATYCFCAAQf2NgIAANgIQIABBHTYCDEEAIRAM5AELIABBJzYCHCAAIAE2AhQgACAQNgIMQQAhEAzjAQsgECEBQQEhFAJAAkACQAJAAkACQAJAIAAtACxBfmoOBwYFBQMBAgAFCyAAIAAvATBBCHI7ATAMAwtBAiEUDAELQQQhFAsgAEEBOgAsIAAgAC8BMCAUcjsBMAsgECEBC0ErIRAMygELIABBADYCHCAAIBA2AhQgAEGrkoCAADYCECAAQQs2AgxBACEQDOIBCyAAQQA2AhwgACABNgIUIABB4Y+AgAA2AhAgAEEKNgIMQQAhEAzhAQsgAEEAOgAsIBAhAQy9AQsgECEBQQEhFAJAAkACQAJAAkAgAC0ALEF7ag4EAwECAAULIAAgAC8BMEEIcjsBMAwDC0ECIRQMAQtBBCEUCyAAQQE6ACwgACAALwEwIBRyOwEwCyAQIQELQSkhEAzFAQsgAEEANgIcIAAgATYCFCAAQfCUgIAANgIQIABBAzYCDEEAIRAM3QELAkAgDi0AAEENRw0AIAAoAgQhASAAQQA2AgQCQCAAIAEgDhCxgICAACIBDQAgDkEBaiEBDHULIABBLDYCHCAAIAE2AgwgACAOQQFqNgIUQQAhEAzdAQsgAC0ALUEBcUUNAUHEASEQDMMBCwJAIA4gAkcNAEEtIRAM3AELAkACQANAAkAgDi0AAEF2ag4EAgAAAwALIA5BAWoiDiACRw0AC0EtIRAM3QELIAAoAgQhASAAQQA2AgQCQCAAIAEgDhCxgICAACIBDQAgDiEBDHQLIABBLDYCHCAAIA42AhQgACABNgIMQQAhEAzcAQsgACgCBCEBIABBADYCBAJAIAAgASAOELGAgIAAIgENACAOQQFqIQEMcwsgAEEsNgIcIAAgATYCDCAAIA5BAWo2AhRBACEQDNsBCyAAKAIEIQQgAEEANgIEIAAgBCAOELGAgIAAIgQNoAEgDiEBDM4BCyAQQSxHDQEgAUEBaiEQQQEhAQJAAkACQAJAAkAgAC0ALEF7ag4EAwECBAALIBAhAQwEC0ECIQEMAQtBBCEBCyAAQQE6ACwgACAALwEwIAFyOwEwIBAhAQwBCyAAIAAvATBBCHI7ATAgECEBC0E5IRAMvwELIABBADoALCABIQELQTQhEAy9AQsgACAALwEwQSByOwEwIAEhAQwCCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQsYCAgAAiBA0AIAEhAQzHAQsgAEE3NgIcIAAgATYCFCAAIAQ2AgxBACEQDNQBCyAAQQg6ACwgASEBC0EwIRAMuQELAkAgAC0AKEEBRg0AIAEhAQwECyAALQAtQQhxRQ2TASABIQEMAwsgAC0AMEEgcQ2UAUHFASEQDLcBCwJAIA8gAkYNAAJAA0ACQCAPLQAAQVBqIgFB/wFxQQpJDQAgDyEBQTUhEAy6AQsgACkDICIRQpmz5syZs+bMGVYNASAAIBFCCn4iETcDICARIAGtQv8BgyISQn+FVg0BIAAgESASfDcDICAPQQFqIg8gAkcNAAtBOSEQDNEBCyAAKAIEIQIgAEEANgIEIAAgAiAPQQFqIgQQsYCAgAAiAg2VASAEIQEMwwELQTkhEAzPAQsCQCAALwEwIgFBCHFFDQAgAC0AKEEBRw0AIAAtAC1BCHFFDZABCyAAIAFB9/sDcUGABHI7ATAgDyEBC0E3IRAMtAELIAAgAC8BMEEQcjsBMAyrAQsgEEEVRg2LASAAQQA2AhwgACABNgIUIABB8I6AgAA2AhAgAEEcNgIMQQAhEAzLAQsgAEHDADYCHCAAIAE2AgwgACANQQFqNgIUQQAhEAzKAQsCQCABLQAAQTpHDQAgACgCBCEQIABBADYCBAJAIAAgECABEK+AgIAAIhANACABQQFqIQEMYwsgAEHDADYCHCAAIBA2AgwgACABQQFqNgIUQQAhEAzKAQsgAEEANgIcIAAgATYCFCAAQbGRgIAANgIQIABBCjYCDEEAIRAMyQELIABBADYCHCAAIAE2AhQgAEGgmYCAADYCECAAQR42AgxBACEQDMgBCyAAQQA2AgALIABBgBI7ASogACAXQQFqIgEgAhCogICAACIQDQEgASEBC0HHACEQDKwBCyAQQRVHDYMBIABB0QA2AhwgACABNgIUIABB45eAgAA2AhAgAEEVNgIMQQAhEAzEAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMXgsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAzDAQsgAEEANgIcIAAgFDYCFCAAQcGogIAANgIQIABBBzYCDCAAQQA2AgBBACEQDMIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxdCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDMEBC0EAIRAgAEEANgIcIAAgATYCFCAAQYCRgIAANgIQIABBCTYCDAzAAQsgEEEVRg19IABBADYCHCAAIAE2AhQgAEGUjYCAADYCECAAQSE2AgxBACEQDL8BC0EBIRZBACEXQQAhFEEBIRALIAAgEDoAKyABQQFqIQECQAJAIAAtAC1BEHENAAJAAkACQCAALQAqDgMBAAIECyAWRQ0DDAILIBQNAQwCCyAXRQ0BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQrYCAgAAiEA0AIAEhAQxcCyAAQdgANgIcIAAgATYCFCAAIBA2AgxBACEQDL4BCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQrYCAgAAiBA0AIAEhAQytAQsgAEHZADYCHCAAIAE2AhQgACAENgIMQQAhEAy9AQsgACgCBCEEIABBADYCBAJAIAAgBCABEK2AgIAAIgQNACABIQEMqwELIABB2gA2AhwgACABNgIUIAAgBDYCDEEAIRAMvAELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCtgICAACIEDQAgASEBDKkBCyAAQdwANgIcIAAgATYCFCAAIAQ2AgxBACEQDLsBCwJAIAEtAABBUGoiEEH/AXFBCk8NACAAIBA6ACogAUEBaiEBQc8AIRAMogELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCtgICAACIEDQAgASEBDKcBCyAAQd4ANgIcIAAgATYCFCAAIAQ2AgxBACEQDLoBCyAAQQA2AgAgF0EBaiEBAkAgAC0AKUEjTw0AIAEhAQxZCyAAQQA2AhwgACABNgIUIABB04mAgAA2AhAgAEEINgIMQQAhEAy5AQsgAEEANgIAC0EAIRAgAEEANgIcIAAgATYCFCAAQZCzgIAANgIQIABBCDYCDAy3AQsgAEEANgIAIBdBAWohAQJAIAAtAClBIUcNACABIQEMVgsgAEEANgIcIAAgATYCFCAAQZuKgIAANgIQIABBCDYCDEEAIRAMtgELIABBADYCACAXQQFqIQECQCAALQApIhBBXWpBC08NACABIQEMVQsCQCAQQQZLDQBBASAQdEHKAHFFDQAgASEBDFULQQAhECAAQQA2AhwgACABNgIUIABB94mAgAA2AhAgAEEINgIMDLUBCyAQQRVGDXEgAEEANgIcIAAgATYCFCAAQbmNgIAANgIQIABBGjYCDEEAIRAMtAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDFQLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMswELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDE0LIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMsgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDE0LIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMsQELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDFELIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMsAELIABBADYCHCAAIAE2AhQgAEHGioCAADYCECAAQQc2AgxBACEQDK8BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxJCyAAQdIANgIcIAAgATYCFCAAIBA2AgxBACEQDK4BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxJCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDK0BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDKwBCyAAQQA2AhwgACABNgIUIABB3IiAgAA2AhAgAEEHNgIMQQAhEAyrAQsgEEE/Rw0BIAFBAWohAQtBBSEQDJABC0EAIRAgAEEANgIcIAAgATYCFCAAQf2SgIAANgIQIABBBzYCDAyoAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMQgsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAynAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMQgsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAymAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMRgsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAylAQsgACgCBCEBIABBADYCBAJAIAAgASAUEKeAgIAAIgENACAUIQEMPwsgAEHSADYCHCAAIBQ2AhQgACABNgIMQQAhEAykAQsgACgCBCEBIABBADYCBAJAIAAgASAUEKeAgIAAIgENACAUIQEMPwsgAEHTADYCHCAAIBQ2AhQgACABNgIMQQAhEAyjAQsgACgCBCEBIABBADYCBAJAIAAgASAUEKeAgIAAIgENACAUIQEMQwsgAEHlADYCHCAAIBQ2AhQgACABNgIMQQAhEAyiAQsgAEEANgIcIAAgFDYCFCAAQcOPgIAANgIQIABBBzYCDEEAIRAMoQELIABBADYCHCAAIAE2AhQgAEHDj4CAADYCECAAQQc2AgxBACEQDKABC0EAIRAgAEEANgIcIAAgFDYCFCAAQYycgIAANgIQIABBBzYCDAyfAQsgAEEANgIcIAAgFDYCFCAAQYycgIAANgIQIABBBzYCDEEAIRAMngELIABBADYCHCAAIBQ2AhQgAEH+kYCAADYCECAAQQc2AgxBACEQDJ0BCyAAQQA2AhwgACABNgIUIABBjpuAgAA2AhAgAEEGNgIMQQAhEAycAQsgEEEVRg1XIABBADYCHCAAIAE2AhQgAEHMjoCAADYCECAAQSA2AgxBACEQDJsBCyAAQQA2AgAgEEEBaiEBQSQhEAsgACAQOgApIAAoAgQhECAAQQA2AgQgACAQIAEQq4CAgAAiEA1UIAEhAQw+CyAAQQA2AgALQQAhECAAQQA2AhwgACAENgIUIABB8ZuAgAA2AhAgAEEGNgIMDJcBCyABQRVGDVAgAEEANgIcIAAgBTYCFCAAQfCMgIAANgIQIABBGzYCDEEAIRAMlgELIAAoAgQhBSAAQQA2AgQgACAFIBAQqYCAgAAiBQ0BIBBBAWohBQtBrQEhEAx7CyAAQcEBNgIcIAAgBTYCDCAAIBBBAWo2AhRBACEQDJMBCyAAKAIEIQYgAEEANgIEIAAgBiAQEKmAgIAAIgYNASAQQQFqIQYLQa4BIRAMeAsgAEHCATYCHCAAIAY2AgwgACAQQQFqNgIUQQAhEAyQAQsgAEEANgIcIAAgBzYCFCAAQZeLgIAANgIQIABBDTYCDEEAIRAMjwELIABBADYCHCAAIAg2AhQgAEHjkICAADYCECAAQQk2AgxBACEQDI4BCyAAQQA2AhwgACAINgIUIABBlI2AgAA2AhAgAEEhNgIMQQAhEAyNAQtBASEWQQAhF0EAIRRBASEQCyAAIBA6ACsgCUEBaiEIAkACQCAALQAtQRBxDQACQAJAAkAgAC0AKg4DAQACBAsgFkUNAwwCCyAUDQEMAgsgF0UNAQsgACgCBCEQIABBADYCBCAAIBAgCBCtgICAACIQRQ09IABByQE2AhwgACAINgIUIAAgEDYCDEEAIRAMjAELIAAoAgQhBCAAQQA2AgQgACAEIAgQrYCAgAAiBEUNdiAAQcoBNgIcIAAgCDYCFCAAIAQ2AgxBACEQDIsBCyAAKAIEIQQgAEEANgIEIAAgBCAJEK2AgIAAIgRFDXQgAEHLATYCHCAAIAk2AhQgACAENgIMQQAhEAyKAQsgACgCBCEEIABBADYCBCAAIAQgChCtgICAACIERQ1yIABBzQE2AhwgACAKNgIUIAAgBDYCDEEAIRAMiQELAkAgCy0AAEFQaiIQQf8BcUEKTw0AIAAgEDoAKiALQQFqIQpBtgEhEAxwCyAAKAIEIQQgAEEANgIEIAAgBCALEK2AgIAAIgRFDXAgAEHPATYCHCAAIAs2AhQgACAENgIMQQAhEAyIAQsgAEEANgIcIAAgBDYCFCAAQZCzgIAANgIQIABBCDYCDCAAQQA2AgBBACEQDIcBCyABQRVGDT8gAEEANgIcIAAgDDYCFCAAQcyOgIAANgIQIABBIDYCDEEAIRAMhgELIABBgQQ7ASggACgCBCEQIABCADcDACAAIBAgDEEBaiIMEKuAgIAAIhBFDTggAEHTATYCHCAAIAw2AhQgACAQNgIMQQAhEAyFAQsgAEEANgIAC0EAIRAgAEEANgIcIAAgBDYCFCAAQdibgIAANgIQIABBCDYCDAyDAQsgACgCBCEQIABCADcDACAAIBAgC0EBaiILEKuAgIAAIhANAUHGASEQDGkLIABBAjoAKAxVCyAAQdUBNgIcIAAgCzYCFCAAIBA2AgxBACEQDIABCyAQQRVGDTcgAEEANgIcIAAgBDYCFCAAQaSMgIAANgIQIABBEDYCDEEAIRAMfwsgAC0ANEEBRw00IAAgBCACELyAgIAAIhBFDTQgEEEVRw01IABB3AE2AhwgACAENgIUIABB1ZaAgAA2AhAgAEEVNgIMQQAhEAx+C0EAIRAgAEEANgIcIABBr4uAgAA2AhAgAEECNgIMIAAgFEEBajYCFAx9C0EAIRAMYwtBAiEQDGILQQ0hEAxhC0EPIRAMYAtBJSEQDF8LQRMhEAxeC0EVIRAMXQtBFiEQDFwLQRchEAxbC0EYIRAMWgtBGSEQDFkLQRohEAxYC0EbIRAMVwtBHCEQDFYLQR0hEAxVC0EfIRAMVAtBISEQDFMLQSMhEAxSC0HGACEQDFELQS4hEAxQC0EvIRAMTwtBOyEQDE4LQT0hEAxNC0HIACEQDEwLQckAIRAMSwtBywAhEAxKC0HMACEQDEkLQc4AIRAMSAtB0QAhEAxHC0HVACEQDEYLQdgAIRAMRQtB2QAhEAxEC0HbACEQDEMLQeQAIRAMQgtB5QAhEAxBC0HxACEQDEALQfQAIRAMPwtBjQEhEAw+C0GXASEQDD0LQakBIRAMPAtBrAEhEAw7C0HAASEQDDoLQbkBIRAMOQtBrwEhEAw4C0GxASEQDDcLQbIBIRAMNgtBtAEhEAw1C0G1ASEQDDQLQboBIRAMMwtBvQEhEAwyC0G/ASEQDDELQcEBIRAMMAsgAEEANgIcIAAgBDYCFCAAQemLgIAANgIQIABBHzYCDEEAIRAMSAsgAEHbATYCHCAAIAQ2AhQgAEH6loCAADYCECAAQRU2AgxBACEQDEcLIABB+AA2AhwgACAMNgIUIABBypiAgAA2AhAgAEEVNgIMQQAhEAxGCyAAQdEANgIcIAAgBTYCFCAAQbCXgIAANgIQIABBFTYCDEEAIRAMRQsgAEH5ADYCHCAAIAE2AhQgACAQNgIMQQAhEAxECyAAQfgANgIcIAAgATYCFCAAQcqYgIAANgIQIABBFTYCDEEAIRAMQwsgAEHkADYCHCAAIAE2AhQgAEHjl4CAADYCECAAQRU2AgxBACEQDEILIABB1wA2AhwgACABNgIUIABByZeAgAA2AhAgAEEVNgIMQQAhEAxBCyAAQQA2AhwgACABNgIUIABBuY2AgAA2AhAgAEEaNgIMQQAhEAxACyAAQcIANgIcIAAgATYCFCAAQeOYgIAANgIQIABBFTYCDEEAIRAMPwsgAEEANgIEIAAgDyAPELGAgIAAIgRFDQEgAEE6NgIcIAAgBDYCDCAAIA9BAWo2AhRBACEQDD4LIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCxgICAACIERQ0AIABBOzYCHCAAIAQ2AgwgACABQQFqNgIUQQAhEAw+CyABQQFqIQEMLQsgD0EBaiEBDC0LIABBADYCHCAAIA82AhQgAEHkkoCAADYCECAAQQQ2AgxBACEQDDsLIABBNjYCHCAAIAQ2AhQgACACNgIMQQAhEAw6CyAAQS42AhwgACAONgIUIAAgBDYCDEEAIRAMOQsgAEHQADYCHCAAIAE2AhQgAEGRmICAADYCECAAQRU2AgxBACEQDDgLIA1BAWohAQwsCyAAQRU2AhwgACABNgIUIABBgpmAgAA2AhAgAEEVNgIMQQAhEAw2CyAAQRs2AhwgACABNgIUIABBkZeAgAA2AhAgAEEVNgIMQQAhEAw1CyAAQQ82AhwgACABNgIUIABBkZeAgAA2AhAgAEEVNgIMQQAhEAw0CyAAQQs2AhwgACABNgIUIABBkZeAgAA2AhAgAEEVNgIMQQAhEAwzCyAAQRo2AhwgACABNgIUIABBgpmAgAA2AhAgAEEVNgIMQQAhEAwyCyAAQQs2AhwgACABNgIUIABBgpmAgAA2AhAgAEEVNgIMQQAhEAwxCyAAQQo2AhwgACABNgIUIABB5JaAgAA2AhAgAEEVNgIMQQAhEAwwCyAAQR42AhwgACABNgIUIABB+ZeAgAA2AhAgAEEVNgIMQQAhEAwvCyAAQQA2AhwgACAQNgIUIABB2o2AgAA2AhAgAEEUNgIMQQAhEAwuCyAAQQQ2AhwgACABNgIUIABBsJiAgAA2AhAgAEEVNgIMQQAhEAwtCyAAQQA2AgAgC0EBaiELC0G4ASEQDBILIABBADYCACAQQQFqIQFB9QAhEAwRCyABIQECQCAALQApQQVHDQBB4wAhEAwRC0HiACEQDBALQQAhECAAQQA2AhwgAEHkkYCAADYCECAAQQc2AgwgACAUQQFqNgIUDCgLIABBADYCACAXQQFqIQFBwAAhEAwOC0EBIQELIAAgAToALCAAQQA2AgAgF0EBaiEBC0EoIRAMCwsgASEBC0E4IRAMCQsCQCABIg8gAkYNAANAAkAgDy0AAEGAvoCAAGotAAAiAUEBRg0AIAFBAkcNAyAPQQFqIQEMBAsgD0EBaiIPIAJHDQALQT4hEAwiC0E+IRAMIQsgAEEAOgAsIA8hAQwBC0ELIRAMBgtBOiEQDAULIAFBAWohAUEtIRAMBAsgACABOgAsIABBADYCACAWQQFqIQFBDCEQDAMLIABBADYCACAXQQFqIQFBCiEQDAILIABBADYCAAsgAEEAOgAsIA0hAUEJIRAMAAsLQQAhECAAQQA2AhwgACALNgIUIABBzZCAgAA2AhAgAEEJNgIMDBcLQQAhECAAQQA2AhwgACAKNgIUIABB6YqAgAA2AhAgAEEJNgIMDBYLQQAhECAAQQA2AhwgACAJNgIUIABBt5CAgAA2AhAgAEEJNgIMDBULQQAhECAAQQA2AhwgACAINgIUIABBnJGAgAA2AhAgAEEJNgIMDBQLQQAhECAAQQA2AhwgACABNgIUIABBzZCAgAA2AhAgAEEJNgIMDBMLQQAhECAAQQA2AhwgACABNgIUIABB6YqAgAA2AhAgAEEJNgIMDBILQQAhECAAQQA2AhwgACABNgIUIABBt5CAgAA2AhAgAEEJNgIMDBELQQAhECAAQQA2AhwgACABNgIUIABBnJGAgAA2AhAgAEEJNgIMDBALQQAhECAAQQA2AhwgACABNgIUIABBl5WAgAA2AhAgAEEPNgIMDA8LQQAhECAAQQA2AhwgACABNgIUIABBl5WAgAA2AhAgAEEPNgIMDA4LQQAhECAAQQA2AhwgACABNgIUIABBwJKAgAA2AhAgAEELNgIMDA0LQQAhECAAQQA2AhwgACABNgIUIABBlYmAgAA2AhAgAEELNgIMDAwLQQAhECAAQQA2AhwgACABNgIUIABB4Y+AgAA2AhAgAEEKNgIMDAsLQQAhECAAQQA2AhwgACABNgIUIABB+4+AgAA2AhAgAEEKNgIMDAoLQQAhECAAQQA2AhwgACABNgIUIABB8ZmAgAA2AhAgAEECNgIMDAkLQQAhECAAQQA2AhwgACABNgIUIABBxJSAgAA2AhAgAEECNgIMDAgLQQAhECAAQQA2AhwgACABNgIUIABB8pWAgAA2AhAgAEECNgIMDAcLIABBAjYCHCAAIAE2AhQgAEGcmoCAADYCECAAQRY2AgxBACEQDAYLQQEhEAwFC0HUACEQIAEiBCACRg0EIANBCGogACAEIAJB2MKAgABBChDFgICAACADKAIMIQQgAygCCA4DAQQCAAsQyoCAgAAACyAAQQA2AhwgAEG1moCAADYCECAAQRc2AgwgACAEQQFqNgIUQQAhEAwCCyAAQQA2AhwgACAENgIUIABBypqAgAA2AhAgAEEJNgIMQQAhEAwBCwJAIAEiBCACRw0AQSIhEAwBCyAAQYmAgIAANgIIIAAgBDYCBEEhIRALIANBEGokgICAgAAgEAuvAQECfyABKAIAIQYCQAJAIAIgA0YNACAEIAZqIQQgBiADaiACayEHIAIgBkF/cyAFaiIGaiEFA0ACQCACLQAAIAQtAABGDQBBAiEEDAMLAkAgBg0AQQAhBCAFIQIMAwsgBkF/aiEGIARBAWohBCACQQFqIgIgA0cNAAsgByEGIAMhAgsgAEEBNgIAIAEgBjYCACAAIAI2AgQPCyABQQA2AgAgACAENgIAIAAgAjYCBAsKACAAEMeAgIAAC/I2AQt/I4CAgIAAQRBrIgEkgICAgAACQEEAKAKg0ICAAA0AQQAQy4CAgABBgNSEgABrIgJB2QBJDQBBACEDAkBBACgC4NOAgAAiBA0AQQBCfzcC7NOAgABBAEKAgISAgIDAADcC5NOAgABBACABQQhqQXBxQdiq1aoFcyIENgLg04CAAEEAQQA2AvTTgIAAQQBBADYCxNOAgAALQQAgAjYCzNOAgABBAEGA1ISAADYCyNOAgABBAEGA1ISAADYCmNCAgABBACAENgKs0ICAAEEAQX82AqjQgIAAA0AgA0HE0ICAAGogA0G40ICAAGoiBDYCACAEIANBsNCAgABqIgU2AgAgA0G80ICAAGogBTYCACADQczQgIAAaiADQcDQgIAAaiIFNgIAIAUgBDYCACADQdTQgIAAaiADQcjQgIAAaiIENgIAIAQgBTYCACADQdDQgIAAaiAENgIAIANBIGoiA0GAAkcNAAtBgNSEgABBeEGA1ISAAGtBD3FBAEGA1ISAAEEIakEPcRsiA2oiBEEEaiACQUhqIgUgA2siA0EBcjYCAEEAQQAoAvDTgIAANgKk0ICAAEEAIAM2ApTQgIAAQQAgBDYCoNCAgABBgNSEgAAgBWpBODYCBAsCQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEHsAUsNAAJAQQAoAojQgIAAIgZBECAAQRNqQXBxIABBC0kbIgJBA3YiBHYiA0EDcUUNAAJAAkAgA0EBcSAEckEBcyIFQQN0IgRBsNCAgABqIgMgBEG40ICAAGooAgAiBCgCCCICRw0AQQAgBkF+IAV3cTYCiNCAgAAMAQsgAyACNgIIIAIgAzYCDAsgBEEIaiEDIAQgBUEDdCIFQQNyNgIEIAQgBWoiBCAEKAIEQQFyNgIEDAwLIAJBACgCkNCAgAAiB00NAQJAIANFDQACQAJAIAMgBHRBAiAEdCIDQQAgA2tycSIDQQAgA2txQX9qIgMgA0EMdkEQcSIDdiIEQQV2QQhxIgUgA3IgBCAFdiIDQQJ2QQRxIgRyIAMgBHYiA0EBdkECcSIEciADIAR2IgNBAXZBAXEiBHIgAyAEdmoiBEEDdCIDQbDQgIAAaiIFIANBuNCAgABqKAIAIgMoAggiAEcNAEEAIAZBfiAEd3EiBjYCiNCAgAAMAQsgBSAANgIIIAAgBTYCDAsgAyACQQNyNgIEIAMgBEEDdCIEaiAEIAJrIgU2AgAgAyACaiIAIAVBAXI2AgQCQCAHRQ0AIAdBeHFBsNCAgABqIQJBACgCnNCAgAAhBAJAAkAgBkEBIAdBA3Z0IghxDQBBACAGIAhyNgKI0ICAACACIQgMAQsgAigCCCEICyAIIAQ2AgwgAiAENgIIIAQgAjYCDCAEIAg2AggLIANBCGohA0EAIAA2ApzQgIAAQQAgBTYCkNCAgAAMDAtBACgCjNCAgAAiCUUNASAJQQAgCWtxQX9qIgMgA0EMdkEQcSIDdiIEQQV2QQhxIgUgA3IgBCAFdiIDQQJ2QQRxIgRyIAMgBHYiA0EBdkECcSIEciADIAR2IgNBAXZBAXEiBHIgAyAEdmpBAnRBuNKAgABqKAIAIgAoAgRBeHEgAmshBCAAIQUCQANAAkAgBSgCECIDDQAgBUEUaigCACIDRQ0CCyADKAIEQXhxIAJrIgUgBCAFIARJIgUbIQQgAyAAIAUbIQAgAyEFDAALCyAAKAIYIQoCQCAAKAIMIgggAEYNACAAKAIIIgNBACgCmNCAgABJGiAIIAM2AgggAyAINgIMDAsLAkAgAEEUaiIFKAIAIgMNACAAKAIQIgNFDQMgAEEQaiEFCwNAIAUhCyADIghBFGoiBSgCACIDDQAgCEEQaiEFIAgoAhAiAw0ACyALQQA2AgAMCgtBfyECIABBv39LDQAgAEETaiIDQXBxIQJBACgCjNCAgAAiB0UNAEEAIQsCQCACQYACSQ0AQR8hCyACQf///wdLDQAgA0EIdiIDIANBgP4/akEQdkEIcSIDdCIEIARBgOAfakEQdkEEcSIEdCIFIAVBgIAPakEQdkECcSIFdEEPdiADIARyIAVyayIDQQF0IAIgA0EVanZBAXFyQRxqIQsLQQAgAmshBAJAAkACQAJAIAtBAnRBuNKAgABqKAIAIgUNAEEAIQNBACEIDAELQQAhAyACQQBBGSALQQF2ayALQR9GG3QhAEEAIQgDQAJAIAUoAgRBeHEgAmsiBiAETw0AIAYhBCAFIQggBg0AQQAhBCAFIQggBSEDDAMLIAMgBUEUaigCACIGIAYgBSAAQR12QQRxakEQaigCACIFRhsgAyAGGyEDIABBAXQhACAFDQALCwJAIAMgCHINAEEAIQhBAiALdCIDQQAgA2tyIAdxIgNFDQMgA0EAIANrcUF/aiIDIANBDHZBEHEiA3YiBUEFdkEIcSIAIANyIAUgAHYiA0ECdkEEcSIFciADIAV2IgNBAXZBAnEiBXIgAyAFdiIDQQF2QQFxIgVyIAMgBXZqQQJ0QbjSgIAAaigCACEDCyADRQ0BCwNAIAMoAgRBeHEgAmsiBiAESSEAAkAgAygCECIFDQAgA0EUaigCACEFCyAGIAQgABshBCADIAggABshCCAFIQMgBQ0ACwsgCEUNACAEQQAoApDQgIAAIAJrTw0AIAgoAhghCwJAIAgoAgwiACAIRg0AIAgoAggiA0EAKAKY0ICAAEkaIAAgAzYCCCADIAA2AgwMCQsCQCAIQRRqIgUoAgAiAw0AIAgoAhAiA0UNAyAIQRBqIQULA0AgBSEGIAMiAEEUaiIFKAIAIgMNACAAQRBqIQUgACgCECIDDQALIAZBADYCAAwICwJAQQAoApDQgIAAIgMgAkkNAEEAKAKc0ICAACEEAkACQCADIAJrIgVBEEkNACAEIAJqIgAgBUEBcjYCBEEAIAU2ApDQgIAAQQAgADYCnNCAgAAgBCADaiAFNgIAIAQgAkEDcjYCBAwBCyAEIANBA3I2AgQgBCADaiIDIAMoAgRBAXI2AgRBAEEANgKc0ICAAEEAQQA2ApDQgIAACyAEQQhqIQMMCgsCQEEAKAKU0ICAACIAIAJNDQBBACgCoNCAgAAiAyACaiIEIAAgAmsiBUEBcjYCBEEAIAU2ApTQgIAAQQAgBDYCoNCAgAAgAyACQQNyNgIEIANBCGohAwwKCwJAAkBBACgC4NOAgABFDQBBACgC6NOAgAAhBAwBC0EAQn83AuzTgIAAQQBCgICEgICAwAA3AuTTgIAAQQAgAUEMakFwcUHYqtWqBXM2AuDTgIAAQQBBADYC9NOAgABBAEEANgLE04CAAEGAgAQhBAtBACEDAkAgBCACQccAaiIHaiIGQQAgBGsiC3EiCCACSw0AQQBBMDYC+NOAgAAMCgsCQEEAKALA04CAACIDRQ0AAkBBACgCuNOAgAAiBCAIaiIFIARNDQAgBSADTQ0BC0EAIQNBAEEwNgL404CAAAwKC0EALQDE04CAAEEEcQ0EAkACQAJAQQAoAqDQgIAAIgRFDQBByNOAgAAhAwNAAkAgAygCACIFIARLDQAgBSADKAIEaiAESw0DCyADKAIIIgMNAAsLQQAQy4CAgAAiAEF/Rg0FIAghBgJAQQAoAuTTgIAAIgNBf2oiBCAAcUUNACAIIABrIAQgAGpBACADa3FqIQYLIAYgAk0NBSAGQf7///8HSw0FAkBBACgCwNOAgAAiA0UNAEEAKAK404CAACIEIAZqIgUgBE0NBiAFIANLDQYLIAYQy4CAgAAiAyAARw0BDAcLIAYgAGsgC3EiBkH+////B0sNBCAGEMuAgIAAIgAgAygCACADKAIEakYNAyAAIQMLAkAgA0F/Rg0AIAJByABqIAZNDQACQCAHIAZrQQAoAujTgIAAIgRqQQAgBGtxIgRB/v///wdNDQAgAyEADAcLAkAgBBDLgICAAEF/Rg0AIAQgBmohBiADIQAMBwtBACAGaxDLgICAABoMBAsgAyEAIANBf0cNBQwDC0EAIQgMBwtBACEADAULIABBf0cNAgtBAEEAKALE04CAAEEEcjYCxNOAgAALIAhB/v///wdLDQEgCBDLgICAACEAQQAQy4CAgAAhAyAAQX9GDQEgA0F/Rg0BIAAgA08NASADIABrIgYgAkE4ak0NAQtBAEEAKAK404CAACAGaiIDNgK404CAAAJAIANBACgCvNOAgABNDQBBACADNgK804CAAAsCQAJAAkACQEEAKAKg0ICAACIERQ0AQcjTgIAAIQMDQCAAIAMoAgAiBSADKAIEIghqRg0CIAMoAggiAw0ADAMLCwJAAkBBACgCmNCAgAAiA0UNACAAIANPDQELQQAgADYCmNCAgAALQQAhA0EAIAY2AszTgIAAQQAgADYCyNOAgABBAEF/NgKo0ICAAEEAQQAoAuDTgIAANgKs0ICAAEEAQQA2AtTTgIAAA0AgA0HE0ICAAGogA0G40ICAAGoiBDYCACAEIANBsNCAgABqIgU2AgAgA0G80ICAAGogBTYCACADQczQgIAAaiADQcDQgIAAaiIFNgIAIAUgBDYCACADQdTQgIAAaiADQcjQgIAAaiIENgIAIAQgBTYCACADQdDQgIAAaiAENgIAIANBIGoiA0GAAkcNAAsgAEF4IABrQQ9xQQAgAEEIakEPcRsiA2oiBCAGQUhqIgUgA2siA0EBcjYCBEEAQQAoAvDTgIAANgKk0ICAAEEAIAM2ApTQgIAAQQAgBDYCoNCAgAAgACAFakE4NgIEDAILIAMtAAxBCHENACAEIAVJDQAgBCAATw0AIARBeCAEa0EPcUEAIARBCGpBD3EbIgVqIgBBACgClNCAgAAgBmoiCyAFayIFQQFyNgIEIAMgCCAGajYCBEEAQQAoAvDTgIAANgKk0ICAAEEAIAU2ApTQgIAAQQAgADYCoNCAgAAgBCALakE4NgIEDAELAkAgAEEAKAKY0ICAACIITw0AQQAgADYCmNCAgAAgACEICyAAIAZqIQVByNOAgAAhAwJAAkACQAJAAkACQAJAA0AgAygCACAFRg0BIAMoAggiAw0ADAILCyADLQAMQQhxRQ0BC0HI04CAACEDA0ACQCADKAIAIgUgBEsNACAFIAMoAgRqIgUgBEsNAwsgAygCCCEDDAALCyADIAA2AgAgAyADKAIEIAZqNgIEIABBeCAAa0EPcUEAIABBCGpBD3EbaiILIAJBA3I2AgQgBUF4IAVrQQ9xQQAgBUEIakEPcRtqIgYgCyACaiICayEDAkAgBiAERw0AQQAgAjYCoNCAgABBAEEAKAKU0ICAACADaiIDNgKU0ICAACACIANBAXI2AgQMAwsCQCAGQQAoApzQgIAARw0AQQAgAjYCnNCAgABBAEEAKAKQ0ICAACADaiIDNgKQ0ICAACACIANBAXI2AgQgAiADaiADNgIADAMLAkAgBigCBCIEQQNxQQFHDQAgBEF4cSEHAkACQCAEQf8BSw0AIAYoAggiBSAEQQN2IghBA3RBsNCAgABqIgBGGgJAIAYoAgwiBCAFRw0AQQBBACgCiNCAgABBfiAId3E2AojQgIAADAILIAQgAEYaIAQgBTYCCCAFIAQ2AgwMAQsgBigCGCEJAkACQCAGKAIMIgAgBkYNACAGKAIIIgQgCEkaIAAgBDYCCCAEIAA2AgwMAQsCQCAGQRRqIgQoAgAiBQ0AIAZBEGoiBCgCACIFDQBBACEADAELA0AgBCEIIAUiAEEUaiIEKAIAIgUNACAAQRBqIQQgACgCECIFDQALIAhBADYCAAsgCUUNAAJAAkAgBiAGKAIcIgVBAnRBuNKAgABqIgQoAgBHDQAgBCAANgIAIAANAUEAQQAoAozQgIAAQX4gBXdxNgKM0ICAAAwCCyAJQRBBFCAJKAIQIAZGG2ogADYCACAARQ0BCyAAIAk2AhgCQCAGKAIQIgRFDQAgACAENgIQIAQgADYCGAsgBigCFCIERQ0AIABBFGogBDYCACAEIAA2AhgLIAcgA2ohAyAGIAdqIgYoAgQhBAsgBiAEQX5xNgIEIAIgA2ogAzYCACACIANBAXI2AgQCQCADQf8BSw0AIANBeHFBsNCAgABqIQQCQAJAQQAoAojQgIAAIgVBASADQQN2dCIDcQ0AQQAgBSADcjYCiNCAgAAgBCEDDAELIAQoAgghAwsgAyACNgIMIAQgAjYCCCACIAQ2AgwgAiADNgIIDAMLQR8hBAJAIANB////B0sNACADQQh2IgQgBEGA/j9qQRB2QQhxIgR0IgUgBUGA4B9qQRB2QQRxIgV0IgAgAEGAgA9qQRB2QQJxIgB0QQ92IAQgBXIgAHJrIgRBAXQgAyAEQRVqdkEBcXJBHGohBAsgAiAENgIcIAJCADcCECAEQQJ0QbjSgIAAaiEFAkBBACgCjNCAgAAiAEEBIAR0IghxDQAgBSACNgIAQQAgACAIcjYCjNCAgAAgAiAFNgIYIAIgAjYCCCACIAI2AgwMAwsgA0EAQRkgBEEBdmsgBEEfRht0IQQgBSgCACEAA0AgACIFKAIEQXhxIANGDQIgBEEddiEAIARBAXQhBCAFIABBBHFqQRBqIggoAgAiAA0ACyAIIAI2AgAgAiAFNgIYIAIgAjYCDCACIAI2AggMAgsgAEF4IABrQQ9xQQAgAEEIakEPcRsiA2oiCyAGQUhqIgggA2siA0EBcjYCBCAAIAhqQTg2AgQgBCAFQTcgBWtBD3FBACAFQUlqQQ9xG2pBQWoiCCAIIARBEGpJGyIIQSM2AgRBAEEAKALw04CAADYCpNCAgABBACADNgKU0ICAAEEAIAs2AqDQgIAAIAhBEGpBACkC0NOAgAA3AgAgCEEAKQLI04CAADcCCEEAIAhBCGo2AtDTgIAAQQAgBjYCzNOAgABBACAANgLI04CAAEEAQQA2AtTTgIAAIAhBJGohAwNAIANBBzYCACADQQRqIgMgBUkNAAsgCCAERg0DIAggCCgCBEF+cTYCBCAIIAggBGsiADYCACAEIABBAXI2AgQCQCAAQf8BSw0AIABBeHFBsNCAgABqIQMCQAJAQQAoAojQgIAAIgVBASAAQQN2dCIAcQ0AQQAgBSAAcjYCiNCAgAAgAyEFDAELIAMoAgghBQsgBSAENgIMIAMgBDYCCCAEIAM2AgwgBCAFNgIIDAQLQR8hAwJAIABB////B0sNACAAQQh2IgMgA0GA/j9qQRB2QQhxIgN0IgUgBUGA4B9qQRB2QQRxIgV0IgggCEGAgA9qQRB2QQJxIgh0QQ92IAMgBXIgCHJrIgNBAXQgACADQRVqdkEBcXJBHGohAwsgBCADNgIcIARCADcCECADQQJ0QbjSgIAAaiEFAkBBACgCjNCAgAAiCEEBIAN0IgZxDQAgBSAENgIAQQAgCCAGcjYCjNCAgAAgBCAFNgIYIAQgBDYCCCAEIAQ2AgwMBAsgAEEAQRkgA0EBdmsgA0EfRht0IQMgBSgCACEIA0AgCCIFKAIEQXhxIABGDQMgA0EddiEIIANBAXQhAyAFIAhBBHFqQRBqIgYoAgAiCA0ACyAGIAQ2AgAgBCAFNgIYIAQgBDYCDCAEIAQ2AggMAwsgBSgCCCIDIAI2AgwgBSACNgIIIAJBADYCGCACIAU2AgwgAiADNgIICyALQQhqIQMMBQsgBSgCCCIDIAQ2AgwgBSAENgIIIARBADYCGCAEIAU2AgwgBCADNgIIC0EAKAKU0ICAACIDIAJNDQBBACgCoNCAgAAiBCACaiIFIAMgAmsiA0EBcjYCBEEAIAM2ApTQgIAAQQAgBTYCoNCAgAAgBCACQQNyNgIEIARBCGohAwwDC0EAIQNBAEEwNgL404CAAAwCCwJAIAtFDQACQAJAIAggCCgCHCIFQQJ0QbjSgIAAaiIDKAIARw0AIAMgADYCACAADQFBACAHQX4gBXdxIgc2AozQgIAADAILIAtBEEEUIAsoAhAgCEYbaiAANgIAIABFDQELIAAgCzYCGAJAIAgoAhAiA0UNACAAIAM2AhAgAyAANgIYCyAIQRRqKAIAIgNFDQAgAEEUaiADNgIAIAMgADYCGAsCQAJAIARBD0sNACAIIAQgAmoiA0EDcjYCBCAIIANqIgMgAygCBEEBcjYCBAwBCyAIIAJqIgAgBEEBcjYCBCAIIAJBA3I2AgQgACAEaiAENgIAAkAgBEH/AUsNACAEQXhxQbDQgIAAaiEDAkACQEEAKAKI0ICAACIFQQEgBEEDdnQiBHENAEEAIAUgBHI2AojQgIAAIAMhBAwBCyADKAIIIQQLIAQgADYCDCADIAA2AgggACADNgIMIAAgBDYCCAwBC0EfIQMCQCAEQf///wdLDQAgBEEIdiIDIANBgP4/akEQdkEIcSIDdCIFIAVBgOAfakEQdkEEcSIFdCICIAJBgIAPakEQdkECcSICdEEPdiADIAVyIAJyayIDQQF0IAQgA0EVanZBAXFyQRxqIQMLIAAgAzYCHCAAQgA3AhAgA0ECdEG40oCAAGohBQJAIAdBASADdCICcQ0AIAUgADYCAEEAIAcgAnI2AozQgIAAIAAgBTYCGCAAIAA2AgggACAANgIMDAELIARBAEEZIANBAXZrIANBH0YbdCEDIAUoAgAhAgJAA0AgAiIFKAIEQXhxIARGDQEgA0EddiECIANBAXQhAyAFIAJBBHFqQRBqIgYoAgAiAg0ACyAGIAA2AgAgACAFNgIYIAAgADYCDCAAIAA2AggMAQsgBSgCCCIDIAA2AgwgBSAANgIIIABBADYCGCAAIAU2AgwgACADNgIICyAIQQhqIQMMAQsCQCAKRQ0AAkACQCAAIAAoAhwiBUECdEG40oCAAGoiAygCAEcNACADIAg2AgAgCA0BQQAgCUF+IAV3cTYCjNCAgAAMAgsgCkEQQRQgCigCECAARhtqIAg2AgAgCEUNAQsgCCAKNgIYAkAgACgCECIDRQ0AIAggAzYCECADIAg2AhgLIABBFGooAgAiA0UNACAIQRRqIAM2AgAgAyAINgIYCwJAAkAgBEEPSw0AIAAgBCACaiIDQQNyNgIEIAAgA2oiAyADKAIEQQFyNgIEDAELIAAgAmoiBSAEQQFyNgIEIAAgAkEDcjYCBCAFIARqIAQ2AgACQCAHRQ0AIAdBeHFBsNCAgABqIQJBACgCnNCAgAAhAwJAAkBBASAHQQN2dCIIIAZxDQBBACAIIAZyNgKI0ICAACACIQgMAQsgAigCCCEICyAIIAM2AgwgAiADNgIIIAMgAjYCDCADIAg2AggLQQAgBTYCnNCAgABBACAENgKQ0ICAAAsgAEEIaiEDCyABQRBqJICAgIAAIAMLCgAgABDJgICAAAviDQEHfwJAIABFDQAgAEF4aiIBIABBfGooAgAiAkF4cSIAaiEDAkAgAkEBcQ0AIAJBA3FFDQEgASABKAIAIgJrIgFBACgCmNCAgAAiBEkNASACIABqIQACQCABQQAoApzQgIAARg0AAkAgAkH/AUsNACABKAIIIgQgAkEDdiIFQQN0QbDQgIAAaiIGRhoCQCABKAIMIgIgBEcNAEEAQQAoAojQgIAAQX4gBXdxNgKI0ICAAAwDCyACIAZGGiACIAQ2AgggBCACNgIMDAILIAEoAhghBwJAAkAgASgCDCIGIAFGDQAgASgCCCICIARJGiAGIAI2AgggAiAGNgIMDAELAkAgAUEUaiICKAIAIgQNACABQRBqIgIoAgAiBA0AQQAhBgwBCwNAIAIhBSAEIgZBFGoiAigCACIEDQAgBkEQaiECIAYoAhAiBA0ACyAFQQA2AgALIAdFDQECQAJAIAEgASgCHCIEQQJ0QbjSgIAAaiICKAIARw0AIAIgBjYCACAGDQFBAEEAKAKM0ICAAEF+IAR3cTYCjNCAgAAMAwsgB0EQQRQgBygCECABRhtqIAY2AgAgBkUNAgsgBiAHNgIYAkAgASgCECICRQ0AIAYgAjYCECACIAY2AhgLIAEoAhQiAkUNASAGQRRqIAI2AgAgAiAGNgIYDAELIAMoAgQiAkEDcUEDRw0AIAMgAkF+cTYCBEEAIAA2ApDQgIAAIAEgAGogADYCACABIABBAXI2AgQPCyABIANPDQAgAygCBCICQQFxRQ0AAkACQCACQQJxDQACQCADQQAoAqDQgIAARw0AQQAgATYCoNCAgABBAEEAKAKU0ICAACAAaiIANgKU0ICAACABIABBAXI2AgQgAUEAKAKc0ICAAEcNA0EAQQA2ApDQgIAAQQBBADYCnNCAgAAPCwJAIANBACgCnNCAgABHDQBBACABNgKc0ICAAEEAQQAoApDQgIAAIABqIgA2ApDQgIAAIAEgAEEBcjYCBCABIABqIAA2AgAPCyACQXhxIABqIQACQAJAIAJB/wFLDQAgAygCCCIEIAJBA3YiBUEDdEGw0ICAAGoiBkYaAkAgAygCDCICIARHDQBBAEEAKAKI0ICAAEF+IAV3cTYCiNCAgAAMAgsgAiAGRhogAiAENgIIIAQgAjYCDAwBCyADKAIYIQcCQAJAIAMoAgwiBiADRg0AIAMoAggiAkEAKAKY0ICAAEkaIAYgAjYCCCACIAY2AgwMAQsCQCADQRRqIgIoAgAiBA0AIANBEGoiAigCACIEDQBBACEGDAELA0AgAiEFIAQiBkEUaiICKAIAIgQNACAGQRBqIQIgBigCECIEDQALIAVBADYCAAsgB0UNAAJAAkAgAyADKAIcIgRBAnRBuNKAgABqIgIoAgBHDQAgAiAGNgIAIAYNAUEAQQAoAozQgIAAQX4gBHdxNgKM0ICAAAwCCyAHQRBBFCAHKAIQIANGG2ogBjYCACAGRQ0BCyAGIAc2AhgCQCADKAIQIgJFDQAgBiACNgIQIAIgBjYCGAsgAygCFCICRQ0AIAZBFGogAjYCACACIAY2AhgLIAEgAGogADYCACABIABBAXI2AgQgAUEAKAKc0ICAAEcNAUEAIAA2ApDQgIAADwsgAyACQX5xNgIEIAEgAGogADYCACABIABBAXI2AgQLAkAgAEH/AUsNACAAQXhxQbDQgIAAaiECAkACQEEAKAKI0ICAACIEQQEgAEEDdnQiAHENAEEAIAQgAHI2AojQgIAAIAIhAAwBCyACKAIIIQALIAAgATYCDCACIAE2AgggASACNgIMIAEgADYCCA8LQR8hAgJAIABB////B0sNACAAQQh2IgIgAkGA/j9qQRB2QQhxIgJ0IgQgBEGA4B9qQRB2QQRxIgR0IgYgBkGAgA9qQRB2QQJxIgZ0QQ92IAIgBHIgBnJrIgJBAXQgACACQRVqdkEBcXJBHGohAgsgASACNgIcIAFCADcCECACQQJ0QbjSgIAAaiEEAkACQEEAKAKM0ICAACIGQQEgAnQiA3ENACAEIAE2AgBBACAGIANyNgKM0ICAACABIAQ2AhggASABNgIIIAEgATYCDAwBCyAAQQBBGSACQQF2ayACQR9GG3QhAiAEKAIAIQYCQANAIAYiBCgCBEF4cSAARg0BIAJBHXYhBiACQQF0IQIgBCAGQQRxakEQaiIDKAIAIgYNAAsgAyABNgIAIAEgBDYCGCABIAE2AgwgASABNgIIDAELIAQoAggiACABNgIMIAQgATYCCCABQQA2AhggASAENgIMIAEgADYCCAtBAEEAKAKo0ICAAEF/aiIBQX8gARs2AqjQgIAACwsEAAAAC04AAkAgAA0APwBBEHQPCwJAIABB//8DcQ0AIABBf0wNAAJAIABBEHZAACIAQX9HDQBBAEEwNgL404CAAEF/DwsgAEEQdA8LEMqAgIAAAAvyAgIDfwF+AkAgAkUNACAAIAE6AAAgAiAAaiIDQX9qIAE6AAAgAkEDSQ0AIAAgAToAAiAAIAE6AAEgA0F9aiABOgAAIANBfmogAToAACACQQdJDQAgACABOgADIANBfGogAToAACACQQlJDQAgAEEAIABrQQNxIgRqIgMgAUH/AXFBgYKECGwiATYCACADIAIgBGtBfHEiBGoiAkF8aiABNgIAIARBCUkNACADIAE2AgggAyABNgIEIAJBeGogATYCACACQXRqIAE2AgAgBEEZSQ0AIAMgATYCGCADIAE2AhQgAyABNgIQIAMgATYCDCACQXBqIAE2AgAgAkFsaiABNgIAIAJBaGogATYCACACQWRqIAE2AgAgBCADQQRxQRhyIgVrIgJBIEkNACABrUKBgICAEH4hBiADIAVqIQEDQCABIAY3AxggASAGNwMQIAEgBjcDCCABIAY3AwAgAUEgaiEBIAJBYGoiAkEfSw0ACwsgAAsLjkgBAEGACAuGSAEAAAACAAAAAwAAAAAAAAAAAAAABAAAAAUAAAAAAAAAAAAAAAYAAAAHAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASW52YWxpZCBjaGFyIGluIHVybCBxdWVyeQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2JvZHkAQ29udGVudC1MZW5ndGggb3ZlcmZsb3cAQ2h1bmsgc2l6ZSBvdmVyZmxvdwBSZXNwb25zZSBvdmVyZmxvdwBJbnZhbGlkIG1ldGhvZCBmb3IgSFRUUC94LnggcmVxdWVzdABJbnZhbGlkIG1ldGhvZCBmb3IgUlRTUC94LnggcmVxdWVzdABFeHBlY3RlZCBTT1VSQ0UgbWV0aG9kIGZvciBJQ0UveC54IHJlcXVlc3QASW52YWxpZCBjaGFyIGluIHVybCBmcmFnbWVudCBzdGFydABFeHBlY3RlZCBkb3QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9zdGF0dXMASW52YWxpZCByZXNwb25zZSBzdGF0dXMASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucwBVc2VyIGNhbGxiYWNrIGVycm9yAGBvbl9yZXNldGAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2hlYWRlcmAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfYmVnaW5gIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==";
+    module2.exports = ProxyAgent;
   }
 });
 
-// node_modules/undici/lib/client.js
-var require_client2 = __commonJS({
-  "node_modules/undici/lib/client.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js
+var require_env_http_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var net = require("net");
-    var http = require("http");
-    var { pipeline } = require("stream");
-    var util = require_util9();
-    var timers = require_timers2();
-    var Request = require_request3();
     var DispatcherBase = require_dispatcher_base2();
-    var {
-      RequestContentLengthMismatchError,
-      ResponseContentLengthMismatchError,
-      InvalidArgumentError,
-      RequestAbortedError,
-      HeadersTimeoutError,
-      HeadersOverflowError,
-      SocketError,
-      InformationalError,
-      BodyTimeoutError,
-      HTTPParserError,
-      ResponseExceededMaxSizeError,
-      ClientDestroyedError
-    } = require_errors2();
-    var buildConnector = require_connect2();
-    var {
-      kUrl,
-      kReset,
-      kServerName,
-      kClient,
-      kBusy,
-      kParser,
-      kConnect,
-      kBlocking,
-      kResuming,
-      kRunning,
-      kPending,
-      kSize,
-      kWriting,
-      kQueue,
-      kConnected,
-      kConnecting,
-      kNeedDrain,
-      kNoRef,
-      kKeepAliveDefaultTimeout,
-      kHostHeader,
-      kPendingIdx,
-      kRunningIdx,
-      kError,
-      kPipelining,
-      kSocket,
-      kKeepAliveTimeoutValue,
-      kMaxHeadersSize,
-      kKeepAliveMaxTimeout,
-      kKeepAliveTimeoutThreshold,
-      kHeadersTimeout,
-      kBodyTimeout,
-      kStrictContentLength,
-      kConnector,
-      kMaxRedirections,
-      kMaxRequests,
-      kCounter,
-      kClose,
-      kDestroy,
-      kDispatch,
-      kInterceptors,
-      kLocalAddress,
-      kMaxResponseSize,
-      kHTTPConnVersion,
-      // HTTP2
-      kHost,
-      kHTTP2Session,
-      kHTTP2SessionState,
-      kHTTP2BuildRequest,
-      kHTTP2CopyHeaders,
-      kHTTP1BuildRequest
-    } = require_symbols6();
-    var http2;
-    try {
-      http2 = require("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;
-    var h2ExperimentalWarned = false;
-    var FastBuffer = Buffer[Symbol.species];
-    var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
-    var channels = {};
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.sendHeaders = diagnosticsChannel.channel("undici:client:sendHeaders");
-      channels.beforeConnect = diagnosticsChannel.channel("undici:client:beforeConnect");
-      channels.connectError = diagnosticsChannel.channel("undici:client:connectError");
-      channels.connected = diagnosticsChannel.channel("undici:client:connected");
-    } catch {
-      channels.sendHeaders = { hasSubscribers: false };
-      channels.beforeConnect = { hasSubscribers: false };
-      channels.connectError = { hasSubscribers: false };
-      channels.connected = { hasSubscribers: false };
-    }
-    var Client = class extends DispatcherBase {
-      /**
-       *
-       * @param {string|URL} url
-       * @param {import('../types/client').Client.Options} options
-       */
-      constructor(url2, {
-        interceptors,
-        maxHeaderSize,
-        headersTimeout,
-        socketTimeout,
-        requestTimeout,
-        connectTimeout,
-        bodyTimeout,
-        idleTimeout,
-        keepAlive,
-        keepAliveTimeout,
-        maxKeepAliveTimeout,
-        keepAliveMaxTimeout,
-        keepAliveTimeoutThreshold,
-        socketPath,
-        pipelining,
-        tls,
-        strictContentLength,
-        maxCachedSessions,
-        maxRedirections,
-        connect: connect2,
-        maxRequestsPerClient,
-        localAddress,
-        maxResponseSize,
-        autoSelectFamily,
-        autoSelectFamilyAttemptTimeout,
-        // h2
-        allowH2,
-        maxConcurrentStreams
-      } = {}) {
+    var { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require_symbols6();
+    var ProxyAgent = require_proxy_agent2();
+    var Agent = require_agent2();
+    var DEFAULT_PORTS = {
+      "http:": 80,
+      "https:": 443
+    };
+    var experimentalWarned = false;
+    var EnvHttpProxyAgent = class extends DispatcherBase {
+      #noProxyValue = null;
+      #noProxyEntries = null;
+      #opts = null;
+      constructor(opts = {}) {
         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");
+        this.#opts = opts;
+        if (!experimentalWarned) {
+          experimentalWarned = true;
+          process.emitWarning("EnvHttpProxyAgent is experimental, expect them to change at any time.", {
+            code: "UNDICI-EHPA"
+          });
         }
-        if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) {
-          throw new InvalidArgumentError("invalid keepAliveMaxTimeout");
+        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];
         }
-        if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) {
-          throw new InvalidArgumentError("invalid keepAliveTimeoutThreshold");
+        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];
         }
-        if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) {
-          throw new InvalidArgumentError("headersTimeout must be a positive integer or zero");
+        this.#parseNoProxy();
+      }
+      [kDispatch](opts, handler2) {
+        const url2 = new URL(opts.origin);
+        const agent = this.#getProxyAgentForUrl(url2);
+        return agent.dispatch(opts, handler2);
+      }
+      async [kClose]() {
+        await this[kNoProxyAgent].close();
+        if (!this[kHttpProxyAgent][kClosed]) {
+          await this[kHttpProxyAgent].close();
         }
-        if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) {
-          throw new InvalidArgumentError("bodyTimeout must be a positive integer or zero");
+        if (!this[kHttpsProxyAgent][kClosed]) {
+          await this[kHttpsProxyAgent].close();
         }
-        if (connect2 != null && typeof connect2 !== "function" && typeof connect2 !== "object") {
-          throw new InvalidArgumentError("connect must be a function or an object");
+      }
+      async [kDestroy](err) {
+        await this[kNoProxyAgent].destroy(err);
+        if (!this[kHttpProxyAgent][kDestroyed]) {
+          await this[kHttpProxyAgent].destroy(err);
         }
-        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
-          throw new InvalidArgumentError("maxRedirections must be a positive number");
+        if (!this[kHttpsProxyAgent][kDestroyed]) {
+          await this[kHttpsProxyAgent].destroy(err);
         }
-        if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) {
-          throw new InvalidArgumentError("maxRequestsPerClient must be a positive number");
+      }
+      #getProxyAgentForUrl(url2) {
+        let { protocol, host: hostname, port } = url2;
+        hostname = hostname.replace(/:\d*$/, "").toLowerCase();
+        port = Number.parseInt(port, 10) || DEFAULT_PORTS[protocol] || 0;
+        if (!this.#shouldProxy(hostname, port)) {
+          return this[kNoProxyAgent];
         }
-        if (localAddress != null && (typeof localAddress !== "string" || net.isIP(localAddress) === 0)) {
-          throw new InvalidArgumentError("localAddress must be valid string IP address");
+        if (protocol === "https:") {
+          return this[kHttpsProxyAgent];
         }
-        if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) {
-          throw new InvalidArgumentError("maxResponseSize must be a positive number");
+        return this[kHttpProxyAgent];
+      }
+      #shouldProxy(hostname, port) {
+        if (this.#noProxyChanged) {
+          this.#parseNoProxy();
         }
-        if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) {
-          throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number");
+        if (this.#noProxyEntries.length === 0) {
+          return true;
         }
-        if (allowH2 != null && typeof allowH2 !== "boolean") {
-          throw new InvalidArgumentError("allowH2 must be a valid boolean value");
+        if (this.#noProxyValue === "*") {
+          return false;
         }
-        if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) {
-          throw new InvalidArgumentError("maxConcurrentStreams must be a possitive integer, greater than 0");
+        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;
+            }
+          }
         }
-        if (typeof connect2 !== "function") {
-          connect2 = buildConnector({
-            ...tls,
-            maxCachedSessions,
-            allowH2,
-            socketPath,
-            timeout: connectTimeout,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
-            ...connect2
+        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[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client) ? interceptors.Client : [createRedirectInterceptor({ maxRedirections })];
-        this[kUrl] = util.parseOrigin(url2);
-        this[kConnector] = connect2;
-        this[kSocket] = null;
-        this[kPipelining] = pipelining != null ? pipelining : 1;
-        this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize;
-        this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;
-        this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;
-        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold;
-        this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
-        this[kServerName] = null;
-        this[kLocalAddress] = localAddress != null ? localAddress : null;
-        this[kResuming] = 0;
-        this[kNeedDrain] = 0;
-        this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r
-`;
-        this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5;
-        this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5;
-        this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength;
-        this[kMaxRedirections] = maxRedirections;
-        this[kMaxRequests] = maxRequestsPerClient;
-        this[kClosedResolve] = null;
-        this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
-        this[kHTTPConnVersion] = "h1";
-        this[kHTTP2Session] = null;
-        this[kHTTP2SessionState] = !allowH2 ? null : {
-          // streams: null, // Fixed queue of streams - For future support of `push`
-          openStreams: 0,
-          // Keep track of them to decide wether or not unref the session
-          maxConcurrentStreams: maxConcurrentStreams != null ? maxConcurrentStreams : 100
-          // Max peerConcurrentStreams for a Node h2 server
+        this.#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/@actions/github/node_modules/undici/lib/handler/retry-handler.js
+var require_retry_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/retry-handler.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { kRetryHandlerDefaultRetry } = require_symbols6();
+    var { RequestRetryError } = require_errors2();
+    var {
+      isDisturbed,
+      parseHeaders,
+      parseRangeHeader,
+      wrapRequestBody
+    } = require_util9();
+    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[kHost] = `${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}`;
-        this[kQueue] = [];
-        this[kRunningIdx] = 0;
-        this[kPendingIdx] = 0;
-      }
-      get pipelining() {
-        return this[kPipelining];
-      }
-      set pipelining(value) {
-        this[kPipelining] = value;
-        resume(this, true);
-      }
-      get [kPending]() {
-        return this[kQueue].length - this[kPendingIdx];
-      }
-      get [kRunning]() {
-        return this[kPendingIdx] - this[kRunningIdx];
+        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;
+          }
+        });
       }
-      get [kSize]() {
-        return this[kQueue].length - this[kRunningIdx];
+      onRequestSent() {
+        if (this.handler.onRequestSent) {
+          this.handler.onRequestSent();
+        }
       }
-      get [kConnected]() {
-        return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed;
+      onUpgrade(statusCode, headers, socket) {
+        if (this.handler.onUpgrade) {
+          this.handler.onUpgrade(statusCode, headers, socket);
+        }
       }
-      get [kBusy]() {
-        const socket = this[kSocket];
-        return socket && (socket[kReset] || socket[kWriting] || socket[kBlocking]) || this[kSize] >= (this[kPipelining] || 1) || this[kPending] > 0;
+      onConnect(abort) {
+        if (this.aborted) {
+          abort(this.reason);
+        } else {
+          this.abort = abort;
+        }
       }
-      /* istanbul ignore: only used for test */
-      [kConnect](cb) {
-        connect(this);
-        this.once("connect", cb);
+      onBodySent(chunk) {
+        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
       }
-      [kDispatch](opts, handler2) {
-        const origin = opts.origin || this[kUrl].origin;
-        const request2 = this[kHTTPConnVersion] === "h2" ? Request[kHTTP2BuildRequest](origin, opts, handler2) : Request[kHTTP1BuildRequest](origin, opts, handler2);
-        this[kQueue].push(request2);
-        if (this[kResuming]) {
-        } else if (util.bodyLength(request2.body) == null && util.isIterable(request2.body)) {
-          this[kResuming] = 1;
-          process.nextTick(resume, this);
-        } else {
-          resume(this, true);
+      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 (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
-          this[kNeedDrain] = 2;
+        if (Array.isArray(methods) && !methods.includes(method)) {
+          cb(err);
+          return;
         }
-        return this[kNeedDrain] < 2;
+        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);
       }
-      async [kClose]() {
-        return new Promise((resolve6) => {
-          if (!this[kSize]) {
-            resolve6(null);
+      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[kClosedResolve] = resolve6;
+            this.abort(
+              new RequestRetryError("Request failed", statusCode, {
+                headers,
+                data: {
+                  count: this.retryCount
+                }
+              })
+            );
+            return false;
           }
-        });
-      }
-      async [kDestroy](err) {
-        return new Promise((resolve6) => {
-          const requests = this[kQueue].splice(this[kPendingIdx]);
-          for (let i = 0; i < requests.length; i++) {
-            const request2 = requests[i];
-            errorRequest2(this, request2, err);
+        }
+        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 callback = () => {
-            if (this[kClosedResolve]) {
-              this[kClosedResolve]();
-              this[kClosedResolve] = null;
+          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
+              );
             }
-            resolve6();
-          };
-          if (this[kHTTP2Session] != null) {
-            util.destroy(this[kHTTP2Session], err);
-            this[kHTTP2Session] = null;
-            this[kHTTP2SessionState] = null;
+            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[kSocket]) {
-            queueMicrotask(callback);
-          } else {
-            util.destroy(this[kSocket].on("close", callback), err);
+          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;
           }
-          resume(this);
+          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;
       }
-    };
-    function onHttp2SessionError(err) {
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      this[kSocket][kError] = err;
-      onError(this[kClient], err);
-    }
-    function onHttp2FrameError(type2, code, id) {
-      const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-      if (id === 0) {
-        this[kSocket][kError] = err;
-        onError(this[kClient], err);
-      }
-    }
-    function onHttp2SessionEnd() {
-      util.destroy(this, new SocketError("other side closed"));
-      util.destroy(this[kSocket], new SocketError("other side closed"));
-    }
-    function onHTTP2GoAway(code) {
-      const client = this[kClient];
-      const err = new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`);
-      client[kSocket] = null;
-      client[kHTTP2Session] = null;
-      if (client.destroyed) {
-        assert(this[kPending] === 0);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(this, request2, err);
-        }
-      } else if (client[kRunning] > 0) {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
+      onData(chunk) {
+        this.start += chunk.length;
+        return this.handler.onData(chunk);
       }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit(
-        "disconnect",
-        client[kUrl],
-        [client],
-        err
-      );
-      resume(client);
-    }
-    var constants = require_constants8();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var EMPTY_BUF = Buffer.alloc(0);
-    async function lazyllhttp() {
-      const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm2() : void 0;
-      let mod;
-      try {
-        mod = await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm2(), "base64"));
-      } catch (e) {
-        mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require_llhttp_wasm2(), "base64"));
+      onComplete(rawTrailers) {
+        this.retryCount = 0;
+        return this.handler.onComplete(rawTrailers);
       }
-      return await WebAssembly.instantiate(mod, {
-        env: {
-          /* eslint-disable camelcase */
-          wasm_on_url: (p, at, len) => {
-            return 0;
-          },
-          wasm_on_status: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_message_begin: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onMessageBegin() || 0;
-          },
-          wasm_on_header_field: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_header_value: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;
-          },
-          wasm_on_body: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+      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 }
           },
-          wasm_on_message_complete: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onMessageComplete() || 0;
+          onRetry.bind(this)
+        );
+        function onRetry(err2) {
+          if (err2 != null || this.aborted || isDisturbed(this.opts.body)) {
+            return this.handler.onError(err2);
           }
-          /* eslint-enable camelcase */
-        }
-      });
-    }
-    var llhttpInstance = null;
-    var llhttpPromise = lazyllhttp();
-    llhttpPromise.catch();
-    var currentParser = null;
-    var currentBufferRef = null;
-    var currentBufferSize = 0;
-    var currentBufferPtr = null;
-    var TIMEOUT_HEADERS = 1;
-    var TIMEOUT_BODY = 2;
-    var TIMEOUT_IDLE = 3;
-    var 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(value, type2) {
-        this.timeoutType = type2;
-        if (value !== this.timeoutValue) {
-          timers.clearTimeout(this.timeout);
-          if (value) {
-            this.timeout = timers.setTimeout(onParserTimeout, value, this);
-            if (this.timeout.unref) {
-              this.timeout.unref();
+          if (this.start !== 0) {
+            const headers = { range: `bytes=${this.start}-${this.end ?? ""}` };
+            if (this.etag != null) {
+              headers["if-match"] = this.etag;
             }
-          } else {
-            this.timeout = null;
+            this.opts = {
+              ...this.opts,
+              headers: {
+                ...this.opts.headers,
+                ...headers
+              }
+            };
           }
-          this.timeoutValue = value;
-        } else if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
+          try {
+            this.retryCountCheckpoint = this.retryCount;
+            this.dispatch(this.opts, this);
+          } catch (err3) {
+            this.handler.onError(err3);
           }
         }
       }
-      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();
+    };
+    module2.exports = RetryHandler;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js
+var require_retry_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js"(exports2, module2) {
+    "use strict";
+    var Dispatcher = require_dispatcher2();
+    var RetryHandler = require_retry_handler2();
+    var RetryAgent = class extends Dispatcher {
+      #agent = null;
+      #options = null;
+      constructor(agent, options = {}) {
+        super(options);
+        this.#agent = agent;
+        this.#options = options;
       }
-      readMore() {
-        while (!this.paused && this.ptr) {
-          const chunk = this.socket.read();
-          if (chunk === null) {
-            break;
-          }
-          this.execute(chunk);
-        }
+      dispatch(opts, handler2) {
+        const retry2 = new RetryHandler({
+          ...opts,
+          retryOptions: this.#options
+        }, {
+          dispatch: this.#agent.dispatch.bind(this.#agent),
+          handler: handler2
+        });
+        return this.#agent.dispatch(opts, retry2);
       }
-      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);
-        }
+      close() {
+        return this.#agent.close();
       }
       destroy() {
-        assert(this.ptr != null);
-        assert(currentParser == null);
-        this.llhttp.llhttp_free(this.ptr);
-        this.ptr = null;
-        timers.clearTimeout(this.timeout);
-        this.timeout = null;
-        this.timeoutValue = null;
-        this.timeoutType = null;
-        this.paused = false;
+        return this.#agent.destroy();
       }
-      onStatus(buf) {
-        this.statusText = buf.toString();
+    };
+    module2.exports = RetryAgent;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/readable.js
+var require_readable2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/readable.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { Readable: Readable2 } = require("node:stream");
+    var { RequestAbortedError, NotSupportedError, InvalidArgumentError, AbortError } = require_errors2();
+    var util = require_util9();
+    var { ReadableStreamFrom } = require_util9();
+    var kConsume = /* @__PURE__ */ Symbol("kConsume");
+    var kReading = /* @__PURE__ */ Symbol("kReading");
+    var kBody = /* @__PURE__ */ Symbol("kBody");
+    var kAbort = /* @__PURE__ */ Symbol("kAbort");
+    var kContentType = /* @__PURE__ */ Symbol("kContentType");
+    var kContentLength = /* @__PURE__ */ Symbol("kContentLength");
+    var noop3 = () => {
+    };
+    var BodyReadable = class extends Readable2 {
+      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;
       }
-      onMessageBegin() {
-        const { socket, client } = this;
-        if (socket.destroyed) {
-          return -1;
+      destroy(err) {
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
         }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        if (!request2) {
-          return -1;
+        if (err) {
+          this[kAbort]();
         }
+        return super.destroy(err);
       }
-      onHeaderField(buf) {
-        const len = this.headers.length;
-        if ((len & 1) === 0) {
-          this.headers.push(buf);
+      _destroy(err, callback) {
+        if (!this[kReading]) {
+          setImmediate(() => {
+            callback(err);
+          });
         } else {
-          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
+          callback(err);
         }
-        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 && key.toString().toLowerCase() === "keep-alive") {
-          this.keepAlive += buf.toString();
-        } else if (key.length === 10 && key.toString().toLowerCase() === "connection") {
-          this.connection += buf.toString();
-        } else if (key.length === 14 && key.toString().toLowerCase() === "content-length") {
-          this.contentLength += buf.toString();
+      on(ev, ...args) {
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = true;
         }
-        this.trackHeader(buf.length);
+        return super.on(ev, ...args);
       }
-      trackHeader(len) {
-        this.headersSize += len;
-        if (this.headersSize >= this.headersMaxSize) {
-          util.destroy(this.socket, new HeadersOverflowError());
-        }
+      addListener(ev, ...args) {
+        return this.on(ev, ...args);
       }
-      onUpgrade(head) {
-        const { upgrade, client, socket, headers, statusCode } = this;
-        assert(upgrade);
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert(!socket.destroyed);
-        assert(socket === client[kSocket]);
-        assert(!this.paused);
-        assert(request2.upgrade || request2.method === "CONNECT");
-        this.statusCode = null;
-        this.statusText = "";
-        this.shouldKeepAlive = null;
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        socket.unshift(head);
-        socket[kParser].destroy();
-        socket[kParser] = null;
-        socket[kClient] = null;
-        socket[kError] = null;
-        socket.removeListener("error", onSocketError).removeListener("readable", onSocketReadable).removeListener("end", onSocketEnd).removeListener("close", onSocketClose);
-        client[kSocket] = null;
-        client[kQueue][client[kRunningIdx]++] = null;
-        client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
-        try {
-          request2.onUpgrade(statusCode, headers, socket);
-        } catch (err) {
-          util.destroy(socket, err);
+      off(ev, ...args) {
+        const ret = super.off(ev, ...args);
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0;
         }
-        resume(client);
+        return ret;
       }
-      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;
+      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;
         }
-        assert.strictEqual(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();
+        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);
           }
         }
-        if (request2.method === "CONNECT") {
-          assert(client[kRunning] === 1);
-          this.upgrade = true;
-          return 2;
+        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");
         }
-        if (upgrade) {
-          assert(client[kRunning] === 1);
-          this.upgrade = true;
-          return 2;
+        signal?.throwIfAborted();
+        if (this._readableState.closeEmitted) {
+          return null;
         }
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        if (this.shouldKeepAlive && client[kPipelining]) {
-          const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null;
-          if (keepAliveTimeout != null) {
-            const timeout = Math.min(
-              keepAliveTimeout - client[kKeepAliveTimeoutThreshold],
-              client[kKeepAliveMaxTimeout]
-            );
-            if (timeout <= 0) {
-              socket[kReset] = true;
+        return await new Promise((resolve6, 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 {
-              client[kKeepAliveTimeoutValue] = timeout;
+              resolve6(null);
+            }
+          }).on("error", noop3).on("data", function(chunk) {
+            limit -= chunk.length;
+            if (limit <= 0) {
+              this.destroy();
             }
+          }).resume();
+        });
+      }
+    };
+    function isLocked(self2) {
+      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
+    }
+    function isUnusable(self2) {
+      return util.isDisturbed(self2) || isLocked(self2);
+    }
+    async function consume(stream2, type2) {
+      assert(!stream2[kConsume]);
+      return new Promise((resolve6, reject) => {
+        if (isUnusable(stream2)) {
+          const rState = stream2._readableState;
+          if (rState.destroyed && rState.closeEmitted === false) {
+            stream2.on("error", (err) => {
+              reject(err);
+            }).on("close", () => {
+              reject(new TypeError("unusable"));
+            });
           } else {
-            client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout];
+            reject(rState.errored ?? new TypeError("unusable"));
           }
         } else {
-          socket[kReset] = true;
+          queueMicrotask(() => {
+            stream2[kConsume] = {
+              type: type2,
+              stream: stream2,
+              resolve: resolve6,
+              reject,
+              length: 0,
+              body: []
+            };
+            stream2.on("error", function(err) {
+              consumeFinish(this[kConsume], err);
+            }).on("close", function() {
+              if (this[kConsume].body !== null) {
+                consumeFinish(this[kConsume], new RequestAbortedError());
+              }
+            });
+            consumeStart(stream2[kConsume]);
+          });
         }
-        const pause = request2.onHeaders(statusCode, headers, this.resume, statusText) === false;
-        if (request2.aborted) {
-          return -1;
+      });
+    }
+    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]);
         }
-        if (request2.method === "HEAD") {
-          return 1;
+      } else {
+        for (const chunk of state.buffer) {
+          consumePush(consume2, chunk);
         }
-        if (statusCode < 200) {
-          return 1;
+      }
+      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: type2, body, resolve: resolve6, stream: stream2, length } = consume2;
+      try {
+        if (type2 === "text") {
+          resolve6(chunksDecode(body, length));
+        } else if (type2 === "json") {
+          resolve6(JSON.parse(chunksDecode(body, length)));
+        } else if (type2 === "arrayBuffer") {
+          resolve6(chunksConcat(body, length).buffer);
+        } else if (type2 === "blob") {
+          resolve6(new Blob(body, { type: stream2[kContentType] }));
+        } else if (type2 === "bytes") {
+          resolve6(chunksConcat(body, length));
         }
-        if (socket[kBlocking]) {
-          socket[kBlocking] = false;
-          resume(client);
+        consumeFinish(consume2);
+      } catch (err) {
+        stream2.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/@actions/github/node_modules/undici/lib/api/util.js
+var require_util11 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/util.js"(exports2, module2) {
+    var assert = require("node:assert");
+    var {
+      ResponseStatusCodeError
+    } = require_errors2();
+    var { chunksDecode } = require_readable2();
+    var CHUNK_LIMIT = 128 * 1024;
+    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
+      assert(body);
+      let chunks = [];
+      let length = 0;
+      try {
+        for await (const chunk of body) {
+          chunks.push(chunk);
+          length += chunk.length;
+          if (length > CHUNK_LIMIT) {
+            chunks = [];
+            length = 0;
+            break;
+          }
         }
-        return pause ? constants.ERROR.PAUSED : 0;
+      } catch {
+        chunks = [];
+        length = 0;
       }
-      onBody(buf) {
-        const { client, socket, statusCode, maxResponseSize } = this;
-        if (socket.destroyed) {
-          return -1;
+      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);
         }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert.strictEqual(this.timeoutType, TIMEOUT_BODY);
-        if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
+      } 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/@actions/github/node_modules/undici/lib/api/api-request.js
+var require_api_request2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-request.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { Readable: Readable2 } = require_readable2();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
+    var util = require_util9();
+    var { getResolveErrorBodyCallback } = require_util11();
+    var { AsyncResource } = require("node:async_hooks");
+    var RequestHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
+        try {
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
+            throw new InvalidArgumentError("invalid highWaterMark");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
           }
+          super("UNDICI_REQUEST");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
         }
-        assert(statusCode >= 200);
-        if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
-          util.destroy(socket, new ResponseExceededMaxSizeError());
-          return -1;
+        this.method = method;
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.body = body;
+        this.trailers = {};
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError;
+        this.highWaterMark = highWaterMark;
+        this.signal = signal;
+        this.reason = null;
+        this.removeAbortListener = null;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
         }
-        this.bytesRead += buf.length;
-        if (request2.onData(buf) === false) {
-          return constants.ERROR.PAUSED;
+        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;
+              }
+            });
+          }
         }
       }
-      onMessageComplete() {
-        const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;
-        if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
-          return -1;
-        }
-        if (upgrade) {
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
           return;
         }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert(statusCode >= 100);
-        this.statusCode = null;
-        this.statusText = "";
-        this.bytesRead = 0;
-        this.contentLength = "";
-        this.keepAlive = "";
-        this.connection = "";
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
+      }
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { callback, opaque, abort, context: context2, responseHeaders, highWaterMark } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
         if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
+          }
           return;
         }
-        if (request2.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) {
-          util.destroy(socket, new ResponseContentLengthMismatchError());
-          return -1;
+        const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
+        const contentType = parsedHeaders["content-type"];
+        const contentLength = parsedHeaders["content-length"];
+        const res = new Readable2({
+          resume,
+          abort,
+          contentType,
+          contentLength: this.method !== "HEAD" && contentLength ? Number(contentLength) : null,
+          highWaterMark
+        });
+        if (this.removeAbortListener) {
+          res.on("close", this.removeAbortListener);
         }
-        request2.onComplete(headers);
-        client[kQueue][client[kRunningIdx]++] = null;
-        if (socket[kWriting]) {
-          assert.strictEqual(client[kRunning], 0);
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (!shouldKeepAlive) {
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (socket[kReset] && client[kRunning] === 0) {
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (client[kPipelining] === 1) {
-          setImmediate(resume, client);
-        } else {
-          resume(client);
+        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: context2
+            });
+          }
         }
       }
-    };
-    function onParserTimeout(parser) {
-      const { socket, timeoutType, client } = parser;
-      if (timeoutType === TIMEOUT_HEADERS) {
-        if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
-          assert(!parser.paused, "cannot be paused while waiting for headers");
-          util.destroy(socket, new HeadersTimeoutError());
+      onData(chunk) {
+        return this.res.push(chunk);
+      }
+      onComplete(trailers) {
+        util.parseHeaders(trailers, this.trailers);
+        this.res.push(null);
+      }
+      onError(err) {
+        const { res, callback, body, opaque } = this;
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-      } else if (timeoutType === TIMEOUT_BODY) {
-        if (!parser.paused) {
-          util.destroy(socket, new BodyTimeoutError());
+        if (res) {
+          this.res = null;
+          queueMicrotask(() => {
+            util.destroy(res, err);
+          });
+        }
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
+        }
+        if (this.removeAbortListener) {
+          res?.off("close", this.removeAbortListener);
+          this.removeAbortListener();
+          this.removeAbortListener = null;
         }
-      } else if (timeoutType === TIMEOUT_IDLE) {
-        assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
-        util.destroy(socket, new InformationalError("socket idle timeout"));
       }
-    }
-    function onSocketReadable() {
-      const { [kParser]: parser } = this;
-      if (parser) {
-        parser.readMore();
+    };
+    function request2(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve6, reject) => {
+          request2.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve6(data);
+          });
+        });
       }
-    }
-    function onSocketError(err) {
-      const { [kClient]: client, [kParser]: parser } = this;
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      if (client[kHTTPConnVersion] !== "h2") {
-        if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-          return;
+      try {
+        this.dispatch(opts, new RequestHandler(opts, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
-      this[kError] = err;
-      onError(this[kClient], err);
     }
-    function onError(client, err) {
-      if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
-        assert(client[kPendingIdx] === client[kRunningIdx]);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
-        }
-        assert(client[kSize] === 0);
+    module2.exports = request2;
+    module2.exports.RequestHandler = RequestHandler;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js
+var require_abort_signal2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
+    var { addAbortListener } = require_util9();
+    var { RequestAbortedError } = require_errors2();
+    var kListener = /* @__PURE__ */ Symbol("kListener");
+    var kSignal = /* @__PURE__ */ Symbol("kSignal");
+    function abort(self2) {
+      if (self2.abort) {
+        self2.abort(self2[kSignal]?.reason);
+      } else {
+        self2.reason = self2[kSignal]?.reason ?? new RequestAbortedError();
       }
+      removeSignal(self2);
     }
-    function onSocketEnd() {
-      const { [kParser]: parser, [kClient]: client } = this;
-      if (client[kHTTPConnVersion] !== "h2") {
-        if (parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-          return;
-        }
+    function addSignal(self2, signal) {
+      self2.reason = null;
+      self2[kSignal] = null;
+      self2[kListener] = null;
+      if (!signal) {
+        return;
+      }
+      if (signal.aborted) {
+        abort(self2);
+        return;
       }
-      util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+      self2[kSignal] = signal;
+      self2[kListener] = () => {
+        abort(self2);
+      };
+      addAbortListener(self2[kSignal], self2[kListener]);
     }
-    function onSocketClose() {
-      const { [kClient]: client, [kParser]: parser } = this;
-      if (client[kHTTPConnVersion] === "h1" && parser) {
-        if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-        }
-        this[kParser].destroy();
-        this[kParser] = null;
+    function removeSignal(self2) {
+      if (!self2[kSignal]) {
+        return;
       }
-      const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
-      client[kSocket] = null;
-      if (client.destroyed) {
-        assert(client[kPending] === 0);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
-        }
-      } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
+      if ("removeEventListener" in self2[kSignal]) {
+        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      } else {
+        self2[kSignal].removeListener("abort", self2[kListener]);
       }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit("disconnect", client[kUrl], [client], err);
-      resume(client);
+      self2[kSignal] = null;
+      self2[kListener] = null;
     }
-    async function connect(client) {
-      assert(!client[kConnecting]);
-      assert(!client[kSocket]);
-      let { host, hostname, protocol, port } = client[kUrl];
-      if (hostname[0] === "[") {
-        const idx = hostname.indexOf("]");
-        assert(idx !== -1);
-        const ip = hostname.substring(1, idx);
-        assert(net.isIP(ip));
-        hostname = ip;
+    module2.exports = {
+      addSignal,
+      removeSignal
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-stream.js
+var require_api_stream2 = __commonJS({
+  "node_modules/@actions/github/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_errors2();
+    var util = require_util9();
+    var { getResolveErrorBodyCallback } = require_util11();
+    var { AsyncResource } = require("node:async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var StreamHandler = class extends AsyncResource {
+      constructor(opts, factory, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
+        try {
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (typeof factory !== "function") {
+            throw new InvalidArgumentError("invalid factory");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
+          }
+          super("UNDICI_STREAM");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
+        }
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.factory = factory;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.context = null;
+        this.trailers = null;
+        this.body = body;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError || false;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
+        }
+        addSignal(this, signal);
       }
-      client[kConnecting] = true;
-      if (channels.beforeConnect.hasSubscribers) {
-        channels.beforeConnect.publish({
-          connectParams: {
-            host,
-            hostname,
-            protocol,
-            port,
-            servername: client[kServerName],
-            localAddress: client[kLocalAddress]
-          },
-          connector: client[kConnector]
-        });
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
+        }
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
       }
-      try {
-        const socket = await new Promise((resolve6, reject) => {
-          client[kConnector]({
-            host,
-            hostname,
-            protocol,
-            port,
-            servername: client[kServerName],
-            localAddress: client[kLocalAddress]
-          }, (err, socket2) => {
-            if (err) {
-              reject(err);
-            } else {
-              resolve6(socket2);
-            }
-          });
-        });
-        if (client.destroyed) {
-          util.destroy(socket.on("error", () => {
-          }), new ClientDestroyedError());
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { factory, opaque, context: context2, callback, responseHeaders } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
+          }
           return;
         }
-        client[kConnecting] = false;
-        assert(socket);
-        const isH2 = socket.alpnProtocol === "h2";
-        if (isH2) {
-          if (!h2ExperimentalWarned) {
-            h2ExperimentalWarned = true;
-            process.emitWarning("H2 support is experimental, expect them to change at any time.", {
-              code: "UNDICI-H2"
-            });
+        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;
           }
-          const session = http2.connect(client[kUrl], {
-            createConnection: () => socket,
-            peerMaxConcurrentStreams: client[kHTTP2SessionState].maxConcurrentStreams
+          res = this.runInAsyncScope(factory, null, {
+            statusCode,
+            headers,
+            opaque,
+            context: context2
           });
-          client[kHTTPConnVersion] = "h2";
-          session[kClient] = client;
-          session[kSocket] = socket;
-          session.on("error", onHttp2SessionError);
-          session.on("frameError", onHttp2FrameError);
-          session.on("end", onHttp2SessionEnd);
-          session.on("goaway", onHTTP2GoAway);
-          session.on("close", onSocketClose);
-          session.unref();
-          client[kHTTP2Session] = session;
-          socket[kHTTP2Session] = session;
-        } else {
-          if (!llhttpInstance) {
-            llhttpInstance = await llhttpPromise;
-            llhttpPromise = null;
+          if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") {
+            throw new InvalidReturnValueError("expected Writable");
           }
-          socket[kNoRef] = false;
-          socket[kWriting] = false;
-          socket[kReset] = false;
-          socket[kBlocking] = false;
-          socket[kParser] = new Parser(client, socket, llhttpInstance);
-        }
-        socket[kCounter] = 0;
-        socket[kMaxRequests] = client[kMaxRequests];
-        socket[kClient] = client;
-        socket[kError] = null;
-        socket.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose);
-        client[kSocket] = socket;
-        if (channels.connected.hasSubscribers) {
-          channels.connected.publish({
-            connectParams: {
-              host,
-              hostname,
-              protocol,
-              port,
-              servername: client[kServerName],
-              localAddress: client[kLocalAddress]
-            },
-            connector: client[kConnector],
-            socket
+          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();
+            }
           });
         }
-        client.emit("connect", client[kUrl], [client]);
-      } catch (err) {
-        if (client.destroyed) {
+        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;
         }
-        client[kConnecting] = false;
-        if (channels.connectError.hasSubscribers) {
-          channels.connectError.publish({
-            connectParams: {
-              host,
-              hostname,
-              protocol,
-              port,
-              servername: client[kServerName],
-              localAddress: client[kLocalAddress]
-            },
-            connector: client[kConnector],
-            error: err
+        this.trailers = util.parseHeaders(trailers);
+        res.end();
+      }
+      onError(err) {
+        const { res, callback, opaque, body } = this;
+        removeSignal(this);
+        this.factory = null;
+        if (res) {
+          this.res = null;
+          util.destroy(res, err);
+        } else if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
           });
         }
-        if (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]++];
-            errorRequest2(client, request2, err);
-          }
-        } else {
-          onError(client, err);
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
         }
-        client.emit("connectionError", client[kUrl], [client], err);
       }
-      resume(client);
-    }
-    function emitDrain(client) {
-      client[kNeedDrain] = 0;
-      client.emit("drain", client[kUrl], [client]);
-    }
-    function resume(client, sync) {
-      if (client[kResuming] === 2) {
-        return;
+    };
+    function stream2(opts, factory, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve6, reject) => {
+          stream2.call(this, opts, factory, (err, data) => {
+            return err ? reject(err) : resolve6(data);
+          });
+        });
       }
-      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;
+      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 }));
       }
     }
-    function _resume(client, sync) {
-      while (true) {
-        if (client.destroyed) {
-          assert(client[kPending] === 0);
-          return;
+    module2.exports = stream2;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js
+var require_api_pipeline2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
+    "use strict";
+    var {
+      Readable: Readable2,
+      Duplex,
+      PassThrough
+    } = require("node:stream");
+    var {
+      InvalidArgumentError,
+      InvalidReturnValueError,
+      RequestAbortedError
+    } = require_errors2();
+    var util = require_util9();
+    var { AsyncResource } = require("node:async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var assert = require("node:assert");
+    var kResume = /* @__PURE__ */ Symbol("resume");
+    var PipelineRequest = class extends Readable2 {
+      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 Readable2 {
+      constructor(resume) {
+        super({ autoDestroy: true });
+        this[kResume] = resume;
+      }
+      _read() {
+        this[kResume]();
+      }
+      _destroy(err, callback) {
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
         }
-        if (client[kClosedResolve] && !client[kSize]) {
-          client[kClosedResolve]();
-          client[kClosedResolve] = null;
-          return;
+        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");
         }
-        const socket = client[kSocket];
-        if (socket && !socket.destroyed && socket.alpnProtocol !== "h2") {
-          if (client[kSize] === 0) {
-            if (!socket[kNoRef] && socket.unref) {
-              socket.unref();
-              socket[kNoRef] = true;
+        super("UNDICI_PIPELINE");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.handler = handler2;
+        this.abort = null;
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.req = new PipelineRequest().on("error", util.nop);
+        this.ret = new Duplex({
+          readableObjectMode: opts.objectMode,
+          autoDestroy: true,
+          read: () => {
+            const { body } = this;
+            if (body?.resume) {
+              body.resume();
             }
-          } else if (socket[kNoRef] && socket.ref) {
-            socket.ref();
-            socket[kNoRef] = false;
-          }
-          if (client[kSize] === 0) {
-            if (socket[kParser].timeoutType !== TIMEOUT_IDLE) {
-              socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE);
+          },
+          write: (chunk, encoding, callback) => {
+            const { req } = this;
+            if (req.push(chunk, encoding) || req._readableState.destroyed) {
+              callback();
+            } else {
+              req[kResume] = callback;
+            }
+          },
+          destroy: (err, callback) => {
+            const { body, req, res, ret, abort } = this;
+            if (!err && !ret._readableState.endEmitted) {
+              err = new RequestAbortedError();
             }
-          } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
-            if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
-              const request3 = client[kQueue][client[kRunningIdx]];
-              const headersTimeout = request3.headersTimeout != null ? request3.headersTimeout : client[kHeadersTimeout];
-              socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
+            if (abort && err) {
+              abort();
             }
+            util.destroy(body, err);
+            util.destroy(req, err);
+            util.destroy(res, err);
+            removeSignal(this);
+            callback(err);
           }
+        }).on("prefinish", () => {
+          const { req } = this;
+          req.push(null);
+        });
+        this.res = null;
+        addSignal(this, signal);
+      }
+      onConnect(abort, context2) {
+        const { ret, res } = this;
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
-        if (client[kBusy]) {
-          client[kNeedDrain] = 2;
-        } else if (client[kNeedDrain] === 2) {
-          if (sync) {
-            client[kNeedDrain] = 1;
-            process.nextTick(emitDrain, client);
-          } else {
-            emitDrain(client);
+        assert(!res, "pipeline cannot be retried");
+        assert(!ret.destroyed);
+        this.abort = abort;
+        this.context = context2;
+      }
+      onHeaders(statusCode, rawHeaders, resume) {
+        const { opaque, handler: handler2, context: context2 } = this;
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+            this.onInfo({ statusCode, headers });
           }
-          continue;
-        }
-        if (client[kPending] === 0) {
           return;
         }
-        if (client[kRunning] >= (client[kPipelining] || 1)) {
-          return;
+        this.res = new PipelineResponse(resume);
+        let body;
+        try {
+          this.handler = null;
+          const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+          body = this.runInAsyncScope(handler2, null, {
+            statusCode,
+            headers,
+            opaque,
+            body: this.res,
+            context: context2
+          });
+        } catch (err) {
+          this.res.on("error", util.nop);
+          throw err;
         }
-        const request2 = client[kQueue][client[kPendingIdx]];
-        if (client[kUrl].protocol === "https:" && client[kServerName] !== request2.servername) {
-          if (client[kRunning] > 0) {
-            return;
+        if (!body || typeof body.on !== "function") {
+          throw new InvalidReturnValueError("expected Readable");
+        }
+        body.on("data", (chunk) => {
+          const { ret, body: body2 } = this;
+          if (!ret.push(chunk) && body2.pause) {
+            body2.pause();
           }
-          client[kServerName] = request2.servername;
-          if (socket && socket.servername !== request2.servername) {
-            util.destroy(socket, new InformationalError("servername changed"));
-            return;
+        }).on("error", (err) => {
+          const { ret } = this;
+          util.destroy(ret, err);
+        }).on("end", () => {
+          const { ret } = this;
+          ret.push(null);
+        }).on("close", () => {
+          const { ret } = this;
+          if (!ret._readableState.ended) {
+            util.destroy(ret, new RequestAbortedError());
           }
+        });
+        this.body = body;
+      }
+      onData(chunk) {
+        const { res } = this;
+        return res.push(chunk);
+      }
+      onComplete(trailers) {
+        const { res } = this;
+        res.push(null);
+      }
+      onError(err) {
+        const { ret } = this;
+        this.handler = null;
+        util.destroy(ret, err);
+      }
+    };
+    function pipeline(opts, handler2) {
+      try {
+        const pipelineHandler = new PipelineHandler(opts, handler2);
+        this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler);
+        return pipelineHandler.ret;
+      } catch (err) {
+        return new PassThrough().destroy(err);
+      }
+    }
+    module2.exports = pipeline;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js
+var require_api_upgrade2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
+    "use strict";
+    var { InvalidArgumentError, SocketError } = require_errors2();
+    var { AsyncResource } = require("node:async_hooks");
+    var util = require_util9();
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var assert = require("node:assert");
+    var UpgradeHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        if (client[kConnecting]) {
-          return;
-        }
-        if (!socket && !client[kHTTP2Session]) {
-          connect(client);
-          return;
-        }
-        if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) {
-          return;
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
         }
-        if (client[kRunning] > 0 && !request2.idempotent) {
-          return;
+        const { signal, opaque, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
         }
-        if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
+        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, context2) {
+        if (this.reason) {
+          abort(this.reason);
           return;
         }
-        if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body))) {
-          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: context2 } = 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: context2
+        });
+      }
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        if (!request2.aborted && write(client, request2)) {
-          client[kPendingIdx]++;
-        } else {
-          client[kQueue].splice(client[kPendingIdx], 1);
+      }
+    };
+    function upgrade(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve6, reject) => {
+          upgrade.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve6(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 }));
       }
     }
-    function shouldSendContentLength(method) {
-      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
-    }
-    function write(client, request2) {
-      if (client[kHTTPConnVersion] === "h2") {
-        writeH2(client, client[kHTTP2Session], request2);
-        return;
-      }
-      const { body, method, path: path12, host, upgrade, headers, blocking, reset } = request2;
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
-      if (body && typeof body.read === "function") {
-        body.read(0);
+    module2.exports = upgrade;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-connect.js
+var require_api_connect2 = __commonJS({
+  "node_modules/@actions/github/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_errors2();
+    var util = require_util9();
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var ConnectHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        const { signal, opaque, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        }
+        super("UNDICI_CONNECT");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.callback = callback;
+        this.abort = null;
+        addSignal(this, signal);
       }
-      const bodyLength = util.bodyLength(body);
-      let contentLength = bodyLength;
-      if (contentLength === null) {
-        contentLength = request2.contentLength;
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
+        }
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
       }
-      if (contentLength === 0 && !expectsPayload) {
-        contentLength = null;
+      onHeaders() {
+        throw new SocketError("bad connect", null);
       }
-      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
-        if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
-          return false;
+      onUpgrade(statusCode, rawHeaders, socket) {
+        const { callback, opaque, context: context2 } = this;
+        removeSignal(this);
+        this.callback = null;
+        let headers = rawHeaders;
+        if (headers != null) {
+          headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
         }
-        process.emitWarning(new RequestContentLengthMismatchError());
-      }
-      const socket = client[kSocket];
-      try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
-            return;
-          }
-          errorRequest2(client, request2, err || new RequestAbortedError());
-          util.destroy(socket, new InformationalError("aborted"));
+        this.runInAsyncScope(callback, null, null, {
+          statusCode,
+          headers,
+          socket,
+          opaque,
+          context: context2
         });
-      } catch (err) {
-        errorRequest2(client, request2, err);
       }
-      if (request2.aborted) {
-        return false;
-      }
-      if (method === "HEAD") {
-        socket[kReset] = true;
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
+        }
       }
-      if (upgrade || method === "CONNECT") {
-        socket[kReset] = true;
+    };
+    function connect(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve6, reject) => {
+          connect.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve6(data);
+          });
+        });
       }
-      if (reset != null) {
-        socket[kReset] = reset;
+      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 }));
       }
-      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
-        socket[kReset] = true;
+    }
+    module2.exports = connect;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/index.js
+var require_api2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/index.js"(exports2, module2) {
+    "use strict";
+    module2.exports.request = require_api_request2();
+    module2.exports.stream = require_api_stream2();
+    module2.exports.pipeline = require_api_pipeline2();
+    module2.exports.upgrade = require_api_upgrade2();
+    module2.exports.connect = require_api_connect2();
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js
+var require_mock_errors2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
+    "use strict";
+    var { UndiciError } = require_errors2();
+    var kMockNotMatchedError = /* @__PURE__ */ 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";
       }
-      if (blocking) {
-        socket[kBlocking] = true;
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kMockNotMatchedError] === true;
       }
-      let header = `${method} ${path12} HTTP/1.1\r
-`;
-      if (typeof host === "string") {
-        header += `host: ${host}\r
-`;
-      } else {
-        header += client[kHostHeader];
+      [kMockNotMatchedError] = true;
+    };
+    module2.exports = {
+      MockNotMatchedError
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js
+var require_mock_symbols2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kAgent: /* @__PURE__ */ Symbol("agent"),
+      kOptions: /* @__PURE__ */ Symbol("options"),
+      kFactory: /* @__PURE__ */ Symbol("factory"),
+      kDispatches: /* @__PURE__ */ Symbol("dispatches"),
+      kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
+      kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
+      kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
+      kContentLength: /* @__PURE__ */ Symbol("content length"),
+      kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
+      kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
+      kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
+      kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
+      kClose: /* @__PURE__ */ Symbol("close"),
+      kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
+      kOrigin: /* @__PURE__ */ Symbol("origin"),
+      kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
+      kNetConnect: /* @__PURE__ */ Symbol("net connect"),
+      kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
+      kConnected: /* @__PURE__ */ Symbol("connected")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js
+var require_mock_utils2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
+    "use strict";
+    var { MockNotMatchedError } = require_mock_errors2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kOriginalDispatch,
+      kOrigin,
+      kGetNetConnect
+    } = require_mock_symbols2();
+    var { buildURL } = require_util9();
+    var { STATUS_CODES } = require("node:http");
+    var {
+      types: {
+        isPromise
       }
-      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";
+    } = require("node:util");
+    function matchValue(match, value) {
+      if (typeof match === "string") {
+        return match === value;
       }
-      if (headers) {
-        header += headers;
+      if (match instanceof RegExp) {
+        return match.test(value);
       }
-      if (channels.sendHeaders.hasSubscribers) {
-        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      if (typeof match === "function") {
+        return match(value) === true;
       }
-      if (!body || bodyLength === 0) {
-        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");
-        }
-        request2.onRequestSent();
-      } else if (util.isBuffer(body)) {
-        assert(contentLength === body.byteLength, "buffer body must have content length");
-        socket.cork();
-        socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-        socket.write(body);
-        socket.uncork();
-        request2.onBodySent(body);
-        request2.onRequestSent();
-        if (!expectsPayload) {
-          socket[kReset] = true;
-        }
-      } else if (util.isBlobLike(body)) {
-        if (typeof body.stream === "function") {
-          writeIterable({ body: body.stream(), client, request: request2, socket, contentLength, header, expectsPayload });
-        } else {
-          writeBlob({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+      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];
+          }
         }
-      } else if (util.isStream(body)) {
-        writeStream({ body, client, request: request2, socket, contentLength, header, expectsPayload });
-      } else if (util.isIterable(body)) {
-        writeIterable({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+        return void 0;
+      } else if (typeof headers.get === "function") {
+        return headers.get(key);
       } else {
-        assert(false);
+        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 true;
+      return Object.fromEntries(entries);
     }
-    function writeH2(client, session, request2) {
-      const { body, method, path: path12, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
-      let headers;
-      if (typeof reqHeaders === "string") headers = Request[kHTTP2CopyHeaders](reqHeaders.trim());
-      else headers = reqHeaders;
-      if (upgrade) {
-        errorRequest2(client, request2, new Error("Upgrade not supported for H2"));
-        return false;
+    function matchHeaders(mockDispatch2, headers) {
+      if (typeof mockDispatch2.headers === "function") {
+        if (Array.isArray(headers)) {
+          headers = buildHeadersFromArray(headers);
+        }
+        return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {});
       }
-      try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
-            return;
-          }
-          errorRequest2(client, request2, err || new RequestAbortedError());
-        });
-      } catch (err) {
-        errorRequest2(client, request2, err);
+      if (typeof mockDispatch2.headers === "undefined") {
+        return true;
       }
-      if (request2.aborted) {
+      if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") {
         return false;
       }
-      let stream2;
-      const h2State = client[kHTTP2SessionState];
-      headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost];
-      headers[HTTP2_HEADER_METHOD] = method;
-      if (method === "CONNECT") {
-        session.ref();
-        stream2 = session.request(headers, { endStream: false, signal });
-        if (stream2.id && !stream2.pending) {
-          request2.onUpgrade(null, null, stream2);
-          ++h2State.openStreams;
-        } else {
-          stream2.once("ready", () => {
-            request2.onUpgrade(null, null, stream2);
-            ++h2State.openStreams;
-          });
+      for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) {
+        const headerValue = getHeaderByName(headers, matchHeaderName);
+        if (!matchValue(matchHeaderValue, headerValue)) {
+          return false;
         }
-        stream2.once("close", () => {
-          h2State.openStreams -= 1;
-          if (h2State.openStreams === 0) session.unref();
-        });
-        return true;
       }
-      headers[HTTP2_HEADER_PATH] = path12;
-      headers[HTTP2_HEADER_SCHEME] = "https";
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
-      if (body && typeof body.read === "function") {
-        body.read(0);
+      return true;
+    }
+    function safeUrl(path12) {
+      if (typeof path12 !== "string") {
+        return path12;
       }
-      let contentLength = util.bodyLength(body);
-      if (contentLength == null) {
-        contentLength = request2.contentLength;
+      const pathSegments = path12.split("?");
+      if (pathSegments.length !== 2) {
+        return path12;
       }
-      if (contentLength === 0 || !expectsPayload) {
-        contentLength = null;
+      const qp = new URLSearchParams(pathSegments.pop());
+      qp.sort();
+      return [...pathSegments, qp.toString()].join("?");
+    }
+    function matchKey(mockDispatch2, { path: path12, method, body, headers }) {
+      const pathMatch = matchValue(mockDispatch2.path, path12);
+      const methodMatch = matchValue(mockDispatch2.method, method);
+      const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
+      const headersMatch = matchHeaders(mockDispatch2, headers);
+      return pathMatch && methodMatch && bodyMatch && headersMatch;
+    }
+    function getResponseData2(data) {
+      if (Buffer.isBuffer(data)) {
+        return data;
+      } else if (data instanceof Uint8Array) {
+        return data;
+      } else if (data instanceof ArrayBuffer) {
+        return data;
+      } else if (typeof data === "object") {
+        return JSON.stringify(data);
+      } else {
+        return data.toString();
       }
-      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
-        if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
-          return false;
-        }
-        process.emitWarning(new RequestContentLengthMismatchError());
+    }
+    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: path12 }) => matchValue(safeUrl(path12), resolvedPath));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
       }
-      if (contentLength != null) {
-        assert(body, "no body must not have content length");
-        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
+      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}'`);
       }
-      session.ref();
-      const shouldEndStream = method === "GET" || method === "HEAD";
-      if (expectContinue) {
-        headers[HTTP2_HEADER_EXPECT] = "100-continue";
-        stream2 = session.request(headers, { endStream: shouldEndStream, signal });
-        stream2.once("continue", writeBodyH2);
-      } else {
-        stream2 = session.request(headers, {
-          endStream: shouldEndStream,
-          signal
-        });
-        writeBodyH2();
+      matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}' on path '${resolvedPath}'`);
       }
-      ++h2State.openStreams;
-      stream2.once("response", (headers2) => {
-        const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
-        if (request2.onHeaders(Number(statusCode), realHeaders, stream2.resume.bind(stream2), "") === false) {
-          stream2.pause();
-        }
-      });
-      stream2.once("end", () => {
-        request2.onComplete([]);
-      });
-      stream2.on("data", (chunk) => {
-        if (request2.onData(chunk) === false) {
-          stream2.pause();
-        }
-      });
-      stream2.once("close", () => {
-        h2State.openStreams -= 1;
-        if (h2State.openStreams === 0) {
-          session.unref();
-        }
-      });
-      stream2.once("error", function(err) {
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream2, err);
-        }
-      });
-      stream2.once("frameError", (type2, code) => {
-        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-        errorRequest2(client, request2, err);
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream2, err);
+      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);
       });
-      return true;
-      function writeBodyH2() {
-        if (!body) {
-          request2.onRequestSent();
-        } else if (util.isBuffer(body)) {
-          assert(contentLength === body.byteLength, "buffer body must have content length");
-          stream2.cork();
-          stream2.write(body);
-          stream2.uncork();
-          stream2.end();
-          request2.onBodySent(body);
-          request2.onRequestSent();
-        } else if (util.isBlobLike(body)) {
-          if (typeof body.stream === "function") {
-            writeIterable({
-              client,
-              request: request2,
-              contentLength,
-              h2stream: stream2,
-              expectsPayload,
-              body: body.stream(),
-              socket: client[kSocket],
-              header: ""
-            });
-          } else {
-            writeBlob({
-              body,
-              client,
-              request: request2,
-              contentLength,
-              expectsPayload,
-              h2stream: stream2,
-              header: "",
-              socket: client[kSocket]
-            });
-          }
-        } else if (util.isStream(body)) {
-          writeStream({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            socket: client[kSocket],
-            h2stream: stream2,
-            header: ""
-          });
-        } else if (util.isIterable(body)) {
-          writeIterable({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            header: "",
-            h2stream: stream2,
-            socket: client[kSocket]
-          });
-        } else {
-          assert(false);
-        }
+      if (index !== -1) {
+        mockDispatches.splice(index, 1);
       }
     }
-    function writeStream({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
-      if (client[kHTTPConnVersion] === "h2") {
-        let onPipeData = function(chunk) {
-          request2.onBodySent(chunk);
-        };
-        const pipe = pipeline(
-          body,
-          h2stream,
-          (err) => {
-            if (err) {
-              util.destroy(body, err);
-              util.destroy(h2stream, err);
-            } else {
-              request2.onRequestSent();
-            }
-          }
-        );
-        pipe.on("data", onPipeData);
-        pipe.once("end", () => {
-          pipe.removeListener("data", onPipeData);
-          util.destroy(pipe);
-        });
-        return;
-      }
-      let finished = false;
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
-      const onData = function(chunk) {
-        if (finished) {
-          return;
-        }
-        try {
-          if (!writer.write(chunk) && this.pause) {
-            this.pause();
-          }
-        } catch (err) {
-          util.destroy(this, err);
-        }
-      };
-      const onDrain = function() {
-        if (finished) {
-          return;
-        }
-        if (body.resume) {
-          body.resume();
-        }
-      };
-      const onAbort = function() {
-        if (finished) {
-          return;
-        }
-        const err = new RequestAbortedError();
-        queueMicrotask(() => onFinished(err));
+    function buildKey(opts) {
+      const { path: path12, method, body, headers, query } = opts;
+      return {
+        path: path12,
+        method,
+        body,
+        headers,
+        query
       };
-      const onFinished = function(err) {
-        if (finished) {
-          return;
-        }
-        finished = true;
-        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
-        socket.off("drain", onDrain).off("error", onFinished);
-        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("error", onFinished).removeListener("close", onAbort);
-        if (!err) {
-          try {
-            writer.end();
-          } catch (er) {
-            err = er;
+    }
+    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]}`));
           }
-        }
-        writer.destroy(err);
-        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
-          util.destroy(body, err);
         } else {
-          util.destroy(body);
+          result.push(name, Buffer.from(`${value}`));
         }
-      };
-      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onAbort);
-      if (body.resume) {
-        body.resume();
       }
-      socket.on("drain", onDrain).on("error", onFinished);
+      return result;
     }
-    async function writeBlob({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength === body.size, "blob body must have content length");
-      const isH2 = client[kHTTPConnVersion] === "h2";
-      try {
-        if (contentLength != null && contentLength !== body.size) {
-          throw new RequestContentLengthMismatchError();
-        }
-        const buffer = Buffer.from(await body.arrayBuffer());
-        if (isH2) {
-          h2stream.cork();
-          h2stream.write(buffer);
-          h2stream.uncork();
-        } else {
-          socket.cork();
-          socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-          socket.write(buffer);
-          socket.uncork();
-        }
-        request2.onBodySent(buffer);
-        request2.onRequestSent();
-        if (!expectsPayload) {
-          socket[kReset] = true;
-        }
-        resume(client);
-      } catch (err) {
-        util.destroy(isH2 ? h2stream : socket, err);
+    function getStatusText(statusCode) {
+      return STATUS_CODES[statusCode] || "unknown";
+    }
+    async function getResponse(body) {
+      const buffers = [];
+      for await (const data of body) {
+        buffers.push(data);
       }
+      return Buffer.concat(buffers).toString("utf8");
     }
-    async function writeIterable({ h2stream, body, client, request: 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();
-        }
+    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 waitForDrain = () => new Promise((resolve6, reject) => {
-        assert(callback === null);
-        if (socket[kError]) {
-          reject(socket[kError]);
-        } else {
-          callback = resolve6;
-        }
-      });
-      if (client[kHTTPConnVersion] === "h2") {
-        h2stream.on("close", onDrain).on("drain", onDrain);
-        try {
-          for await (const chunk of body) {
-            if (socket[kError]) {
-              throw socket[kError];
-            }
-            const res = h2stream.write(chunk);
-            request2.onBodySent(chunk);
-            if (!res) {
-              await waitForDrain();
-            }
-          }
-        } catch (err) {
-          h2stream.destroy(err);
-        } finally {
-          request2.onRequestSent();
-          h2stream.end();
-          h2stream.off("close", onDrain).off("drain", onDrain);
-        }
-        return;
+      const { data: { statusCode, data, headers, trailers, error: error3 }, delay: delay2, persist } = mockDispatch2;
+      const { timesInvoked, times } = mockDispatch2;
+      mockDispatch2.consumed = !persist && timesInvoked >= times;
+      mockDispatch2.pending = timesInvoked < times;
+      if (error3 !== null) {
+        deleteMockDispatch(this[kDispatches], key);
+        handler2.onError(error3);
+        return true;
       }
-      socket.on("close", onDrain).on("drain", onDrain);
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
-      try {
-        for await (const chunk of body) {
-          if (socket[kError]) {
-            throw socket[kError];
-          }
-          if (!writer.write(chunk)) {
-            await waitForDrain();
-          }
+      if (typeof delay2 === "number" && delay2 > 0) {
+        setTimeout(() => {
+          handleReply(this[kDispatches]);
+        }, delay2);
+      } else {
+        handleReply(this[kDispatches]);
+      }
+      function handleReply(mockDispatches, _data = data) {
+        const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
+        const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
+        if (isPromise(body)) {
+          body.then((newData) => handleReply(mockDispatches, newData));
+          return;
         }
-        writer.end();
-      } catch (err) {
-        writer.destroy(err);
-      } finally {
-        socket.off("close", onDrain).off("drain", onDrain);
+        const responseData = getResponseData2(body);
+        const responseHeaders = generateKeyValues(headers);
+        const responseTrailers = generateKeyValues(trailers);
+        handler2.onConnect?.((err) => handler2.onError(err), null);
+        handler2.onHeaders?.(statusCode, responseHeaders, resume, getStatusText(statusCode));
+        handler2.onData?.(Buffer.from(responseData));
+        handler2.onComplete?.(responseTrailers);
+        deleteMockDispatch(mockDispatches, key);
       }
-    }
-    var AsyncWriter = class {
-      constructor({ 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;
-        socket[kWriting] = true;
+      function resume() {
       }
-      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) {
-            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 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 (error3) {
+            if (error3 instanceof MockNotMatchedError) {
+              const netConnect = agent[kGetNetConnect]();
+              if (netConnect === false) {
+                throw new MockNotMatchedError(`${error3.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(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
+              }
+            } else {
+              throw error3;
             }
           }
+        } else {
+          originalDispatch.call(this, opts, handler2);
         }
-        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();
-          }
-        }
-        resume(client);
-      }
-      destroy(err) {
-        const { socket, client } = this;
-        socket[kWriting] = false;
-        if (err) {
-          assert(client[kRunning] <= 1, "pipeline should only contain this request");
-          util.destroy(socket, err);
-        }
+      };
+    }
+    function checkNetConnect(netConnect, origin) {
+      const url2 = new URL(origin);
+      if (netConnect === true) {
+        return true;
+      } else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url2.host))) {
+        return true;
       }
-    };
-    function errorRequest2(client, request2, err) {
-      try {
-        request2.onError(err);
-        assert(request2.aborted);
-      } catch (err2) {
-        client.emit("error", err2);
+      return false;
+    }
+    function buildMockOptions(opts) {
+      if (opts) {
+        const { agent, ...mockOptions } = opts;
+        return mockOptions;
       }
     }
-    module2.exports = Client;
+    module2.exports = {
+      getResponseData: getResponseData2,
+      getMockDispatch,
+      addMockDispatch,
+      deleteMockDispatch,
+      buildKey,
+      generateKeyValues,
+      matchValue,
+      getResponse,
+      getStatusText,
+      mockDispatch,
+      buildMockDispatch,
+      checkNetConnect,
+      buildMockOptions,
+      getHeaderByName,
+      buildHeadersFromArray
+    };
   }
 });
 
-// node_modules/undici/lib/node/fixed-queue.js
-var require_fixed_queue2 = __commonJS({
-  "node_modules/undici/lib/node/fixed-queue.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js
+var require_mock_interceptor2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.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;
+    var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kDispatchKey,
+      kDefaultHeaders,
+      kDefaultTrailers,
+      kContentLength,
+      kMockDispatch
+    } = require_mock_symbols2();
+    var { InvalidArgumentError } = require_errors2();
+    var { buildURL } = require_util9();
+    var MockScope = class {
+      constructor(mockDispatch) {
+        this[kMockDispatch] = mockDispatch;
       }
-      isFull() {
-        return (this.top + 1 & kMask) === this.bottom;
+      /**
+       * 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;
       }
-      push(data) {
-        this.list[this.top] = data;
-        this.top = this.top + 1 & kMask;
+      /**
+       * For a defined reply, never mark as consumed.
+       */
+      persist() {
+        this[kMockDispatch].persist = true;
+        return this;
       }
-      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;
+      /**
+       * 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;
       }
     };
-    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();
+    var MockInterceptor = class {
+      constructor(opts, mockDispatches) {
+        if (typeof opts !== "object") {
+          throw new InvalidArgumentError("opts must be an object");
         }
-        this.head.push(data);
-      }
-      shift() {
-        const tail = this.tail;
-        const next = tail.shift();
-        if (tail.isEmpty() && tail.next !== null) {
-          this.tail = tail.next;
+        if (typeof opts.path === "undefined") {
+          throw new InvalidArgumentError("opts.path must be defined");
         }
-        return next;
+        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;
       }
-    };
-  }
-});
-
-// node_modules/undici/lib/pool-stats.js
-var require_pool_stats2 = __commonJS({
-  "node_modules/undici/lib/pool-stats.js"(exports2, module2) {
-    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
-    var kPool = /* @__PURE__ */ Symbol("pool");
-    var PoolStats = class {
-      constructor(pool) {
-        this[kPool] = pool;
+      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 };
       }
-      get connected() {
-        return this[kPool][kConnected];
+      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");
+        }
       }
-      get free() {
-        return this[kPool][kFree];
+      /**
+       * 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);
       }
-      get pending() {
-        return this[kPool][kPending];
+      /**
+       * Mock an undici request with a defined error.
+       */
+      replyWithError(error3) {
+        if (typeof error3 === "undefined") {
+          throw new InvalidArgumentError("error must be defined");
+        }
+        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error: error3 });
+        return new MockScope(newMockDispatch);
       }
-      get queued() {
-        return this[kPool][kQueued];
+      /**
+       * 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;
       }
-      get running() {
-        return this[kPool][kRunning];
+      /**
+       * 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;
       }
-      get size() {
-        return this[kPool][kSize];
+      /**
+       * Set reply content length header for replies on the interceptor
+       */
+      replyContentLength() {
+        this[kContentLength] = true;
+        return this;
       }
     };
-    module2.exports = PoolStats;
+    module2.exports.MockInterceptor = MockInterceptor;
+    module2.exports.MockScope = MockScope;
   }
 });
 
-// node_modules/undici/lib/pool-base.js
-var require_pool_base2 = __commonJS({
-  "node_modules/undici/lib/pool-base.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js
+var require_mock_client2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
     "use strict";
-    var DispatcherBase = require_dispatcher_base2();
-    var FixedQueue = require_fixed_queue2();
-    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
-    var PoolStats = require_pool_stats2();
-    var kClients = /* @__PURE__ */ Symbol("clients");
-    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
-    var kQueue = /* @__PURE__ */ Symbol("queue");
-    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
-    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
-    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
-    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
-    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
-    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
-    var kAddClient = /* @__PURE__ */ Symbol("add client");
-    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
-    var kStats = /* @__PURE__ */ 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;
+    var { promisify } = require("node:util");
+    var Client = require_client2();
+    var { buildMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols2();
+    var { MockInterceptor } = require_mock_interceptor2();
+    var Symbols = require_symbols6();
+    var { InvalidArgumentError } = require_errors2();
+    var MockClient = class extends Client {
+      constructor(origin, opts) {
+        super(origin, opts);
+        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
         }
-        return ret;
+        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 [kSize]() {
-        let ret = this[kQueued];
-        for (const { [kSize]: size } of this[kClients]) {
-          ret += size;
-        }
-        return ret;
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
-      get stats() {
-        return this[kStats];
+      /**
+       * Sets up the base interceptor for mocking replies from undici.
+       */
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
       }
       async [kClose]() {
-        if (this[kQueue].isEmpty()) {
-          return Promise.all(this[kClients].map((c) => c.close()));
-        } else {
-          return new Promise((resolve6) => {
-            this[kClosedResolve] = resolve6;
-          });
-        }
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
-      async [kDestroy](err) {
-        while (true) {
-          const item = this[kQueue].shift();
-          if (!item) {
-            break;
-          }
-          item.handler.onError(err);
+    };
+    module2.exports = MockClient;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js
+var require_mock_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
+    "use strict";
+    var { promisify } = require("node:util");
+    var Pool = require_pool2();
+    var { buildMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols2();
+    var { MockInterceptor } = require_mock_interceptor2();
+    var Symbols = require_symbols6();
+    var { InvalidArgumentError } = require_errors2();
+    var MockPool = class extends Pool {
+      constructor(origin, opts) {
+        super(origin, opts);
+        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
         }
-        return Promise.all(this[kClients].map((c) => c.destroy(err)));
+        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];
       }
-      [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];
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
-      [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]) {
-          process.nextTick(() => {
-            if (this[kNeedDrain]) {
-              this[kOnDrain](client[kUrl], [this, client]);
-            }
-          });
-        }
-        return this;
+      /**
+       * Sets up the base interceptor for mocking replies from undici.
+       */
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
       }
-      [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);
+      async [kClose]() {
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
     };
-    module2.exports = {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kRemoveClient,
-      kGetDispatcher
-    };
+    module2.exports = MockPool;
   }
 });
 
-// node_modules/undici/lib/pool.js
-var require_pool2 = __commonJS({
-  "node_modules/undici/lib/pool.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/pluralizer.js
+var require_pluralizer2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) {
     "use strict";
-    var {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kGetDispatcher
-    } = require_pool_base2();
-    var Client = require_client2();
-    var {
-      InvalidArgumentError
-    } = require_errors2();
-    var util = require_util9();
-    var { kUrl, kInterceptors } = require_symbols6();
-    var buildConnector = require_connect2();
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    var kConnections = /* @__PURE__ */ Symbol("connections");
-    var kFactory = /* @__PURE__ */ 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,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
-            ...connect
-          });
-        }
-        this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
-        this[kConnections] = connections || null;
-        this[kUrl] = util.parseOrigin(origin);
-        this[kOptions] = { ...util.deepClone(options), connect, allowH2 };
-        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
-        this[kFactory] = factory;
-        this.on("connectionError", (origin2, targets, error3) => {
-          for (const target of targets) {
-            const idx = this[kClients].indexOf(target);
-            if (idx !== -1) {
-              this[kClients].splice(idx, 1);
-            }
+    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/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js
+var require_pending_interceptors_formatter2 = __commonJS({
+  "node_modules/@actions/github/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
           }
         });
       }
-      [kGetDispatcher]() {
-        let dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain]);
-        if (dispatcher) {
-          return dispatcher;
-        }
-        if (!this[kConnections] || this[kClients].length < this[kConnections]) {
-          dispatcher = this[kFactory](this[kUrl], this[kOptions]);
-          this[kAddClient](dispatcher);
-        }
-        return dispatcher;
+      format(pendingInterceptors) {
+        const withPrettyHeaders = pendingInterceptors.map(
+          ({ method, path: path12, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
+            Method: method,
+            Origin: origin,
+            Path: path12,
+            "Status code": statusCode,
+            Persistent: persist ? PERSISTENT : NOT_PERSISTENT,
+            Invocations: timesInvoked,
+            Remaining: persist ? Infinity : times - timesInvoked
+          })
+        );
+        this.logger.table(withPrettyHeaders);
+        return this.transform.read().toString();
       }
     };
-    module2.exports = Pool;
   }
 });
 
-// node_modules/undici/lib/balanced-pool.js
-var require_balanced_pool2 = __commonJS({
-  "node_modules/undici/lib/balanced-pool.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js
+var require_mock_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
     "use strict";
+    var { kClients } = require_symbols6();
+    var Agent = require_agent2();
     var {
-      BalancedPoolMissingUpstreamError,
-      InvalidArgumentError
-    } = require_errors2();
-    var {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kRemoveClient,
-      kGetDispatcher
-    } = require_pool_base2();
-    var Pool = require_pool2();
-    var { kUrl, kInterceptors } = require_symbols6();
-    var { parseOrigin } = require_util9();
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
-    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
-    var kIndex = /* @__PURE__ */ Symbol("kIndex");
-    var kWeight = /* @__PURE__ */ Symbol("kWeight");
-    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
-    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
-    function getGreatestCommonDivisor(a, b) {
-      if (b === 0) return a;
-      return getGreatestCommonDivisor(b, a % b);
-    }
-    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 && opts.interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : [];
-        this[kFactory] = factory;
-        for (const upstream of upstreams) {
-          this.addUpstream(upstream);
+      kAgent,
+      kMockAgentSet,
+      kMockAgentGet,
+      kDispatches,
+      kIsMockActive,
+      kNetConnect,
+      kGetNetConnect,
+      kOptions,
+      kFactory
+    } = require_mock_symbols2();
+    var MockClient = require_mock_client2();
+    var MockPool = require_mock_pool2();
+    var { matchValue, buildMockOptions } = require_mock_utils2();
+    var { InvalidArgumentError, UndiciError } = require_errors2();
+    var Dispatcher = require_dispatcher2();
+    var Pluralizer = require_pluralizer2();
+    var PendingInterceptorsFormatter = require_pending_interceptors_formatter2();
+    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");
         }
-        this._updateBalancedPoolStats();
+        const agent = opts?.agent ? opts.agent : new Agent(opts);
+        this[kAgent] = agent;
+        this[kClients] = agent[kClients];
+        this[kOptions] = buildMockOptions(opts);
       }
-      addUpstream(upstream) {
-        const upstreamOrigin = parseOrigin(upstream).origin;
-        if (this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true)) {
-          return this;
+      get(origin) {
+        let dispatcher = this[kMockAgentGet](origin);
+        if (!dispatcher) {
+          dispatcher = this[kFactory](origin);
+          this[kMockAgentSet](origin, dispatcher);
         }
-        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();
+        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];
           }
-        });
-        for (const client of this[kClients]) {
-          client[kWeight] = this[kMaxWeightPerServer];
+        } else if (typeof matcher === "undefined") {
+          this[kNetConnect] = true;
+        } else {
+          throw new InvalidArgumentError("Unsupported matcher. Must be one of String|Function|RegExp.");
         }
-        this._updateBalancedPoolStats();
-        return this;
       }
-      _updateBalancedPoolStats() {
-        this[kGreatestCommonDivisor] = this[kClients].map((p) => p[kWeight]).reduce(getGreatestCommonDivisor, 0);
+      disableNetConnect() {
+        this[kNetConnect] = false;
       }
-      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;
+      // This is required to bypass issues caused by using global symbols - see:
+      // https://github.com/nodejs/undici/issues/1447
+      get isMockActive() {
+        return this[kIsMockActive];
       }
-      get upstreams() {
-        return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin);
+      [kMockAgentSet](origin, dispatcher) {
+        this[kClients].set(origin, dispatcher);
       }
-      [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;
+      [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;
         }
-        const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b) => a && b, true);
-        if (allClientsBusy) {
-          return;
+        if (typeof origin !== "string") {
+          const dispatcher = this[kFactory]("http://localhost:9999");
+          this[kMockAgentSet](origin, dispatcher);
+          return dispatcher;
         }
-        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;
+        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;
           }
         }
-        this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight];
-        this[kIndex] = maxWeightIndex;
-        return this[kClients][maxWeightIndex];
-      }
-    };
-    module2.exports = BalancedPool;
-  }
-});
-
-// node_modules/undici/lib/compat/dispatcher-weakref.js
-var require_dispatcher_weakref2 = __commonJS({
-  "node_modules/undici/lib/compat/dispatcher-weakref.js"(exports2, module2) {
-    "use strict";
-    var { kConnected, kSize } = require_symbols6();
-    var CompatWeakRef = class {
-      constructor(value) {
-        this.value = value;
       }
-      deref() {
-        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
+      [kGetNetConnect]() {
+        return this[kNetConnect];
       }
-    };
-    var CompatFinalizer = class {
-      constructor(finalizer) {
-        this.finalizer = finalizer;
+      pendingInterceptors() {
+        const mockAgentClients = this[kClients];
+        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
       }
-      register(dispatcher, key) {
-        if (dispatcher.on) {
-          dispatcher.on("disconnect", () => {
-            if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {
-              this.finalizer(key);
-            }
-          });
+      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 = function() {
-      if (process.env.NODE_V8_COVERAGE) {
-        return {
-          WeakRef: CompatWeakRef,
-          FinalizationRegistry: CompatFinalizer
-        };
-      }
-      return {
-        WeakRef: global.WeakRef || CompatWeakRef,
-        FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer
-      };
-    };
+    module2.exports = MockAgent;
   }
 });
 
-// node_modules/undici/lib/agent.js
-var require_agent2 = __commonJS({
-  "node_modules/undici/lib/agent.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/global.js
+var require_global4 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/global.js"(exports2, module2) {
     "use strict";
+    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
     var { InvalidArgumentError } = require_errors2();
-    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
-    var DispatcherBase = require_dispatcher_base2();
-    var Pool = require_pool2();
-    var Client = require_client2();
-    var util = require_util9();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var { WeakRef: WeakRef2, FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
-    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
-    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
-    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
-    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
-    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    var kFinalizer = /* @__PURE__ */ Symbol("finalizer");
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    function defaultFactory(origin, opts) {
-      return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts);
+    var Agent = require_agent2();
+    if (getGlobalDispatcher() === void 0) {
+      setGlobalDispatcher(new Agent());
     }
-    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 && options.interceptors.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
-        this[kOptions] = { ...util.deepClone(options), connect };
-        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
-        this[kMaxRedirections] = maxRedirections;
-        this[kFactory] = factory;
-        this[kClients] = /* @__PURE__ */ new Map();
-        this[kFinalizer] = new FinalizationRegistry2(
-          /* istanbul ignore next: gc is undeterministic */
-          (key) => {
-            const ref = this[kClients].get(key);
-            if (ref !== void 0 && ref.deref() === void 0) {
-              this[kClients].delete(key);
-            }
-          }
-        );
-        const agent = this;
-        this[kOnDrain] = (origin, targets) => {
-          agent.emit("drain", origin, [agent, ...targets]);
-        };
-        this[kOnConnect] = (origin, targets) => {
-          agent.emit("connect", origin, [agent, ...targets]);
-        };
-        this[kOnDisconnect] = (origin, targets, err) => {
-          agent.emit("disconnect", origin, [agent, ...targets], err);
-        };
-        this[kOnConnectionError] = (origin, targets, err) => {
-          agent.emit("connectionError", origin, [agent, ...targets], err);
-        };
+    function setGlobalDispatcher(agent) {
+      if (!agent || typeof agent.dispatch !== "function") {
+        throw new InvalidArgumentError("Argument agent must implement Agent");
       }
-      get [kRunning]() {
-        let ret = 0;
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            ret += client[kRunning];
-          }
+      Object.defineProperty(globalThis, globalDispatcher, {
+        value: agent,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
+    }
+    function getGlobalDispatcher() {
+      return globalThis[globalDispatcher];
+    }
+    module2.exports = {
+      setGlobalDispatcher,
+      getGlobalDispatcher
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/handler/decorator-handler.js
+var require_decorator_handler2 = __commonJS({
+  "node_modules/@actions/github/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");
         }
-        return ret;
+        this.#handler = handler2;
       }
-      [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.");
-        }
-        const ref = this[kClients].get(key);
-        let dispatcher = ref ? ref.deref() : null;
-        if (!dispatcher) {
-          dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
-          this[kClients].set(key, new WeakRef2(dispatcher));
-          this[kFinalizer].register(dispatcher, key);
-        }
-        return dispatcher.dispatch(opts, handler2);
+      onConnect(...args) {
+        return this.#handler.onConnect?.(...args);
       }
-      async [kClose]() {
-        const closePromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            closePromises.push(client.close());
-          }
-        }
-        await Promise.all(closePromises);
+      onError(...args) {
+        return this.#handler.onError?.(...args);
       }
-      async [kDestroy](err) {
-        const destroyPromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            destroyPromises.push(client.destroy(err));
-          }
-        }
-        await Promise.all(destroyPromises);
+      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);
       }
     };
-    module2.exports = Agent;
   }
 });
 
-// node_modules/undici/lib/api/readable.js
-var require_readable2 = __commonJS({
-  "node_modules/undici/lib/api/readable.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js
+var require_redirect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { Readable: Readable2 } = require("stream");
-    var { RequestAbortedError, NotSupportedError, InvalidArgumentError } = require_errors2();
-    var util = require_util9();
-    var { ReadableStreamFrom, toUSVString } = require_util9();
-    var Blob2;
-    var kConsume = /* @__PURE__ */ Symbol("kConsume");
-    var kReading = /* @__PURE__ */ Symbol("kReading");
-    var kBody = /* @__PURE__ */ Symbol("kBody");
-    var kAbort = /* @__PURE__ */ Symbol("abort");
-    var kContentType = /* @__PURE__ */ Symbol("kContentType");
-    var noop3 = () => {
+    var RedirectHandler = require_redirect_handler2();
+    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);
+        };
+      };
     };
-    module2.exports = class BodyReadable extends Readable2 {
-      constructor({
-        resume,
-        abort,
-        contentType = "",
-        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[kReading] = false;
-      }
-      destroy(err) {
-        if (this.destroyed) {
-          return this;
-        }
-        if (!err && !this._readableState.endEmitted) {
-          err = new RequestAbortedError();
-        }
-        if (err) {
-          this[kAbort]();
-        }
-        return super.destroy(err);
-      }
-      emit(ev, ...args) {
-        if (ev === "data") {
-          this._readableState.dataEmitted = true;
-        } else if (ev === "error") {
-          this._readableState.errorEmitted = true;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js
+var require_retry2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js"(exports2, module2) {
+    "use strict";
+    var RetryHandler = require_retry_handler2();
+    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/@actions/github/node_modules/undici/lib/interceptor/dump.js
+var require_dump2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/dump.js"(exports2, module2) {
+    "use strict";
+    var util = require_util9();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
+    var DecoratorHandler = require_decorator_handler2();
+    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");
         }
-        return super.emit(ev, ...args);
+        this.#maxSize = maxSize ?? this.#maxSize;
+        this.#handler = handler2;
       }
-      on(ev, ...args) {
-        if (ev === "data" || ev === "readable") {
-          this[kReading] = true;
-        }
-        return super.on(ev, ...args);
+      onConnect(abort) {
+        this.#abort = abort;
+        this.#handler.onConnect(this.#customAbort.bind(this));
       }
-      addListener(ev, ...args) {
-        return this.on(ev, ...args);
+      #customAbort(reason) {
+        this.#aborted = true;
+        this.#reason = reason;
       }
-      off(ev, ...args) {
-        const ret = super.off(ev, ...args);
-        if (ev === "data" || ev === "readable") {
-          this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0;
+      // 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})`
+          );
         }
-        return ret;
-      }
-      removeListener(ev, ...args) {
-        return this.off(ev, ...args);
-      }
-      push(chunk) {
-        if (this[kConsume] && chunk !== null && this.readableLength === 0) {
-          consumePush(this[kConsume], chunk);
-          return this[kReading] ? super.push(chunk) : true;
+        if (this.#aborted) {
+          return 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-arraybuffer
-      async arrayBuffer() {
-        return consume(this, "arrayBuffer");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-formdata
-      async formData() {
-        throw new NotSupportedError();
+        return this.#handler.onHeaders(
+          statusCode,
+          rawHeaders,
+          resume,
+          statusMessage
+        );
       }
-      // https://fetch.spec.whatwg.org/#dom-body-bodyused
-      get bodyUsed() {
-        return util.isDisturbed(this);
+      onError(err) {
+        if (this.#dumped) {
+          return;
+        }
+        err = this.#reason ?? err;
+        this.#handler.onError(err);
       }
-      // 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);
+      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 this[kBody];
+        return true;
       }
-      dump(opts) {
-        let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144;
-        const signal = opts && opts.signal;
-        if (signal) {
-          try {
-            if (typeof signal !== "object" || !("aborted" in signal)) {
-              throw new InvalidArgumentError("signal must be an AbortSignal");
-            }
-            util.throwIfAborted(signal);
-          } catch (err) {
-            return Promise.reject(err);
-          }
+      onComplete(trailers) {
+        if (this.#dumped) {
+          return;
         }
-        if (this.closed) {
-          return Promise.resolve(null);
+        if (this.#aborted) {
+          this.#handler.onError(this.reason);
+          return;
         }
-        return new Promise((resolve6, reject) => {
-          const signalListenerCleanup = signal ? util.addAbortListener(signal, () => {
-            this.destroy();
-          }) : noop3;
-          this.on("close", function() {
-            signalListenerCleanup();
-            if (signal && signal.aborted) {
-              reject(signal.reason || Object.assign(new Error("The operation was aborted"), { name: "AbortError" }));
-            } else {
-              resolve6(null);
-            }
-          }).on("error", noop3).on("data", function(chunk) {
-            limit -= chunk.length;
-            if (limit <= 0) {
-              this.destroy();
-            }
-          }).resume();
-        });
+        this.#handler.onComplete(trailers);
       }
     };
-    function isLocked(self2) {
-      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
-    }
-    function isUnusable(self2) {
-      return util.isDisturbed(self2) || isLocked(self2);
-    }
-    async function consume(stream2, type2) {
-      if (isUnusable(stream2)) {
-        throw new TypeError("unusable");
-      }
-      assert(!stream2[kConsume]);
-      return new Promise((resolve6, reject) => {
-        stream2[kConsume] = {
-          type: type2,
-          stream: stream2,
-          resolve: resolve6,
-          reject,
-          length: 0,
-          body: []
+    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);
         };
-        stream2.on("error", function(err) {
-          consumeFinish(this[kConsume], err);
-        }).on("close", function() {
-          if (this[kConsume].body !== null) {
-            consumeFinish(this[kConsume], new RequestAbortedError());
-          }
-        });
-        process.nextTick(consumeStart, stream2[kConsume]);
-      });
+      };
     }
-    function consumeStart(consume2) {
-      if (consume2.body === null) {
-        return;
+    module2.exports = createDumpInterceptor;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/dns.js
+var require_dns2 = __commonJS({
+  "node_modules/@actions/github/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_handler2();
+    var { InvalidArgumentError, InformationalError } = require_errors2();
+    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;
       }
-      const { _readableState: state } = consume2.stream;
-      for (const chunk of state.buffer) {
-        consumePush(consume2, chunk);
+      get full() {
+        return this.#records.size === this.#maxItems;
       }
-      if (state.endEmitted) {
-        consumeEnd(this[kConsume]);
-      } else {
-        consume2.stream.on("end", function() {
-          consumeEnd(this[kConsume]);
-        });
+      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}`
+          );
+        }
       }
-      consume2.stream.resume();
-      while (consume2.stream.read() != null) {
+      #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());
+          }
+        );
       }
-    }
-    function consumeEnd(consume2) {
-      const { type: type2, body, resolve: resolve6, stream: stream2, length } = consume2;
-      try {
-        if (type2 === "text") {
-          resolve6(toUSVString(Buffer.concat(body)));
-        } else if (type2 === "json") {
-          resolve6(JSON.parse(Buffer.concat(body)));
-        } else if (type2 === "arrayBuffer") {
-          const dst = new Uint8Array(length);
-          let pos = 0;
-          for (const buf of body) {
-            dst.set(buf, pos);
-            pos += buf.byteLength;
+      #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;
+            }
           }
-          resolve6(dst.buffer);
-        } else if (type2 === "blob") {
-          if (!Blob2) {
-            Blob2 = require("buffer").Blob;
+          if (records[affinity] != null && records[affinity].ips.length > 0) {
+            family = records[affinity];
+          } else {
+            family = records[affinity === 4 ? 6 : 4];
           }
-          resolve6(new Blob2(body, { type: stream2[kContentType] }));
+        } else {
+          family = records[affinity];
         }
-        consumeFinish(consume2);
-      } catch (err) {
-        stream2.destroy(err);
+        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;
       }
-    }
-    function consumePush(consume2, chunk) {
-      consume2.length += chunk.length;
-      consume2.body.push(chunk);
-    }
-    function consumeFinish(consume2, err) {
-      if (consume2.body === null) {
-        return;
+      setRecords(origin, addresses) {
+        const timestamp2 = Date.now();
+        const records = { records: { 4: null, 6: null } };
+        for (const record of addresses) {
+          record.timestamp = timestamp2;
+          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);
       }
-      if (err) {
-        consume2.reject(err);
-      } else {
-        consume2.resolve();
+      getHandler(meta, opts) {
+        return new DNSDispatchHandler(this, meta, opts);
       }
-      consume2.type = null;
-      consume2.stream = null;
-      consume2.resolve = null;
-      consume2.reject = null;
-      consume2.length = 0;
-      consume2.body = null;
-    }
-  }
-});
-
-// node_modules/undici/lib/api/util.js
-var require_util11 = __commonJS({
-  "node_modules/undici/lib/api/util.js"(exports2, module2) {
-    var assert = require("assert");
-    var {
-      ResponseStatusCodeError
-    } = require_errors2();
-    var { toUSVString } = require_util9();
-    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
-      assert(body);
-      let chunks = [];
-      let limit = 0;
-      for await (const chunk of body) {
-        chunks.push(chunk);
-        limit += chunk.length;
-        if (limit > 128 * 1024) {
-          chunks = null;
-          break;
+    };
+    var DNSDispatchHandler = class extends DecoratorHandler {
+      #state = null;
+      #opts = null;
+      #dispatch = null;
+      #handler = null;
+      #origin = null;
+      constructor(state, { origin, handler: handler2, dispatch }, opts) {
+        super(handler2);
+        this.#origin = origin;
+        this.#handler = handler2;
+        this.#opts = { ...opts };
+        this.#state = state;
+        this.#dispatch = dispatch;
+      }
+      onError(err) {
+        switch (err.code) {
+          case "ETIMEDOUT":
+          case "ECONNREFUSED": {
+            if (this.#state.dualStack) {
+              this.#state.runLookup(this.#origin, this.#opts, (err2, newOrigin) => {
+                if (err2) {
+                  return this.#handler.onError(err2);
+                }
+                const dispatchOpts = {
+                  ...this.#opts,
+                  origin: newOrigin
+                };
+                this.#dispatch(dispatchOpts, this);
+              });
+              return;
+            }
+            this.#handler.onError(err);
+            return;
+          }
+          case "ENOTFOUND":
+            this.#state.deleteRecord(this.#origin);
+          // eslint-disable-next-line no-fallthrough
+          default:
+            this.#handler.onError(err);
+            break;
         }
       }
-      if (statusCode === 204 || !contentType || !chunks) {
-        process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
-        return;
+    };
+    module2.exports = (interceptorOpts) => {
+      if (interceptorOpts?.maxTTL != null && (typeof interceptorOpts?.maxTTL !== "number" || interceptorOpts?.maxTTL < 0)) {
+        throw new InvalidArgumentError("Invalid maxTTL. Must be a positive number");
       }
-      try {
-        if (contentType.startsWith("application/json")) {
-          const payload = JSON.parse(toUSVString(Buffer.concat(chunks)));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
-        }
-        if (contentType.startsWith("text/")) {
-          const payload = toUSVString(Buffer.concat(chunks));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
-        }
-      } catch (err) {
+      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"
+        );
       }
-      process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
-    }
-    module2.exports = { getResolveErrorBodyCallback };
-  }
-});
-
-// node_modules/undici/lib/api/abort-signal.js
-var require_abort_signal2 = __commonJS({
-  "node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
-    var { addAbortListener } = require_util9();
-    var { RequestAbortedError } = require_errors2();
-    var kListener = /* @__PURE__ */ Symbol("kListener");
-    var kSignal = /* @__PURE__ */ Symbol("kSignal");
-    function abort(self2) {
-      if (self2.abort) {
-        self2.abort();
-      } else {
-        self2.onError(new RequestAbortedError());
+      if (interceptorOpts?.affinity != null && interceptorOpts?.affinity !== 4 && interceptorOpts?.affinity !== 6) {
+        throw new InvalidArgumentError("Invalid affinity. Must be either 4 or 6");
       }
-    }
-    function addSignal(self2, signal) {
-      self2[kSignal] = null;
-      self2[kListener] = null;
-      if (!signal) {
-        return;
+      if (interceptorOpts?.dualStack != null && typeof interceptorOpts?.dualStack !== "boolean") {
+        throw new InvalidArgumentError("Invalid dualStack. Must be a boolean");
       }
-      if (signal.aborted) {
-        abort(self2);
-        return;
+      if (interceptorOpts?.lookup != null && typeof interceptorOpts?.lookup !== "function") {
+        throw new InvalidArgumentError("Invalid lookup. Must be a function");
       }
-      self2[kSignal] = signal;
-      self2[kListener] = () => {
-        abort(self2);
-      };
-      addAbortListener(self2[kSignal], self2[kListener]);
-    }
-    function removeSignal(self2) {
-      if (!self2[kSignal]) {
-        return;
+      if (interceptorOpts?.pick != null && typeof interceptorOpts?.pick !== "function") {
+        throw new InvalidArgumentError("Invalid pick. Must be a function");
       }
-      if ("removeEventListener" in self2[kSignal]) {
-        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      const dualStack = interceptorOpts?.dualStack ?? true;
+      let affinity;
+      if (dualStack) {
+        affinity = interceptorOpts?.affinity ?? null;
       } else {
-        self2[kSignal].removeListener("abort", self2[kListener]);
+        affinity = interceptorOpts?.affinity ?? 4;
       }
-      self2[kSignal] = null;
-      self2[kListener] = null;
-    }
-    module2.exports = {
-      addSignal,
-      removeSignal
+      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/api/api-request.js
-var require_api_request2 = __commonJS({
-  "node_modules/undici/lib/api/api-request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js
+var require_headers2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js"(exports2, module2) {
     "use strict";
-    var Readable2 = require_readable2();
+    var { kConstruct } = require_symbols6();
+    var { kEnumerableProperty } = require_util9();
     var {
-      InvalidArgumentError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { getResolveErrorBodyCallback } = require_util11();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var RequestHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
-        try {
-          if (typeof callback !== "function") {
-            throw new InvalidArgumentError("invalid callback");
-          }
-          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
-            throw new InvalidArgumentError("invalid highWaterMark");
-          }
-          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-          }
-          if (method === "CONNECT") {
-            throw new InvalidArgumentError("invalid method");
-          }
-          if (onInfo && typeof onInfo !== "function") {
-            throw new InvalidArgumentError("invalid onInfo callback");
-          }
-          super("UNDICI_REQUEST");
-        } catch (err) {
-          if (util.isStream(body)) {
-            util.destroy(body.on("error", util.nop), err);
+      iteratorMixin,
+      isValidHeaderName,
+      isValidHeaderValue
+    } = require_util10();
+    var { webidl } = require_webidl2();
+    var assert = require("node:assert");
+    var util = require("node:util");
+    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
+    var kHeadersSortedMap = /* @__PURE__ */ 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}.`
+            });
           }
-          throw err;
+          appendHeader(headers, header[0], header[1]);
         }
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.callback = callback;
-        this.res = null;
-        this.abort = null;
-        this.body = body;
-        this.trailers = {};
-        this.context = null;
-        this.onInfo = onInfo || null;
-        this.throwOnError = throwOnError;
-        this.highWaterMark = highWaterMark;
-        if (util.isStream(body)) {
-          body.on("error", (err) => {
-            this.onError(err);
-          });
+      } 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]]);
         }
-        addSignal(this, signal);
+      } else {
+        throw webidl.errors.conversionFailed({
+          prefix: "Headers constructor",
+          argument: "Argument 1",
+          types: ["sequence>", "record"]
+        });
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
+    }
+    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"
+        });
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const { callback, opaque, abort, context: context2, 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 body = new Readable2({ resume, abort, contentType, highWaterMark });
-        this.callback = null;
-        this.res = body;
-        if (callback !== null) {
-          if (this.throwOnError && statusCode >= 400) {
-            this.runInAsyncScope(
-              getResolveErrorBodyCallback,
-              null,
-              { callback, body, contentType, statusCode, statusMessage, headers }
-            );
-          } else {
-            this.runInAsyncScope(callback, null, null, {
-              statusCode,
-              headers,
-              trailers: this.trailers,
-              opaque,
-              body,
-              context: context2
-            });
-          }
+      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;
         }
       }
-      onData(chunk) {
-        const { res } = this;
-        return res.push(chunk);
+      /**
+       * @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());
       }
-      onComplete(trailers) {
-        const { res } = this;
-        removeSignal(this);
-        util.parseHeaders(trailers, this.trailers);
-        res.push(null);
+      clear() {
+        this[kHeadersMap].clear();
+        this[kHeadersSortedMap] = null;
+        this.cookies = null;
       }
-      onError(err) {
-        const { res, callback, body, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
-        if (res) {
-          this.res = null;
-          queueMicrotask(() => {
-            util.destroy(res, err);
+      /**
+       * @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 (body) {
-          this.body = null;
-          util.destroy(body, err);
+        if (lowercaseName === "set-cookie") {
+          (this.cookies ??= []).push(value);
         }
       }
-    };
-    function request2(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve6, reject) => {
-          request2.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve6(data);
-          });
-        });
+      /**
+       * @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 });
       }
-      try {
-        this.dispatch(opts, new RequestHandler(opts, callback));
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
+      /**
+       * @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;
         }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        this[kHeadersMap].delete(name);
       }
-    }
-    module2.exports = request2;
-    module2.exports.RequestHandler = RequestHandler;
-  }
-});
-
-// node_modules/undici/lib/api/api-stream.js
-var require_api_stream2 = __commonJS({
-  "node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
-    "use strict";
-    var { finished, PassThrough } = require("stream");
-    var {
-      InvalidArgumentError,
-      InvalidReturnValueError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { getResolveErrorBodyCallback } = require_util11();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var StreamHandler = class extends AsyncResource {
-      constructor(opts, factory, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+      /**
+       * @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];
         }
-        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
-        try {
-          if (typeof callback !== "function") {
-            throw new InvalidArgumentError("invalid callback");
-          }
-          if (typeof factory !== "function") {
-            throw new InvalidArgumentError("invalid factory");
-          }
-          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-          }
-          if (method === "CONNECT") {
-            throw new InvalidArgumentError("invalid method");
-          }
-          if (onInfo && typeof onInfo !== "function") {
-            throw new InvalidArgumentError("invalid onInfo callback");
-          }
-          super("UNDICI_STREAM");
-        } catch (err) {
-          if (util.isStream(body)) {
-            util.destroy(body.on("error", util.nop), err);
+      }
+      get entries() {
+        const headers = {};
+        if (this[kHeadersMap].size !== 0) {
+          for (const { name, value } of this[kHeadersMap].values()) {
+            headers[name] = value;
           }
-          throw err;
-        }
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.factory = factory;
-        this.callback = callback;
-        this.res = null;
-        this.abort = null;
-        this.context = null;
-        this.trailers = null;
-        this.body = body;
-        this.onInfo = onInfo || null;
-        this.throwOnError = throwOnError || false;
-        if (util.isStream(body)) {
-          body.on("error", (err) => {
-            this.onError(err);
-          });
         }
-        addSignal(this, signal);
+        return headers;
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
+      rawValues() {
+        return this[kHeadersMap].values();
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const { factory, opaque, context: context2, callback, responseHeaders } = this;
-        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            this.onInfo({ statusCode, headers });
+      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;
         }
-        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: context2
-          });
-          if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") {
-            throw new InvalidReturnValueError("expected Writable");
+        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;
           }
-          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);
+          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;
+              }
             }
-            this.callback = null;
-            this.runInAsyncScope(callback2, null, err || null, { opaque: opaque2, trailers });
-            if (err) {
-              abort();
+            if (i !== pivot) {
+              j = i;
+              while (j > left) {
+                array[j] = array[--j];
+              }
+              array[left] = x;
             }
-          });
-        }
-        res.on("drain", resume);
-        this.res = res;
-        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState && res._writableState.needDrain;
-        return needDrain !== true;
-      }
-      onData(chunk) {
-        const { res } = this;
-        return res ? res.write(chunk) : true;
-      }
-      onComplete(trailers) {
-        const { res } = this;
-        removeSignal(this);
-        if (!res) {
-          return;
-        }
-        this.trailers = util.parseHeaders(trailers);
-        res.end();
-      }
-      onError(err) {
-        const { res, callback, opaque, body } = this;
-        removeSignal(this);
-        this.factory = null;
-        if (res) {
-          this.res = null;
-          util.destroy(res, err);
-        } else if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
-        if (body) {
-          this.body = null;
-          util.destroy(body, err);
-        }
-      }
-    };
-    function stream2(opts, factory, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve6, reject) => {
-          stream2.call(this, opts, factory, (err, data) => {
-            return err ? reject(err) : resolve6(data);
-          });
-        });
-      }
-      try {
-        this.dispatch(opts, new StreamHandler(opts, factory, callback));
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
-        }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
-      }
-    }
-    module2.exports = stream2;
-  }
-});
-
-// node_modules/undici/lib/api/api-pipeline.js
-var require_api_pipeline2 = __commonJS({
-  "node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
-    "use strict";
-    var {
-      Readable: Readable2,
-      Duplex,
-      PassThrough
-    } = require("stream");
-    var {
-      InvalidArgumentError,
-      InvalidReturnValueError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
-    var kResume = /* @__PURE__ */ Symbol("resume");
-    var PipelineRequest = class extends Readable2 {
-      constructor() {
-        super({ autoDestroy: true });
-        this[kResume] = null;
-      }
-      _read() {
-        const { [kResume]: resume } = this;
-        if (resume) {
-          this[kResume] = null;
-          resume();
+          }
+          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);
         }
       }
-      _destroy(err, callback) {
-        this._read();
-        callback(err);
-      }
     };
-    var PipelineResponse = class extends Readable2 {
-      constructor(resume) {
-        super({ autoDestroy: true });
-        this[kResume] = resume;
-      }
-      _read() {
-        this[kResume]();
-      }
-      _destroy(err, callback) {
-        if (!err && !this._readableState.endEmitted) {
-          err = new RequestAbortedError();
+    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);
         }
-        callback(err);
       }
-    };
-    var PipelineHandler = class extends AsyncResource {
-      constructor(opts, handler2) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+      // 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 (typeof handler2 !== "function") {
-          throw new InvalidArgumentError("invalid handler");
+        if (this.#guard === "immutable") {
+          throw new TypeError("immutable");
         }
-        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 (!this.#headersList.contains(name, false)) {
+          return;
         }
-        if (method === "CONNECT") {
-          throw new InvalidArgumentError("invalid method");
+        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"
+          });
         }
-        if (onInfo && typeof onInfo !== "function") {
-          throw new InvalidArgumentError("invalid onInfo callback");
+        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"
+          });
         }
-        super("UNDICI_PIPELINE");
-        this.opaque = opaque || null;
-        this.responseHeaders = responseHeaders || null;
-        this.handler = handler2;
-        this.abort = null;
-        this.context = null;
-        this.onInfo = onInfo || null;
-        this.req = new PipelineRequest().on("error", util.nop);
-        this.ret = new Duplex({
-          readableObjectMode: opts.objectMode,
-          autoDestroy: true,
-          read: () => {
-            const { body } = this;
-            if (body && body.resume) {
-              body.resume();
-            }
-          },
-          write: (chunk, encoding, callback) => {
-            const { req } = this;
-            if (req.push(chunk, encoding) || req._readableState.destroyed) {
-              callback();
-            } else {
-              req[kResume] = callback;
-            }
-          },
-          destroy: (err, callback) => {
-            const { body, req, res, ret, abort } = this;
-            if (!err && !ret._readableState.endEmitted) {
-              err = new RequestAbortedError();
-            }
-            if (abort && err) {
-              abort();
-            }
-            util.destroy(body, err);
-            util.destroy(req, err);
-            util.destroy(res, err);
-            removeSignal(this);
-            callback(err);
-          }
-        }).on("prefinish", () => {
-          const { req } = this;
-          req.push(null);
-        });
-        this.res = null;
-        addSignal(this, signal);
+        return this.#headersList.contains(name, false);
       }
-      onConnect(abort, context2) {
-        const { ret, res } = this;
-        assert(!res, "pipeline cannot be retried");
-        if (ret.destroyed) {
-          throw new RequestAbortedError();
+      // 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"
+          });
         }
-        this.abort = abort;
-        this.context = context2;
+        if (this.#guard === "immutable") {
+          throw new TypeError("immutable");
+        }
+        this.#headersList.set(name, value, false);
       }
-      onHeaders(statusCode, rawHeaders, resume) {
-        const { opaque, handler: handler2, context: context2 } = this;
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-            this.onInfo({ statusCode, headers });
-          }
-          return;
+      // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
+      getSetCookie() {
+        webidl.brandCheck(this, _Headers);
+        const list = this.#headersList.cookies;
+        if (list) {
+          return [...list];
         }
-        this.res = new PipelineResponse(resume);
-        let body;
-        try {
-          this.handler = null;
-          const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-          body = this.runInAsyncScope(handler2, null, {
-            statusCode,
-            headers,
-            opaque,
-            body: this.res,
-            context: context2
-          });
-        } catch (err) {
-          this.res.on("error", util.nop);
-          throw err;
+        return [];
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
+      get [kHeadersSortedMap]() {
+        if (this.#headersList[kHeadersSortedMap]) {
+          return this.#headersList[kHeadersSortedMap];
         }
-        if (!body || typeof body.on !== "function") {
-          throw new InvalidReturnValueError("expected Readable");
+        const headers = [];
+        const names = this.#headersList.toSortedArray();
+        const cookies = this.#headersList.cookies;
+        if (cookies === null || cookies.length === 1) {
+          return this.#headersList[kHeadersSortedMap] = names;
         }
-        body.on("data", (chunk) => {
-          const { ret, body: body2 } = this;
-          if (!ret.push(chunk) && body2.pause) {
-            body2.pause();
-          }
-        }).on("error", (err) => {
-          const { ret } = this;
-          util.destroy(ret, err);
-        }).on("end", () => {
-          const { ret } = this;
-          ret.push(null);
-        }).on("close", () => {
-          const { ret } = this;
-          if (!ret._readableState.ended) {
-            util.destroy(ret, new RequestAbortedError());
+        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]);
           }
-        });
-        this.body = body;
+        }
+        return this.#headersList[kHeadersSortedMap] = headers;
       }
-      onData(chunk) {
-        const { res } = this;
-        return res.push(chunk);
+      [util.inspect.custom](depth, options) {
+        options.depth ??= depth;
+        return `Headers ${util.formatWithOptions(options, this.#headersList.entries)}`;
       }
-      onComplete(trailers) {
-        const { res } = this;
-        res.push(null);
+      static getHeadersGuard(o) {
+        return o.#guard;
       }
-      onError(err) {
-        const { ret } = this;
-        this.handler = null;
-        util.destroy(ret, err);
+      static setHeadersGuard(o, guard) {
+        o.#guard = guard;
+      }
+      static getHeadersList(o) {
+        return o.#headersList;
+      }
+      static setHeadersList(o, list) {
+        o.#headersList = list;
       }
     };
-    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);
+    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
       }
-    }
-    module2.exports = pipeline;
+    });
+    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/api/api-upgrade.js
-var require_api_upgrade2 = __commonJS({
-  "node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js
+var require_response2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js"(exports2, module2) {
     "use strict";
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
-    var { AsyncResource } = require("async_hooks");
+    var { Headers, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers2();
+    var { extractBody, cloneBody, mixinBody, hasFinalizationRegistry, streamRegistry, bodyUnusable } = require_body2();
     var util = require_util9();
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
-    var UpgradeHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+    var nodeUtil = require("node:util");
+    var { kEnumerableProperty } = util;
+    var {
+      isValidReasonPhrase,
+      isCancelled,
+      isAborted,
+      isBlobLike,
+      serializeJavascriptValueToJSONString,
+      isErrorLike,
+      isomorphicEncode,
+      environmentSettingsObject: relevantRealm
+    } = require_util10();
+    var {
+      redirectStatusSet,
+      nullBodyStatus
+    } = require_constants8();
+    var { kState, kHeaders } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var { FormData: FormData2 } = require_formdata2();
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    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);
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        const bytes = textEncoder.encode(
+          serializeJavascriptValueToJSONString(data)
+        );
+        const body = extractBody(bytes);
+        const responseObject = fromInnerResponse(makeResponse({}), "response");
+        initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
+        return responseObject;
+      }
+      // Creates a redirect Response that redirects to url with status status.
+      static redirect(url2, status = 302) {
+        webidl.argumentLengthCheck(arguments, 1, "Response.redirect");
+        url2 = webidl.converters.USVString(url2);
+        status = webidl.converters["unsigned short"](status);
+        let parsedURL;
+        try {
+          parsedURL = new URL(url2, relevantRealm.settingsObject.baseUrl);
+        } catch (err) {
+          throw new TypeError(`Failed to parse URL from ${url2}`, { cause: err });
         }
-        const { signal, opaque, responseHeaders } = opts;
-        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        if (!redirectStatusSet.has(status)) {
+          throw new RangeError(`Invalid status code ${status}`);
         }
-        super("UNDICI_UPGRADE");
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.callback = callback;
-        this.abort = null;
-        this.context = null;
-        addSignal(this, signal);
+        const responseObject = fromInnerResponse(makeResponse({}), "immutable");
+        responseObject[kState].status = status;
+        const value = isomorphicEncode(URLSerializer(parsedURL));
+        responseObject[kState].headersList.append("location", value, true);
+        return responseObject;
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
+      // https://fetch.spec.whatwg.org/#dom-response
+      constructor(body = null, init = {}) {
+        webidl.util.markAsUncloneable(this);
+        if (body === kConstruct) {
+          return;
         }
-        this.abort = abort;
-        this.context = null;
-      }
-      onHeaders() {
-        throw new SocketError("bad upgrade", null);
-      }
-      onUpgrade(statusCode, rawHeaders, socket) {
-        const { callback, opaque, context: context2 } = this;
-        assert.strictEqual(statusCode, 101);
-        removeSignal(this);
-        this.callback = null;
-        const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        this.runInAsyncScope(callback, null, null, {
-          headers,
-          socket,
-          opaque,
-          context: context2
-        });
-      }
-      onError(err) {
-        const { callback, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
+        if (body !== null) {
+          body = webidl.converters.BodyInit(body);
+        }
+        init = webidl.converters.ResponseInit(init);
+        this[kState] = makeResponse({});
+        this[kHeaders] = new Headers(kConstruct);
+        setHeadersGuard(this[kHeaders], "response");
+        setHeadersList(this[kHeaders], this[kState].headersList);
+        let bodyWithType = null;
+        if (body != null) {
+          const [extractedBody, type2] = extractBody(body);
+          bodyWithType = { body: extractedBody, type: type2 };
         }
+        initializeResponse(this, init, bodyWithType);
       }
-    };
-    function upgrade(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve6, reject) => {
-          upgrade.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve6(data);
-          });
-        });
+      // Returns response’s type, e.g., "cors".
+      get type() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].type;
       }
-      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;
+      // Returns response’s URL, if it has one; otherwise the empty string.
+      get url() {
+        webidl.brandCheck(this, _Response);
+        const urlList = this[kState].urlList;
+        const url2 = urlList[urlList.length - 1] ?? null;
+        if (url2 === null) {
+          return "";
         }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        return URLSerializer(url2, true);
       }
-    }
-    module2.exports = upgrade;
-  }
-});
-
-// node_modules/undici/lib/api/api-connect.js
-var require_api_connect2 = __commonJS({
-  "node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
-    "use strict";
-    var { AsyncResource } = require("async_hooks");
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
-    var util = require_util9();
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var ConnectHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
-        }
-        const { signal, opaque, responseHeaders } = opts;
-        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-        }
-        super("UNDICI_CONNECT");
-        this.opaque = opaque || null;
-        this.responseHeaders = responseHeaders || null;
-        this.callback = callback;
-        this.abort = null;
-        addSignal(this, signal);
+      // Returns whether response was obtained through a redirect.
+      get redirected() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].urlList.length > 1;
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
+      // Returns response’s status.
+      get status() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status;
       }
-      onHeaders() {
-        throw new SocketError("bad connect", null);
+      // Returns whether response’s status is an ok status.
+      get ok() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status >= 200 && this[kState].status <= 299;
       }
-      onUpgrade(statusCode, rawHeaders, socket) {
-        const { callback, opaque, context: context2 } = 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: context2
-        });
+      // Returns response’s status message.
+      get statusText() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].statusText;
       }
-      onError(err) {
-        const { callback, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
+      // Returns response’s headers as Headers.
+      get headers() {
+        webidl.brandCheck(this, _Response);
+        return this[kHeaders];
       }
-    };
-    function connect(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve6, reject) => {
-          connect.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve6(data);
-          });
-        });
+      get body() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      try {
-        const connectHandler = new ConnectHandler(opts, callback);
-        this.dispatch({ ...opts, method: "CONNECT" }, connectHandler);
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
+      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 opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        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]));
       }
-    }
-    module2.exports = connect;
-  }
-});
-
-// node_modules/undici/lib/api/index.js
-var require_api2 = __commonJS({
-  "node_modules/undici/lib/api/index.js"(exports2, module2) {
-    "use strict";
-    module2.exports.request = require_api_request2();
-    module2.exports.stream = require_api_stream2();
-    module2.exports.pipeline = require_api_pipeline2();
-    module2.exports.upgrade = require_api_upgrade2();
-    module2.exports.connect = require_api_connect2();
-  }
-});
-
-// node_modules/undici/lib/mock/mock-errors.js
-var require_mock_errors2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
-    "use strict";
-    var { UndiciError } = require_errors2();
-    var MockNotMatchedError = class _MockNotMatchedError extends UndiciError {
-      constructor(message) {
-        super(message);
-        Error.captureStackTrace(this, _MockNotMatchedError);
-        this.name = "MockNotMatchedError";
-        this.message = message || "The request does not match any registered mock dispatches";
-        this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED";
+      [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)}`;
       }
     };
-    module2.exports = {
-      MockNotMatchedError
-    };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-symbols.js
-var require_mock_symbols2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      kAgent: /* @__PURE__ */ Symbol("agent"),
-      kOptions: /* @__PURE__ */ Symbol("options"),
-      kFactory: /* @__PURE__ */ Symbol("factory"),
-      kDispatches: /* @__PURE__ */ Symbol("dispatches"),
-      kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
-      kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
-      kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
-      kContentLength: /* @__PURE__ */ Symbol("content length"),
-      kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
-      kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
-      kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
-      kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
-      kClose: /* @__PURE__ */ Symbol("close"),
-      kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
-      kOrigin: /* @__PURE__ */ Symbol("origin"),
-      kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
-      kNetConnect: /* @__PURE__ */ Symbol("net connect"),
-      kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
-      kConnected: /* @__PURE__ */ Symbol("connected")
-    };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-utils.js
-var require_mock_utils2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
-    "use strict";
-    var { MockNotMatchedError } = require_mock_errors2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kOriginalDispatch,
-      kOrigin,
-      kGetNetConnect
-    } = require_mock_symbols2();
-    var { buildURL, nop } = require_util9();
-    var { STATUS_CODES } = require("http");
-    var {
-      types: {
-        isPromise
-      }
-    } = require("util");
-    function matchValue(match, value) {
-      if (typeof match === "string") {
-        return match === value;
+    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
       }
-      if (match instanceof RegExp) {
-        return match.test(value);
+    });
+    Object.defineProperties(Response, {
+      json: kEnumerableProperty,
+      redirect: kEnumerableProperty,
+      error: kEnumerableProperty
+    });
+    function cloneResponse(response) {
+      if (response.internalResponse) {
+        return filterResponse(
+          cloneResponse(response.internalResponse),
+          response.type
+        );
       }
-      if (typeof match === "function") {
-        return match(value) === true;
+      const newResponse = makeResponse({ ...response, body: null });
+      if (response.body != null) {
+        newResponse.body = cloneBody(newResponse, response.body);
       }
-      return false;
+      return newResponse;
     }
-    function lowerCaseEntries(headers) {
-      return Object.fromEntries(
-        Object.entries(headers).map(([headerName, headerValue]) => {
-          return [headerName.toLocaleLowerCase(), headerValue];
-        })
+    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 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];
-          }
+    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;
         }
-        return void 0;
-      } else if (typeof headers.get === "function") {
-        return headers.get(key);
+      });
+    }
+    function filterResponse(response, type2) {
+      if (type2 === "basic") {
+        return makeFilteredResponse(response, {
+          type: "basic",
+          headersList: response.headersList
+        });
+      } else if (type2 === "cors") {
+        return makeFilteredResponse(response, {
+          type: "cors",
+          headersList: response.headersList
+        });
+      } else if (type2 === "opaque") {
+        return makeFilteredResponse(response, {
+          type: "opaque",
+          urlList: Object.freeze([]),
+          status: 0,
+          statusText: "",
+          body: null
+        });
+      } else if (type2 === "opaqueredirect") {
+        return makeFilteredResponse(response, {
+          type: "opaqueredirect",
+          status: 0,
+          statusText: "",
+          headersList: [],
+          body: null
+        });
       } else {
-        return lowerCaseEntries(headers)[key.toLocaleLowerCase()];
+        assert(false);
       }
     }
-    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 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 matchHeaders(mockDispatch2, headers) {
-      if (typeof mockDispatch2.headers === "function") {
-        if (Array.isArray(headers)) {
-          headers = buildHeadersFromArray(headers);
-        }
-        return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {});
+    function initializeResponse(response, init, body) {
+      if (init.status !== null && (init.status < 200 || init.status > 599)) {
+        throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
       }
-      if (typeof mockDispatch2.headers === "undefined") {
-        return true;
+      if ("statusText" in init && init.statusText != null) {
+        if (!isValidReasonPhrase(String(init.statusText))) {
+          throw new TypeError("Invalid statusText");
+        }
       }
-      if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") {
-        return false;
+      if ("status" in init && init.status != null) {
+        response[kState].status = init.status;
       }
-      for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) {
-        const headerValue = getHeaderByName(headers, matchHeaderName);
-        if (!matchValue(matchHeaderValue, headerValue)) {
-          return false;
-        }
+      if ("statusText" in init && init.statusText != null) {
+        response[kState].statusText = init.statusText;
       }
-      return true;
-    }
-    function safeUrl(path12) {
-      if (typeof path12 !== "string") {
-        return path12;
+      if ("headers" in init && init.headers != null) {
+        fill(response[kHeaders], init.headers);
       }
-      const pathSegments = path12.split("?");
-      if (pathSegments.length !== 2) {
-        return path12;
+      if (body) {
+        if (nullBodyStatus.includes(response.status)) {
+          throw webidl.errors.exception({
+            header: "Response constructor",
+            message: `Invalid response status code ${response.status}`
+          });
+        }
+        response[kState].body = body.body;
+        if (body.type != null && !response[kState].headersList.contains("content-type", true)) {
+          response[kState].headersList.append("content-type", body.type, true);
+        }
       }
-      const qp = new URLSearchParams(pathSegments.pop());
-      qp.sort();
-      return [...pathSegments, qp.toString()].join("?");
-    }
-    function matchKey(mockDispatch2, { path: path12, method, body, headers }) {
-      const pathMatch = matchValue(mockDispatch2.path, path12);
-      const methodMatch = matchValue(mockDispatch2.method, method);
-      const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
-      const headersMatch = matchHeaders(mockDispatch2, headers);
-      return pathMatch && methodMatch && bodyMatch && headersMatch;
     }
-    function getResponseData2(data) {
-      if (Buffer.isBuffer(data)) {
-        return data;
-      } else if (typeof data === "object") {
-        return JSON.stringify(data);
-      } else {
-        return data.toString();
+    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;
     }
-    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: path12 }) => matchValue(safeUrl(path12), resolvedPath));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
+    webidl.converters.ReadableStream = webidl.interfaceConverter(
+      ReadableStream
+    );
+    webidl.converters.FormData = webidl.interfaceConverter(
+      FormData2
+    );
+    webidl.converters.URLSearchParams = webidl.interfaceConverter(
+      URLSearchParams
+    );
+    webidl.converters.XMLHttpRequestBodyInit = function(V, prefix, name) {
+      if (typeof V === "string") {
+        return webidl.converters.USVString(V, prefix, name);
       }
-      matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`);
+      if (isBlobLike(V)) {
+        return webidl.converters.Blob(V, prefix, name, { strict: false });
       }
-      matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`);
+      if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) {
+        return webidl.converters.BufferSource(V, prefix, name);
       }
-      matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers}'`);
+      if (util.isFormDataLike(V)) {
+        return webidl.converters.FormData(V, prefix, name, { strict: false });
       }
-      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);
+      if (V instanceof URLSearchParams) {
+        return webidl.converters.URLSearchParams(V, prefix, name);
       }
-    }
-    function buildKey(opts) {
-      const { path: path12, method, body, headers, query } = opts;
-      return {
-        path: path12,
-        method,
-        body,
-        headers,
-        query
-      };
-    }
-    function generateKeyValues(data) {
-      return Object.entries(data).reduce((keyValuePairs, [key, value]) => [
-        ...keyValuePairs,
-        Buffer.from(`${key}`),
-        Array.isArray(value) ? value.map((x) => Buffer.from(`${x}`)) : Buffer.from(`${value}`)
-      ], []);
-    }
-    function getStatusText(statusCode) {
-      return STATUS_CODES[statusCode] || "unknown";
-    }
-    async function getResponse(body) {
-      const buffers = [];
-      for await (const data of body) {
-        buffers.push(data);
+      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);
       }
-      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) };
+      if (V?.[Symbol.asyncIterator]) {
+        return V;
       }
-      const { data: { statusCode, data, headers, trailers, error: error3 }, delay: delay2, persist } = mockDispatch2;
-      const { timesInvoked, times } = mockDispatch2;
-      mockDispatch2.consumed = !persist && timesInvoked >= times;
-      mockDispatch2.pending = timesInvoked < times;
-      if (error3 !== null) {
-        deleteMockDispatch(this[kDispatches], key);
-        handler2.onError(error3);
-        return true;
+      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
       }
-      if (typeof delay2 === "number" && delay2 > 0) {
-        setTimeout(() => {
-          handleReply(this[kDispatches]);
-        }, delay2);
-      } else {
-        handleReply(this[kDispatches]);
+    ]);
+    module2.exports = {
+      isNetworkError,
+      makeNetworkError,
+      makeResponse,
+      makeAppropriateNetworkError,
+      filterResponse,
+      Response,
+      cloneResponse,
+      fromInnerResponse
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js
+var require_dispatcher_weakref2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js"(exports2, module2) {
+    "use strict";
+    var { kConnected, kSize } = require_symbols6();
+    var CompatWeakRef = class {
+      constructor(value) {
+        this.value = value;
       }
-      function handleReply(mockDispatches, _data = data) {
-        const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
-        const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
-        if (isPromise(body)) {
-          body.then((newData) => handleReply(mockDispatches, newData));
-          return;
-        }
-        const responseData = getResponseData2(body);
-        const responseHeaders = generateKeyValues(headers);
-        const responseTrailers = generateKeyValues(trailers);
-        handler2.abort = nop;
-        handler2.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode));
-        handler2.onData(Buffer.from(responseData));
-        handler2.onComplete(responseTrailers);
-        deleteMockDispatch(mockDispatches, key);
+      deref() {
+        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
       }
-      function resume() {
+    };
+    var CompatFinalizer = class {
+      constructor(finalizer) {
+        this.finalizer = finalizer;
       }
-      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 (error3) {
-            if (error3 instanceof MockNotMatchedError) {
-              const netConnect = agent[kGetNetConnect]();
-              if (netConnect === false) {
-                throw new MockNotMatchedError(`${error3.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(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
-              }
-            } else {
-              throw error3;
+      register(dispatcher, key) {
+        if (dispatcher.on) {
+          dispatcher.on("disconnect", () => {
+            if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {
+              this.finalizer(key);
             }
-          }
-        } else {
-          originalDispatch.call(this, opts, handler2);
+          });
         }
-      };
-    }
-    function checkNetConnect(netConnect, origin) {
-      const url2 = new URL(origin);
-      if (netConnect === true) {
-        return true;
-      } else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url2.host))) {
-        return true;
       }
-      return false;
-    }
-    function buildMockOptions(opts) {
-      if (opts) {
-        const { agent, ...mockOptions } = opts;
-        return mockOptions;
+      unregister(key) {
       }
-    }
-    module2.exports = {
-      getResponseData: getResponseData2,
-      getMockDispatch,
-      addMockDispatch,
-      deleteMockDispatch,
-      buildKey,
-      generateKeyValues,
-      matchValue,
-      getResponse,
-      getStatusText,
-      mockDispatch,
-      buildMockDispatch,
-      checkNetConnect,
-      buildMockOptions,
-      getHeaderByName
+    };
+    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/mock/mock-interceptor.js
-var require_mock_interceptor2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js
+var require_request4 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js"(exports2, module2) {
     "use strict";
-    var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils2();
+    var { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body2();
+    var { Headers, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers2();
+    var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
+    var util = require_util9();
+    var nodeUtil = require("node:util");
     var {
-      kDispatches,
-      kDispatchKey,
-      kDefaultHeaders,
-      kDefaultTrailers,
-      kContentLength,
-      kMockDispatch
-    } = require_mock_symbols2();
-    var { InvalidArgumentError } = require_errors2();
-    var { buildURL } = require_util9();
-    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");
+      isValidHTTPToken,
+      sameOrigin,
+      environmentSettingsObject
+    } = require_util10();
+    var {
+      forbiddenMethodsSet,
+      corsSafeListedMethodsSet,
+      referrerPolicy,
+      requestRedirect,
+      requestMode,
+      requestCredentials,
+      requestCache,
+      requestDuplex
+    } = require_constants8();
+    var { kEnumerableProperty, normalizedMethodRecordsBase, normalizedMethodRecords } = util;
+    var { kHeaders, kSignal, kState, kDispatcher } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    var assert = require("node:assert");
+    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("node:events");
+    var kAbortController = /* @__PURE__ */ 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);
+          }
         }
-        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");
+    }
+    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;
         }
-        this[kMockDispatch].times = repeatTimes;
-        return this;
-      }
-    };
-    var MockInterceptor = class {
-      constructor(opts, mockDispatches) {
-        if (typeof opts !== "object") {
-          throw new InvalidArgumentError("opts must be an object");
+        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];
         }
-        if (typeof opts.path === "undefined") {
-          throw new InvalidArgumentError("opts.path must be defined");
+        const origin = environmentSettingsObject.settingsObject.origin;
+        let window2 = "client";
+        if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
+          window2 = request2.window;
         }
-        if (typeof opts.method === "undefined") {
-          opts.method = "GET";
+        if (init.window != null) {
+          throw new TypeError(`'window' option '${window2}' must be null`);
         }
-        if (typeof opts.path === "string") {
-          if (opts.query) {
-            opts.path = buildURL(opts.path, opts.query);
+        if ("window" in init) {
+          window2 = "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: window2,
+          // 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 {
-            const parsedURL = new URL(opts.path, "data://");
-            opts.path = parsedURL.pathname + parsedURL.search;
+            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 (typeof opts.method === "string") {
-          opts.method = opts.method.toUpperCase();
+        if (init.referrerPolicy !== void 0) {
+          request2.referrerPolicy = init.referrerPolicy;
         }
-        this[kDispatchKey] = buildKey(opts);
-        this[kDispatches] = mockDispatches;
-        this[kDefaultHeaders] = {};
-        this[kDefaultTrailers] = {};
-        this[kContentLength] = false;
+        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;
       }
-      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 };
+      // Returns request’s HTTP method, which is "GET" by default.
+      get method() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].method;
       }
-      validateReplyParameters(statusCode, data, responseOptions) {
-        if (typeof statusCode === "undefined") {
-          throw new InvalidArgumentError("statusCode must be defined");
-        }
-        if (typeof data === "undefined") {
-          throw new InvalidArgumentError("data must be defined");
+      // 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 (typeof responseOptions !== "object") {
-          throw new InvalidArgumentError("responseOptions must be an object");
+        if (this[kState].referrer === "client") {
+          return "about:client";
         }
+        return this[kState].referrer.toString();
       }
-      /**
-       * Mock an undici request with a defined reply.
-       */
-      reply(replyData) {
-        if (typeof replyData === "function") {
-          const wrappedDefaultsCallback = (opts) => {
-            const resolvedData = replyData(opts);
-            if (typeof resolvedData !== "object") {
-              throw new InvalidArgumentError("reply options callback must return an object");
-            }
-            const { statusCode: statusCode2, data: data2 = "", responseOptions: responseOptions2 = {} } = resolvedData;
-            this.validateReplyParameters(statusCode2, data2, responseOptions2);
-            return {
-              ...this.createMockScopeDispatchData(statusCode2, data2, responseOptions2)
-            };
-          };
-          const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback);
-          return new MockScope(newMockDispatch2);
-        }
-        const [statusCode, data = "", responseOptions = {}] = [...arguments];
-        this.validateReplyParameters(statusCode, data, responseOptions);
-        const dispatchData = this.createMockScopeDispatchData(statusCode, data, responseOptions);
-        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData);
-        return new MockScope(newMockDispatch);
+      // 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;
       }
-      /**
-       * Mock an undici request with a defined error.
-       */
-      replyWithError(error3) {
-        if (typeof error3 === "undefined") {
-          throw new InvalidArgumentError("error must be defined");
-        }
-        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error: error3 });
-        return new MockScope(newMockDispatch);
+      // 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;
       }
-      /**
-       * 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;
+      // 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;
       }
-      /**
-       * 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;
+      // 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;
       }
-      /**
-       * Set reply content length header for replies on the interceptor
-       */
-      replyContentLength() {
-        this[kContentLength] = true;
-        return this;
+      // 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;
       }
-    };
-    module2.exports.MockInterceptor = MockInterceptor;
-    module2.exports.MockScope = MockScope;
-  }
-});
-
-// node_modules/undici/lib/mock/mock-client.js
-var require_mock_client2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
-    "use strict";
-    var { promisify } = require("util");
-    var Client = require_client2();
-    var { buildMockDispatch } = require_mock_utils2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kClose,
-      kOriginalClose,
-      kOrigin,
-      kOriginalDispatch,
-      kConnected
-    } = require_mock_symbols2();
-    var { MockInterceptor } = require_mock_interceptor2();
-    var Symbols = require_symbols6();
-    var { InvalidArgumentError } = require_errors2();
-    var MockClient = class extends Client {
-      constructor(origin, opts) {
-        super(origin, opts);
-        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
-        }
-        this[kMockAgent] = opts.agent;
-        this[kOrigin] = origin;
-        this[kDispatches] = [];
-        this[kConnected] = 1;
-        this[kOriginalDispatch] = this.dispatch;
-        this[kOriginalClose] = this.close.bind(this);
-        this.dispatch = buildMockDispatch.call(this);
-        this.close = this[kClose];
+      // 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;
       }
-      get [Symbols.kConnected]() {
-        return this[kConnected];
+      // 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;
       }
-      /**
-       * Sets up the base interceptor for mocking replies from undici.
-       */
-      intercept(opts) {
-        return new MockInterceptor(opts, this[kDispatches]);
+      // Returns a boolean indicating whether or not request is for a reload
+      // navigation.
+      get isReloadNavigation() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].reloadNavigation;
       }
-      async [kClose]() {
-        await promisify(this[kOriginalClose])();
-        this[kConnected] = 0;
-        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
+      // 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;
       }
-    };
-    module2.exports = MockClient;
-  }
-});
-
-// node_modules/undici/lib/mock/mock-pool.js
-var require_mock_pool2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
-    "use strict";
-    var { promisify } = require("util");
-    var Pool = require_pool2();
-    var { buildMockDispatch } = require_mock_utils2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kClose,
-      kOriginalClose,
-      kOrigin,
-      kOriginalDispatch,
-      kConnected
-    } = require_mock_symbols2();
-    var { MockInterceptor } = require_mock_interceptor2();
-    var Symbols = require_symbols6();
-    var { InvalidArgumentError } = require_errors2();
-    var MockPool = class extends Pool {
-      constructor(origin, opts) {
-        super(origin, opts);
-        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
-        }
-        this[kMockAgent] = opts.agent;
-        this[kOrigin] = origin;
-        this[kDispatches] = [];
-        this[kConnected] = 1;
-        this[kOriginalDispatch] = this.dispatch;
-        this[kOriginalClose] = this.close.bind(this);
-        this.dispatch = buildMockDispatch.call(this);
-        this.close = this[kClose];
+      // 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 [Symbols.kConnected]() {
-        return this[kConnected];
+      get body() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      /**
-       * Sets up the base interceptor for mocking replies from undici.
-       */
-      intercept(opts) {
-        return new MockInterceptor(opts, this[kDispatches]);
+      get bodyUsed() {
+        webidl.brandCheck(this, _Request);
+        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
       }
-      async [kClose]() {
-        await promisify(this[kOriginalClose])();
-        this[kConnected] = 0;
-        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
+      get duplex() {
+        webidl.brandCheck(this, _Request);
+        return "half";
       }
-    };
-    module2.exports = MockPool;
-  }
-});
-
-// node_modules/undici/lib/mock/pluralizer.js
-var require_pluralizer2 = __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;
+      // 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]));
       }
-      pluralize(count) {
-        const one = count === 1;
-        const keys = one ? singulars : plurals;
-        const noun = one ? this.singular : this.plural;
-        return { ...keys, count, noun };
+      [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)}`;
       }
     };
-  }
-});
-
-// node_modules/undici/lib/mock/pending-interceptors-formatter.js
-var require_pending_interceptors_formatter2 = __commonJS({
-  "node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
-    "use strict";
-    var { Transform } = require("stream");
-    var { Console } = require("console");
-    module2.exports = class PendingInterceptorsFormatter {
-      constructor({ disableColors } = {}) {
-        this.transform = new Transform({
-          transform(chunk, _enc, cb) {
-            cb(null, chunk);
-          }
-        });
-        this.logger = new Console({
-          stdout: this.transform,
-          inspectOptions: {
-            colors: !disableColors && !process.env.CI
-          }
-        });
+    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);
       }
-      format(pendingInterceptors) {
-        const withPrettyHeaders = pendingInterceptors.map(
-          ({ method, path: path12, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
-            Method: method,
-            Origin: origin,
-            Path: path12,
-            "Status code": statusCode,
-            Persistent: persist ? "\u2705" : "\u274C",
-            Invocations: timesInvoked,
-            Remaining: persist ? Infinity : times - timesInvoked
-          })
-        );
-        this.logger.table(withPrettyHeaders);
-        return this.transform.read().toString();
+      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);
     };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-agent.js
-var require_mock_agent2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
-    "use strict";
-    var { kClients } = require_symbols6();
-    var Agent = require_agent2();
-    var {
-      kAgent,
-      kMockAgentSet,
-      kMockAgentGet,
-      kDispatches,
-      kIsMockActive,
-      kNetConnect,
-      kGetNetConnect,
-      kOptions,
-      kFactory
-    } = require_mock_symbols2();
-    var MockClient = require_mock_client2();
-    var MockPool = require_mock_pool2();
-    var { matchValue, buildMockOptions } = require_mock_utils2();
-    var { InvalidArgumentError, UndiciError } = require_errors2();
-    var Dispatcher = require_dispatcher2();
-    var Pluralizer = require_pluralizer2();
-    var PendingInterceptorsFormatter = require_pending_interceptors_formatter2();
-    var FakeWeakRef = class {
-      constructor(value) {
-        this.value = value;
+    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
       }
-      deref() {
-        return this.value;
+    ]);
+    module2.exports = { Request, makeRequest, fromInnerRequest, cloneRequest };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js
+var require_fetch2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js"(exports2, module2) {
+    "use strict";
+    var {
+      makeNetworkError,
+      makeAppropriateNetworkError,
+      filterResponse,
+      makeResponse,
+      fromInnerResponse
+    } = require_response2();
+    var { HeadersList } = require_headers2();
+    var { Request, cloneRequest } = require_request4();
+    var zlib2 = 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_util10();
+    var { kState, kDispatcher } = require_symbols7();
+    var assert = require("node:assert");
+    var { safelyExtractBody, extractBody } = require_body2();
+    var {
+      redirectStatusSet,
+      nullBodyStatus,
+      safeMethodsSet,
+      requestBodyHeader,
+      subresourceSet
+    } = require_constants8();
+    var EE = require("node:events");
+    var { Readable: Readable2, pipeline, finished } = require("node:stream");
+    var { addAbortListener, isErrored, isReadable, bufferToLowerCasedHeaderName } = require_util9();
+    var { dataURLProcessor, serializeAMimeType, minimizeSupportedMimeType } = require_data_url2();
+    var { getGlobalDispatcher } = require_global4();
+    var { webidl } = require_webidl2();
+    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";
       }
-    };
-    var MockAgent = class extends Dispatcher {
-      constructor(opts) {
-        super(opts);
-        this[kNetConnect] = true;
-        this[kIsMockActive] = true;
-        if (opts && opts.agent && typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
+      terminate(reason) {
+        if (this.state !== "ongoing") {
+          return;
         }
-        const agent = opts && opts.agent ? opts.agent : new Agent(opts);
-        this[kAgent] = agent;
-        this[kClients] = agent[kClients];
-        this[kOptions] = buildMockOptions(opts);
+        this.state = "terminated";
+        this.connection?.destroy(reason);
+        this.emit("terminated", reason);
       }
-      get(origin) {
-        let dispatcher = this[kMockAgentGet](origin);
-        if (!dispatcher) {
-          dispatcher = this[kFactory](origin);
-          this[kMockAgentSet](origin, dispatcher);
+      // https://fetch.spec.whatwg.org/#fetch-controller-abort
+      abort(error3) {
+        if (this.state !== "ongoing") {
+          return;
         }
-        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.");
+        this.state = "aborted";
+        if (!error3) {
+          error3 = new DOMException("The operation was aborted.", "AbortError");
         }
+        this.serializedAbortReason = error3;
+        this.connection?.destroy(error3);
+        this.emit("terminated", error3);
       }
-      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];
+    };
+    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;
       }
-      [kMockAgentSet](origin, dispatcher) {
-        this[kClients].set(origin, new FakeWeakRef(dispatcher));
+      const request2 = requestObject[kState];
+      if (requestObject.signal.aborted) {
+        abortFetch(p, request2, null, requestObject.signal.reason);
+        return p.promise;
       }
-      [kFactory](origin) {
-        const mockOptions = Object.assign({ agent: this }, this[kOptions]);
-        return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions);
+      const globalObject = request2.client.globalObject;
+      if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") {
+        request2.serviceWorkers = "none";
       }
-      [kMockAgentGet](origin) {
-        const ref = this[kClients].get(origin);
-        if (ref) {
-          return ref.deref();
+      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);
         }
-        if (typeof origin !== "string") {
-          const dispatcher = this[kFactory]("http://localhost:9999");
-          this[kMockAgentSet](origin, dispatcher);
-          return dispatcher;
+      );
+      const processResponse = (response) => {
+        if (locallyAborted) {
+          return;
         }
-        for (const [keyMatcher, nonExplicitRef] of Array.from(this[kClients])) {
-          const nonExplicitDispatcher = nonExplicitRef.deref();
-          if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) {
-            const dispatcher = this[kFactory](origin);
-            this[kMockAgentSet](origin, dispatcher);
-            dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches];
-            return dispatcher;
-          }
+        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;
       }
-      [kGetNetConnect]() {
-        return this[kNetConnect];
+      if (!response.urlList?.length) {
+        return;
       }
-      pendingInterceptors() {
-        const mockAgentClients = this[kClients];
-        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope.deref()[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
+      const originalURL = response.urlList[0];
+      let timingInfo = response.timingInfo;
+      let cacheState = response.cacheState;
+      if (!urlIsHttpHttpsScheme(originalURL)) {
+        return;
       }
-      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());
+      if (timingInfo === null) {
+        return;
       }
-    };
-    module2.exports = MockAgent;
-  }
-});
-
-// node_modules/undici/lib/proxy-agent.js
-var require_proxy_agent2 = __commonJS({
-  "node_modules/undici/lib/proxy-agent.js"(exports2, module2) {
-    "use strict";
-    var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols6();
-    var { URL: URL2 } = require("url");
-    var Agent = require_agent2();
-    var Pool = require_pool2();
-    var DispatcherBase = require_dispatcher_base2();
-    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
-    var buildConnector = require_connect2();
-    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
-    var kClient = /* @__PURE__ */ Symbol("proxy client");
-    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
-    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
-    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
-    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
-    function defaultProtocolPort(protocol) {
-      return protocol === "https:" ? 443 : 80;
+      if (!response.timingAllowPassed) {
+        timingInfo = createOpaqueTimingInfo({
+          startTime: timingInfo.startTime
+        });
+        cacheState = "";
+      }
+      timingInfo.endTime = coarsenedSharedCurrentTime();
+      response.timingInfo = timingInfo;
+      markResourceTiming(
+        timingInfo,
+        originalURL.href,
+        initiatorType,
+        globalThis,
+        cacheState
+      );
     }
-    function buildProxyOptions(opts) {
-      if (typeof opts === "string") {
-        opts = { uri: opts };
+    var markResourceTiming = performance.markResourceTiming;
+    function abortFetch(p, request2, responseObject, error3) {
+      if (p) {
+        p.reject(error3);
       }
-      if (!opts || !opts.uri) {
-        throw new InvalidArgumentError("Proxy opts.uri is mandatory");
+      if (request2.body != null && isReadable(request2.body?.stream)) {
+        request2.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
+          }
+          throw err;
+        });
       }
-      return {
-        uri: opts.uri,
-        protocol: opts.protocol || "https"
-      };
-    }
-    function defaultFactory(origin, opts) {
-      return new Pool(origin, opts);
-    }
-    var ProxyAgent = class extends DispatcherBase {
-      constructor(opts) {
-        super(opts);
-        this[kProxy] = buildProxyOptions(opts);
-        this[kAgent] = new Agent(opts);
-        this[kInterceptors] = opts.interceptors && opts.interceptors.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : [];
-        if (typeof opts === "string") {
-          opts = { uri: opts };
-        }
-        if (!opts || !opts.uri) {
-          throw new InvalidArgumentError("Proxy opts.uri is mandatory");
-        }
-        const { clientFactory = defaultFactory } = opts;
-        if (typeof clientFactory !== "function") {
-          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
-        }
-        this[kRequestTls] = opts.requestTls;
-        this[kProxyTls] = opts.proxyTls;
-        this[kProxyHeaders] = opts.headers || {};
-        const resolvedUrl = new URL2(opts.uri);
-        const { origin, port, host, username, password } = resolvedUrl;
-        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 });
-        this[kClient] = clientFactory(resolvedUrl, { connect });
-        this[kAgent] = new Agent({
-          ...opts,
-          connect: async (opts2, callback) => {
-            let requestedHost = opts2.host;
-            if (!opts2.port) {
-              requestedHost += `:${defaultProtocolPort(opts2.protocol)}`;
-            }
-            try {
-              const { socket, statusCode } = await this[kClient].connect({
-                origin,
-                port,
-                path: requestedHost,
-                signal: opts2.signal,
-                headers: {
-                  ...this[kProxyHeaders],
-                  host
-                }
-              });
-              if (statusCode !== 200) {
-                socket.on("error", () => {
-                }).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) {
-              callback(err);
-            }
+      if (responseObject == null) {
+        return;
+      }
+      const response = responseObject[kState];
+      if (response.body != null && isReadable(response.body?.stream)) {
+        response.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
           }
+          throw err;
         });
       }
-      dispatch(opts, handler2) {
-        const { host } = new URL2(opts.origin);
-        const headers = buildHeaders(opts.headers);
-        throwIfProxyAuthIsSent(headers);
-        return this[kAgent].dispatch(
-          {
-            ...opts,
-            headers: {
-              ...headers,
-              host
-            }
-          },
-          handler2
-        );
+    }
+    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;
       }
-      async [kClose]() {
-        await this[kAgent].close();
-        await this[kClient].close();
+      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";
       }
-      async [kDestroy]() {
-        await this[kAgent].destroy();
-        await this[kClient].destroy();
+      if (request2.origin === "client") {
+        request2.origin = request2.client.origin;
       }
-    };
-    function buildHeaders(headers) {
-      if (Array.isArray(headers)) {
-        const headersPair = {};
-        for (let i = 0; i < headers.length; i += 2) {
-          headersPair[headers[i]] = headers[i + 1];
+      if (request2.policyContainer === "client") {
+        if (request2.client != null) {
+          request2.policyContainer = clonePolicyContainer(
+            request2.client.policyContainer
+          );
+        } else {
+          request2.policyContainer = makePolicyContainer();
         }
-        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");
+      if (!request2.headersList.contains("accept", true)) {
+        const value = "*/*";
+        request2.headersList.append("accept", value, true);
       }
-    }
-    module2.exports = ProxyAgent;
-  }
-});
-
-// node_modules/undici/lib/handler/RetryHandler.js
-var require_RetryHandler = __commonJS({
-  "node_modules/undici/lib/handler/RetryHandler.js"(exports2, module2) {
-    var assert = require("assert");
-    var { kRetryHandlerDefaultRetry } = require_symbols6();
-    var { RequestRetryError } = require_errors2();
-    var { isDisturbed, parseHeaders, parseRangeHeader } = require_util9();
-    function calculateRetryAfterHeader(retryAfter) {
-      const current = Date.now();
-      const diff = new Date(retryAfter).getTime() - current;
-      return diff;
-    }
-    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;
-        this.abort = null;
-        this.aborted = false;
-        this.retryOpts = {
-          retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry],
-          retryAfter: retryAfter ?? true,
-          maxTimeout: maxTimeout ?? 30 * 1e3,
-          // 30s,
-          timeout: 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"
-          ]
-        };
-        this.retryCount = 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;
+      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);
+        })();
       }
-      onRequestSent() {
-        if (this.handler.onRequestSent) {
-          this.handler.onRequestSent();
-        }
+      if (recursive) {
+        return response;
       }
-      onUpgrade(statusCode, headers, socket) {
-        if (this.handler.onUpgrade) {
-          this.handler.onUpgrade(statusCode, headers, socket);
+      if (response.status !== 0 && !response.internalResponse) {
+        if (request2.responseTainting === "cors") {
         }
-      }
-      onConnect(abort) {
-        if (this.aborted) {
-          abort(this.reason);
+        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 {
-          this.abort = abort;
+          assert(false);
         }
       }
-      onBodySent(chunk) {
-        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
+      let internalResponse = response.status === 0 ? response : response.internalResponse;
+      if (internalResponse.urlList.length === 0) {
+        internalResponse.urlList.push(...request2.urlList);
       }
-      static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) {
-        const { statusCode, code, headers } = err;
-        const { method, retryOptions } = opts;
-        const {
-          maxRetries,
-          timeout,
-          maxTimeout,
-          timeoutFactor,
-          statusCodes,
-          errorCodes,
-          methods
-        } = retryOptions;
-        let { counter, currentTimeout } = state;
-        currentTimeout = currentTimeout != null && currentTimeout > 0 ? currentTimeout : timeout;
-        if (code && code !== "UND_ERR_REQ_RETRY" && code !== "UND_ERR_SOCKET" && !errorCodes.includes(code)) {
-          cb(err);
+      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;
         }
-        if (Array.isArray(methods) && !methods.includes(method)) {
-          cb(err);
-          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"));
         }
-        if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) {
-          cb(err);
-          return;
+        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 type2 = 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", type2, 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, type2);
+            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", type2, true);
+            response.headersList.set("content-range", contentRange, true);
+          }
+          return Promise.resolve(response);
         }
-        if (counter > maxRetries) {
-          cb(err);
-          return;
+        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]
+          }));
         }
-        let retryAfterHeader = headers != null && headers["retry-after"];
-        if (retryAfterHeader) {
-          retryAfterHeader = Number(retryAfterHeader);
-          retryAfterHeader = isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3;
+        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"));
         }
-        const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(currentTimeout * timeoutFactor ** counter, maxTimeout);
-        state.currentTimeout = retryTimeout;
-        setTimeout(() => cb(null), retryTimeout);
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const headers = parseHeaders(rawHeaders);
-        this.retryCount += 1;
-        if (statusCode >= 300) {
-          this.abort(
-            new RequestRetryError("Request failed", statusCode, {
-              headers,
-              count: this.retryCount
-            })
-          );
-          return false;
+    }
+    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;
         }
-        if (this.resume != null) {
-          this.resume = null;
-          if (statusCode !== 206) {
-            return true;
-          }
-          const contentRange = parseRangeHeader(headers["content-range"]);
-          if (!contentRange) {
-            this.abort(
-              new RequestRetryError("Content-Range mismatch", statusCode, {
-                headers,
-                count: this.retryCount
-              })
-            );
-            return false;
+        fetchParams.controller.reportTimingSteps = () => {
+          if (fetchParams.request.url.protocol !== "https:") {
+            return;
           }
-          if (this.etag != null && this.etag !== headers.etag) {
-            this.abort(
-              new RequestRetryError("ETag mismatch", statusCode, {
-                headers,
-                count: this.retryCount
-              })
-            );
-            return false;
+          timingInfo.endTime = unsafeEndTime;
+          let cacheState = response.cacheState;
+          const bodyInfo = response.bodyInfo;
+          if (!response.timingAllowPassed) {
+            timingInfo = createOpaqueTimingInfo(timingInfo);
+            cacheState = "";
           }
-          const { start, size, end = size } = 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
-              );
+          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);
             }
-            const { start, size, end = size } = range;
-            assert(
-              start != null && Number.isFinite(start) && this.start !== start,
-              "content-range mismatch"
-            );
-            assert(Number.isFinite(start));
-            assert(
-              end != null && Number.isFinite(end) && this.end !== 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) : null;
+          if (fetchParams.request.initiatorType != null) {
+            markResourceTiming(timingInfo, fetchParams.request.url.href, fetchParams.request.initiatorType, globalThis, cacheState, bodyInfo, responseStatus);
           }
-          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;
-          return this.handler.onHeaders(
-            statusCode,
-            rawHeaders,
-            resume,
-            statusMessage
-          );
-        }
-        const err = new RequestRetryError("Request failed", statusCode, {
-          headers,
-          count: this.retryCount
+        };
+        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;
         });
-        this.abort(err);
-        return false;
       }
-      onData(chunk) {
-        this.start += chunk.length;
-        return this.handler.onData(chunk);
+      const internalResponse = response.type === "error" ? response : response.internalResponse ?? response;
+      if (internalResponse.body == null) {
+        processResponseEndOfBody();
+      } else {
+        finished(internalResponse.body.stream, () => {
+          processResponseEndOfBody();
+        });
       }
-      onComplete(rawTrailers) {
-        this.retryCount = 0;
-        return this.handler.onComplete(rawTrailers);
+    }
+    async function httpFetch(fetchParams) {
+      const request2 = fetchParams.request;
+      let response = null;
+      let actualResponse = null;
+      const timingInfo = fetchParams.timingInfo;
+      if (request2.serviceWorkers === "all") {
       }
-      onError(err) {
-        if (this.aborted || isDisturbed(this.opts.body)) {
-          return this.handler.onError(err);
+      if (response === null) {
+        if (request2.redirect === "follow") {
+          request2.serviceWorkers = "none";
         }
-        this.retryOpts.retry(
-          err,
-          {
-            state: { counter: this.retryCount++, currentTimeout: this.retryAfter },
-            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) {
-            this.opts = {
-              ...this.opts,
-              headers: {
-                ...this.opts.headers,
-                range: `bytes=${this.start}-${this.end ?? ""}`
-              }
-            };
-          }
-          try {
-            this.dispatch(this.opts, this);
-          } catch (err3) {
-            this.handler.onError(err3);
-          }
+        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;
         }
       }
-    };
-    module2.exports = RetryHandler;
-  }
-});
-
-// node_modules/undici/lib/global.js
-var require_global4 = __commonJS({
-  "node_modules/undici/lib/global.js"(exports2, module2) {
-    "use strict";
-    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
-    var { InvalidArgumentError } = require_errors2();
-    var Agent = require_agent2();
-    if (getGlobalDispatcher() === void 0) {
-      setGlobalDispatcher(new Agent());
-    }
-    function setGlobalDispatcher(agent) {
-      if (!agent || typeof agent.dispatch !== "function") {
-        throw new InvalidArgumentError("Argument agent must implement Agent");
+      if ((request2.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
+        request2.origin,
+        request2.client,
+        request2.destination,
+        actualResponse
+      ) === "blocked") {
+        return makeNetworkError("blocked");
       }
-      Object.defineProperty(globalThis, globalDispatcher, {
-        value: agent,
-        writable: true,
-        enumerable: false,
-        configurable: false
-      });
+      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 getGlobalDispatcher() {
-      return globalThis[globalDispatcher];
+    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);
     }
-    module2.exports = {
-      setGlobalDispatcher,
-      getGlobalDispatcher
-    };
-  }
-});
-
-// node_modules/undici/lib/handler/DecoratorHandler.js
-var require_DecoratorHandler = __commonJS({
-  "node_modules/undici/lib/handler/DecoratorHandler.js"(exports2, module2) {
-    "use strict";
-    module2.exports = class DecoratorHandler {
-      constructor(handler2) {
-        this.handler = handler2;
+    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;
       }
-      onConnect(...args) {
-        return this.handler.onConnect(...args);
+      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";
       }
-      onError(...args) {
-        return this.handler.onError(...args);
+      if (contentLength != null) {
+        contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
       }
-      onUpgrade(...args) {
-        return this.handler.onUpgrade(...args);
+      if (contentLengthHeaderValue != null) {
+        httpRequest.headersList.append("content-length", contentLengthHeaderValue, true);
       }
-      onHeaders(...args) {
-        return this.handler.onHeaders(...args);
+      if (contentLength != null && httpRequest.keepalive) {
       }
-      onData(...args) {
-        return this.handler.onData(...args);
+      if (httpRequest.referrer instanceof URL) {
+        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href), true);
       }
-      onComplete(...args) {
-        return this.handler.onComplete(...args);
+      appendRequestOriginHeader(httpRequest);
+      appendFetchMetadata(httpRequest);
+      if (!httpRequest.headersList.contains("user-agent", true)) {
+        httpRequest.headersList.append("user-agent", defaultUserAgent);
       }
-      onBodySent(...args) {
-        return this.handler.onBodySent(...args);
+      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";
       }
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/headers.js
-var require_headers2 = __commonJS({
-  "node_modules/undici/lib/fetch/headers.js"(exports2, module2) {
-    "use strict";
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var { kGuard } = require_symbols7();
-    var { kEnumerableProperty } = require_util9();
-    var {
-      makeIterator,
-      isValidHeaderName,
-      isValidHeaderValue
-    } = require_util10();
-    var util = require("util");
-    var { webidl } = require_webidl2();
-    var assert = require("assert");
-    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
-    var kHeadersSortedMap = /* @__PURE__ */ 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]);
+      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);
         }
-      } 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]]);
+        if (!httpRequest.headersList.contains("cache-control", true)) {
+          httpRequest.headersList.append("cache-control", "no-cache", true);
         }
-      } 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 (headers[kGuard] === "immutable") {
-        throw new TypeError("immutable");
-      } else if (headers[kGuard] === "request-no-cors") {
+      if (httpRequest.headersList.contains("range", true)) {
+        httpRequest.headersList.append("accept-encoding", "identity", true);
       }
-      return headers[kHeadersList].append(name, value);
-    }
-    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];
+      if (!httpRequest.headersList.contains("accept-encoding", true)) {
+        if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
+          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate", true);
         } else {
-          this[kHeadersMap] = new Map(init);
-          this[kHeadersSortedMap] = null;
+          httpRequest.headersList.append("accept-encoding", "gzip, deflate", true);
         }
       }
-      // https://fetch.spec.whatwg.org/#header-list-contains
-      contains(name) {
-        name = name.toLowerCase();
-        return this[kHeadersMap].has(name);
+      httpRequest.headersList.delete("host", true);
+      if (includeCredentials) {
       }
-      clear() {
-        this[kHeadersMap].clear();
-        this[kHeadersSortedMap] = null;
-        this.cookies = null;
+      if (httpCache == null) {
+        httpRequest.cache = "no-store";
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-append
-      append(name, value) {
-        this[kHeadersSortedMap] = null;
-        const lowercaseName = name.toLowerCase();
-        const exists = this[kHeadersMap].get(lowercaseName);
-        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 (httpRequest.cache !== "no-store" && httpRequest.cache !== "reload") {
+      }
+      if (response == null) {
+        if (httpRequest.cache === "only-if-cached") {
+          return makeNetworkError("only if cached");
         }
-        if (lowercaseName === "set-cookie") {
-          this.cookies ??= [];
-          this.cookies.push(value);
+        const forwardResponse = await httpNetworkFetch(
+          httpFetchParams,
+          includeCredentials,
+          isNewConnectionFetch
+        );
+        if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {
         }
-      }
-      // https://fetch.spec.whatwg.org/#concept-header-list-set
-      set(name, value) {
-        this[kHeadersSortedMap] = null;
-        const lowercaseName = name.toLowerCase();
-        if (lowercaseName === "set-cookie") {
-          this.cookies = [value];
+        if (revalidatingFlag && forwardResponse.status === 304) {
         }
-        this[kHeadersMap].set(lowercaseName, { name, value });
-      }
-      // https://fetch.spec.whatwg.org/#concept-header-list-delete
-      delete(name) {
-        this[kHeadersSortedMap] = null;
-        name = name.toLowerCase();
-        if (name === "set-cookie") {
-          this.cookies = null;
+        if (response == null) {
+          response = forwardResponse;
         }
-        this[kHeadersMap].delete(name);
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-get
-      get(name) {
-        const value = this[kHeadersMap].get(name.toLowerCase());
-        return value === void 0 ? null : value.value;
+      response.urlList = [...httpRequest.urlList];
+      if (httpRequest.headersList.contains("range", true)) {
+        response.rangeRequested = true;
       }
-      *[Symbol.iterator]() {
-        for (const [name, { value }] of this[kHeadersMap]) {
-          yield [name, value];
+      response.requestIncludesCredentials = includeCredentials;
+      if (response.status === 407) {
+        if (request2.window === "no-window") {
+          return makeNetworkError();
         }
-      }
-      get entries() {
-        const headers = {};
-        if (this[kHeadersMap].size) {
-          for (const { name, value } of this[kHeadersMap].values()) {
-            headers[name] = value;
-          }
+        if (isCancelled(fetchParams)) {
+          return makeAppropriateNetworkError(fetchParams);
         }
-        return headers;
+        return makeNetworkError("proxy authentication required");
       }
-    };
-    var Headers = class _Headers {
-      constructor(init = void 0) {
-        if (init === kConstruct) {
-          return;
-        }
-        this[kHeadersList] = new HeadersList();
-        this[kGuard] = "none";
-        if (init !== void 0) {
-          init = webidl.converters.HeadersInit(init);
-          fill(this, init);
+      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
+        );
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-append
-      append(name, value) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.append" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
-        return appendHeader(this, name, value);
+      if (isAuthenticationFetch) {
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-delete
-      delete(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.delete" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.delete",
-            value: name,
-            type: "header name"
-          });
-        }
-        if (this[kGuard] === "immutable") {
-          throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
-        }
-        if (!this[kHeadersList].contains(name)) {
-          return;
+      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"));
+            }
+          }
         }
-        this[kHeadersList].delete(name);
+      };
+      const request2 = fetchParams.request;
+      let response = null;
+      const timingInfo = fetchParams.timingInfo;
+      const httpCache = null;
+      if (httpCache == null) {
+        request2.cache = "no-store";
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-get
-      get(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.get" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.get",
-            value: name,
-            type: "header name"
-          });
-        }
-        return this[kHeadersList].get(name);
+      const newConnection = forceNewConnection ? "yes" : "no";
+      if (request2.mode === "websocket") {
+      } else {
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-has
-      has(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.has" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.has",
-            value: name,
-            type: "header name"
-          });
-        }
-        return this[kHeadersList].contains(name);
+      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);
+          }
+        })();
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-set
-      set(name, value) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.set" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
-        value = headerValueNormalize(value);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
-            value: name,
-            type: "header name"
-          });
-        } else if (!isValidHeaderValue(value)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
-            value,
-            type: "header value"
-          });
+      try {
+        const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
+        if (socket) {
+          response = makeResponse({ status, statusText, headersList, socket });
+        } else {
+          const iterator2 = body[Symbol.asyncIterator]();
+          fetchParams.controller.next = () => iterator2.next();
+          response = makeResponse({ status, statusText, headersList });
         }
-        if (this[kGuard] === "immutable") {
-          throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
+      } catch (err) {
+        if (err.name === "AbortError") {
+          fetchParams.controller.connection.destroy();
+          return makeAppropriateNetworkError(fetchParams, err);
         }
-        this[kHeadersList].set(name, value);
+        return makeNetworkError(err);
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
-      getSetCookie() {
-        webidl.brandCheck(this, _Headers);
-        const list = this[kHeadersList].cookies;
-        if (list) {
-          return [...list];
+      const pullAlgorithm = async () => {
+        await fetchParams.controller.resume();
+      };
+      const cancelAlgorithm = (reason) => {
+        if (!isCancelled(fetchParams)) {
+          fetchParams.controller.abort(reason);
         }
-        return [];
-      }
-      // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
-      get [kHeadersSortedMap]() {
-        if (this[kHeadersList][kHeadersSortedMap]) {
-          return this[kHeadersList][kHeadersSortedMap];
+      };
+      const stream2 = new ReadableStream(
+        {
+          async start(controller) {
+            fetchParams.controller.controller = controller;
+          },
+          async pull(controller) {
+            await pullAlgorithm(controller);
+          },
+          async cancel(reason) {
+            await cancelAlgorithm(reason);
+          },
+          type: "bytes"
         }
-        const headers = [];
-        const names = [...this[kHeadersList]].sort((a, b) => a[0] < b[0] ? -1 : 1);
-        const cookies = this[kHeadersList].cookies;
-        for (let i = 0; i < names.length; ++i) {
-          const [name, value] = names[i];
-          if (name === "set-cookie") {
-            for (let j = 0; j < cookies.length; ++j) {
-              headers.push([name, cookies[j]]);
+      );
+      response.body = { stream: stream2, 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(stream2)) {
+            fetchParams.controller.terminate();
+            return;
+          }
+          if (fetchParams.controller.controller.desiredSize <= 0) {
+            return;
+          }
+        }
+      };
+      function onAborted(reason) {
+        if (isAborted(fetchParams)) {
+          response.aborted = true;
+          if (isReadable(stream2)) {
+            fetchParams.controller.controller.error(
+              fetchParams.controller.serializedAbortReason
+            );
+          }
+        } else {
+          if (isReadable(stream2)) {
+            fetchParams.controller.controller.error(new TypeError("terminated", {
+              cause: isErrorLike(reason) ? reason : void 0
+            }));
+          }
+        }
+        fetchParams.controller.connection.destroy();
+      }
+      return response;
+      function dispatch({ body }) {
+        const url2 = requestCurrentURL(request2);
+        const agent = fetchParams.controller.dispatcher;
+        return new Promise((resolve6, reject) => agent.dispatch(
+          {
+            path: url2.pathname + url2.search,
+            origin: url2.origin,
+            method: request2.method,
+            body: agent.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
+            headers: request2.headersList.entries,
+            maxRedirections: 0,
+            upgrade: request2.mode === "websocket" ? "websocket" : void 0
+          },
+          {
+            body: null,
+            abort: null,
+            onConnect(abort) {
+              const { connection } = fetchParams.controller;
+              timingInfo.finalConnectionTimingInfo = clampAndCoarsenConnectionTimingInfo(void 0, timingInfo.postRedirectStartTime, fetchParams.crossOriginIsolatedCapability);
+              if (connection.destroyed) {
+                abort(new DOMException("The operation was aborted.", "AbortError"));
+              } else {
+                fetchParams.controller.on("terminated", abort);
+                this.abort = connection.abort = abort;
+              }
+              timingInfo.finalNetworkRequestStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+            },
+            onResponseStarted() {
+              timingInfo.finalNetworkResponseStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+            },
+            onHeaders(status, rawHeaders, resume, statusText) {
+              if (status < 200) {
+                return;
+              }
+              let location = "";
+              const headersList = new HeadersList();
+              for (let i = 0; i < rawHeaders.length; i += 2) {
+                headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true);
+              }
+              location = headersList.get("location", true);
+              this.body = new Readable2({ 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(zlib2.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: zlib2.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib2.constants.Z_SYNC_FLUSH
+                    }));
+                  } else if (coding === "deflate") {
+                    decoders.push(createInflate({
+                      flush: zlib2.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib2.constants.Z_SYNC_FLUSH
+                    }));
+                  } else if (coding === "br") {
+                    decoders.push(zlib2.createBrotliDecompress({
+                      flush: zlib2.constants.BROTLI_OPERATION_FLUSH,
+                      finishFlush: zlib2.constants.BROTLI_OPERATION_FLUSH
+                    }));
+                  } else {
+                    decoders.length = 0;
+                    break;
+                  }
+                }
+              }
+              const onError = this.onError.bind(this);
+              resolve6({
+                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(error3) {
+              if (this.abort) {
+                fetchParams.controller.off("terminated", this.abort);
+              }
+              this.body?.destroy(error3);
+              fetchParams.controller.terminate(error3);
+              reject(error3);
+            },
+            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);
+              }
+              resolve6({
+                status,
+                statusText: STATUS_CODES[status],
+                headersList,
+                socket
+              });
+              return true;
             }
-          } else {
-            assert(value !== null);
-            headers.push([name, value]);
           }
-        }
-        this[kHeadersList][kHeadersSortedMap] = headers;
-        return headers;
-      }
-      keys() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key"
-        );
-      }
-      values() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "value"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "value"
-        );
-      }
-      entries() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key+value"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key+value"
-        );
-      }
-      /**
-       * @param {(value: string, key: string, self: Headers) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'."
-          );
-        }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
-        }
-      }
-      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")]() {
-        webidl.brandCheck(this, _Headers);
-        return this[kHeadersList];
-      }
-    };
-    Headers.prototype[Symbol.iterator] = Headers.prototype.entries;
-    Object.defineProperties(Headers.prototype, {
-      append: kEnumerableProperty,
-      delete: kEnumerableProperty,
-      get: kEnumerableProperty,
-      has: kEnumerableProperty,
-      set: kEnumerableProperty,
-      getSetCookie: kEnumerableProperty,
-      keys: kEnumerableProperty,
-      values: kEnumerableProperty,
-      entries: kEnumerableProperty,
-      forEach: kEnumerableProperty,
-      [Symbol.iterator]: { enumerable: false },
-      [Symbol.toStringTag]: {
-        value: "Headers",
-        configurable: true
-      },
-      [util.inspect.custom]: {
-        enumerable: false
-      }
-    });
-    webidl.converters.HeadersInit = function(V) {
-      if (webidl.util.Type(V) === "Object") {
-        if (V[Symbol.iterator]) {
-          return webidl.converters["sequence>"](V);
-        }
-        return webidl.converters["record"](V);
+        ));
       }
-      throw webidl.errors.conversionFailed({
-        prefix: "Headers constructor",
-        argument: "Argument 1",
-        types: ["sequence>", "record"]
-      });
+    }
+    module2.exports = {
+      fetch,
+      Fetch,
+      fetching,
+      finalizeAndReportTiming
     };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js
+var require_symbols8 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js"(exports2, module2) {
+    "use strict";
     module2.exports = {
-      fill,
-      Headers,
-      HeadersList
+      kState: /* @__PURE__ */ Symbol("FileReader state"),
+      kResult: /* @__PURE__ */ Symbol("FileReader result"),
+      kError: /* @__PURE__ */ Symbol("FileReader error"),
+      kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"),
+      kEvents: /* @__PURE__ */ Symbol("FileReader events"),
+      kAborted: /* @__PURE__ */ Symbol("FileReader aborted")
     };
   }
 });
 
-// node_modules/undici/lib/fetch/response.js
-var require_response2 = __commonJS({
-  "node_modules/undici/lib/fetch/response.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js
+var require_progressevent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js"(exports2, module2) {
     "use strict";
-    var { Headers, HeadersList, fill } = require_headers2();
-    var { extractBody, cloneBody, mixinBody } = require_body2();
-    var util = require_util9();
-    var { kEnumerableProperty } = util;
-    var {
-      isValidReasonPhrase,
-      isCancelled,
-      isAborted,
-      isBlobLike,
-      serializeJavascriptValueToJSONString,
-      isErrorLike,
-      isomorphicEncode
-    } = require_util10();
-    var {
-      redirectStatusSet,
-      nullBodyStatus,
-      DOMException: DOMException2
-    } = require_constants7();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
     var { webidl } = require_webidl2();
-    var { FormData: FormData2 } = require_formdata2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { types } = require("util");
-    var ReadableStream2 = globalThis.ReadableStream || require("stream/web").ReadableStream;
-    var textEncoder = new TextEncoder("utf-8");
-    var Response = class _Response {
-      // Creates network error Response.
-      static error() {
-        const relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kState] = makeNetworkError();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = responseObject[kState].headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        return responseObject;
-      }
-      // https://fetch.spec.whatwg.org/#dom-response-json
-      static json(data, init = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.json" });
-        if (init !== null) {
-          init = webidl.converters.ResponseInit(init);
-        }
-        const bytes = textEncoder.encode(
-          serializeJavascriptValueToJSONString(data)
-        );
-        const body = extractBody(bytes);
-        const relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "response";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
-        return responseObject;
-      }
-      // Creates a redirect Response that redirects to url with status status.
-      static redirect(url2, status = 302) {
-        const relevantRealm = { settingsObject: {} };
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.redirect" });
-        url2 = webidl.converters.USVString(url2);
-        status = webidl.converters["unsigned short"](status);
-        let parsedURL;
-        try {
-          parsedURL = new URL(url2, getGlobalOrigin());
-        } catch (err) {
-          throw Object.assign(new TypeError("Failed to parse URL from " + url2), {
-            cause: err
-          });
-        }
-        if (!redirectStatusSet.has(status)) {
-          throw new RangeError("Invalid status code " + status);
-        }
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        responseObject[kState].status = status;
-        const value = isomorphicEncode(URLSerializer(parsedURL));
-        responseObject[kState].headersList.append("location", value);
-        return responseObject;
-      }
-      // https://fetch.spec.whatwg.org/#dom-response
-      constructor(body = null, init = {}) {
-        if (body !== null) {
-          body = webidl.converters.BodyInit(body);
-        }
-        init = webidl.converters.ResponseInit(init);
-        this[kRealm] = { settingsObject: {} };
-        this[kState] = makeResponse({});
-        this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kGuard] = "response";
-        this[kHeaders][kHeadersList] = this[kState].headersList;
-        this[kHeaders][kRealm] = this[kRealm];
-        let bodyWithType = null;
-        if (body != null) {
-          const [extractedBody, type2] = extractBody(body);
-          bodyWithType = { body: extractedBody, type: type2 };
-        }
-        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 url2 = urlList[urlList.length - 1] ?? null;
-        if (url2 === null) {
-          return "";
-        }
-        return URLSerializer(url2, 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];
+    var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
+    var ProgressEvent = class _ProgressEvent extends Event {
+      constructor(type2, eventInitDict = {}) {
+        type2 = webidl.converters.DOMString(type2, "ProgressEvent constructor", "type");
+        eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
+        super(type2, eventInitDict);
+        this[kState] = {
+          lengthComputable: eventInitDict.lengthComputable,
+          loaded: eventInitDict.loaded,
+          total: eventInitDict.total
+        };
       }
-      get body() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].body ? this[kState].body.stream : null;
+      get lengthComputable() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].lengthComputable;
       }
-      get bodyUsed() {
-        webidl.brandCheck(this, _Response);
-        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
+      get loaded() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].loaded;
       }
-      // Returns a clone of response.
-      clone() {
-        webidl.brandCheck(this, _Response);
-        if (this.bodyUsed || this.body && this.body.locked) {
-          throw webidl.errors.exception({
-            header: "Response.clone",
-            message: "Body has already been consumed."
-          });
-        }
-        const clonedResponse = cloneResponse(this[kState]);
-        const clonedResponseObject = new _Response();
-        clonedResponseObject[kState] = clonedResponse;
-        clonedResponseObject[kRealm] = this[kRealm];
-        clonedResponseObject[kHeaders][kHeadersList] = clonedResponse.headersList;
-        clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm];
-        return clonedResponseObject;
+      get total() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].total;
       }
     };
-    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(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 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, type2) {
-      if (type2 === "basic") {
-        return makeFilteredResponse(response, {
-          type: "basic",
-          headersList: response.headersList
-        });
-      } else if (type2 === "cors") {
-        return makeFilteredResponse(response, {
-          type: "cors",
-          headersList: response.headersList
-        });
-      } else if (type2 === "opaque") {
-        return makeFilteredResponse(response, {
-          type: "opaque",
-          urlList: Object.freeze([]),
-          status: 0,
-          statusText: "",
-          body: null
-        });
-      } else if (type2 === "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 DOMException2("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException2("Request was cancelled."), { cause: err }));
-    }
-    function initializeResponse(response, init, body) {
-      if (init.status !== null && (init.status < 200 || init.status > 599)) {
-        throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
-      }
-      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;
+    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
       }
-      if ("headers" in init && init.headers != null) {
-        fill(response[kHeaders], init.headers);
+    ]);
+    module2.exports = {
+      ProgressEvent
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js
+var require_encoding2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js"(exports2, module2) {
+    "use strict";
+    function getEncoding(label) {
+      if (!label) {
+        return "failure";
       }
-      if (body) {
-        if (nullBodyStatus.includes(response.status)) {
-          throw webidl.errors.exception({
-            header: "Response constructor",
-            message: "Invalid response status code " + response.status
-          });
-        }
-        response[kState].body = body.body;
-        if (body.type != null && !response[kState].headersList.contains("Content-Type")) {
-          response[kState].headersList.append("content-type", body.type);
-        }
+      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";
       }
     }
-    webidl.converters.ReadableStream = webidl.interfaceConverter(
-      ReadableStream2
-    );
-    webidl.converters.FormData = webidl.interfaceConverter(
-      FormData2
-    );
-    webidl.converters.URLSearchParams = webidl.interfaceConverter(
-      URLSearchParams
-    );
-    webidl.converters.XMLHttpRequestBodyInit = function(V) {
-      if (typeof V === "string") {
-        return webidl.converters.USVString(V);
-      }
-      if (isBlobLike(V)) {
-        return webidl.converters.Blob(V, { strict: false });
-      }
-      if (types.isArrayBuffer(V) || types.isTypedArray(V) || types.isDataView(V)) {
-        return webidl.converters.BufferSource(V);
-      }
-      if (util.isFormDataLike(V)) {
-        return webidl.converters.FormData(V, { strict: false });
-      }
-      if (V instanceof URLSearchParams) {
-        return webidl.converters.URLSearchParams(V);
-      }
-      return webidl.converters.DOMString(V);
-    };
-    webidl.converters.BodyInit = function(V) {
-      if (V instanceof ReadableStream2) {
-        return webidl.converters.ReadableStream(V);
-      }
-      if (V?.[Symbol.asyncIterator]) {
-        return V;
-      }
-      return webidl.converters.XMLHttpRequestBodyInit(V);
-    };
-    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 = {
-      makeNetworkError,
-      makeResponse,
-      makeAppropriateNetworkError,
-      filterResponse,
-      Response,
-      cloneResponse
+      getEncoding
     };
   }
 });
 
-// node_modules/undici/lib/fetch/request.js
-var require_request4 = __commonJS({
-  "node_modules/undici/lib/fetch/request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js
+var require_util12 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js"(exports2, module2) {
     "use strict";
-    var { extractBody, mixinBody, cloneBody } = require_body2();
-    var { Headers, fill: fillHeaders, HeadersList } = require_headers2();
-    var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
-    var util = require_util9();
-    var {
-      isValidHTTPToken,
-      sameOrigin,
-      normalizeMethod,
-      makePolicyContainer,
-      normalizeMethodRecord
-    } = require_util10();
     var {
-      forbiddenMethodsSet,
-      corsSafeListedMethodsSet,
-      referrerPolicy,
-      requestRedirect,
-      requestMode,
-      requestCredentials,
-      requestCache,
-      requestDuplex
-    } = require_constants7();
-    var { kEnumerableProperty } = util;
-    var { kHeaders, kSignal, kState, kGuard, kRealm } = require_symbols7();
-    var { webidl } = require_webidl2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events");
-    var TransformStream2 = globalThis.TransformStream;
-    var kAbortController = /* @__PURE__ */ Symbol("abortController");
-    var requestFinalizer = new FinalizationRegistry2(({ signal, abort }) => {
-      signal.removeEventListener("abort", abort);
-    });
-    var Request = class _Request {
-      // https://fetch.spec.whatwg.org/#dom-request
-      constructor(input, init = {}) {
-        if (input === kConstruct) {
-          return;
-        }
-        webidl.argumentLengthCheck(arguments, 1, { header: "Request constructor" });
-        input = webidl.converters.RequestInfo(input);
-        init = webidl.converters.RequestInit(init);
-        this[kRealm] = {
-          settingsObject: {
-            baseUrl: getGlobalOrigin(),
-            get origin() {
-              return this.baseUrl?.origin;
-            },
-            policyContainer: makePolicyContainer()
-          }
-        };
-        let request2 = null;
-        let fallbackMode = null;
-        const baseUrl = this[kRealm].settingsObject.baseUrl;
-        let signal = null;
-        if (typeof input === "string") {
-          let parsedURL;
+      kState,
+      kError,
+      kResult,
+      kAborted,
+      kLastProgressEventFired
+    } = require_symbols8();
+    var { ProgressEvent } = require_progressevent2();
+    var { getEncoding } = require_encoding2();
+    var { serializeAMimeType, parseMIMEType } = require_data_url2();
+    var { types } = require("node:util");
+    var { StringDecoder } = require("string_decoder");
+    var { btoa: btoa2 } = require("node:buffer");
+    var staticPropertyDescriptors = {
+      enumerable: true,
+      writable: false,
+      configurable: false
+    };
+    function readOperation(fr, blob, type2, encodingName) {
+      if (fr[kState] === "loading") {
+        throw new DOMException("Invalid state", "InvalidStateError");
+      }
+      fr[kState] = "loading";
+      fr[kResult] = null;
+      fr[kError] = null;
+      const stream2 = blob.stream();
+      const reader = stream2.getReader();
+      const bytes = [];
+      let chunkPromise = reader.read();
+      let isFirstChunk = true;
+      (async () => {
+        while (!fr[kAborted]) {
           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 {
-          assert(input instanceof _Request);
-          request2 = input[kState];
-          signal = input[kSignal];
-        }
-        const origin = this[kRealm].settingsObject.origin;
-        let window2 = "client";
-        if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
-          window2 = request2.window;
-        }
-        if (init.window != null) {
-          throw new TypeError(`'window' option '${window2}' must be null`);
-        }
-        if ("window" in init) {
-          window2 = "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: this[kRealm].settingsObject,
-          // window window.
-          window: window2,
-          // 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, this[kRealm].settingsObject.baseUrl)) {
-              request2.referrer = "client";
-            } else {
-              request2.referrer = parsedReferrer;
+            const { done, value } = await chunkPromise;
+            if (isFirstChunk && !fr[kAborted]) {
+              queueMicrotask(() => {
+                fireAProgressEvent("loadstart", fr);
+              });
             }
-          }
-        }
-        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;
-          if (!isValidHTTPToken(method)) {
-            throw new TypeError(`'${method}' is not a valid HTTP method.`);
-          }
-          if (forbiddenMethodsSet.has(method.toUpperCase())) {
-            throw new TypeError(`'${method}' HTTP method is unsupported.`);
-          }
-          method = normalizeMethodRecord[method] ?? normalizeMethod(method);
-          request2.method = method;
-        }
-        if (init.signal !== void 0) {
-          signal = init.signal;
-        }
-        this[kState] = request2;
-        const ac = new AbortController();
-        this[kSignal] = ac.signal;
-        this[kSignal][kRealm] = this[kRealm];
-        if (signal != null) {
-          if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") {
-            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 = function() {
-              const ac2 = acRef.deref();
-              if (ac2 !== void 0) {
-                ac2.abort(this.reason);
+            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);
+                });
               }
-            };
-            try {
-              if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) {
-                setMaxListeners(100, signal);
-              } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) {
-                setMaxListeners(100, signal);
+              chunkPromise = reader.read();
+            } else if (done) {
+              queueMicrotask(() => {
+                fr[kState] = "done";
+                try {
+                  const result = packageData(bytes, type2, blob.type, encodingName);
+                  if (fr[kAborted]) {
+                    return;
+                  }
+                  fr[kResult] = result;
+                  fireAProgressEvent("load", fr);
+                } catch (error3) {
+                  fr[kError] = error3;
+                  fireAProgressEvent("error", fr);
+                }
+                if (fr[kState] !== "loading") {
+                  fireAProgressEvent("loadend", fr);
+                }
+              });
+              break;
+            }
+          } catch (error3) {
+            if (fr[kAborted]) {
+              return;
+            }
+            queueMicrotask(() => {
+              fr[kState] = "done";
+              fr[kError] = error3;
+              fireAProgressEvent("error", fr);
+              if (fr[kState] !== "loading") {
+                fireAProgressEvent("loadend", fr);
               }
-            } catch {
-            }
-            util.addAbortListener(signal, abort);
-            requestFinalizer.register(ac, { signal, abort });
-          }
-        }
-        this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kHeadersList] = request2.headersList;
-        this[kHeaders][kGuard] = "request";
-        this[kHeaders][kRealm] = this[kRealm];
-        if (mode === "no-cors") {
-          if (!corsSafeListedMethodsSet.has(request2.method)) {
-            throw new TypeError(
-              `'${request2.method} is unsupported in no-cors mode.`
-            );
+            });
+            break;
           }
-          this[kHeaders][kGuard] = "request-no-cors";
         }
-        if (initHasKey) {
-          const headersList = this[kHeaders][kHeadersList];
-          const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList);
-          headersList.clear();
-          if (headers instanceof HeadersList) {
-            for (const [key, val] of headers) {
-              headersList.append(key, val);
-            }
-            headersList.cookies = headers.cookies;
-          } else {
-            fillHeaders(this[kHeaders], headers);
+      })();
+    }
+    function fireAProgressEvent(e, reader) {
+      const event = new ProgressEvent(e, {
+        bubbles: false,
+        cancelable: false
+      });
+      reader.dispatchEvent(event);
+    }
+    function packageData(bytes, type2, mimeType, encodingName) {
+      switch (type2) {
+        case "DataURL": {
+          let dataURL = "data:";
+          const parsed = parseMIMEType(mimeType || "application/octet-stream");
+          if (parsed !== "failure") {
+            dataURL += serializeAMimeType(parsed);
           }
-        }
-        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 && !this[kHeaders][kHeadersList].contains("content-type")) {
-            this[kHeaders].append("content-type", contentType);
+          dataURL += ";base64,";
+          const decoder = new StringDecoder("latin1");
+          for (const chunk of bytes) {
+            dataURL += btoa2(decoder.write(chunk));
           }
+          dataURL += btoa2(decoder.end());
+          return dataURL;
         }
-        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"'
-            );
+        case "Text": {
+          let encoding = "failure";
+          if (encodingName) {
+            encoding = getEncoding(encodingName);
           }
-          request2.useCORSPreflightFlag = true;
-        }
-        let finalBody = inputOrInitBody;
-        if (initBody == null && inputBody != null) {
-          if (util.isDisturbed(inputBody.stream) || inputBody.stream.locked) {
-            throw new TypeError(
-              "Cannot construct a Request with a Request object that has already been used."
-            );
+          if (encoding === "failure" && mimeType) {
+            const type3 = parseMIMEType(mimeType);
+            if (type3 !== "failure") {
+              encoding = getEncoding(type3.parameters.get("charset"));
+            }
           }
-          if (!TransformStream2) {
-            TransformStream2 = require("stream/web").TransformStream;
+          if (encoding === "failure") {
+            encoding = "UTF-8";
           }
-          const identityTransform = new TransformStream2();
-          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 decode(bytes, encoding);
         }
-        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-foward 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 (this.bodyUsed || this.body?.locked) {
-          throw new TypeError("unusable");
+        case "ArrayBuffer": {
+          const sequence = combineByteSequences(bytes);
+          return sequence.buffer;
         }
-        const clonedRequest = cloneRequest(this[kState]);
-        const clonedRequestObject = new _Request(kConstruct);
-        clonedRequestObject[kState] = clonedRequest;
-        clonedRequestObject[kRealm] = this[kRealm];
-        clonedRequestObject[kHeaders] = new Headers(kConstruct);
-        clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList;
-        clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm];
-        const ac = new AbortController();
-        if (this.signal.aborted) {
-          ac.abort(this.signal.reason);
-        } else {
-          util.addAbortListener(
-            this.signal,
-            () => {
-              ac.abort(this.signal.reason);
-            }
-          );
+        case "BinaryString": {
+          let binaryString = "";
+          const decoder = new StringDecoder("latin1");
+          for (const chunk of bytes) {
+            binaryString += decoder.write(chunk);
+          }
+          binaryString += decoder.end();
+          return binaryString;
         }
-        clonedRequestObject[kSignal] = ac.signal;
-        return clonedRequestObject;
       }
-    };
-    mixinBody(Request);
-    function makeRequest(init) {
-      const request2 = {
-        method: "GET",
-        localURLsOnly: false,
-        unsafeRequest: false,
-        body: null,
-        client: null,
-        reservedClient: null,
-        replacesClientId: "",
-        window: "client",
-        keepalive: false,
-        serviceWorkers: "all",
-        initiator: "",
-        destination: "",
-        priority: null,
-        origin: "client",
-        policyContainer: "client",
-        referrer: "client",
-        referrerPolicy: "",
-        mode: "no-cors",
-        useCORSPreflightFlag: false,
-        credentials: "same-origin",
-        useCredentials: false,
-        cache: "default",
-        redirect: "follow",
-        integrity: "",
-        cryptoGraphicsNonceMetadata: "",
-        parserMetadata: "",
-        reloadNavigation: false,
-        historyNavigation: false,
-        userActivation: false,
-        taintedOrigin: false,
-        redirectCount: 0,
-        responseTainting: "basic",
-        preventNoCacheCacheControlHeaderModification: false,
-        done: false,
-        timingAllowFailed: false,
-        ...init,
-        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList()
-      };
-      request2.url = request2.urlList[0];
-      return request2;
     }
-    function cloneRequest(request2) {
-      const newRequest = makeRequest({ ...request2, body: null });
-      if (request2.body != null) {
-        newRequest.body = cloneBody(request2.body);
+    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;
       }
-      return newRequest;
+      const sliced = bytes.slice(slice);
+      return new TextDecoder(encoding).decode(sliced);
     }
-    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) {
-      if (typeof V === "string") {
-        return webidl.converters.USVString(V);
-      }
-      if (V instanceof Request) {
-        return webidl.converters.Request(V);
+    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 webidl.converters.USVString(V);
+      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
     };
-    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,
-            { strict: false }
-          )
-        )
-      },
-      {
-        key: "window",
-        converter: webidl.converters.any
-      },
-      {
-        key: "duplex",
-        converter: webidl.converters.DOMString,
-        allowedValues: requestDuplex
-      }
-    ]);
-    module2.exports = { Request, makeRequest };
   }
 });
 
-// node_modules/undici/lib/fetch/index.js
-var require_fetch2 = __commonJS({
-  "node_modules/undici/lib/fetch/index.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js
+var require_filereader2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js"(exports2, module2) {
     "use strict";
     var {
-      Response,
-      makeNetworkError,
-      makeAppropriateNetworkError,
-      filterResponse,
-      makeResponse
-    } = require_response2();
-    var { Headers } = require_headers2();
-    var { Request, makeRequest } = require_request4();
-    var zlib2 = require("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
-    } = require_util10();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
-    var assert = require("assert");
-    var { safelyExtractBody } = require_body2();
+      staticPropertyDescriptors,
+      readOperation,
+      fireAProgressEvent
+    } = require_util12();
     var {
-      redirectStatusSet,
-      nullBodyStatus,
-      safeMethodsSet,
-      requestBodyHeader,
-      subresourceSet,
-      DOMException: DOMException2
-    } = require_constants7();
-    var { kHeadersList } = require_symbols6();
-    var EE = require("events");
-    var { Readable: Readable2, pipeline } = require("stream");
-    var { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require_util9();
-    var { dataURLProcessor, serializeAMimeType } = require_dataURL();
-    var { TransformStream: TransformStream2 } = require("stream/web");
-    var { getGlobalDispatcher } = require_global4();
+      kState,
+      kError,
+      kResult,
+      kEvents,
+      kAborted
+    } = require_symbols8();
     var { webidl } = require_webidl2();
-    var { STATUS_CODES } = require("http");
-    var GET_OR_HEAD = ["GET", "HEAD"];
-    var resolveObjectURL;
-    var ReadableStream2 = globalThis.ReadableStream;
-    var Fetch = class extends EE {
-      constructor(dispatcher) {
+    var { kEnumerableProperty } = require_util9();
+    var FileReader = class _FileReader extends EventTarget {
+      constructor() {
         super();
-        this.dispatcher = dispatcher;
-        this.connection = null;
-        this.dump = false;
-        this.state = "ongoing";
-        this.setMaxListeners(21);
+        this[kState] = "empty";
+        this[kResult] = null;
+        this[kError] = null;
+        this[kEvents] = {
+          loadend: null,
+          error: null,
+          abort: null,
+          load: null,
+          progress: null,
+          loadstart: null
+        };
       }
-      terminate(reason) {
-        if (this.state !== "ongoing") {
+      /**
+       * @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;
         }
-        this.state = "terminated";
-        this.connection?.destroy(reason);
-        this.emit("terminated", reason);
+        if (this[kState] === "loading") {
+          this[kState] = "done";
+          this[kResult] = null;
+        }
+        this[kAborted] = true;
+        fireAProgressEvent("abort", this);
+        if (this[kState] !== "loading") {
+          fireAProgressEvent("loadend", this);
+        }
       }
-      // https://fetch.spec.whatwg.org/#fetch-controller-abort
-      abort(error3) {
-        if (this.state !== "ongoing") {
-          return;
+      /**
+       * @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;
         }
-        this.state = "aborted";
-        if (!error3) {
-          error3 = new DOMException2("The operation was aborted.", "AbortError");
+      }
+      /**
+       * @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;
         }
-        this.serializedAbortReason = error3;
-        this.connection?.destroy(error3);
-        this.emit("terminated", error3);
       }
-    };
-    function fetch(input, init = {}) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "globalThis.fetch" });
-      const p = createDeferredPromise();
-      let requestObject;
-      try {
-        requestObject = new Request(input, init);
-      } catch (e) {
-        p.reject(e);
-        return p.promise;
+      get onerror() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].error;
       }
-      const request2 = requestObject[kState];
-      if (requestObject.signal.aborted) {
-        abortFetch(p, request2, null, requestObject.signal.reason);
-        return p.promise;
+      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;
+        }
       }
-      const globalObject = request2.client.globalObject;
-      if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") {
-        request2.serviceWorkers = "none";
+      get onloadstart() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].loadstart;
       }
-      let responseObject = null;
-      const relevantRealm = null;
-      let locallyAborted = false;
-      let controller = null;
-      addAbortListener(
-        requestObject.signal,
-        () => {
-          locallyAborted = true;
-          assert(controller != null);
-          controller.abort(requestObject.signal.reason);
-          abortFetch(p, request2, responseObject, requestObject.signal.reason);
+      set onloadstart(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].loadstart) {
+          this.removeEventListener("loadstart", this[kEvents].loadstart);
         }
-      );
-      const handleFetchDone = (response) => finalizeAndReportTiming(response, "fetch");
-      const processResponse = (response) => {
-        if (locallyAborted) {
-          return Promise.resolve();
+        if (typeof fn === "function") {
+          this[kEvents].loadstart = fn;
+          this.addEventListener("loadstart", fn);
+        } else {
+          this[kEvents].loadstart = null;
         }
-        if (response.aborted) {
-          abortFetch(p, request2, responseObject, controller.serializedAbortReason);
-          return Promise.resolve();
+      }
+      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 (response.type === "error") {
-          p.reject(
-            Object.assign(new TypeError("fetch failed"), { cause: response.error })
-          );
-          return Promise.resolve();
+        if (typeof fn === "function") {
+          this[kEvents].progress = fn;
+          this.addEventListener("progress", fn);
+        } else {
+          this[kEvents].progress = null;
         }
-        responseObject = new Response();
-        responseObject[kState] = response;
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = response.headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        p.resolve(responseObject);
-      };
-      controller = fetching({
-        request: request2,
-        processResponseEndOfBody: handleFetchDone,
-        processResponse,
-        dispatcher: init.dispatcher ?? getGlobalDispatcher()
-        // undici
-      });
-      return p.promise;
-    }
-    function finalizeAndReportTiming(response, initiatorType = "other") {
-      if (response.type === "error" && response.aborted) {
-        return;
       }
-      if (!response.urlList?.length) {
-        return;
+      get onload() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].load;
       }
-      const originalURL = response.urlList[0];
-      let timingInfo = response.timingInfo;
-      let cacheState = response.cacheState;
-      if (!urlIsHttpHttpsScheme(originalURL)) {
-        return;
+      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;
+        }
       }
-      if (timingInfo === null) {
-        return;
+      get onabort() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].abort;
       }
-      if (!response.timingAllowPassed) {
-        timingInfo = createOpaqueTimingInfo({
-          startTime: timingInfo.startTime
-        });
-        cacheState = "";
+      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;
+        }
       }
-      timingInfo.endTime = coarsenedSharedCurrentTime();
-      response.timingInfo = timingInfo;
-      markResourceTiming(
-        timingInfo,
-        originalURL,
-        initiatorType,
-        globalThis,
-        cacheState
-      );
+    };
+    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/@actions/github/node_modules/undici/lib/web/cache/symbols.js
+var require_symbols9 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kConstruct: require_symbols6().kConstruct
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js
+var require_util13 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { URLSerializer } = require_data_url2();
+    var { isValidHeaderName } = require_util10();
+    function urlEquals(A, B, excludeFragment = false) {
+      const serializedA = URLSerializer(A, excludeFragment);
+      const serializedB = URLSerializer(B, excludeFragment);
+      return serializedA === serializedB;
     }
-    function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) {
-      if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) {
-        performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis2, cacheState);
+    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;
     }
-    function abortFetch(p, request2, responseObject, error3) {
-      if (!error3) {
-        error3 = new DOMException2("The operation was aborted.", "AbortError");
+    module2.exports = {
+      urlEquals,
+      getFieldValues
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js
+var require_cache2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols9();
+    var { urlEquals, getFieldValues } = require_util13();
+    var { kEnumerableProperty, isDisturbed } = require_util9();
+    var { webidl } = require_webidl2();
+    var { Response, cloneResponse, fromInnerResponse } = require_response2();
+    var { Request, fromInnerRequest } = require_request4();
+    var { kState } = require_symbols7();
+    var { fetching } = require_fetch2();
+    var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util10();
+    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];
       }
-      p.reject(error3);
-      if (request2.body != null && isReadable(request2.body?.stream)) {
-        request2.body.stream.cancel(error3).catch((err) => {
-          if (err.code === "ERR_INVALID_STATE") {
-            return;
+      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);
           }
-          throw err;
         });
+        return cacheJobPromise.promise;
       }
-      if (responseObject == null) {
-        return;
-      }
-      const response = responseObject[kState];
-      if (response.body != null && isReadable(response.body?.stream)) {
-        response.body.stream.cancel(error3).catch((err) => {
-          if (err.code === "ERR_INVALID_STATE") {
-            return;
+      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 stream2 = innerResponse.body.stream;
+          const reader = stream2.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);
           }
-          throw err;
         });
+        return cacheJobPromise.promise;
       }
-    }
-    function fetching({
-      request: request2,
-      processRequestBodyChunkLength,
-      processRequestEndOfBody,
-      processResponse,
-      processResponseEndOfBody,
-      processResponseConsumeBody,
-      useParallelQueue = false,
-      dispatcher
-      // undici
-    }) {
-      let taskDestination = null;
-      let crossOriginIsolatedCapability = false;
-      if (request2.client != null) {
-        taskDestination = request2.client.globalObject;
-        crossOriginIsolatedCapability = request2.client.crossOriginIsolatedCapability;
-      }
-      const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
-      const timingInfo = createOpaqueTimingInfo({
-        startTime: currenTime
-      });
-      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
-          );
+      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 {
-          request2.policyContainer = makePolicyContainer();
+          assert(typeof request2 === "string");
+          r = new Request(request2)[kState];
         }
-      }
-      if (!request2.headersList.contains("accept")) {
-        const value = "*/*";
-        request2.headersList.append("accept", value);
-      }
-      if (!request2.headersList.contains("accept-language")) {
-        request2.headersList.append("accept-language", "*");
-      }
-      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"');
+        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);
           }
-          if (request2.mode === "no-cors") {
-            if (request2.redirect !== "follow") {
-              return makeNetworkError(
-                'redirect mode cannot be "follow" for "no-cors" request'
-              );
+        });
+        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 [];
             }
-            request2.responseTainting = "opaque";
-            return await schemeFetch(fetchParams);
-          }
-          if (!urlIsHttpHttpsScheme(requestCurrentURL(request2))) {
-            return makeNetworkError("URL scheme must be a HTTP(S) scheme");
+          } else if (typeof request2 === "string") {
+            r = new Request(request2)[kState];
           }
-          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");
+        const promise = createDeferredPromise();
+        const requests = [];
+        if (request2 === void 0) {
+          for (const requestResponse of this.#relevantRequestResponseList) {
+            requests.push(requestResponse[0]);
+          }
         } else {
-          assert(false);
+          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;
       }
-      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")) {
-        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;
+      /**
+       * @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]);
           }
-          response.body = safelyExtractBody(bytes)[0];
-          fetchFinale(fetchParams, response);
-        };
-        await fullyReadBody(response.body, processBody, processBodyError);
-      } else {
-        fetchFinale(fetchParams, response);
+          return resultList;
+        } catch (e) {
+          this.#relevantRequestResponseList.length = 0;
+          this.#relevantRequestResponseList = backupCache;
+          throw e;
+        }
       }
-    }
-    function schemeFetch(fetchParams) {
-      if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {
-        return Promise.resolve(makeAppropriateNetworkError(fetchParams));
+      /**
+       * @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;
       }
-      const { request: request2 } = fetchParams;
-      const { protocol: scheme } = requestCurrentURL(request2);
-      switch (scheme) {
-        case "about:": {
-          return Promise.resolve(makeNetworkError("about scheme is not supported"));
+      /**
+       * @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 = "";
         }
-        case "blob:": {
-          if (!resolveObjectURL) {
-            resolveObjectURL = require("buffer").resolveObjectURL;
-          }
-          const blobURLEntry = requestCurrentURL(request2);
-          if (blobURLEntry.search.length !== 0) {
-            return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));
+        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 blobURLEntryObject = resolveObjectURL(blobURLEntry.toString());
-          if (request2.method !== "GET" || !isBlobLike(blobURLEntryObject)) {
-            return Promise.resolve(makeNetworkError("invalid method"));
+          const requestValue = request2.headersList.get(fieldValue);
+          const queryValue = requestQuery.headersList.get(fieldValue);
+          if (requestValue !== queryValue) {
+            return false;
           }
-          const bodyWithType = safelyExtractBody(blobURLEntryObject);
-          const body = bodyWithType[0];
-          const length = isomorphicEncode(`${body.length}`);
-          const type2 = bodyWithType[1] ?? "";
-          const response = makeResponse({
-            statusText: "OK",
-            headersList: [
-              ["content-length", { name: "Content-Length", value: length }],
-              ["content-type", { name: "Content-Type", value: type2 }]
-            ]
-          });
-          response.body = body;
-          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"));
+        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 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));
+        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]);
+          }
         }
-        default: {
-          return Promise.resolve(makeNetworkError("unknown scheme"));
+        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);
       }
-    }
-    function finalizeResponse(fetchParams, response) {
-      fetchParams.request.done = true;
-      if (fetchParams.processResponseDone != null) {
-        queueMicrotask(() => fetchParams.processResponseDone(response));
-      }
-    }
-    function fetchFinale(fetchParams, response) {
-      if (response.type === "error") {
-        response.urlList = [fetchParams.request.urlList[0]];
-        response.timingInfo = createOpaqueTimingInfo({
-          startTime: fetchParams.timingInfo.startTime
-        });
+    };
+    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
       }
-      const processResponseEndOfBody = () => {
-        fetchParams.request.done = true;
-        if (fetchParams.processResponseEndOfBody != null) {
-          queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
-        }
-      };
-      if (fetchParams.processResponse != null) {
-        queueMicrotask(() => fetchParams.processResponse(response));
+    ];
+    webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters);
+    webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([
+      ...cacheQueryOptionConverters,
+      {
+        key: "cacheName",
+        converter: webidl.converters.DOMString
       }
-      if (response.body == null) {
-        processResponseEndOfBody();
-      } else {
-        const identityTransformAlgorithm = (chunk, controller) => {
-          controller.enqueue(chunk);
-        };
-        const transformStream = new TransformStream2({
-          start() {
-          },
-          transform: identityTransformAlgorithm,
-          flush: processResponseEndOfBody
-        }, {
-          size() {
-            return 1;
-          }
-        }, {
-          size() {
-            return 1;
-          }
-        });
-        response.body = { stream: response.body.stream.pipeThrough(transformStream) };
+    ]);
+    webidl.converters.Response = webidl.interfaceConverter(Response);
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.RequestInfo
+    );
+    module2.exports = {
+      Cache
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js
+var require_cachestorage2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols9();
+    var { Cache } = require_cache2();
+    var { webidl } = require_webidl2();
+    var { kEnumerableProperty } = require_util9();
+    var CacheStorage = class _CacheStorage {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
+       * @type {Map fetchParams.processResponseConsumeBody(response, nullOrBytes);
-        const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure);
-        if (response.body == null) {
-          queueMicrotask(() => processBody(null));
+      async match(request2, options = {}) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, "CacheStorage.match");
+        request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.MultiCacheQueryOptions(options);
+        if (options.cacheName != null) {
+          if (this.#caches.has(options.cacheName)) {
+            const cacheList = this.#caches.get(options.cacheName);
+            const cache = new Cache(kConstruct, cacheList);
+            return await cache.match(request2, options);
+          }
         } else {
-          return fullyReadBody(response.body, processBody, processBodyError);
+          for (const cacheList of this.#caches.values()) {
+            const cache = new Cache(kConstruct, cacheList);
+            const response = await cache.match(request2, options);
+            if (response !== void 0) {
+              return response;
+            }
+          }
         }
-        return Promise.resolve();
       }
-    }
-    async function httpFetch(fetchParams) {
-      const request2 = fetchParams.request;
-      let response = null;
-      let actualResponse = null;
-      const timingInfo = fetchParams.timingInfo;
-      if (request2.serviceWorkers === "all") {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-has
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      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);
       }
-      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;
+      /**
+       * @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);
       }
-      if ((request2.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
-        request2.origin,
-        request2.client,
-        request2.destination,
-        actualResponse
-      ) === "blocked") {
-        return makeNetworkError("blocked");
+      /**
+       * @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);
       }
-      if (redirectStatusSet.has(actualResponse.status)) {
-        if (request2.redirect !== "manual") {
-          fetchParams.controller.connection.destroy();
-        }
-        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);
+      /**
+       * @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/@actions/github/node_modules/undici/lib/web/cookies/constants.js
+var require_constants9 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/constants.js"(exports2, module2) {
+    "use strict";
+    var maxAttributeValueSize = 1024;
+    var maxNameValuePairSize = 4096;
+    module2.exports = {
+      maxAttributeValueSize,
+      maxNameValuePairSize
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/util.js
+var require_util14 = __commonJS({
+  "node_modules/@actions/github/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;
         }
       }
-      response.timingInfo = timingInfo;
-      return response;
+      return false;
     }
-    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;
+    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");
         }
-      } 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);
+    }
+    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;
       }
-      if (!sameOrigin(requestCurrentURL(request2), locationURL)) {
-        request2.headersList.delete("authorization");
-        request2.headersList.delete("proxy-authorization", true);
-        request2.headersList.delete("cookie");
-        request2.headersList.delete("host");
-      }
-      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;
+      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");
+        }
       }
-      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 = makeRequest(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";
+    function validateCookiePath(path12) {
+      for (let i = 0; i < path12.length; ++i) {
+        const code = path12.charCodeAt(i);
+        if (code < 32 || // exclude CTLs (0-31)
+        code === 127 || // DEL
+        code === 59) {
+          throw new Error("Invalid cookie path");
+        }
       }
-      if (contentLength != null) {
-        contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
+    }
+    function validateCookieDomain(domain) {
+      if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
+        throw new Error("Invalid cookie domain");
       }
-      if (contentLengthHeaderValue != null) {
-        httpRequest.headersList.append("content-length", contentLengthHeaderValue);
+    }
+    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);
       }
-      if (contentLength != null && httpRequest.keepalive) {
+      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");
       }
-      if (httpRequest.referrer instanceof URL) {
-        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href));
+    }
+    function stringify(cookie) {
+      if (cookie.name.length === 0) {
+        return null;
       }
-      appendRequestOriginHeader(httpRequest);
-      appendFetchMetadata(httpRequest);
-      if (!httpRequest.headersList.contains("user-agent")) {
-        httpRequest.headersList.append("user-agent", typeof esbuildDetection === "undefined" ? "undici" : "node");
+      validateCookieName(cookie.name);
+      validateCookieValue(cookie.value);
+      const out = [`${cookie.name}=${cookie.value}`];
+      if (cookie.name.startsWith("__Secure-")) {
+        cookie.secure = true;
       }
-      if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since") || httpRequest.headersList.contains("if-none-match") || httpRequest.headersList.contains("if-unmodified-since") || httpRequest.headersList.contains("if-match") || httpRequest.headersList.contains("if-range"))) {
-        httpRequest.cache = "no-store";
+      if (cookie.name.startsWith("__Host-")) {
+        cookie.secure = true;
+        cookie.domain = null;
+        cookie.path = "/";
       }
-      if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control")) {
-        httpRequest.headersList.append("cache-control", "max-age=0");
+      if (cookie.secure) {
+        out.push("Secure");
       }
-      if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") {
-        if (!httpRequest.headersList.contains("pragma")) {
-          httpRequest.headersList.append("pragma", "no-cache");
-        }
-        if (!httpRequest.headersList.contains("cache-control")) {
-          httpRequest.headersList.append("cache-control", "no-cache");
-        }
+      if (cookie.httpOnly) {
+        out.push("HttpOnly");
       }
-      if (httpRequest.headersList.contains("range")) {
-        httpRequest.headersList.append("accept-encoding", "identity");
+      if (typeof cookie.maxAge === "number") {
+        validateCookieMaxAge(cookie.maxAge);
+        out.push(`Max-Age=${cookie.maxAge}`);
       }
-      if (!httpRequest.headersList.contains("accept-encoding")) {
-        if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
-          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate");
-        } else {
-          httpRequest.headersList.append("accept-encoding", "gzip, deflate");
-        }
+      if (cookie.domain) {
+        validateCookieDomain(cookie.domain);
+        out.push(`Domain=${cookie.domain}`);
       }
-      httpRequest.headersList.delete("host");
-      if (includeCredentials) {
+      if (cookie.path) {
+        validateCookiePath(cookie.path);
+        out.push(`Path=${cookie.path}`);
       }
-      if (httpCache == null) {
-        httpRequest.cache = "no-store";
+      if (cookie.expires && cookie.expires.toString() !== "Invalid Date") {
+        out.push(`Expires=${toIMFDate(cookie.expires)}`);
       }
-      if (httpRequest.mode !== "no-store" && httpRequest.mode !== "reload") {
+      if (cookie.sameSite) {
+        out.push(`SameSite=${cookie.sameSite}`);
       }
-      if (response == null) {
-        if (httpRequest.mode === "only-if-cached") {
-          return makeNetworkError("only if cached");
-        }
-        const forwardResponse = await httpNetworkFetch(
-          httpFetchParams,
-          includeCredentials,
-          isNewConnectionFetch
-        );
-        if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {
-        }
-        if (revalidatingFlag && forwardResponse.status === 304) {
-        }
-        if (response == null) {
-          response = forwardResponse;
+      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("=")}`);
       }
-      response.urlList = [...httpRequest.urlList];
-      if (httpRequest.headersList.contains("range")) {
-        response.rangeRequested = true;
+      return out.join("; ");
+    }
+    module2.exports = {
+      isCTLExcludingHtab,
+      validateCookieName,
+      validateCookiePath,
+      validateCookieValue,
+      toIMFDate,
+      stringify
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js
+var require_parse2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js"(exports2, module2) {
+    "use strict";
+    var { maxNameValuePairSize, maxAttributeValueSize } = require_constants9();
+    var { isCTLExcludingHtab } = require_util14();
+    var { collectASequenceOfCodePointsFast } = require_data_url2();
+    var assert = require("node:assert");
+    function parseSetCookie(header) {
+      if (isCTLExcludingHtab(header)) {
+        return null;
       }
-      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");
+      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 (
-        // 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 (!nameValuePair.includes("=")) {
+        value = nameValuePair;
+      } else {
+        const position = { position: 0 };
+        name = collectASequenceOfCodePointsFast(
+          "=",
+          nameValuePair,
+          position
         );
+        value = nameValuePair.slice(position.position + 1);
       }
-      if (isAuthenticationFetch) {
+      name = name.trim();
+      value = value.trim();
+      if (name.length + value.length > maxNameValuePairSize) {
+        return null;
       }
-      return response;
-    }
-    async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) {
-      assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed);
-      fetchParams.controller.connection = {
-        abort: null,
-        destroyed: false,
-        destroy(err) {
-          if (!this.destroyed) {
-            this.destroyed = true;
-            this.abort?.(err ?? new DOMException2("The operation was aborted.", "AbortError"));
-          }
-        }
+      return {
+        name,
+        value,
+        ...parseUnparsedAttributes(unparsedAttributes)
       };
-      const request2 = fetchParams.request;
-      let response = null;
-      const timingInfo = fetchParams.timingInfo;
-      const httpCache = null;
-      if (httpCache == null) {
-        request2.cache = "no-store";
+    }
+    function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) {
+      if (unparsedAttributes.length === 0) {
+        return cookieAttributeList;
       }
-      const newConnection = forceNewConnection ? "yes" : "no";
-      if (request2.mode === "websocket") {
+      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 requestBody = null;
-      if (request2.body == null && fetchParams.processRequestEndOfBody) {
-        queueMicrotask(() => fetchParams.processRequestEndOfBody());
-      } else if (request2.body != null) {
-        const processBodyChunk = async function* (bytes) {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          yield bytes;
-          fetchParams.processRequestBodyChunkLength?.(bytes.byteLength);
-        };
-        const processEndOfBody = () => {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          if (fetchParams.processRequestEndOfBody) {
-            fetchParams.processRequestEndOfBody();
-          }
-        };
-        const processBodyError = (e) => {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          if (e.name === "AbortError") {
-            fetchParams.controller.abort();
-          } else {
-            fetchParams.controller.terminate(e);
-          }
-        };
-        requestBody = (async function* () {
-          try {
-            for await (const bytes of request2.body.stream) {
-              yield* processBodyChunk(bytes);
-            }
-            processEndOfBody();
-          } catch (err) {
-            processBodyError(err);
-          }
-        })();
-      }
-      try {
-        const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
-        if (socket) {
-          response = makeResponse({ status, statusText, headersList, socket });
-        } else {
-          const iterator2 = body[Symbol.asyncIterator]();
-          fetchParams.controller.next = () => iterator2.next();
-          response = makeResponse({ status, statusText, headersList });
-        }
-      } catch (err) {
-        if (err.name === "AbortError") {
-          fetchParams.controller.connection.destroy();
-          return makeAppropriateNetworkError(fetchParams, err);
-        }
-        return makeNetworkError(err);
+      let attributeName = "";
+      let attributeValue = "";
+      if (cookieAv.includes("=")) {
+        const position = { position: 0 };
+        attributeName = collectASequenceOfCodePointsFast(
+          "=",
+          cookieAv,
+          position
+        );
+        attributeValue = cookieAv.slice(position.position + 1);
+      } else {
+        attributeName = cookieAv;
       }
-      const pullAlgorithm = () => {
-        fetchParams.controller.resume();
-      };
-      const cancelAlgorithm = (reason) => {
-        fetchParams.controller.abort(reason);
-      };
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+      attributeName = attributeName.trim();
+      attributeValue = attributeValue.trim();
+      if (attributeValue.length > maxAttributeValueSize) {
+        return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
       }
-      const stream2 = new ReadableStream2(
-        {
-          async start(controller) {
-            fetchParams.controller.controller = controller;
-          },
-          async pull(controller) {
-            await pullAlgorithm(controller);
-          },
-          async cancel(reason) {
-            await cancelAlgorithm(reason);
-          }
-        },
-        {
-          highWaterMark: 0,
-          size() {
-            return 1;
-          }
+      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);
         }
-      );
-      response.body = { stream: stream2 };
-      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;
-          }
-          fetchParams.controller.controller.enqueue(new Uint8Array(bytes));
-          if (isErrored(stream2)) {
-            fetchParams.controller.terminate();
-            return;
-          }
-          if (!fetchParams.controller.controller.desiredSize) {
-            return;
-          }
+        if (!/^\d+$/.test(attributeValue)) {
+          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
         }
-      };
-      function onAborted(reason) {
-        if (isAborted(fetchParams)) {
-          response.aborted = true;
-          if (isReadable(stream2)) {
-            fetchParams.controller.controller.error(
-              fetchParams.controller.serializedAbortReason
-            );
-          }
+        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 {
-          if (isReadable(stream2)) {
-            fetchParams.controller.controller.error(new TypeError("terminated", {
-              cause: isErrorLike(reason) ? reason : void 0
-            }));
-          }
+          cookiePath = attributeValue;
         }
-        fetchParams.controller.connection.destroy();
-      }
-      return response;
-      async function dispatch({ body }) {
-        const url2 = requestCurrentURL(request2);
-        const agent = fetchParams.controller.dispatcher;
-        return new Promise((resolve6, reject) => agent.dispatch(
-          {
-            path: url2.pathname + url2.search,
-            origin: url2.origin,
-            method: request2.method,
-            body: fetchParams.controller.dispatcher.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
-            headers: request2.headersList.entries,
-            maxRedirections: 0,
-            upgrade: request2.mode === "websocket" ? "websocket" : void 0
-          },
-          {
-            body: null,
-            abort: null,
-            onConnect(abort) {
-              const { connection } = fetchParams.controller;
-              if (connection.destroyed) {
-                abort(new DOMException2("The operation was aborted.", "AbortError"));
-              } else {
-                fetchParams.controller.on("terminated", abort);
-                this.abort = connection.abort = abort;
-              }
-            },
-            onHeaders(status, headersList, resume, statusText) {
-              if (status < 200) {
-                return;
-              }
-              let codings = [];
-              let location = "";
-              const headers = new Headers();
-              if (Array.isArray(headersList)) {
-                for (let n = 0; n < headersList.length; n += 2) {
-                  const key = headersList[n + 0].toString("latin1");
-                  const val = headersList[n + 1].toString("latin1");
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim());
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
-              } else {
-                const keys = Object.keys(headersList);
-                for (const key of keys) {
-                  const val = headersList[key];
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim()).reverse();
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
-              }
-              this.body = new Readable2({ read: resume });
-              const decoders = [];
-              const willFollow = request2.redirect === "follow" && location && redirectStatusSet.has(status);
-              if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
-                for (const coding of codings) {
-                  if (coding === "x-gzip" || coding === "gzip") {
-                    decoders.push(zlib2.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: zlib2.constants.Z_SYNC_FLUSH,
-                      finishFlush: zlib2.constants.Z_SYNC_FLUSH
-                    }));
-                  } else if (coding === "deflate") {
-                    decoders.push(zlib2.createInflate());
-                  } else if (coding === "br") {
-                    decoders.push(zlib2.createBrotliDecompress());
-                  } else {
-                    decoders.length = 0;
-                    break;
-                  }
-                }
-              }
-              resolve6({
-                status,
-                statusText,
-                headersList: headers[kHeadersList],
-                body: decoders.length ? pipeline(this.body, ...decoders, () => {
-                }) : this.body.on("error", () => {
-                })
-              });
-              return true;
-            },
-            onData(chunk) {
-              if (fetchParams.controller.dump) {
-                return;
-              }
-              const bytes = chunk;
-              timingInfo.encodedBodySize += bytes.byteLength;
-              return this.body.push(bytes);
-            },
-            onComplete() {
-              if (this.abort) {
-                fetchParams.controller.off("terminated", this.abort);
-              }
-              fetchParams.controller.ended = true;
-              this.body.push(null);
-            },
-            onError(error3) {
-              if (this.abort) {
-                fetchParams.controller.off("terminated", this.abort);
-              }
-              this.body?.destroy(error3);
-              fetchParams.controller.terminate(error3);
-              reject(error3);
-            },
-            onUpgrade(status, headersList, socket) {
-              if (status !== 101) {
-                return;
-              }
-              const headers = new Headers();
-              for (let n = 0; n < headersList.length; n += 2) {
-                const key = headersList[n + 0].toString("latin1");
-                const val = headersList[n + 1].toString("latin1");
-                headers[kHeadersList].append(key, val);
-              }
-              resolve6({
-                status,
-                statusText: STATUS_CODES[status],
-                headersList: headers[kHeadersList],
-                socket
-              });
-              return true;
-            }
-          }
-        ));
+        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 = {
-      fetch,
-      Fetch,
-      fetching,
-      finalizeAndReportTiming
+      parseSetCookie,
+      parseUnparsedAttributes
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/symbols.js
-var require_symbols8 = __commonJS({
-  "node_modules/undici/lib/fileapi/symbols.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js
+var require_cookies2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js"(exports2, module2) {
     "use strict";
+    var { parseSetCookie } = require_parse2();
+    var { stringify } = require_util14();
+    var { webidl } = require_webidl2();
+    var { Headers } = require_headers2();
+    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 str2 = stringify(cookie);
+      if (str2) {
+        headers.append("Set-Cookie", str2);
+      }
+    }
+    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 = {
-      kState: /* @__PURE__ */ Symbol("FileReader state"),
-      kResult: /* @__PURE__ */ Symbol("FileReader result"),
-      kError: /* @__PURE__ */ Symbol("FileReader error"),
-      kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"),
-      kEvents: /* @__PURE__ */ Symbol("FileReader events"),
-      kAborted: /* @__PURE__ */ Symbol("FileReader aborted")
+      getCookies,
+      deleteCookie,
+      getSetCookies,
+      setCookie
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/progressevent.js
-var require_progressevent2 = __commonJS({
-  "node_modules/undici/lib/fileapi/progressevent.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js
+var require_events2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js"(exports2, module2) {
     "use strict";
     var { webidl } = require_webidl2();
-    var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
-    var ProgressEvent = class _ProgressEvent extends Event {
+    var { kEnumerableProperty } = require_util9();
+    var { kConstruct } = require_symbols6();
+    var { MessagePort } = require("node:worker_threads");
+    var MessageEvent = class _MessageEvent extends Event {
+      #eventInit;
       constructor(type2, eventInitDict = {}) {
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
+        if (type2 === kConstruct) {
+          super(arguments[1], arguments[2]);
+          webidl.util.markAsUncloneable(this);
+          return;
+        }
+        const prefix = "MessageEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.MessageEventInit(eventInitDict, prefix, "eventInitDict");
         super(type2, eventInitDict);
-        this[kState] = {
-          lengthComputable: eventInitDict.lengthComputable,
-          loaded: eventInitDict.loaded,
-          total: eventInitDict.total
-        };
+        this.#eventInit = eventInitDict;
+        webidl.util.markAsUncloneable(this);
       }
-      get lengthComputable() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].lengthComputable;
+      get data() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.data;
       }
-      get loaded() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].loaded;
+      get origin() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.origin;
       }
-      get total() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].total;
+      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(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
+        webidl.brandCheck(this, _MessageEvent);
+        webidl.argumentLengthCheck(arguments, 1, "MessageEvent.initMessageEvent");
+        return new _MessageEvent(type2, {
+          bubbles,
+          cancelable,
+          data,
+          origin,
+          lastEventId,
+          source,
+          ports
+        });
+      }
+      static createFastMessageEvent(type2, init) {
+        const messageEvent = new _MessageEvent(kConstruct, type2, 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(type2, eventInitDict = {}) {
+        const prefix = "CloseEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
+        super(type2, 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(type2, eventInitDict) {
+        const prefix = "ErrorEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        super(type2, eventInitDict);
+        webidl.util.markAsUncloneable(this);
+        type2 = webidl.converters.DOMString(type2, 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;
       }
     };
-    webidl.converters.ProgressEventInit = webidl.dictionaryConverter([
-      {
-        key: "lengthComputable",
-        converter: webidl.converters.boolean,
-        defaultValue: false
+    Object.defineProperties(MessageEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "MessageEvent",
+        configurable: true
       },
-      {
-        key: "loaded",
-        converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
+      data: kEnumerableProperty,
+      origin: kEnumerableProperty,
+      lastEventId: kEnumerableProperty,
+      source: kEnumerableProperty,
+      ports: kEnumerableProperty,
+      initMessageEvent: kEnumerableProperty
+    });
+    Object.defineProperties(CloseEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "CloseEvent",
+        configurable: true
       },
-      {
-        key: "total",
-        converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
+      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
+        defaultValue: () => false
       },
       {
         key: "cancelable",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "composed",
         converter: webidl.converters.boolean,
-        defaultValue: false
-      }
-    ]);
-    module2.exports = {
-      ProgressEvent
-    };
-  }
-});
-
-// node_modules/undici/lib/fileapi/encoding.js
-var require_encoding2 = __commonJS({
-  "node_modules/undici/lib/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/fileapi/util.js
-var require_util12 = __commonJS({
-  "node_modules/undici/lib/fileapi/util.js"(exports2, module2) {
-    "use strict";
-    var {
-      kState,
-      kError,
-      kResult,
-      kAborted,
-      kLastProgressEventFired
-    } = require_symbols8();
-    var { ProgressEvent } = require_progressevent2();
-    var { getEncoding } = require_encoding2();
-    var { DOMException: DOMException2 } = require_constants7();
-    var { serializeAMimeType, parseMIMEType } = require_dataURL();
-    var { types } = require("util");
-    var { StringDecoder } = require("string_decoder");
-    var { btoa: btoa2 } = require("buffer");
-    var staticPropertyDescriptors = {
-      enumerable: true,
-      writable: false,
-      configurable: false
-    };
-    function readOperation(fr, blob, type2, encodingName) {
-      if (fr[kState] === "loading") {
-        throw new DOMException2("Invalid state", "InvalidStateError");
-      }
-      fr[kState] = "loading";
-      fr[kResult] = null;
-      fr[kError] = null;
-      const stream2 = blob.stream();
-      const reader = stream2.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, type2, blob.type, encodingName);
-                  if (fr[kAborted]) {
-                    return;
-                  }
-                  fr[kResult] = result;
-                  fireAProgressEvent("load", fr);
-                } catch (error3) {
-                  fr[kError] = error3;
-                  fireAProgressEvent("error", fr);
-                }
-                if (fr[kState] !== "loading") {
-                  fireAProgressEvent("loadend", fr);
-                }
-              });
-              break;
-            }
-          } catch (error3) {
-            if (fr[kAborted]) {
-              return;
-            }
-            queueMicrotask(() => {
-              fr[kState] = "done";
-              fr[kError] = error3;
-              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, type2, mimeType, encodingName) {
-      switch (type2) {
-        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 += btoa2(decoder.write(chunk));
-          }
-          dataURL += btoa2(decoder.end());
-          return dataURL;
-        }
-        case "Text": {
-          let encoding = "failure";
-          if (encodingName) {
-            encoding = getEncoding(encodingName);
-          }
-          if (encoding === "failure" && mimeType) {
-            const type3 = parseMIMEType(mimeType);
-            if (type3 !== "failure") {
-              encoding = getEncoding(type3.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;
-        }
+        defaultValue: () => false
       }
-    }
-    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;
+    ];
+    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)
       }
-      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";
+    ]);
+    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: () => ""
       }
-      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));
-    }
+    ]);
+    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 = {
-      staticPropertyDescriptors,
-      readOperation,
-      fireAProgressEvent
+      MessageEvent,
+      CloseEvent,
+      ErrorEvent,
+      createFastMessageEvent
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/filereader.js
-var require_filereader2 = __commonJS({
-  "node_modules/undici/lib/fileapi/filereader.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js
+var require_constants10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js"(exports2, module2) {
     "use strict";
-    var {
+    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,
-      readOperation,
-      fireAProgressEvent
-    } = require_util12();
-    var {
-      kState,
-      kError,
-      kResult,
-      kEvents,
-      kAborted
-    } = require_symbols8();
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util9();
-    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, { header: "FileReader.readAsArrayBuffer" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "ArrayBuffer");
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#readAsBinaryString
-       * @param {import('buffer').Blob} blob
-       */
-      readAsBinaryString(blob) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsBinaryString" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "BinaryString");
-      }
-      /**
-       * @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, { header: "FileReader.readAsText" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        if (encoding !== void 0) {
-          encoding = webidl.converters.DOMString(encoding);
-        }
-        readOperation(this, blob, "Text", encoding);
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dfn-readAsDataURL
-       * @param {import('buffer').Blob} blob
-       */
-      readAsDataURL(blob) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsDataURL" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "DataURL");
+      states,
+      opcodes,
+      maxUnsigned16Bit,
+      parserStates,
+      emptyBuffer,
+      sendHints
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js
+var require_symbols10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
+      kReadyState: /* @__PURE__ */ Symbol("ready state"),
+      kController: /* @__PURE__ */ Symbol("controller"),
+      kResponse: /* @__PURE__ */ Symbol("response"),
+      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
+      kSentClose: /* @__PURE__ */ Symbol("sent close"),
+      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
+      kByteParser: /* @__PURE__ */ Symbol("byte parser")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js
+var require_util15 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js"(exports2, module2) {
+    "use strict";
+    var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols10();
+    var { states, opcodes } = require_constants10();
+    var { ErrorEvent, createFastMessageEvent } = require_events2();
+    var { isUtf8 } = require("node:buffer");
+    var { collectASequenceOfCodePointsFast, removeHTTPWhitespace } = require_data_url2();
+    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 = (type2, init) => new Event(type2, init), eventInitDict = {}) {
+      const event = eventFactory(e, eventInitDict);
+      target.dispatchEvent(event);
+    }
+    function websocketMessageReceived(ws, type2, data) {
+      if (ws[kReadyState] !== states.OPEN) {
+        return;
       }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dfn-abort
-       */
-      abort() {
-        if (this[kState] === "empty" || this[kState] === "done") {
-          this[kResult] = null;
+      let dataForEvent;
+      if (type2 === opcodes.TEXT) {
+        try {
+          dataForEvent = utf8Decode(data);
+        } catch {
+          failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
           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 if (type2 === opcodes.BINARY) {
+        if (ws[kBinaryType] === "blob") {
+          dataForEvent = new Blob([data]);
         } else {
-          this[kEvents].loadend = null;
+          dataForEvent = toArrayBuffer(data);
         }
       }
-      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;
-        }
+      fireEvent("message", ws, createFastMessageEvent, {
+        origin: ws[kWebSocketURL].origin,
+        data: dataForEvent
+      });
+    }
+    function toArrayBuffer(buffer) {
+      if (buffer.byteLength === buffer.buffer.byteLength) {
+        return buffer.buffer;
       }
-      get onloadstart() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].loadstart;
+      return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
+    }
+    function isValidSubprotocol(protocol) {
+      if (protocol.length === 0) {
+        return false;
       }
-      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;
+      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;
         }
       }
-      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;
-        }
+      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;
       }
-      get onload() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].load;
+      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();
       }
-      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;
-        }
+      if (reason) {
+        fireEvent("error", ws, (type2, init) => new ErrorEvent(type2, init), {
+          error: new Error(reason),
+          message: reason
+        });
       }
-      get onabort() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].abort;
+    }
+    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++;
       }
-      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;
+      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;
         }
       }
-    };
-    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
+      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");
       }
-    });
-    Object.defineProperties(FileReader, {
-      EMPTY: staticPropertyDescriptors,
-      LOADING: staticPropertyDescriptors,
-      DONE: staticPropertyDescriptors
-    });
-    module2.exports = {
-      FileReader
+      throw new TypeError("Invalid utf-8 received.");
     };
-  }
-});
-
-// node_modules/undici/lib/cache/symbols.js
-var require_symbols9 = __commonJS({
-  "node_modules/undici/lib/cache/symbols.js"(exports2, module2) {
-    "use strict";
     module2.exports = {
-      kConstruct: require_symbols6().kConstruct
+      isConnecting,
+      isEstablished,
+      isClosing,
+      isClosed,
+      fireEvent,
+      isValidSubprotocol,
+      isValidStatusCode,
+      failWebsocketConnection,
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isContinuationFrame,
+      isTextBinaryFrame,
+      isValidOpcode,
+      parseExtensions,
+      isValidClientWindowBits
     };
   }
 });
 
-// node_modules/undici/lib/cache/util.js
-var require_util13 = __commonJS({
-  "node_modules/undici/lib/cache/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js
+var require_frame2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { URLSerializer } = require_dataURL();
-    var { isValidHeaderName } = require_util10();
-    function urlEquals(A, B, excludeFragment = false) {
-      const serializedA = URLSerializer(A, excludeFragment);
-      const serializedB = URLSerializer(B, excludeFragment);
-      return serializedA === serializedB;
-    }
-    function fieldValues(header) {
-      assert(header !== null);
-      const values = [];
-      for (let value of header.split(",")) {
-        value = value.trim();
-        if (!value.length) {
-          continue;
-        } else if (!isValidHeaderName(value)) {
-          continue;
+    var { maxUnsigned16Bit } = require_constants10();
+    var BUFFER_SIZE = 16386;
+    var crypto2;
+    var buffer = null;
+    var bufIdx = BUFFER_SIZE;
+    try {
+      crypto2 = require("node:crypto");
+    } catch {
+      crypto2 = {
+        // not full compatibility, but minimum.
+        randomFillSync: function randomFillSync2(buffer2, _offset, _size) {
+          for (let i = 0; i < buffer2.length; ++i) {
+            buffer2[i] = Math.random() * 255 | 0;
+          }
+          return buffer2;
         }
-        values.push(value);
+      };
+    }
+    function generateMask() {
+      if (bufIdx === BUFFER_SIZE) {
+        bufIdx = 0;
+        crypto2.randomFillSync(buffer ??= Buffer.allocUnsafe(BUFFER_SIZE), 0, BUFFER_SIZE);
       }
-      return values;
+      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 = {
-      urlEquals,
-      fieldValues
+      WebsocketFrameSend
     };
   }
 });
 
-// node_modules/undici/lib/cache/cache.js
-var require_cache2 = __commonJS({
-  "node_modules/undici/lib/cache/cache.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js
+var require_connection2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js"(exports2, module2) {
     "use strict";
-    var { kConstruct } = require_symbols9();
-    var { urlEquals, fieldValues: getFieldValues } = require_util13();
-    var { kEnumerableProperty, isDisturbed } = require_util9();
-    var { kHeadersList } = require_symbols6();
-    var { webidl } = require_webidl2();
-    var { Response, cloneResponse } = require_response2();
-    var { Request } = require_request4();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
+    var { uid, states, sentCloseFrameState, emptyBuffer, opcodes } = require_constants10();
+    var {
+      kReadyState,
+      kSentClose,
+      kByteParser,
+      kReceivedClose,
+      kResponse
+    } = require_symbols10();
+    var { fireEvent, failWebsocketConnection, isClosing, isClosed, isEstablished, parseExtensions } = require_util15();
+    var { channels } = require_diagnostics2();
+    var { CloseEvent } = require_events2();
+    var { makeRequest } = require_request4();
     var { fetching } = require_fetch2();
-    var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util10();
-    var assert = require("assert");
-    var { getGlobalDispatcher } = require_global4();
-    var Cache = class _Cache {
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list
-       * @type {requestResponseList}
-       */
-      #relevantRequestResponseList;
-      constructor() {
-        if (arguments[0] !== kConstruct) {
-          webidl.illegalConstructor();
-        }
-        this.#relevantRequestResponseList = arguments[1];
+    var { Headers, getHeadersList } = require_headers2();
+    var { getDecodeSplit } = require_util10();
+    var { WebsocketFrameSend } = require_frame2();
+    var crypto2;
+    try {
+      crypto2 = require("node:crypto");
+    } catch {
+    }
+    function establishWebSocketConnection(url2, protocols, client, ws, onEstablish, options) {
+      const requestURL = url2;
+      requestURL.protocol = url2.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;
       }
-      async match(request2, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.match" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        const p = await this.matchAll(request2, options);
-        if (p.length === 0) {
-          return;
-        }
-        return p[0];
+      const keyValue = crypto2.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);
       }
-      async matchAll(request2 = void 0, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(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 responses = [];
-        if (request2 === void 0) {
-          for (const requestResponse of this.#relevantRequestResponseList) {
-            responses.push(requestResponse[1]);
+      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;
           }
-        } else {
-          const requestResponses = this.#queryCache(r, options);
-          for (const requestResponse of requestResponses) {
-            responses.push(requestResponse[1]);
+          if (protocols.length !== 0 && !response.headersList.get("Sec-WebSocket-Protocol")) {
+            failWebsocketConnection(ws, "Server did not respond with sent protocols.");
+            return;
           }
-        }
-        const responseList = [];
-        for (const response of responses) {
-          const responseObject = new Response(response.body?.source ?? null);
-          const body = responseObject[kState].body;
-          responseObject[kState] = response;
-          responseObject[kState].body = body;
-          responseObject[kHeaders][kHeadersList] = response.headersList;
-          responseObject[kHeaders][kGuard] = "immutable";
-          responseList.push(responseObject);
-        }
-        return Object.freeze(responseList);
-      }
-      async add(request2) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.add" });
-        request2 = webidl.converters.RequestInfo(request2);
-        const requests = [request2];
-        const responseArrayPromise = this.addAll(requests);
-        return await responseArrayPromise;
-      }
-      async addAll(requests) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.addAll" });
-        requests = webidl.converters["sequence"](requests);
-        const responsePromises = [];
-        const requestList = [];
-        for (const request2 of requests) {
-          if (typeof request2 === "string") {
-            continue;
+          if (response.headersList.get("Upgrade")?.toLowerCase() !== "websocket") {
+            failWebsocketConnection(ws, 'Server did not set Upgrade header to "websocket".');
+            return;
           }
-          const r = request2[kState];
-          if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") {
-            throw webidl.errors.exception({
-              header: "Cache.addAll",
-              message: "Expected http/s scheme when method is not GET."
-            });
+          if (response.headersList.get("Connection")?.toLowerCase() !== "upgrade") {
+            failWebsocketConnection(ws, 'Server did not set Connection header to "upgrade".');
+            return;
           }
-        }
-        const fetchControllers = [];
-        for (const request2 of requests) {
-          const r = new Request(request2)[kState];
-          if (!urlIsHttpHttpsScheme(r.url)) {
-            throw webidl.errors.exception({
-              header: "Cache.addAll",
-              message: "Expected http/s scheme."
-            });
+          const secWSAccept = response.headersList.get("Sec-WebSocket-Accept");
+          const digest = crypto2.createHash("sha1").update(keyValue + uid).digest("base64");
+          if (secWSAccept !== digest) {
+            failWebsocketConnection(ws, "Incorrect hash received in Sec-WebSocket-Accept header.");
+            return;
           }
-          r.initiator = "fetch";
-          r.destination = "subresource";
-          requestList.push(r);
-          const responsePromise = createDeferredPromise();
-          fetchControllers.push(fetching({
-            request: r,
-            dispatcher: getGlobalDispatcher(),
-            processResponse(response) {
-              if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) {
-                responsePromise.reject(webidl.errors.exception({
-                  header: "Cache.addAll",
-                  message: "Received an invalid status code or the request failed."
-                }));
-              } else if (response.headersList.contains("vary")) {
-                const fieldValues = getFieldValues(response.headersList.get("vary"));
-                for (const fieldValue of fieldValues) {
-                  if (fieldValue === "*") {
-                    responsePromise.reject(webidl.errors.exception({
-                      header: "Cache.addAll",
-                      message: "invalid vary field value"
-                    }));
-                    for (const controller of fetchControllers) {
-                      controller.abort();
-                    }
-                    return;
-                  }
-                }
-              }
-            },
-            processResponseEndOfBody(response) {
-              if (response.aborted) {
-                responsePromise.reject(new DOMException("aborted", "AbortError"));
-                return;
-              }
-              responsePromise.resolve(response);
+          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;
             }
-          }));
-          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);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Cache.put" });
-        request2 = webidl.converters.RequestInfo(request2);
-        response = webidl.converters.Response(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: "Cache.put",
-            message: "Expected an http/s scheme when method is not GET"
-          });
-        }
-        const innerResponse = response[kState];
-        if (innerResponse.status === 206) {
-          throw webidl.errors.exception({
-            header: "Cache.put",
-            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: "Cache.put",
-                message: "Got * vary field value"
-              });
+          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);
         }
-        if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {
-          throw webidl.errors.exception({
-            header: "Cache.put",
-            message: "Response body is locked or disturbed"
-          });
-        }
-        const clonedResponse = cloneResponse(innerResponse);
-        const bodyReadPromise = createDeferredPromise();
-        if (innerResponse.body != null) {
-          const stream2 = innerResponse.body.stream;
-          const reader = stream2.getReader();
-          readAllBytes(reader).then(bodyReadPromise.resolve, bodyReadPromise.reject);
+      });
+      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 {
-          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;
+          frame.frameData = emptyBuffer;
         }
-        queueMicrotask(() => {
-          if (errorData === null) {
-            cacheJobPromise.resolve();
-          } else {
-            cacheJobPromise.reject(errorData);
-          }
-        });
-        return cacheJobPromise.promise;
+        const socket = ws[kResponse].socket;
+        socket.write(frame.createFrame(opcodes.CLOSE));
+        ws[kSentClose] = sentCloseFrameState.SENT;
+        ws[kReadyState] = states.CLOSING;
+      } else {
+        ws[kReadyState] = states.CLOSING;
       }
-      async delete(request2, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.delete" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(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);
-          }
+    }
+    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, (type2, init) => new CloseEvent(type2, init), {
+        wasClean,
+        code,
+        reason
+      });
+      if (channels.close.hasSubscribers) {
+        channels.close.publish({
+          websocket: ws,
+          code,
+          reason
         });
-        return cacheJobPromise.promise;
       }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys
-       * @param {any} request
-       * @param {import('../../types/cache').CacheQueryOptions} options
-       * @returns {readonly Request[]}
-       */
-      async keys(request2 = void 0, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        let r = null;
-        if (request2 !== void 0) {
-          if (request2 instanceof Request) {
-            r = request2[kState];
-            if (r.method !== "GET" && !options.ignoreMethod) {
-              return [];
+    }
+    function onSocketError(error3) {
+      const { ws } = this;
+      ws[kReadyState] = states.CLOSING;
+      if (channels.socketError.hasSubscribers) {
+        channels.socketError.publish(error3);
+      }
+      this.destroy();
+    }
+    module2.exports = {
+      establishWebSocketConnection,
+      closeWebSocketConnection
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js
+var require_permessage_deflate2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js"(exports2, module2) {
+    "use strict";
+    var { createInflateRaw, Z_DEFAULT_WINDOWBITS } = require("node:zlib");
+    var { isValidClientWindowBits } = require_util15();
+    var tail = Buffer.from([0, 0, 255, 255]);
+    var kBuffer = /* @__PURE__ */ Symbol("kBuffer");
+    var kLength = /* @__PURE__ */ 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;
             }
-          } else if (typeof request2 === "string") {
-            r = new Request(request2)[kState];
+            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);
+          });
         }
-        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]);
-          }
+        this.#inflate.write(chunk);
+        if (fin) {
+          this.#inflate.write(tail);
         }
-        queueMicrotask(() => {
-          const requestList = [];
-          for (const request3 of requests) {
-            const requestObject = new Request("https://a");
-            requestObject[kState] = request3;
-            requestObject[kHeaders][kHeadersList] = request3.headersList;
-            requestObject[kHeaders][kGuard] = "immutable";
-            requestObject[kRealm] = request3.client;
-            requestList.push(requestObject);
-          }
-          promise.resolve(Object.freeze(requestList));
+        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);
         });
-        return promise.promise;
+      }
+    };
+    module2.exports = { PerMessageDeflate };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/receiver.js
+var require_receiver2 = __commonJS({
+  "node_modules/@actions/github/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_constants10();
+    var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols10();
+    var { channels } = require_diagnostics2();
+    var {
+      isValidStatusCode,
+      isValidOpcode,
+      failWebsocketConnection,
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isTextBinaryFrame,
+      isContinuationFrame
+    } = require_util15();
+    var { WebsocketFrameSend } = require_frame2();
+    var { closeWebSocketConnection } = require_connection2();
+    var { PerMessageDeflate } = require_permessage_deflate2();
+    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));
+        }
       }
       /**
-       * @see https://w3c.github.io/ServiceWorker/#batch-cache-operations-algorithm
-       * @param {CacheBatchOperation[]} operations
-       * @returns {requestResponseList}
+       * @param {Buffer} chunk
+       * @param {() => void} callback
        */
-      #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"'
-              });
+      _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();
             }
-            if (operation.type === "delete" && operation.response != null) {
-              throw webidl.errors.exception({
-                header: "Cache.#batchCacheOperations",
-                message: "delete operation should not have an associated response"
-              });
+            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 (this.#queryCache(operation.request, operation.options, addedItems).length) {
-              throw new DOMException("???", "InvalidStateError");
+            if (masked) {
+              failWebsocketConnection(this.ws, "Frame cannot be masked");
+              return callback();
             }
-            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"
+            if (rsv1 !== 0 && !this.#extensions.has("permessage-deflate")) {
+              failWebsocketConnection(this.ws, "Expected RSV1 to be clear.");
+              return;
+            }
+            if (rsv2 !== 0 || rsv3 !== 0) {
+              failWebsocketConnection(this.ws, "RSV1, RSV2, RSV3 must be clear");
+              return;
+            }
+            if (fragmented && !isTextBinaryFrame(opcode)) {
+              failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
+              return;
+            }
+            if (isTextBinaryFrame(opcode) && this.#fragments.length > 0) {
+              failWebsocketConnection(this.ws, "Expected continuation frame");
+              return;
+            }
+            if (this.#info.fragmented && fragmented) {
+              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
+              return;
+            }
+            if ((payloadLength > 125 || fragmented) && isControlFrame(opcode)) {
+              failWebsocketConnection(this.ws, "Control frame either too large or fragmented");
+              return;
+            }
+            if (isContinuationFrame(opcode) && this.#fragments.length === 0 && !this.#info.compressed) {
+              failWebsocketConnection(this.ws, "Unexpected continuation frame");
+              return;
+            }
+            if (payloadLength <= 125) {
+              this.#info.payloadLength = payloadLength;
+              this.#state = parserStates.READ_DATA;
+            } else if (payloadLength === 126) {
+              this.#state = parserStates.PAYLOADLENGTH_16;
+            } else if (payloadLength === 127) {
+              this.#state = parserStates.PAYLOADLENGTH_64;
+            }
+            if (isTextBinaryFrame(opcode)) {
+              this.#info.binaryType = opcode;
+              this.#info.compressed = rsv1 !== 0;
+            }
+            this.#info.opcode = opcode;
+            this.#info.masked = masked;
+            this.#info.fin = fin;
+            this.#info.fragmented = fragmented;
+          } else if (this.#state === parserStates.PAYLOADLENGTH_16) {
+            if (this.#byteOffset < 2) {
+              return callback();
+            }
+            const buffer = this.consume(2);
+            this.#info.payloadLength = buffer.readUInt16BE(0);
+            this.#state = parserStates.READ_DATA;
+          } else if (this.#state === parserStates.PAYLOADLENGTH_64) {
+            if (this.#byteOffset < 8) {
+              return callback();
+            }
+            const buffer = this.consume(8);
+            const upper = buffer.readUInt32BE(0);
+            if (upper > 2 ** 31 - 1) {
+              failWebsocketConnection(this.ws, "Received payload length > 2^31 bytes.");
+              return;
+            }
+            const lower = buffer.readUInt32BE(4);
+            this.#info.payloadLength = (upper << 8) + lower;
+            this.#state = parserStates.READ_DATA;
+          } else if (this.#state === parserStates.READ_DATA) {
+            if (this.#byteOffset < this.#info.payloadLength) {
+              return callback();
+            }
+            const body = this.consume(this.#info.payloadLength);
+            if (isControlFrame(this.#info.opcode)) {
+              this.#loop = this.parseControlFrame(body);
+              this.#state = parserStates.INFO;
+            } else {
+              if (!this.#info.compressed) {
+                this.#fragments.push(body);
+                if (!this.#info.fragmented && this.#info.fin) {
+                  const fullMessage = Buffer.concat(this.#fragments);
+                  websocketMessageReceived(this.ws, this.#info.binaryType, fullMessage);
+                  this.#fragments.length = 0;
+                }
+                this.#state = parserStates.INFO;
+              } else {
+                this.#extensions.get("permessage-deflate").decompress(body, this.#info.fin, (error3, data) => {
+                  if (error3) {
+                    closeWebSocketConnection(this.ws, 1007, error3.message, error3.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;
               }
-              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}
+       * Take n bytes from the buffered Buffers
+       * @param {number} n
+       * @returns {Buffer}
        */
-      #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);
+      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;
           }
         }
-        return resultList;
+        this.#byteOffset -= n;
+        return buffer;
       }
-      /**
-       * @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 = "";
+      parseCloseBody(data) {
+        assert(data.length !== 1);
+        let code;
+        if (data.length >= 2) {
+          code = data.readUInt16BE(0);
         }
-        if (!urlEquals(queryURL, cachedURL, true)) {
-          return false;
+        if (code !== void 0 && !isValidStatusCode(code)) {
+          return { code: 1002, reason: "Invalid status code", error: true };
         }
-        if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) {
-          return true;
+        let reason = data.subarray(2);
+        if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
+          reason = reason.subarray(3);
         }
-        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;
-          }
+        try {
+          reason = utf8Decode(reason);
+        } catch {
+          return { code: 1007, reason: "Invalid UTF-8", error: true };
         }
-        return true;
-      }
-    };
-    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
+        return { code, reason, error: false };
       }
-    ]);
-    webidl.converters.Response = webidl.interfaceConverter(Response);
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.RequestInfo
-    );
-    module2.exports = {
-      Cache
-    };
-  }
-});
-
-// node_modules/undici/lib/cache/cachestorage.js
-var require_cachestorage2 = __commonJS({
-  "node_modules/undici/lib/cache/cachestorage.js"(exports2, module2) {
-    "use strict";
-    var { kConstruct } = require_symbols9();
-    var { Cache } = require_cache2();
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util9();
-    var CacheStorage = class _CacheStorage {
       /**
-       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
-       * @type {Map {
+                if (!err) {
+                  this.ws[kSentClose] = sentCloseFrameState.SENT;
+                }
+              }
+            );
+          }
+          this.ws[kReadyState] = states.CLOSING;
+          this.ws[kReceivedClose] = true;
+          return false;
+        } else if (opcode === opcodes.PING) {
+          if (!this.ws[kReceivedClose]) {
+            const frame = new WebsocketFrameSend(body);
+            this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
+            if (channels.ping.hasSubscribers) {
+              channels.ping.publish({
+                payload: body
+              });
             }
           }
+        } else if (opcode === opcodes.PONG) {
+          if (channels.pong.hasSubscribers) {
+            channels.pong.publish({
+              payload: body
+            });
+          }
         }
+        return true;
       }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#cache-storage-has
-       * @param {string} cacheName
-       * @returns {Promise}
-       */
-      async has(cacheName) {
-        webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.has" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        return this.#caches.has(cacheName);
-      }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open
-       * @param {string} cacheName
-       * @returns {Promise}
-       */
-      async open(cacheName) {
-        webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.open" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        if (this.#caches.has(cacheName)) {
-          const cache2 = this.#caches.get(cacheName);
-          return new Cache(kConstruct, cache2);
-        }
-        const 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);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.delete" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        return this.#caches.delete(cacheName);
-      }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys
-       * @returns {string[]}
-       */
-      async keys() {
-        webidl.brandCheck(this, _CacheStorage);
-        const keys = this.#caches.keys();
-        return [...keys];
+      get closingInfo() {
+        return this.#info.closeInfo;
       }
     };
-    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/cookies/constants.js
-var require_constants9 = __commonJS({
-  "node_modules/undici/lib/cookies/constants.js"(exports2, module2) {
-    "use strict";
-    var maxAttributeValueSize = 1024;
-    var maxNameValuePairSize = 4096;
     module2.exports = {
-      maxAttributeValueSize,
-      maxNameValuePairSize
+      ByteParser
     };
   }
 });
 
-// node_modules/undici/lib/cookies/util.js
-var require_util14 = __commonJS({
-  "node_modules/undici/lib/cookies/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js
+var require_sender2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js"(exports2, module2) {
     "use strict";
-    function isCTLExcludingHtab(value) {
-      if (value.length === 0) {
-        return false;
-      }
-      for (const char of value) {
-        const code = char.charCodeAt(0);
-        if (code >= 0 || code <= 8 || (code >= 10 || code <= 31) || code === 127) {
-          return false;
-        }
+    var { WebsocketFrameSend } = require_frame2();
+    var { opcodes, sendHints } = require_constants10();
+    var FixedQueue = require_fixed_queue2();
+    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;
       }
-    }
-    function validateCookieName(name) {
-      for (const char of name) {
-        const code = char.charCodeAt(0);
-        if (code <= 32 || code > 127 || char === "(" || char === ")" || char === ">" || char === "<" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}") {
-          throw new Error("Invalid cookie name");
+      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;
         }
-      }
-    }
-    function validateCookieValue(value) {
-      for (const char of value) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || // exclude CTLs (0-31)
-        code === 34 || code === 44 || code === 59 || code === 92 || code > 126) {
-          throw new Error("Invalid header value");
+        const 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();
         }
       }
-    }
-    function validateCookiePath(path12) {
-      for (const char of path12) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || char === ";") {
-          throw new Error("Invalid cookie path");
+      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 validateCookieDomain(domain) {
-      if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
-        throw new Error("Invalid cookie domain");
-      }
-    }
-    function toIMFDate(date) {
-      if (typeof date === "number") {
-        date = new Date(date);
-      }
-      const days = [
-        "Sun",
-        "Mon",
-        "Tue",
-        "Wed",
-        "Thu",
-        "Fri",
-        "Sat"
-      ];
-      const months = [
-        "Jan",
-        "Feb",
-        "Mar",
-        "Apr",
-        "May",
-        "Jun",
-        "Jul",
-        "Aug",
-        "Sep",
-        "Oct",
-        "Nov",
-        "Dec"
-      ];
-      const dayName = days[date.getUTCDay()];
-      const day = date.getUTCDate().toString().padStart(2, "0");
-      const month = months[date.getUTCMonth()];
-      const year = date.getUTCFullYear();
-      const hour = date.getUTCHours().toString().padStart(2, "0");
-      const minute = date.getUTCMinutes().toString().padStart(2, "0");
-      const second = date.getUTCSeconds().toString().padStart(2, "0");
-      return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`;
-    }
-    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("=")}`);
+    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);
       }
-      return out.join("; ");
     }
-    module2.exports = {
-      isCTLExcludingHtab,
-      validateCookieName,
-      validateCookiePath,
-      validateCookieValue,
-      toIMFDate,
-      stringify
-    };
+    module2.exports = { SendQueue };
   }
 });
 
-// node_modules/undici/lib/cookies/parse.js
-var require_parse2 = __commonJS({
-  "node_modules/undici/lib/cookies/parse.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js
+var require_websocket2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js"(exports2, module2) {
     "use strict";
-    var { maxNameValuePairSize, maxAttributeValueSize } = require_constants9();
-    var { isCTLExcludingHtab } = require_util14();
-    var { collectASequenceOfCodePointsFast } = require_dataURL();
-    var assert = require("assert");
-    function parseSetCookie(header) {
-      if (isCTLExcludingHtab(header)) {
-        return null;
-      }
-      let nameValuePair = "";
-      let unparsedAttributes = "";
-      let name = "";
-      let value = "";
-      if (header.includes(";")) {
-        const position = { position: 0 };
-        nameValuePair = collectASequenceOfCodePointsFast(";", header, position);
-        unparsedAttributes = header.slice(position.position);
-      } 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)
+    var { webidl } = require_webidl2();
+    var { URLSerializer } = require_data_url2();
+    var { environmentSettingsObject } = require_util10();
+    var { staticPropertyDescriptors, states, sentCloseFrameState, sendHints } = require_constants10();
+    var {
+      kWebSocketURL,
+      kReadyState,
+      kController,
+      kBinaryType,
+      kResponse,
+      kSentClose,
+      kByteParser
+    } = require_symbols10();
+    var {
+      isConnecting,
+      isEstablished,
+      isClosing,
+      isValidSubprotocol,
+      fireEvent
+    } = require_util15();
+    var { establishWebSocketConnection, closeWebSocketConnection } = require_connection2();
+    var { ByteParser } = require_receiver2();
+    var { kEnumerableProperty, isBlobLike } = require_util9();
+    var { getGlobalDispatcher } = require_global4();
+    var { types } = require("node:util");
+    var { ErrorEvent, CloseEvent } = require_events2();
+    var { SendQueue } = require_sender2();
+    var WebSocket = class _WebSocket extends EventTarget {
+      #events = {
+        open: null,
+        error: null,
+        close: null,
+        message: null
       };
-    }
-    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);
+      #bufferedAmount = 0;
+      #protocol = "";
+      #extensions = "";
+      /** @type {SendQueue} */
+      #sendQueue;
+      /**
+       * @param {string} url
+       * @param {string|string[]} protocols
+       */
+      constructor(url2, 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");
+        url2 = webidl.converters.USVString(url2, prefix, "url");
+        protocols = options.protocols;
+        const baseURL = environmentSettingsObject.settingsObject.baseUrl;
+        let urlRecord;
+        try {
+          urlRecord = new URL(url2, baseURL);
+        } catch (e) {
+          throw new DOMException(e, "SyntaxError");
         }
-        if (!/^\d+$/.test(attributeValue)) {
-          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
+        if (urlRecord.protocol === "http:") {
+          urlRecord.protocol = "ws:";
+        } else if (urlRecord.protocol === "https:") {
+          urlRecord.protocol = "wss:";
         }
-        const deltaSeconds = Number(attributeValue);
-        cookieAttributeList.maxAge = deltaSeconds;
-      } else if (attributeNameLowercase === "domain") {
-        let cookieDomain = attributeValue;
-        if (cookieDomain[0] === ".") {
-          cookieDomain = cookieDomain.slice(1);
+        if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") {
+          throw new DOMException(
+            `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
+            "SyntaxError"
+          );
         }
-        cookieDomain = cookieDomain.toLowerCase();
-        cookieAttributeList.domain = cookieDomain;
-      } else if (attributeNameLowercase === "path") {
-        let cookiePath = "";
-        if (attributeValue.length === 0 || attributeValue[0] !== "/") {
-          cookiePath = "/";
-        } else {
-          cookiePath = attributeValue;
+        if (urlRecord.hash || urlRecord.href.endsWith("#")) {
+          throw new DOMException("Got fragment", "SyntaxError");
         }
-        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 (typeof protocols === "string") {
+          protocols = [protocols];
         }
-        if (attributeValueLowercase.includes("strict")) {
-          enforcement = "Strict";
+        if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
+          throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
         }
-        if (attributeValueLowercase.includes("lax")) {
-          enforcement = "Lax";
+        if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
+          throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
         }
-        cookieAttributeList.sameSite = enforcement;
-      } else {
-        cookieAttributeList.unparsed ??= [];
-        cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`);
-      }
-      return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
-    }
-    module2.exports = {
-      parseSetCookie,
-      parseUnparsedAttributes
-    };
-  }
-});
-
-// node_modules/undici/lib/cookies/index.js
-var require_cookies2 = __commonJS({
-  "node_modules/undici/lib/cookies/index.js"(exports2, module2) {
-    "use strict";
-    var { parseSetCookie } = require_parse2();
-    var { stringify } = require_util14();
-    var { webidl } = require_webidl2();
-    var { Headers } = require_headers2();
-    function getCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "getCookies" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      const cookie = headers.get("cookie");
-      const out = {};
-      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.argumentLengthCheck(arguments, 2, { header: "deleteCookie" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      name = webidl.converters.DOMString(name);
-      attributes = webidl.converters.DeleteCookieAttributes(attributes);
-      setCookie(headers, {
-        name,
-        value: "",
-        expires: /* @__PURE__ */ new Date(0),
-        ...attributes
-      });
-    }
-    function getSetCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "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, { header: "setCookie" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      cookie = webidl.converters.Cookie(cookie);
-      const str2 = stringify(cookie);
-      if (str2) {
-        headers.append("Set-Cookie", stringify(cookie));
-      }
-    }
-    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
+        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";
       }
-    ]);
-    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);
+      /**
+       * @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");
           }
-          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: []
+        }
+        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);
       }
-    ]);
-    module2.exports = {
-      getCookies,
-      deleteCookie,
-      getSetCookies,
-      setCookie
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/constants.js
-var require_constants10 = __commonJS({
-  "node_modules/undici/lib/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 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);
-    module2.exports = {
-      uid,
-      staticPropertyDescriptors,
-      states,
-      opcodes,
-      maxUnsigned16Bit,
-      parserStates,
-      emptyBuffer
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/symbols.js
-var require_symbols10 = __commonJS({
-  "node_modules/undici/lib/websocket/symbols.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
-      kReadyState: /* @__PURE__ */ Symbol("ready state"),
-      kController: /* @__PURE__ */ Symbol("controller"),
-      kResponse: /* @__PURE__ */ Symbol("response"),
-      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
-      kSentClose: /* @__PURE__ */ Symbol("sent close"),
-      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
-      kByteParser: /* @__PURE__ */ Symbol("byte parser")
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/events.js
-var require_events2 = __commonJS({
-  "node_modules/undici/lib/websocket/events.js"(exports2, module2) {
-    "use strict";
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util9();
-    var { MessagePort } = require("worker_threads");
-    var MessageEvent = class _MessageEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.MessageEventInit(eventInitDict);
-        super(type2, eventInitDict);
-        this.#eventInit = eventInitDict;
+      /**
+       * @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 data() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.data;
+      get readyState() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kReadyState];
       }
-      get origin() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.origin;
+      get bufferedAmount() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#bufferedAmount;
       }
-      get lastEventId() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.lastEventId;
+      get url() {
+        webidl.brandCheck(this, _WebSocket);
+        return URLSerializer(this[kWebSocketURL]);
       }
-      get source() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.source;
+      get extensions() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#extensions;
       }
-      get ports() {
-        webidl.brandCheck(this, _MessageEvent);
-        if (!Object.isFrozen(this.#eventInit.ports)) {
-          Object.freeze(this.#eventInit.ports);
-        }
-        return this.#eventInit.ports;
+      get protocol() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#protocol;
       }
-      initMessageEvent(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
-        webidl.brandCheck(this, _MessageEvent);
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent.initMessageEvent" });
-        return new _MessageEvent(type2, {
-          bubbles,
-          cancelable,
-          data,
-          origin,
-          lastEventId,
-          source,
-          ports
-        });
+      get onopen() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.open;
       }
-    };
-    var CloseEvent = class _CloseEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
-        super(type2, eventInitDict);
-        this.#eventInit = eventInitDict;
+      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 wasClean() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.wasClean;
+      get onerror() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.error;
       }
-      get code() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.code;
+      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 reason() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.reason;
+      get onclose() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.close;
       }
-    };
-    var ErrorEvent = class _ErrorEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" });
-        super(type2, eventInitDict);
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});
-        this.#eventInit = eventInitDict;
+      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 message() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.message;
+      get onmessage() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.message;
       }
-      get filename() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.filename;
+      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 lineno() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.lineno;
+      get binaryType() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kBinaryType];
       }
-      get colno() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.colno;
+      set binaryType(type2) {
+        webidl.brandCheck(this, _WebSocket);
+        if (type2 !== "blob" && type2 !== "arraybuffer") {
+          this[kBinaryType] = "blob";
+        } else {
+          this[kBinaryType] = type2;
+        }
       }
-      get error() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.error;
+      /**
+       * @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);
       }
     };
-    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, {
+    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: "CloseEvent",
+        value: "WebSocket",
+        writable: false,
+        enumerable: false,
         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
+    Object.defineProperties(WebSocket, {
+      CONNECTING: staticPropertyDescriptors,
+      OPEN: staticPropertyDescriptors,
+      CLOSING: staticPropertyDescriptors,
+      CLOSED: staticPropertyDescriptors
     });
-    webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort);
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.MessagePort
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.DOMString
     );
-    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"],
-        get defaultValue() {
-          return [];
-        }
-      }
-    ]);
-    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["DOMString or sequence"] = function(V, prefix, argument) {
+      if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
+        return webidl.converters["sequence"](V);
       }
-    ]);
-    webidl.converters.ErrorEventInit = webidl.dictionaryConverter([
-      ...eventInit,
-      {
-        key: "message",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "filename",
-        converter: webidl.converters.USVString,
-        defaultValue: ""
-      },
+      return webidl.converters.DOMString(V, prefix, argument);
+    };
+    webidl.converters.WebSocketInit = webidl.dictionaryConverter([
       {
-        key: "lineno",
-        converter: webidl.converters["unsigned long"],
-        defaultValue: 0
+        key: "protocols",
+        converter: webidl.converters["DOMString or sequence"],
+        defaultValue: () => new Array(0)
       },
       {
-        key: "colno",
-        converter: webidl.converters["unsigned long"],
-        defaultValue: 0
+        key: "dispatcher",
+        converter: webidl.converters.any,
+        defaultValue: () => getGlobalDispatcher()
       },
-      {
-        key: "error",
-        converter: webidl.converters.any
-      }
-    ]);
-    module2.exports = {
-      MessageEvent,
-      CloseEvent,
-      ErrorEvent
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/util.js
-var require_util15 = __commonJS({
-  "node_modules/undici/lib/websocket/util.js"(exports2, module2) {
-    "use strict";
-    var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols10();
-    var { states, opcodes } = require_constants10();
-    var { MessageEvent, ErrorEvent } = require_events2();
-    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, eventConstructor = Event, eventInitDict) {
-      const event = new eventConstructor(e, eventInitDict);
-      target.dispatchEvent(event);
-    }
-    function websocketMessageReceived(ws, type2, data) {
-      if (ws[kReadyState] !== states.OPEN) {
-        return;
-      }
-      let dataForEvent;
-      if (type2 === opcodes.TEXT) {
-        try {
-          dataForEvent = new TextDecoder("utf-8", { fatal: true }).decode(data);
-        } catch {
-          failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
-          return;
-        }
-      } else if (type2 === opcodes.BINARY) {
-        if (ws[kBinaryType] === "blob") {
-          dataForEvent = new Blob([data]);
-        } else {
-          dataForEvent = new Uint8Array(data).buffer;
-        }
+      {
+        key: "headers",
+        converter: webidl.nullableConverter(webidl.converters.HeadersInit)
       }
-      fireEvent("message", ws, MessageEvent, {
-        origin: ws[kWebSocketURL].origin,
-        data: dataForEvent
-      });
-    }
-    function isValidSubprotocol(protocol) {
-      if (protocol.length === 0) {
-        return false;
+    ]);
+    webidl.converters["DOMString or sequence or WebSocketInit"] = function(V) {
+      if (webidl.util.Type(V) === "Object" && !(Symbol.iterator in V)) {
+        return webidl.converters.WebSocketInit(V);
       }
-      for (const char of protocol) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || code > 126 || char === "(" || char === ")" || char === "<" || char === ">" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}" || code === 32 || // SP
-        code === 9) {
-          return false;
+      return { 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 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;
+      return webidl.converters.USVString(V);
+    };
+    function onParserDrain() {
+      this.ws[kResponse].socket.resume();
     }
-    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, ErrorEvent, {
-          error: new Error(reason)
-        });
+    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 = {
-      isEstablished,
-      isClosing,
-      isClosed,
-      fireEvent,
-      isValidSubprotocol,
-      isValidStatusCode,
-      failWebsocketConnection,
-      websocketMessageReceived
+      WebSocket
     };
   }
 });
 
-// node_modules/undici/lib/websocket/connection.js
-var require_connection2 = __commonJS({
-  "node_modules/undici/lib/websocket/connection.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js
+var require_util16 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js"(exports2, module2) {
     "use strict";
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { uid, states } = require_constants10();
-    var {
-      kReadyState,
-      kSentClose,
-      kByteParser,
-      kReceivedClose
-    } = require_symbols10();
-    var { fireEvent, failWebsocketConnection } = require_util15();
-    var { CloseEvent } = require_events2();
-    var { makeRequest } = require_request4();
-    var { fetching } = require_fetch2();
-    var { Headers } = require_headers2();
-    var { getGlobalDispatcher } = require_global4();
-    var { kHeadersList } = require_symbols6();
-    var channels = {};
-    channels.open = diagnosticsChannel.channel("undici:websocket:open");
-    channels.close = diagnosticsChannel.channel("undici:websocket:close");
-    channels.socketError = diagnosticsChannel.channel("undici:websocket:socket_error");
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-    } catch {
-    }
-    function establishWebSocketConnection(url2, protocols, ws, onEstablish, options) {
-      const requestURL = url2;
-      requestURL.protocol = url2.protocol === "ws:" ? "http:" : "https:";
-      const request2 = makeRequest({
-        urlList: [requestURL],
-        serviceWorkers: "none",
-        referrer: "no-referrer",
-        mode: "websocket",
-        credentials: "include",
-        cache: "no-store",
-        redirect: "error"
-      });
-      if (options.headers) {
-        const headersList = new Headers(options.headers)[kHeadersList];
-        request2.headersList = headersList;
-      }
-      const keyValue = crypto2.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 = "";
-      const controller = fetching({
-        request: request2,
-        useParallelQueue: true,
-        dispatcher: options.dispatcher ?? getGlobalDispatcher(),
-        processResponse(response) {
-          if (response.type === "error" || response.status !== 101) {
-            failWebsocketConnection(ws, "Received network error or non-101 status code.");
-            return;
-          }
-          if (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 = crypto2.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");
-          if (secExtension !== null && secExtension !== permessageDeflate) {
-            failWebsocketConnection(ws, "Received different permessage-deflate than the one set.");
-            return;
-          }
-          const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");
-          if (secProtocol !== null && secProtocol !== request2.headersList.get("Sec-WebSocket-Protocol")) {
-            failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");
-            return;
-          }
-          response.socket.on("data", onSocketData);
-          response.socket.on("close", onSocketClose);
-          response.socket.on("error", onSocketError);
-          if (channels.open.hasSubscribers) {
-            channels.open.publish({
-              address: response.socket.address(),
-              protocol: secProtocol,
-              extensions: secExtension
-            });
-          }
-          onEstablish(response);
-        }
-      });
-      return controller;
+    function isValidLastEventId(value) {
+      return value.indexOf("\0") === -1;
     }
-    function onSocketData(chunk) {
-      if (!this.ws[kByteParser].write(chunk)) {
-        this.pause();
+    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 onSocketClose() {
-      const { ws } = this;
-      const wasClean = ws[kSentClose] && ws[kReceivedClose];
-      let code = 1005;
-      let reason = "";
-      const result = ws[kByteParser].closingInfo;
-      if (result) {
-        code = result.code ?? 1005;
-        reason = result.reason;
-      } else if (!ws[kSentClose]) {
-        code = 1006;
-      }
-      ws[kReadyState] = states.CLOSED;
-      fireEvent("close", ws, CloseEvent, {
-        wasClean,
-        code,
-        reason
+    function delay2(ms) {
+      return new Promise((resolve6) => {
+        setTimeout(resolve6, ms).unref();
       });
-      if (channels.close.hasSubscribers) {
-        channels.close.publish({
-          websocket: ws,
-          code,
-          reason
-        });
-      }
-    }
-    function onSocketError(error3) {
-      const { ws } = this;
-      ws[kReadyState] = states.CLOSING;
-      if (channels.socketError.hasSubscribers) {
-        channels.socketError.publish(error3);
-      }
-      this.destroy();
     }
     module2.exports = {
-      establishWebSocketConnection
+      isValidLastEventId,
+      isASCIINumber,
+      delay: delay2
     };
   }
 });
 
-// node_modules/undici/lib/websocket/frame.js
-var require_frame2 = __commonJS({
-  "node_modules/undici/lib/websocket/frame.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js
+var require_eventsource_stream2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js"(exports2, module2) {
     "use strict";
-    var { maxUnsigned16Bit } = require_constants10();
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-    } catch {
-    }
-    var WebsocketFrameSend = class {
+    var { Transform } = require("node:stream");
+    var { isASCIINumber, isValidLastEventId } = require_util16();
+    var BOM = [239, 187, 191];
+    var LF = 10;
+    var CR = 13;
+    var COLON = 58;
+    var SPACE = 32;
+    var EventSourceStream = class extends Transform {
       /**
-       * @param {Buffer|undefined} data
+       * @type {eventSourceSettings}
        */
-      constructor(data) {
-        this.frameData = data;
-        this.maskKey = crypto2.randomBytes(4);
-      }
-      createFrame(opcode) {
-        const bodyLength = this.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 buffer = Buffer.allocUnsafe(bodyLength + offset);
-        buffer[0] = buffer[1] = 0;
-        buffer[0] |= 128;
-        buffer[0] = (buffer[0] & 240) + opcode;
-        buffer[offset - 4] = this.maskKey[0];
-        buffer[offset - 3] = this.maskKey[1];
-        buffer[offset - 2] = this.maskKey[2];
-        buffer[offset - 1] = this.maskKey[3];
-        buffer[1] = payloadLength;
-        if (payloadLength === 126) {
-          buffer.writeUInt16BE(bodyLength, 2);
-        } else if (payloadLength === 127) {
-          buffer[2] = buffer[3] = 0;
-          buffer.writeUIntBE(bodyLength, 4, 6);
-        }
-        buffer[1] |= 128;
-        for (let i = 0; i < bodyLength; i++) {
-          buffer[offset + i] = this.frameData[i] ^ this.maskKey[i % 4];
-        }
-        return buffer;
-      }
-    };
-    module2.exports = {
-      WebsocketFrameSend
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/receiver.js
-var require_receiver2 = __commonJS({
-  "node_modules/undici/lib/websocket/receiver.js"(exports2, module2) {
-    "use strict";
-    var { Writable } = require("stream");
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { parserStates, opcodes, states, emptyBuffer } = require_constants10();
-    var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols10();
-    var { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require_util15();
-    var { WebsocketFrameSend } = require_frame2();
-    var channels = {};
-    channels.ping = diagnosticsChannel.channel("undici:websocket:ping");
-    channels.pong = diagnosticsChannel.channel("undici:websocket:pong");
-    var ByteParser = class extends Writable {
-      #buffers = [];
-      #byteOffset = 0;
-      #state = parserStates.INFO;
-      #info = {};
-      #fragments = [];
-      constructor(ws) {
-        super();
-        this.ws = ws;
-      }
+      state = null;
       /**
-       * @param {Buffer} chunk
-       * @param {() => void} callback
+       * Leading byte-order-mark check.
+       * @type {boolean}
        */
-      _write(chunk, _, callback) {
-        this.#buffers.push(chunk);
-        this.#byteOffset += chunk.length;
-        this.run(callback);
+      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;
+        }
       }
       /**
-       * 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.
+       * @param {Buffer} chunk
+       * @param {string} _encoding
+       * @param {Function} callback
+       * @returns {void}
        */
-      run(callback) {
-        while (true) {
-          if (this.#state === parserStates.INFO) {
-            if (this.#byteOffset < 2) {
-              return callback();
-            }
-            const buffer = this.consume(2);
-            this.#info.fin = (buffer[0] & 128) !== 0;
-            this.#info.opcode = buffer[0] & 15;
-            this.#info.originalOpcode ??= this.#info.opcode;
-            this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION;
-            if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) {
-              failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
-              return;
-            }
-            const payloadLength = buffer[1] & 127;
-            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 (this.#info.fragmented && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
-              return;
-            } else if ((this.#info.opcode === opcodes.PING || this.#info.opcode === opcodes.PONG || this.#info.opcode === opcodes.CLOSE) && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Payload length for control frame exceeded 125 bytes.");
-              return;
-            } else if (this.#info.opcode === opcodes.CLOSE) {
-              if (payloadLength === 1) {
-                failWebsocketConnection(this.ws, "Received close frame with a 1-byte body.");
+      _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;
               }
-              const body = this.consume(payloadLength);
-              this.#info.closeInfo = this.parseCloseBody(false, body);
-              if (!this.ws[kSentClose]) {
-                const body2 = Buffer.allocUnsafe(2);
-                body2.writeUInt16BE(this.#info.closeInfo.code, 0);
-                const closeFrame = new WebsocketFrameSend(body2);
-                this.ws[kResponse].socket.write(
-                  closeFrame.createFrame(opcodes.CLOSE),
-                  (err) => {
-                    if (!err) {
-                      this.ws[kSentClose] = true;
-                    }
-                  }
-                );
-              }
-              this.ws[kReadyState] = states.CLOSING;
-              this.ws[kReceivedClose] = true;
-              this.end();
+              this.checkBOM = false;
+              callback();
               return;
-            } else if (this.#info.opcode === opcodes.PING) {
-              const body = this.consume(payloadLength);
-              if (!this.ws[kReceivedClose]) {
-                const frame = new WebsocketFrameSend(body);
-                this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
-                if (channels.ping.hasSubscribers) {
-                  channels.ping.publish({
-                    payload: body
-                  });
-                }
+            case 2:
+              if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1]) {
+                callback();
+                return;
               }
-              this.#state = parserStates.INFO;
-              if (this.#byteOffset > 0) {
-                continue;
-              } else {
+              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;
               }
-            } else if (this.#info.opcode === opcodes.PONG) {
-              const body = this.consume(payloadLength);
-              if (channels.pong.hasSubscribers) {
-                channels.pong.publish({
-                  payload: body
-                });
+              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);
               }
-              if (this.#byteOffset > 0) {
+              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;
-              } else {
-                callback();
-                return;
               }
+              this.crlfCheck = false;
             }
-          } 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();
-            } else if (this.#byteOffset >= this.#info.payloadLength) {
-              const body = this.consume(this.#info.payloadLength);
-              this.#fragments.push(body);
-              if (!this.#info.fragmented || this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) {
-                const fullMessage = Buffer.concat(this.#fragments);
-                websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage);
-                this.#info = {};
-                this.#fragments.length = 0;
+            if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) {
+              if (this.buffer[this.pos] === CR) {
+                this.crlfCheck = true;
               }
-              this.#state = parserStates.INFO;
+              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.#byteOffset > 0) {
+          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;
-          } else {
-            callback();
-            break;
           }
+          this.pos++;
         }
+        callback();
       }
       /**
-       * Take n bytes from the buffered Buffers
-       * @param {number} n
-       * @returns {Buffer|null}
+       * @param {Buffer} line
+       * @param {EventStreamEvent} event
        */
-      consume(n) {
-        if (n > this.#byteOffset) {
-          return null;
-        } else if (n === 0) {
-          return emptyBuffer;
+      parseLine(line, event) {
+        if (line.length === 0) {
+          return;
         }
-        if (this.#buffers[0].length === n) {
-          this.#byteOffset -= this.#buffers[0].length;
-          return this.#buffers.shift();
+        const colonPosition = line.indexOf(COLON);
+        if (colonPosition === 0) {
+          return;
         }
-        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);
+        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;
-          } else if (length + offset > n) {
-            buffer.set(next.subarray(0, n - offset), offset);
-            this.#buffers[0] = next.subarray(n - offset);
+          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;
-          } else {
-            buffer.set(this.#buffers.shift(), offset);
-            offset += next.length;
-          }
         }
-        this.#byteOffset -= n;
-        return buffer;
       }
-      parseCloseBody(onlyCode, data) {
-        let code;
-        if (data.length >= 2) {
-          code = data.readUInt16BE(0);
-        }
-        if (onlyCode) {
-          if (!isValidStatusCode(code)) {
-            return null;
-          }
-          return { code };
-        }
-        let reason = data.subarray(2);
-        if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
-          reason = reason.subarray(3);
+      /**
+       * @param {EventSourceStreamEvent} event
+       */
+      processEvent(event) {
+        if (event.retry && isASCIINumber(event.retry)) {
+          this.state.reconnectionTime = parseInt(event.retry, 10);
         }
-        if (code !== void 0 && !isValidStatusCode(code)) {
-          return null;
+        if (event.id && isValidLastEventId(event.id)) {
+          this.state.lastEventId = event.id;
         }
-        try {
-          reason = new TextDecoder("utf-8", { fatal: true }).decode(reason);
-        } catch {
-          return null;
+        if (event.data !== void 0) {
+          this.push({
+            type: event.event || "message",
+            options: {
+              data: event.data,
+              lastEventId: this.state.lastEventId,
+              origin: this.state.origin
+            }
+          });
         }
-        return { code, reason };
       }
-      get closingInfo() {
-        return this.#info.closeInfo;
+      clearEvent() {
+        this.event = {
+          data: void 0,
+          event: void 0,
+          id: void 0,
+          retry: void 0
+        };
       }
     };
     module2.exports = {
-      ByteParser
+      EventSourceStream
     };
   }
 });
 
-// node_modules/undici/lib/websocket/websocket.js
-var require_websocket2 = __commonJS({
-  "node_modules/undici/lib/websocket/websocket.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js
+var require_eventsource2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js"(exports2, module2) {
     "use strict";
+    var { pipeline } = require("node:stream");
+    var { fetching } = require_fetch2();
+    var { makeRequest } = require_request4();
     var { webidl } = require_webidl2();
-    var { DOMException: DOMException2 } = require_constants7();
-    var { URLSerializer } = require_dataURL();
-    var { getGlobalOrigin } = require_global3();
-    var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require_constants10();
-    var {
-      kWebSocketURL,
-      kReadyState,
-      kController,
-      kBinaryType,
-      kResponse,
-      kSentClose,
-      kByteParser
-    } = require_symbols10();
-    var { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require_util15();
-    var { establishWebSocketConnection } = require_connection2();
-    var { WebsocketFrameSend } = require_frame2();
-    var { ByteParser } = require_receiver2();
-    var { kEnumerableProperty, isBlobLike } = require_util9();
-    var { getGlobalDispatcher } = require_global4();
-    var { types } = require("util");
+    var { EventSourceStream } = require_eventsource_stream2();
+    var { parseMIMEType } = require_data_url2();
+    var { createFastMessageEvent } = require_events2();
+    var { isNetworkError } = require_response2();
+    var { delay: delay2 } = require_util16();
+    var { kEnumerableProperty } = require_util9();
+    var { environmentSettingsObject } = require_util10();
     var experimentalWarned = false;
-    var WebSocket = class _WebSocket extends EventTarget {
+    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,
-        close: null,
         message: null
       };
-      #bufferedAmount = 0;
-      #protocol = "";
-      #extensions = "";
+      #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 {string|string[]} protocols
+       * @param {EventSourceInit} [eventSourceInitDict]
+       * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#the-eventsource-interface
        */
-      constructor(url2, protocols = []) {
+      constructor(url2, eventSourceInitDict = {}) {
         super();
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket constructor" });
+        webidl.util.markAsUncloneable(this);
+        const prefix = "EventSource constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
         if (!experimentalWarned) {
           experimentalWarned = true;
-          process.emitWarning("WebSockets are experimental, expect them to change at any time.", {
-            code: "UNDICI-WS"
+          process.emitWarning("EventSource is experimental, expect them to change at any time.", {
+            code: "UNDICI-ES"
           });
         }
-        const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols);
-        url2 = webidl.converters.USVString(url2);
-        protocols = options.protocols;
-        const baseURL = getGlobalOrigin();
+        url2 = webidl.converters.USVString(url2, 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(url2, baseURL);
+          urlRecord = new URL(url2, settings.settingsObject.baseUrl);
+          this.#state.origin = urlRecord.origin;
         } catch (e) {
-          throw new DOMException2(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 DOMException2(
-            `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
-            "SyntaxError"
-          );
-        }
-        if (urlRecord.hash || urlRecord.href.endsWith("#")) {
-          throw new DOMException2("Got fragment", "SyntaxError");
-        }
-        if (typeof protocols === "string") {
-          protocols = [protocols];
-        }
-        if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
-          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+          throw new DOMException(e, "SyntaxError");
         }
-        if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
-          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+        this.#url = urlRecord.href;
+        let corsAttributeState = ANONYMOUS;
+        if (eventSourceInitDict.withCredentials) {
+          corsAttributeState = USE_CREDENTIALS;
+          this.#withCredentials = true;
         }
-        this[kWebSocketURL] = new URL(urlRecord.href);
-        this[kController] = establishWebSocketConnection(
-          urlRecord,
-          protocols,
-          this,
-          (response) => this.#onConnectionEstablished(response),
-          options
-        );
-        this[kReadyState] = _WebSocket.CONNECTING;
-        this[kBinaryType] = "blob";
+        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();
       }
       /**
-       * @see https://websockets.spec.whatwg.org/#dom-websocket-close
-       * @param {number|undefined} code
-       * @param {string|undefined} reason
+       * Returns the state of this EventSource object's connection. It can have the
+       * values described below.
+       * @returns {0|1|2}
+       * @readonly
        */
-      close(code = void 0, reason = void 0) {
-        webidl.brandCheck(this, _WebSocket);
-        if (code !== void 0) {
-          code = webidl.converters["unsigned short"](code, { clamp: true });
-        }
-        if (reason !== void 0) {
-          reason = webidl.converters.USVString(reason);
-        }
-        if (code !== void 0) {
-          if (code !== 1e3 && (code < 3e3 || code > 4999)) {
-            throw new DOMException2("invalid code", "InvalidAccessError");
+      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();
           }
-        }
-        let reasonByteLength = 0;
-        if (reason !== void 0) {
-          reasonByteLength = Buffer.byteLength(reason);
-          if (reasonByteLength > 123) {
-            throw new DOMException2(
-              `Reason must be less than 123 bytes; received ${reasonByteLength}`,
-              "SyntaxError"
-            );
+          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;
+            }
           }
-        }
-        if (this[kReadyState] === _WebSocket.CLOSING || this[kReadyState] === _WebSocket.CLOSED) {
-        } else if (!isEstablished(this)) {
-          failWebsocketConnection(this, "Connection was closed before it was established.");
-          this[kReadyState] = _WebSocket.CLOSING;
-        } else if (!isClosing(this)) {
-          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 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;
           }
-          const socket = this[kResponse].socket;
-          socket.write(frame.createFrame(opcodes.CLOSE), (err) => {
-            if (!err) {
-              this[kSentClose] = true;
+          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
+              ));
             }
           });
-          this[kReadyState] = states.CLOSING;
-        } else {
-          this[kReadyState] = _WebSocket.CLOSING;
-        }
+          pipeline(
+            response.body.stream,
+            eventSourceStream,
+            (error3) => {
+              if (error3?.aborted === false) {
+                this.close();
+                this.dispatchEvent(new Event("error"));
+              }
+            }
+          );
+        };
+        this.#controller = fetching(fetchParams);
       }
       /**
-       * @see https://websockets.spec.whatwg.org/#dom-websocket-send
-       * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data
+       * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#sse-processing-model
+       * @returns {Promise}
        */
-      send(data) {
-        webidl.brandCheck(this, _WebSocket);
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" });
-        data = webidl.converters.WebSocketSendData(data);
-        if (this[kReadyState] === _WebSocket.CONNECTING) {
-          throw new DOMException2("Sent before connected.", "InvalidStateError");
-        }
-        if (!isEstablished(this) || isClosing(this)) {
-          return;
-        }
-        const socket = this[kResponse].socket;
-        if (typeof data === "string") {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.TEXT);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
-        } else if (types.isArrayBuffer(data)) {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
-        } else if (ArrayBuffer.isView(data)) {
-          const ab = Buffer.from(data, data.byteOffset, data.byteLength);
-          const frame = new WebsocketFrameSend(ab);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += ab.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= ab.byteLength;
-          });
-        } else if (isBlobLike(data)) {
-          const frame = new WebsocketFrameSend();
-          data.arrayBuffer().then((ab) => {
-            const value = Buffer.from(ab);
-            frame.frameData = value;
-            const buffer = frame.createFrame(opcodes.BINARY);
-            this.#bufferedAmount += value.byteLength;
-            socket.write(buffer, () => {
-              this.#bufferedAmount -= value.byteLength;
-            });
-          });
+      async #reconnect() {
+        if (this.#readyState === CLOSED) return;
+        this.#readyState = CONNECTING;
+        this.dispatchEvent(new Event("error"));
+        await delay2(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();
       }
-      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;
+      /**
+       * 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() {
-        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);
         }
@@ -37998,44 +39575,10 @@ var require_websocket2 = __commonJS({
           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);
         }
@@ -38046,137 +39589,87 @@ var require_websocket2 = __commonJS({
           this.#events.message = null;
         }
       }
-      get binaryType() {
-        webidl.brandCheck(this, _WebSocket);
-        return this[kBinaryType];
+      get onerror() {
+        return this.#events.error;
       }
-      set binaryType(type2) {
-        webidl.brandCheck(this, _WebSocket);
-        if (type2 !== "blob" && type2 !== "arraybuffer") {
-          this[kBinaryType] = "blob";
+      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[kBinaryType] = type2;
+          this.#events.error = null;
         }
       }
-      /**
-       * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
-       */
-      #onConnectionEstablished(response) {
-        this[kResponse] = response;
-        const parser = new ByteParser(this);
-        parser.on("drain", function onParserDrain() {
-          this.ws[kResponse].socket.resume();
-        });
-        response.socket.ws = this;
-        this[kByteParser] = parser;
-        this[kReadyState] = states.OPEN;
-        const extensions = response.headersList.get("sec-websocket-extensions");
-        if (extensions !== null) {
-          this.#extensions = extensions;
-        }
-        const protocol = response.headersList.get("sec-websocket-protocol");
-        if (protocol !== null) {
-          this.#protocol = protocol;
-        }
-        fireEvent("open", this);
+    };
+    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
       }
     };
-    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,
+    Object.defineProperties(EventSource, constantsPropertyDescriptors);
+    Object.defineProperties(EventSource.prototype, constantsPropertyDescriptors);
+    Object.defineProperties(EventSource.prototype, {
       close: kEnumerableProperty,
+      onerror: 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
+      onopen: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      url: kEnumerableProperty,
+      withCredentials: kEnumerableProperty
     });
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.DOMString
-    );
-    webidl.converters["DOMString or sequence"] = function(V) {
-      if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
-        return webidl.converters["sequence"](V);
-      }
-      return webidl.converters.DOMString(V);
-    };
-    webidl.converters.WebSocketInit = webidl.dictionaryConverter([
+    webidl.converters.EventSourceInitDict = webidl.dictionaryConverter([
       {
-        key: "protocols",
-        converter: webidl.converters["DOMString or sequence"],
-        get defaultValue() {
-          return [];
-        }
+        key: "withCredentials",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
       },
       {
         key: "dispatcher",
-        converter: (V) => V,
-        get defaultValue() {
-          return getGlobalDispatcher();
-        }
-      },
-      {
-        key: "headers",
-        converter: webidl.nullableConverter(webidl.converters.HeadersInit)
+        // undici only
+        converter: webidl.converters.any
       }
     ]);
-    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.isAnyArrayBuffer(V)) {
-          return webidl.converters.BufferSource(V);
-        }
-      }
-      return webidl.converters.USVString(V);
-    };
     module2.exports = {
-      WebSocket
+      EventSource,
+      defaultReconnectionTime
     };
   }
 });
 
-// node_modules/undici/index.js
+// node_modules/@actions/github/node_modules/undici/index.js
 var require_undici2 = __commonJS({
-  "node_modules/undici/index.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/index.js"(exports2, module2) {
     "use strict";
     var Client = require_client2();
     var Dispatcher = require_dispatcher2();
-    var errors = require_errors2();
     var Pool = require_pool2();
     var BalancedPool = require_balanced_pool2();
     var Agent = require_agent2();
+    var ProxyAgent = require_proxy_agent2();
+    var EnvHttpProxyAgent = require_env_http_proxy_agent2();
+    var RetryAgent = require_retry_agent2();
+    var errors = require_errors2();
     var util = require_util9();
     var { InvalidArgumentError } = errors;
     var api = require_api2();
@@ -38185,19 +39678,11 @@ var require_undici2 = __commonJS({
     var MockAgent = require_mock_agent2();
     var MockPool = require_mock_pool2();
     var mockErrors = require_mock_errors2();
-    var ProxyAgent = require_proxy_agent2();
-    var RetryHandler = require_RetryHandler();
+    var RetryHandler = require_retry_handler2();
     var { getGlobalDispatcher, setGlobalDispatcher } = require_global4();
-    var DecoratorHandler = require_DecoratorHandler();
-    var RedirectHandler = require_RedirectHandler();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var hasCrypto;
-    try {
-      require("crypto");
-      hasCrypto = true;
-    } catch {
-      hasCrypto = false;
-    }
+    var DecoratorHandler = require_decorator_handler2();
+    var RedirectHandler = require_redirect_handler2();
+    var createRedirectInterceptor = require_redirect_interceptor2();
     Object.assign(Dispatcher.prototype, api);
     module2.exports.Dispatcher = Dispatcher;
     module2.exports.Client = Client;
@@ -38205,12 +39690,24 @@ var require_undici2 = __commonJS({
     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_redirect2(),
+      retry: require_retry2(),
+      dump: require_dump2(),
+      dns: require_dns2()
+    };
     module2.exports.buildConnector = buildConnector;
     module2.exports.errors = errors;
+    module2.exports.util = {
+      parseHeaders: util.parseHeaders,
+      headerNameToString: util.headerNameToString
+    };
     function makeDispatcher(fn) {
       return (url2, opts, handler2) => {
         if (typeof opts === "function") {
@@ -38252,48 +39749,42 @@ var require_undici2 = __commonJS({
     }
     module2.exports.setGlobalDispatcher = setGlobalDispatcher;
     module2.exports.getGlobalDispatcher = getGlobalDispatcher;
-    if (util.nodeMajor > 16 || util.nodeMajor === 16 && util.nodeMinor >= 8) {
-      let fetchImpl = null;
-      module2.exports.fetch = async function fetch(resource) {
-        if (!fetchImpl) {
-          fetchImpl = require_fetch2().fetch;
-        }
-        try {
-          return await fetchImpl(...arguments);
-        } catch (err) {
-          if (typeof err === "object") {
-            Error.captureStackTrace(err, this);
-          }
-          throw err;
+    var fetchImpl = require_fetch2().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);
         }
-      };
-      module2.exports.Headers = require_headers2().Headers;
-      module2.exports.Response = require_response2().Response;
-      module2.exports.Request = require_request4().Request;
-      module2.exports.FormData = require_formdata2().FormData;
-      module2.exports.File = require_file2().File;
-      module2.exports.FileReader = require_filereader2().FileReader;
-      const { setGlobalOrigin, getGlobalOrigin } = require_global3();
-      module2.exports.setGlobalOrigin = setGlobalOrigin;
-      module2.exports.getGlobalOrigin = getGlobalOrigin;
-      const { CacheStorage } = require_cachestorage2();
-      const { kConstruct } = require_symbols9();
-      module2.exports.caches = new CacheStorage(kConstruct);
-    }
-    if (util.nodeMajor >= 16) {
-      const { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
-      module2.exports.deleteCookie = deleteCookie;
-      module2.exports.getCookies = getCookies;
-      module2.exports.getSetCookies = getSetCookies;
-      module2.exports.setCookie = setCookie;
-      const { parseMIMEType, serializeAMimeType } = require_dataURL();
-      module2.exports.parseMIMEType = parseMIMEType;
-      module2.exports.serializeAMimeType = serializeAMimeType;
-    }
-    if (util.nodeMajor >= 18 && hasCrypto) {
-      const { WebSocket } = require_websocket2();
-      module2.exports.WebSocket = WebSocket;
-    }
+        throw err;
+      }
+    };
+    module2.exports.Headers = require_headers2().Headers;
+    module2.exports.Response = require_response2().Response;
+    module2.exports.Request = require_request4().Request;
+    module2.exports.FormData = require_formdata2().FormData;
+    module2.exports.File = globalThis.File ?? require("node:buffer").File;
+    module2.exports.FileReader = require_filereader2().FileReader;
+    var { setGlobalOrigin, getGlobalOrigin } = require_global3();
+    module2.exports.setGlobalOrigin = setGlobalOrigin;
+    module2.exports.getGlobalOrigin = getGlobalOrigin;
+    var { CacheStorage } = require_cachestorage2();
+    var { kConstruct } = require_symbols9();
+    module2.exports.caches = new CacheStorage(kConstruct);
+    var { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
+    module2.exports.deleteCookie = deleteCookie;
+    module2.exports.getCookies = getCookies;
+    module2.exports.getSetCookies = getSetCookies;
+    module2.exports.setCookie = setCookie;
+    var { parseMIMEType, serializeAMimeType } = require_data_url2();
+    module2.exports.parseMIMEType = parseMIMEType;
+    module2.exports.serializeAMimeType = serializeAMimeType;
+    var { CloseEvent, ErrorEvent, MessageEvent } = require_events2();
+    module2.exports.WebSocket = require_websocket2().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);
@@ -38303,6 +39794,8 @@ var require_undici2 = __commonJS({
     module2.exports.MockPool = MockPool;
     module2.exports.MockAgent = MockAgent;
     module2.exports.mockErrors = mockErrors;
+    var { EventSource } = require_eventsource2();
+    module2.exports.EventSource = EventSource;
   }
 });
 
@@ -44522,7 +46015,7 @@ var require_package = __commonJS({
         "@actions/cache": "^5.0.5",
         "@actions/core": "^2.0.3",
         "@actions/exec": "^2.0.0",
-        "@actions/github": "^8.0.0",
+        "@actions/github": "^8.0.1",
         "@actions/glob": "^0.5.0",
         "@actions/http-client": "^3.0.0",
         "@actions/io": "^2.0.0",
@@ -44554,7 +46047,7 @@ var require_package = __commonJS({
         "@types/node-forge": "^1.3.14",
         "@types/semver": "^7.7.1",
         "@types/sinon": "^21.0.0",
-        "@typescript-eslint/eslint-plugin": "^8.53.1",
+        "@typescript-eslint/eslint-plugin": "^8.54.0",
         "@typescript-eslint/parser": "^8.48.0",
         ava: "^6.4.1",
         esbuild: "^0.27.2",
@@ -44563,7 +46056,7 @@ var require_package = __commonJS({
         "eslint-plugin-filenames": "^1.3.2",
         "eslint-plugin-github": "^5.1.8",
         "eslint-plugin-import": "2.29.1",
-        "eslint-plugin-jsdoc": "^62.3.0",
+        "eslint-plugin-jsdoc": "^62.4.1",
         "eslint-plugin-no-async-foreach": "^0.1.1",
         glob: "^11.1.0",
         nock: "^14.0.10",
@@ -53757,7 +55250,7 @@ var require_clientHelpers = __commonJS({
 });
 
 // node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js
-var require_multipart2 = __commonJS({
+var require_multipart = __commonJS({
   "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -53880,7 +55373,7 @@ var require_sendRequest = __commonJS({
     var pipelineRequest_js_1 = require_pipelineRequest();
     var clientHelpers_js_1 = require_clientHelpers();
     var typeGuards_js_1 = require_typeGuards();
-    var multipart_js_1 = require_multipart2();
+    var multipart_js_1 = require_multipart();
     async function sendRequest(method, url2, pipeline, options = {}, customHttpClient) {
       const httpClient = customHttpClient ?? (0, clientHelpers_js_1.getCachedDefaultHttpsClient)();
       const request2 = buildPipelineRequest(method, url2, options);
@@ -58578,7 +60071,7 @@ var require_commonjs8 = __commonJS({
 });
 
 // node_modules/@azure/core-http-compat/dist/commonjs/util.js
-var require_util16 = __commonJS({
+var require_util17 = __commonJS({
   "node_modules/@azure/core-http-compat/dist/commonjs/util.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -58833,7 +60326,7 @@ var require_response3 = __commonJS({
     exports2.toCompatResponse = toCompatResponse;
     exports2.toPipelineResponse = toPipelineResponse;
     var core_rest_pipeline_1 = require_commonjs6();
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     var originalResponse = /* @__PURE__ */ Symbol("Original FullOperationResponse");
     function toCompatResponse(response, options) {
       let request2 = (0, util_js_1.toWebResourceLike)(response.request);
@@ -58947,7 +60440,7 @@ var require_requestPolicyFactoryPolicy = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.requestPolicyFactoryPolicyName = exports2.HttpPipelineLogLevel = void 0;
     exports2.createRequestPolicyFactoryPolicy = createRequestPolicyFactoryPolicy;
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     var response_js_1 = require_response3();
     var HttpPipelineLogLevel;
     (function(HttpPipelineLogLevel2) {
@@ -58994,7 +60487,7 @@ var require_httpClientAdapter = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.convertHttpClient = convertHttpClient;
     var response_js_1 = require_response3();
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     function convertHttpClient(requestPolicyClient) {
       return {
         sendRequest: async (request2) => {
@@ -59034,7 +60527,7 @@ var require_commonjs9 = __commonJS({
     Object.defineProperty(exports2, "convertHttpClient", { enumerable: true, get: function() {
       return httpClientAdapter_js_1.convertHttpClient;
     } });
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     Object.defineProperty(exports2, "toHttpHeadersLike", { enumerable: true, get: function() {
       return util_js_1.toHttpHeadersLike;
     } });
@@ -95115,7 +96608,7 @@ var require_cache_twirp_client = __commonJS({
 });
 
 // node_modules/@actions/cache/lib/internal/shared/util.js
-var require_util17 = __commonJS({
+var require_util18 = __commonJS({
   "node_modules/@actions/cache/lib/internal/shared/util.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -95192,7 +96685,7 @@ var require_cacheTwirpClient = __commonJS({
     var auth_1 = require_auth();
     var http_client_1 = require_lib();
     var cache_twirp_client_1 = require_cache_twirp_client();
-    var util_1 = require_util17();
+    var util_1 = require_util18();
     var CacheServiceClient = class {
       constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) {
         this.maxAttempts = 5;
@@ -109818,11 +111311,11 @@ void runWrapper();
 /*! Bundled license information:
 
 undici/lib/web/fetch/body.js:
-undici/lib/fetch/body.js:
+undici/lib/web/fetch/body.js:
   (*! formdata-polyfill. MIT License. Jimmy Wärting  *)
 
 undici/lib/web/websocket/frame.js:
-undici/lib/websocket/frame.js:
+undici/lib/web/websocket/frame.js:
   (*! ws. MIT License. Einar Otto Stangvik  *)
 
 @octokit/request-error/dist-src/index.js:
diff --git a/package-lock.json b/package-lock.json
index 8981e8aefc..1f120c984e 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -14,7 +14,7 @@
         "@actions/cache": "^5.0.5",
         "@actions/core": "^2.0.3",
         "@actions/exec": "^2.0.0",
-        "@actions/github": "^8.0.0",
+        "@actions/github": "^8.0.1",
         "@actions/glob": "^0.5.0",
         "@actions/http-client": "^3.0.0",
         "@actions/io": "^2.0.0",
@@ -46,7 +46,7 @@
         "@types/node-forge": "^1.3.14",
         "@types/semver": "^7.7.1",
         "@types/sinon": "^21.0.0",
-        "@typescript-eslint/eslint-plugin": "^8.53.1",
+        "@typescript-eslint/eslint-plugin": "^8.54.0",
         "@typescript-eslint/parser": "^8.48.0",
         "ava": "^6.4.1",
         "esbuild": "^0.27.2",
@@ -55,7 +55,7 @@
         "eslint-plugin-filenames": "^1.3.2",
         "eslint-plugin-github": "^5.1.8",
         "eslint-plugin-import": "2.29.1",
-        "eslint-plugin-jsdoc": "^62.3.0",
+        "eslint-plugin-jsdoc": "^62.4.1",
         "eslint-plugin-no-async-foreach": "^0.1.1",
         "glob": "^11.1.0",
         "nock": "^14.0.10",
@@ -395,18 +395,18 @@
       }
     },
     "node_modules/@actions/github": {
-      "version": "8.0.0",
-      "resolved": "https://registry.npmjs.org/@actions/github/-/github-8.0.0.tgz",
-      "integrity": "sha512-bBukvVRvIf7NshWEXFVnBaXs/ZyGzDvx+jbB5AdJij9CUG4VFEYJJD6T6y06dDkuULalQQUNvKXIH71yqw7SoQ==",
+      "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": "^3.0.1",
+        "@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": "^5.28.5"
+        "undici": "^6.23.0"
       }
     },
     "node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest": {
@@ -439,6 +439,15 @@
         "@octokit/core": ">=6"
       }
     },
+    "node_modules/@actions/github/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/@actions/glob": {
       "version": "0.5.1",
       "resolved": "https://registry.npmjs.org/@actions/glob/-/glob-0.5.1.tgz",
@@ -808,15 +817,15 @@
       }
     },
     "node_modules/@es-joy/jsdoccomment": {
-      "version": "0.82.0",
-      "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.82.0.tgz",
-      "integrity": "sha512-xs3OTxPefjTZaoDS7H1X2pV33enAmZg+8YldjmeYk7XZnq420phdnp6o0JtrsHBdSRJ5+RTocgyED9TL3epgpw==",
+      "version": "0.83.0",
+      "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.83.0.tgz",
+      "integrity": "sha512-e1MHSEPJ4m35zkBvNT6kcdeH1SvMaJDsPC3Xhfseg3hvF50FUE3f46Yn36jgbrPYYXezlWUQnevv23c+lx2MCA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
         "@types/estree": "^1.0.8",
         "@typescript-eslint/types": "^8.53.1",
-        "comment-parser": "1.4.4",
+        "comment-parser": "1.4.5",
         "esquery": "^1.7.0",
         "jsdoc-type-pratt-parser": "~7.1.0"
       },
@@ -2183,17 +2192,17 @@
       "license": "MIT"
     },
     "node_modules/@typescript-eslint/eslint-plugin": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.53.1.tgz",
-      "integrity": "sha512-cFYYFZ+oQFi6hUnBTbLRXfTJiaQtYE3t4O692agbBl+2Zy+eqSKWtPjhPXJu1G7j4RLjKgeJPDdq3EqOwmX5Ag==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.54.0.tgz",
+      "integrity": "sha512-hAAP5io/7csFStuOmR782YmTthKBJ9ND3WVL60hcOjvtGFb+HJxH4O5huAcmcZ9v9G8P+JETiZ/G1B8MALnWZQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
         "@eslint-community/regexpp": "^4.12.2",
-        "@typescript-eslint/scope-manager": "8.53.1",
-        "@typescript-eslint/type-utils": "8.53.1",
-        "@typescript-eslint/utils": "8.53.1",
-        "@typescript-eslint/visitor-keys": "8.53.1",
+        "@typescript-eslint/scope-manager": "8.54.0",
+        "@typescript-eslint/type-utils": "8.54.0",
+        "@typescript-eslint/utils": "8.54.0",
+        "@typescript-eslint/visitor-keys": "8.54.0",
         "ignore": "^7.0.5",
         "natural-compare": "^1.4.0",
         "ts-api-utils": "^2.4.0"
@@ -2206,7 +2215,7 @@
         "url": "https://opencollective.com/typescript-eslint"
       },
       "peerDependencies": {
-        "@typescript-eslint/parser": "^8.53.1",
+        "@typescript-eslint/parser": "^8.54.0",
         "eslint": "^8.57.0 || ^9.0.0",
         "typescript": ">=4.8.4 <6.0.0"
       }
@@ -2231,14 +2240,14 @@
       }
     },
     "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.53.1.tgz",
-      "integrity": "sha512-Lu23yw1uJMFY8cUeq7JlrizAgeQvWugNQzJp8C3x8Eo5Jw5Q2ykMdiiTB9vBVOOUBysMzmRRmUfwFrZuI2C4SQ==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.54.0.tgz",
+      "integrity": "sha512-27rYVQku26j/PbHYcVfRPonmOlVI6gihHtXFbTdB5sb6qA0wdAQAbyXFVarQ5t4HRojIz64IV90YtsjQSSGlQg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@typescript-eslint/types": "8.53.1",
-        "@typescript-eslint/visitor-keys": "8.53.1"
+        "@typescript-eslint/types": "8.54.0",
+        "@typescript-eslint/visitor-keys": "8.54.0"
       },
       "engines": {
         "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2249,9 +2258,9 @@
       }
     },
     "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.53.1.tgz",
-      "integrity": "sha512-jr/swrr2aRmUAUjW5/zQHbMaui//vQlsZcJKijZf3M26bnmLj8LyZUpj8/Rd6uzaek06OWsqdofN/Thenm5O8A==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.54.0.tgz",
+      "integrity": "sha512-PDUI9R1BVjqu7AUDsRBbKMtwmjWcn4J3le+5LpcFgWULN3LvHC5rkc9gCVxbrsrGmO1jfPybN5s6h4Jy+OnkAA==",
       "dev": true,
       "license": "MIT",
       "engines": {
@@ -2263,16 +2272,16 @@
       }
     },
     "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.53.1.tgz",
-      "integrity": "sha512-RGlVipGhQAG4GxV1s34O91cxQ/vWiHJTDHbXRr0li2q/BGg3RR/7NM8QDWgkEgrwQYCvmJV9ichIwyoKCQ+DTg==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.54.0.tgz",
+      "integrity": "sha512-BUwcskRaPvTk6fzVWgDPdUndLjB87KYDrN5EYGetnktoeAvPtO4ONHlAZDnj5VFnUANg0Sjm7j4usBlnoVMHwA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@typescript-eslint/project-service": "8.53.1",
-        "@typescript-eslint/tsconfig-utils": "8.53.1",
-        "@typescript-eslint/types": "8.53.1",
-        "@typescript-eslint/visitor-keys": "8.53.1",
+        "@typescript-eslint/project-service": "8.54.0",
+        "@typescript-eslint/tsconfig-utils": "8.54.0",
+        "@typescript-eslint/types": "8.54.0",
+        "@typescript-eslint/visitor-keys": "8.54.0",
         "debug": "^4.4.3",
         "minimatch": "^9.0.5",
         "semver": "^7.7.3",
@@ -2291,16 +2300,16 @@
       }
     },
     "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.53.1.tgz",
-      "integrity": "sha512-c4bMvGVWW4hv6JmDUEG7fSYlWOl3II2I4ylt0NM+seinYQlZMQIaKaXIIVJWt9Ofh6whrpM+EdDQXKXjNovvrg==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.54.0.tgz",
+      "integrity": "sha512-9Cnda8GS57AQakvRyG0PTejJNlA2xhvyNtEVIMlDWOOeEyBkYWhGPnfrIAnqxLMTSTo6q8g12XVjjev5l1NvMA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
         "@eslint-community/eslint-utils": "^4.9.1",
-        "@typescript-eslint/scope-manager": "8.53.1",
-        "@typescript-eslint/types": "8.53.1",
-        "@typescript-eslint/typescript-estree": "8.53.1"
+        "@typescript-eslint/scope-manager": "8.54.0",
+        "@typescript-eslint/types": "8.54.0",
+        "@typescript-eslint/typescript-estree": "8.54.0"
       },
       "engines": {
         "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2315,13 +2324,13 @@
       }
     },
     "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.53.1.tgz",
-      "integrity": "sha512-oy+wV7xDKFPRyNggmXuZQSBzvoLnpmJs+GhzRhPjrxl2b/jIlyjVokzm47CZCDUdXKr2zd7ZLodPfOBpOPyPlg==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.54.0.tgz",
+      "integrity": "sha512-VFlhGSl4opC0bprJiItPQ1RfUhGDIBokcPwaFH4yiBCaNPeld/9VeXbiPO1cLyorQi1G1vL+ecBk1x8o1axORA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@typescript-eslint/types": "8.53.1",
+        "@typescript-eslint/types": "8.54.0",
         "eslint-visitor-keys": "^4.2.1"
       },
       "engines": {
@@ -2413,16 +2422,16 @@
       }
     },
     "node_modules/@typescript-eslint/parser": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.53.1.tgz",
-      "integrity": "sha512-nm3cvFN9SqZGXjmw5bZ6cGmvJSyJPn0wU9gHAZZHDnZl2wF9PhHv78Xf06E0MaNk4zLVHL8hb2/c32XvyJOLQg==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.54.0.tgz",
+      "integrity": "sha512-BtE0k6cjwjLZoZixN0t5AKP0kSzlGu7FctRXYuPAm//aaiZhmfq1JwdYpYr1brzEspYyFeF+8XF5j2VK6oalrA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@typescript-eslint/scope-manager": "8.53.1",
-        "@typescript-eslint/types": "8.53.1",
-        "@typescript-eslint/typescript-estree": "8.53.1",
-        "@typescript-eslint/visitor-keys": "8.53.1",
+        "@typescript-eslint/scope-manager": "8.54.0",
+        "@typescript-eslint/types": "8.54.0",
+        "@typescript-eslint/typescript-estree": "8.54.0",
+        "@typescript-eslint/visitor-keys": "8.54.0",
         "debug": "^4.4.3"
       },
       "engines": {
@@ -2438,14 +2447,14 @@
       }
     },
     "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.53.1.tgz",
-      "integrity": "sha512-Lu23yw1uJMFY8cUeq7JlrizAgeQvWugNQzJp8C3x8Eo5Jw5Q2ykMdiiTB9vBVOOUBysMzmRRmUfwFrZuI2C4SQ==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.54.0.tgz",
+      "integrity": "sha512-27rYVQku26j/PbHYcVfRPonmOlVI6gihHtXFbTdB5sb6qA0wdAQAbyXFVarQ5t4HRojIz64IV90YtsjQSSGlQg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@typescript-eslint/types": "8.53.1",
-        "@typescript-eslint/visitor-keys": "8.53.1"
+        "@typescript-eslint/types": "8.54.0",
+        "@typescript-eslint/visitor-keys": "8.54.0"
       },
       "engines": {
         "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2456,9 +2465,9 @@
       }
     },
     "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.53.1.tgz",
-      "integrity": "sha512-jr/swrr2aRmUAUjW5/zQHbMaui//vQlsZcJKijZf3M26bnmLj8LyZUpj8/Rd6uzaek06OWsqdofN/Thenm5O8A==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.54.0.tgz",
+      "integrity": "sha512-PDUI9R1BVjqu7AUDsRBbKMtwmjWcn4J3le+5LpcFgWULN3LvHC5rkc9gCVxbrsrGmO1jfPybN5s6h4Jy+OnkAA==",
       "dev": true,
       "license": "MIT",
       "engines": {
@@ -2470,16 +2479,16 @@
       }
     },
     "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.53.1.tgz",
-      "integrity": "sha512-RGlVipGhQAG4GxV1s34O91cxQ/vWiHJTDHbXRr0li2q/BGg3RR/7NM8QDWgkEgrwQYCvmJV9ichIwyoKCQ+DTg==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.54.0.tgz",
+      "integrity": "sha512-BUwcskRaPvTk6fzVWgDPdUndLjB87KYDrN5EYGetnktoeAvPtO4ONHlAZDnj5VFnUANg0Sjm7j4usBlnoVMHwA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@typescript-eslint/project-service": "8.53.1",
-        "@typescript-eslint/tsconfig-utils": "8.53.1",
-        "@typescript-eslint/types": "8.53.1",
-        "@typescript-eslint/visitor-keys": "8.53.1",
+        "@typescript-eslint/project-service": "8.54.0",
+        "@typescript-eslint/tsconfig-utils": "8.54.0",
+        "@typescript-eslint/types": "8.54.0",
+        "@typescript-eslint/visitor-keys": "8.54.0",
         "debug": "^4.4.3",
         "minimatch": "^9.0.5",
         "semver": "^7.7.3",
@@ -2498,13 +2507,13 @@
       }
     },
     "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.53.1.tgz",
-      "integrity": "sha512-oy+wV7xDKFPRyNggmXuZQSBzvoLnpmJs+GhzRhPjrxl2b/jIlyjVokzm47CZCDUdXKr2zd7ZLodPfOBpOPyPlg==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.54.0.tgz",
+      "integrity": "sha512-VFlhGSl4opC0bprJiItPQ1RfUhGDIBokcPwaFH4yiBCaNPeld/9VeXbiPO1cLyorQi1G1vL+ecBk1x8o1axORA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@typescript-eslint/types": "8.53.1",
+        "@typescript-eslint/types": "8.54.0",
         "eslint-visitor-keys": "^4.2.1"
       },
       "engines": {
@@ -2586,14 +2595,14 @@
       }
     },
     "node_modules/@typescript-eslint/project-service": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.53.1.tgz",
-      "integrity": "sha512-WYC4FB5Ra0xidsmlPb+1SsnaSKPmS3gsjIARwbEkHkoWloQmuzcfypljaJcR78uyLA1h8sHdWWPHSLDI+MtNog==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.54.0.tgz",
+      "integrity": "sha512-YPf+rvJ1s7MyiWM4uTRhE4DvBXrEV+d8oC3P9Y2eT7S+HBS0clybdMIPnhiATi9vZOYDc7OQ1L/i6ga6NFYK/g==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@typescript-eslint/tsconfig-utils": "^8.53.1",
-        "@typescript-eslint/types": "^8.53.1",
+        "@typescript-eslint/tsconfig-utils": "^8.54.0",
+        "@typescript-eslint/types": "^8.54.0",
         "debug": "^4.4.3"
       },
       "engines": {
@@ -2608,9 +2617,9 @@
       }
     },
     "node_modules/@typescript-eslint/project-service/node_modules/@typescript-eslint/types": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.53.1.tgz",
-      "integrity": "sha512-jr/swrr2aRmUAUjW5/zQHbMaui//vQlsZcJKijZf3M26bnmLj8LyZUpj8/Rd6uzaek06OWsqdofN/Thenm5O8A==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.54.0.tgz",
+      "integrity": "sha512-PDUI9R1BVjqu7AUDsRBbKMtwmjWcn4J3le+5LpcFgWULN3LvHC5rkc9gCVxbrsrGmO1jfPybN5s6h4Jy+OnkAA==",
       "dev": true,
       "license": "MIT",
       "engines": {
@@ -2658,9 +2667,9 @@
       }
     },
     "node_modules/@typescript-eslint/tsconfig-utils": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.53.1.tgz",
-      "integrity": "sha512-qfvLXS6F6b1y43pnf0pPbXJ+YoXIC7HKg0UGZ27uMIemKMKA6XH2DTxsEDdpdN29D+vHV07x/pnlPNVLhdhWiA==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.54.0.tgz",
+      "integrity": "sha512-dRgOyT2hPk/JwxNMZDsIXDgyl9axdJI3ogZ2XWhBPsnZUv+hPesa5iuhdYt2gzwA9t8RE5ytOJ6xB0moV0Ujvw==",
       "dev": true,
       "license": "MIT",
       "engines": {
@@ -2675,15 +2684,15 @@
       }
     },
     "node_modules/@typescript-eslint/type-utils": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.53.1.tgz",
-      "integrity": "sha512-MOrdtNvyhy0rHyv0ENzub1d4wQYKb2NmIqG7qEqPWFW7Mpy2jzFC3pQ2yKDvirZB7jypm5uGjF2Qqs6OIqu47w==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.54.0.tgz",
+      "integrity": "sha512-hiLguxJWHjjwL6xMBwD903ciAwd7DmK30Y9Axs/etOkftC3ZNN9K44IuRD/EB08amu+Zw6W37x9RecLkOo3pMA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@typescript-eslint/types": "8.53.1",
-        "@typescript-eslint/typescript-estree": "8.53.1",
-        "@typescript-eslint/utils": "8.53.1",
+        "@typescript-eslint/types": "8.54.0",
+        "@typescript-eslint/typescript-estree": "8.54.0",
+        "@typescript-eslint/utils": "8.54.0",
         "debug": "^4.4.3",
         "ts-api-utils": "^2.4.0"
       },
@@ -2719,14 +2728,14 @@
       }
     },
     "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/scope-manager": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.53.1.tgz",
-      "integrity": "sha512-Lu23yw1uJMFY8cUeq7JlrizAgeQvWugNQzJp8C3x8Eo5Jw5Q2ykMdiiTB9vBVOOUBysMzmRRmUfwFrZuI2C4SQ==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.54.0.tgz",
+      "integrity": "sha512-27rYVQku26j/PbHYcVfRPonmOlVI6gihHtXFbTdB5sb6qA0wdAQAbyXFVarQ5t4HRojIz64IV90YtsjQSSGlQg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@typescript-eslint/types": "8.53.1",
-        "@typescript-eslint/visitor-keys": "8.53.1"
+        "@typescript-eslint/types": "8.54.0",
+        "@typescript-eslint/visitor-keys": "8.54.0"
       },
       "engines": {
         "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2737,9 +2746,9 @@
       }
     },
     "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.53.1.tgz",
-      "integrity": "sha512-jr/swrr2aRmUAUjW5/zQHbMaui//vQlsZcJKijZf3M26bnmLj8LyZUpj8/Rd6uzaek06OWsqdofN/Thenm5O8A==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.54.0.tgz",
+      "integrity": "sha512-PDUI9R1BVjqu7AUDsRBbKMtwmjWcn4J3le+5LpcFgWULN3LvHC5rkc9gCVxbrsrGmO1jfPybN5s6h4Jy+OnkAA==",
       "dev": true,
       "license": "MIT",
       "engines": {
@@ -2751,16 +2760,16 @@
       }
     },
     "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.53.1.tgz",
-      "integrity": "sha512-RGlVipGhQAG4GxV1s34O91cxQ/vWiHJTDHbXRr0li2q/BGg3RR/7NM8QDWgkEgrwQYCvmJV9ichIwyoKCQ+DTg==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.54.0.tgz",
+      "integrity": "sha512-BUwcskRaPvTk6fzVWgDPdUndLjB87KYDrN5EYGetnktoeAvPtO4ONHlAZDnj5VFnUANg0Sjm7j4usBlnoVMHwA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@typescript-eslint/project-service": "8.53.1",
-        "@typescript-eslint/tsconfig-utils": "8.53.1",
-        "@typescript-eslint/types": "8.53.1",
-        "@typescript-eslint/visitor-keys": "8.53.1",
+        "@typescript-eslint/project-service": "8.54.0",
+        "@typescript-eslint/tsconfig-utils": "8.54.0",
+        "@typescript-eslint/types": "8.54.0",
+        "@typescript-eslint/visitor-keys": "8.54.0",
         "debug": "^4.4.3",
         "minimatch": "^9.0.5",
         "semver": "^7.7.3",
@@ -2779,16 +2788,16 @@
       }
     },
     "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/utils": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.53.1.tgz",
-      "integrity": "sha512-c4bMvGVWW4hv6JmDUEG7fSYlWOl3II2I4ylt0NM+seinYQlZMQIaKaXIIVJWt9Ofh6whrpM+EdDQXKXjNovvrg==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.54.0.tgz",
+      "integrity": "sha512-9Cnda8GS57AQakvRyG0PTejJNlA2xhvyNtEVIMlDWOOeEyBkYWhGPnfrIAnqxLMTSTo6q8g12XVjjev5l1NvMA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
         "@eslint-community/eslint-utils": "^4.9.1",
-        "@typescript-eslint/scope-manager": "8.53.1",
-        "@typescript-eslint/types": "8.53.1",
-        "@typescript-eslint/typescript-estree": "8.53.1"
+        "@typescript-eslint/scope-manager": "8.54.0",
+        "@typescript-eslint/types": "8.54.0",
+        "@typescript-eslint/typescript-estree": "8.54.0"
       },
       "engines": {
         "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2803,13 +2812,13 @@
       }
     },
     "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/visitor-keys": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.53.1.tgz",
-      "integrity": "sha512-oy+wV7xDKFPRyNggmXuZQSBzvoLnpmJs+GhzRhPjrxl2b/jIlyjVokzm47CZCDUdXKr2zd7ZLodPfOBpOPyPlg==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.54.0.tgz",
+      "integrity": "sha512-VFlhGSl4opC0bprJiItPQ1RfUhGDIBokcPwaFH4yiBCaNPeld/9VeXbiPO1cLyorQi1G1vL+ecBk1x8o1axORA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@typescript-eslint/types": "8.53.1",
+        "@typescript-eslint/types": "8.54.0",
         "eslint-visitor-keys": "^4.2.1"
       },
       "engines": {
@@ -3966,9 +3975,9 @@
       "license": "MIT"
     },
     "node_modules/comment-parser": {
-      "version": "1.4.4",
-      "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.4.tgz",
-      "integrity": "sha512-0D6qSQ5IkeRrGJFHRClzaMOenMeT0gErz3zIw3AprKMqhRN6LNU2jQOdkPG/FZ+8bCgXE1VidrgSzlBBDZRr8A==",
+      "version": "1.4.5",
+      "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.5.tgz",
+      "integrity": "sha512-aRDkn3uyIlCFfk5NUA+VdwMmMsh8JGhc4hapfV4yxymHGQ3BVskMQfoXGpCo5IoBuQ9tS5iiVKhCpTcB4pW4qw==",
       "dev": true,
       "license": "MIT",
       "engines": {
@@ -4876,16 +4885,16 @@
       }
     },
     "node_modules/eslint-plugin-jsdoc": {
-      "version": "62.3.0",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-62.3.0.tgz",
-      "integrity": "sha512-Gc5Ls5qQC6NwqtQTtJ2JE5BwvX348ZCZ+4+QiZ9RpoQ1TCcxFF8Z0E5jaLkTyYNqyhx+uKAvljNHE0B7PBw+iw==",
+      "version": "62.4.1",
+      "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-62.4.1.tgz",
+      "integrity": "sha512-HgX2iN4j104D/mCUqRbhtzSZbph+KO9jfMHiIJjJ19Q+IwLQ5Na2IqvOJYq4S+4kgvEk1w6KYF4vVus6H2wcHg==",
       "dev": true,
       "license": "BSD-3-Clause",
       "dependencies": {
-        "@es-joy/jsdoccomment": "~0.82.0",
+        "@es-joy/jsdoccomment": "~0.83.0",
         "@es-joy/resolve.exports": "1.2.0",
         "are-docs-informative": "^0.0.2",
-        "comment-parser": "1.4.4",
+        "comment-parser": "1.4.5",
         "debug": "^4.4.3",
         "escape-string-regexp": "^4.0.0",
         "espree": "^11.1.0",
diff --git a/package.json b/package.json
index cb7434c986..2ffa23efe7 100644
--- a/package.json
+++ b/package.json
@@ -29,7 +29,7 @@
     "@actions/cache": "^5.0.5",
     "@actions/core": "^2.0.3",
     "@actions/exec": "^2.0.0",
-    "@actions/github": "^8.0.0",
+    "@actions/github": "^8.0.1",
     "@actions/glob": "^0.5.0",
     "@actions/http-client": "^3.0.0",
     "@actions/io": "^2.0.0",
@@ -61,7 +61,7 @@
     "@types/node-forge": "^1.3.14",
     "@types/semver": "^7.7.1",
     "@types/sinon": "^21.0.0",
-    "@typescript-eslint/eslint-plugin": "^8.53.1",
+    "@typescript-eslint/eslint-plugin": "^8.54.0",
     "@typescript-eslint/parser": "^8.48.0",
     "ava": "^6.4.1",
     "esbuild": "^0.27.2",
@@ -70,7 +70,7 @@
     "eslint-plugin-filenames": "^1.3.2",
     "eslint-plugin-github": "^5.1.8",
     "eslint-plugin-import": "2.29.1",
-    "eslint-plugin-jsdoc": "^62.3.0",
+    "eslint-plugin-jsdoc": "^62.4.1",
     "eslint-plugin-no-async-foreach": "^0.1.1",
     "glob": "^11.1.0",
     "nock": "^14.0.10",